From 2846d5890aa567c58ebd7d852d9b371ec022a0c4 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Tue, 5 Aug 2025 10:23:23 +0000 Subject: [PATCH] fix: include webview build assets in repository to fix blank webview issue - Modified src/.gitignore to exclude webview source files but include build output - Added all webview build assets (JS, CSS, fonts, source maps) to repository - This fixes issue #6714 where webview shows blank screen due to missing assets --- src/.gitignore | 4 +- src/webview-ui/build/.gitkeep | 0 src/webview-ui/build/assets/chunk--Ycre7K_.js | 9 + .../build/assets/chunk--Ycre7K_.js.map | 20 + src/webview-ui/build/assets/chunk-1DNp92w6.js | 8 + .../build/assets/chunk-1DNp92w6.js.map | 19 + src/webview-ui/build/assets/chunk-25uR9ifH.js | 17 + .../build/assets/chunk-25uR9ifH.js.map | 24 + src/webview-ui/build/assets/chunk-3e1v2bzS.js | 7 + .../build/assets/chunk-3e1v2bzS.js.map | 18 + src/webview-ui/build/assets/chunk-3ipgsugG.js | 11 + .../build/assets/chunk-3ipgsugG.js.map | 20 + src/webview-ui/build/assets/chunk-3mfGJbgy.js | 26 + .../build/assets/chunk-3mfGJbgy.js.map | 30 + src/webview-ui/build/assets/chunk-4A_iFExJ.js | 8 + .../build/assets/chunk-4A_iFExJ.js.map | 19 + src/webview-ui/build/assets/chunk-5i3qLPDT.js | 8 + .../build/assets/chunk-5i3qLPDT.js.map | 19 + src/webview-ui/build/assets/chunk-6nHXG8SA.js | 8 + .../build/assets/chunk-6nHXG8SA.js.map | 19 + src/webview-ui/build/assets/chunk-7i6GEmcB.js | 7 + .../build/assets/chunk-7i6GEmcB.js.map | 18 + src/webview-ui/build/assets/chunk-85-TOEBH.js | 8 + .../build/assets/chunk-85-TOEBH.js.map | 19 + src/webview-ui/build/assets/chunk-B0YXbBSa.js | 14 + .../build/assets/chunk-B0YXbBSa.js.map | 22 + src/webview-ui/build/assets/chunk-B0m2ddpp.js | 7 + .../build/assets/chunk-B0m2ddpp.js.map | 18 + src/webview-ui/build/assets/chunk-B1dDrJ26.js | 8 + .../build/assets/chunk-B1dDrJ26.js.map | 19 + src/webview-ui/build/assets/chunk-B1yitclQ.js | 8 + .../build/assets/chunk-B1yitclQ.js.map | 19 + src/webview-ui/build/assets/chunk-B47ASqzZ.js | 11 + .../build/assets/chunk-B47ASqzZ.js.map | 22 + src/webview-ui/build/assets/chunk-B5tOyCc9.js | 9 + .../build/assets/chunk-B5tOyCc9.js.map | 20 + src/webview-ui/build/assets/chunk-B6aJPvgy.js | 8 + .../build/assets/chunk-B6aJPvgy.js.map | 19 + src/webview-ui/build/assets/chunk-B7mTdjB0.js | 7 + .../build/assets/chunk-B7mTdjB0.js.map | 18 + src/webview-ui/build/assets/chunk-B9xm8XSJ.js | 8 + .../build/assets/chunk-B9xm8XSJ.js.map | 19 + src/webview-ui/build/assets/chunk-BAAX8Kh4.js | 30 + .../build/assets/chunk-BAAX8Kh4.js.map | 27 + src/webview-ui/build/assets/chunk-BEDo0Tqx.js | 8 + .../build/assets/chunk-BEDo0Tqx.js.map | 19 + src/webview-ui/build/assets/chunk-BERRCDM3.js | 8 + .../build/assets/chunk-BERRCDM3.js.map | 19 + src/webview-ui/build/assets/chunk-BETggiCN.js | 8 + .../build/assets/chunk-BETggiCN.js.map | 19 + src/webview-ui/build/assets/chunk-BEwlwnbL.js | 8 + .../build/assets/chunk-BEwlwnbL.js.map | 19 + src/webview-ui/build/assets/chunk-BFVdkX1U.js | 7 + .../build/assets/chunk-BFVdkX1U.js.map | 18 + src/webview-ui/build/assets/chunk-BFfxhgS-.js | 8 + .../build/assets/chunk-BFfxhgS-.js.map | 19 + src/webview-ui/build/assets/chunk-BFvZA1X9.js | 8 + .../build/assets/chunk-BFvZA1X9.js.map | 19 + src/webview-ui/build/assets/chunk-BHrmToEH.js | 7 + .../build/assets/chunk-BHrmToEH.js.map | 18 + src/webview-ui/build/assets/chunk-BIGW1oBm.js | 8 + .../build/assets/chunk-BIGW1oBm.js.map | 19 + src/webview-ui/build/assets/chunk-BM1_JUlF.js | 8 + .../build/assets/chunk-BM1_JUlF.js.map | 19 + src/webview-ui/build/assets/chunk-BMMyXqK5.js | 8 + .../build/assets/chunk-BMMyXqK5.js.map | 19 + src/webview-ui/build/assets/chunk-BMWR74SV.js | 8 + .../build/assets/chunk-BMWR74SV.js.map | 19 + src/webview-ui/build/assets/chunk-BP3HzMA6.js | 8 + .../build/assets/chunk-BP3HzMA6.js.map | 19 + src/webview-ui/build/assets/chunk-BQ8w6xss.js | 8 + .../build/assets/chunk-BQ8w6xss.js.map | 19 + src/webview-ui/build/assets/chunk-BR7mELCv.js | 7 + .../build/assets/chunk-BR7mELCv.js.map | 18 + src/webview-ui/build/assets/chunk-BRHolxvo.js | 8 + .../build/assets/chunk-BRHolxvo.js.map | 19 + src/webview-ui/build/assets/chunk-BSCcYQo-.js | 12 + .../build/assets/chunk-BSCcYQo-.js.map | 21 + src/webview-ui/build/assets/chunk-BTJTHyun.js | 8 + .../build/assets/chunk-BTJTHyun.js.map | 19 + src/webview-ui/build/assets/chunk-BU0udk1K.js | 8 + .../build/assets/chunk-BU0udk1K.js.map | 19 + src/webview-ui/build/assets/chunk-BV7otONQ.js | 8 + .../build/assets/chunk-BV7otONQ.js.map | 19 + src/webview-ui/build/assets/chunk-BWvSN4gD.js | 8 + .../build/assets/chunk-BWvSN4gD.js.map | 19 + src/webview-ui/build/assets/chunk-BXkSAIEj.js | 7 + .../build/assets/chunk-BXkSAIEj.js.map | 18 + src/webview-ui/build/assets/chunk-BYunw83y.js | 8 + .../build/assets/chunk-BYunw83y.js.map | 19 + src/webview-ui/build/assets/chunk-B_m7g4N7.js | 8 + .../build/assets/chunk-B_m7g4N7.js.map | 19 + src/webview-ui/build/assets/chunk-B_vNuMnf.js | 9 + .../build/assets/chunk-B_vNuMnf.js.map | 20 + src/webview-ui/build/assets/chunk-BaML1QMV.js | 12 + .../build/assets/chunk-BaML1QMV.js.map | 23 + src/webview-ui/build/assets/chunk-BbcW6ACK.js | 8 + .../build/assets/chunk-BbcW6ACK.js.map | 19 + src/webview-ui/build/assets/chunk-Bc2xwClX.js | 12 + .../build/assets/chunk-Bc2xwClX.js.map | 23 + src/webview-ui/build/assets/chunk-BcOcwvcX.js | 8 + .../build/assets/chunk-BcOcwvcX.js.map | 19 + src/webview-ui/build/assets/chunk-BdImnpbu.js | 8 + .../build/assets/chunk-BdImnpbu.js.map | 19 + src/webview-ui/build/assets/chunk-BdnUsdx6.js | 8 + .../build/assets/chunk-BdnUsdx6.js.map | 19 + src/webview-ui/build/assets/chunk-BepWV7mh.js | 8 + .../build/assets/chunk-BepWV7mh.js.map | 19 + src/webview-ui/build/assets/chunk-BfHTSMKl.js | 7 + .../build/assets/chunk-BfHTSMKl.js.map | 18 + src/webview-ui/build/assets/chunk-BfjtVDDH.js | 7 + .../build/assets/chunk-BfjtVDDH.js.map | 18 + src/webview-ui/build/assets/chunk-BgDCqdQA.js | 7 + .../build/assets/chunk-BgDCqdQA.js.map | 18 + src/webview-ui/build/assets/chunk-BgEskmCb.js | 12 + .../build/assets/chunk-BgEskmCb.js.map | 23 + src/webview-ui/build/assets/chunk-BgfZh1f1.js | 14 + .../build/assets/chunk-BgfZh1f1.js.map | 24 + src/webview-ui/build/assets/chunk-BhOHFoWU.js | 8 + .../build/assets/chunk-BhOHFoWU.js.map | 19 + src/webview-ui/build/assets/chunk-BkPM1oy1.js | 8 + .../build/assets/chunk-BkPM1oy1.js.map | 19 + src/webview-ui/build/assets/chunk-BkioyH1T.js | 8 + .../build/assets/chunk-BkioyH1T.js.map | 19 + src/webview-ui/build/assets/chunk-Bkuqu6BP.js | 7 + .../build/assets/chunk-Bkuqu6BP.js.map | 18 + src/webview-ui/build/assets/chunk-Bl2oy6fF.js | 8 + .../build/assets/chunk-Bl2oy6fF.js.map | 19 + src/webview-ui/build/assets/chunk-BmXAJ9_W.js | 8 + .../build/assets/chunk-BmXAJ9_W.js.map | 19 + src/webview-ui/build/assets/chunk-BnD7D7ah.js | 14 + .../build/assets/chunk-BnD7D7ah.js.map | 25 + src/webview-ui/build/assets/chunk-BoKiGodi.js | 8 + .../build/assets/chunk-BoKiGodi.js.map | 19 + src/webview-ui/build/assets/chunk-Bp6g37R7.js | 8 + .../build/assets/chunk-Bp6g37R7.js.map | 19 + src/webview-ui/build/assets/chunk-BqYA7rlc.js | 8 + .../build/assets/chunk-BqYA7rlc.js.map | 19 + src/webview-ui/build/assets/chunk-BrYkhBEK.js | 13 + .../build/assets/chunk-BrYkhBEK.js.map | 24 + src/webview-ui/build/assets/chunk-BsS91CYL.js | 8 + .../build/assets/chunk-BsS91CYL.js.map | 19 + src/webview-ui/build/assets/chunk-BspZqrRM.js | 8 + .../build/assets/chunk-BspZqrRM.js.map | 19 + src/webview-ui/build/assets/chunk-BtCnVYZw.js | 8 + .../build/assets/chunk-BtCnVYZw.js.map | 19 + src/webview-ui/build/assets/chunk-BtOb2qkB.js | 8 + .../build/assets/chunk-BtOb2qkB.js.map | 19 + src/webview-ui/build/assets/chunk-BthQWCQV.js | 7 + .../build/assets/chunk-BthQWCQV.js.map | 18 + src/webview-ui/build/assets/chunk-BtqSS_iP.js | 8 + .../build/assets/chunk-BtqSS_iP.js.map | 19 + src/webview-ui/build/assets/chunk-Bty6elJm.js | 8 + .../build/assets/chunk-Bty6elJm.js.map | 19 + src/webview-ui/build/assets/chunk-Btyk0a-E.js | 7 + .../build/assets/chunk-Btyk0a-E.js.map | 18 + src/webview-ui/build/assets/chunk-Buea-lGh.js | 8 + .../build/assets/chunk-Buea-lGh.js.map | 19 + src/webview-ui/build/assets/chunk-BvAqAH-y.js | 8 + .../build/assets/chunk-BvAqAH-y.js.map | 19 + src/webview-ui/build/assets/chunk-Bw305WKR.js | 7 + .../build/assets/chunk-Bw305WKR.js.map | 18 + src/webview-ui/build/assets/chunk-BzJJZx-M.js | 7 + .../build/assets/chunk-BzJJZx-M.js.map | 18 + src/webview-ui/build/assets/chunk-C-C_nZcE.js | 9 + .../build/assets/chunk-C-C_nZcE.js.map | 20 + src/webview-ui/build/assets/chunk-C-HMFfM3.js | 12 + .../build/assets/chunk-C-HMFfM3.js.map | 23 + src/webview-ui/build/assets/chunk-C-SQnVFl.js | 8 + .../build/assets/chunk-C-SQnVFl.js.map | 19 + src/webview-ui/build/assets/chunk-C0HS_06l.js | 8 + .../build/assets/chunk-C0HS_06l.js.map | 19 + src/webview-ui/build/assets/chunk-C0hk2d4L.js | 8 + .../build/assets/chunk-C0hk2d4L.js.map | 19 + src/webview-ui/build/assets/chunk-C151Ov-r.js | 8 + .../build/assets/chunk-C151Ov-r.js.map | 19 + src/webview-ui/build/assets/chunk-C2t-YnRu.js | 8 + .../build/assets/chunk-C2t-YnRu.js.map | 19 + src/webview-ui/build/assets/chunk-C2tOF0e5.js | 8 + .../build/assets/chunk-C2tOF0e5.js.map | 19 + src/webview-ui/build/assets/chunk-C39BiMTA.js | 7 + .../build/assets/chunk-C39BiMTA.js.map | 18 + src/webview-ui/build/assets/chunk-C3B-1QV4.js | 8 + .../build/assets/chunk-C3B-1QV4.js.map | 19 + src/webview-ui/build/assets/chunk-C3IMAYVA.js | 9 + .../build/assets/chunk-C3IMAYVA.js.map | 20 + src/webview-ui/build/assets/chunk-C3khCPGq.js | 7 + .../build/assets/chunk-C3khCPGq.js.map | 18 + src/webview-ui/build/assets/chunk-C3mMm8J8.js | 7 + .../build/assets/chunk-C3mMm8J8.js.map | 18 + src/webview-ui/build/assets/chunk-C3rowuyE.js | 11 + .../build/assets/chunk-C3rowuyE.js.map | 20 + src/webview-ui/build/assets/chunk-C4IJs8-o.js | 8 + .../build/assets/chunk-C4IJs8-o.js.map | 19 + src/webview-ui/build/assets/chunk-C8M2exoo.js | 7 + .../build/assets/chunk-C8M2exoo.js.map | 18 + src/webview-ui/build/assets/chunk-C8lEn-DE.js | 8 + .../build/assets/chunk-C8lEn-DE.js.map | 19 + src/webview-ui/build/assets/chunk-C98Dy4si.js | 8 + .../build/assets/chunk-C98Dy4si.js.map | 19 + src/webview-ui/build/assets/chunk-C9XAeP06.js | 8 + .../build/assets/chunk-C9XAeP06.js.map | 19 + src/webview-ui/build/assets/chunk-C9dXKwCe.js | 12 + .../build/assets/chunk-C9dXKwCe.js.map | 23 + src/webview-ui/build/assets/chunk-C9tDr53Z.js | 9 + .../build/assets/chunk-C9tDr53Z.js.map | 20 + src/webview-ui/build/assets/chunk-C9tS-k6U.js | 8 + .../build/assets/chunk-C9tS-k6U.js.map | 19 + src/webview-ui/build/assets/chunk-CDVJQ6XC.js | 8 + .../build/assets/chunk-CDVJQ6XC.js.map | 19 + src/webview-ui/build/assets/chunk-CDuzWNpe.js | 9 + .../build/assets/chunk-CDuzWNpe.js.map | 20 + src/webview-ui/build/assets/chunk-CDx5xZoG.js | 8 + .../build/assets/chunk-CDx5xZoG.js.map | 19 + src/webview-ui/build/assets/chunk-CEL-wOlO.js | 8 + .../build/assets/chunk-CEL-wOlO.js.map | 19 + src/webview-ui/build/assets/chunk-CEu0bR-o.js | 8 + .../build/assets/chunk-CEu0bR-o.js.map | 19 + src/webview-ui/build/assets/chunk-CF10PKvl.js | 8 + .../build/assets/chunk-CF10PKvl.js.map | 19 + src/webview-ui/build/assets/chunk-CG6Dc4jp.js | 10 + .../build/assets/chunk-CG6Dc4jp.js.map | 23 + src/webview-ui/build/assets/chunk-CHLpvVh8.js | 8 + .../build/assets/chunk-CHLpvVh8.js.map | 19 + src/webview-ui/build/assets/chunk-CHM0blh-.js | 8 + .../build/assets/chunk-CHM0blh-.js.map | 19 + src/webview-ui/build/assets/chunk-CHadp7IV.js | 8 + .../build/assets/chunk-CHadp7IV.js.map | 19 + src/webview-ui/build/assets/chunk-CHh-QcGE.js | 8 + .../build/assets/chunk-CHh-QcGE.js.map | 19 + src/webview-ui/build/assets/chunk-CJOTNe-S.js | 10 + .../build/assets/chunk-CJOTNe-S.js.map | 20 + src/webview-ui/build/assets/chunk-CJc9bBzg.js | 8 + .../build/assets/chunk-CJc9bBzg.js.map | 19 + src/webview-ui/build/assets/chunk-CK-KhNJq.js | 8 + .../build/assets/chunk-CK-KhNJq.js.map | 19 + src/webview-ui/build/assets/chunk-CKIfxQSi.js | 8 + .../build/assets/chunk-CKIfxQSi.js.map | 19 + src/webview-ui/build/assets/chunk-CLIx6TIR.js | 16 + .../build/assets/chunk-CLIx6TIR.js.map | 26 + src/webview-ui/build/assets/chunk-CLxacb5B.js | 8 + .../build/assets/chunk-CLxacb5B.js.map | 19 + src/webview-ui/build/assets/chunk-CMUws-av.js | 12 + .../build/assets/chunk-CMUws-av.js.map | 23 + src/webview-ui/build/assets/chunk-CMdgaOU9.js | 8 + .../build/assets/chunk-CMdgaOU9.js.map | 19 + src/webview-ui/build/assets/chunk-COkxafJQ.js | 8 + .../build/assets/chunk-COkxafJQ.js.map | 19 + src/webview-ui/build/assets/chunk-COt5Ahok.js | 8 + .../build/assets/chunk-COt5Ahok.js.map | 19 + src/webview-ui/build/assets/chunk-CS3Unz2-.js | 7 + .../build/assets/chunk-CS3Unz2-.js.map | 18 + src/webview-ui/build/assets/chunk-CSPye00a.js | 9 + .../build/assets/chunk-CSPye00a.js.map | 20 + src/webview-ui/build/assets/chunk-CTRr51gU.js | 7 + .../build/assets/chunk-CTRr51gU.js.map | 18 + src/webview-ui/build/assets/chunk-CUBwRw-F.js | 17 + .../build/assets/chunk-CUBwRw-F.js.map | 23 + src/webview-ui/build/assets/chunk-CUz34qUM.js | 12 + .../build/assets/chunk-CUz34qUM.js.map | 21 + src/webview-ui/build/assets/chunk-CVO1_9PV.js | 7 + .../build/assets/chunk-CVO1_9PV.js.map | 18 + src/webview-ui/build/assets/chunk-CXhxxCfG.js | 10 + .../build/assets/chunk-CXhxxCfG.js.map | 21 + src/webview-ui/build/assets/chunk-CXtECtnM.js | 8 + .../build/assets/chunk-CXtECtnM.js.map | 19 + src/webview-ui/build/assets/chunk-CafNBF8u.js | 7 + .../build/assets/chunk-CafNBF8u.js.map | 18 + src/webview-ui/build/assets/chunk-CbFg5uaA.js | 8 + .../build/assets/chunk-CbFg5uaA.js.map | 19 + src/webview-ui/build/assets/chunk-CbfX1IO0.js | 7 + .../build/assets/chunk-CbfX1IO0.js.map | 18 + src/webview-ui/build/assets/chunk-CdTSL8YE.js | 9 + .../build/assets/chunk-CdTSL8YE.js.map | 20 + src/webview-ui/build/assets/chunk-CdggvHu8.js | 8 + .../build/assets/chunk-CdggvHu8.js.map | 19 + src/webview-ui/build/assets/chunk-CeAyd5Ju.js | 8 + .../build/assets/chunk-CeAyd5Ju.js.map | 19 + src/webview-ui/build/assets/chunk-Cf4Oy6XI.js | 15 + .../build/assets/chunk-Cf4Oy6XI.js.map | 25 + src/webview-ui/build/assets/chunk-CfQXZHmo.js | 7 + .../build/assets/chunk-CfQXZHmo.js.map | 18 + src/webview-ui/build/assets/chunk-CfeIJUat.js | 8 + .../build/assets/chunk-CfeIJUat.js.map | 19 + src/webview-ui/build/assets/chunk-Cg-RD9OK.js | 8 + .../build/assets/chunk-Cg-RD9OK.js.map | 19 + src/webview-ui/build/assets/chunk-ChMvpjG-.js | 8 + .../build/assets/chunk-ChMvpjG-.js.map | 19 + src/webview-ui/build/assets/chunk-CiIkovmz.js | 9 + .../build/assets/chunk-CiIkovmz.js.map | 20 + src/webview-ui/build/assets/chunk-Cj5Yp3dK.js | 8 + .../build/assets/chunk-Cj5Yp3dK.js.map | 19 + src/webview-ui/build/assets/chunk-CkByrt1z.js | 8 + .../build/assets/chunk-CkByrt1z.js.map | 19 + src/webview-ui/build/assets/chunk-CkXjmgJE.js | 7 + .../build/assets/chunk-CkXjmgJE.js.map | 18 + src/webview-ui/build/assets/chunk-Cmh6b_Ma.js | 8 + .../build/assets/chunk-Cmh6b_Ma.js.map | 19 + src/webview-ui/build/assets/chunk-CnK8MTSM.js | 7 + .../build/assets/chunk-CnK8MTSM.js.map | 18 + src/webview-ui/build/assets/chunk-Cne5dW8M.js | 10 + .../build/assets/chunk-Cne5dW8M.js.map | 21 + src/webview-ui/build/assets/chunk-CnnmHF94.js | 8 + .../build/assets/chunk-CnnmHF94.js.map | 19 + src/webview-ui/build/assets/chunk-Cno5XSCQ.js | 25 + .../build/assets/chunk-Cno5XSCQ.js.map | 33 + src/webview-ui/build/assets/chunk-Co6uUVPk.js | 8 + .../build/assets/chunk-Co6uUVPk.js.map | 19 + src/webview-ui/build/assets/chunk-Colysff4.js | 9 + .../build/assets/chunk-Colysff4.js.map | 20 + src/webview-ui/build/assets/chunk-Cp-IABpG.js | 8 + .../build/assets/chunk-Cp-IABpG.js.map | 19 + src/webview-ui/build/assets/chunk-CrJ-YhoI.js | 9 + .../build/assets/chunk-CrJ-YhoI.js.map | 20 + src/webview-ui/build/assets/chunk-CsfeWuGM.js | 8 + .../build/assets/chunk-CsfeWuGM.js.map | 19 + src/webview-ui/build/assets/chunk-Csfq5Kiy.js | 7 + .../build/assets/chunk-Csfq5Kiy.js.map | 18 + src/webview-ui/build/assets/chunk-CtrldY6v.js | 8 + .../build/assets/chunk-CtrldY6v.js.map | 19 + src/webview-ui/build/assets/chunk-Cu1ofpgu.js | 10 + .../build/assets/chunk-Cu1ofpgu.js.map | 20 + src/webview-ui/build/assets/chunk-Cuk6v7N8.js | 7 + .../build/assets/chunk-Cuk6v7N8.js.map | 18 + src/webview-ui/build/assets/chunk-Cv9koXgw.js | 7 + .../build/assets/chunk-Cv9koXgw.js.map | 18 + src/webview-ui/build/assets/chunk-CyktbL80.js | 7 + .../build/assets/chunk-CyktbL80.js.map | 18 + src/webview-ui/build/assets/chunk-CylS5w8V.js | 8 + .../build/assets/chunk-CylS5w8V.js.map | 19 + src/webview-ui/build/assets/chunk-CzjqYRUi.js | 18 + .../build/assets/chunk-CzjqYRUi.js.map | 26 + src/webview-ui/build/assets/chunk-D-2ljcwZ.js | 7 + .../build/assets/chunk-D-2ljcwZ.js.map | 18 + src/webview-ui/build/assets/chunk-D08WgyRC.js | 8 + .../build/assets/chunk-D08WgyRC.js.map | 19 + src/webview-ui/build/assets/chunk-D0YGMca9.js | 8 + .../build/assets/chunk-D0YGMca9.js.map | 19 + src/webview-ui/build/assets/chunk-D0r3Knsf.js | 7 + .../build/assets/chunk-D0r3Knsf.js.map | 18 + src/webview-ui/build/assets/chunk-D17OF-Vu.js | 8 + .../build/assets/chunk-D17OF-Vu.js.map | 19 + src/webview-ui/build/assets/chunk-D1K3uGbs.js | 9 + .../build/assets/chunk-D1K3uGbs.js.map | 20 + src/webview-ui/build/assets/chunk-D1_LrSGp.js | 15 + .../build/assets/chunk-D1_LrSGp.js.map | 21 + src/webview-ui/build/assets/chunk-D1j8_8rp.js | 8 + .../build/assets/chunk-D1j8_8rp.js.map | 19 + src/webview-ui/build/assets/chunk-D22FLkUw.js | 8 + .../build/assets/chunk-D22FLkUw.js.map | 19 + src/webview-ui/build/assets/chunk-D2CYqzqI.js | 8 + .../build/assets/chunk-D2CYqzqI.js.map | 19 + src/webview-ui/build/assets/chunk-D32k8WzR.js | 8 + .../build/assets/chunk-D32k8WzR.js.map | 19 + src/webview-ui/build/assets/chunk-D3lLCCz7.js | 8 + .../build/assets/chunk-D3lLCCz7.js.map | 19 + src/webview-ui/build/assets/chunk-D4h5O-jR.js | 7 + .../build/assets/chunk-D4h5O-jR.js.map | 18 + src/webview-ui/build/assets/chunk-D5-asLiD.js | 8 + .../build/assets/chunk-D5-asLiD.js.map | 19 + src/webview-ui/build/assets/chunk-D5KoaKCx.js | 7 + .../build/assets/chunk-D5KoaKCx.js.map | 18 + src/webview-ui/build/assets/chunk-D7o27uSR.js | 8 + .../build/assets/chunk-D7o27uSR.js.map | 19 + src/webview-ui/build/assets/chunk-D7oLnXFd.js | 7 + .../build/assets/chunk-D7oLnXFd.js.map | 18 + src/webview-ui/build/assets/chunk-D82EKSYY.js | 8 + .../build/assets/chunk-D82EKSYY.js.map | 19 + src/webview-ui/build/assets/chunk-D93ZcfNL.js | 8 + .../build/assets/chunk-D93ZcfNL.js.map | 19 + src/webview-ui/build/assets/chunk-D97Zzqfu.js | 8 + .../build/assets/chunk-D97Zzqfu.js.map | 19 + src/webview-ui/build/assets/chunk-D9kx8fwg.js | 9 + .../build/assets/chunk-D9kx8fwg.js.map | 20 + src/webview-ui/build/assets/chunk-DAi9KRSo.js | 7 + .../build/assets/chunk-DAi9KRSo.js.map | 18 + src/webview-ui/build/assets/chunk-DEd0xgAf.js | 10 + .../build/assets/chunk-DEd0xgAf.js.map | 21 + src/webview-ui/build/assets/chunk-DFQXde-d.js | 8 + .../build/assets/chunk-DFQXde-d.js.map | 19 + src/webview-ui/build/assets/chunk-DFR6f4Jn.js | 7 + .../build/assets/chunk-DFR6f4Jn.js.map | 18 + src/webview-ui/build/assets/chunk-DFXneXwc.js | 8 + .../build/assets/chunk-DFXneXwc.js.map | 19 + src/webview-ui/build/assets/chunk-DGztddWO.js | 8 + .../build/assets/chunk-DGztddWO.js.map | 19 + src/webview-ui/build/assets/chunk-DH5Ifo-i.js | 7 + .../build/assets/chunk-DH5Ifo-i.js.map | 18 + src/webview-ui/build/assets/chunk-DHCkPAjA.js | 8 + .../build/assets/chunk-DHCkPAjA.js.map | 19 + src/webview-ui/build/assets/chunk-DHJKELXO.js | 7 + .../build/assets/chunk-DHJKELXO.js.map | 18 + src/webview-ui/build/assets/chunk-DIHx2sdZ.js | 47 + .../build/assets/chunk-DIHx2sdZ.js.map | 46 + src/webview-ui/build/assets/chunk-DMzUqQB5.js | 8 + .../build/assets/chunk-DMzUqQB5.js.map | 19 + src/webview-ui/build/assets/chunk-DNNlxIVo.js | 13 + .../build/assets/chunk-DNNlxIVo.js.map | 22 + src/webview-ui/build/assets/chunk-DO0LZyKx.js | 12 + .../build/assets/chunk-DO0LZyKx.js.map | 23 + src/webview-ui/build/assets/chunk-DP8w0yq8.js | 9 + .../build/assets/chunk-DP8w0yq8.js.map | 20 + src/webview-ui/build/assets/chunk-DPfMkruS.js | 8 + .../build/assets/chunk-DPfMkruS.js.map | 19 + src/webview-ui/build/assets/chunk-DQ46CBc_.js | 38 + .../build/assets/chunk-DQ46CBc_.js.map | 41 + src/webview-ui/build/assets/chunk-DRBVVfo7.js | 11 + .../build/assets/chunk-DRBVVfo7.js.map | 20 + src/webview-ui/build/assets/chunk-DRg8JJMk.js | 8 + .../build/assets/chunk-DRg8JJMk.js.map | 19 + src/webview-ui/build/assets/chunk-DSnTR2wu.js | 16 + .../build/assets/chunk-DSnTR2wu.js.map | 24 + src/webview-ui/build/assets/chunk-DU1UobuO.js | 7 + .../build/assets/chunk-DU1UobuO.js.map | 18 + src/webview-ui/build/assets/chunk-DUszq2jm.js | 7 + .../build/assets/chunk-DUszq2jm.js.map | 18 + src/webview-ui/build/assets/chunk-DVFEvuxE.js | 8 + .../build/assets/chunk-DVFEvuxE.js.map | 19 + src/webview-ui/build/assets/chunk-DVMEJ2y_.js | 7 + .../build/assets/chunk-DVMEJ2y_.js.map | 18 + src/webview-ui/build/assets/chunk-DVxCFoDh.js | 8 + .../build/assets/chunk-DVxCFoDh.js.map | 19 + src/webview-ui/build/assets/chunk-DWedfzmr.js | 7 + .../build/assets/chunk-DWedfzmr.js.map | 18 + src/webview-ui/build/assets/chunk-DWkon8Hs.js | 16 + .../build/assets/chunk-DWkon8Hs.js.map | 26 + src/webview-ui/build/assets/chunk-DXETW7eA.js | 9 + .../build/assets/chunk-DXETW7eA.js.map | 20 + src/webview-ui/build/assets/chunk-DXHVBXt-.js | 9 + .../build/assets/chunk-DXHVBXt-.js.map | 20 + src/webview-ui/build/assets/chunk-DXbdFlpD.js | 7 + .../build/assets/chunk-DXbdFlpD.js.map | 18 + src/webview-ui/build/assets/chunk-DXmwc3jG.js | 8 + .../build/assets/chunk-DXmwc3jG.js.map | 19 + src/webview-ui/build/assets/chunk-DXvB9xmW.js | 8 + .../build/assets/chunk-DXvB9xmW.js.map | 19 + src/webview-ui/build/assets/chunk-D_Q5rh1f.js | 8 + .../build/assets/chunk-D_Q5rh1f.js.map | 19 + src/webview-ui/build/assets/chunk-Da5cRb03.js | 8 + .../build/assets/chunk-Da5cRb03.js.map | 19 + src/webview-ui/build/assets/chunk-DbjXokdF.js | 14 + .../build/assets/chunk-DbjXokdF.js.map | 24 + src/webview-ui/build/assets/chunk-DcaNXYhu.js | 8 + .../build/assets/chunk-DcaNXYhu.js.map | 19 + src/webview-ui/build/assets/chunk-Dcsh5twl.js | 7 + .../build/assets/chunk-Dcsh5twl.js.map | 18 + src/webview-ui/build/assets/chunk-Dd19v3D-.js | 8 + .../build/assets/chunk-Dd19v3D-.js.map | 19 + src/webview-ui/build/assets/chunk-DdkO51Og.js | 8 + .../build/assets/chunk-DdkO51Og.js.map | 19 + src/webview-ui/build/assets/chunk-Ddv68eIx.js | 7 + .../build/assets/chunk-Ddv68eIx.js.map | 18 + src/webview-ui/build/assets/chunk-Des-eS-w.js | 8 + .../build/assets/chunk-Des-eS-w.js.map | 19 + src/webview-ui/build/assets/chunk-Df68jz8_.js | 8 + .../build/assets/chunk-Df68jz8_.js.map | 19 + src/webview-ui/build/assets/chunk-Df6bDoY_.js | 8 + .../build/assets/chunk-Df6bDoY_.js.map | 19 + src/webview-ui/build/assets/chunk-DfEE3Bzs.js | 8 + .../build/assets/chunk-DfEE3Bzs.js.map | 19 + src/webview-ui/build/assets/chunk-DjjNbUIW.js | 9 + .../build/assets/chunk-DjjNbUIW.js.map | 20 + src/webview-ui/build/assets/chunk-DkwncUOv.js | 8 + .../build/assets/chunk-DkwncUOv.js.map | 19 + src/webview-ui/build/assets/chunk-DlfHMoPT.js | 8 + .../build/assets/chunk-DlfHMoPT.js.map | 19 + src/webview-ui/build/assets/chunk-DljmTZ5-.js | 8 + .../build/assets/chunk-DljmTZ5-.js.map | 19 + src/webview-ui/build/assets/chunk-DnULxvSX.js | 7 + .../build/assets/chunk-DnULxvSX.js.map | 18 + src/webview-ui/build/assets/chunk-DouSy6O5.js | 27 + .../build/assets/chunk-DouSy6O5.js.map | 21 + src/webview-ui/build/assets/chunk-DpOm0zC4.js | 8 + .../build/assets/chunk-DpOm0zC4.js.map | 19 + src/webview-ui/build/assets/chunk-Dpen1YoG.js | 8 + .../build/assets/chunk-Dpen1YoG.js.map | 19 + src/webview-ui/build/assets/chunk-DqwNpetd.js | 7 + .../build/assets/chunk-DqwNpetd.js.map | 18 + src/webview-ui/build/assets/chunk-DsOJ9woJ.js | 8 + .../build/assets/chunk-DsOJ9woJ.js.map | 19 + src/webview-ui/build/assets/chunk-Du0Ki9n9.js | 10 + .../build/assets/chunk-Du0Ki9n9.js.map | 20 + src/webview-ui/build/assets/chunk-Dx-B1_4e.js | 8 + .../build/assets/chunk-Dx-B1_4e.js.map | 19 + src/webview-ui/build/assets/chunk-DyJlTyXw.js | 8 + .../build/assets/chunk-DyJlTyXw.js.map | 19 + src/webview-ui/build/assets/chunk-DyxjwDmM.js | 8 + .../build/assets/chunk-DyxjwDmM.js.map | 19 + src/webview-ui/build/assets/chunk-E3gJ1_iC.js | 7 + .../build/assets/chunk-E3gJ1_iC.js.map | 18 + src/webview-ui/build/assets/chunk-Hhtzho9R.js | 7 + .../build/assets/chunk-Hhtzho9R.js.map | 18 + src/webview-ui/build/assets/chunk-I3RK9BU8.js | 8 + .../build/assets/chunk-I3RK9BU8.js.map | 19 + src/webview-ui/build/assets/chunk-IeuSbFQv.js | 8 + .../build/assets/chunk-IeuSbFQv.js.map | 19 + src/webview-ui/build/assets/chunk-Jcf2cZT6.js | 11 + .../build/assets/chunk-Jcf2cZT6.js.map | 22 + src/webview-ui/build/assets/chunk-L9t79GZl.js | 7 + .../build/assets/chunk-L9t79GZl.js.map | 18 + src/webview-ui/build/assets/chunk-MzD3tlZU.js | 8 + .../build/assets/chunk-MzD3tlZU.js.map | 19 + src/webview-ui/build/assets/chunk-NleAzG8P.js | 7 + .../build/assets/chunk-NleAzG8P.js.map | 18 + src/webview-ui/build/assets/chunk-OpcvBqEo.js | 12 + .../build/assets/chunk-OpcvBqEo.js.map | 21 + src/webview-ui/build/assets/chunk-P80f7IUj.js | 8 + .../build/assets/chunk-P80f7IUj.js.map | 19 + src/webview-ui/build/assets/chunk-PEFJdsE-.js | 8 + .../build/assets/chunk-PEFJdsE-.js.map | 19 + src/webview-ui/build/assets/chunk-Pmp26Uib.js | 8 + .../build/assets/chunk-Pmp26Uib.js.map | 19 + src/webview-ui/build/assets/chunk-PoHY5YXO.js | 7 + .../build/assets/chunk-PoHY5YXO.js.map | 18 + src/webview-ui/build/assets/chunk-QIJgUcNo.js | 8 + .../build/assets/chunk-QIJgUcNo.js.map | 19 + src/webview-ui/build/assets/chunk-QX45V2Sx.js | 8 + .../build/assets/chunk-QX45V2Sx.js.map | 19 + src/webview-ui/build/assets/chunk-RrBGtqGR.js | 8 + .../build/assets/chunk-RrBGtqGR.js.map | 19 + src/webview-ui/build/assets/chunk-T7J2jLj3.js | 31 + .../build/assets/chunk-T7J2jLj3.js.map | 25 + src/webview-ui/build/assets/chunk-Yzrsuije.js | 8 + .../build/assets/chunk-Yzrsuije.js.map | 19 + src/webview-ui/build/assets/chunk-_ykCGR6B.js | 8 + .../build/assets/chunk-_ykCGR6B.js.map | 19 + src/webview-ui/build/assets/chunk-bCR0ucgS.js | 8 + .../build/assets/chunk-bCR0ucgS.js.map | 19 + src/webview-ui/build/assets/chunk-bN70gL4F.js | 7 + .../build/assets/chunk-bN70gL4F.js.map | 18 + src/webview-ui/build/assets/chunk-brDaU2vB.js | 7 + .../build/assets/chunk-brDaU2vB.js.map | 18 + src/webview-ui/build/assets/chunk-c1G5yEKj.js | 8 + .../build/assets/chunk-c1G5yEKj.js.map | 19 + src/webview-ui/build/assets/chunk-dwOrl1Do.js | 8 + .../build/assets/chunk-dwOrl1Do.js.map | 19 + src/webview-ui/build/assets/chunk-fuZLfV_i.js | 8 + .../build/assets/chunk-fuZLfV_i.js.map | 19 + src/webview-ui/build/assets/chunk-fve9TYiY.js | 8 + .../build/assets/chunk-fve9TYiY.js.map | 19 + src/webview-ui/build/assets/chunk-g9-lgVsj.js | 8 + .../build/assets/chunk-g9-lgVsj.js.map | 19 + src/webview-ui/build/assets/chunk-gcz8RCvz.js | 8 + .../build/assets/chunk-gcz8RCvz.js.map | 19 + src/webview-ui/build/assets/chunk-hegEt444.js | 7 + .../build/assets/chunk-hegEt444.js.map | 18 + src/webview-ui/build/assets/chunk-irsrSlf-.js | 8 + .../build/assets/chunk-irsrSlf-.js.map | 19 + src/webview-ui/build/assets/chunk-jQY0bNUL.js | 9 + .../build/assets/chunk-jQY0bNUL.js.map | 20 + src/webview-ui/build/assets/chunk-lXgVvXCa.js | 8 + .../build/assets/chunk-lXgVvXCa.js.map | 19 + src/webview-ui/build/assets/chunk-leinZj1a.js | 7 + .../build/assets/chunk-leinZj1a.js.map | 18 + src/webview-ui/build/assets/chunk-pO14Kfwb.js | 1670 + .../build/assets/chunk-pO14Kfwb.js.map | 138 + src/webview-ui/build/assets/chunk-q-j0iyEw.js | 7 + .../build/assets/chunk-q-j0iyEw.js.map | 18 + src/webview-ui/build/assets/chunk-sVvOI5da.js | 10 + .../build/assets/chunk-sVvOI5da.js.map | 20 + src/webview-ui/build/assets/chunk-sYKpKAhk.js | 34 + .../build/assets/chunk-sYKpKAhk.js.map | 36 + src/webview-ui/build/assets/chunk-vGWfd6FD.js | 8 + .../build/assets/chunk-vGWfd6FD.js.map | 19 + src/webview-ui/build/assets/chunk-vbB5lEOJ.js | 9 + .../build/assets/chunk-vbB5lEOJ.js.map | 20 + .../build/assets/fonts/KaTeX_AMS-Regular.ttf | Bin 0 -> 63632 bytes .../build/assets/fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 33516 bytes .../assets/fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 28076 bytes .../assets/fonts/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 12368 bytes .../assets/fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 7716 bytes .../assets/fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 6912 bytes .../fonts/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 12344 bytes .../fonts/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 7656 bytes .../fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 6908 bytes .../build/assets/fonts/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 19584 bytes .../assets/fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 13296 bytes .../assets/fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 11348 bytes .../assets/fonts/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 19572 bytes .../assets/fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 13208 bytes .../assets/fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 11316 bytes .../build/assets/fonts/KaTeX_Main-Bold.ttf | Bin 0 -> 51336 bytes .../build/assets/fonts/KaTeX_Main-Bold.woff | Bin 0 -> 29912 bytes .../build/assets/fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 25324 bytes .../assets/fonts/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 32968 bytes .../assets/fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 19412 bytes .../assets/fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 16780 bytes .../build/assets/fonts/KaTeX_Main-Italic.ttf | Bin 0 -> 33580 bytes .../build/assets/fonts/KaTeX_Main-Italic.woff | Bin 0 -> 19676 bytes .../assets/fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 16988 bytes .../build/assets/fonts/KaTeX_Main-Regular.ttf | Bin 0 -> 53580 bytes .../assets/fonts/KaTeX_Main-Regular.woff | Bin 0 -> 30772 bytes .../assets/fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 26272 bytes .../assets/fonts/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 31196 bytes .../assets/fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 18668 bytes .../assets/fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 16400 bytes .../build/assets/fonts/KaTeX_Math-Italic.ttf | Bin 0 -> 31308 bytes .../build/assets/fonts/KaTeX_Math-Italic.woff | Bin 0 -> 18748 bytes .../assets/fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 16440 bytes .../assets/fonts/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 24504 bytes .../assets/fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 14408 bytes .../assets/fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 12216 bytes .../assets/fonts/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 22364 bytes .../assets/fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 14112 bytes .../assets/fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 12028 bytes .../assets/fonts/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 19436 bytes .../assets/fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 12316 bytes .../fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 10344 bytes .../assets/fonts/KaTeX_Script-Regular.ttf | Bin 0 -> 16648 bytes .../assets/fonts/KaTeX_Script-Regular.woff | Bin 0 -> 10588 bytes .../assets/fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 9644 bytes .../assets/fonts/KaTeX_Size1-Regular.ttf | Bin 0 -> 12228 bytes .../assets/fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6496 bytes .../assets/fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5468 bytes .../assets/fonts/KaTeX_Size2-Regular.ttf | Bin 0 -> 11508 bytes .../assets/fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6188 bytes .../assets/fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5208 bytes .../assets/fonts/KaTeX_Size3-Regular.ttf | Bin 0 -> 7588 bytes .../assets/fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4420 bytes .../assets/fonts/KaTeX_Size4-Regular.ttf | Bin 0 -> 10364 bytes .../assets/fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 5980 bytes .../assets/fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 4928 bytes .../assets/fonts/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 27556 bytes .../fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 16028 bytes .../fonts/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 13568 bytes src/webview-ui/build/assets/fonts/codicon.ttf | Bin 0 -> 80188 bytes src/webview-ui/build/assets/index.css | 6416 + src/webview-ui/build/assets/index.js | 149027 +++++++++++++++ src/webview-ui/build/assets/index.js.map | 13860 ++ src/webview-ui/build/assets/mermaid-bundle.js | 123513 ++++++++++++ .../build/assets/mermaid-bundle.js.map | 14907 ++ src/webview-ui/build/index.html | 14 + src/webview-ui/build/sourcemap-manifest.json | 1 + 633 files changed, 317655 insertions(+), 1 deletion(-) create mode 100644 src/webview-ui/build/.gitkeep create mode 100644 src/webview-ui/build/assets/chunk--Ycre7K_.js create mode 100644 src/webview-ui/build/assets/chunk--Ycre7K_.js.map create mode 100644 src/webview-ui/build/assets/chunk-1DNp92w6.js create mode 100644 src/webview-ui/build/assets/chunk-1DNp92w6.js.map create mode 100644 src/webview-ui/build/assets/chunk-25uR9ifH.js create mode 100644 src/webview-ui/build/assets/chunk-25uR9ifH.js.map create mode 100644 src/webview-ui/build/assets/chunk-3e1v2bzS.js create mode 100644 src/webview-ui/build/assets/chunk-3e1v2bzS.js.map create mode 100644 src/webview-ui/build/assets/chunk-3ipgsugG.js create mode 100644 src/webview-ui/build/assets/chunk-3ipgsugG.js.map create mode 100644 src/webview-ui/build/assets/chunk-3mfGJbgy.js create mode 100644 src/webview-ui/build/assets/chunk-3mfGJbgy.js.map create mode 100644 src/webview-ui/build/assets/chunk-4A_iFExJ.js create mode 100644 src/webview-ui/build/assets/chunk-4A_iFExJ.js.map create mode 100644 src/webview-ui/build/assets/chunk-5i3qLPDT.js create mode 100644 src/webview-ui/build/assets/chunk-5i3qLPDT.js.map create mode 100644 src/webview-ui/build/assets/chunk-6nHXG8SA.js create mode 100644 src/webview-ui/build/assets/chunk-6nHXG8SA.js.map create mode 100644 src/webview-ui/build/assets/chunk-7i6GEmcB.js create mode 100644 src/webview-ui/build/assets/chunk-7i6GEmcB.js.map create mode 100644 src/webview-ui/build/assets/chunk-85-TOEBH.js create mode 100644 src/webview-ui/build/assets/chunk-85-TOEBH.js.map create mode 100644 src/webview-ui/build/assets/chunk-B0YXbBSa.js create mode 100644 src/webview-ui/build/assets/chunk-B0YXbBSa.js.map create mode 100644 src/webview-ui/build/assets/chunk-B0m2ddpp.js create mode 100644 src/webview-ui/build/assets/chunk-B0m2ddpp.js.map create mode 100644 src/webview-ui/build/assets/chunk-B1dDrJ26.js create mode 100644 src/webview-ui/build/assets/chunk-B1dDrJ26.js.map create mode 100644 src/webview-ui/build/assets/chunk-B1yitclQ.js create mode 100644 src/webview-ui/build/assets/chunk-B1yitclQ.js.map create mode 100644 src/webview-ui/build/assets/chunk-B47ASqzZ.js create mode 100644 src/webview-ui/build/assets/chunk-B47ASqzZ.js.map create mode 100644 src/webview-ui/build/assets/chunk-B5tOyCc9.js create mode 100644 src/webview-ui/build/assets/chunk-B5tOyCc9.js.map create mode 100644 src/webview-ui/build/assets/chunk-B6aJPvgy.js create mode 100644 src/webview-ui/build/assets/chunk-B6aJPvgy.js.map create mode 100644 src/webview-ui/build/assets/chunk-B7mTdjB0.js create mode 100644 src/webview-ui/build/assets/chunk-B7mTdjB0.js.map create mode 100644 src/webview-ui/build/assets/chunk-B9xm8XSJ.js create mode 100644 src/webview-ui/build/assets/chunk-B9xm8XSJ.js.map create mode 100644 src/webview-ui/build/assets/chunk-BAAX8Kh4.js create mode 100644 src/webview-ui/build/assets/chunk-BAAX8Kh4.js.map create mode 100644 src/webview-ui/build/assets/chunk-BEDo0Tqx.js create mode 100644 src/webview-ui/build/assets/chunk-BEDo0Tqx.js.map create mode 100644 src/webview-ui/build/assets/chunk-BERRCDM3.js create mode 100644 src/webview-ui/build/assets/chunk-BERRCDM3.js.map create mode 100644 src/webview-ui/build/assets/chunk-BETggiCN.js create mode 100644 src/webview-ui/build/assets/chunk-BETggiCN.js.map create mode 100644 src/webview-ui/build/assets/chunk-BEwlwnbL.js create mode 100644 src/webview-ui/build/assets/chunk-BEwlwnbL.js.map create mode 100644 src/webview-ui/build/assets/chunk-BFVdkX1U.js create mode 100644 src/webview-ui/build/assets/chunk-BFVdkX1U.js.map create mode 100644 src/webview-ui/build/assets/chunk-BFfxhgS-.js create mode 100644 src/webview-ui/build/assets/chunk-BFfxhgS-.js.map create mode 100644 src/webview-ui/build/assets/chunk-BFvZA1X9.js create mode 100644 src/webview-ui/build/assets/chunk-BFvZA1X9.js.map create mode 100644 src/webview-ui/build/assets/chunk-BHrmToEH.js create mode 100644 src/webview-ui/build/assets/chunk-BHrmToEH.js.map create mode 100644 src/webview-ui/build/assets/chunk-BIGW1oBm.js create mode 100644 src/webview-ui/build/assets/chunk-BIGW1oBm.js.map create mode 100644 src/webview-ui/build/assets/chunk-BM1_JUlF.js create mode 100644 src/webview-ui/build/assets/chunk-BM1_JUlF.js.map create mode 100644 src/webview-ui/build/assets/chunk-BMMyXqK5.js create mode 100644 src/webview-ui/build/assets/chunk-BMMyXqK5.js.map create mode 100644 src/webview-ui/build/assets/chunk-BMWR74SV.js create mode 100644 src/webview-ui/build/assets/chunk-BMWR74SV.js.map create mode 100644 src/webview-ui/build/assets/chunk-BP3HzMA6.js create mode 100644 src/webview-ui/build/assets/chunk-BP3HzMA6.js.map create mode 100644 src/webview-ui/build/assets/chunk-BQ8w6xss.js create mode 100644 src/webview-ui/build/assets/chunk-BQ8w6xss.js.map create mode 100644 src/webview-ui/build/assets/chunk-BR7mELCv.js create mode 100644 src/webview-ui/build/assets/chunk-BR7mELCv.js.map create mode 100644 src/webview-ui/build/assets/chunk-BRHolxvo.js create mode 100644 src/webview-ui/build/assets/chunk-BRHolxvo.js.map create mode 100644 src/webview-ui/build/assets/chunk-BSCcYQo-.js create mode 100644 src/webview-ui/build/assets/chunk-BSCcYQo-.js.map create mode 100644 src/webview-ui/build/assets/chunk-BTJTHyun.js create mode 100644 src/webview-ui/build/assets/chunk-BTJTHyun.js.map create mode 100644 src/webview-ui/build/assets/chunk-BU0udk1K.js create mode 100644 src/webview-ui/build/assets/chunk-BU0udk1K.js.map create mode 100644 src/webview-ui/build/assets/chunk-BV7otONQ.js create mode 100644 src/webview-ui/build/assets/chunk-BV7otONQ.js.map create mode 100644 src/webview-ui/build/assets/chunk-BWvSN4gD.js create mode 100644 src/webview-ui/build/assets/chunk-BWvSN4gD.js.map create mode 100644 src/webview-ui/build/assets/chunk-BXkSAIEj.js create mode 100644 src/webview-ui/build/assets/chunk-BXkSAIEj.js.map create mode 100644 src/webview-ui/build/assets/chunk-BYunw83y.js create mode 100644 src/webview-ui/build/assets/chunk-BYunw83y.js.map create mode 100644 src/webview-ui/build/assets/chunk-B_m7g4N7.js create mode 100644 src/webview-ui/build/assets/chunk-B_m7g4N7.js.map create mode 100644 src/webview-ui/build/assets/chunk-B_vNuMnf.js create mode 100644 src/webview-ui/build/assets/chunk-B_vNuMnf.js.map create mode 100644 src/webview-ui/build/assets/chunk-BaML1QMV.js create mode 100644 src/webview-ui/build/assets/chunk-BaML1QMV.js.map create mode 100644 src/webview-ui/build/assets/chunk-BbcW6ACK.js create mode 100644 src/webview-ui/build/assets/chunk-BbcW6ACK.js.map create mode 100644 src/webview-ui/build/assets/chunk-Bc2xwClX.js create mode 100644 src/webview-ui/build/assets/chunk-Bc2xwClX.js.map create mode 100644 src/webview-ui/build/assets/chunk-BcOcwvcX.js create mode 100644 src/webview-ui/build/assets/chunk-BcOcwvcX.js.map create mode 100644 src/webview-ui/build/assets/chunk-BdImnpbu.js create mode 100644 src/webview-ui/build/assets/chunk-BdImnpbu.js.map create mode 100644 src/webview-ui/build/assets/chunk-BdnUsdx6.js create mode 100644 src/webview-ui/build/assets/chunk-BdnUsdx6.js.map create mode 100644 src/webview-ui/build/assets/chunk-BepWV7mh.js create mode 100644 src/webview-ui/build/assets/chunk-BepWV7mh.js.map create mode 100644 src/webview-ui/build/assets/chunk-BfHTSMKl.js create mode 100644 src/webview-ui/build/assets/chunk-BfHTSMKl.js.map create mode 100644 src/webview-ui/build/assets/chunk-BfjtVDDH.js create mode 100644 src/webview-ui/build/assets/chunk-BfjtVDDH.js.map create mode 100644 src/webview-ui/build/assets/chunk-BgDCqdQA.js create mode 100644 src/webview-ui/build/assets/chunk-BgDCqdQA.js.map create mode 100644 src/webview-ui/build/assets/chunk-BgEskmCb.js create mode 100644 src/webview-ui/build/assets/chunk-BgEskmCb.js.map create mode 100644 src/webview-ui/build/assets/chunk-BgfZh1f1.js create mode 100644 src/webview-ui/build/assets/chunk-BgfZh1f1.js.map create mode 100644 src/webview-ui/build/assets/chunk-BhOHFoWU.js create mode 100644 src/webview-ui/build/assets/chunk-BhOHFoWU.js.map create mode 100644 src/webview-ui/build/assets/chunk-BkPM1oy1.js create mode 100644 src/webview-ui/build/assets/chunk-BkPM1oy1.js.map create mode 100644 src/webview-ui/build/assets/chunk-BkioyH1T.js create mode 100644 src/webview-ui/build/assets/chunk-BkioyH1T.js.map create mode 100644 src/webview-ui/build/assets/chunk-Bkuqu6BP.js create mode 100644 src/webview-ui/build/assets/chunk-Bkuqu6BP.js.map create mode 100644 src/webview-ui/build/assets/chunk-Bl2oy6fF.js create mode 100644 src/webview-ui/build/assets/chunk-Bl2oy6fF.js.map create mode 100644 src/webview-ui/build/assets/chunk-BmXAJ9_W.js create mode 100644 src/webview-ui/build/assets/chunk-BmXAJ9_W.js.map create mode 100644 src/webview-ui/build/assets/chunk-BnD7D7ah.js create mode 100644 src/webview-ui/build/assets/chunk-BnD7D7ah.js.map create mode 100644 src/webview-ui/build/assets/chunk-BoKiGodi.js create mode 100644 src/webview-ui/build/assets/chunk-BoKiGodi.js.map create mode 100644 src/webview-ui/build/assets/chunk-Bp6g37R7.js create mode 100644 src/webview-ui/build/assets/chunk-Bp6g37R7.js.map create mode 100644 src/webview-ui/build/assets/chunk-BqYA7rlc.js create mode 100644 src/webview-ui/build/assets/chunk-BqYA7rlc.js.map create mode 100644 src/webview-ui/build/assets/chunk-BrYkhBEK.js create mode 100644 src/webview-ui/build/assets/chunk-BrYkhBEK.js.map create mode 100644 src/webview-ui/build/assets/chunk-BsS91CYL.js create mode 100644 src/webview-ui/build/assets/chunk-BsS91CYL.js.map create mode 100644 src/webview-ui/build/assets/chunk-BspZqrRM.js create mode 100644 src/webview-ui/build/assets/chunk-BspZqrRM.js.map create mode 100644 src/webview-ui/build/assets/chunk-BtCnVYZw.js create mode 100644 src/webview-ui/build/assets/chunk-BtCnVYZw.js.map create mode 100644 src/webview-ui/build/assets/chunk-BtOb2qkB.js create mode 100644 src/webview-ui/build/assets/chunk-BtOb2qkB.js.map create mode 100644 src/webview-ui/build/assets/chunk-BthQWCQV.js create mode 100644 src/webview-ui/build/assets/chunk-BthQWCQV.js.map create mode 100644 src/webview-ui/build/assets/chunk-BtqSS_iP.js create mode 100644 src/webview-ui/build/assets/chunk-BtqSS_iP.js.map create mode 100644 src/webview-ui/build/assets/chunk-Bty6elJm.js create mode 100644 src/webview-ui/build/assets/chunk-Bty6elJm.js.map create mode 100644 src/webview-ui/build/assets/chunk-Btyk0a-E.js create mode 100644 src/webview-ui/build/assets/chunk-Btyk0a-E.js.map create mode 100644 src/webview-ui/build/assets/chunk-Buea-lGh.js create mode 100644 src/webview-ui/build/assets/chunk-Buea-lGh.js.map create mode 100644 src/webview-ui/build/assets/chunk-BvAqAH-y.js create mode 100644 src/webview-ui/build/assets/chunk-BvAqAH-y.js.map create mode 100644 src/webview-ui/build/assets/chunk-Bw305WKR.js create mode 100644 src/webview-ui/build/assets/chunk-Bw305WKR.js.map create mode 100644 src/webview-ui/build/assets/chunk-BzJJZx-M.js create mode 100644 src/webview-ui/build/assets/chunk-BzJJZx-M.js.map create mode 100644 src/webview-ui/build/assets/chunk-C-C_nZcE.js create mode 100644 src/webview-ui/build/assets/chunk-C-C_nZcE.js.map create mode 100644 src/webview-ui/build/assets/chunk-C-HMFfM3.js create mode 100644 src/webview-ui/build/assets/chunk-C-HMFfM3.js.map create mode 100644 src/webview-ui/build/assets/chunk-C-SQnVFl.js create mode 100644 src/webview-ui/build/assets/chunk-C-SQnVFl.js.map create mode 100644 src/webview-ui/build/assets/chunk-C0HS_06l.js create mode 100644 src/webview-ui/build/assets/chunk-C0HS_06l.js.map create mode 100644 src/webview-ui/build/assets/chunk-C0hk2d4L.js create mode 100644 src/webview-ui/build/assets/chunk-C0hk2d4L.js.map create mode 100644 src/webview-ui/build/assets/chunk-C151Ov-r.js create mode 100644 src/webview-ui/build/assets/chunk-C151Ov-r.js.map create mode 100644 src/webview-ui/build/assets/chunk-C2t-YnRu.js create mode 100644 src/webview-ui/build/assets/chunk-C2t-YnRu.js.map create mode 100644 src/webview-ui/build/assets/chunk-C2tOF0e5.js create mode 100644 src/webview-ui/build/assets/chunk-C2tOF0e5.js.map create mode 100644 src/webview-ui/build/assets/chunk-C39BiMTA.js create mode 100644 src/webview-ui/build/assets/chunk-C39BiMTA.js.map create mode 100644 src/webview-ui/build/assets/chunk-C3B-1QV4.js create mode 100644 src/webview-ui/build/assets/chunk-C3B-1QV4.js.map create mode 100644 src/webview-ui/build/assets/chunk-C3IMAYVA.js create mode 100644 src/webview-ui/build/assets/chunk-C3IMAYVA.js.map create mode 100644 src/webview-ui/build/assets/chunk-C3khCPGq.js create mode 100644 src/webview-ui/build/assets/chunk-C3khCPGq.js.map create mode 100644 src/webview-ui/build/assets/chunk-C3mMm8J8.js create mode 100644 src/webview-ui/build/assets/chunk-C3mMm8J8.js.map create mode 100644 src/webview-ui/build/assets/chunk-C3rowuyE.js create mode 100644 src/webview-ui/build/assets/chunk-C3rowuyE.js.map create mode 100644 src/webview-ui/build/assets/chunk-C4IJs8-o.js create mode 100644 src/webview-ui/build/assets/chunk-C4IJs8-o.js.map create mode 100644 src/webview-ui/build/assets/chunk-C8M2exoo.js create mode 100644 src/webview-ui/build/assets/chunk-C8M2exoo.js.map create mode 100644 src/webview-ui/build/assets/chunk-C8lEn-DE.js create mode 100644 src/webview-ui/build/assets/chunk-C8lEn-DE.js.map create mode 100644 src/webview-ui/build/assets/chunk-C98Dy4si.js create mode 100644 src/webview-ui/build/assets/chunk-C98Dy4si.js.map create mode 100644 src/webview-ui/build/assets/chunk-C9XAeP06.js create mode 100644 src/webview-ui/build/assets/chunk-C9XAeP06.js.map create mode 100644 src/webview-ui/build/assets/chunk-C9dXKwCe.js create mode 100644 src/webview-ui/build/assets/chunk-C9dXKwCe.js.map create mode 100644 src/webview-ui/build/assets/chunk-C9tDr53Z.js create mode 100644 src/webview-ui/build/assets/chunk-C9tDr53Z.js.map create mode 100644 src/webview-ui/build/assets/chunk-C9tS-k6U.js create mode 100644 src/webview-ui/build/assets/chunk-C9tS-k6U.js.map create mode 100644 src/webview-ui/build/assets/chunk-CDVJQ6XC.js create mode 100644 src/webview-ui/build/assets/chunk-CDVJQ6XC.js.map create mode 100644 src/webview-ui/build/assets/chunk-CDuzWNpe.js create mode 100644 src/webview-ui/build/assets/chunk-CDuzWNpe.js.map create mode 100644 src/webview-ui/build/assets/chunk-CDx5xZoG.js create mode 100644 src/webview-ui/build/assets/chunk-CDx5xZoG.js.map create mode 100644 src/webview-ui/build/assets/chunk-CEL-wOlO.js create mode 100644 src/webview-ui/build/assets/chunk-CEL-wOlO.js.map create mode 100644 src/webview-ui/build/assets/chunk-CEu0bR-o.js create mode 100644 src/webview-ui/build/assets/chunk-CEu0bR-o.js.map create mode 100644 src/webview-ui/build/assets/chunk-CF10PKvl.js create mode 100644 src/webview-ui/build/assets/chunk-CF10PKvl.js.map create mode 100644 src/webview-ui/build/assets/chunk-CG6Dc4jp.js create mode 100644 src/webview-ui/build/assets/chunk-CG6Dc4jp.js.map create mode 100644 src/webview-ui/build/assets/chunk-CHLpvVh8.js create mode 100644 src/webview-ui/build/assets/chunk-CHLpvVh8.js.map create mode 100644 src/webview-ui/build/assets/chunk-CHM0blh-.js create mode 100644 src/webview-ui/build/assets/chunk-CHM0blh-.js.map create mode 100644 src/webview-ui/build/assets/chunk-CHadp7IV.js create mode 100644 src/webview-ui/build/assets/chunk-CHadp7IV.js.map create mode 100644 src/webview-ui/build/assets/chunk-CHh-QcGE.js create mode 100644 src/webview-ui/build/assets/chunk-CHh-QcGE.js.map create mode 100644 src/webview-ui/build/assets/chunk-CJOTNe-S.js create mode 100644 src/webview-ui/build/assets/chunk-CJOTNe-S.js.map create mode 100644 src/webview-ui/build/assets/chunk-CJc9bBzg.js create mode 100644 src/webview-ui/build/assets/chunk-CJc9bBzg.js.map create mode 100644 src/webview-ui/build/assets/chunk-CK-KhNJq.js create mode 100644 src/webview-ui/build/assets/chunk-CK-KhNJq.js.map create mode 100644 src/webview-ui/build/assets/chunk-CKIfxQSi.js create mode 100644 src/webview-ui/build/assets/chunk-CKIfxQSi.js.map create mode 100644 src/webview-ui/build/assets/chunk-CLIx6TIR.js create mode 100644 src/webview-ui/build/assets/chunk-CLIx6TIR.js.map create mode 100644 src/webview-ui/build/assets/chunk-CLxacb5B.js create mode 100644 src/webview-ui/build/assets/chunk-CLxacb5B.js.map create mode 100644 src/webview-ui/build/assets/chunk-CMUws-av.js create mode 100644 src/webview-ui/build/assets/chunk-CMUws-av.js.map create mode 100644 src/webview-ui/build/assets/chunk-CMdgaOU9.js create mode 100644 src/webview-ui/build/assets/chunk-CMdgaOU9.js.map create mode 100644 src/webview-ui/build/assets/chunk-COkxafJQ.js create mode 100644 src/webview-ui/build/assets/chunk-COkxafJQ.js.map create mode 100644 src/webview-ui/build/assets/chunk-COt5Ahok.js create mode 100644 src/webview-ui/build/assets/chunk-COt5Ahok.js.map create mode 100644 src/webview-ui/build/assets/chunk-CS3Unz2-.js create mode 100644 src/webview-ui/build/assets/chunk-CS3Unz2-.js.map create mode 100644 src/webview-ui/build/assets/chunk-CSPye00a.js create mode 100644 src/webview-ui/build/assets/chunk-CSPye00a.js.map create mode 100644 src/webview-ui/build/assets/chunk-CTRr51gU.js create mode 100644 src/webview-ui/build/assets/chunk-CTRr51gU.js.map create mode 100644 src/webview-ui/build/assets/chunk-CUBwRw-F.js create mode 100644 src/webview-ui/build/assets/chunk-CUBwRw-F.js.map create mode 100644 src/webview-ui/build/assets/chunk-CUz34qUM.js create mode 100644 src/webview-ui/build/assets/chunk-CUz34qUM.js.map create mode 100644 src/webview-ui/build/assets/chunk-CVO1_9PV.js create mode 100644 src/webview-ui/build/assets/chunk-CVO1_9PV.js.map create mode 100644 src/webview-ui/build/assets/chunk-CXhxxCfG.js create mode 100644 src/webview-ui/build/assets/chunk-CXhxxCfG.js.map create mode 100644 src/webview-ui/build/assets/chunk-CXtECtnM.js create mode 100644 src/webview-ui/build/assets/chunk-CXtECtnM.js.map create mode 100644 src/webview-ui/build/assets/chunk-CafNBF8u.js create mode 100644 src/webview-ui/build/assets/chunk-CafNBF8u.js.map create mode 100644 src/webview-ui/build/assets/chunk-CbFg5uaA.js create mode 100644 src/webview-ui/build/assets/chunk-CbFg5uaA.js.map create mode 100644 src/webview-ui/build/assets/chunk-CbfX1IO0.js create mode 100644 src/webview-ui/build/assets/chunk-CbfX1IO0.js.map create mode 100644 src/webview-ui/build/assets/chunk-CdTSL8YE.js create mode 100644 src/webview-ui/build/assets/chunk-CdTSL8YE.js.map create mode 100644 src/webview-ui/build/assets/chunk-CdggvHu8.js create mode 100644 src/webview-ui/build/assets/chunk-CdggvHu8.js.map create mode 100644 src/webview-ui/build/assets/chunk-CeAyd5Ju.js create mode 100644 src/webview-ui/build/assets/chunk-CeAyd5Ju.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cf4Oy6XI.js create mode 100644 src/webview-ui/build/assets/chunk-Cf4Oy6XI.js.map create mode 100644 src/webview-ui/build/assets/chunk-CfQXZHmo.js create mode 100644 src/webview-ui/build/assets/chunk-CfQXZHmo.js.map create mode 100644 src/webview-ui/build/assets/chunk-CfeIJUat.js create mode 100644 src/webview-ui/build/assets/chunk-CfeIJUat.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cg-RD9OK.js create mode 100644 src/webview-ui/build/assets/chunk-Cg-RD9OK.js.map create mode 100644 src/webview-ui/build/assets/chunk-ChMvpjG-.js create mode 100644 src/webview-ui/build/assets/chunk-ChMvpjG-.js.map create mode 100644 src/webview-ui/build/assets/chunk-CiIkovmz.js create mode 100644 src/webview-ui/build/assets/chunk-CiIkovmz.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cj5Yp3dK.js create mode 100644 src/webview-ui/build/assets/chunk-Cj5Yp3dK.js.map create mode 100644 src/webview-ui/build/assets/chunk-CkByrt1z.js create mode 100644 src/webview-ui/build/assets/chunk-CkByrt1z.js.map create mode 100644 src/webview-ui/build/assets/chunk-CkXjmgJE.js create mode 100644 src/webview-ui/build/assets/chunk-CkXjmgJE.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cmh6b_Ma.js create mode 100644 src/webview-ui/build/assets/chunk-Cmh6b_Ma.js.map create mode 100644 src/webview-ui/build/assets/chunk-CnK8MTSM.js create mode 100644 src/webview-ui/build/assets/chunk-CnK8MTSM.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cne5dW8M.js create mode 100644 src/webview-ui/build/assets/chunk-Cne5dW8M.js.map create mode 100644 src/webview-ui/build/assets/chunk-CnnmHF94.js create mode 100644 src/webview-ui/build/assets/chunk-CnnmHF94.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cno5XSCQ.js create mode 100644 src/webview-ui/build/assets/chunk-Cno5XSCQ.js.map create mode 100644 src/webview-ui/build/assets/chunk-Co6uUVPk.js create mode 100644 src/webview-ui/build/assets/chunk-Co6uUVPk.js.map create mode 100644 src/webview-ui/build/assets/chunk-Colysff4.js create mode 100644 src/webview-ui/build/assets/chunk-Colysff4.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cp-IABpG.js create mode 100644 src/webview-ui/build/assets/chunk-Cp-IABpG.js.map create mode 100644 src/webview-ui/build/assets/chunk-CrJ-YhoI.js create mode 100644 src/webview-ui/build/assets/chunk-CrJ-YhoI.js.map create mode 100644 src/webview-ui/build/assets/chunk-CsfeWuGM.js create mode 100644 src/webview-ui/build/assets/chunk-CsfeWuGM.js.map create mode 100644 src/webview-ui/build/assets/chunk-Csfq5Kiy.js create mode 100644 src/webview-ui/build/assets/chunk-Csfq5Kiy.js.map create mode 100644 src/webview-ui/build/assets/chunk-CtrldY6v.js create mode 100644 src/webview-ui/build/assets/chunk-CtrldY6v.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cu1ofpgu.js create mode 100644 src/webview-ui/build/assets/chunk-Cu1ofpgu.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cuk6v7N8.js create mode 100644 src/webview-ui/build/assets/chunk-Cuk6v7N8.js.map create mode 100644 src/webview-ui/build/assets/chunk-Cv9koXgw.js create mode 100644 src/webview-ui/build/assets/chunk-Cv9koXgw.js.map create mode 100644 src/webview-ui/build/assets/chunk-CyktbL80.js create mode 100644 src/webview-ui/build/assets/chunk-CyktbL80.js.map create mode 100644 src/webview-ui/build/assets/chunk-CylS5w8V.js create mode 100644 src/webview-ui/build/assets/chunk-CylS5w8V.js.map create mode 100644 src/webview-ui/build/assets/chunk-CzjqYRUi.js create mode 100644 src/webview-ui/build/assets/chunk-CzjqYRUi.js.map create mode 100644 src/webview-ui/build/assets/chunk-D-2ljcwZ.js create mode 100644 src/webview-ui/build/assets/chunk-D-2ljcwZ.js.map create mode 100644 src/webview-ui/build/assets/chunk-D08WgyRC.js create mode 100644 src/webview-ui/build/assets/chunk-D08WgyRC.js.map create mode 100644 src/webview-ui/build/assets/chunk-D0YGMca9.js create mode 100644 src/webview-ui/build/assets/chunk-D0YGMca9.js.map create mode 100644 src/webview-ui/build/assets/chunk-D0r3Knsf.js create mode 100644 src/webview-ui/build/assets/chunk-D0r3Knsf.js.map create mode 100644 src/webview-ui/build/assets/chunk-D17OF-Vu.js create mode 100644 src/webview-ui/build/assets/chunk-D17OF-Vu.js.map create mode 100644 src/webview-ui/build/assets/chunk-D1K3uGbs.js create mode 100644 src/webview-ui/build/assets/chunk-D1K3uGbs.js.map create mode 100644 src/webview-ui/build/assets/chunk-D1_LrSGp.js create mode 100644 src/webview-ui/build/assets/chunk-D1_LrSGp.js.map create mode 100644 src/webview-ui/build/assets/chunk-D1j8_8rp.js create mode 100644 src/webview-ui/build/assets/chunk-D1j8_8rp.js.map create mode 100644 src/webview-ui/build/assets/chunk-D22FLkUw.js create mode 100644 src/webview-ui/build/assets/chunk-D22FLkUw.js.map create mode 100644 src/webview-ui/build/assets/chunk-D2CYqzqI.js create mode 100644 src/webview-ui/build/assets/chunk-D2CYqzqI.js.map create mode 100644 src/webview-ui/build/assets/chunk-D32k8WzR.js create mode 100644 src/webview-ui/build/assets/chunk-D32k8WzR.js.map create mode 100644 src/webview-ui/build/assets/chunk-D3lLCCz7.js create mode 100644 src/webview-ui/build/assets/chunk-D3lLCCz7.js.map create mode 100644 src/webview-ui/build/assets/chunk-D4h5O-jR.js create mode 100644 src/webview-ui/build/assets/chunk-D4h5O-jR.js.map create mode 100644 src/webview-ui/build/assets/chunk-D5-asLiD.js create mode 100644 src/webview-ui/build/assets/chunk-D5-asLiD.js.map create mode 100644 src/webview-ui/build/assets/chunk-D5KoaKCx.js create mode 100644 src/webview-ui/build/assets/chunk-D5KoaKCx.js.map create mode 100644 src/webview-ui/build/assets/chunk-D7o27uSR.js create mode 100644 src/webview-ui/build/assets/chunk-D7o27uSR.js.map create mode 100644 src/webview-ui/build/assets/chunk-D7oLnXFd.js create mode 100644 src/webview-ui/build/assets/chunk-D7oLnXFd.js.map create mode 100644 src/webview-ui/build/assets/chunk-D82EKSYY.js create mode 100644 src/webview-ui/build/assets/chunk-D82EKSYY.js.map create mode 100644 src/webview-ui/build/assets/chunk-D93ZcfNL.js create mode 100644 src/webview-ui/build/assets/chunk-D93ZcfNL.js.map create mode 100644 src/webview-ui/build/assets/chunk-D97Zzqfu.js create mode 100644 src/webview-ui/build/assets/chunk-D97Zzqfu.js.map create mode 100644 src/webview-ui/build/assets/chunk-D9kx8fwg.js create mode 100644 src/webview-ui/build/assets/chunk-D9kx8fwg.js.map create mode 100644 src/webview-ui/build/assets/chunk-DAi9KRSo.js create mode 100644 src/webview-ui/build/assets/chunk-DAi9KRSo.js.map create mode 100644 src/webview-ui/build/assets/chunk-DEd0xgAf.js create mode 100644 src/webview-ui/build/assets/chunk-DEd0xgAf.js.map create mode 100644 src/webview-ui/build/assets/chunk-DFQXde-d.js create mode 100644 src/webview-ui/build/assets/chunk-DFQXde-d.js.map create mode 100644 src/webview-ui/build/assets/chunk-DFR6f4Jn.js create mode 100644 src/webview-ui/build/assets/chunk-DFR6f4Jn.js.map create mode 100644 src/webview-ui/build/assets/chunk-DFXneXwc.js create mode 100644 src/webview-ui/build/assets/chunk-DFXneXwc.js.map create mode 100644 src/webview-ui/build/assets/chunk-DGztddWO.js create mode 100644 src/webview-ui/build/assets/chunk-DGztddWO.js.map create mode 100644 src/webview-ui/build/assets/chunk-DH5Ifo-i.js create mode 100644 src/webview-ui/build/assets/chunk-DH5Ifo-i.js.map create mode 100644 src/webview-ui/build/assets/chunk-DHCkPAjA.js create mode 100644 src/webview-ui/build/assets/chunk-DHCkPAjA.js.map create mode 100644 src/webview-ui/build/assets/chunk-DHJKELXO.js create mode 100644 src/webview-ui/build/assets/chunk-DHJKELXO.js.map create mode 100644 src/webview-ui/build/assets/chunk-DIHx2sdZ.js create mode 100644 src/webview-ui/build/assets/chunk-DIHx2sdZ.js.map create mode 100644 src/webview-ui/build/assets/chunk-DMzUqQB5.js create mode 100644 src/webview-ui/build/assets/chunk-DMzUqQB5.js.map create mode 100644 src/webview-ui/build/assets/chunk-DNNlxIVo.js create mode 100644 src/webview-ui/build/assets/chunk-DNNlxIVo.js.map create mode 100644 src/webview-ui/build/assets/chunk-DO0LZyKx.js create mode 100644 src/webview-ui/build/assets/chunk-DO0LZyKx.js.map create mode 100644 src/webview-ui/build/assets/chunk-DP8w0yq8.js create mode 100644 src/webview-ui/build/assets/chunk-DP8w0yq8.js.map create mode 100644 src/webview-ui/build/assets/chunk-DPfMkruS.js create mode 100644 src/webview-ui/build/assets/chunk-DPfMkruS.js.map create mode 100644 src/webview-ui/build/assets/chunk-DQ46CBc_.js create mode 100644 src/webview-ui/build/assets/chunk-DQ46CBc_.js.map create mode 100644 src/webview-ui/build/assets/chunk-DRBVVfo7.js create mode 100644 src/webview-ui/build/assets/chunk-DRBVVfo7.js.map create mode 100644 src/webview-ui/build/assets/chunk-DRg8JJMk.js create mode 100644 src/webview-ui/build/assets/chunk-DRg8JJMk.js.map create mode 100644 src/webview-ui/build/assets/chunk-DSnTR2wu.js create mode 100644 src/webview-ui/build/assets/chunk-DSnTR2wu.js.map create mode 100644 src/webview-ui/build/assets/chunk-DU1UobuO.js create mode 100644 src/webview-ui/build/assets/chunk-DU1UobuO.js.map create mode 100644 src/webview-ui/build/assets/chunk-DUszq2jm.js create mode 100644 src/webview-ui/build/assets/chunk-DUszq2jm.js.map create mode 100644 src/webview-ui/build/assets/chunk-DVFEvuxE.js create mode 100644 src/webview-ui/build/assets/chunk-DVFEvuxE.js.map create mode 100644 src/webview-ui/build/assets/chunk-DVMEJ2y_.js create mode 100644 src/webview-ui/build/assets/chunk-DVMEJ2y_.js.map create mode 100644 src/webview-ui/build/assets/chunk-DVxCFoDh.js create mode 100644 src/webview-ui/build/assets/chunk-DVxCFoDh.js.map create mode 100644 src/webview-ui/build/assets/chunk-DWedfzmr.js create mode 100644 src/webview-ui/build/assets/chunk-DWedfzmr.js.map create mode 100644 src/webview-ui/build/assets/chunk-DWkon8Hs.js create mode 100644 src/webview-ui/build/assets/chunk-DWkon8Hs.js.map create mode 100644 src/webview-ui/build/assets/chunk-DXETW7eA.js create mode 100644 src/webview-ui/build/assets/chunk-DXETW7eA.js.map create mode 100644 src/webview-ui/build/assets/chunk-DXHVBXt-.js create mode 100644 src/webview-ui/build/assets/chunk-DXHVBXt-.js.map create mode 100644 src/webview-ui/build/assets/chunk-DXbdFlpD.js create mode 100644 src/webview-ui/build/assets/chunk-DXbdFlpD.js.map create mode 100644 src/webview-ui/build/assets/chunk-DXmwc3jG.js create mode 100644 src/webview-ui/build/assets/chunk-DXmwc3jG.js.map create mode 100644 src/webview-ui/build/assets/chunk-DXvB9xmW.js create mode 100644 src/webview-ui/build/assets/chunk-DXvB9xmW.js.map create mode 100644 src/webview-ui/build/assets/chunk-D_Q5rh1f.js create mode 100644 src/webview-ui/build/assets/chunk-D_Q5rh1f.js.map create mode 100644 src/webview-ui/build/assets/chunk-Da5cRb03.js create mode 100644 src/webview-ui/build/assets/chunk-Da5cRb03.js.map create mode 100644 src/webview-ui/build/assets/chunk-DbjXokdF.js create mode 100644 src/webview-ui/build/assets/chunk-DbjXokdF.js.map create mode 100644 src/webview-ui/build/assets/chunk-DcaNXYhu.js create mode 100644 src/webview-ui/build/assets/chunk-DcaNXYhu.js.map create mode 100644 src/webview-ui/build/assets/chunk-Dcsh5twl.js create mode 100644 src/webview-ui/build/assets/chunk-Dcsh5twl.js.map create mode 100644 src/webview-ui/build/assets/chunk-Dd19v3D-.js create mode 100644 src/webview-ui/build/assets/chunk-Dd19v3D-.js.map create mode 100644 src/webview-ui/build/assets/chunk-DdkO51Og.js create mode 100644 src/webview-ui/build/assets/chunk-DdkO51Og.js.map create mode 100644 src/webview-ui/build/assets/chunk-Ddv68eIx.js create mode 100644 src/webview-ui/build/assets/chunk-Ddv68eIx.js.map create mode 100644 src/webview-ui/build/assets/chunk-Des-eS-w.js create mode 100644 src/webview-ui/build/assets/chunk-Des-eS-w.js.map create mode 100644 src/webview-ui/build/assets/chunk-Df68jz8_.js create mode 100644 src/webview-ui/build/assets/chunk-Df68jz8_.js.map create mode 100644 src/webview-ui/build/assets/chunk-Df6bDoY_.js create mode 100644 src/webview-ui/build/assets/chunk-Df6bDoY_.js.map create mode 100644 src/webview-ui/build/assets/chunk-DfEE3Bzs.js create mode 100644 src/webview-ui/build/assets/chunk-DfEE3Bzs.js.map create mode 100644 src/webview-ui/build/assets/chunk-DjjNbUIW.js create mode 100644 src/webview-ui/build/assets/chunk-DjjNbUIW.js.map create mode 100644 src/webview-ui/build/assets/chunk-DkwncUOv.js create mode 100644 src/webview-ui/build/assets/chunk-DkwncUOv.js.map create mode 100644 src/webview-ui/build/assets/chunk-DlfHMoPT.js create mode 100644 src/webview-ui/build/assets/chunk-DlfHMoPT.js.map create mode 100644 src/webview-ui/build/assets/chunk-DljmTZ5-.js create mode 100644 src/webview-ui/build/assets/chunk-DljmTZ5-.js.map create mode 100644 src/webview-ui/build/assets/chunk-DnULxvSX.js create mode 100644 src/webview-ui/build/assets/chunk-DnULxvSX.js.map create mode 100644 src/webview-ui/build/assets/chunk-DouSy6O5.js create mode 100644 src/webview-ui/build/assets/chunk-DouSy6O5.js.map create mode 100644 src/webview-ui/build/assets/chunk-DpOm0zC4.js create mode 100644 src/webview-ui/build/assets/chunk-DpOm0zC4.js.map create mode 100644 src/webview-ui/build/assets/chunk-Dpen1YoG.js create mode 100644 src/webview-ui/build/assets/chunk-Dpen1YoG.js.map create mode 100644 src/webview-ui/build/assets/chunk-DqwNpetd.js create mode 100644 src/webview-ui/build/assets/chunk-DqwNpetd.js.map create mode 100644 src/webview-ui/build/assets/chunk-DsOJ9woJ.js create mode 100644 src/webview-ui/build/assets/chunk-DsOJ9woJ.js.map create mode 100644 src/webview-ui/build/assets/chunk-Du0Ki9n9.js create mode 100644 src/webview-ui/build/assets/chunk-Du0Ki9n9.js.map create mode 100644 src/webview-ui/build/assets/chunk-Dx-B1_4e.js create mode 100644 src/webview-ui/build/assets/chunk-Dx-B1_4e.js.map create mode 100644 src/webview-ui/build/assets/chunk-DyJlTyXw.js create mode 100644 src/webview-ui/build/assets/chunk-DyJlTyXw.js.map create mode 100644 src/webview-ui/build/assets/chunk-DyxjwDmM.js create mode 100644 src/webview-ui/build/assets/chunk-DyxjwDmM.js.map create mode 100644 src/webview-ui/build/assets/chunk-E3gJ1_iC.js create mode 100644 src/webview-ui/build/assets/chunk-E3gJ1_iC.js.map create mode 100644 src/webview-ui/build/assets/chunk-Hhtzho9R.js create mode 100644 src/webview-ui/build/assets/chunk-Hhtzho9R.js.map create mode 100644 src/webview-ui/build/assets/chunk-I3RK9BU8.js create mode 100644 src/webview-ui/build/assets/chunk-I3RK9BU8.js.map create mode 100644 src/webview-ui/build/assets/chunk-IeuSbFQv.js create mode 100644 src/webview-ui/build/assets/chunk-IeuSbFQv.js.map create mode 100644 src/webview-ui/build/assets/chunk-Jcf2cZT6.js create mode 100644 src/webview-ui/build/assets/chunk-Jcf2cZT6.js.map create mode 100644 src/webview-ui/build/assets/chunk-L9t79GZl.js create mode 100644 src/webview-ui/build/assets/chunk-L9t79GZl.js.map create mode 100644 src/webview-ui/build/assets/chunk-MzD3tlZU.js create mode 100644 src/webview-ui/build/assets/chunk-MzD3tlZU.js.map create mode 100644 src/webview-ui/build/assets/chunk-NleAzG8P.js create mode 100644 src/webview-ui/build/assets/chunk-NleAzG8P.js.map create mode 100644 src/webview-ui/build/assets/chunk-OpcvBqEo.js create mode 100644 src/webview-ui/build/assets/chunk-OpcvBqEo.js.map create mode 100644 src/webview-ui/build/assets/chunk-P80f7IUj.js create mode 100644 src/webview-ui/build/assets/chunk-P80f7IUj.js.map create mode 100644 src/webview-ui/build/assets/chunk-PEFJdsE-.js create mode 100644 src/webview-ui/build/assets/chunk-PEFJdsE-.js.map create mode 100644 src/webview-ui/build/assets/chunk-Pmp26Uib.js create mode 100644 src/webview-ui/build/assets/chunk-Pmp26Uib.js.map create mode 100644 src/webview-ui/build/assets/chunk-PoHY5YXO.js create mode 100644 src/webview-ui/build/assets/chunk-PoHY5YXO.js.map create mode 100644 src/webview-ui/build/assets/chunk-QIJgUcNo.js create mode 100644 src/webview-ui/build/assets/chunk-QIJgUcNo.js.map create mode 100644 src/webview-ui/build/assets/chunk-QX45V2Sx.js create mode 100644 src/webview-ui/build/assets/chunk-QX45V2Sx.js.map create mode 100644 src/webview-ui/build/assets/chunk-RrBGtqGR.js create mode 100644 src/webview-ui/build/assets/chunk-RrBGtqGR.js.map create mode 100644 src/webview-ui/build/assets/chunk-T7J2jLj3.js create mode 100644 src/webview-ui/build/assets/chunk-T7J2jLj3.js.map create mode 100644 src/webview-ui/build/assets/chunk-Yzrsuije.js create mode 100644 src/webview-ui/build/assets/chunk-Yzrsuije.js.map create mode 100644 src/webview-ui/build/assets/chunk-_ykCGR6B.js create mode 100644 src/webview-ui/build/assets/chunk-_ykCGR6B.js.map create mode 100644 src/webview-ui/build/assets/chunk-bCR0ucgS.js create mode 100644 src/webview-ui/build/assets/chunk-bCR0ucgS.js.map create mode 100644 src/webview-ui/build/assets/chunk-bN70gL4F.js create mode 100644 src/webview-ui/build/assets/chunk-bN70gL4F.js.map create mode 100644 src/webview-ui/build/assets/chunk-brDaU2vB.js create mode 100644 src/webview-ui/build/assets/chunk-brDaU2vB.js.map create mode 100644 src/webview-ui/build/assets/chunk-c1G5yEKj.js create mode 100644 src/webview-ui/build/assets/chunk-c1G5yEKj.js.map create mode 100644 src/webview-ui/build/assets/chunk-dwOrl1Do.js create mode 100644 src/webview-ui/build/assets/chunk-dwOrl1Do.js.map create mode 100644 src/webview-ui/build/assets/chunk-fuZLfV_i.js create mode 100644 src/webview-ui/build/assets/chunk-fuZLfV_i.js.map create mode 100644 src/webview-ui/build/assets/chunk-fve9TYiY.js create mode 100644 src/webview-ui/build/assets/chunk-fve9TYiY.js.map create mode 100644 src/webview-ui/build/assets/chunk-g9-lgVsj.js create mode 100644 src/webview-ui/build/assets/chunk-g9-lgVsj.js.map create mode 100644 src/webview-ui/build/assets/chunk-gcz8RCvz.js create mode 100644 src/webview-ui/build/assets/chunk-gcz8RCvz.js.map create mode 100644 src/webview-ui/build/assets/chunk-hegEt444.js create mode 100644 src/webview-ui/build/assets/chunk-hegEt444.js.map create mode 100644 src/webview-ui/build/assets/chunk-irsrSlf-.js create mode 100644 src/webview-ui/build/assets/chunk-irsrSlf-.js.map create mode 100644 src/webview-ui/build/assets/chunk-jQY0bNUL.js create mode 100644 src/webview-ui/build/assets/chunk-jQY0bNUL.js.map create mode 100644 src/webview-ui/build/assets/chunk-lXgVvXCa.js create mode 100644 src/webview-ui/build/assets/chunk-lXgVvXCa.js.map create mode 100644 src/webview-ui/build/assets/chunk-leinZj1a.js create mode 100644 src/webview-ui/build/assets/chunk-leinZj1a.js.map create mode 100644 src/webview-ui/build/assets/chunk-pO14Kfwb.js create mode 100644 src/webview-ui/build/assets/chunk-pO14Kfwb.js.map create mode 100644 src/webview-ui/build/assets/chunk-q-j0iyEw.js create mode 100644 src/webview-ui/build/assets/chunk-q-j0iyEw.js.map create mode 100644 src/webview-ui/build/assets/chunk-sVvOI5da.js create mode 100644 src/webview-ui/build/assets/chunk-sVvOI5da.js.map create mode 100644 src/webview-ui/build/assets/chunk-sYKpKAhk.js create mode 100644 src/webview-ui/build/assets/chunk-sYKpKAhk.js.map create mode 100644 src/webview-ui/build/assets/chunk-vGWfd6FD.js create mode 100644 src/webview-ui/build/assets/chunk-vGWfd6FD.js.map create mode 100644 src/webview-ui/build/assets/chunk-vbB5lEOJ.js create mode 100644 src/webview-ui/build/assets/chunk-vbB5lEOJ.js.map create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size3-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size3-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.ttf create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.woff create mode 100644 src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.woff2 create mode 100644 src/webview-ui/build/assets/fonts/codicon.ttf create mode 100644 src/webview-ui/build/assets/index.css create mode 100644 src/webview-ui/build/assets/index.js create mode 100644 src/webview-ui/build/assets/index.js.map create mode 100644 src/webview-ui/build/assets/mermaid-bundle.js create mode 100644 src/webview-ui/build/assets/mermaid-bundle.js.map create mode 100644 src/webview-ui/build/index.html create mode 100644 src/webview-ui/build/sourcemap-manifest.json diff --git a/src/.gitignore b/src/.gitignore index cdbce7731c..d997ab8476 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1,5 +1,7 @@ README.md CHANGELOG.md LICENSE -webview-ui +# Ignore webview-ui source files but keep the build output +webview-ui/* +!webview-ui/build/ assets/vscode-material-icons diff --git a/src/webview-ui/build/.gitkeep b/src/webview-ui/build/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/webview-ui/build/assets/chunk--Ycre7K_.js b/src/webview-ui/build/assets/chunk--Ycre7K_.js new file mode 100644 index 0000000000..d89ef9430c --- /dev/null +++ b/src/webview-ui/build/assets/chunk--Ycre7K_.js @@ -0,0 +1,9 @@ +import e from "./chunk-RrBGtqGR.js" +const a = Object.freeze( + JSON.parse( + '{"displayName":"F#","name":"fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"begin":"\\\\b(static\\\\s+)?(abstract)\\\\s+(member)?(\\\\s+\\\\[<.*>])?\\\\s*([,.0-9_`[:alpha:]\\\\s]+)(<)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(with)\\\\b|=|$","endCaptures":{"1":{"name":"keyword.fsharp"}},"name":"abstract.definition.fsharp","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)((?!with\\\\b)\\\\b([ \'.0-9^_`\\\\w]+))?"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"(?!with|get|set\\\\b)\\\\s*([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},"anonymous_functions":{"patterns":[{"begin":"\\\\b(fun)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"(->)","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"name":"function.anonymous","patterns":[{"include":"#comments"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(->))","endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#variables"}]}]},"anonymous_record_declaration":{"begin":"(\\\\{\\\\|)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\|})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"match":"[ \'0-9^_`[:alpha:]]+(:)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]},"attributes":{"patterns":[{"begin":"\\\\[<","end":">?]","name":"support.function.attribute.fsharp","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"captures":{"0":{"name":"keyword.fsharp"}},"match":"\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\s*\\\\{)","name":"cexpr.fsharp"}]},"chars":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"}},"match":"(\'\\\\\\\\?.\')","name":"char.fsharp"}]},"comments":{"patterns":[{"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"match":"(\\\\(\\\\*{3}.*\\\\*{3}\\\\))","name":"comment.literate.command.fsharp"},{"begin":"^\\\\s*(\\\\(\\\\*\\\\*(?!\\\\)))((?!\\\\*\\\\)).)*$","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.markdown.fsharp","patterns":[{"include":"text.html.markdown"}],"while":"^(?!\\\\s*(\\\\*)+\\\\)\\\\s*$)"},{"begin":"(\\\\(\\\\*(?!\\\\)))","beginCaptures":{"1":{"name":"comment.block.fsharp"}},"end":"(\\\\*+\\\\))","endCaptures":{"1":{"name":"comment.block.fsharp"}},"name":"comment.block.fsharp","patterns":[{"comments":"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155","match":"//","name":"fast-capture.comment.line.double-slash.fsharp"},{"comments":"Capture (*) when inside of (* *) so that it doesn\'t prematurely end the comment block.","match":"\\\\(\\\\*\\\\)","name":"fast-capture.comment.line.mul-operator.fsharp"},{"include":"#comments"}]},{"captures":{"1":{"name":"comment.block.fsharp"}},"match":"((?)\\\\s*(\\\\()?\\\\s*([ \'.0-9?^_`[:alpha:]]+)*"},{"begin":"(\\\\*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\)\\\\s*(([ \'.0-9?^_`[:alpha:]]+))*)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(\\\\*)(\\\\s*([ \'.0-9?^_`[:alpha:]]+))*","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"end":"(?==)|(?=\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#tuple_signature"}]},{"begin":"(<+(?!\\\\s*\\\\)))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"beginComment":"The group (?![[:space:]]*\\\\) is for protection against overload operator. static member (<)","end":"((?|\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endComment":"The group (? when using SRTP synthax","patterns":[{"include":"#generic_declaration"}]},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(})","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#record_signature"}]},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\\\s*(->)\\\\s*([ \'.0-9^_`[:alpha:]]+)(<)","beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"match":"\\\\s*(->)\\\\s*(?!with|get|set\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"include":"#anonymous_record_declaration"},{"begin":"(\\\\??)([ \'.0-9^_`[:alpha:]]+)\\\\s*(:)(\\\\s*([ \'.0-9?^_`[:alpha:]]+)(<))","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"([ \'.0-9^_`[:alpha:]]+)"},{"include":"#keywords"}]}]},"compiler_directives":{"patterns":[{"captures":{},"match":"\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn))","name":"keyword.control.directive.fsharp"}]},"constants":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"match":"\\\\b-?[0-9][0-9_]*((\\\\.(?!\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))","name":"constant.numeric.float.fsharp"},{"match":"\\\\b(-?((0([Xx])\\\\h[_\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))","name":"constant.numeric.integer.nativeint.fsharp"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.fsharp"},{"match":"\\\\b(null|void)\\\\b","name":"constant.other.fsharp"}]},"definition":{"patterns":[{"begin":"\\\\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\s*((with)\\\\b|(=|\\\\n+=|(?<==)))","endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(use!??|and!??)\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"\\\\s*(=)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"(?<=with|and)\\\\s*\\\\b(([gs]et)\\\\s*(?=\\\\())(\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"4":{"name":"variable.fsharp"}},"end":"\\\\s*(=|\\\\n+=|(?<==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(static val mutable|val mutable|val inline|val)(\\\\s+rec|mutable)?(\\\\s+\\\\[<.*>])?\\\\s*(private|internal|public)?\\\\s+(\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\s]+|(?<=,)\\\\s)*)?","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"end":"\\\\n$","name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]},{"begin":"\\\\b(new)\\\\b\\\\s+(\\\\()","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"binding.fsharp","patterns":[{"include":"#common_binding_definition"}]}]},"double_tick":{"patterns":[{"captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}},"match":"(``)([^`]*)(``)","name":"variable.other.binding.fsharp"}]},"du_declaration":{"patterns":[{"begin":"\\\\b(of)\\\\b","beginCaptures":{"1":{"name":"keyword.fsharp"}},"end":"$|(\\\\|)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"du_declaration.fsharp","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}},"match":"([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(``([ \'.0-9^_[:alpha:]]+)``|[\'.0-9^_`[:alpha:]]+)"},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}]}]},"generic_declaration":{"patterns":[{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"match":"\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":":","name":"keyword.symbol.fsharp"},{"include":"#constants"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"begin":"(<)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(>)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])[\'.0-9_[:alpha:]]+)"},{"include":"#tuple_signature"},{"include":"#generic_declaration"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words are allowed","match":"(?!when|and|or\\\\b)\\\\b([\'.0-9^_`\\\\w]+)"},{"captures":{"1":{"name":"keyword.symbol.fsharp"}},"comments":"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`","match":"(\\\\|)"},{"include":"#keywords"}]},"keywords":{"patterns":[{"match":"\\\\b(private|public|internal)\\\\b","name":"storage.modifier"},{"match":"\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!\')\\\\b","name":"keyword.fsharp"},{"match":"\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!\')\\\\b","name":"keyword.control"},{"match":"(->|<-)","name":"keyword.symbol.arrow.fsharp"},{"match":"[.?]*(&&&|\\\\|\\\\|\\\\||\\\\^\\\\^\\\\^|~~~|~\\\\+|~-|<<<|>>>|\\\\|>|:>|:\\\\?>|[]:;\\\\[]|<>|[=@]|\\\\|\\\\||&&|[%\\\\&_{|}]|\\\\.\\\\.|[!*-\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*","name":"keyword.symbol.fsharp"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\\\s*(\\\\()\\\\s*((?:static |)member)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"comments":"SRTP syntax support","end":"(\\\\))\\\\s*((?=,)|(?==))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"include":"#variables"},{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"match":"([()])","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}},"match":"(\\\\??)([\'.0-9^_`[:alpha:]]+|``[ \',.0-:^_`[:alpha:]]+``)\\\\s*(:?)(\\\\s*([ \'.0-9<>?_`[:alpha:]]+))?"},{"include":"#keywords"}]},"modules":{"patterns":[{"begin":"\\\\b(?:(namespace global)|(namespace|module)\\\\s*(public|internal|private|rec)?\\\\s+([`|[:alpha:]][ \'.0-9_[:alpha:]]*))","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s?=|\\\\s|$)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"name":"entity.name.section.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]},{"begin":"\\\\b(open(?: type|))\\\\s+([`|[:alpha:]][\'0-9_[:alpha:]]*)(?=(\\\\.[A-Z][0-9_[:alpha:]]*)*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.open.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)(\\\\p{alpha}[\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"},{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([A-Z][\'0-9_[:alpha:]]*)\\\\s*(=)\\\\s*([A-Z][\'0-9_[:alpha:]]*)","beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"end":"(\\\\s|$)","name":"namespace.alias.fsharp","patterns":[{"captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}},"match":"(\\\\.)([A-Z][\'0-9_[:alpha:]]*)","name":"entity.name.section.fsharp"}]}]},"record_declaration":{"patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(?<=})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\\\s\\\\p{alpha}+)|[\'.0-9<>^_`[:alpha:]]*)\\\\s*((?)","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([\'^])``[ ,.0-:^_`[:alpha:]]+``|([\'^])[.0-:^_`[:alpha:]]+)"},{"match":"\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"keyword.fsharp"}},"match":"(static member|member|new)"},{"include":"#common_binding_definition"}]},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"comments":"Here we need the \\\\w modifier in order to check that the words isn\'t blacklisted","match":"([\'.0-9^_`\\\\w]+)"},{"include":"#keywords"}]},{"captures":{"1":{"name":"storage.modifier.fsharp"}},"match":"\\\\s*(private|internal|public)"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"\\\\s*(?=(=)|[\\\\n=]|(\\\\(\\\\))|(as))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#member_declaration"}]},{"include":"#keywords"}]}]},"string_formatter":{"patterns":[{"captures":{"1":{"name":"keyword.format.specifier.fsharp"}},"match":"(%0?-?(\\\\d+)?(([at])|(\\\\.\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\+?A)))","name":"entity.name.type.format.specifier.fsharp"}]},"strings":{"patterns":[{"begin":"(?=[^\\\\\\\\])(@\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")(?!\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.literal.fsharp","patterns":[{"match":"\\"(\\")","name":"constant.character.string.escape.fsharp"}]},{"begin":"(?=[^\\\\\\\\])(\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.triple.fsharp","patterns":[{"include":"#string_formatter"}]},{"begin":"(?=[^\\\\\\\\])(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}},"name":"string.quoted.double.fsharp","patterns":[{"match":"\\\\\\\\$[\\\\t ]*","name":"punctuation.separator.string.ignore-eol.fsharp"},{"match":"\\\\\\\\([\\"\'\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\h{2})|(u\\\\h{4})|(U00(0\\\\h|10)\\\\h{4}))","name":"constant.character.string.escape.fsharp"},{"match":"\\\\\\\\(([0-9]{1,3})|(x\\\\S{0,2})|(u\\\\S{0,4})|(U\\\\S{0,8})|\\\\S)","name":"invalid.illegal.character.string.fsharp"},{"include":"#string_formatter"}]}]},"strp_inlined":{"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(\\\\^[\'.0-9_[:alpha:]]+)"},{"match":"\\\\b(and|when|or)\\\\b","name":"keyword.fsharp"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"include":"#strp_inlined_body"}]},{"captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"match":"((?:static |)member)\\\\s*([\'.0-9<>^_`[:alpha:]]+|``[ \'.0-9<>^_[:alpha:]]+``)\\\\s*(:)"},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"match":"\\\\\\\\","name":"text.fsharp"}]},"tuple_signature":{"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.fsharp"}},"match":"(([ \'.0-9?^_`[:alpha:]]+))+"},{"include":"#tuple_signature"}]},{"include":"#keywords"}]},"variables":{"patterns":[{"match":"\\\\(\\\\)","name":"keyword.symbol.fsharp"},{"captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}},"match":"(\\\\??)(``[ \',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\b)\\\\b[ \'.0-9<>^_`\\\\w[:alpha:]]+)"}]}},"scopeName":"source.fsharp","embeddedLangs":["markdown"],"aliases":["f#","fs"]}', + ), + ), + t = [...e, a] +export { t as default } +//# sourceMappingURL=chunk--Ycre7K_.js.map diff --git a/src/webview-ui/build/assets/chunk--Ycre7K_.js.map b/src/webview-ui/build/assets/chunk--Ycre7K_.js.map new file mode 100644 index 0000000000..3edf2eef53 --- /dev/null +++ b/src/webview-ui/build/assets/chunk--Ycre7K_.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk--Ycre7K_.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/fsharp.mjs" + ], + "sourcesContent": [ + "import markdown from './markdown.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"F#\\\",\\\"name\\\":\\\"fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#compiler_directives\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#chars\\\"},{\\\"include\\\":\\\"#double_tick\\\"},{\\\"include\\\":\\\"#definition\\\"},{\\\"include\\\":\\\"#abstract_definition\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#modules\\\"},{\\\"include\\\":\\\"#anonymous_functions\\\"},{\\\"include\\\":\\\"#du_declaration\\\"},{\\\"include\\\":\\\"#record_declaration\\\"},{\\\"include\\\":\\\"#records\\\"},{\\\"include\\\":\\\"#strp_inlined\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#cexprs\\\"},{\\\"include\\\":\\\"#text\\\"}],\\\"repository\\\":{\\\"abstract_definition\\\":{\\\"begin\\\":\\\"\\\\\\\\b(static\\\\\\\\s+)?(abstract)\\\\\\\\s+(member)?(\\\\\\\\s+\\\\\\\\[<.*>])?\\\\\\\\s*([,.0-9_`[:alpha:]\\\\\\\\s]+)(<)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.function.attribute.fsharp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(with)\\\\\\\\b|=|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"name\\\":\\\"abstract.definition.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#common_declaration\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\??)([ '.0-9^_`[:alpha:]]+)\\\\\\\\s*(:)((?!with\\\\\\\\b)\\\\\\\\b([ '.0-9^_`\\\\\\\\w]+))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"comments\\\":\\\"Here we need the \\\\\\\\w modifier in order to check that the words isn't blacklisted\\\",\\\"match\\\":\\\"(?!with|get|set\\\\\\\\b)\\\\\\\\s*(['.0-9^_`\\\\\\\\w]+)\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"anonymous_functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(fun)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"end\\\":\\\"(->)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.arrow.fsharp\\\"}},\\\"name\\\":\\\"function.anonymous\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=(->))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.arrow.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#member_declaration\\\"}]},{\\\"include\\\":\\\"#variables\\\"}]}]},\\\"anonymous_record_declaration\\\":{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\|)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\|})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"match\\\":\\\"[ '0-9^_`[:alpha:]]+(:)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"([ '0-9^_`[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#anonymous_record_declaration\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"attributes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[<\\\",\\\"end\\\":\\\">?]\\\",\\\"name\\\":\\\"support.function.attribute.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"cexprs\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"match\\\":\\\"\\\\\\\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"cexpr.fsharp\\\"}]},\\\"chars\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.fsharp\\\"}},\\\"match\\\":\\\"('\\\\\\\\\\\\\\\\?.')\\\",\\\"name\\\":\\\"char.fsharp\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\(\\\\\\\\*{3}.*\\\\\\\\*{3}\\\\\\\\))\\\",\\\"name\\\":\\\"comment.literate.command.fsharp\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(\\\\\\\\(\\\\\\\\*\\\\\\\\*(?!\\\\\\\\)))((?!\\\\\\\\*\\\\\\\\)).)*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.fsharp\\\"}},\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.fsharp\\\"}},\\\"name\\\":\\\"comment.block.markdown.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*(\\\\\\\\*)+\\\\\\\\)\\\\\\\\s*$)\\\"},{\\\"begin\\\":\\\"(\\\\\\\\(\\\\\\\\*(?!\\\\\\\\)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\*+\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.fsharp\\\"}},\\\"name\\\":\\\"comment.block.fsharp\\\",\\\"patterns\\\":[{\\\"comments\\\":\\\"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155\\\",\\\"match\\\":\\\"//\\\",\\\"name\\\":\\\"fast-capture.comment.line.double-slash.fsharp\\\"},{\\\"comments\\\":\\\"Capture (*) when inside of (* *) so that it doesn't prematurely end the comment block.\\\",\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"fast-capture.comment.line.mul-operator.fsharp\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.fsharp\\\"}},\\\"match\\\":\\\"((?)\\\\\\\\s*(\\\\\\\\()?\\\\\\\\s*([ '.0-9?^_`[:alpha:]]+)*\\\"},{\\\"begin\\\":\\\"(\\\\\\\\*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)\\\\\\\\s*(([ '.0-9?^_`[:alpha:]]+))*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tuple_signature\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\*)(\\\\\\\\s*([ '.0-9?^_`[:alpha:]]+))*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"end\\\":\\\"(?==)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tuple_signature\\\"}]},{\\\"begin\\\":\\\"(<+(?!\\\\\\\\s*\\\\\\\\)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"beginComment\\\":\\\"The group (?![[:space:]]*\\\\\\\\) is for protection against overload operator. static member (<)\\\",\\\"end\\\":\\\"((?|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"endComment\\\":\\\"The group (? when using SRTP synthax\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#generic_declaration\\\"}]},{\\\"include\\\":\\\"#anonymous_record_declaration\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#record_signature\\\"}]},{\\\"include\\\":\\\"#definition\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"common_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(->)\\\\\\\\s*([ '.0-9^_`[:alpha:]]+)(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.arrow.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"([ '.0-9^_`[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.arrow.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(->)\\\\\\\\s*(?!with|get|set\\\\\\\\b)\\\\\\\\b(['.0-9^_`\\\\\\\\w]+)\\\"},{\\\"include\\\":\\\"#anonymous_record_declaration\\\"},{\\\"begin\\\":\\\"(\\\\\\\\??)([ '.0-9^_`[:alpha:]]+)\\\\\\\\s*(:)(\\\\\\\\s*([ '.0-9?^_`[:alpha:]]+)(<))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"([ '.0-9^_`[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#keywords\\\"}]}]},\\\"compiler_directives\\\":{\\\"patterns\\\":[{\\\"captures\\\":{},\\\"match\\\":\\\"\\\\\\\\s?(#(?:if|elif|elseif|else|endif|light|nowarn))\\\",\\\"name\\\":\\\"keyword.control.directive.fsharp\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\b-?[0-9][0-9_]*((\\\\\\\\.(?!\\\\\\\\.)([0-9][0-9_]*([Ee][-+]??[0-9][0-9_]*)?)?)|([Ee][-+]??[0-9][0-9_]*))\\\",\\\"name\\\":\\\"constant.numeric.float.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(-?((0([Xx])\\\\\\\\h[_\\\\\\\\h]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))\\\",\\\"name\\\":\\\"constant.numeric.integer.nativeint.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(null|void)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.fsharp\\\"}]},\\\"definition\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\\\\\\\\s+rec|mutable)?(\\\\\\\\s+\\\\\\\\[<.*>])?\\\\\\\\s*(private|internal|public)?\\\\\\\\s+(\\\\\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\\\\\s]+|(?<=,)\\\\\\\\s)*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.attribute.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.fsharp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((with)\\\\\\\\b|(=|\\\\\\\\n+=|(?<==)))\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"name\\\":\\\"binding.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#common_binding_definition\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(use!??|and!??)\\\\\\\\s+(\\\\\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\\\\\s]+|(?<=,)\\\\\\\\s)*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"name\\\":\\\"binding.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#common_binding_definition\\\"}]},{\\\"begin\\\":\\\"(?<=with|and)\\\\\\\\s*\\\\\\\\b(([gs]et)\\\\\\\\s*(?=\\\\\\\\())(\\\\\\\\[[^-=]*]|[_[:alpha:]]([.0-9_[:alpha:]]+)*|``[_[:alpha:]]([.0-9_`[:alpha:]\\\\\\\\s]+|(?<=,)\\\\\\\\s)*)?\\\",\\\"beginCaptures\\\":{\\\"4\\\":{\\\"name\\\":\\\"variable.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(=|\\\\\\\\n+=|(?<==))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"name\\\":\\\"binding.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#common_binding_definition\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(static val mutable|val mutable|val inline|val)(\\\\\\\\s+rec|mutable)?(\\\\\\\\s+\\\\\\\\[<.*>])?\\\\\\\\s*(private|internal|public)?\\\\\\\\s+(\\\\\\\\[[^-=]*]|[_[:alpha:]]([,.0-9_[:alpha:]]+)*|``[_[:alpha:]]([,.0-9_`[:alpha:]\\\\\\\\s]+|(?<=,)\\\\\\\\s)*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.attribute.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.fsharp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\n$\\\",\\\"name\\\":\\\"binding.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#common_binding_definition\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(new)\\\\\\\\b\\\\\\\\s+(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"name\\\":\\\"binding.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#common_binding_definition\\\"}]}]},\\\"double_tick\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.binding.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.single.fsharp\\\"}},\\\"match\\\":\\\"(``)([^`]*)(``)\\\",\\\"name\\\":\\\"variable.other.binding.fsharp\\\"}]},\\\"du_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(of)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"end\\\":\\\"$|(\\\\\\\\|)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"name\\\":\\\"du_declaration.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(['.0-9<>^_`[:alpha:]]+|``[ '.0-9<>^_[:alpha:]]+``)\\\\\\\\s*(:)\\\\\\\\s*(['.0-9<>^_`[:alpha:]]+|``[ '.0-9<>^_[:alpha:]]+``)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(``([ '.0-9^_[:alpha:]]+)``|['.0-9^_`[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#anonymous_record_declaration\\\"},{\\\"include\\\":\\\"#keywords\\\"}]}]},\\\"generic_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*((?:static |)member)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"comments\\\":\\\"SRTP syntax support\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#member_declaration\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"((['^])['.0-9_[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.fsharp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"((['^])['.0-9_[:alpha:]]+)\\\"},{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"((['^])['.0-9_[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#tuple_signature\\\"},{\\\"include\\\":\\\"#generic_declaration\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(([ '.0-9?^_`[:alpha:]]+))+\\\"},{\\\"include\\\":\\\"#tuple_signature\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"comments\\\":\\\"Here we need the \\\\\\\\w modifier in order to check that the words are allowed\\\",\\\"match\\\":\\\"(?!when|and|or\\\\\\\\b)\\\\\\\\b(['.0-9^_`\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"comments\\\":\\\"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`\\\",\\\"match\\\":\\\"(\\\\\\\\|)\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(private|public|internal)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier\\\"},{\\\"match\\\":\\\"\\\\\\\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!')\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control\\\"},{\\\"match\\\":\\\"(->|<-)\\\",\\\"name\\\":\\\"keyword.symbol.arrow.fsharp\\\"},{\\\"match\\\":\\\"[.?]*(&&&|\\\\\\\\|\\\\\\\\|\\\\\\\\||\\\\\\\\^\\\\\\\\^\\\\\\\\^|~~~|~\\\\\\\\+|~-|<<<|>>>|\\\\\\\\|>|:>|:\\\\\\\\?>|[]:;\\\\\\\\[]|<>|[=@]|\\\\\\\\|\\\\\\\\||&&|[%\\\\\\\\&_{|}]|\\\\\\\\.\\\\\\\\.|[!*-\\\\\\\\-/>^]|>=|>>|<=??|[()]|<<)[.?]*\\\",\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}]},\\\"member_declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#common_declaration\\\"},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*((?:static |)member)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"comments\\\":\\\"SRTP syntax support\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*((?=,)|(?==))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#member_declaration\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\^['.0-9_[:alpha:]]+)\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\^['.0-9_[:alpha:]]+)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|when|or)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.fsharp\\\"},{\\\"match\\\":\\\"([()])\\\",\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\??)(['.0-9^_`[:alpha:]]+|``[ ',.0-:^_`[:alpha:]]+``)\\\\\\\\s*(:?)(\\\\\\\\s*([ '.0-9<>?_`[:alpha:]]+))?\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"modules\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?:(namespace global)|(namespace|module)\\\\\\\\s*(public|internal|private|rec)?\\\\\\\\s+([`|[:alpha:]][ '.0-9_[:alpha:]]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.section.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\s?=|\\\\\\\\s|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"name\\\":\\\"entity.name.section.fsharp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace-reference.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)([A-Z]['0-9_[:alpha:]]*)\\\",\\\"name\\\":\\\"entity.name.section.fsharp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(open(?: type|))\\\\\\\\s+([`|[:alpha:]]['0-9_[:alpha:]]*)(?=(\\\\\\\\.[A-Z][0-9_[:alpha:]]*)*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\s|$)\\\",\\\"name\\\":\\\"namespace.open.fsharp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace-reference.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)(\\\\\\\\p{alpha}['0-9_[:alpha:]]*)\\\",\\\"name\\\":\\\"entity.name.section.fsharp\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(module)\\\\\\\\s+([A-Z]['0-9_[:alpha:]]*)\\\\\\\\s*(=)\\\\\\\\s*([A-Z]['0-9_[:alpha:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.namespace.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.section.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\s|$)\\\",\\\"name\\\":\\\"namespace.alias.fsharp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace-reference.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)([A-Z]['0-9_[:alpha:]]*)\\\",\\\"name\\\":\\\"entity.name.section.fsharp\\\"}]}]},\\\"record_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(((mutable)\\\\\\\\s\\\\\\\\p{alpha}+)|['.0-9<>^_`[:alpha:]]*)\\\\\\\\s*((?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"((['^])``[ ,.0-:^_`[:alpha:]]+``|(['^])[.0-:^_`[:alpha:]]+)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.fsharp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"}},\\\"match\\\":\\\"(static member|member|new)\\\"},{\\\"include\\\":\\\"#common_binding_definition\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"comments\\\":\\\"Here we need the \\\\\\\\w modifier in order to check that the words isn't blacklisted\\\",\\\"match\\\":\\\"(['.0-9^_`\\\\\\\\w]+)\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.fsharp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(private|internal|public)\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=(=)|[\\\\\\\\n=]|(\\\\\\\\(\\\\\\\\))|(as))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#member_declaration\\\"}]},{\\\"include\\\":\\\"#keywords\\\"}]}]},\\\"string_formatter\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.format.specifier.fsharp\\\"}},\\\"match\\\":\\\"(%0?-?(\\\\\\\\d+)?(([at])|(\\\\\\\\.\\\\\\\\d+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\\\\\\\\+?A)))\\\",\\\"name\\\":\\\"entity.name.type.format.specifier.fsharp\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^\\\\\\\\\\\\\\\\])(@\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\")(?!\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.fsharp\\\"}},\\\"name\\\":\\\"string.quoted.literal.fsharp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"(\\\\\\\")\\\",\\\"name\\\":\\\"constant.character.string.escape.fsharp\\\"}]},{\\\"begin\\\":\\\"(?=[^\\\\\\\\\\\\\\\\])(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.fsharp\\\"}},\\\"name\\\":\\\"string.quoted.triple.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_formatter\\\"}]},{\\\"begin\\\":\\\"(?=[^\\\\\\\\\\\\\\\\])(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.fsharp\\\"}},\\\"name\\\":\\\"string.quoted.double.fsharp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$[\\\\\\\\t ]*\\\",\\\"name\\\":\\\"punctuation.separator.string.ignore-eol.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'\\\\\\\\\\\\\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\\\\\\\\h{2})|(u\\\\\\\\h{4})|(U00(0\\\\\\\\h|10)\\\\\\\\h{4}))\\\",\\\"name\\\":\\\"constant.character.string.escape.fsharp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(([0-9]{1,3})|(x\\\\\\\\S{0,2})|(u\\\\\\\\S{0,4})|(U\\\\\\\\S{0,8})|\\\\\\\\S)\\\",\\\"name\\\":\\\"invalid.illegal.character.string.fsharp\\\"},{\\\"include\\\":\\\"#string_formatter\\\"}]}]},\\\"strp_inlined\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#strp_inlined_body\\\"}]}]},\\\"strp_inlined_body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#anonymous_functions\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\^['.0-9_[:alpha:]]+)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|when|or)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.fsharp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#strp_inlined_body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.fsharp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"match\\\":\\\"((?:static |)member)\\\\\\\\s*(['.0-9<>^_`[:alpha:]]+|``[ '.0-9<>^_[:alpha:]]+``)\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#compiler_directives\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#chars\\\"},{\\\"include\\\":\\\"#double_tick\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#text\\\"},{\\\"include\\\":\\\"#definition\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#cexprs\\\"},{\\\"include\\\":\\\"#text\\\"}]},\\\"text\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"text.fsharp\\\"}]},\\\"tuple_signature\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(([ '.0-9?^_`[:alpha:]]+))+\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.fsharp\\\"}},\\\"match\\\":\\\"(([ '.0-9?^_`[:alpha:]]+))+\\\"},{\\\"include\\\":\\\"#tuple_signature\\\"}]},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.symbol.fsharp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.fsharp\\\"}},\\\"match\\\":\\\"(\\\\\\\\??)(``[ ',.0-:^_`[:alpha:]]+``|(?!private|struct\\\\\\\\b)\\\\\\\\b[ '.0-9<>^_`\\\\\\\\w[:alpha:]]+)\\\"}]}},\\\"scopeName\\\":\\\"source.fsharp\\\",\\\"embeddedLangs\\\":[\\\"markdown\\\"],\\\"aliases\\\":[\\\"f#\\\",\\\"fs\\\"]}\"))\n\nexport default [\n...markdown,\nlang\n]\n" + ], + "names": [ + "lang", + "fsharp", + "markdown" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,kmxBAAu+2B,CAAC,EAE//2BC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-1DNp92w6.js b/src/webview-ui/build/assets/chunk-1DNp92w6.js new file mode 100644 index 0000000000..f42732022d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-1DNp92w6.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Mojo","name":"mojo","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated-parameter":{"begin":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.annotation.python"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"}]},"assignment-operator":{"match":"<<=|>>=|//=|\\\\*\\\\*=|\\\\+=|-=|/=|@=|\\\\*=|%=|~=|\\\\^=|&=|\\\\|=|=(?!=)","name":"keyword.operator.assignment.python"},"backticks":{"begin":"\`","end":"\`|(?))","name":"comment.typehint.punctuation.notation.python"},{"match":"([_[:alpha:]]\\\\w*)","name":"comment.typehint.variable.notation.python"}]},{"include":"#comments-base"}]},"comments-base":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"$()","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-double-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?=\\"\\"\\"))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-single-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?='''))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.python"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.python"}},"patterns":[{"match":":","name":"punctuation.separator.dict.python"},{"include":"#expression"}]},"decorator":{"begin":"^\\\\s*((@))\\\\s*(?=[_[:alpha:]]\\\\w*)","beginCaptures":{"1":{"name":"entity.name.function.decorator.python"},"2":{"name":"punctuation.definition.decorator.python"}},"end":"(\\\\))(.*?)(?=\\\\s*(?:#|$))|(?=[\\\\n#])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"invalid.illegal.decorator.python"}},"name":"meta.function.decorator.python","patterns":[{"include":"#decorator-name"},{"include":"#function-arguments"}]},"decorator-name":{"patterns":[{"include":"#builtin-callables"},{"include":"#illegal-object-name"},{"captures":{"2":{"name":"punctuation.separator.period.python"}},"match":"([_[:alpha:]]\\\\w*)|(\\\\.)","name":"entity.name.function.decorator.python"},{"include":"#line-continuation"},{"captures":{"1":{"name":"invalid.illegal.decorator.python"}},"match":"\\\\s*([^#(.\\\\\\\\_[:alpha:]\\\\s].*?)(?=#|$)","name":"invalid.illegal.decorator.python"}]},"double-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"ellipsis":{"match":"\\\\.\\\\.\\\\.","name":"constant.other.ellipsis.python"},"escape-sequence":{"match":"\\\\\\\\(x\\\\h{2}|[0-7]{1,3}|[\\"'\\\\\\\\abfnrtv])","name":"constant.character.escape.python"},"escape-sequence-unicode":{"patterns":[{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8}|N\\\\{[\\\\w\\\\s]+?})","name":"constant.character.escape.python"}]},"expression":{"patterns":[{"include":"#expression-base"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"expression-bare":{"patterns":[{"include":"#backticks"},{"include":"#literal"},{"include":"#regexp"},{"include":"#string"},{"include":"#lambda"},{"include":"#generator"},{"include":"#illegal-operator"},{"include":"#operator"},{"include":"#curly-braces"},{"include":"#item-access"},{"include":"#list"},{"include":"#odd-function-call"},{"include":"#round-braces"},{"include":"#function-call"},{"include":"#builtin-functions"},{"include":"#builtin-types"},{"include":"#builtin-exceptions"},{"include":"#magic-names"},{"include":"#special-names"},{"include":"#illegal-names"},{"include":"#special-variables"},{"include":"#ellipsis"},{"include":"#punctuation"},{"include":"#line-continuation"}]},"expression-base":{"patterns":[{"include":"#comments"},{"include":"#expression-bare"},{"include":"#line-continuation"}]},"f-expression":{"patterns":[{"include":"#expression-bare"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\\\{\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{"begin":"\\\\b([Ff])([BUbu])?('''|\\"\\"\\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{"begin":"\\\\b([Ff])([BUbu])?(([\\"']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},"end":"(\\\\3)|((?^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})","patterns":[{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"fstring-terminator-single":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})|(?=\\\\n)","patterns":[{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"function-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.function-call.arguments.python","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.python"},{"captures":{"1":{"name":"keyword.operator.unpacking.arguments.python"}},"match":"(?:(?<=[(,])|^)\\\\s*(\\\\*{1,2})"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function-call.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"include":"#expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"punctuation.definition.arguments.begin.python"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"}]},"function-call":{"begin":"\\\\b(?=([_[:alpha:]]\\\\w*)\\\\s*(\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#special-variables"},{"include":"#function-name"},{"include":"#function-arguments"}]},"function-declaration":{"begin":"\\\\s*(?:\\\\b(async)\\\\s+)?\\\\b(def|fn)\\\\s+(?=[_[:alpha:]]\\\\p{word}*\\\\s*[(\\\\[])","beginCaptures":{"1":{"name":"storage.type.function.async.python"},"2":{"name":"storage.type.function.python"}},"end":"(:|(?=[\\\\n\\"#']))","endCaptures":{"1":{"name":"punctuation.section.function.begin.python"}},"name":"meta.function.python","patterns":[{"include":"#function-modifier"},{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#meta_parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}]},"function-def-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"entity.name.function.python"}]},"function-modifier":{"match":"(raises|capturing)","name":"storage.modifier"},"function-name":{"patterns":[{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.function-call.generic.python"}]},"generator":{"begin":"\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control.flow.python"}},"end":"\\\\bin\\\\b","endCaptures":{"0":{"name":"keyword.control.flow.python"}},"patterns":[{"include":"#expression"}]},"illegal-names":{"captures":{"1":{"name":"keyword.control.flow.python"},"2":{"name":"storage.type.function.python"},"3":{"name":"keyword.control.import.python"}},"match":"\\\\b(?:(and|assert|async|await|break|class|struct|trait|continue|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\.)lambda|lambda(?=\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(def|fn|capturing|raises)|(as|import))\\\\b"},"illegal-object-name":{"match":"\\\\b(True|False|None)\\\\b","name":"keyword.illegal.name.python"},"illegal-operator":{"patterns":[{"match":"&&|\\\\|\\\\||--|\\\\+\\\\+","name":"invalid.illegal.operator.python"},{"match":"[$?]","name":"invalid.illegal.operator.python"},{"match":"!\\\\b","name":"invalid.illegal.operator.python"}]},"import":{"patterns":[{"begin":"\\\\b(?>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"parameter-special":{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"variable.parameter.function.language.special.self.python"},"3":{"name":"variable.parameter.function.language.special.cls.python"},"4":{"name":"punctuation.separator.parameters.python"}},"match":"\\\\b((self)|(cls))\\\\b\\\\s*(?:(,)|(?=\\\\)))"},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python"}},"name":"meta.function.parameters.python","patterns":[{"match":"\\\\b(owned|borrowed|inout)\\\\b","name":"storage.modifier"},{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#parameter-special"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))"},{"include":"#comments"},{"include":"#loose-default"},{"include":"#annotated-parameter"}]},"punctuation":{"patterns":[{"match":":","name":"punctuation.separator.colon.python"},{"match":",","name":"punctuation.separator.element.python"}]},"regexp":{"patterns":[{"include":"#regexp-single-three-line"},{"include":"#regexp-double-three-line"},{"include":"#regexp-single-one-line"},{"include":"#regexp-double-one-line"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\\\()(\\\\?P=\\\\w+(?:\\\\s+\\\\p{alnum}+)?)(\\\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\\\\\[1-9]\\\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\\\\\[\\\\\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-double-one-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\")|(?)","beginCaptures":{"1":{"name":"punctuation.separator.annotation.result.python"}},"end":"(?=:)","patterns":[{"include":"#expression"}]},"round-braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.python"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.python"}},"patterns":[{"include":"#expression"}]},"semicolon":{"patterns":[{"match":";$","name":"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?='))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?='))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"special-names":{"match":"\\\\b(_*\\\\p{upper}[_\\\\d]*\\\\p{upper})[[:upper:]\\\\d]*(_\\\\w*)?\\\\b","name":"constant.other.caps.python"},"special-variables":{"captures":{"1":{"name":"variable.language.special.self.python"},"2":{"name":"variable.language.special.cls.python"}},"match":"\\\\b(?^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.python"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"']+])*(![ars])?(:)[^\\\\n\\"'{}]*(?:\\\\{[^\\\\n\\"'}]*?}[^\\\\n\\"'{}]*)*})","name":"meta.format.brace.python"}]},"string-consume-escape":{"match":"\\\\\\\\[\\\\n\\"'\\\\\\\\]"},"string-entity":{"patterns":[{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#string-formatting"}]},"string-formatting":{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.python"},"string-line-continuation":{"match":"\\\\\\\\$","name":"constant.language.python"},"string-mojo-code-block":{"begin":"^(\\\\s*\`{3,})(mojo)$","beginCaptures":{"1":{"name":"string.quoted.single.python"},"2":{"name":"string.quoted.single.python"}},"contentName":"source.mojo","end":"^(\\\\1)$","endCaptures":{"1":{"name":"string.quoted.single.python"}},"name":"meta.embedded.block.mojo","patterns":[{"include":"source.mojo"}]},"string-multi-bad-brace1-formatting-raw":{"begin":"(?=\\\\{%(.*?(?!'''|\\"\\"\\"))%})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{"begin":"(?=\\\\{%(.*?(?!'''|\\"\\"\\"))%})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!'''|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!'''|\\"\\"\\")})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!'''|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!'''|\\"\\"\\")})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-quoted-multi-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?('''|\\"\\"\\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-unicode"},{"include":"#string-multi-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-quoted-single-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\"']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)|((?>=|//=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|/=|@=|\\\\\\\\*=|%=|~=|\\\\\\\\^=|&=|\\\\\\\\|=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},\\\"backticks\\\":{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`|(?))\\\",\\\"name\\\":\\\"comment.typehint.punctuation.notation.python\\\"},{\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\",\\\"name\\\":\\\"comment.typehint.variable.notation.python\\\"}]},{\\\"include\\\":\\\"#comments-base\\\"}]},\\\"comments-base\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"$()\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-double-three\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-single-three\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?='''))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"curly-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.begin.python\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.end.python\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.dict.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((@))\\\\\\\\s*(?=[_[:alpha:]]\\\\\\\\w*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.decorator.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(.*?)(?=\\\\\\\\s*(?:#|$))|(?=[\\\\\\\\n#])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"name\\\":\\\"meta.function.decorator.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"decorator-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-callables\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)|(\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([^#(.\\\\\\\\\\\\\\\\_[:alpha:]\\\\\\\\s].*?)(?=#|$)\\\",\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}]},\\\"double-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?=\\\\\\\"))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"ellipsis\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.ellipsis.python\\\"},\\\"escape-sequence\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[0-7]{1,3}|[\\\\\\\"'\\\\\\\\\\\\\\\\abfnrtv])\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"},\\\"escape-sequence-unicode\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u\\\\\\\\h{4}|U\\\\\\\\h{8}|N\\\\\\\\{[\\\\\\\\w\\\\\\\\s]+?})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-base\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"expression-bare\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#backticks\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#lambda\\\"},{\\\"include\\\":\\\"#generator\\\"},{\\\"include\\\":\\\"#illegal-operator\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#curly-braces\\\"},{\\\"include\\\":\\\"#item-access\\\"},{\\\"include\\\":\\\"#list\\\"},{\\\"include\\\":\\\"#odd-function-call\\\"},{\\\"include\\\":\\\"#round-braces\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-types\\\"},{\\\"include\\\":\\\"#builtin-exceptions\\\"},{\\\"include\\\":\\\"#magic-names\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#ellipsis\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"expression-base\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"f-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"fregexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fregexp-quantifier\\\"},{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"match\\\":\\\"\\\\\\\\{.*?}\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"fregexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)}}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"fstring-fnorm-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Ff])([BUbu])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-core\\\"}]},\\\"fstring-fnorm-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Ff])([BUbu])?(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-multi-tail\\\"}]},\\\"fstring-terminator-multi-tail\\\":{\\\"begin\\\":\\\"(=?(?:![ars])?)(:)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"match\\\":\\\"([%EFGXb-gnosx])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([- +])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<=>^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"fstring-terminator-single\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(=(![ars])?)(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(=?![ars])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(=?(?:![ars])?)(:\\\\\\\\w?[<=>^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-single-tail\\\"}]},\\\"fstring-terminator-single-tail\\\":{\\\"begin\\\":\\\"(=?(?:![ars])?)(:)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})|(?=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"match\\\":\\\"([%EFGXb-gnosx])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([- +])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<=>^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"function-arguments\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.python\\\",\\\"end\\\":\\\"(?=\\\\\\\\))(?!\\\\\\\\)\\\\\\\\s*\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.separator.arguments.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.unpacking.arguments.python\\\"}},\\\"match\\\":\\\"(?:(?<=[(,])|^)\\\\\\\\s*(\\\\\\\\*{1,2})\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function-call.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\\\\\\s*(\\\\\\\\()\\\"}]},\\\"function-call\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\())\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.function-call.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\b(def|fn)\\\\\\\\s+(?=[_[:alpha:]]\\\\\\\\p{word}*\\\\\\\\s*[(\\\\\\\\[])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.async.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.python\\\"}},\\\"end\\\":\\\"(:|(?=[\\\\\\\\n\\\\\\\"#']))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.python\\\"}},\\\"name\\\":\\\"meta.function.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-modifier\\\"},{\\\"include\\\":\\\"#function-def-name\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#meta_parameters\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#return-annotation\\\"}]},\\\"function-def-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.python\\\"}]},\\\"function-modifier\\\":{\\\"match\\\":\\\"(raises|capturing)\\\",\\\"name\\\":\\\"storage.modifier\\\"},\\\"function-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function-call.generic.python\\\"}]},\\\"generator\\\":{\\\"begin\\\":\\\"\\\\\\\\bfor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"end\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"illegal-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(and|assert|async|await|break|class|struct|trait|continue|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\\\\\.)lambda|lambda(?=\\\\\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(def|fn|capturing|raises)|(as|import))\\\\\\\\b\\\"},\\\"illegal-object-name\\\":{\\\"match\\\":\\\"\\\\\\\\b(True|False|None)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.illegal.name.python\\\"},\\\"illegal-operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&&|\\\\\\\\|\\\\\\\\||--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"[$?]\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"!\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"}]},\\\"import\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?>|[\\\\\\\\&^|~])|(\\\\\\\\*\\\\\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)\\\"},\\\"parameter-special\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.self.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.cls.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b((self)|(cls))\\\\\\\\b\\\\\\\\s*(?:(,)|(?=\\\\\\\\)))\\\"},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.python\\\"}},\\\"name\\\":\\\"meta.function.parameters.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(owned|borrowed|inout)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.positional.parameter.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*?)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.parameter.python\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#parameter-special\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=[\\\\\\\\n#)=]))\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#loose-default\\\"},{\\\"include\\\":\\\"#annotated-parameter\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.colon.python\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.element.python\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-single-three-line\\\"},{\\\"include\\\":\\\"#regexp-double-three-line\\\"},{\\\"include\\\":\\\"#regexp-single-one-line\\\"},{\\\"include\\\":\\\"#regexp-double-one-line\\\"}]},\\\"regexp-backreference\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.backreference.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\?P=\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.backreference.named.regexp\\\"},\\\"regexp-backreference-number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.backreference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d?)\\\",\\\"name\\\":\\\"meta.backreference.regexp\\\"},\\\"regexp-base-common\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"support.other.match.any.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"support.other.match.begin.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"support.other.match.end.regexp\\\"},{\\\"match\\\":\\\"[*+?]\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.disjunction.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-sequence\\\"}]},\\\"regexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-quantifier\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"regexp-charecter-set-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{1,3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-double-one-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.result.python\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"round-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.begin.python\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"semicolon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";$\\\",\\\"name\\\":\\\"invalid.deprecated.semicolon.python\\\"}]},\\\"single-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?='))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"special-names\\\":{\\\"match\\\":\\\"\\\\\\\\b(_*\\\\\\\\p{upper}[_\\\\\\\\d]*\\\\\\\\p{upper})[[:upper:]\\\\\\\\d]*(_\\\\\\\\w*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.caps.python\\\"},\\\"special-variables\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.special.self.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.cls.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)?})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\w*(\\\\\\\\.[_[:alpha:]]\\\\\\\\w*|\\\\\\\\[[^]\\\\\\\"']+])*(![ars])?(:)[^\\\\\\\\n\\\\\\\"'{}]*(?:\\\\\\\\{[^\\\\\\\\n\\\\\\\"'}]*?}[^\\\\\\\\n\\\\\\\"'{}]*)*})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"}]},\\\"string-consume-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"'\\\\\\\\\\\\\\\\]\\\"},\\\"string-entity\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-formatting\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"(%(\\\\\\\\([\\\\\\\\w\\\\\\\\s]*\\\\\\\\))?[- #+0]*(\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.(\\\\\\\\d+|\\\\\\\\*))?([Lhl])?[%EFGXa-giorsux])\\\",\\\"name\\\":\\\"meta.format.percent.python\\\"},\\\"string-line-continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.python\\\"},\\\"string-mojo-code-block\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*`{3,})(mojo)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.single.python\\\"}},\\\"contentName\\\":\\\"source.mojo\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.python\\\"}},\\\"name\\\":\\\"meta.embedded.block.mojo\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mojo\\\"}]},\\\"string-multi-bad-brace1-formatting-raw\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"}]},\\\"string-multi-bad-brace1-formatting-unicode\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"string-multi-bad-brace2-formatting-raw\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-multi-bad-brace2-formatting-unicode\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-quoted-multi-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([Rr])(?=[Uu]))?([Uu])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-multi-bad-brace1-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-multi-bad-brace2-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-unicode-guts\\\"}]},\\\"string-quoted-single-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?|\\\\{%\\\\s*(block|filter|for|if|macro|raw))","foldingStopMarker":"(|\\\\{%\\\\s*(end(?:block|filter|for|if|macro|raw))\\\\s*%})","name":"jinja-html","patterns":[{"include":"source.jinja"},{"include":"text.html.basic"}],"scopeName":"text.html.jinja","embeddedLangs":["html"]}`, + ), + ), + n = [...e, a], + t = Object.freeze( + JSON.parse( + `{"displayName":"Jinja","foldingStartMarker":"(\\\\{%\\\\s*(block|filter|for|if|macro|raw))","foldingStopMarker":"(\\\\{%\\\\s*(end(?:block|filter|for|if|macro|raw))\\\\s*%})","name":"jinja","patterns":[{"begin":"(\\\\{%)\\\\s*(raw)\\\\s*(%})","captures":{"1":{"name":"entity.other.jinja.delimiter.tag"},"2":{"name":"keyword.control.jinja"},"3":{"name":"entity.other.jinja.delimiter.tag"}},"end":"(\\\\{%)\\\\s*(endraw)\\\\s*(%})","name":"comment.block.jinja.raw"},{"include":"#comments"},{"begin":"\\\\{\\\\{-?","captures":[{"name":"variable.entity.other.jinja.delimiter"}],"end":"-?}}","name":"variable.meta.scope.jinja","patterns":[{"include":"#expression"}]},{"begin":"\\\\{%-?","captures":[{"name":"entity.other.jinja.delimiter.tag"}],"end":"-?%}","name":"meta.scope.jinja.tag","patterns":[{"include":"#expression"}]}],"repository":{"comments":{"begin":"\\\\{#-?","captures":[{"name":"entity.other.jinja.delimiter.comment"}],"end":"-?#}","name":"comment.block.jinja","patterns":[{"include":"#comments"}]},"escaped_char":{"match":"\\\\\\\\x[0-9A-F]{2}","name":"constant.character.escape.hex.jinja"},"escaped_unicode_char":{"captures":{"1":{"name":"constant.character.escape.unicode.16-bit-hex.jinja"},"2":{"name":"constant.character.escape.unicode.32-bit-hex.jinja"},"3":{"name":"constant.character.escape.unicode.name.jinja"}},"match":"(\\\\\\\\U\\\\h{8})|(\\\\\\\\u\\\\h{4})|(\\\\\\\\N\\\\{[ A-Za-z]+})"},"expression":{"patterns":[{"captures":{"1":{"name":"keyword.control.jinja"},"2":{"name":"variable.other.jinja.block"}},"match":"\\\\s*\\\\b(block)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.control.jinja"},"2":{"name":"variable.other.jinja.filter"}},"match":"\\\\s*\\\\b(filter)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.control.jinja"},"2":{"name":"variable.other.jinja.test"}},"match":"\\\\s*\\\\b(is)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.control.jinja"}},"match":"(?<=\\\\{%-?)\\\\s*\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?!\\\\s*[,=])"},{"match":"\\\\b(and|else|if|in|import|not|or|recursive|with(out)?\\\\s+context)\\\\b","name":"keyword.control.jinja"},{"match":"\\\\b(true|false|none)\\\\b","name":"constant.language.jinja"},{"match":"\\\\b(loop|super|self|varargs|kwargs)\\\\b","name":"variable.language.jinja"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.jinja"},{"match":"([-+]|\\\\*\\\\*?|//|[%/])","name":"keyword.operator.arithmetic.jinja"},{"captures":{"1":{"name":"punctuation.other.jinja"},"2":{"name":"variable.other.jinja.filter"}},"match":"(\\\\|)([A-Z_a-z][0-9A-Z_a-z]*)"},{"captures":{"1":{"name":"punctuation.other.jinja"},"2":{"name":"variable.other.jinja.attribute"}},"match":"(\\\\.)([A-Z_a-z][0-9A-Z_a-z]*)"},{"begin":"\\\\[","captures":[{"name":"punctuation.other.jinja"}],"end":"]","patterns":[{"include":"#expression"}]},{"begin":"\\\\(","captures":[{"name":"punctuation.other.jinja"}],"end":"\\\\)","patterns":[{"include":"#expression"}]},{"begin":"\\\\{","captures":[{"name":"punctuation.other.jinja"}],"end":"}","patterns":[{"include":"#expression"}]},{"match":"([,.:|])","name":"punctuation.other.jinja"},{"match":"(==|<=|=>|[<>]|!=)","name":"keyword.operator.comparison.jinja"},{"match":"=","name":"keyword.operator.assignment.jinja"},{"begin":"\\"","beginCaptures":[{"name":"punctuation.definition.string.begin.jinja"}],"end":"\\"","endCaptures":[{"name":"punctuation.definition.string.end.jinja"}],"name":"string.quoted.double.jinja","patterns":[{"include":"#string"}]},{"begin":"'","beginCaptures":[{"name":"punctuation.definition.string.begin.jinja"}],"end":"'","endCaptures":[{"name":"punctuation.definition.string.end.jinja"}],"name":"string.quoted.single.jinja","patterns":[{"include":"#string"}]},{"begin":"@/","beginCaptures":[{"name":"punctuation.definition.regexp.begin.jinja"}],"end":"/","endCaptures":[{"name":"punctuation.definition.regexp.end.jinja"}],"name":"string.regexp.jinja","patterns":[{"include":"#simple_escapes"}]}]},"simple_escapes":{"captures":{"1":{"name":"constant.character.escape.newline.jinja"},"2":{"name":"constant.character.escape.backlash.jinja"},"3":{"name":"constant.character.escape.double-quote.jinja"},"4":{"name":"constant.character.escape.single-quote.jinja"},"5":{"name":"constant.character.escape.bell.jinja"},"6":{"name":"constant.character.escape.backspace.jinja"},"7":{"name":"constant.character.escape.formfeed.jinja"},"8":{"name":"constant.character.escape.linefeed.jinja"},"9":{"name":"constant.character.escape.return.jinja"},"10":{"name":"constant.character.escape.tab.jinja"},"11":{"name":"constant.character.escape.vertical-tab.jinja"}},"match":"(\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)"},"string":{"patterns":[{"include":"#simple_escapes"},{"include":"#escaped_char"},{"include":"#escaped_unicode_char"}]}},"scopeName":"source.jinja","embeddedLangs":["jinja-html"]}`, + ), + ), + s = [...n, t] +export { s as default } +//# sourceMappingURL=chunk-25uR9ifH.js.map diff --git a/src/webview-ui/build/assets/chunk-25uR9ifH.js.map b/src/webview-ui/build/assets/chunk-25uR9ifH.js.map new file mode 100644 index 0000000000..1f60733c1b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-25uR9ifH.js.map @@ -0,0 +1,24 @@ +{ + "version": 3, + "file": "chunk-25uR9ifH.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jinja-html.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jinja.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"jinja-html\\\",\\\"firstLineMatch\\\":\\\"^\\\\\\\\{% extends [\\\\\\\"'][^\\\\\\\"']+[\\\\\\\"'] %}\\\",\\\"foldingStartMarker\\\":\\\"(<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\\\\\\\b.*?>|\\\\\\\\{%\\\\\\\\s*(block|filter|for|if|macro|raw))\\\",\\\"foldingStopMarker\\\":\\\"(|\\\\\\\\{%\\\\\\\\s*(end(?:block|filter|for|if|macro|raw))\\\\\\\\s*%})\\\",\\\"name\\\":\\\"jinja-html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jinja\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"scopeName\\\":\\\"text.html.jinja\\\",\\\"embeddedLangs\\\":[\\\"html\\\"]}\"))\n\nexport default [\n...html,\nlang\n]\n", + "import jinja_html from './jinja-html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Jinja\\\",\\\"foldingStartMarker\\\":\\\"(\\\\\\\\{%\\\\\\\\s*(block|filter|for|if|macro|raw))\\\",\\\"foldingStopMarker\\\":\\\"(\\\\\\\\{%\\\\\\\\s*(end(?:block|filter|for|if|macro|raw))\\\\\\\\s*%})\\\",\\\"name\\\":\\\"jinja\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{%)\\\\\\\\s*(raw)\\\\\\\\s*(%})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.jinja.delimiter.tag\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.jinja.delimiter.tag\\\"}},\\\"end\\\":\\\"(\\\\\\\\{%)\\\\\\\\s*(endraw)\\\\\\\\s*(%})\\\",\\\"name\\\":\\\"comment.block.jinja.raw\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{-?\\\",\\\"captures\\\":[{\\\"name\\\":\\\"variable.entity.other.jinja.delimiter\\\"}],\\\"end\\\":\\\"-?}}\\\",\\\"name\\\":\\\"variable.meta.scope.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{%-?\\\",\\\"captures\\\":[{\\\"name\\\":\\\"entity.other.jinja.delimiter.tag\\\"}],\\\"end\\\":\\\"-?%}\\\",\\\"name\\\":\\\"meta.scope.jinja.tag\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}],\\\"repository\\\":{\\\"comments\\\":{\\\"begin\\\":\\\"\\\\\\\\{#-?\\\",\\\"captures\\\":[{\\\"name\\\":\\\"entity.other.jinja.delimiter.comment\\\"}],\\\"end\\\":\\\"-?#}\\\",\\\"name\\\":\\\"comment.block.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x[0-9A-F]{2}\\\",\\\"name\\\":\\\"constant.character.escape.hex.jinja\\\"},\\\"escaped_unicode_char\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.16-bit-hex.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.32-bit-hex.jinja\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.name.jinja\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\U\\\\\\\\h{8})|(\\\\\\\\\\\\\\\\u\\\\\\\\h{4})|(\\\\\\\\\\\\\\\\N\\\\\\\\{[ A-Za-z]+})\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.block\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(block)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.filter\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(filter)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.test\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(is)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\{%-?)\\\\\\\\s*\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b(?!\\\\\\\\s*[,=])\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|else|if|in|import|not|or|recursive|with(out)?\\\\\\\\s+context)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.jinja\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false|none)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.jinja\\\"},{\\\"match\\\":\\\"\\\\\\\\b(loop|super|self|varargs|kwargs)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.jinja\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.jinja\\\"},{\\\"match\\\":\\\"([-+]|\\\\\\\\*\\\\\\\\*?|//|[%/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.jinja\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.other.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.filter\\\"}},\\\"match\\\":\\\"(\\\\\\\\|)([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.other.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.attribute\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":[{\\\"name\\\":\\\"punctuation.other.jinja\\\"}],\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":[{\\\"name\\\":\\\"punctuation.other.jinja\\\"}],\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":[{\\\"name\\\":\\\"punctuation.other.jinja\\\"}],\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"([,.:|])\\\",\\\"name\\\":\\\"punctuation.other.jinja\\\"},{\\\"match\\\":\\\"(==|<=|=>|[<>]|!=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.jinja\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.jinja\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.begin.jinja\\\"}],\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.end.jinja\\\"}],\\\"name\\\":\\\"string.quoted.double.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.begin.jinja\\\"}],\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.end.jinja\\\"}],\\\"name\\\":\\\"string.quoted.single.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"@/\\\",\\\"beginCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.regexp.begin.jinja\\\"}],\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.regexp.end.jinja\\\"}],\\\"name\\\":\\\"string.regexp.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#simple_escapes\\\"}]}]},\\\"simple_escapes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.newline.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.backlash.jinja\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.double-quote.jinja\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.escape.single-quote.jinja\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.escape.bell.jinja\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backspace.jinja\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.character.escape.formfeed.jinja\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.character.escape.linefeed.jinja\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.character.escape.return.jinja\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.character.escape.tab.jinja\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.character.escape.vertical-tab.jinja\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)|(\\\\\\\\\\\\\\\\\\\\\\\")|(\\\\\\\\\\\\\\\\')|(\\\\\\\\\\\\\\\\a)|(\\\\\\\\\\\\\\\\b)|(\\\\\\\\\\\\\\\\f)|(\\\\\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\r)|(\\\\\\\\\\\\\\\\t)|(\\\\\\\\\\\\\\\\v)\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#simple_escapes\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#escaped_unicode_char\\\"}]}},\\\"scopeName\\\":\\\"source.jinja\\\",\\\"embeddedLangs\\\":[\\\"jinja-html\\\"]}\"))\n\nexport default [\n...jinja_html,\nlang\n]\n" + ], + "names": [ + "lang", + "jinja_html", + "html", + "jinja" + ], + "mappings": "2FAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+fAAwiB,CAAC,EAEhkBC,EAAA,CACf,GAAGC,EACHF,CACA,ECLMA,EAAO,OAAO,OAAO,KAAK,MAAM,22JAAs7K,CAAC,EAE98KG,EAAA,CACf,GAAGF,EACHD,CACA", + "x_google_ignoreList": [ + 0, + 1 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-3e1v2bzS.js b/src/webview-ui/build/assets/chunk-3e1v2bzS.js new file mode 100644 index 0000000000..3c2f2bf620 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-3e1v2bzS.js @@ -0,0 +1,7 @@ +const r = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#1085FF","activityBar.background":"#21252B","activityBar.border":"#0D1117","activityBar.foreground":"#C6CCD7","activityBar.inactiveForeground":"#5F6672","activityBarBadge.background":"#E06C75","activityBarBadge.foreground":"#ffffff","breadcrumb.focusForeground":"#C6CCD7","breadcrumb.foreground":"#5F6672","button.background":"#E06C75","button.foreground":"#ffffff","button.hoverBackground":"#E48189","button.secondaryBackground":"#0D1117","button.secondaryForeground":"#ffffff","checkbox.background":"#61AFEF","checkbox.foreground":"#ffffff","contrastBorder":"#0D1117","debugToolBar.background":"#181A1F","diffEditor.border":"#0D1117","diffEditor.diagonalFill":"#0D1117","diffEditor.insertedLineBackground":"#CBF6AC0D","diffEditor.insertedTextBackground":"#CBF6AC1A","diffEditor.removedLineBackground":"#FF9FA80D","diffEditor.removedTextBackground":"#FF9FA81A","dropdown.background":"#181A1F","dropdown.border":"#0D1117","editor.background":"#21252B","editor.findMatchBackground":"#00000000","editor.findMatchBorder":"#1085FF","editor.findMatchHighlightBackground":"#00000000","editor.findMatchHighlightBorder":"#C6CCD7","editor.foreground":"#A9B2C3","editor.lineHighlightBackground":"#A9B2C31A","editor.lineHighlightBorder":"#00000000","editor.linkedEditingBackground":"#0D1117","editor.rangeHighlightBorder":"#C6CCD7","editor.selectionBackground":"#A9B2C333","editor.selectionHighlightBackground":"#A9B2C31A","editor.selectionHighlightBorder":"#C6CCD7","editor.wordHighlightBackground":"#00000000","editor.wordHighlightBorder":"#1085FF","editor.wordHighlightStrongBackground":"#00000000","editor.wordHighlightStrongBorder":"#1085FF","editorBracketHighlight.foreground1":"#A9B2C3","editorBracketHighlight.foreground2":"#61AFEF","editorBracketHighlight.foreground3":"#E5C07B","editorBracketHighlight.foreground4":"#E06C75","editorBracketHighlight.foreground5":"#98C379","editorBracketHighlight.foreground6":"#B57EDC","editorBracketHighlight.unexpectedBracket.foreground":"#D74E42","editorBracketMatch.background":"#00000000","editorBracketMatch.border":"#1085FF","editorCursor.foreground":"#A9B2C3","editorError.foreground":"#D74E42","editorGroup.border":"#0D1117","editorGroup.emptyBackground":"#181A1F","editorGroupHeader.tabsBackground":"#181A1F","editorGutter.addedBackground":"#98C379","editorGutter.deletedBackground":"#E06C75","editorGutter.modifiedBackground":"#D19A66","editorHoverWidget.background":"#181A1F","editorHoverWidget.border":"#1085FF","editorIndentGuide.activeBackground":"#A9B2C333","editorIndentGuide.background":"#0D1117","editorInfo.foreground":"#1085FF","editorInlayHint.background":"#00000000","editorInlayHint.foreground":"#5F6672","editorLightBulb.foreground":"#E9D16C","editorLightBulbAutoFix.foreground":"#1085FF","editorLineNumber.activeForeground":"#C6CCD7","editorLineNumber.foreground":"#5F6672","editorOverviewRuler.addedForeground":"#98C379","editorOverviewRuler.border":"#0D1117","editorOverviewRuler.deletedForeground":"#E06C75","editorOverviewRuler.errorForeground":"#D74E42","editorOverviewRuler.findMatchForeground":"#1085FF","editorOverviewRuler.infoForeground":"#1085FF","editorOverviewRuler.modifiedForeground":"#D19A66","editorOverviewRuler.warningForeground":"#E9D16C","editorRuler.foreground":"#0D1117","editorStickyScroll.background":"#181A1F","editorStickyScrollHover.background":"#21252B","editorSuggestWidget.background":"#181A1F","editorSuggestWidget.border":"#1085FF","editorSuggestWidget.selectedBackground":"#A9B2C31A","editorWarning.foreground":"#E9D16C","editorWhitespace.foreground":"#A9B2C31A","editorWidget.background":"#181A1F","errorForeground":"#D74E42","focusBorder":"#1085FF","gitDecoration.deletedResourceForeground":"#E06C75","gitDecoration.ignoredResourceForeground":"#5F6672","gitDecoration.modifiedResourceForeground":"#D19A66","gitDecoration.untrackedResourceForeground":"#98C379","input.background":"#0D1117","inputOption.activeBorder":"#1085FF","inputValidation.errorBackground":"#D74E42","inputValidation.errorBorder":"#D74E42","inputValidation.infoBackground":"#1085FF","inputValidation.infoBorder":"#1085FF","inputValidation.infoForeground":"#0D1117","inputValidation.warningBackground":"#E9D16C","inputValidation.warningBorder":"#E9D16C","inputValidation.warningForeground":"#0D1117","list.activeSelectionBackground":"#A9B2C333","list.activeSelectionForeground":"#ffffff","list.errorForeground":"#D74E42","list.focusBackground":"#A9B2C333","list.hoverBackground":"#A9B2C31A","list.inactiveFocusOutline":"#5F6672","list.inactiveSelectionBackground":"#A9B2C333","list.inactiveSelectionForeground":"#C6CCD7","list.warningForeground":"#E9D16C","minimap.findMatchHighlight":"#1085FF","minimap.selectionHighlight":"#C6CCD7","minimapGutter.addedBackground":"#98C379","minimapGutter.deletedBackground":"#E06C75","minimapGutter.modifiedBackground":"#D19A66","notificationCenter.border":"#0D1117","notificationCenterHeader.background":"#181A1F","notificationToast.border":"#0D1117","notifications.background":"#181A1F","notifications.border":"#0D1117","panel.background":"#181A1F","panel.border":"#0D1117","panelTitle.inactiveForeground":"#5F6672","peekView.border":"#1085FF","peekViewEditor.background":"#181A1F","peekViewEditor.matchHighlightBackground":"#A9B2C333","peekViewResult.background":"#181A1F","peekViewResult.matchHighlightBackground":"#A9B2C333","peekViewResult.selectionBackground":"#A9B2C31A","peekViewResult.selectionForeground":"#C6CCD7","peekViewTitle.background":"#181A1F","sash.hoverBorder":"#A9B2C333","scrollbar.shadow":"#00000000","scrollbarSlider.activeBackground":"#A9B2C333","scrollbarSlider.background":"#A9B2C31A","scrollbarSlider.hoverBackground":"#A9B2C333","sideBar.background":"#181A1F","sideBar.border":"#0D1117","sideBar.foreground":"#C6CCD7","sideBarSectionHeader.background":"#21252B","statusBar.background":"#21252B","statusBar.border":"#0D1117","statusBar.debuggingBackground":"#21252B","statusBar.debuggingBorder":"#56B6C2","statusBar.debuggingForeground":"#A9B2C3","statusBar.focusBorder":"#A9B2C3","statusBar.foreground":"#A9B2C3","statusBar.noFolderBackground":"#181A1F","statusBarItem.activeBackground":"#0D1117","statusBarItem.errorBackground":"#21252B","statusBarItem.errorForeground":"#D74E42","statusBarItem.focusBorder":"#A9B2C3","statusBarItem.hoverBackground":"#181A1F","statusBarItem.hoverForeground":"#A9B2C3","statusBarItem.remoteBackground":"#21252B","statusBarItem.remoteForeground":"#B57EDC","statusBarItem.warningBackground":"#21252B","statusBarItem.warningForeground":"#E9D16C","tab.activeBackground":"#21252B","tab.activeBorderTop":"#1085FF","tab.activeForeground":"#C6CCD7","tab.border":"#0D1117","tab.inactiveBackground":"#181A1F","tab.inactiveForeground":"#5F6672","tab.lastPinnedBorder":"#A9B2C333","terminal.ansiBlack":"#5F6672","terminal.ansiBlue":"#61AFEF","terminal.ansiBrightBlack":"#5F6672","terminal.ansiBrightBlue":"#61AFEF","terminal.ansiBrightCyan":"#56B6C2","terminal.ansiBrightGreen":"#98C379","terminal.ansiBrightMagenta":"#B57EDC","terminal.ansiBrightRed":"#E06C75","terminal.ansiBrightWhite":"#A9B2C3","terminal.ansiBrightYellow":"#E5C07B","terminal.ansiCyan":"#56B6C2","terminal.ansiGreen":"#98C379","terminal.ansiMagenta":"#B57EDC","terminal.ansiRed":"#E06C75","terminal.ansiWhite":"#A9B2C3","terminal.ansiYellow":"#E5C07B","terminal.foreground":"#A9B2C3","titleBar.activeBackground":"#21252B","titleBar.activeForeground":"#C6CCD7","titleBar.border":"#0D1117","titleBar.inactiveBackground":"#21252B","titleBar.inactiveForeground":"#5F6672","toolbar.hoverBackground":"#A9B2C333","widget.shadow":"#00000000"},"displayName":"Plastic","name":"plastic","semanticHighlighting":true,"semanticTokenColors":{},"tokenColors":[{"scope":["comment","punctuation.definition.comment","source.diff"],"settings":{"foreground":"#5F6672"}},{"scope":["entity.name.function","support.function","meta.diff.range","punctuation.definition.range.diff"],"settings":{"foreground":"#B57EDC"}},{"scope":["keyword","punctuation.definition.keyword","variable.language","markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted","punctuation.definition.from-file.diff"],"settings":{"foreground":"#E06C75"}},{"scope":["constant","support.constant"],"settings":{"foreground":"#56B6C2"}},{"scope":["storage","support.class","entity.name.namespace","meta.diff.header"],"settings":{"foreground":"#61AFEF"}},{"scope":["markup.inline.raw.string","string","markup.inserted","punctuation.definition.inserted","meta.diff.header.to-file","punctuation.definition.to-file.diff"],"settings":{"foreground":"#98C379"}},{"scope":["entity.name.section","entity.name.tag","entity.name.type","support.type"],"settings":{"foreground":"#E5C07B"}},{"scope":["support.type.property-name","support.variable","variable"],"settings":{"foreground":"#C6CCD7"}},{"scope":["entity.other","punctuation.definition.entity","support.other"],"settings":{"foreground":"#D19A66"}},{"scope":["meta.brace","punctuation"],"settings":{"foreground":"#A9B2C3"}},{"scope":["markup.bold","punctuation.definition.bold","entity.other.attribute-name.id"],"settings":{"fontStyle":"bold"}},{"scope":["comment","markup.italic","punctuation.definition.italic"],"settings":{"fontStyle":"italic"}}],"type":"dark"}', + ), +) +export { r as default } +//# sourceMappingURL=chunk-3e1v2bzS.js.map diff --git a/src/webview-ui/build/assets/chunk-3e1v2bzS.js.map b/src/webview-ui/build/assets/chunk-3e1v2bzS.js.map new file mode 100644 index 0000000000..400a303746 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-3e1v2bzS.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-3e1v2bzS.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/plastic.mjs" + ], + "sourcesContent": [ + "/* Theme: plastic */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#1085FF\\\",\\\"activityBar.background\\\":\\\"#21252B\\\",\\\"activityBar.border\\\":\\\"#0D1117\\\",\\\"activityBar.foreground\\\":\\\"#C6CCD7\\\",\\\"activityBar.inactiveForeground\\\":\\\"#5F6672\\\",\\\"activityBarBadge.background\\\":\\\"#E06C75\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.focusForeground\\\":\\\"#C6CCD7\\\",\\\"breadcrumb.foreground\\\":\\\"#5F6672\\\",\\\"button.background\\\":\\\"#E06C75\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#E48189\\\",\\\"button.secondaryBackground\\\":\\\"#0D1117\\\",\\\"button.secondaryForeground\\\":\\\"#ffffff\\\",\\\"checkbox.background\\\":\\\"#61AFEF\\\",\\\"checkbox.foreground\\\":\\\"#ffffff\\\",\\\"contrastBorder\\\":\\\"#0D1117\\\",\\\"debugToolBar.background\\\":\\\"#181A1F\\\",\\\"diffEditor.border\\\":\\\"#0D1117\\\",\\\"diffEditor.diagonalFill\\\":\\\"#0D1117\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#CBF6AC0D\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#CBF6AC1A\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#FF9FA80D\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF9FA81A\\\",\\\"dropdown.background\\\":\\\"#181A1F\\\",\\\"dropdown.border\\\":\\\"#0D1117\\\",\\\"editor.background\\\":\\\"#21252B\\\",\\\"editor.findMatchBackground\\\":\\\"#00000000\\\",\\\"editor.findMatchBorder\\\":\\\"#1085FF\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000000\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#C6CCD7\\\",\\\"editor.foreground\\\":\\\"#A9B2C3\\\",\\\"editor.lineHighlightBackground\\\":\\\"#A9B2C31A\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0D1117\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#C6CCD7\\\",\\\"editor.selectionBackground\\\":\\\"#A9B2C333\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#A9B2C31A\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#C6CCD7\\\",\\\"editor.wordHighlightBackground\\\":\\\"#00000000\\\",\\\"editor.wordHighlightBorder\\\":\\\"#1085FF\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#00000000\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#1085FF\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#A9B2C3\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#61AFEF\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#E5C07B\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#E06C75\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#98C379\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#B57EDC\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#D74E42\\\",\\\"editorBracketMatch.background\\\":\\\"#00000000\\\",\\\"editorBracketMatch.border\\\":\\\"#1085FF\\\",\\\"editorCursor.foreground\\\":\\\"#A9B2C3\\\",\\\"editorError.foreground\\\":\\\"#D74E42\\\",\\\"editorGroup.border\\\":\\\"#0D1117\\\",\\\"editorGroup.emptyBackground\\\":\\\"#181A1F\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#181A1F\\\",\\\"editorGutter.addedBackground\\\":\\\"#98C379\\\",\\\"editorGutter.deletedBackground\\\":\\\"#E06C75\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#D19A66\\\",\\\"editorHoverWidget.background\\\":\\\"#181A1F\\\",\\\"editorHoverWidget.border\\\":\\\"#1085FF\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#A9B2C333\\\",\\\"editorIndentGuide.background\\\":\\\"#0D1117\\\",\\\"editorInfo.foreground\\\":\\\"#1085FF\\\",\\\"editorInlayHint.background\\\":\\\"#00000000\\\",\\\"editorInlayHint.foreground\\\":\\\"#5F6672\\\",\\\"editorLightBulb.foreground\\\":\\\"#E9D16C\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#1085FF\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#C6CCD7\\\",\\\"editorLineNumber.foreground\\\":\\\"#5F6672\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#98C379\\\",\\\"editorOverviewRuler.border\\\":\\\"#0D1117\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#E06C75\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#D74E42\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#1085FF\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#1085FF\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#D19A66\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#E9D16C\\\",\\\"editorRuler.foreground\\\":\\\"#0D1117\\\",\\\"editorStickyScroll.background\\\":\\\"#181A1F\\\",\\\"editorStickyScrollHover.background\\\":\\\"#21252B\\\",\\\"editorSuggestWidget.background\\\":\\\"#181A1F\\\",\\\"editorSuggestWidget.border\\\":\\\"#1085FF\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#A9B2C31A\\\",\\\"editorWarning.foreground\\\":\\\"#E9D16C\\\",\\\"editorWhitespace.foreground\\\":\\\"#A9B2C31A\\\",\\\"editorWidget.background\\\":\\\"#181A1F\\\",\\\"errorForeground\\\":\\\"#D74E42\\\",\\\"focusBorder\\\":\\\"#1085FF\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#E06C75\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#5F6672\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#D19A66\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98C379\\\",\\\"input.background\\\":\\\"#0D1117\\\",\\\"inputOption.activeBorder\\\":\\\"#1085FF\\\",\\\"inputValidation.errorBackground\\\":\\\"#D74E42\\\",\\\"inputValidation.errorBorder\\\":\\\"#D74E42\\\",\\\"inputValidation.infoBackground\\\":\\\"#1085FF\\\",\\\"inputValidation.infoBorder\\\":\\\"#1085FF\\\",\\\"inputValidation.infoForeground\\\":\\\"#0D1117\\\",\\\"inputValidation.warningBackground\\\":\\\"#E9D16C\\\",\\\"inputValidation.warningBorder\\\":\\\"#E9D16C\\\",\\\"inputValidation.warningForeground\\\":\\\"#0D1117\\\",\\\"list.activeSelectionBackground\\\":\\\"#A9B2C333\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.errorForeground\\\":\\\"#D74E42\\\",\\\"list.focusBackground\\\":\\\"#A9B2C333\\\",\\\"list.hoverBackground\\\":\\\"#A9B2C31A\\\",\\\"list.inactiveFocusOutline\\\":\\\"#5F6672\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#A9B2C333\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#C6CCD7\\\",\\\"list.warningForeground\\\":\\\"#E9D16C\\\",\\\"minimap.findMatchHighlight\\\":\\\"#1085FF\\\",\\\"minimap.selectionHighlight\\\":\\\"#C6CCD7\\\",\\\"minimapGutter.addedBackground\\\":\\\"#98C379\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#E06C75\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#D19A66\\\",\\\"notificationCenter.border\\\":\\\"#0D1117\\\",\\\"notificationCenterHeader.background\\\":\\\"#181A1F\\\",\\\"notificationToast.border\\\":\\\"#0D1117\\\",\\\"notifications.background\\\":\\\"#181A1F\\\",\\\"notifications.border\\\":\\\"#0D1117\\\",\\\"panel.background\\\":\\\"#181A1F\\\",\\\"panel.border\\\":\\\"#0D1117\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#5F6672\\\",\\\"peekView.border\\\":\\\"#1085FF\\\",\\\"peekViewEditor.background\\\":\\\"#181A1F\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#A9B2C333\\\",\\\"peekViewResult.background\\\":\\\"#181A1F\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#A9B2C333\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#A9B2C31A\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#C6CCD7\\\",\\\"peekViewTitle.background\\\":\\\"#181A1F\\\",\\\"sash.hoverBorder\\\":\\\"#A9B2C333\\\",\\\"scrollbar.shadow\\\":\\\"#00000000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#A9B2C333\\\",\\\"scrollbarSlider.background\\\":\\\"#A9B2C31A\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#A9B2C333\\\",\\\"sideBar.background\\\":\\\"#181A1F\\\",\\\"sideBar.border\\\":\\\"#0D1117\\\",\\\"sideBar.foreground\\\":\\\"#C6CCD7\\\",\\\"sideBarSectionHeader.background\\\":\\\"#21252B\\\",\\\"statusBar.background\\\":\\\"#21252B\\\",\\\"statusBar.border\\\":\\\"#0D1117\\\",\\\"statusBar.debuggingBackground\\\":\\\"#21252B\\\",\\\"statusBar.debuggingBorder\\\":\\\"#56B6C2\\\",\\\"statusBar.debuggingForeground\\\":\\\"#A9B2C3\\\",\\\"statusBar.focusBorder\\\":\\\"#A9B2C3\\\",\\\"statusBar.foreground\\\":\\\"#A9B2C3\\\",\\\"statusBar.noFolderBackground\\\":\\\"#181A1F\\\",\\\"statusBarItem.activeBackground\\\":\\\"#0D1117\\\",\\\"statusBarItem.errorBackground\\\":\\\"#21252B\\\",\\\"statusBarItem.errorForeground\\\":\\\"#D74E42\\\",\\\"statusBarItem.focusBorder\\\":\\\"#A9B2C3\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#181A1F\\\",\\\"statusBarItem.hoverForeground\\\":\\\"#A9B2C3\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#21252B\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#B57EDC\\\",\\\"statusBarItem.warningBackground\\\":\\\"#21252B\\\",\\\"statusBarItem.warningForeground\\\":\\\"#E9D16C\\\",\\\"tab.activeBackground\\\":\\\"#21252B\\\",\\\"tab.activeBorderTop\\\":\\\"#1085FF\\\",\\\"tab.activeForeground\\\":\\\"#C6CCD7\\\",\\\"tab.border\\\":\\\"#0D1117\\\",\\\"tab.inactiveBackground\\\":\\\"#181A1F\\\",\\\"tab.inactiveForeground\\\":\\\"#5F6672\\\",\\\"tab.lastPinnedBorder\\\":\\\"#A9B2C333\\\",\\\"terminal.ansiBlack\\\":\\\"#5F6672\\\",\\\"terminal.ansiBlue\\\":\\\"#61AFEF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5F6672\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#61AFEF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56B6C2\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#98C379\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#B57EDC\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E06C75\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#A9B2C3\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E5C07B\\\",\\\"terminal.ansiCyan\\\":\\\"#56B6C2\\\",\\\"terminal.ansiGreen\\\":\\\"#98C379\\\",\\\"terminal.ansiMagenta\\\":\\\"#B57EDC\\\",\\\"terminal.ansiRed\\\":\\\"#E06C75\\\",\\\"terminal.ansiWhite\\\":\\\"#A9B2C3\\\",\\\"terminal.ansiYellow\\\":\\\"#E5C07B\\\",\\\"terminal.foreground\\\":\\\"#A9B2C3\\\",\\\"titleBar.activeBackground\\\":\\\"#21252B\\\",\\\"titleBar.activeForeground\\\":\\\"#C6CCD7\\\",\\\"titleBar.border\\\":\\\"#0D1117\\\",\\\"titleBar.inactiveBackground\\\":\\\"#21252B\\\",\\\"titleBar.inactiveForeground\\\":\\\"#5F6672\\\",\\\"toolbar.hoverBackground\\\":\\\"#A9B2C333\\\",\\\"widget.shadow\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Plastic\\\",\\\"name\\\":\\\"plastic\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"source.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5F6672\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\",\\\"meta.diff.range\\\",\\\"punctuation.definition.range.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B57EDC\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"punctuation.definition.keyword\\\",\\\"variable.language\\\",\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\",\\\"punctuation.definition.from-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E06C75\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56B6C2\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"support.class\\\",\\\"entity.name.namespace\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61AFEF\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw.string\\\",\\\"string\\\",\\\"markup.inserted\\\",\\\"punctuation.definition.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98C379\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\",\\\"entity.name.tag\\\",\\\"entity.name.type\\\",\\\"support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E5C07B\\\"}},{\\\"scope\\\":[\\\"support.type.property-name\\\",\\\"support.variable\\\",\\\"variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C6CCD7\\\"}},{\\\"scope\\\":[\\\"entity.other\\\",\\\"punctuation.definition.entity\\\",\\\"support.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D19A66\\\"}},{\\\"scope\\\":[\\\"meta.brace\\\",\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A9B2C3\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"punctuation.definition.bold\\\",\\\"entity.other.attribute-name.id\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"markup.italic\\\",\\\"punctuation.definition.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "plastic" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,qhSAAi+T,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-3ipgsugG.js b/src/webview-ui/build/assets/chunk-3ipgsugG.js new file mode 100644 index 0000000000..10eb51b11c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-3ipgsugG.js @@ -0,0 +1,11 @@ +import e from "./chunk-CXhxxCfG.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"Closure Templates","fileTypes":["soy"],"injections":{"meta.tag":{"patterns":[{"include":"#body"}]}},"name":"soy","patterns":[{"include":"#alias"},{"include":"#delpackage"},{"include":"#namespace"},{"include":"#template"},{"include":"#comment"}],"repository":{"alias":{"captures":{"1":{"name":"storage.type.soy"},"2":{"name":"entity.name.type.soy"},"3":{"name":"storage.type.soy"},"4":{"name":"entity.name.type.soy"}},"match":"\\\\{(alias)\\\\s+([.\\\\w]+)(?:\\\\s+(as)\\\\s+(\\\\w+))?}"},"attribute":{"captures":{"1":{"name":"storage.other.attribute.soy"},"2":{"name":"string.double.quoted.soy"}},"match":"(\\\\w+)=(\\"(?:\\\\\\\\?.)*?\\")"},"body":{"patterns":[{"include":"#comment"},{"include":"#let"},{"include":"#call"},{"include":"#css"},{"include":"#xid"},{"include":"#condition"},{"include":"#condition-control"},{"include":"#for"},{"include":"#literal"},{"include":"#msg"},{"include":"#special-character"},{"include":"#print"},{"include":"text.html.basic"}]},"boolean":{"match":"true|false","name":"language.constant.boolean.soy"},"call":{"patterns":[{"begin":"\\\\{((?:del)?call)\\\\s+([.\\\\w]+)(?=[^/]*?})","beginCaptures":{"1":{"name":"storage.type.function.soy"},"2":{"name":"entity.name.function.soy"}},"end":"\\\\{/(\\\\1)}","endCaptures":{"1":{"name":"storage.type.function.soy"}},"patterns":[{"include":"#comment"},{"include":"#variant"},{"include":"#attribute"},{"include":"#param"}]},{"begin":"\\\\{((?:del)?call)(\\\\s+[.\\\\w]+)","beginCaptures":{"1":{"name":"storage.type.function.soy"},"2":{"name":"entity.name.function.soy"}},"end":"/}","patterns":[{"include":"#variant"},{"include":"#attribute"}]}]},"comment":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.documentation.soy","patterns":[{"captures":{"1":{"name":"keyword.parameter.soy"},"2":{"name":"variable.parameter.soy"}},"match":"(@param\\\\??)\\\\s+(\\\\S+)"}]},{"match":"^\\\\s*(//.*)$","name":"comment.line.double-slash.soy"}]},"condition":{"begin":"\\\\{/?(if|elseif|switch|case)\\\\s*","beginCaptures":{"1":{"name":"keyword.control.soy"}},"end":"}","patterns":[{"include":"#attribute"},{"include":"#expression"}]},"condition-control":{"captures":{"1":{"name":"keyword.control.soy"}},"match":"\\\\{(else|ifempty|default)}"},"css":{"begin":"\\\\{(css)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.soy"}},"end":"}","patterns":[{"include":"#expression"}]},"delpackage":{"captures":{"1":{"name":"storage.type.soy"},"2":{"name":"entity.name.type.soy"}},"match":"\\\\{(delpackage)\\\\s+([.\\\\w]+)}"},"expression":{"patterns":[{"include":"#boolean"},{"include":"#number"},{"include":"#function"},{"include":"#null"},{"include":"#string"},{"include":"#variable-ref"},{"include":"#operator"}]},"for":{"begin":"\\\\{/?(for(?:each|))(?=[}\\\\s])","beginCaptures":{"1":{"name":"keyword.control.soy"}},"end":"}","patterns":[{"match":"in","name":"keyword.control.soy"},{"include":"#expression"},{"include":"#body"}]},"function":{"begin":"(\\\\w+)\\\\(","beginCaptures":{"1":{"name":"support.function.soy"}},"end":"\\\\)","patterns":[{"include":"#expression"}]},"let":{"patterns":[{"begin":"\\\\{(let)\\\\s+(\\\\$\\\\w+\\\\s*:)","beginCaptures":{"1":{"name":"storage.type.soy"},"2":{"name":"variable.soy"}},"end":"/}","patterns":[{"include":"#comment"},{"include":"#expression"}]},{"begin":"\\\\{(let)\\\\s+(\\\\$\\\\w+)","beginCaptures":{"1":{"name":"storage.type.soy"},"2":{"name":"variable.soy"}},"end":"\\\\{/(\\\\1)}","endCaptures":{"1":{"name":"storage.type.soy"}},"patterns":[{"include":"#attribute"},{"include":"#body"}]}]},"literal":{"begin":"\\\\{(literal)}","beginCaptures":{"1":{"name":"keyword.other.soy"}},"end":"\\\\{/(\\\\1)}","endCaptures":{"1":{"name":"keyword.other.soy"}},"name":"meta.literal"},"msg":{"captures":{"1":{"name":"keyword.other.soy"}},"end":"}","match":"\\\\{/?((?:|fallback)msg)","patterns":[{"include":"#attribute"}]},"namespace":{"captures":{"1":{"name":"storage.type.soy"},"2":{"name":"entity.name.type.soy"}},"match":"\\\\{(namespace)\\\\s+([.\\\\w]+)}"},"null":{"match":"null","name":"language.constant.null.soy"},"number":{"match":"-?\\\\.?\\\\d+|\\\\d[.\\\\d]*","name":"language.constant.numeric"},"operator":{"match":"-|not|[%*+/]|<=|>=|[<>]|==|!=|and|or|\\\\?:|[:?]","name":"keyword.operator.soy"},"param":{"patterns":[{"begin":"\\\\{(param)\\\\s+(\\\\w+\\\\s*:)","beginCaptures":{"1":{"name":"storage.type.soy"},"2":{"name":"variable.parameter.soy"}},"end":"/}","patterns":[{"include":"#expression"}]},{"begin":"\\\\{(param)\\\\s+(\\\\w+)","beginCaptures":{"1":{"name":"storage.type.soy"},"2":{"name":"variable.parameter.soy"}},"end":"\\\\{/(\\\\1)}","endCaptures":{"1":{"name":"storage.type.soy"}},"patterns":[{"include":"#attribute"},{"include":"#body"}]}]},"print":{"begin":"\\\\{(print)?\\\\s*","beginCaptures":{"1":{"name":"keyword.other.soy"}},"end":"}","patterns":[{"captures":{"1":{"name":"support.function.soy"}},"match":"\\\\|\\\\s*(changeNewlineToBr|truncate|bidiSpanWrap|bidiUnicodeWrap)"},{"include":"#expression"}]},"special-character":{"captures":{"1":{"name":"language.support.constant"}},"match":"\\\\{(sp|nil|\\\\\\\\r|\\\\\\\\n|\\\\\\\\t|lb|rb)}"},"string":{"begin":"'","end":"'","name":"string.quoted.single.soy","patterns":[{"match":"\\\\\\\\(?:[\\"'\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.soy"}]},"template":{"begin":"\\\\{((?:|del)template)\\\\s([.\\\\w]+)","beginCaptures":{"1":{"name":"storage.type.soy"},"2":{"name":"entity.name.function.soy"}},"end":"\\\\{(/\\\\1)}","endCaptures":{"1":{"name":"storage.type.soy"}},"patterns":[{"begin":"\\\\{(@param)(\\\\??)\\\\s+(\\\\S+\\\\s*:)","beginCaptures":{"1":{"name":"keyword.parameter.soy"},"2":{"name":"storage.modifier.keyword.operator.soy"},"3":{"name":"variable.parameter.soy"}},"end":"}","name":"meta.parameter.soy","patterns":[{"include":"#type"}]},{"include":"#variant"},{"include":"#body"},{"include":"#attribute"}]},"type":{"patterns":[{"match":"any|null|\\\\?|string|bool|int|float|number|html|uri|js|css|attributes","name":"support.type.soy"},{"begin":"(list|map)(<)","beginCaptures":{"1":{"name":"support.type.soy"},"2":{"name":"support.type.punctuation.soy"}},"end":"(>)","endCaptures":{"1":{"name":"support.type.modifier.soy"}},"patterns":[{"include":"#type"}]}]},"variable-ref":{"match":"\\\\$[\\\\a-z][.\\\\w]*","name":"variable.other.soy"},"variant":{"begin":"(variant)=(\\")","beginCaptures":{"1":{"name":"storage.other.attribute.soy"},"2":{"name":"string.double.quoted.soy"}},"contentName":"string.double.quoted.soy","end":"(\\")","endCaptures":{"1":{"name":"string.double.quoted.soy"}},"patterns":[{"include":"#expression"}]},"xid":{"begin":"\\\\{(xid)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.soy"}},"end":"}","patterns":[{"include":"#expression"}]}},"scopeName":"text.html.soy","embeddedLangs":["html"],"aliases":["closure-templates"]}`, + ), + ), + r = [...e, n] +export { r as default } +//# sourceMappingURL=chunk-3ipgsugG.js.map diff --git a/src/webview-ui/build/assets/chunk-3ipgsugG.js.map b/src/webview-ui/build/assets/chunk-3ipgsugG.js.map new file mode 100644 index 0000000000..34dbf51070 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-3ipgsugG.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-3ipgsugG.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/soy.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Closure Templates\\\",\\\"fileTypes\\\":[\\\"soy\\\"],\\\"injections\\\":{\\\"meta.tag\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#body\\\"}]}},\\\"name\\\":\\\"soy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#alias\\\"},{\\\"include\\\":\\\"#delpackage\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"include\\\":\\\"#template\\\"},{\\\"include\\\":\\\"#comment\\\"}],\\\"repository\\\":{\\\"alias\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.soy\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.soy\\\"}},\\\"match\\\":\\\"\\\\\\\\{(alias)\\\\\\\\s+([.\\\\\\\\w]+)(?:\\\\\\\\s+(as)\\\\\\\\s+(\\\\\\\\w+))?}\\\"},\\\"attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.other.attribute.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.double.quoted.soy\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+)=(\\\\\\\"(?:\\\\\\\\\\\\\\\\?.)*?\\\\\\\")\\\"},\\\"body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#let\\\"},{\\\"include\\\":\\\"#call\\\"},{\\\"include\\\":\\\"#css\\\"},{\\\"include\\\":\\\"#xid\\\"},{\\\"include\\\":\\\"#condition\\\"},{\\\"include\\\":\\\"#condition-control\\\"},{\\\"include\\\":\\\"#for\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#msg\\\"},{\\\"include\\\":\\\"#special-character\\\"},{\\\"include\\\":\\\"#print\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},\\\"boolean\\\":{\\\"match\\\":\\\"true|false\\\",\\\"name\\\":\\\"language.constant.boolean.soy\\\"},\\\"call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{((?:del)?call)\\\\\\\\s+([.\\\\\\\\w]+)(?=[^/]*?})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.soy\\\"}},\\\"end\\\":\\\"\\\\\\\\{/(\\\\\\\\1)}\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.soy\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variant\\\"},{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#param\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{((?:del)?call)(\\\\\\\\s+[.\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.soy\\\"}},\\\"end\\\":\\\"/}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variant\\\"},{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.soy\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.parameter.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.soy\\\"}},\\\"match\\\":\\\"(@param\\\\\\\\??)\\\\\\\\s+(\\\\\\\\S+)\\\"}]},{\\\"match\\\":\\\"^\\\\\\\\s*(//.*)$\\\",\\\"name\\\":\\\"comment.line.double-slash.soy\\\"}]},\\\"condition\\\":{\\\"begin\\\":\\\"\\\\\\\\{/?(if|elseif|switch|case)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"condition-control\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.soy\\\"}},\\\"match\\\":\\\"\\\\\\\\{(else|ifempty|default)}\\\"},\\\"css\\\":{\\\"begin\\\":\\\"\\\\\\\\{(css)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"delpackage\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.soy\\\"}},\\\"match\\\":\\\"\\\\\\\\{(delpackage)\\\\\\\\s+([.\\\\\\\\w]+)}\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#null\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable-ref\\\"},{\\\"include\\\":\\\"#operator\\\"}]},\\\"for\\\":{\\\"begin\\\":\\\"\\\\\\\\{/?(for(?:each|))(?=[}\\\\\\\\s])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"in\\\",\\\"name\\\":\\\"keyword.control.soy\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#body\\\"}]},\\\"function\\\":{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.soy\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"let\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{(let)\\\\\\\\s+(\\\\\\\\$\\\\\\\\w+\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.soy\\\"}},\\\"end\\\":\\\"/}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{(let)\\\\\\\\s+(\\\\\\\\$\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.soy\\\"}},\\\"end\\\":\\\"\\\\\\\\{/(\\\\\\\\1)}\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#body\\\"}]}]},\\\"literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{(literal)}\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.soy\\\"}},\\\"end\\\":\\\"\\\\\\\\{/(\\\\\\\\1)}\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.soy\\\"}},\\\"name\\\":\\\"meta.literal\\\"},\\\"msg\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"match\\\":\\\"\\\\\\\\{/?((?:|fallback)msg)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"namespace\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.soy\\\"}},\\\"match\\\":\\\"\\\\\\\\{(namespace)\\\\\\\\s+([.\\\\\\\\w]+)}\\\"},\\\"null\\\":{\\\"match\\\":\\\"null\\\",\\\"name\\\":\\\"language.constant.null.soy\\\"},\\\"number\\\":{\\\"match\\\":\\\"-?\\\\\\\\.?\\\\\\\\d+|\\\\\\\\d[.\\\\\\\\d]*\\\",\\\"name\\\":\\\"language.constant.numeric\\\"},\\\"operator\\\":{\\\"match\\\":\\\"-|not|[%*+/]|<=|>=|[<>]|==|!=|and|or|\\\\\\\\?:|[:?]\\\",\\\"name\\\":\\\"keyword.operator.soy\\\"},\\\"param\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{(param)\\\\\\\\s+(\\\\\\\\w+\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.soy\\\"}},\\\"end\\\":\\\"/}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{(param)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.soy\\\"}},\\\"end\\\":\\\"\\\\\\\\{/(\\\\\\\\1)}\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#body\\\"}]}]},\\\"print\\\":{\\\"begin\\\":\\\"\\\\\\\\{(print)?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.soy\\\"}},\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\s*(changeNewlineToBr|truncate|bidiSpanWrap|bidiUnicodeWrap)\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"special-character\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"language.support.constant\\\"}},\\\"match\\\":\\\"\\\\\\\\{(sp|nil|\\\\\\\\\\\\\\\\r|\\\\\\\\\\\\\\\\n|\\\\\\\\\\\\\\\\t|lb|rb)}\\\"},\\\"string\\\":{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.soy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"'\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.soy\\\"}]},\\\"template\\\":{\\\"begin\\\":\\\"\\\\\\\\{((?:|del)template)\\\\\\\\s([.\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.soy\\\"}},\\\"end\\\":\\\"\\\\\\\\{(/\\\\\\\\1)}\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.soy\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{(@param)(\\\\\\\\??)\\\\\\\\s+(\\\\\\\\S+\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.parameter.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.keyword.operator.soy\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.parameter.soy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#variant\\\"},{\\\"include\\\":\\\"#body\\\"},{\\\"include\\\":\\\"#attribute\\\"}]},\\\"type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"any|null|\\\\\\\\?|string|bool|int|float|number|html|uri|js|css|attributes\\\",\\\"name\\\":\\\"support.type.soy\\\"},{\\\"begin\\\":\\\"(list|map)(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.punctuation.soy\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.modifier.soy\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"variable-ref\\\":{\\\"match\\\":\\\"\\\\\\\\$[\\\\\\\\a-z][.\\\\\\\\w]*\\\",\\\"name\\\":\\\"variable.other.soy\\\"},\\\"variant\\\":{\\\"begin\\\":\\\"(variant)=(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.other.attribute.soy\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.double.quoted.soy\\\"}},\\\"contentName\\\":\\\"string.double.quoted.soy\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.double.quoted.soy\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"xid\\\":{\\\"begin\\\":\\\"\\\\\\\\{(xid)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.soy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}},\\\"scopeName\\\":\\\"text.html.soy\\\",\\\"embeddedLangs\\\":[\\\"html\\\"],\\\"aliases\\\":[\\\"closure-templates\\\"]}\"))\n\nexport default [\n...html,\nlang\n]\n" + ], + "names": [ + "lang", + "soy", + "html" + ], + "mappings": "2FAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,mqNAAgqP,CAAC,EAExrPC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-3mfGJbgy.js b/src/webview-ui/build/assets/chunk-3mfGJbgy.js new file mode 100644 index 0000000000..f6c0b11a30 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-3mfGJbgy.js @@ -0,0 +1,26 @@ +import e from "./chunk-CXhxxCfG.js" +import n from "./chunk-Cne5dW8M.js" +import t from "./chunk-B_vNuMnf.js" +import a from "./chunk-B9xm8XSJ.js" +import r from "./chunk-C-HMFfM3.js" +import i from "./chunk-DPfMkruS.js" +import u from "./chunk-CzjqYRUi.js" +import c from "./chunk-BIGW1oBm.js" +import s from "./chunk-BMMyXqK5.js" +import o from "./chunk-Yzrsuije.js" +import d from "./chunk-Colysff4.js" +import b from "./chunk-Buea-lGh.js" +import "./chunk-CylS5w8V.js" +import "./chunk-DlfHMoPT.js" +import "./chunk-g9-lgVsj.js" +import "./chunk-COt5Ahok.js" +import "./chunk-CDVJQ6XC.js" +import "./chunk-DXETW7eA.js" +const m = Object.freeze( + JSON.parse( + '{"displayName":"Ruby","name":"ruby","patterns":[{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"entity.name.type.class.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"},"7":{"name":"punctuation.separator.inheritance.ruby"},"8":{"name":"entity.other.inherited-class.ruby"},"11":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?","name":"meta.class.ruby"},{"captures":{"1":{"name":"keyword.control.module.ruby"},"2":{"name":"entity.name.type.module.ruby"},"5":{"name":"punctuation.separator.namespace.ruby"}},"match":"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)","name":"meta.module.ruby"},{"captures":{"1":{"name":"keyword.control.class.ruby"},"2":{"name":"punctuation.separator.inheritance.ruby"}},"match":"\\\\b(class)\\\\s*(<<)\\\\s*","name":"meta.class.ruby"},{"match":"(?>)=)"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"},"4":{"name":"keyword.operator.assignment.augmented.ruby"}},"match":"(?>)=)"},{"captures":{"1":{"name":"variable.ruby"}},"match":"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(?==[^=>])"},{"captures":{"1":{"name":"keyword.control.ruby"},"3":{"name":"variable.ruby"}},"match":"(?]"},{"captures":{"1":{"name":"punctuation.definition.constant.hashkey.ruby"}},"match":"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)","name":"constant.language.symbol.hashkey.ruby"},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)","name":"constant.language.symbol.hashkey.ruby"},{"match":"(?)\\\\(","beginCaptures":{"1":{"name":"support.function.kernel.ruby"}},"end":"\\\\)","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"},"3":{"name":"punctuation.definition.parameters.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.ruby"}},"name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[),])","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"begin":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])","beginCaptures":{"1":{"name":"keyword.control.def.ruby"},"2":{"name":"entity.name.function.ruby"}},"end":"(?=;)|(?<=[]!\\"\')?`}\\\\w])(?=\\\\s*#|\\\\s*$)","name":"meta.function.method.with-arguments.ruby","patterns":[{"begin":"(?=[\\\\&*A-Z_a-z])","end":"(?=[,;]|\\\\s*#|\\\\s*$)","patterns":[{"include":"#method_parameters"}]},{"include":"#method_parameters"}]},{"captures":{"1":{"name":"keyword.control.def.ruby"},"3":{"name":"entity.name.function.ruby"}},"match":"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?","name":"meta.function.method.without-arguments.ruby"},{"match":"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b","name":"constant.numeric.ruby"},{"begin":":\'","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\'\\\\\\\\]","name":"constant.character.escape.ruby"}]},{"begin":":\\"","beginCaptures":{"0":{"name":"punctuation.section.symbol.begin.ruby"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.section.symbol.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"match":"(?|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and)|$)","captures":{"1":{"name":"string.regexp.interpolated.ruby"},"2":{"name":"punctuation.section.regexp.ruby"}},"contentName":"string.regexp.interpolated.ruby","end":"((/[eimnosux]*))","patterns":[{"include":"#regex_sub"}]},{"begin":"%r\\\\{","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"}[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},{"begin":"%r\\\\[","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"][eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},{"begin":"%r\\\\(","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\)[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},{"begin":"%r<","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":">[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},{"begin":"%r(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.regexp.begin.ruby"}},"end":"\\\\1[eimnosux]*","endCaptures":{"0":{"name":"punctuation.section.regexp.end.ruby"}},"name":"string.regexp.interpolated.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"%I\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%I\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%I<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%I\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%I(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%i\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%i\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%i<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%i\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%i(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%W\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%W\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%W<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%W\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%W(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%w\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%w\\\\(","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%w<","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%w\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%w(\\\\W)","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%[Qx]?\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},{"begin":"%[Qx]?\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},{"begin":"%[Qx]?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},{"begin":"%[Qx]?<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},{"begin":"%[Qx](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%([^=\\\\w\\\\s])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.interpolated.ruby","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"%q\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%q<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%q\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%q\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%q(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"name":"string.quoted.other.ruby","patterns":[{"match":"\\\\\\\\."}]},{"begin":"%s\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[)\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_parens"}]},{"begin":"%s<","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[>\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_ltgt"}]},{"begin":"%s\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[]\\\\\\\\]","name":"constant.character.escape.ruby"},{"include":"#nest_brackets"}]},{"begin":"%s\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\[\\\\\\\\}]","name":"constant.character.escape.ruby"},{"include":"#nest_curly"}]},{"begin":"%s(\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.symbol.begin.ruby"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.symbol.end.ruby"}},"name":"constant.language.symbol.ruby","patterns":[{"match":"\\\\\\\\."}]},{"captures":{"1":{"name":"punctuation.definition.constant.ruby"}},"match":"(?[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)","name":"constant.language.symbol.ruby"},{"begin":"^=begin","captures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"^=end","name":"comment.block.documentation.ruby"},{"include":"#yard"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ruby"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"end":"\\\\n","name":"comment.line.number-sign.ruby"}]},{"match":"(?<<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.html","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.html","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.html.basic"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.haml","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.haml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.haml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.xml","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.xml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.xml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.sql","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.sql","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.sql"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.graphql","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.graphql","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.graphql"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.css","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.css","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.css"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.cpp","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.cpp","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.cpp"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.c","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.c","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.c"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.js","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.js.jquery","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.js.jquery","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.js.jquery"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.shell","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.shell","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.shell"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.lua","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.lua","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.lua"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.ruby","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.ruby","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.ruby"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.yaml","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"source.yaml","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"source.yaml"},{"include":"#escaped_char"}]}]},{"begin":"(?=(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))","end":"(?!\\\\G)","name":"meta.embedded.block.slim","patterns":[{"begin":"(?><<[-~]([\\"\'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"text.slim","end":"^\\\\s*\\\\2$\\\\n?","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"text.slim"},{"include":"#escaped_char"}]}]},{"begin":"(?>=\\\\s*<<([\\"\'`]?)(\\\\w+)\\\\1)","beginCaptures":{"0":{"name":"string.definition.begin.ruby"}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\2$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?>((<<[-~]([\\"\'`]?)(\\\\w+)\\\\3,\\\\s?)*<<[-~]([\\"\'`]?)(\\\\w+)\\\\5))(.*)","beginCaptures":{"1":{"name":"string.definition.begin.ruby"},"7":{"patterns":[{"include":"source.ruby"}]}},"contentName":"string.unquoted.heredoc.ruby","end":"^\\\\s*\\\\6$","endCaptures":{"0":{"name":"string.definition.end.ruby"}},"patterns":[{"include":"#heredoc"},{"include":"#interpolated_ruby"},{"include":"#escaped_char"}]},{"begin":"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)","captures":{"1":{"name":"punctuation.separator.variable.ruby"}},"end":"(?","name":"punctuation.separator.key-value"},{"match":"->","name":"support.function.kernel.ruby"},{"match":"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<","name":"keyword.operator.assignment.augmented.ruby"},{"match":"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?","name":"keyword.operator.comparison.ruby"},{"match":"(?>","name":"keyword.operator.other.ruby"},{"match":";","name":"punctuation.separator.statement.ruby"},{"match":",","name":"punctuation.separator.object.ruby"},{"captures":{"1":{"name":"punctuation.separator.namespace.ruby"}},"match":"(::)\\\\s*(?=[A-Z])"},{"captures":{"1":{"name":"punctuation.separator.method.ruby"}},"match":"(\\\\.|::)\\\\s*(?![A-Z])"},{"match":":","name":"punctuation.separator.other.ruby"},{"match":"\\\\{","name":"punctuation.section.scope.begin.ruby"},{"match":"}","name":"punctuation.section.scope.end.ruby"},{"match":"\\\\[","name":"punctuation.section.array.begin.ruby"},{"match":"]","name":"punctuation.section.array.end.ruby"},{"match":"[()]","name":"punctuation.section.function.ruby"},{"begin":"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])","end":"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])","name":"meta.function-call.ruby","patterns":[{"match":"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])","name":"entity.name.function.ruby"}]},{"begin":"([A-Za-z]\\\\w*[!?]?)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.ruby"},"2":{"name":"punctuation.section.function.ruby"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.ruby"}},"name":"meta.function-call.ruby","patterns":[{"include":"$self"}]}],"repository":{"escaped_char":{"match":"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escape.ruby"},"heredoc":{"begin":"^<<[-~]?\\\\w+","end":"$","patterns":[{"include":"$self"}]},"interpolated_ruby":{"patterns":[{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.ruby"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.ruby"}},"name":"meta.embedded.line.ruby","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.instance.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#@@)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.class.ruby"},{"captures":{"1":{"name":"punctuation.definition.variable.ruby"}},"match":"(#\\\\$)[A-Z_a-z]\\\\w*","name":"variable.other.readwrite.global.ruby"}]},"method_parameters":{"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"#params"},{"include":"$self"}],"repository":{"braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.ruby"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.ruby"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]},"params":{"captures":{"1":{"name":"storage.type.variable.ruby"},"2":{"name":"constant.other.symbol.hashkey.parameter.function.ruby"},"3":{"name":"punctuation.definition.constant.ruby"},"4":{"name":"variable.parameter.function.ruby"}},"match":"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))"},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.function.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.function.end.ruby"}},"patterns":[{"include":"#parens"},{"include":"#braces"},{"include":"#brackets"},{"include":"$self"}]}}},"nest_brackets":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#nest_brackets"}]},"nest_brackets_i":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_brackets_i"}]},"nest_brackets_r":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"]","patterns":[{"include":"#regex_sub"},{"include":"#nest_brackets_r"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]},"nest_curly_i":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_curly_i"}]},"nest_curly_r":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"}","patterns":[{"include":"#regex_sub"},{"include":"#nest_curly_r"}]},"nest_ltgt":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#nest_ltgt"}]},"nest_ltgt_i":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_ltgt_i"}]},"nest_ltgt_r":{"begin":"<","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":">","patterns":[{"include":"#regex_sub"},{"include":"#nest_ltgt_r"}]},"nest_parens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#nest_parens"}]},"nest_parens_i":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"include":"#nest_parens_i"}]},"nest_parens_r":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.section.scope.ruby"}},"end":"\\\\)","patterns":[{"include":"#regex_sub"},{"include":"#nest_parens_r"}]},"regex_sub":{"patterns":[{"include":"#interpolated_ruby"},{"include":"#escaped_char"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.ruby"},"3":{"name":"punctuation.definition.arbitrary-repetition.ruby"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.ruby"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.ruby"}},"end":"]","name":"string.regexp.character-class.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.ruby"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.ruby"}},"name":"comment.line.number-sign.ruby","patterns":[{"include":"#escaped_char"}]},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.group.ruby"}},"end":"\\\\)","name":"string.regexp.group.ruby","patterns":[{"include":"#regex_sub"}]},{"begin":"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ruby"}},"end":"$\\\\n?","endCaptures":{"0":{"name":"punctuation.definition.comment.ruby"}},"name":"comment.line.number-sign.ruby"}]},"yard":{"patterns":[{"include":"#yard_comment"},{"include":"#yard_param_types"},{"include":"#yard_option"},{"include":"#yard_tag"},{"include":"#yard_types"},{"include":"#yard_directive"},{"include":"#yard_see"},{"include":"#yard_macro_attribute"}]},"yard_comment":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_continuation":{"match":"^\\\\s*#","name":"punctuation.definition.comment.ruby"},"yard_directive":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_macro_attribute":{"begin":"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"11":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_option":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.keyword.yard.ruby"},"11":{"name":"comment.line.hashkey.yard.ruby"},"12":{"name":"comment.line.defaultvalue.yard.ruby"},"13":{"name":"comment.line.punctuation.yard.ruby"},"14":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_param_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"6":{"name":"comment.line.parameter.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"},"10":{"name":"comment.line.type.yard.ruby"},"11":{"name":"comment.line.punctuation.yard.ruby"},"12":{"name":"comment.line.punctuation.yard.ruby"},"13":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_see":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.parameter.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]},"yard_tag":{"captures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"}},"match":"^(\\\\s*)(#)(\\\\s*)(@)(private)$","name":"comment.line.number-sign.ruby"},"yard_types":{"begin":"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?","beginCaptures":{"2":{"name":"punctuation.definition.comment.ruby"},"4":{"name":"comment.line.keyword.punctuation.yard.ruby"},"5":{"name":"comment.line.keyword.yard.ruby"},"7":{"name":"comment.line.type.yard.ruby"},"8":{"name":"comment.line.punctuation.yard.ruby"},"9":{"name":"comment.line.punctuation.yard.ruby"}},"contentName":"comment.line.string.yard.ruby","end":"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)","name":"comment.line.number-sign.ruby","patterns":[{"include":"#yard"},{"include":"#yard_continuation"}]}},"scopeName":"source.ruby","embeddedLangs":["html","haml","xml","sql","graphql","css","cpp","c","javascript","shellscript","lua","yaml"],"aliases":["rb"]}', + ), + ), + L = [...e, ...n, ...t, ...a, ...r, ...i, ...u, ...c, ...s, ...o, ...d, ...b, m] +export { L as default } +//# sourceMappingURL=chunk-3mfGJbgy.js.map diff --git a/src/webview-ui/build/assets/chunk-3mfGJbgy.js.map b/src/webview-ui/build/assets/chunk-3mfGJbgy.js.map new file mode 100644 index 0000000000..724965988a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-3mfGJbgy.js.map @@ -0,0 +1,30 @@ +{ + "version": 3, + "file": "chunk-3mfGJbgy.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ruby.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\nimport haml from './haml.mjs'\nimport xml from './xml.mjs'\nimport sql from './sql.mjs'\nimport graphql from './graphql.mjs'\nimport css from './css.mjs'\nimport cpp from './cpp.mjs'\nimport c from './c.mjs'\nimport javascript from './javascript.mjs'\nimport shellscript from './shellscript.mjs'\nimport lua from './lua.mjs'\nimport yaml from './yaml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Ruby\\\",\\\"name\\\":\\\"ruby\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.ruby\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.other.inherited-class.ruby\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.ruby\\\"}},\\\"match\\\":\\\"\\\\\\\\b(class)\\\\\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\\\\\s*((<)\\\\\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?\\\",\\\"name\\\":\\\"meta.class.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.module.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.ruby\\\"}},\\\"match\\\":\\\"\\\\\\\\b(module)\\\\\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\",\\\"name\\\":\\\"meta.module.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.ruby\\\"}},\\\"match\\\":\\\"\\\\\\\\b(class)\\\\\\\\s*(<<)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.class.ruby\\\"},{\\\"match\\\":\\\"(?>)=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ruby\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.assignment.augmented.ruby\\\"}},\\\"match\\\":\\\"(?>)=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.ruby\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(?==[^=>])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ruby\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.ruby\\\"}},\\\"match\\\":\\\"(?]\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.hashkey.ruby\\\"}},\\\"match\\\":\\\"(?>[A-Z_a-z]\\\\\\\\w*[!?]?)(:)(?!:)\\\",\\\"name\\\":\\\"constant.language.symbol.hashkey.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.ruby\\\"}},\\\"match\\\":\\\"(?[A-Z_a-z]\\\\\\\\w*[!?]?)(?=\\\\\\\\s*=>)\\\",\\\"name\\\":\\\"constant.language.symbol.hashkey.ruby\\\"},{\\\"match\\\":\\\"(?)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.kernel.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[\\\\\\\\&*A-Z_a-z])\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method_parameters\\\"}]},{\\\"include\\\":\\\"#method_parameters\\\"}]},{\\\"begin\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[]=?))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ruby\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.ruby\\\"}},\\\"name\\\":\\\"meta.function.method.with-arguments.ruby\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[\\\\\\\\&*A-Z_a-z])\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method_parameters\\\"}]},{\\\"include\\\":\\\"#method_parameters\\\"}]},{\\\"begin\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[]=?))[\\\\\\\\t ](?=[\\\\\\\\t ]*[^#;\\\\\\\\s])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ruby\\\"}},\\\"end\\\":\\\"(?=;)|(?<=[]!\\\\\\\"')?`}\\\\\\\\w])(?=\\\\\\\\s*#|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"meta.function.method.with-arguments.ruby\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[\\\\\\\\&*A-Z_a-z])\\\",\\\"end\\\":\\\"(?=[,;]|\\\\\\\\s*#|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method_parameters\\\"}]},{\\\"include\\\":\\\"#method_parameters\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.def.ruby\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ruby\\\"}},\\\"match\\\":\\\"(?=def\\\\\\\\b)(?<=^|\\\\\\\\s)(def)\\\\\\\\b(\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[]=?)))?\\\",\\\"name\\\":\\\"meta.function.method.without-arguments.ruby\\\"},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d(?>_?\\\\\\\\d)*(\\\\\\\\.(?![^\\\\\\\\s\\\\\\\\d])(?>_?\\\\\\\\d)*)?([Ee][-+]?\\\\\\\\d(?>_?\\\\\\\\d)*)?|0(?:[Xx]\\\\\\\\h(?>_?\\\\\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\\\\\d(?>_?\\\\\\\\d)*))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ruby\\\"},{\\\"begin\\\":\\\":'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.ruby\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"}]},{\\\"begin\\\":\\\":\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"match\\\":\\\"(?|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and)|$)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.regexp.interpolated.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.regexp.ruby\\\"}},\\\"contentName\\\":\\\"string.regexp.interpolated.ruby\\\",\\\"end\\\":\\\"((/[eimnosux]*))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.begin.ruby\\\"}},\\\"end\\\":\\\"}[eimnosux]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.end.ruby\\\"}},\\\"name\\\":\\\"string.regexp.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.begin.ruby\\\"}},\\\"end\\\":\\\"][eimnosux]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.end.ruby\\\"}},\\\"name\\\":\\\"string.regexp.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)[eimnosux]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.end.ruby\\\"}},\\\"name\\\":\\\"string.regexp.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},{\\\"begin\\\":\\\"%r<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.begin.ruby\\\"}},\\\"end\\\":\\\">[eimnosux]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.end.ruby\\\"}},\\\"name\\\":\\\"string.regexp.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},{\\\"begin\\\":\\\"%r(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1[eimnosux]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.regexp.end.ruby\\\"}},\\\"name\\\":\\\"string.regexp.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"%I\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%I\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%I<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%I\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%I(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%i\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%i\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%i<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%i\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%i(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"begin\\\":\\\"%W\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%W\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%W<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%W\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%W(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%w\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%w\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%w<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%w\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%w(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"begin\\\":\\\"%[Qx]?\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},{\\\"begin\\\":\\\"%[Qx]?\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},{\\\"begin\\\":\\\"%[Qx]?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},{\\\"begin\\\":\\\"%[Qx]?<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},{\\\"begin\\\":\\\"%[Qx](\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%([^=\\\\\\\\w\\\\\\\\s])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.interpolated.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"%q\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%q<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%q\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%q\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%q(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ruby\\\"}},\\\"name\\\":\\\"string.quoted.other.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"begin\\\":\\\"%s\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_parens\\\"}]},{\\\"begin\\\":\\\"%s<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[>\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_ltgt\\\"}]},{\\\"begin\\\":\\\"%s\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_brackets\\\"}]},{\\\"begin\\\":\\\"%s\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\}]\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#nest_curly\\\"}]},{\\\"begin\\\":\\\"%s(\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.ruby\\\"}},\\\"name\\\":\\\"constant.language.symbol.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.ruby\\\"}},\\\"match\\\":\\\"(?[$A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[]=?|@@?[A-Z_a-z]\\\\\\\\w*)\\\",\\\"name\\\":\\\"constant.language.symbol.ruby\\\"},{\\\"begin\\\":\\\"^=begin\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"}},\\\"end\\\":\\\"^=end\\\",\\\"name\\\":\\\"comment.block.documentation.ruby\\\"},{\\\"include\\\":\\\"#yard\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ruby\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\"}]},{\\\"match\\\":\\\"(?<<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)HTML)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)HTML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)HAML)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.haml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)HAML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"text.haml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"text.haml\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)XML)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)XML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"text.xml\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)SQL)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.sql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)SQL)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)G(?:RAPHQL|QL))\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.graphql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)G(?:RAPHQL|QL))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.graphql\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.graphql\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)CSS)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)CSS)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)CPP)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)CPP)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.cpp\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.cpp\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)C)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.c\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)C)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.c\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.c\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)J(?:S|AVASCRIPT))\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)J(?:S|AVASCRIPT))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)JQUERY)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.js.jquery\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)JQUERY)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.js.jquery\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.js.jquery\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)SH(?:|ELL))\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.shell\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)SH(?:|ELL))\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.shell\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.shell\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)LUA)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.lua\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)LUA)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.lua\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.lua\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)RUBY)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.ruby\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)RUBY)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)YA?ML)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.yaml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)YA?ML)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.yaml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.yaml\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?=(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)SLIM)\\\\\\\\b\\\\\\\\1))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.block.slim\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?><<[-~]([\\\\\\\"'`]?)((?:[_\\\\\\\\w]+_|)SLIM)\\\\\\\\b\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"text.slim\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"text.slim\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]}]},{\\\"begin\\\":\\\"(?>=\\\\\\\\s*<<([\\\\\\\"'`]?)(\\\\\\\\w+)\\\\\\\\1)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"}},\\\"contentName\\\":\\\"string.unquoted.heredoc.ruby\\\",\\\"end\\\":\\\"^\\\\\\\\2$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?>((<<[-~]([\\\\\\\"'`]?)(\\\\\\\\w+)\\\\\\\\3,\\\\\\\\s?)*<<[-~]([\\\\\\\"'`]?)(\\\\\\\\w+)\\\\\\\\5))(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.definition.begin.ruby\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.ruby\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\6$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.definition.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|\\\\\\\\{\\\\\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\\\\\s+|^do\\\\\\\\s+)(\\\\\\\\|)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.variable.ruby\\\"}},\\\"end\\\":\\\"(?\\\",\\\"name\\\":\\\"punctuation.separator.key-value\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"support.function.kernel.ruby\\\"},{\\\"match\\\":\\\"<<=|%=|&{1,2}=|\\\\\\\\*=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|\\\\\\\\^=|\\\\\\\\|{1,2}=|<<\\\",\\\"name\\\":\\\"keyword.operator.assignment.augmented.ruby\\\"},{\\\"match\\\":\\\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\\\\\t ])\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ruby\\\"},{\\\"match\\\":\\\"(?>\\\",\\\"name\\\":\\\"keyword.operator.other.ruby\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.ruby\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.ruby\\\"}},\\\"match\\\":\\\"(::)\\\\\\\\s*(?=[A-Z])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.ruby\\\"}},\\\"match\\\":\\\"(\\\\\\\\.|::)\\\\\\\\s*(?![A-Z])\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.other.ruby\\\"},{\\\"match\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"punctuation.section.scope.begin.ruby\\\"},{\\\"match\\\":\\\"}\\\",\\\"name\\\":\\\"punctuation.section.scope.end.ruby\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"},{\\\"match\\\":\\\"]\\\",\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.function.ruby\\\"},{\\\"begin\\\":\\\"(?<=[^.]\\\\\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])\\\",\\\"end\\\":\\\"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])\\\",\\\"name\\\":\\\"meta.function-call.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.function.ruby\\\"}]},{\\\"begin\\\":\\\"([A-Za-z]\\\\\\\\w*[!?]?)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.ruby\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.ruby\\\"}},\\\"name\\\":\\\"meta.function-call.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}],\\\"repository\\\":{\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\\\\\d]{1,2}|.)\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"^<<[-~]?\\\\\\\\w+\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"interpolated_ruby\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.ruby\\\"}},\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.ruby\\\"}},\\\"name\\\":\\\"meta.embedded.line.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.ruby\\\"}},\\\"match\\\":\\\"(#@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.ruby\\\"}},\\\"match\\\":\\\"(#@@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.class.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.ruby\\\"}},\\\"match\\\":\\\"(#\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.ruby\\\"}]},\\\"method_parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#params\\\"},{\\\"include\\\":\\\"$self\\\"}],\\\"repository\\\":{\\\"braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"params\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.variable.ruby\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.symbol.hashkey.parameter.function.ruby\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.ruby\\\"}},\\\"match\\\":\\\"\\\\\\\\G(&|\\\\\\\\*\\\\\\\\*?)?(?:([A-Z_a-z]\\\\\\\\w*[!?]?(:))|([A-Z_a-z]\\\\\\\\w*))\\\"},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"$self\\\"}]}}},\\\"nest_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_brackets\\\"}]},\\\"nest_brackets_i\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_brackets_i\\\"}]},\\\"nest_brackets_r\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_brackets_r\\\"}]},\\\"nest_curly\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"nest_curly_i\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_curly_i\\\"}]},\\\"nest_curly_r\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_curly_r\\\"}]},\\\"nest_ltgt\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_ltgt\\\"}]},\\\"nest_ltgt_i\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_ltgt_i\\\"}]},\\\"nest_ltgt_r\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_ltgt_r\\\"}]},\\\"nest_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_parens\\\"}]},\\\"nest_parens_i\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nest_parens_i\\\"}]},\\\"nest_parens_r\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"},{\\\"include\\\":\\\"#nest_parens_r\\\"}]},\\\"regex_sub\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.ruby\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.ruby\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.ruby\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.ruby\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.ruby\\\"}},\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.ruby\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"string.regexp.group.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_sub\\\"}]},{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?A-Za-z[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"}},\\\"name\\\":\\\"comment.line.number-sign.ruby\\\"}]},\\\"yard\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#yard_comment\\\"},{\\\"include\\\":\\\"#yard_param_types\\\"},{\\\"include\\\":\\\"#yard_option\\\"},{\\\"include\\\":\\\"#yard_tag\\\"},{\\\"include\\\":\\\"#yard_types\\\"},{\\\"include\\\":\\\"#yard_directive\\\"},{\\\"include\\\":\\\"#yard_see\\\"},{\\\"include\\\":\\\"#yard_macro_attribute\\\"}]},\\\"yard_comment\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\\\\\s|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]},\\\"yard_continuation\\\":{\\\"match\\\":\\\"^\\\\\\\\s*#\\\",\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"yard_directive\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\\\\\s+((\\\\\\\\[).+(])))?(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.line.type.yard.ruby\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]},\\\"yard_macro_attribute\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@!)(attribute|macro)(\\\\\\\\s+((\\\\\\\\[).+(])))?(?=\\\\\\\\s)(\\\\\\\\s+([_a-z]\\\\\\\\w*:?))?\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.line.type.yard.ruby\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.line.parameter.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]},\\\"yard_option\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@)(option)(?=\\\\\\\\s)(?>\\\\\\\\s+([_a-z]\\\\\\\\w*:?))?(?>\\\\\\\\s+((\\\\\\\\[).+(])))?(?>\\\\\\\\s+((\\\\\\\\S*)))?(?>\\\\\\\\s+((\\\\\\\\().+(\\\\\\\\))))?\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.line.parameter.yard.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.line.type.yard.ruby\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.line.hashkey.yard.ruby\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.line.defaultvalue.yard.ruby\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]},\\\"yard_param_types\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\\\\\s)(?>\\\\\\\\s+(?>([_a-z]\\\\\\\\w*:?)|((\\\\\\\\[).+(]))))?(?>\\\\\\\\s+(?>((\\\\\\\\[).+(]))|([_a-z]\\\\\\\\w*:?)))?\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.line.parameter.yard.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.line.type.yard.ruby\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.line.type.yard.ruby\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.line.parameter.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]},\\\"yard_see\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@)(see)(?=\\\\\\\\s)(\\\\\\\\s+(.+?))?(?=\\\\\\\\s|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.line.parameter.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]},\\\"yard_tag\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"}},\\\"match\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@)(private)$\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\"},\\\"yard_types\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(#)(\\\\\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\\\\\s)(\\\\\\\\s+((\\\\\\\\[).+(])))?\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.keyword.punctuation.yard.ruby\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.line.keyword.yard.ruby\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.line.type.yard.ruby\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.line.punctuation.yard.ruby\\\"}},\\\"contentName\\\":\\\"comment.line.string.yard.ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\s*#\\\\\\\\3\\\\\\\\s{2,}|\\\\\\\\s*#\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yard\\\"},{\\\"include\\\":\\\"#yard_continuation\\\"}]}},\\\"scopeName\\\":\\\"source.ruby\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"haml\\\",\\\"xml\\\",\\\"sql\\\",\\\"graphql\\\",\\\"css\\\",\\\"cpp\\\",\\\"c\\\",\\\"javascript\\\",\\\"shellscript\\\",\\\"lua\\\",\\\"yaml\\\"],\\\"aliases\\\":[\\\"rb\\\"]}\"))\n\nexport default [\n...html,\n...haml,\n...xml,\n...sql,\n...graphql,\n...css,\n...cpp,\n...c,\n...javascript,\n...shellscript,\n...lua,\n...yaml,\nlang\n]\n" + ], + "names": [ + "lang", + "ruby", + "html", + "haml", + "xml", + "sql", + "graphql", + "css", + "cpp", + "javascript", + "shellscript", + "lua", + "yaml" + ], + "mappings": "4kBAaA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,op4CAAg5iD,CAAC,EAEx6iDC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAG,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHZ,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-4A_iFExJ.js b/src/webview-ui/build/assets/chunk-4A_iFExJ.js new file mode 100644 index 0000000000..a7b68a37b8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-4A_iFExJ.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Systemd Units","name":"systemd","patterns":[{"include":"#comments"},{"begin":"^\\\\s*(InaccessableDirectories|InaccessibleDirectories|ReadOnlyDirectories|ReadWriteDirectories|Capabilities|TableId|UseDomainName|IPv6AcceptRouterAdvertisements|SysVStartPriority|StartLimitInterval|RequiresOverridable|RequisiteOverridable|PropagateReloadTo|PropagateReloadFrom|OnFailureIsolate|BindTo)\\\\s*(=)[\\\\t ]*","beginCaptures":{"1":{"name":"invalid.deprecated"},"2":{"name":"keyword.operator.assignment"}},"end":"(?)","name":"meta.handle.ty.wit"},"identifier":{"match":"\\\\b%?((?)","endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"name":"meta.list.ty.wit","patterns":[{"include":"#comment"},{"include":"#types","name":"meta.types.list.wit"},{"include":"#whitespace"}]},"markdown":{"patterns":[{"captures":{"1":{"name":"markup.heading.markdown"}},"match":"\\\\G\\\\s*(#+.*)$"},{"captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}},"match":"\\\\G\\\\s*((>)\\\\s+)+"},{"captures":{"1":{"name":"punctuation.definition.list.begin.markdown"}},"match":"\\\\G\\\\s*(-)\\\\s+"},{"captures":{"1":{"name":"markup.list.numbered.markdown"},"2":{"name":"punctuation.definition.list.begin.markdown"}},"match":"\\\\G\\\\s*(([0-9]+\\\\.)\\\\s+)"},{"captures":{"1":{"name":"markup.italic.markdown"}},"match":"(`.*?`)"},{"captures":{"1":{"name":"markup.bold.markdown"}},"match":"\\\\b(__.*?__)"},{"captures":{"1":{"name":"markup.italic.markdown"}},"match":"\\\\b(_.*?_)"},{"captures":{"1":{"name":"markup.bold.markdown"}},"match":"(\\\\*\\\\*.*?\\\\*\\\\*)"},{"captures":{"1":{"name":"markup.italic.markdown"}},"match":"(\\\\*.*?\\\\*)"}]},"named-type-list":{"applyEndPatternLast":1,"begin":"\\\\b%?((?","name":"punctuation.brackets.angle.end.wit"},{"match":"\\\\*","name":"keyword.operator.star.wit"},{"match":"->","name":"keyword.operator.arrow.skinny.wit"}]},"option":{"applyEndPatternLast":1,"begin":"\\\\b(option)\\\\b(<)","beginCaptures":{"1":{"name":"entity.name.type.option.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"name":"meta.option.ty.wit","patterns":[{"include":"#comment"},{"include":"#types","name":"meta.types.option.wit"},{"include":"#whitespace"}]},"package":{"captures":{"1":{"name":"storage.modifier.package-decl.wit"},"2":{"name":"meta.id.package-decl.wit","patterns":[{"captures":{"1":{"name":"entity.name.namespace.package-identifier.wit","patterns":[{"include":"#identifier"}]},"2":{"name":"keyword.operator.namespace.package-identifier.wit"},"3":{"name":"entity.name.type.package-identifier.wit","patterns":[{"include":"#identifier"}]},"5":{"name":"keyword.operator.versioning.package-identifier.wit"},"6":{"name":"constant.numeric.versioning.package-identifier.wit"}},"match":"([^:]+)(:)([^@]+)((@)(\\\\S+))?","name":"meta.package-identifier.wit"}]}},"match":"^(package)\\\\s+(\\\\S+)\\\\s*","name":"meta.package-decl.wit"},"parameter-list":{"applyEndPatternLast":1,"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.brackets.round.begin.wit"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}},"name":"meta.param-list.wit","patterns":[{"include":"#comment"},{"include":"#named-type-list"},{"include":"#whitespace"}]},"primitive":{"name":"meta.primitive.ty.wit","patterns":[{"include":"#numeric"},{"include":"#boolean"},{"include":"#string"}]},"record":{"applyEndPatternLast":1,"begin":"\\\\b(record)\\\\b\\\\s+%?((?)","endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"name":"meta.inner.result.wit","patterns":[{"include":"#comment"},{"match":"(?)","beginCaptures":{"1":{"name":"keyword.operator.arrow.skinny.wit"}},"end":"((?<=\\\\n)|(?=}))","name":"meta.result-list.wit","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#parameter-list"},{"include":"#whitespace"}]},"string":{"match":"\\\\b(string|char)\\\\b","name":"entity.name.type.string.wit"},"toplevel-use":{"captures":{"1":{"name":"keyword.other.use.toplevel-use-item.wit"},"2":{"name":"meta.interface.toplevel-use-item.wit","patterns":[{"match":"\\\\b%?((?)","endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"name":"meta.tuple.ty.wit","patterns":[{"include":"#comment"},{"include":"#types","name":"meta.types.tuple.wit"},{"match":"(,)","name":"punctuation.comma.wit"},{"include":"#whitespace"}]},"type-definition":{"applyEndPatternLast":1,"begin":"\\\\b(type)\\\\b\\\\s+%?((?)\\\",\\\"name\\\":\\\"meta.handle.ty.wit\\\"},\\\"identifier\\\":{\\\"match\\\":\\\"\\\\\\\\b%?((?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.list.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.list.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"markdown\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.heading.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(#+.*)$\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*((>)\\\\\\\\s+)+\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(-)\\\\\\\\s+\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.list.numbered.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(([0-9]+\\\\\\\\.)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.italic.markdown\\\"}},\\\"match\\\":\\\"(`.*?`)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.bold.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__.*?__)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.italic.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\b(_.*?_)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.bold.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*.*?\\\\\\\\*\\\\\\\\*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.italic.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\*.*?\\\\\\\\*)\\\"}]},\\\"named-type-list\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b%?((?\\\",\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.star.wit\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.skinny.wit\\\"}]},\\\"option\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(option)\\\\\\\\b(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.option.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.option.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.option.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"package\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.package-decl.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.id.package-decl.wit\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace.package-identifier.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.namespace.package-identifier.wit\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.package-identifier.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.versioning.package-identifier.wit\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.versioning.package-identifier.wit\\\"}},\\\"match\\\":\\\"([^:]+)(:)([^@]+)((@)(\\\\\\\\S+))?\\\",\\\"name\\\":\\\"meta.package-identifier.wit\\\"}]}},\\\"match\\\":\\\"^(package)\\\\\\\\s+(\\\\\\\\S+)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.package-decl.wit\\\"},\\\"parameter-list\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.begin.wit\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.end.wit\\\"}},\\\"name\\\":\\\"meta.param-list.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#named-type-list\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"primitive\\\":{\\\"name\\\":\\\"meta.primitive.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#string\\\"}]},\\\"record\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(record)\\\\\\\\b\\\\\\\\s+%?((?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.inner.result.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arrow.skinny.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.result-list.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#parameter-list\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"string\\\":{\\\"match\\\":\\\"\\\\\\\\b(string|char)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.string.wit\\\"},\\\"toplevel-use\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use.toplevel-use-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.interface.toplevel-use-item.wit\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b%?((?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.tuple.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.tuple.wit\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"type-definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+%?((?)","beginCaptures":{"1":{"name":"meta.undefined.bicep","patterns":[{"include":"#identifier"},{"include":"#comments"}]}},"end":"(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*=>","name":"meta.lambda-start.bicep"},"line-comment":{"match":"//.*(?=$)","name":"comment.line.double-slash.bicep"},"named-literal":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.bicep"},"numeric-literal":{"match":"[0-9]+","name":"constant.numeric.bicep"},"object-literal":{"begin":"\\\\{","end":"}","name":"meta.object-literal.bicep","patterns":[{"include":"#object-property-key"},{"include":"#expression"},{"include":"#comments"}]},"object-property-key":{"match":"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?=(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*:)","name":"variable.other.property.bicep"},"string-literal":{"begin":"'(?!'')","end":"'","name":"string.quoted.single.bicep","patterns":[{"include":"#escape-character"},{"include":"#string-literal-subst"}]},"string-literal-subst":{"begin":"(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.undefined.bicep\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#comments\\\"}]}},\\\"end\\\":\\\"(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]|/\\\\\\\\*(?:\\\\\\\\*(?!/)|[^*])*\\\\\\\\*/)*=>\\\",\\\"name\\\":\\\"meta.lambda-start.bicep\\\"},\\\"line-comment\\\":{\\\"match\\\":\\\"//.*(?=$)\\\",\\\"name\\\":\\\"comment.line.double-slash.bicep\\\"},\\\"named-literal\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.bicep\\\"},\\\"numeric-literal\\\":{\\\"match\\\":\\\"[0-9]+\\\",\\\"name\\\":\\\"constant.numeric.bicep\\\"},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.object-literal.bicep\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-property-key\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"object-property-key\\\":{\\\"match\\\":\\\"\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b(?=(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]|/\\\\\\\\*(?:\\\\\\\\*(?!/)|[^*])*\\\\\\\\*/)*:)\\\",\\\"name\\\":\\\"variable.other.property.bicep\\\"},\\\"string-literal\\\":{\\\"begin\\\":\\\"'(?!'')\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.bicep\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-character\\\"},{\\\"include\\\":\\\"#string-literal-subst\\\"}]},\\\"string-literal-subst\\\":{\\\"begin\\\":\\\"(?])","name":"keyword.operator.equal.alias.d"},{"include":"#expression"}]}]},"align-attribute":{"patterns":[{"begin":"\\\\balign\\\\s*\\\\(","end":"\\\\)","name":"storage.modifier.align-attribute.d","patterns":[{"include":"#integer-literal"}]},{"match":"\\\\balign\\\\b\\\\s*(?!\\\\()","name":"storage.modifier.align-attribute.d"}]},"alternate-wysiwyg-string":{"patterns":[{"begin":"`","end":"`[cdw]?","name":"string.alternate-wysiwyg-string.d","patterns":[{"include":"#wysiwyg-characters"}]}]},"arbitrary-delimited-string":{"begin":"q\\"(\\\\w+)","end":"\\\\1\\"","name":"string.delimited.d","patterns":[{"match":".","name":"string.delimited.d"}]},"arithmetic-expression":{"patterns":[{"match":"\\\\^\\\\^|\\\\+\\\\+|--|(?>>=|\\\\^\\\\^=|>>=|<<=|~=|\\\\^=|\\\\|=|&=|%=|/=|\\\\*=|-=|\\\\+=|=(?!>)","name":"keyword.operator.assign.d"}]},"attribute":{"patterns":[{"include":"#linkage-attribute"},{"include":"#align-attribute"},{"include":"#deprecated-attribute"},{"include":"#protection-attribute"},{"include":"#pragma"},{"match":"\\\\b(static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\\\\b","name":"entity.other.attribute-name.d"},{"include":"#property"}]},"base-type":{"patterns":[{"match":"\\\\b(auto|bool|byte|ubyte|short|ushort|int|uint|long|ulong|char|wchar|dchar|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|void|noreturn)\\\\b","name":"storage.type.basic-type.d"},{"match":"\\\\b(string|wstring|dstring|size_t|ptrdiff_t)\\\\b(?!\\\\s*=)","name":"storage.type.basic-type.d"}]},"binary-integer":{"patterns":[{"match":"\\\\b(0[Bb])[01_]+(Lu|LU|uL|UL|[LUu])?\\\\b","name":"constant.numeric.integer.binary.d"}]},"bitwise-expression":{"patterns":[{"match":"[\\\\&^|]","name":"keyword.operator.bitwise.d"}]},"block-comment":{"patterns":[{"begin":"/((?!\\\\*/)\\\\*)+","beginCaptures":{"0":{"name":"comment.block.begin.d"}},"end":"\\\\*+/","endCaptures":{"0":{"name":"comment.block.end.d"}},"name":"comment.block.content.d"}]},"break-statement":{"patterns":[{"match":"\\\\bbreak\\\\b","name":"keyword.control.break.d"}]},"case-statement":{"patterns":[{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.case.range.d"}},"end":":","endCaptures":{"0":{"name":"meta.case.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]}]},"cast-expression":{"patterns":[{"begin":"\\\\b(cast)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.cast.d"},"2":{"name":"keyword.operator.cast.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.operator.cast.end.d"}},"patterns":[{"include":"#type"},{"include":"#extended-type"}]}]},"catch":{"patterns":[{"begin":"\\\\b(catch)\\\\b\\\\s*(?=\\\\()","captures":{"1":{"name":"keyword.control.catch.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"catches":{"patterns":[{"include":"#catch"}]},"character":{"patterns":[{"match":"[\\\\w\\\\s]+","name":"string.character.d"}]},"character-literal":{"patterns":[{"begin":"\'","end":"\'","name":"string.character-literal.d","patterns":[{"include":"#character"},{"include":"#escape-sequence"}]}]},"class-declaration":{"patterns":[{"captures":{"1":{"name":"storage.type.class.d"},"2":{"name":"entity.name.class.d"}},"match":"\\\\b(class)(?:\\\\s+([A-Z_a-z][_\\\\w\\\\d]*))?\\\\b"},{"include":"#protection-attribute"},{"include":"#class-members"}]},"class-members":{"patterns":[{"include":"#shared-static-constructor"},{"include":"#shared-static-destructor"},{"include":"#constructor"},{"include":"#destructor"},{"include":"#postblit"},{"include":"#invariant"},{"include":"#member-function-attribute"}]},"colon":{"patterns":[{"match":":","name":"support.type.colon.d"}]},"comma":{"patterns":[{"match":",","name":"keyword.operator.comma.d"}]},"comment":{"patterns":[{"include":"#block-comment"},{"include":"#line-comment"},{"include":"#nesting-block-comment"}]},"condition":{"patterns":[{"include":"#version-condition"},{"include":"#debug-condition"},{"include":"#static-if-condition"}]},"conditional-declaration":{"patterns":[{"include":"#condition"},{"match":"\\\\belse\\\\b","name":"keyword.control.else.d"},{"include":"#colon"},{"include":"#decl-defs"}]},"conditional-expression":{"patterns":[{"match":"\\\\s([:?])\\\\s","name":"keyword.operator.ternary.d"}]},"conditional-statement":{"patterns":[{"include":"#condition"},{"include":"#no-scope-non-empty-statement"},{"match":"\\\\belse\\\\b","name":"keyword.control.else.d"}]},"constructor":{"patterns":[{"match":"\\\\bthis\\\\b","name":"entity.name.function.constructor.d"}]},"continue-statement":{"patterns":[{"match":"\\\\bcontinue\\\\b","name":"keyword.control.continue.d"}]},"debug-condition":{"patterns":[{"begin":"\\\\bdebug\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.debug.identifier.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.debug.identifier.end.d"}},"patterns":[{"include":"#integer-literal"},{"include":"#identifier"}]},{"match":"\\\\bdebug\\\\b\\\\s*(?!\\\\()","name":"keyword.other.debug.plain.d"}]},"debug-specification":{"patterns":[{"match":"\\\\bdebug\\\\b\\\\s*(?==)","name":"keyword.other.debug-specification.d"}]},"decimal-float":{"patterns":[{"match":"\\\\b((\\\\.[0-9])|(0\\\\.)|(([1-9]|(0[1-9_]))[0-9_]*\\\\.))[0-9_]*((e-|E-|e\\\\+|E\\\\+|[Ee])[0-9][0-9_]*)?[FLf]?i?\\\\b","name":"constant.numeric.float.decimal.d"}]},"decimal-integer":{"patterns":[{"match":"\\\\b(0(?=[^BXbx\\\\d]))|([1-9][0-9_]*)(Lu|LU|uL|UL|[LUu])?\\\\b","name":"constant.numeric.integer.decimal.d"}]},"declaration":{"patterns":[{"include":"#alias-declaration"},{"include":"#aggregate-declaration"},{"include":"#enum-declaration"},{"include":"#import-declaration"},{"include":"#storage-class"},{"include":"#void-initializer"},{"include":"#mixin-declaration"}]},"declaration-statement":{"patterns":[{"include":"#declaration"}]},"default-statement":{"patterns":[{"captures":{"1":{"name":"keyword.control.case.default.d"},"2":{"name":"meta.default.colon.d"}},"match":"\\\\b(default)\\\\s*(:)"}]},"delete-expression":{"patterns":[{"match":"\\\\bdelete\\\\s+","name":"keyword.other.delete.d"}]},"delimited-string":{"begin":"q\\"","end":"\\"","name":"string.delimited.d","patterns":[{"include":"#delimited-string-bracket"},{"include":"#delimited-string-parens"},{"include":"#delimited-string-angle-brackets"},{"include":"#delimited-string-braces"}]},"delimited-string-angle-brackets":{"patterns":[{"begin":"<","end":">","name":"constant.character.angle-brackets.d","patterns":[{"include":"#wysiwyg-characters"}]}]},"delimited-string-braces":{"patterns":[{"begin":"\\\\{","end":"}","name":"constant.character.delimited.braces.d","patterns":[{"include":"#wysiwyg-characters"}]}]},"delimited-string-bracket":{"patterns":[{"begin":"\\\\[","end":"]","name":"constant.characters.delimited.brackets.d","patterns":[{"include":"#wysiwyg-characters"}]}]},"delimited-string-parens":{"patterns":[{"begin":"\\\\(","end":"\\\\)","name":"constant.character.delimited.parens.d","patterns":[{"include":"#wysiwyg-characters"}]}]},"deprecated-statement":{"patterns":[{"begin":"\\\\bdeprecated\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.deprecated.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.deprecated.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]},{"match":"\\\\bdeprecated\\\\b\\\\s*(?!\\\\()","name":"keyword.other.deprecated.plain.d"}]},"destructor":{"patterns":[{"match":"\\\\b~this\\\\s*\\\\(\\\\s*\\\\)","name":"entity.name.class.destructor.d"}]},"do-statement":{"patterns":[{"match":"\\\\bdo\\\\b","name":"keyword.control.do.d"}]},"double-quoted-characters":{"patterns":[{"include":"#character"},{"include":"#end-of-line"},{"include":"#escape-sequence"}]},"double-quoted-string":{"patterns":[{"begin":"\\"","end":"\\"[cdw]?","name":"string.double-quoted-string.d","patterns":[{"include":"#double-quoted-characters"}]}]},"end-of-line":{"patterns":[{"match":"\\\\n+","name":"string.character.end-of-line.d"}]},"enum-declaration":{"patterns":[{"begin":"\\\\b(enum)\\\\b\\\\s+(?=.*[;=])","beginCaptures":{"1":{"name":"storage.type.enum.d"}},"end":"([A-Z_a-z][_\\\\w\\\\d]*)\\\\s*(?=[(;=])(;)?","endCaptures":{"1":{"name":"entity.name.type.enum.d"},"2":{"name":"meta.enum.end.d"}},"patterns":[{"include":"#type"},{"include":"#extended-type"},{"match":"=(?![=>])","name":"keyword.operator.equal.alias.d"}]}]},"eof":{"patterns":[{"begin":"__EOF__","beginCaptures":{"0":{"name":"comment.block.documentation.eof.start.d"}},"end":"(?!__NEVER_MATCH__)__NEVER_MATCH__","name":"text.eof.d"}]},"equal":{"patterns":[{"match":"=(?![=>])","name":"keyword.operator.equal.d"}]},"escape-sequence":{"patterns":[{"match":"(\\\\\\\\(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|Aelig|Ccedil|egrave|eacute|ecirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf?|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|nabla|isin|notin|ni|prod|sum|minux|lowast|radic|prop|infin|ang|and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|loz|spades|clubs|hearts|diams|lang|rang))","name":"constant.character.escape-sequence.entity.d"},{"match":"(\\\\\\\\(?:x[_\\\\h]{2}|u[_\\\\h]{4}|U[_\\\\h]{8}|[0-7]{1,3}))","name":"constant.character.escape-sequence.number.d"},{"match":"(\\\\\\\\[\\"\'0?\\\\\\\\abfnrtv])","name":"constant.character.escape-sequence.d"}]},"expression":{"patterns":[{"include":"#index-expression"},{"include":"#expression-no-index"}]},"expression-no-index":{"patterns":[{"include":"#function-literal"},{"include":"#assert-expression"},{"include":"#assign-expression"},{"include":"#mixin-expression"},{"include":"#import-expression"},{"include":"#traits-expression"},{"include":"#is-expression"},{"include":"#typeid-expression"},{"include":"#shift-expression"},{"include":"#logical-expression"},{"include":"#rel-expression"},{"include":"#bitwise-expression"},{"include":"#identity-expression"},{"include":"#in-expression"},{"include":"#conditional-expression"},{"include":"#arithmetic-expression"},{"include":"#new-expression"},{"include":"#delete-expression"},{"include":"#cast-expression"},{"include":"#type-specialization"},{"include":"#comma"},{"include":"#special-keyword"},{"include":"#functions"},{"include":"#type"},{"include":"#parentheses-expression"},{"include":"#lexical"}]},"extended-type":{"patterns":[{"match":"\\\\b((\\\\.\\\\s*)?[_\\\\w][_\\\\d\\\\w]*)(\\\\s*\\\\.\\\\s*[_\\\\w][_\\\\d\\\\w]*)*\\\\b","name":"entity.name.type.d"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"storage.type.array.expression.begin.d"}},"end":"]","endCaptures":{"0":{"name":"storage.type.array.expression.end.d"}},"patterns":[{"match":"\\\\.\\\\.|\\\\$","name":"keyword.operator.slice.d"},{"include":"#type"},{"include":"#expression"}]}]},"final-switch-statement":{"patterns":[{"begin":"\\\\b(final\\\\s+switch)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.final.switch.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"finally-statement":{"patterns":[{"match":"\\\\bfinally\\\\b","name":"keyword.control.throw.d"}]},"float-literal":{"patterns":[{"include":"#decimal-float"},{"include":"#hexadecimal-float"}]},"for-statement":{"patterns":[{"begin":"\\\\b(for)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.for.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"foreach-reverse-statement":{"patterns":[{"begin":"\\\\b(foreach_reverse)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.foreach_reverse.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"match":";","name":"keyword.operator.semi-colon.d"},{"include":"source.d"}]}]}]},"foreach-statement":{"patterns":[{"begin":"\\\\b(foreach)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.foreach.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"match":";","name":"keyword.operator.semi-colon.d"},{"include":"source.d"}]}]}]},"function-attribute":{"patterns":[{"match":"\\\\b(nothrow|pure)\\\\b","name":"storage.type.modifier.function-attribute.d"},{"include":"#property"}]},"function-body":{"patterns":[{"include":"#in-statement"},{"include":"#out-statement"},{"include":"#block-statement"}]},"function-literal":{"patterns":[{"match":"=>","name":"keyword.operator.lambda.d"},{"match":"\\\\b(function|delegate)\\\\b","name":"keyword.other.function-literal.d"},{"begin":"\\\\b([_\\\\w][_\\\\d\\\\w]*)\\\\s*(=>)","beginCaptures":{"1":{"name":"variable.parameter.d"},"2":{"name":"meta.lexical.token.symbolic.d"}},"end":"(?=[]),;}])","patterns":[{"include":"source.d"}]},{"begin":"(?<=[()])(\\\\s*)(\\\\{)","beginCaptures":{"1":{"name":"source.d"},"2":{"name":"source.d"}},"end":"}","patterns":[{"include":"source.d"}]}]},"function-prelude":{"patterns":[{"match":"(?!type(?:of|id))((\\\\.\\\\s*)?[_\\\\w][_\\\\d\\\\w]*)(\\\\s*\\\\.\\\\s*[_\\\\w][_\\\\d\\\\w]*)*\\\\s*(?=\\\\()","name":"entity.name.function.d"}]},"functions":{"patterns":[{"include":"#function-attribute"},{"include":"#function-prelude"}]},"goto-statement":{"patterns":[{"match":"\\\\bgoto\\\\s+default\\\\b","name":"keyword.control.goto.d"},{"match":"\\\\bgoto\\\\s+case\\\\b","name":"keyword.control.goto.d"},{"match":"\\\\bgoto\\\\b","name":"keyword.control.goto.d"}]},"hex-string":{"patterns":[{"begin":"x\\"","end":"\\"[cdw]?","name":"string.hex-string.d","patterns":[{"match":"[_s\\\\h]+","name":"constant.character.hex-string.d"}]}]},"hexadecimal-float":{"patterns":[{"match":"\\\\b0[Xx][_\\\\h]*(\\\\.[_\\\\h]*)?(p-|P-|p\\\\+|P\\\\+|[Pp])[0-9][0-9_]*[FLf]?i?\\\\b","name":"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{"patterns":[{"match":"\\\\b(0[Xx])(\\\\h[_\\\\h]*)(Lu|LU|uL|UL|[LUu])?\\\\b","name":"constant.numeric.integer.hexadecimal.d"}]},"identifier":{"patterns":[{"match":"\\\\b((\\\\.\\\\s*)?[_\\\\w][_\\\\d\\\\w]*)(\\\\s*\\\\.\\\\s*[_\\\\w][_\\\\d\\\\w]*)*\\\\b","name":"variable.d"}]},"identifier-list":{"patterns":[{"match":",","name":"keyword.other.comma.d"},{"include":"#identifier"}]},"identity-expression":{"patterns":[{"match":"\\\\b(!??is)\\\\b","name":"keyword.operator.identity.d"}]},"ies-string":{"patterns":[{"begin":"i\\"","end":"\\"[cdw]?","name":"string.ies-string.d","patterns":[{"include":"#interpolation-escape"},{"include":"#interpolation-sequence"},{"include":"#double-quoted-characters"}]}]},"ies-token-string":{"begin":"iq\\\\{","beginCaptures":{"0":{"name":"string.quoted.token.d"}},"end":"}[cdw]?","endCaptures":{"0":{"name":"string.quoted.token.d"}},"patterns":[{"include":"#interpolation-sequence"},{"include":"#token-string-content"}]},"ies-wysiwyg-string":{"patterns":[{"begin":"i`","end":"`[cdw]?","name":"string.ies-wysiwyg-string.d","patterns":[{"include":"#interpolation-escape"},{"include":"#interpolation-sequence"},{"include":"#wysiwyg-characters"}]}]},"if-statement":{"patterns":[{"begin":"\\\\b(if)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.if.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]},{"match":"\\\\belse\\\\b\\\\s*","name":"keyword.control.else.d"}]},"import-declaration":{"patterns":[{"begin":"\\\\b(static\\\\s+)?(import)\\\\s+(?!\\\\()","beginCaptures":{"1":{"name":"keyword.package.import.d"},"2":{"name":"keyword.package.import.d"}},"end":";","endCaptures":{"0":{"name":"meta.import.end.d"}},"patterns":[{"include":"#import-identifier"},{"include":"#comma"},{"include":"#comment"}]}]},"import-expression":{"patterns":[{"begin":"\\\\b(import)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.import.d"},"2":{"name":"keyword.other.import.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.import.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]}]},"import-identifier":{"patterns":[{"match":"([A-Z_a-z][_\\\\d\\\\w]*)(\\\\s*\\\\.\\\\s*[A-Z_a-z][_\\\\d\\\\w]*)*","name":"variable.parameter.import.d"}]},"in-expression":{"patterns":[{"match":"\\\\b(!??in)\\\\b","name":"keyword.operator.in.d"}]},"in-statement":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.control.in.d"}]},"index-expression":{"patterns":[{"begin":"\\\\[","end":"]","patterns":[{"match":"\\\\.\\\\.|\\\\$","name":"keyword.operator.slice.d"},{"include":"#expression-no-index"}]}]},"integer-literal":{"patterns":[{"include":"#decimal-integer"},{"include":"#binary-integer"},{"include":"#hexadecimal-integer"}]},"interface-declaration":{"patterns":[{"captures":{"1":{"name":"storage.type.interface.d"},"2":{"name":"entity.name.type.interface.d"}},"match":"\\\\b(interface)(?:\\\\s+([A-Z_a-z][_\\\\w\\\\d]*))?\\\\b"}]},"interpolation-escape":{"match":"\\\\\\\\\\\\$","name":"constant.character.escape-sequence.d"},"interpolation-sequence":{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.d"}},"name":"meta.interpolation.expression.d","patterns":[{"include":"#expression"}]},"invariant":{"patterns":[{"match":"\\\\binvariant\\\\s*\\\\(\\\\s*\\\\)","name":"entity.name.class.invariant.d"}]},"is-expression":{"patterns":[{"begin":"\\\\bis\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.token.is.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.token.is.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]}]},"keyword":{"patterns":[{"match":"\\\\babstract\\\\b","name":"keyword.token.abstract.d"},{"match":"\\\\balias\\\\b","name":"keyword.token.alias.d"},{"match":"\\\\balign\\\\b","name":"keyword.token.align.d"},{"match":"\\\\basm\\\\b","name":"keyword.token.asm.d"},{"match":"\\\\bassert\\\\b","name":"keyword.token.assert.d"},{"match":"\\\\bauto\\\\b","name":"keyword.token.auto.d"},{"match":"\\\\bbool\\\\b","name":"keyword.token.bool.d"},{"match":"\\\\bbreak\\\\b","name":"keyword.token.break.d"},{"match":"\\\\bbyte\\\\b","name":"keyword.token.byte.d"},{"match":"\\\\bcase\\\\b","name":"keyword.token.case.d"},{"match":"\\\\bcast\\\\b","name":"keyword.token.cast.d"},{"match":"\\\\bcatch\\\\b","name":"keyword.token.catch.d"},{"match":"\\\\bcdouble\\\\b","name":"keyword.token.cdouble.d"},{"match":"\\\\bcent\\\\b","name":"keyword.token.cent.d"},{"match":"\\\\bcfloat\\\\b","name":"keyword.token.cfloat.d"},{"match":"\\\\bchar\\\\b","name":"keyword.token.char.d"},{"match":"\\\\bclass\\\\b","name":"keyword.token.class.d"},{"match":"\\\\bconst\\\\b","name":"keyword.token.const.d"},{"match":"\\\\bcontinue\\\\b","name":"keyword.token.continue.d"},{"match":"\\\\bcreal\\\\b","name":"keyword.token.creal.d"},{"match":"\\\\bdchar\\\\b","name":"keyword.token.dchar.d"},{"match":"\\\\bdebug\\\\b","name":"keyword.token.debug.d"},{"match":"\\\\bdefault\\\\b","name":"keyword.token.default.d"},{"match":"\\\\bdelegate\\\\b","name":"keyword.token.delegate.d"},{"match":"\\\\bdelete\\\\b","name":"keyword.token.delete.d"},{"match":"\\\\bdeprecated\\\\b","name":"keyword.token.deprecated.d"},{"match":"\\\\bdo\\\\b","name":"keyword.token.do.d"},{"match":"\\\\bdouble\\\\b","name":"keyword.token.double.d"},{"match":"\\\\belse\\\\b","name":"keyword.token.else.d"},{"match":"\\\\benum\\\\b","name":"keyword.token.enum.d"},{"match":"\\\\bexport\\\\b","name":"keyword.token.export.d"},{"match":"\\\\bextern\\\\b","name":"keyword.token.extern.d"},{"match":"\\\\bfalse\\\\b","name":"constant.language.boolean.false.d"},{"match":"\\\\bfinal\\\\b","name":"keyword.token.final.d"},{"match":"\\\\bfinally\\\\b","name":"keyword.token.finally.d"},{"match":"\\\\bfloat\\\\b","name":"keyword.token.float.d"},{"match":"\\\\bfor\\\\b","name":"keyword.token.for.d"},{"match":"\\\\bforeach\\\\b","name":"keyword.token.foreach.d"},{"match":"\\\\bforeach_reverse\\\\b","name":"keyword.token.foreach_reverse.d"},{"match":"\\\\bfunction\\\\b","name":"keyword.token.function.d"},{"match":"\\\\bgoto\\\\b","name":"keyword.token.goto.d"},{"match":"\\\\bidouble\\\\b","name":"keyword.token.idouble.d"},{"match":"\\\\bif\\\\b","name":"keyword.token.if.d"},{"match":"\\\\bifloat\\\\b","name":"keyword.token.ifloat.d"},{"match":"\\\\bimmutable\\\\b","name":"keyword.token.immutable.d"},{"match":"\\\\bimport\\\\b","name":"keyword.token.import.d"},{"match":"\\\\bin\\\\b","name":"keyword.token.in.d"},{"match":"\\\\binout\\\\b","name":"keyword.token.inout.d"},{"match":"\\\\bint\\\\b","name":"keyword.token.int.d"},{"match":"\\\\binterface\\\\b","name":"keyword.token.interface.d"},{"match":"\\\\binvariant\\\\b","name":"keyword.token.invariant.d"},{"match":"\\\\bireal\\\\b","name":"keyword.token.ireal.d"},{"match":"\\\\bis\\\\b","name":"keyword.token.is.d"},{"match":"\\\\blazy\\\\b","name":"keyword.token.lazy.d"},{"match":"\\\\blong\\\\b","name":"keyword.token.long.d"},{"match":"\\\\bmacro\\\\b","name":"keyword.token.macro.d"},{"match":"\\\\bmixin\\\\b","name":"keyword.token.mixin.d"},{"match":"\\\\bmodule\\\\b","name":"keyword.token.module.d"},{"match":"\\\\bnew\\\\b","name":"keyword.token.new.d"},{"match":"\\\\bnothrow\\\\b","name":"keyword.token.nothrow.d"},{"match":"\\\\bnull\\\\b","name":"constant.language.null.d"},{"match":"\\\\bout\\\\b","name":"keyword.token.out.d"},{"match":"\\\\boverride\\\\b","name":"keyword.token.override.d"},{"match":"\\\\bpackage\\\\b","name":"keyword.token.package.d"},{"match":"\\\\bpragma\\\\b","name":"keyword.token.pragma.d"},{"match":"\\\\bprivate\\\\b","name":"keyword.token.private.d"},{"match":"\\\\bprotected\\\\b","name":"keyword.token.protected.d"},{"match":"\\\\bpublic\\\\b","name":"keyword.token.public.d"},{"match":"\\\\bpure\\\\b","name":"keyword.token.pure.d"},{"match":"\\\\breal\\\\b","name":"keyword.token.real.d"},{"match":"\\\\bref\\\\b","name":"keyword.token.ref.d"},{"match":"\\\\breturn\\\\b","name":"keyword.token.return.d"},{"match":"\\\\bscope\\\\b","name":"keyword.token.scope.d"},{"match":"\\\\bshared\\\\b","name":"keyword.token.shared.d"},{"match":"\\\\bshort\\\\b","name":"keyword.token.short.d"},{"match":"\\\\bstatic\\\\b","name":"keyword.token.static.d"},{"match":"\\\\bstruct\\\\b","name":"keyword.token.struct.d"},{"match":"\\\\bsuper\\\\b","name":"keyword.token.super.d"},{"match":"\\\\bswitch\\\\b","name":"keyword.token.switch.d"},{"match":"\\\\bsynchronized\\\\b","name":"keyword.token.synchronized.d"},{"match":"\\\\btemplate\\\\b","name":"keyword.token.template.d"},{"match":"\\\\bthis\\\\b","name":"keyword.token.this.d"},{"match":"\\\\bthrow\\\\b","name":"keyword.token.throw.d"},{"match":"\\\\btrue\\\\b","name":"constant.language.boolean.true.d"},{"match":"\\\\btry\\\\b","name":"keyword.token.try.d"},{"match":"\\\\btypedef\\\\b","name":"keyword.token.typedef.d"},{"match":"\\\\btypeid\\\\b","name":"keyword.token.typeid.d"},{"match":"\\\\btypeof\\\\b","name":"keyword.token.typeof.d"},{"match":"\\\\bubyte\\\\b","name":"keyword.token.ubyte.d"},{"match":"\\\\bucent\\\\b","name":"keyword.token.ucent.d"},{"match":"\\\\buint\\\\b","name":"keyword.token.uint.d"},{"match":"\\\\bulong\\\\b","name":"keyword.token.ulong.d"},{"match":"\\\\bunion\\\\b","name":"keyword.token.union.d"},{"match":"\\\\bunittest\\\\b","name":"keyword.token.unittest.d"},{"match":"\\\\bushort\\\\b","name":"keyword.token.ushort.d"},{"match":"\\\\bversion\\\\b","name":"keyword.token.version.d"},{"match":"\\\\bvoid\\\\b","name":"keyword.token.void.d"},{"match":"\\\\bvolatile\\\\b","name":"keyword.token.volatile.d"},{"match":"\\\\bwchar\\\\b","name":"keyword.token.wchar.d"},{"match":"\\\\bwhile\\\\b","name":"keyword.token.while.d"},{"match":"\\\\bwith\\\\b","name":"keyword.token.with.d"},{"match":"\\\\b__FILE__\\\\b","name":"keyword.token.__FILE__.d"},{"match":"\\\\b__MODULE__\\\\b","name":"keyword.token.__MODULE__.d"},{"match":"\\\\b__LINE__\\\\b","name":"keyword.token.__LINE__.d"},{"match":"\\\\b__FUNCTION__\\\\b","name":"keyword.token.__FUNCTION__.d"},{"match":"\\\\b__PRETTY_FUNCTION__\\\\b","name":"keyword.token.__PRETTY_FUNCTION__.d"},{"match":"\\\\b__gshared\\\\b","name":"keyword.token.__gshared.d"},{"match":"\\\\b__traits\\\\b","name":"keyword.token.__traits.d"},{"match":"\\\\b__vector\\\\b","name":"keyword.token.__vector.d"},{"match":"\\\\b__parameters\\\\b","name":"keyword.token.__parameters.d"}]},"labeled-statement":{"patterns":[{"match":"\\\\b(?!abstract|alias|align|asm|assert|auto|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|in|inout|int|interface|invariant|ireal|is|lazy|long|macro|mixin|module|new|nothrow|noreturn|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)[A-Z_a-z][0-9A-Z_a-z]*\\\\s*:","name":"entity.name.d"}]},"lexical":{"patterns":[{"include":"#comment"},{"include":"#string-literal"},{"include":"#character-literal"},{"include":"#float-literal"},{"include":"#integer-literal"},{"include":"#eof"},{"include":"#special-tokens"},{"include":"#special-token-sequence"},{"include":"#keyword"},{"include":"#identifier"}]},"line-comment":{"patterns":[{"match":"//+.*$","name":"comment.line.d"}]},"linkage-attribute":{"patterns":[{"begin":"\\\\bextern\\\\s*\\\\(\\\\s*C\\\\+\\\\+\\\\s*,","beginCaptures":{"0":{"name":"keyword.other.extern.cplusplus.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.extern.cplusplus.end.d"}},"patterns":[{"include":"#identifier"},{"include":"#comma"}]},{"begin":"\\\\bextern\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.extern.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.extern.end.d"}},"patterns":[{"include":"#linkage-type"}]}]},"linkage-type":{"patterns":[{"match":"C|C\\\\+\\\\+|D|Windows|Pascal|System","name":"storage.modifier.linkage-type.d"}]},"logical-expression":{"patterns":[{"match":"\\\\|\\\\||&&|==|!=?","name":"keyword.operator.logical.d"}]},"member-function-attribute":{"patterns":[{"match":"\\\\b(const|immutable|inout|shared)\\\\b","name":"storage.type.modifier.member-function-attribute"}]},"mixin-declaration":{"patterns":[{"begin":"\\\\bmixin\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.mixin.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.mixin.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]}]},"mixin-expression":{"patterns":[{"begin":"\\\\bmixin\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.mixin.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.mixin.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]}]},"mixin-statement":{"patterns":[{"begin":"\\\\bmixin\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.control.mixin.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.mixin.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"},{"include":"#comma"}]}]},"mixin-template-declaration":{"patterns":[{"captures":{"1":{"name":"storage.type.mixintemplate.d"},"2":{"name":"entity.name.type.mixintemplate.d"}},"match":"\\\\b(mixin\\\\s*template)(?:\\\\s+([A-Z_a-z][_\\\\w\\\\d]*))?\\\\b"}]},"module":{"packages":[{"import":"#module-declaration"}]},"module-declaration":{"patterns":[{"begin":"\\\\b(module)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.module.d"}},"end":";","endCaptures":{"0":{"name":"meta.module.end.d"}},"patterns":[{"include":"#module-identifier"},{"include":"#comment"}]}]},"module-identifier":{"patterns":[{"match":"([A-Z_a-z][_\\\\d\\\\w]*)(\\\\s*\\\\.\\\\s*[A-Z_a-z][_\\\\d\\\\w]*)*","name":"variable.parameter.module.d"}]},"nesting-block-comment":{"patterns":[{"begin":"/((?!\\\\+/)\\\\+)+","beginCaptures":{"0":{"name":"comment.block.documentation.begin.d"}},"end":"\\\\++/","endCaptures":{"0":{"name":"comment.block.documentation.end.d"}},"name":"comment.block.documentation.content.d","patterns":[{"include":"#nesting-block-comment"}]}]},"new-expression":{"patterns":[{"match":"\\\\bnew\\\\s+","name":"keyword.other.new.d"}]},"non-block-statement":{"patterns":[{"include":"#module-declaration"},{"include":"#labeled-statement"},{"include":"#if-statement"},{"include":"#while-statement"},{"include":"#do-statement"},{"include":"#for-statement"},{"include":"#static-foreach"},{"include":"#static-foreach-reverse"},{"include":"#foreach-statement"},{"include":"#foreach-reverse-statement"},{"include":"#switch-statement"},{"include":"#final-switch-statement"},{"include":"#case-statement"},{"include":"#default-statement"},{"include":"#continue-statement"},{"include":"#break-statement"},{"include":"#return-statement"},{"include":"#goto-statement"},{"include":"#with-statement"},{"include":"#synchronized-statement"},{"include":"#try-statement"},{"include":"#catches"},{"include":"#scope-guard-statement"},{"include":"#throw-statement"},{"include":"#finally-statement"},{"include":"#asm-statement"},{"include":"#pragma-statement"},{"include":"#mixin-statement"},{"include":"#conditional-statement"},{"include":"#static-assert"},{"include":"#deprecated-statement"},{"include":"#unit-test"},{"include":"#declaration-statement"}]},"operands":{"patterns":[{"match":"[:?]","name":"keyword.operator.ternary.assembly.d"},{"match":"[]\\\\[]","name":"keyword.operator.bracket.assembly.d"},{"match":">>>|\\\\|\\\\||&&|==|!=|<=|>=|<<|>>|[-!%\\\\&*+/<>^|~]","name":"keyword.operator.assembly.d"}]},"out-statement":{"patterns":[{"begin":"\\\\bout\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.control.out.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.out.end.d"}},"patterns":[{"include":"#identifier"}]},{"match":"\\\\bout\\\\b","name":"keyword.control.out.d"}]},"parentheses-expression":{"patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#expression"}]}]},"postblit":{"patterns":[{"match":"\\\\bthis\\\\s*\\\\(\\\\s*this\\\\s*\\\\)\\\\s","name":"entity.name.class.postblit.d"}]},"pragma":{"patterns":[{"match":"\\\\bpragma\\\\s*\\\\(\\\\s*[_\\\\w][_\\\\d\\\\w]*\\\\s*\\\\)","name":"keyword.other.pragma.d"},{"begin":"\\\\bpragma\\\\s*\\\\(\\\\s*[_\\\\w][_\\\\d\\\\w]*\\\\s*,","end":"\\\\)","name":"keyword.other.pragma.d","patterns":[{"include":"#expression"}]},{"match":"^#!.+","name":"gfm.markup.header.preprocessor.script-tag.d"}]},"pragma-statement":{"patterns":[{"include":"#pragma"}]},"property":{"patterns":[{"match":"@(property|safe|trusted|system|disable|nogc)\\\\b","name":"entity.name.tag.property.d"},{"include":"#user-defined-attribute"}]},"protection-attribute":{"patterns":[{"match":"\\\\b(private|package|protected|public|export)\\\\b","name":"keyword.other.protections.d"}]},"register":{"patterns":[{"match":"\\\\b(XMM0|XMM1|XMM2|XMM3|XMM4|XMM5|XMM6|XMM7|MM0|MM1|MM2|MM3|MM4|MM5|MM6|MM7|ST\\\\(0\\\\)|ST\\\\(1\\\\)|ST\\\\(2\\\\)|ST\\\\(3\\\\)|ST\\\\(4\\\\)|ST\\\\(5\\\\)|ST\\\\(6\\\\)|ST\\\\(7\\\\)|ST|TR1|TR2|TR3|TR4|TR5|TR6|TR7|DR0|DR1|DR2|DR3|DR4|DR5|DR6|DR7|CR0|CR2|CR3|CR4|EAX|EBX|ECX|EDX|EBP|ESP|EDI|ESI|AL|AH|AX|BL|BH|BX|CL|CH|CX|DL|DH|DX|BP|SP|DI|SI|ES|CS|SS|DS|GS|FS)\\\\b","name":"storage.type.assembly.register.d"}]},"register-64":{"patterns":[{"match":"\\\\b(RAX|RBX|RCX|RDX|BPL|RBP|SPL|RSP|DIL|RDI|SIL|RSI|R8B|R8W|R8D?|R9B|R9W|R9D?|R10B|R10W|R10D?|R11B|R11W|R11D?|R12B|R12W|R12D?|R13B|R13W|R13D?|R14B|R14W|R14D?|R15B|R15W|R15D?|XMM8|XMM9|XMM10|XMM11|XMM12|XMM13|XMM14|XMM15|YMM0|YMM1|YMM2|YMM3|YMM4|YMM5|YMM6|YMM7|YMM8|YMM9|YMM10|YMM11|YMM12|YMM13|YMM14|YMM15)\\\\b","name":"storage.type.assembly.register-64.d"}]},"rel-expression":{"patterns":[{"match":"!<>=?|<>=|!>=|!<=|<=|>=|<>|!>|!<|[<>]","name":"keyword.operator.rel.d"}]},"return-statement":{"patterns":[{"match":"\\\\breturn\\\\b","name":"keyword.control.return.d"}]},"scope-guard-statement":{"patterns":[{"match":"\\\\bscope\\\\s*\\\\((exit|success|failure)\\\\)","name":"keyword.control.scope.d"}]},"semi-colon":{"patterns":[{"match":";","name":"meta.statement.end.d"}]},"shared-static-constructor":{"patterns":[{"match":"\\\\b(shared\\\\s+)?static\\\\s+this\\\\s*\\\\(\\\\s*\\\\)","name":"entity.name.class.constructor.shared-static.d"},{"include":"#function-body"}]},"shared-static-destructor":{"patterns":[{"match":"\\\\b(shared\\\\s+)?static\\\\s+~this\\\\s*\\\\(\\\\s*\\\\)","name":"entity.name.class.destructor.static.d"}]},"shift-expression":{"patterns":[{"match":"<<|>>>??","name":"keyword.operator.shift.d"},{"include":"#add-expression"}]},"special-keyword":{"patterns":[{"match":"\\\\b(__(?:FILE|FILE_FULL_PATH|MODULE|LINE|FUNCTION|PRETTY_FUNCTION)__)\\\\b","name":"constant.language.special-keyword.d"}]},"special-token-sequence":{"patterns":[{"match":"#\\\\s*line.*","name":"gfm.markup.italic.special-token-sequence.d"}]},"special-tokens":{"patterns":[{"match":"\\\\b(__(?:DATE|TIME|TIMESTAMP|VENDOR|VERSION)__)\\\\b","name":"gfm.markup.raw.special-tokens.d"}]},"statement":{"patterns":[{"include":"#non-block-statement"},{"include":"#semi-colon"}]},"static-assert":{"patterns":[{"begin":"\\\\bstatic\\\\s+assert\\\\b\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.static-assert.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.static-assert.end.d"}},"patterns":[{"include":"#expression"}]}]},"static-foreach":{"patterns":[{"begin":"\\\\b(static\\\\s+foreach)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.static-foreach.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"match":";","name":"keyword.operator.semi-colon.d"},{"include":"source.d"}]}]}]},"static-foreach-reverse":{"patterns":[{"begin":"\\\\b(static\\\\s+foreach_reverse)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.static-foreach.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"match":";","name":"keyword.operator.semi-colon.d"},{"include":"source.d"}]}]}]},"static-if-condition":{"patterns":[{"begin":"\\\\bstatic\\\\s+if\\\\b\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.control.static-if.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.static-if.end.d"}},"patterns":[{"include":"#comment"},{"include":"#expression"}]}]},"storage-class":{"patterns":[{"match":"\\\\b(deprecated|enum|static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\\\\b","name":"storage.class.d"},{"include":"#linkage-attribute"},{"include":"#align-attribute"},{"include":"#property"}]},"string-literal":{"patterns":[{"include":"#wysiwyg-string"},{"include":"#alternate-wysiwyg-string"},{"include":"#hex-string"},{"include":"#arbitrary-delimited-string"},{"include":"#delimited-string"},{"include":"#double-quoted-string"},{"include":"#token-string"},{"include":"#ies-string"},{"include":"#ies-wysiwyg-string"},{"include":"#ies-token-string"}]},"struct-declaration":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.d"},"2":{"name":"entity.name.type.struct.d"}},"match":"\\\\b(struct)(?:\\\\s+([A-Z_a-z][_\\\\w\\\\d]*))?\\\\b"}]},"switch-statement":{"patterns":[{"begin":"\\\\b(switch)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.switch.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"synchronized-statement":{"patterns":[{"begin":"\\\\b(synchronized)\\\\b\\\\s*(?=\\\\()","captures":{"1":{"name":"keyword.control.synchronized.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"template-declaration":{"patterns":[{"captures":{"1":{"name":"storage.type.template.d"},"2":{"name":"entity.name.type.template.d"}},"match":"\\\\b(template)(?:\\\\s+([A-Z_a-z][_\\\\w\\\\d]*))?\\\\b"}]},"throw-statement":{"patterns":[{"match":"\\\\bthrow\\\\b","name":"keyword.control.throw.d"}]},"token-string":{"begin":"q\\\\{","beginCaptures":{"0":{"name":"string.quoted.token.d"}},"end":"}[cdw]?","endCaptures":{"0":{"name":"string.quoted.token.d"}},"patterns":[{"include":"#token-string-content"}]},"token-string-content":{"patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#token-string-content"}]},{"include":"#comment"},{"include":"#tokens"}]},"tokens":{"patterns":[{"include":"#string-literal"},{"include":"#character-literal"},{"include":"#integer-literal"},{"include":"#float-literal"},{"include":"#keyword"},{"match":"~=?|>>>|>>=?|>=?|=>|==?|<>|<=|<=?|!=|!<>=?|!<=?|!|/=|[,/:;@]|-=|--?","name":"meta.lexical.token.symbolic.d"},{"include":"#identifier"}]},"traits-argument":{"patterns":[{"include":"#expression"},{"include":"#type"}]},"traits-arguments":{"patterns":[{"include":"#traits-argument"},{"include":"#comma"}]},"traits-expression":{"patterns":[{"begin":"\\\\b__traits\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.traits.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.traits.end.d"}},"patterns":[{"include":"#traits-keyword"},{"include":"#comma"},{"include":"#traits-argument"}]}]},"traits-keyword":{"patterns":[{"match":"isAbstractClass|isArithmetic|isAssociativeArray|isFinalClass|isPOD|isNested|isFloating|isIntegral|isScalar|isStaticArray|isUnsigned|isVirtualFunction|isVirtualMethod|isAbstractFunction|isFinalFunction|isStaticFunction|isOverrideFunction|isRef|isOut|isLazy|hasMember|identifier|getAliasThis|getAttributes|getMember|getOverloads|getProtection|getVirtualFunctions|getVirtualMethods|getUnitTests|parent|classInstanceSize|getVirtualIndex|allMembers|derivedMembers|isSame|compiles","name":"support.constant.traits-keyword.d"}]},"try-statement":{"patterns":[{"match":"\\\\btry\\\\b","name":"keyword.control.try.d"}]},"type":{"patterns":[{"include":"#typeof"},{"include":"#base-type"},{"include":"#type-ctor"},{"begin":"!\\\\(","end":"\\\\)","patterns":[{"include":"#type"},{"include":"#expression"}]}]},"type-ctor":{"patterns":[{"match":"(const|immutable|inout|shared)\\\\b","name":"storage.type.modifier.d"}]},"type-specialization":{"patterns":[{"match":"\\\\b(struct|union|class|interface|enum|function|delegate|super|const|immutable|inout|shared|return|__parameters)\\\\b","name":"keyword.other.storage.type-specialization.d"}]},"typeid-expression":{"patterns":[{"match":"\\\\btypeid\\\\s*(?=\\\\()","name":"keyword.other.typeid.d"}]},"typeof":{"begin":"typeof\\\\s*\\\\(","end":"\\\\)","name":"keyword.token.typeof.d","patterns":[{"match":"return","name":"keyword.control.return.d"},{"include":"#expression"}]},"union-declaration":{"patterns":[{"captures":{"1":{"name":"storage.type.union.d"},"2":{"name":"entity.name.type.union.d"}},"match":"\\\\b(union)(?:\\\\s+([A-Z_a-z][_\\\\w\\\\d]*))?\\\\b"}]},"user-defined-attribute":{"patterns":[{"match":"@([_\\\\w][_\\\\d\\\\w]*)\\\\b","name":"entity.name.tag.user-defined-property.d"},{"begin":"@([_\\\\w][_\\\\d\\\\w]*)?\\\\(","end":"\\\\)","name":"entity.name.tag.user-defined-property.d","patterns":[{"include":"#expression"}]}]},"version-condition":{"patterns":[{"match":"\\\\bversion\\\\s*\\\\(\\\\s*unittest\\\\s*\\\\)","name":"keyword.other.version.unittest.d"},{"match":"\\\\bversion\\\\s*\\\\(\\\\s*assert\\\\s*\\\\)","name":"keyword.other.version.assert.d"},{"begin":"\\\\bversion\\\\s*\\\\(","beginCaptures":{"0":{"name":"keyword.other.version.identifier.begin.d"}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.other.version.identifer.end.d"}},"patterns":[{"include":"#integer-literal"},{"include":"#identifier"}]},{"include":"#version-specification"}]},"version-specification":{"patterns":[{"match":"\\\\bversion\\\\b\\\\s*(?==)","name":"keyword.other.version-specification.d"}]},"void-initializer":{"patterns":[{"match":"\\\\bvoid\\\\b","name":"support.type.void.d"}]},"while-statement":{"patterns":[{"begin":"\\\\b(while)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.while.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"with-statement":{"patterns":[{"begin":"\\\\b(with)\\\\b\\\\s*(?=\\\\()","captures":{"1":{"name":"keyword.control.with.d"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"source.d"}]}]}]},"wysiwyg-characters":{"patterns":[{"include":"#character"},{"include":"#end-of-line"}]},"wysiwyg-string":{"patterns":[{"begin":"r\\"","end":"\\"[cdw]?","name":"string.wysiwyg-string.d","patterns":[{"include":"#wysiwyg-characters"}]}]}},"scopeName":"source.d"}', + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-85-TOEBH.js.map diff --git a/src/webview-ui/build/assets/chunk-85-TOEBH.js.map b/src/webview-ui/build/assets/chunk-85-TOEBH.js.map new file mode 100644 index 0000000000..e865bc0028 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-85-TOEBH.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-85-TOEBH.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/d.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"D\\\",\\\"fileTypes\\\":[\\\"d\\\",\\\"di\\\",\\\"dpp\\\"],\\\"name\\\":\\\"d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#statement\\\"},{\\\"include\\\":\\\"#expression\\\"}],\\\"repository\\\":{\\\"aggregate-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#struct-declaration\\\"},{\\\"include\\\":\\\"#union-declaration\\\"},{\\\"include\\\":\\\"#mixin-template-declaration\\\"},{\\\"include\\\":\\\"#template-declaration\\\"}]},\\\"alias-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(alias)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.alias.d\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.alias.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"match\\\":\\\"=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.equal.alias.d\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"align-attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\balign\\\\\\\\s*\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"storage.modifier.align-attribute.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#integer-literal\\\"}]},{\\\"match\\\":\\\"\\\\\\\\balign\\\\\\\\b\\\\\\\\s*(?!\\\\\\\\()\\\",\\\"name\\\":\\\"storage.modifier.align-attribute.d\\\"}]},\\\"alternate-wysiwyg-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`[cdw]?\\\",\\\"name\\\":\\\"string.alternate-wysiwyg-string.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]},\\\"arbitrary-delimited-string\\\":{\\\"begin\\\":\\\"q\\\\\\\"(\\\\\\\\w+)\\\",\\\"end\\\":\\\"\\\\\\\\1\\\\\\\"\\\",\\\"name\\\":\\\"string.delimited.d\\\",\\\"patterns\\\":[{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.delimited.d\\\"}]},\\\"arithmetic-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\^\\\\\\\\^|\\\\\\\\+\\\\\\\\+|--|(?>>=|\\\\\\\\^\\\\\\\\^=|>>=|<<=|~=|\\\\\\\\^=|\\\\\\\\|=|&=|%=|/=|\\\\\\\\*=|-=|\\\\\\\\+=|=(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assign.d\\\"}]},\\\"attribute\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#linkage-attribute\\\"},{\\\"include\\\":\\\"#align-attribute\\\"},{\\\"include\\\":\\\"#deprecated-attribute\\\"},{\\\"include\\\":\\\"#protection-attribute\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"match\\\":\\\"\\\\\\\\b(static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.d\\\"},{\\\"include\\\":\\\"#property\\\"}]},\\\"base-type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(auto|bool|byte|ubyte|short|ushort|int|uint|long|ulong|char|wchar|dchar|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|void|noreturn)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.basic-type.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b(string|wstring|dstring|size_t|ptrdiff_t)\\\\\\\\b(?!\\\\\\\\s*=)\\\",\\\"name\\\":\\\"storage.type.basic-type.d\\\"}]},\\\"binary-integer\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(0[Bb])[01_]+(Lu|LU|uL|UL|[LUu])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.d\\\"}]},\\\"bitwise-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[\\\\\\\\&^|]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.d\\\"}]},\\\"block-comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/((?!\\\\\\\\*/)\\\\\\\\*)+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\*+/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.end.d\\\"}},\\\"name\\\":\\\"comment.block.content.d\\\"}]},\\\"break-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bbreak\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.break.d\\\"}]},\\\"case-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(case)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.range.d\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.case.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]}]},\\\"cast-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(cast)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.cast.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.cast.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.cast.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#extended-type\\\"}]}]},\\\"catch\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.catch.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"catches\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#catch\\\"}]},\\\"character\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[\\\\\\\\w\\\\\\\\s]+\\\",\\\"name\\\":\\\"string.character.d\\\"}]},\\\"character-literal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.character-literal.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#character\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"}]}]},\\\"class-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(class)(?:\\\\\\\\s+([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*))?\\\\\\\\b\\\"},{\\\"include\\\":\\\"#protection-attribute\\\"},{\\\"include\\\":\\\"#class-members\\\"}]},\\\"class-members\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#shared-static-constructor\\\"},{\\\"include\\\":\\\"#shared-static-destructor\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"include\\\":\\\"#destructor\\\"},{\\\"include\\\":\\\"#postblit\\\"},{\\\"include\\\":\\\"#invariant\\\"},{\\\"include\\\":\\\"#member-function-attribute\\\"}]},\\\"colon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"support.type.colon.d\\\"}]},\\\"comma\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"keyword.operator.comma.d\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comment\\\"},{\\\"include\\\":\\\"#line-comment\\\"},{\\\"include\\\":\\\"#nesting-block-comment\\\"}]},\\\"condition\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#version-condition\\\"},{\\\"include\\\":\\\"#debug-condition\\\"},{\\\"include\\\":\\\"#static-if-condition\\\"}]},\\\"conditional-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#condition\\\"},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.else.d\\\"},{\\\"include\\\":\\\"#colon\\\"},{\\\"include\\\":\\\"#decl-defs\\\"}]},\\\"conditional-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s([:?])\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.ternary.d\\\"}]},\\\"conditional-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#condition\\\"},{\\\"include\\\":\\\"#no-scope-non-empty-statement\\\"},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.else.d\\\"}]},\\\"constructor\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bthis\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.constructor.d\\\"}]},\\\"continue-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bcontinue\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.continue.d\\\"}]},\\\"debug-condition\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bdebug\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.debug.identifier.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.debug.identifier.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#integer-literal\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},{\\\"match\\\":\\\"\\\\\\\\bdebug\\\\\\\\b\\\\\\\\s*(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.other.debug.plain.d\\\"}]},\\\"debug-specification\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdebug\\\\\\\\b\\\\\\\\s*(?==)\\\",\\\"name\\\":\\\"keyword.other.debug-specification.d\\\"}]},\\\"decimal-float\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((\\\\\\\\.[0-9])|(0\\\\\\\\.)|(([1-9]|(0[1-9_]))[0-9_]*\\\\\\\\.))[0-9_]*((e-|E-|e\\\\\\\\+|E\\\\\\\\+|[Ee])[0-9][0-9_]*)?[FLf]?i?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.decimal.d\\\"}]},\\\"decimal-integer\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(0(?=[^BXbx\\\\\\\\d]))|([1-9][0-9_]*)(Lu|LU|uL|UL|[LUu])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.d\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#alias-declaration\\\"},{\\\"include\\\":\\\"#aggregate-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#storage-class\\\"},{\\\"include\\\":\\\"#void-initializer\\\"},{\\\"include\\\":\\\"#mixin-declaration\\\"}]},\\\"declaration-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"}]},\\\"default-statement\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.default.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.default.colon.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\s*(:)\\\"}]},\\\"delete-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdelete\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.other.delete.d\\\"}]},\\\"delimited-string\\\":{\\\"begin\\\":\\\"q\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.delimited.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#delimited-string-bracket\\\"},{\\\"include\\\":\\\"#delimited-string-parens\\\"},{\\\"include\\\":\\\"#delimited-string-angle-brackets\\\"},{\\\"include\\\":\\\"#delimited-string-braces\\\"}]},\\\"delimited-string-angle-brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"constant.character.angle-brackets.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]},\\\"delimited-string-braces\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"constant.character.delimited.braces.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]},\\\"delimited-string-bracket\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"constant.characters.delimited.brackets.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]},\\\"delimited-string-parens\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"constant.character.delimited.parens.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]},\\\"deprecated-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bdeprecated\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.deprecated.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.deprecated.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]},{\\\"match\\\":\\\"\\\\\\\\bdeprecated\\\\\\\\b\\\\\\\\s*(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.other.deprecated.plain.d\\\"}]},\\\"destructor\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b~this\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.class.destructor.d\\\"}]},\\\"do-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdo\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.do.d\\\"}]},\\\"double-quoted-characters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#character\\\"},{\\\"include\\\":\\\"#end-of-line\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"}]},\\\"double-quoted-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"[cdw]?\\\",\\\"name\\\":\\\"string.double-quoted-string.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-quoted-characters\\\"}]}]},\\\"end-of-line\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\n+\\\",\\\"name\\\":\\\"string.character.end-of-line.d\\\"}]},\\\"enum-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(enum)\\\\\\\\b\\\\\\\\s+(?=.*[;=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.d\\\"}},\\\"end\\\":\\\"([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*)\\\\\\\\s*(?=[(;=])(;)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.enum.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.enum.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#extended-type\\\"},{\\\"match\\\":\\\"=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.equal.alias.d\\\"}]}]},\\\"eof\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"__EOF__\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.documentation.eof.start.d\\\"}},\\\"end\\\":\\\"(?!__NEVER_MATCH__)__NEVER_MATCH__\\\",\\\"name\\\":\\\"text.eof.d\\\"}]},\\\"equal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.equal.d\\\"}]},\\\"escape-sequence\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|Aelig|Ccedil|egrave|eacute|ecirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf?|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|nabla|isin|notin|ni|prod|sum|minux|lowast|radic|prop|infin|ang|and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|loz|spades|clubs|hearts|diams|lang|rang))\\\",\\\"name\\\":\\\"constant.character.escape-sequence.entity.d\\\"},{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\(?:x[_\\\\\\\\h]{2}|u[_\\\\\\\\h]{4}|U[_\\\\\\\\h]{8}|[0-7]{1,3}))\\\",\\\"name\\\":\\\"constant.character.escape-sequence.number.d\\\"},{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[\\\\\\\"'0?\\\\\\\\\\\\\\\\abfnrtv])\\\",\\\"name\\\":\\\"constant.character.escape-sequence.d\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#index-expression\\\"},{\\\"include\\\":\\\"#expression-no-index\\\"}]},\\\"expression-no-index\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function-literal\\\"},{\\\"include\\\":\\\"#assert-expression\\\"},{\\\"include\\\":\\\"#assign-expression\\\"},{\\\"include\\\":\\\"#mixin-expression\\\"},{\\\"include\\\":\\\"#import-expression\\\"},{\\\"include\\\":\\\"#traits-expression\\\"},{\\\"include\\\":\\\"#is-expression\\\"},{\\\"include\\\":\\\"#typeid-expression\\\"},{\\\"include\\\":\\\"#shift-expression\\\"},{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#rel-expression\\\"},{\\\"include\\\":\\\"#bitwise-expression\\\"},{\\\"include\\\":\\\"#identity-expression\\\"},{\\\"include\\\":\\\"#in-expression\\\"},{\\\"include\\\":\\\"#conditional-expression\\\"},{\\\"include\\\":\\\"#arithmetic-expression\\\"},{\\\"include\\\":\\\"#new-expression\\\"},{\\\"include\\\":\\\"#delete-expression\\\"},{\\\"include\\\":\\\"#cast-expression\\\"},{\\\"include\\\":\\\"#type-specialization\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#special-keyword\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#parentheses-expression\\\"},{\\\"include\\\":\\\"#lexical\\\"}]},\\\"extended-type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((\\\\\\\\.\\\\\\\\s*)?[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)(\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.d\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.array.expression.begin.d\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.array.expression.end.d\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.operator.slice.d\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"final-switch-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(final\\\\\\\\s+switch)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.final.switch.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"finally-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bfinally\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.throw.d\\\"}]},\\\"float-literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decimal-float\\\"},{\\\"include\\\":\\\"#hexadecimal-float\\\"}]},\\\"for-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"foreach-reverse-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(foreach_reverse)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.foreach_reverse.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.semi-colon.d\\\"},{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"foreach-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(foreach)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.foreach.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.semi-colon.d\\\"},{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"function-attribute\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(nothrow|pure)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.modifier.function-attribute.d\\\"},{\\\"include\\\":\\\"#property\\\"}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#in-statement\\\"},{\\\"include\\\":\\\"#out-statement\\\"},{\\\"include\\\":\\\"#block-statement\\\"}]},\\\"function-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.lambda.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b(function|delegate)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.function-literal.d\\\"},{\\\"begin\\\":\\\"\\\\\\\\b([_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)\\\\\\\\s*(=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.lexical.token.symbolic.d\\\"}},\\\"end\\\":\\\"(?=[]),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]},{\\\"begin\\\":\\\"(?<=[()])(\\\\\\\\s*)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"source.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.d\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]},\\\"function-prelude\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?!type(?:of|id))((\\\\\\\\.\\\\\\\\s*)?[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)(\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)*\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.d\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function-attribute\\\"},{\\\"include\\\":\\\"#function-prelude\\\"}]},\\\"goto-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bgoto\\\\\\\\s+default\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.goto.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bgoto\\\\\\\\s+case\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.goto.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bgoto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.goto.d\\\"}]},\\\"hex-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"x\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"[cdw]?\\\",\\\"name\\\":\\\"string.hex-string.d\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[_s\\\\\\\\h]+\\\",\\\"name\\\":\\\"constant.character.hex-string.d\\\"}]}]},\\\"hexadecimal-float\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b0[Xx][_\\\\\\\\h]*(\\\\\\\\.[_\\\\\\\\h]*)?(p-|P-|p\\\\\\\\+|P\\\\\\\\+|[Pp])[0-9][0-9_]*[FLf]?i?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hexadecimal.d\\\"}]},\\\"hexadecimal-integer\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(0[Xx])(\\\\\\\\h[_\\\\\\\\h]*)(Lu|LU|uL|UL|[LUu])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.d\\\"}]},\\\"identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((\\\\\\\\.\\\\\\\\s*)?[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)(\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.d\\\"}]},\\\"identifier-list\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"keyword.other.comma.d\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"identity-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(!??is)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.identity.d\\\"}]},\\\"ies-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"i\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"[cdw]?\\\",\\\"name\\\":\\\"string.ies-string.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation-escape\\\"},{\\\"include\\\":\\\"#interpolation-sequence\\\"},{\\\"include\\\":\\\"#double-quoted-characters\\\"}]}]},\\\"ies-token-string\\\":{\\\"begin\\\":\\\"iq\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.token.d\\\"}},\\\"end\\\":\\\"}[cdw]?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.token.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation-sequence\\\"},{\\\"include\\\":\\\"#token-string-content\\\"}]},\\\"ies-wysiwyg-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"i`\\\",\\\"end\\\":\\\"`[cdw]?\\\",\\\"name\\\":\\\"string.ies-wysiwyg-string.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation-escape\\\"},{\\\"include\\\":\\\"#interpolation-sequence\\\"},{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(if)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"keyword.control.else.d\\\"}]},\\\"import-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(static\\\\\\\\s+)?(import)\\\\\\\\s+(?!\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.package.import.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.package.import.d\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.import.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-identifier\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"import-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.import.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.import.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]}]},\\\"import-identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([A-Z_a-z][_\\\\\\\\d\\\\\\\\w]*)(\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[A-Z_a-z][_\\\\\\\\d\\\\\\\\w]*)*\\\",\\\"name\\\":\\\"variable.parameter.import.d\\\"}]},\\\"in-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(!??in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.in.d\\\"}]},\\\"in-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.in.d\\\"}]},\\\"index-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.operator.slice.d\\\"},{\\\"include\\\":\\\"#expression-no-index\\\"}]}]},\\\"integer-literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decimal-integer\\\"},{\\\"include\\\":\\\"#binary-integer\\\"},{\\\"include\\\":\\\"#hexadecimal-integer\\\"}]},\\\"interface-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(interface)(?:\\\\\\\\s+([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*))?\\\\\\\\b\\\"}]},\\\"interpolation-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.character.escape-sequence.d\\\"},\\\"interpolation-sequence\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.d\\\"}},\\\"name\\\":\\\"meta.interpolation.expression.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"invariant\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\binvariant\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.class.invariant.d\\\"}]},\\\"is-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bis\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.token.is.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.token.is.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\babstract\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.abstract.d\\\"},{\\\"match\\\":\\\"\\\\\\\\balias\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.alias.d\\\"},{\\\"match\\\":\\\"\\\\\\\\balign\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.align.d\\\"},{\\\"match\\\":\\\"\\\\\\\\basm\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.asm.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bassert\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.assert.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bauto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.auto.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bbool\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.bool.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bbreak\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.break.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bbyte\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.byte.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcase\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.case.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcast\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.cast.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcatch\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.catch.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcdouble\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.cdouble.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcent\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.cent.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcfloat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.cfloat.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bchar\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.char.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bclass\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.class.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bconst\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.const.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcontinue\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.continue.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bcreal\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.creal.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdchar\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.dchar.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdebug\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.debug.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdefault\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.default.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdelegate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.delegate.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdelete\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.delete.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdeprecated\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.deprecated.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdo\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.do.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bdouble\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.double.d\\\"},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.else.d\\\"},{\\\"match\\\":\\\"\\\\\\\\benum\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.enum.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bexport\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.export.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bextern\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.extern.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bfalse\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.false.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bfinal\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.final.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bfinally\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.finally.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bfloat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.float.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bfor\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.for.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bforeach\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.foreach.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bforeach_reverse\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.foreach_reverse.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bfunction\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.function.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bgoto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.goto.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bidouble\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.idouble.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bif\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.if.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bifloat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ifloat.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bimmutable\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.immutable.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bimport\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.import.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.in.d\\\"},{\\\"match\\\":\\\"\\\\\\\\binout\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.inout.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bint\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.int.d\\\"},{\\\"match\\\":\\\"\\\\\\\\binterface\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.interface.d\\\"},{\\\"match\\\":\\\"\\\\\\\\binvariant\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.invariant.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bireal\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ireal.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bis\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.is.d\\\"},{\\\"match\\\":\\\"\\\\\\\\blazy\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.lazy.d\\\"},{\\\"match\\\":\\\"\\\\\\\\blong\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.long.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bmacro\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.macro.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bmixin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.mixin.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bmodule\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.module.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bnew\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.new.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bnothrow\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.nothrow.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bnull\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.null.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bout\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.out.d\\\"},{\\\"match\\\":\\\"\\\\\\\\boverride\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.override.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bpackage\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.package.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bpragma\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.pragma.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.private.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bprotected\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.protected.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bpublic\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.public.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bpure\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.pure.d\\\"},{\\\"match\\\":\\\"\\\\\\\\breal\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.real.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bref\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ref.d\\\"},{\\\"match\\\":\\\"\\\\\\\\breturn\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.return.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bscope\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.scope.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bshared\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.shared.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bshort\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.short.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bstatic\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.static.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bstruct\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.struct.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bsuper\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.super.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bswitch\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.switch.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bsynchronized\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.synchronized.d\\\"},{\\\"match\\\":\\\"\\\\\\\\btemplate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.template.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bthis\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.this.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bthrow\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.throw.d\\\"},{\\\"match\\\":\\\"\\\\\\\\btrue\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.true.d\\\"},{\\\"match\\\":\\\"\\\\\\\\btry\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.try.d\\\"},{\\\"match\\\":\\\"\\\\\\\\btypedef\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.typedef.d\\\"},{\\\"match\\\":\\\"\\\\\\\\btypeid\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.typeid.d\\\"},{\\\"match\\\":\\\"\\\\\\\\btypeof\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.typeof.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bubyte\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ubyte.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bucent\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ucent.d\\\"},{\\\"match\\\":\\\"\\\\\\\\buint\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.uint.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bulong\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ulong.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bunion\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.union.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bunittest\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.unittest.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bushort\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.ushort.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bversion\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.version.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bvoid\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.void.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bvolatile\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.volatile.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bwchar\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.wchar.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bwhile\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.while.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bwith\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.with.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__FILE__\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__FILE__.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__MODULE__\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__MODULE__.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__LINE__\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__LINE__.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__FUNCTION__\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__FUNCTION__.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__PRETTY_FUNCTION__\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__PRETTY_FUNCTION__.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__gshared\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__gshared.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__traits\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__traits.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__vector\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__vector.d\\\"},{\\\"match\\\":\\\"\\\\\\\\b__parameters\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.token.__parameters.d\\\"}]},\\\"labeled-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?!abstract|alias|align|asm|assert|auto|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|in|inout|int|interface|invariant|ireal|is|lazy|long|macro|mixin|module|new|nothrow|noreturn|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*:\\\",\\\"name\\\":\\\"entity.name.d\\\"}]},\\\"lexical\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string-literal\\\"},{\\\"include\\\":\\\"#character-literal\\\"},{\\\"include\\\":\\\"#float-literal\\\"},{\\\"include\\\":\\\"#integer-literal\\\"},{\\\"include\\\":\\\"#eof\\\"},{\\\"include\\\":\\\"#special-tokens\\\"},{\\\"include\\\":\\\"#special-token-sequence\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"line-comment\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"//+.*$\\\",\\\"name\\\":\\\"comment.line.d\\\"}]},\\\"linkage-attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bextern\\\\\\\\s*\\\\\\\\(\\\\\\\\s*C\\\\\\\\+\\\\\\\\+\\\\\\\\s*,\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.extern.cplusplus.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.extern.cplusplus.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#comma\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bextern\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.extern.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.extern.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#linkage-type\\\"}]}]},\\\"linkage-type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"C|C\\\\\\\\+\\\\\\\\+|D|Windows|Pascal|System\\\",\\\"name\\\":\\\"storage.modifier.linkage-type.d\\\"}]},\\\"logical-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\||&&|==|!=?\\\",\\\"name\\\":\\\"keyword.operator.logical.d\\\"}]},\\\"member-function-attribute\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(const|immutable|inout|shared)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.modifier.member-function-attribute\\\"}]},\\\"mixin-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bmixin\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.mixin.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.mixin.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]}]},\\\"mixin-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bmixin\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.mixin.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.mixin.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]}]},\\\"mixin-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bmixin\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.mixin.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.mixin.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comma\\\"}]}]},\\\"mixin-template-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.mixintemplate.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.mixintemplate.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(mixin\\\\\\\\s*template)(?:\\\\\\\\s+([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*))?\\\\\\\\b\\\"}]},\\\"module\\\":{\\\"packages\\\":[{\\\"import\\\":\\\"#module-declaration\\\"}]},\\\"module-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(module)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.package.module.d\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.module.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#module-identifier\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"module-identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([A-Z_a-z][_\\\\\\\\d\\\\\\\\w]*)(\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[A-Z_a-z][_\\\\\\\\d\\\\\\\\w]*)*\\\",\\\"name\\\":\\\"variable.parameter.module.d\\\"}]},\\\"nesting-block-comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/((?!\\\\\\\\+/)\\\\\\\\+)+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.documentation.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\++/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.documentation.end.d\\\"}},\\\"name\\\":\\\"comment.block.documentation.content.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nesting-block-comment\\\"}]}]},\\\"new-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bnew\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.other.new.d\\\"}]},\\\"non-block-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#module-declaration\\\"},{\\\"include\\\":\\\"#labeled-statement\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"include\\\":\\\"#while-statement\\\"},{\\\"include\\\":\\\"#do-statement\\\"},{\\\"include\\\":\\\"#for-statement\\\"},{\\\"include\\\":\\\"#static-foreach\\\"},{\\\"include\\\":\\\"#static-foreach-reverse\\\"},{\\\"include\\\":\\\"#foreach-statement\\\"},{\\\"include\\\":\\\"#foreach-reverse-statement\\\"},{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#final-switch-statement\\\"},{\\\"include\\\":\\\"#case-statement\\\"},{\\\"include\\\":\\\"#default-statement\\\"},{\\\"include\\\":\\\"#continue-statement\\\"},{\\\"include\\\":\\\"#break-statement\\\"},{\\\"include\\\":\\\"#return-statement\\\"},{\\\"include\\\":\\\"#goto-statement\\\"},{\\\"include\\\":\\\"#with-statement\\\"},{\\\"include\\\":\\\"#synchronized-statement\\\"},{\\\"include\\\":\\\"#try-statement\\\"},{\\\"include\\\":\\\"#catches\\\"},{\\\"include\\\":\\\"#scope-guard-statement\\\"},{\\\"include\\\":\\\"#throw-statement\\\"},{\\\"include\\\":\\\"#finally-statement\\\"},{\\\"include\\\":\\\"#asm-statement\\\"},{\\\"include\\\":\\\"#pragma-statement\\\"},{\\\"include\\\":\\\"#mixin-statement\\\"},{\\\"include\\\":\\\"#conditional-statement\\\"},{\\\"include\\\":\\\"#static-assert\\\"},{\\\"include\\\":\\\"#deprecated-statement\\\"},{\\\"include\\\":\\\"#unit-test\\\"},{\\\"include\\\":\\\"#declaration-statement\\\"}]},\\\"operands\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[:?]\\\",\\\"name\\\":\\\"keyword.operator.ternary.assembly.d\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"keyword.operator.bracket.assembly.d\\\"},{\\\"match\\\":\\\">>>|\\\\\\\\|\\\\\\\\||&&|==|!=|<=|>=|<<|>>|[-!%\\\\\\\\&*+/<>^|~]\\\",\\\"name\\\":\\\"keyword.operator.assembly.d\\\"}]},\\\"out-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bout\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.out.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.out.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"}]},{\\\"match\\\":\\\"\\\\\\\\bout\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.out.d\\\"}]},\\\"parentheses-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"postblit\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bthis\\\\\\\\s*\\\\\\\\(\\\\\\\\s*this\\\\\\\\s*\\\\\\\\)\\\\\\\\s\\\",\\\"name\\\":\\\"entity.name.class.postblit.d\\\"}]},\\\"pragma\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bpragma\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.other.pragma.d\\\"},{\\\"begin\\\":\\\"\\\\\\\\bpragma\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*\\\\\\\\s*,\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.other.pragma.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"^#!.+\\\",\\\"name\\\":\\\"gfm.markup.header.preprocessor.script-tag.d\\\"}]},\\\"pragma-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#pragma\\\"}]},\\\"property\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"@(property|safe|trusted|system|disable|nogc)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.property.d\\\"},{\\\"include\\\":\\\"#user-defined-attribute\\\"}]},\\\"protection-attribute\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(private|package|protected|public|export)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.protections.d\\\"}]},\\\"register\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(XMM0|XMM1|XMM2|XMM3|XMM4|XMM5|XMM6|XMM7|MM0|MM1|MM2|MM3|MM4|MM5|MM6|MM7|ST\\\\\\\\(0\\\\\\\\)|ST\\\\\\\\(1\\\\\\\\)|ST\\\\\\\\(2\\\\\\\\)|ST\\\\\\\\(3\\\\\\\\)|ST\\\\\\\\(4\\\\\\\\)|ST\\\\\\\\(5\\\\\\\\)|ST\\\\\\\\(6\\\\\\\\)|ST\\\\\\\\(7\\\\\\\\)|ST|TR1|TR2|TR3|TR4|TR5|TR6|TR7|DR0|DR1|DR2|DR3|DR4|DR5|DR6|DR7|CR0|CR2|CR3|CR4|EAX|EBX|ECX|EDX|EBP|ESP|EDI|ESI|AL|AH|AX|BL|BH|BX|CL|CH|CX|DL|DH|DX|BP|SP|DI|SI|ES|CS|SS|DS|GS|FS)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.assembly.register.d\\\"}]},\\\"register-64\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(RAX|RBX|RCX|RDX|BPL|RBP|SPL|RSP|DIL|RDI|SIL|RSI|R8B|R8W|R8D?|R9B|R9W|R9D?|R10B|R10W|R10D?|R11B|R11W|R11D?|R12B|R12W|R12D?|R13B|R13W|R13D?|R14B|R14W|R14D?|R15B|R15W|R15D?|XMM8|XMM9|XMM10|XMM11|XMM12|XMM13|XMM14|XMM15|YMM0|YMM1|YMM2|YMM3|YMM4|YMM5|YMM6|YMM7|YMM8|YMM9|YMM10|YMM11|YMM12|YMM13|YMM14|YMM15)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.assembly.register-64.d\\\"}]},\\\"rel-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"!<>=?|<>=|!>=|!<=|<=|>=|<>|!>|!<|[<>]\\\",\\\"name\\\":\\\"keyword.operator.rel.d\\\"}]},\\\"return-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\breturn\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.return.d\\\"}]},\\\"scope-guard-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bscope\\\\\\\\s*\\\\\\\\((exit|success|failure)\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.control.scope.d\\\"}]},\\\"semi-colon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"meta.statement.end.d\\\"}]},\\\"shared-static-constructor\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(shared\\\\\\\\s+)?static\\\\\\\\s+this\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.class.constructor.shared-static.d\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"shared-static-destructor\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(shared\\\\\\\\s+)?static\\\\\\\\s+~this\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.class.destructor.static.d\\\"}]},\\\"shift-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<<|>>>??\\\",\\\"name\\\":\\\"keyword.operator.shift.d\\\"},{\\\"include\\\":\\\"#add-expression\\\"}]},\\\"special-keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(__(?:FILE|FILE_FULL_PATH|MODULE|LINE|FUNCTION|PRETTY_FUNCTION)__)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.special-keyword.d\\\"}]},\\\"special-token-sequence\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"#\\\\\\\\s*line.*\\\",\\\"name\\\":\\\"gfm.markup.italic.special-token-sequence.d\\\"}]},\\\"special-tokens\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(__(?:DATE|TIME|TIMESTAMP|VENDOR|VERSION)__)\\\\\\\\b\\\",\\\"name\\\":\\\"gfm.markup.raw.special-tokens.d\\\"}]},\\\"statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#non-block-statement\\\"},{\\\"include\\\":\\\"#semi-colon\\\"}]},\\\"static-assert\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bstatic\\\\\\\\s+assert\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.static-assert.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.static-assert.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"static-foreach\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(static\\\\\\\\s+foreach)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.static-foreach.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.semi-colon.d\\\"},{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"static-foreach-reverse\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(static\\\\\\\\s+foreach_reverse)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.static-foreach.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.semi-colon.d\\\"},{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"static-if-condition\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bstatic\\\\\\\\s+if\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.static-if.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.static-if.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"storage-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(deprecated|enum|static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.class.d\\\"},{\\\"include\\\":\\\"#linkage-attribute\\\"},{\\\"include\\\":\\\"#align-attribute\\\"},{\\\"include\\\":\\\"#property\\\"}]},\\\"string-literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-string\\\"},{\\\"include\\\":\\\"#alternate-wysiwyg-string\\\"},{\\\"include\\\":\\\"#hex-string\\\"},{\\\"include\\\":\\\"#arbitrary-delimited-string\\\"},{\\\"include\\\":\\\"#delimited-string\\\"},{\\\"include\\\":\\\"#double-quoted-string\\\"},{\\\"include\\\":\\\"#token-string\\\"},{\\\"include\\\":\\\"#ies-string\\\"},{\\\"include\\\":\\\"#ies-wysiwyg-string\\\"},{\\\"include\\\":\\\"#ies-token-string\\\"}]},\\\"struct-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.struct.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(struct)(?:\\\\\\\\s+([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*))?\\\\\\\\b\\\"}]},\\\"switch-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(switch)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"synchronized-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(synchronized)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.synchronized.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"template-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.template.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(template)(?:\\\\\\\\s+([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*))?\\\\\\\\b\\\"}]},\\\"throw-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bthrow\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.throw.d\\\"}]},\\\"token-string\\\":{\\\"begin\\\":\\\"q\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.token.d\\\"}},\\\"end\\\":\\\"}[cdw]?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.token.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#token-string-content\\\"}]},\\\"token-string-content\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token-string-content\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#tokens\\\"}]},\\\"tokens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-literal\\\"},{\\\"include\\\":\\\"#character-literal\\\"},{\\\"include\\\":\\\"#integer-literal\\\"},{\\\"include\\\":\\\"#float-literal\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"match\\\":\\\"~=?|>>>|>>=?|>=?|=>|==?|<>|<=|<=?|!=|!<>=?|!<=?|!|/=|[,/:;@]|-=|--?\\\",\\\"name\\\":\\\"meta.lexical.token.symbolic.d\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"traits-argument\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"traits-arguments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#traits-argument\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"traits-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b__traits\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.traits.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.traits.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#traits-keyword\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#traits-argument\\\"}]}]},\\\"traits-keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"isAbstractClass|isArithmetic|isAssociativeArray|isFinalClass|isPOD|isNested|isFloating|isIntegral|isScalar|isStaticArray|isUnsigned|isVirtualFunction|isVirtualMethod|isAbstractFunction|isFinalFunction|isStaticFunction|isOverrideFunction|isRef|isOut|isLazy|hasMember|identifier|getAliasThis|getAttributes|getMember|getOverloads|getProtection|getVirtualFunctions|getVirtualMethods|getUnitTests|parent|classInstanceSize|getVirtualIndex|allMembers|derivedMembers|isSame|compiles\\\",\\\"name\\\":\\\"support.constant.traits-keyword.d\\\"}]},\\\"try-statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\btry\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.try.d\\\"}]},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof\\\"},{\\\"include\\\":\\\"#base-type\\\"},{\\\"include\\\":\\\"#type-ctor\\\"},{\\\"begin\\\":\\\"!\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"type-ctor\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(const|immutable|inout|shared)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.modifier.d\\\"}]},\\\"type-specialization\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(struct|union|class|interface|enum|function|delegate|super|const|immutable|inout|shared|return|__parameters)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.storage.type-specialization.d\\\"}]},\\\"typeid-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\btypeid\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.other.typeid.d\\\"}]},\\\"typeof\\\":{\\\"begin\\\":\\\"typeof\\\\\\\\s*\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.token.typeof.d\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"return\\\",\\\"name\\\":\\\"keyword.control.return.d\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"union-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.union.d\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.union.d\\\"}},\\\"match\\\":\\\"\\\\\\\\b(union)(?:\\\\\\\\s+([A-Z_a-z][_\\\\\\\\w\\\\\\\\d]*))?\\\\\\\\b\\\"}]},\\\"user-defined-attribute\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"@([_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.user-defined-property.d\\\"},{\\\"begin\\\":\\\"@([_\\\\\\\\w][_\\\\\\\\d\\\\\\\\w]*)?\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.tag.user-defined-property.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"version-condition\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bversion\\\\\\\\s*\\\\\\\\(\\\\\\\\s*unittest\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.other.version.unittest.d\\\"},{\\\"match\\\":\\\"\\\\\\\\bversion\\\\\\\\s*\\\\\\\\(\\\\\\\\s*assert\\\\\\\\s*\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.other.version.assert.d\\\"},{\\\"begin\\\":\\\"\\\\\\\\bversion\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.version.identifier.begin.d\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.version.identifer.end.d\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#integer-literal\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},{\\\"include\\\":\\\"#version-specification\\\"}]},\\\"version-specification\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bversion\\\\\\\\b\\\\\\\\s*(?==)\\\",\\\"name\\\":\\\"keyword.other.version-specification.d\\\"}]},\\\"void-initializer\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bvoid\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.void.d\\\"}]},\\\"while-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(while)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"with-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(with)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.d\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.d\\\"}]}]}]},\\\"wysiwyg-characters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#character\\\"},{\\\"include\\\":\\\"#end-of-line\\\"}]},\\\"wysiwyg-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"r\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"[cdw]?\\\",\\\"name\\\":\\\"string.wysiwyg-string.d\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#wysiwyg-characters\\\"}]}]}},\\\"scopeName\\\":\\\"source.d\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "d" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,mt1CAA2s/C,CAAC,EAEnu/CC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B0YXbBSa.js b/src/webview-ui/build/assets/chunk-B0YXbBSa.js new file mode 100644 index 0000000000..3f3a36a08c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B0YXbBSa.js @@ -0,0 +1,14 @@ +import e from "./chunk-RrBGtqGR.js" +import r from "./chunk-Buea-lGh.js" +import t from "./chunk-C3rowuyE.js" +import "./chunk-CXhxxCfG.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +const a = Object.freeze( + JSON.parse( + `{"displayName":"MDC","injectionSelector":"L:text.html.markdown","name":"mdc","patterns":[{"include":"text.html.markdown#frontMatter"},{"include":"#block"}],"repository":{"attribute":{"patterns":[{"captures":{"2":{"name":"entity.other.attribute-name.html"},"3":{"patterns":[{"include":"#attribute-interior"}]}},"match":"(([^<=>\\\\s]*)(=\\"([^\\"]*)(\\")|'([^']*)(')|=[^\\"'}\\\\s]*)?\\\\s*)"}]},"attribute-interior":{"patterns":[{"begin":"=","beginCaptures":{"0":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[^=\\\\s])(?!\\\\s*=)|(?=/?>)","patterns":[{"match":"([^\\"'/<=>\`\\\\s]|/(?!>))+","name":"string.unquoted.html"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"#entities"}]},{"match":"=","name":"invalid.illegal.unexpected-equals-sign.html"}]}]},"attributes":{"captures":{"1":{"name":"punctuation.definition.tag.start.component"},"3":{"patterns":[{"include":"#attribute"}]},"4":{"name":"punctuation.definition.tag.end.component"}},"match":"((\\\\{)([^{]*)(}))","name":"attributes.mdc"},"block":{"patterns":[{"include":"#inline"},{"include":"#component_block"},{"include":"text.html.markdown#separator"},{"include":"#heading"},{"include":"#blockquote"},{"include":"#lists"},{"include":"text.html.markdown#fenced_code_block"},{"include":"text.html.markdown#link-def"},{"include":"text.html.markdown#html"},{"include":"#paragraph"}]},"blockquote":{"begin":"(^|\\\\G) *(>) ?","captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}},"name":"markup.quote.markdown","patterns":[{"include":"#block"}],"while":"(^|\\\\G)\\\\s*(>) ?"},"component_block":{"begin":"(^|\\\\G)(\\\\s*)(:{2,})(?i:(\\\\w[-\\\\w\\\\d]+)(\\\\s*|\\\\s*(\\\\{[^{]*}))$)","beginCaptures":{"3":{"name":"punctuation.definition.tag.start.mdc"},"4":{"name":"entity.name.tag.mdc"},"5":{"patterns":[{"include":"#attributes"}]}},"end":"(^|\\\\G)(\\\\2)(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.tag.end.mdc"}},"name":"block.component.mdc","patterns":[{"captures":{"2":{"name":"punctuation.definition.tag.end.mdc"}},"match":"(^|\\\\G)\\\\s*(:{2,})$"},{"begin":"(^|\\\\G)(\\\\s*)(-{3})(\\\\s*)$","end":"(^|\\\\G)(\\\\s*(-{3})(\\\\s*))$","patterns":[{"include":"source.yaml"}]},{"captures":{"2":{"name":"entity.other.attribute-name.html"},"3":{"name":"comment.block.html"}},"match":"^(\\\\s*)(#[-_\\\\w]*)\\\\s*()?$"},{"include":"#block"}]},"component_inline":{"captures":{"2":{"name":"punctuation.definition.tag.start.component"},"3":{"name":"entity.name.tag.component"},"5":{"patterns":[{"include":"#attributes"}]},"6":{"patterns":[{"include":"#span"}]},"7":{"patterns":[{"include":"#span"}]},"8":{"patterns":[{"include":"#attributes"}]}},"match":"(^|\\\\G|\\\\s+)(:)(?i:(\\\\w[-\\\\w\\\\d]*))((\\\\{[^}]*})(\\\\[[^]]*])?|(\\\\[[^]]*])(\\\\{[^}]*})?)?\\\\s","name":"inline.component.mdc"},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"912":{"name":"punctuation.definition.entity.html"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.html"},{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.html"},{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)#[Xx]\\\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.html"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.html"}]},"heading":{"captures":{"1":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{6})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.6.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{5})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.5.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{4})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.4.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{3})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.3.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{2})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.2.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{1})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.1.markdown"}]}},"match":"(?:^|\\\\G) *(#{1,6}\\\\s+(.*?)(\\\\s+#{1,6})?\\\\s*)$","name":"markup.heading.markdown","patterns":[{"include":"text.html.markdown#inline"}]},"heading-setext":{"patterns":[{"match":"^(={3,})(?=[\\\\t ]*$\\\\n?)","name":"markup.heading.setext.1.markdown"},{"match":"^(-{3,})(?=[\\\\t ]*$\\\\n?)","name":"markup.heading.setext.2.markdown"}]},"inline":{"patterns":[{"include":"#component_inline"},{"include":"#span"},{"include":"#attributes"}]},"lists":{"patterns":[{"begin":"(^|\\\\G)( *)([-*+])([\\\\t ])","beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}},"name":"markup.list.unnumbered.markdown","patterns":[{"include":"#block"},{"include":"text.html.markdown#list_paragraph"}],"while":"((^|\\\\G)( *|\\\\t))|^([\\\\t ]*)$"},{"begin":"(^|\\\\G)( *)([0-9]+\\\\.)([\\\\t ])","beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}},"name":"markup.list.numbered.markdown","patterns":[{"include":"#block"},{"include":"text.html.markdown#list_paragraph"}],"while":"((^|\\\\G)( *|\\\\t))|^([\\\\t ]*)$"}]},"paragraph":{"begin":"(^|\\\\G) *(?=\\\\S)","name":"meta.paragraph.markdown","patterns":[{"include":"text.html.markdown#inline"},{"include":"text.html.derivative"},{"include":"#heading-setext"}],"while":"(^|\\\\G)((?=\\\\s*[-=]{3,}\\\\s*$)| {4,}(?=\\\\S))"},"span":{"captures":{"1":{"name":"punctuation.definition.tag.start.component"},"2":{"name":"string.other.link.description.title.markdown"},"3":{"name":"punctuation.definition.tag.end.component"},"4":{"patterns":[{"include":"#attributes"}]}},"match":"(\\\\[)([^]]*)(])((\\\\{)([^{]*)(}))?\\\\s","name":"span.component.mdc"}},"scopeName":"text.markdown.mdc.standalone","embeddedLangs":["markdown","yaml","html-derivative"]}`, + ), + ), + u = [...e, ...r, ...t, a] +export { u as default } +//# sourceMappingURL=chunk-B0YXbBSa.js.map diff --git a/src/webview-ui/build/assets/chunk-B0YXbBSa.js.map b/src/webview-ui/build/assets/chunk-B0YXbBSa.js.map new file mode 100644 index 0000000000..3662c8c795 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B0YXbBSa.js.map @@ -0,0 +1,22 @@ +{ + "version": 3, + "file": "chunk-B0YXbBSa.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/mdc.mjs" + ], + "sourcesContent": [ + "import markdown from './markdown.mjs'\nimport yaml from './yaml.mjs'\nimport html_derivative from './html-derivative.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"MDC\\\",\\\"injectionSelector\\\":\\\"L:text.html.markdown\\\",\\\"name\\\":\\\"mdc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#frontMatter\\\"},{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]}},\\\"match\\\":\\\"(([^<=>\\\\\\\\s]*)(=\\\\\\\"([^\\\\\\\"]*)(\\\\\\\")|'([^']*)(')|=[^\\\\\\\"'}\\\\\\\\s]*)?\\\\\\\\s*)\\\"}]},\\\"attribute-interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},\\\"attributes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.component\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.component\\\"}},\\\"match\\\":\\\"((\\\\\\\\{)([^{]*)(}))\\\",\\\"name\\\":\\\"attributes.mdc\\\"},\\\"block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"#component_block\\\"},{\\\"include\\\":\\\"text.html.markdown#separator\\\"},{\\\"include\\\":\\\"#heading\\\"},{\\\"include\\\":\\\"#blockquote\\\"},{\\\"include\\\":\\\"#lists\\\"},{\\\"include\\\":\\\"text.html.markdown#fenced_code_block\\\"},{\\\"include\\\":\\\"text.html.markdown#link-def\\\"},{\\\"include\\\":\\\"text.html.markdown#html\\\"},{\\\"include\\\":\\\"#paragraph\\\"}]},\\\"blockquote\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) *(>) ?\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"name\\\":\\\"markup.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(>) ?\\\"},\\\"component_block\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(:{2,})(?i:(\\\\\\\\w[-\\\\\\\\w\\\\\\\\d]+)(\\\\\\\\s*|\\\\\\\\s*(\\\\\\\\{[^{]*}))$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.mdc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.mdc\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2)(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.mdc\\\"}},\\\"name\\\":\\\"block.component.mdc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.mdc\\\"}},\\\"match\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(:{2,})$\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(-{3})(\\\\\\\\s*)$\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*(-{3})(\\\\\\\\s*))$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.html\\\"}},\\\"match\\\":\\\"^(\\\\\\\\s*)(#[-_\\\\\\\\w]*)\\\\\\\\s*()?$\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"component_inline\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.component\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.component\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#span\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#span\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]}},\\\"match\\\":\\\"(^|\\\\\\\\G|\\\\\\\\s+)(:)(?i:(\\\\\\\\w[-\\\\\\\\w\\\\\\\\d]*))((\\\\\\\\{[^}]*})(\\\\\\\\[[^]]*])?|(\\\\\\\\[[^]]*])(\\\\\\\\{[^}]*})?)?\\\\\\\\s\\\",\\\"name\\\":\\\"inline.component.mdc\\\"},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.html\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.html\\\"}]},\\\"heading\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{6})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.6.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{5})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.5.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{4})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.4.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{3})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.3.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{2})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.2.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{1})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.1.markdown\\\"}]}},\\\"match\\\":\\\"(?:^|\\\\\\\\G) *(#{1,6}\\\\\\\\s+(.*?)(\\\\\\\\s+#{1,6})?\\\\\\\\s*)$\\\",\\\"name\\\":\\\"markup.heading.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"}]},\\\"heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(={3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.1.markdown\\\"},{\\\"match\\\":\\\"^(-{3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.2.markdown\\\"}]},\\\"inline\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#component_inline\\\"},{\\\"include\\\":\\\"#span\\\"},{\\\"include\\\":\\\"#attributes\\\"}]},\\\"lists\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)( *)([-*+])([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.unnumbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"text.html.markdown#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( *|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)( *)([0-9]+\\\\\\\\.)([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.numbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"text.html.markdown#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( *|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"}]},\\\"paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) *(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)((?=\\\\\\\\s*[-=]{3,}\\\\\\\\s*$)| {4,}(?=\\\\\\\\S))\\\"},\\\"span\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.component\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.component\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\[)([^]]*)(])((\\\\\\\\{)([^{]*)(}))?\\\\\\\\s\\\",\\\"name\\\":\\\"span.component.mdc\\\"}},\\\"scopeName\\\":\\\"text.markdown.mdc.standalone\\\",\\\"embeddedLangs\\\":[\\\"markdown\\\",\\\"yaml\\\",\\\"html-derivative\\\"]}\"))\n\nexport default [\n...markdown,\n...yaml,\n...html_derivative,\nlang\n]\n" + ], + "names": [ + "lang", + "mdc", + "markdown", + "yaml", + "html_derivative" + ], + "mappings": "6LAIA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,w5lBAAgznB,CAAC,EAEx0nBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHJ,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B0m2ddpp.js b/src/webview-ui/build/assets/chunk-B0m2ddpp.js new file mode 100644 index 0000000000..b3303fda92 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B0m2ddpp.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#80CBC4","activityBar.background":"#FAFAFA","activityBar.border":"#FAFAFA60","activityBar.dropBackground":"#E5393580","activityBar.foreground":"#90A4AE","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#CCD7DA30","badge.foreground":"#90A4AE","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumb.background":"#FAFAFA","breadcrumb.focusForeground":"#90A4AE","breadcrumb.foreground":"#758a95","breadcrumbPicker.background":"#FAFAFA","button.background":"#80CBC440","button.foreground":"#ffffff","debugConsole.errorForeground":"#E53935","debugConsole.infoForeground":"#39ADB5","debugConsole.warningForeground":"#E2931D","debugToolBar.background":"#FAFAFA","diffEditor.insertedTextBackground":"#39ADB520","diffEditor.removedTextBackground":"#FF537020","dropdown.background":"#FAFAFA","dropdown.border":"#00000010","editor.background":"#FAFAFA","editor.findMatchBackground":"#00000020","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlight":"#90A4AE","editor.findMatchHighlightBackground":"#00000010","editor.findMatchHighlightBorder":"#00000030","editor.findRangeHighlightBackground":"#E2931D30","editor.foreground":"#90A4AE","editor.lineHighlightBackground":"#CCD7DA50","editor.lineHighlightBorder":"#CCD7DA00","editor.rangeHighlightBackground":"#FFFFFF0d","editor.selectionBackground":"#80CBC440","editor.selectionHighlightBackground":"#27272720","editor.wordHighlightBackground":"#FF537030","editor.wordHighlightStrongBackground":"#91B85930","editorBracketMatch.background":"#FAFAFA","editorBracketMatch.border":"#27272750","editorCursor.foreground":"#272727","editorError.foreground":"#E5393570","editorGroup.border":"#00000020","editorGroup.dropBackground":"#E5393580","editorGroup.focusedEmptyBorder":"#E53935","editorGroupHeader.tabsBackground":"#FAFAFA","editorGutter.addedBackground":"#91B85960","editorGutter.deletedBackground":"#E5393560","editorGutter.modifiedBackground":"#6182B860","editorHoverWidget.background":"#FAFAFA","editorHoverWidget.border":"#00000010","editorIndentGuide.activeBackground":"#B0BEC5","editorIndentGuide.background":"#B0BEC570","editorInfo.foreground":"#6182B870","editorLineNumber.activeForeground":"#758a95","editorLineNumber.foreground":"#CFD8DC","editorLink.activeForeground":"#90A4AE","editorMarkerNavigation.background":"#90A4AE05","editorOverviewRuler.border":"#FAFAFA","editorOverviewRuler.errorForeground":"#E5393540","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.infoForeground":"#6182B840","editorOverviewRuler.warningForeground":"#E2931D40","editorRuler.foreground":"#B0BEC5","editorSuggestWidget.background":"#FAFAFA","editorSuggestWidget.border":"#00000010","editorSuggestWidget.foreground":"#90A4AE","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#CCD7DA50","editorWarning.foreground":"#E2931D70","editorWhitespace.foreground":"#90A4AE40","editorWidget.background":"#FAFAFA","editorWidget.border":"#80CBC4","editorWidget.resizeBorder":"#80CBC4","extensionBadge.remoteForeground":"#90A4AE","extensionButton.prominentBackground":"#91B85990","extensionButton.prominentForeground":"#90A4AE","extensionButton.prominentHoverBackground":"#91B859","focusBorder":"#FFFFFF00","foreground":"#90A4AE","gitDecoration.conflictingResourceForeground":"#E2931D90","gitDecoration.deletedResourceForeground":"#E5393590","gitDecoration.ignoredResourceForeground":"#758a9590","gitDecoration.modifiedResourceForeground":"#6182B890","gitDecoration.untrackedResourceForeground":"#91B85990","input.background":"#EEEEEE","input.border":"#00000010","input.foreground":"#90A4AE","input.placeholderForeground":"#90A4AE60","inputOption.activeBackground":"#90A4AE30","inputOption.activeBorder":"#90A4AE30","inputValidation.errorBorder":"#E53935","inputValidation.infoBorder":"#6182B8","inputValidation.warningBorder":"#E2931D","list.activeSelectionBackground":"#FAFAFA","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#E5393580","list.focusBackground":"#90A4AE20","list.focusForeground":"#90A4AE","list.highlightForeground":"#80CBC4","list.hoverBackground":"#FAFAFA","list.hoverForeground":"#B1C7D3","list.inactiveSelectionBackground":"#CCD7DA50","list.inactiveSelectionForeground":"#80CBC4","listFilterWidget.background":"#CCD7DA50","listFilterWidget.noMatchesOutline":"#CCD7DA50","listFilterWidget.outline":"#CCD7DA50","menu.background":"#FAFAFA","menu.foreground":"#90A4AE","menu.selectionBackground":"#CCD7DA50","menu.selectionBorder":"#CCD7DA50","menu.selectionForeground":"#80CBC4","menu.separatorBackground":"#90A4AE","menubar.selectionBackground":"#CCD7DA50","menubar.selectionBorder":"#CCD7DA50","menubar.selectionForeground":"#80CBC4","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","notificationLink.foreground":"#80CBC4","notifications.background":"#FAFAFA","notifications.foreground":"#90A4AE","panel.background":"#FAFAFA","panel.border":"#FAFAFA60","panel.dropBackground":"#90A4AE","panelTitle.activeBorder":"#80CBC4","panelTitle.activeForeground":"#000000","panelTitle.inactiveForeground":"#90A4AE","peekView.border":"#00000020","peekViewEditor.background":"#EEEEEE","peekViewEditor.matchHighlightBackground":"#80CBC440","peekViewEditorGutter.background":"#EEEEEE","peekViewResult.background":"#EEEEEE","peekViewResult.matchHighlightBackground":"#80CBC440","peekViewResult.selectionBackground":"#758a9570","peekViewTitle.background":"#EEEEEE","peekViewTitleDescription.foreground":"#90A4AE60","pickerGroup.border":"#FFFFFF1a","pickerGroup.foreground":"#80CBC4","progressBar.background":"#80CBC4","quickInput.background":"#FAFAFA","quickInput.foreground":"#758a95","quickInput.list.focusBackground":"#90A4AE20","sash.hoverBorder":"#80CBC450","scrollbar.shadow":"#00000020","scrollbarSlider.activeBackground":"#80CBC4","scrollbarSlider.background":"#90A4AE20","scrollbarSlider.hoverBackground":"#90A4AE10","selection.background":"#CCD7DA80","settings.checkboxBackground":"#FAFAFA","settings.checkboxForeground":"#90A4AE","settings.dropdownBackground":"#FAFAFA","settings.dropdownForeground":"#90A4AE","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.numberInputBackground":"#FAFAFA","settings.numberInputForeground":"#90A4AE","settings.textInputBackground":"#FAFAFA","settings.textInputForeground":"#90A4AE","sideBar.background":"#FAFAFA","sideBar.border":"#FAFAFA60","sideBar.foreground":"#758a95","sideBarSectionHeader.background":"#FAFAFA","sideBarSectionHeader.border":"#FAFAFA60","sideBarTitle.foreground":"#90A4AE","statusBar.background":"#FAFAFA","statusBar.border":"#FAFAFA60","statusBar.debuggingBackground":"#9C3EDA","statusBar.debuggingForeground":"#FFFFFF","statusBar.foreground":"#7E939E","statusBar.noFolderBackground":"#FAFAFA","statusBarItem.activeBackground":"#E5393580","statusBarItem.hoverBackground":"#90A4AE20","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","tab.activeBackground":"#FAFAFA","tab.activeBorder":"#80CBC4","tab.activeForeground":"#000000","tab.activeModifiedBorder":"#758a95","tab.border":"#FAFAFA","tab.inactiveBackground":"#FAFAFA","tab.inactiveForeground":"#758a95","tab.inactiveModifiedBorder":"#89221f","tab.unfocusedActiveBorder":"#90A4AE","tab.unfocusedActiveForeground":"#90A4AE","tab.unfocusedActiveModifiedBorder":"#b72d2a","tab.unfocusedInactiveModifiedBorder":"#89221f","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#6182B8","terminal.ansiBrightBlack":"#90A4AE","terminal.ansiBrightBlue":"#6182B8","terminal.ansiBrightCyan":"#39ADB5","terminal.ansiBrightGreen":"#91B859","terminal.ansiBrightMagenta":"#9C3EDA","terminal.ansiBrightRed":"#E53935","terminal.ansiBrightWhite":"#FFFFFF","terminal.ansiBrightYellow":"#E2931D","terminal.ansiCyan":"#39ADB5","terminal.ansiGreen":"#91B859","terminal.ansiMagenta":"#9C3EDA","terminal.ansiRed":"#E53935","terminal.ansiWhite":"#FFFFFF","terminal.ansiYellow":"#E2931D","terminalCursor.background":"#000000","terminalCursor.foreground":"#E2931D","textLink.activeForeground":"#90A4AE","textLink.foreground":"#80CBC4","titleBar.activeBackground":"#FAFAFA","titleBar.activeForeground":"#90A4AE","titleBar.border":"#FAFAFA60","titleBar.inactiveBackground":"#FAFAFA","titleBar.inactiveForeground":"#758a95","tree.indentGuidesStroke":"#B0BEC5","widget.shadow":"#00000020"},"displayName":"Material Theme Lighter","name":"material-theme-lighter","semanticHighlighting":true,"tokenColors":[{"settings":{"background":"#FAFAFA","foreground":"#90A4AE"}},{"scope":"string","settings":{"foreground":"#91B859"}},{"scope":"punctuation, constant.other.symbol","settings":{"foreground":"#39ADB5"}},{"scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#90A4AE"}},{"scope":"constant.language.boolean","settings":{"foreground":"#FF5370"}},{"scope":"constant.numeric","settings":{"foreground":"#F76D47"}},{"scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#90A4AE"}},{"scope":"keyword.other","settings":{"foreground":"#F76D47"}},{"scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#39ADB5"}},{"scope":"entity.name.function, support.function","settings":{"foreground":"#6182B8"}},{"scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#9C3EDA"}},{"scope":"support.module, support.node","settings":{"fontStyle":"italic","foreground":"#E53935"}},{"scope":"support.type, constant.other.key","settings":{"foreground":"#E2931D"}},{"scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#E2931D"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#90A4AE"}},{"scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"fontStyle":"italic","foreground":"#90A4AE"}},{"scope":"punctuation","settings":{"foreground":"#39ADB5"}},{"scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#E2931D"}},{"scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#E53935"}},{"scope":"meta.definition.method entity.name.function","settings":{"foreground":"#E53935"}},{"scope":"meta.function entity.name.function","settings":{"foreground":"#6182B8"}},{"scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#39ADB5"}},{"scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#90A4AE"}},{"scope":"entity.name.tag.yaml","settings":{"foreground":"#E53935"}},{"scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#E53935"}},{"scope":"constant.language.json","settings":{"foreground":"#39ADB5"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#E2931D"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#F76D47"}},{"scope":"source.css entity.name.tag","settings":{"foreground":"#E2931D"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#8796B0"}},{"scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#39ADB5"}},{"scope":"entity.name.tag","settings":{"foreground":"#E53935"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#9C3EDA"}},{"scope":"punctuation.definition.entity.html","settings":{"foreground":"#90A4AE"}},{"scope":"markup.heading","settings":{"foreground":"#39ADB5"}},{"scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#E53935"}},{"scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#39ADB5"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#E53935"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#E53935"}},{"scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"fontStyle":"italic bold","foreground":"#E53935"}},{"scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#91B859"}},{"scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#91B859"}},{"scope":"keyword.other.definition.ini","settings":{"foreground":"#E53935"}},{"scope":"entity.name.section.group-title.ini","settings":{"foreground":"#39ADB5"}},{"scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#E2931D"}},{"scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#E53935"}},{"scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#6182B8"}},{"scope":"source.cs storage.type","settings":{"foreground":"#E2931D"}},{"scope":"source.cs meta.method.return-type","settings":{"foreground":"#E2931D"}},{"scope":"source.cs meta.preprocessor","settings":{"foreground":"#90A4AE"}},{"scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#90A4AE"}},{"scope":"meta.jsx.children, SXNested","settings":{"foreground":"#90A4AE"}},{"scope":"support.class.component","settings":{"foreground":"#E2931D"}},{"scope":"source.cpp meta.block variable.other","settings":{"foreground":"#90A4AE"}},{"scope":"source.python meta.member.access.python","settings":{"foreground":"#E53935"}},{"scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#6182B8"}},{"scope":"meta.block","settings":{"foreground":"#E53935"}},{"scope":"entity.name.function.call","settings":{"foreground":"#6182B8"}},{"scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#90A4AE"}},{"scope":"constant.keyword","settings":{"fontStyle":"italic","foreground":"#39ADB5"}},{"scope":"entity.name.function","settings":{"foreground":"#6182B8"}},{"settings":{"background":"#FAFAFA","foreground":"#90A4AE"}},{"scope":["constant.other.placeholder"],"settings":{"foreground":"#E53935"}},{"scope":["markup.deleted"],"settings":{"foreground":"#E53935"}},{"scope":["markup.inserted"],"settings":{"foreground":"#91B859"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["keyword.control"],"settings":{"fontStyle":"italic","foreground":"#39ADB5"}},{"scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"scope":["variable.parameter.function.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#E53935"}},{"scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F76D47"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#39ADB5"}},{"scope":["markup.fenced_code.block"],"settings":{"foreground":"#90A4AE90"}},{"scope":["punctuation.definition.quote"],"settings":{"foreground":"#FF5370"}},{"scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#9C3EDA"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#E2931D"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F76D47"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#E53935"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#6182B8"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FF5370"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#9C3EDA"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#91B859"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-B0m2ddpp.js.map diff --git a/src/webview-ui/build/assets/chunk-B0m2ddpp.js.map b/src/webview-ui/build/assets/chunk-B0m2ddpp.js.map new file mode 100644 index 0000000000..0f2f54316e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B0m2ddpp.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-B0m2ddpp.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/material-theme-lighter.mjs" + ], + "sourcesContent": [ + "/* Theme: material-theme-lighter */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#FAFAFA\\\",\\\"activityBar.border\\\":\\\"#FAFAFA60\\\",\\\"activityBar.dropBackground\\\":\\\"#E5393580\\\",\\\"activityBar.foreground\\\":\\\"#90A4AE\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#CCD7DA30\\\",\\\"badge.foreground\\\":\\\"#90A4AE\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#FAFAFA\\\",\\\"breadcrumb.focusForeground\\\":\\\"#90A4AE\\\",\\\"breadcrumb.foreground\\\":\\\"#758a95\\\",\\\"breadcrumbPicker.background\\\":\\\"#FAFAFA\\\",\\\"button.background\\\":\\\"#80CBC440\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#E53935\\\",\\\"debugConsole.infoForeground\\\":\\\"#39ADB5\\\",\\\"debugConsole.warningForeground\\\":\\\"#E2931D\\\",\\\"debugToolBar.background\\\":\\\"#FAFAFA\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#39ADB520\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF537020\\\",\\\"dropdown.background\\\":\\\"#FAFAFA\\\",\\\"dropdown.border\\\":\\\"#00000010\\\",\\\"editor.background\\\":\\\"#FAFAFA\\\",\\\"editor.findMatchBackground\\\":\\\"#00000020\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#90A4AE\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000010\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#00000030\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#E2931D30\\\",\\\"editor.foreground\\\":\\\"#90A4AE\\\",\\\"editor.lineHighlightBackground\\\":\\\"#CCD7DA50\\\",\\\"editor.lineHighlightBorder\\\":\\\"#CCD7DA00\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#80CBC440\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#27272720\\\",\\\"editor.wordHighlightBackground\\\":\\\"#FF537030\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#91B85930\\\",\\\"editorBracketMatch.background\\\":\\\"#FAFAFA\\\",\\\"editorBracketMatch.border\\\":\\\"#27272750\\\",\\\"editorCursor.foreground\\\":\\\"#272727\\\",\\\"editorError.foreground\\\":\\\"#E5393570\\\",\\\"editorGroup.border\\\":\\\"#00000020\\\",\\\"editorGroup.dropBackground\\\":\\\"#E5393580\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#E53935\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#FAFAFA\\\",\\\"editorGutter.addedBackground\\\":\\\"#91B85960\\\",\\\"editorGutter.deletedBackground\\\":\\\"#E5393560\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6182B860\\\",\\\"editorHoverWidget.background\\\":\\\"#FAFAFA\\\",\\\"editorHoverWidget.border\\\":\\\"#00000010\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#B0BEC5\\\",\\\"editorIndentGuide.background\\\":\\\"#B0BEC570\\\",\\\"editorInfo.foreground\\\":\\\"#6182B870\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#758a95\\\",\\\"editorLineNumber.foreground\\\":\\\"#CFD8DC\\\",\\\"editorLink.activeForeground\\\":\\\"#90A4AE\\\",\\\"editorMarkerNavigation.background\\\":\\\"#90A4AE05\\\",\\\"editorOverviewRuler.border\\\":\\\"#FAFAFA\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#E5393540\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#6182B840\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#E2931D40\\\",\\\"editorRuler.foreground\\\":\\\"#B0BEC5\\\",\\\"editorSuggestWidget.background\\\":\\\"#FAFAFA\\\",\\\"editorSuggestWidget.border\\\":\\\"#00000010\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#90A4AE\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#CCD7DA50\\\",\\\"editorWarning.foreground\\\":\\\"#E2931D70\\\",\\\"editorWhitespace.foreground\\\":\\\"#90A4AE40\\\",\\\"editorWidget.background\\\":\\\"#FAFAFA\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#90A4AE\\\",\\\"extensionButton.prominentBackground\\\":\\\"#91B85990\\\",\\\"extensionButton.prominentForeground\\\":\\\"#90A4AE\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#91B859\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#90A4AE\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#E2931D90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#E5393590\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#758a9590\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6182B890\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#91B85990\\\",\\\"input.background\\\":\\\"#EEEEEE\\\",\\\"input.border\\\":\\\"#00000010\\\",\\\"input.foreground\\\":\\\"#90A4AE\\\",\\\"input.placeholderForeground\\\":\\\"#90A4AE60\\\",\\\"inputOption.activeBackground\\\":\\\"#90A4AE30\\\",\\\"inputOption.activeBorder\\\":\\\"#90A4AE30\\\",\\\"inputValidation.errorBorder\\\":\\\"#E53935\\\",\\\"inputValidation.infoBorder\\\":\\\"#6182B8\\\",\\\"inputValidation.warningBorder\\\":\\\"#E2931D\\\",\\\"list.activeSelectionBackground\\\":\\\"#FAFAFA\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#E5393580\\\",\\\"list.focusBackground\\\":\\\"#90A4AE20\\\",\\\"list.focusForeground\\\":\\\"#90A4AE\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#FAFAFA\\\",\\\"list.hoverForeground\\\":\\\"#B1C7D3\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#CCD7DA50\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#CCD7DA50\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#CCD7DA50\\\",\\\"listFilterWidget.outline\\\":\\\"#CCD7DA50\\\",\\\"menu.background\\\":\\\"#FAFAFA\\\",\\\"menu.foreground\\\":\\\"#90A4AE\\\",\\\"menu.selectionBackground\\\":\\\"#CCD7DA50\\\",\\\"menu.selectionBorder\\\":\\\"#CCD7DA50\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#90A4AE\\\",\\\"menubar.selectionBackground\\\":\\\"#CCD7DA50\\\",\\\"menubar.selectionBorder\\\":\\\"#CCD7DA50\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#FAFAFA\\\",\\\"notifications.foreground\\\":\\\"#90A4AE\\\",\\\"panel.background\\\":\\\"#FAFAFA\\\",\\\"panel.border\\\":\\\"#FAFAFA60\\\",\\\"panel.dropBackground\\\":\\\"#90A4AE\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#000000\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#90A4AE\\\",\\\"peekView.border\\\":\\\"#00000020\\\",\\\"peekViewEditor.background\\\":\\\"#EEEEEE\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#80CBC440\\\",\\\"peekViewEditorGutter.background\\\":\\\"#EEEEEE\\\",\\\"peekViewResult.background\\\":\\\"#EEEEEE\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#80CBC440\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#758a9570\\\",\\\"peekViewTitle.background\\\":\\\"#EEEEEE\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#90A4AE60\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#FAFAFA\\\",\\\"quickInput.foreground\\\":\\\"#758a95\\\",\\\"quickInput.list.focusBackground\\\":\\\"#90A4AE20\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000020\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#90A4AE20\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#90A4AE10\\\",\\\"selection.background\\\":\\\"#CCD7DA80\\\",\\\"settings.checkboxBackground\\\":\\\"#FAFAFA\\\",\\\"settings.checkboxForeground\\\":\\\"#90A4AE\\\",\\\"settings.dropdownBackground\\\":\\\"#FAFAFA\\\",\\\"settings.dropdownForeground\\\":\\\"#90A4AE\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#FAFAFA\\\",\\\"settings.numberInputForeground\\\":\\\"#90A4AE\\\",\\\"settings.textInputBackground\\\":\\\"#FAFAFA\\\",\\\"settings.textInputForeground\\\":\\\"#90A4AE\\\",\\\"sideBar.background\\\":\\\"#FAFAFA\\\",\\\"sideBar.border\\\":\\\"#FAFAFA60\\\",\\\"sideBar.foreground\\\":\\\"#758a95\\\",\\\"sideBarSectionHeader.background\\\":\\\"#FAFAFA\\\",\\\"sideBarSectionHeader.border\\\":\\\"#FAFAFA60\\\",\\\"sideBarTitle.foreground\\\":\\\"#90A4AE\\\",\\\"statusBar.background\\\":\\\"#FAFAFA\\\",\\\"statusBar.border\\\":\\\"#FAFAFA60\\\",\\\"statusBar.debuggingBackground\\\":\\\"#9C3EDA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#FFFFFF\\\",\\\"statusBar.foreground\\\":\\\"#7E939E\\\",\\\"statusBar.noFolderBackground\\\":\\\"#FAFAFA\\\",\\\"statusBarItem.activeBackground\\\":\\\"#E5393580\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#90A4AE20\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#FAFAFA\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#000000\\\",\\\"tab.activeModifiedBorder\\\":\\\"#758a95\\\",\\\"tab.border\\\":\\\"#FAFAFA\\\",\\\"tab.inactiveBackground\\\":\\\"#FAFAFA\\\",\\\"tab.inactiveForeground\\\":\\\"#758a95\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#89221f\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#90A4AE\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#90A4AE\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#b72d2a\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#89221f\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#6182B8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#90A4AE\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6182B8\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#39ADB5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#91B859\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#9C3EDA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E53935\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#FFFFFF\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E2931D\\\",\\\"terminal.ansiCyan\\\":\\\"#39ADB5\\\",\\\"terminal.ansiGreen\\\":\\\"#91B859\\\",\\\"terminal.ansiMagenta\\\":\\\"#9C3EDA\\\",\\\"terminal.ansiRed\\\":\\\"#E53935\\\",\\\"terminal.ansiWhite\\\":\\\"#FFFFFF\\\",\\\"terminal.ansiYellow\\\":\\\"#E2931D\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#E2931D\\\",\\\"textLink.activeForeground\\\":\\\"#90A4AE\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#FAFAFA\\\",\\\"titleBar.activeForeground\\\":\\\"#90A4AE\\\",\\\"titleBar.border\\\":\\\"#FAFAFA60\\\",\\\"titleBar.inactiveBackground\\\":\\\"#FAFAFA\\\",\\\"titleBar.inactiveForeground\\\":\\\"#758a95\\\",\\\"tree.indentGuidesStroke\\\":\\\"#B0BEC5\\\",\\\"widget.shadow\\\":\\\"#00000020\\\"},\\\"displayName\\\":\\\"Material Theme Lighter\\\",\\\"name\\\":\\\"material-theme-lighter\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#FAFAFA\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8796B0\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#FAFAFA\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE90\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "materialThemeLighter" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,gpkBAAs1nB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B1dDrJ26.js b/src/webview-ui/build/assets/chunk-B1dDrJ26.js new file mode 100644 index 0000000000..e2ae40760e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B1dDrJ26.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Less","name":"less","patterns":[{"include":"#comment-block"},{"include":"#less-namespace-accessors"},{"include":"#less-extend"},{"include":"#at-rules"},{"include":"#less-variable-assignment"},{"include":"#property-list"},{"include":"#selector"}],"repository":{"angle-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"(?i:[-+]?(?:\\\\d*\\\\.\\\\d+(?:[Ee][-+]?\\\\d+)*|[-+]?\\\\d+)(deg|grad|rad|turn))\\\\b","name":"constant.numeric.less"},"arbitrary-repetition":{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.less"}},"match":"\\\\s*(,)"},"at-charset":{"begin":"\\\\s*((@)charset)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.charset.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":"\\\\s*((?=;|$))","name":"meta.at-rule.charset.less","patterns":[{"include":"#literal-string"}]},"at-container":{"begin":"(?=\\\\s*@container)","end":"\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"((@)container)","beginCaptures":{"1":{"name":"keyword.control.at-rule.container.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.container.less"}},"end":"(?=\\\\{)","name":"meta.at-rule.container.less","patterns":[{"begin":"\\\\s*(?=[^;{])","end":"\\\\s*(?=[;{])","patterns":[{"match":"\\\\b(not|and|or)\\\\b","name":"keyword.operator.comparison.less"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.at-rule.container-query.less","patterns":[{"captures":{"1":{"name":"support.type.property-name.less"}},"match":"\\\\b(aspect-ratio|block-size|height|inline-size|orientation|width)\\\\b","name":"support.constant.size-feature.less"},{"match":"(([<>])=?)|[/=]","name":"keyword.operator.comparison.less"},{"match":":","name":"punctuation.separator.key-value.less"},{"match":"portrait|landscape","name":"support.constant.property-value.less"},{"include":"#numeric-values"},{"match":"/","name":"keyword.operator.arithmetic.less"},{"include":"#var-function"},{"include":"#less-variables"},{"include":"#less-variable-interpolation"}]},{"include":"#style-function"},{"match":"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}\\\\d]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))*","name":"variable.parameter.container-name.css"},{"include":"#arbitrary-repetition"},{"include":"#less-variables"}]}]},{"begin":"\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=})","patterns":[{"include":"#rule-list-body"},{"include":"$self"}]}]},"at-counter-style":{"begin":"\\\\s*((@)counter-style)\\\\b\\\\s+(?:(?i:\\\\b(decimal|none)\\\\b)|(-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*))\\\\s*(?=\\\\{|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.counter-style.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"invalid.illegal.counter-style-name.less"},"4":{"name":"entity.other.counter-style-name.css"}},"end":"\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"name":"meta.at-rule.counter-style.less","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}]},"at-custom-media":{"begin":"(?=\\\\s*@custom-media\\\\b)","end":"\\\\s*(?=;)","name":"meta.at-rule.custom-media.less","patterns":[{"captures":{"0":{"name":"punctuation.section.property-list.less"}},"match":"\\\\s*;"},{"captures":{"1":{"name":"keyword.control.at-rule.custom-media.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.custom-media.less"}},"match":"\\\\s*((@)custom-media)(?=.*?)"},{"include":"#media-query-list"}]},"at-font-face":{"begin":"\\\\s*((@)font-face)\\\\s*(?=\\\\{|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.font-face.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":"\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"name":"meta.at-rule.font-face.less","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}]},"at-import":{"begin":"\\\\s*((@)import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.import.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.less"}},"name":"meta.at-rule.import.less","patterns":[{"include":"#url-function"},{"include":"#less-variables"},{"begin":"(?<=([\\"'])|([\\"']\\\\)))\\\\s*","end":"\\\\s*(?=;)","patterns":[{"include":"#media-query"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"match":"reference|inline|less|css|once|multiple|optional","name":"constant.language.import-directive.less"},{"include":"#comma-delimiter"}]},{"include":"#literal-string"}]},"at-keyframes":{"begin":"\\\\s*((@)keyframes)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"keyword.control.at-rule.keyframe.less"},"2":{"name":"punctuation.definition.keyword.less"},"4":{"name":"support.constant.keyframe.less"}},"end":"\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=})","patterns":[{"captures":{"1":{"name":"keyword.other.keyframe-selector.less"},"2":{"name":"constant.numeric.less"},"3":{"name":"keyword.other.unit.less"}},"match":"\\\\s*(?:(from|to)|((?:\\\\.[0-9]+|[0-9]+(?:\\\\.[0-9]*)?)(%)))\\\\s*,?\\\\s*"},{"include":"$self"}]},{"begin":"\\\\s*(?=[^;{])","end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.keyframe.less","patterns":[{"include":"#keyframe-name"},{"include":"#arbitrary-repetition"}]}]},"at-media":{"begin":"(?=\\\\s*@media\\\\b)","end":"\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"\\\\s*((@)media)","beginCaptures":{"1":{"name":"keyword.control.at-rule.media.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.media.less"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.media.less","patterns":[{"include":"#media-query-list"}]},{"begin":"\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=})","patterns":[{"include":"#rule-list-body"},{"include":"$self"}]}]},"at-namespace":{"begin":"\\\\s*((@)namespace)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.at-rule.namespace.less"},"2":{"name":"punctuation.definition.keyword.less"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.less"}},"name":"meta.at-rule.namespace.less","patterns":[{"include":"#url-function"},{"include":"#literal-string"},{"match":"(-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)","name":"entity.name.constant.namespace-prefix.less"}]},"at-page":{"captures":{"1":{"name":"keyword.control.at-rule.page.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"punctuation.definition.entity.less"},"4":{"name":"entity.other.attribute-name.pseudo-class.less"}},"match":"\\\\s*((@)page)\\\\s*(?:(:)(first|left|right))?\\\\s*(?=\\\\{|$)","name":"meta.at-rule.page.less","patterns":[{"include":"#comment-block"},{"include":"#rule-list"}]},"at-rules":{"patterns":[{"include":"#at-charset"},{"include":"#at-container"},{"include":"#at-counter-style"},{"include":"#at-custom-media"},{"include":"#at-font-face"},{"include":"#at-media"},{"include":"#at-import"},{"include":"#at-keyframes"},{"include":"#at-namespace"},{"include":"#at-page"},{"include":"#at-supports"},{"include":"#at-viewport"}]},"at-supports":{"begin":"(?=\\\\s*@supports\\\\b)","end":"(?=\\\\s*)(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"begin":"\\\\s*((@)supports)","beginCaptures":{"1":{"name":"keyword.control.at-rule.supports.less"},"2":{"name":"punctuation.definition.keyword.less"},"3":{"name":"support.constant.supports.less"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.supports.less","patterns":[{"include":"#at-supports-operators"},{"include":"#at-supports-parens"}]},{"begin":"\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.property-list.begin.less"}},"end":"(?=})","patterns":[{"include":"#rule-list-body"},{"include":"$self"}]}]},"at-supports-operators":{"match":"\\\\b(?:and|or|not)\\\\b","name":"keyword.operator.logic.less"},"at-supports-parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"include":"#at-supports-operators"},{"include":"#at-supports-parens"},{"include":"#rule-list-body"}]},"attr-function":{"begin":"\\\\b(attr)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#qualified-name"},{"include":"#literal-string"},{"begin":"(-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)","end":"(?=\\\\))","name":"entity.other.attribute-name.less","patterns":[{"match":"\\\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\\\b","name":"keyword.other.unit.less"},{"include":"#comma-delimiter"},{"include":"#property-value-constants"},{"include":"#numeric-values"}]},{"include":"#color-values"}]}]},"builtin-functions":{"patterns":[{"include":"#attr-function"},{"include":"#calc-function"},{"include":"#color-functions"},{"include":"#counter-functions"},{"include":"#cross-fade-function"},{"include":"#cubic-bezier-function"},{"include":"#filter-function"},{"include":"#fit-content-function"},{"include":"#format-function"},{"include":"#gradient-functions"},{"include":"#grid-repeat-function"},{"include":"#image-function"},{"include":"#less-functions"},{"include":"#local-function"},{"include":"#minmax-function"},{"include":"#regexp-function"},{"include":"#shape-functions"},{"include":"#steps-function"},{"include":"#symbols-function"},{"include":"#transform-functions"},{"include":"#url-function"},{"include":"#var-function"}]},"calc-function":{"begin":"\\\\b(calc)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.calc.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-strings"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#attr-function"},{"include":"#less-math"},{"include":"#relative-color"}]}]},"color-adjuster-operators":{"match":"[-*+](?=\\\\s+)","name":"keyword.operator.less"},"color-functions":{"patterns":[{"begin":"\\\\b(rgba?)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#value-separator"},{"include":"#percentage-type"},{"include":"#number-type"}]}]},{"begin":"\\\\b(hsla?|hwb|oklab|oklch|lab|lch)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#angle-type"},{"include":"#percentage-type"},{"include":"#number-type"},{"include":"#calc-function"},{"include":"#value-separator"}]}]},{"begin":"\\\\b(light-dark)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"}]}]},{"include":"#less-color-functions"}]},"color-values":{"patterns":[{"include":"#color-functions"},{"include":"#less-functions"},{"include":"#less-variables"},{"include":"#var-function"},{"match":"\\\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\\\b","name":"support.constant.color.w3c-standard-color-name.less"},{"match":"\\\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\\\b","name":"support.constant.color.w3c-extended-color-keywords.less"},{"match":"\\\\b((?i)currentColor|transparent)\\\\b","name":"support.constant.color.w3c-special-color-keyword.less"},{"captures":{"1":{"name":"punctuation.definition.constant.less"}},"match":"(#)(\\\\h{3}|\\\\h{4}|\\\\h{6}|\\\\h{8})\\\\b","name":"constant.other.color.rgb-value.less"},{"include":"#relative-color"}]},"comma-delimiter":{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"\\\\s*(,)\\\\s*"},"comment-block":{"patterns":[{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.less"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.less"}},"name":"comment.block.less"},{"include":"#comment-line"}]},"comment-line":{"captures":{"1":{"name":"punctuation.definition.comment.less"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.less"},"counter-functions":{"patterns":[{"begin":"\\\\b(counter)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"match":"--(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))+|-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*","name":"entity.other.counter-name.less"},{"begin":"(?=,)","end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"match":"\\\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\\\b","name":"support.constant.property-value.counter-style.less"}]}]}]},{"begin":"\\\\b(counters)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"(-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)","name":"entity.other.counter-name.less string.unquoted.less"},{"begin":"(?=,)","end":"(?=\\\\))","patterns":[{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#literal-string"},{"include":"#comma-delimiter"},{"match":"\\\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\\\b","name":"support.constant.property-value.counter-style.less"}]}]}]}]},"cross-fade-function":{"patterns":[{"begin":"\\\\b(cross-fade)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.image.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#percentage-type"},{"include":"#color-values"},{"include":"#image-type"},{"include":"#literal-string"},{"include":"#unquoted-string"}]}]}]},"cubic-bezier-function":{"begin":"\\\\b(cubic-bezier)(\\\\()","beginCaptures":{"1":{"name":"support.function.timing.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"contentName":"meta.group.less","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"include":"#less-functions"},{"include":"#calc-function"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#number-type"}]},"custom-property-name":{"captures":{"1":{"name":"punctuation.definition.custom-property.less"},"2":{"name":"support.type.custom-property.name.less"}},"match":"\\\\s*(--)((?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))+)","name":"support.type.custom-property.less"},"dimensions":{"patterns":[{"include":"#angle-type"},{"include":"#frequency-type"},{"include":"#time-type"},{"include":"#percentage-type"},{"include":"#length-type"}]},"filter-function":{"begin":"\\\\b(filter)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","name":"meta.group.less","patterns":[{"include":"#comma-delimiter"},{"include":"#image-type"},{"include":"#literal-string"},{"include":"#filter-functions"}]}]},"filter-functions":{"patterns":[{"include":"#less-functions"},{"begin":"\\\\b(blur)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#length-type"}]}]},{"begin":"\\\\b(brightness|contrast|grayscale|invert|opacity|saturate|sepia)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#percentage-type"},{"include":"#number-type"},{"include":"#less-functions"}]}]},{"begin":"\\\\b(drop-shadow)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#length-type"},{"include":"#color-values"}]}]},{"begin":"\\\\b(hue-rotate)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.filter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#angle-type"}]}]}]},"fit-content-function":{"begin":"\\\\b(fit-content)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.grid.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#percentage-type"},{"include":"#length-type"}]}]},"format-function":{"patterns":[{"begin":"\\\\b(format)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.format.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#literal-string"}]}]}]},"frequency-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"(?i:[-+]?(?:\\\\d*\\\\.\\\\d+(?:[Ee][-+]?\\\\d+)*|[-+]?\\\\d+)(k??Hz))\\\\b","name":"constant.numeric.less"},"global-property-values":{"match":"\\\\b(?:initial|inherit|unset|revert-layer|revert)\\\\b","name":"support.constant.property-value.less"},"gradient-functions":{"patterns":[{"begin":"\\\\b((?:repeating-)?linear-gradient)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.gradient.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#angle-type"},{"include":"#color-values"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#comma-delimiter"},{"match":"\\\\bto\\\\b","name":"keyword.other.less"},{"match":"\\\\b(top|right|bottom|left)\\\\b","name":"support.constant.property-value.less"}]}]},{"begin":"\\\\b((?:repeating-)?radial-gradient)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.gradient.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#color-values"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#comma-delimiter"},{"match":"\\\\b(at|circle|ellipse)\\\\b","name":"keyword.other.less"},{"match":"\\\\b(top|right|bottom|left|center|((?:farth|clos)est)-(corner|side))\\\\b","name":"support.constant.property-value.less"}]}]}]},"grid-repeat-function":{"begin":"\\\\b(repeat)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.grid.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#var-function"},{"include":"#length-type"},{"include":"#percentage-type"},{"include":"#minmax-function"},{"include":"#integer-type"},{"match":"\\\\b(auto-(fi(?:ll|t)))\\\\b","name":"support.keyword.repetitions.less"},{"match":"\\\\b(((m(?:ax|in))-content)|auto)\\\\b","name":"support.constant.property-value.less"}]}]},"image-function":{"begin":"\\\\b(image)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.image.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#image-type"},{"include":"#literal-string"},{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#unquoted-string"}]}]},"image-type":{"patterns":[{"include":"#cross-fade-function"},{"include":"#gradient-functions"},{"include":"#image-function"},{"include":"#url-function"}]},"important":{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"(!)\\\\s*important","name":"keyword.other.important.less"},"integer-type":{"match":"[-+]?\\\\d+","name":"constant.numeric.less"},"keyframe-name":{"begin":"\\\\s*(-?(?:[_a-z[^\\\\x00-\\\\x7F]]|(?:(:?\\\\\\\\[0-9a-f]{1,6}(\\\\r\\\\n|[\\\\t\\\\n\\\\f\\\\r\\\\s])?)|\\\\\\\\[^\\\\n\\\\f\\\\r0-9a-f]))(?:[-0-9_a-z[^\\\\x00-\\\\x7F]]|(?:(:?\\\\\\\\[0-9a-f]{1,6}(\\\\r\\\\n|[\\\\t\\\\n\\\\f\\\\r])?)|\\\\\\\\[^\\\\n\\\\f\\\\r0-9a-f]))*)?","beginCaptures":{"1":{"name":"variable.other.constant.animation-name.less"}},"end":"\\\\s*(?:(,)|(?=[;{]))","endCaptures":{"1":{"name":"punctuation.definition.arbitrary-repetition.less"}}},"length-type":{"patterns":[{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"[-+]?(?:\\\\d+\\\\.\\\\d+|\\\\.?\\\\d+)(?:[Ee][-+]?\\\\d+)?(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|[mq]|in|pt|pc|px|fr|dpi|dpcm|dppx|x)","name":"constant.numeric.less"},{"match":"\\\\b[-+]?0\\\\b","name":"constant.numeric.less"}]},"less-boolean-function":{"begin":"\\\\b(boolean)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.boolean.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-logical-comparisons"}]}]},"less-color-blend-functions":{"patterns":[{"begin":"\\\\b(multiply|screen|overlay|(soft|hard)light|difference|exclusion|negation|average)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-blend.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#comma-delimiter"},{"include":"#color-values"}]}]}]},"less-color-channel-functions":{"patterns":[{"begin":"\\\\b(hue|saturation|lightness|hsv(hue|saturation|value)|red|green|blue|alpha|luma|luminance)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-definition.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"}]}]}]},"less-color-definition-functions":{"patterns":[{"begin":"\\\\b(argb)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-definition.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#color-values"}]}]},{"begin":"\\\\b(hsva?)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#integer-type"},{"include":"#percentage-type"},{"include":"#number-type"},{"include":"#less-strings"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#comma-delimiter"}]}]}]},"less-color-functions":{"patterns":[{"include":"#less-color-blend-functions"},{"include":"#less-color-channel-functions"},{"include":"#less-color-definition-functions"},{"include":"#less-color-operation-functions"}]},"less-color-operation-functions":{"patterns":[{"begin":"\\\\b(fade|shade|tint)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#percentage-type"}]}]},{"begin":"\\\\b(spin)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#number-type"}]}]},{"begin":"\\\\b(((de)?saturate)|((light|dark)en)|(fade(in|out)))(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#percentage-type"},{"match":"\\\\brelative\\\\b","name":"constant.language.relative.less"}]}]},{"begin":"\\\\b(contrast)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#percentage-type"}]}]},{"begin":"\\\\b(greyscale)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"}]}]},{"begin":"\\\\b(mix)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color-operation.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#color-values"},{"include":"#comma-delimiter"},{"include":"#less-math"},{"include":"#percentage-type"}]}]}]},"less-extend":{"begin":"(:)(extend)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"entity.other.attribute-name.pseudo-class.extend.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"\\\\ball\\\\b","name":"constant.language.all.less"},{"include":"#selectors"}]}]},"less-functions":{"patterns":[{"include":"#less-boolean-function"},{"include":"#less-color-functions"},{"include":"#less-if-function"},{"include":"#less-list-functions"},{"include":"#less-math-functions"},{"include":"#less-misc-functions"},{"include":"#less-string-functions"},{"include":"#less-type-functions"}]},"less-if-function":{"begin":"\\\\b(if)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.if.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-mixin-guards"},{"include":"#comma-delimiter"},{"include":"#property-values"}]}]},"less-list-functions":{"patterns":[{"begin":"\\\\b(length)(?=\\\\()\\\\b","beginCaptures":{"1":{"name":"support.function.length.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"}]}]},{"begin":"\\\\b(extract)(?=\\\\()\\\\b","beginCaptures":{"1":{"name":"support.function.extract.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"},{"include":"#integer-type"}]}]},{"begin":"\\\\b(range)(?=\\\\()\\\\b","beginCaptures":{"1":{"name":"support.function.range.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"},{"include":"#integer-type"}]}]}]},"less-logical-comparisons":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.less"}},"match":"\\\\s*(=|(([<>])=?))\\\\s*"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"include":"#less-logical-comparisons"}]},{"match":"\\\\btrue|false\\\\b","name":"constant.language.less"},{"match":",","name":"punctuation.separator.less"},{"include":"#property-values"},{"include":"#selectors"},{"include":"#unquoted-string"}]},"less-math":{"patterns":[{"match":"[-*+/]","name":"keyword.operator.arithmetic.less"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"include":"#less-math"}]},{"include":"#numeric-values"},{"include":"#less-variables"}]},"less-math-functions":{"patterns":[{"begin":"\\\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\\\()","beginCaptures":{"1":{"name":"support.function.math.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#numeric-values"}]}]},{"captures":{"2":{"name":"support.function.math.less"},"3":{"name":"punctuation.definition.group.begin.less"},"4":{"name":"punctuation.definition.group.end.less"}},"match":"((pi)(\\\\()(\\\\)))","name":"meta.function-call.less"},{"begin":"\\\\b(pow|m(od|in|ax))(?=\\\\()","beginCaptures":{"1":{"name":"support.function.math.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#numeric-values"},{"include":"#comma-delimiter"}]}]}]},"less-misc-functions":{"patterns":[{"begin":"\\\\b(color)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.color.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#literal-string"}]}]},{"begin":"\\\\b(image-(size|width|height))(?=\\\\()","beginCaptures":{"1":{"name":"support.function.image.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#literal-string"},{"include":"#unquoted-string"}]}]},{"begin":"\\\\b(convert|unit)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.convert.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#numeric-values"},{"include":"#literal-string"},{"include":"#comma-delimiter"},{"match":"(([cm])?m|in|p([ctx])|m?s|g?rad|deg|turn|%|r?em|ex|ch)","name":"keyword.other.unit.less"}]}]},{"begin":"\\\\b(data-uri)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.data-uri.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#literal-string"},{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"\\\\s*(,)"}]}]},{"captures":{"2":{"name":"punctuation.definition.group.begin.less"},"3":{"name":"punctuation.definition.group.end.less"}},"match":"\\\\b(default(\\\\()(\\\\)))\\\\b","name":"support.function.default.less"},{"begin":"\\\\b(get-unit)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.get-unit.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#dimensions"}]}]},{"begin":"\\\\b(svg-gradient)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.svg-gradient.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#angle-type"},{"include":"#comma-delimiter"},{"include":"#color-values"},{"include":"#percentage-type"},{"include":"#length-type"},{"match":"\\\\bto\\\\b","name":"keyword.other.less"},{"match":"\\\\b(top|right|bottom|left|center)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(at|circle|ellipse)\\\\b","name":"keyword.other.less"}]}]}]},"less-mixin-guards":{"patterns":[{"begin":"\\\\s*(and|not|or)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.operator.logical.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","name":"meta.group.less","patterns":[{"include":"#less-variable-comparison"},{"captures":{"1":{"name":"meta.group.less"},"2":{"name":"punctuation.definition.group.begin.less"},"3":{"name":"punctuation.definition.group.end.less"}},"match":"default((\\\\()(\\\\)))","name":"support.function.default.less"},{"include":"#property-values"},{"include":"#less-logical-comparisons"},{"include":"$self"}]}]}]},"less-namespace-accessors":{"patterns":[{"begin":"(?=\\\\s*when\\\\b)","end":"\\\\s*(?:(,)|(?=[;{]))","endCaptures":{"1":{"name":"punctuation.definition.block.end.less"}},"name":"meta.conditional.guarded-namespace.less","patterns":[{"captures":{"1":{"name":"keyword.control.conditional.less"},"2":{"name":"punctuation.definition.keyword.less"}},"match":"\\\\s*(when)(?=.*?)"},{"include":"#less-mixin-guards"},{"include":"#comma-delimiter"},{"begin":"\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.property-list.begin.less"}},"end":"(?=})","name":"meta.block.less","patterns":[{"include":"#rule-list-body"}]},{"include":"#selectors"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.begin.less"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.end.less"},"2":{"name":"punctuation.terminator.rule.less"}},"name":"meta.group.less","patterns":[{"include":"#less-variable-assignment"},{"include":"#comma-delimiter"},{"include":"#property-values"},{"include":"#rule-list-body"}]},{"captures":{"1":{"name":"punctuation.terminator.rule.less"}},"match":"(;)|(?=[)}])"}]},"less-string-functions":{"patterns":[{"begin":"\\\\b(e(scape)?)(?=\\\\()\\\\b","beginCaptures":{"1":{"name":"support.function.escape.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#unquoted-string"}]}]},{"begin":"\\\\s*(%)(?=\\\\()\\\\s*","beginCaptures":{"1":{"name":"support.function.format.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#property-values"}]}]},{"begin":"\\\\b(replace)(?=\\\\()\\\\b","beginCaptures":{"1":{"name":"support.function.replace.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#property-values"}]}]}]},"less-strings":{"patterns":[{"begin":"(~)([\\"'])","beginCaptures":{"1":{"name":"constant.character.escape.less"},"2":{"name":"punctuation.definition.string.begin.less"}},"contentName":"markup.raw.inline.less","end":"([\\"'])|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.less"},"2":{"name":"invalid.illegal.newline.less"}},"name":"string.quoted.other.less","patterns":[{"include":"#string-content"}]}]},"less-type-functions":{"patterns":[{"begin":"\\\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\\\()","beginCaptures":{"1":{"name":"support.function.type.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#property-values"}]}]},{"begin":"\\\\b(isunit)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.type.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#property-values"},{"include":"#comma-delimiter"},{"match":"\\\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\\\b","name":"keyword.other.unit.less"}]}]},{"begin":"\\\\b(isdefined)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.type.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"}]}]}]},"less-variable-assignment":{"patterns":[{"begin":"(@)(-?(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)","beginCaptures":{"0":{"name":"variable.other.readwrite.less"},"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"support.other.variable.less"}},"end":"\\\\s*(;|(\\\\.{3})|(?=\\\\)))","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"},"2":{"name":"keyword.operator.spread.less"}},"name":"meta.property-value.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\\\+_?)?):)([\\\\t\\\\s]*)"},{"include":"#property-values"},{"include":"#comma-delimiter"},{"include":"#property-list"},{"include":"#unquoted-string"}]}]},"less-variable-comparison":{"patterns":[{"begin":"(@{1,2})(-?([_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)","beginCaptures":{"0":{"name":"variable.other.readwrite.less"},"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"support.other.variable.less"}},"end":"\\\\s*(?=\\\\))","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.less"}},"match":"\\\\s*(=|(([<>])=?))\\\\s*"},{"match":"\\\\btrue\\\\b","name":"constant.language.less"},{"include":"#property-values"},{"include":"#selectors"},{"include":"#unquoted-string"},{"match":",","name":"punctuation.separator.less"}]}]},"less-variable-interpolation":{"captures":{"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"punctuation.definition.expression.less"},"3":{"name":"support.other.variable.less"},"4":{"name":"punctuation.definition.expression.less"}},"match":"(@)(\\\\{)([-\\\\w]+)(})","name":"variable.other.readwrite.less"},"less-variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.less"},"2":{"name":"support.other.variable.less"}},"match":"\\\\s*(@@?)([-\\\\w]+)","name":"variable.other.readwrite.less"},{"include":"#less-variable-interpolation"}]},"literal-string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.less"}},"end":"(')|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.less"},"2":{"name":"invalid.illegal.newline.less"}},"name":"string.quoted.single.less","patterns":[{"include":"#string-content"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.less"}},"end":"(\\")|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.less"},"2":{"name":"invalid.illegal.newline.less"}},"name":"string.quoted.double.less","patterns":[{"include":"#string-content"}]},{"include":"#less-strings"}]},"local-function":{"begin":"\\\\b(local)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.font-face.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#unquoted-string"}]}]},"media-query":{"begin":"\\\\s*(only|not)?\\\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?","beginCaptures":{"1":{"name":"keyword.operator.logic.media.less"},"2":{"name":"support.constant.media.less"}},"end":"\\\\s*(?:(,)|(?=[;{]))","endCaptures":{"1":{"name":"punctuation.definition.arbitrary-repetition.less"}},"patterns":[{"include":"#less-variables"},{"include":"#custom-property-name"},{"begin":"\\\\s*(and)?\\\\s*(\\\\()\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.logic.media.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.group.less","patterns":[{"begin":"(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}\\\\d]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))*)\\\\s*(?=[):])","beginCaptures":{"0":{"name":"support.type.property-name.media.less"}},"end":"(((\\\\+_?)?):)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.key-value.less"}}},{"match":"\\\\b(portrait|landscape|progressive|interlace)","name":"support.constant.property-value.less"},{"captures":{"1":{"name":"constant.numeric.less"},"2":{"name":"keyword.operator.arithmetic.less"},"3":{"name":"constant.numeric.less"}},"match":"\\\\s*(\\\\d+)(/)(\\\\d+)"},{"include":"#less-math"}]}]},"media-query-list":{"begin":"\\\\s*(?=[^;{])","end":"\\\\s*(?=[;{])","patterns":[{"include":"#media-query"}]},"minmax-function":{"begin":"\\\\b(minmax)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.grid.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#var-function"},{"include":"#length-type"},{"include":"#comma-delimiter"},{"match":"\\\\b(m(?:ax|in)-content)\\\\b","name":"support.constant.property-value.less"}]}]},"number-type":{"match":"[-+]?(?:\\\\d+\\\\.\\\\d+|\\\\.?\\\\d+)(?:[Ee][-+]?\\\\d+)?","name":"constant.numeric.less"},"numeric-values":{"patterns":[{"include":"#dimensions"},{"include":"#percentage-type"},{"include":"#number-type"}]},"percentage-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"[-+]?(?:\\\\d+\\\\.\\\\d+|\\\\.?\\\\d+)(?:[Ee][-+]?\\\\d+)?(%)","name":"constant.numeric.less"},"property-list":{"patterns":[{"begin":"(?=(?=[^;]*)\\\\{)","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.less"}},"patterns":[{"include":"#rule-list"}]}]},"property-value-constants":{"patterns":[{"match":"\\\\b(flex-start|flex-end|start|end|space-between|space-around|space-evenly|stretch|baseline|safe|unsafe|legacy|anchor-center|first|last|self-start|self-end)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(text-before-edge|before-edge|middle|central|text-after-edge|after-edge|ideographic|alphabetic|hanging|mathematical|top|center|bottom)\\\\b","name":"support.constant.property-value.less"},{"include":"#global-property-values"},{"include":"#cubic-bezier-function"},{"include":"#steps-function"},{"match":"\\\\b(?:replace|add|accumulate)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(?:normal|alternate-reverse|alternate|reverse)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(?:forwards|backwards|both)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\binfinite\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(?:running|paused)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\be(?:ntry|xit)(?:-crossing|)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(linear|ease-in-out|ease-in|ease-out|ease|step-start|step-end)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(absolute|active|add|all-petite-caps|all-small-caps|all-scroll|all|alphabetic|alpha|alternate-reverse|alternate|always|annotation|antialiased|at|autohiding-scrollbar|auto|avoid-column|avoid-page|avoid-region|avoid|background-color|background-image|background-position|background-size|background-repeat|background|backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink|block-line-height|block-start|block-end|block|blur|bolder|bold|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|both|bottom|box-shadow|box|break-all|break-word|break-spaces|brightness|butt(on)?|capitalize|central|center|char(acter-variant)?|cjk-ideographic|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color-stop|color-burn|color-dodge|color|column-count|column-gap|column-reverse|column-rule-color|column-rule-width|column-rule|column-width|columns?|common-ligatures|condensed|consider-shifts|contain|content-box|contents?|contextual|contrast|cover|crisp-edges|crispEdges|crop|crosshair|cross|darken|dashed|default|dense|device-width|diagonal-fractions|difference|disabled|discard|discretionary-ligatures|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|drop-shadow|[ensw]{1,4}-resize|ease-in-out|ease-in|ease-out|ease|element|ellipsis|embed|end|EndColorStr|evenodd|exclude-ruby|exclusion|expanded|extra-condensed|extra-expanded|farthest-corner|farthest-side|farthest|fill-box|fill-opacity|fill|filter|fit-content|fixed|flat|flex-basis|flex-end|flex-grow|flex-shrink|flex-start|flexbox|flex|flip|flood-color|font-size-adjust|font-size|font-stretch|font-weight|font|forwards|from-image|from|full-width|gap|geometricPrecision|glyphs|gradient|grayscale|grid-column-gap|grid-column|grid-row-gap|grid-row|grid-gap|grid-height|grid|groove|hand|hanging|hard-light|height|help|hidden|hide|historical-forms|historical-ligatures|horizontal-tb|horizontal|hue|ideographic|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|include-ruby|infinite|inherit|initial|inline-end|inline-size|inline-start|inline-table|inline-line-height|inline-flexbox|inline-flex|inline-box|inline-block|inline|inset|inside|inter-ideograph|inter-word|intersect|invert|isolate|isolation|italic|jis(04|78|83|90)|justify-all|justify|keep-all|larger?|last|layout|left|letter-spacing|lighten|lighter|lighting-color|linear-gradient|linearRGB|linear|line-edge|line-height|line-through|line|lining-nums|list-item|local|loose|lowercase|lr-tb|ltr|luminosity|luminance|manual|manipulation|margin-bottom|margin-box|margin-left|margin-right|margin-top|margin|marker(-offset|s)?|match-parent|mathematical|max-(content|height|lines|size|width)|medium|middle|min-(content|height|width)|miter|mixed|move|multiply|newspaper|no-change|no-clip|no-close-quote|no-open-quote|no-common-ligatures|no-discretionary-ligatures|no-historical-ligatures|no-contextual|no-drop|no-repeat|none|nonzero|normal|not-allowed|nowrap|oblique|offset-after|offset-before|offset-end|offset-start|offset|oldstyle-nums|opacity|open-quote|optimize(Legibility|Precision|Quality|Speed)|order|ordinal|ornaments|outline-color|outline-offset|outline-width|outline|outset|outside|overline|over-edge|overlay|padding(-(?:bottom|box|left|right|top|box))?|page|paint(ed)?|paused|pan-(x|left|right|y|up|down)|perspective-origin|petite-caps|pixelated|pointer|pinch-zoom|pretty|pre(-(?:line|wrap))?|preserve-3d|preserve-breaks|preserve-spaces|preserve|progid:DXImageTransform\\\\.Microsoft\\\\.(Alpha|Blur|dropshadow|gradient|Shadow)|progress|proportional-nums|proportional-width|radial-gradient|recto|region|relative|repeating-linear-gradient|repeating-radial-gradient|repeat-x|repeat-y|repeat|replaced|reset-size|reverse|revert-layer|revert|ridge|right|round|row-gap|row-resize|row-reverse|row|rtl|ruby|running|saturate|saturation|screen|scrollbar|scroll-position|scroll|separate|sepia|scale-down|semi-condensed|semi-expanded|shape-image-threshold|shape-margin|shape-outside|show|sideways-lr|sideways-rl|sideways|simplified|size|slashed-zero|slice|small-caps|smaller|small|smooth|snap|solid|soft-light|space-around|space-between|space|span|sRGB|stable|stacked-fractions|stack|startColorStr|start|static|step-end|step-start|sticky|stop-color|stop-opacity|stretch|strict|stroke-box|stroke-dasharray|stroke-dashoffset|stroke-miterlimit|stroke-opacity|stroke-width|stroke|styleset|style|stylistic|subgrid|subpixel-antialiased|subtract|super|swash|table-caption|table-cell|table-column-group|table-footer-group|table-header-group|table-row-group|table-column|table-row|table|tabular-nums|tb-rl|text((-(?:bottom|(decoration|emphasis)-color|indent|(over|under)-edge|shadow|size(-adjust)?|top))|field)?|thick|thin|titling-caps|titling-case|top|touch|to|traditional|transform-origin|transform-style|transform|ultra-condensed|ultra-expanded|under-edge|underline|unicase|unset|uppercase|upright|use-glyph-orientation|use-script|verso|vertical(-(?:align|ideographic|lr|rl|text))?|view-box|viewport-fill-opacity|viewport-fill|visibility|visibleFill|visiblePainted|visibleStroke|visible|wait|wavy|weight|whitespace|width|word-spacing|wrap-reverse|wrap|xx?-(large|small)|z-index|zero|zoom-in|zoom-out|zoom|arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)\\\\b","name":"support.constant.property-value.less"},{"match":"\\\\b(sans-serif|serif|monospace|fantasy|cursive)\\\\b(?=\\\\s*[\\\\n,;}])","name":"support.constant.font-name.less"}]},"property-values":{"patterns":[{"include":"#comment-block"},{"include":"#builtin-functions"},{"include":"#color-functions"},{"include":"#less-functions"},{"include":"#less-variables"},{"include":"#unicode-range"},{"include":"#numeric-values"},{"include":"#color-values"},{"include":"#property-value-constants"},{"include":"#less-math"},{"include":"#literal-string"},{"include":"#comma-delimiter"},{"include":"#important"}]},"pseudo-selectors":{"patterns":[{"begin":"(:)(dir)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"ltr|rtl","name":"variable.parameter.dir.less"},{"include":"#less-variables"}]}]},{"begin":"(:)(lang)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#literal-string"},{"include":"#unquoted-string"}]}]},{"begin":"(:)(not)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#selectors"}]}]},{"begin":"(:)(nth(-last)?-(child|of-type))(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"entity.other.attribute-name.pseudo-class.less"}},"contentName":"meta.function-call.less","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","name":"meta.group.less","patterns":[{"match":"\\\\b(even|odd)\\\\b","name":"keyword.other.pseudo-class.less"},{"captures":{"1":{"name":"keyword.operator.arithmetic.less"},"2":{"name":"keyword.other.unit.less"},"4":{"name":"keyword.operator.arithmetic.less"}},"match":"([-+])?\\\\d+{0,1}(n)(\\\\s*([-+])\\\\s*\\\\d+)?|[-+]?\\\\s*\\\\d+","name":"constant.numeric.less"},{"include":"#less-math"},{"include":"#less-strings"},{"include":"#less-variable-interpolation"}]}]},{"begin":"(:)(host-context|host|has|is|not|where)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-class.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#selectors"}]}]},{"captures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"entity.other.attribute-name.pseudo-class.less"}},"match":"(:)(active|any-link|autofill|blank|buffering|checked|current|default|defined|disabled|empty|enabled|first-child|first-of-type|first|focus-visible|focus-within|focus|fullscreen|future|host|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|local-link|link|modal|muted|only-child|only-of-type|optional|out-of-range|past|paused|picture-in-picture|placeholder-shown|playing|popover-open|read-only|read-write|required|right|root|scope|seeking|stalled|target-within|target|user-invalid|user-valid|valid|visited|volume-locked)\\\\b","name":"meta.function-call.less"},{"begin":"(::?)(highlight|part|state)(?=\\\\s*(\\\\())","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-element.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}\\\\d]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))*","name":"variable.parameter.less"},{"include":"#less-variables"}]}]},{"begin":"(::?)slotted(?=\\\\s*(\\\\())","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"contentName":"meta.function-call.less","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"entity.other.attribute-name.pseudo-element.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","name":"meta.group.less","patterns":[{"include":"#selectors"}]}]},{"captures":{"1":{"name":"punctuation.definition.entity.less"}},"match":"(::?)(after|backdrop|before|cue|file-selector-button|first-letter|first-line|grammar-error|marker|placeholder|selection|spelling-error|target-text|view-transition-group|view-transition-image-pair|view-transition-new|view-transition-old|view-transition)\\\\b","name":"entity.other.attribute-name.pseudo-element.less"},{"captures":{"1":{"name":"punctuation.definition.entity.less"},"2":{"name":"meta.namespace.vendor-prefix.less"}},"match":"(::?)(-\\\\w+-)(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}\\\\d]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))*)\\\\b","name":"entity.other.attribute-name.pseudo-element.less"}]},"qualified-name":{"captures":{"1":{"name":"entity.name.constant.less"},"2":{"name":"entity.name.namespace.wildcard.less"},"3":{"name":"punctuation.separator.namespace.less"}},"match":"(?:(-?(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)|(\\\\*))?(\\\\|)(?!=)"},"regexp-function":{"begin":"\\\\b(regexp)(?=\\\\()","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"support.function.regexp.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","name":"meta.function-call.less","patterns":[{"include":"#literal-string"}]}]},"relative-color":{"patterns":[{"match":"from","name":"keyword.other.less"},{"match":"\\\\b[abchlsw]\\\\b","name":"keyword.other.less"}]},"rule-list":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.less"}},"end":"(?=\\\\s*})","name":"meta.property-list.less","patterns":[{"captures":{"1":{"name":"punctuation.terminator.rule.less"}},"match":"\\\\s*(;)|(?=[)}])"},{"include":"#rule-list-body"},{"include":"#less-extend"}]}]},"rule-list-body":{"patterns":[{"include":"#comment-block"},{"include":"#comment-line"},{"include":"#at-rules"},{"include":"#less-variable-assignment"},{"begin":"(?=[-\\\\w]*?@\\\\{.*}[-\\\\w]*?\\\\s*:[^(;{]*(?=[);}]))","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"begin":"(?=[^:\\\\s])","end":"(?=(((\\\\+_?)?):)[\\\\t\\\\s]*)","name":"support.type.property-name.less","patterns":[{"include":"#less-variable-interpolation"}]},{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"support.type.property-name.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"include":"#property-values"}]}]},{"begin":"(?=[-a-z])","end":"$|(?![-a-z])","patterns":[{"include":"#custom-property-name"},{"begin":"(-[-\\\\w]+?-)((?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}\\\\d]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))*)\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"},"1":{"name":"meta.namespace.vendor-prefix.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"include":"#property-values"},{"match":"[-\\\\w]+","name":"support.constant.property-value.less"}]}]},{"include":"#filter-function"},{"begin":"\\\\b(border((-(bottom|top)-(left|right))|((-(start|end)){2}))?-radius|(border-image(?!-)))\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"include":"#value-separator"},{"include":"#property-values"}]}]},{"captures":{"1":{"name":"keyword.other.custom-property.prefix.less"},"2":{"name":"support.type.custom-property.name.less"}},"match":"\\\\b(var-)(-?(?:[-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[A-Z_a-z[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)(?=\\\\s)","name":"invalid.deprecated.custom-property.less"},{"begin":"\\\\bfont(-family)?(?!-)\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\\\+_?)?):)([\\\\t\\\\s]*)"},{"include":"#property-values"},{"match":"-?(?:[A-Z_a-z[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*(\\\\s+-?(?:[A-Z_a-z[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)*","name":"string.unquoted.less"},{"match":",","name":"punctuation.separator.less"}]},{"begin":"\\\\banimation-timeline\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"include":"#comment-block"},{"include":"#custom-property-name"},{"include":"#scroll-function"},{"include":"#view-function"},{"include":"#property-values"},{"include":"#less-variables"},{"include":"#arbitrary-repetition"},{"include":"#important"}]}]},{"begin":"\\\\banimation(?:-name)?(?=(?:\\\\+_?)?:)\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"include":"#comment-block"},{"include":"#builtin-functions"},{"include":"#less-functions"},{"include":"#less-variables"},{"include":"#numeric-values"},{"include":"#property-value-constants"},{"match":"-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|(?:(:?\\\\\\\\[0-9a-f]{1,6}(\\\\r\\\\n|[\\\\t\\\\n\\\\f\\\\r\\\\s])?)|\\\\\\\\[^\\\\n\\\\f\\\\r0-9a-f]))(?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|(?:(:?\\\\\\\\[0-9a-f]{1,6}(\\\\r\\\\n|[\\\\t\\\\n\\\\f\\\\r])?)|\\\\\\\\[^\\\\n\\\\f\\\\r0-9a-f]))*","name":"variable.other.constant.animation-name.less string.unquoted.less"},{"include":"#less-math"},{"include":"#arbitrary-repetition"},{"include":"#important"}]}]},{"begin":"\\\\b(transition(-(property|duration|delay|timing-function))?)\\\\b","beginCaptures":{"1":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"include":"#time-type"},{"include":"#property-values"},{"include":"#cubic-bezier-function"},{"include":"#steps-function"},{"include":"#arbitrary-repetition"}]}]},{"begin":"\\\\b(?:backdrop-)?filter\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\\\+_?)?):)([\\\\t\\\\s]*)"},{"match":"\\\\b(inherit|initial|unset|none)\\\\b","name":"meta.property-value.less"},{"include":"#filter-functions"}]},{"begin":"\\\\bwill-change\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\\\+_?)?):)([\\\\t\\\\s]*)"},{"match":"unset|initial|inherit|will-change|auto|scroll-position|contents","name":"invalid.illegal.property-value.less"},{"match":"-?(?:[-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[A-Z_a-z[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*","name":"support.constant.property-value.less"},{"include":"#arbitrary-repetition"}]},{"begin":"\\\\bcounter-(increment|(re)?set)\\\\b","beginCaptures":{"0":{"name":"support.type.property-name.less"}},"end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"meta.property-name.less","patterns":[{"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"match":"(((\\\\+_?)?):)([\\\\t\\\\s]*)"},{"match":"-?(?:[-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[A-Z_a-z[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*","name":"entity.name.constant.counter-name.less"},{"include":"#integer-type"},{"match":"unset|initial|inherit|auto","name":"invalid.illegal.property-value.less"}]},{"begin":"\\\\bcontainer(?:-name)?(?=\\\\s*?:)","end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"name":"support.type.property-name.less","patterns":[{"begin":"(((\\\\+_?)?):)(?=[\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"}},"contentName":"meta.property-value.less","end":"(?=\\\\s*(;)|(?=[)}]))","patterns":[{"match":"\\\\bdefault\\\\b","name":"invalid.illegal.property-value.less"},{"include":"#global-property-values"},{"include":"#custom-property-name"},{"contentName":"variable.other.constant.container-name.less","match":"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}\\\\d]|\\\\\\\\(?:\\\\N|\\\\H|\\\\h{1,6}[R\\\\s]))*","name":"support.constant.property-value.less"},{"include":"#property-values"}]}]},{"match":"\\\\b(accent-height|align-content|align-items|align-self|alignment-baseline|all|animation-timing-function|animation-range-start|animation-range-end|animation-range|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation-composition|animation|appearance|ascent|aspect-ratio|azimuth|backface-visibility|background-size|background-repeat-y|background-repeat-x|background-repeat|background-position-y|background-position-x|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|baseline-shift|begin|bias|blend-mode|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|bottom|box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing)|break-(after|before|inside)|caption-side|clear|clip-path|clip-rule|clip|color(-(interpolation(-filters)?|profile|rendering))?|columns|column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width)|container-name|container-type|container|contain-intrinsic-block-size|contain-intrinsic-inline-size|contain-intrinsic-height|contain-intrinsic-size|contain-intrinsic-width|contain|content|counter-(increment|reset)|cursor|[cdf][xy]|direction|display|divisor|dominant-baseline|dur|elevation|empty-cells|enable-background|end|fallback|fill(-(opacity|rule))?|filter|flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))?|float|flood-(color|opacity)|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size(-adjust)?|font-smoothing|font-stretch|font-style|font-synthesis|font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))?|font-weight|font|fr|((column|row)-)?gap|glyph-orientation-(horizontal|vertical)|grid-(area|gap)|grid-auto-(columns|flow|rows)|grid-(column|row)(-(end|gap|start))?|grid-template(-(areas|columns|rows))?|grid|height|hyphens|image-(orientation|rendering|resolution)|inset(-(block|inline))?(-(start|end))?|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-(box-contain|break|clamp|height)|list-style(-(image|position|type))?|(margin|padding)(-(bottom|left|right|top)|(-(block|inline)?(-(end|start))?))?|marker(-(end|mid|start))?|mask(-(clip||composite|image|origin|position|repeat|size|type))?|(m(?:ax|in))-(height|width)|mix-blend-mode|nbsp-mode|negative|object-(fit|position)|opacity|operator|order|orphans|outline(-(color|offset|style|width))?|overflow(-((inline|block)|scrolling|wrap|[xy]))?|overscroll-behavior(-(?:block|(inline|[xy])))?|pad(ding(-(bottom|left|right|top))?)?|page(-break-(after|before|inside))?|paint-order|pause(-(after|before))?|perspective(-origin(-([xy]))?)?|pitch(-range)?|place-content|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|scale|scroll-behavior|shape-(image-threshold|margin|outside|rendering)|size|speak(-as)?|src|stop-(color|opacity)|stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))?|suffix|symbols|system|tab-size|table-layout|tap-highlight-color|text-align(-last)?|text-decoration(-(color|line|style))?|text-emphasis(-(color|position|style))?|text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|size-adjust|shadow|transform|underline-position|wrap)|top|touch-action|transform(-origin(-([xy]))?)|transform(-style)?|transition(-(delay|duration|property|timing-function))?|translate|unicode-(bidi|range)|user-(drag|select)|vertical-align|visibility|white-space(-collapse)?|widows|width|will-change|word-(break|spacing|wrap)|writing-mode|z-index|zoom)\\\\b","name":"support.type.property-name.less"},{"match":"\\\\b(((contain-intrinsic|max|min)-)?(block|inline)?-size)\\\\b","name":"support.type.property-name.less"},{"include":"$self"}]},{"begin":"\\\\b((?:\\\\+_?)?:)([\\\\t\\\\s]*)","beginCaptures":{"1":{"name":"punctuation.separator.key-value.less"},"2":{"name":"meta.property-value.less"}},"captures":{"1":{"name":"punctuation.separator.key-value.less"},"4":{"name":"meta.property-value.less"}},"contentName":"meta.property-value.less","end":"\\\\s*(;)|(?=[)}])","endCaptures":{"1":{"name":"punctuation.terminator.rule.less"}},"patterns":[{"include":"#property-values"}]},{"include":"$self"}]},"scroll-function":{"begin":"\\\\b(scroll)(\\\\()","beginCaptures":{"1":{"name":"support.function.scroll.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"match":"root|nearest|self","name":"support.constant.scroller.less"},{"match":"block|inline|[xy]","name":"support.constant.axis.less"},{"include":"#less-variables"},{"include":"#var-function"}]},"selector":{"patterns":[{"begin":"(?=[#\\\\&*+./>A-\\\\[a-z~]|(:{1,2}\\\\S)|@\\\\{)","contentName":"meta.selector.less","end":"(?=@(?!\\\\{)|[;{])","patterns":[{"include":"#comment-line"},{"include":"#selectors"},{"include":"#less-namespace-accessors"},{"include":"#less-variable-interpolation"},{"include":"#important"}]}]},"selectors":{"patterns":[{"match":"\\\\b([a-z](?:[-0-9_a-z·]|\\\\\\\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}])*-(?:[-0-9_a-z·]|\\\\\\\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}])*)\\\\b","name":"entity.name.tag.custom.less"},{"match":"\\\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|big|blockquote|body|br|button|canvas|caption|circle|cite|clipPath|code|col|colgroup|content|data|dataList|dd|defs|del|details|dfn|dialog|dir|div|dl|dt|element|ellipse|em|embed|eventsource|fieldset|figcaption|figure|filter|footer|foreignObject|form|frame|frameset|g|glyph|glyphRef|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|line|linearGradient|link|main|map|mark|marker|mask|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|path|pattern|picture|polygon|polyline|pre|progress|q|radialGradient|rect|rp|ruby|rtc??|s|samp|script|section|select|shadow|small|source|span|stop|strike|strong|style|sub|summary|sup|svg|switch|symbol|table|tbody|td|template|textarea|textPath|tfoot|th|thead|time|title|tr|track|tref|tspan|tt|ul??|use|var|video|wbr|xmp)\\\\b","name":"entity.name.tag.less"},{"begin":"(\\\\.)","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"(?![-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(\\\\h{1,6} ?|\\\\H)|(@(?=\\\\{)))","name":"entity.other.attribute-name.class.less","patterns":[{"include":"#less-variable-interpolation"}]},{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"end":"(?![-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(\\\\h{1,6} ?|\\\\H)|(@(?=\\\\{)))","name":"entity.other.attribute-name.id.less","patterns":[{"include":"#less-variable-interpolation"}]},{"begin":"(&)","beginCaptures":{"1":{"name":"punctuation.definition.entity.less"}},"contentName":"entity.other.attribute-name.parent.less","end":"(?![-\\\\w[^\\\\x00-\\\\x{9F}]]|\\\\\\\\(\\\\h{1,6} ?|\\\\H)|(@(?=\\\\{)))","name":"entity.other.attribute-name.parent.less","patterns":[{"include":"#less-variable-interpolation"},{"include":"#selectors"}]},{"include":"#pseudo-selectors"},{"include":"#less-extend"},{"match":"(?!\\\\+_?:)(?:>{1,3}|[+~])(?![+;>}~])","name":"punctuation.separator.combinator.less"},{"match":"(>{1,3}|[+~]){2,}","name":"invalid.illegal.combinator.less"},{"match":"/deep/","name":"invalid.illegal.combinator.less"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.less"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.braces.end.less"}},"name":"meta.attribute-selector.less","patterns":[{"include":"#less-variable-interpolation"},{"include":"#qualified-name"},{"match":"(-?(?:[A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}[\\\\t\\\\n\\\\f\\\\s]?|[^\\\\n\\\\f\\\\h]))*)","name":"entity.other.attribute-name.less"},{"begin":"\\\\s*([$*^|~]?=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.attribute-selector.less"}},"end":"(?=([]\\\\s]))","patterns":[{"include":"#less-variable-interpolation"},{"match":"[^]\\"'\\\\[\\\\s]","name":"string.unquoted.less"},{"include":"#literal-string"},{"captures":{"1":{"name":"keyword.other.less"}},"match":"(?:\\\\s+([Ii]))?"},{"match":"]","name":"punctuation.definition.entity.less"}]}]},{"include":"#arbitrary-repetition"},{"match":"\\\\*","name":"entity.name.tag.wildcard.less"}]},"shape-functions":{"patterns":[{"begin":"\\\\b(rect)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"\\\\bauto\\\\b","name":"support.constant.property-value.less"},{"include":"#length-type"},{"include":"#comma-delimiter"}]}]},{"begin":"\\\\b(inset)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"\\\\bround\\\\b","name":"keyword.other.less"},{"include":"#length-type"},{"include":"#percentage-type"}]}]},{"begin":"\\\\b(circle|ellipse)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"\\\\bat\\\\b","name":"keyword.other.less"},{"match":"\\\\b(top|right|bottom|left|center|closest-side|farthest-side)\\\\b","name":"support.constant.property-value.less"},{"include":"#length-type"},{"include":"#percentage-type"}]}]},{"begin":"\\\\b(polygon)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.shape.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"\\\\b(nonzero|evenodd)\\\\b","name":"support.constant.property-value.less"},{"include":"#length-type"},{"include":"#percentage-type"}]}]}]},"steps-function":{"begin":"\\\\b(steps)(\\\\()","beginCaptures":{"1":{"name":"support.function.timing.less"},"2":{"name":"punctuation.definition.group.begin.less"}},"contentName":"meta.group.less","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"match":"jump-start|jump-end|jump-none|jump-both|start|end","name":"support.constant.step-position.less"},{"include":"#comma-delimiter"},{"include":"#integer-type"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"}]},"string-content":{"patterns":[{"include":"#less-variable-interpolation"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.less"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.less"}]},"style-function":{"begin":"\\\\b(style)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.style.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#rule-list-body"}]}]},"symbols-function":{"begin":"\\\\b(symbols)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.counter.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"\\\\b(cyclic|numeric|alphabetic|symbolic|fixed)\\\\b","name":"support.constant.symbol-type.less"},{"include":"#comma-delimiter"},{"include":"#literal-string"},{"include":"#image-type"}]}]},"time-type":{"captures":{"1":{"name":"keyword.other.unit.less"}},"match":"(?i:[-+]?(?:\\\\d*\\\\.\\\\d+(?:[Ee][-+]?\\\\d+)*|[-+]?\\\\d+)(m??s))\\\\b","name":"constant.numeric.less"},"transform-functions":{"patterns":[{"begin":"\\\\b((?:matrix|scale)(?:3d|))(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#var-function"}]}]},{"begin":"\\\\b(translate(3d)?)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#var-function"}]}]},{"begin":"\\\\b(translate[XY])(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#var-function"}]}]},{"begin":"\\\\b(rotate[XYZ]?|skew[XY])(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#angle-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\\\b(skew)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#angle-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\\\b(translateZ|perspective)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#length-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\\\b(rotate3d)(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#angle-type"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]},{"begin":"\\\\b(scale[XYZ])(?=\\\\()","beginCaptures":{"0":{"name":"support.function.transform.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#number-type"},{"include":"#less-variables"},{"include":"#calc-function"},{"include":"#var-function"}]}]}]},"unicode-range":{"captures":{"1":{"name":"support.constant.unicode-range.prefix.less"},"2":{"name":"constant.codepoint-range.less"},"3":{"name":"punctuation.section.range.less"}},"match":"(?i)(u\\\\+)([0-9?a-f]{1,6}(?:(-)[0-9a-f]{1,6})?)","name":"support.unicode-range.less"},"unquoted-string":{"match":"[^\\"'\\\\s]","name":"string.unquoted.less"},"url-function":{"begin":"\\\\b(url)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.url.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#less-variables"},{"include":"#literal-string"},{"include":"#unquoted-string"},{"include":"#var-function"}]}]},"value-separator":{"captures":{"1":{"name":"punctuation.separator.less"}},"match":"\\\\s*(/)\\\\s*"},"var-function":{"begin":"\\\\b(var)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.var.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"include":"#comma-delimiter"},{"include":"#custom-property-name"},{"include":"#less-variables"},{"include":"#property-values"}]}]},"view-function":{"begin":"\\\\b(view)(?=\\\\()","beginCaptures":{"1":{"name":"support.function.view.less"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.end.less"}},"name":"meta.function-call.less","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.begin.less"}},"end":"(?=\\\\))","patterns":[{"match":"block|inline|[xy]|auto","name":"support.constant.property-value.less"},{"include":"#percentage-type"},{"include":"#length-type"},{"include":"#less-variables"},{"include":"#var-function"},{"include":"#calc-function"},{"include":"#arbitrary-repetition"}]}]}},"scopeName":"source.css.less"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-B1dDrJ26.js.map diff --git a/src/webview-ui/build/assets/chunk-B1dDrJ26.js.map b/src/webview-ui/build/assets/chunk-B1dDrJ26.js.map new file mode 100644 index 0000000000..179e327dd6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B1dDrJ26.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-B1dDrJ26.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/less.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Less\\\",\\\"name\\\":\\\"less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#less-namespace-accessors\\\"},{\\\"include\\\":\\\"#less-extend\\\"},{\\\"include\\\":\\\"#at-rules\\\"},{\\\"include\\\":\\\"#less-variable-assignment\\\"},{\\\"include\\\":\\\"#property-list\\\"},{\\\"include\\\":\\\"#selector\\\"}],\\\"repository\\\":{\\\"angle-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"(?i:[-+]?(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+)*|[-+]?\\\\\\\\d+)(deg|grad|rad|turn))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"arbitrary-repetition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\"},\\\"at-charset\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$))\\\",\\\"name\\\":\\\"meta.at-rule.charset.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]},\\\"at-container\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@container)\\\",\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"((@)container)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.container.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.container.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.container.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(?=[^;{])\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=[;{])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(not|and|or)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.comparison.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.at-rule.container-query.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"match\\\":\\\"\\\\\\\\b(aspect-ratio|block-size|height|inline-size|orientation|width)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.size-feature.less\\\"},{\\\"match\\\":\\\"(([<>])=?)|[/=]\\\",\\\"name\\\":\\\"keyword.operator.comparison.less\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},{\\\"match\\\":\\\"portrait|landscape\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"include\\\":\\\"#style-function\\\"},{\\\"match\\\":\\\"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*\\\",\\\"name\\\":\\\"variable.parameter.container-name.css\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"at-counter-style\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)counter-style)\\\\\\\\b\\\\\\\\s+(?:(?i:\\\\\\\\b(decimal|none)\\\\\\\\b)|(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*))\\\\\\\\s*(?=\\\\\\\\{|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.counter-style.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.counter-style-name.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.counter-style-name.css\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"name\\\":\\\"meta.at-rule.counter-style.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},\\\"at-custom-media\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@custom-media\\\\\\\\b)\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.custom-media.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*;\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.custom-media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.custom-media.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)custom-media)(?=.*?)\\\"},{\\\"include\\\":\\\"#media-query-list\\\"}]},\\\"at-font-face\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)font-face)\\\\\\\\s*(?=\\\\\\\\{|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.font-face.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"name\\\":\\\"meta.at-rule.font-face.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},\\\"at-import\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)import)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.at-rule.import.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#url-function\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"begin\\\":\\\"(?<=([\\\\\\\"'])|([\\\\\\\"']\\\\\\\\)))\\\\\\\\s*\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"reference|inline|less|css|once|multiple|optional\\\",\\\"name\\\":\\\"constant.language.import-directive.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]},{\\\"include\\\":\\\"#literal-string\\\"}]},\\\"at-keyframes\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)keyframes)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframe.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.keyframe.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.keyframe-selector.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:(from|to)|((?:\\\\\\\\.[0-9]+|[0-9]+(?:\\\\\\\\.[0-9]*)?)(%)))\\\\\\\\s*,?\\\\\\\\s*\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(?=[^;{])\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.keyframe.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keyframe-name\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]}]},\\\"at-media\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@media\\\\\\\\b)\\\",\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)media)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.media.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.media.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query-list\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"at-namespace\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.at-rule.namespace.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#url-function\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"match\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"name\\\":\\\"entity.name.constant.namespace-prefix.less\\\"}]},\\\"at-page\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)page)\\\\\\\\s*(?:(:)(first|left|right))?\\\\\\\\s*(?=\\\\\\\\{|$)\\\",\\\"name\\\":\\\"meta.at-rule.page.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},\\\"at-rules\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#at-charset\\\"},{\\\"include\\\":\\\"#at-container\\\"},{\\\"include\\\":\\\"#at-counter-style\\\"},{\\\"include\\\":\\\"#at-custom-media\\\"},{\\\"include\\\":\\\"#at-font-face\\\"},{\\\"include\\\":\\\"#at-media\\\"},{\\\"include\\\":\\\"#at-import\\\"},{\\\"include\\\":\\\"#at-keyframes\\\"},{\\\"include\\\":\\\"#at-namespace\\\"},{\\\"include\\\":\\\"#at-page\\\"},{\\\"include\\\":\\\"#at-supports\\\"},{\\\"include\\\":\\\"#at-viewport\\\"}]},\\\"at-supports\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@supports\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*)(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)supports)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.supports.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.supports.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#at-supports-operators\\\"},{\\\"include\\\":\\\"#at-supports-parens\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"at-supports-operators\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:and|or|not)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logic.less\\\"},\\\"at-supports-parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#at-supports-operators\\\"},{\\\"include\\\":\\\"#at-supports-parens\\\"},{\\\"include\\\":\\\"#rule-list-body\\\"}]},\\\"attr-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(attr)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qualified-name\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"begin\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"entity.other.attribute-name.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.unit.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-value-constants\\\"},{\\\"include\\\":\\\"#numeric-values\\\"}]},{\\\"include\\\":\\\"#color-values\\\"}]}]},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attr-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#color-functions\\\"},{\\\"include\\\":\\\"#counter-functions\\\"},{\\\"include\\\":\\\"#cross-fade-function\\\"},{\\\"include\\\":\\\"#cubic-bezier-function\\\"},{\\\"include\\\":\\\"#filter-function\\\"},{\\\"include\\\":\\\"#fit-content-function\\\"},{\\\"include\\\":\\\"#format-function\\\"},{\\\"include\\\":\\\"#gradient-functions\\\"},{\\\"include\\\":\\\"#grid-repeat-function\\\"},{\\\"include\\\":\\\"#image-function\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#local-function\\\"},{\\\"include\\\":\\\"#minmax-function\\\"},{\\\"include\\\":\\\"#regexp-function\\\"},{\\\"include\\\":\\\"#shape-functions\\\"},{\\\"include\\\":\\\"#steps-function\\\"},{\\\"include\\\":\\\"#symbols-function\\\"},{\\\"include\\\":\\\"#transform-functions\\\"},{\\\"include\\\":\\\"#url-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]},\\\"calc-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(calc)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#attr-function\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#relative-color\\\"}]}]},\\\"color-adjuster-operators\\\":{\\\"match\\\":\\\"[-*+](?=\\\\\\\\s+)\\\",\\\"name\\\":\\\"keyword.operator.less\\\"},\\\"color-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(rgba?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#value-separator\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(hsla?|hwb|oklab|oklch|lab|lch)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#value-separator\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(light-dark)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]},{\\\"include\\\":\\\"#less-color-functions\\\"}]},\\\"color-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#color-functions\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"match\\\":\\\"\\\\\\\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-standard-color-name.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-extended-color-keywords.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i)currentColor|transparent)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-special-color-keyword.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.less\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\h{3}|\\\\\\\\h{4}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.less\\\"},{\\\"include\\\":\\\"#relative-color\\\"}]},\\\"comma-delimiter\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\"},\\\"comment-block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.less\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.less\\\"}},\\\"name\\\":\\\"comment.block.less\\\"},{\\\"include\\\":\\\"#comment-line\\\"}]},\\\"comment-line\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.less\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.less\\\"},\\\"counter-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(counter)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"match\\\":\\\"--(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))+|-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*\\\",\\\"name\\\":\\\"entity.other.counter-name.less\\\"},{\\\"begin\\\":\\\"(?=,)\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.counter-style.less\\\"}]}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(counters)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"name\\\":\\\"entity.other.counter-name.less string.unquoted.less\\\"},{\\\"begin\\\":\\\"(?=,)\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.counter-style.less\\\"}]}]}]}]},\\\"cross-fade-function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(cross-fade)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.image.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#image-type\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]}]},\\\"cubic-bezier-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(cubic-bezier)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"contentName\\\":\\\"meta.group.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"}]},\\\"custom-property-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.custom-property.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.custom-property.name.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(--)((?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))+)\\\",\\\"name\\\":\\\"support.type.custom-property.less\\\"},\\\"dimensions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#frequency-type\\\"},{\\\"include\\\":\\\"#time-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"}]},\\\"filter-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(filter)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#image-type\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#filter-functions\\\"}]}]},\\\"filter-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-functions\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(blur)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#length-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(brightness|contrast|grayscale|invert|opacity|saturate|sepia)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-functions\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(drop-shadow)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#color-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(hue-rotate)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"}]}]}]},\\\"fit-content-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(fit-content)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.grid.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"}]}]},\\\"format-function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(format)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.format.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]}]}]},\\\"frequency-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"(?i:[-+]?(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+)*|[-+]?\\\\\\\\d+)(k??Hz))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"global-property-values\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:initial|inherit|unset|revert-layer|revert)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},\\\"gradient-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?:repeating-)?linear-gradient)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\bto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b((?:repeating-)?radial-gradient)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b(at|circle|ellipse)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left|center|((?:farth|clos)est)-(corner|side))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]}]},\\\"grid-repeat-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(repeat)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.grid.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#minmax-function\\\"},{\\\"include\\\":\\\"#integer-type\\\"},{\\\"match\\\":\\\"\\\\\\\\b(auto-(fi(?:ll|t)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.keyword.repetitions.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(((m(?:ax|in))-content)|auto)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},\\\"image-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(image)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.image.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#image-type\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},\\\"image-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#cross-fade-function\\\"},{\\\"include\\\":\\\"#gradient-functions\\\"},{\\\"include\\\":\\\"#image-function\\\"},{\\\"include\\\":\\\"#url-function\\\"}]},\\\"important\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"(!)\\\\\\\\s*important\\\",\\\"name\\\":\\\"keyword.other.important.less\\\"},\\\"integer-type\\\":{\\\"match\\\":\\\"[-+]?\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"keyframe-name\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(-?(?:[_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r\\\\\\\\s])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))(?:[-0-9_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.animation-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?:(,)|(?=[;{]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.less\\\"}}},\\\"length-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+\\\\\\\\.\\\\\\\\d+|\\\\\\\\.?\\\\\\\\d+)(?:[Ee][-+]?\\\\\\\\d+)?(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|[mq]|in|pt|pc|px|fr|dpi|dpcm|dppx|x)\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-+]?0\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"}]},\\\"less-boolean-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(boolean)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.boolean.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-logical-comparisons\\\"}]}]},\\\"less-color-blend-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(multiply|screen|overlay|(soft|hard)light|difference|exclusion|negation|average)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-blend.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#color-values\\\"}]}]}]},\\\"less-color-channel-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(hue|saturation|lightness|hsv(hue|saturation|value)|red|green|blue|alpha|luma|luminance)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-definition.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"}]}]}]},\\\"less-color-definition-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(argb)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-definition.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#color-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(hsva?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#integer-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]}]},\\\"less-color-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-color-blend-functions\\\"},{\\\"include\\\":\\\"#less-color-channel-functions\\\"},{\\\"include\\\":\\\"#less-color-definition-functions\\\"},{\\\"include\\\":\\\"#less-color-operation-functions\\\"}]},\\\"less-color-operation-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(fade|shade|tint)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(spin)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(((de)?saturate)|((light|dark)en)|(fade(in|out)))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"match\\\":\\\"\\\\\\\\brelative\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.relative.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(contrast)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(greyscale)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(mix)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]}]},\\\"less-extend\\\":{\\\"begin\\\":\\\"(:)(extend)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.extend.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\ball\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.all.less\\\"},{\\\"include\\\":\\\"#selectors\\\"}]}]},\\\"less-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-boolean-function\\\"},{\\\"include\\\":\\\"#less-color-functions\\\"},{\\\"include\\\":\\\"#less-if-function\\\"},{\\\"include\\\":\\\"#less-list-functions\\\"},{\\\"include\\\":\\\"#less-math-functions\\\"},{\\\"include\\\":\\\"#less-misc-functions\\\"},{\\\"include\\\":\\\"#less-string-functions\\\"},{\\\"include\\\":\\\"#less-type-functions\\\"}]},\\\"less-if-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(if)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.if.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-mixin-guards\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},\\\"less-list-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(length)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.length.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(extract)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.extract.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#integer-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(range)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.range.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#integer-type\\\"}]}]}]},\\\"less-logical-comparisons\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(=|(([<>])=?))\\\\\\\\s*\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-logical-comparisons\\\"}]},{\\\"match\\\":\\\"\\\\\\\\btrue|false\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.less\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.less\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]},\\\"less-math\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[-*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-math\\\"}]},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]},\\\"less-math-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.math.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"}]}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.function.math.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"match\\\":\\\"((pi)(\\\\\\\\()(\\\\\\\\)))\\\",\\\"name\\\":\\\"meta.function-call.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(pow|m(od|in|ax))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.math.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]}]},\\\"less-misc-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(color)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(image-(size|width|height))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.image.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(convert|unit)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.convert.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"(([cm])?m|in|p([ctx])|m?s|g?rad|deg|turn|%|r?em|ex|ch)\\\",\\\"name\\\":\\\"keyword.other.unit.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(data-uri)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.data-uri.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\"}]}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"match\\\":\\\"\\\\\\\\b(default(\\\\\\\\()(\\\\\\\\)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.default.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(get-unit)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.get-unit.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#dimensions\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(svg-gradient)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.svg-gradient.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"match\\\":\\\"\\\\\\\\bto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left|center)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(at|circle|ellipse)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"}]}]}]},\\\"less-mixin-guards\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(and|not|or)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-comparison\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.group.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"match\\\":\\\"default((\\\\\\\\()(\\\\\\\\)))\\\",\\\"name\\\":\\\"support.function.default.less\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#less-logical-comparisons\\\"},{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"less-namespace-accessors\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\s*when\\\\\\\\b)\\\",\\\"end\\\":\\\"\\\\\\\\s*(?:(,)|(?=[;{]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"name\\\":\\\"meta.conditional.guarded-namespace.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(when)(?=.*?)\\\"},{\\\"include\\\":\\\"#less-mixin-guards\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.block.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"}]},{\\\"include\\\":\\\"#selectors\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-assignment\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#rule-list-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"match\\\":\\\"(;)|(?=[)}])\\\"}]},\\\"less-string-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(e(scape)?)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.escape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(%)(?=\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.format.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(replace)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.replace.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]}]},\\\"less-strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(~)([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.less\\\"}},\\\"contentName\\\":\\\"markup.raw.inline.less\\\",\\\"end\\\":\\\"([\\\\\\\"'])|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.less\\\"}},\\\"name\\\":\\\"string.quoted.other.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-content\\\"}]}]},\\\"less-type-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.type.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(isunit)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.type.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.unit.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(isdefined)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.type.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"}]}]}]},\\\"less-variable-assignment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)(-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.less\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;|(\\\\\\\\.{3})|(?=\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.spread.less\\\"}},\\\"name\\\":\\\"meta.property-value.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-list\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},\\\"less-variable-comparison\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@{1,2})(-?([_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.less\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(=|(([<>])=?))\\\\\\\\s*\\\"},{\\\"match\\\":\\\"\\\\\\\\btrue\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.less\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.less\\\"}]}]},\\\"less-variable-interpolation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.expression.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.expression.less\\\"}},\\\"match\\\":\\\"(@)(\\\\\\\\{)([-\\\\\\\\w]+)(})\\\",\\\"name\\\":\\\"variable.other.readwrite.less\\\"},\\\"less-variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(@@?)([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"variable.other.readwrite.less\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},\\\"literal-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.less\\\"}},\\\"end\\\":\\\"(')|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.less\\\"}},\\\"name\\\":\\\"string.quoted.single.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-content\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.less\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.less\\\"}},\\\"name\\\":\\\"string.quoted.double.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-content\\\"}]},{\\\"include\\\":\\\"#less-strings\\\"}]},\\\"local-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(local)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.font-face.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},\\\"media-query\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(only|not)?\\\\\\\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logic.media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.constant.media.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?:(,)|(?=[;{]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.less\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(and)?\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logic.media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*)\\\\\\\\s*(?=[):])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.media.less\\\"}},\\\"end\\\":\\\"(((\\\\\\\\+_?)?):)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}}},{\\\"match\\\":\\\"\\\\\\\\b(portrait|landscape|progressive|interlace)\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\d+)(/)(\\\\\\\\d+)\\\"},{\\\"include\\\":\\\"#less-math\\\"}]}]},\\\"media-query-list\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?=[^;{])\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},\\\"minmax-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(minmax)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.grid.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b(m(?:ax|in)-content)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},\\\"number-type\\\":{\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+\\\\\\\\.\\\\\\\\d+|\\\\\\\\.?\\\\\\\\d+)(?:[Ee][-+]?\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"numeric-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#dimensions\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"}]},\\\"percentage-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+\\\\\\\\.\\\\\\\\d+|\\\\\\\\.?\\\\\\\\d+)(?:[Ee][-+]?\\\\\\\\d+)?(%)\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"property-list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?=[^;]*)\\\\\\\\{)\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list\\\"}]}]},\\\"property-value-constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(flex-start|flex-end|start|end|space-between|space-around|space-evenly|stretch|baseline|safe|unsafe|legacy|anchor-center|first|last|self-start|self-end)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(text-before-edge|before-edge|middle|central|text-after-edge|after-edge|ideographic|alphabetic|hanging|mathematical|top|center|bottom)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#global-property-values\\\"},{\\\"include\\\":\\\"#cubic-bezier-function\\\"},{\\\"include\\\":\\\"#steps-function\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:replace|add|accumulate)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:normal|alternate-reverse|alternate|reverse)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:forwards|backwards|both)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\binfinite\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:running|paused)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\be(?:ntry|xit)(?:-crossing|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(linear|ease-in-out|ease-in|ease-out|ease|step-start|step-end)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(absolute|active|add|all-petite-caps|all-small-caps|all-scroll|all|alphabetic|alpha|alternate-reverse|alternate|always|annotation|antialiased|at|autohiding-scrollbar|auto|avoid-column|avoid-page|avoid-region|avoid|background-color|background-image|background-position|background-size|background-repeat|background|backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink|block-line-height|block-start|block-end|block|blur|bolder|bold|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|both|bottom|box-shadow|box|break-all|break-word|break-spaces|brightness|butt(on)?|capitalize|central|center|char(acter-variant)?|cjk-ideographic|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color-stop|color-burn|color-dodge|color|column-count|column-gap|column-reverse|column-rule-color|column-rule-width|column-rule|column-width|columns?|common-ligatures|condensed|consider-shifts|contain|content-box|contents?|contextual|contrast|cover|crisp-edges|crispEdges|crop|crosshair|cross|darken|dashed|default|dense|device-width|diagonal-fractions|difference|disabled|discard|discretionary-ligatures|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|drop-shadow|[ensw]{1,4}-resize|ease-in-out|ease-in|ease-out|ease|element|ellipsis|embed|end|EndColorStr|evenodd|exclude-ruby|exclusion|expanded|extra-condensed|extra-expanded|farthest-corner|farthest-side|farthest|fill-box|fill-opacity|fill|filter|fit-content|fixed|flat|flex-basis|flex-end|flex-grow|flex-shrink|flex-start|flexbox|flex|flip|flood-color|font-size-adjust|font-size|font-stretch|font-weight|font|forwards|from-image|from|full-width|gap|geometricPrecision|glyphs|gradient|grayscale|grid-column-gap|grid-column|grid-row-gap|grid-row|grid-gap|grid-height|grid|groove|hand|hanging|hard-light|height|help|hidden|hide|historical-forms|historical-ligatures|horizontal-tb|horizontal|hue|ideographic|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|include-ruby|infinite|inherit|initial|inline-end|inline-size|inline-start|inline-table|inline-line-height|inline-flexbox|inline-flex|inline-box|inline-block|inline|inset|inside|inter-ideograph|inter-word|intersect|invert|isolate|isolation|italic|jis(04|78|83|90)|justify-all|justify|keep-all|larger?|last|layout|left|letter-spacing|lighten|lighter|lighting-color|linear-gradient|linearRGB|linear|line-edge|line-height|line-through|line|lining-nums|list-item|local|loose|lowercase|lr-tb|ltr|luminosity|luminance|manual|manipulation|margin-bottom|margin-box|margin-left|margin-right|margin-top|margin|marker(-offset|s)?|match-parent|mathematical|max-(content|height|lines|size|width)|medium|middle|min-(content|height|width)|miter|mixed|move|multiply|newspaper|no-change|no-clip|no-close-quote|no-open-quote|no-common-ligatures|no-discretionary-ligatures|no-historical-ligatures|no-contextual|no-drop|no-repeat|none|nonzero|normal|not-allowed|nowrap|oblique|offset-after|offset-before|offset-end|offset-start|offset|oldstyle-nums|opacity|open-quote|optimize(Legibility|Precision|Quality|Speed)|order|ordinal|ornaments|outline-color|outline-offset|outline-width|outline|outset|outside|overline|over-edge|overlay|padding(-(?:bottom|box|left|right|top|box))?|page|paint(ed)?|paused|pan-(x|left|right|y|up|down)|perspective-origin|petite-caps|pixelated|pointer|pinch-zoom|pretty|pre(-(?:line|wrap))?|preserve-3d|preserve-breaks|preserve-spaces|preserve|progid:DXImageTransform\\\\\\\\.Microsoft\\\\\\\\.(Alpha|Blur|dropshadow|gradient|Shadow)|progress|proportional-nums|proportional-width|radial-gradient|recto|region|relative|repeating-linear-gradient|repeating-radial-gradient|repeat-x|repeat-y|repeat|replaced|reset-size|reverse|revert-layer|revert|ridge|right|round|row-gap|row-resize|row-reverse|row|rtl|ruby|running|saturate|saturation|screen|scrollbar|scroll-position|scroll|separate|sepia|scale-down|semi-condensed|semi-expanded|shape-image-threshold|shape-margin|shape-outside|show|sideways-lr|sideways-rl|sideways|simplified|size|slashed-zero|slice|small-caps|smaller|small|smooth|snap|solid|soft-light|space-around|space-between|space|span|sRGB|stable|stacked-fractions|stack|startColorStr|start|static|step-end|step-start|sticky|stop-color|stop-opacity|stretch|strict|stroke-box|stroke-dasharray|stroke-dashoffset|stroke-miterlimit|stroke-opacity|stroke-width|stroke|styleset|style|stylistic|subgrid|subpixel-antialiased|subtract|super|swash|table-caption|table-cell|table-column-group|table-footer-group|table-header-group|table-row-group|table-column|table-row|table|tabular-nums|tb-rl|text((-(?:bottom|(decoration|emphasis)-color|indent|(over|under)-edge|shadow|size(-adjust)?|top))|field)?|thick|thin|titling-caps|titling-case|top|touch|to|traditional|transform-origin|transform-style|transform|ultra-condensed|ultra-expanded|under-edge|underline|unicase|unset|uppercase|upright|use-glyph-orientation|use-script|verso|vertical(-(?:align|ideographic|lr|rl|text))?|view-box|viewport-fill-opacity|viewport-fill|visibility|visibleFill|visiblePainted|visibleStroke|visible|wait|wavy|weight|whitespace|width|word-spacing|wrap-reverse|wrap|xx?-(large|small)|z-index|zero|zoom-in|zoom-out|zoom|arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(sans-serif|serif|monospace|fantasy|cursive)\\\\\\\\b(?=\\\\\\\\s*[\\\\\\\\n,;}])\\\",\\\"name\\\":\\\"support.constant.font-name.less\\\"}]},\\\"property-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#color-functions\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#unicode-range\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#property-value-constants\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#important\\\"}]},\\\"pseudo-selectors\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(dir)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"ltr|rtl\\\",\\\"name\\\":\\\"variable.parameter.dir.less\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]}]},{\\\"begin\\\":\\\"(:)(lang)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},{\\\"begin\\\":\\\"(:)(not)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selectors\\\"}]}]},{\\\"begin\\\":\\\"(:)(nth(-last)?-(child|of-type))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\"}},\\\"contentName\\\":\\\"meta.function-call.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(even|odd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.pseudo-class.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"}},\\\"match\\\":\\\"([-+])?\\\\\\\\d+{0,1}(n)(\\\\\\\\s*([-+])\\\\\\\\s*\\\\\\\\d+)?|[-+]?\\\\\\\\s*\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]}]},{\\\"begin\\\":\\\"(:)(host-context|host|has|is|not|where)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selectors\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\"}},\\\"match\\\":\\\"(:)(active|any-link|autofill|blank|buffering|checked|current|default|defined|disabled|empty|enabled|first-child|first-of-type|first|focus-visible|focus-within|focus|fullscreen|future|host|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|local-link|link|modal|muted|only-child|only-of-type|optional|out-of-range|past|paused|picture-in-picture|placeholder-shown|playing|popover-open|read-only|read-write|required|right|root|scope|seeking|stalled|target-within|target|user-invalid|user-valid|valid|visited|volume-locked)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function-call.less\\\"},{\\\"begin\\\":\\\"(::?)(highlight|part|state)(?=\\\\\\\\s*(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*\\\",\\\"name\\\":\\\"variable.parameter.less\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]}]},{\\\"begin\\\":\\\"(::?)slotted(?=\\\\\\\\s*(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"contentName\\\":\\\"meta.function-call.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selectors\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"match\\\":\\\"(::?)(after|backdrop|before|cue|file-selector-button|first-letter|first-line|grammar-error|marker|placeholder|selection|spelling-error|target-text|view-transition-group|view-transition-image-pair|view-transition-new|view-transition-old|view-transition)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.namespace.vendor-prefix.less\\\"}},\\\"match\\\":\\\"(::?)(-\\\\\\\\w+-)(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\"}]},\\\"qualified-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.constant.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.wildcard.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.less\\\"}},\\\"match\\\":\\\"(?:(-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)|(\\\\\\\\*))?(\\\\\\\\|)(?!=)\\\"},\\\"regexp-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(regexp)(?=\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"support.function.regexp.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]}]},\\\"relative-color\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"from\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b[abchlsw]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"}]},\\\"rule-list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*})\\\",\\\"name\\\":\\\"meta.property-list.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\"},{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"#less-extend\\\"}]}]},\\\"rule-list-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#comment-line\\\"},{\\\"include\\\":\\\"#at-rules\\\"},{\\\"include\\\":\\\"#less-variable-assignment\\\"},{\\\"begin\\\":\\\"(?=[-\\\\\\\\w]*?@\\\\\\\\{.*}[-\\\\\\\\w]*?\\\\\\\\s*:[^(;{]*(?=[);}]))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^:\\\\\\\\s])\\\",\\\"end\\\":\\\"(?=(((\\\\\\\\+_?)?):)[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"name\\\":\\\"support.type.property-name.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"support.type.property-name.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"begin\\\":\\\"(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"begin\\\":\\\"(-[-\\\\\\\\w]+?-)((?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.namespace.vendor-prefix.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},{\\\"include\\\":\\\"#filter-function\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(border((-(bottom|top)-(left|right))|((-(start|end)){2}))?-radius|(border-image(?!-)))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value-separator\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.custom-property.prefix.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.custom-property.name.less\\\"}},\\\"match\\\":\\\"\\\\\\\\b(var-)(-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"invalid.deprecated.custom-property.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\bfont(-family)?(?!-)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*(\\\\\\\\s+-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)*\\\",\\\"name\\\":\\\"string.unquoted.less\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.less\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\banimation-timeline\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"include\\\":\\\"#scroll-function\\\"},{\\\"include\\\":\\\"#view-function\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"include\\\":\\\"#important\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\banimation(?:-name)?(?=(?:\\\\\\\\+_?)?:)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#property-value-constants\\\"},{\\\"match\\\":\\\"-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r\\\\\\\\s])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))*\\\",\\\"name\\\":\\\"variable.other.constant.animation-name.less string.unquoted.less\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"include\\\":\\\"#important\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(transition(-(property|duration|delay|timing-function))?)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#time-type\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#cubic-bezier-function\\\"},{\\\"include\\\":\\\"#steps-function\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:backdrop-)?filter\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(inherit|initial|unset|none)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.property-value.less\\\"},{\\\"include\\\":\\\"#filter-functions\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bwill-change\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"match\\\":\\\"unset|initial|inherit|will-change|auto|scroll-position|contents\\\",\\\"name\\\":\\\"invalid.illegal.property-value.less\\\"},{\\\"match\\\":\\\"-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bcounter-(increment|(re)?set)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"match\\\":\\\"-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*\\\",\\\"name\\\":\\\"entity.name.constant.counter-name.less\\\"},{\\\"include\\\":\\\"#integer-type\\\"},{\\\"match\\\":\\\"unset|initial|inherit|auto\\\",\\\"name\\\":\\\"invalid.illegal.property-value.less\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bcontainer(?:-name)?(?=\\\\\\\\s*?:)\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"support.type.property-name.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdefault\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.property-value.less\\\"},{\\\"include\\\":\\\"#global-property-values\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"contentName\\\":\\\"variable.other.constant.container-name.less\\\",\\\"match\\\":\\\"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"match\\\":\\\"\\\\\\\\b(accent-height|align-content|align-items|align-self|alignment-baseline|all|animation-timing-function|animation-range-start|animation-range-end|animation-range|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation-composition|animation|appearance|ascent|aspect-ratio|azimuth|backface-visibility|background-size|background-repeat-y|background-repeat-x|background-repeat|background-position-y|background-position-x|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|baseline-shift|begin|bias|blend-mode|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|bottom|box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing)|break-(after|before|inside)|caption-side|clear|clip-path|clip-rule|clip|color(-(interpolation(-filters)?|profile|rendering))?|columns|column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width)|container-name|container-type|container|contain-intrinsic-block-size|contain-intrinsic-inline-size|contain-intrinsic-height|contain-intrinsic-size|contain-intrinsic-width|contain|content|counter-(increment|reset)|cursor|[cdf][xy]|direction|display|divisor|dominant-baseline|dur|elevation|empty-cells|enable-background|end|fallback|fill(-(opacity|rule))?|filter|flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))?|float|flood-(color|opacity)|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size(-adjust)?|font-smoothing|font-stretch|font-style|font-synthesis|font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))?|font-weight|font|fr|((column|row)-)?gap|glyph-orientation-(horizontal|vertical)|grid-(area|gap)|grid-auto-(columns|flow|rows)|grid-(column|row)(-(end|gap|start))?|grid-template(-(areas|columns|rows))?|grid|height|hyphens|image-(orientation|rendering|resolution)|inset(-(block|inline))?(-(start|end))?|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-(box-contain|break|clamp|height)|list-style(-(image|position|type))?|(margin|padding)(-(bottom|left|right|top)|(-(block|inline)?(-(end|start))?))?|marker(-(end|mid|start))?|mask(-(clip||composite|image|origin|position|repeat|size|type))?|(m(?:ax|in))-(height|width)|mix-blend-mode|nbsp-mode|negative|object-(fit|position)|opacity|operator|order|orphans|outline(-(color|offset|style|width))?|overflow(-((inline|block)|scrolling|wrap|[xy]))?|overscroll-behavior(-(?:block|(inline|[xy])))?|pad(ding(-(bottom|left|right|top))?)?|page(-break-(after|before|inside))?|paint-order|pause(-(after|before))?|perspective(-origin(-([xy]))?)?|pitch(-range)?|place-content|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|scale|scroll-behavior|shape-(image-threshold|margin|outside|rendering)|size|speak(-as)?|src|stop-(color|opacity)|stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))?|suffix|symbols|system|tab-size|table-layout|tap-highlight-color|text-align(-last)?|text-decoration(-(color|line|style))?|text-emphasis(-(color|position|style))?|text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|size-adjust|shadow|transform|underline-position|wrap)|top|touch-action|transform(-origin(-([xy]))?)|transform(-style)?|transition(-(delay|duration|property|timing-function))?|translate|unicode-(bidi|range)|user-(drag|select)|vertical-align|visibility|white-space(-collapse)?|widows|width|will-change|word-(break|spacing|wrap)|writing-mode|z-index|zoom)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(((contain-intrinsic|max|min)-)?(block|inline)?-size)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.less\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b((?:\\\\\\\\+_?)?:)([\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"scroll-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(scroll)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.scroll.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"root|nearest|self\\\",\\\"name\\\":\\\"support.constant.scroller.less\\\"},{\\\"match\\\":\\\"block|inline|[xy]\\\",\\\"name\\\":\\\"support.constant.axis.less\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]},\\\"selector\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[#\\\\\\\\&*+./>A-\\\\\\\\[a-z~]|(:{1,2}\\\\\\\\S)|@\\\\\\\\{)\\\",\\\"contentName\\\":\\\"meta.selector.less\\\",\\\"end\\\":\\\"(?=@(?!\\\\\\\\{)|[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-line\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#less-namespace-accessors\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"include\\\":\\\"#important\\\"}]}]},\\\"selectors\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([a-z](?:[-0-9_a-z·]|\\\\\\\\\\\\\\\\\\\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}])*-(?:[-0-9_a-z·]|\\\\\\\\\\\\\\\\\\\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}])*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.custom.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|big|blockquote|body|br|button|canvas|caption|circle|cite|clipPath|code|col|colgroup|content|data|dataList|dd|defs|del|details|dfn|dialog|dir|div|dl|dt|element|ellipse|em|embed|eventsource|fieldset|figcaption|figure|filter|footer|foreignObject|form|frame|frameset|g|glyph|glyphRef|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|line|linearGradient|link|main|map|mark|marker|mask|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|path|pattern|picture|polygon|polyline|pre|progress|q|radialGradient|rect|rp|ruby|rtc??|s|samp|script|section|select|shadow|small|source|span|stop|strike|strong|style|sub|summary|sup|svg|switch|symbol|table|tbody|td|template|textarea|textPath|tfoot|th|thead|time|title|tr|track|tref|tspan|tt|ul??|use|var|video|wbr|xmp)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.less\\\"},{\\\"begin\\\":\\\"(\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"(?![-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6} ?|\\\\\\\\H)|(@(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"(?![-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6} ?|\\\\\\\\H)|(@(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"begin\\\":\\\"(&)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"contentName\\\":\\\"entity.other.attribute-name.parent.less\\\",\\\"end\\\":\\\"(?![-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6} ?|\\\\\\\\H)|(@(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"entity.other.attribute-name.parent.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},{\\\"include\\\":\\\"#pseudo-selectors\\\"},{\\\"include\\\":\\\"#less-extend\\\"},{\\\"match\\\":\\\"(?!\\\\\\\\+_?:)(?:>{1,3}|[+~])(?![+;>}~])\\\",\\\"name\\\":\\\"punctuation.separator.combinator.less\\\"},{\\\"match\\\":\\\"(>{1,3}|[+~]){2,}\\\",\\\"name\\\":\\\"invalid.illegal.combinator.less\\\"},{\\\"match\\\":\\\"/deep/\\\",\\\"name\\\":\\\"invalid.illegal.combinator.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.less\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.less\\\"}},\\\"name\\\":\\\"meta.attribute-selector.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"include\\\":\\\"#qualified-name\\\"},{\\\"match\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*([$*^|~]?=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.attribute-selector.less\\\"}},\\\"end\\\":\\\"(?=([]\\\\\\\\s]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"match\\\":\\\"[^]\\\\\\\"'\\\\\\\\[\\\\\\\\s]\\\",\\\"name\\\":\\\"string.unquoted.less\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.less\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\s+([Ii]))?\\\"},{\\\"match\\\":\\\"]\\\",\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}]}]},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.less\\\"}]},\\\"shape-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(rect)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bauto\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(inset)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bround\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(circle|ellipse)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left|center|closest-side|farthest-side)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(polygon)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(nonzero|evenodd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]}]},\\\"steps-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(steps)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"contentName\\\":\\\"meta.group.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"jump-start|jump-end|jump-none|jump-both|start|end\\\",\\\"name\\\":\\\"support.constant.step-position.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#integer-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"}]},\\\"string-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.newline.less\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.less\\\"}]},\\\"style-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(style)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.style.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"}]}]},\\\"symbols-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(symbols)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.counter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(cyclic|numeric|alphabetic|symbolic|fixed)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.symbol-type.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#image-type\\\"}]}]},\\\"time-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"(?i:[-+]?(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+)*|[-+]?\\\\\\\\d+)(m??s))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"transform-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?:matrix|scale)(?:3d|))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(translate(3d)?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(translate[XY])(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(rotate[XYZ]?|skew[XY])(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(skew)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(translateZ|perspective)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(rotate3d)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(scale[XYZ])(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]}]},\\\"unicode-range\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.unicode-range.prefix.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.codepoint-range.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.range.less\\\"}},\\\"match\\\":\\\"(?i)(u\\\\\\\\+)([0-9?a-f]{1,6}(?:(-)[0-9a-f]{1,6})?)\\\",\\\"name\\\":\\\"support.unicode-range.less\\\"},\\\"unquoted-string\\\":{\\\"match\\\":\\\"[^\\\\\\\"'\\\\\\\\s]\\\",\\\"name\\\":\\\"string.unquoted.less\\\"},\\\"url-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(url)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.url.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},\\\"value-separator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(/)\\\\\\\\s*\\\"},\\\"var-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(var)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.var.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},\\\"view-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(view)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.view.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"block|inline|[xy]|auto\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]}]}},\\\"scopeName\\\":\\\"source.css.less\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "less" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,iv9FAAu+vG,CAAC,EAE//vGC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B1yitclQ.js b/src/webview-ui/build/assets/chunk-B1yitclQ.js new file mode 100644 index 0000000000..4002a7031b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B1yitclQ.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Rust","name":"rust","patterns":[{"begin":"(<)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"end":">","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)((crate)|([A-Z]\\\\w*))(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.type.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}},"match":"(\\\\$)([a-z]\\\\w*)(\\\\s*(:)\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\b)?","name":"meta.macro.metavariable.rust","patterns":[{"include":"#keywords"}]},{"captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}},"match":"\\\\b(macro_rules!)\\\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\\\s+(\\\\{)","name":"meta.macro.rules.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}},"match":"(mod)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)"},{"begin":"\\\\b(extern)\\\\s+(crate)","beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.import.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}]},{"begin":"\\\\b(use)\\\\s","beginCaptures":{"1":{"name":"keyword.other.rust"}},"end":";","endCaptures":{"0":{"name":"punctuation.semi.rust"}},"name":"meta.use.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}]},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"begin":"(#)(!?)(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"end":"]","endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}},"name":"meta.attribute.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}]},"block-comments":{"patterns":[{"match":"/\\\\*\\\\*/","name":"comment.block.rust"},{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.rust","patterns":[{"include":"#block-comments"}]},{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.rust","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(///).*$","name":"comment.line.documentation.rust"},{"captures":{"1":{"name":"punctuation.definition.comment.rust"}},"match":"(//).*$","name":"comment.line.double-slash.rust"}]},"constants":{"patterns":[{"match":"\\\\b[A-Z]{2}[0-9A-Z_]*\\\\b","name":"constant.other.caps.rust"},{"captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}},"match":"\\\\b(const)\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b\\\\d[_\\\\d]*(\\\\.?)[_\\\\d]*(?:([Ee])([-+]?)([_\\\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.decimal.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0x[A-F_a-f\\\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.hex.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.oct.rust"},{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\b","name":"constant.numeric.bin.rust"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.bool.rust"}]},"escapes":{"captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}},"match":"(\\\\\\\\)(?:(x[0-7][A-Fa-f\\\\d])|(u(\\\\{)[A-Fa-f\\\\d]{4,6}(}))|.)","name":"constant.character.escape.rust"},"functions":{"patterns":[{"captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"match":"\\\\b(pub)(\\\\()"},{"begin":"\\\\b(fn)\\\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"end":"(\\\\{)|(;)","endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}},"name":"meta.function.definition.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]},{"begin":"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\\\()","beginCaptures":{"1":{"name":"entity.name.function.rust"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}},"name":"meta.function.call.rust","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}]}]},"gtypes":{"patterns":[{"match":"\\\\b(Some|None)\\\\b","name":"entity.name.type.option.rust"},{"match":"\\\\b(Ok|Err)\\\\b","name":"entity.name.type.result.rust"}]},"interpolations":{"captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}},"match":"(\\\\{)[^\\"{}]*(})","name":"meta.interpolation.rust"},"keywords":{"patterns":[{"match":"\\\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\b","name":"keyword.control.rust"},{"match":"\\\\b(extern|let|macro|mod)\\\\b","name":"keyword.other.rust storage.type.rust"},{"match":"\\\\b(const)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.rust storage.type.rust"},{"match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.rust storage.type.rust"},{"match":"\\\\b(trait)\\\\b","name":"keyword.declaration.trait.rust storage.type.rust"},{"match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.rust storage.type.rust"},{"match":"\\\\b(abstract|static)\\\\b","name":"storage.modifier.rust"},{"match":"\\\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\\\b","name":"keyword.other.rust"},{"match":"\\\\bfn\\\\b","name":"keyword.other.fn.rust"},{"match":"\\\\bcrate\\\\b","name":"keyword.other.crate.rust"},{"match":"\\\\bmut\\\\b","name":"storage.modifier.mut.rust"},{"match":"([\\\\^|]|\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.rust"},{"match":"&(?![\\\\&=])","name":"keyword.operator.borrow.and.rust"},{"match":"((?:[-%\\\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.rust"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.equal.rust"},{"match":"(=(=)?(?!>)|!=|<=|(?=)","name":"keyword.operator.comparison.rust"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.rust"},{"captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}},"match":"(?:\\\\b|(?:(\\\\))|(])|(})))[\\\\t ]+([<>])[\\\\t ]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"match":"::","name":"keyword.operator.namespace.rust"},{"captures":{"1":{"name":"keyword.operator.dereference.rust"}},"match":"(\\\\*)(?=\\\\w+)"},{"match":"@","name":"keyword.operator.subpattern.rust"},{"match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.rust"},{"match":"\\\\.{2}([.=])?","name":"keyword.operator.range.rust"},{"match":":(?!:)","name":"keyword.operator.key-value.rust"},{"match":"->|<-","name":"keyword.operator.arrow.skinny.rust"},{"match":"=>","name":"keyword.operator.arrow.fat.rust"},{"match":"\\\\$","name":"keyword.operator.macro.dollar.rust"},{"match":"\\\\?","name":"keyword.operator.question.rust"}]},"lifetimes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}},"match":"(')([A-Z_a-z][0-9A-Z_a-z]*)(?!')\\\\b"},{"captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}},"match":"(&)(')([A-Z_a-z][0-9A-Z_a-z]*)(?!')\\\\b"}]},"lvariables":{"patterns":[{"match":"\\\\b[Ss]elf\\\\b","name":"variable.language.self.rust"},{"match":"\\\\bsuper\\\\b","name":"variable.language.super.rust"}]},"macros":{"patterns":[{"captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}},"match":"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))","name":"meta.macro.rust"}]},"namespaces":{"patterns":[{"captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}},"match":"(?]","name":"punctuation.brackets.angle.rust"}]},"strings":{"patterns":[{"begin":"(b?)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.rust"}},"name":"string.quoted.double.rust","patterns":[{"include":"#escapes"},{"include":"#interpolations"}]},{"begin":"(b?r)(#*)(\\")","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"end":"(\\")(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}},"name":"string.quoted.double.rust"},{"begin":"(b)?(')","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.char.rust"}},"name":"string.quoted.single.char.rust","patterns":[{"include":"#escapes"}]}]},"types":{"patterns":[{"captures":{"1":{"name":"entity.name.type.numeric.rust"}},"match":"(?","endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}},"patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}]},{"match":"\\\\b(bool|char|str)\\\\b","name":"entity.name.type.primitive.rust"},{"captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}},"match":"\\\\b(trait)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}},"match":"\\\\b(struct)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}},"match":"\\\\b(enum)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}},"match":"\\\\b(type)\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\b"},{"match":"\\\\b_?[A-Z][0-9A-Z_a-z]*\\\\b(?!!)","name":"entity.name.type.rust"}]},"variables":{"patterns":[{"match":"\\\\b(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.rust\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#gtypes\\\"},{\\\"include\\\":\\\"#lvariables\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#types\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.macro.dollar.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.crate.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.metavariable.rust\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.key-value.rust\\\"},\\\"7\\\":{\\\"name\\\":\\\"variable.other.metavariable.specifier.rust\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((crate)|([A-Z]\\\\\\\\w*))(\\\\\\\\s*(:)\\\\\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\\\\\b)?\\\",\\\"name\\\":\\\"meta.macro.metavariable.type.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.macro.dollar.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.metavariable.name.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.key-value.rust\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.metavariable.specifier.rust\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([a-z]\\\\\\\\w*)(\\\\\\\\s*(:)\\\\\\\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\\\\\\\b)?\\\",\\\"name\\\":\\\"meta.macro.metavariable.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.macro.rules.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.macro.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.macro.rust\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(macro_rules!)\\\\\\\\s+(([0-9_a-z]+)|([A-Z][0-9_a-z]*))\\\\\\\\s+(\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.macro.rules.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.module.rust\\\"}},\\\"match\\\":\\\"(mod)\\\\\\\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][0-9A-Z_a-z]*)\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(extern)\\\\\\\\s+(crate)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.crate.rust\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.semi.rust\\\"}},\\\"name\\\":\\\"meta.import.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(use)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.rust\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.semi.rust\\\"}},\\\"name\\\":\\\"meta.use.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#namespaces\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#lvariables\\\"}]},{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#lvariables\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#gtypes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#macros\\\"},{\\\"include\\\":\\\"#namespaces\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#variables\\\"}],\\\"repository\\\":{\\\"attributes\\\":{\\\"begin\\\":\\\"(#)(!?)(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.attribute.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.brackets.attribute.rust\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.attribute.rust\\\"}},\\\"name\\\":\\\"meta.attribute.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#gtypes\\\"},{\\\"include\\\":\\\"#types\\\"}]},\\\"block-comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.rust\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*(?!\\\\\\\\*)\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rust\\\"}},\\\"match\\\":\\\"(///).*$\\\",\\\"name\\\":\\\"comment.line.documentation.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rust\\\"}},\\\"match\\\":\\\"(//).*$\\\",\\\"name\\\":\\\"comment.line.double-slash.rust\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z]{2}[0-9A-Z_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.caps.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.caps.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(const)\\\\\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dot.decimal.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.exponent.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.exponent.sign.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.exponent.mantissa.rust\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.numeric.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d[_\\\\\\\\d]*(\\\\\\\\.?)[_\\\\\\\\d]*(?:([Ee])([-+]?)([_\\\\\\\\d]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.numeric.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b0x[A-F_a-f\\\\\\\\d]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.numeric.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.oct.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.numeric.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bin.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.bool.rust\\\"}]},\\\"escapes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.bit.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.punctuation.rust\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.punctuation.rust\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(?:(x[0-7][A-Fa-f\\\\\\\\d])|(u(\\\\\\\\{)[A-Fa-f\\\\\\\\d]{4,6}(}))|.)\\\",\\\"name\\\":\\\"constant.character.escape.rust\\\"},\\\"functions\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(pub)(\\\\\\\\()\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(fn)\\\\\\\\s+((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)((\\\\\\\\()|(<))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.fn.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.rust\\\"}},\\\"end\\\":\\\"(\\\\\\\\{)|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.semi.rust\\\"}},\\\"name\\\":\\\"meta.function.definition.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#lvariables\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#gtypes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#macros\\\"},{\\\"include\\\":\\\"#namespaces\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"}]},{\\\"begin\\\":\\\"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"}},\\\"name\\\":\\\"meta.function.call.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#lvariables\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#gtypes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#macros\\\"},{\\\"include\\\":\\\"#namespaces\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"}]},{\\\"begin\\\":\\\"((?:r#(?!crate|[Ss]elf|super))?[0-9A-Z_a-z]+)(?=::<.*>\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.rust\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"}},\\\"name\\\":\\\"meta.function.call.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#lvariables\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#gtypes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#macros\\\"},{\\\"include\\\":\\\"#namespaces\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"}]}]},\\\"gtypes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(Some|None)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.option.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Ok|Err)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.result.rust\\\"}]},\\\"interpolations\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.rust\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)[^\\\\\\\"{}]*(})\\\",\\\"name\\\":\\\"meta.interpolation.rust\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(extern|let|macro|mod)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.rust storage.type.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(const)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(type)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.type.rust storage.type.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(enum)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.enum.rust storage.type.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(trait)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.trait.rust storage.type.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(struct)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.struct.rust storage.type.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(abstract|static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\bfn\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.fn.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\bcrate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.crate.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\bmut\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.mut.rust\\\"},{\\\"match\\\":\\\"([\\\\\\\\^|]|\\\\\\\\|\\\\\\\\||&&|<<|>>|!)(?!=)\\\",\\\"name\\\":\\\"keyword.operator.logical.rust\\\"},{\\\"match\\\":\\\"&(?![\\\\\\\\&=])\\\",\\\"name\\\":\\\"keyword.operator.borrow.and.rust\\\"},{\\\"match\\\":\\\"((?:[-%\\\\\\\\&*+/^|]|<<|>>)=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.rust\\\"},{\\\"match\\\":\\\"(?])=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.assignment.equal.rust\\\"},{\\\"match\\\":\\\"(=(=)?(?!>)|!=|<=|(?=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.rust\\\"},{\\\"match\\\":\\\"(([%+]|(\\\\\\\\*(?!\\\\\\\\w)))(?!=))|(-(?!>))|(/(?!/))\\\",\\\"name\\\":\\\"keyword.operator.math.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.square.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.rust\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.comparison.rust\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.brackets.round.rust\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.brackets.square.rust\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.rust\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b|(?:(\\\\\\\\))|(])|(})))[\\\\\\\\t ]+([<>])[\\\\\\\\t ]+(?:\\\\\\\\b|(?:(\\\\\\\\()|(\\\\\\\\[)|(\\\\\\\\{)))\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"keyword.operator.namespace.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.dereference.rust\\\"}},\\\"match\\\":\\\"(\\\\\\\\*)(?=\\\\\\\\w+)\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.operator.subpattern.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\.(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.operator.access.dot.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\.{2}([.=])?\\\",\\\"name\\\":\\\"keyword.operator.range.rust\\\"},{\\\"match\\\":\\\":(?!:)\\\",\\\"name\\\":\\\"keyword.operator.key-value.rust\\\"},{\\\"match\\\":\\\"->|<-\\\",\\\"name\\\":\\\"keyword.operator.arrow.skinny.rust\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.arrow.fat.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.operator.macro.dollar.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.question.rust\\\"}]},\\\"lifetimes\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.lifetime.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.lifetime.rust\\\"}},\\\"match\\\":\\\"(')([A-Z_a-z][0-9A-Z_a-z]*)(?!')\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.borrow.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.lifetime.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.lifetime.rust\\\"}},\\\"match\\\":\\\"(&)(')([A-Z_a-z][0-9A-Z_a-z]*)(?!')\\\\\\\\b\\\"}]},\\\"lvariables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[Ss]elf\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.self.rust\\\"},{\\\"match\\\":\\\"\\\\\\\\bsuper\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.super.rust\\\"}]},\\\"macros\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.macro.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.macro.rust\\\"}},\\\"match\\\":\\\"(([_a-z][0-9A-Z_a-z]*!)|([A-Z_][0-9A-Z_a-z]*!))\\\",\\\"name\\\":\\\"meta.macro.rust\\\"}]},\\\"namespaces\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.namespace.rust\\\"}},\\\"match\\\":\\\"(?]\\\",\\\"name\\\":\\\"punctuation.brackets.angle.rust\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(b?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.byte.raw.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.rust\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.rust\\\"}},\\\"name\\\":\\\"string.quoted.double.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#interpolations\\\"}]},{\\\"begin\\\":\\\"(b?r)(#*)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.byte.raw.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.rust\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.rust\\\"}},\\\"end\\\":\\\"(\\\\\\\")(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.rust\\\"}},\\\"name\\\":\\\"string.quoted.double.rust\\\"},{\\\"begin\\\":\\\"(b)?(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.byte.raw.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.char.rust\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.char.rust\\\"}},\\\"name\\\":\\\"string.quoted.single.char.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}]},\\\"types\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.numeric.rust\\\"}},\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.rust\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#lvariables\\\"},{\\\"include\\\":\\\"#lifetimes\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(bool|char|str)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.primitive.rust\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.trait.rust storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.trait.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(trait)\\\\\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.struct.rust storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.struct.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(struct)\\\\\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.enum.rust storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.enum.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(enum)\\\\\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.type.rust storage.type.rust\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.declaration.rust\\\"}},\\\"match\\\":\\\"\\\\\\\\b(type)\\\\\\\\s+(_?[A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"match\\\":\\\"\\\\\\\\b_?[A-Z][0-9A-Z_a-z]*\\\\\\\\b(?!!)\\\",\\\"name\\\":\\\"entity.name.type.rust\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?\\\\\\\\\\\\s]))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},"call-expression":{"begin":"(\\\\{!)\\\\s+","beginCaptures":{"0":{"name":"start.call-expression.templ"},"1":{"name":"punctuation.brace.open"}},"end":"(})","endCaptures":{"0":{"name":"end.call-expression.templ"},"1":{"name":"punctuation.brace.close"}},"name":"call-expression.templ","patterns":[{"include":"source.go"}]},"case-expression":{"begin":"^\\\\s*case .+?:$","captures":{"0":{"name":"case.switch.html-template.templ","patterns":[{"include":"source.go"}]}},"end":"(?:^(\\\\s*case .+?:)|^(\\\\s*default:)|(\\\\s*))$","patterns":[{"include":"#template-node"}]},"close-element":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.html","patterns":[{"include":"#tag-stuff"}]},"css-template":{"begin":"^(css) ([A-z][0-9A-z]*\\\\()","beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}},"end":"(?<=^}$)","name":"css-template.templ","patterns":[{"begin":"(?<=\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}},"name":"params.css-template.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\))\\\\s*(\\\\{)$","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"^(})$","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}},"name":"block.css-template.templ","patterns":[{"begin":"\\\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|[xy]|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-rows??|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-columns??|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\\\s+","beginCaptures":{"1":{"name":"support.type.property-name.css"}},"end":"(?<=;$)","name":"property.css-template.templ","patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"(})(;)$","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}},"name":"expression.property.css-template.templ","patterns":[{"include":"source.go"}]},{"captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}},"match":"(.*)(;)$","name":"constant.property.css-template.templ"}]}]}]},"default-expression":{"begin":"^\\\\s*default:$","captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}},"end":"(?:^(\\\\s*case .+?:)|^(\\\\s*default:)|(\\\\s*))$","patterns":[{"include":"#template-node"}]},"element":{"begin":"(<)([-0-:A-Za-z]++)(?=[^>]*>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"end":"(>(<)/)(\\\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},"else-expression":{"begin":"\\\\s+(else)\\\\s+(\\\\{)\\\\s*$","beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"^\\\\s*(})$","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}},"name":"else.html-template.templ","patterns":[{"include":"#template-node"}]},"else-if-expression":{"begin":"\\\\s(else if)\\\\s","beginCaptures":{"1":{"name":"keyword.control.go"}},"end":"(?<=})","name":"else-if.html-template.templ","patterns":[{"begin":"(?<=if\\\\s)","end":"(\\\\{)$","endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"name":"expression.else-if.html-template.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\{)$","end":"^\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}},"name":"block.else-if.html-template.templ","patterns":[{"include":"#template-node"}]}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#[Xx]\\\\h+)(;)","name":"constant.character.entity.html"},{"match":"&","name":"invalid.illegal.bad-ampersand.html"}]},"for-expression":{"begin":"^\\\\s*for .+\\\\{","captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}},"end":"\\\\s*}\\\\s*\\\\n","name":"for.html-template.templ","patterns":[{"include":"#template-node"}]},"go-comment-block":{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"name":"comment.block.go"},"go-comment-double-slash":{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"end":"\\\\n|$","name":"comment.line.double-slash.go"},"html-comment":{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"name":"comment.block.html"},"html-template":{"begin":"^(templ) ((?:\\\\([A-z][0-9A-z]* \\\\*?[A-z][0-9A-z]*\\\\) )?[A-z][0-9A-z]*([(\\\\[]))","beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}},"end":"(?<=^}$)","name":"html-template.templ","patterns":[{"begin":"(?<=\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}},"name":"params.html-template.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\[)","end":"(])","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}},"name":"type-params.html-template.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\))\\\\s*(\\\\{)$","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"^(})$","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}},"name":"block.html-template.templ","patterns":[{"include":"#template-node"}]}]},"if-expression":{"begin":"^\\\\s*(if)\\\\s","beginCaptures":{"1":{"name":"keyword.control.go"}},"end":"(?<=})","name":"if.html-template.templ","patterns":[{"begin":"(?<=if\\\\s)","end":"(\\\\{)$","endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"name":"expression.if.html-template.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\{)$","end":"^\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}},"name":"block.if.html-template.templ","patterns":[{"include":"#template-node"}]}]},"import-expression":{"patterns":[{"begin":"(@)((?:[A-z][0-9A-z]*\\\\.)?[A-z][0-9A-z]*(?:[({]|$))","beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}},"end":"(?<=\\\\))$|(?<=})$|(?<=$)","name":"import-expression.templ","patterns":[{"begin":"(?<=[0-9A-z]\\\\{)","end":"\\\\s*(})(\\\\.[A-z][0-9A-z]*\\\\()","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}},"name":"struct-method.import-expression.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}},"name":"params.import-expression.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\))\\\\s(\\\\{)$","beginCaptures":{"1":{"name":"punctuation.brace.open"}},"end":"^\\\\s*(})$","endCaptures":{"1":{"name":"punctuation.brace.close"}},"name":"children.import-expression.templ","patterns":[{"include":"#template-node"}]}]}]},"inline-element":{"begin":"(\\\\\\\\\\\\s]))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.any.html","patterns":[{"include":"#tag-stuff"}]},"raw-go":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"start.raw-go.templ"},"1":{"name":"punctuation.brace.open"}},"end":"}}","endCaptures":{"0":{"name":"end.raw-go.templ"},"1":{"name":"punctuation.brace.open"}},"name":"raw-go.templ","patterns":[{"include":"source.go"}]},"script-element":{"begin":"(<)(script)([^>]*)(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"end":"<\/script>","endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}},"name":"meta.tag.script.html","patterns":[{"include":"source.js"}]},"script-template":{"begin":"^(script) ([A-z][0-9A-z]*\\\\()","beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}},"end":"(?<=^}$)","name":"script-template.templ","patterns":[{"begin":"(?<=\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}},"name":"params.script-template.templ","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\))\\\\s*(\\\\{)$","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"end":"^(})$","endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}},"name":"block.script-template.templ","patterns":[{"include":"source.js"}]}]},"sgml":{"begin":"","name":"meta.tag.sgml.html","patterns":[{"begin":"(?i:DOCTYPE)","captures":{"1":{"name":"entity.name.tag.doctype.html"}},"end":"(?=>)","name":"meta.tag.sgml.doctype.html","patterns":[{"match":"\\"[^\\">]*\\"","name":"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{"begin":"\\\\[CDATA\\\\[","end":"]](?=>)","name":"constant.other.inline-data.html"},{"match":"(\\\\s*)(?!--|>)\\\\S(\\\\s*)","name":"invalid.illegal.bad-comments-or-CDATA.html"}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"#entities"}]},"string-expression":{"begin":"\\\\{\\\\s+","beginCaptures":{"0":{"name":"start.string-expression.templ"}},"end":"}","endCaptures":{"0":{"name":"end.string-expression.templ"}},"name":"expression.html-template.templ","patterns":[{"include":"source.go"}]},"style-element":{"begin":"(<)(style)([^>]*)(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"end":"","endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}},"name":"meta.tag.style.html","patterns":[{"include":"source.css"}]},"switch-expression":{"begin":"^\\\\s*switch .+?\\\\{$","captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}},"end":"^\\\\s*}$","name":"switch.html-template.templ","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}]},"tag-else-attribute":{"begin":"\\\\s(else)\\\\s(\\\\{)$","beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"end":"^\\\\s*(})$","endCaptures":{"1":{"name":"punctuation.brace.close"}},"name":"else.attribute.html","patterns":[{"include":"#tag-stuff"}]},"tag-else-if-attribute":{"begin":"\\\\s(else if)\\\\s","beginCaptures":{"1":{"name":"keyword.control.go"}},"end":"(?<=})","name":"else-if.attribute.html","patterns":[{"begin":"(?<=if\\\\s)","end":"(\\\\{)$","endCaptures":{"1":{"name":"punctuation.brace.open"}},"name":"expression.else-if.attribute.html","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\{)$","end":"^\\\\s*(})","endCaptures":{"1":{"name":"punctuation.brace.close"}},"name":"block.else-if.attribute.html","patterns":[{"include":"#tag-stuff"}]}]},"tag-generic-attribute":{"match":"(?<=[^=])\\\\b([-0-:A-Za-z]+)","name":"entity.other.attribute-name.html"},"tag-id-attribute":{"begin":"\\\\b(id)\\\\b\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}},"end":"(?!\\\\G)(?<=[\\"'[^/<>\\\\s]])","name":"meta.attribute-with-value.id.html","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"#entities"}]},{"captures":{"0":{"name":"meta.toc-list.id.html"}},"match":"(?<==)(?:[^\\"'/<>{}\\\\s]|/(?!>))+","name":"string.unquoted.html"}]},"tag-if-attribute":{"begin":"^\\\\s*(if)\\\\s","beginCaptures":{"1":{"name":"keyword.control.go"}},"end":"(?<=})","name":"if.attribute.html","patterns":[{"begin":"(?<=if\\\\s)","end":"(\\\\{)$","endCaptures":{"1":{"name":"punctuation.brace.open"}},"name":"expression.if.attribute.html","patterns":[{"include":"source.go"}]},{"begin":"(?<=\\\\{)$","end":"^\\\\s*(})","endCaptures":{"1":{"name":"punctuation.brace.close"}},"name":"block.if.attribute.html","patterns":[{"include":"#tag-stuff"}]}]},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"},{"include":"#raw-go"}]}},"scopeName":"source.templ","embeddedLangs":["go","javascript","css"]}`, + ), + ), + s = [...e, ...t, ...n, i] +export { s as default } +//# sourceMappingURL=chunk-B47ASqzZ.js.map diff --git a/src/webview-ui/build/assets/chunk-B47ASqzZ.js.map b/src/webview-ui/build/assets/chunk-B47ASqzZ.js.map new file mode 100644 index 0000000000..350763ddbb --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B47ASqzZ.js.map @@ -0,0 +1,22 @@ +{ + "version": 3, + "file": "chunk-B47ASqzZ.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/templ.mjs" + ], + "sourcesContent": [ + "import go from './go.mjs'\nimport javascript from './javascript.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Templ\\\",\\\"name\\\":\\\"templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#script-template\\\"},{\\\"include\\\":\\\"#css-template\\\"},{\\\"include\\\":\\\"#html-template\\\"},{\\\"include\\\":\\\"source.go\\\"}],\\\"repository\\\":{\\\"block-element\\\":{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\\\\\\\\\s]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"call-expression\\\":{\\\"begin\\\":\\\"(\\\\\\\\{!)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"start.call-expression.templ\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.call-expression.templ\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.close\\\"}},\\\"name\\\":\\\"call-expression.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},\\\"case-expression\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*case .+?:$\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case.switch.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"(?:^(\\\\\\\\s*case .+?:)|^(\\\\\\\\s*default:)|(\\\\\\\\s*))$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]},\\\"close-element\\\":{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"css-template\\\":{\\\"begin\\\":\\\"^(css) ([A-z][0-9A-z]*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"(?<=^}$)\\\",\\\"name\\\":\\\"css-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.go\\\"}},\\\"name\\\":\\\"params.css-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(\\\\\\\\{)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"end\\\":\\\"^(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"name\\\":\\\"block.css-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|[xy]|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-rows??|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-columns??|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.css\\\"}},\\\"end\\\":\\\"(?<=;$)\\\",\\\"name\\\":\\\"property.css-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"end\\\":\\\"(})(;)$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"expression.property.css-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-value.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"match\\\":\\\"(.*)(;)$\\\",\\\"name\\\":\\\"constant.property.css-template.templ\\\"}]}]}]},\\\"default-expression\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*default:$\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"default.switch.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"(?:^(\\\\\\\\s*case .+?:)|^(\\\\\\\\s*default:)|(\\\\\\\\s*))$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]},\\\"element\\\":{\\\"begin\\\":\\\"(<)([-0-:A-Za-z]++)(?=[^>]*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(>(<)/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"else-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\s+(else)\\\\\\\\s+(\\\\\\\\{)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"name\\\":\\\"else.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]},\\\"else-if-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\s(else if)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"else-if.html-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=if\\\\\\\\s)\\\",\\\"end\\\":\\\"(\\\\\\\\{)$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"name\\\":\\\"expression.else-if.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{)$\\\",\\\"end\\\":\\\"^\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"name\\\":\\\"block.else-if.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#[Xx]\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.html\\\"}]},\\\"for-expression\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*for .+\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.embedded.block.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*}\\\\\\\\s*\\\\\\\\n\\\",\\\"name\\\":\\\"for.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]},\\\"go-comment-block\\\":{\\\"begin\\\":\\\"(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.go\\\"}},\\\"end\\\":\\\"(\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.go\\\"}},\\\"name\\\":\\\"comment.block.go\\\"},\\\"go-comment-double-slash\\\":{\\\"begin\\\":\\\"(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.go\\\"}},\\\"end\\\":\\\"\\\\\\\\n|$\\\",\\\"name\\\":\\\"comment.line.double-slash.go\\\"},\\\"html-comment\\\":{\\\"begin\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"name\\\":\\\"comment.block.html\\\"},\\\"html-template\\\":{\\\"begin\\\":\\\"^(templ) ((?:\\\\\\\\([A-z][0-9A-z]* \\\\\\\\*?[A-z][0-9A-z]*\\\\\\\\) )?[A-z][0-9A-z]*([(\\\\\\\\[]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"(?<=^}$)\\\",\\\"name\\\":\\\"html-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.go\\\"}},\\\"name\\\":\\\"params.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\[)\\\",\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.go\\\"}},\\\"name\\\":\\\"type-params.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(\\\\\\\\{)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"end\\\":\\\"^(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"name\\\":\\\"block.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]}]},\\\"if-expression\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(if)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"if.html-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=if\\\\\\\\s)\\\",\\\"end\\\":\\\"(\\\\\\\\{)$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"name\\\":\\\"expression.if.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{)$\\\",\\\"end\\\":\\\"^\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"name\\\":\\\"block.if.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]}]},\\\"import-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)((?:[A-z][0-9A-z]*\\\\\\\\.)?[A-z][0-9A-z]*(?:[({]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))$|(?<=})$|(?<=$)\\\",\\\"name\\\":\\\"import-expression.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[0-9A-z]\\\\\\\\{)\\\",\\\"end\\\":\\\"\\\\\\\\s*(})(\\\\\\\\.[A-z][0-9A-z]*\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"name\\\":\\\"struct-method.import-expression.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.go\\\"}},\\\"name\\\":\\\"params.import-expression.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s(\\\\\\\\{)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.close\\\"}},\\\"name\\\":\\\"children.import-expression.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"}]}]}]},\\\"inline-element\\\":{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\\\\\\\\\s]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.inline.any.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"raw-go\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"start.raw-go.templ\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.raw-go.templ\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"name\\\":\\\"raw-go.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},\\\"script-element\\\":{\\\"begin\\\":\\\"(<)(script)([^>]*)(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-element\\\"}]}},\\\"name\\\":\\\"meta.tag.script.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},\\\"script-template\\\":{\\\"begin\\\":\\\"^(script) ([A-z][0-9A-z]*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"(?<=^}$)\\\",\\\"name\\\":\\\"script-template.templ\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.go\\\"}},\\\"name\\\":\\\"params.script-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(\\\\\\\\{)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"end\\\":\\\"^(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"name\\\":\\\"block.script-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"sgml\\\":{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"meta.tag.sgml.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i:DOCTYPE)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.doctype.html\\\"}},\\\"end\\\":\\\"(?=>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\">]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.doctype.identifiers-and-DTDs.html\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]](?=>)\\\",\\\"name\\\":\\\"constant.other.inline-data.html\\\"},{\\\"match\\\":\\\"(\\\\\\\\s*)(?!--|>)\\\\\\\\S(\\\\\\\\s*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},\\\"string-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"start.string-expression.templ\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.string-expression.templ\\\"}},\\\"name\\\":\\\"expression.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},\\\"style-element\\\":{\\\"begin\\\":\\\"(<)(style)([^>]*)(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-element\\\"}]}},\\\"name\\\":\\\"meta.tag.style.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},\\\"switch-expression\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*switch .+?\\\\\\\\{$\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.embedded.block.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]}},\\\"end\\\":\\\"^\\\\\\\\s*}$\\\",\\\"name\\\":\\\"switch.html-template.templ\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-node\\\"},{\\\"include\\\":\\\"#case-expression\\\"},{\\\"include\\\":\\\"#default-expression\\\"}]},\\\"tag-else-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\s(else)\\\\\\\\s(\\\\\\\\{)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.close\\\"}},\\\"name\\\":\\\"else.attribute.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"tag-else-if-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\s(else if)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"else-if.attribute.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=if\\\\\\\\s)\\\",\\\"end\\\":\\\"(\\\\\\\\{)$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"name\\\":\\\"expression.else-if.attribute.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{)$\\\",\\\"end\\\":\\\"^\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.close\\\"}},\\\"name\\\":\\\"block.else-if.attribute.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]}]},\\\"tag-generic-attribute\\\":{\\\"match\\\":\\\"(?<=[^=])\\\\\\\\b([-0-:A-Za-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"tag-id-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(?<=[\\\\\\\"'[^/<>\\\\\\\\s]])\\\",\\\"name\\\":\\\"meta.attribute-with-value.id.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.toc-list.id.html\\\"}},\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>{}\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"}]},\\\"tag-if-attribute\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(if)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"if.attribute.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=if\\\\\\\\s)\\\",\\\"end\\\":\\\"(\\\\\\\\{)$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.open\\\"}},\\\"name\\\":\\\"expression.if.attribute.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{)$\\\",\\\"end\\\":\\\"^\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brace.close\\\"}},\\\"name\\\":\\\"block.if.attribute.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]}]},\\\"tag-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-id-attribute\\\"},{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-expression\\\"},{\\\"include\\\":\\\"#tag-if-attribute\\\"},{\\\"include\\\":\\\"#tag-else-if-attribute\\\"},{\\\"include\\\":\\\"#tag-else-attribute\\\"}]},\\\"template-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-expression\\\"},{\\\"include\\\":\\\"#call-expression\\\"},{\\\"include\\\":\\\"#import-expression\\\"},{\\\"include\\\":\\\"#script-element\\\"},{\\\"include\\\":\\\"#style-element\\\"},{\\\"include\\\":\\\"#element\\\"},{\\\"include\\\":\\\"#html-comment\\\"},{\\\"include\\\":\\\"#go-comment-block\\\"},{\\\"include\\\":\\\"#go-comment-double-slash\\\"},{\\\"include\\\":\\\"#sgml\\\"},{\\\"include\\\":\\\"#block-element\\\"},{\\\"include\\\":\\\"#inline-element\\\"},{\\\"include\\\":\\\"#close-element\\\"},{\\\"include\\\":\\\"#else-if-expression\\\"},{\\\"include\\\":\\\"#if-expression\\\"},{\\\"include\\\":\\\"#else-expression\\\"},{\\\"include\\\":\\\"#for-expression\\\"},{\\\"include\\\":\\\"#switch-expression\\\"},{\\\"include\\\":\\\"#raw-go\\\"}]}},\\\"scopeName\\\":\\\"source.templ\\\",\\\"embeddedLangs\\\":[\\\"go\\\",\\\"javascript\\\",\\\"css\\\"]}\"))\n\nexport default [\n...go,\n...javascript,\n...css,\nlang\n]\n" + ], + "names": [ + "lang", + "templ", + "go", + "javascript", + "css" + ], + "mappings": "yGAIA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qwuBAAusyB,CAAC,EAE/tyBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHJ,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B5tOyCc9.js b/src/webview-ui/build/assets/chunk-B5tOyCc9.js new file mode 100644 index 0000000000..d6100bbec7 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B5tOyCc9.js @@ -0,0 +1,9 @@ +import e from "./chunk-BMMyXqK5.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"Jison","fileTypes":["jison"],"injections":{"L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string), source.js.embedded.source - (comment | string.quoted.double | string.quoted.single)":{"patterns":[{"match":"\\\\\${2}","name":"variable.language.semantic-value.jison"},{"match":"@\\\\$","name":"variable.language.result-location.jison"},{"match":"##\\\\$|\\\\byysp\\\\b","name":"variable.language.stack-index-0.jison"},{"match":"#\\\\S+#","name":"support.variable.token-reference.jison"},{"match":"#\\\\$","name":"variable.language.result-id.jison"},{"match":"\\\\$(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)","name":"support.variable.token-value.jison"},{"match":"@(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)","name":"support.variable.token-location.jison"},{"match":"##(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)","name":"support.variable.stack-index.jison"},{"match":"#(?:-?\\\\d+|[_[:alpha:]](?:[-\\\\w]*\\\\w)?)","name":"support.variable.token-id.jison"},{"match":"\\\\byy(?:l(?:eng|ineno|oc|stack)|rulelength|s(?:tate|s?tack)|text|vstack)\\\\b","name":"variable.language.jison"},{"match":"\\\\byy(?:clearin|erro[kr])\\\\b","name":"keyword.other.jison"}]}},"name":"jison","patterns":[{"begin":"%%","beginCaptures":{"0":{"name":"meta.separator.section.jison"}},"end":"\\\\z","patterns":[{"begin":"%%","beginCaptures":{"0":{"name":"meta.separator.section.jison"}},"end":"\\\\z","patterns":[{"begin":"\\\\G","contentName":"source.js.embedded.jison","end":"\\\\z","name":"meta.section.epilogue.jison","patterns":[{"include":"#epilogue_section"}]}]},{"begin":"\\\\G","end":"(?=%%)","name":"meta.section.rules.jison","patterns":[{"include":"#rules_section"}]}]},{"begin":"^","end":"(?=%%)","name":"meta.section.declarations.jison","patterns":[{"include":"#declarations_section"}]}],"repository":{"actions":{"patterns":[{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.action.begin.jison"}},"contentName":"source.js.embedded.jison","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.action.end.jison"}},"name":"meta.action.jison","patterns":[{"include":"source.js"}]},{"begin":"(?=%\\\\{)","end":"(?<=%})","name":"meta.action.jison","patterns":[{"include":"#user_code_blocks"}]}]},"comments":{"patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.jison"}},"end":"$","name":"comment.line.double-slash.jison"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.jison"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.jison"}},"name":"comment.block.jison"}]},"declarations_section":{"patterns":[{"include":"#comments"},{"begin":"^\\\\s*(%lex)\\\\s*$","beginCaptures":{"1":{"name":"entity.name.tag.lexer.begin.jison"}},"end":"^\\\\s*(/lex)\\\\b","endCaptures":{"1":{"name":"entity.name.tag.lexer.end.jison"}},"patterns":[{"begin":"%%","beginCaptures":{"0":{"name":"meta.separator.section.jisonlex"}},"end":"(?=/lex)","patterns":[{"begin":"^%%","beginCaptures":{"0":{"name":"meta.separator.section.jisonlex"}},"end":"(?=/lex)","patterns":[{"begin":"\\\\G","contentName":"source.js.embedded.jisonlex","end":"(?=/lex)","name":"meta.section.user-code.jisonlex","patterns":[{"include":"source.jisonlex#user_code_section"}]}]},{"begin":"\\\\G","end":"^(?=%%|/lex)","name":"meta.section.rules.jisonlex","patterns":[{"include":"source.jisonlex#rules_section"}]}]},{"begin":"^","end":"(?=%%|/lex)","name":"meta.section.definitions.jisonlex","patterns":[{"include":"source.jisonlex#definitions_section"}]}]},{"begin":"(?=%\\\\{)","end":"(?<=%})","name":"meta.section.prologue.jison","patterns":[{"include":"#user_code_blocks"}]},{"include":"#options_declarations"},{"match":"%(ebnf|left|nonassoc|parse-param|right|start)\\\\b","name":"keyword.other.declaration.$1.jison"},{"include":"#include_declarations"},{"begin":"%(code)\\\\b","beginCaptures":{"0":{"name":"keyword.other.declaration.$1.jison"}},"end":"$","name":"meta.code.jison","patterns":[{"include":"#comments"},{"include":"#rule_actions"},{"match":"(init|required)","name":"keyword.other.code-qualifier.$1.jison"},{"include":"#quoted_strings"},{"match":"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b","name":"string.unquoted.jison"}]},{"begin":"%(parser-type)\\\\b","beginCaptures":{"0":{"name":"keyword.other.declaration.$1.jison"}},"end":"$","name":"meta.parser-type.jison","patterns":[{"include":"#comments"},{"include":"#quoted_strings"},{"match":"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b","name":"string.unquoted.jison"}]},{"begin":"%(token)\\\\b","beginCaptures":{"0":{"name":"keyword.other.declaration.$1.jison"}},"end":"$|(%%|;)","endCaptures":{"1":{"name":"punctuation.terminator.declaration.token.jison"}},"name":"meta.token.jison","patterns":[{"include":"#comments"},{"include":"#numbers"},{"include":"#quoted_strings"},{"match":"<[_[:alpha:]](?:[-\\\\w]*\\\\w)?>","name":"invalid.unimplemented.jison"},{"match":"\\\\S+","name":"entity.other.token.jison"}]},{"match":"%(debug|import)\\\\b","name":"keyword.other.declaration.$1.jison"},{"match":"%prec\\\\b","name":"invalid.illegal.jison"},{"match":"%[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b","name":"invalid.unimplemented.jison"},{"include":"#numbers"},{"include":"#quoted_strings"}]},"epilogue_section":{"patterns":[{"include":"#user_code_include_declarations"},{"include":"source.js"}]},"include_declarations":{"patterns":[{"begin":"(%(include))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration.$2.jison"}},"end":"(?<=[\\"'])|(?=\\\\s)","name":"meta.include.jison","patterns":[{"include":"#include_paths"}]}]},"include_paths":{"patterns":[{"include":"#quoted_strings"},{"begin":"(?=\\\\S)","end":"(?=\\\\s)","name":"string.unquoted.jison","patterns":[{"include":"source.js#string_escapes"}]}]},"numbers":{"patterns":[{"captures":{"1":{"name":"storage.type.number.jison"},"2":{"name":"constant.numeric.integer.hexadecimal.jison"}},"match":"(0[Xx])(\\\\h+)"},{"match":"\\\\d+","name":"constant.numeric.integer.decimal.jison"}]},"options_declarations":{"patterns":[{"begin":"%options\\\\b","beginCaptures":{"0":{"name":"keyword.other.options.jison"}},"end":"^(?=\\\\S|\\\\s*$)","name":"meta.options.jison","patterns":[{"include":"#comments"},{"match":"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b","name":"entity.name.constant.jison"},{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.option.assignment.jison"}},"end":"(?<=[\\"'])|(?=\\\\s)","patterns":[{"include":"#comments"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.$1.jison"},{"include":"#numbers"},{"include":"#quoted_strings"},{"match":"\\\\S+","name":"string.unquoted.jison"}]},{"include":"#quoted_strings"}]}]},"quoted_strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.jison","patterns":[{"include":"source.js#string_escapes"}]},{"begin":"'","end":"'","name":"string.quoted.single.jison","patterns":[{"include":"source.js#string_escapes"}]}]},"rule_actions":{"patterns":[{"include":"#actions"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.action.begin.jison"}},"contentName":"source.js.embedded.jison","end":"}","endCaptures":{"0":{"name":"punctuation.definition.action.end.jison"}},"name":"meta.action.jison","patterns":[{"include":"source.js"}]},{"include":"#include_declarations"},{"begin":"->|→","beginCaptures":{"0":{"name":"punctuation.definition.action.arrow.jison"}},"contentName":"source.js.embedded.jison","end":"$","name":"meta.action.jison","patterns":[{"include":"source.js"}]}]},"rules_section":{"patterns":[{"include":"#comments"},{"include":"#actions"},{"include":"#include_declarations"},{"begin":"\\\\b[_[:alpha:]](?:[-\\\\w]*\\\\w)?\\\\b","beginCaptures":{"0":{"name":"entity.name.constant.rule-result.jison"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.jison"}},"name":"meta.rule.jison","patterns":[{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.rule-components.assignment.jison"}},"end":"(?=;)","name":"meta.rule-components.jison","patterns":[{"include":"#comments"},{"include":"#quoted_strings"},{"captures":{"1":{"name":"punctuation.definition.named-reference.begin.jison"},"2":{"name":"entity.name.other.reference.jison"},"3":{"name":"punctuation.definition.named-reference.end.jison"}},"match":"(\\\\[)([_[:alpha:]](?:[-\\\\w]*\\\\w)?)(])"},{"begin":"(%(prec))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.$2.jison"}},"end":"(?<=[\\"'])|(?=\\\\s)","name":"meta.prec.jison","patterns":[{"include":"#comments"},{"include":"#quoted_strings"},{"begin":"(?=\\\\S)","end":"(?=\\\\s)","name":"constant.other.token.jison"}]},{"match":"\\\\|","name":"keyword.operator.rule-components.separator.jison"},{"match":"\\\\b(?:EOF|error)\\\\b","name":"keyword.other.$0.jison"},{"match":"(?:%e(?:mpty|psilon)|\\\\b[Ɛɛεϵ])\\\\b","name":"keyword.other.empty.jison"},{"include":"#rule_actions"}]}]}]},"user_code_blocks":{"patterns":[{"begin":"%\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.user-code-block.begin.jison"}},"contentName":"source.js.embedded.jison","end":"%}","endCaptures":{"0":{"name":"punctuation.definition.user-code-block.end.jison"}},"name":"meta.user-code-block.jison","patterns":[{"include":"source.js"}]}]},"user_code_include_declarations":{"patterns":[{"begin":"^(%(include))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration.$2.jison"}},"end":"(?<=[\\"'])|(?=\\\\s)","name":"meta.include.jison","patterns":[{"include":"#include_paths"}]}]}},"scopeName":"source.jison","embeddedLangs":["javascript"]}`, + ), + ), + i = [...e, n] +export { i as default } +//# sourceMappingURL=chunk-B5tOyCc9.js.map diff --git a/src/webview-ui/build/assets/chunk-B5tOyCc9.js.map b/src/webview-ui/build/assets/chunk-B5tOyCc9.js.map new file mode 100644 index 0000000000..6f7cc85c24 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B5tOyCc9.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-B5tOyCc9.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jison.mjs" + ], + "sourcesContent": [ + "import javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Jison\\\",\\\"fileTypes\\\":[\\\"jison\\\"],\\\"injections\\\":{\\\"L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string), source.js.embedded.source - (comment | string.quoted.double | string.quoted.single)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\${2}\\\",\\\"name\\\":\\\"variable.language.semantic-value.jison\\\"},{\\\"match\\\":\\\"@\\\\\\\\$\\\",\\\"name\\\":\\\"variable.language.result-location.jison\\\"},{\\\"match\\\":\\\"##\\\\\\\\$|\\\\\\\\byysp\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.stack-index-0.jison\\\"},{\\\"match\\\":\\\"#\\\\\\\\S+#\\\",\\\"name\\\":\\\"support.variable.token-reference.jison\\\"},{\\\"match\\\":\\\"#\\\\\\\\$\\\",\\\"name\\\":\\\"variable.language.result-id.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.token-value.jison\\\"},{\\\"match\\\":\\\"@(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.token-location.jison\\\"},{\\\"match\\\":\\\"##(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.stack-index.jison\\\"},{\\\"match\\\":\\\"#(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.token-id.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\byy(?:l(?:eng|ineno|oc|stack)|rulelength|s(?:tate|s?tack)|text|vstack)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\byy(?:clearin|erro[kr])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.jison\\\"}]}},\\\"name\\\":\\\"jison\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jison\\\"}},\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jison\\\"}},\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"name\\\":\\\"meta.section.epilogue.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#epilogue_section\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=%%)\\\",\\\"name\\\":\\\"meta.section.rules.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rules_section\\\"}]}]},{\\\"begin\\\":\\\"^\\\",\\\"end\\\":\\\"(?=%%)\\\",\\\"name\\\":\\\"meta.section.declarations.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations_section\\\"}]}],\\\"repository\\\":{\\\"actions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.begin.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.end.jison\\\"}},\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?=%\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=%})\\\",\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#user_code_blocks\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.jison\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.jison\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.jison\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.jison\\\"}},\\\"name\\\":\\\"comment.block.jison\\\"}]},\\\"declarations_section\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(%lex)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.lexer.begin.jison\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(/lex)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.lexer.end.jison\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jisonlex\\\"}},\\\"end\\\":\\\"(?=/lex)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jisonlex\\\"}},\\\"end\\\":\\\"(?=/lex)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.js.embedded.jisonlex\\\",\\\"end\\\":\\\"(?=/lex)\\\",\\\"name\\\":\\\"meta.section.user-code.jisonlex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jisonlex#user_code_section\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"^(?=%%|/lex)\\\",\\\"name\\\":\\\"meta.section.rules.jisonlex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jisonlex#rules_section\\\"}]}]},{\\\"begin\\\":\\\"^\\\",\\\"end\\\":\\\"(?=%%|/lex)\\\",\\\"name\\\":\\\"meta.section.definitions.jisonlex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jisonlex#definitions_section\\\"}]}]},{\\\"begin\\\":\\\"(?=%\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=%})\\\",\\\"name\\\":\\\"meta.section.prologue.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#user_code_blocks\\\"}]},{\\\"include\\\":\\\"#options_declarations\\\"},{\\\"match\\\":\\\"%(ebnf|left|nonassoc|parse-param|right|start)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"},{\\\"include\\\":\\\"#include_declarations\\\"},{\\\"begin\\\":\\\"%(code)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.code.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#rule_actions\\\"},{\\\"match\\\":\\\"(init|required)\\\",\\\"name\\\":\\\"keyword.other.code-qualifier.$1.jison\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.jison\\\"}]},{\\\"begin\\\":\\\"%(parser-type)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.parser-type.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.jison\\\"}]},{\\\"begin\\\":\\\"%(token)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"}},\\\"end\\\":\\\"$|(%%|;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.declaration.token.jison\\\"}},\\\"name\\\":\\\"meta.token.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"<[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?>\\\",\\\"name\\\":\\\"invalid.unimplemented.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"entity.other.token.jison\\\"}]},{\\\"match\\\":\\\"%(debug|import)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"},{\\\"match\\\":\\\"%prec\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.jison\\\"},{\\\"match\\\":\\\"%[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.unimplemented.jison\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"}]},\\\"epilogue_section\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#user_code_include_declarations\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"include_declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(%(include))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.declaration.$2.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.include.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#include_paths\\\"}]}]},\\\"include_paths\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"string.unquoted.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#string_escapes\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.jison\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.jison\\\"}},\\\"match\\\":\\\"(0[Xx])(\\\\\\\\h+)\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.jison\\\"}]},\\\"options_declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"%options\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.options.jison\\\"}},\\\"end\\\":\\\"^(?=\\\\\\\\S|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"meta.options.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.constant.jison\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.option.assignment.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.$1.jison\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"string.unquoted.jison\\\"}]},{\\\"include\\\":\\\"#quoted_strings\\\"}]}]},\\\"quoted_strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#string_escapes\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#string_escapes\\\"}]}]},\\\"rule_actions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#actions\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.begin.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.end.jison\\\"}},\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"include\\\":\\\"#include_declarations\\\"},{\\\"begin\\\":\\\"->|→\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.arrow.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"rules_section\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#actions\\\"},{\\\"include\\\":\\\"#include_declarations\\\"},{\\\"begin\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.constant.rule-result.jison\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.jison\\\"}},\\\"name\\\":\\\"meta.rule.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.rule-components.assignment.jison\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"name\\\":\\\"meta.rule-components.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.named-reference.begin.jison\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.other.reference.jison\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.named-reference.end.jison\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)([_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)(])\\\"},{\\\"begin\\\":\\\"(%(prec))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.$2.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.prec.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"constant.other.token.jison\\\"}]},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.rule-components.separator.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:EOF|error)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.$0.jison\\\"},{\\\"match\\\":\\\"(?:%e(?:mpty|psilon)|\\\\\\\\b[Ɛɛεϵ])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.empty.jison\\\"},{\\\"include\\\":\\\"#rule_actions\\\"}]}]}]},\\\"user_code_blocks\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"%\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.user-code-block.begin.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"%}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.user-code-block.end.jison\\\"}},\\\"name\\\":\\\"meta.user-code-block.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"user_code_include_declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(%(include))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.declaration.$2.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.include.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#include_paths\\\"}]}]}},\\\"scopeName\\\":\\\"source.jison\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\"]}\"))\n\nexport default [\n...javascript,\nlang\n]\n" + ], + "names": [ + "lang", + "jison", + "javascript" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,u2SAA4iV,CAAC,EAEpkVC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B6aJPvgy.js b/src/webview-ui/build/assets/chunk-B6aJPvgy.js new file mode 100644 index 0000000000..8b372c5010 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B6aJPvgy.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Python","name":"python","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated-parameter":{"begin":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.annotation.python"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"}]},"assignment-operator":{"match":"<<=|>>=|//=|\\\\*\\\\*=|\\\\+=|-=|/=|@=|\\\\*=|%=|~=|\\\\^=|&=|\\\\|=|=(?!=)","name":"keyword.operator.assignment.python"},"backticks":{"begin":"\`","end":"\`|(?))","name":"comment.typehint.punctuation.notation.python"},{"match":"([_[:alpha:]]\\\\w*)","name":"comment.typehint.variable.notation.python"}]},{"include":"#comments-base"}]},"comments-base":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"$()","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-double-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?=\\"\\"\\"))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-single-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?='''))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.python"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.python"}},"patterns":[{"match":":","name":"punctuation.separator.dict.python"},{"include":"#expression"}]},"decorator":{"begin":"^\\\\s*((@))\\\\s*(?=[_[:alpha:]]\\\\w*)","beginCaptures":{"1":{"name":"entity.name.function.decorator.python"},"2":{"name":"punctuation.definition.decorator.python"}},"end":"(\\\\))(.*?)(?=\\\\s*(?:#|$))|(?=[\\\\n#])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"invalid.illegal.decorator.python"}},"name":"meta.function.decorator.python","patterns":[{"include":"#decorator-name"},{"include":"#function-arguments"}]},"decorator-name":{"patterns":[{"include":"#builtin-callables"},{"include":"#illegal-object-name"},{"captures":{"2":{"name":"punctuation.separator.period.python"}},"match":"([_[:alpha:]]\\\\w*)|(\\\\.)","name":"entity.name.function.decorator.python"},{"include":"#line-continuation"},{"captures":{"1":{"name":"invalid.illegal.decorator.python"}},"match":"\\\\s*([^#(.\\\\\\\\_[:alpha:]\\\\s].*?)(?=#|$)","name":"invalid.illegal.decorator.python"}]},"docstring":{"patterns":[{"begin":"('''|\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.multi.python","patterns":[{"include":"#docstring-prompt"},{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])('''|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.raw.multi.python","patterns":[{"include":"#string-consume-escape"},{"include":"#docstring-prompt"},{"include":"#codetags"}]},{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\1)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.single.python","patterns":[{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])([\\"'])","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.raw.single.python","patterns":[{"include":"#string-consume-escape"},{"include":"#codetags"}]}]},"docstring-guts-unicode":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"docstring-prompt":{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"(?:^|\\\\G)\\\\s*((?:>>>|\\\\.\\\\.\\\\.)\\\\s)(?=\\\\s*\\\\S)"},"docstring-statement":{"begin":"^(?=\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))","end":"((?<=\\\\1)|^)(?!\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))","patterns":[{"include":"#docstring"}]},"double-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"ellipsis":{"match":"\\\\.\\\\.\\\\.","name":"constant.other.ellipsis.python"},"escape-sequence":{"match":"\\\\\\\\(x\\\\h{2}|[0-7]{1,3}|[\\"'\\\\\\\\abfnrtv])","name":"constant.character.escape.python"},"escape-sequence-unicode":{"patterns":[{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8}|N\\\\{[\\\\w\\\\s]+?})","name":"constant.character.escape.python"}]},"expression":{"patterns":[{"include":"#expression-base"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"expression-bare":{"patterns":[{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#literal"},{"include":"#regexp"},{"include":"#string"},{"include":"#lambda"},{"include":"#generator"},{"include":"#illegal-operator"},{"include":"#operator"},{"include":"#curly-braces"},{"include":"#item-access"},{"include":"#list"},{"include":"#odd-function-call"},{"include":"#round-braces"},{"include":"#function-call"},{"include":"#builtin-functions"},{"include":"#builtin-types"},{"include":"#builtin-exceptions"},{"include":"#magic-names"},{"include":"#special-names"},{"include":"#illegal-names"},{"include":"#special-variables"},{"include":"#ellipsis"},{"include":"#punctuation"},{"include":"#line-continuation"}]},"expression-base":{"patterns":[{"include":"#comments"},{"include":"#expression-bare"},{"include":"#line-continuation"}]},"f-expression":{"patterns":[{"include":"#expression-bare"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\\\{\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{"begin":"\\\\b([Ff])([BUbu])?('''|\\"\\"\\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{"begin":"\\\\b([Ff])([BUbu])?(([\\"']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},"end":"(\\\\3)|((?^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})","patterns":[{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"fstring-terminator-single":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})|(?=\\\\n)","patterns":[{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"function-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.function-call.arguments.python","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.python"},{"captures":{"1":{"name":"keyword.operator.unpacking.arguments.python"}},"match":"(?:(?<=[(,])|^)\\\\s*(\\\\*{1,2})"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function-call.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"include":"#expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"punctuation.definition.arguments.begin.python"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"}]},"function-call":{"begin":"\\\\b(?=([_[:alpha:]]\\\\w*)\\\\s*(\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#special-variables"},{"include":"#function-name"},{"include":"#function-arguments"}]},"function-declaration":{"begin":"\\\\s*(?:\\\\b(async)\\\\s+)?\\\\b(def)\\\\s+(?=[_[:alpha:]]\\\\p{word}*\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.type.function.async.python"},"2":{"name":"storage.type.function.python"}},"end":"(:|(?=[\\\\n\\"#']))","endCaptures":{"1":{"name":"punctuation.section.function.begin.python"}},"name":"meta.function.python","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}]},"function-def-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"entity.name.function.python"}]},"function-name":{"patterns":[{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.function-call.generic.python"}]},"generator":{"begin":"\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control.flow.python"}},"end":"\\\\bin\\\\b","endCaptures":{"0":{"name":"keyword.control.flow.python"}},"patterns":[{"include":"#expression"}]},"illegal-anno":{"match":"->","name":"invalid.illegal.annotation.python"},"illegal-names":{"captures":{"1":{"name":"keyword.control.flow.python"},"2":{"name":"keyword.control.import.python"}},"match":"\\\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\.)lambda|lambda(?=\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\\\b"},"illegal-object-name":{"match":"\\\\b(True|False|None)\\\\b","name":"keyword.illegal.name.python"},"illegal-operator":{"patterns":[{"match":"&&|\\\\|\\\\||--|\\\\+\\\\+","name":"invalid.illegal.operator.python"},{"match":"[$?]","name":"invalid.illegal.operator.python"},{"match":"!\\\\b","name":"invalid.illegal.operator.python"}]},"import":{"patterns":[{"begin":"\\\\b(?>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"parameter-special":{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"variable.parameter.function.language.special.self.python"},"3":{"name":"variable.parameter.function.language.special.cls.python"},"4":{"name":"punctuation.separator.parameters.python"}},"match":"\\\\b((self)|(cls))\\\\b\\\\s*(?:(,)|(?=\\\\)))"},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python"}},"name":"meta.function.parameters.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#parameter-special"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))"},{"include":"#comments"},{"include":"#loose-default"},{"include":"#annotated-parameter"}]},"punctuation":{"patterns":[{"match":":","name":"punctuation.separator.colon.python"},{"match":",","name":"punctuation.separator.element.python"}]},"regexp":{"patterns":[{"include":"#regexp-single-three-line"},{"include":"#regexp-double-three-line"},{"include":"#regexp-single-one-line"},{"include":"#regexp-double-one-line"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\\\()(\\\\?P=\\\\w+(?:\\\\s+\\\\p{alnum}+)?)(\\\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\\\\\[1-9]\\\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\\\\\[\\\\\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-double-one-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\")|(?)","beginCaptures":{"1":{"name":"punctuation.separator.annotation.result.python"}},"end":"(?=:)","patterns":[{"include":"#expression"}]},"round-braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.python"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.python"}},"patterns":[{"include":"#expression"}]},"semicolon":{"patterns":[{"match":";$","name":"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?='))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?='))|((?=(?)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?='''))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"special-names":{"match":"\\\\b(_*\\\\p{upper}[_\\\\d]*\\\\p{upper})[[:upper:]\\\\d]*(_\\\\w*)?\\\\b","name":"constant.other.caps.python"},"special-variables":{"captures":{"1":{"name":"variable.language.special.self.python"},"2":{"name":"variable.language.special.cls.python"}},"match":"\\\\b(?^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.python"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"']+])*(![ars])?(:)[^\\\\n\\"'{}]*(?:\\\\{[^\\\\n\\"'}]*?}[^\\\\n\\"'{}]*)*})","name":"meta.format.brace.python"}]},"string-consume-escape":{"match":"\\\\\\\\[\\\\n\\"'\\\\\\\\]"},"string-entity":{"patterns":[{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#string-formatting"}]},"string-formatting":{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.python"},"string-line-continuation":{"match":"\\\\\\\\$","name":"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{"begin":"(?=\\\\{%(.*?(?!'''|\\"\\"\\"))%})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{"begin":"(?=\\\\{%(.*?(?!'''|\\"\\"\\"))%})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!'''|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!'''|\\"\\"\\")})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!'''|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!'''|\\"\\"\\")})","end":"(?='''|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-quoted-multi-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?('''|\\"\\"\\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-unicode"},{"include":"#string-multi-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-quoted-single-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\"']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)|((?>=|//=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|/=|@=|\\\\\\\\*=|%=|~=|\\\\\\\\^=|&=|\\\\\\\\|=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},\\\"backticks\\\":{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`|(?))\\\",\\\"name\\\":\\\"comment.typehint.punctuation.notation.python\\\"},{\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\",\\\"name\\\":\\\"comment.typehint.variable.notation.python\\\"}]},{\\\"include\\\":\\\"#comments-base\\\"}]},\\\"comments-base\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"$()\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-double-three\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-single-three\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?='''))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"curly-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.begin.python\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.end.python\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.dict.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((@))\\\\\\\\s*(?=[_[:alpha:]]\\\\\\\\w*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.decorator.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(.*?)(?=\\\\\\\\s*(?:#|$))|(?=[\\\\\\\\n#])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"name\\\":\\\"meta.function.decorator.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"decorator-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-callables\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)|(\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([^#(.\\\\\\\\\\\\\\\\_[:alpha:]\\\\\\\\s].*?)(?=#|$)\\\",\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}]},\\\"docstring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docstring-prompt\\\"},{\\\"include\\\":\\\"#codetags\\\"},{\\\"include\\\":\\\"#docstring-guts-unicode\\\"}]},{\\\"begin\\\":\\\"([Rr])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.raw.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#docstring-prompt\\\"},{\\\"include\\\":\\\"#codetags\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"},{\\\"include\\\":\\\"#docstring-guts-unicode\\\"}]},{\\\"begin\\\":\\\"([Rr])([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.raw.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#codetags\\\"}]}]},\\\"docstring-guts-unicode\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"docstring-prompt\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)\\\\\\\\s*((?:>>>|\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s)(?=\\\\\\\\s*\\\\\\\\S)\\\"},\\\"docstring-statement\\\":{\\\"begin\\\":\\\"^(?=\\\\\\\\s*[Rr]?('''|\\\\\\\"\\\\\\\"\\\\\\\"|[\\\\\\\"']))\\\",\\\"end\\\":\\\"((?<=\\\\\\\\1)|^)(?!\\\\\\\\s*[Rr]?('''|\\\\\\\"\\\\\\\"\\\\\\\"|[\\\\\\\"']))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docstring\\\"}]},\\\"double-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?=\\\\\\\"))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"ellipsis\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.ellipsis.python\\\"},\\\"escape-sequence\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[0-7]{1,3}|[\\\\\\\"'\\\\\\\\\\\\\\\\abfnrtv])\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"},\\\"escape-sequence-unicode\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u\\\\\\\\h{4}|U\\\\\\\\h{8}|N\\\\\\\\{[\\\\\\\\w\\\\\\\\s]+?})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-base\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"expression-bare\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#backticks\\\"},{\\\"include\\\":\\\"#illegal-anno\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#lambda\\\"},{\\\"include\\\":\\\"#generator\\\"},{\\\"include\\\":\\\"#illegal-operator\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#curly-braces\\\"},{\\\"include\\\":\\\"#item-access\\\"},{\\\"include\\\":\\\"#list\\\"},{\\\"include\\\":\\\"#odd-function-call\\\"},{\\\"include\\\":\\\"#round-braces\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-types\\\"},{\\\"include\\\":\\\"#builtin-exceptions\\\"},{\\\"include\\\":\\\"#magic-names\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#ellipsis\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"expression-base\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"f-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"fregexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fregexp-quantifier\\\"},{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"match\\\":\\\"\\\\\\\\{.*?}\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"fregexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)}}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"fstring-fnorm-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Ff])([BUbu])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-core\\\"}]},\\\"fstring-fnorm-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Ff])([BUbu])?(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-multi-tail\\\"}]},\\\"fstring-terminator-multi-tail\\\":{\\\"begin\\\":\\\"(=?(?:![ars])?)(:)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"match\\\":\\\"([%EFGXb-gnosx])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([- +])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<=>^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"fstring-terminator-single\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(=(![ars])?)(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(=?![ars])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(=?(?:![ars])?)(:\\\\\\\\w?[<=>^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-single-tail\\\"}]},\\\"fstring-terminator-single-tail\\\":{\\\"begin\\\":\\\"(=?(?:![ars])?)(:)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})|(?=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"match\\\":\\\"([%EFGXb-gnosx])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([- +])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<=>^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"function-arguments\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.python\\\",\\\"end\\\":\\\"(?=\\\\\\\\))(?!\\\\\\\\)\\\\\\\\s*\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.separator.arguments.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.unpacking.arguments.python\\\"}},\\\"match\\\":\\\"(?:(?<=[(,])|^)\\\\\\\\s*(\\\\\\\\*{1,2})\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function-call.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\\\\\\s*(\\\\\\\\()\\\"}]},\\\"function-call\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\())\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.function-call.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\b(def)\\\\\\\\s+(?=[_[:alpha:]]\\\\\\\\p{word}*\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.async.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.python\\\"}},\\\"end\\\":\\\"(:|(?=[\\\\\\\\n\\\\\\\"#']))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.python\\\"}},\\\"name\\\":\\\"meta.function.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-def-name\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#return-annotation\\\"}]},\\\"function-def-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.python\\\"}]},\\\"function-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function-call.generic.python\\\"}]},\\\"generator\\\":{\\\"begin\\\":\\\"\\\\\\\\bfor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"end\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"illegal-anno\\\":{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"invalid.illegal.annotation.python\\\"},\\\"illegal-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\\\\\.)lambda|lambda(?=\\\\\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\\\\\\\b\\\"},\\\"illegal-object-name\\\":{\\\"match\\\":\\\"\\\\\\\\b(True|False|None)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.illegal.name.python\\\"},\\\"illegal-operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&&|\\\\\\\\|\\\\\\\\||--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"[$?]\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"!\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"}]},\\\"import\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?>|[\\\\\\\\&^|~])|(\\\\\\\\*\\\\\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)\\\"},\\\"parameter-special\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.self.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.cls.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b((self)|(cls))\\\\\\\\b\\\\\\\\s*(?:(,)|(?=\\\\\\\\)))\\\"},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.python\\\"}},\\\"name\\\":\\\"meta.function.parameters.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.positional.parameter.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*?)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.parameter.python\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#parameter-special\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=[\\\\\\\\n#)=]))\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#loose-default\\\"},{\\\"include\\\":\\\"#annotated-parameter\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.colon.python\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.element.python\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-single-three-line\\\"},{\\\"include\\\":\\\"#regexp-double-three-line\\\"},{\\\"include\\\":\\\"#regexp-single-one-line\\\"},{\\\"include\\\":\\\"#regexp-double-one-line\\\"}]},\\\"regexp-backreference\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.backreference.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\?P=\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.backreference.named.regexp\\\"},\\\"regexp-backreference-number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.backreference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d?)\\\",\\\"name\\\":\\\"meta.backreference.regexp\\\"},\\\"regexp-base-common\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"support.other.match.any.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"support.other.match.begin.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"support.other.match.end.regexp\\\"},{\\\"match\\\":\\\"[*+?]\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.disjunction.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-sequence\\\"}]},\\\"regexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-quantifier\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"regexp-charecter-set-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{1,3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-double-one-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.result.python\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"round-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.begin.python\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"semicolon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";$\\\",\\\"name\\\":\\\"invalid.deprecated.semicolon.python\\\"}]},\\\"single-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?='))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"special-names\\\":{\\\"match\\\":\\\"\\\\\\\\b(_*\\\\\\\\p{upper}[_\\\\\\\\d]*\\\\\\\\p{upper})[[:upper:]\\\\\\\\d]*(_\\\\\\\\w*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.caps.python\\\"},\\\"special-variables\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.special.self.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.cls.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)?})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\w*(\\\\\\\\.[_[:alpha:]]\\\\\\\\w*|\\\\\\\\[[^]\\\\\\\"']+])*(![ars])?(:)[^\\\\\\\\n\\\\\\\"'{}]*(?:\\\\\\\\{[^\\\\\\\\n\\\\\\\"'}]*?}[^\\\\\\\\n\\\\\\\"'{}]*)*})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"}]},\\\"string-consume-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"'\\\\\\\\\\\\\\\\]\\\"},\\\"string-entity\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-formatting\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"(%(\\\\\\\\([\\\\\\\\w\\\\\\\\s]*\\\\\\\\))?[- #+0]*(\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.(\\\\\\\\d+|\\\\\\\\*))?([Lhl])?[%EFGXa-giorsux])\\\",\\\"name\\\":\\\"meta.format.percent.python\\\"},\\\"string-line-continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.python\\\"},\\\"string-multi-bad-brace1-formatting-raw\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"}]},\\\"string-multi-bad-brace1-formatting-unicode\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"string-multi-bad-brace2-formatting-raw\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-multi-bad-brace2-formatting-unicode\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-quoted-multi-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([Rr])(?=[Uu]))?([Uu])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-multi-bad-brace1-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-multi-bad-brace2-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-unicode-guts\\\"}]},\\\"string-quoted-single-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?]?=|<>|[<>]","name":"keyword.operator.comparison.sql"},{"match":"[-+/]","name":"keyword.operator.math.sql"},{"match":"\\\\|\\\\|","name":"keyword.operator.concatenator.sql"},{"captures":{"1":{"name":"support.function.aggregate.sql"}},"match":"(?i)\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.analytic.sql"}},"match":"(?i)\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.bitmanipulation.sql"}},"match":"(?i)\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.conversion.sql"}},"match":"(?i)\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.collation.sql"}},"match":"(?i)\\\\b(collationproperty|tertiary_weights)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cryptographic.sql"}},"match":"(?i)\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.cursor.sql"}},"match":"(?i)\\\\b(cursor_status)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datetime.sql"}},"match":"(?i)\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.datatype.sql"}},"match":"(?i)\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.expression.sql"}},"match":"(?i)\\\\b(coalesce|nullif)\\\\b\\\\s*\\\\("},{"captures":{"1":{"name":"support.function.globalvar.sql"}},"match":"(?]?=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.sql\\\"},{\\\"match\\\":\\\"[-+/]\\\",\\\"name\\\":\\\"keyword.operator.math.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.concatenator.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.aggregate.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.analytic.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.bitmanipulation.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.conversion.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.collation.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(collationproperty|tertiary_weights)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.cryptographic.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.cursor.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cursor_status)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.datetime.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.datatype.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.expression.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(coalesce|nullif)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.globalvar.sql\\\"}},\\\"match\\\":\\\"(?>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}', + ), + ), + P = [...e, ...n, ...a, ...c, ...t, ...o, ...r, ...l, s] +export { P as default } +//# sourceMappingURL=chunk-BAAX8Kh4.js.map diff --git a/src/webview-ui/build/assets/chunk-BAAX8Kh4.js.map b/src/webview-ui/build/assets/chunk-BAAX8Kh4.js.map new file mode 100644 index 0000000000..de8e8c303f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BAAX8Kh4.js.map @@ -0,0 +1,27 @@ +{ + "version": 3, + "file": "chunk-BAAX8Kh4.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/rst.mjs" + ], + "sourcesContent": [ + "import html_derivative from './html-derivative.mjs'\nimport cpp from './cpp.mjs'\nimport python from './python.mjs'\nimport javascript from './javascript.mjs'\nimport shellscript from './shellscript.mjs'\nimport yaml from './yaml.mjs'\nimport cmake from './cmake.mjs'\nimport ruby from './ruby.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"reStructuredText\\\",\\\"name\\\":\\\"rst\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#body\\\"}],\\\"repository\\\":{\\\"anchor\\\":{\\\"match\\\":\\\"^\\\\\\\\.{2}\\\\\\\\s+(_[^:]+:)\\\\\\\\s*\\\",\\\"name\\\":\\\"entity.name.tag.anchor\\\"},\\\"block\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+\\\\\\\\S+::)(.*)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"#body\\\"}]},\\\"block-comment\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\\\\\\.{2}(\\\\\\\\s+|$)\\\",\\\"end\\\":\\\"^(?:(?=\\\\\\\\S)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.block\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s{3,}(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"comment.block\\\",\\\"while\\\":\\\"^(?:\\\\\\\\s{3}.*|\\\\\\\\s*$)\\\"}]},\\\"block-param\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter\\\"}},\\\"match\\\":\\\"(:param\\\\\\\\s+(.+?):)(?:\\\\\\\\s|$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(0x[A-Fa-f\\\\\\\\d]+|\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric\\\"},{\\\"include\\\":\\\"#inline-markup\\\"}]}},\\\"match\\\":\\\"(:.+?:)(?:$|\\\\\\\\s+(.*))\\\"}]},\\\"blocks\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#domains\\\"},{\\\"include\\\":\\\"#doctest\\\"},{\\\"include\\\":\\\"#code-block-cpp\\\"},{\\\"include\\\":\\\"#code-block-py\\\"},{\\\"include\\\":\\\"#code-block-console\\\"},{\\\"include\\\":\\\"#code-block-javascript\\\"},{\\\"include\\\":\\\"#code-block-yaml\\\"},{\\\"include\\\":\\\"#code-block-cmake\\\"},{\\\"include\\\":\\\"#code-block-kconfig\\\"},{\\\"include\\\":\\\"#code-block-ruby\\\"},{\\\"include\\\":\\\"#code-block-dts\\\"},{\\\"include\\\":\\\"#code-block\\\"},{\\\"include\\\":\\\"#doctest-block\\\"},{\\\"include\\\":\\\"#raw-html\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#literal-block\\\"},{\\\"include\\\":\\\"#block-comment\\\"}]},\\\"body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#title\\\"},{\\\"include\\\":\\\"#inline-markup\\\"},{\\\"include\\\":\\\"#anchor\\\"},{\\\"include\\\":\\\"#line-block\\\"},{\\\"include\\\":\\\"#replace-include\\\"},{\\\"include\\\":\\\"#footnote\\\"},{\\\"include\\\":\\\"#substitution\\\"},{\\\"include\\\":\\\"#blocks\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#simple-table\\\"},{\\\"include\\\":\\\"#options-list\\\"}]},\\\"bold\\\":{\\\"begin\\\":\\\"(?<=[\\\\\\\"'(<\\\\\\\\[{\\\\\\\\s]|^)\\\\\\\\*{2}[^*\\\\\\\\s]\\\",\\\"end\\\":\\\"\\\\\\\\*{2}|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"markup.bold\\\"},\\\"citation\\\":{\\\"applyEndPatternLast\\\":0,\\\"begin\\\":\\\"(?<=[\\\\\\\"'(<\\\\\\\\[{\\\\\\\\s]|^)`[^`\\\\\\\\s]\\\",\\\"end\\\":\\\"`_{0,2}|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"entity.name.tag\\\"},\\\"code-block\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-cmake\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(cmake)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.cmake\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.cmake\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-console\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(console|shell|bash)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.console\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-cpp\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(c|c\\\\\\\\+\\\\\\\\+|cpp|C|C\\\\\\\\+\\\\\\\\+|CPP|Cpp)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-dts\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(dts|DTS|devicetree)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.dts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.dts\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-javascript\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(javascript)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-kconfig\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*([Kk]config)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.kconfig\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.kconfig\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-py\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(python)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.py\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-ruby\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(ruby)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.ruby\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"code-block-yaml\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+(code(?:|-block))::)\\\\\\\\s*(ya?ml)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.codeblock.yaml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"doctest\\\":{\\\"begin\\\":\\\"^(>>>)\\\\\\\\s*(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}},\\\"end\\\":\\\"^\\\\\\\\s*$\\\"},\\\"doctest-block\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+doctest::)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"domain-auto\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\\\\\s*(.*)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.py\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"#body\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"domain-cpp\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\\\\\s*(?:(@\\\\\\\\w+)|(.*))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp\\\"}]}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"#body\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"domain-js\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+js:\\\\\\\\w+::)\\\\\\\\s*(.*)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"end\\\":\\\"^(?!\\\\\\\\1[\\\\\\\\t ]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"#body\\\"}]},\\\"domain-py\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\\\\\s*(.*)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"#body\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"domains\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#domain-cpp\\\"},{\\\"include\\\":\\\"#domain-py\\\"},{\\\"include\\\":\\\"#domain-auto\\\"},{\\\"include\\\":\\\"#domain-js\\\"}]},\\\"escaped\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape\\\"},\\\"footnote\\\":{\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\.{2}\\\\\\\\s+\\\\\\\\[(?:[-.\\\\\\\\w]+|[#*]|#\\\\\\\\w+)]\\\\\\\\s+\\\",\\\"name\\\":\\\"entity.name.tag\\\"},\\\"footnote-ref\\\":{\\\"match\\\":\\\"\\\\\\\\[(?:[-.\\\\\\\\w]+|[#*])]_\\\",\\\"name\\\":\\\"entity.name.tag\\\"},\\\"ignore\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"'[*`]+'\\\"},{\\\"match\\\":\\\"<[*`]+>\\\"},{\\\"match\\\":\\\"\\\\\\\\{[*`]+}\\\"},{\\\"match\\\":\\\"\\\\\\\\([*`]+\\\\\\\\)\\\"},{\\\"match\\\":\\\"\\\\\\\\[[*`]+]\\\"},{\\\"match\\\":\\\"\\\\\\\"[*`]+\\\\\\\"\\\"}]},\\\"inline-markup\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped\\\"},{\\\"include\\\":\\\"#ignore\\\"},{\\\"include\\\":\\\"#ref\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#monospaced\\\"},{\\\"include\\\":\\\"#citation\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#list\\\"},{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"#reference\\\"},{\\\"include\\\":\\\"#footnote-ref\\\"}]},\\\"italic\\\":{\\\"begin\\\":\\\"(?<=[\\\\\\\"'(<\\\\\\\\[{\\\\\\\\s]|^)\\\\\\\\*[^*\\\\\\\\s]\\\",\\\"end\\\":\\\"\\\\\\\\*|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"markup.italic\\\"},\\\"line-block\\\":{\\\"match\\\":\\\"^\\\\\\\\|\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.control\\\"},\\\"list\\\":{\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\d+\\\\\\\\.|\\\\\\\\* -|[#A-Za-z]\\\\\\\\.|[CIMVXcimvx]+\\\\\\\\.|\\\\\\\\(\\\\\\\\d+\\\\\\\\)|\\\\\\\\d+\\\\\\\\)|[-*+])\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.control\\\"},\\\"literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"match\\\":\\\"(:\\\\\\\\S+:)(`.*?`\\\\\\\\\\\\\\\\?)\\\"},\\\"literal-block\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(.*)(::)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline-markup\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"macro\\\":{\\\"match\\\":\\\"\\\\\\\\|[^|]+\\\\\\\\|\\\",\\\"name\\\":\\\"entity.name.tag\\\"},\\\"monospaced\\\":{\\\"begin\\\":\\\"(?<=[\\\\\\\"'(<\\\\\\\\[{\\\\\\\\s]|^)``[^`\\\\\\\\s]\\\",\\\"end\\\":\\\"``|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"string.interpolated\\\"},\\\"options-list\\\":{\\\"match\\\":\\\"(?:(?:^|,\\\\\\\\s+)(?:[-+]\\\\\\\\w|--?[A-Za-z][-\\\\\\\\w]+|/\\\\\\\\w+)(?:[ =](?:\\\\\\\\w+|<[^<>]+?>))?)+(?= |\\\\\\\\t|$)\\\",\\\"name\\\":\\\"variable.parameter\\\"},\\\"raw-html\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(\\\\\\\\.{2}\\\\\\\\s+raw\\\\\\\\s*::)\\\\\\\\s+(html)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.html\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-param\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?:\\\\\\\\1(?=\\\\\\\\s)|\\\\\\\\s*$)\\\"},\\\"ref\\\":{\\\"begin\\\":\\\"(:ref:)`\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"`|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"entity.name.tag\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"<.*?>\\\",\\\"name\\\":\\\"markup.underline.link\\\"}]},\\\"reference\\\":{\\\"match\\\":\\\"[-\\\\\\\\w]*[-A-Za-z\\\\\\\\d]__?\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag\\\"},\\\"replace-include\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\.{2})\\\\\\\\s+(\\\\\\\\|[^|]+\\\\\\\\|)\\\\\\\\s+(replace::)\\\"},\\\"simple-table\\\":{\\\"match\\\":\\\"^[=\\\\\\\\s]+$\\\",\\\"name\\\":\\\"keyword.control.table\\\"},\\\"substitution\\\":{\\\"match\\\":\\\"^\\\\\\\\.{2}\\\\\\\\s*\\\\\\\\|([^|]+)\\\\\\\\|\\\",\\\"name\\\":\\\"entity.name.tag\\\"},\\\"table\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\+[-+=]+\\\\\\\\+\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.table\\\"}},\\\"end\\\":\\\"^(?![+|])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[-+=|]\\\",\\\"name\\\":\\\"keyword.control.table\\\"}]},\\\"title\\\":{\\\"match\\\":\\\"^(\\\\\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\\\\\+{3,}|-{3,}|`{3,}|\\\\\\\\^{3,}|:{3,}|\\\\\\\"{3,}|_{3,}|'{3,})$\\\",\\\"name\\\":\\\"markup.heading\\\"}},\\\"scopeName\\\":\\\"source.rst\\\",\\\"embeddedLangs\\\":[\\\"html-derivative\\\",\\\"cpp\\\",\\\"python\\\",\\\"javascript\\\",\\\"shellscript\\\",\\\"yaml\\\",\\\"cmake\\\",\\\"ruby\\\"]}\"))\n\nexport default [\n...html_derivative,\n...cpp,\n...python,\n...javascript,\n...shellscript,\n...yaml,\n...cmake,\n...ruby,\nlang\n]\n" + ], + "names": [ + "lang", + "rst", + "html_derivative", + "cpp", + "python", + "javascript", + "shellscript", + "yaml", + "cmake", + "ruby" + ], + "mappings": "gqBASA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,mqTAAm4V,CAAC,EAE35VC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHT,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BEDo0Tqx.js b/src/webview-ui/build/assets/chunk-BEDo0Tqx.js new file mode 100644 index 0000000000..bb99580aaa --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BEDo0Tqx.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Stylus","fileTypes":["styl","stylus","css.styl","css.stylus"],"name":"stylus","patterns":[{"include":"#comment"},{"include":"#at_rule"},{"include":"#language_keywords"},{"include":"#language_constants"},{"include":"#variable_declaration"},{"include":"#function"},{"include":"#selector"},{"include":"#declaration"},{"captures":{"1":{"name":"punctuation.section.property-list.begin.css"},"2":{"name":"punctuation.section.property-list.end.css"}},"match":"(\\\\{)(})","name":"meta.brace.curly.css"},{"match":"[{}]","name":"meta.brace.curly.css"},{"include":"#numeric"},{"include":"#string"},{"include":"#operator"}],"repository":{"at_rule":{"patterns":[{"begin":"\\\\s*((@)(import|require))\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.import.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"end":"\\\\s*((?=;|$|\\\\n))","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.import.css","patterns":[{"include":"#string"}]},{"begin":"\\\\s*((@)(extends?))\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.extend.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"end":"\\\\s*((?=;|$|\\\\n))","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.extend.css","patterns":[{"include":"#selector"}]},{"captures":{"1":{"name":"keyword.control.at-rule.fontface.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"match":"^\\\\s*((@)font-face)\\\\b","name":"meta.at-rule.fontface.stylus"},{"captures":{"1":{"name":"keyword.control.at-rule.css.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"match":"^\\\\s*((@)css)\\\\b","name":"meta.at-rule.css.stylus"},{"begin":"\\\\s*((@)charset)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.at-rule.charset.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"end":"\\\\s*((?=;|$|\\\\n))","name":"meta.at-rule.charset.stylus","patterns":[{"include":"#string"}]},{"begin":"\\\\s*((@)keyframes)\\\\b\\\\s+([-A-Z_a-z][-0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.control.at-rule.keyframes.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"},"3":{"name":"entity.name.function.keyframe.stylus"}},"end":"\\\\s*((?=\\\\{|$|\\\\n))","name":"meta.at-rule.keyframes.stylus"},{"begin":"(?=\\\\b((\\\\d+%|from\\\\b|to\\\\b)))","end":"(?=([\\\\n{]))","name":"meta.at-rule.keyframes.stylus","patterns":[{"match":"\\\\b((\\\\d+%|from\\\\b|to\\\\b))","name":"entity.other.attribute-name.stylus"}]},{"captures":{"1":{"name":"keyword.control.at-rule.media.stylus"},"2":{"name":"punctuation.definition.keyword.stylus"}},"match":"^\\\\s*((@)media)\\\\b","name":"meta.at-rule.media.stylus"},{"match":"(?=\\\\w)(?]|[-%*+/:<-?]?=|!=)|\\\\b(?:in|is(?:nt)?|(?([\\"'])(?:[^\\\\\\\\]|\\\\\\\\.)*?(\\\\6)))))?\\\\s*(])","name":"meta.attribute-selector.css"},{"include":"#interpolation"},{"include":"#variable"}]},"string":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.double.css","patterns":[{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.css"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.single.css","patterns":[{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.css"}]}]},"variable":{"match":"(\\\\$[-A-Z_a-z][-0-9A-Z_a-z]*)","name":"variable.stylus"},"variable_declaration":{"begin":"^[^\\\\n\\\\S]*(\\\\$?[-A-Z_a-z][-0-9A-Z_a-z]*)[^\\\\n\\\\S]*([:?]??=)","beginCaptures":{"1":{"name":"variable.stylus"},"2":{"name":"keyword.operator.stylus"}},"end":"(\\\\n)|(;)|(?=})","endCaptures":{"2":{"name":"punctuation.terminator.rule.css"}},"patterns":[{"include":"#property_values"}]}},"scopeName":"source.stylus","aliases":["styl"]}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-BEDo0Tqx.js.map diff --git a/src/webview-ui/build/assets/chunk-BEDo0Tqx.js.map b/src/webview-ui/build/assets/chunk-BEDo0Tqx.js.map new file mode 100644 index 0000000000..b4f682349e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BEDo0Tqx.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BEDo0Tqx.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/stylus.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Stylus\\\",\\\"fileTypes\\\":[\\\"styl\\\",\\\"stylus\\\",\\\"css.styl\\\",\\\"css.stylus\\\"],\\\"name\\\":\\\"stylus\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#at_rule\\\"},{\\\"include\\\":\\\"#language_keywords\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#selector\\\"},{\\\"include\\\":\\\"#declaration\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.css\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)(})\\\",\\\"name\\\":\\\"meta.brace.curly.css\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"meta.brace.curly.css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#operator\\\"}],\\\"repository\\\":{\\\"at_rule\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)(import|require))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$|\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.import.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*((@)(extends?))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.extend.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$|\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.extend.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selector\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.fontface.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)font-face)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.fontface.stylus\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)css)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.css.stylus\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$|\\\\\\\\n))\\\",\\\"name\\\":\\\"meta.at-rule.charset.stylus\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*((@)keyframes)\\\\\\\\b\\\\\\\\s+([-A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.keyframe.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=\\\\\\\\{|$|\\\\\\\\n))\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.stylus\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\b((\\\\\\\\d+%|from\\\\\\\\b|to\\\\\\\\b)))\\\",\\\"end\\\":\\\"(?=([\\\\\\\\n{]))\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.stylus\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((\\\\\\\\d+%|from\\\\\\\\b|to\\\\\\\\b))\\\",\\\"name\\\":\\\"entity.other.attribute-name.stylus\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)media)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.media.stylus\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?]|[-%*+/:<-?]?=|!=)|\\\\\\\\b(?:in|is(?:nt)?|(?([\\\\\\\"'])(?:[^\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*?(\\\\\\\\6)))))?\\\\\\\\s*(])\\\",\\\"name\\\":\\\"meta.attribute-selector.css\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.single.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]}]},\\\"variable\\\":{\\\"match\\\":\\\"(\\\\\\\\$[-A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"variable.stylus\\\"},\\\"variable_declaration\\\":{\\\"begin\\\":\\\"^[^\\\\\\\\n\\\\\\\\S]*(\\\\\\\\$?[-A-Z_a-z][-0-9A-Z_a-z]*)[^\\\\\\\\n\\\\\\\\S]*([:?]??=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.stylus\\\"}},\\\"end\\\":\\\"(\\\\\\\\n)|(;)|(?=})\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"}]}},\\\"scopeName\\\":\\\"source.stylus\\\",\\\"aliases\\\":[\\\"styl\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "stylus" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ky8BAAm2gC,CAAC,EAE33gCC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BERRCDM3.js b/src/webview-ui/build/assets/chunk-BERRCDM3.js new file mode 100644 index 0000000000..e3fe1d3863 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BERRCDM3.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + `{"displayName":"Smalltalk","fileTypes":["st"],"foldingStartMarker":"\\\\[","foldingStopMarker":"^(?:\\\\s*|\\\\s)]","name":"smalltalk","patterns":[{"match":"\\\\^","name":"keyword.control.flow.return.smalltalk"},{"captures":{"1":{"name":"punctuation.definition.method.begin.smalltalk"},"2":{"name":"entity.name.type.class.smalltalk"},"3":{"name":"keyword.declaration.method.smalltalk"},"4":{"name":"string.quoted.single.protocol.smalltalk"},"5":{"name":"string.quoted.single.protocol.smalltalk"},"6":{"name":"keyword.declaration.method.stamp.smalltalk"},"7":{"name":"string.quoted.single.stamp.smalltalk"},"8":{"name":"string.quoted.single.stamp.smalltalk"},"9":{"name":"punctuation.definition.method.end.smalltalk"}},"match":"^(!)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\s+(methodsFor:)\\\\s*('([^']*)')(?:\\\\s+(stamp:)\\\\s*('([^']*)'))?\\\\s*(!?)$","name":"meta.method.definition.header.smalltalk"},{"match":"^! !$","name":"punctuation.definition.method.end.smalltalk"},{"match":"\\\\$.","name":"constant.character.smalltalk"},{"match":"\\\\b(class)\\\\b","name":"storage.type.$1.smalltalk"},{"match":"\\\\b(extend|super|self)\\\\b","name":"storage.modifier.$1.smalltalk"},{"match":"\\\\b(yourself|new|Smalltalk)\\\\b","name":"keyword.control.$1.smalltalk"},{"match":"/^:\\\\w*\\\\s*\\\\|/","name":"constant.other.block.smalltalk"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.smalltalk"},"2":{"patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.other.local.smalltalk"}]},"3":{"name":"punctuation.definition.variable.end.smalltalk"}},"match":"(\\\\|)(\\\\s*[A-Z_a-z][0-9A-Z_a-z]*(?:\\\\s+[A-Z_a-z][0-9A-Z_a-z]*)*\\\\s*)(\\\\|)"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.smalltalk"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.block.end.smalltalk"}},"name":"meta.block.smalltalk","patterns":[{"captures":{"1":{"patterns":[{"match":":[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.parameter.block.smalltalk"}]},"2":{"name":"punctuation.separator.arguments.block.smalltalk"}},"match":"((?:\\\\s*:[A-Z_a-z][0-9A-Z_a-z]*)+)\\\\s*(\\\\|)","name":"meta.block.arguments.smalltalk"},{"include":"$self"}]},{"include":"#numeric"},{"match":";","name":"punctuation.separator.cascade.smalltalk"},{"match":"\\\\.","name":"punctuation.terminator.statement.smalltalk"},{"match":":=","name":"keyword.operator.assignment.smalltalk"},{"match":"<(?![<=])|>(?![<=>])|<=|>=|==??|~=|~~|>>","name":"keyword.operator.comparison.smalltalk"},{"match":"([-*+/\\\\\\\\])","name":"keyword.operator.arithmetic.smalltalk"},{"match":"(?<=[\\\\t ])!+|\\\\bnot\\\\b|&|\\\\band\\\\b|\\\\||\\\\bor\\\\b","name":"keyword.operator.logical.smalltalk"},{"match":"->|[,@]","name":"keyword.operator.misc.smalltalk"},{"match":"(?(?![<=>])|<=|>=|==??|~=|~~|>>\\\",\\\"name\\\":\\\"keyword.operator.comparison.smalltalk\\\"},{\\\"match\\\":\\\"([-*+/\\\\\\\\\\\\\\\\])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.smalltalk\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\t ])!+|\\\\\\\\bnot\\\\\\\\b|&|\\\\\\\\band\\\\\\\\b|\\\\\\\\||\\\\\\\\bor\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.smalltalk\\\"},{\\\"match\\\":\\\"->|[,@]\\\",\\\"name\\\":\\\"keyword.operator.misc.smalltalk\\\"},{\\\"match\\\":\\\"(?]))\\\\s*","name":"variable.declaration.hcl"},"attribute_splat":{"begin":"\\\\.","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"begin":"(\\\\w[-\\\\w]*)([-\\"\\\\s\\\\w]*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"match":"\\\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\\\b","name":"entity.name.type.terraform"},{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"entity.name.type.hcl"}]},"2":{"patterns":[{"match":"[-\\"\\\\w]+","name":"variable.other.enummember.hcl"}]},"3":{"name":"punctuation.section.block.begin.hcl"},"5":{"name":"punctuation.section.block.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}},"name":"meta.block.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}]},"block_inline_comments":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"\\\\*/","name":"comment.block.hcl"},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"match":"\\\\*","name":"keyword.operator.splat.hcl"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"char_escapes":{"match":"\\\\\\\\(?:[\\"\\\\\\\\nrt]|u(\\\\h{8}|\\\\h{4}))","name":"constant.character.escape.hcl"},"comma":{"match":",","name":"punctuation.separator.hcl"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"begin":"//","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.double-slash.hcl"},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.operator.word.hcl"},{"match":"\\\\bif\\\\b","name":"keyword.control.conditional.hcl"},{"match":":","name":"keyword.operator.hcl"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"begin":"([-:\\\\w]+)(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"\\\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnets??|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\\\b","name":"support.function.builtin.terraform"},{"match":"\\\\bprovider::\\\\p{alpha}[-_\\\\w]*::\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.provider.terraform"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"name":"meta.function-call.hcl","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}]},"hash_line_comments":{"begin":"#","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.number-sign.hcl"},"hcl_type_keywords":{"match":"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b","name":"storage.type.hcl"},"heredoc":{"begin":"(<<-?)\\\\s*(\\\\w+)\\\\s*$","beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"end":"^\\\\s*\\\\2\\\\s*$","endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}},"name":"string.unquoted.heredoc.hcl","patterns":[{"include":"#string_interpolation"}]},"inline_for_expression":{"captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]}},"match":"(for)\\\\b(.*)\\\\n"},"inline_if_expression":{"begin":"(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}},"end":"\\\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"language_constants":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hcl"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"variable.other.readwrite.hcl"},"named_value_references":{"match":"\\\\b(var|local|module|data|path|terraform)\\\\b","name":"variable.other.readwrite.terraform"},"numeric_literals":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+([Ee][-+]?)\\\\d+\\\\b","name":"constant.numeric.float.hcl"},{"captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][-+]?)\\\\d+)?\\\\b","name":"constant.numeric.float.hcl"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.hcl"}]},"object_for_expression":{"begin":"(\\\\{)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"name":"meta.braces.hcl","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"match":"=>","name":"storage.type.function.hcl"}]}},"match":"\\\\b((?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*)\\\\s*(=>?)\\\\s*"},{"captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}},"match":"\\\\b((\\").*(\\"))\\\\s*(=)\\\\s*"},{"begin":"^\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"(\\\\))\\\\s*([:=])\\\\s*","endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}},"name":"meta.mapping.key.hcl","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}]},{"include":"#object_key_values"}]},"operators":{"patterns":[{"match":">=","name":"keyword.operator.hcl"},{"match":"<=","name":"keyword.operator.hcl"},{"match":"==","name":"keyword.operator.hcl"},{"match":"!=","name":"keyword.operator.hcl"},{"match":"\\\\+","name":"keyword.operator.arithmetic.hcl"},{"match":"-","name":"keyword.operator.arithmetic.hcl"},{"match":"\\\\*","name":"keyword.operator.arithmetic.hcl"},{"match":"/","name":"keyword.operator.arithmetic.hcl"},{"match":"%","name":"keyword.operator.arithmetic.hcl"},{"match":"&&","name":"keyword.operator.logical.hcl"},{"match":"\\\\|\\\\|","name":"keyword.operator.logical.hcl"},{"match":"!","name":"keyword.operator.logical.hcl"},{"match":">","name":"keyword.operator.hcl"},{"match":"<","name":"keyword.operator.hcl"},{"match":"\\\\?","name":"keyword.operator.hcl"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.hcl"},{"match":":","name":"keyword.operator.hcl"},{"match":"=>","name":"keyword.operator.hcl"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"string_interpolation":{"begin":"(?]))\\\\\\\\s*\\\",\\\"name\\\":\\\"variable.declaration.hcl\\\"},\\\"attribute_splat\\\":{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.accessor.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.splat.hcl\\\"}}},\\\"block\\\":{\\\"begin\\\":\\\"(\\\\\\\\w[-\\\\\\\\w]*)([-\\\\\\\"\\\\\\\\s\\\\\\\\w]*)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.terraform\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?!null|false|true)\\\\\\\\p{alpha}[-_[:alnum:]]*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.hcl\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[-\\\\\\\"\\\\\\\\w]+\\\",\\\"name\\\":\\\"variable.other.enummember.hcl\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.hcl\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.hcl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.hcl\\\"}},\\\"name\\\":\\\"meta.block.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#attribute_definition\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#expressions\\\"}]},\\\"block_inline_comments\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.hcl\\\"},\\\"brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.begin.hcl\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.end.hcl\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.splat.hcl\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#inline_for_expression\\\"},{\\\"include\\\":\\\"#inline_if_expression\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#local_identifiers\\\"}]},\\\"char_escapes\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"\\\\\\\\\\\\\\\\nrt]|u(\\\\\\\\h{8}|\\\\\\\\h{4}))\\\",\\\"name\\\":\\\"constant.character.escape.hcl\\\"},\\\"comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.hcl\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#hash_line_comments\\\"},{\\\"include\\\":\\\"#double_slash_line_comments\\\"},{\\\"include\\\":\\\"#block_inline_comments\\\"}]},\\\"double_slash_line_comments\\\":{\\\"begin\\\":\\\"//\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hcl\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.hcl\\\"},\\\"expressions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal_values\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#tuple_for_expression\\\"},{\\\"include\\\":\\\"#object_for_expression\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#objects\\\"},{\\\"include\\\":\\\"#attribute_access\\\"},{\\\"include\\\":\\\"#attribute_splat\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#parens\\\"}]},\\\"for_expression_body\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\bif\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.conditional.hcl\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#local_identifiers\\\"}]},\\\"functions\\\":{\\\"begin\\\":\\\"([-:\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnets??|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin.terraform\\\"},{\\\"match\\\":\\\"\\\\\\\\bprovider::\\\\\\\\p{alpha}[-_\\\\\\\\w]*::\\\\\\\\p{alpha}[-_\\\\\\\\w]*\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.provider.terraform\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.hcl\\\"}},\\\"name\\\":\\\"meta.function-call.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"hash_line_comments\\\":{\\\"begin\\\":\\\"#\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hcl\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.hcl\\\"},\\\"hcl_type_keywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.hcl\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"(<<-?)\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.heredoc.hcl\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.heredoc.hcl\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]},\\\"inline_for_expression\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.hcl\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"storage.type.function.hcl\\\"},{\\\"include\\\":\\\"#for_expression_body\\\"}]}},\\\"match\\\":\\\"(for)\\\\\\\\b(.*)\\\\\\\\n\\\"},\\\"inline_if_expression\\\":{\\\"begin\\\":\\\"(if)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#local_identifiers\\\"}]},\\\"language_constants\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.hcl\\\"},\\\"literal_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric_literals\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#string_literals\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#hcl_type_keywords\\\"},{\\\"include\\\":\\\"#named_value_references\\\"}]},\\\"local_identifiers\\\":{\\\"match\\\":\\\"\\\\\\\\b(?!null|false|true)\\\\\\\\p{alpha}[-_[:alnum:]]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.hcl\\\"},\\\"named_value_references\\\":{\\\"match\\\":\\\"\\\\\\\\b(var|local|module|data|path|terraform)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.terraform\\\"},\\\"numeric_literals\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.exponent.hcl\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+([Ee][-+]?)\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hcl\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.exponent.hcl\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+(\\\\\\\\.)\\\\\\\\d+(?:([Ee][-+]?)\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hcl\\\"}]},\\\"object_for_expression\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s?(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.hcl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.hcl\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"storage.type.function.hcl\\\"},{\\\"include\\\":\\\"#for_expression_body\\\"}]},\\\"object_key_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#literal_values\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#tuple_for_expression\\\"},{\\\"include\\\":\\\"#object_for_expression\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#functions\\\"}]},\\\"objects\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.hcl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.hcl\\\"}},\\\"name\\\":\\\"meta.braces.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#objects\\\"},{\\\"include\\\":\\\"#inline_for_expression\\\"},{\\\"include\\\":\\\"#inline_if_expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.mapping.key.hcl variable.other.readwrite.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.hcl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"storage.type.function.hcl\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b((?!null|false|true)\\\\\\\\p{alpha}[-_[:alnum:]]*)\\\\\\\\s*(=>?)\\\\\\\\s*\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#named_value_references\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"meta.mapping.key.hcl string.quoted.double.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.hcl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.hcl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.hcl\\\"}},\\\"match\\\":\\\"\\\\\\\\b((\\\\\\\").*(\\\\\\\"))\\\\\\\\s*(=)\\\\\\\\s*\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.hcl\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*([:=])\\\\\\\\s*\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.hcl\\\"}},\\\"name\\\":\\\"meta.mapping.key.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named_value_references\\\"},{\\\"include\\\":\\\"#attribute_access\\\"}]},{\\\"include\\\":\\\"#object_key_values\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\">=\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"<=\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"==\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"!=\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"-\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"&&\\\",\\\"name\\\":\\\"keyword.operator.logical.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.hcl\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.logical.hcl\\\"},{\\\"match\\\":\\\">\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.hcl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expressions\\\"}]},\\\"string_interpolation\\\":{\\\"begin\\\":\\\"(?","beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},"end":",|(?=})","patterns":[{"include":"#code"}]}]},"butExp":{"patterns":[{"begin":"\\\\bbut\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"include":"#butExpBody"},{"include":"#comment"}]}]},"butExpBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"end":"(?=})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"include":"#parameter"},{"include":"#butClause"},{"include":"#comment"}]}]},"call":{"patterns":[{"match":"\'?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=\\\\()","name":"entity.name.function.ballerina"}]},"callableUnitBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"(?=})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#workerDef"},{"include":"#service-decl"},{"include":"#objectDec"},{"include":"#function-defn"},{"include":"#forkStatement"},{"include":"#code"}]}]},"class-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"name":"meta.class.body.ballerina","patterns":[{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#function-defn"},{"include":"#var-expr"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#keywords"},{"begin":"(?<=:)\\\\s*","end":"(?=[-\\\\])+,:;}\\\\s]|^\\\\s*$|^\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\b)"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-defn":{"begin":"(\\\\s+)(class)\\\\b|^class\\\\b(?=\\\\s+|/[*/])","beginCaptures":{"0":{"name":"storage.type.class.ballerina keyword.other.ballerina"}},"end":"(?<=})","name":"meta.class.ballerina","patterns":[{"include":"#keywords"},{"captures":{"0":{"name":"entity.name.type.class.ballerina"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#class-body"}]},"code":{"patterns":[{"include":"#booleans"},{"include":"#matchStatement"},{"include":"#butExp"},{"include":"#xml"},{"include":"#stringTemplate"},{"include":"#keywords"},{"include":"#strings"},{"include":"#comment"},{"include":"#mdDocumentation"},{"include":"#annotationAttachment"},{"include":"#numbers"},{"include":"#maps"},{"include":"#paranthesised"},{"include":"#paranthesisedBracket"},{"include":"#regex"}]},"comment":{"patterns":[{"match":"//.*","name":"comment.ballerina"}]},"constrainType":{"patterns":[{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}},"patterns":[{"include":"#comment"},{"include":"#constrainType"},{"match":"\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\b","name":"storage.type.ballerina"}]}]},"control-statement":{"patterns":[{"begin":"(?)","patterns":[{"include":"#code"}]}]},"expression":{"patterns":[{"include":"#keywords"},{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#regex"}]},"expression-operators":{"patterns":[{"match":"(?:\\\\*|(?>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ballerina"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ballerina"},{"match":"[!=]==?","name":"keyword.operator.comparison.ballerina"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ballerina"},{"captures":{"1":{"name":"keyword.operator.logical.ballerina"},"2":{"name":"keyword.operator.assignment.compound.ballerina"},"3":{"name":"keyword.operator.arithmetic.ballerina"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.ballerina"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ballerina"},{"match":"=","name":"keyword.operator.assignment.ballerina"},{"match":"--","name":"keyword.operator.decrement.ballerina"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ballerina"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ballerina"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#xml"},{"include":"#string"},{"include":"#stringTemplate"},{"include":"#comment"},{"include":"#object-literal"},{"include":"#ternary-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#paranthesised"},{"include":"#regex"}]},"flags-on-off":{"name":"meta.flags.regexp.ballerina","patterns":[{"begin":"(\\\\??)([imsx]*)(-?)([imsx]*)(:)","beginCaptures":{"1":{"name":"punctuation.other.non-capturing-group-begin.regexp.ballerina"},"2":{"name":"keyword.other.non-capturing-group.flags-on.regexp.ballerina"},"3":{"name":"punctuation.other.non-capturing-group.off.regexp.ballerina"},"4":{"name":"keyword.other.non-capturing-group.flags-off.regexp.ballerina"},"5":{"name":"punctuation.other.non-capturing-group-end.regexp.ballerina"}},"end":"()","name":"constant.other.flag.regexp.ballerina","patterns":[{"include":"#regexp"},{"include":"#template-substitution-element"}]}]},"for-loop":{"begin":"(?","beginCaptures":{"0":{"name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"}},"end":"(?=;)|(?=,)|(?=\\\\);)","name":"meta.block.ballerina","patterns":[{"include":"#natural-expr"},{"include":"#statements"},{"include":"#punctuation-comma"}]},{"match":"\\\\*","name":"keyword.generator.asterisk.ballerina"}]},"function-defn":{"begin":"(?:(p(?:ublic|rivate))\\\\s+)?(function)\\\\b","beginCaptures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"keyword.other.ballerina"}},"end":"(?<=;)|(?<=})|(?<=,)|(?=\\\\);)","name":"meta.function.ballerina","patterns":[{"match":"\\\\bexternal\\\\b","name":"keyword.ballerina"},{"include":"#stringTemplate"},{"include":"#annotationAttachment"},{"include":"#functionReturns"},{"include":"#functionName"},{"include":"#functionParameters"},{"include":"#punctuation-semicolon"},{"include":"#function-body"},{"include":"#regex"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#numbers"},{"include":"#string"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#keywords"},{"include":"#parameter-name"},{"include":"#array-literal"},{"include":"#variable-initializer"},{"include":"#identifiers"},{"include":"#regex"},{"match":",","name":"punctuation.separator.parameter.ballerina"}]},"functionName":{"patterns":[{"match":"\\\\bfunction\\\\b","name":"keyword.other.ballerina"},{"include":"#type-primitive"},{"include":"#self-literal"},{"include":"#string"},{"captures":{"2":{"name":"variable.language.this.ballerina"},"3":{"name":"keyword.other.ballerina"},"4":{"name":"support.type.primitive.ballerina"},"5":{"name":"storage.type.ballerina"},"6":{"name":"meta.definition.function.ballerina entity.name.function.ballerina"}},"match":"\\\\s+(\\\\b(self)|\\\\b(is|new|isolated|null|function|in)\\\\b|(string|int|boolean|float|byte|decimal|json|xml|anydata)\\\\b|\\\\b(readonly|error|map)\\\\b|([$_[:alpha:]][$_[:alnum:]]*))"}]},"functionParameters":{"begin":"[(\\\\[]","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ballerina"}},"end":"[])]","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ballerina"}},"name":"meta.parameters.ballerina","patterns":[{"include":"#function-parameters-body"}]},"functionReturns":{"begin":"\\\\s*(returns)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.ballerina"}},"end":"(?==>)|(=)|(?=\\\\{)|(\\\\))|(?=;)","endCaptures":{"1":{"name":"keyword.operator.ballerina"}},"name":"meta.type.function.return.ballerina","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"},{"include":"#type-primitive"},{"captures":{"1":{"name":"support.type.primitive.ballerina"}},"match":"\\\\s*\\\\b(var)(?=\\\\s+|[?\\\\[])"},{"match":"\\\\|","name":"keyword.operator.ballerina"},{"match":"\\\\?","name":"keyword.operator.optional.ballerina"},{"include":"#type-annotation"},{"include":"#type-tuple"},{"include":"#keywords"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ballerina"}]},"functionType":{"patterns":[{"begin":"\\\\bfunction\\\\b","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"(?=,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))|(?=])","patterns":[{"include":"#comment"},{"include":"#functionTypeParamList"},{"include":"#functionTypeReturns"}]}]},"functionTypeParamList":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"delimiter.parenthesis"}},"end":"\\\\)","endCaptures":{"0":{"name":"delimiter.parenthesis"}},"patterns":[{"match":"public","name":"keyword"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#parameterTuple"},{"include":"#functionTypeType"},{"include":"#comment"}]}]},"functionTypeReturns":{"patterns":[{"begin":"\\\\breturns\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=,)|\\\\||(?=])|(?=\\\\))","patterns":[{"include":"#functionTypeReturnsParameter"},{"include":"#comment"}]}]},"functionTypeReturnsParameter":{"patterns":[{"begin":"((?=record|object|function)|[$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?=,)|[:|]|(?==>)|(?=\\\\))|(?=])","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"default.variable.parameter.ballerina"}]}]},"functionTypeType":{"patterns":[{"begin":"[$_[:alpha:]][$_[:alnum:]]*","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?=,)|\\\\||(?=])|(?=\\\\))"}]},"identifiers":{"patterns":[{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}},"match":"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((((<\\\\s*)$|((<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"entity.name.function.ballerina"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=\\\\()"},{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"},"3":{"name":"variable.other.property.ballerina"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#type-primitive"},{"include":"#self-literal"},{"match":"\\\\b(check|foreach|if|checkpanic)\\\\b","name":"keyword.control.ballerina"},{"include":"#natural-expr"},{"include":"#call"},{"match":"\\\\b(var)\\\\b","name":"support.type.primitive.ballerina"},{"captures":{"1":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"punctuation.accessor.ballerina"},"4":{"name":"entity.name.function.ballerina"},"5":{"name":"punctuation.definition.parameters.begin.ballerina"},"6":{"name":"punctuation.definition.parameters.end.ballerina"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)((\\\\.)([$_[:alpha:]][$_[:alnum:]]*)(\\\\()(\\\\)))?"},{"match":"(\')([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.property.ballerina"},{"include":"#type-annotation"}]},"if-statement":{"patterns":[{"begin":"(?)","name":"meta.arrow.ballerina storage.type.function.arrow.ballerina"},{"match":"([-!%+]|~=|===?|=|!==??|[\\\\&<>|]|\\\\?:|\\\\.\\\\.\\\\.|<=|>=|&&|\\\\|\\\\||~|>>>??)","name":"keyword.operator.ballerina"},{"include":"#types"},{"include":"#self-literal"},{"include":"#type-primitive"}]},"literal":{"patterns":[{"include":"#booleans"},{"include":"#numbers"},{"include":"#strings"},{"include":"#maps"},{"include":"#self-literal"},{"include":"#array-literal"}]},"maps":{"patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#code"}]}]},"matchBindingPattern":{"patterns":[{"begin":"var","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"(?==>)|,","patterns":[{"include":"#errorDestructure"},{"include":"#code"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.parameter.ballerina"}]}]},"matchStatement":{"patterns":[{"begin":"\\\\bmatch\\\\b","beginCaptures":{"0":{"name":"keyword.control.ballerina"}},"end":"}","patterns":[{"include":"#matchStatementBody"},{"include":"#comment"},{"include":"#code"}]}]},"matchStatementBody":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"end":"(?=})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina.documentation"}},"patterns":[{"include":"#literal"},{"include":"#matchBindingPattern"},{"include":"#matchStatementPatternClause"},{"include":"#comment"},{"include":"#code"}]}]},"matchStatementPatternClause":{"patterns":[{"begin":"=>","beginCaptures":{"0":{"name":"keyword.ballerina"}},"end":"((})|[,;])","patterns":[{"include":"#callableUnitBody"},{"include":"#code"}]}]},"mdDocumentation":{"begin":"#","end":"[\\\\n\\\\r]+","name":"comment.mddocs.ballerina","patterns":[{"include":"#mdDocumentationReturnParamDescription"},{"include":"#mdDocumentationParamDescription"}]},"mdDocumentationParamDescription":{"patterns":[{"begin":"(\\\\+\\\\s+)(\'?[$_[:alpha:]][$_[:alnum:]]*)(\\\\s*-\\\\s+)","beginCaptures":{"1":{"name":"keyword.operator.ballerina"},"2":{"name":"variable.other.readwrite.ballerina"},"3":{"name":"keyword.operator.ballerina"}},"end":"(?=[^\\\\n\\\\r#]|# *?\\\\+)","patterns":[{"match":"#.*","name":"comment.mddocs.paramdesc.ballerina"}]}]},"mdDocumentationReturnParamDescription":{"patterns":[{"begin":"(#) *?(\\\\+) *(return) *(-)?(.*)","beginCaptures":{"1":{"name":"comment.mddocs.ballerina"},"2":{"name":"keyword.ballerina"},"3":{"name":"keyword.ballerina"},"4":{"name":"keyword.ballerina"},"5":{"name":"comment.mddocs.returnparamdesc.ballerina"}},"end":"(?=[^\\\\n\\\\r#]|# *?\\\\+)","patterns":[{"match":"#.*","name":"comment.mddocs.returnparamdesc.ballerina"}]}]},"multiType":{"patterns":[{"match":"(?<=\\\\|)([$_[:alpha:]][$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\|)","name":"storage.type.ballerina"},{"match":"\\\\|","name":"keyword.operator.ballerina"}]},"natural-expr":{"patterns":[{"begin":"natural","beginCaptures":{"0":{"name":"keyword.other.ballerina"}},"end":"(?=})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#natural-expr-body"}]}]},"natural-expr-body":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"contentName":"string.template.ballerina","end":"(?=})","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"},{"include":"#templateVariable"}]}]},"numbers":{"patterns":[{"match":"\\\\b(?:0[Xx][A-Fa-f\\\\d]+\\\\b|\\\\d+(?:\\\\.(?:\\\\d+|$))?)","name":"constant.numeric.decimal.ballerina"}]},"object-literal":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"name":"meta.objectliteral.ballerina","patterns":[{"include":"#object-member"},{"include":"#punctuation-comma"}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#function-defn"},{"include":"#literal"},{"include":"#keywords"},{"include":"#expression"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.ballerina meta.object-literal.key.ballerina","patterns":[{"include":"#comment"}]},{"begin":"(?=[\\"\'`])","end":"(?=:)|((?<=[\\"\'`])(?=((\\\\s*[(,<}])|(\\\\n*})|(\\\\s+(as)\\\\s+))))","name":"meta.object.member.ballerina meta.object-literal.key.ballerina","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?)))|((((<\\\\s*)$|((<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.ballerina"},{"captures":{"0":{"name":"meta.object-literal.key.ballerina"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.ballerina"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ballerina"}},"end":"(?=[,}])","name":"meta.object.member.ballerina","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ballerina"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.ballerina"},{"captures":{"1":{"name":"keyword.control.as.ballerina"},"2":{"name":"storage.modifier.ballerina"}},"match":"(??}]|\\\\|\\\\||&&|!==|$|^|((?)|(?=\\\\))|(?=])","patterns":[{"include":"#parameterWithDescriptor"},{"include":"#record"},{"include":"#objectDec"},{"include":"#functionType"},{"include":"#constrainType"},{"include":"#defaultValue"},{"include":"#comment"},{"include":"#parameterTuple"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"default.variable.parameter.ballerina"}]}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"support.type.primitive.ballerina"}},"match":"\\\\s*\\\\b(var)\\\\s+"},{"captures":{"2":{"name":"keyword.operator.rest.ballerina"},"3":{"name":"support.type.primitive.ballerina"},"4":{"name":"keyword.other.ballerina"},"5":{"name":"constant.language.boolean.ballerina"},"6":{"name":"keyword.control.flow.ballerina"},"7":{"name":"storage.type.ballerina"},"8":{"name":"variable.parameter.ballerina"},"9":{"name":"variable.parameter.ballerina"},"10":{"name":"keyword.operator.optional.ballerina"}},"match":"(?:(?)|(?=\\\\))","patterns":[{"include":"#record"},{"include":"#objectDec"},{"include":"#parameterTupleType"},{"include":"#parameterTupleEnd"},{"include":"#comment"}]}]},"parameterTupleEnd":{"patterns":[{"begin":"]","end":"(?=,)|(?=\\\\|)|(?=:)|(?==>)|(?=\\\\))","patterns":[{"include":"#defaultWithParentheses"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"default.variable.parameter.ballerina"}]}]},"parameterTupleType":{"patterns":[{"begin":"[$_[:alpha:]][$_[:alnum:]]*","beginCaptures":{"0":{"name":"storage.type.ballerina"}},"end":"[,|]|(?=])"}]},"parameterWithDescriptor":{"patterns":[{"begin":"&","beginCaptures":{"0":{"name":"keyword.operator.ballerina"}},"end":"(?=,)|(?=\\\\|)|(?=\\\\))","patterns":[{"include":"#parameter"}]}]},"parameters":{"patterns":[{"match":"\\\\s*(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\b","name":"keyword.control.flow.ballerina"},{"match":"\\\\s*(let|select)\\\\b","name":"keyword.other.ballerina"},{"match":",","name":"punctuation.separator.parameter.ballerina"}]},"paranthesised":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ballerina"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ballerina"}},"name":"meta.brace.round.block.ballerina","patterns":[{"include":"#self-literal"},{"include":"#function-defn"},{"include":"#decl-block"},{"include":"#comment"},{"include":"#string"},{"include":"#parameters"},{"include":"#annotationAttachment"},{"include":"#recordLiteral"},{"include":"#stringTemplate"},{"include":"#parameter-name"},{"include":"#variable-initializer"},{"include":"#expression"},{"include":"#regex"}]},"paranthesisedBracket":{"patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#comment"},{"include":"#code"}]}]},"punctuation-accessor":{"patterns":[{"captures":{"1":{"name":"punctuation.accessor.ballerina"},"2":{"name":"punctuation.accessor.optional.ballerina"}},"match":"(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d))"}]},"punctuation-comma":{"patterns":[{"match":",","name":"punctuation.separator.comma.ballerina"}]},"punctuation-semicolon":{"patterns":[{"match":";","name":"punctuation.terminator.statement.ballerina"}]},"record":{"begin":"\\\\brecord\\\\b","beginCaptures":{"0":{"name":"keyword.other.ballerina"}},"end":"(?<=})","name":"meta.record.ballerina","patterns":[{"include":"#recordBody"}]},"recordBody":{"patterns":[{"include":"#decl-block"}]},"recordLiteral":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ballerina"}},"patterns":[{"include":"#code"}]}]},"regex":{"patterns":[{"begin":"\\\\b(re)(\\\\s*)(`)","beginCaptures":{"1":{"name":"support.type.primitive.ballerina"},"3":{"name":"punctuation.definition.regexp.template.begin.ballerina"}},"end":"`","endCaptures":{"1":{"name":"punctuation.definition.regexp.template.end.ballerina"}},"name":"regexp.template.ballerina","patterns":[{"include":"#template-substitution-element"},{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\\\\\[DSWdnrstw]|\\\\.","name":"keyword.other.character-class.regexp.ballerina"},{"match":"\\\\\\\\[^Ppu]","name":"constant.character.escape.backslash.regexp"}]},"regex-unicode-properties-general-category":{"patterns":[{"match":"(Lu|Ll|Lt|Lm|Lo?|Mn|Mc|Me?|Nd|Nl|No?|Pc|Pd|Ps|Pe|Pi|Pf|Po?|Sm|Sc|Sk|So?|Zs|Zl|Zp?|Cf|Cc|Cn|Co?)","name":"constant.other.unicode-property-general-category.regexp.ballerina"}]},"regex-unicode-property-key":{"patterns":[{"begin":"([gs]c=)","beginCaptures":{"1":{"name":"keyword.other.unicode-property-key.regexp.ballerina"}},"end":"()","endCaptures":{"1":{"name":"punctuation.other.unicode-property.end.regexp.ballerina"}},"name":"keyword.other.unicode-property-key.regexp.ballerina","patterns":[{"include":"#regex-unicode-properties-general-category"}]}]},"regexp":{"patterns":[{"match":"[$^]","name":"keyword.control.assertion.regexp.ballerina"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp.ballerina"},{"match":"\\\\|","name":"keyword.operator.or.regexp.ballerina"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp.ballerina"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp.ballerina"}},"name":"meta.group.assertion.regexp.ballerina","patterns":[{"include":"#template-substitution-element"},{"include":"#regexp"},{"include":"#flags-on-off"},{"include":"#unicode-property-escape"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.start.regexp.ballerina"},"2":{"name":"keyword.operator.negation.regexp.ballerina"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.end.regexp.ballerina"}},"name":"constant.other.character-class.set.regexp.ballerina","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.escape.backslash.regexp"},"3":{"name":"constant.character.numeric.regexp"},"4":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\[^Ppu]))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\[^Ppu]))","name":"constant.other.character-class.range.regexp.ballerina"},{"include":"#regex-character-class"},{"include":"#unicode-values"},{"include":"#unicode-property-escape"}]},{"include":"#template-substitution-element"},{"include":"#regex-character-class"},{"include":"#unicode-values"},{"include":"#unicode-property-escape"}]},"self-literal":{"patterns":[{"captures":{"1":{"name":"variable.language.this.ballerina"},"2":{"name":"punctuation.accessor.ballerina"},"3":{"name":"entity.name.function.ballerina"}},"match":"\\\\b(self)\\\\b\\\\s*(.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=\\\\()"},{"match":"(??}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))(\\\\?)?","name":"meta.type.annotation.ballerina","patterns":[{"include":"#booleans"},{"include":"#stringTemplate"},{"include":"#regex"},{"include":"#self-literal"},{"include":"#xml"},{"include":"#call"},{"captures":{"1":{"name":"keyword.other.ballerina"},"2":{"name":"constant.language.boolean.ballerina"},"3":{"name":"keyword.control.ballerina"},"4":{"name":"storage.type.ballerina"},"5":{"name":"support.type.primitive.ballerina"},"6":{"name":"variable.other.readwrite.ballerina"},"8":{"name":"punctuation.accessor.ballerina"},"9":{"name":"entity.name.function.ballerina"},"10":{"name":"punctuation.definition.parameters.begin.ballerina"},"11":{"name":"punctuation.definition.parameters.end.ballerina"}},"match":"\\\\b(is|new|isolated|null|function|in)\\\\b|\\\\b(true|false)\\\\b|\\\\b(check|foreach|if|checkpanic)\\\\b|\\\\b(readonly|error|map)\\\\b|\\\\b(var)\\\\b|([$_[:alpha:]][$_[:alnum:]]*)((\\\\.)([$_[:alpha:]][$_[:alnum:]]*)(\\\\()(\\\\)))?"},{"match":"\\\\?","name":"keyword.operator.optional.ballerina"},{"include":"#multiType"},{"include":"#type"},{"include":"#paranthesised"}]}]},"type-primitive":{"patterns":[{"match":"(?|])","beginCaptures":{"2":{"name":"support.type.primitive.ballerina"},"3":{"name":"storage.type.ballerina"},"4":{"name":"meta.definition.variable.ballerina variable.other.readwrite.ballerina"}},"end":"(?=$|^|[,;=}])","endCaptures":{"0":{"name":"punctuation.terminator.statement.ballerina"}},"name":"meta.var-single-variable.expr.ballerina","patterns":[{"include":"#call"},{"include":"#self-literal"},{"include":"#if-statement"},{"include":"#string"},{"include":"#numbers"},{"include":"#keywords"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.ballerina variable.other.readwrite.ballerina"},"2":{"name":"keyword.operator.definiteassignment.ballerina"}},"end":"(?=$|^|[,;=}]|((?])(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ballerina"}},"end":"(?=$|[]),;}])","patterns":[{"match":"(\')([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.property.ballerina"},{"include":"#xml"},{"include":"#function-defn"},{"include":"#expression"},{"include":"#punctuation-accessor"},{"include":"#regex"}]},{"begin":"(?])","beginCaptures":{"1":{"name":"keyword.operator.assignment.ballerina"}},"end":"(?=[]),;}]|((?","endCaptures":{"0":{"name":"comment.block.xml.ballerina"}},"name":"comment.block.xml.ballerina"}]},"xmlDoubleQuotedString":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"string.begin.ballerina"}},"end":"\\"","endCaptures":{"0":{"name":"string.end.ballerina"}},"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ballerina"},{"match":".","name":"string"}]}]},"xmlSingleQuotedString":{"patterns":[{"begin":"\'","beginCaptures":{"0":{"name":"string.begin.ballerina"}},"end":"\'","endCaptures":{"0":{"name":"string.end.ballerina"}},"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ballerina"},{"match":".","name":"string"}]}]},"xmlTag":{"patterns":[{"begin":"(","endCaptures":{"0":{"name":"punctuation.definition.tag.end.xml.ballerina"}},"patterns":[{"include":"#xmlSingleQuotedString"},{"include":"#xmlDoubleQuotedString"},{"match":"xmlns","name":"keyword.other.ballerina"},{"match":"([-0-9A-Za-z]+)","name":"entity.other.attribute-name.xml.ballerina"}]}]}},"scopeName":"source.ballerina"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BFfxhgS-.js.map diff --git a/src/webview-ui/build/assets/chunk-BFfxhgS-.js.map b/src/webview-ui/build/assets/chunk-BFfxhgS-.js.map new file mode 100644 index 0000000000..98030d9d92 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BFfxhgS-.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BFfxhgS-.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ballerina.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Ballerina\\\",\\\"fileTypes\\\":[\\\"bal\\\"],\\\"name\\\":\\\"ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.arrow.ballerina storage.type.function.arrow.ballerina\\\"}},\\\"end\\\":\\\",|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"butExp\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bbut\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ballerina\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina.documentation\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#butExpBody\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"butExpBody\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina.documentation\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina.documentation\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"#butClause\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"call\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"'?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.ballerina\\\"}]},\\\"callableUnitBody\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#workerDef\\\"},{\\\"include\\\":\\\"#service-decl\\\"},{\\\"include\\\":\\\"#objectDec\\\"},{\\\"include\\\":\\\"#function-defn\\\"},{\\\"include\\\":\\\"#forkStatement\\\"},{\\\"include\\\":\\\"#code\\\"}]}]},\\\"class-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"name\\\":\\\"meta.class.body.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#mdDocumentation\\\"},{\\\"include\\\":\\\"#function-defn\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|class|const|declare|enum|export|function|import|interface|let|module|namespace|return|service|type|var)\\\\\\\\b)\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-defn\\\":{\\\"begin\\\":\\\"(\\\\\\\\s+)(class)\\\\\\\\b|^class\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.class.ballerina keyword.other.ballerina\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.ballerina\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#class-body\\\"}]},\\\"code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#booleans\\\"},{\\\"include\\\":\\\"#matchStatement\\\"},{\\\"include\\\":\\\"#butExp\\\"},{\\\"include\\\":\\\"#xml\\\"},{\\\"include\\\":\\\"#stringTemplate\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#mdDocumentation\\\"},{\\\"include\\\":\\\"#annotationAttachment\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#maps\\\"},{\\\"include\\\":\\\"#paranthesised\\\"},{\\\"include\\\":\\\"#paranthesisedBracket\\\"},{\\\"include\\\":\\\"#regex\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"//.*\\\",\\\"name\\\":\\\"comment.ballerina\\\"}]},\\\"constrainType\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ballerina\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ballerina\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#constrainType\\\"},{\\\"match\\\":\\\"\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.ballerina\\\"}]}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#regex\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:\\\\\\\\*|(?>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ballerina\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ballerina\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ballerina\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ballerina\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ballerina\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ballerina\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ballerina\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ballerina\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ballerina\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ballerina\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ballerina\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#xml\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#stringTemplate\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#paranthesised\\\"},{\\\"include\\\":\\\"#regex\\\"}]},\\\"flags-on-off\\\":{\\\"name\\\":\\\"meta.flags.regexp.ballerina\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\??)([imsx]*)(-?)([imsx]*)(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.other.non-capturing-group-begin.regexp.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.non-capturing-group.flags-on.regexp.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.other.non-capturing-group.off.regexp.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.non-capturing-group.flags-off.regexp.ballerina\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.other.non-capturing-group-end.regexp.ballerina\\\"}},\\\"end\\\":\\\"()\\\",\\\"name\\\":\\\"constant.other.flag.regexp.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#template-substitution-element\\\"}]}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.arrow.ballerina storage.type.function.arrow.ballerina\\\"}},\\\"end\\\":\\\"(?=;)|(?=,)|(?=\\\\\\\\);)\\\",\\\"name\\\":\\\"meta.block.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#natural-expr\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.ballerina\\\"}]},\\\"function-defn\\\":{\\\"begin\\\":\\\"(?:(p(?:ublic|rivate))\\\\\\\\s+)?(function)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"}},\\\"end\\\":\\\"(?<=;)|(?<=})|(?<=,)|(?=\\\\\\\\);)\\\",\\\"name\\\":\\\"meta.function.ballerina\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bexternal\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ballerina\\\"},{\\\"include\\\":\\\"#stringTemplate\\\"},{\\\"include\\\":\\\"#annotationAttachment\\\"},{\\\"include\\\":\\\"#functionReturns\\\"},{\\\"include\\\":\\\"#functionName\\\"},{\\\"include\\\":\\\"#functionParameters\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"include\\\":\\\"#regex\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#annotationAttachment\\\"},{\\\"include\\\":\\\"#recordLiteral\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ballerina\\\"}]},\\\"functionName\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bfunction\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.ballerina\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#self-literal\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"variable.language.this.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.ballerina entity.name.function.ballerina\\\"}},\\\"match\\\":\\\"\\\\\\\\s+(\\\\\\\\b(self)|\\\\\\\\b(is|new|isolated|null|function|in)\\\\\\\\b|(string|int|boolean|float|byte|decimal|json|xml|anydata)\\\\\\\\b|\\\\\\\\b(readonly|error|map)\\\\\\\\b|([$_[:alpha:]][$_[:alnum:]]*))\\\"}]},\\\"functionParameters\\\":{\\\"begin\\\":\\\"[(\\\\\\\\[]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ballerina\\\"}},\\\"end\\\":\\\"[])]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ballerina\\\"}},\\\"name\\\":\\\"meta.parameters.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"functionReturns\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(returns)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"}},\\\"end\\\":\\\"(?==>)|(=)|(?=\\\\\\\\{)|(\\\\\\\\))|(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ballerina\\\"}},\\\"name\\\":\\\"meta.type.function.return.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(var)(?=\\\\\\\\s+|[?\\\\\\\\[])\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.ballerina\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ballerina\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ballerina\\\"}]},\\\"functionType\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bfunction\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ballerina\\\"}},\\\"end\\\":\\\"(?=,)|(?=\\\\\\\\|)|(?=:)|(?==>)|(?=\\\\\\\\))|(?=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#functionTypeParamList\\\"},{\\\"include\\\":\\\"#functionTypeReturns\\\"}]}]},\\\"functionTypeParamList\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"delimiter.parenthesis\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"delimiter.parenthesis\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"public\\\",\\\"name\\\":\\\"keyword\\\"},{\\\"include\\\":\\\"#annotationAttachment\\\"},{\\\"include\\\":\\\"#recordLiteral\\\"},{\\\"include\\\":\\\"#record\\\"},{\\\"include\\\":\\\"#objectDec\\\"},{\\\"include\\\":\\\"#functionType\\\"},{\\\"include\\\":\\\"#constrainType\\\"},{\\\"include\\\":\\\"#parameterTuple\\\"},{\\\"include\\\":\\\"#functionTypeType\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"functionTypeReturns\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\breturns\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"end\\\":\\\"(?=,)|\\\\\\\\||(?=])|(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionTypeReturnsParameter\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"functionTypeReturnsParameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?=record|object|function)|[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"}},\\\"end\\\":\\\"(?=,)|[:|]|(?==>)|(?=\\\\\\\\))|(?=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#record\\\"},{\\\"include\\\":\\\"#objectDec\\\"},{\\\"include\\\":\\\"#functionType\\\"},{\\\"include\\\":\\\"#constrainType\\\"},{\\\"include\\\":\\\"#defaultValue\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parameterTuple\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"default.variable.parameter.ballerina\\\"}]}]},\\\"functionTypeType\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"}},\\\"end\\\":\\\"(?=,)|\\\\\\\\||(?=])|(?=\\\\\\\\))\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ballerina\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*((((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((((<\\\\\\\\s*)$|((<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ballerina\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=\\\\\\\\()\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ballerina\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#self-literal\\\"},{\\\"match\\\":\\\"\\\\\\\\b(check|foreach|if|checkpanic)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.ballerina\\\"},{\\\"include\\\":\\\"#natural-expr\\\"},{\\\"include\\\":\\\"#call\\\"},{\\\"match\\\":\\\"\\\\\\\\b(var)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.primitive.ballerina\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ballerina\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ballerina\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ballerina\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)((\\\\\\\\.)([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\()(\\\\\\\\)))?\\\"},{\\\"match\\\":\\\"(')([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.property.ballerina\\\"},{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?)\\\",\\\"name\\\":\\\"meta.arrow.ballerina storage.type.function.arrow.ballerina\\\"},{\\\"match\\\":\\\"([-!%+]|~=|===?|=|!==??|[\\\\\\\\&<>|]|\\\\\\\\?:|\\\\\\\\.\\\\\\\\.\\\\\\\\.|<=|>=|&&|\\\\\\\\|\\\\\\\\||~|>>>??)\\\",\\\"name\\\":\\\"keyword.operator.ballerina\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#self-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#booleans\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#maps\\\"},{\\\"include\\\":\\\"#self-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},\\\"maps\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"matchBindingPattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"var\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"}},\\\"end\\\":\\\"(?==>)|,\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#errorDestructure\\\"},{\\\"include\\\":\\\"#code\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.parameter.ballerina\\\"}]}]},\\\"matchStatement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bmatch\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ballerina\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#matchStatementBody\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#code\\\"}]}]},\\\"matchStatementBody\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina.documentation\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina.documentation\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#matchBindingPattern\\\"},{\\\"include\\\":\\\"#matchStatementPatternClause\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#code\\\"}]}]},\\\"matchStatementPatternClause\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ballerina\\\"}},\\\"end\\\":\\\"((})|[,;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#callableUnitBody\\\"},{\\\"include\\\":\\\"#code\\\"}]}]},\\\"mdDocumentation\\\":{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"[\\\\\\\\n\\\\\\\\r]+\\\",\\\"name\\\":\\\"comment.mddocs.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mdDocumentationReturnParamDescription\\\"},{\\\"include\\\":\\\"#mdDocumentationParamDescription\\\"}]},\\\"mdDocumentationParamDescription\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\+\\\\\\\\s+)('?[$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*-\\\\\\\\s+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.ballerina\\\"}},\\\"end\\\":\\\"(?=[^\\\\\\\\n\\\\\\\\r#]|# *?\\\\\\\\+)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.mddocs.paramdesc.ballerina\\\"}]}]},\\\"mdDocumentationReturnParamDescription\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(#) *?(\\\\\\\\+) *(return) *(-)?(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.mddocs.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.ballerina\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.mddocs.returnparamdesc.ballerina\\\"}},\\\"end\\\":\\\"(?=[^\\\\\\\\n\\\\\\\\r#]|# *?\\\\\\\\+)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.mddocs.returnparamdesc.ballerina\\\"}]}]},\\\"multiType\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\|)([$_[:alpha:]][$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\|)\\\",\\\"name\\\":\\\"storage.type.ballerina\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.ballerina\\\"}]},\\\"natural-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"natural\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#natural-expr-body\\\"}]}]},\\\"natural-expr-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"contentName\\\":\\\"string.template.ballerina\\\",\\\"end\\\":\\\"(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"},{\\\"include\\\":\\\"#templateVariable\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:0[Xx][A-Fa-f\\\\\\\\d]+\\\\\\\\b|\\\\\\\\d+(?:\\\\\\\\.(?:\\\\\\\\d+|$))?)\\\",\\\"name\\\":\\\"constant.numeric.decimal.ballerina\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"name\\\":\\\"meta.objectliteral.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-defn\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ballerina meta.object-literal.key.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\n*})|(\\\\\\\\s+(as)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ballerina meta.object-literal.key.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?)))|((((<\\\\\\\\s*)$|((<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.ballerina\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ballerina\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ballerina\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ballerina\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ballerina\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ballerina\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ballerina\\\"}},\\\"match\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?)|(?=\\\\\\\\))|(?=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameterWithDescriptor\\\"},{\\\"include\\\":\\\"#record\\\"},{\\\"include\\\":\\\"#objectDec\\\"},{\\\"include\\\":\\\"#functionType\\\"},{\\\"include\\\":\\\"#constrainType\\\"},{\\\"include\\\":\\\"#defaultValue\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parameterTuple\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"default.variable.parameter.ballerina\\\"}]}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(var)\\\\\\\\s+\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.language.boolean.ballerina\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.flow.ballerina\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.parameter.ballerina\\\"},\\\"9\\\":{\\\"name\\\":\\\"variable.parameter.ballerina\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.optional.ballerina\\\"}},\\\"match\\\":\\\"(?:(?)|(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#record\\\"},{\\\"include\\\":\\\"#objectDec\\\"},{\\\"include\\\":\\\"#parameterTupleType\\\"},{\\\"include\\\":\\\"#parameterTupleEnd\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"parameterTupleEnd\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"]\\\",\\\"end\\\":\\\"(?=,)|(?=\\\\\\\\|)|(?=:)|(?==>)|(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#defaultWithParentheses\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"default.variable.parameter.ballerina\\\"}]}]},\\\"parameterTupleType\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"}},\\\"end\\\":\\\"[,|]|(?=])\\\"}]},\\\"parameterWithDescriptor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"&\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ballerina\\\"}},\\\"end\\\":\\\"(?=,)|(?=\\\\\\\\|)|(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter\\\"}]}]},\\\"parameters\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*(return|break|continue|check|checkpanic|panic|trap|from|where)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.ballerina\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(let|select)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.ballerina\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ballerina\\\"}]},\\\"paranthesised\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ballerina\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ballerina\\\"}},\\\"name\\\":\\\"meta.brace.round.block.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#self-literal\\\"},{\\\"include\\\":\\\"#function-defn\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#annotationAttachment\\\"},{\\\"include\\\":\\\"#recordLiteral\\\"},{\\\"include\\\":\\\"#stringTemplate\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#regex\\\"}]},\\\"paranthesisedBracket\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#code\\\"}]}]},\\\"punctuation-accessor\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ballerina\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"}]},\\\"punctuation-comma\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ballerina\\\"}]},\\\"punctuation-semicolon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ballerina\\\"}]},\\\"record\\\":{\\\"begin\\\":\\\"\\\\\\\\brecord\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.record.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#recordBody\\\"}]},\\\"recordBody\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"recordLiteral\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ballerina\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(re)(\\\\\\\\s*)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.regexp.template.begin.ballerina\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.regexp.template.end.ballerina\\\"}},\\\"name\\\":\\\"regexp.template.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdnrstw]|\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.other.character-class.regexp.ballerina\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^Ppu]\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regex-unicode-properties-general-category\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(Lu|Ll|Lt|Lm|Lo?|Mn|Mc|Me?|Nd|Nl|No?|Pc|Pd|Ps|Pe|Pi|Pf|Po?|Sm|Sc|Sk|So?|Zs|Zl|Zp?|Cf|Cc|Cn|Co?)\\\",\\\"name\\\":\\\"constant.other.unicode-property-general-category.regexp.ballerina\\\"}]},\\\"regex-unicode-property-key\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([gs]c=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unicode-property-key.regexp.ballerina\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.other.unicode-property.end.regexp.ballerina\\\"}},\\\"name\\\":\\\"keyword.other.unicode-property-key.regexp.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regex-unicode-properties-general-category\\\"}]}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[$^]\\\",\\\"name\\\":\\\"keyword.control.assertion.regexp.ballerina\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp.ballerina\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp.ballerina\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp.ballerina\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp.ballerina\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#flags-on-off\\\"},{\\\"include\\\":\\\"#unicode-property-escape\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.start.regexp.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp.ballerina\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.end.regexp.ballerina\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp.ballerina\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\[^Ppu]))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\[^Ppu]))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp.ballerina\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"},{\\\"include\\\":\\\"#unicode-values\\\"},{\\\"include\\\":\\\"#unicode-property-escape\\\"}]},{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"},{\\\"include\\\":\\\"#unicode-values\\\"},{\\\"include\\\":\\\"#unicode-property-escape\\\"}]},\\\"self-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.this.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ballerina\\\"}},\\\"match\\\":\\\"\\\\\\\\b(self)\\\\\\\\b\\\\\\\\s*(.)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=\\\\\\\\()\\\"},{\\\"match\\\":\\\"(??}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))(\\\\\\\\?)?\\\",\\\"name\\\":\\\"meta.type.annotation.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#booleans\\\"},{\\\"include\\\":\\\"#stringTemplate\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#self-literal\\\"},{\\\"include\\\":\\\"#xml\\\"},{\\\"include\\\":\\\"#call\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.readwrite.ballerina\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.accessor.ballerina\\\"},\\\"9\\\":{\\\"name\\\":\\\"entity.name.function.ballerina\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ballerina\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ballerina\\\"}},\\\"match\\\":\\\"\\\\\\\\b(is|new|isolated|null|function|in)\\\\\\\\b|\\\\\\\\b(true|false)\\\\\\\\b|\\\\\\\\b(check|foreach|if|checkpanic)\\\\\\\\b|\\\\\\\\b(readonly|error|map)\\\\\\\\b|\\\\\\\\b(var)\\\\\\\\b|([$_[:alpha:]][$_[:alnum:]]*)((\\\\\\\\.)([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\()(\\\\\\\\)))?\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ballerina\\\"},{\\\"include\\\":\\\"#multiType\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#paranthesised\\\"}]}]},\\\"type-primitive\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?|])\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.type.primitive.ballerina\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ballerina\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.ballerina\\\"}},\\\"name\\\":\\\"meta.var-single-variable.expr.ballerina\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#call\\\"},{\\\"include\\\":\\\"#self-literal\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ballerina variable.other.readwrite.ballerina\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ballerina\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?])(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ballerina\\\"}},\\\"end\\\":\\\"(?=$|[]),;}])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(')([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.property.ballerina\\\"},{\\\"include\\\":\\\"#xml\\\"},{\\\"include\\\":\\\"#function-defn\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#regex\\\"}]},{\\\"begin\\\":\\\"(?])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ballerina\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.xml.ballerina\\\"}},\\\"name\\\":\\\"comment.block.xml.ballerina\\\"}]},\\\"xmlDoubleQuotedString\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.begin.ballerina\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.end.ballerina\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.ballerina\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string\\\"}]}]},\\\"xmlSingleQuotedString\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.begin.ballerina\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.end.ballerina\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.ballerina\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string\\\"}]}]},\\\"xmlTag\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.xml.ballerina\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#xmlSingleQuotedString\\\"},{\\\"include\\\":\\\"#xmlDoubleQuotedString\\\"},{\\\"match\\\":\\\"xmlns\\\",\\\"name\\\":\\\"keyword.other.ballerina\\\"},{\\\"match\\\":\\\"([-0-9A-Za-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.xml.ballerina\\\"}]}]}},\\\"scopeName\\\":\\\"source.ballerina\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "ballerina" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qwyDAA8m+D,CAAC,EAEto+DC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BFvZA1X9.js b/src/webview-ui/build/assets/chunk-BFvZA1X9.js new file mode 100644 index 0000000000..1aaed97ec6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BFvZA1X9.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + `{"displayName":"Log file","fileTypes":["log"],"name":"log","patterns":[{"match":"\\\\b(Trace)\\\\b:","name":"comment log.verbose"},{"match":"(?i)\\\\[(v(?:erbose|erb|rb|b?))]","name":"comment log.verbose"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b","name":"comment log.verbose"},{"match":"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):","name":"markup.changed log.debug"},{"match":"(?i)\\\\[(d(?:ebug|bug|bg|e?))]","name":"markup.changed log.debug"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b","name":"markup.changed log.debug"},{"match":"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):","name":"markup.inserted log.info"},{"match":"(?i)\\\\[(i(?:nformation|nfo?|n?))]","name":"markup.inserted log.info"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b","name":"markup.inserted log.info"},{"match":"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):","name":"markup.deleted log.warning"},{"match":"(?i)\\\\[(w(?:arning|arn|rn|n?))]","name":"markup.deleted log.warning"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b","name":"markup.deleted log.warning"},{"match":"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):","name":"string.regexp, strong log.error"},{"match":"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]","name":"string.regexp, strong log.error"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b","name":"string.regexp, strong log.error"},{"match":"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)","name":"comment log.date"},{"match":"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b","name":"comment log.date"},{"match":"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b","name":"constant.language"},{"match":"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b","name":"constant.language log.constant"},{"match":"\\\\b([0-9]+|true|false|null)\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.language log.constant"},{"match":"\\"[^\\"]*\\"","name":"string log.string"},{"match":"(?))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(?:\\\\.|->))*)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\()","beginCaptures":{"1":{"name":"variable.object.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"match":"\\\\.","name":"punctuation.separator.dot-access.c"},{"match":"->","name":"punctuation.separator.pointer-access.c"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.object.c"},{"match":".+","name":"everything.else.c"}]},"5":{"name":"entity.name.function.member.c"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.c"}},"name":"meta.function-call.member.c","patterns":[{"include":"#function-call-innards"}]},"anon_pattern_1":{"match":"\\\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\\\b","name":"keyword.control.c"},"anon_pattern_10":{"match":"\\\\b((?:int8|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|uintmax)_t)\\\\b","name":"support.type.stdint.c"},"anon_pattern_11":{"match":"\\\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\\\b","name":"support.constant.mac-classic.c"},"anon_pattern_12":{"match":"\\\\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\\\\b","name":"support.type.mac-classic.c"},"anon_pattern_13":{"match":"\\\\b([0-9A-Z_a-z]+_t)\\\\b","name":"support.type.posix-reserved.c"},"anon_pattern_14":{"match":";","name":"punctuation.terminator.statement.c"},"anon_pattern_15":{"match":",","name":"punctuation.separator.delimiter.c"},"anon_pattern_2":{"match":"typedef","name":"keyword.other.typedef.c"},"anon_pattern_3":{"match":"\\\\b(const|extern|register|restrict|static|volatile|inline)\\\\b","name":"storage.modifier.c"},"anon_pattern_4":{"match":"\\\\bk[A-Z]\\\\w*\\\\b","name":"constant.other.variable.mac-classic.c"},"anon_pattern_5":{"match":"\\\\bg[A-Z]\\\\w*\\\\b","name":"variable.other.readwrite.global.mac-classic.c"},"anon_pattern_6":{"match":"\\\\bs[A-Z]\\\\w*\\\\b","name":"variable.other.readwrite.static.mac-classic.c"},"anon_pattern_7":{"match":"\\\\b(NULL|true|false|TRUE|FALSE)\\\\b","name":"constant.language.c"},"anon_pattern_8":{"match":"\\\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\\\b","name":"support.type.sys-types.c"},"anon_pattern_9":{"match":"\\\\b(pthread_(?:attr_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||key_)t)\\\\b","name":"support.type.pthread.c"},"anon_pattern_range_1":{"begin":"((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))((#)\\\\s*define)\\\\b\\\\s+((?","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.other.lt-gt.include.c"}]},"anon_pattern_range_4":{"begin":"^\\\\s*((#)\\\\s*line)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.c"},"2":{"name":"punctuation.definition.directive.c"}},"end":"(?=/[*/])|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.c"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.c"}},"name":"meta.initialization.c","patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.c"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.c"}},"patterns":[{"include":"#block_innards"}]},{"include":"#parens-block"},{"include":"$self"}]},"c_conditional_context":{"patterns":[{"include":"$self"},{"include":"#block_innards"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\s*\\\\(|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)","name":"meta.function-call.c","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?\\\\s*)(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.c"}},"end":"(?<=\\\\n)(?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s*(?:in|out)\\\\s*)+)])?\\\\s+\\\\b(\\\\w+)\\\\b"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.c"},"2":{"patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s*(?:in|out)\\\\s*)+)])?\\\\s+\\\\b(\\\\w+)\\\\b"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},"3":{"name":"punctuation.definition.comment.end.documentation.c"}},"match":"(/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*/)","name":"comment.block.documentation.c"},{"begin":"((?>\\\\s*)/\\\\*[!*]+(?:(?:\\\\n|$)|(?=\\\\s)))","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.documentation.c"}},"end":"([!*]*\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.end.documentation.c"}},"name":"comment.block.documentation.c","patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.italic.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.bold.doxygen.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"name":"markup.inline.raw.string.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"captures":{"1":{"name":"storage.type.class.doxygen.c"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.c"}]},"3":{"name":"variable.parameter.c"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s*(?:in|out)\\\\s*)+)])?\\\\s+\\\\b(\\\\w+)\\\\b"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.c"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc"}]},{"captures":{"1":{"name":"meta.toc-list.banner.block.c"}},"match":"^/\\\\* =(\\\\s*.*?)\\\\s*= \\\\*/$\\\\n?","name":"comment.block.banner.c"},{"begin":"(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.c"}},"end":"(\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.comment.end.c"}},"name":"comment.block.c"},{"captures":{"1":{"name":"meta.toc-list.banner.line.c"}},"match":"^// =(\\\\s*.*?)\\\\s*=$\\\\n?","name":"comment.line.banner.c"},{"begin":"((?:^[\\\\t ]+)?)(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.c"}},"end":"(?!\\\\G)","patterns":[{"begin":"(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?=\\\\n)","name":"comment.line.double-slash.c","patterns":[{"include":"#line_continuation_character"}]}]}]},{"include":"#block_comment"},{"include":"#line_comment"}]},{"include":"#block_comment"},{"include":"#line_comment"}]},"default_statement":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.c"}},"patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#function-call-innards"}]},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.c"}},"name":"meta.function.definition.parameters.c","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"patterns":[{"include":"#function-innards"}]},{"include":"$self"}]},"inline_comment":{"patterns":[{"patterns":[{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/))"},{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"}]},{"captures":{"1":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"2":{"name":"comment.block.c"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"}]},"line_comment":{"patterns":[{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.c"}},"end":"(?<=\\\\n)(?\\\\*?))"}]},"5":{"name":"variable.other.member.c"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*\\\\b((?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\\\b)[A-Z_a-z]\\\\w*\\\\b(?!\\\\())"},"method_access":{"begin":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*([A-Z_a-z]\\\\w*)(\\\\()","beginCaptures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"name":"variable.other.object.access.c"},"2":{"name":"punctuation.separator.dot-access.c"},"3":{"name":"punctuation.separator.pointer-access.c"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"entity.name.function.member.c"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.c"}},"contentName":"meta.function-call.member.c","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.c"}},"patterns":[{"include":"#function-call-innards"}]},"numbers":{"captures":{"0":{"patterns":[{"begin":"(?=.)","end":"$","patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.c"},"2":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.hexadecimal.c"},"5":{"name":"constant.numeric.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.c"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.c"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.c"},"11":{"name":"constant.numeric.exponent.hexadecimal.c","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.c"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.c"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.c"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.c"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.c"},{"match":"[\\\\&^|~]","name":"keyword.operator.c"},{"match":"=","name":"keyword.operator.assignment.c"},{"match":"[-%*+/]","name":"keyword.operator.c"},{"begin":"(\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.c"}},"end":"(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.c"}},"patterns":[{"include":"#function-call-innards"},{"include":"$self"}]}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"name":"meta.parens.c","patterns":[{"include":"$self"}]},"parens-block":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.c"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.c"}},"name":"meta.parens.block.c","patterns":[{"include":"#block_innards"},{"match":"(?-im:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.c"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.c"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"keyword.other.static_assert.c"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"8":{"name":"comment.block.c"},"9":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.c"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.c"}},"patterns":[{"begin":"(,)\\\\s*(?=(?:L|u8?|U\\\\s*\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.c"}},"end":"(?=\\\\))","name":"meta.static_assert.message.c","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"storage_types":{"patterns":[{"match":"(?-im:(?\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))(?:\\\\n|$)"},{"include":"#comments"},{"begin":"(((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))\\\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.c"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"4":{"name":"comment.block.c"},"5":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.c"}},"patterns":[{"begin":"(R?)(\\")","beginCaptures":{"1":{"name":"meta.encoding.c"},"2":{"name":"punctuation.definition.string.begin.assembly.c"}},"contentName":"meta.embedded.assembly.c","end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.assembly.c"}},"name":"string.quoted.double.c","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.c"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.c"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"variable.other.asm.label.c"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"8":{"name":"comment.block.c"},"9":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]}},"match":"\\\\[((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))([A-Z_a-z]\\\\w*)((?:(?>\\\\s+)|(/\\\\*)((?>(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+?|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z))]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.c"},{"include":"#comments"}]}]}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape.c"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.c"}]},"string_placeholder":{"patterns":[{"match":"%(\\\\d+\\\\$)?[- #'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.c"},{"captures":{"1":{"name":"invalid.illegal.placeholder.c"}},"match":"(%)(?!\\"\\\\s*(PRI|SCN))"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.c","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.single.c","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}]}]},"switch_conditional_parentheses":{"begin":"((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.c punctuation.definition.comment.begin.c"},"3":{"name":"comment.block.c"},"4":{"patterns":[{"match":"\\\\*/","name":"comment.block.c punctuation.definition.comment.end.c"},{"match":"\\\\*","name":"comment.block.c"}]},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.c"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.c"}},"name":"meta.conditional.switch.c","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}]},"switch_statement":{"begin":"(((?>(?:(?>(?(?:[^*]|(?>\\\\*+)[^/])*)((?>\\\\*+)/)))+|(?:(?:(?:(?:\\\\b|(?<=\\\\W))|(?=\\\\W))|\\\\A)|\\\\Z)))((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","name":"meta.block.switch.c","patterns":[{"begin":"\\\\G ?","end":"(\\\\{|<%|\\\\?\\\\?<|(?=;))","endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.c"}},"name":"meta.head.switch.c","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","end":"(}|%>|\\\\?\\\\?>)","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.c"}},"name":"meta.body.switch.c","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"},{"include":"#block_innards"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)[\\\\n\\\\s]*","end":"[\\\\n\\\\s]*(?=;)","name":"meta.tail.switch.c","patterns":[{"include":"$self"}]}]},"vararg_ellipses":{"match":"(?))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(?:\\\\\\\\.|->))*)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.object.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.object.c\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"everything.else.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.c\\\"}},\\\"name\\\":\\\"meta.function-call.member.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"anon_pattern_1\\\":{\\\"match\\\":\\\"\\\\\\\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.c\\\"},\\\"anon_pattern_10\\\":{\\\"match\\\":\\\"\\\\\\\\b((?:int8|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|uintmax)_t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.stdint.c\\\"},\\\"anon_pattern_11\\\":{\\\"match\\\":\\\"\\\\\\\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.mac-classic.c\\\"},\\\"anon_pattern_12\\\":{\\\"match\\\":\\\"\\\\\\\\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.mac-classic.c\\\"},\\\"anon_pattern_13\\\":{\\\"match\\\":\\\"\\\\\\\\b([0-9A-Z_a-z]+_t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.posix-reserved.c\\\"},\\\"anon_pattern_14\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.c\\\"},\\\"anon_pattern_15\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.c\\\"},\\\"anon_pattern_2\\\":{\\\"match\\\":\\\"typedef\\\",\\\"name\\\":\\\"keyword.other.typedef.c\\\"},\\\"anon_pattern_3\\\":{\\\"match\\\":\\\"\\\\\\\\b(const|extern|register|restrict|static|volatile|inline)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.c\\\"},\\\"anon_pattern_4\\\":{\\\"match\\\":\\\"\\\\\\\\bk[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.variable.mac-classic.c\\\"},\\\"anon_pattern_5\\\":{\\\"match\\\":\\\"\\\\\\\\bg[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.global.mac-classic.c\\\"},\\\"anon_pattern_6\\\":{\\\"match\\\":\\\"\\\\\\\\bs[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.static.mac-classic.c\\\"},\\\"anon_pattern_7\\\":{\\\"match\\\":\\\"\\\\\\\\b(NULL|true|false|TRUE|FALSE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.c\\\"},\\\"anon_pattern_8\\\":{\\\"match\\\":\\\"\\\\\\\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.sys-types.c\\\"},\\\"anon_pattern_9\\\":{\\\"match\\\":\\\"\\\\\\\\b(pthread_(?:attr_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||key_)t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.pthread.c\\\"},\\\"anon_pattern_range_1\\\":{\\\"begin\\\":\\\"((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))((#)\\\\\\\\s*define)\\\\\\\\b\\\\\\\\s+((?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.c\\\"}]},\\\"anon_pattern_range_4\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*line)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.line.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.initialization.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.initialization.c\\\"}},\\\"name\\\":\\\"meta.initialization.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.c\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"include\\\":\\\"#parens-block\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"c_conditional_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"c_function_call\\\":{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\\\\\s*\\\\\\\\(|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"meta.function-call.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?\\\\\\\\s*)(//[!/]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.documentation.c\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.c\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s*(?:in|out)\\\\\\\\s*)+)])?\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.c\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s*(?:in|out)\\\\\\\\s*)+)])?\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.c\\\"}},\\\"match\\\":\\\"(/\\\\\\\\*[!*]+(?=\\\\\\\\s))(.+)([!*]*\\\\\\\\*/)\\\",\\\"name\\\":\\\"comment.block.documentation.c\\\"},{\\\"begin\\\":\\\"((?>\\\\\\\\s*)/\\\\\\\\*[!*]+(?:(?:\\\\\\\\n|$)|(?=\\\\\\\\s)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.c\\\"}},\\\"end\\\":\\\"([!*]*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.c\\\"}},\\\"name\\\":\\\"comment.block.documentation.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.c\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s*(?:in|out)\\\\\\\\s*)+)])?\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.block.c\\\"}},\\\"match\\\":\\\"^/\\\\\\\\* =(\\\\\\\\s*.*?)\\\\\\\\s*= \\\\\\\\*/$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.block.banner.c\\\"},{\\\"begin\\\":\\\"(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.c\\\"}},\\\"name\\\":\\\"comment.block.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.line.c\\\"}},\\\"match\\\":\\\"^// =(\\\\\\\\s*.*?)\\\\\\\\s*=$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.banner.c\\\"},{\\\"begin\\\":\\\"((?:^[\\\\\\\\t ]+)?)(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.c\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.c\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"comment.line.double-slash.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]}]}]},{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"default_statement\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"function-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.c\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"inline_comment\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"}]},\\\"line_comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.c\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.member.c\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*\\\\\\\\b((?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\\\\\\\b)[A-Z_a-z]\\\\\\\\w*\\\\\\\\b(?!\\\\\\\\())\\\"},\\\"method_access\\\":{\\\"begin\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.access.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.access.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.c\\\"}},\\\"contentName\\\":\\\"meta.function-call.member.c\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"numbers\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=.)\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.c\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.c\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.c\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.floating-point.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=\\\\\\\\h)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\h))(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.c\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.c\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.c\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.c\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.c\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.c\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.c\\\"},{\\\"begin\\\":\\\"(\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.c\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"name\\\":\\\"meta.parens.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"parens-block\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"name\\\":\\\"meta.parens.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"},{\\\"match\\\":\\\"(?-im:(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)|(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?])\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=(?:\\\\\\\\[]\\\\\\\\s*)?[),])\\\"},\\\"static_assert\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?(?:(?>(?(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.static_assert.c\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.static_assert.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.static_assert.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=(?:L|u8?|U\\\\\\\\s*\\\\\\\")?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.c\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.static_assert.message.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"}]},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?-im:(?\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))(?:\\\\\\\\n|$)\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(R?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.assembly.c\\\"}},\\\"contentName\\\":\\\"meta.embedded.assembly.c\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.assembly.c\\\"}},\\\"name\\\":\\\"string.quoted.double.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asm\\\"},{\\\"include\\\":\\\"source.x86\\\"},{\\\"include\\\":\\\"source.x86_64\\\"},{\\\"include\\\":\\\"source.arm\\\"},{\\\"include\\\":\\\"#backslash_escapes\\\"},{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.inner.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.inner.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.asm.label.c\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"\\\\\\\\[((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))([A-Z_a-z]\\\\\\\\w*)((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))]\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.colon.assembly.c\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]}]},\\\"string_escaped_char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape.c\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.c\\\"}]},\\\"string_placeholder\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*[,:;_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]\\\",\\\"name\\\":\\\"constant.other.placeholder.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.placeholder.c\\\"}},\\\"match\\\":\\\"(%)(?!\\\\\\\"\\\\\\\\s*(PRI|SCN))\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.single.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]}]},\\\"switch_conditional_parentheses\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.conditional.switch.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.conditional.switch.c\\\"}},\\\"name\\\":\\\"meta.conditional.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#c_conditional_context\\\"}]},\\\"switch_statement\\\":{\\\"begin\\\":\\\"(((?>(?:(?>(?(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"name\\\":\\\"meta.block.switch.c\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"end\\\":\\\"(\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.c\\\"}},\\\"name\\\":\\\"meta.head.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"end\\\":\\\"(}|%>|\\\\\\\\?\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.c\\\"}},\\\"name\\\":\\\"meta.body.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)[\\\\\\\\n\\\\\\\\s]*\\\",\\\"end\\\":\\\"[\\\\\\\\n\\\\\\\\s]*(?=;)\\\",\\\"name\\\":\\\"meta.tail.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"vararg_ellipses\\\":{\\\"match\\\":\\\"(?[A-Z_a-z][0-9A-Z_a-z]*))(?:(\\\\()(\\\\s*\\\\g\\\\s*((,)\\\\s*\\\\g\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?","beginCaptures":{"1":{"name":"keyword.control.import.define.c"},"2":{"name":"entity.name.function.preprocessor.c"},"4":{"name":"punctuation.definition.parameters.c"},"5":{"name":"variable.parameter.preprocessor.c"},"7":{"name":"punctuation.separator.parameters.c"},"8":{"name":"punctuation.definition.parameters.c"}},"end":"(?=/[*/])|$","name":"meta.preprocessor.macro.c","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"},{"include":"$base"}]},{"begin":"^\\\\s*#\\\\s*(error|warning)\\\\b","captures":{"1":{"name":"keyword.control.import.error.c"}},"end":"$","name":"meta.preprocessor.diagnostic.c","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"}]},{"begin":"^\\\\s*#\\\\s*(i(?:nclude|mport))\\\\b\\\\s+","captures":{"1":{"name":"keyword.control.import.include.c"}},"end":"(?=/[*/])|$","name":"meta.preprocessor.c.include","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.include.c"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.other.lt-gt.include.c"}]},{"begin":"^\\\\s*#\\\\s*(defined??|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\\\\b","captures":{"1":{"name":"keyword.control.import.c"}},"end":"(?=/[*/])|$","name":"meta.preprocessor.c","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.riscv"}},"end":"(?!\\\\G)","patterns":[{"begin":"#|(//)","beginCaptures":{"0":{"name":"punctuation.definition.comment.riscv"}},"end":"\\\\n","name":"comment.line.number-sign.riscv"}]}],"scopeName":"source.riscv"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BM1_JUlF.js.map diff --git a/src/webview-ui/build/assets/chunk-BM1_JUlF.js.map b/src/webview-ui/build/assets/chunk-BM1_JUlF.js.map new file mode 100644 index 0000000000..bde8cf9fa0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BM1_JUlF.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BM1_JUlF.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/riscv.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"RISC-V\\\",\\\"fileTypes\\\":[\\\"S\\\",\\\"s\\\",\\\"riscv\\\",\\\"asm\\\"],\\\"name\\\":\\\"riscv\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(la|lb|lh|lw|ld|nop|li|mv|not|negw??|sext\\\\\\\\.w|seqz|snez|sltz|sgtz|beqz|bnez|blez|bgez|bltz|bgtz?|ble|bgtu|bleu|j|jal|jr|ret|call|tail|fence|csr[crsw|]|csr[csw|]i)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pseudo.riscv\\\"},{\\\"match\\\":\\\"\\\\\\\\b(addw??|auipc|lui|jalr|beq|bne|blt|bge|bltu|bgeu|lb|lh|lw|ld|lbu|lhu|sb|sh|sw|sd|addiw??|sltiu??|xori|ori|andi|slliw??|srliw??|sraiw??|subw??|sllw??|sltu??|xor|srlw??|sraw??|or|and|fence|fence\\\\\\\\.i|csrrw|csrrs|csrrc|csrrwi|csrrsi|csrrci)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ecall|ebreak|sfence\\\\\\\\.vma|mret|sret|uret|wfi)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv.privileged\\\"},{\\\"match\\\":\\\"\\\\\\\\b(mulh??|mulhsu|mulhu|divu??|remu??|mulw|divw|divuw|remw|remuw)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv.m\\\"},{\\\"match\\\":\\\"\\\\\\\\b(c\\\\\\\\.(?:addi4spn|fld|lq|lw|flw|ld|fsd|sq|sw|fsw|sd|nop|addi|jal|addiw|li|addi16sp|lui|srli|srli64|srai|srai64|andi|sub|xor|or|and|subw|addw|j|beqz|bnez))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b(lr\\\\\\\\.[dw|]|sc\\\\\\\\.[dw|]|amoswap\\\\\\\\.[dw|]|amoadd\\\\\\\\.[dw|]|amoxor\\\\\\\\.[dw|]|amoand\\\\\\\\.[dw|]|amoor\\\\\\\\.[dw|]|amomin\\\\\\\\.[dw|]|amomax\\\\\\\\.[dw|]|amominu\\\\\\\\.[dw|]|amomaxu\\\\\\\\.[dw|])\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv.a\\\"},{\\\"match\\\":\\\"\\\\\\\\b(f(?:lw|sw|madd\\\\\\\\.s|msub\\\\\\\\.s|nmsub\\\\\\\\.s|nmadd\\\\\\\\.s|add\\\\\\\\.s|sub\\\\\\\\.s|mul\\\\\\\\.s|div\\\\\\\\.s|sqrt\\\\\\\\.s|sgnj\\\\\\\\.s|sgnjn\\\\\\\\.s|sgnjx\\\\\\\\.s|min\\\\\\\\.s|max\\\\\\\\.s|cvt\\\\\\\\.w\\\\\\\\.s|cvt\\\\\\\\.wu\\\\\\\\.s|mv\\\\\\\\.x\\\\\\\\.w|eq\\\\\\\\.s|lt\\\\\\\\.s|le\\\\\\\\.s|class\\\\\\\\.s|cvt\\\\\\\\.s\\\\\\\\.wu??|mv\\\\\\\\.w\\\\\\\\.x|cvt\\\\\\\\.l\\\\\\\\.s|cvt\\\\\\\\.lu\\\\\\\\.s|cvt\\\\\\\\.s\\\\\\\\.lu??))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv.f\\\"},{\\\"match\\\":\\\"\\\\\\\\b(f(?:ld|sd|madd\\\\\\\\.d|msub\\\\\\\\.d|nmsub\\\\\\\\.d|nmadd\\\\\\\\.d|add\\\\\\\\.d|sub\\\\\\\\.d|mul\\\\\\\\.d|div\\\\\\\\.d|sqrt\\\\\\\\.d|sgnj\\\\\\\\.d|sgnjn\\\\\\\\.d|sgnjx\\\\\\\\.d|min\\\\\\\\.d|max\\\\\\\\.d|cvt\\\\\\\\.s\\\\\\\\.d|cvt\\\\\\\\.d\\\\\\\\.s|eq\\\\\\\\.d|lt\\\\\\\\.d|le\\\\\\\\.d|class\\\\\\\\.d|cvt\\\\\\\\.w\\\\\\\\.d|cvt\\\\\\\\.wu\\\\\\\\.d|cvt\\\\\\\\.d\\\\\\\\.wu??|cvt\\\\\\\\.l\\\\\\\\.d|cvt\\\\\\\\.lu\\\\\\\\.d|mv\\\\\\\\.x\\\\\\\\.d|cvt\\\\\\\\.d\\\\\\\\.lu??|mv\\\\\\\\.d\\\\\\\\.x))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.riscv.d\\\"},{\\\"match\\\":\\\"\\\\\\\\.(skip|asciiz??|byte|[248|]byte|data|double|float|half|kdata|ktext|space|text|word|dword|dtprelword|dtpreldword|set\\\\\\\\s*(noat|at)|[su|]leb128|string|incbin|zero|rodata|comm|common)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.riscv\\\"},{\\\"match\\\":\\\"\\\\\\\\.(balign|align|p2align|extern|globl|global|local|pushsection|section|bss|insn|option|type|equ|macro|endm|file|ident)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.riscv\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.label.riscv\\\"}},\\\"match\\\":\\\"\\\\\\\\b([0-9A-Z_a-z]+):\\\",\\\"name\\\":\\\"meta.function.label.riscv\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.riscv\\\"}},\\\"match\\\":\\\"\\\\\\\\b(x([0-9]|1[0-9]|2[0-9]|3[01]))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.usable.by-number.riscv\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.riscv\\\"}},\\\"match\\\":\\\"\\\\\\\\b(zero|ra|sp|gp|tp|t[0-6]|a[0-7]|s[0-9]|fp|s1[01])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.usable.by-name.riscv\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.riscv\\\"}},\\\"match\\\":\\\"\\\\\\\\b(([hmsu]|vs)status|([hmsu]|vs)ie|([msu]|vs)tvec|([msu]|vs)scratch|([msu]|vs)epc|([msu]|vs)cause|([hmsu]|vs)tval|([hmsu]|vs)ip|fflags|frm|fcsr|m?cycleh?|timeh?|m?instreth?|m?hpmcounter([3-9]|[12][0-9]|3[01])h?|[hms][ei]deleg|[hms]counteren|v?satp|hgeie|hgeip|[hm]tinst|hvip|hgatp|htimedeltah?|mvendorid|marchid|mimpid|mhartid|misa|mstatush|mtval2|pmpcfg[0-3]|pmpaddr([0-9]|1[0-5])|mcountinhibit|mhpmevent([3-9]|[12][0-9]|3[01])|tselect|tdata[123]|dcsr|dpc|dscratch[01])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.csr.names.riscv\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.riscv\\\"}},\\\"match\\\":\\\"\\\\\\\\bf([0-9]|1[0-9]|2[0-9]|3[01])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.usable.floating-point.riscv\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.riscv\\\"},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+|0([Xx])\\\\\\\\h+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.riscv\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.riscv\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.riscv\\\"}},\\\"name\\\":\\\"string.quoted.double.riscv\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.riscv\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.riscv\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.riscv\\\"}},\\\"name\\\":\\\"string.quoted.single.riscv\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.riscv\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block\\\"},{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(define)\\\\\\\\s+((?[A-Z_a-z][0-9A-Z_a-z]*))(?:(\\\\\\\\()(\\\\\\\\s*\\\\\\\\g\\\\\\\\s*((,)\\\\\\\\s*\\\\\\\\g\\\\\\\\s*)*(?:\\\\\\\\.\\\\\\\\.\\\\\\\\.)?)(\\\\\\\\)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.define.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.c\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.c\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.c\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|$\\\",\\\"name\\\":\\\"meta.preprocessor.macro.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(error|warning)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.error.c\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.preprocessor.diagnostic.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(i(?:nclude|mport))\\\\\\\\b\\\\\\\\s+\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|$\\\",\\\"name\\\":\\\"meta.preprocessor.c.include\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.include.c\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.c\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(defined??|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|$\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.riscv\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#|(//)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.riscv\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.riscv\\\"}]}],\\\"scopeName\\\":\\\"source.riscv\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "riscv" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ksNAA4uO,CAAC,EAEpwOC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BMMyXqK5.js b/src/webview-ui/build/assets/chunk-BMMyXqK5.js new file mode 100644 index 0000000000..5c115b48ba --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BMMyXqK5.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"JavaScript","name":"javascript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.objectliteral.js","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.js"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js"}},"name":"meta.array.literal.js","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"variable.parameter.js"}},"match":"(?:(?)","name":"meta.arrow.js"},{"begin":"(?:(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.js","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js"}},"end":"((?<=[}\\\\S])(?)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.js","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.js","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.js"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.js","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.js"},"2":{"name":"entity.name.tag.directive.js"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.js"}},"name":"meta.tag.js","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.js"},{"match":"=","name":"keyword.operator.assignment.js"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"()|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.js"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.js"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"variable.parameter.js variable.language.this.js"},"4":{"name":"variable.parameter.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.js"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.js"},{"match":"[!=]==?","name":"keyword.operator.comparison.js"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.js"},{"captures":{"1":{"name":"keyword.operator.logical.js"},"2":{"name":"keyword.operator.assignment.compound.js"},"3":{"name":"keyword.operator.arithmetic.js"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.js"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.js"},{"match":"=","name":"keyword.operator.assignment.js"},{"match":"--","name":"keyword.operator.decrement.js"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.js"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.js"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.js"},"2":{"name":"keyword.operator.arithmetic.js"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.js"},"2":{"name":"keyword.operator.arithmetic.js"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.js variable.object.property.js"},{"match":"\\\\?","name":"keyword.operator.optional.js"},{"match":"!","name":"keyword.operator.definiteassignment.js"}]},"for-loop":{"begin":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","name":"meta.function-call.js","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.js","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.js punctuation.accessor.optional.js"},{"match":"!","name":"meta.function-call.js keyword.operator.definiteassignment.js"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.js"}]},"function-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"variable.other.constant.property.js"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.js"},"2":{"name":"punctuation.accessor.optional.js"},"3":{"name":"variable.other.property.js"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.js"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.js"}]},"if-statement":{"patterns":[{"begin":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.js"},"2":{"name":"punctuation.definition.tag.begin.js"},"3":{"name":"entity.name.tag.namespace.js"},"4":{"name":"punctuation.separator.namespace.js"},"5":{"name":"entity.name.tag.js"},"6":{"name":"support.class.component.js"},"7":{"name":"punctuation.definition.tag.end.js"}},"name":"meta.tag.js","patterns":[{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js"},"2":{"name":"entity.name.tag.namespace.js"},"3":{"name":"punctuation.separator.namespace.js"},"4":{"name":"entity.name.tag.js"},"5":{"name":"support.class.component.js"}},"end":"(?=/?>)","patterns":[{"include":"#comment"},{"include":"#type-arguments"},{"include":"#jsx-tag-attributes"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}},"contentName":"meta.jsx.children.js","end":"(?=|/\\\\*|//)"},"jsx-tag-attributes":{"begin":"\\\\s+","end":"(?=/?>)","name":"meta.tag.attributes.js","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{"match":"\\\\S+","name":"invalid.illegal.attribute.js"},"jsx-tag-in-expression":{"begin":"(??\\\\[{]|&&|\\\\|\\\\||\\\\?|\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\s*(?!<\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\s+extends\\\\s+[^=>])|,))(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js"},"2":{"name":"entity.name.tag.namespace.js"},"3":{"name":"punctuation.separator.namespace.js"},"4":{"name":"entity.name.tag.js"},"5":{"name":"support.class.component.js"},"6":{"name":"punctuation.definition.tag.end.js"}},"contentName":"meta.jsx.children.js","end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.js"},"2":{"name":"entity.name.tag.namespace.js"},"3":{"name":"punctuation.separator.namespace.js"},"4":{"name":"entity.name.tag.js"},"5":{"name":"support.class.component.js"},"6":{"name":"punctuation.definition.tag.end.js"}},"name":"meta.tag.without-attributes.js","patterns":[{"include":"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{"begin":"(??\\\\[{]|&&|\\\\|\\\\||\\\\?|\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\s*(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag-without-attributes"}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)","beginCaptures":{"1":{"name":"entity.name.label.js"},"2":{"name":"punctuation.separator.label.js"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.js"},"2":{"name":"punctuation.separator.label.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)"}]},"literal":{"patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"},{"include":"#this-literal"},{"include":"#super-literal"}]},"method-declaration":{"patterns":[{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.modifier.async.js"},"5":{"name":"keyword.operator.new.js"},"6":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.js"},"2":{"name":"storage.modifier.js"},"3":{"name":"storage.modifier.js"},"4":{"name":"storage.modifier.async.js"},"5":{"name":"storage.type.property.js"},"6":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"storage.type.property.js"},"3":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"storage.type.property.js"},"3":{"name":"keyword.generator.asterisk.js"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.js meta.object-literal.key.js","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"'\`])","end":"(?=:)|((?<=[\\"'\`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.js meta.object-literal.key.js","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.js"},{"captures":{"0":{"name":"meta.object-literal.key.js"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.js"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js"}},"end":"(?=[,}])","name":"meta.object.member.js","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.js"},{"captures":{"1":{"name":"keyword.control.as.js"},"2":{"name":"storage.modifier.js"}},"match":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js"},"2":{"name":"meta.brace.round.js"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.js"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js"},"2":{"name":"punctuation.definition.binding-pattern.array.js"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.js"}},"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"variable.parameter.js variable.language.this.js"},"4":{"name":"variable.parameter.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?])","name":"meta.type.annotation.js","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js"}},"contentName":"meta.arrow.js meta.return.type.arrow.js","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.js"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js"},"2":{"name":"keyword.other.js"}},"name":"string.regexp.js","patterns":[{"include":"#regexp"}]},{"begin":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.js"},"2":{"name":"support.type.object.module.js"},"3":{"name":"punctuation.accessor.js"},"4":{"name":"punctuation.accessor.optional.js"},"5":{"name":"support.type.object.module.js"}},"match":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\`)","end":"(?=\`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.js"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"}},"end":"(?=\`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js"}},"contentName":"meta.embedded.line.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js"}},"name":"meta.template.expression.js","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"string.template.js punctuation.definition.string.template.begin.js"}},"contentName":"string.template.js","end":"\`","endCaptures":{"0":{"name":"string.template.js punctuation.definition.string.template.end.js"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js"}},"contentName":"meta.embedded.line.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js"}},"name":"meta.template.expression.js","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.js"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.js"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.js","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js"}},"end":"(?])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.js","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.js"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.js"}},"match":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","end":"(?<=\\\\))","name":"meta.type.function.js","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.js"}},"end":"(?)(??{}]|//|$)","name":"meta.type.function.return.js","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js"}},"end":"(?)(??{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.js","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.js"},"2":{"name":"entity.name.type.js"},"3":{"name":"keyword.operator.expression.extends.js"}},"match":"(?)","endCaptures":{"1":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.js"},"2":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.begin.js"}},"contentName":"meta.type.parameters.js","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js punctuation.definition.typeparameters.end.js"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.js"},"2":{"name":"punctuation.accessor.js"},"3":{"name":"punctuation.accessor.optional.js"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.js"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js"}},"name":"meta.object.type.js","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.js"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.js"}},"end":"(?=\\\\S)"},{"match":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js"}},"name":"meta.type.parameters.js","patterns":[{"include":"#comment"},{"match":"(?)","name":"keyword.operator.assignment.js"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js"}},"name":"meta.type.paren.cover.js","patterns":[{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"entity.name.function.js variable.language.this.js"},"4":{"name":"entity.name.function.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(?)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.js"},"2":{"name":"keyword.operator.rest.js"},"3":{"name":"variable.parameter.js variable.language.this.js"},"4":{"name":"variable.parameter.js"},"5":{"name":"keyword.operator.optional.js"}},"match":"(?:(??{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js variable.other.constant.js entity.name.function.js"}},"end":"(?=$|^|[,;=}]|((?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js entity.name.function.js"},"2":{"name":"keyword.operator.definiteassignment.js"}},"end":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js"}},"end":"(?=$|^|[]),;}]|((??\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.array.literal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(?)\\\",\\\"name\\\":\\\"meta.arrow.js\\\"},{\\\"begin\\\":\\\"(?:(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"()|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.js\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.js variable.object.property.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js punctuation.accessor.optional.js\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.js keyword.operator.definiteassignment.js\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.js\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.js\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?))\\\",\\\"end\\\":\\\"(/>)|()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(?=|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(??\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(??\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?])\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js\\\"}},\\\"contentName\\\":\\\"meta.arrow.js meta.return.type.arrow.js\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"}},\\\"match\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.js\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.object.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(??{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?)","beginCaptures":{"1":{"name":"keyword.control.import.include.puppet"}},"contentName":"variable.parameter.include.puppet","end":"(?=\\\\s|$)","name":"meta.include.puppet"},{"match":"\\\\b\\\\w+\\\\s*(?==>)\\\\s*","name":"constant.other.key.puppet"},{"match":"(?<=\\\\{)\\\\s*\\\\w+\\\\s*(?=})","name":"constant.other.bareword.puppet"},{"match":"\\\\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\\\\b(?!.*\\\\{)","name":"support.function.puppet"},{"match":"=>","name":"punctuation.separator.key-value.puppet"},{"match":"->","name":"keyword.control.orderarrow.puppet"},{"match":"~>","name":"keyword.control.notifyarrow.puppet"},{"include":"#regex-literal"}],"repository":{"array":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.array.begin.puppet"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.puppet"}},"name":"meta.array.puppet","patterns":[{"match":"\\\\s*,\\\\s*"},{"include":"#parameter-default-types"},{"include":"#line_comment"}]},"constants":{"patterns":[{"match":"\\\\b(absent|directory|false|file|present|running|stopped|true)\\\\b(?!.*\\\\{)","name":"constant.language.puppet"}]},"double-quoted-string":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.puppet"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.puppet"}},"name":"string.quoted.double.interpolated.puppet","patterns":[{"include":"#escaped_char"},{"include":"#interpolated_puppet"}]},"escaped_char":{"match":"\\\\\\\\.","name":"constant.character.escape.puppet"},"function_call":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*)(\\\\()","end":"\\\\)","name":"meta.function-call.puppet","patterns":[{"include":"#parameter-default-types"},{"match":",","name":"punctuation.separator.parameters.puppet"}]},"hash":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.hash.begin.puppet"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.hash.end.puppet"}},"name":"meta.hash.puppet","patterns":[{"match":"\\\\b\\\\w+\\\\s*(?==>)\\\\s*","name":"constant.other.key.puppet"},{"include":"#parameter-default-types"},{"include":"#line_comment"}]},"heredoc":{"patterns":[{"begin":"@\\\\(\\\\p{blank}*\\"([^\\\\t )/:]+)\\"\\\\p{blank}*(:\\\\p{blank}*[a-z][+0-9A-Z_a-z]*\\\\p{blank}*)?(/\\\\p{blank}*[$Lnrst]*)?\\\\p{blank}*\\\\)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.puppet"}},"end":"^\\\\p{blank}*(\\\\|\\\\p{blank}*-|[-|])?\\\\p{blank}*\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.puppet"}},"name":"string.interpolated.heredoc.puppet","patterns":[{"include":"#escaped_char"},{"include":"#interpolated_puppet"}]},{"begin":"@\\\\(\\\\p{blank}*([^\\\\t )/:]+)\\\\p{blank}*(:\\\\p{blank}*[a-z][+0-9A-Z_a-z]*\\\\p{blank}*)?(/\\\\p{blank}*[$Lnrst]*)?\\\\p{blank}*\\\\)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.puppet"}},"end":"^\\\\p{blank}*(\\\\|\\\\p{blank}*-|[-|])?\\\\p{blank}*\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.puppet"}},"name":"string.unquoted.heredoc.puppet"}]},"interpolated_puppet":{"patterns":[{"begin":"(\\\\$\\\\{)(\\\\d+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.puppet"},"2":{"name":"source.puppet variable.other.readwrite.global.pre-defined.puppet"}},"contentName":"source.puppet","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.puppet"}},"name":"meta.embedded.line.puppet","patterns":[{"include":"$self"}]},{"begin":"(\\\\$\\\\{)(_[0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.puppet"},"2":{"name":"source.puppet variable.other.readwrite.global.puppet"}},"contentName":"source.puppet","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.puppet"}},"name":"meta.embedded.line.puppet","patterns":[{"include":"$self"}]},{"begin":"(\\\\$\\\\{)(([a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)*)","beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.puppet"},"2":{"name":"source.puppet variable.other.readwrite.global.puppet"}},"contentName":"source.puppet","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.puppet"}},"name":"meta.embedded.line.puppet","patterns":[{"include":"$self"}]},{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.puppet"}},"contentName":"source.puppet","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.puppet"}},"name":"meta.embedded.line.puppet","patterns":[{"include":"$self"}]}]},"keywords":{"captures":{"1":{"name":"keyword.puppet"}},"match":"\\\\b(undef)\\\\b"},"line_comment":{"patterns":[{"captures":{"1":{"name":"comment.line.number-sign.puppet"},"2":{"name":"punctuation.definition.comment.puppet"}},"match":"^((#).*$\\\\n?)","name":"meta.comment.full-line.puppet"},{"captures":{"1":{"name":"punctuation.definition.comment.puppet"}},"match":"(#).*$\\\\n?","name":"comment.line.number-sign.puppet"}]},"nested_braces":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.puppet"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#nested_braces"}]},"nested_braces_interpolated":{"begin":"\\\\{","captures":{"1":{"name":"punctuation.section.scope.puppet"}},"end":"}","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_braces_interpolated"}]},"nested_brackets":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.puppet"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#nested_brackets"}]},"nested_brackets_interpolated":{"begin":"\\\\[","captures":{"1":{"name":"punctuation.section.scope.puppet"}},"end":"]","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_brackets_interpolated"}]},"nested_parens":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.puppet"}},"end":"\\\\)","patterns":[{"include":"#escaped_char"},{"include":"#nested_parens"}]},"nested_parens_interpolated":{"begin":"\\\\(","captures":{"1":{"name":"punctuation.section.scope.puppet"}},"end":"\\\\)","patterns":[{"include":"#escaped_char"},{"include":"#variable"},{"include":"#nested_parens_interpolated"}]},"numbers":{"patterns":[{"match":"(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.puppet\\\"}},\\\"contentName\\\":\\\"variable.parameter.include.puppet\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"meta.include.puppet\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+\\\\\\\\s*(?==>)\\\\\\\\s*\\\",\\\"name\\\":\\\"constant.other.key.puppet\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\{)\\\\\\\\s*\\\\\\\\w+\\\\\\\\s*(?=})\\\",\\\"name\\\":\\\"constant.other.bareword.puppet\\\"},{\\\"match\\\":\\\"\\\\\\\\b(alert|crit|debug|defined|emerg|err|escape|fail|failed|file|generate|gsub|info|notice|package|realize|search|tag|tagged|template|warning)\\\\\\\\b(?!.*\\\\\\\\{)\\\",\\\"name\\\":\\\"support.function.puppet\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"punctuation.separator.key-value.puppet\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.control.orderarrow.puppet\\\"},{\\\"match\\\":\\\"~>\\\",\\\"name\\\":\\\"keyword.control.notifyarrow.puppet\\\"},{\\\"include\\\":\\\"#regex-literal\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.puppet\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.puppet\\\"}},\\\"name\\\":\\\"meta.array.puppet\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*,\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#parameter-default-types\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(absent|directory|false|file|present|running|stopped|true)\\\\\\\\b(?!.*\\\\\\\\{)\\\",\\\"name\\\":\\\"constant.language.puppet\\\"}]},\\\"double-quoted-string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.puppet\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.puppet\\\"}},\\\"name\\\":\\\"string.quoted.double.interpolated.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#interpolated_puppet\\\"}]},\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.puppet\\\"},\\\"function_call\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.function-call.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.puppet\\\"}]},\\\"hash\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.hash.begin.puppet\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.hash.end.puppet\\\"}},\\\"name\\\":\\\"meta.hash.puppet\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+\\\\\\\\s*(?==>)\\\\\\\\s*\\\",\\\"name\\\":\\\"constant.other.key.puppet\\\"},{\\\"include\\\":\\\"#parameter-default-types\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"@\\\\\\\\(\\\\\\\\p{blank}*\\\\\\\"([^\\\\\\\\t )/:]+)\\\\\\\"\\\\\\\\p{blank}*(:\\\\\\\\p{blank}*[a-z][+0-9A-Z_a-z]*\\\\\\\\p{blank}*)?(/\\\\\\\\p{blank}*[$Lnrst]*)?\\\\\\\\p{blank}*\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.puppet\\\"}},\\\"end\\\":\\\"^\\\\\\\\p{blank}*(\\\\\\\\|\\\\\\\\p{blank}*-|[-|])?\\\\\\\\p{blank}*\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.puppet\\\"}},\\\"name\\\":\\\"string.interpolated.heredoc.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#interpolated_puppet\\\"}]},{\\\"begin\\\":\\\"@\\\\\\\\(\\\\\\\\p{blank}*([^\\\\\\\\t )/:]+)\\\\\\\\p{blank}*(:\\\\\\\\p{blank}*[a-z][+0-9A-Z_a-z]*\\\\\\\\p{blank}*)?(/\\\\\\\\p{blank}*[$Lnrst]*)?\\\\\\\\p{blank}*\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.puppet\\\"}},\\\"end\\\":\\\"^\\\\\\\\p{blank}*(\\\\\\\\|\\\\\\\\p{blank}*-|[-|])?\\\\\\\\p{blank}*\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.puppet\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.puppet\\\"}]},\\\"interpolated_puppet\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)(\\\\\\\\d+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.puppet\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.puppet variable.other.readwrite.global.pre-defined.puppet\\\"}},\\\"contentName\\\":\\\"source.puppet\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.puppet\\\"}},\\\"name\\\":\\\"meta.embedded.line.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)(_[0-9A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.puppet\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.puppet variable.other.readwrite.global.puppet\\\"}},\\\"contentName\\\":\\\"source.puppet\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.puppet\\\"}},\\\"name\\\":\\\"meta.embedded.line.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)(([a-z][0-9_a-z]*)?(?:::[a-z][0-9_a-z]*)*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.puppet\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.puppet variable.other.readwrite.global.puppet\\\"}},\\\"contentName\\\":\\\"source.puppet\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.puppet\\\"}},\\\"name\\\":\\\"meta.embedded.line.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.puppet\\\"}},\\\"contentName\\\":\\\"source.puppet\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.puppet\\\"}},\\\"name\\\":\\\"meta.embedded.line.puppet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.puppet\\\"}},\\\"match\\\":\\\"\\\\\\\\b(undef)\\\\\\\\b\\\"},\\\"line_comment\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.number-sign.puppet\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.puppet\\\"}},\\\"match\\\":\\\"^((#).*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"meta.comment.full-line.puppet\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.puppet\\\"}},\\\"match\\\":\\\"(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.puppet\\\"}]},\\\"nested_braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.puppet\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nested_braces\\\"}]},\\\"nested_braces_interpolated\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.puppet\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#nested_braces_interpolated\\\"}]},\\\"nested_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.puppet\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nested_brackets\\\"}]},\\\"nested_brackets_interpolated\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.puppet\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#nested_brackets_interpolated\\\"}]},\\\"nested_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.puppet\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#nested_parens\\\"}]},\\\"nested_parens_interpolated\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.puppet\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#nested_parens_interpolated\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?)","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.hx"}},"end":"(\\\\))\\\\s*(->)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.hx"},"2":{"name":"storage.type.function.arrow.hx"}},"name":"meta.method.arrow.hx","patterns":[{"include":"#arrow-function-parameter"}]},"arrow-function-parameter":{"begin":"(?<=[(,])","end":"(?=[),])","patterns":[{"include":"#parameter-name"},{"include":"#arrow-function-parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#punctuation-comma"},{"include":"#global"}]},"arrow-function-parameter-type-hint":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}},"end":"(?=[),=])","patterns":[{"include":"#type"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.hx"}},"patterns":[{"include":"#block"},{"include":"#block-contents"}]},"block-contents":{"patterns":[{"include":"#global"},{"include":"#regex"},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"include":"#metadata"},{"include":"#method"},{"include":"#variable"},{"include":"#modifiers"},{"include":"#new-expr"},{"include":"#for-loop"},{"include":"#keywords"},{"include":"#arrow-function"},{"include":"#method-call"},{"include":"#enum-constructor-call"},{"include":"#punctuation-braces"},{"include":"#macro-reification"},{"include":"#operators"},{"include":"#operator-assignment"},{"include":"#punctuation-terminator"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"},{"include":"#identifiers"}]},"class":{"begin":"(?=class)","end":"(?<=})|(;)","endCaptures":{"1":{"name":"punctuation.terminator.hx"}},"name":"meta.class.hx","patterns":[{"include":"#class-name"},{"include":"#class-name-post"},{"include":"#class-block"}]},"class-block":{"begin":"(?<=\\\\{)","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}},"name":"meta.block.hx","patterns":[{"include":"#method"},{"include":"#modifiers"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}]},"class-name":{"begin":"\\\\b(class)\\\\b","beginCaptures":{"1":{"name":"storage.type.class.hx"}},"end":"([A-Z_a-z]\\\\w*)","endCaptures":{"1":{"name":"entity.name.type.class.hx"}},"name":"meta.class.identifier.hx","patterns":[{"include":"#global"}]},"class-name-post":{"begin":"(?<=\\\\w)","end":"([;{])","endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}},"patterns":[{"include":"#modifiers-inheritance"},{"include":"#type"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"name":"comment.block.documentation.hx","patterns":[{"include":"#javadoc-tags"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"name":"comment.block.hx","patterns":[{"include":"#javadoc-tags"}]},{"captures":{"1":{"name":"punctuation.definition.comment.hx"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.hx"}]},"conditional-compilation":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.tag"}},"match":"((#(if|elseif))[!\\\\s]+([A-Z_a-z][0-9A-Z_a-z]*(\\\\.[A-Z_a-z][0-9A-Z_a-z]*)*)(?=\\\\s|/\\\\*|//))"},{"begin":"((#(if|elseif))[!\\\\s]*)(?=\\\\()","beginCaptures":{"0":{"name":"punctuation.definition.tag"}},"end":"(?<=[\\\\n)])","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"name":"punctuation.definition.tag","patterns":[{"include":"#conditional-compilation-parens"}]},{"match":"(#(end|else|error|line))","name":"punctuation.definition.tag"},{"match":"(#([0-9A-Z_a-z]*))\\\\s","name":"punctuation.definition.tag"}]},"conditional-compilation-parens":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#conditional-compilation-parens"}]},"constant-name":{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.hx"},"constants":{"patterns":[{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hx"},{"captures":{"0":{"name":"constant.numeric.hex.hx"},"1":{"name":"constant.numeric.suffix.hx"}},"match":"\\\\b0[Xx]\\\\h[_\\\\h]*([iu][0-9][0-9_]*)?\\\\b"},{"captures":{"0":{"name":"constant.numeric.bin.hx"},"1":{"name":"constant.numeric.suffix.hx"}},"match":"\\\\b0[Bb][01][01_]*([iu][0-9][0-9_]*)?\\\\b"},{"captures":{"0":{"name":"constant.numeric.decimal.hx"},"1":{"name":"meta.delimiter.decimal.period.hx"},"2":{"name":"constant.numeric.suffix.hx"},"3":{"name":"meta.delimiter.decimal.period.hx"},"4":{"name":"constant.numeric.suffix.hx"},"5":{"name":"meta.delimiter.decimal.period.hx"},"6":{"name":"constant.numeric.suffix.hx"},"7":{"name":"constant.numeric.suffix.hx"},"8":{"name":"meta.delimiter.decimal.period.hx"},"9":{"name":"constant.numeric.suffix.hx"},"10":{"name":"meta.delimiter.decimal.period.hx"},"11":{"name":"constant.numeric.suffix.hx"},"12":{"name":"meta.delimiter.decimal.period.hx"},"13":{"name":"constant.numeric.suffix.hx"},"14":{"name":"constant.numeric.suffix.hx"}},"match":"(?","name":"keyword.operator.extractor.hx"},{"include":"#operator-assignment"},{"include":"#punctuation-comma"},{"include":"#keywords"},{"include":"#method-call"},{"include":"#identifiers"}]},{"match":"\\\\b(if|else|return|do|while|for|break|continue|switch|case|default)\\\\b","name":"keyword.control.flow-control.hx"},{"match":"\\\\b(cast|untyped)\\\\b","name":"keyword.other.untyped.hx"},{"match":"\\\\btrace\\\\b","name":"keyword.other.trace.hx"},{"match":"\\\\$type\\\\b","name":"keyword.other.type.hx"},{"match":"__(global|this)__\\\\b","name":"keyword.other.untyped-property.hx"},{"match":"\\\\b(this|super)\\\\b","name":"variable.language.hx"},{"match":"\\\\bnew\\\\b","name":"keyword.operator.new.hx"},{"match":"\\\\b(abstract|class|enum|interface|typedef)\\\\b","name":"storage.type.hx"},{"match":"->","name":"storage.type.function.arrow.hx"},{"include":"#modifiers"},{"include":"#modifiers-inheritance"}]},"keywords-accessor":{"match":"\\\\b(default|get|set|dynamic|never|null)\\\\b","name":"storage.type.property.hx"},"macro-reification":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.reification.hx"},"2":{"name":"keyword.reification.hx"}},"match":"(\\\\$)([abeipv])\\\\{"},{"captures":{"2":{"name":"punctuation.definition.reification.hx"},"3":{"name":"variable.reification.hx"}},"match":"((\\\\$)([A-Za-z]*))"}]},"metadata":{"patterns":[{"begin":"(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile))\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"storage.modifier.metadata.hx"},"3":{"name":"meta.brace.round.hx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.hx"}},"patterns":[{"include":"#block-contents"}]},{"captures":{"2":{"name":"punctuation.metadata.hx"},"3":{"name":"storage.modifier.metadata.hx"}},"match":"((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)))\\\\b"},{"begin":"(@)(:?[A-Z_a-z]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"variable.metadata.hx"},"3":{"name":"meta.brace.round.hx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.hx"}},"patterns":[{"include":"#block-contents"}]},{"captures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"variable.metadata.hx"},"3":{"name":"variable.metadata.hx"},"4":{"name":"punctuation.accessor.hx"},"5":{"name":"variable.metadata.hx"}},"match":"(@)(:?)([A-Z_a-z]*(\\\\.))*([A-Z_a-z]*)?"}]},"method":{"begin":"(?=\\\\bfunction\\\\b)","end":"(?<=[;}])","name":"meta.method.hx","patterns":[{"include":"#macro-reification"},{"include":"#method-name"},{"include":"#method-name-post"},{"include":"#method-block"}]},"method-block":{"begin":"(?<=\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}},"name":"meta.method.block.hx","patterns":[{"include":"#block"},{"include":"#block-contents"}]},"method-call":{"begin":"\\\\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|int??|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z]\\\\w*))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.untyped-function.hx"},"2":{"name":"entity.name.function.hx"},"3":{"name":"meta.brace.round.hx"}},"end":"(\\\\))","endCaptures":{"1":{"name":"meta.brace.round.hx"}},"patterns":[{"include":"#block"},{"include":"#block-contents"}]},"method-name":{"begin":"\\\\b(function)\\\\b\\\\s*\\\\b(?:(new)|([A-Z_a-z]\\\\w*))?\\\\b","beginCaptures":{"1":{"name":"storage.type.function.hx"},"2":{"name":"storage.type.hx"},"3":{"name":"entity.name.function.hx"}},"end":"(?=$|\\\\()","patterns":[{"include":"#macro-reification"},{"include":"#type-parameters"}]},"method-name-post":{"begin":"(?<=[>\\\\w\\\\s])","end":"(\\\\{)|(;)","endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"},"2":{"name":"punctuation.terminator.hx"}},"patterns":[{"include":"#parameters"},{"include":"#method-return-type-hint"},{"include":"#block"},{"include":"#block-contents"}]},"method-return-type-hint":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.hx"}},"end":"(?=[0-9;a-{])","patterns":[{"include":"#type"}]},"modifiers":{"patterns":[{"match":"\\\\b(enum)\\\\b","name":"storage.type.class"},{"match":"\\\\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\\\\b","name":"storage.modifier.hx"},{"match":"\\\\b(final)\\\\b(?=\\\\s+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))","name":"storage.modifier.hx"}]},"modifiers-inheritance":{"match":"\\\\b(implements|extends)\\\\b","name":"storage.modifier.hx"},"new-expr":{"begin":"(?>>|<<|>>)","name":"keyword.operator.bitwise.hx"},{"match":"(==|!=|<=|>=|[<>])","name":"keyword.operator.comparison.hx"},{"match":"(!)","name":"keyword.operator.logical.hx"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.hx"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.hx"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.intiterator.hx"},{"match":"=>","name":"keyword.operator.arrow.hx"},{"match":"\\\\?\\\\?","name":"keyword.operator.nullcoalescing.hx"},{"match":"\\\\?\\\\.","name":"keyword.operator.safenavigation.hx"},{"match":"\\\\bis\\\\b(?!\\\\()","name":"keyword.other.hx"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.hx"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.hx"}},"patterns":[{"include":"#block"},{"include":"#block-contents"}]}]},"package":{"begin":"package\\\\b","beginCaptures":{"0":{"name":"keyword.other.package.hx"}},"end":"$|(;)","endCaptures":{"1":{"name":"punctuation.terminator.hx"}},"patterns":[{"include":"#type-path"},{"include":"#type-path-package-name"}]},"parameter":{"begin":"(?<=[(,])","end":"(?=\\\\)(?!\\\\s*->)|,)","patterns":[{"include":"#parameter-name"},{"include":"#parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#global"}]},"parameter-assign":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.hx"}},"end":"(?=[),])","patterns":[{"include":"#block"},{"include":"#block-contents"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"variable.parameter.hx"}},"match":"\\\\s*([A-Z_a-z]\\\\w*)"},{"include":"#global"},{"include":"#metadata"},{"include":"#operator-optional"},{"include":"#operator-rest"}]},"parameter-type-hint":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}},"end":"(?=\\\\)(?!\\\\s*->)|[,=])","patterns":[{"include":"#type"}]},"parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"end":"\\\\s*(\\\\)(?!\\\\s*->))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.hx"}},"name":"meta.parameters.hx","patterns":[{"include":"#parameter"},{"include":"#punctuation-comma"}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.hx"},"punctuation-braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.hx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.hx"}},"patterns":[{"include":"#keywords"},{"include":"#block"},{"include":"#block-contents"},{"include":"#type-check"}]},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.hx"},"punctuation-terminator":{"match":";","name":"punctuation.terminator.hx"},"regex":{"begin":"(~/)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.hx"}},"end":"(/)([gimsu]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.hx"},"2":{"name":"keyword.other.hx"}},"name":"string.regexp.hx","patterns":[{"include":"#regexp"}]},"regex-character-class":{"patterns":[{"match":"\\\\\\\\[DSWdfnrstvw]|\\\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\\\\\([0-7]{3}|x\\\\h\\\\h|u\\\\h\\\\h\\\\h\\\\h)","name":"constant.character.numeric.regexp"},{"match":"\\\\\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"match":"\\\\\\\\[1-9]\\\\d*","name":"keyword.other.back-reference.regexp"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!))","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\\\((\\\\?:)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.capture.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h\\\\h|u\\\\h\\\\h\\\\h\\\\h))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h\\\\h|u\\\\h\\\\h\\\\h\\\\h))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"string-escape-sequences":{"patterns":[{"match":"\\\\\\\\[0-3][0-9]{2}","name":"constant.character.escape.hx"},{"match":"\\\\\\\\x\\\\h{2}","name":"constant.character.escape.hx"},{"match":"\\\\\\\\u[0-9]{4}","name":"constant.character.escape.hx"},{"match":"\\\\\\\\u\\\\{\\\\h+}","name":"constant.character.escape.hx"},{"match":"\\\\\\\\[\\"'\\\\\\\\nrt]","name":"constant.character.escape.hx"},{"match":"\\\\\\\\.","name":"invalid.escape.sequence.hx"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hx"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.hx"}},"name":"string.quoted.double.hx","patterns":[{"include":"#string-escape-sequences"}]},{"begin":"(')","beginCaptures":{"0":{"name":"string.quoted.single.hx"},"1":{"name":"punctuation.definition.string.begin.hx"}},"end":"(')","endCaptures":{"0":{"name":"string.quoted.single.hx"},"1":{"name":"punctuation.definition.string.end.hx"}},"patterns":[{"begin":"\\\\$(?=\\\\$)","beginCaptures":{"0":{"name":"constant.character.escape.hx"}},"end":"\\\\$","endCaptures":{"0":{"name":"constant.character.escape.hx"}},"name":"string.quoted.single.hx"},{"include":"#string-escape-sequences"},{"begin":"(\\\\$\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.block.end.hx"}},"patterns":[{"include":"#block-contents"}]},{"captures":{"1":{"name":"punctuation.definition.block.begin.hx"},"2":{"name":"variable.other.hx"}},"match":"(\\\\$)([A-Z_a-z]\\\\w*)"},{"match":"","name":"constant.character.escape.hx"},{"match":".","name":"string.quoted.single.hx"}]}]},"type":{"patterns":[{"include":"#global"},{"include":"#macro-reification"},{"include":"#type-name"},{"include":"#type-parameters"},{"match":"->","name":"keyword.operator.type.function.hx"},{"match":"&","name":"keyword.operator.type.intersection.hx"},{"match":"\\\\?(?=\\\\s*[A-Z_])","name":"keyword.operator.optional"},{"match":"\\\\?(?!\\\\s*[A-Z_])","name":"punctuation.definition.tag"},{"begin":"(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"end":"(?<=})","patterns":[{"include":"#typedef-block"}]},{"include":"#function-type"}]},"type-check":{"begin":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.hx"}},"name":"meta.type-parameters.hx","patterns":[{"include":"#type"},{"include":"#type-parameter-constraint-old"},{"include":"#type-parameter-constraint-new"},{"include":"#global"},{"include":"#regex"},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"include":"#metadata"},{"include":"#punctuation-comma"}]},"type-path":{"patterns":[{"include":"#global"},{"include":"#punctuation-accessor"},{"include":"#type-path-type-name"}]},"type-path-package-name":{"match":"\\\\b([A-Z_a-z]\\\\w*)\\\\b","name":"support.package.hx"},"type-path-type-name":{"match":"\\\\b(_*[A-Z]\\\\w*)\\\\b","name":"entity.name.type.hx"},"typedef":{"begin":"(?=typedef)","end":"(?<=})|(;)","endCaptures":{"1":{"name":"punctuation.terminator.hx"}},"name":"meta.typedef.hx","patterns":[{"include":"#typedef-name"},{"include":"#typedef-name-post"},{"include":"#typedef-block"}]},"typedef-block":{"begin":"(?<=\\\\{)","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}},"name":"meta.block.hx","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#method"},{"include":"#variable"},{"include":"#modifiers"},{"include":"#punctuation-comma"},{"include":"#operator-optional"},{"include":"#typedef-extension"},{"include":"#typedef-simple-field-type-hint"},{"include":"#identifier-name"},{"include":"#strings"}]},"typedef-extension":{"begin":">","end":",|$","patterns":[{"include":"#type"}]},"typedef-name":{"begin":"\\\\b(typedef)\\\\b","beginCaptures":{"1":{"name":"storage.type.class.hx"}},"end":"([A-Z_a-z]\\\\w*)","endCaptures":{"1":{"name":"entity.name.type.class.hx"}},"patterns":[{"include":"#global"}]},"typedef-name-post":{"begin":"(?<=\\\\w)","end":"(\\\\{)|(?=;)","endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}},"patterns":[{"include":"#global"},{"include":"#punctuation-brackets"},{"include":"#punctuation-separator"},{"include":"#operator-assignment"},{"include":"#type"}]},"typedef-simple-field-type-hint":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}},"end":"(?=[,;}])","patterns":[{"include":"#type"}]},"using":{"begin":"using\\\\b","beginCaptures":{"0":{"name":"keyword.other.using.hx"}},"end":"$|(;)","endCaptures":{"1":{"name":"punctuation.terminator.hx"}},"patterns":[{"include":"#type-path"},{"include":"#type-path-package-name"}]},"variable":{"begin":"(?=\\\\b(var|final)\\\\b)","end":"(?=$)|(;)","endCaptures":{"1":{"name":"punctuation.terminator.hx"}},"patterns":[{"include":"#variable-name"},{"include":"#variable-name-next"},{"include":"#variable-assign"},{"include":"#variable-name-post"}]},"variable-accessors":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.hx"}},"name":"meta.parameters.hx","patterns":[{"include":"#global"},{"include":"#keywords-accessor"},{"include":"#accessor-method"},{"include":"#punctuation-comma"}]},"variable-assign":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.hx"}},"end":"(?=[,;])","patterns":[{"include":"#block"},{"include":"#block-contents"}]},"variable-name":{"begin":"\\\\b(var|final)\\\\b","beginCaptures":{"1":{"name":"storage.type.variable.hx"}},"end":"(?=$)|([A-Z_a-z]\\\\w*)","endCaptures":{"1":{"name":"variable.other.hx"}},"patterns":[{"include":"#operator-optional"}]},"variable-name-next":{"begin":",","beginCaptures":{"0":{"name":"punctuation.separator.comma.hx"}},"end":"([A-Z_a-z]\\\\w*)","endCaptures":{"1":{"name":"variable.other.hx"}},"patterns":[{"include":"#global"}]},"variable-name-post":{"begin":"(?<=\\\\w)","end":"(?=;)|(?==)","patterns":[{"include":"#variable-accessors"},{"include":"#variable-type-hint"},{"include":"#block-contents"}]},"variable-type-hint":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}},"end":"(?=$|[,;=])","patterns":[{"include":"#type"}]}},"scopeName":"source.hx"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BP3HzMA6.js.map diff --git a/src/webview-ui/build/assets/chunk-BP3HzMA6.js.map b/src/webview-ui/build/assets/chunk-BP3HzMA6.js.map new file mode 100644 index 0000000000..89618b9842 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BP3HzMA6.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BP3HzMA6.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/haxe.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Haxe\\\",\\\"fileTypes\\\":[\\\"hx\\\",\\\"dump\\\"],\\\"name\\\":\\\"haxe\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#all\\\"}],\\\"repository\\\":{\\\"abstract\\\":{\\\"begin\\\":\\\"(?=abstract\\\\\\\\s+[A-Z])\\\",\\\"end\\\":\\\"(?<=})|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"name\\\":\\\"meta.abstract.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#abstract-name\\\"},{\\\"include\\\":\\\"#abstract-name-post\\\"},{\\\"include\\\":\\\"#abstract-block\\\"}]},\\\"abstract-block\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.hx\\\"}},\\\"name\\\":\\\"meta.block.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#modifiers\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"abstract-name\\\":{\\\"begin\\\":\\\"\\\\\\\\b(abstract)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.hx\\\"}},\\\"end\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"}]},\\\"abstract-name-post\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\",\\\"end\\\":\\\"([;{])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"match\\\":\\\"\\\\\\\\b(from|to)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.hx\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.definition.other.hx\\\"}]},\\\"accessor-method\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([gs]et)_[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.hx\\\"}]},\\\"all\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#package\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#using\\\"},{\\\"match\\\":\\\"\\\\\\\\b(final)\\\\\\\\b(?=\\\\\\\\s+(class|interface|extern|private)\\\\\\\\b)\\\",\\\"name\\\":\\\"storage.modifier.hx\\\"},{\\\"include\\\":\\\"#abstract\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#enum\\\"},{\\\"include\\\":\\\"#interface\\\"},{\\\"include\\\":\\\"#typedef\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.hx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.hx\\\"}},\\\"name\\\":\\\"meta.array.literal.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"arrow-function\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(?=[^(]*?\\\\\\\\)\\\\\\\\s*->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.hx\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*(->)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.arrow.hx\\\"}},\\\"name\\\":\\\"meta.method.arrow.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-function-parameter\\\"}]},\\\"arrow-function-parameter\\\":{\\\"begin\\\":\\\"(?<=[(,])\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#arrow-function-parameter-type-hint\\\"},{\\\"include\\\":\\\"#parameter-assign\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#global\\\"}]},\\\"arrow-function-parameter-type-hint\\\":{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.hx\\\"}},\\\"end\\\":\\\"(?=[),=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"block-contents\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#modifiers\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#method-call\\\"},{\\\"include\\\":\\\"#enum-constructor-call\\\"},{\\\"include\\\":\\\"#punctuation-braces\\\"},{\\\"include\\\":\\\"#macro-reification\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#operator-assignment\\\"},{\\\"include\\\":\\\"#punctuation-terminator\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"class\\\":{\\\"begin\\\":\\\"(?=class)\\\",\\\"end\\\":\\\"(?<=})|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"name\\\":\\\"meta.class.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#class-name-post\\\"},{\\\"include\\\":\\\"#class-block\\\"}]},\\\"class-block\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.hx\\\"}},\\\"name\\\":\\\"meta.block.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#modifiers\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"class-name\\\":{\\\"begin\\\":\\\"\\\\\\\\b(class)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.hx\\\"}},\\\"end\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.hx\\\"}},\\\"name\\\":\\\"meta.class.identifier.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"}]},\\\"class-name-post\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\",\\\"end\\\":\\\"([;{])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#modifiers-inheritance\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hx\\\"}},\\\"name\\\":\\\"comment.block.documentation.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-tags\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hx\\\"}},\\\"name\\\":\\\"comment.block.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-tags\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hx\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.hx\\\"}]},\\\"conditional-compilation\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"match\\\":\\\"((#(if|elseif))[!\\\\\\\\s]+([A-Z_a-z][0-9A-Z_a-z]*(\\\\\\\\.[A-Z_a-z][0-9A-Z_a-z]*)*)(?=\\\\\\\\s|/\\\\\\\\*|//))\\\"},{\\\"begin\\\":\\\"((#(if|elseif))[!\\\\\\\\s]*)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\\n)])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"name\\\":\\\"punctuation.definition.tag\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional-compilation-parens\\\"}]},{\\\"match\\\":\\\"(#(end|else|error|line))\\\",\\\"name\\\":\\\"punctuation.definition.tag\\\"},{\\\"match\\\":\\\"(#([0-9A-Z_a-z]*))\\\\\\\\s\\\",\\\"name\\\":\\\"punctuation.definition.tag\\\"}]},\\\"conditional-compilation-parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional-compilation-parens\\\"}]},\\\"constant-name\\\":{\\\"match\\\":\\\"\\\\\\\\b([A-Z_][0-9A-Z_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.hx\\\"},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.hx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.hex.hx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"}},\\\"match\\\":\\\"\\\\\\\\b0[Xx]\\\\\\\\h[_\\\\\\\\h]*([iu][0-9][0-9_]*)?\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.bin.hx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"}},\\\"match\\\":\\\"\\\\\\\\b0[Bb][01][01_]*([iu][0-9][0-9_]*)?\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.hx\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.hx\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.hx\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.hx\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.hx\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.hx\\\"},\\\"13\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.suffix.hx\\\"}},\\\"match\\\":\\\"(?\\\",\\\"name\\\":\\\"keyword.operator.extractor.hx\\\"},{\\\"include\\\":\\\"#operator-assignment\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#method-call\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(if|else|return|do|while|for|break|continue|switch|case|default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow-control.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(cast|untyped)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.untyped.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\btrace\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.trace.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\$type\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.hx\\\"},{\\\"match\\\":\\\"__(global|this)__\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.untyped-property.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(this|super)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\bnew\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.new.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(abstract|class|enum|interface|typedef)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.hx\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"storage.type.function.arrow.hx\\\"},{\\\"include\\\":\\\"#modifiers\\\"},{\\\"include\\\":\\\"#modifiers-inheritance\\\"}]},\\\"keywords-accessor\\\":{\\\"match\\\":\\\"\\\\\\\\b(default|get|set|dynamic|never|null)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.property.hx\\\"},\\\"macro-reification\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reification.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.reification.hx\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([abeipv])\\\\\\\\{\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.reification.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.reification.hx\\\"}},\\\"match\\\":\\\"((\\\\\\\\$)([A-Za-z]*))\\\"}]},\\\"metadata\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile))\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.metadata.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.metadata.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-contents\\\"}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.metadata.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.metadata.hx\\\"}},\\\"match\\\":\\\"((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)))\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(@)(:?[A-Z_a-z]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.metadata.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.metadata.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-contents\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.metadata.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.metadata.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.metadata.hx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.hx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.metadata.hx\\\"}},\\\"match\\\":\\\"(@)(:?)([A-Z_a-z]*(\\\\\\\\.))*([A-Z_a-z]*)?\\\"}]},\\\"method\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\bfunction\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=[;}])\\\",\\\"name\\\":\\\"meta.method.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#macro-reification\\\"},{\\\"include\\\":\\\"#method-name\\\"},{\\\"include\\\":\\\"#method-name-post\\\"},{\\\"include\\\":\\\"#method-block\\\"}]},\\\"method-block\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.hx\\\"}},\\\"name\\\":\\\"meta.method.block.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"method-call\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|int??|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z]\\\\\\\\w*))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.untyped-function.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"method-name\\\":{\\\"begin\\\":\\\"\\\\\\\\b(function)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(?:(new)|([A-Z_a-z]\\\\\\\\w*))?\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.hx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.hx\\\"}},\\\"end\\\":\\\"(?=$|\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#macro-reification\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},\\\"method-name-post\\\":{\\\"begin\\\":\\\"(?<=[>\\\\\\\\w\\\\\\\\s])\\\",\\\"end\\\":\\\"(\\\\\\\\{)|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#method-return-type-hint\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"method-return-type-hint\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.hx\\\"}},\\\"end\\\":\\\"(?=[0-9;a-{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"modifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(enum)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class\\\"},{\\\"match\\\":\\\"\\\\\\\\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(final)\\\\\\\\b(?=\\\\\\\\s+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))\\\",\\\"name\\\":\\\"storage.modifier.hx\\\"}]},\\\"modifiers-inheritance\\\":{\\\"match\\\":\\\"\\\\\\\\b(implements|extends)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.hx\\\"},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?>>|<<|>>)\\\",\\\"name\\\":\\\"keyword.operator.bitwise.hx\\\"},{\\\"match\\\":\\\"(==|!=|<=|>=|[<>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.hx\\\"},{\\\"match\\\":\\\"(!)\\\",\\\"name\\\":\\\"keyword.operator.logical.hx\\\"},{\\\"match\\\":\\\"(--|\\\\\\\\+\\\\\\\\+)\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.hx\\\"},{\\\"match\\\":\\\"([-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.intiterator.hx\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.arrow.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.nullcoalescing.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.safenavigation.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\bis\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.other.hx\\\"},{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.hx\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]}]},\\\"package\\\":{\\\"begin\\\":\\\"package\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.package.hx\\\"}},\\\"end\\\":\\\"$|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-path\\\"},{\\\"include\\\":\\\"#type-path-package-name\\\"}]},\\\"parameter\\\":{\\\"begin\\\":\\\"(?<=[(,])\\\",\\\"end\\\":\\\"(?=\\\\\\\\)(?!\\\\\\\\s*->)|,)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-hint\\\"},{\\\"include\\\":\\\"#parameter-assign\\\"},{\\\"include\\\":\\\"#global\\\"}]},\\\"parameter-assign\\\":{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.hx\\\"}},\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.hx\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\"},{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#operator-optional\\\"},{\\\"include\\\":\\\"#operator-rest\\\"}]},\\\"parameter-type-hint\\\":{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.hx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\)(?!\\\\\\\\s*->)|[,=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(\\\\\\\\)(?!\\\\\\\\s*->))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.hx\\\"}},\\\"name\\\":\\\"meta.parameters.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"punctuation-accessor\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.hx\\\"},\\\"punctuation-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"},{\\\"include\\\":\\\"#type-check\\\"}]},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.hx\\\"},\\\"punctuation-terminator\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.hx\\\"},\\\"regex\\\":{\\\"begin\\\":\\\"(~/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.hx\\\"}},\\\"end\\\":\\\"(/)([gimsu]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.hx\\\"}},\\\"name\\\":\\\"string.regexp.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h\\\\\\\\h|u\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\\\\\\h)\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*\\\",\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((\\\\\\\\?:)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.capture.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h\\\\\\\\h|u\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\\\\\\h))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h\\\\\\\\h|u\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\\\\\\h))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"string-escape-sequences\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-3][0-9]{2}\\\",\\\"name\\\":\\\"constant.character.escape.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{2}\\\",\\\"name\\\":\\\"constant.character.escape.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u[0-9]{4}\\\",\\\"name\\\":\\\"constant.character.escape.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h+}\\\",\\\"name\\\":\\\"constant.character.escape.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.escape.sequence.hx\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.hx\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.hx\\\"}},\\\"name\\\":\\\"string.quoted.double.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-escape-sequences\\\"}]},{\\\"begin\\\":\\\"(')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.hx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.hx\\\"}},\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.hx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.hx\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\$(?=\\\\\\\\$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.character.escape.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.character.escape.hx\\\"}},\\\"name\\\":\\\"string.quoted.single.hx\\\"},{\\\"include\\\":\\\"#string-escape-sequences\\\"},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block-contents\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.hx\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([A-Z_a-z]\\\\\\\\w*)\\\"},{\\\"match\\\":\\\"\\\",\\\"name\\\":\\\"constant.character.escape.hx\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.quoted.single.hx\\\"}]}]},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#macro-reification\\\"},{\\\"include\\\":\\\"#type-name\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.type.function.hx\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"keyword.operator.type.intersection.hx\\\"},{\\\"match\\\":\\\"\\\\\\\\?(?=\\\\\\\\s*[A-Z_])\\\",\\\"name\\\":\\\"keyword.operator.optional\\\"},{\\\"match\\\":\\\"\\\\\\\\?(?!\\\\\\\\s*[A-Z_])\\\",\\\"name\\\":\\\"punctuation.definition.tag\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typedef-block\\\"}]},{\\\"include\\\":\\\"#function-type\\\"}]},\\\"type-check\\\":{\\\"begin\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.hx\\\"}},\\\"name\\\":\\\"meta.type-parameters.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#type-parameter-constraint-old\\\"},{\\\"include\\\":\\\"#type-parameter-constraint-new\\\"},{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-path\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#type-path-type-name\\\"}]},\\\"type-path-package-name\\\":{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"support.package.hx\\\"},\\\"type-path-type-name\\\":{\\\"match\\\":\\\"\\\\\\\\b(_*[A-Z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.hx\\\"},\\\"typedef\\\":{\\\"begin\\\":\\\"(?=typedef)\\\",\\\"end\\\":\\\"(?<=})|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"name\\\":\\\"meta.typedef.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typedef-name\\\"},{\\\"include\\\":\\\"#typedef-name-post\\\"},{\\\"include\\\":\\\"#typedef-block\\\"}]},\\\"typedef-block\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.hx\\\"}},\\\"name\\\":\\\"meta.block.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#modifiers\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#operator-optional\\\"},{\\\"include\\\":\\\"#typedef-extension\\\"},{\\\"include\\\":\\\"#typedef-simple-field-type-hint\\\"},{\\\"include\\\":\\\"#identifier-name\\\"},{\\\"include\\\":\\\"#strings\\\"}]},\\\"typedef-extension\\\":{\\\"begin\\\":\\\">\\\",\\\"end\\\":\\\",|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"typedef-name\\\":{\\\"begin\\\":\\\"\\\\\\\\b(typedef)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.hx\\\"}},\\\"end\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"}]},\\\"typedef-name-post\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\",\\\"end\\\":\\\"(\\\\\\\\{)|(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#punctuation-brackets\\\"},{\\\"include\\\":\\\"#punctuation-separator\\\"},{\\\"include\\\":\\\"#operator-assignment\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"typedef-simple-field-type-hint\\\":{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.hx\\\"}},\\\"end\\\":\\\"(?=[,;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"using\\\":{\\\"begin\\\":\\\"using\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.using.hx\\\"}},\\\"end\\\":\\\"$|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-path\\\"},{\\\"include\\\":\\\"#type-path-package-name\\\"}]},\\\"variable\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b(var|final)\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=$)|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-name\\\"},{\\\"include\\\":\\\"#variable-name-next\\\"},{\\\"include\\\":\\\"#variable-assign\\\"},{\\\"include\\\":\\\"#variable-name-post\\\"}]},\\\"variable-accessors\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.hx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.hx\\\"}},\\\"name\\\":\\\"meta.parameters.hx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"},{\\\"include\\\":\\\"#keywords-accessor\\\"},{\\\"include\\\":\\\"#accessor-method\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"variable-assign\\\":{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.hx\\\"}},\\\"end\\\":\\\"(?=[,;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"variable-name\\\":{\\\"begin\\\":\\\"\\\\\\\\b(var|final)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.variable.hx\\\"}},\\\"end\\\":\\\"(?=$)|([A-Z_a-z]\\\\\\\\w*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#operator-optional\\\"}]},\\\"variable-name-next\\\":{\\\"begin\\\":\\\",\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.comma.hx\\\"}},\\\"end\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.hx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#global\\\"}]},\\\"variable-name-post\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\",\\\"end\\\":\\\"(?=;)|(?==)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-accessors\\\"},{\\\"include\\\":\\\"#variable-type-hint\\\"},{\\\"include\\\":\\\"#block-contents\\\"}]},\\\"variable-type-hint\\\":{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.hx\\\"}},\\\"end\\\":\\\"(?=$|[,;=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}},\\\"scopeName\\\":\\\"source.hx\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "haxe" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,oxkCAAq2sC,CAAC,EAE73sCC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BQ8w6xss.js b/src/webview-ui/build/assets/chunk-BQ8w6xss.js new file mode 100644 index 0000000000..b5d7785dff --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BQ8w6xss.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Verilog","fileTypes":["v","vh"],"name":"verilog","patterns":[{"include":"#comments"},{"include":"#module_pattern"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"},{"include":"#operators"}],"repository":{"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.verilog"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.verilog"}},"end":"\\\\n","name":"comment.line.double-slash.verilog"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.c-style.verilog"}]},"constants":{"patterns":[{"match":"`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.verilog"},{"match":"[0-9]*\'[BDHObdho][XZ_xz\\\\h]+\\\\b","name":"constant.numeric.sized_integer.verilog"},{"captures":{"1":{"name":"constant.numeric.integer.verilog"},"2":{"name":"punctuation.separator.range.verilog"},"3":{"name":"constant.numeric.integer.verilog"}},"match":"\\\\b(\\\\d+)(:)(\\\\d+)\\\\b","name":"meta.block.numeric.range.verilog"},{"match":"\\\\b\\\\d[_\\\\d]*(?i:e\\\\d+)?\\\\b","name":"constant.numeric.integer.verilog"},{"match":"\\\\b\\\\d+\\\\.\\\\d+(?i:e\\\\d+)?\\\\b","name":"constant.numeric.real.verilog"},{"match":"#\\\\d+","name":"constant.numeric.delay.verilog"},{"match":"\\\\b[01XZxz]+\\\\b","name":"constant.numeric.logic.verilog"}]},"instantiation_patterns":{"patterns":[{"include":"#keywords"},{"begin":"^\\\\s*(?!always|and|assign|output|input|inout|wire|module)([A-Za-z][0-9A-Z_a-z]*)\\\\s+([A-Za-z][0-9A-Z_a-z]*)(?])=?|([!=])?==?|!|&&?|\\\\|\\\\|?|\\\\^?~|~\\\\^?","name":"keyword.operator.verilog"}]},"parenthetical_list":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.list.verilog"}},"name":"meta.block.parenthetical_list.verilog","patterns":[{"include":"#parenthetical_list"},{"include":"#comments"},{"include":"#keywords"},{"include":"#constants"},{"include":"#strings"}]}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.verilog","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.verilog"}]}]}},"scopeName":"source.verilog"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BQ8w6xss.js.map diff --git a/src/webview-ui/build/assets/chunk-BQ8w6xss.js.map b/src/webview-ui/build/assets/chunk-BQ8w6xss.js.map new file mode 100644 index 0000000000..82d8653c8f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BQ8w6xss.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BQ8w6xss.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/verilog.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Verilog\\\",\\\"fileTypes\\\":[\\\"v\\\",\\\"vh\\\"],\\\"name\\\":\\\"verilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#module_pattern\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#operators\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.verilog\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.verilog\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.verilog\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c-style.verilog\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"`(?!(celldefine|endcelldefine|default_nettype|define|undef|ifdef|ifndef|else|endif|include|resetall|timescale|unconnected_drive|nounconnected_drive))[A-Z_a-z][$0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.constant.verilog\\\"},{\\\"match\\\":\\\"[0-9]*'[BDHObdho][XZ_xz\\\\\\\\h]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.sized_integer.verilog\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.integer.verilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.range.verilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.verilog\\\"}},\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+)(:)(\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.block.numeric.range.verilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d[_\\\\\\\\d]*(?i:e\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.verilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d+(?i:e\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.real.verilog\\\"},{\\\"match\\\":\\\"#\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.delay.verilog\\\"},{\\\"match\\\":\\\"\\\\\\\\b[01XZxz]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.logic.verilog\\\"}]},\\\"instantiation_patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(?!always|and|assign|output|input|inout|wire|module)([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s+([A-Za-z][0-9A-Z_a-z]*)(?])=?|([!=])?==?|!|&&?|\\\\\\\\|\\\\\\\\|?|\\\\\\\\^?~|~\\\\\\\\^?\\\",\\\"name\\\":\\\"keyword.operator.verilog\\\"}]},\\\"parenthetical_list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.list.verilog\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.list.verilog\\\"}},\\\"name\\\":\\\"meta.block.parenthetical_list.verilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"}]}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.verilog\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.verilog\\\"}]}]}},\\\"scopeName\\\":\\\"source.verilog\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "verilog" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2uLAA0uM,CAAC,EAElwMC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BR7mELCv.js b/src/webview-ui/build/assets/chunk-BR7mELCv.js new file mode 100644 index 0000000000..6c4d6666b4 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BR7mELCv.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBackground":"#00000000","activityBar.activeBorder":"#00000000","activityBar.activeFocusBorder":"#00000000","activityBar.background":"#11111b","activityBar.border":"#00000000","activityBar.dropBorder":"#cba6f733","activityBar.foreground":"#cba6f7","activityBar.inactiveForeground":"#6c7086","activityBarBadge.background":"#cba6f7","activityBarBadge.foreground":"#11111b","activityBarTop.activeBorder":"#00000000","activityBarTop.dropBorder":"#cba6f733","activityBarTop.foreground":"#cba6f7","activityBarTop.inactiveForeground":"#6c7086","badge.background":"#45475a","badge.foreground":"#cdd6f4","banner.background":"#45475a","banner.foreground":"#cdd6f4","banner.iconForeground":"#cdd6f4","breadcrumb.activeSelectionForeground":"#cba6f7","breadcrumb.background":"#1e1e2e","breadcrumb.focusForeground":"#cba6f7","breadcrumb.foreground":"#cdd6f4cc","breadcrumbPicker.background":"#181825","button.background":"#cba6f7","button.border":"#00000000","button.foreground":"#11111b","button.hoverBackground":"#dec7fa","button.secondaryBackground":"#585b70","button.secondaryBorder":"#cba6f7","button.secondaryForeground":"#cdd6f4","button.secondaryHoverBackground":"#686b84","button.separator":"#00000000","charts.blue":"#89b4fa","charts.foreground":"#cdd6f4","charts.green":"#a6e3a1","charts.lines":"#bac2de","charts.orange":"#fab387","charts.purple":"#cba6f7","charts.red":"#f38ba8","charts.yellow":"#f9e2af","checkbox.background":"#45475a","checkbox.border":"#00000000","checkbox.foreground":"#cba6f7","commandCenter.activeBackground":"#585b7033","commandCenter.activeBorder":"#cba6f7","commandCenter.activeForeground":"#cba6f7","commandCenter.background":"#181825","commandCenter.border":"#00000000","commandCenter.foreground":"#bac2de","commandCenter.inactiveBorder":"#00000000","commandCenter.inactiveForeground":"#bac2de","debugConsole.errorForeground":"#f38ba8","debugConsole.infoForeground":"#89b4fa","debugConsole.sourceForeground":"#f5e0dc","debugConsole.warningForeground":"#fab387","debugConsoleInputIcon.foreground":"#cdd6f4","debugExceptionWidget.background":"#11111b","debugExceptionWidget.border":"#cba6f7","debugIcon.breakpointCurrentStackframeForeground":"#585b70","debugIcon.breakpointDisabledForeground":"#f38ba899","debugIcon.breakpointForeground":"#f38ba8","debugIcon.breakpointStackframeForeground":"#585b70","debugIcon.breakpointUnverifiedForeground":"#a6738c","debugIcon.continueForeground":"#a6e3a1","debugIcon.disconnectForeground":"#585b70","debugIcon.pauseForeground":"#89b4fa","debugIcon.restartForeground":"#94e2d5","debugIcon.startForeground":"#a6e3a1","debugIcon.stepBackForeground":"#585b70","debugIcon.stepIntoForeground":"#cdd6f4","debugIcon.stepOutForeground":"#cdd6f4","debugIcon.stepOverForeground":"#cba6f7","debugIcon.stopForeground":"#f38ba8","debugTokenExpression.boolean":"#cba6f7","debugTokenExpression.error":"#f38ba8","debugTokenExpression.number":"#fab387","debugTokenExpression.string":"#a6e3a1","debugToolBar.background":"#11111b","debugToolBar.border":"#00000000","descriptionForeground":"#cdd6f4","diffEditor.border":"#585b70","diffEditor.diagonalFill":"#585b7099","diffEditor.insertedLineBackground":"#a6e3a126","diffEditor.insertedTextBackground":"#a6e3a133","diffEditor.removedLineBackground":"#f38ba826","diffEditor.removedTextBackground":"#f38ba833","diffEditorOverview.insertedForeground":"#a6e3a1cc","diffEditorOverview.removedForeground":"#f38ba8cc","disabledForeground":"#a6adc8","dropdown.background":"#181825","dropdown.border":"#cba6f7","dropdown.foreground":"#cdd6f4","dropdown.listBackground":"#585b70","editor.background":"#1e1e2e","editor.findMatchBackground":"#5e3f53","editor.findMatchBorder":"#f38ba833","editor.findMatchHighlightBackground":"#3e5767","editor.findMatchHighlightBorder":"#89dceb33","editor.findRangeHighlightBackground":"#3e5767","editor.findRangeHighlightBorder":"#89dceb33","editor.focusedStackFrameHighlightBackground":"#a6e3a126","editor.foldBackground":"#89dceb40","editor.foreground":"#cdd6f4","editor.hoverHighlightBackground":"#89dceb40","editor.lineHighlightBackground":"#cdd6f412","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#89dceb40","editor.rangeHighlightBorder":"#00000000","editor.selectionBackground":"#9399b240","editor.selectionHighlightBackground":"#9399b233","editor.selectionHighlightBorder":"#9399b233","editor.stackFrameHighlightBackground":"#f9e2af26","editor.wordHighlightBackground":"#9399b233","editor.wordHighlightStrongBackground":"#89b4fa33","editorBracketHighlight.foreground1":"#f38ba8","editorBracketHighlight.foreground2":"#fab387","editorBracketHighlight.foreground3":"#f9e2af","editorBracketHighlight.foreground4":"#a6e3a1","editorBracketHighlight.foreground5":"#74c7ec","editorBracketHighlight.foreground6":"#cba6f7","editorBracketHighlight.unexpectedBracket.foreground":"#eba0ac","editorBracketMatch.background":"#9399b21a","editorBracketMatch.border":"#9399b2","editorCodeLens.foreground":"#7f849c","editorCursor.background":"#1e1e2e","editorCursor.foreground":"#f5e0dc","editorError.background":"#00000000","editorError.border":"#00000000","editorError.foreground":"#f38ba8","editorGroup.border":"#585b70","editorGroup.dropBackground":"#cba6f733","editorGroup.emptyBackground":"#1e1e2e","editorGroupHeader.tabsBackground":"#11111b","editorGutter.addedBackground":"#a6e3a1","editorGutter.background":"#1e1e2e","editorGutter.commentGlyphForeground":"#cba6f7","editorGutter.commentRangeForeground":"#313244","editorGutter.deletedBackground":"#f38ba8","editorGutter.foldingControlForeground":"#9399b2","editorGutter.modifiedBackground":"#f9e2af","editorHoverWidget.background":"#181825","editorHoverWidget.border":"#585b70","editorHoverWidget.foreground":"#cdd6f4","editorIndentGuide.activeBackground":"#585b70","editorIndentGuide.background":"#45475a","editorInfo.background":"#00000000","editorInfo.border":"#00000000","editorInfo.foreground":"#89b4fa","editorInlayHint.background":"#181825bf","editorInlayHint.foreground":"#585b70","editorInlayHint.parameterBackground":"#181825bf","editorInlayHint.parameterForeground":"#a6adc8","editorInlayHint.typeBackground":"#181825bf","editorInlayHint.typeForeground":"#bac2de","editorLightBulb.foreground":"#f9e2af","editorLineNumber.activeForeground":"#cba6f7","editorLineNumber.foreground":"#7f849c","editorLink.activeForeground":"#cba6f7","editorMarkerNavigation.background":"#181825","editorMarkerNavigationError.background":"#f38ba8","editorMarkerNavigationInfo.background":"#89b4fa","editorMarkerNavigationWarning.background":"#fab387","editorOverviewRuler.background":"#181825","editorOverviewRuler.border":"#cdd6f412","editorOverviewRuler.modifiedForeground":"#f9e2af","editorRuler.foreground":"#585b70","editorStickyScrollHover.background":"#313244","editorSuggestWidget.background":"#181825","editorSuggestWidget.border":"#585b70","editorSuggestWidget.foreground":"#cdd6f4","editorSuggestWidget.highlightForeground":"#cba6f7","editorSuggestWidget.selectedBackground":"#313244","editorWarning.background":"#00000000","editorWarning.border":"#00000000","editorWarning.foreground":"#fab387","editorWhitespace.foreground":"#9399b266","editorWidget.background":"#181825","editorWidget.foreground":"#cdd6f4","editorWidget.resizeBorder":"#585b70","errorForeground":"#f38ba8","errorLens.errorBackground":"#f38ba826","errorLens.errorBackgroundLight":"#f38ba826","errorLens.errorForeground":"#f38ba8","errorLens.errorForegroundLight":"#f38ba8","errorLens.errorMessageBackground":"#f38ba826","errorLens.hintBackground":"#a6e3a126","errorLens.hintBackgroundLight":"#a6e3a126","errorLens.hintForeground":"#a6e3a1","errorLens.hintForegroundLight":"#a6e3a1","errorLens.hintMessageBackground":"#a6e3a126","errorLens.infoBackground":"#89b4fa26","errorLens.infoBackgroundLight":"#89b4fa26","errorLens.infoForeground":"#89b4fa","errorLens.infoForegroundLight":"#89b4fa","errorLens.infoMessageBackground":"#89b4fa26","errorLens.statusBarErrorForeground":"#f38ba8","errorLens.statusBarHintForeground":"#a6e3a1","errorLens.statusBarIconErrorForeground":"#f38ba8","errorLens.statusBarIconWarningForeground":"#fab387","errorLens.statusBarInfoForeground":"#89b4fa","errorLens.statusBarWarningForeground":"#fab387","errorLens.warningBackground":"#fab38726","errorLens.warningBackgroundLight":"#fab38726","errorLens.warningForeground":"#fab387","errorLens.warningForegroundLight":"#fab387","errorLens.warningMessageBackground":"#fab38726","extensionBadge.remoteBackground":"#89b4fa","extensionBadge.remoteForeground":"#11111b","extensionButton.prominentBackground":"#cba6f7","extensionButton.prominentForeground":"#11111b","extensionButton.prominentHoverBackground":"#dec7fa","extensionButton.separator":"#1e1e2e","extensionIcon.preReleaseForeground":"#585b70","extensionIcon.sponsorForeground":"#f5c2e7","extensionIcon.starForeground":"#f9e2af","extensionIcon.verifiedForeground":"#a6e3a1","focusBorder":"#cba6f7","foreground":"#cdd6f4","gitDecoration.addedResourceForeground":"#a6e3a1","gitDecoration.conflictingResourceForeground":"#cba6f7","gitDecoration.deletedResourceForeground":"#f38ba8","gitDecoration.ignoredResourceForeground":"#6c7086","gitDecoration.modifiedResourceForeground":"#f9e2af","gitDecoration.stageDeletedResourceForeground":"#f38ba8","gitDecoration.stageModifiedResourceForeground":"#f9e2af","gitDecoration.submoduleResourceForeground":"#89b4fa","gitDecoration.untrackedResourceForeground":"#a6e3a1","gitlens.closedAutolinkedIssueIconColor":"#cba6f7","gitlens.closedPullRequestIconColor":"#f38ba8","gitlens.decorations.branchAheadForegroundColor":"#a6e3a1","gitlens.decorations.branchBehindForegroundColor":"#fab387","gitlens.decorations.branchDivergedForegroundColor":"#f9e2af","gitlens.decorations.branchMissingUpstreamForegroundColor":"#fab387","gitlens.decorations.branchUnpublishedForegroundColor":"#a6e3a1","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#eba0ac","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#f9e2af","gitlens.decorations.workspaceCurrentForegroundColor":"#cba6f7","gitlens.decorations.workspaceRepoMissingForegroundColor":"#a6adc8","gitlens.decorations.workspaceRepoOpenForegroundColor":"#cba6f7","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#fab387","gitlens.decorations.worktreeMissingForegroundColor":"#eba0ac","gitlens.graphChangesColumnAddedColor":"#a6e3a1","gitlens.graphChangesColumnDeletedColor":"#f38ba8","gitlens.graphLane10Color":"#f5c2e7","gitlens.graphLane1Color":"#cba6f7","gitlens.graphLane2Color":"#f9e2af","gitlens.graphLane3Color":"#89b4fa","gitlens.graphLane4Color":"#f2cdcd","gitlens.graphLane5Color":"#a6e3a1","gitlens.graphLane6Color":"#b4befe","gitlens.graphLane7Color":"#f5e0dc","gitlens.graphLane8Color":"#f38ba8","gitlens.graphLane9Color":"#94e2d5","gitlens.graphMinimapMarkerHeadColor":"#a6e3a1","gitlens.graphMinimapMarkerHighlightsColor":"#f9e2af","gitlens.graphMinimapMarkerLocalBranchesColor":"#89b4fa","gitlens.graphMinimapMarkerRemoteBranchesColor":"#71a4f9","gitlens.graphMinimapMarkerStashesColor":"#cba6f7","gitlens.graphMinimapMarkerTagsColor":"#f2cdcd","gitlens.graphMinimapMarkerUpstreamColor":"#93dd8d","gitlens.graphScrollMarkerHeadColor":"#a6e3a1","gitlens.graphScrollMarkerHighlightsColor":"#f9e2af","gitlens.graphScrollMarkerLocalBranchesColor":"#89b4fa","gitlens.graphScrollMarkerRemoteBranchesColor":"#71a4f9","gitlens.graphScrollMarkerStashesColor":"#cba6f7","gitlens.graphScrollMarkerTagsColor":"#f2cdcd","gitlens.graphScrollMarkerUpstreamColor":"#93dd8d","gitlens.gutterBackgroundColor":"#3132444d","gitlens.gutterForegroundColor":"#cdd6f4","gitlens.gutterUncommittedForegroundColor":"#cba6f7","gitlens.lineHighlightBackgroundColor":"#cba6f726","gitlens.lineHighlightOverviewRulerColor":"#cba6f7cc","gitlens.mergedPullRequestIconColor":"#cba6f7","gitlens.openAutolinkedIssueIconColor":"#a6e3a1","gitlens.openPullRequestIconColor":"#a6e3a1","gitlens.trailingLineBackgroundColor":"#00000000","gitlens.trailingLineForegroundColor":"#cdd6f44d","gitlens.unpublishedChangesIconColor":"#a6e3a1","gitlens.unpublishedCommitIconColor":"#a6e3a1","gitlens.unpulledChangesIconColor":"#fab387","icon.foreground":"#cba6f7","input.background":"#313244","input.border":"#00000000","input.foreground":"#cdd6f4","input.placeholderForeground":"#cdd6f473","inputOption.activeBackground":"#585b70","inputOption.activeBorder":"#cba6f7","inputOption.activeForeground":"#cdd6f4","inputValidation.errorBackground":"#f38ba8","inputValidation.errorBorder":"#11111b33","inputValidation.errorForeground":"#11111b","inputValidation.infoBackground":"#89b4fa","inputValidation.infoBorder":"#11111b33","inputValidation.infoForeground":"#11111b","inputValidation.warningBackground":"#fab387","inputValidation.warningBorder":"#11111b33","inputValidation.warningForeground":"#11111b","issues.closed":"#cba6f7","issues.newIssueDecoration":"#f5e0dc","issues.open":"#a6e3a1","list.activeSelectionBackground":"#313244","list.activeSelectionForeground":"#cdd6f4","list.dropBackground":"#cba6f733","list.focusAndSelectionBackground":"#45475a","list.focusBackground":"#313244","list.focusForeground":"#cdd6f4","list.focusOutline":"#00000000","list.highlightForeground":"#cba6f7","list.hoverBackground":"#31324480","list.hoverForeground":"#cdd6f4","list.inactiveSelectionBackground":"#313244","list.inactiveSelectionForeground":"#cdd6f4","list.warningForeground":"#fab387","listFilterWidget.background":"#45475a","listFilterWidget.noMatchesOutline":"#f38ba8","listFilterWidget.outline":"#00000000","menu.background":"#1e1e2e","menu.border":"#1e1e2e80","menu.foreground":"#cdd6f4","menu.selectionBackground":"#585b70","menu.selectionBorder":"#00000000","menu.selectionForeground":"#cdd6f4","menu.separatorBackground":"#585b70","menubar.selectionBackground":"#45475a","menubar.selectionForeground":"#cdd6f4","merge.commonContentBackground":"#45475a","merge.commonHeaderBackground":"#585b70","merge.currentContentBackground":"#a6e3a133","merge.currentHeaderBackground":"#a6e3a166","merge.incomingContentBackground":"#89b4fa33","merge.incomingHeaderBackground":"#89b4fa66","minimap.background":"#18182580","minimap.errorHighlight":"#f38ba8bf","minimap.findMatchHighlight":"#89dceb4d","minimap.selectionHighlight":"#585b70bf","minimap.selectionOccurrenceHighlight":"#585b70bf","minimap.warningHighlight":"#fab387bf","minimapGutter.addedBackground":"#a6e3a1bf","minimapGutter.deletedBackground":"#f38ba8bf","minimapGutter.modifiedBackground":"#f9e2afbf","minimapSlider.activeBackground":"#cba6f799","minimapSlider.background":"#cba6f733","minimapSlider.hoverBackground":"#cba6f766","notificationCenter.border":"#cba6f7","notificationCenterHeader.background":"#181825","notificationCenterHeader.foreground":"#cdd6f4","notificationLink.foreground":"#89b4fa","notificationToast.border":"#cba6f7","notifications.background":"#181825","notifications.border":"#cba6f7","notifications.foreground":"#cdd6f4","notificationsErrorIcon.foreground":"#f38ba8","notificationsInfoIcon.foreground":"#89b4fa","notificationsWarningIcon.foreground":"#fab387","panel.background":"#1e1e2e","panel.border":"#585b70","panelSection.border":"#585b70","panelSection.dropBackground":"#cba6f733","panelTitle.activeBorder":"#cba6f7","panelTitle.activeForeground":"#cdd6f4","panelTitle.inactiveForeground":"#a6adc8","peekView.border":"#cba6f7","peekViewEditor.background":"#181825","peekViewEditor.matchHighlightBackground":"#89dceb4d","peekViewEditor.matchHighlightBorder":"#00000000","peekViewEditorGutter.background":"#181825","peekViewResult.background":"#181825","peekViewResult.fileForeground":"#cdd6f4","peekViewResult.lineForeground":"#cdd6f4","peekViewResult.matchHighlightBackground":"#89dceb4d","peekViewResult.selectionBackground":"#313244","peekViewResult.selectionForeground":"#cdd6f4","peekViewTitle.background":"#1e1e2e","peekViewTitleDescription.foreground":"#bac2deb3","peekViewTitleLabel.foreground":"#cdd6f4","pickerGroup.border":"#cba6f7","pickerGroup.foreground":"#cba6f7","problemsErrorIcon.foreground":"#f38ba8","problemsInfoIcon.foreground":"#89b4fa","problemsWarningIcon.foreground":"#fab387","progressBar.background":"#cba6f7","pullRequests.closed":"#f38ba8","pullRequests.draft":"#9399b2","pullRequests.merged":"#cba6f7","pullRequests.notification":"#cdd6f4","pullRequests.open":"#a6e3a1","sash.hoverBorder":"#cba6f7","scrollbar.shadow":"#11111b","scrollbarSlider.activeBackground":"#31324466","scrollbarSlider.background":"#585b7080","scrollbarSlider.hoverBackground":"#6c7086","selection.background":"#cba6f766","settings.dropdownBackground":"#45475a","settings.dropdownListBorder":"#00000000","settings.focusedRowBackground":"#585b7033","settings.headerForeground":"#cdd6f4","settings.modifiedItemIndicator":"#cba6f7","settings.numberInputBackground":"#45475a","settings.numberInputBorder":"#00000000","settings.textInputBackground":"#45475a","settings.textInputBorder":"#00000000","sideBar.background":"#181825","sideBar.border":"#00000000","sideBar.dropBackground":"#cba6f733","sideBar.foreground":"#cdd6f4","sideBarSectionHeader.background":"#181825","sideBarSectionHeader.foreground":"#cdd6f4","sideBarTitle.foreground":"#cba6f7","statusBar.background":"#11111b","statusBar.border":"#00000000","statusBar.debuggingBackground":"#fab387","statusBar.debuggingBorder":"#00000000","statusBar.debuggingForeground":"#11111b","statusBar.foreground":"#cdd6f4","statusBar.noFolderBackground":"#11111b","statusBar.noFolderBorder":"#00000000","statusBar.noFolderForeground":"#cdd6f4","statusBarItem.activeBackground":"#585b7066","statusBarItem.errorBackground":"#00000000","statusBarItem.errorForeground":"#f38ba8","statusBarItem.hoverBackground":"#585b7033","statusBarItem.prominentBackground":"#00000000","statusBarItem.prominentForeground":"#cba6f7","statusBarItem.prominentHoverBackground":"#585b7033","statusBarItem.remoteBackground":"#89b4fa","statusBarItem.remoteForeground":"#11111b","statusBarItem.warningBackground":"#00000000","statusBarItem.warningForeground":"#fab387","symbolIcon.arrayForeground":"#fab387","symbolIcon.booleanForeground":"#cba6f7","symbolIcon.classForeground":"#f9e2af","symbolIcon.colorForeground":"#f5c2e7","symbolIcon.constantForeground":"#fab387","symbolIcon.constructorForeground":"#b4befe","symbolIcon.enumeratorForeground":"#f9e2af","symbolIcon.enumeratorMemberForeground":"#f9e2af","symbolIcon.eventForeground":"#f5c2e7","symbolIcon.fieldForeground":"#cdd6f4","symbolIcon.fileForeground":"#cba6f7","symbolIcon.folderForeground":"#cba6f7","symbolIcon.functionForeground":"#89b4fa","symbolIcon.interfaceForeground":"#f9e2af","symbolIcon.keyForeground":"#94e2d5","symbolIcon.keywordForeground":"#cba6f7","symbolIcon.methodForeground":"#89b4fa","symbolIcon.moduleForeground":"#cdd6f4","symbolIcon.namespaceForeground":"#f9e2af","symbolIcon.nullForeground":"#eba0ac","symbolIcon.numberForeground":"#fab387","symbolIcon.objectForeground":"#f9e2af","symbolIcon.operatorForeground":"#94e2d5","symbolIcon.packageForeground":"#f2cdcd","symbolIcon.propertyForeground":"#eba0ac","symbolIcon.referenceForeground":"#f9e2af","symbolIcon.snippetForeground":"#f2cdcd","symbolIcon.stringForeground":"#a6e3a1","symbolIcon.structForeground":"#94e2d5","symbolIcon.textForeground":"#cdd6f4","symbolIcon.typeParameterForeground":"#eba0ac","symbolIcon.unitForeground":"#cdd6f4","symbolIcon.variableForeground":"#cdd6f4","tab.activeBackground":"#1e1e2e","tab.activeBorder":"#00000000","tab.activeBorderTop":"#cba6f7","tab.activeForeground":"#cba6f7","tab.activeModifiedBorder":"#f9e2af","tab.border":"#181825","tab.hoverBackground":"#28283d","tab.hoverBorder":"#00000000","tab.hoverForeground":"#cba6f7","tab.inactiveBackground":"#181825","tab.inactiveForeground":"#6c7086","tab.inactiveModifiedBorder":"#f9e2af4d","tab.lastPinnedBorder":"#cba6f7","tab.unfocusedActiveBackground":"#181825","tab.unfocusedActiveBorder":"#00000000","tab.unfocusedActiveBorderTop":"#cba6f74d","tab.unfocusedInactiveBackground":"#0e0e16","table.headerBackground":"#313244","table.headerForeground":"#cdd6f4","terminal.ansiBlack":"#45475a","terminal.ansiBlue":"#89b4fa","terminal.ansiBrightBlack":"#585b70","terminal.ansiBrightBlue":"#74a8fc","terminal.ansiBrightCyan":"#6bd7ca","terminal.ansiBrightGreen":"#89d88b","terminal.ansiBrightMagenta":"#f2aede","terminal.ansiBrightRed":"#f37799","terminal.ansiBrightWhite":"#bac2de","terminal.ansiBrightYellow":"#ebd391","terminal.ansiCyan":"#94e2d5","terminal.ansiGreen":"#a6e3a1","terminal.ansiMagenta":"#f5c2e7","terminal.ansiRed":"#f38ba8","terminal.ansiWhite":"#a6adc8","terminal.ansiYellow":"#f9e2af","terminal.border":"#585b70","terminal.dropBackground":"#cba6f733","terminal.foreground":"#cdd6f4","terminal.inactiveSelectionBackground":"#585b7080","terminal.selectionBackground":"#585b70","terminal.tab.activeBorder":"#cba6f7","terminalCommandDecoration.defaultBackground":"#585b70","terminalCommandDecoration.errorBackground":"#f38ba8","terminalCommandDecoration.successBackground":"#a6e3a1","terminalCursor.background":"#1e1e2e","terminalCursor.foreground":"#f5e0dc","testing.coverCountBadgeBackground":"#00000000","testing.coverCountBadgeForeground":"#cba6f7","testing.coveredBackground":"#a6e3a14d","testing.coveredBorder":"#00000000","testing.coveredGutterBackground":"#a6e3a14d","testing.iconErrored":"#f38ba8","testing.iconErrored.retired":"#f38ba8","testing.iconFailed":"#f38ba8","testing.iconFailed.retired":"#f38ba8","testing.iconPassed":"#a6e3a1","testing.iconPassed.retired":"#a6e3a1","testing.iconQueued":"#89b4fa","testing.iconQueued.retired":"#89b4fa","testing.iconSkipped":"#a6adc8","testing.iconSkipped.retired":"#a6adc8","testing.iconUnset":"#cdd6f4","testing.iconUnset.retired":"#cdd6f4","testing.message.error.lineBackground":"#f38ba826","testing.message.info.decorationForeground":"#a6e3a1cc","testing.message.info.lineBackground":"#a6e3a126","testing.messagePeekBorder":"#cba6f7","testing.messagePeekHeaderBackground":"#585b70","testing.peekBorder":"#cba6f7","testing.peekHeaderBackground":"#585b70","testing.runAction":"#cba6f7","testing.uncoveredBackground":"#f38ba833","testing.uncoveredBorder":"#00000000","testing.uncoveredBranchBackground":"#f38ba833","testing.uncoveredGutterBackground":"#f38ba840","textBlockQuote.background":"#181825","textBlockQuote.border":"#11111b","textCodeBlock.background":"#181825","textLink.activeForeground":"#89dceb","textLink.foreground":"#89b4fa","textPreformat.foreground":"#cdd6f4","textSeparator.foreground":"#cba6f7","titleBar.activeBackground":"#11111b","titleBar.activeForeground":"#cdd6f4","titleBar.border":"#00000000","titleBar.inactiveBackground":"#11111b","titleBar.inactiveForeground":"#cdd6f480","tree.inactiveIndentGuidesStroke":"#45475a","tree.indentGuidesStroke":"#9399b2","walkThrough.embeddedEditorBackground":"#1e1e2e4d","welcomePage.progress.background":"#11111b","welcomePage.progress.foreground":"#cba6f7","welcomePage.tileBackground":"#181825","widget.shadow":"#18182580","window.activeBorder":"#00000000","window.inactiveBorder":"#00000000"},"displayName":"Catppuccin Mocha","name":"catppuccin-mocha","semanticHighlighting":true,"semanticTokenColors":{"boolean":{"foreground":"#fab387"},"builtinAttribute.attribute.library:rust":{"foreground":"#89b4fa"},"class.builtin:python":{"foreground":"#cba6f7"},"class:python":{"foreground":"#f9e2af"},"constant.builtin.readonly:nix":{"foreground":"#cba6f7"},"enumMember":{"foreground":"#94e2d5"},"function.decorator:python":{"foreground":"#fab387"},"generic.attribute:rust":{"foreground":"#cdd6f4"},"heading":{"foreground":"#f38ba8"},"number":{"foreground":"#fab387"},"pol":{"foreground":"#f2cdcd"},"property.readonly:javascript":{"foreground":"#cdd6f4"},"property.readonly:javascriptreact":{"foreground":"#cdd6f4"},"property.readonly:typescript":{"foreground":"#cdd6f4"},"property.readonly:typescriptreact":{"foreground":"#cdd6f4"},"selfKeyword":{"foreground":"#f38ba8"},"text.emph":{"fontStyle":"italic","foreground":"#f38ba8"},"text.math":{"foreground":"#f2cdcd"},"text.strong":{"fontStyle":"bold","foreground":"#f38ba8"},"tomlArrayKey":{"fontStyle":"","foreground":"#89b4fa"},"tomlTableKey":{"fontStyle":"","foreground":"#89b4fa"},"type.defaultLibrary:go":{"foreground":"#cba6f7"},"variable.defaultLibrary":{"foreground":"#eba0ac"},"variable.readonly.defaultLibrary:go":{"foreground":"#cba6f7"},"variable.readonly:javascript":{"foreground":"#cdd6f4"},"variable.readonly:javascriptreact":{"foreground":"#cdd6f4"},"variable.readonly:scala":{"foreground":"#cdd6f4"},"variable.readonly:typescript":{"foreground":"#cdd6f4"},"variable.readonly:typescriptreact":{"foreground":"#cdd6f4"},"variable.typeHint:python":{"foreground":"#f9e2af"}},"tokenColors":[{"scope":["text","source","variable.other.readwrite","punctuation.definition.variable"],"settings":{"foreground":"#cdd6f4"}},{"scope":"punctuation","settings":{"fontStyle":"","foreground":"#9399b2"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#9399b2"}},{"scope":["string","punctuation.definition.string"],"settings":{"foreground":"#a6e3a1"}},{"scope":"constant.character.escape","settings":{"foreground":"#f5c2e7"}},{"scope":["constant.numeric","variable.other.constant","entity.name.constant","constant.language.boolean","constant.language.false","constant.language.true","keyword.other.unit.user-defined","keyword.other.unit.suffix.floating-point"],"settings":{"foreground":"#fab387"}},{"scope":["keyword","keyword.operator.word","keyword.operator.new","variable.language.super","support.type.primitive","storage.type","storage.modifier","punctuation.definition.keyword"],"settings":{"fontStyle":"","foreground":"#cba6f7"}},{"scope":"entity.name.tag.documentation","settings":{"foreground":"#cba6f7"}},{"scope":["keyword.operator","punctuation.accessor","punctuation.definition.generic","meta.function.closure punctuation.section.parameters","punctuation.definition.tag","punctuation.separator.key-value"],"settings":{"foreground":"#94e2d5"}},{"scope":["entity.name.function","meta.function-call.method","support.function","support.function.misc","variable.function"],"settings":{"fontStyle":"italic","foreground":"#89b4fa"}},{"scope":["entity.name.class","entity.other.inherited-class","support.class","meta.function-call.constructor","entity.name.struct"],"settings":{"fontStyle":"italic","foreground":"#f9e2af"}},{"scope":"entity.name.enum","settings":{"fontStyle":"italic","foreground":"#f9e2af"}},{"scope":["meta.enum variable.other.readwrite","variable.other.enummember"],"settings":{"foreground":"#94e2d5"}},{"scope":"meta.property.object","settings":{"foreground":"#94e2d5"}},{"scope":["meta.type","meta.type-alias","support.type","entity.name.type"],"settings":{"fontStyle":"italic","foreground":"#f9e2af"}},{"scope":["meta.annotation variable.function","meta.annotation variable.annotation.function","meta.annotation punctuation.definition.annotation","meta.decorator","punctuation.decorator"],"settings":{"foreground":"#fab387"}},{"scope":["variable.parameter","meta.function.parameters"],"settings":{"fontStyle":"italic","foreground":"#eba0ac"}},{"scope":["constant.language","support.function.builtin"],"settings":{"foreground":"#f38ba8"}},{"scope":"entity.other.attribute-name.documentation","settings":{"foreground":"#f38ba8"}},{"scope":["keyword.control.directive","punctuation.definition.directive"],"settings":{"foreground":"#f9e2af"}},{"scope":"punctuation.definition.typeparameters","settings":{"foreground":"#89dceb"}},{"scope":"entity.name.namespace","settings":{"foreground":"#f9e2af"}},{"scope":"support.type.property-name.css","settings":{"fontStyle":"","foreground":"#89b4fa"}},{"scope":["variable.language.this","variable.language.this punctuation.definition.variable"],"settings":{"foreground":"#f38ba8"}},{"scope":"variable.object.property","settings":{"foreground":"#cdd6f4"}},{"scope":["string.template variable","string variable"],"settings":{"foreground":"#cdd6f4"}},{"scope":"keyword.operator.new","settings":{"fontStyle":"bold"}},{"scope":"storage.modifier.specifier.extern.cpp","settings":{"foreground":"#cba6f7"}},{"scope":["entity.name.scope-resolution.template.call.cpp","entity.name.scope-resolution.parameter.cpp","entity.name.scope-resolution.cpp","entity.name.scope-resolution.function.definition.cpp"],"settings":{"foreground":"#f9e2af"}},{"scope":"storage.type.class.doxygen","settings":{"fontStyle":""}},{"scope":["storage.modifier.reference.cpp"],"settings":{"foreground":"#94e2d5"}},{"scope":"meta.interpolation.cs","settings":{"foreground":"#cdd6f4"}},{"scope":"comment.block.documentation.cs","settings":{"foreground":"#cdd6f4"}},{"scope":["source.css entity.other.attribute-name.class.css","entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css"],"settings":{"foreground":"#f9e2af"}},{"scope":"punctuation.separator.operator.css","settings":{"foreground":"#94e2d5"}},{"scope":"source.css entity.other.attribute-name.pseudo-class","settings":{"foreground":"#94e2d5"}},{"scope":"source.css constant.other.unicode-range","settings":{"foreground":"#fab387"}},{"scope":"source.css variable.parameter.url","settings":{"fontStyle":"","foreground":"#a6e3a1"}},{"scope":["support.type.vendored.property-name"],"settings":{"foreground":"#89dceb"}},{"scope":["source.css meta.property-value variable","source.css meta.property-value variable.other.less","source.css meta.property-value variable.other.less punctuation.definition.variable.less","meta.definition.variable.scss"],"settings":{"foreground":"#eba0ac"}},{"scope":["source.css meta.property-list variable","meta.property-list variable.other.less","meta.property-list variable.other.less punctuation.definition.variable.less"],"settings":{"foreground":"#89b4fa"}},{"scope":"keyword.other.unit.percentage.css","settings":{"foreground":"#fab387"}},{"scope":"source.css meta.attribute-selector","settings":{"foreground":"#a6e3a1"}},{"scope":["keyword.other.definition.ini","punctuation.support.type.property-name.json","support.type.property-name.json","punctuation.support.type.property-name.toml","support.type.property-name.toml","entity.name.tag.yaml","punctuation.support.type.property-name.yaml","support.type.property-name.yaml"],"settings":{"fontStyle":"","foreground":"#89b4fa"}},{"scope":["constant.language.json","constant.language.yaml"],"settings":{"foreground":"#fab387"}},{"scope":["entity.name.type.anchor.yaml","variable.other.alias.yaml"],"settings":{"fontStyle":"","foreground":"#f9e2af"}},{"scope":["support.type.property-name.table","entity.name.section.group-title.ini"],"settings":{"foreground":"#f9e2af"}},{"scope":"constant.other.time.datetime.offset.toml","settings":{"foreground":"#f5c2e7"}},{"scope":["punctuation.definition.anchor.yaml","punctuation.definition.alias.yaml"],"settings":{"foreground":"#f5c2e7"}},{"scope":"entity.other.document.begin.yaml","settings":{"foreground":"#f5c2e7"}},{"scope":"markup.changed.diff","settings":{"foreground":"#fab387"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#89b4fa"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#a6e3a1"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#f38ba8"}},{"scope":["variable.other.env"],"settings":{"foreground":"#89b4fa"}},{"scope":["string.quoted variable.other.env"],"settings":{"foreground":"#cdd6f4"}},{"scope":"support.function.builtin.gdscript","settings":{"foreground":"#89b4fa"}},{"scope":"constant.language.gdscript","settings":{"foreground":"#fab387"}},{"scope":"comment meta.annotation.go","settings":{"foreground":"#eba0ac"}},{"scope":"comment meta.annotation.parameters.go","settings":{"foreground":"#fab387"}},{"scope":"constant.language.go","settings":{"foreground":"#fab387"}},{"scope":"variable.graphql","settings":{"foreground":"#cdd6f4"}},{"scope":"string.unquoted.alias.graphql","settings":{"foreground":"#f2cdcd"}},{"scope":"constant.character.enum.graphql","settings":{"foreground":"#94e2d5"}},{"scope":"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql","settings":{"foreground":"#f2cdcd"}},{"scope":["keyword.other.doctype","meta.tag.sgml.doctype punctuation.definition.tag","meta.tag.metadata.doctype entity.name.tag","meta.tag.metadata.doctype punctuation.definition.tag"],"settings":{"foreground":"#cba6f7"}},{"scope":["entity.name.tag"],"settings":{"fontStyle":"","foreground":"#89b4fa"}},{"scope":["text.html constant.character.entity","text.html constant.character.entity punctuation","constant.character.entity.xml","constant.character.entity.xml punctuation","constant.character.entity.js.jsx","constant.charactger.entity.js.jsx punctuation","constant.character.entity.tsx","constant.character.entity.tsx punctuation"],"settings":{"foreground":"#f38ba8"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#f9e2af"}},{"scope":["support.class.component","support.class.component.jsx","support.class.component.tsx","support.class.component.vue"],"settings":{"fontStyle":"","foreground":"#f5c2e7"}},{"scope":["punctuation.definition.annotation","storage.type.annotation"],"settings":{"foreground":"#fab387"}},{"scope":"constant.other.enum.java","settings":{"foreground":"#94e2d5"}},{"scope":"storage.modifier.import.java","settings":{"foreground":"#cdd6f4"}},{"scope":"comment.block.javadoc.java keyword.other.documentation.javadoc.java","settings":{"fontStyle":""}},{"scope":"meta.export variable.other.readwrite.js","settings":{"foreground":"#eba0ac"}},{"scope":["variable.other.constant.js","variable.other.constant.ts","variable.other.property.js","variable.other.property.ts"],"settings":{"foreground":"#cdd6f4"}},{"scope":["variable.other.jsdoc","comment.block.documentation variable.other"],"settings":{"fontStyle":"","foreground":"#eba0ac"}},{"scope":"storage.type.class.jsdoc","settings":{"fontStyle":""}},{"scope":"support.type.object.console.js","settings":{"foreground":"#cdd6f4"}},{"scope":["support.constant.node","support.type.object.module.js"],"settings":{"foreground":"#cba6f7"}},{"scope":"storage.modifier.implements","settings":{"foreground":"#cba6f7"}},{"scope":["constant.language.null.js","constant.language.null.ts","constant.language.undefined.js","constant.language.undefined.ts","support.type.builtin.ts"],"settings":{"foreground":"#cba6f7"}},{"scope":"variable.parameter.generic","settings":{"foreground":"#f9e2af"}},{"scope":["keyword.declaration.function.arrow.js","storage.type.function.arrow.ts"],"settings":{"foreground":"#94e2d5"}},{"scope":"punctuation.decorator.ts","settings":{"fontStyle":"italic","foreground":"#89b4fa"}},{"scope":["keyword.operator.expression.in.js","keyword.operator.expression.in.ts","keyword.operator.expression.infer.ts","keyword.operator.expression.instanceof.js","keyword.operator.expression.instanceof.ts","keyword.operator.expression.is","keyword.operator.expression.keyof.ts","keyword.operator.expression.of.js","keyword.operator.expression.of.ts","keyword.operator.expression.typeof.ts"],"settings":{"foreground":"#cba6f7"}},{"scope":"support.function.macro.julia","settings":{"fontStyle":"italic","foreground":"#94e2d5"}},{"scope":"constant.language.julia","settings":{"foreground":"#fab387"}},{"scope":"constant.other.symbol.julia","settings":{"foreground":"#eba0ac"}},{"scope":"text.tex keyword.control.preamble","settings":{"foreground":"#94e2d5"}},{"scope":"text.tex support.function.be","settings":{"foreground":"#89dceb"}},{"scope":"constant.other.general.math.tex","settings":{"foreground":"#f2cdcd"}},{"scope":"variable.language.liquid","settings":{"foreground":"#f5c2e7"}},{"scope":"comment.line.double-dash.documentation.lua storage.type.annotation.lua","settings":{"fontStyle":"","foreground":"#cba6f7"}},{"scope":["comment.line.double-dash.documentation.lua entity.name.variable.lua","comment.line.double-dash.documentation.lua variable.lua"],"settings":{"foreground":"#cdd6f4"}},{"scope":["heading.1.markdown punctuation.definition.heading.markdown","heading.1.markdown","heading.1.quarto punctuation.definition.heading.quarto","heading.1.quarto","markup.heading.atx.1.mdx","markup.heading.atx.1.mdx punctuation.definition.heading.mdx","markup.heading.setext.1.markdown","markup.heading.heading-0.asciidoc"],"settings":{"foreground":"#f38ba8"}},{"scope":["heading.2.markdown punctuation.definition.heading.markdown","heading.2.markdown","heading.2.quarto punctuation.definition.heading.quarto","heading.2.quarto","markup.heading.atx.2.mdx","markup.heading.atx.2.mdx punctuation.definition.heading.mdx","markup.heading.setext.2.markdown","markup.heading.heading-1.asciidoc"],"settings":{"foreground":"#fab387"}},{"scope":["heading.3.markdown punctuation.definition.heading.markdown","heading.3.markdown","heading.3.quarto punctuation.definition.heading.quarto","heading.3.quarto","markup.heading.atx.3.mdx","markup.heading.atx.3.mdx punctuation.definition.heading.mdx","markup.heading.heading-2.asciidoc"],"settings":{"foreground":"#f9e2af"}},{"scope":["heading.4.markdown punctuation.definition.heading.markdown","heading.4.markdown","heading.4.quarto punctuation.definition.heading.quarto","heading.4.quarto","markup.heading.atx.4.mdx","markup.heading.atx.4.mdx punctuation.definition.heading.mdx","markup.heading.heading-3.asciidoc"],"settings":{"foreground":"#a6e3a1"}},{"scope":["heading.5.markdown punctuation.definition.heading.markdown","heading.5.markdown","heading.5.quarto punctuation.definition.heading.quarto","heading.5.quarto","markup.heading.atx.5.mdx","markup.heading.atx.5.mdx punctuation.definition.heading.mdx","markup.heading.heading-4.asciidoc"],"settings":{"foreground":"#74c7ec"}},{"scope":["heading.6.markdown punctuation.definition.heading.markdown","heading.6.markdown","heading.6.quarto punctuation.definition.heading.quarto","heading.6.quarto","markup.heading.atx.6.mdx","markup.heading.atx.6.mdx punctuation.definition.heading.mdx","markup.heading.heading-5.asciidoc"],"settings":{"foreground":"#b4befe"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#f38ba8"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#f38ba8"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough","foreground":"#a6adc8"}},{"scope":["punctuation.definition.link","markup.underline.link"],"settings":{"foreground":"#89b4fa"}},{"scope":["text.html.markdown punctuation.definition.link.title","text.html.quarto punctuation.definition.link.title","string.other.link.title.markdown","string.other.link.title.quarto","markup.link","punctuation.definition.constant.markdown","punctuation.definition.constant.quarto","constant.other.reference.link.markdown","constant.other.reference.link.quarto","markup.substitution.attribute-reference"],"settings":{"foreground":"#b4befe"}},{"scope":["punctuation.definition.raw.markdown","punctuation.definition.raw.quarto","markup.inline.raw.string.markdown","markup.inline.raw.string.quarto","markup.raw.block.markdown","markup.raw.block.quarto"],"settings":{"foreground":"#a6e3a1"}},{"scope":"fenced_code.block.language","settings":{"foreground":"#89dceb"}},{"scope":["markup.fenced_code.block punctuation.definition","markup.raw support.asciidoc"],"settings":{"foreground":"#9399b2"}},{"scope":["markup.quote","punctuation.definition.quote.begin"],"settings":{"foreground":"#f5c2e7"}},{"scope":"meta.separator.markdown","settings":{"foreground":"#94e2d5"}},{"scope":["punctuation.definition.list.begin.markdown","punctuation.definition.list.begin.quarto","markup.list.bullet"],"settings":{"foreground":"#94e2d5"}},{"scope":"markup.heading.quarto","settings":{"fontStyle":"bold"}},{"scope":["entity.other.attribute-name.multipart.nix","entity.other.attribute-name.single.nix"],"settings":{"foreground":"#89b4fa"}},{"scope":"variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#cdd6f4"}},{"scope":"meta.embedded variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#b4befe"}},{"scope":"string.unquoted.path.nix","settings":{"fontStyle":"","foreground":"#f5c2e7"}},{"scope":["support.attribute.builtin","meta.attribute.php"],"settings":{"foreground":"#f9e2af"}},{"scope":"meta.function.parameters.php punctuation.definition.variable.php","settings":{"foreground":"#eba0ac"}},{"scope":"constant.language.php","settings":{"foreground":"#cba6f7"}},{"scope":"text.html.php support.function","settings":{"foreground":"#89dceb"}},{"scope":"keyword.other.phpdoc.php","settings":{"fontStyle":""}},{"scope":["support.variable.magic.python","meta.function-call.arguments.python"],"settings":{"foreground":"#cdd6f4"}},{"scope":["support.function.magic.python"],"settings":{"fontStyle":"italic","foreground":"#89dceb"}},{"scope":["variable.parameter.function.language.special.self.python","variable.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#f38ba8"}},{"scope":["keyword.control.flow.python","keyword.operator.logical.python"],"settings":{"foreground":"#cba6f7"}},{"scope":"storage.type.function.python","settings":{"foreground":"#cba6f7"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#89dceb"}},{"scope":["meta.function-call.python"],"settings":{"foreground":"#89b4fa"}},{"scope":["entity.name.function.decorator.python","punctuation.definition.decorator.python"],"settings":{"fontStyle":"italic","foreground":"#fab387"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#f5c2e7"}},{"scope":["support.type.exception.python","support.function.builtin.python"],"settings":{"foreground":"#fab387"}},{"scope":["support.type.python"],"settings":{"foreground":"#cba6f7"}},{"scope":"constant.language.python","settings":{"foreground":"#fab387"}},{"scope":["meta.indexed-name.python","meta.item-access.python"],"settings":{"fontStyle":"italic","foreground":"#eba0ac"}},{"scope":"storage.type.string.python","settings":{"fontStyle":"italic","foreground":"#a6e3a1"}},{"scope":"meta.function.parameters.python","settings":{"fontStyle":""}},{"scope":["string.regexp punctuation.definition.string.begin","string.regexp punctuation.definition.string.end"],"settings":{"foreground":"#f5c2e7"}},{"scope":"keyword.control.anchor.regexp","settings":{"foreground":"#cba6f7"}},{"scope":"string.regexp.ts","settings":{"foreground":"#cdd6f4"}},{"scope":["punctuation.definition.group.regexp","keyword.other.back-reference.regexp"],"settings":{"foreground":"#a6e3a1"}},{"scope":"punctuation.definition.character-class.regexp","settings":{"foreground":"#f9e2af"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#f5c2e7"}},{"scope":"constant.other.character-class.range.regexp","settings":{"foreground":"#f5e0dc"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#94e2d5"}},{"scope":"constant.character.numeric.regexp","settings":{"foreground":"#fab387"}},{"scope":["punctuation.definition.group.no-capture.regexp","meta.assertion.look-ahead.regexp","meta.assertion.negative-look-ahead.regexp"],"settings":{"foreground":"#89b4fa"}},{"scope":["meta.annotation.rust","meta.annotation.rust punctuation","meta.attribute.rust","punctuation.definition.attribute.rust"],"settings":{"fontStyle":"italic","foreground":"#f9e2af"}},{"scope":["meta.attribute.rust string.quoted.double.rust","meta.attribute.rust string.quoted.single.char.rust"],"settings":{"fontStyle":""}},{"scope":["entity.name.function.macro.rules.rust","storage.type.module.rust","storage.modifier.rust","storage.type.struct.rust","storage.type.enum.rust","storage.type.trait.rust","storage.type.union.rust","storage.type.impl.rust","storage.type.rust","storage.type.function.rust","storage.type.type.rust"],"settings":{"fontStyle":"","foreground":"#cba6f7"}},{"scope":"entity.name.type.numeric.rust","settings":{"fontStyle":"","foreground":"#cba6f7"}},{"scope":"meta.generic.rust","settings":{"foreground":"#fab387"}},{"scope":"entity.name.impl.rust","settings":{"fontStyle":"italic","foreground":"#f9e2af"}},{"scope":"entity.name.module.rust","settings":{"foreground":"#fab387"}},{"scope":"entity.name.trait.rust","settings":{"fontStyle":"italic","foreground":"#f9e2af"}},{"scope":"storage.type.source.rust","settings":{"foreground":"#f9e2af"}},{"scope":"entity.name.union.rust","settings":{"foreground":"#f9e2af"}},{"scope":"meta.enum.rust storage.type.source.rust","settings":{"foreground":"#94e2d5"}},{"scope":["support.macro.rust","meta.macro.rust support.function.rust","entity.name.function.macro.rust"],"settings":{"fontStyle":"italic","foreground":"#89b4fa"}},{"scope":["storage.modifier.lifetime.rust","entity.name.type.lifetime"],"settings":{"fontStyle":"italic","foreground":"#89b4fa"}},{"scope":"string.quoted.double.rust constant.other.placeholder.rust","settings":{"foreground":"#f5c2e7"}},{"scope":"meta.function.return-type.rust meta.generic.rust storage.type.rust","settings":{"foreground":"#cdd6f4"}},{"scope":"meta.function.call.rust","settings":{"foreground":"#89b4fa"}},{"scope":"punctuation.brackets.angle.rust","settings":{"foreground":"#89dceb"}},{"scope":"constant.other.caps.rust","settings":{"foreground":"#fab387"}},{"scope":["meta.function.definition.rust variable.other.rust"],"settings":{"foreground":"#eba0ac"}},{"scope":"meta.function.call.rust variable.other.rust","settings":{"foreground":"#cdd6f4"}},{"scope":"variable.language.self.rust","settings":{"foreground":"#f38ba8"}},{"scope":["variable.other.metavariable.name.rust","meta.macro.metavariable.rust keyword.operator.macro.dollar.rust"],"settings":{"foreground":"#f5c2e7"}},{"scope":["comment.line.shebang","comment.line.shebang punctuation.definition.comment","comment.line.shebang","punctuation.definition.comment.shebang.shell","meta.shebang.shell"],"settings":{"fontStyle":"italic","foreground":"#f5c2e7"}},{"scope":"comment.line.shebang constant.language","settings":{"fontStyle":"italic","foreground":"#94e2d5"}},{"scope":["meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation","meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation"],"settings":{"foreground":"#f38ba8"}},{"scope":"meta.string meta.interpolation.parameter.shell variable.other.readwrite","settings":{"fontStyle":"italic","foreground":"#fab387"}},{"scope":["source.shell punctuation.section.interpolation","punctuation.definition.evaluation.backticks.shell"],"settings":{"foreground":"#94e2d5"}},{"scope":"entity.name.tag.heredoc.shell","settings":{"foreground":"#cba6f7"}},{"scope":"string.quoted.double.shell variable.other.normal.shell","settings":{"foreground":"#cdd6f4"}},{"scope":["markup.heading.typst"],"settings":{"foreground":"#f38ba8"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-BR7mELCv.js.map diff --git a/src/webview-ui/build/assets/chunk-BR7mELCv.js.map b/src/webview-ui/build/assets/chunk-BR7mELCv.js.map new file mode 100644 index 0000000000..ade6357189 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BR7mELCv.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-BR7mELCv.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/catppuccin-mocha.mjs" + ], + "sourcesContent": [ + "/* Theme: catppuccin-mocha */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#11111b\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#cba6f733\\\",\\\"activityBar.foreground\\\":\\\"#cba6f7\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6c7086\\\",\\\"activityBarBadge.background\\\":\\\"#cba6f7\\\",\\\"activityBarBadge.foreground\\\":\\\"#11111b\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#cba6f733\\\",\\\"activityBarTop.foreground\\\":\\\"#cba6f7\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#6c7086\\\",\\\"badge.background\\\":\\\"#45475a\\\",\\\"badge.foreground\\\":\\\"#cdd6f4\\\",\\\"banner.background\\\":\\\"#45475a\\\",\\\"banner.foreground\\\":\\\"#cdd6f4\\\",\\\"banner.iconForeground\\\":\\\"#cdd6f4\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#cba6f7\\\",\\\"breadcrumb.background\\\":\\\"#1e1e2e\\\",\\\"breadcrumb.focusForeground\\\":\\\"#cba6f7\\\",\\\"breadcrumb.foreground\\\":\\\"#cdd6f4cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#181825\\\",\\\"button.background\\\":\\\"#cba6f7\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#11111b\\\",\\\"button.hoverBackground\\\":\\\"#dec7fa\\\",\\\"button.secondaryBackground\\\":\\\"#585b70\\\",\\\"button.secondaryBorder\\\":\\\"#cba6f7\\\",\\\"button.secondaryForeground\\\":\\\"#cdd6f4\\\",\\\"button.secondaryHoverBackground\\\":\\\"#686b84\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#89b4fa\\\",\\\"charts.foreground\\\":\\\"#cdd6f4\\\",\\\"charts.green\\\":\\\"#a6e3a1\\\",\\\"charts.lines\\\":\\\"#bac2de\\\",\\\"charts.orange\\\":\\\"#fab387\\\",\\\"charts.purple\\\":\\\"#cba6f7\\\",\\\"charts.red\\\":\\\"#f38ba8\\\",\\\"charts.yellow\\\":\\\"#f9e2af\\\",\\\"checkbox.background\\\":\\\"#45475a\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#cba6f7\\\",\\\"commandCenter.activeBackground\\\":\\\"#585b7033\\\",\\\"commandCenter.activeBorder\\\":\\\"#cba6f7\\\",\\\"commandCenter.activeForeground\\\":\\\"#cba6f7\\\",\\\"commandCenter.background\\\":\\\"#181825\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#bac2de\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#bac2de\\\",\\\"debugConsole.errorForeground\\\":\\\"#f38ba8\\\",\\\"debugConsole.infoForeground\\\":\\\"#89b4fa\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f5e0dc\\\",\\\"debugConsole.warningForeground\\\":\\\"#fab387\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#cdd6f4\\\",\\\"debugExceptionWidget.background\\\":\\\"#11111b\\\",\\\"debugExceptionWidget.border\\\":\\\"#cba6f7\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#585b70\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f38ba899\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f38ba8\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#585b70\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#a6738c\\\",\\\"debugIcon.continueForeground\\\":\\\"#a6e3a1\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#585b70\\\",\\\"debugIcon.pauseForeground\\\":\\\"#89b4fa\\\",\\\"debugIcon.restartForeground\\\":\\\"#94e2d5\\\",\\\"debugIcon.startForeground\\\":\\\"#a6e3a1\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#585b70\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#cdd6f4\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#cdd6f4\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#cba6f7\\\",\\\"debugIcon.stopForeground\\\":\\\"#f38ba8\\\",\\\"debugTokenExpression.boolean\\\":\\\"#cba6f7\\\",\\\"debugTokenExpression.error\\\":\\\"#f38ba8\\\",\\\"debugTokenExpression.number\\\":\\\"#fab387\\\",\\\"debugTokenExpression.string\\\":\\\"#a6e3a1\\\",\\\"debugToolBar.background\\\":\\\"#11111b\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#cdd6f4\\\",\\\"diffEditor.border\\\":\\\"#585b70\\\",\\\"diffEditor.diagonalFill\\\":\\\"#585b7099\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#a6e3a126\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#a6e3a133\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#f38ba826\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f38ba833\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#a6e3a1cc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#f38ba8cc\\\",\\\"disabledForeground\\\":\\\"#a6adc8\\\",\\\"dropdown.background\\\":\\\"#181825\\\",\\\"dropdown.border\\\":\\\"#cba6f7\\\",\\\"dropdown.foreground\\\":\\\"#cdd6f4\\\",\\\"dropdown.listBackground\\\":\\\"#585b70\\\",\\\"editor.background\\\":\\\"#1e1e2e\\\",\\\"editor.findMatchBackground\\\":\\\"#5e3f53\\\",\\\"editor.findMatchBorder\\\":\\\"#f38ba833\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#3e5767\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#89dceb33\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#3e5767\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#89dceb33\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#a6e3a126\\\",\\\"editor.foldBackground\\\":\\\"#89dceb40\\\",\\\"editor.foreground\\\":\\\"#cdd6f4\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#89dceb40\\\",\\\"editor.lineHighlightBackground\\\":\\\"#cdd6f412\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#89dceb40\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#9399b240\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#9399b233\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#9399b233\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#f9e2af26\\\",\\\"editor.wordHighlightBackground\\\":\\\"#9399b233\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#89b4fa33\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#f38ba8\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#fab387\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#f9e2af\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a6e3a1\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#74c7ec\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#cba6f7\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#eba0ac\\\",\\\"editorBracketMatch.background\\\":\\\"#9399b21a\\\",\\\"editorBracketMatch.border\\\":\\\"#9399b2\\\",\\\"editorCodeLens.foreground\\\":\\\"#7f849c\\\",\\\"editorCursor.background\\\":\\\"#1e1e2e\\\",\\\"editorCursor.foreground\\\":\\\"#f5e0dc\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#f38ba8\\\",\\\"editorGroup.border\\\":\\\"#585b70\\\",\\\"editorGroup.dropBackground\\\":\\\"#cba6f733\\\",\\\"editorGroup.emptyBackground\\\":\\\"#1e1e2e\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#11111b\\\",\\\"editorGutter.addedBackground\\\":\\\"#a6e3a1\\\",\\\"editorGutter.background\\\":\\\"#1e1e2e\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#cba6f7\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#313244\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f38ba8\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#9399b2\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#f9e2af\\\",\\\"editorHoverWidget.background\\\":\\\"#181825\\\",\\\"editorHoverWidget.border\\\":\\\"#585b70\\\",\\\"editorHoverWidget.foreground\\\":\\\"#cdd6f4\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#585b70\\\",\\\"editorIndentGuide.background\\\":\\\"#45475a\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#89b4fa\\\",\\\"editorInlayHint.background\\\":\\\"#181825bf\\\",\\\"editorInlayHint.foreground\\\":\\\"#585b70\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#181825bf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a6adc8\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#181825bf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#bac2de\\\",\\\"editorLightBulb.foreground\\\":\\\"#f9e2af\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#cba6f7\\\",\\\"editorLineNumber.foreground\\\":\\\"#7f849c\\\",\\\"editorLink.activeForeground\\\":\\\"#cba6f7\\\",\\\"editorMarkerNavigation.background\\\":\\\"#181825\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#f38ba8\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#89b4fa\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fab387\\\",\\\"editorOverviewRuler.background\\\":\\\"#181825\\\",\\\"editorOverviewRuler.border\\\":\\\"#cdd6f412\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#f9e2af\\\",\\\"editorRuler.foreground\\\":\\\"#585b70\\\",\\\"editorStickyScrollHover.background\\\":\\\"#313244\\\",\\\"editorSuggestWidget.background\\\":\\\"#181825\\\",\\\"editorSuggestWidget.border\\\":\\\"#585b70\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#cdd6f4\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#cba6f7\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#313244\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#fab387\\\",\\\"editorWhitespace.foreground\\\":\\\"#9399b266\\\",\\\"editorWidget.background\\\":\\\"#181825\\\",\\\"editorWidget.foreground\\\":\\\"#cdd6f4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#585b70\\\",\\\"errorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.errorBackground\\\":\\\"#f38ba826\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#f38ba826\\\",\\\"errorLens.errorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#f38ba8\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#f38ba826\\\",\\\"errorLens.hintBackground\\\":\\\"#a6e3a126\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#a6e3a126\\\",\\\"errorLens.hintForeground\\\":\\\"#a6e3a1\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#a6e3a1\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#a6e3a126\\\",\\\"errorLens.infoBackground\\\":\\\"#89b4fa26\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#89b4fa26\\\",\\\"errorLens.infoForeground\\\":\\\"#89b4fa\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#89b4fa\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#89b4fa26\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#a6e3a1\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#fab387\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#89b4fa\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#fab387\\\",\\\"errorLens.warningBackground\\\":\\\"#fab38726\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#fab38726\\\",\\\"errorLens.warningForeground\\\":\\\"#fab387\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#fab387\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#fab38726\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#89b4fa\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#11111b\\\",\\\"extensionButton.prominentBackground\\\":\\\"#cba6f7\\\",\\\"extensionButton.prominentForeground\\\":\\\"#11111b\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#dec7fa\\\",\\\"extensionButton.separator\\\":\\\"#1e1e2e\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#585b70\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#f5c2e7\\\",\\\"extensionIcon.starForeground\\\":\\\"#f9e2af\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a6e3a1\\\",\\\"focusBorder\\\":\\\"#cba6f7\\\",\\\"foreground\\\":\\\"#cdd6f4\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a6e3a1\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#cba6f7\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f38ba8\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6c7086\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#f9e2af\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#f38ba8\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#f9e2af\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#89b4fa\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a6e3a1\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#cba6f7\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#f38ba8\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#fab387\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#f9e2af\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#fab387\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#eba0ac\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#f9e2af\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#cba6f7\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a6adc8\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#cba6f7\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#fab387\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#eba0ac\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#f38ba8\\\",\\\"gitlens.graphLane10Color\\\":\\\"#f5c2e7\\\",\\\"gitlens.graphLane1Color\\\":\\\"#cba6f7\\\",\\\"gitlens.graphLane2Color\\\":\\\"#f9e2af\\\",\\\"gitlens.graphLane3Color\\\":\\\"#89b4fa\\\",\\\"gitlens.graphLane4Color\\\":\\\"#f2cdcd\\\",\\\"gitlens.graphLane5Color\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphLane6Color\\\":\\\"#b4befe\\\",\\\"gitlens.graphLane7Color\\\":\\\"#f5e0dc\\\",\\\"gitlens.graphLane8Color\\\":\\\"#f38ba8\\\",\\\"gitlens.graphLane9Color\\\":\\\"#94e2d5\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#f9e2af\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#89b4fa\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#71a4f9\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#cba6f7\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#f2cdcd\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#93dd8d\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#f9e2af\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#89b4fa\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#71a4f9\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#cba6f7\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#f2cdcd\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#93dd8d\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#3132444d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#cdd6f4\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#cba6f7\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#cba6f726\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#cba6f7cc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#cba6f7\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#cdd6f44d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fab387\\\",\\\"icon.foreground\\\":\\\"#cba6f7\\\",\\\"input.background\\\":\\\"#313244\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#cdd6f4\\\",\\\"input.placeholderForeground\\\":\\\"#cdd6f473\\\",\\\"inputOption.activeBackground\\\":\\\"#585b70\\\",\\\"inputOption.activeBorder\\\":\\\"#cba6f7\\\",\\\"inputOption.activeForeground\\\":\\\"#cdd6f4\\\",\\\"inputValidation.errorBackground\\\":\\\"#f38ba8\\\",\\\"inputValidation.errorBorder\\\":\\\"#11111b33\\\",\\\"inputValidation.errorForeground\\\":\\\"#11111b\\\",\\\"inputValidation.infoBackground\\\":\\\"#89b4fa\\\",\\\"inputValidation.infoBorder\\\":\\\"#11111b33\\\",\\\"inputValidation.infoForeground\\\":\\\"#11111b\\\",\\\"inputValidation.warningBackground\\\":\\\"#fab387\\\",\\\"inputValidation.warningBorder\\\":\\\"#11111b33\\\",\\\"inputValidation.warningForeground\\\":\\\"#11111b\\\",\\\"issues.closed\\\":\\\"#cba6f7\\\",\\\"issues.newIssueDecoration\\\":\\\"#f5e0dc\\\",\\\"issues.open\\\":\\\"#a6e3a1\\\",\\\"list.activeSelectionBackground\\\":\\\"#313244\\\",\\\"list.activeSelectionForeground\\\":\\\"#cdd6f4\\\",\\\"list.dropBackground\\\":\\\"#cba6f733\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#45475a\\\",\\\"list.focusBackground\\\":\\\"#313244\\\",\\\"list.focusForeground\\\":\\\"#cdd6f4\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#cba6f7\\\",\\\"list.hoverBackground\\\":\\\"#31324480\\\",\\\"list.hoverForeground\\\":\\\"#cdd6f4\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#313244\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#cdd6f4\\\",\\\"list.warningForeground\\\":\\\"#fab387\\\",\\\"listFilterWidget.background\\\":\\\"#45475a\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#f38ba8\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#1e1e2e\\\",\\\"menu.border\\\":\\\"#1e1e2e80\\\",\\\"menu.foreground\\\":\\\"#cdd6f4\\\",\\\"menu.selectionBackground\\\":\\\"#585b70\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#cdd6f4\\\",\\\"menu.separatorBackground\\\":\\\"#585b70\\\",\\\"menubar.selectionBackground\\\":\\\"#45475a\\\",\\\"menubar.selectionForeground\\\":\\\"#cdd6f4\\\",\\\"merge.commonContentBackground\\\":\\\"#45475a\\\",\\\"merge.commonHeaderBackground\\\":\\\"#585b70\\\",\\\"merge.currentContentBackground\\\":\\\"#a6e3a133\\\",\\\"merge.currentHeaderBackground\\\":\\\"#a6e3a166\\\",\\\"merge.incomingContentBackground\\\":\\\"#89b4fa33\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#89b4fa66\\\",\\\"minimap.background\\\":\\\"#18182580\\\",\\\"minimap.errorHighlight\\\":\\\"#f38ba8bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#89dceb4d\\\",\\\"minimap.selectionHighlight\\\":\\\"#585b70bf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#585b70bf\\\",\\\"minimap.warningHighlight\\\":\\\"#fab387bf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a6e3a1bf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f38ba8bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#f9e2afbf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#cba6f799\\\",\\\"minimapSlider.background\\\":\\\"#cba6f733\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#cba6f766\\\",\\\"notificationCenter.border\\\":\\\"#cba6f7\\\",\\\"notificationCenterHeader.background\\\":\\\"#181825\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#cdd6f4\\\",\\\"notificationLink.foreground\\\":\\\"#89b4fa\\\",\\\"notificationToast.border\\\":\\\"#cba6f7\\\",\\\"notifications.background\\\":\\\"#181825\\\",\\\"notifications.border\\\":\\\"#cba6f7\\\",\\\"notifications.foreground\\\":\\\"#cdd6f4\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f38ba8\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#89b4fa\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#fab387\\\",\\\"panel.background\\\":\\\"#1e1e2e\\\",\\\"panel.border\\\":\\\"#585b70\\\",\\\"panelSection.border\\\":\\\"#585b70\\\",\\\"panelSection.dropBackground\\\":\\\"#cba6f733\\\",\\\"panelTitle.activeBorder\\\":\\\"#cba6f7\\\",\\\"panelTitle.activeForeground\\\":\\\"#cdd6f4\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a6adc8\\\",\\\"peekView.border\\\":\\\"#cba6f7\\\",\\\"peekViewEditor.background\\\":\\\"#181825\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#89dceb4d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#181825\\\",\\\"peekViewResult.background\\\":\\\"#181825\\\",\\\"peekViewResult.fileForeground\\\":\\\"#cdd6f4\\\",\\\"peekViewResult.lineForeground\\\":\\\"#cdd6f4\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#89dceb4d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#313244\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#cdd6f4\\\",\\\"peekViewTitle.background\\\":\\\"#1e1e2e\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#bac2deb3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#cdd6f4\\\",\\\"pickerGroup.border\\\":\\\"#cba6f7\\\",\\\"pickerGroup.foreground\\\":\\\"#cba6f7\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#f38ba8\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#89b4fa\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#fab387\\\",\\\"progressBar.background\\\":\\\"#cba6f7\\\",\\\"pullRequests.closed\\\":\\\"#f38ba8\\\",\\\"pullRequests.draft\\\":\\\"#9399b2\\\",\\\"pullRequests.merged\\\":\\\"#cba6f7\\\",\\\"pullRequests.notification\\\":\\\"#cdd6f4\\\",\\\"pullRequests.open\\\":\\\"#a6e3a1\\\",\\\"sash.hoverBorder\\\":\\\"#cba6f7\\\",\\\"scrollbar.shadow\\\":\\\"#11111b\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#31324466\\\",\\\"scrollbarSlider.background\\\":\\\"#585b7080\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6c7086\\\",\\\"selection.background\\\":\\\"#cba6f766\\\",\\\"settings.dropdownBackground\\\":\\\"#45475a\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#585b7033\\\",\\\"settings.headerForeground\\\":\\\"#cdd6f4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#cba6f7\\\",\\\"settings.numberInputBackground\\\":\\\"#45475a\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#45475a\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#181825\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#cba6f733\\\",\\\"sideBar.foreground\\\":\\\"#cdd6f4\\\",\\\"sideBarSectionHeader.background\\\":\\\"#181825\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#cdd6f4\\\",\\\"sideBarTitle.foreground\\\":\\\"#cba6f7\\\",\\\"statusBar.background\\\":\\\"#11111b\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fab387\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#11111b\\\",\\\"statusBar.foreground\\\":\\\"#cdd6f4\\\",\\\"statusBar.noFolderBackground\\\":\\\"#11111b\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#cdd6f4\\\",\\\"statusBarItem.activeBackground\\\":\\\"#585b7066\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#f38ba8\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#585b7033\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#cba6f7\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#585b7033\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#89b4fa\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#11111b\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.classForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.colorForeground\\\":\\\"#f5c2e7\\\",\\\"symbolIcon.constantForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#b4befe\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.eventForeground\\\":\\\"#f5c2e7\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.fileForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.folderForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.functionForeground\\\":\\\"#89b4fa\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.keyForeground\\\":\\\"#94e2d5\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.methodForeground\\\":\\\"#89b4fa\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.nullForeground\\\":\\\"#eba0ac\\\",\\\"symbolIcon.numberForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.objectForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#94e2d5\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f2cdcd\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#eba0ac\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#f2cdcd\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6e3a1\\\",\\\"symbolIcon.structForeground\\\":\\\"#94e2d5\\\",\\\"symbolIcon.textForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#eba0ac\\\",\\\"symbolIcon.unitForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.variableForeground\\\":\\\"#cdd6f4\\\",\\\"tab.activeBackground\\\":\\\"#1e1e2e\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#cba6f7\\\",\\\"tab.activeForeground\\\":\\\"#cba6f7\\\",\\\"tab.activeModifiedBorder\\\":\\\"#f9e2af\\\",\\\"tab.border\\\":\\\"#181825\\\",\\\"tab.hoverBackground\\\":\\\"#28283d\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#cba6f7\\\",\\\"tab.inactiveBackground\\\":\\\"#181825\\\",\\\"tab.inactiveForeground\\\":\\\"#6c7086\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#f9e2af4d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#cba6f7\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#181825\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#cba6f74d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#0e0e16\\\",\\\"table.headerBackground\\\":\\\"#313244\\\",\\\"table.headerForeground\\\":\\\"#cdd6f4\\\",\\\"terminal.ansiBlack\\\":\\\"#45475a\\\",\\\"terminal.ansiBlue\\\":\\\"#89b4fa\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#585b70\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#74a8fc\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#6bd7ca\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#89d88b\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f2aede\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f37799\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#bac2de\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ebd391\\\",\\\"terminal.ansiCyan\\\":\\\"#94e2d5\\\",\\\"terminal.ansiGreen\\\":\\\"#a6e3a1\\\",\\\"terminal.ansiMagenta\\\":\\\"#f5c2e7\\\",\\\"terminal.ansiRed\\\":\\\"#f38ba8\\\",\\\"terminal.ansiWhite\\\":\\\"#a6adc8\\\",\\\"terminal.ansiYellow\\\":\\\"#f9e2af\\\",\\\"terminal.border\\\":\\\"#585b70\\\",\\\"terminal.dropBackground\\\":\\\"#cba6f733\\\",\\\"terminal.foreground\\\":\\\"#cdd6f4\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#585b7080\\\",\\\"terminal.selectionBackground\\\":\\\"#585b70\\\",\\\"terminal.tab.activeBorder\\\":\\\"#cba6f7\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#585b70\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#f38ba8\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#a6e3a1\\\",\\\"terminalCursor.background\\\":\\\"#1e1e2e\\\",\\\"terminalCursor.foreground\\\":\\\"#f5e0dc\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#cba6f7\\\",\\\"testing.coveredBackground\\\":\\\"#a6e3a14d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#a6e3a14d\\\",\\\"testing.iconErrored\\\":\\\"#f38ba8\\\",\\\"testing.iconErrored.retired\\\":\\\"#f38ba8\\\",\\\"testing.iconFailed\\\":\\\"#f38ba8\\\",\\\"testing.iconFailed.retired\\\":\\\"#f38ba8\\\",\\\"testing.iconPassed\\\":\\\"#a6e3a1\\\",\\\"testing.iconPassed.retired\\\":\\\"#a6e3a1\\\",\\\"testing.iconQueued\\\":\\\"#89b4fa\\\",\\\"testing.iconQueued.retired\\\":\\\"#89b4fa\\\",\\\"testing.iconSkipped\\\":\\\"#a6adc8\\\",\\\"testing.iconSkipped.retired\\\":\\\"#a6adc8\\\",\\\"testing.iconUnset\\\":\\\"#cdd6f4\\\",\\\"testing.iconUnset.retired\\\":\\\"#cdd6f4\\\",\\\"testing.message.error.lineBackground\\\":\\\"#f38ba826\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#a6e3a1cc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#a6e3a126\\\",\\\"testing.messagePeekBorder\\\":\\\"#cba6f7\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#585b70\\\",\\\"testing.peekBorder\\\":\\\"#cba6f7\\\",\\\"testing.peekHeaderBackground\\\":\\\"#585b70\\\",\\\"testing.runAction\\\":\\\"#cba6f7\\\",\\\"testing.uncoveredBackground\\\":\\\"#f38ba833\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#f38ba833\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#f38ba840\\\",\\\"textBlockQuote.background\\\":\\\"#181825\\\",\\\"textBlockQuote.border\\\":\\\"#11111b\\\",\\\"textCodeBlock.background\\\":\\\"#181825\\\",\\\"textLink.activeForeground\\\":\\\"#89dceb\\\",\\\"textLink.foreground\\\":\\\"#89b4fa\\\",\\\"textPreformat.foreground\\\":\\\"#cdd6f4\\\",\\\"textSeparator.foreground\\\":\\\"#cba6f7\\\",\\\"titleBar.activeBackground\\\":\\\"#11111b\\\",\\\"titleBar.activeForeground\\\":\\\"#cdd6f4\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#11111b\\\",\\\"titleBar.inactiveForeground\\\":\\\"#cdd6f480\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#45475a\\\",\\\"tree.indentGuidesStroke\\\":\\\"#9399b2\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#1e1e2e4d\\\",\\\"welcomePage.progress.background\\\":\\\"#11111b\\\",\\\"welcomePage.progress.foreground\\\":\\\"#cba6f7\\\",\\\"welcomePage.tileBackground\\\":\\\"#181825\\\",\\\"widget.shadow\\\":\\\"#18182580\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Mocha\\\",\\\"name\\\":\\\"catppuccin-mocha\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#fab387\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#fab387\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#fab387\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9399b2\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#9399b2\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#74c7ec\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4befe\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#a6adc8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4befe\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9399b2\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b4befe\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5e0dc\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "catppuccinMocha" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,is7CAAm2kD,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BRHolxvo.js b/src/webview-ui/build/assets/chunk-BRHolxvo.js new file mode 100644 index 0000000000..80384272d7 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BRHolxvo.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + `{"displayName":"Ara","fileTypes":["ara"],"name":"ara","patterns":[{"include":"#namespace"},{"include":"#named-arguments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#numbers"},{"include":"#operators"},{"include":"#type"},{"include":"#function-call"}],"repository":{"class-name":{"patterns":[{"begin":"\\\\b(?i)(?|]|<<|>>|\\\\?\\\\?)=)","name":"keyword.assignments.ara"},{"match":"([\\\\^|]|\\\\|\\\\||&&|>>|<<|[\\\\&~]|<<|>>|[<>]|<=>|\\\\?\\\\?|[:?]|\\\\?:)(?!=)","name":"keyword.operators.ara"},{"match":"(===??|!==?|<=|>=|[<>])(?!=)","name":"keyword.operator.comparison.ara"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.ara"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.ara"},{"captures":{"1":{"name":"punctuation.brackets.round.ara"},"2":{"name":"punctuation.brackets.square.ara"},"3":{"name":"punctuation.brackets.curly.ara"},"4":{"name":"keyword.operator.comparison.ara"},"5":{"name":"punctuation.brackets.round.ara"},"6":{"name":"punctuation.brackets.square.ara"},"7":{"name":"punctuation.brackets.curly.ara"}},"match":"(?:\\\\b|(?:(\\\\))|(])|(})))[\\\\t ]+([<>])[\\\\t ]+(?:\\\\b|(?:(\\\\()|(\\\\[)|(\\\\{)))"},{"match":"\\\\???->","name":"keyword.operator.arrow.ara"},{"match":"=>","name":"keyword.operator.double-arrow.ara"},{"match":"::","name":"keyword.operator.static.ara"},{"match":"\\\\(\\\\.\\\\.\\\\.\\\\)","name":"keyword.operator.closure.ara"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.spread.ara"},{"match":"\\\\\\\\","name":"keyword.operator.namespace.ara"}]},"strings":{"patterns":[{"begin":"'","end":"'","name":"string.quoted.single.ara","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.ara"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.ara","patterns":[{"include":"#interpolation"}]}]},"type":{"name":"support.type.php","patterns":[{"match":"\\\\b(?:void|true|false|null|never|float|bool|int|string|dict|vec|object|mixed|nonnull|resource|self|static|parent|iterable)\\\\b","name":"support.type.php"},{"begin":"([A-Z_a-z][0-9A-Z_a-z]*)<","beginCaptures":{"1":{"name":"support.class.php"}},"end":">","patterns":[{"include":"#type-annotation"}]},{"begin":"(shape\\\\()","end":"((,|\\\\.\\\\.\\\\.)?\\\\s*\\\\))","endCaptures":{"1":{"name":"keyword.operator.key.php"}},"name":"storage.type.shape.php","patterns":[{"include":"#type-annotation"},{"include":"#strings"},{"include":"#constants"}]},{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#type-annotation"}]},{"begin":"\\\\(fn\\\\(","end":"\\\\)","patterns":[{"include":"#type-annotation"}]},{"include":"#class-name"},{"include":"#comments"}]},"user-function-call":{"begin":"(?i)(?=[0-9\\\\\\\\_a-z]*[_a-z][0-9_a-z]*\\\\s*\\\\()","end":"(?i)[_a-z][0-9_a-z]*(?=\\\\s*\\\\()","endCaptures":{"0":{"name":"entity.name.function.php"}},"name":"meta.function-call.php","patterns":[{"include":"#namespace"}]}},"scopeName":"source.ara"}`, + ), + ), + e = [a] +export { e as default } +//# sourceMappingURL=chunk-BRHolxvo.js.map diff --git a/src/webview-ui/build/assets/chunk-BRHolxvo.js.map b/src/webview-ui/build/assets/chunk-BRHolxvo.js.map new file mode 100644 index 0000000000..0a0d6b1232 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BRHolxvo.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BRHolxvo.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ara.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Ara\\\",\\\"fileTypes\\\":[\\\"ara\\\"],\\\"name\\\":\\\"ara\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"},{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#function-call\\\"}],\\\"repository\\\":{\\\"class-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?i)(?|]|<<|>>|\\\\\\\\?\\\\\\\\?)=)\\\",\\\"name\\\":\\\"keyword.assignments.ara\\\"},{\\\"match\\\":\\\"([\\\\\\\\^|]|\\\\\\\\|\\\\\\\\||&&|>>|<<|[\\\\\\\\&~]|<<|>>|[<>]|<=>|\\\\\\\\?\\\\\\\\?|[:?]|\\\\\\\\?:)(?!=)\\\",\\\"name\\\":\\\"keyword.operators.ara\\\"},{\\\"match\\\":\\\"(===??|!==?|<=|>=|[<>])(?!=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.ara\\\"},{\\\"match\\\":\\\"(([%+]|(\\\\\\\\*(?!\\\\\\\\w)))(?!=))|(-(?!>))|(/(?!/))\\\",\\\"name\\\":\\\"keyword.operator.math.ara\\\"},{\\\"match\\\":\\\"(?])=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.assignment.ara\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.ara\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.square.ara\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.ara\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.comparison.ara\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.brackets.round.ara\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.brackets.square.ara\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.ara\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b|(?:(\\\\\\\\))|(])|(})))[\\\\\\\\t ]+([<>])[\\\\\\\\t ]+(?:\\\\\\\\b|(?:(\\\\\\\\()|(\\\\\\\\[)|(\\\\\\\\{)))\\\"},{\\\"match\\\":\\\"\\\\\\\\???->\\\",\\\"name\\\":\\\"keyword.operator.arrow.ara\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.double-arrow.ara\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"keyword.operator.static.ara\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.operator.closure.ara\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.ara\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"keyword.operator.namespace.ara\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.ara\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.ara\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.ara\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"type\\\":{\\\"name\\\":\\\"support.type.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:void|true|false|null|never|float|bool|int|string|dict|vec|object|mixed|nonnull|resource|self|static|parent|iterable)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.php\\\"},{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*)<\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},{\\\"begin\\\":\\\"(shape\\\\\\\\()\\\",\\\"end\\\":\\\"((,|\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.key.php\\\"}},\\\"name\\\":\\\"storage.type.shape.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#constants\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(fn\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"user-function-call\\\":{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z]*[_a-z][0-9_a-z]*\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?i)[_a-z][0-9_a-z]*(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}},\\\"scopeName\\\":\\\"source.ara\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "ara" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,0pMAA61N,CAAC,EAEr3NC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BSCcYQo-.js b/src/webview-ui/build/assets/chunk-BSCcYQo-.js new file mode 100644 index 0000000000..ae1bdec10e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BSCcYQo-.js @@ -0,0 +1,12 @@ +import e from "./chunk-CXhxxCfG.js" +import t from "./chunk-CHadp7IV.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"ASP.NET Razor","fileTypes":["razor","cshtml"],"injections":{"string.quoted.double.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]},"string.quoted.single.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]}},"name":"razor","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}],"repository":{"addTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.addTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(addTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"attribute-directive":{"begin":"(@)(attribute)\\\\b\\\\s+","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.attribute"}},"end":"(?<=])|$","name":"meta.directive","patterns":[{"include":"source.cs#attribute-section"}]},"await-prefix":{"match":"(await)\\\\s+","name":"keyword.other.await.cs"},"balanced-brackets-csharp":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"name":"razor.test.balanced.brackets","patterns":[{"include":"source.cs"}]},"balanced-parenthesis-csharp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"name":"razor.test.balanced.parenthesis","patterns":[{"include":"source.cs"}]},"catch-clause":{"begin":"(?:^|(?<=}))\\\\s*(catch)\\\\b\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.try.catch.cs"}},"end":"(?<=})","name":"meta.statement.catch.razor","patterns":[{"include":"#catch-condition"},{"include":"source.cs#when-clause"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"catch-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cs#type"}]},"6":{"name":"entity.name.variable.local.cs"}},"match":"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g)\\\\b)?"}]},"code-directive":{"begin":"(@)(code)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.code"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"csharp-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"csharp-condition":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"source.cs#local-variable-declaration"},{"include":"source.cs#expression"},{"include":"source.cs#punctuation-comma"},{"include":"source.cs#punctuation-semicolon"}]},"directive-codeblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.codeblock","patterns":[{"include":"source.cs#class-or-struct-members"}]},"directive-markupblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.markblock","patterns":[{"include":"$self"}]},"directives":{"patterns":[{"include":"#code-directive"},{"include":"#functions-directive"},{"include":"#page-directive"},{"include":"#addTagHelper-directive"},{"include":"#removeTagHelper-directive"},{"include":"#tagHelperPrefix-directive"},{"include":"#model-directive"},{"include":"#inherits-directive"},{"include":"#implements-directive"},{"include":"#namespace-directive"},{"include":"#inject-directive"},{"include":"#attribute-directive"},{"include":"#section-directive"},{"include":"#layout-directive"},{"include":"#using-directive"},{"include":"#rendermode-directive"},{"include":"#preservewhitespace-directive"},{"include":"#typeparam-directive"}]},"do-statement":{"begin":"(@)(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"do-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"else-part":{"begin":"(?:^|(?<=}))\\\\s*(else)\\\\b\\\\s*?(?: (if))?\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.conditional.else.cs"},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})","name":"meta.statement.else.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"escaped-transition":{"match":"@@","name":"constant.character.escape.razor.transition"},"explicit-razor-expression":{"begin":"(@)\\\\(","beginCaptures":{"0":{"name":"keyword.control.cshtml"},"1":{"patterns":[{"include":"#transition"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.cshtml"}},"name":"meta.expression.explicit.cshtml","patterns":[{"include":"source.cs#expression"}]},"finally-clause":{"begin":"(?:^|(?<=}))\\\\s*(finally)\\\\b\\\\s*?(?=[\\\\n{])","beginCaptures":{"1":{"name":"keyword.control.try.finally.cs"}},"end":"(?<=})","name":"meta.statement.finally.razor","patterns":[{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement":{"begin":"(@)(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#type"}]},"7":{"name":"entity.name.variable.local.cs"},"8":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?\\\\g\\\\s*(?\\\\s*<(?:[^<>]|\\\\g)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g)*|(?\\\\s*\\\\((?:[^()]|\\\\g)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?\\\\((?:[^()]|\\\\g)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"source.cs#expression"}]},"foreach-statement":{"begin":"(@)(await\\\\s+)?(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@)(await\\\\s+)?)(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"functions-directive":{"begin":"(@)(functions)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.functions"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"if-statement":{"begin":"(@)(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"if-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"implements-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.implements"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(implements)\\\\s+([^$]+)?","name":"meta.directive"},"implicit-expression":{"begin":"(?{}\\\\s])","name":"meta.expression.implicit.cshtml","patterns":[{"include":"#await-prefix"},{"include":"#implicit-expression-body"}]},"implicit-expression-accessor":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*","name":"variable.other.object.property.cs"},"implicit-expression-accessor-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"variable.other.object.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-body":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-invocation-start"},{"include":"#implicit-expression-accessor-start"}]},"implicit-expression-continuation":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#balanced-parenthesis-csharp"},{"include":"#balanced-brackets-csharp"},{"include":"#implicit-expression-invocation"},{"include":"#implicit-expression-accessor"},{"include":"#implicit-expression-extension"}]},"implicit-expression-dot-operator":{"captures":{"1":{"name":"punctuation.accessor.cs"}},"match":"(\\\\.)(?=[_[:alpha:]][_[:alnum:]]*)"},"implicit-expression-invocation":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*(?=\\\\()","name":"entity.name.function.cs"},"implicit-expression-invocation-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-null-conditional-operator":{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"}},"match":"(\\\\?)(?=[.\\\\[])"},"implicit-expression-null-forgiveness-operator":{"captures":{"1":{"name":"keyword.operator.logical.cs"}},"match":"(!)(?=\\\\.[_[:alpha:]][_[:alnum:]]*|[(?\\\\[])"},"implicit-expression-operator":{"patterns":[{"include":"#implicit-expression-dot-operator"},{"include":"#implicit-expression-null-conditional-operator"},{"include":"#implicit-expression-null-forgiveness-operator"}]},"inherits-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inherits"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(inherits)\\\\s+([^$]+)?","name":"meta.directive"},"inject-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inject"},"3":{"patterns":[{"include":"source.cs#type"}]},"4":{"name":"entity.name.variable.property.cs"}},"match":"(@)(inject)\\\\s*([\\\\S\\\\s]+?)?\\\\s*([_[:alpha:]][_[:alnum:]]*)?\\\\s*(?=$)","name":"meta.directive"},"layout-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.layout"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(layout)\\\\s+([^$]+)?","name":"meta.directive"},"lock-statement":{"begin":"(@)(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"lock-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"model-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.model"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(model)\\\\s+([^$]+)?","name":"meta.directive"},"namespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.namespace"},"3":{"patterns":[{"include":"#namespace-directive-argument"}]}},"match":"(@)(namespace)\\\\s+(\\\\S+)?","name":"meta.directive"},"namespace-directive-argument":{"captures":{"1":{"name":"entity.name.type.namespace.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)(\\\\.)?"},"non-void-tag":{"begin":"(?=<(!)?([^/>\\\\s]+)(\\\\s|/?>))","end":"()|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"(?=/?>)","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"end":"(?=)","beginCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.open"}},"end":"()","endCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.close"}},"patterns":[{"include":"#wellformed-html"},{"include":"$self"}]},"transition":{"match":"@","name":"keyword.control.cshtml.transition"},"transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement"},{"include":"#if-statement"},{"include":"#else-part"},{"include":"#foreach-statement"},{"include":"#for-statement"},{"include":"#while-statement"},{"include":"#switch-statement"},{"include":"#lock-statement"},{"include":"#do-statement"},{"include":"#try-statement"}]},"try-block":{"begin":"(@)(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-block-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-statement":{"patterns":[{"include":"#try-block"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"try-statement-with-optional-transition":{"patterns":[{"include":"#try-block-with-optional-transition"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"typeparam-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.typeparam"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(typeparam)\\\\s+([^$]+)?","name":"meta.directive"},"unquoted-string-argument":{"match":"[^$]+","name":"string.quoted.double.cs"},"using-alias-directive":{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"keyword.operator.assignment.cs"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*(.+)\\\\s*"},"using-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"},"3":{"patterns":[{"include":"#using-static-directive"},{"include":"#using-alias-directive"},{"include":"#using-standard-directive"}]},"4":{"name":"keyword.control.razor.optionalSemicolon"}},"match":"(@)(using)\\\\b\\\\s+(?![(\\\\s])(.+?)?(;)?$","name":"meta.directive"},"using-standard-directive":{"captures":{"1":{"name":"entity.name.type.namespace.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\s*"},"using-statement":{"begin":"(@)(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-static-directive":{"captures":{"1":{"name":"keyword.other.static.cs"},"2":{"patterns":[{"include":"source.cs#type"}]}},"match":"(static)\\\\b\\\\s+(.+)"},"void-tag":{"begin":"(?i)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$3.void.html","patterns":[{"include":"text.html.basic#attribute"}]},"wellformed-html":{"patterns":[{"include":"#void-tag"},{"include":"#non-void-tag"}]},"while-statement":{"begin":"(?:(@)|^\\\\s*|(?<=})\\\\s*)(while)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.while.cs"}},"end":"(?<=})|(;)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cs"}},"name":"meta.statement.while.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]}},"scopeName":"text.aspnetcorerazor","embeddedLangs":["html","csharp"]}`, + ), + ), + o = [...e, ...t, n] +export { o as default } +//# sourceMappingURL=chunk-BSCcYQo-.js.map diff --git a/src/webview-ui/build/assets/chunk-BSCcYQo-.js.map b/src/webview-ui/build/assets/chunk-BSCcYQo-.js.map new file mode 100644 index 0000000000..8afcf9883a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BSCcYQo-.js.map @@ -0,0 +1,21 @@ +{ + "version": 3, + "file": "chunk-BSCcYQo-.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/razor.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\nimport csharp from './csharp.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ASP.NET Razor\\\",\\\"fileTypes\\\":[\\\"razor\\\",\\\"cshtml\\\"],\\\"injections\\\":{\\\"string.quoted.double.html\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#explicit-razor-expression\\\"},{\\\"include\\\":\\\"#implicit-expression\\\"}]},\\\"string.quoted.single.html\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#explicit-razor-expression\\\"},{\\\"include\\\":\\\"#implicit-expression\\\"}]}},\\\"name\\\":\\\"razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#razor-control-structures\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"repository\\\":{\\\"addTagHelper-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.addTagHelper\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tagHelper-directive-argument\\\"}]}},\\\"match\\\":\\\"(@)(addTagHelper)\\\\\\\\s+([^$]+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"attribute-directive\\\":{\\\"begin\\\":\\\"(@)(attribute)\\\\\\\\b\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.attribute\\\"}},\\\"end\\\":\\\"(?<=])|$\\\",\\\"name\\\":\\\"meta.directive\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#attribute-section\\\"}]},\\\"await-prefix\\\":{\\\"match\\\":\\\"(await)\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.other.await.cs\\\"},\\\"balanced-brackets-csharp\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.squarebracket.open.cs\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.squarebracket.close.cs\\\"}},\\\"name\\\":\\\"razor.test.balanced.brackets\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}]},\\\"balanced-parenthesis-csharp\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"name\\\":\\\"razor.test.balanced.parenthesis\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}]},\\\"catch-clause\\\":{\\\"begin\\\":\\\"(?:^|(?<=}))\\\\\\\\s*(catch)\\\\\\\\b\\\\\\\\s*?(?=[\\\\\\\\n({])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.try.catch.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.catch.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#catch-condition\\\"},{\\\"include\\\":\\\"source.cs#when-clause\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"catch-condition\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.variable.local.cs\\\"}},\\\"match\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s*(?:(\\\\\\\\g)\\\\\\\\b)?\\\"}]},\\\"code-directive\\\":{\\\"begin\\\":\\\"(@)(code)((?=\\\\\\\\{)|\\\\\\\\s+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.code\\\"}},\\\"end\\\":\\\"(?<=})|\\\\\\\\s\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directive-codeblock\\\"}]},\\\"csharp-code-block\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"name\\\":\\\"meta.structure.razor.csharp.codeblock\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"csharp-condition\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#local-variable-declaration\\\"},{\\\"include\\\":\\\"source.cs#expression\\\"},{\\\"include\\\":\\\"source.cs#punctuation-comma\\\"},{\\\"include\\\":\\\"source.cs#punctuation-semicolon\\\"}]},\\\"directive-codeblock\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.codeblock.open\\\"}},\\\"contentName\\\":\\\"source.cs\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.codeblock.close\\\"}},\\\"name\\\":\\\"meta.structure.razor.directive.codeblock\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#class-or-struct-members\\\"}]},\\\"directive-markupblock\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.codeblock.open\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.codeblock.close\\\"}},\\\"name\\\":\\\"meta.structure.razor.directive.markblock\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"directives\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#code-directive\\\"},{\\\"include\\\":\\\"#functions-directive\\\"},{\\\"include\\\":\\\"#page-directive\\\"},{\\\"include\\\":\\\"#addTagHelper-directive\\\"},{\\\"include\\\":\\\"#removeTagHelper-directive\\\"},{\\\"include\\\":\\\"#tagHelperPrefix-directive\\\"},{\\\"include\\\":\\\"#model-directive\\\"},{\\\"include\\\":\\\"#inherits-directive\\\"},{\\\"include\\\":\\\"#implements-directive\\\"},{\\\"include\\\":\\\"#namespace-directive\\\"},{\\\"include\\\":\\\"#inject-directive\\\"},{\\\"include\\\":\\\"#attribute-directive\\\"},{\\\"include\\\":\\\"#section-directive\\\"},{\\\"include\\\":\\\"#layout-directive\\\"},{\\\"include\\\":\\\"#using-directive\\\"},{\\\"include\\\":\\\"#rendermode-directive\\\"},{\\\"include\\\":\\\"#preservewhitespace-directive\\\"},{\\\"include\\\":\\\"#typeparam-directive\\\"}]},\\\"do-statement\\\":{\\\"begin\\\":\\\"(@)(do)\\\\\\\\b\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.loop.do.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.do.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"do-statement-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@))(do)\\\\\\\\b\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.loop.do.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.do.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"else-part\\\":{\\\"begin\\\":\\\"(?:^|(?<=}))\\\\\\\\s*(else)\\\\\\\\b\\\\\\\\s*?(?: (if))?\\\\\\\\s*?(?=[\\\\\\\\n({])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.else.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.if.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.else.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"escaped-transition\\\":{\\\"match\\\":\\\"@@\\\",\\\"name\\\":\\\"constant.character.escape.razor.transition\\\"},\\\"explicit-razor-expression\\\":{\\\"begin\\\":\\\"(@)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.cshtml\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.cshtml\\\"}},\\\"name\\\":\\\"meta.expression.explicit.cshtml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#expression\\\"}]},\\\"finally-clause\\\":{\\\"begin\\\":\\\"(?:^|(?<=}))\\\\\\\\s*(finally)\\\\\\\\b\\\\\\\\s*?(?=[\\\\\\\\n{])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.try.finally.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.finally.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"for-statement\\\":{\\\"begin\\\":\\\"(@)(for)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.loop.for.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.for.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"for-statement-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@))(for)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.loop.for.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.for.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"foreach-condition\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.var.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.local.cs\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.control.loop.in.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(var)\\\\\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*))\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s+\\\\\\\\b(in)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.var.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#tuple-declaration-deconstruction-element-list\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.loop.in.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(var)\\\\\\\\b\\\\\\\\s*)?(?\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\))\\\\\\\\s+\\\\\\\\b(in)\\\\\\\\b\\\"},{\\\"include\\\":\\\"source.cs#expression\\\"}]},\\\"foreach-statement\\\":{\\\"begin\\\":\\\"(@)(await\\\\\\\\s+)?(foreach)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#await-prefix\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.loop.foreach.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.foreach.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#foreach-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"foreach-statement-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@)(await\\\\\\\\s+)?)(foreach)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#await-prefix\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.loop.foreach.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.foreach.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#foreach-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"functions-directive\\\":{\\\"begin\\\":\\\"(@)(functions)((?=\\\\\\\\{)|\\\\\\\\s+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.functions\\\"}},\\\"end\\\":\\\"(?<=})|\\\\\\\\s\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directive-codeblock\\\"}]},\\\"if-statement\\\":{\\\"begin\\\":\\\"(@)(if)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.if.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.if.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"if-statement-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@))(if)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.if.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.if.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"implements-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.implements\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"(@)(implements)\\\\\\\\s+([^$]+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"implicit-expression\\\":{\\\"begin\\\":\\\"(?{}\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.expression.implicit.cshtml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#await-prefix\\\"},{\\\"include\\\":\\\"#implicit-expression-body\\\"}]},\\\"implicit-expression-accessor\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\.)[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.object.property.cs\\\"},\\\"implicit-expression-accessor-start\\\":{\\\"begin\\\":\\\"([_[:alpha:]][_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.cs\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\"')<>{}\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implicit-expression-continuation\\\"}]},\\\"implicit-expression-body\\\":{\\\"end\\\":\\\"(?=[]\\\\\\\"')<>{}\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implicit-expression-invocation-start\\\"},{\\\"include\\\":\\\"#implicit-expression-accessor-start\\\"}]},\\\"implicit-expression-continuation\\\":{\\\"end\\\":\\\"(?=[]\\\\\\\"')<>{}\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#balanced-parenthesis-csharp\\\"},{\\\"include\\\":\\\"#balanced-brackets-csharp\\\"},{\\\"include\\\":\\\"#implicit-expression-invocation\\\"},{\\\"include\\\":\\\"#implicit-expression-accessor\\\"},{\\\"include\\\":\\\"#implicit-expression-extension\\\"}]},\\\"implicit-expression-dot-operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)(?=[_[:alpha:]][_[:alnum:]]*)\\\"},\\\"implicit-expression-invocation\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\.)[_[:alpha:]][_[:alnum:]]*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.cs\\\"},\\\"implicit-expression-invocation-start\\\":{\\\"begin\\\":\\\"([_[:alpha:]][_[:alnum:]]*)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\"')<>{}\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implicit-expression-continuation\\\"}]},\\\"implicit-expression-null-conditional-operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.null-conditional.cs\\\"}},\\\"match\\\":\\\"(\\\\\\\\?)(?=[.\\\\\\\\[])\\\"},\\\"implicit-expression-null-forgiveness-operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.cs\\\"}},\\\"match\\\":\\\"(!)(?=\\\\\\\\.[_[:alpha:]][_[:alnum:]]*|[(?\\\\\\\\[])\\\"},\\\"implicit-expression-operator\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#implicit-expression-dot-operator\\\"},{\\\"include\\\":\\\"#implicit-expression-null-conditional-operator\\\"},{\\\"include\\\":\\\"#implicit-expression-null-forgiveness-operator\\\"}]},\\\"inherits-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.inherits\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"(@)(inherits)\\\\\\\\s+([^$]+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"inject-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.inject\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.variable.property.cs\\\"}},\\\"match\\\":\\\"(@)(inject)\\\\\\\\s*([\\\\\\\\S\\\\\\\\s]+?)?\\\\\\\\s*([_[:alpha:]][_[:alnum:]]*)?\\\\\\\\s*(?=$)\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"layout-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.layout\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"(@)(layout)\\\\\\\\s+([^$]+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"lock-statement\\\":{\\\"begin\\\":\\\"(@)(lock)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.lock.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.lock.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"lock-statement-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@))(lock)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.lock.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.lock.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"model-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.model\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"(@)(model)\\\\\\\\s+([^$]+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"namespace-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.namespace\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace-directive-argument\\\"}]}},\\\"match\\\":\\\"(@)(namespace)\\\\\\\\s+(\\\\\\\\S+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"namespace-directive-argument\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.namespace.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"}},\\\"match\\\":\\\"([_[:alpha:]][_[:alnum:]]*)(\\\\\\\\.)?\\\"},\\\"non-void-tag\\\":{\\\"begin\\\":\\\"(?=<(!)?([^/>\\\\\\\\s]+)(\\\\\\\\s|/?>))\\\",\\\"end\\\":\\\"()|(/>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(!)?([^/>\\\\\\\\s]+)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.razor.tagHelperOptOut\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#razor-control-structures\\\"},{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.cshtml.transition.textTag.open\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.cshtml.transition.textTag.close\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#wellformed-html\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"transition\\\":{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.control.cshtml.transition\\\"},\\\"transitioned-csharp-control-structures\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#using-statement\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"include\\\":\\\"#else-part\\\"},{\\\"include\\\":\\\"#foreach-statement\\\"},{\\\"include\\\":\\\"#for-statement\\\"},{\\\"include\\\":\\\"#while-statement\\\"},{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#lock-statement\\\"},{\\\"include\\\":\\\"#do-statement\\\"},{\\\"include\\\":\\\"#try-statement\\\"}]},\\\"try-block\\\":{\\\"begin\\\":\\\"(@)(try)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.try.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.try.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"try-block-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@))(try)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.try.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.try.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"try-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#try-block\\\"},{\\\"include\\\":\\\"#catch-clause\\\"},{\\\"include\\\":\\\"#finally-clause\\\"}]},\\\"try-statement-with-optional-transition\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#try-block-with-optional-transition\\\"},{\\\"include\\\":\\\"#catch-clause\\\"},{\\\"include\\\":\\\"#finally-clause\\\"}]},\\\"typeparam-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.razor.directive.typeparam\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"(@)(typeparam)\\\\\\\\s+([^$]+)?\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"unquoted-string-argument\\\":{\\\"match\\\":\\\"[^$]+\\\",\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"using-alias-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.alias.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cs\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"([_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\\\\\\s*(=)\\\\\\\\s*(.+)\\\\\\\\s*\\\"},\\\"using-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.using.cs\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#using-static-directive\\\"},{\\\"include\\\":\\\"#using-alias-directive\\\"},{\\\"include\\\":\\\"#using-standard-directive\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.razor.optionalSemicolon\\\"}},\\\"match\\\":\\\"(@)(using)\\\\\\\\b\\\\\\\\s+(?![(\\\\\\\\s])(.+?)?(;)?$\\\",\\\"name\\\":\\\"meta.directive\\\"},\\\"using-standard-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.namespace.cs\\\"}},\\\"match\\\":\\\"([_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*\\\"},\\\"using-statement\\\":{\\\"begin\\\":\\\"(@)(using)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.using.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.using.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"using-statement-with-optional-transition\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s*|(@))(using)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.using.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.statement.using.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]},\\\"using-static-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.static.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs#type\\\"}]}},\\\"match\\\":\\\"(static)\\\\\\\\b\\\\\\\\s+(.+)\\\"},\\\"void-tag\\\":{\\\"begin\\\":\\\"(?i)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.razor.tagHelperOptOut\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$3.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]},\\\"wellformed-html\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#void-tag\\\"},{\\\"include\\\":\\\"#non-void-tag\\\"}]},\\\"while-statement\\\":{\\\"begin\\\":\\\"(?:(@)|^\\\\\\\\s*|(?<=})\\\\\\\\s*)(while)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.loop.while.cs\\\"}},\\\"end\\\":\\\"(?<=})|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cs\\\"}},\\\"name\\\":\\\"meta.statement.while.razor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csharp-condition\\\"},{\\\"include\\\":\\\"#csharp-code-block\\\"},{\\\"include\\\":\\\"#razor-codeblock-body\\\"}]}},\\\"scopeName\\\":\\\"text.aspnetcorerazor\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"csharp\\\"]}\"))\n\nexport default [\n...html,\n...csharp,\nlang\n]\n" + ], + "names": [ + "lang", + "razor", + "html", + "csharp" + ], + "mappings": "8HAGA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,8wxBAAis3B,CAAC,EAEzt3BC,EAAA,CACf,GAAGC,EACH,GAAGC,EACHH,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BTJTHyun.js b/src/webview-ui/build/assets/chunk-BTJTHyun.js new file mode 100644 index 0000000000..a3a77cf3f4 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BTJTHyun.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Gettext PO","fileTypes":["po","pot","potx"],"name":"po","patterns":[{"begin":"^(?:(?=(msg(?:id(_plural)?|ctxt))\\\\s*\\"[^\\"])|\\\\s*$)","end":"\\\\z","patterns":[{"include":"#body"}]},{"include":"#comments"},{"match":"^msg(id|str)\\\\s+\\"\\"\\\\s*$\\\\n?","name":"comment.line.number-sign.po"},{"captures":{"1":{"name":"constant.language.po"},"2":{"name":"punctuation.separator.key-value.po"},"3":{"name":"string.other.po"}},"match":"^\\"(?:([^:\\\\s]+)(:)\\\\s+)?([^\\"]*)\\"\\\\s*$\\\\n?","name":"meta.header.po"}],"repository":{"body":{"patterns":[{"begin":"^(msgid(_plural)?)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.msgid.po"}},"end":"^(?!\\")","name":"meta.scope.msgid.po","patterns":[{"begin":"(\\\\G|^)\\"","end":"\\"","name":"string.quoted.double.po","patterns":[{"match":"\\\\\\\\[\\"\\\\\\\\]","name":"constant.character.escape.po"}]}]},{"begin":"^(msgstr)(?:(\\\\[)(\\\\d+)(]))?\\\\s+","beginCaptures":{"1":{"name":"keyword.control.msgstr.po"},"2":{"name":"keyword.control.msgstr.po"},"3":{"name":"constant.numeric.po"},"4":{"name":"keyword.control.msgstr.po"}},"end":"^(?!\\")","name":"meta.scope.msgstr.po","patterns":[{"begin":"(\\\\G|^)\\"","end":"\\"","name":"string.quoted.double.po","patterns":[{"match":"\\\\\\\\[\\"\\\\\\\\]","name":"constant.character.escape.po"}]}]},{"begin":"^(msgctxt)(?:(\\\\[)(\\\\d+)(]))?\\\\s+","beginCaptures":{"1":{"name":"keyword.control.msgctxt.po"},"2":{"name":"keyword.control.msgctxt.po"},"3":{"name":"constant.numeric.po"},"4":{"name":"keyword.control.msgctxt.po"}},"end":"^(?!\\")","name":"meta.scope.msgctxt.po","patterns":[{"begin":"(\\\\G|^)\\"","end":"\\"","name":"string.quoted.double.po","patterns":[{"match":"\\\\\\\\[\\"\\\\\\\\]","name":"constant.character.escape.po"}]}]},{"captures":{"1":{"name":"punctuation.definition.comment.po"}},"match":"^(#~).*$\\\\n?","name":"comment.line.number-sign.obsolete.po"},{"include":"#comments"},{"match":"^(?!\\\\s*$)[^\\"#].*$\\\\n?","name":"invalid.illegal.po"}]},"comments":{"patterns":[{"begin":"^(?=#)","end":"(?!\\\\G)","patterns":[{"begin":"(#,)\\\\s+","beginCaptures":{"1":{"name":"punctuation.definition.comment.po"}},"end":"\\\\n","name":"comment.line.number-sign.flag.po","patterns":[{"captures":{"1":{"name":"entity.name.type.flag.po"}},"match":"(?:\\\\G|,\\\\s*)(fuzzy|(?:no-)?(?:c|objc|sh|lisp|elisp|librep|scheme|smalltalk|java|csharp|awk|object-pascal|ycp|tcl|perl|perl-brace|php|gcc-internal|qt|boost)-format)"}]},{"begin":"#\\\\.","beginCaptures":{"0":{"name":"punctuation.definition.comment.po"}},"end":"\\\\n","name":"comment.line.number-sign.extracted.po"},{"begin":"(#:)[\\\\t ]*","beginCaptures":{"1":{"name":"punctuation.definition.comment.po"}},"end":"\\\\n","name":"comment.line.number-sign.reference.po","patterns":[{"match":"(\\\\S+:)([;\\\\d]*)","name":"storage.type.class.po"}]},{"begin":"#\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.comment.po"}},"end":"\\\\n","name":"comment.line.number-sign.previous.po"},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.po"}},"end":"\\\\n","name":"comment.line.number-sign.po"}]}]}},"scopeName":"source.po","aliases":["pot","potx"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BTJTHyun.js.map diff --git a/src/webview-ui/build/assets/chunk-BTJTHyun.js.map b/src/webview-ui/build/assets/chunk-BTJTHyun.js.map new file mode 100644 index 0000000000..df4ded2aeb --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BTJTHyun.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BTJTHyun.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/po.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Gettext PO\\\",\\\"fileTypes\\\":[\\\"po\\\",\\\"pot\\\",\\\"potx\\\"],\\\"name\\\":\\\"po\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^(?:(?=(msg(?:id(_plural)?|ctxt))\\\\\\\\s*\\\\\\\"[^\\\\\\\"])|\\\\\\\\s*$)\\\",\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#body\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"^msg(id|str)\\\\\\\\s+\\\\\\\"\\\\\\\"\\\\\\\\s*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.po\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.po\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.po\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.po\\\"}},\\\"match\\\":\\\"^\\\\\\\"(?:([^:\\\\\\\\s]+)(:)\\\\\\\\s+)?([^\\\\\\\"]*)\\\\\\\"\\\\\\\\s*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.header.po\\\"}],\\\"repository\\\":{\\\"body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(msgid(_plural)?)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.msgid.po\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\")\\\",\\\"name\\\":\\\"meta.scope.msgid.po\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\G|^)\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.po\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.po\\\"}]}]},{\\\"begin\\\":\\\"^(msgstr)(?:(\\\\\\\\[)(\\\\\\\\d+)(]))?\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.msgstr.po\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.msgstr.po\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.po\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.msgstr.po\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\")\\\",\\\"name\\\":\\\"meta.scope.msgstr.po\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\G|^)\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.po\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.po\\\"}]}]},{\\\"begin\\\":\\\"^(msgctxt)(?:(\\\\\\\\[)(\\\\\\\\d+)(]))?\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.msgctxt.po\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.msgctxt.po\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.po\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.msgctxt.po\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\")\\\",\\\"name\\\":\\\"meta.scope.msgctxt.po\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\G|^)\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.po\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.po\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.po\\\"}},\\\"match\\\":\\\"^(#~).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.obsolete.po\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"^(?!\\\\\\\\s*$)[^\\\\\\\"#].*$\\\\\\\\n?\\\",\\\"name\\\":\\\"invalid.illegal.po\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(?=#)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(#,)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.po\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.flag.po\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.flag.po\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\G|,\\\\\\\\s*)(fuzzy|(?:no-)?(?:c|objc|sh|lisp|elisp|librep|scheme|smalltalk|java|csharp|awk|object-pascal|ycp|tcl|perl|perl-brace|php|gcc-internal|qt|boost)-format)\\\"}]},{\\\"begin\\\":\\\"#\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.po\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.extracted.po\\\"},{\\\"begin\\\":\\\"(#:)[\\\\\\\\t ]*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.po\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.reference.po\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\S+:)([;\\\\\\\\d]*)\\\",\\\"name\\\":\\\"storage.type.class.po\\\"}]},{\\\"begin\\\":\\\"#\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.po\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.previous.po\\\"},{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.po\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.po\\\"}]}]}},\\\"scopeName\\\":\\\"source.po\\\",\\\"aliases\\\":[\\\"pot\\\",\\\"potx\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "po" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,umGAAiiH,CAAC,EAEzjHC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BU0udk1K.js b/src/webview-ui/build/assets/chunk-BU0udk1K.js new file mode 100644 index 0000000000..2119a44995 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BU0udk1K.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Nextflow","name":"nextflow","patterns":[{"include":"#nextflow"}],"repository":{"enum-def":{"begin":"^\\\\s*(enum)\\\\s+(\\\\w+)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.nextflow"},"2":{"name":"storage.type.groovy"}},"end":"}","patterns":[{"include":"source.nextflow-groovy#comments"},{"include":"#enum-values"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":",|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))","patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"function-body":{"patterns":[{"match":"\\\\s"},{"begin":"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()","end":"(?=[$\\\\w]+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"source.nextflow-groovy#types"}]},{"begin":"([$\\\\w]+)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.nextflow"}},"end":"\\\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"source.nextflow-groovy#groovy-code"}]},{"include":"source.nextflow-groovy#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"source.nextflow-groovy#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"\\\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"source.nextflow-groovy#groovy-code"}]}]},"function-def":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\\\{)(?=\\\\s*(?:def|(?:(?:boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?n)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#function-body"}]},"include-decl":{"patterns":[{"match":"^\\\\b(include)\\\\b","name":"keyword.nextflow"},{"match":"\\\\b(from)\\\\b","name":"keyword.nextflow"}]},"nextflow":{"patterns":[{"include":"#enum-def"},{"include":"#function-def"},{"include":"#process-def"},{"include":"#workflow-def"},{"include":"#output-def"},{"include":"#include-decl"},{"include":"source.nextflow-groovy"}]},"output-def":{"begin":"^\\\\s*(output)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.nextflow"}},"end":"}","name":"output.nextflow","patterns":[{"include":"source.nextflow-groovy#groovy"}]},"process-body":{"patterns":[{"match":"(?:input|output|when|script|shell|exec):","name":"constant.block.nextflow"},{"match":"\\\\b(val|env|file|path|stdin|stdout|tuple)([(\\\\s])","name":"entity.name.function.nextflow"},{"include":"source.nextflow-groovy#groovy"}]},"process-def":{"begin":"^\\\\s*(process)\\\\s+(\\\\w+)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.nextflow"},"2":{"name":"entity.name.function.nextflow"}},"end":"}","name":"process.nextflow","patterns":[{"include":"#process-body"}]},"workflow-body":{"patterns":[{"match":"(?:take|main|emit|publish):","name":"constant.block.nextflow"},{"include":"source.nextflow-groovy#groovy"}]},"workflow-def":{"begin":"^\\\\s*(workflow)(?:\\\\s+(\\\\w+))?\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.nextflow"},"2":{"name":"entity.name.function.nextflow"}},"end":"}","name":"workflow.nextflow","patterns":[{"include":"#workflow-body"}]}},"scopeName":"source.nextflow","aliases":["nf"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BU0udk1K.js.map diff --git a/src/webview-ui/build/assets/chunk-BU0udk1K.js.map b/src/webview-ui/build/assets/chunk-BU0udk1K.js.map new file mode 100644 index 0000000000..0988b807e3 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BU0udk1K.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BU0udk1K.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/nextflow.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Nextflow\\\",\\\"name\\\":\\\"nextflow\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nextflow\\\"}],\\\"repository\\\":{\\\"enum-def\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(enum)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.nextflow\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.groovy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nextflow-groovy#comments\\\"},{\\\"include\\\":\\\"#enum-values\\\"}]},\\\"enum-values\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=;|^)\\\\\\\\s*\\\\\\\\b([0-9A-Z_]+)(?=\\\\\\\\s*(?:[(,}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.enum.name.groovy\\\"}},\\\"end\\\":\\\",|(?=})|^(?!\\\\\\\\s*\\\\\\\\w+\\\\\\\\s*(?:,|$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.enum.value.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.seperator.parameter.groovy\\\"},{\\\"include\\\":\\\"#groovy-code\\\"}]}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s\\\"},{\\\"begin\\\":\\\"(?=[<\\\\\\\\w][^(]*\\\\\\\\s+[$<\\\\\\\\w]+\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?=[$\\\\\\\\w]+\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.method.return-type.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nextflow-groovy#types\\\"}]},{\\\"begin\\\":\\\"([$\\\\\\\\w]+)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.nextflow\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.definition.method.signature.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^)])\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.method.parameters.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^),])\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"name\\\":\\\"meta.method.parameter.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.separator.groovy\\\"},{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.groovy\\\"}},\\\"end\\\":\\\"(?=[),])\\\",\\\"name\\\":\\\"meta.parameter.default.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nextflow-groovy#groovy-code\\\"}]},{\\\"include\\\":\\\"source.nextflow-groovy#parameters\\\"}]}]}]},{\\\"begin\\\":\\\"(?=<)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.method.paramerised-type.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"storage.type.parameters.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nextflow-groovy#types\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.seperator.groovy\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.method.body.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nextflow-groovy#groovy-code\\\"}]}]},\\\"function-def\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?<=;|^|\\\\\\\\{)(?=\\\\\\\\s*(?:def|(?:(?:boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\\\\\w*\\\\\\\\.)*[A-Z]+\\\\\\\\w*)[]\\\\\\\\[]*(?:<.*>)?n)\\\\\\\\s+([^=]+\\\\\\\\s+)?\\\\\\\\w+\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}|(?=[^{])\\\",\\\"name\\\":\\\"meta.definition.method.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},\\\"include-decl\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\b(include)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.nextflow\\\"},{\\\"match\\\":\\\"\\\\\\\\b(from)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.nextflow\\\"}]},\\\"nextflow\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#enum-def\\\"},{\\\"include\\\":\\\"#function-def\\\"},{\\\"include\\\":\\\"#process-def\\\"},{\\\"include\\\":\\\"#workflow-def\\\"},{\\\"include\\\":\\\"#output-def\\\"},{\\\"include\\\":\\\"#include-decl\\\"},{\\\"include\\\":\\\"source.nextflow-groovy\\\"}]},\\\"output-def\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(output)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.nextflow\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"output.nextflow\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nextflow-groovy#groovy\\\"}]},\\\"process-body\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:input|output|when|script|shell|exec):\\\",\\\"name\\\":\\\"constant.block.nextflow\\\"},{\\\"match\\\":\\\"\\\\\\\\b(val|env|file|path|stdin|stdout|tuple)([(\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.function.nextflow\\\"},{\\\"include\\\":\\\"source.nextflow-groovy#groovy\\\"}]},\\\"process-def\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(process)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.nextflow\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.nextflow\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"process.nextflow\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#process-body\\\"}]},\\\"workflow-body\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:take|main|emit|publish):\\\",\\\"name\\\":\\\"constant.block.nextflow\\\"},{\\\"include\\\":\\\"source.nextflow-groovy#groovy\\\"}]},\\\"workflow-def\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(workflow)(?:\\\\\\\\s+(\\\\\\\\w+))?\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.nextflow\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.nextflow\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"workflow.nextflow\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#workflow-body\\\"}]}},\\\"scopeName\\\":\\\"source.nextflow\\\",\\\"aliases\\\":[\\\"nf\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "nextflow" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,iyHAAywI,CAAC,EAEjyIC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BV7otONQ.js b/src/webview-ui/build/assets/chunk-BV7otONQ.js new file mode 100644 index 0000000000..f8d1d98234 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BV7otONQ.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Wenyan","name":"wenyan","patterns":[{"include":"#keywords"},{"include":"#constants"},{"include":"#operators"},{"include":"#symbols"},{"include":"#expression"},{"include":"#comment-blocks"},{"include":"#comment-lines"}],"repository":{"comment-blocks":{"begin":"([批注疏]曰)。?(「「|『)","end":"(」」|』)","name":"comment.block","patterns":[{"match":"\\\\\\\\.","name":"constant.character"}]},"comment-lines":{"begin":"[批注疏]曰","end":"$","name":"comment.line","patterns":[{"match":"\\\\\\\\.","name":"constant.character"}]},"constants":{"patterns":[{"match":"[·〇一七三九二五京億兆八六分十千又四垓埃塵微忽極正毫沙渺溝漠澗百秭穰絲纖萬負載釐零]","name":"constant.numeric"},{"match":"[其陰陽]","name":"constant.language"},{"begin":"「「|『","end":"」」|』","name":"string.quoted","patterns":[{"match":"\\\\\\\\.","name":"constant.character"}]}]},"expression":{"patterns":[{"include":"#variables"}]},"keywords":{"patterns":[{"match":"[元列數爻物術言]","name":"storage.type"},{"match":"乃行是術曰|若其不然者|乃歸空無|欲行是術|乃止是遍|若其然者|其物如是|乃得矣|之術也|必先得|是術曰|恆為是|之物也|乃得|是謂|云云|中之|為是|乃止|若非|或若|之長|其餘","name":"keyword.control"},{"match":"或云|蓋謂","name":"keyword.control"},{"match":"中有陽乎|中無陰乎|所餘幾何|不等於|不大於|不小於|等於|大於|小於|[乘以加於減變除]","name":"keyword.operator"},{"match":"不知何禍歟|不復存矣|姑妄行此|如事不諧|名之曰|吾嘗觀|之禍歟|乃作罷|吾有|今有|物之|書之|以施|昔之|是矣|之書|方悟|之義|嗚呼|之禍|[中今取噫夫施曰有豈]","name":"keyword.other"},{"match":"[之也充凡者若遍銜]","name":"keyword.control"}]},"symbols":{"patterns":[{"match":"[、。]","name":"punctuation.separator"}]},"variables":{"begin":"「","end":"」","name":"variable.other","patterns":[{"match":"\\\\\\\\.","name":"constant.character"}]}},"scopeName":"source.wenyan","aliases":["文言"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BV7otONQ.js.map diff --git a/src/webview-ui/build/assets/chunk-BV7otONQ.js.map b/src/webview-ui/build/assets/chunk-BV7otONQ.js.map new file mode 100644 index 0000000000..439d9ad2f8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BV7otONQ.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BV7otONQ.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/wenyan.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Wenyan\\\",\\\"name\\\":\\\"wenyan\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#symbols\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comment-blocks\\\"},{\\\"include\\\":\\\"#comment-lines\\\"}],\\\"repository\\\":{\\\"comment-blocks\\\":{\\\"begin\\\":\\\"([批注疏]曰)。?(「「|『)\\\",\\\"end\\\":\\\"(」」|』)\\\",\\\"name\\\":\\\"comment.block\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character\\\"}]},\\\"comment-lines\\\":{\\\"begin\\\":\\\"[批注疏]曰\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[·〇一七三九二五京億兆八六分十千又四垓埃塵微忽極正毫沙渺溝漠澗百秭穰絲纖萬負載釐零]\\\",\\\"name\\\":\\\"constant.numeric\\\"},{\\\"match\\\":\\\"[其陰陽]\\\",\\\"name\\\":\\\"constant.language\\\"},{\\\"begin\\\":\\\"「「|『\\\",\\\"end\\\":\\\"」」|』\\\",\\\"name\\\":\\\"string.quoted\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[元列數爻物術言]\\\",\\\"name\\\":\\\"storage.type\\\"},{\\\"match\\\":\\\"乃行是術曰|若其不然者|乃歸空無|欲行是術|乃止是遍|若其然者|其物如是|乃得矣|之術也|必先得|是術曰|恆為是|之物也|乃得|是謂|云云|中之|為是|乃止|若非|或若|之長|其餘\\\",\\\"name\\\":\\\"keyword.control\\\"},{\\\"match\\\":\\\"或云|蓋謂\\\",\\\"name\\\":\\\"keyword.control\\\"},{\\\"match\\\":\\\"中有陽乎|中無陰乎|所餘幾何|不等於|不大於|不小於|等於|大於|小於|[乘以加於減變除]\\\",\\\"name\\\":\\\"keyword.operator\\\"},{\\\"match\\\":\\\"不知何禍歟|不復存矣|姑妄行此|如事不諧|名之曰|吾嘗觀|之禍歟|乃作罷|吾有|今有|物之|書之|以施|昔之|是矣|之書|方悟|之義|嗚呼|之禍|[中今取噫夫施曰有豈]\\\",\\\"name\\\":\\\"keyword.other\\\"},{\\\"match\\\":\\\"[之也充凡者若遍銜]\\\",\\\"name\\\":\\\"keyword.control\\\"}]},\\\"symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[、。]\\\",\\\"name\\\":\\\"punctuation.separator\\\"}]},\\\"variables\\\":{\\\"begin\\\":\\\"「\\\",\\\"end\\\":\\\"」\\\",\\\"name\\\":\\\"variable.other\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character\\\"}]}},\\\"scopeName\\\":\\\"source.wenyan\\\",\\\"aliases\\\":[\\\"文言\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "wenyan" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,kjDAA4xD,CAAC,EAEpzDC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BWvSN4gD.js b/src/webview-ui/build/assets/chunk-BWvSN4gD.js new file mode 100644 index 0000000000..46957eaa7a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BWvSN4gD.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"HashiCorp HCL","fileTypes":["hcl"],"name":"hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\\\.(?!\\\\*)","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\p{alpha}[-\\\\w]*|\\\\d*","endCaptures":{"0":{"patterns":[{"match":"(?!null|false|true)\\\\p{alpha}[-\\\\w]*","name":"variable.other.member.hcl"},{"match":"\\\\d+","name":"constant.numeric.integer.hcl"}]}}},"attribute_definition":{"captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}},"match":"(\\\\()?\\\\b((?!(?:null|false|true)\\\\b)\\\\p{alpha}[-_[:alnum:]]*)(\\\\))?\\\\s*(=(?![=>]))\\\\s*","name":"variable.declaration.hcl"},"attribute_splat":{"begin":"\\\\.","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"begin":"(\\\\w[-\\\\w]*)(([^\\\\n\\\\r\\\\S]+(\\\\w[-_\\\\w]*|\\"[^\\\\n\\\\r\\"]*\\"))*)[^\\\\n\\\\r\\\\S]*(\\\\{)","beginCaptures":{"1":{"patterns":[{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"entity.name.type.hcl"}]},"2":{"patterns":[{"match":"\\"[^\\\\n\\\\r\\"]*\\"","name":"variable.other.enummember.hcl"},{"match":"\\\\p{alpha}[-_[:alnum:]]*","name":"variable.other.enummember.hcl"}]},"5":{"name":"punctuation.section.block.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}},"name":"meta.block.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}]},"block_inline_comments":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"\\\\*/","name":"comment.block.hcl"},"brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}},"patterns":[{"match":"\\\\*","name":"keyword.operator.splat.hcl"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}]},"char_escapes":{"match":"\\\\\\\\(?:[\\"\\\\\\\\nrt]|u(\\\\h{8}|\\\\h{4}))","name":"constant.character.escape.hcl"},"comma":{"match":",","name":"punctuation.separator.hcl"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"begin":"//","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.double-slash.hcl"},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"match":"\\\\bin\\\\b","name":"keyword.operator.word.hcl"},{"match":"\\\\bif\\\\b","name":"keyword.control.conditional.hcl"},{"match":":","name":"keyword.operator.hcl"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"begin":"([-:\\\\w]+)(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*::(\\\\p{alpha}[-_\\\\w]*::)?\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.namespaced.hcl"},{"match":"\\\\b\\\\p{alpha}[-_\\\\w]*\\\\b","name":"support.function.builtin.hcl"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"name":"meta.function-call.hcl","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}]},"hash_line_comments":{"begin":"#","captures":{"0":{"name":"punctuation.definition.comment.hcl"}},"end":"$\\\\n?","name":"comment.line.number-sign.hcl"},"hcl_type_keywords":{"match":"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b","name":"storage.type.hcl"},"heredoc":{"begin":"(<<-?)\\\\s*(\\\\w+)\\\\s*$","beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"end":"^\\\\s*\\\\2\\\\s*$","endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}},"name":"string.unquoted.heredoc.hcl","patterns":[{"include":"#string_interpolation"}]},"inline_for_expression":{"captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]}},"match":"(for)\\\\b(.*)\\\\n"},"inline_if_expression":{"begin":"(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}},"end":"\\\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"language_constants":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.hcl"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"match":"\\\\b(?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*\\\\b","name":"variable.other.readwrite.hcl"},"numeric_literals":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+([Ee][-+]?)\\\\d+\\\\b","name":"constant.numeric.float.hcl"},{"captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}},"match":"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][-+]?)\\\\d+)?\\\\b","name":"constant.numeric.float.hcl"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.integer.hcl"}]},"object_for_expression":{"begin":"(\\\\{)\\\\s?(for)\\\\b","beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"patterns":[{"match":"=>","name":"storage.type.function.hcl"},{"include":"#for_expression_body"}]},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}},"name":"meta.braces.hcl","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}},"match":"\\\\b((?!null|false|true)\\\\p{alpha}[-_[:alnum:]]*)\\\\s*(=(?!=))\\\\s*"},{"captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}},"match":"^\\\\s*((\\").*(\\"))\\\\s*(=)\\\\s*"},{"begin":"^\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"(\\\\))\\\\s*([:=])\\\\s*","endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}},"name":"meta.mapping.key.hcl","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}]},{"include":"#object_key_values"}]},"operators":{"patterns":[{"match":">=","name":"keyword.operator.hcl"},{"match":"<=","name":"keyword.operator.hcl"},{"match":"==","name":"keyword.operator.hcl"},{"match":"!=","name":"keyword.operator.hcl"},{"match":"\\\\+","name":"keyword.operator.arithmetic.hcl"},{"match":"-","name":"keyword.operator.arithmetic.hcl"},{"match":"\\\\*","name":"keyword.operator.arithmetic.hcl"},{"match":"/","name":"keyword.operator.arithmetic.hcl"},{"match":"%","name":"keyword.operator.arithmetic.hcl"},{"match":"&&","name":"keyword.operator.logical.hcl"},{"match":"\\\\|\\\\|","name":"keyword.operator.logical.hcl"},{"match":"!","name":"keyword.operator.logical.hcl"},{"match":">","name":"keyword.operator.hcl"},{"match":"<","name":"keyword.operator.hcl"},{"match":"\\\\?","name":"keyword.operator.hcl"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.hcl"},{"match":":","name":"keyword.operator.hcl"},{"match":"=>","name":"keyword.operator.hcl"}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}},"patterns":[{"include":"#comments"},{"include":"#expressions"}]},"string_interpolation":{"begin":"(?]))\\\\\\\\s*\\\",\\\"name\\\":\\\"variable.declaration.hcl\\\"},\\\"attribute_splat\\\":{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.accessor.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.splat.hcl\\\"}}},\\\"block\\\":{\\\"begin\\\":\\\"(\\\\\\\\w[-\\\\\\\\w]*)(([^\\\\\\\\n\\\\\\\\r\\\\\\\\S]+(\\\\\\\\w[-_\\\\\\\\w]*|\\\\\\\"[^\\\\\\\\n\\\\\\\\r\\\\\\\"]*\\\\\\\"))*)[^\\\\\\\\n\\\\\\\\r\\\\\\\\S]*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?!null|false|true)\\\\\\\\p{alpha}[-_[:alnum:]]*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.hcl\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\\n\\\\\\\\r\\\\\\\"]*\\\\\\\"\\\",\\\"name\\\":\\\"variable.other.enummember.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\p{alpha}[-_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.enummember.hcl\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.hcl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.hcl\\\"}},\\\"name\\\":\\\"meta.block.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#attribute_definition\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"block_inline_comments\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.hcl\\\"},\\\"brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.begin.hcl\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.end.hcl\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.splat.hcl\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#inline_for_expression\\\"},{\\\"include\\\":\\\"#inline_if_expression\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#local_identifiers\\\"}]},\\\"char_escapes\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"\\\\\\\\\\\\\\\\nrt]|u(\\\\\\\\h{8}|\\\\\\\\h{4}))\\\",\\\"name\\\":\\\"constant.character.escape.hcl\\\"},\\\"comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.hcl\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#hash_line_comments\\\"},{\\\"include\\\":\\\"#double_slash_line_comments\\\"},{\\\"include\\\":\\\"#block_inline_comments\\\"}]},\\\"double_slash_line_comments\\\":{\\\"begin\\\":\\\"//\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hcl\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.hcl\\\"},\\\"expressions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal_values\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#tuple_for_expression\\\"},{\\\"include\\\":\\\"#object_for_expression\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#objects\\\"},{\\\"include\\\":\\\"#attribute_access\\\"},{\\\"include\\\":\\\"#attribute_splat\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#parens\\\"}]},\\\"for_expression_body\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\bif\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.conditional.hcl\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#local_identifiers\\\"}]},\\\"functions\\\":{\\\"begin\\\":\\\"([-:\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\p{alpha}[-_\\\\\\\\w]*::(\\\\\\\\p{alpha}[-_\\\\\\\\w]*::)?\\\\\\\\p{alpha}[-_\\\\\\\\w]*\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.namespaced.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\p{alpha}[-_\\\\\\\\w]*\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin.hcl\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.hcl\\\"}},\\\"name\\\":\\\"meta.function-call.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"hash_line_comments\\\":{\\\"begin\\\":\\\"#\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hcl\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.hcl\\\"},\\\"hcl_type_keywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.hcl\\\"},\\\"heredoc\\\":{\\\"begin\\\":\\\"(<<-?)\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.heredoc.hcl\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\2\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.heredoc.hcl\\\"}},\\\"name\\\":\\\"string.unquoted.heredoc.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]},\\\"inline_for_expression\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.hcl\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"storage.type.function.hcl\\\"},{\\\"include\\\":\\\"#for_expression_body\\\"}]}},\\\"match\\\":\\\"(for)\\\\\\\\b(.*)\\\\\\\\n\\\"},\\\"inline_if_expression\\\":{\\\"begin\\\":\\\"(if)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#local_identifiers\\\"}]},\\\"language_constants\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.hcl\\\"},\\\"literal_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric_literals\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#string_literals\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#hcl_type_keywords\\\"}]},\\\"local_identifiers\\\":{\\\"match\\\":\\\"\\\\\\\\b(?!null|false|true)\\\\\\\\p{alpha}[-_[:alnum:]]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.hcl\\\"},\\\"numeric_literals\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.exponent.hcl\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+([Ee][-+]?)\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hcl\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.exponent.hcl\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+(\\\\\\\\.)\\\\\\\\d+(?:([Ee][-+]?)\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hcl\\\"}]},\\\"object_for_expression\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s?(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.hcl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.hcl\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"storage.type.function.hcl\\\"},{\\\"include\\\":\\\"#for_expression_body\\\"}]},\\\"object_key_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#literal_values\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#tuple_for_expression\\\"},{\\\"include\\\":\\\"#object_for_expression\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#functions\\\"}]},\\\"objects\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.hcl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.hcl\\\"}},\\\"name\\\":\\\"meta.braces.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#objects\\\"},{\\\"include\\\":\\\"#inline_for_expression\\\"},{\\\"include\\\":\\\"#inline_if_expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.mapping.key.hcl variable.other.readwrite.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.hcl\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?!null|false|true)\\\\\\\\p{alpha}[-_[:alnum:]]*)\\\\\\\\s*(=(?!=))\\\\\\\\s*\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.mapping.key.hcl string.quoted.double.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.hcl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.hcl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.hcl\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((\\\\\\\").*(\\\\\\\"))\\\\\\\\s*(=)\\\\\\\\s*\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.hcl\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*([:=])\\\\\\\\s*\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.hcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.hcl\\\"}},\\\"name\\\":\\\"meta.mapping.key.hcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute_access\\\"},{\\\"include\\\":\\\"#attribute_splat\\\"}]},{\\\"include\\\":\\\"#object_key_values\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\">=\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"<=\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"==\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"!=\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"-\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.hcl\\\"},{\\\"match\\\":\\\"&&\\\",\\\"name\\\":\\\"keyword.operator.logical.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.hcl\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.logical.hcl\\\"},{\\\"match\\\":\\\">\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.hcl\\\"}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.hcl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.hcl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expressions\\\"}]},\\\"string_interpolation\\\":{\\\"begin\\\":\\\"(?=?|\\\\^","name":"keyword.special.fennel"},{"match":"(->(>)?)","name":"keyword.special.fennel"},{"match":"-\\\\?>(>)?","name":"keyword.special.fennel"},{"match":"-","name":"keyword.special.fennel"},{"match":"not=","name":"keyword.special.fennel"},{"match":"set-forcibly!","name":"keyword.special.fennel"},{"match":"\\\\b(and|band|bnot|bor|bxor|collect|comment|doc??|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\\\b","name":"keyword.special.fennel"},{"match":"\\\\b(fn)\\\\b","name":"keyword.control.fennel"},{"match":"~=","name":"keyword.special.fennel"},{"match":"λ","name":"keyword.special.fennel"}]},"strings":{"begin":"\\"","end":"\\"","name":"string.quoted.double.fennel","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.fennel"}]},"symbols":{"patterns":[{"match":"\\\\w+(?:\\\\.\\\\w+)+","name":"entity.name.function.symbol.fennel"},{"match":"\\\\w+","name":"variable.other.fennel"}]},"table":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.table.bracket.open.fennel"}},"end":"}","endCaptures":{"0":{"name":"punctuation.table.bracket.close.fennel"}},"name":"table.fennel","patterns":[{"include":"#expression"}]},"vector":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.vector.bracket.open.fennel"}},"end":"]","endCaptures":{"0":{"name":"punctuation.vector.bracket.close.fennel"}},"name":"meta.vector.fennel","patterns":[{"include":"#expression"}]}},"scopeName":"source.fnl"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BYunw83y.js.map diff --git a/src/webview-ui/build/assets/chunk-BYunw83y.js.map b/src/webview-ui/build/assets/chunk-BYunw83y.js.map new file mode 100644 index 0000000000..48fe28414b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BYunw83y.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BYunw83y.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/fennel.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Fennel\\\",\\\"name\\\":\\\"fennel\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}],\\\"repository\\\":{\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\";\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.semicolon.fennel\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"nil\\\",\\\"name\\\":\\\"constant.language.nil.fennel\\\"},{\\\"match\\\":\\\"false|true\\\",\\\"name\\\":\\\"constant.language.boolean.fennel\\\"},{\\\"match\\\":\\\"(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+([Ee][-+]?\\\\\\\\d+)?)\\\",\\\"name\\\":\\\"constant.numeric.double.fennel\\\"},{\\\"match\\\":\\\"(-?\\\\\\\\d+)\\\",\\\"name\\\":\\\"constant.numeric.integer.fennel\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#sexp\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#vector\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#special\\\"},{\\\"include\\\":\\\"#lua\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#methods\\\"},{\\\"include\\\":\\\"#symbols\\\"}]},\\\"keywords\\\":{\\\"match\\\":\\\":[^ ]+\\\",\\\"name\\\":\\\"constant.keyword.fennel\\\"},\\\"lua\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(assert|collectgarbage|dofile|error|getmetatable|ipairs|load|loadfile|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|tonumber|tostring|type|xpcall)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fennel\\\"},{\\\"match\\\":\\\"\\\\\\\\b(coroutine|coroutine.create|coroutine.isyieldable|coroutine.resume|coroutine.running|coroutine.status|coroutine.wrap|coroutine.yield|debug|debug.debug|debug.gethook|debug.getinfo|debug.getlocal|debug.getmetatable|debug.getregistry|debug.getupvalue|debug.getuservalue|debug.sethook|debug.setlocal|debug.setmetatable|debug.setupvalue|debug.setuservalue|debug.traceback|debug.upvalueid|debug.upvaluejoin|io|io.close|io.flush|io.input|io.lines|io.open|io.output|io.popen|io.read|io.stderr|io.stdin|io.stdout|io.tmpfile|io.type|io.write|math|math.abs|math.acos|math.asin|math.atan|math.ceil|math.cos|math.deg|math.exp|math.floor|math.fmod|math.huge|math.log|math.max|math.maxinteger|math.min|math.mininteger|math.modf|math.pi|math.rad|math.random|math.randomseed|math.sin|math.sqrt|math.tan|math.tointeger|math.type|math.ult|os|os.clock|os.date|os.difftime|os.execute|os.exit|os.getenv|os.remove|os.rename|os.setlocale|os.time|os.tmpname|package|package.config|package.cpath|package.loaded|package.loadlib|package.path|package.preload|package.searchers|package.searchpath|string|string.byte|string.char|string.dump|string.find|string.format|string.gmatch|string.gsub|string.len|string.lower|string.match|string.pack|string.packsize|string.rep|string.reverse|string.sub|string.unpack|string.upper|table|table.concat|table.insert|table.move|table.pack|table.remove|table.sort|table.unpack|utf8|utf8.char|utf8.charpattern|utf8.codepoint|utf8.codes|utf8.len|utf8.offset)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.library.fennel\\\"},{\\\"match\\\":\\\"\\\\\\\\b(_(?:G|VERSION))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.fennel\\\"}]},\\\"methods\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\w+:\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.function.method.fennel\\\"}]},\\\"sexp\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.paren.open.fennel\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.paren.close.fennel\\\"}},\\\"name\\\":\\\"sexp.fennel\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"special\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[#%*+]|\\\\\\\\?\\\\\\\\.|(\\\\\\\\.)?\\\\\\\\.|(/)?/|:|<=?|=|>=?|\\\\\\\\^\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"(->(>)?)\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"-\\\\\\\\?>(>)?\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"-\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"not=\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"set-forcibly!\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|band|bnot|bor|bxor|collect|comment|doc??|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"\\\\\\\\b(fn)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.fennel\\\"},{\\\"match\\\":\\\"~=\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"},{\\\"match\\\":\\\"λ\\\",\\\"name\\\":\\\"keyword.special.fennel\\\"}]},\\\"strings\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.fennel\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.fennel\\\"}]},\\\"symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\w+(?:\\\\\\\\.\\\\\\\\w+)+\\\",\\\"name\\\":\\\"entity.name.function.symbol.fennel\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.fennel\\\"}]},\\\"table\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.table.bracket.open.fennel\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.table.bracket.close.fennel\\\"}},\\\"name\\\":\\\"table.fennel\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"vector\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vector.bracket.open.fennel\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vector.bracket.close.fennel\\\"}},\\\"name\\\":\\\"meta.vector.fennel\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}},\\\"scopeName\\\":\\\"source.fnl\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "fennel" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+lJAAu/J,CAAC,EAE/gKC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B_m7g4N7.js b/src/webview-ui/build/assets/chunk-B_m7g4N7.js new file mode 100644 index 0000000000..41278c95f1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B_m7g4N7.js @@ -0,0 +1,8 @@ +const t = Object.freeze( + JSON.parse( + '{"displayName":"TSV","fileTypes":["tsv","tab"],"name":"tsv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)([^\\\\t]*\\\\t?)","name":"rainbowgroup"}],"scopeName":"text.tsv"}', + ), + ), + a = [t] +export { a as default } +//# sourceMappingURL=chunk-B_m7g4N7.js.map diff --git a/src/webview-ui/build/assets/chunk-B_m7g4N7.js.map b/src/webview-ui/build/assets/chunk-B_m7g4N7.js.map new file mode 100644 index 0000000000..cc22e9d700 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B_m7g4N7.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-B_m7g4N7.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/tsv.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TSV\\\",\\\"fileTypes\\\":[\\\"tsv\\\",\\\"tab\\\"],\\\"name\\\":\\\"tsv\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"rainbow1\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.rainbow2\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.rainbow3\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.rainbow4\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.rainbow5\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.rainbow6\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.rainbow7\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.type.rainbow8\\\"},\\\"9\\\":{\\\"name\\\":\\\"markup.bold.rainbow9\\\"},\\\"10\\\":{\\\"name\\\":\\\"invalid.rainbow10\\\"}},\\\"match\\\":\\\"([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)([^\\\\\\\\t]*\\\\\\\\t?)\\\",\\\"name\\\":\\\"rainbowgroup\\\"}],\\\"scopeName\\\":\\\"text.tsv\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "tsv" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,mqBAA6vB,CAAC,EAErxBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-B_vNuMnf.js b/src/webview-ui/build/assets/chunk-B_vNuMnf.js new file mode 100644 index 0000000000..6e1fc57611 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B_vNuMnf.js @@ -0,0 +1,9 @@ +import e from "./chunk-CylS5w8V.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\\\?)\\\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"()","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)()","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"()","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"()","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\\\s+)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)\\\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml","embeddedLangs":["java"]}`, + ), + ), + a = [...e, n] +export { a as default } +//# sourceMappingURL=chunk-B_vNuMnf.js.map diff --git a/src/webview-ui/build/assets/chunk-B_vNuMnf.js.map b/src/webview-ui/build/assets/chunk-B_vNuMnf.js.map new file mode 100644 index 0000000000..c6aacafc5e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-B_vNuMnf.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-B_vNuMnf.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/xml.mjs" + ], + "sourcesContent": [ + "import java from './java.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"XML\\\",\\\"name\\\":\\\"xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<\\\\\\\\?)\\\\\\\\s*([-0-9A-Z_a-z]+)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\" ([-A-Za-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.xml\\\"},{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internalSubset\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\\\\\s[^>]*)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"}},\\\"end\\\":\\\"(>)()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"}},\\\"name\\\":\\\"meta.tag.no-content.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tagStuff\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"name\\\":\\\"meta.tag.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tagStuff\\\"}]},{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#bare-ampersand\\\"},{\\\"begin\\\":\\\"<%@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.xml\\\"}},\\\"end\\\":\\\"%>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.xml\\\"}},\\\"name\\\":\\\"source.java-props.embedded.xml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"page|include|taglib\\\",\\\"name\\\":\\\"keyword.other.page-props.xml\\\"}]},{\\\"begin\\\":\\\"<%[!=]?(?!--)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.xml\\\"}},\\\"end\\\":\\\"(?!--)%>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.xml\\\"}},\\\"name\\\":\\\"source.java.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.unquoted.cdata.xml\\\"}],\\\"repository\\\":{\\\"EntityDecl\\\":{\\\"begin\\\":\\\"()\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]},\\\"bare-ampersand\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.xml\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<%--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.xml\\\"},\\\"end\\\":\\\"--%>\\\",\\\"name\\\":\\\"comment.block.xml\\\"}},{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"comment.block.xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"--(?!>)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.xml\\\"}}}]}]},\\\"doublequotedString\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.double.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#bare-ampersand\\\"}]},\\\"entity\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"match\\\":\\\"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.xml\\\"},\\\"internalSubset\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"end\\\":\\\"(])\\\",\\\"name\\\":\\\"meta.internalsubset.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#EntityDecl\\\"},{\\\"include\\\":\\\"#parameterEntity\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"parameterEntity\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"match\\\":\\\"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)\\\",\\\"name\\\":\\\"constant.character.parameter-entity.xml\\\"},\\\"singlequotedString\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.single.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#bare-ampersand\\\"}]},\\\"tagStuff\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.localname.xml\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\s+)(?:([-.\\\\\\\\w]+)((:)))?([-.:\\\\\\\\w]+)\\\\\\\\s*=\\\"},{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]}},\\\"scopeName\\\":\\\"text.xml\\\",\\\"embeddedLangs\\\":[\\\"java\\\"]}\"))\n\nexport default [\n...java,\nlang\n]\n" + ], + "names": [ + "lang", + "xml", + "java" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,iqKAA+0L,CAAC,EAEv2LC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BaML1QMV.js b/src/webview-ui/build/assets/chunk-BaML1QMV.js new file mode 100644 index 0000000000..cfc4fff717 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BaML1QMV.js @@ -0,0 +1,12 @@ +import e from "./chunk-BMMyXqK5.js" +import n from "./chunk-DlfHMoPT.js" +import t from "./chunk-DPfMkruS.js" +import a from "./chunk-CXhxxCfG.js" +const i = Object.freeze( + JSON.parse( + `{"displayName":"Glimmer JS","injections":{"L:source.gjs -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}},"name":"glimmer-js","patterns":[{"include":"#main"},{"include":"source.js"}],"repository":{"as-keyword":{"match":"\\\\s\\\\b(as)\\\\b(?=\\\\s\\\\|)","name":"keyword.control","patterns":[]},"as-params":{"begin":"(?)","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}},"name":"meta.tag.any.ember-handlebars","patterns":[{"include":"#tag-like-content"}]},"digit":{"captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}},"match":"\\\\d*(\\\\.)?\\\\d+","patterns":[]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.html.ember-handlebars"},{"match":"&","name":"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{"captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"match":"(@)","name":"markup.italic"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}},"match":"\\\\s(@[-.0-:A-Z_a-z]+)(=)?"},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"begin":"(\\\\{\\\\{~?)([#/])(([$\\\\--9@-Z_a-z]+))","captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"match":"(/)+","name":"punctuation.definition.tag"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}]},"glimmer-bools":{"captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}},"match":"(\\\\{\\\\{~?)(true|false|null|undefined|\\\\d*(\\\\.)?\\\\d+)(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-comment-block":{"begin":"\\\\{\\\\{!--","captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}},"end":"--}}","name":"comment.block.glimmer","patterns":[{"include":"#script"},{"include":"#attention"}]},"glimmer-comment-inline":{"begin":"\\\\{\\\\{!","captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}},"end":"}}","name":"comment.inline.glimmer","patterns":[{"include":"#script"},{"include":"#attention"}]},"glimmer-component-path":{"captures":{"1":{"name":"punctuation.definition.tag"}},"match":"(::|[$._])"},"glimmer-control-expression":{"begin":"(\\\\{\\\\{~?)(([-/-9A-Z_a-z]+)\\\\s)","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-else-block":{"captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}},"match":"(\\\\{\\\\{~?)(else(?:\\\\s[a-z]+\\\\s|))([\\\\x08().0-9@-Za-z\\\\s]+)?(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-expression":{"begin":"(\\\\{\\\\{~?)(([-().0-9@-Z_a-z\\\\s]+))","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"match":"\\\\(+","name":"string.regexp"},{"match":"\\\\)+","name":"string.regexp"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"},{"include":"#glimmer-supexp-content"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-expression-property":{"begin":"(\\\\{\\\\{~?)((@|this.)([-.0-9A-Z_a-z]+))","captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"match":"(@|this)","name":"variable.language"},{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]},"4":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"end":"(~?}})","name":"entity.expression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-parameter-name":{"captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}},"match":"\\\\b([-0-9A-Z_a-z]+)(\\\\s?=)","patterns":[]},"glimmer-parameter-value":{"captures":{"1":{"name":"support.function","patterns":[{"match":"(\\\\.)+","name":"punctuation.definition.tag"}]}},"match":"\\\\b([-.0-:A-Z_a-z]+)\\\\b(?!=)","patterns":[]},"glimmer-special-block":{"captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}},"match":"(\\\\{\\\\{~?)(yield|outlet)(~?}})","name":"entity.expression.ember-handlebars"},"glimmer-subexp":{"begin":"(\\\\()([-.0-9@-Za-z]+)","captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}},"end":"(\\\\))","name":"entity.subexpression.ember-handlebars","patterns":[{"include":"#glimmer-supexp-content"}]},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"begin":"\\\\{\\\\{\\\\{","captures":{"0":{"name":"keyword.operator"}},"end":"}}}","name":"entity.unescaped.expression.ember-handlebars","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}]},"html-attribute":{"captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"match":"(\\\\.\\\\.\\\\.attributes)","name":"markup.bold"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}},"match":"\\\\s([-.0-:A-Z_a-z]+)(=)?"},"html-comment":{"begin":"","name":"comment.block.astro","patterns":[{"match":"\\\\G-?>|)|--!>","name":"invalid.illegal.characters-not-allowed-here.astro"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"912":{"name":"punctuation.definition.entity.astro"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.astro"},{"captures":{"1":{"name":"punctuation.definition.entity.astro"},"3":{"name":"punctuation.definition.entity.astro"}},"match":"(&)#[Xx]\\\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.astro"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.astro"}]},"frontmatter":{"begin":"\\\\A(-{3})\\\\s*$","beginCaptures":{"1":{"name":"comment"}},"contentName":"source.ts","end":"(^|\\\\G)(-{3})|\\\\.{3}\\\\s*$","endCaptures":{"2":{"name":"comment"}},"patterns":[{"include":"source.ts"}]},"interpolation":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.astro"}},"contentName":"meta.embedded.expression.astro source.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.astro"}},"patterns":[{"begin":"\\\\G\\\\s*(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.tsx#object-literal"}]},{"include":"source.tsx"}]}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#tags"},{"include":"#interpolation"},{"include":"#entities"}]},"tags":{"patterns":[{"include":"#tags-raw"},{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"captures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"},"4":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"match":"()|(/>)"},"tags-general-end":{"begin":"(\\\\s]*)","beginCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.begin.astro"},"2":{"name":"meta.tag.end.astro","patterns":[{"include":"#tags-name"}]}},"end":"(>)","endCaptures":{"1":{"name":"meta.tag.end.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro"},"tags-general-start":{"begin":"(<)([^/>\\\\s]*)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"(/?>)","endCaptures":{"1":{"name":"meta.tag.start.astro punctuation.definition.tag.end.astro"}},"name":"meta.scope.tag.$2.astro","patterns":[{"include":"#tags-start-attributes"}]},"tags-lang":{"begin":"<(s(?:cript|tyle))","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.$1.astro","patterns":[{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/)?(application/ld\\\\+json)\\\\2)","end":"(?=)","name":"meta.lang.json.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(module)\\\\2)","end":"(?=)","name":"meta.lang.javascript.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/|application/)?([+/\\\\w]+)\\\\2)","end":"(?=)","name":"meta.lang.$3.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{"begin":"\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.astro"}},"name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-name":{"patterns":[{"match":"[A-Z][0-9A-Z_a-z]*","name":"support.class.component.astro"},{"match":"[a-z][0-:\\\\w]*-[-0-:\\\\w]*","name":"meta.tag.custom.astro entity.name.tag.astro"},{"match":"[a-z][-0-:\\\\w]*","name":"entity.name.tag.astro"}]},"tags-raw":{"begin":"<([^!/<>?\\\\s]+)(?=[^>]+is:raw).*?","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"contentName":"source.unknown","end":"|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.scope.tag.$1.astro meta.raw.astro","patterns":[{"include":"#tags-lang-start-attributes"}]},"tags-start-attributes":{"begin":"\\\\G","end":"(?=/?>)","name":"meta.tag.start.astro","patterns":[{"include":"#attributes"}]},"tags-start-node":{"captures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"patterns":[{"include":"#tags-name"}]}},"match":"(<)([^/>\\\\s]*)","name":"meta.tag.start.astro"},"tags-void":{"begin":"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.astro"},"2":{"name":"entity.name.tag.astro"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.begin.astro"}},"name":"meta.tag.void.astro","patterns":[{"include":"#attributes"}]},"text":{"patterns":[{"begin":"(?<=^|---|[>}])","end":"(?=[<{]|$)","name":"text.astro","patterns":[{"include":"#entities"}]}]}},"scopeName":"source.astro","embeddedLangs":["json","javascript","typescript","css","postcss"],"embeddedLangsLazy":["stylus","sass","scss","less","tsx"]}`, + ), + ), + p = [...e, ...t, ...r, ...a, ...n, s] +export { p as default } +//# sourceMappingURL=chunk-BrYkhBEK.js.map diff --git a/src/webview-ui/build/assets/chunk-BrYkhBEK.js.map b/src/webview-ui/build/assets/chunk-BrYkhBEK.js.map new file mode 100644 index 0000000000..574c13abea --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BrYkhBEK.js.map @@ -0,0 +1,24 @@ +{ + "version": 3, + "file": "chunk-BrYkhBEK.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/astro.mjs" + ], + "sourcesContent": [ + "import json from './json.mjs'\nimport javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport postcss from './postcss.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Astro\\\",\\\"fileTypes\\\":[\\\"astro\\\"],\\\"injections\\\":{\\\"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#attribute-literal\\\"},{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.astro\\\"},{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"(')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]}]}]},\\\"attributes-interpolated\\\":{\\\"begin\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.astro\\\"},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\"},{\\\"include\\\":\\\"#attribute-literal\\\"}]},\\\"comments\\\":{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"comment.block.astro\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>|)|--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.astro\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.astro\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.astro\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.astro\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.astro\\\"}]},\\\"frontmatter\\\":{\\\"begin\\\":\\\"\\\\\\\\A(-{3})\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(-{3})|\\\\\\\\.{3}\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.astro\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.astro source.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.astro\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#object-literal\\\"}]},{\\\"include\\\":\\\"source.tsx\\\"}]}]},\\\"scope\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#tags\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-raw\\\"},{\\\"include\\\":\\\"#tags-lang\\\"},{\\\"include\\\":\\\"#tags-void\\\"},{\\\"include\\\":\\\"#tags-general-end\\\"},{\\\"include\\\":\\\"#tags-general-start\\\"}]},\\\"tags-end-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.end.astro\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.tag.start.astro punctuation.definition.tag.end.astro\\\"}},\\\"match\\\":\\\"()|(/>)\\\"},\\\"tags-general-end\\\":{\\\"begin\\\":\\\"(\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.astro\\\"},\\\"tags-general-start\\\":{\\\"begin\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.start.astro punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-attributes\\\"}]},\\\"tags-lang\\\":{\\\"begin\\\":\\\"<(s(?:cript|tyle))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.scope.tag.$1.astro meta.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/)?(application/ld\\\\\\\\+json)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"name\\\":\\\"meta.lang.json.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(module)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"name\\\":\\\"meta.lang.javascript.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/|application/)?([+/\\\\\\\\w]+)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"name\\\":\\\"meta.lang.$3.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-lang-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.tag.start.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"support.class.component.astro\\\"},{\\\"match\\\":\\\"[a-z][0-:\\\\\\\\w]*-[-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"meta.tag.custom.astro entity.name.tag.astro\\\"},{\\\"match\\\":\\\"[a-z][-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.tag.astro\\\"}]},\\\"tags-raw\\\":{\\\"begin\\\":\\\"<([^!/<>?\\\\\\\\s]+)(?=[^>]+is:raw).*?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"contentName\\\":\\\"source.unknown\\\",\\\"end\\\":\\\"|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.scope.tag.$1.astro meta.raw.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.start.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-start-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"match\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"name\\\":\\\"meta.tag.start.astro\\\"},\\\"tags-void\\\":{\\\"begin\\\":\\\"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.astro\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"}},\\\"name\\\":\\\"meta.tag.void.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"text\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|---|[>}])\\\",\\\"end\\\":\\\"(?=[<{]|$)\\\",\\\"name\\\":\\\"text.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]}},\\\"scopeName\\\":\\\"source.astro\\\",\\\"embeddedLangs\\\":[\\\"json\\\",\\\"javascript\\\",\\\"typescript\\\",\\\"css\\\",\\\"postcss\\\"],\\\"embeddedLangsLazy\\\":[\\\"stylus\\\",\\\"sass\\\",\\\"scss\\\",\\\"less\\\",\\\"tsx\\\"]}\"))\n\nexport default [\n...json,\n...javascript,\n...typescript,\n...css,\n...postcss,\nlang\n]\n" + ], + "names": [ + "lang", + "astro", + "json", + "javascript", + "typescript", + "css", + "postcss" + ], + "mappings": "+KAMA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ipuBAA6jxB,CAAC,EAErlxBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHN,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BsS91CYL.js b/src/webview-ui/build/assets/chunk-BsS91CYL.js new file mode 100644 index 0000000000..cc4f030989 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BsS91CYL.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Turtle","fileTypes":["turtle","ttl","acl"],"name":"turtle","patterns":[{"include":"#rule-constraint"},{"include":"#iriref"},{"include":"#prefix"},{"include":"#prefixed-name"},{"include":"#comment"},{"include":"#special-predicate"},{"include":"#literals"},{"include":"#language-tag"}],"repository":{"boolean":{"match":"\\\\b(?i:true|false)\\\\b","name":"constant.language.sparql"},"comment":{"match":"#.*$","name":"comment.line.number-sign.turtle"},"integer":{"match":"[-+]?(?:\\\\d+|[0-9]+\\\\.[0-9]*|\\\\.[0-9]+(?:[Ee][-+]?\\\\d+)?)","name":"constant.numeric.turtle"},"iriref":{"match":"<[^ \\"<>\\\\\\\\^\`{|}]*>","name":"entity.name.type.iriref.turtle"},"language-tag":{"captures":{"1":{"name":"entity.name.class.turtle"}},"match":"@(\\\\w+)","name":"meta.string-literal-language-tag.turtle"},"literals":{"patterns":[{"include":"#string"},{"include":"#numeric"},{"include":"#boolean"}]},"numeric":{"patterns":[{"include":"#integer"}]},"prefix":{"match":"(?i:@?base|@?prefix)\\\\s","name":"keyword.operator.turtle"},"prefixed-name":{"captures":{"1":{"name":"storage.type.PNAME_NS.turtle"},"2":{"name":"support.variable.PN_LOCAL.turtle"}},"match":"(\\\\w*:)(\\\\w*)","name":"constant.complex.turtle"},"rule-constraint":{"begin":"(rule:content) (\\"\\"\\")","beginCaptures":{"1":{"patterns":[{"include":"#prefixed-name"}]},"2":{"name":"string.quoted.triple.turtle"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"string.quoted.triple.turtle"}},"name":"meta.rule-constraint.turtle","patterns":[{"include":"source.srs"}]},"single-dquote-string-literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.double.turtle","patterns":[{"include":"#string-character-escape"}]},"single-squote-string-literal":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"'","endCaptures":{"1":{"name":"punctuation.definition.string.end.turtle"},"2":{"name":"invalid.illegal.newline.turtle"}},"name":"string.quoted.single.turtle","patterns":[{"include":"#string-character-escape"}]},"special-predicate":{"captures":{"1":{"name":"keyword.control.turtle"}},"match":"\\\\s(a)\\\\s","name":"meta.specialPredicate.turtle"},"string":{"patterns":[{"include":"#triple-squote-string-literal"},{"include":"#triple-dquote-string-literal"},{"include":"#single-squote-string-literal"},{"include":"#single-dquote-string-literal"},{"include":"#triple-tick-string-literal"}]},"string-character-escape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.turtle"},"triple-dquote-string-literal":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.triple.turtle","patterns":[{"include":"#string-character-escape"}]},"triple-squote-string-literal":{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.triple.turtle","patterns":[{"include":"#string-character-escape"}]},"triple-tick-string-literal":{"begin":"\`\`\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\`\`\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.triple.turtle","patterns":[{"include":"#string-character-escape"}]}},"scopeName":"source.turtle"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-BsS91CYL.js.map diff --git a/src/webview-ui/build/assets/chunk-BsS91CYL.js.map b/src/webview-ui/build/assets/chunk-BsS91CYL.js.map new file mode 100644 index 0000000000..d32eed7149 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BsS91CYL.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BsS91CYL.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/turtle.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Turtle\\\",\\\"fileTypes\\\":[\\\"turtle\\\",\\\"ttl\\\",\\\"acl\\\"],\\\"name\\\":\\\"turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-constraint\\\"},{\\\"include\\\":\\\"#iriref\\\"},{\\\"include\\\":\\\"#prefix\\\"},{\\\"include\\\":\\\"#prefixed-name\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#special-predicate\\\"},{\\\"include\\\":\\\"#literals\\\"},{\\\"include\\\":\\\"#language-tag\\\"}],\\\"repository\\\":{\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(?i:true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.sparql\\\"},\\\"comment\\\":{\\\"match\\\":\\\"#.*$\\\",\\\"name\\\":\\\"comment.line.number-sign.turtle\\\"},\\\"integer\\\":{\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+|[0-9]+\\\\\\\\.[0-9]*|\\\\\\\\.[0-9]+(?:[Ee][-+]?\\\\\\\\d+)?)\\\",\\\"name\\\":\\\"constant.numeric.turtle\\\"},\\\"iriref\\\":{\\\"match\\\":\\\"<[^ \\\\\\\"<>\\\\\\\\\\\\\\\\^`{|}]*>\\\",\\\"name\\\":\\\"entity.name.type.iriref.turtle\\\"},\\\"language-tag\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.class.turtle\\\"}},\\\"match\\\":\\\"@(\\\\\\\\w+)\\\",\\\"name\\\":\\\"meta.string-literal-language-tag.turtle\\\"},\\\"literals\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#boolean\\\"}]},\\\"numeric\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#integer\\\"}]},\\\"prefix\\\":{\\\"match\\\":\\\"(?i:@?base|@?prefix)\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.turtle\\\"},\\\"prefixed-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.PNAME_NS.turtle\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.variable.PN_LOCAL.turtle\\\"}},\\\"match\\\":\\\"(\\\\\\\\w*:)(\\\\\\\\w*)\\\",\\\"name\\\":\\\"constant.complex.turtle\\\"},\\\"rule-constraint\\\":{\\\"begin\\\":\\\"(rule:content) (\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prefixed-name\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.triple.turtle\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.triple.turtle\\\"}},\\\"name\\\":\\\"meta.rule-constraint.turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.srs\\\"}]},\\\"single-dquote-string-literal\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.turtle\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.turtle\\\"}},\\\"name\\\":\\\"string.quoted.double.turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"single-squote-string-literal\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.turtle\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.turtle\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.turtle\\\"}},\\\"name\\\":\\\"string.quoted.single.turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"special-predicate\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.turtle\\\"}},\\\"match\\\":\\\"\\\\\\\\s(a)\\\\\\\\s\\\",\\\"name\\\":\\\"meta.specialPredicate.turtle\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#triple-squote-string-literal\\\"},{\\\"include\\\":\\\"#triple-dquote-string-literal\\\"},{\\\"include\\\":\\\"#single-squote-string-literal\\\"},{\\\"include\\\":\\\"#single-dquote-string-literal\\\"},{\\\"include\\\":\\\"#triple-tick-string-literal\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.turtle\\\"},\\\"triple-dquote-string-literal\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.turtle\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.turtle\\\"}},\\\"name\\\":\\\"string.quoted.triple.turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"triple-squote-string-literal\\\":{\\\"begin\\\":\\\"'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.turtle\\\"}},\\\"end\\\":\\\"'''\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.turtle\\\"}},\\\"name\\\":\\\"string.quoted.triple.turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"triple-tick-string-literal\\\":{\\\"begin\\\":\\\"```\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.turtle\\\"}},\\\"end\\\":\\\"```\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.turtle\\\"}},\\\"name\\\":\\\"string.quoted.triple.turtle\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]}},\\\"scopeName\\\":\\\"source.turtle\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "turtle" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ojHAAkgI,CAAC,EAE1hIC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BspZqrRM.js b/src/webview-ui/build/assets/chunk-BspZqrRM.js new file mode 100644 index 0000000000..f5137eee5b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BspZqrRM.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Gleam","fileTypes":["gleam"],"name":"gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"},{"include":"#discards"}],"repository":{"binary_number":{"match":"\\\\b0[Bb][01_]*\\\\b","name":"constant.numeric.binary.gleam","patterns":[]},"comments":{"patterns":[{"match":"//.*","name":"comment.line.gleam"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"match":"\\\\p{upper}\\\\p{alnum}*","name":"entity.name.type.gleam"}]},"decimal_number":{"match":"\\\\b([0-9][0-9_]*)(\\\\.([0-9_]*)?(e-?[0-9]+)?)?\\\\b","name":"constant.numeric.decimal.gleam","patterns":[]},"discards":{"match":"\\\\b_\\\\p{word}+{0,1}\\\\b","name":"comment.unused.gleam"},"entity":{"patterns":[{"begin":"\\\\b(\\\\p{lower}\\\\p{word}*)\\\\b\\\\s*\\\\(","captures":{"1":{"name":"entity.name.function.gleam"}},"end":"\\\\)","patterns":[{"include":"$self"}]},{"match":"\\\\b(\\\\p{lower}\\\\p{word}*):\\\\s","name":"variable.parameter.gleam"},{"match":"\\\\b(\\\\p{lower}\\\\p{word}*):","name":"entity.name.namespace.gleam"}]},"hexadecimal_number":{"match":"\\\\b0[Xx][_\\\\h]+\\\\b","name":"constant.numeric.hexadecimal.gleam","patterns":[]},"keywords":{"patterns":[{"match":"\\\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic|else|echo)\\\\b","name":"keyword.control.gleam"},{"match":"(<-|->)","name":"keyword.operator.arrow.gleam"},{"match":"\\\\|>","name":"keyword.operator.pipe.gleam"},{"match":"\\\\.\\\\.","name":"keyword.operator.splat.gleam"},{"match":"([!=]=)","name":"keyword.operator.comparison.gleam"},{"match":"([<>]=?\\\\.)","name":"keyword.operator.comparison.float.gleam"},{"match":"(<=|>=|[<>])","name":"keyword.operator.comparison.int.gleam"},{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.gleam"},{"match":"<>","name":"keyword.operator.string.gleam"},{"match":"\\\\|","name":"keyword.operator.other.gleam"},{"match":"([-*+/]\\\\.)","name":"keyword.operator.arithmetic.float.gleam"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.int.gleam"},{"match":"=","name":"keyword.operator.assignment.gleam"}]},"octal_number":{"match":"\\\\b0[Oo][0-7_]*\\\\b","name":"constant.numeric.octal.gleam","patterns":[]},"strings":{"begin":"\\"","end":"\\"","name":"string.quoted.double.gleam","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.gleam"}]}},"scopeName":"source.gleam"}', + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-BspZqrRM.js.map diff --git a/src/webview-ui/build/assets/chunk-BspZqrRM.js.map b/src/webview-ui/build/assets/chunk-BspZqrRM.js.map new file mode 100644 index 0000000000..729add352d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BspZqrRM.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BspZqrRM.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/gleam.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Gleam\\\",\\\"fileTypes\\\":[\\\"gleam\\\"],\\\"name\\\":\\\"gleam\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#discards\\\"}],\\\"repository\\\":{\\\"binary_number\\\":{\\\"match\\\":\\\"\\\\\\\\b0[Bb][01_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.binary.gleam\\\",\\\"patterns\\\":[]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"//.*\\\",\\\"name\\\":\\\"comment.line.gleam\\\"}]},\\\"constant\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#binary_number\\\"},{\\\"include\\\":\\\"#octal_number\\\"},{\\\"include\\\":\\\"#hexadecimal_number\\\"},{\\\"include\\\":\\\"#decimal_number\\\"},{\\\"match\\\":\\\"\\\\\\\\p{upper}\\\\\\\\p{alnum}*\\\",\\\"name\\\":\\\"entity.name.type.gleam\\\"}]},\\\"decimal_number\\\":{\\\"match\\\":\\\"\\\\\\\\b([0-9][0-9_]*)(\\\\\\\\.([0-9_]*)?(e-?[0-9]+)?)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.gleam\\\",\\\"patterns\\\":[]},\\\"discards\\\":{\\\"match\\\":\\\"\\\\\\\\b_\\\\\\\\p{word}+{0,1}\\\\\\\\b\\\",\\\"name\\\":\\\"comment.unused.gleam\\\"},\\\"entity\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(\\\\\\\\p{lower}\\\\\\\\p{word}*)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.gleam\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\p{lower}\\\\\\\\p{word}*):\\\\\\\\s\\\",\\\"name\\\":\\\"variable.parameter.gleam\\\"},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\p{lower}\\\\\\\\p{word}*):\\\",\\\"name\\\":\\\"entity.name.namespace.gleam\\\"}]},\\\"hexadecimal_number\\\":{\\\"match\\\":\\\"\\\\\\\\b0[Xx][_\\\\\\\\h]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hexadecimal.gleam\\\",\\\"patterns\\\":[]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic|else|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.gleam\\\"},{\\\"match\\\":\\\"(<-|->)\\\",\\\"name\\\":\\\"keyword.operator.arrow.gleam\\\"},{\\\"match\\\":\\\"\\\\\\\\|>\\\",\\\"name\\\":\\\"keyword.operator.pipe.gleam\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.splat.gleam\\\"},{\\\"match\\\":\\\"([!=]=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.gleam\\\"},{\\\"match\\\":\\\"([<>]=?\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.operator.comparison.float.gleam\\\"},{\\\"match\\\":\\\"(<=|>=|[<>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.int.gleam\\\"},{\\\"match\\\":\\\"(&&|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.logical.gleam\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.operator.string.gleam\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.other.gleam\\\"},{\\\"match\\\":\\\"([-*+/]\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.float.gleam\\\"},{\\\"match\\\":\\\"([-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.int.gleam\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.gleam\\\"}]},\\\"octal_number\\\":{\\\"match\\\":\\\"\\\\\\\\b0[Oo][0-7_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.octal.gleam\\\",\\\"patterns\\\":[]},\\\"strings\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.gleam\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.gleam\\\"}]}},\\\"scopeName\\\":\\\"source.gleam\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "gleam" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,i9EAA+wF,CAAC,EAEvyFC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BtCnVYZw.js b/src/webview-ui/build/assets/chunk-BtCnVYZw.js new file mode 100644 index 0000000000..3fd8f6d046 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BtCnVYZw.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Splunk Query Language","fileTypes":["splunk","spl"],"name":"splunk","patterns":[{"match":"(?<=([\\\\[|]))(\\\\s*)\\\\b(abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|append|appendcols|appendpipe|arules|associate|audit|autoregress|bucket|bucketdir|chart|cluster|collect|concurrency|contingency|convert|correlate|crawl|datamodel|dbinspect|dbxquery|dbxlookup|dedup|delete|delta|diff|dispatch|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|file|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geostats|head|highlight|history|input|inputcsv|inputlookup|iplocation|join|kmeans|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|metadata|metasearch|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\\\b(?=\\\\s)","name":"support.class.splunk_search"},{"match":"\\\\b(abs|acosh??|asinh??|atan2??|atanh|case|cidrmatch|ceiling|coalesce|commands|cosh??|exact|exp|floor|hypot|if|in|isbool|isint|isnotnull|isnull|isnum|isstr|len|like|ln|log|lower|ltrim|match|max|md5|min|mvappend|mvcount|mvdedup|mvfilter|mvfind|mvindex|mvjoin|mvrange|mvsort|mvzip|now|null|nullif|pi|pow|printf|random|relative_time|replace|round|rtrim|searchmatch|sha1|sha256|sha512|sigfig|sinh??|spath|split|sqrt|strftime|strptime|substr|tanh??|time|tonumber|tostring|trim|typeof|upper|urldecode|validate)(?=\\\\()\\\\b","name":"support.function.splunk_search"},{"match":"\\\\b(avg|count|distinct_count|estdc|estdc_error|eval|max|mean|median|min|mode|percentile|range|stdevp??|sum|sumsq|varp??|first|last|list|values|earliest|earliest_time|latest|latest_time|per_day|per_hour|per_minute|per_second|rate)\\\\b","name":"support.function.splunk_search"},{"match":"(?<=`)\\\\w+(?=[(`])","name":"entity.name.function.splunk_search"},{"match":"\\\\b(\\\\d+)\\\\b","name":"constant.numeric.splunk_search"},{"match":"(\\\\\\\\[*=\\\\\\\\|])","name":"contant.character.escape.splunk_search"},{"match":"(\\\\|,)","name":"keyword.operator.splunk_search"},{"match":"(?:(?i)\\\\b(as|by|or|and|over|where|output|outputnew)|(?-i)\\\\b(NOT|true|false))\\\\b","name":"constant.language.splunk_search"},{"match":"(?<=[(,]|[^=]\\\\s{300})([^\\"(),=]+)(?=[),])","name":"variable.parameter.splunk_search"},{"match":"([.\\\\w]+)(\\\\[]|\\\\{})?(\\\\s*)(?==)","name":"variable.splunk_search"},{"match":"=","name":"keyword.operator.splunk_search"},{"begin":"(?])(=)?|[.:]|/(=)?|~|\\\\+([+=])?|-([-=])?|\\\\*([*=])?|%|>>|<<|=(=)?|!(=)?|<>|&&??|[\\\\^|]|\\\\|\\\\||\\\\bto\\\\b|\\\\bin\\\\b|\\\\bstep\\\\b)","name":"keyword.operator.dm"},{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"constant.language.dm"},{"match":"\\\\bnull\\\\b","name":"constant.language.dm"},{"begin":"\\\\{\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"end":"\\"}","endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}},"name":"string.quoted.triple.dm","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}},"name":"string.quoted.double.dm","patterns":[{"include":"#string_escaped_char"},{"include":"#string_embedded_expression"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dm"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.dm"}},"name":"string.quoted.single.dm","patterns":[{"include":"#string_escaped_char"}]},{"begin":"^\\\\s*((#)\\\\s*define)\\\\s+((?[A-Z_a-z][0-9A-Z_a-z]*))(\\\\()(\\\\s*\\\\g\\\\s*((,)\\\\s*\\\\g\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\))","beginCaptures":{"1":{"name":"keyword.control.directive.define.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"entity.name.function.preprocessor.dm"},"5":{"name":"punctuation.definition.parameters.begin.dm"},"6":{"name":"variable.parameter.preprocessor.dm"},"8":{"name":"punctuation.separator.parameters.dm"},"9":{"name":"punctuation.definition.parameters.end.dm"}},"end":"(?=/[*/])|(?[A-Z_a-z][0-9A-Z_a-z]*))","beginCaptures":{"1":{"name":"keyword.control.directive.define.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"variable.other.preprocessor.dm"}},"end":"(?=/[*/])|(?\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.dm"}]},{"begin":"^\\\\s*(?:((#)\\\\s*(?:elif|else|if|ifdef|ifndef))|((#)\\\\s*(undef|include)))\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.dm"},"2":{"name":"punctuation.definition.directive.dm"},"3":{"name":"keyword.control.directive.$5.dm"},"4":{"name":"punctuation.definition.directive.dm"}},"end":"(?=/[*/])|(?\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.dm"}]},{"include":"#block"},{"begin":"(?:^|(?:(?=\\\\s)(?])))(\\\\s*)(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.whitespace.function.leading.dm"},"3":{"name":"entity.name.function.dm"},"4":{"name":"punctuation.definition.parameters.dm"}},"end":"(?<=})|(?=#)|(;)?","name":"meta.function.dm","patterns":[{"include":"#comments"},{"include":"#parens"},{"match":"\\\\bconst\\\\b","name":"storage.modifier.dm"},{"include":"#block"}]}],"repository":{"access":{"match":"\\\\.[A-Z_a-z][0-9A-Z_a-z]*\\\\b(?!\\\\s*\\\\()","name":"variable.other.dot-access.dm"},"block":{"begin":"\\\\{","end":"}","name":"meta.block.dm","patterns":[{"include":"#block_innards"}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-other-block"},{"include":"#access"},{"captures":{"1":{"name":"punctuation.whitespace.function-call.leading.dm"},"2":{"name":"support.function.any-method.dm"},"3":{"name":"punctuation.definition.parameters.dm"}},"match":"(?:(?=\\\\s)(?:(?<=else|new|return)|(?\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.dm"}]}]},"disabled":{"begin":"^\\\\s*#\\\\s*if(n?def)?\\\\b.*$","end":"^\\\\s*#\\\\s*endif\\\\b.*$","patterns":[{"include":"#disabled"}]},"parens":{"begin":"\\\\(","end":"\\\\)","name":"meta.parens.dm","patterns":[{"include":"$base"}]},"preprocessor-rule-disabled":{"begin":"^\\\\s*(#(if)\\\\s+(0))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}},"end":"(?=^\\\\s*#\\\\s*endif\\\\b.*$)","patterns":[{"include":"$base"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*$)","name":"comment.block.preprocessor.if-branch","patterns":[{"include":"#disabled"}]}]},"preprocessor-rule-disabled-block":{"begin":"^\\\\s*(#(if)\\\\s+(0))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}},"end":"(?=^\\\\s*#\\\\s*endif\\\\b.*$)","patterns":[{"include":"#block_innards"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*$)","name":"comment.block.preprocessor.if-branch.in-block","patterns":[{"include":"#disabled"}]}]},"preprocessor-rule-enabled":{"begin":"^\\\\s*(#(if)\\\\s+(0*1))\\\\b","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}},"contentName":"comment.block.preprocessor.else-branch","end":"(?=^\\\\s*#\\\\s*endif\\\\b.*$)","patterns":[{"include":"#disabled"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*$)","patterns":[{"include":"$base"}]}]},"preprocessor-rule-enabled-block":{"begin":"^\\\\s*(#(if)\\\\s+(0*1))\\\\b","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.if.dm"},"3":{"name":"constant.numeric.preprocessor.dm"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.else.dm"}},"contentName":"comment.block.preprocessor.else-branch.in-block","end":"(?=^\\\\s*#\\\\s*endif\\\\b.*$)","patterns":[{"include":"#disabled"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*$)","patterns":[{"include":"#block_innards"}]}]},"preprocessor-rule-other":{"begin":"^\\\\s*((#\\\\s*(if(n?def)?))\\\\b.*?(?:(?=/[*/])|$))","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.dm"}},"end":"^\\\\s*((#\\\\s*(endif)))\\\\b.*$","patterns":[{"include":"$base"}]},"preprocessor-rule-other-block":{"begin":"^\\\\s*(#\\\\s*(if(n?def)?)\\\\b.*?(?:(?=/[*/])|$))","captures":{"1":{"name":"meta.preprocessor.dm"},"2":{"name":"keyword.control.import.dm"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b.*$","patterns":[{"include":"#block_innards"}]},"string_embedded_expression":{"patterns":[{"begin":"(?\\\\[ns])","name":"constant.character.escape.dm"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.dm"}]}},"scopeName":"source.dm"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-BtqSS_iP.js.map diff --git a/src/webview-ui/build/assets/chunk-BtqSS_iP.js.map b/src/webview-ui/build/assets/chunk-BtqSS_iP.js.map new file mode 100644 index 0000000000..197a83af0b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BtqSS_iP.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-BtqSS_iP.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/dream-maker.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Dream Maker\\\",\\\"fileTypes\\\":[\\\"dm\\\",\\\"dme\\\"],\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!\\\\\\\\*)|^(?![^{]*?//|[^{]*?/\\\\\\\\*(?!.*?\\\\\\\\*/.*?\\\\\\\\{)).*?\\\\\\\\{\\\\\\\\s*($|//|/\\\\\\\\*(?!.*?\\\\\\\\*/.*\\\\\\\\S))\\\",\\\"foldingStopMarker\\\":\\\"(?])(=)?|[.:]|/(=)?|~|\\\\\\\\+([+=])?|-([-=])?|\\\\\\\\*([*=])?|%|>>|<<|=(=)?|!(=)?|<>|&&??|[\\\\\\\\^|]|\\\\\\\\|\\\\\\\\||\\\\\\\\bto\\\\\\\\b|\\\\\\\\bin\\\\\\\\b|\\\\\\\\bstep\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.operator.dm\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_][0-9A-Z_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.dm\\\"},{\\\"match\\\":\\\"\\\\\\\\bnull\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.dm\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.dm\\\"}},\\\"end\\\":\\\"\\\\\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.dm\\\"}},\\\"name\\\":\\\"string.quoted.triple.dm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_embedded_expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.dm\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.dm\\\"}},\\\"name\\\":\\\"string.quoted.double.dm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_embedded_expression\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.dm\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.dm\\\"}},\\\"name\\\":\\\"string.quoted.single.dm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*define)\\\\\\\\s+((?[A-Z_a-z][0-9A-Z_a-z]*))(\\\\\\\\()(\\\\\\\\s*\\\\\\\\g\\\\\\\\s*((,)\\\\\\\\s*\\\\\\\\g\\\\\\\\s*)*(?:\\\\\\\\.\\\\\\\\.\\\\\\\\.)?)(\\\\\\\\))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.dm\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.dm\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.dm\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.dm\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.dm\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?[A-Z_a-z][0-9A-Z_a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.preprocessor.dm\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.dm\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(?:((#)\\\\\\\\s*(?:elif|else|if|ifdef|ifndef))|((#)\\\\\\\\s*(undef|include)))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.directive.$5.dm\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.directive.dm\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.dm\\\"}]},{\\\"include\\\":\\\"#block\\\"},{\\\"begin\\\":\\\"(?:^|(?:(?=\\\\\\\\s)(?])))(\\\\\\\\s*)(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.function.leading.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.dm\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.dm\\\"}},\\\"end\\\":\\\"(?<=})|(?=#)|(;)?\\\",\\\"name\\\":\\\"meta.function.dm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"match\\\":\\\"\\\\\\\\bconst\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.dm\\\"},{\\\"include\\\":\\\"#block\\\"}]}],\\\"repository\\\":{\\\"access\\\":{\\\"match\\\":\\\"\\\\\\\\.[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"variable.other.dot-access.dm\\\"},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.block.dm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"block_innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-other-block\\\"},{\\\"include\\\":\\\"#access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.function-call.leading.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.any-method.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.dm\\\"}},\\\"match\\\":\\\"(?:(?=\\\\\\\\s)(?:(?<=else|new|return)|(?\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.dm\\\"}]}]},\\\"disabled\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*if(n?def)?\\\\\\\\b.*$\\\",\\\"end\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.parens.dm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"preprocessor-rule-disabled\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.dm\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.dm\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*$)\\\",\\\"name\\\":\\\"comment.block.preprocessor.if-branch\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"}]}]},\\\"preprocessor-rule-disabled-block\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.dm\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.dm\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*$)\\\",\\\"name\\\":\\\"comment.block.preprocessor.if-branch.in-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"}]}]},\\\"preprocessor-rule-enabled\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0*1))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.dm\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.dm\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.else-branch\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]}]},\\\"preprocessor-rule-enabled-block\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0*1))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.dm\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.dm\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.dm\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.else-branch.in-block\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]}]},\\\"preprocessor-rule-other\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#\\\\\\\\s*(if(n?def)?))\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.dm\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#\\\\\\\\s*(endif)))\\\\\\\\b.*$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"preprocessor-rule-other-block\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(if(n?def)?)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.dm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.dm\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b.*$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"string_embedded_expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?\\\\\\\\[ns])\\\",\\\"name\\\":\\\"constant.character.escape.dm\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.dm\\\"}]}},\\\"scopeName\\\":\\\"source.dm\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "dreamMaker" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qqUAAwxW,CAAC,EAEhzWC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Bty6elJm.js b/src/webview-ui/build/assets/chunk-Bty6elJm.js new file mode 100644 index 0000000000..e05ad40df8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Bty6elJm.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"GDScript","fileTypes":["gd"],"name":"gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(:)\\\\s*([A-Z_a-z]\\\\w*)?","beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}},"patterns":[{"include":"#expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.gdscript"}]},"annotations":{"captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}},"match":"(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\\\\b"},"any_method":{"match":"\\\\b([A-Z_a-z]\\\\w*)\\\\b(?=\\\\s*\\\\()","name":"entity.name.function.other.gdscript"},"any_property":{"captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}},"match":"\\\\b(\\\\.)\\\\s*(?|\\\\+=|-=|\\\\*\\\\*=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|[-%*+/]","name":"keyword.operator.arithmetic.gdscript"},"assignment_operator":{"match":"=","name":"keyword.operator.assignment.gdscript"},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#region"},{"include":"#comment"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"match":"[\\\\&|]|<<=|>>=|<<|>>|[\\\\^~]","name":"keyword.operator.bitwise.gdscript"},"boolean_operator":{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.boolean.gdscript"},"builtin_classes":{"match":"(?=|==|[<>]|!=?","name":"keyword.operator.comparison.gdscript"},"const_vars":{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.constant.gdscript"},"control_flow":{"match":"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b","name":"keyword.control.gdscript"},"curly_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"expression":{"patterns":[{"include":"#getter_setter_godot4"},{"include":"#base_expression"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}},"match":"(extends)\\\\s+([A-Z_a-z]\\\\w*\\\\.[A-Z_a-z]\\\\w*)?"},"func":{"match":"\\\\bfunc\\\\b","name":"keyword.language.gdscript storage.type.function.gdscript"},"function_arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}},"contentName":"meta.function.parameters.gdscript","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.gdscript"},{"captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}},"match":"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.gdscript"},{"include":"#base_expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}]},"function_call":{"begin":"(?=\\\\b[A-Z_a-z]\\\\w*\\\\b\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}},"name":"meta.function-call.gdscript","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}]},"function_declaration":{"begin":"\\\\s*(func)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}},"name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}]},"function_name":{"patterns":[{"include":"#builtin_classes"},{"match":"\\\\b(preload)\\\\b","name":"keyword.language.gdscript"},{"match":"\\\\b([A-Z_a-z]\\\\w*)\\\\b","name":"entity.name.function.gdscript"}]},"getter_setter_godot4":{"patterns":[{"captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"match":"(get)\\\\s*(:)","name":"meta.variable.declaration.getter.gdscript"},{"captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"},"3":{"name":"variable.other.gdscript"},"4":{"name":"punctuation.definition.arguments.end.gdscript"},"5":{"name":"punctuation.separator.annotation.gdscript"}},"match":"(set)\\\\s*(\\\\()\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\))\\\\s*(:)","name":"meta.variable.declaration.setter.gdscript"}]},"in_keyword":{"patterns":[{"begin":"\\\\b(for)\\\\b","captures":{"1":{"name":"keyword.control.gdscript"}},"end":":","patterns":[{"match":"\\\\bin\\\\b","name":"keyword.control.gdscript"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}]},{"match":"\\\\bin\\\\b","name":"keyword.operator.wordlike.gdscript"}]},"keywords":{"match":"\\\\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\\\b","name":"keyword.language.gdscript"},"lambda_declaration":{"begin":"(func)\\\\s?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"(:|(?=[\\\\n\\"#']))","end2":"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)","endCaptures2":{"1":{"name":"punctuation.separator.annotation.result.gdscript"},"2":{"name":"keyword.language.void.gdscript"},"3":{"name":"entity.name.type.class.gdscript markup.italic"}},"name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}]},"letter":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.gdscript"},"line_continuation":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}},"match":"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)"},{"begin":"(\\\\\\\\)\\\\s*$\\\\n?","beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}},"end":"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))|\\\\G()$)","patterns":[{"include":"#base_expression"}]}]},"loose_default":{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}},"patterns":[{"include":"#expression"}]},"match_keyword":{"captures":{"1":{"name":"keyword.control.gdscript"}},"match":"^\\\\n\\\\s*(match)"},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"contentName":"meta.function.parameters.gdscript","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}},"name":"meta.function.gdscript","patterns":[{"begin":"([\\"'])","end":"\\\\1","name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","patterns":[{"match":"%","name":"keyword.control.flow.gdscript"}]},{"include":"#expression"}]},"nodepath_object":{"begin":"(NodePath)\\\\s*\\\\(","beginCaptures":{"1":{"name":"support.class.library.gdscript"}},"end":"\\\\)","name":"meta.literal.nodepath.gdscript","patterns":[{"begin":"([\\"'])","end":"\\\\1","name":"string.quoted.gdscript constant.character.escape.gdscript","patterns":[{"match":"%","name":"keyword.control.flow.gdscript"}]}]},"numbers":{"patterns":[{"match":"0b[01_]+","name":"constant.numeric.integer.binary.gdscript"},{"match":"0x[_\\\\h]+","name":"constant.numeric.integer.hexadecimal.gdscript"},{"match":"\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?","name":"constant.numeric.float.gdscript"},{"match":"([0-9][0-9_]*)\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?","name":"constant.numeric.float.gdscript"},{"match":"([0-9][0-9_]*)?\\\\.[0-9_]*([Ee][-+]?[0-9_]+)","name":"constant.numeric.float.gdscript"},{"match":"[0-9][0-9_]*[Ee][-+]?[0-9_]+","name":"constant.numeric.float.gdscript"},{"match":"-?[0-9][0-9_]*","name":"constant.numeric.integer.gdscript"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}},"name":"meta.function.parameters.gdscript","patterns":[{"include":"#annotated_parameter"},{"captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}},"match":"([A-Z_a-z]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))"},{"include":"#comment"},{"include":"#loose_default"}]},"pascal_case_class":{"match":"\\\\b([A-Z]+[0-9_a-z]*([A-Z]?[0-9_a-z]+)*[A-Z]?)\\\\b","name":"entity.name.type.class.gdscript"},"region":{"match":"#(end)?region.*$\\\\n?","name":"keyword.language.region.gdscript"},"round_braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"signal_declaration":{"begin":"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"((?=[\\\\n\\"#']))","name":"meta.signal.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}]},"signal_declaration_bare":{"captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"match":"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)(?=[\\\\n\\\\s])","name":"meta.signal.gdscript"},"square_braces":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"match":"\\\\b(?^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.gdscript"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}},"match":"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"']+])*(![ars])?(:)[^\\\\n\\"'{}]*(?:\\\\{[^\\\\n\\"'}]*?}[^\\\\n\\"'{}]*)*})","name":"meta.format.brace.gdscript"}]},"string_percent_placeholders":{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.gdscript"},"strings":{"begin":"(r)?(\\"\\"\\"|'''|[\\"'])","beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}},"end":"\\\\2","name":"string.quoted.gdscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.gdscript"},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}]},"variable_declaration":{"begin":"\\\\b(?:(var)|(const))\\\\b","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}},"end":"$|;","name":"meta.variable.declaration.gdscript","patterns":[{"captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}},"match":"(:)?\\\\s*([gs]et)\\\\s+=\\\\s+([A-Z_a-z]\\\\w*)"},{"match":":=|=(?!=)","name":"keyword.operator.assignment.gdscript"},{"captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}},"match":"(:)\\\\s*([A-Z_a-z]\\\\w*)?"},{"captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}},"match":"(setget)\\\\s+([A-Z_a-z]\\\\w*)(?:,\\\\s*([A-Z_a-z]\\\\w*))?"},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}]},"wordlike_operator":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.wordlike.gdscript"}},"scopeName":"source.gdscript"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-Bty6elJm.js.map diff --git a/src/webview-ui/build/assets/chunk-Bty6elJm.js.map b/src/webview-ui/build/assets/chunk-Bty6elJm.js.map new file mode 100644 index 0000000000..46fc121f3c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Bty6elJm.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Bty6elJm.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/gdscript.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"GDScript\\\",\\\"fileTypes\\\":[\\\"gd\\\"],\\\"name\\\":\\\"gdscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"},{\\\"include\\\":\\\"#expression\\\"}],\\\"repository\\\":{\\\"annotated_parameter\\\":{\\\"begin\\\":\\\"\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(:)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.gdscript\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.gdscript\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.gdscript\\\"}]},\\\"annotations\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.decorator.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.decorator.gdscript\\\"}},\\\"match\\\":\\\"(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\\\\\\\\b\\\"},\\\"any_method\\\":{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z]\\\\\\\\w*)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.other.gdscript\\\"},\\\"any_property\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.gdscript\\\"}},\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\.)\\\\\\\\s*(?|\\\\\\\\+=|-=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\*=|\\\\\\\\^=|/=|%=|&=|~=|\\\\\\\\|=|\\\\\\\\*\\\\\\\\*|[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.gdscript\\\"},\\\"assignment_operator\\\":{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.gdscript\\\"},\\\"base_expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin_get_node_shorthand\\\"},{\\\"include\\\":\\\"#nodepath_object\\\"},{\\\"include\\\":\\\"#nodepath_function\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#builtin_classes\\\"},{\\\"include\\\":\\\"#const_vars\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#lambda_declaration\\\"},{\\\"include\\\":\\\"#class_declaration\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#signal_declaration_bare\\\"},{\\\"include\\\":\\\"#signal_declaration\\\"},{\\\"include\\\":\\\"#function_declaration\\\"},{\\\"include\\\":\\\"#statement_keyword\\\"},{\\\"include\\\":\\\"#assignment_operator\\\"},{\\\"include\\\":\\\"#in_keyword\\\"},{\\\"include\\\":\\\"#control_flow\\\"},{\\\"include\\\":\\\"#match_keyword\\\"},{\\\"include\\\":\\\"#curly_braces\\\"},{\\\"include\\\":\\\"#square_braces\\\"},{\\\"include\\\":\\\"#round_braces\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#region\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#func\\\"},{\\\"include\\\":\\\"#letter\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#pascal_case_class\\\"},{\\\"include\\\":\\\"#line_continuation\\\"}]},\\\"bitwise_operator\\\":{\\\"match\\\":\\\"[\\\\\\\\&|]|<<=|>>=|<<|>>|[\\\\\\\\^~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.gdscript\\\"},\\\"boolean_operator\\\":{\\\"match\\\":\\\"(&&|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.boolean.gdscript\\\"},\\\"builtin_classes\\\":{\\\"match\\\":\\\"(?=|==|[<>]|!=?\\\",\\\"name\\\":\\\"keyword.operator.comparison.gdscript\\\"},\\\"const_vars\\\":{\\\"match\\\":\\\"\\\\\\\\b([A-Z_][0-9A-Z_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.gdscript\\\"},\\\"control_flow\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.gdscript\\\"},\\\"curly_braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.begin.gdscript\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.end.gdscript\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#base_expression\\\"},{\\\"include\\\":\\\"#any_variable\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#getter_setter_godot4\\\"},{\\\"include\\\":\\\"#base_expression\\\"},{\\\"include\\\":\\\"#assignment_operator\\\"},{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#class_name\\\"},{\\\"include\\\":\\\"#builtin_classes\\\"},{\\\"include\\\":\\\"#class_new\\\"},{\\\"include\\\":\\\"#class_is\\\"},{\\\"include\\\":\\\"#class_enum\\\"},{\\\"include\\\":\\\"#any_method\\\"},{\\\"include\\\":\\\"#any_variable\\\"},{\\\"include\\\":\\\"#any_property\\\"}]},\\\"extends_statement\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.gdscript\\\"}},\\\"match\\\":\\\"(extends)\\\\\\\\s+([A-Z_a-z]\\\\\\\\w*\\\\\\\\.[A-Z_a-z]\\\\\\\\w*)?\\\"},\\\"func\\\":{\\\"match\\\":\\\"\\\\\\\\bfunc\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.language.gdscript storage.type.function.gdscript\\\"},\\\"function_arguments\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.gdscript\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.gdscript\\\",\\\"end\\\":\\\"(?=\\\\\\\\))(?!\\\\\\\\)\\\\\\\\s*\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.separator.arguments.gdscript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function-call.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.gdscript\\\"}},\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.gdscript\\\"},{\\\"include\\\":\\\"#base_expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.gdscript\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\\\\\\s*(\\\\\\\\()\\\"},{\\\"include\\\":\\\"#letter\\\"},{\\\"include\\\":\\\"#any_variable\\\"},{\\\"include\\\":\\\"#any_property\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"function_call\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.gdscript\\\"}},\\\"name\\\":\\\"meta.function-call.gdscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_name\\\"},{\\\"include\\\":\\\"#function_arguments\\\"}]},\\\"function_declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(func)\\\\\\\\s+([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript storage.type.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.gdscript\\\"}},\\\"name\\\":\\\"meta.function.gdscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#base_expression\\\"}]},\\\"function_name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin_classes\\\"},{\\\"match\\\":\\\"\\\\\\\\b(preload)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.language.gdscript\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.gdscript\\\"}]},\\\"getter_setter_godot4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.gdscript\\\"}},\\\"match\\\":\\\"(get)\\\\\\\\s*(:)\\\",\\\"name\\\":\\\"meta.variable.declaration.getter.gdscript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.gdscript\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.gdscript\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.gdscript\\\"}},\\\"match\\\":\\\"(set)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"name\\\":\\\"meta.variable.declaration.setter.gdscript\\\"}]},\\\"in_keyword\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.gdscript\\\"}},\\\"end\\\":\\\":\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.gdscript\\\"},{\\\"include\\\":\\\"#base_expression\\\"},{\\\"include\\\":\\\"#any_variable\\\"},{\\\"include\\\":\\\"#any_property\\\"}]},{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.wordlike.gdscript\\\"}]},\\\"keywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.language.gdscript\\\"},\\\"lambda_declaration\\\":{\\\"begin\\\":\\\"(func)\\\\\\\\s?(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript storage.type.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"}},\\\"end\\\":\\\"(:|(?=[\\\\\\\\n\\\\\\\"#']))\\\",\\\"end2\\\":\\\"(\\\\\\\\s*(\\\\\\\\-\\\\\\\\>)\\\\\\\\s*(void\\\\\\\\w*)|([a-zA-Z_]\\\\\\\\w*)\\\\\\\\s*\\\\\\\\:)\\\",\\\"endCaptures2\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.result.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.language.void.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.gdscript markup.italic\\\"}},\\\"name\\\":\\\"meta.function.gdscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#base_expression\\\"},{\\\"include\\\":\\\"#any_variable\\\"},{\\\"include\\\":\\\"#any_property\\\"}]},\\\"letter\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.gdscript\\\"},\\\"line_continuation\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.line.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.line.continuation.gdscript\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\s*(\\\\\\\\S.*$\\\\\\\\n?)\\\"},{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\s*$\\\\\\\\n?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.line.gdscript\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*$)|(?!(\\\\\\\\s*[Rr]?('''|\\\\\\\"\\\\\\\"\\\\\\\"|[\\\\\\\"']))|\\\\\\\\G()$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#base_expression\\\"}]}]},\\\"loose_default\\\":{\\\"begin\\\":\\\"(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.gdscript\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.gdscript\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"match_keyword\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.gdscript\\\"}},\\\"match\\\":\\\"^\\\\\\\\n\\\\\\\\s*(match)\\\"},\\\"nodepath_function\\\":{\\\"begin\\\":\\\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.gdscript\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.gdscript\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.gdscript\\\"}},\\\"name\\\":\\\"meta.function.gdscript\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"keyword.control.flow.gdscript\\\"}]},{\\\"include\\\":\\\"#expression\\\"}]},\\\"nodepath_object\\\":{\\\"begin\\\":\\\"(NodePath)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.library.gdscript\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.literal.nodepath.gdscript\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"string.quoted.gdscript constant.character.escape.gdscript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"keyword.control.flow.gdscript\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"0b[01_]+\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.gdscript\\\"},{\\\"match\\\":\\\"0x[_\\\\\\\\h]+\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.gdscript\\\"},{\\\"match\\\":\\\"\\\\\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?\\\",\\\"name\\\":\\\"constant.numeric.float.gdscript\\\"},{\\\"match\\\":\\\"([0-9][0-9_]*)\\\\\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?\\\",\\\"name\\\":\\\"constant.numeric.float.gdscript\\\"},{\\\"match\\\":\\\"([0-9][0-9_]*)?\\\\\\\\.[0-9_]*([Ee][-+]?[0-9_]+)\\\",\\\"name\\\":\\\"constant.numeric.float.gdscript\\\"},{\\\"match\\\":\\\"[0-9][0-9_]*[Ee][-+]?[0-9_]+\\\",\\\"name\\\":\\\"constant.numeric.float.gdscript\\\"},{\\\"match\\\":\\\"-?[0-9][0-9_]*\\\",\\\"name\\\":\\\"constant.numeric.integer.gdscript\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#wordlike_operator\\\"},{\\\"include\\\":\\\"#boolean_operator\\\"},{\\\"include\\\":\\\"#arithmetic_operator\\\"},{\\\"include\\\":\\\"#bitwise_operator\\\"},{\\\"include\\\":\\\"#compare_operator\\\"}]},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.gdscript\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.gdscript\\\"}},\\\"name\\\":\\\"meta.function.parameters.gdscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#annotated_parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.gdscript\\\"}},\\\"match\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=[\\\\\\\\n#)=]))\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#loose_default\\\"}]},\\\"pascal_case_class\\\":{\\\"match\\\":\\\"\\\\\\\\b([A-Z]+[0-9_a-z]*([A-Z]?[0-9_a-z]+)*[A-Z]?)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.class.gdscript\\\"},\\\"region\\\":{\\\"match\\\":\\\"#(end)?region.*$\\\\\\\\n?\\\",\\\"name\\\":\\\"keyword.language.region.gdscript\\\"},\\\"round_braces\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.begin.gdscript\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.end.gdscript\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#base_expression\\\"},{\\\"include\\\":\\\"#any_variable\\\"}]},\\\"signal_declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(signal)\\\\\\\\s+([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript storage.type.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"}},\\\"end\\\":\\\"((?=[\\\\\\\\n\\\\\\\"#']))\\\",\\\"name\\\":\\\"meta.signal.gdscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#line_continuation\\\"}]},\\\"signal_declaration_bare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript storage.type.function.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(signal)\\\\\\\\s+([A-Z_a-z]\\\\\\\\w*)(?=[\\\\\\\\n\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.signal.gdscript\\\"},\\\"square_braces\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.gdscript\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.list.end.gdscript\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#base_expression\\\"},{\\\"include\\\":\\\"#any_variable\\\"}]},\\\"statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#extends_statement\\\"}]},\\\"statement_keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)?})\\\",\\\"name\\\":\\\"meta.format.brace.gdscript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.gdscript\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.gdscript\\\"}},\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\w*(\\\\\\\\.[_[:alpha:]]\\\\\\\\w*|\\\\\\\\[[^]\\\\\\\"']+])*(![ars])?(:)[^\\\\\\\\n\\\\\\\"'{}]*(?:\\\\\\\\{[^\\\\\\\\n\\\\\\\"'}]*?}[^\\\\\\\\n\\\\\\\"'{}]*)*})\\\",\\\"name\\\":\\\"meta.format.brace.gdscript\\\"}]},\\\"string_percent_placeholders\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.gdscript\\\"}},\\\"match\\\":\\\"(%(\\\\\\\\([\\\\\\\\w\\\\\\\\s]*\\\\\\\\))?[- #+0]*(\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.(\\\\\\\\d+|\\\\\\\\*))?([Lhl])?[%EFGXa-giorsux])\\\",\\\"name\\\":\\\"meta.format.percent.gdscript\\\"},\\\"strings\\\":{\\\"begin\\\":\\\"(r)?(\\\\\\\"\\\\\\\"\\\\\\\"|'''|[\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.gdscript\\\"}},\\\"end\\\":\\\"\\\\\\\\2\\\",\\\"name\\\":\\\"string.quoted.gdscript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.gdscript\\\"},{\\\"include\\\":\\\"#string_percent_placeholders\\\"},{\\\"include\\\":\\\"#string_bracket_placeholders\\\"}]},\\\"variable_declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?:(var)|(const))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript storage.type.var.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.language.gdscript storage.type.const.gdscript\\\"}},\\\"end\\\":\\\"$|;\\\",\\\"name\\\":\\\"meta.variable.declaration.gdscript\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"}},\\\"match\\\":\\\"(:)?\\\\\\\\s*([gs]et)\\\\\\\\s+=\\\\\\\\s+([A-Z_a-z]\\\\\\\\w*)\\\"},{\\\"match\\\":\\\":=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.gdscript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.gdscript\\\"}},\\\"match\\\":\\\"(:)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gdscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.gdscript\\\"}},\\\"match\\\":\\\"(setget)\\\\\\\\s+([A-Z_a-z]\\\\\\\\w*)(?:,\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*))?\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#letter\\\"},{\\\"include\\\":\\\"#any_variable\\\"},{\\\"include\\\":\\\"#any_property\\\"},{\\\"include\\\":\\\"#keywords\\\"}]},\\\"wordlike_operator\\\":{\\\"match\\\":\\\"\\\\\\\\b(and|or|not)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.wordlike.gdscript\\\"}},\\\"scopeName\\\":\\\"source.gdscript\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "gdscript" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,o1kBAAqwoB,CAAC,EAE7xoBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Btyk0a-E.js b/src/webview-ui/build/assets/chunk-Btyk0a-E.js new file mode 100644 index 0000000000..7f3ee3fc48 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Btyk0a-E.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBackground":"#00000000","activityBar.activeBorder":"#00000000","activityBar.activeFocusBorder":"#00000000","activityBar.background":"#232634","activityBar.border":"#00000000","activityBar.dropBorder":"#ca9ee633","activityBar.foreground":"#ca9ee6","activityBar.inactiveForeground":"#737994","activityBarBadge.background":"#ca9ee6","activityBarBadge.foreground":"#232634","activityBarTop.activeBorder":"#00000000","activityBarTop.dropBorder":"#ca9ee633","activityBarTop.foreground":"#ca9ee6","activityBarTop.inactiveForeground":"#737994","badge.background":"#51576d","badge.foreground":"#c6d0f5","banner.background":"#51576d","banner.foreground":"#c6d0f5","banner.iconForeground":"#c6d0f5","breadcrumb.activeSelectionForeground":"#ca9ee6","breadcrumb.background":"#303446","breadcrumb.focusForeground":"#ca9ee6","breadcrumb.foreground":"#c6d0f5cc","breadcrumbPicker.background":"#292c3c","button.background":"#ca9ee6","button.border":"#00000000","button.foreground":"#232634","button.hoverBackground":"#d9baed","button.secondaryBackground":"#626880","button.secondaryBorder":"#ca9ee6","button.secondaryForeground":"#c6d0f5","button.secondaryHoverBackground":"#727993","button.separator":"#00000000","charts.blue":"#8caaee","charts.foreground":"#c6d0f5","charts.green":"#a6d189","charts.lines":"#b5bfe2","charts.orange":"#ef9f76","charts.purple":"#ca9ee6","charts.red":"#e78284","charts.yellow":"#e5c890","checkbox.background":"#51576d","checkbox.border":"#00000000","checkbox.foreground":"#ca9ee6","commandCenter.activeBackground":"#62688033","commandCenter.activeBorder":"#ca9ee6","commandCenter.activeForeground":"#ca9ee6","commandCenter.background":"#292c3c","commandCenter.border":"#00000000","commandCenter.foreground":"#b5bfe2","commandCenter.inactiveBorder":"#00000000","commandCenter.inactiveForeground":"#b5bfe2","debugConsole.errorForeground":"#e78284","debugConsole.infoForeground":"#8caaee","debugConsole.sourceForeground":"#f2d5cf","debugConsole.warningForeground":"#ef9f76","debugConsoleInputIcon.foreground":"#c6d0f5","debugExceptionWidget.background":"#232634","debugExceptionWidget.border":"#ca9ee6","debugIcon.breakpointCurrentStackframeForeground":"#626880","debugIcon.breakpointDisabledForeground":"#e7828499","debugIcon.breakpointForeground":"#e78284","debugIcon.breakpointStackframeForeground":"#626880","debugIcon.breakpointUnverifiedForeground":"#a57582","debugIcon.continueForeground":"#a6d189","debugIcon.disconnectForeground":"#626880","debugIcon.pauseForeground":"#8caaee","debugIcon.restartForeground":"#81c8be","debugIcon.startForeground":"#a6d189","debugIcon.stepBackForeground":"#626880","debugIcon.stepIntoForeground":"#c6d0f5","debugIcon.stepOutForeground":"#c6d0f5","debugIcon.stepOverForeground":"#ca9ee6","debugIcon.stopForeground":"#e78284","debugTokenExpression.boolean":"#ca9ee6","debugTokenExpression.error":"#e78284","debugTokenExpression.number":"#ef9f76","debugTokenExpression.string":"#a6d189","debugToolBar.background":"#232634","debugToolBar.border":"#00000000","descriptionForeground":"#c6d0f5","diffEditor.border":"#626880","diffEditor.diagonalFill":"#62688099","diffEditor.insertedLineBackground":"#a6d18926","diffEditor.insertedTextBackground":"#a6d18933","diffEditor.removedLineBackground":"#e7828426","diffEditor.removedTextBackground":"#e7828433","diffEditorOverview.insertedForeground":"#a6d189cc","diffEditorOverview.removedForeground":"#e78284cc","disabledForeground":"#a5adce","dropdown.background":"#292c3c","dropdown.border":"#ca9ee6","dropdown.foreground":"#c6d0f5","dropdown.listBackground":"#626880","editor.background":"#303446","editor.findMatchBackground":"#674b59","editor.findMatchBorder":"#e7828433","editor.findMatchHighlightBackground":"#506373","editor.findMatchHighlightBorder":"#99d1db33","editor.findRangeHighlightBackground":"#506373","editor.findRangeHighlightBorder":"#99d1db33","editor.focusedStackFrameHighlightBackground":"#a6d18926","editor.foldBackground":"#99d1db40","editor.foreground":"#c6d0f5","editor.hoverHighlightBackground":"#99d1db40","editor.lineHighlightBackground":"#c6d0f512","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#99d1db40","editor.rangeHighlightBorder":"#00000000","editor.selectionBackground":"#949cbb40","editor.selectionHighlightBackground":"#949cbb33","editor.selectionHighlightBorder":"#949cbb33","editor.stackFrameHighlightBackground":"#e5c89026","editor.wordHighlightBackground":"#949cbb33","editor.wordHighlightStrongBackground":"#8caaee33","editorBracketHighlight.foreground1":"#e78284","editorBracketHighlight.foreground2":"#ef9f76","editorBracketHighlight.foreground3":"#e5c890","editorBracketHighlight.foreground4":"#a6d189","editorBracketHighlight.foreground5":"#85c1dc","editorBracketHighlight.foreground6":"#ca9ee6","editorBracketHighlight.unexpectedBracket.foreground":"#ea999c","editorBracketMatch.background":"#949cbb1a","editorBracketMatch.border":"#949cbb","editorCodeLens.foreground":"#838ba7","editorCursor.background":"#303446","editorCursor.foreground":"#f2d5cf","editorError.background":"#00000000","editorError.border":"#00000000","editorError.foreground":"#e78284","editorGroup.border":"#626880","editorGroup.dropBackground":"#ca9ee633","editorGroup.emptyBackground":"#303446","editorGroupHeader.tabsBackground":"#232634","editorGutter.addedBackground":"#a6d189","editorGutter.background":"#303446","editorGutter.commentGlyphForeground":"#ca9ee6","editorGutter.commentRangeForeground":"#414559","editorGutter.deletedBackground":"#e78284","editorGutter.foldingControlForeground":"#949cbb","editorGutter.modifiedBackground":"#e5c890","editorHoverWidget.background":"#292c3c","editorHoverWidget.border":"#626880","editorHoverWidget.foreground":"#c6d0f5","editorIndentGuide.activeBackground":"#626880","editorIndentGuide.background":"#51576d","editorInfo.background":"#00000000","editorInfo.border":"#00000000","editorInfo.foreground":"#8caaee","editorInlayHint.background":"#292c3cbf","editorInlayHint.foreground":"#626880","editorInlayHint.parameterBackground":"#292c3cbf","editorInlayHint.parameterForeground":"#a5adce","editorInlayHint.typeBackground":"#292c3cbf","editorInlayHint.typeForeground":"#b5bfe2","editorLightBulb.foreground":"#e5c890","editorLineNumber.activeForeground":"#ca9ee6","editorLineNumber.foreground":"#838ba7","editorLink.activeForeground":"#ca9ee6","editorMarkerNavigation.background":"#292c3c","editorMarkerNavigationError.background":"#e78284","editorMarkerNavigationInfo.background":"#8caaee","editorMarkerNavigationWarning.background":"#ef9f76","editorOverviewRuler.background":"#292c3c","editorOverviewRuler.border":"#c6d0f512","editorOverviewRuler.modifiedForeground":"#e5c890","editorRuler.foreground":"#626880","editorStickyScrollHover.background":"#414559","editorSuggestWidget.background":"#292c3c","editorSuggestWidget.border":"#626880","editorSuggestWidget.foreground":"#c6d0f5","editorSuggestWidget.highlightForeground":"#ca9ee6","editorSuggestWidget.selectedBackground":"#414559","editorWarning.background":"#00000000","editorWarning.border":"#00000000","editorWarning.foreground":"#ef9f76","editorWhitespace.foreground":"#949cbb66","editorWidget.background":"#292c3c","editorWidget.foreground":"#c6d0f5","editorWidget.resizeBorder":"#626880","errorForeground":"#e78284","errorLens.errorBackground":"#e7828426","errorLens.errorBackgroundLight":"#e7828426","errorLens.errorForeground":"#e78284","errorLens.errorForegroundLight":"#e78284","errorLens.errorMessageBackground":"#e7828426","errorLens.hintBackground":"#a6d18926","errorLens.hintBackgroundLight":"#a6d18926","errorLens.hintForeground":"#a6d189","errorLens.hintForegroundLight":"#a6d189","errorLens.hintMessageBackground":"#a6d18926","errorLens.infoBackground":"#8caaee26","errorLens.infoBackgroundLight":"#8caaee26","errorLens.infoForeground":"#8caaee","errorLens.infoForegroundLight":"#8caaee","errorLens.infoMessageBackground":"#8caaee26","errorLens.statusBarErrorForeground":"#e78284","errorLens.statusBarHintForeground":"#a6d189","errorLens.statusBarIconErrorForeground":"#e78284","errorLens.statusBarIconWarningForeground":"#ef9f76","errorLens.statusBarInfoForeground":"#8caaee","errorLens.statusBarWarningForeground":"#ef9f76","errorLens.warningBackground":"#ef9f7626","errorLens.warningBackgroundLight":"#ef9f7626","errorLens.warningForeground":"#ef9f76","errorLens.warningForegroundLight":"#ef9f76","errorLens.warningMessageBackground":"#ef9f7626","extensionBadge.remoteBackground":"#8caaee","extensionBadge.remoteForeground":"#232634","extensionButton.prominentBackground":"#ca9ee6","extensionButton.prominentForeground":"#232634","extensionButton.prominentHoverBackground":"#d9baed","extensionButton.separator":"#303446","extensionIcon.preReleaseForeground":"#626880","extensionIcon.sponsorForeground":"#f4b8e4","extensionIcon.starForeground":"#e5c890","extensionIcon.verifiedForeground":"#a6d189","focusBorder":"#ca9ee6","foreground":"#c6d0f5","gitDecoration.addedResourceForeground":"#a6d189","gitDecoration.conflictingResourceForeground":"#ca9ee6","gitDecoration.deletedResourceForeground":"#e78284","gitDecoration.ignoredResourceForeground":"#737994","gitDecoration.modifiedResourceForeground":"#e5c890","gitDecoration.stageDeletedResourceForeground":"#e78284","gitDecoration.stageModifiedResourceForeground":"#e5c890","gitDecoration.submoduleResourceForeground":"#8caaee","gitDecoration.untrackedResourceForeground":"#a6d189","gitlens.closedAutolinkedIssueIconColor":"#ca9ee6","gitlens.closedPullRequestIconColor":"#e78284","gitlens.decorations.branchAheadForegroundColor":"#a6d189","gitlens.decorations.branchBehindForegroundColor":"#ef9f76","gitlens.decorations.branchDivergedForegroundColor":"#e5c890","gitlens.decorations.branchMissingUpstreamForegroundColor":"#ef9f76","gitlens.decorations.branchUnpublishedForegroundColor":"#a6d189","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#ea999c","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#e5c890","gitlens.decorations.workspaceCurrentForegroundColor":"#ca9ee6","gitlens.decorations.workspaceRepoMissingForegroundColor":"#a5adce","gitlens.decorations.workspaceRepoOpenForegroundColor":"#ca9ee6","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#ef9f76","gitlens.decorations.worktreeMissingForegroundColor":"#ea999c","gitlens.graphChangesColumnAddedColor":"#a6d189","gitlens.graphChangesColumnDeletedColor":"#e78284","gitlens.graphLane10Color":"#f4b8e4","gitlens.graphLane1Color":"#ca9ee6","gitlens.graphLane2Color":"#e5c890","gitlens.graphLane3Color":"#8caaee","gitlens.graphLane4Color":"#eebebe","gitlens.graphLane5Color":"#a6d189","gitlens.graphLane6Color":"#babbf1","gitlens.graphLane7Color":"#f2d5cf","gitlens.graphLane8Color":"#e78284","gitlens.graphLane9Color":"#81c8be","gitlens.graphMinimapMarkerHeadColor":"#a6d189","gitlens.graphMinimapMarkerHighlightsColor":"#e5c890","gitlens.graphMinimapMarkerLocalBranchesColor":"#8caaee","gitlens.graphMinimapMarkerRemoteBranchesColor":"#769aeb","gitlens.graphMinimapMarkerStashesColor":"#ca9ee6","gitlens.graphMinimapMarkerTagsColor":"#eebebe","gitlens.graphMinimapMarkerUpstreamColor":"#98ca77","gitlens.graphScrollMarkerHeadColor":"#a6d189","gitlens.graphScrollMarkerHighlightsColor":"#e5c890","gitlens.graphScrollMarkerLocalBranchesColor":"#8caaee","gitlens.graphScrollMarkerRemoteBranchesColor":"#769aeb","gitlens.graphScrollMarkerStashesColor":"#ca9ee6","gitlens.graphScrollMarkerTagsColor":"#eebebe","gitlens.graphScrollMarkerUpstreamColor":"#98ca77","gitlens.gutterBackgroundColor":"#4145594d","gitlens.gutterForegroundColor":"#c6d0f5","gitlens.gutterUncommittedForegroundColor":"#ca9ee6","gitlens.lineHighlightBackgroundColor":"#ca9ee626","gitlens.lineHighlightOverviewRulerColor":"#ca9ee6cc","gitlens.mergedPullRequestIconColor":"#ca9ee6","gitlens.openAutolinkedIssueIconColor":"#a6d189","gitlens.openPullRequestIconColor":"#a6d189","gitlens.trailingLineBackgroundColor":"#00000000","gitlens.trailingLineForegroundColor":"#c6d0f54d","gitlens.unpublishedChangesIconColor":"#a6d189","gitlens.unpublishedCommitIconColor":"#a6d189","gitlens.unpulledChangesIconColor":"#ef9f76","icon.foreground":"#ca9ee6","input.background":"#414559","input.border":"#00000000","input.foreground":"#c6d0f5","input.placeholderForeground":"#c6d0f573","inputOption.activeBackground":"#626880","inputOption.activeBorder":"#ca9ee6","inputOption.activeForeground":"#c6d0f5","inputValidation.errorBackground":"#e78284","inputValidation.errorBorder":"#23263433","inputValidation.errorForeground":"#232634","inputValidation.infoBackground":"#8caaee","inputValidation.infoBorder":"#23263433","inputValidation.infoForeground":"#232634","inputValidation.warningBackground":"#ef9f76","inputValidation.warningBorder":"#23263433","inputValidation.warningForeground":"#232634","issues.closed":"#ca9ee6","issues.newIssueDecoration":"#f2d5cf","issues.open":"#a6d189","list.activeSelectionBackground":"#414559","list.activeSelectionForeground":"#c6d0f5","list.dropBackground":"#ca9ee633","list.focusAndSelectionBackground":"#51576d","list.focusBackground":"#414559","list.focusForeground":"#c6d0f5","list.focusOutline":"#00000000","list.highlightForeground":"#ca9ee6","list.hoverBackground":"#41455980","list.hoverForeground":"#c6d0f5","list.inactiveSelectionBackground":"#414559","list.inactiveSelectionForeground":"#c6d0f5","list.warningForeground":"#ef9f76","listFilterWidget.background":"#51576d","listFilterWidget.noMatchesOutline":"#e78284","listFilterWidget.outline":"#00000000","menu.background":"#303446","menu.border":"#30344680","menu.foreground":"#c6d0f5","menu.selectionBackground":"#626880","menu.selectionBorder":"#00000000","menu.selectionForeground":"#c6d0f5","menu.separatorBackground":"#626880","menubar.selectionBackground":"#51576d","menubar.selectionForeground":"#c6d0f5","merge.commonContentBackground":"#51576d","merge.commonHeaderBackground":"#626880","merge.currentContentBackground":"#a6d18933","merge.currentHeaderBackground":"#a6d18966","merge.incomingContentBackground":"#8caaee33","merge.incomingHeaderBackground":"#8caaee66","minimap.background":"#292c3c80","minimap.errorHighlight":"#e78284bf","minimap.findMatchHighlight":"#99d1db4d","minimap.selectionHighlight":"#626880bf","minimap.selectionOccurrenceHighlight":"#626880bf","minimap.warningHighlight":"#ef9f76bf","minimapGutter.addedBackground":"#a6d189bf","minimapGutter.deletedBackground":"#e78284bf","minimapGutter.modifiedBackground":"#e5c890bf","minimapSlider.activeBackground":"#ca9ee699","minimapSlider.background":"#ca9ee633","minimapSlider.hoverBackground":"#ca9ee666","notificationCenter.border":"#ca9ee6","notificationCenterHeader.background":"#292c3c","notificationCenterHeader.foreground":"#c6d0f5","notificationLink.foreground":"#8caaee","notificationToast.border":"#ca9ee6","notifications.background":"#292c3c","notifications.border":"#ca9ee6","notifications.foreground":"#c6d0f5","notificationsErrorIcon.foreground":"#e78284","notificationsInfoIcon.foreground":"#8caaee","notificationsWarningIcon.foreground":"#ef9f76","panel.background":"#303446","panel.border":"#626880","panelSection.border":"#626880","panelSection.dropBackground":"#ca9ee633","panelTitle.activeBorder":"#ca9ee6","panelTitle.activeForeground":"#c6d0f5","panelTitle.inactiveForeground":"#a5adce","peekView.border":"#ca9ee6","peekViewEditor.background":"#292c3c","peekViewEditor.matchHighlightBackground":"#99d1db4d","peekViewEditor.matchHighlightBorder":"#00000000","peekViewEditorGutter.background":"#292c3c","peekViewResult.background":"#292c3c","peekViewResult.fileForeground":"#c6d0f5","peekViewResult.lineForeground":"#c6d0f5","peekViewResult.matchHighlightBackground":"#99d1db4d","peekViewResult.selectionBackground":"#414559","peekViewResult.selectionForeground":"#c6d0f5","peekViewTitle.background":"#303446","peekViewTitleDescription.foreground":"#b5bfe2b3","peekViewTitleLabel.foreground":"#c6d0f5","pickerGroup.border":"#ca9ee6","pickerGroup.foreground":"#ca9ee6","problemsErrorIcon.foreground":"#e78284","problemsInfoIcon.foreground":"#8caaee","problemsWarningIcon.foreground":"#ef9f76","progressBar.background":"#ca9ee6","pullRequests.closed":"#e78284","pullRequests.draft":"#949cbb","pullRequests.merged":"#ca9ee6","pullRequests.notification":"#c6d0f5","pullRequests.open":"#a6d189","sash.hoverBorder":"#ca9ee6","scrollbar.shadow":"#232634","scrollbarSlider.activeBackground":"#41455966","scrollbarSlider.background":"#62688080","scrollbarSlider.hoverBackground":"#737994","selection.background":"#ca9ee666","settings.dropdownBackground":"#51576d","settings.dropdownListBorder":"#00000000","settings.focusedRowBackground":"#62688033","settings.headerForeground":"#c6d0f5","settings.modifiedItemIndicator":"#ca9ee6","settings.numberInputBackground":"#51576d","settings.numberInputBorder":"#00000000","settings.textInputBackground":"#51576d","settings.textInputBorder":"#00000000","sideBar.background":"#292c3c","sideBar.border":"#00000000","sideBar.dropBackground":"#ca9ee633","sideBar.foreground":"#c6d0f5","sideBarSectionHeader.background":"#292c3c","sideBarSectionHeader.foreground":"#c6d0f5","sideBarTitle.foreground":"#ca9ee6","statusBar.background":"#232634","statusBar.border":"#00000000","statusBar.debuggingBackground":"#ef9f76","statusBar.debuggingBorder":"#00000000","statusBar.debuggingForeground":"#232634","statusBar.foreground":"#c6d0f5","statusBar.noFolderBackground":"#232634","statusBar.noFolderBorder":"#00000000","statusBar.noFolderForeground":"#c6d0f5","statusBarItem.activeBackground":"#62688066","statusBarItem.errorBackground":"#00000000","statusBarItem.errorForeground":"#e78284","statusBarItem.hoverBackground":"#62688033","statusBarItem.prominentBackground":"#00000000","statusBarItem.prominentForeground":"#ca9ee6","statusBarItem.prominentHoverBackground":"#62688033","statusBarItem.remoteBackground":"#8caaee","statusBarItem.remoteForeground":"#232634","statusBarItem.warningBackground":"#00000000","statusBarItem.warningForeground":"#ef9f76","symbolIcon.arrayForeground":"#ef9f76","symbolIcon.booleanForeground":"#ca9ee6","symbolIcon.classForeground":"#e5c890","symbolIcon.colorForeground":"#f4b8e4","symbolIcon.constantForeground":"#ef9f76","symbolIcon.constructorForeground":"#babbf1","symbolIcon.enumeratorForeground":"#e5c890","symbolIcon.enumeratorMemberForeground":"#e5c890","symbolIcon.eventForeground":"#f4b8e4","symbolIcon.fieldForeground":"#c6d0f5","symbolIcon.fileForeground":"#ca9ee6","symbolIcon.folderForeground":"#ca9ee6","symbolIcon.functionForeground":"#8caaee","symbolIcon.interfaceForeground":"#e5c890","symbolIcon.keyForeground":"#81c8be","symbolIcon.keywordForeground":"#ca9ee6","symbolIcon.methodForeground":"#8caaee","symbolIcon.moduleForeground":"#c6d0f5","symbolIcon.namespaceForeground":"#e5c890","symbolIcon.nullForeground":"#ea999c","symbolIcon.numberForeground":"#ef9f76","symbolIcon.objectForeground":"#e5c890","symbolIcon.operatorForeground":"#81c8be","symbolIcon.packageForeground":"#eebebe","symbolIcon.propertyForeground":"#ea999c","symbolIcon.referenceForeground":"#e5c890","symbolIcon.snippetForeground":"#eebebe","symbolIcon.stringForeground":"#a6d189","symbolIcon.structForeground":"#81c8be","symbolIcon.textForeground":"#c6d0f5","symbolIcon.typeParameterForeground":"#ea999c","symbolIcon.unitForeground":"#c6d0f5","symbolIcon.variableForeground":"#c6d0f5","tab.activeBackground":"#303446","tab.activeBorder":"#00000000","tab.activeBorderTop":"#ca9ee6","tab.activeForeground":"#ca9ee6","tab.activeModifiedBorder":"#e5c890","tab.border":"#292c3c","tab.hoverBackground":"#3a3f55","tab.hoverBorder":"#00000000","tab.hoverForeground":"#ca9ee6","tab.inactiveBackground":"#292c3c","tab.inactiveForeground":"#737994","tab.inactiveModifiedBorder":"#e5c8904d","tab.lastPinnedBorder":"#ca9ee6","tab.unfocusedActiveBackground":"#292c3c","tab.unfocusedActiveBorder":"#00000000","tab.unfocusedActiveBorderTop":"#ca9ee64d","tab.unfocusedInactiveBackground":"#1f212d","table.headerBackground":"#414559","table.headerForeground":"#c6d0f5","terminal.ansiBlack":"#51576d","terminal.ansiBlue":"#8caaee","terminal.ansiBrightBlack":"#626880","terminal.ansiBrightBlue":"#7b9ef0","terminal.ansiBrightCyan":"#5abfb5","terminal.ansiBrightGreen":"#8ec772","terminal.ansiBrightMagenta":"#f2a4db","terminal.ansiBrightRed":"#e67172","terminal.ansiBrightWhite":"#b5bfe2","terminal.ansiBrightYellow":"#d9ba73","terminal.ansiCyan":"#81c8be","terminal.ansiGreen":"#a6d189","terminal.ansiMagenta":"#f4b8e4","terminal.ansiRed":"#e78284","terminal.ansiWhite":"#a5adce","terminal.ansiYellow":"#e5c890","terminal.border":"#626880","terminal.dropBackground":"#ca9ee633","terminal.foreground":"#c6d0f5","terminal.inactiveSelectionBackground":"#62688080","terminal.selectionBackground":"#626880","terminal.tab.activeBorder":"#ca9ee6","terminalCommandDecoration.defaultBackground":"#626880","terminalCommandDecoration.errorBackground":"#e78284","terminalCommandDecoration.successBackground":"#a6d189","terminalCursor.background":"#303446","terminalCursor.foreground":"#f2d5cf","testing.coverCountBadgeBackground":"#00000000","testing.coverCountBadgeForeground":"#ca9ee6","testing.coveredBackground":"#a6d1894d","testing.coveredBorder":"#00000000","testing.coveredGutterBackground":"#a6d1894d","testing.iconErrored":"#e78284","testing.iconErrored.retired":"#e78284","testing.iconFailed":"#e78284","testing.iconFailed.retired":"#e78284","testing.iconPassed":"#a6d189","testing.iconPassed.retired":"#a6d189","testing.iconQueued":"#8caaee","testing.iconQueued.retired":"#8caaee","testing.iconSkipped":"#a5adce","testing.iconSkipped.retired":"#a5adce","testing.iconUnset":"#c6d0f5","testing.iconUnset.retired":"#c6d0f5","testing.message.error.lineBackground":"#e7828426","testing.message.info.decorationForeground":"#a6d189cc","testing.message.info.lineBackground":"#a6d18926","testing.messagePeekBorder":"#ca9ee6","testing.messagePeekHeaderBackground":"#626880","testing.peekBorder":"#ca9ee6","testing.peekHeaderBackground":"#626880","testing.runAction":"#ca9ee6","testing.uncoveredBackground":"#e7828433","testing.uncoveredBorder":"#00000000","testing.uncoveredBranchBackground":"#e7828433","testing.uncoveredGutterBackground":"#e7828440","textBlockQuote.background":"#292c3c","textBlockQuote.border":"#232634","textCodeBlock.background":"#292c3c","textLink.activeForeground":"#99d1db","textLink.foreground":"#8caaee","textPreformat.foreground":"#c6d0f5","textSeparator.foreground":"#ca9ee6","titleBar.activeBackground":"#232634","titleBar.activeForeground":"#c6d0f5","titleBar.border":"#00000000","titleBar.inactiveBackground":"#232634","titleBar.inactiveForeground":"#c6d0f580","tree.inactiveIndentGuidesStroke":"#51576d","tree.indentGuidesStroke":"#949cbb","walkThrough.embeddedEditorBackground":"#3034464d","welcomePage.progress.background":"#232634","welcomePage.progress.foreground":"#ca9ee6","welcomePage.tileBackground":"#292c3c","widget.shadow":"#292c3c80","window.activeBorder":"#00000000","window.inactiveBorder":"#00000000"},"displayName":"Catppuccin Frappé","name":"catppuccin-frappe","semanticHighlighting":true,"semanticTokenColors":{"boolean":{"foreground":"#ef9f76"},"builtinAttribute.attribute.library:rust":{"foreground":"#8caaee"},"class.builtin:python":{"foreground":"#ca9ee6"},"class:python":{"foreground":"#e5c890"},"constant.builtin.readonly:nix":{"foreground":"#ca9ee6"},"enumMember":{"foreground":"#81c8be"},"function.decorator:python":{"foreground":"#ef9f76"},"generic.attribute:rust":{"foreground":"#c6d0f5"},"heading":{"foreground":"#e78284"},"number":{"foreground":"#ef9f76"},"pol":{"foreground":"#eebebe"},"property.readonly:javascript":{"foreground":"#c6d0f5"},"property.readonly:javascriptreact":{"foreground":"#c6d0f5"},"property.readonly:typescript":{"foreground":"#c6d0f5"},"property.readonly:typescriptreact":{"foreground":"#c6d0f5"},"selfKeyword":{"foreground":"#e78284"},"text.emph":{"fontStyle":"italic","foreground":"#e78284"},"text.math":{"foreground":"#eebebe"},"text.strong":{"fontStyle":"bold","foreground":"#e78284"},"tomlArrayKey":{"fontStyle":"","foreground":"#8caaee"},"tomlTableKey":{"fontStyle":"","foreground":"#8caaee"},"type.defaultLibrary:go":{"foreground":"#ca9ee6"},"variable.defaultLibrary":{"foreground":"#ea999c"},"variable.readonly.defaultLibrary:go":{"foreground":"#ca9ee6"},"variable.readonly:javascript":{"foreground":"#c6d0f5"},"variable.readonly:javascriptreact":{"foreground":"#c6d0f5"},"variable.readonly:scala":{"foreground":"#c6d0f5"},"variable.readonly:typescript":{"foreground":"#c6d0f5"},"variable.readonly:typescriptreact":{"foreground":"#c6d0f5"},"variable.typeHint:python":{"foreground":"#e5c890"}},"tokenColors":[{"scope":["text","source","variable.other.readwrite","punctuation.definition.variable"],"settings":{"foreground":"#c6d0f5"}},{"scope":"punctuation","settings":{"fontStyle":"","foreground":"#949cbb"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#949cbb"}},{"scope":["string","punctuation.definition.string"],"settings":{"foreground":"#a6d189"}},{"scope":"constant.character.escape","settings":{"foreground":"#f4b8e4"}},{"scope":["constant.numeric","variable.other.constant","entity.name.constant","constant.language.boolean","constant.language.false","constant.language.true","keyword.other.unit.user-defined","keyword.other.unit.suffix.floating-point"],"settings":{"foreground":"#ef9f76"}},{"scope":["keyword","keyword.operator.word","keyword.operator.new","variable.language.super","support.type.primitive","storage.type","storage.modifier","punctuation.definition.keyword"],"settings":{"fontStyle":"","foreground":"#ca9ee6"}},{"scope":"entity.name.tag.documentation","settings":{"foreground":"#ca9ee6"}},{"scope":["keyword.operator","punctuation.accessor","punctuation.definition.generic","meta.function.closure punctuation.section.parameters","punctuation.definition.tag","punctuation.separator.key-value"],"settings":{"foreground":"#81c8be"}},{"scope":["entity.name.function","meta.function-call.method","support.function","support.function.misc","variable.function"],"settings":{"fontStyle":"italic","foreground":"#8caaee"}},{"scope":["entity.name.class","entity.other.inherited-class","support.class","meta.function-call.constructor","entity.name.struct"],"settings":{"fontStyle":"italic","foreground":"#e5c890"}},{"scope":"entity.name.enum","settings":{"fontStyle":"italic","foreground":"#e5c890"}},{"scope":["meta.enum variable.other.readwrite","variable.other.enummember"],"settings":{"foreground":"#81c8be"}},{"scope":"meta.property.object","settings":{"foreground":"#81c8be"}},{"scope":["meta.type","meta.type-alias","support.type","entity.name.type"],"settings":{"fontStyle":"italic","foreground":"#e5c890"}},{"scope":["meta.annotation variable.function","meta.annotation variable.annotation.function","meta.annotation punctuation.definition.annotation","meta.decorator","punctuation.decorator"],"settings":{"foreground":"#ef9f76"}},{"scope":["variable.parameter","meta.function.parameters"],"settings":{"fontStyle":"italic","foreground":"#ea999c"}},{"scope":["constant.language","support.function.builtin"],"settings":{"foreground":"#e78284"}},{"scope":"entity.other.attribute-name.documentation","settings":{"foreground":"#e78284"}},{"scope":["keyword.control.directive","punctuation.definition.directive"],"settings":{"foreground":"#e5c890"}},{"scope":"punctuation.definition.typeparameters","settings":{"foreground":"#99d1db"}},{"scope":"entity.name.namespace","settings":{"foreground":"#e5c890"}},{"scope":"support.type.property-name.css","settings":{"fontStyle":"","foreground":"#8caaee"}},{"scope":["variable.language.this","variable.language.this punctuation.definition.variable"],"settings":{"foreground":"#e78284"}},{"scope":"variable.object.property","settings":{"foreground":"#c6d0f5"}},{"scope":["string.template variable","string variable"],"settings":{"foreground":"#c6d0f5"}},{"scope":"keyword.operator.new","settings":{"fontStyle":"bold"}},{"scope":"storage.modifier.specifier.extern.cpp","settings":{"foreground":"#ca9ee6"}},{"scope":["entity.name.scope-resolution.template.call.cpp","entity.name.scope-resolution.parameter.cpp","entity.name.scope-resolution.cpp","entity.name.scope-resolution.function.definition.cpp"],"settings":{"foreground":"#e5c890"}},{"scope":"storage.type.class.doxygen","settings":{"fontStyle":""}},{"scope":["storage.modifier.reference.cpp"],"settings":{"foreground":"#81c8be"}},{"scope":"meta.interpolation.cs","settings":{"foreground":"#c6d0f5"}},{"scope":"comment.block.documentation.cs","settings":{"foreground":"#c6d0f5"}},{"scope":["source.css entity.other.attribute-name.class.css","entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css"],"settings":{"foreground":"#e5c890"}},{"scope":"punctuation.separator.operator.css","settings":{"foreground":"#81c8be"}},{"scope":"source.css entity.other.attribute-name.pseudo-class","settings":{"foreground":"#81c8be"}},{"scope":"source.css constant.other.unicode-range","settings":{"foreground":"#ef9f76"}},{"scope":"source.css variable.parameter.url","settings":{"fontStyle":"","foreground":"#a6d189"}},{"scope":["support.type.vendored.property-name"],"settings":{"foreground":"#99d1db"}},{"scope":["source.css meta.property-value variable","source.css meta.property-value variable.other.less","source.css meta.property-value variable.other.less punctuation.definition.variable.less","meta.definition.variable.scss"],"settings":{"foreground":"#ea999c"}},{"scope":["source.css meta.property-list variable","meta.property-list variable.other.less","meta.property-list variable.other.less punctuation.definition.variable.less"],"settings":{"foreground":"#8caaee"}},{"scope":"keyword.other.unit.percentage.css","settings":{"foreground":"#ef9f76"}},{"scope":"source.css meta.attribute-selector","settings":{"foreground":"#a6d189"}},{"scope":["keyword.other.definition.ini","punctuation.support.type.property-name.json","support.type.property-name.json","punctuation.support.type.property-name.toml","support.type.property-name.toml","entity.name.tag.yaml","punctuation.support.type.property-name.yaml","support.type.property-name.yaml"],"settings":{"fontStyle":"","foreground":"#8caaee"}},{"scope":["constant.language.json","constant.language.yaml"],"settings":{"foreground":"#ef9f76"}},{"scope":["entity.name.type.anchor.yaml","variable.other.alias.yaml"],"settings":{"fontStyle":"","foreground":"#e5c890"}},{"scope":["support.type.property-name.table","entity.name.section.group-title.ini"],"settings":{"foreground":"#e5c890"}},{"scope":"constant.other.time.datetime.offset.toml","settings":{"foreground":"#f4b8e4"}},{"scope":["punctuation.definition.anchor.yaml","punctuation.definition.alias.yaml"],"settings":{"foreground":"#f4b8e4"}},{"scope":"entity.other.document.begin.yaml","settings":{"foreground":"#f4b8e4"}},{"scope":"markup.changed.diff","settings":{"foreground":"#ef9f76"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#8caaee"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#a6d189"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#e78284"}},{"scope":["variable.other.env"],"settings":{"foreground":"#8caaee"}},{"scope":["string.quoted variable.other.env"],"settings":{"foreground":"#c6d0f5"}},{"scope":"support.function.builtin.gdscript","settings":{"foreground":"#8caaee"}},{"scope":"constant.language.gdscript","settings":{"foreground":"#ef9f76"}},{"scope":"comment meta.annotation.go","settings":{"foreground":"#ea999c"}},{"scope":"comment meta.annotation.parameters.go","settings":{"foreground":"#ef9f76"}},{"scope":"constant.language.go","settings":{"foreground":"#ef9f76"}},{"scope":"variable.graphql","settings":{"foreground":"#c6d0f5"}},{"scope":"string.unquoted.alias.graphql","settings":{"foreground":"#eebebe"}},{"scope":"constant.character.enum.graphql","settings":{"foreground":"#81c8be"}},{"scope":"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql","settings":{"foreground":"#eebebe"}},{"scope":["keyword.other.doctype","meta.tag.sgml.doctype punctuation.definition.tag","meta.tag.metadata.doctype entity.name.tag","meta.tag.metadata.doctype punctuation.definition.tag"],"settings":{"foreground":"#ca9ee6"}},{"scope":["entity.name.tag"],"settings":{"fontStyle":"","foreground":"#8caaee"}},{"scope":["text.html constant.character.entity","text.html constant.character.entity punctuation","constant.character.entity.xml","constant.character.entity.xml punctuation","constant.character.entity.js.jsx","constant.charactger.entity.js.jsx punctuation","constant.character.entity.tsx","constant.character.entity.tsx punctuation"],"settings":{"foreground":"#e78284"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#e5c890"}},{"scope":["support.class.component","support.class.component.jsx","support.class.component.tsx","support.class.component.vue"],"settings":{"fontStyle":"","foreground":"#f4b8e4"}},{"scope":["punctuation.definition.annotation","storage.type.annotation"],"settings":{"foreground":"#ef9f76"}},{"scope":"constant.other.enum.java","settings":{"foreground":"#81c8be"}},{"scope":"storage.modifier.import.java","settings":{"foreground":"#c6d0f5"}},{"scope":"comment.block.javadoc.java keyword.other.documentation.javadoc.java","settings":{"fontStyle":""}},{"scope":"meta.export variable.other.readwrite.js","settings":{"foreground":"#ea999c"}},{"scope":["variable.other.constant.js","variable.other.constant.ts","variable.other.property.js","variable.other.property.ts"],"settings":{"foreground":"#c6d0f5"}},{"scope":["variable.other.jsdoc","comment.block.documentation variable.other"],"settings":{"fontStyle":"","foreground":"#ea999c"}},{"scope":"storage.type.class.jsdoc","settings":{"fontStyle":""}},{"scope":"support.type.object.console.js","settings":{"foreground":"#c6d0f5"}},{"scope":["support.constant.node","support.type.object.module.js"],"settings":{"foreground":"#ca9ee6"}},{"scope":"storage.modifier.implements","settings":{"foreground":"#ca9ee6"}},{"scope":["constant.language.null.js","constant.language.null.ts","constant.language.undefined.js","constant.language.undefined.ts","support.type.builtin.ts"],"settings":{"foreground":"#ca9ee6"}},{"scope":"variable.parameter.generic","settings":{"foreground":"#e5c890"}},{"scope":["keyword.declaration.function.arrow.js","storage.type.function.arrow.ts"],"settings":{"foreground":"#81c8be"}},{"scope":"punctuation.decorator.ts","settings":{"fontStyle":"italic","foreground":"#8caaee"}},{"scope":["keyword.operator.expression.in.js","keyword.operator.expression.in.ts","keyword.operator.expression.infer.ts","keyword.operator.expression.instanceof.js","keyword.operator.expression.instanceof.ts","keyword.operator.expression.is","keyword.operator.expression.keyof.ts","keyword.operator.expression.of.js","keyword.operator.expression.of.ts","keyword.operator.expression.typeof.ts"],"settings":{"foreground":"#ca9ee6"}},{"scope":"support.function.macro.julia","settings":{"fontStyle":"italic","foreground":"#81c8be"}},{"scope":"constant.language.julia","settings":{"foreground":"#ef9f76"}},{"scope":"constant.other.symbol.julia","settings":{"foreground":"#ea999c"}},{"scope":"text.tex keyword.control.preamble","settings":{"foreground":"#81c8be"}},{"scope":"text.tex support.function.be","settings":{"foreground":"#99d1db"}},{"scope":"constant.other.general.math.tex","settings":{"foreground":"#eebebe"}},{"scope":"variable.language.liquid","settings":{"foreground":"#f4b8e4"}},{"scope":"comment.line.double-dash.documentation.lua storage.type.annotation.lua","settings":{"fontStyle":"","foreground":"#ca9ee6"}},{"scope":["comment.line.double-dash.documentation.lua entity.name.variable.lua","comment.line.double-dash.documentation.lua variable.lua"],"settings":{"foreground":"#c6d0f5"}},{"scope":["heading.1.markdown punctuation.definition.heading.markdown","heading.1.markdown","heading.1.quarto punctuation.definition.heading.quarto","heading.1.quarto","markup.heading.atx.1.mdx","markup.heading.atx.1.mdx punctuation.definition.heading.mdx","markup.heading.setext.1.markdown","markup.heading.heading-0.asciidoc"],"settings":{"foreground":"#e78284"}},{"scope":["heading.2.markdown punctuation.definition.heading.markdown","heading.2.markdown","heading.2.quarto punctuation.definition.heading.quarto","heading.2.quarto","markup.heading.atx.2.mdx","markup.heading.atx.2.mdx punctuation.definition.heading.mdx","markup.heading.setext.2.markdown","markup.heading.heading-1.asciidoc"],"settings":{"foreground":"#ef9f76"}},{"scope":["heading.3.markdown punctuation.definition.heading.markdown","heading.3.markdown","heading.3.quarto punctuation.definition.heading.quarto","heading.3.quarto","markup.heading.atx.3.mdx","markup.heading.atx.3.mdx punctuation.definition.heading.mdx","markup.heading.heading-2.asciidoc"],"settings":{"foreground":"#e5c890"}},{"scope":["heading.4.markdown punctuation.definition.heading.markdown","heading.4.markdown","heading.4.quarto punctuation.definition.heading.quarto","heading.4.quarto","markup.heading.atx.4.mdx","markup.heading.atx.4.mdx punctuation.definition.heading.mdx","markup.heading.heading-3.asciidoc"],"settings":{"foreground":"#a6d189"}},{"scope":["heading.5.markdown punctuation.definition.heading.markdown","heading.5.markdown","heading.5.quarto punctuation.definition.heading.quarto","heading.5.quarto","markup.heading.atx.5.mdx","markup.heading.atx.5.mdx punctuation.definition.heading.mdx","markup.heading.heading-4.asciidoc"],"settings":{"foreground":"#85c1dc"}},{"scope":["heading.6.markdown punctuation.definition.heading.markdown","heading.6.markdown","heading.6.quarto punctuation.definition.heading.quarto","heading.6.quarto","markup.heading.atx.6.mdx","markup.heading.atx.6.mdx punctuation.definition.heading.mdx","markup.heading.heading-5.asciidoc"],"settings":{"foreground":"#babbf1"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e78284"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e78284"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough","foreground":"#a5adce"}},{"scope":["punctuation.definition.link","markup.underline.link"],"settings":{"foreground":"#8caaee"}},{"scope":["text.html.markdown punctuation.definition.link.title","text.html.quarto punctuation.definition.link.title","string.other.link.title.markdown","string.other.link.title.quarto","markup.link","punctuation.definition.constant.markdown","punctuation.definition.constant.quarto","constant.other.reference.link.markdown","constant.other.reference.link.quarto","markup.substitution.attribute-reference"],"settings":{"foreground":"#babbf1"}},{"scope":["punctuation.definition.raw.markdown","punctuation.definition.raw.quarto","markup.inline.raw.string.markdown","markup.inline.raw.string.quarto","markup.raw.block.markdown","markup.raw.block.quarto"],"settings":{"foreground":"#a6d189"}},{"scope":"fenced_code.block.language","settings":{"foreground":"#99d1db"}},{"scope":["markup.fenced_code.block punctuation.definition","markup.raw support.asciidoc"],"settings":{"foreground":"#949cbb"}},{"scope":["markup.quote","punctuation.definition.quote.begin"],"settings":{"foreground":"#f4b8e4"}},{"scope":"meta.separator.markdown","settings":{"foreground":"#81c8be"}},{"scope":["punctuation.definition.list.begin.markdown","punctuation.definition.list.begin.quarto","markup.list.bullet"],"settings":{"foreground":"#81c8be"}},{"scope":"markup.heading.quarto","settings":{"fontStyle":"bold"}},{"scope":["entity.other.attribute-name.multipart.nix","entity.other.attribute-name.single.nix"],"settings":{"foreground":"#8caaee"}},{"scope":"variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#c6d0f5"}},{"scope":"meta.embedded variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#babbf1"}},{"scope":"string.unquoted.path.nix","settings":{"fontStyle":"","foreground":"#f4b8e4"}},{"scope":["support.attribute.builtin","meta.attribute.php"],"settings":{"foreground":"#e5c890"}},{"scope":"meta.function.parameters.php punctuation.definition.variable.php","settings":{"foreground":"#ea999c"}},{"scope":"constant.language.php","settings":{"foreground":"#ca9ee6"}},{"scope":"text.html.php support.function","settings":{"foreground":"#99d1db"}},{"scope":"keyword.other.phpdoc.php","settings":{"fontStyle":""}},{"scope":["support.variable.magic.python","meta.function-call.arguments.python"],"settings":{"foreground":"#c6d0f5"}},{"scope":["support.function.magic.python"],"settings":{"fontStyle":"italic","foreground":"#99d1db"}},{"scope":["variable.parameter.function.language.special.self.python","variable.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#e78284"}},{"scope":["keyword.control.flow.python","keyword.operator.logical.python"],"settings":{"foreground":"#ca9ee6"}},{"scope":"storage.type.function.python","settings":{"foreground":"#ca9ee6"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#99d1db"}},{"scope":["meta.function-call.python"],"settings":{"foreground":"#8caaee"}},{"scope":["entity.name.function.decorator.python","punctuation.definition.decorator.python"],"settings":{"fontStyle":"italic","foreground":"#ef9f76"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#f4b8e4"}},{"scope":["support.type.exception.python","support.function.builtin.python"],"settings":{"foreground":"#ef9f76"}},{"scope":["support.type.python"],"settings":{"foreground":"#ca9ee6"}},{"scope":"constant.language.python","settings":{"foreground":"#ef9f76"}},{"scope":["meta.indexed-name.python","meta.item-access.python"],"settings":{"fontStyle":"italic","foreground":"#ea999c"}},{"scope":"storage.type.string.python","settings":{"fontStyle":"italic","foreground":"#a6d189"}},{"scope":"meta.function.parameters.python","settings":{"fontStyle":""}},{"scope":["string.regexp punctuation.definition.string.begin","string.regexp punctuation.definition.string.end"],"settings":{"foreground":"#f4b8e4"}},{"scope":"keyword.control.anchor.regexp","settings":{"foreground":"#ca9ee6"}},{"scope":"string.regexp.ts","settings":{"foreground":"#c6d0f5"}},{"scope":["punctuation.definition.group.regexp","keyword.other.back-reference.regexp"],"settings":{"foreground":"#a6d189"}},{"scope":"punctuation.definition.character-class.regexp","settings":{"foreground":"#e5c890"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#f4b8e4"}},{"scope":"constant.other.character-class.range.regexp","settings":{"foreground":"#f2d5cf"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#81c8be"}},{"scope":"constant.character.numeric.regexp","settings":{"foreground":"#ef9f76"}},{"scope":["punctuation.definition.group.no-capture.regexp","meta.assertion.look-ahead.regexp","meta.assertion.negative-look-ahead.regexp"],"settings":{"foreground":"#8caaee"}},{"scope":["meta.annotation.rust","meta.annotation.rust punctuation","meta.attribute.rust","punctuation.definition.attribute.rust"],"settings":{"fontStyle":"italic","foreground":"#e5c890"}},{"scope":["meta.attribute.rust string.quoted.double.rust","meta.attribute.rust string.quoted.single.char.rust"],"settings":{"fontStyle":""}},{"scope":["entity.name.function.macro.rules.rust","storage.type.module.rust","storage.modifier.rust","storage.type.struct.rust","storage.type.enum.rust","storage.type.trait.rust","storage.type.union.rust","storage.type.impl.rust","storage.type.rust","storage.type.function.rust","storage.type.type.rust"],"settings":{"fontStyle":"","foreground":"#ca9ee6"}},{"scope":"entity.name.type.numeric.rust","settings":{"fontStyle":"","foreground":"#ca9ee6"}},{"scope":"meta.generic.rust","settings":{"foreground":"#ef9f76"}},{"scope":"entity.name.impl.rust","settings":{"fontStyle":"italic","foreground":"#e5c890"}},{"scope":"entity.name.module.rust","settings":{"foreground":"#ef9f76"}},{"scope":"entity.name.trait.rust","settings":{"fontStyle":"italic","foreground":"#e5c890"}},{"scope":"storage.type.source.rust","settings":{"foreground":"#e5c890"}},{"scope":"entity.name.union.rust","settings":{"foreground":"#e5c890"}},{"scope":"meta.enum.rust storage.type.source.rust","settings":{"foreground":"#81c8be"}},{"scope":["support.macro.rust","meta.macro.rust support.function.rust","entity.name.function.macro.rust"],"settings":{"fontStyle":"italic","foreground":"#8caaee"}},{"scope":["storage.modifier.lifetime.rust","entity.name.type.lifetime"],"settings":{"fontStyle":"italic","foreground":"#8caaee"}},{"scope":"string.quoted.double.rust constant.other.placeholder.rust","settings":{"foreground":"#f4b8e4"}},{"scope":"meta.function.return-type.rust meta.generic.rust storage.type.rust","settings":{"foreground":"#c6d0f5"}},{"scope":"meta.function.call.rust","settings":{"foreground":"#8caaee"}},{"scope":"punctuation.brackets.angle.rust","settings":{"foreground":"#99d1db"}},{"scope":"constant.other.caps.rust","settings":{"foreground":"#ef9f76"}},{"scope":["meta.function.definition.rust variable.other.rust"],"settings":{"foreground":"#ea999c"}},{"scope":"meta.function.call.rust variable.other.rust","settings":{"foreground":"#c6d0f5"}},{"scope":"variable.language.self.rust","settings":{"foreground":"#e78284"}},{"scope":["variable.other.metavariable.name.rust","meta.macro.metavariable.rust keyword.operator.macro.dollar.rust"],"settings":{"foreground":"#f4b8e4"}},{"scope":["comment.line.shebang","comment.line.shebang punctuation.definition.comment","comment.line.shebang","punctuation.definition.comment.shebang.shell","meta.shebang.shell"],"settings":{"fontStyle":"italic","foreground":"#f4b8e4"}},{"scope":"comment.line.shebang constant.language","settings":{"fontStyle":"italic","foreground":"#81c8be"}},{"scope":["meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation","meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation"],"settings":{"foreground":"#e78284"}},{"scope":"meta.string meta.interpolation.parameter.shell variable.other.readwrite","settings":{"fontStyle":"italic","foreground":"#ef9f76"}},{"scope":["source.shell punctuation.section.interpolation","punctuation.definition.evaluation.backticks.shell"],"settings":{"foreground":"#81c8be"}},{"scope":"entity.name.tag.heredoc.shell","settings":{"foreground":"#ca9ee6"}},{"scope":"string.quoted.double.shell variable.other.normal.shell","settings":{"foreground":"#c6d0f5"}},{"scope":["markup.heading.typst"],"settings":{"foreground":"#e78284"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-Btyk0a-E.js.map diff --git a/src/webview-ui/build/assets/chunk-Btyk0a-E.js.map b/src/webview-ui/build/assets/chunk-Btyk0a-E.js.map new file mode 100644 index 0000000000..db72b346d9 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Btyk0a-E.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-Btyk0a-E.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/catppuccin-frappe.mjs" + ], + "sourcesContent": [ + "/* Theme: catppuccin-frappe */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#232634\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#ca9ee633\\\",\\\"activityBar.foreground\\\":\\\"#ca9ee6\\\",\\\"activityBar.inactiveForeground\\\":\\\"#737994\\\",\\\"activityBarBadge.background\\\":\\\"#ca9ee6\\\",\\\"activityBarBadge.foreground\\\":\\\"#232634\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#ca9ee633\\\",\\\"activityBarTop.foreground\\\":\\\"#ca9ee6\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#737994\\\",\\\"badge.background\\\":\\\"#51576d\\\",\\\"badge.foreground\\\":\\\"#c6d0f5\\\",\\\"banner.background\\\":\\\"#51576d\\\",\\\"banner.foreground\\\":\\\"#c6d0f5\\\",\\\"banner.iconForeground\\\":\\\"#c6d0f5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#ca9ee6\\\",\\\"breadcrumb.background\\\":\\\"#303446\\\",\\\"breadcrumb.focusForeground\\\":\\\"#ca9ee6\\\",\\\"breadcrumb.foreground\\\":\\\"#c6d0f5cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#292c3c\\\",\\\"button.background\\\":\\\"#ca9ee6\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#232634\\\",\\\"button.hoverBackground\\\":\\\"#d9baed\\\",\\\"button.secondaryBackground\\\":\\\"#626880\\\",\\\"button.secondaryBorder\\\":\\\"#ca9ee6\\\",\\\"button.secondaryForeground\\\":\\\"#c6d0f5\\\",\\\"button.secondaryHoverBackground\\\":\\\"#727993\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#8caaee\\\",\\\"charts.foreground\\\":\\\"#c6d0f5\\\",\\\"charts.green\\\":\\\"#a6d189\\\",\\\"charts.lines\\\":\\\"#b5bfe2\\\",\\\"charts.orange\\\":\\\"#ef9f76\\\",\\\"charts.purple\\\":\\\"#ca9ee6\\\",\\\"charts.red\\\":\\\"#e78284\\\",\\\"charts.yellow\\\":\\\"#e5c890\\\",\\\"checkbox.background\\\":\\\"#51576d\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#ca9ee6\\\",\\\"commandCenter.activeBackground\\\":\\\"#62688033\\\",\\\"commandCenter.activeBorder\\\":\\\"#ca9ee6\\\",\\\"commandCenter.activeForeground\\\":\\\"#ca9ee6\\\",\\\"commandCenter.background\\\":\\\"#292c3c\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#b5bfe2\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#b5bfe2\\\",\\\"debugConsole.errorForeground\\\":\\\"#e78284\\\",\\\"debugConsole.infoForeground\\\":\\\"#8caaee\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f2d5cf\\\",\\\"debugConsole.warningForeground\\\":\\\"#ef9f76\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#c6d0f5\\\",\\\"debugExceptionWidget.background\\\":\\\"#232634\\\",\\\"debugExceptionWidget.border\\\":\\\"#ca9ee6\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#626880\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#e7828499\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#e78284\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#626880\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#a57582\\\",\\\"debugIcon.continueForeground\\\":\\\"#a6d189\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#626880\\\",\\\"debugIcon.pauseForeground\\\":\\\"#8caaee\\\",\\\"debugIcon.restartForeground\\\":\\\"#81c8be\\\",\\\"debugIcon.startForeground\\\":\\\"#a6d189\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#626880\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#c6d0f5\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#c6d0f5\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#ca9ee6\\\",\\\"debugIcon.stopForeground\\\":\\\"#e78284\\\",\\\"debugTokenExpression.boolean\\\":\\\"#ca9ee6\\\",\\\"debugTokenExpression.error\\\":\\\"#e78284\\\",\\\"debugTokenExpression.number\\\":\\\"#ef9f76\\\",\\\"debugTokenExpression.string\\\":\\\"#a6d189\\\",\\\"debugToolBar.background\\\":\\\"#232634\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#c6d0f5\\\",\\\"diffEditor.border\\\":\\\"#626880\\\",\\\"diffEditor.diagonalFill\\\":\\\"#62688099\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#a6d18926\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#a6d18933\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#e7828426\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#e7828433\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#a6d189cc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#e78284cc\\\",\\\"disabledForeground\\\":\\\"#a5adce\\\",\\\"dropdown.background\\\":\\\"#292c3c\\\",\\\"dropdown.border\\\":\\\"#ca9ee6\\\",\\\"dropdown.foreground\\\":\\\"#c6d0f5\\\",\\\"dropdown.listBackground\\\":\\\"#626880\\\",\\\"editor.background\\\":\\\"#303446\\\",\\\"editor.findMatchBackground\\\":\\\"#674b59\\\",\\\"editor.findMatchBorder\\\":\\\"#e7828433\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#506373\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#99d1db33\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#506373\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#99d1db33\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#a6d18926\\\",\\\"editor.foldBackground\\\":\\\"#99d1db40\\\",\\\"editor.foreground\\\":\\\"#c6d0f5\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#99d1db40\\\",\\\"editor.lineHighlightBackground\\\":\\\"#c6d0f512\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#99d1db40\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#949cbb40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#949cbb33\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#949cbb33\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#e5c89026\\\",\\\"editor.wordHighlightBackground\\\":\\\"#949cbb33\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#8caaee33\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#e78284\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#ef9f76\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#e5c890\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a6d189\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#85c1dc\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#ca9ee6\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#ea999c\\\",\\\"editorBracketMatch.background\\\":\\\"#949cbb1a\\\",\\\"editorBracketMatch.border\\\":\\\"#949cbb\\\",\\\"editorCodeLens.foreground\\\":\\\"#838ba7\\\",\\\"editorCursor.background\\\":\\\"#303446\\\",\\\"editorCursor.foreground\\\":\\\"#f2d5cf\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#e78284\\\",\\\"editorGroup.border\\\":\\\"#626880\\\",\\\"editorGroup.dropBackground\\\":\\\"#ca9ee633\\\",\\\"editorGroup.emptyBackground\\\":\\\"#303446\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#232634\\\",\\\"editorGutter.addedBackground\\\":\\\"#a6d189\\\",\\\"editorGutter.background\\\":\\\"#303446\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#ca9ee6\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#414559\\\",\\\"editorGutter.deletedBackground\\\":\\\"#e78284\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#949cbb\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#e5c890\\\",\\\"editorHoverWidget.background\\\":\\\"#292c3c\\\",\\\"editorHoverWidget.border\\\":\\\"#626880\\\",\\\"editorHoverWidget.foreground\\\":\\\"#c6d0f5\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#626880\\\",\\\"editorIndentGuide.background\\\":\\\"#51576d\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#8caaee\\\",\\\"editorInlayHint.background\\\":\\\"#292c3cbf\\\",\\\"editorInlayHint.foreground\\\":\\\"#626880\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#292c3cbf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a5adce\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#292c3cbf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#b5bfe2\\\",\\\"editorLightBulb.foreground\\\":\\\"#e5c890\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#ca9ee6\\\",\\\"editorLineNumber.foreground\\\":\\\"#838ba7\\\",\\\"editorLink.activeForeground\\\":\\\"#ca9ee6\\\",\\\"editorMarkerNavigation.background\\\":\\\"#292c3c\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#e78284\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#8caaee\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#ef9f76\\\",\\\"editorOverviewRuler.background\\\":\\\"#292c3c\\\",\\\"editorOverviewRuler.border\\\":\\\"#c6d0f512\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#e5c890\\\",\\\"editorRuler.foreground\\\":\\\"#626880\\\",\\\"editorStickyScrollHover.background\\\":\\\"#414559\\\",\\\"editorSuggestWidget.background\\\":\\\"#292c3c\\\",\\\"editorSuggestWidget.border\\\":\\\"#626880\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#c6d0f5\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#ca9ee6\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#414559\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#ef9f76\\\",\\\"editorWhitespace.foreground\\\":\\\"#949cbb66\\\",\\\"editorWidget.background\\\":\\\"#292c3c\\\",\\\"editorWidget.foreground\\\":\\\"#c6d0f5\\\",\\\"editorWidget.resizeBorder\\\":\\\"#626880\\\",\\\"errorForeground\\\":\\\"#e78284\\\",\\\"errorLens.errorBackground\\\":\\\"#e7828426\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#e7828426\\\",\\\"errorLens.errorForeground\\\":\\\"#e78284\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#e78284\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#e7828426\\\",\\\"errorLens.hintBackground\\\":\\\"#a6d18926\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#a6d18926\\\",\\\"errorLens.hintForeground\\\":\\\"#a6d189\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#a6d189\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#a6d18926\\\",\\\"errorLens.infoBackground\\\":\\\"#8caaee26\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#8caaee26\\\",\\\"errorLens.infoForeground\\\":\\\"#8caaee\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#8caaee\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#8caaee26\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#e78284\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#a6d189\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#e78284\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#ef9f76\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#8caaee\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#ef9f76\\\",\\\"errorLens.warningBackground\\\":\\\"#ef9f7626\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#ef9f7626\\\",\\\"errorLens.warningForeground\\\":\\\"#ef9f76\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#ef9f76\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#ef9f7626\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#8caaee\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#232634\\\",\\\"extensionButton.prominentBackground\\\":\\\"#ca9ee6\\\",\\\"extensionButton.prominentForeground\\\":\\\"#232634\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#d9baed\\\",\\\"extensionButton.separator\\\":\\\"#303446\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#626880\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#f4b8e4\\\",\\\"extensionIcon.starForeground\\\":\\\"#e5c890\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a6d189\\\",\\\"focusBorder\\\":\\\"#ca9ee6\\\",\\\"foreground\\\":\\\"#c6d0f5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a6d189\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#ca9ee6\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#e78284\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#737994\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#e5c890\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#e78284\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#e5c890\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#8caaee\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a6d189\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#e78284\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#a6d189\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#ef9f76\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#e5c890\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#ef9f76\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#a6d189\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#ea999c\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#e5c890\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a5adce\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#ef9f76\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#ea999c\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#a6d189\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#e78284\\\",\\\"gitlens.graphLane10Color\\\":\\\"#f4b8e4\\\",\\\"gitlens.graphLane1Color\\\":\\\"#ca9ee6\\\",\\\"gitlens.graphLane2Color\\\":\\\"#e5c890\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8caaee\\\",\\\"gitlens.graphLane4Color\\\":\\\"#eebebe\\\",\\\"gitlens.graphLane5Color\\\":\\\"#a6d189\\\",\\\"gitlens.graphLane6Color\\\":\\\"#babbf1\\\",\\\"gitlens.graphLane7Color\\\":\\\"#f2d5cf\\\",\\\"gitlens.graphLane8Color\\\":\\\"#e78284\\\",\\\"gitlens.graphLane9Color\\\":\\\"#81c8be\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#a6d189\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#e5c890\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#8caaee\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#769aeb\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#eebebe\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#98ca77\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#a6d189\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#e5c890\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#8caaee\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#769aeb\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#eebebe\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#98ca77\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#4145594d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#c6d0f5\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ca9ee626\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#ca9ee6cc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#c6d0f54d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#ef9f76\\\",\\\"icon.foreground\\\":\\\"#ca9ee6\\\",\\\"input.background\\\":\\\"#414559\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#c6d0f5\\\",\\\"input.placeholderForeground\\\":\\\"#c6d0f573\\\",\\\"inputOption.activeBackground\\\":\\\"#626880\\\",\\\"inputOption.activeBorder\\\":\\\"#ca9ee6\\\",\\\"inputOption.activeForeground\\\":\\\"#c6d0f5\\\",\\\"inputValidation.errorBackground\\\":\\\"#e78284\\\",\\\"inputValidation.errorBorder\\\":\\\"#23263433\\\",\\\"inputValidation.errorForeground\\\":\\\"#232634\\\",\\\"inputValidation.infoBackground\\\":\\\"#8caaee\\\",\\\"inputValidation.infoBorder\\\":\\\"#23263433\\\",\\\"inputValidation.infoForeground\\\":\\\"#232634\\\",\\\"inputValidation.warningBackground\\\":\\\"#ef9f76\\\",\\\"inputValidation.warningBorder\\\":\\\"#23263433\\\",\\\"inputValidation.warningForeground\\\":\\\"#232634\\\",\\\"issues.closed\\\":\\\"#ca9ee6\\\",\\\"issues.newIssueDecoration\\\":\\\"#f2d5cf\\\",\\\"issues.open\\\":\\\"#a6d189\\\",\\\"list.activeSelectionBackground\\\":\\\"#414559\\\",\\\"list.activeSelectionForeground\\\":\\\"#c6d0f5\\\",\\\"list.dropBackground\\\":\\\"#ca9ee633\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#51576d\\\",\\\"list.focusBackground\\\":\\\"#414559\\\",\\\"list.focusForeground\\\":\\\"#c6d0f5\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#ca9ee6\\\",\\\"list.hoverBackground\\\":\\\"#41455980\\\",\\\"list.hoverForeground\\\":\\\"#c6d0f5\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#414559\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#c6d0f5\\\",\\\"list.warningForeground\\\":\\\"#ef9f76\\\",\\\"listFilterWidget.background\\\":\\\"#51576d\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#e78284\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#303446\\\",\\\"menu.border\\\":\\\"#30344680\\\",\\\"menu.foreground\\\":\\\"#c6d0f5\\\",\\\"menu.selectionBackground\\\":\\\"#626880\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#c6d0f5\\\",\\\"menu.separatorBackground\\\":\\\"#626880\\\",\\\"menubar.selectionBackground\\\":\\\"#51576d\\\",\\\"menubar.selectionForeground\\\":\\\"#c6d0f5\\\",\\\"merge.commonContentBackground\\\":\\\"#51576d\\\",\\\"merge.commonHeaderBackground\\\":\\\"#626880\\\",\\\"merge.currentContentBackground\\\":\\\"#a6d18933\\\",\\\"merge.currentHeaderBackground\\\":\\\"#a6d18966\\\",\\\"merge.incomingContentBackground\\\":\\\"#8caaee33\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#8caaee66\\\",\\\"minimap.background\\\":\\\"#292c3c80\\\",\\\"minimap.errorHighlight\\\":\\\"#e78284bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#99d1db4d\\\",\\\"minimap.selectionHighlight\\\":\\\"#626880bf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#626880bf\\\",\\\"minimap.warningHighlight\\\":\\\"#ef9f76bf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a6d189bf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#e78284bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#e5c890bf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#ca9ee699\\\",\\\"minimapSlider.background\\\":\\\"#ca9ee633\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#ca9ee666\\\",\\\"notificationCenter.border\\\":\\\"#ca9ee6\\\",\\\"notificationCenterHeader.background\\\":\\\"#292c3c\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#c6d0f5\\\",\\\"notificationLink.foreground\\\":\\\"#8caaee\\\",\\\"notificationToast.border\\\":\\\"#ca9ee6\\\",\\\"notifications.background\\\":\\\"#292c3c\\\",\\\"notifications.border\\\":\\\"#ca9ee6\\\",\\\"notifications.foreground\\\":\\\"#c6d0f5\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#e78284\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#8caaee\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ef9f76\\\",\\\"panel.background\\\":\\\"#303446\\\",\\\"panel.border\\\":\\\"#626880\\\",\\\"panelSection.border\\\":\\\"#626880\\\",\\\"panelSection.dropBackground\\\":\\\"#ca9ee633\\\",\\\"panelTitle.activeBorder\\\":\\\"#ca9ee6\\\",\\\"panelTitle.activeForeground\\\":\\\"#c6d0f5\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a5adce\\\",\\\"peekView.border\\\":\\\"#ca9ee6\\\",\\\"peekViewEditor.background\\\":\\\"#292c3c\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#99d1db4d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#292c3c\\\",\\\"peekViewResult.background\\\":\\\"#292c3c\\\",\\\"peekViewResult.fileForeground\\\":\\\"#c6d0f5\\\",\\\"peekViewResult.lineForeground\\\":\\\"#c6d0f5\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#99d1db4d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#414559\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#c6d0f5\\\",\\\"peekViewTitle.background\\\":\\\"#303446\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#b5bfe2b3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#c6d0f5\\\",\\\"pickerGroup.border\\\":\\\"#ca9ee6\\\",\\\"pickerGroup.foreground\\\":\\\"#ca9ee6\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#e78284\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#8caaee\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#ef9f76\\\",\\\"progressBar.background\\\":\\\"#ca9ee6\\\",\\\"pullRequests.closed\\\":\\\"#e78284\\\",\\\"pullRequests.draft\\\":\\\"#949cbb\\\",\\\"pullRequests.merged\\\":\\\"#ca9ee6\\\",\\\"pullRequests.notification\\\":\\\"#c6d0f5\\\",\\\"pullRequests.open\\\":\\\"#a6d189\\\",\\\"sash.hoverBorder\\\":\\\"#ca9ee6\\\",\\\"scrollbar.shadow\\\":\\\"#232634\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#41455966\\\",\\\"scrollbarSlider.background\\\":\\\"#62688080\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#737994\\\",\\\"selection.background\\\":\\\"#ca9ee666\\\",\\\"settings.dropdownBackground\\\":\\\"#51576d\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#62688033\\\",\\\"settings.headerForeground\\\":\\\"#c6d0f5\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#ca9ee6\\\",\\\"settings.numberInputBackground\\\":\\\"#51576d\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#51576d\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#292c3c\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#ca9ee633\\\",\\\"sideBar.foreground\\\":\\\"#c6d0f5\\\",\\\"sideBarSectionHeader.background\\\":\\\"#292c3c\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#c6d0f5\\\",\\\"sideBarTitle.foreground\\\":\\\"#ca9ee6\\\",\\\"statusBar.background\\\":\\\"#232634\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#ef9f76\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#232634\\\",\\\"statusBar.foreground\\\":\\\"#c6d0f5\\\",\\\"statusBar.noFolderBackground\\\":\\\"#232634\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#c6d0f5\\\",\\\"statusBarItem.activeBackground\\\":\\\"#62688066\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#e78284\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#62688033\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#ca9ee6\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#62688033\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#8caaee\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#232634\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.classForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.colorForeground\\\":\\\"#f4b8e4\\\",\\\"symbolIcon.constantForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#babbf1\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.eventForeground\\\":\\\"#f4b8e4\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.fileForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.folderForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.functionForeground\\\":\\\"#8caaee\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.keyForeground\\\":\\\"#81c8be\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.methodForeground\\\":\\\"#8caaee\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.nullForeground\\\":\\\"#ea999c\\\",\\\"symbolIcon.numberForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.objectForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#81c8be\\\",\\\"symbolIcon.packageForeground\\\":\\\"#eebebe\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#ea999c\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#eebebe\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6d189\\\",\\\"symbolIcon.structForeground\\\":\\\"#81c8be\\\",\\\"symbolIcon.textForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#ea999c\\\",\\\"symbolIcon.unitForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.variableForeground\\\":\\\"#c6d0f5\\\",\\\"tab.activeBackground\\\":\\\"#303446\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#ca9ee6\\\",\\\"tab.activeForeground\\\":\\\"#ca9ee6\\\",\\\"tab.activeModifiedBorder\\\":\\\"#e5c890\\\",\\\"tab.border\\\":\\\"#292c3c\\\",\\\"tab.hoverBackground\\\":\\\"#3a3f55\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#ca9ee6\\\",\\\"tab.inactiveBackground\\\":\\\"#292c3c\\\",\\\"tab.inactiveForeground\\\":\\\"#737994\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#e5c8904d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#ca9ee6\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#292c3c\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#ca9ee64d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#1f212d\\\",\\\"table.headerBackground\\\":\\\"#414559\\\",\\\"table.headerForeground\\\":\\\"#c6d0f5\\\",\\\"terminal.ansiBlack\\\":\\\"#51576d\\\",\\\"terminal.ansiBlue\\\":\\\"#8caaee\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#626880\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7b9ef0\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5abfb5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#8ec772\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f2a4db\\\",\\\"terminal.ansiBrightRed\\\":\\\"#e67172\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#b5bfe2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#d9ba73\\\",\\\"terminal.ansiCyan\\\":\\\"#81c8be\\\",\\\"terminal.ansiGreen\\\":\\\"#a6d189\\\",\\\"terminal.ansiMagenta\\\":\\\"#f4b8e4\\\",\\\"terminal.ansiRed\\\":\\\"#e78284\\\",\\\"terminal.ansiWhite\\\":\\\"#a5adce\\\",\\\"terminal.ansiYellow\\\":\\\"#e5c890\\\",\\\"terminal.border\\\":\\\"#626880\\\",\\\"terminal.dropBackground\\\":\\\"#ca9ee633\\\",\\\"terminal.foreground\\\":\\\"#c6d0f5\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#62688080\\\",\\\"terminal.selectionBackground\\\":\\\"#626880\\\",\\\"terminal.tab.activeBorder\\\":\\\"#ca9ee6\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#626880\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#e78284\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#a6d189\\\",\\\"terminalCursor.background\\\":\\\"#303446\\\",\\\"terminalCursor.foreground\\\":\\\"#f2d5cf\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#ca9ee6\\\",\\\"testing.coveredBackground\\\":\\\"#a6d1894d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#a6d1894d\\\",\\\"testing.iconErrored\\\":\\\"#e78284\\\",\\\"testing.iconErrored.retired\\\":\\\"#e78284\\\",\\\"testing.iconFailed\\\":\\\"#e78284\\\",\\\"testing.iconFailed.retired\\\":\\\"#e78284\\\",\\\"testing.iconPassed\\\":\\\"#a6d189\\\",\\\"testing.iconPassed.retired\\\":\\\"#a6d189\\\",\\\"testing.iconQueued\\\":\\\"#8caaee\\\",\\\"testing.iconQueued.retired\\\":\\\"#8caaee\\\",\\\"testing.iconSkipped\\\":\\\"#a5adce\\\",\\\"testing.iconSkipped.retired\\\":\\\"#a5adce\\\",\\\"testing.iconUnset\\\":\\\"#c6d0f5\\\",\\\"testing.iconUnset.retired\\\":\\\"#c6d0f5\\\",\\\"testing.message.error.lineBackground\\\":\\\"#e7828426\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#a6d189cc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#a6d18926\\\",\\\"testing.messagePeekBorder\\\":\\\"#ca9ee6\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#626880\\\",\\\"testing.peekBorder\\\":\\\"#ca9ee6\\\",\\\"testing.peekHeaderBackground\\\":\\\"#626880\\\",\\\"testing.runAction\\\":\\\"#ca9ee6\\\",\\\"testing.uncoveredBackground\\\":\\\"#e7828433\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#e7828433\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#e7828440\\\",\\\"textBlockQuote.background\\\":\\\"#292c3c\\\",\\\"textBlockQuote.border\\\":\\\"#232634\\\",\\\"textCodeBlock.background\\\":\\\"#292c3c\\\",\\\"textLink.activeForeground\\\":\\\"#99d1db\\\",\\\"textLink.foreground\\\":\\\"#8caaee\\\",\\\"textPreformat.foreground\\\":\\\"#c6d0f5\\\",\\\"textSeparator.foreground\\\":\\\"#ca9ee6\\\",\\\"titleBar.activeBackground\\\":\\\"#232634\\\",\\\"titleBar.activeForeground\\\":\\\"#c6d0f5\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#232634\\\",\\\"titleBar.inactiveForeground\\\":\\\"#c6d0f580\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#51576d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#949cbb\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#3034464d\\\",\\\"welcomePage.progress.background\\\":\\\"#232634\\\",\\\"welcomePage.progress.foreground\\\":\\\"#ca9ee6\\\",\\\"welcomePage.tileBackground\\\":\\\"#292c3c\\\",\\\"widget.shadow\\\":\\\"#292c3c80\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Frappé\\\",\\\"name\\\":\\\"catppuccin-frappe\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#8caaee\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#e5c890\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#81c8be\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#e78284\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#eebebe\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#e78284\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e78284\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#eebebe\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e78284\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#ea999c\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#949cbb\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#949cbb\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eebebe\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eebebe\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eebebe\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#85c1dc\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babbf1\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#a5adce\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babbf1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949cbb\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#babbf1\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2d5cf\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "catppuccinFrappe" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,ms7CAAq2kD,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Buea-lGh.js b/src/webview-ui/build/assets/chunk-Buea-lGh.js new file mode 100644 index 0000000000..5c49f7f88d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Buea-lGh.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-Buea-lGh.js.map diff --git a/src/webview-ui/build/assets/chunk-Buea-lGh.js.map b/src/webview-ui/build/assets/chunk-Buea-lGh.js.map new file mode 100644 index 0000000000..977e73aa2b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Buea-lGh.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Buea-lGh.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/yaml.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"YAML\\\",\\\"fileTypes\\\":[\\\"yaml\\\",\\\"yml\\\",\\\"rviz\\\",\\\"reek\\\",\\\"clang-format\\\",\\\"yaml-tmlanguage\\\",\\\"syntax\\\",\\\"sublime-syntax\\\"],\\\"firstLineMatch\\\":\\\"^%YAML( ?1.\\\\\\\\d+)?\\\",\\\"name\\\":\\\"yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"match\\\":\\\"^---\\\",\\\"name\\\":\\\"entity.other.document.begin.yaml\\\"},{\\\"match\\\":\\\"^\\\\\\\\.{3}\\\",\\\"name\\\":\\\"entity.other.document.end.yaml\\\"},{\\\"include\\\":\\\"#node\\\"}],\\\"repository\\\":{\\\"block-collection\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-sequence\\\"},{\\\"include\\\":\\\"#block-mapping\\\"}]},\\\"block-mapping\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-pair\\\"}]},\\\"block-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#block-scalar\\\"},{\\\"include\\\":\\\"#block-collection\\\"},{\\\"include\\\":\\\"#flow-scalar-plain-out\\\"},{\\\"include\\\":\\\"#flow-node\\\"}]},\\\"block-pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.key-value.begin.yaml\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\?)|^ *(:)|(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.expected-newline.yaml\\\"}},\\\"name\\\":\\\"meta.block-mapping.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-node\\\"}]},{\\\"begin\\\":\\\"(?=(?:[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?]\\\\\\\\S)([^:\\\\\\\\s]|:\\\\\\\\S|\\\\\\\\s+(?![#\\\\\\\\s]))*\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-out-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?]\\\\\\\\S\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.yaml\\\"}},\\\"contentName\\\":\\\"entity.name.tag.yaml\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"name\\\":\\\"string.unquoted.plain.out.yaml\\\"}]},{\\\"match\\\":\\\":(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}]},\\\"block-scalar\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\|)|(>))([1-9])?([-+])?(.*\\\\\\\\n?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.block-scalar.literal.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.flow.block-scalar.folded.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.indentation-indicator.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.chomping-indicator.yaml\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"invalid.illegal.expected-comment-or-newline.yaml\\\"}]}},\\\"end\\\":\\\"^(?=\\\\\\\\S)|(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^( +)(?! )\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"string.unquoted.block.yaml\\\"}]},\\\"block-sequence\\\":{\\\"match\\\":\\\"(-)(?!\\\\\\\\S)\\\",\\\"name\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"(?:^([\\\\\\\\t ]*)|[\\\\\\\\t ]+)(?=#\\\\\\\\p{print}*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.yaml\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.yaml\\\"}]},\\\"directive\\\":{\\\"begin\\\":\\\"^%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.directive.begin.yaml\\\"}},\\\"end\\\":\\\"(?=$|[\\\\\\\\t ]+($|#))\\\",\\\"name\\\":\\\"meta.directive.yaml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.yaml.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.yaml-version.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(YAML)[\\\\\\\\t ]+(\\\\\\\\d+\\\\\\\\.\\\\\\\\d+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.tag.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.tag-handle.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.tag-prefix.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(TAG)(?:[\\\\\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\\\\\t ]+(!(?:%\\\\\\\\h{2}|[]!#$\\\\\\\\&-;=?-\\\\\\\\[_a-z~])*|(?![]!,\\\\\\\\[{}])(?:%\\\\\\\\h{2}|[]!#$\\\\\\\\&-;=?-\\\\\\\\[_a-z~])+))?)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.directive.reserved.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.directive-name.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.directive-parameter.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\w+)(?:[\\\\\\\\t ]+(\\\\\\\\w+)(?:[\\\\\\\\t ]+(\\\\\\\\w+))?)?\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized.yaml\\\"}]},\\\"flow-alias\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.alias.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.alias.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.alias.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.character.anchor.yaml\\\"}},\\\"match\\\":\\\"((\\\\\\\\*))([^],/\\\\\\\\[{}\\\\\\\\s]+)([^],}\\\\\\\\s]\\\\\\\\S*)?\\\"},\\\"flow-collection\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-sequence\\\"},{\\\"include\\\":\\\"#flow-mapping\\\"}]},\\\"flow-mapping\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.mapping.begin.yaml\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.mapping.end.yaml\\\"}},\\\"name\\\":\\\"meta.flow-mapping.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.mapping.yaml\\\"},{\\\"include\\\":\\\"#flow-pair\\\"}]},\\\"flow-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#flow-alias\\\"},{\\\"include\\\":\\\"#flow-collection\\\"},{\\\"include\\\":\\\"#flow-scalar\\\"}]},\\\"flow-pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.key-value.begin.yaml\\\"}},\\\"end\\\":\\\"(?=[],}])\\\",\\\"name\\\":\\\"meta.flow-pair.explicit.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#flow-pair\\\"},{\\\"include\\\":\\\"#flow-node\\\"},{\\\"begin\\\":\\\":(?=\\\\\\\\s|$|[],\\\\\\\\[{}])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}},\\\"end\\\":\\\"(?=[],}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-value\\\"}]}]},{\\\"begin\\\":\\\"(?=(?:[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?][^],\\\\\\\\[{}\\\\\\\\s])([^],:\\\\\\\\[{}\\\\\\\\s]|:[^],\\\\\\\\[{}\\\\\\\\s]|\\\\\\\\s+(?![#\\\\\\\\s]))*\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\",\\\"name\\\":\\\"meta.flow-pair.key.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-in-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?][^],\\\\\\\\[{}\\\\\\\\s]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.yaml\\\"}},\\\"contentName\\\":\\\"entity.name.tag.yaml\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\",\\\"name\\\":\\\"string.unquoted.plain.in.yaml\\\"}]},{\\\"include\\\":\\\"#flow-node\\\"},{\\\"begin\\\":\\\":(?=\\\\\\\\s|$|[],\\\\\\\\[{}])\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}},\\\"end\\\":\\\"(?=[],}])\\\",\\\"name\\\":\\\"meta.flow-pair.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-value\\\"}]}]},\\\"flow-scalar\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-double-quoted\\\"},{\\\"include\\\":\\\"#flow-scalar-single-quoted\\\"},{\\\"include\\\":\\\"#flow-scalar-plain-in\\\"}]},\\\"flow-scalar-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.yaml\\\"}},\\\"name\\\":\\\"string.quoted.double.yaml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([ \\\\\\\"/0LN\\\\\\\\\\\\\\\\_abefnprtv]|x\\\\\\\\d\\\\\\\\d|u\\\\\\\\d{4}|U\\\\\\\\d{8})\\\",\\\"name\\\":\\\"constant.character.escape.yaml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.double-quoted.newline.yaml\\\"}]},\\\"flow-scalar-plain-in\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-in-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?][^],\\\\\\\\[{}\\\\\\\\s]\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\",\\\"name\\\":\\\"string.unquoted.plain.in.yaml\\\"}]},\\\"flow-scalar-plain-in-implicit-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.float.yaml\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.timestamp.yaml\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.value.yaml\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.language.merge.yaml\\\"}},\\\"match\\\":\\\"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\\\\\.[0-9_]*|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN))|(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}|\\\\\\\\d{4}-\\\\\\\\d{1,2}-\\\\\\\\d{1,2}(?:[Tt]|[\\\\\\\\t ]+)\\\\\\\\d{1,2}:\\\\\\\\d{2}:\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d*)?(?:[\\\\\\\\t ]*Z|[-+]\\\\\\\\d{1,2}(?::\\\\\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\"}]},\\\"flow-scalar-plain-out\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-out-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?]\\\\\\\\S\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"name\\\":\\\"string.unquoted.plain.out.yaml\\\"}]},\\\"flow-scalar-plain-out-implicit-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.float.yaml\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.timestamp.yaml\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.value.yaml\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.language.merge.yaml\\\"}},\\\"match\\\":\\\"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\\\\\.[0-9_]*|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN))|(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}|\\\\\\\\d{4}-\\\\\\\\d{1,2}-\\\\\\\\d{1,2}(?:[Tt]|[\\\\\\\\t ]+)\\\\\\\\d{1,2}:\\\\\\\\d{2}:\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d*)?(?:[\\\\\\\\t ]*Z|[-+]\\\\\\\\d{1,2}(?::\\\\\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\"}]},\\\"flow-scalar-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.yaml\\\"}},\\\"end\\\":\\\"'(?!')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.yaml\\\"}},\\\"name\\\":\\\"string.quoted.single.yaml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.single-quoted.yaml\\\"}]},\\\"flow-sequence\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.sequence.begin.yaml\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.sequence.end.yaml\\\"}},\\\"name\\\":\\\"meta.flow-sequence.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.yaml\\\"},{\\\"include\\\":\\\"#flow-pair\\\"},{\\\"include\\\":\\\"#flow-node\\\"}]},\\\"flow-value\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?![],}])\\\",\\\"end\\\":\\\"(?=[],}])\\\",\\\"name\\\":\\\"meta.flow-pair.value.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-node\\\"}]}]},\\\"node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-node\\\"}]},\\\"property\\\":{\\\"begin\\\":\\\"(?=[!\\\\\\\\&])\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.property.yaml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.property.anchor.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.anchor.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.anchor.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.character.anchor.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G((&))([^],/\\\\\\\\[{}\\\\\\\\s]+)(\\\\\\\\S+)?\\\"},{\\\"match\\\":\\\"\\\\\\\\G!(?:<(?:%\\\\\\\\h{2}|[]!#$\\\\\\\\&-;=?-\\\\\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\\\\\h{2}|[#$\\\\\\\\&-+\\\\\\\\--;=?-Z_a-z~])+|)(?=[\\\\\\\\t ]|$)\\\",\\\"name\\\":\\\"storage.type.tag-handle.yaml\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.tag-handle.yaml\\\"}]},\\\"prototype\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property\\\"}]}},\\\"scopeName\\\":\\\"source.yaml\\\",\\\"aliases\\\":[\\\"yml\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "yaml" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,0sUAA2vW,CAAC,EAEnxWC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-BvAqAH-y.js b/src/webview-ui/build/assets/chunk-BvAqAH-y.js new file mode 100644 index 0000000000..b5f72f4618 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-BvAqAH-y.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Kusto","fileTypes":["csl","kusto","kql"],"name":"kusto","patterns":[{"match":"\\\\b(by|from|of|to|step|with)\\\\b","name":"keyword.other.operator.kusto"},{"match":"\\\\b(let|set|alias|declare|pattern|query_parameters|restrict|access|set)\\\\b","name":"keyword.control.kusto"},{"match":"\\\\b(and|or|has_all|has_any|matches|regex)\\\\b","name":"keyword.other.operator.kusto"},{"captures":{"1":{"name":"support.function.kusto"},"2":{"patterns":[{"include":"#Strings"}]}},"match":"\\\\b(cluster|database)(?:\\\\s*\\\\(\\\\s*(.+?)\\\\s*\\\\))?(?!\\\\w)","name":"meta.special.database.kusto"},{"match":"\\\\b(external_table|materialized_view|materialize|table|toscalar)\\\\b","name":"support.function.kusto"},{"match":"(?)","beginCaptures":{"1":{"name":"entity.name.function.coffee"},"2":{"name":"variable.other.readwrite.instance.coffee"},"3":{"name":"keyword.operator.assignment.coffee"}},"end":"[-=]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?<=\\\\s|^)(?:((')([^']*?)('))|((\\")([^\\"]*?)(\\")))\\\\s*([:=])\\\\s*(?=(\\\\([^()]*\\\\)\\\\s*)?[-=]>)","beginCaptures":{"1":{"name":"string.quoted.single.coffee"},"2":{"name":"punctuation.definition.string.begin.coffee"},"3":{"name":"entity.name.function.coffee"},"4":{"name":"punctuation.definition.string.end.coffee"},"5":{"name":"string.quoted.double.coffee"},"6":{"name":"punctuation.definition.string.begin.coffee"},"7":{"name":"entity.name.function.coffee"},"8":{"name":"punctuation.definition.string.end.coffee"},"9":{"name":"keyword.operator.assignment.coffee"}},"end":"[-=]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?=(\\\\([^()]*\\\\)\\\\s*)?[-=]>)","end":"[-=]>","endCaptures":{"0":{"name":"storage.type.function.coffee"}},"name":"meta.function.inline.coffee","patterns":[{"include":"#function_params"}]},{"begin":"(?<=\\\\s|^)(\\\\{)(?=[^\\"#']+?}[]}\\\\s]*=)","beginCaptures":{"1":{"name":"punctuation.definition.destructuring.begin.bracket.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.destructuring.end.bracket.curly.coffee"}},"name":"meta.variable.assignment.destructured.object.coffee","patterns":[{"include":"$self"},{"match":"[$A-Z_a-z]\\\\w*","name":"variable.assignment.coffee"}]},{"begin":"(?<=\\\\s|^)(\\\\[)(?=[^\\"#']+?][]}\\\\s]*=)","beginCaptures":{"1":{"name":"punctuation.definition.destructuring.begin.bracket.square.coffee"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.destructuring.end.bracket.square.coffee"}},"name":"meta.variable.assignment.destructured.array.coffee","patterns":[{"include":"$self"},{"match":"[$A-Z_a-z]\\\\w*","name":"variable.assignment.coffee"}]},{"match":"\\\\b(?|-\\\\d|[\\"'\\\\[{]))","end":"(?=\\\\s*(?|-\\\\d|[\\"'\\\\[{])))","beginCaptures":{"1":{"name":"variable.other.readwrite.instance.coffee"},"2":{"patterns":[{"include":"#function_names"}]}},"end":"(?=\\\\s*(?)","name":"meta.tag.coffee"}]},"jsx-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"end":"}","endCaptures":{"0":{"name":"meta.brace.curly.coffee"}},"patterns":[{"include":"#double_quoted_string"},{"include":"$self"}]},"jsx-tag":{"patterns":[{"begin":"(<)([-.\\\\w]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.coffee"},"2":{"name":"entity.name.tag.coffee"}},"end":"(/?>)","name":"meta.tag.coffee","patterns":[{"include":"#jsx-attribute"}]}]},"method_calls":{"patterns":[{"begin":"(?:(\\\\.)|(::))\\\\s*([$\\\\w]+)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.method.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"patterns":[{"include":"#method_names"}]}},"end":"(?<=\\\\))","name":"meta.method-call.coffee","patterns":[{"include":"#arguments"}]},{"begin":"(?:(\\\\.)|(::))\\\\s*([$\\\\w]+)\\\\s*(?=\\\\s+(?!(?|-\\\\d|[\\"'\\\\[{])))","beginCaptures":{"1":{"name":"punctuation.separator.method.period.coffee"},"2":{"name":"keyword.operator.prototype.coffee"},"3":{"patterns":[{"include":"#method_names"}]}},"end":"(?=\\\\s*(?>>??|\\\\|)=)"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.coffee"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.coffee"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.coffee"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.coffee"},{"captures":{"1":{"name":"variable.assignment.coffee"},"2":{"name":"keyword.operator.assignment.coffee"}},"match":"([$A-Z_a-z][$\\\\w]*)?\\\\s*(=|:(?!:))(?![=>])"},{"match":"--","name":"keyword.operator.decrement.coffee"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.coffee"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.splat.coffee"},{"match":"\\\\?","name":"keyword.operator.existential.coffee"},{"match":"[-%*+/]","name":"keyword.operator.coffee"},{"captures":{"1":{"name":"keyword.operator.logical.coffee"},"2":{"name":"keyword.operator.comparison.coffee"}},"match":"\\\\b(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.instance.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"end\\\":\\\"[-=]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.coffee\\\"}},\\\"name\\\":\\\"meta.function.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_params\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(?:((')([^']*?)('))|((\\\\\\\")([^\\\\\\\"]*?)(\\\\\\\")))\\\\\\\\s*([:=])\\\\\\\\s*(?=(\\\\\\\\([^()]*\\\\\\\\)\\\\\\\\s*)?[-=]>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.coffee\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.coffee\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.coffee\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"end\\\":\\\"[-=]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.coffee\\\"}},\\\"name\\\":\\\"meta.function.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_params\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\([^()]*\\\\\\\\)\\\\\\\\s*)?[-=]>)\\\",\\\"end\\\":\\\"[-=]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.coffee\\\"}},\\\"name\\\":\\\"meta.function.inline.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_params\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(\\\\\\\\{)(?=[^\\\\\\\"#']+?}[]}\\\\\\\\s]*=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.begin.bracket.curly.coffee\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.end.bracket.curly.coffee\\\"}},\\\"name\\\":\\\"meta.variable.assignment.destructured.object.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"match\\\":\\\"[$A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.assignment.coffee\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(\\\\\\\\[)(?=[^\\\\\\\"#']+?][]}\\\\\\\\s]*=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.begin.bracket.square.coffee\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.end.bracket.square.coffee\\\"}},\\\"name\\\":\\\"meta.variable.assignment.destructured.array.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"match\\\":\\\"[$A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.assignment.coffee\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(?|-\\\\\\\\d|[\\\\\\\"'\\\\\\\\[{]))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?|-\\\\\\\\d|[\\\\\\\"'\\\\\\\\[{])))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.instance.coffee\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function_names\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?)\\\",\\\"name\\\":\\\"meta.tag.coffee\\\"}]},\\\"jsx-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.coffee\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.coffee\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quoted_string\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"jsx-tag\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)([-.\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.coffee\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"name\\\":\\\"meta.tag.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-attribute\\\"}]}]},\\\"method_calls\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([$\\\\\\\\w]+)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#method_names\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.method-call.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arguments\\\"}]},{\\\"begin\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([$\\\\\\\\w]+)\\\\\\\\s*(?=\\\\\\\\s+(?!(?|-\\\\\\\\d|[\\\\\\\"'\\\\\\\\[{])))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#method_names\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?>>??|\\\\\\\\|)=)\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.coffee\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.coffee\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.coffee\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.coffee\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.assignment.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)?\\\\\\\\s*(=|:(?!:))(?![=>])\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.splat.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.existential.coffee\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.coffee\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.comparison.coffee\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?])"},"resource-block":{"begin":"(?[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*){0}((resource|actor)\\\\s+(\\\\g)(?:\\\\s+(extends)\\\\s+(\\\\g(?:\\\\s*,\\\\s*\\\\g)*)\\\\s*,?\\\\s*)?|(global))\\\\s*\\\\{","beginCaptures":{"3":{"name":"keyword.control"},"4":{"name":"entity.name.type"},"5":{"name":"keyword.control"},"6":{"patterns":[{"match":"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)","name":"entity.name.type"}]},"7":{"name":"keyword.control"}},"end":"}","name":"meta.resource-block","patterns":[{"match":";","name":"punctuation.separator.sequence.declarations"},{"begin":"\\\\{","end":"}","name":"meta.relation-declaration","patterns":[{"include":"#specializer"},{"include":"#comment"},{"match":",","name":"punctuation.separator.sequence.dict"}]},{"include":"#term"}]},"rule":{"name":"meta.rule","patterns":[{"include":"#rule-functor"},{"begin":"\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.control.if"}},"end":";","patterns":[{"include":"#term"}]},{"match":";"}]},"rule-functor":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"support.function.rule"}},"end":"\\\\)","patterns":[{"include":"#specializer"},{"match":",","name":"punctuation.separator.sequence.list"},{"include":"#term"}]},"rule-type":{"begin":"\\\\btype\\\\b","beginCaptures":{"0":{"name":"keyword.other.type-decl"}},"end":";","name":"meta.rule-type","patterns":[{"include":"#rule-functor"}]},"specializer":{"captures":{"1":{"name":"entity.name.type.resource"}},"match":"[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*\\\\s*:\\\\s*([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)"},"string":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape"}]},"term":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#keyword"},{"include":"#operator"},{"include":"#boolean"},{"include":"#object-literal"},{"begin":"\\\\[","end":"]","name":"meta.bracket.list","patterns":[{"include":"#term"},{"match":",","name":"punctuation.separator.sequence.list"}]},{"begin":"\\\\{","end":"}","name":"meta.bracket.dict","patterns":[{"include":"#term"},{"match":",","name":"punctuation.separator.sequence.dict"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.parens","patterns":[{"include":"#term"}]}]},"test-block":{"begin":"(test)\\\\s+(\\"[^\\"]*\\")\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control"},"2":{"name":"string.quoted.double"}},"end":"}","name":"meta.test-block","patterns":[{"begin":"(setup)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control"}},"end":"}","name":"meta.test-setup","patterns":[{"include":"#rule"},{"include":"#comment"},{"include":"#fixture"}]},{"include":"#rule"},{"match":"\\\\b(assert(?:|_not))\\\\b","name":"keyword.other"},{"include":"#comment"},{"name":"meta.iff-rule","patterns":[{"include":"#rule-functor"},{"begin":"\\\\biff\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":";","patterns":[{"include":"#term"}]},{"match":";"}]}]}},"scopeName":"source.polar"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-C0HS_06l.js.map diff --git a/src/webview-ui/build/assets/chunk-C0HS_06l.js.map b/src/webview-ui/build/assets/chunk-C0HS_06l.js.map new file mode 100644 index 0000000000..8b3b95562a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C0HS_06l.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C0HS_06l.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/polar.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Polar\\\",\\\"name\\\":\\\"polar\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#rule\\\"},{\\\"include\\\":\\\"#rule-type\\\"},{\\\"include\\\":\\\"#inline-query\\\"},{\\\"include\\\":\\\"#resource-block\\\"},{\\\"include\\\":\\\"#test-block\\\"},{\\\"include\\\":\\\"#fixture\\\"}],\\\"repository\\\":{\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean\\\"},\\\"comment\\\":{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.line.number-sign\\\"},\\\"fixture\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bfixture\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control\\\"},{\\\"begin\\\":\\\"\\\\\\\\btest\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"\\\\\\\\bfixture\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}}}]},\\\"inline-query\\\":{\\\"begin\\\":\\\"\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\";\\\",\\\"name\\\":\\\"meta.inline-query\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(cut|or|debug|print|in|forall|if|and|of|not|matches|type|on|global)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.character\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[-+]?\\\\\\\\d+(?:(\\\\\\\\.)\\\\\\\\d+(?:e[-+]?\\\\\\\\d+)?|e[-+]?\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float\\\"},{\\\"match\\\":\\\"\\\\\\\\b([-+])\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.natural\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.resource\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"constant.other.object-literal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#boolean\\\"}]},\\\"operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"match\\\":\\\"([-!*+/<=>])\\\"},\\\"resource-block\\\":{\\\"begin\\\":\\\"(?[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*){0}((resource|actor)\\\\\\\\s+(\\\\\\\\g)(?:\\\\\\\\s+(extends)\\\\\\\\s+(\\\\\\\\g(?:\\\\\\\\s*,\\\\\\\\s*\\\\\\\\g)*)\\\\\\\\s*,?\\\\\\\\s*)?|(global))\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\",\\\"name\\\":\\\"entity.name.type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.resource-block\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.sequence.declarations\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.relation-declaration\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#specializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.dict\\\"}]},{\\\"include\\\":\\\"#term\\\"}]},\\\"rule\\\":{\\\"name\\\":\\\"meta.rule\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-functor\\\"},{\\\"begin\\\":\\\"\\\\\\\\bif\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.if\\\"}},\\\"end\\\":\\\";\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},{\\\"match\\\":\\\";\\\"}]},\\\"rule-functor\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.rule\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#specializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.list\\\"},{\\\"include\\\":\\\"#term\\\"}]},\\\"rule-type\\\":{\\\"begin\\\":\\\"\\\\\\\\btype\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.type-decl\\\"}},\\\"end\\\":\\\";\\\",\\\"name\\\":\\\"meta.rule-type\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-functor\\\"}]},\\\"specializer\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.resource\\\"}},\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*\\\\\\\\s*:\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\"},\\\"string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape\\\"}]},\\\"term\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.bracket.list\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.list\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.bracket.dict\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.dict\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.parens\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]}]},\\\"test-block\\\":{\\\"begin\\\":\\\"(test)\\\\\\\\s+(\\\\\\\"[^\\\\\\\"]*\\\\\\\")\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.test-block\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(setup)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.test-setup\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#fixture\\\"}]},{\\\"include\\\":\\\"#rule\\\"},{\\\"match\\\":\\\"\\\\\\\\b(assert(?:|_not))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"name\\\":\\\"meta.iff-rule\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-functor\\\"},{\\\"begin\\\":\\\"\\\\\\\\biff\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\";\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},{\\\"match\\\":\\\";\\\"}]}]}},\\\"scopeName\\\":\\\"source.polar\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "polar" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+/IAAoqK,CAAC,EAE5rKC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C0hk2d4L.js b/src/webview-ui/build/assets/chunk-C0hk2d4L.js new file mode 100644 index 0000000000..7d97e181f0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C0hk2d4L.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"OCaml","fileTypes":[".ml",".mli"],"name":"ocaml","patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#decl"}],"repository":{"attribute":{"begin":"(\\\\[)\\\\s*((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)"},"attributePayload":{"patterns":[{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)%)(?![-!#-\\\\&*+./:<-@^|~])","end":"((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\\s*,|[^%\\\\s[:lower:]])|(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*|(?=\\\\btype\\\\b)","endCaptures":{"0":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#attributeIdentifier"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"]","patterns":[{"include":"#type"}]},{"include":"#bindTermArgs"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\\s*,|[^%\\\\s[:lower:]])|(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*|(?=\\\\btype\\\\b)","endCaptures":{"0":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#attributeIdentifier"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"]","patterns":[{"include":"#type"}]},{"include":"#bindTermArgs"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\\s*,|[^%\\\\s[:lower:]])|\\\\b(rec)\\\\b|((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"}]},{"begin":"(?<=(?:\\\\P{word}|^)rec)(?!\\\\p{word})","end":"((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(?=[^\\\\s[:alpha:]])","endCaptures":{"0":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#bindTermArgs"}]},{"include":"#bindTermArgs"}]},{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#declModule"}]},{"begin":"(?<=(?:\\\\P{word}|^)open)(?!\\\\p{word})","end":"(?=\\\\bin\\\\b)|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#pathModuleSimple"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*|(?<=\\\\))","endCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"patterns":[{"include":"#comment"},{"begin":"\\\\((?!\\\\*)","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"begin":"(?<=\\\\()","end":"[:=]","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"match":"(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}]},{"begin":"(?<=:)","end":"=|(?=\\\\))","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=\\\\))","patterns":[{"include":"#term"}]}]}]}]},{"include":"#pattern"}]},"bindType":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:and|type))(?!\\\\p{word})","end":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"entity.name.function strong"},{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]\\\\+|^\\\\+|[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\band\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#bindConstructor"}]}]},"comment":{"patterns":[{"include":"#attribute"},{"include":"#extension"},{"include":"#commentBlock"},{"include":"#commentDoc"}]},"commentBlock":{"begin":"\\\\(\\\\*(?!\\\\*[^)])","contentName":"emphasis","end":"\\\\*\\\\)","name":"comment constant.regexp meta.separator.markdown","patterns":[{"include":"#commentBlock"},{"include":"#commentDoc"}]},"commentDoc":{"begin":"\\\\(\\\\*\\\\*","end":"\\\\*\\\\)","name":"comment constant.regexp meta.separator.markdown","patterns":[{"match":"\\\\*"},{"include":"#comment"}]},"decl":{"patterns":[{"include":"#declClass"},{"include":"#declException"},{"include":"#declInclude"},{"include":"#declModule"},{"include":"#declOpen"},{"include":"#declTerm"},{"include":"#declType"}]},"declClass":{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"entity.name.class constant.numeric markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"begin":"(?<=(?:\\\\P{word}|^)class)(?!\\\\p{word})","beginCaptures":{"0":{"name":"entity.name.class constant.numeric markup.underline"}},"end":"\\\\btype\\\\b|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"include":"#bindClassTerm"}]},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#bindClassType"}]}]},"declException":{"begin":"\\\\bexception\\\\b","beginCaptures":{"0":{"name":"keyword markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"include":"#pragma"},{"include":"#bindConstructor"}]},"declInclude":{"begin":"\\\\binclude\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"include":"#pragma"},{"include":"#signature"}]},"declModule":{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})|\\\\bmodule\\\\b","beginCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"\\\\b(type)\\\\b|(?=\\\\p{upper})","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"match":"\\\\brec\\\\b","name":"variable.other.class.js message.error variable.interpolation string.regexp"}]},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#bindSignature"}]},{"begin":"(?=\\\\p{upper})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#bindStructure"}]}]},"declOpen":{"begin":"\\\\bopen\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"include":"#pragma"},{"include":"#pathModuleExtended"}]},"declTerm":{"begin":"\\\\b(?:(external|val)|(method)|(let))\\\\b(!?)","beginCaptures":{"1":{"name":"support.type markup.underline"},"2":{"name":"storage.type markup.underline"},"3":{"name":"keyword.control markup.underline"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#bindTerm"}]},"declType":{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})|\\\\btype\\\\b","beginCaptures":{"0":{"name":"keyword markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#bindType"}]},"extension":{"begin":"(\\\\[)((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"(:)|(=)|(;)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"match":"(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(=)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":";|(?=})","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#term"}]}]},"literalString":{"patterns":[{"begin":"\\"","end":"\\"","name":"string beginning.punctuation.definition.quote.markdown","patterns":[{"include":"#literalStringEscape"}]},{"begin":"(\\\\{)([_[:lower:]]*?)(\\\\|)","end":"(\\\\|)(\\\\2)(})","name":"string beginning.punctuation.definition.quote.markdown","patterns":[{"include":"#literalStringEscape"}]}]},"literalStringEscape":{"match":"\\\\\\\\(?:[\\"\\\\\\\\bnrt]|\\\\d\\\\d\\\\d|x\\\\h\\\\h|o[0-3][0-7][0-7])"},"literalUnit":{"match":"\\\\(\\\\)","name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"pathModuleExtended":{"patterns":[{"include":"#pathModulePrefixExtended"},{"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]]['[:word:]]*","name":"entity.name.class constant.numeric"}]},"pathModulePrefixExtended":{"begin":"\\\\b(?=\\\\p{upper})[_[:alpha:]]['[:word:]]*(?=\\\\s*\\\\.|$|\\\\()","beginCaptures":{"0":{"name":"entity.name.class constant.numeric"}},"end":"(?![.\\\\s]|$|\\\\()","patterns":[{"include":"#comment"},{"begin":"\\\\(","captures":{"0":{"name":"keyword.control"}},"end":"\\\\)","patterns":[{"match":"\\\\b((?=\\\\p{upper})[_[:alpha:]]['[:word:]]*(?=\\\\s*\\\\)))","name":"string.other.link variable.language variable.parameter emphasis"},{"include":"#structure"}]},{"begin":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","end":"(?=[^.\\\\s])(?!\\\\(\\\\*)","patterns":[{"include":"#comment"},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)\\\\.)(?![-!#-\\\\&*+./:<-@^|~])|(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|mutable|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(?<=\\\\))|(?<=])","endCaptures":{"1":{"name":"keyword strong"},"2":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"begin":"\\\\((?!\\\\*)","captures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"\\\\)","patterns":[{"include":"#term"}]},{"begin":"\\\\[","captures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"]","patterns":[{"include":"#pattern"}]}]}]}]},"pattern":{"patterns":[{"include":"#comment"},{"include":"#patternArray"},{"include":"#patternLazy"},{"include":"#patternList"},{"include":"#patternMisc"},{"include":"#patternModule"},{"include":"#patternRecord"},{"include":"#literal"},{"include":"#patternParens"},{"include":"#patternType"},{"include":"#variablePattern"},{"include":"#termOperator"}]},"patternArray":{"begin":"\\\\[\\\\|","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"end":"\\\\|]","patterns":[{"include":"#pattern"}]},"patternLazy":{"match":"lazy","name":"variable.other.class.js message.error variable.interpolation string.regexp"},"patternList":{"begin":"\\\\[","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"end":"]","patterns":[{"include":"#pattern"}]},"patternMisc":{"captures":{"1":{"name":"string.regexp strong"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"match":"((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"(:)|(=)|(;)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"match":"(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(=)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":";|(?=})","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#pattern"}]}]},"patternType":{"begin":"\\\\btype\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=\\\\))","patterns":[{"include":"#declType"}]},"pragma":{"begin":"(?(?![-!#-\\\\&*+./:<-@^|~]))","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.type strong"}}},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)->)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#signature"}]}]},{"match":"(?(?![-!#-\\\\&*+./:<-@^|~])","name":"support.type strong"}]},"signatureLiteral":{"begin":"\\\\bsig\\\\b","captures":{"0":{"name":"punctuation.definition.tag emphasis"}},"end":"\\\\bend\\\\b","patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#decl"}]},"signatureParens":{"begin":"\\\\((?!\\\\))","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#comment"},{"begin":"(?|^->)(?![-!#-\\\\&*+./:<-@^|~])|(?<=(?:\\\\P{word}|^)(?:include|open))(?!\\\\p{word})","end":"\\\\bmodule\\\\b|(?!$|\\\\s|\\\\bmodule\\\\b)","endCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}}},{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"\\\\btype\\\\b","endCaptures":{"0":{"name":"keyword"}}},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"\\\\bof\\\\b","endCaptures":{"0":{"name":"punctuation.definition.tag"}}},{"begin":"(?<=(?:\\\\P{word}|^)of)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#signature"}]}]}]},"structure":{"patterns":[{"include":"#comment"},{"include":"#structureLiteral"},{"include":"#structureFunctor"},{"include":"#pathModuleExtended"},{"include":"#structureParens"}]},"structureFunctor":{"patterns":[{"begin":"\\\\bfunctor\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"begin":"(?<=(?:\\\\P{word}|^)functor)(?!\\\\p{word})","end":"(\\\\(\\\\))|(\\\\((?!\\\\)))","endCaptures":{"1":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"2":{"name":"punctuation.definition.tag"}}},{"begin":"(?<=\\\\()","end":"(:)|(\\\\))","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#variableModule"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#signature"}]},{"begin":"(?<=\\\\))","end":"(\\\\()|((?(?![-!#-\\\\&*+./:<-@^|~]))","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.type strong"}}},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)->)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#structure"}]}]},{"match":"(?(?![-!#-\\\\&*+./:<-@^|~])","name":"support.type strong"}]},"structureLiteral":{"begin":"\\\\bstruct\\\\b","captures":{"0":{"name":"punctuation.definition.tag emphasis"}},"end":"\\\\bend\\\\b","patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#decl"}]},"structureParens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#structureUnpack"},{"include":"#structure"}]},"structureUnpack":{"begin":"\\\\bval\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"(?=\\\\))"},"term":{"patterns":[{"include":"#termLet"},{"include":"#termAtomic"}]},"termAtomic":{"patterns":[{"include":"#comment"},{"include":"#termConditional"},{"include":"#termConstructor"},{"include":"#termDelim"},{"include":"#termFor"},{"include":"#termFunction"},{"include":"#literal"},{"include":"#termMatch"},{"include":"#termMatchRule"},{"include":"#termPun"},{"include":"#termOperator"},{"include":"#termTry"},{"include":"#termWhile"},{"include":"#pathRecord"}]},"termConditional":{"match":"\\\\b(?:if|then|else)\\\\b","name":"keyword.control"},"termConstructor":{"patterns":[{"include":"#pathModulePrefixSimple"},{"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]]['[:word:]]*","name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}]},"termDelim":{"patterns":[{"begin":"\\\\((?!\\\\))","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#term"}]},{"begin":"\\\\bbegin\\\\b","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\bend\\\\b","patterns":[{"include":"#attributeIdentifier"},{"include":"#term"}]}]},"termFor":{"patterns":[{"begin":"\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":"\\\\bdone\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)for)(?!\\\\p{word})","end":"(?|^->)(?![-!#-\\\\&*+./:<-@^|~])|(?<=[(;]))(?=\\\\s|\\\\blet\\\\b)|(?<=(?:\\\\P{word}|^)(?:begin|do|else|in|struct|then|try))(?!\\\\p{word})|(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)@@)(?![-!#-\\\\&*+./:<-@^|~])\\\\s+","end":"\\\\b(?:(and)|(let))\\\\b|(?=\\\\S)(?!\\\\(\\\\*)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"},"2":{"name":"storage.type markup.underline"}},"patterns":[{"include":"#comment"}]},{"begin":"(?<=(?:\\\\P{word}|^)(?:and|let))(?!\\\\p{word})|(let)","beginCaptures":{"1":{"name":"storage.type markup.underline"}},"end":"\\\\b(?:(and)|(in))\\\\b|(?=[])}]|\\\\b(?:end|class|exception|external|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"},"2":{"name":"storage.type markup.underline"}},"patterns":[{"include":"#bindTerm"}]}]},"termMatch":{"begin":"\\\\bmatch\\\\b","captures":{"0":{"name":"keyword.control"}},"end":"\\\\bwith\\\\b","patterns":[{"include":"#term"}]},"termMatchRule":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:fun|function|with))(?!\\\\p{word})","end":"(?)(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"1":{"name":"support.type strong"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#comment"},{"include":"#attributeIdentifier"},{"include":"#pattern"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@\\\\[^|~]|^)\\\\|)(?![-!#-\\\\&*+./:<-@^|~])|(?)(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"1":{"name":"support.type strong"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#pattern"},{"begin":"\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"(?=(?(?![-!#-\\\\&*+./:<-@^|~]))","patterns":[{"include":"#term"}]}]}]},"termOperator":{"patterns":[{"begin":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","endCaptures":{"0":{"name":"entity.name.function"}}},{"captures":{"0":{"name":"keyword.control strong"}},"match":"<-"},{"captures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"match":"(,|[-!#-\\\\&*+./:<-@^|~]+)|(;)"},{"match":"\\\\b(?:and|assert|asr|land|lazy|lsr|lxor|mod|new|or)\\\\b","name":"variable.other.class.js message.error variable.interpolation string.regexp"}]},"termPun":{"applyEndPatternLast":true,"begin":"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","endCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}}}]},"termTry":{"begin":"\\\\btry\\\\b","captures":{"0":{"name":"keyword.control"}},"end":"\\\\bwith\\\\b","patterns":[{"include":"#term"}]},"termWhile":{"patterns":[{"begin":"\\\\bwhile\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":"\\\\bdone\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)while)(?!\\\\p{word})","end":"\\\\bdo\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"include":"#term"}]},{"begin":"(?<=(?:\\\\P{word}|^)do)(?!\\\\p{word})","end":"(?=\\\\bdone\\\\b)","patterns":[{"include":"#term"}]}]}]},"type":{"patterns":[{"include":"#comment"},{"match":"\\\\bnonrec\\\\b","name":"variable.other.class.js message.error variable.interpolation string.regexp"},{"include":"#pathModulePrefixExtended"},{"include":"#typeLabel"},{"include":"#typeObject"},{"include":"#typeOperator"},{"include":"#typeParens"},{"include":"#typePolymorphicVariant"},{"include":"#typeRecord"},{"include":"#typeConstructor"}]},"typeConstructor":{"patterns":[{"begin":"(_)|((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(')((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(?<=[^*]\\\\)|])","beginCaptures":{"1":{"name":"comment constant.regexp meta.separator.markdown"},"3":{"name":"string.other.link variable.language variable.parameter emphasis strong emphasis"},"4":{"name":"keyword.control emphasis"}},"end":"(?=\\\\((?!\\\\*)|[])-.:;=>\\\\[{|}])|((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)[:aceps]*(?!\\\\(\\\\*|\\\\p{word})|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"entity.name.function strong"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixExtended"}]}]},"typeLabel":{"patterns":[{"begin":"(\\\\??)((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)\\\\s*((?(?![-!#-\\\\&*+./:<-@^|~]))","patterns":[{"include":"#type"}]}]},"typeModule":{"begin":"\\\\bmodule\\\\b","beginCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"end":"(?=\\\\))","patterns":[{"include":"#pathModuleExtended"},{"include":"#signatureConstraints"}]},"typeObject":{"begin":"<","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong strong"}},"end":">","patterns":[{"begin":"(?<=[;<])","end":"(:)|(?=>)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"match":"(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(?=>)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]}]},"typeOperator":{"patterns":[{"match":"[,;]|[-!#-\\\\&*+./:<-@^|~]+","name":"variable.other.class.js message.error variable.interpolation string.regexp strong"}]},"typeParens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"match":",","name":"variable.other.class.js message.error variable.interpolation string.regexp"},{"include":"#typeModule"},{"include":"#type"}]},"typePolymorphicVariant":{"begin":"\\\\[","end":"]","patterns":[]},"typeRecord":{"begin":"\\\\{","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong strong"}},"end":"}","patterns":[{"begin":"(?<=[;{])","end":"(:)|(=)|(;)|(with)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"match":"(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"(:)|(=)|(;)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"match":"(?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(=)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":";|(?=})","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#type"}]}]},"variableModule":{"captures":{"0":{"name":"string.other.link variable.language variable.parameter emphasis"}},"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]]['[:word:]]*"},"variablePattern":{"captures":{"1":{"name":"comment constant.regexp meta.separator.markdown"},"2":{"name":"string.other.link variable.language variable.parameter emphasis"}},"match":"\\\\b(_)\\\\b|((?!\\\\b(?:and|'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)"}},"scopeName":"source.ocaml"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-C0hk2d4L.js.map diff --git a/src/webview-ui/build/assets/chunk-C0hk2d4L.js.map b/src/webview-ui/build/assets/chunk-C0hk2d4L.js.map new file mode 100644 index 0000000000..00cd2672c6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C0hk2d4L.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C0hk2d4L.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ocaml.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"OCaml\\\",\\\"fileTypes\\\":[\\\".ml\\\",\\\".mli\\\"],\\\"name\\\":\\\"ocaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#decl\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\\\\\\s*((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)\\\"},\\\"attributePayload\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)%)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\\\\\\s*,|[^%\\\\\\\\s[:lower:]])|(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*|(?=\\\\\\\\btype\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function strong emphasis\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#bindTermArgs\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\\\\\\s*,|[^%\\\\\\\\s[:lower:]])|(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*|(?=\\\\\\\\btype\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function strong emphasis\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#bindTermArgs\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\\\\\\s*,|[^%\\\\\\\\s[:lower:]])|\\\\\\\\b(rec)\\\\\\\\b|((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function strong emphasis\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)rec)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(?=[^\\\\\\\\s[:alpha:]])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function strong emphasis\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#bindTermArgs\\\"}]},{\\\"include\\\":\\\"#bindTermArgs\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)module)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declModule\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)open)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=\\\\\\\\bin\\\\\\\\b)|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pathModuleSimple\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*|(?<=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\((?!\\\\\\\\*)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\",\\\"end\\\":\\\"[:=]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\",\\\"end\\\":\\\"=|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]}]}]}]},{\\\"include\\\":\\\"#pattern\\\"}]},\\\"bindType\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)(?:and|type))(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"entity.name.function strong\\\"},{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]\\\\\\\\+|^\\\\\\\\+|[^-!#-\\\\\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"\\\\\\\\band\\\\\\\\b|(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#bindConstructor\\\"}]}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#extension\\\"},{\\\"include\\\":\\\"#commentBlock\\\"},{\\\"include\\\":\\\"#commentDoc\\\"}]},\\\"commentBlock\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*(?!\\\\\\\\*[^)])\\\",\\\"contentName\\\":\\\"emphasis\\\",\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"comment constant.regexp meta.separator.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#commentBlock\\\"},{\\\"include\\\":\\\"#commentDoc\\\"}]},\\\"commentDoc\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"comment constant.regexp meta.separator.markdown\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"decl\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declClass\\\"},{\\\"include\\\":\\\"#declException\\\"},{\\\"include\\\":\\\"#declInclude\\\"},{\\\"include\\\":\\\"#declModule\\\"},{\\\"include\\\":\\\"#declOpen\\\"},{\\\"include\\\":\\\"#declTerm\\\"},{\\\"include\\\":\\\"#declType\\\"}]},\\\"declClass\\\":{\\\"begin\\\":\\\"\\\\\\\\bclass\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.class constant.numeric markup.underline\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)class)(?!\\\\\\\\p{word})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.class constant.numeric markup.underline\\\"}},\\\"end\\\":\\\"\\\\\\\\btype\\\\\\\\b|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#bindClassTerm\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)type)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bindClassType\\\"}]}]},\\\"declException\\\":{\\\"begin\\\":\\\"\\\\\\\\bexception\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword markup.underline\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#bindConstructor\\\"}]},\\\"declInclude\\\":{\\\"begin\\\":\\\"\\\\\\\\binclude\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#signature\\\"}]},\\\"declModule\\\":{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)module)(?!\\\\\\\\p{word})|\\\\\\\\bmodule\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename markup.underline\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)module)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"\\\\\\\\b(type)\\\\\\\\b|(?=\\\\\\\\p{upper})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\brec\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)type)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bindSignature\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\p{upper})\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bindStructure\\\"}]}]},\\\"declOpen\\\":{\\\"begin\\\":\\\"\\\\\\\\bopen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#pathModuleExtended\\\"}]},\\\"declTerm\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?:(external|val)|(method)|(let))\\\\\\\\b(!?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type markup.underline\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type markup.underline\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control markup.underline\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#bindTerm\\\"}]},\\\"declType\\\":{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)type)(?!\\\\\\\\p{word})|\\\\\\\\btype\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword markup.underline\\\"}},\\\"end\\\":\\\";;|(?=[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#bindType\\\"}]},\\\"extension\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)with)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(:)|(=)|(;)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(;)|(=)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\";|(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]}]},\\\"literalString\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string beginning.punctuation.definition.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literalStringEscape\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\{)([_[:lower:]]*?)(\\\\\\\\|)\\\",\\\"end\\\":\\\"(\\\\\\\\|)(\\\\\\\\2)(})\\\",\\\"name\\\":\\\"string beginning.punctuation.definition.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literalStringEscape\\\"}]}]},\\\"literalStringEscape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"\\\\\\\\\\\\\\\\bnrt]|\\\\\\\\d\\\\\\\\d\\\\\\\\d|x\\\\\\\\h\\\\\\\\h|o[0-3][0-7][0-7])\\\"},\\\"literalUnit\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\)\\\",\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong\\\"},\\\"pathModuleExtended\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#pathModulePrefixExtended\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?=\\\\\\\\p{upper})[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"entity.name.class constant.numeric\\\"}]},\\\"pathModulePrefixExtended\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=\\\\\\\\p{upper})[_[:alpha:]]['[:word:]]*(?=\\\\\\\\s*\\\\\\\\.|$|\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.class constant.numeric\\\"}},\\\"end\\\":\\\"(?![.\\\\\\\\s]|$|\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((?=\\\\\\\\p{upper})[_[:alpha:]]['[:word:]]*(?=\\\\\\\\s*\\\\\\\\)))\\\",\\\"name\\\":\\\"string.other.link variable.language variable.parameter emphasis\\\"},{\\\"include\\\":\\\"#structure\\\"}]},{\\\"begin\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"end\\\":\\\"(?=[^.\\\\\\\\s])(?!\\\\\\\\(\\\\\\\\*)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)\\\\\\\\.)(?![-!#-\\\\\\\\&*+./:<-@^|~])|(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|mutable|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(?<=\\\\\\\\))|(?<=])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pathModulePrefixSimple\\\"},{\\\"begin\\\":\\\"\\\\\\\\((?!\\\\\\\\*)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"}]}]}]}]},\\\"pattern\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#patternArray\\\"},{\\\"include\\\":\\\"#patternLazy\\\"},{\\\"include\\\":\\\"#patternList\\\"},{\\\"include\\\":\\\"#patternMisc\\\"},{\\\"include\\\":\\\"#patternModule\\\"},{\\\"include\\\":\\\"#patternRecord\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#patternParens\\\"},{\\\"include\\\":\\\"#patternType\\\"},{\\\"include\\\":\\\"#variablePattern\\\"},{\\\"include\\\":\\\"#termOperator\\\"}]},\\\"patternArray\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\|\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong\\\"}},\\\"end\\\":\\\"\\\\\\\\|]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"}]},\\\"patternLazy\\\":{\\\"match\\\":\\\"lazy\\\",\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"patternList\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"}]},\\\"patternMisc\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.regexp strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"match\\\":\\\"((?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)with)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(:)|(=)|(;)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(;)|(=)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\";|(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"}]}]},\\\"patternType\\\":{\\\"begin\\\":\\\"\\\\\\\\btype\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declType\\\"}]},\\\"pragma\\\":{\\\"begin\\\":\\\"(?(?![-!#-\\\\\\\\&*+./:<-@^|~]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}}},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)->)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#signature\\\"}]}]},{\\\"match\\\":\\\"(?(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"name\\\":\\\"support.type strong\\\"}]},\\\"signatureLiteral\\\":{\\\"begin\\\":\\\"\\\\\\\\bsig\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag emphasis\\\"}},\\\"end\\\":\\\"\\\\\\\\bend\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#decl\\\"}]},\\\"signatureParens\\\":{\\\"begin\\\":\\\"\\\\\\\\((?!\\\\\\\\))\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?|^->)(?![-!#-\\\\\\\\&*+./:<-@^|~])|(?<=(?:\\\\\\\\P{word}|^)(?:include|open))(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"\\\\\\\\bmodule\\\\\\\\b|(?!$|\\\\\\\\s|\\\\\\\\bmodule\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename\\\"}}},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)module)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)module)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"\\\\\\\\btype\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}}},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)type)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"\\\\\\\\bof\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}}},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)of)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#signature\\\"}]}]}]},\\\"structure\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#structureLiteral\\\"},{\\\"include\\\":\\\"#structureFunctor\\\"},{\\\"include\\\":\\\"#pathModuleExtended\\\"},{\\\"include\\\":\\\"#structureParens\\\"}]},\\\"structureFunctor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bfunctor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword\\\"}},\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)functor)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(\\\\\\\\(\\\\\\\\))|(\\\\\\\\((?!\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}}},{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\",\\\"end\\\":\\\"(:)|(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#variableModule\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#signature\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"end\\\":\\\"(\\\\\\\\()|((?(?![-!#-\\\\\\\\&*+./:<-@^|~]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}}},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)->)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#structure\\\"}]}]},{\\\"match\\\":\\\"(?(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"name\\\":\\\"support.type strong\\\"}]},\\\"structureLiteral\\\":{\\\"begin\\\":\\\"\\\\\\\\bstruct\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag emphasis\\\"}},\\\"end\\\":\\\"\\\\\\\\bend\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#decl\\\"}]},\\\"structureParens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#structureUnpack\\\"},{\\\"include\\\":\\\"#structure\\\"}]},\\\"structureUnpack\\\":{\\\"begin\\\":\\\"\\\\\\\\bval\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\"},\\\"term\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#termLet\\\"},{\\\"include\\\":\\\"#termAtomic\\\"}]},\\\"termAtomic\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#termConditional\\\"},{\\\"include\\\":\\\"#termConstructor\\\"},{\\\"include\\\":\\\"#termDelim\\\"},{\\\"include\\\":\\\"#termFor\\\"},{\\\"include\\\":\\\"#termFunction\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#termMatch\\\"},{\\\"include\\\":\\\"#termMatchRule\\\"},{\\\"include\\\":\\\"#termPun\\\"},{\\\"include\\\":\\\"#termOperator\\\"},{\\\"include\\\":\\\"#termTry\\\"},{\\\"include\\\":\\\"#termWhile\\\"},{\\\"include\\\":\\\"#pathRecord\\\"}]},\\\"termConditional\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:if|then|else)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control\\\"},\\\"termConstructor\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#pathModulePrefixSimple\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?=\\\\\\\\p{upper})[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong\\\"}]},\\\"termDelim\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\((?!\\\\\\\\))\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bbegin\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"\\\\\\\\bend\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#term\\\"}]}]},\\\"termFor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bfor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"\\\\\\\\bdone\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)for)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?|^->)(?![-!#-\\\\\\\\&*+./:<-@^|~])|(?<=[(;]))(?=\\\\\\\\s|\\\\\\\\blet\\\\\\\\b)|(?<=(?:\\\\\\\\P{word}|^)(?:begin|do|else|in|struct|then|try))(?!\\\\\\\\p{word})|(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)@@)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\\\\\\s+\\\",\\\"end\\\":\\\"\\\\\\\\b(?:(and)|(let))\\\\\\\\b|(?=\\\\\\\\S)(?!\\\\\\\\(\\\\\\\\*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type markup.underline\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)(?:and|let))(?!\\\\\\\\p{word})|(let)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type markup.underline\\\"}},\\\"end\\\":\\\"\\\\\\\\b(?:(and)|(in))\\\\\\\\b|(?=[])}]|\\\\\\\\b(?:end|class|exception|external|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp markup.underline\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type markup.underline\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#bindTerm\\\"}]}]},\\\"termMatch\\\":{\\\"begin\\\":\\\"\\\\\\\\bmatch\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"\\\\\\\\bwith\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},\\\"termMatchRule\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)(?:fun|function|with))(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attributeIdentifier\\\"},{\\\"include\\\":\\\"#pattern\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@\\\\\\\\[^|~]|^)\\\\\\\\|)(?![-!#-\\\\\\\\&*+./:<-@^|~])|(?)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"},{\\\"begin\\\":\\\"\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"end\\\":\\\"(?=(?(?![-!#-\\\\\\\\&*+./:<-@^|~]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]}]}]},\\\"termOperator\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control strong\\\"}},\\\"match\\\":\\\"<-\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"match\\\":\\\"(,|[-!#-\\\\\\\\&*+./:<-@^|~]+)|(;)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:and|assert|asr|land|lazy|lsr|lxor|mod|new|or)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}]},\\\"termPun\\\":{\\\"applyEndPatternLast\\\":true,\\\"begin\\\":\\\"(?]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename\\\"}}}]},\\\"termTry\\\":{\\\"begin\\\":\\\"\\\\\\\\btry\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"\\\\\\\\bwith\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},\\\"termWhile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bwhile\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"\\\\\\\\bdone\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)while)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"\\\\\\\\bdo\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)do)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(?=\\\\\\\\bdone\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#term\\\"}]}]}]},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\bnonrec\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},{\\\"include\\\":\\\"#pathModulePrefixExtended\\\"},{\\\"include\\\":\\\"#typeLabel\\\"},{\\\"include\\\":\\\"#typeObject\\\"},{\\\"include\\\":\\\"#typeOperator\\\"},{\\\"include\\\":\\\"#typeParens\\\"},{\\\"include\\\":\\\"#typePolymorphicVariant\\\"},{\\\"include\\\":\\\"#typeRecord\\\"},{\\\"include\\\":\\\"#typeConstructor\\\"}]},\\\"typeConstructor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(_)|((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(')((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)|(?<=[^*]\\\\\\\\)|])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment constant.regexp meta.separator.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.link variable.language variable.parameter emphasis strong emphasis\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control emphasis\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\((?!\\\\\\\\*)|[])-.:;=>\\\\\\\\[{|}])|((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)[:aceps]*(?!\\\\\\\\(\\\\\\\\*|\\\\\\\\p{word})|(?=;;|[])}]|\\\\\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pathModulePrefixExtended\\\"}]}]},\\\"typeLabel\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\??)((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)\\\\\\\\s*((?(?![-!#-\\\\\\\\&*+./:<-@^|~]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"typeModule\\\":{\\\"begin\\\":\\\"\\\\\\\\bmodule\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pathModuleExtended\\\"},{\\\"include\\\":\\\"#signatureConstraints\\\"}]},\\\"typeObject\\\":{\\\"begin\\\":\\\"<\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\\\"}},\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[;<])\\\",\\\"end\\\":\\\"(:)|(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pathModulePrefixSimple\\\"},{\\\"match\\\":\\\"(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(;)|(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"typeOperator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[,;]|[-!#-\\\\\\\\&*+./:<-@^|~]+\\\",\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"}]},\\\"typeParens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},{\\\"include\\\":\\\"#typeModule\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"typePolymorphicVariant\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[]},\\\"typeRecord\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.language constant.numeric entity.other.attribute-name.id.css strong strong\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[;{])\\\",\\\"end\\\":\\\"(:)|(=)|(;)|(with)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pathModulePrefixSimple\\\"},{\\\"match\\\":\\\"(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:\\\\\\\\P{word}|^)with)(?!\\\\\\\\p{word})\\\",\\\"end\\\":\\\"(:)|(=)|(;)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp strong\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*\\\",\\\"name\\\":\\\"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\"(;)|(=)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type strong\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=(?:[^-!#-\\\\\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\\\\\&*+./:<-@^|~])\\\",\\\"end\\\":\\\";|(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.class.js message.error variable.interpolation string.regexp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"variableModule\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.link variable.language variable.parameter emphasis\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?=\\\\\\\\p{upper})[_[:alpha:]]['[:word:]]*\\\"},\\\"variablePattern\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment constant.regexp meta.separator.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link variable.language variable.parameter emphasis\\\"}},\\\"match\\\":\\\"\\\\\\\\b(_)\\\\\\\\b|((?!\\\\\\\\b(?:and|'|asr??|assert|\\\\\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\\\\\\"?]|rec|[]);\\\\\\\\\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\\\\\||virtual|when|while|with)\\\\\\\\b(?:[^']|$))\\\\\\\\b(?=[_[:lower:]])[_[:alpha:]]['[:word:]]*)\\\"}},\\\"scopeName\\\":\\\"source.ocaml\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "ocaml" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,i75DAA4mjE,CAAC,EAEpojEC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C151Ov-r.js b/src/webview-ui/build/assets/chunk-C151Ov-r.js new file mode 100644 index 0000000000..d080cfcfb5 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C151Ov-r.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + '{"displayName":"Scala","fileTypes":["scala"],"firstLineMatch":"^#!/.*\\\\b\\\\w*scala\\\\b","foldingStartMarker":"/\\\\*\\\\*|\\\\{\\\\s*$","foldingStopMarker":"\\\\*\\\\*/|^\\\\s*}","name":"scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.scala"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.scala"},{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}},"name":"comment.block.documentation.scala","patterns":[{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}},"match":"(@t(?:param|hrows))\\\\s+(\\\\S+)"},{"match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\\\b","name":"keyword.other.documentation.scaladoc.scala"},{"captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}},"match":"(\\\\[\\\\[)([^]]+)(]])"},{"include":"#block-comments"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.scala"}},"end":"\\\\*/","name":"comment.block.scala","patterns":[{"include":"#block-comments"}]}]},"char-literal":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}},"match":"(\')\'(\')","name":"string.quoted.other constant.character.literal.scala"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"end":"\'|$","endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}},"name":"string.quoted.other constant.character.literal.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-character-escape.scala"},{"match":"[^\']{2,}","name":"invalid.illegal.character-literal-too-long"},{"match":"(?)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.export.given.scala"},{"captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"extension":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"^\\\\s*(extension)\\\\s+(?=[(\\\\[])"}]},"imports":{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.import.scala"}},"end":"(?<=[\\\\n;])","name":"meta.import.scala","patterns":[{"include":"#comments"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"match":"\\\\s(as)\\\\s","name":"keyword.other.import.as.scala"},{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?","name":"entity.name.class.import.scala"},{"match":"(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.scala"}},"end":"}","endCaptures":{"0":{"name":"meta.bracket.scala"}},"name":"meta.import.selector.scala","patterns":[{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}},"match":"(given\\\\s)?\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*(=>)\\\\s*(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))\\\\s*"},{"match":"\\\\b(given)\\\\b","name":"keyword.other.import.given.scala"},{"captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}},"match":"(given\\\\s+)?(?:([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)))"}]}]},"inheritance":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}},"match":"\\\\b(extends|with|derives)\\\\b\\\\s*([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?=\\\\([^)]+=>)|(?=[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|(?=\\"))?"}]},"initialization":{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"\\\\b(new)\\\\b"},"inline":{"patterns":[{"match":"\\\\b(inline)(?=\\\\s+((?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)|`[^`]+`)\\\\s*:)","name":"storage.modifier.other"},{"match":"\\\\b(inline)\\\\b(?=(?:.(?!\\\\b(?:val|def|given)\\\\b))*\\\\b(if|match)\\\\b)","name":"keyword.control.flow.scala"}]},"keywords":{"patterns":[{"match":"\\\\b(return|throw)\\\\b","name":"keyword.control.flow.jump.scala"},{"match":"\\\\b((?:class|isInstance|asInstance)Of)\\\\b","name":"support.function.type-of.scala"},{"match":"\\\\b(else|if|then|do|while|for|yield|match|case)\\\\b","name":"keyword.control.flow.scala"},{"match":"^\\\\s*(end)\\\\s+(if|while|for|match)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.flow.end.scala"},{"match":"^\\\\s*(end)\\\\s+(val)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.stable.end.scala"},{"match":"^\\\\s*(end)\\\\s+(var)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.declaration.volatile.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}},"match":"^\\\\s*(end)\\\\s+(?:(new|extension)|([A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?))(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"\\\\b(catch|finally|try)\\\\b","name":"keyword.control.exception.scala"},{"match":"^\\\\s*(end)\\\\s+(try)(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)","name":"keyword.control.exception.end.scala"},{"captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}},"match":"^\\\\s*(end)\\\\s+(`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))?(?=\\\\s*(/(?:/.*|\\\\*(?!.*\\\\*/\\\\s*\\\\S.*).*))?$)"},{"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]){3,}","name":"keyword.operator.scala"},{"captures":{"1":{"patterns":[{"match":"(\\\\|\\\\||&&)","name":"keyword.operator.logical.scala"},{"match":"([!<=>]=)","name":"keyword.operator.comparison.scala"},{"match":"..","name":"keyword.operator.scala"}]}},"match":"([-!#%\\\\&*+/:<-@\\\\\\\\^|~\\\\p{Sm}\\\\p{So}]{2,}|_\\\\*)"},{"captures":{"1":{"patterns":[{"match":"(!)","name":"keyword.operator.logical.scala"},{"match":"([-%*+/~])","name":"keyword.operator.arithmetic.scala"},{"match":"([<=>])","name":"keyword.operator.comparison.scala"},{"match":".","name":"keyword.operator.scala"}]}},"match":"(?:|<:","name":"meta.bounds.scala"},"meta-brackets":{"patterns":[{"match":"\\\\{","name":"punctuation.section.block.begin.scala"},{"match":"}","name":"punctuation.section.block.end.scala"},{"match":"[]()\\\\[{}]","name":"meta.bracket.scala"}]},"meta-colons":{"patterns":[{"match":"(?[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+))(?!\')"},{"match":"\'(?=\\\\s*\\\\{(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\'(?=\\\\s*\\\\[(?!\'))","name":"keyword.control.flow.staging.scala"},{"match":"\\\\$(?=\\\\s*\\\\{)","name":"keyword.control.flow.staging.scala"}]},"script-header":{"captures":{"1":{"name":"string.unquoted.shebang.scala"}},"match":"^#!(.*)$","name":"comment.block.shebang.scala"},"singleton-type":{"captures":{"1":{"name":"keyword.type.scala"}},"match":"\\\\.(type)(?![$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[0-9])"},"storage-modifiers":{"patterns":[{"match":"\\\\b(pr(?:ivate\\\\[\\\\S+]|otected\\\\[\\\\S+]|ivate|otected))\\\\b","name":"storage.modifier.access"},{"match":"\\\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\\\b","name":"storage.modifier.other"},{"match":"(?<=^|\\\\s)\\\\b(transparent|opaque|infix|open|inline)\\\\b(?=[a-z\\\\s]*\\\\b(def|val|var|given|type|class|trait|object|enum)\\\\b)","name":"storage.modifier.other"}]},"string-interpolation":{"patterns":[{"match":"\\\\$\\\\$","name":"constant.character.escape.interpolation.scala"},{"captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}},"match":"(\\\\$)([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*)","name":"meta.template.expression.scala"},{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"contentName":"meta.embedded.line.scala","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}},"name":"meta.template.expression.scala","patterns":[{"include":"#code"}]}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.triple.scala","patterns":[{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"}]},{"begin":"\\\\b(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\"\\"\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\"\\"\\")(?!\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:\\\\\\\\|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":".","name":"string.quoted.triple.interpolated.scala"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}},"name":"string.quoted.double.scala","patterns":[{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"}]},{"begin":"\\\\b(raw)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":".","name":"string.quoted.double.interpolated.scala"}]},{"begin":"\\\\b([$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?)(\\")","beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"end":"(\\")|\\\\$\\\\n|(\\\\$[^\\"$A-Z_a-{\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}])","endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}},"patterns":[{"match":"\\\\$[\\"$]","name":"constant.character.escape.scala"},{"include":"#string-interpolation"},{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\h{4})","name":"constant.character.escape.scala"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.scala"},{"match":".","name":"string.quoted.double.interpolated.scala"}]}]},"using":{"patterns":[{"captures":{"1":{"name":"keyword.declaration.scala"}},"match":"(?<=\\\\()\\\\s*(using)\\\\s"}]},"using-directive":{"begin":"^\\\\s*(//>)\\\\s*(using)[^\\\\n\\\\S]+(\\\\S+)?","beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"match":"[A-Z\\\\p{Lt}\\\\p{Lu}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}][$0-9A-Z_a-z\\\\p{Lt}\\\\p{Lu}\\\\p{Lo}\\\\p{Nl}\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)?|[-!#%\\\\&*+/:<-@^|~\\\\p{Sm}\\\\p{So}]+)","name":"entity.name.import.scala"},{"match":"\\\\.","name":"punctuation.definition.import"}]}},"end":"\\\\n","name":"comment.line.shebang.scala","patterns":[{"include":"#constants"},{"include":"#strings"},{"match":"[^,\\\\s]+","name":"string.quoted.double.scala"}]},"xml-doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#xml-entity"}]},"xml-embedded-content":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"meta.bracket.scala"}},"end":"}","name":"meta.source.embedded.scala","patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)="},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"xml-literal":{"patterns":[{"begin":"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\\\s[^>]*)?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"end":"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#xml-embedded-content"}]},{"begin":"(]*?>)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#xml-embedded-content"}]},{"include":"#xml-entity"}]},"xml-singlequotedString":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#xml-entity"}]}},"scopeName":"source.scala"}', + ), + ), + e = [a] +export { e as default } +//# sourceMappingURL=chunk-C151Ov-r.js.map diff --git a/src/webview-ui/build/assets/chunk-C151Ov-r.js.map b/src/webview-ui/build/assets/chunk-C151Ov-r.js.map new file mode 100644 index 0000000000..b956f8ef90 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C151Ov-r.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C151Ov-r.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/scala.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Scala\\\",\\\"fileTypes\\\":[\\\"scala\\\"],\\\"firstLineMatch\\\":\\\"^#!/.*\\\\\\\\b\\\\\\\\w*scala\\\\\\\\b\\\",\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*\\\\\\\\*|\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\*\\\\\\\\*/|^\\\\\\\\s*}\\\",\\\"name\\\":\\\"scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}],\\\"repository\\\":{\\\"backQuotedVariable\\\":{\\\"match\\\":\\\"`[^`]+`\\\"},\\\"block-comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scala\\\"}},\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.empty.scala\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(/\\\\\\\\*\\\\\\\\*)(?!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scala\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scala\\\"}},\\\"name\\\":\\\"comment.block.documentation.scala\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.scaladoc.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.scala\\\"}},\\\"match\\\":\\\"(@param)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.scaladoc.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class\\\"}},\\\"match\\\":\\\"(@t(?:param|hrows))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.documentation.scaladoc.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.documentation.link.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.documentation.link.scala\\\"}},\\\"match\\\":\\\"(\\\\\\\\[\\\\\\\\[)([^]]+)(]])\\\"},{\\\"include\\\":\\\"#block-comments\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scala\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"}]}]},\\\"char-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character.begin.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character.end.scala\\\"}},\\\"match\\\":\\\"(')'(')\\\",\\\"name\\\":\\\"string.quoted.other constant.character.literal.scala\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character.begin.scala\\\"}},\\\"end\\\":\\\"'|$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character.end.scala\\\"}},\\\"name\\\":\\\"string.quoted.other constant.character.literal.scala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"'\\\\\\\\\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-character-escape.scala\\\"},{\\\"match\\\":\\\"[^']{2,}\\\",\\\"name\\\":\\\"invalid.illegal.character-literal-too-long\\\"},{\\\"match\\\":\\\"(?)\\\\\\\\s*(?:([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)))\\\\\\\\s*\\\"},{\\\"match\\\":\\\"\\\\\\\\b(given)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.export.given.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.export.given.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.export.scala\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.export.scala\\\"}},\\\"match\\\":\\\"(given\\\\\\\\s+)?(?:([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)))\\\"}]}]},\\\"extension\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.scala\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(extension)\\\\\\\\s+(?=[(\\\\\\\\[])\\\"}]},\\\"imports\\\":{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.scala\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\\n;])\\\",\\\"name\\\":\\\"meta.import.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b(given)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.import.given.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\s(as)\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.other.import.as.scala\\\"},{\\\"match\\\":\\\"[A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?\\\",\\\"name\\\":\\\"entity.name.class.import.scala\\\"},{\\\"match\\\":\\\"(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+))\\\",\\\"name\\\":\\\"entity.name.import.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.definition.import\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.scala\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.scala\\\"}},\\\"name\\\":\\\"meta.import.selector.scala\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.given.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.import.renamed-from.scala\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.import.renamed-from.scala\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.arrow.scala\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.class.import.renamed-to.scala\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.import.renamed-to.scala\\\"}},\\\"match\\\":\\\"(given\\\\\\\\s)?\\\\\\\\s*(?:([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)))\\\\\\\\s*(=>)\\\\\\\\s*(?:([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)))\\\\\\\\s*\\\"},{\\\"match\\\":\\\"\\\\\\\\b(given)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.import.given.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.given.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.import.scala\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.import.scala\\\"}},\\\"match\\\":\\\"(given\\\\\\\\s+)?(?:([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)|(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)))\\\"}]}]},\\\"inheritance\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class\\\"}},\\\"match\\\":\\\"\\\\\\\\b(extends|with|derives)\\\\\\\\b\\\\\\\\s*([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|`[^`]+`|(?=\\\\\\\\([^)]+=>)|(?=[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)|(?=\\\\\\\"))?\\\"}]},\\\"initialization\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.scala\\\"}},\\\"match\\\":\\\"\\\\\\\\b(new)\\\\\\\\b\\\"},\\\"inline\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(inline)(?=\\\\\\\\s+((?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)|`[^`]+`)\\\\\\\\s*:)\\\",\\\"name\\\":\\\"storage.modifier.other\\\"},{\\\"match\\\":\\\"\\\\\\\\b(inline)\\\\\\\\b(?=(?:.(?!\\\\\\\\b(?:val|def|given)\\\\\\\\b))*\\\\\\\\b(if|match)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.control.flow.scala\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(return|throw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.jump.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:class|isInstance|asInstance)Of)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.type-of.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\b(else|if|then|do|while|for|yield|match|case)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.scala\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*(end)\\\\\\\\s+(if|while|for|match)(?=\\\\\\\\s*(/(?:/.*|\\\\\\\\*(?!.*\\\\\\\\*/\\\\\\\\s*\\\\\\\\S.*).*))?$)\\\",\\\"name\\\":\\\"keyword.control.flow.end.scala\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*(end)\\\\\\\\s+(val)(?=\\\\\\\\s*(/(?:/.*|\\\\\\\\*(?!.*\\\\\\\\*/\\\\\\\\s*\\\\\\\\S.*).*))?$)\\\",\\\"name\\\":\\\"keyword.declaration.stable.end.scala\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*(end)\\\\\\\\s+(var)(?=\\\\\\\\s*(/(?:/.*|\\\\\\\\*(?!.*\\\\\\\\*/\\\\\\\\s*\\\\\\\\S.*).*))?$)\\\",\\\"name\\\":\\\"keyword.declaration.volatile.end.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.end.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.end.scala\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.declaration\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(end)\\\\\\\\s+(?:(new|extension)|([A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?))(?=\\\\\\\\s*(/(?:/.*|\\\\\\\\*(?!.*\\\\\\\\*/\\\\\\\\s*\\\\\\\\S.*).*))?$)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(catch|finally|try)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.scala\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*(end)\\\\\\\\s+(try)(?=\\\\\\\\s*(/(?:/.*|\\\\\\\\*(?!.*\\\\\\\\*/\\\\\\\\s*\\\\\\\\S.*).*))?$)\\\",\\\"name\\\":\\\"keyword.control.exception.end.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.end.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.declaration\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(end)\\\\\\\\s+(`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+))?(?=\\\\\\\\s*(/(?:/.*|\\\\\\\\*(?!.*\\\\\\\\*/\\\\\\\\s*\\\\\\\\S.*).*))?$)\\\"},{\\\"match\\\":\\\"([-!#%\\\\\\\\&*+/:<-@\\\\\\\\\\\\\\\\^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]){3,}\\\",\\\"name\\\":\\\"keyword.operator.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\|\\\\\\\\||&&)\\\",\\\"name\\\":\\\"keyword.operator.logical.scala\\\"},{\\\"match\\\":\\\"([!<=>]=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.scala\\\"},{\\\"match\\\":\\\"..\\\",\\\"name\\\":\\\"keyword.operator.scala\\\"}]}},\\\"match\\\":\\\"([-!#%\\\\\\\\&*+/:<-@\\\\\\\\\\\\\\\\^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]{2,}|_\\\\\\\\*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(!)\\\",\\\"name\\\":\\\"keyword.operator.logical.scala\\\"},{\\\"match\\\":\\\"([-%*+/~])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.scala\\\"},{\\\"match\\\":\\\"([<=>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.scala\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"keyword.operator.scala\\\"}]}},\\\"match\\\":\\\"(?:|<:\\\",\\\"name\\\":\\\"meta.bounds.scala\\\"},\\\"meta-brackets\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"punctuation.section.block.begin.scala\\\"},{\\\"match\\\":\\\"}\\\",\\\"name\\\":\\\"punctuation.section.block.end.scala\\\"},{\\\"match\\\":\\\"[]()\\\\\\\\[{}]\\\",\\\"name\\\":\\\"meta.bracket.scala\\\"}]},\\\"meta-colons\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+))(?!')\\\"},{\\\"match\\\":\\\"'(?=\\\\\\\\s*\\\\\\\\{(?!'))\\\",\\\"name\\\":\\\"keyword.control.flow.staging.scala\\\"},{\\\"match\\\":\\\"'(?=\\\\\\\\s*\\\\\\\\[(?!'))\\\",\\\"name\\\":\\\"keyword.control.flow.staging.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"keyword.control.flow.staging.scala\\\"}]},\\\"script-header\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.shebang.scala\\\"}},\\\"match\\\":\\\"^#!(.*)$\\\",\\\"name\\\":\\\"comment.block.shebang.scala\\\"},\\\"singleton-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.scala\\\"}},\\\"match\\\":\\\"\\\\\\\\.(type)(?![$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[0-9])\\\"},\\\"storage-modifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(pr(?:ivate\\\\\\\\[\\\\\\\\S+]|otected\\\\\\\\[\\\\\\\\S+]|ivate|otected))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.access\\\"},{\\\"match\\\":\\\"\\\\\\\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.other\\\"},{\\\"match\\\":\\\"(?<=^|\\\\\\\\s)\\\\\\\\b(transparent|opaque|infix|open|inline)\\\\\\\\b(?=[a-z\\\\\\\\s]*\\\\\\\\b(def|val|var|given|type|class|trait|object|enum)\\\\\\\\b)\\\",\\\"name\\\":\\\"storage.modifier.other\\\"}]},\\\"string-interpolation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\$\\\",\\\"name\\\":\\\"constant.character.escape.interpolation.scala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.scala\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*)\\\",\\\"name\\\":\\\"meta.template.expression.scala\\\"},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.scala\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.scala\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.scala\\\"}},\\\"name\\\":\\\"meta.template.expression.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scala\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"(?!\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scala\\\"}},\\\"name\\\":\\\"string.quoted.triple.scala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(raw)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.interpolation.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")(?!\\\\\\\")|\\\\\\\\$\\\\\\\\n|(\\\\\\\\$[^\\\\\\\"$A-Z_a-{\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.scala\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[\\\\\\\"$]\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.quoted.triple.interpolated.scala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b([$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.interpolation.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")(?!\\\\\\\")|\\\\\\\\$\\\\\\\\n|(\\\\\\\\$[^\\\\\\\"$A-Z_a-{\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.scala\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.quoted.triple.interpolated.scala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scala\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scala\\\"}},\\\"name\\\":\\\"string.quoted.double.scala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"'\\\\\\\\\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.scala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(raw)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.interpolation.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala\\\"}},\\\"end\\\":\\\"(\\\\\\\")|\\\\\\\\$\\\\\\\\n|(\\\\\\\\$[^\\\\\\\"$A-Z_a-{\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.scala\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[\\\\\\\"$]\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.quoted.double.interpolated.scala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b([$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.interpolation.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala\\\"}},\\\"end\\\":\\\"(\\\\\\\")|\\\\\\\\$\\\\\\\\n|(\\\\\\\\$[^\\\\\\\"$A-Z_a-{\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.scala\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[\\\\\\\"$]\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"'\\\\\\\\\\\\\\\\bfnrt]|[0-7]{1,3}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.scala\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.quoted.double.interpolated.scala\\\"}]}]},\\\"using\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.scala\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\()\\\\\\\\s*(using)\\\\\\\\s\\\"}]},\\\"using-directive\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(//>)\\\\\\\\s*(using)[^\\\\\\\\n\\\\\\\\S]+(\\\\\\\\S+)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scala\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.import.scala\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z\\\\\\\\p{Lt}\\\\\\\\p{Lu}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|`[^`]+`|(?:[$A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}][$0-9A-Z_a-z\\\\\\\\p{Lt}\\\\\\\\p{Lu}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Ll}]*(?:(?<=_)[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)?|[-!#%\\\\\\\\&*+/:<-@^|~\\\\\\\\p{Sm}\\\\\\\\p{So}]+)\\\",\\\"name\\\":\\\"entity.name.import.scala\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.definition.import\\\"}]}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.shebang.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"match\\\":\\\"[^,\\\\\\\\s]+\\\",\\\"name\\\":\\\"string.quoted.double.scala\\\"}]},\\\"xml-doublequotedString\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.double.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-entity\\\"}]},\\\"xml-embedded-content\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.scala\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.source.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.localname.xml\\\"}},\\\"match\\\":\\\" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Z_a-z]+)=\\\"},{\\\"include\\\":\\\"#xml-doublequotedString\\\"},{\\\"include\\\":\\\"#xml-singlequotedString\\\"}]},\\\"xml-entity\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"match\\\":\\\"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.xml\\\"},\\\"xml-literal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)((?:([0-9A-Z_a-z][0-9A-Z_a-z]*)((:)))?([0-9A-Z_a-z][-0-:A-Z_a-z]*))(?=(\\\\\\\\s[^>]*)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"}},\\\"end\\\":\\\"(>(<))/(?:([-0-9A-Z_a-z]+)((:)))?([-0-:A-Z_a-z]*[0-9A-Z_a-z])(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.scope.between-tag-pair.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"}},\\\"name\\\":\\\"meta.tag.no-content.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-embedded-content\\\"}]},{\\\"begin\\\":\\\"(]*?>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"name\\\":\\\"meta.tag.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-embedded-content\\\"}]},{\\\"include\\\":\\\"#xml-entity\\\"}]},\\\"xml-singlequotedString\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.single.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-entity\\\"}]}},\\\"scopeName\\\":\\\"source.scala\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "scala" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,op4BAAq/8B,CAAC,EAE7g9BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C2t-YnRu.js b/src/webview-ui/build/assets/chunk-C2t-YnRu.js new file mode 100644 index 0000000000..2e75a2a2dc --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C2t-YnRu.js @@ -0,0 +1,8 @@ +const n = Object.freeze( + JSON.parse( + `{"displayName":"JSSM","fileTypes":["jssm","jssm_state"],"name":"jssm","patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.mn"}},"end":"\\\\*/","name":"comment.block.jssm"},{"begin":"//","end":"$","name":"comment.line.jssm"},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"entity.name.function"}},"end":"}","name":"keyword.other"},{"match":"([0-9]*)(\\\\.)([0-9]*)(\\\\.)([0-9]*)","name":"constant.numeric"},{"match":"graph_layout(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"machine_name(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"machine_version(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"jssm_version(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"<->","name":"keyword.control.transition.jssmArrow.legal_legal"},{"match":"<-","name":"keyword.control.transition.jssmArrow.legal_none"},{"match":"->","name":"keyword.control.transition.jssmArrow.none_legal"},{"match":"<=>","name":"keyword.control.transition.jssmArrow.main_main"},{"match":"=>","name":"keyword.control.transition.jssmArrow.none_main"},{"match":"<=","name":"keyword.control.transition.jssmArrow.main_none"},{"match":"<~>","name":"keyword.control.transition.jssmArrow.forced_forced"},{"match":"~>","name":"keyword.control.transition.jssmArrow.none_forced"},{"match":"<~","name":"keyword.control.transition.jssmArrow.forced_none"},{"match":"<-=>","name":"keyword.control.transition.jssmArrow.legal_main"},{"match":"<=->","name":"keyword.control.transition.jssmArrow.main_legal"},{"match":"<-~>","name":"keyword.control.transition.jssmArrow.legal_forced"},{"match":"<~->","name":"keyword.control.transition.jssmArrow.forced_legal"},{"match":"<=~>","name":"keyword.control.transition.jssmArrow.main_forced"},{"match":"<~=>","name":"keyword.control.transition.jssmArrow.forced_main"},{"match":"([0-9]+)%","name":"constant.numeric.jssmProbability"},{"match":"'[^']*'","name":"constant.character.jssmAction"},{"match":"\\"[^\\"]*\\"","name":"entity.name.tag.jssmLabel.doublequoted"},{"match":"([!#\\\\&()+,.0-9?-Z_a-z])","name":"entity.name.tag.jssmLabel.atom"}],"scopeName":"source.jssm","aliases":["fsl"]}`, + ), + ), + a = [n] +export { a as default } +//# sourceMappingURL=chunk-C2t-YnRu.js.map diff --git a/src/webview-ui/build/assets/chunk-C2t-YnRu.js.map b/src/webview-ui/build/assets/chunk-C2t-YnRu.js.map new file mode 100644 index 0000000000..1a848e730e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C2t-YnRu.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C2t-YnRu.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jssm.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSSM\\\",\\\"fileTypes\\\":[\\\"jssm\\\",\\\"jssm_state\\\"],\\\"name\\\":\\\"jssm\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.mn\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.jssm\\\"},{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.jssm\\\"},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"keyword.other\\\"},{\\\"match\\\":\\\"([0-9]*)(\\\\\\\\.)([0-9]*)(\\\\\\\\.)([0-9]*)\\\",\\\"name\\\":\\\"constant.numeric\\\"},{\\\"match\\\":\\\"graph_layout(\\\\\\\\s*)(:)\\\",\\\"name\\\":\\\"constant.language.jssmLanguage\\\"},{\\\"match\\\":\\\"machine_name(\\\\\\\\s*)(:)\\\",\\\"name\\\":\\\"constant.language.jssmLanguage\\\"},{\\\"match\\\":\\\"machine_version(\\\\\\\\s*)(:)\\\",\\\"name\\\":\\\"constant.language.jssmLanguage\\\"},{\\\"match\\\":\\\"jssm_version(\\\\\\\\s*)(:)\\\",\\\"name\\\":\\\"constant.language.jssmLanguage\\\"},{\\\"match\\\":\\\"<->\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.legal_legal\\\"},{\\\"match\\\":\\\"<-\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.legal_none\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.none_legal\\\"},{\\\"match\\\":\\\"<=>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.main_main\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.none_main\\\"},{\\\"match\\\":\\\"<=\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.main_none\\\"},{\\\"match\\\":\\\"<~>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.forced_forced\\\"},{\\\"match\\\":\\\"~>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.none_forced\\\"},{\\\"match\\\":\\\"<~\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.forced_none\\\"},{\\\"match\\\":\\\"<-=>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.legal_main\\\"},{\\\"match\\\":\\\"<=->\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.main_legal\\\"},{\\\"match\\\":\\\"<-~>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.legal_forced\\\"},{\\\"match\\\":\\\"<~->\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.forced_legal\\\"},{\\\"match\\\":\\\"<=~>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.main_forced\\\"},{\\\"match\\\":\\\"<~=>\\\",\\\"name\\\":\\\"keyword.control.transition.jssmArrow.forced_main\\\"},{\\\"match\\\":\\\"([0-9]+)%\\\",\\\"name\\\":\\\"constant.numeric.jssmProbability\\\"},{\\\"match\\\":\\\"'[^']*'\\\",\\\"name\\\":\\\"constant.character.jssmAction\\\"},{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\"]*\\\\\\\"\\\",\\\"name\\\":\\\"entity.name.tag.jssmLabel.doublequoted\\\"},{\\\"match\\\":\\\"([!#\\\\\\\\&()+,.0-9?-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.tag.jssmLabel.atom\\\"}],\\\"scopeName\\\":\\\"source.jssm\\\",\\\"aliases\\\":[\\\"fsl\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "jssm" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,8nEAA64E,CAAC,EAEr6EC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C2tOF0e5.js b/src/webview-ui/build/assets/chunk-C2tOF0e5.js new file mode 100644 index 0000000000..68d5a47fad --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C2tOF0e5.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"R","name":"r","patterns":[{"include":"#roxygen"},{"include":"#comments"},{"include":"#constants"},{"include":"#accessor"},{"include":"#operators"},{"include":"#keywords"},{"include":"#storage-type"},{"include":"#strings"},{"include":"#brackets"},{"include":"#function-declarations"},{"include":"#lambda-functions"},{"include":"#builtin-functions"},{"include":"#function-calls"}],"repository":{"accessor":{"patterns":[{"begin":"(\\\\$)(?=[.A-Z_a-z][.\\\\w]*|`[^`]+`)","beginCaptures":{"1":{"name":"keyword.accessor.dollar.r"}},"end":"(?!\\\\G)","endCaptures":{},"patterns":[{"include":"#function-calls"}]}]},"brackets":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.r"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.r"}},"patterns":[{"include":"source.r"}]},{"begin":"\\\\[(?!\\\\[)","beginCaptures":{"0":{"name":"punctuation.section.brackets.single.begin.r"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.single.end.r"}},"patterns":[{"include":"source.r"}]},{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.double.begin.r"}},"contentName":"meta.item-access.arguments.r","end":"]]","endCaptures":{"0":{"name":"punctuation.section.brackets.double.end.r"}},"patterns":[{"include":"source.r"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.r"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.r"}},"patterns":[{"include":"source.r"}]}]},"builtin-functions":{"patterns":[{"begin":"\\\\b(abbreviate|abs|acosh??|activeBindingFunction|addNA|addTaskCallback|agrepl??|alist|all|all\\\\.equal|all\\\\.equal\\\\.character|all\\\\.equal\\\\.default|all\\\\.equal\\\\.environment|all\\\\.equal\\\\.envRefClass|all\\\\.equal\\\\.factor|all\\\\.equal\\\\.formula|all\\\\.equal\\\\.function|all\\\\.equal\\\\.language|all\\\\.equal\\\\.list|all\\\\.equal\\\\.numeric|all\\\\.equal\\\\.POSIXt|all\\\\.equal\\\\.raw|all\\\\.names|allowInterrupts|all\\\\.vars|any|anyDuplicated|anyDuplicated\\\\.array|anyDuplicated\\\\.data\\\\.frame|anyDuplicated\\\\.default|anyDuplicated\\\\.matrix|anyNA|anyNA\\\\.data\\\\.frame|anyNA\\\\.numeric_version|anyNA\\\\.POSIXlt|aperm|aperm\\\\.default|aperm\\\\.table|append|apply|Arg|args|array|arrayInd|as\\\\.array|as\\\\.array\\\\.default|as\\\\.call|as\\\\.character|as\\\\.character\\\\.condition|as\\\\.character\\\\.Date|as\\\\.character\\\\.default|as\\\\.character\\\\.error|as\\\\.character\\\\.factor|as\\\\.character\\\\.hexmode|as\\\\.character\\\\.numeric_version|as\\\\.character\\\\.octmode|as\\\\.character\\\\.POSIXt|as\\\\.character\\\\.srcref|as\\\\.complex|as\\\\.data\\\\.frame|as\\\\.data\\\\.frame\\\\.array|as\\\\.data\\\\.frame\\\\.AsIs|as\\\\.data\\\\.frame\\\\.character|as\\\\.data\\\\.frame\\\\.complex|as\\\\.data\\\\.frame\\\\.data\\\\.frame|as\\\\.data\\\\.frame\\\\.Date|as\\\\.data\\\\.frame\\\\.default|as\\\\.data\\\\.frame\\\\.difftime|as\\\\.data\\\\.frame\\\\.factor|as\\\\.data\\\\.frame\\\\.integer|as\\\\.data\\\\.frame\\\\.list|as\\\\.data\\\\.frame\\\\.logical|as\\\\.data\\\\.frame\\\\.matrix|as\\\\.data\\\\.frame\\\\.model\\\\.matrix|as\\\\.data\\\\.frame\\\\.noquote|as\\\\.data\\\\.frame\\\\.numeric|as\\\\.data\\\\.frame\\\\.numeric_version|as\\\\.data\\\\.frame\\\\.ordered|as\\\\.data\\\\.frame\\\\.POSIXct|as\\\\.data\\\\.frame\\\\.POSIXlt|as\\\\.data\\\\.frame\\\\.raw|as\\\\.data\\\\.frame\\\\.table|as\\\\.data\\\\.frame\\\\.ts|as\\\\.data\\\\.frame\\\\.vector|as\\\\.Date|as\\\\.Date\\\\.character|as\\\\.Date\\\\.default|as\\\\.Date\\\\.factor|as\\\\.Date\\\\.numeric|as\\\\.Date\\\\.POSIXct|as\\\\.Date\\\\.POSIXlt|as\\\\.difftime|as\\\\.double|as\\\\.double\\\\.difftime|as\\\\.double\\\\.POSIXlt|as\\\\.environment|as\\\\.expression|as\\\\.expression\\\\.default|as\\\\.factor|as\\\\.function|as\\\\.function\\\\.default|as\\\\.hexmode|asinh??|as\\\\.integer|as\\\\.list|as\\\\.list\\\\.data\\\\.frame|as\\\\.list\\\\.Date|as\\\\.list\\\\.default|as\\\\.list\\\\.difftime|as\\\\.list\\\\.environment|as\\\\.list\\\\.factor|as\\\\.list\\\\.function|as\\\\.list\\\\.numeric_version|as\\\\.list\\\\.POSIXct|as\\\\.list\\\\.POSIXlt|as\\\\.logical|as\\\\.logical\\\\.factor|as\\\\.matrix|as\\\\.matrix\\\\.data\\\\.frame|as\\\\.matrix\\\\.default|as\\\\.matrix\\\\.noquote|as\\\\.matrix\\\\.POSIXlt|as\\\\.name|asNamespace|as\\\\.null|as\\\\.null\\\\.default|as\\\\.numeric|as\\\\.numeric_version|as\\\\.octmode|as\\\\.ordered|as\\\\.package_version|as\\\\.pairlist|asplit|as\\\\.POSIXct|as\\\\.POSIXct\\\\.Date|as\\\\.POSIXct\\\\.default|as\\\\.POSIXct\\\\.numeric|as\\\\.POSIXct\\\\.POSIXlt|as\\\\.POSIXlt|as\\\\.POSIXlt\\\\.character|as\\\\.POSIXlt\\\\.Date|as\\\\.POSIXlt\\\\.default|as\\\\.POSIXlt\\\\.factor|as\\\\.POSIXlt\\\\.numeric|as\\\\.POSIXlt\\\\.POSIXct|as\\\\.qr|as\\\\.raw|asS3|asS4|assign|as\\\\.single|as\\\\.single\\\\.default|as\\\\.symbol|as\\\\.table|as\\\\.table\\\\.default|as\\\\.vector|as\\\\.vector\\\\.factor|atan2??|atanh|attach|attachNamespace|attr|attr\\\\.all\\\\.equal|attributes|autoload|autoloader|backsolve|baseenv|basename|besselI|besselJ|besselK|besselY|beta|bindingIsActive|bindingIsLocked|bindtextdomain|bitwAnd|bitwNot|bitwOr|bitwShiftL|bitwShiftR|bitwXor|body|bquote|break|browser|browserCondition|browserSetDebug|browserText|builtins|by|by\\\\.data\\\\.frame|by\\\\.default|bzfile|c|call|callCC|capabilities|casefold|cat|cbind|cbind\\\\.data\\\\.frame|c\\\\.Date|c\\\\.difftime|ceiling|c\\\\.factor|character|char\\\\.expand|charmatch|charToRaw|chartr|check_tzones|chkDots|chol|chol2inv|chol\\\\.default|choose|class|clearPushBack|close|closeAllConnections|close\\\\.connection|close\\\\.srcfile|close\\\\.srcfilealias|c\\\\.noquote|c\\\\.numeric_version|col|colMeans|colnames|colSums|commandArgs|comment|complex|computeRestarts|conditionCall|conditionCall\\\\.condition|conditionMessage|conditionMessage\\\\.condition|conflictRules|conflicts|Conj|contributors|cosh??|cospi|c\\\\.POSIXct|c\\\\.POSIXlt|crossprod|Cstack_info|cummax|cummin|cumprod|cumsum|curlGetHeaders|cut|cut\\\\.Date|cut\\\\.default|cut\\\\.POSIXt|c\\\\.warnings|data\\\\.class|data\\\\.frame|data\\\\.matrix|date|debug|debuggingState|debugonce|default\\\\.stringsAsFactors|delayedAssign|deparse1??|det|detach|determinant|determinant\\\\.matrix|dget|diag|diff|diff\\\\.Date|diff\\\\.default|diff\\\\.difftime|diff\\\\.POSIXt|difftime|digamma|dim|dim\\\\.data\\\\.frame|dimnames|dimnames\\\\.data\\\\.frame|dir|dir\\\\.create|dir\\\\.exists|dirname|do\\\\.call|dontCheck|double|dput|dQuote|drop|droplevels|droplevels\\\\.data\\\\.frame|droplevels\\\\.factor|dump|duplicated|duplicated\\\\.array|duplicated\\\\.data\\\\.frame|duplicated\\\\.default|duplicated\\\\.matrix|duplicated\\\\.numeric_version|duplicated\\\\.POSIXlt|duplicated\\\\.warnings|dynGet|dyn\\\\.load|dyn\\\\.unload|eapply|eigen|emptyenv|enc2native|enc2utf8|encodeString|Encoding|endsWith|enquote|environment|environmentIsLocked|environmentName|env\\\\.profile|errorCondition|eval|eval\\\\.parent|evalq|exists|exp|expand\\\\.grid|expm1|expression|extSoftVersion|factor|factorial|fifo|file|file\\\\.access|file\\\\.append|file\\\\.choose|file\\\\.copy|file\\\\.create|file\\\\.exists|file\\\\.info|file\\\\.link|file\\\\.mode|file\\\\.mtime|file\\\\.path|file\\\\.remove|file\\\\.rename|file\\\\.show|file\\\\.size|file\\\\.symlink|Filter|Find|findInterval|find\\\\.package|findPackageEnv|findRestart|floor|flush|flush\\\\.connection|for|force|forceAndCall|formals|format|format\\\\.AsIs|formatC|format\\\\.data\\\\.frame|format\\\\.Date|format\\\\.default|format\\\\.difftime|formatDL|format\\\\.factor|format\\\\.hexmode|format\\\\.info|format\\\\.libraryIQR|format\\\\.numeric_version|format\\\\.octmode|format\\\\.packageInfo|format\\\\.POSIXct|format\\\\.POSIXlt|format\\\\.pval|format\\\\.summaryDefault|forwardsolve|function|gamma|gc|gcinfo|gc\\\\.time|gctorture2??|get0??|getAllConnections|getCallingDLLe??|getConnection|getDLLRegisteredRoutines|getDLLRegisteredRoutines\\\\.character|getDLLRegisteredRoutines\\\\.DLLInfo|getElement|geterrmessage|getExportedValue|getHook|getLoadedDLLs|getNamespace|getNamespaceExports|getNamespaceImports|getNamespaceInfo|getNamespaceName|getNamespaceUsers|getNamespaceVersion|getNativeSymbolInfo|getOption|getRversion|getSrcLines|getTaskCallbackNames|gettextf??|getwd|gl|globalCallingHandlers|globalenv|gregexec|gregexpr|grepl??|grepRaw|grouping|gsub|gzcon|gzfile|I|iconv|iconvlist|icuGetCollate|icuSetCollate|identical|identity|if|ifelse|Im|importIntoEnv|infoRDS|inherits|integer|interaction|interactive|intersect|intToBits|intToUtf8|inverse\\\\.rle|invisible|invokeRestart|invokeRestartInteractively|isa|is\\\\.array|is\\\\.atomic|isatty|isBaseNamespace|is\\\\.call|is\\\\.character|is\\\\.complex|is\\\\.data\\\\.frame|isdebugged|is\\\\.double|is\\\\.element|is\\\\.environment|is\\\\.expression|is\\\\.factor|isFALSE|is\\\\.finite|is\\\\.function|isIncomplete|is\\\\.infinite|is\\\\.integer|is\\\\.language|is\\\\.list|is\\\\.loaded|is\\\\.logical|is\\\\.matrix|is\\\\.na|is\\\\.na\\\\.data\\\\.frame|is\\\\.name|isNamespace|isNamespaceLoaded|is\\\\.nan|is\\\\.na\\\\.numeric_version|is\\\\.na\\\\.POSIXlt|is\\\\.null|is\\\\.numeric|is\\\\.numeric\\\\.Date|is\\\\.numeric\\\\.difftime|is\\\\.numeric\\\\.POSIXt|is\\\\.numeric_version|is\\\\.object|ISOdate|ISOdatetime|isOpen|is\\\\.ordered|is\\\\.package_version|is\\\\.pairlist|is\\\\.primitive|is\\\\.qr|is\\\\.R|is\\\\.raw|is\\\\.recursive|isRestart|isS4|isSeekable|is\\\\.single|is\\\\.symbol|isSymmetric|isSymmetric\\\\.matrix|is\\\\.table|isTRUE|is\\\\.unsorted|is\\\\.vector|jitter|julian|julian\\\\.Date|julian\\\\.POSIXt|kappa|kappa\\\\.default|kappa\\\\.lm|kappa\\\\.qr|kronecker|l10n_info|labels|labels\\\\.default|La_library|lapply|La\\\\.svd|La_version|lazyLoad|lazyLoadDBexec|lazyLoadDBfetch|lbeta|lchoose|length|length\\\\.POSIXlt|lengths|levels|levels\\\\.default|lfactorial|lgamma|libcurlVersion|library|library\\\\.dynam|library\\\\.dynam\\\\.unload|licence|license|list|list2DF|list2env|list\\\\.dirs|list\\\\.files|load|loadedNamespaces|loadingNamespaceInfo|loadNamespace|local|lockBinding|lockEnvironment|log|log10|log1p|log2|logb|logical|lower\\\\.tri|ls|makeActiveBinding|make\\\\.names|make\\\\.unique|Map|mapply|marginSums|margin\\\\.table|match|match\\\\.arg|match\\\\.call|match\\\\.fun|Math\\\\.data\\\\.frame|Math\\\\.Date|Math\\\\.difftime|Math\\\\.factor|Math\\\\.POSIXt|mat\\\\.or\\\\.vec|matrix|max|max\\\\.col|mean|mean\\\\.Date|mean\\\\.default|mean\\\\.difftime|mean\\\\.POSIXct|mean\\\\.POSIXlt|memCompress|memDecompress|mem\\\\.maxNSize|mem\\\\.maxVSize|memory\\\\.profile|merge|merge\\\\.data\\\\.frame|merge\\\\.default|message|mget|min|missing|Mod|mode|months|months\\\\.Date|months\\\\.POSIXt|names|namespaceExport|namespaceImport|namespaceImportClasses|namespaceImportFrom|namespaceImportMethods|names\\\\.POSIXlt|nargs|nchar|ncol|NCOL|Negate|new\\\\.env|next|NextMethod|ngettext|nlevels|noquote|norm|normalizePath|nrow|NROW|nullfile|numeric|numeric_version|numToBits|numToInts|nzchar|objects|oldClass|OlsonNames|on\\\\.exit|open|open\\\\.connection|open\\\\.srcfile|open\\\\.srcfilealias|open\\\\.srcfilecopy|Ops\\\\.data\\\\.frame|Ops\\\\.Date|Ops\\\\.difftime|Ops\\\\.factor|Ops\\\\.numeric_version|Ops\\\\.ordered|Ops\\\\.POSIXt|options|order|ordered|outer|packageEvent|packageHasNamespace|packageNotFoundError|packageStartupMessage|package_version|packBits|pairlist|parent\\\\.env|parent\\\\.frame|parse|parseNamespaceFile|paste0??|path\\\\.expand|path\\\\.package|pcre_config|pi|pipe|plot|pmatch|pmax|pmax\\\\.int|pmin|pmin\\\\.int|polyroot|Position|pos\\\\.to\\\\.env|pretty|pretty\\\\.default|prettyNum|print|print\\\\.AsIs|print\\\\.by|print\\\\.condition|print\\\\.connection|print\\\\.data\\\\.frame|print\\\\.Date|print\\\\.default|print\\\\.difftime|print\\\\.Dlist|print\\\\.DLLInfo|print\\\\.DLLInfoList|print\\\\.DLLRegisteredRoutines|print\\\\.eigen|print\\\\.factor|print\\\\.function|print\\\\.hexmode|print\\\\.libraryIQR|print\\\\.listof|print\\\\.NativeRoutineList|print\\\\.noquote|print\\\\.numeric_version|print\\\\.octmode|print\\\\.packageInfo|print\\\\.POSIXct|print\\\\.POSIXlt|print\\\\.proc_time|print\\\\.restart|print\\\\.rle|print\\\\.simple\\\\.list|print\\\\.srcfile|print\\\\.srcref|print\\\\.summaryDefault|print\\\\.summary\\\\.table|print\\\\.summary\\\\.warnings|print\\\\.table|print\\\\.warnings|prmatrix|proc\\\\.time|prod|proportions|prop\\\\.table|provideDimnames|psigamma|pushBack|pushBackLength|qr??|qr\\\\.coef|qr\\\\.default|qr\\\\.fitted|qr\\\\.Q|qr\\\\.qty|qr\\\\.qy|qr\\\\.R|qr\\\\.resid|qr\\\\.solve|qr\\\\.X|quarters|quarters\\\\.Date|quarters\\\\.POSIXt|quit|quote|range|range\\\\.default|rank|rapply|raw|rawConnection|rawConnectionValue|rawShift|rawToBits|rawToChar|rbind|rbind\\\\.data\\\\.frame|rcond|Re|readBin|readChar|read\\\\.dcf|readline|readLines|readRDS|readRenviron|Recall|Reduce|regexec|regexpr|reg\\\\.finalizer|registerS3methods??|regmatches|remove|removeTaskCallback|rep|rep\\\\.Date|rep\\\\.difftime|repeat|rep\\\\.factor|rep\\\\.int|replace|rep_len|replicate|rep\\\\.numeric_version|rep\\\\.POSIXct|rep\\\\.POSIXlt|require|requireNamespace|restartDescription|restartFormals|retracemem|return|returnValue|rev|rev\\\\.default|R\\\\.home|rle|rm|RNGkind|RNGversion|round|round\\\\.Date|round\\\\.POSIXt|row|rowMeans|rownames|row\\\\.names|row\\\\.names\\\\.data\\\\.frame|row\\\\.names\\\\.default|rowsum|rowsum\\\\.data\\\\.frame|rowsum\\\\.default|rowSums|R_system_version|R\\\\.version|R\\\\.Version|R\\\\.version\\\\.string|sample|sample\\\\.int|sapply|save|save\\\\.image|saveRDS|scale|scale\\\\.default|scan|search|searchpaths|seek|seek\\\\.connection|seq|seq_along|seq\\\\.Date|seq\\\\.default|seq\\\\.int|seq_len|seq\\\\.POSIXt|sequence|sequence\\\\.default|serialize|serverSocket|setdiff|setequal|setHook|setNamespaceInfo|set\\\\.seed|setSessionTimeLimit|setTimeLimit|setwd|showConnections|shQuote|sign|signalCondition|signif|simpleCondition|simpleError|simpleMessage|simpleWarning|simplify2array|sin|single|sinh|sink|sink\\\\.number|sinpi|slice\\\\.index|socketAccept|socketConnection|socketSelect|socketTimeout|solve|solve\\\\.default|solve\\\\.qr|sort|sort\\\\.default|sort\\\\.int|sort\\\\.list|sort\\\\.POSIXlt|source|split|split\\\\.data\\\\.frame|split\\\\.Date|split\\\\.default|split\\\\.POSIXct|sprintf|sqrt|sQuote|srcfile|srcfilealias|srcfilecopy|srcref|standardGeneric|startsWith|stderr|stdin|stdout|stop|stopifnot|storage\\\\.mode|str2expression|str2lang|strftime|strptime|strrep|strsplit|strtoi|strtrim|structure|strwrap|sub|subset|subset\\\\.data\\\\.frame|subset\\\\.default|subset\\\\.matrix|substitute|substr|substring|sum|summary|summary\\\\.connection|summary\\\\.data\\\\.frame|Summary\\\\.data\\\\.frame|summary\\\\.Date|Summary\\\\.Date|summary\\\\.default|Summary\\\\.difftime|summary\\\\.factor|Summary\\\\.factor|summary\\\\.matrix|Summary\\\\.numeric_version|Summary\\\\.ordered|summary\\\\.POSIXct|Summary\\\\.POSIXct|summary\\\\.POSIXlt|Summary\\\\.POSIXlt|summary\\\\.proc_time|summary\\\\.srcfile|summary\\\\.srcref|summary\\\\.table|summary\\\\.warnings|suppressMessages|suppressPackageStartupMessages|suppressWarnings|suspendInterrupts|svd|sweep|switch|sys\\\\.calls??|Sys\\\\.chmod|Sys\\\\.Date|sys\\\\.frames??|sys\\\\.function|Sys\\\\.getenv|Sys\\\\.getlocale|Sys\\\\.getpid|Sys\\\\.glob|Sys\\\\.info|sys\\\\.load\\\\.image|Sys\\\\.localeconv|sys\\\\.nframe|sys\\\\.on\\\\.exit|sys\\\\.parents??|Sys\\\\.readlink|sys\\\\.save\\\\.image|Sys\\\\.setenv|Sys\\\\.setFileTime|Sys\\\\.setlocale|Sys\\\\.sleep|sys\\\\.source|sys\\\\.status|system2??|system\\\\.file|system\\\\.time|Sys\\\\.time|Sys\\\\.timezone|Sys\\\\.umask|Sys\\\\.unsetenv|Sys\\\\.which|t|table|tabulate|tanh??|tanpi|tapply|taskCallbackManager|tcrossprod|t\\\\.data\\\\.frame|t\\\\.default|tempdir|tempfile|textConnection|textConnectionValue|tolower|topenv|toString|toString\\\\.default|toupper|trace|traceback|tracemem|tracingState|transform|transform\\\\.data\\\\.frame|transform\\\\.default|trigamma|trimws|trunc|truncate|truncate\\\\.connection|trunc\\\\.Date|trunc\\\\.POSIXt|try|tryCatch|tryInvokeRestart|typeof|unclass|undebug|union|unique|unique\\\\.array|unique\\\\.data\\\\.frame|unique\\\\.default|unique\\\\.matrix|unique\\\\.numeric_version|unique\\\\.POSIXlt|unique\\\\.warnings|units|units\\\\.difftime|unix\\\\.time|unlink|unlist|unloadNamespace|unlockBinding|unname|unserialize|unsplit|untrace|untracemem|unz|upper\\\\.tri|url|UseMethod|utf8ToInt|validEnc|validUTF8|vapply|vector|Vectorize|version|warning|warningCondition|warnings|weekdays|weekdays\\\\.Date|weekdays\\\\.POSIXt|which|which\\\\.max|which\\\\.min|while|with|withAutoprint|withCallingHandlers|with\\\\.default|within|within\\\\.data\\\\.frame|within\\\\.list|withRestarts|withVisible|write|writeBin|writeChar|write\\\\.dcf|writeLines|xor|xpdrows\\\\.data\\\\.frame|xtfrm|xtfrm\\\\.AsIs|xtfrm\\\\.data\\\\.frame|xtfrm\\\\.Date|xtfrm\\\\.default|xtfrm\\\\.difftime|xtfrm\\\\.factor|xtfrm\\\\.numeric_version|xtfrm\\\\.POSIXct|xtfrm\\\\.POSIXlt|xzfile|zapsmall)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]},{"begin":"\\\\b(abline|arrows|assocplot|axis|Axis|axis\\\\.Date|axis\\\\.POSIXct|axTicks|barplot|barplot\\\\.default|box|boxplot|boxplot\\\\.default|boxplot\\\\.matrix|bxp|cdplot|clip|close\\\\.screen|co\\\\.intervals|contour|contour\\\\.default|coplot|curve|dotchart|erase\\\\.screen|filled\\\\.contour|fourfoldplot|frame|grconvertX|grconvertY|grid|hist|hist\\\\.default|identify|image|image\\\\.default|layout|layout\\\\.show|lcm|legend|lines|lines\\\\.default|locator|matlines|matplot|matpoints|mosaicplot|mtext|pairs|pairs\\\\.default|panel\\\\.smooth|par|persp|pie|plot|plot\\\\.default|plot\\\\.design|plot\\\\.function|plot\\\\.new|plot\\\\.window|plot\\\\.xy|points|points\\\\.default|polygon|polypath|rasterImage|rect|rug|screen|segments|smoothScatter|spineplot|split\\\\.screen|stars|stem|strheight|stripchart|strwidth|sunflowerplot|symbols|text|text\\\\.default|title|xinch|xspline|xyinch|yinch)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]},{"begin":"\\\\b(adjustcolor|as\\\\.graphicsAnnot|as\\\\.raster|axisTicks|bitmap|blues9|bmp|boxplot\\\\.stats|cairo_pdf|cairo_ps|cairoSymbolFont|check\\\\.options|chull|CIDFont|cm|cm\\\\.colors|col2rgb|colorConverter|colorRamp|colorRampPalette|colors|colorspaces|colours|contourLines|convertColor|densCols|dev2bitmap|devAskNewPage|dev\\\\.capabilities|dev\\\\.capture|dev\\\\.control|dev\\\\.copy|dev\\\\.copy2eps|dev\\\\.copy2pdf|dev\\\\.cur|dev\\\\.flush|dev\\\\.hold|deviceIsInteractive|dev\\\\.interactive|dev\\\\.list|dev\\\\.new|dev\\\\.next|dev\\\\.off|dev\\\\.prev|dev\\\\.print|dev\\\\.set|dev\\\\.size|embedFonts|extendrange|getGraphicsEvent|getGraphicsEventEnv|graphics\\\\.off|gray|gray\\\\.colors|grey|grey\\\\.colors|grSoftVersion|hcl|hcl\\\\.colors|hcl\\\\.pals|heat\\\\.colors|Hershey|hsv|is\\\\.raster|jpeg|make\\\\.rgb|n2mfrow|nclass\\\\.FD|nclass\\\\.scott|nclass\\\\.Sturges|palette|palette\\\\.colors|palette\\\\.pals|pdf|pdfFonts|pdf\\\\.options|pictex|png|postscript|postscriptFonts|ps\\\\.options|quartz|quartzFonts??|quartz\\\\.options|quartz\\\\.save|rainbow|recordGraphics|recordPlot|replayPlot|rgb|rgb2hsv|savePlot|setEPS|setGraphicsEventEnv|setGraphicsEventHandlers|setPS|svg|terrain\\\\.colors|tiff|topo\\\\.colors|trans3d|Type1Font|x11|X11|X11Fonts??|X11\\\\.options|xfig|xy\\\\.coords|xyTable|xyz\\\\.coords)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]},{"begin":"\\\\b(addNextMethod|allNames|Arith|as|asMethodDefinition|assignClassDef|assignMethodsMetaData|balanceMethodsList|cacheGenericsMetaData|cacheMetaData|cacheMethod|callGeneric|callNextMethod|canCoerce|cbind2|checkAtAssignment|checkSlotAssignment|classesToAM|classLabel|classMetaName|className|coerce|Compare|completeClassDefinition|completeExtends|completeSubclasses|Complex|conformMethod|defaultDumpName|defaultPrototype|doPrimitiveMethod|dumpMethods??|el|elNamed|empty\\\\.dump|emptyMethodsList|evalOnLoad|evalqOnLoad|evalSource|existsFunction|existsMethod|extends|externalRefMethod|finalDefaultMethod|findClass|findFunction|findMethods??|findMethodSignatures|findUnique|fixPre1\\\\.8|formalArgs|functionBody|generic\\\\.skeleton|getAllSuperClasses|getClass|getClassDef|getClasses|getDataPart|getFunction|getGenerics??|getGroup|getGroupMembers|getLoadActions|getMethods??|getMethodsForDispatch|getMethodsMetaData|getPackageName|getRefClass|getSlots|getValidity|hasArg|hasLoadAction|hasMethods??|implicitGeneric|inheritedSlotNames|initFieldArgs|initialize|initRefFields|insertClassMethods|insertMethod|insertSource|is|isClass|isClassDef|isClassUnion|isGeneric|isGrammarSymbol|isGroup|isRematched|isSealedClass|isSealedMethod|isVirtualClass|isXS3Class|kronecker|languageEl|linearizeMlist|listFromMethods|listFromMlist|loadMethod|Logic|makeClassRepresentation|makeExtends|makeGeneric|makeMethodsList|makePrototypeFromClassDef|makeStandardGeneric|matchSignature|Math2??|mergeMethods|metaNameUndo|MethodAddCoerce|methodSignatureMatrix|method\\\\.skeleton|MethodsList|MethodsListSelect|methodsPackageMetaName|missingArg|multipleClasses|new|newBasic|newClassRepresentation|newEmptyObject|Ops|packageSlot|possibleExtends|prohibitGeneric|promptClass|promptMethods|prototype|Quote|rbind2|reconcilePropertiesAndPrototype|registerImplicitGenerics|rematchDefinition|removeClass|removeGeneric|removeMethods??|representation|requireMethods|resetClass|resetGeneric|S3Class|S3Part|sealClass|selectMethod|selectSuperClasses|setAs|setClass|setClassUnion|setDataPart|setGeneric|setGenericImplicit|setGroupGeneric|setIs|setLoadActions??|setMethod|setOldClass|setPackageName|setPrimitiveMethods|setRefClass|setReplaceMethod|setValidity|show|showClass|showDefault|showExtends|showMethods|showMlist|signature|SignatureMethod|sigToEnv|slot|slotNames|slotsFromS3|substituteDirect|substituteFunctionArgs|Summary|superClassDepth|testInheritedMethods|testVirtual|tryNew|unRematchDefinition|validObject|validSlotNames)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]},{"begin":"\\\\b(acf|acf2AR|add1|addmargins|add\\\\.scope|aggregate|aggregate\\\\.data\\\\.frame|aggregate\\\\.ts|AIC|alias|anova|ansari\\\\.test|aov|approx|approxfun|ar|ar\\\\.burg|arima0??|arima0\\\\.diag|arima\\\\.sim|ARMAacf|ARMAtoMA|ar\\\\.mle|ar\\\\.ols|ar\\\\.yw|as\\\\.dendrogram|as\\\\.dist|as\\\\.formula|as\\\\.hclust|asOneSidedFormula|as\\\\.stepfun|as\\\\.ts|ave|bandwidth\\\\.kernel|bartlett\\\\.test|BIC|binomial|binom\\\\.test|biplot|Box\\\\.test|bw\\\\.bcv|bw\\\\.nrd0??|bw\\\\.SJ|bw\\\\.ucv|C|cancor|case\\\\.names|ccf|chisq\\\\.test|cmdscale|coef|coefficients|complete\\\\.cases|confint|confint\\\\.default|confint\\\\.lm|constrOptim|contrasts|contr\\\\.helmert|contr\\\\.poly|contr\\\\.SAS|contr\\\\.sum|contr\\\\.treatment|convolve|cooks\\\\.distance|cophenetic|cor|cor\\\\.test|cov|cov2cor|covratio|cov\\\\.wt|cpgram|cutree|cycle|D|dbeta|dbinom|dcauchy|dchisq|decompose|delete\\\\.response|deltat|dendrapply|density|density\\\\.default|deriv3??|deviance|dexp|df|DF2formula|dfbetas??|dffits|df\\\\.kernel|df\\\\.residual|dgamma|dgeom|dhyper|diffinv|dist|dlnorm|dlogis|dmultinom|dnbinom|dnorm|dpois|drop1|drop\\\\.scope|drop\\\\.terms|dsignrank|dt|dummy\\\\.coef|dummy\\\\.coef\\\\.lm|dunif|dweibull|dwilcox|ecdf|eff\\\\.aovlist|effects|embed|end|estVar|expand\\\\.model\\\\.frame|extractAIC|factanal|factor\\\\.scope|family|fft|filter|fisher\\\\.test|fitted|fitted\\\\.values|fivenum|fligner\\\\.test|formula|frequency|friedman\\\\.test|ftable|Gamma|gaussian|get_all_vars|getCall|getInitial|glm|glm\\\\.control|glm\\\\.fit|hasTsp|hat|hatvalues|hclust|heatmap|HoltWinters|influence|influence\\\\.measures|integrate|interaction\\\\.plot|inverse\\\\.gaussian|IQR|is\\\\.empty\\\\.model|is\\\\.leaf|is\\\\.mts|isoreg|is\\\\.stepfun|is\\\\.ts|is\\\\.tskernel|KalmanForecast|KalmanLike|KalmanRun|KalmanSmooth|kernapply|kernel|kmeans|knots|kruskal\\\\.test|ksmooth|ks\\\\.test|lag|lag\\\\.plot|line|lm|lm\\\\.fit|lm\\\\.influence|lm\\\\.wfit|loadings|loess|loess\\\\.control|loess\\\\.smooth|logLik|loglin|lowess|ls\\\\.diag|lsfit|ls\\\\.print|mad|mahalanobis|makeARIMA|make\\\\.link|makepredictcall|manova|mantelhaen\\\\.test|mauchly\\\\.test|mcnemar\\\\.test|median|median\\\\.default|medpolish|model\\\\.extract|model\\\\.frame|model\\\\.frame\\\\.default|model\\\\.matrix|model\\\\.matrix\\\\.default|model\\\\.matrix\\\\.lm|model\\\\.offset|model\\\\.response|model\\\\.tables|model\\\\.weights|monthplot|mood\\\\.test|mvfft|na\\\\.action|na\\\\.contiguous|na\\\\.exclude|na\\\\.fail|na\\\\.omit|na\\\\.pass|napredict|naprint|naresid|nextn|nlm|nlminb|nls|nls\\\\.control|NLSstAsymptotic|NLSstClosestX|NLSstLfAsymptote|NLSstRtAsymptote|nobs|numericDeriv|offset|oneway\\\\.test|optim|optimHess|optimise|optimize|order\\\\.dendrogram|pacf|p\\\\.adjust|p\\\\.adjust\\\\.methods|Pair|pairwise\\\\.prop\\\\.test|pairwise\\\\.table|pairwise\\\\.t\\\\.test|pairwise\\\\.wilcox\\\\.test|pbeta|pbinom|pbirthday|pcauchy|pchisq|pexp|pf|pgamma|pgeom|phyper|plclust|plnorm|plogis|plot\\\\.ecdf|plot\\\\.spec\\\\.coherency|plot\\\\.spec\\\\.phase|plot\\\\.stepfun|plot\\\\.ts|pnbinom|pnorm|poisson|poisson\\\\.test|polym??|power|power\\\\.anova\\\\.test|power\\\\.prop\\\\.test|power\\\\.t\\\\.test|ppoints|ppois|ppr|PP\\\\.test|prcomp|predict|predict\\\\.glm|predict\\\\.lm|preplot|princomp|printCoefmat|profile|proj|promax|prop\\\\.test|prop\\\\.trend\\\\.test|psignrank|pt|ptukey|punif|pweibull|pwilcox|qbeta|qbinom|qbirthday|qcauchy|qchisq|qexp|qf|qgamma|qgeom|qhyper|qlnorm|qlogis|qnbinom|qnorm|qpois|qqline|qqnorm|qqplot|qsignrank|qt|qtukey|quade\\\\.test|quantile|quasi|quasibinomial|quasipoisson|qunif|qweibull|qwilcox|r2dtable|rbeta|rbinom|rcauchy|rchisq|read\\\\.ftable|rect\\\\.hclust|reformulate|relevel|reorder|replications|reshape|resid|residuals|residuals\\\\.glm|residuals\\\\.lm|rexp|rf|rgamma|rgeom|rhyper|rlnorm|rlogis|rmultinom|rnbinom|rnorm|rpois|rsignrank|rstandard|rstudent|rt|runif|runmed|rweibull|rwilcox|rWishart|scatter\\\\.smooth|screeplot|sd|se\\\\.contrast|selfStart|setNames|shapiro\\\\.test|sigma|simulate|smooth|smoothEnds|smooth\\\\.spline|sortedXyData|spec\\\\.ar|spec\\\\.pgram|spec\\\\.taper|spectrum|spline|splinefunH??|SSasymp|SSasympOff|SSasympOrig|SSbiexp|SSD|SSfol|SSfpl|SSgompertz|SSlogis|SSmicmen|SSweibull|start|stat\\\\.anova|step|stepfun|stl|StructTS|summary\\\\.aov|summary\\\\.glm|summary\\\\.lm|summary\\\\.manova|summary\\\\.stepfun|supsmu|symnum|termplot|terms|terms\\\\.formula|time|toeplitz|ts|tsdiag|ts\\\\.intersect|tsp|ts\\\\.plot|tsSmooth|ts\\\\.union|t\\\\.test|TukeyHSD|uniroot|update|update\\\\.default|update\\\\.formula|var|variable\\\\.names|varimax|var\\\\.test|vcov|weighted\\\\.mean|weighted\\\\.residuals|weights|wilcox\\\\.test|window|write\\\\.ftable|xtabs)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]},{"begin":"\\\\b(adist|alarm|apropos|aregexec|argsAnywhere|asDateBuilt|askYesNo|aspell|aspell_package_C_files|aspell_package_Rd_files|aspell_package_R_files|aspell_package_vignettes|aspell_write_personal_dictionary_file|as\\\\.person|as\\\\.personList|as\\\\.relistable|as\\\\.roman|assignInMyNamespace|assignInNamespace|available\\\\.packages|bibentry|browseEnv|browseURL|browseVignettes|bug\\\\.report|capture\\\\.output|changedFiles|charClass|checkCRAN|chooseBioCmirror|chooseCRANmirror|citation|cite|citeNatbib|citEntry|citFooter|citHeader|close\\\\.socket|combn|compareVersion|contrib\\\\.url|count\\\\.fields|create\\\\.post|data|dataentry|data\\\\.entry|de|debugcall|debugger|demo|de\\\\.ncols|de\\\\.restore|de\\\\.setup|download\\\\.file|download\\\\.packages|dump\\\\.frames|edit|emacs|example|file\\\\.edit|fileSnapshot|file_test|find|findLineNum|fix|fixInNamespace|flush\\\\.console|formatOL|formatUL|getAnywhere|getCRANmirrors|getFromNamespace|getParseData|getParseText|getS3method|getSrcDirectory|getSrcFilename|getSrcLocation|getSrcref|getTxtProgressBar|glob2rx|globalVariables|hasName|head|head\\\\.matrix|help|help\\\\.request|help\\\\.search|help\\\\.start|history|hsearch_db|hsearch_db_concepts|hsearch_db_keywords|installed\\\\.packages|install\\\\.packages|is\\\\.relistable|isS3method|isS3stdGeneric|limitedLabels|loadhistory|localeToCharset|lsf\\\\.str|ls\\\\.str|maintainer|make\\\\.packages\\\\.html|makeRweaveLatexCodeRunner|make\\\\.socket|memory\\\\.limit|memory\\\\.size|menu|methods|mirror2html|modifyList|new\\\\.packages|news|nsl|object\\\\.size|old\\\\.packages|osVersion|packageDate|packageDescription|packageName|package\\\\.skeleton|packageStatus|packageVersion|page|person|personList|pico|process\\\\.events|prompt|promptData|promptImport|promptPackage|rc\\\\.getOption|rc\\\\.options|rc\\\\.settings|rc\\\\.status|readCitationFile|read\\\\.csv2??|read\\\\.delim2??|read\\\\.DIF|read\\\\.fortran|read\\\\.fwf|read\\\\.socket|read\\\\.table|recover|relist|remove\\\\.packages|removeSource|Rprof|Rprofmem|RShowDoc|RSiteSearch|rtags|Rtangle|RtangleFinish|RtangleRuncode|RtangleSetup|RtangleWritedoc|RweaveChunkPrefix|RweaveEvalWithOpt|RweaveLatex|RweaveLatexFinish|RweaveLatexOptions|RweaveLatexSetup|RweaveLatexWritedoc|RweaveTryStop|savehistory|select\\\\.list|sessionInfo|setBreakpoint|setRepositories|setTxtProgressBar|stack|Stangle|str|strcapture|strOptions|summaryRprof|suppressForeignCheck|Sweave|SweaveHooks|SweaveSyntaxLatex|SweaveSyntaxNoweb|SweaveSyntConv|tail|tail\\\\.matrix|tar|timestamp|toBibtex|toLatex|txtProgressBar|type\\\\.convert|undebugcall|unstack|untar|unzip|update\\\\.packages|upgrade|URLdecode|URLencode|url\\\\.show|vi|View|vignette|warnErrList|write\\\\.csv2??|write\\\\.socket|write\\\\.table|xedit|xemacs|zip)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]}]},"comments":{"patterns":[{"captures":{"1":{"name":"comment.line.pragma.r"},"2":{"name":"entity.name.pragma.name.r"}},"match":"^(#pragma[\\\\t ]+mark)[\\\\t ](.*)","name":"comment.line.pragma-mark.r"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.r"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.r"}},"end":"\\\\n","name":"comment.line.number-sign.r"}]}]},"constants":{"patterns":[{"match":"\\\\b(pi|letters|LETTERS|month\\\\.abb|month\\\\.name)\\\\b","name":"support.constant.misc.r"},{"match":"\\\\b(TRUE|FALSE|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_|Inf|NaN)\\\\b","name":"constant.language.r"},{"match":"\\\\b0([Xx])\\\\h+i\\\\b","name":"constant.numeric.imaginary.hexadecimal.r"},{"match":"\\\\b[0-9]+\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?i\\\\b","name":"constant.numeric.imaginary.decimal.r"},{"match":"\\\\.[0-9]+(?:([Ee])([-+])?[0-9]+)?i\\\\b","name":"constant.numeric.imaginary.decimal.r"},{"match":"\\\\b0([Xx])\\\\h+L\\\\b","name":"constant.numeric.integer.hexadecimal.r"},{"match":"\\\\b[0-9]+\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?L\\\\b","name":"constant.numeric.integer.decimal.r"},{"match":"\\\\b0([Xx])\\\\h+\\\\b","name":"constant.numeric.float.hexadecimal.r"},{"match":"\\\\b[0-9]+\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?\\\\b","name":"constant.numeric.float.decimal.r"},{"match":"\\\\.[0-9]+(?:([Ee])([-+])?[0-9]+)?\\\\b","name":"constant.numeric.float.decimal.r"}]},"function-call-arguments":{"patterns":[{"match":"(?:[.A-Z_a-z][.\\\\w]*|`[^`]+`)(?=\\\\s*=[^=])","name":"variable.parameter.function-call.r"},{"begin":"(?==)","end":"(?=[),])","patterns":[{"include":"source.r"}]},{"match":",","name":"punctuation.separator.parameters.r"},{"include":"source.r"}]},"function-calls":{"begin":"(?:[.A-Z_a-z][.\\\\w]*|`[^`]+`)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]},"function-declarations":{"patterns":[{"begin":"([.A-Z_a-z][.\\\\w]*|`[^`]+`)\\\\s*(>)","name":"keyword.operator.assignment.r"},{"match":"%(between|chin|do|dopar|in|like|\\\\+replace|[+:]|T>|<>|[$>])%","name":"keyword.operator.other.r"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.other.r"},{"match":":::?","name":"punctuation.accessor.colons.r"},{"match":"(%%|\\\\*\\\\*)","name":"keyword.operator.arithmetic.r"},{"match":"(<-|->)","name":"keyword.operator.assignment.r"},{"match":"\\\\|>","name":"keyword.operator.assignment.redirection.r"},{"match":"(==|!=|<>|<=?|>=?)","name":"keyword.operator.comparison.r"},{"match":"(&&?|\\\\|\\\\|?)","name":"keyword.operator.logical.r"},{"match":":=","name":"keyword.operator.other.r"},{"match":"[-*+/^]","name":"keyword.operator.arithmetic.r"},{"match":"=","name":"keyword.operator.assignment.r"},{"match":"!","name":"keyword.operator.logical.r"},{"match":"[:@~]","name":"keyword.other.r"},{"match":";","name":"punctuation.terminator.semicolon.r"}]},"roxygen":{"patterns":[{"begin":"^\\\\s*(#\')\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.comment.r"}},"end":"$\\\\n?","name":"comment.line.roxygen.r","patterns":[{"captures":{"1":{"name":"keyword.other.r"},"2":{"name":"variable.parameter.r"}},"match":"(@param)\\\\s*([.A-Z_a-z][.\\\\w]*|`[^`]+`)"},{"match":"@[0-9A-Za-z]+","name":"keyword.other.r"}]}]},"storage-type":{"patterns":[{"begin":"\\\\b(character|complex|double|expression|integer|list|logical|numeric|single|raw|pairlist)\\\\b\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.r"},"2":{"name":"punctuation.definition.arguments.begin.r"}},"contentName":"meta.function-call.arguments.r","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.r"}},"name":"meta.function-call.r","patterns":[{"include":"#function-call-arguments"}]}]},"strings":{"patterns":[{"begin":"[Rr]\\"(-*)\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.r"}},"end":"]\\\\1\\"","endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.r"}},"name":"string.quoted.double.raw.r"},{"begin":"[Rr]\'(-*)\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.r"}},"end":"]\\\\1\'","endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.r"}},"name":"string.quoted.single.raw.r"},{"begin":"[Rr]\\"(-*)\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.r"}},"end":"}\\\\1\\"","endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.r"}},"name":"string.quoted.double.raw.r"},{"begin":"[Rr]\'(-*)\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.r"}},"end":"}\\\\1\'","endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.r"}},"name":"string.quoted.single.raw.r"},{"begin":"[Rr]\\"(-*)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.r"}},"end":"\\\\)\\\\1\\"","endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.r"}},"name":"string.quoted.double.raw.r"},{"begin":"[Rr]\'(-*)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.r"}},"end":"\\\\)\\\\1\'","endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.r"}},"name":"string.quoted.single.raw.r"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.r"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.r"}},"name":"string.quoted.double.r","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.r"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.r"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.r"}},"name":"string.quoted.single.r","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.r"}]}]}},"scopeName":"source.r"}', + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-C2tOF0e5.js.map diff --git a/src/webview-ui/build/assets/chunk-C2tOF0e5.js.map b/src/webview-ui/build/assets/chunk-C2tOF0e5.js.map new file mode 100644 index 0000000000..02382cd3be --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C2tOF0e5.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C2tOF0e5.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/r.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"R\\\",\\\"name\\\":\\\"r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#roxygen\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#accessor\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#storage-type\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#function-declarations\\\"},{\\\"include\\\":\\\"#lambda-functions\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#function-calls\\\"}],\\\"repository\\\":{\\\"accessor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\$)(?=[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.accessor.dollar.r\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-calls\\\"}]}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[(?!\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.single.begin.r\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.single.end.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.double.begin.r\\\"}},\\\"contentName\\\":\\\"meta.item-access.arguments.r\\\",\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.double.end.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.r\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]}]},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(abbreviate|abs|acosh??|activeBindingFunction|addNA|addTaskCallback|agrepl??|alist|all|all\\\\\\\\.equal|all\\\\\\\\.equal\\\\\\\\.character|all\\\\\\\\.equal\\\\\\\\.default|all\\\\\\\\.equal\\\\\\\\.environment|all\\\\\\\\.equal\\\\\\\\.envRefClass|all\\\\\\\\.equal\\\\\\\\.factor|all\\\\\\\\.equal\\\\\\\\.formula|all\\\\\\\\.equal\\\\\\\\.function|all\\\\\\\\.equal\\\\\\\\.language|all\\\\\\\\.equal\\\\\\\\.list|all\\\\\\\\.equal\\\\\\\\.numeric|all\\\\\\\\.equal\\\\\\\\.POSIXt|all\\\\\\\\.equal\\\\\\\\.raw|all\\\\\\\\.names|allowInterrupts|all\\\\\\\\.vars|any|anyDuplicated|anyDuplicated\\\\\\\\.array|anyDuplicated\\\\\\\\.data\\\\\\\\.frame|anyDuplicated\\\\\\\\.default|anyDuplicated\\\\\\\\.matrix|anyNA|anyNA\\\\\\\\.data\\\\\\\\.frame|anyNA\\\\\\\\.numeric_version|anyNA\\\\\\\\.POSIXlt|aperm|aperm\\\\\\\\.default|aperm\\\\\\\\.table|append|apply|Arg|args|array|arrayInd|as\\\\\\\\.array|as\\\\\\\\.array\\\\\\\\.default|as\\\\\\\\.call|as\\\\\\\\.character|as\\\\\\\\.character\\\\\\\\.condition|as\\\\\\\\.character\\\\\\\\.Date|as\\\\\\\\.character\\\\\\\\.default|as\\\\\\\\.character\\\\\\\\.error|as\\\\\\\\.character\\\\\\\\.factor|as\\\\\\\\.character\\\\\\\\.hexmode|as\\\\\\\\.character\\\\\\\\.numeric_version|as\\\\\\\\.character\\\\\\\\.octmode|as\\\\\\\\.character\\\\\\\\.POSIXt|as\\\\\\\\.character\\\\\\\\.srcref|as\\\\\\\\.complex|as\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.array|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.AsIs|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.character|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.complex|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.Date|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.default|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.difftime|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.factor|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.integer|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.list|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.logical|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.matrix|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.model\\\\\\\\.matrix|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.noquote|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.numeric|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.numeric_version|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.ordered|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.POSIXct|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.POSIXlt|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.raw|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.table|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.ts|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.vector|as\\\\\\\\.Date|as\\\\\\\\.Date\\\\\\\\.character|as\\\\\\\\.Date\\\\\\\\.default|as\\\\\\\\.Date\\\\\\\\.factor|as\\\\\\\\.Date\\\\\\\\.numeric|as\\\\\\\\.Date\\\\\\\\.POSIXct|as\\\\\\\\.Date\\\\\\\\.POSIXlt|as\\\\\\\\.difftime|as\\\\\\\\.double|as\\\\\\\\.double\\\\\\\\.difftime|as\\\\\\\\.double\\\\\\\\.POSIXlt|as\\\\\\\\.environment|as\\\\\\\\.expression|as\\\\\\\\.expression\\\\\\\\.default|as\\\\\\\\.factor|as\\\\\\\\.function|as\\\\\\\\.function\\\\\\\\.default|as\\\\\\\\.hexmode|asinh??|as\\\\\\\\.integer|as\\\\\\\\.list|as\\\\\\\\.list\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.list\\\\\\\\.Date|as\\\\\\\\.list\\\\\\\\.default|as\\\\\\\\.list\\\\\\\\.difftime|as\\\\\\\\.list\\\\\\\\.environment|as\\\\\\\\.list\\\\\\\\.factor|as\\\\\\\\.list\\\\\\\\.function|as\\\\\\\\.list\\\\\\\\.numeric_version|as\\\\\\\\.list\\\\\\\\.POSIXct|as\\\\\\\\.list\\\\\\\\.POSIXlt|as\\\\\\\\.logical|as\\\\\\\\.logical\\\\\\\\.factor|as\\\\\\\\.matrix|as\\\\\\\\.matrix\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.matrix\\\\\\\\.default|as\\\\\\\\.matrix\\\\\\\\.noquote|as\\\\\\\\.matrix\\\\\\\\.POSIXlt|as\\\\\\\\.name|asNamespace|as\\\\\\\\.null|as\\\\\\\\.null\\\\\\\\.default|as\\\\\\\\.numeric|as\\\\\\\\.numeric_version|as\\\\\\\\.octmode|as\\\\\\\\.ordered|as\\\\\\\\.package_version|as\\\\\\\\.pairlist|asplit|as\\\\\\\\.POSIXct|as\\\\\\\\.POSIXct\\\\\\\\.Date|as\\\\\\\\.POSIXct\\\\\\\\.default|as\\\\\\\\.POSIXct\\\\\\\\.numeric|as\\\\\\\\.POSIXct\\\\\\\\.POSIXlt|as\\\\\\\\.POSIXlt|as\\\\\\\\.POSIXlt\\\\\\\\.character|as\\\\\\\\.POSIXlt\\\\\\\\.Date|as\\\\\\\\.POSIXlt\\\\\\\\.default|as\\\\\\\\.POSIXlt\\\\\\\\.factor|as\\\\\\\\.POSIXlt\\\\\\\\.numeric|as\\\\\\\\.POSIXlt\\\\\\\\.POSIXct|as\\\\\\\\.qr|as\\\\\\\\.raw|asS3|asS4|assign|as\\\\\\\\.single|as\\\\\\\\.single\\\\\\\\.default|as\\\\\\\\.symbol|as\\\\\\\\.table|as\\\\\\\\.table\\\\\\\\.default|as\\\\\\\\.vector|as\\\\\\\\.vector\\\\\\\\.factor|atan2??|atanh|attach|attachNamespace|attr|attr\\\\\\\\.all\\\\\\\\.equal|attributes|autoload|autoloader|backsolve|baseenv|basename|besselI|besselJ|besselK|besselY|beta|bindingIsActive|bindingIsLocked|bindtextdomain|bitwAnd|bitwNot|bitwOr|bitwShiftL|bitwShiftR|bitwXor|body|bquote|break|browser|browserCondition|browserSetDebug|browserText|builtins|by|by\\\\\\\\.data\\\\\\\\.frame|by\\\\\\\\.default|bzfile|c|call|callCC|capabilities|casefold|cat|cbind|cbind\\\\\\\\.data\\\\\\\\.frame|c\\\\\\\\.Date|c\\\\\\\\.difftime|ceiling|c\\\\\\\\.factor|character|char\\\\\\\\.expand|charmatch|charToRaw|chartr|check_tzones|chkDots|chol|chol2inv|chol\\\\\\\\.default|choose|class|clearPushBack|close|closeAllConnections|close\\\\\\\\.connection|close\\\\\\\\.srcfile|close\\\\\\\\.srcfilealias|c\\\\\\\\.noquote|c\\\\\\\\.numeric_version|col|colMeans|colnames|colSums|commandArgs|comment|complex|computeRestarts|conditionCall|conditionCall\\\\\\\\.condition|conditionMessage|conditionMessage\\\\\\\\.condition|conflictRules|conflicts|Conj|contributors|cosh??|cospi|c\\\\\\\\.POSIXct|c\\\\\\\\.POSIXlt|crossprod|Cstack_info|cummax|cummin|cumprod|cumsum|curlGetHeaders|cut|cut\\\\\\\\.Date|cut\\\\\\\\.default|cut\\\\\\\\.POSIXt|c\\\\\\\\.warnings|data\\\\\\\\.class|data\\\\\\\\.frame|data\\\\\\\\.matrix|date|debug|debuggingState|debugonce|default\\\\\\\\.stringsAsFactors|delayedAssign|deparse1??|det|detach|determinant|determinant\\\\\\\\.matrix|dget|diag|diff|diff\\\\\\\\.Date|diff\\\\\\\\.default|diff\\\\\\\\.difftime|diff\\\\\\\\.POSIXt|difftime|digamma|dim|dim\\\\\\\\.data\\\\\\\\.frame|dimnames|dimnames\\\\\\\\.data\\\\\\\\.frame|dir|dir\\\\\\\\.create|dir\\\\\\\\.exists|dirname|do\\\\\\\\.call|dontCheck|double|dput|dQuote|drop|droplevels|droplevels\\\\\\\\.data\\\\\\\\.frame|droplevels\\\\\\\\.factor|dump|duplicated|duplicated\\\\\\\\.array|duplicated\\\\\\\\.data\\\\\\\\.frame|duplicated\\\\\\\\.default|duplicated\\\\\\\\.matrix|duplicated\\\\\\\\.numeric_version|duplicated\\\\\\\\.POSIXlt|duplicated\\\\\\\\.warnings|dynGet|dyn\\\\\\\\.load|dyn\\\\\\\\.unload|eapply|eigen|emptyenv|enc2native|enc2utf8|encodeString|Encoding|endsWith|enquote|environment|environmentIsLocked|environmentName|env\\\\\\\\.profile|errorCondition|eval|eval\\\\\\\\.parent|evalq|exists|exp|expand\\\\\\\\.grid|expm1|expression|extSoftVersion|factor|factorial|fifo|file|file\\\\\\\\.access|file\\\\\\\\.append|file\\\\\\\\.choose|file\\\\\\\\.copy|file\\\\\\\\.create|file\\\\\\\\.exists|file\\\\\\\\.info|file\\\\\\\\.link|file\\\\\\\\.mode|file\\\\\\\\.mtime|file\\\\\\\\.path|file\\\\\\\\.remove|file\\\\\\\\.rename|file\\\\\\\\.show|file\\\\\\\\.size|file\\\\\\\\.symlink|Filter|Find|findInterval|find\\\\\\\\.package|findPackageEnv|findRestart|floor|flush|flush\\\\\\\\.connection|for|force|forceAndCall|formals|format|format\\\\\\\\.AsIs|formatC|format\\\\\\\\.data\\\\\\\\.frame|format\\\\\\\\.Date|format\\\\\\\\.default|format\\\\\\\\.difftime|formatDL|format\\\\\\\\.factor|format\\\\\\\\.hexmode|format\\\\\\\\.info|format\\\\\\\\.libraryIQR|format\\\\\\\\.numeric_version|format\\\\\\\\.octmode|format\\\\\\\\.packageInfo|format\\\\\\\\.POSIXct|format\\\\\\\\.POSIXlt|format\\\\\\\\.pval|format\\\\\\\\.summaryDefault|forwardsolve|function|gamma|gc|gcinfo|gc\\\\\\\\.time|gctorture2??|get0??|getAllConnections|getCallingDLLe??|getConnection|getDLLRegisteredRoutines|getDLLRegisteredRoutines\\\\\\\\.character|getDLLRegisteredRoutines\\\\\\\\.DLLInfo|getElement|geterrmessage|getExportedValue|getHook|getLoadedDLLs|getNamespace|getNamespaceExports|getNamespaceImports|getNamespaceInfo|getNamespaceName|getNamespaceUsers|getNamespaceVersion|getNativeSymbolInfo|getOption|getRversion|getSrcLines|getTaskCallbackNames|gettextf??|getwd|gl|globalCallingHandlers|globalenv|gregexec|gregexpr|grepl??|grepRaw|grouping|gsub|gzcon|gzfile|I|iconv|iconvlist|icuGetCollate|icuSetCollate|identical|identity|if|ifelse|Im|importIntoEnv|infoRDS|inherits|integer|interaction|interactive|intersect|intToBits|intToUtf8|inverse\\\\\\\\.rle|invisible|invokeRestart|invokeRestartInteractively|isa|is\\\\\\\\.array|is\\\\\\\\.atomic|isatty|isBaseNamespace|is\\\\\\\\.call|is\\\\\\\\.character|is\\\\\\\\.complex|is\\\\\\\\.data\\\\\\\\.frame|isdebugged|is\\\\\\\\.double|is\\\\\\\\.element|is\\\\\\\\.environment|is\\\\\\\\.expression|is\\\\\\\\.factor|isFALSE|is\\\\\\\\.finite|is\\\\\\\\.function|isIncomplete|is\\\\\\\\.infinite|is\\\\\\\\.integer|is\\\\\\\\.language|is\\\\\\\\.list|is\\\\\\\\.loaded|is\\\\\\\\.logical|is\\\\\\\\.matrix|is\\\\\\\\.na|is\\\\\\\\.na\\\\\\\\.data\\\\\\\\.frame|is\\\\\\\\.name|isNamespace|isNamespaceLoaded|is\\\\\\\\.nan|is\\\\\\\\.na\\\\\\\\.numeric_version|is\\\\\\\\.na\\\\\\\\.POSIXlt|is\\\\\\\\.null|is\\\\\\\\.numeric|is\\\\\\\\.numeric\\\\\\\\.Date|is\\\\\\\\.numeric\\\\\\\\.difftime|is\\\\\\\\.numeric\\\\\\\\.POSIXt|is\\\\\\\\.numeric_version|is\\\\\\\\.object|ISOdate|ISOdatetime|isOpen|is\\\\\\\\.ordered|is\\\\\\\\.package_version|is\\\\\\\\.pairlist|is\\\\\\\\.primitive|is\\\\\\\\.qr|is\\\\\\\\.R|is\\\\\\\\.raw|is\\\\\\\\.recursive|isRestart|isS4|isSeekable|is\\\\\\\\.single|is\\\\\\\\.symbol|isSymmetric|isSymmetric\\\\\\\\.matrix|is\\\\\\\\.table|isTRUE|is\\\\\\\\.unsorted|is\\\\\\\\.vector|jitter|julian|julian\\\\\\\\.Date|julian\\\\\\\\.POSIXt|kappa|kappa\\\\\\\\.default|kappa\\\\\\\\.lm|kappa\\\\\\\\.qr|kronecker|l10n_info|labels|labels\\\\\\\\.default|La_library|lapply|La\\\\\\\\.svd|La_version|lazyLoad|lazyLoadDBexec|lazyLoadDBfetch|lbeta|lchoose|length|length\\\\\\\\.POSIXlt|lengths|levels|levels\\\\\\\\.default|lfactorial|lgamma|libcurlVersion|library|library\\\\\\\\.dynam|library\\\\\\\\.dynam\\\\\\\\.unload|licence|license|list|list2DF|list2env|list\\\\\\\\.dirs|list\\\\\\\\.files|load|loadedNamespaces|loadingNamespaceInfo|loadNamespace|local|lockBinding|lockEnvironment|log|log10|log1p|log2|logb|logical|lower\\\\\\\\.tri|ls|makeActiveBinding|make\\\\\\\\.names|make\\\\\\\\.unique|Map|mapply|marginSums|margin\\\\\\\\.table|match|match\\\\\\\\.arg|match\\\\\\\\.call|match\\\\\\\\.fun|Math\\\\\\\\.data\\\\\\\\.frame|Math\\\\\\\\.Date|Math\\\\\\\\.difftime|Math\\\\\\\\.factor|Math\\\\\\\\.POSIXt|mat\\\\\\\\.or\\\\\\\\.vec|matrix|max|max\\\\\\\\.col|mean|mean\\\\\\\\.Date|mean\\\\\\\\.default|mean\\\\\\\\.difftime|mean\\\\\\\\.POSIXct|mean\\\\\\\\.POSIXlt|memCompress|memDecompress|mem\\\\\\\\.maxNSize|mem\\\\\\\\.maxVSize|memory\\\\\\\\.profile|merge|merge\\\\\\\\.data\\\\\\\\.frame|merge\\\\\\\\.default|message|mget|min|missing|Mod|mode|months|months\\\\\\\\.Date|months\\\\\\\\.POSIXt|names|namespaceExport|namespaceImport|namespaceImportClasses|namespaceImportFrom|namespaceImportMethods|names\\\\\\\\.POSIXlt|nargs|nchar|ncol|NCOL|Negate|new\\\\\\\\.env|next|NextMethod|ngettext|nlevels|noquote|norm|normalizePath|nrow|NROW|nullfile|numeric|numeric_version|numToBits|numToInts|nzchar|objects|oldClass|OlsonNames|on\\\\\\\\.exit|open|open\\\\\\\\.connection|open\\\\\\\\.srcfile|open\\\\\\\\.srcfilealias|open\\\\\\\\.srcfilecopy|Ops\\\\\\\\.data\\\\\\\\.frame|Ops\\\\\\\\.Date|Ops\\\\\\\\.difftime|Ops\\\\\\\\.factor|Ops\\\\\\\\.numeric_version|Ops\\\\\\\\.ordered|Ops\\\\\\\\.POSIXt|options|order|ordered|outer|packageEvent|packageHasNamespace|packageNotFoundError|packageStartupMessage|package_version|packBits|pairlist|parent\\\\\\\\.env|parent\\\\\\\\.frame|parse|parseNamespaceFile|paste0??|path\\\\\\\\.expand|path\\\\\\\\.package|pcre_config|pi|pipe|plot|pmatch|pmax|pmax\\\\\\\\.int|pmin|pmin\\\\\\\\.int|polyroot|Position|pos\\\\\\\\.to\\\\\\\\.env|pretty|pretty\\\\\\\\.default|prettyNum|print|print\\\\\\\\.AsIs|print\\\\\\\\.by|print\\\\\\\\.condition|print\\\\\\\\.connection|print\\\\\\\\.data\\\\\\\\.frame|print\\\\\\\\.Date|print\\\\\\\\.default|print\\\\\\\\.difftime|print\\\\\\\\.Dlist|print\\\\\\\\.DLLInfo|print\\\\\\\\.DLLInfoList|print\\\\\\\\.DLLRegisteredRoutines|print\\\\\\\\.eigen|print\\\\\\\\.factor|print\\\\\\\\.function|print\\\\\\\\.hexmode|print\\\\\\\\.libraryIQR|print\\\\\\\\.listof|print\\\\\\\\.NativeRoutineList|print\\\\\\\\.noquote|print\\\\\\\\.numeric_version|print\\\\\\\\.octmode|print\\\\\\\\.packageInfo|print\\\\\\\\.POSIXct|print\\\\\\\\.POSIXlt|print\\\\\\\\.proc_time|print\\\\\\\\.restart|print\\\\\\\\.rle|print\\\\\\\\.simple\\\\\\\\.list|print\\\\\\\\.srcfile|print\\\\\\\\.srcref|print\\\\\\\\.summaryDefault|print\\\\\\\\.summary\\\\\\\\.table|print\\\\\\\\.summary\\\\\\\\.warnings|print\\\\\\\\.table|print\\\\\\\\.warnings|prmatrix|proc\\\\\\\\.time|prod|proportions|prop\\\\\\\\.table|provideDimnames|psigamma|pushBack|pushBackLength|qr??|qr\\\\\\\\.coef|qr\\\\\\\\.default|qr\\\\\\\\.fitted|qr\\\\\\\\.Q|qr\\\\\\\\.qty|qr\\\\\\\\.qy|qr\\\\\\\\.R|qr\\\\\\\\.resid|qr\\\\\\\\.solve|qr\\\\\\\\.X|quarters|quarters\\\\\\\\.Date|quarters\\\\\\\\.POSIXt|quit|quote|range|range\\\\\\\\.default|rank|rapply|raw|rawConnection|rawConnectionValue|rawShift|rawToBits|rawToChar|rbind|rbind\\\\\\\\.data\\\\\\\\.frame|rcond|Re|readBin|readChar|read\\\\\\\\.dcf|readline|readLines|readRDS|readRenviron|Recall|Reduce|regexec|regexpr|reg\\\\\\\\.finalizer|registerS3methods??|regmatches|remove|removeTaskCallback|rep|rep\\\\\\\\.Date|rep\\\\\\\\.difftime|repeat|rep\\\\\\\\.factor|rep\\\\\\\\.int|replace|rep_len|replicate|rep\\\\\\\\.numeric_version|rep\\\\\\\\.POSIXct|rep\\\\\\\\.POSIXlt|require|requireNamespace|restartDescription|restartFormals|retracemem|return|returnValue|rev|rev\\\\\\\\.default|R\\\\\\\\.home|rle|rm|RNGkind|RNGversion|round|round\\\\\\\\.Date|round\\\\\\\\.POSIXt|row|rowMeans|rownames|row\\\\\\\\.names|row\\\\\\\\.names\\\\\\\\.data\\\\\\\\.frame|row\\\\\\\\.names\\\\\\\\.default|rowsum|rowsum\\\\\\\\.data\\\\\\\\.frame|rowsum\\\\\\\\.default|rowSums|R_system_version|R\\\\\\\\.version|R\\\\\\\\.Version|R\\\\\\\\.version\\\\\\\\.string|sample|sample\\\\\\\\.int|sapply|save|save\\\\\\\\.image|saveRDS|scale|scale\\\\\\\\.default|scan|search|searchpaths|seek|seek\\\\\\\\.connection|seq|seq_along|seq\\\\\\\\.Date|seq\\\\\\\\.default|seq\\\\\\\\.int|seq_len|seq\\\\\\\\.POSIXt|sequence|sequence\\\\\\\\.default|serialize|serverSocket|setdiff|setequal|setHook|setNamespaceInfo|set\\\\\\\\.seed|setSessionTimeLimit|setTimeLimit|setwd|showConnections|shQuote|sign|signalCondition|signif|simpleCondition|simpleError|simpleMessage|simpleWarning|simplify2array|sin|single|sinh|sink|sink\\\\\\\\.number|sinpi|slice\\\\\\\\.index|socketAccept|socketConnection|socketSelect|socketTimeout|solve|solve\\\\\\\\.default|solve\\\\\\\\.qr|sort|sort\\\\\\\\.default|sort\\\\\\\\.int|sort\\\\\\\\.list|sort\\\\\\\\.POSIXlt|source|split|split\\\\\\\\.data\\\\\\\\.frame|split\\\\\\\\.Date|split\\\\\\\\.default|split\\\\\\\\.POSIXct|sprintf|sqrt|sQuote|srcfile|srcfilealias|srcfilecopy|srcref|standardGeneric|startsWith|stderr|stdin|stdout|stop|stopifnot|storage\\\\\\\\.mode|str2expression|str2lang|strftime|strptime|strrep|strsplit|strtoi|strtrim|structure|strwrap|sub|subset|subset\\\\\\\\.data\\\\\\\\.frame|subset\\\\\\\\.default|subset\\\\\\\\.matrix|substitute|substr|substring|sum|summary|summary\\\\\\\\.connection|summary\\\\\\\\.data\\\\\\\\.frame|Summary\\\\\\\\.data\\\\\\\\.frame|summary\\\\\\\\.Date|Summary\\\\\\\\.Date|summary\\\\\\\\.default|Summary\\\\\\\\.difftime|summary\\\\\\\\.factor|Summary\\\\\\\\.factor|summary\\\\\\\\.matrix|Summary\\\\\\\\.numeric_version|Summary\\\\\\\\.ordered|summary\\\\\\\\.POSIXct|Summary\\\\\\\\.POSIXct|summary\\\\\\\\.POSIXlt|Summary\\\\\\\\.POSIXlt|summary\\\\\\\\.proc_time|summary\\\\\\\\.srcfile|summary\\\\\\\\.srcref|summary\\\\\\\\.table|summary\\\\\\\\.warnings|suppressMessages|suppressPackageStartupMessages|suppressWarnings|suspendInterrupts|svd|sweep|switch|sys\\\\\\\\.calls??|Sys\\\\\\\\.chmod|Sys\\\\\\\\.Date|sys\\\\\\\\.frames??|sys\\\\\\\\.function|Sys\\\\\\\\.getenv|Sys\\\\\\\\.getlocale|Sys\\\\\\\\.getpid|Sys\\\\\\\\.glob|Sys\\\\\\\\.info|sys\\\\\\\\.load\\\\\\\\.image|Sys\\\\\\\\.localeconv|sys\\\\\\\\.nframe|sys\\\\\\\\.on\\\\\\\\.exit|sys\\\\\\\\.parents??|Sys\\\\\\\\.readlink|sys\\\\\\\\.save\\\\\\\\.image|Sys\\\\\\\\.setenv|Sys\\\\\\\\.setFileTime|Sys\\\\\\\\.setlocale|Sys\\\\\\\\.sleep|sys\\\\\\\\.source|sys\\\\\\\\.status|system2??|system\\\\\\\\.file|system\\\\\\\\.time|Sys\\\\\\\\.time|Sys\\\\\\\\.timezone|Sys\\\\\\\\.umask|Sys\\\\\\\\.unsetenv|Sys\\\\\\\\.which|t|table|tabulate|tanh??|tanpi|tapply|taskCallbackManager|tcrossprod|t\\\\\\\\.data\\\\\\\\.frame|t\\\\\\\\.default|tempdir|tempfile|textConnection|textConnectionValue|tolower|topenv|toString|toString\\\\\\\\.default|toupper|trace|traceback|tracemem|tracingState|transform|transform\\\\\\\\.data\\\\\\\\.frame|transform\\\\\\\\.default|trigamma|trimws|trunc|truncate|truncate\\\\\\\\.connection|trunc\\\\\\\\.Date|trunc\\\\\\\\.POSIXt|try|tryCatch|tryInvokeRestart|typeof|unclass|undebug|union|unique|unique\\\\\\\\.array|unique\\\\\\\\.data\\\\\\\\.frame|unique\\\\\\\\.default|unique\\\\\\\\.matrix|unique\\\\\\\\.numeric_version|unique\\\\\\\\.POSIXlt|unique\\\\\\\\.warnings|units|units\\\\\\\\.difftime|unix\\\\\\\\.time|unlink|unlist|unloadNamespace|unlockBinding|unname|unserialize|unsplit|untrace|untracemem|unz|upper\\\\\\\\.tri|url|UseMethod|utf8ToInt|validEnc|validUTF8|vapply|vector|Vectorize|version|warning|warningCondition|warnings|weekdays|weekdays\\\\\\\\.Date|weekdays\\\\\\\\.POSIXt|which|which\\\\\\\\.max|which\\\\\\\\.min|while|with|withAutoprint|withCallingHandlers|with\\\\\\\\.default|within|within\\\\\\\\.data\\\\\\\\.frame|within\\\\\\\\.list|withRestarts|withVisible|write|writeBin|writeChar|write\\\\\\\\.dcf|writeLines|xor|xpdrows\\\\\\\\.data\\\\\\\\.frame|xtfrm|xtfrm\\\\\\\\.AsIs|xtfrm\\\\\\\\.data\\\\\\\\.frame|xtfrm\\\\\\\\.Date|xtfrm\\\\\\\\.default|xtfrm\\\\\\\\.difftime|xtfrm\\\\\\\\.factor|xtfrm\\\\\\\\.numeric_version|xtfrm\\\\\\\\.POSIXct|xtfrm\\\\\\\\.POSIXlt|xzfile|zapsmall)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(abline|arrows|assocplot|axis|Axis|axis\\\\\\\\.Date|axis\\\\\\\\.POSIXct|axTicks|barplot|barplot\\\\\\\\.default|box|boxplot|boxplot\\\\\\\\.default|boxplot\\\\\\\\.matrix|bxp|cdplot|clip|close\\\\\\\\.screen|co\\\\\\\\.intervals|contour|contour\\\\\\\\.default|coplot|curve|dotchart|erase\\\\\\\\.screen|filled\\\\\\\\.contour|fourfoldplot|frame|grconvertX|grconvertY|grid|hist|hist\\\\\\\\.default|identify|image|image\\\\\\\\.default|layout|layout\\\\\\\\.show|lcm|legend|lines|lines\\\\\\\\.default|locator|matlines|matplot|matpoints|mosaicplot|mtext|pairs|pairs\\\\\\\\.default|panel\\\\\\\\.smooth|par|persp|pie|plot|plot\\\\\\\\.default|plot\\\\\\\\.design|plot\\\\\\\\.function|plot\\\\\\\\.new|plot\\\\\\\\.window|plot\\\\\\\\.xy|points|points\\\\\\\\.default|polygon|polypath|rasterImage|rect|rug|screen|segments|smoothScatter|spineplot|split\\\\\\\\.screen|stars|stem|strheight|stripchart|strwidth|sunflowerplot|symbols|text|text\\\\\\\\.default|title|xinch|xspline|xyinch|yinch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(adjustcolor|as\\\\\\\\.graphicsAnnot|as\\\\\\\\.raster|axisTicks|bitmap|blues9|bmp|boxplot\\\\\\\\.stats|cairo_pdf|cairo_ps|cairoSymbolFont|check\\\\\\\\.options|chull|CIDFont|cm|cm\\\\\\\\.colors|col2rgb|colorConverter|colorRamp|colorRampPalette|colors|colorspaces|colours|contourLines|convertColor|densCols|dev2bitmap|devAskNewPage|dev\\\\\\\\.capabilities|dev\\\\\\\\.capture|dev\\\\\\\\.control|dev\\\\\\\\.copy|dev\\\\\\\\.copy2eps|dev\\\\\\\\.copy2pdf|dev\\\\\\\\.cur|dev\\\\\\\\.flush|dev\\\\\\\\.hold|deviceIsInteractive|dev\\\\\\\\.interactive|dev\\\\\\\\.list|dev\\\\\\\\.new|dev\\\\\\\\.next|dev\\\\\\\\.off|dev\\\\\\\\.prev|dev\\\\\\\\.print|dev\\\\\\\\.set|dev\\\\\\\\.size|embedFonts|extendrange|getGraphicsEvent|getGraphicsEventEnv|graphics\\\\\\\\.off|gray|gray\\\\\\\\.colors|grey|grey\\\\\\\\.colors|grSoftVersion|hcl|hcl\\\\\\\\.colors|hcl\\\\\\\\.pals|heat\\\\\\\\.colors|Hershey|hsv|is\\\\\\\\.raster|jpeg|make\\\\\\\\.rgb|n2mfrow|nclass\\\\\\\\.FD|nclass\\\\\\\\.scott|nclass\\\\\\\\.Sturges|palette|palette\\\\\\\\.colors|palette\\\\\\\\.pals|pdf|pdfFonts|pdf\\\\\\\\.options|pictex|png|postscript|postscriptFonts|ps\\\\\\\\.options|quartz|quartzFonts??|quartz\\\\\\\\.options|quartz\\\\\\\\.save|rainbow|recordGraphics|recordPlot|replayPlot|rgb|rgb2hsv|savePlot|setEPS|setGraphicsEventEnv|setGraphicsEventHandlers|setPS|svg|terrain\\\\\\\\.colors|tiff|topo\\\\\\\\.colors|trans3d|Type1Font|x11|X11|X11Fonts??|X11\\\\\\\\.options|xfig|xy\\\\\\\\.coords|xyTable|xyz\\\\\\\\.coords)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(addNextMethod|allNames|Arith|as|asMethodDefinition|assignClassDef|assignMethodsMetaData|balanceMethodsList|cacheGenericsMetaData|cacheMetaData|cacheMethod|callGeneric|callNextMethod|canCoerce|cbind2|checkAtAssignment|checkSlotAssignment|classesToAM|classLabel|classMetaName|className|coerce|Compare|completeClassDefinition|completeExtends|completeSubclasses|Complex|conformMethod|defaultDumpName|defaultPrototype|doPrimitiveMethod|dumpMethods??|el|elNamed|empty\\\\\\\\.dump|emptyMethodsList|evalOnLoad|evalqOnLoad|evalSource|existsFunction|existsMethod|extends|externalRefMethod|finalDefaultMethod|findClass|findFunction|findMethods??|findMethodSignatures|findUnique|fixPre1\\\\\\\\.8|formalArgs|functionBody|generic\\\\\\\\.skeleton|getAllSuperClasses|getClass|getClassDef|getClasses|getDataPart|getFunction|getGenerics??|getGroup|getGroupMembers|getLoadActions|getMethods??|getMethodsForDispatch|getMethodsMetaData|getPackageName|getRefClass|getSlots|getValidity|hasArg|hasLoadAction|hasMethods??|implicitGeneric|inheritedSlotNames|initFieldArgs|initialize|initRefFields|insertClassMethods|insertMethod|insertSource|is|isClass|isClassDef|isClassUnion|isGeneric|isGrammarSymbol|isGroup|isRematched|isSealedClass|isSealedMethod|isVirtualClass|isXS3Class|kronecker|languageEl|linearizeMlist|listFromMethods|listFromMlist|loadMethod|Logic|makeClassRepresentation|makeExtends|makeGeneric|makeMethodsList|makePrototypeFromClassDef|makeStandardGeneric|matchSignature|Math2??|mergeMethods|metaNameUndo|MethodAddCoerce|methodSignatureMatrix|method\\\\\\\\.skeleton|MethodsList|MethodsListSelect|methodsPackageMetaName|missingArg|multipleClasses|new|newBasic|newClassRepresentation|newEmptyObject|Ops|packageSlot|possibleExtends|prohibitGeneric|promptClass|promptMethods|prototype|Quote|rbind2|reconcilePropertiesAndPrototype|registerImplicitGenerics|rematchDefinition|removeClass|removeGeneric|removeMethods??|representation|requireMethods|resetClass|resetGeneric|S3Class|S3Part|sealClass|selectMethod|selectSuperClasses|setAs|setClass|setClassUnion|setDataPart|setGeneric|setGenericImplicit|setGroupGeneric|setIs|setLoadActions??|setMethod|setOldClass|setPackageName|setPrimitiveMethods|setRefClass|setReplaceMethod|setValidity|show|showClass|showDefault|showExtends|showMethods|showMlist|signature|SignatureMethod|sigToEnv|slot|slotNames|slotsFromS3|substituteDirect|substituteFunctionArgs|Summary|superClassDepth|testInheritedMethods|testVirtual|tryNew|unRematchDefinition|validObject|validSlotNames)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(acf|acf2AR|add1|addmargins|add\\\\\\\\.scope|aggregate|aggregate\\\\\\\\.data\\\\\\\\.frame|aggregate\\\\\\\\.ts|AIC|alias|anova|ansari\\\\\\\\.test|aov|approx|approxfun|ar|ar\\\\\\\\.burg|arima0??|arima0\\\\\\\\.diag|arima\\\\\\\\.sim|ARMAacf|ARMAtoMA|ar\\\\\\\\.mle|ar\\\\\\\\.ols|ar\\\\\\\\.yw|as\\\\\\\\.dendrogram|as\\\\\\\\.dist|as\\\\\\\\.formula|as\\\\\\\\.hclust|asOneSidedFormula|as\\\\\\\\.stepfun|as\\\\\\\\.ts|ave|bandwidth\\\\\\\\.kernel|bartlett\\\\\\\\.test|BIC|binomial|binom\\\\\\\\.test|biplot|Box\\\\\\\\.test|bw\\\\\\\\.bcv|bw\\\\\\\\.nrd0??|bw\\\\\\\\.SJ|bw\\\\\\\\.ucv|C|cancor|case\\\\\\\\.names|ccf|chisq\\\\\\\\.test|cmdscale|coef|coefficients|complete\\\\\\\\.cases|confint|confint\\\\\\\\.default|confint\\\\\\\\.lm|constrOptim|contrasts|contr\\\\\\\\.helmert|contr\\\\\\\\.poly|contr\\\\\\\\.SAS|contr\\\\\\\\.sum|contr\\\\\\\\.treatment|convolve|cooks\\\\\\\\.distance|cophenetic|cor|cor\\\\\\\\.test|cov|cov2cor|covratio|cov\\\\\\\\.wt|cpgram|cutree|cycle|D|dbeta|dbinom|dcauchy|dchisq|decompose|delete\\\\\\\\.response|deltat|dendrapply|density|density\\\\\\\\.default|deriv3??|deviance|dexp|df|DF2formula|dfbetas??|dffits|df\\\\\\\\.kernel|df\\\\\\\\.residual|dgamma|dgeom|dhyper|diffinv|dist|dlnorm|dlogis|dmultinom|dnbinom|dnorm|dpois|drop1|drop\\\\\\\\.scope|drop\\\\\\\\.terms|dsignrank|dt|dummy\\\\\\\\.coef|dummy\\\\\\\\.coef\\\\\\\\.lm|dunif|dweibull|dwilcox|ecdf|eff\\\\\\\\.aovlist|effects|embed|end|estVar|expand\\\\\\\\.model\\\\\\\\.frame|extractAIC|factanal|factor\\\\\\\\.scope|family|fft|filter|fisher\\\\\\\\.test|fitted|fitted\\\\\\\\.values|fivenum|fligner\\\\\\\\.test|formula|frequency|friedman\\\\\\\\.test|ftable|Gamma|gaussian|get_all_vars|getCall|getInitial|glm|glm\\\\\\\\.control|glm\\\\\\\\.fit|hasTsp|hat|hatvalues|hclust|heatmap|HoltWinters|influence|influence\\\\\\\\.measures|integrate|interaction\\\\\\\\.plot|inverse\\\\\\\\.gaussian|IQR|is\\\\\\\\.empty\\\\\\\\.model|is\\\\\\\\.leaf|is\\\\\\\\.mts|isoreg|is\\\\\\\\.stepfun|is\\\\\\\\.ts|is\\\\\\\\.tskernel|KalmanForecast|KalmanLike|KalmanRun|KalmanSmooth|kernapply|kernel|kmeans|knots|kruskal\\\\\\\\.test|ksmooth|ks\\\\\\\\.test|lag|lag\\\\\\\\.plot|line|lm|lm\\\\\\\\.fit|lm\\\\\\\\.influence|lm\\\\\\\\.wfit|loadings|loess|loess\\\\\\\\.control|loess\\\\\\\\.smooth|logLik|loglin|lowess|ls\\\\\\\\.diag|lsfit|ls\\\\\\\\.print|mad|mahalanobis|makeARIMA|make\\\\\\\\.link|makepredictcall|manova|mantelhaen\\\\\\\\.test|mauchly\\\\\\\\.test|mcnemar\\\\\\\\.test|median|median\\\\\\\\.default|medpolish|model\\\\\\\\.extract|model\\\\\\\\.frame|model\\\\\\\\.frame\\\\\\\\.default|model\\\\\\\\.matrix|model\\\\\\\\.matrix\\\\\\\\.default|model\\\\\\\\.matrix\\\\\\\\.lm|model\\\\\\\\.offset|model\\\\\\\\.response|model\\\\\\\\.tables|model\\\\\\\\.weights|monthplot|mood\\\\\\\\.test|mvfft|na\\\\\\\\.action|na\\\\\\\\.contiguous|na\\\\\\\\.exclude|na\\\\\\\\.fail|na\\\\\\\\.omit|na\\\\\\\\.pass|napredict|naprint|naresid|nextn|nlm|nlminb|nls|nls\\\\\\\\.control|NLSstAsymptotic|NLSstClosestX|NLSstLfAsymptote|NLSstRtAsymptote|nobs|numericDeriv|offset|oneway\\\\\\\\.test|optim|optimHess|optimise|optimize|order\\\\\\\\.dendrogram|pacf|p\\\\\\\\.adjust|p\\\\\\\\.adjust\\\\\\\\.methods|Pair|pairwise\\\\\\\\.prop\\\\\\\\.test|pairwise\\\\\\\\.table|pairwise\\\\\\\\.t\\\\\\\\.test|pairwise\\\\\\\\.wilcox\\\\\\\\.test|pbeta|pbinom|pbirthday|pcauchy|pchisq|pexp|pf|pgamma|pgeom|phyper|plclust|plnorm|plogis|plot\\\\\\\\.ecdf|plot\\\\\\\\.spec\\\\\\\\.coherency|plot\\\\\\\\.spec\\\\\\\\.phase|plot\\\\\\\\.stepfun|plot\\\\\\\\.ts|pnbinom|pnorm|poisson|poisson\\\\\\\\.test|polym??|power|power\\\\\\\\.anova\\\\\\\\.test|power\\\\\\\\.prop\\\\\\\\.test|power\\\\\\\\.t\\\\\\\\.test|ppoints|ppois|ppr|PP\\\\\\\\.test|prcomp|predict|predict\\\\\\\\.glm|predict\\\\\\\\.lm|preplot|princomp|printCoefmat|profile|proj|promax|prop\\\\\\\\.test|prop\\\\\\\\.trend\\\\\\\\.test|psignrank|pt|ptukey|punif|pweibull|pwilcox|qbeta|qbinom|qbirthday|qcauchy|qchisq|qexp|qf|qgamma|qgeom|qhyper|qlnorm|qlogis|qnbinom|qnorm|qpois|qqline|qqnorm|qqplot|qsignrank|qt|qtukey|quade\\\\\\\\.test|quantile|quasi|quasibinomial|quasipoisson|qunif|qweibull|qwilcox|r2dtable|rbeta|rbinom|rcauchy|rchisq|read\\\\\\\\.ftable|rect\\\\\\\\.hclust|reformulate|relevel|reorder|replications|reshape|resid|residuals|residuals\\\\\\\\.glm|residuals\\\\\\\\.lm|rexp|rf|rgamma|rgeom|rhyper|rlnorm|rlogis|rmultinom|rnbinom|rnorm|rpois|rsignrank|rstandard|rstudent|rt|runif|runmed|rweibull|rwilcox|rWishart|scatter\\\\\\\\.smooth|screeplot|sd|se\\\\\\\\.contrast|selfStart|setNames|shapiro\\\\\\\\.test|sigma|simulate|smooth|smoothEnds|smooth\\\\\\\\.spline|sortedXyData|spec\\\\\\\\.ar|spec\\\\\\\\.pgram|spec\\\\\\\\.taper|spectrum|spline|splinefunH??|SSasymp|SSasympOff|SSasympOrig|SSbiexp|SSD|SSfol|SSfpl|SSgompertz|SSlogis|SSmicmen|SSweibull|start|stat\\\\\\\\.anova|step|stepfun|stl|StructTS|summary\\\\\\\\.aov|summary\\\\\\\\.glm|summary\\\\\\\\.lm|summary\\\\\\\\.manova|summary\\\\\\\\.stepfun|supsmu|symnum|termplot|terms|terms\\\\\\\\.formula|time|toeplitz|ts|tsdiag|ts\\\\\\\\.intersect|tsp|ts\\\\\\\\.plot|tsSmooth|ts\\\\\\\\.union|t\\\\\\\\.test|TukeyHSD|uniroot|update|update\\\\\\\\.default|update\\\\\\\\.formula|var|variable\\\\\\\\.names|varimax|var\\\\\\\\.test|vcov|weighted\\\\\\\\.mean|weighted\\\\\\\\.residuals|weights|wilcox\\\\\\\\.test|window|write\\\\\\\\.ftable|xtabs)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(adist|alarm|apropos|aregexec|argsAnywhere|asDateBuilt|askYesNo|aspell|aspell_package_C_files|aspell_package_Rd_files|aspell_package_R_files|aspell_package_vignettes|aspell_write_personal_dictionary_file|as\\\\\\\\.person|as\\\\\\\\.personList|as\\\\\\\\.relistable|as\\\\\\\\.roman|assignInMyNamespace|assignInNamespace|available\\\\\\\\.packages|bibentry|browseEnv|browseURL|browseVignettes|bug\\\\\\\\.report|capture\\\\\\\\.output|changedFiles|charClass|checkCRAN|chooseBioCmirror|chooseCRANmirror|citation|cite|citeNatbib|citEntry|citFooter|citHeader|close\\\\\\\\.socket|combn|compareVersion|contrib\\\\\\\\.url|count\\\\\\\\.fields|create\\\\\\\\.post|data|dataentry|data\\\\\\\\.entry|de|debugcall|debugger|demo|de\\\\\\\\.ncols|de\\\\\\\\.restore|de\\\\\\\\.setup|download\\\\\\\\.file|download\\\\\\\\.packages|dump\\\\\\\\.frames|edit|emacs|example|file\\\\\\\\.edit|fileSnapshot|file_test|find|findLineNum|fix|fixInNamespace|flush\\\\\\\\.console|formatOL|formatUL|getAnywhere|getCRANmirrors|getFromNamespace|getParseData|getParseText|getS3method|getSrcDirectory|getSrcFilename|getSrcLocation|getSrcref|getTxtProgressBar|glob2rx|globalVariables|hasName|head|head\\\\\\\\.matrix|help|help\\\\\\\\.request|help\\\\\\\\.search|help\\\\\\\\.start|history|hsearch_db|hsearch_db_concepts|hsearch_db_keywords|installed\\\\\\\\.packages|install\\\\\\\\.packages|is\\\\\\\\.relistable|isS3method|isS3stdGeneric|limitedLabels|loadhistory|localeToCharset|lsf\\\\\\\\.str|ls\\\\\\\\.str|maintainer|make\\\\\\\\.packages\\\\\\\\.html|makeRweaveLatexCodeRunner|make\\\\\\\\.socket|memory\\\\\\\\.limit|memory\\\\\\\\.size|menu|methods|mirror2html|modifyList|new\\\\\\\\.packages|news|nsl|object\\\\\\\\.size|old\\\\\\\\.packages|osVersion|packageDate|packageDescription|packageName|package\\\\\\\\.skeleton|packageStatus|packageVersion|page|person|personList|pico|process\\\\\\\\.events|prompt|promptData|promptImport|promptPackage|rc\\\\\\\\.getOption|rc\\\\\\\\.options|rc\\\\\\\\.settings|rc\\\\\\\\.status|readCitationFile|read\\\\\\\\.csv2??|read\\\\\\\\.delim2??|read\\\\\\\\.DIF|read\\\\\\\\.fortran|read\\\\\\\\.fwf|read\\\\\\\\.socket|read\\\\\\\\.table|recover|relist|remove\\\\\\\\.packages|removeSource|Rprof|Rprofmem|RShowDoc|RSiteSearch|rtags|Rtangle|RtangleFinish|RtangleRuncode|RtangleSetup|RtangleWritedoc|RweaveChunkPrefix|RweaveEvalWithOpt|RweaveLatex|RweaveLatexFinish|RweaveLatexOptions|RweaveLatexSetup|RweaveLatexWritedoc|RweaveTryStop|savehistory|select\\\\\\\\.list|sessionInfo|setBreakpoint|setRepositories|setTxtProgressBar|stack|Stangle|str|strcapture|strOptions|summaryRprof|suppressForeignCheck|Sweave|SweaveHooks|SweaveSyntaxLatex|SweaveSyntaxNoweb|SweaveSyntConv|tail|tail\\\\\\\\.matrix|tar|timestamp|toBibtex|toLatex|txtProgressBar|type\\\\\\\\.convert|undebugcall|unstack|untar|unzip|update\\\\\\\\.packages|upgrade|URLdecode|URLencode|url\\\\\\\\.show|vi|View|vignette|warnErrList|write\\\\\\\\.csv2??|write\\\\\\\\.socket|write\\\\\\\\.table|xedit|xemacs|zip)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.pragma.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.pragma.name.r\\\"}},\\\"match\\\":\\\"^(#pragma[\\\\\\\\t ]+mark)[\\\\\\\\t ](.*)\\\",\\\"name\\\":\\\"comment.line.pragma-mark.r\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.r\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.r\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.r\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(pi|letters|LETTERS|month\\\\\\\\.abb|month\\\\\\\\.name)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.misc.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b(TRUE|FALSE|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_|Inf|NaN)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b0([Xx])\\\\\\\\h+i\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.imaginary.hexadecimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?i\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.imaginary.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\.[0-9]+(?:([Ee])([-+])?[0-9]+)?i\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.imaginary.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b0([Xx])\\\\\\\\h+L\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?L\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b0([Xx])\\\\\\\\h+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hexadecimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\.[0-9]+(?:([Ee])([-+])?[0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.decimal.r\\\"}]},\\\"function-call-arguments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)(?=\\\\\\\\s*=[^=])\\\",\\\"name\\\":\\\"variable.parameter.function-call.r\\\"},{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.r\\\"},{\\\"include\\\":\\\"source.r\\\"}]},\\\"function-calls\\\":{\\\"begin\\\":\\\"(?:[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},\\\"function-declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},{\\\"match\\\":\\\"%(between|chin|do|dopar|in|like|\\\\\\\\+replace|[+:]|T>|<>|[$>])%\\\",\\\"name\\\":\\\"keyword.operator.other.r\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.other.r\\\"},{\\\"match\\\":\\\":::?\\\",\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},{\\\"match\\\":\\\"(%%|\\\\\\\\*\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.r\\\"},{\\\"match\\\":\\\"(<-|->)\\\",\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},{\\\"match\\\":\\\"\\\\\\\\|>\\\",\\\"name\\\":\\\"keyword.operator.assignment.redirection.r\\\"},{\\\"match\\\":\\\"(==|!=|<>|<=?|>=?)\\\",\\\"name\\\":\\\"keyword.operator.comparison.r\\\"},{\\\"match\\\":\\\"(&&?|\\\\\\\\|\\\\\\\\|?)\\\",\\\"name\\\":\\\"keyword.operator.logical.r\\\"},{\\\"match\\\":\\\":=\\\",\\\"name\\\":\\\"keyword.operator.other.r\\\"},{\\\"match\\\":\\\"[-*+/^]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.r\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.logical.r\\\"},{\\\"match\\\":\\\"[:@~]\\\",\\\"name\\\":\\\"keyword.other.r\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.semicolon.r\\\"}]},\\\"roxygen\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#')\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.r\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.roxygen.r\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.r\\\"}},\\\"match\\\":\\\"(@param)\\\\\\\\s*([.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\"},{\\\"match\\\":\\\"@[0-9A-Za-z]+\\\",\\\"name\\\":\\\"keyword.other.r\\\"}]}]},\\\"storage-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(character|complex|double|expression|integer|list|logical|numeric|single|raw|pairlist)\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[Rr]\\\\\\\"(-*)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"]\\\\\\\\1\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]'(-*)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"]\\\\\\\\1'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]\\\\\\\"(-*)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"}\\\\\\\\1\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]'(-*)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"}\\\\\\\\1'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]\\\\\\\"(-*)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\1\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]'(-*)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\1'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.raw.r\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.r\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.r\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.r\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.r\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.r\\\"}]}]}},\\\"scopeName\\\":\\\"source.r\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "r" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,i8sCAAk2vC,CAAC,EAE13vCC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C39BiMTA.js b/src/webview-ui/build/assets/chunk-C39BiMTA.js new file mode 100644 index 0000000000..8a8c119d5b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C39BiMTA.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#011627","activityBar.border":"#011627","activityBar.dropBackground":"#5f7e97","activityBar.foreground":"#5f7e97","activityBarBadge.background":"#44596b","activityBarBadge.foreground":"#ffffff","badge.background":"#5f7e97","badge.foreground":"#ffffff","breadcrumb.activeSelectionForeground":"#FFFFFF","breadcrumb.focusForeground":"#ffffff","breadcrumb.foreground":"#A599E9","breadcrumbPicker.background":"#001122","button.background":"#7e57c2cc","button.foreground":"#ffffffcc","button.hoverBackground":"#7e57c2","contrastBorder":"#122d42","debugExceptionWidget.background":"#011627","debugExceptionWidget.border":"#5f7e97","debugToolBar.background":"#011627","diffEditor.insertedTextBackground":"#99b76d23","diffEditor.removedTextBackground":"#ef535033","dropdown.background":"#011627","dropdown.border":"#5f7e97","dropdown.foreground":"#ffffffcc","editor.background":"#011627","editor.findMatchBackground":"#5f7e9779","editor.findMatchHighlightBackground":"#1085bb5d","editor.findRangeHighlightBackground":null,"editor.foreground":"#d6deeb","editor.hoverHighlightBackground":"#7e57c25a","editor.inactiveSelectionBackground":"#7e57c25a","editor.lineHighlightBackground":"#28707d29","editor.lineHighlightBorder":null,"editor.rangeHighlightBackground":"#7e57c25a","editor.selectionBackground":"#1d3b53","editor.selectionHighlightBackground":"#5f7e9779","editor.wordHighlightBackground":"#f6bbe533","editor.wordHighlightStrongBackground":"#e2a2f433","editorCodeLens.foreground":"#5e82ceb4","editorCursor.foreground":"#80a4c2","editorError.border":null,"editorError.foreground":"#EF5350","editorGroup.border":"#011627","editorGroup.dropBackground":"#7e57c273","editorGroup.emptyBackground":"#011627","editorGroupHeader.noTabsBackground":"#011627","editorGroupHeader.tabsBackground":"#011627","editorGroupHeader.tabsBorder":"#262A39","editorGutter.addedBackground":"#9CCC65","editorGutter.background":"#011627","editorGutter.deletedBackground":"#EF5350","editorGutter.modifiedBackground":"#e2b93d","editorHoverWidget.background":"#011627","editorHoverWidget.border":"#5f7e97","editorIndentGuide.activeBackground":"#7E97AC","editorIndentGuide.background":"#5e81ce52","editorInlayHint.background":"#0000","editorInlayHint.foreground":"#829D9D","editorLineNumber.activeForeground":"#C5E4FD","editorLineNumber.foreground":"#4b6479","editorLink.activeForeground":null,"editorMarkerNavigation.background":"#0b2942","editorMarkerNavigationError.background":"#EF5350","editorMarkerNavigationWarning.background":"#FFCA28","editorOverviewRuler.commonContentForeground":"#7e57c2","editorOverviewRuler.currentContentForeground":"#7e57c2","editorOverviewRuler.incomingContentForeground":"#7e57c2","editorRuler.foreground":"#5e81ce52","editorSuggestWidget.background":"#2C3043","editorSuggestWidget.border":"#2B2F40","editorSuggestWidget.foreground":"#d6deeb","editorSuggestWidget.highlightForeground":"#ffffff","editorSuggestWidget.selectedBackground":"#5f7e97","editorWarning.border":null,"editorWarning.foreground":"#b39554","editorWhitespace.foreground":null,"editorWidget.background":"#021320","editorWidget.border":"#5f7e97","errorForeground":"#EF5350","extensionButton.prominentBackground":"#7e57c2cc","extensionButton.prominentForeground":"#ffffffcc","extensionButton.prominentHoverBackground":"#7e57c2","focusBorder":"#122d42","foreground":"#d6deeb","gitDecoration.conflictingResourceForeground":"#ffeb95cc","gitDecoration.deletedResourceForeground":"#EF535090","gitDecoration.ignoredResourceForeground":"#395a75","gitDecoration.modifiedResourceForeground":"#a2bffc","gitDecoration.untrackedResourceForeground":"#c5e478ff","input.background":"#0b253a","input.border":"#5f7e97","input.foreground":"#ffffffcc","input.placeholderForeground":"#5f7e97","inputOption.activeBorder":"#ffffffcc","inputValidation.errorBackground":"#AB0300F2","inputValidation.errorBorder":"#EF5350","inputValidation.infoBackground":"#00589EF2","inputValidation.infoBorder":"#64B5F6","inputValidation.warningBackground":"#675700F2","inputValidation.warningBorder":"#FFCA28","list.activeSelectionBackground":"#234d708c","list.activeSelectionForeground":"#ffffff","list.dropBackground":"#011627","list.focusBackground":"#010d18","list.focusForeground":"#ffffff","list.highlightForeground":"#ffffff","list.hoverBackground":"#011627","list.hoverForeground":"#ffffff","list.inactiveSelectionBackground":"#0e293f","list.inactiveSelectionForeground":"#5f7e97","list.invalidItemForeground":"#975f94","merge.border":null,"merge.currentContentBackground":null,"merge.currentHeaderBackground":"#5f7e97","merge.incomingContentBackground":null,"merge.incomingHeaderBackground":"#7e57c25a","meta.objectliteral.js":"#82AAFF","notificationCenter.border":"#262a39","notificationLink.foreground":"#80CBC4","notificationToast.border":"#262a39","notifications.background":"#01111d","notifications.border":"#262a39","notifications.foreground":"#ffffffcc","panel.background":"#011627","panel.border":"#5f7e97","panelTitle.activeBorder":"#5f7e97","panelTitle.activeForeground":"#ffffffcc","panelTitle.inactiveForeground":"#d6deeb80","peekView.border":"#5f7e97","peekViewEditor.background":"#011627","peekViewEditor.matchHighlightBackground":"#7e57c25a","peekViewResult.background":"#011627","peekViewResult.fileForeground":"#5f7e97","peekViewResult.lineForeground":"#5f7e97","peekViewResult.matchHighlightBackground":"#ffffffcc","peekViewResult.selectionBackground":"#2E3250","peekViewResult.selectionForeground":"#5f7e97","peekViewTitle.background":"#011627","peekViewTitleDescription.foreground":"#697098","peekViewTitleLabel.foreground":"#5f7e97","pickerGroup.border":"#011627","pickerGroup.foreground":"#d1aaff","progress.background":"#7e57c2","punctuation.definition.generic.begin.html":"#ef5350f2","scrollbar.shadow":"#010b14","scrollbarSlider.activeBackground":"#084d8180","scrollbarSlider.background":"#084d8180","scrollbarSlider.hoverBackground":"#084d8180","selection.background":"#4373c2","sideBar.background":"#011627","sideBar.border":"#011627","sideBar.foreground":"#89a4bb","sideBarSectionHeader.background":"#011627","sideBarSectionHeader.foreground":"#5f7e97","sideBarTitle.foreground":"#5f7e97","source.elm":"#5f7e97","statusBar.background":"#011627","statusBar.border":"#262A39","statusBar.debuggingBackground":"#202431","statusBar.debuggingBorder":"#1F2330","statusBar.debuggingForeground":null,"statusBar.foreground":"#5f7e97","statusBar.noFolderBackground":"#011627","statusBar.noFolderBorder":"#25293A","statusBar.noFolderForeground":null,"statusBarItem.activeBackground":"#202431","statusBarItem.hoverBackground":"#202431","statusBarItem.prominentBackground":"#202431","statusBarItem.prominentHoverBackground":"#202431","string.quoted.single.js":"#ffffff","tab.activeBackground":"#0b2942","tab.activeBorder":"#262A39","tab.activeForeground":"#d2dee7","tab.border":"#272B3B","tab.inactiveBackground":"#01111d","tab.inactiveForeground":"#5f7e97","tab.unfocusedActiveBorder":"#262A39","tab.unfocusedActiveForeground":"#5f7e97","tab.unfocusedInactiveForeground":"#5f7e97","terminal.ansiBlack":"#011627","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#575656","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#7fdbca","terminal.ansiBrightGreen":"#22da6e","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#EF5350","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#ffeb95","terminal.ansiCyan":"#21c7a8","terminal.ansiGreen":"#22da6e","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#EF5350","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#c5e478","terminal.selectionBackground":"#1b90dd4d","terminalCursor.background":"#234d70","textCodeBlock.background":"#4f4f4f","titleBar.activeBackground":"#011627","titleBar.activeForeground":"#eeefff","titleBar.inactiveBackground":"#010e1a","titleBar.inactiveForeground":null,"walkThrough.embeddedEditorBackground":"#011627","welcomePage.buttonBackground":"#011627","welcomePage.buttonHoverBackground":"#011627","widget.shadow":"#011627"},"displayName":"Night Owl","name":"night-owl","semanticHighlighting":false,"tokenColors":[{"scope":["markup.changed","meta.diff.header.git","meta.diff.header.from-file","meta.diff.header.to-file"],"settings":{"fontStyle":"italic","foreground":"#a2bffc"}},{"scope":"markup.deleted.diff","settings":{"fontStyle":"italic","foreground":"#EF535090"}},{"scope":"markup.inserted.diff","settings":{"fontStyle":"italic","foreground":"#c5e478ff"}},{"settings":{"background":"#011627","foreground":"#d6deeb"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#637777"}},{"scope":"string","settings":{"foreground":"#ecc48d"}},{"scope":["string.quoted","variable.other.readwrite.js"],"settings":{"foreground":"#ecc48d"}},{"scope":"support.constant.math","settings":{"foreground":"#c5e478"}},{"scope":["constant.numeric","constant.character.numeric"],"settings":{"fontStyle":"","foreground":"#F78C6C"}},{"scope":["constant.language","punctuation.definition.constant","variable.other.constant"],"settings":{"foreground":"#82AAFF"}},{"scope":["constant.character","constant.other"],"settings":{"foreground":"#82AAFF"}},{"scope":"constant.character.escape","settings":{"foreground":"#F78C6C"}},{"scope":["string.regexp","string.regexp keyword.other"],"settings":{"foreground":"#5ca7e4"}},{"scope":"meta.function punctuation.separator.comma","settings":{"foreground":"#5f7e97"}},{"scope":"variable","settings":{"foreground":"#c5e478"}},{"scope":["punctuation.accessor","keyword"],"settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":["storage","meta.var.expr","meta.class meta.method.declaration meta.var.expr storage.type.js","storage.type.property.js","storage.type.property.ts","storage.type.property.tsx"],"settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"storage.type","settings":{"foreground":"#c792ea"}},{"scope":"storage.type.function.arrow.js","settings":{"fontStyle":""}},{"scope":["entity.name.class","meta.class entity.name.type.class"],"settings":{"foreground":"#ffcb8b"}},{"scope":"entity.other.inherited-class","settings":{"foreground":"#c5e478"}},{"scope":"entity.name.function","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":["punctuation.definition.tag","meta.tag"],"settings":{"foreground":"#7fdbca"}},{"scope":["entity.name.tag","meta.tag.other.html","meta.tag.other.js","meta.tag.other.tsx","entity.name.tag.tsx","entity.name.tag.js","entity.name.tag","meta.tag.js","meta.tag.tsx","meta.tag.html"],"settings":{"fontStyle":"","foreground":"#caece6"}},{"scope":"entity.other.attribute-name","settings":{"fontStyle":"italic","foreground":"#c5e478"}},{"scope":"entity.name.tag.custom","settings":{"foreground":"#f78c6c"}},{"scope":["support.function","support.constant"],"settings":{"foreground":"#82AAFF"}},{"scope":"support.constant.meta.property-value","settings":{"foreground":"#7fdbca"}},{"scope":["support.type","support.class"],"settings":{"foreground":"#c5e478"}},{"scope":"support.variable.dom","settings":{"foreground":"#c5e478"}},{"scope":"invalid","settings":{"background":"#ff2c83","foreground":"#ffffff"}},{"scope":"invalid.deprecated","settings":{"background":"#d3423e","foreground":"#ffffff"}},{"scope":"keyword.operator","settings":{"fontStyle":"","foreground":"#7fdbca"}},{"scope":"keyword.operator.relational","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"keyword.operator.assignment","settings":{"foreground":"#c792ea"}},{"scope":"keyword.operator.arithmetic","settings":{"foreground":"#c792ea"}},{"scope":"keyword.operator.bitwise","settings":{"foreground":"#c792ea"}},{"scope":"keyword.operator.increment","settings":{"foreground":"#c792ea"}},{"scope":"keyword.operator.ternary","settings":{"foreground":"#c792ea"}},{"scope":"comment.line.double-slash","settings":{"foreground":"#637777"}},{"scope":"object","settings":{"foreground":"#cdebf7"}},{"scope":"constant.language.null","settings":{"foreground":"#ff5874"}},{"scope":"meta.brace","settings":{"foreground":"#d6deeb"}},{"scope":"meta.delimiter.period","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"punctuation.definition.string","settings":{"foreground":"#d9f5dd"}},{"scope":"punctuation.definition.string.begin.markdown","settings":{"foreground":"#ff5874"}},{"scope":"constant.language.boolean","settings":{"foreground":"#ff5874"}},{"scope":"object.comma","settings":{"foreground":"#ffffff"}},{"scope":"variable.parameter.function","settings":{"fontStyle":"","foreground":"#7fdbca"}},{"scope":["support.type.vendor.property-name","support.constant.vendor.property-value","support.type.property-name","meta.property-list entity.name.tag"],"settings":{"fontStyle":"","foreground":"#80CBC4"}},{"scope":"meta.property-list entity.name.tag.reference","settings":{"foreground":"#57eaf1"}},{"scope":"constant.other.color.rgb-value punctuation.definition.constant","settings":{"foreground":"#F78C6C"}},{"scope":"constant.other.color","settings":{"foreground":"#FFEB95"}},{"scope":"keyword.other.unit","settings":{"foreground":"#FFEB95"}},{"scope":"meta.selector","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#FAD430"}},{"scope":"meta.property-name","settings":{"foreground":"#80CBC4"}},{"scope":["entity.name.tag.doctype","meta.tag.sgml.doctype"],"settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"punctuation.definition.parameters","settings":{"foreground":"#d9f5dd"}},{"scope":"keyword.control.operator","settings":{"foreground":"#7fdbca"}},{"scope":"keyword.operator.logical","settings":{"fontStyle":"","foreground":"#c792ea"}},{"scope":["variable.instance","variable.other.instance","variable.readwrite.instance","variable.other.readwrite.instance","variable.other.property"],"settings":{"foreground":"#baebe2"}},{"scope":["variable.other.object.property"],"settings":{"fontStyle":"italic","foreground":"#faf39f"}},{"scope":["variable.other.object.js"],"settings":{"fontStyle":""}},{"scope":["entity.name.function"],"settings":{"fontStyle":"italic","foreground":"#82AAFF"}},{"scope":["variable.language.this.js"],"settings":{"fontStyle":"italic","foreground":"#41eec6"}},{"scope":["keyword.operator.comparison","keyword.control.flow.js","keyword.control.flow.ts","keyword.control.flow.tsx","keyword.control.ruby","keyword.control.module.ruby","keyword.control.class.ruby","keyword.control.def.ruby","keyword.control.loop.js","keyword.control.loop.ts","keyword.control.import.js","keyword.control.import.ts","keyword.control.import.tsx","keyword.control.from.js","keyword.control.from.ts","keyword.control.from.tsx","keyword.operator.instanceof.js","keyword.operator.expression.instanceof.ts","keyword.operator.expression.instanceof.tsx"],"settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":["keyword.control.conditional.js","keyword.control.conditional.ts","keyword.control.switch.js","keyword.control.switch.ts"],"settings":{"fontStyle":"","foreground":"#c792ea"}},{"scope":["support.constant","keyword.other.special-method","keyword.other.new","keyword.other.debugger","keyword.control"],"settings":{"foreground":"#7fdbca"}},{"scope":"support.function","settings":{"foreground":"#c5e478"}},{"scope":"invalid.broken","settings":{"background":"#F78C6C","foreground":"#020e14"}},{"scope":"invalid.unimplemented","settings":{"background":"#8BD649","foreground":"#ffffff"}},{"scope":"invalid.illegal","settings":{"background":"#ec5f67","foreground":"#ffffff"}},{"scope":"variable.language","settings":{"foreground":"#7fdbca"}},{"scope":"support.variable.property","settings":{"foreground":"#7fdbca"}},{"scope":"variable.function","settings":{"foreground":"#82AAFF"}},{"scope":"variable.interpolation","settings":{"foreground":"#ec5f67"}},{"scope":"meta.function-call","settings":{"foreground":"#82AAFF"}},{"scope":"punctuation.section.embedded","settings":{"foreground":"#d3423e"}},{"scope":["punctuation.terminator.expression","punctuation.definition.arguments","punctuation.definition.array","punctuation.section.array","meta.array"],"settings":{"foreground":"#d6deeb"}},{"scope":["punctuation.definition.list.begin","punctuation.definition.list.end","punctuation.separator.arguments","punctuation.definition.list"],"settings":{"foreground":"#d9f5dd"}},{"scope":"string.template meta.template.expression","settings":{"foreground":"#d3423e"}},{"scope":"string.template punctuation.definition.string","settings":{"foreground":"#d6deeb"}},{"scope":"italic","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"bold","settings":{"fontStyle":"bold","foreground":"#c5e478"}},{"scope":"quote","settings":{"fontStyle":"italic","foreground":"#697098"}},{"scope":"raw","settings":{"foreground":"#80CBC4"}},{"scope":"variable.assignment.coffee","settings":{"foreground":"#31e1eb"}},{"scope":"variable.parameter.function.coffee","settings":{"foreground":"#d6deeb"}},{"scope":"variable.assignment.coffee","settings":{"foreground":"#7fdbca"}},{"scope":"variable.other.readwrite.cs","settings":{"foreground":"#d6deeb"}},{"scope":["entity.name.type.class.cs","storage.type.cs"],"settings":{"foreground":"#ffcb8b"}},{"scope":"entity.name.type.namespace.cs","settings":{"foreground":"#B2CCD6"}},{"scope":"string.unquoted.preprocessor.message.cs","settings":{"foreground":"#d6deeb"}},{"scope":["punctuation.separator.hash.cs","keyword.preprocessor.region.cs","keyword.preprocessor.endregion.cs"],"settings":{"fontStyle":"bold","foreground":"#ffcb8b"}},{"scope":"variable.other.object.cs","settings":{"foreground":"#B2CCD6"}},{"scope":"entity.name.type.enum.cs","settings":{"foreground":"#c5e478"}},{"scope":["string.interpolated.single.dart","string.interpolated.double.dart"],"settings":{"foreground":"#FFCB8B"}},{"scope":"support.class.dart","settings":{"foreground":"#FFCB8B"}},{"scope":["entity.name.tag.css","entity.name.tag.less","entity.name.tag.custom.css","support.constant.property-value.css"],"settings":{"fontStyle":"","foreground":"#ff6363"}},{"scope":["entity.name.tag.wildcard.css","entity.name.tag.wildcard.less","entity.name.tag.wildcard.scss","entity.name.tag.wildcard.sass"],"settings":{"foreground":"#7fdbca"}},{"scope":"keyword.other.unit.css","settings":{"foreground":"#FFEB95"}},{"scope":["meta.attribute-selector.css entity.other.attribute-name.attribute","variable.other.readwrite.js"],"settings":{"foreground":"#F78C6C"}},{"scope":["source.elixir support.type.elixir","source.elixir meta.module.elixir entity.name.class.elixir"],"settings":{"foreground":"#82AAFF"}},{"scope":"source.elixir entity.name.function","settings":{"foreground":"#c5e478"}},{"scope":["source.elixir constant.other.symbol.elixir","source.elixir constant.other.keywords.elixir"],"settings":{"foreground":"#82AAFF"}},{"scope":"source.elixir punctuation.definition.string","settings":{"foreground":"#c5e478"}},{"scope":["source.elixir variable.other.readwrite.module.elixir","source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir"],"settings":{"foreground":"#c5e478"}},{"scope":"source.elixir .punctuation.binary.elixir","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"constant.keyword.clojure","settings":{"foreground":"#7fdbca"}},{"scope":"source.go meta.function-call.go","settings":{"foreground":"#DDDDDD"}},{"scope":["source.go keyword.package.go","source.go keyword.import.go","source.go keyword.function.go","source.go keyword.type.go","source.go keyword.struct.go","source.go keyword.interface.go","source.go keyword.const.go","source.go keyword.var.go","source.go keyword.map.go","source.go keyword.channel.go","source.go keyword.control.go"],"settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":["source.go constant.language.go","source.go constant.other.placeholder.go"],"settings":{"foreground":"#ff5874"}},{"scope":["entity.name.function.preprocessor.cpp","entity.scope.name.cpp"],"settings":{"foreground":"#7fdbcaff"}},{"scope":["meta.namespace-block.cpp"],"settings":{"foreground":"#e0dec6"}},{"scope":["storage.type.language.primitive.cpp"],"settings":{"foreground":"#ff5874"}},{"scope":["meta.preprocessor.macro.cpp"],"settings":{"foreground":"#d6deeb"}},{"scope":["variable.parameter"],"settings":{"foreground":"#ffcb8b"}},{"scope":["variable.other.readwrite.powershell"],"settings":{"foreground":"#82AAFF"}},{"scope":["support.function.powershell"],"settings":{"foreground":"#7fdbcaff"}},{"scope":"entity.other.attribute-name.id.html","settings":{"foreground":"#c5e478"}},{"scope":"punctuation.definition.tag.html","settings":{"foreground":"#6ae9f0"}},{"scope":"meta.tag.sgml.doctype.html","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"meta.class entity.name.type.class.js","settings":{"foreground":"#ffcb8b"}},{"scope":"meta.method.declaration storage.type.js","settings":{"foreground":"#82AAFF"}},{"scope":"terminator.js","settings":{"foreground":"#d6deeb"}},{"scope":"meta.js punctuation.definition.js","settings":{"foreground":"#d6deeb"}},{"scope":["entity.name.type.instance.jsdoc","entity.name.type.instance.phpdoc"],"settings":{"foreground":"#5f7e97"}},{"scope":["variable.other.jsdoc","variable.other.phpdoc"],"settings":{"foreground":"#78ccf0"}},{"scope":["variable.other.meta.import.js","meta.import.js variable.other","variable.other.meta.export.js","meta.export.js variable.other"],"settings":{"foreground":"#d6deeb"}},{"scope":"variable.parameter.function.js","settings":{"foreground":"#7986E7"}},{"scope":["variable.other.object.js","variable.other.object.jsx","variable.object.property.js","variable.object.property.jsx"],"settings":{"foreground":"#d6deeb"}},{"scope":["variable.js","variable.other.js"],"settings":{"foreground":"#d6deeb"}},{"scope":["entity.name.type.js","entity.name.type.module.js"],"settings":{"fontStyle":"","foreground":"#ffcb8b"}},{"scope":"support.class.js","settings":{"foreground":"#d6deeb"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#7fdbca"}},{"scope":"support.constant.json","settings":{"foreground":"#c5e478"}},{"scope":"meta.structure.dictionary.value.json string.quoted.double","settings":{"foreground":"#c789d6"}},{"scope":"string.quoted.double.json punctuation.definition.string.json","settings":{"foreground":"#80CBC4"}},{"scope":"meta.structure.dictionary.json meta.structure.dictionary.value constant.language","settings":{"foreground":"#ff5874"}},{"scope":"variable.other.object.js","settings":{"fontStyle":"italic","foreground":"#7fdbca"}},{"scope":["variable.other.ruby"],"settings":{"foreground":"#d6deeb"}},{"scope":["entity.name.type.class.ruby"],"settings":{"foreground":"#ecc48d"}},{"scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#7fdbca"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#7fdbca"}},{"scope":"entity.name.tag.less","settings":{"foreground":"#7fdbca"}},{"scope":"keyword.other.unit.css","settings":{"foreground":"#FFEB95"}},{"scope":"meta.attribute-selector.less entity.other.attribute-name.attribute","settings":{"foreground":"#F78C6C"}},{"scope":["markup.heading","markup.heading.setext.1","markup.heading.setext.2"],"settings":{"foreground":"#82b1ff"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#c5e478"}},{"scope":"markup.quote","settings":{"fontStyle":"italic","foreground":"#697098"}},{"scope":"markup.inline.raw","settings":{"foreground":"#80CBC4"}},{"scope":["markup.underline.link","markup.underline.link.image"],"settings":{"foreground":"#ff869a"}},{"scope":["string.other.link.title.markdown","string.other.link.description.markdown"],"settings":{"foreground":"#d6deeb"}},{"scope":["punctuation.definition.string.markdown","punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","meta.link.inline.markdown punctuation.definition.string"],"settings":{"foreground":"#82b1ff"}},{"scope":["punctuation.definition.metadata.markdown"],"settings":{"foreground":"#7fdbca"}},{"scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#82b1ff"}},{"scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#c5e478"}},{"scope":["variable.other.php","variable.other.property.php"],"settings":{"foreground":"#bec5d4"}},{"scope":"support.class.php","settings":{"foreground":"#ffcb8b"}},{"scope":"meta.function-call.php punctuation","settings":{"foreground":"#d6deeb"}},{"scope":"variable.other.global.php","settings":{"foreground":"#c5e478"}},{"scope":"variable.other.global.php punctuation.definition.variable","settings":{"foreground":"#c5e478"}},{"scope":"constant.language.python","settings":{"foreground":"#ff5874"}},{"scope":["variable.parameter.function.python","meta.function-call.arguments.python"],"settings":{"foreground":"#82AAFF"}},{"scope":["meta.function-call.python","meta.function-call.generic.python"],"settings":{"foreground":"#B2CCD6"}},{"scope":"punctuation.python","settings":{"foreground":"#d6deeb"}},{"scope":"entity.name.function.decorator.python","settings":{"foreground":"#c5e478"}},{"scope":"source.python variable.language.special","settings":{"foreground":"#8EACE3"}},{"scope":"keyword.control","settings":{"fontStyle":"italic","foreground":"#c792ea"}},{"scope":["variable.scss","variable.sass","variable.parameter.url.scss","variable.parameter.url.sass"],"settings":{"foreground":"#c5e478"}},{"scope":["source.css.scss meta.at-rule variable","source.css.sass meta.at-rule variable"],"settings":{"foreground":"#82AAFF"}},{"scope":["source.css.scss meta.at-rule variable","source.css.sass meta.at-rule variable"],"settings":{"foreground":"#bec5d4"}},{"scope":["meta.attribute-selector.scss entity.other.attribute-name.attribute","meta.attribute-selector.sass entity.other.attribute-name.attribute"],"settings":{"foreground":"#F78C6C"}},{"scope":["entity.name.tag.scss","entity.name.tag.sass"],"settings":{"foreground":"#7fdbca"}},{"scope":["keyword.other.unit.scss","keyword.other.unit.sass"],"settings":{"foreground":"#FFEB95"}},{"scope":["variable.other.readwrite.alias.ts","variable.other.readwrite.alias.tsx","variable.other.readwrite.ts","variable.other.readwrite.tsx","variable.other.object.ts","variable.other.object.tsx","variable.object.property.ts","variable.object.property.tsx","variable.other.ts","variable.other.tsx","variable.tsx","variable.ts"],"settings":{"foreground":"#d6deeb"}},{"scope":["entity.name.type.ts","entity.name.type.tsx"],"settings":{"foreground":"#ffcb8b"}},{"scope":["support.class.node.ts","support.class.node.tsx"],"settings":{"foreground":"#82AAFF"}},{"scope":["meta.type.parameters.ts entity.name.type","meta.type.parameters.tsx entity.name.type"],"settings":{"foreground":"#5f7e97"}},{"scope":["meta.import.ts punctuation.definition.block","meta.import.tsx punctuation.definition.block","meta.export.ts punctuation.definition.block","meta.export.tsx punctuation.definition.block"],"settings":{"foreground":"#d6deeb"}},{"scope":["meta.decorator punctuation.decorator.ts","meta.decorator punctuation.decorator.tsx"],"settings":{"foreground":"#82AAFF"}},{"scope":"meta.tag.js meta.jsx.children.tsx","settings":{"foreground":"#82AAFF"}},{"scope":"entity.name.tag.yaml","settings":{"foreground":"#7fdbca"}},{"scope":["variable.other.readwrite.js","variable.parameter"],"settings":{"foreground":"#d7dbe0"}},{"scope":["support.class.component.js","support.class.component.tsx"],"settings":{"fontStyle":"","foreground":"#f78c6c"}},{"scope":["meta.jsx.children","meta.jsx.children.js","meta.jsx.children.tsx"],"settings":{"foreground":"#d6deeb"}},{"scope":"meta.class entity.name.type.class.tsx","settings":{"foreground":"#ffcb8b"}},{"scope":["entity.name.type.tsx","entity.name.type.module.tsx"],"settings":{"foreground":"#ffcb8b"}},{"scope":["meta.class.ts meta.var.expr.ts storage.type.ts","meta.class.tsx meta.var.expr.tsx storage.type.tsx"],"settings":{"foreground":"#C792EA"}},{"scope":["meta.method.declaration storage.type.ts","meta.method.declaration storage.type.tsx"],"settings":{"foreground":"#82AAFF"}},{"scope":"markup.deleted","settings":{"foreground":"#ff0000"}},{"scope":"markup.inserted","settings":{"foreground":"#036A07"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":["meta.property-list.css meta.property-value.css variable.other.less","meta.property-list.scss variable.scss","meta.property-list.sass variable.sass","meta.brace","keyword.operator.operator","keyword.operator.or.regexp","keyword.operator.expression.in","keyword.operator.relational","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.type","keyword.operator","keyword","punctuation.definintion.string","punctuation","variable.other.readwrite.js","storage.type","source.css","string.quoted"],"settings":{"fontStyle":""}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-C39BiMTA.js.map diff --git a/src/webview-ui/build/assets/chunk-C39BiMTA.js.map b/src/webview-ui/build/assets/chunk-C39BiMTA.js.map new file mode 100644 index 0000000000..3678b3e0e2 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C39BiMTA.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-C39BiMTA.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/night-owl.mjs" + ], + "sourcesContent": [ + "/* Theme: night-owl */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#011627\\\",\\\"activityBar.border\\\":\\\"#011627\\\",\\\"activityBar.dropBackground\\\":\\\"#5f7e97\\\",\\\"activityBar.foreground\\\":\\\"#5f7e97\\\",\\\"activityBarBadge.background\\\":\\\"#44596b\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#5f7e97\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#FFFFFF\\\",\\\"breadcrumb.focusForeground\\\":\\\"#ffffff\\\",\\\"breadcrumb.foreground\\\":\\\"#A599E9\\\",\\\"breadcrumbPicker.background\\\":\\\"#001122\\\",\\\"button.background\\\":\\\"#7e57c2cc\\\",\\\"button.foreground\\\":\\\"#ffffffcc\\\",\\\"button.hoverBackground\\\":\\\"#7e57c2\\\",\\\"contrastBorder\\\":\\\"#122d42\\\",\\\"debugExceptionWidget.background\\\":\\\"#011627\\\",\\\"debugExceptionWidget.border\\\":\\\"#5f7e97\\\",\\\"debugToolBar.background\\\":\\\"#011627\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#99b76d23\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ef535033\\\",\\\"dropdown.background\\\":\\\"#011627\\\",\\\"dropdown.border\\\":\\\"#5f7e97\\\",\\\"dropdown.foreground\\\":\\\"#ffffffcc\\\",\\\"editor.background\\\":\\\"#011627\\\",\\\"editor.findMatchBackground\\\":\\\"#5f7e9779\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#1085bb5d\\\",\\\"editor.findRangeHighlightBackground\\\":null,\\\"editor.foreground\\\":\\\"#d6deeb\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#7e57c25a\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#7e57c25a\\\",\\\"editor.lineHighlightBackground\\\":\\\"#28707d29\\\",\\\"editor.lineHighlightBorder\\\":null,\\\"editor.rangeHighlightBackground\\\":\\\"#7e57c25a\\\",\\\"editor.selectionBackground\\\":\\\"#1d3b53\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#5f7e9779\\\",\\\"editor.wordHighlightBackground\\\":\\\"#f6bbe533\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#e2a2f433\\\",\\\"editorCodeLens.foreground\\\":\\\"#5e82ceb4\\\",\\\"editorCursor.foreground\\\":\\\"#80a4c2\\\",\\\"editorError.border\\\":null,\\\"editorError.foreground\\\":\\\"#EF5350\\\",\\\"editorGroup.border\\\":\\\"#011627\\\",\\\"editorGroup.dropBackground\\\":\\\"#7e57c273\\\",\\\"editorGroup.emptyBackground\\\":\\\"#011627\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#011627\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#011627\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#262A39\\\",\\\"editorGutter.addedBackground\\\":\\\"#9CCC65\\\",\\\"editorGutter.background\\\":\\\"#011627\\\",\\\"editorGutter.deletedBackground\\\":\\\"#EF5350\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#e2b93d\\\",\\\"editorHoverWidget.background\\\":\\\"#011627\\\",\\\"editorHoverWidget.border\\\":\\\"#5f7e97\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#7E97AC\\\",\\\"editorIndentGuide.background\\\":\\\"#5e81ce52\\\",\\\"editorInlayHint.background\\\":\\\"#0000\\\",\\\"editorInlayHint.foreground\\\":\\\"#829D9D\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#C5E4FD\\\",\\\"editorLineNumber.foreground\\\":\\\"#4b6479\\\",\\\"editorLink.activeForeground\\\":null,\\\"editorMarkerNavigation.background\\\":\\\"#0b2942\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#EF5350\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#FFCA28\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#7e57c2\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#7e57c2\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#7e57c2\\\",\\\"editorRuler.foreground\\\":\\\"#5e81ce52\\\",\\\"editorSuggestWidget.background\\\":\\\"#2C3043\\\",\\\"editorSuggestWidget.border\\\":\\\"#2B2F40\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#d6deeb\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#ffffff\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#5f7e97\\\",\\\"editorWarning.border\\\":null,\\\"editorWarning.foreground\\\":\\\"#b39554\\\",\\\"editorWhitespace.foreground\\\":null,\\\"editorWidget.background\\\":\\\"#021320\\\",\\\"editorWidget.border\\\":\\\"#5f7e97\\\",\\\"errorForeground\\\":\\\"#EF5350\\\",\\\"extensionButton.prominentBackground\\\":\\\"#7e57c2cc\\\",\\\"extensionButton.prominentForeground\\\":\\\"#ffffffcc\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#7e57c2\\\",\\\"focusBorder\\\":\\\"#122d42\\\",\\\"foreground\\\":\\\"#d6deeb\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#ffeb95cc\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#EF535090\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#395a75\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#a2bffc\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#c5e478ff\\\",\\\"input.background\\\":\\\"#0b253a\\\",\\\"input.border\\\":\\\"#5f7e97\\\",\\\"input.foreground\\\":\\\"#ffffffcc\\\",\\\"input.placeholderForeground\\\":\\\"#5f7e97\\\",\\\"inputOption.activeBorder\\\":\\\"#ffffffcc\\\",\\\"inputValidation.errorBackground\\\":\\\"#AB0300F2\\\",\\\"inputValidation.errorBorder\\\":\\\"#EF5350\\\",\\\"inputValidation.infoBackground\\\":\\\"#00589EF2\\\",\\\"inputValidation.infoBorder\\\":\\\"#64B5F6\\\",\\\"inputValidation.warningBackground\\\":\\\"#675700F2\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCA28\\\",\\\"list.activeSelectionBackground\\\":\\\"#234d708c\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.dropBackground\\\":\\\"#011627\\\",\\\"list.focusBackground\\\":\\\"#010d18\\\",\\\"list.focusForeground\\\":\\\"#ffffff\\\",\\\"list.highlightForeground\\\":\\\"#ffffff\\\",\\\"list.hoverBackground\\\":\\\"#011627\\\",\\\"list.hoverForeground\\\":\\\"#ffffff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#0e293f\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#5f7e97\\\",\\\"list.invalidItemForeground\\\":\\\"#975f94\\\",\\\"merge.border\\\":null,\\\"merge.currentContentBackground\\\":null,\\\"merge.currentHeaderBackground\\\":\\\"#5f7e97\\\",\\\"merge.incomingContentBackground\\\":null,\\\"merge.incomingHeaderBackground\\\":\\\"#7e57c25a\\\",\\\"meta.objectliteral.js\\\":\\\"#82AAFF\\\",\\\"notificationCenter.border\\\":\\\"#262a39\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notificationToast.border\\\":\\\"#262a39\\\",\\\"notifications.background\\\":\\\"#01111d\\\",\\\"notifications.border\\\":\\\"#262a39\\\",\\\"notifications.foreground\\\":\\\"#ffffffcc\\\",\\\"panel.background\\\":\\\"#011627\\\",\\\"panel.border\\\":\\\"#5f7e97\\\",\\\"panelTitle.activeBorder\\\":\\\"#5f7e97\\\",\\\"panelTitle.activeForeground\\\":\\\"#ffffffcc\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#d6deeb80\\\",\\\"peekView.border\\\":\\\"#5f7e97\\\",\\\"peekViewEditor.background\\\":\\\"#011627\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#7e57c25a\\\",\\\"peekViewResult.background\\\":\\\"#011627\\\",\\\"peekViewResult.fileForeground\\\":\\\"#5f7e97\\\",\\\"peekViewResult.lineForeground\\\":\\\"#5f7e97\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffffffcc\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#2E3250\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#5f7e97\\\",\\\"peekViewTitle.background\\\":\\\"#011627\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#697098\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#5f7e97\\\",\\\"pickerGroup.border\\\":\\\"#011627\\\",\\\"pickerGroup.foreground\\\":\\\"#d1aaff\\\",\\\"progress.background\\\":\\\"#7e57c2\\\",\\\"punctuation.definition.generic.begin.html\\\":\\\"#ef5350f2\\\",\\\"scrollbar.shadow\\\":\\\"#010b14\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#084d8180\\\",\\\"scrollbarSlider.background\\\":\\\"#084d8180\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#084d8180\\\",\\\"selection.background\\\":\\\"#4373c2\\\",\\\"sideBar.background\\\":\\\"#011627\\\",\\\"sideBar.border\\\":\\\"#011627\\\",\\\"sideBar.foreground\\\":\\\"#89a4bb\\\",\\\"sideBarSectionHeader.background\\\":\\\"#011627\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#5f7e97\\\",\\\"sideBarTitle.foreground\\\":\\\"#5f7e97\\\",\\\"source.elm\\\":\\\"#5f7e97\\\",\\\"statusBar.background\\\":\\\"#011627\\\",\\\"statusBar.border\\\":\\\"#262A39\\\",\\\"statusBar.debuggingBackground\\\":\\\"#202431\\\",\\\"statusBar.debuggingBorder\\\":\\\"#1F2330\\\",\\\"statusBar.debuggingForeground\\\":null,\\\"statusBar.foreground\\\":\\\"#5f7e97\\\",\\\"statusBar.noFolderBackground\\\":\\\"#011627\\\",\\\"statusBar.noFolderBorder\\\":\\\"#25293A\\\",\\\"statusBar.noFolderForeground\\\":null,\\\"statusBarItem.activeBackground\\\":\\\"#202431\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#202431\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#202431\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#202431\\\",\\\"string.quoted.single.js\\\":\\\"#ffffff\\\",\\\"tab.activeBackground\\\":\\\"#0b2942\\\",\\\"tab.activeBorder\\\":\\\"#262A39\\\",\\\"tab.activeForeground\\\":\\\"#d2dee7\\\",\\\"tab.border\\\":\\\"#272B3B\\\",\\\"tab.inactiveBackground\\\":\\\"#01111d\\\",\\\"tab.inactiveForeground\\\":\\\"#5f7e97\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#262A39\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#5f7e97\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#5f7e97\\\",\\\"terminal.ansiBlack\\\":\\\"#011627\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#575656\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7fdbca\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#22da6e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#EF5350\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffeb95\\\",\\\"terminal.ansiCyan\\\":\\\"#21c7a8\\\",\\\"terminal.ansiGreen\\\":\\\"#22da6e\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#EF5350\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#c5e478\\\",\\\"terminal.selectionBackground\\\":\\\"#1b90dd4d\\\",\\\"terminalCursor.background\\\":\\\"#234d70\\\",\\\"textCodeBlock.background\\\":\\\"#4f4f4f\\\",\\\"titleBar.activeBackground\\\":\\\"#011627\\\",\\\"titleBar.activeForeground\\\":\\\"#eeefff\\\",\\\"titleBar.inactiveBackground\\\":\\\"#010e1a\\\",\\\"titleBar.inactiveForeground\\\":null,\\\"walkThrough.embeddedEditorBackground\\\":\\\"#011627\\\",\\\"welcomePage.buttonBackground\\\":\\\"#011627\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#011627\\\",\\\"widget.shadow\\\":\\\"#011627\\\"},\\\"displayName\\\":\\\"Night Owl\\\",\\\"name\\\":\\\"night-owl\\\",\\\"semanticHighlighting\\\":false,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"markup.changed\\\",\\\"meta.diff.header.git\\\",\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a2bffc\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#EF535090\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c5e478ff\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#011627\\\",\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#637777\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ecc48d\\\"}},{\\\"scope\\\":[\\\"string.quoted\\\",\\\"variable.other.readwrite.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ecc48d\\\"}},{\\\"scope\\\":\\\"support.constant.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.character.numeric\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"punctuation.definition.constant\\\",\\\"variable.other.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"string.regexp keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5ca7e4\\\"}},{\\\"scope\\\":\\\"meta.function punctuation.separator.comma\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5f7e97\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\",\\\"keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"meta.var.expr\\\",\\\"meta.class meta.method.declaration meta.var.expr storage.type.js\\\",\\\"storage.type.property.js\\\",\\\"storage.type.property.ts\\\",\\\"storage.type.property.tsx\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"storage.type.function.arrow.js\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"meta.class entity.name.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\",\\\"meta.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.other.html\\\",\\\"meta.tag.other.js\\\",\\\"meta.tag.other.tsx\\\",\\\"entity.name.tag.tsx\\\",\\\"entity.name.tag.js\\\",\\\"entity.name.tag\\\",\\\"meta.tag.js\\\",\\\"meta.tag.tsx\\\",\\\"meta.tag.html\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#caece6\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"entity.name.tag.custom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f78c6c\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"support.constant.meta.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"support.variable.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ff2c83\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"background\\\":\\\"#d3423e\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.operator.relational\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.arithmetic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.bitwise\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.increment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.ternary\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"comment.line.double-slash\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#637777\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdebf7\\\"}},{\\\"scope\\\":\\\"constant.language.null\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"meta.brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"meta.delimiter.period\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d9f5dd\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"object.comma\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"support.type.vendor.property-name\\\",\\\"support.constant.vendor.property-value\\\",\\\"support.type.property-name\\\",\\\"meta.property-list entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":\\\"meta.property-list entity.name.tag.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#57eaf1\\\"}},{\\\"scope\\\":\\\"constant.other.color.rgb-value punctuation.definition.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"constant.other.color\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FAD430\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.doctype\\\",\\\"meta.tag.sgml.doctype\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"punctuation.definition.parameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d9f5dd\\\"}},{\\\"scope\\\":\\\"keyword.control.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"variable.instance\\\",\\\"variable.other.instance\\\",\\\"variable.readwrite.instance\\\",\\\"variable.other.readwrite.instance\\\",\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#baebe2\\\"}},{\\\"scope\\\":[\\\"variable.other.object.property\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#faf39f\\\"}},{\\\"scope\\\":[\\\"variable.other.object.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"variable.language.this.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#41eec6\\\"}},{\\\"scope\\\":[\\\"keyword.operator.comparison\\\",\\\"keyword.control.flow.js\\\",\\\"keyword.control.flow.ts\\\",\\\"keyword.control.flow.tsx\\\",\\\"keyword.control.ruby\\\",\\\"keyword.control.module.ruby\\\",\\\"keyword.control.class.ruby\\\",\\\"keyword.control.def.ruby\\\",\\\"keyword.control.loop.js\\\",\\\"keyword.control.loop.ts\\\",\\\"keyword.control.import.js\\\",\\\"keyword.control.import.ts\\\",\\\"keyword.control.import.tsx\\\",\\\"keyword.control.from.js\\\",\\\"keyword.control.from.ts\\\",\\\"keyword.control.from.tsx\\\",\\\"keyword.operator.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.instanceof.tsx\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"keyword.control.conditional.js\\\",\\\"keyword.control.conditional.ts\\\",\\\"keyword.control.switch.js\\\",\\\"keyword.control.switch.ts\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"keyword.other.special-method\\\",\\\"keyword.other.new\\\",\\\"keyword.other.debugger\\\",\\\"keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"background\\\":\\\"#F78C6C\\\",\\\"foreground\\\":\\\"#020e14\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"background\\\":\\\"#8BD649\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ec5f67\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"support.variable.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"variable.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ec5f67\\\"}},{\\\"scope\\\":\\\"meta.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3423e\\\"}},{\\\"scope\\\":[\\\"punctuation.terminator.expression\\\",\\\"punctuation.definition.arguments\\\",\\\"punctuation.definition.array\\\",\\\"punctuation.section.array\\\",\\\"meta.array\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin\\\",\\\"punctuation.definition.list.end\\\",\\\"punctuation.separator.arguments\\\",\\\"punctuation.definition.list\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d9f5dd\\\"}},{\\\"scope\\\":\\\"string.template meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3423e\\\"}},{\\\"scope\\\":\\\"string.template punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#697098\\\"}},{\\\"scope\\\":\\\"raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":\\\"variable.assignment.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#31e1eb\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"variable.assignment.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class.cs\\\",\\\"storage.type.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"string.unquoted.preprocessor.message.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"punctuation.separator.hash.cs\\\",\\\"keyword.preprocessor.region.cs\\\",\\\"keyword.preprocessor.endregion.cs\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"variable.other.object.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"entity.name.type.enum.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"string.interpolated.single.dart\\\",\\\"string.interpolated.double.dart\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB8B\\\"}},{\\\"scope\\\":\\\"support.class.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB8B\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\",\\\"entity.name.tag.less\\\",\\\"entity.name.tag.custom.css\\\",\\\"support.constant.property-value.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ff6363\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.wildcard.css\\\",\\\"entity.name.tag.wildcard.less\\\",\\\"entity.name.tag.wildcard.scss\\\",\\\"entity.name.tag.wildcard.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":[\\\"meta.attribute-selector.css entity.other.attribute-name.attribute\\\",\\\"variable.other.readwrite.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"source.elixir support.type.elixir\\\",\\\"source.elixir meta.module.elixir entity.name.class.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.elixir entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"source.elixir constant.other.symbol.elixir\\\",\\\"source.elixir constant.other.keywords.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.elixir punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"source.elixir variable.other.readwrite.module.elixir\\\",\\\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"source.elixir .punctuation.binary.elixir\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"constant.keyword.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"source.go meta.function-call.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DDDDDD\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package.go\\\",\\\"source.go keyword.import.go\\\",\\\"source.go keyword.function.go\\\",\\\"source.go keyword.type.go\\\",\\\"source.go keyword.struct.go\\\",\\\"source.go keyword.interface.go\\\",\\\"source.go keyword.const.go\\\",\\\"source.go keyword.var.go\\\",\\\"source.go keyword.map.go\\\",\\\"source.go keyword.channel.go\\\",\\\"source.go keyword.control.go\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"source.go constant.language.go\\\",\\\"source.go constant.other.placeholder.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":[\\\"entity.name.function.preprocessor.cpp\\\",\\\"entity.scope.name.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbcaff\\\"}},{\\\"scope\\\":[\\\"meta.namespace-block.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0dec6\\\"}},{\\\"scope\\\":[\\\"storage.type.language.primitive.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor.macro.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbcaff\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6ae9f0\\\"}},{\\\"scope\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"meta.class entity.name.type.class.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"meta.method.declaration storage.type.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"terminator.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"meta.js punctuation.definition.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.instance.jsdoc\\\",\\\"entity.name.type.instance.phpdoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5f7e97\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"variable.other.phpdoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#78ccf0\\\"}},{\\\"scope\\\":[\\\"variable.other.meta.import.js\\\",\\\"meta.import.js variable.other\\\",\\\"variable.other.meta.export.js\\\",\\\"meta.export.js variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7986E7\\\"}},{\\\"scope\\\":[\\\"variable.other.object.js\\\",\\\"variable.other.object.jsx\\\",\\\"variable.object.property.js\\\",\\\"variable.object.property.jsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"variable.js\\\",\\\"variable.other.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.js\\\",\\\"entity.name.type.module.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"support.class.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"support.constant.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.value.json string.quoted.double\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c789d6\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json punctuation.definition.string.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"variable.other.object.js\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"variable.other.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ecc48d\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.hashkey.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"entity.name.tag.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":\\\"meta.attribute-selector.less entity.other.attribute-name.attribute\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading.setext.1\\\",\\\"markup.heading.setext.2\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82b1ff\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#697098\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"markup.underline.link.image\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff869a\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\",\\\"string.other.link.description.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.markdown\\\",\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"meta.link.inline.markdown punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82b1ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82b1ff\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"variable.other.php\\\",\\\"variable.other.property.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bec5d4\\\"}},{\\\"scope\\\":\\\"support.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"meta.function-call.php punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"variable.other.global.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"variable.other.global.php punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\",\\\"meta.function-call.generic.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"punctuation.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"source.python variable.language.special\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8EACE3\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"variable.scss\\\",\\\"variable.sass\\\",\\\"variable.parameter.url.scss\\\",\\\"variable.parameter.url.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"source.css.scss meta.at-rule variable\\\",\\\"source.css.sass meta.at-rule variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"source.css.scss meta.at-rule variable\\\",\\\"source.css.sass meta.at-rule variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bec5d4\\\"}},{\\\"scope\\\":[\\\"meta.attribute-selector.scss entity.other.attribute-name.attribute\\\",\\\"meta.attribute-selector.sass entity.other.attribute-name.attribute\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.scss\\\",\\\"entity.name.tag.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit.scss\\\",\\\"keyword.other.unit.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.alias.ts\\\",\\\"variable.other.readwrite.alias.tsx\\\",\\\"variable.other.readwrite.ts\\\",\\\"variable.other.readwrite.tsx\\\",\\\"variable.other.object.ts\\\",\\\"variable.other.object.tsx\\\",\\\"variable.object.property.ts\\\",\\\"variable.object.property.tsx\\\",\\\"variable.other.ts\\\",\\\"variable.other.tsx\\\",\\\"variable.tsx\\\",\\\"variable.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.ts\\\",\\\"entity.name.type.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"support.class.node.ts\\\",\\\"support.class.node.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.type.parameters.ts entity.name.type\\\",\\\"meta.type.parameters.tsx entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5f7e97\\\"}},{\\\"scope\\\":[\\\"meta.import.ts punctuation.definition.block\\\",\\\"meta.import.tsx punctuation.definition.block\\\",\\\"meta.export.ts punctuation.definition.block\\\",\\\"meta.export.tsx punctuation.definition.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"meta.decorator punctuation.decorator.ts\\\",\\\"meta.decorator punctuation.decorator.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.tag.js meta.jsx.children.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.js\\\",\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7dbe0\\\"}},{\\\"scope\\\":[\\\"support.class.component.js\\\",\\\"support.class.component.tsx\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f78c6c\\\"}},{\\\"scope\\\":[\\\"meta.jsx.children\\\",\\\"meta.jsx.children.js\\\",\\\"meta.jsx.children.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"meta.class entity.name.type.class.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"entity.name.type.tsx\\\",\\\"entity.name.type.module.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"meta.class.ts meta.var.expr.ts storage.type.ts\\\",\\\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.method.declaration storage.type.ts\\\",\\\"meta.method.declaration storage.type.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff0000\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#036A07\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.property-list.css meta.property-value.css variable.other.less\\\",\\\"meta.property-list.scss variable.scss\\\",\\\"meta.property-list.sass variable.sass\\\",\\\"meta.brace\\\",\\\"keyword.operator.operator\\\",\\\"keyword.operator.or.regexp\\\",\\\"keyword.operator.expression.in\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.comparison\\\",\\\"keyword.operator.type\\\",\\\"keyword.operator\\\",\\\"keyword\\\",\\\"punctuation.definintion.string\\\",\\\"punctuation\\\",\\\"variable.other.readwrite.js\\\",\\\"storage.type\\\",\\\"source.css\\\",\\\"string.quoted\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "nightOwl" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,ur4BAAy4+B,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C3B-1QV4.js b/src/webview-ui/build/assets/chunk-C3B-1QV4.js new file mode 100644 index 0000000000..3d1036ba52 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3B-1QV4.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Rel","name":"rel","patterns":[{"include":"#strings"},{"include":"#comment"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#deprecated-temporary"},{"include":"#operators"},{"include":"#symbols"},{"include":"#keywords"},{"include":"#otherkeywords"},{"include":"#types"},{"include":"#constants"}],"repository":{"comment":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.rel"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.rel"}},"name":"comment.block.documentation.rel","patterns":[{"include":"#docblock"}]},{"begin":"(/\\\\*)(?:\\\\s*((@)internal)(?=\\\\s|(\\\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.rel"},"2":{"name":"storage.type.internaldeclaration.rel"},"3":{"name":"punctuation.decorator.internaldeclaration.rel"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.rel"}},"name":"comment.block.rel"},{"begin":"doc\\"\\"\\"","end":"\\"\\"\\"","name":"comment.block.documentation.rel"},{"begin":"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.rel"},"2":{"name":"comment.line.double-slash.rel"},"3":{"name":"punctuation.definition.comment.rel"},"4":{"name":"storage.type.internaldeclaration.rel"},"5":{"name":"punctuation.decorator.internaldeclaration.rel"}},"contentName":"comment.line.double-slash.rel","end":"(?=$)"}]},"constants":{"patterns":[{"match":"\\\\b((true|false))\\\\b","name":"constant.language.rel"}]},"deprecated-temporary":{"patterns":[{"match":"@inspect","name":"keyword.other.rel"}]},"keywords":{"patterns":[{"match":"\\\\b((def|entity|bound|include|ic|forall|exists|[∀∃]|return|module|^end))\\\\b|(((<)?\\\\|(>)?)|[∀∃])","name":"keyword.control.rel"}]},"operators":{"patterns":[{"match":"\\\\b((if|then|else|and|or|not|eq|neq|lt|lt_eq|gt|gt_eq))\\\\b|([-%*+/=^÷]|!=|[<≠]|<=|[>≤]|>=|[\\\\&≥])|\\\\s+(end)","name":"keyword.other.rel"}]},"otherkeywords":{"patterns":[{"match":"\\\\s*(@inline)\\\\s*|\\\\s*(@auto_number)\\\\s*|\\\\s*(function)\\\\s|\\\\b((implies|select|from|∈|where|for|in))\\\\b|(((<)?\\\\|(>)?)|∈)","name":"keyword.other.rel"}]},"single-line-comment-consuming-line-ending":{"begin":"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.rel"},"2":{"name":"comment.line.double-slash.rel"},"3":{"name":"punctuation.definition.comment.rel"},"4":{"name":"storage.type.internaldeclaration.rel"},"5":{"name":"punctuation.decorator.internaldeclaration.rel"}},"contentName":"comment.line.double-slash.rel","end":"(?=^)"},"strings":{"begin":"\\"","end":"\\"","name":"string.quoted.double.rel","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.rel"}]},"symbols":{"patterns":[{"match":"(:[$\\\\[_[:alpha:]](]|[$_[:alnum:]]*))","name":"variable.parameter.rel"}]},"types":{"patterns":[{"match":"\\\\b((Symbol|Char|Bool|Rational|FixedDecimal|Float16|Float32|Float64|Int8|Int16|Int32|Int64|Int128|UInt8|UInt16|UInt32|UInt64|UInt128|Date|DateTime|Day|Week|Month|Year|Nanosecond|Microsecond|Millisecond|Second|Minute|Hour|FilePos|HashValue|AutoNumberValue))\\\\b","name":"entity.name.type.rel"}]}},"scopeName":"source.rel"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-C3B-1QV4.js.map diff --git a/src/webview-ui/build/assets/chunk-C3B-1QV4.js.map b/src/webview-ui/build/assets/chunk-C3B-1QV4.js.map new file mode 100644 index 0000000000..ab38e32148 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3B-1QV4.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C3B-1QV4.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/rel.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Rel\\\",\\\"name\\\":\\\"rel\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#deprecated-temporary\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#symbols\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#otherkeywords\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#constants\\\"}],\\\"repository\\\":{\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rel\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rel\\\"}},\\\"name\\\":\\\"comment.block.documentation.rel\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rel\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.rel\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.rel\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rel\\\"}},\\\"name\\\":\\\"comment.block.rel\\\"},{\\\"begin\\\":\\\"doc\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"comment.block.documentation.rel\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.rel\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.rel\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rel\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.rel\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.rel\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.rel\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((true|false))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.rel\\\"}]},\\\"deprecated-temporary\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"@inspect\\\",\\\"name\\\":\\\"keyword.other.rel\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((def|entity|bound|include|ic|forall|exists|[∀∃]|return|module|^end))\\\\\\\\b|(((<)?\\\\\\\\|(>)?)|[∀∃])\\\",\\\"name\\\":\\\"keyword.control.rel\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((if|then|else|and|or|not|eq|neq|lt|lt_eq|gt|gt_eq))\\\\\\\\b|([-%*+/=^÷]|!=|[<≠]|<=|[>≤]|>=|[\\\\\\\\&≥])|\\\\\\\\s+(end)\\\",\\\"name\\\":\\\"keyword.other.rel\\\"}]},\\\"otherkeywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*(@inline)\\\\\\\\s*|\\\\\\\\s*(@auto_number)\\\\\\\\s*|\\\\\\\\s*(function)\\\\\\\\s|\\\\\\\\b((implies|select|from|∈|where|for|in))\\\\\\\\b|(((<)?\\\\\\\\|(>)?)|∈)\\\",\\\"name\\\":\\\"keyword.other.rel\\\"}]},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.rel\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.rel\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.rel\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.rel\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.rel\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.rel\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"strings\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.rel\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.rel\\\"}]},\\\"symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(:[$\\\\\\\\[_[:alpha:]](]|[$_[:alnum:]]*))\\\",\\\"name\\\":\\\"variable.parameter.rel\\\"}]},\\\"types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((Symbol|Char|Bool|Rational|FixedDecimal|Float16|Float32|Float64|Int8|Int16|Int32|Int64|Int128|UInt8|UInt16|UInt32|UInt64|UInt128|Date|DateTime|Day|Week|Month|Year|Nanosecond|Microsecond|Millisecond|Second|Minute|Hour|FilePos|HashValue|AutoNumberValue))\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.rel\\\"}]}},\\\"scopeName\\\":\\\"source.rel\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "rel" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qtGAAqjH,CAAC,EAE7kHC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C3IMAYVA.js b/src/webview-ui/build/assets/chunk-C3IMAYVA.js new file mode 100644 index 0000000000..9e57615e31 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3IMAYVA.js @@ -0,0 +1,9 @@ +import a from "./chunk-D3lLCCz7.js" +const e = Object.freeze( + JSON.parse( + '{"displayName":"ShaderLab","name":"shaderlab","patterns":[{"begin":"//","end":"$","name":"comment.line.double-slash.shaderlab"},{"match":"\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\b","name":"support.type.basic.shaderlab"},{"include":"#numbers"},{"match":"\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\b","name":"storage.type.structure.shaderlab"},{"match":"\\\\b(?i:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\\\\b","name":"support.type.propertyname.shaderlab"},{"match":"\\\\b(?i:Back|Front|On|Off|[ABGR]{1,3}|AmbientAndDiffuse|Emission)\\\\b","name":"support.constant.property-value.shaderlab"},{"match":"\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\b","name":"support.constant.property-value.comparisonfunction.shaderlab"},{"match":"\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\b","name":"support.constant.property-value.stenciloperation.shaderlab"},{"match":"\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\b","name":"support.constant.property-value.texturecombiners.shaderlab"},{"match":"\\\\b(?i:Global|Linear|Exp2?)\\\\b","name":"support.constant.property-value.fog.shaderlab"},{"match":"\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\b","name":"support.constant.property-value.bindchannels.shaderlab"},{"match":"\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\b","name":"support.constant.property-value.blendoperations.shaderlab"},{"match":"\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\b","name":"support.constant.property-value.blendfactors.shaderlab"},{"match":"\\\\[([A-Z_a-z][0-9A-Z_a-z]*)](?!\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\s*\\\\(\\")","name":"support.variable.reference.shaderlab"},{"begin":"(\\\\[)","end":"(])","name":"meta.attribute.shaderlab","patterns":[{"match":"\\\\G([A-Za-z]+)\\\\b","name":"support.type.attributename.shaderlab"},{"include":"#numbers"}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(","name":"support.variable.declaration.shaderlab"},{"begin":"\\\\b(CG(?:PROGRAM|INCLUDE))\\\\b","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\b(ENDCG)\\\\b","endCaptures":{"1":{"name":"keyword.other"}},"name":"meta.cgblock","patterns":[{"include":"#hlsl-embedded"}]},{"begin":"\\\\b(HLSL(?:PROGRAM|INCLUDE))\\\\b","beginCaptures":{"1":{"name":"keyword.other"}},"end":"\\\\b(ENDHLSL)\\\\b","endCaptures":{"1":{"name":"keyword.other"}},"name":"meta.hlslblock","patterns":[{"include":"#hlsl-embedded"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.shaderlab"}],"repository":{"hlsl-embedded":{"patterns":[{"include":"source.hlsl"},{"match":"\\\\b(fixed([1-4](x[1-4])?)?)\\\\b","name":"storage.type.basic.shaderlab"},{"match":"\\\\b(UNITY_MATRIX_MVP?|UNITY_MATRIX_M|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_I_V|UNITY_MATRIX_IT_MV|_Object2World|_World2Object|unity_ObjectToWorld|unity_WorldToObject)\\\\b","name":"support.variable.transformations.shaderlab"},{"match":"\\\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\\\b","name":"support.variable.camera.shaderlab"},{"match":"\\\\b((?:_|_Sin|_Cos|unity_Delta)Time)\\\\b","name":"support.variable.time.shaderlab"},{"match":"\\\\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\\\\b","name":"support.variable.lighting.shaderlab"},{"match":"\\\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\\\b","name":"support.variable.fog.shaderlab"},{"match":"\\\\b(unity_LODFade)\\\\b","name":"support.variable.various.shaderlab"},{"match":"\\\\b(SHADER_API_(?:D3D9|D3D11|GLCORE|OPENGL|GLES3??|METAL|D3D11_9X|PSSL|XBOXONE|PSP2|WIIU|MOBILE|GLSL))\\\\b","name":"support.variable.preprocessor.targetplatform.shaderlab"},{"match":"\\\\b(SHADER_TARGET)\\\\b","name":"support.variable.preprocessor.targetmodel.shaderlab"},{"match":"\\\\b(UNITY_VERSION)\\\\b","name":"support.variable.preprocessor.unityversion.shaderlab"},{"match":"\\\\b(UNITY_(?:BRANCH|FLATTEN|NO_SCREENSPACE_SHADOWS|NO_LINEAR_COLORSPACE|NO_RGBM|NO_DXT5nm|FRAMEBUFFER_FETCH_AVAILABLE|USE_RGBA_FOR_POINT_SHADOWS|ATTEN_CHANNEL|HALF_TEXEL_OFFSET|UV_STARTS_AT_TOP|MIGHT_NOT_HAVE_DEPTH_Texture|NEAR_CLIP_VALUE|VPOS_TYPE|CAN_COMPILE_TESSELLATION|COMPILER_HLSL|COMPILER_HLSL2GLSL|COMPILER_CG|REVERSED_Z))\\\\b","name":"support.variable.preprocessor.platformdifference.shaderlab"},{"match":"\\\\b(UNITY_PASS_(?:FORWARDBASE|FORWARDADD|DEFERRED|SHADOWCASTER|PREPASSBASE|PREPASSFINAL))\\\\b","name":"support.variable.preprocessor.texture2D.shaderlab"},{"match":"\\\\b(appdata_(?:base|tan|full|img))\\\\b","name":"support.class.structures.shaderlab"},{"match":"\\\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\\\b","name":"support.class.surface.shaderlab"}]},"numbers":{"patterns":[{"match":"\\\\b([0-9]+\\\\.?[0-9]*)\\\\b","name":"constant.numeric.shaderlab"}]}},"scopeName":"source.shaderlab","embeddedLangs":["hlsl"],"aliases":["shader"]}', + ), + ), + t = [...a, e] +export { t as default } +//# sourceMappingURL=chunk-C3IMAYVA.js.map diff --git a/src/webview-ui/build/assets/chunk-C3IMAYVA.js.map b/src/webview-ui/build/assets/chunk-C3IMAYVA.js.map new file mode 100644 index 0000000000..35fdb5e403 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3IMAYVA.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-C3IMAYVA.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/shaderlab.mjs" + ], + "sourcesContent": [ + "import hlsl from './hlsl.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ShaderLab\\\",\\\"name\\\":\\\"shaderlab\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.basic.shaderlab\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.structure.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.propertyname.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Back|Front|On|Off|[ABGR]{1,3}|AmbientAndDiffuse|Emission)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.comparisonfunction.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.stenciloperation.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.texturecombiners.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Global|Linear|Exp2?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fog.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.bindchannels.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.blendoperations.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.blendfactors.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\[([A-Z_a-z][0-9A-Z_a-z]*)](?!\\\\\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*\\\\\\\\(\\\\\\\")\\\",\\\"name\\\":\\\"support.variable.reference.shaderlab\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"end\\\":\\\"(])\\\",\\\"name\\\":\\\"meta.attribute.shaderlab\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G([A-Za-z]+)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.attributename.shaderlab\\\"},{\\\"include\\\":\\\"#numbers\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\(\\\",\\\"name\\\":\\\"support.variable.declaration.shaderlab\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(CG(?:PROGRAM|INCLUDE))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other\\\"}},\\\"end\\\":\\\"\\\\\\\\b(ENDCG)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other\\\"}},\\\"name\\\":\\\"meta.cgblock\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#hlsl-embedded\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(HLSL(?:PROGRAM|INCLUDE))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other\\\"}},\\\"end\\\":\\\"\\\\\\\\b(ENDHLSL)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other\\\"}},\\\"name\\\":\\\"meta.hlslblock\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#hlsl-embedded\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.shaderlab\\\"}],\\\"repository\\\":{\\\"hlsl-embedded\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(fixed([1-4](x[1-4])?)?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.basic.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(UNITY_MATRIX_MVP?|UNITY_MATRIX_M|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_I_V|UNITY_MATRIX_IT_MV|_Object2World|_World2Object|unity_ObjectToWorld|unity_WorldToObject)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.transformations.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.camera.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:_|_Sin|_Cos|unity_Delta)Time)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.time.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.lighting.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.fog.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(unity_LODFade)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.various.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(SHADER_API_(?:D3D9|D3D11|GLCORE|OPENGL|GLES3??|METAL|D3D11_9X|PSSL|XBOXONE|PSP2|WIIU|MOBILE|GLSL))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.preprocessor.targetplatform.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(SHADER_TARGET)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.preprocessor.targetmodel.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(UNITY_VERSION)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.preprocessor.unityversion.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(UNITY_(?:BRANCH|FLATTEN|NO_SCREENSPACE_SHADOWS|NO_LINEAR_COLORSPACE|NO_RGBM|NO_DXT5nm|FRAMEBUFFER_FETCH_AVAILABLE|USE_RGBA_FOR_POINT_SHADOWS|ATTEN_CHANNEL|HALF_TEXEL_OFFSET|UV_STARTS_AT_TOP|MIGHT_NOT_HAVE_DEPTH_Texture|NEAR_CLIP_VALUE|VPOS_TYPE|CAN_COMPILE_TESSELLATION|COMPILER_HLSL|COMPILER_HLSL2GLSL|COMPILER_CG|REVERSED_Z))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.preprocessor.platformdifference.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(UNITY_PASS_(?:FORWARDBASE|FORWARDADD|DEFERRED|SHADOWCASTER|PREPASSBASE|PREPASSFINAL))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.preprocessor.texture2D.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(appdata_(?:base|tan|full|img))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.structures.shaderlab\\\"},{\\\"match\\\":\\\"\\\\\\\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.surface.shaderlab\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([0-9]+\\\\\\\\.?[0-9]*)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.shaderlab\\\"}]}},\\\"scopeName\\\":\\\"source.shaderlab\\\",\\\"embeddedLangs\\\":[\\\"hlsl\\\"],\\\"aliases\\\":[\\\"shader\\\"]}\"))\n\nexport default [\n...hlsl,\nlang\n]\n" + ], + "names": [ + "lang", + "shaderlab", + "hlsl" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2rLAA4jM,CAAC,EAEplMC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C3khCPGq.js b/src/webview-ui/build/assets/chunk-C3khCPGq.js new file mode 100644 index 0000000000..d5d184a770 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3khCPGq.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#23262E","activityBar.dropBackground":"#3a404e","activityBar.foreground":"#BAAFC0","activityBarBadge.background":"#00b0ff","activityBarBadge.foreground":"#20232B","badge.background":"#00b0ff","badge.foreground":"#20232B","button.background":"#00e8c5cc","button.hoverBackground":"#07d4b6cc","debugExceptionWidget.background":"#FF9F2E60","debugExceptionWidget.border":"#FF9F2E60","debugToolBar.background":"#20232A","diffEditor.insertedTextBackground":"#29BF1220","diffEditor.removedTextBackground":"#F21B3F20","dropdown.background":"#2b303b","dropdown.border":"#363c49","editor.background":"#23262E","editor.findMatchBackground":"#f39d1256","editor.findMatchBorder":"#f39d12b6","editor.findMatchHighlightBackground":"#59b8b377","editor.foreground":"#D5CED9","editor.hoverHighlightBackground":"#373941","editor.lineHighlightBackground":"#2e323d","editor.lineHighlightBorder":"#2e323d","editor.rangeHighlightBackground":"#372F3C","editor.selectionBackground":"#3D4352","editor.selectionHighlightBackground":"#4F435580","editor.wordHighlightBackground":"#4F4355","editor.wordHighlightStrongBackground":"#db45a280","editorBracketMatch.background":"#746f77","editorBracketMatch.border":"#746f77","editorCodeLens.foreground":"#746f77","editorCursor.foreground":"#FFF","editorError.foreground":"#FC644D","editorGroup.background":"#23262E","editorGroup.dropBackground":"#495061d7","editorGroupHeader.tabsBackground":"#23262E","editorGutter.addedBackground":"#9BC53DBB","editorGutter.deletedBackground":"#FC644DBB","editorGutter.modifiedBackground":"#5BC0EBBB","editorHoverWidget.background":"#373941","editorHoverWidget.border":"#00e8c5cc","editorIndentGuide.activeBackground":"#585C66","editorIndentGuide.background":"#333844","editorLineNumber.foreground":"#746f77","editorLink.activeForeground":"#3B79C7","editorOverviewRuler.border":"#1B1D23","editorRuler.foreground":"#4F4355","editorSuggestWidget.background":"#20232A","editorSuggestWidget.border":"#372F3C","editorSuggestWidget.selectedBackground":"#373941","editorWarning.foreground":"#FF9F2E","editorWhitespace.foreground":"#333844","editorWidget.background":"#20232A","errorForeground":"#FC644D","extensionButton.prominentBackground":"#07d4b6cc","extensionButton.prominentHoverBackground":"#07d4b5b0","focusBorder":"#746f77","foreground":"#D5CED9","gitDecoration.ignoredResourceForeground":"#555555","input.background":"#2b303b","input.placeholderForeground":"#746f77","inputOption.activeBorder":"#C668BA","inputValidation.errorBackground":"#D65343","inputValidation.errorBorder":"#D65343","inputValidation.infoBackground":"#3A6395","inputValidation.infoBorder":"#3A6395","inputValidation.warningBackground":"#DE9237","inputValidation.warningBorder":"#DE9237","list.activeSelectionBackground":"#23262E","list.activeSelectionForeground":"#00e8c6","list.dropBackground":"#3a404e","list.focusBackground":"#282b35","list.focusForeground":"#eee","list.hoverBackground":"#23262E","list.hoverForeground":"#eee","list.inactiveSelectionBackground":"#23262E","list.inactiveSelectionForeground":"#00e8c6","merge.currentContentBackground":"#F9267240","merge.currentHeaderBackground":"#F92672","merge.incomingContentBackground":"#3B79C740","merge.incomingHeaderBackground":"#3B79C7BB","minimapSlider.activeBackground":"#60698060","minimapSlider.background":"#58607460","minimapSlider.hoverBackground":"#60698060","notification.background":"#2d313b","notification.buttonBackground":"#00e8c5cc","notification.buttonHoverBackground":"#07d4b5b0","notification.errorBackground":"#FC644D","notification.infoBackground":"#00b0ff","notification.warningBackground":"#FF9F2E","panel.background":"#23262E","panel.border":"#1B1D23","panelTitle.activeBorder":"#23262E","panelTitle.inactiveForeground":"#746f77","peekView.border":"#23262E","peekViewEditor.background":"#1A1C22","peekViewEditor.matchHighlightBackground":"#FF9F2E60","peekViewResult.background":"#1A1C22","peekViewResult.matchHighlightBackground":"#FF9F2E60","peekViewResult.selectionBackground":"#23262E","peekViewTitle.background":"#1A1C22","peekViewTitleDescription.foreground":"#746f77","pickerGroup.border":"#4F4355","pickerGroup.foreground":"#746f77","progressBar.background":"#C668BA","scrollbar.shadow":"#23262E","scrollbarSlider.activeBackground":"#3A3F4CCC","scrollbarSlider.background":"#3A3F4C77","scrollbarSlider.hoverBackground":"#3A3F4CAA","selection.background":"#746f77","sideBar.background":"#23262E","sideBar.foreground":"#999999","sideBarSectionHeader.background":"#23262E","sideBarTitle.foreground":"#00e8c6","statusBar.background":"#23262E","statusBar.debuggingBackground":"#FC644D","statusBar.noFolderBackground":"#23262E","statusBarItem.activeBackground":"#00e8c5cc","statusBarItem.hoverBackground":"#07d4b5b0","statusBarItem.prominentBackground":"#07d4b5b0","statusBarItem.prominentHoverBackground":"#00e8c5cc","tab.activeBackground":"#23262e","tab.activeBorder":"#00e8c6","tab.activeForeground":"#00e8c6","tab.inactiveBackground":"#23262E","tab.inactiveForeground":"#746f77","terminal.ansiBlue":"#7cb7ff","terminal.ansiBrightBlue":"#7cb7ff","terminal.ansiBrightCyan":"#00e8c6","terminal.ansiBrightGreen":"#96E072","terminal.ansiBrightMagenta":"#ff00aa","terminal.ansiBrightRed":"#ee5d43","terminal.ansiBrightYellow":"#FFE66D","terminal.ansiCyan":"#00e8c6","terminal.ansiGreen":"#96E072","terminal.ansiMagenta":"#ff00aa","terminal.ansiRed":"#ee5d43","terminal.ansiYellow":"#FFE66D","terminalCursor.background":"#23262E","terminalCursor.foreground":"#FFE66D","titleBar.activeBackground":"#23262E","walkThrough.embeddedEditorBackground":"#23262E","widget.shadow":"#14151A"},"displayName":"Andromeeda","name":"andromeeda","tokenColors":[{"settings":{"background":"#23262E","foreground":"#D5CED9"}},{"scope":["comment","markup.quote.markdown","meta.diff","meta.diff.header"],"settings":{"foreground":"#A0A1A7cc"}},{"scope":["meta.template.expression.js","constant.name.attribute.tag.jade","punctuation.definition.metadata.markdown","punctuation.definition.string.end.markdown","punctuation.definition.string.begin.markdown"],"settings":{"foreground":"#D5CED9"}},{"scope":["variable","support.variable","entity.name.tag.yaml","constant.character.entity.html","source.css entity.name.tag.reference","beginning.punctuation.definition.list.markdown","source.css entity.other.attribute-name.parent-selector","meta.structure.dictionary.json support.type.property-name"],"settings":{"foreground":"#00e8c6"}},{"scope":["markup.bold","constant.numeric","meta.group.regexp","constant.other.php","support.constant.ext.php","constant.other.class.php","support.constant.core.php","fenced_code.block.language","constant.other.caps.python","entity.other.attribute-name","support.type.exception.python","source.css keyword.other.unit","variable.other.object.property.js.jsx","variable.other.object.js"],"settings":{"foreground":"#f39c12"}},{"scope":["markup.list","text.xml string","entity.name.type","support.function","entity.other.attribute-name","meta.at-rule.extend","entity.name.function","entity.other.inherited-class","entity.other.keyframe-offset.css","text.html.markdown string.quoted","meta.function-call.generic.python","meta.at-rule.extend support.constant","entity.other.attribute-name.class.jade","source.css entity.other.attribute-name","text.xml punctuation.definition.string"],"settings":{"foreground":"#FFE66D"}},{"scope":["markup.heading","variable.language.this.js","variable.language.special.self.python"],"settings":{"foreground":"#ff00aa"}},{"scope":["punctuation.definition.interpolation","punctuation.section.embedded.end.php","punctuation.section.embedded.end.ruby","punctuation.section.embedded.begin.php","punctuation.section.embedded.begin.ruby","punctuation.definition.template-expression","entity.name.tag"],"settings":{"foreground":"#f92672"}},{"scope":["storage","keyword","meta.link","meta.image","markup.italic","source.js support.type"],"settings":{"foreground":"#c74ded"}},{"scope":["string.regexp","markup.changed"],"settings":{"foreground":"#7cb7ff"}},{"scope":["constant","support.class","keyword.operator","support.constant","text.html.markdown string","source.css support.function","source.php support.function","support.function.magic.python","entity.other.attribute-name.id","markup.deleted"],"settings":{"foreground":"#ee5d43"}},{"scope":["string","text.html.php string","markup.inline.raw","markup.inserted","punctuation.definition.string","punctuation.definition.markdown","text.html meta.embedded source.js string","text.html.php punctuation.definition.string","text.html meta.embedded source.js punctuation.definition.string","text.html punctuation.definition.string","text.html string"],"settings":{"foreground":"#96E072"}},{"scope":["entity.other.inherited-class"],"settings":{"fontStyle":"underline"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-C3khCPGq.js.map diff --git a/src/webview-ui/build/assets/chunk-C3khCPGq.js.map b/src/webview-ui/build/assets/chunk-C3khCPGq.js.map new file mode 100644 index 0000000000..9166d44e9d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3khCPGq.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-C3khCPGq.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/andromeeda.mjs" + ], + "sourcesContent": [ + "/* Theme: andromeeda */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#23262E\\\",\\\"activityBar.dropBackground\\\":\\\"#3a404e\\\",\\\"activityBar.foreground\\\":\\\"#BAAFC0\\\",\\\"activityBarBadge.background\\\":\\\"#00b0ff\\\",\\\"activityBarBadge.foreground\\\":\\\"#20232B\\\",\\\"badge.background\\\":\\\"#00b0ff\\\",\\\"badge.foreground\\\":\\\"#20232B\\\",\\\"button.background\\\":\\\"#00e8c5cc\\\",\\\"button.hoverBackground\\\":\\\"#07d4b6cc\\\",\\\"debugExceptionWidget.background\\\":\\\"#FF9F2E60\\\",\\\"debugExceptionWidget.border\\\":\\\"#FF9F2E60\\\",\\\"debugToolBar.background\\\":\\\"#20232A\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#29BF1220\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#F21B3F20\\\",\\\"dropdown.background\\\":\\\"#2b303b\\\",\\\"dropdown.border\\\":\\\"#363c49\\\",\\\"editor.background\\\":\\\"#23262E\\\",\\\"editor.findMatchBackground\\\":\\\"#f39d1256\\\",\\\"editor.findMatchBorder\\\":\\\"#f39d12b6\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#59b8b377\\\",\\\"editor.foreground\\\":\\\"#D5CED9\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#373941\\\",\\\"editor.lineHighlightBackground\\\":\\\"#2e323d\\\",\\\"editor.lineHighlightBorder\\\":\\\"#2e323d\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#372F3C\\\",\\\"editor.selectionBackground\\\":\\\"#3D4352\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#4F435580\\\",\\\"editor.wordHighlightBackground\\\":\\\"#4F4355\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#db45a280\\\",\\\"editorBracketMatch.background\\\":\\\"#746f77\\\",\\\"editorBracketMatch.border\\\":\\\"#746f77\\\",\\\"editorCodeLens.foreground\\\":\\\"#746f77\\\",\\\"editorCursor.foreground\\\":\\\"#FFF\\\",\\\"editorError.foreground\\\":\\\"#FC644D\\\",\\\"editorGroup.background\\\":\\\"#23262E\\\",\\\"editorGroup.dropBackground\\\":\\\"#495061d7\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#23262E\\\",\\\"editorGutter.addedBackground\\\":\\\"#9BC53DBB\\\",\\\"editorGutter.deletedBackground\\\":\\\"#FC644DBB\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#5BC0EBBB\\\",\\\"editorHoverWidget.background\\\":\\\"#373941\\\",\\\"editorHoverWidget.border\\\":\\\"#00e8c5cc\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#585C66\\\",\\\"editorIndentGuide.background\\\":\\\"#333844\\\",\\\"editorLineNumber.foreground\\\":\\\"#746f77\\\",\\\"editorLink.activeForeground\\\":\\\"#3B79C7\\\",\\\"editorOverviewRuler.border\\\":\\\"#1B1D23\\\",\\\"editorRuler.foreground\\\":\\\"#4F4355\\\",\\\"editorSuggestWidget.background\\\":\\\"#20232A\\\",\\\"editorSuggestWidget.border\\\":\\\"#372F3C\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#373941\\\",\\\"editorWarning.foreground\\\":\\\"#FF9F2E\\\",\\\"editorWhitespace.foreground\\\":\\\"#333844\\\",\\\"editorWidget.background\\\":\\\"#20232A\\\",\\\"errorForeground\\\":\\\"#FC644D\\\",\\\"extensionButton.prominentBackground\\\":\\\"#07d4b6cc\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#07d4b5b0\\\",\\\"focusBorder\\\":\\\"#746f77\\\",\\\"foreground\\\":\\\"#D5CED9\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#555555\\\",\\\"input.background\\\":\\\"#2b303b\\\",\\\"input.placeholderForeground\\\":\\\"#746f77\\\",\\\"inputOption.activeBorder\\\":\\\"#C668BA\\\",\\\"inputValidation.errorBackground\\\":\\\"#D65343\\\",\\\"inputValidation.errorBorder\\\":\\\"#D65343\\\",\\\"inputValidation.infoBackground\\\":\\\"#3A6395\\\",\\\"inputValidation.infoBorder\\\":\\\"#3A6395\\\",\\\"inputValidation.warningBackground\\\":\\\"#DE9237\\\",\\\"inputValidation.warningBorder\\\":\\\"#DE9237\\\",\\\"list.activeSelectionBackground\\\":\\\"#23262E\\\",\\\"list.activeSelectionForeground\\\":\\\"#00e8c6\\\",\\\"list.dropBackground\\\":\\\"#3a404e\\\",\\\"list.focusBackground\\\":\\\"#282b35\\\",\\\"list.focusForeground\\\":\\\"#eee\\\",\\\"list.hoverBackground\\\":\\\"#23262E\\\",\\\"list.hoverForeground\\\":\\\"#eee\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#23262E\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#00e8c6\\\",\\\"merge.currentContentBackground\\\":\\\"#F9267240\\\",\\\"merge.currentHeaderBackground\\\":\\\"#F92672\\\",\\\"merge.incomingContentBackground\\\":\\\"#3B79C740\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#3B79C7BB\\\",\\\"minimapSlider.activeBackground\\\":\\\"#60698060\\\",\\\"minimapSlider.background\\\":\\\"#58607460\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#60698060\\\",\\\"notification.background\\\":\\\"#2d313b\\\",\\\"notification.buttonBackground\\\":\\\"#00e8c5cc\\\",\\\"notification.buttonHoverBackground\\\":\\\"#07d4b5b0\\\",\\\"notification.errorBackground\\\":\\\"#FC644D\\\",\\\"notification.infoBackground\\\":\\\"#00b0ff\\\",\\\"notification.warningBackground\\\":\\\"#FF9F2E\\\",\\\"panel.background\\\":\\\"#23262E\\\",\\\"panel.border\\\":\\\"#1B1D23\\\",\\\"panelTitle.activeBorder\\\":\\\"#23262E\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#746f77\\\",\\\"peekView.border\\\":\\\"#23262E\\\",\\\"peekViewEditor.background\\\":\\\"#1A1C22\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#FF9F2E60\\\",\\\"peekViewResult.background\\\":\\\"#1A1C22\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#FF9F2E60\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#23262E\\\",\\\"peekViewTitle.background\\\":\\\"#1A1C22\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#746f77\\\",\\\"pickerGroup.border\\\":\\\"#4F4355\\\",\\\"pickerGroup.foreground\\\":\\\"#746f77\\\",\\\"progressBar.background\\\":\\\"#C668BA\\\",\\\"scrollbar.shadow\\\":\\\"#23262E\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#3A3F4CCC\\\",\\\"scrollbarSlider.background\\\":\\\"#3A3F4C77\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#3A3F4CAA\\\",\\\"selection.background\\\":\\\"#746f77\\\",\\\"sideBar.background\\\":\\\"#23262E\\\",\\\"sideBar.foreground\\\":\\\"#999999\\\",\\\"sideBarSectionHeader.background\\\":\\\"#23262E\\\",\\\"sideBarTitle.foreground\\\":\\\"#00e8c6\\\",\\\"statusBar.background\\\":\\\"#23262E\\\",\\\"statusBar.debuggingBackground\\\":\\\"#FC644D\\\",\\\"statusBar.noFolderBackground\\\":\\\"#23262E\\\",\\\"statusBarItem.activeBackground\\\":\\\"#00e8c5cc\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#07d4b5b0\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#07d4b5b0\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#00e8c5cc\\\",\\\"tab.activeBackground\\\":\\\"#23262e\\\",\\\"tab.activeBorder\\\":\\\"#00e8c6\\\",\\\"tab.activeForeground\\\":\\\"#00e8c6\\\",\\\"tab.inactiveBackground\\\":\\\"#23262E\\\",\\\"tab.inactiveForeground\\\":\\\"#746f77\\\",\\\"terminal.ansiBlue\\\":\\\"#7cb7ff\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7cb7ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#00e8c6\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#96E072\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#ff00aa\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ee5d43\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFE66D\\\",\\\"terminal.ansiCyan\\\":\\\"#00e8c6\\\",\\\"terminal.ansiGreen\\\":\\\"#96E072\\\",\\\"terminal.ansiMagenta\\\":\\\"#ff00aa\\\",\\\"terminal.ansiRed\\\":\\\"#ee5d43\\\",\\\"terminal.ansiYellow\\\":\\\"#FFE66D\\\",\\\"terminalCursor.background\\\":\\\"#23262E\\\",\\\"terminalCursor.foreground\\\":\\\"#FFE66D\\\",\\\"titleBar.activeBackground\\\":\\\"#23262E\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#23262E\\\",\\\"widget.shadow\\\":\\\"#14151A\\\"},\\\"displayName\\\":\\\"Andromeeda\\\",\\\"name\\\":\\\"andromeeda\\\",\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#23262E\\\",\\\"foreground\\\":\\\"#D5CED9\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"markup.quote.markdown\\\",\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A1A7cc\\\"}},{\\\"scope\\\":[\\\"meta.template.expression.js\\\",\\\"constant.name.attribute.tag.jade\\\",\\\"punctuation.definition.metadata.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.string.begin.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D5CED9\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"support.variable\\\",\\\"entity.name.tag.yaml\\\",\\\"constant.character.entity.html\\\",\\\"source.css entity.name.tag.reference\\\",\\\"beginning.punctuation.definition.list.markdown\\\",\\\"source.css entity.other.attribute-name.parent-selector\\\",\\\"meta.structure.dictionary.json support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00e8c6\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"constant.numeric\\\",\\\"meta.group.regexp\\\",\\\"constant.other.php\\\",\\\"support.constant.ext.php\\\",\\\"constant.other.class.php\\\",\\\"support.constant.core.php\\\",\\\"fenced_code.block.language\\\",\\\"constant.other.caps.python\\\",\\\"entity.other.attribute-name\\\",\\\"support.type.exception.python\\\",\\\"source.css keyword.other.unit\\\",\\\"variable.other.object.property.js.jsx\\\",\\\"variable.other.object.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f39c12\\\"}},{\\\"scope\\\":[\\\"markup.list\\\",\\\"text.xml string\\\",\\\"entity.name.type\\\",\\\"support.function\\\",\\\"entity.other.attribute-name\\\",\\\"meta.at-rule.extend\\\",\\\"entity.name.function\\\",\\\"entity.other.inherited-class\\\",\\\"entity.other.keyframe-offset.css\\\",\\\"text.html.markdown string.quoted\\\",\\\"meta.function-call.generic.python\\\",\\\"meta.at-rule.extend support.constant\\\",\\\"entity.other.attribute-name.class.jade\\\",\\\"source.css entity.other.attribute-name\\\",\\\"text.xml punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFE66D\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"variable.language.this.js\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff00aa\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.interpolation\\\",\\\"punctuation.section.embedded.end.php\\\",\\\"punctuation.section.embedded.end.ruby\\\",\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.begin.ruby\\\",\\\"punctuation.definition.template-expression\\\",\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f92672\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"keyword\\\",\\\"meta.link\\\",\\\"meta.image\\\",\\\"markup.italic\\\",\\\"source.js support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c74ded\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7cb7ff\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.class\\\",\\\"keyword.operator\\\",\\\"support.constant\\\",\\\"text.html.markdown string\\\",\\\"source.css support.function\\\",\\\"source.php support.function\\\",\\\"support.function.magic.python\\\",\\\"entity.other.attribute-name.id\\\",\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee5d43\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"text.html.php string\\\",\\\"markup.inline.raw\\\",\\\"markup.inserted\\\",\\\"punctuation.definition.string\\\",\\\"punctuation.definition.markdown\\\",\\\"text.html meta.embedded source.js string\\\",\\\"text.html.php punctuation.definition.string\\\",\\\"text.html meta.embedded source.js punctuation.definition.string\\\",\\\"text.html punctuation.definition.string\\\",\\\"text.html string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#96E072\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "andromeeda" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,mmRAAy8S,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C3mMm8J8.js b/src/webview-ui/build/assets/chunk-C3mMm8J8.js new file mode 100644 index 0000000000..18a4271fd3 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3mMm8J8.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"actionBar.toggledBackground":"#383a49","activityBarBadge.background":"#007ACC","checkbox.border":"#6B6B6B","editor.background":"#1E1E1E","editor.foreground":"#D4D4D4","editor.inactiveSelectionBackground":"#3A3D41","editor.selectionHighlightBackground":"#ADD6FF26","editorIndentGuide.activeBackground1":"#707070","editorIndentGuide.background1":"#404040","input.placeholderForeground":"#A6A6A6","list.activeSelectionIconForeground":"#FFF","list.dropBackground":"#383B3D","menu.background":"#252526","menu.border":"#454545","menu.foreground":"#CCCCCC","menu.selectionBackground":"#0078d4","menu.separatorBackground":"#454545","ports.iconRunningProcessForeground":"#369432","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.border":"#ccc3","sideBarTitle.foreground":"#BBBBBB","statusBarItem.remoteBackground":"#16825D","statusBarItem.remoteForeground":"#FFF","tab.lastPinnedBorder":"#ccc3","tab.selectedBackground":"#222222","tab.selectedForeground":"#ffffffa0","terminal.inactiveSelectionBackground":"#3A3D41","widget.border":"#303031"},"displayName":"Dark Plus","name":"dark-plus","semanticHighlighting":true,"semanticTokenColors":{"customLiteral":"#DCDCAA","newOperator":"#C586C0","numberLiteral":"#b5cea8","stringLiteral":"#ce9178"},"tokenColors":[{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown","variable.legacy.builtin.python"],"settings":{"foreground":"#D4D4D4"}},{"scope":"emphasis","settings":{"fontStyle":"italic"}},{"scope":"strong","settings":{"fontStyle":"bold"}},{"scope":"header","settings":{"foreground":"#000080"}},{"scope":"comment","settings":{"foreground":"#6A9955"}},{"scope":"constant.language","settings":{"foreground":"#569cd6"}},{"scope":["constant.numeric","variable.other.enummember","keyword.operator.plus.exponent","keyword.operator.minus.exponent"],"settings":{"foreground":"#b5cea8"}},{"scope":"constant.regexp","settings":{"foreground":"#646695"}},{"scope":"entity.name.tag","settings":{"foreground":"#569cd6"}},{"scope":["entity.name.tag.css","entity.name.tag.less"],"settings":{"foreground":"#d7ba7d"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#9cdcfe"}},{"scope":["entity.other.attribute-name.class.css","source.css entity.other.attribute-name.class","entity.other.attribute-name.id.css","entity.other.attribute-name.parent-selector.css","entity.other.attribute-name.parent.less","source.css entity.other.attribute-name.pseudo-class","entity.other.attribute-name.pseudo-element.css","source.css.less entity.other.attribute-name.id","entity.other.attribute-name.scss"],"settings":{"foreground":"#d7ba7d"}},{"scope":"invalid","settings":{"foreground":"#f44747"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#569cd6"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#569cd6"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inserted","settings":{"foreground":"#b5cea8"}},{"scope":"markup.deleted","settings":{"foreground":"#ce9178"}},{"scope":"markup.changed","settings":{"foreground":"#569cd6"}},{"scope":"punctuation.definition.quote.begin.markdown","settings":{"foreground":"#6A9955"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#6796e6"}},{"scope":"markup.inline.raw","settings":{"foreground":"#ce9178"}},{"scope":"punctuation.definition.tag","settings":{"foreground":"#808080"}},{"scope":["meta.preprocessor","entity.name.function.preprocessor"],"settings":{"foreground":"#569cd6"}},{"scope":"meta.preprocessor.string","settings":{"foreground":"#ce9178"}},{"scope":"meta.preprocessor.numeric","settings":{"foreground":"#b5cea8"}},{"scope":"meta.structure.dictionary.key.python","settings":{"foreground":"#9cdcfe"}},{"scope":"meta.diff.header","settings":{"foreground":"#569cd6"}},{"scope":"storage","settings":{"foreground":"#569cd6"}},{"scope":"storage.type","settings":{"foreground":"#569cd6"}},{"scope":["storage.modifier","keyword.operator.noexcept"],"settings":{"foreground":"#569cd6"}},{"scope":["string","meta.embedded.assembly"],"settings":{"foreground":"#ce9178"}},{"scope":"string.tag","settings":{"foreground":"#ce9178"}},{"scope":"string.value","settings":{"foreground":"#ce9178"}},{"scope":"string.regexp","settings":{"foreground":"#d16969"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#569cd6"}},{"scope":["meta.template.expression"],"settings":{"foreground":"#d4d4d4"}},{"scope":["support.type.vendored.property-name","support.type.property-name","source.css variable","source.coffee.embedded"],"settings":{"foreground":"#9cdcfe"}},{"scope":"keyword","settings":{"foreground":"#569cd6"}},{"scope":"keyword.control","settings":{"foreground":"#569cd6"}},{"scope":"keyword.operator","settings":{"foreground":"#d4d4d4"}},{"scope":["keyword.operator.new","keyword.operator.expression","keyword.operator.cast","keyword.operator.sizeof","keyword.operator.alignof","keyword.operator.typeid","keyword.operator.alignas","keyword.operator.instanceof","keyword.operator.logical.python","keyword.operator.wordlike"],"settings":{"foreground":"#569cd6"}},{"scope":"keyword.other.unit","settings":{"foreground":"#b5cea8"}},{"scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#569cd6"}},{"scope":"support.function.git-rebase","settings":{"foreground":"#9cdcfe"}},{"scope":"constant.sha.git-rebase","settings":{"foreground":"#b5cea8"}},{"scope":["storage.modifier.import.java","variable.language.wildcard.java","storage.modifier.package.java"],"settings":{"foreground":"#d4d4d4"}},{"scope":"variable.language","settings":{"foreground":"#569cd6"}},{"scope":["entity.name.function","support.function","support.constant.handlebars","source.powershell variable.other.member","entity.name.operator.custom-literal"],"settings":{"foreground":"#DCDCAA"}},{"scope":["support.class","support.type","entity.name.type","entity.name.namespace","entity.other.attribute","entity.name.scope-resolution","entity.name.class","storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","storage.type.cs","storage.type.generic.cs","storage.type.modifier.cs","storage.type.variable.cs","storage.type.annotation.java","storage.type.generic.java","storage.type.java","storage.type.object.array.java","storage.type.primitive.array.java","storage.type.primitive.java","storage.type.token.java","storage.type.groovy","storage.type.annotation.groovy","storage.type.parameters.groovy","storage.type.generic.groovy","storage.type.object.array.groovy","storage.type.primitive.array.groovy","storage.type.primitive.groovy"],"settings":{"foreground":"#4EC9B0"}},{"scope":["meta.type.cast.expr","meta.type.new.expr","support.constant.math","support.constant.dom","support.constant.json","entity.other.inherited-class","punctuation.separator.namespace.ruby"],"settings":{"foreground":"#4EC9B0"}},{"scope":["keyword.control","source.cpp keyword.operator.new","keyword.operator.delete","keyword.other.using","keyword.other.directive.using","keyword.other.operator","entity.name.operator"],"settings":{"foreground":"#C586C0"}},{"scope":["variable","meta.definition.variable.name","support.variable","entity.name.variable","constant.other.placeholder"],"settings":{"foreground":"#9CDCFE"}},{"scope":["variable.other.constant","variable.other.enummember"],"settings":{"foreground":"#4FC1FF"}},{"scope":["meta.object-literal.key"],"settings":{"foreground":"#9CDCFE"}},{"scope":["support.constant.property-value","support.constant.font-name","support.constant.media-type","support.constant.media","constant.other.color.rgb-value","constant.other.rgb-value","support.constant.color"],"settings":{"foreground":"#CE9178"}},{"scope":["punctuation.definition.group.regexp","punctuation.definition.group.assertion.regexp","punctuation.definition.character-class.regexp","punctuation.character.set.begin.regexp","punctuation.character.set.end.regexp","keyword.operator.negation.regexp","support.other.parenthesis.regexp"],"settings":{"foreground":"#CE9178"}},{"scope":["constant.character.character-class.regexp","constant.other.character-class.set.regexp","constant.other.character-class.regexp","constant.character.set.regexp"],"settings":{"foreground":"#d16969"}},{"scope":["keyword.operator.or.regexp","keyword.control.anchor.regexp"],"settings":{"foreground":"#DCDCAA"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d7ba7d"}},{"scope":["constant.character","constant.other.option"],"settings":{"foreground":"#569cd6"}},{"scope":"constant.character.escape","settings":{"foreground":"#d7ba7d"}},{"scope":"entity.name.label","settings":{"foreground":"#C8C8C8"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-C3mMm8J8.js.map diff --git a/src/webview-ui/build/assets/chunk-C3mMm8J8.js.map b/src/webview-ui/build/assets/chunk-C3mMm8J8.js.map new file mode 100644 index 0000000000..bd909c4c43 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3mMm8J8.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-C3mMm8J8.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/dark-plus.mjs" + ], + "sourcesContent": [ + "/* Theme: dark-plus */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#383a49\\\",\\\"activityBarBadge.background\\\":\\\"#007ACC\\\",\\\"checkbox.border\\\":\\\"#6B6B6B\\\",\\\"editor.background\\\":\\\"#1E1E1E\\\",\\\"editor.foreground\\\":\\\"#D4D4D4\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#3A3D41\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#ADD6FF26\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#707070\\\",\\\"editorIndentGuide.background1\\\":\\\"#404040\\\",\\\"input.placeholderForeground\\\":\\\"#A6A6A6\\\",\\\"list.activeSelectionIconForeground\\\":\\\"#FFF\\\",\\\"list.dropBackground\\\":\\\"#383B3D\\\",\\\"menu.background\\\":\\\"#252526\\\",\\\"menu.border\\\":\\\"#454545\\\",\\\"menu.foreground\\\":\\\"#CCCCCC\\\",\\\"menu.selectionBackground\\\":\\\"#0078d4\\\",\\\"menu.separatorBackground\\\":\\\"#454545\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#369432\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#ccc3\\\",\\\"sideBarTitle.foreground\\\":\\\"#BBBBBB\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#16825D\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#FFF\\\",\\\"tab.lastPinnedBorder\\\":\\\"#ccc3\\\",\\\"tab.selectedBackground\\\":\\\"#222222\\\",\\\"tab.selectedForeground\\\":\\\"#ffffffa0\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#3A3D41\\\",\\\"widget.border\\\":\\\"#303031\\\"},\\\"displayName\\\":\\\"Dark Plus\\\",\\\"name\\\":\\\"dark-plus\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"customLiteral\\\":\\\"#DCDCAA\\\",\\\"newOperator\\\":\\\"#C586C0\\\",\\\"numberLiteral\\\":\\\"#b5cea8\\\",\\\"stringLiteral\\\":\\\"#ce9178\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D4D4D4\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000080\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6A9955\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.enummember\\\",\\\"keyword.operator.plus.exponent\\\",\\\"keyword.operator.minus.exponent\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"constant.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#646695\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\",\\\"entity.name.tag.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class.css\\\",\\\"source.css entity.other.attribute-name.class\\\",\\\"entity.other.attribute-name.id.css\\\",\\\"entity.other.attribute-name.parent-selector.css\\\",\\\"entity.other.attribute-name.parent.less\\\",\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"entity.other.attribute-name.pseudo-element.css\\\",\\\"source.css.less entity.other.attribute-name.id\\\",\\\"entity.other.attribute-name.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.quote.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6A9955\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6796e6\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#808080\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor\\\",\\\"entity.name.function.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.key.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\",\\\"keyword.operator.noexcept\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"meta.embedded.assembly\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\",\\\"support.type.property-name\\\",\\\"source.css variable\\\",\\\"source.coffee.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new\\\",\\\"keyword.operator.expression\\\",\\\"keyword.operator.cast\\\",\\\"keyword.operator.sizeof\\\",\\\"keyword.operator.alignof\\\",\\\"keyword.operator.typeid\\\",\\\"keyword.operator.alignas\\\",\\\"keyword.operator.instanceof\\\",\\\"keyword.operator.logical.python\\\",\\\"keyword.operator.wordlike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"variable.language.wildcard.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\",\\\"support.constant.handlebars\\\",\\\"source.powershell variable.other.member\\\",\\\"entity.name.operator.custom-literal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCDCAA\\\"}},{\\\"scope\\\":[\\\"support.class\\\",\\\"support.type\\\",\\\"entity.name.type\\\",\\\"entity.name.namespace\\\",\\\"entity.other.attribute\\\",\\\"entity.name.scope-resolution\\\",\\\"entity.name.class\\\",\\\"storage.type.numeric.go\\\",\\\"storage.type.byte.go\\\",\\\"storage.type.boolean.go\\\",\\\"storage.type.string.go\\\",\\\"storage.type.uintptr.go\\\",\\\"storage.type.error.go\\\",\\\"storage.type.rune.go\\\",\\\"storage.type.cs\\\",\\\"storage.type.generic.cs\\\",\\\"storage.type.modifier.cs\\\",\\\"storage.type.variable.cs\\\",\\\"storage.type.annotation.java\\\",\\\"storage.type.generic.java\\\",\\\"storage.type.java\\\",\\\"storage.type.object.array.java\\\",\\\"storage.type.primitive.array.java\\\",\\\"storage.type.primitive.java\\\",\\\"storage.type.token.java\\\",\\\"storage.type.groovy\\\",\\\"storage.type.annotation.groovy\\\",\\\"storage.type.parameters.groovy\\\",\\\"storage.type.generic.groovy\\\",\\\"storage.type.object.array.groovy\\\",\\\"storage.type.primitive.array.groovy\\\",\\\"storage.type.primitive.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4EC9B0\\\"}},{\\\"scope\\\":[\\\"meta.type.cast.expr\\\",\\\"meta.type.new.expr\\\",\\\"support.constant.math\\\",\\\"support.constant.dom\\\",\\\"support.constant.json\\\",\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4EC9B0\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"source.cpp keyword.operator.new\\\",\\\"keyword.operator.delete\\\",\\\"keyword.other.using\\\",\\\"keyword.other.directive.using\\\",\\\"keyword.other.operator\\\",\\\"entity.name.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C586C0\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"meta.definition.variable.name\\\",\\\"support.variable\\\",\\\"entity.name.variable\\\",\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CDCFE\\\"}},{\\\"scope\\\":[\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4FC1FF\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CDCFE\\\"}},{\\\"scope\\\":[\\\"support.constant.property-value\\\",\\\"support.constant.font-name\\\",\\\"support.constant.media-type\\\",\\\"support.constant.media\\\",\\\"constant.other.color.rgb-value\\\",\\\"constant.other.rgb-value\\\",\\\"support.constant.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CE9178\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"punctuation.definition.group.assertion.regexp\\\",\\\"punctuation.definition.character-class.regexp\\\",\\\"punctuation.character.set.begin.regexp\\\",\\\"punctuation.character.set.end.regexp\\\",\\\"keyword.operator.negation.regexp\\\",\\\"support.other.parenthesis.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CE9178\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp\\\",\\\"constant.other.character-class.set.regexp\\\",\\\"constant.other.character-class.regexp\\\",\\\"constant.character.set.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"keyword.operator.or.regexp\\\",\\\"keyword.control.anchor.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCDCAA\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other.option\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"entity.name.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C8C8C8\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "darkPlus" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,+0RAAq0T,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C3rowuyE.js b/src/webview-ui/build/assets/chunk-C3rowuyE.js new file mode 100644 index 0000000000..73d62c8805 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3rowuyE.js @@ -0,0 +1,11 @@ +import t from "./chunk-CXhxxCfG.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +const e = Object.freeze( + JSON.parse( + '{"displayName":"HTML (Derivative)","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"html-derivative","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(\\\\s]*)(?)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative","embeddedLangs":["html"]}', + ), + ), + n = [...t, e] +export { n as default } +//# sourceMappingURL=chunk-C3rowuyE.js.map diff --git a/src/webview-ui/build/assets/chunk-C3rowuyE.js.map b/src/webview-ui/build/assets/chunk-C3rowuyE.js.map new file mode 100644 index 0000000000..1fb1e960ad --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C3rowuyE.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-C3rowuyE.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/html-derivative.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTML (Derivative)\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"html-derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#core-minus-invalid\\\"},{\\\"begin\\\":\\\"(\\\\\\\\s]*)(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.unrecognized.html.derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]}],\\\"scopeName\\\":\\\"text.html.derivative\\\",\\\"embeddedLangs\\\":[\\\"html\\\"]}\"))\n\nexport default [\n...html,\nlang\n]\n" + ], + "names": [ + "lang", + "html_derivative", + "html" + ], + "mappings": "2FAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,kuBAA8yB,CAAC,EAEt0BC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C4IJs8-o.js b/src/webview-ui/build/assets/chunk-C4IJs8-o.js new file mode 100644 index 0000000000..4533250125 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C4IJs8-o.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Fluent","name":"fluent","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\\\s*(\\\\.[A-Za-z][-0-9A-Z_a-z]*\\\\s*=\\\\s*)","beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}},"end":"^(?=\\\\s*[^.])","patterns":[{"include":"#placeable"}]},"comment":{"match":"^##?#?\\\\s.*$","name":"comment.fluent"},"function-comma":{"match":",","name":"support.function.function-comma.fluent"},"function-named-argument":{"begin":"([0-9A-Za-z]+:)\\\\s*([\\"0-9A-Za-z]+)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}},"end":"(?=[),\\\\s])","name":"variable.other.named-argument.fluent"},"function-positional-argument":{"match":"\\\\$[-0-9A-Z_a-z]+","name":"variable.other.function.positional-argument.fluent"},"invalid-placeable-string-missing-end-quote":{"match":"\\"[^\\"]+$","name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent"},"invalid-placeable-wrong-placeable-missing-end":{"match":"([^A-Z}]*|[^-][^>])$\\\\b","name":"invalid.illegal.wrong-placeable-missing-end.fluent"},"message":{"begin":"^(-?[A-Za-z][-0-9A-Z_a-z]*\\\\s*=\\\\s*)","beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}},"contentName":"string.fluent","end":"^(?=\\\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}]},"placeable":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"contentName":"variable.other.placeable.content.fluent","end":"(})","endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}},"patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}]},"placeable-function":{"begin":"([A-Z][-0-9A-Z_]*\\\\()","beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"contentName":"string.placeable-function.fluent","end":"(\\\\))","endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}},"patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}]},"placeable-reference-or-number":{"match":"(([-$])[-0-9A-Z_a-z]+|[A-Za-z][-0-9A-Z_a-z]*|[0-9]+)","name":"variable.other.placeable.reference-or-number.fluent"},"placeable-string":{"begin":"(\\")(?=[^\\\\n]*\\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"contentName":"string.placeable-string-content.fluent","end":"(\\")","endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"begin":"(->)","beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}},"contentName":"string.selector.content.fluent","end":"^(?=\\\\s*})","patterns":[{"include":"#selector-item"}]},"selector-item":{"begin":"(\\\\s*\\\\*?\\\\[)([-0-9A-Z_a-z]+)(]\\\\s*)","beginCaptures":{"1":{"name":"support.function.selector-item.begin.fluent"},"2":{"name":"variable.other.selector-item.begin.fluent"},"3":{"name":"support.function.selector-item.begin.fluent"}},"contentName":"string.selector-item.content.fluent","end":"^(?=(\\\\s*})|(\\\\s*\\\\[)|(\\\\s*\\\\*))","patterns":[{"include":"#placeable"}]},"wrong-line":{"match":".*","name":"invalid.illegal.wrong-line.fluent"}},"scopeName":"source.ftl","aliases":["ftl"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-C4IJs8-o.js.map diff --git a/src/webview-ui/build/assets/chunk-C4IJs8-o.js.map b/src/webview-ui/build/assets/chunk-C4IJs8-o.js.map new file mode 100644 index 0000000000..8f964317c9 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C4IJs8-o.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C4IJs8-o.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/fluent.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Fluent\\\",\\\"name\\\":\\\"fluent\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#message\\\"},{\\\"include\\\":\\\"#wrong-line\\\"}],\\\"repository\\\":{\\\"attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\.[A-Za-z][-0-9A-Z_a-z]*\\\\\\\\s*=\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.attribute-begin.fluent\\\"}},\\\"end\\\":\\\"^(?=\\\\\\\\s*[^.])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#placeable\\\"}]},\\\"comment\\\":{\\\"match\\\":\\\"^##?#?\\\\\\\\s.*$\\\",\\\"name\\\":\\\"comment.fluent\\\"},\\\"function-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"support.function.function-comma.fluent\\\"},\\\"function-named-argument\\\":{\\\"begin\\\":\\\"([0-9A-Za-z]+:)\\\\\\\\s*([\\\\\\\"0-9A-Za-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.named-argument.name.fluent\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.named-argument.value.fluent\\\"}},\\\"end\\\":\\\"(?=[),\\\\\\\\s])\\\",\\\"name\\\":\\\"variable.other.named-argument.fluent\\\"},\\\"function-positional-argument\\\":{\\\"match\\\":\\\"\\\\\\\\$[-0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"variable.other.function.positional-argument.fluent\\\"},\\\"invalid-placeable-string-missing-end-quote\\\":{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\"]+$\\\",\\\"name\\\":\\\"invalid.illegal.wrong-placeable-missing-end-quote.fluent\\\"},\\\"invalid-placeable-wrong-placeable-missing-end\\\":{\\\"match\\\":\\\"([^A-Z}]*|[^-][^>])$\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.wrong-placeable-missing-end.fluent\\\"},\\\"message\\\":{\\\"begin\\\":\\\"^(-?[A-Za-z][-0-9A-Z_a-z]*\\\\\\\\s*=\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.message-identifier.fluent\\\"}},\\\"contentName\\\":\\\"string.fluent\\\",\\\"end\\\":\\\"^(?=\\\\\\\\S)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#placeable\\\"}]},\\\"placeable\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.placeable.begin.fluent\\\"}},\\\"contentName\\\":\\\"variable.other.placeable.content.fluent\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.placeable.end.fluent\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#placeable-string\\\"},{\\\"include\\\":\\\"#placeable-function\\\"},{\\\"include\\\":\\\"#placeable-reference-or-number\\\"},{\\\"include\\\":\\\"#selector\\\"},{\\\"include\\\":\\\"#invalid-placeable-wrong-placeable-missing-end\\\"},{\\\"include\\\":\\\"#invalid-placeable-string-missing-end-quote\\\"},{\\\"include\\\":\\\"#invalid-placeable-wrong-function-name\\\"}]},\\\"placeable-function\\\":{\\\"begin\\\":\\\"([A-Z][-0-9A-Z_]*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.placeable-function.call.begin.fluent\\\"}},\\\"contentName\\\":\\\"string.placeable-function.fluent\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.placeable-function.call.end.fluent\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-comma\\\"},{\\\"include\\\":\\\"#function-positional-argument\\\"},{\\\"include\\\":\\\"#function-named-argument\\\"}]},\\\"placeable-reference-or-number\\\":{\\\"match\\\":\\\"(([-$])[-0-9A-Z_a-z]+|[A-Za-z][-0-9A-Z_a-z]*|[0-9]+)\\\",\\\"name\\\":\\\"variable.other.placeable.reference-or-number.fluent\\\"},\\\"placeable-string\\\":{\\\"begin\\\":\\\"(\\\\\\\")(?=[^\\\\\\\\n]*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.placeable-string-begin.fluent\\\"}},\\\"contentName\\\":\\\"string.placeable-string-content.fluent\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.placeable-string-end.fluent\\\"}}},\\\"selector\\\":{\\\"begin\\\":\\\"(->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.selector.begin.fluent\\\"}},\\\"contentName\\\":\\\"string.selector.content.fluent\\\",\\\"end\\\":\\\"^(?=\\\\\\\\s*})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selector-item\\\"}]},\\\"selector-item\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*\\\\\\\\*?\\\\\\\\[)([-0-9A-Z_a-z]+)(]\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.selector-item.begin.fluent\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.selector-item.begin.fluent\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.selector-item.begin.fluent\\\"}},\\\"contentName\\\":\\\"string.selector-item.content.fluent\\\",\\\"end\\\":\\\"^(?=(\\\\\\\\s*})|(\\\\\\\\s*\\\\\\\\[)|(\\\\\\\\s*\\\\\\\\*))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#placeable\\\"}]},\\\"wrong-line\\\":{\\\"match\\\":\\\".*\\\",\\\"name\\\":\\\"invalid.illegal.wrong-line.fluent\\\"}},\\\"scopeName\\\":\\\"source.ftl\\\",\\\"aliases\\\":[\\\"ftl\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "fluent" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,09GAAo2H,CAAC,EAE53HC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C8M2exoo.js b/src/webview-ui/build/assets/chunk-C8M2exoo.js new file mode 100644 index 0000000000..18519a5d1b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C8M2exoo.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#93b259d0","activityBar.activeFocusBorder":"#93b259","activityBar.background":"#fdf6e3","activityBar.border":"#fdf6e3","activityBar.dropBackground":"#fdf6e3","activityBar.foreground":"#5c6a72","activityBar.inactiveForeground":"#939f91","activityBarBadge.background":"#93b259","activityBarBadge.foreground":"#fdf6e3","badge.background":"#93b259","badge.foreground":"#fdf6e3","breadcrumb.activeSelectionForeground":"#5c6a72","breadcrumb.focusForeground":"#5c6a72","breadcrumb.foreground":"#939f91","button.background":"#93b259","button.foreground":"#fdf6e3","button.hoverBackground":"#93b259d0","button.secondaryBackground":"#efebd4","button.secondaryForeground":"#5c6a72","button.secondaryHoverBackground":"#e6e2cc","charts.blue":"#3a94c5","charts.foreground":"#5c6a72","charts.green":"#8da101","charts.orange":"#f57d26","charts.purple":"#df69ba","charts.red":"#f85552","charts.yellow":"#dfa000","checkbox.background":"#fdf6e3","checkbox.border":"#e0dcc7","checkbox.foreground":"#f57d26","debugConsole.errorForeground":"#f85552","debugConsole.infoForeground":"#8da101","debugConsole.sourceForeground":"#df69ba","debugConsole.warningForeground":"#dfa000","debugConsoleInputIcon.foreground":"#35a77c","debugIcon.breakpointCurrentStackframeForeground":"#3a94c5","debugIcon.breakpointDisabledForeground":"#f1706f","debugIcon.breakpointForeground":"#f85552","debugIcon.breakpointStackframeForeground":"#f85552","debugIcon.breakpointUnverifiedForeground":"#879686","debugIcon.continueForeground":"#3a94c5","debugIcon.disconnectForeground":"#df69ba","debugIcon.pauseForeground":"#dfa000","debugIcon.restartForeground":"#35a77c","debugIcon.startForeground":"#35a77c","debugIcon.stepBackForeground":"#3a94c5","debugIcon.stepIntoForeground":"#3a94c5","debugIcon.stepOutForeground":"#3a94c5","debugIcon.stepOverForeground":"#3a94c5","debugIcon.stopForeground":"#f85552","debugTokenExpression.boolean":"#df69ba","debugTokenExpression.error":"#f85552","debugTokenExpression.name":"#3a94c5","debugTokenExpression.number":"#df69ba","debugTokenExpression.string":"#dfa000","debugTokenExpression.value":"#8da101","debugToolBar.background":"#fdf6e3","descriptionForeground":"#939f91","diffEditor.diagonalFill":"#e0dcc7","diffEditor.insertedTextBackground":"#6ec39830","diffEditor.removedTextBackground":"#f1706f30","dropdown.background":"#fdf6e3","dropdown.border":"#e0dcc7","dropdown.foreground":"#879686","editor.background":"#fdf6e3","editor.findMatchBackground":"#f3945940","editor.findMatchHighlightBackground":"#a4bb4a40","editor.findRangeHighlightBackground":"#e6e2cc50","editor.foldBackground":"#e0dcc780","editor.foreground":"#5c6a72","editor.hoverHighlightBackground":"#e6e2cc90","editor.inactiveSelectionBackground":"#e6e2cc50","editor.lineHighlightBackground":"#efebd470","editor.lineHighlightBorder":"#e0dcc700","editor.rangeHighlightBackground":"#efebd480","editor.selectionBackground":"#e6e2cca0","editor.selectionHighlightBackground":"#e6e2cc50","editor.snippetFinalTabstopHighlightBackground":"#a4bb4a40","editor.snippetFinalTabstopHighlightBorder":"#fdf6e3","editor.snippetTabstopHighlightBackground":"#efebd4","editor.symbolHighlightBackground":"#6cb3c640","editor.wordHighlightBackground":"#e6e2cc48","editor.wordHighlightStrongBackground":"#e6e2cc90","editorBracketHighlight.foreground1":"#f85552","editorBracketHighlight.foreground2":"#dfa000","editorBracketHighlight.foreground3":"#8da101","editorBracketHighlight.foreground4":"#3a94c5","editorBracketHighlight.foreground5":"#f57d26","editorBracketHighlight.foreground6":"#df69ba","editorBracketHighlight.unexpectedBracket.foreground":"#939f91","editorBracketMatch.background":"#e0dcc7","editorBracketMatch.border":"#fdf6e300","editorCodeLens.foreground":"#a4ad9ea0","editorCursor.foreground":"#5c6a72","editorError.background":"#f1706f00","editorError.foreground":"#f1706f","editorGhostText.background":"#fdf6e300","editorGhostText.foreground":"#a4ad9ea0","editorGroup.border":"#efebd4","editorGroup.dropBackground":"#e0dcc760","editorGroupHeader.noTabsBackground":"#fdf6e3","editorGroupHeader.tabsBackground":"#fdf6e3","editorGutter.addedBackground":"#a4bb4aa0","editorGutter.background":"#fdf6e300","editorGutter.commentRangeForeground":"#a4ad9e","editorGutter.deletedBackground":"#f1706fa0","editorGutter.modifiedBackground":"#6cb3c6a0","editorHint.foreground":"#e092be","editorHoverWidget.background":"#f4f0d9","editorHoverWidget.border":"#e6e2cc","editorIndentGuide.activeBackground":"#87968650","editorIndentGuide.background":"#87968620","editorInfo.background":"#6cb3c600","editorInfo.foreground":"#6cb3c6","editorInlayHint.background":"#fdf6e300","editorInlayHint.foreground":"#a4ad9ea0","editorInlayHint.parameterBackground":"#fdf6e300","editorInlayHint.parameterForeground":"#a4ad9ea0","editorInlayHint.typeBackground":"#fdf6e300","editorInlayHint.typeForeground":"#a4ad9ea0","editorLightBulb.foreground":"#dfa000","editorLightBulbAutoFix.foreground":"#35a77c","editorLineNumber.activeForeground":"#879686e0","editorLineNumber.foreground":"#a4ad9ea0","editorLink.activeForeground":"#8da101","editorMarkerNavigation.background":"#f4f0d9","editorMarkerNavigationError.background":"#f1706f80","editorMarkerNavigationInfo.background":"#6cb3c680","editorMarkerNavigationWarning.background":"#e4b64980","editorOverviewRuler.addedForeground":"#a4bb4aa0","editorOverviewRuler.border":"#fdf6e300","editorOverviewRuler.commonContentForeground":"#939f91","editorOverviewRuler.currentContentForeground":"#6cb3c6","editorOverviewRuler.deletedForeground":"#f1706fa0","editorOverviewRuler.errorForeground":"#f85552","editorOverviewRuler.findMatchForeground":"#6ec398","editorOverviewRuler.incomingContentForeground":"#6ec398","editorOverviewRuler.infoForeground":"#df69ba","editorOverviewRuler.modifiedForeground":"#6cb3c6a0","editorOverviewRuler.rangeHighlightForeground":"#6ec398","editorOverviewRuler.selectionHighlightForeground":"#6ec398","editorOverviewRuler.warningForeground":"#dfa000","editorOverviewRuler.wordHighlightForeground":"#e0dcc7","editorOverviewRuler.wordHighlightStrongForeground":"#e0dcc7","editorRuler.foreground":"#e6e2cca0","editorSuggestWidget.background":"#efebd4","editorSuggestWidget.border":"#efebd4","editorSuggestWidget.foreground":"#5c6a72","editorSuggestWidget.highlightForeground":"#8da101","editorSuggestWidget.selectedBackground":"#e6e2cc","editorUnnecessaryCode.border":"#fdf6e3","editorUnnecessaryCode.opacity":"#00000080","editorWarning.background":"#e4b64900","editorWarning.foreground":"#e4b649","editorWhitespace.foreground":"#e6e2cc","editorWidget.background":"#fdf6e3","editorWidget.border":"#e0dcc7","editorWidget.foreground":"#5c6a72","errorForeground":"#f85552","extensionBadge.remoteBackground":"#93b259","extensionBadge.remoteForeground":"#fdf6e3","extensionButton.prominentBackground":"#93b259","extensionButton.prominentForeground":"#fdf6e3","extensionButton.prominentHoverBackground":"#93b259d0","extensionIcon.preReleaseForeground":"#f57d26","extensionIcon.starForeground":"#35a77c","extensionIcon.verifiedForeground":"#8da101","focusBorder":"#fdf6e300","foreground":"#879686","gitDecoration.addedResourceForeground":"#8da101a0","gitDecoration.conflictingResourceForeground":"#df69baa0","gitDecoration.deletedResourceForeground":"#f85552a0","gitDecoration.ignoredResourceForeground":"#e0dcc7","gitDecoration.modifiedResourceForeground":"#3a94c5a0","gitDecoration.stageDeletedResourceForeground":"#35a77ca0","gitDecoration.stageModifiedResourceForeground":"#35a77ca0","gitDecoration.submoduleResourceForeground":"#f57d26a0","gitDecoration.untrackedResourceForeground":"#dfa000a0","gitlens.closedPullRequestIconColor":"#f85552","gitlens.decorations.addedForegroundColor":"#8da101","gitlens.decorations.branchAheadForegroundColor":"#35a77c","gitlens.decorations.branchBehindForegroundColor":"#f57d26","gitlens.decorations.branchDivergedForegroundColor":"#dfa000","gitlens.decorations.branchMissingUpstreamForegroundColor":"#f85552","gitlens.decorations.branchUnpublishedForegroundColor":"#3a94c5","gitlens.decorations.branchUpToDateForegroundColor":"#5c6a72","gitlens.decorations.copiedForegroundColor":"#df69ba","gitlens.decorations.deletedForegroundColor":"#f85552","gitlens.decorations.ignoredForegroundColor":"#879686","gitlens.decorations.modifiedForegroundColor":"#3a94c5","gitlens.decorations.renamedForegroundColor":"#df69ba","gitlens.decorations.untrackedForegroundColor":"#dfa000","gitlens.gutterBackgroundColor":"#fdf6e3","gitlens.gutterForegroundColor":"#5c6a72","gitlens.gutterUncommittedForegroundColor":"#3a94c5","gitlens.lineHighlightBackgroundColor":"#f4f0d9","gitlens.lineHighlightOverviewRulerColor":"#93b259","gitlens.mergedPullRequestIconColor":"#df69ba","gitlens.openPullRequestIconColor":"#35a77c","gitlens.trailingLineForegroundColor":"#939f91","gitlens.unpublishedCommitIconColor":"#dfa000","gitlens.unpulledChangesIconColor":"#f57d26","gitlens.unpushlishedChangesIconColor":"#3a94c5","icon.foreground":"#35a77c","imagePreview.border":"#fdf6e3","input.background":"#fdf6e300","input.border":"#e0dcc7","input.foreground":"#5c6a72","input.placeholderForeground":"#a4ad9e","inputOption.activeBorder":"#35a77c","inputValidation.errorBackground":"#f1706f","inputValidation.errorBorder":"#f85552","inputValidation.errorForeground":"#5c6a72","inputValidation.infoBackground":"#6cb3c6","inputValidation.infoBorder":"#3a94c5","inputValidation.infoForeground":"#5c6a72","inputValidation.warningBackground":"#e4b649","inputValidation.warningBorder":"#dfa000","inputValidation.warningForeground":"#5c6a72","issues.closed":"#f85552","issues.open":"#35a77c","keybindingLabel.background":"#fdf6e300","keybindingLabel.border":"#f4f0d9","keybindingLabel.bottomBorder":"#efebd4","keybindingLabel.foreground":"#5c6a72","keybindingTable.headerBackground":"#efebd4","keybindingTable.rowsBackground":"#f4f0d9","list.activeSelectionBackground":"#e6e2cc80","list.activeSelectionForeground":"#5c6a72","list.dropBackground":"#f4f0d980","list.errorForeground":"#f85552","list.focusBackground":"#e6e2cc80","list.focusForeground":"#5c6a72","list.highlightForeground":"#8da101","list.hoverBackground":"#fdf6e300","list.hoverForeground":"#5c6a72","list.inactiveFocusBackground":"#e6e2cc60","list.inactiveSelectionBackground":"#e6e2cc80","list.inactiveSelectionForeground":"#879686","list.invalidItemForeground":"#f1706f","list.warningForeground":"#dfa000","menu.background":"#fdf6e3","menu.foreground":"#879686","menu.selectionBackground":"#f4f0d9","menu.selectionForeground":"#5c6a72","menubar.selectionBackground":"#fdf6e3","menubar.selectionBorder":"#fdf6e3","merge.border":"#fdf6e300","merge.currentContentBackground":"#6cb3c640","merge.currentHeaderBackground":"#6cb3c680","merge.incomingContentBackground":"#6ec39840","merge.incomingHeaderBackground":"#6ec39880","minimap.errorHighlight":"#f1706f80","minimap.findMatchHighlight":"#6ec39860","minimap.selectionHighlight":"#e0dcc7f0","minimap.warningHighlight":"#e4b64980","minimapGutter.addedBackground":"#a4bb4aa0","minimapGutter.deletedBackground":"#f1706fa0","minimapGutter.modifiedBackground":"#6cb3c6a0","notebook.cellBorderColor":"#e0dcc7","notebook.cellHoverBackground":"#fdf6e3","notebook.cellStatusBarItemHoverBackground":"#f4f0d9","notebook.cellToolbarSeparator":"#e0dcc7","notebook.focusedCellBackground":"#fdf6e3","notebook.focusedCellBorder":"#e0dcc7","notebook.focusedEditorBorder":"#e0dcc7","notebook.focusedRowBorder":"#e0dcc7","notebook.inactiveFocusedCellBorder":"#e0dcc7","notebook.outputContainerBackgroundColor":"#f4f0d9","notebook.selectedCellBorder":"#e0dcc7","notebookStatusErrorIcon.foreground":"#f85552","notebookStatusRunningIcon.foreground":"#3a94c5","notebookStatusSuccessIcon.foreground":"#8da101","notificationCenterHeader.background":"#efebd4","notificationCenterHeader.foreground":"#5c6a72","notificationLink.foreground":"#8da101","notifications.background":"#fdf6e3","notifications.foreground":"#5c6a72","notificationsErrorIcon.foreground":"#f85552","notificationsInfoIcon.foreground":"#3a94c5","notificationsWarningIcon.foreground":"#dfa000","panel.background":"#fdf6e3","panel.border":"#fdf6e3","panelInput.border":"#e0dcc7","panelSection.border":"#efebd4","panelSectionHeader.background":"#fdf6e3","panelTitle.activeBorder":"#93b259d0","panelTitle.activeForeground":"#5c6a72","panelTitle.inactiveForeground":"#939f91","peekView.border":"#e6e2cc","peekViewEditor.background":"#f4f0d9","peekViewEditor.matchHighlightBackground":"#e4b64950","peekViewEditorGutter.background":"#f4f0d9","peekViewResult.background":"#f4f0d9","peekViewResult.fileForeground":"#5c6a72","peekViewResult.lineForeground":"#879686","peekViewResult.matchHighlightBackground":"#e4b64950","peekViewResult.selectionBackground":"#6ec39850","peekViewResult.selectionForeground":"#5c6a72","peekViewTitle.background":"#e6e2cc","peekViewTitleDescription.foreground":"#5c6a72","peekViewTitleLabel.foreground":"#8da101","pickerGroup.border":"#93b2591a","pickerGroup.foreground":"#5c6a72","ports.iconRunningProcessForeground":"#f57d26","problemsErrorIcon.foreground":"#f85552","problemsInfoIcon.foreground":"#3a94c5","problemsWarningIcon.foreground":"#dfa000","progressBar.background":"#93b259","quickInputTitle.background":"#f4f0d9","rust_analyzer.inlayHints.background":"#fdf6e300","rust_analyzer.inlayHints.foreground":"#a4ad9ea0","rust_analyzer.syntaxTreeBorder":"#f85552","sash.hoverBorder":"#e6e2cc","scrollbar.shadow":"#3c474d20","scrollbarSlider.activeBackground":"#879686","scrollbarSlider.background":"#e0dcc780","scrollbarSlider.hoverBackground":"#e0dcc7","selection.background":"#e6e2ccc0","settings.checkboxBackground":"#fdf6e3","settings.checkboxBorder":"#e0dcc7","settings.checkboxForeground":"#f57d26","settings.dropdownBackground":"#fdf6e3","settings.dropdownBorder":"#e0dcc7","settings.dropdownForeground":"#35a77c","settings.focusedRowBackground":"#f4f0d9","settings.headerForeground":"#879686","settings.modifiedItemIndicator":"#a4ad9e","settings.numberInputBackground":"#fdf6e3","settings.numberInputBorder":"#e0dcc7","settings.numberInputForeground":"#df69ba","settings.rowHoverBackground":"#f4f0d9","settings.textInputBackground":"#fdf6e3","settings.textInputBorder":"#e0dcc7","settings.textInputForeground":"#3a94c5","sideBar.background":"#fdf6e3","sideBar.foreground":"#939f91","sideBarSectionHeader.background":"#fdf6e300","sideBarSectionHeader.foreground":"#879686","sideBarTitle.foreground":"#879686","statusBar.background":"#fdf6e3","statusBar.border":"#fdf6e3","statusBar.debuggingBackground":"#fdf6e3","statusBar.debuggingForeground":"#f57d26","statusBar.foreground":"#879686","statusBar.noFolderBackground":"#fdf6e3","statusBar.noFolderBorder":"#fdf6e3","statusBar.noFolderForeground":"#879686","statusBarItem.activeBackground":"#e6e2cc70","statusBarItem.errorBackground":"#fdf6e3","statusBarItem.errorForeground":"#f85552","statusBarItem.hoverBackground":"#e6e2cca0","statusBarItem.prominentBackground":"#fdf6e3","statusBarItem.prominentForeground":"#5c6a72","statusBarItem.prominentHoverBackground":"#e6e2cca0","statusBarItem.remoteBackground":"#fdf6e3","statusBarItem.remoteForeground":"#879686","statusBarItem.warningBackground":"#fdf6e3","statusBarItem.warningForeground":"#dfa000","symbolIcon.arrayForeground":"#3a94c5","symbolIcon.booleanForeground":"#df69ba","symbolIcon.classForeground":"#dfa000","symbolIcon.colorForeground":"#5c6a72","symbolIcon.constantForeground":"#35a77c","symbolIcon.constructorForeground":"#df69ba","symbolIcon.enumeratorForeground":"#df69ba","symbolIcon.enumeratorMemberForeground":"#35a77c","symbolIcon.eventForeground":"#dfa000","symbolIcon.fieldForeground":"#5c6a72","symbolIcon.fileForeground":"#5c6a72","symbolIcon.folderForeground":"#5c6a72","symbolIcon.functionForeground":"#8da101","symbolIcon.interfaceForeground":"#dfa000","symbolIcon.keyForeground":"#8da101","symbolIcon.keywordForeground":"#f85552","symbolIcon.methodForeground":"#8da101","symbolIcon.moduleForeground":"#df69ba","symbolIcon.namespaceForeground":"#df69ba","symbolIcon.nullForeground":"#35a77c","symbolIcon.numberForeground":"#df69ba","symbolIcon.objectForeground":"#df69ba","symbolIcon.operatorForeground":"#f57d26","symbolIcon.packageForeground":"#df69ba","symbolIcon.propertyForeground":"#35a77c","symbolIcon.referenceForeground":"#3a94c5","symbolIcon.snippetForeground":"#5c6a72","symbolIcon.stringForeground":"#8da101","symbolIcon.structForeground":"#dfa000","symbolIcon.textForeground":"#5c6a72","symbolIcon.typeParameterForeground":"#35a77c","symbolIcon.unitForeground":"#5c6a72","symbolIcon.variableForeground":"#3a94c5","tab.activeBackground":"#fdf6e3","tab.activeBorder":"#93b259d0","tab.activeForeground":"#5c6a72","tab.border":"#fdf6e3","tab.hoverBackground":"#fdf6e3","tab.hoverForeground":"#5c6a72","tab.inactiveBackground":"#fdf6e3","tab.inactiveForeground":"#a4ad9e","tab.lastPinnedBorder":"#93b259d0","tab.unfocusedActiveBorder":"#939f91","tab.unfocusedActiveForeground":"#879686","tab.unfocusedHoverForeground":"#5c6a72","tab.unfocusedInactiveForeground":"#a4ad9e","terminal.ansiBlack":"#5c6a72","terminal.ansiBlue":"#3a94c5","terminal.ansiBrightBlack":"#5c6a72","terminal.ansiBrightBlue":"#3a94c5","terminal.ansiBrightCyan":"#35a77c","terminal.ansiBrightGreen":"#8da101","terminal.ansiBrightMagenta":"#df69ba","terminal.ansiBrightRed":"#f85552","terminal.ansiBrightWhite":"#f4f0d9","terminal.ansiBrightYellow":"#dfa000","terminal.ansiCyan":"#35a77c","terminal.ansiGreen":"#8da101","terminal.ansiMagenta":"#df69ba","terminal.ansiRed":"#f85552","terminal.ansiWhite":"#939f91","terminal.ansiYellow":"#dfa000","terminal.foreground":"#5c6a72","terminalCursor.foreground":"#5c6a72","testing.iconErrored":"#f85552","testing.iconFailed":"#f85552","testing.iconPassed":"#35a77c","testing.iconQueued":"#3a94c5","testing.iconSkipped":"#df69ba","testing.iconUnset":"#dfa000","testing.runAction":"#35a77c","textBlockQuote.background":"#f4f0d9","textBlockQuote.border":"#e6e2cc","textCodeBlock.background":"#f4f0d9","textLink.activeForeground":"#8da101c0","textLink.foreground":"#8da101","textPreformat.foreground":"#dfa000","titleBar.activeBackground":"#fdf6e3","titleBar.activeForeground":"#879686","titleBar.border":"#fdf6e3","titleBar.inactiveBackground":"#fdf6e3","titleBar.inactiveForeground":"#a4ad9e","toolbar.hoverBackground":"#f4f0d9","tree.indentGuidesStroke":"#a4ad9e","walkThrough.embeddedEditorBackground":"#f4f0d9","welcomePage.buttonBackground":"#f4f0d9","welcomePage.buttonHoverBackground":"#f4f0d9a0","welcomePage.progress.foreground":"#8da101","welcomePage.tileHoverBackground":"#f4f0d9","widget.shadow":"#3c474d20"},"displayName":"Everforest Light","name":"everforest-light","semanticHighlighting":true,"semanticTokenColors":{"class:python":"#35a77c","class:typescript":"#35a77c","class:typescriptreact":"#35a77c","enum:typescript":"#df69ba","enum:typescriptreact":"#df69ba","enumMember:typescript":"#3a94c5","enumMember:typescriptreact":"#3a94c5","interface:typescript":"#35a77c","interface:typescriptreact":"#35a77c","intrinsic:python":"#df69ba","macro:rust":"#35a77c","memberOperatorOverload":"#f57d26","module:python":"#3a94c5","namespace:rust":"#df69ba","namespace:typescript":"#df69ba","namespace:typescriptreact":"#df69ba","operatorOverload":"#f57d26","property.defaultLibrary:javascript":"#df69ba","property.defaultLibrary:javascriptreact":"#df69ba","property.defaultLibrary:typescript":"#df69ba","property.defaultLibrary:typescriptreact":"#df69ba","selfKeyword:rust":"#df69ba","variable.defaultLibrary:javascript":"#df69ba","variable.defaultLibrary:javascriptreact":"#df69ba","variable.defaultLibrary:typescript":"#df69ba","variable.defaultLibrary:typescriptreact":"#df69ba"},"tokenColors":[{"scope":"keyword, storage.type.function, storage.type.class, storage.type.enum, storage.type.interface, storage.type.property, keyword.operator.new, keyword.operator.expression, keyword.operator.new, keyword.operator.delete, storage.type.extends","settings":{"foreground":"#f85552"}},{"scope":"keyword.other.debugger","settings":{"foreground":"#f85552"}},{"scope":"storage, modifier, keyword.var, entity.name.tag, keyword.control.case, keyword.control.switch","settings":{"foreground":"#f57d26"}},{"scope":"keyword.operator","settings":{"foreground":"#f57d26"}},{"scope":"string, punctuation.definition.string.end, punctuation.definition.string.begin, punctuation.definition.string.template.begin, punctuation.definition.string.template.end","settings":{"foreground":"#dfa000"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#dfa000"}},{"scope":"constant.character.escape, punctuation.quasi.element, punctuation.definition.template-expression, punctuation.section.embedded, storage.type.format, constant.other.placeholder, constant.other.placeholder, variable.interpolation","settings":{"foreground":"#8da101"}},{"scope":"entity.name.function, support.function, meta.function, meta.function-call, meta.definition.method","settings":{"foreground":"#8da101"}},{"scope":"keyword.control.at-rule, keyword.control.import, keyword.control.export, storage.type.namespace, punctuation.decorator, keyword.control.directive, keyword.preprocessor, punctuation.definition.preprocessor, punctuation.definition.directive, keyword.other.import, keyword.other.package, entity.name.type.namespace, entity.name.scope-resolution, keyword.other.using, keyword.package, keyword.import, keyword.map","settings":{"foreground":"#35a77c"}},{"scope":"storage.type.annotation","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.label, constant.other.label","settings":{"foreground":"#35a77c"}},{"scope":"support.module, support.node, support.other.module, support.type.object.module, entity.name.type.module, entity.name.type.class.module, keyword.control.module","settings":{"foreground":"#35a77c"}},{"scope":"storage.type, support.type, entity.name.type, keyword.type","settings":{"foreground":"#3a94c5"}},{"scope":"entity.name.type.class, support.class, entity.name.class, entity.other.inherited-class, storage.class","settings":{"foreground":"#3a94c5"}},{"scope":"constant.numeric","settings":{"foreground":"#df69ba"}},{"scope":"constant.language.boolean","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.function.preprocessor","settings":{"foreground":"#df69ba"}},{"scope":"variable.language.this, variable.language.self, variable.language.super, keyword.other.this, variable.language.special, constant.language.null, constant.language.undefined, constant.language.nan","settings":{"foreground":"#df69ba"}},{"scope":"constant.language, support.constant","settings":{"foreground":"#df69ba"}},{"scope":"variable, support.variable, meta.definition.variable","settings":{"foreground":"#5c6a72"}},{"scope":"variable.object.property, support.variable.property, variable.other.property, variable.other.object.property, variable.other.enummember, variable.other.member, meta.object-literal.key","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation, meta.brace, meta.delimiter, meta.bracket","settings":{"foreground":"#5c6a72"}},{"scope":"heading.1.markdown, markup.heading.setext.1.markdown","settings":{"fontStyle":"bold","foreground":"#f85552"}},{"scope":"heading.2.markdown, markup.heading.setext.2.markdown","settings":{"fontStyle":"bold","foreground":"#f57d26"}},{"scope":"heading.3.markdown","settings":{"fontStyle":"bold","foreground":"#dfa000"}},{"scope":"heading.4.markdown","settings":{"fontStyle":"bold","foreground":"#8da101"}},{"scope":"heading.5.markdown","settings":{"fontStyle":"bold","foreground":"#3a94c5"}},{"scope":"heading.6.markdown","settings":{"fontStyle":"bold","foreground":"#df69ba"}},{"scope":"punctuation.definition.heading.markdown","settings":{"fontStyle":"regular","foreground":"#939f91"}},{"scope":"string.other.link.title.markdown, constant.other.reference.link.markdown, string.other.link.description.markdown","settings":{"fontStyle":"regular","foreground":"#df69ba"}},{"scope":"markup.underline.link.image.markdown, markup.underline.link.markdown","settings":{"fontStyle":"underline","foreground":"#8da101"}},{"scope":"punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.italic.markdown, punctuation.definition.quote.begin.markdown, punctuation.definition.metadata.markdown, punctuation.separator.key-value.markdown, punctuation.definition.constant.markdown","settings":{"foreground":"#939f91"}},{"scope":"punctuation.definition.bold.markdown","settings":{"fontStyle":"regular","foreground":"#939f91"}},{"scope":"meta.separator.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown","settings":{"fontStyle":"bold","foreground":"#939f91"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.bold","settings":{"fontStyle":"bold"}},{"scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"fontStyle":"italic bold"}},{"scope":"punctuation.definition.markdown, punctuation.definition.raw.markdown","settings":{"foreground":"#dfa000"}},{"scope":"fenced_code.block.language","settings":{"foreground":"#dfa000"}},{"scope":"markup.fenced_code.block.markdown, markup.inline.raw.string.markdown","settings":{"foreground":"#8da101"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#f85552"}},{"scope":"punctuation.definition.heading.restructuredtext","settings":{"fontStyle":"bold","foreground":"#f57d26"}},{"scope":"punctuation.definition.field.restructuredtext, punctuation.separator.key-value.restructuredtext, punctuation.definition.directive.restructuredtext, punctuation.definition.constant.restructuredtext, punctuation.definition.italic.restructuredtext, punctuation.definition.table.restructuredtext","settings":{"foreground":"#939f91"}},{"scope":"punctuation.definition.bold.restructuredtext","settings":{"fontStyle":"regular","foreground":"#939f91"}},{"scope":"entity.name.tag.restructuredtext, punctuation.definition.link.restructuredtext, punctuation.definition.raw.restructuredtext, punctuation.section.raw.restructuredtext","settings":{"foreground":"#35a77c"}},{"scope":"constant.other.footnote.link.restructuredtext","settings":{"foreground":"#df69ba"}},{"scope":"support.directive.restructuredtext","settings":{"foreground":"#f85552"}},{"scope":"entity.name.directive.restructuredtext, markup.raw.restructuredtext, markup.raw.inner.restructuredtext, string.other.link.title.restructuredtext","settings":{"foreground":"#8da101"}},{"scope":"punctuation.definition.function.latex, punctuation.definition.function.tex, punctuation.definition.keyword.latex, constant.character.newline.tex, punctuation.definition.keyword.tex","settings":{"foreground":"#939f91"}},{"scope":"support.function.be.latex","settings":{"foreground":"#f85552"}},{"scope":"support.function.section.latex, keyword.control.table.cell.latex, keyword.control.table.newline.latex","settings":{"foreground":"#f57d26"}},{"scope":"support.class.latex, variable.parameter.latex, variable.parameter.function.latex, variable.parameter.definition.label.latex, constant.other.reference.label.latex","settings":{"foreground":"#dfa000"}},{"scope":"keyword.control.preamble.latex","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.separator.namespace.xml","settings":{"foreground":"#939f91"}},{"scope":"entity.name.tag.html, entity.name.tag.xml, entity.name.tag.localname.xml","settings":{"foreground":"#f57d26"}},{"scope":"entity.other.attribute-name.html, entity.other.attribute-name.xml, entity.other.attribute-name.localname.xml","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.html, string.quoted.single.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.separator.key-value.html, punctuation.definition.string.begin.xml, punctuation.definition.string.end.xml, string.quoted.double.xml, string.quoted.single.xml, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.xml, meta.tag.xml, meta.tag.preprocessor.xml, meta.tag.other.html, meta.tag.block.any.html, meta.tag.inline.any.html","settings":{"foreground":"#8da101"}},{"scope":"variable.language.documentroot.xml, meta.tag.sgml.doctype.xml","settings":{"foreground":"#df69ba"}},{"scope":"storage.type.proto","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.proto.syntax, string.quoted.single.proto.syntax, string.quoted.double.proto, string.quoted.single.proto","settings":{"foreground":"#8da101"}},{"scope":"entity.name.class.proto, entity.name.class.message.proto","settings":{"foreground":"#35a77c"}},{"scope":"punctuation.definition.entity.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, punctuation.separator.list.comma.css","settings":{"foreground":"#939f91"}},{"scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#f85552"}},{"scope":"keyword.other.unit","settings":{"foreground":"#f57d26"}},{"scope":"entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.single.css, string.quoted.double.css, support.constant.property-value.css, meta.property-value.css, punctuation.definition.string.begin.css, punctuation.definition.string.end.css, constant.numeric.css, support.constant.font-name.css, variable.parameter.keyframe-list.css","settings":{"foreground":"#8da101"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#35a77c"}},{"scope":"support.type.vendored.property-name.css","settings":{"foreground":"#3a94c5"}},{"scope":"entity.name.tag.css, entity.other.keyframe-offset.css, punctuation.definition.keyword.css, keyword.control.at-rule.keyframes.css, meta.selector.css","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.definition.entity.scss, punctuation.separator.key-value.scss, punctuation.terminator.rule.scss, punctuation.separator.list.comma.scss","settings":{"foreground":"#939f91"}},{"scope":"keyword.control.at-rule.keyframes.scss","settings":{"foreground":"#f57d26"}},{"scope":"punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss","settings":{"foreground":"#dfa000"}},{"scope":"punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, string.quoted.double.scss, string.quoted.single.scss, constant.character.css.sass, meta.property-value.scss","settings":{"foreground":"#8da101"}},{"scope":"keyword.control.at-rule.include.scss, keyword.control.at-rule.use.scss, keyword.control.at-rule.mixin.scss, keyword.control.at-rule.extend.scss, keyword.control.at-rule.import.scss","settings":{"foreground":"#df69ba"}},{"scope":"meta.function.stylus","settings":{"foreground":"#5c6a72"}},{"scope":"entity.name.function.stylus","settings":{"foreground":"#dfa000"}},{"scope":"string.unquoted.js","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.accessor.js, punctuation.separator.key-value.js, punctuation.separator.label.js, keyword.operator.accessor.js","settings":{"foreground":"#939f91"}},{"scope":"punctuation.definition.block.tag.jsdoc","settings":{"foreground":"#f85552"}},{"scope":"storage.type.js, storage.type.function.arrow.js","settings":{"foreground":"#f57d26"}},{"scope":"JSXNested","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.definition.tag.jsx, entity.other.attribute-name.jsx, punctuation.definition.tag.begin.js.jsx, punctuation.definition.tag.end.js.jsx, entity.other.attribute-name.js.jsx","settings":{"foreground":"#8da101"}},{"scope":"entity.name.type.module.ts","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.operator.type.annotation.ts, punctuation.accessor.ts, punctuation.separator.key-value.ts","settings":{"foreground":"#939f91"}},{"scope":"punctuation.definition.tag.directive.ts, entity.other.attribute-name.directive.ts","settings":{"foreground":"#8da101"}},{"scope":"entity.name.type.ts, entity.name.type.interface.ts, entity.other.inherited-class.ts, entity.name.type.alias.ts, entity.name.type.class.ts, entity.name.type.enum.ts","settings":{"foreground":"#35a77c"}},{"scope":"storage.type.ts, storage.type.function.arrow.ts, storage.type.type.ts","settings":{"foreground":"#f57d26"}},{"scope":"entity.name.type.module.ts","settings":{"foreground":"#3a94c5"}},{"scope":"keyword.control.import.ts, keyword.control.export.ts, storage.type.namespace.ts","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.type.module.tsx","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.operator.type.annotation.tsx, punctuation.accessor.tsx, punctuation.separator.key-value.tsx","settings":{"foreground":"#939f91"}},{"scope":"punctuation.definition.tag.directive.tsx, entity.other.attribute-name.directive.tsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx, entity.other.attribute-name.tsx","settings":{"foreground":"#8da101"}},{"scope":"entity.name.type.tsx, entity.name.type.interface.tsx, entity.other.inherited-class.tsx, entity.name.type.alias.tsx, entity.name.type.class.tsx, entity.name.type.enum.tsx","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.type.module.tsx","settings":{"foreground":"#3a94c5"}},{"scope":"keyword.control.import.tsx, keyword.control.export.tsx, storage.type.namespace.tsx","settings":{"foreground":"#df69ba"}},{"scope":"storage.type.tsx, storage.type.function.arrow.tsx, storage.type.type.tsx, support.class.component.tsx","settings":{"foreground":"#f57d26"}},{"scope":"storage.type.function.coffee","settings":{"foreground":"#f57d26"}},{"scope":"meta.type-signature.purescript","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.other.double-colon.purescript, keyword.other.arrow.purescript, keyword.other.big-arrow.purescript","settings":{"foreground":"#f57d26"}},{"scope":"entity.name.function.purescript","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.single.purescript, string.quoted.double.purescript, punctuation.definition.string.begin.purescript, punctuation.definition.string.end.purescript, string.quoted.triple.purescript, entity.name.type.purescript","settings":{"foreground":"#8da101"}},{"scope":"support.other.module.purescript","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.dot.dart","settings":{"foreground":"#939f91"}},{"scope":"storage.type.primitive.dart","settings":{"foreground":"#f57d26"}},{"scope":"support.class.dart","settings":{"foreground":"#dfa000"}},{"scope":"entity.name.function.dart, string.interpolated.single.dart, string.interpolated.double.dart","settings":{"foreground":"#8da101"}},{"scope":"variable.language.dart","settings":{"foreground":"#3a94c5"}},{"scope":"keyword.other.import.dart, storage.type.annotation.dart","settings":{"foreground":"#df69ba"}},{"scope":"entity.other.attribute-name.class.pug","settings":{"foreground":"#f85552"}},{"scope":"storage.type.function.pug","settings":{"foreground":"#f57d26"}},{"scope":"entity.other.attribute-name.tag.pug","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.tag.pug, storage.type.import.include.pug","settings":{"foreground":"#df69ba"}},{"scope":"meta.function-call.c, storage.modifier.array.bracket.square.c, meta.function.definition.parameters.c","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.separator.dot-access.c, constant.character.escape.line-continuation.c","settings":{"foreground":"#939f91"}},{"scope":"keyword.control.directive.include.c, punctuation.definition.directive.c, keyword.control.directive.pragma.c, keyword.control.directive.line.c, keyword.control.directive.define.c, keyword.control.directive.conditional.c, keyword.control.directive.diagnostic.error.c, keyword.control.directive.undef.c, keyword.control.directive.conditional.ifdef.c, keyword.control.directive.endif.c, keyword.control.directive.conditional.ifndef.c, keyword.control.directive.conditional.if.c, keyword.control.directive.else.c","settings":{"foreground":"#f85552"}},{"scope":"punctuation.separator.pointer-access.c","settings":{"foreground":"#f57d26"}},{"scope":"variable.other.member.c","settings":{"foreground":"#35a77c"}},{"scope":"meta.function-call.cpp, storage.modifier.array.bracket.square.cpp, meta.function.definition.parameters.cpp, meta.body.function.definition.cpp","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.separator.dot-access.cpp, constant.character.escape.line-continuation.cpp","settings":{"foreground":"#939f91"}},{"scope":"keyword.control.directive.include.cpp, punctuation.definition.directive.cpp, keyword.control.directive.pragma.cpp, keyword.control.directive.line.cpp, keyword.control.directive.define.cpp, keyword.control.directive.conditional.cpp, keyword.control.directive.diagnostic.error.cpp, keyword.control.directive.undef.cpp, keyword.control.directive.conditional.ifdef.cpp, keyword.control.directive.endif.cpp, keyword.control.directive.conditional.ifndef.cpp, keyword.control.directive.conditional.if.cpp, keyword.control.directive.else.cpp, storage.type.namespace.definition.cpp, keyword.other.using.directive.cpp, storage.type.struct.cpp","settings":{"foreground":"#f85552"}},{"scope":"punctuation.separator.pointer-access.cpp, punctuation.section.angle-brackets.begin.template.call.cpp, punctuation.section.angle-brackets.end.template.call.cpp","settings":{"foreground":"#f57d26"}},{"scope":"variable.other.member.cpp","settings":{"foreground":"#35a77c"}},{"scope":"keyword.other.using.cs","settings":{"foreground":"#f85552"}},{"scope":"keyword.type.cs, constant.character.escape.cs, punctuation.definition.interpolation.begin.cs, punctuation.definition.interpolation.end.cs","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.cs, string.quoted.single.cs, punctuation.definition.string.begin.cs, punctuation.definition.string.end.cs","settings":{"foreground":"#8da101"}},{"scope":"variable.other.object.property.cs","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.type.namespace.cs","settings":{"foreground":"#df69ba"}},{"scope":"keyword.symbol.fsharp, constant.language.unit.fsharp","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.format.specifier.fsharp, entity.name.type.fsharp","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.fsharp, string.quoted.single.fsharp, punctuation.definition.string.begin.fsharp, punctuation.definition.string.end.fsharp","settings":{"foreground":"#8da101"}},{"scope":"entity.name.section.fsharp","settings":{"foreground":"#3a94c5"}},{"scope":"support.function.attribute.fsharp","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.separator.java, punctuation.separator.period.java","settings":{"foreground":"#939f91"}},{"scope":"keyword.other.import.java, keyword.other.package.java","settings":{"foreground":"#f85552"}},{"scope":"storage.type.function.arrow.java, keyword.control.ternary.java","settings":{"foreground":"#f57d26"}},{"scope":"variable.other.property.java","settings":{"foreground":"#35a77c"}},{"scope":"variable.language.wildcard.java, storage.modifier.import.java, storage.type.annotation.java, punctuation.definition.annotation.java, storage.modifier.package.java, entity.name.type.module.java","settings":{"foreground":"#df69ba"}},{"scope":"keyword.other.import.kotlin","settings":{"foreground":"#f85552"}},{"scope":"storage.type.kotlin","settings":{"foreground":"#f57d26"}},{"scope":"constant.language.kotlin","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.package.kotlin, storage.type.annotation.kotlin","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.package.scala","settings":{"foreground":"#df69ba"}},{"scope":"constant.language.scala","settings":{"foreground":"#3a94c5"}},{"scope":"entity.name.import.scala","settings":{"foreground":"#35a77c"}},{"scope":"string.quoted.double.scala, string.quoted.single.scala, punctuation.definition.string.begin.scala, punctuation.definition.string.end.scala, string.quoted.double.interpolated.scala, string.quoted.single.interpolated.scala, string.quoted.triple.scala","settings":{"foreground":"#8da101"}},{"scope":"entity.name.class, entity.other.inherited-class.scala","settings":{"foreground":"#dfa000"}},{"scope":"keyword.declaration.stable.scala, keyword.other.arrow.scala","settings":{"foreground":"#f57d26"}},{"scope":"keyword.other.import.scala","settings":{"foreground":"#f85552"}},{"scope":"keyword.operator.navigation.groovy, meta.method.body.java, meta.definition.method.groovy, meta.definition.method.signature.java","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.separator.groovy","settings":{"foreground":"#939f91"}},{"scope":"keyword.other.import.groovy, keyword.other.package.groovy, keyword.other.import.static.groovy","settings":{"foreground":"#f85552"}},{"scope":"storage.type.def.groovy","settings":{"foreground":"#f57d26"}},{"scope":"variable.other.interpolated.groovy, meta.method.groovy","settings":{"foreground":"#8da101"}},{"scope":"storage.modifier.import.groovy, storage.modifier.package.groovy","settings":{"foreground":"#35a77c"}},{"scope":"storage.type.annotation.groovy","settings":{"foreground":"#df69ba"}},{"scope":"keyword.type.go","settings":{"foreground":"#f85552"}},{"scope":"entity.name.package.go","settings":{"foreground":"#35a77c"}},{"scope":"keyword.import.go, keyword.package.go","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.type.mod.rust","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.operator.path.rust, keyword.operator.member-access.rust","settings":{"foreground":"#939f91"}},{"scope":"storage.type.rust","settings":{"foreground":"#f57d26"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#35a77c"}},{"scope":"meta.attribute.rust, variable.language.rust, storage.type.module.rust","settings":{"foreground":"#df69ba"}},{"scope":"meta.function-call.swift, support.function.any-method.swift","settings":{"foreground":"#5c6a72"}},{"scope":"support.variable.swift","settings":{"foreground":"#35a77c"}},{"scope":"keyword.operator.class.php","settings":{"foreground":"#5c6a72"}},{"scope":"storage.type.trait.php","settings":{"foreground":"#f57d26"}},{"scope":"constant.language.php, support.other.namespace.php","settings":{"foreground":"#35a77c"}},{"scope":"storage.type.modifier.access.control.public.cpp, storage.type.modifier.access.control.private.cpp","settings":{"foreground":"#3a94c5"}},{"scope":"keyword.control.import.include.php, storage.type.php","settings":{"foreground":"#df69ba"}},{"scope":"meta.function-call.arguments.python","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.definition.decorator.python, punctuation.separator.period.python","settings":{"foreground":"#939f91"}},{"scope":"constant.language.python","settings":{"foreground":"#35a77c"}},{"scope":"keyword.control.import.python, keyword.control.import.from.python","settings":{"foreground":"#df69ba"}},{"scope":"constant.language.lua","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.class.lua","settings":{"foreground":"#3a94c5"}},{"scope":"meta.function.method.with-arguments.ruby","settings":{"foreground":"#5c6a72"}},{"scope":"punctuation.separator.method.ruby","settings":{"foreground":"#939f91"}},{"scope":"keyword.control.pseudo-method.ruby, storage.type.variable.ruby","settings":{"foreground":"#f57d26"}},{"scope":"keyword.other.special-method.ruby","settings":{"foreground":"#8da101"}},{"scope":"keyword.control.module.ruby, punctuation.definition.constant.ruby","settings":{"foreground":"#df69ba"}},{"scope":"string.regexp.character-class.ruby,string.regexp.interpolated.ruby,punctuation.definition.character-class.ruby,string.regexp.group.ruby, punctuation.section.regexp.ruby, punctuation.definition.group.ruby","settings":{"foreground":"#dfa000"}},{"scope":"variable.other.constant.ruby","settings":{"foreground":"#3a94c5"}},{"scope":"keyword.other.arrow.haskell, keyword.other.big-arrow.haskell, keyword.other.double-colon.haskell","settings":{"foreground":"#f57d26"}},{"scope":"storage.type.haskell","settings":{"foreground":"#dfa000"}},{"scope":"constant.other.haskell, string.quoted.double.haskell, string.quoted.single.haskell, punctuation.definition.string.begin.haskell, punctuation.definition.string.end.haskell","settings":{"foreground":"#8da101"}},{"scope":"entity.name.function.haskell","settings":{"foreground":"#3a94c5"}},{"scope":"entity.name.namespace, meta.preprocessor.haskell","settings":{"foreground":"#35a77c"}},{"scope":"keyword.control.import.julia, keyword.control.export.julia","settings":{"foreground":"#f85552"}},{"scope":"keyword.storage.modifier.julia","settings":{"foreground":"#f57d26"}},{"scope":"constant.language.julia","settings":{"foreground":"#35a77c"}},{"scope":"support.function.macro.julia","settings":{"foreground":"#df69ba"}},{"scope":"keyword.other.period.elm","settings":{"foreground":"#5c6a72"}},{"scope":"storage.type.elm","settings":{"foreground":"#dfa000"}},{"scope":"keyword.other.r","settings":{"foreground":"#f57d26"}},{"scope":"entity.name.function.r, variable.function.r","settings":{"foreground":"#8da101"}},{"scope":"constant.language.r","settings":{"foreground":"#35a77c"}},{"scope":"entity.namespace.r","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.separator.module-function.erlang, punctuation.section.directive.begin.erlang","settings":{"foreground":"#939f91"}},{"scope":"keyword.control.directive.erlang, keyword.control.directive.define.erlang","settings":{"foreground":"#f85552"}},{"scope":"entity.name.type.class.module.erlang","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.erlang, string.quoted.single.erlang, punctuation.definition.string.begin.erlang, punctuation.definition.string.end.erlang","settings":{"foreground":"#8da101"}},{"scope":"keyword.control.directive.export.erlang, keyword.control.directive.module.erlang, keyword.control.directive.import.erlang, keyword.control.directive.behaviour.erlang","settings":{"foreground":"#df69ba"}},{"scope":"variable.other.readwrite.module.elixir, punctuation.definition.variable.elixir","settings":{"foreground":"#35a77c"}},{"scope":"constant.language.elixir","settings":{"foreground":"#3a94c5"}},{"scope":"keyword.control.module.elixir","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.type.value-signature.ocaml","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.other.ocaml","settings":{"foreground":"#f57d26"}},{"scope":"constant.language.variant.ocaml","settings":{"foreground":"#35a77c"}},{"scope":"storage.type.sub.perl, storage.type.declare.routine.perl","settings":{"foreground":"#f85552"}},{"scope":"meta.function.lisp","settings":{"foreground":"#5c6a72"}},{"scope":"storage.type.function-type.lisp","settings":{"foreground":"#f85552"}},{"scope":"keyword.constant.lisp","settings":{"foreground":"#8da101"}},{"scope":"entity.name.function.lisp","settings":{"foreground":"#35a77c"}},{"scope":"constant.keyword.clojure, support.variable.clojure, meta.definition.variable.clojure","settings":{"foreground":"#8da101"}},{"scope":"entity.global.clojure","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.function.clojure","settings":{"foreground":"#3a94c5"}},{"scope":"meta.scope.if-block.shell, meta.scope.group.shell","settings":{"foreground":"#5c6a72"}},{"scope":"support.function.builtin.shell, entity.name.function.shell","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.shell, string.quoted.single.shell, punctuation.definition.string.begin.shell, punctuation.definition.string.end.shell, string.unquoted.heredoc.shell","settings":{"foreground":"#8da101"}},{"scope":"keyword.control.heredoc-token.shell, variable.other.normal.shell, punctuation.definition.variable.shell, variable.other.special.shell, variable.other.positional.shell, variable.other.bracket.shell","settings":{"foreground":"#df69ba"}},{"scope":"support.function.builtin.fish","settings":{"foreground":"#f85552"}},{"scope":"support.function.unix.fish","settings":{"foreground":"#f57d26"}},{"scope":"variable.other.normal.fish, punctuation.definition.variable.fish, variable.other.fixed.fish, variable.other.special.fish","settings":{"foreground":"#3a94c5"}},{"scope":"string.quoted.double.fish, punctuation.definition.string.end.fish, punctuation.definition.string.begin.fish, string.quoted.single.fish","settings":{"foreground":"#8da101"}},{"scope":"constant.character.escape.single.fish","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.definition.variable.powershell","settings":{"foreground":"#939f91"}},{"scope":"entity.name.function.powershell, support.function.attribute.powershell, support.function.powershell","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.single.powershell, string.quoted.double.powershell, punctuation.definition.string.begin.powershell, punctuation.definition.string.end.powershell, string.quoted.double.heredoc.powershell","settings":{"foreground":"#8da101"}},{"scope":"variable.other.member.powershell","settings":{"foreground":"#35a77c"}},{"scope":"string.unquoted.alias.graphql","settings":{"foreground":"#5c6a72"}},{"scope":"keyword.type.graphql","settings":{"foreground":"#f85552"}},{"scope":"entity.name.fragment.graphql","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.function.target.makefile","settings":{"foreground":"#f57d26"}},{"scope":"variable.other.makefile","settings":{"foreground":"#dfa000"}},{"scope":"meta.scope.prerequisites.makefile","settings":{"foreground":"#8da101"}},{"scope":"string.source.cmake","settings":{"foreground":"#8da101"}},{"scope":"entity.source.cmake","settings":{"foreground":"#35a77c"}},{"scope":"storage.source.cmake","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.definition.map.viml","settings":{"foreground":"#939f91"}},{"scope":"storage.type.map.viml","settings":{"foreground":"#f57d26"}},{"scope":"constant.character.map.viml, constant.character.map.key.viml","settings":{"foreground":"#8da101"}},{"scope":"constant.character.map.special.viml","settings":{"foreground":"#3a94c5"}},{"scope":"constant.language.tmux, constant.numeric.tmux","settings":{"foreground":"#8da101"}},{"scope":"entity.name.function.package-manager.dockerfile","settings":{"foreground":"#f57d26"}},{"scope":"keyword.operator.flag.dockerfile","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.double.dockerfile, string.quoted.single.dockerfile","settings":{"foreground":"#8da101"}},{"scope":"constant.character.escape.dockerfile","settings":{"foreground":"#35a77c"}},{"scope":"entity.name.type.base-image.dockerfile, entity.name.image.dockerfile","settings":{"foreground":"#df69ba"}},{"scope":"punctuation.definition.separator.diff","settings":{"foreground":"#939f91"}},{"scope":"markup.deleted.diff, punctuation.definition.deleted.diff","settings":{"foreground":"#f85552"}},{"scope":"meta.diff.range.context, punctuation.definition.range.diff","settings":{"foreground":"#f57d26"}},{"scope":"meta.diff.header.from-file","settings":{"foreground":"#dfa000"}},{"scope":"markup.inserted.diff, punctuation.definition.inserted.diff","settings":{"foreground":"#8da101"}},{"scope":"markup.changed.diff, punctuation.definition.changed.diff","settings":{"foreground":"#3a94c5"}},{"scope":"punctuation.definition.from-file.diff","settings":{"foreground":"#df69ba"}},{"scope":"entity.name.section.group-title.ini, punctuation.definition.entity.ini","settings":{"foreground":"#f85552"}},{"scope":"punctuation.separator.key-value.ini","settings":{"foreground":"#f57d26"}},{"scope":"string.quoted.double.ini, string.quoted.single.ini, punctuation.definition.string.begin.ini, punctuation.definition.string.end.ini","settings":{"foreground":"#8da101"}},{"scope":"keyword.other.definition.ini","settings":{"foreground":"#35a77c"}},{"scope":"support.function.aggregate.sql","settings":{"foreground":"#dfa000"}},{"scope":"string.quoted.single.sql, punctuation.definition.string.end.sql, punctuation.definition.string.begin.sql, string.quoted.double.sql","settings":{"foreground":"#8da101"}},{"scope":"support.type.graphql","settings":{"foreground":"#dfa000"}},{"scope":"variable.parameter.graphql","settings":{"foreground":"#3a94c5"}},{"scope":"constant.character.enum.graphql","settings":{"foreground":"#35a77c"}},{"scope":"punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json, punctuation.separator.dictionary.key-value.json, punctuation.definition.string.begin.json, punctuation.definition.string.end.json, punctuation.separator.dictionary.pair.json, punctuation.separator.array.json","settings":{"foreground":"#939f91"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#f57d26"}},{"scope":"string.quoted.double.json","settings":{"foreground":"#8da101"}},{"scope":"punctuation.separator.key-value.mapping.yaml","settings":{"foreground":"#939f91"}},{"scope":"string.unquoted.plain.out.yaml, string.quoted.single.yaml, string.quoted.double.yaml, punctuation.definition.string.begin.yaml, punctuation.definition.string.end.yaml, string.unquoted.plain.in.yaml, string.unquoted.block.yaml","settings":{"foreground":"#8da101"}},{"scope":"punctuation.definition.anchor.yaml, punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#35a77c"}},{"scope":"keyword.key.toml","settings":{"foreground":"#f57d26"}},{"scope":"string.quoted.single.basic.line.toml, string.quoted.single.literal.line.toml, punctuation.definition.keyValuePair.toml","settings":{"foreground":"#8da101"}},{"scope":"constant.other.boolean.toml","settings":{"foreground":"#3a94c5"}},{"scope":"entity.other.attribute-name.table.toml, punctuation.definition.table.toml, entity.other.attribute-name.table.array.toml, punctuation.definition.table.array.toml","settings":{"foreground":"#df69ba"}},{"scope":"comment, string.comment, punctuation.definition.comment","settings":{"fontStyle":"italic","foreground":"#939f91"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-C8M2exoo.js.map diff --git a/src/webview-ui/build/assets/chunk-C8M2exoo.js.map b/src/webview-ui/build/assets/chunk-C8M2exoo.js.map new file mode 100644 index 0000000000..3c2a9ef29a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C8M2exoo.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-C8M2exoo.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/everforest-light.mjs" + ], + "sourcesContent": [ + "/* Theme: everforest-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#93b259d0\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#93b259\\\",\\\"activityBar.background\\\":\\\"#fdf6e3\\\",\\\"activityBar.border\\\":\\\"#fdf6e3\\\",\\\"activityBar.dropBackground\\\":\\\"#fdf6e3\\\",\\\"activityBar.foreground\\\":\\\"#5c6a72\\\",\\\"activityBar.inactiveForeground\\\":\\\"#939f91\\\",\\\"activityBarBadge.background\\\":\\\"#93b259\\\",\\\"activityBarBadge.foreground\\\":\\\"#fdf6e3\\\",\\\"badge.background\\\":\\\"#93b259\\\",\\\"badge.foreground\\\":\\\"#fdf6e3\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#5c6a72\\\",\\\"breadcrumb.focusForeground\\\":\\\"#5c6a72\\\",\\\"breadcrumb.foreground\\\":\\\"#939f91\\\",\\\"button.background\\\":\\\"#93b259\\\",\\\"button.foreground\\\":\\\"#fdf6e3\\\",\\\"button.hoverBackground\\\":\\\"#93b259d0\\\",\\\"button.secondaryBackground\\\":\\\"#efebd4\\\",\\\"button.secondaryForeground\\\":\\\"#5c6a72\\\",\\\"button.secondaryHoverBackground\\\":\\\"#e6e2cc\\\",\\\"charts.blue\\\":\\\"#3a94c5\\\",\\\"charts.foreground\\\":\\\"#5c6a72\\\",\\\"charts.green\\\":\\\"#8da101\\\",\\\"charts.orange\\\":\\\"#f57d26\\\",\\\"charts.purple\\\":\\\"#df69ba\\\",\\\"charts.red\\\":\\\"#f85552\\\",\\\"charts.yellow\\\":\\\"#dfa000\\\",\\\"checkbox.background\\\":\\\"#fdf6e3\\\",\\\"checkbox.border\\\":\\\"#e0dcc7\\\",\\\"checkbox.foreground\\\":\\\"#f57d26\\\",\\\"debugConsole.errorForeground\\\":\\\"#f85552\\\",\\\"debugConsole.infoForeground\\\":\\\"#8da101\\\",\\\"debugConsole.sourceForeground\\\":\\\"#df69ba\\\",\\\"debugConsole.warningForeground\\\":\\\"#dfa000\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#35a77c\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f1706f\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f85552\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#f85552\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#879686\\\",\\\"debugIcon.continueForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#df69ba\\\",\\\"debugIcon.pauseForeground\\\":\\\"#dfa000\\\",\\\"debugIcon.restartForeground\\\":\\\"#35a77c\\\",\\\"debugIcon.startForeground\\\":\\\"#35a77c\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stopForeground\\\":\\\"#f85552\\\",\\\"debugTokenExpression.boolean\\\":\\\"#df69ba\\\",\\\"debugTokenExpression.error\\\":\\\"#f85552\\\",\\\"debugTokenExpression.name\\\":\\\"#3a94c5\\\",\\\"debugTokenExpression.number\\\":\\\"#df69ba\\\",\\\"debugTokenExpression.string\\\":\\\"#dfa000\\\",\\\"debugTokenExpression.value\\\":\\\"#8da101\\\",\\\"debugToolBar.background\\\":\\\"#fdf6e3\\\",\\\"descriptionForeground\\\":\\\"#939f91\\\",\\\"diffEditor.diagonalFill\\\":\\\"#e0dcc7\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#6ec39830\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f1706f30\\\",\\\"dropdown.background\\\":\\\"#fdf6e3\\\",\\\"dropdown.border\\\":\\\"#e0dcc7\\\",\\\"dropdown.foreground\\\":\\\"#879686\\\",\\\"editor.background\\\":\\\"#fdf6e3\\\",\\\"editor.findMatchBackground\\\":\\\"#f3945940\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#a4bb4a40\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#e6e2cc50\\\",\\\"editor.foldBackground\\\":\\\"#e0dcc780\\\",\\\"editor.foreground\\\":\\\"#5c6a72\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#e6e2cc90\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#e6e2cc50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#efebd470\\\",\\\"editor.lineHighlightBorder\\\":\\\"#e0dcc700\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#efebd480\\\",\\\"editor.selectionBackground\\\":\\\"#e6e2cca0\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#e6e2cc50\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#a4bb4a40\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#fdf6e3\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#efebd4\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#6cb3c640\\\",\\\"editor.wordHighlightBackground\\\":\\\"#e6e2cc48\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#e6e2cc90\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#f85552\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#dfa000\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#8da101\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#3a94c5\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#f57d26\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#df69ba\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#939f91\\\",\\\"editorBracketMatch.background\\\":\\\"#e0dcc7\\\",\\\"editorBracketMatch.border\\\":\\\"#fdf6e300\\\",\\\"editorCodeLens.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorCursor.foreground\\\":\\\"#5c6a72\\\",\\\"editorError.background\\\":\\\"#f1706f00\\\",\\\"editorError.foreground\\\":\\\"#f1706f\\\",\\\"editorGhostText.background\\\":\\\"#fdf6e300\\\",\\\"editorGhostText.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorGroup.border\\\":\\\"#efebd4\\\",\\\"editorGroup.dropBackground\\\":\\\"#e0dcc760\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#fdf6e3\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#fdf6e3\\\",\\\"editorGutter.addedBackground\\\":\\\"#a4bb4aa0\\\",\\\"editorGutter.background\\\":\\\"#fdf6e300\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#a4ad9e\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f1706fa0\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6cb3c6a0\\\",\\\"editorHint.foreground\\\":\\\"#e092be\\\",\\\"editorHoverWidget.background\\\":\\\"#f4f0d9\\\",\\\"editorHoverWidget.border\\\":\\\"#e6e2cc\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#87968650\\\",\\\"editorIndentGuide.background\\\":\\\"#87968620\\\",\\\"editorInfo.background\\\":\\\"#6cb3c600\\\",\\\"editorInfo.foreground\\\":\\\"#6cb3c6\\\",\\\"editorInlayHint.background\\\":\\\"#fdf6e300\\\",\\\"editorInlayHint.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#fdf6e300\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a4ad9ea0\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#fdf6e300\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#a4ad9ea0\\\",\\\"editorLightBulb.foreground\\\":\\\"#dfa000\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#35a77c\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#879686e0\\\",\\\"editorLineNumber.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorLink.activeForeground\\\":\\\"#8da101\\\",\\\"editorMarkerNavigation.background\\\":\\\"#f4f0d9\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#f1706f80\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#6cb3c680\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#e4b64980\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#a4bb4aa0\\\",\\\"editorOverviewRuler.border\\\":\\\"#fdf6e300\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#939f91\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#6cb3c6\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#f1706fa0\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f85552\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#df69ba\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#6cb3c6a0\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#dfa000\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#e0dcc7\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#e0dcc7\\\",\\\"editorRuler.foreground\\\":\\\"#e6e2cca0\\\",\\\"editorSuggestWidget.background\\\":\\\"#efebd4\\\",\\\"editorSuggestWidget.border\\\":\\\"#efebd4\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#5c6a72\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#8da101\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#e6e2cc\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#fdf6e3\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#00000080\\\",\\\"editorWarning.background\\\":\\\"#e4b64900\\\",\\\"editorWarning.foreground\\\":\\\"#e4b649\\\",\\\"editorWhitespace.foreground\\\":\\\"#e6e2cc\\\",\\\"editorWidget.background\\\":\\\"#fdf6e3\\\",\\\"editorWidget.border\\\":\\\"#e0dcc7\\\",\\\"editorWidget.foreground\\\":\\\"#5c6a72\\\",\\\"errorForeground\\\":\\\"#f85552\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#93b259\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#fdf6e3\\\",\\\"extensionButton.prominentBackground\\\":\\\"#93b259\\\",\\\"extensionButton.prominentForeground\\\":\\\"#fdf6e3\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#93b259d0\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#f57d26\\\",\\\"extensionIcon.starForeground\\\":\\\"#35a77c\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#8da101\\\",\\\"focusBorder\\\":\\\"#fdf6e300\\\",\\\"foreground\\\":\\\"#879686\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#8da101a0\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#df69baa0\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f85552a0\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#e0dcc7\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#3a94c5a0\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#35a77ca0\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#35a77ca0\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#f57d26a0\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#dfa000a0\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#f85552\\\",\\\"gitlens.decorations.addedForegroundColor\\\":\\\"#8da101\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#35a77c\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#f57d26\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#dfa000\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#f85552\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#3a94c5\\\",\\\"gitlens.decorations.branchUpToDateForegroundColor\\\":\\\"#5c6a72\\\",\\\"gitlens.decorations.copiedForegroundColor\\\":\\\"#df69ba\\\",\\\"gitlens.decorations.deletedForegroundColor\\\":\\\"#f85552\\\",\\\"gitlens.decorations.ignoredForegroundColor\\\":\\\"#879686\\\",\\\"gitlens.decorations.modifiedForegroundColor\\\":\\\"#3a94c5\\\",\\\"gitlens.decorations.renamedForegroundColor\\\":\\\"#df69ba\\\",\\\"gitlens.decorations.untrackedForegroundColor\\\":\\\"#dfa000\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#fdf6e3\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#5c6a72\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#3a94c5\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#f4f0d9\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#93b259\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#df69ba\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#35a77c\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#939f91\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#dfa000\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#f57d26\\\",\\\"gitlens.unpushlishedChangesIconColor\\\":\\\"#3a94c5\\\",\\\"icon.foreground\\\":\\\"#35a77c\\\",\\\"imagePreview.border\\\":\\\"#fdf6e3\\\",\\\"input.background\\\":\\\"#fdf6e300\\\",\\\"input.border\\\":\\\"#e0dcc7\\\",\\\"input.foreground\\\":\\\"#5c6a72\\\",\\\"input.placeholderForeground\\\":\\\"#a4ad9e\\\",\\\"inputOption.activeBorder\\\":\\\"#35a77c\\\",\\\"inputValidation.errorBackground\\\":\\\"#f1706f\\\",\\\"inputValidation.errorBorder\\\":\\\"#f85552\\\",\\\"inputValidation.errorForeground\\\":\\\"#5c6a72\\\",\\\"inputValidation.infoBackground\\\":\\\"#6cb3c6\\\",\\\"inputValidation.infoBorder\\\":\\\"#3a94c5\\\",\\\"inputValidation.infoForeground\\\":\\\"#5c6a72\\\",\\\"inputValidation.warningBackground\\\":\\\"#e4b649\\\",\\\"inputValidation.warningBorder\\\":\\\"#dfa000\\\",\\\"inputValidation.warningForeground\\\":\\\"#5c6a72\\\",\\\"issues.closed\\\":\\\"#f85552\\\",\\\"issues.open\\\":\\\"#35a77c\\\",\\\"keybindingLabel.background\\\":\\\"#fdf6e300\\\",\\\"keybindingLabel.border\\\":\\\"#f4f0d9\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#efebd4\\\",\\\"keybindingLabel.foreground\\\":\\\"#5c6a72\\\",\\\"keybindingTable.headerBackground\\\":\\\"#efebd4\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#f4f0d9\\\",\\\"list.activeSelectionBackground\\\":\\\"#e6e2cc80\\\",\\\"list.activeSelectionForeground\\\":\\\"#5c6a72\\\",\\\"list.dropBackground\\\":\\\"#f4f0d980\\\",\\\"list.errorForeground\\\":\\\"#f85552\\\",\\\"list.focusBackground\\\":\\\"#e6e2cc80\\\",\\\"list.focusForeground\\\":\\\"#5c6a72\\\",\\\"list.highlightForeground\\\":\\\"#8da101\\\",\\\"list.hoverBackground\\\":\\\"#fdf6e300\\\",\\\"list.hoverForeground\\\":\\\"#5c6a72\\\",\\\"list.inactiveFocusBackground\\\":\\\"#e6e2cc60\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#e6e2cc80\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#879686\\\",\\\"list.invalidItemForeground\\\":\\\"#f1706f\\\",\\\"list.warningForeground\\\":\\\"#dfa000\\\",\\\"menu.background\\\":\\\"#fdf6e3\\\",\\\"menu.foreground\\\":\\\"#879686\\\",\\\"menu.selectionBackground\\\":\\\"#f4f0d9\\\",\\\"menu.selectionForeground\\\":\\\"#5c6a72\\\",\\\"menubar.selectionBackground\\\":\\\"#fdf6e3\\\",\\\"menubar.selectionBorder\\\":\\\"#fdf6e3\\\",\\\"merge.border\\\":\\\"#fdf6e300\\\",\\\"merge.currentContentBackground\\\":\\\"#6cb3c640\\\",\\\"merge.currentHeaderBackground\\\":\\\"#6cb3c680\\\",\\\"merge.incomingContentBackground\\\":\\\"#6ec39840\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#6ec39880\\\",\\\"minimap.errorHighlight\\\":\\\"#f1706f80\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6ec39860\\\",\\\"minimap.selectionHighlight\\\":\\\"#e0dcc7f0\\\",\\\"minimap.warningHighlight\\\":\\\"#e4b64980\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a4bb4aa0\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f1706fa0\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#6cb3c6a0\\\",\\\"notebook.cellBorderColor\\\":\\\"#e0dcc7\\\",\\\"notebook.cellHoverBackground\\\":\\\"#fdf6e3\\\",\\\"notebook.cellStatusBarItemHoverBackground\\\":\\\"#f4f0d9\\\",\\\"notebook.cellToolbarSeparator\\\":\\\"#e0dcc7\\\",\\\"notebook.focusedCellBackground\\\":\\\"#fdf6e3\\\",\\\"notebook.focusedCellBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.focusedRowBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#f4f0d9\\\",\\\"notebook.selectedCellBorder\\\":\\\"#e0dcc7\\\",\\\"notebookStatusErrorIcon.foreground\\\":\\\"#f85552\\\",\\\"notebookStatusRunningIcon.foreground\\\":\\\"#3a94c5\\\",\\\"notebookStatusSuccessIcon.foreground\\\":\\\"#8da101\\\",\\\"notificationCenterHeader.background\\\":\\\"#efebd4\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#5c6a72\\\",\\\"notificationLink.foreground\\\":\\\"#8da101\\\",\\\"notifications.background\\\":\\\"#fdf6e3\\\",\\\"notifications.foreground\\\":\\\"#5c6a72\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f85552\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#3a94c5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#dfa000\\\",\\\"panel.background\\\":\\\"#fdf6e3\\\",\\\"panel.border\\\":\\\"#fdf6e3\\\",\\\"panelInput.border\\\":\\\"#e0dcc7\\\",\\\"panelSection.border\\\":\\\"#efebd4\\\",\\\"panelSectionHeader.background\\\":\\\"#fdf6e3\\\",\\\"panelTitle.activeBorder\\\":\\\"#93b259d0\\\",\\\"panelTitle.activeForeground\\\":\\\"#5c6a72\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#939f91\\\",\\\"peekView.border\\\":\\\"#e6e2cc\\\",\\\"peekViewEditor.background\\\":\\\"#f4f0d9\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#e4b64950\\\",\\\"peekViewEditorGutter.background\\\":\\\"#f4f0d9\\\",\\\"peekViewResult.background\\\":\\\"#f4f0d9\\\",\\\"peekViewResult.fileForeground\\\":\\\"#5c6a72\\\",\\\"peekViewResult.lineForeground\\\":\\\"#879686\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#e4b64950\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#6ec39850\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#5c6a72\\\",\\\"peekViewTitle.background\\\":\\\"#e6e2cc\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#5c6a72\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#8da101\\\",\\\"pickerGroup.border\\\":\\\"#93b2591a\\\",\\\"pickerGroup.foreground\\\":\\\"#5c6a72\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#f57d26\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#f85552\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#3a94c5\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#dfa000\\\",\\\"progressBar.background\\\":\\\"#93b259\\\",\\\"quickInputTitle.background\\\":\\\"#f4f0d9\\\",\\\"rust_analyzer.inlayHints.background\\\":\\\"#fdf6e300\\\",\\\"rust_analyzer.inlayHints.foreground\\\":\\\"#a4ad9ea0\\\",\\\"rust_analyzer.syntaxTreeBorder\\\":\\\"#f85552\\\",\\\"sash.hoverBorder\\\":\\\"#e6e2cc\\\",\\\"scrollbar.shadow\\\":\\\"#3c474d20\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#879686\\\",\\\"scrollbarSlider.background\\\":\\\"#e0dcc780\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#e0dcc7\\\",\\\"selection.background\\\":\\\"#e6e2ccc0\\\",\\\"settings.checkboxBackground\\\":\\\"#fdf6e3\\\",\\\"settings.checkboxBorder\\\":\\\"#e0dcc7\\\",\\\"settings.checkboxForeground\\\":\\\"#f57d26\\\",\\\"settings.dropdownBackground\\\":\\\"#fdf6e3\\\",\\\"settings.dropdownBorder\\\":\\\"#e0dcc7\\\",\\\"settings.dropdownForeground\\\":\\\"#35a77c\\\",\\\"settings.focusedRowBackground\\\":\\\"#f4f0d9\\\",\\\"settings.headerForeground\\\":\\\"#879686\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#a4ad9e\\\",\\\"settings.numberInputBackground\\\":\\\"#fdf6e3\\\",\\\"settings.numberInputBorder\\\":\\\"#e0dcc7\\\",\\\"settings.numberInputForeground\\\":\\\"#df69ba\\\",\\\"settings.rowHoverBackground\\\":\\\"#f4f0d9\\\",\\\"settings.textInputBackground\\\":\\\"#fdf6e3\\\",\\\"settings.textInputBorder\\\":\\\"#e0dcc7\\\",\\\"settings.textInputForeground\\\":\\\"#3a94c5\\\",\\\"sideBar.background\\\":\\\"#fdf6e3\\\",\\\"sideBar.foreground\\\":\\\"#939f91\\\",\\\"sideBarSectionHeader.background\\\":\\\"#fdf6e300\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#879686\\\",\\\"sideBarTitle.foreground\\\":\\\"#879686\\\",\\\"statusBar.background\\\":\\\"#fdf6e3\\\",\\\"statusBar.border\\\":\\\"#fdf6e3\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fdf6e3\\\",\\\"statusBar.debuggingForeground\\\":\\\"#f57d26\\\",\\\"statusBar.foreground\\\":\\\"#879686\\\",\\\"statusBar.noFolderBackground\\\":\\\"#fdf6e3\\\",\\\"statusBar.noFolderBorder\\\":\\\"#fdf6e3\\\",\\\"statusBar.noFolderForeground\\\":\\\"#879686\\\",\\\"statusBarItem.activeBackground\\\":\\\"#e6e2cc70\\\",\\\"statusBarItem.errorBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.errorForeground\\\":\\\"#f85552\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#e6e2cca0\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#5c6a72\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#e6e2cca0\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#879686\\\",\\\"statusBarItem.warningBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.warningForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#3a94c5\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.classForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.colorForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.constantForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.eventForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.fileForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.folderForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.functionForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.keyForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#f85552\\\",\\\"symbolIcon.methodForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.nullForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.numberForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.objectForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#f57d26\\\",\\\"symbolIcon.packageForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#3a94c5\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.stringForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.structForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.textForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.unitForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.variableForeground\\\":\\\"#3a94c5\\\",\\\"tab.activeBackground\\\":\\\"#fdf6e3\\\",\\\"tab.activeBorder\\\":\\\"#93b259d0\\\",\\\"tab.activeForeground\\\":\\\"#5c6a72\\\",\\\"tab.border\\\":\\\"#fdf6e3\\\",\\\"tab.hoverBackground\\\":\\\"#fdf6e3\\\",\\\"tab.hoverForeground\\\":\\\"#5c6a72\\\",\\\"tab.inactiveBackground\\\":\\\"#fdf6e3\\\",\\\"tab.inactiveForeground\\\":\\\"#a4ad9e\\\",\\\"tab.lastPinnedBorder\\\":\\\"#93b259d0\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#939f91\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#879686\\\",\\\"tab.unfocusedHoverForeground\\\":\\\"#5c6a72\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#a4ad9e\\\",\\\"terminal.ansiBlack\\\":\\\"#5c6a72\\\",\\\"terminal.ansiBlue\\\":\\\"#3a94c5\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5c6a72\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#3a94c5\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#35a77c\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#8da101\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#df69ba\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f85552\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#f4f0d9\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#dfa000\\\",\\\"terminal.ansiCyan\\\":\\\"#35a77c\\\",\\\"terminal.ansiGreen\\\":\\\"#8da101\\\",\\\"terminal.ansiMagenta\\\":\\\"#df69ba\\\",\\\"terminal.ansiRed\\\":\\\"#f85552\\\",\\\"terminal.ansiWhite\\\":\\\"#939f91\\\",\\\"terminal.ansiYellow\\\":\\\"#dfa000\\\",\\\"terminal.foreground\\\":\\\"#5c6a72\\\",\\\"terminalCursor.foreground\\\":\\\"#5c6a72\\\",\\\"testing.iconErrored\\\":\\\"#f85552\\\",\\\"testing.iconFailed\\\":\\\"#f85552\\\",\\\"testing.iconPassed\\\":\\\"#35a77c\\\",\\\"testing.iconQueued\\\":\\\"#3a94c5\\\",\\\"testing.iconSkipped\\\":\\\"#df69ba\\\",\\\"testing.iconUnset\\\":\\\"#dfa000\\\",\\\"testing.runAction\\\":\\\"#35a77c\\\",\\\"textBlockQuote.background\\\":\\\"#f4f0d9\\\",\\\"textBlockQuote.border\\\":\\\"#e6e2cc\\\",\\\"textCodeBlock.background\\\":\\\"#f4f0d9\\\",\\\"textLink.activeForeground\\\":\\\"#8da101c0\\\",\\\"textLink.foreground\\\":\\\"#8da101\\\",\\\"textPreformat.foreground\\\":\\\"#dfa000\\\",\\\"titleBar.activeBackground\\\":\\\"#fdf6e3\\\",\\\"titleBar.activeForeground\\\":\\\"#879686\\\",\\\"titleBar.border\\\":\\\"#fdf6e3\\\",\\\"titleBar.inactiveBackground\\\":\\\"#fdf6e3\\\",\\\"titleBar.inactiveForeground\\\":\\\"#a4ad9e\\\",\\\"toolbar.hoverBackground\\\":\\\"#f4f0d9\\\",\\\"tree.indentGuidesStroke\\\":\\\"#a4ad9e\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#f4f0d9\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f4f0d9\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#f4f0d9a0\\\",\\\"welcomePage.progress.foreground\\\":\\\"#8da101\\\",\\\"welcomePage.tileHoverBackground\\\":\\\"#f4f0d9\\\",\\\"widget.shadow\\\":\\\"#3c474d20\\\"},\\\"displayName\\\":\\\"Everforest Light\\\",\\\"name\\\":\\\"everforest-light\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class:python\\\":\\\"#35a77c\\\",\\\"class:typescript\\\":\\\"#35a77c\\\",\\\"class:typescriptreact\\\":\\\"#35a77c\\\",\\\"enum:typescript\\\":\\\"#df69ba\\\",\\\"enum:typescriptreact\\\":\\\"#df69ba\\\",\\\"enumMember:typescript\\\":\\\"#3a94c5\\\",\\\"enumMember:typescriptreact\\\":\\\"#3a94c5\\\",\\\"interface:typescript\\\":\\\"#35a77c\\\",\\\"interface:typescriptreact\\\":\\\"#35a77c\\\",\\\"intrinsic:python\\\":\\\"#df69ba\\\",\\\"macro:rust\\\":\\\"#35a77c\\\",\\\"memberOperatorOverload\\\":\\\"#f57d26\\\",\\\"module:python\\\":\\\"#3a94c5\\\",\\\"namespace:rust\\\":\\\"#df69ba\\\",\\\"namespace:typescript\\\":\\\"#df69ba\\\",\\\"namespace:typescriptreact\\\":\\\"#df69ba\\\",\\\"operatorOverload\\\":\\\"#f57d26\\\",\\\"property.defaultLibrary:javascript\\\":\\\"#df69ba\\\",\\\"property.defaultLibrary:javascriptreact\\\":\\\"#df69ba\\\",\\\"property.defaultLibrary:typescript\\\":\\\"#df69ba\\\",\\\"property.defaultLibrary:typescriptreact\\\":\\\"#df69ba\\\",\\\"selfKeyword:rust\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:javascript\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:javascriptreact\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:typescript\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:typescriptreact\\\":\\\"#df69ba\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"keyword, storage.type.function, storage.type.class, storage.type.enum, storage.type.interface, storage.type.property, keyword.operator.new, keyword.operator.expression, keyword.operator.new, keyword.operator.delete, storage.type.extends\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.other.debugger\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage, modifier, keyword.var, entity.name.tag, keyword.control.case, keyword.control.switch\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string, punctuation.definition.string.end, punctuation.definition.string.begin, punctuation.definition.string.template.begin, punctuation.definition.string.template.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"constant.character.escape, punctuation.quasi.element, punctuation.definition.template-expression, punctuation.section.embedded, storage.type.format, constant.other.placeholder, constant.other.placeholder, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function, meta.function, meta.function-call, meta.definition.method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule, keyword.control.import, keyword.control.export, storage.type.namespace, punctuation.decorator, keyword.control.directive, keyword.preprocessor, punctuation.definition.preprocessor, punctuation.definition.directive, keyword.other.import, keyword.other.package, entity.name.type.namespace, entity.name.scope-resolution, keyword.other.using, keyword.package, keyword.import, keyword.map\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.label, constant.other.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.module, support.node, support.other.module, support.type.object.module, entity.name.type.module, entity.name.type.class.module, keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type, support.type, entity.name.type, keyword.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.type.class, support.class, entity.name.class, entity.other.inherited-class, storage.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.function.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"variable.language.this, variable.language.self, variable.language.super, keyword.other.this, variable.language.special, constant.language.null, constant.language.undefined, constant.language.nan\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language, support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"variable, support.variable, meta.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"variable.object.property, support.variable.property, variable.other.property, variable.other.object.property, variable.other.enummember, variable.other.member, meta.object-literal.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation, meta.brace, meta.delimiter, meta.bracket\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"heading.1.markdown, markup.heading.setext.1.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"heading.2.markdown, markup.heading.setext.2.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"heading.3.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"heading.4.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"heading.5.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"heading.6.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown, constant.other.reference.link.markdown, string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"markup.underline.link.image.markdown, markup.underline.link.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.italic.markdown, punctuation.definition.quote.begin.markdown, punctuation.definition.metadata.markdown, punctuation.separator.key-value.markdown, punctuation.definition.constant.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\"}},{\\\"scope\\\":\\\"punctuation.definition.markdown, punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown, markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.restructuredtext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"punctuation.definition.field.restructuredtext, punctuation.separator.key-value.restructuredtext, punctuation.definition.directive.restructuredtext, punctuation.definition.constant.restructuredtext, punctuation.definition.italic.restructuredtext, punctuation.definition.table.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.restructuredtext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.name.tag.restructuredtext, punctuation.definition.link.restructuredtext, punctuation.definition.raw.restructuredtext, punctuation.section.raw.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"constant.other.footnote.link.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"support.directive.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.directive.restructuredtext, markup.raw.restructuredtext, markup.raw.inner.restructuredtext, string.other.link.title.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.function.latex, punctuation.definition.function.tex, punctuation.definition.keyword.latex, constant.character.newline.tex, punctuation.definition.keyword.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"support.function.be.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"support.function.section.latex, keyword.control.table.cell.latex, keyword.control.table.newline.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"support.class.latex, variable.parameter.latex, variable.parameter.function.latex, variable.parameter.definition.label.latex, constant.other.reference.label.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"keyword.control.preamble.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.separator.namespace.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.name.tag.html, entity.name.tag.xml, entity.name.tag.localname.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.html, entity.other.attribute-name.xml, entity.other.attribute-name.localname.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.html, string.quoted.single.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.separator.key-value.html, punctuation.definition.string.begin.xml, punctuation.definition.string.end.xml, string.quoted.double.xml, string.quoted.single.xml, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.xml, meta.tag.xml, meta.tag.preprocessor.xml, meta.tag.other.html, meta.tag.block.any.html, meta.tag.inline.any.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.language.documentroot.xml, meta.tag.sgml.doctype.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"storage.type.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.proto.syntax, string.quoted.single.proto.syntax, string.quoted.double.proto, string.quoted.single.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.class.proto, entity.name.class.message.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.css, string.quoted.double.css, support.constant.property-value.css, meta.property-value.css, punctuation.definition.string.begin.css, punctuation.definition.string.end.css, constant.numeric.css, support.constant.font-name.css, variable.parameter.keyframe-list.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.tag.css, entity.other.keyframe-offset.css, punctuation.definition.keyword.css, keyword.control.at-rule.keyframes.css, meta.selector.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.scss, punctuation.separator.key-value.scss, punctuation.terminator.rule.scss, punctuation.separator.list.comma.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule.keyframes.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, string.quoted.double.scss, string.quoted.single.scss, constant.character.css.sass, meta.property-value.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule.include.scss, keyword.control.at-rule.use.scss, keyword.control.at-rule.mixin.scss, keyword.control.at-rule.extend.scss, keyword.control.at-rule.import.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function.stylus\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"entity.name.function.stylus\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.unquoted.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.accessor.js, punctuation.separator.key-value.js, punctuation.separator.label.js, keyword.operator.accessor.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.tag.jsdoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.js, storage.type.function.arrow.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"JSXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.jsx, entity.other.attribute-name.jsx, punctuation.definition.tag.begin.js.jsx, punctuation.definition.tag.end.js.jsx, entity.other.attribute-name.js.jsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.annotation.ts, punctuation.accessor.ts, punctuation.separator.key-value.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.directive.ts, entity.other.attribute-name.directive.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.type.ts, entity.name.type.interface.ts, entity.other.inherited-class.ts, entity.name.type.alias.ts, entity.name.type.class.ts, entity.name.type.enum.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.ts, storage.type.function.arrow.ts, storage.type.type.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.import.ts, keyword.control.export.ts, storage.type.namespace.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.annotation.tsx, punctuation.accessor.tsx, punctuation.separator.key-value.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.directive.tsx, entity.other.attribute-name.directive.tsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx, entity.other.attribute-name.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.type.tsx, entity.name.type.interface.tsx, entity.other.inherited-class.tsx, entity.name.type.alias.tsx, entity.name.type.class.tsx, entity.name.type.enum.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.import.tsx, keyword.control.export.tsx, storage.type.namespace.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"storage.type.tsx, storage.type.function.arrow.tsx, storage.type.type.tsx, support.class.component.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"storage.type.function.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"meta.type-signature.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.other.double-colon.purescript, keyword.other.arrow.purescript, keyword.other.big-arrow.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.name.function.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.purescript, string.quoted.double.purescript, punctuation.definition.string.begin.purescript, punctuation.definition.string.end.purescript, string.quoted.triple.purescript, entity.name.type.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"support.other.module.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.dot.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"storage.type.primitive.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"support.class.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"entity.name.function.dart, string.interpolated.single.dart, string.interpolated.double.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.language.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.other.import.dart, storage.type.annotation.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.function.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.tag.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.tag.pug, storage.type.import.include.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function-call.c, storage.modifier.array.bracket.square.c, meta.function.definition.parameters.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.dot-access.c, constant.character.escape.line-continuation.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.include.c, punctuation.definition.directive.c, keyword.control.directive.pragma.c, keyword.control.directive.line.c, keyword.control.directive.define.c, keyword.control.directive.conditional.c, keyword.control.directive.diagnostic.error.c, keyword.control.directive.undef.c, keyword.control.directive.conditional.ifdef.c, keyword.control.directive.endif.c, keyword.control.directive.conditional.ifndef.c, keyword.control.directive.conditional.if.c, keyword.control.directive.else.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.member.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"meta.function-call.cpp, storage.modifier.array.bracket.square.cpp, meta.function.definition.parameters.cpp, meta.body.function.definition.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.dot-access.cpp, constant.character.escape.line-continuation.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.include.cpp, punctuation.definition.directive.cpp, keyword.control.directive.pragma.cpp, keyword.control.directive.line.cpp, keyword.control.directive.define.cpp, keyword.control.directive.conditional.cpp, keyword.control.directive.diagnostic.error.cpp, keyword.control.directive.undef.cpp, keyword.control.directive.conditional.ifdef.cpp, keyword.control.directive.endif.cpp, keyword.control.directive.conditional.ifndef.cpp, keyword.control.directive.conditional.if.cpp, keyword.control.directive.else.cpp, storage.type.namespace.definition.cpp, keyword.other.using.directive.cpp, storage.type.struct.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.cpp, punctuation.section.angle-brackets.begin.template.call.cpp, punctuation.section.angle-brackets.end.template.call.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.member.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.other.using.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.type.cs, constant.character.escape.cs, punctuation.definition.interpolation.begin.cs, punctuation.definition.interpolation.end.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.cs, string.quoted.single.cs, punctuation.definition.string.begin.cs, punctuation.definition.string.end.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.other.object.property.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.symbol.fsharp, constant.language.unit.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.format.specifier.fsharp, entity.name.type.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.fsharp, string.quoted.single.fsharp, punctuation.definition.string.begin.fsharp, punctuation.definition.string.end.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.section.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"support.function.attribute.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.separator.java, punctuation.separator.period.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.other.import.java, keyword.other.package.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.function.arrow.java, keyword.control.ternary.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.property.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"variable.language.wildcard.java, storage.modifier.import.java, storage.type.annotation.java, punctuation.definition.annotation.java, storage.modifier.package.java, entity.name.type.module.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.other.import.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.package.kotlin, storage.type.annotation.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.package.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.import.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"string.quoted.double.scala, string.quoted.single.scala, punctuation.definition.string.begin.scala, punctuation.definition.string.end.scala, string.quoted.double.interpolated.scala, string.quoted.single.interpolated.scala, string.quoted.triple.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.class, entity.other.inherited-class.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"keyword.declaration.stable.scala, keyword.other.arrow.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.other.import.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.operator.navigation.groovy, meta.method.body.java, meta.definition.method.groovy, meta.definition.method.signature.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.other.import.groovy, keyword.other.package.groovy, keyword.other.import.static.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.def.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.interpolated.groovy, meta.method.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.groovy, storage.modifier.package.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.annotation.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.type.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.package.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.import.go, keyword.package.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.type.mod.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.operator.path.rust, keyword.operator.member-access.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"meta.attribute.rust, variable.language.rust, storage.type.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function-call.swift, support.function.any-method.swift\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"support.variable.swift\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.operator.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"storage.type.trait.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.php, support.other.namespace.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.modifier.access.control.public.cpp, storage.type.modifier.access.control.private.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.import.include.php, storage.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.definition.decorator.python, punctuation.separator.period.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.control.import.python, keyword.control.import.from.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language.lua\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.class.lua\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"meta.function.method.with-arguments.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.method.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.pseudo-method.ruby, storage.type.variable.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.module.ruby, punctuation.definition.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"string.regexp.character-class.ruby,string.regexp.interpolated.ruby,punctuation.definition.character-class.ruby,string.regexp.group.ruby, punctuation.section.regexp.ruby, punctuation.definition.group.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"variable.other.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.other.arrow.haskell, keyword.other.big-arrow.haskell, keyword.other.double-colon.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"constant.other.haskell, string.quoted.double.haskell, string.quoted.single.haskell, punctuation.definition.string.begin.haskell, punctuation.definition.string.end.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.namespace, meta.preprocessor.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.control.import.julia, keyword.control.export.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.storage.modifier.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.other.period.elm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"storage.type.elm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"keyword.other.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.name.function.r, variable.function.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.language.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.namespace.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.separator.module-function.erlang, punctuation.section.directive.begin.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.erlang, keyword.control.directive.define.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.type.class.module.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.erlang, string.quoted.single.erlang, punctuation.definition.string.begin.erlang, punctuation.definition.string.end.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.export.erlang, keyword.control.directive.module.erlang, keyword.control.directive.import.erlang, keyword.control.directive.behaviour.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.module.elixir, punctuation.definition.variable.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"constant.language.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.module.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.type.value-signature.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.other.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.variant.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.sub.perl, storage.type.declare.routine.perl\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"meta.function.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"storage.type.function-type.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.constant.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"constant.keyword.clojure, support.variable.clojure, meta.definition.variable.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.global.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.function.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"meta.scope.if-block.shell, meta.scope.group.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"support.function.builtin.shell, entity.name.function.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell, string.quoted.single.shell, punctuation.definition.string.begin.shell, punctuation.definition.string.end.shell, string.unquoted.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.heredoc-token.shell, variable.other.normal.shell, punctuation.definition.variable.shell, variable.other.special.shell, variable.other.positional.shell, variable.other.bracket.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"support.function.builtin.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"support.function.unix.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.normal.fish, punctuation.definition.variable.fish, variable.other.fixed.fish, variable.other.special.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"string.quoted.double.fish, punctuation.definition.string.end.fish, punctuation.definition.string.begin.fish, string.quoted.single.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.character.escape.single.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.name.function.powershell, support.function.attribute.powershell, support.function.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.powershell, string.quoted.double.powershell, punctuation.definition.string.begin.powershell, punctuation.definition.string.end.powershell, string.quoted.double.heredoc.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.other.member.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.type.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.fragment.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.function.target.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"string.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.map.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"storage.type.map.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.character.map.viml, constant.character.map.key.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.character.map.special.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"constant.language.tmux, constant.numeric.tmux\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function.package-manager.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.operator.flag.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.dockerfile, string.quoted.single.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.character.escape.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.type.base-image.dockerfile, entity.name.image.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.separator.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff, punctuation.definition.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"meta.diff.range.context, punctuation.definition.range.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff, punctuation.definition.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"markup.changed.diff, punctuation.definition.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"punctuation.definition.from-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini, punctuation.definition.entity.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string.quoted.double.ini, string.quoted.single.ini, punctuation.definition.string.begin.ini, punctuation.definition.string.end.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.function.aggregate.sql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.sql, punctuation.definition.string.end.sql, punctuation.definition.string.begin.sql, string.quoted.double.sql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"support.type.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"variable.parameter.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json, punctuation.separator.dictionary.key-value.json, punctuation.definition.string.begin.json, punctuation.definition.string.end.json, punctuation.separator.dictionary.pair.json, punctuation.separator.array.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"string.unquoted.plain.out.yaml, string.quoted.single.yaml, string.quoted.double.yaml, punctuation.definition.string.begin.yaml, punctuation.definition.string.end.yaml, string.unquoted.plain.in.yaml, string.unquoted.block.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.anchor.yaml, punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.key.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string.quoted.single.basic.line.toml, string.quoted.single.literal.line.toml, punctuation.definition.keyValuePair.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.other.boolean.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.table.toml, punctuation.definition.table.toml, entity.other.attribute-name.table.array.toml, punctuation.definition.table.array.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"comment, string.comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#939f91\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "everforestLight" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,07oDAA0jyD,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C8lEn-DE.js b/src/webview-ui/build/assets/chunk-C8lEn-DE.js new file mode 100644 index 0000000000..0de94c6c8a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C8lEn-DE.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"QML Directory","name":"qmldir","patterns":[{"include":"#comment"},{"include":"#keywords"},{"include":"#version"},{"include":"#names"}],"repository":{"comment":{"patterns":[{"begin":"#","end":"$","name":"comment.line.number-sign.qmldir"}]},"file-name":{"patterns":[{"match":"\\\\b\\\\w+\\\\.(qmltypes|qml|js)\\\\b","name":"string.unquoted.qmldir"}]},"identifier":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"variable.parameter.qmldir"}]},"keywords":{"patterns":[{"match":"\\\\b(module|singleton|internal|plugin|classname|typeinfo|depends|designersupported)\\\\b","name":"keyword.other.qmldir"}]},"module-name":{"patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.qmldir"}]},"names":{"patterns":[{"include":"#file-name"},{"include":"#module-name"},{"include":"#identifier"}]},"version":{"patterns":[{"match":"\\\\b\\\\d+\\\\.\\\\d+\\\\b","name":"constant.numeric.qml"}]}},"scopeName":"source.qmldir"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-C8lEn-DE.js.map diff --git a/src/webview-ui/build/assets/chunk-C8lEn-DE.js.map b/src/webview-ui/build/assets/chunk-C8lEn-DE.js.map new file mode 100644 index 0000000000..e0fb517ae4 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C8lEn-DE.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C8lEn-DE.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/qmldir.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"QML Directory\\\",\\\"name\\\":\\\"qmldir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#version\\\"},{\\\"include\\\":\\\"#names\\\"}],\\\"repository\\\":{\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.number-sign.qmldir\\\"}]},\\\"file-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+\\\\\\\\.(qmltypes|qml|js)\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.qmldir\\\"}]},\\\"identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.qmldir\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(module|singleton|internal|plugin|classname|typeinfo|depends|designersupported)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.qmldir\\\"}]},\\\"module-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.qmldir\\\"}]},\\\"names\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#file-name\\\"},{\\\"include\\\":\\\"#module-name\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"version\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.qml\\\"}]}},\\\"scopeName\\\":\\\"source.qmldir\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "qmldir" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,06BAAsiC,CAAC,EAE9jCC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C98Dy4si.js b/src/webview-ui/build/assets/chunk-C98Dy4si.js new file mode 100644 index 0000000000..8f5e658abd --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C98Dy4si.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Scheme","fileTypes":["scm","ss","sch","rkt"],"name":"scheme","patterns":[{"include":"#comment"},{"include":"#block-comment"},{"include":"#sexp"},{"include":"#string"},{"include":"#language-functions"},{"include":"#quote"},{"include":"#illegal"}],"repository":{"block-comment":{"begin":"#\\\\|","contentName":"comment","end":"\\\\|#","name":"comment","patterns":[{"include":"#block-comment","name":"comment"}]},"comment":{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scheme"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.scheme"}},"end":"\\\\n","name":"comment.line.semicolon.scheme"}]},"constants":{"patterns":[{"match":"#[ft|]","name":"constant.language.boolean.scheme"},{"match":"(?<=[(\\\\s])((#[ei])?[0-9]+(\\\\.[0-9]+)?|(#x)\\\\h+|(#o)[0-7]+|(#b)[01]+)(?=[]\\"'(),;\\\\[\\\\s])","name":"constant.numeric.scheme"}]},"illegal":{"match":"[]()\\\\[]","name":"invalid.illegal.parenthesis.scheme"},"language-functions":{"patterns":[{"match":"(?<=([(\\\\[\\\\s]))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\\\\*|unquote-splicing|delay|letrec)(?=([(\\\\s]))","name":"keyword.control.scheme"},{"match":"(?<=([(\\\\s]))(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:in|out)put-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\\\\?)(?=([(\\\\s]))","name":"support.function.boolean-test.scheme"},{"match":"(?<=([(\\\\s]))(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=([(\\\\s]))","name":"support.function.convert-type.scheme"},{"match":"(?<=([(\\\\s]))(set-c[ad]r|(?:vector|string)-(?:fill|set))(!)(?=([(\\\\s]))","name":"support.function.with-side-effects.scheme"},{"match":"(?<=([(\\\\s]))(>=?|<=?|[-*+/=])(?=([(\\\\s]))","name":"keyword.operator.arithmetic.scheme"},{"match":"(?<=([(\\\\s]))(append|apply|approximate|call-with-current-continuation|call/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c([ad]){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|expt??|remainder|quotient|lcm|call-with-(?:in|out)put-file|c(?:lose|urrent)-(?:in|out)put-port|with-(?:in|out)put-from-file|open-(?:in|out)put-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector-(?:length|ref))(?=([(\\\\s]))","name":"support.function.general.scheme"}]},"quote":{"patterns":[{"captures":{"1":{"name":"punctuation.section.quoted.symbol.scheme"}},"match":"(')\\\\s*(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)","name":"constant.other.symbol.scheme"},{"captures":{"1":{"name":"punctuation.section.quoted.empty-list.scheme"},"2":{"name":"meta.expression.scheme"},"3":{"name":"punctuation.section.expression.begin.scheme"},"4":{"name":"punctuation.section.expression.end.scheme"}},"match":"(')\\\\s*((\\\\()\\\\s*(\\\\)))","name":"constant.other.empty-list.schem"},{"begin":"(')\\\\s*","beginCaptures":{"1":{"name":"punctuation.section.quoted.scheme"}},"end":"(?=[()\\\\s])|(?<=\\\\n)","name":"string.other.quoted-object.scheme","patterns":[{"include":"#quoted"}]}]},"quote-sexp":{"begin":"(?<=\\\\()\\\\s*(quote)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.quote.scheme"}},"contentName":"string.other.quote.scheme","end":"(?=[)\\\\s])|(?<=\\\\n)","patterns":[{"include":"#quoted"}]},"quoted":{"patterns":[{"include":"#string"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.scheme"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.scheme"}},"name":"meta.expression.scheme","patterns":[{"include":"#quoted"}]},{"include":"#quote"},{"include":"#illegal"}]},"sexp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.scheme"}},"end":"(\\\\))(\\\\n)?","endCaptures":{"1":{"name":"punctuation.section.expression.end.scheme"},"2":{"name":"meta.after-expression.scheme"}},"name":"meta.expression.scheme","patterns":[{"include":"#comment"},{"begin":"(?<=\\\\()(define)\\\\s+(\\\\()(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)((\\\\s+(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._]))*)\\\\s*(\\\\))","captures":{"1":{"name":"keyword.control.scheme"},"2":{"name":"punctuation.definition.function.scheme"},"3":{"name":"entity.name.function.scheme"},"4":{"name":"variable.parameter.function.scheme"},"7":{"name":"punctuation.definition.function.scheme"}},"end":"(?=\\\\))","name":"meta.declaration.procedure.scheme","patterns":[{"include":"#comment"},{"include":"#sexp"},{"include":"#illegal"}]},{"begin":"(?<=\\\\()(lambda)\\\\s+(\\\\()((?:(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._])\\\\s+)*(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._])?)(\\\\))","captures":{"1":{"name":"keyword.control.scheme"},"2":{"name":"punctuation.definition.variable.scheme"},"3":{"name":"variable.parameter.scheme"},"6":{"name":"punctuation.definition.variable.scheme"}},"end":"(?=\\\\))","name":"meta.declaration.procedure.scheme","patterns":[{"include":"#comment"},{"include":"#sexp"},{"include":"#illegal"}]},{"begin":"(?<=\\\\()(define)\\\\s(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)\\\\s*.*?","captures":{"1":{"name":"keyword.control.scheme"},"2":{"name":"variable.other.scheme"}},"end":"(?=\\\\))","name":"meta.declaration.variable.scheme","patterns":[{"include":"#comment"},{"include":"#sexp"},{"include":"#illegal"}]},{"include":"#quote-sexp"},{"include":"#quote"},{"include":"#language-functions"},{"include":"#string"},{"include":"#constants"},{"match":"(?<=[(\\\\s])(#\\\\\\\\)(space|newline|tab)(?=[)\\\\s])","name":"constant.character.named.scheme"},{"match":"(?<=[(\\\\s])(#\\\\\\\\)x[0-9A-F]{2,4}(?=[)\\\\s])","name":"constant.character.hex-literal.scheme"},{"match":"(?<=[(\\\\s])(#\\\\\\\\).(?=[)\\\\s])","name":"constant.character.escape.scheme"},{"match":"(?<=[ ()])\\\\.(?=[ ()])","name":"punctuation.separator.cons.scheme"},{"include":"#sexp"},{"include":"#illegal"}]},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scheme"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.scheme"}},"name":"string.quoted.double.scheme","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.scheme"}]}},"scopeName":"source.scheme"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-C98Dy4si.js.map diff --git a/src/webview-ui/build/assets/chunk-C98Dy4si.js.map b/src/webview-ui/build/assets/chunk-C98Dy4si.js.map new file mode 100644 index 0000000000..34cd22fec8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C98Dy4si.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-C98Dy4si.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/scheme.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Scheme\\\",\\\"fileTypes\\\":[\\\"scm\\\",\\\"ss\\\",\\\"sch\\\",\\\"rkt\\\"],\\\"name\\\":\\\"scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#block-comment\\\"},{\\\"include\\\":\\\"#sexp\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#language-functions\\\"},{\\\"include\\\":\\\"#quote\\\"},{\\\"include\\\":\\\"#illegal\\\"}],\\\"repository\\\":{\\\"block-comment\\\":{\\\"begin\\\":\\\"#\\\\\\\\|\\\",\\\"contentName\\\":\\\"comment\\\",\\\"end\\\":\\\"\\\\\\\\|#\\\",\\\"name\\\":\\\"comment\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comment\\\",\\\"name\\\":\\\"comment\\\"}]},\\\"comment\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=;)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.scheme\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\";\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scheme\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.semicolon.scheme\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"#[ft|]\\\",\\\"name\\\":\\\"constant.language.boolean.scheme\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s])((#[ei])?[0-9]+(\\\\\\\\.[0-9]+)?|(#x)\\\\\\\\h+|(#o)[0-7]+|(#b)[01]+)(?=[]\\\\\\\"'(),;\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.numeric.scheme\\\"}]},\\\"illegal\\\":{\\\"match\\\":\\\"[]()\\\\\\\\[]\\\",\\\"name\\\":\\\"invalid.illegal.parenthesis.scheme\\\"},\\\"language-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=([(\\\\\\\\[\\\\\\\\s]))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\\\\\\\\*|unquote-splicing|delay|letrec)(?=([(\\\\\\\\s]))\\\",\\\"name\\\":\\\"keyword.control.scheme\\\"},{\\\"match\\\":\\\"(?<=([(\\\\\\\\s]))(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:in|out)put-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\\\\\\\\?)(?=([(\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.boolean-test.scheme\\\"},{\\\"match\\\":\\\"(?<=([(\\\\\\\\s]))(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=([(\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.convert-type.scheme\\\"},{\\\"match\\\":\\\"(?<=([(\\\\\\\\s]))(set-c[ad]r|(?:vector|string)-(?:fill|set))(!)(?=([(\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.with-side-effects.scheme\\\"},{\\\"match\\\":\\\"(?<=([(\\\\\\\\s]))(>=?|<=?|[-*+/=])(?=([(\\\\\\\\s]))\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.scheme\\\"},{\\\"match\\\":\\\"(?<=([(\\\\\\\\s]))(append|apply|approximate|call-with-current-continuation|call/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c([ad]){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|expt??|remainder|quotient|lcm|call-with-(?:in|out)put-file|c(?:lose|urrent)-(?:in|out)put-port|with-(?:in|out)put-from-file|open-(?:in|out)put-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector-(?:length|ref))(?=([(\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.general.scheme\\\"}]},\\\"quote\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.quoted.symbol.scheme\\\"}},\\\"match\\\":\\\"(')\\\\\\\\s*(\\\\\\\\p{alnum}[!$%\\\\\\\\&*-/:<-@^_~[:alnum:]]*)\\\",\\\"name\\\":\\\"constant.other.symbol.scheme\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.quoted.empty-list.scheme\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.expression.scheme\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.scheme\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.scheme\\\"}},\\\"match\\\":\\\"(')\\\\\\\\s*((\\\\\\\\()\\\\\\\\s*(\\\\\\\\)))\\\",\\\"name\\\":\\\"constant.other.empty-list.schem\\\"},{\\\"begin\\\":\\\"(')\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.quoted.scheme\\\"}},\\\"end\\\":\\\"(?=[()\\\\\\\\s])|(?<=\\\\\\\\n)\\\",\\\"name\\\":\\\"string.other.quoted-object.scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted\\\"}]}]},\\\"quote-sexp\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\()\\\\\\\\s*(quote)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.quote.scheme\\\"}},\\\"contentName\\\":\\\"string.other.quote.scheme\\\",\\\"end\\\":\\\"(?=[)\\\\\\\\s])|(?<=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted\\\"}]},\\\"quoted\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.scheme\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.scheme\\\"}},\\\"name\\\":\\\"meta.expression.scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted\\\"}]},{\\\"include\\\":\\\"#quote\\\"},{\\\"include\\\":\\\"#illegal\\\"}]},\\\"sexp\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.scheme\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.scheme\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.after-expression.scheme\\\"}},\\\"name\\\":\\\"meta.expression.scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\()(define)\\\\\\\\s+(\\\\\\\\()(\\\\\\\\p{alnum}[!$%\\\\\\\\&*-/:<-@^_~[:alnum:]]*)((\\\\\\\\s+(\\\\\\\\p{alnum}[!$%\\\\\\\\&*-/:<-@^_~[:alnum:]]*|[._]))*)\\\\\\\\s*(\\\\\\\\))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.scheme\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.scheme\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scheme\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.scheme\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.function.scheme\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.declaration.procedure.scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#sexp\\\"},{\\\"include\\\":\\\"#illegal\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\()(lambda)\\\\\\\\s+(\\\\\\\\()((?:(\\\\\\\\p{alnum}[!$%\\\\\\\\&*-/:<-@^_~[:alnum:]]*|[._])\\\\\\\\s+)*(\\\\\\\\p{alnum}[!$%\\\\\\\\&*-/:<-@^_~[:alnum:]]*|[._])?)(\\\\\\\\))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.scheme\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.scheme\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.scheme\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.variable.scheme\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.declaration.procedure.scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#sexp\\\"},{\\\"include\\\":\\\"#illegal\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\()(define)\\\\\\\\s(\\\\\\\\p{alnum}[!$%\\\\\\\\&*-/:<-@^_~[:alnum:]]*)\\\\\\\\s*.*?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.scheme\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.scheme\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.declaration.variable.scheme\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#sexp\\\"},{\\\"include\\\":\\\"#illegal\\\"}]},{\\\"include\\\":\\\"#quote-sexp\\\"},{\\\"include\\\":\\\"#quote\\\"},{\\\"include\\\":\\\"#language-functions\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s])(#\\\\\\\\\\\\\\\\)(space|newline|tab)(?=[)\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.character.named.scheme\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s])(#\\\\\\\\\\\\\\\\)x[0-9A-F]{2,4}(?=[)\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.character.hex-literal.scheme\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s])(#\\\\\\\\\\\\\\\\).(?=[)\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.character.escape.scheme\\\"},{\\\"match\\\":\\\"(?<=[ ()])\\\\\\\\.(?=[ ()])\\\",\\\"name\\\":\\\"punctuation.separator.cons.scheme\\\"},{\\\"include\\\":\\\"#sexp\\\"},{\\\"include\\\":\\\"#illegal\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scheme\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scheme\\\"}},\\\"name\\\":\\\"string.quoted.double.scheme\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.scheme\\\"}]}},\\\"scopeName\\\":\\\"source.scheme\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "scheme" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,i8NAAklP,CAAC,EAE1mPC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-C9XAeP06.js b/src/webview-ui/build/assets/chunk-C9XAeP06.js new file mode 100644 index 0000000000..4b23953751 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-C9XAeP06.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Emacs Lisp","fileTypes":["el","elc","eld","spacemacs","_emacs","emacs","emacs.desktop","abbrev_defs","Project.ede","Cask","gnus","viper"],"firstLineMatch":"^#!.*(?:[/\\\\s]|(?<=!)\\\\b)emacs(?:$|\\\\s)|(?:-\\\\*-(?i:[\\\\t ]*(?=[^:;\\\\s]+[\\\\t ]*-\\\\*-)|(?:.*?[\\\\t ;]|(?<=-\\\\*-))[\\\\t ]*mode[\\\\t ]*:[\\\\t ]*)(?i:emacs-lisp)(?=[\\\\t ;]|(?]?[0-9]+|))?|[\\\\t ]ex)(?=:(?:(?=[\\\\t ]*set?[\\\\t ][^\\\\n\\\\r:]+:)|(?![\\\\t ]*set?[\\\\t ])))(?:(?:[\\\\t ]*:[\\\\t ]*|[\\\\t ])\\\\w*(?:[\\\\t ]*=(?:[^\\\\\\\\\\\\s]|\\\\\\\\.)*)?)*[\\\\t :](?:filetype|ft|syntax)[\\\\t ]*=(?i:e(?:macs-|)lisp)(?=$|[:\\\\s]))","name":"emacs-lisp","patterns":[{"begin":"\\\\A(#!)","beginCaptures":{"1":{"name":"punctuation.definition.comment.hashbang.emacs.lisp"}},"end":"$","name":"comment.line.hashbang.emacs.lisp"},{"include":"#main"}],"repository":{"archive-sources":{"captures":{"1":{"name":"support.language.constant.archive-source.emacs.lisp"}},"match":"\\\\b(?<=[()\\\\[\\\\s]|^)(SC|gnu|marmalade|melpa-stable|melpa|org)(?=[()\\\\s]|$)\\\\b"},"arg-values":{"patterns":[{"match":"&(optional|rest)(?=[)\\\\s])","name":"constant.language.$1.arguments.emacs.lisp"}]},"autoload":{"begin":"^(;;;###)(autoload)","beginCaptures":{"1":{"name":"punctuation.definition.comment.emacs.lisp"},"2":{"name":"storage.modifier.autoload.emacs.lisp"}},"contentName":"string.unquoted.other.emacs.lisp","end":"$","name":"comment.line.semicolon.autoload.emacs.lisp"},"binding":{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)(let\\\\*?|set[fq]?)(?=[()\\\\s]|$)","name":"storage.binding.emacs.lisp"},"boolean":{"patterns":[{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)t(?=[()\\\\s]|$)\\\\b","name":"constant.boolean.true.emacs.lisp"},{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)(nil)(?=[()\\\\s]|$)\\\\b","name":"constant.language.nil.emacs.lisp"}]},"cask":{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)(?:files|source|development|depends-on|package-file|package-descriptor|package)(?=[()\\\\s]|$)\\\\b","name":"support.function.emacs.lisp"},"comment":{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.emacs.lisp"}},"end":"$","name":"comment.line.semicolon.emacs.lisp","patterns":[{"include":"#modeline"},{"include":"#eldoc"}]},"definition":{"patterns":[{"begin":"(\\\\()(?:(cl-(def(?:un|macro|subst)))|(def(?:un|macro|subst)))(?!-)\\\\b(?:\\\\s*(?![-+\\\\d])([-!$%\\\\&*+/:<-@^{}~\\\\w]+))?","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"storage.type.$3.function.cl-lib.emacs.lisp"},"4":{"name":"storage.type.$4.function.emacs.lisp"},"5":{"name":"entity.function.name.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.function.definition.emacs.lisp","patterns":[{"include":"#defun-innards"}]},{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)defun(?=[()\\\\s]|$)","name":"storage.type.function.emacs.lisp"},{"begin":"(?<=\\\\s|^)(\\\\()(def(advice|class|const|custom|face|image|group|package|struct|subst|theme|type|var))(?:\\\\s+([-!$%\\\\&*+/:<-@^{}~\\\\w]+))?(?=[()\\\\s]|$)","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"storage.type.$3.emacs.lisp"},"4":{"name":"entity.name.$3.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.$3.definition.emacs.lisp","patterns":[{"include":"$self"}]},{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)(define-(?:condition|widget))(?=[()\\\\s]|$)\\\\b","name":"storage.type.$1.emacs.lisp"}]},"defun-innards":{"patterns":[{"begin":"\\\\G\\\\s*(\\\\()","beginCaptures":{"0":{"name":"punctuation.section.expression.begin.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.argument-list.expression.emacs.lisp","patterns":[{"include":"#arg-keywords"},{"match":"(?![-#\\\\&'+:\\\\d])([-!$%\\\\&*+/:<-@^{}~\\\\w]+)","name":"variable.parameter.emacs.lisp"},{"include":"$self"}]},{"include":"$self"}]},"docesc":{"patterns":[{"match":"\\\\\\\\{2}=","name":"constant.escape.character.key-sequence.emacs.lisp"},{"match":"\\\\\\\\{2}+","name":"constant.escape.character.suppress-link.emacs.lisp"}]},"dockey":{"captures":{"1":{"name":"punctuation.definition.reference.begin.emacs.lisp"},"2":{"name":"constant.other.reference.link.emacs.lisp"},"3":{"name":"punctuation.definition.reference.end.emacs.lisp"}},"match":"(\\\\\\\\{2}\\\\[)((?:[^\\\\\\\\\\\\s]|\\\\\\\\.)+)(])","name":"variable.other.reference.key-sequence.emacs.lisp"},"docmap":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.reference.begin.emacs.lisp"},"2":{"name":"entity.name.tag.keymap.emacs.lisp"},"3":{"name":"punctuation.definition.reference.end.emacs.lisp"}},"match":"(\\\\\\\\{2}\\\\{)((?:[^\\\\\\\\\\\\s]|\\\\\\\\.)+)(})","name":"meta.keymap.summary.emacs.lisp"},{"captures":{"1":{"name":"punctuation.definition.reference.begin.emacs.lisp"},"2":{"name":"entity.name.tag.keymap.emacs.lisp"},"3":{"name":"punctuation.definition.reference.end.emacs.lisp"}},"match":"(\\\\\\\\{2}<)((?:[^\\\\\\\\\\\\s]|\\\\\\\\.)+)(>)","name":"meta.keymap.specifier.emacs.lisp"}]},"docvar":{"captures":{"1":{"name":"punctuation.definition.quote.begin.emacs.lisp"},"2":{"name":"punctuation.definition.quote.end.emacs.lisp"}},"match":"(\`)[^()\\\\s]+(')","name":"variable.other.literal.emacs.lisp"},"eldoc":{"patterns":[{"include":"#docesc"},{"include":"#docvar"},{"include":"#dockey"},{"include":"#docmap"}]},"escapes":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.codepoint.emacs.lisp"},"2":{"name":"punctuation.definition.codepoint.emacs.lisp"}},"match":"(\\\\?)\\\\\\\\u\\\\h{4}|(\\\\?)\\\\\\\\U00\\\\h{6}","name":"constant.character.escape.hex.emacs.lisp"},{"captures":{"1":{"name":"punctuation.definition.codepoint.emacs.lisp"}},"match":"(\\\\?)\\\\\\\\x\\\\h+","name":"constant.character.escape.hex.emacs.lisp"},{"captures":{"1":{"name":"punctuation.definition.codepoint.emacs.lisp"}},"match":"(\\\\?)\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.emacs.lisp"},{"captures":{"1":{"name":"punctuation.definition.codepoint.emacs.lisp"},"2":{"name":"punctuation.definition.backslash.emacs.lisp"}},"match":"(\\\\?)(?:[^\\\\\\\\]|(\\\\\\\\).)","name":"constant.numeric.codepoint.emacs.lisp"},{"captures":{"1":{"name":"punctuation.definition.backslash.emacs.lisp"}},"match":"(\\\\\\\\).","name":"constant.character.escape.emacs.lisp"}]},"expression":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.expression.begin.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.expression.emacs.lisp","patterns":[{"include":"$self"}]},{"begin":"(')(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.symbol.emacs.lisp"},"2":{"name":"punctuation.section.quoted.expression.begin.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.quoted.expression.end.emacs.lisp"}},"name":"meta.quoted.expression.emacs.lisp","patterns":[{"include":"$self"}]},{"begin":"(\`)(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.symbol.emacs.lisp"},"2":{"name":"punctuation.section.backquoted.expression.begin.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.backquoted.expression.end.emacs.lisp"}},"name":"meta.backquoted.expression.emacs.lisp","patterns":[{"include":"$self"}]},{"begin":"(,@)(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.symbol.emacs.lisp"},"2":{"name":"punctuation.section.interpolated.expression.begin.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.interpolated.expression.end.emacs.lisp"}},"name":"meta.interpolated.expression.emacs.lisp","patterns":[{"include":"$self"}]}]},"face-innards":{"patterns":[{"captures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"variable.language.display.type.emacs.lisp"},"3":{"name":"support.constant.display.type.emacs.lisp"},"4":{"name":"punctuation.section.expression.end.emacs.lisp"}},"match":"(\\\\()(type)\\\\s+(graphic|x|pc|w32|tty)(\\\\))","name":"meta.expression.display-type.emacs.lisp"},{"captures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"variable.language.display.class.emacs.lisp"},"3":{"name":"support.constant.display.class.emacs.lisp"},"4":{"name":"punctuation.section.expression.end.emacs.lisp"}},"match":"(\\\\()(class)\\\\s+(color|grayscale|mono)(\\\\))","name":"meta.expression.display-class.emacs.lisp"},{"captures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"variable.language.background-type.emacs.lisp"},"3":{"name":"support.constant.background-type.emacs.lisp"},"4":{"name":"punctuation.section.expression.end.emacs.lisp"}},"match":"(\\\\()(background)\\\\s+(light|dark)(\\\\))","name":"meta.expression.background-type.emacs.lisp"},{"begin":"(\\\\()(min-colors|supports)(?=[()\\\\s]|$)","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"variable.language.display-prerequisite.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.expression.display-prerequisite.emacs.lisp","patterns":[{"include":"$self"}]}]},"faces":{"match":"\\\\b(?<=[()\\\\[\\\\s]|^)(?:Buffer-menu-buffer|Info-quoted|Info-title-1-face|Info-title-2-face|Info-title-3-face|Info-title-4-face|Man-overstrike|Man-reverse|Man-underline|antlr-default|antlr-font-lock-default-face|antlr-font-lock-keyword-face|antlr-font-lock-literal-face|antlr-font-lock-ruledef-face|antlr-font-lock-ruleref-face|antlr-font-lock-syntax-face|antlr-font-lock-tokendef-face|antlr-font-lock-tokenref-face|antlr-keyword|antlr-literal|antlr-ruledef|antlr-ruleref|antlr-syntax|antlr-tokendef|antlr-tokenref|apropos-keybinding|apropos-property|apropos-symbol|bat-label-face|bg:erc-color-face0|bg:erc-color-face10??|bg:erc-color-face11|bg:erc-color-face12|bg:erc-color-face13|bg:erc-color-face14|bg:erc-color-face15|bg:erc-color-face2|bg:erc-color-face3|bg:erc-color-face4|bg:erc-color-face5|bg:erc-color-face6|bg:erc-color-face7|bg:erc-color-face8|bg:erc-color-face9|bold-italic|bold|bookmark-menu-bookmark|bookmark-menu-heading|border|breakpoint-disabled|breakpoint-enabled|buffer-menu-buffer|button|c-annotation-face|calc-nonselected-face|calc-selected-face|calendar-month-header|calendar-today|calendar-weekday-header|calendar-weekend-header|change-log-acknowledgement-face|change-log-acknowledgement|change-log-acknowledgment|change-log-conditionals-face|change-log-conditionals|change-log-date-face|change-log-date|change-log-email-face|change-log-email|change-log-file-face|change-log-file|change-log-function-face|change-log-function|change-log-list-face|change-log-list|change-log-name-face|change-log-name|comint-highlight-input|comint-highlight-prompt|compare-windows|compilation-column-number|compilation-error|compilation-info|compilation-line-number|compilation-mode-line-exit|compilation-mode-line-fail|compilation-mode-line-run|compilation-warning|completions-annotations|completions-common-part|completions-first-difference|cperl-array-face|cperl-hash-face|cperl-nonoverridable-face|css-property|css-selector|cua-global-mark|cua-rectangle-noselect|cua-rectangle|cursor|custom-button-mouse|custom-button-pressed-unraised|custom-button-pressed|custom-button-unraised|custom-button|custom-changed|custom-comment-tag|custom-comment|custom-documentation|custom-face-tag|custom-group-subtitle|custom-group-tag-1|custom-group-tag|custom-invalid|custom-link|custom-modified|custom-rogue|custom-saved|custom-set|custom-state|custom-themed|custom-variable-button|custom-variable-tag|custom-visibility|cvs-filename-face|cvs-filename|cvs-handled-face|cvs-handled|cvs-header-face|cvs-header|cvs-marked-face|cvs-marked|cvs-msg-face|cvs-msg|cvs-need-action-face|cvs-need-action|cvs-unknown-face|cvs-unknown|default|diary-anniversary|diary-button|diary-time|diary|diff-added-face|diff-added|diff-changed-face|diff-changed|diff-context-face|diff-context|diff-file-header-face|diff-file-header|diff-function-face|diff-function|diff-header-face|diff-header|diff-hunk-header-face|diff-hunk-header|diff-index-face|diff-index|diff-indicator-added|diff-indicator-changed|diff-indicator-removed|diff-nonexistent-face|diff-nonexistent|diff-refine-added|diff-refine-changed??|diff-refine-removed|diff-removed-face|diff-removed|dired-directory|dired-flagged|dired-header|dired-ignored|dired-mark|dired-marked|dired-perm-write|dired-symlink|dired-warning|ebrowse-default|ebrowse-file-name|ebrowse-member-attribute|ebrowse-member-class|ebrowse-progress|ebrowse-root-class|ebrowse-tree-mark|ediff-current-diff-A|ediff-current-diff-Ancestor|ediff-current-diff-B|ediff-current-diff-C|ediff-even-diff-A|ediff-even-diff-Ancestor|ediff-even-diff-B|ediff-even-diff-C|ediff-fine-diff-A|ediff-fine-diff-Ancestor|ediff-fine-diff-B|ediff-fine-diff-C|ediff-odd-diff-A|ediff-odd-diff-Ancestor|ediff-odd-diff-B|ediff-odd-diff-C|eieio-custom-slot-tag-face|eldoc-highlight-function-argument|epa-field-body|epa-field-name|epa-mark|epa-string|epa-validity-disabled|epa-validity-high|epa-validity-low|epa-validity-medium|erc-action-face|erc-bold-face|erc-button|erc-command-indicator-face|erc-current-nick-face|erc-dangerous-host-face|erc-default-face|erc-direct-msg-face|erc-error-face|erc-fool-face|erc-header-line|erc-input-face|erc-inverse-face|erc-keyword-face|erc-my-nick-face|erc-my-nick-prefix-face|erc-nick-default-face|erc-nick-msg-face|erc-nick-prefix-face|erc-notice-face|erc-pal-face|erc-prompt-face|erc-timestamp-face|erc-underline-face|error|ert-test-result-expected|ert-test-result-unexpected|escape-glyph|eww-form-checkbox|eww-form-file|eww-form-select|eww-form-submit|eww-form-text|eww-form-textarea|eww-invalid-certificate|eww-valid-certificate|excerpt|ffap|fg:erc-color-face0|fg:erc-color-face10??|fg:erc-color-face11|fg:erc-color-face12|fg:erc-color-face13|fg:erc-color-face14|fg:erc-color-face15|fg:erc-color-face2|fg:erc-color-face3|fg:erc-color-face4|fg:erc-color-face5|fg:erc-color-face6|fg:erc-color-face7|fg:erc-color-face8|fg:erc-color-face9|file-name-shadow|fixed-pitch|fixed|flymake-errline|flymake-warnline|flyspell-duplicate|flyspell-incorrect|font-lock-builtin-face|font-lock-comment-delimiter-face|font-lock-comment-face|font-lock-constant-face|font-lock-doc-face|font-lock-function-name-face|font-lock-keyword-face|font-lock-negation-char-face|font-lock-preprocessor-face|font-lock-regexp-grouping-backslash|font-lock-regexp-grouping-construct|font-lock-string-face|font-lock-type-face|font-lock-variable-name-face|font-lock-warning-face|fringe|glyphless-char|gnus-button|gnus-cite-10??|gnus-cite-11|gnus-cite-2|gnus-cite-3|gnus-cite-4|gnus-cite-5|gnus-cite-6|gnus-cite-7|gnus-cite-8|gnus-cite-9|gnus-cite-attribution-face|gnus-cite-attribution|gnus-cite-face-10??|gnus-cite-face-11|gnus-cite-face-2|gnus-cite-face-3|gnus-cite-face-4|gnus-cite-face-5|gnus-cite-face-6|gnus-cite-face-7|gnus-cite-face-8|gnus-cite-face-9|gnus-emphasis-bold-italic|gnus-emphasis-bold|gnus-emphasis-highlight-words|gnus-emphasis-italic|gnus-emphasis-strikethru|gnus-emphasis-underline-bold-italic|gnus-emphasis-underline-bold|gnus-emphasis-underline-italic|gnus-emphasis-underline|gnus-group-mail-1-empty-face|gnus-group-mail-1-empty|gnus-group-mail-1-face|gnus-group-mail-1|gnus-group-mail-2-empty-face|gnus-group-mail-2-empty|gnus-group-mail-2-face|gnus-group-mail-2|gnus-group-mail-3-empty-face|gnus-group-mail-3-empty|gnus-group-mail-3-face|gnus-group-mail-3|gnus-group-mail-low-empty-face|gnus-group-mail-low-empty|gnus-group-mail-low-face|gnus-group-mail-low|gnus-group-news-1-empty-face|gnus-group-news-1-empty|gnus-group-news-1-face|gnus-group-news-1|gnus-group-news-2-empty-face|gnus-group-news-2-empty|gnus-group-news-2-face|gnus-group-news-2|gnus-group-news-3-empty-face|gnus-group-news-3-empty|gnus-group-news-3-face|gnus-group-news-3|gnus-group-news-4-empty-face|gnus-group-news-4-empty|gnus-group-news-4-face|gnus-group-news-4|gnus-group-news-5-empty-face|gnus-group-news-5-empty|gnus-group-news-5-face|gnus-group-news-5|gnus-group-news-6-empty-face|gnus-group-news-6-empty|gnus-group-news-6-face|gnus-group-news-6|gnus-group-news-low-empty-face|gnus-group-news-low-empty|gnus-group-news-low-face|gnus-group-news-low|gnus-header-content-face|gnus-header-content|gnus-header-from-face|gnus-header-from|gnus-header-name-face|gnus-header-name|gnus-header-newsgroups-face|gnus-header-newsgroups|gnus-header-subject-face|gnus-header-subject|gnus-signature-face|gnus-signature|gnus-splash-face|gnus-splash|gnus-summary-cancelled-face|gnus-summary-cancelled|gnus-summary-high-ancient-face|gnus-summary-high-ancient|gnus-summary-high-read-face|gnus-summary-high-read|gnus-summary-high-ticked-face|gnus-summary-high-ticked|gnus-summary-high-undownloaded-face|gnus-summary-high-undownloaded|gnus-summary-high-unread-face|gnus-summary-high-unread|gnus-summary-low-ancient-face|gnus-summary-low-ancient|gnus-summary-low-read-face|gnus-summary-low-read|gnus-summary-low-ticked-face|gnus-summary-low-ticked|gnus-summary-low-undownloaded-face|gnus-summary-low-undownloaded|gnus-summary-low-unread-face|gnus-summary-low-unread|gnus-summary-normal-ancient-face|gnus-summary-normal-ancient|gnus-summary-normal-read-face|gnus-summary-normal-read|gnus-summary-normal-ticked-face|gnus-summary-normal-ticked|gnus-summary-normal-undownloaded-face|gnus-summary-normal-undownloaded|gnus-summary-normal-unread-face|gnus-summary-normal-unread|gnus-summary-selected-face|gnus-summary-selected|gomoku-O|gomoku-X|header-line|help-argument-name|hexl-address-region|hexl-ascii-region|hi-black-b|hi-black-hb|hi-blue-b|hi-blue|hi-green-b|hi-green|hi-pink|hi-red-b|hi-yellow|hide-ifdef-shadow|highlight-changes-delete-face|highlight-changes-delete|highlight-changes-face|highlight-changes|highlight|hl-line|holiday|icomplete-first-match|idlwave-help-link|idlwave-shell-bp|idlwave-shell-disabled-bp|idlwave-shell-electric-stop-line|idlwave-shell-pending-electric-stop|idlwave-shell-pending-stop|ido-first-match|ido-incomplete-regexp|ido-indicator|ido-only-match|ido-subdir|ido-virtual|info-header-node|info-header-xref|info-index-match|info-menu-5|info-menu-header|info-menu-star|info-node|info-title-1|info-title-2|info-title-3|info-title-4|info-xref|isearch-fail|isearch-lazy-highlight-face|isearch|iswitchb-current-match|iswitchb-invalid-regexp|iswitchb-single-match|iswitchb-virtual-matches|italic|landmark-font-lock-face-O|landmark-font-lock-face-X|lazy-highlight|ld-script-location-counter|link-visited|link|log-edit-header|log-edit-summary|log-edit-unknown-header|log-view-file-face|log-view-file|log-view-message-face|log-view-message|makefile-makepp-perl|makefile-shell|makefile-space-face|makefile-space|makefile-targets|match|menu|message-cited-text-face|message-cited-text|message-header-cc-face|message-header-cc|message-header-name-face|message-header-name|message-header-newsgroups-face|message-header-newsgroups|message-header-other-face|message-header-other|message-header-subject-face|message-header-subject|message-header-to-face|message-header-to|message-header-xheader-face|message-header-xheader|message-mml-face|message-mml|message-separator-face|message-separator|mh-folder-address|mh-folder-blacklisted|mh-folder-body|mh-folder-cur-msg-number|mh-folder-date|mh-folder-deleted|mh-folder-followup|mh-folder-msg-number|mh-folder-refiled|mh-folder-sent-to-me-hint|mh-folder-sent-to-me-sender|mh-folder-subject|mh-folder-tick|mh-folder-to|mh-folder-whitelisted|mh-letter-header-field|mh-search-folder|mh-show-cc|mh-show-date|mh-show-from|mh-show-header|mh-show-pgg-bad|mh-show-pgg-good|mh-show-pgg-unknown|mh-show-signature|mh-show-subject|mh-show-to|mh-speedbar-folder-with-unseen-messages|mh-speedbar-folder|mh-speedbar-selected-folder-with-unseen-messages|mh-speedbar-selected-folder|minibuffer-prompt|mm-command-output|mm-uu-extract|mode-line-buffer-id|mode-line-emphasis|mode-line-highlight|mode-line-inactive|mode-line|modeline-buffer-id|modeline-highlight|modeline-inactive|mouse|mpuz-solved|mpuz-text|mpuz-trivial|mpuz-unsolved|newsticker-date-face|newsticker-default-face|newsticker-enclosure-face|newsticker-extra-face|newsticker-feed-face|newsticker-immortal-item-face|newsticker-new-item-face|newsticker-obsolete-item-face|newsticker-old-item-face|newsticker-statistics-face|newsticker-treeview-face|newsticker-treeview-immortal-face|newsticker-treeview-new-face|newsticker-treeview-obsolete-face|newsticker-treeview-old-face|newsticker-treeview-selection-face|next-error|nobreak-space|nxml-attribute-colon|nxml-attribute-local-name|nxml-attribute-prefix|nxml-attribute-value-delimiter|nxml-attribute-value|nxml-cdata-section-CDATA|nxml-cdata-section-content|nxml-cdata-section-delimiter|nxml-char-ref-delimiter|nxml-char-ref-number|nxml-comment-content|nxml-comment-delimiter|nxml-delimited-data|nxml-delimiter|nxml-element-colon|nxml-element-local-name|nxml-element-prefix|nxml-entity-ref-delimiter|nxml-entity-ref-name|nxml-glyph|nxml-hash|nxml-heading|nxml-markup-declaration-delimiter|nxml-name|nxml-namespace-attribute-colon|nxml-namespace-attribute-prefix|nxml-namespace-attribute-value-delimiter|nxml-namespace-attribute-value|nxml-namespace-attribute-xmlns|nxml-outline-active-indicator|nxml-outline-ellipsis|nxml-outline-indicator|nxml-processing-instruction-content|nxml-processing-instruction-delimiter|nxml-processing-instruction-target|nxml-prolog-keyword|nxml-prolog-literal-content|nxml-prolog-literal-delimiter|nxml-ref|nxml-tag-delimiter|nxml-tag-slash|nxml-text|octave-function-comment-block|org-agenda-calendar-event|org-agenda-calendar-sexp|org-agenda-clocking|org-agenda-column-dateline|org-agenda-current-time|org-agenda-date-today|org-agenda-date-weekend|org-agenda-date|org-agenda-diary|org-agenda-dimmed-todo-face|org-agenda-done|org-agenda-filter-category|org-agenda-filter-regexp|org-agenda-filter-tags|org-agenda-restriction-lock|org-agenda-structure|org-archived|org-block-background|org-block-begin-line|org-block-end-line|org-block|org-checkbox-statistics-done|org-checkbox-statistics-todo|org-checkbox|org-clock-overlay|org-code|org-column-title|org-column|org-date-selected|org-date|org-default|org-document-info-keyword|org-document-info|org-document-title|org-done|org-drawer|org-ellipsis|org-footnote|org-formula|org-headline-done|org-hide|org-latex-and-related|org-level-1|org-level-2|org-level-3|org-level-4|org-level-5|org-level-6|org-level-7|org-level-8|org-link|org-list-dt|org-macro|org-meta-line|org-mode-line-clock-overrun|org-mode-line-clock|org-priority|org-property-value|org-quote|org-scheduled-previously|org-scheduled-today|org-scheduled|org-sexp-date|org-special-keyword|org-table|org-tag-group|org-tag|org-target|org-time-grid|org-todo|org-upcoming-deadline|org-verbatim|org-verse|org-warning|outline-1|outline-2|outline-3|outline-4|outline-5|outline-6|outline-7|outline-8|proced-mark|proced-marked|proced-sort-header|pulse-highlight-face|pulse-highlight-start-face|query-replace|rcirc-bright-nick|rcirc-dim-nick|rcirc-keyword|rcirc-my-nick|rcirc-nick-in-message-full-line|rcirc-nick-in-message|rcirc-other-nick|rcirc-prompt|rcirc-server-prefix|rcirc-server|rcirc-timestamp|rcirc-track-keyword|rcirc-track-nick|rcirc-url|reb-match-0|reb-match-1|reb-match-2|reb-match-3|rectangle-preview-face|region|rmail-header-name|rmail-highlight|rng-error|rst-adornment|rst-block|rst-comment|rst-definition|rst-directive|rst-emphasis1|rst-emphasis2|rst-external|rst-level-1|rst-level-2|rst-level-3|rst-level-4|rst-level-5|rst-level-6|rst-literal|rst-reference|rst-transition|ruler-mode-column-number|ruler-mode-comment-column|ruler-mode-current-column|ruler-mode-default|ruler-mode-fill-column|ruler-mode-fringes|ruler-mode-goal-column|ruler-mode-margins|ruler-mode-pad|ruler-mode-tab-stop|scroll-bar|secondary-selection|semantic-highlight-edits-face|semantic-highlight-func-current-tag-face|semantic-unmatched-syntax-face|senator-momentary-highlight-face|sgml-namespace|sh-escaped-newline|sh-heredoc-face|sh-heredoc|sh-quoted-exec|shadow|show-paren-match-face|show-paren-match|show-paren-mismatch-face|show-paren-mismatch|shr-link|shr-strike-through|smerge-base-face|smerge-base|smerge-markers-face|smerge-markers|smerge-mine-face|smerge-mine|smerge-other-face|smerge-other|smerge-refined-added|smerge-refined-changed??|smerge-refined-removed|speedbar-button-face|speedbar-directory-face|speedbar-file-face|speedbar-highlight-face|speedbar-selected-face|speedbar-separator-face|speedbar-tag-face|srecode-separator-face|strokes-char|subscript|success|superscript|table-cell|tcl-escaped-newline|term-bold|term-color-black|term-color-blue|term-color-cyan|term-color-green|term-color-magenta|term-color-red|term-color-white|term-color-yellow|term-underline|term|testcover-1value|testcover-nohits|tex-math-face|tex-math|tex-verbatim-face|tex-verbatim|texinfo-heading-face|texinfo-heading|tmm-inactive|todo-archived-only|todo-button|todo-category-string|todo-comment|todo-date|todo-diary-expired|todo-done-sep|todo-done|todo-key-prompt|todo-mark|todo-nondiary|todo-prefix-string|todo-search|todo-sorted-column|todo-time|todo-top-priority|tool-bar|tooltip|trailing-whitespace|tty-menu-disabled-face|tty-menu-enabled-face|tty-menu-selected-face|underline|variable-pitch|vc-conflict-state|vc-edited-state|vc-locally-added-state|vc-locked-state|vc-missing-state|vc-needs-update-state|vc-removed-state|vc-state-base-face|vc-up-to-date-state|vcursor|vera-font-lock-function|vera-font-lock-interface|vera-font-lock-number|verilog-font-lock-ams-face|verilog-font-lock-grouping-keywords-face|verilog-font-lock-p1800-face|verilog-font-lock-translate-off-face|vertical-border|vhdl-font-lock-attribute-face|vhdl-font-lock-directive-face|vhdl-font-lock-enumvalue-face|vhdl-font-lock-function-face|vhdl-font-lock-generic-/constant-face|vhdl-font-lock-prompt-face|vhdl-font-lock-reserved-words-face|vhdl-font-lock-translate-off-face|vhdl-font-lock-type-face|vhdl-font-lock-variable-face|vhdl-speedbar-architecture-face|vhdl-speedbar-architecture-selected-face|vhdl-speedbar-configuration-face|vhdl-speedbar-configuration-selected-face|vhdl-speedbar-entity-face|vhdl-speedbar-entity-selected-face|vhdl-speedbar-instantiation-face|vhdl-speedbar-instantiation-selected-face|vhdl-speedbar-library-face|vhdl-speedbar-package-face|vhdl-speedbar-package-selected-face|vhdl-speedbar-subprogram-face|viper-minibuffer-emacs|viper-minibuffer-insert|viper-minibuffer-vi|viper-replace-overlay|viper-search|warning|which-func|whitespace-big-indent|whitespace-empty|whitespace-hspace|whitespace-indentation|whitespace-line|whitespace-newline|whitespace-space-after-tab|whitespace-space-before-tab|whitespace-space|whitespace-tab|whitespace-trailing|widget-button-face|widget-button-pressed-face|widget-button-pressed|widget-button|widget-documentation-face|widget-documentation|widget-field-face|widget-field|widget-inactive-face|widget-inactive|widget-single-line-field-face|widget-single-line-field|window-divider-first-pixel|window-divider-last-pixel|window-divider|woman-addition-face|woman-addition|woman-bold-face|woman-bold|woman-italic-face|woman-italic|woman-unknown-face|woman-unknown)(?=[()\\\\s]|$)\\\\b","name":"support.constant.face.emacs.lisp"},"format":{"begin":"\\\\G","contentName":"string.quoted.double.emacs.lisp","end":"(?=\\")","patterns":[{"captures":{"1":{"name":"constant.other.placeholder.emacs.lisp"},"2":{"name":"invalid.illegal.placeholder.emacs.lisp"}},"match":"(%[%SXc-gosx])|(%.)"},{"include":"#string-innards"}]},"formatting":{"begin":"(\\\\()(format|format-message|message|error)(?=\\\\s|$|\\")","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"support.function.$2.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.string-formatting.expression.emacs.lisp","patterns":[{"begin":"\\\\G\\\\s*(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.emacs.lisp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.emacs.lisp"}},"patterns":[{"include":"#format"}]},{"begin":"\\\\G\\\\s*$\\\\n?","end":"\\"|(?>)","name":"constant.command-name.key.emacs.lisp"},{"captures":{"1":{"name":"constant.numeric.integer.int.decimal.emacs.lisp"},"2":{"name":"keyword.operator.arithmetic.multiply.emacs.lisp"}},"match":"([0-9]+)(\\\\*)(?=\\\\S)","name":"meta.key-repetition.emacs.lisp"},{"captures":{"1":{"patterns":[{"include":"#key-notation-prefix"}]},"2":{"name":"constant.character.key.emacs.lisp"}},"match":"\\\\b(M-)(-?[0-9]+)\\\\b","name":"meta.key-sequence.emacs.lisp"},{"captures":{"1":{"patterns":[{"include":"#key-notation-prefix"}]},"2":{"name":"punctuation.definition.angle.bracket.begin.emacs.lisp"},"3":{"name":"constant.control-character.key.emacs.lisp"},"4":{"name":"punctuation.definition.angle.bracket.end.emacs.lisp"},"5":{"name":"constant.control-character.key.emacs.lisp"},"6":{"name":"invalid.illegal.bad-prefix.emacs.lisp"},"7":{"name":"constant.character.key.emacs.lisp"}},"match":"\\\\b((?:[ACHMSs]-)+)(?:(<)(DEL|ESC|LFD|NUL|RET|SPC|TAB)(>)|(DEL|ESC|LFD|NUL|RET|SPC|TAB)\\\\b|([!-_a-z]{2,})|([!-_a-z]))?","name":"meta.key-sequence.emacs.lisp"},{"captures":{"1":{"patterns":[{"match":"<","name":"punctuation.definition.angle.bracket.begin.emacs.lisp"},{"include":"#key-notation-prefix"}]},"2":{"name":"constant.function-key.emacs.lisp"},"3":{"name":"punctuation.definition.angle.bracket.end.emacs.lisp"}},"match":"([ACHMSs]-<|<[ACHMSs]-|<)([-0-9A-Za-z]+)(>)","name":"meta.function-key.emacs.lisp"},{"match":"(?<=\\\\s)(?![<>ACHMSs])[!-_a-z](?=\\\\s)","name":"constant.character.key.emacs.lisp"}]},"key-notation-prefix":{"captures":{"1":{"name":"constant.character.key.modifier.emacs.lisp"},"2":{"name":"punctuation.separator.modifier.dash.emacs.lisp"}},"match":"([ACHMSs])(-)"},"keyword":{"captures":{"1":{"name":"punctuation.definition.keyword.emacs.lisp"}},"match":"(?<=[()\\\\[\\\\s]|^)(:)[-!$%\\\\&*+/:<-@^{}~\\\\w]+","name":"constant.keyword.emacs.lisp"},"lambda":{"begin":"(\\\\()(lambda|function)(?:\\\\s+|(?=[()]))","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"storage.type.lambda.function.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.lambda.expression.emacs.lisp","patterns":[{"include":"#defun-innards"}]},"loop":{"begin":"(\\\\()(cl-loop)(?=[()\\\\s]|$)","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.emacs.lisp"},"2":{"name":"support.function.cl-lib.emacs.lisp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.expression.end.emacs.lisp"}},"name":"meta.cl-lib.loop.emacs.lisp","patterns":[{"match":"(?<=[()\\\\[\\\\s]|^)(above|across|across-ref|always|and|append|as|below|by|collect|concat|count|do|each|finally|for|from|if|in|in-ref|initially|into|maximize|minimize|named|nconc|never|of|of-ref|on|repeat|return|sum|then|thereis|sum|to|unless|until|using|vconcat|when|while|with|being\\\\s+(?:the)?\\\\s+(?:element|hash-key|hash-value|key-code|key-binding|key-seq|overlay|interval|symbols|frame|window|buffer)s?)(?=[()\\\\s]|$)","name":"keyword.control.emacs.lisp"},{"include":"$self"}]},"main":{"patterns":[{"include":"#autoload"},{"include":"#comment"},{"include":"#lambda"},{"include":"#loop"},{"include":"#escapes"},{"include":"#definition"},{"include":"#formatting"},{"include":"#face-innards"},{"include":"#expression"},{"include":"#operators"},{"include":"#functions"},{"include":"#binding"},{"include":"#keyword"},{"include":"#string"},{"include":"#number"},{"include":"#quote"},{"include":"#symbols"},{"include":"#vectors"},{"include":"#arg-values"},{"include":"#archive-sources"},{"include":"#boolean"},{"include":"#faces"},{"include":"#cask"},{"include":"#stdlib"}]},"modeline":{"captures":{"1":{"name":"punctuation.definition.modeline.begin.emacs.lisp"},"2":{"patterns":[{"include":"#modeline-innards"}]},"3":{"name":"punctuation.definition.modeline.end.emacs.lisp"}},"match":"(-\\\\*-)(.*)(-\\\\*-)","name":"meta.modeline.emacs.lisp"},"modeline-innards":{"patterns":[{"captures":{"1":{"name":"variable.assignment.modeline.emacs.lisp"},"2":{"name":"punctuation.separator.key-value.emacs.lisp"},"3":{"patterns":[{"include":"#modeline-innards"}]}},"match":"([^:;\\\\s]+)\\\\s*(:)\\\\s*([^;]*)","name":"meta.modeline.variable.emacs.lisp"},{"match":";","name":"punctuation.terminator.statement.emacs.lisp"},{"match":":","name":"punctuation.separator.key-value.emacs.lisp"},{"match":"\\\\S+","name":"string.other.modeline.emacs.lisp"}]},"number":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.binary.emacs.lisp"}},"match":"(?<=[()\\\\[\\\\s]|^)(#)[Bb][01]+","name":"constant.numeric.integer.binary.emacs.lisp"},{"captures":{"1":{"name":"punctuation.definition.hex.emacs.lisp"}},"match":"(?<=[()\\\\[\\\\s]|^)(#)[Xx]\\\\h+","name":"constant.numeric.integer.hex.viml"},{"match":"(?<=[()\\\\[\\\\s]|^)[-+]?\\\\d*\\\\.\\\\d+(?:[Ee][-+]?\\\\d+|[Ee]\\\\+(?:INF|NaN))?(?=[()\\\\s]|$)","name":"constant.numeric.float.emacs.lisp"},{"match":"(?<=[()\\\\[\\\\s]|^)[-+]?\\\\d+(?:[Ee][-+]?\\\\d+|[Ee]\\\\+(?:INF|NaN))?(?=[()\\\\s]|$)","name":"constant.numeric.integer.emacs.lisp"}]},"operators":{"patterns":[{"match":"(?<=[()]|^)(and|catch|cond|condition-case(?:-unless-debug)?|dotimes|eql?|equal|if|not|or|pcase|prog[12n]|throw|unless|unwind-protect|when|while)(?=[()\\\\s]|$)","name":"keyword.control.$1.emacs.lisp"},{"match":"(?<=[(\\\\s]|^)(interactive)(?=[()\\\\s])","name":"storage.modifier.interactive.function.emacs.lisp"},{"match":"(?<=[(\\\\s]|^)[-%*+/](?=[)\\\\s]|$)","name":"keyword.operator.numeric.emacs.lisp"},{"match":"(?<=[(\\\\s]|^)[/<>]=|[<=>](?=[)\\\\s]|$)","name":"keyword.operator.comparison.emacs.lisp"},{"match":"(?<=\\\\s)\\\\.(?=\\\\s|$)","name":"keyword.operator.pair-separator.emacs.lisp"}]},"quote":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.quote.emacs.lisp"},"2":{"patterns":[{"include":"$self"}]}},"match":"(')([-!$%\\\\&*+/:<-@^{}~\\\\w]+)","name":"constant.other.symbol.emacs.lisp"}]},"stdlib":{"patterns":[{"match":"(?<=[()]|^)(\`--pcase-macroexpander|Buffer-menu-unmark-all-buffers|Buffer-menu-unmark-all|Info-node-description|aa2u-mark-as-text|aa2u-mark-rectangle-as-text|aa2u-rectangle|aa2u|ada-find-file|ada-header|ada-mode|add-abbrev|add-change-log-entry-other-window|add-change-log-entry|add-dir-local-variable|add-file-local-variable-prop-line|add-file-local-variable|add-global-abbrev|add-log-current-defun|add-minor-mode|add-mode-abbrev|add-submenu|add-timeout|add-to-coding-system-list|add-to-list--anon-cmacro|add-variable-watcher|adoc-mode|advertised-undo|advice--add-function|advice--buffer-local|advice--called-interactively-skip|advice--car|advice--cd\\\\*r|advice--cdr|advice--defalias-fset|advice--interactive-form|advice--make-1|advice--make-docstring|advice--make-interactive-form|advice--make|advice--member-p|advice--normalize-place|advice--normalize|advice--props|advice--p|advice--remove-function|advice--set-buffer-local|advice--strip-macro|advice--subst-main|advice--symbol-function|advice--tweak|advice--where|after-insert-file-set-coding|aggressive-indent--extend-end-to-whole-sexps|aggressive-indent--indent-current-balanced-line|aggressive-indent--indent-if-changed|aggressive-indent--keep-track-of-changes|aggressive-indent--local-electric|aggressive-indent--proccess-changed-list-and-indent|aggressive-indent--run-user-hooks|aggressive-indent--softly-indent-defun|aggressive-indent--softly-indent-region-and-on|aggressive-indent-bug-report|aggressive-indent-global-mode|aggressive-indent-indent-defun|aggressive-indent-indent-region-and-on|aggressive-indent-mode-set-explicitly|aggressive-indent-mode|align-current|align-entire|align-highlight-rule|align-newline-and-indent|align-regexp|align-unhighlight-rule|align|alist-get|all-threads|allout-auto-activation-helper|allout-mode-p|allout-mode|allout-setup|allout-widgets-mode|allout-widgets-setup|alter-text-property|and-let\\\\*|ange-ftp-completion-hook-function|apache-mode|apropos-local-value|apropos-local-variable|arabic-shape-gstring|assoc-delete-all|auth-source--decode-octal-string|auth-source--symbol-keyword|auth-source-backend--anon-cmacro|auth-source-backend--eieio-childp|auth-source-backends-parser-file|auth-source-backends-parser-macos-keychain|auth-source-backends-parser-secrets|auth-source-json-check|auth-source-json-search|auth-source-pass-enable|auth-source-secrets-saver|auto-save-visited-mode|backtrace-frame--internal|backtrace-frames|backward-to-word|backward-word-strictly|battery-upower-prop|battery-upower|beginning-of-defun--in-emptyish-line-p|beginning-of-defun-comments|bf-help-describe-symbol|bf-help-mode|bf-help-setup|bignump|bison-mode|blink-cursor--rescan-frames|blink-cursor--should-blink|blink-cursor--start-idle-timer|blink-cursor--start-timer|bookmark-set-no-overwrite|brainfuck-mode|browse-url-conkeror|buffer-hash|bufferpos-to-filepos|byte-compile--function-signature|byte-compile--log-warning-for-byte-compile|byte-compile-cond-jump-table-info|byte-compile-cond-jump-table|byte-compile-cond-vars|byte-compile-define-symbol-prop|byte-compile-file-form-defvar-function|byte-compile-file-form-make-obsolete|byte-opt--arith-reduce|byte-opt--portable-numberp|byte-optimize-1-|byte-optimize-1\\\\+|byte-optimize-memq|c-or-c\\\\+\\\\+-mode|call-shell-region|cancel-debug-on-variable-change|cancel-debug-watch|capitalize-dwim|cconv--convert-funcbody|cconv--remap-llv|char-fold-to-regexp|char-from-name|checkdoc-file|checkdoc-package-keywords|cl--assertion-failed|cl--class-docstring--cmacro|cl--class-docstring|cl--class-index-table--cmacro|cl--class-index-table|cl--class-name--cmacro|cl--class-name|cl--class-p--cmacro|cl--class-parents--cmacro|cl--class-parents|cl--class-p|cl--class-slots--cmacro|cl--class-slots|cl--copy-slot-descriptor-1|cl--copy-slot-descriptor|cl--defstruct-predicate|cl--describe-class-slots?|cl--describe-class|cl--do-&aux|cl--find-class|cl--generic-arg-specializer|cl--generic-build-combined-method|cl--generic-cache-miss|cl--generic-class-parents|cl--generic-derived-specializers|cl--generic-describe|cl--generic-dispatches--cmacro|cl--generic-dispatches|cl--generic-fgrep|cl--generic-generalizer-name--cmacro|cl--generic-generalizer-name|cl--generic-generalizer-p--cmacro|cl--generic-generalizer-priority--cmacro|cl--generic-generalizer-priority|cl--generic-generalizer-p|cl--generic-generalizer-specializers-function--cmacro|cl--generic-generalizer-specializers-function|cl--generic-generalizer-tagcode-function--cmacro|cl--generic-generalizer-tagcode-function|cl--generic-get-dispatcher|cl--generic-isnot-nnm-p|cl--generic-lambda|cl--generic-load-hist-format|cl--generic-make--cmacro|cl--generic-make-defmethod-docstring|cl--generic-make-function|cl--generic-make-method--cmacro|cl--generic-make-method|cl--generic-make-next-function|cl--generic-make|cl--generic-member-method|cl--generic-method-documentation|cl--generic-method-files|cl--generic-method-function--cmacro|cl--generic-method-function|cl--generic-method-info|cl--generic-method-qualifiers--cmacro|cl--generic-method-qualifiers|cl--generic-method-specializers--cmacro|cl--generic-method-specializers|cl--generic-method-table--cmacro|cl--generic-method-table|cl--generic-method-uses-cnm--cmacro|cl--generic-method-uses-cnm|cl--generic-name--cmacro|cl--generic-name)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(cl--generic-no-next-method-function|cl--generic-options--cmacro|cl--generic-options|cl--generic-search-method|cl--generic-specializers-apply-to-type-p|cl--generic-split-args|cl--generic-standard-method-combination|cl--generic-struct-specializers|cl--generic-struct-tag|cl--generic-with-memoization|cl--generic|cl--make-random-state--cmacro|cl--make-random-state|cl--make-slot-descriptor--cmacro|cl--make-slot-descriptor|cl--make-slot-desc|cl--old-struct-type-of|cl--pcase-mutually-exclusive-p|cl--plist-remove|cl--print-table|cl--prog|cl--random-state-i--cmacro|cl--random-state-i|cl--random-state-j--cmacro|cl--random-state-j|cl--random-state-vec--cmacro|cl--random-state-vec|cl--slot-descriptor-initform--cmacro|cl--slot-descriptor-initform|cl--slot-descriptor-name--cmacro|cl--slot-descriptor-name|cl--slot-descriptor-props--cmacro|cl--slot-descriptor-props|cl--slot-descriptor-type--cmacro|cl--slot-descriptor-type|cl--struct-all-parents|cl--struct-cl--generic-method-p--cmacro|cl--struct-cl--generic-method-p|cl--struct-cl--generic-p--cmacro|cl--struct-cl--generic-p|cl--struct-class-children-sym--cmacro|cl--struct-class-children-sym|cl--struct-class-docstring--cmacro|cl--struct-class-docstring|cl--struct-class-index-table--cmacro|cl--struct-class-index-table|cl--struct-class-name--cmacro|cl--struct-class-named--cmacro|cl--struct-class-named?|cl--struct-class-p--cmacro|cl--struct-class-parents--cmacro|cl--struct-class-parents|cl--struct-class-print--cmacro|cl--struct-class-print|cl--struct-class-p|cl--struct-class-slots--cmacro|cl--struct-class-slots|cl--struct-class-tag--cmacro|cl--struct-class-tag|cl--struct-class-type--cmacro|cl--struct-class-type|cl--struct-get-class|cl--struct-name-p|cl--struct-new-class--cmacro|cl--struct-new-class|cl--struct-register-child|cl-call-next-method|cl-defgeneric|cl-defmethod|cl-describe-type|cl-find-class|cl-find-method|cl-generic-all-functions|cl-generic-apply|cl-generic-call-method|cl-generic-combine-methods|cl-generic-current-method-specializers|cl-generic-define-context-rewriter|cl-generic-define-generalizer|cl-generic-define-method|cl-generic-define|cl-generic-ensure-function|cl-generic-function-options|cl-generic-generalizers|cl-generic-make-generalizer--cmacro|cl-generic-make-generalizer|cl-generic-p|cl-iter-defun|cl-method-qualifiers|cl-next-method-p|cl-no-applicable-method|cl-no-next-method|cl-no-primary-method|cl-old-struct-compat-mode|cl-prin1-to-string|cl-prin1|cl-print-expand-ellipsis|cl-print-object|cl-print-to-string-with-limit|cl-prog\\\\*?|cl-random-state-p--cmacro|cl-slot-descriptor-p--cmacro|cl-slot-descriptor-p|cl-struct--pcase-macroexpander|cl-struct-define|cl-struct-p--cmacro|cl-struct-p|cl-struct-slot-value--inliner|cl-typep--inliner|clear-composition-cache|cmake-command-run|cmake-help-command|cmake-help-list-commands|cmake-help-module|cmake-help-property|cmake-help-variable|cmake-help|cmake-mode|coffee-mode|combine-change-calls-1|combine-change-calls|comment-line|comment-make-bol-ws|comment-quote-nested-default|comment-region-default-1|completion--category-override|completion-pcm--pattern-point-idx|condition-mutex|condition-name|condition-notify|condition-variable-p|condition-wait|conf-desktop-mode|conf-toml-mode|conf-toml-recognize-section|connection-local-set-profile-variables|connection-local-set-profiles|copy-cl--generic-generalizer|copy-cl--generic-method|copy-cl--generic|copy-from-above-command|copy-lisp-indent-state|copy-xref-elisp-location|copy-yas--exit|copy-yas--field|copy-yas--mirror|copy-yas--snippet|copy-yas--table|copy-yas--template|css-lookup-symbol|csv-mode|cuda-mode|current-thread|cursor-intangible-mode|cursor-sensor-mode|custom--should-apply-setting|debug-on-variable-change|debug-watch|default-font-width|define-symbol-prop|define-thing-chars|defined-colors-with-face-attributes|delete-selection-uses-region-p|describe-char-eldoc|describe-symbol|dir-locals--all-files|dir-locals-read-from-dir|dired--align-all-files|dired--need-align-p|dired-create-empty-file|dired-do-compress-to|dired-do-find-regexp-and-replace|dired-do-find-regexp|dired-mouse-find-file-other-frame|dired-mouse-find-file|dired-omit-mode|display-buffer--maybe-at-bottom|display-buffer--maybe-pop-up-frame|display-buffer--maybe-pop-up-window|display-buffer-in-child-frame|display-buffer-reuse-mode-window|display-buffer-use-some-frame|display-line-numbers-mode|dna-add-hooks|dna-isearch-forward|dna-mode|dna-reverse-complement-region|dockerfile-build-buffer|dockerfile-build-no-cache-buffer|dockerfile-mode|dolist-with-progress-reporter|dotenv-mode|downcase-dwim|dyalog-ediff-forward-word|dyalog-editor-connect|dyalog-fix-altgr-chars|dyalog-mode|dyalog-session-connect|easy-mmode--mode-docstring|eieio--add-new-slot|eieio--c3-candidate|eieio--c3-merge-lists|eieio--class-children--cmacro|eieio--class-class-allocation-values--cmacro|eieio--class-class-slots--cmacro|eieio--class-class-slots|eieio--class-constructor|eieio--class-default-object-cache--cmacro|eieio--class-docstring--cmacro|eieio--class-docstring|eieio--class-index-table--cmacro|eieio--class-index-table|eieio--class-initarg-tuples--cmacro|eieio--class-make--cmacro|eieio--class-make|eieio--class-method-invocation-order|eieio--class-name--cmacro|eieio--class-name|eieio--class-object|eieio--class-option-assoc|eieio--class-options--cmacro|eieio--class-option|eieio--class-p--cmacro)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(eieio--class-parents--cmacro|eieio--class-parents|eieio--class-precedence-bfs|eieio--class-precedence-c3|eieio--class-precedence-dfs|eieio--class-precedence-list|eieio--class-print-name|eieio--class-p|eieio--class-slot-initarg|eieio--class-slot-name-index|eieio--class-slots--cmacro|eieio--class-slots|eieio--class/struct-parents|eieio--generic-subclass-specializers|eieio--initarg-to-attribute|eieio--object-class-tag|eieio--pcase-macroexpander|eieio--perform-slot-validation-for-default|eieio--perform-slot-validation|eieio--slot-name-index|eieio--slot-override|eieio--validate-class-slot-value|eieio--validate-slot-value|eieio-change-class|eieio-class-slots|eieio-default-superclass--eieio-childp|eieio-defclass-internal|eieio-make-child-predicate|eieio-make-class-predicate|eieio-oref--anon-cmacro|eieio-pcase-slot-index-from-index-table|eieio-pcase-slot-index-table|eieio-slot-descriptor-name|eldoc--supported-p|eldoc-docstring-format-sym-doc|eldoc-mode-set-explicitly|electric-pair--balance-info|electric-pair--insert|electric-pair--inside-string-p|electric-pair--skip-whitespace|electric-pair--syntax-ppss|electric-pair--unbalanced-strings-p|electric-pair--with-uncached-syntax|electric-pair-conservative-inhibit|electric-pair-default-inhibit|electric-pair-default-skip-self|electric-pair-delete-pair|electric-pair-inhibit-if-helps-balance|electric-pair-local-mode|electric-pair-post-self-insert-function|electric-pair-skip-if-helps-balance|electric-pair-syntax-info|electric-pair-will-use-region|electric-quote-local-mode|electric-quote-mode|electric-quote-post-self-insert-function|elisp--font-lock-backslash|elisp--font-lock-flush-elisp-buffers|elisp--xref-backend|elisp--xref-make-xref|elisp-flymake--batch-compile-for-flymake|elisp-flymake--byte-compile-done|elisp-flymake-byte-compile|elisp-flymake-checkdoc|elisp-function-argstring|elisp-get-fnsym-args-string|elisp-get-var-docstring|elisp-load-path-roots|emacs-repository-version-git|enh-ruby-mode|epg-config--make-gpg-configuration|epg-config--make-gpgsm-configuration|epg-context-error-buffer--cmacro|epg-context-error-buffer|epg-find-configuration|erlang-compile|erlang-edoc-mode|erlang-find-tag-other-window|erlang-find-tag|erlang-mode|erlang-shell|erldoc-apropos|erldoc-browse-topic|erldoc-browse|erldoc-eldoc-function|etags--xref-backend|eval-expression-get-print-arguments|event-line-count|face-list-p|facemenu-set-charset|faces--attribute-at-point|faceup-clean-buffer|faceup-defexplainer|faceup-render-view-buffer|faceup-view-buffer|faceup-write-file|fic-mode|file-attribute-access-time|file-attribute-collect|file-attribute-device-number|file-attribute-group-id|file-attribute-inode-number|file-attribute-link-number|file-attribute-modes|file-attribute-modification-time|file-attribute-size|file-attribute-status-change-time|file-attribute-type|file-attribute-user-id|file-local-name|file-name-case-insensitive-p|file-name-quoted-p|file-name-quote|file-name-unquote|file-system-info|filepos-to-bufferpos--dos|filepos-to-bufferpos|files--ask-user-about-large-file|files--ensure-directory|files--force|files--make-magic-temp-file|files--message|files--name-absolute-system-p|files--splice-dirname-file|fill-polish-nobreak-p|find-function-on-key-other-frame|find-function-on-key-other-window|find-library-other-frame|find-library-other-window|fixnump|flymake-cc|flymake-diag-region|flymake-diagnostics|flymake-make-diagnostic|follow-scroll-down-window|follow-scroll-up-window|font-lock--remove-face-from-text-property|form-feed-mode|format-message|forth-block-mode|forth-eval-defun|forth-eval-last-expression-display-output|forth-eval-last-expression|forth-eval-region|forth-eval|forth-interaction-send|forth-kill|forth-load-file|forth-mode|forth-restart|forth-see|forth-switch-to-output-buffer|forth-switch-to-source-buffer|forth-words|fortune-message|forward-to-word|forward-word-strictly|frame--size-history|frame-after-make-frame|frame-ancestor-p|frame-creation-function|frame-edges|frame-focus-state|frame-geometry|frame-inner-height|frame-inner-width|frame-internal-border-width|frame-list-z-order|frame-monitor-attribute|frame-monitor-geometry|frame-monitor-workarea|frame-native-height|frame-native-width|frame-outer-height|frame-outer-width|frame-parent|frame-position|frame-restack|frame-size-changed-p|func-arity|generic--normalize-comments|generic-bracket-support|generic-mode-set-comments|generic-set-comment-syntax|generic-set-comment-vars|get-variable-watchers|gfm-mode|gfm-view-mode|ghc-core-create-core|ghc-core-mode|ghci-script-mode|git-commit--save-and-exit|git-commit-ack|git-commit-cc|git-commit-committer-email|git-commit-committer-name|git-commit-commit|git-commit-find-pseudo-header-position|git-commit-first-env-var|git-commit-font-lock-diff|git-commit-git-config-var|git-commit-insert-header-as-self|git-commit-insert-header|git-commit-mode|git-commit-reported|git-commit-review|git-commit-signoff|git-commit-test|git-define-git-commit-self|git-define-git-commit|gitattributes-mode--highlight-1st-field|gitattributes-mode-backward-field|gitattributes-mode-eldoc|gitattributes-mode-forward-field|gitattributes-mode-help|gitattributes-mode-menu|gitattributes-mode|gitconfig-indent-line|gitconfig-indentation-string|gitconfig-line-indented-p|gitconfig-mode|gitconfig-point-in-indentation-p|gitignore-mode|global-aggressive-indent-mode-check-buffers|global-aggressive-indent-mode-cmhh|global-aggressive-indent-mode-enable-in-buffers|global-aggressive-indent-mode|global-display-line-numbers-mode|global-eldoc-mode-check-buffers|global-eldoc-mode-cmhh|global-eldoc-mode-enable-in-buffers|glsl-mode|gnutls-asynchronous-parameters|gnutls-ciphers|gnutls-digests|gnutls-hash-digest|gnutls-hash-mac|gnutls-macs|gnutls-symmetric-decrypt|gnutls-symmetric-encrypt|go-download-play|go-mode|godoc|gofmt-before-save|gui-backend-get-selection|gui-backend-selection-exists-p|gui-backend-selection-owner-p|gui-backend-set-selection|gv-delay-error|gv-setter|gv-synthetic-place|hack-connection-local-variables-apply|handle-args-function|handle-move-frame|hash-table-empty-p|haskell-align-imports|haskell-c2hs-mode|haskell-cabal-get-dir|haskell-cabal-get-field|haskell-cabal-mode|haskell-cabal-visit-file|haskell-collapse-mode|haskell-compile|haskell-completions-completion-at-point|haskell-decl-scan-mode|haskell-describe|haskell-doc-current-info|haskell-doc-mode|haskell-doc-show-type|haskell-ds-create-imenu-index|haskell-forward-sexp|haskell-hayoo|haskell-hoogle-lookup-from-local|haskell-hoogle|haskell-indent-mode|haskell-indentation-mode|haskell-interactive-bring|haskell-interactive-kill|haskell-interactive-mode-echo|haskell-interactive-mode-reset-error|haskell-interactive-mode-return|haskell-interactive-mode-visit-error|haskell-interactive-switch|haskell-kill-session-process|haskell-menu|haskell-mode-after-save-handler|haskell-mode-find-uses|haskell-mode-generate-tags|haskell-mode-goto-loc|haskell-mode-jump-to-def-or-tag|haskell-mode-jump-to-def|haskell-mode-jump-to-tag|haskell-mode-show-type-at)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(haskell-mode-stylish-buffer|haskell-mode-tag-find|haskell-mode-view-news|haskell-mode|haskell-move-nested-left|haskell-move-nested-right|haskell-move-nested|haskell-navigate-imports-go|haskell-navigate-imports-return|haskell-navigate-imports|haskell-process-cabal-build|haskell-process-cabal-macros|haskell-process-cabal|haskell-process-cd|haskell-process-clear|haskell-process-do-info|haskell-process-do-type|haskell-process-interrupt|haskell-process-load-file|haskell-process-load-or-reload|haskell-process-minimal-imports|haskell-process-reload-devel-main|haskell-process-reload-file|haskell-process-reload|haskell-process-restart|haskell-process-show-repl-response|haskell-process-unignore|haskell-rgrep|haskell-session-all-modules|haskell-session-change-target|haskell-session-change|haskell-session-installed-modules|haskell-session-kill|haskell-session-maybe|haskell-session-process|haskell-session-project-modules|haskell-session|haskell-sort-imports|haskell-tab-indent-mode|haskell-version|hayoo|help--analyze-key|help--binding-undefined-p|help--docstring-quote|help--filter-info-list|help--load-prefixes|help--loaded-p|help--make-usage-docstring|help--make-usage|help--read-key-sequence|help--symbol-completion-table|help-definition-prefixes|help-fns--analyze-function|help-fns-function-description-header|help-fns-short-filename|highlight-uses-mode|hoogle|hyperspec-lookup|ibuffer-jump|ido-dired-other-frame|ido-dired-other-window|ido-display-buffer-other-frame|ido-find-alternate-file-other-window|if-let\\\\*|image-dired-minor-mode|image-mode-to-text|indent--default-inside-comment|indent--funcall-widened|indent-region-line-by-line|indent-relative-first-indent-point|inferior-erlang|inferior-lfe-mode|inferior-lfe|ini-mode|insert-directory-clean|insert-directory-wildcard-in-dir-p|interactive-haskell-mode|internal--compiler-macro-cXXr|internal--syntax-propertize|internal-auto-fill|internal-default-interrupt-process|internal-echo-keystrokes-prefix|internal-handle-focus-in|isearch--describe-regexp-mode|isearch--describe-word-mode|isearch--lax-regexp-function-p|isearch--momentary-message|isearch--yank-char-or-syntax|isearch-define-mode-toggle|isearch-lazy-highlight-start|isearch-string-propertize|isearch-toggle-char-fold|isearch-update-from-string-properties|isearch-xterm-paste|isearch-yank-symbol-or-char|jison-mode|jit-lock--run-functions|js-jsx-mode|js2-highlight-unused-variables-mode|js2-imenu-extras-mode|js2-imenu-extras-setup|js2-jsx-mode|js2-minor-mode|js2-mode|json--check-position|json--decode-utf-16-surrogates|json--plist-reverse|json--plist-to-alist|json--record-path|json-advance--inliner|json-path-to-position|json-peek--inliner|json-pop--inliner|json-pretty-print-buffer-ordered|json-pretty-print-ordered|json-readtable-dispatch|json-skip-whitespace--inliner|kill-current-buffer|kmacro-keyboard-macro-p|kmacro-p|kqueue-add-watch|kqueue-rm-watch|kqueue-valid-p|langdoc-call-fun|langdoc-define-help-mode|langdoc-if-let|langdoc-insert-link|langdoc-matched-strings|langdoc-while-let|lcms-cam02-ucs|lcms-cie-de2000|lcms-jab->jch|lcms-jch->jab|lcms-jch->xyz|lcms-temp->white-point|lcms-xyz->jch|lcms2-available-p|less-css-mode|let-when-compile|lfe-indent-function|lfe-mode|lgstring-remove-glyph|libxml-available-p|line-number-display-width|lisp--el-match-keyword|lisp--el-non-funcall-position-p|lisp-adaptive-fill|lisp-indent-calc-next|lisp-indent-initial-state|lisp-indent-region|lisp-indent-state-p--cmacro|lisp-indent-state-ppss--cmacro|lisp-indent-state-ppss-point--cmacro|lisp-indent-state-ppss-point|lisp-indent-state-ppss|lisp-indent-state-p|lisp-indent-state-stack--cmacro|lisp-indent-state-stack|lisp-ppss|list-timers|literate-haskell-mode|load-user-init-file|loadhist-unload-element|logcount|lread--substitute-object-in-subtree|macroexp-macroexpand|macroexp-parse-body|macrostep-c-mode-hook|macrostep-expand|macrostep-mode|major-mode-restore|major-mode-suspend|make-condition-variable|make-empty-file|make-finalizer|make-mutex|make-nearby-temp-file|make-pipe-process|make-process|make-record|make-temp-file-internal|make-thread|make-xref-elisp-location--cmacro|make-xref-elisp-location|make-yas--exit--cmacro|make-yas--exit|make-yas--field--cmacro|make-yas--field|make-yas--mirror--cmacro|make-yas--mirror|make-yas--snippet--cmacro|make-yas--snippet|make-yas--table--cmacro|make-yas--table|map--apply-alist|map--apply-array|map--apply-hash-table|map--do-alist|map--do-array|map--into-hash-table|map--make-pcase-bindings|map--make-pcase-patterns|map--pcase-macroexpander|map--put|map-apply|map-contains-key|map-copy|map-delete|map-do|map-elt|map-empty-p|map-every-p|map-filter|map-into|map-keys-apply|map-keys|map-length|map-let|map-merge-with|map-merge|map-nested-elt|map-pairs|map-put|map-remove|map-some|map-values-apply|map-values|mapbacktrace|mapp|mark-beginning-of-buffer|mark-end-of-buffer|markdown-live-preview-mode|markdown-mode|markdown-view-mode|mc-hide-unmatched-lines-mode|mc/add-cursor-on-click|mc/edit-beginnings-of-lines|mc/edit-ends-of-lines|mc/edit-lines|mc/insert-letters|mc/insert-numbers|mc/mark-all-dwim|mc/mark-all-in-region-regexp|mc/mark-all-in-region|mc/mark-all-like-this-dwim|mc/mark-all-like-this-in-defun|mc/mark-all-like-this|mc/mark-all-symbols-like-this-in-defun|mc/mark-all-symbols-like-this|mc/mark-all-words-like-this-in-defun|mc/mark-all-words-like-this|mc/mark-more-like-this-extended|mc/mark-next-like-this-word|mc/mark-next-like-this|mc/mark-next-lines|mc/mark-next-symbol-like-this|mc/mark-next-word-like-this|mc/mark-pop|mc/mark-previous-like-this-word|mc/mark-previous-like-this|mc/mark-previous-lines|mc/mark-previous-symbol-like-this|mc/mark-previous-word-like-this|mc/mark-sgml-tag-pair|mc/reverse-regions|mc/skip-to-next-like-this|mc/skip-to-previous-like-this|mc/sort-regions|mc/toggle-cursor-on-click|mc/unmark-next-like-this|mc/unmark-previous-like-this|mc/vertical-align-with-space|mc/vertical-align|menu-bar-bottom-and-right-window-divider|menu-bar-bottom-window-divider|menu-bar-display-line-numbers-mode|menu-bar-goto-uses-etags-p|menu-bar-no-window-divider|menu-bar-right-window-divider|menu-bar-window-divider-customize|mhtml-mode|midnight-mode|minibuffer-maybe-quote-filename|minibuffer-prompt-properties--setter|mm-images-in-region-p|mocha--get-callsite-name|mocha-attach-indium|mocha-check-debugger|mocha-compilation-filter|mocha-debug-at-point|mocha-debug-file|mocha-debug-project|mocha-debugger-get|mocha-debugger-name-p|mocha-debug|mocha-find-current-test|mocha-find-project-root|mocha-generate-command|mocha-list-of-strings-p|mocha-make-imenu-alist|mocha-opts-file|mocha-realgud:nodejs-attach|mocha-run|mocha-test-at-point|mocha-test-file|mocha-test-project|mocha-toggle-imenu-function|mocha-walk-up-to-it|mode-line-default-help-echo|module-function-p|module-load|mouse--click-1-maybe-follows-link|mouse-absolute-pixel-position|mouse-drag-and-drop-region|mouse-drag-bottom-edge|mouse-drag-bottom-left-corner|mouse-drag-bottom-right-corner|mouse-drag-frame|mouse-drag-left-edge|mouse-drag-right-edge|mouse-drag-top-edge|mouse-drag-top-left-corner|mouse-drag-top-right-corner|mouse-resize-frame|move-text--at-first-line-p)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(move-text--at-last-line-p|move-text--at-penultimate-line-p|move-text--last-line-is-just-newline|move-text--total-lines|move-text-default-bindings|move-text-down|move-text-line-down|move-text-line-up|move-text-region-down|move-text-region-up|move-text-region|move-text-up|move-to-window-group-line|mule--ucs-names-annotation|multiple-cursors-mode|mutex-lock|mutex-name|mutex-unlock|mutexp|nasm-mode|newlisp-mode|newlisp-show-repl|next-error-buffer-on-selected-frame|next-error-found|next-error-select-buffer|ninja-mode|obarray-get|obarray-make|obarray-map|obarray-put|obarray-remove|obarray-size|obarrayp|occur-regexp-descr|org-columns-insert-dblock|org-duration-from-minutes|org-duration-h:mm-only-p|org-duration-p|org-duration-set-regexps|org-duration-to-minutes|org-lint|package--activate-autoloads-and-load-path|package--add-to-compatibility-table|package--append-to-alist|package--autoloads-file-name|package--build-compatibility-table|package--check-signature-content|package--download-and-read-archives|package--find-non-dependencies|package--get-deps|package--incompatible-p|package--load-files-for-activation|package--newest-p|package--prettify-quick-help-key|package--print-help-section|package--quickstart-maybe-refresh|package--read-pkg-desc|package--removable-packages|package--remove-hidden|package--save-selected-packages|package--sort-by-dependence|package--sort-deps-in-alist|package--update-downloads-in-progress|package--update-selected-packages|package--used-elsewhere-p|package--user-installed-p|package--user-selected-p|package--with-response-buffer|package-activate-all|package-archive-priority|package-autoremove|package-delete-button-action|package-desc-priority-version|package-desc-priority|package-dir-info|package-install-selected-packages|package-menu--find-and-notify-upgrades|package-menu--list-to-prompt|package-menu--mark-or-notify-upgrades|package-menu--mark-upgrades-1|package-menu--partition-transaction|package-menu--perform-transaction|package-menu--populate-new-package-list|package-menu--post-refresh|package-menu--print-info-simple|package-menu--prompt-transaction-p|package-menu-hide-package|package-menu-mode-menu|package-menu-toggle-hiding|package-quickstart-refresh|package-reinstall|pcase--edebug-match-macro|pcase--make-docstring|pcase-lambda|pcomplete/find|perl-flymake|picolisp-mode|picolisp-repl-mode|picolisp-repl|pixel-scroll-mode|pos-visible-in-window-group-p|pov-mode|powershell-mode|powershell|prefix-command-preserve-state|prefix-command-update|prettify-symbols--post-command-hook|prettify-symbols-default-compose-p|print--preprocess|process-thread|prog-first-column|project-current|project-find-file|project-find-regexp|project-or-external-find-file|project-or-external-find-regexp|proper-list-p|provided-mode-derived-p|pulse-momentary-highlight-one-line|pulse-momentary-highlight-region|quelpa|query-replace--split-string|radix-tree--insert|radix-tree--lookup|radix-tree--prefixes|radix-tree--remove|radix-tree--subtree|radix-tree-count|radix-tree-from-map|radix-tree-insert|radix-tree-iter-mappings|radix-tree-iter-subtrees|radix-tree-leaf--pcase-macroexpander|radix-tree-lookup|radix-tree-prefixes|radix-tree-subtree|read-answer|read-multiple-choice|readable-foreground-color|recenter-window-group|recentf-mode|recode-file-name|recode-region|record-window-buffer|recordp?|recover-file|recover-session-finish|recover-session|recover-this-file|rectangle-mark-mode|rectangle-number-lines|rectangular-region-mode|redirect-debugging-output|redisplay--pre-redisplay-functions|redisplay--update-region-highlight|redraw-modeline|refill-mode|reftex-all-document-files|reftex-citation|reftex-index-phrases-mode|reftex-isearch-minor-mode|reftex-mode|reftex-reset-scanning-information|regexp-builder|regexp-opt-group|region-active-p|region-bounds|region-modifiable-p|region-noncontiguous-p|register-ccl-program|register-code-conversion-map|register-definition-prefixes|register-describe-oneline|register-input-method|register-preview-default|register-preview|register-swap-out|register-to-point|register-val-describe|register-val-insert|register-val-jump-to|registerv--make--cmacro|registerv--make|registerv-data--cmacro|registerv-data|registerv-insert-func--cmacro|registerv-insert-func|registerv-jump-func--cmacro|registerv-jump-func|registerv-make|registerv-p--cmacro|registerv-print-func--cmacro|registerv-print-func|registerv-p|remember-clipboard|remember-diary-extract-entries|remember-notes|remember-other-frame|remember|remove-variable-watcher|remove-yank-excluded-properties|rename-uniquely|repeat-complex-command|repeat-matching-complex-command|repeat|replace--push-stack|replace-buffer-contents|replace-dehighlight|replace-eval-replacement|replace-highlight|replace-loop-through-replacements|replace-match-data|replace-match-maybe-edit|replace-match-string-symbols|replace-quote|replace-rectangle|replace-regexp|replace-search|replace-string|report-emacs-bug|report-errors|reporter-submit-bug-report|reposition-window|repunctuate-sentences|reset-language-environment|reset-this-command-lengths|resize-mini-window-internal|resize-temp-buffer-window|reveal-mode|reverse-region|revert-buffer--default|revert-buffer-insert-file-contents--default-function|revert-buffer-with-coding-system|rfc2104-hash|rfc822-goto-eoh|rfn-eshadow-setup-minibuffer|rfn-eshadow-sifn-equal|rfn-eshadow-update-overlay|rgrep|right-char|right-word|rlogin|rmail-input|rmail-mode|rmail-movemail-variant-p|rmail-output-as-seen|run-erlang|run-forth|run-haskell|run-lfe|run-newlisp|run-sml|rust-mode|rx--pcase-macroexpander|save-mark-and-excursion--restore|save-mark-and-excursion--save|save-mark-and-excursion|save-place-local-mode|save-place-mode|scad-mode|search-forward-help-for-help|secondary-selection-exist-p|secondary-selection-from-region|secondary-selection-to-region|secure-hash-algorithms|sed-mode|selected-window-group|seq--activate-font-lock-keywords|seq--elt-safe|seq--into-list|seq--into-string|seq--into-vector|seq--make-pcase-bindings|seq--make-pcase-patterns|seq--pcase-macroexpander|seq-contains|seq-difference|seq-do-indexed|seq-find|seq-group-by|seq-intersection|seq-into-sequence|seq-into|seq-let|seq-map-indexed|seq-mapcat|seq-mapn|seq-max|seq-min|seq-partition|seq-position|seq-random-elt|seq-set-equal-p|seq-some|seq-sort-by|seqp|set--this-command-keys|set-binary-mode|set-buffer-redisplay|set-mouse-absolute-pixel-position|set-process-thread|set-rectangular-region-anchor|set-window-group-start|shell-command--save-pos-or-erase|shell-command--set-point-after-cmd|shift-number-down|shift-number-up|slime-connect|slime-lisp-mode-hook|slime-mode|slime-scheme-mode-hook|slime-selector|slime-setup|slime|smerge-refine-regions|sml-cm-mode|sml-lex-mode|sml-mode|sml-run|sml-yacc-mode|snippet-mode|spice-mode|split-window-no-error|sql-mariadb|ssh-authorized-keys-mode|ssh-config-mode|ssh-known-hosts-mode|startup--setup-quote-display|string-distance|string-greaterp|string-version-lessp|string>|subr--with-wrapper-hook-no-warnings|switch-to-haskell|sxhash-eql|sxhash-equal|sxhash-eq|syntax-ppss--data)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(tabulated-list--col-local-max-widths|tabulated-list--get-sorter|tabulated-list-header-overlay-p|tabulated-list-line-number-width|tabulated-list-watch-line-number-width|tabulated-list-window-scroll-function|terminal-init-xterm|thing-at-point--beginning-of-sexp|thing-at-point--end-of-sexp|thing-at-point--read-from-whole-string|thread--blocker|thread-alive-p|thread-handle-event|thread-join|thread-last-error|thread-live-p|thread-name|thread-signal|thread-yield|threadp|tildify-mode|tildify-space|toml-mode|tramp-archive-autoload-file-name-regexp|tramp-register-archive-file-name-handler|tty-color-24bit|turn-on-haskell-decl-scan|turn-on-haskell-doc-mode|turn-on-haskell-doc|turn-on-haskell-indentation|turn-on-haskell-indent|turn-on-haskell-unicode-input-method|typescript-mode|uncomment-region-default-1|undo--wrap-and-run-primitive-undo|undo-amalgamate-change-group|undo-auto--add-boundary|undo-auto--boundaries|undo-auto--boundary-ensure-timer|undo-auto--boundary-timer|undo-auto--ensure-boundary|undo-auto--last-boundary-amalgamating-number|undo-auto--needs-boundary-p|undo-auto--undoable-change|undo-auto-amalgamate|universal-argument--description|universal-argument--preserve|upcase-char|upcase-dwim|url-asynchronous--cmacro|url-asynchronous|url-directory-files|url-domain|url-file-attributes|url-file-directory-p|url-file-executable-p|url-file-exists-p|url-file-handler-identity|url-file-name-all-completions|url-file-name-completion|url-file-symlink-p|url-file-truename|url-file-writable-p|url-handler-directory-file-name|url-handler-expand-file-name|url-handler-file-name-directory|url-handler-file-remote-p|url-handler-unhandled-file-name-directory|url-handlers-create-wrapper|url-handlers-set-buffer-mode|url-insert-buffer-contents|url-insert|url-run-real-handler|user-ptrp|userlock--ask-user-about-supersession-threat|vc-message-unresolved-conflicts|vc-print-branch-log|vc-push|vc-refresh-state|version-control-safe-local-p|vimrc-mode|wavefront-obj-mode|when-let\\\\*|window--adjust-process-windows|window--even-window-sizes|window--make-major-side-window-next-to|window--make-major-side-window|window--process-window-list|window--sides-check-failed|window--sides-check|window--sides-reverse-all|window--sides-reverse-frame|window--sides-reverse-on-frame-p|window--sides-reverse-side|window--sides-reverse|window--sides-verticalize-frame|window--sides-verticalize|window-absolute-body-pixel-edges|window-absolute-pixel-position|window-adjust-process-window-size-largest|window-adjust-process-window-size-smallest|window-adjust-process-window-size|window-body-edges|window-body-pixel-edges|window-divider-mode-apply|window-divider-mode|window-divider-width-valid-p|window-font-height|window-font-width|window-group-end|window-group-start|window-largest-empty-rectangle--disjoint-maximums|window-largest-empty-rectangle--maximums-1|window-largest-empty-rectangle--maximums|window-largest-empty-rectangle|window-lines-pixel-dimensions|window-main-window|window-max-chars-per-line|window-pixel-height-before-size-change|window-pixel-width-before-size-change|window-swap-states|window-system-initialization|window-toggle-side-windows|with-connection-local-profiles|with-mutex|x-load-color-file|xml-remove-comments|xref-backend-apropos|xref-backend-definitions|xref-backend-identifier-completion-table|xref-collect-matches|xref-elisp-location-file--cmacro|xref-elisp-location-file|xref-elisp-location-p--cmacro|xref-elisp-location-symbol--cmacro|xref-elisp-location-symbol|xref-elisp-location-type--cmacro|xref-elisp-location-type|xref-find-backend|xref-find-definitions-at-mouse|xref-make-elisp-location--cmacro|xref-marker-stack-empty-p|xterm--init-activate-get-selection|xterm--init-activate-set-selection|xterm--init-bracketed-paste-mode|xterm--init-focus-tracking|xterm--init-frame-title|xterm--init-modify-other-keys|xterm--pasted-text|xterm--push-map|xterm--query|xterm--read-event-for-query|xterm--report-background-handler|xterm--selection-char|xterm--suspend-tty-function|xterm--version-handler|xterm-maybe-set-dark-background-mode|xterm-paste|xterm-register-default-colors|xterm-rgb-convert-to-16bit|xterm-set-window-title-flag|xterm-set-window-title|xterm-translate-bracketed-paste|xterm-translate-focus-in|xterm-translate-focus-out|xterm-unset-window-title-flag|xwidget-webkit-browse-url|yaml-mode|yas--add-template|yas--advance-end-maybe|yas--advance-end-of-parents-maybe|yas--advance-start-maybe|yas--all-templates|yas--apply-transform|yas--auto-fill-wrapper|yas--auto-fill|yas--auto-next|yas--calculate-adjacencies|yas--calculate-group|yas--calculate-mirror-depth|yas--calculate-simple-fom-parentage|yas--check-commit-snippet|yas--collect-snippet-markers|yas--commit-snippet|yas--compute-major-mode-and-parents|yas--create-snippet-xrefs|yas--define-menu-1|yas--define-parents|yas--define-snippets-1|yas--define-snippets-2|yas--define|yas--delete-from-keymap|yas--delete-regions|yas--describe-pretty-table|yas--escape-string|yas--eval-condition|yas--eval-for-effect|yas--eval-for-string|yas--exit-marker--cmacro|yas--exit-marker|yas--exit-next--cmacro|yas--exit-next|yas--exit-p--cmacro|yas--exit-p|yas--expand-from-keymap-doc|yas--expand-from-trigger-key-doc|yas--expand-or-prompt-for-template|yas--expand-or-visit-from-menu|yas--fallback-translate-input|yas--fallback|yas--fetch|yas--field-contains-point-p|yas--field-end--cmacro|yas--field-end|yas--field-mirrors--cmacro|yas--field-mirrors|yas--field-modified-p--cmacro|yas--field-modified-p|yas--field-next--cmacro|yas--field-next|yas--field-number--cmacro|yas--field-number|yas--field-p--cmacro|yas--field-parent-field--cmacro|yas--field-parent-field|yas--field-parse-create|yas--field-probably-deleted-p|yas--field-p|yas--field-start--cmacro|yas--field-start|yas--field-text-for-display|yas--field-transform--cmacro|yas--field-transform|yas--field-update-display|yas--filter-templates-by-condition|yas--find-next-field|yas--finish-moving-snippets|yas--fom-end|yas--fom-next|yas--fom-parent-field|yas--fom-start|yas--format|yas--get-field-once|yas--get-snippet-tables|yas--get-template-by-uuid|yas--global-mode-reload-with-jit-maybe|yas--goto-saved-location|yas--guess-snippet-directories-1|yas--guess-snippet-directories|yas--indent-parse-create|yas--indent-region|yas--indent|yas--key-from-desc|yas--keybinding-beyond-yasnippet|yas--letenv|yas--load-directory-1|yas--load-directory-2|yas--load-pending-jits|yas--load-snippet-dirs|yas--load-yas-setup-file|yas--lookup-snippet-1|yas--make-control-overlay|yas--make-directory-maybe|yas--make-exit--cmacro|yas--make-exit|yas--make-field--cmacro|yas--make-field|yas--make-marker|yas--make-menu-binding|yas--make-mirror--cmacro|yas--make-mirror|yas--make-move-active-field-overlay|yas--make-move-field-protection-overlays|yas--make-snippet--cmacro|yas--make-snippet-table--cmacro|yas--make-snippet-table|yas--make-snippet|yas--make-template--cmacro|yas--make-template)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(yas--mark-this-and-children-modified|yas--markers-to-points|yas--maybe-clear-field-filter|yas--maybe-expand-from-keymap-filter|yas--maybe-expand-key-filter|yas--maybe-move-to-active-field|yas--menu-keymap-get-create|yas--message|yas--minor-mode-menu|yas--mirror-depth--cmacro|yas--mirror-depth|yas--mirror-end--cmacro|yas--mirror-end|yas--mirror-next--cmacro|yas--mirror-next|yas--mirror-p--cmacro|yas--mirror-parent-field--cmacro|yas--mirror-parent-field|yas--mirror-p|yas--mirror-start--cmacro|yas--mirror-start|yas--mirror-transform--cmacro|yas--mirror-transform|yas--mirror-update-display|yas--modes-to-activate|yas--move-to-field|yas--namehash-templates-alist|yas--on-buffer-kill|yas--on-field-overlay-modification|yas--on-protection-overlay-modification|yas--parse-template|yas--place-overlays|yas--points-to-markers|yas--post-command-handler|yas--prepare-snippets-for-move|yas--prompt-for-keys|yas--prompt-for-table|yas--prompt-for-template|yas--protect-escapes|yas--read-keybinding|yas--read-lisp|yas--read-table|yas--remove-misc-free-from-undo|yas--remove-template-by-uuid|yas--replace-all|yas--require-template-specific-condition-p|yas--restore-backquotes|yas--restore-escapes|yas--restore-marker-location|yas--restore-overlay-line-location|yas--restore-overlay-location|yas--safely-call-fun|yas--safely-run-hook|yas--save-backquotes|yas--save-restriction-and-widen|yas--scan-sexps|yas--schedule-jit|yas--show-menu-p|yas--simple-fom-create|yas--skip-and-clear-field-p|yas--skip-and-clear|yas--snapshot-marker-location|yas--snapshot-overlay-line-location|yas--snapshot-overlay-location|yas--snippet-active-field--cmacro|yas--snippet-active-field|yas--snippet-control-overlay--cmacro|yas--snippet-control-overlay|yas--snippet-create|yas--snippet-description-finish-runonce|yas--snippet-exit--cmacro|yas--snippet-exit|yas--snippet-expand-env--cmacro|yas--snippet-expand-env|yas--snippet-field-compare|yas--snippet-fields--cmacro|yas--snippet-fields|yas--snippet-find-field|yas--snippet-force-exit--cmacro|yas--snippet-force-exit|yas--snippet-id--cmacro|yas--snippet-id|yas--snippet-live-p|yas--snippet-map-markers|yas--snippet-next-id|yas--snippet-p--cmacro|yas--snippet-parse-create|yas--snippet-previous-active-field--cmacro|yas--snippet-previous-active-field|yas--snippet-p|yas--snippet-revive|yas--snippet-sort-fields|yas--snippets-at-point|yas--subdirs|yas--table-all-keys|yas--table-direct-keymap--cmacro|yas--table-direct-keymap|yas--table-get-create|yas--table-hash--cmacro|yas--table-hash|yas--table-mode|yas--table-name--cmacro|yas--table-name|yas--table-p--cmacro|yas--table-parents--cmacro|yas--table-parents|yas--table-p|yas--table-templates|yas--table-uuidhash--cmacro|yas--table-uuidhash|yas--take-care-of-redo|yas--template-can-expand-p|yas--template-condition--cmacro|yas--template-condition|yas--template-content--cmacro|yas--template-content|yas--template-expand-env--cmacro|yas--template-expand-env|yas--template-fine-group|yas--template-get-file|yas--template-group--cmacro|yas--template-group|yas--template-key--cmacro|yas--template-keybinding--cmacro|yas--template-keybinding|yas--template-key|yas--template-load-file--cmacro|yas--template-load-file|yas--template-menu-binding-pair--cmacro|yas--template-menu-binding-pair-get-create|yas--template-menu-binding-pair|yas--template-menu-managed-by-yas-define-menu|yas--template-name--cmacro|yas--template-name|yas--template-p--cmacro|yas--template-perm-group--cmacro|yas--template-perm-group|yas--template-pretty-list|yas--template-p|yas--template-save-file--cmacro|yas--template-save-file|yas--template-table--cmacro|yas--template-table|yas--template-uuid--cmacro|yas--template-uuid|yas--templates-for-key-at-point|yas--transform-mirror-parse-create|yas--undo-in-progress|yas--update-mirrors|yas--update-template-menu|yas--update-template|yas--visit-snippet-file-1|yas--warning|yas--watch-auto-fill|yas-abort-snippet|yas-about|yas-activate-extra-mode|yas-active-keys|yas-active-snippets|yas-auto-next|yas-choose-value|yas-compile-directory|yas-completing-prompt|yas-current-field|yas-deactivate-extra-mode|yas-default-from-field|yas-define-condition-cache|yas-define-menu|yas-define-snippets|yas-describe-table-by-namehash|yas-describe-tables|yas-direct-keymaps-reload|yas-dropdown-prompt|yas-escape-text|yas-exit-all-snippets|yas-exit-snippet|yas-expand-from-keymap|yas-expand-from-trigger-key|yas-expand-snippet|yas-expand|yas-field-value|yas-global-mode-check-buffers|yas-global-mode-cmhh|yas-global-mode-enable-in-buffers|yas-global-mode|yas-hippie-try-expand|yas-ido-prompt|yas-initialize|yas-insert-snippet|yas-inside-string|yas-key-to-value|yas-load-directory|yas-load-snippet-buffer-and-close|yas-load-snippet-buffer|yas-longest-key-from-whitespace|yas-lookup-snippet|yas-maybe-ido-prompt|yas-maybe-load-snippet-buffer|yas-minor-mode-on|yas-minor-mode-set-explicitly|yas-minor-mode|yas-new-snippet|yas-next-field-or-maybe-expand|yas-next-field-will-exit-p|yas-next-field|yas-no-prompt|yas-prev-field|yas-recompile-all|yas-reload-all|yas-selected-text|yas-shortest-key-until-whitespace|yas-skip-and-clear-field|yas-skip-and-clear-or-delete-char|yas-snippet-dirs|yas-snippet-mode-buffer-p|yas-substr|yas-text|yas-throw|yas-try-key-from-whitespace|yas-tryout-snippet|yas-unimplemented|yas-verify-value|yas-visit-snippet-file|yas-x-prompt|yas/abort-snippet|yas/about|yas/choose-value|yas/compile-directory|yas/completing-prompt|yas/default-from-field|yas/define-condition-cache|yas/define-menu|yas/define-snippets|yas/describe-tables|yas/direct-keymaps-reload|yas/dropdown-prompt|yas/exit-all-snippets|yas/exit-snippet|yas/expand-from-keymap|yas/expand-from-trigger-key|yas/expand-snippet|yas/expand|yas/field-value|yas/global-mode|yas/hippie-try-expand|yas/ido-prompt|yas/initialize|yas/insert-snippet|yas/inside-string|yas/key-to-value|yas/load-directory|yas/load-snippet-buffer|yas/minor-mode-on|yas/minor-mode|yas/new-snippet|yas/next-field-or-maybe-expand|yas/next-field|yas/no-prompt|yas/prev-field|yas/recompile-all|yas/reload-all|yas/selected-text|yas/skip-and-clear-or-delete-char|yas/snippet-dirs|yas/substr|yas/text|yas/throw|yas/tryout-snippet|yas/unimplemented|yas/verify-value|yas/visit-snippet-file|yas/x-prompt|yasnippet-unload-function|zap-up-to-char)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(abbrev-all-caps|abbrev-expand-function|abbrev-expansion|abbrev-file-name|abbrev-get|abbrev-insert|abbrev-map|abbrev-minor-mode-table-alist|abbrev-prefix-mark|abbrev-put|abbrev-start-location|abbrev-start-location-buffer|abbrev-symbol|abbrev-table-get|abbrev-table-name-list|abbrev-table-p|abbrev-table-put|abbreviate-file-name|abbrevs-changed|abort-recursive-edit|accept-change-group|accept-process-output|access-file|accessible-keymaps|acos|activate-change-group|activate-mark-hook|active-minibuffer-window|adaptive-fill-first-line-regexp|adaptive-fill-function|adaptive-fill-mode|adaptive-fill-regexp|add-face-text-property|add-function|add-hook|add-name-to-file|add-text-properties|add-to-history|add-to-invisibility-spec|add-to-list|add-to-ordered-list|adjust-window-trailing-edge|advice-add|advice-eval-interactive-spec|advice-function-mapc|advice-function-member-p|advice-mapc|advice-member-p|advice-remove|after-change-functions|after-change-major-mode-hook|after-find-file|after-init-hook|after-init-time|after-insert-file-functions|after-load-functions|after-make-frame-functions|after-revert-hook|after-save-hook|after-setting-font-hook|all-completions|append-to-file|apply-partially|apropos|aref|argv|arrayp|ascii-case-table|aset|ash|asin|ask-user-about-lock|ask-user-about-supersession-threat|assoc-default|assoc-string|assq|assq-delete-all|atan|atom|auto-coding-alist|auto-coding-functions|auto-coding-regexp-alist|auto-fill-chars|auto-fill-function|auto-hscroll-mode|auto-mode-alist|auto-raise-tool-bar-buttons|auto-resize-tool-bars|auto-save-default|auto-save-file-name-p|auto-save-hook|auto-save-interval|auto-save-list-file-name|auto-save-list-file-prefix|auto-save-mode|auto-save-timeout|auto-save-visited-file-name|auto-window-vscroll|autoload|autoload-do-load|autoloadp|back-to-indentation|backtrace|backtrace-debug|backtrace-frame|backup-buffer|backup-by-copying|backup-by-copying-when-linked|backup-by-copying-when-mismatch|backup-by-copying-when-privileged-mismatch|backup-directory-alist|backup-enable-predicate|backup-file-name-p|backup-inhibited|backward-button|backward-char|backward-delete-char-untabify|backward-delete-char-untabify-method|backward-list|backward-prefix-chars|backward-sexp|backward-to-indentation|backward-word|balance-windows|balance-windows-area|barf-if-buffer-read-only|base64-decode-region|base64-decode-string|base64-encode-region|base64-encode-string|batch-byte-compile|baud-rate|beep|before-change-functions|before-hack-local-variables-hook|before-init-hook|before-init-time|before-make-frame-hook|before-revert-hook|before-save-hook|beginning-of-buffer|beginning-of-defun|beginning-of-defun-function|beginning-of-line|bidi-display-reordering|bidi-paragraph-direction|bidi-string-mark-left-to-right|bindat-get-field|bindat-ip-to-string|bindat-length|bindat-pack|bindat-unpack|bitmap-spec-p|blink-cursor-alist|blink-matching-delay|blink-matching-open|blink-matching-paren|blink-matching-paren-distance|blink-paren-function|bobp|bolp|bool-vector-count-consecutive|bool-vector-count-population|bool-vector-exclusive-or|bool-vector-intersection|bool-vector-not|bool-vector-p|bool-vector-set-difference|bool-vector-subsetp|bool-vector-union|booleanp|boundp|buffer-access-fontified-property|buffer-access-fontify-functions|buffer-auto-save-file-format|buffer-auto-save-file-name|buffer-backed-up|buffer-base-buffer|buffer-chars-modified-tick|buffer-disable-undo|buffer-display-count|buffer-display-table|buffer-display-time|buffer-enable-undo|buffer-end|buffer-file-coding-system|buffer-file-format|buffer-file-name|buffer-file-number|buffer-file-truename|buffer-invisibility-spec|buffer-list|buffer-list-update-hook|buffer-live-p|buffer-local-value|buffer-local-variables|buffer-modified-p|buffer-modified-tick|buffer-name|buffer-name-history|buffer-narrowed-p|buffer-offer-save|buffer-quit-function|buffer-read-only|buffer-save-without-query|buffer-saved-size|buffer-size|buffer-stale-function|buffer-string|buffer-substring|buffer-substring-filters|buffer-substring-no-properties|buffer-swap-text|buffer-undo-list|bufferp|bury-buffer|button-activate|button-at|button-end|button-get|button-has-type-p|button-label|button-put|button-start|button-type|button-type-get|button-type-put|button-type-subtype-p|byte-boolean-vars|byte-code-function-p|byte-compile|byte-compile-dynamic|byte-compile-dynamic-docstrings|byte-compile-file|byte-recompile-directory|byte-to-position|byte-to-string|call-interactively|call-process|call-process-region|call-process-shell-command|called-interactively-p|cancel-change-group|cancel-debug-on-entry|cancel-timer|capitalize|capitalize-region|capitalize-word|case-fold-search|case-replace|case-table-p|category-docstring|category-set-mnemonics|category-table|category-table-p|ceiling|change-major-mode-after-body-hook|change-major-mode-hook|char-after|char-before|char-category-set|char-charset|char-code-property-description|char-displayable-p|char-equal|char-or-string-p|char-property-alias-alist|char-script-table|char-syntax|char-table-extra-slot|char-table-p|char-table-parent|char-table-range|char-table-subtype|char-to-string|char-width|char-width-table|characterp|charset-after|charset-list|charset-plist|charset-priority-list|charsetp|check-coding-system|check-coding-systems-region|checkdoc-minor-mode|cl|clear-abbrev-table|clear-image-cache|clear-string|clear-this-command-keys|clear-visited-file-modtime|clone-indirect-buffer|clrhash|coding-system-aliases|coding-system-change-eol-conversion|coding-system-change-text-conversion|coding-system-charset-list|coding-system-eol-type|coding-system-for-read|coding-system-for-write|coding-system-get|coding-system-list|coding-system-p|coding-system-priority-list|collapse-delayed-warnings|color-defined-p|color-gray-p|color-supported-p|color-values|combine-after-change-calls|combine-and-quote-strings|command-debug-status|command-error-function|command-execute|command-history|command-line|command-line-args|command-line-args-left|command-line-functions|command-line-processed|command-remapping|command-switch-alist|commandp|compare-buffer-substrings|compare-strings|compare-window-configurations|compile-defun|completing-read|completing-read-function|completion-at-point|completion-at-point-functions|completion-auto-help|completion-boundaries|completion-category-overrides|completion-extra-properties|completion-ignore-case|completion-ignored-extensions|completion-in-region|completion-regexp-list|completion-styles|completion-styles-alist|completion-table-case-fold|completion-table-dynamic|completion-table-in-turn|completion-table-merge|completion-table-subvert|completion-table-with-cache|completion-table-with-predicate|completion-table-with-quoting|completion-table-with-terminator|compute-motion|concat|cons-cells-consed|constrain-to-field|continue-process|controlling-tty-p|convert-standard-filename|coordinates-in-window-p|copy-abbrev-table|copy-category-table|copy-directory|copy-file|copy-hash-table|copy-keymap|copy-marker|copy-overlay|copy-region-as-kill|copy-sequence|copy-syntax-table|copysign|cos|count-lines|count-loop|count-screen-lines|count-words|create-file-buffer|create-fontset-from-fontset-spec|create-image|create-lockfiles|current-active-maps|current-bidi-paragraph-direction|current-buffer|current-case-table|current-column|current-fill-column|current-frame-configuration|current-global-map|current-idle-time|current-indentation|current-input-method|current-input-mode|current-justification|current-kill|current-left-margin|current-local-map|current-message|current-minor-mode-maps|current-prefix-arg|current-time|current-time-string|current-time-zone|current-window-configuration|current-word|cursor-in-echo-area|cursor-in-non-selected-windows|cursor-type|cust-print|custom-add-frequent-value|custom-initialize-delay|custom-known-themes|custom-reevaluate-setting|custom-set-faces|custom-set-variables|custom-theme-p|custom-theme-set-faces|custom-theme-set-variables|custom-unlispify-remove-prefixes|custom-variable-p|customize-package-emacs-version-alist|cygwin-convert-file-name-from-windows|cygwin-convert-file-name-to-windows|data-directory|date-leap-year-p|date-to-time|deactivate-mark|deactivate-mark-hook|debug|debug-ignored-errors|debug-on-entry|debug-on-error|debug-on-event|debug-on-message|debug-on-next-call|debug-on-quit|debug-on-signal|debugger|debugger-bury-or-kill|declare|declare-function|decode-char|decode-coding-inserted-region|decode-coding-region|decode-coding-string|decode-time|def-edebug-spec|defalias|default-boundp|default-directory|default-file-modes|default-frame-alist|default-input-method|default-justification|default-minibuffer-frame|default-process-coding-system|default-text-properties|default-value|define-abbrev|define-abbrev-table|define-alternatives|define-button-type|define-category|define-derived-mode|define-error|define-fringe-bitmap|define-generic-mode|define-globalized-minor-mode|define-hash-table-test|define-key|define-key-after|define-minor-mode|define-obsolete-face-alias|define-obsolete-function-alias|define-obsolete-variable-alias|define-package|define-prefix-command|defined-colors|defining-kbd-macro|defun-prompt-regexp|defvar-local|defvaralias|delay-mode-hooks|delayed-warnings-hook|delayed-warnings-list|delete|delete-and-extract-region|delete-auto-save-file-if-necessary|delete-auto-save-files|delete-backward-char|delete-blank-lines|delete-by-moving-to-trash|delete-char|delete-directory|delete-dups|delete-exited-processes|delete-field|delete-file|delete-frame|delete-frame-functions|delete-horizontal-space|delete-indentation|delete-minibuffer-contents|delete-old-versions|delete-other-windows|delete-overlay|delete-process|delete-region|delete-terminal|delete-terminal-functions|delete-to-left-margin|delete-trailing-whitespace|delete-window|delete-windows-on|delq|derived-mode-p|describe-bindings|describe-buffer-case-table|describe-categories|describe-current-display-table|describe-display-table|describe-mode|describe-prefix-bindings|describe-syntax|desktop-buffer-mode-handlers|desktop-save-buffer|destroy-fringe-bitmap|detect-coding-region|detect-coding-string|digit-argument|ding|dir-locals-class-alist|dir-locals-directory-cache|dir-locals-file|dir-locals-set-class-variables|dir-locals-set-directory-class|directory-file-name|directory-files|directory-files-and-attributes|dired-kept-versions|disable-command|disable-point-adjustment|disable-theme|disabled|disabled-command-function|disassemble|discard-input|display-backing-store|display-buffer|display-buffer-alist|display-buffer-at-bottom|display-buffer-base-action|display-buffer-below-selected|display-buffer-fallback-action|display-buffer-in-previous-window|display-buffer-no-window|display-buffer-overriding-action|display-buffer-pop-up-frame|display-buffer-pop-up-window|display-buffer-reuse-window|display-buffer-same-window|display-buffer-use-some-window|display-color-cells|display-color-p|display-completion-list|display-delayed-warnings|display-graphic-p|display-grayscale-p|display-images-p|display-message-or-buffer|display-mm-dimensions-alist|display-mm-height|display-mm-width|display-monitor-attributes-list|display-mouse-p|display-pixel-height|display-pixel-width|display-planes|display-popup-menus-p|display-save-under|display-screens|display-selections-p|display-supports-face-attributes-p|display-table-slot|display-visual-class|display-warning|dnd-protocol-alist|do-auto-save|doc-directory|documentation|documentation-property|dotimes-with-progress-reporter|double-click-fuzz|double-click-time|down-list|downcase|downcase-region|downcase-word|dump-emacs|dynamic-library-alist)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(easy-menu-define|easy-mmode-define-minor-mode|echo-area-clear-hook|echo-keystrokes|edebug|edebug-all-defs|edebug-all-forms|edebug-continue-kbd-macro|edebug-defun|edebug-display-freq-count|edebug-eval-macro-args|edebug-eval-top-level-form|edebug-global-break-condition|edebug-initial-mode|edebug-on-error|edebug-on-quit|edebug-print-circle|edebug-print-length|edebug-print-level|edebug-print-trace-after|edebug-print-trace-before|edebug-save-displayed-buffer-points|edebug-save-windows|edebug-set-global-break-condition|edebug-setup-hook|edebug-sit-for-seconds|edebug-temp-display-freq-count|edebug-test-coverage|edebug-trace|edebug-tracing|edebug-unwrap-results|edit-and-eval-command|electric-future-map|elt|emacs-build-time|emacs-init-time|emacs-lisp-docstring-fill-column|emacs-major-version|emacs-minor-version|emacs-pid|emacs-save-session-functions|emacs-session-restore|emacs-startup-hook|emacs-uptime|emacs-version|emulation-mode-map-alists|enable-command|enable-dir-local-variables|enable-local-eval|enable-local-variables|enable-multibyte-characters|enable-recursive-minibuffers|enable-theme|encode-char|encode-coding-region|encode-coding-string|encode-time|end-of-buffer|end-of-defun|end-of-defun-function|end-of-file|end-of-line|eobp|eolp|equal-including-properties|erase-buffer|error|error-conditions|error-message-string|esc-map|ESC-prefix|eval|eval-and-compile|eval-buffer|eval-current-buffer|eval-expression-debug-on-error|eval-expression-print-length|eval-expression-print-level|eval-minibuffer|eval-region|eval-when-compile|event-basic-type|event-click-count|event-convert-list|event-end|event-modifiers|event-start|eventp|ewoc-buffer|ewoc-collect|ewoc-create|ewoc-data|ewoc-delete|ewoc-enter-after|ewoc-enter-before|ewoc-enter-first|ewoc-enter-last|ewoc-filter|ewoc-get-hf|ewoc-goto-next|ewoc-goto-node|ewoc-goto-prev|ewoc-invalidate|ewoc-locate|ewoc-location|ewoc-map|ewoc-next|ewoc-nth|ewoc-prev|ewoc-refresh|ewoc-set-data|ewoc-set-hf|exec-directory|exec-path|exec-suffixes|executable-find|execute-extended-command|execute-kbd-macro|executing-kbd-macro|exit|exit-minibuffer|exit-recursive-edit|exp|expand-abbrev|expand-file-name|expt|extended-command-history|extra-keyboard-modifiers|face-all-attributes|face-attribute|face-attribute-relative-p|face-background|face-bold-p|face-differs-from-default-p|face-documentation|face-equal|face-font|face-font-family-alternatives|face-font-registry-alternatives|face-font-rescale-alist|face-font-selection-order|face-foreground|face-id|face-inverse-video-p|face-italic-p|face-list|face-name-history|face-remap-add-relative|face-remap-remove-relative|face-remap-reset-base|face-remap-set-base|face-remapping-alist|face-spec-set|face-stipple|face-underline-p|facemenu-keymap|facep|fboundp|fceiling|feature-unload-function|featurep|features|fetch-bytecode|ffloor|field-beginning|field-end|field-string|field-string-no-properties|file-accessible-directory-p|file-acl|file-already-exists|file-attributes|file-chase-links|file-coding-system-alist|file-directory-p|file-equal-p|file-error|file-executable-p|file-exists-p|file-expand-wildcards|file-extended-attributes|file-in-directory-p|file-local-copy|file-local-variables-alist|file-locked|file-locked-p|file-modes|file-modes-symbolic-to-number|file-name-absolute-p|file-name-all-completions|file-name-as-directory|file-name-base|file-name-coding-system|file-name-completion|file-name-directory|file-name-extension|file-name-handler-alist|file-name-history|file-name-nondirectory|file-name-sans-extension|file-name-sans-versions|file-newer-than-file-p|file-newest-backup|file-nlinks|file-notify-add-watch|file-notify-rm-watch|file-ownership-preserved-p|file-precious-flag|file-readable-p|file-regular-p|file-relative-name|file-remote-p|file-selinux-context|file-supersession|file-symlink-p|file-truename|file-writable-p|fill-column|fill-context-prefix|fill-forward-paragraph-function|fill-individual-paragraphs|fill-individual-varying-indent|fill-nobreak-predicate|fill-paragraph|fill-paragraph-function|fill-prefix|fill-region|fill-region-as-paragraph|fillarray|filter-buffer-substring|filter-buffer-substring-functions??|find-auto-coding|find-backup-file-name|find-buffer-visiting|find-charset-region|find-charset-string|find-coding-systems-for-charsets|find-coding-systems-region|find-coding-systems-string|find-file|find-file-hook|find-file-literally|find-file-name-handler|find-file-noselect|find-file-not-found-functions|find-file-other-window|find-file-read-only|find-file-wildcards|find-font|find-image|find-operation-coding-system|first-change-hook|fit-frame-to-buffer|fit-frame-to-buffer-margins|fit-frame-to-buffer-sizes|fit-window-to-buffer|fit-window-to-buffer-horizontally|fixup-whitespace|float|float-e|float-output-format|float-pi|float-time|floatp|floats-consed|floor|fmakunbound|focus-follows-mouse|focus-in-hook|focus-out-hook|following-char|font-at|font-face-attributes|font-family-list|font-get|font-lock-add-keywords|font-lock-beginning-of-syntax-function|font-lock-builtin-face|font-lock-comment-delimiter-face|font-lock-comment-face|font-lock-constant-face|font-lock-defaults|font-lock-doc-face|font-lock-extend-after-change-region-function|font-lock-extra-managed-props|font-lock-fontify-buffer-function|font-lock-fontify-region-function|font-lock-function-name-face|font-lock-keyword-face|font-lock-keywords|font-lock-keywords-case-fold-search|font-lock-keywords-only|font-lock-mark-block-function|font-lock-multiline|font-lock-negation-char-face|font-lock-preprocessor-face|font-lock-remove-keywords|font-lock-string-face|font-lock-syntactic-face-function|font-lock-syntax-table|font-lock-type-face|font-lock-unfontify-buffer-function|font-lock-unfontify-region-function|font-lock-variable-name-face|font-lock-warning-face|font-put|font-spec|font-xlfd-name|fontification-functions|fontp|for|force-mode-line-update|force-window-update|format|format-alist|format-find-file|format-insert-file|format-mode-line|format-network-address|format-seconds|format-time-string|format-write-file|forward-button|forward-char|forward-comment|forward-line|forward-list|forward-sexp|forward-to-indentation|forward-word|frame-alpha-lower-limit|frame-auto-hide-function|frame-char-height|frame-char-width|frame-current-scroll-bars|frame-first-window|frame-height|frame-inherited-parameters|frame-list|frame-live-p|frame-monitor-attributes|frame-parameters??|frame-pixel-height|frame-pixel-width|frame-pointer-visible-p|frame-resize-pixelwise|frame-root-window|frame-selected-window|frame-terminal|frame-title-format|frame-visible-p|frame-width|framep|frexp|fringe-bitmaps-at-pos|fringe-cursor-alist|fringe-indicator-alist|fringes-outside-margins|fround|fset|ftp-login|ftruncate|function-get|functionp|fundamental-mode|fundamental-mode-abbrev-table|gap-position|gap-size|garbage-collect|garbage-collection-messages|gc-cons-percentage|gc-cons-threshold|gc-elapsed|gcs-done|generate-autoload-cookie|generate-new-buffer|generate-new-buffer-name|generated-autoload-file|get|get-buffer|get-buffer-create|get-buffer-process|get-buffer-window|get-buffer-window-list|get-byte|get-char-code-property|get-char-property|get-char-property-and-overlay|get-charset-property|get-device-terminal|get-file-buffer|get-internal-run-time|get-largest-window|get-load-suffixes|get-lru-window|get-pos-property|get-process|get-register|get-text-property|get-unused-category|get-window-with-predicate|getenv|gethash|global-abbrev-table|global-buffers-menu-map|global-disable-point-adjustment|global-key-binding|global-map|global-mode-string|global-set-key|global-unset-key|glyph-char|glyph-face|glyph-table|glyphless-char-display|glyphless-char-display-control|goto-char|goto-map|group-gid|group-real-gid|gv-define-expander|gv-define-setter|gv-define-simple-setter|gv-letplace|hack-dir-local-variables|hack-dir-local-variables-non-file-buffer|hack-local-variables|hack-local-variables-hook|handle-shift-selection|handle-switch-frame|hash-table-count|hash-table-p|hash-table-rehash-size|hash-table-rehash-threshold|hash-table-size|hash-table-test|hash-table-weakness|header-line-format|help-buffer|help-char|help-command|help-event-list|help-form|help-map|help-setup-xref|help-window-select|Helper-describe-bindings|Helper-help|Helper-help-map|history-add-new-input|history-delete-duplicates|history-length)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(icon-title-format|iconify-frame|identity|ignore|ignore-errors|ignore-window-parameters|ignored-local-variables|image-animate|image-animate-timer|image-cache-eviction-delay|image-current-frame|image-default-frame-delay|image-flush|image-format-suffixes|image-load-path|image-load-path-for-library|image-mask-p|image-minimum-frame-delay|image-multi-frame-p|image-show-frame|image-size|image-type-available-p|image-types|imagemagick-enabled-types|imagemagick-types|imagemagick-types-inhibit|imenu-add-to-menubar|imenu-case-fold-search|imenu-create-index-function|imenu-extract-index-name-function|imenu-generic-expression|imenu-prev-index-position-function|imenu-syntax-alist|inc|indent-according-to-mode|indent-code-rigidly|indent-for-tab-command|indent-line-function|indent-region|indent-region-function|indent-relative|indent-relative-maybe|indent-rigidly|indent-tabs-mode|indent-to|indent-to-left-margin|indicate-buffer-boundaries|indicate-empty-lines|indirect-function|indirect-variable|inhibit-default-init|inhibit-eol-conversion|inhibit-field-text-motion|inhibit-file-name-handlers|inhibit-file-name-operation|inhibit-iso-escape-detection|inhibit-local-variables-regexps|inhibit-modification-hooks|inhibit-null-byte-detection|inhibit-point-motion-hooks|inhibit-quit|inhibit-read-only|inhibit-splash-screen|inhibit-startup-echo-area-message|inhibit-startup-message|inhibit-startup-screen|inhibit-x-resources|init-file-user|initial-buffer-choice|initial-environment|initial-frame-alist|initial-major-mode|initial-scratch-message|initial-window-system|input-decode-map|input-method-alist|input-method-function|input-pending-p|insert|insert-abbrev-table-description|insert-and-inherit|insert-before-markers|insert-before-markers-and-inherit|insert-buffer|insert-buffer-substring|insert-buffer-substring-as-yank|insert-buffer-substring-no-properties|insert-button|insert-char|insert-default-directory|insert-directory|insert-directory-program|insert-file-contents|insert-file-contents-literally|insert-for-yank|insert-image|insert-register|insert-sliced-image|insert-text-button|installation-directory|integer-or-marker-p|integerp|interactive-form|intern|intern-soft|interpreter-mode-alist|interprogram-cut-function|interprogram-paste-function|interrupt-process|intervals-consed|invalid-function|invalid-read-syntax|invalid-regexp|invert-face|invisible-p|invocation-directory|invocation-name|isnan|jit-lock-register|jit-lock-unregister|just-one-space|justify-current-line|kbd|kbd-macro-termination-hook|kept-new-versions|kept-old-versions|key-binding|key-description|key-translation-map|keyboard-coding-system|keyboard-quit|keyboard-translate|keyboard-translate-table|keymap-parent|keymap-prompt|keymapp|keywordp|kill-all-local-variables|kill-append|kill-buffer|kill-buffer-hook|kill-buffer-query-functions|kill-emacs|kill-emacs-hook|kill-emacs-query-functions|kill-local-variable|kill-new|kill-process|kill-read-only-ok|kill-region|kill-ring|kill-ring-max|kill-ring-yank-pointer|kmacro-keymap|last-abbrev|last-abbrev-location|last-abbrev-text|last-buffer|last-coding-system-used|last-command|last-command-event|last-event-frame|last-input-event|last-kbd-macro|last-nonmenu-event|last-prefix-arg|last-repeatable-command|lax-plist-get|lax-plist-put|lazy-completion-table|ldexp|left-fringe-width|left-margin|left-margin-width|lexical-binding|libxml-parse-html-region|libxml-parse-xml-region|line-beginning-position|line-end-position|line-move-ignore-invisible|line-number-at-pos|line-prefix|line-spacing|lisp-mode-abbrev-table|list-buffers-directory|list-charset-chars|list-fonts|list-load-path-shadows|list-processes|list-system-processes|listify-key-sequence|ln|load-average|load-file|load-file-name|load-file-rep-suffixes|load-history|load-in-progress|load-library|load-path|load-prefer-newer|load-read-function|load-suffixes|load-theme|local-abbrev-table|local-function-key-map|local-key-binding|local-set-key|local-unset-key|local-variable-if-set-p|local-variable-p|locale-coding-system|locale-info|locate-file|locate-library|locate-user-emacs-file|lock-buffer|log|logand|logb|logior|lognot|logxor|looking-at|looking-at-p|looking-back|lookup-key|lower-frame|lsh|lwarn|macroexpand|macroexpand-all|macrop|magic-fallback-mode-alist|magic-mode-alist|mail-host-address|major-mode|make-abbrev-table|make-auto-save-file-name|make-backup-file-name|make-backup-file-name-function|make-backup-files|make-bool-vector|make-button|make-byte-code|make-category-set|make-category-table|make-char-table|make-composed-keymap|make-directory|make-display-table|make-frame|make-frame-invisible|make-frame-on-display|make-frame-visible|make-glyph-code|make-hash-table|make-help-screen|make-indirect-buffer|make-keymap|make-local-variable|make-marker|make-network-process|make-obsolete|make-obsolete-variable|make-overlay|make-progress-reporter|make-ring|make-serial-process|make-sparse-keymap|make-string|make-symbol|make-symbolic-link|make-syntax-table|make-temp-file|make-temp-name|make-text-button|make-translation-table|make-translation-table-from-alist|make-translation-table-from-vector|make-variable-buffer-local|make-vector|makehash|makunbound|map-char-table|map-charset-chars|map-keymap|map-y-or-n-p|mapatoms|mapconcat|maphash|mark|mark-active|mark-even-if-inactive|mark-marker|mark-ring|mark-ring-max|marker-buffer|marker-insertion-type|marker-position|markerp|match-beginning|match-data|match-end|match-string|match-string-no-properties|match-substitute-replacement|max-char|max-image-size|max-lisp-eval-depth|max-mini-window-height|max-specpdl-size|maximize-window|md5|member-ignore-case|memory-full|memory-limit|memory-use-counts|memql??|menu-bar-file-menu|menu-bar-final-items|menu-bar-help-menu|menu-bar-options-menu|menu-bar-tools-menu|menu-bar-update-hook|menu-item|menu-prompt-more-char|merge-face-attribute|message|message-box|message-log-max|message-or-box|message-truncate-lines|messages-buffer|meta-prefix-char|minibuffer-allow-text-properties|minibuffer-auto-raise|minibuffer-complete|minibuffer-complete-and-exit|minibuffer-complete-word|minibuffer-completion-confirm|minibuffer-completion-help|minibuffer-completion-predicate|minibuffer-completion-table|minibuffer-confirm-exit-commands|minibuffer-contents|minibuffer-contents-no-properties|minibuffer-depth|minibuffer-exit-hook|minibuffer-frame-alist|minibuffer-help-form|minibuffer-history|minibuffer-inactive-mode|minibuffer-local-completion-map|minibuffer-local-filename-completion-map|minibuffer-local-map|minibuffer-local-must-match-map|minibuffer-local-ns-map|minibuffer-local-shell-command-map|minibuffer-message|minibuffer-message-timeout|minibuffer-prompt|minibuffer-prompt-end|minibuffer-prompt-width|minibuffer-scroll-window|minibuffer-selected-window|minibuffer-setup-hook|minibuffer-window|minibuffer-window-active-p|minibufferp|minimize-window|minor-mode-alist|minor-mode-key-binding|minor-mode-list|minor-mode-map-alist|minor-mode-overriding-map-alist|misc-objects-consed|mkdir|mod|mode-line-buffer-identification|mode-line-client|mode-line-coding-system-map|mode-line-column-line-number-mode-map|mode-line-format|mode-line-frame-identification|mode-line-input-method-map|mode-line-modes|mode-line-modified|mode-line-mule-info|mode-line-position|mode-line-process|mode-line-remote|mode-name|mode-specific-map|modify-all-frames-parameters|modify-category-entry|modify-frame-parameters|modify-syntax-entry|momentary-string-display|most-negative-fixnum|most-positive-fixnum|mouse-1-click-follows-link|mouse-appearance-menu-map|mouse-leave-buffer-hook|mouse-movement-p|mouse-on-link-p|mouse-pixel-position|mouse-position|mouse-position-function|mouse-wheel-down-event|mouse-wheel-up-event|move-marker|move-overlay|move-point-visually|move-to-column|move-to-left-margin|move-to-window-line|movemail|mule-keymap|multi-query-replace-map|multibyte-char-to-unibyte|multibyte-string-p|multibyte-syntax-as-symbol|multiple-frames|narrow-map|narrow-to-page|narrow-to-region|natnump|negative-argument|network-coding-system-alist|network-interface-info|network-interface-list|newline|newline-and-indent|next-button|next-char-property-change|next-complete-history-element|next-frame|next-history-element|next-matching-history-element|next-overlay-change|next-property-change|next-screen-context-lines|next-single-char-property-change|next-single-property-change|next-window|nlistp|no-byte-compile|no-catch|no-redraw-on-reenter|noninteractive|noreturn|normal-auto-fill-function|normal-backup-enable-predicate|normal-mode|not-modified|notifications-close-notification|notifications-get-capabilities|notifications-get-server-information|notifications-notify|num-input-keys|num-nonmacro-input-events|number-or-marker-p|number-sequence|number-to-string|numberp|obarray|one-window-p|only-global-abbrevs|open-dribble-file|open-network-stream|open-paren-in-column-0-is-defun-start|open-termscript|other-buffer|other-window|other-window-scroll-buffer|overflow-newline-into-fringe|overlay-arrow-position|overlay-arrow-string|overlay-arrow-variable-list|overlay-buffer|overlay-end|overlay-get|overlay-properties|overlay-put|overlay-recenter|overlay-start|overlayp|overlays-at|overlays-in|overriding-local-map|overriding-local-map-menu-flag|overriding-terminal-local-map|overwrite-mode|package-archive-upload-base|package-archives|package-initialize|package-upload-buffer|package-upload-file|page-delimiter|paragraph-separate|paragraph-start|parse-colon-path|parse-partial-sexp|parse-sexp-ignore-comments|parse-sexp-lookup-properties|path-separator|perform-replace|play-sound|play-sound-file|play-sound-functions|plist-get|plist-member|plist-put|point|point-marker|point-max|point-max-marker|point-min|point-min-marker|pop-mark|pop-to-buffer|pop-up-frame-alist|pop-up-frame-function|pop-up-frames|pop-up-windows|pos-visible-in-window-p|position-bytes|posix-looking-at|posix-search-backward|posix-search-forward|posix-string-match|posn-actual-col-row|posn-area|posn-at-point|posn-at-x-y|posn-col-row|posn-image|posn-object|posn-object-width-height|posn-object-x-y|posn-point|posn-string|posn-timestamp|posn-window|posn-x-y|posnp|post-command-hook|post-gc-hook|post-self-insert-hook|pp|pre-command-hook|pre-redisplay-function|preceding-char|prefix-arg|prefix-help-command|prefix-numeric-value|preloaded-file-list|prepare-change-group|previous-button|previous-char-property-change|previous-complete-history-element|previous-frame|previous-history-element|previous-matching-history-element|previous-overlay-change|previous-property-change|previous-single-char-property-change|previous-single-property-change|previous-window|primitive-undo|prin1-to-string|print-circle|print-continuous-numbering|print-escape-multibyte|print-escape-newlines|print-escape-nonascii|print-gensym|print-length|print-level|print-number-table|print-quoted|printable-chars|process-adaptive-read-buffering|process-attributes|process-buffer|process-coding-system|process-coding-system-alist|process-command|process-connection-type|process-contact|process-datagram-address|process-environment|process-exit-status|process-file|process-file-shell-command|process-file-side-effects|process-filter|process-get|process-id|process-kill-buffer-query-function|process-lines|process-list|process-live-p|process-mark|process-name|process-plist|process-put|process-query-on-exit-flag|process-running-child-p|process-send-eof|process-send-region|process-send-string|process-sentinel|process-status|process-tty-name|process-type|processp|prog-mode|prog-mode-hook|progress-reporter-done|progress-reporter-force-update|progress-reporter-update|propertize|provide|provide-theme|pure-bytes-used|purecopy|purify-flag|push-button|push-mark|put|put-char-code-property|put-charset-property|put-image|put-text-property|puthash|query-replace-history|query-replace-map|quietly-read-abbrev-file|quit-flag|quit-process|quit-restore-window|quit-window|raise-frame|random|rassq|rassq-delete-all|re-builder|re-search-backward|re-search-forward|read|read-buffer|read-buffer-completion-ignore-case|read-buffer-function|read-char|read-char-choice|read-char-exclusive|read-circle|read-coding-system|read-color|read-command|read-directory-name|read-event|read-expression-history|read-file-modes|read-file-name|read-file-name-completion-ignore-case|read-file-name-function|read-from-minibuffer|read-from-string|read-input-method-name|read-kbd-macro|read-key|read-key-sequence|read-key-sequence-vector|read-minibuffer|read-no-blanks-input|read-non-nil-coding-system|read-only-mode|read-passwd|read-quoted-char|read-regexp|read-regexp-defaults-function|read-shell-command|read-string|read-variable|real-last-command|recent-auto-save-p|recent-keys|recenter|recenter-positions|recenter-redisplay|recenter-top-bottom|recursion-depth|recursive-edit|redirect-frame-focus|redisplay|redraw-display|redraw-frame|regexp-history|regexp-opt|regexp-opt-charset|regexp-opt-depth|regexp-quote|region-beginning|region-end|register-alist|register-read-with-preview|reindent-then-newline-and-indent|remhash|remote-file-name-inhibit-cache|remove|remove-from-invisibility-spec|remove-function|remove-hook|remove-images|remove-list-of-text-properties|remove-overlays|remove-text-properties|remq|rename-auto-save-file|rename-buffer|rename-file|replace-buffer-in-windows|replace-match|replace-re-search-function|replace-regexp-in-string|replace-search-function|require|require-final-newline|restore-buffer-modified-p|resume-tty|resume-tty-functions|revert-buffer|revert-buffer-function|revert-buffer-in-progress-p|revert-buffer-insert-file-contents-function|revert-without-query|right-fringe-width|right-margin-width|ring-bell-function|ring-copy|ring-elements|ring-empty-p|ring-insert|ring-insert-at-beginning|ring-length|ring-p|ring-ref|ring-remove|ring-size|risky-local-variable-p|rm|round|run-at-time|run-hook-with-args|run-hook-with-args-until-failure|run-hook-with-args-until-success|run-hooks|run-mode-hooks|run-with-idle-timer)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(safe-local-eval-forms|safe-local-variable-p|safe-local-variable-values|same-window-buffer-names|same-window-p|same-window-regexps|save-abbrevs|save-buffer|save-buffer-coding-system|save-current-buffer|save-excursion|save-match-data|save-restriction|save-selected-window|save-some-buffers|save-window-excursion|scalable-fonts-allowed|scan-lists|scan-sexps|scroll-bar-event-ratio|scroll-bar-mode|scroll-bar-scale|scroll-bar-width|scroll-conservatively|scroll-down|scroll-down-aggressively|scroll-down-command|scroll-error-top-bottom|scroll-left|scroll-margin|scroll-other-window|scroll-preserve-screen-position|scroll-right|scroll-step|scroll-up|scroll-up-aggressively|scroll-up-command|search-backward|search-failed|search-forward|search-map|search-spaces-regexp|seconds-to-time|secure-hash|select-frame|select-frame-set-input-focus|select-safe-coding-system|select-safe-coding-system-accept-default-p|select-window|selected-frame|selected-window|selection-coding-system|selective-display|selective-display-ellipses|self-insert-and-exit|self-insert-command|send-string-to-terminal|sentence-end|sentence-end-double-space|sentence-end-without-period|sentence-end-without-space|sequencep|serial-process-configure|serial-term|set-advertised-calling-convention|set-auto-coding|set-auto-mode|set-buffer|set-buffer-auto-saved|set-buffer-major-mode|set-buffer-modified-p|set-buffer-multibyte|set-case-syntax|set-case-syntax-delims|set-case-syntax-pair|set-case-table|set-category-table|set-char-table-extra-slot|set-char-table-parent|set-char-table-range|set-charset-priority|set-coding-system-priority|set-default|set-default-file-modes|set-display-table-slot|set-face-attribute|set-face-background|set-face-bold|set-face-font|set-face-foreground|set-face-inverse-video|set-face-italic|set-face-stipple|set-face-underline|set-file-acl|set-file-extended-attributes|set-file-modes|set-file-selinux-context|set-file-times|set-fontset-font|set-frame-configuration|set-frame-height|set-frame-parameter|set-frame-position|set-frame-selected-window|set-frame-size|set-frame-width|set-fringe-bitmap-face|set-input-method|set-input-mode|set-keyboard-coding-system|set-keymap-parent|set-left-margin|set-mark|set-marker|set-marker-insertion-type|set-match-data|set-minibuffer-window|set-mouse-pixel-position|set-mouse-position|set-network-process-option|set-process-buffer|set-process-coding-system|set-process-datagram-address|set-process-filter|set-process-plist|set-process-query-on-exit-flag|set-process-sentinel|set-register|set-right-margin|set-standard-case-table|set-syntax-table|set-terminal-coding-system|set-terminal-parameter|set-text-properties|set-transient-map|set-visited-file-modtime|set-visited-file-name|set-window-buffer|set-window-combination-limit|set-window-configuration|set-window-dedicated-p|set-window-display-table|set-window-fringes|set-window-hscroll|set-window-margins|set-window-next-buffers|set-window-parameter|set-window-point|set-window-prev-buffers|set-window-scroll-bars|set-window-start|set-window-vscroll|setenv|setplist|setq-default|setq-local|shell-command-history|shell-command-to-string|shell-quote-argument|show-help-function|shr-insert-document|shrink-window-if-larger-than-buffer|signal|signal-process|sin|single-key-description|sit-for|site-run-file|skip-chars-backward|skip-chars-forward|skip-syntax-backward|skip-syntax-forward|sleep-for|small-temporary-file-directory|smie-bnf->prec2|smie-close-block|smie-config|smie-config-guess|smie-config-local|smie-config-save|smie-config-set-indent|smie-config-show-indent|smie-down-list|smie-merge-prec2s|smie-prec2->grammar|smie-precs->prec2|smie-rule-bolp|smie-rule-hanging-p|smie-rule-next-p|smie-rule-parent|smie-rule-parent-p|smie-rule-prev-p|smie-rule-separator|smie-rule-sibling-p|smie-setup|Snarf-documentation|sort|sort-columns|sort-fields|sort-fold-case|sort-lines|sort-numeric-base|sort-numeric-fields|sort-pages|sort-paragraphs|sort-regexp-fields|sort-subr|special-event-map|special-form-p|special-mode|special-variable-p|split-height-threshold|split-string|split-string-and-unquote|split-string-default-separators|split-width-threshold|split-window|split-window-below|split-window-keep-point|split-window-preferred-function|split-window-right|split-window-sensibly|sqrt|standard-case-table|standard-category-table|standard-display-table|standard-input|standard-output|standard-syntax-table|standard-translation-table-for-decode|standard-translation-table-for-encode|start-file-process|start-file-process-shell-command|start-process|start-process-shell-command|stop-process|store-match-data|store-substring|string|string-as-multibyte|string-as-unibyte|string-bytes|string-chars-consed|string-equal|string-lessp|string-match|string-match-p|string-or-null-p|string-prefix-p|string-suffix-p|string-to-char|string-to-int|string-to-multibyte|string-to-number|string-to-syntax|string-to-unibyte|string-width|string<|string=|stringp|strings-consed|subr-arity|subrp|subst-char-in-region|substitute-command-keys|substitute-in-file-name|substitute-key-definition|substring|substring-no-properties|suppress-keymap|suspend-emacs|suspend-frame|suspend-hook|suspend-resume-hook|suspend-tty|suspend-tty-functions|switch-to-buffer|switch-to-buffer-other-frame|switch-to-buffer-other-window|switch-to-buffer-preserve-window-point|switch-to-next-buffer|switch-to-prev-buffer|switch-to-visible-buffer|sxhash|symbol-file|symbol-function|symbol-name|symbol-plist|symbol-value|symbolp|symbols-consed|syntax-after|syntax-begin-function|syntax-class|syntax-ppss|syntax-ppss-flush-cache|syntax-ppss-toplevel-pos|syntax-propertize-extend-region-functions|syntax-propertize-function|syntax-table|syntax-table-p|system-configuration|system-groups|system-key-alist|system-messages-locale|system-name|system-time-locale|system-type|system-users|tab-always-indent|tab-stop-list|tab-to-tab-stop|tab-width|tabulated-list-entries|tabulated-list-format|tabulated-list-init-header|tabulated-list-mode|tabulated-list-print|tabulated-list-printer|tabulated-list-revert-hook|tabulated-list-sort-key|tan|temacs|temp-buffer-setup-hook|temp-buffer-show-function|temp-buffer-show-hook|temp-buffer-window-setup-hook|temp-buffer-window-show-hook|temporary-file-directory|term-file-prefix|terminal-coding-system|terminal-list|terminal-live-p|terminal-name|terminal-parameters??|terpri|test-completion|testcover-mark-all|testcover-next-mark|testcover-start|text-char-description|text-mode|text-mode-abbrev-table|text-properties-at|text-property-any|text-property-default-nonsticky|text-property-not-all|thing-at-point|this-command|this-command-keys|this-command-keys-shift-translated|this-command-keys-vector|this-original-command|three-step-help|time-add|time-less-p|time-subtract|time-to-day-in-year|time-to-days|timer-max-repeats|toggle-enable-multibyte-characters|tool-bar-add-item|tool-bar-add-item-from-menu|tool-bar-border|tool-bar-button-margin|tool-bar-button-relief|tool-bar-local-item-from-menu|tool-bar-map|top-level|tq-close|tq-create|tq-enqueue|track-mouse|transient-mark-mode|translate-region|translation-table-for-input|transpose-regions|truncate|truncate-lines|truncate-partial-width-windows|truncate-string-to-width|try-completion|tty-color-alist|tty-color-approximate|tty-color-clear|tty-color-define|tty-color-translate|tty-erase-char|tty-setup-hook|tty-top-frame|type-of|unbury-buffer|undefined|underline-minimum-offset|undo-ask-before-discard|undo-boundary|undo-in-progress|undo-limit|undo-outer-limit|undo-strong-limit|unhandled-file-name-directory|unibyte-char-to-multibyte|unibyte-string|unicode-category-table|unintern|universal-argument|universal-argument-map|unload-feature|unload-feature-special-hooks|unlock-buffer|unread-command-events|unsafep|up-list|upcase|upcase-initials|upcase-region|upcase-word|update-directory-autoloads|update-file-autoloads|use-empty-active-region|use-global-map|use-hard-newlines|use-local-map|use-region-p|user-emacs-directory|user-error|user-full-name|user-init-file|user-login-name|user-mail-address|user-real-login-name|user-real-uid|user-uid|values|vc-mode|vc-prefix-map|vconcat|vector|vector-cells-consed|vectorp|verify-visited-file-modtime|version-control|vertical-motion|vertical-scroll-bar|view-register|visible-bell|visible-frame-list|visited-file-modtime|void-function|void-text-area-pointer|waiting-for-user-input-p|walk-windows|warn|warning-fill-prefix|warning-levels|warning-minimum-level|warning-minimum-log-level|warning-prefix-function|warning-series|warning-suppress-log-types|warning-suppress-types|warning-type-format|where-is-internal|while-no-input|wholenump|widen|window-absolute-pixel-edges|window-at|window-body-height|window-body-size|window-body-width|window-bottom-divider-width|window-buffer|window-child|window-combination-limit|window-combination-resize|window-combined-p|window-configuration-change-hook|window-configuration-frame|window-configuration-p|window-current-scroll-bars|window-dedicated-p|window-display-table|window-edges|window-end|window-frame|window-fringes|window-full-height-p|window-full-width-p|window-header-line-height|window-hscroll|window-in-direction|window-inside-absolute-pixel-edges|window-inside-edges|window-inside-pixel-edges|window-left-child|window-left-column|window-line-height|window-list|window-live-p|window-margins|window-min-height|window-min-size|window-min-width|window-minibuffer-p|window-mode-line-height|window-next-buffers|window-next-sibling|window-parameters??|window-parent|window-persistent-parameters|window-pixel-edges|window-pixel-height|window-pixel-left|window-pixel-top|window-pixel-width|window-point|window-point-insertion-type|window-prev-buffers|window-prev-sibling|window-resizable|window-resize|window-resize-pixelwise|window-right-divider-width|window-scroll-bar-width|window-scroll-bars|window-scroll-functions|window-setup-hook|window-size-change-functions|window-size-fixed|window-start|window-state-get|window-state-put|window-system|window-system-initialization-alist|window-text-change-functions|window-text-pixel-size|window-top-child|window-top-line|window-total-height|window-total-size|window-total-width|window-tree|window-valid-p|window-vscroll|windowp|with-case-table|with-coding-priority|with-current-buffer|with-current-buffer-window|with-demoted-errors|with-eval-after-load|with-help-window|with-local-quit|with-no-warnings|with-output-to-string|with-output-to-temp-buffer|with-selected-window|with-syntax-table|with-temp-buffer|with-temp-buffer-window|with-temp-file|with-temp-message|with-timeout|word-search-backward|word-search-backward-lax|word-search-forward|word-search-forward-lax|word-search-regexp|words-include-escapes|wrap-prefix|write-abbrev-file|write-char|write-contents-functions|write-file|write-file-functions|write-region|write-region-annotate-functions|write-region-post-annotation-function|wrong-number-of-arguments|wrong-type-argument|x-alt-keysym|x-alternatives-map|x-bitmap-file-path|x-close-connection|x-color-defined-p|x-color-values|x-defined-colors|x-display-color-p|x-display-list|x-dnd-known-types|x-dnd-test-function|x-dnd-types-alist|x-family-fonts|x-get-resource|x-get-selection|x-hyper-keysym|x-list-fonts|x-meta-keysym|x-open-connection|x-parse-geometry|x-pointer-shape|x-popup-dialog|x-popup-menu|x-resource-class|x-resource-name|x-sensitive-text-pointer-shape|x-server-vendor|x-server-version|x-set-selection|x-setup-function-keys|x-super-keysym|y-or-n-p|y-or-n-p-with-timeout|yank|yank-excluded-properties|yank-handled-properties|yank-pop|yank-undo-function|yes-or-no-p|zerop|zlib-available-p|zlib-decompress-region)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:mocha--other-js2-imenu-function|mocha-command|mocha-debug-port|mocha-debuggers?|mocha-environment-variables|mocha-imenu-functions|mocha-options|mocha-project-test-directory|mocha-reporter|mocha-test-definition-nodes|mocha-which-node|node-error-regexp-alist|node-error-regexp)(?=[()\\\\s]|$)","name":"support.variable.emacs.lisp"},{"match":"(?<=[()]|^)(?:define-modify-macro|define-setf-method|defsetf|eval-when-compile|flet|labels|lexical-let\\\\*?|cl-(?:acons|adjoin|assert|assoc|assoc-if|assoc-if-not|block|caddr|callf2??|case|ceiling|check-type|coerce|compiler-macroexpand|concatenate|copy-list|count|count-if|count-if-not|decf|declaim|declare|define-compiler-macro|defmacro|defstruct|defsubst|deftype|defun|delete|delete-duplicates|delete-if|delete-if-not|destructuring-bind|do\\\\*?|do-all-symbols|do-symbols|dolist|dotimes|ecase|endp|equalp|etypecase|eval-when|evenp|every|fill|find|find-if|find-if-not|first|flet|float-limits|floor|function|gcd|gensym|gentemp|getf?|incf|intersection|isqrt|labels|lcm|ldiff|letf\\\\*?|list\\\\*|list-length|load-time-value|locally|loop|macrolet|make-random-state|mapc??|mapcan|mapcar|mapcon|mapl|maplist|member|member-if|member-if-not|merge|minusp|mismatch|mod|multiple-value-bind|multiple-value-setq|nintersection|notany|notevery|nset-difference|nset-exclusive-or|nsublis|nsubst|nsubst-if|nsubst-if-not|nsubstitute|nsubstitute-if|nsubstitute-if-not|nunion|oddp|pairlis|plusp|position|position-if|position-if-not|prettyexpand|proclaim|progv|psetf|psetq|pushnew|random|random-state-p|rassoc|rassoc-if|rassoc-if-not|reduce|remf?|remove|remove-duplicates|remove-if|remove-if-not|remprop|replace|rest|return|return-from|rotatef|round|search|set-difference|set-exclusive-or|shiftf|some|sort|stable-sort|sublis|subseq|subsetp|subst|subst-if|subst-if-not|substitute|substitute-if|substitute-if-not|symbol-macrolet|tagbody|tailp|the|tree-equal|truncate|typecase|typep|union))(?=[()\\\\s]|$)","name":"support.function.cl-lib.emacs.lisp"},{"match":"(?<=[()]|^)(?:\\\\*table--cell-backward-kill-paragraph|\\\\*table--cell-backward-kill-sentence|\\\\*table--cell-backward-kill-sexp|\\\\*table--cell-backward-kill-word|\\\\*table--cell-backward-paragraph|\\\\*table--cell-backward-sentence|\\\\*table--cell-backward-word|\\\\*table--cell-beginning-of-buffer|\\\\*table--cell-beginning-of-line|\\\\*table--cell-center-line|\\\\*table--cell-center-paragraph|\\\\*table--cell-center-region|\\\\*table--cell-clipboard-yank|\\\\*table--cell-copy-region-as-kill|\\\\*table--cell-dabbrev-completion|\\\\*table--cell-dabbrev-expand|\\\\*table--cell-delete-backward-char|\\\\*table--cell-delete-char|\\\\*table--cell-delete-region|\\\\*table--cell-describe-bindings|\\\\*table--cell-describe-mode|\\\\*table--cell-end-of-buffer|\\\\*table--cell-end-of-line|\\\\*table--cell-fill-paragraph|\\\\*table--cell-forward-paragraph|\\\\*table--cell-forward-sentence|\\\\*table--cell-forward-word|\\\\*table--cell-insert|\\\\*table--cell-kill-line|\\\\*table--cell-kill-paragraph|\\\\*table--cell-kill-region|\\\\*table--cell-kill-ring-save|\\\\*table--cell-kill-sentence|\\\\*table--cell-kill-sexp|\\\\*table--cell-kill-word|\\\\*table--cell-move-beginning-of-line|\\\\*table--cell-move-end-of-line|\\\\*table--cell-newline-and-indent|\\\\*table--cell-newline|\\\\*table--cell-open-line|\\\\*table--cell-quoted-insert|\\\\*table--cell-self-insert-command|\\\\*table--cell-yank-clipboard-selection|\\\\*table--cell-yank|\\\\*table--present-cell-popup-menu|-cvs-create-fileinfo--cmacro|-cvs-create-fileinfo|-cvs-flags-make--cmacro|-cvs-flags-make|1\\\\+|1-|1value|2C-associate-buffer|2C-associated-buffer|2C-autoscroll|2C-command|2C-dissociate|2C-enlarge-window-horizontally|2C-merge|2C-mode|2C-newline|2C-other|2C-shrink-window-horizontally|2C-split|2C-toggle-autoscroll|2C-two-columns|5x5-bol|5x5-cell|5x5-copy-grid|5x5-crack-mutating-best|5x5-crack-mutating-current|5x5-crack-randomly|5x5-crack-xor-mutate|5x5-crack|5x5-defvar-local|5x5-down|5x5-draw-grid-end|5x5-draw-grid|5x5-eol|5x5-first|5x5-flip-cell|5x5-flip-current|5x5-grid-to-vec|5x5-grid-value|5x5-last|5x5-left|5x5-log-init|5x5-log|5x5-made-move|5x5-make-move|5x5-make-mutate-best|5x5-make-mutate-current|5x5-make-new-grid|5x5-make-random-grid|5x5-make-random-solution|5x5-make-xor-with-mutation|5x5-mode-menu|5x5-mode|5x5-mutate-solution|5x5-new-game|5x5-play-solution|5x5-position-cursor|5x5-quit-game|5x5-randomize|5x5-right|5x5-row-value|5x5-set-cell|5x5-solve-rotate-left|5x5-solve-rotate-right|5x5-solve-suggest|5x5-solver|5x5-up|5x5-vec-to-grid|5x5-xor|5x5-y-or-n-p|5x5|Buffer-menu--pretty-file-name|Buffer-menu--pretty-name|Buffer-menu--unmark|Buffer-menu-1-window|Buffer-menu-2-window|Buffer-menu-backup-unmark|Buffer-menu-beginning|Buffer-menu-buffer|Buffer-menu-bury|Buffer-menu-delete-backwards|Buffer-menu-delete|Buffer-menu-execute|Buffer-menu-info-node-description|Buffer-menu-isearch-buffers-regexp|Buffer-menu-isearch-buffers|Buffer-menu-mark|Buffer-menu-marked-buffers|Buffer-menu-mode|Buffer-menu-mouse-select|Buffer-menu-multi-occur|Buffer-menu-no-header|Buffer-menu-not-modified|Buffer-menu-other-window|Buffer-menu-save|Buffer-menu-select|Buffer-menu-sort|Buffer-menu-switch-other-window|Buffer-menu-this-window|Buffer-menu-toggle-files-only|Buffer-menu-toggle-read-only|Buffer-menu-unmark|Buffer-menu-view-other-window|Buffer-menu-view|Buffer-menu-visit-tags-table|Control-X-prefix|Custom-buffer-done|Custom-goto-parent|Custom-help|Custom-mode-menu|Custom-mode|Custom-newline|Custom-no-edit|Custom-reset-current|Custom-reset-saved|Custom-reset-standard|Custom-save|Custom-set|Electric-buffer-menu-exit|Electric-buffer-menu-mode-view-buffer|Electric-buffer-menu-mode|Electric-buffer-menu-mouse-select|Electric-buffer-menu-quit|Electric-buffer-menu-select|Electric-buffer-menu-undefined|Electric-command-history-redo-expression|Electric-command-loop|Electric-pop-up-window|Footnote-add-footnote|Footnote-assoc-index|Footnote-back-to-message|Footnote-current-regexp|Footnote-cycle-style|Footnote-delete-footnote|Footnote-english-lower|Footnote-english-upper|Footnote-goto-char-point-max|Footnote-goto-footnote|Footnote-index-to-string|Footnote-insert-footnote|Footnote-insert-numbered-footnote|Footnote-insert-pointer-marker|Footnote-insert-text-marker|Footnote-latin|Footnote-make-hole|Footnote-narrow-to-footnotes|Footnote-numeric|Footnote-refresh-footnotes|Footnote-renumber-footnotes|Footnote-renumber|Footnote-roman-common|Footnote-roman-lower|Footnote-roman-upper|Footnote-set-style|Footnote-sort|Footnote-style-p|Footnote-text-under-cursor|Footnote-under-cursor|Footnote-unicode|Info--search-loop|Info-apropos-find-file|Info-apropos-find-node|Info-apropos-matches|Info-apropos-toc-nodes|Info-backward-node|Info-bookmark-jump|Info-bookmark-make-record|Info-breadcrumbs|Info-build-node-completions-1|Info-build-node-completions|Info-cease-edit|Info-check-pointer|Info-clone-buffer|Info-complete-menu-item|Info-copy-current-node-name|Info-default-dirs|Info-desktop-buffer-misc-data|Info-dir-remove-duplicates|Info-directory-find-file|Info-directory-find-node|Info-directory-toc-nodes|Info-directory|Info-display-images-node|Info-edit-mode|Info-edit|Info-exit|Info-extract-menu-counting|Info-extract-menu-item|Info-extract-menu-node-name|Info-extract-pointer|Info-file-supports-index-cookies|Info-final-node|Info-find-emacs-command-nodes|Info-find-file|Info-find-in-tag-table-1|Info-find-in-tag-table|Info-find-index-name|Info-find-node-2|Info-find-node-in-buffer-1|Info-find-node-in-buffer|Info-find-node|Info-finder-find-file|Info-finder-find-node|Info-follow-nearest-node|Info-follow-reference|Info-following-node-name-re|Info-following-node-name|Info-fontify-node|Info-forward-node|Info-get-token|Info-goto-emacs-command-node|Info-goto-emacs-key-command-node|Info-goto-index|Info-goto-node|Info-help|Info-hide-cookies-node|Info-history-back|Info-history-find-file|Info-history-find-node|Info-history-forward|Info-history-toc-nodes|Info-history|Info-index-next|Info-index-nodes??|Info-index|Info-insert-dir|Info-install-speedbar-variables|Info-isearch-end|Info-isearch-filter|Info-isearch-pop-state|Info-isearch-push-state|Info-isearch-search|Info-isearch-start|Info-isearch-wrap|Info-kill-buffer|Info-last-menu-item|Info-last-preorder|Info-last|Info-menu-update|Info-menu|Info-mode-menu|Info-mode|Info-mouse-follow-link|Info-mouse-follow-nearest-node|Info-mouse-scroll-down|Info-mouse-scroll-up|Info-next-menu-item|Info-next-preorder|Info-next-reference-or-link|Info-next-reference|Info-next|Info-no-error|Info-node-at-bob-matching|Info-nth-menu-item|Info-on-current-buffer|Info-prev-reference-or-link|Info-prev-reference|Info-prev|Info-read-node-name-1|Info-read-node-name-2|Info-read-node-name|Info-read-subfile|Info-restore-desktop-buffer|Info-restore-point|Info-revert-buffer-function|Info-revert-find-node|Info-scroll-down|Info-scroll-up|Info-search-backward|Info-search-case-sensitively|Info-search-next|Info-search|Info-select-node|Info-set-mode-line|Info-speedbar-browser|Info-speedbar-buttons|Info-speedbar-expand-node|Info-speedbar-fetch-file-nodes|Info-speedbar-goto-node|Info-speedbar-hierarchy-buttons|Info-split-parameter-string|Info-split|Info-summary|Info-tagify|Info-toc-build|Info-toc-find-node|Info-toc-insert|Info-toc-nodes|Info-toc|Info-top-node|Info-try-follow-nearest-node|Info-undefined|Info-unescape-quotes|Info-up|Info-validate-node-name|Info-validate-tags-table|Info-validate|Info-virtual-call|Info-virtual-file-p|Info-virtual-fun|Info-virtual-index-find-node|Info-virtual-index|LaTeX-mode|Man-bgproc-filter|Man-bgproc-sentinel|Man-bookmark-jump|Man-bookmark-make-record|Man-build-man-command|Man-build-page-list|Man-build-references-alist|Man-build-section-alist|Man-cleanup-manpage|Man-completion-table|Man-default-bookmark-title|Man-default-man-entry|Man-find-section|Man-follow-manual-reference|Man-fontify-manpage|Man-getpage-in-background|Man-goto-page|Man-goto-section|Man-goto-see-also-section|Man-highlight-references0??|Man-init-defvars|Man-kill|Man-make-page-mode-string|Man-mode|Man-next-manpage|Man-next-section|Man-notify-when-ready|Man-page-from-arguments|Man-parse-man-k|Man-possibly-hyphenated-word|Man-previous-manpage|Man-previous-section|Man-quit|Man-softhyphen-to-minus|Man-start-calling|Man-strip-page-headers|Man-support-local-filenames|Man-translate-cleanup|Man-translate-references|Man-unindent|Man-update-manpage|Man-view-header-file|Man-xref-button-action|Math-anglep|Math-bignum-test|Math-equal-int|Math-equal|Math-integer-negp??|Math-integer-posp|Math-integerp|Math-lessp|Math-looks-negp|Math-messy-integerp|Math-natnum-lessp|Math-natnump|Math-negp|Math-num-integerp|Math-numberp|Math-objectp|Math-objvecp|Math-posp|Math-primp|Math-ratp|Math-realp|Math-scalarp|Math-vectorp|Math-zerop|TeX-mode|View-back-to-mark|View-exit-and-edit|View-exit|View-goto-line|View-goto-percent|View-kill-and-leave|View-leave|View-quit-all|View-quit|View-revert-buffer-scroll-page-forward|View-scroll-half-page-backward|View-scroll-half-page-forward|View-scroll-line-backward|View-scroll-line-forward|View-scroll-page-backward-set-page-size|View-scroll-page-backward|View-scroll-page-forward-set-page-size|View-scroll-page-forward|View-scroll-to-buffer-end|View-search-last-regexp-backward|View-search-last-regexp-forward|View-search-regexp-backward|View-search-regexp-forward|WoMan-find-buffer|WoMan-getpage-in-background|WoMan-log-1|WoMan-log-begin|WoMan-log-end|WoMan-log|WoMan-next-manpage|WoMan-previous-manpage|WoMan-warn-ignored|WoMan-warn|abbrev--active-tables|abbrev--before-point|abbrev--check-chars|abbrev--default-expand|abbrev--describe|abbrev--symbol|abbrev--write|abbrev-edit-save-buffer|abbrev-edit-save-to-file|abbrev-mode|abbrev-table-empty-p|abbrev-table-menu|abbrev-table-name|abort-if-file-too-large|about-emacs|accelerate-menu|accept-completion|acons|activate-input-method|activate-mark|activate-mode-local-bindings|ad--defalias-fset|ad--make-advised-docstring|ad-Advice-c-backward-sws|ad-Advice-c-beginning-of-macro|ad-Advice-c-forward-sws|ad-Advice-save-place-find-file-hook|ad-access-argument|ad-activate-advised-definition|ad-activate-all|ad-activate-internal|ad-activate-on|ad-activate-regexp|ad-activate|ad-add-advice|ad-advice-definition|ad-advice-enabled|ad-advice-name|ad-advice-p|ad-advice-position|ad-advice-protected|ad-advice-set-enabled|ad-advised-arglist|ad-advised-interactive-form|ad-arg-binding-field|ad-arglist|ad-assemble-advised-definition|ad-body-forms|ad-cache-id-verification-code|ad-class-p|ad-clear-advicefunname-definition|ad-clear-cache|ad-compile-function|ad-compiled-code|ad-compiled-p|ad-copy-advice-info|ad-deactivate-all|ad-deactivate-regexp|ad-deactivate|ad-definition-type|ad-disable-advice|ad-disable-regexp|ad-do-advised-functions|ad-docstring|ad-element-access|ad-enable-advice-internal|ad-enable-advice|ad-enable-regexp-internal|ad-enable-regexp|ad-find-advice|ad-find-some-advice|ad-get-advice-info-field|ad-get-advice-info-macro|ad-get-advice-info|ad-get-arguments??|ad-get-cache-class-id|ad-get-cache-definition|ad-get-cache-id|ad-get-enabled-advices|ad-get-orig-definition|ad-has-any-advice|ad-has-enabled-advice|ad-has-proper-definition|ad-has-redefining-advice|ad-initialize-advice-info|ad-insert-argument-access-forms|ad-interactive-form|ad-is-active|ad-is-advised|ad-is-compilable|ad-lambda-expression|ad-lambda-p|ad-lambdafy|ad-list-access|ad-macrofy|ad-make-advice|ad-make-advicefunname|ad-make-advised-definition|ad-make-cache-id|ad-make-hook-form|ad-make-single-advice-docstring|ad-map-arglists|ad-name-p|ad-parse-arglist|ad-pop-advised-function|ad-position-p|ad-preactivate-advice|ad-pushnew-advised-function|ad-read-advice-class|ad-read-advice-name|ad-read-advice-specification|ad-read-advised-function|ad-read-regexp|ad-real-definition|ad-real-orig-definition|ad-recover-all|ad-recover-normality|ad-recover|ad-remove-advice|ad-retrieve-args-form|ad-set-advice-info-field|ad-set-advice-info|ad-set-arguments??|ad-set-cache|ad-should-compile|ad-substitute-tree|ad-unadvise-all|ad-unadvise|ad-update-all|ad-update-regexp|ad-update|ad-verify-cache-class-id|ad-verify-cache-id|ad-with-originals|ada-activate-keys-for-case|ada-add-extensions|ada-adjust-case-buffer|ada-adjust-case-identifier|ada-adjust-case-interactive|ada-adjust-case-region|ada-adjust-case-skeleton|ada-adjust-case-substring|ada-adjust-case|ada-after-keyword-p|ada-array|ada-batch-reformat|ada-call-from-contextual-menu|ada-capitalize-word|ada-case-read-exceptions-from-file)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)a(?:da-case-read-exceptions|da-case|da-change-prj|da-check-current|da-check-defun-name|da-check-matching-start|da-compile-application|da-compile-current|da-compile-goto-error|da-compile-mouse-goto-error|da-complete-identifier|da-contextual-menu|da-create-case-exception-substring|da-create-case-exception|da-create-keymap|da-create-menu|da-customize|da-declare-block|da-else|da-elsif|da-exception-block|da-exception|da-exit|da-ff-other-window|da-fill-comment-paragraph-justify|da-fill-comment-paragraph-postfix|da-fill-comment-paragraph|da-find-any-references|da-find-file|da-find-local-references|da-find-references|da-find-src-file-in-dir|da-for-loop|da-format-paramlist|da-function-spec|da-gdb-application|da-gen-treat-proc|da-get-body-name|da-get-current-indent|da-get-indent-block-label|da-get-indent-block-start|da-get-indent-case|da-get-indent-end|da-get-indent-goto-label|da-get-indent-if|da-get-indent-loop|da-get-indent-nochange|da-get-indent-noindent|da-get-indent-open-paren|da-get-indent-paramlist|da-get-indent-subprog|da-get-indent-type|da-get-indent-when|da-gnat-style|da-goto-decl-start|da-goto-declaration-other-frame|da-goto-declaration|da-goto-matching-end|da-goto-matching-start|da-goto-next-non-ws|da-goto-next-word|da-goto-parent|da-goto-previous-word|da-goto-stmt-end|da-goto-stmt-start|da-header|da-if|da-in-comment-p|da-in-decl-p|da-in-numeric-literal-p|da-in-open-paren-p|da-in-paramlist-p|da-in-string-or-comment-p|da-in-string-p|da-indent-current-function|da-indent-current|da-indent-newline-indent-conditional|da-indent-newline-indent|da-indent-on-previous-lines|da-indent-region|da-insert-paramlist|da-justified-indent-current|da-looking-at-semi-or|da-looking-at-semi-private|da-loop|da-loose-case-word|da-make-body-gnatstub|da-make-body|da-make-filename-from-adaname|da-make-subprogram-body|da-mode-menu|da-mode-version|da-mode|da-move-to-end|da-move-to-start|da-narrow-to-defun|da-next-package|da-next-procedure|da-no-auto-case|da-other-file-name|da-outline-level|da-package-body|da-package-spec|da-point-and-xref|da-popup-menu|da-previous-package|da-previous-procedure|da-private|da-prj-edit|da-prj-new|da-prj-save|da-procedure-spec|da-record|da-region-selected|da-remove-trailing-spaces|da-reread-prj-file|da-run-application|da-save-exceptions-to-file|da-scan-paramlist|da-search-ignore-complex-boolean|da-search-ignore-string-comment|da-search-prev-end-stmt|da-set-default-project-file|da-set-main-compile-application|da-set-point-accordingly|da-show-current-main|da-subprogram-body|da-subtype|da-tab-hard|da-tab|da-tabsize|da-task-body|da-task-spec|da-type|da-uncomment-region|da-untab-hard|da-untab|da-use|da-when|da-which-function-are-we-in|da-which-function|da-while-loop|da-with|da-xref-goto-previous-reference|dd-abbrev|dd-change-log-entry-other-window|dd-change-log-entry|dd-completion-to-head|dd-completion-to-tail-if-new|dd-completion|dd-completions-from-buffer|dd-completions-from-c-buffer|dd-completions-from-file|dd-completions-from-lisp-buffer|dd-completions-from-tags-table|dd-dir-local-variable|dd-file-local-variable-prop-line|dd-file-local-variable|dd-global-abbrev|dd-log-current-defun|dd-log-edit-next-comment|dd-log-edit-prev-comment|dd-log-file-name|dd-log-iso8601-time-string|dd-log-iso8601-time-zone|dd-log-tcl-defun|dd-minor-mode|dd-mode-abbrev|dd-new-page|dd-permanent-completion|dd-submenu|dd-timeout|dd-to-coding-system-list|dd-to-list--anon-cmacro|ddbib|djoin|dvertised-undo|dvertised-widget-backward|dvertised-xscheme-send-previous-expression|dvice--add-function|dvice--buffer-local|dvice--called-interactively-skip|dvice--car|dvice--cd\\\\*r|dvice--cdr|dvice--defalias-fset|dvice--interactive-form|dvice--make-1|dvice--make-docstring|dvice--make-interactive-form|dvice--make|dvice--member-p|dvice--normalize-place|dvice--normalize|dvice--p|dvice--props|dvice--remove-function|dvice--set-buffer-local|dvice--strip-macro|dvice--subst-main|dvice--symbol-function|dvice--tweak|fter-insert-file-set-coding|lign--set-marker|lign-adjust-col-for-rule|lign-areas|lign-column|lign-current|lign-entire|lign-highlight-rule|lign-match-tex-pattern|lign-new-section-p|lign-newline-and-indent|lign-regexp|lign-regions??|lign-set-vhdl-rules|lign-unhighlight-rule|lign|list-get|llout-aberrant-container-p|llout-add-resumptions|llout-adjust-file-variable|llout-after-saves-handler|llout-annotate-hidden|llout-ascend-to-depth|llout-ascend|llout-auto-activation-helper|llout-auto-fill|llout-back-to-current-heading|llout-back-to-heading|llout-back-to-visible-text|llout-backward-current-level|llout-before-change-handler|llout-beginning-of-current-entry|llout-beginning-of-current-line|llout-beginning-of-level|llout-beginning-of-line|llout-body-modification-handler|llout-bullet-for-depth|llout-bullet-isearch|llout-called-interactively-p|llout-chart-exposure-contour-by-icon|llout-chart-siblings|llout-chart-subtree|llout-chart-to-reveal|llout-compose-and-institute-keymap|llout-copy-exposed-to-buffer|llout-copy-line-as-kill|llout-copy-topic-as-kill|llout-current-bullet-pos|llout-current-bullet|llout-current-decorated-p|llout-current-depth|llout-current-topic-collapsed-p|llout-deannotate-hidden|llout-decorate-item-and-context|llout-decorate-item-body|llout-decorate-item-cue|llout-decorate-item-guides|llout-decorate-item-icon|llout-decorate-item-span|llout-depth|llout-descend-to-depth|llout-distinctive-bullet|llout-do-doublecheck|llout-do-resumptions|llout-e-o-prefix-p|llout-elapsed-time-seconds|llout-encrypt-decrypted|llout-encrypt-string|llout-encrypted-topic-p|llout-encrypted-type-prefix|llout-end-of-current-heading|llout-end-of-current-line|llout-end-of-current-subtree|llout-end-of-entry|llout-end-of-heading|llout-end-of-level|llout-end-of-line|llout-end-of-prefix|llout-end-of-subtree|llout-expose-topic|llout-fetch-icon-image|llout-file-vars-section-data|llout-find-file-hook|llout-find-image|llout-flag-current-subtree|llout-flag-region|llout-flatten-exposed-to-buffer|llout-flatten|llout-format-quote|llout-forward-current-level|llout-frame-property|llout-get-body-text|llout-get-bullet|llout-get-configvar-values|llout-get-current-prefix|llout-get-invisibility-overlay|llout-get-item-widget|llout-get-or-create-item-widget|llout-get-or-create-parent-widget|llout-get-prefix-bullet|llout-goto-prefix-doublechecked|llout-goto-prefix|llout-graphics-modification-handler|llout-hidden-p|llout-hide-bodies|llout-hide-by-annotation|llout-hide-current-entry|llout-hide-current-leaves|llout-hide-current-subtree|llout-hide-region-body|llout-hotspot-key-handler|llout-indented-exposed-to-buffer|llout-infer-body-reindent|llout-infer-header-lead-and-primary-bullet|llout-infer-header-lead|llout-inhibit-auto-save-info-for-decryption|llout-init|llout-insert-latex-header|llout-insert-latex-trailer|llout-insert-listified|llout-institute-keymap|llout-isearch-end-handler|llout-item-actual-position|llout-item-element-span-is|llout-item-icon-key-handler|llout-item-location|llout-item-span|llout-kill-line|llout-kill-topic|llout-latex-verb-quote|llout-latex-verbatim-quote-curr-line|llout-latexify-exposed|llout-latexify-one-item|llout-lead-with-comment-string|llout-listify-exposed|llout-make-topic-prefix|llout-mark-active-p|llout-mark-marker|llout-mark-topic|llout-maybe-resume-auto-save-info-after-encryption|llout-minor-mode|llout-mode-map|llout-mode-p|llout-mode|llout-new-exposure|llout-new-item-widget|llout-next-heading|llout-next-sibling-leap|llout-next-sibling|llout-next-single-char-property-change|llout-next-topic-pending-encryption|llout-next-visible-heading|llout-number-siblings|llout-numbered-type-prefix|llout-old-expose-topic|llout-on-current-heading-p|llout-on-heading-p|llout-open-sibtopic|llout-open-subtopic|llout-open-supertopic|llout-open-topic|llout-overlay-insert-in-front-handler|llout-overlay-interior-modification-handler|llout-overlay-preparations|llout-parse-item-at-point|llout-post-command-business|llout-pre-command-business|llout-pre-next-prefix|llout-prefix-data|llout-previous-heading|llout-previous-sibling|llout-previous-single-char-property-change|llout-previous-visible-heading|llout-process-exposed|llout-range-overlaps|llout-rebullet-current-heading|llout-rebullet-heading|llout-rebullet-topic-grunt|llout-rebullet-topic|llout-recent-bullet|llout-recent-depth|llout-recent-prefix|llout-redecorate-item|llout-redecorate-visible-subtree|llout-region-active-p|llout-reindent-body|llout-renumber-to-depth|llout-reset-header-lead|llout-resolve-xref|llout-run-unit-tests|llout-select-safe-coding-system|llout-set-boundary-marker|llout-setup-menubar|llout-setup-text-properties|llout-setup|llout-shift-in|llout-shift-out|llout-show-all|llout-show-children|llout-show-current-branches|llout-show-current-entry|llout-show-current-subtree|llout-show-entry|llout-show-to-offshoot|llout-sibling-index|llout-snug-back|llout-solicit-alternate-bullet|llout-stringify-flat-index-indented|llout-stringify-flat-index-plain|llout-stringify-flat-index|llout-substring-no-properties|llout-test-range-overlaps|llout-test-resumptions|llout-tests-obliterate-variable|llout-this-or-next-heading|llout-toggle-current-subtree-encryption|llout-toggle-current-subtree-exposure|llout-toggle-subtree-encryption|llout-topic-flat-index|llout-unload-function|llout-unprotected|llout-up-current-level|llout-version|llout-widgetize-buffer|llout-widgets-additions-processor|llout-widgets-additions-recorder|llout-widgets-adjusting-message|llout-widgets-after-change-handler|llout-widgets-after-copy-or-kill-function|llout-widgets-after-undo-function|llout-widgets-before-change-handler|llout-widgets-changes-dispatcher|llout-widgets-copy-list|llout-widgets-count-buttons-in-region|llout-widgets-deletions-processor|llout-widgets-deletions-recorder|llout-widgets-exposure-change-processor|llout-widgets-exposure-change-recorder|llout-widgets-exposure-undo-processor|llout-widgets-exposure-undo-recorder|llout-widgets-hook-error-handler|llout-widgets-mode-disable|llout-widgets-mode-enable|llout-widgets-mode-off|llout-widgets-mode-on|llout-widgets-mode|llout-widgets-post-command-business|llout-widgets-pre-command-business|llout-widgets-prepopulate-buffer|llout-widgets-run-unit-tests|llout-widgets-setup|llout-widgets-shifts-processor|llout-widgets-shifts-recorder|llout-widgets-tally-string|llout-widgets-undecorate-item|llout-widgets-undecorate-region|llout-widgets-undecorate-text|llout-widgets-version|llout-write-contents-hook-handler|llout-yank-pop|llout-yank-processing|llout-yank|lter-text-property|nge-ftp-abbreviate-filename|nge-ftp-add-bs2000-host|nge-ftp-add-bs2000-posix-host|nge-ftp-add-cms-host|nge-ftp-add-dl-dir|nge-ftp-add-dumb-unix-host|nge-ftp-add-file-entry|nge-ftp-add-mts-host|nge-ftp-add-vms-host|nge-ftp-allow-child-lookup|nge-ftp-barf-if-not-directory|nge-ftp-barf-or-query-if-file-exists|nge-ftp-binary-file|nge-ftp-bs2000-cd-to-posix|nge-ftp-bs2000-host|nge-ftp-bs2000-posix-host|nge-ftp-call-chmod|nge-ftp-call-cont|nge-ftp-canonize-filename|nge-ftp-cd|nge-ftp-cf1|nge-ftp-cf2|nge-ftp-chase-symlinks|nge-ftp-cms-host|nge-ftp-cms-make-compressed-filename|nge-ftp-completion-hook-function|nge-ftp-compress|nge-ftp-copy-file-internal|nge-ftp-copy-file|nge-ftp-copy-files-async|nge-ftp-del-tmp-name|nge-ftp-delete-directory|nge-ftp-delete-file-entry|nge-ftp-delete-file|nge-ftp-directory-file-name|nge-ftp-directory-files-and-attributes|nge-ftp-directory-files|nge-ftp-dired-compress-file|nge-ftp-dired-uncache|nge-ftp-dl-parser|nge-ftp-dumb-unix-host|nge-ftp-error|nge-ftp-expand-dir|nge-ftp-expand-file-name|nge-ftp-expand-symlink|nge-ftp-file-attributes|nge-ftp-file-directory-p|nge-ftp-file-entry-not-ignored-p|nge-ftp-file-entry-p|nge-ftp-file-executable-p|nge-ftp-file-exists-p|nge-ftp-file-local-copy|nge-ftp-file-modtime|nge-ftp-file-name-all-completions|nge-ftp-file-name-as-directory|nge-ftp-file-name-completion-1|nge-ftp-file-name-completion|nge-ftp-file-name-directory|nge-ftp-file-name-nondirectory|nge-ftp-file-name-sans-versions)(?=[()\\\\s]|$)"},{"match":"(?<=[()]|^)a(?:nge-ftp-file-newer-than-file-p|nge-ftp-file-readable-p|nge-ftp-file-remote-p|nge-ftp-file-size|nge-ftp-file-symlink-p|nge-ftp-file-writable-p|nge-ftp-find-backup-file-name|nge-ftp-fix-dir-name-for-bs2000|nge-ftp-fix-dir-name-for-cms|nge-ftp-fix-dir-name-for-mts|nge-ftp-fix-dir-name-for-vms|nge-ftp-fix-name-for-bs2000|nge-ftp-fix-name-for-cms|nge-ftp-fix-name-for-mts|nge-ftp-fix-name-for-vms|nge-ftp-ftp-name-component|nge-ftp-ftp-name|nge-ftp-ftp-process-buffer|nge-ftp-generate-passwd-key|nge-ftp-generate-root-prefixes|nge-ftp-get-account|nge-ftp-get-file-entry|nge-ftp-get-file-part|nge-ftp-get-files|nge-ftp-get-host-with-passwd|nge-ftp-get-passwd|nge-ftp-get-process|nge-ftp-get-pwd|nge-ftp-get-user|nge-ftp-guess-hash-mark-size|nge-ftp-guess-host-type|nge-ftp-gwp-filter|nge-ftp-gwp-sentinel|nge-ftp-gwp-start|nge-ftp-hash-entry-exists-p|nge-ftp-hash-table-keys|nge-ftp-hook-function|nge-ftp-host-type|nge-ftp-ignore-errors-if-non-essential|nge-ftp-insert-directory|nge-ftp-insert-file-contents|nge-ftp-internal-add-file-entry|nge-ftp-internal-delete-file-entry|nge-ftp-kill-ftp-process|nge-ftp-load|nge-ftp-lookup-passwd|nge-ftp-ls-parser|nge-ftp-ls|nge-ftp-make-directory|nge-ftp-make-tmp-name|nge-ftp-message|nge-ftp-mts-host|nge-ftp-normal-login|nge-ftp-nslookup-host|nge-ftp-parse-bs2000-filename|nge-ftp-parse-bs2000-listing|nge-ftp-parse-cms-listing|nge-ftp-parse-dired-listing|nge-ftp-parse-filename|nge-ftp-parse-mts-listing|nge-ftp-parse-netrc-group|nge-ftp-parse-netrc-token|nge-ftp-parse-netrc|nge-ftp-parse-vms-filename|nge-ftp-parse-vms-listing|nge-ftp-passive-mode|nge-ftp-process-file|nge-ftp-process-filter|nge-ftp-process-handle-hash|nge-ftp-process-handle-line|nge-ftp-process-sentinel|nge-ftp-quote-string|nge-ftp-raw-send-cmd|nge-ftp-re-read-dir|nge-ftp-real-backup-buffer|nge-ftp-real-copy-file|nge-ftp-real-delete-directory|nge-ftp-real-delete-file|nge-ftp-real-directory-file-name|nge-ftp-real-directory-files-and-attributes|nge-ftp-real-directory-files|nge-ftp-real-expand-file-name|nge-ftp-real-file-attributes|nge-ftp-real-file-directory-p|nge-ftp-real-file-executable-p|nge-ftp-real-file-exists-p|nge-ftp-real-file-name-all-completions|nge-ftp-real-file-name-as-directory|nge-ftp-real-file-name-completion|nge-ftp-real-file-name-directory|nge-ftp-real-file-name-nondirectory|nge-ftp-real-file-name-sans-versions|nge-ftp-real-file-newer-than-file-p|nge-ftp-real-file-readable-p|nge-ftp-real-file-symlink-p|nge-ftp-real-file-writable-p|nge-ftp-real-find-backup-file-name|nge-ftp-real-insert-directory|nge-ftp-real-insert-file-contents|nge-ftp-real-load|nge-ftp-real-make-directory|nge-ftp-real-rename-file|nge-ftp-real-shell-command|nge-ftp-real-verify-visited-file-modtime|nge-ftp-real-write-region|nge-ftp-rename-file|nge-ftp-rename-local-to-remote|nge-ftp-rename-remote-to-local|nge-ftp-rename-remote-to-remote|nge-ftp-repaint-minibuffer|nge-ftp-replace-name-component|nge-ftp-reread-dir|nge-ftp-root-dir-p|nge-ftp-run-real-handler-orig|nge-ftp-run-real-handler|nge-ftp-send-cmd|nge-ftp-set-account|nge-ftp-set-ascii-mode|nge-ftp-set-binary-mode|nge-ftp-set-buffer-mode|nge-ftp-set-file-modes|nge-ftp-set-files|nge-ftp-set-passwd|nge-ftp-set-user|nge-ftp-set-xfer-size|nge-ftp-shell-command|nge-ftp-smart-login|nge-ftp-start-process|nge-ftp-switches-ok|nge-ftp-uncompress|nge-ftp-unhandled-file-name-directory|nge-ftp-use-gateway-p|nge-ftp-use-smart-gateway-p|nge-ftp-verify-visited-file-modtime|nge-ftp-vms-add-file-entry|nge-ftp-vms-delete-file-entry|nge-ftp-vms-file-name-as-directory|nge-ftp-vms-host|nge-ftp-vms-make-compressed-filename|nge-ftp-vms-sans-version|nge-ftp-wait-not-busy|nge-ftp-wipe-file-entries|nge-ftp-write-region|nimate-birthday-present|nimate-initialize|nimate-place-char|nimate-sequence|nimate-step|nimate-string|nother-calc|nsi-color--find-face|nsi-color-apply-on-region|nsi-color-apply-overlay-face|nsi-color-apply-sequence|nsi-color-apply|nsi-color-filter-apply|nsi-color-filter-region|nsi-color-for-comint-mode-filter|nsi-color-for-comint-mode-off|nsi-color-for-comint-mode-on|nsi-color-freeze-overlay|nsi-color-get-face-1|nsi-color-make-color-map|nsi-color-make-extent|nsi-color-make-face|nsi-color-map-update|nsi-color-parse-sequence|nsi-color-process-output|nsi-color-set-extent-face|nsi-color-unfontify-region|nsi-term|ntlr-beginning-of-body|ntlr-beginning-of-rule|ntlr-c\\\\+\\\\+-mode-extra|ntlr-c-forward-sws|ntlr-c-init-language-vars|ntlr-default-directory|ntlr-directory-dependencies|ntlr-downcase-literals|ntlr-electric-character|ntlr-end-of-body|ntlr-end-of-rule|ntlr-file-dependencies|ntlr-font-lock-keywords|ntlr-grammar-tokens|ntlr-hide-actions|ntlr-imenu-create-index-function|ntlr-indent-command|ntlr-indent-line|ntlr-insert-makefile-rules|ntlr-insert-option-area|ntlr-insert-option-do|ntlr-insert-option-existing|ntlr-insert-option-interactive|ntlr-insert-option-space|ntlr-insert-option|ntlr-inside-rule-p|ntlr-invalidate-context-cache|ntlr-language-option-extra|ntlr-language-option|ntlr-makefile-insert-variable|ntlr-mode-menu|ntlr-mode|ntlr-next-rule|ntlr-option-kind|ntlr-option-level|ntlr-option-location|ntlr-option-spec|ntlr-options-menu-filter|ntlr-outside-rule-p|ntlr-re-search-forward|ntlr-read-boolean|ntlr-read-shell-command|ntlr-read-value|ntlr-run-tool-interactive|ntlr-run-tool|ntlr-search-backward|ntlr-search-forward|ntlr-set-tabs|ntlr-show-makefile-rules|ntlr-skip-exception-part|ntlr-skip-file-prelude|ntlr-skip-sexps|ntlr-superclasses-glibs|ntlr-syntactic-context|ntlr-syntactic-grammar-depth|ntlr-upcase-literals|ntlr-upcase-p|ntlr-version-string|ntlr-with-displaying-help-buffer|ntlr-with-syntax-table|ppend-next-kill|ppend-to-buffer|ppend-to-register|pply-macro-to-region-lines|pply-on-rectangle|ppt-activate|ppt-add|propos-command|propos-documentation-property|propos-documentation|propos-internal|propos-library|propos-read-pattern|propos-user-option|propos-value|propos-variable|rchive-\\\\*-expunge|rchive-\\\\*-extract|rchive-\\\\*-write-file-member|rchive-7z-extract|rchive-7z-summarize|rchive-7z-write-file-member|rchive-add-new-member|rchive-alternate-display|rchive-ar-extract|rchive-ar-summarize|rchive-arc-rename-entry|rchive-arc-summarize|rchive-calc-mode|rchive-chgrp-entry|rchive-chmod-entry|rchive-chown-entry|rchive-delete-local|rchive-desummarize|rchive-display-other-window|rchive-dosdate|rchive-dostime|rchive-expunge|rchive-extract-by-file|rchive-extract-by-stdout|rchive-extract-other-window|rchive-extract|rchive-file-name-handler|rchive-find-type|rchive-flag-deleted|rchive-get-descr|rchive-get-lineno|rchive-get-marked|rchive-int-to-mode|rchive-l-e|rchive-lzh-chgrp-entry|rchive-lzh-chmod-entry|rchive-lzh-chown-entry|rchive-lzh-exe-extract|rchive-lzh-exe-summarize|rchive-lzh-extract|rchive-lzh-ogm|rchive-lzh-rename-entry|rchive-lzh-resum|rchive-lzh-summarize|rchive-mark|rchive-maybe-copy|rchive-maybe-update|rchive-mode-revert|rchive-mode|rchive-mouse-extract|rchive-name|rchive-next-line|rchive-previous-line|rchive-rar-exe-extract|rchive-rar-exe-summarize|rchive-rar-extract|rchive-rar-summarize|rchive-rename-entry|rchive-resummarize|rchive-set-buffer-as-visiting-file|rchive-summarize-files|rchive-summarize|rchive-try-jka-compr|rchive-undo|rchive-unflag-backwards|rchive-unflag|rchive-unique-fname|rchive-unixdate|rchive-unixtime|rchive-unmark-all-files|rchive-view|rchive-write-file-member|rchive-write-file|rchive-zip-chmod-entry|rchive-zip-extract|rchive-zip-summarize|rchive-zip-write-file-member|rchive-zoo-extract|rchive-zoo-summarize|rp|rray-backward-column|rray-beginning-of-field|rray-copy-backward|rray-copy-column-backward|rray-copy-column-forward|rray-copy-down|rray-copy-forward|rray-copy-once-horizontally|rray-copy-once-vertically|rray-copy-row-down|rray-copy-row-up|rray-copy-to-cell|rray-copy-to-column|rray-copy-to-row|rray-copy-up|rray-current-column|rray-current-row|rray-cursor-in-array-range|rray-display-local-variables|rray-end-of-field|rray-expand-rows|rray-field-string|rray-fill-rectangle|rray-forward-column|rray-goto-cell|rray-make-template|rray-maybe-scroll-horizontally|rray-mode|rray-move-one-column|rray-move-one-row|rray-move-to-cell|rray-move-to-column|rray-move-to-row|rray-next-row|rray-normalize-cursor|rray-previous-row|rray-reconfigure-rows|rray-update-array-position|rray-update-buffer-position|rray-what-position|rtist-2point-get-endpoint1|rtist-2point-get-endpoint2|rtist-2point-get-shapeinfo|rtist-arrow-point-get-direction|rtist-arrow-point-get-marker|rtist-arrow-point-get-orig-char|rtist-arrow-point-get-state|rtist-arrow-point-set-state|rtist-arrows|rtist-backward-char|rtist-calculate-new-chars??|rtist-charlist-to-string|rtist-clear-arrow-points|rtist-clear-buffer|rtist-compute-key-compl-table|rtist-compute-line-char|rtist-compute-popup-menu-table-sub|rtist-compute-popup-menu-table|rtist-compute-up-event-key|rtist-coord-add-new-char|rtist-coord-add-saved-char|rtist-coord-get-new-char|rtist-coord-get-saved-char|rtist-coord-get-x|rtist-coord-get-y|rtist-coord-set-new-char|rtist-coord-set-x|rtist-coord-set-y|rtist-coord-win-to-buf|rtist-copy-generic|rtist-copy-rect|rtist-copy-square|rtist-current-column|rtist-current-line|rtist-cut-rect|rtist-cut-square|rtist-direction-char|rtist-direction-step-x|rtist-direction-step-y|rtist-do-nothing|rtist-down-mouse-1|rtist-down-mouse-3|rtist-draw-circle|rtist-draw-ellipse-general|rtist-draw-ellipse-with-0-height|rtist-draw-ellipse|rtist-draw-line|rtist-draw-rect|rtist-draw-region-reset|rtist-draw-region-trim-line-endings|rtist-draw-sline|rtist-draw-square|rtist-eight-point|rtist-ellipse-compute-fill-info|rtist-ellipse-fill-info-add-center|rtist-ellipse-generate-quadrant|rtist-ellipse-mirror-quadrant|rtist-ellipse-point-list-add-center|rtist-ellipse-remove-0-fills|rtist-endpoint-get-x|rtist-endpoint-get-y|rtist-erase-char|rtist-erase-rect|rtist-event-is-shifted|rtist-fc-get-fn-from-symbol|rtist-fc-get-fn|rtist-fc-get-keyword|rtist-fc-get-symbol|rtist-fc-retrieve-from-symbol-sub|rtist-fc-retrieve-from-symbol|rtist-ff-get-rightmost-from-xy|rtist-ff-is-bottommost-line|rtist-ff-is-topmost-line|rtist-ff-too-far-right|rtist-figlet-choose-font|rtist-figlet-get-extra-args|rtist-figlet-get-font-list|rtist-figlet-run|rtist-figlet|rtist-file-to-string|rtist-fill-circle|rtist-fill-ellipse|rtist-fill-item-get-width|rtist-fill-item-get-x|rtist-fill-item-get-y|rtist-fill-item-set-width|rtist-fill-item-set-x|rtist-fill-item-set-y|rtist-fill-rect|rtist-fill-square|rtist-find-direction|rtist-find-octant|rtist-flood-fill|rtist-forward-char|rtist-funcall|rtist-get-buffer-contents-at-xy|rtist-get-char-at-xy-conv|rtist-get-char-at-xy|rtist-get-dfdx-init-coeff|rtist-get-dfdy-init-coeff|rtist-get-first-non-nil-op|rtist-get-last-non-nil-op|rtist-get-replacement-char|rtist-get-x-step-q<0|rtist-get-x-step-q>=0|rtist-get-y-step-q<0|rtist-get-y-step-q>=0|rtist-go-get-arrow-pred-from-symbol|rtist-go-get-arrow-pred|rtist-go-get-arrow-set-fn-from-symbol|rtist-go-get-arrow-set-fn|rtist-go-get-desc|rtist-go-get-draw-fn-from-symbol|rtist-go-get-draw-fn|rtist-go-get-draw-how-from-symbol|rtist-go-get-draw-how|rtist-go-get-exit-fn-from-symbol|rtist-go-get-exit-fn|rtist-go-get-fill-fn-from-symbol|rtist-go-get-fill-fn|rtist-go-get-fill-pred-from-symbol|rtist-go-get-fill-pred|rtist-go-get-init-fn-from-symbol|rtist-go-get-init-fn|rtist-go-get-interval-fn-from-symbol|rtist-go-get-interval-fn|rtist-go-get-keyword-from-symbol|rtist-go-get-keyword|rtist-go-get-mode-line-from-symbol|rtist-go-get-mode-line|rtist-go-get-prep-fill-fn-from-symbol|rtist-go-get-prep-fill-fn|rtist-go-get-shifted|rtist-go-get-symbol-shift-sub|rtist-go-get-symbol-shift|rtist-go-get-symbol|rtist-go-get-undraw-fn-from-symbol|rtist-go-get-undraw-fn|rtist-go-get-unshifted|rtist-go-retrieve-from-symbol-sub|rtist-go-retrieve-from-symbol|rtist-intersection-char|rtist-is-in-op-list-p|rtist-key-do-continously-1point|rtist-key-do-continously-2points|rtist-key-do-continously-common)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:artist-key-do-continously-continously|artist-key-do-continously-poly|artist-key-draw-1point|artist-key-draw-2points|artist-key-draw-common|artist-key-draw-continously|artist-key-draw-poly|artist-key-set-point-1point|artist-key-set-point-2points|artist-key-set-point-common|artist-key-set-point-continously|artist-key-set-point-poly|artist-key-set-point|artist-key-undraw-1point|artist-key-undraw-2points|artist-key-undraw-common|artist-key-undraw-continously|artist-key-undraw-poly|artist-make-2point-object|artist-make-arrow-point|artist-make-endpoint|artist-make-prev-next-op-alist|artist-mn-get-items|artist-mn-get-title|artist-mode-exit|artist-mode-init|artist-mode-line-show-curr-operation|artist-mode-off|artist-mode|artist-modify-new-chars|artist-mouse-choose-operation|artist-mouse-draw-1point|artist-mouse-draw-2points|artist-mouse-draw-continously|artist-mouse-draw-poly|artist-move-to-xy|artist-mt-get-info-part|artist-mt-get-symbol-from-keyword-sub|artist-mt-get-symbol-from-keyword|artist-mt-get-tag|artist-new-coord|artist-new-fill-item|artist-next-line|artist-nil|artist-no-arrows|artist-no-rb-set-point1|artist-no-rb-set-point2|artist-no-rb-unset-point1|artist-no-rb-unset-point2|artist-no-rb-unset-points|artist-paste|artist-pen-line|artist-pen-reset-last-xy|artist-pen-set-arrow-points|artist-pen|artist-previous-line|artist-put-pixel|artist-rect-corners-squarify|artist-replace-chars??|artist-replace-string|artist-save-chars-under-point-list|artist-save-chars-under-sline|artist-select-erase-char|artist-select-fill-char|artist-select-line-char|artist-select-next-op-in-list|artist-select-op-circle|artist-select-op-copy-rectangle|artist-select-op-copy-square|artist-select-op-cut-rectangle|artist-select-op-cut-square|artist-select-op-ellipse|artist-select-op-erase-char|artist-select-op-erase-rectangle|artist-select-op-flood-fill|artist-select-op-line|artist-select-op-paste|artist-select-op-pen-line|artist-select-op-poly-line|artist-select-op-rectangle|artist-select-op-spray-can|artist-select-op-spray-set-size|artist-select-op-square|artist-select-op-straight-line|artist-select-op-straight-poly-line|artist-select-op-text-overwrite|artist-select-op-text-see-thru|artist-select-op-vaporize-lines??|artist-select-operation|artist-select-prev-op-in-list|artist-select-spray-chars|artist-set-arrow-points-for-2points|artist-set-arrow-points-for-poly|artist-set-pointer-shape|artist-shift-has-changed|artist-sline|artist-spray-clear-circle|artist-spray-get-interval|artist-spray-random-points|artist-spray-set-radius|artist-spray|artist-straight-calculate-length|artist-string-split|artist-string-to-charlist|artist-string-to-file|artist-submit-bug-report|artist-system|artist-t-if-fill-char-set|artist-t|artist-text-insert-common|artist-text-insert-overwrite|artist-text-insert-see-thru|artist-text-overwrite|artist-text-see-thru|artist-toggle-borderless-shapes|artist-toggle-first-arrow|artist-toggle-rubber-banding|artist-toggle-second-arrow|artist-toggle-trim-line-endings|artist-undraw-circle|artist-undraw-ellipse|artist-undraw-line|artist-undraw-rect|artist-undraw-sline|artist-undraw-square|artist-unintersection-char|artist-uniq|artist-update-display|artist-update-pointer-shape|artist-vap-find-endpoint|artist-vap-find-endpoints-horiz|artist-vap-find-endpoints-nwse|artist-vap-find-endpoints-swne|artist-vap-find-endpoints-vert|artist-vap-find-endpoints|artist-vap-group-in-pairs|artist-vaporize-by-endpoints|artist-vaporize-lines??|asm-calculate-indentation|asm-colon|asm-comment|asm-indent-line|asm-mode|asm-newline|assert|assoc\\\\*|assoc-if-not|assoc-if|assoc-ignore-case|assoc-ignore-representation|async-shell-command|atomic-change-group|auth-source--aget|auth-source--aput-1|auth-source--aput|auth-source-backend-child-p|auth-source-backend-list-p|auth-source-backend-p|auth-source-backend-parse-parameters|auth-source-backend-parse|auth-source-backend|auth-source-current-line|auth-source-delete|auth-source-do-debug|auth-source-do-trivia|auth-source-do-warn|auth-source-ensure-strings|auth-source-epa-extract-gpg-token|auth-source-epa-make-gpg-token|auth-source-forget\\\\+|auth-source-forget-all-cached|auth-source-forget|auth-source-format-cache-entry|auth-source-format-prompt|auth-source-macos-keychain-create|auth-source-macos-keychain-result-append|auth-source-macos-keychain-search-items|auth-source-macos-keychain-search|auth-source-netrc-create|auth-source-netrc-element-or-first|auth-source-netrc-normalize|auth-source-netrc-parse-entries|auth-source-netrc-parse-next-interesting|auth-source-netrc-parse-one|auth-source-netrc-parse|auth-source-netrc-saver|auth-source-netrc-search|auth-source-pick-first-password|auth-source-plstore-create|auth-source-plstore-search|auth-source-read-char-choice|auth-source-recall|auth-source-remember|auth-source-remembered-p|auth-source-search-backends|auth-source-search-collection|auth-source-search|auth-source-secrets-create|auth-source-secrets-listify-pattern|auth-source-secrets-search|auth-source-specmatchp|auth-source-token-passphrase-callback-function|auth-source-user-and-password|auth-source-user-or-password|auto-coding-alist-lookup|auto-coding-regexp-alist-lookup|auto-compose-chars|auto-composition-mode|auto-compression-mode|auto-encryption-mode|auto-fill-mode|auto-image-file-mode|auto-insert-mode|auto-insert|auto-lower-mode|auto-raise-mode|auto-revert-active-p|auto-revert-buffers|auto-revert-handler|auto-revert-mode|auto-revert-notify-add-watch|auto-revert-notify-handler|auto-revert-notify-rm-watch|auto-revert-set-timer|auto-revert-tail-handler|auto-revert-tail-mode|autoarg-kp-digit-argument|autoarg-kp-mode|autoarg-mode|autoarg-terminate|autoconf-current-defun-function|autoconf-mode|autodoc-font-lock-keywords|autodoc-font-lock-line-markup|autoload-coding-system|autoload-rubric|avl-tree--check-node|avl-tree--check|avl-tree--cmpfun--cmacro|avl-tree--cmpfun|avl-tree--create--cmacro|avl-tree--create|avl-tree--del-balance|avl-tree--dir-to-sign|avl-tree--do-copy|avl-tree--do-del-internal|avl-tree--do-delete|avl-tree--do-enter|avl-tree--dummyroot--cmacro|avl-tree--dummyroot|avl-tree--enter-balance|avl-tree--mapc|avl-tree--node-balance--cmacro|avl-tree--node-balance|avl-tree--node-branch|avl-tree--node-create--cmacro|avl-tree--node-create|avl-tree--node-data--cmacro|avl-tree--node-data|avl-tree--node-left--cmacro|avl-tree--node-left|avl-tree--node-right--cmacro|avl-tree--node-right|avl-tree--root|avl-tree--sign-to-dir|avl-tree--stack-create|avl-tree--stack-p--cmacro|avl-tree--stack-p|avl-tree--stack-repopulate|avl-tree--stack-reverse--cmacro|avl-tree--stack-reverse|avl-tree--stack-store--cmacro|avl-tree--stack-store|avl-tree--switch-dir|avl-tree-clear|avl-tree-compare-function|avl-tree-copy|avl-tree-create|avl-tree-delete|avl-tree-empty|avl-tree-enter|avl-tree-first|avl-tree-flatten|avl-tree-last|avl-tree-mapc??|avl-tree-mapcar|avl-tree-mapf|avl-tree-member-p|avl-tree-member|avl-tree-p--cmacro|avl-tree-p|avl-tree-size|avl-tree-stack-empty-p|avl-tree-stack-first|avl-tree-stack-p|avl-tree-stack-pop|avl-tree-stack|awk-mode|babel-as-string|background-color-at-point|backquote-delay-process|backquote-list\\\\*-function|backquote-list\\\\*-macro|backquote-list\\\\*|backquote-listify|backquote-process|backquote|backtrace--locals|backtrace-eval|backup-buffer-copy|backup-extract-version|backward-delete-char|backward-ifdef|backward-kill-paragraph|backward-kill-sentence|backward-kill-sexp|backward-kill-word|backward-page|backward-paragraph|backward-sentence|backward-text-line|backward-up-list|bad-package-check|balance-windows-1|balance-windows-2|balance-windows-area-adjust|basic-save-buffer-1|basic-save-buffer-2|basic-save-buffer|bat-cmd-help|bat-mode|bat-run-args|bat-run|bat-template|batch-byte-compile-file|batch-byte-compile-if-not-done|batch-byte-recompile-directory|batch-info-validate|batch-texinfo-format|batch-titdic-convert|batch-unrmail|batch-update-autoloads|battery-bsd-apm|battery-format|battery-linux-proc-acpi|battery-linux-proc-apm|battery-linux-sysfs|battery-pmset|battery-search-for-one-match-in-files|battery-update-handler|battery-update|battery|bb-bol|bb-done|bb-down|bb-eol|bb-goto|bb-init-board|bb-insert-board|bb-left|bb-outside-box|bb-place-ball|bb-right|bb-romp|bb-show-bogus-balls-2|bb-show-bogus-balls|bb-trace-ray-2|bb-trace-ray|bb-up|bb-update-board|beginning-of-buffer-other-window|beginning-of-defun-raw|beginning-of-icon-defun|beginning-of-line-text|beginning-of-sexp|beginning-of-thing|beginning-of-visual-line|benchmark-elapse|benchmark-run-compiled|benchmark-run|benchmark|bib-capitalize-title-region|bib-capitalize-title|bib-find-key|bib-mode|bibtex-Article|bibtex-Book|bibtex-BookInBook|bibtex-Booklet|bibtex-Collection|bibtex-InBook|bibtex-InCollection|bibtex-InProceedings|bibtex-InReference|bibtex-MVBook|bibtex-MVCollection|bibtex-MVProceedings|bibtex-MVReference|bibtex-Manual|bibtex-MastersThesis|bibtex-Misc|bibtex-Online|bibtex-Patent|bibtex-Periodical|bibtex-PhdThesis|bibtex-Preamble|bibtex-Proceedings|bibtex-Reference|bibtex-Report|bibtex-String|bibtex-SuppBook|bibtex-SuppCollection|bibtex-SuppPeriodical|bibtex-TechReport|bibtex-Thesis|bibtex-Unpublished|bibtex-autofill-entry|bibtex-autokey-abbrev|bibtex-autokey-demangle-name|bibtex-autokey-demangle-title|bibtex-autokey-get-field|bibtex-autokey-get-names|bibtex-autokey-get-title|bibtex-autokey-get-year|bibtex-beginning-first-field|bibtex-beginning-of-entry|bibtex-beginning-of-field|bibtex-beginning-of-first-entry|bibtex-button-action|bibtex-button|bibtex-clean-entry|bibtex-complete-crossref-cleanup|bibtex-complete-string-cleanup|bibtex-complete|bibtex-completion-at-point-function|bibtex-convert-alien|bibtex-copy-entry-as-kill|bibtex-copy-field-as-kill|bibtex-copy-summary-as-kill|bibtex-count-entries|bibtex-current-line|bibtex-delete-whitespace|bibtex-display-entries|bibtex-dist|bibtex-edit-menu|bibtex-empty-field|bibtex-enclosing-field|bibtex-end-of-entry|bibtex-end-of-field|bibtex-end-of-name-in-field|bibtex-end-of-string|bibtex-end-of-text-in-field|bibtex-end-of-text-in-string|bibtex-entry-alist|bibtex-entry-index|bibtex-entry-left-delimiter|bibtex-entry-right-delimiter|bibtex-entry-update|bibtex-entry|bibtex-field-left-delimiter|bibtex-field-list|bibtex-field-re-init|bibtex-field-right-delimiter|bibtex-fill-entry|bibtex-fill-field-bounds|bibtex-fill-field|bibtex-find-crossref|bibtex-find-entry|bibtex-find-text-internal|bibtex-find-text|bibtex-flash-head|bibtex-font-lock-cite|bibtex-font-lock-crossref|bibtex-font-lock-url|bibtex-format-entry|bibtex-generate-autokey|bibtex-global-key-alist|bibtex-goto-line|bibtex-init-sort-entry-class-alist|bibtex-initialize|bibtex-insert-kill|bibtex-ispell-abstract|bibtex-ispell-entry|bibtex-key-in-head|bibtex-kill-entry|bibtex-kill-field|bibtex-lessp|bibtex-make-field|bibtex-make-optional-field|bibtex-map-entries|bibtex-mark-entry|bibtex-mode|bibtex-move-outside-of-entry|bibtex-name-in-field|bibtex-narrow-to-entry|bibtex-next-field|bibtex-parse-association|bibtex-parse-buffers-stealthily|bibtex-parse-entry|bibtex-parse-field-name|bibtex-parse-field-string|bibtex-parse-field-text|bibtex-parse-field|bibtex-parse-keys|bibtex-parse-preamble|bibtex-parse-string-postfix|bibtex-parse-string-prefix|bibtex-parse-strings??|bibtex-pop-next|bibtex-pop-previous|bibtex-pop|bibtex-prepare-new-entry|bibtex-print-help-message|bibtex-progress-message|bibtex-read-key|bibtex-read-string-key|bibtex-realign|bibtex-reference-key-in-string|bibtex-reformat|bibtex-remove-OPT-or-ALT|bibtex-remove-delimiters|bibtex-reposition-window|bibtex-search-backward-field|bibtex-search-crossref|bibtex-search-entries|bibtex-search-entry|bibtex-search-forward-field|bibtex-search-forward-string|bibtex-set-dialect|bibtex-skip-to-valid-entry|bibtex-sort-buffer|bibtex-start-of-field|bibtex-start-of-name-in-field|bibtex-start-of-text-in-field|bibtex-start-of-text-in-string|bibtex-string-files-init|bibtex-string=|bibtex-strings|bibtex-style-calculate-indentation|bibtex-style-indent-line|bibtex-style-mode|bibtex-summary|bibtex-text-in-field-bounds|bibtex-text-in-field|bibtex-text-in-string|bibtex-type-in-head|bibtex-url|bibtex-valid-entry|bibtex-validate-globally|bibtex-validate|bibtex-vec-incr|bibtex-vec-push|bibtex-yank-pop|bibtex-yank|bidi-find-overridden-directionality)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)b(?:idi-resolved-levels|inary-overwrite-mode|indat--length-group|indat--pack-group|indat--pack-item|indat--pack-u16r??|indat--pack-u24r??|indat--pack-u32r??|indat--pack-u8|indat--unpack-group|indat--unpack-item|indat--unpack-u16r??|indat--unpack-u24r??|indat--unpack-u32r??|indat--unpack-u8|indat-format-vector|indat-vector-to-dec|indat-vector-to-hex|indings--define-key|inhex-char-int|inhex-char-map|inhex-decode-region-external|inhex-decode-region-internal|inhex-decode-region|inhex-header|inhex-insert-char|inhex-push-char|inhex-string-big-endian|inhex-string-little-endian|inhex-update-crc|inhex-verify-crc|lackbox-mode|lackbox-redefine-key|lackbox|link-cursor-check|link-cursor-end|link-cursor-mode|link-cursor-start|link-cursor-suspend|link-cursor-timer-function|link-matching-check-mismatch|link-paren-post-self-insert-function|lock|ookmark--jump-via|ookmark-alist-from-buffer|ookmark-all-names|ookmark-bmenu-1-window|ookmark-bmenu-2-window|ookmark-bmenu-any-marks|ookmark-bmenu-backup-unmark|ookmark-bmenu-bookmark|ookmark-bmenu-delete-backwards|ookmark-bmenu-delete|ookmark-bmenu-edit-annotation|ookmark-bmenu-ensure-position|ookmark-bmenu-execute-deletions|ookmark-bmenu-filter-alist-by-regexp|ookmark-bmenu-goto-bookmark|ookmark-bmenu-hide-filenames|ookmark-bmenu-list|ookmark-bmenu-load|ookmark-bmenu-locate|ookmark-bmenu-mark|ookmark-bmenu-mode|ookmark-bmenu-other-window-with-mouse|ookmark-bmenu-other-window|ookmark-bmenu-relocate|ookmark-bmenu-rename|ookmark-bmenu-save|ookmark-bmenu-search|ookmark-bmenu-select|ookmark-bmenu-set-header|ookmark-bmenu-show-all-annotations|ookmark-bmenu-show-annotation|ookmark-bmenu-show-filenames|ookmark-bmenu-surreptitiously-rebuild-list|ookmark-bmenu-switch-other-window|ookmark-bmenu-this-window|ookmark-bmenu-toggle-filenames|ookmark-bmenu-unmark|ookmark-buffer-file-name|ookmark-buffer-name|ookmark-completing-read|ookmark-default-annotation-text|ookmark-default-handler|ookmark-delete|ookmark-edit-annotation-mode|ookmark-edit-annotation|ookmark-exit-hook-internal|ookmark-get-annotation|ookmark-get-bookmark-record|ookmark-get-bookmark|ookmark-get-filename|ookmark-get-front-context-string|ookmark-get-handler|ookmark-get-position|ookmark-get-rear-context-string|ookmark-grok-file-format-version|ookmark-handle-bookmark|ookmark-import-new-list|ookmark-insert-annotation|ookmark-insert-file-format-version-stamp|ookmark-insert-location|ookmark-insert|ookmark-jump-noselect|ookmark-jump-other-window|ookmark-jump|ookmark-kill-line|ookmark-load|ookmark-locate|ookmark-location|ookmark-make-record-default|ookmark-make-record|ookmark-map|ookmark-maybe-historicize-string|ookmark-maybe-load-default-file|ookmark-maybe-message|ookmark-maybe-rename|ookmark-maybe-sort-alist|ookmark-maybe-upgrade-file-format|ookmark-menu-popup-paned-menu|ookmark-name-from-full-record|ookmark-prop-get|ookmark-prop-set|ookmark-relocate|ookmark-rename|ookmark-save|ookmark-send-edited-annotation|ookmark-set-annotation|ookmark-set-filename|ookmark-set-front-context-string|ookmark-set-name|ookmark-set-position|ookmark-set-rear-context-string|ookmark-set|ookmark-show-all-annotations|ookmark-show-annotation|ookmark-store|ookmark-time-to-save-p|ookmark-unload-function|ookmark-upgrade-file-format-from-0|ookmark-upgrade-version-0-alist|ookmark-write-file|ookmark-write|ookmark-yank-word|ool-vector|ound-and-true-p|ounds-of-thing-at-point|ovinate|ovine-grammar-mode|rowse-url-at-mouse|rowse-url-at-point|rowse-url-can-use-xdg-open|rowse-url-cci|rowse-url-chromium|rowse-url-default-browser|rowse-url-default-macosx-browser|rowse-url-default-windows-browser|rowse-url-delete-temp-file|rowse-url-elinks-new-window|rowse-url-elinks-sentinel|rowse-url-elinks|rowse-url-emacs-display|rowse-url-emacs|rowse-url-encode-url|rowse-url-epiphany-sentinel|rowse-url-epiphany|rowse-url-file-url|rowse-url-firefox-sentinel|rowse-url-firefox|rowse-url-galeon-sentinel|rowse-url-galeon|rowse-url-generic|rowse-url-gnome-moz|rowse-url-interactive-arg|rowse-url-kde|rowse-url-mail|rowse-url-maybe-new-window|rowse-url-mosaic|rowse-url-mozilla-sentinel|rowse-url-mozilla|rowse-url-netscape-reload|rowse-url-netscape-send|rowse-url-netscape-sentinel|rowse-url-netscape|rowse-url-of-buffer|rowse-url-of-dired-file|rowse-url-of-file|rowse-url-of-region|rowse-url-process-environment|rowse-url-text-emacs|rowse-url-text-xterm|rowse-url-url-at-point|rowse-url-url-encode-chars|rowse-url-w3-gnudoit|rowse-url-w3|rowse-url-xdg-open|rowse-url|rowse-web|s--configuration-name-for-prefix-arg|s--create-header-line|s--current-buffer|s--current-config-message|s--down|s--format-aux|s--get-file-name|s--get-marked-string|s--get-mode-name|s--get-modified-string|s--get-name-length|s--get-name|s--get-readonly-string|s--get-size-string|s--get-value|s--goto-current-buffer|s--insert-one-entry|s--make-header-match-string|s--mark-unmark|s--nth-wrapper|s--redisplay|s--remove-hooks|s--restore-window-config|s--set-toggle-to-show|s--set-window-height|s--show-config-message|s--show-header|s--show-with-configuration|s--sort-by-filename|s--sort-by-mode|s--sort-by-name|s--sort-by-size|s--track-window-changes|s--up|s--update-current-line|s-abort|s-apply-sort-faces|s-buffer-list|s-buffer-sort|s-bury-buffer|s-clear-modified|s-config--all-intern-last|s-config--all|s-config--files-and-scratch|s-config--only-files|s-config-clear|s-customize|s-cycle-next|s-cycle-previous|s-define-sort-function|s-delete-backward|s-delete|s-down|s-help|s-kill|s-mark-current|s-message-without-log|s-mode|s-mouse-select-other-frame|s-mouse-select|s-next-buffer|s-next-config-aux|s-next-config|s-previous-buffer|s-refresh|s-save|s-select-in-one-window|s-select-next-configuration|s-select-other-frame|s-select-other-window|s-select|s-set-configuration-and-refresh|s-set-configuration|s-set-current-buffer-to-show-always|s-set-current-buffer-to-show-never|s-show-in-buffer|s-show-sorted|s-show|s-sort-buffer-interns-are-last|s-tmp-select-other-window|s-toggle-current-to-show|s-toggle-readonly|s-toggle-show-all|s-unload-function|s-unmark-current|s-up|s-view|s-visit-tags-table|s-visits-non-file|ubbles--char-at|ubbles--col|ubbles--colors|ubbles--compute-offsets|ubbles--count|ubbles--empty-char|ubbles--game-over|ubbles--goto|ubbles--grid-height|ubbles--grid-width|ubbles--initialize-faces|ubbles--initialize-images|ubbles--initialize|ubbles--mark-direct-neighbors|ubbles--mark-neighborhood|ubbles--neighborhood-available|ubbles--remove-overlays|ubbles--reset-score|ubbles--row|ubbles--set-faces|ubbles--shift-mode|ubbles--shift|ubbles--show-images|ubbles--show-scores|ubbles--update-faces-or-images|ubbles--update-neighborhood-score|ubbles--update-score|ubbles-customize|ubbles-mode|ubbles-plop|ubbles-quit|ubbles-save-settings|ubbles-set-game-difficult|ubbles-set-game-easy|ubbles-set-game-hard|ubbles-set-game-medium|ubbles-set-game-userdefined|ubbles-set-graphics-theme-ascii|ubbles-set-graphics-theme-balls|ubbles-set-graphics-theme-circles|ubbles-set-graphics-theme-diamonds|ubbles-set-graphics-theme-emacs|ubbles-set-graphics-theme-squares|ubbles-undo|ubbles|uffer-face-mode-invoke|uffer-face-mode|uffer-face-set|uffer-face-toggle|uffer-has-markers-at|uffer-menu-open|uffer-menu-other-window|uffer-menu|uffer-stale--default-function|uffer-substring--filter|uffer-substring-with-bidi-context|ug-reference-fontify|ug-reference-mode|ug-reference-prog-mode|ug-reference-push-button|ug-reference-set-overlay-properties|ug-reference-unfontify|uild-mail-abbrevs|uild-mail-aliases|ury-buffer-internal|utterfly|utton--area-button-p|utton--area-button-string|utton-category-symbol|yte-code|yte-compile--declare-var|yte-compile--reify-function|yte-compile-abbreviate-file|yte-compile-and-folded|yte-compile-and-recursion|yte-compile-and|yte-compile-annotate-call-tree|yte-compile-arglist-signature-string|yte-compile-arglist-signature|yte-compile-arglist-signatures-congruent-p|yte-compile-arglist-vars|yte-compile-arglist-warn|yte-compile-associative|yte-compile-autoload|yte-compile-backward-char|yte-compile-backward-word|yte-compile-bind|yte-compile-body-do-effect|yte-compile-body|yte-compile-butlast|yte-compile-callargs-warn|yte-compile-catch|yte-compile-char-before|yte-compile-check-lambda-list|yte-compile-check-variable|yte-compile-cl-file-p|yte-compile-cl-warn|yte-compile-close-variables|yte-compile-concat|yte-compile-cond|yte-compile-condition-case--new|yte-compile-condition-case--old|yte-compile-condition-case|yte-compile-constant|yte-compile-constants-vector|yte-compile-defvar|yte-compile-delete-first|yte-compile-dest-file|yte-compile-disable-warning|yte-compile-discard|yte-compile-dynamic-variable-bind|yte-compile-dynamic-variable-op|yte-compile-enable-warning|yte-compile-eval-before-compile|yte-compile-eval|yte-compile-fdefinition|yte-compile-file-form-autoload|yte-compile-file-form-custom-declare-variable|yte-compile-file-form-defalias|yte-compile-file-form-define-abbrev-table|yte-compile-file-form-defmumble|yte-compile-file-form-defvar|yte-compile-file-form-eval|yte-compile-file-form-progn|yte-compile-file-form-require|yte-compile-file-form-with-no-warnings|yte-compile-file-form|yte-compile-find-bound-condition|yte-compile-find-cl-functions|yte-compile-fix-header|yte-compile-flush-pending|yte-compile-form-do-effect|yte-compile-form-make-variable-buffer-local|yte-compile-form|yte-compile-format-warn|yte-compile-from-buffer|yte-compile-fset|yte-compile-funcall|yte-compile-function-form|yte-compile-function-warn|yte-compile-get-closed-var|yte-compile-get-constant|yte-compile-goto-if|yte-compile-goto|yte-compile-if|yte-compile-indent-to|yte-compile-inline-expand|yte-compile-inline-lapcode|yte-compile-insert-header|yte-compile-insert|yte-compile-keep-pending|yte-compile-lambda-form|yte-compile-lambda|yte-compile-lapcode|yte-compile-let|yte-compile-list|yte-compile-log-1|yte-compile-log-file|yte-compile-log-lap-1|yte-compile-log-lap|yte-compile-log-warning|yte-compile-log|yte-compile-macroexpand-declare-function|yte-compile-make-args-desc|yte-compile-make-closure|yte-compile-make-lambda-lexenv|yte-compile-make-obsolete-variable|yte-compile-make-tag|yte-compile-make-variable-buffer-local|yte-compile-maybe-guarded|yte-compile-minus|yte-compile-nconc|yte-compile-negated|yte-compile-negation-optimizer|yte-compile-nilconstp|yte-compile-no-args|yte-compile-no-warnings|yte-compile-nogroup-warn|yte-compile-noop|yte-compile-normal-call|yte-compile-not-lexical-var-p|yte-compile-one-arg|yte-compile-one-or-two-args|yte-compile-or-recursion|yte-compile-or|yte-compile-out-tag|yte-compile-out-toplevel|yte-compile-out|yte-compile-output-as-comment|yte-compile-output-docform|yte-compile-output-file-form|yte-compile-preprocess|yte-compile-print-syms|yte-compile-prog1|yte-compile-prog2|yte-compile-progn|yte-compile-push-binding-init|yte-compile-push-bytecode-const2|yte-compile-push-bytecodes|yte-compile-push-constant|yte-compile-quo|yte-compile-quote|yte-compile-recurse-toplevel|yte-compile-refresh-preloaded|yte-compile-report-error|yte-compile-report-ops|yte-compile-save-current-buffer|yte-compile-save-excursion|yte-compile-save-restriction|yte-compile-set-default|yte-compile-set-symbol-position|yte-compile-setq-default|yte-compile-setq|yte-compile-sexp|yte-compile-stack-adjustment|yte-compile-stack-ref|yte-compile-stack-set|yte-compile-subr-wrong-args|yte-compile-three-args|yte-compile-top-level-body|yte-compile-top-level|yte-compile-toplevel-file-form|yte-compile-trueconstp|yte-compile-two-args|yte-compile-two-or-three-args|yte-compile-unbind|yte-compile-unfold-bcf|yte-compile-unfold-lambda|yte-compile-unwind-protect|yte-compile-variable-ref)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:byte-compile-variable-set|byte-compile-warn-about-unresolved-functions|byte-compile-warn-obsolete|byte-compile-warn|byte-compile-warning-enabled-p|byte-compile-warning-prefix|byte-compile-warning-series|byte-compile-while|byte-compile-zero-or-one-arg|byte-compiler-base-file-name|byte-decompile-bytecode-1|byte-decompile-bytecode|byte-defop-compiler-1|byte-defop-compiler|byte-defop|byte-extrude-byte-code-vectors|byte-force-recompile|byte-optimize-all-constp|byte-optimize-and|byte-optimize-apply|byte-optimize-approx-equal|byte-optimize-associative-math|byte-optimize-binary-predicate|byte-optimize-body|byte-optimize-cond|byte-optimize-delay-constants-math|byte-optimize-divide|byte-optimize-form-code-walker|byte-optimize-form|byte-optimize-funcall|byte-optimize-identity|byte-optimize-if|byte-optimize-inline-handler|byte-optimize-lapcode|byte-optimize-letX|byte-optimize-logmumble|byte-optimize-minus|byte-optimize-multiply|byte-optimize-nonassociative-math|byte-optimize-nth|byte-optimize-nthcdr|byte-optimize-or|byte-optimize-plus|byte-optimize-predicate|byte-optimize-quote|byte-optimize-set|byte-optimize-while|byte-recompile-file|byteorder|c\\\\+\\\\+-font-lock-keywords-2|c\\\\+\\\\+-font-lock-keywords-3|c\\\\+\\\\+-font-lock-keywords|c\\\\+\\\\+-mode|c--macroexpand-all|c-add-class-syntax|c-add-language|c-add-stmt-syntax|c-add-style|c-add-syntax|c-add-type|c-advise-fl-for-region|c-after-change-check-<>-operators|c-after-change|c-after-conditional|c-after-font-lock-init|c-after-special-operator-id|c-after-statement-terminator-p|c-append-backslashes-forward|c-append-lower-brace-pair-to-state-cache|c-append-syntax|c-append-to-state-cache|c-ascertain-following-literal|c-ascertain-preceding-literal|c-at-expression-start-p|c-at-macro-vsemi-p|c-at-statement-start-p|c-at-toplevel-p|c-at-vsemi-p|c-awk-menu|c-back-over-illiterals|c-back-over-member-initializer-braces|c-back-over-member-initializers|c-backslash-region|c-backward-<>-arglist|c-backward-colon-prefixed-type|c-backward-comments|c-backward-conditional|c-backward-into-nomenclature|c-backward-over-enum-header|c-backward-sexp|c-backward-single-comment|c-backward-sws|c-backward-syntactic-ws|c-backward-to-block-anchor|c-backward-to-decl-anchor|c-backward-to-nth-BOF-\\\\{|c-backward-token-1|c-backward-token-2|c-basic-common-init|c-before-change-check-<>-operators|c-before-change|c-before-hack-hook|c-beginning-of-current-token|c-beginning-of-decl-1|c-beginning-of-defun-1|c-beginning-of-defun|c-beginning-of-inheritance-list|c-beginning-of-macro|c-beginning-of-sentence-in-comment|c-beginning-of-sentence-in-string|c-beginning-of-statement-1|c-beginning-of-statement|c-beginning-of-syntax|c-benign-error|c-bind-special-erase-keys|c-block-in-arglist-dwim|c-bos-pop-state-and-retry|c-bos-pop-state|c-bos-push-state|c-bos-report-error|c-bos-restore-pos|c-bos-save-error-info|c-bos-save-pos|c-brace-anchor-point|c-brace-newlines|c-c\\\\+\\\\+-menu|c-c-menu|c-calc-comment-indent|c-calc-offset|c-calculate-state|c-change-set-fl-decl-start|c-cheap-inside-bracelist-p|c-check-type|c-clear-<-pair-props-if-match-after|c-clear-<-pair-props|c-clear-<>-pair-props|c-clear->-pair-props-if-match-before|c-clear->-pair-props|c-clear-c-type-property|c-clear-char-properties|c-clear-char-property-with-value-function|c-clear-char-property-with-value|c-clear-char-property|c-clear-cpp-delimiters|c-clear-found-types|c-collect-line-comments|c-comment-indent|c-comment-line-break-function|c-comment-out-cpps|c-common-init|c-compose-keywords-list|c-concat-separated|c-constant-symbol|c-context-line-break|c-context-open-line|c-context-set-fl-decl-start|c-count-cfss|c-cpp-define-name|c-crosses-statement-barrier-p|c-debug-add-face|c-debug-parse-state-double-cons|c-debug-parse-state|c-debug-put-decl-spot-faces|c-debug-remove-decl-spot-faces|c-debug-remove-face|c-debug-sws-msg|c-declaration-limits|c-declare-lang-variables|c-default-value-sentence-end|c-define-abbrev-table|c-define-lang-constant|c-defun-name|c-delete-and-extract-region|c-delete-backslashes-forward|c-delete-overlay|c-determine-\\\\+ve-limit|c-determine-limit-get-base|c-determine-limit|c-do-auto-fill|c-down-conditional-with-else|c-down-conditional|c-down-list-backward|c-down-list-forward|c-echo-parsing-error|c-electric-backspace|c-electric-brace|c-electric-colon|c-electric-continued-statement|c-electric-delete-forward|c-electric-delete|c-electric-indent-local-mode-hook|c-electric-indent-mode-hook|c-electric-lt-gt|c-electric-paren|c-electric-pound|c-electric-semi&comma|c-electric-slash|c-electric-star|c-end-of-current-token|c-end-of-decl-1|c-end-of-defun-1|c-end-of-defun|c-end-of-macro|c-end-of-sentence-in-comment|c-end-of-sentence-in-string|c-end-of-statement|c-evaluate-offset|c-extend-after-change-region|c-extend-font-lock-region-for-macros|c-extend-region-for-CPP|c-face-name-p|c-fdoc-shift-type-backward|c-fill-paragraph|c-find-assignment-for-mode|c-find-decl-prefix-search|c-find-decl-spots|c-find-invalid-doc-markup|c-fn-region-is-active-p|c-font-lock-<>-arglists|c-font-lock-c\\\\+\\\\+-new|c-font-lock-complex-decl-prepare|c-font-lock-declarations|c-font-lock-declarators|c-font-lock-doc-comments|c-font-lock-enclosing-decls|c-font-lock-enum-tail|c-font-lock-fontify-region|c-font-lock-init|c-font-lock-invalid-string|c-font-lock-keywords-2|c-font-lock-keywords-3|c-font-lock-keywords|c-font-lock-labels|c-font-lock-objc-methods??|c-fontify-recorded-types-and-refs|c-fontify-types-and-refs|c-forward-<>-arglist-recur|c-forward-<>-arglist|c-forward-annotation|c-forward-comments|c-forward-conditional|c-forward-decl-or-cast-1|c-forward-id-comma-list|c-forward-into-nomenclature|c-forward-keyword-clause|c-forward-keyword-prefixed-id|c-forward-label|c-forward-name|c-forward-objc-directive|c-forward-over-cpp-define-id|c-forward-over-illiterals|c-forward-sexp|c-forward-single-comment|c-forward-sws|c-forward-syntactic-ws|c-forward-to-cpp-define-body|c-forward-to-nth-EOF-}|c-forward-token-1|c-forward-token-2|c-forward-type|c-get-cache-scan-pos|c-get-char-property|c-get-current-file|c-get-lang-constant|c-get-offset|c-get-style-variables|c-get-syntactic-indentation|c-gnu-impose-minimum|c-go-down-list-backward|c-go-down-list-forward|c-go-list-backward|c-go-list-forward|c-go-up-list-backward|c-go-up-list-forward|c-got-face-at|c-guess-accumulate-offset|c-guess-accumulate|c-guess-basic-syntax|c-guess-buffer-no-install|c-guess-buffer|c-guess-continued-construct|c-guess-current-offset|c-guess-dump-accumulator|c-guess-dump-guessed-style|c-guess-dump-guessed-values|c-guess-empty-line-p|c-guess-examine|c-guess-fill-prefix|c-guess-guess|c-guess-guessed-syntactic-symbols|c-guess-install|c-guess-make-basic-offset|c-guess-make-offsets-alist|c-guess-make-style|c-guess-merge-offsets-alists|c-guess-no-install|c-guess-region-no-install|c-guess-region|c-guess-reset-accumulator|c-guess-sort-accumulator|c-guess-style-name|c-guess-symbolize-integer|c-guess-symbolize-offsets-alist|c-guess-view-mark-guessed-entries|c-guess-view-reorder-offsets-alist-in-style|c-guess-view|c-guess|c-hungry-backspace|c-hungry-delete-backwards|c-hungry-delete-forward|c-hungry-delete|c-idl-menu|c-in-comment-line-prefix-p|c-in-function-trailer-p|c-in-gcc-asm-p|c-in-knr-argdecl|c-in-literal|c-in-method-def-p|c-indent-command|c-indent-defun|c-indent-exp|c-indent-line-or-region|c-indent-line|c-indent-multi-line-block|c-indent-new-comment-line|c-indent-one-line-block|c-indent-region|c-init-language-vars-for|c-initialize-builtin-style|c-initialize-cc-mode|c-inside-bracelist-p|c-int-to-char|c-intersect-lists|c-invalidate-find-decl-cache|c-invalidate-macro-cache|c-invalidate-state-cache-1|c-invalidate-state-cache|c-invalidate-sws-region-after|c-java-menu|c-just-after-func-arglist-p|c-keep-region-active|c-keyword-member|c-keyword-sym|c-lang-const|c-lang-defconst-eval-immediately|c-lang-defconst|c-lang-major-mode-is|c-langelem-2nd-pos|c-langelem-col|c-langelem-pos|c-langelem-sym|c-last-command-char|c-least-enclosing-brace|c-leave-cc-mode-mode|c-lineup-C-comments|c-lineup-ObjC-method-args-2|c-lineup-ObjC-method-args|c-lineup-ObjC-method-call-colons|c-lineup-ObjC-method-call|c-lineup-after-whitesmith-blocks|c-lineup-argcont-scan|c-lineup-argcont|c-lineup-arglist-close-under-paren|c-lineup-arglist-intro-after-paren|c-lineup-arglist-operators|c-lineup-arglist|c-lineup-assignments|c-lineup-cascaded-calls|c-lineup-close-paren|c-lineup-comment|c-lineup-cpp-define|c-lineup-dont-change|c-lineup-gcc-asm-reg|c-lineup-gnu-DEFUN-intro-cont|c-lineup-inexpr-block|c-lineup-java-inher|c-lineup-java-throws|c-lineup-knr-region-comment|c-lineup-math|c-lineup-multi-inher|c-lineup-respect-col-0|c-lineup-runin-statements|c-lineup-streamop|c-lineup-string-cont|c-lineup-template-args|c-lineup-topmost-intro-cont|c-lineup-whitesmith-in-block|c-list-found-types|c-literal-limits-fast|c-literal-limits|c-literal-type|c-looking-at-bos|c-looking-at-decl-block|c-looking-at-inexpr-block-backward|c-looking-at-inexpr-block|c-looking-at-non-alphnumspace|c-looking-at-special-brace-list|c-lookup-lists|c-macro-display-buffer|c-macro-expand|c-macro-expansion|c-macro-is-genuine-p|c-macro-vsemi-status-unknown-p|c-major-mode-is|c-make-bare-char-alt|c-make-font-lock-BO-decl-search-function|c-make-font-lock-context-search-function|c-make-font-lock-extra-types-blurb|c-make-font-lock-search-form|c-make-font-lock-search-function|c-make-inherited-keymap|c-make-inverse-face|c-make-keywords-re|c-make-macro-with-semi-re|c-make-styles-buffer-local|c-make-syntactic-matcher|c-mark-<-as-paren|c-mark->-as-paren|c-mark-function|c-mask-paragraph|c-mode-menu|c-mode-symbol|c-mode-var|c-mode|c-most-enclosing-brace|c-most-enclosing-decl-block|c-narrow-to-comment-innards|c-narrow-to-most-enclosing-decl-block|c-neutralize-CPP-line|c-neutralize-syntax-in-and-mark-CPP|c-newline-and-indent|c-next-single-property-change|c-objc-menu|c-on-identifier|c-one-line-string-p|c-outline-level|c-override-default-keywords|c-parse-state-1|c-parse-state-get-strategy|c-parse-state|c-partial-ws-p|c-pike-menu|c-point-syntax|c-point|c-populate-syntax-table|c-postprocess-file-styles|c-progress-fini|c-progress-init|c-progress-update|c-pull-open-brace|c-punctuation-in|c-put-c-type-property|c-put-char-property-fun|c-put-char-property|c-put-font-lock-face|c-put-font-lock-string-face|c-put-in-sws|c-put-is-sws|c-put-overlay|c-query-and-set-macro-start|c-query-macro-start|c-read-offset|c-real-parse-state|c-record-parse-state-state|c-record-ref-id|c-record-type-id|c-regexp-opt-depth|c-regexp-opt|c-region-is-active-p|c-remove-any-local-eval-or-mode-variables|c-remove-font-lock-face|c-remove-in-sws|c-remove-is-and-in-sws|c-remove-is-sws|c-remove-stale-state-cache-backwards|c-remove-stale-state-cache|c-renarrow-state-cache|c-replay-parse-state-state|c-restore-<->-as-parens|c-run-mode-hooks|c-safe-position|c-safe-scan-lists|c-safe|c-save-buffer-state|c-sc-parse-partial-sexp-no-category|c-sc-parse-partial-sexp|c-sc-scan-lists-no-category\\\\+1\\\\+1|c-sc-scan-lists-no-category\\\\+1-1|c-sc-scan-lists-no-category-1\\\\+1|c-sc-scan-lists-no-category-1-1|c-sc-scan-lists|c-scan-conditionals|c-scope-operator|c-search-backward-char-property|c-search-decl-header-end|c-search-forward-char-property|c-search-uplist-for-classkey|c-semi&comma-inside-parenlist|c-semi&comma-no-newlines-before-nonblanks|c-semi&comma-no-newlines-for-oneline-inliners|c-sentence-end|c-set-cpp-delimiters|c-set-fl-decl-start|c-set-offset|c-set-region-active|c-set-style-1|c-set-style|c-set-stylevar-fallback|c-setup-doc-comment-style|c-setup-filladapt|c-setup-paragraph-variables|c-shift-line-indentation|c-show-syntactic-information|c-simple-skip-symbol-backward|c-skip-comments-and-strings|c-skip-conditional|c-skip-ws-backward|c-skip-ws-forward|c-snug-1line-defun-close|c-snug-do-while|c-ssb-lit-begin|c-state-balance-parens-backwards|c-state-cache-after-top-paren|c-state-cache-init|c-state-cache-non-literal-place|c-state-cache-top-lparen|c-state-cache-top-paren|c-state-get-min-scan-pos|c-state-lit-beg|c-state-literal-at|c-state-mark-point-min-literal|c-state-maybe-marker|c-state-pp-to-literal|c-state-push-any-brace-pair|c-state-safe-place|c-state-semi-safe-place|c-submit-bug-report|c-subword-mode|c-suppress-<->-as-parens|c-syntactic-content|c-syntactic-end-of-macro|c-syntactic-information-on-region|c-syntactic-re-search-forward|c-syntactic-skip-backward|c-tentative-buffer-changes|c-tnt-chng-cleanup)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)c(?:-tnt-chng-record-state|-toggle-auto-hungry-state|-toggle-auto-newline|-toggle-auto-state|-toggle-electric-state|-toggle-hungry-state|-toggle-parse-state-debug|-toggle-syntactic-indentation|-trim-found-types|-try-one-liner|-uncomment-out-cpps|-unfind-coalesced-tokens|-unfind-enclosing-token|-unfind-type|-unmark-<->-as-paren|-up-conditional-with-else|-up-conditional|-up-list-backward|-up-list-forward|-update-modeline|-valid-offset|-version|-vsemi-status-unknown-p|-whack-state-after|-whack-state-before|-where-wrt-brace-construct|-while-widening-to-decl-block|-widen-to-enclosing-decl-scope|-with-<->-as-parens-suppressed|-with-all-but-one-cpps-commented-out|-with-cpps-commented-out|-with-syntax-table|aaaar|aaadr|aaar|aadar|aaddr|aadr|adaar|adadr|adar|addar|adddr|addr|al-html-cursor-month|al-html-cursor-year|al-menu-context-mouse-menu|al-menu-global-mouse-menu|al-menu-holiday-window-suffix|al-menu-set-date-title|al-menu-x-popup-menu|al-tex-cursor-day|al-tex-cursor-filofax-2week|al-tex-cursor-filofax-daily|al-tex-cursor-filofax-week|al-tex-cursor-filofax-year|al-tex-cursor-month-landscape|al-tex-cursor-month|al-tex-cursor-week-iso|al-tex-cursor-week-monday|al-tex-cursor-week|al-tex-cursor-week2-summary|al-tex-cursor-week2|al-tex-cursor-year-landscape|al-tex-cursor-year|alc-alg-digit-entry|alc-alg-entry|alc-algebraic-entry|alc-align-stack-window|alc-auto-algebraic-entry|alc-big-or-small|alc-binary-op|alc-change-sign|alc-check-defines|alc-check-stack|alc-check-trail-aligned|alc-check-user-syntax|alc-clear-unread-commands|alc-count-lines|alc-create-buffer|alc-cursor-stack-index|alc-dispatch-help|alc-dispatch|alc-divide|alc-do-alg-entry|alc-do-calc-eval|alc-do-dispatch|alc-do-embedded-activate|alc-do-handle-whys|alc-do-quick-calc|alc-do-refresh|alc-do|alc-embedded-activate|alc-embedded|alc-enter-result|alc-enter|alc-eval|alc-get-stack-element|alc-grab-rectangle|alc-grab-region|alc-grab-sum-across|alc-grab-sum-down|alc-handle-whys|alc-help|alc-info-goto-node|alc-info-summary|alc-info|alc-inv|alc-keypad|alc-kill-stack-buffer|alc-last-args-stub|alc-left-divide|alc-match-user-syntax|alc-minibuffer-contains|alc-minibuffer-size|alc-minus|alc-missing-key|alc-mod|alc-mode-var-list-restore-default-values|alc-mode-var-list-restore-saved-values|alc-normalize|alc-num-prefix-name|alc-other-window|alc-over|alc-percent|alc-plus|alc-pop-above|alc-pop-push-list|alc-pop-push-record-list|alc-pop-stack|alc-pop|alc-power|alc-push-list|alc-quit|alc-read-key-sequence|alc-read-key|alc-record-list|alc-record-undo|alc-record-why|alc-record|alc-refresh|alc-renumber-stack|alc-report-bug|alc-roll-down-stack|alc-roll-down|alc-roll-up-stack|alc-roll-up|alc-same-interface|alc-select-buffer|alc-set-command-flag|alc-set-mode-line|alc-shift-Y-prefix-help|alc-slow-wrapper|alc-stack-size|alc-substack-height|alc-temp-minibuffer-message|alc-times|alc-top-list-n|alc-top-list|alc-top-n|alc-top|alc-trail-buffer|alc-trail-display|alc-trail-here|alc-transpose-lines|alc-tutorial|alc-unary-op|alc-undo|alc-unread-command|alc-user-invocation|alc-window-width|alc-with-default-simplification|alc-with-trail-buffer|alc-wrapper|alc-yank|alc|alcDigit-algebraic|alcDigit-backspace|alcDigit-edit|alcDigit-key|alcDigit-letter|alcDigit-nondigit|alcDigit-start|alcFunc-floor|alcFunc-inv|alcFunc-trunc|alculate-icon-indent|alculate-lisp-indent|alculate-tcl-indent|alculator-add-operators|alculator-backspace|alculator-clear-fragile|alculator-clear-saved|alculator-clear|alculator-close-paren|alculator-copy|alculator-dec/deg-mode|alculator-decimal|alculator-digit|alculator-displayer-next|alculator-displayer-prev|alculator-eng-display|alculator-enter|alculator-expt??|alculator-fact|alculator-funcall|alculator-get-display|alculator-get-register|alculator-groupize-number|alculator-help|alculator-last-input|alculator-menu|alculator-message|alculator-mode|alculator-need-3-lines|alculator-number-to-string|alculator-op-arity|alculator-op-or-exp|alculator-op-prec|alculator-op|alculator-open-paren|alculator-paste|alculator-push-curnum|alculator-put-value|alculator-quit|alculator-radix-input-mode|alculator-radix-mode|alculator-radix-output-mode|alculator-reduce-stack-once|alculator-reduce-stack|alculator-remove-zeros|alculator-repL|alculator-repR|alculator-reset|alculator-rotate-displayer-back|alculator-rotate-displayer|alculator-save-and-quit|alculator-save-on-list|alculator-saved-down|alculator-saved-move|alculator-saved-up|alculator-set-register|alculator-standard-displayer|alculator-string-to-number|alculator-truncate|alculator-update-display|alculator|alendar-abbrev-construct|alendar-absolute-from-gregorian|alendar-astro-date-string|alendar-astro-from-absolute|alendar-astro-goto-day-number|alendar-astro-print-day-number|alendar-astro-to-absolute|alendar-backward-day|alendar-backward-month|alendar-backward-week|alendar-backward-year|alendar-bahai-date-string|alendar-bahai-goto-date|alendar-bahai-mark-date-pattern|alendar-bahai-print-date|alendar-basic-setup|alendar-beginning-of-month|alendar-beginning-of-week|alendar-beginning-of-year|alendar-buffer-list|alendar-check-holidays|alendar-chinese-date-string|alendar-chinese-goto-date|alendar-chinese-print-date|alendar-column-to-segment|alendar-coptic-date-string|alendar-coptic-goto-date|alendar-coptic-print-date|alendar-count-days-region|alendar-current-date|alendar-cursor-holidays|alendar-cursor-to-date|alendar-cursor-to-nearest-date|alendar-cursor-to-visible-date|alendar-customized-p|alendar-date-compare|alendar-date-equal|alendar-date-is-valid-p|alendar-date-is-visible-p|alendar-date-string|alendar-day-header-construct|alendar-day-name|alendar-day-number|alendar-day-of-week|alendar-day-of-year-string|alendar-dayname-on-or-before|alendar-end-of-month|alendar-end-of-week|alendar-end-of-year|alendar-ensure-newline|alendar-ethiopic-date-string|alendar-ethiopic-goto-date|alendar-ethiopic-print-date|alendar-exchange-point-and-mark|alendar-exit|alendar-extract-day|alendar-extract-month|alendar-extract-year|alendar-forward-day|alendar-forward-month|alendar-forward-week|alendar-forward-year|alendar-frame-setup|alendar-french-date-string|alendar-french-goto-date|alendar-french-print-date|alendar-generate-month|alendar-generate-window|alendar-generate|alendar-goto-date|alendar-goto-day-of-year|alendar-goto-info-node|alendar-goto-today|alendar-gregorian-from-absolute|alendar-hebrew-date-string|alendar-hebrew-goto-date|alendar-hebrew-list-yahrzeits|alendar-hebrew-mark-date-pattern|alendar-hebrew-print-date|alendar-holiday-list|alendar-in-read-only-buffer|alendar-increment-month-cons|alendar-increment-month|alendar-insert-at-column|alendar-interval|alendar-islamic-date-string|alendar-islamic-goto-date|alendar-islamic-mark-date-pattern|alendar-islamic-print-date|alendar-iso-date-string|alendar-iso-from-absolute|alendar-iso-goto-date|alendar-iso-goto-week|alendar-iso-print-date|alendar-julian-date-string|alendar-julian-from-absolute|alendar-julian-goto-date|alendar-julian-print-date|alendar-last-day-of-month|alendar-leap-year-p|alendar-list-holidays|alendar-lunar-phases|alendar-make-alist|alendar-make-temp-face|alendar-mark-1|alendar-mark-complex|alendar-mark-date-pattern|alendar-mark-days-named|alendar-mark-holidays|alendar-mark-month|alendar-mark-today|alendar-mark-visible-date|alendar-mayan-date-string|alendar-mayan-goto-long-count-date|alendar-mayan-next-haab-date|alendar-mayan-next-round-date|alendar-mayan-next-tzolkin-date|alendar-mayan-previous-haab-date|alendar-mayan-previous-round-date|alendar-mayan-previous-tzolkin-date|alendar-mayan-print-date|alendar-mode-line-entry|alendar-mode|alendar-month-edges|alendar-month-name|alendar-mouse-view-diary-entries|alendar-mouse-view-other-diary-entries|alendar-move-to-column|alendar-nongregorian-visible-p|alendar-not-implemented|alendar-nth-named-absday|alendar-nth-named-day|alendar-other-dates|alendar-other-month|alendar-persian-date-string|alendar-persian-goto-date|alendar-persian-print-date|alendar-print-day-of-year|alendar-print-other-dates|alendar-read-date|alendar-read|alendar-recompute-layout-variables|alendar-redraw|alendar-scroll-left-three-months|alendar-scroll-left|alendar-scroll-right-three-months|alendar-scroll-right|alendar-scroll-toolkit-scroll|alendar-set-date-style|alendar-set-layout-variable|alendar-set-mark|alendar-set-mode-line|alendar-star-date|alendar-string-spread|alendar-sum|alendar-sunrise-sunset-month|alendar-sunrise-sunset|alendar-unmark|alendar-update-mode-line|alendar-week-end-day|alendar|all-last-kbd-macro|all-next-method|allf2??|ancel-edebug-on-entry|ancel-function-timers|ancel-kbd-macro-events|ancel-timer-internal|anlock-insert-header|anlock-verify|anonicalize-coding-system-name|anonically-space-region|apitalized-words-mode|ar-less-than-car|ase-table-get-table|ase|c-choose-style-for-mode|c-eval-when-compile|c-imenu-init|c-imenu-java-build-type-args-regex|c-imenu-objc-function|c-imenu-objc-method-to-selector|c-imenu-objc-remove-white-space|cl-compile|cl-dump|cl-execute-on-string|cl-execute-with-args|cl-execute|cl-program-p|conv--analyze-function|conv--analyze-use|conv--convert-function|conv--map-diff-elem|conv--map-diff-set|conv--map-diff|conv--set-diff-map|conv--set-diff|conv-analyse-form|conv-analyze-form|conv-closure-convert|conv-convert|conv-warnings-only|d-absolute|d|daaar|daadr|daar|dadar|daddr|dadr|ddaar|ddadr|ddar|dddar|ddddr|dddr|dl-get-file|dl-put-region|edet-version|eiling\\\\*|enter-line|enter-paragraph|enter-region|fengine-auto-mode|fengine-common-settings|fengine-common-syntax|fengine-fill-paragraph|fengine-mode|fengine2-beginning-of-defun|fengine2-end-of-defun|fengine2-indent-line|fengine2-mode|fengine2-outline-level|fengine3--current-function|fengine3-beginning-of-defun|fengine3-clear-syntax-cache|fengine3-completion-function|fengine3-create-imenu-index|fengine3-current-defun|fengine3-documentation-function|fengine3-end-of-defun|fengine3-format-function-docstring|fengine3-indent-line|fengine3-make-syntax-cache|fengine3-mode|hange-class|hange-log-beginning-of-defun|hange-log-end-of-defun|hange-log-fill-forward-paragraph|hange-log-fill-parenthesized-list|hange-log-find-file|hange-log-get-method-definition-1|hange-log-get-method-definition|hange-log-goto-source-1|hange-log-goto-source|hange-log-indent|hange-log-merge|hange-log-mode|hange-log-name|hange-log-next-buffer|hange-log-next-error|hange-log-resolve-conflict|hange-log-search-file-name|hange-log-search-tag-name-1|hange-log-search-tag-name|hange-log-sortable-date-at|hange-log-version-number-search|har-resolve-modifiers|har-valid-p|harset-bytes|harset-chars|harset-description|harset-dimension|harset-id-internal|harset-id|harset-info|harset-iso-final-char|harset-long-name|harset-short-name|hart-add-sequence|hart-axis-child-p|hart-axis-draw|hart-axis-list-p|hart-axis-names-child-p|hart-axis-names-list-p|hart-axis-names-p|hart-axis-names|hart-axis-p|hart-axis-range-child-p|hart-axis-range-list-p|hart-axis-range-p|hart-axis-range|hart-axis|hart-bar-child-p|hart-bar-list-p|hart-bar-p|hart-bar-quickie|hart-bar|hart-child-p|hart-deface-rectangle|hart-display-label|hart-draw-axis|hart-draw-data|hart-draw-line|hart-draw-title|hart-draw|hart-emacs-lists|hart-emacs-storage|hart-file-count|hart-goto-xy|hart-list-p|hart-mode|hart-new-buffer|hart-p|hart-rmail-from|hart-sequece-child-p|hart-sequece-list-p|hart-sequece-p|hart-sequece|hart-size-in-dir|hart-sort-matchlist|hart-sort|hart-space-usage|hart-test-it-all|hart-translate-namezone|hart-translate-xpos|hart-translate-ypos|hart-trim|hart-zap-chars|hart|heck-ccl-program|heck-completion-length|heck-declare-directory|heck-declare-errmsg|heck-declare-files??|heck-declare-locate|heck-declare-scan|heck-declare-sort|heck-declare-verify|heck-declare-warn)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)c(?:heck-face|heck-ispell-version|heck-parens|heck-type|heckdoc-autofix-ask-replace|heckdoc-buffer-label|heckdoc-char=|heckdoc-comments|heckdoc-continue|heckdoc-create-common-verbs-regexp|heckdoc-create-error|heckdoc-current-buffer|heckdoc-defun-info|heckdoc-defun|heckdoc-delete-overlay|heckdoc-display-status-buffer|heckdoc-error-end|heckdoc-error-start|heckdoc-error-text|heckdoc-error-unfixable|heckdoc-error|heckdoc-eval-current-buffer|heckdoc-eval-defun|heckdoc-file-comments-engine|heckdoc-in-example-string-p|heckdoc-in-sample-code-p|heckdoc-interactive-ispell-loop|heckdoc-interactive-loop|heckdoc-interactive|heckdoc-ispell-comments|heckdoc-ispell-continue|heckdoc-ispell-current-buffer|heckdoc-ispell-defun|heckdoc-ispell-docstring-engine|heckdoc-ispell-init|heckdoc-ispell-interactive|heckdoc-ispell-message-interactive|heckdoc-ispell-message-text|heckdoc-ispell-start|heckdoc-ispell|heckdoc-list-of-strings-p|heckdoc-make-overlay|heckdoc-message-interactive-ispell-loop|heckdoc-message-interactive|heckdoc-message-text-engine|heckdoc-message-text-next-string|heckdoc-message-text-search|heckdoc-message-text|heckdoc-mode-line-update|heckdoc-next-docstring|heckdoc-next-error|heckdoc-next-message-error|heckdoc-output-mode|heckdoc-outside-major-sexp|heckdoc-overlay-end|heckdoc-overlay-put|heckdoc-overlay-start|heckdoc-proper-noun-region-engine|heckdoc-recursive-edit|heckdoc-rogue-space-check-engine|heckdoc-rogue-spaces|heckdoc-run-hooks|heckdoc-sentencespace-region-engine|heckdoc-show-diagnostics|heckdoc-start-section|heckdoc-start|heckdoc-this-string-valid-engine|heckdoc-this-string-valid|heckdoc-y-or-n-p|heckdoc|hild-of-class-p|hmod|hoose-completion-delete-max-match|hoose-completion-guess-base-position|hoose-completion-string|hoose-completion|l--adjoin|l--arglist-args|l--block-throw--cmacro|l--block-throw|l--block-wrapper--cmacro|l--block-wrapper|l--check-key|l--check-match|l--check-test-nokey|l--check-test|l--compile-time-too|l--compiler-macro-adjoin|l--compiler-macro-assoc|l--compiler-macro-cXXr|l--compiler-macro-get|l--compiler-macro-list\\\\*|l--compiler-macro-member|l--compiler-macro-typep|l--compiling-file|l--const-expr-p|l--const-expr-val|l--defalias|l--defsubst-expand|l--delete-duplicates|l--do-arglist|l--do-prettyprint|l--do-proclaim|l--do-remf|l--do-subst|l--expand-do-loop|l--expr-contains-any|l--expr-contains|l--expr-depends-p|l--finite-do|l--function-convert|l--gv-adapt|l--labels-convert|l--letf|l--loop-build-ands|l--loop-handle-accum|l--loop-let|l--loop-set-iterator-function|l--macroexp-fboundp|l--make-type-test|l--make-usage-args|l--make-usage-var|l--map-intervals|l--map-keymap-recursively|l--map-overlays|l--mapcar-many|l--nsublis-rec|l--parse-loop-clause|l--parsing-keywords|l--pass-args-to-cl-declare|l--pop2|l--position|l--random-time|l--safe-expr-p|l--set-buffer-substring|l--set-frame-visible-p|l--set-getf|l--set-substring|l--simple-expr-p|l--simple-exprs-p|l--sm-macroexpand|l--struct-epg-context-p--cmacro|l--struct-epg-context-p|l--struct-epg-data-p--cmacro|l--struct-epg-data-p|l--struct-epg-import-result-p--cmacro|l--struct-epg-import-result-p|l--struct-epg-import-status-p--cmacro|l--struct-epg-import-status-p|l--struct-epg-key-p--cmacro|l--struct-epg-key-p|l--struct-epg-key-signature-p--cmacro|l--struct-epg-key-signature-p|l--struct-epg-new-signature-p--cmacro|l--struct-epg-new-signature-p|l--struct-epg-sig-notation-p--cmacro|l--struct-epg-sig-notation-p|l--struct-epg-signature-p--cmacro|l--struct-epg-signature-p|l--struct-epg-sub-key-p--cmacro|l--struct-epg-sub-key-p|l--struct-epg-user-id-p--cmacro|l--struct-epg-user-id-p|l--sublis-rec|l--sublis|l--transform-lambda|l--tree-equal-rec|l--unused-var-p|l--wrap-in-nil-block|l-caaaar|l-caaadr|l-caaar|l-caadar|l-caaddr|l-caadr|l-cadaar|l-cadadr|l-cadar|l-caddar|l-cadddr|l-cdaaar|l-cdaadr|l-cdaar|l-cdadar|l-cdaddr|l-cdadr|l-cddaar|l-cddadr|l-cddar|l-cdddar|l-cddddr|l-cdddr|l-clrhash|l-copy-seq|l-copy-tree|l-digit-char-p|l-eighth|l-fifth|l-flet\\\\*|l-floatp-safe|l-fourth|l-fresh-line|l-gethash|l-hash-table-count|l-hash-table-p|l-maclisp-member|l-macroexpand-all|l-macroexpand|l-make-hash-table|l-map-extents|l-map-intervals|l-map-keymap-recursively|l-map-keymap|l-maphash|l-multiple-value-apply|l-multiple-value-call|l-multiple-value-list|l-ninth|l-not-hash-table|l-nreconc|l-nth-value|l-parse-integer|l-prettyprint|l-puthash|l-remhash|l-revappend|l-second|l-set-getf|l-seventh|l-signum|l-sixth|l-struct-sequence-type|l-struct-setf-expander|l-struct-slot-info|l-struct-slot-offset|l-struct-slot-value--cmacro|l-struct-slot-value|l-svref|l-tenth|l-third|l-unload-function|l-values-list|l-values|lass-abstract-p|lass-children|lass-constructor|lass-direct-subclasses|lass-direct-superclasses|lass-method-invocation-order|lass-name|lass-of|lass-option-assoc|lass-option|lass-p|lass-parents??|lass-precedence-list|lass-slot-initarg|lass-v|lean-buffer-list-delay|lean-buffer-list|lear-all-completions|lear-buffer-auto-save-failure|lear-charset-maps|lear-face-cache|lear-font-cache|lear-rectangle-line|lear-rectangle|lipboard-kill-region|lipboard-kill-ring-save|lipboard-yank|lone-buffer|lone-indirect-buffer-other-window|lone-process|lone|lose-display-connection|lose-font|lose-rectangle|mpl-coerce-string-case|mpl-hours-since-origin|mpl-merge-string-cases|mpl-prefix-entry-head|mpl-prefix-entry-tail|mpl-string-case-type|oding-system-base|oding-system-category|oding-system-doc-string|oding-system-eol-type-mnemonic|oding-system-equal|oding-system-from-name|oding-system-lessp|oding-system-mnemonic|oding-system-plist|oding-system-post-read-conversion|oding-system-pre-write-conversion|oding-system-put|oding-system-translation-table-for-decode|oding-system-translation-table-for-encode|oding-system-type|oerce|olor-cie-de2000|olor-clamp|olor-complement-hex|olor-complement|olor-darken-hsl|olor-darken-name|olor-desaturate-hsl|olor-desaturate-name|olor-distance|olor-gradient|olor-hsl-to-rgb|olor-hue-to-rgb|olor-lab-to-srgb|olor-lab-to-xyz|olor-lighten-hsl|olor-lighten-name|olor-name-to-rgb|olor-rgb-to-hex|olor-rgb-to-hsl|olor-rgb-to-hsv|olor-saturate-hsl|olor-saturate-name|olor-srgb-to-lab|olor-srgb-to-xyz|olor-xyz-to-lab|olor-xyz-to-srgb|olumn-number-mode|ombine-after-change-execute|omint--complete-file-name-data|omint--match-partial-filename|omint--requote-argument|omint--unquote&expand-filename|omint--unquote&requote-argument|omint--unquote-argument|omint-accumulate|omint-add-to-input-history|omint-adjust-point|omint-adjust-window-point|omint-after-pmark-p|omint-append-output-to-file|omint-args|omint-arguments|omint-backward-matching-input|omint-bol-or-process-mark|omint-bol|omint-c-a-p-replace-by-expanded-history|omint-carriage-motion|omint-check-proc|omint-check-source|omint-completion-at-point|omint-completion-file-name-table|omint-continue-subjob|omint-copy-old-input|omint-delchar-or-maybe-eof|omint-delete-input|omint-delete-output|omint-delim-arg|omint-directory|omint-dynamic-complete-as-filename|omint-dynamic-complete-filename|omint-dynamic-complete|omint-dynamic-list-completions|omint-dynamic-list-filename-completions|omint-dynamic-list-input-ring-select|omint-dynamic-list-input-ring|omint-dynamic-simple-complete|omint-exec-1|omint-exec|omint-extract-string|omint-filename-completion|omint-forward-matching-input|omint-get-next-from-history|omint-get-old-input-default|omint-get-source|omint-goto-input|omint-goto-process-mark|omint-history-isearch-backward-regexp|omint-history-isearch-backward|omint-history-isearch-end|omint-history-isearch-message|omint-history-isearch-pop-state|omint-history-isearch-push-state|omint-history-isearch-search|omint-history-isearch-setup|omint-history-isearch-wrap|omint-how-many-region|omint-insert-input|omint-insert-previous-argument|omint-interrupt-subjob|omint-kill-input|omint-kill-region|omint-kill-subjob|omint-kill-whole-line|omint-line-beginning-position|omint-magic-space|omint-match-partial-filename|omint-mode|omint-next-input|omint-next-matching-input-from-input|omint-next-matching-input|omint-next-prompt|omint-output-filter|omint-postoutput-scroll-to-bottom|omint-preinput-scroll-to-bottom|omint-previous-input-string|omint-previous-input|omint-previous-matching-input-from-input|omint-previous-matching-input-string-position|omint-previous-matching-input-string|omint-previous-matching-input|omint-previous-prompt|omint-proc-query|omint-quit-subjob|omint-quote-filename|omint-read-input-ring|omint-read-noecho|omint-redirect-cleanup|omint-redirect-filter|omint-redirect-preoutput-filter|omint-redirect-remove-redirection|omint-redirect-results-list-from-process|omint-redirect-results-list|omint-redirect-send-command-to-process|omint-redirect-send-command|omint-redirect-setup|omint-regexp-arg|omint-replace-by-expanded-filename|omint-replace-by-expanded-history-before-point|omint-replace-by-expanded-history|omint-restore-input|omint-run|omint-search-arg|omint-search-start|omint-send-eof|omint-send-input|omint-send-region|omint-send-string|omint-set-process-mark|omint-show-maximum-output|omint-show-output|omint-simple-send|omint-skip-input|omint-skip-prompt|omint-snapshot-last-prompt|omint-source-default|omint-stop-subjob|omint-strip-ctrl-m|omint-substitute-in-file-name|omint-truncate-buffer|omint-unquote-filename|omint-update-fence|omint-watch-for-password-prompt|omint-within-quotes|omint-word|omint-write-input-ring|omint-write-output|ommand-apropos|ommand-error-default-function|ommand-history-mode|ommand-history-repeat|ommand-line-1|ommand-line-normalize-file-name|omment-add|omment-beginning|omment-box|omment-choose-indent|omment-dwim|omment-enter-backward|omment-forward|omment-indent-default|omment-indent-new-line|omment-indent|omment-kill|omment-make-extra-lines|omment-normalize-vars|omment-only-p|omment-or-uncomment-region|omment-padleft|omment-padright|omment-quote-nested|omment-quote-re|omment-region-default|omment-region-internal|omment-region|omment-search-backward|omment-search-forward|omment-set-column|omment-string-reverse|omment-string-strip|omment-valid-prefix-p|omment-with-narrowing|ommon-lisp-indent-function|ommon-lisp-mode|ompare-windows-dehighlight|ompare-windows-get-next-window|ompare-windows-get-recent-window|ompare-windows-highlight|ompare-windows-skip-whitespace|ompare-windows-sync-default-function|ompare-windows-sync-regexp|ompare-windows|ompilation--compat-error-properties|ompilation--compat-parse-errors|ompilation--ensure-parse|ompilation--file-struct->file-spec|ompilation--file-struct->formats|ompilation--file-struct->loc-tree|ompilation--flush-directory-cache|ompilation--flush-file-structure|ompilation--flush-parse|ompilation--loc->col|ompilation--loc->file-struct|ompilation--loc->line|ompilation--loc->marker|ompilation--loc->visited|ompilation--make-cdrloc|ompilation--make-file-struct|ompilation--make-message--cmacro|ompilation--make-message|ompilation--message->end-loc--cmacro|ompilation--message->end-loc|ompilation--message->loc--cmacro|ompilation--message->loc|ompilation--message->type--cmacro|ompilation--message->type|ompilation--message-p--cmacro|ompilation--message-p|ompilation--parse-region|ompilation--previous-directory|ompilation--put-prop|ompilation--remove-properties|ompilation--unsetup|ompilation-auto-jump|ompilation-buffer-internal-p|ompilation-buffer-name|ompilation-buffer-p|ompilation-button-map|ompilation-directory-properties|ompilation-display-error|ompilation-error-properties|ompilation-face|ompilation-fake-loc|ompilation-filter|ompilation-find-buffer|ompilation-find-file|ompilation-forget-errors|ompilation-get-file-structure|ompilation-goto-locus-delete-o|ompilation-goto-locus|ompilation-handle-exit|ompilation-internal-error-properties|ompilation-loop|ompilation-minor-mode|ompilation-mode-font-lock-keywords|ompilation-mode|ompilation-move-to-column|ompilation-next-error-function|ompilation-next-error|ompilation-next-file|ompilation-next-single-property-change)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)c(?:ompilation-parse-errors|ompilation-previous-error|ompilation-previous-file|ompilation-read-command|ompilation-revert-buffer|ompilation-sentinel|ompilation-set-skip-threshold|ompilation-set-window-height|ompilation-set-window|ompilation-setup|ompilation-shell-minor-mode|ompilation-start|ompile-goto-error|ompile-mouse-goto-error|ompile|ompiler-macroexpand|omplete-in-turn|omplete-symbol|omplete-tag|omplete-with-action|omplete|ompleting-read-default|ompleting-read-multiple|ompletion--cache-all-sorted-completions|ompletion--capf-wrapper|ompletion--common-suffix|ompletion--complete-and-exit|ompletion--cycle-threshold|ompletion--do-completion|ompletion--done|ompletion--embedded-envvar-table|ompletion--field-metadata|ompletion--file-name-table|ompletion--flush-all-sorted-completions|ompletion--in-region-1|ompletion--in-region|ompletion--insert-strings|ompletion--make-envvar-table|ompletion--merge-suffix|ompletion--message|ompletion--metadata|ompletion--nth-completion|ompletion--post-self-insert|ompletion--replace|ompletion--sifn-requote|ompletion--some|ompletion--string-equal-p|ompletion--styles|ompletion--try-word-completion|ompletion--twq-all|ompletion--twq-try|ompletion-all-completions|ompletion-all-sorted-completions|ompletion-backup-filename|ompletion-basic--pattern|ompletion-basic-all-completions|ompletion-basic-try-completion|ompletion-before-command|ompletion-c-mode-hook|ompletion-complete-and-exit|ompletion-def-wrapper|ompletion-emacs21-all-completions|ompletion-emacs21-try-completion|ompletion-emacs22-all-completions|ompletion-emacs22-try-completion|ompletion-file-name-table|ompletion-find-file-hook|ompletion-help-at-point|ompletion-hilit-commonality|ompletion-in-region--postch|ompletion-in-region--single-word|ompletion-in-region-mode|ompletion-initialize|ompletion-initials-all-completions|ompletion-initials-expand|ompletion-initials-try-completion|ompletion-kill-region|ompletion-last-use-time|ompletion-lisp-mode-hook|ompletion-list-mode-finish|ompletion-list-mode|ompletion-metadata-get|ompletion-metadata|ompletion-mode|ompletion-num-uses|ompletion-pcm--all-completions|ompletion-pcm--filename-try-filter|ompletion-pcm--find-all-completions|ompletion-pcm--hilit-commonality|ompletion-pcm--merge-completions|ompletion-pcm--merge-try|ompletion-pcm--optimize-pattern|ompletion-pcm--pattern->regex|ompletion-pcm--pattern->string|ompletion-pcm--pattern-trivial-p|ompletion-pcm--prepare-delim-re|ompletion-pcm--string->pattern|ompletion-pcm-all-completions|ompletion-pcm-try-completion|ompletion-search-next|ompletion-search-peek|ompletion-search-reset-1|ompletion-search-reset|ompletion-setup-fortran-mode|ompletion-setup-function|ompletion-source|ompletion-string|ompletion-substring--all-completions|ompletion-substring-all-completions|ompletion-substring-try-completion|ompletion-table-with-context|ompletion-try-completion|ompose-chars-after|ompose-chars|ompose-glyph-string-relative|ompose-glyph-string|ompose-gstring-for-dotted-circle|ompose-gstring-for-graphic|ompose-gstring-for-terminal|ompose-gstring-for-variation-glyph|ompose-last-chars|ompose-mail-other-frame|ompose-mail-other-window|ompose-mail|ompose-region-internal|ompose-region|ompose-string-internal|ompose-string|omposition-get-gstring|oncatenate|ondition-case-no-debug|onf-align-assignments|onf-colon-mode|onf-javaprop-mode|onf-mode-initialize|onf-mode-maybe|onf-mode|onf-outline-level|onf-ppd-mode|onf-quote-normal|onf-space-keywords|onf-space-mode-internal|onf-space-mode|onf-unix-mode|onf-windows-mode|onf-xdefaults-mode|onfirm-nonexistent-file-or-buffer|onstructor|onvert-define-charset-argument|ookie-apropos|ookie-check-file|ookie-doctor|ookie-insert|ookie-read|ookie-shuffle-vector|ookie-snarf|ookie1??|opy-case-table|opy-cvs-flags|opy-cvs-tag|opy-dir-locals-to-file-locals-prop-line|opy-dir-locals-to-file-locals|opy-ebrowse-bs|opy-ebrowse-cs|opy-ebrowse-hs|opy-ebrowse-ms|opy-ebrowse-position|opy-ebrowse-ts|opy-erc-channel-user|opy-erc-response|opy-erc-server-user|opy-ert--ewoc-entry|opy-ert--stats|opy-ert--test-execution-info|opy-ert-test-aborted-with-non-local-exit|opy-ert-test-failed|opy-ert-test-passed|opy-ert-test-quit|opy-ert-test-result-with-condition|opy-ert-test-result|opy-ert-test-skipped|opy-ert-test|opy-ewoc--node|opy-ewoc|opy-face|opy-file-locals-to-dir-locals|opy-flymake-ler|opy-gdb-handler|opy-gdb-table|opy-htmlize-fstruct|opy-js--js-handle|opy-js--pitem|opy-list|opy-package--bi-desc|opy-package-desc|opy-profiler-calltree|opy-profiler-profile|opy-rectangle-as-kill|opy-rectangle-to-register|opy-seq|opy-ses--locprn|opy-sgml-tag|opy-soap-array-type|opy-soap-basic-type|opy-soap-binding|opy-soap-bound-operation|opy-soap-element|opy-soap-message|opy-soap-namespace-link|opy-soap-namespace|opy-soap-operation|opy-soap-port-type|opy-soap-port|opy-soap-sequence-element|opy-soap-sequence-type|opy-soap-simple-type|opy-soap-wsdl|opy-tar-header|opy-to-buffer|opy-to-register|opy-url-queue|opyright-find-copyright|opyright-find-end|opyright-fix-years|opyright-limit|opyright-offset-too-large-p|opyright-re-search|opyright-start-point|opyright-update-directory|opyright-update-year|opyright-update|opyright|ount-if-not|ount-if|ount-lines-page|ount-lines-region|ount-matches|ount-text-lines|ount-trailing-whitespace-region|ount-windows|ount-words--buffer-message|ount-words--message|ount-words-region|ount|perl-1\\\\+|perl-1-|perl-add-tags-recurse-noxs-fullpath|perl-add-tags-recurse-noxs|perl-add-tags-recurse|perl-after-block-and-statement-beg|perl-after-block-p|perl-after-change-function|perl-after-expr-p|perl-after-label|perl-after-sub-regexp|perl-at-end-of-expr|perl-backward-to-noncomment|perl-backward-to-start-of-continued-exp|perl-backward-to-start-of-expr|perl-beautify-level|perl-beautify-regexp-piece|perl-beautify-regexp|perl-beginning-of-property|perl-block-p|perl-build-manpage|perl-cached-syntax-table|perl-calculate-indent-within-comment|perl-calculate-indent|perl-check-syntax|perl-choose-color|perl-comment-indent|perl-comment-region|perl-commentify|perl-contract-levels??|perl-db|perl-define-key|perl-delay-update-hook|perl-describe-perl-symbol|perl-do-auto-fill|perl-electric-backspace|perl-electric-brace|perl-electric-else|perl-electric-keyword|perl-electric-lbrace|perl-electric-paren|perl-electric-pod|perl-electric-rparen|perl-electric-semi|perl-electric-terminator|perl-emulate-lazy-lock|perl-enable-font-lock|perl-ensure-newlines|perl-etags|perl-facemenu-add-face-function|perl-fill-paragraph|perl-find-bad-style|perl-find-pods-heres-region|perl-find-pods-heres|perl-find-sub-attrs|perl-find-tags|perl-fix-line-spacing|perl-font-lock-fontify-region-function|perl-font-lock-unfontify-region-function|perl-fontify-syntaxically|perl-fontify-update-bad|perl-fontify-update|perl-forward-group-in-re|perl-forward-re|perl-forward-to-end-of-expr|perl-get-help-defer|perl-get-help|perl-get-here-doc-region|perl-get-state|perl-here-doc-spell|perl-highlight-charclass|perl-imenu--create-perl-index|perl-imenu-addback|perl-imenu-info-imenu-name|perl-imenu-info-imenu-search|perl-imenu-name-and-position|perl-imenu-on-info|perl-indent-command|perl-indent-exp|perl-indent-for-comment|perl-indent-line|perl-indent-region|perl-info-buffer|perl-info-on-command|perl-info-on-current-command|perl-init-faces-weak|perl-init-faces|perl-inside-parens-p|perl-invert-if-unless-modifiers|perl-invert-if-unless|perl-lazy-hook|perl-lazy-install|perl-lazy-unstall|perl-linefeed|perl-lineup|perl-list-fold|perl-load-font-lock-keywords-1|perl-load-font-lock-keywords-2|perl-load-font-lock-keywords|perl-look-at-leading-count|perl-make-indent|perl-make-regexp-x|perl-map-pods-heres|perl-mark-active|perl-menu-to-keymap|perl-menu|perl-mode|perl-modify-syntax-type|perl-msb-fix|perl-narrow-to-here-doc|perl-next-bad-style|perl-next-interpolated-REx-0|perl-next-interpolated-REx-1|perl-next-interpolated-REx|perl-outline-level|perl-perldoc-at-point|perl-perldoc|perl-pod-spell|perl-pod-to-manpage|perl-pod2man-build-command|perl-postpone-fontification|perl-protect-defun-start|perl-ps-print-init|perl-ps-print|perl-put-do-not-fontify|perl-putback-char|perl-regext-to-level-start|perl-select-this-pod-or-here-doc|perl-set-style-back|perl-set-style|perl-setup-tmp-buf|perl-sniff-for-indent|perl-switch-to-doc-buffer|perl-tags-hier-fill|perl-tags-hier-init|perl-tags-treeify|perl-time-fontification|perl-to-comment-or-eol|perl-toggle-abbrev|perl-toggle-auto-newline|perl-toggle-autohelp|perl-toggle-construct-fix|perl-toggle-electric|perl-toggle-set-debug-unwind|perl-uncomment-region|perl-unwind-to-safe|perl-update-syntaxification|perl-use-region-p|perl-val|perl-windowed-init|perl-word-at-point-hard|perl-word-at-point|perl-write-tags|perl-xsub-scan|pp-choose-branch|pp-choose-default-face|pp-choose-face|pp-choose-symbol|pp-create-bg-face|pp-edit-apply|pp-edit-background|pp-edit-false|pp-edit-home|pp-edit-known|pp-edit-list-entry-get-or-create|pp-edit-load|pp-edit-mode|pp-edit-reset|pp-edit-save|pp-edit-toggle-known|pp-edit-toggle-unknown|pp-edit-true|pp-edit-unknown|pp-edit-write|pp-face-name|pp-grow-overlay|pp-highlight-buffer|pp-make-button|pp-make-known-overlay|pp-make-overlay-hidden|pp-make-overlay-read-only|pp-make-overlay-sticky|pp-make-unknown-overlay|pp-parse-close|pp-parse-edit|pp-parse-error|pp-parse-open|pp-parse-reset|pp-progress-message|pp-push-button|pp-signal-read-only|reate-default-fontset|reate-fontset-from-ascii-font|reate-fontset-from-x-resource|reate-glyph|rm--choose-completion-string|rm--collection-fn|rm--completion-command|rm--current-element|rm-complete-and-exit|rm-complete-word|rm-complete|rm-completion-help|rm-minibuffer-complete-and-exit|rm-minibuffer-complete|rm-minibuffer-completion-help|ss--font-lock-keywords|ss-current-defun-name|ss-extract-keyword-list|ss-extract-parse-val-grammar|ss-extract-props-and-vals|ss-fill-paragraph|ss-mode|ss-smie--backward-token|ss-smie--forward-token|ss-smie-rules|text-non-standard-encodings-table|text-post-read-conversion|text-pre-write-conversion|tl-x-4-prefix|tl-x-5-prefix|tl-x-ctl-p-prefix|ua--M/H-key|ua--deactivate|ua--fallback|ua--filter-buffer-noprops|ua--init-keymaps|ua--keep-active|ua--post-command-handler-1|ua--post-command-handler|ua--pre-command-handler-1|ua--pre-command-handler|ua--prefix-arg|ua--prefix-copy-handler|ua--prefix-cut-handler|ua--prefix-override-handler|ua--prefix-override-replay|ua--prefix-override-timeout|ua--prefix-repeat-handler|ua--select-keymaps|ua--self-insert-char-p|ua--shift-control-c-prefix|ua--shift-control-prefix|ua--shift-control-x-prefix|ua--update-indications|ua-cancel|ua-copy-region|ua-cut-region|ua-debug|ua-delete-region|ua-exchange-point-and-mark|ua-help-for-region|ua-mode|ua-paste-pop|ua-paste|ua-pop-to-last-change|ua-rectangle-mark-mode|ua-scroll-down|ua-scroll-up|ua-selection-mode|ua-set-mark|ua-set-rectangle-mark|ua-toggle-global-mark|urrent-line|ustom--frame-color-default|ustom--initialize-widget-variables|ustom--sort-vars-1|ustom--sort-vars|ustom-add-dependencies|ustom-add-link|ustom-add-load|ustom-add-option|ustom-add-package-version|ustom-add-parent-links|ustom-add-see-also|ustom-add-to-group|ustom-add-version|ustom-autoload|ustom-available-themes|ustom-browse-face-tag-action|ustom-browse-group-tag-action|ustom-browse-insert-prefix|ustom-browse-variable-tag-action|ustom-browse-visibility-action|ustom-buffer-create-internal|ustom-buffer-create-other-window|ustom-buffer-create|ustom-check-theme|ustom-command-apply|ustom-comment-create|ustom-comment-hide|ustom-comment-invisible-p|ustom-comment-show|ustom-convert-widget|ustom-current-group|ustom-declare-face|ustom-declare-group|ustom-declare-theme|ustom-declare-variable|ustom-face-action|ustom-face-attributes-get|ustom-face-edit-activate|ustom-face-edit-all|ustom-face-edit-attribute-tag|ustom-face-edit-convert-widget)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:custom-face-edit-deactivate|custom-face-edit-delete|custom-face-edit-fix-value|custom-face-edit-lisp|custom-face-edit-selected|custom-face-edit-value-create|custom-face-edit-value-visibility-action|custom-face-get-current-spec|custom-face-mark-to-reset-standard|custom-face-mark-to-save|custom-face-menu-create|custom-face-reset-saved|custom-face-reset-standard|custom-face-save-command|custom-face-save|custom-face-set|custom-face-standard-value|custom-face-state-set-and-redraw|custom-face-state-set|custom-face-state|custom-face-value-create|custom-face-widget-to-spec|custom-facep|custom-file|custom-filter-face-spec|custom-fix-face-spec|custom-get-fresh-buffer|custom-group-action|custom-group-link-action|custom-group-mark-to-reset-standard|custom-group-mark-to-save|custom-group-members|custom-group-menu-create|custom-group-of-mode|custom-group-reset-current|custom-group-reset-saved|custom-group-reset-standard|custom-group-sample-face-get|custom-group-save|custom-group-set|custom-group-state-set-and-redraw|custom-group-state-update|custom-group-value-create|custom-group-visibility-create|custom-guess-type|custom-handle-all-keywords|custom-handle-keyword|custom-hook-convert-widget|custom-initialize-changed|custom-initialize-default|custom-initialize-reset|custom-initialize-set|custom-load-symbol|custom-load-widget|custom-magic-reset|custom-magic-value-create|custom-make-theme-feature|custom-menu-create|custom-menu-filter|custom-mode|custom-note-var-changed|custom-notify|custom-post-filter-face-spec|custom-pre-filter-face-spec|custom-prefix-add|custom-prompt-customize-unsaved-options|custom-prompt-variable|custom-push-theme|custom-put-if-not|custom-quote|custom-redraw-magic|custom-redraw|custom-reset-faces|custom-reset-standard-save-and-update|custom-reset-variables|custom-reset|custom-save-all|custom-save-delete|custom-save-faces|custom-save-variables|custom-set-default|custom-set-minor-mode|custom-show|custom-sort-items|custom-split-regexp-maybe|custom-state-buffer-message|custom-tag-action|custom-tag-mouse-down-action|custom-theme--load-path|custom-theme-enabled-p|custom-theme-load-confirm|custom-theme-name-valid-p|custom-theme-recalc-face|custom-theme-recalc-variable|custom-theme-reset-faces|custom-theme-reset-variables|custom-theme-visit-theme|custom-toggle-hide-face|custom-toggle-hide-variable|custom-toggle-hide|custom-toggle-parent|custom-unlispify-menu-entry|custom-unlispify-tag-name|custom-unloaded-symbol-p|custom-unloaded-widget-p|custom-unsaved-options|custom-variable-action|custom-variable-backup-value|custom-variable-documentation|custom-variable-edit-lisp|custom-variable-edit|custom-variable-mark-to-reset-standard|custom-variable-mark-to-save|custom-variable-menu-create|custom-variable-prompt|custom-variable-reset-backup|custom-variable-reset-saved|custom-variable-reset-standard|custom-variable-save|custom-variable-set|custom-variable-standard-value|custom-variable-state-set-and-redraw|custom-variable-state-set|custom-variable-state|custom-variable-theme-value|custom-variable-type|custom-variable-value-create|customize-apropos-faces|customize-apropos-groups|customize-apropos-options|customize-apropos|customize-browse|customize-changed-options|customize-changed|customize-create-theme|customize-customized|customize-face-other-window|customize-face|customize-group-other-window|customize-group|customize-mark-as-set|customize-mark-to-save|customize-menu-create|customize-mode|customize-object|customize-option-other-window|customize-option|customize-package-emacs-version|customize-project|customize-push-and-save|customize-read-group|customize-rogue|customize-save-customized|customize-save-variable|customize-saved|customize-set-value|customize-set-variable|customize-target|customize-themes|customize-unsaved|customize-variable-other-window|customize-variable|customize-version-lessp|customize|cvs-add-branch-prefix|cvs-add-face|cvs-add-secondary-branch-prefix|cvs-addto-collection|cvs-append-to-ignore|cvs-append|cvs-applicable-p|cvs-buffer-check|cvs-buffer-p|cvs-bury-buffer|cvs-car|cvs-cdr|cvs-change-cvsroot|cvs-check-fileinfo|cvs-checkout|cvs-cleanup-collection|cvs-cleanup-removed|cvs-cmd-do|cvs-commit-filelist|cvs-commit-minor-wrap|cvs-create-fileinfo|cvs-defaults|cvs-diff-backup-extractor|cvs-dir-member-p|cvs-dired-noselect|cvs-do-commit|cvs-do-edit-log|cvs-do-match|cvs-do-removal|cvs-ediff-diff|cvs-ediff-exit-hook|cvs-ediff-merge|cvs-ediff-startup-hook|cvs-edit-log-filelist|cvs-edit-log-minor-wrap|cvs-edit-log-text-at-point|cvs-emerge-diff|cvs-emerge-merge|cvs-enabledp|cvs-every|cvs-examine|cvs-execute-single-file-list|cvs-execute-single-file|cvs-expand-dir-name|cvs-file-to-string|cvs-fileinfo->backup-file|cvs-fileinfo->base-rev--cmacro|cvs-fileinfo->base-rev|cvs-fileinfo->dir--cmacro|cvs-fileinfo->dir|cvs-fileinfo->file--cmacro|cvs-fileinfo->file|cvs-fileinfo->full-log--cmacro|cvs-fileinfo->full-log|cvs-fileinfo->full-name|cvs-fileinfo->full-path|cvs-fileinfo->head-rev--cmacro|cvs-fileinfo->head-rev|cvs-fileinfo->marked--cmacro|cvs-fileinfo->marked|cvs-fileinfo->merge--cmacro|cvs-fileinfo->merge|cvs-fileinfo->pp-name|cvs-fileinfo->subtype--cmacro|cvs-fileinfo->subtype|cvs-fileinfo->type--cmacro|cvs-fileinfo->type|cvs-fileinfo-from-entries|cvs-fileinfo-p--cmacro|cvs-fileinfo-pp??|cvs-fileinfo-update|cvs-fileinfo<|cvs-find-modif|cvs-first|cvs-flags-defaults--cmacro|cvs-flags-defaults|cvs-flags-define|cvs-flags-desc--cmacro|cvs-flags-desc|cvs-flags-hist-sym--cmacro|cvs-flags-hist-sym|cvs-flags-p--cmacro|cvs-flags-p|cvs-flags-persist--cmacro|cvs-flags-persist|cvs-flags-qtypedesc--cmacro|cvs-flags-qtypedesc|cvs-flags-query|cvs-flags-set|cvs-get-buffer-create|cvs-get-cvsroot|cvs-get-marked|cvs-get-module|cvs-global-menu|cvs-header-msg|cvs-help|cvs-ignore-marks-p|cvs-insert-file|cvs-insert-strings|cvs-insert-visited-file|cvs-is-within-p|cvs-make-cvs-buffer|cvs-map|cvs-mark-buffer-changed|cvs-mark-fis-dead|cvs-match|cvs-menu|cvs-minor-mode|cvs-mode!|cvs-mode-acknowledge|cvs-mode-add-change-log-entry-other-window|cvs-mode-add|cvs-mode-byte-compile-files|cvs-mode-checkout|cvs-mode-commit-setup|cvs-mode-commit|cvs-mode-delete-lock|cvs-mode-diff-1|cvs-mode-diff-backup|cvs-mode-diff-head|cvs-mode-diff-map|cvs-mode-diff-repository|cvs-mode-diff-vendor|cvs-mode-diff-yesterday|cvs-mode-diff|cvs-mode-display-file|cvs-mode-do|cvs-mode-edit-log|cvs-mode-examine|cvs-mode-files|cvs-mode-find-file-other-window|cvs-mode-find-file|cvs-mode-force-command|cvs-mode-idiff-other|cvs-mode-idiff|cvs-mode-ignore|cvs-mode-imerge|cvs-mode-insert|cvs-mode-kill-buffers|cvs-mode-kill-process|cvs-mode-log|cvs-mode-map|cvs-mode-mark-all-files|cvs-mode-mark-get-modif|cvs-mode-mark-matching-files|cvs-mode-mark-on-state|cvs-mode-mark|cvs-mode-marked|cvs-mode-next-line|cvs-mode-previous-line|cvs-mode-quit|cvs-mode-remove-handled|cvs-mode-remove|cvs-mode-revert-buffer|cvs-mode-revert-to-rev|cvs-mode-run|cvs-mode-set-flags|cvs-mode-status|cvs-mode-tag|cvs-mode-toggle-marks??|cvs-mode-tree|cvs-mode-undo|cvs-mode-unmark-all-files|cvs-mode-unmark-up|cvs-mode-unmark|cvs-mode-untag|cvs-mode-update|cvs-mode-view-file-other-window|cvs-mode-view-file|cvs-mode|cvs-mouse-toggle-mark|cvs-move-to-goal-column|cvs-or|cvs-parse-buffer|cvs-parse-commit|cvs-parse-merge|cvs-parse-msg|cvs-parse-process|cvs-parse-run-table|cvs-parse-status|cvs-parse-table|cvs-parsed-fileinfo|cvs-partition|cvs-pop-to-buffer-same-frame|cvs-prefix-define|cvs-prefix-get|cvs-prefix-make-local|cvs-prefix-set|cvs-prefix-sym|cvs-qtypedesc-complete--cmacro|cvs-qtypedesc-complete|cvs-qtypedesc-create--cmacro|cvs-qtypedesc-create|cvs-qtypedesc-hist-sym--cmacro|cvs-qtypedesc-hist-sym|cvs-qtypedesc-obj2str--cmacro|cvs-qtypedesc-obj2str|cvs-qtypedesc-p--cmacro|cvs-qtypedesc-p|cvs-qtypedesc-require--cmacro|cvs-qtypedesc-require|cvs-qtypedesc-str2obj--cmacro|cvs-qtypedesc-str2obj|cvs-query-directory|cvs-query-read|cvs-quickdir|cvs-reread-cvsrc|cvs-retrieve-revision|cvs-revert-if-needed|cvs-run-process|cvs-sentinel|cvs-set-branch-prefix|cvs-set-secondary-branch-prefix|cvs-status-current-file|cvs-status-current-tag|cvs-status-cvstrees|cvs-status-get-tags|cvs-status-minor-wrap|cvs-status-mode|cvs-status-next|cvs-status-prev|cvs-status-trees|cvs-status-vl-to-str|cvs-status|cvs-string-prefix-p|cvs-tag->name--cmacro|cvs-tag->name|cvs-tag->string|cvs-tag->type--cmacro|cvs-tag->type|cvs-tag->vlist--cmacro|cvs-tag->vlist|cvs-tag-compare-1|cvs-tag-compare|cvs-tag-lessp|cvs-tag-make--cmacro|cvs-tag-make-tag|cvs-tag-make|cvs-tag-merge|cvs-tag-p--cmacro|cvs-tag-p|cvs-tags->tree|cvs-tags-list|cvs-temp-buffer|cvs-tree-merge|cvs-tree-print|cvs-tree-tags-insert|cvs-union|cvs-update-filter|cvs-update-header|cvs-update|cvs-vc-command-advice|cwarn-font-lock-keywords|cwarn-font-lock-match-assignment-in-expression|cwarn-font-lock-match-dangerous-semicolon|cwarn-font-lock-match-reference|cwarn-font-lock-match|cwarn-inside-macro|cwarn-is-enabled|cwarn-mode-set-explicitly|cwarn-mode|cycle-spacing|cyrillic-encode-alternativnyj-char|cyrillic-encode-koi8-r-char|dabbrev--abbrev-at-point|dabbrev--find-all-expansions|dabbrev--find-expansion|dabbrev--goto-start-of-abbrev|dabbrev--ignore-buffer-p|dabbrev--ignore-case-p|dabbrev--make-friend-buffer-list|dabbrev--minibuffer-origin|dabbrev--reset-global-variables|dabbrev--safe-replace-match|dabbrev--same-major-mode-p|dabbrev--search|dabbrev--select-buffers|dabbrev--substitute-expansion|dabbrev--try-find|dabbrev-completion|dabbrev-expand|dabbrev-filter-elements|daemon-initialized|daemonp|data-debug-new-buffer|date-to-day|days-between|days-to-time|dbus--init-bus|dbus-byte-array-to-string|dbus-call-method-handler|dbus-check-event|dbus-escape-as-identifier|dbus-event-bus-name|dbus-event-interface-name|dbus-event-member-name|dbus-event-message-type|dbus-event-path-name|dbus-event-serial-number|dbus-event-service-name|dbus-get-all-managed-objects|dbus-get-all-properties|dbus-get-name-owner|dbus-get-property|dbus-get-unique-name|dbus-handle-bus-disconnect|dbus-handle-event|dbus-ignore-errors|dbus-init-bus|dbus-introspect-get-all-nodes|dbus-introspect-get-annotation-names|dbus-introspect-get-annotation|dbus-introspect-get-argument-names|dbus-introspect-get-argument|dbus-introspect-get-attribute|dbus-introspect-get-interface-names|dbus-introspect-get-interface|dbus-introspect-get-method-names|dbus-introspect-get-method|dbus-introspect-get-node-names|dbus-introspect-get-property-names|dbus-introspect-get-property|dbus-introspect-get-signal-names|dbus-introspect-get-signal|dbus-introspect-get-signature|dbus-introspect-xml|dbus-introspect|dbus-list-activatable-names|dbus-list-hash-table|dbus-list-known-names|dbus-list-names|dbus-list-queued-owners|dbus-managed-objects-handler|dbus-message-internal|dbus-method-error-internal|dbus-method-return-internal|dbus-notice-synchronous-call-errors|dbus-peer-handler|dbus-ping|dbus-property-handler|dbus-register-method|dbus-register-property|dbus-register-service|dbus-register-signal|dbus-set-property|dbus-setenv|dbus-string-to-byte-array|dbus-unescape-from-identifier|dbus-unregister-object|dbus-unregister-service|dbx|dcl-back-to-indentation-1|dcl-back-to-indentation|dcl-backward-command|dcl-beginning-of-command-p|dcl-beginning-of-command|dcl-beginning-of-statement|dcl-calc-command-indent-hang|dcl-calc-command-indent-multiple|dcl-calc-command-indent|dcl-calc-cont-indent-relative|dcl-calc-continuation-indent|dcl-command-p|dcl-delete-chars|dcl-delete-indentation|dcl-electric-character|dcl-end-of-command-p|dcl-end-of-command|dcl-end-of-statement|dcl-forward-command|dcl-get-line-type|dcl-guess-option-value|dcl-guess-option|dcl-imenu-create-index-function|dcl-indent-command-line|dcl-indent-command|dcl-indent-continuation-line|dcl-indent-line|dcl-indent-to|dcl-indentation-point|dcl-mode|dcl-option-value-basic|dcl-option-value-comment-line|dcl-option-value-margin-offset|dcl-option-value-offset|dcl-save-all-options|dcl-save-local-variable|dcl-save-mode|dcl-save-nondefault-options|dcl-save-option|dcl-set-option|dcl-show-line-type|dcl-split-line|dcl-tab|dcl-was-looking-at|deactivate-input-method|deactivate-mode-local-bindings|debug--function-list|debug--implement-debug-on-entry|debug-help-follow|debugger--backtrace-base|debugger--hide-locals|debugger--insert-locals|debugger--locals-visible-p|debugger--show-locals)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)d(?:ebugger-continue|ebugger-env-macro|ebugger-eval-expression|ebugger-frame-clear|ebugger-frame-number|ebugger-frame|ebugger-jump|ebugger-list-functions|ebugger-make-xrefs|ebugger-mode|ebugger-record-expression|ebugger-reenable|ebugger-return-value|ebugger-setup-buffer|ebugger-step-through|ebugger-toggle-locals|ecf|ecipher--analyze|ecipher--digram-counts|ecipher--digram-total|ecipher-add-undo|ecipher-adjacency-list|ecipher-alphabet-keypress|ecipher-analyze-buffer|ecipher-analyze|ecipher-complete-alphabet|ecipher-copy-cons|ecipher-digram-list|ecipher-display-range|ecipher-display-regexp|ecipher-display-stats-buffer|ecipher-frequency-count|ecipher-get-undo|ecipher-insert-frequency-counts|ecipher-insert|ecipher-keypress|ecipher-last-command-char|ecipher-loop-no-breaks|ecipher-loop-with-breaks|ecipher-make-checkpoint|ecipher-mode|ecipher-read-alphabet|ecipher-restore-checkpoint|ecipher-resync|ecipher-set-map|ecipher-show-alphabet|ecipher-stats-buffer|ecipher-stats-mode|ecipher-undo|ecipher|eclaim|eclare-ccl-program|eclare-equiv-charset|ecode-big5-char|ecode-composition-components|ecode-composition-rule|ecode-hex-string|ecode-hz-buffer|ecode-hz-region|ecode-sjis-char|ecompose-region|ecompose-string|ecrease-left-margin|ecrease-right-margin|ef-gdb-auto-update-handler|ef-gdb-auto-update-trigger|ef-gdb-memory-format|ef-gdb-memory-show-page|ef-gdb-memory-unit|ef-gdb-preempt-display-buffer|ef-gdb-set-positive-number|ef-gdb-thread-buffer-command|ef-gdb-thread-buffer-gud-command|ef-gdb-thread-buffer-simple-command|ef-gdb-trigger-and-handler|efault-command-history-filter|efault-font-height|efault-indent-new-line|efault-line-height|efault-toplevel-value|efcalcmodevar|efconst-mode-local|efcustom-c-stylevar|efcustom-mh|efezimage|efface-mh|efgeneric|efgroup-mh|efimage-speedbar|efine-abbrevs|efine-advice|efine-auto-insert|efine-ccl-program|efine-char-code-property|efine-charset-alias|efine-charset-internal|efine-charset|efine-child-mode|efine-coding-system-alias|efine-coding-system-internal|efine-coding-system|efine-compilation-mode|efine-compiler-macro|efine-erc-module|efine-erc-response-handler|efine-global-abbrev|efine-global-minor-mode|efine-hmac-function|efine-ibuffer-column|efine-ibuffer-filter|efine-ibuffer-op|efine-ibuffer-sorter|efine-inline|efine-lex-analyzer|efine-lex-block-analyzer|efine-lex-block-type-analyzer|efine-lex-keyword-type-analyzer|efine-lex-regex-analyzer|efine-lex-regex-type-analyzer|efine-lex-sexp-type-analyzer|efine-lex-simple-regex-analyzer|efine-lex-string-type-analyzer|efine-lex|efine-mail-abbrev|efine-mail-alias|efine-mail-user-agent|efine-mode-abbrev|efine-mode-local-override|efine-mode-overload-implementation|efine-overload|efine-overloadable-function|efine-setf-expander|efine-skeleton|efine-translation-hash-table|efine-translation-table|efine-widget-keywords|efmacro-mh|efmath|efmethod|efun-cvs-mode|efun-gmm|efun-mh|efun-rcirc-command|efvar-mode-local|egrees-to-radians|ehexlify-buffer|elay-warning|elete\\\\*|elete-active-region|elete-all-overlays|elete-completion-window|elete-completion|elete-consecutive-dups|elete-dir-local-variable|elete-directory-internal|elete-duplicate-lines|elete-duplicates|elete-extract-rectangle-line|elete-extract-rectangle|elete-file-local-variable-prop-line|elete-file-local-variable|elete-forward-char|elete-frame-enabled-p|elete-if-not|elete-if|elete-instance|elete-matching-lines|elete-non-matching-lines|elete-other-frames|elete-other-windows-internal|elete-other-windows-vertically|elete-pair|elete-rectangle-line|elete-rectangle|elete-selection-helper|elete-selection-mode|elete-selection-pre-hook|elete-selection-repeat-replace-region|elete-side-window|elete-whitespace-rectangle-line|elete-whitespace-rectangle|elete-window-internal|elimit-columns-customize|elimit-columns-format|elimit-columns-rectangle-line|elimit-columns-rectangle-max|elimit-columns-rectangle|elimit-columns-region|elimit-columns-str|elphi-mode|elsel-unload-function|enato-region|erived-mode-abbrev-table-name|erived-mode-class|erived-mode-hook-name|erived-mode-init-mode-variables|erived-mode-make-docstring|erived-mode-map-name|erived-mode-merge-abbrev-tables|erived-mode-merge-keymaps|erived-mode-merge-syntax-tables|erived-mode-run-hooks|erived-mode-set-abbrev-table|erived-mode-set-keymap|erived-mode-set-syntax-table|erived-mode-setup-function-name|erived-mode-syntax-table-name|escribe-bindings-internal|escribe-buffer-bindings|escribe-char-after|escribe-char-categories|escribe-char-display|escribe-char-padded-string|escribe-char-unicode-data|escribe-char|escribe-character-set|escribe-chinese-environment-map|escribe-coding-system|escribe-copying|escribe-current-coding-system-briefly|escribe-current-coding-system|escribe-current-input-method|escribe-cyrillic-environment-map|escribe-distribution|escribe-european-environment-map|escribe-face|escribe-font|escribe-fontset|escribe-function-1|escribe-function|escribe-gnu-project|escribe-indian-environment-map|escribe-input-method|escribe-key-briefly|escribe-key|escribe-language-environment|escribe-minor-mode-completion-table-for-indicator|escribe-minor-mode-completion-table-for-symbol|escribe-minor-mode-from-indicator|escribe-minor-mode-from-symbol|escribe-minor-mode|escribe-mode-local-bindings-in-mode|escribe-mode-local-bindings|escribe-no-warranty|escribe-package-1|escribe-package|escribe-project|escribe-property-list|escribe-register-1|escribe-specified-language-support|escribe-text-category|escribe-text-properties-1|escribe-text-properties|escribe-text-sexp|escribe-text-widget|escribe-theme|escribe-variable-custom-version-info|escribe-variable|escribe-vector|esktop--check-dont-save|esktop--v2s|esktop-append-buffer-args|esktop-auto-save-cancel-timer|esktop-auto-save-disable|esktop-auto-save-enable|esktop-auto-save-set-timer|esktop-auto-save|esktop-buffer-info|esktop-buffer|esktop-change-dir|esktop-claim-lock|esktop-clear|esktop-create-buffer|esktop-file-name|esktop-full-file-name|esktop-full-lock-name|esktop-idle-create-buffers|esktop-kill|esktop-lazy-abort|esktop-lazy-complete|esktop-lazy-create-buffer|esktop-list\\\\*|esktop-load-default|esktop-load-file|esktop-outvar|esktop-owner|esktop-read|esktop-release-lock|esktop-remove|esktop-restore-file-buffer|esktop-restore-frameset|esktop-restoring-frameset-p|esktop-revert|esktop-save-buffer-p|esktop-save-frameset|esktop-save-in-desktop-dir|esktop-save-mode-off|esktop-save-mode|esktop-save|esktop-truncate|esktop-value-to-string|estructor|estructuring-bind|etect-coding-with-language-environment|etect-coding-with-priority|frame-attached-frame|frame-click|frame-close-frame|frame-current-frame|frame-detach|frame-double-click|frame-frame-mode|frame-frame-parameter|frame-get-focus|frame-hack-buffer-menu|frame-handle-delete-frame|frame-handle-iconify-frame|frame-handle-make-frame-visible|frame-help-echo|frame-live-p|frame-maybee-jump-to-attached-frame|frame-message|frame-mouse-event-p|frame-mouse-hscroll|frame-mouse-set-point|frame-needed-height|frame-popup-kludge|frame-power-click|frame-quick-mouse|frame-reposition-frame-emacs|frame-reposition-frame-xemacs|frame-reposition-frame|frame-select-attached-frame|frame-set-timer-internal|frame-set-timer|frame-switch-buffer-attached-frame|frame-temp-buffer-show-function|frame-timer-fn|frame-track-mouse-xemacs|frame-track-mouse|frame-update-keymap|frame-with-attached-buffer|frame-y-or-n-p|iary-add-to-list|iary-anniversary|iary-astro-day-number|iary-attrtype-convert|iary-bahai-date|iary-bahai-insert-entry|iary-bahai-insert-monthly-entry|iary-bahai-insert-yearly-entry|iary-bahai-list-entries|iary-bahai-mark-entries|iary-block|iary-check-diary-file|iary-chinese-anniversary|iary-chinese-date|iary-chinese-insert-anniversary-entry|iary-chinese-insert-entry|iary-chinese-insert-monthly-entry|iary-chinese-insert-yearly-entry|iary-chinese-list-entries|iary-chinese-mark-entries|iary-coptic-date|iary-cyclic|iary-date-display-form|iary-date|iary-day-of-year|iary-display-no-entries|iary-entry-compare|iary-entry-time|iary-ethiopic-date|iary-fancy-date-matcher|iary-fancy-date-pattern|iary-fancy-display-mode|iary-fancy-display|iary-fancy-font-lock-fontify-region-function|iary-float|iary-font-lock-date-forms|iary-font-lock-keywords-1|iary-font-lock-keywords|iary-font-lock-sexps|iary-french-date|iary-from-outlook-gnus|iary-from-outlook-internal|iary-from-outlook-rmail|iary-from-outlook|iary-goto-entry|iary-hebrew-birthday|iary-hebrew-date|iary-hebrew-insert-entry|iary-hebrew-insert-monthly-entry|iary-hebrew-insert-yearly-entry|iary-hebrew-list-entries|iary-hebrew-mark-entries|iary-hebrew-omer|iary-hebrew-parasha|iary-hebrew-rosh-hodesh|iary-hebrew-sabbath-candles|iary-hebrew-yahrzeit|iary-include-files|iary-include-other-diary-files|iary-insert-anniversary-entry|iary-insert-block-entry|iary-insert-cyclic-entry|iary-insert-entry-1|iary-insert-entry|iary-insert-monthly-entry|iary-insert-weekly-entry|iary-insert-yearly-entry|iary-islamic-date|iary-islamic-insert-entry|iary-islamic-insert-monthly-entry|iary-islamic-insert-yearly-entry|iary-islamic-list-entries|iary-islamic-mark-entries|iary-iso-date|iary-julian-date|iary-list-entries-1|iary-list-entries-2|iary-list-entries|iary-list-sexp-entries|iary-live-p|iary-lunar-phases|iary-mail-entries|iary-make-date|iary-make-entry|iary-mark-entries-1|iary-mark-entries|iary-mark-included-diary-files|iary-mark-sexp-entries|iary-mayan-date|iary-mode|iary-name-pattern|iary-ordinal-suffix|iary-outlook-format-1|iary-persian-date|iary-print-entries|iary-pull-attrs|iary-redraw-calendar|iary-remind|iary-set-header|iary-set-maybe-redraw|iary-sexp-entry|iary-show-all-entries|iary-simple-display|iary-sort-entries|iary-sunrise-sunset|iary-unhide-everything|iary-view-entries|iary-view-other-diary-entries|iary|iff-add-change-log-entries-other-window|iff-after-change-function|iff-apply-hunk|iff-auto-refine-mode|iff-backup|iff-beginning-of-file-and-junk|iff-beginning-of-file|iff-beginning-of-hunk|iff-bounds-of-file|iff-bounds-of-hunk|iff-buffer-with-file|iff-context->unified|iff-count-matches|iff-current-defun|iff-delete-empty-files|iff-delete-if-empty|iff-delete-trailing-whitespace|iff-ediff-patch|iff-end-of-file|iff-end-of-hunk|iff-file-kill|iff-file-local-copy|iff-file-next|iff-file-prev|iff-filename-drop-dir|iff-find-approx-text|iff-find-file-name|iff-find-source-location|iff-find-text|iff-fixup-modifs|iff-goto-source|iff-hunk-file-names|iff-hunk-kill|iff-hunk-next|iff-hunk-prev|iff-hunk-status-msg|iff-hunk-style|iff-hunk-text|iff-ignore-whitespace-hunk|iff-kill-applied-hunks|iff-kill-junk|iff-latest-backup-file|iff-make-unified|iff-merge-strings|iff-minor-mode|iff-mode-menu|iff-mode|iff-mouse-goto-source|iff-next-complex-hunk|iff-next-error|iff-no-select|iff-post-command-hook|iff-process-filter|iff-refine-hunk|iff-refine-preproc|iff-restrict-view|iff-reverse-direction|iff-sanity-check-context-hunk-half|iff-sanity-check-hunk|iff-sentinel|iff-setup-whitespace|iff-split-hunk|iff-splittable-p|iff-switches|iff-tell-file-name|iff-test-hunk|iff-undo|iff-unified->context|iff-unified-hunk-p|iff-write-contents-hooks|iff-xor|iff-yank-function|iff|ig-exit|ig-extract-rr|ig-invoke|ig-mode|ig-rr-get-pkix-cert|ig|igest-md5-challenge|igest-md5-digest-response|igest-md5-digest-uri|igest-md5-parse-digest-challenge|ir-locals-collect-mode-variables|ir-locals-collect-variables|ir-locals-find-file|ir-locals-get-class-variables|ir-locals-read-from-file|irectory-files-recursively|irectory-name-p|ired-add-file|ired-advertise|ired-advertised-find-file|ired-align-file|ired-alist-add-1|ired-at-point-prompter|ired-at-point|ired-backup-diff|ired-between-files|ired-buffer-stale-p|ired-buffers-for-dir|ired-build-subdir-alist|ired-change-marks|ired-check-switches|ired-clean-directory|ired-clean-up-after-deletion|ired-clear-alist|ired-compare-directories|ired-compress-file|ired-copy-file|ired-copy-filename-as-kill|ired-create-directory)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:dired-current-directory|dired-delete-entry|dired-delete-file|dired-desktop-buffer-misc-data|dired-diff|dired-directory-changed-p|dired-display-file|dired-dnd-do-ask-action|dired-dnd-handle-file|dired-dnd-handle-local-file|dired-dnd-popup-notice|dired-do-async-shell-command|dired-do-byte-compile|dired-do-chgrp|dired-do-chmod|dired-do-chown|dired-do-compress|dired-do-copy-regexp|dired-do-copy|dired-do-create-files-regexp|dired-do-delete|dired-do-flagged-delete|dired-do-hardlink-regexp|dired-do-hardlink|dired-do-isearch-regexp|dired-do-isearch|dired-do-kill-lines|dired-do-load|dired-do-print|dired-do-query-replace-regexp|dired-do-redisplay|dired-do-relsymlink|dired-do-rename-regexp|dired-do-rename|dired-do-search|dired-do-shell-command|dired-do-symlink-regexp|dired-do-symlink|dired-do-touch|dired-downcase|dired-file-marker|dired-file-name-at-point|dired-find-alternate-file|dired-find-buffer-nocreate|dired-find-file-other-window|dired-find-file|dired-flag-auto-save-files|dired-flag-backup-files|dired-flag-file-deletion|dired-flag-files-regexp|dired-flag-garbage-files|dired-format-columns-of-files|dired-fun-in-all-buffers|dired-get-file-for-visit|dired-get-filename|dired-get-marked-files|dired-get-subdir-max|dired-get-subdir-min|dired-get-subdir|dired-glob-regexp|dired-goto-file-1|dired-goto-file|dired-goto-next-file|dired-goto-next-nontrivial-file|dired-goto-subdir|dired-hide-all|dired-hide-details-mode|dired-hide-details-update-invisibility-spec|dired-hide-subdir|dired-in-this-tree|dired-initial-position|dired-insert-directory|dired-insert-old-subdirs|dired-insert-set-properties|dired-insert-subdir|dired-internal-do-deletions|dired-internal-noselect|dired-isearch-filenames-regexp|dired-isearch-filenames-setup|dired-isearch-filenames|dired-jump-other-window|dired-jump|dired-kill-subdir|dired-log-summary|dired-log|dired-make-absolute|dired-make-relative|dired-map-over-marks|dired-mark-directories|dired-mark-executables|dired-mark-files-containing-regexp|dired-mark-files-in-region|dired-mark-files-regexp|dired-mark-if|dired-mark-pop-up|dired-mark-prompt|dired-mark-remembered|dired-mark-subdir-files|dired-mark-symlinks|dired-mark|dired-marker-regexp|dired-maybe-insert-subdir|dired-mode|dired-mouse-find-file-other-window|dired-move-to-end-of-filename|dired-move-to-filename|dired-next-dirline|dired-next-line|dired-next-marked-file|dired-next-subdir|dired-normalize-subdir|dired-noselect|dired-other-frame|dired-other-window|dired-plural-s|dired-pop-to-buffer|dired-prev-dirline|dired-prev-marked-file|dired-prev-subdir|dired-previous-line|dired-query|dired-read-dir-and-switches|dired-read-regexp|dired-readin-insert|dired-readin|dired-relist-file|dired-remember-hidden|dired-remember-marks|dired-remove-file|dired-rename-file|dired-repeat-over-lines|dired-replace-in-string|dired-restore-desktop-buffer|dired-restore-positions|dired-revert|dired-run-shell-command|dired-safe-switches-p|dired-save-positions|dired-show-file-type|dired-sort-R-check|dired-sort-other|dired-sort-set-mode-line|dired-sort-set-modeline|dired-sort-toggle-or-edit|dired-sort-toggle|dired-string-replace-match|dired-subdir-index|dired-subdir-max|dired-summary|dired-switches-escape-p|dired-switches-recursive-p|dired-toggle-marks|dired-toggle-read-only|dired-tree-down|dired-tree-up|dired-unadvertise|dired-uncache|dired-undo|dired-unmark-all-files|dired-unmark-all-marks|dired-unmark-backward|dired-unmark|dired-up-directory|dired-upcase|dired-view-file|dired-why|dired|dirs|dirtrack-cygwin-directory-function|dirtrack-debug-message|dirtrack-debug-mode|dirtrack-debug-toggle|dirtrack-mode|dirtrack-toggle|dirtrack-windows-directory-function|dirtrack|disable-timeout|disassemble-1|disassemble-internal|disassemble-offset|display-about-screen|display-battery-mode|display-buffer--maybe-pop-up-frame-or-window|display-buffer--maybe-same-window|display-buffer--special-action|display-buffer-assq-regexp|display-buffer-in-atom-window|display-buffer-in-major-side-window|display-buffer-in-side-window|display-buffer-other-frame|display-buffer-record-window|display-call-tree|display-local-help|display-multi-font-p|display-multi-frame-p|display-splash-screen|display-startup-echo-area-message|display-startup-screen|display-table-print-array|display-time-mode|display-time-world|display-time|displaying-byte-compile-warnings|dissociated-press|dnd-get-local-file-name|dnd-get-local-file-uri|dnd-handle-one-url|dnd-insert-text|dnd-open-file|dnd-open-local-file|dnd-open-remote-url|dnd-unescape-uri|dns-get-txt-answer|dns-get|dns-inverse-get|dns-lookup-host|dns-make-network-process|dns-mode-menu|dns-mode-soa-increment-serial|dns-mode-soa-maybe-increment-serial|dns-mode|dns-query-cached|dns-query|dns-read-bytes|dns-read-int32|dns-read-name|dns-read-string-name|dns-read-txt|dns-read-type|dns-read|dns-servers-up-to-date-p|dns-set-servers|dns-write-bytes|dns-write-name|dns-write|dnsDomainIs|dnsResolve|do\\\\*|do-after-load-evaluation|do-all-symbols|do-auto-fill|do-symbols|do|doc\\\\$|doc//|doc-file-to-info|doc-file-to-man|doc-view--current-cache-dir|doc-view-active-pages|doc-view-already-converted-p|doc-view-bookmark-jump|doc-view-bookmark-make-record|doc-view-buffer-message|doc-view-clear-cache|doc-view-clone-buffer-hook|doc-view-convert-current-doc|doc-view-current-cache-doc-pdf|doc-view-current-image|doc-view-current-info|doc-view-current-overlay|doc-view-current-page|doc-view-current-slice|doc-view-desktop-save-buffer|doc-view-dired-cache|doc-view-display|doc-view-djvu->tiff-converter-ddjvu|doc-view-doc->txt|doc-view-document->bitmap|doc-view-dvi->pdf|doc-view-enlarge|doc-view-fallback-mode|doc-view-first-page|doc-view-fit-height-to-window|doc-view-fit-page-to-window|doc-view-fit-width-to-window|doc-view-get-bounding-box|doc-view-goto-page|doc-view-guess-paper-size|doc-view-initiate-display|doc-view-insert-image|doc-view-intersection|doc-view-kill-proc-and-buffer|doc-view-kill-proc|doc-view-last-page-number|doc-view-last-page|doc-view-make-safe-dir|doc-view-menu|doc-view-minor-mode|doc-view-mode-maybe|doc-view-mode-p|doc-view-mode|doc-view-new-window-function|doc-view-next-line-or-next-page|doc-view-next-page|doc-view-odf->pdf-converter-soffice|doc-view-odf->pdf-converter-unoconv|doc-view-open-text|doc-view-pdf/ps->png|doc-view-pdf->png-converter-ghostscript|doc-view-pdf->png-converter-mupdf|doc-view-pdf->txt|doc-view-previous-line-or-previous-page|doc-view-previous-page|doc-view-ps->pdf|doc-view-ps->png-converter-ghostscript|doc-view-reconvert-doc|doc-view-reset-slice|doc-view-restore-desktop-buffer|doc-view-revert-buffer|doc-view-scale-adjust|doc-view-scale-bounding-box|doc-view-scale-reset|doc-view-scroll-down-or-previous-page|doc-view-scroll-up-or-next-page|doc-view-search-backward|doc-view-search-internal|doc-view-search-next-match|doc-view-search-no-of-matches|doc-view-search-previous-match|doc-view-search|doc-view-sentinel|doc-view-set-doc-type|doc-view-set-slice-from-bounding-box|doc-view-set-slice-using-mouse|doc-view-set-slice|doc-view-set-up-single-converter|doc-view-show-tooltip|doc-view-shrink|doc-view-sort|doc-view-start-process|doc-view-toggle-display|doctex-font-lock-\\\\^\\\\^A|doctex-font-lock-syntactic-face-function|doctex-mode|doctor-\\\\$|doctor-adjectivep|doctor-adverbp|doctor-alcohol|doctor-articlep|doctor-assm|doctor-build|doctor-chat|doctor-colorp|doctor-concat|doctor-conj|doctor-correct-spelling|doctor-death|doctor-def|doctor-define|doctor-defq|doctor-desire1??|doctor-doc|doctor-drug|doctor-eliza|doctor-family|doctor-fear|doctor-fix-2|doctor-fixup|doctor-forget|doctor-foul|doctor-getnoun|doctor-go|doctor-hates??|doctor-hates1|doctor-howdy|doctor-huh|doctor-loves??|doctor-mach|doctor-make-string|doctor-math|doctor-meaning|doctor-mode|doctor-modifierp|doctor-mood|doctor-nmbrp|doctor-nounp|doctor-othermodifierp|doctor-plural|doctor-possess|doctor-possessivepronounp|doctor-prepp|doctor-pronounp|doctor-put-meaning|doctor-qloves|doctor-query|doctor-read-print|doctor-read-token|doctor-readin|doctor-remem|doctor-remember|doctor-replace|doctor-ret-or-read|doctor-rms|doctor-rthing|doctor-school|doctor-setprep|doctor-sexnoun|doctor-sexverb|doctor-short|doctor-shorten|doctor-sizep|doctor-sports|doctor-state|doctor-subjsearch|doctor-svo|doctor-symptoms|doctor-toke|doctor-txtype|doctor-type-symbol|doctor-type|doctor-verbp|doctor-vowelp|doctor-when|doctor-wherego|doctor-zippy|doctor|dom-add-child-before|dom-append-child|dom-attr|dom-attributes|dom-by-class|dom-by-id|dom-by-style|dom-by-tag|dom-child-by-tag|dom-children|dom-elements|dom-ensure-node|dom-node|dom-non-text-children|dom-parent|dom-pp|dom-set-attributes??|dom-tag|dom-texts??|dont-compile|double-column|double-mode|double-read-event|double-translate-key|down-ifdef|dsssl-mode|dunnet|dynamic-completion-mode|dynamic-completion-table|dynamic-setting-handle-config-changed-event|easy-menu-add-item|easy-menu-add|easy-menu-always-true-p|easy-menu-binding|easy-menu-change|easy-menu-convert-item-1|easy-menu-convert-item|easy-menu-create-menu|easy-menu-define-key|easy-menu-do-define|easy-menu-filter-return|easy-menu-get-map|easy-menu-intern|easy-menu-item-present-p|easy-menu-lookup-name|easy-menu-make-symbol|easy-menu-name-match|easy-menu-remove-item|easy-menu-remove|easy-menu-return-item|easy-mmode-define-global-mode|easy-mmode-define-keymap|easy-mmode-define-navigation|easy-mmode-define-syntax|easy-mmode-defmap|easy-mmode-defsyntax|easy-mmode-pretty-mode-name|easy-mmode-set-keymap-parents|ebnf-abn-initialize|ebnf-abn-parser|ebnf-adjust-empty|ebnf-adjust-width|ebnf-alternative-dimension|ebnf-alternative-width|ebnf-apply-style1??|ebnf-begin-file|ebnf-begin-job|ebnf-begin-line|ebnf-bnf-initialize|ebnf-bnf-parser|ebnf-boolean|ebnf-buffer-substring|ebnf-check-style-values|ebnf-customize|ebnf-delete-style|ebnf-despool|ebnf-dimensions|ebnf-directory|ebnf-dtd-initialize|ebnf-dtd-parser|ebnf-dup-list|ebnf-ebx-initialize|ebnf-ebx-parser|ebnf-element-width|ebnf-eliminate-empty-rules|ebnf-empty-alternative|ebnf-end-of-string|ebnf-entry|ebnf-eop-horizontal|ebnf-eop-vertical|ebnf-eps-add-context|ebnf-eps-add-production|ebnf-eps-buffer|ebnf-eps-directory|ebnf-eps-file|ebnf-eps-filename|ebnf-eps-finish-and-write|ebnf-eps-footer-comment|ebnf-eps-footer|ebnf-eps-header-comment|ebnf-eps-header-footer-comment|ebnf-eps-header-footer-file|ebnf-eps-header-footer-p|ebnf-eps-header-footer-set|ebnf-eps-header-footer|ebnf-eps-header|ebnf-eps-output|ebnf-eps-production-list|ebnf-eps-region|ebnf-eps-remove-context|ebnf-eps-string|ebnf-eps-write-kill-temp|ebnf-except-dimension|ebnf-file|ebnf-find-style|ebnf-font-attributes|ebnf-font-background|ebnf-font-foreground|ebnf-font-height|ebnf-font-list|ebnf-font-name-select|ebnf-font-name|ebnf-font-select|ebnf-font-size|ebnf-font-width|ebnf-format-color|ebnf-format-float|ebnf-gen-terminal|ebnf-generate-alternative|ebnf-generate-empty|ebnf-generate-eps|ebnf-generate-except|ebnf-generate-non-terminal|ebnf-generate-one-or-more|ebnf-generate-optional|ebnf-generate-postscript|ebnf-generate-production|ebnf-generate-region|ebnf-generate-repeat|ebnf-generate-sequence|ebnf-generate-special|ebnf-generate-terminal|ebnf-generate-with-max-height|ebnf-generate-without-max-height|ebnf-generate-zero-or-more|ebnf-generate|ebnf-get-string|ebnf-horizontal-movement|ebnf-insert-ebnf-prologue|ebnf-insert-style|ebnf-iso-initialize|ebnf-iso-parser|ebnf-justify-list|ebnf-justify|ebnf-log-header|ebnf-log|ebnf-make-alternative|ebnf-make-dup-sequence|ebnf-make-empty|ebnf-make-except|ebnf-make-non-terminal|ebnf-make-one-or-more|ebnf-make-optional|ebnf-make-or-more1|ebnf-make-production|ebnf-make-repeat|ebnf-make-sequence|ebnf-make-special|ebnf-make-terminal1??|ebnf-make-zero-or-more|ebnf-max-width|ebnf-merge-style|ebnf-message-float|ebnf-message-info|ebnf-new-page|ebnf-newline|ebnf-node-action|ebnf-node-default|ebnf-node-dimension-func|ebnf-node-entry|ebnf-node-generation|ebnf-node-height|ebnf-node-kind|ebnf-node-list|ebnf-node-name|ebnf-node-production|ebnf-node-separator|ebnf-node-width-func|ebnf-node-width|ebnf-non-terminal-dimension|ebnf-one-or-more-dimension|ebnf-optimize|ebnf-optional-dimension|ebnf-otz-initialize|ebnf-parse-and-sort|ebnf-pop-style|ebnf-print-buffer|ebnf-print-directory|ebnf-print-file|ebnf-print-region|ebnf-production-dimension|ebnf-push-style|ebnf-range-regexp|ebnf-repeat-dimension|ebnf-reset-style|ebnf-sequence-dimension|ebnf-sequence-width)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)e(?:bnf-setup|bnf-shape-value|bnf-sorter-ascending|bnf-sorter-descending|bnf-special-dimension|bnf-spool-buffer|bnf-spool-directory|bnf-spool-file|bnf-spool-region|bnf-string|bnf-syntax-buffer|bnf-syntax-directory|bnf-syntax-file|bnf-syntax-region|bnf-terminal-dimension1??|bnf-token-alternative|bnf-token-except|bnf-token-optional|bnf-token-repeat|bnf-token-sequence|bnf-trim-right|bnf-vertical-movement|bnf-yac-initialize|bnf-yac-parser|bnf-zero-or-more-dimension|browse-back-in-position-stack|browse-base-classes|browse-browser-buffer-list|browse-bs-file--cmacro|browse-bs-file|browse-bs-flags--cmacro|browse-bs-flags|browse-bs-name--cmacro|browse-bs-name|browse-bs-p--cmacro|browse-bs-p|browse-bs-pattern--cmacro|browse-bs-pattern|browse-bs-point--cmacro|browse-bs-point|browse-bs-scope--cmacro|browse-bs-scope|browse-buffer-p|browse-build-tree-obarray|browse-choose-from-browser-buffers|browse-choose-tree|browse-class-alist-for-member|browse-class-declaration-regexp|browse-class-in-tree|browse-class-name-displayed-in-member-buffer|browse-collapse-branch|browse-collapse-fn|browse-completing-read-value|browse-const-p|browse-create-tree-buffer|browse-cs-file--cmacro|browse-cs-file|browse-cs-flags--cmacro|browse-cs-flags|browse-cs-name--cmacro|browse-cs-name|browse-cs-p--cmacro|browse-cs-p|browse-cs-pattern--cmacro|browse-cs-pattern|browse-cs-point--cmacro|browse-cs-point|browse-cs-scope--cmacro|browse-cs-scope|browse-cs-source-file--cmacro|browse-cs-source-file|browse-cyclic-display-next/previous-member-list|browse-cyclic-successor-in-string-list|browse-define-p|browse-direct-base-classes|browse-display-friends-member-list|browse-display-function-member-list|browse-display-member-buffer|browse-display-member-list-for-accessor|browse-display-next-member-list|browse-display-previous-member-list|browse-display-static-functions-member-list|browse-display-static-variables-member-list|browse-display-types-member-list|browse-display-variables-member-list|browse-displaying-friends|browse-displaying-functions|browse-displaying-static-functions|browse-displaying-static-variables|browse-displaying-types|browse-displaying-variables|browse-draw-file-member-info|browse-draw-marks-fn|browse-draw-member-attributes|browse-draw-member-buffer-class-line|browse-draw-member-long-fn|browse-draw-member-regexp|browse-draw-member-short-fn|browse-draw-position-buffer|browse-draw-tree-fn|browse-electric-buffer-list|browse-electric-choose-tree|browse-electric-find-position|browse-electric-get-buffer|browse-electric-list-looper|browse-electric-list-mode|browse-electric-list-quit|browse-electric-list-select|browse-electric-list-undefined|browse-electric-position-looper|browse-electric-position-menu|browse-electric-position-mode|browse-electric-position-quit|browse-electric-position-undefined|browse-electric-select-position|browse-electric-view-buffer|browse-electric-view-position|browse-every|browse-expand-all|browse-expand-branch|browse-explicit-p|browse-extern-c-p|browse-files-list|browse-files-table|browse-fill-member-table|browse-find-class-declaration|browse-find-member-declaration|browse-find-member-definition|browse-find-pattern|browse-find-source-file|browse-for-all-trees|browse-forward-in-position-stack|browse-freeze-member-buffer|browse-frozen-tree-buffer-name|browse-function-declaration/definition-regexp|browse-gather-statistics|browse-globals-tree-p|browse-goto-visible-member/all-member-lists|browse-goto-visible-member|browse-hack-electric-buffer-menu|browse-hide-line|browse-hs-command-line-options--cmacro|browse-hs-command-line-options|browse-hs-member-table--cmacro|browse-hs-member-table|browse-hs-p--cmacro|browse-hs-p|browse-hs-unused--cmacro|browse-hs-unused|browse-hs-version--cmacro|browse-hs-version|browse-ignoring-completion-case|browse-inline-p|browse-insert-supers|browse-install-1-to-9-keys|browse-kill-member-buffers-displaying|browse-known-class-trees-buffer-list|browse-list-of-matching-members|browse-list-tree-buffers|browse-mark-all-classes|browse-marked-classes-p|browse-member-bit-set-p|browse-member-buffer-list|browse-member-buffer-object-menu|browse-member-buffer-p|browse-member-class-name-object-menu|browse-member-display-p|browse-member-info-from-point|browse-member-list-name|browse-member-mode|browse-member-mouse-2|browse-member-mouse-3|browse-member-name-object-menu|browse-member-table|browse-mouse-1-in-tree-buffer|browse-mouse-2-in-tree-buffer|browse-mouse-3-in-tree-buffer|browse-mouse-find-member|browse-move-in-position-stack|browse-move-point-to-member|browse-ms-definition-file--cmacro|browse-ms-definition-file|browse-ms-definition-pattern--cmacro|browse-ms-definition-pattern|browse-ms-definition-point--cmacro|browse-ms-definition-point|browse-ms-file--cmacro|browse-ms-file|browse-ms-flags--cmacro|browse-ms-flags|browse-ms-name--cmacro|browse-ms-name|browse-ms-p--cmacro|browse-ms-p|browse-ms-pattern--cmacro|browse-ms-pattern|browse-ms-point--cmacro|browse-ms-point|browse-ms-scope--cmacro|browse-ms-scope|browse-ms-visibility--cmacro|browse-ms-visibility|browse-mutable-p|browse-name/accessor-alist-for-class-members|browse-name/accessor-alist-for-visible-members|browse-name/accessor-alist|browse-on-class-name|browse-on-member-name|browse-output|browse-pop/switch-to-member-buffer-for-same-tree|browse-pop-from-member-to-tree-buffer|browse-pop-to-browser-buffer|browse-popup-menu|browse-position-file-name--cmacro|browse-position-file-name|browse-position-info--cmacro|browse-position-info|browse-position-name|browse-position-p--cmacro|browse-position-p|browse-position-point--cmacro|browse-position-point|browse-position-target--cmacro|browse-position-target|browse-position|browse-pp-define-regexp|browse-print-statistics-line|browse-pure-virtual-p|browse-push-position|browse-qualified-class-name|browse-read-class-name-and-go|browse-read|browse-redisplay-member-buffer|browse-redraw-marks|browse-redraw-tree|browse-remove-all-member-filters|browse-remove-class-and-kill-member-buffers|browse-remove-class-at-point|browse-rename-buffer|browse-repeat-member-search|browse-revert-tree-buffer-from-file|browse-same-tree-member-buffer-list|browse-save-class|browse-save-selective|browse-save-tree-as|browse-save-tree|browse-select-1st-to-9nth|browse-set-face|browse-set-mark-props|browse-set-member-access-visibility|browse-set-member-buffer-column-width|browse-set-tree-indentation|browse-show-displayed-class-in-tree|browse-show-file-name-at-point|browse-show-progress|browse-some-member-table|browse-some|browse-sort-tree-list|browse-statistics|browse-switch-member-buffer-to-any-class|browse-switch-member-buffer-to-base-class|browse-switch-member-buffer-to-derived-class|browse-switch-member-buffer-to-next-sibling-class|browse-switch-member-buffer-to-other-class|browse-switch-member-buffer-to-previous-sibling-class|browse-switch-member-buffer-to-sibling-class|browse-switch-to-next-member-buffer|browse-symbol-regexp|browse-tags-apropos|browse-tags-choose-class|browse-tags-complete-symbol|browse-tags-display-member-buffer|browse-tags-find-declaration-other-frame|browse-tags-find-declaration-other-window|browse-tags-find-declaration|browse-tags-find-definition-other-frame|browse-tags-find-definition-other-window|browse-tags-find-definition|browse-tags-list-members-in-file|browse-tags-loop-continue|browse-tags-next-file|browse-tags-query-replace|browse-tags-read-member\\\\+class-name|browse-tags-read-name|browse-tags-search-member-use|browse-tags-search|browse-tags-select/create-member-buffer|browse-tags-view/find-member-decl/defn|browse-tags-view-declaration-other-frame|browse-tags-view-declaration-other-window|browse-tags-view-declaration|browse-tags-view-definition-other-frame|browse-tags-view-definition-other-window|browse-tags-view-definition|browse-template-p|browse-throw-list-p|browse-toggle-base-class-display|browse-toggle-const-member-filter|browse-toggle-file-name-display|browse-toggle-inline-member-filter|browse-toggle-long-short-display|browse-toggle-mark-at-point|browse-toggle-member-attributes-display|browse-toggle-private-member-filter|browse-toggle-protected-member-filter|browse-toggle-public-member-filter|browse-toggle-pure-member-filter|browse-toggle-regexp-display|browse-toggle-virtual-member-filter|browse-tree-at-point|browse-tree-buffer-class-object-menu|browse-tree-buffer-list|browse-tree-buffer-object-menu|browse-tree-buffer-p|browse-tree-command:show-friends|browse-tree-command:show-member-functions|browse-tree-command:show-member-variables|browse-tree-command:show-static-member-functions|browse-tree-command:show-static-member-variables|browse-tree-command:show-types|browse-tree-mode|browse-tree-obarray-as-alist|browse-trim-string|browse-ts-base-classes--cmacro|browse-ts-base-classes|browse-ts-class--cmacro|browse-ts-class|browse-ts-friends--cmacro|browse-ts-friends|browse-ts-mark--cmacro|browse-ts-mark|browse-ts-member-functions--cmacro|browse-ts-member-functions|browse-ts-member-variables--cmacro|browse-ts-member-variables|browse-ts-p--cmacro|browse-ts-p|browse-ts-static-functions--cmacro|browse-ts-static-functions|browse-ts-static-variables--cmacro|browse-ts-static-variables|browse-ts-subclasses--cmacro|browse-ts-subclasses|browse-ts-types--cmacro|browse-ts-types|browse-unhide-base-classes|browse-update-member-buffer-mode-line|browse-update-tree-buffer-mode-line|browse-variable-declaration-regexp|browse-view/find-class-declaration|browse-view/find-file-and-search-pattern|browse-view/find-member-declaration/definition|browse-view/find-position|browse-view-class-declaration|browse-view-exit-fn|browse-view-file-other-frame|browse-view-member-declaration|browse-view-member-definition|browse-virtual-p|browse-width-of-drawable-area|browse-write-file-hook-fn|buffers3??|case|complete-display-matches|complete-setup|de--detect-ldf-predicate|de--detect-ldf-root-predicate|de--detect-ldf-rootonly-predicate|de--detect-scan-directory-for-project-root|de--detect-scan-directory-for-project|de--detect-scan-directory-for-rootonly-project|de--detect-stop-scan-p|de--directory-project-add-description-to-hash|de--directory-project-from-hash|de--get-inode-dir-hash|de--inode-for-dir|de--inode-get-toplevel-open-project|de--project-inode|de--put-inode-dir-hash|de-add-file|de-add-project-autoload|de-add-project-to-global-list|de-add-subproject|de-adebug-project-parent|de-adebug-project-root|de-adebug-project|de-apply-object-keymap|de-apply-preprocessor-map|de-apply-project-local-variables|de-apply-target-options|de-auto-add-to-target|de-auto-detect-in-dir|de-auto-load-project|de-buffer-belongs-to-project-p|de-buffer-belongs-to-target-p|de-buffer-documentation-files|de-buffer-header-file|de-buffer-mine|de-buffer-object|de-buffers|de-build-forms-menu|de-check-project-directory|de-choose-object|de-commit-local-variables|de-compile-project|de-compile-selected|de-compile-target|de-configuration-forms-menu|de-convert-path|de-cpp-root-project-child-p|de-cpp-root-project-list-p|de-cpp-root-project-p|de-cpp-root-project|de-create-tag-buttons|de-current-project|de-customize-current-target|de-customize-forms-menu|de-customize-project|de-debug-target|de-delete-project-from-global-list|de-delete-target|de-description|de-detect-directory-for-project|de-detect-qtest|de-directory-get-open-project|de-directory-get-toplevel-open-project|de-directory-project-cons|de-directory-project-p|de-directory-safe-p|de-dired-minor-mode|de-dirmatch-installed|de-do-dirmatch|de-documentation-files|de-documentation|de-ecb-project-paths|de-edit-file-target|de-edit-web-page|de-enable-generic-projects|de-enable-locate-on-project|de-expand-filename-impl-via-subproj|de-expand-filename-impl|de-expand-filename-local|de-expand-filename|de-file-find|de-find-file|de-find-nearest-file-line|de-find-subproject-for-directory|de-find-target|de-flush-deleted-projects|de-flush-directory-hash|de-flush-project-hash|de-get-locator-object|de-global-list-sanity-check|de-header-file|de-html-documentation-files|de-html-documentation|de-ignore-file|de-initialize-state-current-buffer|de-invoke-method)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)ed(?:e-java-classpath|e-linux-load|e-load-cache|e-load-project-file|e-make-check-version|e-make-dist|e-make-project-local-variable|e-map-all-subprojects|e-map-any-target-p|e-map-buffers|e-map-project-buffers|e-map-subprojects|e-map-target-buffers|e-map-targets|e-menu-items-build|e-menu-obj-of-class-p|e-minor-mode|e-name|e-new-target-custom|e-new-target|e-new|e-normalize-file/directory|e-object-keybindings|e-object-menu|e-object-sourcecode|e-parent-project|e-preprocessor-map|e-project-autoload-child-p|e-project-autoload-dirmatch-child-p|e-project-autoload-dirmatch-list-p|e-project-autoload-dirmatch-p|e-project-autoload-dirmatch|e-project-autoload-list-p|e-project-autoload-p|e-project-autoload|e-project-buffers|e-project-child-p|e-project-configurations-set|e-project-directory-remove-hash|e-project-forms-menu|e-project-list-p|e-project-p|e-project-placeholder-child-p|e-project-placeholder-list-p|e-project-placeholder-p|e-project-placeholder|e-project-root-directory|e-project-root|e-project-sort-targets|e-project|e-remove-file|e-rescan-toplevel|e-reset-all-buffers|e-run-target|e-save-cache|e-set-project-local-variable|e-set-project-variables|e-set|e-singular-object|e-source-paths|e-sourcecode-child-p|e-sourcecode-list-p|e-sourcecode-p|e-sourcecode|e-speedbar-compile-file-project|e-speedbar-compile-line|e-speedbar-compile-project|e-speedbar-edit-projectfile|e-speedbar-file-setup|e-speedbar-get-top-project-for-line|e-speedbar-make-distribution|e-speedbar-make-map|e-speedbar-remove-file-from-target|e-speedbar-toplevel-buttons|e-speedbar|e-subproject-p|e-subproject-relative-path|e-system-include-path|e-tag-expand|e-tag-find|e-target-buffer-in-sourcelist|e-target-buffers|e-target-child-p|e-target-forms-menu|e-target-in-project-p|e-target-list-p|e-target-name|e-target-p|e-target-parent|e-target-sourcecode|e-target|e-toplevel-project-or-nil|e-toplevel-project|e-toplevel|e-turn-on-hook|e-up-directory|e-update-version|e-upload-distribution|e-upload-html-documentation|e-vc-project-directory|e-version|e-want-any-auxiliary-files-p|e-want-any-files-p|e-want-any-source-files-p|e-want-file-auxiliary-p|e-want-file-p|e-want-file-source-p|e-web-browse-home|e-with-projectfile|e|ebug-&optional-wrapper|ebug-&rest-wrapper|ebug--called-interactively-skip|ebug--display|ebug--enter-trace|ebug--form-data-begin--cmacro|ebug--form-data-begin|ebug--form-data-end--cmacro|ebug--form-data-end|ebug--form-data-name--cmacro|ebug--form-data-name|ebug--make-form-data-entry--cmacro|ebug--make-form-data-entry|ebug--read|ebug--recursive-edit|ebug--require-cl-read|ebug--update-coverage|ebug-Continue-fast-mode|ebug-Go-nonstop-mode|ebug-Trace-fast-mode|ebug-\`|ebug-adjust-window|ebug-after-offset|ebug-after|ebug-all-defuns|ebug-backtrace|ebug-basic-spec|ebug-before-offset|ebug-before|ebug-bounce-point|ebug-changing-windows|ebug-clear-coverage|ebug-clear-form-data-entry|ebug-clear-frequency-count|ebug-compute-previous-result|ebug-continue-mode|ebug-copy-cursor|ebug-create-eval-buffer|ebug-current-windows|ebug-cursor-expressions|ebug-cursor-offsets|ebug-debugger|ebug-defining-form|ebug-delete-eval-item|ebug-empty-cursor|ebug-enter|ebug-eval-defun|ebug-eval-display-list|ebug-eval-display|ebug-eval-expression|ebug-eval-last-sexp|ebug-eval-mode|ebug-eval-print-last-sexp|ebug-eval-redisplay|ebug-eval-result-list|ebug-eval|ebug-fast-after|ebug-fast-before|ebug-find-stop-point|ebug-form-data-symbol|ebug-form|ebug-format|ebug-forms|ebug-forward-sexp|ebug-get-displayed-buffer-points|ebug-get-form-data-entry|ebug-go-mode|ebug-goto-here|ebug-help|ebug-ignore-offset|ebug-inc-offset|ebug-initialize-offsets|ebug-install-read-eval-functions|ebug-instrument-callee|ebug-instrument-function|ebug-interactive-p-name|ebug-kill-buffer|ebug-lambda-list-keywordp|ebug-last-sexp|ebug-list-form-args|ebug-list-form|ebug-make-after-form|ebug-make-before-and-after-form|ebug-make-enter-wrapper|ebug-make-form-wrapper|ebug-make-top-form-data-entry|ebug-mark-marker|ebug-mark|ebug-match-&define|ebug-match-&key|ebug-match-¬|ebug-match-&optional|ebug-match-&or|ebug-match-&rest|ebug-match-arg|ebug-match-body|ebug-match-colon-name|ebug-match-def-body|ebug-match-def-form|ebug-match-form|ebug-match-function|ebug-match-gate|ebug-match-lambda-expr|ebug-match-list|ebug-match-name|ebug-match-nil|ebug-match-one-spec|ebug-match-place|ebug-match-sexp|ebug-match-specs|ebug-match-string|ebug-match-sublist|ebug-match-symbol|ebug-match|ebug-menu|ebug-message|ebug-mode|ebug-modify-breakpoint|ebug-move-cursor|ebug-new-cursor|ebug-next-breakpoint|ebug-next-mode|ebug-next-token-class|ebug-no-match|ebug-on-entry|ebug-outside-excursion|ebug-overlay-arrow|ebug-pop-to-buffer|ebug-previous-result|ebug-prin1-to-string|ebug-prin1|ebug-print|ebug-read-and-maybe-wrap-form1??|ebug-read-backquote|ebug-read-comma|ebug-read-function|ebug-read-list|ebug-read-quote|ebug-read-sexp|ebug-read-storing-offsets|ebug-read-string|ebug-read-symbol|ebug-read-top-level-form|ebug-read-vector|ebug-report-error|ebug-restore-status|ebug-run-fast|ebug-run-slow|ebug-safe-eval|ebug-safe-prin1-to-string|ebug-set-breakpoint|ebug-set-buffer-points|ebug-set-conditional-breakpoint|ebug-set-cursor|ebug-set-form-data-entry|ebug-set-mode|ebug-set-windows|ebug-sexps|ebug-signal|ebug-skip-whitespace|ebug-slow-after|ebug-slow-before|ebug-sort-alist|ebug-spec-p|ebug-step-in|ebug-step-mode|ebug-step-out|ebug-step-through-mode|ebug-stop|ebug-store-after-offset|ebug-store-before-offset|ebug-storing-offsets|ebug-syntax-error|ebug-toggle-save-all-windows|ebug-toggle-save-selected-window|ebug-toggle-save-windows|ebug-toggle|ebug-top-element-required|ebug-top-element|ebug-top-level-nonstop|ebug-top-offset|ebug-trace-display|ebug-trace-mode|ebug-uninstall-read-eval-functions|ebug-unload-function|ebug-unset-breakpoint|ebug-unwrap\\\\*?|ebug-update-eval-list|ebug-var-status|ebug-view-outside|ebug-visit-eval-list|ebug-where|ebug-window-list|ebug-window-live-p|ebug-wrap-def-body|iff-3way-comparison-job|iff-3way-job|iff-abbrev-jobname|iff-abbreviate-file-name|iff-activate-mark|iff-add-slash-if-directory|iff-add-to-history|iff-ancestor-metajob|iff-append-custom-diff|iff-arrange-autosave-in-merge-jobs|iff-background-face|iff-backup|iff-barf-if-not-control-buffer|iff-buffer-live-p|iff-buffer-type|iff-buffers-internal|iff-buffers3??|iff-bury-dir-diffs-buffer|iff-calc-command-time|iff-change-saved-variable|iff-char-to-buftype|iff-check-version|iff-choose-syntax-table|iff-choose-window-setup-function-automatically|iff-cleanup-mess|iff-cleanup-meta-buffer|iff-clear-diff-vector|iff-clear-fine-diff-vector|iff-clear-fine-differences-in-one-buffer|iff-clear-fine-differences|iff-clone-buffer-for-current-diff-comparison|iff-clone-buffer-for-region-comparison|iff-clone-buffer-for-window-comparison|iff-collect-custom-diffs|iff-collect-diffs-metajob|iff-color-display-p|iff-combine-diffs|iff-comparison-metajob3|iff-compute-custom-diffs-maybe|iff-compute-toolbar-width|iff-convert-diffs-to-overlays|iff-convert-fine-diffs-to-overlays|iff-convert-standard-filename|iff-copy-A-to-B|iff-copy-A-to-C|iff-copy-B-to-A|iff-copy-B-to-C|iff-copy-C-to-A|iff-copy-C-to-B|iff-copy-diff|iff-copy-list|iff-copy-to-buffer|iff-current-file|iff-customize|iff-deactivate-mark|iff-debug-info|iff-default-suspend-function|iff-defvar-local|iff-delete-all-matches|iff-delete-overlay|iff-delete-temp-files|iff-destroy-control-frame|iff-device-type|iff-diff-at-point|iff-diff-to-diff|iff-diff3-job|iff-dir-diff-copy-file|iff-directories-command|iff-directories-internal|iff-directories|iff-directories3-command|iff-directories3|iff-directory-revisions-internal|iff-directory-revisions|iff-display-pixel-height|iff-display-pixel-width|iff-dispose-of-meta-buffer|iff-dispose-of-variant-according-to-user|iff-do-merge|iff-documentation|iff-draw-dir-diffs|iff-empty-diff-region-p|iff-empty-overlay-p|iff-event-buffer|iff-event-key|iff-event-point|iff-exec-process|iff-extract-diffs3??|iff-file-attributes|iff-file-checked-in-p|iff-file-checked-out-p|iff-file-compressed-p|iff-file-modtime|iff-file-remote-p|iff-file-size|iff-filegroup-action|iff-filename-magic-p|iff-files-command|iff-files-internal|iff-files3??|iff-fill-leading-zero|iff-find-file|iff-focus-on-regexp-matches|iff-format-bindings-of|iff-format-date|iff-forward-word|iff-frame-char-height|iff-frame-char-width|iff-frame-has-dedicated-windows|iff-frame-iconified-p|iff-frame-unsplittable-p|iff-get-buffer|iff-get-combined-region|iff-get-default-directory-name|iff-get-default-file-name|iff-get-diff-overlay-from-diff-record|iff-get-diff-overlay|iff-get-diff-posn|iff-get-diff3-group|iff-get-difference|iff-get-directory-files-under-revision|iff-get-file-eqstatus|iff-get-fine-diff-vector-from-diff-record|iff-get-fine-diff-vector|iff-get-group-buffer|iff-get-group-comparison-func|iff-get-group-merge-autostore-dir|iff-get-group-objA|iff-get-group-objB|iff-get-group-objC|iff-get-group-regexp|iff-get-lines-to-region-end|iff-get-lines-to-region-start|iff-get-meta-info|iff-get-meta-overlay-at-pos|iff-get-next-window|iff-get-region-contents|iff-get-region-size-coefficient|iff-get-selected-buffers|iff-get-session-activity-marker|iff-get-session-buffer|iff-get-session-number-at-pos|iff-get-session-objA-name|iff-get-session-objA|iff-get-session-objB-name|iff-get-session-objB|iff-get-session-objC-name|iff-get-session-objC|iff-get-session-status|iff-get-state-of-ancestor|iff-get-state-of-diff|iff-get-state-of-merge|iff-get-symbol-from-alist|iff-get-value-according-to-buffer-type|iff-get-visible-buffer-window|iff-get-window-by-clicking|iff-good-frame-under-mouse|iff-goto-word|iff-has-face-support-p|iff-has-gutter-support-p|iff-has-toolbar-support-p|iff-help-for-quick-help|iff-help-message-line-length|iff-hide-face|iff-hide-marked-sessions|iff-hide-regexp-matches|iff-highlight-diff-in-one-buffer|iff-highlight-diff|iff-in-control-buffer-p|iff-indent-help-message|iff-inferior-compare-regions|iff-insert-dirs-in-meta-buffer|iff-insert-session-activity-marker-in-meta-buffer|iff-insert-session-info-in-meta-buffer|iff-insert-session-status-in-meta-buffer|iff-install-fine-diff-if-necessary|iff-intersect-directories|iff-intersection|iff-janitor|iff-jump-to-difference-at-point|iff-jump-to-difference|iff-keep-window-config|iff-key-press-event-p|iff-kill-bottom-toolbar|iff-kill-buffer-carefully|iff-last-command-char|iff-listable-file|iff-load-version-control|iff-looks-like-combined-merge|iff-make-base-title|iff-make-bottom-toolbar|iff-make-bullet-proof-overlay|iff-make-cloned-buffer|iff-make-current-diff-overlay|iff-make-diff2-buffer|iff-make-empty-tmp-file|iff-make-fine-diffs|iff-make-frame-position|iff-make-indirect-buffer|iff-make-narrow-control-buffer-id|iff-make-new-meta-list-element|iff-make-new-meta-list-header|iff-make-or-kill-fine-diffs|iff-make-overlay|iff-make-temp-file|iff-make-wide-control-buffer-id|iff-make-wide-display|iff-mark-diff-as-space-only|iff-mark-for-hiding-at-pos|iff-mark-for-operation-at-pos|iff-mark-if-equal|iff-mark-session-for-hiding|iff-mark-session-for-operation|iff-maybe-checkout|iff-maybe-save-and-delete-merge|iff-member|iff-merge-buffers-with-ancestor|iff-merge-buffers|iff-merge-changed-from-default-p|iff-merge-command|iff-merge-directories-command|iff-merge-directories-with-ancestor-command)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)e(?:diff-merge-directories-with-ancestor|diff-merge-directories|diff-merge-directory-revisions-with-ancestor|diff-merge-directory-revisions|diff-merge-files-with-ancestor|diff-merge-files|diff-merge-job|diff-merge-metajob|diff-merge-on-startup|diff-merge-region-is-non-clash-to-skip|diff-merge-region-is-non-clash|diff-merge-revisions-with-ancestor|diff-merge-revisions|diff-merge-with-ancestor-command|diff-merge-with-ancestor-job|diff-merge-with-ancestor|diff-merge|diff-message-if-verbose|diff-meta-insert-file-info1|diff-meta-mark-equal-files|diff-meta-mode|diff-meta-session-p|diff-meta-show-patch|diff-metajob3|diff-minibuffer-with-setup-hook|diff-mode|diff-mouse-event-p|diff-move-overlay|diff-multiframe-setup-p|diff-narrow-control-frame-p|diff-narrow-job|diff-next-difference|diff-next-meta-item1??|diff-next-meta-overlay-start|diff-no-fine-diffs-p|diff-nonempty-string-p|diff-nuke-selective-display|diff-one-filegroup-metajob|diff-operate-on-marked-sessions|diff-operate-on-windows|diff-other-buffer|diff-overlay-buffer|diff-overlay-end|diff-overlay-get|diff-overlay-put|diff-overlay-start|diff-overlayp|diff-paint-background-regions-in-one-buffer|diff-paint-background-regions|diff-patch-buffer|diff-patch-file-form-meta|diff-patch-file-internal|diff-patch-file|diff-patch-job|diff-patch-metajob|diff-place-flags-in-buffer1??|diff-pop-diff|diff-position-region|diff-prepare-error-list|diff-prepare-meta-buffer|diff-previous-difference|diff-previous-meta-item1??|diff-previous-meta-overlay-start|diff-print-diff-vector|diff-problematic-session-p|diff-process-filter|diff-process-sentinel|diff-profile|diff-quit-meta-buffer|diff-quit|diff-re-merge|diff-read-event|diff-read-file-name|diff-really-quit|diff-recenter-ancestor|diff-recenter-one-window|diff-recenter|diff-redraw-directory-group-buffer|diff-redraw-registry-buffer|diff-refresh-control-frame|diff-refresh-mode-lines|diff-region-help-echo|diff-regions-internal|diff-regions-linewise|diff-regions-wordwise|diff-registry-action|diff-reload-keymap|diff-remove-flags-from-buffer|diff-replace-session-activity-marker-in-meta-buffer|diff-replace-session-status-in-meta-buffer|diff-reset-mouse|diff-restore-diff-in-merge-buffer|diff-restore-diff|diff-restore-highlighting|diff-restore-protected-variables|diff-restore-variables|diff-revert-buffers-then-recompute-diffs|diff-revision-metajob|diff-revision|diff-safe-to-quit|diff-same-contents|diff-same-file-contents-lists|diff-same-file-contents|diff-save-buffer-in-file|diff-save-buffer|diff-save-diff-region|diff-save-protected-variables|diff-save-time|diff-save-variables|diff-scroll-horizontally|diff-scroll-vertically|diff-select-difference|diff-select-lowest-window|diff-set-actual-diff-options|diff-set-diff-options|diff-set-diff-overlays-in-one-buffer|diff-set-difference|diff-set-face-pixmap|diff-set-file-eqstatus|diff-set-fine-diff-properties-in-one-buffer|diff-set-fine-diff-properties|diff-set-fine-diff-vector|diff-set-fine-overlays-for-combined-merge|diff-set-fine-overlays-in-one-buffer|diff-set-help-message|diff-set-help-overlays|diff-set-keys|diff-set-merge-mode|diff-set-meta-overlay|diff-set-overlay-face|diff-set-read-only-in-buf-A|diff-set-session-status|diff-set-state-of-all-diffs-in-all-buffers|diff-set-state-of-diff-in-all-buffers|diff-set-state-of-diff|diff-set-state-of-merge|diff-setup-control-buffer|diff-setup-control-frame|diff-setup-diff-regions3??|diff-setup-fine-diff-regions|diff-setup-keymap|diff-setup-meta-map|diff-setup-windows-default|diff-setup-windows-multiframe-compare|diff-setup-windows-multiframe-merge|diff-setup-windows-multiframe|diff-setup-windows-plain-compare|diff-setup-windows-plain-merge|diff-setup-windows-plain|diff-setup-windows|diff-setup|diff-show-all-diffs|diff-show-ancestor|diff-show-current-session-meta-buffer|diff-show-diff-output|diff-show-dir-diffs|diff-show-meta-buff-from-registry|diff-show-meta-buffer|diff-show-registry|diff-shrink-window-C|diff-skip-merge-region-if-changed-from-default-p|diff-skip-unsuitable-frames|diff-spy-after-mouse|diff-status-info|diff-strip-last-dir|diff-strip-mode-line-format|diff-submit-report|diff-suspend|diff-swap-buffers|diff-test-save-region|diff-toggle-autorefine|diff-toggle-filename-truncation|diff-toggle-help|diff-toggle-hilit|diff-toggle-ignore-case|diff-toggle-multiframe|diff-toggle-narrow-region|diff-toggle-read-only|diff-toggle-regexp-match|diff-toggle-show-clashes-only|diff-toggle-skip-changed-regions|diff-toggle-skip-similar|diff-toggle-split|diff-toggle-use-toolbar|diff-toggle-verbose-help-meta-buffer|diff-toggle-wide-display|diff-truncate-string-left|diff-unhighlight-diff-in-one-buffer|diff-unhighlight-diff|diff-unhighlight-diffs-totally-in-one-buffer|diff-unhighlight-diffs-totally|diff-union|diff-unique-buffer-name|diff-unmark-all-for-hiding|diff-unmark-all-for-operation|diff-unselect-and-select-difference|diff-unselect-difference|diff-up-meta-hierarchy|diff-update-diffs|diff-update-markers-in-dir-meta-buffer|diff-update-meta-buffer|diff-update-registry|diff-update-session-marker-in-dir-meta-buffer|diff-use-toolbar-p|diff-user-grabbed-mouse|diff-valid-difference-p|diff-verify-file-buffer|diff-verify-file-merge-buffer|diff-version|diff-visible-region|diff-whitespace-diff-region-p|diff-window-display-p|diff-window-ok-for-display|diff-window-visible-p|diff-windows-job|diff-windows-linewise|diff-windows-wordwise|diff-windows|diff-with-current-buffer|diff-with-syntax-table|diff-word-mode-job|diff-wordify|diff-write-merge-buffer-and-maybe-kill|diff-xemacs-select-frame-hook|diff|diff3-files-command|diff3|dir-merge-revisions-with-ancestor|dir-merge-revisions|dir-revisions|dirs-merge-with-ancestor|dirs-merge|dirs3??|dit-abbrevs-mode|dit-abbrevs-redefine|dit-abbrevs|dit-bookmarks|dit-kbd-macro|dit-last-kbd-macro|dit-named-kbd-macro|dit-picture|dit-tab-stops-note-changes|dit-tab-stops|dmacro-finish-edit|dmacro-fix-menu-commands|dmacro-format-keys|dmacro-insert-key|dmacro-mode|dmacro-parse-keys|dmacro-sanitize-for-string|dt-advance|dt-append|dt-backup|dt-beginning-of-line|dt-bind-function-key-default|dt-bind-function-key|dt-bind-gold-key-default|dt-bind-gold-key|dt-bind-key-default|dt-bind-key|dt-bind-standard-key|dt-bottom-check|dt-bottom|dt-change-case|dt-change-direction|dt-character|dt-check-match|dt-check-prefix|dt-check-selection|dt-copy-rectangle|dt-copy|dt-current-line|dt-cut-or-copy|dt-cut-rectangle-insert-mode|dt-cut-rectangle-overstrike-mode|dt-cut-rectangle|dt-cut|dt-default-emulation-setup|dt-default-menu-bar-update-buffers|dt-define-key|dt-delete-character|dt-delete-entire-line|dt-delete-line|dt-delete-previous-character|dt-delete-to-beginning-of-line|dt-delete-to-beginning-of-word|dt-delete-to-end-of-line|dt-delete-word|dt-display-the-time|dt-duplicate-line|dt-duplicate-word|dt-electric-helpify|dt-electric-keypad-help|dt-electric-user-keypad-help|dt-eliminate-all-tabs|dt-emulation-off|dt-emulation-on|dt-end-of-line-backward|dt-end-of-line-forward|dt-end-of-line|dt-exit|dt-fill-region|dt-find-backward|dt-find-forward|dt-find-next-backward|dt-find-next-forward|dt-find-next|dt-find|dt-form-feed-insert|dt-goto-percentage|dt-indent-or-fill-region|dt-key-not-assigned|dt-keypad-help|dt-learn|dt-line-backward|dt-line-forward|dt-line-to-bottom-of-window|dt-line-to-middle-of-window|dt-line-to-top-of-window|dt-line|dt-load-keys|dt-lowercase|dt-mark-section-wisely|dt-match-beginning|dt-match-end|dt-next-line|dt-one-word-backward|dt-one-word-forward|dt-page-backward|dt-page-forward|dt-page|dt-paragraph-backward|dt-paragraph-forward|dt-paragraph|dt-paste-rectangle-insert-mode|dt-paste-rectangle-overstrike-mode|dt-paste-rectangle|dt-previous-line|dt-quit|dt-remember|dt-replace|dt-reset|dt-restore-key|dt-scroll-line|dt-scroll-window-backward-line|dt-scroll-window-backward|dt-scroll-window-forward-line|dt-scroll-window-forward|dt-scroll-window|dt-sect-backward|dt-sect-forward|dt-sect|dt-select-default-global-map|dt-select-mode|dt-select-user-global-map|dt-select|dt-sentence-backward|dt-sentence-forward|dt-sentence|dt-set-match|dt-set-screen-width-132|dt-set-screen-width-80|dt-set-scroll-margins|dt-setup-default-bindings|dt-show-match-markers|dt-split-window|dt-substitute|dt-switch-global-maps|dt-tab-insert|dt-toggle-capitalization-of-word|dt-toggle-select|dt-top-check|dt-top|dt-undelete-character|dt-undelete-line|dt-undelete-word|dt-unset-match|dt-uppercase|dt-user-emulation-setup|dt-user-menu-bar-update-buffers|dt-window-bottom|dt-window-top|dt-with-position|dt-word-backward|dt-word-forward|dt-word|dt-y-or-n-p|help-command|ieio--check-type|ieio--class--unused-0|ieio--class-children|ieio--class-class-allocation-a|ieio--class-class-allocation-custom-group|ieio--class-class-allocation-custom-label|ieio--class-class-allocation-custom|ieio--class-class-allocation-doc|ieio--class-class-allocation-printer|ieio--class-class-allocation-protection|ieio--class-class-allocation-type|ieio--class-class-allocation-values|ieio--class-default-object-cache|ieio--class-initarg-tuples|ieio--class-options|ieio--class-parent|ieio--class-protection|ieio--class-public-a|ieio--class-public-custom-group|ieio--class-public-custom-label|ieio--class-public-custom|ieio--class-public-d|ieio--class-public-doc|ieio--class-public-printer|ieio--class-public-type|ieio--class-symbol-obarray|ieio--class-symbol|ieio--defalias|ieio--defgeneric-init-form|ieio--define-field-accessors|ieio--defmethod|ieio--object--unused-0|ieio--object-class|ieio--object-name|ieio--scoped-class|ieio--with-scoped-class|ieio-add-new-slot|ieio-attribute-to-initarg|ieio-barf-if-slot-unbound|ieio-browse|ieio-c3-candidate|ieio-c3-merge-lists|ieio-class-children-fast|ieio-class-children|ieio-class-name|ieio-class-parent|ieio-class-parents-fast|ieio-class-parents|ieio-class-precedence-bfs|ieio-class-precedence-c3|ieio-class-precedence-dfs|ieio-class-precedence-list|ieio-class-slot-name-index|ieio-class-un-autoload|ieio-copy-parents-into-subclass|ieio-custom-mode|ieio-custom-object-apply-reset|ieio-custom-toggle-hide|ieio-custom-toggle-parent|ieio-custom-widget-insert|ieio-customize-object-group|ieio-customize-object|ieio-default-eval-maybe|ieio-default-superclass-child-p|ieio-default-superclass-list-p|ieio-default-superclass-p|ieio-default-superclass|ieio-defclass-autoload|ieio-defclass|ieio-defgeneric-form-primary-only-one|ieio-defgeneric-form-primary-only|ieio-defgeneric-form|ieio-defgeneric-reset-generic-form-primary-only-one|ieio-defgeneric-reset-generic-form-primary-only|ieio-defgeneric-reset-generic-form|ieio-defgeneric|ieio-defmethod|ieio-done-customizing|ieio-edebug-prin1-to-string|ieio-eval-default-p|ieio-filter-slot-type|ieio-generic-call-primary-only|ieio-generic-call|ieio-generic-form|ieio-help-class|ieio-help-constructor|ieio-help-generic|ieio-initarg-to-attribute|ieio-instance-inheritor-child-p|ieio-instance-inheritor-list-p|ieio-instance-inheritor-p|ieio-instance-inheritor-slot-boundp|ieio-instance-inheritor|ieio-instance-tracker-child-p|ieio-instance-tracker-find|ieio-instance-tracker-list-p|ieio-instance-tracker-p|ieio-instance-tracker|ieio-list-prin1|ieio-named-child-p|ieio-named-list-p|ieio-named-p|ieio-named|ieio-object-abstract-to-value|ieio-object-class-name|ieio-object-class|ieio-object-match|ieio-object-name-string|ieio-object-name|ieio-object-p|ieio-object-set-name-string|ieio-object-value-create|ieio-object-value-get|ieio-object-value-to-abstract|ieio-oref-default|ieio-oref|ieio-oset-default|ieio-oset|ieio-override-prin1|ieio-perform-slot-validation-for-default|ieio-perform-slot-validation|ieio-persistent-child-p|ieio-persistent-convert-list-to-object|ieio-persistent-list-p|ieio-persistent-p|ieio-persistent-path-relative)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)e(?:ieio-persistent-read|ieio-persistent-save-interactive|ieio-persistent-save|ieio-persistent-slot-type-is-class-p|ieio-persistent-validate/fix-slot-value|ieio-persistent|ieio-read-customization-group|ieio-set-defaults|ieio-singleton-child-p|ieio-singleton-list-p|ieio-singleton-p|ieio-singleton|ieio-slot-name-index|ieio-slot-originating-class-p|ieio-slot-value-create|ieio-slot-value-get|ieio-specialized-key-to-generic-key|ieio-speedbar-buttons|ieio-speedbar-child-description|ieio-speedbar-child-make-tag-lines|ieio-speedbar-child-p|ieio-speedbar-create-engine|ieio-speedbar-create|ieio-speedbar-customize-line|ieio-speedbar-derive-line-path|ieio-speedbar-description|ieio-speedbar-directory-button-child-p|ieio-speedbar-directory-button-list-p|ieio-speedbar-directory-button-p|ieio-speedbar-directory-button|ieio-speedbar-expand|ieio-speedbar-file-button-child-p|ieio-speedbar-file-button-list-p|ieio-speedbar-file-button-p|ieio-speedbar-file-button|ieio-speedbar-find-nearest-object|ieio-speedbar-handle-click|ieio-speedbar-item-info|ieio-speedbar-line-path|ieio-speedbar-list-p|ieio-speedbar-make-map|ieio-speedbar-make-tag-line|ieio-speedbar-object-buttonname|ieio-speedbar-object-children|ieio-speedbar-object-click|ieio-speedbar-object-expand|ieio-speedbar-p|ieio-speedbar|ieio-unbind-method-implementations|ieio-validate-class-slot-value|ieio-validate-slot-value|ieio-version|ieio-widget-test-class-child-p|ieio-widget-test-class-list-p|ieio-widget-test-class-p|ieio-widget-test-class|ieiomt-add|ieiomt-install|ieiomt-method-list|ieiomt-next|ieiomt-sym-optimize|ighth|ldoc--message-command-p|ldoc-add-command-completions|ldoc-add-command|ldoc-display-message-no-interference-p|ldoc-display-message-p|ldoc-edit-message-commands|ldoc-message|ldoc-minibuffer-message|ldoc-mode|ldoc-pre-command-refresh-echo-area|ldoc-print-current-symbol-info|ldoc-remove-command-completions|ldoc-remove-command|ldoc-schedule-timer|lectric--after-char-pos|lectric--sort-post-self-insertion-hook|lectric-apropos|lectric-buffer-list|lectric-buffer-menu-looper|lectric-buffer-menu-mode|lectric-buffer-update-highlight|lectric-command-apropos|lectric-describe-bindings|lectric-describe-function|lectric-describe-key|lectric-describe-mode|lectric-describe-syntax|lectric-describe-variable|lectric-help-command-loop|lectric-help-ctrl-x-prefix|lectric-help-execute-extended|lectric-help-exit|lectric-help-help|lectric-help-mode|lectric-help-retain|lectric-help-undefined|lectric-helpify|lectric-icon-brace|lectric-indent-just-newline|lectric-indent-local-mode|lectric-indent-mode|lectric-indent-post-self-insert-function|lectric-layout-mode|lectric-layout-post-self-insert-function|lectric-newline-and-maybe-indent|lectric-nroff-mode|lectric-nroff-newline|lectric-pair-mode|lectric-pascal-colon|lectric-pascal-equal|lectric-pascal-hash|lectric-pascal-semi-or-dot|lectric-pascal-tab|lectric-pascal-terminate-line|lectric-perl-terminator|lectric-verilog-backward-sexp|lectric-verilog-colon|lectric-verilog-forward-sexp|lectric-verilog-semi-with-comment|lectric-verilog-semi|lectric-verilog-tab|lectric-verilog-terminate-and-indent|lectric-verilog-terminate-line|lectric-verilog-tick|lectric-view-lossage|l-get[-\\\\w]*|lide-head-show|lide-head|lint-add-required-env|lint-check-cond-form|lint-check-condition-case-form|lint-check-conditional-form|lint-check-defalias-form|lint-check-defcustom-form|lint-check-defun-form|lint-check-defvar-form|lint-check-function-form|lint-check-let-form|lint-check-macro-form|lint-check-quote-form|lint-check-setq-form|lint-clear-log|lint-current-buffer|lint-defun|lint-directory|lint-display-log|lint-env-add-env|lint-env-add-func|lint-env-add-global-var|lint-env-add-macro|lint-env-add-var|lint-env-find-func|lint-env-find-var|lint-env-macro-env|lint-env-macrop|lint-error|lint-file|lint-find-args-in-code|lint-find-autoloaded-variables|lint-find-builtin-args|lint-find-builtins|lint-find-next-top-form|lint-forms??|lint-get-args|lint-get-log-buffer|lint-get-top-forms|lint-init-env|lint-init-form|lint-initialize|lint-log-message|lint-log|lint-make-env|lint-make-top-form|lint-match-args|lint-output|lint-put-function-args|lint-scan-doc-file|lint-set-mode-line|lint-top-form-form|lint-top-form-pos|lint-top-form|lint-unbound-variable|lint-update-env|lint-warning|lisp--beginning-of-sexp|lisp--byte-code-comment|lisp--company-doc-buffer|lisp--company-doc-string|lisp--company-location|lisp--current-symbol|lisp--docstring-first-line|lisp--docstring-format-sym-doc|lisp--eval-defun-1|lisp--eval-defun|lisp--eval-last-sexp-print-value|lisp--eval-last-sexp|lisp--expect-function-p|lisp--fnsym-in-current-sexp|lisp--form-quoted-p|lisp--function-argstring|lisp--get-fnsym-args-string|lisp--get-var-docstring|lisp--highlight-function-argument|lisp--last-data-store|lisp--local-variables-1|lisp--local-variables|lisp--preceding-sexp|lisp--xref-find-apropos|lisp--xref-find-definitions|lisp--xref-identifier-completion-table|lisp--xref-identifier-file|lisp-byte-code-mode|lisp-byte-code-syntax-propertize|lisp-completion-at-point|lisp-eldoc-documentation-function|lisp-index-search|lisp-last-sexp-toggle-display|lisp-xref-find|lp--instrumented-p|lp--make-wrapper|lp-elapsed-time|lp-instrument-function|lp-instrument-list|lp-instrument-package|lp-output-insert-symname|lp-output-result|lp-pack-number|lp-profilable-p|lp-reset-all|lp-reset-function|lp-reset-list|lp-restore-all|lp-restore-function|lp-restore-list|lp-results-jump-to-definition|lp-results|lp-set-master|lp-sort-by-average-time|lp-sort-by-call-count|lp-sort-by-total-time|lp-unload-function|lp-unset-master|macs-bzr-get-version|macs-bzr-version-bzr|macs-bzr-version-dirstate|macs-index-search|macs-lisp-byte-compile-and-load|macs-lisp-byte-compile|macs-lisp-macroexpand|macs-lisp-mode|macs-lock--can-auto-unlock|macs-lock--exit-locked-buffer|macs-lock--kill-buffer-query-functions|macs-lock--kill-emacs-hook|macs-lock--kill-emacs-query-functions|macs-lock--set-mode|macs-lock-live-process-p|macs-lock-mode|macs-lock-unload-function|macs-repository-get-version|macs-session-filename|macs-session-save|merge-abort|merge-auto-advance|merge-buffers-with-ancestor|merge-buffers|merge-combine-versions-edit|merge-combine-versions-internal|merge-combine-versions-register|merge-combine-versions|merge-command-exit|merge-compare-buffers|merge-convert-diffs-to-markers|merge-copy-as-kill-A|merge-copy-as-kill-B|merge-copy-modes|merge-count-matches-string|merge-default-A|merge-default-B|merge-define-key-if-possible|merge-defvar-local|merge-edit-mode|merge-execute-line|merge-extract-diffs3??|merge-fast-mode|merge-file-names|merge-files-command|merge-files-exit|merge-files-internal|merge-files-remote|merge-files-with-ancestor-command|merge-files-with-ancestor-internal|merge-files-with-ancestor-remote|merge-files-with-ancestor|merge-files|merge-find-difference-A|merge-find-difference-B|merge-find-difference-merge|merge-find-difference1??|merge-force-define-key|merge-get-diff3-group|merge-goto-line|merge-handle-local-variables|merge-hash-string-into-string|merge-insert-A|merge-insert-B|merge-join-differences|merge-jump-to-difference|merge-line-number-in-buf|merge-line-numbers|merge-make-auto-save-file-name|merge-make-diff-list|merge-make-diff3-list|merge-make-temp-file|merge-mark-difference|merge-merge-directories|merge-mode|merge-new-flags|merge-next-difference|merge-one-line-window|merge-operate-on-windows|merge-place-flags-in-buffer1??|merge-position-region|merge-prepare-error-list|merge-previous-difference|merge-protect-metachars|merge-query-and-call|merge-query-save-buffer|merge-query-write-file|merge-quit|merge-read-file-name|merge-really-quit|merge-recenter|merge-refresh-mode-line|merge-remember-buffer-characteristics|merge-remote-exit|merge-remove-flags-in-buffer|merge-restore-buffer-characteristics|merge-restore-variables|merge-revision-with-ancestor-internal|merge-revisions-internal|merge-revisions-with-ancestor|merge-revisions|merge-save-variables|merge-scroll-down|merge-scroll-left|merge-scroll-reset|merge-scroll-right|merge-scroll-up|merge-select-A-edit|merge-select-A|merge-select-B-edit|merge-select-B|merge-select-difference|merge-select-prefer-Bs|merge-select-version|merge-set-combine-template|merge-set-combine-versions-template|merge-set-keys|merge-set-merge-mode|merge-setup-fixed-keymaps|merge-setup-windows|merge-setup-with-ancestor|merge-setup|merge-show-file-name|merge-skip-prefers|merge-split-difference|merge-trim-difference|merge-unique-buffer-name|merge-unselect-and-select-difference|merge-unselect-difference|merge-unslashify-name|merge-validate-difference|merge-verify-file-buffer|merge-write-and-delete|n/disable-command|nable-flow-control-on|nable-flow-control|ncode-big5-char|ncode-coding-char|ncode-composition-components|ncode-composition-rule|ncode-hex-string|ncode-hz-buffer|ncode-hz-region|ncode-sjis-char|ncode-time-value|ncoded-string-description|nd-kbd-macro|nd-of-buffer-other-window|nd-of-icon-defun|nd-of-paragraph-text|nd-of-sexp|nd-of-thing|nd-of-visible-line|nd-of-visual-line|ndp|nlarge-window-horizontally|nlarge-window|nriched-after-change-major-mode|nriched-before-change-major-mode|nriched-decode-background|nriched-decode-display-prop|nriched-decode-foreground|nriched-decode|nriched-encode-other-face|nriched-encode|nriched-face-ans|nriched-get-file-width|nriched-handle-display-prop|nriched-insert-indentation|nriched-make-annotation|nriched-map-property-regions|nriched-mode-map|nriched-mode|nriched-next-annotation|nriched-remove-header|pa--decode-coding-string|pa--derived-mode-p|pa--encode-coding-string|pa--find-coding-system-for-mime-charset|pa--insert-keys|pa--key-list-revert-buffer|pa--key-widget-action|pa--key-widget-button-face-get|pa--key-widget-help-echo|pa--key-widget-value-create|pa--list-keys|pa--marked-keys|pa--read-signature-type|pa--select-keys|pa--select-safe-coding-system|pa--show-key|pa-decrypt-armor-in-region|pa-decrypt-file|pa-decrypt-region|pa-delete-keys|pa-dired-do-decrypt|pa-dired-do-encrypt|pa-dired-do-sign|pa-dired-do-verify|pa-display-error|pa-display-info|pa-display-verify-result|pa-encrypt-file|pa-encrypt-region|pa-exit-buffer|pa-export-keys|pa-file--file-name-regexp-set|pa-file-disable|pa-file-enable|pa-file-find-file-hook|pa-file-handler|pa-file-name-regexp-update|pa-global-mail-mode|pa-import-armor-in-region|pa-import-keys-region|pa-import-keys|pa-info-mode|pa-insert-keys|pa-key-list-mode|pa-key-mode|pa-list-keys|pa-list-secret-keys|pa-mail-decrypt|pa-mail-encrypt|pa-mail-import-keys|pa-mail-mode|pa-mail-sign|pa-mail-verify|pa-mark-key|pa-passphrase-callback-function|pa-progress-callback-function|pa-read-file-name|pa-select-keys|pa-sign-file|pa-sign-region|pa-unmark-key|pa-verify-cleartext-in-region|pa-verify-file|pa-verify-region|patch-buffer|patch|pg--args-from-sig-notations|pg--check-error-for-decrypt|pg--clear-string|pg--decode-coding-string|pg--decode-hexstring|pg--decode-percent-escape|pg--decode-quotedstring|pg--encode-coding-string|pg--gv-nreverse|pg--import-keys-1|pg--list-keys-1|pg--make-sub-key-1|pg--make-temp-file|pg--process-filter|pg--prompt-GET_BOOL-untrusted_key\\\\.override|pg--prompt-GET_BOOL|pg--start|pg--status-\\\\*SIG|pg--status-BADARMOR|pg--status-BADSIG|pg--status-DECRYPTION_FAILED|pg--status-DECRYPTION_OKAY|pg--status-DELETE_PROBLEM|pg--status-ENC_TO|pg--status-ERRSIG|pg--status-EXPKEYSIG|pg--status-EXPSIG|pg--status-GET_BOOL|pg--status-GET_HIDDEN|pg--status-GET_LINE|pg--status-GOODSIG|pg--status-IMPORTED|pg--status-IMPORT_OK|pg--status-IMPORT_PROBLEM|pg--status-IMPORT_RES|pg--status-INV_RECP|pg--status-INV_SGNR|pg--status-KEYEXPIRED|pg--status-KEYREVOKED|pg--status-KEY_CREATED|pg--status-KEY_NOT_CREATED|pg--status-NEED_PASSPHRASE|pg--status-NEED_PASSPHRASE_PIN|pg--status-NEED_PASSPHRASE_SYM|pg--status-NODATA)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)e(?:pg--status-NOTATION_DATA|pg--status-NOTATION_NAME|pg--status-NO_PUBKEY|pg--status-NO_RECP|pg--status-NO_SECKEY|pg--status-NO_SGNR|pg--status-POLICY_URL|pg--status-PROGRESS|pg--status-REVKEYSIG|pg--status-SIG_CREATED|pg--status-TRUST_FULLY|pg--status-TRUST_MARGINAL|pg--status-TRUST_NEVER|pg--status-TRUST_ULTIMATE|pg--status-TRUST_UNDEFINED|pg--status-UNEXPECTED|pg--status-USERID_HINT|pg--status-VALIDSIG|pg--time-from-seconds|pg-cancel|pg-check-configuration|pg-config--compare-version|pg-config--parse-version|pg-configuration|pg-context--make|pg-context-armor--cmacro|pg-context-armor|pg-context-cipher-algorithm--cmacro|pg-context-cipher-algorithm|pg-context-compress-algorithm--cmacro|pg-context-compress-algorithm|pg-context-digest-algorithm--cmacro|pg-context-digest-algorithm|pg-context-edit-callback--cmacro|pg-context-edit-callback|pg-context-error-output--cmacro|pg-context-error-output|pg-context-home-directory--cmacro|pg-context-home-directory|pg-context-include-certs--cmacro|pg-context-include-certs|pg-context-operation--cmacro|pg-context-operation|pg-context-output-file--cmacro|pg-context-output-file|pg-context-passphrase-callback--cmacro|pg-context-passphrase-callback|pg-context-pinentry-mode--cmacro|pg-context-pinentry-mode|pg-context-process--cmacro|pg-context-process|pg-context-program--cmacro|pg-context-program|pg-context-progress-callback--cmacro|pg-context-progress-callback|pg-context-protocol--cmacro|pg-context-protocol|pg-context-result--cmacro|pg-context-result-for|pg-context-result|pg-context-set-armor|pg-context-set-passphrase-callback|pg-context-set-progress-callback|pg-context-set-result-for|pg-context-set-signers|pg-context-set-textmode|pg-context-sig-notations--cmacro|pg-context-sig-notations|pg-context-signers--cmacro|pg-context-signers|pg-context-textmode--cmacro|pg-context-textmode|pg-data-file--cmacro|pg-data-file|pg-data-string--cmacro|pg-data-string|pg-decode-dn|pg-decrypt-file|pg-decrypt-string|pg-delete-keys|pg-delete-output-file|pg-dn-from-string|pg-edit-key|pg-encrypt-file|pg-encrypt-string|pg-error-to-string|pg-errors-to-string|pg-expand-group|pg-export-keys-to-file|pg-export-keys-to-string|pg-generate-key-from-file|pg-generate-key-from-string|pg-import-keys-from-file|pg-import-keys-from-server|pg-import-keys-from-string|pg-import-result-considered--cmacro|pg-import-result-considered|pg-import-result-imported--cmacro|pg-import-result-imported-rsa--cmacro|pg-import-result-imported-rsa|pg-import-result-imported|pg-import-result-imports--cmacro|pg-import-result-imports|pg-import-result-new-revocations--cmacro|pg-import-result-new-revocations|pg-import-result-new-signatures--cmacro|pg-import-result-new-signatures|pg-import-result-new-sub-keys--cmacro|pg-import-result-new-sub-keys|pg-import-result-new-user-ids--cmacro|pg-import-result-new-user-ids|pg-import-result-no-user-id--cmacro|pg-import-result-no-user-id|pg-import-result-not-imported--cmacro|pg-import-result-not-imported|pg-import-result-secret-imported--cmacro|pg-import-result-secret-imported|pg-import-result-secret-read--cmacro|pg-import-result-secret-read|pg-import-result-secret-unchanged--cmacro|pg-import-result-secret-unchanged|pg-import-result-to-string|pg-import-result-unchanged--cmacro|pg-import-result-unchanged|pg-import-status-fingerprint--cmacro|pg-import-status-fingerprint|pg-import-status-new--cmacro|pg-import-status-new|pg-import-status-reason--cmacro|pg-import-status-reason|pg-import-status-secret--cmacro|pg-import-status-secret|pg-import-status-signature--cmacro|pg-import-status-signature|pg-import-status-sub-key--cmacro|pg-import-status-sub-key|pg-import-status-user-id--cmacro|pg-import-status-user-id|pg-key-owner-trust--cmacro|pg-key-owner-trust|pg-key-signature-class--cmacro|pg-key-signature-class|pg-key-signature-creation-time--cmacro|pg-key-signature-creation-time|pg-key-signature-expiration-time--cmacro|pg-key-signature-expiration-time|pg-key-signature-exportable-p--cmacro|pg-key-signature-exportable-p|pg-key-signature-key-id--cmacro|pg-key-signature-key-id|pg-key-signature-pubkey-algorithm--cmacro|pg-key-signature-pubkey-algorithm|pg-key-signature-user-id--cmacro|pg-key-signature-user-id|pg-key-signature-validity--cmacro|pg-key-signature-validity|pg-key-sub-key-list--cmacro|pg-key-sub-key-list|pg-key-user-id-list--cmacro|pg-key-user-id-list|pg-list-keys|pg-make-context|pg-make-data-from-file--cmacro|pg-make-data-from-file|pg-make-data-from-string--cmacro|pg-make-data-from-string|pg-make-import-result--cmacro|pg-make-import-result|pg-make-import-status--cmacro|pg-make-import-status|pg-make-key--cmacro|pg-make-key-signature--cmacro|pg-make-key-signature|pg-make-key|pg-make-new-signature--cmacro|pg-make-new-signature|pg-make-sig-notation--cmacro|pg-make-sig-notation|pg-make-signature--cmacro|pg-make-signature|pg-make-sub-key--cmacro|pg-make-sub-key|pg-make-user-id--cmacro|pg-make-user-id|pg-new-signature-class--cmacro|pg-new-signature-class|pg-new-signature-creation-time--cmacro|pg-new-signature-creation-time|pg-new-signature-digest-algorithm--cmacro|pg-new-signature-digest-algorithm|pg-new-signature-fingerprint--cmacro|pg-new-signature-fingerprint|pg-new-signature-pubkey-algorithm--cmacro|pg-new-signature-pubkey-algorithm|pg-new-signature-to-string|pg-new-signature-type--cmacro|pg-new-signature-type|pg-passphrase-callback-function|pg-read-output|pg-receive-keys|pg-reset|pg-sig-notation-critical--cmacro|pg-sig-notation-critical|pg-sig-notation-human-readable--cmacro|pg-sig-notation-human-readable|pg-sig-notation-name--cmacro|pg-sig-notation-name|pg-sig-notation-value--cmacro|pg-sig-notation-value|pg-sign-file|pg-sign-keys|pg-sign-string|pg-signature-class--cmacro|pg-signature-class|pg-signature-creation-time--cmacro|pg-signature-creation-time|pg-signature-digest-algorithm--cmacro|pg-signature-digest-algorithm|pg-signature-expiration-time--cmacro|pg-signature-expiration-time|pg-signature-fingerprint--cmacro|pg-signature-fingerprint|pg-signature-key-id--cmacro|pg-signature-key-id|pg-signature-notations--cmacro|pg-signature-notations|pg-signature-pubkey-algorithm--cmacro|pg-signature-pubkey-algorithm|pg-signature-status--cmacro|pg-signature-status|pg-signature-to-string|pg-signature-validity--cmacro|pg-signature-validity|pg-signature-version--cmacro|pg-signature-version|pg-start-decrypt|pg-start-delete-keys|pg-start-edit-key|pg-start-encrypt|pg-start-export-keys|pg-start-generate-key|pg-start-import-keys|pg-start-receive-keys|pg-start-sign-keys|pg-start-sign|pg-start-verify|pg-sub-key-algorithm--cmacro|pg-sub-key-algorithm|pg-sub-key-capability--cmacro|pg-sub-key-capability|pg-sub-key-creation-time--cmacro|pg-sub-key-creation-time|pg-sub-key-expiration-time--cmacro|pg-sub-key-expiration-time|pg-sub-key-fingerprint--cmacro|pg-sub-key-fingerprint|pg-sub-key-id--cmacro|pg-sub-key-id|pg-sub-key-length--cmacro|pg-sub-key-length|pg-sub-key-secret-p--cmacro|pg-sub-key-secret-p|pg-sub-key-validity--cmacro|pg-sub-key-validity|pg-user-id-signature-list--cmacro|pg-user-id-signature-list|pg-user-id-string--cmacro|pg-user-id-string|pg-user-id-validity--cmacro|pg-user-id-validity|pg-verify-file|pg-verify-result-to-string|pg-verify-string|pg-wait-for-completion|pg-wait-for-status|qualp|rc-active-buffer|rc-add-dangerous-host|rc-add-default-channel|rc-add-entry-to-list|rc-add-fool|rc-add-keyword|rc-add-pal|rc-add-query|rc-add-scroll-to-bottom|rc-add-server-user|rc-add-timestamp|rc-add-to-input-ring|rc-all-buffer-names|rc-already-logged-in|rc-arrange-session-in-multiple-windows|rc-auto-query|rc-autoaway-mode|rc-autojoin-add|rc-autojoin-after-ident|rc-autojoin-channels-delayed|rc-autojoin-channels|rc-autojoin-disable|rc-autojoin-enable|rc-autojoin-mode|rc-autojoin-remove|rc-away-time|rc-banlist-finished|rc-banlist-store|rc-banlist-update|rc-beep-on-match|rc-beg-of-input-line|rc-bol|rc-browse-emacswiki-lisp|rc-browse-emacswiki|rc-buffer-filter|rc-buffer-list-with-nick|rc-buffer-list|rc-buffer-visible|rc-button-add-button|rc-button-add-buttons-1|rc-button-add-buttons|rc-button-add-face|rc-button-add-nickname-buttons|rc-button-beats-to-time|rc-button-click-button|rc-button-describe-symbol|rc-button-disable|rc-button-enable|rc-button-mode|rc-button-next-function|rc-button-next|rc-button-press-button|rc-button-previous|rc-button-remove-old-buttons|rc-button-setup|rc-call-hooks|rc-cancel-timer|rc-canonicalize-server-name|rc-capab-identify-mode|rc-change-user-nickname|rc-channel-begin-receiving-names|rc-channel-end-receiving-names|rc-channel-list|rc-channel-names|rc-channel-p|rc-channel-receive-names|rc-channel-user-admin--cmacro|rc-channel-user-admin-p|rc-channel-user-admin|rc-channel-user-halfop--cmacro|rc-channel-user-halfop-p|rc-channel-user-halfop|rc-channel-user-last-message-time--cmacro|rc-channel-user-last-message-time|rc-channel-user-op--cmacro|rc-channel-user-op-p|rc-channel-user-op|rc-channel-user-owner--cmacro|rc-channel-user-owner-p|rc-channel-user-owner|rc-channel-user-p--cmacro|rc-channel-user-p|rc-channel-user-voice--cmacro|rc-channel-user-voice-p|rc-channel-user-voice|rc-clear-input-ring|rc-client-info|rc-cmd-AMSG|rc-cmd-APPENDTOPIC|rc-cmd-AT|rc-cmd-AWAY|rc-cmd-BANLIST|rc-cmd-BL|rc-cmd-BYE|rc-cmd-CHANNEL|rc-cmd-CLEAR|rc-cmd-CLEARTOPIC|rc-cmd-COUNTRY|rc-cmd-CTCP|rc-cmd-DATE|rc-cmd-DCC|rc-cmd-DEOP|rc-cmd-DESCRIBE|rc-cmd-EXIT|rc-cmd-GAWAY|rc-cmd-GQ|rc-cmd-GQUIT|rc-cmd-H|rc-cmd-HELP|rc-cmd-IDLE|rc-cmd-IGNORE|rc-cmd-J|rc-cmd-JOIN|rc-cmd-KICK|rc-cmd-LASTLOG|rc-cmd-LEAVE|rc-cmd-LIST|rc-cmd-LOAD|rc-cmd-M|rc-cmd-MASSUNBAN|rc-cmd-ME'S|rc-cmd-ME|rc-cmd-MODE|rc-cmd-MSG|rc-cmd-MUB|rc-cmd-N|rc-cmd-NAMES|rc-cmd-NICK|rc-cmd-NOTICE|rc-cmd-NOTIFY|rc-cmd-OPS??|rc-cmd-PART|rc-cmd-PING|rc-cmd-Q|rc-cmd-QUERY|rc-cmd-QUIT|rc-cmd-QUOTE|rc-cmd-RECONNECT|rc-cmd-SAY|rc-cmd-SERVER|rc-cmd-SET|rc-cmd-SIGNOFF|rc-cmd-SM|rc-cmd-SQUERY|rc-cmd-SV|rc-cmd-T|rc-cmd-TIME|rc-cmd-TOPIC|rc-cmd-UNIGNORE|rc-cmd-VAR|rc-cmd-VARIABLE|rc-cmd-WHOAMI|rc-cmd-WHOIS|rc-cmd-WHOLEFT|rc-cmd-WI|rc-cmd-WL|rc-cmd-default|rc-cmd-ezb|rc-coding-system-for-target|rc-command-indicator|rc-command-name|rc-command-no-process-p|rc-command-symbol|rc-complete-word-at-point|rc-complete-word|rc-completion-mode|rc-compute-full-name|rc-compute-nick|rc-compute-port|rc-compute-server|rc-connection-established|rc-controls-highlight|rc-controls-interpret|rc-controls-propertize|rc-controls-strip|rc-create-imenu-index|rc-ctcp-query-ACTION|rc-ctcp-query-CLIENTINFO|rc-ctcp-query-DCC|rc-ctcp-query-ECHO|rc-ctcp-query-FINGER|rc-ctcp-query-PING|rc-ctcp-query-TIME|rc-ctcp-query-USERINFO|rc-ctcp-query-VERSION|rc-ctcp-reply-CLIENTINFO|rc-ctcp-reply-ECHO|rc-ctcp-reply-FINGER|rc-ctcp-reply-PING|rc-ctcp-reply-TIME|rc-ctcp-reply-VERSION|rc-current-network|rc-current-nick-p|rc-current-nick|rc-current-time|rc-dcc-mode|rc-debug-missing-hooks|rc-decode-coding-string|rc-decode-parsed-server-response|rc-decode-string-from-target|rc-default-server-handler|rc-default-target|rc-define-catalog-entry|rc-define-catalog|rc-define-minor-mode|rc-delete-dangerous-host|rc-delete-default-channel|rc-delete-dups|rc-delete-fool|rc-delete-if|rc-delete-keyword|rc-delete-pal|rc-delete-query|rc-determine-network|rc-determine-parameters|rc-directory-writable-p|rc-display-command|rc-display-error-notice|rc-display-line-1|rc-display-line|rc-display-message-highlight|rc-display-message|rc-display-msg|rc-display-prompt|rc-display-server-message|rc-downcase|rc-echo-notice-in-active-buffer|rc-echo-notice-in-active-non-server-buffer|rc-echo-notice-in-default-buffer|rc-echo-notice-in-first-user-buffer|rc-echo-notice-in-minibuffer|rc-echo-notice-in-server-buffer|rc-echo-notice-in-target-buffer|rc-echo-notice-in-user-and-target-buffers|rc-echo-notice-in-user-buffers|rc-echo-timestamp|rc-emacs-time-to-erc-time|rc-encode-coding-string|rc-end-of-input-line|rc-ensure-channel-name|rc-error|rc-extract-command-from-line|rc-extract-nick|rc-ezb-add-session|rc-ezb-end-of-session-list|rc-ezb-get-login|rc-ezb-identify)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)er(?:c-ezb-init-session-list|c-ezb-initialize|c-ezb-lookup-action|c-ezb-notice-autodetect|c-ezb-select-session|c-ezb-select|c-faces-in|c-fill-disable|c-fill-enable|c-fill-mode|c-fill-regarding-timestamp|c-fill-static|c-fill-variable|c-fill|c-find-file|c-find-parsed-property|c-find-script-file|c-format-@nick|c-format-away-status|c-format-channel-modes|c-format-lag-time|c-format-message|c-format-my-nick|c-format-network|c-format-nick|c-format-privmessage|c-format-target-and/or-network|c-format-target-and/or-server|c-format-target|c-format-timestamp|c-function-arglist|c-generate-new-buffer-name|c-get-arglist|c-get-bg-color-face|c-get-buffer-create|c-get-buffer|c-get-channel-mode-from-keypress|c-get-channel-nickname-alist|c-get-channel-nickname-list|c-get-channel-user-list|c-get-channel-user|c-get-fg-color-face|c-get-hook|c-get-parsed-vector-nick|c-get-parsed-vector-type|c-get-parsed-vector|c-get-server-nickname-alist|c-get-server-nickname-list|c-get-server-user|c-get-user-mode-prefix|c-get|c-go-to-log-matches-buffer|c-grab-region|c-group-list|c-handle-irc-url|c-handle-login|c-handle-parsed-server-response|c-handle-unknown-server-response|c-handle-user-status-change|c-hide-current-message-p|c-hide-fools|c-hide-timestamps|c-highlight-error|c-highlight-notice|c-identd-mode|c-identd-start|c-identd-stop|c-ignored-reply-p|c-ignored-user-p|c-imenu-setup|c-initialize-log-marker|c-input-action|c-input-message|c-input-ring-setup|c-insert-aligned|c-insert-mode-command|c-insert-timestamp-left-and-right|c-insert-timestamp-left|c-insert-timestamp-right|c-invite-only-mode|c-irccontrols-disable|c-irccontrols-enable|c-irccontrols-mode|c-is-message-ctcp-and-not-action-p|c-is-message-ctcp-p|c-is-valid-nick-p|c-ison-p|c-iswitchb|c-join-channel|c-keep-place-disable|c-keep-place-enable|c-keep-place-mode|c-keep-place|c-kill-buffer-function|c-kill-channel|c-kill-input|c-kill-query-buffers|c-kill-server|c-list-button|c-list-disable|c-list-enable|c-list-handle-322|c-list-insert-item|c-list-install-322-handler|c-list-join|c-list-kill|c-list-make-string|c-list-match|c-list-menu-mode|c-list-menu-sort-by-column|c-list-mode|c-list-revert|c-list|c-load-irc-script-lines|c-load-irc-script|c-load-script|c-log-aux|c-log-irc-protocol|c-log-matches-come-back|c-log-matches-make-buffer|c-log-matches|c-log-mode|c-log|c-logging-enabled|c-login|c-lurker-cleanup|c-lurker-initialize|c-lurker-maybe-trim|c-lurker-p|c-lurker-update-status|c-make-message-variable-name|c-make-mode-line-buffer-name|c-make-notice|c-make-obsolete-variable|c-make-obsolete|c-make-read-only|c-match-current-nick-p|c-match-dangerous-host-p|c-match-directed-at-fool-p|c-match-disable|c-match-enable|c-match-fool-p|c-match-keyword-p|c-match-message|c-match-mode|c-match-pal-p|c-member-if|c-member-ignore-case|c-menu-add|c-menu-disable|c-menu-enable|c-menu-mode|c-menu-remove|c-menu|c-message-english-PART|c-message-target|c-message-type-member|c-message|c-migrate-modules|c-modes??|c-modified-channels-display|c-modified-channels-object|c-modified-channels-remove-buffer|c-modified-channels-update|c-move-to-prompt-disable|c-move-to-prompt-enable|c-move-to-prompt-mode|c-move-to-prompt-setup|c-move-to-prompt|c-munge-invisibility-spec|c-netsplit-JOIN|c-netsplit-MODE|c-netsplit-QUIT|c-netsplit-disable|c-netsplit-enable|c-netsplit-install-message-catalogs|c-netsplit-mode|c-netsplit-timer|c-network-name|c-network|c-networks-disable|c-networks-enable|c-networks-mode|c-next-command|c-nick-at-point|c-nick-equal-p|c-nick-popup|c-nickname-in-use|c-nickserv-identify-mode|c-nickserv-identify|c-noncommands-disable|c-noncommands-enable|c-noncommands-mode|c-normalize-port|c-notifications-mode|c-notify-mode|c-occur|c-once-with-server-event|c-open-server-buffer-p|c-open-tls-stream|c-open|c-page-mode|c-parse-modes|c-parse-prefix|c-parse-server-response|c-parse-user|c-part-from-channel|c-part-reason-normal|c-part-reason-various|c-part-reason-zippy|c-pcomplete-disable|c-pcomplete-enable|c-pcomplete-mode|c-pcomplete|c-pcompletions-at-point|c-popup-input-buffer|c-port-equal|c-port-to-string|c-ports-list|c-previous-command|c-process-away|c-process-ctcp-query|c-process-ctcp-reply|c-process-input-line|c-process-script-line|c-process-sentinel-1|c-process-sentinel-2|c-process-sentinel|c-prompt|c-propertize|c-put-text-properties|c-put-text-property|c-query-buffer-p|c-query|c-quit/part-reason-default|c-quit-reason-normal|c-quit-reason-various|c-quit-reason-zippy|c-quit-server|c-readonly-disable|c-readonly-enable|c-readonly-mode|c-remove-channel-member|c-remove-channel-users??|c-remove-current-channel-member|c-remove-entry-from-list|c-remove-if-not|c-remove-server-user|c-remove-text-properties-region|c-remove-user|c-replace-current-command|c-replace-match-subexpression-in-string|c-replace-mode|c-replace-regexp-in-string|c-response-p--cmacro|c-response-p|c-response\\\\.command--cmacro|c-response\\\\.command-args--cmacro|c-response\\\\.command-args|c-response\\\\.command|c-response\\\\.contents--cmacro|c-response\\\\.contents|c-response\\\\.sender--cmacro|c-response\\\\.sender|c-response\\\\.unparsed--cmacro|c-response\\\\.unparsed|c-restore-text-properties|c-retrieve-catalog-entry|c-ring-disable|c-ring-enable|c-ring-mode|c-save-buffer-in-logs|c-scroll-to-bottom|c-scrolltobottom-disable|c-scrolltobottom-enable|c-scrolltobottom-mode|c-sec-to-time|c-seconds-to-string|c-select-read-args|c-select-startup-file|c-select|c-send-action|c-send-command|c-send-ctcp-message|c-send-ctcp-notice|c-send-current-line|c-send-distinguish-noncommands|c-send-input-line|c-send-input|c-send-line|c-send-message|c-server-001|c-server-002|c-server-003|c-server-004|c-server-005|c-server-221|c-server-250|c-server-251|c-server-252|c-server-253|c-server-254|c-server-255|c-server-256|c-server-257|c-server-258|c-server-259|c-server-265|c-server-266|c-server-275|c-server-290|c-server-301|c-server-303|c-server-305|c-server-306|c-server-307|c-server-311|c-server-312|c-server-313|c-server-314|c-server-315|c-server-317|c-server-318|c-server-319|c-server-320|c-server-321-message|c-server-321|c-server-322-message|c-server-322|c-server-323|c-server-324|c-server-328|c-server-329|c-server-330|c-server-331|c-server-332|c-server-333|c-server-341|c-server-352|c-server-353|c-server-366|c-server-367|c-server-368|c-server-369|c-server-371|c-server-372|c-server-374|c-server-375|c-server-376|c-server-377|c-server-378|c-server-379|c-server-391|c-server-401|c-server-403|c-server-404|c-server-405|c-server-406|c-server-412|c-server-421|c-server-422|c-server-431|c-server-432|c-server-433|c-server-437|c-server-442|c-server-445|c-server-446|c-server-451|c-server-461|c-server-462|c-server-463|c-server-464|c-server-465|c-server-474|c-server-475|c-server-477|c-server-481|c-server-482|c-server-483|c-server-484|c-server-485|c-server-491|c-server-501|c-server-502|c-server-671|c-server-ERROR|c-server-INVITE|c-server-JOIN|c-server-KICK|c-server-MODE|c-server-MOTD|c-server-NICK|c-server-NOTICE|c-server-PART|c-server-PING|c-server-PONG|c-server-PRIVMSG|c-server-QUIT|c-server-TOPIC|c-server-WALLOPS|c-server-buffer-live-p|c-server-buffer-p|c-server-buffer|c-server-connect|c-server-filter-function|c-server-join-channel|c-server-process-alive|c-server-reconnect-p|c-server-reconnect|c-server-select|c-server-send-ping|c-server-send-queue|c-server-send|c-server-setup-periodical-ping|c-server-user-buffers--cmacro|c-server-user-buffers|c-server-user-full-name--cmacro|c-server-user-full-name|c-server-user-host--cmacro|c-server-user-host|c-server-user-info--cmacro|c-server-user-info|c-server-user-login--cmacro|c-server-user-login|c-server-user-nickname--cmacro|c-server-user-nickname|c-server-user-p--cmacro|c-server-user-p|c-services-mode|c-set-active-buffer|c-set-channel-key|c-set-channel-limit|c-set-current-nick|c-set-initial-user-mode|c-set-modes|c-set-network-name|c-set-topic|c-set-write-file-functions|c-setup-buffer|c-shorten-server-name|c-show-timestamps|c-smiley-disable|c-smiley-enable|c-smiley-mode|c-smiley|c-sort-channel-users-alphabetically|c-sort-channel-users-by-activity|c-sort-strings|c-sound-mode|c-speedbar-browser|c-spelling-mode|c-split-line|c-split-multiline-safe|c-ssl|c-stamp-disable|c-stamp-enable|c-stamp-mode|c-string-invisible-p|c-string-no-properties|c-string-to-emacs-time|c-string-to-port|c-subseq|c-time-diff|c-time-gt|c-timestamp-mode|c-timestamp-offset|c-tls|c-toggle-channel-mode|c-toggle-ctcp-autoresponse|c-toggle-debug-irc-protocol|c-toggle-flood-control|c-toggle-interpret-controls|c-toggle-timestamps|c-track-add-to-mode-line|c-track-disable|c-track-enable|c-track-face-priority|c-track-find-face|c-track-get-active-buffer|c-track-get-buffer-window|c-track-minor-mode-maybe|c-track-minor-mode|c-track-mode|c-track-modified-channels|c-track-remove-from-mode-line|c-track-shorten-names|c-track-sort-by-activest|c-track-sort-by-importance|c-track-switch-buffer|c-trim-string|c-truncate-buffer-to-size|c-truncate-buffer|c-truncate-mode|c-unique-channel-names|c-unique-substring-1|c-unique-substrings|c-unmorse-disable|c-unmorse-enable|c-unmorse-mode|c-unmorse|c-unset-network-name|c-upcase-first-word|c-update-channel-key|c-update-channel-limit|c-update-channel-member|c-update-channel-topic|c-update-current-channel-member|c-update-mode-line-buffer|c-update-mode-line|c-update-modes|c-update-modules|c-update-undo-list|c-update-user-nick|c-update-user|c-user-input|c-user-is-active|c-user-spec|c-version|c-view-mode-enter|c-wash-quit-reason|c-window-configuration-change|c-with-all-buffers-of-server|c-with-buffer|c-with-selected-window|c-with-server-buffer|c-xdcc-add-file|c-xdcc-mode|c|egistry|evision|t--abbreviate-string|t--activate-font-lock-keywords|t--button-action-position|t--ewoc-entry-expanded-p--cmacro|t--ewoc-entry-expanded-p|t--ewoc-entry-extended-printer-limits-p--cmacro|t--ewoc-entry-extended-printer-limits-p|t--ewoc-entry-hidden-p--cmacro|t--ewoc-entry-hidden-p|t--ewoc-entry-p--cmacro|t--ewoc-entry-p|t--ewoc-entry-test--cmacro|t--ewoc-entry-test|t--ewoc-position|t--expand-should-1|t--expand-should|t--explain-equal-including-properties|t--explain-equal-rec|t--explain-equal|t--explain-format-atom|t--force-message-log-buffer-truncation|t--format-time-iso8601|t--insert-human-readable-selector|t--insert-infos|t--make-stats|t--make-xrefs-region|t--parse-keys-and-body|t--plist-difference-explanation|t--pp-with-indentation-and-newline|t--print-backtrace|t--print-test-for-ewoc|t--proper-list-p|t--record-backtrace|t--remove-from-list|t--results-expand-collapse-button-action|t--results-font-lock-function|t--results-format-expected-unexpected|t--results-move|t--results-progress-bar-button-action|t--results-test-at-point-allow-redefinition|t--results-test-at-point-no-redefinition|t--results-test-node-at-point|t--results-test-node-or-null-at-point|t--results-update-after-test-redefinition|t--results-update-ewoc-hf|t--results-update-stats-display-maybe|t--results-update-stats-display|t--run-test-debugger|t--run-test-internal|t--setup-results-buffer|t--should-error-handle-error|t--signal-should-execution|t--significant-plist-keys|t--skip-unless|t--special-operator-p|t--stats-aborted-p--cmacro|t--stats-aborted-p|t--stats-current-test--cmacro|t--stats-current-test|t--stats-end-time--cmacro)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)e(?:rt--stats-end-time|rt--stats-failed-expected--cmacro|rt--stats-failed-expected|rt--stats-failed-unexpected--cmacro|rt--stats-failed-unexpected|rt--stats-next-redisplay--cmacro|rt--stats-next-redisplay|rt--stats-p--cmacro|rt--stats-p|rt--stats-passed-expected--cmacro|rt--stats-passed-expected|rt--stats-passed-unexpected--cmacro|rt--stats-passed-unexpected|rt--stats-selector--cmacro|rt--stats-selector|rt--stats-set-test-and-result|rt--stats-skipped--cmacro|rt--stats-skipped|rt--stats-start-time--cmacro|rt--stats-start-time|rt--stats-test-end-times--cmacro|rt--stats-test-end-times|rt--stats-test-key|rt--stats-test-map--cmacro|rt--stats-test-map|rt--stats-test-pos|rt--stats-test-results--cmacro|rt--stats-test-results|rt--stats-test-start-times--cmacro|rt--stats-test-start-times|rt--stats-tests--cmacro|rt--stats-tests|rt--string-first-line|rt--test-execution-info-ert-debug-on-error--cmacro|rt--test-execution-info-ert-debug-on-error|rt--test-execution-info-exit-continuation--cmacro|rt--test-execution-info-exit-continuation|rt--test-execution-info-next-debugger--cmacro|rt--test-execution-info-next-debugger|rt--test-execution-info-p--cmacro|rt--test-execution-info-p|rt--test-execution-info-result--cmacro|rt--test-execution-info-result|rt--test-execution-info-test--cmacro|rt--test-execution-info-test|rt--test-name-button-action|rt--tests-running-mode-line-indicator|rt--unload-function|rt-char-for-test-result|rt-deftest|rt-delete-all-tests|rt-delete-test|rt-describe-test|rt-equal-including-properties|rt-face-for-stats|rt-face-for-test-result|rt-fail|rt-find-test-other-window|rt-get-test|rt-info|rt-insert-test-name-button|rt-kill-all-test-buffers|rt-make-test-unbound|rt-pass|rt-read-test-name-at-point|rt-read-test-name|rt-results-describe-test-at-point|rt-results-find-test-at-point-other-window|rt-results-jump-between-summary-and-result|rt-results-mode-menu|rt-results-mode|rt-results-next-test|rt-results-pop-to-backtrace-for-test-at-point|rt-results-pop-to-messages-for-test-at-point|rt-results-pop-to-should-forms-for-test-at-point|rt-results-pop-to-timings|rt-results-previous-test|rt-results-rerun-all-tests|rt-results-rerun-test-at-point-debugging-errors|rt-results-rerun-test-at-point|rt-results-toggle-printer-limits-for-test-at-point|rt-run-or-rerun-test|rt-run-test|rt-run-tests-batch-and-exit|rt-run-tests-batch|rt-run-tests-interactively|rt-run-tests|rt-running-test|rt-select-tests|rt-set-test|rt-simple-view-mode|rt-skip|rt-stats-completed-expected|rt-stats-completed-unexpected|rt-stats-completed|rt-stats-skipped|rt-stats-total|rt-string-for-test-result|rt-summarize-tests-batch-and-exit|rt-test-aborted-with-non-local-exit-messages--cmacro|rt-test-aborted-with-non-local-exit-messages|rt-test-aborted-with-non-local-exit-p--cmacro|rt-test-aborted-with-non-local-exit-p|rt-test-aborted-with-non-local-exit-should-forms--cmacro|rt-test-aborted-with-non-local-exit-should-forms|rt-test-at-point|rt-test-body--cmacro|rt-test-body|rt-test-boundp|rt-test-documentation--cmacro|rt-test-documentation|rt-test-expected-result-type--cmacro|rt-test-expected-result-type|rt-test-failed-backtrace--cmacro|rt-test-failed-backtrace|rt-test-failed-condition--cmacro|rt-test-failed-condition|rt-test-failed-infos--cmacro|rt-test-failed-infos|rt-test-failed-messages--cmacro|rt-test-failed-messages|rt-test-failed-p--cmacro|rt-test-failed-p|rt-test-failed-should-forms--cmacro|rt-test-failed-should-forms|rt-test-most-recent-result--cmacro|rt-test-most-recent-result|rt-test-name--cmacro|rt-test-name|rt-test-p--cmacro|rt-test-p|rt-test-passed-messages--cmacro|rt-test-passed-messages|rt-test-passed-p--cmacro|rt-test-passed-p|rt-test-passed-should-forms--cmacro|rt-test-passed-should-forms|rt-test-quit-backtrace--cmacro|rt-test-quit-backtrace|rt-test-quit-condition--cmacro|rt-test-quit-condition|rt-test-quit-infos--cmacro|rt-test-quit-infos|rt-test-quit-messages--cmacro|rt-test-quit-messages|rt-test-quit-p--cmacro|rt-test-quit-p|rt-test-quit-should-forms--cmacro|rt-test-quit-should-forms|rt-test-result-expected-p|rt-test-result-messages--cmacro|rt-test-result-messages|rt-test-result-p--cmacro|rt-test-result-p|rt-test-result-should-forms--cmacro|rt-test-result-should-forms|rt-test-result-type-p|rt-test-result-with-condition-backtrace--cmacro|rt-test-result-with-condition-backtrace|rt-test-result-with-condition-condition--cmacro|rt-test-result-with-condition-condition|rt-test-result-with-condition-infos--cmacro|rt-test-result-with-condition-infos|rt-test-result-with-condition-messages--cmacro|rt-test-result-with-condition-messages|rt-test-result-with-condition-p--cmacro|rt-test-result-with-condition-p|rt-test-result-with-condition-should-forms--cmacro|rt-test-result-with-condition-should-forms|rt-test-skipped-backtrace--cmacro|rt-test-skipped-backtrace|rt-test-skipped-condition--cmacro|rt-test-skipped-condition|rt-test-skipped-infos--cmacro|rt-test-skipped-infos|rt-test-skipped-messages--cmacro|rt-test-skipped-messages|rt-test-skipped-p--cmacro|rt-test-skipped-p|rt-test-skipped-should-forms--cmacro|rt-test-skipped-should-forms|rt-test-tags--cmacro|rt-test-tags|rt|shell/addpath|shell/define|shell/env|shell/eshell-debug|shell/exit|shell/export|shell/jobs|shell/kill|shell/setq|shell/unset|shell/wait|shell/which|shell--apply-redirections|shell--do-opts|shell--process-args|shell--process-option|shell--set-option|shell-add-to-window-buffer-names|shell-apply\\\\*|shell-apply-indices|shell-applyn??|shell-arg-delimiter|shell-arg-initialize|shell-as-subcommand|shell-backward-argument|shell-begin-on-new-line|shell-beginning-of-input|shell-beginning-of-output|shell-bol|shell-buffered-print|shell-clipboard-append|shell-close-handles|shell-close-target|shell-cmd-initialize|shell-command-finished|shell-command-result|shell-command-started|shell-command-to-value|shell-commands??|shell-complete-lisp-symbols|shell-complete-variable-assignment|shell-complete-variable-reference|shell-condition-case|shell-convert|shell-copy-environment|shell-copy-handles|shell-copy-old-input|shell-copy-tree|shell-create-handles|shell-current-ange-uids|shell-debug-command|shell-debug-show-parsed-args|shell-directory-files-and-attributes|shell-directory-files|shell-do-command-to-value|shell-do-eval|shell-do-pipelines-synchronously|shell-do-pipelines|shell-do-subjob|shell-end-of-output|shell-environment-variables|shell-envvar-names|shell-errorn??|shell-escape-arg|shell-eval\\\\*|shell-eval-command|shell-eval-using-options|shell-evaln??|shell-exec-lisp|shell-execute-pipeline|shell-exit-success-p|shell-explicit-command|shell-ext-initialize|shell-external-command|shell-file-attributes|shell-find-alias-function|shell-find-delimiter|shell-find-interpreter|shell-find-tag|shell-finish-arg|shell-flatten-and-stringify|shell-flatten-list|shell-flush|shell-for|shell-forward-argument|shell-funcall\\\\*?|shell-funcalln|shell-gather-process-output|shell-get-old-input|shell-get-target|shell-get-variable|shell-goto-input-start|shell-group-id|shell-group-name|shell-handle-ansi-color|shell-handle-control-codes|shell-handle-local-variables|shell-index-value|shell-init-print-buffer|shell-insert-buffer-name|shell-insert-envvar|shell-insert-process|shell-insertion-filter|shell-interactive-output-p|shell-interactive-print|shell-interactive-process|shell-intercept-commands|shell-interpolate-variable|shell-interrupt-process|shell-invoke-batch-file|shell-invoke-directly|shell-invokify-arg|shell-io-initialize|shell-kill-append|shell-kill-buffer-function|shell-kill-input|shell-kill-new|shell-kill-output|shell-kill-process-function|shell-kill-process|shell-life-is-too-much|shell-lisp-command\\\\*?|shell-looking-at-backslash-return|shell-make-private-directory|shell-manipulate|shell-mark-output|shell-mode|shell-move-argument|shell-named-command\\\\*?|shell-needs-pipe-p|shell-no-command-conversion|shell-operator|shell-output-filter|shell-output-object-to-target|shell-output-object|shell-parse-ange-ls|shell-parse-arguments??|shell-parse-backslash|shell-parse-colon-path|shell-parse-command-input|shell-parse-command|shell-parse-delimiter|shell-parse-double-quote|shell-parse-indices|shell-parse-lisp-argument|shell-parse-literal-quote|shell-parse-pipeline|shell-parse-redirection|shell-parse-special-reference|shell-parse-subcommand-argument|shell-parse-variable-ref|shell-parse-variable|shell-plain-command|shell-postoutput-scroll-to-bottom|shell-preinput-scroll-to-bottom|shell-print|shell-printable-size|shell-printn|shell-proc-initialize|shell-process-identity|shell-process-interact|shell-processp|shell-protect-handles|shell-protect|shell-push-command-mark|shell-query-kill-processes|shell-queue-input|shell-quit-process|shell-quote-argument|shell-quote-backslash|shell-read-group-names|shell-read-host-names|shell-read-hosts-file|shell-read-hosts|shell-read-passwd-file|shell-read-passwd|shell-read-process-name|shell-read-user-names|shell-record-process-object|shell-redisplay|shell-regexp-arg|shell-remote-command|shell-remove-from-window-buffer-names|shell-remove-process-entry|shell-repeat-argument|shell-report-bug|shell-reset-after-proc|shell-reset|shell-resolve-current-argument|shell-resume-command|shell-resume-eval|shell-return-exits-minibuffer|shell-rewrite-for-command|shell-rewrite-if-command|shell-rewrite-initial-subcommand|shell-rewrite-named-command|shell-rewrite-sexp-command|shell-rewrite-while-command|shell-round-robin-kill|shell-run-output-filters|shell-script-interpreter|shell-search-path|shell-self-insert-command|shell-send-eof-to-process|shell-send-input|shell-send-invisible|shell-sentinel|shell-separate-commands|shell-set-output-handle|shell-show-maximum-output|shell-show-output|shell-show-usage|shell-split-path|shell-stringify-list|shell-stringify|shell-strip-redirections|shell-structure-basic-command|shell-subcommand-arg-values|shell-subgroups|shell-sublist|shell-substring|shell-to-flat-string|shell-toggle-direct-send|shell-trap-errors|shell-truncate-buffer|shell-under-windows-p|shell-uniqify-list|shell-unload-all-modules|shell-unload-extension-modules|shell-update-markers|shell-user-id|shell-user-name|shell-using-module|shell-var-initialize|shell-variables-list|shell-wait-for-process|shell-watch-for-password-prompt|shell-winnow-list|shell-with-file-modes|shell-with-private-file-modes|shell|tags--xref-find-definitions|tags-file-of-tag|tags-goto-tag-location|tags-list-tags|tags-recognize-tags-table|tags-snarf-tag|tags-tags-apropos-additional|tags-tags-apropos|tags-tags-completion-table|tags-tags-included-tables|tags-tags-table-files|tags-verify-tags-table|tags-xref-find|thio-composition-function|thio-fidel-to-java-buffer|thio-fidel-to-sera-buffer|thio-fidel-to-sera-marker|thio-fidel-to-sera-region|thio-fidel-to-tex-buffer|thio-find-file|thio-input-special-character|thio-insert-ethio-space|thio-java-to-fidel-buffer|thio-modify-vowel|thio-replace-space|thio-sera-to-fidel-buffer|thio-sera-to-fidel-marker|thio-sera-to-fidel-region|thio-tex-to-fidel-buffer|thio-write-file|typecase|udc-add-field-to-records|udc-bookmark-current-server|udc-bookmark-server|udc-caar|udc-cadr|udc-cdaar|udc-cdar|udc-customize|udc-default-set|udc-display-generic-binary|udc-display-jpeg-as-button|udc-display-jpeg-inline|udc-display-mail|udc-display-records|udc-display-sound|udc-display-url|udc-distribute-field-on-records|udc-edit-hotlist|udc-expand-inline|udc-extract-n-word-formats|udc-filter-duplicate-attributes|udc-filter-partial-records|udc-format-attribute-name-for-display|udc-format-query|udc-get-attribute-list|udc-get-email|udc-get-phone|udc-insert-record-at-point-into-bbdb|udc-install-menu|udc-lax-plist-get|udc-load-eudc|udc-menu|udc-mode|udc-move-to-next-record|udc-move-to-previous-record|udc-plist-get|udc-plist-member)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:eudc-print-attribute-value|eudc-print-record-field|eudc-process-form|eudc-protocol-local-variable-p|eudc-protocol-set|eudc-query-form|eudc-query|eudc-register-protocol|eudc-replace-in-string|eudc-save-options|eudc-select|eudc-server-local-variable-p|eudc-server-set|eudc-set-server|eudc-set|eudc-tools-menu|eudc-translate-attribute-list|eudc-translate-query|eudc-try-bbdb-insert|eudc-update-local-variables|eudc-update-variable|eudc-variable-default-value|eudc-variable-protocol-value|eudc-variable-server-value|eval-after-load--anon-cmacro|eval-after-load|eval-defun|eval-expression-print-format|eval-expression|eval-last-sexp|eval-next-after-load|eval-print-last-sexp|eval-sexp-add-defvars|eval-when|evenp|event-apply-alt-modifier|event-apply-control-modifier|event-apply-hyper-modifier|event-apply-meta-modifier|event-apply-modifier|event-apply-shift-modifier|event-apply-super-modifier|every|ewoc--adjust|ewoc--buffer--cmacro|ewoc--buffer|ewoc--create--cmacro|ewoc--create|ewoc--dll--cmacro|ewoc--dll|ewoc--filter-hf-nodes|ewoc--footer--cmacro|ewoc--footer|ewoc--header--cmacro|ewoc--header|ewoc--hf-pp--cmacro|ewoc--hf-pp|ewoc--insert-new-node|ewoc--last-node--cmacro|ewoc--last-node|ewoc--node-create--cmacro|ewoc--node-create|ewoc--node-data--cmacro|ewoc--node-data|ewoc--node-left--cmacro|ewoc--node-left|ewoc--node-next|ewoc--node-nth|ewoc--node-prev|ewoc--node-right--cmacro|ewoc--node-right|ewoc--node-start-marker--cmacro|ewoc--node-start-marker|ewoc--pretty-printer--cmacro|ewoc--pretty-printer|ewoc--refresh-node|ewoc--set-buffer-bind-dll-let\\\\*|ewoc--set-buffer-bind-dll|ewoc--wrap|ewoc-p--cmacro|ewoc-p|eww-add-bookmark|eww-back-url|eww-beginning-of-field|eww-beginning-of-text|eww-bookmark-browse|eww-bookmark-kill|eww-bookmark-mode|eww-bookmark-prepare|eww-bookmark-yank|eww-browse-url|eww-browse-with-external-browser|eww-buffer-kill|eww-buffer-select|eww-buffer-show-next|eww-buffer-show-previous|eww-buffer-show|eww-buffers-mode|eww-change-select|eww-copy-page-url|eww-current-url|eww-desktop-data-1|eww-desktop-history-duplicate|eww-desktop-misc-data|eww-detect-charset|eww-display-html|eww-display-image|eww-display-pdf|eww-display-raw|eww-download-callback|eww-download|eww-end-of-field|eww-end-of-text|eww-follow-link|eww-form-checkbox|eww-form-file|eww-form-submit|eww-form-text|eww-forward-url|eww-handle-link|eww-highest-readability|eww-history-browse|eww-history-mode|eww-input-value|eww-inputs|eww-links-at-point|eww-list-bookmarks|eww-list-buffers|eww-list-histories|eww-make-unique-file-name|eww-mode|eww-next-bookmark|eww-next-url|eww-open-file|eww-parse-headers|eww-previous-bookmark|eww-previous-url|eww-process-text-input|eww-read-bookmarks|eww-readable|eww-reload|eww-render|eww-restore-desktop|eww-restore-history|eww-same-page-p|eww-save-history|eww-score-readability|eww-search-words|eww-select-display|eww-select-file|eww-set-character-encoding|eww-setup-buffer|eww-size-text-inputs|eww-submit|eww-suggested-uris|eww-tag-a|eww-tag-body|eww-tag-form|eww-tag-input|eww-tag-link|eww-tag-select|eww-tag-textarea|eww-tag-title|eww-toggle-checkbox|eww-top-url|eww-up-url|eww-update-field|eww-update-header-line-format|eww-view-source|eww-write-bookmarks|eww|ex-args|ex-cd|ex-cmd-accepts-multiple-files-p|ex-cmd-assoc|ex-cmd-complete|ex-cmd-execute|ex-cmd-is-mashed-with-args|ex-cmd-is-one-letter|ex-cmd-not-yet|ex-cmd-obsolete|ex-cmd-read-exit|ex-command|ex-compile|ex-copy|ex-delete|ex-edit|ex-expand-filsyms|ex-find-file|ex-fixup-history|ex-get-inline-cmd-args|ex-global|ex-goto|ex-help|ex-line-no|ex-line-subr|ex-line|ex-map-read-args|ex-map|ex-mark|ex-next-related-buffer|ex-next|ex-preserve|ex-print-display-lines|ex-print|ex-put|ex-pwd|ex-quit|ex-read|ex-recover|ex-rewind|ex-search-address|ex-set-read-variable|ex-set-visited-file-name|ex-set|ex-shell|ex-show-vars|ex-source|ex-splice-args-in-1-letr-cmd|ex-substitute|ex-tag|ex-unmap-read-args|ex-unmap|ex-write-info|ex-write|ex-yank|exchange-dot-and-mark|exchange-point-and-mark|executable-chmod|executable-command-find-posix-p|executable-interpret|executable-make-buffer-file-executable-if-script-p|executable-self-display|executable-set-magic|execute-extended-command--shorter-1|execute-extended-command--shorter|exit-scheme-interaction-mode|exit-splash-screen|expand-abbrev-from-expand|expand-abbrev-hook|expand-add-abbrevs??|expand-build-list|expand-build-marks|expand-c-for-skeleton|expand-clear-markers|expand-do-expansion|expand-in-literal|expand-jump-to-next-slot|expand-jump-to-previous-slot|expand-list-to-markers|expand-mail-aliases|expand-previous-word|expand-region-abbrevs|expand-skeleton-end-hook|external-debugging-output|extract-rectangle-line|extract-rectangle|ezimage-all-images|ezimage-image-association-dump|ezimage-image-dump|ezimage-image-over-string|ezimage-insert-image-button-maybe|ezimage-insert-over-text|f90-abbrev-help|f90-abbrev-start|f90-add-imenu-menu|f90-backslash-not-special|f90-beginning-of-block|f90-beginning-of-subprogram|f90-block-match|f90-break-line|f90-calculate-indent|f90-capitalize-keywords|f90-capitalize-region-keywords|f90-change-keywords|f90-comment-indent|f90-comment-region|f90-current-defun|f90-current-indentation|f90-do-auto-fill|f90-downcase-keywords|f90-downcase-region-keywords|f90-electric-insert|f90-end-of-block|f90-end-of-subprogram|f90-equal-symbols|f90-fill-region|f90-find-breakpoint|f90-font-lock-1|f90-font-lock-2|f90-font-lock-3|f90-font-lock-4|f90-font-lock-n|f90-get-correct-indent|f90-get-present-comment-type|f90-imenu-type-matcher|f90-in-comment|f90-in-string|f90-indent-line-no|f90-indent-line|f90-indent-new-line|f90-indent-region|f90-indent-subprogram|f90-indent-to|f90-insert-end|f90-join-lines|f90-line-continued|f90-looking-at-associate|f90-looking-at-critical|f90-looking-at-do|f90-looking-at-end-critical|f90-looking-at-if-then|f90-looking-at-program-block-end|f90-looking-at-program-block-start|f90-looking-at-select-case|f90-looking-at-type-like|f90-looking-at-where-or-forall|f90-mark-subprogram|f90-match-end|f90-menu|f90-mode|f90-next-block|f90-next-statement|f90-no-block-limit|f90-prepare-abbrev-list-buffer|f90-present-statement-cont|f90-previous-block|f90-previous-statement|f90-typedec-matcher|f90-typedef-matcher|f90-upcase-keywords|f90-upcase-region-keywords|f90-update-line|face-at-point|face-attr-construct|face-attr-match-p|face-attribute-merged-with|face-attribute-specified-or|face-attributes-as-vector|face-attrs-more-relative-p|face-background-pixmap|face-default-spec|face-descriptive-attribute-name|face-doc-string|face-name|face-nontrivial-p|face-read-integer|face-read-string|face-remap-order|face-set-after-frame-default|face-spec-choose|face-spec-match-p|face-spec-recalc|face-spec-reset-face|face-spec-set-2|face-spec-set-match-display|face-user-default-spec|face-valid-attribute-values|facemenu-active-faces|facemenu-add-face|facemenu-add-new-color|facemenu-add-new-face|facemenu-background-menu|facemenu-color-equal|facemenu-complete-face-list|facemenu-enable-faces-p|facemenu-face-menu|facemenu-foreground-menu|facemenu-indentation-menu|facemenu-iterate|facemenu-justification-menu|facemenu-menu|facemenu-post-self-insert-function|facemenu-read-color|facemenu-remove-all|facemenu-remove-face-props|facemenu-remove-special|facemenu-set-background|facemenu-set-bold-italic|facemenu-set-bold|facemenu-set-default|facemenu-set-face-from-menu|facemenu-set-face|facemenu-set-foreground|facemenu-set-intangible|facemenu-set-invisible|facemenu-set-italic|facemenu-set-read-only|facemenu-set-self-insert-face|facemenu-set-underline|facemenu-special-menu|facemenu-update|fancy-about-screen|fancy-splash-frame|fancy-splash-head|fancy-splash-image-file|fancy-splash-insert|fancy-startup-screen|fancy-startup-tail|feature-file|feature-symbols|feedmail-accume-n-nuke-header|feedmail-buffer-to-binmail|feedmail-buffer-to-sendmail|feedmail-buffer-to-smtp|feedmail-buffer-to-smtpmail|feedmail-confirm-addresses-hook-example|feedmail-create-queue-filename|feedmail-deduce-address-list|feedmail-default-date-generator|feedmail-default-message-id-generator|feedmail-default-x-mailer-generator|feedmail-dump-message-to-queue|feedmail-envelope-deducer|feedmail-fiddle-date|feedmail-fiddle-from|feedmail-fiddle-header|feedmail-fiddle-list-of-fiddle-plexes|feedmail-fiddle-list-of-spray-fiddle-plexes|feedmail-fiddle-message-id|feedmail-fiddle-sender|feedmail-fiddle-spray-address|feedmail-fiddle-x-mailer|feedmail-fill-this-one|feedmail-fill-to-cc-function|feedmail-find-eoh|feedmail-fqm-p|feedmail-give-it-to-buffer-eater|feedmail-look-at-queue-directory|feedmail-mail-send-hook-splitter|feedmail-message-action-draft-strong|feedmail-message-action-draft|feedmail-message-action-edit|feedmail-message-action-help-blat|feedmail-message-action-help|feedmail-message-action-queue-strong|feedmail-message-action-queue|feedmail-message-action-scroll-down|feedmail-message-action-scroll-up|feedmail-message-action-send-strong|feedmail-message-action-send|feedmail-message-action-toggle-spray|feedmail-one-last-look|feedmail-queue-express-to-draft|feedmail-queue-express-to-queue|feedmail-queue-reminder-brief|feedmail-queue-reminder-medium|feedmail-queue-reminder|feedmail-queue-runner-prompt|feedmail-queue-send-edit-prompt-inner|feedmail-queue-send-edit-prompt|feedmail-queue-subject-slug-maker|feedmail-rfc822-date|feedmail-rfc822-time-zone|feedmail-run-the-queue-global-prompt|feedmail-run-the-queue-no-prompts|feedmail-run-the-queue|feedmail-say-chatter|feedmail-say-debug|feedmail-scroll-buffer|feedmail-send-it-immediately-wrapper|feedmail-send-it-immediately|feedmail-send-it|feedmail-spray-via-bbdb|feedmail-tidy-up-slug|feedmail-vm-mail-mode|fetch-overload|ff-all-dirs-under|ff-basename|ff-cc-hh-converter|ff-find-file|ff-find-other-file|ff-find-related-file|ff-find-the-other-file|ff-get-file-name|ff-get-file|ff-get-other-file|ff-list-replace-env-vars|ff-mouse-find-other-file-other-window|ff-mouse-find-other-file|ff-other-file-name|ff-set-point-accordingly|ff-string-match|ff-switch-file|ff-switch-to-buffer|ff-treat-as-special|ff-upcase-p|ff-which-function-are-we-in|ffap--toggle-read-only|ffap-all-subdirs-loop|ffap-all-subdirs|ffap-alternate-file-other-window|ffap-alternate-file|ffap-at-mouse|ffap-bib|ffap-bindings|ffap-bug|ffap-c\\\\+\\\\+-mode|ffap-c-mode|ffap-completable|ffap-copy-string-as-kill|ffap-dired-other-frame|ffap-dired-other-window|ffap-dired|ffap-el-mode|ffap-el|ffap-event-buffer|ffap-file-at-point|ffap-file-exists-string|ffap-file-remote-p|ffap-file-suffix|ffap-fixup-machine|ffap-fixup-url|ffap-fortran-mode|ffap-gnus-hook|ffap-gnus-menu|ffap-gnus-next|ffap-gnus-wrapper|ffap-gopher-at-point|ffap-guess-file-name-at-point|ffap-guesser|ffap-highlight|ffap-home|ffap-host-to-filename|ffap-info-2|ffap-info-3|ffap-info|ffap-kpathsea-expand-path|ffap-latex-mode|ffap-lcd|ffap-list-directory|ffap-list-env|ffap-literally|ffap-locate-file|ffap-machine-at-point|ffap-machine-p|ffap-menu-ask|ffap-menu-cont|ffap-menu-rescan|ffap-menu|ffap-mouse-event|ffap-newsgroup-p|ffap-next-guess|ffap-next-url|ffap-next|ffap-other-frame|ffap-other-window|ffap-prompter|ffap-read-file-or-url-internal|ffap-read-file-or-url|ffap-read-only-other-frame|ffap-read-only-other-window|ffap-read-only|ffap-read-url-internal|ffap-reduce-path|ffap-replace-file-component|ffap-rfc|ffap-ro-mode-hook|ffap-string-around|ffap-string-at-point|ffap-submit-bug|ffap-symbol-value|ffap-tex-init|ffap-tex-mode|ffap-tex|ffap-url-at-point|ffap-url-p|ffap-url-unwrap-local|ffap-url-unwrap-remote|ffap-what-domain|ffap|field-at-pos|field-complete|fifth|file-attributes-lessp|file-cache--read-list|file-cache-add-directory-list|file-cache-add-directory-recursively|file-cache-add-directory-using-find|file-cache-add-directory-using-locate|file-cache-add-directory|file-cache-add-file-list|file-cache-add-file|file-cache-add-from-file-cache-buffer|file-cache-canonical-directory|file-cache-choose-completion|file-cache-clear-cache|file-cache-complete|file-cache-completion-setup-function|file-cache-debug-read-from-minibuffer|file-cache-delete-directory-list|file-cache-delete-directory|file-cache-delete-file-list|file-cache-delete-file-regexp|file-cache-delete-file|file-cache-directory-name|file-cache-display|file-cache-do-delete-directory)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)f(?:ile-cache-file-name|ile-cache-files-matching-internal|ile-cache-files-matching|ile-cache-minibuffer-complete|ile-cache-mouse-choose-completion|ile-dependents|ile-loadhist-lookup|ile-modes-char-to-right|ile-modes-char-to-who|ile-modes-rights-to-number|ile-name-non-special|ile-name-shadow-mode|ile-notify--event-cookie|ile-notify--event-file-name|ile-notify--event-file1-name|ile-notify-callback|ile-notify-handle-event|ile-of-tag|ile-provides|ile-requires|ile-set-intersect|ile-size-human-readable|ile-tree-walk|ilesets-add-buffer|ilesets-alist-get|ilesets-browse-dir|ilesets-browser-name|ilesets-build-dir-submenu-now|ilesets-build-dir-submenu|ilesets-build-ingroup-submenu|ilesets-build-menu-maybe|ilesets-build-menu-now|ilesets-build-menu|ilesets-build-submenu|ilesets-close|ilesets-cmd-get-args|ilesets-cmd-get-def|ilesets-cmd-get-fn|ilesets-cmd-isearch-getargs|ilesets-cmd-query-replace-getargs|ilesets-cmd-query-replace-regexp-getargs|ilesets-cmd-shell-command-getargs|ilesets-cmd-shell-command|ilesets-cmd-show-result|ilesets-conditional-sort|ilesets-convert-path-list|ilesets-convert-patterns|ilesets-customize|ilesets-data-get-data|ilesets-data-get-name|ilesets-data-get|ilesets-data-set-default|ilesets-data-set|ilesets-directory-files|ilesets-edit|ilesets-entry-get-dormant-flag|ilesets-entry-get-files??|ilesets-entry-get-filter-dirs-flag|ilesets-entry-get-master|ilesets-entry-get-open-fn|ilesets-entry-get-pattern--dir|ilesets-entry-get-pattern--pattern|ilesets-entry-get-pattern|ilesets-entry-get-save-fn|ilesets-entry-get-tree-max-level|ilesets-entry-get-tree|ilesets-entry-get-verbosity|ilesets-entry-mode|ilesets-entry-set-files|ilesets-error|ilesets-eviewer-constraint-p|ilesets-eviewer-get-props|ilesets-exit|ilesets-file-close|ilesets-file-open|ilesets-files-equalp|ilesets-files-in-same-directory-p|ilesets-filetype-get-prop|ilesets-filetype-property|ilesets-filter-dir-names|ilesets-filter-list|ilesets-find-file-using|ilesets-find-file|ilesets-find-or-display-file|ilesets-get-cmd-menu|ilesets-get-external-viewer-by-name|ilesets-get-external-viewer|ilesets-get-filelist|ilesets-get-fileset-from-name|ilesets-get-fileset-name|ilesets-get-menu-epilog|ilesets-get-quoted-selection|ilesets-get-selection|ilesets-get-shortcut|ilesets-goto-homepage|ilesets-info|ilesets-ingroup-cache-get|ilesets-ingroup-cache-put|ilesets-ingroup-collect-build-menu|ilesets-ingroup-collect-files|ilesets-ingroup-collect-finder|ilesets-ingroup-collect|ilesets-ingroup-get-data|ilesets-ingroup-get-pattern|ilesets-ingroup-get-remdupl-p|ilesets-init|ilesets-member|ilesets-menu-cache-file-load|ilesets-menu-cache-file-save-maybe|ilesets-menu-cache-file-save|ilesets-message|ilesets-open|ilesets-ormap|ilesets-quote|ilesets-rebuild-this-submenu|ilesets-remake-shortcut|ilesets-remove-buffer|ilesets-remove-from-ubl|ilesets-reset-filename-on-change|ilesets-reset-fileset|ilesets-run-cmd--repl-fn|ilesets-run-cmd|ilesets-save-config|ilesets-select-command|ilesets-set-config|ilesets-set-default!|ilesets-set-default\\\\+?|ilesets-some|ilesets-spawn-external-viewer|ilesets-sublist|ilesets-update-cleanup|ilesets-update-pre010505|ilesets-update|ilesets-which-command-p|ilesets-which-command|ilesets-which-file|ilesets-wrap-submenu|ill-comment-paragraph|ill-common-string-prefix|ill-delete-newlines|ill-delete-prefix|ill-find-break-point|ill-flowed-encode|ill-flowed|ill-forward-paragraph|ill-french-nobreak-p|ill-indent-to-left-margin|ill-individual-paragraphs-citation|ill-individual-paragraphs-prefix|ill-match-adaptive-prefix|ill-minibuffer-function|ill-move-to-break-point|ill-newline|ill-nobreak-p|ill-nonuniform-paragraphs|ill-single-char-nobreak-p|ill-single-word-nobreak-p|ill-text-properties-at|ill|iltered-frame-list|ind-alternate-file-other-window|ind-alternate-file|ind-change-log|ind-class|ind-cmd|ind-cmpl-prefix-entry|ind-coding-systems-region-internal|ind-composition-internal|ind-composition|ind-definition-noselect|ind-dired-filter|ind-dired-sentinel|ind-dired|ind-emacs-lisp-shadows|ind-exact-completion|ind-face-definition|ind-file--read-only|ind-file-at-point|ind-file-existing|ind-file-literally-at-point|ind-file-noselect-1|ind-file-other-frame|ind-file-read-args|ind-file-read-only-other-frame|ind-file-read-only-other-window|ind-function-C-source|ind-function-advised-original|ind-function-at-point|ind-function-do-it|ind-function-library|ind-function-noselect|ind-function-on-key|ind-function-other-frame|ind-function-other-window|ind-function-read|ind-function-search-for-symbol|ind-function-setup-keys|ind-function|ind-grep-dired|ind-grep|ind-if-not|ind-if|ind-library--load-name|ind-library-name|ind-library-suffixes|ind-library|ind-lisp-debug-message|ind-lisp-default-directory-predicate|ind-lisp-default-file-predicate|ind-lisp-file-predicate-is-directory|ind-lisp-find-dired-filter|ind-lisp-find-dired-insert-file|ind-lisp-find-dired-internal|ind-lisp-find-dired-subdirectories|ind-lisp-find-dired|ind-lisp-find-files-internal|ind-lisp-find-files|ind-lisp-format-time|ind-lisp-format|ind-lisp-insert-directory|ind-lisp-object-file-name|ind-lisp-time-index|ind-multibyte-characters|ind-name-dired|ind-new-buffer-file-coding-system|ind-tag-default-as-regexp|ind-tag-default-as-symbol-regexp|ind-tag-default-bounds|ind-tag-default|ind-tag-in-order|ind-tag-interactive|ind-tag-noselect|ind-tag-other-frame|ind-tag-other-window|ind-tag-regexp|ind-tag-tag|ind-tag|ind-variable-at-point|ind-variable-noselect|ind-variable-other-frame|ind-variable-other-window|ind-variable|ind|inder-by-keyword|inder-commentary|inder-compile-keywords-make-dist|inder-compile-keywords|inder-current-item|inder-exit|inder-goto-xref|inder-insert-at-column|inder-list-keywords|inder-list-matches|inder-mode|inder-mouse-face-on-line|inder-mouse-select|inder-select|inder-summary|inder-unknown-keywords|inder-unload-function|inger|irst-error|irst|loatp-safe|loor\\\\*|lush-lines|lymake-add-buildfile-to-cache|lymake-add-err-info|lymake-add-line-err-info|lymake-add-project-include-dirs-to-cache|lymake-after-change-function|lymake-after-save-hook|lymake-can-syntax-check-file|lymake-check-include|lymake-check-patch-master-file-buffer|lymake-clear-buildfile-cache|lymake-clear-project-include-dirs-cache|lymake-compilation-is-running|lymake-compile|lymake-copy-buffer-to-temp-buffer|lymake-create-master-file|lymake-create-temp-inplace|lymake-create-temp-with-folder-structure|lymake-delete-own-overlays|lymake-delete-temp-directory|lymake-display-err-menu-for-current-line|lymake-display-warning|lymake-er-get-line-err-info-list|lymake-er-get-line|lymake-er-make-er|lymake-find-buffer-for-file|lymake-find-buildfile|lymake-find-err-info|lymake-find-file-hook|lymake-find-make-buildfile|lymake-find-possible-master-files|lymake-fix-file-name|lymake-fix-line-numbers|lymake-get-ant-cmdline|lymake-get-buildfile-from-cache|lymake-get-cleanup-function|lymake-get-err-count|lymake-get-file-name-mode-and-masks|lymake-get-first-err-line-no|lymake-get-full-nonpatched-file-name|lymake-get-full-patched-file-name|lymake-get-include-dirs-dot|lymake-get-include-dirs|lymake-get-init-function|lymake-get-last-err-line-no|lymake-get-line-err-count|lymake-get-make-cmdline|lymake-get-next-err-line-no|lymake-get-prev-err-line-no|lymake-get-project-include-dirs-from-cache|lymake-get-project-include-dirs-imp|lymake-get-project-include-dirs|lymake-get-real-file-name-function|lymake-get-real-file-name|lymake-get-syntax-check-program-args|lymake-get-system-include-dirs|lymake-get-tex-args|lymake-goto-file-and-line|lymake-goto-line|lymake-goto-next-error|lymake-goto-prev-error|lymake-highlight-err-lines|lymake-highlight-line|lymake-init-create-temp-buffer-copy|lymake-init-create-temp-source-and-master-buffer-copy|lymake-init-find-buildfile-dir|lymake-ins-after|lymake-kill-buffer-hook|lymake-kill-process|lymake-ler-file--cmacro|lymake-ler-file|lymake-ler-full-file--cmacro|lymake-ler-full-file|lymake-ler-line--cmacro|lymake-ler-line|lymake-ler-make-ler--cmacro|lymake-ler-make-ler|lymake-ler-p--cmacro|lymake-ler-p|lymake-ler-set-file|lymake-ler-set-full-file|lymake-ler-set-line|lymake-ler-text--cmacro|lymake-ler-text|lymake-ler-type--cmacro|lymake-ler-type|lymake-line-err-info-is-less-or-equal|lymake-log|lymake-make-overlay|lymake-master-cleanup|lymake-master-file-compare|lymake-master-make-header-init|lymake-master-make-init|lymake-master-tex-init|lymake-mode-off|lymake-mode-on|lymake-mode|lymake-on-timer-event|lymake-overlay-p|lymake-parse-err-lines|lymake-parse-line|lymake-parse-output-and-residual|lymake-parse-residual|lymake-patch-err-text|lymake-perl-init|lymake-php-init|lymake-popup-current-error-menu|lymake-post-syntax-check|lymake-process-filter|lymake-process-sentinel|lymake-read-file-to-temp-buffer|lymake-reformat-err-line-patterns-from-compile-el|lymake-region-has-flymake-overlays|lymake-replace-region|lymake-report-fatal-status|lymake-report-status|lymake-safe-delete-directory|lymake-safe-delete-file|lymake-same-files|lymake-save-buffer-in-file|lymake-set-at|lymake-simple-ant-java-init|lymake-simple-cleanup|lymake-simple-java-cleanup|lymake-simple-make-init-impl|lymake-simple-make-init|lymake-simple-make-java-init|lymake-simple-tex-init|lymake-skip-whitespace|lymake-split-output|lymake-start-syntax-check-process|lymake-start-syntax-check|lymake-stop-all-syntax-checks|lymake-xml-init|lyspell-abbrev-table|lyspell-accept-buffer-local-defs|lyspell-after-change-function|lyspell-ajust-cursor-point|lyspell-already-abbrevp|lyspell-auto-correct-previous-hook|lyspell-auto-correct-previous-word|lyspell-auto-correct-word|lyspell-buffer|lyspell-change-abbrev|lyspell-check-changed-word-p|lyspell-check-pre-word-p|lyspell-check-previous-highlighted-word|lyspell-check-region-doublons|lyspell-check-word-p|lyspell-correct-word-before-point|lyspell-correct-word|lyspell-debug-signal-changed-checked|lyspell-debug-signal-no-check|lyspell-debug-signal-pre-word-checked|lyspell-debug-signal-word-checked|lyspell-define-abbrev|lyspell-delay-commands??|lyspell-delete-all-overlays|lyspell-delete-region-overlays|lyspell-deplacement-commands??|lyspell-display-next-corrections|lyspell-do-correct|lyspell-emacs-popup|lyspell-external-point-words|lyspell-generic-progmode-verify|lyspell-get-casechars|lyspell-get-not-casechars|lyspell-get-word|lyspell-goto-next-error|lyspell-hack-local-variables-hook|lyspell-highlight-duplicate-region|lyspell-highlight-incorrect-region|lyspell-kill-ispell-hook|lyspell-large-region|lyspell-math-tex-command-p|lyspell-maybe-correct-doubling|lyspell-maybe-correct-transposition|lyspell-minibuffer-p|lyspell-mode-off|lyspell-mode-on|lyspell-mode|lyspell-notify-misspell|lyspell-overlay-p|lyspell-post-command-hook|lyspell-pre-command-hook|lyspell-process-localwords|lyspell-prog-mode|lyspell-properties-at-p|lyspell-region|lyspell-small-region|lyspell-tex-command-p|lyspell-unhighlight-at|lyspell-word-search-backward|lyspell-word-search-forward|lyspell-word|lyspell-xemacs-popup|ocus-frame|oldout-exit-fold|oldout-mouse-goto-heading|oldout-mouse-hide-or-exit|oldout-mouse-show|oldout-mouse-swallow-events|oldout-mouse-zoom|oldout-update-mode-line|oldout-zoom-subtree|ollow--window-sorter|ollow-adjust-window|ollow-align-compilation-windows|ollow-all-followers|ollow-avoid-tail-recenter|ollow-cache-valid-p|ollow-calc-win-end|ollow-calc-win-start|ollow-calculate-first-window-start-from-above|ollow-calculate-first-window-start-from-below|ollow-comint-scroll-to-bottom|ollow-debug-message|ollow-delete-other-windows-and-split|ollow-end-of-buffer|ollow-estimate-first-window-start|ollow-find-file-hook|ollow-first-window|ollow-last-window|ollow-maximize-region|ollow-menu-filter|ollow-mode|ollow-mwheel-scroll|ollow-next-window|ollow-point-visible-all-windows-p|ollow-pos-visible|ollow-post-command-hook|ollow-previous-window|ollow-recenter|ollow-redisplay|ollow-redraw-after-event|ollow-redraw|ollow-scroll-bar-drag|ollow-scroll-bar-scroll-down)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:follow-scroll-bar-scroll-up|follow-scroll-bar-toolkit-scroll|follow-scroll-down|follow-scroll-up|follow-select-if-end-visible|follow-select-if-visible-from-first|follow-select-if-visible|follow-split-followers|follow-switch-to-buffer-all|follow-switch-to-buffer|follow-switch-to-current-buffer-all|follow-update-window-start|follow-window-size-change|follow-windows-aligned-p|follow-windows-start-end|font-get-glyphs|font-get-system-font|font-get-system-normal-font|font-info|font-lock-after-change-function|font-lock-after-fontify-buffer|font-lock-after-unfontify-buffer|font-lock-append-text-property|font-lock-apply-highlight|font-lock-apply-syntactic-highlight|font-lock-change-mode|font-lock-choose-keywords|font-lock-compile-keywords??|font-lock-default-fontify-buffer|font-lock-default-fontify-region|font-lock-default-function|font-lock-default-unfontify-buffer|font-lock-default-unfontify-region|font-lock-defontify|font-lock-ensure|font-lock-eval-keywords|font-lock-extend-jit-lock-region-after-change|font-lock-extend-region-multiline|font-lock-extend-region-wholelines|font-lock-fillin-text-property|font-lock-flush|font-lock-fontify-anchored-keywords|font-lock-fontify-block|font-lock-fontify-buffer|font-lock-fontify-keywords-region|font-lock-fontify-region|font-lock-fontify-syntactic-anchored-keywords|font-lock-fontify-syntactic-keywords-region|font-lock-fontify-syntactically-region|font-lock-initial-fontify|font-lock-match-c-style-declaration-item-and-skip-to-next|font-lock-match-meta-declaration-item-and-skip-to-next|font-lock-mode-internal|font-lock-mode-set-explicitly|font-lock-mode|font-lock-prepend-text-property|font-lock-refresh-defaults|font-lock-set-defaults|font-lock-specified-p|font-lock-turn-off-thing-lock|font-lock-turn-on-thing-lock|font-lock-unfontify-buffer|font-lock-unfontify-region|font-lock-update-removed-keyword-alist|font-lock-value-in-major-mode|font-match-p|font-menu-add-default|font-setting-change-default-font|font-shape-gstring|font-show-log|font-variation-glyphs|fontset-font|fontset-info|fontset-list|fontset-name-p|fontset-plain-name|footnote-mode|foreground-color-at-point|form-at-point|format-annotate-atomic-property-change|format-annotate-function|format-annotate-location|format-annotate-region|format-annotate-single-property-change|format-annotate-value|format-deannotate-region|format-decode-buffer|format-decode-region|format-decode-run-method|format-decode|format-delq-cons|format-encode-buffer|format-encode-region|format-encode-run-method|format-insert-annotations|format-kbd-macro|format-make-relatively-unique|format-proper-list-p|format-property-increment-region|format-read|format-reorder|format-replace-strings|format-spec-make|format-spec|format-subtract-regions|forms-find-file-other-window|forms-find-file|forms-mode|fortran-abbrev-help|fortran-abbrev-start|fortran-analyze-file-format|fortran-auto-fill-mode|fortran-auto-fill|fortran-beginning-do|fortran-beginning-if|fortran-beginning-of-block|fortran-beginning-of-subprogram|fortran-blink-match|fortran-blink-matching-do|fortran-blink-matching-if|fortran-break-line|fortran-calculate-indent|fortran-check-end-prog-re|fortran-check-for-matching-do|fortran-column-ruler|fortran-comment-indent|fortran-comment-region|fortran-current-defun|fortran-current-line-indentation|fortran-electric-line-number|fortran-end-do|fortran-end-if|fortran-end-of-block|fortran-end-of-subprogram|fortran-fill-paragraph|fortran-fill-statement|fortran-fill|fortran-find-comment-start-skip|fortran-gud-find-expr|fortran-hack-local-variables|fortran-indent-comment|fortran-indent-line|fortran-indent-new-line|fortran-indent-subprogram|fortran-indent-to-column|fortran-is-in-string-p|fortran-join-line|fortran-line-length|fortran-line-number-indented-correctly-p|fortran-looking-at-if-then|fortran-make-syntax-propertize-function|fortran-mark-do|fortran-mark-if|fortran-match-and-skip-declaration|fortran-menu|fortran-mode|fortran-next-statement|fortran-numerical-continuation-char|fortran-prepare-abbrev-list-buffer|fortran-previous-statement|fortran-remove-continuation|fortran-split-line|fortran-strip-sequence-nos|fortran-uncomment-region|fortran-window-create-momentarily|fortran-window-create|fortune-add-fortune|fortune-append|fortune-ask-file|fortune-compile|fortune-from-region|fortune-in-buffer|fortune-to-signature|fortune|forward-ifdef|forward-page|forward-paragraph|forward-point|forward-same-syntax|forward-sentence|forward-symbol|forward-text-line|forward-thing|forward-visible-line|forward-whitespace|fourth|frame-border-width|frame-bottom-divider-width|frame-can-run-window-configuration-change-hook|frame-char-size|frame-configuration-p|frame-configuration-to-register|frame-face-alist|frame-focus|frame-font-cache|frame-fringe-width|frame-geom-spec-cons|frame-geom-value-cons|frame-initialize|frame-notice-user-settings|frame-or-buffer-changed-p|frame-remove-geometry-params|frame-right-divider-width|frame-root-window-p|frame-scroll-bar-height|frame-scroll-bar-width|frame-set-background-mode|frame-terminal-default-bg-mode|frame-text-cols|frame-text-height|frame-text-lines|frame-text-width|frame-total-cols|frame-total-lines|frame-windows-min-size|framep-on-display|frames-on-display-list|frameset--find-frame-if|frameset--initial-params|frameset--jump-to-register|frameset--make--cmacro|frameset--make|frameset--minibufferless-last-p|frameset--print-register|frameset--prop-setter|frameset--record-minibuffer-relationships|frameset--restore-frame|frameset--reuse-frame|frameset--set-id|frameset-app--cmacro|frameset-app|frameset-cfg-id|frameset-compute-pos|frameset-copy|frameset-description--cmacro|frameset-description|frameset-filter-iconified|frameset-filter-minibuffer|frameset-filter-params|frameset-filter-sanitize-color|frameset-filter-shelve-param|frameset-filter-tty-to-GUI|frameset-filter-unshelve-param|frameset-frame-id-equal-p|frameset-frame-id|frameset-frame-with-id|frameset-keep-original-display-p|frameset-minibufferless-first-p|frameset-move-onscreen|frameset-name--cmacro|frameset-name|frameset-p--cmacro|frameset-p|frameset-prop|frameset-properties--cmacro|frameset-properties|frameset-restore|frameset-save|frameset-states--cmacro|frameset-states|frameset-switch-to-gui-p|frameset-switch-to-tty-p|frameset-timestamp--cmacro|frameset-timestamp|frameset-to-register|frameset-valid-p|frameset-version--cmacro|frameset-version|fringe--check-style|fringe-bitmap-p|fringe-columns|fringe-mode-initialize|fringe-mode|fringe-query-style|ftp-mode|ftp|full-calc-keypad|full-calc|funcall-interactively|function\\\\*|function-called-at-point|function-equal|function-overload-p|function-put|function|gamegrid-add-score-insecure|gamegrid-add-score-with-update-game-score-1|gamegrid-add-score-with-update-game-score|gamegrid-add-score|gamegrid-cell-offset|gamegrid-characterp|gamegrid-color|gamegrid-colorize-glyph|gamegrid-display-type|gamegrid-event-x|gamegrid-event-y|gamegrid-get-cell|gamegrid-init-buffer|gamegrid-init|gamegrid-initialize-display|gamegrid-kill-timer|gamegrid-make-color-tty-face|gamegrid-make-color-x-face|gamegrid-make-face|gamegrid-make-glyph|gamegrid-make-grid-x-face|gamegrid-make-image-from-vector|gamegrid-make-mono-tty-face|gamegrid-make-mono-x-face|gamegrid-match-spec-list|gamegrid-match-spec|gamegrid-set-cell|gamegrid-set-display-table|gamegrid-set-face|gamegrid-set-font|gamegrid-set-timer|gamegrid-setup-default-font|gamegrid-setup-face|gamegrid-start-timer|gametree-apply-layout|gametree-apply-register-layout|gametree-break-line-here|gametree-children-shown-p|gametree-compute-and-insert-score|gametree-compute-reduced-score|gametree-current-branch-depth|gametree-current-branch-ply|gametree-current-branch-score|gametree-current-layout|gametree-entry-shown-p|gametree-forward-line|gametree-hack-file-layout|gametree-insert-new-leaf|gametree-insert-score|gametree-layout-to-register|gametree-looking-at-ply|gametree-merge-line|gametree-mode|gametree-mouse-break-line-here|gametree-mouse-hide-subtree|gametree-mouse-show-children-and-entry|gametree-mouse-show-subtree|gametree-prettify-heading|gametree-restore-layout|gametree-save-and-hack-layout|gametree-save-layout|gametree-show-children-and-entry|gametree-transpose-following-leaves|gcd|gdb--check-interpreter|gdb--if-arrow|gdb-add-handler|gdb-add-subscriber|gdb-append-to-partial-output|gdb-bind-function-to-buffer|gdb-breakpoints-buffer-name|gdb-breakpoints-list-handler-custom|gdb-breakpoints-list-handler|gdb-breakpoints-mode|gdb-buffer-shows-main-thread-p|gdb-buffer-type|gdb-changed-registers-handler|gdb-check-target-async|gdb-clear-inferior-io|gdb-clear-partial-output|gdb-concat-output|gdb-console|gdb-continue-thread|gdb-control-all-threads|gdb-control-current-thread|gdb-create-define-alist|gdb-current-buffer-frame|gdb-current-buffer-rules|gdb-current-buffer-thread|gdb-current-context-buffer-name|gdb-current-context-command|gdb-current-context-mode-name|gdb-delchar-or-quit|gdb-delete-breakpoint|gdb-delete-frame-or-window|gdb-delete-handler|gdb-delete-subscriber|gdb-disassembly-buffer-name|gdb-disassembly-handler-custom|gdb-disassembly-handler|gdb-disassembly-mode|gdb-disassembly-place-breakpoints|gdb-display-breakpoints-buffer|gdb-display-buffer|gdb-display-disassembly-buffer|gdb-display-disassembly-for-thread|gdb-display-gdb-buffer|gdb-display-io-buffer|gdb-display-locals-buffer|gdb-display-locals-for-thread|gdb-display-memory-buffer|gdb-display-registers-buffer|gdb-display-registers-for-thread|gdb-display-source-buffer|gdb-display-stack-buffer|gdb-display-stack-for-thread|gdb-display-threads-buffer|gdb-done-or-error|gdb-done|gdb-edit-locals-value|gdb-edit-register-value|gdb-edit-value-handler|gdb-edit-value|gdb-emit-signal|gdb-enable-debug|gdb-error|gdb-find-file-hook|gdb-find-watch-expression|gdb-force-mode-line-update|gdb-frame-breakpoints-buffer|gdb-frame-disassembly-buffer|gdb-frame-disassembly-for-thread|gdb-frame-gdb-buffer|gdb-frame-handler|gdb-frame-io-buffer|gdb-frame-locals-buffer|gdb-frame-locals-for-thread|gdb-frame-location|gdb-frame-memory-buffer|gdb-frame-registers-buffer|gdb-frame-registers-for-thread|gdb-frame-stack-buffer|gdb-frame-stack-for-thread|gdb-frame-threads-buffer|gdb-frames-mode|gdb-gdb|gdb-get-buffer-create|gdb-get-buffer|gdb-get-changed-registers|gdb-get-handler-function|gdb-get-location|gdb-get-main-selected-frame|gdb-get-many-fields|gdb-get-prompt|gdb-get-source-file-list|gdb-get-source-file|gdb-get-subscribers|gdb-get-target-string|gdb-goto-breakpoint|gdb-gud-context-call|gdb-gud-context-command|gdb-handle-reply|gdb-handler-function--cmacro|gdb-handler-function|gdb-handler-p--cmacro|gdb-handler-p|gdb-handler-pending-trigger--cmacro|gdb-handler-pending-trigger|gdb-handler-token-number--cmacro|gdb-handler-token-number|gdb-ignored-notification|gdb-inferior-filter|gdb-inferior-io--init-proc|gdb-inferior-io-mode|gdb-inferior-io-name|gdb-inferior-io-sentinel|gdb-init-1|gdb-init-buffer|gdb-input|gdb-internals|gdb-interrupt-thread|gdb-invalidate-breakpoints|gdb-invalidate-disassembly|gdb-invalidate-frames|gdb-invalidate-locals|gdb-invalidate-memory|gdb-invalidate-registers|gdb-invalidate-threads|gdb-io-eof|gdb-io-interrupt|gdb-io-quit|gdb-io-stop|gdb-json-partial-output|gdb-json-read-buffer|gdb-json-string|gdb-jsonify-buffer|gdb-line-posns|gdb-locals-buffer-name|gdb-locals-handler-custom|gdb-locals-handler|gdb-locals-mode|gdb-make-header-line-mouse-map|gdb-many-windows|gdb-mark-line|gdb-memory-buffer-name|gdb-memory-column-width|gdb-memory-format-binary|gdb-memory-format-hexadecimal|gdb-memory-format-menu-1|gdb-memory-format-menu|gdb-memory-format-octal|gdb-memory-format-signed|gdb-memory-format-unsigned|gdb-memory-mode|gdb-memory-set-address-event|gdb-memory-set-address|gdb-memory-set-columns|gdb-memory-set-rows|gdb-memory-show-next-page|gdb-memory-show-previous-page|gdb-memory-unit-byte|gdb-memory-unit-giant|gdb-memory-unit-halfword|gdb-memory-unit-menu-1|gdb-memory-unit-menu|gdb-memory-unit-word|gdb-mi-quote|gdb-mouse-jump|gdb-mouse-set-clear-breakpoint|gdb-mouse-toggle-breakpoint-fringe|gdb-mouse-toggle-breakpoint-margin|gdb-mouse-until|gdb-non-stop-handler|gdb-pad-string|gdb-parent-mode|gdb-partial-output-name|gdb-pending-handler-p|gdb-place-breakpoints|gdb-preempt-existing-or-display-buffer|gdb-preemptively-display-disassembly-buffer|gdb-preemptively-display-locals-buffer|gdb-preemptively-display-registers-buffer|gdb-preemptively-display-stack-buffer|gdb-propertize-header)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)g(?:db-put-breakpoint-icon|db-put-string|db-read-memory-custom|db-read-memory-handler|db-register-names-handler|db-registers-buffer-name|db-registers-handler-custom|db-registers-handler|db-registers-mode|db-remove-all-pending-triggers|db-remove-breakpoint-icons|db-remove-strings|db-reset|db-restore-windows|db-resync|db-rules-buffer-mode|db-rules-name-maker|db-rules-update-trigger|db-running|db-script-beginning-of-defun|db-script-calculate-indentation|db-script-end-of-defun|db-script-font-lock-syntactic-face|db-script-indent-line|db-script-mode|db-script-skip-to-head|db-select-frame|db-select-thread|db-send|db-set-buffer-rules|db-set-window-buffer|db-setq-thread-number|db-setup-windows|db-shell|db-show-run-p|db-show-stop-p|db-speedbar-auto-raise|db-speedbar-expand-node|db-speedbar-timer-fn|db-speedbar-update|db-stack-buffer-name|db-stack-list-frames-custom|db-stack-list-frames-handler|db-starting|db-step-thread|db-stopped|db-strip-string-backslash|db-table-add-row|db-table-column-sizes--cmacro|db-table-column-sizes|db-table-p--cmacro|db-table-p|db-table-right-align--cmacro|db-table-right-align|db-table-row-properties--cmacro|db-table-row-properties|db-table-rows--cmacro|db-table-rows|db-table-string|db-thread-created|db-thread-exited|db-thread-list-handler-custom|db-thread-list-handler|db-thread-selected|db-threads-buffer-name|db-threads-mode|db-toggle-breakpoint|db-toggle-switch-when-another-stopped|db-tooltip-print-1|db-tooltip-print|db-update-buffer-name|db-update-gud-running|db-update|db-var-create-handler|db-var-delete-1|db-var-delete-children|db-var-delete|db-var-evaluate-expression-handler|db-var-list-children-handler|db-var-list-children|db-var-set-format|db-var-update-handler|db-var-update|db-wait-for-pending|db|dbmi-bnf-async-record|dbmi-bnf-console-stream-output|dbmi-bnf-gdb-prompt|dbmi-bnf-incomplete-record-result|dbmi-bnf-init|dbmi-bnf-log-stream-output|dbmi-bnf-out-of-band-record|dbmi-bnf-output|dbmi-bnf-result-and-async-record-impl|dbmi-bnf-result-record|dbmi-bnf-skip-unrecognized|dbmi-bnf-stream-record|dbmi-bnf-target-stream-output|dbmi-is-number|dbmi-same-start|dbmi-start-with|enerate-fontset-menu|eneric-char-p|eneric-make-keywords-list|eneric-mode-internal|eneric-mode|eneric-p|eneric-primary-only-one-p|eneric-primary-only-p|ensym|entemp|et\\\\*|et-edebug-spec|et-file-char|et-free-disk-space|et-language-info|et-mode-local-parent|et-mru-window|et-next-valid-buffer|et-other-frame|et-scroll-bar-mode|et-unicode-property-internal|et-unused-iso-final-char|et-upcase-table|etenv-internal|etf|file-add-watch|file-rm-watch|lasses-change|lasses-convert-to-unreadable|lasses-custom-set|lasses-make-overlay|lasses-make-readable|lasses-make-unreadable|lasses-mode|lasses-overlay-p|lasses-parenthesis-exception-p|lasses-set-overlay-properties|lobal-auto-composition-mode|lobal-auto-revert-mode|lobal-cwarn-mode-check-buffers|lobal-cwarn-mode-cmhh|lobal-cwarn-mode-enable-in-buffers|lobal-cwarn-mode|lobal-ede-mode|lobal-eldoc-mode|lobal-font-lock-mode-check-buffers|lobal-font-lock-mode-cmhh|lobal-font-lock-mode-enable-in-buffers|lobal-font-lock-mode|lobal-hi-lock-mode-check-buffers|lobal-hi-lock-mode-cmhh|lobal-hi-lock-mode-enable-in-buffers|lobal-hi-lock-mode|lobal-highlight-changes-mode-check-buffers|lobal-highlight-changes-mode-cmhh|lobal-highlight-changes-mode-enable-in-buffers|lobal-highlight-changes-mode|lobal-highlight-changes|lobal-hl-line-highlight|lobal-hl-line-mode|lobal-hl-line-unhighlight-all|lobal-hl-line-unhighlight|lobal-linum-mode-check-buffers|lobal-linum-mode-cmhh|lobal-linum-mode-enable-in-buffers|lobal-linum-mode|lobal-prettify-symbols-mode-check-buffers|lobal-prettify-symbols-mode-cmhh|lobal-prettify-symbols-mode-enable-in-buffers|lobal-prettify-symbols-mode|lobal-reveal-mode|lobal-semantic-decoration-mode|lobal-semantic-highlight-edits-mode|lobal-semantic-highlight-func-mode|lobal-semantic-idle-completions-mode|lobal-semantic-idle-local-symbol-highlight-mode|lobal-semantic-idle-scheduler-mode|lobal-semantic-idle-summary-mode|lobal-semantic-mru-bookmark-mode|lobal-semantic-show-parser-state-mode|lobal-semantic-show-unmatched-syntax-mode|lobal-semantic-stickyfunc-mode|lobal-semanticdb-minor-mode|lobal-set-scheme-interaction-buffer|lobal-srecode-minor-mode|lobal-subword-mode|lobal-superword-mode|lobal-visual-line-mode-check-buffers|lobal-visual-line-mode-cmhh|lobal-visual-line-mode-enable-in-buffers|lobal-visual-line-mode|lobal-whitespace-mode|lobal-whitespace-newline-mode|lobal-whitespace-toggle-options|lyphless-set-char-table-range|mm-called-interactively-p|mm-customize-mode|mm-error|mm-format-time-string|mm-image-load-path-for-library|mm-image-search-load-path|mm-labels|mm-message|mm-regexp-concat|mm-tool-bar-from-list|mm-widget-p|mm-write-region|nus--random-face-with-type|nus-1|nus-Folder-save-name|nus-active|nus-add-buffer|nus-add-configuration|nus-add-shutdown|nus-add-text-properties-when|nus-add-text-properties|nus-add-to-sorted-list|nus-agent-batch-fetch|nus-agent-batch|nus-agent-delete-group|nus-agent-fetch-session|nus-agent-find-parameter|nus-agent-get-function|nus-agent-get-undownloaded-list|nus-agent-group-covered-p|nus-agent-method-p|nus-agent-possibly-alter-active|nus-agent-possibly-save-gcc|nus-agent-regenerate|nus-agent-rename-group|nus-agent-request-article|nus-agent-retrieve-headers|nus-agent-save-active|nus-agent-save-group-info|nus-agent-store-article|nus-agentize|nus-alist-pull|nus-alive-p|nus-and|nus-annotation-in-region-p|nus-apply-kill-file-internal|nus-apply-kill-file|nus-archive-server-wanted-p|nus-article-date-lapsed|nus-article-date-local|nus-article-date-original|nus-article-de-base64-unreadable|nus-article-de-quoted-unreadable|nus-article-decode-HZ|nus-article-decode-encoded-words|nus-article-delete-invisible-text|nus-article-display-x-face|nus-article-edit-article|nus-article-edit-done|nus-article-edit-mode|nus-article-fill-cited-article|nus-article-fill-cited-long-lines|nus-article-hide-boring-headers|nus-article-hide-citation-in-followups|nus-article-hide-citation-maybe|nus-article-hide-citation|nus-article-hide-headers|nus-article-hide-pem|nus-article-hide-signature|nus-article-highlight-citation|nus-article-html|nus-article-mail|nus-article-mode|nus-article-next-page|nus-article-outlook-deuglify-article|nus-article-outlook-repair-attribution|nus-article-outlook-unwrap-lines|nus-article-prepare-display|nus-article-prepare|nus-article-prev-page|nus-article-read-summary-keys|nus-article-remove-cr|nus-article-remove-trailing-blank-lines|nus-article-save|nus-article-set-window-start|nus-article-setup-buffer|nus-article-strip-leading-blank-lines|nus-article-treat-overstrike|nus-article-unsplit-urls|nus-article-wash-html|nus-assq-delete-all|nus-async-halt-prefetch|nus-async-prefetch-article|nus-async-prefetch-next|nus-async-prefetch-remove-group|nus-async-request-fetched-article|nus-atomic-progn-assign|nus-atomic-progn|nus-atomic-setq|nus-backlog-enter-article|nus-backlog-remove-article|nus-backlog-request-article|nus-batch-kill|nus-batch-score|nus-binary-mode|nus-bind-print-variables|nus-blocked-images|nus-bookmark-bmenu-list|nus-bookmark-jump|nus-bookmark-set|nus-bound-and-true-p|nus-boundp|nus-browse-foreign-server|nus-buffer-exists-p|nus-buffer-live-p|nus-buffers|nus-bug|nus-button-mailto|nus-button-reply|nus-byte-compile|nus-cache-articles-in-group|nus-cache-close|nus-cache-delete-group|nus-cache-enter-article|nus-cache-enter-remove-article|nus-cache-file-contents|nus-cache-generate-active|nus-cache-generate-nov-databases|nus-cache-open|nus-cache-possibly-alter-active|nus-cache-possibly-enter-article|nus-cache-possibly-remove-articles|nus-cache-remove-article|nus-cache-rename-group|nus-cache-request-article|nus-cache-retrieve-headers|nus-cache-save-buffers|nus-cache-update-article|nus-cached-article-p|nus-character-to-event|nus-check-backend-function|nus-check-reasonable-setup|nus-completing-read|nus-configure-windows|nus-continuum-version|nus-convert-article-to-rmail|nus-convert-face-to-png|nus-convert-gray-x-face-to-xpm|nus-convert-image-to-gray-x-face|nus-convert-png-to-face|nus-copy-article-buffer|nus-copy-file|nus-copy-overlay|nus-copy-sequence|nus-create-hash-size|nus-create-image|nus-create-info-command|nus-current-score-file-nondirectory|nus-data-find|nus-data-header|nus-date-get-time|nus-date-iso8601|nus-dd-mmm|nus-deactivate-mark|nus-declare-backend|nus-decode-newsgroups|nus-define-group-parameter|nus-define-keymap|nus-define-keys-1|nus-define-keys-safe|nus-define-keys|nus-delay-article|nus-delay-initialize|nus-delay-send-queue|nus-delete-alist|nus-delete-directory|nus-delete-duplicates|nus-delete-file|nus-delete-first|nus-delete-gnus-frame|nus-delete-line|nus-delete-overlay|nus-demon-add-disconnection|nus-demon-add-handler|nus-demon-add-rescan|nus-demon-add-scan-timestamps|nus-demon-add-scanmail|nus-demon-cancel|nus-demon-init|nus-demon-remove-handler|nus-display-x-face-in-from|nus-draft-mode|nus-draft-reminder|nus-dribble-enter|nus-dribble-touch|nus-dup-enter-articles|nus-dup-suppress-articles|nus-dup-unsuppress-article|nus-edit-form|nus-emacs-completing-read|nus-emacs-version|nus-ems-redefine|nus-enter-server-buffer|nus-ephemeral-group-p|nus-error|nus-eval-in-buffer-window|nus-execute|nus-expand-group-parameters??|nus-expunge|nus-extended-version|nus-extent-detached-p|nus-extent-start-open|nus-extract-address-components|nus-extract-references|nus-face-from-file|nus-faces-at|nus-fetch-field|nus-fetch-group-other-frame|nus-fetch-group|nus-fetch-original-field|nus-file-newer-than|nus-final-warning|nus-find-method-for-group|nus-find-subscribed-addresses|nus-find-text-property-region|nus-float-time|nus-folder-save-name|nus-frame-or-window-display-name|nus-generate-new-group-name|nus-get-buffer-create|nus-get-buffer-window|nus-get-display-table|nus-get-info|nus-get-text-property-excluding-characters-with-faces|nus-getenv-nntpserver|nus-gethash-safe|nus-gethash|nus-globalify-regexp|nus-goto-char|nus-goto-colon|nus-graphic-display-p|nus-grep-in-list|nus-group-add-parameter|nus-group-add-score|nus-group-auto-expirable-p|nus-group-customize|nus-group-decoded-name|nus-group-entry|nus-group-fast-parameter|nus-group-find-parameter|nus-group-first-unread-group|nus-group-foreign-p|nus-group-full-name|nus-group-get-new-news|nus-group-get-parameter|nus-group-group-name|nus-group-guess-full-name-from-command-method|nus-group-insert-group-line|nus-group-iterate|nus-group-list-groups|nus-group-mail|nus-group-make-help-group|nus-group-method|nus-group-name-charset|nus-group-name-decode|nus-group-name-to-method|nus-group-native-p|nus-group-news|nus-group-parameter-value|nus-group-position-point|nus-group-post-news|nus-group-prefixed-name|nus-group-prefixed-p|nus-group-quit-config|nus-group-quit|nus-group-read-only-p|nus-group-real-name|nus-group-real-prefix|nus-group-remove-parameter|nus-group-save-newsrc|nus-group-secondary-p|nus-group-send-queue|nus-group-server|nus-group-set-info|nus-group-set-mode-line|nus-group-set-parameter|nus-group-setup-buffer|nus-group-short-name|nus-group-split-fancy|nus-group-split-setup|nus-group-split-update|nus-group-split|nus-group-startup-message|nus-group-total-expirable-p|nus-group-unread|nus-group-update-group|nus-groups-from-server|nus-header-from|nus-highlight-selected-tree|nus-horizontal-recenter|nus-html-prefetch-images|nus-ido-completing-read|nus-image-type-available-p|nus-indent-rigidly|nus-info-find-node|nus-info-group|nus-info-level|nus-info-marks|nus-info-method|nus-info-params|nus-info-rank|nus-info-read|nus-info-score|nus-info-set-entry|nus-info-set-group|nus-info-set-level|nus-info-set-marks|nus-info-set-method|nus-info-set-params|nus-info-set-rank|nus-info-set-read|nus-info-set-score|nus-insert-random-face-header|nus-insert-random-x-face-header|nus-interactive|nus-intern-safe|nus-intersection|nus-invisible-p|nus-iswitchb-completing-read|nus-jog-cache|nus-key-press-event-p|nus-kill-all-overlays)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:gnus-kill-buffer|gnus-kill-ephemeral-group|gnus-kill-file-edit-file|gnus-kill-file-raise-followups-to-author|gnus-kill-save-kill-buffer|gnus-kill|gnus-list-debbugs|gnus-list-memq-of-list|gnus-list-of-read-articles|gnus-list-of-unread-articles|gnus-local-set-keys|gnus-mail-strip-quoted-names|gnus-mailing-list-insinuate|gnus-mailing-list-mode|gnus-make-directory|gnus-make-hashtable|gnus-make-local-hook|gnus-make-overlay|gnus-make-predicate-1|gnus-make-predicate|gnus-make-sort-function-1|gnus-make-sort-function|gnus-make-thread-indent-array|gnus-map-function|gnus-mapcar|gnus-mark-active-p|gnus-match-substitute-replacement|gnus-max-width-function|gnus-member-of-valid|gnus-merge|gnus-message-with-timestamp|gnus-message|gnus-method-ephemeral-p|gnus-method-equal|gnus-method-option-p|gnus-method-simplify|gnus-method-to-full-server-name|gnus-method-to-server-name|gnus-method-to-server|gnus-methods-equal-p|gnus-methods-sloppily-equal|gnus-methods-using|gnus-mime-view-all-parts|gnus-mode-line-buffer-identification|gnus-mode-string-quote|gnus-move-overlay|gnus-msg-mail|gnus-mule-max-width-function|gnus-multiple-choice|gnus-narrow-to-body|gnus-narrow-to-page|gnus-native-method-p|gnus-news-group-p|gnus-newsgroup-directory-form|gnus-newsgroup-kill-file|gnus-newsgroup-savable-name|gnus-newsrc-parse-options|gnus-next-char-property-change|gnus-no-server-1|gnus-no-server|gnus-not-ignore|gnus-notifications|gnus-offer-save-summaries|gnus-online|gnus-open-agent|gnus-open-server|gnus-or|gnus-other-frame|gnus-outlook-deuglify-article|gnus-output-to-mail|gnus-output-to-rmail|gnus-overlay-buffer|gnus-overlay-end|gnus-overlay-get|gnus-overlay-put|gnus-overlay-start|gnus-overlays-at|gnus-overlays-in|gnus-parameter-charset|gnus-parameter-ham-marks|gnus-parameter-ham-process-destination|gnus-parameter-ham-resend-to|gnus-parameter-large-newsgroup-initial|gnus-parameter-post-method|gnus-parameter-registry-ignore|gnus-parameter-spam-autodetect-methods|gnus-parameter-spam-autodetect|gnus-parameter-spam-contents|gnus-parameter-spam-marks|gnus-parameter-spam-process-destination|gnus-parameter-spam-process|gnus-parameter-spam-resend-to|gnus-parameter-subscribed|gnus-parameter-to-address|gnus-parameter-to-list|gnus-parameters-get-parameter|gnus-parent-id|gnus-parse-without-error|gnus-pick-mode|gnus-plugged|gnus-possibly-generate-tree|gnus-possibly-score-headers|gnus-post-news|gnus-pp-to-string|gnus-pp|gnus-previous-char-property-change|gnus-prin1-to-string|gnus-prin1|gnus-process-get|gnus-process-plist|gnus-process-put|gnus-put-display-table|gnus-put-image|gnus-put-overlay-excluding-newlines|gnus-put-text-property-excluding-characters-with-faces|gnus-put-text-property-excluding-newlines|gnus-put-text-property|gnus-random-face|gnus-random-x-face|gnus-range-add|gnus-read-event-char|gnus-read-group|gnus-read-init-file|gnus-read-method|gnus-read-shell-command|gnus-recursive-directory-files|gnus-redefine-select-method-widget|gnus-region-active-p|gnus-registry-handle-action|gnus-registry-initialize|gnus-registry-install-hooks|gnus-remassoc|gnus-remove-from-range|gnus-remove-if-not|gnus-remove-if|gnus-remove-image|gnus-remove-text-properties-when|gnus-remove-text-with-property|gnus-rename-file|gnus-replace-in-string|gnus-request-article-this-buffer|gnus-request-post|gnus-request-type|gnus-rescale-image|gnus-run-hook-with-args|gnus-run-hooks|gnus-run-mode-hooks|gnus-same-method-different-name|gnus-score-adaptive|gnus-score-advanced|gnus-score-close|gnus-score-customize|gnus-score-delta-default|gnus-score-file-name|gnus-score-find-trace|gnus-score-flush-cache|gnus-score-followup-article|gnus-score-followup-thread|gnus-score-headers|gnus-score-mode|gnus-score-save|gnus-secondary-method-p|gnus-seconds-month|gnus-seconds-today|gnus-seconds-year|gnus-select-frame-set-input-focus|gnus-select-lowest-window|gnus-server-add-address|gnus-server-equal|gnus-server-extend-method|gnus-server-get-method|gnus-server-server-name|gnus-server-set-info|gnus-server-status|gnus-server-string|gnus-server-to-method|gnus-servers-using-backend|gnus-set-active|gnus-set-file-modes|gnus-set-info|gnus-set-process-plist|gnus-set-process-query-on-exit-flag|gnus-set-sorted-intersection|gnus-set-window-start|gnus-set-work-buffer|gnus-sethash|gnus-short-group-name|gnus-shutdown|gnus-sieve-article-add-rule|gnus-sieve-generate|gnus-sieve-update|gnus-similar-server-opened|gnus-simplify-mode-line|gnus-slave-no-server|gnus-slave-unplugged|gnus-slave|gnus-sloppily-equal-method-parameters|gnus-sorted-complement|gnus-sorted-difference|gnus-sorted-intersection|gnus-sorted-ndifference|gnus-sorted-nintersection|gnus-sorted-nunion|gnus-sorted-range-intersection|gnus-sorted-union|gnus-splash-svg-color-symbols|gnus-splash|gnus-split-references|gnus-start-date-timer|gnus-stop-date-timer|gnus-string-equal|gnus-string-mark-left-to-right|gnus-string-match-p|gnus-string-or-1|gnus-string-or|gnus-string-prefix-p|gnus-string-remove-all-properties|gnus-string<|gnus-string>|gnus-strip-whitespace|gnus-subscribe-topics|gnus-summary-article-number|gnus-summary-bookmark-jump|gnus-summary-buffer-name|gnus-summary-cancel-article|gnus-summary-current-score|gnus-summary-exit|gnus-summary-followup-to-mail-with-original|gnus-summary-followup-to-mail|gnus-summary-followup-with-original|gnus-summary-followup|gnus-summary-increase-score|gnus-summary-insert-cached-articles|gnus-summary-insert-line|gnus-summary-last-subject|gnus-summary-line-format-spec|gnus-summary-lower-same-subject-and-select|gnus-summary-lower-same-subject|gnus-summary-lower-score|gnus-summary-lower-thread|gnus-summary-mail-forward|gnus-summary-mail-other-window|gnus-summary-news-other-window|gnus-summary-position-point|gnus-summary-post-forward|gnus-summary-post-news|gnus-summary-raise-same-subject-and-select|gnus-summary-raise-same-subject|gnus-summary-raise-score|gnus-summary-raise-thread|gnus-summary-read-group|gnus-summary-reply-with-original|gnus-summary-reply|gnus-summary-resend-bounced-mail|gnus-summary-resend-message|gnus-summary-save-article-folder|gnus-summary-save-article-vm|gnus-summary-save-in-folder|gnus-summary-save-in-vm|gnus-summary-score-map|gnus-summary-send-map|gnus-summary-set-agent-mark|gnus-summary-set-score|gnus-summary-skip-intangible|gnus-summary-supersede-article|gnus-summary-wide-reply-with-original|gnus-summary-wide-reply|gnus-suppress-keymap|gnus-symbolic-argument|gnus-sync-initialize|gnus-sync-install-hooks|gnus-time-iso8601|gnus-timer--function|gnus-tool-bar-update|gnus-topic-mode|gnus-topic-remove-group|gnus-topic-set-parameters|gnus-treat-article|gnus-treat-from-gravatar|gnus-treat-from-picon|gnus-treat-mail-gravatar|gnus-treat-mail-picon|gnus-treat-newsgroups-picon|gnus-tree-close|gnus-tree-open|gnus-try-warping-via-registry|gnus-turn-off-edit-menu|gnus-undo-mode|gnus-undo-register|gnus-union|gnus-unplugged|gnus-update-alist-soft|gnus-update-format|gnus-update-read-articles|gnus-url-unhex-string|gnus-url-unhex|gnus-use-long-file-name|gnus-user-format-function-D|gnus-user-format-function-d|gnus-uu-decode-binhex-view|gnus-uu-decode-binhex|gnus-uu-decode-save-view|gnus-uu-decode-save|gnus-uu-decode-unshar-and-save-view|gnus-uu-decode-unshar-and-save|gnus-uu-decode-unshar-view|gnus-uu-decode-unshar|gnus-uu-decode-uu-and-save-view|gnus-uu-decode-uu-and-save|gnus-uu-decode-uu-view|gnus-uu-decode-uu|gnus-uu-delete-work-dir|gnus-uu-digest-mail-forward|gnus-uu-digest-post-forward|gnus-uu-extract-map|gnus-uu-invert-processable|gnus-uu-mark-all|gnus-uu-mark-buffer|gnus-uu-mark-by-regexp|gnus-uu-mark-map|gnus-uu-mark-over|gnus-uu-mark-region|gnus-uu-mark-series|gnus-uu-mark-sparse|gnus-uu-mark-thread|gnus-uu-post-news|gnus-uu-unmark-thread|gnus-version|gnus-virtual-group-p|gnus-visual-p|gnus-window-edges|gnus-window-inside-pixel-edges|gnus-with-output-to-file|gnus-write-active-file|gnus-write-buffer|gnus-x-face-from-file|gnus-xmas-define|gnus-xmas-redefine|gnus-xmas-splash|gnus-y-or-n-p|gnus-yes-or-no-p|gnus|gnutls-available-p|gnutls-boot|gnutls-bye|gnutls-deinit|gnutls-error-fatalp|gnutls-error-string|gnutls-errorp|gnutls-get-initstage|gnutls-message-maybe|gnutls-negotiate|gnutls-peer-status-warning-describe|gnutls-peer-status|gomoku--intangible|gomoku-beginning-of-line|gomoku-check-filled-qtuple|gomoku-click|gomoku-crash-game|gomoku-cross-qtuple|gomoku-display-statistics|gomoku-emacs-plays|gomoku-end-of-line|gomoku-find-filled-qtuple|gomoku-goto-square|gomoku-goto-xy|gomoku-human-plays|gomoku-human-resigns|gomoku-human-takes-back|gomoku-index-to-x|gomoku-index-to-y|gomoku-init-board|gomoku-init-display|gomoku-init-score-table|gomoku-init-square-score|gomoku-max-height|gomoku-max-width|gomoku-mode|gomoku-mouse-play|gomoku-move-down|gomoku-move-ne|gomoku-move-nw|gomoku-move-se|gomoku-move-sw|gomoku-move-up|gomoku-nb-qtuples|gomoku-offer-a-draw|gomoku-play-move|gomoku-plot-square|gomoku-point-square|gomoku-point-y|gomoku-prompt-for-move|gomoku-prompt-for-other-game|gomoku-start-game|gomoku-strongest-square|gomoku-switch-to-window|gomoku-take-back|gomoku-terminate-game|gomoku-update-score-in-direction|gomoku-update-score-table|gomoku-xy-to-index|gomoku|goto-address-at-mouse|goto-address-at-point|goto-address-find-address-at-point|goto-address-fontify-region|goto-address-fontify|goto-address-mode|goto-address-prog-mode|goto-address-unfontify|goto-address|goto-history-element|goto-line|goto-next-locus|gpm-mouse-disable|gpm-mouse-enable|gpm-mouse-mode|gpm-mouse-start|gpm-mouse-stop|gravatar-retrieve-synchronously|gravatar-retrieve|grep-apply-setting|grep-compute-defaults|grep-default-command|grep-expand-template|grep-filter|grep-find|grep-mode|grep-probe|grep-process-setup|grep-read-files|grep-read-regexp|grep-tag-default|grep|gs-height-in-pt|gs-load-image|gs-options|gs-set-ghostview-colors-window-prop|gs-set-ghostview-window-prop|gs-width-in-pt|gud-backward-sexp|gud-basic-call|gud-call|gud-common-init|gud-dbx-marker-filter|gud-dbx-massage-args|gud-def|gud-dguxdbx-marker-filter|gud-display-frame|gud-display-line|gud-expansion-speedbar-buttons|gud-expr-compound-sep|gud-expr-compound|gud-file-name|gud-filter|gud-find-c-expr|gud-find-class|gud-find-expr|gud-find-file|gud-format-command|gud-forward-sexp|gud-gdb-completion-at-point|gud-gdb-completions-1|gud-gdb-completions|gud-gdb-fetch-lines-filter|gud-gdb-get-stackframe|gud-gdb-goto-stackframe|gud-gdb-marker-filter|gud-gdb-run-command-fetch-lines|gud-gdb|gud-gdbmi-completions|gud-gdbmi-fetch-lines-filter|gud-gdbmi-marker-filter|gud-goto-info|gud-guiler-marker-filter|gud-innermost-expr|gud-install-speedbar-variables|gud-irixdbx-marker-filter|gud-jdb-analyze-source|gud-jdb-build-class-source-alist-for-file|gud-jdb-build-class-source-alist|gud-jdb-build-source-files-list|gud-jdb-find-source-file|gud-jdb-find-source-using-classpath|gud-jdb-find-source|gud-jdb-marker-filter|gud-jdb-massage-args|gud-jdb-parse-classpath-string|gud-jdb-skip-block|gud-jdb-skip-character-literal|gud-jdb-skip-id-ish-thing|gud-jdb-skip-single-line-comment|gud-jdb-skip-string-literal|gud-jdb-skip-traditional-or-documentation-comment|gud-jdb-skip-whitespace-and-comments|gud-jdb-skip-whitespace|gud-kill-buffer-hook|gud-marker-filter|gud-mipsdbx-marker-filter|gud-mode|gud-next-expr|gud-pdb-marker-filter|gud-perldb-marker-filter|gud-perldb-massage-args|gud-prev-expr|gud-query-cmdline|gud-read-address|gud-refresh|gud-reset|gud-sdb-find-file|gud-sdb-marker-filter|gud-sentinel|gud-set-buffer|gud-speedbar-buttons|gud-speedbar-item-info|gud-stop-subjob|gud-symbol|gud-tool-bar-item-visible-no-fringe|gud-tooltip-activate-mouse-motions-if-enabled|gud-tooltip-activate-mouse-motions|gud-tooltip-change-major-mode|gud-tooltip-dereference|gud-tooltip-mode|gud-tooltip-mouse-motion|gud-tooltip-print-command|gud-tooltip-process-output|gud-tooltip-tips|gud-val|gud-watch|gud-xdb-marker-filter|gud-xdb-massage-args|gui--selection-value-internal|gui--valid-simple-selection-p|gui-call|gui-get-primary-selection|gui-get-selection|gui-method--name|gui-method-declare|gui-method-define|gui-method|gui-select-text|gui-selection-value|gui-set-selection|guiler|gv--defsetter|gv--defun-declaration|gv-deref|gv-get|gv-ref|hack-local-variables-apply|hack-local-variables-confirm|hack-local-variables-filter|hack-local-variables-prop-line|hack-one-local-variable--obsolete|hack-one-local-variable-constantp|hack-one-local-variable-eval-safep|hack-one-local-variable-quotep|hack-one-local-variable|handle-delete-frame|handle-focus-in|handle-focus-out|handle-save-session|handle-select-window|handwrite-10pt|handwrite-11pt|handwrite-12pt|handwrite-13pt|handwrite-insert-font|handwrite-insert-header|handwrite-insert-info|handwrite-insert-preamble|handwrite-set-pagenumber-off|handwrite-set-pagenumber-on|handwrite-set-pagenumber|handwrite|hangul-input-method-activate|hanoi-0|hanoi-goto-char|hanoi-insert-ring|hanoi-internal|hanoi-move-ring|hanoi-n|hanoi-pos-on-tower-p|hanoi-put-face|hanoi-ring-to-pos|hanoi-sit-for|hanoi-unix-64|hanoi-unix|hanoi|hash-table-keys|hash-table-values|hashcash-already-paid-p|hashcash-cancel-async|hashcash-check-payment|hashcash-generate-payment-async|hashcash-generate-payment|hashcash-insert-payment-async-2|hashcash-insert-payment-async|hashcash-insert-payment|hashcash-payment-required|hashcash-payment-to|hashcash-point-at-bol|hashcash-point-at-eol|hashcash-processes-running-p|hashcash-strip-quoted-names|hashcash-token-substring|hashcash-verify-payment|hashcash-version|hashcash-wait-async|hashcash-wait-or-cancel|he--all-buffers|he-buffer-member|he-capitalize-first|he-concat-directory-file-name|he-dabbrev-beg|he-dabbrev-kill-search|he-dabbrev-search|he-file-name-beg|he-init-string|he-kill-beg|he-line-beg|he-line-search-regexp|he-line-search|he-lisp-symbol-beg)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:he-list-beg|he-list-search|he-ordinary-case-p|he-reset-string|he-string-member|he-substitute-string|he-transfer-case|he-whole-kill-search|hebrew-font-get-precomposed|hebrew-shape-gstring|help--binding-locus|help--key-binding-keymap|help-C-file-name|help-add-fundoc-usage|help-at-pt-cancel-timer|help-at-pt-kbd-string|help-at-pt-maybe-display|help-at-pt-set-timer|help-at-pt-string|help-bookmark-jump|help-bookmark-make-record|help-button-action|help-describe-category-set|help-do-arg-highlight|help-do-xref|help-fns--autoloaded-p|help-fns--compiler-macro|help-fns--interactive-only|help-fns--key-bindings|help-fns--obsolete|help-fns--parent-mode|help-fns--signature|help-follow-mouse|help-follow-symbol|help-follow|help-for-help-internal-doc|help-for-help-internal|help-for-help|help-form-show|help-function-arglist|help-go-back|help-go-forward|help-highlight-arg|help-highlight-arguments|help-insert-string|help-insert-xref-button|help-key-description|help-make-usage|help-make-xrefs|help-mode-finish|help-mode-menu|help-mode-revert-buffer|help-mode-setup|help-mode|help-print-return-message|help-quit|help-split-fundoc|help-window-display-message|help-window-setup|help-with-tutorial-spec-language|help-with-tutorial|help-xref-button|help-xref-go-back|help-xref-go-forward|help-xref-interned|help-xref-on-pp|help|hexl-C-c-prefix|hexl-C-x-prefix|hexl-ESC-prefix|hexl-activate-ruler|hexl-address-to-marker|hexl-ascii-start-column|hexl-backward-char|hexl-backward-short|hexl-backward-word|hexl-beginning-of-1k-page|hexl-beginning-of-512b-page|hexl-beginning-of-buffer|hexl-beginning-of-line|hexl-char-after-point|hexl-current-address|hexl-end-of-1k-page|hexl-end-of-512b-page|hexl-end-of-buffer|hexl-end-of-line|hexl-find-file|hexl-follow-ascii-find|hexl-follow-ascii|hexl-follow-line|hexl-forward-char|hexl-forward-short|hexl-forward-word|hexl-goto-address|hexl-goto-hex-address|hexl-hex-char-to-integer|hexl-hex-string-to-integer|hexl-highlight-line-range|hexl-htoi|hexl-insert-char|hexl-insert-decimal-char|hexl-insert-hex-char|hexl-insert-hex-string|hexl-insert-multibyte-char|hexl-insert-octal-char|hexl-isearch-search-function|hexl-line-displen|hexl-maybe-dehexlify-buffer|hexl-menu|hexl-mode--minor-mode-p|hexl-mode--setq-local|hexl-mode-exit|hexl-mode-ruler|hexl-mode|hexl-next-line|hexl-oct-char-to-integer|hexl-octal-string-to-integer|hexl-options|hexl-previous-line|hexl-print-current-point-info|hexl-printable-character|hexl-quoted-insert|hexl-revert-buffer-function|hexl-rulerize|hexl-save-buffer|hexl-scroll-down|hexl-scroll-up|hexl-self-insert-command|hexlify-buffer|hfy-begin-span|hfy-bgcol|hfy-box-to-border-assoc|hfy-box-to-style|hfy-box|hfy-buffer|hfy-colour-vals|hfy-colour|hfy-combined-face-spec|hfy-compile-face-map|hfy-compile-stylesheet|hfy-copy-and-fontify-file|hfy-css-name|hfy-decor|hfy-default-footer|hfy-default-header|hfy-dirname|hfy-end-span|hfy-face-at|hfy-face-attr-for-class|hfy-face-or-def-to-name|hfy-face-resolve-face|hfy-face-to-css-default|hfy-face-to-style-i|hfy-face-to-style|hfy-fallback-colour-values|hfy-family|hfy-find-invisible-ranges|hfy-flatten-style|hfy-fontified-p|hfy-fontify-buffer|hfy-force-fontification|hfy-href-stub|hfy-href|hfy-html-dekludge-buffer|hfy-html-enkludge-buffer|hfy-html-quote|hfy-init-progn|hfy-initfile|hfy-interq|hfy-invisible-name|hfy-invisible|hfy-kludge-cperl-mode|hfy-link-style-string|hfy-link-style|hfy-list-files|hfy-load-tags-cache|hfy-lookup|hfy-make-directory|hfy-mark-tag-hrefs|hfy-mark-tag-names|hfy-mark-trailing-whitespace|hfy-merge-adjacent-spans|hfy-opt|hfy-overlay-props-at|hfy-parse-tags-buffer|hfy-prepare-index-i|hfy-prepare-index|hfy-prepare-tag-map|hfy-prop-invisible-p|hfy-relstub|hfy-save-buffer-state|hfy-save-initvar|hfy-save-kill-buffers|hfy-shell|hfy-size-to-int|hfy-size|hfy-slant|hfy-sprintf-stylesheet|hfy-subtract-maps|hfy-tags-for-file|hfy-text-p|hfy-triplet|hfy-unmark-trailing-whitespace|hfy-weight|hfy-which-etags|hfy-width|hfy-word-regex|hi-lock--hashcons|hi-lock--regexps-at-point|hi-lock-face-buffer|hi-lock-face-phrase-buffer|hi-lock-face-symbol-at-point|hi-lock-find-patterns|hi-lock-font-lock-hook|hi-lock-keyword->face|hi-lock-line-face-buffer|hi-lock-mode-set-explicitly|hi-lock-mode|hi-lock-process-phrase|hi-lock-read-face-name|hi-lock-regexp-okay|hi-lock-set-file-patterns|hi-lock-set-pattern|hi-lock-unface-buffer|hi-lock-unload-function|hi-lock-write-interactive-patterns|hide-body|hide-entry|hide-ifdef-block|hide-ifdef-define|hide-ifdef-guts|hide-ifdef-mode-menu|hide-ifdef-mode|hide-ifdef-region-internal|hide-ifdef-region|hide-ifdef-set-define-alist|hide-ifdef-toggle-outside-read-only|hide-ifdef-toggle-read-only|hide-ifdef-toggle-shadowing|hide-ifdef-undef|hide-ifdef-use-define-alist|hide-ifdefs|hide-leaves|hide-other|hide-region-body|hide-sublevels|hide-subtree|hif-add-new-defines|hif-after-revert-function|hif-and-expr|hif-and|hif-canonicalize-tokens|hif-canonicalize|hif-clear-all-ifdef-defined|hif-comma|hif-comp-expr|hif-compress-define-list|hif-conditional|hif-define-macro|hif-define-operator|hif-defined|hif-delimit|hif-divide|hif-end-of-line|hif-endif-to-ifdef|hif-eq-expr|hif-equal|hif-evaluate-macro|hif-evaluate-region|hif-expand-token-list|hif-expr|hif-exprlist|hif-factor|hif-find-any-ifX|hif-find-define|hif-find-ifdef-block|hif-find-next-relevant|hif-find-previous-relevant|hif-find-range|hif-flatten|hif-get-argument-list|hif-greater-equal|hif-greater|hif-hide-line|hif-if-valid-identifier-p|hif-ifdef-to-endif|hif-invoke|hif-less-equal|hif-less|hif-logand-expr|hif-logand|hif-logior-expr|hif-logior|hif-lognot|hif-logshift-expr|hif-logxor-expr|hif-logxor|hif-looking-at-elif|hif-looking-at-else|hif-looking-at-endif|hif-looking-at-ifX|hif-lookup|hif-macro-supply-arguments|hif-make-range|hif-math|hif-mathify-binop|hif-mathify|hif-merge-ifdef-region|hif-minus|hif-modulo|hif-muldiv-expr|hif-multiply|hif-nexttoken|hif-not|hif-notequal|hif-or-expr|hif-or|hif-parse-exp|hif-parse-macro-arglist|hif-place-macro-invocation|hif-plus|hif-possibly-hide|hif-range-elif|hif-range-else|hif-range-end|hif-range-start|hif-recurse-on|hif-set-var|hif-shiftleft|hif-shiftright|hif-show-all|hif-show-ifdef-region|hif-string-concatenation|hif-string-to-number|hif-stringify|hif-token-concat|hif-token-concatenation|hif-token-stringification|hif-tokenize|hif-undefine-symbol|highlight-changes-mode-set-explicitly|highlight-changes-mode-turn-on|highlight-changes-mode|highlight-changes-next-change|highlight-changes-previous-change|highlight-changes-remove-highlight|highlight-changes-rotate-faces|highlight-changes-visible-mode|highlight-compare-buffers|highlight-compare-with-file|highlight-lines-matching-regexp|highlight-markup-buffers|highlight-phrase|highlight-regexp|highlight-symbol-at-point|hilit-chg-bump-change|hilit-chg-clear|hilit-chg-cust-fix-changes-face-list|hilit-chg-desktop-restore|hilit-chg-display-changes|hilit-chg-fixup|hilit-chg-get-diff-info|hilit-chg-get-diff-list-hk|hilit-chg-hide-changes|hilit-chg-make-list|hilit-chg-make-ov|hilit-chg-map-changes|hilit-chg-set-face-on-change|hilit-chg-set|hilit-chg-unload-function|hilit-chg-update|hippie-expand|hl-line-highlight|hl-line-make-overlay|hl-line-mode|hl-line-move|hl-line-unhighlight|hl-line-unload-function|hmac-md5-96|hmac-md5|holiday-list|holidays|horizontal-scroll-bar-mode|horizontal-scroll-bars-available-p|how-many|hs-already-hidden-p|hs-c-like-adjust-block-beginning|hs-discard-overlays|hs-find-block-beginning|hs-forward-sexp|hs-grok-mode-type|hs-hide-all|hs-hide-block-at-point|hs-hide-block|hs-hide-comment-region|hs-hide-initial-comment-block|hs-hide-level-recursive|hs-hide-level|hs-inside-comment-p|hs-isearch-show-temporary|hs-isearch-show|hs-life-goes-on|hs-looking-at-block-start-p|hs-make-overlay|hs-minor-mode-menu|hs-minor-mode|hs-mouse-toggle-hiding|hs-overlay-at|hs-show-all|hs-show-block|hs-toggle-hiding|html-autoview-mode|html-checkboxes|html-current-defun-name|html-headline-1|html-headline-2|html-headline-3|html-headline-4|html-headline-5|html-headline-6|html-horizontal-rule|html-href-anchor|html-image|html-imenu-index|html-line|html-list-item|html-mode|html-name-anchor|html-ordered-list|html-paragraph|html-radio-buttons|html-unordered-list|html2text|htmlfontify-buffer|htmlfontify-copy-and-link-dir|htmlfontify-load-initfile|htmlfontify-load-rgb-file|htmlfontify-run-etags|htmlfontify-save-initfile|htmlfontify-string|htmlize-attrlist-to-fstruct|htmlize-buffer-1|htmlize-buffer-substring-no-invisible|htmlize-buffer|htmlize-color-to-rgb|htmlize-copy-attr-if-set|htmlize-css-insert-head|htmlize-css-insert-text|htmlize-css-specs|htmlize-defang-local-variables|htmlize-default-body-tag|htmlize-default-doctype|htmlize-despam-address|htmlize-ensure-fontified|htmlize-face-background|htmlize-face-color-internal|htmlize-face-emacs21-attr|htmlize-face-foreground|htmlize-face-list-p|htmlize-face-size|htmlize-face-specifies-property|htmlize-face-to-fstruct|htmlize-faces-at-point|htmlize-faces-in-buffer|htmlize-file|htmlize-font-body-tag|htmlize-font-insert-text|htmlize-fstruct-background--cmacro|htmlize-fstruct-background|htmlize-fstruct-boldp--cmacro|htmlize-fstruct-boldp|htmlize-fstruct-css-name--cmacro|htmlize-fstruct-css-name|htmlize-fstruct-foreground--cmacro|htmlize-fstruct-foreground|htmlize-fstruct-italicp--cmacro|htmlize-fstruct-italicp|htmlize-fstruct-overlinep--cmacro|htmlize-fstruct-overlinep|htmlize-fstruct-p--cmacro|htmlize-fstruct-p|htmlize-fstruct-size--cmacro|htmlize-fstruct-size|htmlize-fstruct-strikep--cmacro|htmlize-fstruct-strikep|htmlize-fstruct-underlinep--cmacro|htmlize-fstruct-underlinep|htmlize-get-color-rgb-hash|htmlize-inline-css-body-tag|htmlize-inline-css-insert-text|htmlize-locate-file|htmlize-make-face-map|htmlize-make-file-name|htmlize-make-hyperlinks|htmlize-many-files-dired|htmlize-many-files|htmlize-memoize|htmlize-merge-faces|htmlize-merge-size|htmlize-merge-two-faces|htmlize-method-function|htmlize-method|htmlize-next-change|htmlize-protect-string|htmlize-region-for-paste|htmlize-region|htmlize-trim-ellipsis|htmlize-unstringify-face|htmlize-untabify|htmlize-with-fontify-message|ibuffer-active-formats-name|ibuffer-add-saved-filters|ibuffer-add-to-tmp-hide|ibuffer-add-to-tmp-show|ibuffer-assert-ibuffer-mode|ibuffer-auto-mode|ibuffer-backward-filter-group|ibuffer-backward-line|ibuffer-backwards-next-marked|ibuffer-bs-show|ibuffer-buf-matches-predicates|ibuffer-buffer-file-name|ibuffer-buffer-name-face|ibuffer-buffer-names-with-mark|ibuffer-bury-buffer|ibuffer-check-formats|ibuffer-clear-filter-groups|ibuffer-clear-summary-columns|ibuffer-columnize-and-insert-list|ibuffer-compile-format|ibuffer-compile-make-eliding-form|ibuffer-compile-make-format-form|ibuffer-compile-make-substring-form|ibuffer-confirm-operation-on|ibuffer-copy-filename-as-kill|ibuffer-count-deletion-lines|ibuffer-count-marked-lines|ibuffer-current-buffer|ibuffer-current-buffers-with-marks|ibuffer-current-formats??|ibuffer-current-mark|ibuffer-current-state-list|ibuffer-customize|ibuffer-decompose-filter-group|ibuffer-decompose-filter|ibuffer-delete-saved-filter-groups|ibuffer-delete-saved-filters|ibuffer-deletion-marked-buffer-names|ibuffer-diff-with-file|ibuffer-do-delete|ibuffer-do-eval|ibuffer-do-isearch-regexp|ibuffer-do-isearch|ibuffer-do-kill-lines|ibuffer-do-kill-on-deletion-marks|ibuffer-do-occur|ibuffer-do-print|ibuffer-do-query-replace-regexp|ibuffer-do-query-replace|ibuffer-do-rename-uniquely|ibuffer-do-replace-regexp|ibuffer-do-revert|ibuffer-do-save|ibuffer-do-shell-command-file|ibuffer-do-shell-command-pipe-replace|ibuffer-do-shell-command-pipe|ibuffer-do-sort-by-alphabetic|ibuffer-do-sort-by-filename/process|ibuffer-do-sort-by-major-mode|ibuffer-do-sort-by-mode-name|ibuffer-do-sort-by-recency|ibuffer-do-sort-by-size|ibuffer-do-toggle-modified|ibuffer-do-toggle-read-only|ibuffer-do-view-1|ibuffer-do-view-and-eval|ibuffer-do-view-horizontally|ibuffer-do-view-other-frame|ibuffer-do-view|ibuffer-exchange-filters|ibuffer-expand-format-entry|ibuffer-filter-buffers|ibuffer-filter-by-content|ibuffer-filter-by-derived-mode|ibuffer-filter-by-filename|ibuffer-filter-by-mode|ibuffer-filter-by-name|ibuffer-filter-by-predicate|ibuffer-filter-by-size-gt|ibuffer-filter-by-size-lt|ibuffer-filter-by-used-mode|ibuffer-filter-disable|ibuffer-filters-to-filter-group|ibuffer-find-file)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)i(?:buffer-format-column|buffer-forward-filter-group|buffer-forward-line|buffer-forward-next-marked|buffer-get-marked-buffers|buffer-included-in-filters-p|buffer-insert-buffer-line|buffer-insert-filter-group|buffer-interactive-filter-by-mode|buffer-invert-sorting|buffer-jump-to-buffer|buffer-jump-to-filter-group|buffer-kill-filter-group|buffer-kill-line|buffer-list-buffers|buffer-make-column-filename-and-process|buffer-make-column-filename|buffer-make-column-process|buffer-map-deletion-lines|buffer-map-lines-nomodify|buffer-map-lines|buffer-map-marked-lines|buffer-map-on-mark|buffer-mark-by-file-name-regexp|buffer-mark-by-mode-regexp|buffer-mark-by-mode|buffer-mark-by-name-regexp|buffer-mark-compressed-file-buffers|buffer-mark-dired-buffers|buffer-mark-dissociated-buffers|buffer-mark-for-delete-backwards|buffer-mark-for-delete|buffer-mark-forward|buffer-mark-help-buffers|buffer-mark-interactive|buffer-mark-modified-buffers|buffer-mark-old-buffers|buffer-mark-read-only-buffers|buffer-mark-special-buffers|buffer-mark-unsaved-buffers|buffer-marked-buffer-names|buffer-mode|buffer-mouse-filter-by-mode|buffer-mouse-popup-menu|buffer-mouse-toggle-filter-group|buffer-mouse-toggle-mark|buffer-mouse-visit-buffer|buffer-negate-filter|buffer-or-filter|buffer-other-window|buffer-pop-filter-group|buffer-pop-filter|buffer-recompile-formats|buffer-redisplay-current|buffer-redisplay-engine|buffer-redisplay|buffer-save-filter-groups|buffer-save-filters|buffer-set-filter-groups-by-mode|buffer-set-mark-1|buffer-set-mark|buffer-shrink-to-fit|buffer-skip-properties|buffer-sort-bufferlist|buffer-switch-format|buffer-switch-to-saved-filter-groups|buffer-switch-to-saved-filters|buffer-toggle-filter-group|buffer-toggle-marks|buffer-toggle-sorting-mode|buffer-unmark-all|buffer-unmark-backward|buffer-unmark-forward|buffer-update-format|buffer-update-title-and-summary|buffer-update|buffer-visible-p|buffer-visit-buffer-1-window|buffer-visit-buffer-other-frame|buffer-visit-buffer-other-window-noselect|buffer-visit-buffer-other-window|buffer-visit-buffer|buffer-visit-tags-table|buffer-yank-filter-group|buffer-yank|buffer|calendar--add-decoded-times|calendar--add-diary-entry|calendar--all-events|calendar--convert-all-timezones|calendar--convert-anniversary-to-ical|calendar--convert-block-to-ical|calendar--convert-cyclic-to-ical|calendar--convert-date-to-ical|calendar--convert-float-to-ical|calendar--convert-ical-to-diary|calendar--convert-non-recurring-all-day-to-diary|calendar--convert-non-recurring-not-all-day-to-diary|calendar--convert-ordinary-to-ical|calendar--convert-recurring-to-diary|calendar--convert-sexp-to-ical|calendar--convert-string-for-export|calendar--convert-string-for-import|calendar--convert-to-ical|calendar--convert-tz-offset|calendar--convert-weekly-to-ical|calendar--convert-yearly-to-ical|calendar--create-ical-alarm|calendar--create-uid|calendar--date-to-isodate|calendar--datestring-to-isodate|calendar--datetime-to-american-date|calendar--datetime-to-colontime|calendar--datetime-to-diary-date|calendar--datetime-to-european-date|calendar--datetime-to-iso-date|calendar--datetime-to-noneuropean-date|calendar--decode-isodatetime|calendar--decode-isoduration|calendar--diarytime-to-isotime|calendar--dmsg|calendar--do-create-ical-alarm|calendar--find-time-zone|calendar--format-ical-event|calendar--get-children|calendar--get-event-properties|calendar--get-event-property-attributes|calendar--get-event-property|calendar--get-month-number|calendar--get-unfolded-buffer|calendar--get-weekday-abbrev|calendar--get-weekday-numbers??|calendar--parse-summary-and-rest|calendar--parse-vtimezone|calendar--read-element|calendar--rris|calendar--split-value|calendar-convert-diary-to-ical|calendar-export-file|calendar-export-region|calendar-extract-ical-from-buffer|calendar-first-weekday-of-year|calendar-import-buffer|calendar-import-file|calendar-import-format-sample|complete--completion-predicate|complete--completion-table|complete--field-beg|complete--field-end|complete--field-string|complete--in-region-setup|complete-backward-completions|complete-completions|complete-exhibit|complete-forward-completions|complete-minibuffer-setup|complete-mode|complete-post-command-hook|complete-pre-command-hook|complete-simple-completing-p|complete-tidy|con-backward-to-noncomment|con-backward-to-start-of-continued-exp|con-backward-to-start-of-if|con-comment-indent|con-forward-sexp-function|con-indent-command|con-indent-line|con-is-continuation-line|con-is-continued-line|con-mode|conify-or-deiconify-frame|dl-font-lock-keywords-2|dl-font-lock-keywords-3|dl-font-lock-keywords|dl-mode|dlwave-action-and-binding|dlwave-active-rinfo-space|dlwave-add-file-link-selector|dlwave-after-successful-completion|dlwave-all-assq|dlwave-all-class-inherits|dlwave-all-class-tags|dlwave-all-method-classes|dlwave-all-method-keyword-classes|dlwave-any-syslib|dlwave-attach-class-tag-classes|dlwave-attach-classes|dlwave-attach-keyword-classes|dlwave-attach-method-classes|dlwave-auto-fill-mode|dlwave-auto-fill|dlwave-backward-block|dlwave-backward-up-block|dlwave-beginning-of-block|dlwave-beginning-of-statement|dlwave-beginning-of-subprogram|dlwave-best-rinfo-assoc|dlwave-best-rinfo-assq|dlwave-block-jump-out|dlwave-block-master|dlwave-calc-hanging-indent|dlwave-calculate-cont-indent|dlwave-calculate-indent|dlwave-calculate-paren-indent|dlwave-call-special|dlwave-case|dlwave-check-abbrev|dlwave-choose-completion|dlwave-choose|dlwave-class-alist|dlwave-class-file-or-buffer|dlwave-class-found-in|dlwave-class-info|dlwave-class-inherits|dlwave-class-or-superclass-with-tag|dlwave-class-tag-reset|dlwave-class-tags|dlwave-close-block|dlwave-code-abbrev|dlwave-command-hook|dlwave-comment-hook|dlwave-complete-class-structure-tag-help|dlwave-complete-class-structure-tag|dlwave-complete-class|dlwave-complete-filename|dlwave-complete-in-buffer|dlwave-complete-sysvar-help|dlwave-complete-sysvar-or-tag|dlwave-complete-sysvar-tag-help|dlwave-complete|dlwave-completing-read|dlwave-completion-fontify-classes|dlwave-concatenate-rinfo-lists|dlwave-context-help|dlwave-convert-xml-clean-routine-aliases|dlwave-convert-xml-clean-statement-aliases|dlwave-convert-xml-clean-sysvar-aliases|dlwave-convert-xml-system-routine-info|dlwave-count-eq|dlwave-count-memq|dlwave-count-outlawed-buffers|dlwave-create-customize-menu|dlwave-create-user-catalog-file|dlwave-current-indent|dlwave-current-routine-fullname|dlwave-current-routine|dlwave-current-statement-indent|dlwave-custom-ampersand-surround|dlwave-custom-ltgtr-surround|dlwave-customize|dlwave-debug-map|dlwave-default-choose-completion|dlwave-default-insert-timestamp|dlwave-define-abbrev|dlwave-delete-user-catalog-file|dlwave-determine-class|dlwave-display-calling-sequence|dlwave-display-completion-list-emacs|dlwave-display-completion-list-xemacs|dlwave-display-completion-list|dlwave-display-user-catalog-widget|dlwave-do-action|dlwave-do-context-help1??|dlwave-do-find-module|dlwave-do-kill-autoloaded-buffers|dlwave-do-mouse-completion-help|dlwave-doc-header|dlwave-doc-modification|dlwave-down-block|dlwave-downcase-safe|dlwave-edit-in-idlde|dlwave-elif|dlwave-end-of-block|dlwave-end-of-statement0??|dlwave-end-of-subprogram|dlwave-entry-find-keyword|dlwave-entry-has-help|dlwave-entry-keywords|dlwave-expand-equal|dlwave-expand-keyword|dlwave-expand-lib-file-name|dlwave-expand-path|dlwave-expand-region-abbrevs|dlwave-explicit-class-listed|dlwave-fill-paragraph|dlwave-find-class-definition|dlwave-find-file-noselect|dlwave-find-inherited-class|dlwave-find-key|dlwave-find-module-this-file|dlwave-find-module|dlwave-find-struct-tag|dlwave-find-structure-definition|dlwave-fix-keywords|dlwave-fix-module-if-obj_new|dlwave-font-lock-fontify-region|dlwave-for|dlwave-forward-block|dlwave-function-menu|dlwave-function|dlwave-get-buffer-routine-info|dlwave-get-buffer-visiting|dlwave-get-routine-info-from-buffers|dlwave-goto-comment|dlwave-grep|dlwave-hard-tab|dlwave-has-help|dlwave-help-assistant-available|dlwave-help-assistant-close|dlwave-help-assistant-command|dlwave-help-assistant-help-with-topic|dlwave-help-assistant-open-link|dlwave-help-assistant-raise|dlwave-help-assistant-start|dlwave-help-check-locations|dlwave-help-diagnostics|dlwave-help-display-help-window|dlwave-help-error|dlwave-help-find-first-header|dlwave-help-find-header|dlwave-help-find-in-doc-header|dlwave-help-find-routine-definition|dlwave-help-fontify|dlwave-help-get-help-buffer|dlwave-help-get-special-help|dlwave-help-html-link|dlwave-help-menu|dlwave-help-mode|dlwave-help-quit|dlwave-help-return-to-calling-frame|dlwave-help-select-help-frame|dlwave-help-show-help-frame|dlwave-help-toggle-header-match-and-def|dlwave-help-toggle-header-top-and-def|dlwave-help-with-source|dlwave-highlight-linked-completions|dlwave-html-help-location|dlwave-if|dlwave-in-comment|dlwave-in-quote|dlwave-in-structure|dlwave-indent-and-action|dlwave-indent-left-margin|dlwave-indent-line|dlwave-indent-statement|dlwave-indent-subprogram|dlwave-indent-to|dlwave-info|dlwave-insert-source-location|dlwave-is-comment-line|dlwave-is-comment-or-empty-line|dlwave-is-continuation-line|dlwave-is-pointer-dereference|dlwave-keyboard-quit|dlwave-keyword-abbrev|dlwave-kill-autoloaded-buffers|dlwave-kill-buffer-update|dlwave-last-valid-char|dlwave-launch-idlhelp|dlwave-lib-p|dlwave-list-abbrevs|dlwave-list-all-load-path-shadows|dlwave-list-buffer-load-path-shadows|dlwave-list-load-path-shadows|dlwave-list-shell-load-path-shadows|dlwave-load-all-rinfo|dlwave-load-rinfo-next-step|dlwave-load-system-routine-info|dlwave-local-value|dlwave-locate-lib-file|dlwave-look-at|dlwave-make-force-complete-where-list|dlwave-make-full-name|dlwave-make-modified-completion-map-emacs|dlwave-make-modified-completion-map-xemacs|dlwave-make-one-key-alist|dlwave-make-space|dlwave-make-tags|dlwave-mark-block|dlwave-mark-doclib|dlwave-mark-statement|dlwave-mark-subprogram|dlwave-match-class-arrows|dlwave-members-only|dlwave-min-current-statement-indent|dlwave-mode-debug-menu|dlwave-mode-menu|dlwave-mode|dlwave-mouse-active-rinfo-right|dlwave-mouse-active-rinfo-shift|dlwave-mouse-active-rinfo|dlwave-mouse-choose-completion|dlwave-mouse-completion-help|dlwave-mouse-context-help|dlwave-new-buffer-update|dlwave-new-sintern-type|dlwave-newline|dlwave-next-statement|dlwave-nonmembers-only|dlwave-one-key-select|dlwave-online-help|dlwave-parse-definition|dlwave-path-alist-add-flag|dlwave-path-alist-remove-flag|dlwave-popup-select|dlwave-prepare-class-tag-completion|dlwave-prev-index-position|dlwave-previous-statement|dlwave-print-source|dlwave-procedure|dlwave-process-sysvars|dlwave-quit-help|dlwave-quoted|dlwave-read-paths|dlwave-recursive-directory-list|dlwave-region-active-p|dlwave-repeat|dlwave-replace-buffer-routine-info|dlwave-replace-string|dlwave-rescan-asynchronously|dlwave-rescan-catalog-directories|dlwave-reset-sintern-type|dlwave-reset-sintern|dlwave-resolve|dlwave-restore-wconf-after-completion|dlwave-revoke-license-to-kill|dlwave-rinfo-assoc|dlwave-rinfo-assq-any-class|dlwave-rinfo-assq|dlwave-rinfo-group-keywords|dlwave-rinfo-insert-keyword|dlwave-routine-entry-compare-twins|dlwave-routine-entry-compare|dlwave-routine-info|dlwave-routine-source-file|dlwave-routine-twin-compare|dlwave-routine-twins|dlwave-routines|dlwave-rw-case|dlwave-save-buffer-update|dlwave-save-routine-info|dlwave-scan-class-info|dlwave-scan-library-catalogs|dlwave-scan-user-lib-files|dlwave-scroll-completions|dlwave-selector|dlwave-set-local|dlwave-setup|dlwave-shell-break-here|dlwave-shell-compile-helper-routines|dlwave-shell-filter-sysvars|dlwave-shell-recenter-shell-window|dlwave-shell-run-region|dlwave-shell-save-and-run|dlwave-shell-send-command|dlwave-shell-show-commentary|dlwave-shell-update-routine-info|dlwave-shell|dlwave-shorten-syntax|dlwave-show-begin-check|dlwave-show-begin|dlwave-show-commentary|dlwave-show-matching-quote|dlwave-sintern-class-info|dlwave-sintern-class-tag|dlwave-sintern-class)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)i(?:dlwave-sintern-dir|dlwave-sintern-keyword-list|dlwave-sintern-keyword|dlwave-sintern-libname|dlwave-sintern-method|dlwave-sintern-rinfo-list|dlwave-sintern-routine-or-method|dlwave-sintern-routine|dlwave-sintern-set|dlwave-sintern-sysvar-alist|dlwave-sintern-sysvar|dlwave-sintern-sysvartag|dlwave-sintern|dlwave-skip-label-or-case|dlwave-skip-multi-commands|dlwave-skip-object|dlwave-special-lib-test|dlwave-split-line|dlwave-split-link-target|dlwave-split-menu-emacs|dlwave-split-menu-xemacs|dlwave-split-string|dlwave-start-load-rinfo-timer|dlwave-start-of-substatement|dlwave-statement-type|dlwave-struct-borders|dlwave-struct-inherits|dlwave-struct-tags|dlwave-study-twins|dlwave-substitute-link-target|dlwave-surround|dlwave-switch|dlwave-sys-dir|dlwave-syslib-p|dlwave-syslib-scanned-p|dlwave-sysvars-reset|dlwave-template|dlwave-this-word|dlwave-toggle-comment-region|dlwave-true-path-alist|dlwave-uniquify|dlwave-unit-name|dlwave-update-buffer-routine-info|dlwave-update-current-buffer-info|dlwave-update-routine-info|dlwave-user-catalog-command-hook|dlwave-what-function|dlwave-what-module-find-class|dlwave-what-module|dlwave-what-procedure|dlwave-where|dlwave-while|dlwave-widget-scan-user-lib-files|dlwave-with-special-syntax|dlwave-write-paths|dlwave-xml-create-class-method-lists|dlwave-xml-create-rinfo-list|dlwave-xml-create-sysvar-alist|dlwave-xml-system-routine-info-up-to-date|dlwave-xor|dna-to-ascii|do-active|do-add-virtual-buffers-to-list|do-all-completions|do-buffer-internal|do-buffer-window-other-frame|do-bury-buffer-at-head|do-cache-ftp-valid|do-cache-unc-valid|do-choose-completion-string|do-chop|do-common-initialization|do-complete-space|do-complete|do-completing-read|do-completion-help|do-completions|do-copy-current-file-name|do-copy-current-word|do-delete-backward-updir|do-delete-backward-word-updir|do-delete-file-at-head|do-directory-too-big-p|do-dired|do-display-buffer|do-display-file|do-edit-input|do-enter-dired|do-enter-find-file|do-enter-insert-buffer|do-enter-insert-file|do-enter-switch-buffer|do-everywhere|do-exhibit|do-existing-item-p|do-exit-minibuffer|do-expand-directory|do-fallback-command|do-file-extension-aux|do-file-extension-lessp|do-file-extension-order|do-file-internal|do-file-lessp|do-file-name-all-completions-1|do-file-name-all-completions|do-final-slash|do-find-alternate-file|do-find-common-substring|do-find-file-in-dir|do-find-file-other-frame|do-find-file-other-window|do-find-file-read-only-other-frame|do-find-file-read-only-other-window|do-find-file-read-only|do-find-file|do-flatten-merged-list|do-forget-work-directory|do-fractionp|do-get-buffers-in-frames|do-get-bufname|do-get-work-directory|do-get-work-file|do-ignore-item-p|do-init-completion-maps|do-initiate-auto-merge|do-insert-buffer|do-insert-file|do-is-ftp-directory|do-is-root-directory|do-is-slow-ftp-host|do-is-tramp-root|do-is-unc-host|do-is-unc-root|do-kill-buffer-at-head|do-kill-buffer|do-kill-emacs-hook|do-list-directory|do-load-history|do-local-file-exists-p|do-magic-backward-char|do-magic-delete-char|do-magic-forward-char|do-make-buffer-list-1|do-make-buffer-list|do-make-choice-list|do-make-dir-list-1|do-make-dir-list|do-make-directory|do-make-file-list-1|do-make-file-list|do-make-merged-file-list-1|do-make-merged-file-list|do-make-prompt|do-makealist|do-may-cache-directory|do-merge-work-directories|do-minibuffer-setup|do-mode|do-name|do-next-match-dir|do-next-match|do-next-work-directory|do-next-work-file|do-no-final-slash|do-nonreadable-directory-p|do-pop-dir|do-pp|do-prev-match-dir|do-prev-match|do-prev-work-directory|do-prev-work-file|do-push-dir-first|do-push-dir|do-read-buffer|do-read-directory-name|do-read-file-name|do-read-internal|do-record-command|do-record-work-directory|do-record-work-file|do-remove-cached-dir|do-reread-directory|do-restrict-to-matches|do-save-history|do-select-text|do-set-common-completion|do-set-current-directory|do-set-current-home|do-set-matches-1|do-set-matches|do-setup-completion-map|do-sort-merged-list|do-summary-buffers-to-end|do-switch-buffer-other-frame|do-switch-buffer-other-window|do-switch-buffer|do-take-first-match|do-tidy|do-time-stamp|do-to-end|do-toggle-case|do-toggle-ignore|do-toggle-literal|do-toggle-prefix|do-toggle-regexp|do-toggle-trace|do-toggle-vc|do-toggle-virtual-buffers|do-trace|do-unc-hosts-net-view|do-unc-hosts|do-undo-merge-work-directory|do-unload-function|do-up-directory|do-visit-buffer|do-wash-history|do-wide-find-dir-or-delete-dir|do-wide-find-dir|do-wide-find-dirs-or-files|do-wide-find-file-or-pop-dir|do-wide-find-file|do-word-matching-substring|do-write-file|elm|etf-drums-get-comment|etf-drums-init|etf-drums-make-address|etf-drums-narrow-to-header|etf-drums-parse-address|etf-drums-parse-addresses|etf-drums-parse-date|etf-drums-quote-string|etf-drums-remove-comments|etf-drums-remove-whitespace|etf-drums-strip|etf-drums-token-to-list|etf-drums-unfold-fws|f-let|fconfig|image-mode-buffer|image-mode|image-modification-hook|image-recenter|mage--set-speed|mage-after-revert-hook|mage-animate-get-speed|mage-animate-set-speed|mage-animate-timeout|mage-animated-p|mage-backward-hscroll|mage-bob|mage-bol|mage-bookmark-jump|mage-bookmark-make-record|mage-decrease-speed|mage-dired--with-db-file|mage-dired-add-to-file-comment-list|mage-dired-add-to-tag-file-lists??|mage-dired-associated-dired-buffer-window|mage-dired-associated-dired-buffer|mage-dired-backward-image|mage-dired-comment-thumbnail|mage-dired-copy-with-exif-file-name|mage-dired-create-display-image-buffer|mage-dired-create-gallery-lists|mage-dired-create-thumb|mage-dired-create-thumbnail-buffer|mage-dired-create-thumbs|mage-dired-define-display-image-mode-keymap|mage-dired-define-thumbnail-mode-keymap|mage-dired-delete-char|mage-dired-delete-tag|mage-dired-dir|mage-dired-dired-after-readin-hook|mage-dired-dired-comment-files|mage-dired-dired-display-external|mage-dired-dired-display-image|mage-dired-dired-display-properties|mage-dired-dired-edit-comment-and-tags|mage-dired-dired-file-marked-p|mage-dired-dired-next-line|mage-dired-dired-previous-line|mage-dired-dired-toggle-marked-thumbs|mage-dired-dired-with-window-configuration|mage-dired-display-current-image-full|mage-dired-display-current-image-sized|mage-dired-display-image-mode|mage-dired-display-image|mage-dired-display-next-thumbnail-original|mage-dired-display-previous-thumbnail-original|mage-dired-display-thumb-properties|mage-dired-display-thumb|mage-dired-display-thumbnail-original-image|mage-dired-display-thumbs-append|mage-dired-display-thumbs|mage-dired-display-window-height|mage-dired-display-window-width|mage-dired-display-window|mage-dired-flag-thumb-original-file|mage-dired-format-properties-string|mage-dired-forward-image|mage-dired-gallery-generate|mage-dired-get-buffer-window|mage-dired-get-comment|mage-dired-get-exif-data|mage-dired-get-exif-file-name|mage-dired-get-thumbnail-image|mage-dired-hidden-p|mage-dired-image-at-point-p|mage-dired-insert-image|mage-dired-insert-thumbnail|mage-dired-jump-original-dired-buffer|mage-dired-jump-thumbnail-buffer|mage-dired-kill-buffer-and-window|mage-dired-line-up-dynamic|mage-dired-line-up-interactive|mage-dired-line-up|mage-dired-list-tags|mage-dired-mark-and-display-next|mage-dired-mark-tagged-files|mage-dired-mark-thumb-original-file|mage-dired-modify-mark-on-thumb-original-file|mage-dired-mouse-display-image|mage-dired-mouse-select-thumbnail|mage-dired-mouse-toggle-mark|mage-dired-next-line-and-display|mage-dired-next-line|mage-dired-original-file-name|mage-dired-previous-line-and-display|mage-dired-previous-line|mage-dired-read-comment|mage-dired-refresh-thumb|mage-dired-remove-tag|mage-dired-restore-window-configuration|mage-dired-rotate-original-left|mage-dired-rotate-original-right|mage-dired-rotate-original|mage-dired-rotate-thumbnail-left|mage-dired-rotate-thumbnail-right|mage-dired-rotate-thumbnail|mage-dired-sane-db-file|mage-dired-save-information-from-widgets|mage-dired-set-exif-data|mage-dired-setup-dired-keybindings|mage-dired-show-all-from-dir|mage-dired-slideshow-start|mage-dired-slideshow-step|mage-dired-slideshow-stop|mage-dired-tag-files|mage-dired-tag-thumbnail-remove|mage-dired-tag-thumbnail|mage-dired-thumb-name|mage-dired-thumbnail-display-external|mage-dired-thumbnail-mode|mage-dired-thumbnail-set-image-description|mage-dired-thumbnail-window|mage-dired-toggle-append-browsing|mage-dired-toggle-dired-display-properties|mage-dired-toggle-mark-thumb-original-file|mage-dired-toggle-movement-tracking|mage-dired-track-original-file|mage-dired-track-thumbnail|mage-dired-unmark-thumb-original-file|mage-dired-update-property|mage-dired-window-height-pixels|mage-dired-window-width-pixels|mage-dired-write-comments|mage-dired-write-tags|mage-dired|mage-display-size|mage-eob|mage-eol|mage-extension-data|mage-file-call-underlying|mage-file-handler|mage-file-name-regexp|mage-file-yank-handler|mage-forward-hscroll|mage-get-display-property|mage-goto-frame|mage-increase-speed|mage-jpeg-p|mage-metadata|mage-minor-mode|mage-mode--images-in-directory|mage-mode-as-text|mage-mode-fit-frame|mage-mode-maybe|mage-mode-menu|mage-mode-reapply-winprops|mage-mode-setup-winprops|mage-mode-window-get|mage-mode-window-put|mage-mode-winprops|mage-mode|mage-next-file|mage-next-frame|mage-next-line|mage-previous-file|mage-previous-frame|mage-previous-line|mage-refresh|mage-reset-speed|mage-reverse-speed|mage-scroll-down|mage-scroll-up|mage-search-load-path|mage-set-window-hscroll|mage-set-window-vscroll|mage-toggle-animation|mage-toggle-display-image|mage-toggle-display-text|mage-toggle-display|mage-transform-check-size|mage-transform-fit-to-height|mage-transform-fit-to-width|mage-transform-fit-width|mage-transform-properties|mage-transform-reset|mage-transform-set-rotation|mage-transform-set-scale|mage-transform-width|mage-type-auto-detected-p|mage-type-from-buffer|mage-type-from-data|mage-type-from-file-header|mage-type-from-file-name|mage-type|magemagick-filter-types|magemagick-register-types|map-add-callback|map-anonymous-auth|map-anonymous-p|map-arrival-filter|map-authenticate|map-body-lines|map-capability|map-close|map-cram-md5-auth|map-cram-md5-p|map-current-mailbox-p-1|map-current-mailbox-p|map-current-mailbox|map-current-message|map-digest-md5-auth|map-digest-md5-p|map-disable-multibyte|map-envelope-from|map-error-text|map-fetch-asynch|map-fetch-safe|map-fetch|map-find-next-line|map-forward|map-gssapi-auth-p|map-gssapi-auth|map-gssapi-open|map-gssapi-stream-p|map-id|map-interactive-login|map-kerberos4-auth-p|map-kerberos4-auth|map-kerberos4-open|map-kerberos4-stream-p|map-list-to-message-set|map-log|map-login-auth|map-login-p|map-logout-wait|map-logout|map-mailbox-acl-delete|map-mailbox-acl-get|map-mailbox-acl-set|map-mailbox-close|map-mailbox-create-1|map-mailbox-create|map-mailbox-delete|map-mailbox-examine-1|map-mailbox-examine|map-mailbox-expunge|map-mailbox-get-1|map-mailbox-get|map-mailbox-list|map-mailbox-lsub|map-mailbox-map-1|map-mailbox-map|map-mailbox-put|map-mailbox-rename|map-mailbox-select-1|map-mailbox-select|map-mailbox-status-asynch|map-mailbox-status|map-mailbox-subscribe|map-mailbox-unselect|map-mailbox-unsubscribe|map-message-append|map-message-appenduid-1|map-message-appenduid|map-message-body|map-message-copy|map-message-copyuid-1|map-message-copyuid|map-message-envelope-bcc|map-message-envelope-cc|map-message-envelope-date|map-message-envelope-from|map-message-envelope-in-reply-to|map-message-envelope-message-id|map-message-envelope-reply-to|map-message-envelope-sender|map-message-envelope-subject|map-message-envelope-to|map-message-flag-permanent-p|map-message-flags-add|map-message-flags-del|map-message-flags-set|map-message-get|map-message-map|map-message-put|map-namespace|map-network-open|map-network-p|map-ok-p|map-open-1|map-open|map-opened|map-parse-acl|map-parse-address-list|map-parse-address|map-parse-astring|map-parse-body-ext)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)i(?:map-parse-body-extension|map-parse-body|map-parse-data-list|map-parse-envelope|map-parse-fetch-body-section|map-parse-fetch|map-parse-flag-list|map-parse-greeting|map-parse-header-list|map-parse-literal|map-parse-mailbox|map-parse-nil|map-parse-nstring|map-parse-number|map-parse-resp-text-code|map-parse-resp-text|map-parse-response|map-parse-status|map-parse-string-list|map-parse-string|map-ping-server|map-quote-specials|map-range-to-message-set|map-remassoc|map-sasl-auth-p|map-sasl-auth|map-sasl-make-mechanisms|map-search|map-send-command-1|map-send-command-wait|map-send-command|map-sentinel|map-shell-open|map-shell-p|map-ssl-open|map-ssl-p|map-starttls-open|map-starttls-p|map-string-to-integer|map-tls-open|map-tls-p|map-utf7-decode|map-utf7-encode|map-wait-for-tag|menu--cleanup|menu--completion-buffer|menu--create-keymap|menu--generic-function|menu--in-alist|menu--make-index-alist|menu--menubar-select|menu--mouse-menu|menu--relative-position|menu--sort-by-name|menu--sort-by-position|menu--split-menu|menu--split-submenus|menu--split|menu--subalist-p|menu--truncate-items|menu-add-menubar-index|menu-choose-buffer-index|menu-default-create-index-function|menu-default-goto-function|menu-example--create-c-index|menu-example--create-lisp-index|menu-example--lisp-extract-index-name|menu-example--name-and-position|menu-find-default|menu-progress-message|menu-update-menubar|menu|n-is13194-post-read-conversion|n-is13194-pre-write-conversion|n-string-p|nactivate-input-method|ncf|ncrease-left-margin|ncrease-right-margin|ncrement-register|ndent-accumulate-tab-stops|ndent-for-comment|ndent-icon-exp|ndent-line-to|ndent-new-comment-line|ndent-next-tab-stop|ndent-perl-exp|ndent-pp-sexp|ndent-rigidly--current-indentation|ndent-rigidly--pop-undo|ndent-rigidly-left-to-tab-stop|ndent-rigidly-left|ndent-rigidly-right-to-tab-stop|ndent-rigidly-right|ndent-sexp|ndent-tcl-exp|ndent-to-column|ndented-text-mode|ndian-2-column-to-ucs-region|ndian-compose-regexp|ndian-compose-region|ndian-compose-string|ndicate-copied-region|nferior-lisp-install-letter-bindings|nferior-lisp-menu|nferior-lisp-mode|nferior-lisp-proc|nferior-lisp|nferior-octave-check-process|nferior-octave-complete|nferior-octave-completion-at-point|nferior-octave-completion-table|nferior-octave-directory-tracker|nferior-octave-dynamic-list-input-ring|nferior-octave-mode|nferior-octave-output-digest|nferior-octave-process-live-p|nferior-octave-resync-dirs|nferior-octave-send-list-and-digest|nferior-octave-startup|nferior-octave-track-window-width-change|nferior-octave|nferior-python-mode|nferior-scheme-mode|nferior-tcl-mode|nferior-tcl-proc|nferior-tcl|nfo--manual-names|nfo--prettify-description|nfo-apropos|nfo-complete-file|nfo-complete-symbol|nfo-complete|nfo-display-manual|nfo-emacs-bug|nfo-emacs-manual|nfo-file-exists-p|nfo-finder|nfo-initialize|nfo-insert-file-contents-1|nfo-insert-file-contents|nfo-lookup->all-modes|nfo-lookup->cache|nfo-lookup->completions|nfo-lookup->doc-spec|nfo-lookup->ignore-case|nfo-lookup->initialized|nfo-lookup->mode-cache|nfo-lookup->mode-value|nfo-lookup->other-modes|nfo-lookup->parse-rule|nfo-lookup->refer-modes|nfo-lookup->regexp|nfo-lookup->topic-cache|nfo-lookup->topic-value|nfo-lookup-add-help\\\\*?|nfo-lookup-change-mode|nfo-lookup-completions-at-point|nfo-lookup-file|nfo-lookup-guess-c-symbol|nfo-lookup-guess-custom-symbol|nfo-lookup-guess-default\\\\*?|nfo-lookup-interactive-arguments|nfo-lookup-make-completions|nfo-lookup-maybe-add-help|nfo-lookup-quick-all-modes|nfo-lookup-reset|nfo-lookup-select-mode|nfo-lookup-setup-mode|nfo-lookup-symbol|nfo-lookup|nfo-other-window|nfo-setup|nfo-standalone|nfo-xref-all-info-files|nfo-xref-check-all-custom|nfo-xref-check-all|nfo-xref-check-buffer|nfo-xref-check-list|nfo-xref-check-node|nfo-xref-check|nfo-xref-docstrings|nfo-xref-goto-node-p|nfo-xref-lock-file-p|nfo-xref-output-error|nfo-xref-output|nfo-xref-subfile-p|nfo-xref-with-file|nfo-xref-with-output|nfo|nhibit-local-variables-p|nit-image-library|nitialize-completions|nitialize-instance|nitialize-new-tags-table|nline|nsert-abbrevs|nsert-byte|nsert-directory-adj-pos|nsert-directory-safely|nsert-file-1|nsert-file-literally|nsert-file|nsert-for-yank-1|nsert-image-file|nsert-kbd-macro|nsert-pair|nsert-parentheses|nsert-rectangle|nsert-string|nsert-tab|nt-to-string|nteractive-completion-string-reader|nteractive-p|ntern-safe|nternal--after-save-selected-window|nternal--after-with-selected-window|nternal--before-save-selected-window|nternal--before-with-selected-window|nternal--build-binding-value-form|nternal--build-bindings??|nternal--check-binding|nternal--listify|nternal--thread-argument|nternal--track-mouse|nternal-ange-ftp-mode|nternal-char-font|nternal-complete-buffer-except|nternal-complete-buffer|nternal-copy-lisp-face|nternal-default-process-filter|nternal-default-process-sentinel|nternal-describe-syntax-value|nternal-event-symbol-parse-modifiers|nternal-face-x-get-resource|nternal-get-lisp-face-attribute|nternal-lisp-face-attribute-values|nternal-lisp-face-empty-p|nternal-lisp-face-equal-p|nternal-lisp-face-p|nternal-macroexpand-for-load|nternal-make-lisp-face|nternal-make-var-non-special|nternal-merge-in-global-face|nternal-pop-keymap|nternal-push-keymap|nternal-set-alternative-font-family-alist|nternal-set-alternative-font-registry-alist|nternal-set-font-selection-order|nternal-set-lisp-face-attribute-from-resource|nternal-set-lisp-face-attribute|nternal-show-cursor-p|nternal-show-cursor|nternal-temp-output-buffer-show|nternal-timer-start-idle|ntersection|nverse-add-abbrev|nverse-add-global-abbrev|nverse-add-mode-abbrev|nversion-<|nversion-=|nversion-add-to-load-path|nversion-check-version|nversion-decode-version|nversion-download-package-ask|nversion-find-version|nversion-locate-package-files-and-split|nversion-locate-package-files|nversion-package-incompatibility-version|nversion-package-version|nversion-recode|nversion-release-to-number|nversion-require-emacs|nversion-require|nversion-reverse-test|nversion-test|pconfig|rc|sInNet|sPlainHostName|sResolvable|search--get-state|search--set-state|search--state-barrier--cmacro|search--state-barrier|search--state-case-fold-search--cmacro|search--state-case-fold-search|search--state-error--cmacro|search--state-error|search--state-forward--cmacro|search--state-forward|search--state-message--cmacro|search--state-message|search--state-other-end--cmacro|search--state-other-end|search--state-p--cmacro|search--state-p|search--state-point--cmacro|search--state-point|search--state-pop-fun--cmacro|search--state-pop-fun|search--state-string--cmacro|search--state-string|search--state-success--cmacro|search--state-success|search--state-word--cmacro|search--state-word|search--state-wrapped--cmacro|search--state-wrapped|search-abort|search-back-into-window|search-backslash|search-backward-regexp|search-backward|search-cancel|search-char-by-name|search-clean-overlays|search-close-unnecessary-overlays|search-complete-edit|search-complete1??|search-dehighlight|search-del-char|search-delete-char|search-describe-bindings|search-describe-key|search-describe-mode|search-done|search-edit-string|search-exit|search-fail-pos|search-fallback|search-filter-visible|search-forward-exit-minibuffer|search-forward-regexp|search-forward-symbol-at-point|search-forward-symbol|search-forward-word|search-forward|search-help-for-help-internal-doc|search-help-for-help-internal|search-help-for-help|search-highlight-regexp|search-highlight|search-intersects-p|search-lazy-highlight-cleanup|search-lazy-highlight-new-loop|search-lazy-highlight-search|search-lazy-highlight-update|search-message-prefix|search-message-suffix|search-message|search-mode-help|search-mode|search-mouse-2|search-no-upper-case-p|search-nonincremental-exit-minibuffer|search-occur|search-open-necessary-overlays|search-open-overlay-temporary|search-pop-state|search-post-command-hook|search-pre-command-hook|search-printing-char|search-process-search-char|search-process-search-multibyte-characters|search-process-search-string|search-push-state|search-query-replace-regexp|search-query-replace|search-quote-char|search-range-invisible|search-repeat-backward|search-repeat-forward|search-repeat|search-resume|search-reverse-exit-minibuffer|search-ring-adjust1??|search-ring-advance|search-ring-retreat|search-search-and-update|search-search-fun-default|search-search-fun|search-search-string|search-search|search-string-out-of-window|search-symbol-regexp|search-text-char-description|search-toggle-case-fold|search-toggle-input-method|search-toggle-invisible|search-toggle-lax-whitespace|search-toggle-regexp|search-toggle-specified-input-method|search-toggle-symbol|search-toggle-word|search-unread|search-update-ring|search-update|search-yank-char-in-minibuffer|search-yank-char|search-yank-internal|search-yank-kill|search-yank-line|search-yank-pop|search-yank-string|search-yank-word-or-char|search-yank-word|search-yank-x-selection|searchb-activate|searchb-follow-char|searchb-iswitchb|searchb-set-keybindings|searchb-stop|searchb|so-charset|so-cvt-define-menu|so-cvt-read-only|so-cvt-write-only|so-german|so-gtex2iso|so-iso2duden|so-iso2gtex|so-iso2sgml|so-iso2tex|so-sgml2iso|so-spanish|so-tex2iso|so-transl-ctl-x-8-map|spell-accept-buffer-local-defs|spell-accept-output|spell-add-per-file-word-list|spell-aspell-add-aliases|spell-aspell-find-dictionary|spell-begin-skip-region-regexp|spell-begin-skip-region|spell-begin-tex-skip-regexp|spell-buffer-local-dict|spell-buffer-local-parsing|spell-buffer-local-words|spell-buffer-with-debug|spell-buffer|spell-call-process-region|spell-call-process|spell-change-dictionary|spell-check-minver|spell-check-version|spell-command-loop|spell-comments-and-strings|spell-complete-word-interior-frag|spell-complete-word|spell-continue|spell-create-debug-buffer|spell-decode-string|spell-display-buffer|spell-filter|spell-find-aspell-dictionaries|spell-find-hunspell-dictionaries|spell-get-aspell-config-value|spell-get-casechars|spell-get-coding-system|spell-get-decoded-string|spell-get-extended-character-mode|spell-get-ispell-args|spell-get-line|spell-get-many-otherchars-p|spell-get-not-casechars|spell-get-otherchars|spell-get-word|spell-help|spell-highlight-spelling-error-generic|spell-highlight-spelling-error-overlay|spell-highlight-spelling-error-xemacs|spell-highlight-spelling-error|spell-horiz-scroll|spell-hunspell-fill-dictionary-entry|spell-ignore-fcc|spell-init-process|spell-int-char|spell-internal-change-dictionary|spell-kill-ispell|spell-looking-at|spell-looking-back|spell-lookup-words|spell-menu-map|spell-message|spell-mime-multipartp|spell-mime-skip-part|spell-minor-check|spell-minor-mode|spell-non-empty-string|spell-parse-hunspell-affix-file|spell-parse-output|spell-pdict-save|spell-print-if-debug|spell-process-line|spell-process-status|spell-region|spell-send-replacement|spell-send-string|spell-set-spellchecker-params|spell-show-choices|spell-skip-region-list|spell-skip-region|spell-start-process|spell-tex-arg-end|spell-valid-dictionary-list|spell-with-no-warnings|spell-word|spell|sqrt|switchb-buffer-other-frame|switchb-buffer-other-window|switchb-buffer|switchb-case|switchb-chop|switchb-complete|switchb-completion-help|switchb-completions|switchb-display-buffer|switchb-entryfn-p|switchb-exhibit|switchb-existing-buffer-p|switchb-exit-minibuffer|switchb-find-common-substring|switchb-find-file|switchb-get-buffers-in-frames|switchb-get-bufname|switchb-get-matched-buffers|switchb-ignore-buffername-p|switchb-init-XEmacs-trick|switchb-kill-buffer|switchb-make-buflist|switchb-makealist|switchb-minibuffer-setup|switchb-mode|switchb-next-match|switchb-output-completion|switchb-possible-new-buffer)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:iswitchb-post-command|iswitchb-pre-command|iswitchb-prev-match|iswitchb-read-buffer|iswitchb-rotate-list|iswitchb-select-buffer-text|iswitchb-set-common-completion|iswitchb-set-matches|iswitchb-summaries-to-end|iswitchb-tidy|iswitchb-to-end|iswitchb-toggle-case|iswitchb-toggle-ignore|iswitchb-toggle-regexp|iswitchb-visit-buffer|iswitchb-window-buffer-p|iswitchb-word-matching-substring|iswitchb-xemacs-backspacekey|iswitchb|iwconfig|japanese-hankaku-region|japanese-hankaku|japanese-hiragana-region|japanese-hiragana|japanese-katakana-region|japanese-katakana|japanese-zenkaku-region|japanese-zenkaku|java-font-lock-keywords-2|java-font-lock-keywords-3|java-font-lock-keywords|java-mode|javascript-mode|jdb|jit-lock--debug-fontify|jit-lock-after-change|jit-lock-context-fontify|jit-lock-debug-mode|jit-lock-deferred-fontify|jit-lock-fontify-now|jit-lock-force-redisplay|jit-lock-function|jit-lock-mode|jit-lock-refontify|jit-lock-stealth-chunk-start|jit-lock-stealth-fontify|jka-compr-build-file-regexp|jka-compr-byte-compiler-base-file-name|jka-compr-call-process|jka-compr-error|jka-compr-file-local-copy|jka-compr-get-compression-info|jka-compr-handler|jka-compr-info-can-append|jka-compr-info-compress-args|jka-compr-info-compress-message|jka-compr-info-compress-program|jka-compr-info-file-magic-bytes|jka-compr-info-regexp|jka-compr-info-strip-extension|jka-compr-info-uncompress-args|jka-compr-info-uncompress-message|jka-compr-info-uncompress-program|jka-compr-insert-file-contents|jka-compr-install|jka-compr-installed-p|jka-compr-load|jka-compr-make-temp-name|jka-compr-partial-uncompress|jka-compr-run-real-handler|jka-compr-set|jka-compr-uninstall|jka-compr-update|jka-compr-write-region|join-line|js--array-comp-indentation|js--backward-pstate|js--backward-syntactic-ws|js--backward-text-property|js--beginning-of-defun-flat|js--beginning-of-defun-nested|js--beginning-of-defun-raw|js--beginning-of-macro|js--class-decl-matcher|js--clear-stale-cache|js--continued-expression-p|js--ctrl-statement-indentation|js--debug|js--end-of-defun-flat|js--end-of-defun-nested|js--end-of-do-while-loop-p|js--ensure-cache--pop-if-ended|js--ensure-cache--update-parse|js--ensure-cache|js--flatten-list|js--flush-caches|js--forward-destructuring-spec|js--forward-expression|js--forward-function-decl|js--forward-pstate|js--forward-syntactic-ws|js--forward-text-property|js--function-prologue-beginning|js--get-all-known-symbols|js--get-c-offset|js--get-js-context|js--get-tabs|js--guess-eval-defun-info|js--guess-function-name|js--guess-symbol-at-point|js--imenu-create-index|js--imenu-to-flat|js--indent-in-array-comp|js--inside-dojo-class-list-p|js--inside-param-list-p|js--inside-pitem-p|js--js-add-resource-alias|js--js-content-window|js--js-create-instance|js--js-decode-retval|js--js-encode-value|js--js-enter-repl|js--js-eval|js--js-funcall|js--js-get-service|js--js-get|js--js-handle-expired-p|js--js-handle-id--cmacro|js--js-handle-id|js--js-handle-p--cmacro|js--js-handle-p|js--js-handle-process--cmacro|js--js-handle-process|js--js-leave-repl|js--js-list|js--js-new|js--js-not|js--js-put|js--js-qi|js--js-true|js--js-wait-for-eval-prompt|js--looking-at-operator-p|js--make-framework-matcher|js--make-merged-item|js--make-nsilocalfile|js--maybe-join|js--maybe-make-marker|js--multi-line-declaration-indentation|js--optimize-arglist|js--parse-state-at-point|js--pitem-add-child|js--pitem-b-end--cmacro|js--pitem-b-end|js--pitem-children--cmacro|js--pitem-children|js--pitem-format|js--pitem-goto-h-end|js--pitem-h-begin--cmacro|js--pitem-h-begin|js--pitem-name--cmacro|js--pitem-name|js--pitem-paren-depth--cmacro|js--pitem-paren-depth|js--pitem-strname|js--pitem-type--cmacro|js--pitem-type|js--pitems-to-imenu|js--proper-indentation|js--pstate-is-toplevel-defun|js--re-search-backward-inner|js--re-search-backward|js--re-search-forward-inner|js--re-search-forward|js--read-symbol|js--read-tab|js--regexp-opt-symbol|js--same-line|js--show-cache-at-point|js--splice-into-items|js--split-name|js--syntactic-context-from-pstate|js--syntax-begin-function|js--up-nearby-list|js--update-quick-match-re|js--variable-decl-matcher|js--wait-for-matching-output|js--which-func-joiner|js-beginning-of-defun|js-c-fill-paragraph|js-end-of-defun|js-eval-defun|js-eval|js-find-symbol|js-gc|js-indent-line|js-mode|js-set-js-context|js-syntactic-context|js-syntax-propertize-regexp|js-syntax-propertize|json--with-indentation|json-add-to-object|json-advance|json-alist-p|json-decode-char0|json-encode-alist|json-encode-array|json-encode-char0??|json-encode-hash-table|json-encode-key|json-encode-keyword|json-encode-list|json-encode-number|json-encode-plist|json-encode-string|json-encode|json-join|json-new-object|json-peek|json-plist-p|json-pop|json-pretty-print-buffer|json-pretty-print|json-read-array|json-read-escaped-char|json-read-file|json-read-from-string|json-read-keyword|json-read-number|json-read-object|json-read-string|json-read|json-skip-whitespace|jump-to-register|kbd-macro-query|keep-lines-read-args|keep-lines|kermit-clean-filter|kermit-clean-off|kermit-clean-on|kermit-default-cr|kermit-default-nl|kermit-esc|kermit-send-char|kermit-send-input-cr|keyboard-escape-quit|keymap--menu-item-binding|keymap--menu-item-with-binding|keymap--merge-bindings|keymap-canonicalize|keypad-setup|kill-all-abbrevs|kill-backward-chars|kill-backward-up-list|kill-buffer-and-window|kill-buffer-ask|kill-buffer-if-not-modified|kill-comment|kill-compilation|kill-completion|kill-emacs-save-completions|kill-find|kill-forward-chars|kill-grep|kill-line|kill-matching-buffers|kill-paragraph|kill-rectangle|kill-ring-save|kill-sentence|kill-sexp|kill-some-buffers|kill-this-buffer-enabled-p|kill-this-buffer|kill-visual-line|kill-whole-line|kill-word|kinsoku-longer|kinsoku-shorter|kinsoku|kkc-region|kmacro-add-counter|kmacro-bind-to-key|kmacro-call-macro|kmacro-call-ring-2nd-repeat|kmacro-call-ring-2nd|kmacro-cycle-ring-next|kmacro-cycle-ring-previous|kmacro-delete-ring-head|kmacro-display-counter|kmacro-display|kmacro-edit-lossage|kmacro-edit-macro-repeat|kmacro-edit-macro|kmacro-end-and-call-macro|kmacro-end-call-mouse|kmacro-end-macro|kmacro-end-or-call-macro-repeat|kmacro-end-or-call-macro|kmacro-exec-ring-item|kmacro-execute-from-register|kmacro-extract-lambda|kmacro-get-repeat-prefix|kmacro-insert-counter|kmacro-keyboard-quit|kmacro-lambda-form|kmacro-loop-setup-function|kmacro-name-last-macro|kmacro-pop-ring1??|kmacro-push-ring|kmacro-repeat-on-last-key|kmacro-ring-empty-p|kmacro-ring-head|kmacro-set-counter|kmacro-set-format|kmacro-split-ring-element|kmacro-start-macro-or-insert-counter|kmacro-start-macro|kmacro-step-edit-insert|kmacro-step-edit-macro|kmacro-step-edit-minibuf-setup|kmacro-step-edit-post-command|kmacro-step-edit-pre-command|kmacro-step-edit-prompt|kmacro-step-edit-query|kmacro-swap-ring|kmacro-to-register|kmacro-view-macro-repeat|kmacro-view-macro|kmacro-view-ring-2nd|lambda|landmark--distance|landmark--intangible|landmark-amble-robot|landmark-beginning-of-line|landmark-blackbox|landmark-calc-confidences|landmark-calc-current-smells|landmark-calc-distance-of-robot-from|landmark-calc-payoff|landmark-calc-smell-internal|landmark-check-filled-qtuple|landmark-click|landmark-confidence-for|landmark-crash-game|landmark-cross-qtuple|landmark-display-statistics|landmark-emacs-plays|landmark-end-of-line|landmark-f|landmark-find-filled-qtuple|landmark-fix-weights-for|landmark-flip-a-coin|landmark-goto-square|landmark-goto-xy|landmark-human-plays|landmark-human-resigns|landmark-human-takes-back|landmark-index-to-x|landmark-index-to-y|landmark-init-board|landmark-init-display|landmark-init-score-table|landmark-init-square-score|landmark-init|landmark-max-height|landmark-max-width|landmark-mode|landmark-mouse-play|landmark-move-down|landmark-move-ne|landmark-move-nw|landmark-move-se|landmark-move-sw|landmark-move-up|landmark-move|landmark-nb-qtuples|landmark-noise|landmark-nslify-wts-int|landmark-nslify-wts|landmark-offer-a-draw|landmark-play-move|landmark-plot-internal|landmark-plot-landmarks|landmark-plot-square|landmark-point-square|landmark-point-y|landmark-print-distance-int|landmark-print-distance|landmark-print-moves|landmark-print-smell-int|landmark-print-smell|landmark-print-w0-int|landmark-print-w0|landmark-print-wts-blackbox|landmark-print-wts-int|landmark-print-wts|landmark-print-y-s-noise-int|landmark-print-y-s-noise|landmark-prompt-for-move|landmark-prompt-for-other-game|landmark-random-move|landmark-randomize-weights-for|landmark-repeat|landmark-set-landmark-signal-strengths|landmark-start-game|landmark-start-robot|landmark-store-old-y_t|landmark-strongest-square|landmark-switch-to-window|landmark-take-back|landmark-terminate-game|landmark-test-run|landmark-update-naught-weights|landmark-update-normal-weights|landmark-update-score-in-direction|landmark-update-score-table|landmark-weights-debug|landmark-xy-to-index|landmark-y|landmark|lao-compose-region|lao-compose-string|lao-composition-function|lao-transcribe-roman-to-lao-string|lao-transcribe-single-roman-syllable-to-lao|last-nonminibuffer-frame|last-sexp-setup-props|latex-backward-sexp-1|latex-close-block|latex-complete-bibtex-keys|latex-complete-data|latex-complete-envnames|latex-complete-refkeys|latex-down-list|latex-electric-env-pair-mode|latex-env-before-change|latex-fill-nobreak-predicate|latex-find-indent|latex-forward-sexp-1|latex-forward-sexp|latex-imenu-create-index|latex-indent|latex-insert-block|latex-insert-item|latex-mode|latex-outline-level|latex-skip-close-parens|latex-split-block|latex-string-prefix-p|latex-syntax-after|latexenc-coding-system-to-inputenc|latexenc-find-file-coding-system|latexenc-inputenc-to-coding-system|latin1-display|lazy-highlight-cleanup|lcm|ld-script-mode|ldap-decode-address|ldap-decode-attribute|ldap-decode-boolean|ldap-decode-string|ldap-encode-address|ldap-encode-boolean|ldap-encode-country-string|ldap-encode-string|ldap-get-host-parameter|ldap-search-internal|ldap-search|ldiff|led-flash|led-off|led-on|led-update|left-char|left-word|let-alist--access-sexp|let-alist--deep-dot-search|let-alist--list-to-sexp|let-alist--remove-dot|let-alist|letf\\\\*?|letrec|lglyph-adjustment|lglyph-ascent|lglyph-char|lglyph-code|lglyph-copy|lglyph-descent|lglyph-from|lglyph-lbearing|lglyph-rbearing|lglyph-set-adjustment|lglyph-set-char|lglyph-set-code|lglyph-set-from-to|lglyph-set-width|lglyph-to|lglyph-width|lgrep|lgstring-char-len|lgstring-char|lgstring-font|lgstring-glyph-len|lgstring-glyph|lgstring-header|lgstring-insert-glyph|lgstring-set-glyph|lgstring-set-header|lgstring-set-id|lgstring-shaped-p|life-birth-char|life-birth-string|life-compute-neighbor-deltas|life-death-char|life-death-string|life-display-generation|life-expand-plane-if-needed|life-extinct-quit|life-grim-reaper|life-increment-generation|life-increment|life-insert-random-pattern|life-life-char|life-life-string|life-mode|life-not-void-regexp|life-setup|life-void-char|life-void-string|life|limit-index|line-move-1|line-move-finish|line-move-partial|line-move-to-column|line-move-visual|line-move|line-number-mode|line-pixel-height|line-substring-with-bidi-context|linum--face-width|linum-after-change|linum-after-scroll|linum-delete-overlays|linum-mode-set-explicitly|linum-mode|linum-on|linum-schedule|linum-unload-function|linum-update-current|linum-update-window|linum-update|lisp--match-hidden-arg|lisp-comment-indent|lisp-compile-defun-and-go|lisp-compile-defun|lisp-compile-file|lisp-compile-region-and-go|lisp-compile-region|lisp-compile-string|lisp-complete-symbol|lisp-completion-at-point|lisp-current-defun-name|lisp-describe-sym|lisp-do-defun|lisp-eval-defun-and-go|lisp-eval-defun|lisp-eval-form-and-next|lisp-eval-last-sexp|lisp-eval-paragraph|lisp-eval-region-and-go|lisp-eval-region|lisp-eval-string|lisp-fill-paragraph|lisp-find-tag-default|lisp-fn-called-at-pt|lisp-font-lock-syntactic-face-function|lisp-get-old-input|lisp-indent-defform|lisp-indent-function|lisp-indent-line|lisp-indent-specform|lisp-input-filter|lisp-interaction-mode|lisp-load-file|lisp-mode-auto-fill|lisp-mode-variables|lisp-mode|lisp-outline-level|lisp-show-arglist|lisp-show-function-documentation|lisp-show-variable-documentation|lisp-string-after-doc-keyword-p|lisp-string-in-doc-position-p)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:lisp-symprompt|lisp-var-at-pt|list\\\\*|list-abbrevs|list-all-completions-1|list-all-completions-by-hash-bucket-1|list-all-completions-by-hash-bucket|list-all-completions|list-at-point|list-bookmarks|list-buffers--refresh|list-buffers-noselect|list-buffers|list-character-sets|list-coding-categories|list-coding-systems|list-colors-display|list-colors-duplicates|list-colors-print|list-colors-redisplay|list-colors-sort-key|list-command-history|list-directory|list-dynamic-libraries|list-faces-display|list-fontsets|list-holidays|list-input-methods|list-length|list-matching-lines|list-packages|list-processes--refresh|list-registers|list-tags|lm-adapted-by|lm-authors|lm-code-mark|lm-code-start|lm-commentary-end|lm-commentary-mark|lm-commentary-start|lm-commentary|lm-copyright-mark|lm-crack-address|lm-crack-copyright|lm-creation-date|lm-get-header-re|lm-get-package-name|lm-header-multiline|lm-header|lm-history-mark|lm-history-start|lm-homepage|lm-insert-at-column|lm-keywords-finder-p|lm-keywords-list|lm-keywords|lm-last-modified-date|lm-maintainer|lm-report-bug|lm-section-end|lm-section-mark|lm-section-start|lm-summary|lm-synopsis|lm-verify|lm-version|lm-with-file|load-completions-from-file|load-history-filename-element|load-history-regexp|load-path-shadows-find|load-path-shadows-mode|load-path-shadows-same-file-or-nonexistent|load-save-place-alist-from-file|load-time-value|load-with-code-conversion|local-clear-scheme-interaction-buffer|local-set-scheme-interaction-buffer|locale-charset-match-p|locale-charset-to-coding-system|locale-name-match|locale-translate|locally|locate-completion-db-error|locate-completion-entry-retry|locate-completion-entry|locate-current-line-number|locate-default-make-command-line|locate-do-redisplay|locate-do-setup|locate-dominating-file|locate-file-completion-table|locate-file-completion|locate-file-internal|locate-filter-output|locate-find-directory-other-window|locate-find-directory|locate-get-dirname|locate-get-file-positions|locate-get-filename|locate-in-alternate-database|locate-insert-header|locate-main-listing-line-p|locate-mode|locate-mouse-view-file|locate-prompt-for-search-string|locate-set-properties|locate-tags|locate-update|locate-with-filter|locate-word-at-point|locate|log-edit--match-first-line|log-edit-add-field|log-edit-add-to-changelog|log-edit-beginning-of-line|log-edit-changelog-entries|log-edit-changelog-entry|log-edit-changelog-insert-entries|log-edit-changelog-ours-p|log-edit-changelog-paragraph|log-edit-changelog-subparagraph|log-edit-comment-search-backward|log-edit-comment-search-forward|log-edit-comment-to-change-log|log-edit-done|log-edit-empty-buffer-p|log-edit-extract-headers|log-edit-files|log-edit-font-lock-keywords|log-edit-goto-eoh|log-edit-hide-buf|log-edit-insert-changelog-entries|log-edit-insert-changelog|log-edit-insert-cvs-rcstemplate|log-edit-insert-cvs-template|log-edit-insert-filenames-without-changelog|log-edit-insert-filenames|log-edit-insert-message-template|log-edit-kill-buffer|log-edit-match-to-eoh|log-edit-menu|log-edit-mode-help|log-edit-mode|log-edit-narrow-changelog|log-edit-new-comment-index|log-edit-next-comment|log-edit-previous-comment|log-edit-remember-comment|log-edit-set-common-indentation|log-edit-set-header|log-edit-show-diff|log-edit-show-files|log-edit-toggle-header|log-edit|log-view-annotate-version|log-view-beginning-of-defun|log-view-current-entry|log-view-current-file|log-view-current-tag|log-view-diff-changeset|log-view-diff-common|log-view-diff|log-view-end-of-defun-1|log-view-end-of-defun|log-view-extract-comment|log-view-file-next|log-view-file-prev|log-view-find-revision|log-view-get-marked|log-view-goto-rev|log-view-inside-comment-p|log-view-minor-wrap|log-view-mode-menu|log-view-mode|log-view-modify-change-comment|log-view-msg-next|log-view-msg-prev|log-view-toggle-entry-display|log-view-toggle-mark-entry|log10|lookfor-dired|lookup-image-map|lookup-key-ignore-too-long|lookup-minor-mode-from-indicator|lookup-nested-alist|lookup-words|loop|lpr-buffer|lpr-customize|lpr-eval-switch|lpr-flatten-list-1|lpr-flatten-list|lpr-print-region|lpr-region|lpr-setup|lunar-phases|m2-begin-comment|m2-begin|m2-case|m2-compile|m2-definition|m2-else|m2-end-comment|m2-execute-monitor-command|m2-export|m2-for|m2-header|m2-if|m2-import|m2-link|m2-loop|m2-mode|m2-module|m2-or|m2-procedure|m2-record|m2-smie-backward-token|m2-smie-forward-token|m2-smie-refine-colon|m2-smie-refine-of|m2-smie-refine-semi|m2-smie-rules|m2-stdio|m2-toggle|m2-type|m2-until|m2-var|m2-visit|m2-while|m2-with|m4--quoted-p|m4-current-defun-name|m4-m4-buffer|m4-m4-region|m4-mode|macro-declaration-function|macroexp--accumulate|macroexp--all-clauses|macroexp--all-forms|macroexp--backtrace|macroexp--compiler-macro|macroexp--compiling-p|macroexp--cons|macroexp--const-symbol-p|macroexp--expand-all|macroexp--funcall-if-compiled|macroexp--maxsize|macroexp--obsolete-warning|macroexp--trim-backtrace-frame|macroexp--warn-and-return|macroexp-const-p|macroexp-copyable-p|macroexp-if|macroexp-let\\\\*|macroexp-let2\\\\*?|macroexp-progn|macroexp-quote|macroexp-small-p|macroexp-unprogn|macroexpand-1|macrolet|mail-abbrev-complete-alias|mail-abbrev-end-of-buffer|mail-abbrev-expand-hook|mail-abbrev-expand-wrapper|mail-abbrev-in-expansion-header-p|mail-abbrev-insert-alias|mail-abbrev-make-syntax-table|mail-abbrev-next-line|mail-abbrevs-disable|mail-abbrevs-enable|mail-abbrevs-mode|mail-abbrevs-setup|mail-abbrevs-sync-aliases|mail-add-attachment|mail-add-payment-async|mail-add-payment|mail-attach-file|mail-bcc|mail-bury|mail-cc|mail-check-payment|mail-comma-list-regexp|mail-complete|mail-completion-at-point-function|mail-completion-expand|mail-content-type-get|mail-decode-encoded-address-region|mail-decode-encoded-address-string|mail-decode-encoded-word-region|mail-decode-encoded-word-string|mail-directory-process|mail-directory-stream|mail-directory|mail-do-fcc|mail-dont-reply-to|mail-dont-send|mail-encode-encoded-word-buffer|mail-encode-encoded-word-region|mail-encode-encoded-word-string|mail-encode-header|mail-envelope-from|mail-extract-address-components|mail-fcc|mail-fetch-field|mail-file-babyl-p|mail-fill-yanked-message|mail-get-names|mail-header-chars|mail-header-date|mail-header-encode-parameter|mail-header-end|mail-header-extra|mail-header-extract-no-properties|mail-header-extract|mail-header-field-value|mail-header-fold-field|mail-header-format|mail-header-from|mail-header-get-comment|mail-header-id|mail-header-lines|mail-header-make-address|mail-header-merge|mail-header-message-id|mail-header-narrow-to-field|mail-header-number|mail-header-parse-address|mail-header-parse-addresses|mail-header-parse-content-disposition|mail-header-parse-content-type|mail-header-parse-date|mail-header-parse|mail-header-references|mail-header-remove-comments|mail-header-remove-whitespace|mail-header-set-chars|mail-header-set-date|mail-header-set-extra|mail-header-set-from|mail-header-set-id|mail-header-set-lines|mail-header-set-message-id|mail-header-set-number|mail-header-set-references|mail-header-set-subject|mail-header-set-xref|mail-header-set|mail-header-strip|mail-header-subject|mail-header-unfold-field|mail-header-xref|mail-header|mail-hist-define-keys|mail-hist-enable|mail-hist-put-headers-into-history|mail-indent-citation|mail-insert-file|mail-insert-from-field|mail-mail-followup-to|mail-mail-reply-to|mail-mbox-from|mail-mode-auto-fill|mail-mode-fill-paragraph|mail-mode-flyspell-verify|mail-mode|mail-narrow-to-head|mail-other-frame|mail-other-window|mail-parse-comma-list|mail-position-on-field|mail-quote-printable-region|mail-quote-printable|mail-quote-string|mail-recover-1|mail-recover|mail-reply-to|mail-resolve-all-aliases-1|mail-resolve-all-aliases|mail-rfc822-date|mail-rfc822-time-zone|mail-send-and-exit|mail-send|mail-sendmail-delimit-header|mail-sendmail-undelimit-header|mail-sent-via|mail-sentto-newsgroups|mail-setup|mail-signature|mail-split-line|mail-string-delete|mail-strip-quoted-names|mail-subject|mail-text-start|mail-text|mail-to|mail-unquote-printable-hexdigit|mail-unquote-printable-region|mail-unquote-printable|mail-yank-clear-headers|mail-yank-original|mail-yank-region|mail|mailcap-add-mailcap-entry|mailcap-add|mailcap-command-p|mailcap-delete-duplicates|mailcap-extension-to-mime|mailcap-file-default-commands|mailcap-mailcap-entry-passes-test|mailcap-maybe-eval|mailcap-mime-info|mailcap-mime-types|mailcap-parse-mailcap-extras|mailcap-parse-mailcaps??|mailcap-parse-mimetype-file|mailcap-parse-mimetypes|mailcap-possible-viewers|mailcap-replace-in-string|mailcap-replace-regexp|mailcap-save-binary-file|mailcap-unescape-mime-test|mailcap-view-mime|mailcap-viewer-lessp|mailcap-viewer-passes-test|mailclient-encode-string-as-url|mailclient-gather-addresses|mailclient-send-it|mailclient-url-delim|mairix-build-search-list|mairix-call-mairix|mairix-edit-saved-searches-customize|mairix-edit-saved-searches|mairix-gnus-ephemeral-nndoc|mairix-gnus-fetch-field|mairix-insert-search-line|mairix-next-search|mairix-previous-search|mairix-replace-invalid-chars|mairix-rmail-display|mairix-rmail-fetch-field|mairix-save-search|mairix-search-from-this-article|mairix-search-thread-this-article|mairix-search|mairix-searches-mode|mairix-select-delete|mairix-select-edit|mairix-select-quit|mairix-select-save|mairix-select-search|mairix-sentinel-mairix-update-finished|mairix-show-folder|mairix-update-database|mairix-use-saved-search|mairix-vm-display|mairix-vm-fetch-field|mairix-widget-add|mairix-widget-build-editable-fields|mairix-widget-create-query|mairix-widget-get-values|mairix-widget-make-query-from-widgets|mairix-widget-save-search|mairix-widget-search-based-on-article|mairix-widget-search|mairix-widget-send-query|mairix-widget-toggle-activate|make-backup-file-name--default-function|make-backup-file-name-1|make-char-internal|make-char|make-cmpl-prefix-entry|make-coding-system|make-comint-in-buffer|make-comint|make-command-summary|make-completion|make-directory-internal|make-doctor-variables|make-ebrowse-bs--cmacro|make-ebrowse-bs|make-ebrowse-cs--cmacro|make-ebrowse-cs|make-ebrowse-hs--cmacro|make-ebrowse-hs|make-ebrowse-ms--cmacro|make-ebrowse-ms|make-ebrowse-position--cmacro|make-ebrowse-position|make-ebrowse-ts--cmacro|make-ebrowse-ts|make-empty-face|make-erc-channel-user--cmacro|make-erc-channel-user|make-erc-response--cmacro|make-erc-response|make-erc-server-user--cmacro|make-erc-server-user|make-ert--ewoc-entry--cmacro|make-ert--ewoc-entry|make-ert--stats--cmacro|make-ert--stats|make-ert--test-execution-info--cmacro|make-ert--test-execution-info|make-ert-test--cmacro|make-ert-test-aborted-with-non-local-exit--cmacro|make-ert-test-aborted-with-non-local-exit|make-ert-test-failed--cmacro|make-ert-test-failed|make-ert-test-passed--cmacro|make-ert-test-passed|make-ert-test-quit--cmacro|make-ert-test-quit|make-ert-test-result--cmacro|make-ert-test-result-with-condition--cmacro|make-ert-test-result-with-condition|make-ert-test-result|make-ert-test-skipped--cmacro|make-ert-test-skipped|make-ert-test|make-face-bold-italic|make-face-bold|make-face-italic|make-face-unbold|make-face-unitalic|make-face-x-resource-internal|make-face|make-flyspell-overlay|make-frame-command|make-frame-names-alist|make-full-mail-header|make-gdb-handler--cmacro|make-gdb-handler|make-gdb-table--cmacro|make-gdb-table|make-hippie-expand-function|make-htmlize-fstruct--cmacro|make-htmlize-fstruct|make-initial-minibuffer-frame|make-instance|make-js--js-handle--cmacro|make-js--js-handle|make-js--pitem--cmacro|make-js--pitem|make-mail-header|make-mode-line-mouse-map|make-obsolete-overload|make-package--ac-desc--cmacro|make-package--ac-desc|make-package--bi-desc--cmacro|make-package--bi-desc|make-random-state|make-ses--locprn--cmacro|make-ses--locprn|make-sgml-tag--cmacro|make-sgml-tag|make-soap-array-type--cmacro|make-soap-array-type|make-soap-basic-type--cmacro|make-soap-basic-type|make-soap-binding--cmacro|make-soap-binding|make-soap-bound-operation--cmacro|make-soap-bound-operation|make-soap-element--cmacro|make-soap-element|make-soap-message--cmacro|make-soap-message|make-soap-namespace--cmacro|make-soap-namespace-link--cmacro|make-soap-namespace-link|make-soap-namespace|make-soap-operation--cmacro|make-soap-operation|make-soap-port--cmacro|make-soap-port-type--cmacro|make-soap-port-type)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)m(?:ake-soap-port|ake-soap-sequence-element--cmacro|ake-soap-sequence-element|ake-soap-sequence-type--cmacro|ake-soap-sequence-type|ake-soap-simple-type--cmacro|ake-soap-simple-type|ake-soap-wsdl--cmacro|ake-soap-wsdl|ake-tar-header--cmacro|ake-tar-header|ake-term|ake-terminal-frame|ake-url-queue--cmacro|ake-url-queue|ake-variable-frame-local|akefile-add-log-defun|akefile-append-backslash|akefile-automake-mode|akefile-backslash-region|akefile-browse|akefile-browser-fill|akefile-browser-format-macro-line|akefile-browser-format-target-line|akefile-browser-get-state-for-line|akefile-browser-insert-continuation|akefile-browser-insert-selection-and-quit|akefile-browser-insert-selection|akefile-browser-next-line|akefile-browser-on-macro-line-p|akefile-browser-previous-line|akefile-browser-quit|akefile-browser-send-this-line-item|akefile-browser-set-state-for-line|akefile-browser-start-interaction|akefile-browser-this-line-macro-name|akefile-browser-this-line-target-name|akefile-browser-toggle-state-for-line|akefile-browser-toggle|akefile-bsdmake-mode|akefile-cleanup-continuations|akefile-complete|akefile-completions-at-point|akefile-create-up-to-date-overview|akefile-delete-backslash|akefile-do-macro-insertion|akefile-electric-colon|akefile-electric-dot|akefile-electric-equal|akefile-fill-paragraph|akefile-first-line-p|akefile-format-macro-ref|akefile-forward-after-target-colon|akefile-generate-temporary-filename|akefile-gmake-mode|akefile-imake-mode|akefile-insert-gmake-function|akefile-insert-macro-ref|akefile-insert-macro|akefile-insert-special-target|akefile-insert-target-ref|akefile-insert-target|akefile-last-line-p|akefile-make-font-lock-keywords|akefile-makepp-mode|akefile-match-action|akefile-match-dependency|akefile-match-function-end|akefile-mode|akefile-next-dependency|akefile-pickup-everything|akefile-pickup-filenames-as-targets|akefile-pickup-macros|akefile-pickup-targets|akefile-previous-dependency|akefile-prompt-for-gmake-funargs|akefile-query-by-make-minus-q|akefile-query-targets|akefile-remember-macro|akefile-remember-target|akefile-save-temporary|akefile-switch-to-browser|akefile-warn-continuations|akefile-warn-suspicious-lines|akeinfo-buffer|akeinfo-compilation-sentinel-buffer|akeinfo-compilation-sentinel-region|akeinfo-compile|akeinfo-current-node|akeinfo-next-error|akeinfo-recenter-compilation-buffer|akeinfo-region|an-follow|an|antemp-insert-cxx-syntax|antemp-make-mantemps-buffer|antemp-make-mantemps-region|antemp-make-mantemps|antemp-remove-comments|antemp-remove-memfuncs|antemp-sort-and-unique-lines|anual-entry|ap-keymap-internal|ap-keymap-sorted|ap-query-replace-regexp|ap|apcan|apcar\\\\*|apcon|apl|aplist|ark-bib|ark-defun|ark-end-of-sentence|ark-icon-function|ark-page|ark-paragraph|ark-perl-function|ark-sexp|ark-whole-buffer|ark-word|aster-mode|aster-says-beginning-of-buffer|aster-says-end-of-buffer|aster-says-recenter|aster-says-scroll-down|aster-says-scroll-up|aster-says|aster-set-slave|aster-show-slave|atching-paren|ath-add-bignum|ath-add-float|ath-add|ath-bignum-big|ath-bignum|ath-build-parse-table|ath-check-complete|ath-comp-concat|ath-concat|ath-constp|ath-div-bignum-big|ath-div-bignum-digit|ath-div-bignum-part|ath-div-bignum-try|ath-div-bignum|ath-div-float|ath-div|ath-div10-bignum|ath-div2-bignum|ath-div2|ath-do-working|ath-evenp|ath-expr-ops|ath-find-user-tokens|ath-fixnatnump|ath-fixnump|ath-floatp??|ath-floor|ath-format-bignum-decimal|ath-format-bignum|ath-format-flat-expr|ath-format-number|ath-format-stack-value|ath-format-value|ath-idivmod|ath-imod|ath-infinitep|ath-ipow|ath-looks-negp|ath-make-float|ath-match-substring|ath-mod|ath-mul-bignum-digit|ath-mul-bignum|ath-mul|ath-negp??|ath-normalize|ath-numdigs|ath-posp|ath-pow|ath-quotient|ath-read-bignum|ath-read-expr-list|ath-read-exprs|ath-read-if|ath-read-number-simple|ath-read-number|ath-read-preprocess-string|ath-read-radix-digit|ath-read-token|ath-reject-arg|ath-remove-dashes|ath-scale-int|ath-scale-left-bignum|ath-scale-left|ath-scale-right-bignum|ath-scale-right|ath-scale-rounding|ath-showing-full-precision|ath-stack-value-offset|ath-standard-ops-p|ath-standard-ops|ath-sub-bignum|ath-sub-float|ath-sub|ath-trunc|ath-with-extra-prec|ath-working|ath-zerop|d4-64|d4-F|d4-G|d4-H|d4-add|d4-and|d4-copy64|d4-make-step|d4-pack-int16|d4-pack-int32|d4-round1|d4-round2|d4-round3|d4-unpack-int16|d4-unpack-int32|d4|d5-binary|ember\\\\*|ember-if-not|ember-if|emory-info|enu-bar-bookmark-map|enu-bar-buffer-vector|enu-bar-ediff-menu|enu-bar-ediff-merge-menu|enu-bar-ediff-misc-menu|enu-bar-enable-clipboard|enu-bar-epatch-menu|enu-bar-frame-for-menubar|enu-bar-handwrite-map|enu-bar-horizontal-scroll-bar|enu-bar-kill-ring-save|enu-bar-left-scroll-bar|enu-bar-make-mm-toggle|enu-bar-make-toggle|enu-bar-menu-at-x-y|enu-bar-menu-frame-live-and-visible-p|enu-bar-mode|enu-bar-next-tag-other-window|enu-bar-next-tag|enu-bar-no-horizontal-scroll-bar|enu-bar-no-scroll-bar|enu-bar-non-minibuffer-window-p|enu-bar-open|enu-bar-options-save|enu-bar-positive-p|enu-bar-read-lispintro|enu-bar-read-lispref|enu-bar-read-mail|enu-bar-right-scroll-bar|enu-bar-select-buffer|enu-bar-select-frame|enu-bar-select-yank|enu-bar-set-tool-bar-position|enu-bar-showhide-fringe-ind-box|enu-bar-showhide-fringe-ind-customize|enu-bar-showhide-fringe-ind-left|enu-bar-showhide-fringe-ind-mixed|enu-bar-showhide-fringe-ind-none|enu-bar-showhide-fringe-ind-right|enu-bar-showhide-fringe-menu-customize-disable|enu-bar-showhide-fringe-menu-customize-left|enu-bar-showhide-fringe-menu-customize-reset|enu-bar-showhide-fringe-menu-customize-right|enu-bar-showhide-fringe-menu-customize|enu-bar-showhide-tool-bar-menu-customize-disable|enu-bar-showhide-tool-bar-menu-customize-enable-bottom|enu-bar-showhide-tool-bar-menu-customize-enable-left|enu-bar-showhide-tool-bar-menu-customize-enable-right|enu-bar-showhide-tool-bar-menu-customize-enable-top|enu-bar-update-buffers-1|enu-bar-update-buffers|enu-bar-update-yank-menu|enu-find-file-existing|enu-or-popup-active-p|enu-set-font|ercury-mode|erge-coding-systems|erge-mail-abbrevs|erge|essage--yank-original-internal|essage-add-action|essage-add-archive-header|essage-add-header|essage-alter-recipients-discard-bogus-full-name|essage-beginning-of-line|essage-bogus-recipient-p|essage-bold-region|essage-bounce|essage-buffer-name|essage-buffers|essage-bury|essage-caesar-buffer-body|essage-caesar-region|essage-cancel-news|essage-canlock-generate|essage-canlock-password|essage-carefully-insert-headers|essage-change-subject|essage-check-element|essage-check-news-body-syntax|essage-check-news-header-syntax|essage-check-news-syntax|essage-check-recipients|essage-check|essage-checksum|essage-cite-original-1|essage-cite-original-without-signature|essage-cite-original|essage-cleanup-headers|essage-clone-locals|essage-completion-function|essage-completion-in-region|essage-cross-post-followup-to-header|essage-cross-post-followup-to|essage-cross-post-insert-note|essage-default-send-mail-function|essage-default-send-rename-function|essage-delete-action|essage-delete-line|essage-delete-not-region|essage-delete-overlay|essage-disassociate-draft|essage-display-abbrev|essage-do-actions|essage-do-auto-fill|essage-do-fcc|essage-do-send-housekeeping|essage-dont-reply-to-names|essage-dont-send|essage-elide-region|essage-encode-message-body|essage-exchange-point-and-mark|essage-expand-group|essage-expand-name|essage-fetch-field|essage-fetch-reply-field|essage-field-name|essage-field-value|essage-fill-field-address|essage-fill-field-general|essage-fill-field|essage-fill-paragraph|essage-fill-yanked-message|essage-fix-before-sending|essage-flatten-list|essage-followup|essage-font-lock-make-header-matcher|essage-forward-make-body-digest-mime|essage-forward-make-body-digest-plain|essage-forward-make-body-digest|essage-forward-make-body-mime|essage-forward-make-body-mml|essage-forward-make-body-plain|essage-forward-make-body|essage-forward-rmail-make-body|essage-forward-subject-author-subject|essage-forward-subject-fwd|essage-forward-subject-name-subject|essage-forward|essage-generate-headers|essage-generate-new-buffer-clone-locals|essage-generate-unsubscribed-mail-followup-to|essage-get-reply-headers|essage-gnksa-enable-p|essage-goto-bcc|essage-goto-body|essage-goto-cc|essage-goto-distribution|essage-goto-eoh|essage-goto-fcc|essage-goto-followup-to|essage-goto-from|essage-goto-keywords|essage-goto-mail-followup-to|essage-goto-newsgroups|essage-goto-reply-to|essage-goto-signature|essage-goto-subject|essage-goto-summary|essage-goto-to|essage-headers-to-generate|essage-hide-header-p|essage-hide-headers|essage-idna-to-ascii-rhs-1|essage-idna-to-ascii-rhs|essage-in-body-p|essage-indent-citation|essage-info|essage-insert-canlock|essage-insert-citation-line|essage-insert-courtesy-copy|essage-insert-disposition-notification-to|essage-insert-expires|essage-insert-formatted-citation-line|essage-insert-headers??|essage-insert-importance-high|essage-insert-importance-low|essage-insert-newsgroups|essage-insert-or-toggle-importance|essage-insert-signature|essage-insert-to|essage-insert-wide-reply|essage-insinuate-rmail|essage-is-yours-p|essage-kill-address|essage-kill-all-overlays|essage-kill-buffer|essage-kill-to-signature|essage-mail-alias-type-p|essage-mail-file-mbox-p|essage-mail-other-frame|essage-mail-other-window|essage-mail-p|essage-mail-user-agent|essage-mail|essage-make-address|essage-make-caesar-translation-table|essage-make-date|essage-make-distribution|essage-make-domain|essage-make-expires-date|essage-make-expires|essage-make-forward-subject|essage-make-fqdn|essage-make-from|essage-make-html-message-with-image-files|essage-make-in-reply-to|essage-make-lines|essage-make-mail-followup-to|essage-make-message-id|essage-make-organization|essage-make-overlay|essage-make-path|essage-make-references|essage-make-sender|essage-make-tool-bar|essage-mark-active-p|essage-mark-insert-file|essage-mark-inserted-region|essage-mode-field-menu|essage-mode-menu|essage-mode|essage-multi-smtp-send-mail|essage-narrow-to-field|essage-narrow-to-head-1|essage-narrow-to-head|essage-narrow-to-headers-or-head|essage-narrow-to-headers|essage-newline-and-reformat|essage-news-other-frame|essage-news-other-window|essage-news-p|essage-news|essage-next-header|essage-number-base36|essage-options-get|essage-options-set-recipient|essage-options-set|essage-output|essage-overlay-put|essage-pipe-buffer-body|essage-point-in-header-p|essage-pop-to-buffer|essage-position-on-field|essage-position-point|essage-posting-charset|essage-prune-recipients|essage-put-addresses-in-ecomplete|essage-read-from-minibuffer|essage-recover|essage-reduce-to-to-cc|essage-remove-blank-cited-lines|essage-remove-first-header|essage-remove-header|essage-remove-ignored-headers|essage-rename-buffer|essage-replace-header|essage-reply|essage-resend|essage-send-and-exit|essage-send-form-letter|essage-send-mail-function|essage-send-mail-partially|essage-send-mail-with-mailclient|essage-send-mail-with-mh|essage-send-mail-with-qmail|essage-send-mail-with-sendmail|essage-send-mail|essage-send-news|essage-send-via-mail|essage-send-via-news|essage-send|essage-sendmail-envelope-from|essage-set-auto-save-file-name|essage-setup-1|essage-setup-fill-variables|essage-setup-toolbar|essage-setup|essage-shorten-1|essage-shorten-references|essage-signed-or-encrypted-p|essage-simplify-recipients|essage-simplify-subject|essage-skip-to-next-address|essage-smtpmail-send-it|essage-sort-headers-1|essage-sort-headers|essage-split-line|essage-strip-forbidden-properties|essage-strip-list-identifiers|essage-strip-subject-encoded-words|essage-strip-subject-re|essage-strip-subject-trailing-was|essage-subscribed-p|essage-supersede|essage-tab|essage-talkative-question|essage-tamago-not-in-use-p|essage-text-with-property|essage-to-list-only|essage-tokenize-header|essage-tool-bar-update|essage-unbold-region|essage-unique-id|essage-unquote-tokens|essage-use-alternative-email-as-from|essage-user-mail-address|essage-wash-subject|essage-wide-reply|essage-widen-reply|essage-with-reply-buffer|essage-y-or-n-p)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)m(?:essage-yank-buffer|essage-yank-original|essages-buffer-mode|eta-add-symbols|eta-beginning-of-defun|eta-car-string-lessp|eta-comment-defun|eta-comment-indent|eta-comment-region|eta-common-mode|eta-complete-symbol|eta-completions-at-point|eta-end-of-defun|eta-indent-buffer|eta-indent-calculate|eta-indent-current-indentation|eta-indent-current-nesting|eta-indent-defun|eta-indent-in-string-p|eta-indent-level-count|eta-indent-line|eta-indent-looking-at-code|eta-indent-previous-line|eta-indent-region|eta-indent-unfinished-line|eta-listify|eta-mark-active|eta-mark-defun|eta-mode-menu|eta-symbol-list|eta-uncomment-defun|eta-uncomment-region|etafont-mode|etamail-buffer|etamail-interpret-body|etamail-interpret-header|etamail-region|etapost-mode|h-adaptive-cmd-note-flag-check|h-add-missing-mime-version-header|h-add-msgs-to-seq|h-alias-address-to-alias|h-alias-expand|h-alias-for-from-p|h-alias-grab-from-field|h-alias-letter-expand-alias|h-alias-minibuffer-confirm-address|h-alias-reload-maybe|h-assoc-string|h-beginning-of-word|h-bogofilter-blacklist|h-bogofilter-whitelist|h-buffer-data|h-burst-digest|h-cancel-timer|h-catchup|h-cl-flet|h-clean-msg-header|h-clear-sub-folders-cache|h-coalesce-msg-list|h-colors-available-p|h-colors-in-use-p|h-complete-word|h-compose-forward|h-compose-insertion|h-copy-msg|h-create-sequence-map|h-customize|h-decode-message-header|h-decode-message-subject|h-define-obsolete-variable-alias|h-define-sequence|h-defstruct|h-delete-a-msg|h-delete-line|h-delete-msg-from-seq|h-delete-msg-no-motion|h-delete-msg|h-delete-seq|h-delete-subject-or-thread|h-delete-subject|h-destroy-postponed-handles|h-display-color-cells|h-display-completion-list|h-display-emphasis|h-display-msg|h-display-smileys|h-display-with-external-viewer|h-do-at-event-location|h-do-in-gnu-emacs|h-do-in-xemacs|h-edit-again|h-ephem-message|h-exchange-point-and-mark-preserving-active-mark|h-exec-cmd-daemon|h-exec-cmd-env-daemon|h-exec-cmd-error|h-exec-cmd-output|h-exec-cmd-quiet|h-exec-cmd|h-exec-lib-cmd-output|h-execute-commands|h-expand-file-name|h-extract-from-header-value|h-extract-rejected-mail|h-face-background|h-face-data|h-face-foreground|h-file-command-p|h-file-mime-type|h-find-path|h-find-seq|h-first-msg|h-folder-completion-function|h-folder-from-address|h-folder-inline-mime-part|h-folder-list|h-folder-mode|h-folder-name-p|h-folder-save-mime-part|h-folder-speedbar-buttons|h-folder-toggle-mime-part|h-font-lock-add-keywords|h-forward|h-fully-kill-draft|h-funcall-if-exists|h-get-header-field|h-get-msg-num|h-gnus-article-highlight-citation|h-goto-cur-msg|h-goto-header-end|h-goto-header-field|h-goto-msg|h-goto-next-button|h-handle-process-error|h-have-file-command|h-header-display|h-header-field-beginning|h-header-field-end|h-help|h-identity-add-menu|h-identity-handler-attribution-verb|h-identity-handler-bottom|h-identity-handler-gpg-identity|h-identity-handler-signature|h-identity-handler-top|h-identity-insert-attribution-verb|h-identity-make-menu-no-autoload|h-identity-make-menu|h-image-load-path-for-library|h-image-search-load-path|h-in-header-p|h-in-show-buffer|h-inc-folder|h-inc-spool-make-no-autoload|h-inc-spool-make|h-index-add-to-sequence|h-index-create-imenu-index|h-index-create-sequences|h-index-delete-folder-headers|h-index-delete-from-sequence|h-index-execute-commands|h-index-group-by-folder|h-index-insert-folder-headers|h-index-new-messages|h-index-next-folder|h-index-previous-folder|h-index-read-data|h-index-sequenced-messages|h-index-ticked-messages|h-index-update-maps|h-index-visit-folder|h-insert-auto-fields|h-insert-identity|h-insert-signature|h-interactive-range|h-invalidate-show-buffer|h-invisible-headers|h-iterate-on-messages-in-region|h-iterate-on-range|h-junk-blacklist-disposition|h-junk-blacklist|h-junk-choose|h-junk-process-blacklist|h-junk-process-whitelist|h-junk-whitelist|h-kill-folder|h-last-msg|h-lessp|h-letter-hide-all-skipped-fields|h-letter-mode|h-letter-next-header-field|h-letter-skip-leading-whitespace-in-header-field|h-letter-skipped-header-field-p|h-letter-speedbar-buttons|h-letter-toggle-header-field-display-button|h-letter-toggle-header-field-display|h-line-beginning-position|h-line-end-position|h-list-folders|h-list-sequences|h-list-to-string-1|h-list-to-string|h-logo-display|h-macro-expansion-time-gnus-version|h-mail-abbrev-make-syntax-table|h-mail-header-end|h-make-folder-mode-line|h-make-local-hook|h-make-local-vars|h-make-obsolete-variable|h-mapc|h-mark-active-p|h-match-string-no-properties|h-maybe-show|h-mh-compose-anon-ftp|h-mh-compose-external-compressed-tar|h-mh-compose-external-type|h-mh-directive-present-p|h-mh-to-mime-undo|h-mh-to-mime|h-mime-cleanup|h-mime-display|h-mime-save-parts|h-mml-forward-message|h-mml-secure-message-encrypt|h-mml-secure-message-sign|h-mml-secure-message-signencrypt|h-mml-tag-present-p|h-mml-to-mime|h-mml-unsecure-message|h-modify|h-msg-filename|h-msg-is-in-seq|h-msg-num-width-to-column|h-msg-num-width|h-narrow-to-cc|h-narrow-to-from|h-narrow-to-range|h-narrow-to-seq|h-narrow-to-subject|h-narrow-to-tick|h-narrow-to-to|h-new-draft-name|h-next-button|h-next-msg|h-next-undeleted-msg|h-next-unread-msg|h-nmail|h-notate-cur|h-notate-deleted-and-refiled|h-notate-user-sequences|h-notate|h-outstanding-commands-p|h-pack-folder|h-page-digest-backwards|h-page-digest|h-page-msg|h-parse-flist-output-line|h-pipe-msg|h-position-on-field|h-prefix-help|h-prev-button|h-previous-page|h-previous-undeleted-msg|h-previous-unread-msg|h-print-msg|h-process-daemon|h-process-or-undo-commands|h-profile-component-value|h-profile-component|h-prompt-for-folder|h-prompt-for-refile-folder|h-ps-print-msg-file|h-ps-print-msg|h-ps-print-toggle-color|h-ps-print-toggle-faces|h-put-msg-in-seq|h-quit|h-quote-for-shell|h-quote-pick-expr|h-range-to-msg-list|h-read-address|h-read-folder-sequences|h-read-range|h-read-seq-default|h-recenter|h-redistribute|h-refile-a-msg|h-refile-msg|h-refile-or-write-again|h-regenerate-headers|h-remove-all-notation|h-remove-cur-notation|h-remove-from-sub-folders-cache|h-replace-regexp-in-string|h-replace-string|h-reply|h-require-cl|h-require|h-rescan-folder|h-reset-threads-and-narrowing|h-rmail|h-run-time-gnus-version|h-scan-folder|h-scan-format-file-check|h-scan-format|h-scan-msg-number-regexp|h-scan-msg-search-regexp|h-search-from-end|h-search-p|h-search|h-send-letter|h-send|h-seq-msgs|h-seq-to-msgs|h-set-cmd-note|h-set-folder-modified-p|h-set-help|h-set-x-image-cache-directory|h-show-addr|h-show-buffer-message-number|h-show-font-lock-keywords-with-cite|h-show-font-lock-keywords|h-show-mode|h-show-preferred-alternative|h-show-speedbar-buttons|h-show-xface|h-show|h-showing-mode|h-signature-separator-p|h-smail-batch|h-smail-other-window|h-smail|h-sort-folder|h-spamassassin-blacklist|h-spamassassin-identify-spammers|h-spamassassin-whitelist|h-spamprobe-blacklist|h-spamprobe-whitelist|h-speed-add-folder|h-speed-flists-active-p|h-speed-flists|h-speed-invalidate-map|h-start-of-uncleaned-message|h-store-msg|h-strip-package-version|h-sub-folders|h-test-completion|h-thread-add-spaces|h-thread-ancestor|h-thread-delete|h-thread-find-msg-subject|h-thread-forget-message|h-thread-generate|h-thread-inc|h-thread-next-sibling|h-thread-parse-scan-line|h-thread-previous-sibling|h-thread-print-scan-lines|h-thread-refile|h-thread-update-scan-line-map|h-toggle-mh-decode-mime-flag|h-toggle-mime-buttons|h-toggle-showing|h-toggle-threads|h-toggle-tick|h-translate-range|h-truncate-log-buffer|h-undefine-sequence|h-undo-folder|h-undo|h-update-sequences|h-url-hexify-string|h-user-agent-compose|h-valid-seq-p|h-valid-view-change-operation-p|h-variant-gnu-mh-info|h-variant-info|h-variant-mh-info|h-variant-nmh-info|h-variant-p|h-variant-set-variant|h-variant-set|h-variants|h-version|h-view-mode-enter|h-visit-folder|h-widen|h-window-full-height-p|h-write-file-functions|h-write-msg-to-file|h-xargs|h-yank-cur-msg|idnight-buffer-display-time|idnight-delay-set|idnight-find|idnight-next|ime-to-mml|inibuf-eldef-setup-minibuffer|inibuf-eldef-update-minibuffer|inibuffer--bitset|inibuffer--double-dollars|inibuffer-avoid-prompt|inibuffer-completion-contents|inibuffer-default--in-prompt-regexps|inibuffer-default-add-completions|inibuffer-default-add-shell-commands|inibuffer-depth-indicate-mode|inibuffer-depth-setup|inibuffer-electric-default-mode|inibuffer-force-complete-and-exit|inibuffer-force-complete|inibuffer-frame-list|inibuffer-hide-completions|inibuffer-history-initialize|inibuffer-history-isearch-end|inibuffer-history-isearch-message|inibuffer-history-isearch-pop-state|inibuffer-history-isearch-push-state|inibuffer-history-isearch-search|inibuffer-history-isearch-setup|inibuffer-history-isearch-wrap|inibuffer-insert-file-name-at-point|inibuffer-keyboard-quit|inibuffer-with-setup-hook|inor-mode-menu-from-indicator|inusp|ismatch|ixal-debug|ixal-describe-operation-code|ixal-mode|ixal-run|m-add-meta-html-tag|m-alist-to-plist|m-annotationp|m-append-to-file|m-archive-decoders|m-archive-dissect-and-inline|m-assoc-string-match|m-attachment-override-p|m-auto-mode-alist|m-automatic-display-p|m-automatic-external-display-p|m-body-7-or-8|m-body-encoding|m-char-int|m-char-or-char-int-p|m-charset-after|m-charset-to-coding-system|m-codepage-setup|m-coding-system-equal|m-coding-system-list|m-coding-system-p|m-coding-system-to-mime-charset|m-complicated-handles|m-content-transfer-encoding|m-convert-shr-links|m-copy-to-buffer|m-create-image-xemacs|m-decode-body|m-decode-coding-region|m-decode-coding-string|m-decode-content-transfer-encoding|m-decode-string|m-decompress-buffer|m-default-file-encoding|m-default-multibyte-p|m-delete-duplicates|m-destroy-parts??|m-destroy-postponed-undisplay-list|m-detect-coding-region|m-detect-mime-charset-region|m-disable-multibyte|m-display-external|m-display-inline|m-display-parts??|m-dissect-archive|m-dissect-buffer|m-dissect-multipart|m-dissect-singlepart|m-enable-multibyte|m-encode-body|m-encode-buffer|m-encode-coding-region|m-encode-coding-string|m-encode-content-transfer-encoding|m-enrich-utf-8-by-mule-ucs|m-extern-cache-contents|m-file-name-collapse-whitespace|m-file-name-delete-control|m-file-name-delete-gotchas|m-file-name-delete-whitespace|m-file-name-replace-whitespace|m-file-name-trim-whitespace|m-find-buffer-file-coding-system|m-find-charset-region|m-find-mime-charset-region|m-find-part-by-type|m-find-raw-part-by-type|m-get-coding-system-list|m-get-content-id|m-get-image|m-get-part|m-guess-charset|m-handle-buffer|m-handle-cache|m-handle-description|m-handle-displayed-p|m-handle-disposition|m-handle-encoding|m-handle-filename|m-handle-id|m-handle-media-subtype|m-handle-media-supertype|m-handle-media-type|m-handle-multipart-ctl-parameter|m-handle-multipart-from|m-handle-multipart-original-buffer|m-handle-set-cache|m-handle-set-external-undisplayer|m-handle-set-undisplayer|m-handle-type|m-handle-undisplayer|m-image-fit-p|m-image-load-path|m-image-type-from-buffer|m-inlinable-p|m-inline-external-body|m-inline-override-p|m-inline-partial|m-inlined-p|m-insert-byte|m-insert-file-contents|m-insert-headers|m-insert-inline|m-insert-multipart-headers|m-insert-part|m-insert-rfc822-headers|m-interactively-view-part|m-iso-8859-x-to-15-region|m-keep-viewer-alive-p|m-line-number-at-pos|m-long-lines-p|m-mailcap-command|m-make-handle|m-make-temp-file|m-merge-handles|m-mime-charset|m-mule-charset-to-mime-charset|m-multibyte-char-to-unibyte|m-multibyte-p|m-multibyte-string-p|m-multiple-handles|m-pipe-part|m-possibly-verify-or-decrypt|m-preferred-alternative-precedence|m-preferred-alternative|m-preferred-coding-system|m-qp-or-base64|m-read-charset|m-read-coding-system|m-readable-p|m-remove-parts??|m-replace-in-string|m-safer-encoding|m-save-part-to-file|m-save-part|m-set-buffer-file-coding-system|m-set-buffer-multibyte|m-set-handle-multipart-parameter|m-setup-codepage-ibm|m-setup-codepage-iso-8859|m-shr|m-sort-coding-systems-predicate)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:mm-special-display-p|mm-string-as-multibyte|mm-string-as-unibyte|mm-string-make-unibyte|mm-string-to-multibyte|mm-subst-char-in-string|mm-substring-no-properties|mm-temp-files-delete|mm-ucs-to-char|mm-url-decode-entities-nbsp|mm-url-decode-entities-string|mm-url-decode-entities|mm-url-encode-multipart-form-data|mm-url-encode-www-form-urlencoded|mm-url-form-encode-xwfu|mm-url-insert-file-contents-external|mm-url-insert-file-contents|mm-url-insert|mm-url-load-url|mm-url-remove-markup|mm-uu-dissect-text-parts|mm-uu-dissect|mm-valid-and-fit-image-p|mm-valid-image-format-p|mm-view-pkcs7|mm-with-multibyte-buffer|mm-with-part|mm-with-unibyte-buffer|mm-with-unibyte-current-buffer|mm-write-region|mm-xemacs-find-mime-charset-1|mm-xemacs-find-mime-charset|mml-attach-buffer|mml-attach-external|mml-attach-file|mml-buffer-substring-no-properties-except-hard-newlines|mml-compute-boundary-1|mml-compute-boundary|mml-content-disposition|mml-destroy-buffers|mml-dnd-attach-file|mml-expand-html-into-multipart-related|mml-generate-mime-1|mml-generate-mime|mml-generate-new-buffer|mml-insert-buffer|mml-insert-empty-tag|mml-insert-mime-headers|mml-insert-mime|mml-insert-mml-markup|mml-insert-multipart|mml-insert-parameter-string|mml-insert-parameter|mml-insert-part|mml-insert-tag|mml-make-boundary|mml-menu|mml-minibuffer-read-description|mml-minibuffer-read-disposition|mml-minibuffer-read-file|mml-minibuffer-read-type|mml-mode|mml-parameter-string|mml-parse-1|mml-parse-file-name|mml-parse-singlepart-with-multiple-charsets|mml-parse|mml-pgp-encrypt-buffer|mml-pgp-sign-buffer|mml-pgpauto-encrypt-buffer|mml-pgpauto-sign-buffer|mml-pgpmime-encrypt-buffer|mml-pgpmime-sign-buffer|mml-preview-insert-mail-followup-to|mml-preview|mml-quote-region|mml-read-part|mml-read-tag|mml-secure-encrypt-pgp|mml-secure-encrypt-pgpmime|mml-secure-encrypt-smime|mml-secure-encrypt|mml-secure-message-encrypt-pgp|mml-secure-message-encrypt-pgpauto|mml-secure-message-encrypt-pgpmime|mml-secure-message-encrypt-smime|mml-secure-message-encrypt|mml-secure-message-sign-encrypt|mml-secure-message-sign-pgp|mml-secure-message-sign-pgpauto|mml-secure-message-sign-pgpmime|mml-secure-message-sign-smime|mml-secure-message-sign|mml-secure-message|mml-secure-part|mml-secure-sign-pgp|mml-secure-sign-pgpauto|mml-secure-sign-pgpmime|mml-secure-sign-smime|mml-secure-sign|mml-signencrypt-style|mml-smime-encrypt-buffer|mml-smime-encrypt-query|mml-smime-encrypt|mml-smime-sign-buffer|mml-smime-sign-query|mml-smime-sign|mml-smime-verify-test|mml-smime-verify|mml-to-mime|mml-tweak-externalize-attachments|mml-tweak-part|mml-unsecure-message|mml-validate|mml1991-encrypt|mml1991-sign|mml2015-decrypt-test|mml2015-decrypt|mml2015-encrypt|mml2015-self-encrypt|mml2015-sign|mml2015-verify-test|mml2015-verify|mod\\\\*|mode-line-bury-buffer|mode-line-change-eol|mode-line-eol-desc|mode-line-frame-control|mode-line-minor-mode-help|mode-line-modified-help-echo|mode-line-mule-info-help-echo|mode-line-next-buffer|mode-line-other-buffer|mode-line-previous-buffer|mode-line-read-only-help-echo|mode-line-toggle-modified|mode-line-toggle-read-only|mode-line-unbury-buffer|mode-line-widen|mode-local--expand-overrides|mode-local--overload-body|mode-local--override|mode-local-augment-function-help|mode-local-bind|mode-local-describe-bindings-1|mode-local-describe-bindings-2|mode-local-equivalent-mode-p|mode-local-initialized-p|mode-local-map-file-buffers|mode-local-map-mode-buffers|mode-local-on-major-mode-change|mode-local-post-major-mode-change|mode-local-print-bindings??|mode-local-read-function|mode-local-setup-edebug-specs|mode-local-symbol-value|mode-local-symbol|mode-local-use-bindings-p|mode-local-value|mode-specific-command-prefix|modify-coding-system-alist|modify-face|modula-2-mode|morse-region|mouse--down-1-maybe-follows-link|mouse--drag-set-mark-and-point|mouse--strip-first-event|mouse-appearance-menu|mouse-autoselect-window-cancel|mouse-autoselect-window-select|mouse-autoselect-window-start|mouse-avoidance-banish-destination|mouse-avoidance-banish-mouse|mouse-avoidance-banish|mouse-avoidance-delta|mouse-avoidance-exile|mouse-avoidance-fancy|mouse-avoidance-ignore-p|mouse-avoidance-mode|mouse-avoidance-nudge-mouse|mouse-avoidance-point-position|mouse-avoidance-random-shape|mouse-avoidance-set-mouse-position|mouse-avoidance-set-pointer-shape|mouse-avoidance-too-close-p|mouse-buffer-menu-alist|mouse-buffer-menu-keymap|mouse-buffer-menu-map|mouse-buffer-menu-split|mouse-buffer-menu|mouse-choose-completion|mouse-copy-work-around-drag-bug|mouse-delete-other-windows|mouse-delete-window|mouse-drag-drag|mouse-drag-events-are-point-events-p|mouse-drag-header-line|mouse-drag-line|mouse-drag-mode-line|mouse-drag-region|mouse-drag-repeatedly-safe-scroll|mouse-drag-safe-scroll|mouse-drag-scroll-delta|mouse-drag-secondary-moving|mouse-drag-secondary-pasting|mouse-drag-secondary|mouse-drag-should-do-col-scrolling|mouse-drag-throw|mouse-drag-track|mouse-drag-vertical-line|mouse-event-p|mouse-fixup-help-message|mouse-kill-preserving-secondary|mouse-kill-ring-save|mouse-kill-secondary|mouse-kill|mouse-major-mode-menu|mouse-menu-bar-map|mouse-menu-major-mode-map|mouse-menu-non-singleton|mouse-minibuffer-check|mouse-minor-mode-menu|mouse-popup-menubar-stuff|mouse-popup-menubar|mouse-posn-property|mouse-region-match|mouse-save-then-kill-delete-region|mouse-save-then-kill|mouse-scroll-subr|mouse-secondary-save-then-kill|mouse-select-buffer|mouse-select-font|mouse-select-window|mouse-set-font|mouse-set-mark-fast|mouse-set-mark|mouse-set-point|mouse-set-region-1|mouse-set-region|mouse-set-secondary|mouse-skip-word|mouse-split-window-horizontally|mouse-split-window-vertically|mouse-start-end|mouse-start-secondary|mouse-tear-off-window|mouse-undouble-last-event|mouse-wheel-change-button|mouse-wheel-mode|mouse-yank-at-click|mouse-yank-primary|mouse-yank-secondary|move-beginning-of-line|move-end-of-line|move-file-to-trash|move-past-close-and-reindent|move-to-column-untabify|move-to-tab-stop|move-to-window-line-top-bottom|mpc--debug|mpc--faster-stop|mpc--faster-toggle-refresh|mpc--faster-toggle|mpc--faster|mpc--proc-alist-to-alists|mpc--proc-connect|mpc--proc-filter|mpc--proc-quote-string|mpc--songduration|mpc--status-callback|mpc--status-idle-timer-run|mpc--status-idle-timer-start|mpc--status-idle-timer-stop|mpc--status-timer-run|mpc--status-timer-start|mpc--status-timer-stop|mpc--status-timers-refresh|mpc-assq-all|mpc-cmd-add|mpc-cmd-clear|mpc-cmd-delete|mpc-cmd-find|mpc-cmd-flush|mpc-cmd-list|mpc-cmd-move|mpc-cmd-pause|mpc-cmd-play|mpc-cmd-special-tag-p|mpc-cmd-status|mpc-cmd-stop|mpc-cmd-tagtypes|mpc-cmd-update|mpc-compare-strings|mpc-constraints-get-current|mpc-constraints-pop|mpc-constraints-push|mpc-constraints-restore|mpc-constraints-tag-lookup|mpc-current-refresh|mpc-data-directory|mpc-drag-n-drop|mpc-event-set-point|mpc-ffwd|mpc-file-local-copy|mpc-format|mpc-intersection|mpc-mode-menu|mpc-mode|mpc-next|mpc-pause|mpc-play-at-point|mpc-play|mpc-playlist-add|mpc-playlist-create|mpc-playlist-delete|mpc-playlist-destroy|mpc-playlist-rename|mpc-playlist|mpc-prev|mpc-proc-buf-to-alists??|mpc-proc-buffer|mpc-proc-check|mpc-proc-cmd-list-ok|mpc-proc-cmd-list|mpc-proc-cmd-to-alist|mpc-proc-cmd|mpc-proc-sync|mpc-proc-tag-string-to-sym|mpc-proc|mpc-quit|mpc-reorder|mpc-resume|mpc-rewind|mpc-ring-make|mpc-ring-pop|mpc-ring-push|mpc-secs-to-time|mpc-select-extend|mpc-select-get-selection|mpc-select-make-overlay|mpc-select-restore|mpc-select-save|mpc-select-toggle|mpc-select|mpc-selection-refresh|mpc-separator|mpc-songpointer-context|mpc-songpointer-refresh-hairy|mpc-songpointer-refresh|mpc-songpointer-score|mpc-songpointer-set|mpc-songs-buf|mpc-songs-hashcons|mpc-songs-jump-to|mpc-songs-kill-search|mpc-songs-mode|mpc-songs-refresh|mpc-songs-search|mpc-songs-selection|mpc-sort|mpc-status-buffer-refresh|mpc-status-buffer-show|mpc-status-mode|mpc-status-refresh|mpc-status-stop|mpc-stop|mpc-string-prefix-p|mpc-tagbrowser-all-p|mpc-tagbrowser-all-select|mpc-tagbrowser-buf|mpc-tagbrowser-dir-mode|mpc-tagbrowser-dir-toggle|mpc-tagbrowser-mode|mpc-tagbrowser-refresh|mpc-tagbrowser-tag-name|mpc-tagbrowser|mpc-tempfiles-add|mpc-tempfiles-clean|mpc-union|mpc-update|mpc-updated-db|mpc-volume-mouse-set|mpc-volume-refresh|mpc-volume-widget|mpc|mpuz-ask-for-try|mpuz-build-random-perm|mpuz-check-all-solved|mpuz-close-game|mpuz-create-buffer|mpuz-digit-solved-p|mpuz-ding|mpuz-get-buffer|mpuz-mode|mpuz-offer-abort|mpuz-paint-board|mpuz-paint-digit|mpuz-paint-errors|mpuz-paint-number|mpuz-paint-statistics|mpuz-put-number-on-board|mpuz-random-puzzle|mpuz-show-solution|mpuz-solve|mpuz-start-new-game|mpuz-switch-to-window|mpuz-to-digit|mpuz-to-letter|mpuz-try-letter|mpuz-try-proposal|mpuz|msb--add-separators|msb--add-to-menu|msb--aggregate-alist|msb--choose-file-menu|msb--choose-menu|msb--collect|msb--create-buffer-menu-2|msb--create-buffer-menu|msb--create-function-info|msb--create-sort-item|msb--dired-directory|msb--format-title|msb--init-file-alist|msb--make-keymap-menu|msb--mode-menu-cond|msb--most-recently-used-menu|msb--split-menus-2|msb--split-menus|msb--strip-dir|msb--toggle-menu-type|msb-alon-item-handler|msb-custom-set|msb-dired-item-handler|msb-invisible-buffer-p|msb-item-handler|msb-menu-bar-update-buffers|msb-mode|msb-sort-by-directory|msb-sort-by-name|msb-unload-function|msb|mspools-get-folder-from-spool|mspools-get-spool-files|mspools-get-spool-name|mspools-help|mspools-mode|mspools-quit|mspools-revert-buffer|mspools-set-vm-spool-files|mspools-show-again|mspools-show|mspools-size-folder|mspools-visit-spool|mule-diag|multi-isearch-buffers-regexp|multi-isearch-buffers|multi-isearch-end|multi-isearch-files-regexp|multi-isearch-files|multi-isearch-next-buffer-from-list|multi-isearch-next-file-buffer-from-list|multi-isearch-pop-state|multi-isearch-push-state|multi-isearch-read-buffers|multi-isearch-read-files|multi-isearch-read-matching-buffers|multi-isearch-read-matching-files|multi-isearch-search-fun|multi-isearch-setup|multi-isearch-wrap|multi-occur-in-matching-buffers|multi-occur|multiple-value-apply|multiple-value-bind|multiple-value-call|multiple-value-list|multiple-value-setq|mwheel-event-button|mwheel-event-window|mwheel-filter-click-events|mwheel-inhibit-click-timeout|mwheel-install|mwheel-scroll|name-last-kbd-macro|narrow-to-defun|nato-region|nested-alist-p|net-utils--revert-function|net-utils-machine-at-point|net-utils-mode|net-utils-remove-ctrl-m-filter|net-utils-run-program|net-utils-run-simple|net-utils-url-at-point|netrc-credentials|netrc-find-service-name|netrc-get|netrc-machine-user-or-password|netrc-machine|netrc-parse-services|netrc-parse|netrc-port-equal|netstat|network-connection-mode-setup|network-connection-mode|network-connection-reconnect|network-connection-to-service|network-connection|network-service-connection|network-stream-certificate|network-stream-command|network-stream-get-response|network-stream-open-plain|network-stream-open-shell|network-stream-open-starttls|network-stream-open-tls|new-fontset|new-frame|new-mode-local-bindings|newline-cache-check|newsticker--age|newsticker--buffer-beginning-of-feed|newsticker--buffer-beginning-of-item|newsticker--buffer-do-insert-text|newsticker--buffer-end-of-feed|newsticker--buffer-end-of-item|newsticker--buffer-get-feed-title-at-point|newsticker--buffer-get-item-title-at-point|newsticker--buffer-goto|newsticker--buffer-hideshow|newsticker--buffer-insert-all-items|newsticker--buffer-insert-item|newsticker--buffer-make-item-completely-visible|newsticker--buffer-redraw|newsticker--buffer-set-faces|newsticker--buffer-set-invisibility|newsticker--buffer-set-uptodate|newsticker--buffer-statistics|newsticker--cache-add|newsticker--cache-contains|newsticker--cache-dir|newsticker--cache-get-feed|newsticker--cache-item-compare-by-position|newsticker--cache-item-compare-by-time|newsticker--cache-item-compare-by-title|newsticker--cache-mark-expired|newsticker--cache-read-feed|newsticker--cache-read-version1|newsticker--cache-read|newsticker--cache-remove|newsticker--cache-replace-age|newsticker--cache-save-feed|newsticker--cache-save-version1|newsticker--cache-save|newsticker--cache-set-preformatted-contents|newsticker--cache-set-preformatted-title|newsticker--cache-sort)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)n(?:ewsticker--cache-update|ewsticker--count-grouped-feeds|ewsticker--count-groups|ewsticker--debug-msg|ewsticker--decode-iso8601-date|ewsticker--decode-rfc822-date|ewsticker--desc|ewsticker--display-jump|ewsticker--display-scroll|ewsticker--display-tick|ewsticker--do-forget-preformatted|ewsticker--do-mark-item-at-point-as-read|ewsticker--do-print-extra-element|ewsticker--do-run-auto-mark-filter|ewsticker--do-xml-workarounds|ewsticker--echo-area-clean-p|ewsticker--enclosure|ewsticker--extra|ewsticker--forget-preformatted|ewsticker--get-group-names|ewsticker--get-icon-url-atom-1\\\\.0|ewsticker--get-logo-url-atom-0\\\\.3|ewsticker--get-logo-url-atom-1\\\\.0|ewsticker--get-logo-url-rss-0\\\\.91|ewsticker--get-logo-url-rss-0\\\\.92|ewsticker--get-logo-url-rss-1\\\\.0|ewsticker--get-logo-url-rss-2\\\\.0|ewsticker--get-news-by-funcall|ewsticker--get-news-by-url-callback|ewsticker--get-news-by-url|ewsticker--get-news-by-wget|ewsticker--group-all-groups|ewsticker--group-do-find-group|ewsticker--group-do-get-group|ewsticker--group-do-rename-group|ewsticker--group-find-parent-group|ewsticker--group-get-feeds|ewsticker--group-get-group|ewsticker--group-get-subgroups|ewsticker--group-manage-orphan-feeds|ewsticker--group-names|ewsticker--group-remove-obsolete-feeds|ewsticker--group-shift|ewsticker--guid-to-string|ewsticker--guid|ewsticker--icon-read|ewsticker--icons-dir|ewsticker--image-download-by-url-callback|ewsticker--image-download-by-url|ewsticker--image-download-by-wget|ewsticker--image-get|ewsticker--image-read|ewsticker--image-remove|ewsticker--image-save|ewsticker--image-sentinel|ewsticker--images-dir|ewsticker--imenu-create-index|ewsticker--imenu-goto|ewsticker--insert-enclosure|ewsticker--insert-image|ewsticker--link|ewsticker--lists-intersect-p|ewsticker--opml-import-outlines|ewsticker--parse-atom-0\\\\.3|ewsticker--parse-atom-1\\\\.0|ewsticker--parse-generic-feed|ewsticker--parse-generic-items|ewsticker--parse-rss-0\\\\.91|ewsticker--parse-rss-0\\\\.92|ewsticker--parse-rss-1\\\\.0|ewsticker--parse-rss-2\\\\.0|ewsticker--pos|ewsticker--preformatted-contents|ewsticker--preformatted-title|ewsticker--print-extra-elements|ewsticker--process-auto-mark-filter-match|ewsticker--real-feed-name|ewsticker--remove-whitespace|ewsticker--run-auto-mark-filter|ewsticker--sentinel-work|ewsticker--sentinel|ewsticker--set-customvar-buffer|ewsticker--set-customvar-formatting|ewsticker--set-customvar-retrieval|ewsticker--set-customvar-sorting|ewsticker--set-customvar-ticker|ewsticker--set-face-properties|ewsticker--splicer|ewsticker--start-feed|ewsticker--stat-num-items-for-group|ewsticker--stat-num-items-total|ewsticker--stat-num-items|ewsticker--stop-feed|ewsticker--ticker-text-remove|ewsticker--ticker-text-setup|ewsticker--time|ewsticker--title|ewsticker--tree-widget-icon-create|ewsticker--treeview-activate-node|ewsticker--treeview-buffer-init|ewsticker--treeview-count-node-items|ewsticker--treeview-do-get-node-by-id|ewsticker--treeview-do-get-node-of-feed|ewsticker--treeview-first-feed|ewsticker--treeview-frame-init|ewsticker--treeview-get-current-node|ewsticker--treeview-get-feed-vfeed|ewsticker--treeview-get-first-child|ewsticker--treeview-get-id|ewsticker--treeview-get-last-child|ewsticker--treeview-get-next-sibling|ewsticker--treeview-get-next-uncle|ewsticker--treeview-get-node-by-id|ewsticker--treeview-get-node-of-feed|ewsticker--treeview-get-other-tree|ewsticker--treeview-get-prev-sibling|ewsticker--treeview-get-prev-uncle|ewsticker--treeview-get-second-child|ewsticker--treeview-get-selected-item|ewsticker--treeview-ids-eq|ewsticker--treeview-item-buffer|ewsticker--treeview-item-show-text|ewsticker--treeview-item-show|ewsticker--treeview-item-update|ewsticker--treeview-item-window|ewsticker--treeview-list-add-item|ewsticker--treeview-list-all-items|ewsticker--treeview-list-buffer|ewsticker--treeview-list-clear-highlight|ewsticker--treeview-list-clear|ewsticker--treeview-list-compare-item-by-age-reverse|ewsticker--treeview-list-compare-item-by-age|ewsticker--treeview-list-compare-item-by-time-reverse|ewsticker--treeview-list-compare-item-by-time|ewsticker--treeview-list-compare-item-by-title-reverse|ewsticker--treeview-list-compare-item-by-title|ewsticker--treeview-list-feed-items|ewsticker--treeview-list-highlight-start|ewsticker--treeview-list-immortal-items|ewsticker--treeview-list-items-v|ewsticker--treeview-list-items-with-age-callback|ewsticker--treeview-list-items-with-age|ewsticker--treeview-list-items|ewsticker--treeview-list-new-items|ewsticker--treeview-list-obsolete-items|ewsticker--treeview-list-select|ewsticker--treeview-list-sort-by-column|ewsticker--treeview-list-sort-items|ewsticker--treeview-list-update-faces|ewsticker--treeview-list-update-highlight|ewsticker--treeview-list-update|ewsticker--treeview-list-window|ewsticker--treeview-load|ewsticker--treeview-mark-item|ewsticker--treeview-nodes-eq|ewsticker--treeview-propertize-tag|ewsticker--treeview-render-text|ewsticker--treeview-restore-layout|ewsticker--treeview-set-current-node|ewsticker--treeview-tree-buffer|ewsticker--treeview-tree-do-update-tags|ewsticker--treeview-tree-expand-status|ewsticker--treeview-tree-expand|ewsticker--treeview-tree-get-tag|ewsticker--treeview-tree-open-menu|ewsticker--treeview-tree-update-highlight|ewsticker--treeview-tree-update-tags??|ewsticker--treeview-tree-update|ewsticker--treeview-tree-window|ewsticker--treeview-unfold-node|ewsticker--treeview-virtual-feed-p|ewsticker--treeview-window-init|ewsticker--unxml-attribute|ewsticker--unxml-node|ewsticker--unxml|ewsticker--update-process-ids|ewsticker-add-url|ewsticker-browse-url-item|ewsticker-browse-url|ewsticker-buffer-force-update|ewsticker-buffer-update|ewsticker-close-buffer|ewsticker-customize|ewsticker-download-enclosures|ewsticker-download-images|ewsticker-get-all-news|ewsticker-get-news-at-point|ewsticker-get-news|ewsticker-group-add-group|ewsticker-group-delete-group|ewsticker-group-move-feed|ewsticker-group-rename-group|ewsticker-group-shift-feed-down|ewsticker-group-shift-feed-up|ewsticker-group-shift-group-down|ewsticker-group-shift-group-up|ewsticker-handle-url|ewsticker-hide-all-desc|ewsticker-hide-entry|ewsticker-hide-extra|ewsticker-hide-feed-desc|ewsticker-hide-new-item-desc|ewsticker-hide-old-item-desc|ewsticker-hide-old-items|ewsticker-htmlr-render|ewsticker-item-not-immortal-p|ewsticker-item-not-old-p|ewsticker-mark-all-items-as-read|ewsticker-mark-all-items-at-point-as-read-and-redraw|ewsticker-mark-all-items-at-point-as-read|ewsticker-mark-all-items-of-feed-as-read|ewsticker-mark-item-at-point-as-immortal|ewsticker-mark-item-at-point-as-read|ewsticker-mode|ewsticker-mouse-browse-url|ewsticker-new-item-functions-sample|ewsticker-next-feed-available-p|ewsticker-next-feed|ewsticker-next-item-available-p|ewsticker-next-item-same-feed|ewsticker-next-item|ewsticker-next-new-item|ewsticker-opml-export|ewsticker-opml-import|ewsticker-plainview|ewsticker-previous-feed-available-p|ewsticker-previous-feed|ewsticker-previous-item-available-p|ewsticker-previous-item|ewsticker-previous-new-item|ewsticker-retrieve-random-message|ewsticker-running-p|ewsticker-save-item|ewsticker-set-auto-narrow-to-feed|ewsticker-set-auto-narrow-to-item|ewsticker-show-all-desc|ewsticker-show-entry|ewsticker-show-extra|ewsticker-show-feed-desc|ewsticker-show-new-item-desc|ewsticker-show-news|ewsticker-show-old-item-desc|ewsticker-show-old-items|ewsticker-start-ticker|ewsticker-start|ewsticker-stop-ticker|ewsticker-stop|ewsticker-ticker-running-p|ewsticker-toggle-auto-narrow-to-feed|ewsticker-toggle-auto-narrow-to-item|ewsticker-treeview-browse-url-item|ewsticker-treeview-browse-url|ewsticker-treeview-get-news|ewsticker-treeview-item-mode|ewsticker-treeview-jump|ewsticker-treeview-list-make-sort-button|ewsticker-treeview-list-mode|ewsticker-treeview-mark-item-old|ewsticker-treeview-mark-list-items-old|ewsticker-treeview-mode|ewsticker-treeview-mouse-browse-url|ewsticker-treeview-next-feed|ewsticker-treeview-next-item|ewsticker-treeview-next-new-or-immortal-item|ewsticker-treeview-next-page|ewsticker-treeview-prev-feed|ewsticker-treeview-prev-item|ewsticker-treeview-prev-new-or-immortal-item|ewsticker-treeview-quit|ewsticker-treeview-save-item|ewsticker-treeview-save|ewsticker-treeview-scroll-item|ewsticker-treeview-show-item|ewsticker-treeview-toggle-item-immortal|ewsticker-treeview-tree-click|ewsticker-treeview-tree-do-click|ewsticker-treeview-update|ewsticker-treeview|ewsticker-w3m-show-inline-images|ext-buffer|ext-cdabbrev|ext-completion|ext-error-buffer-p|ext-error-find-buffer|ext-error-follow-minor-mode|ext-error-follow-mode-post-command-hook|ext-error-internal|ext-error-no-select|ext-error|ext-file|ext-ifdef|ext-line-or-history-element|ext-line|ext-logical-line|ext-match|ext-method-p|ext-multiframe-window|ext-page|ext-read-file-uses-dialog-p|intersection|inth|ndiary-generate-nov-databases|ndoc-add-type|ndraft-request-associate-buffer|ndraft-request-expire-articles|nfolder-generate-active-file|nheader-accept-process-output|nheader-article-p|nheader-article-to-file-alist|nheader-be-verbose|nheader-cancel-function-timers|nheader-cancel-timer|nheader-concat|nheader-directory-articles|nheader-directory-files-safe|nheader-directory-files|nheader-directory-regular-files|nheader-fake-message-id-p|nheader-file-error|nheader-file-size|nheader-file-to-group|nheader-file-to-number|nheader-find-etc-directory|nheader-find-file-noselect|nheader-find-nov-line|nheader-fold-continuation-lines|nheader-generate-fake-message-id|nheader-get-lines-and-char|nheader-get-report-string|nheader-get-report|nheader-group-pathname|nheader-header-value|nheader-init-server-buffer|nheader-insert-article-line|nheader-insert-buffer-substring|nheader-insert-file-contents|nheader-insert-head|nheader-insert-header|nheader-insert-nov-file|nheader-insert-nov|nheader-insert-references|nheader-insert|nheader-message-maybe|nheader-message|nheader-ms-strip-cr|nheader-narrow-to-headers|nheader-nov-delete-outside-range|nheader-nov-field|nheader-nov-parse-extra|nheader-nov-read-integer|nheader-nov-read-message-id|nheader-nov-skip-field|nheader-parse-head|nheader-parse-naked-head|nheader-parse-nov|nheader-parse-overview-file|nheader-re-read-dir|nheader-remove-body|nheader-remove-cr-followed-by-lf|nheader-replace-chars-in-string|nheader-replace-duplicate-chars-in-string|nheader-replace-header|nheader-replace-regexp|nheader-replace-string|nheader-report|nheader-set-temp-buffer|nheader-skeleton-replace|nheader-strip-cr|nheader-translate-file-chars|nheader-update-marks-actions|nheader-write-overview-file|nmail-article-group|nmail-message-id|nmail-split-fancy|nml-generate-nov-databases|nvirtual-catchup-group|nvirtual-convert-headers|nvirtual-find-group-art|o-applicable-method|o-next-method|onincremental-re-search-backward|onincremental-re-search-forward|onincremental-repeat-search-backward|onincremental-repeat-search-forward|onincremental-search-backward|onincremental-search-forward|ormal-about-screen|ormal-erase-is-backspace-mode|ormal-erase-is-backspace-setup-frame|ormal-mouse-startup-screen|ormal-no-mouse-startup-screen|ormal-splash-screen|ormal-top-level-add-subdirs-to-load-path|ormal-top-level-add-to-load-path|ormal-top-level|otany|otevery|otifications-on-action-signal|otifications-on-closed-signal|reconc|roff-backward-text-line|roff-comment-indent|roff-count-text-lines|roff-electric-mode|roff-electric-newline|roff-forward-text-line|roff-insert-comment-function|roff-mode|roff-outline-level|roff-view|set-difference|set-exclusive-or|slookup-host|slookup-mode|slookup|sm-certificate-part|sm-check-certificate|sm-check-plain-connection|sm-check-protocol|sm-check-tls-connection|sm-fingerprint-ok-p|sm-fingerprint|sm-format-certificate|sm-host-settings|sm-id|sm-level|sm-new-fingerprint-ok-p|sm-parse-subject|sm-query-user|sm-query|sm-read-settings|sm-remove-permanent-setting|sm-remove-temporary-setting|sm-save-host|sm-verify-connection|sm-warnings-ok-p|sm-write-settings|sublis|subst-if-not|subst-if|subst|substitute-if-not)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:nsubstitute-if|nsubstitute|nth-value|ntlm-ascii2unicode|ntlm-build-auth-request|ntlm-build-auth-response|ntlm-get-password-hashes|ntlm-md4hash|ntlm-smb-des-e-p16|ntlm-smb-des-e-p24|ntlm-smb-dohash|ntlm-smb-hash|ntlm-smb-owf-encrypt|ntlm-smb-passwd-hash|ntlm-smb-str-to-key|ntlm-string-lshift|ntlm-string-permute|ntlm-string-xor|ntlm-unicode2ascii|nullify-allout-prefix-data|number-at-point|number-to-register|nunion|nxml-enable-unicode-char-name-sets|nxml-glyph-display-string|nxml-mode|obj-of-class-p|objc-font-lock-keywords-2|objc-font-lock-keywords-3|objc-font-lock-keywords|objc-mode|object-add-to-list|object-assoc-list-safe|object-assoc-list|object-assoc|object-class-fast|object-class-name|object-class|object-name-string|object-name|object-of-class-p|object-p|object-print|object-remove-from-list|object-set-name-string|object-slots|object-write|occur-1|occur-accumulate-lines|occur-after-change-function|occur-cease-edit|occur-context-lines|occur-edit-mode|occur-engine-add-prefix|occur-engine-line|occur-engine|occur-find-match|occur-mode-display-occurrence|occur-mode-find-occurrence|occur-mode-goto-occurrence-other-window|occur-mode-goto-occurrence|occur-mode-mouse-goto|occur-mode|occur-next-error|occur-next|occur-prev|occur-read-primary-args|occur-rename-buffer|occur-revert-function|occur|octave--indent-new-comment-line|octave-add-log-current-defun|octave-beginning-of-defun|octave-beginning-of-line|octave-complete-symbol|octave-completing-read|octave-completion-at-point|octave-eldoc-function-signatures|octave-eldoc-function|octave-end-of-line|octave-eval-print-last-sexp|octave-fill-paragraph|octave-find-definition-default-filename|octave-find-definition|octave-font-lock-texinfo-comment|octave-function-file-comment|octave-function-file-p|octave-goto-function-definition|octave-help-mode|octave-help|octave-hide-process-buffer|octave-in-comment-p|octave-in-string-or-comment-p|octave-in-string-p|octave-indent-comment|octave-indent-defun|octave-indent-new-comment-line|octave-insert-defun|octave-kill-process|octave-lookfor|octave-looking-at-kw|octave-mark-block|octave-maybe-insert-continuation-string|octave-mode-menu|octave-mode|octave-next-code-line|octave-previous-code-line|octave-send-block|octave-send-buffer|octave-send-defun|octave-send-line|octave-send-region|octave-show-process-buffer|octave-skip-comment-forward|octave-smie-backward-token|octave-smie-forward-token|octave-smie-rules|octave-source-directories|octave-source-file|octave-submit-bug-report|octave-sync-function-file-names|octave-syntax-propertize-function|octave-syntax-propertize-sqs|octave-update-function-file-comment|oddp|opascal-block-start|opascal-char-token-at|opascal-charset-token-at|opascal-column-of|opascal-comment-block-end|opascal-comment-block-start|opascal-comment-content-start|opascal-comment-indent-of|opascal-composite-type-start|opascal-corrected-indentation|opascal-current-token|opascal-debug-goto-next-token|opascal-debug-goto-point|opascal-debug-goto-previous-token|opascal-debug-log|opascal-debug-show-current-string|opascal-debug-show-current-token|opascal-debug-token-string|opascal-debug-tokenize-buffer|opascal-debug-tokenize-region|opascal-debug-tokenize-window|opascal-else-start|opascal-enclosing-indent-of|opascal-ensure-buffer|opascal-explicit-token-at|opascal-fill-comment|opascal-find-current-body|opascal-find-current-def|opascal-find-current-xdef|opascal-find-unit-file|opascal-find-unit-in-directory|opascal-find-unit|opascal-group-end|opascal-group-start|opascal-in-token|opascal-indent-line|opascal-indent-of|opascal-is-block-after-expr-statement|opascal-is-directory|opascal-is-file|opascal-is-literal-end|opascal-is-simple-class-type|opascal-is-use-clause-end|opascal-is|opascal-line-indent-of|opascal-literal-end-pattern|opascal-literal-kind|opascal-literal-start-pattern|opascal-literal-stop-pattern|opascal-literal-token-at|opascal-log-msg|opascal-looking-at-string|opascal-match-token|opascal-mode|opascal-new-comment-line|opascal-next-line-start|opascal-next-token|opascal-next-visible-token|opascal-on-first-comment-line|opascal-open-group-indent|opascal-point-token-at|opascal-previous-indent-of|opascal-previous-token|opascal-progress-done|opascal-progress-start|opascal-save-excursion|opascal-search-directory|opascal-section-indent-of|opascal-set-token-end|opascal-set-token-kind|opascal-set-token-start|opascal-space-token-at|opascal-step-progress|opascal-stmt-line-indent-of|opascal-string-of|opascal-tab|opascal-token-at|opascal-token-end|opascal-token-kind|opascal-token-of|opascal-token-start|opascal-token-string|opascal-word-token-at|open-font|open-gnutls-stream|open-line|open-protocol-stream|open-rectangle-line|open-rectangle|open-tls-stream|operate-on-rectangle|optimize-char-table|oref-default|oref|org-2ft|org-N-empty-lines-before-current|org-activate-angle-links|org-activate-bracket-links|org-activate-code|org-activate-dates|org-activate-footnote-links|org-activate-mark|org-activate-plain-links|org-activate-tags|org-activate-target-links|org-adaptive-fill-function|org-add-angle-brackets|org-add-archive-files|org-add-hook|org-add-link-props|org-add-link-type|org-add-log-note|org-add-log-setup|org-add-note|org-add-planning-info|org-add-prop-inherited|org-add-props|org-advertized-archive-subtree|org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item|org-agenda-columns|org-agenda-file-p|org-agenda-file-to-front|org-agenda-files|org-agenda-list-stuck-projects|org-agenda-list|org-agenda-prepare-buffers|org-agenda-set-restriction-lock|org-agenda-to-appt|org-agenda|org-align-all-tags|org-align-tags-here|org-all-targets|org-apply-on-list|org-apps-regexp-alist|org-archive-subtree-default-with-confirmation|org-archive-subtree-default|org-archive-subtree|org-archive-to-archive-sibling|org-ascii-export-as-ascii|org-ascii-export-to-ascii|org-ascii-publish-to-ascii|org-ascii-publish-to-latin1|org-ascii-publish-to-utf8|org-assign-fast-keys|org-at-TBLFM-p|org-at-block-p|org-at-clock-log-p|org-at-comment-p|org-at-date-range-p|org-at-drawer-p|org-at-heading-or-item-p|org-at-heading-p|org-at-item-bullet-p|org-at-item-checkbox-p|org-at-item-counter-p|org-at-item-description-p|org-at-item-p|org-at-item-timer-p|org-at-property-p|org-at-regexp-p|org-at-table-hline-p|org-at-table-p|org-at-table\\\\.el-p|org-at-target-p|org-at-timestamp-p|org-attach|org-auto-fill-function|org-auto-repeat-maybe|org-babel--shell-command-on-region|org-babel-active-location-p|org-babel-balanced-split|org-babel-check-confirm-evaluate|org-babel-check-evaluate|org-babel-check-src-block|org-babel-chomp|org-babel-combine-header-arg-lists|org-babel-comint-buffer-livep|org-babel-comint-eval-invisibly-and-wait-for-file|org-babel-comint-in-buffer|org-babel-comint-input-command|org-babel-comint-wait-for-output|org-babel-comint-with-output|org-babel-confirm-evaluate|org-babel-current-result-hash|org-babel-del-hlines|org-babel-demarcate-block|org-babel-describe-bindings|org-babel-detangle|org-babel-disassemble-tables|org-babel-do-in-edit-buffer|org-babel-do-key-sequence-in-edit-buffer|org-babel-do-load-languages|org-babel-edit-distance|org-babel-enter-header-arg-w-completion|org-babel-eval-error-notify|org-babel-eval-read-file|org-babel-eval-wipe-error-buffer|org-babel-eval|org-babel-examplize-region|org-babel-execute-buffer|org-babel-execute-maybe|org-babel-execute-safely-maybe|org-babel-execute-src-block-maybe|org-babel-execute-src-block|org-babel-execute-subtree|org-babel-execute:emacs-lisp|org-babel-exp-code|org-babel-exp-do-export|org-babel-exp-get-export-buffer|org-babel-exp-in-export-file|org-babel-exp-process-buffer|org-babel-exp-results|org-babel-exp-src-block|org-babel-expand-body:emacs-lisp|org-babel-expand-body:generic|org-babel-expand-noweb-references|org-babel-expand-src-block-maybe|org-babel-expand-src-block|org-babel-find-file-noselect-refresh|org-babel-find-named-block|org-babel-find-named-result|org-babel-format-result|org-babel-get-colnames|org-babel-get-header|org-babel-get-inline-src-block-matches|org-babel-get-lob-one-liner-matches|org-babel-get-rownames|org-babel-get-src-block-info|org-babel-goto-named-result|org-babel-goto-named-src-block|org-babel-goto-src-block-head|org-babel-hash-at-point|org-babel-header-arg-expand|org-babel-hide-all-hashes|org-babel-hide-hash|org-babel-hide-result-toggle-maybe|org-babel-hide-result-toggle|org-babel-import-elisp-from-file|org-babel-in-example-or-verbatim|org-babel-initiate-session|org-babel-insert-header-arg|org-babel-insert-result|org-babel-join-splits-near-ch|org-babel-load-file|org-babel-load-in-session-maybe|org-babel-load-in-session|org-babel-lob-execute-maybe|org-babel-lob-execute|org-babel-lob-get-info|org-babel-lob-ingest|org-babel-local-file-name|org-babel-map-call-lines|org-babel-map-executables|org-babel-map-inline-src-blocks|org-babel-map-src-blocks|org-babel-mark-block|org-babel-merge-params|org-babel-named-data-regexp-for-name|org-babel-named-src-block-regexp-for-name|org-babel-next-src-block|org-babel-noweb-p|org-babel-noweb-wrap|org-babel-number-p|org-babel-open-src-block-result|org-babel-params-from-properties|org-babel-parse-header-arguments|org-babel-parse-inline-src-block-match|org-babel-parse-multiple-vars|org-babel-parse-src-block-match|org-babel-pick-name|org-babel-pop-to-session-maybe|org-babel-pop-to-session|org-babel-previous-src-block|org-babel-process-file-name|org-babel-process-params|org-babel-put-colnames|org-babel-put-rownames|org-babel-read-link|org-babel-read-list|org-babel-read-result|org-babel-read-table|org-babel-read|org-babel-reassemble-table|org-babel-ref-at-ref-p|org-babel-ref-goto-headline-id|org-babel-ref-headline-body|org-babel-ref-index-list|org-babel-ref-parse|org-babel-ref-resolve|org-babel-ref-split-args|org-babel-remove-result|org-babel-remove-temporary-directory|org-babel-result-cond|org-babel-result-end|org-babel-result-hide-all|org-babel-result-hide-spec|org-babel-result-names|org-babel-result-to-file|org-babel-script-escape|org-babel-set-current-result-hash|org-babel-sha1-hash|org-babel-show-result-all|org-babel-spec-to-string|org-babel-speed-command-activate|org-babel-speed-command-hook|org-babel-src-block-names|org-babel-string-read|org-babel-switch-to-session-with-code|org-babel-switch-to-session|org-babel-table-truncate-at-newline|org-babel-tangle-clean|org-babel-tangle-collect-blocks|org-babel-tangle-comment-links|org-babel-tangle-file|org-babel-tangle-jump-to-org|org-babel-tangle-publish|org-babel-tangle-single-block|org-babel-tangle|org-babel-temp-file|org-babel-tramp-handle-call-process-region|org-babel-trim|org-babel-update-block-body|org-babel-view-src-block-info|org-babel-when-in-src-block|org-babel-where-is-src-block-head|org-babel-where-is-src-block-result|org-babel-with-temp-filebuffer|org-back-over-empty-lines|org-back-to-heading|org-backward-element|org-backward-heading-same-level|org-backward-paragraph|org-backward-sentence|org-base-buffer|org-batch-agenda-csv|org-batch-agenda|org-batch-store-agenda-views|org-bbdb-anniversaries|org-beamer-export-as-latex|org-beamer-export-to-latex|org-beamer-export-to-pdf|org-beamer-insert-options-template|org-beamer-mode|org-beamer-publish-to-latex|org-beamer-publish-to-pdf|org-beamer-select-environment|org-before-change-function|org-before-first-heading-p|org-beginning-of-dblock|org-beginning-of-item-list|org-beginning-of-item|org-beginning-of-line|org-between-regexps-p|org-block-map|org-block-todo-from-checkboxes|org-block-todo-from-children-or-siblings-or-parent|org-bookmark-jump-unhide|org-bound-and-true-p|org-buffer-list|org-buffer-narrowed-p|org-buffer-property-keys|org-cached-entry-get|org-calendar-goto-agenda|org-calendar-holiday|org-calendar-select-mouse|org-calendar-select|org-call-for-shift-select|org-call-with-arg|org-called-interactively-p|org-capture-import-remember-templates|org-capture-string|org-capture|org-cdlatex-math-modify|org-cdlatex-mode|org-cdlatex-underscore-caret|org-change-tag-in-region|org-char-to-string|org-check-after-date|org-check-agenda-file|org-check-and-save-marker|org-check-before-date|org-check-before-invisible-edit|org-check-dates-range|org-check-deadlines|org-check-external-command|org-check-for-hidden|org-check-running-clock|org-check-version|org-clean-visibility-after-subtree-move|org-clock-cancel|org-clock-display|org-clock-get-clocktable|org-clock-goto|org-clock-in-last|org-clock-in|org-clock-is-active|org-clock-out|org-clock-persistence-insinuate|org-clock-remove-overlays|org-clock-report|org-clock-sum|org-clock-update-time-maybe|org-clocktable-shift|org-clocktable-try-shift|org-clone-local-variables)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)org-(?:clone-subtree-with-time-shift|closest-date|columns-compute|columns-get-format-and-top-level|columns-number-to-string|columns-remove-overlays|columns|combine-plists|command-at-point|comment-line-break-function|comment-or-uncomment-region|compatible-face|complete-expand-structure-template|completing-read-no-i|completing-read|compute-latex-and-related-regexp|compute-property-at-point|content|context-p|context|contextualize-keys|contextualize-validate-key|convert-to-odd-levels|convert-to-oddeven-levels|copy-face|copy-special|copy-subtree|copy-visible|copy|count-lines|count|create-customize-menu|create-dblock|create-formula--latex-header|create-formula-image-with-dvipng|create-formula-image-with-imagemagick|create-formula-image|create-math-formula|create-multibrace-regexp|ctrl-c-ctrl-c|ctrl-c-minus|ctrl-c-ret|ctrl-c-star|current-effective-time|current-level|current-line-string|current-line|current-time|cursor-to-region-beginning|customize|cut-special|cut-subtree|cycle-agenda-files|cycle-hide-archived-subtrees|cycle-hide-drawers|cycle-hide-inline-tasks|cycle-internal-global|cycle-internal-local|cycle-item-indentation|cycle-level|cycle-list-bullet|cycle-show-empty-lines|cycle|date-from-calendar|date-to-gregorian|datetree-find-date-create|days-to-iso-week|days-to-time|dblock-update|dblock-write:clocktable|dblock-write:columnview|deadline-close|deadline|decompose-region|default-apps|defkey|defvaralias|delete-all|delete-backward-char|delete-char|delete-directory|delete-property-globally|delete-property|demote-subtree|demote|detach-overlay|diary-sexp-entry|diary-to-ical-string|diary|display-custom-time|display-inline-images|display-inline-modification-hook|display-inline-remove-overlay|display-outline-path|display-warning|do-demote|do-emphasis-faces|do-latex-and-related|do-occur|do-promote|do-remove-indentation|do-sort|do-wrap|down-element|drag-element-backward|drag-element-forward|drag-line-backward|drag-line-forward|duration-string-to-minutes|dvipng-color-format|dvipng-color|edit-agenda-file-list|edit-fixed-width-region|edit-special|edit-src-abort|edit-src-code|edit-src-continue|edit-src-exit|edit-src-find-buffer|edit-src-find-region-and-lang|edit-src-get-indentation|edit-src-get-label-format|edit-src-get-lang|edit-src-save|element-at-point|element-context|element-interpret-data|email-link-description|emphasize|end-of-item-list|end-of-item|end-of-line|end-of-meta-data-and-drawers|end-of-subtree|entities-create-table|entities-help|entity-get-representation|entity-get|entity-latex-math-p|entry-add-to-multivalued-property|entry-beginning-position|entry-blocked-p|entry-delete|entry-end-position|entry-get-multivalued-property|entry-get-with-inheritance|entry-get|entry-is-done-p|entry-is-todo-p|entry-member-in-multivalued-property|entry-properties|entry-protect-space|entry-put-multivalued-property|entry-put|entry-remove-from-multivalued-property|entry-restore-space|escape-code-in-region|escape-code-in-string|eval-in-calendar|eval-in-environment|eval|evaluate-time-range|every|export-as|export-dispatch|export-insert-default-template|export-replace-region-by|export-string-as|export-to-buffer|export-to-file|extract-attributes|extract-log-state-settings|face-from-face-or-color|fast-tag-insert|fast-tag-selection|fast-tag-show-exit|fast-todo-selection|feed-goto-inbox|feed-show-raw-feed|feed-update-all|feed-update|file-apps-entry-match-against-dlink-p|file-complete-link|file-contents|file-equal-p|file-image-p|file-menu-entry|file-remote-p|files-list|fill-line-break-nobreak-p|fill-paragraph-with-timestamp-nobreak-p|fill-paragraph|fill-template|find-base-buffer-visiting|find-dblock|find-entry-with-id|find-exact-heading-in-directory|find-exact-headline-in-buffer|find-file-at-mouse|find-if|find-invisible-foreground|find-invisible|find-library-dir|find-olp|find-overlays|find-text-property-in-string|find-visible|first-headline-recenter|first-sibling-p|fit-window-to-buffer|fix-decoded-time|fix-indentation|fix-position-after-promote|fix-tags-on-the-fly|fixup-indentation|fixup-message-id-for-http|flag-drawer|flag-heading|flag-subtree|float-time|floor\\\\*|follow-timestamp-link|font-lock-add-priority-faces|font-lock-add-tag-faces|font-lock-ensure|font-lock-hook|fontify-entities|fontify-like-in-org-mode|fontify-meta-lines-and-blocks-1|fontify-meta-lines-and-blocks|footnote-action|footnote-all-labels|footnote-at-definition-p|footnote-at-reference-p|footnote-auto-adjust-maybe|footnote-create-definition|footnote-delete-definitions|footnote-delete-references|footnote-delete|footnote-get-definition|footnote-get-next-reference|footnote-goto-definition|footnote-goto-local-insertion-point|footnote-goto-previous-reference|footnote-in-valid-context-p|footnote-new|footnote-next-reference-or-definition|footnote-normalize-label|footnote-normalize|footnote-renumber-fn:N|footnote-unique-label|force-cycle-archived|force-self-insert|format-latex-as-mathml|format-latex-mathml-available-p|format-latex|format-outline-path|format-seconds|forward-element|forward-heading-same-level|forward-paragraph|forward-sentence|get-agenda-file-buffer|get-alist-option|get-at-bol|get-buffer-for-internal-link|get-buffer-tags|get-category|get-checkbox-statistics-face|get-compact-tod|get-cursor-date|get-date-from-calendar|get-deadline-time|get-entry|get-export-keywords|get-heading|get-indentation|get-indirect-buffer|get-last-sibling|get-level-face|get-limited-outline-regexp|get-local-tags-at|get-local-tags|get-local-variables|get-location|get-next-sibling|get-org-file|get-outline-path|get-packages-alist|get-previous-line-level|get-priority|get-property-block|get-repeat|get-scheduled-time|get-string-indentation|get-tag-face|get-tags-at|get-tags-string|get-tags|get-todo-face|get-todo-sequence-head|get-todo-state|get-valid-level|get-wdays|get-x-clipboard-compat|get-x-clipboard|git-version|global-cycle|global-tags-completion-table|goto-calendar|goto-first-child|goto-left|goto-line|goto-local-auto-isearch|goto-local-search-headings|goto-map|goto-marker-or-bmk|goto-quit|goto-ret|goto-right|goto-sibling|goto|heading-components|hh:mm-string-to-minutes|hidden-tree-error|hide-archived-subtrees|hide-block-all|hide-block-toggle-all|hide-block-toggle-maybe|hide-block-toggle|hide-wide-columns|highlight-new-match|hours-to-clocksum-string|html-convert-region-to-html|html-export-as-html|html-export-to-html|html-htmlize-generate-css|html-publish-to-html|icalendar-combine-agenda-files|icalendar-export-agenda-files|icalendar-export-to-ics|icompleting-read|id-copy|id-find-id-file|id-find|id-get-create|id-get-with-outline-drilling|id-get-with-outline-path-completion|id-get|id-goto|id-new|id-store-link|id-update-id-locations|ido-switchb|image-file-name-regexp|imenu-get-tree|imenu-new-marker|in-block-p|in-clocktable-p|in-commented-line|in-drawer-p|in-fixed-width-region-p|in-indented-comment-line|in-invisibility-spec-p|in-item-p|in-regexp|in-src-block-p|in-subtree-not-table-p|in-verbatim-emphasis|inc-effort|indent-block|indent-drawer|indent-item-tree|indent-item|indent-line-to|indent-line|indent-mode|indent-region|indent-to-column|info|inhibit-invisibility|insert-all-links|insert-columns-dblock|insert-comment|insert-drawer|insert-heading-after-current|insert-heading-respect-content|insert-heading|insert-item|insert-link-global|insert-link|insert-property-drawer|insert-subheading|insert-time-stamp|insert-todo-heading-respect-content|insert-todo-heading|insert-todo-subheading|inside-LaTeX-fragment-p|inside-latex-macro-p|install-agenda-files-menu|invisible-p2|irc-store-link|iread-file-name|isearch-end|isearch-post-command|iswitchb-completing-read|iswitchb|item-beginning-re|item-re|key|kill-is-subtree-p|kill-line|kill-new|kill-note-or-show-branches|last|latex-color-format|latex-color|latex-convert-region-to-latex|latex-export-as-latex|latex-export-to-latex|latex-export-to-pdf|latex-packages-to-string|latex-publish-to-latex|latex-publish-to-pdf|let2??|level-increment|link-display-format|link-escape|link-expand-abbrev|link-fontify-links-to-this-file|link-prettify|link-search|link-try-special-completion|link-unescape-compound|link-unescape-single-byte-sequence|link-unescape|list-at-regexp-after-bullet-p|list-bullet-string|list-context|list-delete-item|list-get-all-items|list-get-bottom-point|list-get-bullet|list-get-checkbox|list-get-children|list-get-counter|list-get-first-item|list-get-ind|list-get-item-begin|list-get-item-end-before-blank|list-get-item-end|list-get-item-number|list-get-last-item|list-get-list-begin|list-get-list-end|list-get-list-type|list-get-next-item|list-get-nth|list-get-parent|list-get-prev-item|list-get-subtree|list-get-tag|list-get-top-point|list-has-child-p|list-in-valid-context-p|list-inc-bullet-maybe|list-indent-item-generic|list-insert-item|list-insert-radio-list|list-item-body-column|list-item-trim-br|list-make-subtree|list-parents-alist|list-prevs-alist|list-repair|list-search-backward|list-search-forward|list-search-generic|list-send-item|list-send-list|list-separating-blank-lines-number|list-set-bullet|list-set-checkbox|list-set-ind|list-set-item-visibility|list-set-nth|list-struct-apply-struct|list-struct-assoc-end|list-struct-fix-box|list-struct-fix-bul|list-struct-fix-ind|list-struct-fix-item-end|list-struct-indent|list-struct-outdent|list-swap-items|list-to-generic|list-to-html|list-to-latex|list-to-subtree|list-to-texinfo|list-use-alpha-bul-p|list-write-struct|load-modules-maybe|load-noerror-mustsuffix|local-logging|log-into-drawer|looking-at-p|looking-back|macro--collect-macros|macro-expand|macro-initialize-templates|macro-replace-all|make-link-regexps|make-link-string|make-options-regexp|make-org-heading-search-string|make-parameter-alist|make-tags-matcher|make-target-link-regexp|make-tdiff-string|map-dblocks|map-entries|map-region|map-tree|mark-element|mark-ring-goto|mark-ring-push|mark-subtree|match-any-p|match-line|match-sparse-tree|match-string-no-properties|matcher-time|maybe-intangible|md-convert-region-to-md|md-export-as-markdown|md-export-to-markdown|meta-return|metadown|metaleft|metaright|metaup|minutes-to-clocksum-string|minutes-to-hh:mm-string|mobile-pull|mobile-push|mode-flyspell-verify|mode-restart|mode|modifier-cursor-error)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:org-modify-ts-extra|org-move-item-down|org-move-item-up|org-move-subtree-down|org-move-subtree-up|org-move-to-column|org-narrow-to-block|org-narrow-to-element|org-narrow-to-subtree|org-next-block|org-next-item|org-next-link|org-no-popups|org-no-properties|org-no-read-only|org-no-warnings|org-normalize-color|org-not-nil|org-notes-order-reversed-p|org-number-sequence|org-occur-in-agenda-files|org-occur-link-in-agenda-files|org-occur-next-match|org-occur|org-odt-convert|org-odt-export-as-odf-and-open|org-odt-export-as-odf|org-odt-export-to-odt|org-offer-links-in-entry|org-olpath-completing-read|org-on-heading-p|org-on-target-p|org-op-to-function|org-open-at-mouse|org-open-at-point-global|org-open-at-point|org-open-file-with-emacs|org-open-file-with-system|org-open-file|org-open-line|org-open-link-from-string|org-optimize-window-after-visibility-change|org-order-calendar-date-args|org-org-export-as-org|org-org-export-to-org|org-org-menu|org-org-publish-to-org|org-outdent-item-tree|org-outdent-item|org-outline-level|org-outline-overlay-data|org-overlay-before-string|org-overlay-display|org-overview|org-parse-arguments|org-parse-time-string|org-paste-special|org-paste-subtree|org-pcomplete-case-double|org-pcomplete-initial|org-plist-delete|org-plot/gnuplot|org-point-at-end-of-empty-headline|org-point-in-group|org-pop-to-buffer-same-window|org-pos-in-match-range|org-prepare-dblock|org-preserve-lc|org-preview-latex-fragment|org-previous-block|org-previous-item|org-previous-line-empty-p|org-previous-link|org-print-speed-command|org-priority-down|org-priority-up|org-priority|org-promote-subtree|org-promote|org-propertize|org-property-action|org-property-get-allowed-values|org-property-inherit-p|org-property-next-allowed-value|org-property-or-variable-value|org-property-previous-allowed-value|org-property-values|org-protect-slash|org-publish-all|org-publish-current-file|org-publish-current-project|org-publish-project|org-publish|org-quote-csv-field|org-quote-vert|org-raise-scripts|org-re-property|org-re-timestamp|org-re|org-read-agenda-file-list|org-read-date-analyze|org-read-date-display|org-read-date-get-relative|org-read-date|org-read-property-name|org-read-property-value|org-rear-nonsticky-at|org-recenter-calendar|org-redisplay-inline-images|org-reduce|org-reduced-level|org-refile--get-location|org-refile-cache-check-set|org-refile-cache-clear|org-refile-cache-get|org-refile-cache-put|org-refile-check-position|org-refile-get-location|org-refile-get-targets|org-refile-goto-last-stored|org-refile-marker|org-refile-new-child|org-refile|org-refresh-category-properties|org-refresh-properties|org-reftex-citation|org-region-active-p|org-reinstall-markers-in-region|org-release-buffers|org-release|org-reload|org-remap|org-remove-angle-brackets|org-remove-double-quotes|org-remove-empty-drawer-at|org-remove-empty-overlays-at|org-remove-file|org-remove-flyspell-overlays-in|org-remove-font-lock-display-properties|org-remove-from-invisibility-spec|org-remove-if-not|org-remove-if|org-remove-indentation|org-remove-inline-images|org-remove-keyword-keys|org-remove-latex-fragment-image-overlays|org-remove-occur-highlights|org-remove-tabs|org-remove-timestamp-with-keyword|org-remove-uninherited-tags|org-replace-escapes|org-replace-match-keep-properties|org-require-autoloaded-modules|org-reset-checkbox-state-subtree|org-resolve-clocks|org-restart-font-lock|org-return-indent|org-return|org-reveal|org-reverse-string|org-revert-all-org-buffers|org-run-like-in-org-mode|org-save-all-org-buffers|org-save-markers-in-region|org-save-outline-visibility|org-sbe|org-scan-tags|org-schedule|org-search-not-self|org-search-view|org-select-frame-set-input-focus|org-self-insert-command|org-set-current-tags-overlay|org-set-effort|org-set-emph-re|org-set-font-lock-defaults|org-set-frame-title|org-set-local|org-set-modules|org-set-outline-overlay-data|org-set-packages-alist|org-set-property-and-value|org-set-property-function|org-set-property|org-set-regexps-and-options-for-tags|org-set-regexps-and-options|org-set-startup-visibility|org-set-tag-faces|org-set-tags-command|org-set-tags-to|org-set-tags|org-set-transient-map|org-set-visibility-according-to-property|org-setup-comments-handling|org-setup-filling|org-shiftcontroldown|org-shiftcontrolleft|org-shiftcontrolright|org-shiftcontrolup|org-shiftdown|org-shiftleft|org-shiftmetadown|org-shiftmetaleft|org-shiftmetaright|org-shiftmetaup|org-shiftright|org-shiftselect-error|org-shifttab|org-shiftup|org-shorten-string|org-show-block-all|org-show-context|org-show-empty-lines-in-parent|org-show-entry|org-show-hidden-entry|org-show-priority|org-show-siblings|org-show-subtree|org-show-todo-tree|org-skip-over-state-notes|org-skip-whitespace|org-small-year-to-year|org-some|org-sort-entries|org-sort-list|org-sort-remove-invisible|org-sort|org-sparse-tree|org-speed-command-activate|org-speed-command-default-hook|org-speed-command-help|org-speed-move-safe|org-speedbar-set-agenda-restriction|org-splice-latex-header|org-split-string|org-src-associate-babel-session|org-src-babel-configure-edit-buffer|org-src-construct-edit-buffer-name|org-src-do-at-code-block|org-src-do-key-sequence-at-code-block|org-src-edit-buffer-p|org-src-font-lock-fontify-block|org-src-fontify-block|org-src-fontify-buffer|org-src-get-lang-mode|org-src-in-org-buffer|org-src-mode-configure-edit-buffer|org-src-mode|org-src-native-tab-command-maybe|org-src-switch-to-buffer|org-src-tangle|org-store-agenda-views|org-store-link-props|org-store-link|org-store-log-note|org-store-new-agenda-file-list|org-string-match-p|org-string-nw-p|org-string-width|org-string<=|org-string<>|org-string>=??|org-sublist|org-submit-bug-report|org-substitute-posix-classes|org-subtree-end-visible-p|org-switch-to-buffer-other-window|org-switchb|org-table-align|org-table-begin|org-table-blank-field|org-table-convert-region|org-table-convert|org-table-copy-down|org-table-copy-region|org-table-create-or-convert-from-region|org-table-create-with-table\\\\.el|org-table-create|org-table-current-dline|org-table-cut-region|org-table-delete-column|org-table-edit-field|org-table-edit-formulas|org-table-end|org-table-eval-formula|org-table-export|org-table-field-info|org-table-get-stored-formulas|org-table-goto-column|org-table-hline-and-move|org-table-import|org-table-insert-column|org-table-insert-hline|org-table-insert-row|org-table-iterate-buffer-tables|org-table-iterate|org-table-justify-field-maybe|org-table-kill-row|org-table-map-tables|org-table-maybe-eval-formula|org-table-maybe-recalculate-line|org-table-move-column-left|org-table-move-column-right|org-table-move-column|org-table-move-row-down|org-table-move-row-up|org-table-move-row|org-table-next-field|org-table-next-row|org-table-p|org-table-paste-rectangle|org-table-previous-field|org-table-recalculate-buffer-tables|org-table-recalculate|org-table-recognize-table\\\\.el|org-table-rotate-recalc-marks|org-table-set-constants|org-table-sort-lines|org-table-sum|org-table-to-lisp|org-table-toggle-coordinate-overlays|org-table-toggle-formula-debugger|org-table-wrap-region|org-tag-inherit-p|org-tags-completion-function|org-tags-expand|org-tags-sparse-tree|org-tags-view|org-tbl-menu|org-texinfo-convert-region-to-texinfo|org-texinfo-publish-to-texinfo|org-thing-at-point|org-time-from-absolute|org-time-stamp-format|org-time-stamp-inactive|org-time-stamp-to-now|org-time-stamp|org-time-string-to-absolute|org-time-string-to-seconds|org-time-string-to-time|org-time-today|org-time<=??|org-time<>|org-time=|org-time>=??|org-timer-change-times-in-region|org-timer-item|org-timer-set-timer|org-timer-start|org-timer|org-timestamp-change|org-timestamp-down-day|org-timestamp-down|org-timestamp-format|org-timestamp-has-time-p|org-timestamp-split-range|org-timestamp-translate|org-timestamp-up-day|org-timestamp-up|org-today|org-todo-list|org-todo-trigger-tag-changes|org-todo-yesterday|org-todo|org-toggle-archive-tag|org-toggle-checkbox|org-toggle-comment|org-toggle-custom-properties-visibility|org-toggle-fixed-width-section|org-toggle-heading|org-toggle-inline-images|org-toggle-item|org-toggle-link-display|org-toggle-ordered-property|org-toggle-pretty-entities|org-toggle-sticky-agenda|org-toggle-tag|org-toggle-tags-groups|org-toggle-time-stamp-overlays|org-toggle-timestamp-type|org-tr-level|org-translate-link-from-planner|org-translate-link|org-translate-time|org-transpose-element|org-transpose-words|org-tree-to-indirect-buffer|org-trim|org-truely-invisible-p|org-try-cdlatex-tab|org-try-structure-completion|org-unescape-code-in-region|org-unescape-code-in-string|org-unfontify-region|org-unindent-buffer|org-uniquify-alist|org-uniquify|org-unlogged-message|org-unmodified|org-up-element|org-up-heading-all|org-up-heading-safe|org-update-all-dblocks|org-update-checkbox-count-maybe|org-update-checkbox-count|org-update-dblock|org-update-parent-todo-statistics|org-update-property-plist|org-update-radio-target-regexp|org-update-statistics-cookies|org-uuidgen-p|org-version-check|org-version|org-with-gensyms|org-with-limited-levels|org-with-point-at|org-with-remote-undo|org-with-silent-modifications|org-with-wide-buffer|org-without-partial-completion|org-wrap|org-xemacs-without-invisibility|org-xor|org-yank-folding-would-swallow-text|org-yank-generic|org-yank|org<>|orgstruct\\\\+\\\\+-mode|orgstruct-error|orgstruct-make-binding|orgstruct-mode|orgstruct-setup|orgtbl-mode|orgtbl-to-csv|orgtbl-to-generic|orgtbl-to-html|orgtbl-to-latex|orgtbl-to-orgtbl|orgtbl-to-texinfo|orgtbl-to-tsv|oset-default|oset|other-frame|other-window-for-scrolling|outline-back-to-heading|outline-backward-same-level|outline-demote|outline-end-of-heading|outline-end-of-subtree|outline-flag-region|outline-flag-subtree|outline-font-lock-face|outline-forward-same-level|outline-get-last-sibling|outline-get-next-sibling|outline-head-from-level|outline-headers-as-kill|outline-insert-heading|outline-invent-heading|outline-invisible-p|outline-isearch-open-invisible|outline-level|outline-map-region|outline-mark-subtree|outline-minor-mode|outline-mode|outline-move-subtree-down|outline-move-subtree-up|outline-next-heading|outline-next-preface|outline-next-visible-heading|outline-on-heading-p|outline-previous-heading|outline-previous-visible-heading|outline-promote|outline-reveal-toggle-invisible|outline-show-heading|outline-toggle-children|outline-up-heading|outlineify-sticky|outlinify-sticky|overlay-lists|overload-docstring-extension|overload-obsoleted-by|overload-that-obsolete|package--ac-desc-extras--cmacro|package--ac-desc-extras|package--ac-desc-kind--cmacro|package--ac-desc-kind|package--ac-desc-reqs--cmacro|package--ac-desc-reqs|package--ac-desc-summary--cmacro|package--ac-desc-summary|package--ac-desc-version--cmacro|package--ac-desc-version|package--add-to-archive-contents|package--alist-to-plist-args|package--archive-file-exists-p|package--bi-desc-reqs--cmacro|package--bi-desc-reqs|package--bi-desc-summary--cmacro|package--bi-desc-summary|package--bi-desc-version--cmacro|package--bi-desc-version|package--check-signature|package--compile|package--description-file|package--display-verify-error|package--download-one-archive|package--from-builtin|package--has-keyword-p|package--list-loaded-files|package--make-autoloads-and-stuff|package--mapc|package--prepare-dependencies|package--push|package--read-archive-file|package--with-work-buffer|package--write-file-no-coding|package-activate-1|package-activate|package-all-keywords|package-archive-base|package-autoload-ensure-default-file|package-buffer-info|package-built-in-p|package-compute-transaction|package-delete|package-desc--keywords|package-desc-archive--cmacro|package-desc-archive|package-desc-create--cmacro|package-desc-create|package-desc-dir--cmacro|package-desc-dir|package-desc-extras--cmacro|package-desc-extras|package-desc-from-define|package-desc-full-name|package-desc-kind--cmacro|package-desc-kind|package-desc-name--cmacro|package-desc-name|package-desc-p--cmacro|package-desc-p|package-desc-reqs--cmacro|package-desc-reqs|package-desc-signed--cmacro|package-desc-signed|package-desc-status|package-desc-suffix|package-desc-summary--cmacro|package-desc-summary|package-desc-version--cmacro|package-desc-version|package-disabled-p|package-download-transaction|package-generate-autoloads|package-generate-description-file|package-import-keyring|package-install-button-action|package-install-file|package-install-from-archive)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)p(?:ackage-install-from-buffer|ackage-install|ackage-installed-p|ackage-keyword-button-action|ackage-list-packages-no-fetch|ackage-list-packages|ackage-load-all-descriptors|ackage-load-descriptor|ackage-make-ac-desc--cmacro|ackage-make-ac-desc|ackage-make-builtin--cmacro|ackage-make-builtin|ackage-make-button|ackage-menu--archive-predicate|ackage-menu--description-predicate|ackage-menu--find-upgrades|ackage-menu--generate|ackage-menu--name-predicate|ackage-menu--print-info|ackage-menu--refresh|ackage-menu--status-predicate|ackage-menu--version-predicate|ackage-menu-backup-unmark|ackage-menu-describe-package|ackage-menu-execute|ackage-menu-filter|ackage-menu-get-status|ackage-menu-mark-delete|ackage-menu-mark-install|ackage-menu-mark-obsolete-for-deletion|ackage-menu-mark-unmark|ackage-menu-mark-upgrades|ackage-menu-mode|ackage-menu-quick-help|ackage-menu-refresh|ackage-menu-view-commentary|ackage-process-define-package|ackage-read-all-archive-contents|ackage-read-archive-contents|ackage-read-from-string|ackage-refresh-contents|ackage-show-package-list|ackage-strip-rcs-id|ackage-tar-file-info|ackage-unpack|ackage-untar-buffer|ackage-version-join|ages-copy-header-and-position|ages-directory-address-mode|ages-directory-for-addresses|ages-directory-goto-with-mouse|ages-directory-goto|ages-directory-mode|ages-directory|airlis|aragraph-indent-minor-mode|aragraph-indent-text-mode|arse-iso8601-time-string|arse-time-string-chars|arse-time-string|arse-time-tokenize|ascal-beg-of-defun|ascal-build-defun-re|ascal-calculate-indent|ascal-capitalize-keywords|ascal-change-keywords|ascal-comment-area|ascal-comp-defun|ascal-complete-word|ascal-completion|ascal-completions-at-point|ascal-declaration-beg|ascal-declaration-end|ascal-downcase-keywords|ascal-end-of-defun|ascal-end-of-statement|ascal-func-completion|ascal-get-completion-decl|ascal-get-default-symbol|ascal-get-lineup-indent|ascal-goto-defun|ascal-hide-other-defuns|ascal-indent-case|ascal-indent-command|ascal-indent-comment|ascal-indent-declaration|ascal-indent-level|ascal-indent-line|ascal-indent-paramlist|ascal-insert-block|ascal-keyword-completion|ascal-mark-defun|ascal-mode|ascal-outline-change|ascal-outline-goto-defun|ascal-outline-mode|ascal-outline-next-defun|ascal-outline-prev-defun|ascal-outline|ascal-set-auto-comments|ascal-show-all|ascal-show-completions|ascal-star-comment|ascal-string-diff|ascal-type-completion|ascal-uncomment-area|ascal-upcase-keywords|ascal-var-completion|ascal-within-string|assword-cache-add|assword-cache-remove|assword-in-cache-p|assword-read-and-add|assword-read-from-cache|assword-read|assword-reset|case--and|case--app-subst-match|case--app-subst-rest|case--eval|case--expand|case--fgrep|case--flip|case--funcall|case--if|case--let\\\\*|case--macroexpand|case--mark-used|case--match|case--mutually-exclusive-p|case--self-quoting-p|case--small-branch-p|case--split-equal|case--split-match|case--split-member|case--split-pred|case--split-rest|case--trivial-upat-p|case--u1??|case-codegen|case-defmacro|case-dolist|case-exhaustive|case-let\\\\*?|complete/ack-grep|complete/ack|complete/ag|complete/bzip2|complete/cd|complete/chgrp|complete/chown|complete/cvs|complete/erc-mode/CLEARTOPIC|complete/erc-mode/CTCP|complete/erc-mode/DCC|complete/erc-mode/DEOP|complete/erc-mode/DESCRIBE|complete/erc-mode/IDLE|complete/erc-mode/KICK|complete/erc-mode/LEAVE|complete/erc-mode/LOAD|complete/erc-mode/ME|complete/erc-mode/MODE|complete/erc-mode/MSG|complete/erc-mode/NAMES|complete/erc-mode/NOTICE|complete/erc-mode/NOTIFY|complete/erc-mode/OP|complete/erc-mode/PART|complete/erc-mode/QUERY|complete/erc-mode/SAY|complete/erc-mode/SOUND|complete/erc-mode/TOPIC|complete/erc-mode/UNIGNORE|complete/erc-mode/WHOIS|complete/erc-mode/complete-command|complete/eshell-mode/eshell-debug|complete/eshell-mode/export|complete/eshell-mode/setq|complete/eshell-mode/unset|complete/gdb|complete/gzip|complete/kill|complete/make|complete/mount|complete/org-mode/block-option/clocktable|complete/org-mode/block-option/src|complete/org-mode/drawer|complete/org-mode/file-option/author|complete/org-mode/file-option/bind|complete/org-mode/file-option/date|complete/org-mode/file-option/email|complete/org-mode/file-option/exclude_tags|complete/org-mode/file-option/filetags|complete/org-mode/file-option/infojs_opt|complete/org-mode/file-option/language|complete/org-mode/file-option/options|complete/org-mode/file-option/priorities|complete/org-mode/file-option/select_tags|complete/org-mode/file-option/startup|complete/org-mode/file-option/tags|complete/org-mode/file-option/title|complete/org-mode/file-option|complete/org-mode/link|complete/org-mode/prop|complete/org-mode/searchhead|complete/org-mode/tag|complete/org-mode/tex|complete/org-mode/todo|complete/pushd|complete/rm|complete/rmdir|complete/rpm|complete/scp|complete/ssh|complete/tar|complete/time|complete/tlmgr|complete/umount|complete/which|complete/xargs|complete--common-suffix|complete--entries|complete--help|complete--here|complete--test|complete-actual-arg|complete-all-entries|complete-arg|complete-begin|complete-comint-setup|complete-command-name|complete-completions-at-point|complete-completions|complete-continue|complete-dirs-or-entries|complete-dirs|complete-do-complete|complete-entries|complete-erc-all-nicks|complete-erc-channels|complete-erc-command-name|complete-erc-commands|complete-erc-nicks|complete-erc-not-ops|complete-erc-ops|complete-erc-parse-arguments|complete-erc-setup|complete-event-matches-key-specifier-p|complete-executables|complete-expand-and-complete|complete-expand|complete-find-completion-function|complete-help|complete-here\\\\*?|complete-insert-entry|complete-list|complete-match-beginning|complete-match-end|complete-match-string|complete-match|complete-next-arg|complete-opt|complete-parse-arguments|complete-parse-buffer-arguments|complete-parse-comint-arguments|complete-process-result|complete-quote-argument|complete-read-event|complete-restore-windows|complete-reverse|complete-shell-setup|complete-show-completions|complete-std-complete|complete-stub|complete-test|complete-uniqify-list|complete-unquote-argument|complete|db|ending-delete-mode|erl-backward-to-noncomment|erl-backward-to-start-of-continued-exp|erl-beginning-of-function|erl-calculate-indent|erl-comment-indent|erl-continuation-line-p|erl-current-defun-name|erl-electric-noindent-p|erl-electric-terminator|erl-end-of-function|erl-font-lock-syntactic-face-function|erl-hanging-paren-p|erl-indent-command|erl-indent-exp|erl-indent-line|erl-indent-new-calculate|erl-mark-function|erl-mode|erl-outline-level|erl-quote-syntax-table|erl-syntax-propertize-function|erl-syntax-propertize-special-constructs|erldb|icture-backward-clear-column|icture-backward-column|icture-beginning-of-line|icture-clear-column|icture-clear-line|icture-clear-rectangle-to-register|icture-clear-rectangle|icture-current-line|icture-delete-char|icture-draw-rectangle|icture-duplicate-line|icture-end-of-line|icture-forward-column|icture-insert-rectangle|icture-insert|icture-mode-exit|icture-mode|icture-motion-reverse|icture-motion|icture-mouse-set-point|icture-move-down|icture-move-up|icture-move|icture-movement-down|icture-movement-left|icture-movement-ne|icture-movement-nw|icture-movement-right|icture-movement-se|icture-movement-sw|icture-movement-up|icture-newline|icture-open-line|icture-replace-match|icture-self-insert|icture-set-motion|icture-set-tab-stops|icture-snarf-rectangle|icture-tab-search|icture-tab|icture-update-desired-column|icture-yank-at-click|icture-yank-rectangle-from-register|icture-yank-rectangle|ike-font-lock-keywords-2|ike-font-lock-keywords-3|ike-font-lock-keywords|ike-mode|ing|lain-TeX-mode|lain-tex-mode|lay-sound-internal|lstore-delete|lstore-find|lstore-get-file|lstore-mode|lstore-open|lstore-put|lstore-save|lusp|o-find-charset|o-find-file-coding-system-guts|o-find-file-coding-system|oint-at-bol|oint-at-eol|oint-to-register|ong-display-options|ong-init-buffer|ong-init|ong-move-down|ong-move-left|ong-move-right|ong-move-up|ong-pause|ong-quit|ong-resume|ong-update-bat|ong-update-game|ong-update-score|ong|op-global-mark|op-tag-mark|op-to-buffer-same-window|op-to-mark-command|op3-movemail|opup-menu-normalize-position|opup-menu|osition-if-not|osition-if|osition|osn-set-point|ost-read-decode-hz|p-buffer|p-display-expression|p-eval-expression|p-eval-last-sexp|p-last-sexp|p-macroexpand-expression|p-macroexpand-last-sexp|p-to-string|r-alist-custom-set|r-article-date|r-auto-mode-p|r-call-process|r-choice-alist|r-command|r-complete-alist|r-create-interface|r-customize|r-delete-file-if-exists|r-delete-file|r-despool-preview|r-despool-print|r-despool-ps-print|r-despool-using-ghostscript|r-do-update-menus|r-dosify-file-name|r-eval-alist|r-eval-local-alist|r-eval-setting-alist|r-even-or-odd-pages|r-expand-file-name|r-file-list|r-find-buffer-visiting|r-find-command|r-get-symbol|r-global-menubar|r-gnus-lpr|r-gnus-print|r-help|r-i-directory|r-i-ps-send|r-insert-button|r-insert-checkbox|r-insert-italic|r-insert-menu|r-insert-radio-button|r-insert-section-1|r-insert-section-2|r-insert-section-3|r-insert-section-4|r-insert-section-5|r-insert-section-6|r-insert-section-7|r-insert-toggle|r-interactive-dir-args|r-interactive-dir|r-interactive-n-up-file|r-interactive-n-up-inout|r-interactive-n-up|r-interactive-ps-dir-args|r-interactive-regexp|r-interface-directory|r-interface-help|r-interface-infile|r-interface-outfile|r-interface-preview|r-interface-printify|r-interface-ps-print|r-interface-ps|r-interface-quit|r-interface-save|r-interface-txt-print|r-interface|r-keep-region-active|r-kill-help|r-kill-local-variable|r-local-variable|r-lpr-message-from-summary|r-menu-alist|r-menu-bind|r-menu-char-height|r-menu-char-width|r-menu-create|r-menu-get-item|r-menu-index|r-menu-lock|r-menu-lookup|r-menu-position|r-menu-set-item-name|r-menu-set-ps-title|r-menu-set-txt-title|r-menu-set-utility-title|r-mh-current-message|r-mh-lpr-1|r-mh-lpr-2|r-mh-print-1|r-mh-print-2|r-mode-alist-p|r-mode-lpr|r-mode-print|r-path-command|r-printify-buffer|r-printify-directory|r-printify-region|r-prompt-gs|r-prompt-region|r-prompt|r-ps-buffer-preview|r-ps-buffer-print|r-ps-buffer-ps-print|r-ps-buffer-using-ghostscript|r-ps-directory-preview|r-ps-directory-print|r-ps-directory-ps-print|r-ps-directory-using-ghostscript|r-ps-fast-fire|r-ps-file-list|r-ps-file-preview|r-ps-file-print|r-ps-file-ps-print|r-ps-file-up-preview|r-ps-file-up-ps-print|r-ps-file-using-ghostscript|r-ps-file|r-ps-infile-preprint|r-ps-message-from-summary|r-ps-mode-preview|r-ps-mode-print|r-ps-mode-ps-print|r-ps-mode-using-ghostscript|r-ps-mode|r-ps-name-custom-set|r-ps-name|r-ps-outfile-preprint|r-ps-preview|r-ps-print|r-ps-region-preview|r-ps-region-print|r-ps-region-ps-print|r-ps-region-using-ghostscript|r-ps-set-printer|r-ps-set-utility|r-ps-using-ghostscript|r-ps-utility-args|r-ps-utility-custom-set|r-ps-utility-process|r-ps-utility|r-read-string|r-region-active-p|r-region-active-string|r-region-active-symbol|r-remove-nil-from-list|r-rmail-lpr|r-rmail-print|r-save-file-modes|r-set-dir-args|r-set-keymap-name|r-set-keymap-parents|r-set-n-up-and-filename|r-set-outfilename|r-set-ps-dir-args|r-setup|r-show-lpr-setup|r-show-pr-setup|r-show-ps-setup|r-show-setup|r-standard-file-name|r-switches-string|r-switches|r-text2ps|r-toggle-duplex-menu|r-toggle-duplex|r-toggle-faces-menu|r-toggle-faces|r-toggle-file-duplex-menu|r-toggle-file-duplex)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)p(?:r-toggle-file-landscape-menu|r-toggle-file-landscape|r-toggle-file-tumble-menu|r-toggle-file-tumble|r-toggle-ghostscript-menu|r-toggle-ghostscript|r-toggle-header-frame-menu|r-toggle-header-frame|r-toggle-header-menu|r-toggle-header|r-toggle-landscape-menu|r-toggle-landscape|r-toggle-line-menu|r-toggle-line|r-toggle-lock-menu|r-toggle-lock|r-toggle-mode-menu|r-toggle-mode|r-toggle-region-menu|r-toggle-region|r-toggle-spool-menu|r-toggle-spool|r-toggle-tumble-menu|r-toggle-tumble|r-toggle-upside-down-menu|r-toggle-upside-down|r-toggle-zebra-menu|r-toggle-zebra|r-toggle|r-txt-buffer|r-txt-directory|r-txt-fast-fire|r-txt-mode|r-txt-name-custom-set|r-txt-name|r-txt-print|r-txt-region|r-txt-set-printer|r-unixify-file-name|r-update-checkbox|r-update-menus|r-update-mode-line|r-update-radio-button|r-update-var|r-using-ghostscript-p|r-visible-p|r-vm-lpr|r-vm-print|r-widget-field-action|re-write-encode-hz|receding-sexp|refer-coding-system|repare-abbrev-list-buffer|repend-to-buffer|repend-to-register|rettify-symbols--compose-symbol|rettify-symbols--make-keywords|rettify-symbols-mode-set-explicitly|rettify-symbols-mode|revious-buffer|revious-completion|revious-error-no-select|revious-error|revious-ifdef|revious-line-or-history-element|revious-line|revious-logical-line|revious-multiframe-window|revious-page|rin1-char|rinc-list|rint-buffer|rint-help-return-message|rint-region-1|rint-region-new-buffer|rint-region|rintify-region|roced-<|roced-auto-update-timer|roced-children-alist|roced-children-pids|roced-do-mark-all|roced-do-mark|roced-filter-children|roced-filter-interactive|roced-filter-parents|roced-filter|roced-format-args|roced-format-interactive|roced-format-start|roced-format-time|roced-format-tree|roced-format-ttname|roced-format|roced-header-line|roced-help|roced-insert-mark|roced-log-summary|roced-log|roced-mark-all|roced-mark-children|roced-mark-parents|roced-mark-process-alist|roced-mark|roced-marked-processes|roced-marker-regexp|roced-menu|roced-mode|roced-move-to-goal-column|roced-omit-process|roced-omit-processes|roced-pid-at-point|roced-process-attributes|roced-process-tree-internal|roced-process-tree|roced-refine|roced-renice|roced-revert|roced-send-signal|roced-sort-header|roced-sort-interactive|roced-sort-p|roced-sort-pcpu|roced-sort-pid|roced-sort-pmem|roced-sort-start|roced-sort-time|roced-sort-user|roced-sort|roced-string-lessp|roced-success-message|roced-time-lessp|roced-toggle-auto-update|roced-toggle-marks|roced-toggle-tree|roced-tree-insert|roced-tree|roced-undo|roced-unmark-all|roced-unmark-backward|roced-unmark|roced-update|roced-why|roced-with-processes-buffer|roced-xor|roced|rocess-filter-multibyte-p|rocess-inherit-coding-system-flag|rocess-kill-without-query|rocess-menu-delete-process|rocess-menu-mode|rocess-menu-visit-buffer|roclaim|roduce-allout-mode-menubar-entries|rofiler-calltree-build-1|rofiler-calltree-build-unified|rofiler-calltree-build|rofiler-calltree-children--cmacro|rofiler-calltree-children|rofiler-calltree-compute-percentages|rofiler-calltree-count--cmacro|rofiler-calltree-count-percent--cmacro|rofiler-calltree-count-percent|rofiler-calltree-count|rofiler-calltree-depth|rofiler-calltree-entry--cmacro|rofiler-calltree-entry|rofiler-calltree-find|rofiler-calltree-leaf-p|rofiler-calltree-p--cmacro|rofiler-calltree-p|rofiler-calltree-parent--cmacro|rofiler-calltree-parent|rofiler-calltree-sort|rofiler-calltree-walk|rofiler-compare-logs|rofiler-compare-profiles|rofiler-cpu-log|rofiler-cpu-profile|rofiler-cpu-running-p|rofiler-cpu-start|rofiler-cpu-stop|rofiler-ensure-string|rofiler-find-profile-other-frame|rofiler-find-profile-other-window|rofiler-find-profile|rofiler-fixup-backtrace|rofiler-fixup-entry|rofiler-fixup-log|rofiler-fixup-profile|rofiler-format-entry|rofiler-format-number|rofiler-format-percent|rofiler-format|rofiler-make-calltree--cmacro|rofiler-make-calltree|rofiler-make-profile--cmacro|rofiler-make-profile|rofiler-memory-log|rofiler-memory-profile|rofiler-memory-running-p|rofiler-memory-start|rofiler-memory-stop|rofiler-profile-diff-p--cmacro|rofiler-profile-diff-p|rofiler-profile-log--cmacro|rofiler-profile-log|rofiler-profile-tag--cmacro|rofiler-profile-tag|rofiler-profile-timestamp--cmacro|rofiler-profile-timestamp|rofiler-profile-type--cmacro|rofiler-profile-type|rofiler-profile-version--cmacro|rofiler-profile-version|rofiler-read-profile|rofiler-report-ascending-sort|rofiler-report-calltree-at-point|rofiler-report-collapse-entry|rofiler-report-compare-profile|rofiler-report-cpu|rofiler-report-descending-sort|rofiler-report-describe-entry|rofiler-report-expand-entry|rofiler-report-find-entry|rofiler-report-header-line-format|rofiler-report-insert-calltree-children|rofiler-report-insert-calltree|rofiler-report-line-format|rofiler-report-make-buffer-name|rofiler-report-make-entry-part|rofiler-report-make-name-part|rofiler-report-memory|rofiler-report-menu|rofiler-report-mode|rofiler-report-move-to-entry|rofiler-report-next-entry|rofiler-report-previous-entry|rofiler-report-profile-other-frame|rofiler-report-profile-other-window|rofiler-report-profile|rofiler-report-render-calltree-1|rofiler-report-render-calltree|rofiler-report-render-reversed-calltree|rofiler-report-rerender-calltree|rofiler-report-setup-buffer-1|rofiler-report-setup-buffer|rofiler-report-toggle-entry|rofiler-report-write-profile|rofiler-report|rofiler-reset|rofiler-running-p|rofiler-start|rofiler-stop|rofiler-write-profile|rog-indent-sexp|rogress-reporter-do-update|rogv|roject-add-file|roject-compile-project|roject-compile-target|roject-debug-target|roject-delete-target|roject-dist-files|roject-edit-file-target|roject-interactive-select-target|roject-make-dist|roject-new-target-custom|roject-new-target|roject-remove-file|roject-rescan|roject-run-target|rolog-Info-follow-nearest-node|rolog-atleast-version|rolog-atom-under-point|rolog-beginning-of-clause|rolog-beginning-of-predicate|rolog-bsts|rolog-buffer-module|rolog-build-info-alist|rolog-build-prolog-command|rolog-clause-end|rolog-clause-info|rolog-clause-start|rolog-comment-limits|rolog-compile-buffer|rolog-compile-file|rolog-compile-predicate|rolog-compile-region|rolog-compile-string|rolog-consult-buffer|rolog-consult-compile-buffer|rolog-consult-compile-file|rolog-consult-compile-filter|rolog-consult-compile-predicate|rolog-consult-compile-region|rolog-consult-compile|rolog-consult-file|rolog-consult-predicate|rolog-consult-region|rolog-consult-string|rolog-debug-off|rolog-debug-on|rolog-disable-sicstus-sd|rolog-do-auto-fill|rolog-edit-menu-insert-move|rolog-edit-menu-runtime|rolog-electric--colon|rolog-electric--dash|rolog-electric--dot|rolog-electric--if-then-else|rolog-electric--underscore|rolog-enable-sicstus-sd|rolog-end-of-clause|rolog-end-of-predicate|rolog-ensure-process|rolog-face-name-p|rolog-fill-paragraph|rolog-find-documentation|rolog-find-term|rolog-find-unmatched-paren|rolog-find-value-by-system|rolog-font-lock-keywords|rolog-font-lock-object-matcher|rolog-get-predspec|rolog-goto-predicate-info|rolog-goto-prolog-process-buffer|rolog-guess-fill-prefix|rolog-help-apropos|rolog-help-info|rolog-help-on-predicate|rolog-help-online|rolog-in-object|rolog-indent-buffer|rolog-indent-predicate|rolog-inferior-buffer|rolog-inferior-guess-flavor|rolog-inferior-menu-all|rolog-inferior-menu|rolog-inferior-mode|rolog-inferior-self-insert-command|rolog-input-filter|rolog-insert-module-modeline|rolog-insert-next-clause|rolog-insert-predicate-template|rolog-insert-predspec|rolog-mark-clause|rolog-mark-predicate|rolog-menu-help|rolog-menu|rolog-mode-keybindings-common|rolog-mode-keybindings-edit|rolog-mode-keybindings-inferior|rolog-mode-variables|rolog-mode-version|rolog-mode|rolog-old-process-buffer|rolog-old-process-file|rolog-old-process-predicate|rolog-old-process-region|rolog-paren-balance|rolog-parse-sicstus-compilation-errors|rolog-post-self-insert|rolog-pred-end|rolog-pred-start|rolog-process-insert-string|rolog-program-name|rolog-program-switches|rolog-prompt-regexp|rolog-read-predicate|rolog-replace-in-string|rolog-smie-backward-token|rolog-smie-forward-token|rolog-smie-rules|rolog-temporary-file|rolog-toggle-sicstus-sd|rolog-trace-off|rolog-trace-on|rolog-uncomment-region|rolog-variables-to-anonymous|rolog-view-predspec|rolog-zip-off|rolog-zip-on|rompt-for-change-log-name|ropertized-buffer-identification|rune-directory-list|s-alist-position|s-avg-char-width|s-background-image|s-background-pages|s-background-text|s-background|s-basic-plot-str|s-basic-plot-string|s-basic-plot-whitespace|s-begin-file|s-begin-job|s-begin-page|s-boolean-capitalized|s-boolean-constant|s-build-reference-face-lists|s-color-device|s-color-scale|s-color-values|s-comment-string|s-continue-line|s-control-character|s-count-lines-preprint|s-count-lines|s-del|s-despool|s-do-despool|s-end-job|s-end-page|s-end-sheet|s-extend-face-list|s-extend-face|s-extension-bit|s-face-attribute-list|s-face-attributes|s-face-background-color-p|s-face-background-name|s-face-background|s-face-bold-p|s-face-box-p|s-face-color-p|s-face-extract-color|s-face-foreground-color-p|s-face-foreground-name|s-face-italic-p|s-face-overline-p|s-face-strikeout-p|s-face-underlined-p|s-find-wrappoint|s-float-format|s-flush-output|s-font-alist|s-font-lock-face-attributes|s-font-number|s-fonts??|s-format-color|s-frame-parameter|s-generate-header-line|s-generate-header|s-generate-postscript-with-faces1??|s-generate-postscript|s-generate|s-get-boundingbox|s-get-buffer-name|s-get-font-size|s-get-page-dimensions|s-get-size|s-get|s-header-dirpart|s-header-page|s-header-sheet|s-init-output-queue|s-insert-file|s-insert-string|s-kill-emacs-check|s-line-height|s-line-lengths-internal|s-line-lengths|s-lookup|s-map-face|s-mark-active-p|s-message-log-max|s-mode--syntax-propertize-special|s-mode-RE|s-mode-backward-delete-char|s-mode-center|s-mode-comment-out-region|s-mode-epsf-rich|s-mode-epsf-sparse|s-mode-heapsort|s-mode-latin-extended|s-mode-main|s-mode-octal-buffer|s-mode-octal-region|s-mode-other-newline|s-mode-print-buffer|s-mode-print-region|s-mode-right|s-mode-show-version|s-mode-smie-rules|s-mode-submit-bug-report|s-mode-syntax-propertize|s-mode-target-column|s-mode-uncomment-region|s-mode|s-mule-begin-job|s-mule-end-job|s-mule-initialize|s-n-up-columns|s-n-up-end|s-n-up-filling|s-n-up-landscape|s-n-up-lines|s-n-up-missing|s-n-up-printing|s-n-up-repeat|s-n-up-xcolumn|s-n-up-xline|s-n-up-xstart|s-n-up-ycolumn|s-n-up-yline|s-n-up-ystart|s-nb-pages-buffer|s-nb-pages-region|s-nb-pages|s-next-line|s-next-page|s-output-boolean|s-output-frame-properties|s-output-prologue|s-output-string-prim|s-output-string|s-output|s-page-dimensions-get-height|s-page-dimensions-get-media|s-page-dimensions-get-width|s-page-number|s-plot-region|s-plot-string|s-plot-with-face|s-plot|s-print-buffer-with-faces|s-print-buffer|s-print-customize|s-print-ensure-fontified|s-print-page-p|s-print-preprint-region|s-print-preprint|s-print-quote|s-print-region-with-faces|s-print-region|s-print-sheet-p|s-print-with-faces|s-print-without-faces|s-printing-region|s-prologue-file|s-put|s-remove-duplicates|s-restore-selected-pages|s-rgb-color|s-run-boundingbox|s-run-buffer|s-run-cleanup|s-run-clear|s-run-goto-error|s-run-kill|s-run-make-tmp-filename|s-run-mode|s-run-mouse-goto-error|s-run-quit|s-run-region|s-run-running|s-run-send-string|s-run-start|s-screen-to-bit-face|s-select-font|s-selected-pages|s-set-bg|s-set-color|s-set-face-attribute|s-set-face-bold|s-set-face-italic|s-set-face-underline|s-set-font|s-setup|s-size-scale|s-skip-newline|s-space-width|s-spool-buffer-with-faces|s-spool-buffer|s-spool-region-with-faces|s-spool-region|s-spool-with-faces|s-spool-without-faces|s-time-stamp-hh:mm:ss|s-time-stamp-iso8601)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:ps-time-stamp-locale-default|ps-time-stamp-mon-dd-yyyy|ps-time-stamp-yyyy-mm-dd|ps-title-line-height|ps-value-string|ps-value|psetf|psetq|push-mark-command|pushnew|put-unicode-property-internal|pwd|python-check|python-comint-output-filter-function|python-comint-postoutput-scroll-to-bottom|python-completion-at-point|python-completion-complete-at-point|python-define-auxiliary-skeleton|python-docstring-at-p|python-eldoc--get-doc-at-point|python-eldoc-at-point|python-eldoc-function|python-electric-pair-string-delimiter|python-ffap-module-path|python-fill-comment|python-fill-decorator|python-fill-paragraph|python-fill-paren|python-fill-string|python-font-lock-syntactic-face-function|python-imenu--build-tree|python-imenu--put-parent|python-imenu-create-flat-index|python-imenu-create-index|python-imenu-format-item-label|python-imenu-format-parent-item-jump-label|python-imenu-format-parent-item-label|python-indent-calculate-indentation|python-indent-calculate-levels|python-indent-context|python-indent-dedent-line-backspace|python-indent-dedent-line|python-indent-guess-indent-offset|python-indent-line-function|python-indent-line|python-indent-post-self-insert-function|python-indent-region|python-indent-shift-left|python-indent-shift-right|python-indent-toggle-levels|python-info-assignment-continuation-line-p|python-info-beginning-of-backslash|python-info-beginning-of-block-p|python-info-beginning-of-statement-p|python-info-block-continuation-line-p|python-info-closing-block-message|python-info-closing-block|python-info-continuation-line-p|python-info-current-defun|python-info-current-line-comment-p|python-info-current-line-empty-p|python-info-current-symbol|python-info-dedenter-opening-block-message|python-info-dedenter-opening-block-positions??|python-info-dedenter-statement-p|python-info-encoding-from-cookie|python-info-encoding|python-info-end-of-block-p|python-info-end-of-statement-p|python-info-line-ends-backslash-p|python-info-looking-at-beginning-of-defun|python-info-ppss-comment-or-string-p|python-info-ppss-context-type|python-info-ppss-context|python-info-statement-ends-block-p|python-info-statement-starts-block-p|python-menu|python-mode|python-nav--beginning-of-defun|python-nav--forward-defun|python-nav--forward-sexp|python-nav--lisp-forward-sexp-safe|python-nav--lisp-forward-sexp|python-nav--syntactically|python-nav--up-list|python-nav-backward-block|python-nav-backward-defun|python-nav-backward-sexp-safe|python-nav-backward-sexp|python-nav-backward-statement|python-nav-backward-up-list|python-nav-beginning-of-block|python-nav-beginning-of-defun|python-nav-beginning-of-statement|python-nav-end-of-block|python-nav-end-of-defun|python-nav-end-of-statement|python-nav-forward-block|python-nav-forward-defun|python-nav-forward-sexp-safe|python-nav-forward-sexp|python-nav-forward-statement|python-nav-if-name-main|python-nav-up-list|python-pdbtrack-comint-output-filter-function|python-pdbtrack-set-tracked-buffer|python-proc|python-send-receive|python-send-string|python-shell--save-temp-file|python-shell-accept-process-output|python-shell-buffer-substring|python-shell-calculate-command|python-shell-calculate-exec-path|python-shell-calculate-process-environment|python-shell-calculate-pythonpath|python-shell-comint-end-of-output-p|python-shell-completion-at-point|python-shell-completion-complete-at-point|python-shell-completion-complete-or-indent|python-shell-completion-get-completions|python-shell-font-lock-cleanup-buffer|python-shell-font-lock-comint-output-filter-function|python-shell-font-lock-get-or-create-buffer|python-shell-font-lock-kill-buffer|python-shell-font-lock-post-command-hook|python-shell-font-lock-toggle|python-shell-font-lock-turn-off|python-shell-font-lock-turn-on|python-shell-font-lock-with-font-lock-buffer|python-shell-get-buffer|python-shell-get-or-create-process|python-shell-get-process-name|python-shell-get-process|python-shell-internal-get-or-create-process|python-shell-internal-get-process-name|python-shell-internal-send-string|python-shell-make-comint|python-shell-output-filter|python-shell-package-enable|python-shell-parse-command|python-shell-prompt-detect|python-shell-prompt-set-calculated-regexps|python-shell-prompt-validate-regexps|python-shell-send-buffer|python-shell-send-defun|python-shell-send-file|python-shell-send-region|python-shell-send-setup-code|python-shell-send-string-no-output|python-shell-send-string|python-shell-switch-to-shell|python-shell-with-shell-buffer|python-skeleton--else|python-skeleton--except|python-skeleton--finally|python-skeleton-add-menu-items|python-skeleton-class|python-skeleton-def|python-skeleton-define|python-skeleton-for|python-skeleton-if|python-skeleton-import|python-skeleton-try|python-skeleton-while|python-syntax-comment-or-string-p|python-syntax-context-type|python-syntax-context|python-syntax-count-quotes|python-syntax-stringify|python-util-clone-local-variables|python-util-comint-last-prompt|python-util-forward-comment|python-util-goto-line|python-util-list-directories|python-util-list-files|python-util-list-packages|python-util-popn|python-util-strip-string|python-util-text-properties-replace-name|python-util-valid-regexp-p|quail-define-package|quail-define-rules|quail-defrule-internal|quail-defrule|quail-install-decode-map|quail-install-map|quail-set-keyboard-layout|quail-show-keyboard-layout|quail-title|quail-update-leim-list-file|quail-use-package|query-dig|query-font|query-fontset|query-replace-compile-replacement|query-replace-descr|query-replace-read-args|query-replace-read-from|query-replace-read-to|query-replace-regexp-eval|query-replace-regexp|query-replace|quick-calc|quickurl-add-url|quickurl-ask|quickurl-browse-url-ask|quickurl-browse-url|quickurl-edit-urls|quickurl-find-url|quickurl-grab-url|quickurl-insert|quickurl-list-add-url|quickurl-list-insert-lookup|quickurl-list-insert-naked-url|quickurl-list-insert-url|quickurl-list-insert-with-desc|quickurl-list-insert-with-lookup|quickurl-list-insert|quickurl-list-make-inserter|quickurl-list-mode|quickurl-list-mouse-select|quickurl-list-populate-buffer|quickurl-list-quit|quickurl-list|quickurl-load-urls|quickurl-make-url|quickurl-read|quickurl-save-urls|quickurl-url-comment|quickurl-url-commented-p|quickurl-url-description|quickurl-url-keyword|quickurl-url-url|quickurl|quit-windows-on|quoted-insert|quoted-printable-decode-region|quoted-printable-decode-string|quoted-printable-encode-region|r2b-barf-output|r2b-capitalize-title-region|r2b-capitalize-title|r2b-clear-variables|r2b-convert-buffer|r2b-convert-month|r2b-convert-record|r2b-get-field|r2b-help|r2b-isa-proceedings|r2b-isa-university|r2b-match|r2b-moveq|r2b-put-field|r2b-require|r2b-reset|r2b-set-match|r2b-snarf-input|r2b-trace|r2b-warning|radians-to-degrees|raise-sexp|random\\\\*|random-state-p|rassoc\\\\*|rassoc-if-not|rassoc-if|rcirc--connection-open-p|rcirc-abbreviate|rcirc-activity-string|rcirc-add-face|rcirc-add-or-remove|rcirc-any-buffer|rcirc-authenticate|rcirc-browse-url|rcirc-buffer-nick|rcirc-buffer-process|rcirc-change-major-mode-hook|rcirc-channel-nicks|rcirc-channel-p|rcirc-check-auth-status|rcirc-clean-up-buffer|rcirc-clear-activity|rcirc-clear-unread|rcirc-cmd-bright|rcirc-cmd-ctcp|rcirc-cmd-dim|rcirc-cmd-ignore|rcirc-cmd-invite|rcirc-cmd-join|rcirc-cmd-keyword|rcirc-cmd-kick|rcirc-cmd-list|rcirc-cmd-me|rcirc-cmd-mode|rcirc-cmd-msg|rcirc-cmd-names|rcirc-cmd-nick|rcirc-cmd-oper|rcirc-cmd-part|rcirc-cmd-query|rcirc-cmd-quit|rcirc-cmd-quote|rcirc-cmd-reconnect|rcirc-cmd-topic|rcirc-cmd-whois|rcirc-complete|rcirc-completion-at-point|rcirc-condition-filter|rcirc-connect|rcirc-ctcp-sender-PING|rcirc-debug|rcirc-delete-process|rcirc-disconnect-buffer|rcirc-edit-multiline|rcirc-elapsed-lines|rcirc-facify|rcirc-fill-paragraph|rcirc-filter|rcirc-float-time|rcirc-format-response-string|rcirc-generate-log-filename|rcirc-generate-new-buffer-name|rcirc-get-buffer-create|rcirc-get-buffer|rcirc-get-temp-buffer-create|rcirc-handler-001|rcirc-handler-301|rcirc-handler-317|rcirc-handler-332|rcirc-handler-333|rcirc-handler-353|rcirc-handler-366|rcirc-handler-433|rcirc-handler-477|rcirc-handler-CTCP-response|rcirc-handler-CTCP|rcirc-handler-ERROR|rcirc-handler-INVITE|rcirc-handler-JOIN|rcirc-handler-KICK|rcirc-handler-MODE|rcirc-handler-NICK|rcirc-handler-NOTICE|rcirc-handler-PART-or-KICK|rcirc-handler-PART|rcirc-handler-PING|rcirc-handler-PONG|rcirc-handler-PRIVMSG|rcirc-handler-QUIT|rcirc-handler-TOPIC|rcirc-handler-WALLOPS|rcirc-handler-ctcp-ACTION|rcirc-handler-ctcp-KEEPALIVE|rcirc-handler-ctcp-TIME|rcirc-handler-ctcp-VERSION|rcirc-handler-generic|rcirc-ignore-update-automatic|rcirc-insert-next-input|rcirc-insert-prev-input|rcirc-join-channels-post-auth|rcirc-join-channels|rcirc-jump-to-first-unread-line|rcirc-keepalive|rcirc-kill-buffer-hook|rcirc-last-line|rcirc-last-quit-line|rcirc-log-write|rcirc-log|rcirc-looking-at-input|rcirc-make-trees|rcirc-markup-attributes|rcirc-markup-bright-nicks|rcirc-markup-fill|rcirc-markup-keywords|rcirc-markup-my-nick|rcirc-markup-timestamp|rcirc-markup-urls|rcirc-maybe-remember-nick-quit|rcirc-mode|rcirc-multiline-minor-cancel|rcirc-multiline-minor-mode|rcirc-multiline-minor-submit|rcirc-next-active-buffer|rcirc-nick-channels|rcirc-nick-remove|rcirc-nick|rcirc-nickname<|rcirc-non-irc-buffer|rcirc-omit-mode|rcirc-prev-input-string|rcirc-print|rcirc-process-command|rcirc-process-input-line|rcirc-process-list|rcirc-process-message|rcirc-process-server-response-1|rcirc-process-server-response|rcirc-prompt-for-encryption|rcirc-put-nick-channel|rcirc-rebuild-tree|rcirc-record-activity|rcirc-remove-nick-channel|rcirc-reschedule-timeout|rcirc-send-ctcp|rcirc-send-input|rcirc-send-message|rcirc-send-privmsg|rcirc-send-string|rcirc-sentinel|rcirc-server-name|rcirc-set-changed|rcirc-short-buffer-name|rcirc-sort-nicknames-join|rcirc-split-activity|rcirc-split-message|rcirc-switch-to-server-buffer|rcirc-target-buffer|rcirc-toggle-ignore-buffer-activity|rcirc-toggle-low-priority|rcirc-track-minor-mode|rcirc-update-activity-string|rcirc-update-prompt|rcirc-update-short-buffer-names|rcirc-user-nick|rcirc-view-log-file|rcirc-visible-buffers|rcirc-window-configuration-change-1|rcirc-window-configuration-change|rcirc|re-builder-unload-function|re-search-backward-lax-whitespace|re-search-forward-lax-whitespace|read--expression|read-abbrev-file|read-all-face-attributes|read-buffer-file-coding-system|read-buffer-to-switch|read-char-by-name|read-charset|read-cookie|read-envvar-name|read-extended-command|read-face-and-attribute|read-face-attribute|read-face-font|read-face-name|read-feature|read-file-name--defaults|read-file-name-default|read-file-name-internal|read-from-whole-string|read-hiragana-string|read-input|read-language-name|read-multilingual-string|read-number|read-regexp-suggestions|reb-assert-buffer-in-window|reb-auto-update|reb-change-syntax|reb-change-target-buffer|reb-color-display-p|reb-cook-regexp|reb-copy|reb-count-subexps|reb-delete-overlays|reb-display-subexp|reb-do-update|reb-empty-regexp|reb-enter-subexp-mode|reb-force-update|reb-initialize-buffer|reb-insert-regexp|reb-kill-buffer|reb-lisp-mode|reb-lisp-syntax-p|reb-mode-buffer-p|reb-mode-common|reb-mode|reb-next-match|reb-prev-match|reb-quit-subexp-mode|reb-quit|reb-read-regexp|reb-show-subexp|reb-target-binding|reb-toggle-case|reb-update-modestring|reb-update-overlays|reb-update-regexp|rebuild-mail-abbrevs|recentf-add-file|recentf-apply-filename-handlers|recentf-apply-menu-filter|recentf-arrange-by-dir|recentf-arrange-by-mode|recentf-arrange-by-rule|recentf-auto-cleanup|recentf-build-mode-rules|recentf-cancel-dialog|recentf-cleanup|recentf-dialog-goto-first|recentf-dialog-mode|recentf-dialog|recentf-digit-shortcut-command-name|recentf-dir-rule|recentf-directory-compare|recentf-dump-variable|recentf-edit-list-select|recentf-edit-list-validate|recentf-edit-list|recentf-elements|recentf-enabled-p|recentf-expand-file-name|recentf-file-name-nondir|recentf-filter-changer-select|recentf-filter-changer|recentf-hide-menu|recentf-include-p|recentf-indirect-mode-rule|recentf-keep-default-predicate|recentf-keep-p|recentf-load-list|recentf-make-default-menu-element|recentf-make-menu-element|recentf-make-menu-items??|recentf-match-rule|recentf-menu-bar|recentf-menu-customization-changed|recentf-menu-element-item|recentf-menu-element-value|recentf-menu-elements)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:rmail-output-body-to-file|rmail-output-to-rmail-buffer|rmail-output|rmail-parse-url|rmail-perm-variables|rmail-pop-to-buffer|rmail-previous-labeled-message|rmail-previous-message|rmail-previous-same-subject|rmail-previous-undeleted-message|rmail-probe|rmail-quit|rmail-read-label|rmail-redecode-body|rmail-reply|rmail-require-mime-maybe|rmail-resend|rmail-restore-desktop-buffer|rmail-retry-failure|rmail-revert|rmail-search-backwards|rmail-search-message|rmail-search|rmail-select-summary|rmail-set-attribute-1|rmail-set-attribute|rmail-set-header-1|rmail-set-header|rmail-set-message-counters-counter|rmail-set-message-counters|rmail-set-message-deleted-p|rmail-set-remote-password|rmail-show-message-1|rmail-show-message|rmail-simplified-subject-regexp|rmail-simplified-subject|rmail-sort-by-author|rmail-sort-by-correspondent|rmail-sort-by-date|rmail-sort-by-labels|rmail-sort-by-lines|rmail-sort-by-recipient|rmail-sort-by-subject|rmail-speedbar-buttons??|rmail-speedbar-find-file|rmail-speedbar-move-message-to-folder-on-line|rmail-speedbar-move-message|rmail-start-mail|rmail-summary-by-labels|rmail-summary-by-recipients|rmail-summary-by-regexp|rmail-summary-by-senders|rmail-summary-by-topic|rmail-summary-displayed|rmail-summary-exists|rmail-summary|rmail-swap-buffers-maybe|rmail-swap-buffers|rmail-toggle-header|rmail-undelete-previous-message|rmail-unfontify-buffer-function|rmail-unknown-mail-followup-to|rmail-unrmail-new-mail-maybe|rmail-unrmail-new-mail|rmail-update-summary|rmail-variables|rmail-view-buffer-kill-buffer-hook|rmail-what-message|rmail-widen-to-current-msgbeg|rmail-widen|rmail-write-region-annotate|rmail-yank-current-message|rmail|rng-c-load-schema|rng-nxml-mode-init|rng-validate-mode|rng-xsd-compile|robin-define-package|robin-modify-package|robin-use-package|rot13-other-window|rot13-region|rot13-string|rot13|rotate-yank-pointer|rotatef|round\\\\*|route|rsh|rst-minor-mode|rst-mode|ruby--at-indentation-p|ruby--detect-encoding|ruby--electric-indent-p|ruby--encoding-comment-required-p|ruby--insert-coding-comment|ruby--inverse-string-quote|ruby--string-region|ruby-accurate-end-of-block|ruby-add-log-current-method|ruby-backward-sexp|ruby-beginning-of-block|ruby-beginning-of-defun|ruby-beginning-of-indent|ruby-block-contains-point|ruby-brace-to-do-end|ruby-calculate-indent|ruby-current-indentation|ruby-deep-indent-paren-p|ruby-do-end-to-brace|ruby-end-of-block|ruby-end-of-defun|ruby-expr-beg|ruby-forward-sexp|ruby-forward-string|ruby-here-doc-end-match|ruby-imenu-create-index-in-block|ruby-imenu-create-index|ruby-in-ppss-context-p|ruby-indent-exp|ruby-indent-line|ruby-indent-size|ruby-indent-to|ruby-match-expression-expansion|ruby-mode-menu|ruby-mode-set-encoding|ruby-mode-variables|ruby-mode|ruby-move-to-block|ruby-parse-partial|ruby-parse-region|ruby-singleton-class-p|ruby-smie--args-separator-p|ruby-smie--at-dot-call|ruby-smie--backward-token|ruby-smie--bosp|ruby-smie--closing-pipe-p|ruby-smie--forward-token|ruby-smie--implicit-semi-p|ruby-smie--indent-to-stmt-p|ruby-smie--indent-to-stmt|ruby-smie--opening-pipe-p|ruby-smie--redundant-do-p|ruby-smie-rules|ruby-special-char-p|ruby-string-at-point-p|ruby-syntax-enclosing-percent-literal|ruby-syntax-expansion-allowed-p|ruby-syntax-propertize-expansions??|ruby-syntax-propertize-function|ruby-syntax-propertize-heredoc|ruby-syntax-propertize-percent-literal|ruby-toggle-block|ruby-toggle-string-quotes|ruler--save-header-line-format|ruler-mode-character-validate|ruler-mode-full-window-width|ruler-mode-mouse-add-tab-stop|ruler-mode-mouse-del-tab-stop|ruler-mode-mouse-drag-any-column-iteration|ruler-mode-mouse-drag-any-column|ruler-mode-mouse-grab-any-column|ruler-mode-mouse-set-left-margin|ruler-mode-mouse-set-right-margin|ruler-mode-ruler|ruler-mode-space|ruler-mode-toggle-show-tab-stops|ruler-mode-window-col|ruler-mode|run-dig|run-hook-wrapped|run-lisp|run-network-program|run-octave|run-prolog|run-python-internal|run-python|run-scheme|run-tcl|run-window-configuration-change-hook|run-window-scroll-functions|run-with-timer|rx-\\\\*\\\\*|rx-=|rx->=|rx-and|rx-any-condense-range|rx-any-delete-from-range|rx-any|rx-anything|rx-atomic-p|rx-backref|rx-category|rx-check-any-string|rx-check-any|rx-check-backref|rx-check-category|rx-check-not|rx-check|rx-eval|rx-form|rx-greedy|rx-group-if|rx-info|rx-kleene|rx-not-char|rx-not-syntax|rx-not|rx-or|rx-regexp|rx-repeat|rx-submatch-n|rx-submatch|rx-syntax|rx-to-string|rx-trans-forms|rx|rzgrep|safe-date-to-time|same-class-fast-p|same-class-p|sanitize-coding-system-list|sasl-anonymous-response|sasl-client-mechanism|sasl-client-name|sasl-client-properties|sasl-client-property|sasl-client-server|sasl-client-service|sasl-client-set-properties|sasl-client-set-property|sasl-error|sasl-find-mechanism|sasl-login-response-1|sasl-login-response-2|sasl-make-client|sasl-make-mechanism|sasl-mechanism-name|sasl-mechanism-steps|sasl-next-step|sasl-plain-response|sasl-read-passphrase|sasl-step-data|sasl-step-set-data|sasl-unique-id-function|sasl-unique-id-number-base36|sasl-unique-id|save-buffers-kill-emacs|save-buffers-kill-terminal|save-completions-to-file|save-place-alist-to-file|save-place-dired-hook|save-place-find-file-hook|save-place-forget-unreadable-files|save-place-kill-emacs-hook|save-place-to-alist|save-places-to-alist|savehist-autosave|savehist-install|savehist-load|savehist-minibuffer-hook|savehist-mode|savehist-printable|savehist-save|savehist-trim-history|savehist-uninstall|sc-S-cite-region-limit|sc-S-mail-header-nuke-list|sc-S-mail-nuke-mail-headers|sc-S-preferred-attribution-list|sc-S-preferred-header-style|sc-T-auto-fill-region|sc-T-confirm-always|sc-T-describe|sc-T-downcase|sc-T-electric-circular|sc-T-electric-references|sc-T-fixup-whitespace|sc-T-mail-nuke-blank-lines|sc-T-nested-citation|sc-T-use-only-preferences|sc-add-citation-level|sc-ask|sc-attribs-!-addresses|sc-attribs-%@-addresses|sc-attribs-<>-addresses|sc-attribs-chop-address|sc-attribs-chop-namestring|sc-attribs-emailname|sc-attribs-extract-namestring|sc-attribs-filter-namelist|sc-attribs-strip-initials|sc-cite-coerce-cited-line|sc-cite-coerce-dumb-citer|sc-cite-line|sc-cite-original|sc-cite-regexp|sc-cite-region|sc-describe|sc-electric-mode|sc-eref-abort|sc-eref-exit|sc-eref-goto|sc-eref-insert-selected|sc-eref-jump|sc-eref-next|sc-eref-prev|sc-eref-setn|sc-eref-show|sc-fill-if-different|sc-get-address|sc-guess-attribution|sc-guess-nesting|sc-hdr|sc-header-attributed-writes|sc-header-author-writes|sc-header-inarticle-writes|sc-header-on-said|sc-header-regarding-adds|sc-header-verbose|sc-insert-citation|sc-insert-reference|sc-mail-append-field|sc-mail-build-nuke-frame|sc-mail-check-from|sc-mail-cleanup-blank-lines|sc-mail-error-in-mail-field|sc-mail-fetch-field|sc-mail-field-query|sc-mail-field|sc-mail-nuke-continuation-line|sc-mail-nuke-header-line|sc-mail-nuke-line|sc-mail-process-headers|sc-make-citation|sc-minor-mode|sc-name-substring|sc-no-blank-line-or-header|sc-no-header|sc-open-line|sc-raw-mode-toggle|sc-recite-line|sc-recite-region|sc-scan-info-alist|sc-select-attribution|sc-set-variable|sc-setup-filladapt|sc-setvar-symbol|sc-toggle-fn|sc-toggle-symbol|sc-toggle-var|sc-uncite-line|sc-uncite-region|sc-valid-index-p|sc-whofrom|scan-buf-move-to-region|scan-buf-next-region|scan-buf-previous-region|scheme-compile-definition-and-go|scheme-compile-definition|scheme-compile-file|scheme-compile-region-and-go|scheme-compile-region|scheme-debugger-mode-commands|scheme-debugger-mode-initialize|scheme-debugger-mode|scheme-debugger-self-insert|scheme-expand-current-form|scheme-form-at-point|scheme-get-old-input|scheme-get-process|scheme-indent-function|scheme-input-filter|scheme-interaction-mode-commands|scheme-interaction-mode-initialize|scheme-interaction-mode|scheme-interactively-start-process|scheme-let-indent|scheme-load-file|scheme-mode-commands|scheme-mode-variables|scheme-mode|scheme-proc|scheme-send-definition-and-go|scheme-send-definition|scheme-send-last-sexp|scheme-send-region-and-go|scheme-send-region|scheme-start-file|scheme-syntax-propertize-sexp-comment|scheme-syntax-propertize|scheme-trace-procedure|scroll-all-beginning-of-buffer-all|scroll-all-check-to-scroll|scroll-all-end-of-buffer-all|scroll-all-function-all|scroll-all-mode|scroll-all-page-down-all|scroll-all-page-up-all|scroll-all-scroll-down-all|scroll-all-scroll-up-all|scroll-bar-columns|scroll-bar-drag-1|scroll-bar-drag-position|scroll-bar-drag|scroll-bar-horizontal-drag-1|scroll-bar-horizontal-drag|scroll-bar-lines|scroll-bar-maybe-set-window-start|scroll-bar-scroll-down|scroll-bar-scroll-up|scroll-bar-set-window-start|scroll-bar-toolkit-horizontal-scroll|scroll-bar-toolkit-scroll|scroll-down-line|scroll-lock-mode|scroll-other-window-down|scroll-up-line|scss-mode|scss-smie--not-interpolation-p|sdb|search-backward-lax-whitespace|search-backward-regexp|search-emacs-glossary|search-forward-lax-whitespace|search-forward-regexp|search-pages|search-unencodable-char|search|second|seconds-to-string|secrets-close-session|secrets-collection-handler|secrets-collection-path|secrets-create-collection|secrets-create-item|secrets-delete-alias|secrets-delete-collection|secrets-delete-item|secrets-empty-path|secrets-expand-collection|secrets-expand-item|secrets-get-alias|secrets-get-attributes??|secrets-get-collection-properties|secrets-get-collection-property|secrets-get-collections|secrets-get-item-properties|secrets-get-item-property|secrets-get-items|secrets-get-secret|secrets-item-path|secrets-list-collections|secrets-list-items|secrets-mode|secrets-open-session|secrets-prompt-handler|secrets-prompt|secrets-search-items|secrets-set-alias|secrets-show-collections|secrets-show-secrets|secrets-tree-widget-after-toggle-function|secrets-tree-widget-show-password|secrets-unlock-collection|secure-hash|select-frame-by-name|select-frame-set-input-focus|select-frame|select-message-coding-system|select-safe-coding-system-interactively|select-safe-coding-system|select-scheme|select-tags-table-mode|select-tags-table-quit|select-tags-table-select|select-tags-table|select-window|selected-frame|selected-window|self-insert-and-exit|self-insert-command|semantic--set-buffer-cache|semantic--tag-attributes-cdr|semantic--tag-copy-properties|semantic--tag-deep-copy-attributes|semantic--tag-deep-copy-tag-list|semantic--tag-deep-copy-value|semantic--tag-expand|semantic--tag-expanded-p|semantic--tag-find-parent-by-name|semantic--tag-get-property|semantic--tag-link-cache-to-buffer|semantic--tag-link-list-to-buffer|semantic--tag-link-to-buffer|semantic--tag-overlay-cdr|semantic--tag-properties-cdr|semantic--tag-put-property-no-side-effect|semantic--tag-put-property|semantic--tag-run-hooks|semantic--tag-set-overlay|semantic--tag-unlink-cache-from-buffer|semantic--tag-unlink-from-buffer|semantic--tag-unlink-list-from-buffer|semantic--umatched-syntax-needs-refresh-p|semantic-active-p|semantic-add-label|semantic-add-minor-mode|semantic-add-system-include|semantic-alias-obsolete|semantic-analyze-completion-at-point-function|semantic-analyze-current-context|semantic-analyze-current-tag|semantic-analyze-nolongprefix-completion-at-point-function|semantic-analyze-notc-completion-at-point-function|semantic-analyze-possible-completions|semantic-analyze-proto-impl-toggle|semantic-analyze-type-constants|semantic-assert-valid-token|semantic-bovinate-from-nonterminal-full|semantic-bovinate-from-nonterminal|semantic-bovinate-region-until-error|semantic-bovinate-stream|semantic-bovinate-toplevel|semantic-buffer-local-value|semantic-c-add-preprocessor-symbol|semantic-cache-data-post-command-hook|semantic-cache-data-to-buffer|semantic-calculate-scope|semantic-change-function|semantic-clean-token-of-unmatched-syntax|semantic-clean-unmatched-syntax-in-buffer|semantic-clean-unmatched-syntax-in-region|semantic-clear-parser-warnings|semantic-clear-toplevel-cache|semantic-clear-unmatched-syntax-cache|semantic-comment-lexer|semantic-complete-analyze-and-replace|semantic-complete-analyze-inline-idle|semantic-complete-analyze-inline|semantic-complete-inline-project|semantic-complete-jump-local-members|semantic-complete-jump-local|semantic-complete-jump|semantic-complete-self-insert|semantic-complete-symbol|semantic-create-imenu-index|semantic-create-tag-proxy|semantic-ctxt-current-mode|semantic-current-tag-parent|semantic-current-tag|semantic-customize-system-include-path|semantic-debug|semantic-decoration-include-visit|semantic-decoration-unparsed-include-do-reset)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)se(?:mantic-default-c-setup|mantic-default-elisp-setup|mantic-default-html-setup|mantic-default-make-setup|mantic-default-scheme-setup|mantic-default-texi-setup|mantic-delete-overlay-maybe|mantic-dependency-tag-file|mantic-describe-buffer-var-helper|mantic-describe-buffer|mantic-describe-tag|mantic-desktop-ignore-this-minor-mode|mantic-documentation-for-tag|mantic-dump-parser-warnings|mantic-edits-incremental-parser|mantic-elapsed-time|mantic-equivalent-tag-p|mantic-error-if-unparsed|mantic-event-window|mantic-exit-on-input|mantic-fetch-available-tags|mantic-fetch-tags-fast|mantic-fetch-tags|mantic-file-tag-table|mantic-file-token-stream|mantic-find-file-noselect|mantic-find-first-tag-by-name|mantic-find-tag-by-overlay-in-region|mantic-find-tag-by-overlay-next|mantic-find-tag-by-overlay-prev|mantic-find-tag-by-overlay|mantic-find-tag-for-completion|mantic-find-tag-parent-by-overlay|mantic-find-tags-by-scope-protection|mantic-find-tags-included|mantic-flatten-tags-table|mantic-flex-buffer|mantic-flex-end|mantic-flex-keyword-get|mantic-flex-keyword-p|mantic-flex-keyword-put|mantic-flex-keywords|mantic-flex-list|mantic-flex-make-keyword-table|mantic-flex-map-keywords|mantic-flex-start|mantic-flex-text|mantic-flex|mantic-force-refresh|mantic-foreign-tag-check|mantic-foreign-tag-invalid|mantic-foreign-tag-p|mantic-foreign-tag|mantic-format-tag-concise-prototype|mantic-format-tag-name|mantic-format-tag-prototype|mantic-format-tag-summarize|mantic-fw-add-edebug-spec|mantic-gcc-setup|mantic-get-cache-data|mantic-go-to-tag|mantic-highlight-edits-mode|mantic-highlight-edits-new-change-hook-fcn|mantic-highlight-func-highlight-current-tag|mantic-highlight-func-menu|mantic-highlight-func-mode|mantic-highlight-func-popup-menu|mantic-ia-complete-symbol-menu|mantic-ia-complete-symbol|mantic-ia-complete-tip|mantic-ia-describe-class|mantic-ia-fast-jump|mantic-ia-fast-mouse-jump|mantic-ia-show-doc|mantic-ia-show-summary|mantic-ia-show-variants|mantic-idle-completions-mode|mantic-idle-scheduler-mode|mantic-idle-summary-mode|mantic-insert-foreign-tag-change-log-mode|mantic-insert-foreign-tag-default|mantic-insert-foreign-tag-log-edit-mode|mantic-insert-foreign-tag|mantic-install-function-overrides|mantic-lex-beginning-of-line|mantic-lex-buffer|mantic-lex-catch-errors|mantic-lex-charquote|mantic-lex-close-paren|mantic-lex-comments-as-whitespace|mantic-lex-comments|mantic-lex-debug-break|mantic-lex-debug|mantic-lex-default-action|mantic-lex-end-block|mantic-lex-expand-block-specs|mantic-lex-highlight-token|mantic-lex-ignore-comments|mantic-lex-ignore-newline|mantic-lex-ignore-whitespace|mantic-lex-init|mantic-lex-keyword-get|mantic-lex-keyword-invalid|mantic-lex-keyword-p|mantic-lex-keyword-put|mantic-lex-keyword-set|mantic-lex-keyword-symbol|mantic-lex-keyword-value|mantic-lex-keywords|mantic-lex-list|mantic-lex-make-keyword-table|mantic-lex-make-type-table|mantic-lex-map-keywords|mantic-lex-map-symbols|mantic-lex-map-types|mantic-lex-newline-as-whitespace|mantic-lex-newline|mantic-lex-number|mantic-lex-one-token|mantic-lex-open-paren|mantic-lex-paren-or-list|mantic-lex-preset-default-types|mantic-lex-punctuation-type|mantic-lex-punctuation|mantic-lex-push-token|mantic-lex-spp-table-write-slot-value|mantic-lex-start-block|mantic-lex-string|mantic-lex-symbol-or-keyword|mantic-lex-test|mantic-lex-token-bounds|mantic-lex-token-class|mantic-lex-token-end|mantic-lex-token-p|mantic-lex-token-start|mantic-lex-token-text|mantic-lex-token-with-text-p|mantic-lex-token-without-text-p|mantic-lex-token|mantic-lex-type-get|mantic-lex-type-invalid|mantic-lex-type-p|mantic-lex-type-put|mantic-lex-type-set|mantic-lex-type-symbol|mantic-lex-type-value|mantic-lex-types|mantic-lex-unterminated-syntax-detected|mantic-lex-unterminated-syntax-protection|mantic-lex-whitespace|mantic-lex|mantic-make-local-hook|mantic-make-overlay|mantic-map-buffers|mantic-map-mode-buffers|mantic-menu-item|mantic-mode-line-update|mantic-mode|mantic-narrow-to-tag|mantic-new-buffer-fcn|mantic-next-unmatched-syntax|mantic-obtain-foreign-tag|mantic-overlay-buffer|mantic-overlay-delete|mantic-overlay-end|mantic-overlay-get|mantic-overlay-lists|mantic-overlay-live-p|mantic-overlay-move|mantic-overlay-next-change|mantic-overlay-p|mantic-overlay-previous-change|mantic-overlay-properties|mantic-overlay-put|mantic-overlay-start|mantic-overlays-at|mantic-overlays-in|mantic-overload-symbol-from-function|mantic-parse-changes-default|mantic-parse-changes|mantic-parse-region-default|mantic-parse-region|mantic-parse-stream-default|mantic-parse-stream|mantic-parse-tree-needs-rebuild-p|mantic-parse-tree-needs-update-p|mantic-parse-tree-set-needs-rebuild|mantic-parse-tree-set-needs-update|mantic-parse-tree-set-up-to-date|mantic-parse-tree-unparseable-p|mantic-parse-tree-unparseable|mantic-parse-tree-up-to-date-p|mantic-parser-working-message|mantic-popup-menu|mantic-push-parser-warning|mantic-read-event|mantic-read-function|mantic-read-symbol|mantic-read-type|mantic-read-variable|mantic-refresh-tags-safe|mantic-remove-system-include|mantic-repeat-parse-whole-stream|mantic-require-version|mantic-reset-system-include|mantic-run-mode-hooks|mantic-safe|mantic-sanity-check|mantic-set-unmatched-syntax-cache|mantic-show-label|mantic-show-parser-state-auto-marker|mantic-show-parser-state-marker|mantic-show-parser-state-mode|mantic-show-unmatched-lex-tokens-fetch|mantic-show-unmatched-syntax-mode|mantic-show-unmatched-syntax-next|mantic-show-unmatched-syntax|mantic-showing-unmatched-syntax-p|mantic-simple-lexer|mantic-something-to-stream|mantic-something-to-tag-table|mantic-speedbar-analysis|mantic-stickyfunc-fetch-stickyline|mantic-stickyfunc-menu|mantic-stickyfunc-mode|mantic-stickyfunc-popup-menu|mantic-stickyfunc-tag-to-stick|mantic-subst-char-in-string|mantic-symref-find-file-references-by-name|mantic-symref-find-references-by-name|mantic-symref-find-tags-by-completion|mantic-symref-find-tags-by-name|mantic-symref-find-tags-by-regexp|mantic-symref-find-text|mantic-symref-regexp|mantic-symref-symbol|mantic-symref-tool-cscope-child-p|mantic-symref-tool-cscope-list-p|mantic-symref-tool-cscope-p|mantic-symref-tool-cscope|mantic-symref-tool-global-child-p|mantic-symref-tool-global-list-p|mantic-symref-tool-global-p|mantic-symref-tool-global|mantic-symref-tool-grep-child-p|mantic-symref-tool-grep-list-p|mantic-symref-tool-grep-p|mantic-symref-tool-grep|mantic-symref-tool-idutils-child-p|mantic-symref-tool-idutils-list-p|mantic-symref-tool-idutils-p|mantic-symref-tool-idutils|mantic-symref|mantic-tag-add-hook|mantic-tag-alias-class|mantic-tag-alias-definition|mantic-tag-attributes|mantic-tag-bounds|mantic-tag-buffer|mantic-tag-children-compatibility|mantic-tag-class|mantic-tag-clone|mantic-tag-code-detail|mantic-tag-components-default|mantic-tag-components-with-overlays-default|mantic-tag-components-with-overlays|mantic-tag-components|mantic-tag-copy|mantic-tag-deep-copy-one-tag|mantic-tag-docstring|mantic-tag-end|mantic-tag-external-member-parent|mantic-tag-faux-p|mantic-tag-file-name|mantic-tag-function-arguments|mantic-tag-function-constructor-p|mantic-tag-function-destructor-p|mantic-tag-function-parent|mantic-tag-function-throws|mantic-tag-get-attribute|mantic-tag-in-buffer-p|mantic-tag-include-filename-default|mantic-tag-include-filename|mantic-tag-include-system-p|mantic-tag-make-assoc-list|mantic-tag-make-plist|mantic-tag-mode|mantic-tag-modifiers|mantic-tag-name|mantic-tag-named-parent|mantic-tag-new-alias|mantic-tag-new-code|mantic-tag-new-function|mantic-tag-new-include|mantic-tag-new-package|mantic-tag-new-type|mantic-tag-new-variable|mantic-tag-of-class-p|mantic-tag-of-type-p|mantic-tag-overlay|mantic-tag-p|mantic-tag-properties|mantic-tag-prototype-p|mantic-tag-put-attribute-no-side-effect|mantic-tag-put-attribute|mantic-tag-remove-hook|mantic-tag-resolve-proxy|mantic-tag-set-bounds|mantic-tag-set-faux|mantic-tag-set-name|mantic-tag-set-proxy|mantic-tag-similar-with-subtags-p|mantic-tag-start|mantic-tag-type-compound-p|mantic-tag-type-interfaces|mantic-tag-type-members|mantic-tag-type-superclass-protection|mantic-tag-type-superclasses|mantic-tag-type|mantic-tag-variable-constant-p|mantic-tag-variable-default|mantic-tag-with-position-p|mantic-tag-write-list-slot-value|mantic-tag|mantic-test-data-cache|mantic-throw-on-input|mantic-toggle-minor-mode-globally|mantic-token-type-parent|mantic-unmatched-syntax-overlay-p|mantic-unmatched-syntax-tokens|mantic-varalias-obsolete|mantic-with-buffer-narrowed-to-current-tag|mantic-with-buffer-narrowed-to-tag|manticdb-database-typecache-child-p|manticdb-database-typecache-list-p|manticdb-database-typecache-p|manticdb-database-typecache|manticdb-enable-gnu-global-databases|manticdb-file-table-object|manticdb-find-adebug-lost-includes|manticdb-find-result-length|manticdb-find-result-nth-in-buffer|manticdb-find-result-nth|manticdb-find-table-for-include|manticdb-find-tags-by-class|manticdb-find-tags-by-name-regexp|manticdb-find-tags-by-name|manticdb-find-tags-for-completion|manticdb-find-test-translate-path|manticdb-find-translate-path|manticdb-minor-mode-p|manticdb-project-database-file-child-p|manticdb-project-database-file-list-p|manticdb-project-database-file-p|manticdb-project-database-file|manticdb-strip-find-results|manticdb-typecache-child-p|manticdb-typecache-find|manticdb-typecache-list-p|manticdb-typecache-p|manticdb-typecache|manticdb-without-unloaded-file-searches|nator-copy-tag-to-register|nator-copy-tag|nator-go-to-up-reference|nator-kill-tag|nator-next-tag|nator-previous-tag|nator-transpose-tags-down|nator-transpose-tags-up|nator-yank-tag|nd-invisible|nd-process-next-char|nd-region|nd-string|ndmail-query-once|ndmail-query-user-about-smtp|ndmail-send-it|ndmail-sync-aliases|ndmail-user-agent-compose|ntence-at-point|q--count-successive|q--drop-list|q--drop-while-list|q--take-list|q--take-while-list|q-concatenate|q-contains-p|q-copy|q-count|q-do|q-doseq|q-drop-while|q-drop|q-each|q-elt|q-empty-p|q-every-p|q-filter|q-length|q-map|q-reduce|q-remove|q-reverse|q-some-p|q-sort|q-subseq|q-take-while|q-take|q-uniq|rial-mode-line-config-menu-1|rial-mode-line-config-menu|rial-mode-line-speed-menu-1|rial-mode-line-speed-menu|rial-nice-speed-history|rial-port-is-file-p|rial-read-name|rial-read-speed|rial-speed|rial-supported-or-barf|rial-update-config-menu|rial-update-speed-menu|rver--on-display-p|rver-add-client|rver-buffer-done|rver-clients-with|rver-create-tty-frame|rver-create-window-system-frame|rver-delete-client|rver-done|rver-edit|rver-ensure-safe-dir|rver-eval-and-print|rver-eval-at|rver-execute-continuation|rver-execute|rver-force-delete|rver-force-stop|rver-generate-key|rver-get-auth-key|rver-goto-line-column|rver-goto-toplevel|rver-handle-delete-frame|rver-handle-suspend-tty|rver-kill-buffer|rver-kill-emacs-query-function|rver-log|rver-mode|rver-process-filter|rver-quote-arg|rver-reply-print|rver-return-error|rver-running-p|rver-save-buffers-kill-terminal|rver-select-display|rver-send-string|rver-sentinel|rver-start|rver-switch-buffer|rver-temp-file-p|rver-unload-function|rver-unquote-arg|rver-unselect-display|rver-visit-files|rver-with-environment|s\\\\+|s--advice-copy-region-as-kill|s--advice-yank|s--cell|s--clean-!|s--clean-_|s--letref|s--local-printer|s--locprn-compiled--cmacro|s--locprn-compiled|s--locprn-def--cmacro|s--locprn-def|s--locprn-local-printer-list--cmacro|s--locprn-local-printer-list|s--locprn-number--cmacro|s--locprn-number|s--locprn-p--cmacro|s--locprn-p|s--metaprogramming)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)s(?:es--time-check|es-adjust-print-width|es-append-row-jump-first-column|es-aset-with-undo|es-average|es-begin-change|es-calculate-cell|es-call-printer|es-cell--formula--cmacro|es-cell--formula|es-cell--printer--cmacro|es-cell--printer|es-cell--properties--cmacro|es-cell--properties|es-cell--references--cmacro|es-cell--references|es-cell--symbol--cmacro|es-cell--symbol|es-cell-formula|es-cell-p|es-cell-printer|es-cell-property-pop|es-cell-property|es-cell-references|es-cell-set-formula|es-cell-symbol|es-cell-value|es-center-span|es-center|es-check-curcell|es-cleanup|es-clear-cell-backward|es-clear-cell-forward|es-clear-cell|es-col-printer|es-col-width|es-column-letter|es-column-printers|es-column-widths|es-command-hook|es-copy-region-helper|es-copy-region|es-create-cell-symbol|es-create-cell-variable-range|es-create-cell-variable|es-create-header-string|es-dashfill-span|es-dashfill|es-decode-cell-symbol|es-default-printer|es-define-local-printer|es-delete-blanks|es-delete-column|es-delete-line|es-delete-row|es-destroy-cell-variable-range|es-dorange|es-edit-cell|es-end-of-line|es-export-keymap|es-export-tab|es-export-tsf|es-export-tsv|es-file-format-extend-parameter-list|es-formula-record|es-formula-references|es-forward-or-insert|es-get-cell|es-goto-data|es-goto-print|es-header-line-menu|es-header-row|es-in-print-area|es-initialize-Dijkstra-attempt|es-insert-column|es-insert-range-click|es-insert-range|es-insert-row|es-insert-ses-range-click|es-insert-ses-range|es-is-cell-sym-p|es-jump-safe|es-jump|es-kill-override|es-load|es-local-printer-compile|es-make-cell--cmacro|es-make-cell|es-make-local-printer-info|es-mark-column|es-mark-row|es-menu|es-mode-print-map|es-mode|es-print-cell-new-width|es-print-cell|es-printer-record|es-printer-validate|es-range|es-read-cell-printer|es-read-cell|es-read-column-printer|es-read-default-printer|es-read-printer|es-read-symbol|es-recalculate-all|es-recalculate-cell|es-reconstruct-all|es-refresh-local-printer|es-relocate-all|es-relocate-formula|es-relocate-range|es-relocate-symbol|es-rename-cell|es-renarrow-buffer|es-repair-cell-reference-all|es-replace-name-in-formula|es-reprint-all|es-reset-header-string|es-safe-formula|es-safe-printer|es-select|es-set-cell|es-set-column-width|es-set-curcell|es-set-header-row|es-set-localvars|es-set-parameter|es-set-with-undo|es-setter-with-undo|es-setup|es-sort-column-click|es-sort-column|es-sym-rowcol|es-tildefill-span|es-truncate-cell|es-unload-function|es-unsafe|es-unset-header-row|es-update-cells|es-vector-delete|es-vector-insert|es-warn-unsafe|es-widen|es-write-cells|es-yank-cells|es-yank-one|es-yank-pop|es-yank-resize|es-yank-tsf|et-allout-regexp|et-auto-mode-0|et-auto-mode-1|et-background-color|et-border-color|et-buffer-file-coding-system|et-buffer-process-coding-system|et-cdabbrev-buffer|et-charset-plist|et-clipboard-coding-system|et-cmpl-prefix-entry-head|et-cmpl-prefix-entry-tail|et-coding-priority|et-comment-column|et-completion-last-use-time|et-completion-num-uses|et-completion-string|et-cursor-color|et-default-coding-systems|et-default-font|et-default-toplevel-value|et-difference|et-display-table-and-terminal-coding-system|et-downcase-syntax|et-exclusive-or|et-face-attribute-from-resource|et-face-attributes-from-resources|et-face-background-pixmap|et-face-bold-p|et-face-doc-string|et-face-documentation|et-face-inverse-video-p|et-face-italic-p|et-face-underline-p|et-file-name-coding-system|et-fill-column|et-fill-prefix|et-font-encoding|et-foreground-color|et-frame-font|et-frame-name|et-fringe-mode-1|et-fringe-mode|et-fringe-style|et-goal-column|et-hard-newline-properties|et-input-interrupt-mode|et-input-meta-mode|et-justification-center|et-justification-full|et-justification-left|et-justification-none|et-justification-right|et-justification|et-keyboard-coding-system-internal|et-language-environment-charset|et-language-environment-coding-systems|et-language-environment-input-method|et-language-environment-nonascii-translation|et-language-environment-unibyte|et-language-environment|et-language-info-alist|et-language-info-internal|et-language-info|et-locale-environment|et-mark-command|et-mode-local-parent|et-mouse-color|et-nested-alist|et-next-selection-coding-system|et-output-flow-control|et-page-delimiter|et-process-filter-multibyte|et-process-inherit-coding-system-flag|et-process-window-size|et-quit-char|et-rcirc-decode-coding-system|et-rcirc-encode-coding-system|et-rmail-inbox-list|et-safe-terminal-coding-system-internal|et-scroll-bar-mode|et-selection-coding-system|et-selective-display|et-slot-value|et-temporary-overlay-map|et-terminal-coding-system-internal|et-time-zone-rule|et-upcase-syntax|et-variable|et-viper-state-in-major-mode|et-window-buffer-start-and-point|et-window-dot|et-window-new-normal|et-window-new-pixel|et-window-new-total|et-window-redisplay-end-trigger|et-window-text-height|et-woman-file-regexp|etenv-internal|etq-mode-local|etup-chinese-environment-map|etup-cyrillic-environment-map|etup-default-fontset|etup-ethiopic-environment-internal|etup-european-environment-map|etup-indian-environment-map|etup-japanese-environment-internal|etup-korean-environment-internal|etup-specified-language-environment|eventh|exp-at-point|gml-at-indentation-p|gml-attributes|gml-auto-attributes|gml-beginning-of-tag|gml-calculate-indent|gml-close-tag|gml-comment-indent-new-line|gml-comment-indent|gml-delete-tag|gml-electric-tag-pair-before-change-function|gml-electric-tag-pair-flush-overlays|gml-electric-tag-pair-mode|gml-empty-tag-p|gml-fill-nobreak|gml-get-context|gml-guess-indent|gml-html-meta-auto-coding-function|gml-indent-line|gml-lexical-context|gml-looking-back-at|gml-make-syntax-table|gml-make-tag--cmacro|gml-make-tag|gml-maybe-end-tag|gml-maybe-name-self|gml-mode-facemenu-add-face-function|gml-mode-flyspell-verify|gml-mode|gml-name-8bit-mode|gml-name-char|gml-name-self|gml-namify-char|gml-parse-dtd|gml-parse-tag-backward|gml-parse-tag-name|gml-point-entered|gml-pretty-print|gml-quote|gml-show-context|gml-skip-tag-backward|gml-skip-tag-forward|gml-slash-matching|gml-slash|gml-tag-end--cmacro|gml-tag-end|gml-tag-help|gml-tag-name--cmacro|gml-tag-name|gml-tag-p--cmacro|gml-tag-p|gml-tag-start--cmacro|gml-tag-start|gml-tag-text-p|gml-tag-type--cmacro|gml-tag-type|gml-tag|gml-tags-invisible|gml-unclosed-tag-p|gml-validate|gml-value|gml-xml-auto-coding-function|gml-xml-guess|h--cmd-completion-table|h--inside-noncommand-expression|h--maybe-here-document|h--vars-before-point|h-add-completer|h-add|h-after-hack-local-variables|h-append-backslash|h-append|h-assignment|h-backslash-region|h-basic-indent-line|h-beginning-of-command|h-blink|h-calculate-indent|h-canonicalize-shell|h-case|h-cd-here|h-check-rule|h-completion-at-point-function|h-current-defun-name|h-debug|h-delete-backslash|h-electric-here-document-mode|h-end-of-command|h-execute-region|h-feature|h-find-prev-matching|h-find-prev-switch|h-font-lock-backslash-quote|h-font-lock-keywords-1|h-font-lock-keywords-2|h-font-lock-keywords|h-font-lock-open-heredoc|h-font-lock-paren|h-font-lock-quoted-subshell|h-font-lock-syntactic-face-function|h-for|h-function|h-get-indent-info|h-get-indent-var-for-line|h-get-kw|h-get-word|h-goto-match-for-done|h-goto-matching-case|h-goto-matching-if|h-guess-basic-offset|h-handle-after-case-label|h-handle-prev-case-alt-end|h-handle-prev-case|h-handle-prev-do|h-handle-prev-done|h-handle-prev-else|h-handle-prev-esac|h-handle-prev-fi|h-handle-prev-if|h-handle-prev-open|h-handle-prev-rc-case|h-handle-prev-then|h-handle-this-close|h-handle-this-do|h-handle-this-done|h-handle-this-else|h-handle-this-esac|h-handle-this-fi|h-handle-this-rc-case|h-handle-this-then|h-help-string-for-variable|h-if|h-in-comment-or-string|h-indent-line|h-indexed-loop|h-is-quoted-p|h-learn-buffer-indent|h-learn-line-indent|h-load-style|h-make-vars-local|h-mark-init|h-mark-line|h-maybe-here-document|h-mkword-regexpr|h-mode-syntax-table|h-mode|h-modify|h-must-support-indent|h-name-style|h-prev-line|h-prev-stmt|h-prev-thing|h-quoted-p|h-read-variable|h-remember-variable|h-repeat|h-reset-indent-vars-to-global-values|h-safe-forward-sexp|h-save-styles-to-buffer|h-select|h-send-line-or-region-and-step|h-send-text|h-set-indent|h-set-shell|h-set-var-value|h-shell-initialize-variables|h-shell-process|h-show-indent|h-show-shell|h-smie--continuation-start-indent|h-smie--default-backward-token|h-smie--default-forward-token|h-smie--keyword-p|h-smie--looking-back-at-continuation-p|h-smie--newline-semi-p|h-smie--rc-after-special-arg-p|h-smie--rc-newline-semi-p|h-smie--sh-keyword-in-p|h-smie--sh-keyword-p|h-smie-rc-backward-token|h-smie-rc-forward-token|h-smie-rc-rules|h-smie-sh-backward-token|h-smie-sh-forward-token|h-smie-sh-rules|h-syntax-propertize-function|h-syntax-propertize-here-doc|h-this-is-a-continuation|h-tmp-file|h-until|h-var-value|h-while-getopts|h-while|ha1|hadow-add-to-todo|hadow-cancel|hadow-cluster-name|hadow-cluster-primary|hadow-cluster-regexp|hadow-contract-file-name|hadow-copy-files??|hadow-define-cluster|hadow-define-literal-group|hadow-define-regexp-group|hadow-expand-cluster-in-file-name|hadow-expand-file-name|hadow-file-match|hadow-find|hadow-get-cluster|hadow-get-user|hadow-initialize|hadow-insert-var|hadow-invalidate-hashtable|hadow-local-file|hadow-make-cluster|hadow-make-fullname|hadow-make-group|hadow-parse-fullname|hadow-parse-name|hadow-read-files|hadow-read-site|hadow-regexp-superquote|hadow-remove-from-todo|hadow-replace-name-component|hadow-same-site|hadow-save-buffers-kill-emacs|hadow-save-todo-file|hadow-set-cluster|hadow-shadows-of-1|hadow-shadows-of|hadow-shadows|hadow-site-cluster|hadow-site-match|hadow-site-primary|hadow-suffix|hadow-union|hadow-write-info-file|hadow-write-todo-file|hadowfile-unload-function|hared-initialize|hell--command-completion-data|hell--parse-pcomplete-arguments|hell--requote-argument|hell--unquote&requote-argument|hell--unquote-argument|hell-apply-ansi-color|hell-backward-command|hell-c-a-p-replace-by-expanded-directory|hell-cd|hell-command-completion-function|hell-command-completion|hell-command-on-region|hell-command-sentinel|hell-command|hell-completion-vars|hell-copy-environment-variable|hell-directory-tracker|hell-dirstack-message|hell-dirtrack-mode|hell-dirtrack-toggle|hell-dynamic-complete-command|hell-dynamic-complete-environment-variable|hell-dynamic-complete-filename|hell-environment-variable-completion|hell-extract-num|hell-filename-completion|hell-filter-ctrl-a-ctrl-b|hell-forward-command|hell-match-partial-variable|hell-mode|hell-prefixed-directory-name|hell-process-cd|hell-process-popd|hell-process-pushd|hell-quote-wildcard-pattern|hell-reapply-ansi-color|hell-replace-by-expanded-directory|hell-resync-dirs|hell-script-mode|hell-snarf-envar|hell-strip-ctrl-m|hell-unquote-argument|hell-write-history-on-exit|hell|hiftf|hould-error|hould-not|hould|how-all|how-branches|how-buffer|how-children|how-entry|how-ifdef-block|how-ifdefs|how-paren--categorize-paren|how-paren--default|how-paren--locate-near-paren|how-paren--unescaped-p|how-paren-function|how-paren-mode|how-subtree|hr--extract-best-source|hr--get-media-pref|hr-add-font|hr-browse-image|hr-browse-url|hr-buffer-width|hr-char-breakable-p--inliner|hr-char-breakable-p|hr-char-kinsoku-bol-p--inliner|hr-char-kinsoku-bol-p|hr-char-kinsoku-eol-p--inliner|hr-char-kinsoku-eol-p|hr-char-nospace-p--inliner|hr-char-nospace-p|hr-color->hexadecimal|hr-color-check|hr-color-hsl-to-rgb-fractions|hr-color-hue-to-rgb|hr-color-relative-to-absolute|hr-color-set-minimum-interval|hr-color-visible|hr-colorize-region|hr-column-specs|hr-copy-url|hr-count|hr-descend|hr-dom-print|hr-dom-to-xml|hr-encode-url|hr-ensure-newline|hr-ensure-paragraph|hr-expand-newlines|hr-expand-url|hr-find-fill-point|hr-fold-text|hr-fontize-dom|hr-generic|hr-get-image-data|hr-heading|hr-image-displayer|hr-image-fetched|hr-image-from-data|hr-indent)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)s(?:hr-insert-image|hr-insert-table-ruler|hr-insert-table|hr-insert|hr-make-table-1|hr-make-table|hr-max-columns|hr-mouse-browse-url|hr-next-link|hr-parse-base|hr-parse-image-data|hr-parse-style|hr-previous-link|hr-previous-newline-padding-width|hr-pro-rate-columns|hr-put-image|hr-remove-trailing-whitespace|hr-render-buffer|hr-render-region|hr-render-td|hr-rescale-image|hr-save-contents|hr-show-alt-text|hr-store-contents|hr-table-widths|hr-tag-a|hr-tag-audio|hr-tag-b|hr-tag-base|hr-tag-blockquote|hr-tag-body|hr-tag-br|hr-tag-comment|hr-tag-dd|hr-tag-del|hr-tag-div|hr-tag-dl|hr-tag-dt|hr-tag-em|hr-tag-font|hr-tag-h1|hr-tag-h2|hr-tag-h3|hr-tag-h4|hr-tag-h5|hr-tag-h6|hr-tag-hr|hr-tag-i|hr-tag-img|hr-tag-label|hr-tag-li|hr-tag-object|hr-tag-ol|hr-tag-p|hr-tag-pre|hr-tag-s|hr-tag-script|hr-tag-span|hr-tag-strong|hr-tag-style|hr-tag-sub|hr-tag-sup|hr-tag-svg|hr-tag-table-1|hr-tag-table|hr-tag-title|hr-tag-ul??|hr-tag-video|hr-urlify|hr-zoom-image|hrink-window-horizontally|hrink-window|huffle-vector|ieve-manage|ieve-mode|ieve-upload-and-bury|ieve-upload-and-kill|ieve-upload|ignum|imula-backward-up-level|imula-calculate-indent|imula-context|imula-electric-keyword|imula-electric-label|imula-expand-keyword|imula-expand-stdproc|imula-find-do-match|imula-find-if|imula-find-inspect|imula-forward-down-level|imula-forward-up-level|imula-goto-definition|imula-indent-command|imula-indent-exp|imula-indent-line|imula-inside-parens|imula-install-standard-abbrevs|imula-mode|imula-next-statement|imula-popup-menu|imula-previous-statement|imula-search-backward|imula-search-forward|imula-skip-comment-backward|imula-skip-comment-forward|imula-submit-bug-report|ixth|ize-indication-mode|keleton-insert|keleton-internal-1|keleton-internal-list|keleton-pair-insert-maybe|keleton-proxy-new|keleton-read|kip-line-prefix|litex-mode|lot-boundp|lot-exists-p|lot-makeunbound|lot-missing|lot-unbound|lot-value|mbclient-list-shares|mbclient-mode|mbclient|merge--get-marker|merge-apply-resolution-patch|merge-auto-combine|merge-auto-leave|merge-batch-resolve|merge-check|merge-combine-with-next|merge-conflict-overlay|merge-context-menu|merge-diff-base-mine|merge-diff-base-other|merge-diff-mine-other|merge-diff|merge-ediff|merge-ensure-match|merge-find-conflict|merge-get-current|merge-keep-all|merge-keep-base|merge-keep-current|merge-keep-mine|merge-keep-n|merge-keep-other|merge-kill-current|merge-makeup-conflict|merge-match-conflict|merge-mode-menu|merge-mode|merge-next|merge-popup-context-menu|merge-prev|merge-refine-chopup-region|merge-refine-forward|merge-refine-highlight-change|merge-refine-subst|merge-refine|merge-remove-props|merge-resolve--extract-comment|merge-resolve--normalize|merge-resolve-all|merge-resolve|merge-start-session|merge-swap|mie--associative-p|mie--matching-block-data|mie--next-indent-change|mie--opener/closer-at-point|mie-auto-fill|mie-backward-sexp-command|mie-backward-sexp|mie-blink-matching-check|mie-blink-matching-open|mie-bnf--classify|mie-bnf--closer-alist|mie-bnf--set-class|mie-config--advice|mie-config--get-trace|mie-config--guess-1|mie-config--guess-value|mie-config--guess|mie-config--mode-hook|mie-config--setter|mie-debug--describe-cycle|mie-debug--prec2-cycle|mie-default-backward-token|mie-default-forward-token|mie-edebug|mie-forward-sexp-command|mie-forward-sexp|mie-indent--bolp-1|mie-indent--bolp|mie-indent--hanging-p|mie-indent--offset|mie-indent--parent|mie-indent--rule-1|mie-indent--rule|mie-indent--separator-outdent|mie-indent-after-keyword|mie-indent-backward-token|mie-indent-bob|mie-indent-calculate|mie-indent-close|mie-indent-comment-close|mie-indent-comment-continue|mie-indent-comment-inside|mie-indent-comment|mie-indent-exps|mie-indent-fixindent|mie-indent-forward-token|mie-indent-inside-string|mie-indent-keyword|mie-indent-line|mie-indent-virtual|mie-next-sexp|mie-op-left|mie-op-right|mie-set-prec2tab|miley-buffer|miley-region|mtpmail-command-or-throw|mtpmail-cred-cert|mtpmail-cred-key|mtpmail-cred-passwd|mtpmail-cred-port|mtpmail-cred-server|mtpmail-cred-user|mtpmail-deduce-address-list|mtpmail-do-bcc|mtpmail-find-credentials|mtpmail-fqdn|mtpmail-intersection|mtpmail-maybe-append-domain|mtpmail-ok-p|mtpmail-process-filter|mtpmail-query-smtp-server|mtpmail-read-response|mtpmail-response-code|mtpmail-response-text|mtpmail-send-command|mtpmail-send-data-1|mtpmail-send-data|mtpmail-send-it|mtpmail-send-queued-mail|mtpmail-try-auth-methods??|mtpmail-user-mail-address|mtpmail-via-smtp|nake-active-p|nake-display-options|nake-end-game|nake-final-x-velocity|nake-final-y-velocity|nake-init-buffer|nake-mode|nake-move-down|nake-move-left|nake-move-right|nake-move-up|nake-pause-game|nake-reset-game|nake-start-game|nake-update-game|nake-update-score|nake-update-velocity|nake|narf-spooks|nmp-calculate-indent|nmp-common-mode|nmp-completing-read|nmp-indent-line|nmp-mode-imenu-create-index|nmp-mode|nmpv2-mode|oap-array-type-element-type--cmacro|oap-array-type-element-type|oap-array-type-name--cmacro|oap-array-type-name|oap-array-type-namespace-tag--cmacro|oap-array-type-namespace-tag|oap-array-type-p--cmacro|oap-array-type-p|oap-basic-type-kind--cmacro|oap-basic-type-kind|oap-basic-type-name--cmacro|oap-basic-type-name|oap-basic-type-namespace-tag--cmacro|oap-basic-type-namespace-tag|oap-basic-type-p--cmacro|oap-basic-type-p|oap-binding-name--cmacro|oap-binding-name|oap-binding-namespace-tag--cmacro|oap-binding-namespace-tag|oap-binding-operations--cmacro|oap-binding-operations|oap-binding-p--cmacro|oap-binding-p|oap-binding-port-type--cmacro|oap-binding-port-type|oap-bound-operation-operation--cmacro|oap-bound-operation-operation|oap-bound-operation-p--cmacro|oap-bound-operation-p|oap-bound-operation-soap-action--cmacro|oap-bound-operation-soap-action|oap-bound-operation-use--cmacro|oap-bound-operation-use|oap-create-envelope|oap-decode-any-type|oap-decode-array-type|oap-decode-array|oap-decode-basic-type|oap-decode-sequence-type|oap-decode-type|oap-default-soapenc-types|oap-default-xsd-types|oap-element-fq-name|oap-element-name--cmacro|oap-element-name|oap-element-namespace-tag--cmacro|oap-element-namespace-tag|oap-element-p--cmacro|oap-element-p|oap-encode-array-type|oap-encode-basic-type|oap-encode-body|oap-encode-sequence-type|oap-encode-simple-type|oap-encode-value|oap-extract-xmlns|oap-get-target-namespace|oap-invoke|oap-l2fq|oap-l2wk|oap-load-wsdl-from-url|oap-load-wsdl|oap-message-name--cmacro|oap-message-name|oap-message-namespace-tag--cmacro|oap-message-namespace-tag|oap-message-p--cmacro|oap-message-p|oap-message-parts--cmacro|oap-message-parts|oap-namespace-elements--cmacro|oap-namespace-elements|oap-namespace-get|oap-namespace-link-name--cmacro|oap-namespace-link-name|oap-namespace-link-namespace-tag--cmacro|oap-namespace-link-namespace-tag|oap-namespace-link-p--cmacro|oap-namespace-link-p|oap-namespace-link-target--cmacro|oap-namespace-link-target|oap-namespace-name--cmacro|oap-namespace-name|oap-namespace-p--cmacro|oap-namespace-p|oap-namespace-put-link|oap-namespace-put|oap-operation-faults--cmacro|oap-operation-faults|oap-operation-input--cmacro|oap-operation-input|oap-operation-name--cmacro|oap-operation-name|oap-operation-namespace-tag--cmacro|oap-operation-namespace-tag|oap-operation-output--cmacro|oap-operation-output|oap-operation-p--cmacro|oap-operation-p|oap-operation-parameter-order--cmacro|oap-operation-parameter-order|oap-parse-binding|oap-parse-complex-type-complex-content|oap-parse-complex-type-sequence|oap-parse-complex-type|oap-parse-envelope|oap-parse-message|oap-parse-operation|oap-parse-port-type|oap-parse-response|oap-parse-schema-element|oap-parse-schema|oap-parse-sequence|oap-parse-simple-type|oap-parse-wsdl|oap-port-binding--cmacro|oap-port-binding|oap-port-name--cmacro|oap-port-name|oap-port-namespace-tag--cmacro|oap-port-namespace-tag|oap-port-p--cmacro|oap-port-p|oap-port-service-url--cmacro|oap-port-service-url|oap-port-type-name--cmacro|oap-port-type-name|oap-port-type-namespace-tag--cmacro|oap-port-type-namespace-tag|oap-port-type-operations--cmacro|oap-port-type-operations|oap-port-type-p--cmacro|oap-port-type-p|oap-resolve-references-for-array-type|oap-resolve-references-for-binding|oap-resolve-references-for-element|oap-resolve-references-for-message|oap-resolve-references-for-operation|oap-resolve-references-for-port|oap-resolve-references-for-sequence-type|oap-resolve-references-for-simple-type|oap-sequence-element-multiple\\\\?--cmacro|oap-sequence-element-multiple\\\\?|oap-sequence-element-name--cmacro|oap-sequence-element-name|oap-sequence-element-nillable\\\\?--cmacro|oap-sequence-element-nillable\\\\?|oap-sequence-element-p--cmacro|oap-sequence-element-p|oap-sequence-element-type--cmacro|oap-sequence-element-type|oap-sequence-type-elements--cmacro|oap-sequence-type-elements|oap-sequence-type-name--cmacro|oap-sequence-type-name|oap-sequence-type-namespace-tag--cmacro|oap-sequence-type-namespace-tag|oap-sequence-type-p--cmacro|oap-sequence-type-p|oap-sequence-type-parent--cmacro|oap-sequence-type-parent|oap-simple-type-enumeration--cmacro|oap-simple-type-enumeration|oap-simple-type-kind--cmacro|oap-simple-type-kind|oap-simple-type-name--cmacro|oap-simple-type-name|oap-simple-type-namespace-tag--cmacro|oap-simple-type-namespace-tag|oap-simple-type-p--cmacro|oap-simple-type-p|oap-type-p|oap-warning|oap-with-local-xmlns|oap-wk2l|oap-wsdl-add-alias|oap-wsdl-add-namespace|oap-wsdl-alias-table--cmacro|oap-wsdl-alias-table|oap-wsdl-find-namespace|oap-wsdl-get|oap-wsdl-namespaces--cmacro|oap-wsdl-namespaces|oap-wsdl-origin--cmacro|oap-wsdl-origin|oap-wsdl-p--cmacro|oap-wsdl-p|oap-wsdl-ports--cmacro|oap-wsdl-ports|oap-wsdl-resolve-references|oap-xml-get-attribute-or-nil1|oap-xml-get-children1|ocks-build-auth-list|ocks-chap-auth|ocks-cram-auth|ocks-filter|ocks-find-route|ocks-find-services-entry|ocks-gssapi-auth|ocks-nslookup-host|ocks-open-connection|ocks-open-network-stream|ocks-original-open-network-stream|ocks-parse-services|ocks-register-authentication-method|ocks-send-command|ocks-split-string|ocks-unregister-authentication-method|ocks-username/password-auth-filter|ocks-username/password-auth|ocks-wait-for-state-change|olicit-char-in-string|olitaire-build-mode-line|olitaire-center-point|olitaire-check|olitaire-current-line|olitaire-do-check|olitaire-down|olitaire-insert-board|olitaire-left|olitaire-mode|olitaire-move-down|olitaire-move-left|olitaire-move-right|olitaire-move-up|olitaire-move|olitaire-possible-move|olitaire-right|olitaire-solve|olitaire-undo|olitaire-up|olitaire|ome-window|ome|ort\\\\*|ort-build-lists|ort-charsets|ort-coding-systems|ort-fields-1|ort-pages-buffer|ort-pages-in-region|ort-regexp-fields-next-record|ort-reorder-buffer|ort-skip-fields|oundex|paces-string|pam-initialize|pam-report-agentize|pam-report-deagentize|pam-report-process-queue|pam-report-url-ping-mm-url|pam-report-url-to-file|pecial-display-p|pecial-display-popup-frame|peedbar-add-expansion-list|peedbar-add-ignored-directory-regexp|peedbar-add-ignored-path-regexp|peedbar-add-indicator|peedbar-add-localized-speedbar-support|peedbar-add-mode-functions-list|peedbar-add-supported-extension|peedbar-backward-list|peedbar-buffer-buttons-engine|peedbar-buffer-buttons-temp|peedbar-buffer-buttons|peedbar-buffer-click|peedbar-buffer-kill-buffer|peedbar-buffer-revert-buffer|peedbar-buffers-item-info|peedbar-buffers-line-directory|peedbar-buffers-line-path|peedbar-buffers-tail-notes|peedbar-center-buffer-smartly|peedbar-change-expand-button-char|peedbar-change-initial-expansion-list|peedbar-check-obj-this-line|peedbar-check-objects|peedbar-check-read-only|peedbar-check-vc-this-line|peedbar-check-vc|peedbar-clear-current-file|peedbar-click|peedbar-contract-line-descendants|peedbar-contract-line|peedbar-create-directory)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:speedbar-create-tag-hierarchy|speedbar-current-frame|speedbar-customize|speedbar-default-directory-list|speedbar-delete-overlay|speedbar-delete-subblock|speedbar-dir-follow|speedbar-directory-buttons-follow|speedbar-directory-buttons|speedbar-directory-line|speedbar-dired|speedbar-disable-update|speedbar-do-function-pointer|speedbar-edit-line|speedbar-enable-update|speedbar-expand-line-descendants|speedbar-expand-line|speedbar-extension-list-to-regex|speedbar-extract-one-symbol|speedbar-fetch-dynamic-etags|speedbar-fetch-dynamic-imenu|speedbar-fetch-dynamic-tags|speedbar-fetch-replacement-function|speedbar-file-lists|speedbar-files-item-info|speedbar-files-line-directory|speedbar-find-file-in-frame|speedbar-find-file|speedbar-find-selected-file|speedbar-flush-expand-line|speedbar-forward-list|speedbar-frame-mode|speedbar-frame-reposition-smartly|speedbar-frame-width|speedbar-generic-item-info|speedbar-generic-list-group-p|speedbar-generic-list-positioned-group-p|speedbar-generic-list-tag-p|speedbar-get-focus|speedbar-goto-this-file|speedbar-handle-delete-frame|speedbar-highlight-one-tag-line|speedbar-image-dump|speedbar-initial-expansion-list|speedbar-initial-keymap|speedbar-initial-menu|speedbar-initial-stealthy-functions|speedbar-insert-button|speedbar-insert-etags-list|speedbar-insert-files-at-point|speedbar-insert-generic-list|speedbar-insert-image-button-maybe|speedbar-insert-imenu-list|speedbar-insert-separator|speedbar-item-byte-compile|speedbar-item-copy|speedbar-item-delete|speedbar-item-info-file-helper|speedbar-item-info-tag-helper|speedbar-item-info|speedbar-item-load|speedbar-item-object-delete|speedbar-item-rename|speedbar-line-directory|speedbar-line-file|speedbar-line-path|speedbar-line-text|speedbar-line-token|speedbar-make-button|speedbar-make-overlay|speedbar-make-specialized-keymap|speedbar-make-tag-line|speedbar-maybe-add-localized-support|speedbar-maybee-jump-to-attached-frame|speedbar-message|speedbar-mode-line-update|speedbar-mode|speedbar-mouse-item-info|speedbar-navigate-list|speedbar-next|speedbar-overlay-put|speedbar-parse-c-or-c\\\\+\\\\+tag|speedbar-parse-tex-string|speedbar-path-line|speedbar-position-cursor-on-line|speedbar-prefix-group-tag-hierarchy|speedbar-prev|speedbar-recenter-to-top|speedbar-recenter|speedbar-reconfigure-keymaps|speedbar-refresh|speedbar-remove-localized-speedbar-support|speedbar-reset-scanners|speedbar-restricted-move|speedbar-restricted-next|speedbar-restricted-prev|speedbar-scroll-down|speedbar-scroll-up|speedbar-select-attached-frame|speedbar-set-mode-line-format|speedbar-set-timer|speedbar-show-info-under-mouse|speedbar-simple-group-tag-hierarchy|speedbar-sort-tag-hierarchy|speedbar-stealthy-updates|speedbar-tag-expand|speedbar-tag-file|speedbar-tag-find|speedbar-this-file-in-vc|speedbar-timer-fn|speedbar-toggle-etags|speedbar-toggle-images|speedbar-toggle-line-expansion|speedbar-toggle-show-all-files|speedbar-toggle-sorting|speedbar-toggle-updates|speedbar-track-mouse|speedbar-trim-words-tag-hierarchy|speedbar-try-completion|speedbar-unhighlight-one-tag-line|speedbar-up-directory|speedbar-update-contents|speedbar-update-current-file|speedbar-update-directory-contents|speedbar-update-localized-contents|speedbar-update-special-contents|speedbar-vc-check-dir-p|speedbar-with-attached-buffer|speedbar-with-writable|speedbar-y-or-n-p|speedbar|split-char|split-line|split-window-horizontally|split-window-internal|split-window-vertically|spook|sql--completion-table|sql--make-help-docstring|sql--oracle-show-reserved-words|sql-accumulate-and-indent|sql-add-product-keywords|sql-add-product|sql-beginning-of-statement|sql-buffer-live-p|sql-build-completions-1|sql-build-completions|sql-comint-db2|sql-comint-informix|sql-comint-ingres|sql-comint-interbase|sql-comint-linter|sql-comint-ms|sql-comint-mysql|sql-comint-oracle|sql-comint-postgres|sql-comint-solid|sql-comint-sqlite|sql-comint-sybase|sql-comint-vertica|sql-comint|sql-connect|sql-connection-menu-filter|sql-copy-column|sql-db2|sql-default-value|sql-del-product|sql-end-of-statement|sql-ends-with-prompt-re|sql-escape-newlines-filter|sql-execute-feature|sql-execute|sql-find-sqli-buffer|sql-font-lock-keywords-builder|sql-for-each-login|sql-get-login-ext|sql-get-login|sql-get-product-feature|sql-help-list-products|sql-help|sql-highlight-ansi-keywords|sql-highlight-db2-keywords|sql-highlight-informix-keywords|sql-highlight-ingres-keywords|sql-highlight-interbase-keywords|sql-highlight-linter-keywords|sql-highlight-ms-keywords|sql-highlight-mysql-keywords|sql-highlight-oracle-keywords|sql-highlight-postgres-keywords|sql-highlight-product|sql-highlight-solid-keywords|sql-highlight-sqlite-keywords|sql-highlight-sybase-keywords|sql-highlight-vertica-keywords|sql-informix|sql-ingres|sql-input-sender|sql-interactive-mode-menu|sql-interactive-mode|sql-interactive-remove-continuation-prompt|sql-interbase|sql-linter|sql-list-all|sql-list-table|sql-magic-go|sql-magic-semicolon|sql-make-alternate-buffer-name|sql-mode-menu|sql-mode|sql-ms|sql-mysql|sql-oracle-completion-object|sql-oracle-list-all|sql-oracle-list-table|sql-oracle-restore-settings|sql-oracle-save-settings|sql-oracle|sql-placeholders-filter|sql-postgres-completion-object|sql-postgres|sql-product-font-lock-syntax-alist|sql-product-font-lock|sql-product-interactive|sql-product-syntax-table|sql-read-connection|sql-read-product|sql-read-table-name|sql-redirect-one|sql-redirect-value|sql-redirect|sql-regexp-abbrev-list|sql-regexp-abbrev|sql-remove-tabs-filter|sql-rename-buffer|sql-save-connection|sql-send-buffer|sql-send-line-and-next|sql-send-magic-terminator|sql-send-paragraph|sql-send-region|sql-send-string|sql-set-product-feature|sql-set-product|sql-set-sqli-buffer-generally|sql-set-sqli-buffer|sql-show-sqli-buffer|sql-solid|sql-sqlite-completion-object|sql-sqlite|sql-starts-with-prompt-re|sql-statement-regexp|sql-stop|sql-str-literal|sql-sybase|sql-toggle-pop-to-buffer-after-send-region|sql-vertica|squeeze-bidi-context-1|squeeze-bidi-context|srecode-compile-templates|srecode-document-insert-comment|srecode-document-insert-function-comment|srecode-document-insert-group-comments|srecode-document-insert-variable-one-line-comment|srecode-get-maps|srecode-insert-getset|srecode-insert-prototype-expansion|srecode-insert|srecode-minor-mode|srecode-semantic-handle-:c|srecode-semantic-handle-:cpp|srecode-semantic-handle-:el-custom|srecode-semantic-handle-:el|srecode-semantic-handle-:java|srecode-semantic-handle-:srt|srecode-semantic-handle-:texi|srecode-semantic-handle-:texitag|srecode-template-mode|srecode-template-setup-parser|srt-mode|stable-sort|standard-class|standard-display-8bit|standard-display-ascii|standard-display-cyrillic-translit|standard-display-default|standard-display-european-internal|standard-display-european|standard-display-g1|standard-display-graphic|standard-display-underline|start-kbd-macro|start-of-paragraph-text|start-scheme|starttls-any-program-available|starttls-available-p|starttls-negotiate-gnutls|starttls-negotiate|starttls-open-stream-gnutls|starttls-open-stream|starttls-set-process-query-on-exit-flag|startup-echo-area-message|straight-use-package|store-kbd-macro-event|string-blank-p|string-collate-equalp|string-collate-lessp|string-empty-p|string-insert-rectangle|string-join|string-make-multibyte|string-make-unibyte|string-rectangle-line|string-rectangle|string-remove-prefix|string-remove-suffix|string-reverse|string-to-list|string-to-vector|string-trim-left|string-trim-right|string-trim|strokes-alphabetic-lessp|strokes-button-press-event-p|strokes-button-release-event-p|strokes-click-p|strokes-compose-complex-stroke|strokes-decode-buffer|strokes-define-stroke|strokes-describe-stroke|strokes-distance-squared|strokes-do-complex-stroke|strokes-do-stroke|strokes-eliminate-consecutive-redundancies|strokes-encode-buffer|strokes-event-closest-point-1|strokes-event-closest-point|strokes-execute-stroke|strokes-fill-current-buffer-with-whitespace|strokes-fill-stroke|strokes-get-grid-position|strokes-get-stroke-extent|strokes-global-set-stroke-string|strokes-global-set-stroke|strokes-help|strokes-lift-p|strokes-list-strokes|strokes-load-user-strokes|strokes-match-stroke|strokes-mode|strokes-mouse-event-p|strokes-prompt-user-save-strokes|strokes-rate-stroke|strokes-read-complex-stroke|strokes-read-stroke|strokes-remassoc|strokes-renormalize-to-grid|strokes-report-bug|strokes-square|strokes-toggle-strokes-buffer|strokes-unload-function|strokes-unset-last-stroke|strokes-update-window-configuration|strokes-window-configuration-changed-p|strokes-xpm-char-bit-p|strokes-xpm-char-on-p|strokes-xpm-decode-char|strokes-xpm-encode-length-as-string|strokes-xpm-for-compressed-string|strokes-xpm-for-stroke|strokes-xpm-to-compressed-string|studlify-buffer|studlify-region|studlify-word|sublis|subr-name|subregexp-context-p|subseq|subsetp|subst-char-in-string|subst-if-not|subst-if|subst|substitute-env-in-file-name|substitute-env-vars|substitute-if-not|substitute-if|substitute-key-definition-key|substitute|subtract-time|subword-mode|sunrise-sunset|superword-mode|suspicious-object|svref|switch-to-completions|switch-to-lisp|switch-to-prolog|switch-to-scheme|switch-to-tcl|symbol-at-point|symbol-before-point-for-complete|symbol-before-point|symbol-macrolet|symbol-under-or-before-point|symbol-under-point|syntax-ppss-after-change-function|syntax-ppss-context|syntax-ppss-debug|syntax-ppss-depth|syntax-ppss-stats|syntax-propertize--shift-groups|syntax-propertize-multiline|syntax-propertize-precompile-rules|syntax-propertize-rules|syntax-propertize-via-font-lock|syntax-propertize-wholelines|syntax-propertize|t-mouse-mode|tabify|table--at-cell-p|table--buffer-substring-and-trim|table--cancel-timer|table--cell-blank-str|table--cell-can-span-p|table--cell-can-split-horizontally-p|table--cell-can-split-vertically-p|table--cell-horizontal-char-p|table--cell-insert-char|table--cell-list-to-coord-list|table--cell-to-coord|table--char-in-str-at-column|table--copy-coordinate|table--create-growing-space-below|table--current-line|table--detect-cell-alignment|table--editable-cell-p|table--fill-region-strictly|table--fill-region|table--find-row-column|table--finish-delayed-tasks|table--generate-source-cell-contents|table--generate-source-cells-in-a-row|table--generate-source-epilogue|table--generate-source-prologue|table--generate-source-scan-lines|table--generate-source-scan-rows|table--get-cell-justify-property|table--get-cell-valign-property|table--get-coordinate|table--get-last-command|table--get-property|table--goto-coordinate|table--horizontal-cell-list|table--horizontally-shift-above-and-below|table--insert-rectangle|table--justify-cell-contents|table--line-column-position|table--log|table--make-cell-map|table--measure-max-width|table--min-coord-list|table--multiply-string|table--offset-coordinate|table--point-entered-cell-function|table--point-in-cell-p|table--point-left-cell-function|table--probe-cell-left-up|table--probe-cell-right-bottom|table--probe-cell|table--put-cell-content-property|table--put-cell-face-property|table--put-cell-indicator-property|table--put-cell-justify-property|table--put-cell-keymap-property|table--put-cell-line-property|table--put-cell-point-entered/left-property|table--put-cell-property|table--put-cell-rear-nonsticky|table--put-cell-valign-property|table--put-property|table--query-justification|table--read-from-minibuffer|table--region-in-cell-p|table--remove-blank-lines|table--remove-cell-properties|table--remove-eol-spaces|table--row-column-insertion-point-p|table--set-timer|table--spacify-frame|table--str-index-at-column|table--string-to-number-list|table--test-cell-list|table--transcoord-cache-to-table|table--transcoord-table-to-cache|table--uniform-list-p|table--untabify-line|table--untabify|table--update-cell-face|table--update-cell-heightened|table--update-cell-widened|table--update-cell|table--valign|table--vertical-cell-list|table--warn-incompatibility|table-backward-cell|table-capture|table-delete-column|table-delete-row|table-fixed-width-mode|table-forward-cell|table-function|table-generate-source|table-get-source-info|table-global-menu-map|table-goto-bottom-left-corner|table-goto-bottom-right-corner|table-goto-top-left-corner|table-goto-top-right-corner|table-heighten-cell|table-insert-column|table-insert-row-column|table-insert-row|table-insert-sequence|table-insert|table-justify-cell|table-justify-column|table-justify-row|table-justify|table-narrow-cell|table-put-source-info|table-query-dimension|table-recognize-cell|table-recognize-region)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)t(?:able-recognize-table|able-recognize|able-release|able-shorten-cell|able-span-cell|able-split-cell-horizontally|able-split-cell-vertically|able-split-cell|able-unrecognize-cell|able-unrecognize-region|able-unrecognize-table|able-unrecognize|able-widen-cell|able-with-cache-buffer|abulated-list--column-number|abulated-list--sort-by-column-name|abulated-list-col-sort|abulated-list-delete-entry|abulated-list-entry-size->|abulated-list-get-entry|abulated-list-get-id|abulated-list-print-col|abulated-list-print-entry|abulated-list-print-fake-header|abulated-list-put-tag|abulated-list-revert|abulated-list-set-col|abulated-list-sort|ag-any-match-p|ag-exact-file-name-match-p|ag-exact-match-p|ag-file-name-match-p|ag-find-file-of-tag-noselect|ag-find-file-of-tag|ag-implicit-name-match-p|ag-partial-file-name-match-p|ag-re-match-p|ag-symbol-match-p|ag-word-match-p|ags-apropos|ags-complete-tags-table-file|ags-completion-at-point-function|ags-completion-table|ags-expand-table-name|ags-included-tables|ags-lazy-completion-table|ags-loop-continue|ags-loop-eval|ags-next-table|ags-query-replace|ags-recognize-empty-tags-table|ags-reset-tags-tables|ags-search|ags-table-check-computed-list|ags-table-extend-computed-list|ags-table-files|ags-table-including|ags-table-list-member|ags-table-mode|ags-verify-table|ags-with-face|ai-viet-composition-function|ailp|alk-add-display|alk-connect|alk-disconnect|alk-handle-delete-frame|alk-split-up-frame|alk-update-buffers|alk|ar--check-descriptor|ar--extract|ar-alter-one-field|ar-change-major-mode-hook|ar-chgrp-entry|ar-chmod-entry|ar-chown-entry|ar-clear-modification-flags|ar-clip-time-string|ar-copy|ar-current-descriptor|ar-data-swapped-p|ar-display-other-window|ar-expunge-internal|ar-expunge|ar-extract-other-window|ar-extract|ar-file-name-handler|ar-flag-deleted|ar-get-descriptor|ar-get-file-descriptor|ar-grind-file-mode|ar-header-block-check-checksum|ar-header-block-checksum|ar-header-block-summarize|ar-header-block-tokenize|ar-header-checksum--cmacro|ar-header-checksum|ar-header-data-end|ar-header-data-start--cmacro|ar-header-data-start|ar-header-date--cmacro|ar-header-date|ar-header-dmaj--cmacro|ar-header-dmaj|ar-header-dmin--cmacro|ar-header-dmin|ar-header-gid--cmacro|ar-header-gid|ar-header-gname--cmacro|ar-header-gname|ar-header-header-start--cmacro|ar-header-header-start|ar-header-link-name--cmacro|ar-header-link-name|ar-header-link-type--cmacro|ar-header-link-type|ar-header-magic--cmacro|ar-header-magic|ar-header-mode--cmacro|ar-header-mode|ar-header-name--cmacro|ar-header-name|ar-header-p--cmacro|ar-header-p|ar-header-size--cmacro|ar-header-size|ar-header-uid--cmacro|ar-header-uid|ar-header-uname--cmacro|ar-header-uname|ar-mode-kill-buffer-hook|ar-mode-revert|ar-mode|ar-mouse-extract|ar-next-line|ar-octal-time|ar-pad-to-blocksize|ar-parse-octal-integer-safe|ar-parse-octal-integer|ar-parse-octal-long-integer|ar-previous-line|ar-read-file-name|ar-rename-entry|ar-roundup-512|ar-subfile-mode|ar-subfile-save-buffer|ar-summarize-buffer|ar-swap-data|ar-unflag-backwards|ar-unflag|ar-untar-buffer|ar-view|ar-write-region-annotate|cl-add-log-defun|cl-auto-fill-mode|cl-beginning-of-defun|cl-calculate-indent|cl-comment-indent|cl-current-word|cl-electric-brace|cl-electric-char|cl-electric-hash|cl-end-of-defun|cl-eval-defun|cl-eval-region|cl-figure-type|cl-files-alist|cl-filter|cl-guess-application|cl-hairy-scan-for-comment|cl-hashify-buffer|cl-help-on-word|cl-help-snarf-commands|cl-in-comment|cl-indent-command|cl-indent-exp|cl-indent-for-comment|cl-indent-line|cl-load-file|cl-mark-defun|cl-mark|cl-mode-menu|cl-mode|cl-outline-level|cl-popup-menu|cl-quote|cl-real-command-p|cl-real-comment-p|cl-reread-help-files|cl-restart-with-file|cl-send-region|cl-send-string|cl-set-font-lock-keywords|cl-set-proc-regexp|cl-uncomment-region|cl-word-no-props|ear-off-window|elnet-c-z|elnet-check-software-type-initialize|elnet-filter|elnet-initial-filter|elnet-interrupt-subjob|elnet-mode|elnet-send-input|elnet-simple-send|elnet|emp-buffer-resize-mode|emp-buffer-window-setup|emp-buffer-window-show|empo-add-tag|empo-backward-mark|empo-build-collection|empo-complete-tag|empo-define-template|empo-display-completions|empo-expand-if-complete|empo-find-match-string|empo-forget-insertions|empo-forward-mark|empo-insert-mark|empo-insert-named|empo-insert-prompt-compat|empo-insert-prompt|empo-insert-template|empo-insert|empo-invalidate-collection|empo-is-user-element|empo-lookup-named|empo-process-and-insert-string|empo-save-named|empo-template-dcl-f\\\\$context|empo-template-dcl-f\\\\$csid|empo-template-dcl-f\\\\$cvsi|empo-template-dcl-f\\\\$cvtime|empo-template-dcl-f\\\\$cvui|empo-template-dcl-f\\\\$device|empo-template-dcl-f\\\\$directory|empo-template-dcl-f\\\\$edit|empo-template-dcl-f\\\\$element|empo-template-dcl-f\\\\$environment|empo-template-dcl-f\\\\$extract|empo-template-dcl-f\\\\$fao|empo-template-dcl-f\\\\$file_attributes|empo-template-dcl-f\\\\$getdvi|empo-template-dcl-f\\\\$getjpi|empo-template-dcl-f\\\\$getqui|empo-template-dcl-f\\\\$getsyi|empo-template-dcl-f\\\\$identifier|empo-template-dcl-f\\\\$integer|empo-template-dcl-f\\\\$length|empo-template-dcl-f\\\\$locate|empo-template-dcl-f\\\\$message|empo-template-dcl-f\\\\$mode|empo-template-dcl-f\\\\$parse|empo-template-dcl-f\\\\$pid|empo-template-dcl-f\\\\$privilege|empo-template-dcl-f\\\\$process|empo-template-dcl-f\\\\$search|empo-template-dcl-f\\\\$setprv|empo-template-dcl-f\\\\$string|empo-template-dcl-f\\\\$time|empo-template-dcl-f\\\\$trnlnm|empo-template-dcl-f\\\\$type|empo-template-dcl-f\\\\$user|empo-template-dcl-f\\\\$verify|empo-template-snmp-object-type|empo-template-snmp-table-type|empo-template-snmpv2-object-type|empo-template-snmpv2-table-type|empo-template-snmpv2-textual-convention|empo-use-tag-list|enth|erm-adjust-current-row-cache|erm-after-pmark-p|erm-ansi-make-term|erm-ansi-reset|erm-args|erm-arguments|erm-backward-matching-input|erm-bol|erm-buffer-vertical-motion|erm-char-mode|erm-check-kill-echo-list|erm-check-proc|erm-check-size|erm-check-source|erm-command-hook|erm-continue-subjob|erm-copy-old-input|erm-current-column|erm-current-row|erm-delchar-or-maybe-eof|erm-delete-chars|erm-delete-lines|erm-delim-arg|erm-directory|erm-display-buffer-line|erm-display-line|erm-down|erm-dynamic-complete-as-filename|erm-dynamic-complete-filename|erm-dynamic-complete|erm-dynamic-list-completions|erm-dynamic-list-filename-completions|erm-dynamic-list-input-ring|erm-dynamic-simple-complete|erm-emulate-terminal|erm-erase-in-display|erm-erase-in-line|erm-exec-1|erm-exec|erm-extract-string|erm-forward-matching-input|erm-get-old-input-default|erm-get-source|erm-goto-home|erm-goto|erm-handle-ansi-escape|erm-handle-ansi-terminal-messages|erm-handle-colors-array|erm-handle-deferred-scroll|erm-handle-exit|erm-handle-scroll|erm-handling-pager|erm-horizontal-column|erm-how-many-region|erm-in-char-mode|erm-in-line-mode|erm-insert-char|erm-insert-lines|erm-insert-spaces|erm-interrupt-subjob|erm-kill-input|erm-kill-output|erm-kill-subjob|erm-line-mode|erm-magic-space|erm-match-partial-filename|erm-mode|erm-mouse-paste|erm-move-columns|erm-next-input|erm-next-matching-input-from-input|erm-next-matching-input|erm-next-prompt|erm-pager-back-line|erm-pager-back-page|erm-pager-bob|erm-pager-continue|erm-pager-disable|erm-pager-discard|erm-pager-enabled??|erm-pager-eob|erm-pager-help|erm-pager-line|erm-pager-menu|erm-pager-page|erm-pager-toggle|erm-paste|erm-previous-input-string|erm-previous-input|erm-previous-matching-input-from-input|erm-previous-matching-input-string-position|erm-previous-matching-input-string|erm-previous-matching-input|erm-previous-prompt|erm-proc-query|erm-process-pager|erm-quit-subjob|erm-read-input-ring|erm-read-noecho|erm-regexp-arg|erm-replace-by-expanded-filename|erm-replace-by-expanded-history-before-point|erm-replace-by-expanded-history|erm-reset-size|erm-reset-terminal|erm-search-arg|erm-search-start|erm-send-backspace|erm-send-del|erm-send-down|erm-send-end|erm-send-eof|erm-send-home|erm-send-input|erm-send-insert|erm-send-invisible|erm-send-left|erm-send-next|erm-send-prior|erm-send-raw-meta|erm-send-raw-string|erm-send-raw|erm-send-region|erm-send-right|erm-send-string|erm-send-up|erm-sentinel|erm-set-escape-char|erm-set-scroll-region|erm-show-maximum-output|erm-show-output|erm-signals-menu|erm-simple-send|erm-skip-prompt|erm-source-default|erm-start-line-column|erm-start-output-log|erm-stop-output-log|erm-stop-subjob|erm-terminal-menu|erm-terminal-pos|erm-unwrap-line|erm-update-mode-line|erm-using-alternate-sub-buffer|erm-vertical-motion|erm-window-width|erm-within-quotes|erm-word|erm-write-input-ring|erm|estcover-1value|estcover-after|estcover-end|estcover-enter|estcover-mark|estcover-read|estcover-reinstrument-compose|estcover-reinstrument-list|estcover-reinstrument|estcover-this-defun|estcover-unmark-all|etris-active-p|etris-default-update-speed-function|etris-display-options|etris-draw-border-p|etris-draw-next-shape|etris-draw-score|etris-draw-shape|etris-end-game|etris-erase-shape|etris-full-row|etris-get-shape-cell|etris-get-tick-period|etris-init-buffer|etris-mode|etris-move-bottom|etris-move-left|etris-move-right|etris-new-shape|etris-pause-game|etris-reset-game|etris-rotate-next|etris-rotate-prev|etris-shape-done|etris-shape-rotations|etris-shape-width|etris-shift-down|etris-shift-row|etris-start-game|etris-test-shape|etris-update-game|etris-update-score|etris|ex-alt-print|ex-append|ex-bibtex-file|ex-buffer|ex-categorize-whitespace|ex-close-latex-block|ex-cmd-doc-view|ex-command-active-p|ex-command-executable|ex-common-initialization|ex-compile-default|ex-compile|ex-count-words|ex-current-defun-name|ex-define-common-keys|ex-delete-last-temp-files|ex-display-shell|ex-env-mark|ex-executable-exists-p|ex-expand-files|ex-facemenu-add-face-function|ex-feed-input|ex-file|ex-font-lock-append-prop|ex-font-lock-match-suscript|ex-font-lock-suscript|ex-font-lock-syntactic-face-function|ex-font-lock-unfontify-region|ex-font-lock-verb|ex-format-cmd|ex-generate-zap-file-name|ex-goto-last-unclosed-latex-block|ex-guess-main-file|ex-guess-mode|ex-insert-braces|ex-insert-quote|ex-kill-job|ex-last-unended-begin|ex-last-unended-eparen|ex-latex-block|ex-main-file|ex-mode-flyspell-verify|ex-mode-internal|ex-mode|ex-next-unmatched-end|ex-next-unmatched-eparen|ex-old-error-file-name|ex-print|ex-recenter-output-buffer|ex-region-header|ex-region|ex-search-noncomment|ex-send-command|ex-send-tex-command|ex-set-buffer-directory|ex-shell-buf-no-error|ex-shell-buf|ex-shell-proc|ex-shell-running|ex-shell-sentinel|ex-shell|ex-show-print-queue|ex-start-shell|ex-start-tex|ex-string-prefix-p|ex-summarize-command|ex-suscript-height|ex-terminate-paragraph|ex-uptodate-p|ex-validate-buffer|ex-validate-region|ex-view|exi2info|exinfmt-version|exinfo-alias|exinfo-all-menus-update|exinfo-alphaenumerate-item|exinfo-alphaenumerate|exinfo-anchor|exinfo-append-refill|exinfo-capsenumerate-item|exinfo-capsenumerate|exinfo-check-for-node-name|exinfo-clean-up-node-line|exinfo-clear|exinfo-clone-environment|exinfo-copy-menu-title|exinfo-copy-menu|exinfo-copy-next-section-title|exinfo-copy-node-name|exinfo-copy-section-title|exinfo-copying|exinfo-current-defun-name|exinfo-define-common-keys|exinfo-define-info-enclosure|exinfo-delete-existing-pointers|exinfo-delete-from-print-queue|exinfo-delete-old-menu|exinfo-description|exinfo-discard-command-and-arg|exinfo-discard-command|exinfo-discard-line-with-args|exinfo-discard-line|exinfo-do-flushright|exinfo-do-itemize|exinfo-end-alphaenumerate|exinfo-end-capsenumerate|exinfo-end-defun|exinfo-end-direntry|exinfo-end-enumerate|exinfo-end-example|exinfo-end-flushleft)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)t(?:exinfo-end-flushright|exinfo-end-ftable|exinfo-end-indextable|exinfo-end-itemize|exinfo-end-multitable|exinfo-end-table|exinfo-end-vtable|exinfo-enumerate-item|exinfo-enumerate|exinfo-every-node-update|exinfo-filter|exinfo-find-higher-level-node|exinfo-find-lower-level-node|exinfo-find-pointer|exinfo-footnotestyle|exinfo-format-\\\\.|exinfo-format-:|exinfo-format-French-OE-ligature|exinfo-format-French-oe-ligature|exinfo-format-German-sharp-S|exinfo-format-Latin-Scandinavian-AE|exinfo-format-Latin-Scandinavian-ae|exinfo-format-Polish-suppressed-L|exinfo-format-Polish-suppressed-l-lower-case|exinfo-format-Scandinavian-A-with-circle|exinfo-format-Scandinavian-O-with-slash|exinfo-format-Scandinavian-a-with-circle|exinfo-format-Scandinavian-o-with-slash-lower-case|exinfo-format-TeX|exinfo-format-begin-end|exinfo-format-begin|exinfo-format-breve-accent|exinfo-format-buffer-1|exinfo-format-buffer|exinfo-format-bullet|exinfo-format-cedilla-accent|exinfo-format-center|exinfo-format-chapter-1|exinfo-format-chapter|exinfo-format-cindex|exinfo-format-code|exinfo-format-convert|exinfo-format-copyright|exinfo-format-ctrl|exinfo-format-defcv|exinfo-format-deffn|exinfo-format-defindex|exinfo-format-defivar|exinfo-format-defmethod|exinfo-format-defn|exinfo-format-defop|exinfo-format-deftypefn|exinfo-format-deftypefun|exinfo-format-defun-1|exinfo-format-defunx??|exinfo-format-dircategory|exinfo-format-direntry|exinfo-format-documentdescription|exinfo-format-dotless|exinfo-format-dots|exinfo-format-email|exinfo-format-emph|exinfo-format-end-node|exinfo-format-end|exinfo-format-enddots|exinfo-format-equiv|exinfo-format-error|exinfo-format-example|exinfo-format-exdent|exinfo-format-expand-region|exinfo-format-expansion|exinfo-format-findex|exinfo-format-flushleft|exinfo-format-flushright|exinfo-format-footnote|exinfo-format-hacek-accent|exinfo-format-html|exinfo-format-ifeq|exinfo-format-ifhtml|exinfo-format-ifnotinfo|exinfo-format-ifplaintext|exinfo-format-iftex|exinfo-format-ifxml|exinfo-format-ignore|exinfo-format-image|exinfo-format-inforef|exinfo-format-kbd|exinfo-format-key|exinfo-format-kindex|exinfo-format-long-Hungarian-umlaut|exinfo-format-menu|exinfo-format-minus|exinfo-format-node|exinfo-format-noop|exinfo-format-option|exinfo-format-overdot-accent|exinfo-format-paragraph-break|exinfo-format-parse-args|exinfo-format-parse-defun-args|exinfo-format-parse-line-args|exinfo-format-pindex|exinfo-format-point|exinfo-format-pounds|exinfo-format-print|exinfo-format-printindex|exinfo-format-pxref|exinfo-format-refill|exinfo-format-region|exinfo-format-result|exinfo-format-ring-accent|exinfo-format-scan|exinfo-format-section|exinfo-format-sectionpad|exinfo-format-separate-node|exinfo-format-setfilename|exinfo-format-soft-hyphen|exinfo-format-sp|exinfo-format-specialized-defun|exinfo-format-subsection|exinfo-format-subsubsection|exinfo-format-synindex|exinfo-format-tex|exinfo-format-tie-after-accent|exinfo-format-timestamp|exinfo-format-tindex|exinfo-format-titlepage|exinfo-format-titlespec|exinfo-format-today|exinfo-format-underbar-accent|exinfo-format-underdot-accent|exinfo-format-upside-down-exclamation-mark|exinfo-format-upside-down-question-mark|exinfo-format-uref|exinfo-format-var|exinfo-format-verb|exinfo-format-vindex|exinfo-format-xml|exinfo-format-xref|exinfo-ftable-item|exinfo-ftable|exinfo-hierarchic-level|exinfo-if-clear|exinfo-if-set|exinfo-incorporate-descriptions|exinfo-incorporate-menu-entry-names|exinfo-indent-menu-description|exinfo-index-defcv|exinfo-index-deffn|exinfo-index-defivar|exinfo-index-defmethod|exinfo-index-defop|exinfo-index-deftypefn|exinfo-index-defun|exinfo-index|exinfo-indextable-item|exinfo-indextable|exinfo-insert-@code|exinfo-insert-@dfn|exinfo-insert-@email|exinfo-insert-@emph|exinfo-insert-@end|exinfo-insert-@example|exinfo-insert-@file|exinfo-insert-@item|exinfo-insert-@kbd|exinfo-insert-@node|exinfo-insert-@noindent|exinfo-insert-@quotation|exinfo-insert-@samp|exinfo-insert-@strong|exinfo-insert-@table|exinfo-insert-@uref|exinfo-insert-@url|exinfo-insert-@var|exinfo-insert-block|exinfo-insert-braces|exinfo-insert-master-menu-list|exinfo-insert-menu|exinfo-insert-node-lines|exinfo-insert-pointer|exinfo-insert-quote|exinfo-insertcopying|exinfo-inside-env-p|exinfo-inside-macro-p|exinfo-item|exinfo-itemize-item|exinfo-itemize|exinfo-last-unended-begin|exinfo-locate-menu-p|exinfo-make-menu-list|exinfo-make-menu|exinfo-make-one-menu|exinfo-master-menu-list|exinfo-master-menu|exinfo-menu-copy-old-description|exinfo-menu-end|exinfo-menu-first-node|exinfo-menu-indent-description|exinfo-menu-locate-entry-p|exinfo-mode-flyspell-verify|exinfo-mode-menu|exinfo-mode|exinfo-multi-file-included-list|exinfo-multi-file-master-menu-list|exinfo-multi-file-update|exinfo-multi-files-insert-main-menu|exinfo-multiple-files-update|exinfo-multitable-extract-row|exinfo-multitable-item|exinfo-multitable-widths|exinfo-multitable|exinfo-next-unmatched-end|exinfo-noindent|exinfo-old-menu-p|exinfo-optional-braces-discard|exinfo-paragraphindent|exinfo-parse-arg-discard|exinfo-parse-expanded-arg|exinfo-parse-line-arg|exinfo-pointer-name|exinfo-pop-stack|exinfo-print-index|exinfo-push-stack|exinfo-quit-job|exinfo-raise-lower-sections|exinfo-sequential-node-update|exinfo-sequentially-find-pointer|exinfo-sequentially-insert-pointer|exinfo-sequentially-update-the-node|exinfo-set|exinfo-show-structure|exinfo-sort-region|exinfo-sort-startkeyfun|exinfo-specific-section-type|exinfo-start-menu-description|exinfo-table-item|exinfo-table|exinfo-tex-buffer|exinfo-tex-print|exinfo-tex-region|exinfo-tex-view|exinfo-texindex|exinfo-top-pointer-case|exinfo-unsupported|exinfo-update-menu-region-beginning|exinfo-update-menu-region-end|exinfo-update-node|exinfo-update-the-node|exinfo-value|exinfo-vtable-item|exinfo-vtable|ext-clone--maintain|ext-clone-create|ext-mode-hook-identify|ext-scale-adjust|ext-scale-decrease|ext-scale-increase|ext-scale-mode|ext-scale-set|hai-compose-buffer|hai-compose-region|hai-compose-string|hai-composition-function|he|hing-at-point--bounds-of-markedup-url|hing-at-point--bounds-of-well-formed-url|hing-at-point-bounds-of-list-at-point|hing-at-point-bounds-of-url-at-point|hing-at-point-looking-at|hing-at-point-newsgroup-p|hing-at-point-url-at-point|hird|his-major-mode-requires-vi-state|his-single-command-keys|his-single-command-raw-keys|hread-first|hread-last|humbs-backward-char|humbs-backward-line|humbs-call-convert|humbs-call-setroot-command|humbs-cleanup-thumbsdir|humbs-current-image|humbs-delete-images|humbs-dired-setroot|humbs-dired-show-marked|humbs-dired-show|humbs-dired|humbs-display-thumbs-buffer|humbs-do-thumbs-insertion|humbs-emboss-image|humbs-enlarge-image|humbs-file-alist|humbs-file-list|humbs-file-size|humbs-find-image-at-point-other-window|humbs-find-image-at-point|humbs-find-image|humbs-find-thumb|humbs-forward-char|humbs-forward-line|humbs-image-type|humbs-insert-image|humbs-insert-thumb|humbs-kill-buffer|humbs-make-thumb|humbs-mark|humbs-mode|humbs-modify-image|humbs-monochrome-image|humbs-mouse-find-image|humbs-negate-image|humbs-new-image-size|humbs-next-image|humbs-previous-image|humbs-redraw-buffer|humbs-rename-images|humbs-resize-image-1|humbs-resize-image|humbs-rotate-left|humbs-rotate-right|humbs-save-current-image|humbs-set-image-at-point-to-root-window|humbs-set-root|humbs-show-from-dir|humbs-show-image-num|humbs-show-more-images|humbs-show-name|humbs-show-thumbs-list|humbs-shrink-image|humbs-temp-dir|humbs-temp-file|humbs-thumbname|humbs-thumbsdir|humbs-unmark|humbs-view-image-mode|humbs|ibetan-char-p|ibetan-compose-buffer|ibetan-compose-region|ibetan-compose-string|ibetan-decompose-buffer|ibetan-decompose-region|ibetan-decompose-string|ibetan-post-read-conversion|ibetan-pre-write-canonicalize-for-unicode|ibetan-pre-write-conversion|ibetan-tibetan-to-transcription|ibetan-transcription-to-tibetan|ildify--deprecated-ignore-evironments|ildify--find-env|ildify--foreach-region|ildify--pick-alist-entry|ildify-buffer|ildify-foreach-ignore-environments|ildify-region|ildify-tildify|ime-date--day-in-year|ime-since|ime-stamp-conv-warn|ime-stamp-do-number|ime-stamp-fconcat|ime-stamp-mail-host-name|ime-stamp-once|ime-stamp-string-preprocess|ime-stamp-string|ime-stamp-toggle-active|ime-stamp|ime-to-number-of-days|ime-to-seconds|imeclock-ask-for-project|imeclock-ask-for-reason|imeclock-change|imeclock-completing-read|imeclock-current-debt|imeclock-currently-in-p|imeclock-day-alist|imeclock-day-base|imeclock-day-begin|imeclock-day-break|imeclock-day-debt|imeclock-day-end|imeclock-day-length|imeclock-day-list-begin|imeclock-day-list-break|imeclock-day-list-debt|imeclock-day-list-end|imeclock-day-list-length|imeclock-day-list-projects|imeclock-day-list-required|imeclock-day-list-span|imeclock-day-list-template|imeclock-day-list|imeclock-day-projects|imeclock-day-required|imeclock-day-span|imeclock-entry-begin|imeclock-entry-comment|imeclock-entry-end|imeclock-entry-length|imeclock-entry-list-begin|imeclock-entry-list-break|imeclock-entry-list-end|imeclock-entry-list-length|imeclock-entry-list-projects|imeclock-entry-list-span|imeclock-entry-project|imeclock-find-discrep|imeclock-generate-report|imeclock-in|imeclock-last-period|imeclock-log-data|imeclock-log|imeclock-make-hours-explicit|imeclock-mean|imeclock-mode-line-display|imeclock-modeline-display|imeclock-out|imeclock-project-alist|imeclock-query-out|imeclock-read-moment|imeclock-reread-log|imeclock-seconds-to-string|imeclock-seconds-to-time|imeclock-status-string|imeclock-time-to-date|imeclock-time-to-seconds|imeclock-update-mode-line|imeclock-update-modeline|imeclock-visit-timelog|imeclock-when-to-leave-string|imeclock-when-to-leave|imeclock-workday-elapsed-string|imeclock-workday-elapsed|imeclock-workday-remaining-string|imeclock-workday-remaining|imeout-event-p|imep|imer--activate|imer--args--cmacro|imer--args|imer--check|imer--function--cmacro|imer--function|imer--high-seconds--cmacro|imer--high-seconds|imer--idle-delay--cmacro|imer--idle-delay|imer--low-seconds--cmacro|imer--low-seconds|imer--psecs--cmacro|imer--psecs|imer--repeat-delay--cmacro|imer--repeat-delay|imer--time-less-p|imer--time-setter|imer--time|imer--triggered--cmacro|imer--triggered|imer--usecs--cmacro|imer--usecs|imer-activate-when-idle|imer-activate|imer-create--cmacro|imer-create|imer-duration|imer-event-handler|imer-inc-time|imer-next-integral-multiple-of-time|imer-relative-time|imer-set-function|imer-set-idle-time|imer-set-time-with-usecs|imer-set-time|imer-until|imerp|imezone-absolute-from-gregorian|imezone-day-number|imezone-fix-time|imezone-last-day-of-month|imezone-leap-year-p|imezone-make-arpa-date|imezone-make-date-arpa-standard|imezone-make-date-sortable|imezone-make-sortable-date|imezone-make-time-string|imezone-parse-date|imezone-parse-time|imezone-time-from-absolute|imezone-time-zone-from-absolute|imezone-zone-to-minute|itdic-convert|ls-certificate-information|mm--completion-table|mm-add-one-shortcut|mm-add-prompt|mm-add-shortcuts|mm-completion-delete-prompt|mm-define-keys|mm-get-keybind|mm-get-keymap|mm-goto-completions|mm-menubar-mouse|mm-menubar|mm-prompt|mm-remove-inactive-mouse-face|mm-shortcut|odo--user-error-if-marked-done-item|odo-absolute-file-name|odo-add-category|odo-add-file|odo-adjusted-category-label-length|odo-archive-done-item|odo-archive-mode|odo-backward-category|odo-backward-item|odo-categories-mode|odo-category-completions|odo-category-number|odo-category-select|odo-category-string-matcher-1|odo-category-string-matcher-2|odo-check-file|odo-check-filtered-items-file|odo-check-format|odo-choose-archive|odo-clear-matches|odo-comment-string-matcher|odo-convert-legacy-date-time|odo-convert-legacy-files|odo-current-category|odo-date-string-matcher|odo-delete-category|odo-delete-file|odo-delete-item|odo-desktop-save-buffer)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)t(?:odo-diary-expired-matcher|odo-diary-goto-entry|odo-diary-item-p|odo-diary-nonmarking-matcher|odo-display-categories|odo-display-sorted|odo-done-item-p|odo-done-item-section-p|odo-done-separator|odo-done-string-matcher|odo-edit-category-diary-inclusion|odo-edit-category-diary-nonmarking|odo-edit-file|odo-edit-item--diary-inclusion|odo-edit-item--header|odo-edit-item--next-key|odo-edit-item--text|odo-edit-item|odo-edit-mode|odo-edit-quit|odo-files|odo-filter-diary-items-multifile|odo-filter-diary-items|odo-filter-items-1|odo-filter-items-filename|odo-filter-items|odo-filter-regexp-items-multifile|odo-filter-regexp-items|odo-filter-top-priorities-multifile|odo-filter-top-priorities|odo-filtered-items-mode|odo-find-archive|odo-find-filtered-items-file|odo-find-item|odo-forward-category|odo-forward-item|odo-get-count|odo-get-overlay|odo-go-to-source-item|odo-indent|odo-insert-category-line|odo-insert-item--apply-args|odo-insert-item--argsleft|odo-insert-item--basic|odo-insert-item--keyof|odo-insert-item--next-param|odo-insert-item--this-key|odo-insert-item-from-calendar|odo-insert-item|odo-insert-sort-button|odo-insert-with-overlays|odo-item-done|odo-item-end|odo-item-start|odo-item-string|odo-item-undone|odo-jump-to-archive-category|odo-jump-to-category|odo-label-to-key|odo-longest-category-name-length|odo-lower-category|odo-lower-item-priority|odo-make-categories-list|odo-mark-category|odo-marked-item-p|odo-menu|odo-merge-category|odo-mode-external-set|odo-mode-line-control|odo-mode|odo-modes-set-1|odo-modes-set-2|odo-modes-set-3|odo-move-category|odo-move-item|odo-multiple-filter-files|odo-next-button|odo-next-item|odo-nondiary-marker-matcher|odo-padded-string|odo-prefix-overlays|odo-previous-button|odo-previous-item|odo-print-buffer-to-file|odo-print-buffer|odo-quit|odo-raise-category|odo-raise-item-priority|odo-read-category|odo-read-date|odo-read-dayname|odo-read-file-name|odo-read-time|odo-reevaluate-category-completions-files-defcustom|odo-reevaluate-default-file-defcustom|odo-reevaluate-filelist-defcustoms|odo-reevaluate-filter-files-defcustom|odo-remove-item|odo-rename-category|odo-rename-file|odo-repair-categories-sexp|odo-reset-and-enable-done-separator|odo-reset-comment-string|odo-reset-done-separator-string|odo-reset-done-separator|odo-reset-done-string|odo-reset-global-current-todo-file|odo-reset-highlight-item|odo-reset-nondiary-marker|odo-reset-prefix|odo-restore-desktop-buffer|odo-revert-buffer|odo-save-filtered-items-buffer|odo-save|odo-search|odo-set-categories|odo-set-category-number|odo-set-date-from-calendar|odo-set-item-priority|odo-set-show-current-file|odo-set-top-priorities-in-category|odo-set-top-priorities-in-file|odo-set-top-priorities|odo-short-file-name|odo-show-categories-table|odo-show-current-file|odo-show|odo-sort-categories-alphabetically-or-numerically|odo-sort-categories-by-archived|odo-sort-categories-by-diary|odo-sort-categories-by-done|odo-sort-categories-by-todo|odo-sort|odo-time-string-matcher|odo-toggle-item-header|odo-toggle-item-highlighting|odo-toggle-mark-item|odo-toggle-prefix-numbers|odo-toggle-view-done-items|odo-toggle-view-done-only|odo-total-item-counts|odo-unarchive-items|odo-unmark-category|odo-update-buffer-list|odo-update-categories-display|odo-update-categories-sexp|odo-update-count|odo-validate-name|odo-y-or-n-p|oggle-auto-composition|oggle-case-fold-search|oggle-debug-on-error|oggle-debug-on-quit|oggle-emacs-lock|oggle-frame-fullscreen|oggle-frame-maximized|oggle-horizontal-scroll-bar|oggle-indicate-empty-lines|oggle-input-method|oggle-menu-bar-mode-from-frame|oggle-read-only|oggle-rot13-mode|oggle-save-place-globally|oggle-save-place|oggle-scroll-bar|oggle-text-mode-auto-fill|oggle-tool-bar-mode-from-frame|oggle-truncate-lines|oggle-uniquify-buffer-names|oggle-use-system-font|oggle-viper-mode|oggle-word-wrap|ool-bar--image-expression|ool-bar-get-system-style|ool-bar-height|ool-bar-lines-needed|ool-bar-local-item|ool-bar-make-keymap-1|ool-bar-make-keymap|ool-bar-mode|ool-bar-pixel-width|ool-bar-setup|ooltip-cancel-delayed-tip|ooltip-delay|ooltip-event-buffer|ooltip-expr-to-print|ooltip-gud-toggle-dereference|ooltip-help-tips|ooltip-hide|ooltip-identifier-from-point|ooltip-mode|ooltip-process-prompt-regexp|ooltip-set-param|ooltip-show-help-non-mode|ooltip-show-help|ooltip-show|ooltip-start-delayed-tip|ooltip-strip-prompt|ooltip-timeout|q-buffer|q-filter|q-process-buffer|q-process|q-queue-add|q-queue-empty|q-queue-head-closure|q-queue-head-fn|q-queue-head-question|q-queue-head-regexp|q-queue-pop|q-queue|race--display-buffer|race--read-args|race-entry-message|race-exit-message|race-function-background|race-function-foreground|race-function-internal|race-function|race-is-traced|race-make-advice|race-values|raceroute|ramp-accept-process-output|ramp-action-login|ramp-action-out-of-band|ramp-action-password|ramp-action-permission-denied|ramp-action-process-alive|ramp-action-succeed|ramp-action-terminal|ramp-action-yesno|ramp-action-yn|ramp-adb-file-name-handler|ramp-adb-file-name-p|ramp-adb-parse-device-names|ramp-autoload-file-name-handler|ramp-backtrace|ramp-buffer-name|ramp-bug|ramp-cache-print|ramp-call-process|ramp-check-cached-permissions|ramp-check-for-regexp|ramp-check-proper-method-and-host|ramp-cleanup-all-buffers|ramp-cleanup-all-connections|ramp-cleanup-connection|ramp-cleanup-this-connection|ramp-clear-passwd|ramp-compat-coding-system-change-eol-conversion|ramp-compat-condition-case-unless-debug|ramp-compat-copy-directory|ramp-compat-copy-file|ramp-compat-decimal-to-octal|ramp-compat-delete-directory|ramp-compat-delete-file|ramp-compat-file-attributes|ramp-compat-font-lock-add-keywords|ramp-compat-funcall|ramp-compat-load|ramp-compat-make-temp-file|ramp-compat-most-positive-fixnum|ramp-compat-number-sequence|ramp-compat-octal-to-decimal|ramp-compat-process-get|ramp-compat-process-put|ramp-compat-process-running-p|ramp-compat-replace-regexp-in-string|ramp-compat-set-process-query-on-exit-flag|ramp-compat-split-string|ramp-compat-temporary-file-directory|ramp-compat-with-temp-message|ramp-completion-dissect-file-name1??|ramp-completion-file-name-handler|ramp-completion-handle-file-name-all-completions|ramp-completion-handle-file-name-completion|ramp-completion-make-tramp-file-name|ramp-completion-mode-p|ramp-completion-run-real-handler|ramp-condition-case-unless-debug|ramp-connectable-p|ramp-connection-property-p|ramp-debug-buffer-name|ramp-debug-message|ramp-debug-outline-level|ramp-default-file-modes|ramp-delete-temp-file-function|ramp-dissect-file-name|ramp-drop-volume-letter|ramp-equal-remote|ramp-error-with-buffer|ramp-error|ramp-eshell-directory-change|ramp-exists-file-name-handler|ramp-file-mode-from-int|ramp-file-mode-permissions|ramp-file-name-domain|ramp-file-name-for-operation|ramp-file-name-handler|ramp-file-name-hop|ramp-file-name-host|ramp-file-name-localname|ramp-file-name-method|ramp-file-name-p|ramp-file-name-port|ramp-file-name-real-host|ramp-file-name-real-user|ramp-file-name-user|ramp-find-file-name-coding-system-alist|ramp-find-foreign-file-name-handler|ramp-find-host|ramp-find-method|ramp-find-user|ramp-flush-connection-property|ramp-flush-directory-property|ramp-flush-file-property|ramp-ftp-enable-ange-ftp|ramp-ftp-file-name-handler|ramp-ftp-file-name-p|ramp-get-buffer|ramp-get-completion-function|ramp-get-completion-methods|ramp-get-completion-user-host|ramp-get-connection-buffer|ramp-get-connection-name|ramp-get-connection-process|ramp-get-connection-property|ramp-get-debug-buffer|ramp-get-device|ramp-get-file-property|ramp-get-inode|ramp-get-local-gid|ramp-get-local-uid|ramp-get-method-parameter|ramp-get-remote-tmpdir|ramp-gvfs-file-name-handler|ramp-gvfs-file-name-p|ramp-gw-open-connection|ramp-handle-directory-file-name|ramp-handle-directory-files-and-attributes|ramp-handle-directory-files|ramp-handle-dired-uncache|ramp-handle-file-accessible-directory-p|ramp-handle-file-exists-p|ramp-handle-file-modes|ramp-handle-file-name-as-directory|ramp-handle-file-name-completion|ramp-handle-file-name-directory|ramp-handle-file-name-nondirectory|ramp-handle-file-newer-than-file-p|ramp-handle-file-notify-add-watch|ramp-handle-file-notify-rm-watch|ramp-handle-file-regular-p|ramp-handle-file-remote-p|ramp-handle-file-symlink-p|ramp-handle-find-backup-file-name|ramp-handle-insert-directory|ramp-handle-insert-file-contents|ramp-handle-load|ramp-handle-make-auto-save-file-name|ramp-handle-make-symbolic-link|ramp-handle-set-visited-file-modtime|ramp-handle-shell-command|ramp-handle-substitute-in-file-name|ramp-handle-unhandled-file-name-directory|ramp-handle-verify-visited-file-modtime|ramp-list-connections|ramp-local-host-p|ramp-make-tramp-file-name|ramp-make-tramp-temp-file|ramp-message|ramp-mode-string-to-int|ramp-parse-connection-properties|ramp-parse-file|ramp-parse-group|ramp-parse-hosts-group|ramp-parse-hosts|ramp-parse-netrc-group|ramp-parse-netrc|ramp-parse-passwd-group|ramp-parse-passwd|ramp-parse-putty-group|ramp-parse-putty|ramp-parse-rhosts-group|ramp-parse-rhosts|ramp-parse-sconfig-group|ramp-parse-sconfig|ramp-parse-shostkeys-sknownhosts|ramp-parse-shostkeys|ramp-parse-shosts-group|ramp-parse-shosts|ramp-parse-sknownhosts|ramp-process-actions|ramp-process-one-action|ramp-progress-reporter-update|ramp-read-passwd|ramp-register-autoload-file-name-handlers|ramp-register-file-name-handlers|ramp-replace-environment-variables|ramp-rfn-eshadow-setup-minibuffer|ramp-rfn-eshadow-update-overlay|ramp-run-real-handler|ramp-send-string|ramp-set-auto-save-file-modes|ramp-set-completion-function|ramp-set-connection-property|ramp-set-file-property|ramp-sh-file-name-handler|ramp-shell-quote-argument|ramp-smb-file-name-handler|ramp-smb-file-name-p|ramp-subst-strs-in-string|ramp-time-diff|ramp-tramp-file-p|ramp-unload-file-name-handlers|ramp-unload-tramp|ramp-user-error|ramp-uuencode-region|ramp-version|ramp-wait-for-regexp|ransform-make-coding-system-args|ranslate-region-internal|ranspose-chars|ranspose-lines|ranspose-paragraphs|ranspose-sentences|ranspose-sexps|ranspose-subr-1|ranspose-subr|ranspose-words|ree-equal|ree-widget--locate-sub-directory|ree-widget-action|ree-widget-button-click|ree-widget-children-value-save|ree-widget-convert-widget|ree-widget-create-image|ree-widget-expander-p|ree-widget-find-image|ree-widget-help-echo|ree-widget-icon-action|ree-widget-icon-create|ree-widget-icon-help-echo|ree-widget-image-formats|ree-widget-image-properties|ree-widget-keep|ree-widget-leaf-node-icon-p|ree-widget-lookup-image|ree-widget-node|ree-widget-p|ree-widget-set-image-properties|ree-widget-set-parent-theme|ree-widget-set-theme|ree-widget-theme-name|ree-widget-themes-path|ree-widget-use-image-p|ree-widget-value-create|runcate\\\\*|runcated-partial-width-window-p|ry-complete-file-name-partially|ry-complete-file-name|ry-complete-lisp-symbol-partially|ry-complete-lisp-symbol|ry-expand-all-abbrevs|ry-expand-dabbrev-all-buffers|ry-expand-dabbrev-from-kill|ry-expand-dabbrev-visible|ry-expand-dabbrev|ry-expand-line-all-buffers|ry-expand-line|ry-expand-list-all-buffers|ry-expand-list|ry-expand-whole-kill|ty-color-by-index|ty-color-canonicalize|ty-color-desc|ty-color-gray-shades|ty-color-off-gray-diag|ty-color-standard-values|ty-color-values|ty-create-frame-with-faces|ty-display-color-cells|ty-display-color-p|ty-find-type|ty-handle-args|ty-handle-reverse-video|ty-modify-color-alist|ty-no-underline|ty-register-default-colors|ty-run-terminal-initialization|ty-set-up-initial-frame-faces|ty-suppress-bold-inverse-default-colors|ty-type|umme|urkish-case-conversion-disable|urkish-case-conversion-enable|urn-off-auto-fill|urn-off-flyspell|urn-off-follow-mode|urn-off-hideshow|urn-off-iimage-mode|urn-off-xterm-mouse-tracking-on-terminal|urn-on-auto-fill|urn-on-auto-revert-mode|urn-on-auto-revert-tail-mode|urn-on-cwarn-mode-if-enabled|urn-on-cwarn-mode|urn-on-eldoc-mode|urn-on-flyspell|urn-on-follow-mode|urn-on-font-lock-if-desired|urn-on-font-lock|urn-on-gnus-dired-mode)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)(?:turn-on-gnus-mailing-list-mode|turn-on-hi-lock-if-enabled|turn-on-iimage-mode|turn-on-org-cdlatex|turn-on-orgstruct\\\\+\\\\+|turn-on-orgstruct|turn-on-orgtbl|turn-on-prettify-symbols-mode|turn-on-reftex|turn-on-visual-line-mode|turn-on-xterm-mouse-tracking-on-terminal|type-break-alarm|type-break-cancel-function-timers|type-break-cancel-schedule|type-break-cancel-time-warning-schedule|type-break-catch-up-event|type-break-check-keystroke-warning|type-break-check-post-command-hook|type-break-check|type-break-choose-file|type-break-demo-boring|type-break-demo-hanoi|type-break-demo-life|type-break-do-query|type-break-file-keystroke-count|type-break-file-time|type-break-force-mode-line-update|type-break-format-time|type-break-get-previous-count|type-break-get-previous-time|type-break-guesstimate-keystroke-threshold|type-break-keystroke-reset|type-break-keystroke-warning|type-break-mode-line-countdown-or-break|type-break-mode-line-message-mode|type-break-mode|type-break-noninteractive-query|type-break-query-mode|type-break-query|type-break-run-at-time|type-break-run-tb-post-command-hook|type-break-schedule|type-break-statistics|type-break-time-difference|type-break-time-stamp|type-break-time-sum|type-break-time-warning-alarm|type-break-time-warning-schedule|type-break-time-warning|type-break|typecase|typep|uce-insert-ranting|uce-reply-to-uce|ucs-input-activate|ucs-insert|ucs-names|ucs-normalize-HFS-NFC-region|ucs-normalize-HFS-NFC-string|ucs-normalize-HFS-NFD-region|ucs-normalize-HFS-NFD-string|ucs-normalize-NFC-region|ucs-normalize-NFC-string|ucs-normalize-NFD-region|ucs-normalize-NFD-string|ucs-normalize-NFKC-region|ucs-normalize-NFKC-string|ucs-normalize-NFKD-region|ucs-normalize-NFKD-string|uncomment-region-default|uncomment-region|uncompface|underline-region|undigestify-rmail-message|undo-adjust-beg-end|undo-adjust-elt|undo-adjust-pos|undo-copy-list-1|undo-copy-list|undo-delta|undo-elt-crosses-region|undo-elt-in-region|undo-make-selective-list|undo-more|undo-only|undo-outer-limit-truncate|undo-start|undo|unencodable-char-position|unexpand-abbrev|unfocus-frame|unforward-rmail-message|unhighlight-regexp|unicode-property-table-internal|unify-8859-on-decoding-mode|unify-8859-on-encoding-mode|unify-charset|union|uniquify--create-file-buffer-advice|uniquify--rename-buffer-advice|uniquify-buffer-base-name|uniquify-buffer-file-name|uniquify-get-proposed-name|uniquify-item-base--cmacro|uniquify-item-base|uniquify-item-buffer--cmacro|uniquify-item-buffer|uniquify-item-dirname--cmacro|uniquify-item-dirname|uniquify-item-greaterp|uniquify-item-p--cmacro|uniquify-item-p|uniquify-item-proposed--cmacro|uniquify-item-proposed|uniquify-kill-buffer-function|uniquify-make-item--cmacro|uniquify-make-item|uniquify-maybe-rerationalize-w/o-cb|uniquify-rationalize-a-list|uniquify-rationalize-conflicting-sublist|uniquify-rationalize-file-buffer-names|uniquify-rationalize|uniquify-rename-buffer|uniquify-rerationalize-w/o-cb|uniquify-unload-function|universal-argument--mode|universal-argument-more|universal-coding-system-argument|unix-sync|unjustify-current-line|unjustify-region|unload--set-major-mode|unmorse-region|unmsys--file-name|unread-bib|unrecord-window-buffer|unrmail|unsafep-function|unsafep-let|unsafep-progn|unsafep-variable|untabify-backward|untabify|untrace-all|untrace-function|ununderline-region|up-ifdef|upcase-initials-region|update-glyphless-char-display|update-leim-list-file|url--allowed-chars|url-attributes--cmacro|url-attributes|url-auth-registered|url-auth-user-prompt|url-basepath|url-basic-auth|url-bit-for-url|url-build-query-string|url-cache-create-filename|url-cache-extract|url-cache-prune-cache|url-cid|url-completion-function|url-cookie-clean-up|url-cookie-create--cmacro|url-cookie-create|url-cookie-delete|url-cookie-domain--cmacro|url-cookie-domain|url-cookie-expired-p|url-cookie-expires--cmacro|url-cookie-expires|url-cookie-generate-header-lines|url-cookie-handle-set-cookie|url-cookie-host-can-set-p|url-cookie-list|url-cookie-localpart--cmacro|url-cookie-localpart|url-cookie-mode|url-cookie-name--cmacro|url-cookie-name|url-cookie-p--cmacro|url-cookie-p|url-cookie-parse-file|url-cookie-quit|url-cookie-retrieve|url-cookie-secure--cmacro|url-cookie-secure|url-cookie-setup-save-timer|url-cookie-store|url-cookie-value--cmacro|url-cookie-value|url-cookie-write-file|url-copy-file|url-data|url-dav-request|url-dav-supported-p|url-dav-vc-registered|url-debug|url-default-expander|url-default-find-proxy-for-url|url-device-type|url-digest-auth-create-key|url-digest-auth|url-display-percentage|url-do-auth-source-search|url-do-setup|url-domsuf-cookie-allowed-p|url-domsuf-parse-file|url-eat-trailing-space|url-encode-url|url-expand-file-name|url-expander-remove-relative-links|url-extract-mime-headers|url-file-directory|url-file-extension|url-file-handler|url-file-local-copy|url-file-nondirectory|url-file|url-filename--cmacro|url-filename|url-find-proxy-for-url|url-fullness--cmacro|url-fullness|url-gateway-nslookup-host|url-gc-dead-buffers|url-generate-unique-filename|url-generic-emulator-loader|url-generic-parse-url|url-get-authentication|url-get-normalized-date|url-get-url-at-point|url-handle-content-transfer-encoding|url-handler-mode|url-have-visited-url|url-hexify-string|url-history-parse-history|url-history-save-history|url-history-setup-save-timer|url-history-update-url|url-host--cmacro|url-host|url-http-activate-callback|url-http-async-sentinel|url-http-chunked-encoding-after-change-function|url-http-clean-headers|url-http-content-length-after-change-function|url-http-create-request|url-http-debug|url-http-end-of-document-sentinel|url-http-expand-file-name|url-http-file-attributes|url-http-file-exists-p|url-http-file-readable-p|url-http-find-free-connection|url-http-generic-filter|url-http-handle-authentication|url-http-handle-cookies|url-http-head-file-attributes|url-http-head|url-http-idle-sentinel|url-http-mark-connection-as-busy|url-http-mark-connection-as-free|url-http-options|url-http-parse-headers|url-http-parse-response|url-http-simple-after-change-function|url-http-symbol-value-in-buffer|url-http-user-agent-string|url-http-wait-for-headers-change-function|url-http|url-https-create-secure-wrapper|url-https-expand-file-name|url-https-file-attributes|url-https-file-exists-p|url-https-file-readable-p|url-https|url-identity-expander|url-info|url-insert-entities-in-string|url-insert-file-contents|url-irc|url-is-cached|url-lazy-message|url-ldap|url-mail|url-mailto|url-make-private-file|url-man|url-mark-buffer-as-dead|url-mime-charset-string|url-mm-callback|url-mm-url|url-news|url-normalize-url|url-ns-prefs|url-ns-user-pref|url-open-rlogin|url-open-stream|url-open-telnet|url-p--cmacro|url-p|url-parse-args|url-parse-make-urlobj--cmacro|url-parse-make-urlobj|url-parse-query-string|url-password--cmacro|url-password-for-url|url-password|url-path-and-query|url-percentage|url-port-if-non-default|url-port|url-portspec--cmacro|url-portspec|url-pretty-length|url-proxy|url-queue-buffer--cmacro|url-queue-buffer|url-queue-callback--cmacro|url-queue-callback-function|url-queue-callback|url-queue-cbargs--cmacro|url-queue-cbargs|url-queue-inhibit-cookiesp--cmacro|url-queue-inhibit-cookiesp|url-queue-kill-job|url-queue-p--cmacro|url-queue-p|url-queue-pre-triggered--cmacro|url-queue-pre-triggered|url-queue-prune-old-entries|url-queue-remove-jobs-from-host|url-queue-retrieve|url-queue-run-queue|url-queue-setup-runners|url-queue-silentp--cmacro|url-queue-silentp|url-queue-start-retrieve|url-queue-start-time--cmacro|url-queue-start-time|url-queue-url--cmacro|url-queue-url|url-recreate-url-attributes|url-recreate-url|url-register-auth-scheme|url-retrieve-internal|url-retrieve-synchronously|url-retrieve|url-rlogin|url-scheme-default-loader|url-scheme-get-property|url-scheme-register-proxy|url-set-mime-charset-string|url-setup-privacy-info|url-silent--cmacro|url-silent|url-snews|url-store-in-cache|url-strip-leading-spaces|url-target--cmacro|url-target|url-telnet|url-tn3270|url-tramp-file-handler|url-truncate-url-for-viewing|url-type--cmacro|url-type|url-unhex-string|url-unhex|url-use-cookies--cmacro|url-use-cookies|url-user--cmacro|url-user-for-url|url-user|url-view-url|url-wait-for-string|url-warn|use-cjk-char-width-table|use-completion-backward-under|use-completion-backward|use-completion-before-point|use-completion-before-separator|use-completion-minibuffer-separator|use-completion-under-or-before-point|use-completion-under-point|use-default-char-width-table|use-fancy-splash-screens-p|use-package|user-original-login-name|user-variable-p|utf-7-imap-post-read-conversion|utf-7-imap-pre-write-conversion|utf-7-post-read-conversion|utf-7-pre-write-conversion|utf7-decode|utf7-encode|uudecode-char-int|uudecode-decode-region-external|uudecode-decode-region-internal|uudecode-decode-region|uudecode-string-to-multibyte|values-list|variable-at-point|variable-binding-locus|variable-pitch-mode|vc--add-line|vc--process-sentinel|vc--read-lines|vc--remove-regexp|vc-after-save|vc-annotate|vc-backend-for-registration|vc-backend-subdirectory-name|vc-backend|vc-before-save|vc-branch-p|vc-branch-part|vc-buffer-context|vc-buffer-sync|vc-bzr-registered|vc-call-backend|vc-call|vc-check-headers|vc-check-master-templates|vc-checkin|vc-checkout-model|vc-checkout|vc-clear-context|vc-coding-system-for-diff|vc-comment-search-forward|vc-comment-search-reverse|vc-comment-to-change-log|vc-compatible-state|vc-compilation-mode|vc-context-matches-p|vc-create-repo|vc-create-tag|vc-cvs-after-dir-status|vc-cvs-annotate-command|vc-cvs-annotate-current-time|vc-cvs-annotate-extract-revision-at-line|vc-cvs-annotate-process-filter|vc-cvs-annotate-time|vc-cvs-append-to-ignore|vc-cvs-check-headers|vc-cvs-checkin|vc-cvs-checkout-model|vc-cvs-checkout|vc-cvs-command|vc-cvs-comment-history|vc-cvs-could-register|vc-cvs-create-tag|vc-cvs-delete-file|vc-cvs-diff|vc-cvs-dir-extra-headers|vc-cvs-dir-status-files|vc-cvs-dir-status-heuristic|vc-cvs-file-to-string|vc-cvs-find-admin-dir|vc-cvs-find-revision|vc-cvs-get-entries|vc-cvs-ignore|vc-cvs-make-version-backups-p|vc-cvs-merge-file|vc-cvs-merge-news|vc-cvs-merge|vc-cvs-mode-line-string|vc-cvs-modify-change-comment|vc-cvs-next-revision|vc-cvs-parse-entry|vc-cvs-parse-root|vc-cvs-parse-status|vc-cvs-parse-sticky-tag|vc-cvs-parse-uhp|vc-cvs-previous-revision|vc-cvs-print-log|vc-cvs-register|vc-cvs-registered|vc-cvs-repository-hostname|vc-cvs-responsible-p|vc-cvs-retrieve-tag|vc-cvs-revert|vc-cvs-revision-completion-table|vc-cvs-revision-granularity|vc-cvs-revision-table|vc-cvs-state-heuristic|vc-cvs-state|vc-cvs-stay-local-p|vc-cvs-update-changelog|vc-cvs-valid-revision-number-p|vc-cvs-valid-symbolic-tag-name-p|vc-cvs-working-revision|vc-deduce-backend|vc-deduce-fileset|vc-default-check-headers|vc-default-comment-history|vc-default-dir-status-files|vc-default-extra-menu|vc-default-find-file-hook|vc-default-find-revision|vc-default-ignore-completion-table|vc-default-ignore|vc-default-log-edit-mode|vc-default-log-view-mode|vc-default-make-version-backups-p|vc-default-mark-resolved|vc-default-mode-line-string|vc-default-receive-file|vc-default-registered|vc-default-rename-file|vc-default-responsible-p|vc-default-retrieve-tag|vc-default-revert|vc-default-revision-completion-table|vc-default-show-log-entry|vc-default-working-revision|vc-delete-automatic-version-backups|vc-delete-file|vc-delistify|vc-diff-build-argument-list-internal|vc-diff-finish|vc-diff-internal|vc-diff-switches-list|vc-diff|vc-dir-mode|vc-dir|vc-dired-deduce-fileset|vc-dispatcher-browsing|vc-do-async-command|vc-do-command|vc-ediff|vc-editable-p|vc-ensure-vc-buffer|vc-error-occurred|vc-exec-after|vc-expand-dirs|vc-file-clearprops|vc-file-getprop|vc-file-setprop|vc-file-tree-walk-internal|vc-file-tree-walk|vc-find-backend-function|vc-find-conflicted-file|vc-find-file-hook|vc-find-position-by-context|vc-find-revision|vc-find-root|vc-finish-logentry|vc-follow-link|vc-git-registered|vc-hg-registered|vc-ignore|vc-incoming-outgoing-internal|vc-insert-file|vc-insert-headers|vc-kill-buffer-hook|vc-log-edit|vc-log-incoming|vc-log-internal-common|vc-log-outgoing|vc-make-backend-sym|vc-make-version-backup|vc-mark-resolved|vc-maybe-resolve-conflicts|vc-menu-map-filter|vc-menu-map|vc-merge|vc-mode-line|vc-modify-change-comment|vc-mtn-registered|vc-next-action|vc-next-comment|vc-parse-buffer)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)v(?:c-position-context|c-possible-master|c-previous-comment|c-print-log-internal|c-print-log-setup-buttons|c-print-log|c-print-root-log|c-process-filter|c-pull|c-rcs-registered|c-read-backend|c-read-revision|c-region-history|c-register-with|c-register|c-registered|c-rename-file|c-resolve-conflicts|c-responsible-backend|c-restore-buffer-context|c-resynch-buffer|c-resynch-buffers-in-directory|c-resynch-window|c-retrieve-tag|c-revert-buffer-internal|c-revert-buffer|c-revert-file|c-revert|c-revision-other-window|c-rollback|c-root-diff|c-root-dir|c-run-delayed|c-sccs-registered|c-sccs-search-project-dir|c-set-async-update|c-set-mode-line-busy-indicator|c-setup-buffer|c-src-registered|c-start-logentry|c-state-refresh|c-state|c-steal-lock|c-string-prefix-p|c-svn-registered|c-switch-backend|c-switches|c-tag-precondition|c-toggle-read-only|c-transfer-file|c-up-to-date-p|c-update-change-log|c-update|c-user-login-name|c-version-backup-file-name|c-version-backup-file|c-version-diff|c-version-ediff|c-workfile-version|c-working-revision|cursor-backward-char|cursor-backward-word|cursor-beginning-of-buffer|cursor-beginning-of-line|cursor-bind-keys|cursor-check|cursor-compare-windows|cursor-copy-line|cursor-copy-word|cursor-copy|cursor-cs-binding|cursor-disable|cursor-end-of-buffer|cursor-end-of-line|cursor-execute-command|cursor-execute-key|cursor-find-window|cursor-forward-char|cursor-forward-word|cursor-get-char-count|cursor-goto|cursor-insert|cursor-isearch-backward|cursor-isearch-forward|cursor-locate|cursor-map|cursor-move|cursor-next-line|cursor-other-window|cursor-post-command|cursor-previous-line|cursor-relative-move|cursor-scroll-down|cursor-scroll-up|cursor-swap-point|cursor-toggle-copy|cursor-toggle-vcursor-map|cursor-use-vcursor-map|cursor-window-funcall|ector-or-char-table-p|endor-specific-keysyms|era-add-syntax|era-backward-same-indent|era-backward-statement|era-backward-syntactic-ws|era-beginning-of-statement|era-beginning-of-substatement|era-comment-uncomment-region|era-corresponding-begin|era-corresponding-if|era-customize|era-electric-closing-brace|era-electric-opening-brace|era-electric-pound|era-electric-return|era-electric-slash|era-electric-space|era-electric-star|era-electric-tab|era-evaluate-offset|era-expand-abbrev|era-font-lock-match-item|era-fontify-buffer|era-forward-same-indent|era-forward-statement|era-forward-syntactic-ws|era-get-offset|era-guess-basic-syntax|era-in-literal|era-indent-block-closing|era-indent-buffer|era-indent-line|era-indent-region|era-langelem-col|era-lineup-C-comments|era-lineup-comment|era-mode-menu|era-mode|era-point|era-prepare-search|era-re-search-backward|era-re-search-forward|era-skip-backward-literal|era-skip-forward-literal|era-submit-bug-report|era-try-expand-abbrev|era-version|erify-xscheme-buffer|erilog-add-list-unique|erilog-alw-get-inputs|erilog-alw-get-outputs-delayed|erilog-alw-get-outputs-immediate|erilog-alw-get-temps|erilog-alw-get-uses-delayed|erilog-alw-new|erilog-at-close-constraint-p|erilog-at-close-struct-p|erilog-at-constraint-p|erilog-at-struct-mv-p|erilog-at-struct-p|erilog-auto-arg-ports|erilog-auto-arg|erilog-auto-ascii-enum|erilog-auto-assign-modport|erilog-auto-inout-comp|erilog-auto-inout-in|erilog-auto-inout-modport|erilog-auto-inout-module|erilog-auto-inout-param|erilog-auto-inout|erilog-auto-input|erilog-auto-insert-last|erilog-auto-insert-lisp|erilog-auto-inst-first|erilog-auto-inst-param|erilog-auto-inst-port-list|erilog-auto-inst-port-map|erilog-auto-inst-port|erilog-auto-inst|erilog-auto-logic-setup|erilog-auto-logic|erilog-auto-output-every|erilog-auto-output|erilog-auto-re-search-do|erilog-auto-read-locals|erilog-auto-reeval-locals|erilog-auto-reg-input|erilog-auto-reg|erilog-auto-reset|erilog-auto-save-check|erilog-auto-save-compile|erilog-auto-sense-sigs|erilog-auto-sense|erilog-auto-star-safe|erilog-auto-star|erilog-auto-template-lint|erilog-auto-templated-rel|erilog-auto-tieoff|erilog-auto-undef|erilog-auto-unused|erilog-auto-wire|erilog-auto|erilog-back-to-start-translate-off|erilog-backward-case-item|erilog-backward-open-bracket|erilog-backward-open-paren|erilog-backward-sexp|erilog-backward-syntactic-ws-quick|erilog-backward-syntactic-ws|erilog-backward-token|erilog-backward-up-list|erilog-backward-ws&directives|erilog-batch-auto|erilog-batch-delete-auto|erilog-batch-delete-trailing-whitespace|erilog-batch-diff-auto|erilog-batch-error-wrapper|erilog-batch-execute-func|erilog-batch-indent|erilog-batch-inject-auto|erilog-beg-of-defun-quick|erilog-beg-of-defun|erilog-beg-of-statement-1|erilog-beg-of-statement|erilog-booleanp|erilog-build-defun-re|erilog-calc-1|erilog-calculate-indent-directive|erilog-calculate-indent|erilog-case-indent-level|erilog-clog2|erilog-colorize-include-files-buffer|erilog-comment-depth|erilog-comment-indent|erilog-comment-region|erilog-comp-defun|erilog-complete-word|erilog-completion-response|erilog-completion|erilog-continued-line-1|erilog-continued-line|erilog-current-flags|erilog-current-indent-level|erilog-customize|erilog-declaration-beg|erilog-declaration-end|erilog-decls-append|erilog-decls-get-assigns|erilog-decls-get-consts|erilog-decls-get-gparams|erilog-decls-get-inouts|erilog-decls-get-inputs|erilog-decls-get-interfaces|erilog-decls-get-iovars|erilog-decls-get-modports|erilog-decls-get-outputs|erilog-decls-get-ports|erilog-decls-get-signals|erilog-decls-get-vars|erilog-decls-new|erilog-decls-princ|erilog-define-abbrev|erilog-delete-auto-star-all|erilog-delete-auto-star-implicit|erilog-delete-auto|erilog-delete-autos-lined|erilog-delete-empty-auto-pair|erilog-delete-to-paren|erilog-delete-trailing-whitespace|erilog-diff-auto|erilog-diff-buffers-p|erilog-diff-file-with-buffer|erilog-diff-report|erilog-dir-file-exists-p|erilog-dir-files|erilog-do-indent|erilog-easy-menu-filter|erilog-end-of-defun|erilog-end-of-statement|erilog-end-translate-off|erilog-enum-ascii|erilog-error-regexp-add-emacs|erilog-expand-command|erilog-expand-dirnames|erilog-expand-vector-internal|erilog-expand-vector|erilog-faq|erilog-font-customize|erilog-font-lock-match-item|erilog-forward-close-paren|erilog-forward-or-insert-line|erilog-forward-sexp-cmt|erilog-forward-sexp-function|erilog-forward-sexp-ign-cmt|erilog-forward-sexp|erilog-forward-syntactic-ws|erilog-forward-ws&directives|erilog-func-completion|erilog-generate-numbers|erilog-get-completion-decl|erilog-get-default-symbol|erilog-get-end-of-defun|erilog-get-expr|erilog-get-lineup-indent-2|erilog-get-lineup-indent|erilog-getopt-file|erilog-getopt-flags|erilog-getopt|erilog-goto-defun-file|erilog-goto-defun|erilog-header|erilog-highlight-buffer|erilog-highlight-region|erilog-in-attribute-p|erilog-in-case-region-p|erilog-in-comment-or-string-p|erilog-in-comment-p|erilog-in-coverage-p|erilog-in-directive-p|erilog-in-escaped-name-p|erilog-in-fork-region-p|erilog-in-generate-region-p|erilog-in-parameter-p|erilog-in-paren-count|erilog-in-paren-quick|erilog-in-paren|erilog-in-parenthesis-p|erilog-in-slash-comment-p|erilog-in-star-comment-p|erilog-in-struct-nested-p|erilog-in-struct-p|erilog-indent-buffer|erilog-indent-comment|erilog-indent-declaration|erilog-indent-line-relative|erilog-indent-line|erilog-inject-arg|erilog-inject-auto|erilog-inject-inst|erilog-inject-sense|erilog-insert-1|erilog-insert-block|erilog-insert-date|erilog-insert-definition|erilog-insert-indent|erilog-insert-indices|erilog-insert-last-command-event|erilog-insert-one-definition|erilog-insert-year|erilog-insert|erilog-inside-comment-or-string-p|erilog-is-number|erilog-just-one-space|erilog-keyword-completion|erilog-kill-existing-comment|erilog-label-be|erilog-leap-to-case-head|erilog-leap-to-head|erilog-library-filenames|erilog-lint-off|erilog-linter-name|erilog-load-file-at-mouse|erilog-load-file-at-point|erilog-make-width-expression|erilog-mark-defun|erilog-match-translate-off|erilog-menu|erilog-mode|erilog-modi-cache-add-gparams|erilog-modi-cache-add-inouts|erilog-modi-cache-add-inputs|erilog-modi-cache-add-outputs|erilog-modi-cache-add-vars|erilog-modi-cache-add|erilog-modi-cache-results|erilog-modi-current-get|erilog-modi-current|erilog-modi-file-or-buffer|erilog-modi-filename|erilog-modi-get-decls|erilog-modi-get-point|erilog-modi-get-sub-decls|erilog-modi-get-type|erilog-modi-goto|erilog-modi-lookup|erilog-modi-modport-lookup-one|erilog-modi-modport-lookup|erilog-modi-name|erilog-modi-new|erilog-modify-compile-command|erilog-modport-clockings-add|erilog-modport-clockings|erilog-modport-decls-set|erilog-modport-decls|erilog-modport-name|erilog-modport-new|erilog-modport-princ|erilog-module-filenames|erilog-module-inside-filename-p|erilog-more-comment|erilog-one-line|erilog-parenthesis-depth|erilog-point-text|erilog-preprocess|erilog-preserve-dir-cache|erilog-preserve-modi-cache|erilog-pretty-declarations-auto|erilog-pretty-declarations|erilog-pretty-expr|erilog-re-search-backward-quick|erilog-re-search-backward-substr|erilog-re-search-backward|erilog-re-search-forward-quick|erilog-re-search-forward-substr|erilog-re-search-forward|erilog-read-always-signals-recurse|erilog-read-always-signals|erilog-read-arg-pins|erilog-read-auto-constants|erilog-read-auto-lisp-present|erilog-read-auto-lisp|erilog-read-auto-params|erilog-read-auto-template-hit|erilog-read-auto-template-middle|erilog-read-auto-template|erilog-read-decls|erilog-read-defines|erilog-read-includes|erilog-read-inst-backward-name|erilog-read-inst-module-matcher|erilog-read-inst-module|erilog-read-inst-name|erilog-read-inst-param-value|erilog-read-inst-pins|erilog-read-instants|erilog-read-module-name|erilog-read-signals|erilog-read-sub-decls-expr|erilog-read-sub-decls-gate|erilog-read-sub-decls-line|erilog-read-sub-decls-sig|erilog-read-sub-decls|erilog-regexp-opt|erilog-regexp-words|erilog-repair-close-comma|erilog-repair-open-comma|erilog-run-hooks|erilog-save-buffer-state|erilog-save-font-mods|erilog-save-no-change-functions|erilog-save-scan-cache|erilog-scan-and-debug|erilog-scan-cache-flush|erilog-scan-cache-ok-p|erilog-scan-debug|erilog-scan-region|erilog-scan|erilog-set-auto-endcomments|erilog-set-compile-command|erilog-set-define|erilog-show-completions|erilog-showscopes|erilog-sig-bits|erilog-sig-comment|erilog-sig-enum|erilog-sig-memory|erilog-sig-modport|erilog-sig-multidim-string|erilog-sig-multidim|erilog-sig-name|erilog-sig-new|erilog-sig-signed|erilog-sig-tieoff|erilog-sig-type-set|erilog-sig-type|erilog-sig-width|erilog-signals-combine-bus|erilog-signals-edit-wire-reg|erilog-signals-from-signame|erilog-signals-in|erilog-signals-matching-dir-re|erilog-signals-matching-enum|erilog-signals-matching-regexp|erilog-signals-memory|erilog-signals-not-in|erilog-signals-not-matching-regexp|erilog-signals-not-params|erilog-signals-princ|erilog-signals-sort-compare|erilog-signals-with|erilog-simplify-range-expression|erilog-sk-always|erilog-sk-assign|erilog-sk-begin|erilog-sk-casex??|erilog-sk-casez|erilog-sk-comment|erilog-sk-datadef|erilog-sk-def-reg|erilog-sk-define-signal|erilog-sk-else-if|erilog-sk-fork??|erilog-sk-function|erilog-sk-generate|erilog-sk-header-tmpl|erilog-sk-header|erilog-sk-if|erilog-sk-initial|erilog-sk-inout|erilog-sk-input|erilog-sk-module|erilog-sk-output|erilog-sk-ovm-class|erilog-sk-primitive|erilog-sk-prompt-clock|erilog-sk-prompt-condition|erilog-sk-prompt-inc|erilog-sk-prompt-init|erilog-sk-prompt-lsb|erilog-sk-prompt-msb|erilog-sk-prompt-name|erilog-sk-prompt-output|erilog-sk-prompt-reset|erilog-sk-prompt-state-selector|erilog-sk-prompt-width|erilog-sk-reg|erilog-sk-repeat|erilog-sk-specify|erilog-sk-state-machine|erilog-sk-task|erilog-sk-uvm-component|erilog-sk-uvm-object|erilog-sk-while|erilog-sk-wire|erilog-skip-backward-comment-or-string|erilog-skip-backward-comments|erilog-skip-forward-comment-or-string)(?=[()\\\\s]|$)","name":"support.function.emacs.lisp"},{"match":"(?<=[()]|^)v(?:erilog-skip-forward-comment-p|erilog-star-comment|erilog-start-translate-off|erilog-stmt-menu|erilog-string-diff|erilog-string-match-fold|erilog-string-remove-spaces|erilog-string-replace-matches|erilog-strip-comments|erilog-subdecls-get-inouts|erilog-subdecls-get-inputs|erilog-subdecls-get-interfaced|erilog-subdecls-get-interfaces|erilog-subdecls-get-outputs|erilog-subdecls-new|erilog-submit-bug-report|erilog-surelint-off|erilog-symbol-detick-denumber|erilog-symbol-detick-text|erilog-symbol-detick|erilog-syntax-ppss|erilog-typedef-name-p|erilog-uncomment-region|erilog-var-completion|erilog-verilint-off|erilog-version|erilog-wai|erilog-warn-error|erilog-warn|erilog-within-string|erilog-within-translate-off|ersion-list-<=??|ersion-list-=|ersion-list-not-zero|ersion-to-list|ersion]?[0-9]+|))?|[\\\\\\\\t ]ex)(?=:(?:(?=[\\\\\\\\t ]*set?[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r:]+:)|(?![\\\\\\\\t ]*set?[\\\\\\\\t ])))(?:(?:[\\\\\\\\t ]*:[\\\\\\\\t ]*|[\\\\\\\\t ])\\\\\\\\w*(?:[\\\\\\\\t ]*=(?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)*)?)*[\\\\\\\\t :](?:filetype|ft|syntax)[\\\\\\\\t ]*=(?i:e(?:macs-|)lisp)(?=$|[:\\\\\\\\s]))\\\",\\\"name\\\":\\\"emacs-lisp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\A(#!)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.hashbang.emacs.lisp\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.hashbang.emacs.lisp\\\"},{\\\"include\\\":\\\"#main\\\"}],\\\"repository\\\":{\\\"archive-sources\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.language.constant.archive-source.emacs.lisp\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)(SC|gnu|marmalade|melpa-stable|melpa|org)(?=[()\\\\\\\\s]|$)\\\\\\\\b\\\"},\\\"arg-values\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&(optional|rest)(?=[)\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.language.$1.arguments.emacs.lisp\\\"}]},\\\"autoload\\\":{\\\"begin\\\":\\\"^(;;;###)(autoload)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.autoload.emacs.lisp\\\"}},\\\"contentName\\\":\\\"string.unquoted.other.emacs.lisp\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.semicolon.autoload.emacs.lisp\\\"},\\\"binding\\\":{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)(let\\\\\\\\*?|set[fq]?)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"storage.binding.emacs.lisp\\\"},\\\"boolean\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)t(?=[()\\\\\\\\s]|$)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.boolean.true.emacs.lisp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)(nil)(?=[()\\\\\\\\s]|$)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.nil.emacs.lisp\\\"}]},\\\"cask\\\":{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)(?:files|source|development|depends-on|package-file|package-descriptor|package)(?=[()\\\\\\\\s]|$)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},\\\"comment\\\":{\\\"begin\\\":\\\";\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.emacs.lisp\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.semicolon.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#modeline\\\"},{\\\"include\\\":\\\"#eldoc\\\"}]},\\\"definition\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()(?:(cl-(def(?:un|macro|subst)))|(def(?:un|macro|subst)))(?!-)\\\\\\\\b(?:\\\\\\\\s*(?![-+\\\\\\\\d])([-!$%\\\\\\\\&*+/:<-@^{}~\\\\\\\\w]+))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.$3.function.cl-lib.emacs.lisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.$4.function.emacs.lisp\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.function.name.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.function.definition.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#defun-innards\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)defun(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"storage.type.function.emacs.lisp\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(\\\\\\\\()(def(advice|class|const|custom|face|image|group|package|struct|subst|theme|type|var))(?:\\\\\\\\s+([-!$%\\\\\\\\&*+/:<-@^{}~\\\\\\\\w]+))?(?=[()\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.$3.emacs.lisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.$3.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.$3.definition.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)(define-(?:condition|widget))(?=[()\\\\\\\\s]|$)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.$1.emacs.lisp\\\"}]},\\\"defun-innards\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.argument-list.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arg-keywords\\\"},{\\\"match\\\":\\\"(?![-#\\\\\\\\&'+:\\\\\\\\d])([-!$%\\\\\\\\&*+/:<-@^{}~\\\\\\\\w]+)\\\",\\\"name\\\":\\\"variable.parameter.emacs.lisp\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"docesc\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\{2}=\\\",\\\"name\\\":\\\"constant.escape.character.key-sequence.emacs.lisp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\{2}+\\\",\\\"name\\\":\\\"constant.escape.character.suppress-link.emacs.lisp\\\"}]},\\\"dockey\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.reference.link.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.reference.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\{2}\\\\\\\\[)((?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)(])\\\",\\\"name\\\":\\\"variable.other.reference.key-sequence.emacs.lisp\\\"},\\\"docmap\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.keymap.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.reference.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\{2}\\\\\\\\{)((?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)(})\\\",\\\"name\\\":\\\"meta.keymap.summary.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.keymap.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.reference.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\{2}<)((?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)(>)\\\",\\\"name\\\":\\\"meta.keymap.specifier.emacs.lisp\\\"}]},\\\"docvar\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(`)[^()\\\\\\\\s]+(')\\\",\\\"name\\\":\\\"variable.other.literal.emacs.lisp\\\"},\\\"eldoc\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#docesc\\\"},{\\\"include\\\":\\\"#docvar\\\"},{\\\"include\\\":\\\"#dockey\\\"},{\\\"include\\\":\\\"#docmap\\\"}]},\\\"escapes\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.codepoint.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.codepoint.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\?)\\\\\\\\\\\\\\\\u\\\\\\\\h{4}|(\\\\\\\\?)\\\\\\\\\\\\\\\\U00\\\\\\\\h{6}\\\",\\\"name\\\":\\\"constant.character.escape.hex.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.codepoint.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\?)\\\\\\\\\\\\\\\\x\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.character.escape.hex.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.codepoint.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\?)\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.octal.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.codepoint.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.backslash.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\?)(?:[^\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\).)\\\",\\\"name\\\":\\\"constant.numeric.codepoint.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.backslash.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\).\\\",\\\"name\\\":\\\"constant.character.escape.emacs.lisp\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(')(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.quoted.expression.begin.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.quoted.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.quoted.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(`)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.backquoted.expression.begin.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.backquoted.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.backquoted.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(,@)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.interpolated.expression.begin.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.interpolated.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.interpolated.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"face-innards\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.display.type.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.display.type.emacs.lisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(type)\\\\\\\\s+(graphic|x|pc|w32|tty)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.expression.display-type.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.display.class.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.display.class.emacs.lisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(class)\\\\\\\\s+(color|grayscale|mono)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.expression.display-class.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.background-type.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.background-type.emacs.lisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(background)\\\\\\\\s+(light|dark)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.expression.background-type.emacs.lisp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()(min-colors|supports)(?=[()\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.display-prerequisite.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.expression.display-prerequisite.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"faces\\\":{\\\"match\\\":\\\"\\\\\\\\b(?<=[()\\\\\\\\[\\\\\\\\s]|^)(?:Buffer-menu-buffer|Info-quoted|Info-title-1-face|Info-title-2-face|Info-title-3-face|Info-title-4-face|Man-overstrike|Man-reverse|Man-underline|antlr-default|antlr-font-lock-default-face|antlr-font-lock-keyword-face|antlr-font-lock-literal-face|antlr-font-lock-ruledef-face|antlr-font-lock-ruleref-face|antlr-font-lock-syntax-face|antlr-font-lock-tokendef-face|antlr-font-lock-tokenref-face|antlr-keyword|antlr-literal|antlr-ruledef|antlr-ruleref|antlr-syntax|antlr-tokendef|antlr-tokenref|apropos-keybinding|apropos-property|apropos-symbol|bat-label-face|bg:erc-color-face0|bg:erc-color-face10??|bg:erc-color-face11|bg:erc-color-face12|bg:erc-color-face13|bg:erc-color-face14|bg:erc-color-face15|bg:erc-color-face2|bg:erc-color-face3|bg:erc-color-face4|bg:erc-color-face5|bg:erc-color-face6|bg:erc-color-face7|bg:erc-color-face8|bg:erc-color-face9|bold-italic|bold|bookmark-menu-bookmark|bookmark-menu-heading|border|breakpoint-disabled|breakpoint-enabled|buffer-menu-buffer|button|c-annotation-face|calc-nonselected-face|calc-selected-face|calendar-month-header|calendar-today|calendar-weekday-header|calendar-weekend-header|change-log-acknowledgement-face|change-log-acknowledgement|change-log-acknowledgment|change-log-conditionals-face|change-log-conditionals|change-log-date-face|change-log-date|change-log-email-face|change-log-email|change-log-file-face|change-log-file|change-log-function-face|change-log-function|change-log-list-face|change-log-list|change-log-name-face|change-log-name|comint-highlight-input|comint-highlight-prompt|compare-windows|compilation-column-number|compilation-error|compilation-info|compilation-line-number|compilation-mode-line-exit|compilation-mode-line-fail|compilation-mode-line-run|compilation-warning|completions-annotations|completions-common-part|completions-first-difference|cperl-array-face|cperl-hash-face|cperl-nonoverridable-face|css-property|css-selector|cua-global-mark|cua-rectangle-noselect|cua-rectangle|cursor|custom-button-mouse|custom-button-pressed-unraised|custom-button-pressed|custom-button-unraised|custom-button|custom-changed|custom-comment-tag|custom-comment|custom-documentation|custom-face-tag|custom-group-subtitle|custom-group-tag-1|custom-group-tag|custom-invalid|custom-link|custom-modified|custom-rogue|custom-saved|custom-set|custom-state|custom-themed|custom-variable-button|custom-variable-tag|custom-visibility|cvs-filename-face|cvs-filename|cvs-handled-face|cvs-handled|cvs-header-face|cvs-header|cvs-marked-face|cvs-marked|cvs-msg-face|cvs-msg|cvs-need-action-face|cvs-need-action|cvs-unknown-face|cvs-unknown|default|diary-anniversary|diary-button|diary-time|diary|diff-added-face|diff-added|diff-changed-face|diff-changed|diff-context-face|diff-context|diff-file-header-face|diff-file-header|diff-function-face|diff-function|diff-header-face|diff-header|diff-hunk-header-face|diff-hunk-header|diff-index-face|diff-index|diff-indicator-added|diff-indicator-changed|diff-indicator-removed|diff-nonexistent-face|diff-nonexistent|diff-refine-added|diff-refine-changed??|diff-refine-removed|diff-removed-face|diff-removed|dired-directory|dired-flagged|dired-header|dired-ignored|dired-mark|dired-marked|dired-perm-write|dired-symlink|dired-warning|ebrowse-default|ebrowse-file-name|ebrowse-member-attribute|ebrowse-member-class|ebrowse-progress|ebrowse-root-class|ebrowse-tree-mark|ediff-current-diff-A|ediff-current-diff-Ancestor|ediff-current-diff-B|ediff-current-diff-C|ediff-even-diff-A|ediff-even-diff-Ancestor|ediff-even-diff-B|ediff-even-diff-C|ediff-fine-diff-A|ediff-fine-diff-Ancestor|ediff-fine-diff-B|ediff-fine-diff-C|ediff-odd-diff-A|ediff-odd-diff-Ancestor|ediff-odd-diff-B|ediff-odd-diff-C|eieio-custom-slot-tag-face|eldoc-highlight-function-argument|epa-field-body|epa-field-name|epa-mark|epa-string|epa-validity-disabled|epa-validity-high|epa-validity-low|epa-validity-medium|erc-action-face|erc-bold-face|erc-button|erc-command-indicator-face|erc-current-nick-face|erc-dangerous-host-face|erc-default-face|erc-direct-msg-face|erc-error-face|erc-fool-face|erc-header-line|erc-input-face|erc-inverse-face|erc-keyword-face|erc-my-nick-face|erc-my-nick-prefix-face|erc-nick-default-face|erc-nick-msg-face|erc-nick-prefix-face|erc-notice-face|erc-pal-face|erc-prompt-face|erc-timestamp-face|erc-underline-face|error|ert-test-result-expected|ert-test-result-unexpected|escape-glyph|eww-form-checkbox|eww-form-file|eww-form-select|eww-form-submit|eww-form-text|eww-form-textarea|eww-invalid-certificate|eww-valid-certificate|excerpt|ffap|fg:erc-color-face0|fg:erc-color-face10??|fg:erc-color-face11|fg:erc-color-face12|fg:erc-color-face13|fg:erc-color-face14|fg:erc-color-face15|fg:erc-color-face2|fg:erc-color-face3|fg:erc-color-face4|fg:erc-color-face5|fg:erc-color-face6|fg:erc-color-face7|fg:erc-color-face8|fg:erc-color-face9|file-name-shadow|fixed-pitch|fixed|flymake-errline|flymake-warnline|flyspell-duplicate|flyspell-incorrect|font-lock-builtin-face|font-lock-comment-delimiter-face|font-lock-comment-face|font-lock-constant-face|font-lock-doc-face|font-lock-function-name-face|font-lock-keyword-face|font-lock-negation-char-face|font-lock-preprocessor-face|font-lock-regexp-grouping-backslash|font-lock-regexp-grouping-construct|font-lock-string-face|font-lock-type-face|font-lock-variable-name-face|font-lock-warning-face|fringe|glyphless-char|gnus-button|gnus-cite-10??|gnus-cite-11|gnus-cite-2|gnus-cite-3|gnus-cite-4|gnus-cite-5|gnus-cite-6|gnus-cite-7|gnus-cite-8|gnus-cite-9|gnus-cite-attribution-face|gnus-cite-attribution|gnus-cite-face-10??|gnus-cite-face-11|gnus-cite-face-2|gnus-cite-face-3|gnus-cite-face-4|gnus-cite-face-5|gnus-cite-face-6|gnus-cite-face-7|gnus-cite-face-8|gnus-cite-face-9|gnus-emphasis-bold-italic|gnus-emphasis-bold|gnus-emphasis-highlight-words|gnus-emphasis-italic|gnus-emphasis-strikethru|gnus-emphasis-underline-bold-italic|gnus-emphasis-underline-bold|gnus-emphasis-underline-italic|gnus-emphasis-underline|gnus-group-mail-1-empty-face|gnus-group-mail-1-empty|gnus-group-mail-1-face|gnus-group-mail-1|gnus-group-mail-2-empty-face|gnus-group-mail-2-empty|gnus-group-mail-2-face|gnus-group-mail-2|gnus-group-mail-3-empty-face|gnus-group-mail-3-empty|gnus-group-mail-3-face|gnus-group-mail-3|gnus-group-mail-low-empty-face|gnus-group-mail-low-empty|gnus-group-mail-low-face|gnus-group-mail-low|gnus-group-news-1-empty-face|gnus-group-news-1-empty|gnus-group-news-1-face|gnus-group-news-1|gnus-group-news-2-empty-face|gnus-group-news-2-empty|gnus-group-news-2-face|gnus-group-news-2|gnus-group-news-3-empty-face|gnus-group-news-3-empty|gnus-group-news-3-face|gnus-group-news-3|gnus-group-news-4-empty-face|gnus-group-news-4-empty|gnus-group-news-4-face|gnus-group-news-4|gnus-group-news-5-empty-face|gnus-group-news-5-empty|gnus-group-news-5-face|gnus-group-news-5|gnus-group-news-6-empty-face|gnus-group-news-6-empty|gnus-group-news-6-face|gnus-group-news-6|gnus-group-news-low-empty-face|gnus-group-news-low-empty|gnus-group-news-low-face|gnus-group-news-low|gnus-header-content-face|gnus-header-content|gnus-header-from-face|gnus-header-from|gnus-header-name-face|gnus-header-name|gnus-header-newsgroups-face|gnus-header-newsgroups|gnus-header-subject-face|gnus-header-subject|gnus-signature-face|gnus-signature|gnus-splash-face|gnus-splash|gnus-summary-cancelled-face|gnus-summary-cancelled|gnus-summary-high-ancient-face|gnus-summary-high-ancient|gnus-summary-high-read-face|gnus-summary-high-read|gnus-summary-high-ticked-face|gnus-summary-high-ticked|gnus-summary-high-undownloaded-face|gnus-summary-high-undownloaded|gnus-summary-high-unread-face|gnus-summary-high-unread|gnus-summary-low-ancient-face|gnus-summary-low-ancient|gnus-summary-low-read-face|gnus-summary-low-read|gnus-summary-low-ticked-face|gnus-summary-low-ticked|gnus-summary-low-undownloaded-face|gnus-summary-low-undownloaded|gnus-summary-low-unread-face|gnus-summary-low-unread|gnus-summary-normal-ancient-face|gnus-summary-normal-ancient|gnus-summary-normal-read-face|gnus-summary-normal-read|gnus-summary-normal-ticked-face|gnus-summary-normal-ticked|gnus-summary-normal-undownloaded-face|gnus-summary-normal-undownloaded|gnus-summary-normal-unread-face|gnus-summary-normal-unread|gnus-summary-selected-face|gnus-summary-selected|gomoku-O|gomoku-X|header-line|help-argument-name|hexl-address-region|hexl-ascii-region|hi-black-b|hi-black-hb|hi-blue-b|hi-blue|hi-green-b|hi-green|hi-pink|hi-red-b|hi-yellow|hide-ifdef-shadow|highlight-changes-delete-face|highlight-changes-delete|highlight-changes-face|highlight-changes|highlight|hl-line|holiday|icomplete-first-match|idlwave-help-link|idlwave-shell-bp|idlwave-shell-disabled-bp|idlwave-shell-electric-stop-line|idlwave-shell-pending-electric-stop|idlwave-shell-pending-stop|ido-first-match|ido-incomplete-regexp|ido-indicator|ido-only-match|ido-subdir|ido-virtual|info-header-node|info-header-xref|info-index-match|info-menu-5|info-menu-header|info-menu-star|info-node|info-title-1|info-title-2|info-title-3|info-title-4|info-xref|isearch-fail|isearch-lazy-highlight-face|isearch|iswitchb-current-match|iswitchb-invalid-regexp|iswitchb-single-match|iswitchb-virtual-matches|italic|landmark-font-lock-face-O|landmark-font-lock-face-X|lazy-highlight|ld-script-location-counter|link-visited|link|log-edit-header|log-edit-summary|log-edit-unknown-header|log-view-file-face|log-view-file|log-view-message-face|log-view-message|makefile-makepp-perl|makefile-shell|makefile-space-face|makefile-space|makefile-targets|match|menu|message-cited-text-face|message-cited-text|message-header-cc-face|message-header-cc|message-header-name-face|message-header-name|message-header-newsgroups-face|message-header-newsgroups|message-header-other-face|message-header-other|message-header-subject-face|message-header-subject|message-header-to-face|message-header-to|message-header-xheader-face|message-header-xheader|message-mml-face|message-mml|message-separator-face|message-separator|mh-folder-address|mh-folder-blacklisted|mh-folder-body|mh-folder-cur-msg-number|mh-folder-date|mh-folder-deleted|mh-folder-followup|mh-folder-msg-number|mh-folder-refiled|mh-folder-sent-to-me-hint|mh-folder-sent-to-me-sender|mh-folder-subject|mh-folder-tick|mh-folder-to|mh-folder-whitelisted|mh-letter-header-field|mh-search-folder|mh-show-cc|mh-show-date|mh-show-from|mh-show-header|mh-show-pgg-bad|mh-show-pgg-good|mh-show-pgg-unknown|mh-show-signature|mh-show-subject|mh-show-to|mh-speedbar-folder-with-unseen-messages|mh-speedbar-folder|mh-speedbar-selected-folder-with-unseen-messages|mh-speedbar-selected-folder|minibuffer-prompt|mm-command-output|mm-uu-extract|mode-line-buffer-id|mode-line-emphasis|mode-line-highlight|mode-line-inactive|mode-line|modeline-buffer-id|modeline-highlight|modeline-inactive|mouse|mpuz-solved|mpuz-text|mpuz-trivial|mpuz-unsolved|newsticker-date-face|newsticker-default-face|newsticker-enclosure-face|newsticker-extra-face|newsticker-feed-face|newsticker-immortal-item-face|newsticker-new-item-face|newsticker-obsolete-item-face|newsticker-old-item-face|newsticker-statistics-face|newsticker-treeview-face|newsticker-treeview-immortal-face|newsticker-treeview-new-face|newsticker-treeview-obsolete-face|newsticker-treeview-old-face|newsticker-treeview-selection-face|next-error|nobreak-space|nxml-attribute-colon|nxml-attribute-local-name|nxml-attribute-prefix|nxml-attribute-value-delimiter|nxml-attribute-value|nxml-cdata-section-CDATA|nxml-cdata-section-content|nxml-cdata-section-delimiter|nxml-char-ref-delimiter|nxml-char-ref-number|nxml-comment-content|nxml-comment-delimiter|nxml-delimited-data|nxml-delimiter|nxml-element-colon|nxml-element-local-name|nxml-element-prefix|nxml-entity-ref-delimiter|nxml-entity-ref-name|nxml-glyph|nxml-hash|nxml-heading|nxml-markup-declaration-delimiter|nxml-name|nxml-namespace-attribute-colon|nxml-namespace-attribute-prefix|nxml-namespace-attribute-value-delimiter|nxml-namespace-attribute-value|nxml-namespace-attribute-xmlns|nxml-outline-active-indicator|nxml-outline-ellipsis|nxml-outline-indicator|nxml-processing-instruction-content|nxml-processing-instruction-delimiter|nxml-processing-instruction-target|nxml-prolog-keyword|nxml-prolog-literal-content|nxml-prolog-literal-delimiter|nxml-ref|nxml-tag-delimiter|nxml-tag-slash|nxml-text|octave-function-comment-block|org-agenda-calendar-event|org-agenda-calendar-sexp|org-agenda-clocking|org-agenda-column-dateline|org-agenda-current-time|org-agenda-date-today|org-agenda-date-weekend|org-agenda-date|org-agenda-diary|org-agenda-dimmed-todo-face|org-agenda-done|org-agenda-filter-category|org-agenda-filter-regexp|org-agenda-filter-tags|org-agenda-restriction-lock|org-agenda-structure|org-archived|org-block-background|org-block-begin-line|org-block-end-line|org-block|org-checkbox-statistics-done|org-checkbox-statistics-todo|org-checkbox|org-clock-overlay|org-code|org-column-title|org-column|org-date-selected|org-date|org-default|org-document-info-keyword|org-document-info|org-document-title|org-done|org-drawer|org-ellipsis|org-footnote|org-formula|org-headline-done|org-hide|org-latex-and-related|org-level-1|org-level-2|org-level-3|org-level-4|org-level-5|org-level-6|org-level-7|org-level-8|org-link|org-list-dt|org-macro|org-meta-line|org-mode-line-clock-overrun|org-mode-line-clock|org-priority|org-property-value|org-quote|org-scheduled-previously|org-scheduled-today|org-scheduled|org-sexp-date|org-special-keyword|org-table|org-tag-group|org-tag|org-target|org-time-grid|org-todo|org-upcoming-deadline|org-verbatim|org-verse|org-warning|outline-1|outline-2|outline-3|outline-4|outline-5|outline-6|outline-7|outline-8|proced-mark|proced-marked|proced-sort-header|pulse-highlight-face|pulse-highlight-start-face|query-replace|rcirc-bright-nick|rcirc-dim-nick|rcirc-keyword|rcirc-my-nick|rcirc-nick-in-message-full-line|rcirc-nick-in-message|rcirc-other-nick|rcirc-prompt|rcirc-server-prefix|rcirc-server|rcirc-timestamp|rcirc-track-keyword|rcirc-track-nick|rcirc-url|reb-match-0|reb-match-1|reb-match-2|reb-match-3|rectangle-preview-face|region|rmail-header-name|rmail-highlight|rng-error|rst-adornment|rst-block|rst-comment|rst-definition|rst-directive|rst-emphasis1|rst-emphasis2|rst-external|rst-level-1|rst-level-2|rst-level-3|rst-level-4|rst-level-5|rst-level-6|rst-literal|rst-reference|rst-transition|ruler-mode-column-number|ruler-mode-comment-column|ruler-mode-current-column|ruler-mode-default|ruler-mode-fill-column|ruler-mode-fringes|ruler-mode-goal-column|ruler-mode-margins|ruler-mode-pad|ruler-mode-tab-stop|scroll-bar|secondary-selection|semantic-highlight-edits-face|semantic-highlight-func-current-tag-face|semantic-unmatched-syntax-face|senator-momentary-highlight-face|sgml-namespace|sh-escaped-newline|sh-heredoc-face|sh-heredoc|sh-quoted-exec|shadow|show-paren-match-face|show-paren-match|show-paren-mismatch-face|show-paren-mismatch|shr-link|shr-strike-through|smerge-base-face|smerge-base|smerge-markers-face|smerge-markers|smerge-mine-face|smerge-mine|smerge-other-face|smerge-other|smerge-refined-added|smerge-refined-changed??|smerge-refined-removed|speedbar-button-face|speedbar-directory-face|speedbar-file-face|speedbar-highlight-face|speedbar-selected-face|speedbar-separator-face|speedbar-tag-face|srecode-separator-face|strokes-char|subscript|success|superscript|table-cell|tcl-escaped-newline|term-bold|term-color-black|term-color-blue|term-color-cyan|term-color-green|term-color-magenta|term-color-red|term-color-white|term-color-yellow|term-underline|term|testcover-1value|testcover-nohits|tex-math-face|tex-math|tex-verbatim-face|tex-verbatim|texinfo-heading-face|texinfo-heading|tmm-inactive|todo-archived-only|todo-button|todo-category-string|todo-comment|todo-date|todo-diary-expired|todo-done-sep|todo-done|todo-key-prompt|todo-mark|todo-nondiary|todo-prefix-string|todo-search|todo-sorted-column|todo-time|todo-top-priority|tool-bar|tooltip|trailing-whitespace|tty-menu-disabled-face|tty-menu-enabled-face|tty-menu-selected-face|underline|variable-pitch|vc-conflict-state|vc-edited-state|vc-locally-added-state|vc-locked-state|vc-missing-state|vc-needs-update-state|vc-removed-state|vc-state-base-face|vc-up-to-date-state|vcursor|vera-font-lock-function|vera-font-lock-interface|vera-font-lock-number|verilog-font-lock-ams-face|verilog-font-lock-grouping-keywords-face|verilog-font-lock-p1800-face|verilog-font-lock-translate-off-face|vertical-border|vhdl-font-lock-attribute-face|vhdl-font-lock-directive-face|vhdl-font-lock-enumvalue-face|vhdl-font-lock-function-face|vhdl-font-lock-generic-/constant-face|vhdl-font-lock-prompt-face|vhdl-font-lock-reserved-words-face|vhdl-font-lock-translate-off-face|vhdl-font-lock-type-face|vhdl-font-lock-variable-face|vhdl-speedbar-architecture-face|vhdl-speedbar-architecture-selected-face|vhdl-speedbar-configuration-face|vhdl-speedbar-configuration-selected-face|vhdl-speedbar-entity-face|vhdl-speedbar-entity-selected-face|vhdl-speedbar-instantiation-face|vhdl-speedbar-instantiation-selected-face|vhdl-speedbar-library-face|vhdl-speedbar-package-face|vhdl-speedbar-package-selected-face|vhdl-speedbar-subprogram-face|viper-minibuffer-emacs|viper-minibuffer-insert|viper-minibuffer-vi|viper-replace-overlay|viper-search|warning|which-func|whitespace-big-indent|whitespace-empty|whitespace-hspace|whitespace-indentation|whitespace-line|whitespace-newline|whitespace-space-after-tab|whitespace-space-before-tab|whitespace-space|whitespace-tab|whitespace-trailing|widget-button-face|widget-button-pressed-face|widget-button-pressed|widget-button|widget-documentation-face|widget-documentation|widget-field-face|widget-field|widget-inactive-face|widget-inactive|widget-single-line-field-face|widget-single-line-field|window-divider-first-pixel|window-divider-last-pixel|window-divider|woman-addition-face|woman-addition|woman-bold-face|woman-bold|woman-italic-face|woman-italic|woman-unknown-face|woman-unknown)(?=[()\\\\\\\\s]|$)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.face.emacs.lisp\\\"},\\\"format\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"string.quoted.double.emacs.lisp\\\",\\\"end\\\":\\\"(?=\\\\\\\")\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.placeholder.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.placeholder.emacs.lisp\\\"}},\\\"match\\\":\\\"(%[%SXc-gosx])|(%.)\\\"},{\\\"include\\\":\\\"#string-innards\\\"}]},\\\"formatting\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(format|format-message|message|error)(?=\\\\\\\\s|$|\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.$2.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.string-formatting.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.emacs.lisp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#format\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*$\\\\\\\\n?\\\",\\\"end\\\":\\\"\\\\\\\"|(?>)\\\",\\\"name\\\":\\\"constant.command-name.key.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.integer.int.decimal.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.multiply.emacs.lisp\\\"}},\\\"match\\\":\\\"([0-9]+)(\\\\\\\\*)(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.key-repetition.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#key-notation-prefix\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"constant.character.key.emacs.lisp\\\"}},\\\"match\\\":\\\"\\\\\\\\b(M-)(-?[0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.key-sequence.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#key-notation-prefix\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.angle.bracket.begin.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.control-character.key.emacs.lisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.angle.bracket.end.emacs.lisp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.control-character.key.emacs.lisp\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.illegal.bad-prefix.emacs.lisp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.character.key.emacs.lisp\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?:[ACHMSs]-)+)(?:(<)(DEL|ESC|LFD|NUL|RET|SPC|TAB)(>)|(DEL|ESC|LFD|NUL|RET|SPC|TAB)\\\\\\\\b|([!-_a-z]{2,})|([!-_a-z]))?\\\",\\\"name\\\":\\\"meta.key-sequence.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"punctuation.definition.angle.bracket.begin.emacs.lisp\\\"},{\\\"include\\\":\\\"#key-notation-prefix\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"constant.function-key.emacs.lisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.angle.bracket.end.emacs.lisp\\\"}},\\\"match\\\":\\\"([ACHMSs]-<|<[ACHMSs]-|<)([-0-9A-Za-z]+)(>)\\\",\\\"name\\\":\\\"meta.function-key.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)(?![<>ACHMSs])[!-_a-z](?=\\\\\\\\s)\\\",\\\"name\\\":\\\"constant.character.key.emacs.lisp\\\"}]},\\\"key-notation-prefix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.key.modifier.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.modifier.dash.emacs.lisp\\\"}},\\\"match\\\":\\\"([ACHMSs])(-)\\\"},\\\"keyword\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.emacs.lisp\\\"}},\\\"match\\\":\\\"(?<=[()\\\\\\\\[\\\\\\\\s]|^)(:)[-!$%\\\\\\\\&*+/:<-@^{}~\\\\\\\\w]+\\\",\\\"name\\\":\\\"constant.keyword.emacs.lisp\\\"},\\\"lambda\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(lambda|function)(?:\\\\\\\\s+|(?=[()]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.lambda.function.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.lambda.expression.emacs.lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#defun-innards\\\"}]},\\\"loop\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(cl-loop)(?=[()\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.cl-lib.emacs.lisp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.emacs.lisp\\\"}},\\\"name\\\":\\\"meta.cl-lib.loop.emacs.lisp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[()\\\\\\\\[\\\\\\\\s]|^)(above|across|across-ref|always|and|append|as|below|by|collect|concat|count|do|each|finally|for|from|if|in|in-ref|initially|into|maximize|minimize|named|nconc|never|of|of-ref|on|repeat|return|sum|then|thereis|sum|to|unless|until|using|vconcat|when|while|with|being\\\\\\\\s+(?:the)?\\\\\\\\s+(?:element|hash-key|hash-value|key-code|key-binding|key-seq|overlay|interval|symbols|frame|window|buffer)s?)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.control.emacs.lisp\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"main\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#autoload\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#lambda\\\"},{\\\"include\\\":\\\"#loop\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#definition\\\"},{\\\"include\\\":\\\"#formatting\\\"},{\\\"include\\\":\\\"#face-innards\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#binding\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#quote\\\"},{\\\"include\\\":\\\"#symbols\\\"},{\\\"include\\\":\\\"#vectors\\\"},{\\\"include\\\":\\\"#arg-values\\\"},{\\\"include\\\":\\\"#archive-sources\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#faces\\\"},{\\\"include\\\":\\\"#cask\\\"},{\\\"include\\\":\\\"#stdlib\\\"}]},\\\"modeline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.modeline.begin.emacs.lisp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#modeline-innards\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.modeline.end.emacs.lisp\\\"}},\\\"match\\\":\\\"(-\\\\\\\\*-)(.*)(-\\\\\\\\*-)\\\",\\\"name\\\":\\\"meta.modeline.emacs.lisp\\\"},\\\"modeline-innards\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.assignment.modeline.emacs.lisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.emacs.lisp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#modeline-innards\\\"}]}},\\\"match\\\":\\\"([^:;\\\\\\\\s]+)\\\\\\\\s*(:)\\\\\\\\s*([^;]*)\\\",\\\"name\\\":\\\"meta.modeline.variable.emacs.lisp\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.emacs.lisp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.emacs.lisp\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"string.other.modeline.emacs.lisp\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.binary.emacs.lisp\\\"}},\\\"match\\\":\\\"(?<=[()\\\\\\\\[\\\\\\\\s]|^)(#)[Bb][01]+\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.emacs.lisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.hex.emacs.lisp\\\"}},\\\"match\\\":\\\"(?<=[()\\\\\\\\[\\\\\\\\s]|^)(#)[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.integer.hex.viml\\\"},{\\\"match\\\":\\\"(?<=[()\\\\\\\\[\\\\\\\\s]|^)[-+]?\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+|[Ee]\\\\\\\\+(?:INF|NaN))?(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"constant.numeric.float.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()\\\\\\\\[\\\\\\\\s]|^)[-+]?\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+|[Ee]\\\\\\\\+(?:INF|NaN))?(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"constant.numeric.integer.emacs.lisp\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[()]|^)(and|catch|cond|condition-case(?:-unless-debug)?|dotimes|eql?|equal|if|not|or|pcase|prog[12n]|throw|unless|unwind-protect|when|while)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.control.$1.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s]|^)(interactive)(?=[()\\\\\\\\s])\\\",\\\"name\\\":\\\"storage.modifier.interactive.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s]|^)[-%*+/](?=[)\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.operator.numeric.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[(\\\\\\\\s]|^)[/<>]=|[<=>](?=[)\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.operator.comparison.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)\\\\\\\\.(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.pair-separator.emacs.lisp\\\"}]},\\\"quote\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.emacs.lisp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}},\\\"match\\\":\\\"(')([-!$%\\\\\\\\&*+/:<-@^{}~\\\\\\\\w]+)\\\",\\\"name\\\":\\\"constant.other.symbol.emacs.lisp\\\"}]},\\\"stdlib\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[()]|^)(`--pcase-macroexpander|Buffer-menu-unmark-all-buffers|Buffer-menu-unmark-all|Info-node-description|aa2u-mark-as-text|aa2u-mark-rectangle-as-text|aa2u-rectangle|aa2u|ada-find-file|ada-header|ada-mode|add-abbrev|add-change-log-entry-other-window|add-change-log-entry|add-dir-local-variable|add-file-local-variable-prop-line|add-file-local-variable|add-global-abbrev|add-log-current-defun|add-minor-mode|add-mode-abbrev|add-submenu|add-timeout|add-to-coding-system-list|add-to-list--anon-cmacro|add-variable-watcher|adoc-mode|advertised-undo|advice--add-function|advice--buffer-local|advice--called-interactively-skip|advice--car|advice--cd\\\\\\\\*r|advice--cdr|advice--defalias-fset|advice--interactive-form|advice--make-1|advice--make-docstring|advice--make-interactive-form|advice--make|advice--member-p|advice--normalize-place|advice--normalize|advice--props|advice--p|advice--remove-function|advice--set-buffer-local|advice--strip-macro|advice--subst-main|advice--symbol-function|advice--tweak|advice--where|after-insert-file-set-coding|aggressive-indent--extend-end-to-whole-sexps|aggressive-indent--indent-current-balanced-line|aggressive-indent--indent-if-changed|aggressive-indent--keep-track-of-changes|aggressive-indent--local-electric|aggressive-indent--proccess-changed-list-and-indent|aggressive-indent--run-user-hooks|aggressive-indent--softly-indent-defun|aggressive-indent--softly-indent-region-and-on|aggressive-indent-bug-report|aggressive-indent-global-mode|aggressive-indent-indent-defun|aggressive-indent-indent-region-and-on|aggressive-indent-mode-set-explicitly|aggressive-indent-mode|align-current|align-entire|align-highlight-rule|align-newline-and-indent|align-regexp|align-unhighlight-rule|align|alist-get|all-threads|allout-auto-activation-helper|allout-mode-p|allout-mode|allout-setup|allout-widgets-mode|allout-widgets-setup|alter-text-property|and-let\\\\\\\\*|ange-ftp-completion-hook-function|apache-mode|apropos-local-value|apropos-local-variable|arabic-shape-gstring|assoc-delete-all|auth-source--decode-octal-string|auth-source--symbol-keyword|auth-source-backend--anon-cmacro|auth-source-backend--eieio-childp|auth-source-backends-parser-file|auth-source-backends-parser-macos-keychain|auth-source-backends-parser-secrets|auth-source-json-check|auth-source-json-search|auth-source-pass-enable|auth-source-secrets-saver|auto-save-visited-mode|backtrace-frame--internal|backtrace-frames|backward-to-word|backward-word-strictly|battery-upower-prop|battery-upower|beginning-of-defun--in-emptyish-line-p|beginning-of-defun-comments|bf-help-describe-symbol|bf-help-mode|bf-help-setup|bignump|bison-mode|blink-cursor--rescan-frames|blink-cursor--should-blink|blink-cursor--start-idle-timer|blink-cursor--start-timer|bookmark-set-no-overwrite|brainfuck-mode|browse-url-conkeror|buffer-hash|bufferpos-to-filepos|byte-compile--function-signature|byte-compile--log-warning-for-byte-compile|byte-compile-cond-jump-table-info|byte-compile-cond-jump-table|byte-compile-cond-vars|byte-compile-define-symbol-prop|byte-compile-file-form-defvar-function|byte-compile-file-form-make-obsolete|byte-opt--arith-reduce|byte-opt--portable-numberp|byte-optimize-1-|byte-optimize-1\\\\\\\\+|byte-optimize-memq|c-or-c\\\\\\\\+\\\\\\\\+-mode|call-shell-region|cancel-debug-on-variable-change|cancel-debug-watch|capitalize-dwim|cconv--convert-funcbody|cconv--remap-llv|char-fold-to-regexp|char-from-name|checkdoc-file|checkdoc-package-keywords|cl--assertion-failed|cl--class-docstring--cmacro|cl--class-docstring|cl--class-index-table--cmacro|cl--class-index-table|cl--class-name--cmacro|cl--class-name|cl--class-p--cmacro|cl--class-parents--cmacro|cl--class-parents|cl--class-p|cl--class-slots--cmacro|cl--class-slots|cl--copy-slot-descriptor-1|cl--copy-slot-descriptor|cl--defstruct-predicate|cl--describe-class-slots?|cl--describe-class|cl--do-&aux|cl--find-class|cl--generic-arg-specializer|cl--generic-build-combined-method|cl--generic-cache-miss|cl--generic-class-parents|cl--generic-derived-specializers|cl--generic-describe|cl--generic-dispatches--cmacro|cl--generic-dispatches|cl--generic-fgrep|cl--generic-generalizer-name--cmacro|cl--generic-generalizer-name|cl--generic-generalizer-p--cmacro|cl--generic-generalizer-priority--cmacro|cl--generic-generalizer-priority|cl--generic-generalizer-p|cl--generic-generalizer-specializers-function--cmacro|cl--generic-generalizer-specializers-function|cl--generic-generalizer-tagcode-function--cmacro|cl--generic-generalizer-tagcode-function|cl--generic-get-dispatcher|cl--generic-isnot-nnm-p|cl--generic-lambda|cl--generic-load-hist-format|cl--generic-make--cmacro|cl--generic-make-defmethod-docstring|cl--generic-make-function|cl--generic-make-method--cmacro|cl--generic-make-method|cl--generic-make-next-function|cl--generic-make|cl--generic-member-method|cl--generic-method-documentation|cl--generic-method-files|cl--generic-method-function--cmacro|cl--generic-method-function|cl--generic-method-info|cl--generic-method-qualifiers--cmacro|cl--generic-method-qualifiers|cl--generic-method-specializers--cmacro|cl--generic-method-specializers|cl--generic-method-table--cmacro|cl--generic-method-table|cl--generic-method-uses-cnm--cmacro|cl--generic-method-uses-cnm|cl--generic-name--cmacro|cl--generic-name)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(cl--generic-no-next-method-function|cl--generic-options--cmacro|cl--generic-options|cl--generic-search-method|cl--generic-specializers-apply-to-type-p|cl--generic-split-args|cl--generic-standard-method-combination|cl--generic-struct-specializers|cl--generic-struct-tag|cl--generic-with-memoization|cl--generic|cl--make-random-state--cmacro|cl--make-random-state|cl--make-slot-descriptor--cmacro|cl--make-slot-descriptor|cl--make-slot-desc|cl--old-struct-type-of|cl--pcase-mutually-exclusive-p|cl--plist-remove|cl--print-table|cl--prog|cl--random-state-i--cmacro|cl--random-state-i|cl--random-state-j--cmacro|cl--random-state-j|cl--random-state-vec--cmacro|cl--random-state-vec|cl--slot-descriptor-initform--cmacro|cl--slot-descriptor-initform|cl--slot-descriptor-name--cmacro|cl--slot-descriptor-name|cl--slot-descriptor-props--cmacro|cl--slot-descriptor-props|cl--slot-descriptor-type--cmacro|cl--slot-descriptor-type|cl--struct-all-parents|cl--struct-cl--generic-method-p--cmacro|cl--struct-cl--generic-method-p|cl--struct-cl--generic-p--cmacro|cl--struct-cl--generic-p|cl--struct-class-children-sym--cmacro|cl--struct-class-children-sym|cl--struct-class-docstring--cmacro|cl--struct-class-docstring|cl--struct-class-index-table--cmacro|cl--struct-class-index-table|cl--struct-class-name--cmacro|cl--struct-class-named--cmacro|cl--struct-class-named?|cl--struct-class-p--cmacro|cl--struct-class-parents--cmacro|cl--struct-class-parents|cl--struct-class-print--cmacro|cl--struct-class-print|cl--struct-class-p|cl--struct-class-slots--cmacro|cl--struct-class-slots|cl--struct-class-tag--cmacro|cl--struct-class-tag|cl--struct-class-type--cmacro|cl--struct-class-type|cl--struct-get-class|cl--struct-name-p|cl--struct-new-class--cmacro|cl--struct-new-class|cl--struct-register-child|cl-call-next-method|cl-defgeneric|cl-defmethod|cl-describe-type|cl-find-class|cl-find-method|cl-generic-all-functions|cl-generic-apply|cl-generic-call-method|cl-generic-combine-methods|cl-generic-current-method-specializers|cl-generic-define-context-rewriter|cl-generic-define-generalizer|cl-generic-define-method|cl-generic-define|cl-generic-ensure-function|cl-generic-function-options|cl-generic-generalizers|cl-generic-make-generalizer--cmacro|cl-generic-make-generalizer|cl-generic-p|cl-iter-defun|cl-method-qualifiers|cl-next-method-p|cl-no-applicable-method|cl-no-next-method|cl-no-primary-method|cl-old-struct-compat-mode|cl-prin1-to-string|cl-prin1|cl-print-expand-ellipsis|cl-print-object|cl-print-to-string-with-limit|cl-prog\\\\\\\\*?|cl-random-state-p--cmacro|cl-slot-descriptor-p--cmacro|cl-slot-descriptor-p|cl-struct--pcase-macroexpander|cl-struct-define|cl-struct-p--cmacro|cl-struct-p|cl-struct-slot-value--inliner|cl-typep--inliner|clear-composition-cache|cmake-command-run|cmake-help-command|cmake-help-list-commands|cmake-help-module|cmake-help-property|cmake-help-variable|cmake-help|cmake-mode|coffee-mode|combine-change-calls-1|combine-change-calls|comment-line|comment-make-bol-ws|comment-quote-nested-default|comment-region-default-1|completion--category-override|completion-pcm--pattern-point-idx|condition-mutex|condition-name|condition-notify|condition-variable-p|condition-wait|conf-desktop-mode|conf-toml-mode|conf-toml-recognize-section|connection-local-set-profile-variables|connection-local-set-profiles|copy-cl--generic-generalizer|copy-cl--generic-method|copy-cl--generic|copy-from-above-command|copy-lisp-indent-state|copy-xref-elisp-location|copy-yas--exit|copy-yas--field|copy-yas--mirror|copy-yas--snippet|copy-yas--table|copy-yas--template|css-lookup-symbol|csv-mode|cuda-mode|current-thread|cursor-intangible-mode|cursor-sensor-mode|custom--should-apply-setting|debug-on-variable-change|debug-watch|default-font-width|define-symbol-prop|define-thing-chars|defined-colors-with-face-attributes|delete-selection-uses-region-p|describe-char-eldoc|describe-symbol|dir-locals--all-files|dir-locals-read-from-dir|dired--align-all-files|dired--need-align-p|dired-create-empty-file|dired-do-compress-to|dired-do-find-regexp-and-replace|dired-do-find-regexp|dired-mouse-find-file-other-frame|dired-mouse-find-file|dired-omit-mode|display-buffer--maybe-at-bottom|display-buffer--maybe-pop-up-frame|display-buffer--maybe-pop-up-window|display-buffer-in-child-frame|display-buffer-reuse-mode-window|display-buffer-use-some-frame|display-line-numbers-mode|dna-add-hooks|dna-isearch-forward|dna-mode|dna-reverse-complement-region|dockerfile-build-buffer|dockerfile-build-no-cache-buffer|dockerfile-mode|dolist-with-progress-reporter|dotenv-mode|downcase-dwim|dyalog-ediff-forward-word|dyalog-editor-connect|dyalog-fix-altgr-chars|dyalog-mode|dyalog-session-connect|easy-mmode--mode-docstring|eieio--add-new-slot|eieio--c3-candidate|eieio--c3-merge-lists|eieio--class-children--cmacro|eieio--class-class-allocation-values--cmacro|eieio--class-class-slots--cmacro|eieio--class-class-slots|eieio--class-constructor|eieio--class-default-object-cache--cmacro|eieio--class-docstring--cmacro|eieio--class-docstring|eieio--class-index-table--cmacro|eieio--class-index-table|eieio--class-initarg-tuples--cmacro|eieio--class-make--cmacro|eieio--class-make|eieio--class-method-invocation-order|eieio--class-name--cmacro|eieio--class-name|eieio--class-object|eieio--class-option-assoc|eieio--class-options--cmacro|eieio--class-option|eieio--class-p--cmacro)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(eieio--class-parents--cmacro|eieio--class-parents|eieio--class-precedence-bfs|eieio--class-precedence-c3|eieio--class-precedence-dfs|eieio--class-precedence-list|eieio--class-print-name|eieio--class-p|eieio--class-slot-initarg|eieio--class-slot-name-index|eieio--class-slots--cmacro|eieio--class-slots|eieio--class/struct-parents|eieio--generic-subclass-specializers|eieio--initarg-to-attribute|eieio--object-class-tag|eieio--pcase-macroexpander|eieio--perform-slot-validation-for-default|eieio--perform-slot-validation|eieio--slot-name-index|eieio--slot-override|eieio--validate-class-slot-value|eieio--validate-slot-value|eieio-change-class|eieio-class-slots|eieio-default-superclass--eieio-childp|eieio-defclass-internal|eieio-make-child-predicate|eieio-make-class-predicate|eieio-oref--anon-cmacro|eieio-pcase-slot-index-from-index-table|eieio-pcase-slot-index-table|eieio-slot-descriptor-name|eldoc--supported-p|eldoc-docstring-format-sym-doc|eldoc-mode-set-explicitly|electric-pair--balance-info|electric-pair--insert|electric-pair--inside-string-p|electric-pair--skip-whitespace|electric-pair--syntax-ppss|electric-pair--unbalanced-strings-p|electric-pair--with-uncached-syntax|electric-pair-conservative-inhibit|electric-pair-default-inhibit|electric-pair-default-skip-self|electric-pair-delete-pair|electric-pair-inhibit-if-helps-balance|electric-pair-local-mode|electric-pair-post-self-insert-function|electric-pair-skip-if-helps-balance|electric-pair-syntax-info|electric-pair-will-use-region|electric-quote-local-mode|electric-quote-mode|electric-quote-post-self-insert-function|elisp--font-lock-backslash|elisp--font-lock-flush-elisp-buffers|elisp--xref-backend|elisp--xref-make-xref|elisp-flymake--batch-compile-for-flymake|elisp-flymake--byte-compile-done|elisp-flymake-byte-compile|elisp-flymake-checkdoc|elisp-function-argstring|elisp-get-fnsym-args-string|elisp-get-var-docstring|elisp-load-path-roots|emacs-repository-version-git|enh-ruby-mode|epg-config--make-gpg-configuration|epg-config--make-gpgsm-configuration|epg-context-error-buffer--cmacro|epg-context-error-buffer|epg-find-configuration|erlang-compile|erlang-edoc-mode|erlang-find-tag-other-window|erlang-find-tag|erlang-mode|erlang-shell|erldoc-apropos|erldoc-browse-topic|erldoc-browse|erldoc-eldoc-function|etags--xref-backend|eval-expression-get-print-arguments|event-line-count|face-list-p|facemenu-set-charset|faces--attribute-at-point|faceup-clean-buffer|faceup-defexplainer|faceup-render-view-buffer|faceup-view-buffer|faceup-write-file|fic-mode|file-attribute-access-time|file-attribute-collect|file-attribute-device-number|file-attribute-group-id|file-attribute-inode-number|file-attribute-link-number|file-attribute-modes|file-attribute-modification-time|file-attribute-size|file-attribute-status-change-time|file-attribute-type|file-attribute-user-id|file-local-name|file-name-case-insensitive-p|file-name-quoted-p|file-name-quote|file-name-unquote|file-system-info|filepos-to-bufferpos--dos|filepos-to-bufferpos|files--ask-user-about-large-file|files--ensure-directory|files--force|files--make-magic-temp-file|files--message|files--name-absolute-system-p|files--splice-dirname-file|fill-polish-nobreak-p|find-function-on-key-other-frame|find-function-on-key-other-window|find-library-other-frame|find-library-other-window|fixnump|flymake-cc|flymake-diag-region|flymake-diagnostics|flymake-make-diagnostic|follow-scroll-down-window|follow-scroll-up-window|font-lock--remove-face-from-text-property|form-feed-mode|format-message|forth-block-mode|forth-eval-defun|forth-eval-last-expression-display-output|forth-eval-last-expression|forth-eval-region|forth-eval|forth-interaction-send|forth-kill|forth-load-file|forth-mode|forth-restart|forth-see|forth-switch-to-output-buffer|forth-switch-to-source-buffer|forth-words|fortune-message|forward-to-word|forward-word-strictly|frame--size-history|frame-after-make-frame|frame-ancestor-p|frame-creation-function|frame-edges|frame-focus-state|frame-geometry|frame-inner-height|frame-inner-width|frame-internal-border-width|frame-list-z-order|frame-monitor-attribute|frame-monitor-geometry|frame-monitor-workarea|frame-native-height|frame-native-width|frame-outer-height|frame-outer-width|frame-parent|frame-position|frame-restack|frame-size-changed-p|func-arity|generic--normalize-comments|generic-bracket-support|generic-mode-set-comments|generic-set-comment-syntax|generic-set-comment-vars|get-variable-watchers|gfm-mode|gfm-view-mode|ghc-core-create-core|ghc-core-mode|ghci-script-mode|git-commit--save-and-exit|git-commit-ack|git-commit-cc|git-commit-committer-email|git-commit-committer-name|git-commit-commit|git-commit-find-pseudo-header-position|git-commit-first-env-var|git-commit-font-lock-diff|git-commit-git-config-var|git-commit-insert-header-as-self|git-commit-insert-header|git-commit-mode|git-commit-reported|git-commit-review|git-commit-signoff|git-commit-test|git-define-git-commit-self|git-define-git-commit|gitattributes-mode--highlight-1st-field|gitattributes-mode-backward-field|gitattributes-mode-eldoc|gitattributes-mode-forward-field|gitattributes-mode-help|gitattributes-mode-menu|gitattributes-mode|gitconfig-indent-line|gitconfig-indentation-string|gitconfig-line-indented-p|gitconfig-mode|gitconfig-point-in-indentation-p|gitignore-mode|global-aggressive-indent-mode-check-buffers|global-aggressive-indent-mode-cmhh|global-aggressive-indent-mode-enable-in-buffers|global-aggressive-indent-mode|global-display-line-numbers-mode|global-eldoc-mode-check-buffers|global-eldoc-mode-cmhh|global-eldoc-mode-enable-in-buffers|glsl-mode|gnutls-asynchronous-parameters|gnutls-ciphers|gnutls-digests|gnutls-hash-digest|gnutls-hash-mac|gnutls-macs|gnutls-symmetric-decrypt|gnutls-symmetric-encrypt|go-download-play|go-mode|godoc|gofmt-before-save|gui-backend-get-selection|gui-backend-selection-exists-p|gui-backend-selection-owner-p|gui-backend-set-selection|gv-delay-error|gv-setter|gv-synthetic-place|hack-connection-local-variables-apply|handle-args-function|handle-move-frame|hash-table-empty-p|haskell-align-imports|haskell-c2hs-mode|haskell-cabal-get-dir|haskell-cabal-get-field|haskell-cabal-mode|haskell-cabal-visit-file|haskell-collapse-mode|haskell-compile|haskell-completions-completion-at-point|haskell-decl-scan-mode|haskell-describe|haskell-doc-current-info|haskell-doc-mode|haskell-doc-show-type|haskell-ds-create-imenu-index|haskell-forward-sexp|haskell-hayoo|haskell-hoogle-lookup-from-local|haskell-hoogle|haskell-indent-mode|haskell-indentation-mode|haskell-interactive-bring|haskell-interactive-kill|haskell-interactive-mode-echo|haskell-interactive-mode-reset-error|haskell-interactive-mode-return|haskell-interactive-mode-visit-error|haskell-interactive-switch|haskell-kill-session-process|haskell-menu|haskell-mode-after-save-handler|haskell-mode-find-uses|haskell-mode-generate-tags|haskell-mode-goto-loc|haskell-mode-jump-to-def-or-tag|haskell-mode-jump-to-def|haskell-mode-jump-to-tag|haskell-mode-show-type-at)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(haskell-mode-stylish-buffer|haskell-mode-tag-find|haskell-mode-view-news|haskell-mode|haskell-move-nested-left|haskell-move-nested-right|haskell-move-nested|haskell-navigate-imports-go|haskell-navigate-imports-return|haskell-navigate-imports|haskell-process-cabal-build|haskell-process-cabal-macros|haskell-process-cabal|haskell-process-cd|haskell-process-clear|haskell-process-do-info|haskell-process-do-type|haskell-process-interrupt|haskell-process-load-file|haskell-process-load-or-reload|haskell-process-minimal-imports|haskell-process-reload-devel-main|haskell-process-reload-file|haskell-process-reload|haskell-process-restart|haskell-process-show-repl-response|haskell-process-unignore|haskell-rgrep|haskell-session-all-modules|haskell-session-change-target|haskell-session-change|haskell-session-installed-modules|haskell-session-kill|haskell-session-maybe|haskell-session-process|haskell-session-project-modules|haskell-session|haskell-sort-imports|haskell-tab-indent-mode|haskell-version|hayoo|help--analyze-key|help--binding-undefined-p|help--docstring-quote|help--filter-info-list|help--load-prefixes|help--loaded-p|help--make-usage-docstring|help--make-usage|help--read-key-sequence|help--symbol-completion-table|help-definition-prefixes|help-fns--analyze-function|help-fns-function-description-header|help-fns-short-filename|highlight-uses-mode|hoogle|hyperspec-lookup|ibuffer-jump|ido-dired-other-frame|ido-dired-other-window|ido-display-buffer-other-frame|ido-find-alternate-file-other-window|if-let\\\\\\\\*|image-dired-minor-mode|image-mode-to-text|indent--default-inside-comment|indent--funcall-widened|indent-region-line-by-line|indent-relative-first-indent-point|inferior-erlang|inferior-lfe-mode|inferior-lfe|ini-mode|insert-directory-clean|insert-directory-wildcard-in-dir-p|interactive-haskell-mode|internal--compiler-macro-cXXr|internal--syntax-propertize|internal-auto-fill|internal-default-interrupt-process|internal-echo-keystrokes-prefix|internal-handle-focus-in|isearch--describe-regexp-mode|isearch--describe-word-mode|isearch--lax-regexp-function-p|isearch--momentary-message|isearch--yank-char-or-syntax|isearch-define-mode-toggle|isearch-lazy-highlight-start|isearch-string-propertize|isearch-toggle-char-fold|isearch-update-from-string-properties|isearch-xterm-paste|isearch-yank-symbol-or-char|jison-mode|jit-lock--run-functions|js-jsx-mode|js2-highlight-unused-variables-mode|js2-imenu-extras-mode|js2-imenu-extras-setup|js2-jsx-mode|js2-minor-mode|js2-mode|json--check-position|json--decode-utf-16-surrogates|json--plist-reverse|json--plist-to-alist|json--record-path|json-advance--inliner|json-path-to-position|json-peek--inliner|json-pop--inliner|json-pretty-print-buffer-ordered|json-pretty-print-ordered|json-readtable-dispatch|json-skip-whitespace--inliner|kill-current-buffer|kmacro-keyboard-macro-p|kmacro-p|kqueue-add-watch|kqueue-rm-watch|kqueue-valid-p|langdoc-call-fun|langdoc-define-help-mode|langdoc-if-let|langdoc-insert-link|langdoc-matched-strings|langdoc-while-let|lcms-cam02-ucs|lcms-cie-de2000|lcms-jab->jch|lcms-jch->jab|lcms-jch->xyz|lcms-temp->white-point|lcms-xyz->jch|lcms2-available-p|less-css-mode|let-when-compile|lfe-indent-function|lfe-mode|lgstring-remove-glyph|libxml-available-p|line-number-display-width|lisp--el-match-keyword|lisp--el-non-funcall-position-p|lisp-adaptive-fill|lisp-indent-calc-next|lisp-indent-initial-state|lisp-indent-region|lisp-indent-state-p--cmacro|lisp-indent-state-ppss--cmacro|lisp-indent-state-ppss-point--cmacro|lisp-indent-state-ppss-point|lisp-indent-state-ppss|lisp-indent-state-p|lisp-indent-state-stack--cmacro|lisp-indent-state-stack|lisp-ppss|list-timers|literate-haskell-mode|load-user-init-file|loadhist-unload-element|logcount|lread--substitute-object-in-subtree|macroexp-macroexpand|macroexp-parse-body|macrostep-c-mode-hook|macrostep-expand|macrostep-mode|major-mode-restore|major-mode-suspend|make-condition-variable|make-empty-file|make-finalizer|make-mutex|make-nearby-temp-file|make-pipe-process|make-process|make-record|make-temp-file-internal|make-thread|make-xref-elisp-location--cmacro|make-xref-elisp-location|make-yas--exit--cmacro|make-yas--exit|make-yas--field--cmacro|make-yas--field|make-yas--mirror--cmacro|make-yas--mirror|make-yas--snippet--cmacro|make-yas--snippet|make-yas--table--cmacro|make-yas--table|map--apply-alist|map--apply-array|map--apply-hash-table|map--do-alist|map--do-array|map--into-hash-table|map--make-pcase-bindings|map--make-pcase-patterns|map--pcase-macroexpander|map--put|map-apply|map-contains-key|map-copy|map-delete|map-do|map-elt|map-empty-p|map-every-p|map-filter|map-into|map-keys-apply|map-keys|map-length|map-let|map-merge-with|map-merge|map-nested-elt|map-pairs|map-put|map-remove|map-some|map-values-apply|map-values|mapbacktrace|mapp|mark-beginning-of-buffer|mark-end-of-buffer|markdown-live-preview-mode|markdown-mode|markdown-view-mode|mc-hide-unmatched-lines-mode|mc/add-cursor-on-click|mc/edit-beginnings-of-lines|mc/edit-ends-of-lines|mc/edit-lines|mc/insert-letters|mc/insert-numbers|mc/mark-all-dwim|mc/mark-all-in-region-regexp|mc/mark-all-in-region|mc/mark-all-like-this-dwim|mc/mark-all-like-this-in-defun|mc/mark-all-like-this|mc/mark-all-symbols-like-this-in-defun|mc/mark-all-symbols-like-this|mc/mark-all-words-like-this-in-defun|mc/mark-all-words-like-this|mc/mark-more-like-this-extended|mc/mark-next-like-this-word|mc/mark-next-like-this|mc/mark-next-lines|mc/mark-next-symbol-like-this|mc/mark-next-word-like-this|mc/mark-pop|mc/mark-previous-like-this-word|mc/mark-previous-like-this|mc/mark-previous-lines|mc/mark-previous-symbol-like-this|mc/mark-previous-word-like-this|mc/mark-sgml-tag-pair|mc/reverse-regions|mc/skip-to-next-like-this|mc/skip-to-previous-like-this|mc/sort-regions|mc/toggle-cursor-on-click|mc/unmark-next-like-this|mc/unmark-previous-like-this|mc/vertical-align-with-space|mc/vertical-align|menu-bar-bottom-and-right-window-divider|menu-bar-bottom-window-divider|menu-bar-display-line-numbers-mode|menu-bar-goto-uses-etags-p|menu-bar-no-window-divider|menu-bar-right-window-divider|menu-bar-window-divider-customize|mhtml-mode|midnight-mode|minibuffer-maybe-quote-filename|minibuffer-prompt-properties--setter|mm-images-in-region-p|mocha--get-callsite-name|mocha-attach-indium|mocha-check-debugger|mocha-compilation-filter|mocha-debug-at-point|mocha-debug-file|mocha-debug-project|mocha-debugger-get|mocha-debugger-name-p|mocha-debug|mocha-find-current-test|mocha-find-project-root|mocha-generate-command|mocha-list-of-strings-p|mocha-make-imenu-alist|mocha-opts-file|mocha-realgud:nodejs-attach|mocha-run|mocha-test-at-point|mocha-test-file|mocha-test-project|mocha-toggle-imenu-function|mocha-walk-up-to-it|mode-line-default-help-echo|module-function-p|module-load|mouse--click-1-maybe-follows-link|mouse-absolute-pixel-position|mouse-drag-and-drop-region|mouse-drag-bottom-edge|mouse-drag-bottom-left-corner|mouse-drag-bottom-right-corner|mouse-drag-frame|mouse-drag-left-edge|mouse-drag-right-edge|mouse-drag-top-edge|mouse-drag-top-left-corner|mouse-drag-top-right-corner|mouse-resize-frame|move-text--at-first-line-p)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(move-text--at-last-line-p|move-text--at-penultimate-line-p|move-text--last-line-is-just-newline|move-text--total-lines|move-text-default-bindings|move-text-down|move-text-line-down|move-text-line-up|move-text-region-down|move-text-region-up|move-text-region|move-text-up|move-to-window-group-line|mule--ucs-names-annotation|multiple-cursors-mode|mutex-lock|mutex-name|mutex-unlock|mutexp|nasm-mode|newlisp-mode|newlisp-show-repl|next-error-buffer-on-selected-frame|next-error-found|next-error-select-buffer|ninja-mode|obarray-get|obarray-make|obarray-map|obarray-put|obarray-remove|obarray-size|obarrayp|occur-regexp-descr|org-columns-insert-dblock|org-duration-from-minutes|org-duration-h:mm-only-p|org-duration-p|org-duration-set-regexps|org-duration-to-minutes|org-lint|package--activate-autoloads-and-load-path|package--add-to-compatibility-table|package--append-to-alist|package--autoloads-file-name|package--build-compatibility-table|package--check-signature-content|package--download-and-read-archives|package--find-non-dependencies|package--get-deps|package--incompatible-p|package--load-files-for-activation|package--newest-p|package--prettify-quick-help-key|package--print-help-section|package--quickstart-maybe-refresh|package--read-pkg-desc|package--removable-packages|package--remove-hidden|package--save-selected-packages|package--sort-by-dependence|package--sort-deps-in-alist|package--update-downloads-in-progress|package--update-selected-packages|package--used-elsewhere-p|package--user-installed-p|package--user-selected-p|package--with-response-buffer|package-activate-all|package-archive-priority|package-autoremove|package-delete-button-action|package-desc-priority-version|package-desc-priority|package-dir-info|package-install-selected-packages|package-menu--find-and-notify-upgrades|package-menu--list-to-prompt|package-menu--mark-or-notify-upgrades|package-menu--mark-upgrades-1|package-menu--partition-transaction|package-menu--perform-transaction|package-menu--populate-new-package-list|package-menu--post-refresh|package-menu--print-info-simple|package-menu--prompt-transaction-p|package-menu-hide-package|package-menu-mode-menu|package-menu-toggle-hiding|package-quickstart-refresh|package-reinstall|pcase--edebug-match-macro|pcase--make-docstring|pcase-lambda|pcomplete/find|perl-flymake|picolisp-mode|picolisp-repl-mode|picolisp-repl|pixel-scroll-mode|pos-visible-in-window-group-p|pov-mode|powershell-mode|powershell|prefix-command-preserve-state|prefix-command-update|prettify-symbols--post-command-hook|prettify-symbols-default-compose-p|print--preprocess|process-thread|prog-first-column|project-current|project-find-file|project-find-regexp|project-or-external-find-file|project-or-external-find-regexp|proper-list-p|provided-mode-derived-p|pulse-momentary-highlight-one-line|pulse-momentary-highlight-region|quelpa|query-replace--split-string|radix-tree--insert|radix-tree--lookup|radix-tree--prefixes|radix-tree--remove|radix-tree--subtree|radix-tree-count|radix-tree-from-map|radix-tree-insert|radix-tree-iter-mappings|radix-tree-iter-subtrees|radix-tree-leaf--pcase-macroexpander|radix-tree-lookup|radix-tree-prefixes|radix-tree-subtree|read-answer|read-multiple-choice|readable-foreground-color|recenter-window-group|recentf-mode|recode-file-name|recode-region|record-window-buffer|recordp?|recover-file|recover-session-finish|recover-session|recover-this-file|rectangle-mark-mode|rectangle-number-lines|rectangular-region-mode|redirect-debugging-output|redisplay--pre-redisplay-functions|redisplay--update-region-highlight|redraw-modeline|refill-mode|reftex-all-document-files|reftex-citation|reftex-index-phrases-mode|reftex-isearch-minor-mode|reftex-mode|reftex-reset-scanning-information|regexp-builder|regexp-opt-group|region-active-p|region-bounds|region-modifiable-p|region-noncontiguous-p|register-ccl-program|register-code-conversion-map|register-definition-prefixes|register-describe-oneline|register-input-method|register-preview-default|register-preview|register-swap-out|register-to-point|register-val-describe|register-val-insert|register-val-jump-to|registerv--make--cmacro|registerv--make|registerv-data--cmacro|registerv-data|registerv-insert-func--cmacro|registerv-insert-func|registerv-jump-func--cmacro|registerv-jump-func|registerv-make|registerv-p--cmacro|registerv-print-func--cmacro|registerv-print-func|registerv-p|remember-clipboard|remember-diary-extract-entries|remember-notes|remember-other-frame|remember|remove-variable-watcher|remove-yank-excluded-properties|rename-uniquely|repeat-complex-command|repeat-matching-complex-command|repeat|replace--push-stack|replace-buffer-contents|replace-dehighlight|replace-eval-replacement|replace-highlight|replace-loop-through-replacements|replace-match-data|replace-match-maybe-edit|replace-match-string-symbols|replace-quote|replace-rectangle|replace-regexp|replace-search|replace-string|report-emacs-bug|report-errors|reporter-submit-bug-report|reposition-window|repunctuate-sentences|reset-language-environment|reset-this-command-lengths|resize-mini-window-internal|resize-temp-buffer-window|reveal-mode|reverse-region|revert-buffer--default|revert-buffer-insert-file-contents--default-function|revert-buffer-with-coding-system|rfc2104-hash|rfc822-goto-eoh|rfn-eshadow-setup-minibuffer|rfn-eshadow-sifn-equal|rfn-eshadow-update-overlay|rgrep|right-char|right-word|rlogin|rmail-input|rmail-mode|rmail-movemail-variant-p|rmail-output-as-seen|run-erlang|run-forth|run-haskell|run-lfe|run-newlisp|run-sml|rust-mode|rx--pcase-macroexpander|save-mark-and-excursion--restore|save-mark-and-excursion--save|save-mark-and-excursion|save-place-local-mode|save-place-mode|scad-mode|search-forward-help-for-help|secondary-selection-exist-p|secondary-selection-from-region|secondary-selection-to-region|secure-hash-algorithms|sed-mode|selected-window-group|seq--activate-font-lock-keywords|seq--elt-safe|seq--into-list|seq--into-string|seq--into-vector|seq--make-pcase-bindings|seq--make-pcase-patterns|seq--pcase-macroexpander|seq-contains|seq-difference|seq-do-indexed|seq-find|seq-group-by|seq-intersection|seq-into-sequence|seq-into|seq-let|seq-map-indexed|seq-mapcat|seq-mapn|seq-max|seq-min|seq-partition|seq-position|seq-random-elt|seq-set-equal-p|seq-some|seq-sort-by|seqp|set--this-command-keys|set-binary-mode|set-buffer-redisplay|set-mouse-absolute-pixel-position|set-process-thread|set-rectangular-region-anchor|set-window-group-start|shell-command--save-pos-or-erase|shell-command--set-point-after-cmd|shift-number-down|shift-number-up|slime-connect|slime-lisp-mode-hook|slime-mode|slime-scheme-mode-hook|slime-selector|slime-setup|slime|smerge-refine-regions|sml-cm-mode|sml-lex-mode|sml-mode|sml-run|sml-yacc-mode|snippet-mode|spice-mode|split-window-no-error|sql-mariadb|ssh-authorized-keys-mode|ssh-config-mode|ssh-known-hosts-mode|startup--setup-quote-display|string-distance|string-greaterp|string-version-lessp|string>|subr--with-wrapper-hook-no-warnings|switch-to-haskell|sxhash-eql|sxhash-equal|sxhash-eq|syntax-ppss--data)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(tabulated-list--col-local-max-widths|tabulated-list--get-sorter|tabulated-list-header-overlay-p|tabulated-list-line-number-width|tabulated-list-watch-line-number-width|tabulated-list-window-scroll-function|terminal-init-xterm|thing-at-point--beginning-of-sexp|thing-at-point--end-of-sexp|thing-at-point--read-from-whole-string|thread--blocker|thread-alive-p|thread-handle-event|thread-join|thread-last-error|thread-live-p|thread-name|thread-signal|thread-yield|threadp|tildify-mode|tildify-space|toml-mode|tramp-archive-autoload-file-name-regexp|tramp-register-archive-file-name-handler|tty-color-24bit|turn-on-haskell-decl-scan|turn-on-haskell-doc-mode|turn-on-haskell-doc|turn-on-haskell-indentation|turn-on-haskell-indent|turn-on-haskell-unicode-input-method|typescript-mode|uncomment-region-default-1|undo--wrap-and-run-primitive-undo|undo-amalgamate-change-group|undo-auto--add-boundary|undo-auto--boundaries|undo-auto--boundary-ensure-timer|undo-auto--boundary-timer|undo-auto--ensure-boundary|undo-auto--last-boundary-amalgamating-number|undo-auto--needs-boundary-p|undo-auto--undoable-change|undo-auto-amalgamate|universal-argument--description|universal-argument--preserve|upcase-char|upcase-dwim|url-asynchronous--cmacro|url-asynchronous|url-directory-files|url-domain|url-file-attributes|url-file-directory-p|url-file-executable-p|url-file-exists-p|url-file-handler-identity|url-file-name-all-completions|url-file-name-completion|url-file-symlink-p|url-file-truename|url-file-writable-p|url-handler-directory-file-name|url-handler-expand-file-name|url-handler-file-name-directory|url-handler-file-remote-p|url-handler-unhandled-file-name-directory|url-handlers-create-wrapper|url-handlers-set-buffer-mode|url-insert-buffer-contents|url-insert|url-run-real-handler|user-ptrp|userlock--ask-user-about-supersession-threat|vc-message-unresolved-conflicts|vc-print-branch-log|vc-push|vc-refresh-state|version-control-safe-local-p|vimrc-mode|wavefront-obj-mode|when-let\\\\\\\\*|window--adjust-process-windows|window--even-window-sizes|window--make-major-side-window-next-to|window--make-major-side-window|window--process-window-list|window--sides-check-failed|window--sides-check|window--sides-reverse-all|window--sides-reverse-frame|window--sides-reverse-on-frame-p|window--sides-reverse-side|window--sides-reverse|window--sides-verticalize-frame|window--sides-verticalize|window-absolute-body-pixel-edges|window-absolute-pixel-position|window-adjust-process-window-size-largest|window-adjust-process-window-size-smallest|window-adjust-process-window-size|window-body-edges|window-body-pixel-edges|window-divider-mode-apply|window-divider-mode|window-divider-width-valid-p|window-font-height|window-font-width|window-group-end|window-group-start|window-largest-empty-rectangle--disjoint-maximums|window-largest-empty-rectangle--maximums-1|window-largest-empty-rectangle--maximums|window-largest-empty-rectangle|window-lines-pixel-dimensions|window-main-window|window-max-chars-per-line|window-pixel-height-before-size-change|window-pixel-width-before-size-change|window-swap-states|window-system-initialization|window-toggle-side-windows|with-connection-local-profiles|with-mutex|x-load-color-file|xml-remove-comments|xref-backend-apropos|xref-backend-definitions|xref-backend-identifier-completion-table|xref-collect-matches|xref-elisp-location-file--cmacro|xref-elisp-location-file|xref-elisp-location-p--cmacro|xref-elisp-location-symbol--cmacro|xref-elisp-location-symbol|xref-elisp-location-type--cmacro|xref-elisp-location-type|xref-find-backend|xref-find-definitions-at-mouse|xref-make-elisp-location--cmacro|xref-marker-stack-empty-p|xterm--init-activate-get-selection|xterm--init-activate-set-selection|xterm--init-bracketed-paste-mode|xterm--init-focus-tracking|xterm--init-frame-title|xterm--init-modify-other-keys|xterm--pasted-text|xterm--push-map|xterm--query|xterm--read-event-for-query|xterm--report-background-handler|xterm--selection-char|xterm--suspend-tty-function|xterm--version-handler|xterm-maybe-set-dark-background-mode|xterm-paste|xterm-register-default-colors|xterm-rgb-convert-to-16bit|xterm-set-window-title-flag|xterm-set-window-title|xterm-translate-bracketed-paste|xterm-translate-focus-in|xterm-translate-focus-out|xterm-unset-window-title-flag|xwidget-webkit-browse-url|yaml-mode|yas--add-template|yas--advance-end-maybe|yas--advance-end-of-parents-maybe|yas--advance-start-maybe|yas--all-templates|yas--apply-transform|yas--auto-fill-wrapper|yas--auto-fill|yas--auto-next|yas--calculate-adjacencies|yas--calculate-group|yas--calculate-mirror-depth|yas--calculate-simple-fom-parentage|yas--check-commit-snippet|yas--collect-snippet-markers|yas--commit-snippet|yas--compute-major-mode-and-parents|yas--create-snippet-xrefs|yas--define-menu-1|yas--define-parents|yas--define-snippets-1|yas--define-snippets-2|yas--define|yas--delete-from-keymap|yas--delete-regions|yas--describe-pretty-table|yas--escape-string|yas--eval-condition|yas--eval-for-effect|yas--eval-for-string|yas--exit-marker--cmacro|yas--exit-marker|yas--exit-next--cmacro|yas--exit-next|yas--exit-p--cmacro|yas--exit-p|yas--expand-from-keymap-doc|yas--expand-from-trigger-key-doc|yas--expand-or-prompt-for-template|yas--expand-or-visit-from-menu|yas--fallback-translate-input|yas--fallback|yas--fetch|yas--field-contains-point-p|yas--field-end--cmacro|yas--field-end|yas--field-mirrors--cmacro|yas--field-mirrors|yas--field-modified-p--cmacro|yas--field-modified-p|yas--field-next--cmacro|yas--field-next|yas--field-number--cmacro|yas--field-number|yas--field-p--cmacro|yas--field-parent-field--cmacro|yas--field-parent-field|yas--field-parse-create|yas--field-probably-deleted-p|yas--field-p|yas--field-start--cmacro|yas--field-start|yas--field-text-for-display|yas--field-transform--cmacro|yas--field-transform|yas--field-update-display|yas--filter-templates-by-condition|yas--find-next-field|yas--finish-moving-snippets|yas--fom-end|yas--fom-next|yas--fom-parent-field|yas--fom-start|yas--format|yas--get-field-once|yas--get-snippet-tables|yas--get-template-by-uuid|yas--global-mode-reload-with-jit-maybe|yas--goto-saved-location|yas--guess-snippet-directories-1|yas--guess-snippet-directories|yas--indent-parse-create|yas--indent-region|yas--indent|yas--key-from-desc|yas--keybinding-beyond-yasnippet|yas--letenv|yas--load-directory-1|yas--load-directory-2|yas--load-pending-jits|yas--load-snippet-dirs|yas--load-yas-setup-file|yas--lookup-snippet-1|yas--make-control-overlay|yas--make-directory-maybe|yas--make-exit--cmacro|yas--make-exit|yas--make-field--cmacro|yas--make-field|yas--make-marker|yas--make-menu-binding|yas--make-mirror--cmacro|yas--make-mirror|yas--make-move-active-field-overlay|yas--make-move-field-protection-overlays|yas--make-snippet--cmacro|yas--make-snippet-table--cmacro|yas--make-snippet-table|yas--make-snippet|yas--make-template--cmacro|yas--make-template)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(yas--mark-this-and-children-modified|yas--markers-to-points|yas--maybe-clear-field-filter|yas--maybe-expand-from-keymap-filter|yas--maybe-expand-key-filter|yas--maybe-move-to-active-field|yas--menu-keymap-get-create|yas--message|yas--minor-mode-menu|yas--mirror-depth--cmacro|yas--mirror-depth|yas--mirror-end--cmacro|yas--mirror-end|yas--mirror-next--cmacro|yas--mirror-next|yas--mirror-p--cmacro|yas--mirror-parent-field--cmacro|yas--mirror-parent-field|yas--mirror-p|yas--mirror-start--cmacro|yas--mirror-start|yas--mirror-transform--cmacro|yas--mirror-transform|yas--mirror-update-display|yas--modes-to-activate|yas--move-to-field|yas--namehash-templates-alist|yas--on-buffer-kill|yas--on-field-overlay-modification|yas--on-protection-overlay-modification|yas--parse-template|yas--place-overlays|yas--points-to-markers|yas--post-command-handler|yas--prepare-snippets-for-move|yas--prompt-for-keys|yas--prompt-for-table|yas--prompt-for-template|yas--protect-escapes|yas--read-keybinding|yas--read-lisp|yas--read-table|yas--remove-misc-free-from-undo|yas--remove-template-by-uuid|yas--replace-all|yas--require-template-specific-condition-p|yas--restore-backquotes|yas--restore-escapes|yas--restore-marker-location|yas--restore-overlay-line-location|yas--restore-overlay-location|yas--safely-call-fun|yas--safely-run-hook|yas--save-backquotes|yas--save-restriction-and-widen|yas--scan-sexps|yas--schedule-jit|yas--show-menu-p|yas--simple-fom-create|yas--skip-and-clear-field-p|yas--skip-and-clear|yas--snapshot-marker-location|yas--snapshot-overlay-line-location|yas--snapshot-overlay-location|yas--snippet-active-field--cmacro|yas--snippet-active-field|yas--snippet-control-overlay--cmacro|yas--snippet-control-overlay|yas--snippet-create|yas--snippet-description-finish-runonce|yas--snippet-exit--cmacro|yas--snippet-exit|yas--snippet-expand-env--cmacro|yas--snippet-expand-env|yas--snippet-field-compare|yas--snippet-fields--cmacro|yas--snippet-fields|yas--snippet-find-field|yas--snippet-force-exit--cmacro|yas--snippet-force-exit|yas--snippet-id--cmacro|yas--snippet-id|yas--snippet-live-p|yas--snippet-map-markers|yas--snippet-next-id|yas--snippet-p--cmacro|yas--snippet-parse-create|yas--snippet-previous-active-field--cmacro|yas--snippet-previous-active-field|yas--snippet-p|yas--snippet-revive|yas--snippet-sort-fields|yas--snippets-at-point|yas--subdirs|yas--table-all-keys|yas--table-direct-keymap--cmacro|yas--table-direct-keymap|yas--table-get-create|yas--table-hash--cmacro|yas--table-hash|yas--table-mode|yas--table-name--cmacro|yas--table-name|yas--table-p--cmacro|yas--table-parents--cmacro|yas--table-parents|yas--table-p|yas--table-templates|yas--table-uuidhash--cmacro|yas--table-uuidhash|yas--take-care-of-redo|yas--template-can-expand-p|yas--template-condition--cmacro|yas--template-condition|yas--template-content--cmacro|yas--template-content|yas--template-expand-env--cmacro|yas--template-expand-env|yas--template-fine-group|yas--template-get-file|yas--template-group--cmacro|yas--template-group|yas--template-key--cmacro|yas--template-keybinding--cmacro|yas--template-keybinding|yas--template-key|yas--template-load-file--cmacro|yas--template-load-file|yas--template-menu-binding-pair--cmacro|yas--template-menu-binding-pair-get-create|yas--template-menu-binding-pair|yas--template-menu-managed-by-yas-define-menu|yas--template-name--cmacro|yas--template-name|yas--template-p--cmacro|yas--template-perm-group--cmacro|yas--template-perm-group|yas--template-pretty-list|yas--template-p|yas--template-save-file--cmacro|yas--template-save-file|yas--template-table--cmacro|yas--template-table|yas--template-uuid--cmacro|yas--template-uuid|yas--templates-for-key-at-point|yas--transform-mirror-parse-create|yas--undo-in-progress|yas--update-mirrors|yas--update-template-menu|yas--update-template|yas--visit-snippet-file-1|yas--warning|yas--watch-auto-fill|yas-abort-snippet|yas-about|yas-activate-extra-mode|yas-active-keys|yas-active-snippets|yas-auto-next|yas-choose-value|yas-compile-directory|yas-completing-prompt|yas-current-field|yas-deactivate-extra-mode|yas-default-from-field|yas-define-condition-cache|yas-define-menu|yas-define-snippets|yas-describe-table-by-namehash|yas-describe-tables|yas-direct-keymaps-reload|yas-dropdown-prompt|yas-escape-text|yas-exit-all-snippets|yas-exit-snippet|yas-expand-from-keymap|yas-expand-from-trigger-key|yas-expand-snippet|yas-expand|yas-field-value|yas-global-mode-check-buffers|yas-global-mode-cmhh|yas-global-mode-enable-in-buffers|yas-global-mode|yas-hippie-try-expand|yas-ido-prompt|yas-initialize|yas-insert-snippet|yas-inside-string|yas-key-to-value|yas-load-directory|yas-load-snippet-buffer-and-close|yas-load-snippet-buffer|yas-longest-key-from-whitespace|yas-lookup-snippet|yas-maybe-ido-prompt|yas-maybe-load-snippet-buffer|yas-minor-mode-on|yas-minor-mode-set-explicitly|yas-minor-mode|yas-new-snippet|yas-next-field-or-maybe-expand|yas-next-field-will-exit-p|yas-next-field|yas-no-prompt|yas-prev-field|yas-recompile-all|yas-reload-all|yas-selected-text|yas-shortest-key-until-whitespace|yas-skip-and-clear-field|yas-skip-and-clear-or-delete-char|yas-snippet-dirs|yas-snippet-mode-buffer-p|yas-substr|yas-text|yas-throw|yas-try-key-from-whitespace|yas-tryout-snippet|yas-unimplemented|yas-verify-value|yas-visit-snippet-file|yas-x-prompt|yas/abort-snippet|yas/about|yas/choose-value|yas/compile-directory|yas/completing-prompt|yas/default-from-field|yas/define-condition-cache|yas/define-menu|yas/define-snippets|yas/describe-tables|yas/direct-keymaps-reload|yas/dropdown-prompt|yas/exit-all-snippets|yas/exit-snippet|yas/expand-from-keymap|yas/expand-from-trigger-key|yas/expand-snippet|yas/expand|yas/field-value|yas/global-mode|yas/hippie-try-expand|yas/ido-prompt|yas/initialize|yas/insert-snippet|yas/inside-string|yas/key-to-value|yas/load-directory|yas/load-snippet-buffer|yas/minor-mode-on|yas/minor-mode|yas/new-snippet|yas/next-field-or-maybe-expand|yas/next-field|yas/no-prompt|yas/prev-field|yas/recompile-all|yas/reload-all|yas/selected-text|yas/skip-and-clear-or-delete-char|yas/snippet-dirs|yas/substr|yas/text|yas/throw|yas/tryout-snippet|yas/unimplemented|yas/verify-value|yas/visit-snippet-file|yas/x-prompt|yasnippet-unload-function|zap-up-to-char)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(abbrev-all-caps|abbrev-expand-function|abbrev-expansion|abbrev-file-name|abbrev-get|abbrev-insert|abbrev-map|abbrev-minor-mode-table-alist|abbrev-prefix-mark|abbrev-put|abbrev-start-location|abbrev-start-location-buffer|abbrev-symbol|abbrev-table-get|abbrev-table-name-list|abbrev-table-p|abbrev-table-put|abbreviate-file-name|abbrevs-changed|abort-recursive-edit|accept-change-group|accept-process-output|access-file|accessible-keymaps|acos|activate-change-group|activate-mark-hook|active-minibuffer-window|adaptive-fill-first-line-regexp|adaptive-fill-function|adaptive-fill-mode|adaptive-fill-regexp|add-face-text-property|add-function|add-hook|add-name-to-file|add-text-properties|add-to-history|add-to-invisibility-spec|add-to-list|add-to-ordered-list|adjust-window-trailing-edge|advice-add|advice-eval-interactive-spec|advice-function-mapc|advice-function-member-p|advice-mapc|advice-member-p|advice-remove|after-change-functions|after-change-major-mode-hook|after-find-file|after-init-hook|after-init-time|after-insert-file-functions|after-load-functions|after-make-frame-functions|after-revert-hook|after-save-hook|after-setting-font-hook|all-completions|append-to-file|apply-partially|apropos|aref|argv|arrayp|ascii-case-table|aset|ash|asin|ask-user-about-lock|ask-user-about-supersession-threat|assoc-default|assoc-string|assq|assq-delete-all|atan|atom|auto-coding-alist|auto-coding-functions|auto-coding-regexp-alist|auto-fill-chars|auto-fill-function|auto-hscroll-mode|auto-mode-alist|auto-raise-tool-bar-buttons|auto-resize-tool-bars|auto-save-default|auto-save-file-name-p|auto-save-hook|auto-save-interval|auto-save-list-file-name|auto-save-list-file-prefix|auto-save-mode|auto-save-timeout|auto-save-visited-file-name|auto-window-vscroll|autoload|autoload-do-load|autoloadp|back-to-indentation|backtrace|backtrace-debug|backtrace-frame|backup-buffer|backup-by-copying|backup-by-copying-when-linked|backup-by-copying-when-mismatch|backup-by-copying-when-privileged-mismatch|backup-directory-alist|backup-enable-predicate|backup-file-name-p|backup-inhibited|backward-button|backward-char|backward-delete-char-untabify|backward-delete-char-untabify-method|backward-list|backward-prefix-chars|backward-sexp|backward-to-indentation|backward-word|balance-windows|balance-windows-area|barf-if-buffer-read-only|base64-decode-region|base64-decode-string|base64-encode-region|base64-encode-string|batch-byte-compile|baud-rate|beep|before-change-functions|before-hack-local-variables-hook|before-init-hook|before-init-time|before-make-frame-hook|before-revert-hook|before-save-hook|beginning-of-buffer|beginning-of-defun|beginning-of-defun-function|beginning-of-line|bidi-display-reordering|bidi-paragraph-direction|bidi-string-mark-left-to-right|bindat-get-field|bindat-ip-to-string|bindat-length|bindat-pack|bindat-unpack|bitmap-spec-p|blink-cursor-alist|blink-matching-delay|blink-matching-open|blink-matching-paren|blink-matching-paren-distance|blink-paren-function|bobp|bolp|bool-vector-count-consecutive|bool-vector-count-population|bool-vector-exclusive-or|bool-vector-intersection|bool-vector-not|bool-vector-p|bool-vector-set-difference|bool-vector-subsetp|bool-vector-union|booleanp|boundp|buffer-access-fontified-property|buffer-access-fontify-functions|buffer-auto-save-file-format|buffer-auto-save-file-name|buffer-backed-up|buffer-base-buffer|buffer-chars-modified-tick|buffer-disable-undo|buffer-display-count|buffer-display-table|buffer-display-time|buffer-enable-undo|buffer-end|buffer-file-coding-system|buffer-file-format|buffer-file-name|buffer-file-number|buffer-file-truename|buffer-invisibility-spec|buffer-list|buffer-list-update-hook|buffer-live-p|buffer-local-value|buffer-local-variables|buffer-modified-p|buffer-modified-tick|buffer-name|buffer-name-history|buffer-narrowed-p|buffer-offer-save|buffer-quit-function|buffer-read-only|buffer-save-without-query|buffer-saved-size|buffer-size|buffer-stale-function|buffer-string|buffer-substring|buffer-substring-filters|buffer-substring-no-properties|buffer-swap-text|buffer-undo-list|bufferp|bury-buffer|button-activate|button-at|button-end|button-get|button-has-type-p|button-label|button-put|button-start|button-type|button-type-get|button-type-put|button-type-subtype-p|byte-boolean-vars|byte-code-function-p|byte-compile|byte-compile-dynamic|byte-compile-dynamic-docstrings|byte-compile-file|byte-recompile-directory|byte-to-position|byte-to-string|call-interactively|call-process|call-process-region|call-process-shell-command|called-interactively-p|cancel-change-group|cancel-debug-on-entry|cancel-timer|capitalize|capitalize-region|capitalize-word|case-fold-search|case-replace|case-table-p|category-docstring|category-set-mnemonics|category-table|category-table-p|ceiling|change-major-mode-after-body-hook|change-major-mode-hook|char-after|char-before|char-category-set|char-charset|char-code-property-description|char-displayable-p|char-equal|char-or-string-p|char-property-alias-alist|char-script-table|char-syntax|char-table-extra-slot|char-table-p|char-table-parent|char-table-range|char-table-subtype|char-to-string|char-width|char-width-table|characterp|charset-after|charset-list|charset-plist|charset-priority-list|charsetp|check-coding-system|check-coding-systems-region|checkdoc-minor-mode|cl|clear-abbrev-table|clear-image-cache|clear-string|clear-this-command-keys|clear-visited-file-modtime|clone-indirect-buffer|clrhash|coding-system-aliases|coding-system-change-eol-conversion|coding-system-change-text-conversion|coding-system-charset-list|coding-system-eol-type|coding-system-for-read|coding-system-for-write|coding-system-get|coding-system-list|coding-system-p|coding-system-priority-list|collapse-delayed-warnings|color-defined-p|color-gray-p|color-supported-p|color-values|combine-after-change-calls|combine-and-quote-strings|command-debug-status|command-error-function|command-execute|command-history|command-line|command-line-args|command-line-args-left|command-line-functions|command-line-processed|command-remapping|command-switch-alist|commandp|compare-buffer-substrings|compare-strings|compare-window-configurations|compile-defun|completing-read|completing-read-function|completion-at-point|completion-at-point-functions|completion-auto-help|completion-boundaries|completion-category-overrides|completion-extra-properties|completion-ignore-case|completion-ignored-extensions|completion-in-region|completion-regexp-list|completion-styles|completion-styles-alist|completion-table-case-fold|completion-table-dynamic|completion-table-in-turn|completion-table-merge|completion-table-subvert|completion-table-with-cache|completion-table-with-predicate|completion-table-with-quoting|completion-table-with-terminator|compute-motion|concat|cons-cells-consed|constrain-to-field|continue-process|controlling-tty-p|convert-standard-filename|coordinates-in-window-p|copy-abbrev-table|copy-category-table|copy-directory|copy-file|copy-hash-table|copy-keymap|copy-marker|copy-overlay|copy-region-as-kill|copy-sequence|copy-syntax-table|copysign|cos|count-lines|count-loop|count-screen-lines|count-words|create-file-buffer|create-fontset-from-fontset-spec|create-image|create-lockfiles|current-active-maps|current-bidi-paragraph-direction|current-buffer|current-case-table|current-column|current-fill-column|current-frame-configuration|current-global-map|current-idle-time|current-indentation|current-input-method|current-input-mode|current-justification|current-kill|current-left-margin|current-local-map|current-message|current-minor-mode-maps|current-prefix-arg|current-time|current-time-string|current-time-zone|current-window-configuration|current-word|cursor-in-echo-area|cursor-in-non-selected-windows|cursor-type|cust-print|custom-add-frequent-value|custom-initialize-delay|custom-known-themes|custom-reevaluate-setting|custom-set-faces|custom-set-variables|custom-theme-p|custom-theme-set-faces|custom-theme-set-variables|custom-unlispify-remove-prefixes|custom-variable-p|customize-package-emacs-version-alist|cygwin-convert-file-name-from-windows|cygwin-convert-file-name-to-windows|data-directory|date-leap-year-p|date-to-time|deactivate-mark|deactivate-mark-hook|debug|debug-ignored-errors|debug-on-entry|debug-on-error|debug-on-event|debug-on-message|debug-on-next-call|debug-on-quit|debug-on-signal|debugger|debugger-bury-or-kill|declare|declare-function|decode-char|decode-coding-inserted-region|decode-coding-region|decode-coding-string|decode-time|def-edebug-spec|defalias|default-boundp|default-directory|default-file-modes|default-frame-alist|default-input-method|default-justification|default-minibuffer-frame|default-process-coding-system|default-text-properties|default-value|define-abbrev|define-abbrev-table|define-alternatives|define-button-type|define-category|define-derived-mode|define-error|define-fringe-bitmap|define-generic-mode|define-globalized-minor-mode|define-hash-table-test|define-key|define-key-after|define-minor-mode|define-obsolete-face-alias|define-obsolete-function-alias|define-obsolete-variable-alias|define-package|define-prefix-command|defined-colors|defining-kbd-macro|defun-prompt-regexp|defvar-local|defvaralias|delay-mode-hooks|delayed-warnings-hook|delayed-warnings-list|delete|delete-and-extract-region|delete-auto-save-file-if-necessary|delete-auto-save-files|delete-backward-char|delete-blank-lines|delete-by-moving-to-trash|delete-char|delete-directory|delete-dups|delete-exited-processes|delete-field|delete-file|delete-frame|delete-frame-functions|delete-horizontal-space|delete-indentation|delete-minibuffer-contents|delete-old-versions|delete-other-windows|delete-overlay|delete-process|delete-region|delete-terminal|delete-terminal-functions|delete-to-left-margin|delete-trailing-whitespace|delete-window|delete-windows-on|delq|derived-mode-p|describe-bindings|describe-buffer-case-table|describe-categories|describe-current-display-table|describe-display-table|describe-mode|describe-prefix-bindings|describe-syntax|desktop-buffer-mode-handlers|desktop-save-buffer|destroy-fringe-bitmap|detect-coding-region|detect-coding-string|digit-argument|ding|dir-locals-class-alist|dir-locals-directory-cache|dir-locals-file|dir-locals-set-class-variables|dir-locals-set-directory-class|directory-file-name|directory-files|directory-files-and-attributes|dired-kept-versions|disable-command|disable-point-adjustment|disable-theme|disabled|disabled-command-function|disassemble|discard-input|display-backing-store|display-buffer|display-buffer-alist|display-buffer-at-bottom|display-buffer-base-action|display-buffer-below-selected|display-buffer-fallback-action|display-buffer-in-previous-window|display-buffer-no-window|display-buffer-overriding-action|display-buffer-pop-up-frame|display-buffer-pop-up-window|display-buffer-reuse-window|display-buffer-same-window|display-buffer-use-some-window|display-color-cells|display-color-p|display-completion-list|display-delayed-warnings|display-graphic-p|display-grayscale-p|display-images-p|display-message-or-buffer|display-mm-dimensions-alist|display-mm-height|display-mm-width|display-monitor-attributes-list|display-mouse-p|display-pixel-height|display-pixel-width|display-planes|display-popup-menus-p|display-save-under|display-screens|display-selections-p|display-supports-face-attributes-p|display-table-slot|display-visual-class|display-warning|dnd-protocol-alist|do-auto-save|doc-directory|documentation|documentation-property|dotimes-with-progress-reporter|double-click-fuzz|double-click-time|down-list|downcase|downcase-region|downcase-word|dump-emacs|dynamic-library-alist)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(easy-menu-define|easy-mmode-define-minor-mode|echo-area-clear-hook|echo-keystrokes|edebug|edebug-all-defs|edebug-all-forms|edebug-continue-kbd-macro|edebug-defun|edebug-display-freq-count|edebug-eval-macro-args|edebug-eval-top-level-form|edebug-global-break-condition|edebug-initial-mode|edebug-on-error|edebug-on-quit|edebug-print-circle|edebug-print-length|edebug-print-level|edebug-print-trace-after|edebug-print-trace-before|edebug-save-displayed-buffer-points|edebug-save-windows|edebug-set-global-break-condition|edebug-setup-hook|edebug-sit-for-seconds|edebug-temp-display-freq-count|edebug-test-coverage|edebug-trace|edebug-tracing|edebug-unwrap-results|edit-and-eval-command|electric-future-map|elt|emacs-build-time|emacs-init-time|emacs-lisp-docstring-fill-column|emacs-major-version|emacs-minor-version|emacs-pid|emacs-save-session-functions|emacs-session-restore|emacs-startup-hook|emacs-uptime|emacs-version|emulation-mode-map-alists|enable-command|enable-dir-local-variables|enable-local-eval|enable-local-variables|enable-multibyte-characters|enable-recursive-minibuffers|enable-theme|encode-char|encode-coding-region|encode-coding-string|encode-time|end-of-buffer|end-of-defun|end-of-defun-function|end-of-file|end-of-line|eobp|eolp|equal-including-properties|erase-buffer|error|error-conditions|error-message-string|esc-map|ESC-prefix|eval|eval-and-compile|eval-buffer|eval-current-buffer|eval-expression-debug-on-error|eval-expression-print-length|eval-expression-print-level|eval-minibuffer|eval-region|eval-when-compile|event-basic-type|event-click-count|event-convert-list|event-end|event-modifiers|event-start|eventp|ewoc-buffer|ewoc-collect|ewoc-create|ewoc-data|ewoc-delete|ewoc-enter-after|ewoc-enter-before|ewoc-enter-first|ewoc-enter-last|ewoc-filter|ewoc-get-hf|ewoc-goto-next|ewoc-goto-node|ewoc-goto-prev|ewoc-invalidate|ewoc-locate|ewoc-location|ewoc-map|ewoc-next|ewoc-nth|ewoc-prev|ewoc-refresh|ewoc-set-data|ewoc-set-hf|exec-directory|exec-path|exec-suffixes|executable-find|execute-extended-command|execute-kbd-macro|executing-kbd-macro|exit|exit-minibuffer|exit-recursive-edit|exp|expand-abbrev|expand-file-name|expt|extended-command-history|extra-keyboard-modifiers|face-all-attributes|face-attribute|face-attribute-relative-p|face-background|face-bold-p|face-differs-from-default-p|face-documentation|face-equal|face-font|face-font-family-alternatives|face-font-registry-alternatives|face-font-rescale-alist|face-font-selection-order|face-foreground|face-id|face-inverse-video-p|face-italic-p|face-list|face-name-history|face-remap-add-relative|face-remap-remove-relative|face-remap-reset-base|face-remap-set-base|face-remapping-alist|face-spec-set|face-stipple|face-underline-p|facemenu-keymap|facep|fboundp|fceiling|feature-unload-function|featurep|features|fetch-bytecode|ffloor|field-beginning|field-end|field-string|field-string-no-properties|file-accessible-directory-p|file-acl|file-already-exists|file-attributes|file-chase-links|file-coding-system-alist|file-directory-p|file-equal-p|file-error|file-executable-p|file-exists-p|file-expand-wildcards|file-extended-attributes|file-in-directory-p|file-local-copy|file-local-variables-alist|file-locked|file-locked-p|file-modes|file-modes-symbolic-to-number|file-name-absolute-p|file-name-all-completions|file-name-as-directory|file-name-base|file-name-coding-system|file-name-completion|file-name-directory|file-name-extension|file-name-handler-alist|file-name-history|file-name-nondirectory|file-name-sans-extension|file-name-sans-versions|file-newer-than-file-p|file-newest-backup|file-nlinks|file-notify-add-watch|file-notify-rm-watch|file-ownership-preserved-p|file-precious-flag|file-readable-p|file-regular-p|file-relative-name|file-remote-p|file-selinux-context|file-supersession|file-symlink-p|file-truename|file-writable-p|fill-column|fill-context-prefix|fill-forward-paragraph-function|fill-individual-paragraphs|fill-individual-varying-indent|fill-nobreak-predicate|fill-paragraph|fill-paragraph-function|fill-prefix|fill-region|fill-region-as-paragraph|fillarray|filter-buffer-substring|filter-buffer-substring-functions??|find-auto-coding|find-backup-file-name|find-buffer-visiting|find-charset-region|find-charset-string|find-coding-systems-for-charsets|find-coding-systems-region|find-coding-systems-string|find-file|find-file-hook|find-file-literally|find-file-name-handler|find-file-noselect|find-file-not-found-functions|find-file-other-window|find-file-read-only|find-file-wildcards|find-font|find-image|find-operation-coding-system|first-change-hook|fit-frame-to-buffer|fit-frame-to-buffer-margins|fit-frame-to-buffer-sizes|fit-window-to-buffer|fit-window-to-buffer-horizontally|fixup-whitespace|float|float-e|float-output-format|float-pi|float-time|floatp|floats-consed|floor|fmakunbound|focus-follows-mouse|focus-in-hook|focus-out-hook|following-char|font-at|font-face-attributes|font-family-list|font-get|font-lock-add-keywords|font-lock-beginning-of-syntax-function|font-lock-builtin-face|font-lock-comment-delimiter-face|font-lock-comment-face|font-lock-constant-face|font-lock-defaults|font-lock-doc-face|font-lock-extend-after-change-region-function|font-lock-extra-managed-props|font-lock-fontify-buffer-function|font-lock-fontify-region-function|font-lock-function-name-face|font-lock-keyword-face|font-lock-keywords|font-lock-keywords-case-fold-search|font-lock-keywords-only|font-lock-mark-block-function|font-lock-multiline|font-lock-negation-char-face|font-lock-preprocessor-face|font-lock-remove-keywords|font-lock-string-face|font-lock-syntactic-face-function|font-lock-syntax-table|font-lock-type-face|font-lock-unfontify-buffer-function|font-lock-unfontify-region-function|font-lock-variable-name-face|font-lock-warning-face|font-put|font-spec|font-xlfd-name|fontification-functions|fontp|for|force-mode-line-update|force-window-update|format|format-alist|format-find-file|format-insert-file|format-mode-line|format-network-address|format-seconds|format-time-string|format-write-file|forward-button|forward-char|forward-comment|forward-line|forward-list|forward-sexp|forward-to-indentation|forward-word|frame-alpha-lower-limit|frame-auto-hide-function|frame-char-height|frame-char-width|frame-current-scroll-bars|frame-first-window|frame-height|frame-inherited-parameters|frame-list|frame-live-p|frame-monitor-attributes|frame-parameters??|frame-pixel-height|frame-pixel-width|frame-pointer-visible-p|frame-resize-pixelwise|frame-root-window|frame-selected-window|frame-terminal|frame-title-format|frame-visible-p|frame-width|framep|frexp|fringe-bitmaps-at-pos|fringe-cursor-alist|fringe-indicator-alist|fringes-outside-margins|fround|fset|ftp-login|ftruncate|function-get|functionp|fundamental-mode|fundamental-mode-abbrev-table|gap-position|gap-size|garbage-collect|garbage-collection-messages|gc-cons-percentage|gc-cons-threshold|gc-elapsed|gcs-done|generate-autoload-cookie|generate-new-buffer|generate-new-buffer-name|generated-autoload-file|get|get-buffer|get-buffer-create|get-buffer-process|get-buffer-window|get-buffer-window-list|get-byte|get-char-code-property|get-char-property|get-char-property-and-overlay|get-charset-property|get-device-terminal|get-file-buffer|get-internal-run-time|get-largest-window|get-load-suffixes|get-lru-window|get-pos-property|get-process|get-register|get-text-property|get-unused-category|get-window-with-predicate|getenv|gethash|global-abbrev-table|global-buffers-menu-map|global-disable-point-adjustment|global-key-binding|global-map|global-mode-string|global-set-key|global-unset-key|glyph-char|glyph-face|glyph-table|glyphless-char-display|glyphless-char-display-control|goto-char|goto-map|group-gid|group-real-gid|gv-define-expander|gv-define-setter|gv-define-simple-setter|gv-letplace|hack-dir-local-variables|hack-dir-local-variables-non-file-buffer|hack-local-variables|hack-local-variables-hook|handle-shift-selection|handle-switch-frame|hash-table-count|hash-table-p|hash-table-rehash-size|hash-table-rehash-threshold|hash-table-size|hash-table-test|hash-table-weakness|header-line-format|help-buffer|help-char|help-command|help-event-list|help-form|help-map|help-setup-xref|help-window-select|Helper-describe-bindings|Helper-help|Helper-help-map|history-add-new-input|history-delete-duplicates|history-length)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(icon-title-format|iconify-frame|identity|ignore|ignore-errors|ignore-window-parameters|ignored-local-variables|image-animate|image-animate-timer|image-cache-eviction-delay|image-current-frame|image-default-frame-delay|image-flush|image-format-suffixes|image-load-path|image-load-path-for-library|image-mask-p|image-minimum-frame-delay|image-multi-frame-p|image-show-frame|image-size|image-type-available-p|image-types|imagemagick-enabled-types|imagemagick-types|imagemagick-types-inhibit|imenu-add-to-menubar|imenu-case-fold-search|imenu-create-index-function|imenu-extract-index-name-function|imenu-generic-expression|imenu-prev-index-position-function|imenu-syntax-alist|inc|indent-according-to-mode|indent-code-rigidly|indent-for-tab-command|indent-line-function|indent-region|indent-region-function|indent-relative|indent-relative-maybe|indent-rigidly|indent-tabs-mode|indent-to|indent-to-left-margin|indicate-buffer-boundaries|indicate-empty-lines|indirect-function|indirect-variable|inhibit-default-init|inhibit-eol-conversion|inhibit-field-text-motion|inhibit-file-name-handlers|inhibit-file-name-operation|inhibit-iso-escape-detection|inhibit-local-variables-regexps|inhibit-modification-hooks|inhibit-null-byte-detection|inhibit-point-motion-hooks|inhibit-quit|inhibit-read-only|inhibit-splash-screen|inhibit-startup-echo-area-message|inhibit-startup-message|inhibit-startup-screen|inhibit-x-resources|init-file-user|initial-buffer-choice|initial-environment|initial-frame-alist|initial-major-mode|initial-scratch-message|initial-window-system|input-decode-map|input-method-alist|input-method-function|input-pending-p|insert|insert-abbrev-table-description|insert-and-inherit|insert-before-markers|insert-before-markers-and-inherit|insert-buffer|insert-buffer-substring|insert-buffer-substring-as-yank|insert-buffer-substring-no-properties|insert-button|insert-char|insert-default-directory|insert-directory|insert-directory-program|insert-file-contents|insert-file-contents-literally|insert-for-yank|insert-image|insert-register|insert-sliced-image|insert-text-button|installation-directory|integer-or-marker-p|integerp|interactive-form|intern|intern-soft|interpreter-mode-alist|interprogram-cut-function|interprogram-paste-function|interrupt-process|intervals-consed|invalid-function|invalid-read-syntax|invalid-regexp|invert-face|invisible-p|invocation-directory|invocation-name|isnan|jit-lock-register|jit-lock-unregister|just-one-space|justify-current-line|kbd|kbd-macro-termination-hook|kept-new-versions|kept-old-versions|key-binding|key-description|key-translation-map|keyboard-coding-system|keyboard-quit|keyboard-translate|keyboard-translate-table|keymap-parent|keymap-prompt|keymapp|keywordp|kill-all-local-variables|kill-append|kill-buffer|kill-buffer-hook|kill-buffer-query-functions|kill-emacs|kill-emacs-hook|kill-emacs-query-functions|kill-local-variable|kill-new|kill-process|kill-read-only-ok|kill-region|kill-ring|kill-ring-max|kill-ring-yank-pointer|kmacro-keymap|last-abbrev|last-abbrev-location|last-abbrev-text|last-buffer|last-coding-system-used|last-command|last-command-event|last-event-frame|last-input-event|last-kbd-macro|last-nonmenu-event|last-prefix-arg|last-repeatable-command|lax-plist-get|lax-plist-put|lazy-completion-table|ldexp|left-fringe-width|left-margin|left-margin-width|lexical-binding|libxml-parse-html-region|libxml-parse-xml-region|line-beginning-position|line-end-position|line-move-ignore-invisible|line-number-at-pos|line-prefix|line-spacing|lisp-mode-abbrev-table|list-buffers-directory|list-charset-chars|list-fonts|list-load-path-shadows|list-processes|list-system-processes|listify-key-sequence|ln|load-average|load-file|load-file-name|load-file-rep-suffixes|load-history|load-in-progress|load-library|load-path|load-prefer-newer|load-read-function|load-suffixes|load-theme|local-abbrev-table|local-function-key-map|local-key-binding|local-set-key|local-unset-key|local-variable-if-set-p|local-variable-p|locale-coding-system|locale-info|locate-file|locate-library|locate-user-emacs-file|lock-buffer|log|logand|logb|logior|lognot|logxor|looking-at|looking-at-p|looking-back|lookup-key|lower-frame|lsh|lwarn|macroexpand|macroexpand-all|macrop|magic-fallback-mode-alist|magic-mode-alist|mail-host-address|major-mode|make-abbrev-table|make-auto-save-file-name|make-backup-file-name|make-backup-file-name-function|make-backup-files|make-bool-vector|make-button|make-byte-code|make-category-set|make-category-table|make-char-table|make-composed-keymap|make-directory|make-display-table|make-frame|make-frame-invisible|make-frame-on-display|make-frame-visible|make-glyph-code|make-hash-table|make-help-screen|make-indirect-buffer|make-keymap|make-local-variable|make-marker|make-network-process|make-obsolete|make-obsolete-variable|make-overlay|make-progress-reporter|make-ring|make-serial-process|make-sparse-keymap|make-string|make-symbol|make-symbolic-link|make-syntax-table|make-temp-file|make-temp-name|make-text-button|make-translation-table|make-translation-table-from-alist|make-translation-table-from-vector|make-variable-buffer-local|make-vector|makehash|makunbound|map-char-table|map-charset-chars|map-keymap|map-y-or-n-p|mapatoms|mapconcat|maphash|mark|mark-active|mark-even-if-inactive|mark-marker|mark-ring|mark-ring-max|marker-buffer|marker-insertion-type|marker-position|markerp|match-beginning|match-data|match-end|match-string|match-string-no-properties|match-substitute-replacement|max-char|max-image-size|max-lisp-eval-depth|max-mini-window-height|max-specpdl-size|maximize-window|md5|member-ignore-case|memory-full|memory-limit|memory-use-counts|memql??|menu-bar-file-menu|menu-bar-final-items|menu-bar-help-menu|menu-bar-options-menu|menu-bar-tools-menu|menu-bar-update-hook|menu-item|menu-prompt-more-char|merge-face-attribute|message|message-box|message-log-max|message-or-box|message-truncate-lines|messages-buffer|meta-prefix-char|minibuffer-allow-text-properties|minibuffer-auto-raise|minibuffer-complete|minibuffer-complete-and-exit|minibuffer-complete-word|minibuffer-completion-confirm|minibuffer-completion-help|minibuffer-completion-predicate|minibuffer-completion-table|minibuffer-confirm-exit-commands|minibuffer-contents|minibuffer-contents-no-properties|minibuffer-depth|minibuffer-exit-hook|minibuffer-frame-alist|minibuffer-help-form|minibuffer-history|minibuffer-inactive-mode|minibuffer-local-completion-map|minibuffer-local-filename-completion-map|minibuffer-local-map|minibuffer-local-must-match-map|minibuffer-local-ns-map|minibuffer-local-shell-command-map|minibuffer-message|minibuffer-message-timeout|minibuffer-prompt|minibuffer-prompt-end|minibuffer-prompt-width|minibuffer-scroll-window|minibuffer-selected-window|minibuffer-setup-hook|minibuffer-window|minibuffer-window-active-p|minibufferp|minimize-window|minor-mode-alist|minor-mode-key-binding|minor-mode-list|minor-mode-map-alist|minor-mode-overriding-map-alist|misc-objects-consed|mkdir|mod|mode-line-buffer-identification|mode-line-client|mode-line-coding-system-map|mode-line-column-line-number-mode-map|mode-line-format|mode-line-frame-identification|mode-line-input-method-map|mode-line-modes|mode-line-modified|mode-line-mule-info|mode-line-position|mode-line-process|mode-line-remote|mode-name|mode-specific-map|modify-all-frames-parameters|modify-category-entry|modify-frame-parameters|modify-syntax-entry|momentary-string-display|most-negative-fixnum|most-positive-fixnum|mouse-1-click-follows-link|mouse-appearance-menu-map|mouse-leave-buffer-hook|mouse-movement-p|mouse-on-link-p|mouse-pixel-position|mouse-position|mouse-position-function|mouse-wheel-down-event|mouse-wheel-up-event|move-marker|move-overlay|move-point-visually|move-to-column|move-to-left-margin|move-to-window-line|movemail|mule-keymap|multi-query-replace-map|multibyte-char-to-unibyte|multibyte-string-p|multibyte-syntax-as-symbol|multiple-frames|narrow-map|narrow-to-page|narrow-to-region|natnump|negative-argument|network-coding-system-alist|network-interface-info|network-interface-list|newline|newline-and-indent|next-button|next-char-property-change|next-complete-history-element|next-frame|next-history-element|next-matching-history-element|next-overlay-change|next-property-change|next-screen-context-lines|next-single-char-property-change|next-single-property-change|next-window|nlistp|no-byte-compile|no-catch|no-redraw-on-reenter|noninteractive|noreturn|normal-auto-fill-function|normal-backup-enable-predicate|normal-mode|not-modified|notifications-close-notification|notifications-get-capabilities|notifications-get-server-information|notifications-notify|num-input-keys|num-nonmacro-input-events|number-or-marker-p|number-sequence|number-to-string|numberp|obarray|one-window-p|only-global-abbrevs|open-dribble-file|open-network-stream|open-paren-in-column-0-is-defun-start|open-termscript|other-buffer|other-window|other-window-scroll-buffer|overflow-newline-into-fringe|overlay-arrow-position|overlay-arrow-string|overlay-arrow-variable-list|overlay-buffer|overlay-end|overlay-get|overlay-properties|overlay-put|overlay-recenter|overlay-start|overlayp|overlays-at|overlays-in|overriding-local-map|overriding-local-map-menu-flag|overriding-terminal-local-map|overwrite-mode|package-archive-upload-base|package-archives|package-initialize|package-upload-buffer|package-upload-file|page-delimiter|paragraph-separate|paragraph-start|parse-colon-path|parse-partial-sexp|parse-sexp-ignore-comments|parse-sexp-lookup-properties|path-separator|perform-replace|play-sound|play-sound-file|play-sound-functions|plist-get|plist-member|plist-put|point|point-marker|point-max|point-max-marker|point-min|point-min-marker|pop-mark|pop-to-buffer|pop-up-frame-alist|pop-up-frame-function|pop-up-frames|pop-up-windows|pos-visible-in-window-p|position-bytes|posix-looking-at|posix-search-backward|posix-search-forward|posix-string-match|posn-actual-col-row|posn-area|posn-at-point|posn-at-x-y|posn-col-row|posn-image|posn-object|posn-object-width-height|posn-object-x-y|posn-point|posn-string|posn-timestamp|posn-window|posn-x-y|posnp|post-command-hook|post-gc-hook|post-self-insert-hook|pp|pre-command-hook|pre-redisplay-function|preceding-char|prefix-arg|prefix-help-command|prefix-numeric-value|preloaded-file-list|prepare-change-group|previous-button|previous-char-property-change|previous-complete-history-element|previous-frame|previous-history-element|previous-matching-history-element|previous-overlay-change|previous-property-change|previous-single-char-property-change|previous-single-property-change|previous-window|primitive-undo|prin1-to-string|print-circle|print-continuous-numbering|print-escape-multibyte|print-escape-newlines|print-escape-nonascii|print-gensym|print-length|print-level|print-number-table|print-quoted|printable-chars|process-adaptive-read-buffering|process-attributes|process-buffer|process-coding-system|process-coding-system-alist|process-command|process-connection-type|process-contact|process-datagram-address|process-environment|process-exit-status|process-file|process-file-shell-command|process-file-side-effects|process-filter|process-get|process-id|process-kill-buffer-query-function|process-lines|process-list|process-live-p|process-mark|process-name|process-plist|process-put|process-query-on-exit-flag|process-running-child-p|process-send-eof|process-send-region|process-send-string|process-sentinel|process-status|process-tty-name|process-type|processp|prog-mode|prog-mode-hook|progress-reporter-done|progress-reporter-force-update|progress-reporter-update|propertize|provide|provide-theme|pure-bytes-used|purecopy|purify-flag|push-button|push-mark|put|put-char-code-property|put-charset-property|put-image|put-text-property|puthash|query-replace-history|query-replace-map|quietly-read-abbrev-file|quit-flag|quit-process|quit-restore-window|quit-window|raise-frame|random|rassq|rassq-delete-all|re-builder|re-search-backward|re-search-forward|read|read-buffer|read-buffer-completion-ignore-case|read-buffer-function|read-char|read-char-choice|read-char-exclusive|read-circle|read-coding-system|read-color|read-command|read-directory-name|read-event|read-expression-history|read-file-modes|read-file-name|read-file-name-completion-ignore-case|read-file-name-function|read-from-minibuffer|read-from-string|read-input-method-name|read-kbd-macro|read-key|read-key-sequence|read-key-sequence-vector|read-minibuffer|read-no-blanks-input|read-non-nil-coding-system|read-only-mode|read-passwd|read-quoted-char|read-regexp|read-regexp-defaults-function|read-shell-command|read-string|read-variable|real-last-command|recent-auto-save-p|recent-keys|recenter|recenter-positions|recenter-redisplay|recenter-top-bottom|recursion-depth|recursive-edit|redirect-frame-focus|redisplay|redraw-display|redraw-frame|regexp-history|regexp-opt|regexp-opt-charset|regexp-opt-depth|regexp-quote|region-beginning|region-end|register-alist|register-read-with-preview|reindent-then-newline-and-indent|remhash|remote-file-name-inhibit-cache|remove|remove-from-invisibility-spec|remove-function|remove-hook|remove-images|remove-list-of-text-properties|remove-overlays|remove-text-properties|remq|rename-auto-save-file|rename-buffer|rename-file|replace-buffer-in-windows|replace-match|replace-re-search-function|replace-regexp-in-string|replace-search-function|require|require-final-newline|restore-buffer-modified-p|resume-tty|resume-tty-functions|revert-buffer|revert-buffer-function|revert-buffer-in-progress-p|revert-buffer-insert-file-contents-function|revert-without-query|right-fringe-width|right-margin-width|ring-bell-function|ring-copy|ring-elements|ring-empty-p|ring-insert|ring-insert-at-beginning|ring-length|ring-p|ring-ref|ring-remove|ring-size|risky-local-variable-p|rm|round|run-at-time|run-hook-with-args|run-hook-with-args-until-failure|run-hook-with-args-until-success|run-hooks|run-mode-hooks|run-with-idle-timer)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(safe-local-eval-forms|safe-local-variable-p|safe-local-variable-values|same-window-buffer-names|same-window-p|same-window-regexps|save-abbrevs|save-buffer|save-buffer-coding-system|save-current-buffer|save-excursion|save-match-data|save-restriction|save-selected-window|save-some-buffers|save-window-excursion|scalable-fonts-allowed|scan-lists|scan-sexps|scroll-bar-event-ratio|scroll-bar-mode|scroll-bar-scale|scroll-bar-width|scroll-conservatively|scroll-down|scroll-down-aggressively|scroll-down-command|scroll-error-top-bottom|scroll-left|scroll-margin|scroll-other-window|scroll-preserve-screen-position|scroll-right|scroll-step|scroll-up|scroll-up-aggressively|scroll-up-command|search-backward|search-failed|search-forward|search-map|search-spaces-regexp|seconds-to-time|secure-hash|select-frame|select-frame-set-input-focus|select-safe-coding-system|select-safe-coding-system-accept-default-p|select-window|selected-frame|selected-window|selection-coding-system|selective-display|selective-display-ellipses|self-insert-and-exit|self-insert-command|send-string-to-terminal|sentence-end|sentence-end-double-space|sentence-end-without-period|sentence-end-without-space|sequencep|serial-process-configure|serial-term|set-advertised-calling-convention|set-auto-coding|set-auto-mode|set-buffer|set-buffer-auto-saved|set-buffer-major-mode|set-buffer-modified-p|set-buffer-multibyte|set-case-syntax|set-case-syntax-delims|set-case-syntax-pair|set-case-table|set-category-table|set-char-table-extra-slot|set-char-table-parent|set-char-table-range|set-charset-priority|set-coding-system-priority|set-default|set-default-file-modes|set-display-table-slot|set-face-attribute|set-face-background|set-face-bold|set-face-font|set-face-foreground|set-face-inverse-video|set-face-italic|set-face-stipple|set-face-underline|set-file-acl|set-file-extended-attributes|set-file-modes|set-file-selinux-context|set-file-times|set-fontset-font|set-frame-configuration|set-frame-height|set-frame-parameter|set-frame-position|set-frame-selected-window|set-frame-size|set-frame-width|set-fringe-bitmap-face|set-input-method|set-input-mode|set-keyboard-coding-system|set-keymap-parent|set-left-margin|set-mark|set-marker|set-marker-insertion-type|set-match-data|set-minibuffer-window|set-mouse-pixel-position|set-mouse-position|set-network-process-option|set-process-buffer|set-process-coding-system|set-process-datagram-address|set-process-filter|set-process-plist|set-process-query-on-exit-flag|set-process-sentinel|set-register|set-right-margin|set-standard-case-table|set-syntax-table|set-terminal-coding-system|set-terminal-parameter|set-text-properties|set-transient-map|set-visited-file-modtime|set-visited-file-name|set-window-buffer|set-window-combination-limit|set-window-configuration|set-window-dedicated-p|set-window-display-table|set-window-fringes|set-window-hscroll|set-window-margins|set-window-next-buffers|set-window-parameter|set-window-point|set-window-prev-buffers|set-window-scroll-bars|set-window-start|set-window-vscroll|setenv|setplist|setq-default|setq-local|shell-command-history|shell-command-to-string|shell-quote-argument|show-help-function|shr-insert-document|shrink-window-if-larger-than-buffer|signal|signal-process|sin|single-key-description|sit-for|site-run-file|skip-chars-backward|skip-chars-forward|skip-syntax-backward|skip-syntax-forward|sleep-for|small-temporary-file-directory|smie-bnf->prec2|smie-close-block|smie-config|smie-config-guess|smie-config-local|smie-config-save|smie-config-set-indent|smie-config-show-indent|smie-down-list|smie-merge-prec2s|smie-prec2->grammar|smie-precs->prec2|smie-rule-bolp|smie-rule-hanging-p|smie-rule-next-p|smie-rule-parent|smie-rule-parent-p|smie-rule-prev-p|smie-rule-separator|smie-rule-sibling-p|smie-setup|Snarf-documentation|sort|sort-columns|sort-fields|sort-fold-case|sort-lines|sort-numeric-base|sort-numeric-fields|sort-pages|sort-paragraphs|sort-regexp-fields|sort-subr|special-event-map|special-form-p|special-mode|special-variable-p|split-height-threshold|split-string|split-string-and-unquote|split-string-default-separators|split-width-threshold|split-window|split-window-below|split-window-keep-point|split-window-preferred-function|split-window-right|split-window-sensibly|sqrt|standard-case-table|standard-category-table|standard-display-table|standard-input|standard-output|standard-syntax-table|standard-translation-table-for-decode|standard-translation-table-for-encode|start-file-process|start-file-process-shell-command|start-process|start-process-shell-command|stop-process|store-match-data|store-substring|string|string-as-multibyte|string-as-unibyte|string-bytes|string-chars-consed|string-equal|string-lessp|string-match|string-match-p|string-or-null-p|string-prefix-p|string-suffix-p|string-to-char|string-to-int|string-to-multibyte|string-to-number|string-to-syntax|string-to-unibyte|string-width|string<|string=|stringp|strings-consed|subr-arity|subrp|subst-char-in-region|substitute-command-keys|substitute-in-file-name|substitute-key-definition|substring|substring-no-properties|suppress-keymap|suspend-emacs|suspend-frame|suspend-hook|suspend-resume-hook|suspend-tty|suspend-tty-functions|switch-to-buffer|switch-to-buffer-other-frame|switch-to-buffer-other-window|switch-to-buffer-preserve-window-point|switch-to-next-buffer|switch-to-prev-buffer|switch-to-visible-buffer|sxhash|symbol-file|symbol-function|symbol-name|symbol-plist|symbol-value|symbolp|symbols-consed|syntax-after|syntax-begin-function|syntax-class|syntax-ppss|syntax-ppss-flush-cache|syntax-ppss-toplevel-pos|syntax-propertize-extend-region-functions|syntax-propertize-function|syntax-table|syntax-table-p|system-configuration|system-groups|system-key-alist|system-messages-locale|system-name|system-time-locale|system-type|system-users|tab-always-indent|tab-stop-list|tab-to-tab-stop|tab-width|tabulated-list-entries|tabulated-list-format|tabulated-list-init-header|tabulated-list-mode|tabulated-list-print|tabulated-list-printer|tabulated-list-revert-hook|tabulated-list-sort-key|tan|temacs|temp-buffer-setup-hook|temp-buffer-show-function|temp-buffer-show-hook|temp-buffer-window-setup-hook|temp-buffer-window-show-hook|temporary-file-directory|term-file-prefix|terminal-coding-system|terminal-list|terminal-live-p|terminal-name|terminal-parameters??|terpri|test-completion|testcover-mark-all|testcover-next-mark|testcover-start|text-char-description|text-mode|text-mode-abbrev-table|text-properties-at|text-property-any|text-property-default-nonsticky|text-property-not-all|thing-at-point|this-command|this-command-keys|this-command-keys-shift-translated|this-command-keys-vector|this-original-command|three-step-help|time-add|time-less-p|time-subtract|time-to-day-in-year|time-to-days|timer-max-repeats|toggle-enable-multibyte-characters|tool-bar-add-item|tool-bar-add-item-from-menu|tool-bar-border|tool-bar-button-margin|tool-bar-button-relief|tool-bar-local-item-from-menu|tool-bar-map|top-level|tq-close|tq-create|tq-enqueue|track-mouse|transient-mark-mode|translate-region|translation-table-for-input|transpose-regions|truncate|truncate-lines|truncate-partial-width-windows|truncate-string-to-width|try-completion|tty-color-alist|tty-color-approximate|tty-color-clear|tty-color-define|tty-color-translate|tty-erase-char|tty-setup-hook|tty-top-frame|type-of|unbury-buffer|undefined|underline-minimum-offset|undo-ask-before-discard|undo-boundary|undo-in-progress|undo-limit|undo-outer-limit|undo-strong-limit|unhandled-file-name-directory|unibyte-char-to-multibyte|unibyte-string|unicode-category-table|unintern|universal-argument|universal-argument-map|unload-feature|unload-feature-special-hooks|unlock-buffer|unread-command-events|unsafep|up-list|upcase|upcase-initials|upcase-region|upcase-word|update-directory-autoloads|update-file-autoloads|use-empty-active-region|use-global-map|use-hard-newlines|use-local-map|use-region-p|user-emacs-directory|user-error|user-full-name|user-init-file|user-login-name|user-mail-address|user-real-login-name|user-real-uid|user-uid|values|vc-mode|vc-prefix-map|vconcat|vector|vector-cells-consed|vectorp|verify-visited-file-modtime|version-control|vertical-motion|vertical-scroll-bar|view-register|visible-bell|visible-frame-list|visited-file-modtime|void-function|void-text-area-pointer|waiting-for-user-input-p|walk-windows|warn|warning-fill-prefix|warning-levels|warning-minimum-level|warning-minimum-log-level|warning-prefix-function|warning-series|warning-suppress-log-types|warning-suppress-types|warning-type-format|where-is-internal|while-no-input|wholenump|widen|window-absolute-pixel-edges|window-at|window-body-height|window-body-size|window-body-width|window-bottom-divider-width|window-buffer|window-child|window-combination-limit|window-combination-resize|window-combined-p|window-configuration-change-hook|window-configuration-frame|window-configuration-p|window-current-scroll-bars|window-dedicated-p|window-display-table|window-edges|window-end|window-frame|window-fringes|window-full-height-p|window-full-width-p|window-header-line-height|window-hscroll|window-in-direction|window-inside-absolute-pixel-edges|window-inside-edges|window-inside-pixel-edges|window-left-child|window-left-column|window-line-height|window-list|window-live-p|window-margins|window-min-height|window-min-size|window-min-width|window-minibuffer-p|window-mode-line-height|window-next-buffers|window-next-sibling|window-parameters??|window-parent|window-persistent-parameters|window-pixel-edges|window-pixel-height|window-pixel-left|window-pixel-top|window-pixel-width|window-point|window-point-insertion-type|window-prev-buffers|window-prev-sibling|window-resizable|window-resize|window-resize-pixelwise|window-right-divider-width|window-scroll-bar-width|window-scroll-bars|window-scroll-functions|window-setup-hook|window-size-change-functions|window-size-fixed|window-start|window-state-get|window-state-put|window-system|window-system-initialization-alist|window-text-change-functions|window-text-pixel-size|window-top-child|window-top-line|window-total-height|window-total-size|window-total-width|window-tree|window-valid-p|window-vscroll|windowp|with-case-table|with-coding-priority|with-current-buffer|with-current-buffer-window|with-demoted-errors|with-eval-after-load|with-help-window|with-local-quit|with-no-warnings|with-output-to-string|with-output-to-temp-buffer|with-selected-window|with-syntax-table|with-temp-buffer|with-temp-buffer-window|with-temp-file|with-temp-message|with-timeout|word-search-backward|word-search-backward-lax|word-search-forward|word-search-forward-lax|word-search-regexp|words-include-escapes|wrap-prefix|write-abbrev-file|write-char|write-contents-functions|write-file|write-file-functions|write-region|write-region-annotate-functions|write-region-post-annotation-function|wrong-number-of-arguments|wrong-type-argument|x-alt-keysym|x-alternatives-map|x-bitmap-file-path|x-close-connection|x-color-defined-p|x-color-values|x-defined-colors|x-display-color-p|x-display-list|x-dnd-known-types|x-dnd-test-function|x-dnd-types-alist|x-family-fonts|x-get-resource|x-get-selection|x-hyper-keysym|x-list-fonts|x-meta-keysym|x-open-connection|x-parse-geometry|x-pointer-shape|x-popup-dialog|x-popup-menu|x-resource-class|x-resource-name|x-sensitive-text-pointer-shape|x-server-vendor|x-server-version|x-set-selection|x-setup-function-keys|x-super-keysym|y-or-n-p|y-or-n-p-with-timeout|yank|yank-excluded-properties|yank-handled-properties|yank-pop|yank-undo-function|yes-or-no-p|zerop|zlib-available-p|zlib-decompress-region)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:mocha--other-js2-imenu-function|mocha-command|mocha-debug-port|mocha-debuggers?|mocha-environment-variables|mocha-imenu-functions|mocha-options|mocha-project-test-directory|mocha-reporter|mocha-test-definition-nodes|mocha-which-node|node-error-regexp-alist|node-error-regexp)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.variable.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:define-modify-macro|define-setf-method|defsetf|eval-when-compile|flet|labels|lexical-let\\\\\\\\*?|cl-(?:acons|adjoin|assert|assoc|assoc-if|assoc-if-not|block|caddr|callf2??|case|ceiling|check-type|coerce|compiler-macroexpand|concatenate|copy-list|count|count-if|count-if-not|decf|declaim|declare|define-compiler-macro|defmacro|defstruct|defsubst|deftype|defun|delete|delete-duplicates|delete-if|delete-if-not|destructuring-bind|do\\\\\\\\*?|do-all-symbols|do-symbols|dolist|dotimes|ecase|endp|equalp|etypecase|eval-when|evenp|every|fill|find|find-if|find-if-not|first|flet|float-limits|floor|function|gcd|gensym|gentemp|getf?|incf|intersection|isqrt|labels|lcm|ldiff|letf\\\\\\\\*?|list\\\\\\\\*|list-length|load-time-value|locally|loop|macrolet|make-random-state|mapc??|mapcan|mapcar|mapcon|mapl|maplist|member|member-if|member-if-not|merge|minusp|mismatch|mod|multiple-value-bind|multiple-value-setq|nintersection|notany|notevery|nset-difference|nset-exclusive-or|nsublis|nsubst|nsubst-if|nsubst-if-not|nsubstitute|nsubstitute-if|nsubstitute-if-not|nunion|oddp|pairlis|plusp|position|position-if|position-if-not|prettyexpand|proclaim|progv|psetf|psetq|pushnew|random|random-state-p|rassoc|rassoc-if|rassoc-if-not|reduce|remf?|remove|remove-duplicates|remove-if|remove-if-not|remprop|replace|rest|return|return-from|rotatef|round|search|set-difference|set-exclusive-or|shiftf|some|sort|stable-sort|sublis|subseq|subsetp|subst|subst-if|subst-if-not|substitute|substitute-if|substitute-if-not|symbol-macrolet|tagbody|tailp|the|tree-equal|truncate|typecase|typep|union))(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.cl-lib.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:\\\\\\\\*table--cell-backward-kill-paragraph|\\\\\\\\*table--cell-backward-kill-sentence|\\\\\\\\*table--cell-backward-kill-sexp|\\\\\\\\*table--cell-backward-kill-word|\\\\\\\\*table--cell-backward-paragraph|\\\\\\\\*table--cell-backward-sentence|\\\\\\\\*table--cell-backward-word|\\\\\\\\*table--cell-beginning-of-buffer|\\\\\\\\*table--cell-beginning-of-line|\\\\\\\\*table--cell-center-line|\\\\\\\\*table--cell-center-paragraph|\\\\\\\\*table--cell-center-region|\\\\\\\\*table--cell-clipboard-yank|\\\\\\\\*table--cell-copy-region-as-kill|\\\\\\\\*table--cell-dabbrev-completion|\\\\\\\\*table--cell-dabbrev-expand|\\\\\\\\*table--cell-delete-backward-char|\\\\\\\\*table--cell-delete-char|\\\\\\\\*table--cell-delete-region|\\\\\\\\*table--cell-describe-bindings|\\\\\\\\*table--cell-describe-mode|\\\\\\\\*table--cell-end-of-buffer|\\\\\\\\*table--cell-end-of-line|\\\\\\\\*table--cell-fill-paragraph|\\\\\\\\*table--cell-forward-paragraph|\\\\\\\\*table--cell-forward-sentence|\\\\\\\\*table--cell-forward-word|\\\\\\\\*table--cell-insert|\\\\\\\\*table--cell-kill-line|\\\\\\\\*table--cell-kill-paragraph|\\\\\\\\*table--cell-kill-region|\\\\\\\\*table--cell-kill-ring-save|\\\\\\\\*table--cell-kill-sentence|\\\\\\\\*table--cell-kill-sexp|\\\\\\\\*table--cell-kill-word|\\\\\\\\*table--cell-move-beginning-of-line|\\\\\\\\*table--cell-move-end-of-line|\\\\\\\\*table--cell-newline-and-indent|\\\\\\\\*table--cell-newline|\\\\\\\\*table--cell-open-line|\\\\\\\\*table--cell-quoted-insert|\\\\\\\\*table--cell-self-insert-command|\\\\\\\\*table--cell-yank-clipboard-selection|\\\\\\\\*table--cell-yank|\\\\\\\\*table--present-cell-popup-menu|-cvs-create-fileinfo--cmacro|-cvs-create-fileinfo|-cvs-flags-make--cmacro|-cvs-flags-make|1\\\\\\\\+|1-|1value|2C-associate-buffer|2C-associated-buffer|2C-autoscroll|2C-command|2C-dissociate|2C-enlarge-window-horizontally|2C-merge|2C-mode|2C-newline|2C-other|2C-shrink-window-horizontally|2C-split|2C-toggle-autoscroll|2C-two-columns|5x5-bol|5x5-cell|5x5-copy-grid|5x5-crack-mutating-best|5x5-crack-mutating-current|5x5-crack-randomly|5x5-crack-xor-mutate|5x5-crack|5x5-defvar-local|5x5-down|5x5-draw-grid-end|5x5-draw-grid|5x5-eol|5x5-first|5x5-flip-cell|5x5-flip-current|5x5-grid-to-vec|5x5-grid-value|5x5-last|5x5-left|5x5-log-init|5x5-log|5x5-made-move|5x5-make-move|5x5-make-mutate-best|5x5-make-mutate-current|5x5-make-new-grid|5x5-make-random-grid|5x5-make-random-solution|5x5-make-xor-with-mutation|5x5-mode-menu|5x5-mode|5x5-mutate-solution|5x5-new-game|5x5-play-solution|5x5-position-cursor|5x5-quit-game|5x5-randomize|5x5-right|5x5-row-value|5x5-set-cell|5x5-solve-rotate-left|5x5-solve-rotate-right|5x5-solve-suggest|5x5-solver|5x5-up|5x5-vec-to-grid|5x5-xor|5x5-y-or-n-p|5x5|Buffer-menu--pretty-file-name|Buffer-menu--pretty-name|Buffer-menu--unmark|Buffer-menu-1-window|Buffer-menu-2-window|Buffer-menu-backup-unmark|Buffer-menu-beginning|Buffer-menu-buffer|Buffer-menu-bury|Buffer-menu-delete-backwards|Buffer-menu-delete|Buffer-menu-execute|Buffer-menu-info-node-description|Buffer-menu-isearch-buffers-regexp|Buffer-menu-isearch-buffers|Buffer-menu-mark|Buffer-menu-marked-buffers|Buffer-menu-mode|Buffer-menu-mouse-select|Buffer-menu-multi-occur|Buffer-menu-no-header|Buffer-menu-not-modified|Buffer-menu-other-window|Buffer-menu-save|Buffer-menu-select|Buffer-menu-sort|Buffer-menu-switch-other-window|Buffer-menu-this-window|Buffer-menu-toggle-files-only|Buffer-menu-toggle-read-only|Buffer-menu-unmark|Buffer-menu-view-other-window|Buffer-menu-view|Buffer-menu-visit-tags-table|Control-X-prefix|Custom-buffer-done|Custom-goto-parent|Custom-help|Custom-mode-menu|Custom-mode|Custom-newline|Custom-no-edit|Custom-reset-current|Custom-reset-saved|Custom-reset-standard|Custom-save|Custom-set|Electric-buffer-menu-exit|Electric-buffer-menu-mode-view-buffer|Electric-buffer-menu-mode|Electric-buffer-menu-mouse-select|Electric-buffer-menu-quit|Electric-buffer-menu-select|Electric-buffer-menu-undefined|Electric-command-history-redo-expression|Electric-command-loop|Electric-pop-up-window|Footnote-add-footnote|Footnote-assoc-index|Footnote-back-to-message|Footnote-current-regexp|Footnote-cycle-style|Footnote-delete-footnote|Footnote-english-lower|Footnote-english-upper|Footnote-goto-char-point-max|Footnote-goto-footnote|Footnote-index-to-string|Footnote-insert-footnote|Footnote-insert-numbered-footnote|Footnote-insert-pointer-marker|Footnote-insert-text-marker|Footnote-latin|Footnote-make-hole|Footnote-narrow-to-footnotes|Footnote-numeric|Footnote-refresh-footnotes|Footnote-renumber-footnotes|Footnote-renumber|Footnote-roman-common|Footnote-roman-lower|Footnote-roman-upper|Footnote-set-style|Footnote-sort|Footnote-style-p|Footnote-text-under-cursor|Footnote-under-cursor|Footnote-unicode|Info--search-loop|Info-apropos-find-file|Info-apropos-find-node|Info-apropos-matches|Info-apropos-toc-nodes|Info-backward-node|Info-bookmark-jump|Info-bookmark-make-record|Info-breadcrumbs|Info-build-node-completions-1|Info-build-node-completions|Info-cease-edit|Info-check-pointer|Info-clone-buffer|Info-complete-menu-item|Info-copy-current-node-name|Info-default-dirs|Info-desktop-buffer-misc-data|Info-dir-remove-duplicates|Info-directory-find-file|Info-directory-find-node|Info-directory-toc-nodes|Info-directory|Info-display-images-node|Info-edit-mode|Info-edit|Info-exit|Info-extract-menu-counting|Info-extract-menu-item|Info-extract-menu-node-name|Info-extract-pointer|Info-file-supports-index-cookies|Info-final-node|Info-find-emacs-command-nodes|Info-find-file|Info-find-in-tag-table-1|Info-find-in-tag-table|Info-find-index-name|Info-find-node-2|Info-find-node-in-buffer-1|Info-find-node-in-buffer|Info-find-node|Info-finder-find-file|Info-finder-find-node|Info-follow-nearest-node|Info-follow-reference|Info-following-node-name-re|Info-following-node-name|Info-fontify-node|Info-forward-node|Info-get-token|Info-goto-emacs-command-node|Info-goto-emacs-key-command-node|Info-goto-index|Info-goto-node|Info-help|Info-hide-cookies-node|Info-history-back|Info-history-find-file|Info-history-find-node|Info-history-forward|Info-history-toc-nodes|Info-history|Info-index-next|Info-index-nodes??|Info-index|Info-insert-dir|Info-install-speedbar-variables|Info-isearch-end|Info-isearch-filter|Info-isearch-pop-state|Info-isearch-push-state|Info-isearch-search|Info-isearch-start|Info-isearch-wrap|Info-kill-buffer|Info-last-menu-item|Info-last-preorder|Info-last|Info-menu-update|Info-menu|Info-mode-menu|Info-mode|Info-mouse-follow-link|Info-mouse-follow-nearest-node|Info-mouse-scroll-down|Info-mouse-scroll-up|Info-next-menu-item|Info-next-preorder|Info-next-reference-or-link|Info-next-reference|Info-next|Info-no-error|Info-node-at-bob-matching|Info-nth-menu-item|Info-on-current-buffer|Info-prev-reference-or-link|Info-prev-reference|Info-prev|Info-read-node-name-1|Info-read-node-name-2|Info-read-node-name|Info-read-subfile|Info-restore-desktop-buffer|Info-restore-point|Info-revert-buffer-function|Info-revert-find-node|Info-scroll-down|Info-scroll-up|Info-search-backward|Info-search-case-sensitively|Info-search-next|Info-search|Info-select-node|Info-set-mode-line|Info-speedbar-browser|Info-speedbar-buttons|Info-speedbar-expand-node|Info-speedbar-fetch-file-nodes|Info-speedbar-goto-node|Info-speedbar-hierarchy-buttons|Info-split-parameter-string|Info-split|Info-summary|Info-tagify|Info-toc-build|Info-toc-find-node|Info-toc-insert|Info-toc-nodes|Info-toc|Info-top-node|Info-try-follow-nearest-node|Info-undefined|Info-unescape-quotes|Info-up|Info-validate-node-name|Info-validate-tags-table|Info-validate|Info-virtual-call|Info-virtual-file-p|Info-virtual-fun|Info-virtual-index-find-node|Info-virtual-index|LaTeX-mode|Man-bgproc-filter|Man-bgproc-sentinel|Man-bookmark-jump|Man-bookmark-make-record|Man-build-man-command|Man-build-page-list|Man-build-references-alist|Man-build-section-alist|Man-cleanup-manpage|Man-completion-table|Man-default-bookmark-title|Man-default-man-entry|Man-find-section|Man-follow-manual-reference|Man-fontify-manpage|Man-getpage-in-background|Man-goto-page|Man-goto-section|Man-goto-see-also-section|Man-highlight-references0??|Man-init-defvars|Man-kill|Man-make-page-mode-string|Man-mode|Man-next-manpage|Man-next-section|Man-notify-when-ready|Man-page-from-arguments|Man-parse-man-k|Man-possibly-hyphenated-word|Man-previous-manpage|Man-previous-section|Man-quit|Man-softhyphen-to-minus|Man-start-calling|Man-strip-page-headers|Man-support-local-filenames|Man-translate-cleanup|Man-translate-references|Man-unindent|Man-update-manpage|Man-view-header-file|Man-xref-button-action|Math-anglep|Math-bignum-test|Math-equal-int|Math-equal|Math-integer-negp??|Math-integer-posp|Math-integerp|Math-lessp|Math-looks-negp|Math-messy-integerp|Math-natnum-lessp|Math-natnump|Math-negp|Math-num-integerp|Math-numberp|Math-objectp|Math-objvecp|Math-posp|Math-primp|Math-ratp|Math-realp|Math-scalarp|Math-vectorp|Math-zerop|TeX-mode|View-back-to-mark|View-exit-and-edit|View-exit|View-goto-line|View-goto-percent|View-kill-and-leave|View-leave|View-quit-all|View-quit|View-revert-buffer-scroll-page-forward|View-scroll-half-page-backward|View-scroll-half-page-forward|View-scroll-line-backward|View-scroll-line-forward|View-scroll-page-backward-set-page-size|View-scroll-page-backward|View-scroll-page-forward-set-page-size|View-scroll-page-forward|View-scroll-to-buffer-end|View-search-last-regexp-backward|View-search-last-regexp-forward|View-search-regexp-backward|View-search-regexp-forward|WoMan-find-buffer|WoMan-getpage-in-background|WoMan-log-1|WoMan-log-begin|WoMan-log-end|WoMan-log|WoMan-next-manpage|WoMan-previous-manpage|WoMan-warn-ignored|WoMan-warn|abbrev--active-tables|abbrev--before-point|abbrev--check-chars|abbrev--default-expand|abbrev--describe|abbrev--symbol|abbrev--write|abbrev-edit-save-buffer|abbrev-edit-save-to-file|abbrev-mode|abbrev-table-empty-p|abbrev-table-menu|abbrev-table-name|abort-if-file-too-large|about-emacs|accelerate-menu|accept-completion|acons|activate-input-method|activate-mark|activate-mode-local-bindings|ad--defalias-fset|ad--make-advised-docstring|ad-Advice-c-backward-sws|ad-Advice-c-beginning-of-macro|ad-Advice-c-forward-sws|ad-Advice-save-place-find-file-hook|ad-access-argument|ad-activate-advised-definition|ad-activate-all|ad-activate-internal|ad-activate-on|ad-activate-regexp|ad-activate|ad-add-advice|ad-advice-definition|ad-advice-enabled|ad-advice-name|ad-advice-p|ad-advice-position|ad-advice-protected|ad-advice-set-enabled|ad-advised-arglist|ad-advised-interactive-form|ad-arg-binding-field|ad-arglist|ad-assemble-advised-definition|ad-body-forms|ad-cache-id-verification-code|ad-class-p|ad-clear-advicefunname-definition|ad-clear-cache|ad-compile-function|ad-compiled-code|ad-compiled-p|ad-copy-advice-info|ad-deactivate-all|ad-deactivate-regexp|ad-deactivate|ad-definition-type|ad-disable-advice|ad-disable-regexp|ad-do-advised-functions|ad-docstring|ad-element-access|ad-enable-advice-internal|ad-enable-advice|ad-enable-regexp-internal|ad-enable-regexp|ad-find-advice|ad-find-some-advice|ad-get-advice-info-field|ad-get-advice-info-macro|ad-get-advice-info|ad-get-arguments??|ad-get-cache-class-id|ad-get-cache-definition|ad-get-cache-id|ad-get-enabled-advices|ad-get-orig-definition|ad-has-any-advice|ad-has-enabled-advice|ad-has-proper-definition|ad-has-redefining-advice|ad-initialize-advice-info|ad-insert-argument-access-forms|ad-interactive-form|ad-is-active|ad-is-advised|ad-is-compilable|ad-lambda-expression|ad-lambda-p|ad-lambdafy|ad-list-access|ad-macrofy|ad-make-advice|ad-make-advicefunname|ad-make-advised-definition|ad-make-cache-id|ad-make-hook-form|ad-make-single-advice-docstring|ad-map-arglists|ad-name-p|ad-parse-arglist|ad-pop-advised-function|ad-position-p|ad-preactivate-advice|ad-pushnew-advised-function|ad-read-advice-class|ad-read-advice-name|ad-read-advice-specification|ad-read-advised-function|ad-read-regexp|ad-real-definition|ad-real-orig-definition|ad-recover-all|ad-recover-normality|ad-recover|ad-remove-advice|ad-retrieve-args-form|ad-set-advice-info-field|ad-set-advice-info|ad-set-arguments??|ad-set-cache|ad-should-compile|ad-substitute-tree|ad-unadvise-all|ad-unadvise|ad-update-all|ad-update-regexp|ad-update|ad-verify-cache-class-id|ad-verify-cache-id|ad-with-originals|ada-activate-keys-for-case|ada-add-extensions|ada-adjust-case-buffer|ada-adjust-case-identifier|ada-adjust-case-interactive|ada-adjust-case-region|ada-adjust-case-skeleton|ada-adjust-case-substring|ada-adjust-case|ada-after-keyword-p|ada-array|ada-batch-reformat|ada-call-from-contextual-menu|ada-capitalize-word|ada-case-read-exceptions-from-file)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)a(?:da-case-read-exceptions|da-case|da-change-prj|da-check-current|da-check-defun-name|da-check-matching-start|da-compile-application|da-compile-current|da-compile-goto-error|da-compile-mouse-goto-error|da-complete-identifier|da-contextual-menu|da-create-case-exception-substring|da-create-case-exception|da-create-keymap|da-create-menu|da-customize|da-declare-block|da-else|da-elsif|da-exception-block|da-exception|da-exit|da-ff-other-window|da-fill-comment-paragraph-justify|da-fill-comment-paragraph-postfix|da-fill-comment-paragraph|da-find-any-references|da-find-file|da-find-local-references|da-find-references|da-find-src-file-in-dir|da-for-loop|da-format-paramlist|da-function-spec|da-gdb-application|da-gen-treat-proc|da-get-body-name|da-get-current-indent|da-get-indent-block-label|da-get-indent-block-start|da-get-indent-case|da-get-indent-end|da-get-indent-goto-label|da-get-indent-if|da-get-indent-loop|da-get-indent-nochange|da-get-indent-noindent|da-get-indent-open-paren|da-get-indent-paramlist|da-get-indent-subprog|da-get-indent-type|da-get-indent-when|da-gnat-style|da-goto-decl-start|da-goto-declaration-other-frame|da-goto-declaration|da-goto-matching-end|da-goto-matching-start|da-goto-next-non-ws|da-goto-next-word|da-goto-parent|da-goto-previous-word|da-goto-stmt-end|da-goto-stmt-start|da-header|da-if|da-in-comment-p|da-in-decl-p|da-in-numeric-literal-p|da-in-open-paren-p|da-in-paramlist-p|da-in-string-or-comment-p|da-in-string-p|da-indent-current-function|da-indent-current|da-indent-newline-indent-conditional|da-indent-newline-indent|da-indent-on-previous-lines|da-indent-region|da-insert-paramlist|da-justified-indent-current|da-looking-at-semi-or|da-looking-at-semi-private|da-loop|da-loose-case-word|da-make-body-gnatstub|da-make-body|da-make-filename-from-adaname|da-make-subprogram-body|da-mode-menu|da-mode-version|da-mode|da-move-to-end|da-move-to-start|da-narrow-to-defun|da-next-package|da-next-procedure|da-no-auto-case|da-other-file-name|da-outline-level|da-package-body|da-package-spec|da-point-and-xref|da-popup-menu|da-previous-package|da-previous-procedure|da-private|da-prj-edit|da-prj-new|da-prj-save|da-procedure-spec|da-record|da-region-selected|da-remove-trailing-spaces|da-reread-prj-file|da-run-application|da-save-exceptions-to-file|da-scan-paramlist|da-search-ignore-complex-boolean|da-search-ignore-string-comment|da-search-prev-end-stmt|da-set-default-project-file|da-set-main-compile-application|da-set-point-accordingly|da-show-current-main|da-subprogram-body|da-subtype|da-tab-hard|da-tab|da-tabsize|da-task-body|da-task-spec|da-type|da-uncomment-region|da-untab-hard|da-untab|da-use|da-when|da-which-function-are-we-in|da-which-function|da-while-loop|da-with|da-xref-goto-previous-reference|dd-abbrev|dd-change-log-entry-other-window|dd-change-log-entry|dd-completion-to-head|dd-completion-to-tail-if-new|dd-completion|dd-completions-from-buffer|dd-completions-from-c-buffer|dd-completions-from-file|dd-completions-from-lisp-buffer|dd-completions-from-tags-table|dd-dir-local-variable|dd-file-local-variable-prop-line|dd-file-local-variable|dd-global-abbrev|dd-log-current-defun|dd-log-edit-next-comment|dd-log-edit-prev-comment|dd-log-file-name|dd-log-iso8601-time-string|dd-log-iso8601-time-zone|dd-log-tcl-defun|dd-minor-mode|dd-mode-abbrev|dd-new-page|dd-permanent-completion|dd-submenu|dd-timeout|dd-to-coding-system-list|dd-to-list--anon-cmacro|ddbib|djoin|dvertised-undo|dvertised-widget-backward|dvertised-xscheme-send-previous-expression|dvice--add-function|dvice--buffer-local|dvice--called-interactively-skip|dvice--car|dvice--cd\\\\\\\\*r|dvice--cdr|dvice--defalias-fset|dvice--interactive-form|dvice--make-1|dvice--make-docstring|dvice--make-interactive-form|dvice--make|dvice--member-p|dvice--normalize-place|dvice--normalize|dvice--p|dvice--props|dvice--remove-function|dvice--set-buffer-local|dvice--strip-macro|dvice--subst-main|dvice--symbol-function|dvice--tweak|fter-insert-file-set-coding|lign--set-marker|lign-adjust-col-for-rule|lign-areas|lign-column|lign-current|lign-entire|lign-highlight-rule|lign-match-tex-pattern|lign-new-section-p|lign-newline-and-indent|lign-regexp|lign-regions??|lign-set-vhdl-rules|lign-unhighlight-rule|lign|list-get|llout-aberrant-container-p|llout-add-resumptions|llout-adjust-file-variable|llout-after-saves-handler|llout-annotate-hidden|llout-ascend-to-depth|llout-ascend|llout-auto-activation-helper|llout-auto-fill|llout-back-to-current-heading|llout-back-to-heading|llout-back-to-visible-text|llout-backward-current-level|llout-before-change-handler|llout-beginning-of-current-entry|llout-beginning-of-current-line|llout-beginning-of-level|llout-beginning-of-line|llout-body-modification-handler|llout-bullet-for-depth|llout-bullet-isearch|llout-called-interactively-p|llout-chart-exposure-contour-by-icon|llout-chart-siblings|llout-chart-subtree|llout-chart-to-reveal|llout-compose-and-institute-keymap|llout-copy-exposed-to-buffer|llout-copy-line-as-kill|llout-copy-topic-as-kill|llout-current-bullet-pos|llout-current-bullet|llout-current-decorated-p|llout-current-depth|llout-current-topic-collapsed-p|llout-deannotate-hidden|llout-decorate-item-and-context|llout-decorate-item-body|llout-decorate-item-cue|llout-decorate-item-guides|llout-decorate-item-icon|llout-decorate-item-span|llout-depth|llout-descend-to-depth|llout-distinctive-bullet|llout-do-doublecheck|llout-do-resumptions|llout-e-o-prefix-p|llout-elapsed-time-seconds|llout-encrypt-decrypted|llout-encrypt-string|llout-encrypted-topic-p|llout-encrypted-type-prefix|llout-end-of-current-heading|llout-end-of-current-line|llout-end-of-current-subtree|llout-end-of-entry|llout-end-of-heading|llout-end-of-level|llout-end-of-line|llout-end-of-prefix|llout-end-of-subtree|llout-expose-topic|llout-fetch-icon-image|llout-file-vars-section-data|llout-find-file-hook|llout-find-image|llout-flag-current-subtree|llout-flag-region|llout-flatten-exposed-to-buffer|llout-flatten|llout-format-quote|llout-forward-current-level|llout-frame-property|llout-get-body-text|llout-get-bullet|llout-get-configvar-values|llout-get-current-prefix|llout-get-invisibility-overlay|llout-get-item-widget|llout-get-or-create-item-widget|llout-get-or-create-parent-widget|llout-get-prefix-bullet|llout-goto-prefix-doublechecked|llout-goto-prefix|llout-graphics-modification-handler|llout-hidden-p|llout-hide-bodies|llout-hide-by-annotation|llout-hide-current-entry|llout-hide-current-leaves|llout-hide-current-subtree|llout-hide-region-body|llout-hotspot-key-handler|llout-indented-exposed-to-buffer|llout-infer-body-reindent|llout-infer-header-lead-and-primary-bullet|llout-infer-header-lead|llout-inhibit-auto-save-info-for-decryption|llout-init|llout-insert-latex-header|llout-insert-latex-trailer|llout-insert-listified|llout-institute-keymap|llout-isearch-end-handler|llout-item-actual-position|llout-item-element-span-is|llout-item-icon-key-handler|llout-item-location|llout-item-span|llout-kill-line|llout-kill-topic|llout-latex-verb-quote|llout-latex-verbatim-quote-curr-line|llout-latexify-exposed|llout-latexify-one-item|llout-lead-with-comment-string|llout-listify-exposed|llout-make-topic-prefix|llout-mark-active-p|llout-mark-marker|llout-mark-topic|llout-maybe-resume-auto-save-info-after-encryption|llout-minor-mode|llout-mode-map|llout-mode-p|llout-mode|llout-new-exposure|llout-new-item-widget|llout-next-heading|llout-next-sibling-leap|llout-next-sibling|llout-next-single-char-property-change|llout-next-topic-pending-encryption|llout-next-visible-heading|llout-number-siblings|llout-numbered-type-prefix|llout-old-expose-topic|llout-on-current-heading-p|llout-on-heading-p|llout-open-sibtopic|llout-open-subtopic|llout-open-supertopic|llout-open-topic|llout-overlay-insert-in-front-handler|llout-overlay-interior-modification-handler|llout-overlay-preparations|llout-parse-item-at-point|llout-post-command-business|llout-pre-command-business|llout-pre-next-prefix|llout-prefix-data|llout-previous-heading|llout-previous-sibling|llout-previous-single-char-property-change|llout-previous-visible-heading|llout-process-exposed|llout-range-overlaps|llout-rebullet-current-heading|llout-rebullet-heading|llout-rebullet-topic-grunt|llout-rebullet-topic|llout-recent-bullet|llout-recent-depth|llout-recent-prefix|llout-redecorate-item|llout-redecorate-visible-subtree|llout-region-active-p|llout-reindent-body|llout-renumber-to-depth|llout-reset-header-lead|llout-resolve-xref|llout-run-unit-tests|llout-select-safe-coding-system|llout-set-boundary-marker|llout-setup-menubar|llout-setup-text-properties|llout-setup|llout-shift-in|llout-shift-out|llout-show-all|llout-show-children|llout-show-current-branches|llout-show-current-entry|llout-show-current-subtree|llout-show-entry|llout-show-to-offshoot|llout-sibling-index|llout-snug-back|llout-solicit-alternate-bullet|llout-stringify-flat-index-indented|llout-stringify-flat-index-plain|llout-stringify-flat-index|llout-substring-no-properties|llout-test-range-overlaps|llout-test-resumptions|llout-tests-obliterate-variable|llout-this-or-next-heading|llout-toggle-current-subtree-encryption|llout-toggle-current-subtree-exposure|llout-toggle-subtree-encryption|llout-topic-flat-index|llout-unload-function|llout-unprotected|llout-up-current-level|llout-version|llout-widgetize-buffer|llout-widgets-additions-processor|llout-widgets-additions-recorder|llout-widgets-adjusting-message|llout-widgets-after-change-handler|llout-widgets-after-copy-or-kill-function|llout-widgets-after-undo-function|llout-widgets-before-change-handler|llout-widgets-changes-dispatcher|llout-widgets-copy-list|llout-widgets-count-buttons-in-region|llout-widgets-deletions-processor|llout-widgets-deletions-recorder|llout-widgets-exposure-change-processor|llout-widgets-exposure-change-recorder|llout-widgets-exposure-undo-processor|llout-widgets-exposure-undo-recorder|llout-widgets-hook-error-handler|llout-widgets-mode-disable|llout-widgets-mode-enable|llout-widgets-mode-off|llout-widgets-mode-on|llout-widgets-mode|llout-widgets-post-command-business|llout-widgets-pre-command-business|llout-widgets-prepopulate-buffer|llout-widgets-run-unit-tests|llout-widgets-setup|llout-widgets-shifts-processor|llout-widgets-shifts-recorder|llout-widgets-tally-string|llout-widgets-undecorate-item|llout-widgets-undecorate-region|llout-widgets-undecorate-text|llout-widgets-version|llout-write-contents-hook-handler|llout-yank-pop|llout-yank-processing|llout-yank|lter-text-property|nge-ftp-abbreviate-filename|nge-ftp-add-bs2000-host|nge-ftp-add-bs2000-posix-host|nge-ftp-add-cms-host|nge-ftp-add-dl-dir|nge-ftp-add-dumb-unix-host|nge-ftp-add-file-entry|nge-ftp-add-mts-host|nge-ftp-add-vms-host|nge-ftp-allow-child-lookup|nge-ftp-barf-if-not-directory|nge-ftp-barf-or-query-if-file-exists|nge-ftp-binary-file|nge-ftp-bs2000-cd-to-posix|nge-ftp-bs2000-host|nge-ftp-bs2000-posix-host|nge-ftp-call-chmod|nge-ftp-call-cont|nge-ftp-canonize-filename|nge-ftp-cd|nge-ftp-cf1|nge-ftp-cf2|nge-ftp-chase-symlinks|nge-ftp-cms-host|nge-ftp-cms-make-compressed-filename|nge-ftp-completion-hook-function|nge-ftp-compress|nge-ftp-copy-file-internal|nge-ftp-copy-file|nge-ftp-copy-files-async|nge-ftp-del-tmp-name|nge-ftp-delete-directory|nge-ftp-delete-file-entry|nge-ftp-delete-file|nge-ftp-directory-file-name|nge-ftp-directory-files-and-attributes|nge-ftp-directory-files|nge-ftp-dired-compress-file|nge-ftp-dired-uncache|nge-ftp-dl-parser|nge-ftp-dumb-unix-host|nge-ftp-error|nge-ftp-expand-dir|nge-ftp-expand-file-name|nge-ftp-expand-symlink|nge-ftp-file-attributes|nge-ftp-file-directory-p|nge-ftp-file-entry-not-ignored-p|nge-ftp-file-entry-p|nge-ftp-file-executable-p|nge-ftp-file-exists-p|nge-ftp-file-local-copy|nge-ftp-file-modtime|nge-ftp-file-name-all-completions|nge-ftp-file-name-as-directory|nge-ftp-file-name-completion-1|nge-ftp-file-name-completion|nge-ftp-file-name-directory|nge-ftp-file-name-nondirectory|nge-ftp-file-name-sans-versions)(?=[()\\\\\\\\s]|$)\\\"},{\\\"match\\\":\\\"(?<=[()]|^)a(?:nge-ftp-file-newer-than-file-p|nge-ftp-file-readable-p|nge-ftp-file-remote-p|nge-ftp-file-size|nge-ftp-file-symlink-p|nge-ftp-file-writable-p|nge-ftp-find-backup-file-name|nge-ftp-fix-dir-name-for-bs2000|nge-ftp-fix-dir-name-for-cms|nge-ftp-fix-dir-name-for-mts|nge-ftp-fix-dir-name-for-vms|nge-ftp-fix-name-for-bs2000|nge-ftp-fix-name-for-cms|nge-ftp-fix-name-for-mts|nge-ftp-fix-name-for-vms|nge-ftp-ftp-name-component|nge-ftp-ftp-name|nge-ftp-ftp-process-buffer|nge-ftp-generate-passwd-key|nge-ftp-generate-root-prefixes|nge-ftp-get-account|nge-ftp-get-file-entry|nge-ftp-get-file-part|nge-ftp-get-files|nge-ftp-get-host-with-passwd|nge-ftp-get-passwd|nge-ftp-get-process|nge-ftp-get-pwd|nge-ftp-get-user|nge-ftp-guess-hash-mark-size|nge-ftp-guess-host-type|nge-ftp-gwp-filter|nge-ftp-gwp-sentinel|nge-ftp-gwp-start|nge-ftp-hash-entry-exists-p|nge-ftp-hash-table-keys|nge-ftp-hook-function|nge-ftp-host-type|nge-ftp-ignore-errors-if-non-essential|nge-ftp-insert-directory|nge-ftp-insert-file-contents|nge-ftp-internal-add-file-entry|nge-ftp-internal-delete-file-entry|nge-ftp-kill-ftp-process|nge-ftp-load|nge-ftp-lookup-passwd|nge-ftp-ls-parser|nge-ftp-ls|nge-ftp-make-directory|nge-ftp-make-tmp-name|nge-ftp-message|nge-ftp-mts-host|nge-ftp-normal-login|nge-ftp-nslookup-host|nge-ftp-parse-bs2000-filename|nge-ftp-parse-bs2000-listing|nge-ftp-parse-cms-listing|nge-ftp-parse-dired-listing|nge-ftp-parse-filename|nge-ftp-parse-mts-listing|nge-ftp-parse-netrc-group|nge-ftp-parse-netrc-token|nge-ftp-parse-netrc|nge-ftp-parse-vms-filename|nge-ftp-parse-vms-listing|nge-ftp-passive-mode|nge-ftp-process-file|nge-ftp-process-filter|nge-ftp-process-handle-hash|nge-ftp-process-handle-line|nge-ftp-process-sentinel|nge-ftp-quote-string|nge-ftp-raw-send-cmd|nge-ftp-re-read-dir|nge-ftp-real-backup-buffer|nge-ftp-real-copy-file|nge-ftp-real-delete-directory|nge-ftp-real-delete-file|nge-ftp-real-directory-file-name|nge-ftp-real-directory-files-and-attributes|nge-ftp-real-directory-files|nge-ftp-real-expand-file-name|nge-ftp-real-file-attributes|nge-ftp-real-file-directory-p|nge-ftp-real-file-executable-p|nge-ftp-real-file-exists-p|nge-ftp-real-file-name-all-completions|nge-ftp-real-file-name-as-directory|nge-ftp-real-file-name-completion|nge-ftp-real-file-name-directory|nge-ftp-real-file-name-nondirectory|nge-ftp-real-file-name-sans-versions|nge-ftp-real-file-newer-than-file-p|nge-ftp-real-file-readable-p|nge-ftp-real-file-symlink-p|nge-ftp-real-file-writable-p|nge-ftp-real-find-backup-file-name|nge-ftp-real-insert-directory|nge-ftp-real-insert-file-contents|nge-ftp-real-load|nge-ftp-real-make-directory|nge-ftp-real-rename-file|nge-ftp-real-shell-command|nge-ftp-real-verify-visited-file-modtime|nge-ftp-real-write-region|nge-ftp-rename-file|nge-ftp-rename-local-to-remote|nge-ftp-rename-remote-to-local|nge-ftp-rename-remote-to-remote|nge-ftp-repaint-minibuffer|nge-ftp-replace-name-component|nge-ftp-reread-dir|nge-ftp-root-dir-p|nge-ftp-run-real-handler-orig|nge-ftp-run-real-handler|nge-ftp-send-cmd|nge-ftp-set-account|nge-ftp-set-ascii-mode|nge-ftp-set-binary-mode|nge-ftp-set-buffer-mode|nge-ftp-set-file-modes|nge-ftp-set-files|nge-ftp-set-passwd|nge-ftp-set-user|nge-ftp-set-xfer-size|nge-ftp-shell-command|nge-ftp-smart-login|nge-ftp-start-process|nge-ftp-switches-ok|nge-ftp-uncompress|nge-ftp-unhandled-file-name-directory|nge-ftp-use-gateway-p|nge-ftp-use-smart-gateway-p|nge-ftp-verify-visited-file-modtime|nge-ftp-vms-add-file-entry|nge-ftp-vms-delete-file-entry|nge-ftp-vms-file-name-as-directory|nge-ftp-vms-host|nge-ftp-vms-make-compressed-filename|nge-ftp-vms-sans-version|nge-ftp-wait-not-busy|nge-ftp-wipe-file-entries|nge-ftp-write-region|nimate-birthday-present|nimate-initialize|nimate-place-char|nimate-sequence|nimate-step|nimate-string|nother-calc|nsi-color--find-face|nsi-color-apply-on-region|nsi-color-apply-overlay-face|nsi-color-apply-sequence|nsi-color-apply|nsi-color-filter-apply|nsi-color-filter-region|nsi-color-for-comint-mode-filter|nsi-color-for-comint-mode-off|nsi-color-for-comint-mode-on|nsi-color-freeze-overlay|nsi-color-get-face-1|nsi-color-make-color-map|nsi-color-make-extent|nsi-color-make-face|nsi-color-map-update|nsi-color-parse-sequence|nsi-color-process-output|nsi-color-set-extent-face|nsi-color-unfontify-region|nsi-term|ntlr-beginning-of-body|ntlr-beginning-of-rule|ntlr-c\\\\\\\\+\\\\\\\\+-mode-extra|ntlr-c-forward-sws|ntlr-c-init-language-vars|ntlr-default-directory|ntlr-directory-dependencies|ntlr-downcase-literals|ntlr-electric-character|ntlr-end-of-body|ntlr-end-of-rule|ntlr-file-dependencies|ntlr-font-lock-keywords|ntlr-grammar-tokens|ntlr-hide-actions|ntlr-imenu-create-index-function|ntlr-indent-command|ntlr-indent-line|ntlr-insert-makefile-rules|ntlr-insert-option-area|ntlr-insert-option-do|ntlr-insert-option-existing|ntlr-insert-option-interactive|ntlr-insert-option-space|ntlr-insert-option|ntlr-inside-rule-p|ntlr-invalidate-context-cache|ntlr-language-option-extra|ntlr-language-option|ntlr-makefile-insert-variable|ntlr-mode-menu|ntlr-mode|ntlr-next-rule|ntlr-option-kind|ntlr-option-level|ntlr-option-location|ntlr-option-spec|ntlr-options-menu-filter|ntlr-outside-rule-p|ntlr-re-search-forward|ntlr-read-boolean|ntlr-read-shell-command|ntlr-read-value|ntlr-run-tool-interactive|ntlr-run-tool|ntlr-search-backward|ntlr-search-forward|ntlr-set-tabs|ntlr-show-makefile-rules|ntlr-skip-exception-part|ntlr-skip-file-prelude|ntlr-skip-sexps|ntlr-superclasses-glibs|ntlr-syntactic-context|ntlr-syntactic-grammar-depth|ntlr-upcase-literals|ntlr-upcase-p|ntlr-version-string|ntlr-with-displaying-help-buffer|ntlr-with-syntax-table|ppend-next-kill|ppend-to-buffer|ppend-to-register|pply-macro-to-region-lines|pply-on-rectangle|ppt-activate|ppt-add|propos-command|propos-documentation-property|propos-documentation|propos-internal|propos-library|propos-read-pattern|propos-user-option|propos-value|propos-variable|rchive-\\\\\\\\*-expunge|rchive-\\\\\\\\*-extract|rchive-\\\\\\\\*-write-file-member|rchive-7z-extract|rchive-7z-summarize|rchive-7z-write-file-member|rchive-add-new-member|rchive-alternate-display|rchive-ar-extract|rchive-ar-summarize|rchive-arc-rename-entry|rchive-arc-summarize|rchive-calc-mode|rchive-chgrp-entry|rchive-chmod-entry|rchive-chown-entry|rchive-delete-local|rchive-desummarize|rchive-display-other-window|rchive-dosdate|rchive-dostime|rchive-expunge|rchive-extract-by-file|rchive-extract-by-stdout|rchive-extract-other-window|rchive-extract|rchive-file-name-handler|rchive-find-type|rchive-flag-deleted|rchive-get-descr|rchive-get-lineno|rchive-get-marked|rchive-int-to-mode|rchive-l-e|rchive-lzh-chgrp-entry|rchive-lzh-chmod-entry|rchive-lzh-chown-entry|rchive-lzh-exe-extract|rchive-lzh-exe-summarize|rchive-lzh-extract|rchive-lzh-ogm|rchive-lzh-rename-entry|rchive-lzh-resum|rchive-lzh-summarize|rchive-mark|rchive-maybe-copy|rchive-maybe-update|rchive-mode-revert|rchive-mode|rchive-mouse-extract|rchive-name|rchive-next-line|rchive-previous-line|rchive-rar-exe-extract|rchive-rar-exe-summarize|rchive-rar-extract|rchive-rar-summarize|rchive-rename-entry|rchive-resummarize|rchive-set-buffer-as-visiting-file|rchive-summarize-files|rchive-summarize|rchive-try-jka-compr|rchive-undo|rchive-unflag-backwards|rchive-unflag|rchive-unique-fname|rchive-unixdate|rchive-unixtime|rchive-unmark-all-files|rchive-view|rchive-write-file-member|rchive-write-file|rchive-zip-chmod-entry|rchive-zip-extract|rchive-zip-summarize|rchive-zip-write-file-member|rchive-zoo-extract|rchive-zoo-summarize|rp|rray-backward-column|rray-beginning-of-field|rray-copy-backward|rray-copy-column-backward|rray-copy-column-forward|rray-copy-down|rray-copy-forward|rray-copy-once-horizontally|rray-copy-once-vertically|rray-copy-row-down|rray-copy-row-up|rray-copy-to-cell|rray-copy-to-column|rray-copy-to-row|rray-copy-up|rray-current-column|rray-current-row|rray-cursor-in-array-range|rray-display-local-variables|rray-end-of-field|rray-expand-rows|rray-field-string|rray-fill-rectangle|rray-forward-column|rray-goto-cell|rray-make-template|rray-maybe-scroll-horizontally|rray-mode|rray-move-one-column|rray-move-one-row|rray-move-to-cell|rray-move-to-column|rray-move-to-row|rray-next-row|rray-normalize-cursor|rray-previous-row|rray-reconfigure-rows|rray-update-array-position|rray-update-buffer-position|rray-what-position|rtist-2point-get-endpoint1|rtist-2point-get-endpoint2|rtist-2point-get-shapeinfo|rtist-arrow-point-get-direction|rtist-arrow-point-get-marker|rtist-arrow-point-get-orig-char|rtist-arrow-point-get-state|rtist-arrow-point-set-state|rtist-arrows|rtist-backward-char|rtist-calculate-new-chars??|rtist-charlist-to-string|rtist-clear-arrow-points|rtist-clear-buffer|rtist-compute-key-compl-table|rtist-compute-line-char|rtist-compute-popup-menu-table-sub|rtist-compute-popup-menu-table|rtist-compute-up-event-key|rtist-coord-add-new-char|rtist-coord-add-saved-char|rtist-coord-get-new-char|rtist-coord-get-saved-char|rtist-coord-get-x|rtist-coord-get-y|rtist-coord-set-new-char|rtist-coord-set-x|rtist-coord-set-y|rtist-coord-win-to-buf|rtist-copy-generic|rtist-copy-rect|rtist-copy-square|rtist-current-column|rtist-current-line|rtist-cut-rect|rtist-cut-square|rtist-direction-char|rtist-direction-step-x|rtist-direction-step-y|rtist-do-nothing|rtist-down-mouse-1|rtist-down-mouse-3|rtist-draw-circle|rtist-draw-ellipse-general|rtist-draw-ellipse-with-0-height|rtist-draw-ellipse|rtist-draw-line|rtist-draw-rect|rtist-draw-region-reset|rtist-draw-region-trim-line-endings|rtist-draw-sline|rtist-draw-square|rtist-eight-point|rtist-ellipse-compute-fill-info|rtist-ellipse-fill-info-add-center|rtist-ellipse-generate-quadrant|rtist-ellipse-mirror-quadrant|rtist-ellipse-point-list-add-center|rtist-ellipse-remove-0-fills|rtist-endpoint-get-x|rtist-endpoint-get-y|rtist-erase-char|rtist-erase-rect|rtist-event-is-shifted|rtist-fc-get-fn-from-symbol|rtist-fc-get-fn|rtist-fc-get-keyword|rtist-fc-get-symbol|rtist-fc-retrieve-from-symbol-sub|rtist-fc-retrieve-from-symbol|rtist-ff-get-rightmost-from-xy|rtist-ff-is-bottommost-line|rtist-ff-is-topmost-line|rtist-ff-too-far-right|rtist-figlet-choose-font|rtist-figlet-get-extra-args|rtist-figlet-get-font-list|rtist-figlet-run|rtist-figlet|rtist-file-to-string|rtist-fill-circle|rtist-fill-ellipse|rtist-fill-item-get-width|rtist-fill-item-get-x|rtist-fill-item-get-y|rtist-fill-item-set-width|rtist-fill-item-set-x|rtist-fill-item-set-y|rtist-fill-rect|rtist-fill-square|rtist-find-direction|rtist-find-octant|rtist-flood-fill|rtist-forward-char|rtist-funcall|rtist-get-buffer-contents-at-xy|rtist-get-char-at-xy-conv|rtist-get-char-at-xy|rtist-get-dfdx-init-coeff|rtist-get-dfdy-init-coeff|rtist-get-first-non-nil-op|rtist-get-last-non-nil-op|rtist-get-replacement-char|rtist-get-x-step-q<0|rtist-get-x-step-q>=0|rtist-get-y-step-q<0|rtist-get-y-step-q>=0|rtist-go-get-arrow-pred-from-symbol|rtist-go-get-arrow-pred|rtist-go-get-arrow-set-fn-from-symbol|rtist-go-get-arrow-set-fn|rtist-go-get-desc|rtist-go-get-draw-fn-from-symbol|rtist-go-get-draw-fn|rtist-go-get-draw-how-from-symbol|rtist-go-get-draw-how|rtist-go-get-exit-fn-from-symbol|rtist-go-get-exit-fn|rtist-go-get-fill-fn-from-symbol|rtist-go-get-fill-fn|rtist-go-get-fill-pred-from-symbol|rtist-go-get-fill-pred|rtist-go-get-init-fn-from-symbol|rtist-go-get-init-fn|rtist-go-get-interval-fn-from-symbol|rtist-go-get-interval-fn|rtist-go-get-keyword-from-symbol|rtist-go-get-keyword|rtist-go-get-mode-line-from-symbol|rtist-go-get-mode-line|rtist-go-get-prep-fill-fn-from-symbol|rtist-go-get-prep-fill-fn|rtist-go-get-shifted|rtist-go-get-symbol-shift-sub|rtist-go-get-symbol-shift|rtist-go-get-symbol|rtist-go-get-undraw-fn-from-symbol|rtist-go-get-undraw-fn|rtist-go-get-unshifted|rtist-go-retrieve-from-symbol-sub|rtist-go-retrieve-from-symbol|rtist-intersection-char|rtist-is-in-op-list-p|rtist-key-do-continously-1point|rtist-key-do-continously-2points|rtist-key-do-continously-common)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:artist-key-do-continously-continously|artist-key-do-continously-poly|artist-key-draw-1point|artist-key-draw-2points|artist-key-draw-common|artist-key-draw-continously|artist-key-draw-poly|artist-key-set-point-1point|artist-key-set-point-2points|artist-key-set-point-common|artist-key-set-point-continously|artist-key-set-point-poly|artist-key-set-point|artist-key-undraw-1point|artist-key-undraw-2points|artist-key-undraw-common|artist-key-undraw-continously|artist-key-undraw-poly|artist-make-2point-object|artist-make-arrow-point|artist-make-endpoint|artist-make-prev-next-op-alist|artist-mn-get-items|artist-mn-get-title|artist-mode-exit|artist-mode-init|artist-mode-line-show-curr-operation|artist-mode-off|artist-mode|artist-modify-new-chars|artist-mouse-choose-operation|artist-mouse-draw-1point|artist-mouse-draw-2points|artist-mouse-draw-continously|artist-mouse-draw-poly|artist-move-to-xy|artist-mt-get-info-part|artist-mt-get-symbol-from-keyword-sub|artist-mt-get-symbol-from-keyword|artist-mt-get-tag|artist-new-coord|artist-new-fill-item|artist-next-line|artist-nil|artist-no-arrows|artist-no-rb-set-point1|artist-no-rb-set-point2|artist-no-rb-unset-point1|artist-no-rb-unset-point2|artist-no-rb-unset-points|artist-paste|artist-pen-line|artist-pen-reset-last-xy|artist-pen-set-arrow-points|artist-pen|artist-previous-line|artist-put-pixel|artist-rect-corners-squarify|artist-replace-chars??|artist-replace-string|artist-save-chars-under-point-list|artist-save-chars-under-sline|artist-select-erase-char|artist-select-fill-char|artist-select-line-char|artist-select-next-op-in-list|artist-select-op-circle|artist-select-op-copy-rectangle|artist-select-op-copy-square|artist-select-op-cut-rectangle|artist-select-op-cut-square|artist-select-op-ellipse|artist-select-op-erase-char|artist-select-op-erase-rectangle|artist-select-op-flood-fill|artist-select-op-line|artist-select-op-paste|artist-select-op-pen-line|artist-select-op-poly-line|artist-select-op-rectangle|artist-select-op-spray-can|artist-select-op-spray-set-size|artist-select-op-square|artist-select-op-straight-line|artist-select-op-straight-poly-line|artist-select-op-text-overwrite|artist-select-op-text-see-thru|artist-select-op-vaporize-lines??|artist-select-operation|artist-select-prev-op-in-list|artist-select-spray-chars|artist-set-arrow-points-for-2points|artist-set-arrow-points-for-poly|artist-set-pointer-shape|artist-shift-has-changed|artist-sline|artist-spray-clear-circle|artist-spray-get-interval|artist-spray-random-points|artist-spray-set-radius|artist-spray|artist-straight-calculate-length|artist-string-split|artist-string-to-charlist|artist-string-to-file|artist-submit-bug-report|artist-system|artist-t-if-fill-char-set|artist-t|artist-text-insert-common|artist-text-insert-overwrite|artist-text-insert-see-thru|artist-text-overwrite|artist-text-see-thru|artist-toggle-borderless-shapes|artist-toggle-first-arrow|artist-toggle-rubber-banding|artist-toggle-second-arrow|artist-toggle-trim-line-endings|artist-undraw-circle|artist-undraw-ellipse|artist-undraw-line|artist-undraw-rect|artist-undraw-sline|artist-undraw-square|artist-unintersection-char|artist-uniq|artist-update-display|artist-update-pointer-shape|artist-vap-find-endpoint|artist-vap-find-endpoints-horiz|artist-vap-find-endpoints-nwse|artist-vap-find-endpoints-swne|artist-vap-find-endpoints-vert|artist-vap-find-endpoints|artist-vap-group-in-pairs|artist-vaporize-by-endpoints|artist-vaporize-lines??|asm-calculate-indentation|asm-colon|asm-comment|asm-indent-line|asm-mode|asm-newline|assert|assoc\\\\\\\\*|assoc-if-not|assoc-if|assoc-ignore-case|assoc-ignore-representation|async-shell-command|atomic-change-group|auth-source--aget|auth-source--aput-1|auth-source--aput|auth-source-backend-child-p|auth-source-backend-list-p|auth-source-backend-p|auth-source-backend-parse-parameters|auth-source-backend-parse|auth-source-backend|auth-source-current-line|auth-source-delete|auth-source-do-debug|auth-source-do-trivia|auth-source-do-warn|auth-source-ensure-strings|auth-source-epa-extract-gpg-token|auth-source-epa-make-gpg-token|auth-source-forget\\\\\\\\+|auth-source-forget-all-cached|auth-source-forget|auth-source-format-cache-entry|auth-source-format-prompt|auth-source-macos-keychain-create|auth-source-macos-keychain-result-append|auth-source-macos-keychain-search-items|auth-source-macos-keychain-search|auth-source-netrc-create|auth-source-netrc-element-or-first|auth-source-netrc-normalize|auth-source-netrc-parse-entries|auth-source-netrc-parse-next-interesting|auth-source-netrc-parse-one|auth-source-netrc-parse|auth-source-netrc-saver|auth-source-netrc-search|auth-source-pick-first-password|auth-source-plstore-create|auth-source-plstore-search|auth-source-read-char-choice|auth-source-recall|auth-source-remember|auth-source-remembered-p|auth-source-search-backends|auth-source-search-collection|auth-source-search|auth-source-secrets-create|auth-source-secrets-listify-pattern|auth-source-secrets-search|auth-source-specmatchp|auth-source-token-passphrase-callback-function|auth-source-user-and-password|auth-source-user-or-password|auto-coding-alist-lookup|auto-coding-regexp-alist-lookup|auto-compose-chars|auto-composition-mode|auto-compression-mode|auto-encryption-mode|auto-fill-mode|auto-image-file-mode|auto-insert-mode|auto-insert|auto-lower-mode|auto-raise-mode|auto-revert-active-p|auto-revert-buffers|auto-revert-handler|auto-revert-mode|auto-revert-notify-add-watch|auto-revert-notify-handler|auto-revert-notify-rm-watch|auto-revert-set-timer|auto-revert-tail-handler|auto-revert-tail-mode|autoarg-kp-digit-argument|autoarg-kp-mode|autoarg-mode|autoarg-terminate|autoconf-current-defun-function|autoconf-mode|autodoc-font-lock-keywords|autodoc-font-lock-line-markup|autoload-coding-system|autoload-rubric|avl-tree--check-node|avl-tree--check|avl-tree--cmpfun--cmacro|avl-tree--cmpfun|avl-tree--create--cmacro|avl-tree--create|avl-tree--del-balance|avl-tree--dir-to-sign|avl-tree--do-copy|avl-tree--do-del-internal|avl-tree--do-delete|avl-tree--do-enter|avl-tree--dummyroot--cmacro|avl-tree--dummyroot|avl-tree--enter-balance|avl-tree--mapc|avl-tree--node-balance--cmacro|avl-tree--node-balance|avl-tree--node-branch|avl-tree--node-create--cmacro|avl-tree--node-create|avl-tree--node-data--cmacro|avl-tree--node-data|avl-tree--node-left--cmacro|avl-tree--node-left|avl-tree--node-right--cmacro|avl-tree--node-right|avl-tree--root|avl-tree--sign-to-dir|avl-tree--stack-create|avl-tree--stack-p--cmacro|avl-tree--stack-p|avl-tree--stack-repopulate|avl-tree--stack-reverse--cmacro|avl-tree--stack-reverse|avl-tree--stack-store--cmacro|avl-tree--stack-store|avl-tree--switch-dir|avl-tree-clear|avl-tree-compare-function|avl-tree-copy|avl-tree-create|avl-tree-delete|avl-tree-empty|avl-tree-enter|avl-tree-first|avl-tree-flatten|avl-tree-last|avl-tree-mapc??|avl-tree-mapcar|avl-tree-mapf|avl-tree-member-p|avl-tree-member|avl-tree-p--cmacro|avl-tree-p|avl-tree-size|avl-tree-stack-empty-p|avl-tree-stack-first|avl-tree-stack-p|avl-tree-stack-pop|avl-tree-stack|awk-mode|babel-as-string|background-color-at-point|backquote-delay-process|backquote-list\\\\\\\\*-function|backquote-list\\\\\\\\*-macro|backquote-list\\\\\\\\*|backquote-listify|backquote-process|backquote|backtrace--locals|backtrace-eval|backup-buffer-copy|backup-extract-version|backward-delete-char|backward-ifdef|backward-kill-paragraph|backward-kill-sentence|backward-kill-sexp|backward-kill-word|backward-page|backward-paragraph|backward-sentence|backward-text-line|backward-up-list|bad-package-check|balance-windows-1|balance-windows-2|balance-windows-area-adjust|basic-save-buffer-1|basic-save-buffer-2|basic-save-buffer|bat-cmd-help|bat-mode|bat-run-args|bat-run|bat-template|batch-byte-compile-file|batch-byte-compile-if-not-done|batch-byte-recompile-directory|batch-info-validate|batch-texinfo-format|batch-titdic-convert|batch-unrmail|batch-update-autoloads|battery-bsd-apm|battery-format|battery-linux-proc-acpi|battery-linux-proc-apm|battery-linux-sysfs|battery-pmset|battery-search-for-one-match-in-files|battery-update-handler|battery-update|battery|bb-bol|bb-done|bb-down|bb-eol|bb-goto|bb-init-board|bb-insert-board|bb-left|bb-outside-box|bb-place-ball|bb-right|bb-romp|bb-show-bogus-balls-2|bb-show-bogus-balls|bb-trace-ray-2|bb-trace-ray|bb-up|bb-update-board|beginning-of-buffer-other-window|beginning-of-defun-raw|beginning-of-icon-defun|beginning-of-line-text|beginning-of-sexp|beginning-of-thing|beginning-of-visual-line|benchmark-elapse|benchmark-run-compiled|benchmark-run|benchmark|bib-capitalize-title-region|bib-capitalize-title|bib-find-key|bib-mode|bibtex-Article|bibtex-Book|bibtex-BookInBook|bibtex-Booklet|bibtex-Collection|bibtex-InBook|bibtex-InCollection|bibtex-InProceedings|bibtex-InReference|bibtex-MVBook|bibtex-MVCollection|bibtex-MVProceedings|bibtex-MVReference|bibtex-Manual|bibtex-MastersThesis|bibtex-Misc|bibtex-Online|bibtex-Patent|bibtex-Periodical|bibtex-PhdThesis|bibtex-Preamble|bibtex-Proceedings|bibtex-Reference|bibtex-Report|bibtex-String|bibtex-SuppBook|bibtex-SuppCollection|bibtex-SuppPeriodical|bibtex-TechReport|bibtex-Thesis|bibtex-Unpublished|bibtex-autofill-entry|bibtex-autokey-abbrev|bibtex-autokey-demangle-name|bibtex-autokey-demangle-title|bibtex-autokey-get-field|bibtex-autokey-get-names|bibtex-autokey-get-title|bibtex-autokey-get-year|bibtex-beginning-first-field|bibtex-beginning-of-entry|bibtex-beginning-of-field|bibtex-beginning-of-first-entry|bibtex-button-action|bibtex-button|bibtex-clean-entry|bibtex-complete-crossref-cleanup|bibtex-complete-string-cleanup|bibtex-complete|bibtex-completion-at-point-function|bibtex-convert-alien|bibtex-copy-entry-as-kill|bibtex-copy-field-as-kill|bibtex-copy-summary-as-kill|bibtex-count-entries|bibtex-current-line|bibtex-delete-whitespace|bibtex-display-entries|bibtex-dist|bibtex-edit-menu|bibtex-empty-field|bibtex-enclosing-field|bibtex-end-of-entry|bibtex-end-of-field|bibtex-end-of-name-in-field|bibtex-end-of-string|bibtex-end-of-text-in-field|bibtex-end-of-text-in-string|bibtex-entry-alist|bibtex-entry-index|bibtex-entry-left-delimiter|bibtex-entry-right-delimiter|bibtex-entry-update|bibtex-entry|bibtex-field-left-delimiter|bibtex-field-list|bibtex-field-re-init|bibtex-field-right-delimiter|bibtex-fill-entry|bibtex-fill-field-bounds|bibtex-fill-field|bibtex-find-crossref|bibtex-find-entry|bibtex-find-text-internal|bibtex-find-text|bibtex-flash-head|bibtex-font-lock-cite|bibtex-font-lock-crossref|bibtex-font-lock-url|bibtex-format-entry|bibtex-generate-autokey|bibtex-global-key-alist|bibtex-goto-line|bibtex-init-sort-entry-class-alist|bibtex-initialize|bibtex-insert-kill|bibtex-ispell-abstract|bibtex-ispell-entry|bibtex-key-in-head|bibtex-kill-entry|bibtex-kill-field|bibtex-lessp|bibtex-make-field|bibtex-make-optional-field|bibtex-map-entries|bibtex-mark-entry|bibtex-mode|bibtex-move-outside-of-entry|bibtex-name-in-field|bibtex-narrow-to-entry|bibtex-next-field|bibtex-parse-association|bibtex-parse-buffers-stealthily|bibtex-parse-entry|bibtex-parse-field-name|bibtex-parse-field-string|bibtex-parse-field-text|bibtex-parse-field|bibtex-parse-keys|bibtex-parse-preamble|bibtex-parse-string-postfix|bibtex-parse-string-prefix|bibtex-parse-strings??|bibtex-pop-next|bibtex-pop-previous|bibtex-pop|bibtex-prepare-new-entry|bibtex-print-help-message|bibtex-progress-message|bibtex-read-key|bibtex-read-string-key|bibtex-realign|bibtex-reference-key-in-string|bibtex-reformat|bibtex-remove-OPT-or-ALT|bibtex-remove-delimiters|bibtex-reposition-window|bibtex-search-backward-field|bibtex-search-crossref|bibtex-search-entries|bibtex-search-entry|bibtex-search-forward-field|bibtex-search-forward-string|bibtex-set-dialect|bibtex-skip-to-valid-entry|bibtex-sort-buffer|bibtex-start-of-field|bibtex-start-of-name-in-field|bibtex-start-of-text-in-field|bibtex-start-of-text-in-string|bibtex-string-files-init|bibtex-string=|bibtex-strings|bibtex-style-calculate-indentation|bibtex-style-indent-line|bibtex-style-mode|bibtex-summary|bibtex-text-in-field-bounds|bibtex-text-in-field|bibtex-text-in-string|bibtex-type-in-head|bibtex-url|bibtex-valid-entry|bibtex-validate-globally|bibtex-validate|bibtex-vec-incr|bibtex-vec-push|bibtex-yank-pop|bibtex-yank|bidi-find-overridden-directionality)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)b(?:idi-resolved-levels|inary-overwrite-mode|indat--length-group|indat--pack-group|indat--pack-item|indat--pack-u16r??|indat--pack-u24r??|indat--pack-u32r??|indat--pack-u8|indat--unpack-group|indat--unpack-item|indat--unpack-u16r??|indat--unpack-u24r??|indat--unpack-u32r??|indat--unpack-u8|indat-format-vector|indat-vector-to-dec|indat-vector-to-hex|indings--define-key|inhex-char-int|inhex-char-map|inhex-decode-region-external|inhex-decode-region-internal|inhex-decode-region|inhex-header|inhex-insert-char|inhex-push-char|inhex-string-big-endian|inhex-string-little-endian|inhex-update-crc|inhex-verify-crc|lackbox-mode|lackbox-redefine-key|lackbox|link-cursor-check|link-cursor-end|link-cursor-mode|link-cursor-start|link-cursor-suspend|link-cursor-timer-function|link-matching-check-mismatch|link-paren-post-self-insert-function|lock|ookmark--jump-via|ookmark-alist-from-buffer|ookmark-all-names|ookmark-bmenu-1-window|ookmark-bmenu-2-window|ookmark-bmenu-any-marks|ookmark-bmenu-backup-unmark|ookmark-bmenu-bookmark|ookmark-bmenu-delete-backwards|ookmark-bmenu-delete|ookmark-bmenu-edit-annotation|ookmark-bmenu-ensure-position|ookmark-bmenu-execute-deletions|ookmark-bmenu-filter-alist-by-regexp|ookmark-bmenu-goto-bookmark|ookmark-bmenu-hide-filenames|ookmark-bmenu-list|ookmark-bmenu-load|ookmark-bmenu-locate|ookmark-bmenu-mark|ookmark-bmenu-mode|ookmark-bmenu-other-window-with-mouse|ookmark-bmenu-other-window|ookmark-bmenu-relocate|ookmark-bmenu-rename|ookmark-bmenu-save|ookmark-bmenu-search|ookmark-bmenu-select|ookmark-bmenu-set-header|ookmark-bmenu-show-all-annotations|ookmark-bmenu-show-annotation|ookmark-bmenu-show-filenames|ookmark-bmenu-surreptitiously-rebuild-list|ookmark-bmenu-switch-other-window|ookmark-bmenu-this-window|ookmark-bmenu-toggle-filenames|ookmark-bmenu-unmark|ookmark-buffer-file-name|ookmark-buffer-name|ookmark-completing-read|ookmark-default-annotation-text|ookmark-default-handler|ookmark-delete|ookmark-edit-annotation-mode|ookmark-edit-annotation|ookmark-exit-hook-internal|ookmark-get-annotation|ookmark-get-bookmark-record|ookmark-get-bookmark|ookmark-get-filename|ookmark-get-front-context-string|ookmark-get-handler|ookmark-get-position|ookmark-get-rear-context-string|ookmark-grok-file-format-version|ookmark-handle-bookmark|ookmark-import-new-list|ookmark-insert-annotation|ookmark-insert-file-format-version-stamp|ookmark-insert-location|ookmark-insert|ookmark-jump-noselect|ookmark-jump-other-window|ookmark-jump|ookmark-kill-line|ookmark-load|ookmark-locate|ookmark-location|ookmark-make-record-default|ookmark-make-record|ookmark-map|ookmark-maybe-historicize-string|ookmark-maybe-load-default-file|ookmark-maybe-message|ookmark-maybe-rename|ookmark-maybe-sort-alist|ookmark-maybe-upgrade-file-format|ookmark-menu-popup-paned-menu|ookmark-name-from-full-record|ookmark-prop-get|ookmark-prop-set|ookmark-relocate|ookmark-rename|ookmark-save|ookmark-send-edited-annotation|ookmark-set-annotation|ookmark-set-filename|ookmark-set-front-context-string|ookmark-set-name|ookmark-set-position|ookmark-set-rear-context-string|ookmark-set|ookmark-show-all-annotations|ookmark-show-annotation|ookmark-store|ookmark-time-to-save-p|ookmark-unload-function|ookmark-upgrade-file-format-from-0|ookmark-upgrade-version-0-alist|ookmark-write-file|ookmark-write|ookmark-yank-word|ool-vector|ound-and-true-p|ounds-of-thing-at-point|ovinate|ovine-grammar-mode|rowse-url-at-mouse|rowse-url-at-point|rowse-url-can-use-xdg-open|rowse-url-cci|rowse-url-chromium|rowse-url-default-browser|rowse-url-default-macosx-browser|rowse-url-default-windows-browser|rowse-url-delete-temp-file|rowse-url-elinks-new-window|rowse-url-elinks-sentinel|rowse-url-elinks|rowse-url-emacs-display|rowse-url-emacs|rowse-url-encode-url|rowse-url-epiphany-sentinel|rowse-url-epiphany|rowse-url-file-url|rowse-url-firefox-sentinel|rowse-url-firefox|rowse-url-galeon-sentinel|rowse-url-galeon|rowse-url-generic|rowse-url-gnome-moz|rowse-url-interactive-arg|rowse-url-kde|rowse-url-mail|rowse-url-maybe-new-window|rowse-url-mosaic|rowse-url-mozilla-sentinel|rowse-url-mozilla|rowse-url-netscape-reload|rowse-url-netscape-send|rowse-url-netscape-sentinel|rowse-url-netscape|rowse-url-of-buffer|rowse-url-of-dired-file|rowse-url-of-file|rowse-url-of-region|rowse-url-process-environment|rowse-url-text-emacs|rowse-url-text-xterm|rowse-url-url-at-point|rowse-url-url-encode-chars|rowse-url-w3-gnudoit|rowse-url-w3|rowse-url-xdg-open|rowse-url|rowse-web|s--configuration-name-for-prefix-arg|s--create-header-line|s--current-buffer|s--current-config-message|s--down|s--format-aux|s--get-file-name|s--get-marked-string|s--get-mode-name|s--get-modified-string|s--get-name-length|s--get-name|s--get-readonly-string|s--get-size-string|s--get-value|s--goto-current-buffer|s--insert-one-entry|s--make-header-match-string|s--mark-unmark|s--nth-wrapper|s--redisplay|s--remove-hooks|s--restore-window-config|s--set-toggle-to-show|s--set-window-height|s--show-config-message|s--show-header|s--show-with-configuration|s--sort-by-filename|s--sort-by-mode|s--sort-by-name|s--sort-by-size|s--track-window-changes|s--up|s--update-current-line|s-abort|s-apply-sort-faces|s-buffer-list|s-buffer-sort|s-bury-buffer|s-clear-modified|s-config--all-intern-last|s-config--all|s-config--files-and-scratch|s-config--only-files|s-config-clear|s-customize|s-cycle-next|s-cycle-previous|s-define-sort-function|s-delete-backward|s-delete|s-down|s-help|s-kill|s-mark-current|s-message-without-log|s-mode|s-mouse-select-other-frame|s-mouse-select|s-next-buffer|s-next-config-aux|s-next-config|s-previous-buffer|s-refresh|s-save|s-select-in-one-window|s-select-next-configuration|s-select-other-frame|s-select-other-window|s-select|s-set-configuration-and-refresh|s-set-configuration|s-set-current-buffer-to-show-always|s-set-current-buffer-to-show-never|s-show-in-buffer|s-show-sorted|s-show|s-sort-buffer-interns-are-last|s-tmp-select-other-window|s-toggle-current-to-show|s-toggle-readonly|s-toggle-show-all|s-unload-function|s-unmark-current|s-up|s-view|s-visit-tags-table|s-visits-non-file|ubbles--char-at|ubbles--col|ubbles--colors|ubbles--compute-offsets|ubbles--count|ubbles--empty-char|ubbles--game-over|ubbles--goto|ubbles--grid-height|ubbles--grid-width|ubbles--initialize-faces|ubbles--initialize-images|ubbles--initialize|ubbles--mark-direct-neighbors|ubbles--mark-neighborhood|ubbles--neighborhood-available|ubbles--remove-overlays|ubbles--reset-score|ubbles--row|ubbles--set-faces|ubbles--shift-mode|ubbles--shift|ubbles--show-images|ubbles--show-scores|ubbles--update-faces-or-images|ubbles--update-neighborhood-score|ubbles--update-score|ubbles-customize|ubbles-mode|ubbles-plop|ubbles-quit|ubbles-save-settings|ubbles-set-game-difficult|ubbles-set-game-easy|ubbles-set-game-hard|ubbles-set-game-medium|ubbles-set-game-userdefined|ubbles-set-graphics-theme-ascii|ubbles-set-graphics-theme-balls|ubbles-set-graphics-theme-circles|ubbles-set-graphics-theme-diamonds|ubbles-set-graphics-theme-emacs|ubbles-set-graphics-theme-squares|ubbles-undo|ubbles|uffer-face-mode-invoke|uffer-face-mode|uffer-face-set|uffer-face-toggle|uffer-has-markers-at|uffer-menu-open|uffer-menu-other-window|uffer-menu|uffer-stale--default-function|uffer-substring--filter|uffer-substring-with-bidi-context|ug-reference-fontify|ug-reference-mode|ug-reference-prog-mode|ug-reference-push-button|ug-reference-set-overlay-properties|ug-reference-unfontify|uild-mail-abbrevs|uild-mail-aliases|ury-buffer-internal|utterfly|utton--area-button-p|utton--area-button-string|utton-category-symbol|yte-code|yte-compile--declare-var|yte-compile--reify-function|yte-compile-abbreviate-file|yte-compile-and-folded|yte-compile-and-recursion|yte-compile-and|yte-compile-annotate-call-tree|yte-compile-arglist-signature-string|yte-compile-arglist-signature|yte-compile-arglist-signatures-congruent-p|yte-compile-arglist-vars|yte-compile-arglist-warn|yte-compile-associative|yte-compile-autoload|yte-compile-backward-char|yte-compile-backward-word|yte-compile-bind|yte-compile-body-do-effect|yte-compile-body|yte-compile-butlast|yte-compile-callargs-warn|yte-compile-catch|yte-compile-char-before|yte-compile-check-lambda-list|yte-compile-check-variable|yte-compile-cl-file-p|yte-compile-cl-warn|yte-compile-close-variables|yte-compile-concat|yte-compile-cond|yte-compile-condition-case--new|yte-compile-condition-case--old|yte-compile-condition-case|yte-compile-constant|yte-compile-constants-vector|yte-compile-defvar|yte-compile-delete-first|yte-compile-dest-file|yte-compile-disable-warning|yte-compile-discard|yte-compile-dynamic-variable-bind|yte-compile-dynamic-variable-op|yte-compile-enable-warning|yte-compile-eval-before-compile|yte-compile-eval|yte-compile-fdefinition|yte-compile-file-form-autoload|yte-compile-file-form-custom-declare-variable|yte-compile-file-form-defalias|yte-compile-file-form-define-abbrev-table|yte-compile-file-form-defmumble|yte-compile-file-form-defvar|yte-compile-file-form-eval|yte-compile-file-form-progn|yte-compile-file-form-require|yte-compile-file-form-with-no-warnings|yte-compile-file-form|yte-compile-find-bound-condition|yte-compile-find-cl-functions|yte-compile-fix-header|yte-compile-flush-pending|yte-compile-form-do-effect|yte-compile-form-make-variable-buffer-local|yte-compile-form|yte-compile-format-warn|yte-compile-from-buffer|yte-compile-fset|yte-compile-funcall|yte-compile-function-form|yte-compile-function-warn|yte-compile-get-closed-var|yte-compile-get-constant|yte-compile-goto-if|yte-compile-goto|yte-compile-if|yte-compile-indent-to|yte-compile-inline-expand|yte-compile-inline-lapcode|yte-compile-insert-header|yte-compile-insert|yte-compile-keep-pending|yte-compile-lambda-form|yte-compile-lambda|yte-compile-lapcode|yte-compile-let|yte-compile-list|yte-compile-log-1|yte-compile-log-file|yte-compile-log-lap-1|yte-compile-log-lap|yte-compile-log-warning|yte-compile-log|yte-compile-macroexpand-declare-function|yte-compile-make-args-desc|yte-compile-make-closure|yte-compile-make-lambda-lexenv|yte-compile-make-obsolete-variable|yte-compile-make-tag|yte-compile-make-variable-buffer-local|yte-compile-maybe-guarded|yte-compile-minus|yte-compile-nconc|yte-compile-negated|yte-compile-negation-optimizer|yte-compile-nilconstp|yte-compile-no-args|yte-compile-no-warnings|yte-compile-nogroup-warn|yte-compile-noop|yte-compile-normal-call|yte-compile-not-lexical-var-p|yte-compile-one-arg|yte-compile-one-or-two-args|yte-compile-or-recursion|yte-compile-or|yte-compile-out-tag|yte-compile-out-toplevel|yte-compile-out|yte-compile-output-as-comment|yte-compile-output-docform|yte-compile-output-file-form|yte-compile-preprocess|yte-compile-print-syms|yte-compile-prog1|yte-compile-prog2|yte-compile-progn|yte-compile-push-binding-init|yte-compile-push-bytecode-const2|yte-compile-push-bytecodes|yte-compile-push-constant|yte-compile-quo|yte-compile-quote|yte-compile-recurse-toplevel|yte-compile-refresh-preloaded|yte-compile-report-error|yte-compile-report-ops|yte-compile-save-current-buffer|yte-compile-save-excursion|yte-compile-save-restriction|yte-compile-set-default|yte-compile-set-symbol-position|yte-compile-setq-default|yte-compile-setq|yte-compile-sexp|yte-compile-stack-adjustment|yte-compile-stack-ref|yte-compile-stack-set|yte-compile-subr-wrong-args|yte-compile-three-args|yte-compile-top-level-body|yte-compile-top-level|yte-compile-toplevel-file-form|yte-compile-trueconstp|yte-compile-two-args|yte-compile-two-or-three-args|yte-compile-unbind|yte-compile-unfold-bcf|yte-compile-unfold-lambda|yte-compile-unwind-protect|yte-compile-variable-ref)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:byte-compile-variable-set|byte-compile-warn-about-unresolved-functions|byte-compile-warn-obsolete|byte-compile-warn|byte-compile-warning-enabled-p|byte-compile-warning-prefix|byte-compile-warning-series|byte-compile-while|byte-compile-zero-or-one-arg|byte-compiler-base-file-name|byte-decompile-bytecode-1|byte-decompile-bytecode|byte-defop-compiler-1|byte-defop-compiler|byte-defop|byte-extrude-byte-code-vectors|byte-force-recompile|byte-optimize-all-constp|byte-optimize-and|byte-optimize-apply|byte-optimize-approx-equal|byte-optimize-associative-math|byte-optimize-binary-predicate|byte-optimize-body|byte-optimize-cond|byte-optimize-delay-constants-math|byte-optimize-divide|byte-optimize-form-code-walker|byte-optimize-form|byte-optimize-funcall|byte-optimize-identity|byte-optimize-if|byte-optimize-inline-handler|byte-optimize-lapcode|byte-optimize-letX|byte-optimize-logmumble|byte-optimize-minus|byte-optimize-multiply|byte-optimize-nonassociative-math|byte-optimize-nth|byte-optimize-nthcdr|byte-optimize-or|byte-optimize-plus|byte-optimize-predicate|byte-optimize-quote|byte-optimize-set|byte-optimize-while|byte-recompile-file|byteorder|c\\\\\\\\+\\\\\\\\+-font-lock-keywords-2|c\\\\\\\\+\\\\\\\\+-font-lock-keywords-3|c\\\\\\\\+\\\\\\\\+-font-lock-keywords|c\\\\\\\\+\\\\\\\\+-mode|c--macroexpand-all|c-add-class-syntax|c-add-language|c-add-stmt-syntax|c-add-style|c-add-syntax|c-add-type|c-advise-fl-for-region|c-after-change-check-<>-operators|c-after-change|c-after-conditional|c-after-font-lock-init|c-after-special-operator-id|c-after-statement-terminator-p|c-append-backslashes-forward|c-append-lower-brace-pair-to-state-cache|c-append-syntax|c-append-to-state-cache|c-ascertain-following-literal|c-ascertain-preceding-literal|c-at-expression-start-p|c-at-macro-vsemi-p|c-at-statement-start-p|c-at-toplevel-p|c-at-vsemi-p|c-awk-menu|c-back-over-illiterals|c-back-over-member-initializer-braces|c-back-over-member-initializers|c-backslash-region|c-backward-<>-arglist|c-backward-colon-prefixed-type|c-backward-comments|c-backward-conditional|c-backward-into-nomenclature|c-backward-over-enum-header|c-backward-sexp|c-backward-single-comment|c-backward-sws|c-backward-syntactic-ws|c-backward-to-block-anchor|c-backward-to-decl-anchor|c-backward-to-nth-BOF-\\\\\\\\{|c-backward-token-1|c-backward-token-2|c-basic-common-init|c-before-change-check-<>-operators|c-before-change|c-before-hack-hook|c-beginning-of-current-token|c-beginning-of-decl-1|c-beginning-of-defun-1|c-beginning-of-defun|c-beginning-of-inheritance-list|c-beginning-of-macro|c-beginning-of-sentence-in-comment|c-beginning-of-sentence-in-string|c-beginning-of-statement-1|c-beginning-of-statement|c-beginning-of-syntax|c-benign-error|c-bind-special-erase-keys|c-block-in-arglist-dwim|c-bos-pop-state-and-retry|c-bos-pop-state|c-bos-push-state|c-bos-report-error|c-bos-restore-pos|c-bos-save-error-info|c-bos-save-pos|c-brace-anchor-point|c-brace-newlines|c-c\\\\\\\\+\\\\\\\\+-menu|c-c-menu|c-calc-comment-indent|c-calc-offset|c-calculate-state|c-change-set-fl-decl-start|c-cheap-inside-bracelist-p|c-check-type|c-clear-<-pair-props-if-match-after|c-clear-<-pair-props|c-clear-<>-pair-props|c-clear->-pair-props-if-match-before|c-clear->-pair-props|c-clear-c-type-property|c-clear-char-properties|c-clear-char-property-with-value-function|c-clear-char-property-with-value|c-clear-char-property|c-clear-cpp-delimiters|c-clear-found-types|c-collect-line-comments|c-comment-indent|c-comment-line-break-function|c-comment-out-cpps|c-common-init|c-compose-keywords-list|c-concat-separated|c-constant-symbol|c-context-line-break|c-context-open-line|c-context-set-fl-decl-start|c-count-cfss|c-cpp-define-name|c-crosses-statement-barrier-p|c-debug-add-face|c-debug-parse-state-double-cons|c-debug-parse-state|c-debug-put-decl-spot-faces|c-debug-remove-decl-spot-faces|c-debug-remove-face|c-debug-sws-msg|c-declaration-limits|c-declare-lang-variables|c-default-value-sentence-end|c-define-abbrev-table|c-define-lang-constant|c-defun-name|c-delete-and-extract-region|c-delete-backslashes-forward|c-delete-overlay|c-determine-\\\\\\\\+ve-limit|c-determine-limit-get-base|c-determine-limit|c-do-auto-fill|c-down-conditional-with-else|c-down-conditional|c-down-list-backward|c-down-list-forward|c-echo-parsing-error|c-electric-backspace|c-electric-brace|c-electric-colon|c-electric-continued-statement|c-electric-delete-forward|c-electric-delete|c-electric-indent-local-mode-hook|c-electric-indent-mode-hook|c-electric-lt-gt|c-electric-paren|c-electric-pound|c-electric-semi&comma|c-electric-slash|c-electric-star|c-end-of-current-token|c-end-of-decl-1|c-end-of-defun-1|c-end-of-defun|c-end-of-macro|c-end-of-sentence-in-comment|c-end-of-sentence-in-string|c-end-of-statement|c-evaluate-offset|c-extend-after-change-region|c-extend-font-lock-region-for-macros|c-extend-region-for-CPP|c-face-name-p|c-fdoc-shift-type-backward|c-fill-paragraph|c-find-assignment-for-mode|c-find-decl-prefix-search|c-find-decl-spots|c-find-invalid-doc-markup|c-fn-region-is-active-p|c-font-lock-<>-arglists|c-font-lock-c\\\\\\\\+\\\\\\\\+-new|c-font-lock-complex-decl-prepare|c-font-lock-declarations|c-font-lock-declarators|c-font-lock-doc-comments|c-font-lock-enclosing-decls|c-font-lock-enum-tail|c-font-lock-fontify-region|c-font-lock-init|c-font-lock-invalid-string|c-font-lock-keywords-2|c-font-lock-keywords-3|c-font-lock-keywords|c-font-lock-labels|c-font-lock-objc-methods??|c-fontify-recorded-types-and-refs|c-fontify-types-and-refs|c-forward-<>-arglist-recur|c-forward-<>-arglist|c-forward-annotation|c-forward-comments|c-forward-conditional|c-forward-decl-or-cast-1|c-forward-id-comma-list|c-forward-into-nomenclature|c-forward-keyword-clause|c-forward-keyword-prefixed-id|c-forward-label|c-forward-name|c-forward-objc-directive|c-forward-over-cpp-define-id|c-forward-over-illiterals|c-forward-sexp|c-forward-single-comment|c-forward-sws|c-forward-syntactic-ws|c-forward-to-cpp-define-body|c-forward-to-nth-EOF-}|c-forward-token-1|c-forward-token-2|c-forward-type|c-get-cache-scan-pos|c-get-char-property|c-get-current-file|c-get-lang-constant|c-get-offset|c-get-style-variables|c-get-syntactic-indentation|c-gnu-impose-minimum|c-go-down-list-backward|c-go-down-list-forward|c-go-list-backward|c-go-list-forward|c-go-up-list-backward|c-go-up-list-forward|c-got-face-at|c-guess-accumulate-offset|c-guess-accumulate|c-guess-basic-syntax|c-guess-buffer-no-install|c-guess-buffer|c-guess-continued-construct|c-guess-current-offset|c-guess-dump-accumulator|c-guess-dump-guessed-style|c-guess-dump-guessed-values|c-guess-empty-line-p|c-guess-examine|c-guess-fill-prefix|c-guess-guess|c-guess-guessed-syntactic-symbols|c-guess-install|c-guess-make-basic-offset|c-guess-make-offsets-alist|c-guess-make-style|c-guess-merge-offsets-alists|c-guess-no-install|c-guess-region-no-install|c-guess-region|c-guess-reset-accumulator|c-guess-sort-accumulator|c-guess-style-name|c-guess-symbolize-integer|c-guess-symbolize-offsets-alist|c-guess-view-mark-guessed-entries|c-guess-view-reorder-offsets-alist-in-style|c-guess-view|c-guess|c-hungry-backspace|c-hungry-delete-backwards|c-hungry-delete-forward|c-hungry-delete|c-idl-menu|c-in-comment-line-prefix-p|c-in-function-trailer-p|c-in-gcc-asm-p|c-in-knr-argdecl|c-in-literal|c-in-method-def-p|c-indent-command|c-indent-defun|c-indent-exp|c-indent-line-or-region|c-indent-line|c-indent-multi-line-block|c-indent-new-comment-line|c-indent-one-line-block|c-indent-region|c-init-language-vars-for|c-initialize-builtin-style|c-initialize-cc-mode|c-inside-bracelist-p|c-int-to-char|c-intersect-lists|c-invalidate-find-decl-cache|c-invalidate-macro-cache|c-invalidate-state-cache-1|c-invalidate-state-cache|c-invalidate-sws-region-after|c-java-menu|c-just-after-func-arglist-p|c-keep-region-active|c-keyword-member|c-keyword-sym|c-lang-const|c-lang-defconst-eval-immediately|c-lang-defconst|c-lang-major-mode-is|c-langelem-2nd-pos|c-langelem-col|c-langelem-pos|c-langelem-sym|c-last-command-char|c-least-enclosing-brace|c-leave-cc-mode-mode|c-lineup-C-comments|c-lineup-ObjC-method-args-2|c-lineup-ObjC-method-args|c-lineup-ObjC-method-call-colons|c-lineup-ObjC-method-call|c-lineup-after-whitesmith-blocks|c-lineup-argcont-scan|c-lineup-argcont|c-lineup-arglist-close-under-paren|c-lineup-arglist-intro-after-paren|c-lineup-arglist-operators|c-lineup-arglist|c-lineup-assignments|c-lineup-cascaded-calls|c-lineup-close-paren|c-lineup-comment|c-lineup-cpp-define|c-lineup-dont-change|c-lineup-gcc-asm-reg|c-lineup-gnu-DEFUN-intro-cont|c-lineup-inexpr-block|c-lineup-java-inher|c-lineup-java-throws|c-lineup-knr-region-comment|c-lineup-math|c-lineup-multi-inher|c-lineup-respect-col-0|c-lineup-runin-statements|c-lineup-streamop|c-lineup-string-cont|c-lineup-template-args|c-lineup-topmost-intro-cont|c-lineup-whitesmith-in-block|c-list-found-types|c-literal-limits-fast|c-literal-limits|c-literal-type|c-looking-at-bos|c-looking-at-decl-block|c-looking-at-inexpr-block-backward|c-looking-at-inexpr-block|c-looking-at-non-alphnumspace|c-looking-at-special-brace-list|c-lookup-lists|c-macro-display-buffer|c-macro-expand|c-macro-expansion|c-macro-is-genuine-p|c-macro-vsemi-status-unknown-p|c-major-mode-is|c-make-bare-char-alt|c-make-font-lock-BO-decl-search-function|c-make-font-lock-context-search-function|c-make-font-lock-extra-types-blurb|c-make-font-lock-search-form|c-make-font-lock-search-function|c-make-inherited-keymap|c-make-inverse-face|c-make-keywords-re|c-make-macro-with-semi-re|c-make-styles-buffer-local|c-make-syntactic-matcher|c-mark-<-as-paren|c-mark->-as-paren|c-mark-function|c-mask-paragraph|c-mode-menu|c-mode-symbol|c-mode-var|c-mode|c-most-enclosing-brace|c-most-enclosing-decl-block|c-narrow-to-comment-innards|c-narrow-to-most-enclosing-decl-block|c-neutralize-CPP-line|c-neutralize-syntax-in-and-mark-CPP|c-newline-and-indent|c-next-single-property-change|c-objc-menu|c-on-identifier|c-one-line-string-p|c-outline-level|c-override-default-keywords|c-parse-state-1|c-parse-state-get-strategy|c-parse-state|c-partial-ws-p|c-pike-menu|c-point-syntax|c-point|c-populate-syntax-table|c-postprocess-file-styles|c-progress-fini|c-progress-init|c-progress-update|c-pull-open-brace|c-punctuation-in|c-put-c-type-property|c-put-char-property-fun|c-put-char-property|c-put-font-lock-face|c-put-font-lock-string-face|c-put-in-sws|c-put-is-sws|c-put-overlay|c-query-and-set-macro-start|c-query-macro-start|c-read-offset|c-real-parse-state|c-record-parse-state-state|c-record-ref-id|c-record-type-id|c-regexp-opt-depth|c-regexp-opt|c-region-is-active-p|c-remove-any-local-eval-or-mode-variables|c-remove-font-lock-face|c-remove-in-sws|c-remove-is-and-in-sws|c-remove-is-sws|c-remove-stale-state-cache-backwards|c-remove-stale-state-cache|c-renarrow-state-cache|c-replay-parse-state-state|c-restore-<->-as-parens|c-run-mode-hooks|c-safe-position|c-safe-scan-lists|c-safe|c-save-buffer-state|c-sc-parse-partial-sexp-no-category|c-sc-parse-partial-sexp|c-sc-scan-lists-no-category\\\\\\\\+1\\\\\\\\+1|c-sc-scan-lists-no-category\\\\\\\\+1-1|c-sc-scan-lists-no-category-1\\\\\\\\+1|c-sc-scan-lists-no-category-1-1|c-sc-scan-lists|c-scan-conditionals|c-scope-operator|c-search-backward-char-property|c-search-decl-header-end|c-search-forward-char-property|c-search-uplist-for-classkey|c-semi&comma-inside-parenlist|c-semi&comma-no-newlines-before-nonblanks|c-semi&comma-no-newlines-for-oneline-inliners|c-sentence-end|c-set-cpp-delimiters|c-set-fl-decl-start|c-set-offset|c-set-region-active|c-set-style-1|c-set-style|c-set-stylevar-fallback|c-setup-doc-comment-style|c-setup-filladapt|c-setup-paragraph-variables|c-shift-line-indentation|c-show-syntactic-information|c-simple-skip-symbol-backward|c-skip-comments-and-strings|c-skip-conditional|c-skip-ws-backward|c-skip-ws-forward|c-snug-1line-defun-close|c-snug-do-while|c-ssb-lit-begin|c-state-balance-parens-backwards|c-state-cache-after-top-paren|c-state-cache-init|c-state-cache-non-literal-place|c-state-cache-top-lparen|c-state-cache-top-paren|c-state-get-min-scan-pos|c-state-lit-beg|c-state-literal-at|c-state-mark-point-min-literal|c-state-maybe-marker|c-state-pp-to-literal|c-state-push-any-brace-pair|c-state-safe-place|c-state-semi-safe-place|c-submit-bug-report|c-subword-mode|c-suppress-<->-as-parens|c-syntactic-content|c-syntactic-end-of-macro|c-syntactic-information-on-region|c-syntactic-re-search-forward|c-syntactic-skip-backward|c-tentative-buffer-changes|c-tnt-chng-cleanup)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)c(?:-tnt-chng-record-state|-toggle-auto-hungry-state|-toggle-auto-newline|-toggle-auto-state|-toggle-electric-state|-toggle-hungry-state|-toggle-parse-state-debug|-toggle-syntactic-indentation|-trim-found-types|-try-one-liner|-uncomment-out-cpps|-unfind-coalesced-tokens|-unfind-enclosing-token|-unfind-type|-unmark-<->-as-paren|-up-conditional-with-else|-up-conditional|-up-list-backward|-up-list-forward|-update-modeline|-valid-offset|-version|-vsemi-status-unknown-p|-whack-state-after|-whack-state-before|-where-wrt-brace-construct|-while-widening-to-decl-block|-widen-to-enclosing-decl-scope|-with-<->-as-parens-suppressed|-with-all-but-one-cpps-commented-out|-with-cpps-commented-out|-with-syntax-table|aaaar|aaadr|aaar|aadar|aaddr|aadr|adaar|adadr|adar|addar|adddr|addr|al-html-cursor-month|al-html-cursor-year|al-menu-context-mouse-menu|al-menu-global-mouse-menu|al-menu-holiday-window-suffix|al-menu-set-date-title|al-menu-x-popup-menu|al-tex-cursor-day|al-tex-cursor-filofax-2week|al-tex-cursor-filofax-daily|al-tex-cursor-filofax-week|al-tex-cursor-filofax-year|al-tex-cursor-month-landscape|al-tex-cursor-month|al-tex-cursor-week-iso|al-tex-cursor-week-monday|al-tex-cursor-week|al-tex-cursor-week2-summary|al-tex-cursor-week2|al-tex-cursor-year-landscape|al-tex-cursor-year|alc-alg-digit-entry|alc-alg-entry|alc-algebraic-entry|alc-align-stack-window|alc-auto-algebraic-entry|alc-big-or-small|alc-binary-op|alc-change-sign|alc-check-defines|alc-check-stack|alc-check-trail-aligned|alc-check-user-syntax|alc-clear-unread-commands|alc-count-lines|alc-create-buffer|alc-cursor-stack-index|alc-dispatch-help|alc-dispatch|alc-divide|alc-do-alg-entry|alc-do-calc-eval|alc-do-dispatch|alc-do-embedded-activate|alc-do-handle-whys|alc-do-quick-calc|alc-do-refresh|alc-do|alc-embedded-activate|alc-embedded|alc-enter-result|alc-enter|alc-eval|alc-get-stack-element|alc-grab-rectangle|alc-grab-region|alc-grab-sum-across|alc-grab-sum-down|alc-handle-whys|alc-help|alc-info-goto-node|alc-info-summary|alc-info|alc-inv|alc-keypad|alc-kill-stack-buffer|alc-last-args-stub|alc-left-divide|alc-match-user-syntax|alc-minibuffer-contains|alc-minibuffer-size|alc-minus|alc-missing-key|alc-mod|alc-mode-var-list-restore-default-values|alc-mode-var-list-restore-saved-values|alc-normalize|alc-num-prefix-name|alc-other-window|alc-over|alc-percent|alc-plus|alc-pop-above|alc-pop-push-list|alc-pop-push-record-list|alc-pop-stack|alc-pop|alc-power|alc-push-list|alc-quit|alc-read-key-sequence|alc-read-key|alc-record-list|alc-record-undo|alc-record-why|alc-record|alc-refresh|alc-renumber-stack|alc-report-bug|alc-roll-down-stack|alc-roll-down|alc-roll-up-stack|alc-roll-up|alc-same-interface|alc-select-buffer|alc-set-command-flag|alc-set-mode-line|alc-shift-Y-prefix-help|alc-slow-wrapper|alc-stack-size|alc-substack-height|alc-temp-minibuffer-message|alc-times|alc-top-list-n|alc-top-list|alc-top-n|alc-top|alc-trail-buffer|alc-trail-display|alc-trail-here|alc-transpose-lines|alc-tutorial|alc-unary-op|alc-undo|alc-unread-command|alc-user-invocation|alc-window-width|alc-with-default-simplification|alc-with-trail-buffer|alc-wrapper|alc-yank|alc|alcDigit-algebraic|alcDigit-backspace|alcDigit-edit|alcDigit-key|alcDigit-letter|alcDigit-nondigit|alcDigit-start|alcFunc-floor|alcFunc-inv|alcFunc-trunc|alculate-icon-indent|alculate-lisp-indent|alculate-tcl-indent|alculator-add-operators|alculator-backspace|alculator-clear-fragile|alculator-clear-saved|alculator-clear|alculator-close-paren|alculator-copy|alculator-dec/deg-mode|alculator-decimal|alculator-digit|alculator-displayer-next|alculator-displayer-prev|alculator-eng-display|alculator-enter|alculator-expt??|alculator-fact|alculator-funcall|alculator-get-display|alculator-get-register|alculator-groupize-number|alculator-help|alculator-last-input|alculator-menu|alculator-message|alculator-mode|alculator-need-3-lines|alculator-number-to-string|alculator-op-arity|alculator-op-or-exp|alculator-op-prec|alculator-op|alculator-open-paren|alculator-paste|alculator-push-curnum|alculator-put-value|alculator-quit|alculator-radix-input-mode|alculator-radix-mode|alculator-radix-output-mode|alculator-reduce-stack-once|alculator-reduce-stack|alculator-remove-zeros|alculator-repL|alculator-repR|alculator-reset|alculator-rotate-displayer-back|alculator-rotate-displayer|alculator-save-and-quit|alculator-save-on-list|alculator-saved-down|alculator-saved-move|alculator-saved-up|alculator-set-register|alculator-standard-displayer|alculator-string-to-number|alculator-truncate|alculator-update-display|alculator|alendar-abbrev-construct|alendar-absolute-from-gregorian|alendar-astro-date-string|alendar-astro-from-absolute|alendar-astro-goto-day-number|alendar-astro-print-day-number|alendar-astro-to-absolute|alendar-backward-day|alendar-backward-month|alendar-backward-week|alendar-backward-year|alendar-bahai-date-string|alendar-bahai-goto-date|alendar-bahai-mark-date-pattern|alendar-bahai-print-date|alendar-basic-setup|alendar-beginning-of-month|alendar-beginning-of-week|alendar-beginning-of-year|alendar-buffer-list|alendar-check-holidays|alendar-chinese-date-string|alendar-chinese-goto-date|alendar-chinese-print-date|alendar-column-to-segment|alendar-coptic-date-string|alendar-coptic-goto-date|alendar-coptic-print-date|alendar-count-days-region|alendar-current-date|alendar-cursor-holidays|alendar-cursor-to-date|alendar-cursor-to-nearest-date|alendar-cursor-to-visible-date|alendar-customized-p|alendar-date-compare|alendar-date-equal|alendar-date-is-valid-p|alendar-date-is-visible-p|alendar-date-string|alendar-day-header-construct|alendar-day-name|alendar-day-number|alendar-day-of-week|alendar-day-of-year-string|alendar-dayname-on-or-before|alendar-end-of-month|alendar-end-of-week|alendar-end-of-year|alendar-ensure-newline|alendar-ethiopic-date-string|alendar-ethiopic-goto-date|alendar-ethiopic-print-date|alendar-exchange-point-and-mark|alendar-exit|alendar-extract-day|alendar-extract-month|alendar-extract-year|alendar-forward-day|alendar-forward-month|alendar-forward-week|alendar-forward-year|alendar-frame-setup|alendar-french-date-string|alendar-french-goto-date|alendar-french-print-date|alendar-generate-month|alendar-generate-window|alendar-generate|alendar-goto-date|alendar-goto-day-of-year|alendar-goto-info-node|alendar-goto-today|alendar-gregorian-from-absolute|alendar-hebrew-date-string|alendar-hebrew-goto-date|alendar-hebrew-list-yahrzeits|alendar-hebrew-mark-date-pattern|alendar-hebrew-print-date|alendar-holiday-list|alendar-in-read-only-buffer|alendar-increment-month-cons|alendar-increment-month|alendar-insert-at-column|alendar-interval|alendar-islamic-date-string|alendar-islamic-goto-date|alendar-islamic-mark-date-pattern|alendar-islamic-print-date|alendar-iso-date-string|alendar-iso-from-absolute|alendar-iso-goto-date|alendar-iso-goto-week|alendar-iso-print-date|alendar-julian-date-string|alendar-julian-from-absolute|alendar-julian-goto-date|alendar-julian-print-date|alendar-last-day-of-month|alendar-leap-year-p|alendar-list-holidays|alendar-lunar-phases|alendar-make-alist|alendar-make-temp-face|alendar-mark-1|alendar-mark-complex|alendar-mark-date-pattern|alendar-mark-days-named|alendar-mark-holidays|alendar-mark-month|alendar-mark-today|alendar-mark-visible-date|alendar-mayan-date-string|alendar-mayan-goto-long-count-date|alendar-mayan-next-haab-date|alendar-mayan-next-round-date|alendar-mayan-next-tzolkin-date|alendar-mayan-previous-haab-date|alendar-mayan-previous-round-date|alendar-mayan-previous-tzolkin-date|alendar-mayan-print-date|alendar-mode-line-entry|alendar-mode|alendar-month-edges|alendar-month-name|alendar-mouse-view-diary-entries|alendar-mouse-view-other-diary-entries|alendar-move-to-column|alendar-nongregorian-visible-p|alendar-not-implemented|alendar-nth-named-absday|alendar-nth-named-day|alendar-other-dates|alendar-other-month|alendar-persian-date-string|alendar-persian-goto-date|alendar-persian-print-date|alendar-print-day-of-year|alendar-print-other-dates|alendar-read-date|alendar-read|alendar-recompute-layout-variables|alendar-redraw|alendar-scroll-left-three-months|alendar-scroll-left|alendar-scroll-right-three-months|alendar-scroll-right|alendar-scroll-toolkit-scroll|alendar-set-date-style|alendar-set-layout-variable|alendar-set-mark|alendar-set-mode-line|alendar-star-date|alendar-string-spread|alendar-sum|alendar-sunrise-sunset-month|alendar-sunrise-sunset|alendar-unmark|alendar-update-mode-line|alendar-week-end-day|alendar|all-last-kbd-macro|all-next-method|allf2??|ancel-edebug-on-entry|ancel-function-timers|ancel-kbd-macro-events|ancel-timer-internal|anlock-insert-header|anlock-verify|anonicalize-coding-system-name|anonically-space-region|apitalized-words-mode|ar-less-than-car|ase-table-get-table|ase|c-choose-style-for-mode|c-eval-when-compile|c-imenu-init|c-imenu-java-build-type-args-regex|c-imenu-objc-function|c-imenu-objc-method-to-selector|c-imenu-objc-remove-white-space|cl-compile|cl-dump|cl-execute-on-string|cl-execute-with-args|cl-execute|cl-program-p|conv--analyze-function|conv--analyze-use|conv--convert-function|conv--map-diff-elem|conv--map-diff-set|conv--map-diff|conv--set-diff-map|conv--set-diff|conv-analyse-form|conv-analyze-form|conv-closure-convert|conv-convert|conv-warnings-only|d-absolute|d|daaar|daadr|daar|dadar|daddr|dadr|ddaar|ddadr|ddar|dddar|ddddr|dddr|dl-get-file|dl-put-region|edet-version|eiling\\\\\\\\*|enter-line|enter-paragraph|enter-region|fengine-auto-mode|fengine-common-settings|fengine-common-syntax|fengine-fill-paragraph|fengine-mode|fengine2-beginning-of-defun|fengine2-end-of-defun|fengine2-indent-line|fengine2-mode|fengine2-outline-level|fengine3--current-function|fengine3-beginning-of-defun|fengine3-clear-syntax-cache|fengine3-completion-function|fengine3-create-imenu-index|fengine3-current-defun|fengine3-documentation-function|fengine3-end-of-defun|fengine3-format-function-docstring|fengine3-indent-line|fengine3-make-syntax-cache|fengine3-mode|hange-class|hange-log-beginning-of-defun|hange-log-end-of-defun|hange-log-fill-forward-paragraph|hange-log-fill-parenthesized-list|hange-log-find-file|hange-log-get-method-definition-1|hange-log-get-method-definition|hange-log-goto-source-1|hange-log-goto-source|hange-log-indent|hange-log-merge|hange-log-mode|hange-log-name|hange-log-next-buffer|hange-log-next-error|hange-log-resolve-conflict|hange-log-search-file-name|hange-log-search-tag-name-1|hange-log-search-tag-name|hange-log-sortable-date-at|hange-log-version-number-search|har-resolve-modifiers|har-valid-p|harset-bytes|harset-chars|harset-description|harset-dimension|harset-id-internal|harset-id|harset-info|harset-iso-final-char|harset-long-name|harset-short-name|hart-add-sequence|hart-axis-child-p|hart-axis-draw|hart-axis-list-p|hart-axis-names-child-p|hart-axis-names-list-p|hart-axis-names-p|hart-axis-names|hart-axis-p|hart-axis-range-child-p|hart-axis-range-list-p|hart-axis-range-p|hart-axis-range|hart-axis|hart-bar-child-p|hart-bar-list-p|hart-bar-p|hart-bar-quickie|hart-bar|hart-child-p|hart-deface-rectangle|hart-display-label|hart-draw-axis|hart-draw-data|hart-draw-line|hart-draw-title|hart-draw|hart-emacs-lists|hart-emacs-storage|hart-file-count|hart-goto-xy|hart-list-p|hart-mode|hart-new-buffer|hart-p|hart-rmail-from|hart-sequece-child-p|hart-sequece-list-p|hart-sequece-p|hart-sequece|hart-size-in-dir|hart-sort-matchlist|hart-sort|hart-space-usage|hart-test-it-all|hart-translate-namezone|hart-translate-xpos|hart-translate-ypos|hart-trim|hart-zap-chars|hart|heck-ccl-program|heck-completion-length|heck-declare-directory|heck-declare-errmsg|heck-declare-files??|heck-declare-locate|heck-declare-scan|heck-declare-sort|heck-declare-verify|heck-declare-warn)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)c(?:heck-face|heck-ispell-version|heck-parens|heck-type|heckdoc-autofix-ask-replace|heckdoc-buffer-label|heckdoc-char=|heckdoc-comments|heckdoc-continue|heckdoc-create-common-verbs-regexp|heckdoc-create-error|heckdoc-current-buffer|heckdoc-defun-info|heckdoc-defun|heckdoc-delete-overlay|heckdoc-display-status-buffer|heckdoc-error-end|heckdoc-error-start|heckdoc-error-text|heckdoc-error-unfixable|heckdoc-error|heckdoc-eval-current-buffer|heckdoc-eval-defun|heckdoc-file-comments-engine|heckdoc-in-example-string-p|heckdoc-in-sample-code-p|heckdoc-interactive-ispell-loop|heckdoc-interactive-loop|heckdoc-interactive|heckdoc-ispell-comments|heckdoc-ispell-continue|heckdoc-ispell-current-buffer|heckdoc-ispell-defun|heckdoc-ispell-docstring-engine|heckdoc-ispell-init|heckdoc-ispell-interactive|heckdoc-ispell-message-interactive|heckdoc-ispell-message-text|heckdoc-ispell-start|heckdoc-ispell|heckdoc-list-of-strings-p|heckdoc-make-overlay|heckdoc-message-interactive-ispell-loop|heckdoc-message-interactive|heckdoc-message-text-engine|heckdoc-message-text-next-string|heckdoc-message-text-search|heckdoc-message-text|heckdoc-mode-line-update|heckdoc-next-docstring|heckdoc-next-error|heckdoc-next-message-error|heckdoc-output-mode|heckdoc-outside-major-sexp|heckdoc-overlay-end|heckdoc-overlay-put|heckdoc-overlay-start|heckdoc-proper-noun-region-engine|heckdoc-recursive-edit|heckdoc-rogue-space-check-engine|heckdoc-rogue-spaces|heckdoc-run-hooks|heckdoc-sentencespace-region-engine|heckdoc-show-diagnostics|heckdoc-start-section|heckdoc-start|heckdoc-this-string-valid-engine|heckdoc-this-string-valid|heckdoc-y-or-n-p|heckdoc|hild-of-class-p|hmod|hoose-completion-delete-max-match|hoose-completion-guess-base-position|hoose-completion-string|hoose-completion|l--adjoin|l--arglist-args|l--block-throw--cmacro|l--block-throw|l--block-wrapper--cmacro|l--block-wrapper|l--check-key|l--check-match|l--check-test-nokey|l--check-test|l--compile-time-too|l--compiler-macro-adjoin|l--compiler-macro-assoc|l--compiler-macro-cXXr|l--compiler-macro-get|l--compiler-macro-list\\\\\\\\*|l--compiler-macro-member|l--compiler-macro-typep|l--compiling-file|l--const-expr-p|l--const-expr-val|l--defalias|l--defsubst-expand|l--delete-duplicates|l--do-arglist|l--do-prettyprint|l--do-proclaim|l--do-remf|l--do-subst|l--expand-do-loop|l--expr-contains-any|l--expr-contains|l--expr-depends-p|l--finite-do|l--function-convert|l--gv-adapt|l--labels-convert|l--letf|l--loop-build-ands|l--loop-handle-accum|l--loop-let|l--loop-set-iterator-function|l--macroexp-fboundp|l--make-type-test|l--make-usage-args|l--make-usage-var|l--map-intervals|l--map-keymap-recursively|l--map-overlays|l--mapcar-many|l--nsublis-rec|l--parse-loop-clause|l--parsing-keywords|l--pass-args-to-cl-declare|l--pop2|l--position|l--random-time|l--safe-expr-p|l--set-buffer-substring|l--set-frame-visible-p|l--set-getf|l--set-substring|l--simple-expr-p|l--simple-exprs-p|l--sm-macroexpand|l--struct-epg-context-p--cmacro|l--struct-epg-context-p|l--struct-epg-data-p--cmacro|l--struct-epg-data-p|l--struct-epg-import-result-p--cmacro|l--struct-epg-import-result-p|l--struct-epg-import-status-p--cmacro|l--struct-epg-import-status-p|l--struct-epg-key-p--cmacro|l--struct-epg-key-p|l--struct-epg-key-signature-p--cmacro|l--struct-epg-key-signature-p|l--struct-epg-new-signature-p--cmacro|l--struct-epg-new-signature-p|l--struct-epg-sig-notation-p--cmacro|l--struct-epg-sig-notation-p|l--struct-epg-signature-p--cmacro|l--struct-epg-signature-p|l--struct-epg-sub-key-p--cmacro|l--struct-epg-sub-key-p|l--struct-epg-user-id-p--cmacro|l--struct-epg-user-id-p|l--sublis-rec|l--sublis|l--transform-lambda|l--tree-equal-rec|l--unused-var-p|l--wrap-in-nil-block|l-caaaar|l-caaadr|l-caaar|l-caadar|l-caaddr|l-caadr|l-cadaar|l-cadadr|l-cadar|l-caddar|l-cadddr|l-cdaaar|l-cdaadr|l-cdaar|l-cdadar|l-cdaddr|l-cdadr|l-cddaar|l-cddadr|l-cddar|l-cdddar|l-cddddr|l-cdddr|l-clrhash|l-copy-seq|l-copy-tree|l-digit-char-p|l-eighth|l-fifth|l-flet\\\\\\\\*|l-floatp-safe|l-fourth|l-fresh-line|l-gethash|l-hash-table-count|l-hash-table-p|l-maclisp-member|l-macroexpand-all|l-macroexpand|l-make-hash-table|l-map-extents|l-map-intervals|l-map-keymap-recursively|l-map-keymap|l-maphash|l-multiple-value-apply|l-multiple-value-call|l-multiple-value-list|l-ninth|l-not-hash-table|l-nreconc|l-nth-value|l-parse-integer|l-prettyprint|l-puthash|l-remhash|l-revappend|l-second|l-set-getf|l-seventh|l-signum|l-sixth|l-struct-sequence-type|l-struct-setf-expander|l-struct-slot-info|l-struct-slot-offset|l-struct-slot-value--cmacro|l-struct-slot-value|l-svref|l-tenth|l-third|l-unload-function|l-values-list|l-values|lass-abstract-p|lass-children|lass-constructor|lass-direct-subclasses|lass-direct-superclasses|lass-method-invocation-order|lass-name|lass-of|lass-option-assoc|lass-option|lass-p|lass-parents??|lass-precedence-list|lass-slot-initarg|lass-v|lean-buffer-list-delay|lean-buffer-list|lear-all-completions|lear-buffer-auto-save-failure|lear-charset-maps|lear-face-cache|lear-font-cache|lear-rectangle-line|lear-rectangle|lipboard-kill-region|lipboard-kill-ring-save|lipboard-yank|lone-buffer|lone-indirect-buffer-other-window|lone-process|lone|lose-display-connection|lose-font|lose-rectangle|mpl-coerce-string-case|mpl-hours-since-origin|mpl-merge-string-cases|mpl-prefix-entry-head|mpl-prefix-entry-tail|mpl-string-case-type|oding-system-base|oding-system-category|oding-system-doc-string|oding-system-eol-type-mnemonic|oding-system-equal|oding-system-from-name|oding-system-lessp|oding-system-mnemonic|oding-system-plist|oding-system-post-read-conversion|oding-system-pre-write-conversion|oding-system-put|oding-system-translation-table-for-decode|oding-system-translation-table-for-encode|oding-system-type|oerce|olor-cie-de2000|olor-clamp|olor-complement-hex|olor-complement|olor-darken-hsl|olor-darken-name|olor-desaturate-hsl|olor-desaturate-name|olor-distance|olor-gradient|olor-hsl-to-rgb|olor-hue-to-rgb|olor-lab-to-srgb|olor-lab-to-xyz|olor-lighten-hsl|olor-lighten-name|olor-name-to-rgb|olor-rgb-to-hex|olor-rgb-to-hsl|olor-rgb-to-hsv|olor-saturate-hsl|olor-saturate-name|olor-srgb-to-lab|olor-srgb-to-xyz|olor-xyz-to-lab|olor-xyz-to-srgb|olumn-number-mode|ombine-after-change-execute|omint--complete-file-name-data|omint--match-partial-filename|omint--requote-argument|omint--unquote&expand-filename|omint--unquote&requote-argument|omint--unquote-argument|omint-accumulate|omint-add-to-input-history|omint-adjust-point|omint-adjust-window-point|omint-after-pmark-p|omint-append-output-to-file|omint-args|omint-arguments|omint-backward-matching-input|omint-bol-or-process-mark|omint-bol|omint-c-a-p-replace-by-expanded-history|omint-carriage-motion|omint-check-proc|omint-check-source|omint-completion-at-point|omint-completion-file-name-table|omint-continue-subjob|omint-copy-old-input|omint-delchar-or-maybe-eof|omint-delete-input|omint-delete-output|omint-delim-arg|omint-directory|omint-dynamic-complete-as-filename|omint-dynamic-complete-filename|omint-dynamic-complete|omint-dynamic-list-completions|omint-dynamic-list-filename-completions|omint-dynamic-list-input-ring-select|omint-dynamic-list-input-ring|omint-dynamic-simple-complete|omint-exec-1|omint-exec|omint-extract-string|omint-filename-completion|omint-forward-matching-input|omint-get-next-from-history|omint-get-old-input-default|omint-get-source|omint-goto-input|omint-goto-process-mark|omint-history-isearch-backward-regexp|omint-history-isearch-backward|omint-history-isearch-end|omint-history-isearch-message|omint-history-isearch-pop-state|omint-history-isearch-push-state|omint-history-isearch-search|omint-history-isearch-setup|omint-history-isearch-wrap|omint-how-many-region|omint-insert-input|omint-insert-previous-argument|omint-interrupt-subjob|omint-kill-input|omint-kill-region|omint-kill-subjob|omint-kill-whole-line|omint-line-beginning-position|omint-magic-space|omint-match-partial-filename|omint-mode|omint-next-input|omint-next-matching-input-from-input|omint-next-matching-input|omint-next-prompt|omint-output-filter|omint-postoutput-scroll-to-bottom|omint-preinput-scroll-to-bottom|omint-previous-input-string|omint-previous-input|omint-previous-matching-input-from-input|omint-previous-matching-input-string-position|omint-previous-matching-input-string|omint-previous-matching-input|omint-previous-prompt|omint-proc-query|omint-quit-subjob|omint-quote-filename|omint-read-input-ring|omint-read-noecho|omint-redirect-cleanup|omint-redirect-filter|omint-redirect-preoutput-filter|omint-redirect-remove-redirection|omint-redirect-results-list-from-process|omint-redirect-results-list|omint-redirect-send-command-to-process|omint-redirect-send-command|omint-redirect-setup|omint-regexp-arg|omint-replace-by-expanded-filename|omint-replace-by-expanded-history-before-point|omint-replace-by-expanded-history|omint-restore-input|omint-run|omint-search-arg|omint-search-start|omint-send-eof|omint-send-input|omint-send-region|omint-send-string|omint-set-process-mark|omint-show-maximum-output|omint-show-output|omint-simple-send|omint-skip-input|omint-skip-prompt|omint-snapshot-last-prompt|omint-source-default|omint-stop-subjob|omint-strip-ctrl-m|omint-substitute-in-file-name|omint-truncate-buffer|omint-unquote-filename|omint-update-fence|omint-watch-for-password-prompt|omint-within-quotes|omint-word|omint-write-input-ring|omint-write-output|ommand-apropos|ommand-error-default-function|ommand-history-mode|ommand-history-repeat|ommand-line-1|ommand-line-normalize-file-name|omment-add|omment-beginning|omment-box|omment-choose-indent|omment-dwim|omment-enter-backward|omment-forward|omment-indent-default|omment-indent-new-line|omment-indent|omment-kill|omment-make-extra-lines|omment-normalize-vars|omment-only-p|omment-or-uncomment-region|omment-padleft|omment-padright|omment-quote-nested|omment-quote-re|omment-region-default|omment-region-internal|omment-region|omment-search-backward|omment-search-forward|omment-set-column|omment-string-reverse|omment-string-strip|omment-valid-prefix-p|omment-with-narrowing|ommon-lisp-indent-function|ommon-lisp-mode|ompare-windows-dehighlight|ompare-windows-get-next-window|ompare-windows-get-recent-window|ompare-windows-highlight|ompare-windows-skip-whitespace|ompare-windows-sync-default-function|ompare-windows-sync-regexp|ompare-windows|ompilation--compat-error-properties|ompilation--compat-parse-errors|ompilation--ensure-parse|ompilation--file-struct->file-spec|ompilation--file-struct->formats|ompilation--file-struct->loc-tree|ompilation--flush-directory-cache|ompilation--flush-file-structure|ompilation--flush-parse|ompilation--loc->col|ompilation--loc->file-struct|ompilation--loc->line|ompilation--loc->marker|ompilation--loc->visited|ompilation--make-cdrloc|ompilation--make-file-struct|ompilation--make-message--cmacro|ompilation--make-message|ompilation--message->end-loc--cmacro|ompilation--message->end-loc|ompilation--message->loc--cmacro|ompilation--message->loc|ompilation--message->type--cmacro|ompilation--message->type|ompilation--message-p--cmacro|ompilation--message-p|ompilation--parse-region|ompilation--previous-directory|ompilation--put-prop|ompilation--remove-properties|ompilation--unsetup|ompilation-auto-jump|ompilation-buffer-internal-p|ompilation-buffer-name|ompilation-buffer-p|ompilation-button-map|ompilation-directory-properties|ompilation-display-error|ompilation-error-properties|ompilation-face|ompilation-fake-loc|ompilation-filter|ompilation-find-buffer|ompilation-find-file|ompilation-forget-errors|ompilation-get-file-structure|ompilation-goto-locus-delete-o|ompilation-goto-locus|ompilation-handle-exit|ompilation-internal-error-properties|ompilation-loop|ompilation-minor-mode|ompilation-mode-font-lock-keywords|ompilation-mode|ompilation-move-to-column|ompilation-next-error-function|ompilation-next-error|ompilation-next-file|ompilation-next-single-property-change)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)c(?:ompilation-parse-errors|ompilation-previous-error|ompilation-previous-file|ompilation-read-command|ompilation-revert-buffer|ompilation-sentinel|ompilation-set-skip-threshold|ompilation-set-window-height|ompilation-set-window|ompilation-setup|ompilation-shell-minor-mode|ompilation-start|ompile-goto-error|ompile-mouse-goto-error|ompile|ompiler-macroexpand|omplete-in-turn|omplete-symbol|omplete-tag|omplete-with-action|omplete|ompleting-read-default|ompleting-read-multiple|ompletion--cache-all-sorted-completions|ompletion--capf-wrapper|ompletion--common-suffix|ompletion--complete-and-exit|ompletion--cycle-threshold|ompletion--do-completion|ompletion--done|ompletion--embedded-envvar-table|ompletion--field-metadata|ompletion--file-name-table|ompletion--flush-all-sorted-completions|ompletion--in-region-1|ompletion--in-region|ompletion--insert-strings|ompletion--make-envvar-table|ompletion--merge-suffix|ompletion--message|ompletion--metadata|ompletion--nth-completion|ompletion--post-self-insert|ompletion--replace|ompletion--sifn-requote|ompletion--some|ompletion--string-equal-p|ompletion--styles|ompletion--try-word-completion|ompletion--twq-all|ompletion--twq-try|ompletion-all-completions|ompletion-all-sorted-completions|ompletion-backup-filename|ompletion-basic--pattern|ompletion-basic-all-completions|ompletion-basic-try-completion|ompletion-before-command|ompletion-c-mode-hook|ompletion-complete-and-exit|ompletion-def-wrapper|ompletion-emacs21-all-completions|ompletion-emacs21-try-completion|ompletion-emacs22-all-completions|ompletion-emacs22-try-completion|ompletion-file-name-table|ompletion-find-file-hook|ompletion-help-at-point|ompletion-hilit-commonality|ompletion-in-region--postch|ompletion-in-region--single-word|ompletion-in-region-mode|ompletion-initialize|ompletion-initials-all-completions|ompletion-initials-expand|ompletion-initials-try-completion|ompletion-kill-region|ompletion-last-use-time|ompletion-lisp-mode-hook|ompletion-list-mode-finish|ompletion-list-mode|ompletion-metadata-get|ompletion-metadata|ompletion-mode|ompletion-num-uses|ompletion-pcm--all-completions|ompletion-pcm--filename-try-filter|ompletion-pcm--find-all-completions|ompletion-pcm--hilit-commonality|ompletion-pcm--merge-completions|ompletion-pcm--merge-try|ompletion-pcm--optimize-pattern|ompletion-pcm--pattern->regex|ompletion-pcm--pattern->string|ompletion-pcm--pattern-trivial-p|ompletion-pcm--prepare-delim-re|ompletion-pcm--string->pattern|ompletion-pcm-all-completions|ompletion-pcm-try-completion|ompletion-search-next|ompletion-search-peek|ompletion-search-reset-1|ompletion-search-reset|ompletion-setup-fortran-mode|ompletion-setup-function|ompletion-source|ompletion-string|ompletion-substring--all-completions|ompletion-substring-all-completions|ompletion-substring-try-completion|ompletion-table-with-context|ompletion-try-completion|ompose-chars-after|ompose-chars|ompose-glyph-string-relative|ompose-glyph-string|ompose-gstring-for-dotted-circle|ompose-gstring-for-graphic|ompose-gstring-for-terminal|ompose-gstring-for-variation-glyph|ompose-last-chars|ompose-mail-other-frame|ompose-mail-other-window|ompose-mail|ompose-region-internal|ompose-region|ompose-string-internal|ompose-string|omposition-get-gstring|oncatenate|ondition-case-no-debug|onf-align-assignments|onf-colon-mode|onf-javaprop-mode|onf-mode-initialize|onf-mode-maybe|onf-mode|onf-outline-level|onf-ppd-mode|onf-quote-normal|onf-space-keywords|onf-space-mode-internal|onf-space-mode|onf-unix-mode|onf-windows-mode|onf-xdefaults-mode|onfirm-nonexistent-file-or-buffer|onstructor|onvert-define-charset-argument|ookie-apropos|ookie-check-file|ookie-doctor|ookie-insert|ookie-read|ookie-shuffle-vector|ookie-snarf|ookie1??|opy-case-table|opy-cvs-flags|opy-cvs-tag|opy-dir-locals-to-file-locals-prop-line|opy-dir-locals-to-file-locals|opy-ebrowse-bs|opy-ebrowse-cs|opy-ebrowse-hs|opy-ebrowse-ms|opy-ebrowse-position|opy-ebrowse-ts|opy-erc-channel-user|opy-erc-response|opy-erc-server-user|opy-ert--ewoc-entry|opy-ert--stats|opy-ert--test-execution-info|opy-ert-test-aborted-with-non-local-exit|opy-ert-test-failed|opy-ert-test-passed|opy-ert-test-quit|opy-ert-test-result-with-condition|opy-ert-test-result|opy-ert-test-skipped|opy-ert-test|opy-ewoc--node|opy-ewoc|opy-face|opy-file-locals-to-dir-locals|opy-flymake-ler|opy-gdb-handler|opy-gdb-table|opy-htmlize-fstruct|opy-js--js-handle|opy-js--pitem|opy-list|opy-package--bi-desc|opy-package-desc|opy-profiler-calltree|opy-profiler-profile|opy-rectangle-as-kill|opy-rectangle-to-register|opy-seq|opy-ses--locprn|opy-sgml-tag|opy-soap-array-type|opy-soap-basic-type|opy-soap-binding|opy-soap-bound-operation|opy-soap-element|opy-soap-message|opy-soap-namespace-link|opy-soap-namespace|opy-soap-operation|opy-soap-port-type|opy-soap-port|opy-soap-sequence-element|opy-soap-sequence-type|opy-soap-simple-type|opy-soap-wsdl|opy-tar-header|opy-to-buffer|opy-to-register|opy-url-queue|opyright-find-copyright|opyright-find-end|opyright-fix-years|opyright-limit|opyright-offset-too-large-p|opyright-re-search|opyright-start-point|opyright-update-directory|opyright-update-year|opyright-update|opyright|ount-if-not|ount-if|ount-lines-page|ount-lines-region|ount-matches|ount-text-lines|ount-trailing-whitespace-region|ount-windows|ount-words--buffer-message|ount-words--message|ount-words-region|ount|perl-1\\\\\\\\+|perl-1-|perl-add-tags-recurse-noxs-fullpath|perl-add-tags-recurse-noxs|perl-add-tags-recurse|perl-after-block-and-statement-beg|perl-after-block-p|perl-after-change-function|perl-after-expr-p|perl-after-label|perl-after-sub-regexp|perl-at-end-of-expr|perl-backward-to-noncomment|perl-backward-to-start-of-continued-exp|perl-backward-to-start-of-expr|perl-beautify-level|perl-beautify-regexp-piece|perl-beautify-regexp|perl-beginning-of-property|perl-block-p|perl-build-manpage|perl-cached-syntax-table|perl-calculate-indent-within-comment|perl-calculate-indent|perl-check-syntax|perl-choose-color|perl-comment-indent|perl-comment-region|perl-commentify|perl-contract-levels??|perl-db|perl-define-key|perl-delay-update-hook|perl-describe-perl-symbol|perl-do-auto-fill|perl-electric-backspace|perl-electric-brace|perl-electric-else|perl-electric-keyword|perl-electric-lbrace|perl-electric-paren|perl-electric-pod|perl-electric-rparen|perl-electric-semi|perl-electric-terminator|perl-emulate-lazy-lock|perl-enable-font-lock|perl-ensure-newlines|perl-etags|perl-facemenu-add-face-function|perl-fill-paragraph|perl-find-bad-style|perl-find-pods-heres-region|perl-find-pods-heres|perl-find-sub-attrs|perl-find-tags|perl-fix-line-spacing|perl-font-lock-fontify-region-function|perl-font-lock-unfontify-region-function|perl-fontify-syntaxically|perl-fontify-update-bad|perl-fontify-update|perl-forward-group-in-re|perl-forward-re|perl-forward-to-end-of-expr|perl-get-help-defer|perl-get-help|perl-get-here-doc-region|perl-get-state|perl-here-doc-spell|perl-highlight-charclass|perl-imenu--create-perl-index|perl-imenu-addback|perl-imenu-info-imenu-name|perl-imenu-info-imenu-search|perl-imenu-name-and-position|perl-imenu-on-info|perl-indent-command|perl-indent-exp|perl-indent-for-comment|perl-indent-line|perl-indent-region|perl-info-buffer|perl-info-on-command|perl-info-on-current-command|perl-init-faces-weak|perl-init-faces|perl-inside-parens-p|perl-invert-if-unless-modifiers|perl-invert-if-unless|perl-lazy-hook|perl-lazy-install|perl-lazy-unstall|perl-linefeed|perl-lineup|perl-list-fold|perl-load-font-lock-keywords-1|perl-load-font-lock-keywords-2|perl-load-font-lock-keywords|perl-look-at-leading-count|perl-make-indent|perl-make-regexp-x|perl-map-pods-heres|perl-mark-active|perl-menu-to-keymap|perl-menu|perl-mode|perl-modify-syntax-type|perl-msb-fix|perl-narrow-to-here-doc|perl-next-bad-style|perl-next-interpolated-REx-0|perl-next-interpolated-REx-1|perl-next-interpolated-REx|perl-outline-level|perl-perldoc-at-point|perl-perldoc|perl-pod-spell|perl-pod-to-manpage|perl-pod2man-build-command|perl-postpone-fontification|perl-protect-defun-start|perl-ps-print-init|perl-ps-print|perl-put-do-not-fontify|perl-putback-char|perl-regext-to-level-start|perl-select-this-pod-or-here-doc|perl-set-style-back|perl-set-style|perl-setup-tmp-buf|perl-sniff-for-indent|perl-switch-to-doc-buffer|perl-tags-hier-fill|perl-tags-hier-init|perl-tags-treeify|perl-time-fontification|perl-to-comment-or-eol|perl-toggle-abbrev|perl-toggle-auto-newline|perl-toggle-autohelp|perl-toggle-construct-fix|perl-toggle-electric|perl-toggle-set-debug-unwind|perl-uncomment-region|perl-unwind-to-safe|perl-update-syntaxification|perl-use-region-p|perl-val|perl-windowed-init|perl-word-at-point-hard|perl-word-at-point|perl-write-tags|perl-xsub-scan|pp-choose-branch|pp-choose-default-face|pp-choose-face|pp-choose-symbol|pp-create-bg-face|pp-edit-apply|pp-edit-background|pp-edit-false|pp-edit-home|pp-edit-known|pp-edit-list-entry-get-or-create|pp-edit-load|pp-edit-mode|pp-edit-reset|pp-edit-save|pp-edit-toggle-known|pp-edit-toggle-unknown|pp-edit-true|pp-edit-unknown|pp-edit-write|pp-face-name|pp-grow-overlay|pp-highlight-buffer|pp-make-button|pp-make-known-overlay|pp-make-overlay-hidden|pp-make-overlay-read-only|pp-make-overlay-sticky|pp-make-unknown-overlay|pp-parse-close|pp-parse-edit|pp-parse-error|pp-parse-open|pp-parse-reset|pp-progress-message|pp-push-button|pp-signal-read-only|reate-default-fontset|reate-fontset-from-ascii-font|reate-fontset-from-x-resource|reate-glyph|rm--choose-completion-string|rm--collection-fn|rm--completion-command|rm--current-element|rm-complete-and-exit|rm-complete-word|rm-complete|rm-completion-help|rm-minibuffer-complete-and-exit|rm-minibuffer-complete|rm-minibuffer-completion-help|ss--font-lock-keywords|ss-current-defun-name|ss-extract-keyword-list|ss-extract-parse-val-grammar|ss-extract-props-and-vals|ss-fill-paragraph|ss-mode|ss-smie--backward-token|ss-smie--forward-token|ss-smie-rules|text-non-standard-encodings-table|text-post-read-conversion|text-pre-write-conversion|tl-x-4-prefix|tl-x-5-prefix|tl-x-ctl-p-prefix|ua--M/H-key|ua--deactivate|ua--fallback|ua--filter-buffer-noprops|ua--init-keymaps|ua--keep-active|ua--post-command-handler-1|ua--post-command-handler|ua--pre-command-handler-1|ua--pre-command-handler|ua--prefix-arg|ua--prefix-copy-handler|ua--prefix-cut-handler|ua--prefix-override-handler|ua--prefix-override-replay|ua--prefix-override-timeout|ua--prefix-repeat-handler|ua--select-keymaps|ua--self-insert-char-p|ua--shift-control-c-prefix|ua--shift-control-prefix|ua--shift-control-x-prefix|ua--update-indications|ua-cancel|ua-copy-region|ua-cut-region|ua-debug|ua-delete-region|ua-exchange-point-and-mark|ua-help-for-region|ua-mode|ua-paste-pop|ua-paste|ua-pop-to-last-change|ua-rectangle-mark-mode|ua-scroll-down|ua-scroll-up|ua-selection-mode|ua-set-mark|ua-set-rectangle-mark|ua-toggle-global-mark|urrent-line|ustom--frame-color-default|ustom--initialize-widget-variables|ustom--sort-vars-1|ustom--sort-vars|ustom-add-dependencies|ustom-add-link|ustom-add-load|ustom-add-option|ustom-add-package-version|ustom-add-parent-links|ustom-add-see-also|ustom-add-to-group|ustom-add-version|ustom-autoload|ustom-available-themes|ustom-browse-face-tag-action|ustom-browse-group-tag-action|ustom-browse-insert-prefix|ustom-browse-variable-tag-action|ustom-browse-visibility-action|ustom-buffer-create-internal|ustom-buffer-create-other-window|ustom-buffer-create|ustom-check-theme|ustom-command-apply|ustom-comment-create|ustom-comment-hide|ustom-comment-invisible-p|ustom-comment-show|ustom-convert-widget|ustom-current-group|ustom-declare-face|ustom-declare-group|ustom-declare-theme|ustom-declare-variable|ustom-face-action|ustom-face-attributes-get|ustom-face-edit-activate|ustom-face-edit-all|ustom-face-edit-attribute-tag|ustom-face-edit-convert-widget)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:custom-face-edit-deactivate|custom-face-edit-delete|custom-face-edit-fix-value|custom-face-edit-lisp|custom-face-edit-selected|custom-face-edit-value-create|custom-face-edit-value-visibility-action|custom-face-get-current-spec|custom-face-mark-to-reset-standard|custom-face-mark-to-save|custom-face-menu-create|custom-face-reset-saved|custom-face-reset-standard|custom-face-save-command|custom-face-save|custom-face-set|custom-face-standard-value|custom-face-state-set-and-redraw|custom-face-state-set|custom-face-state|custom-face-value-create|custom-face-widget-to-spec|custom-facep|custom-file|custom-filter-face-spec|custom-fix-face-spec|custom-get-fresh-buffer|custom-group-action|custom-group-link-action|custom-group-mark-to-reset-standard|custom-group-mark-to-save|custom-group-members|custom-group-menu-create|custom-group-of-mode|custom-group-reset-current|custom-group-reset-saved|custom-group-reset-standard|custom-group-sample-face-get|custom-group-save|custom-group-set|custom-group-state-set-and-redraw|custom-group-state-update|custom-group-value-create|custom-group-visibility-create|custom-guess-type|custom-handle-all-keywords|custom-handle-keyword|custom-hook-convert-widget|custom-initialize-changed|custom-initialize-default|custom-initialize-reset|custom-initialize-set|custom-load-symbol|custom-load-widget|custom-magic-reset|custom-magic-value-create|custom-make-theme-feature|custom-menu-create|custom-menu-filter|custom-mode|custom-note-var-changed|custom-notify|custom-post-filter-face-spec|custom-pre-filter-face-spec|custom-prefix-add|custom-prompt-customize-unsaved-options|custom-prompt-variable|custom-push-theme|custom-put-if-not|custom-quote|custom-redraw-magic|custom-redraw|custom-reset-faces|custom-reset-standard-save-and-update|custom-reset-variables|custom-reset|custom-save-all|custom-save-delete|custom-save-faces|custom-save-variables|custom-set-default|custom-set-minor-mode|custom-show|custom-sort-items|custom-split-regexp-maybe|custom-state-buffer-message|custom-tag-action|custom-tag-mouse-down-action|custom-theme--load-path|custom-theme-enabled-p|custom-theme-load-confirm|custom-theme-name-valid-p|custom-theme-recalc-face|custom-theme-recalc-variable|custom-theme-reset-faces|custom-theme-reset-variables|custom-theme-visit-theme|custom-toggle-hide-face|custom-toggle-hide-variable|custom-toggle-hide|custom-toggle-parent|custom-unlispify-menu-entry|custom-unlispify-tag-name|custom-unloaded-symbol-p|custom-unloaded-widget-p|custom-unsaved-options|custom-variable-action|custom-variable-backup-value|custom-variable-documentation|custom-variable-edit-lisp|custom-variable-edit|custom-variable-mark-to-reset-standard|custom-variable-mark-to-save|custom-variable-menu-create|custom-variable-prompt|custom-variable-reset-backup|custom-variable-reset-saved|custom-variable-reset-standard|custom-variable-save|custom-variable-set|custom-variable-standard-value|custom-variable-state-set-and-redraw|custom-variable-state-set|custom-variable-state|custom-variable-theme-value|custom-variable-type|custom-variable-value-create|customize-apropos-faces|customize-apropos-groups|customize-apropos-options|customize-apropos|customize-browse|customize-changed-options|customize-changed|customize-create-theme|customize-customized|customize-face-other-window|customize-face|customize-group-other-window|customize-group|customize-mark-as-set|customize-mark-to-save|customize-menu-create|customize-mode|customize-object|customize-option-other-window|customize-option|customize-package-emacs-version|customize-project|customize-push-and-save|customize-read-group|customize-rogue|customize-save-customized|customize-save-variable|customize-saved|customize-set-value|customize-set-variable|customize-target|customize-themes|customize-unsaved|customize-variable-other-window|customize-variable|customize-version-lessp|customize|cvs-add-branch-prefix|cvs-add-face|cvs-add-secondary-branch-prefix|cvs-addto-collection|cvs-append-to-ignore|cvs-append|cvs-applicable-p|cvs-buffer-check|cvs-buffer-p|cvs-bury-buffer|cvs-car|cvs-cdr|cvs-change-cvsroot|cvs-check-fileinfo|cvs-checkout|cvs-cleanup-collection|cvs-cleanup-removed|cvs-cmd-do|cvs-commit-filelist|cvs-commit-minor-wrap|cvs-create-fileinfo|cvs-defaults|cvs-diff-backup-extractor|cvs-dir-member-p|cvs-dired-noselect|cvs-do-commit|cvs-do-edit-log|cvs-do-match|cvs-do-removal|cvs-ediff-diff|cvs-ediff-exit-hook|cvs-ediff-merge|cvs-ediff-startup-hook|cvs-edit-log-filelist|cvs-edit-log-minor-wrap|cvs-edit-log-text-at-point|cvs-emerge-diff|cvs-emerge-merge|cvs-enabledp|cvs-every|cvs-examine|cvs-execute-single-file-list|cvs-execute-single-file|cvs-expand-dir-name|cvs-file-to-string|cvs-fileinfo->backup-file|cvs-fileinfo->base-rev--cmacro|cvs-fileinfo->base-rev|cvs-fileinfo->dir--cmacro|cvs-fileinfo->dir|cvs-fileinfo->file--cmacro|cvs-fileinfo->file|cvs-fileinfo->full-log--cmacro|cvs-fileinfo->full-log|cvs-fileinfo->full-name|cvs-fileinfo->full-path|cvs-fileinfo->head-rev--cmacro|cvs-fileinfo->head-rev|cvs-fileinfo->marked--cmacro|cvs-fileinfo->marked|cvs-fileinfo->merge--cmacro|cvs-fileinfo->merge|cvs-fileinfo->pp-name|cvs-fileinfo->subtype--cmacro|cvs-fileinfo->subtype|cvs-fileinfo->type--cmacro|cvs-fileinfo->type|cvs-fileinfo-from-entries|cvs-fileinfo-p--cmacro|cvs-fileinfo-pp??|cvs-fileinfo-update|cvs-fileinfo<|cvs-find-modif|cvs-first|cvs-flags-defaults--cmacro|cvs-flags-defaults|cvs-flags-define|cvs-flags-desc--cmacro|cvs-flags-desc|cvs-flags-hist-sym--cmacro|cvs-flags-hist-sym|cvs-flags-p--cmacro|cvs-flags-p|cvs-flags-persist--cmacro|cvs-flags-persist|cvs-flags-qtypedesc--cmacro|cvs-flags-qtypedesc|cvs-flags-query|cvs-flags-set|cvs-get-buffer-create|cvs-get-cvsroot|cvs-get-marked|cvs-get-module|cvs-global-menu|cvs-header-msg|cvs-help|cvs-ignore-marks-p|cvs-insert-file|cvs-insert-strings|cvs-insert-visited-file|cvs-is-within-p|cvs-make-cvs-buffer|cvs-map|cvs-mark-buffer-changed|cvs-mark-fis-dead|cvs-match|cvs-menu|cvs-minor-mode|cvs-mode!|cvs-mode-acknowledge|cvs-mode-add-change-log-entry-other-window|cvs-mode-add|cvs-mode-byte-compile-files|cvs-mode-checkout|cvs-mode-commit-setup|cvs-mode-commit|cvs-mode-delete-lock|cvs-mode-diff-1|cvs-mode-diff-backup|cvs-mode-diff-head|cvs-mode-diff-map|cvs-mode-diff-repository|cvs-mode-diff-vendor|cvs-mode-diff-yesterday|cvs-mode-diff|cvs-mode-display-file|cvs-mode-do|cvs-mode-edit-log|cvs-mode-examine|cvs-mode-files|cvs-mode-find-file-other-window|cvs-mode-find-file|cvs-mode-force-command|cvs-mode-idiff-other|cvs-mode-idiff|cvs-mode-ignore|cvs-mode-imerge|cvs-mode-insert|cvs-mode-kill-buffers|cvs-mode-kill-process|cvs-mode-log|cvs-mode-map|cvs-mode-mark-all-files|cvs-mode-mark-get-modif|cvs-mode-mark-matching-files|cvs-mode-mark-on-state|cvs-mode-mark|cvs-mode-marked|cvs-mode-next-line|cvs-mode-previous-line|cvs-mode-quit|cvs-mode-remove-handled|cvs-mode-remove|cvs-mode-revert-buffer|cvs-mode-revert-to-rev|cvs-mode-run|cvs-mode-set-flags|cvs-mode-status|cvs-mode-tag|cvs-mode-toggle-marks??|cvs-mode-tree|cvs-mode-undo|cvs-mode-unmark-all-files|cvs-mode-unmark-up|cvs-mode-unmark|cvs-mode-untag|cvs-mode-update|cvs-mode-view-file-other-window|cvs-mode-view-file|cvs-mode|cvs-mouse-toggle-mark|cvs-move-to-goal-column|cvs-or|cvs-parse-buffer|cvs-parse-commit|cvs-parse-merge|cvs-parse-msg|cvs-parse-process|cvs-parse-run-table|cvs-parse-status|cvs-parse-table|cvs-parsed-fileinfo|cvs-partition|cvs-pop-to-buffer-same-frame|cvs-prefix-define|cvs-prefix-get|cvs-prefix-make-local|cvs-prefix-set|cvs-prefix-sym|cvs-qtypedesc-complete--cmacro|cvs-qtypedesc-complete|cvs-qtypedesc-create--cmacro|cvs-qtypedesc-create|cvs-qtypedesc-hist-sym--cmacro|cvs-qtypedesc-hist-sym|cvs-qtypedesc-obj2str--cmacro|cvs-qtypedesc-obj2str|cvs-qtypedesc-p--cmacro|cvs-qtypedesc-p|cvs-qtypedesc-require--cmacro|cvs-qtypedesc-require|cvs-qtypedesc-str2obj--cmacro|cvs-qtypedesc-str2obj|cvs-query-directory|cvs-query-read|cvs-quickdir|cvs-reread-cvsrc|cvs-retrieve-revision|cvs-revert-if-needed|cvs-run-process|cvs-sentinel|cvs-set-branch-prefix|cvs-set-secondary-branch-prefix|cvs-status-current-file|cvs-status-current-tag|cvs-status-cvstrees|cvs-status-get-tags|cvs-status-minor-wrap|cvs-status-mode|cvs-status-next|cvs-status-prev|cvs-status-trees|cvs-status-vl-to-str|cvs-status|cvs-string-prefix-p|cvs-tag->name--cmacro|cvs-tag->name|cvs-tag->string|cvs-tag->type--cmacro|cvs-tag->type|cvs-tag->vlist--cmacro|cvs-tag->vlist|cvs-tag-compare-1|cvs-tag-compare|cvs-tag-lessp|cvs-tag-make--cmacro|cvs-tag-make-tag|cvs-tag-make|cvs-tag-merge|cvs-tag-p--cmacro|cvs-tag-p|cvs-tags->tree|cvs-tags-list|cvs-temp-buffer|cvs-tree-merge|cvs-tree-print|cvs-tree-tags-insert|cvs-union|cvs-update-filter|cvs-update-header|cvs-update|cvs-vc-command-advice|cwarn-font-lock-keywords|cwarn-font-lock-match-assignment-in-expression|cwarn-font-lock-match-dangerous-semicolon|cwarn-font-lock-match-reference|cwarn-font-lock-match|cwarn-inside-macro|cwarn-is-enabled|cwarn-mode-set-explicitly|cwarn-mode|cycle-spacing|cyrillic-encode-alternativnyj-char|cyrillic-encode-koi8-r-char|dabbrev--abbrev-at-point|dabbrev--find-all-expansions|dabbrev--find-expansion|dabbrev--goto-start-of-abbrev|dabbrev--ignore-buffer-p|dabbrev--ignore-case-p|dabbrev--make-friend-buffer-list|dabbrev--minibuffer-origin|dabbrev--reset-global-variables|dabbrev--safe-replace-match|dabbrev--same-major-mode-p|dabbrev--search|dabbrev--select-buffers|dabbrev--substitute-expansion|dabbrev--try-find|dabbrev-completion|dabbrev-expand|dabbrev-filter-elements|daemon-initialized|daemonp|data-debug-new-buffer|date-to-day|days-between|days-to-time|dbus--init-bus|dbus-byte-array-to-string|dbus-call-method-handler|dbus-check-event|dbus-escape-as-identifier|dbus-event-bus-name|dbus-event-interface-name|dbus-event-member-name|dbus-event-message-type|dbus-event-path-name|dbus-event-serial-number|dbus-event-service-name|dbus-get-all-managed-objects|dbus-get-all-properties|dbus-get-name-owner|dbus-get-property|dbus-get-unique-name|dbus-handle-bus-disconnect|dbus-handle-event|dbus-ignore-errors|dbus-init-bus|dbus-introspect-get-all-nodes|dbus-introspect-get-annotation-names|dbus-introspect-get-annotation|dbus-introspect-get-argument-names|dbus-introspect-get-argument|dbus-introspect-get-attribute|dbus-introspect-get-interface-names|dbus-introspect-get-interface|dbus-introspect-get-method-names|dbus-introspect-get-method|dbus-introspect-get-node-names|dbus-introspect-get-property-names|dbus-introspect-get-property|dbus-introspect-get-signal-names|dbus-introspect-get-signal|dbus-introspect-get-signature|dbus-introspect-xml|dbus-introspect|dbus-list-activatable-names|dbus-list-hash-table|dbus-list-known-names|dbus-list-names|dbus-list-queued-owners|dbus-managed-objects-handler|dbus-message-internal|dbus-method-error-internal|dbus-method-return-internal|dbus-notice-synchronous-call-errors|dbus-peer-handler|dbus-ping|dbus-property-handler|dbus-register-method|dbus-register-property|dbus-register-service|dbus-register-signal|dbus-set-property|dbus-setenv|dbus-string-to-byte-array|dbus-unescape-from-identifier|dbus-unregister-object|dbus-unregister-service|dbx|dcl-back-to-indentation-1|dcl-back-to-indentation|dcl-backward-command|dcl-beginning-of-command-p|dcl-beginning-of-command|dcl-beginning-of-statement|dcl-calc-command-indent-hang|dcl-calc-command-indent-multiple|dcl-calc-command-indent|dcl-calc-cont-indent-relative|dcl-calc-continuation-indent|dcl-command-p|dcl-delete-chars|dcl-delete-indentation|dcl-electric-character|dcl-end-of-command-p|dcl-end-of-command|dcl-end-of-statement|dcl-forward-command|dcl-get-line-type|dcl-guess-option-value|dcl-guess-option|dcl-imenu-create-index-function|dcl-indent-command-line|dcl-indent-command|dcl-indent-continuation-line|dcl-indent-line|dcl-indent-to|dcl-indentation-point|dcl-mode|dcl-option-value-basic|dcl-option-value-comment-line|dcl-option-value-margin-offset|dcl-option-value-offset|dcl-save-all-options|dcl-save-local-variable|dcl-save-mode|dcl-save-nondefault-options|dcl-save-option|dcl-set-option|dcl-show-line-type|dcl-split-line|dcl-tab|dcl-was-looking-at|deactivate-input-method|deactivate-mode-local-bindings|debug--function-list|debug--implement-debug-on-entry|debug-help-follow|debugger--backtrace-base|debugger--hide-locals|debugger--insert-locals|debugger--locals-visible-p|debugger--show-locals)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)d(?:ebugger-continue|ebugger-env-macro|ebugger-eval-expression|ebugger-frame-clear|ebugger-frame-number|ebugger-frame|ebugger-jump|ebugger-list-functions|ebugger-make-xrefs|ebugger-mode|ebugger-record-expression|ebugger-reenable|ebugger-return-value|ebugger-setup-buffer|ebugger-step-through|ebugger-toggle-locals|ecf|ecipher--analyze|ecipher--digram-counts|ecipher--digram-total|ecipher-add-undo|ecipher-adjacency-list|ecipher-alphabet-keypress|ecipher-analyze-buffer|ecipher-analyze|ecipher-complete-alphabet|ecipher-copy-cons|ecipher-digram-list|ecipher-display-range|ecipher-display-regexp|ecipher-display-stats-buffer|ecipher-frequency-count|ecipher-get-undo|ecipher-insert-frequency-counts|ecipher-insert|ecipher-keypress|ecipher-last-command-char|ecipher-loop-no-breaks|ecipher-loop-with-breaks|ecipher-make-checkpoint|ecipher-mode|ecipher-read-alphabet|ecipher-restore-checkpoint|ecipher-resync|ecipher-set-map|ecipher-show-alphabet|ecipher-stats-buffer|ecipher-stats-mode|ecipher-undo|ecipher|eclaim|eclare-ccl-program|eclare-equiv-charset|ecode-big5-char|ecode-composition-components|ecode-composition-rule|ecode-hex-string|ecode-hz-buffer|ecode-hz-region|ecode-sjis-char|ecompose-region|ecompose-string|ecrease-left-margin|ecrease-right-margin|ef-gdb-auto-update-handler|ef-gdb-auto-update-trigger|ef-gdb-memory-format|ef-gdb-memory-show-page|ef-gdb-memory-unit|ef-gdb-preempt-display-buffer|ef-gdb-set-positive-number|ef-gdb-thread-buffer-command|ef-gdb-thread-buffer-gud-command|ef-gdb-thread-buffer-simple-command|ef-gdb-trigger-and-handler|efault-command-history-filter|efault-font-height|efault-indent-new-line|efault-line-height|efault-toplevel-value|efcalcmodevar|efconst-mode-local|efcustom-c-stylevar|efcustom-mh|efezimage|efface-mh|efgeneric|efgroup-mh|efimage-speedbar|efine-abbrevs|efine-advice|efine-auto-insert|efine-ccl-program|efine-char-code-property|efine-charset-alias|efine-charset-internal|efine-charset|efine-child-mode|efine-coding-system-alias|efine-coding-system-internal|efine-coding-system|efine-compilation-mode|efine-compiler-macro|efine-erc-module|efine-erc-response-handler|efine-global-abbrev|efine-global-minor-mode|efine-hmac-function|efine-ibuffer-column|efine-ibuffer-filter|efine-ibuffer-op|efine-ibuffer-sorter|efine-inline|efine-lex-analyzer|efine-lex-block-analyzer|efine-lex-block-type-analyzer|efine-lex-keyword-type-analyzer|efine-lex-regex-analyzer|efine-lex-regex-type-analyzer|efine-lex-sexp-type-analyzer|efine-lex-simple-regex-analyzer|efine-lex-string-type-analyzer|efine-lex|efine-mail-abbrev|efine-mail-alias|efine-mail-user-agent|efine-mode-abbrev|efine-mode-local-override|efine-mode-overload-implementation|efine-overload|efine-overloadable-function|efine-setf-expander|efine-skeleton|efine-translation-hash-table|efine-translation-table|efine-widget-keywords|efmacro-mh|efmath|efmethod|efun-cvs-mode|efun-gmm|efun-mh|efun-rcirc-command|efvar-mode-local|egrees-to-radians|ehexlify-buffer|elay-warning|elete\\\\\\\\*|elete-active-region|elete-all-overlays|elete-completion-window|elete-completion|elete-consecutive-dups|elete-dir-local-variable|elete-directory-internal|elete-duplicate-lines|elete-duplicates|elete-extract-rectangle-line|elete-extract-rectangle|elete-file-local-variable-prop-line|elete-file-local-variable|elete-forward-char|elete-frame-enabled-p|elete-if-not|elete-if|elete-instance|elete-matching-lines|elete-non-matching-lines|elete-other-frames|elete-other-windows-internal|elete-other-windows-vertically|elete-pair|elete-rectangle-line|elete-rectangle|elete-selection-helper|elete-selection-mode|elete-selection-pre-hook|elete-selection-repeat-replace-region|elete-side-window|elete-whitespace-rectangle-line|elete-whitespace-rectangle|elete-window-internal|elimit-columns-customize|elimit-columns-format|elimit-columns-rectangle-line|elimit-columns-rectangle-max|elimit-columns-rectangle|elimit-columns-region|elimit-columns-str|elphi-mode|elsel-unload-function|enato-region|erived-mode-abbrev-table-name|erived-mode-class|erived-mode-hook-name|erived-mode-init-mode-variables|erived-mode-make-docstring|erived-mode-map-name|erived-mode-merge-abbrev-tables|erived-mode-merge-keymaps|erived-mode-merge-syntax-tables|erived-mode-run-hooks|erived-mode-set-abbrev-table|erived-mode-set-keymap|erived-mode-set-syntax-table|erived-mode-setup-function-name|erived-mode-syntax-table-name|escribe-bindings-internal|escribe-buffer-bindings|escribe-char-after|escribe-char-categories|escribe-char-display|escribe-char-padded-string|escribe-char-unicode-data|escribe-char|escribe-character-set|escribe-chinese-environment-map|escribe-coding-system|escribe-copying|escribe-current-coding-system-briefly|escribe-current-coding-system|escribe-current-input-method|escribe-cyrillic-environment-map|escribe-distribution|escribe-european-environment-map|escribe-face|escribe-font|escribe-fontset|escribe-function-1|escribe-function|escribe-gnu-project|escribe-indian-environment-map|escribe-input-method|escribe-key-briefly|escribe-key|escribe-language-environment|escribe-minor-mode-completion-table-for-indicator|escribe-minor-mode-completion-table-for-symbol|escribe-minor-mode-from-indicator|escribe-minor-mode-from-symbol|escribe-minor-mode|escribe-mode-local-bindings-in-mode|escribe-mode-local-bindings|escribe-no-warranty|escribe-package-1|escribe-package|escribe-project|escribe-property-list|escribe-register-1|escribe-specified-language-support|escribe-text-category|escribe-text-properties-1|escribe-text-properties|escribe-text-sexp|escribe-text-widget|escribe-theme|escribe-variable-custom-version-info|escribe-variable|escribe-vector|esktop--check-dont-save|esktop--v2s|esktop-append-buffer-args|esktop-auto-save-cancel-timer|esktop-auto-save-disable|esktop-auto-save-enable|esktop-auto-save-set-timer|esktop-auto-save|esktop-buffer-info|esktop-buffer|esktop-change-dir|esktop-claim-lock|esktop-clear|esktop-create-buffer|esktop-file-name|esktop-full-file-name|esktop-full-lock-name|esktop-idle-create-buffers|esktop-kill|esktop-lazy-abort|esktop-lazy-complete|esktop-lazy-create-buffer|esktop-list\\\\\\\\*|esktop-load-default|esktop-load-file|esktop-outvar|esktop-owner|esktop-read|esktop-release-lock|esktop-remove|esktop-restore-file-buffer|esktop-restore-frameset|esktop-restoring-frameset-p|esktop-revert|esktop-save-buffer-p|esktop-save-frameset|esktop-save-in-desktop-dir|esktop-save-mode-off|esktop-save-mode|esktop-save|esktop-truncate|esktop-value-to-string|estructor|estructuring-bind|etect-coding-with-language-environment|etect-coding-with-priority|frame-attached-frame|frame-click|frame-close-frame|frame-current-frame|frame-detach|frame-double-click|frame-frame-mode|frame-frame-parameter|frame-get-focus|frame-hack-buffer-menu|frame-handle-delete-frame|frame-handle-iconify-frame|frame-handle-make-frame-visible|frame-help-echo|frame-live-p|frame-maybee-jump-to-attached-frame|frame-message|frame-mouse-event-p|frame-mouse-hscroll|frame-mouse-set-point|frame-needed-height|frame-popup-kludge|frame-power-click|frame-quick-mouse|frame-reposition-frame-emacs|frame-reposition-frame-xemacs|frame-reposition-frame|frame-select-attached-frame|frame-set-timer-internal|frame-set-timer|frame-switch-buffer-attached-frame|frame-temp-buffer-show-function|frame-timer-fn|frame-track-mouse-xemacs|frame-track-mouse|frame-update-keymap|frame-with-attached-buffer|frame-y-or-n-p|iary-add-to-list|iary-anniversary|iary-astro-day-number|iary-attrtype-convert|iary-bahai-date|iary-bahai-insert-entry|iary-bahai-insert-monthly-entry|iary-bahai-insert-yearly-entry|iary-bahai-list-entries|iary-bahai-mark-entries|iary-block|iary-check-diary-file|iary-chinese-anniversary|iary-chinese-date|iary-chinese-insert-anniversary-entry|iary-chinese-insert-entry|iary-chinese-insert-monthly-entry|iary-chinese-insert-yearly-entry|iary-chinese-list-entries|iary-chinese-mark-entries|iary-coptic-date|iary-cyclic|iary-date-display-form|iary-date|iary-day-of-year|iary-display-no-entries|iary-entry-compare|iary-entry-time|iary-ethiopic-date|iary-fancy-date-matcher|iary-fancy-date-pattern|iary-fancy-display-mode|iary-fancy-display|iary-fancy-font-lock-fontify-region-function|iary-float|iary-font-lock-date-forms|iary-font-lock-keywords-1|iary-font-lock-keywords|iary-font-lock-sexps|iary-french-date|iary-from-outlook-gnus|iary-from-outlook-internal|iary-from-outlook-rmail|iary-from-outlook|iary-goto-entry|iary-hebrew-birthday|iary-hebrew-date|iary-hebrew-insert-entry|iary-hebrew-insert-monthly-entry|iary-hebrew-insert-yearly-entry|iary-hebrew-list-entries|iary-hebrew-mark-entries|iary-hebrew-omer|iary-hebrew-parasha|iary-hebrew-rosh-hodesh|iary-hebrew-sabbath-candles|iary-hebrew-yahrzeit|iary-include-files|iary-include-other-diary-files|iary-insert-anniversary-entry|iary-insert-block-entry|iary-insert-cyclic-entry|iary-insert-entry-1|iary-insert-entry|iary-insert-monthly-entry|iary-insert-weekly-entry|iary-insert-yearly-entry|iary-islamic-date|iary-islamic-insert-entry|iary-islamic-insert-monthly-entry|iary-islamic-insert-yearly-entry|iary-islamic-list-entries|iary-islamic-mark-entries|iary-iso-date|iary-julian-date|iary-list-entries-1|iary-list-entries-2|iary-list-entries|iary-list-sexp-entries|iary-live-p|iary-lunar-phases|iary-mail-entries|iary-make-date|iary-make-entry|iary-mark-entries-1|iary-mark-entries|iary-mark-included-diary-files|iary-mark-sexp-entries|iary-mayan-date|iary-mode|iary-name-pattern|iary-ordinal-suffix|iary-outlook-format-1|iary-persian-date|iary-print-entries|iary-pull-attrs|iary-redraw-calendar|iary-remind|iary-set-header|iary-set-maybe-redraw|iary-sexp-entry|iary-show-all-entries|iary-simple-display|iary-sort-entries|iary-sunrise-sunset|iary-unhide-everything|iary-view-entries|iary-view-other-diary-entries|iary|iff-add-change-log-entries-other-window|iff-after-change-function|iff-apply-hunk|iff-auto-refine-mode|iff-backup|iff-beginning-of-file-and-junk|iff-beginning-of-file|iff-beginning-of-hunk|iff-bounds-of-file|iff-bounds-of-hunk|iff-buffer-with-file|iff-context->unified|iff-count-matches|iff-current-defun|iff-delete-empty-files|iff-delete-if-empty|iff-delete-trailing-whitespace|iff-ediff-patch|iff-end-of-file|iff-end-of-hunk|iff-file-kill|iff-file-local-copy|iff-file-next|iff-file-prev|iff-filename-drop-dir|iff-find-approx-text|iff-find-file-name|iff-find-source-location|iff-find-text|iff-fixup-modifs|iff-goto-source|iff-hunk-file-names|iff-hunk-kill|iff-hunk-next|iff-hunk-prev|iff-hunk-status-msg|iff-hunk-style|iff-hunk-text|iff-ignore-whitespace-hunk|iff-kill-applied-hunks|iff-kill-junk|iff-latest-backup-file|iff-make-unified|iff-merge-strings|iff-minor-mode|iff-mode-menu|iff-mode|iff-mouse-goto-source|iff-next-complex-hunk|iff-next-error|iff-no-select|iff-post-command-hook|iff-process-filter|iff-refine-hunk|iff-refine-preproc|iff-restrict-view|iff-reverse-direction|iff-sanity-check-context-hunk-half|iff-sanity-check-hunk|iff-sentinel|iff-setup-whitespace|iff-split-hunk|iff-splittable-p|iff-switches|iff-tell-file-name|iff-test-hunk|iff-undo|iff-unified->context|iff-unified-hunk-p|iff-write-contents-hooks|iff-xor|iff-yank-function|iff|ig-exit|ig-extract-rr|ig-invoke|ig-mode|ig-rr-get-pkix-cert|ig|igest-md5-challenge|igest-md5-digest-response|igest-md5-digest-uri|igest-md5-parse-digest-challenge|ir-locals-collect-mode-variables|ir-locals-collect-variables|ir-locals-find-file|ir-locals-get-class-variables|ir-locals-read-from-file|irectory-files-recursively|irectory-name-p|ired-add-file|ired-advertise|ired-advertised-find-file|ired-align-file|ired-alist-add-1|ired-at-point-prompter|ired-at-point|ired-backup-diff|ired-between-files|ired-buffer-stale-p|ired-buffers-for-dir|ired-build-subdir-alist|ired-change-marks|ired-check-switches|ired-clean-directory|ired-clean-up-after-deletion|ired-clear-alist|ired-compare-directories|ired-compress-file|ired-copy-file|ired-copy-filename-as-kill|ired-create-directory)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:dired-current-directory|dired-delete-entry|dired-delete-file|dired-desktop-buffer-misc-data|dired-diff|dired-directory-changed-p|dired-display-file|dired-dnd-do-ask-action|dired-dnd-handle-file|dired-dnd-handle-local-file|dired-dnd-popup-notice|dired-do-async-shell-command|dired-do-byte-compile|dired-do-chgrp|dired-do-chmod|dired-do-chown|dired-do-compress|dired-do-copy-regexp|dired-do-copy|dired-do-create-files-regexp|dired-do-delete|dired-do-flagged-delete|dired-do-hardlink-regexp|dired-do-hardlink|dired-do-isearch-regexp|dired-do-isearch|dired-do-kill-lines|dired-do-load|dired-do-print|dired-do-query-replace-regexp|dired-do-redisplay|dired-do-relsymlink|dired-do-rename-regexp|dired-do-rename|dired-do-search|dired-do-shell-command|dired-do-symlink-regexp|dired-do-symlink|dired-do-touch|dired-downcase|dired-file-marker|dired-file-name-at-point|dired-find-alternate-file|dired-find-buffer-nocreate|dired-find-file-other-window|dired-find-file|dired-flag-auto-save-files|dired-flag-backup-files|dired-flag-file-deletion|dired-flag-files-regexp|dired-flag-garbage-files|dired-format-columns-of-files|dired-fun-in-all-buffers|dired-get-file-for-visit|dired-get-filename|dired-get-marked-files|dired-get-subdir-max|dired-get-subdir-min|dired-get-subdir|dired-glob-regexp|dired-goto-file-1|dired-goto-file|dired-goto-next-file|dired-goto-next-nontrivial-file|dired-goto-subdir|dired-hide-all|dired-hide-details-mode|dired-hide-details-update-invisibility-spec|dired-hide-subdir|dired-in-this-tree|dired-initial-position|dired-insert-directory|dired-insert-old-subdirs|dired-insert-set-properties|dired-insert-subdir|dired-internal-do-deletions|dired-internal-noselect|dired-isearch-filenames-regexp|dired-isearch-filenames-setup|dired-isearch-filenames|dired-jump-other-window|dired-jump|dired-kill-subdir|dired-log-summary|dired-log|dired-make-absolute|dired-make-relative|dired-map-over-marks|dired-mark-directories|dired-mark-executables|dired-mark-files-containing-regexp|dired-mark-files-in-region|dired-mark-files-regexp|dired-mark-if|dired-mark-pop-up|dired-mark-prompt|dired-mark-remembered|dired-mark-subdir-files|dired-mark-symlinks|dired-mark|dired-marker-regexp|dired-maybe-insert-subdir|dired-mode|dired-mouse-find-file-other-window|dired-move-to-end-of-filename|dired-move-to-filename|dired-next-dirline|dired-next-line|dired-next-marked-file|dired-next-subdir|dired-normalize-subdir|dired-noselect|dired-other-frame|dired-other-window|dired-plural-s|dired-pop-to-buffer|dired-prev-dirline|dired-prev-marked-file|dired-prev-subdir|dired-previous-line|dired-query|dired-read-dir-and-switches|dired-read-regexp|dired-readin-insert|dired-readin|dired-relist-file|dired-remember-hidden|dired-remember-marks|dired-remove-file|dired-rename-file|dired-repeat-over-lines|dired-replace-in-string|dired-restore-desktop-buffer|dired-restore-positions|dired-revert|dired-run-shell-command|dired-safe-switches-p|dired-save-positions|dired-show-file-type|dired-sort-R-check|dired-sort-other|dired-sort-set-mode-line|dired-sort-set-modeline|dired-sort-toggle-or-edit|dired-sort-toggle|dired-string-replace-match|dired-subdir-index|dired-subdir-max|dired-summary|dired-switches-escape-p|dired-switches-recursive-p|dired-toggle-marks|dired-toggle-read-only|dired-tree-down|dired-tree-up|dired-unadvertise|dired-uncache|dired-undo|dired-unmark-all-files|dired-unmark-all-marks|dired-unmark-backward|dired-unmark|dired-up-directory|dired-upcase|dired-view-file|dired-why|dired|dirs|dirtrack-cygwin-directory-function|dirtrack-debug-message|dirtrack-debug-mode|dirtrack-debug-toggle|dirtrack-mode|dirtrack-toggle|dirtrack-windows-directory-function|dirtrack|disable-timeout|disassemble-1|disassemble-internal|disassemble-offset|display-about-screen|display-battery-mode|display-buffer--maybe-pop-up-frame-or-window|display-buffer--maybe-same-window|display-buffer--special-action|display-buffer-assq-regexp|display-buffer-in-atom-window|display-buffer-in-major-side-window|display-buffer-in-side-window|display-buffer-other-frame|display-buffer-record-window|display-call-tree|display-local-help|display-multi-font-p|display-multi-frame-p|display-splash-screen|display-startup-echo-area-message|display-startup-screen|display-table-print-array|display-time-mode|display-time-world|display-time|displaying-byte-compile-warnings|dissociated-press|dnd-get-local-file-name|dnd-get-local-file-uri|dnd-handle-one-url|dnd-insert-text|dnd-open-file|dnd-open-local-file|dnd-open-remote-url|dnd-unescape-uri|dns-get-txt-answer|dns-get|dns-inverse-get|dns-lookup-host|dns-make-network-process|dns-mode-menu|dns-mode-soa-increment-serial|dns-mode-soa-maybe-increment-serial|dns-mode|dns-query-cached|dns-query|dns-read-bytes|dns-read-int32|dns-read-name|dns-read-string-name|dns-read-txt|dns-read-type|dns-read|dns-servers-up-to-date-p|dns-set-servers|dns-write-bytes|dns-write-name|dns-write|dnsDomainIs|dnsResolve|do\\\\\\\\*|do-after-load-evaluation|do-all-symbols|do-auto-fill|do-symbols|do|doc\\\\\\\\$|doc//|doc-file-to-info|doc-file-to-man|doc-view--current-cache-dir|doc-view-active-pages|doc-view-already-converted-p|doc-view-bookmark-jump|doc-view-bookmark-make-record|doc-view-buffer-message|doc-view-clear-cache|doc-view-clone-buffer-hook|doc-view-convert-current-doc|doc-view-current-cache-doc-pdf|doc-view-current-image|doc-view-current-info|doc-view-current-overlay|doc-view-current-page|doc-view-current-slice|doc-view-desktop-save-buffer|doc-view-dired-cache|doc-view-display|doc-view-djvu->tiff-converter-ddjvu|doc-view-doc->txt|doc-view-document->bitmap|doc-view-dvi->pdf|doc-view-enlarge|doc-view-fallback-mode|doc-view-first-page|doc-view-fit-height-to-window|doc-view-fit-page-to-window|doc-view-fit-width-to-window|doc-view-get-bounding-box|doc-view-goto-page|doc-view-guess-paper-size|doc-view-initiate-display|doc-view-insert-image|doc-view-intersection|doc-view-kill-proc-and-buffer|doc-view-kill-proc|doc-view-last-page-number|doc-view-last-page|doc-view-make-safe-dir|doc-view-menu|doc-view-minor-mode|doc-view-mode-maybe|doc-view-mode-p|doc-view-mode|doc-view-new-window-function|doc-view-next-line-or-next-page|doc-view-next-page|doc-view-odf->pdf-converter-soffice|doc-view-odf->pdf-converter-unoconv|doc-view-open-text|doc-view-pdf/ps->png|doc-view-pdf->png-converter-ghostscript|doc-view-pdf->png-converter-mupdf|doc-view-pdf->txt|doc-view-previous-line-or-previous-page|doc-view-previous-page|doc-view-ps->pdf|doc-view-ps->png-converter-ghostscript|doc-view-reconvert-doc|doc-view-reset-slice|doc-view-restore-desktop-buffer|doc-view-revert-buffer|doc-view-scale-adjust|doc-view-scale-bounding-box|doc-view-scale-reset|doc-view-scroll-down-or-previous-page|doc-view-scroll-up-or-next-page|doc-view-search-backward|doc-view-search-internal|doc-view-search-next-match|doc-view-search-no-of-matches|doc-view-search-previous-match|doc-view-search|doc-view-sentinel|doc-view-set-doc-type|doc-view-set-slice-from-bounding-box|doc-view-set-slice-using-mouse|doc-view-set-slice|doc-view-set-up-single-converter|doc-view-show-tooltip|doc-view-shrink|doc-view-sort|doc-view-start-process|doc-view-toggle-display|doctex-font-lock-\\\\\\\\^\\\\\\\\^A|doctex-font-lock-syntactic-face-function|doctex-mode|doctor-\\\\\\\\$|doctor-adjectivep|doctor-adverbp|doctor-alcohol|doctor-articlep|doctor-assm|doctor-build|doctor-chat|doctor-colorp|doctor-concat|doctor-conj|doctor-correct-spelling|doctor-death|doctor-def|doctor-define|doctor-defq|doctor-desire1??|doctor-doc|doctor-drug|doctor-eliza|doctor-family|doctor-fear|doctor-fix-2|doctor-fixup|doctor-forget|doctor-foul|doctor-getnoun|doctor-go|doctor-hates??|doctor-hates1|doctor-howdy|doctor-huh|doctor-loves??|doctor-mach|doctor-make-string|doctor-math|doctor-meaning|doctor-mode|doctor-modifierp|doctor-mood|doctor-nmbrp|doctor-nounp|doctor-othermodifierp|doctor-plural|doctor-possess|doctor-possessivepronounp|doctor-prepp|doctor-pronounp|doctor-put-meaning|doctor-qloves|doctor-query|doctor-read-print|doctor-read-token|doctor-readin|doctor-remem|doctor-remember|doctor-replace|doctor-ret-or-read|doctor-rms|doctor-rthing|doctor-school|doctor-setprep|doctor-sexnoun|doctor-sexverb|doctor-short|doctor-shorten|doctor-sizep|doctor-sports|doctor-state|doctor-subjsearch|doctor-svo|doctor-symptoms|doctor-toke|doctor-txtype|doctor-type-symbol|doctor-type|doctor-verbp|doctor-vowelp|doctor-when|doctor-wherego|doctor-zippy|doctor|dom-add-child-before|dom-append-child|dom-attr|dom-attributes|dom-by-class|dom-by-id|dom-by-style|dom-by-tag|dom-child-by-tag|dom-children|dom-elements|dom-ensure-node|dom-node|dom-non-text-children|dom-parent|dom-pp|dom-set-attributes??|dom-tag|dom-texts??|dont-compile|double-column|double-mode|double-read-event|double-translate-key|down-ifdef|dsssl-mode|dunnet|dynamic-completion-mode|dynamic-completion-table|dynamic-setting-handle-config-changed-event|easy-menu-add-item|easy-menu-add|easy-menu-always-true-p|easy-menu-binding|easy-menu-change|easy-menu-convert-item-1|easy-menu-convert-item|easy-menu-create-menu|easy-menu-define-key|easy-menu-do-define|easy-menu-filter-return|easy-menu-get-map|easy-menu-intern|easy-menu-item-present-p|easy-menu-lookup-name|easy-menu-make-symbol|easy-menu-name-match|easy-menu-remove-item|easy-menu-remove|easy-menu-return-item|easy-mmode-define-global-mode|easy-mmode-define-keymap|easy-mmode-define-navigation|easy-mmode-define-syntax|easy-mmode-defmap|easy-mmode-defsyntax|easy-mmode-pretty-mode-name|easy-mmode-set-keymap-parents|ebnf-abn-initialize|ebnf-abn-parser|ebnf-adjust-empty|ebnf-adjust-width|ebnf-alternative-dimension|ebnf-alternative-width|ebnf-apply-style1??|ebnf-begin-file|ebnf-begin-job|ebnf-begin-line|ebnf-bnf-initialize|ebnf-bnf-parser|ebnf-boolean|ebnf-buffer-substring|ebnf-check-style-values|ebnf-customize|ebnf-delete-style|ebnf-despool|ebnf-dimensions|ebnf-directory|ebnf-dtd-initialize|ebnf-dtd-parser|ebnf-dup-list|ebnf-ebx-initialize|ebnf-ebx-parser|ebnf-element-width|ebnf-eliminate-empty-rules|ebnf-empty-alternative|ebnf-end-of-string|ebnf-entry|ebnf-eop-horizontal|ebnf-eop-vertical|ebnf-eps-add-context|ebnf-eps-add-production|ebnf-eps-buffer|ebnf-eps-directory|ebnf-eps-file|ebnf-eps-filename|ebnf-eps-finish-and-write|ebnf-eps-footer-comment|ebnf-eps-footer|ebnf-eps-header-comment|ebnf-eps-header-footer-comment|ebnf-eps-header-footer-file|ebnf-eps-header-footer-p|ebnf-eps-header-footer-set|ebnf-eps-header-footer|ebnf-eps-header|ebnf-eps-output|ebnf-eps-production-list|ebnf-eps-region|ebnf-eps-remove-context|ebnf-eps-string|ebnf-eps-write-kill-temp|ebnf-except-dimension|ebnf-file|ebnf-find-style|ebnf-font-attributes|ebnf-font-background|ebnf-font-foreground|ebnf-font-height|ebnf-font-list|ebnf-font-name-select|ebnf-font-name|ebnf-font-select|ebnf-font-size|ebnf-font-width|ebnf-format-color|ebnf-format-float|ebnf-gen-terminal|ebnf-generate-alternative|ebnf-generate-empty|ebnf-generate-eps|ebnf-generate-except|ebnf-generate-non-terminal|ebnf-generate-one-or-more|ebnf-generate-optional|ebnf-generate-postscript|ebnf-generate-production|ebnf-generate-region|ebnf-generate-repeat|ebnf-generate-sequence|ebnf-generate-special|ebnf-generate-terminal|ebnf-generate-with-max-height|ebnf-generate-without-max-height|ebnf-generate-zero-or-more|ebnf-generate|ebnf-get-string|ebnf-horizontal-movement|ebnf-insert-ebnf-prologue|ebnf-insert-style|ebnf-iso-initialize|ebnf-iso-parser|ebnf-justify-list|ebnf-justify|ebnf-log-header|ebnf-log|ebnf-make-alternative|ebnf-make-dup-sequence|ebnf-make-empty|ebnf-make-except|ebnf-make-non-terminal|ebnf-make-one-or-more|ebnf-make-optional|ebnf-make-or-more1|ebnf-make-production|ebnf-make-repeat|ebnf-make-sequence|ebnf-make-special|ebnf-make-terminal1??|ebnf-make-zero-or-more|ebnf-max-width|ebnf-merge-style|ebnf-message-float|ebnf-message-info|ebnf-new-page|ebnf-newline|ebnf-node-action|ebnf-node-default|ebnf-node-dimension-func|ebnf-node-entry|ebnf-node-generation|ebnf-node-height|ebnf-node-kind|ebnf-node-list|ebnf-node-name|ebnf-node-production|ebnf-node-separator|ebnf-node-width-func|ebnf-node-width|ebnf-non-terminal-dimension|ebnf-one-or-more-dimension|ebnf-optimize|ebnf-optional-dimension|ebnf-otz-initialize|ebnf-parse-and-sort|ebnf-pop-style|ebnf-print-buffer|ebnf-print-directory|ebnf-print-file|ebnf-print-region|ebnf-production-dimension|ebnf-push-style|ebnf-range-regexp|ebnf-repeat-dimension|ebnf-reset-style|ebnf-sequence-dimension|ebnf-sequence-width)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)e(?:bnf-setup|bnf-shape-value|bnf-sorter-ascending|bnf-sorter-descending|bnf-special-dimension|bnf-spool-buffer|bnf-spool-directory|bnf-spool-file|bnf-spool-region|bnf-string|bnf-syntax-buffer|bnf-syntax-directory|bnf-syntax-file|bnf-syntax-region|bnf-terminal-dimension1??|bnf-token-alternative|bnf-token-except|bnf-token-optional|bnf-token-repeat|bnf-token-sequence|bnf-trim-right|bnf-vertical-movement|bnf-yac-initialize|bnf-yac-parser|bnf-zero-or-more-dimension|browse-back-in-position-stack|browse-base-classes|browse-browser-buffer-list|browse-bs-file--cmacro|browse-bs-file|browse-bs-flags--cmacro|browse-bs-flags|browse-bs-name--cmacro|browse-bs-name|browse-bs-p--cmacro|browse-bs-p|browse-bs-pattern--cmacro|browse-bs-pattern|browse-bs-point--cmacro|browse-bs-point|browse-bs-scope--cmacro|browse-bs-scope|browse-buffer-p|browse-build-tree-obarray|browse-choose-from-browser-buffers|browse-choose-tree|browse-class-alist-for-member|browse-class-declaration-regexp|browse-class-in-tree|browse-class-name-displayed-in-member-buffer|browse-collapse-branch|browse-collapse-fn|browse-completing-read-value|browse-const-p|browse-create-tree-buffer|browse-cs-file--cmacro|browse-cs-file|browse-cs-flags--cmacro|browse-cs-flags|browse-cs-name--cmacro|browse-cs-name|browse-cs-p--cmacro|browse-cs-p|browse-cs-pattern--cmacro|browse-cs-pattern|browse-cs-point--cmacro|browse-cs-point|browse-cs-scope--cmacro|browse-cs-scope|browse-cs-source-file--cmacro|browse-cs-source-file|browse-cyclic-display-next/previous-member-list|browse-cyclic-successor-in-string-list|browse-define-p|browse-direct-base-classes|browse-display-friends-member-list|browse-display-function-member-list|browse-display-member-buffer|browse-display-member-list-for-accessor|browse-display-next-member-list|browse-display-previous-member-list|browse-display-static-functions-member-list|browse-display-static-variables-member-list|browse-display-types-member-list|browse-display-variables-member-list|browse-displaying-friends|browse-displaying-functions|browse-displaying-static-functions|browse-displaying-static-variables|browse-displaying-types|browse-displaying-variables|browse-draw-file-member-info|browse-draw-marks-fn|browse-draw-member-attributes|browse-draw-member-buffer-class-line|browse-draw-member-long-fn|browse-draw-member-regexp|browse-draw-member-short-fn|browse-draw-position-buffer|browse-draw-tree-fn|browse-electric-buffer-list|browse-electric-choose-tree|browse-electric-find-position|browse-electric-get-buffer|browse-electric-list-looper|browse-electric-list-mode|browse-electric-list-quit|browse-electric-list-select|browse-electric-list-undefined|browse-electric-position-looper|browse-electric-position-menu|browse-electric-position-mode|browse-electric-position-quit|browse-electric-position-undefined|browse-electric-select-position|browse-electric-view-buffer|browse-electric-view-position|browse-every|browse-expand-all|browse-expand-branch|browse-explicit-p|browse-extern-c-p|browse-files-list|browse-files-table|browse-fill-member-table|browse-find-class-declaration|browse-find-member-declaration|browse-find-member-definition|browse-find-pattern|browse-find-source-file|browse-for-all-trees|browse-forward-in-position-stack|browse-freeze-member-buffer|browse-frozen-tree-buffer-name|browse-function-declaration/definition-regexp|browse-gather-statistics|browse-globals-tree-p|browse-goto-visible-member/all-member-lists|browse-goto-visible-member|browse-hack-electric-buffer-menu|browse-hide-line|browse-hs-command-line-options--cmacro|browse-hs-command-line-options|browse-hs-member-table--cmacro|browse-hs-member-table|browse-hs-p--cmacro|browse-hs-p|browse-hs-unused--cmacro|browse-hs-unused|browse-hs-version--cmacro|browse-hs-version|browse-ignoring-completion-case|browse-inline-p|browse-insert-supers|browse-install-1-to-9-keys|browse-kill-member-buffers-displaying|browse-known-class-trees-buffer-list|browse-list-of-matching-members|browse-list-tree-buffers|browse-mark-all-classes|browse-marked-classes-p|browse-member-bit-set-p|browse-member-buffer-list|browse-member-buffer-object-menu|browse-member-buffer-p|browse-member-class-name-object-menu|browse-member-display-p|browse-member-info-from-point|browse-member-list-name|browse-member-mode|browse-member-mouse-2|browse-member-mouse-3|browse-member-name-object-menu|browse-member-table|browse-mouse-1-in-tree-buffer|browse-mouse-2-in-tree-buffer|browse-mouse-3-in-tree-buffer|browse-mouse-find-member|browse-move-in-position-stack|browse-move-point-to-member|browse-ms-definition-file--cmacro|browse-ms-definition-file|browse-ms-definition-pattern--cmacro|browse-ms-definition-pattern|browse-ms-definition-point--cmacro|browse-ms-definition-point|browse-ms-file--cmacro|browse-ms-file|browse-ms-flags--cmacro|browse-ms-flags|browse-ms-name--cmacro|browse-ms-name|browse-ms-p--cmacro|browse-ms-p|browse-ms-pattern--cmacro|browse-ms-pattern|browse-ms-point--cmacro|browse-ms-point|browse-ms-scope--cmacro|browse-ms-scope|browse-ms-visibility--cmacro|browse-ms-visibility|browse-mutable-p|browse-name/accessor-alist-for-class-members|browse-name/accessor-alist-for-visible-members|browse-name/accessor-alist|browse-on-class-name|browse-on-member-name|browse-output|browse-pop/switch-to-member-buffer-for-same-tree|browse-pop-from-member-to-tree-buffer|browse-pop-to-browser-buffer|browse-popup-menu|browse-position-file-name--cmacro|browse-position-file-name|browse-position-info--cmacro|browse-position-info|browse-position-name|browse-position-p--cmacro|browse-position-p|browse-position-point--cmacro|browse-position-point|browse-position-target--cmacro|browse-position-target|browse-position|browse-pp-define-regexp|browse-print-statistics-line|browse-pure-virtual-p|browse-push-position|browse-qualified-class-name|browse-read-class-name-and-go|browse-read|browse-redisplay-member-buffer|browse-redraw-marks|browse-redraw-tree|browse-remove-all-member-filters|browse-remove-class-and-kill-member-buffers|browse-remove-class-at-point|browse-rename-buffer|browse-repeat-member-search|browse-revert-tree-buffer-from-file|browse-same-tree-member-buffer-list|browse-save-class|browse-save-selective|browse-save-tree-as|browse-save-tree|browse-select-1st-to-9nth|browse-set-face|browse-set-mark-props|browse-set-member-access-visibility|browse-set-member-buffer-column-width|browse-set-tree-indentation|browse-show-displayed-class-in-tree|browse-show-file-name-at-point|browse-show-progress|browse-some-member-table|browse-some|browse-sort-tree-list|browse-statistics|browse-switch-member-buffer-to-any-class|browse-switch-member-buffer-to-base-class|browse-switch-member-buffer-to-derived-class|browse-switch-member-buffer-to-next-sibling-class|browse-switch-member-buffer-to-other-class|browse-switch-member-buffer-to-previous-sibling-class|browse-switch-member-buffer-to-sibling-class|browse-switch-to-next-member-buffer|browse-symbol-regexp|browse-tags-apropos|browse-tags-choose-class|browse-tags-complete-symbol|browse-tags-display-member-buffer|browse-tags-find-declaration-other-frame|browse-tags-find-declaration-other-window|browse-tags-find-declaration|browse-tags-find-definition-other-frame|browse-tags-find-definition-other-window|browse-tags-find-definition|browse-tags-list-members-in-file|browse-tags-loop-continue|browse-tags-next-file|browse-tags-query-replace|browse-tags-read-member\\\\\\\\+class-name|browse-tags-read-name|browse-tags-search-member-use|browse-tags-search|browse-tags-select/create-member-buffer|browse-tags-view/find-member-decl/defn|browse-tags-view-declaration-other-frame|browse-tags-view-declaration-other-window|browse-tags-view-declaration|browse-tags-view-definition-other-frame|browse-tags-view-definition-other-window|browse-tags-view-definition|browse-template-p|browse-throw-list-p|browse-toggle-base-class-display|browse-toggle-const-member-filter|browse-toggle-file-name-display|browse-toggle-inline-member-filter|browse-toggle-long-short-display|browse-toggle-mark-at-point|browse-toggle-member-attributes-display|browse-toggle-private-member-filter|browse-toggle-protected-member-filter|browse-toggle-public-member-filter|browse-toggle-pure-member-filter|browse-toggle-regexp-display|browse-toggle-virtual-member-filter|browse-tree-at-point|browse-tree-buffer-class-object-menu|browse-tree-buffer-list|browse-tree-buffer-object-menu|browse-tree-buffer-p|browse-tree-command:show-friends|browse-tree-command:show-member-functions|browse-tree-command:show-member-variables|browse-tree-command:show-static-member-functions|browse-tree-command:show-static-member-variables|browse-tree-command:show-types|browse-tree-mode|browse-tree-obarray-as-alist|browse-trim-string|browse-ts-base-classes--cmacro|browse-ts-base-classes|browse-ts-class--cmacro|browse-ts-class|browse-ts-friends--cmacro|browse-ts-friends|browse-ts-mark--cmacro|browse-ts-mark|browse-ts-member-functions--cmacro|browse-ts-member-functions|browse-ts-member-variables--cmacro|browse-ts-member-variables|browse-ts-p--cmacro|browse-ts-p|browse-ts-static-functions--cmacro|browse-ts-static-functions|browse-ts-static-variables--cmacro|browse-ts-static-variables|browse-ts-subclasses--cmacro|browse-ts-subclasses|browse-ts-types--cmacro|browse-ts-types|browse-unhide-base-classes|browse-update-member-buffer-mode-line|browse-update-tree-buffer-mode-line|browse-variable-declaration-regexp|browse-view/find-class-declaration|browse-view/find-file-and-search-pattern|browse-view/find-member-declaration/definition|browse-view/find-position|browse-view-class-declaration|browse-view-exit-fn|browse-view-file-other-frame|browse-view-member-declaration|browse-view-member-definition|browse-virtual-p|browse-width-of-drawable-area|browse-write-file-hook-fn|buffers3??|case|complete-display-matches|complete-setup|de--detect-ldf-predicate|de--detect-ldf-root-predicate|de--detect-ldf-rootonly-predicate|de--detect-scan-directory-for-project-root|de--detect-scan-directory-for-project|de--detect-scan-directory-for-rootonly-project|de--detect-stop-scan-p|de--directory-project-add-description-to-hash|de--directory-project-from-hash|de--get-inode-dir-hash|de--inode-for-dir|de--inode-get-toplevel-open-project|de--project-inode|de--put-inode-dir-hash|de-add-file|de-add-project-autoload|de-add-project-to-global-list|de-add-subproject|de-adebug-project-parent|de-adebug-project-root|de-adebug-project|de-apply-object-keymap|de-apply-preprocessor-map|de-apply-project-local-variables|de-apply-target-options|de-auto-add-to-target|de-auto-detect-in-dir|de-auto-load-project|de-buffer-belongs-to-project-p|de-buffer-belongs-to-target-p|de-buffer-documentation-files|de-buffer-header-file|de-buffer-mine|de-buffer-object|de-buffers|de-build-forms-menu|de-check-project-directory|de-choose-object|de-commit-local-variables|de-compile-project|de-compile-selected|de-compile-target|de-configuration-forms-menu|de-convert-path|de-cpp-root-project-child-p|de-cpp-root-project-list-p|de-cpp-root-project-p|de-cpp-root-project|de-create-tag-buttons|de-current-project|de-customize-current-target|de-customize-forms-menu|de-customize-project|de-debug-target|de-delete-project-from-global-list|de-delete-target|de-description|de-detect-directory-for-project|de-detect-qtest|de-directory-get-open-project|de-directory-get-toplevel-open-project|de-directory-project-cons|de-directory-project-p|de-directory-safe-p|de-dired-minor-mode|de-dirmatch-installed|de-do-dirmatch|de-documentation-files|de-documentation|de-ecb-project-paths|de-edit-file-target|de-edit-web-page|de-enable-generic-projects|de-enable-locate-on-project|de-expand-filename-impl-via-subproj|de-expand-filename-impl|de-expand-filename-local|de-expand-filename|de-file-find|de-find-file|de-find-nearest-file-line|de-find-subproject-for-directory|de-find-target|de-flush-deleted-projects|de-flush-directory-hash|de-flush-project-hash|de-get-locator-object|de-global-list-sanity-check|de-header-file|de-html-documentation-files|de-html-documentation|de-ignore-file|de-initialize-state-current-buffer|de-invoke-method)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)ed(?:e-java-classpath|e-linux-load|e-load-cache|e-load-project-file|e-make-check-version|e-make-dist|e-make-project-local-variable|e-map-all-subprojects|e-map-any-target-p|e-map-buffers|e-map-project-buffers|e-map-subprojects|e-map-target-buffers|e-map-targets|e-menu-items-build|e-menu-obj-of-class-p|e-minor-mode|e-name|e-new-target-custom|e-new-target|e-new|e-normalize-file/directory|e-object-keybindings|e-object-menu|e-object-sourcecode|e-parent-project|e-preprocessor-map|e-project-autoload-child-p|e-project-autoload-dirmatch-child-p|e-project-autoload-dirmatch-list-p|e-project-autoload-dirmatch-p|e-project-autoload-dirmatch|e-project-autoload-list-p|e-project-autoload-p|e-project-autoload|e-project-buffers|e-project-child-p|e-project-configurations-set|e-project-directory-remove-hash|e-project-forms-menu|e-project-list-p|e-project-p|e-project-placeholder-child-p|e-project-placeholder-list-p|e-project-placeholder-p|e-project-placeholder|e-project-root-directory|e-project-root|e-project-sort-targets|e-project|e-remove-file|e-rescan-toplevel|e-reset-all-buffers|e-run-target|e-save-cache|e-set-project-local-variable|e-set-project-variables|e-set|e-singular-object|e-source-paths|e-sourcecode-child-p|e-sourcecode-list-p|e-sourcecode-p|e-sourcecode|e-speedbar-compile-file-project|e-speedbar-compile-line|e-speedbar-compile-project|e-speedbar-edit-projectfile|e-speedbar-file-setup|e-speedbar-get-top-project-for-line|e-speedbar-make-distribution|e-speedbar-make-map|e-speedbar-remove-file-from-target|e-speedbar-toplevel-buttons|e-speedbar|e-subproject-p|e-subproject-relative-path|e-system-include-path|e-tag-expand|e-tag-find|e-target-buffer-in-sourcelist|e-target-buffers|e-target-child-p|e-target-forms-menu|e-target-in-project-p|e-target-list-p|e-target-name|e-target-p|e-target-parent|e-target-sourcecode|e-target|e-toplevel-project-or-nil|e-toplevel-project|e-toplevel|e-turn-on-hook|e-up-directory|e-update-version|e-upload-distribution|e-upload-html-documentation|e-vc-project-directory|e-version|e-want-any-auxiliary-files-p|e-want-any-files-p|e-want-any-source-files-p|e-want-file-auxiliary-p|e-want-file-p|e-want-file-source-p|e-web-browse-home|e-with-projectfile|e|ebug-&optional-wrapper|ebug-&rest-wrapper|ebug--called-interactively-skip|ebug--display|ebug--enter-trace|ebug--form-data-begin--cmacro|ebug--form-data-begin|ebug--form-data-end--cmacro|ebug--form-data-end|ebug--form-data-name--cmacro|ebug--form-data-name|ebug--make-form-data-entry--cmacro|ebug--make-form-data-entry|ebug--read|ebug--recursive-edit|ebug--require-cl-read|ebug--update-coverage|ebug-Continue-fast-mode|ebug-Go-nonstop-mode|ebug-Trace-fast-mode|ebug-`|ebug-adjust-window|ebug-after-offset|ebug-after|ebug-all-defuns|ebug-backtrace|ebug-basic-spec|ebug-before-offset|ebug-before|ebug-bounce-point|ebug-changing-windows|ebug-clear-coverage|ebug-clear-form-data-entry|ebug-clear-frequency-count|ebug-compute-previous-result|ebug-continue-mode|ebug-copy-cursor|ebug-create-eval-buffer|ebug-current-windows|ebug-cursor-expressions|ebug-cursor-offsets|ebug-debugger|ebug-defining-form|ebug-delete-eval-item|ebug-empty-cursor|ebug-enter|ebug-eval-defun|ebug-eval-display-list|ebug-eval-display|ebug-eval-expression|ebug-eval-last-sexp|ebug-eval-mode|ebug-eval-print-last-sexp|ebug-eval-redisplay|ebug-eval-result-list|ebug-eval|ebug-fast-after|ebug-fast-before|ebug-find-stop-point|ebug-form-data-symbol|ebug-form|ebug-format|ebug-forms|ebug-forward-sexp|ebug-get-displayed-buffer-points|ebug-get-form-data-entry|ebug-go-mode|ebug-goto-here|ebug-help|ebug-ignore-offset|ebug-inc-offset|ebug-initialize-offsets|ebug-install-read-eval-functions|ebug-instrument-callee|ebug-instrument-function|ebug-interactive-p-name|ebug-kill-buffer|ebug-lambda-list-keywordp|ebug-last-sexp|ebug-list-form-args|ebug-list-form|ebug-make-after-form|ebug-make-before-and-after-form|ebug-make-enter-wrapper|ebug-make-form-wrapper|ebug-make-top-form-data-entry|ebug-mark-marker|ebug-mark|ebug-match-&define|ebug-match-&key|ebug-match-¬|ebug-match-&optional|ebug-match-&or|ebug-match-&rest|ebug-match-arg|ebug-match-body|ebug-match-colon-name|ebug-match-def-body|ebug-match-def-form|ebug-match-form|ebug-match-function|ebug-match-gate|ebug-match-lambda-expr|ebug-match-list|ebug-match-name|ebug-match-nil|ebug-match-one-spec|ebug-match-place|ebug-match-sexp|ebug-match-specs|ebug-match-string|ebug-match-sublist|ebug-match-symbol|ebug-match|ebug-menu|ebug-message|ebug-mode|ebug-modify-breakpoint|ebug-move-cursor|ebug-new-cursor|ebug-next-breakpoint|ebug-next-mode|ebug-next-token-class|ebug-no-match|ebug-on-entry|ebug-outside-excursion|ebug-overlay-arrow|ebug-pop-to-buffer|ebug-previous-result|ebug-prin1-to-string|ebug-prin1|ebug-print|ebug-read-and-maybe-wrap-form1??|ebug-read-backquote|ebug-read-comma|ebug-read-function|ebug-read-list|ebug-read-quote|ebug-read-sexp|ebug-read-storing-offsets|ebug-read-string|ebug-read-symbol|ebug-read-top-level-form|ebug-read-vector|ebug-report-error|ebug-restore-status|ebug-run-fast|ebug-run-slow|ebug-safe-eval|ebug-safe-prin1-to-string|ebug-set-breakpoint|ebug-set-buffer-points|ebug-set-conditional-breakpoint|ebug-set-cursor|ebug-set-form-data-entry|ebug-set-mode|ebug-set-windows|ebug-sexps|ebug-signal|ebug-skip-whitespace|ebug-slow-after|ebug-slow-before|ebug-sort-alist|ebug-spec-p|ebug-step-in|ebug-step-mode|ebug-step-out|ebug-step-through-mode|ebug-stop|ebug-store-after-offset|ebug-store-before-offset|ebug-storing-offsets|ebug-syntax-error|ebug-toggle-save-all-windows|ebug-toggle-save-selected-window|ebug-toggle-save-windows|ebug-toggle|ebug-top-element-required|ebug-top-element|ebug-top-level-nonstop|ebug-top-offset|ebug-trace-display|ebug-trace-mode|ebug-uninstall-read-eval-functions|ebug-unload-function|ebug-unset-breakpoint|ebug-unwrap\\\\\\\\*?|ebug-update-eval-list|ebug-var-status|ebug-view-outside|ebug-visit-eval-list|ebug-where|ebug-window-list|ebug-window-live-p|ebug-wrap-def-body|iff-3way-comparison-job|iff-3way-job|iff-abbrev-jobname|iff-abbreviate-file-name|iff-activate-mark|iff-add-slash-if-directory|iff-add-to-history|iff-ancestor-metajob|iff-append-custom-diff|iff-arrange-autosave-in-merge-jobs|iff-background-face|iff-backup|iff-barf-if-not-control-buffer|iff-buffer-live-p|iff-buffer-type|iff-buffers-internal|iff-buffers3??|iff-bury-dir-diffs-buffer|iff-calc-command-time|iff-change-saved-variable|iff-char-to-buftype|iff-check-version|iff-choose-syntax-table|iff-choose-window-setup-function-automatically|iff-cleanup-mess|iff-cleanup-meta-buffer|iff-clear-diff-vector|iff-clear-fine-diff-vector|iff-clear-fine-differences-in-one-buffer|iff-clear-fine-differences|iff-clone-buffer-for-current-diff-comparison|iff-clone-buffer-for-region-comparison|iff-clone-buffer-for-window-comparison|iff-collect-custom-diffs|iff-collect-diffs-metajob|iff-color-display-p|iff-combine-diffs|iff-comparison-metajob3|iff-compute-custom-diffs-maybe|iff-compute-toolbar-width|iff-convert-diffs-to-overlays|iff-convert-fine-diffs-to-overlays|iff-convert-standard-filename|iff-copy-A-to-B|iff-copy-A-to-C|iff-copy-B-to-A|iff-copy-B-to-C|iff-copy-C-to-A|iff-copy-C-to-B|iff-copy-diff|iff-copy-list|iff-copy-to-buffer|iff-current-file|iff-customize|iff-deactivate-mark|iff-debug-info|iff-default-suspend-function|iff-defvar-local|iff-delete-all-matches|iff-delete-overlay|iff-delete-temp-files|iff-destroy-control-frame|iff-device-type|iff-diff-at-point|iff-diff-to-diff|iff-diff3-job|iff-dir-diff-copy-file|iff-directories-command|iff-directories-internal|iff-directories|iff-directories3-command|iff-directories3|iff-directory-revisions-internal|iff-directory-revisions|iff-display-pixel-height|iff-display-pixel-width|iff-dispose-of-meta-buffer|iff-dispose-of-variant-according-to-user|iff-do-merge|iff-documentation|iff-draw-dir-diffs|iff-empty-diff-region-p|iff-empty-overlay-p|iff-event-buffer|iff-event-key|iff-event-point|iff-exec-process|iff-extract-diffs3??|iff-file-attributes|iff-file-checked-in-p|iff-file-checked-out-p|iff-file-compressed-p|iff-file-modtime|iff-file-remote-p|iff-file-size|iff-filegroup-action|iff-filename-magic-p|iff-files-command|iff-files-internal|iff-files3??|iff-fill-leading-zero|iff-find-file|iff-focus-on-regexp-matches|iff-format-bindings-of|iff-format-date|iff-forward-word|iff-frame-char-height|iff-frame-char-width|iff-frame-has-dedicated-windows|iff-frame-iconified-p|iff-frame-unsplittable-p|iff-get-buffer|iff-get-combined-region|iff-get-default-directory-name|iff-get-default-file-name|iff-get-diff-overlay-from-diff-record|iff-get-diff-overlay|iff-get-diff-posn|iff-get-diff3-group|iff-get-difference|iff-get-directory-files-under-revision|iff-get-file-eqstatus|iff-get-fine-diff-vector-from-diff-record|iff-get-fine-diff-vector|iff-get-group-buffer|iff-get-group-comparison-func|iff-get-group-merge-autostore-dir|iff-get-group-objA|iff-get-group-objB|iff-get-group-objC|iff-get-group-regexp|iff-get-lines-to-region-end|iff-get-lines-to-region-start|iff-get-meta-info|iff-get-meta-overlay-at-pos|iff-get-next-window|iff-get-region-contents|iff-get-region-size-coefficient|iff-get-selected-buffers|iff-get-session-activity-marker|iff-get-session-buffer|iff-get-session-number-at-pos|iff-get-session-objA-name|iff-get-session-objA|iff-get-session-objB-name|iff-get-session-objB|iff-get-session-objC-name|iff-get-session-objC|iff-get-session-status|iff-get-state-of-ancestor|iff-get-state-of-diff|iff-get-state-of-merge|iff-get-symbol-from-alist|iff-get-value-according-to-buffer-type|iff-get-visible-buffer-window|iff-get-window-by-clicking|iff-good-frame-under-mouse|iff-goto-word|iff-has-face-support-p|iff-has-gutter-support-p|iff-has-toolbar-support-p|iff-help-for-quick-help|iff-help-message-line-length|iff-hide-face|iff-hide-marked-sessions|iff-hide-regexp-matches|iff-highlight-diff-in-one-buffer|iff-highlight-diff|iff-in-control-buffer-p|iff-indent-help-message|iff-inferior-compare-regions|iff-insert-dirs-in-meta-buffer|iff-insert-session-activity-marker-in-meta-buffer|iff-insert-session-info-in-meta-buffer|iff-insert-session-status-in-meta-buffer|iff-install-fine-diff-if-necessary|iff-intersect-directories|iff-intersection|iff-janitor|iff-jump-to-difference-at-point|iff-jump-to-difference|iff-keep-window-config|iff-key-press-event-p|iff-kill-bottom-toolbar|iff-kill-buffer-carefully|iff-last-command-char|iff-listable-file|iff-load-version-control|iff-looks-like-combined-merge|iff-make-base-title|iff-make-bottom-toolbar|iff-make-bullet-proof-overlay|iff-make-cloned-buffer|iff-make-current-diff-overlay|iff-make-diff2-buffer|iff-make-empty-tmp-file|iff-make-fine-diffs|iff-make-frame-position|iff-make-indirect-buffer|iff-make-narrow-control-buffer-id|iff-make-new-meta-list-element|iff-make-new-meta-list-header|iff-make-or-kill-fine-diffs|iff-make-overlay|iff-make-temp-file|iff-make-wide-control-buffer-id|iff-make-wide-display|iff-mark-diff-as-space-only|iff-mark-for-hiding-at-pos|iff-mark-for-operation-at-pos|iff-mark-if-equal|iff-mark-session-for-hiding|iff-mark-session-for-operation|iff-maybe-checkout|iff-maybe-save-and-delete-merge|iff-member|iff-merge-buffers-with-ancestor|iff-merge-buffers|iff-merge-changed-from-default-p|iff-merge-command|iff-merge-directories-command|iff-merge-directories-with-ancestor-command)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)e(?:diff-merge-directories-with-ancestor|diff-merge-directories|diff-merge-directory-revisions-with-ancestor|diff-merge-directory-revisions|diff-merge-files-with-ancestor|diff-merge-files|diff-merge-job|diff-merge-metajob|diff-merge-on-startup|diff-merge-region-is-non-clash-to-skip|diff-merge-region-is-non-clash|diff-merge-revisions-with-ancestor|diff-merge-revisions|diff-merge-with-ancestor-command|diff-merge-with-ancestor-job|diff-merge-with-ancestor|diff-merge|diff-message-if-verbose|diff-meta-insert-file-info1|diff-meta-mark-equal-files|diff-meta-mode|diff-meta-session-p|diff-meta-show-patch|diff-metajob3|diff-minibuffer-with-setup-hook|diff-mode|diff-mouse-event-p|diff-move-overlay|diff-multiframe-setup-p|diff-narrow-control-frame-p|diff-narrow-job|diff-next-difference|diff-next-meta-item1??|diff-next-meta-overlay-start|diff-no-fine-diffs-p|diff-nonempty-string-p|diff-nuke-selective-display|diff-one-filegroup-metajob|diff-operate-on-marked-sessions|diff-operate-on-windows|diff-other-buffer|diff-overlay-buffer|diff-overlay-end|diff-overlay-get|diff-overlay-put|diff-overlay-start|diff-overlayp|diff-paint-background-regions-in-one-buffer|diff-paint-background-regions|diff-patch-buffer|diff-patch-file-form-meta|diff-patch-file-internal|diff-patch-file|diff-patch-job|diff-patch-metajob|diff-place-flags-in-buffer1??|diff-pop-diff|diff-position-region|diff-prepare-error-list|diff-prepare-meta-buffer|diff-previous-difference|diff-previous-meta-item1??|diff-previous-meta-overlay-start|diff-print-diff-vector|diff-problematic-session-p|diff-process-filter|diff-process-sentinel|diff-profile|diff-quit-meta-buffer|diff-quit|diff-re-merge|diff-read-event|diff-read-file-name|diff-really-quit|diff-recenter-ancestor|diff-recenter-one-window|diff-recenter|diff-redraw-directory-group-buffer|diff-redraw-registry-buffer|diff-refresh-control-frame|diff-refresh-mode-lines|diff-region-help-echo|diff-regions-internal|diff-regions-linewise|diff-regions-wordwise|diff-registry-action|diff-reload-keymap|diff-remove-flags-from-buffer|diff-replace-session-activity-marker-in-meta-buffer|diff-replace-session-status-in-meta-buffer|diff-reset-mouse|diff-restore-diff-in-merge-buffer|diff-restore-diff|diff-restore-highlighting|diff-restore-protected-variables|diff-restore-variables|diff-revert-buffers-then-recompute-diffs|diff-revision-metajob|diff-revision|diff-safe-to-quit|diff-same-contents|diff-same-file-contents-lists|diff-same-file-contents|diff-save-buffer-in-file|diff-save-buffer|diff-save-diff-region|diff-save-protected-variables|diff-save-time|diff-save-variables|diff-scroll-horizontally|diff-scroll-vertically|diff-select-difference|diff-select-lowest-window|diff-set-actual-diff-options|diff-set-diff-options|diff-set-diff-overlays-in-one-buffer|diff-set-difference|diff-set-face-pixmap|diff-set-file-eqstatus|diff-set-fine-diff-properties-in-one-buffer|diff-set-fine-diff-properties|diff-set-fine-diff-vector|diff-set-fine-overlays-for-combined-merge|diff-set-fine-overlays-in-one-buffer|diff-set-help-message|diff-set-help-overlays|diff-set-keys|diff-set-merge-mode|diff-set-meta-overlay|diff-set-overlay-face|diff-set-read-only-in-buf-A|diff-set-session-status|diff-set-state-of-all-diffs-in-all-buffers|diff-set-state-of-diff-in-all-buffers|diff-set-state-of-diff|diff-set-state-of-merge|diff-setup-control-buffer|diff-setup-control-frame|diff-setup-diff-regions3??|diff-setup-fine-diff-regions|diff-setup-keymap|diff-setup-meta-map|diff-setup-windows-default|diff-setup-windows-multiframe-compare|diff-setup-windows-multiframe-merge|diff-setup-windows-multiframe|diff-setup-windows-plain-compare|diff-setup-windows-plain-merge|diff-setup-windows-plain|diff-setup-windows|diff-setup|diff-show-all-diffs|diff-show-ancestor|diff-show-current-session-meta-buffer|diff-show-diff-output|diff-show-dir-diffs|diff-show-meta-buff-from-registry|diff-show-meta-buffer|diff-show-registry|diff-shrink-window-C|diff-skip-merge-region-if-changed-from-default-p|diff-skip-unsuitable-frames|diff-spy-after-mouse|diff-status-info|diff-strip-last-dir|diff-strip-mode-line-format|diff-submit-report|diff-suspend|diff-swap-buffers|diff-test-save-region|diff-toggle-autorefine|diff-toggle-filename-truncation|diff-toggle-help|diff-toggle-hilit|diff-toggle-ignore-case|diff-toggle-multiframe|diff-toggle-narrow-region|diff-toggle-read-only|diff-toggle-regexp-match|diff-toggle-show-clashes-only|diff-toggle-skip-changed-regions|diff-toggle-skip-similar|diff-toggle-split|diff-toggle-use-toolbar|diff-toggle-verbose-help-meta-buffer|diff-toggle-wide-display|diff-truncate-string-left|diff-unhighlight-diff-in-one-buffer|diff-unhighlight-diff|diff-unhighlight-diffs-totally-in-one-buffer|diff-unhighlight-diffs-totally|diff-union|diff-unique-buffer-name|diff-unmark-all-for-hiding|diff-unmark-all-for-operation|diff-unselect-and-select-difference|diff-unselect-difference|diff-up-meta-hierarchy|diff-update-diffs|diff-update-markers-in-dir-meta-buffer|diff-update-meta-buffer|diff-update-registry|diff-update-session-marker-in-dir-meta-buffer|diff-use-toolbar-p|diff-user-grabbed-mouse|diff-valid-difference-p|diff-verify-file-buffer|diff-verify-file-merge-buffer|diff-version|diff-visible-region|diff-whitespace-diff-region-p|diff-window-display-p|diff-window-ok-for-display|diff-window-visible-p|diff-windows-job|diff-windows-linewise|diff-windows-wordwise|diff-windows|diff-with-current-buffer|diff-with-syntax-table|diff-word-mode-job|diff-wordify|diff-write-merge-buffer-and-maybe-kill|diff-xemacs-select-frame-hook|diff|diff3-files-command|diff3|dir-merge-revisions-with-ancestor|dir-merge-revisions|dir-revisions|dirs-merge-with-ancestor|dirs-merge|dirs3??|dit-abbrevs-mode|dit-abbrevs-redefine|dit-abbrevs|dit-bookmarks|dit-kbd-macro|dit-last-kbd-macro|dit-named-kbd-macro|dit-picture|dit-tab-stops-note-changes|dit-tab-stops|dmacro-finish-edit|dmacro-fix-menu-commands|dmacro-format-keys|dmacro-insert-key|dmacro-mode|dmacro-parse-keys|dmacro-sanitize-for-string|dt-advance|dt-append|dt-backup|dt-beginning-of-line|dt-bind-function-key-default|dt-bind-function-key|dt-bind-gold-key-default|dt-bind-gold-key|dt-bind-key-default|dt-bind-key|dt-bind-standard-key|dt-bottom-check|dt-bottom|dt-change-case|dt-change-direction|dt-character|dt-check-match|dt-check-prefix|dt-check-selection|dt-copy-rectangle|dt-copy|dt-current-line|dt-cut-or-copy|dt-cut-rectangle-insert-mode|dt-cut-rectangle-overstrike-mode|dt-cut-rectangle|dt-cut|dt-default-emulation-setup|dt-default-menu-bar-update-buffers|dt-define-key|dt-delete-character|dt-delete-entire-line|dt-delete-line|dt-delete-previous-character|dt-delete-to-beginning-of-line|dt-delete-to-beginning-of-word|dt-delete-to-end-of-line|dt-delete-word|dt-display-the-time|dt-duplicate-line|dt-duplicate-word|dt-electric-helpify|dt-electric-keypad-help|dt-electric-user-keypad-help|dt-eliminate-all-tabs|dt-emulation-off|dt-emulation-on|dt-end-of-line-backward|dt-end-of-line-forward|dt-end-of-line|dt-exit|dt-fill-region|dt-find-backward|dt-find-forward|dt-find-next-backward|dt-find-next-forward|dt-find-next|dt-find|dt-form-feed-insert|dt-goto-percentage|dt-indent-or-fill-region|dt-key-not-assigned|dt-keypad-help|dt-learn|dt-line-backward|dt-line-forward|dt-line-to-bottom-of-window|dt-line-to-middle-of-window|dt-line-to-top-of-window|dt-line|dt-load-keys|dt-lowercase|dt-mark-section-wisely|dt-match-beginning|dt-match-end|dt-next-line|dt-one-word-backward|dt-one-word-forward|dt-page-backward|dt-page-forward|dt-page|dt-paragraph-backward|dt-paragraph-forward|dt-paragraph|dt-paste-rectangle-insert-mode|dt-paste-rectangle-overstrike-mode|dt-paste-rectangle|dt-previous-line|dt-quit|dt-remember|dt-replace|dt-reset|dt-restore-key|dt-scroll-line|dt-scroll-window-backward-line|dt-scroll-window-backward|dt-scroll-window-forward-line|dt-scroll-window-forward|dt-scroll-window|dt-sect-backward|dt-sect-forward|dt-sect|dt-select-default-global-map|dt-select-mode|dt-select-user-global-map|dt-select|dt-sentence-backward|dt-sentence-forward|dt-sentence|dt-set-match|dt-set-screen-width-132|dt-set-screen-width-80|dt-set-scroll-margins|dt-setup-default-bindings|dt-show-match-markers|dt-split-window|dt-substitute|dt-switch-global-maps|dt-tab-insert|dt-toggle-capitalization-of-word|dt-toggle-select|dt-top-check|dt-top|dt-undelete-character|dt-undelete-line|dt-undelete-word|dt-unset-match|dt-uppercase|dt-user-emulation-setup|dt-user-menu-bar-update-buffers|dt-window-bottom|dt-window-top|dt-with-position|dt-word-backward|dt-word-forward|dt-word|dt-y-or-n-p|help-command|ieio--check-type|ieio--class--unused-0|ieio--class-children|ieio--class-class-allocation-a|ieio--class-class-allocation-custom-group|ieio--class-class-allocation-custom-label|ieio--class-class-allocation-custom|ieio--class-class-allocation-doc|ieio--class-class-allocation-printer|ieio--class-class-allocation-protection|ieio--class-class-allocation-type|ieio--class-class-allocation-values|ieio--class-default-object-cache|ieio--class-initarg-tuples|ieio--class-options|ieio--class-parent|ieio--class-protection|ieio--class-public-a|ieio--class-public-custom-group|ieio--class-public-custom-label|ieio--class-public-custom|ieio--class-public-d|ieio--class-public-doc|ieio--class-public-printer|ieio--class-public-type|ieio--class-symbol-obarray|ieio--class-symbol|ieio--defalias|ieio--defgeneric-init-form|ieio--define-field-accessors|ieio--defmethod|ieio--object--unused-0|ieio--object-class|ieio--object-name|ieio--scoped-class|ieio--with-scoped-class|ieio-add-new-slot|ieio-attribute-to-initarg|ieio-barf-if-slot-unbound|ieio-browse|ieio-c3-candidate|ieio-c3-merge-lists|ieio-class-children-fast|ieio-class-children|ieio-class-name|ieio-class-parent|ieio-class-parents-fast|ieio-class-parents|ieio-class-precedence-bfs|ieio-class-precedence-c3|ieio-class-precedence-dfs|ieio-class-precedence-list|ieio-class-slot-name-index|ieio-class-un-autoload|ieio-copy-parents-into-subclass|ieio-custom-mode|ieio-custom-object-apply-reset|ieio-custom-toggle-hide|ieio-custom-toggle-parent|ieio-custom-widget-insert|ieio-customize-object-group|ieio-customize-object|ieio-default-eval-maybe|ieio-default-superclass-child-p|ieio-default-superclass-list-p|ieio-default-superclass-p|ieio-default-superclass|ieio-defclass-autoload|ieio-defclass|ieio-defgeneric-form-primary-only-one|ieio-defgeneric-form-primary-only|ieio-defgeneric-form|ieio-defgeneric-reset-generic-form-primary-only-one|ieio-defgeneric-reset-generic-form-primary-only|ieio-defgeneric-reset-generic-form|ieio-defgeneric|ieio-defmethod|ieio-done-customizing|ieio-edebug-prin1-to-string|ieio-eval-default-p|ieio-filter-slot-type|ieio-generic-call-primary-only|ieio-generic-call|ieio-generic-form|ieio-help-class|ieio-help-constructor|ieio-help-generic|ieio-initarg-to-attribute|ieio-instance-inheritor-child-p|ieio-instance-inheritor-list-p|ieio-instance-inheritor-p|ieio-instance-inheritor-slot-boundp|ieio-instance-inheritor|ieio-instance-tracker-child-p|ieio-instance-tracker-find|ieio-instance-tracker-list-p|ieio-instance-tracker-p|ieio-instance-tracker|ieio-list-prin1|ieio-named-child-p|ieio-named-list-p|ieio-named-p|ieio-named|ieio-object-abstract-to-value|ieio-object-class-name|ieio-object-class|ieio-object-match|ieio-object-name-string|ieio-object-name|ieio-object-p|ieio-object-set-name-string|ieio-object-value-create|ieio-object-value-get|ieio-object-value-to-abstract|ieio-oref-default|ieio-oref|ieio-oset-default|ieio-oset|ieio-override-prin1|ieio-perform-slot-validation-for-default|ieio-perform-slot-validation|ieio-persistent-child-p|ieio-persistent-convert-list-to-object|ieio-persistent-list-p|ieio-persistent-p|ieio-persistent-path-relative)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)e(?:ieio-persistent-read|ieio-persistent-save-interactive|ieio-persistent-save|ieio-persistent-slot-type-is-class-p|ieio-persistent-validate/fix-slot-value|ieio-persistent|ieio-read-customization-group|ieio-set-defaults|ieio-singleton-child-p|ieio-singleton-list-p|ieio-singleton-p|ieio-singleton|ieio-slot-name-index|ieio-slot-originating-class-p|ieio-slot-value-create|ieio-slot-value-get|ieio-specialized-key-to-generic-key|ieio-speedbar-buttons|ieio-speedbar-child-description|ieio-speedbar-child-make-tag-lines|ieio-speedbar-child-p|ieio-speedbar-create-engine|ieio-speedbar-create|ieio-speedbar-customize-line|ieio-speedbar-derive-line-path|ieio-speedbar-description|ieio-speedbar-directory-button-child-p|ieio-speedbar-directory-button-list-p|ieio-speedbar-directory-button-p|ieio-speedbar-directory-button|ieio-speedbar-expand|ieio-speedbar-file-button-child-p|ieio-speedbar-file-button-list-p|ieio-speedbar-file-button-p|ieio-speedbar-file-button|ieio-speedbar-find-nearest-object|ieio-speedbar-handle-click|ieio-speedbar-item-info|ieio-speedbar-line-path|ieio-speedbar-list-p|ieio-speedbar-make-map|ieio-speedbar-make-tag-line|ieio-speedbar-object-buttonname|ieio-speedbar-object-children|ieio-speedbar-object-click|ieio-speedbar-object-expand|ieio-speedbar-p|ieio-speedbar|ieio-unbind-method-implementations|ieio-validate-class-slot-value|ieio-validate-slot-value|ieio-version|ieio-widget-test-class-child-p|ieio-widget-test-class-list-p|ieio-widget-test-class-p|ieio-widget-test-class|ieiomt-add|ieiomt-install|ieiomt-method-list|ieiomt-next|ieiomt-sym-optimize|ighth|ldoc--message-command-p|ldoc-add-command-completions|ldoc-add-command|ldoc-display-message-no-interference-p|ldoc-display-message-p|ldoc-edit-message-commands|ldoc-message|ldoc-minibuffer-message|ldoc-mode|ldoc-pre-command-refresh-echo-area|ldoc-print-current-symbol-info|ldoc-remove-command-completions|ldoc-remove-command|ldoc-schedule-timer|lectric--after-char-pos|lectric--sort-post-self-insertion-hook|lectric-apropos|lectric-buffer-list|lectric-buffer-menu-looper|lectric-buffer-menu-mode|lectric-buffer-update-highlight|lectric-command-apropos|lectric-describe-bindings|lectric-describe-function|lectric-describe-key|lectric-describe-mode|lectric-describe-syntax|lectric-describe-variable|lectric-help-command-loop|lectric-help-ctrl-x-prefix|lectric-help-execute-extended|lectric-help-exit|lectric-help-help|lectric-help-mode|lectric-help-retain|lectric-help-undefined|lectric-helpify|lectric-icon-brace|lectric-indent-just-newline|lectric-indent-local-mode|lectric-indent-mode|lectric-indent-post-self-insert-function|lectric-layout-mode|lectric-layout-post-self-insert-function|lectric-newline-and-maybe-indent|lectric-nroff-mode|lectric-nroff-newline|lectric-pair-mode|lectric-pascal-colon|lectric-pascal-equal|lectric-pascal-hash|lectric-pascal-semi-or-dot|lectric-pascal-tab|lectric-pascal-terminate-line|lectric-perl-terminator|lectric-verilog-backward-sexp|lectric-verilog-colon|lectric-verilog-forward-sexp|lectric-verilog-semi-with-comment|lectric-verilog-semi|lectric-verilog-tab|lectric-verilog-terminate-and-indent|lectric-verilog-terminate-line|lectric-verilog-tick|lectric-view-lossage|l-get[-\\\\\\\\w]*|lide-head-show|lide-head|lint-add-required-env|lint-check-cond-form|lint-check-condition-case-form|lint-check-conditional-form|lint-check-defalias-form|lint-check-defcustom-form|lint-check-defun-form|lint-check-defvar-form|lint-check-function-form|lint-check-let-form|lint-check-macro-form|lint-check-quote-form|lint-check-setq-form|lint-clear-log|lint-current-buffer|lint-defun|lint-directory|lint-display-log|lint-env-add-env|lint-env-add-func|lint-env-add-global-var|lint-env-add-macro|lint-env-add-var|lint-env-find-func|lint-env-find-var|lint-env-macro-env|lint-env-macrop|lint-error|lint-file|lint-find-args-in-code|lint-find-autoloaded-variables|lint-find-builtin-args|lint-find-builtins|lint-find-next-top-form|lint-forms??|lint-get-args|lint-get-log-buffer|lint-get-top-forms|lint-init-env|lint-init-form|lint-initialize|lint-log-message|lint-log|lint-make-env|lint-make-top-form|lint-match-args|lint-output|lint-put-function-args|lint-scan-doc-file|lint-set-mode-line|lint-top-form-form|lint-top-form-pos|lint-top-form|lint-unbound-variable|lint-update-env|lint-warning|lisp--beginning-of-sexp|lisp--byte-code-comment|lisp--company-doc-buffer|lisp--company-doc-string|lisp--company-location|lisp--current-symbol|lisp--docstring-first-line|lisp--docstring-format-sym-doc|lisp--eval-defun-1|lisp--eval-defun|lisp--eval-last-sexp-print-value|lisp--eval-last-sexp|lisp--expect-function-p|lisp--fnsym-in-current-sexp|lisp--form-quoted-p|lisp--function-argstring|lisp--get-fnsym-args-string|lisp--get-var-docstring|lisp--highlight-function-argument|lisp--last-data-store|lisp--local-variables-1|lisp--local-variables|lisp--preceding-sexp|lisp--xref-find-apropos|lisp--xref-find-definitions|lisp--xref-identifier-completion-table|lisp--xref-identifier-file|lisp-byte-code-mode|lisp-byte-code-syntax-propertize|lisp-completion-at-point|lisp-eldoc-documentation-function|lisp-index-search|lisp-last-sexp-toggle-display|lisp-xref-find|lp--instrumented-p|lp--make-wrapper|lp-elapsed-time|lp-instrument-function|lp-instrument-list|lp-instrument-package|lp-output-insert-symname|lp-output-result|lp-pack-number|lp-profilable-p|lp-reset-all|lp-reset-function|lp-reset-list|lp-restore-all|lp-restore-function|lp-restore-list|lp-results-jump-to-definition|lp-results|lp-set-master|lp-sort-by-average-time|lp-sort-by-call-count|lp-sort-by-total-time|lp-unload-function|lp-unset-master|macs-bzr-get-version|macs-bzr-version-bzr|macs-bzr-version-dirstate|macs-index-search|macs-lisp-byte-compile-and-load|macs-lisp-byte-compile|macs-lisp-macroexpand|macs-lisp-mode|macs-lock--can-auto-unlock|macs-lock--exit-locked-buffer|macs-lock--kill-buffer-query-functions|macs-lock--kill-emacs-hook|macs-lock--kill-emacs-query-functions|macs-lock--set-mode|macs-lock-live-process-p|macs-lock-mode|macs-lock-unload-function|macs-repository-get-version|macs-session-filename|macs-session-save|merge-abort|merge-auto-advance|merge-buffers-with-ancestor|merge-buffers|merge-combine-versions-edit|merge-combine-versions-internal|merge-combine-versions-register|merge-combine-versions|merge-command-exit|merge-compare-buffers|merge-convert-diffs-to-markers|merge-copy-as-kill-A|merge-copy-as-kill-B|merge-copy-modes|merge-count-matches-string|merge-default-A|merge-default-B|merge-define-key-if-possible|merge-defvar-local|merge-edit-mode|merge-execute-line|merge-extract-diffs3??|merge-fast-mode|merge-file-names|merge-files-command|merge-files-exit|merge-files-internal|merge-files-remote|merge-files-with-ancestor-command|merge-files-with-ancestor-internal|merge-files-with-ancestor-remote|merge-files-with-ancestor|merge-files|merge-find-difference-A|merge-find-difference-B|merge-find-difference-merge|merge-find-difference1??|merge-force-define-key|merge-get-diff3-group|merge-goto-line|merge-handle-local-variables|merge-hash-string-into-string|merge-insert-A|merge-insert-B|merge-join-differences|merge-jump-to-difference|merge-line-number-in-buf|merge-line-numbers|merge-make-auto-save-file-name|merge-make-diff-list|merge-make-diff3-list|merge-make-temp-file|merge-mark-difference|merge-merge-directories|merge-mode|merge-new-flags|merge-next-difference|merge-one-line-window|merge-operate-on-windows|merge-place-flags-in-buffer1??|merge-position-region|merge-prepare-error-list|merge-previous-difference|merge-protect-metachars|merge-query-and-call|merge-query-save-buffer|merge-query-write-file|merge-quit|merge-read-file-name|merge-really-quit|merge-recenter|merge-refresh-mode-line|merge-remember-buffer-characteristics|merge-remote-exit|merge-remove-flags-in-buffer|merge-restore-buffer-characteristics|merge-restore-variables|merge-revision-with-ancestor-internal|merge-revisions-internal|merge-revisions-with-ancestor|merge-revisions|merge-save-variables|merge-scroll-down|merge-scroll-left|merge-scroll-reset|merge-scroll-right|merge-scroll-up|merge-select-A-edit|merge-select-A|merge-select-B-edit|merge-select-B|merge-select-difference|merge-select-prefer-Bs|merge-select-version|merge-set-combine-template|merge-set-combine-versions-template|merge-set-keys|merge-set-merge-mode|merge-setup-fixed-keymaps|merge-setup-windows|merge-setup-with-ancestor|merge-setup|merge-show-file-name|merge-skip-prefers|merge-split-difference|merge-trim-difference|merge-unique-buffer-name|merge-unselect-and-select-difference|merge-unselect-difference|merge-unslashify-name|merge-validate-difference|merge-verify-file-buffer|merge-write-and-delete|n/disable-command|nable-flow-control-on|nable-flow-control|ncode-big5-char|ncode-coding-char|ncode-composition-components|ncode-composition-rule|ncode-hex-string|ncode-hz-buffer|ncode-hz-region|ncode-sjis-char|ncode-time-value|ncoded-string-description|nd-kbd-macro|nd-of-buffer-other-window|nd-of-icon-defun|nd-of-paragraph-text|nd-of-sexp|nd-of-thing|nd-of-visible-line|nd-of-visual-line|ndp|nlarge-window-horizontally|nlarge-window|nriched-after-change-major-mode|nriched-before-change-major-mode|nriched-decode-background|nriched-decode-display-prop|nriched-decode-foreground|nriched-decode|nriched-encode-other-face|nriched-encode|nriched-face-ans|nriched-get-file-width|nriched-handle-display-prop|nriched-insert-indentation|nriched-make-annotation|nriched-map-property-regions|nriched-mode-map|nriched-mode|nriched-next-annotation|nriched-remove-header|pa--decode-coding-string|pa--derived-mode-p|pa--encode-coding-string|pa--find-coding-system-for-mime-charset|pa--insert-keys|pa--key-list-revert-buffer|pa--key-widget-action|pa--key-widget-button-face-get|pa--key-widget-help-echo|pa--key-widget-value-create|pa--list-keys|pa--marked-keys|pa--read-signature-type|pa--select-keys|pa--select-safe-coding-system|pa--show-key|pa-decrypt-armor-in-region|pa-decrypt-file|pa-decrypt-region|pa-delete-keys|pa-dired-do-decrypt|pa-dired-do-encrypt|pa-dired-do-sign|pa-dired-do-verify|pa-display-error|pa-display-info|pa-display-verify-result|pa-encrypt-file|pa-encrypt-region|pa-exit-buffer|pa-export-keys|pa-file--file-name-regexp-set|pa-file-disable|pa-file-enable|pa-file-find-file-hook|pa-file-handler|pa-file-name-regexp-update|pa-global-mail-mode|pa-import-armor-in-region|pa-import-keys-region|pa-import-keys|pa-info-mode|pa-insert-keys|pa-key-list-mode|pa-key-mode|pa-list-keys|pa-list-secret-keys|pa-mail-decrypt|pa-mail-encrypt|pa-mail-import-keys|pa-mail-mode|pa-mail-sign|pa-mail-verify|pa-mark-key|pa-passphrase-callback-function|pa-progress-callback-function|pa-read-file-name|pa-select-keys|pa-sign-file|pa-sign-region|pa-unmark-key|pa-verify-cleartext-in-region|pa-verify-file|pa-verify-region|patch-buffer|patch|pg--args-from-sig-notations|pg--check-error-for-decrypt|pg--clear-string|pg--decode-coding-string|pg--decode-hexstring|pg--decode-percent-escape|pg--decode-quotedstring|pg--encode-coding-string|pg--gv-nreverse|pg--import-keys-1|pg--list-keys-1|pg--make-sub-key-1|pg--make-temp-file|pg--process-filter|pg--prompt-GET_BOOL-untrusted_key\\\\\\\\.override|pg--prompt-GET_BOOL|pg--start|pg--status-\\\\\\\\*SIG|pg--status-BADARMOR|pg--status-BADSIG|pg--status-DECRYPTION_FAILED|pg--status-DECRYPTION_OKAY|pg--status-DELETE_PROBLEM|pg--status-ENC_TO|pg--status-ERRSIG|pg--status-EXPKEYSIG|pg--status-EXPSIG|pg--status-GET_BOOL|pg--status-GET_HIDDEN|pg--status-GET_LINE|pg--status-GOODSIG|pg--status-IMPORTED|pg--status-IMPORT_OK|pg--status-IMPORT_PROBLEM|pg--status-IMPORT_RES|pg--status-INV_RECP|pg--status-INV_SGNR|pg--status-KEYEXPIRED|pg--status-KEYREVOKED|pg--status-KEY_CREATED|pg--status-KEY_NOT_CREATED|pg--status-NEED_PASSPHRASE|pg--status-NEED_PASSPHRASE_PIN|pg--status-NEED_PASSPHRASE_SYM|pg--status-NODATA)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)e(?:pg--status-NOTATION_DATA|pg--status-NOTATION_NAME|pg--status-NO_PUBKEY|pg--status-NO_RECP|pg--status-NO_SECKEY|pg--status-NO_SGNR|pg--status-POLICY_URL|pg--status-PROGRESS|pg--status-REVKEYSIG|pg--status-SIG_CREATED|pg--status-TRUST_FULLY|pg--status-TRUST_MARGINAL|pg--status-TRUST_NEVER|pg--status-TRUST_ULTIMATE|pg--status-TRUST_UNDEFINED|pg--status-UNEXPECTED|pg--status-USERID_HINT|pg--status-VALIDSIG|pg--time-from-seconds|pg-cancel|pg-check-configuration|pg-config--compare-version|pg-config--parse-version|pg-configuration|pg-context--make|pg-context-armor--cmacro|pg-context-armor|pg-context-cipher-algorithm--cmacro|pg-context-cipher-algorithm|pg-context-compress-algorithm--cmacro|pg-context-compress-algorithm|pg-context-digest-algorithm--cmacro|pg-context-digest-algorithm|pg-context-edit-callback--cmacro|pg-context-edit-callback|pg-context-error-output--cmacro|pg-context-error-output|pg-context-home-directory--cmacro|pg-context-home-directory|pg-context-include-certs--cmacro|pg-context-include-certs|pg-context-operation--cmacro|pg-context-operation|pg-context-output-file--cmacro|pg-context-output-file|pg-context-passphrase-callback--cmacro|pg-context-passphrase-callback|pg-context-pinentry-mode--cmacro|pg-context-pinentry-mode|pg-context-process--cmacro|pg-context-process|pg-context-program--cmacro|pg-context-program|pg-context-progress-callback--cmacro|pg-context-progress-callback|pg-context-protocol--cmacro|pg-context-protocol|pg-context-result--cmacro|pg-context-result-for|pg-context-result|pg-context-set-armor|pg-context-set-passphrase-callback|pg-context-set-progress-callback|pg-context-set-result-for|pg-context-set-signers|pg-context-set-textmode|pg-context-sig-notations--cmacro|pg-context-sig-notations|pg-context-signers--cmacro|pg-context-signers|pg-context-textmode--cmacro|pg-context-textmode|pg-data-file--cmacro|pg-data-file|pg-data-string--cmacro|pg-data-string|pg-decode-dn|pg-decrypt-file|pg-decrypt-string|pg-delete-keys|pg-delete-output-file|pg-dn-from-string|pg-edit-key|pg-encrypt-file|pg-encrypt-string|pg-error-to-string|pg-errors-to-string|pg-expand-group|pg-export-keys-to-file|pg-export-keys-to-string|pg-generate-key-from-file|pg-generate-key-from-string|pg-import-keys-from-file|pg-import-keys-from-server|pg-import-keys-from-string|pg-import-result-considered--cmacro|pg-import-result-considered|pg-import-result-imported--cmacro|pg-import-result-imported-rsa--cmacro|pg-import-result-imported-rsa|pg-import-result-imported|pg-import-result-imports--cmacro|pg-import-result-imports|pg-import-result-new-revocations--cmacro|pg-import-result-new-revocations|pg-import-result-new-signatures--cmacro|pg-import-result-new-signatures|pg-import-result-new-sub-keys--cmacro|pg-import-result-new-sub-keys|pg-import-result-new-user-ids--cmacro|pg-import-result-new-user-ids|pg-import-result-no-user-id--cmacro|pg-import-result-no-user-id|pg-import-result-not-imported--cmacro|pg-import-result-not-imported|pg-import-result-secret-imported--cmacro|pg-import-result-secret-imported|pg-import-result-secret-read--cmacro|pg-import-result-secret-read|pg-import-result-secret-unchanged--cmacro|pg-import-result-secret-unchanged|pg-import-result-to-string|pg-import-result-unchanged--cmacro|pg-import-result-unchanged|pg-import-status-fingerprint--cmacro|pg-import-status-fingerprint|pg-import-status-new--cmacro|pg-import-status-new|pg-import-status-reason--cmacro|pg-import-status-reason|pg-import-status-secret--cmacro|pg-import-status-secret|pg-import-status-signature--cmacro|pg-import-status-signature|pg-import-status-sub-key--cmacro|pg-import-status-sub-key|pg-import-status-user-id--cmacro|pg-import-status-user-id|pg-key-owner-trust--cmacro|pg-key-owner-trust|pg-key-signature-class--cmacro|pg-key-signature-class|pg-key-signature-creation-time--cmacro|pg-key-signature-creation-time|pg-key-signature-expiration-time--cmacro|pg-key-signature-expiration-time|pg-key-signature-exportable-p--cmacro|pg-key-signature-exportable-p|pg-key-signature-key-id--cmacro|pg-key-signature-key-id|pg-key-signature-pubkey-algorithm--cmacro|pg-key-signature-pubkey-algorithm|pg-key-signature-user-id--cmacro|pg-key-signature-user-id|pg-key-signature-validity--cmacro|pg-key-signature-validity|pg-key-sub-key-list--cmacro|pg-key-sub-key-list|pg-key-user-id-list--cmacro|pg-key-user-id-list|pg-list-keys|pg-make-context|pg-make-data-from-file--cmacro|pg-make-data-from-file|pg-make-data-from-string--cmacro|pg-make-data-from-string|pg-make-import-result--cmacro|pg-make-import-result|pg-make-import-status--cmacro|pg-make-import-status|pg-make-key--cmacro|pg-make-key-signature--cmacro|pg-make-key-signature|pg-make-key|pg-make-new-signature--cmacro|pg-make-new-signature|pg-make-sig-notation--cmacro|pg-make-sig-notation|pg-make-signature--cmacro|pg-make-signature|pg-make-sub-key--cmacro|pg-make-sub-key|pg-make-user-id--cmacro|pg-make-user-id|pg-new-signature-class--cmacro|pg-new-signature-class|pg-new-signature-creation-time--cmacro|pg-new-signature-creation-time|pg-new-signature-digest-algorithm--cmacro|pg-new-signature-digest-algorithm|pg-new-signature-fingerprint--cmacro|pg-new-signature-fingerprint|pg-new-signature-pubkey-algorithm--cmacro|pg-new-signature-pubkey-algorithm|pg-new-signature-to-string|pg-new-signature-type--cmacro|pg-new-signature-type|pg-passphrase-callback-function|pg-read-output|pg-receive-keys|pg-reset|pg-sig-notation-critical--cmacro|pg-sig-notation-critical|pg-sig-notation-human-readable--cmacro|pg-sig-notation-human-readable|pg-sig-notation-name--cmacro|pg-sig-notation-name|pg-sig-notation-value--cmacro|pg-sig-notation-value|pg-sign-file|pg-sign-keys|pg-sign-string|pg-signature-class--cmacro|pg-signature-class|pg-signature-creation-time--cmacro|pg-signature-creation-time|pg-signature-digest-algorithm--cmacro|pg-signature-digest-algorithm|pg-signature-expiration-time--cmacro|pg-signature-expiration-time|pg-signature-fingerprint--cmacro|pg-signature-fingerprint|pg-signature-key-id--cmacro|pg-signature-key-id|pg-signature-notations--cmacro|pg-signature-notations|pg-signature-pubkey-algorithm--cmacro|pg-signature-pubkey-algorithm|pg-signature-status--cmacro|pg-signature-status|pg-signature-to-string|pg-signature-validity--cmacro|pg-signature-validity|pg-signature-version--cmacro|pg-signature-version|pg-start-decrypt|pg-start-delete-keys|pg-start-edit-key|pg-start-encrypt|pg-start-export-keys|pg-start-generate-key|pg-start-import-keys|pg-start-receive-keys|pg-start-sign-keys|pg-start-sign|pg-start-verify|pg-sub-key-algorithm--cmacro|pg-sub-key-algorithm|pg-sub-key-capability--cmacro|pg-sub-key-capability|pg-sub-key-creation-time--cmacro|pg-sub-key-creation-time|pg-sub-key-expiration-time--cmacro|pg-sub-key-expiration-time|pg-sub-key-fingerprint--cmacro|pg-sub-key-fingerprint|pg-sub-key-id--cmacro|pg-sub-key-id|pg-sub-key-length--cmacro|pg-sub-key-length|pg-sub-key-secret-p--cmacro|pg-sub-key-secret-p|pg-sub-key-validity--cmacro|pg-sub-key-validity|pg-user-id-signature-list--cmacro|pg-user-id-signature-list|pg-user-id-string--cmacro|pg-user-id-string|pg-user-id-validity--cmacro|pg-user-id-validity|pg-verify-file|pg-verify-result-to-string|pg-verify-string|pg-wait-for-completion|pg-wait-for-status|qualp|rc-active-buffer|rc-add-dangerous-host|rc-add-default-channel|rc-add-entry-to-list|rc-add-fool|rc-add-keyword|rc-add-pal|rc-add-query|rc-add-scroll-to-bottom|rc-add-server-user|rc-add-timestamp|rc-add-to-input-ring|rc-all-buffer-names|rc-already-logged-in|rc-arrange-session-in-multiple-windows|rc-auto-query|rc-autoaway-mode|rc-autojoin-add|rc-autojoin-after-ident|rc-autojoin-channels-delayed|rc-autojoin-channels|rc-autojoin-disable|rc-autojoin-enable|rc-autojoin-mode|rc-autojoin-remove|rc-away-time|rc-banlist-finished|rc-banlist-store|rc-banlist-update|rc-beep-on-match|rc-beg-of-input-line|rc-bol|rc-browse-emacswiki-lisp|rc-browse-emacswiki|rc-buffer-filter|rc-buffer-list-with-nick|rc-buffer-list|rc-buffer-visible|rc-button-add-button|rc-button-add-buttons-1|rc-button-add-buttons|rc-button-add-face|rc-button-add-nickname-buttons|rc-button-beats-to-time|rc-button-click-button|rc-button-describe-symbol|rc-button-disable|rc-button-enable|rc-button-mode|rc-button-next-function|rc-button-next|rc-button-press-button|rc-button-previous|rc-button-remove-old-buttons|rc-button-setup|rc-call-hooks|rc-cancel-timer|rc-canonicalize-server-name|rc-capab-identify-mode|rc-change-user-nickname|rc-channel-begin-receiving-names|rc-channel-end-receiving-names|rc-channel-list|rc-channel-names|rc-channel-p|rc-channel-receive-names|rc-channel-user-admin--cmacro|rc-channel-user-admin-p|rc-channel-user-admin|rc-channel-user-halfop--cmacro|rc-channel-user-halfop-p|rc-channel-user-halfop|rc-channel-user-last-message-time--cmacro|rc-channel-user-last-message-time|rc-channel-user-op--cmacro|rc-channel-user-op-p|rc-channel-user-op|rc-channel-user-owner--cmacro|rc-channel-user-owner-p|rc-channel-user-owner|rc-channel-user-p--cmacro|rc-channel-user-p|rc-channel-user-voice--cmacro|rc-channel-user-voice-p|rc-channel-user-voice|rc-clear-input-ring|rc-client-info|rc-cmd-AMSG|rc-cmd-APPENDTOPIC|rc-cmd-AT|rc-cmd-AWAY|rc-cmd-BANLIST|rc-cmd-BL|rc-cmd-BYE|rc-cmd-CHANNEL|rc-cmd-CLEAR|rc-cmd-CLEARTOPIC|rc-cmd-COUNTRY|rc-cmd-CTCP|rc-cmd-DATE|rc-cmd-DCC|rc-cmd-DEOP|rc-cmd-DESCRIBE|rc-cmd-EXIT|rc-cmd-GAWAY|rc-cmd-GQ|rc-cmd-GQUIT|rc-cmd-H|rc-cmd-HELP|rc-cmd-IDLE|rc-cmd-IGNORE|rc-cmd-J|rc-cmd-JOIN|rc-cmd-KICK|rc-cmd-LASTLOG|rc-cmd-LEAVE|rc-cmd-LIST|rc-cmd-LOAD|rc-cmd-M|rc-cmd-MASSUNBAN|rc-cmd-ME'S|rc-cmd-ME|rc-cmd-MODE|rc-cmd-MSG|rc-cmd-MUB|rc-cmd-N|rc-cmd-NAMES|rc-cmd-NICK|rc-cmd-NOTICE|rc-cmd-NOTIFY|rc-cmd-OPS??|rc-cmd-PART|rc-cmd-PING|rc-cmd-Q|rc-cmd-QUERY|rc-cmd-QUIT|rc-cmd-QUOTE|rc-cmd-RECONNECT|rc-cmd-SAY|rc-cmd-SERVER|rc-cmd-SET|rc-cmd-SIGNOFF|rc-cmd-SM|rc-cmd-SQUERY|rc-cmd-SV|rc-cmd-T|rc-cmd-TIME|rc-cmd-TOPIC|rc-cmd-UNIGNORE|rc-cmd-VAR|rc-cmd-VARIABLE|rc-cmd-WHOAMI|rc-cmd-WHOIS|rc-cmd-WHOLEFT|rc-cmd-WI|rc-cmd-WL|rc-cmd-default|rc-cmd-ezb|rc-coding-system-for-target|rc-command-indicator|rc-command-name|rc-command-no-process-p|rc-command-symbol|rc-complete-word-at-point|rc-complete-word|rc-completion-mode|rc-compute-full-name|rc-compute-nick|rc-compute-port|rc-compute-server|rc-connection-established|rc-controls-highlight|rc-controls-interpret|rc-controls-propertize|rc-controls-strip|rc-create-imenu-index|rc-ctcp-query-ACTION|rc-ctcp-query-CLIENTINFO|rc-ctcp-query-DCC|rc-ctcp-query-ECHO|rc-ctcp-query-FINGER|rc-ctcp-query-PING|rc-ctcp-query-TIME|rc-ctcp-query-USERINFO|rc-ctcp-query-VERSION|rc-ctcp-reply-CLIENTINFO|rc-ctcp-reply-ECHO|rc-ctcp-reply-FINGER|rc-ctcp-reply-PING|rc-ctcp-reply-TIME|rc-ctcp-reply-VERSION|rc-current-network|rc-current-nick-p|rc-current-nick|rc-current-time|rc-dcc-mode|rc-debug-missing-hooks|rc-decode-coding-string|rc-decode-parsed-server-response|rc-decode-string-from-target|rc-default-server-handler|rc-default-target|rc-define-catalog-entry|rc-define-catalog|rc-define-minor-mode|rc-delete-dangerous-host|rc-delete-default-channel|rc-delete-dups|rc-delete-fool|rc-delete-if|rc-delete-keyword|rc-delete-pal|rc-delete-query|rc-determine-network|rc-determine-parameters|rc-directory-writable-p|rc-display-command|rc-display-error-notice|rc-display-line-1|rc-display-line|rc-display-message-highlight|rc-display-message|rc-display-msg|rc-display-prompt|rc-display-server-message|rc-downcase|rc-echo-notice-in-active-buffer|rc-echo-notice-in-active-non-server-buffer|rc-echo-notice-in-default-buffer|rc-echo-notice-in-first-user-buffer|rc-echo-notice-in-minibuffer|rc-echo-notice-in-server-buffer|rc-echo-notice-in-target-buffer|rc-echo-notice-in-user-and-target-buffers|rc-echo-notice-in-user-buffers|rc-echo-timestamp|rc-emacs-time-to-erc-time|rc-encode-coding-string|rc-end-of-input-line|rc-ensure-channel-name|rc-error|rc-extract-command-from-line|rc-extract-nick|rc-ezb-add-session|rc-ezb-end-of-session-list|rc-ezb-get-login|rc-ezb-identify)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)er(?:c-ezb-init-session-list|c-ezb-initialize|c-ezb-lookup-action|c-ezb-notice-autodetect|c-ezb-select-session|c-ezb-select|c-faces-in|c-fill-disable|c-fill-enable|c-fill-mode|c-fill-regarding-timestamp|c-fill-static|c-fill-variable|c-fill|c-find-file|c-find-parsed-property|c-find-script-file|c-format-@nick|c-format-away-status|c-format-channel-modes|c-format-lag-time|c-format-message|c-format-my-nick|c-format-network|c-format-nick|c-format-privmessage|c-format-target-and/or-network|c-format-target-and/or-server|c-format-target|c-format-timestamp|c-function-arglist|c-generate-new-buffer-name|c-get-arglist|c-get-bg-color-face|c-get-buffer-create|c-get-buffer|c-get-channel-mode-from-keypress|c-get-channel-nickname-alist|c-get-channel-nickname-list|c-get-channel-user-list|c-get-channel-user|c-get-fg-color-face|c-get-hook|c-get-parsed-vector-nick|c-get-parsed-vector-type|c-get-parsed-vector|c-get-server-nickname-alist|c-get-server-nickname-list|c-get-server-user|c-get-user-mode-prefix|c-get|c-go-to-log-matches-buffer|c-grab-region|c-group-list|c-handle-irc-url|c-handle-login|c-handle-parsed-server-response|c-handle-unknown-server-response|c-handle-user-status-change|c-hide-current-message-p|c-hide-fools|c-hide-timestamps|c-highlight-error|c-highlight-notice|c-identd-mode|c-identd-start|c-identd-stop|c-ignored-reply-p|c-ignored-user-p|c-imenu-setup|c-initialize-log-marker|c-input-action|c-input-message|c-input-ring-setup|c-insert-aligned|c-insert-mode-command|c-insert-timestamp-left-and-right|c-insert-timestamp-left|c-insert-timestamp-right|c-invite-only-mode|c-irccontrols-disable|c-irccontrols-enable|c-irccontrols-mode|c-is-message-ctcp-and-not-action-p|c-is-message-ctcp-p|c-is-valid-nick-p|c-ison-p|c-iswitchb|c-join-channel|c-keep-place-disable|c-keep-place-enable|c-keep-place-mode|c-keep-place|c-kill-buffer-function|c-kill-channel|c-kill-input|c-kill-query-buffers|c-kill-server|c-list-button|c-list-disable|c-list-enable|c-list-handle-322|c-list-insert-item|c-list-install-322-handler|c-list-join|c-list-kill|c-list-make-string|c-list-match|c-list-menu-mode|c-list-menu-sort-by-column|c-list-mode|c-list-revert|c-list|c-load-irc-script-lines|c-load-irc-script|c-load-script|c-log-aux|c-log-irc-protocol|c-log-matches-come-back|c-log-matches-make-buffer|c-log-matches|c-log-mode|c-log|c-logging-enabled|c-login|c-lurker-cleanup|c-lurker-initialize|c-lurker-maybe-trim|c-lurker-p|c-lurker-update-status|c-make-message-variable-name|c-make-mode-line-buffer-name|c-make-notice|c-make-obsolete-variable|c-make-obsolete|c-make-read-only|c-match-current-nick-p|c-match-dangerous-host-p|c-match-directed-at-fool-p|c-match-disable|c-match-enable|c-match-fool-p|c-match-keyword-p|c-match-message|c-match-mode|c-match-pal-p|c-member-if|c-member-ignore-case|c-menu-add|c-menu-disable|c-menu-enable|c-menu-mode|c-menu-remove|c-menu|c-message-english-PART|c-message-target|c-message-type-member|c-message|c-migrate-modules|c-modes??|c-modified-channels-display|c-modified-channels-object|c-modified-channels-remove-buffer|c-modified-channels-update|c-move-to-prompt-disable|c-move-to-prompt-enable|c-move-to-prompt-mode|c-move-to-prompt-setup|c-move-to-prompt|c-munge-invisibility-spec|c-netsplit-JOIN|c-netsplit-MODE|c-netsplit-QUIT|c-netsplit-disable|c-netsplit-enable|c-netsplit-install-message-catalogs|c-netsplit-mode|c-netsplit-timer|c-network-name|c-network|c-networks-disable|c-networks-enable|c-networks-mode|c-next-command|c-nick-at-point|c-nick-equal-p|c-nick-popup|c-nickname-in-use|c-nickserv-identify-mode|c-nickserv-identify|c-noncommands-disable|c-noncommands-enable|c-noncommands-mode|c-normalize-port|c-notifications-mode|c-notify-mode|c-occur|c-once-with-server-event|c-open-server-buffer-p|c-open-tls-stream|c-open|c-page-mode|c-parse-modes|c-parse-prefix|c-parse-server-response|c-parse-user|c-part-from-channel|c-part-reason-normal|c-part-reason-various|c-part-reason-zippy|c-pcomplete-disable|c-pcomplete-enable|c-pcomplete-mode|c-pcomplete|c-pcompletions-at-point|c-popup-input-buffer|c-port-equal|c-port-to-string|c-ports-list|c-previous-command|c-process-away|c-process-ctcp-query|c-process-ctcp-reply|c-process-input-line|c-process-script-line|c-process-sentinel-1|c-process-sentinel-2|c-process-sentinel|c-prompt|c-propertize|c-put-text-properties|c-put-text-property|c-query-buffer-p|c-query|c-quit/part-reason-default|c-quit-reason-normal|c-quit-reason-various|c-quit-reason-zippy|c-quit-server|c-readonly-disable|c-readonly-enable|c-readonly-mode|c-remove-channel-member|c-remove-channel-users??|c-remove-current-channel-member|c-remove-entry-from-list|c-remove-if-not|c-remove-server-user|c-remove-text-properties-region|c-remove-user|c-replace-current-command|c-replace-match-subexpression-in-string|c-replace-mode|c-replace-regexp-in-string|c-response-p--cmacro|c-response-p|c-response\\\\\\\\.command--cmacro|c-response\\\\\\\\.command-args--cmacro|c-response\\\\\\\\.command-args|c-response\\\\\\\\.command|c-response\\\\\\\\.contents--cmacro|c-response\\\\\\\\.contents|c-response\\\\\\\\.sender--cmacro|c-response\\\\\\\\.sender|c-response\\\\\\\\.unparsed--cmacro|c-response\\\\\\\\.unparsed|c-restore-text-properties|c-retrieve-catalog-entry|c-ring-disable|c-ring-enable|c-ring-mode|c-save-buffer-in-logs|c-scroll-to-bottom|c-scrolltobottom-disable|c-scrolltobottom-enable|c-scrolltobottom-mode|c-sec-to-time|c-seconds-to-string|c-select-read-args|c-select-startup-file|c-select|c-send-action|c-send-command|c-send-ctcp-message|c-send-ctcp-notice|c-send-current-line|c-send-distinguish-noncommands|c-send-input-line|c-send-input|c-send-line|c-send-message|c-server-001|c-server-002|c-server-003|c-server-004|c-server-005|c-server-221|c-server-250|c-server-251|c-server-252|c-server-253|c-server-254|c-server-255|c-server-256|c-server-257|c-server-258|c-server-259|c-server-265|c-server-266|c-server-275|c-server-290|c-server-301|c-server-303|c-server-305|c-server-306|c-server-307|c-server-311|c-server-312|c-server-313|c-server-314|c-server-315|c-server-317|c-server-318|c-server-319|c-server-320|c-server-321-message|c-server-321|c-server-322-message|c-server-322|c-server-323|c-server-324|c-server-328|c-server-329|c-server-330|c-server-331|c-server-332|c-server-333|c-server-341|c-server-352|c-server-353|c-server-366|c-server-367|c-server-368|c-server-369|c-server-371|c-server-372|c-server-374|c-server-375|c-server-376|c-server-377|c-server-378|c-server-379|c-server-391|c-server-401|c-server-403|c-server-404|c-server-405|c-server-406|c-server-412|c-server-421|c-server-422|c-server-431|c-server-432|c-server-433|c-server-437|c-server-442|c-server-445|c-server-446|c-server-451|c-server-461|c-server-462|c-server-463|c-server-464|c-server-465|c-server-474|c-server-475|c-server-477|c-server-481|c-server-482|c-server-483|c-server-484|c-server-485|c-server-491|c-server-501|c-server-502|c-server-671|c-server-ERROR|c-server-INVITE|c-server-JOIN|c-server-KICK|c-server-MODE|c-server-MOTD|c-server-NICK|c-server-NOTICE|c-server-PART|c-server-PING|c-server-PONG|c-server-PRIVMSG|c-server-QUIT|c-server-TOPIC|c-server-WALLOPS|c-server-buffer-live-p|c-server-buffer-p|c-server-buffer|c-server-connect|c-server-filter-function|c-server-join-channel|c-server-process-alive|c-server-reconnect-p|c-server-reconnect|c-server-select|c-server-send-ping|c-server-send-queue|c-server-send|c-server-setup-periodical-ping|c-server-user-buffers--cmacro|c-server-user-buffers|c-server-user-full-name--cmacro|c-server-user-full-name|c-server-user-host--cmacro|c-server-user-host|c-server-user-info--cmacro|c-server-user-info|c-server-user-login--cmacro|c-server-user-login|c-server-user-nickname--cmacro|c-server-user-nickname|c-server-user-p--cmacro|c-server-user-p|c-services-mode|c-set-active-buffer|c-set-channel-key|c-set-channel-limit|c-set-current-nick|c-set-initial-user-mode|c-set-modes|c-set-network-name|c-set-topic|c-set-write-file-functions|c-setup-buffer|c-shorten-server-name|c-show-timestamps|c-smiley-disable|c-smiley-enable|c-smiley-mode|c-smiley|c-sort-channel-users-alphabetically|c-sort-channel-users-by-activity|c-sort-strings|c-sound-mode|c-speedbar-browser|c-spelling-mode|c-split-line|c-split-multiline-safe|c-ssl|c-stamp-disable|c-stamp-enable|c-stamp-mode|c-string-invisible-p|c-string-no-properties|c-string-to-emacs-time|c-string-to-port|c-subseq|c-time-diff|c-time-gt|c-timestamp-mode|c-timestamp-offset|c-tls|c-toggle-channel-mode|c-toggle-ctcp-autoresponse|c-toggle-debug-irc-protocol|c-toggle-flood-control|c-toggle-interpret-controls|c-toggle-timestamps|c-track-add-to-mode-line|c-track-disable|c-track-enable|c-track-face-priority|c-track-find-face|c-track-get-active-buffer|c-track-get-buffer-window|c-track-minor-mode-maybe|c-track-minor-mode|c-track-mode|c-track-modified-channels|c-track-remove-from-mode-line|c-track-shorten-names|c-track-sort-by-activest|c-track-sort-by-importance|c-track-switch-buffer|c-trim-string|c-truncate-buffer-to-size|c-truncate-buffer|c-truncate-mode|c-unique-channel-names|c-unique-substring-1|c-unique-substrings|c-unmorse-disable|c-unmorse-enable|c-unmorse-mode|c-unmorse|c-unset-network-name|c-upcase-first-word|c-update-channel-key|c-update-channel-limit|c-update-channel-member|c-update-channel-topic|c-update-current-channel-member|c-update-mode-line-buffer|c-update-mode-line|c-update-modes|c-update-modules|c-update-undo-list|c-update-user-nick|c-update-user|c-user-input|c-user-is-active|c-user-spec|c-version|c-view-mode-enter|c-wash-quit-reason|c-window-configuration-change|c-with-all-buffers-of-server|c-with-buffer|c-with-selected-window|c-with-server-buffer|c-xdcc-add-file|c-xdcc-mode|c|egistry|evision|t--abbreviate-string|t--activate-font-lock-keywords|t--button-action-position|t--ewoc-entry-expanded-p--cmacro|t--ewoc-entry-expanded-p|t--ewoc-entry-extended-printer-limits-p--cmacro|t--ewoc-entry-extended-printer-limits-p|t--ewoc-entry-hidden-p--cmacro|t--ewoc-entry-hidden-p|t--ewoc-entry-p--cmacro|t--ewoc-entry-p|t--ewoc-entry-test--cmacro|t--ewoc-entry-test|t--ewoc-position|t--expand-should-1|t--expand-should|t--explain-equal-including-properties|t--explain-equal-rec|t--explain-equal|t--explain-format-atom|t--force-message-log-buffer-truncation|t--format-time-iso8601|t--insert-human-readable-selector|t--insert-infos|t--make-stats|t--make-xrefs-region|t--parse-keys-and-body|t--plist-difference-explanation|t--pp-with-indentation-and-newline|t--print-backtrace|t--print-test-for-ewoc|t--proper-list-p|t--record-backtrace|t--remove-from-list|t--results-expand-collapse-button-action|t--results-font-lock-function|t--results-format-expected-unexpected|t--results-move|t--results-progress-bar-button-action|t--results-test-at-point-allow-redefinition|t--results-test-at-point-no-redefinition|t--results-test-node-at-point|t--results-test-node-or-null-at-point|t--results-update-after-test-redefinition|t--results-update-ewoc-hf|t--results-update-stats-display-maybe|t--results-update-stats-display|t--run-test-debugger|t--run-test-internal|t--setup-results-buffer|t--should-error-handle-error|t--signal-should-execution|t--significant-plist-keys|t--skip-unless|t--special-operator-p|t--stats-aborted-p--cmacro|t--stats-aborted-p|t--stats-current-test--cmacro|t--stats-current-test|t--stats-end-time--cmacro)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)e(?:rt--stats-end-time|rt--stats-failed-expected--cmacro|rt--stats-failed-expected|rt--stats-failed-unexpected--cmacro|rt--stats-failed-unexpected|rt--stats-next-redisplay--cmacro|rt--stats-next-redisplay|rt--stats-p--cmacro|rt--stats-p|rt--stats-passed-expected--cmacro|rt--stats-passed-expected|rt--stats-passed-unexpected--cmacro|rt--stats-passed-unexpected|rt--stats-selector--cmacro|rt--stats-selector|rt--stats-set-test-and-result|rt--stats-skipped--cmacro|rt--stats-skipped|rt--stats-start-time--cmacro|rt--stats-start-time|rt--stats-test-end-times--cmacro|rt--stats-test-end-times|rt--stats-test-key|rt--stats-test-map--cmacro|rt--stats-test-map|rt--stats-test-pos|rt--stats-test-results--cmacro|rt--stats-test-results|rt--stats-test-start-times--cmacro|rt--stats-test-start-times|rt--stats-tests--cmacro|rt--stats-tests|rt--string-first-line|rt--test-execution-info-ert-debug-on-error--cmacro|rt--test-execution-info-ert-debug-on-error|rt--test-execution-info-exit-continuation--cmacro|rt--test-execution-info-exit-continuation|rt--test-execution-info-next-debugger--cmacro|rt--test-execution-info-next-debugger|rt--test-execution-info-p--cmacro|rt--test-execution-info-p|rt--test-execution-info-result--cmacro|rt--test-execution-info-result|rt--test-execution-info-test--cmacro|rt--test-execution-info-test|rt--test-name-button-action|rt--tests-running-mode-line-indicator|rt--unload-function|rt-char-for-test-result|rt-deftest|rt-delete-all-tests|rt-delete-test|rt-describe-test|rt-equal-including-properties|rt-face-for-stats|rt-face-for-test-result|rt-fail|rt-find-test-other-window|rt-get-test|rt-info|rt-insert-test-name-button|rt-kill-all-test-buffers|rt-make-test-unbound|rt-pass|rt-read-test-name-at-point|rt-read-test-name|rt-results-describe-test-at-point|rt-results-find-test-at-point-other-window|rt-results-jump-between-summary-and-result|rt-results-mode-menu|rt-results-mode|rt-results-next-test|rt-results-pop-to-backtrace-for-test-at-point|rt-results-pop-to-messages-for-test-at-point|rt-results-pop-to-should-forms-for-test-at-point|rt-results-pop-to-timings|rt-results-previous-test|rt-results-rerun-all-tests|rt-results-rerun-test-at-point-debugging-errors|rt-results-rerun-test-at-point|rt-results-toggle-printer-limits-for-test-at-point|rt-run-or-rerun-test|rt-run-test|rt-run-tests-batch-and-exit|rt-run-tests-batch|rt-run-tests-interactively|rt-run-tests|rt-running-test|rt-select-tests|rt-set-test|rt-simple-view-mode|rt-skip|rt-stats-completed-expected|rt-stats-completed-unexpected|rt-stats-completed|rt-stats-skipped|rt-stats-total|rt-string-for-test-result|rt-summarize-tests-batch-and-exit|rt-test-aborted-with-non-local-exit-messages--cmacro|rt-test-aborted-with-non-local-exit-messages|rt-test-aborted-with-non-local-exit-p--cmacro|rt-test-aborted-with-non-local-exit-p|rt-test-aborted-with-non-local-exit-should-forms--cmacro|rt-test-aborted-with-non-local-exit-should-forms|rt-test-at-point|rt-test-body--cmacro|rt-test-body|rt-test-boundp|rt-test-documentation--cmacro|rt-test-documentation|rt-test-expected-result-type--cmacro|rt-test-expected-result-type|rt-test-failed-backtrace--cmacro|rt-test-failed-backtrace|rt-test-failed-condition--cmacro|rt-test-failed-condition|rt-test-failed-infos--cmacro|rt-test-failed-infos|rt-test-failed-messages--cmacro|rt-test-failed-messages|rt-test-failed-p--cmacro|rt-test-failed-p|rt-test-failed-should-forms--cmacro|rt-test-failed-should-forms|rt-test-most-recent-result--cmacro|rt-test-most-recent-result|rt-test-name--cmacro|rt-test-name|rt-test-p--cmacro|rt-test-p|rt-test-passed-messages--cmacro|rt-test-passed-messages|rt-test-passed-p--cmacro|rt-test-passed-p|rt-test-passed-should-forms--cmacro|rt-test-passed-should-forms|rt-test-quit-backtrace--cmacro|rt-test-quit-backtrace|rt-test-quit-condition--cmacro|rt-test-quit-condition|rt-test-quit-infos--cmacro|rt-test-quit-infos|rt-test-quit-messages--cmacro|rt-test-quit-messages|rt-test-quit-p--cmacro|rt-test-quit-p|rt-test-quit-should-forms--cmacro|rt-test-quit-should-forms|rt-test-result-expected-p|rt-test-result-messages--cmacro|rt-test-result-messages|rt-test-result-p--cmacro|rt-test-result-p|rt-test-result-should-forms--cmacro|rt-test-result-should-forms|rt-test-result-type-p|rt-test-result-with-condition-backtrace--cmacro|rt-test-result-with-condition-backtrace|rt-test-result-with-condition-condition--cmacro|rt-test-result-with-condition-condition|rt-test-result-with-condition-infos--cmacro|rt-test-result-with-condition-infos|rt-test-result-with-condition-messages--cmacro|rt-test-result-with-condition-messages|rt-test-result-with-condition-p--cmacro|rt-test-result-with-condition-p|rt-test-result-with-condition-should-forms--cmacro|rt-test-result-with-condition-should-forms|rt-test-skipped-backtrace--cmacro|rt-test-skipped-backtrace|rt-test-skipped-condition--cmacro|rt-test-skipped-condition|rt-test-skipped-infos--cmacro|rt-test-skipped-infos|rt-test-skipped-messages--cmacro|rt-test-skipped-messages|rt-test-skipped-p--cmacro|rt-test-skipped-p|rt-test-skipped-should-forms--cmacro|rt-test-skipped-should-forms|rt-test-tags--cmacro|rt-test-tags|rt|shell/addpath|shell/define|shell/env|shell/eshell-debug|shell/exit|shell/export|shell/jobs|shell/kill|shell/setq|shell/unset|shell/wait|shell/which|shell--apply-redirections|shell--do-opts|shell--process-args|shell--process-option|shell--set-option|shell-add-to-window-buffer-names|shell-apply\\\\\\\\*|shell-apply-indices|shell-applyn??|shell-arg-delimiter|shell-arg-initialize|shell-as-subcommand|shell-backward-argument|shell-begin-on-new-line|shell-beginning-of-input|shell-beginning-of-output|shell-bol|shell-buffered-print|shell-clipboard-append|shell-close-handles|shell-close-target|shell-cmd-initialize|shell-command-finished|shell-command-result|shell-command-started|shell-command-to-value|shell-commands??|shell-complete-lisp-symbols|shell-complete-variable-assignment|shell-complete-variable-reference|shell-condition-case|shell-convert|shell-copy-environment|shell-copy-handles|shell-copy-old-input|shell-copy-tree|shell-create-handles|shell-current-ange-uids|shell-debug-command|shell-debug-show-parsed-args|shell-directory-files-and-attributes|shell-directory-files|shell-do-command-to-value|shell-do-eval|shell-do-pipelines-synchronously|shell-do-pipelines|shell-do-subjob|shell-end-of-output|shell-environment-variables|shell-envvar-names|shell-errorn??|shell-escape-arg|shell-eval\\\\\\\\*|shell-eval-command|shell-eval-using-options|shell-evaln??|shell-exec-lisp|shell-execute-pipeline|shell-exit-success-p|shell-explicit-command|shell-ext-initialize|shell-external-command|shell-file-attributes|shell-find-alias-function|shell-find-delimiter|shell-find-interpreter|shell-find-tag|shell-finish-arg|shell-flatten-and-stringify|shell-flatten-list|shell-flush|shell-for|shell-forward-argument|shell-funcall\\\\\\\\*?|shell-funcalln|shell-gather-process-output|shell-get-old-input|shell-get-target|shell-get-variable|shell-goto-input-start|shell-group-id|shell-group-name|shell-handle-ansi-color|shell-handle-control-codes|shell-handle-local-variables|shell-index-value|shell-init-print-buffer|shell-insert-buffer-name|shell-insert-envvar|shell-insert-process|shell-insertion-filter|shell-interactive-output-p|shell-interactive-print|shell-interactive-process|shell-intercept-commands|shell-interpolate-variable|shell-interrupt-process|shell-invoke-batch-file|shell-invoke-directly|shell-invokify-arg|shell-io-initialize|shell-kill-append|shell-kill-buffer-function|shell-kill-input|shell-kill-new|shell-kill-output|shell-kill-process-function|shell-kill-process|shell-life-is-too-much|shell-lisp-command\\\\\\\\*?|shell-looking-at-backslash-return|shell-make-private-directory|shell-manipulate|shell-mark-output|shell-mode|shell-move-argument|shell-named-command\\\\\\\\*?|shell-needs-pipe-p|shell-no-command-conversion|shell-operator|shell-output-filter|shell-output-object-to-target|shell-output-object|shell-parse-ange-ls|shell-parse-arguments??|shell-parse-backslash|shell-parse-colon-path|shell-parse-command-input|shell-parse-command|shell-parse-delimiter|shell-parse-double-quote|shell-parse-indices|shell-parse-lisp-argument|shell-parse-literal-quote|shell-parse-pipeline|shell-parse-redirection|shell-parse-special-reference|shell-parse-subcommand-argument|shell-parse-variable-ref|shell-parse-variable|shell-plain-command|shell-postoutput-scroll-to-bottom|shell-preinput-scroll-to-bottom|shell-print|shell-printable-size|shell-printn|shell-proc-initialize|shell-process-identity|shell-process-interact|shell-processp|shell-protect-handles|shell-protect|shell-push-command-mark|shell-query-kill-processes|shell-queue-input|shell-quit-process|shell-quote-argument|shell-quote-backslash|shell-read-group-names|shell-read-host-names|shell-read-hosts-file|shell-read-hosts|shell-read-passwd-file|shell-read-passwd|shell-read-process-name|shell-read-user-names|shell-record-process-object|shell-redisplay|shell-regexp-arg|shell-remote-command|shell-remove-from-window-buffer-names|shell-remove-process-entry|shell-repeat-argument|shell-report-bug|shell-reset-after-proc|shell-reset|shell-resolve-current-argument|shell-resume-command|shell-resume-eval|shell-return-exits-minibuffer|shell-rewrite-for-command|shell-rewrite-if-command|shell-rewrite-initial-subcommand|shell-rewrite-named-command|shell-rewrite-sexp-command|shell-rewrite-while-command|shell-round-robin-kill|shell-run-output-filters|shell-script-interpreter|shell-search-path|shell-self-insert-command|shell-send-eof-to-process|shell-send-input|shell-send-invisible|shell-sentinel|shell-separate-commands|shell-set-output-handle|shell-show-maximum-output|shell-show-output|shell-show-usage|shell-split-path|shell-stringify-list|shell-stringify|shell-strip-redirections|shell-structure-basic-command|shell-subcommand-arg-values|shell-subgroups|shell-sublist|shell-substring|shell-to-flat-string|shell-toggle-direct-send|shell-trap-errors|shell-truncate-buffer|shell-under-windows-p|shell-uniqify-list|shell-unload-all-modules|shell-unload-extension-modules|shell-update-markers|shell-user-id|shell-user-name|shell-using-module|shell-var-initialize|shell-variables-list|shell-wait-for-process|shell-watch-for-password-prompt|shell-winnow-list|shell-with-file-modes|shell-with-private-file-modes|shell|tags--xref-find-definitions|tags-file-of-tag|tags-goto-tag-location|tags-list-tags|tags-recognize-tags-table|tags-snarf-tag|tags-tags-apropos-additional|tags-tags-apropos|tags-tags-completion-table|tags-tags-included-tables|tags-tags-table-files|tags-verify-tags-table|tags-xref-find|thio-composition-function|thio-fidel-to-java-buffer|thio-fidel-to-sera-buffer|thio-fidel-to-sera-marker|thio-fidel-to-sera-region|thio-fidel-to-tex-buffer|thio-find-file|thio-input-special-character|thio-insert-ethio-space|thio-java-to-fidel-buffer|thio-modify-vowel|thio-replace-space|thio-sera-to-fidel-buffer|thio-sera-to-fidel-marker|thio-sera-to-fidel-region|thio-tex-to-fidel-buffer|thio-write-file|typecase|udc-add-field-to-records|udc-bookmark-current-server|udc-bookmark-server|udc-caar|udc-cadr|udc-cdaar|udc-cdar|udc-customize|udc-default-set|udc-display-generic-binary|udc-display-jpeg-as-button|udc-display-jpeg-inline|udc-display-mail|udc-display-records|udc-display-sound|udc-display-url|udc-distribute-field-on-records|udc-edit-hotlist|udc-expand-inline|udc-extract-n-word-formats|udc-filter-duplicate-attributes|udc-filter-partial-records|udc-format-attribute-name-for-display|udc-format-query|udc-get-attribute-list|udc-get-email|udc-get-phone|udc-insert-record-at-point-into-bbdb|udc-install-menu|udc-lax-plist-get|udc-load-eudc|udc-menu|udc-mode|udc-move-to-next-record|udc-move-to-previous-record|udc-plist-get|udc-plist-member)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:eudc-print-attribute-value|eudc-print-record-field|eudc-process-form|eudc-protocol-local-variable-p|eudc-protocol-set|eudc-query-form|eudc-query|eudc-register-protocol|eudc-replace-in-string|eudc-save-options|eudc-select|eudc-server-local-variable-p|eudc-server-set|eudc-set-server|eudc-set|eudc-tools-menu|eudc-translate-attribute-list|eudc-translate-query|eudc-try-bbdb-insert|eudc-update-local-variables|eudc-update-variable|eudc-variable-default-value|eudc-variable-protocol-value|eudc-variable-server-value|eval-after-load--anon-cmacro|eval-after-load|eval-defun|eval-expression-print-format|eval-expression|eval-last-sexp|eval-next-after-load|eval-print-last-sexp|eval-sexp-add-defvars|eval-when|evenp|event-apply-alt-modifier|event-apply-control-modifier|event-apply-hyper-modifier|event-apply-meta-modifier|event-apply-modifier|event-apply-shift-modifier|event-apply-super-modifier|every|ewoc--adjust|ewoc--buffer--cmacro|ewoc--buffer|ewoc--create--cmacro|ewoc--create|ewoc--dll--cmacro|ewoc--dll|ewoc--filter-hf-nodes|ewoc--footer--cmacro|ewoc--footer|ewoc--header--cmacro|ewoc--header|ewoc--hf-pp--cmacro|ewoc--hf-pp|ewoc--insert-new-node|ewoc--last-node--cmacro|ewoc--last-node|ewoc--node-create--cmacro|ewoc--node-create|ewoc--node-data--cmacro|ewoc--node-data|ewoc--node-left--cmacro|ewoc--node-left|ewoc--node-next|ewoc--node-nth|ewoc--node-prev|ewoc--node-right--cmacro|ewoc--node-right|ewoc--node-start-marker--cmacro|ewoc--node-start-marker|ewoc--pretty-printer--cmacro|ewoc--pretty-printer|ewoc--refresh-node|ewoc--set-buffer-bind-dll-let\\\\\\\\*|ewoc--set-buffer-bind-dll|ewoc--wrap|ewoc-p--cmacro|ewoc-p|eww-add-bookmark|eww-back-url|eww-beginning-of-field|eww-beginning-of-text|eww-bookmark-browse|eww-bookmark-kill|eww-bookmark-mode|eww-bookmark-prepare|eww-bookmark-yank|eww-browse-url|eww-browse-with-external-browser|eww-buffer-kill|eww-buffer-select|eww-buffer-show-next|eww-buffer-show-previous|eww-buffer-show|eww-buffers-mode|eww-change-select|eww-copy-page-url|eww-current-url|eww-desktop-data-1|eww-desktop-history-duplicate|eww-desktop-misc-data|eww-detect-charset|eww-display-html|eww-display-image|eww-display-pdf|eww-display-raw|eww-download-callback|eww-download|eww-end-of-field|eww-end-of-text|eww-follow-link|eww-form-checkbox|eww-form-file|eww-form-submit|eww-form-text|eww-forward-url|eww-handle-link|eww-highest-readability|eww-history-browse|eww-history-mode|eww-input-value|eww-inputs|eww-links-at-point|eww-list-bookmarks|eww-list-buffers|eww-list-histories|eww-make-unique-file-name|eww-mode|eww-next-bookmark|eww-next-url|eww-open-file|eww-parse-headers|eww-previous-bookmark|eww-previous-url|eww-process-text-input|eww-read-bookmarks|eww-readable|eww-reload|eww-render|eww-restore-desktop|eww-restore-history|eww-same-page-p|eww-save-history|eww-score-readability|eww-search-words|eww-select-display|eww-select-file|eww-set-character-encoding|eww-setup-buffer|eww-size-text-inputs|eww-submit|eww-suggested-uris|eww-tag-a|eww-tag-body|eww-tag-form|eww-tag-input|eww-tag-link|eww-tag-select|eww-tag-textarea|eww-tag-title|eww-toggle-checkbox|eww-top-url|eww-up-url|eww-update-field|eww-update-header-line-format|eww-view-source|eww-write-bookmarks|eww|ex-args|ex-cd|ex-cmd-accepts-multiple-files-p|ex-cmd-assoc|ex-cmd-complete|ex-cmd-execute|ex-cmd-is-mashed-with-args|ex-cmd-is-one-letter|ex-cmd-not-yet|ex-cmd-obsolete|ex-cmd-read-exit|ex-command|ex-compile|ex-copy|ex-delete|ex-edit|ex-expand-filsyms|ex-find-file|ex-fixup-history|ex-get-inline-cmd-args|ex-global|ex-goto|ex-help|ex-line-no|ex-line-subr|ex-line|ex-map-read-args|ex-map|ex-mark|ex-next-related-buffer|ex-next|ex-preserve|ex-print-display-lines|ex-print|ex-put|ex-pwd|ex-quit|ex-read|ex-recover|ex-rewind|ex-search-address|ex-set-read-variable|ex-set-visited-file-name|ex-set|ex-shell|ex-show-vars|ex-source|ex-splice-args-in-1-letr-cmd|ex-substitute|ex-tag|ex-unmap-read-args|ex-unmap|ex-write-info|ex-write|ex-yank|exchange-dot-and-mark|exchange-point-and-mark|executable-chmod|executable-command-find-posix-p|executable-interpret|executable-make-buffer-file-executable-if-script-p|executable-self-display|executable-set-magic|execute-extended-command--shorter-1|execute-extended-command--shorter|exit-scheme-interaction-mode|exit-splash-screen|expand-abbrev-from-expand|expand-abbrev-hook|expand-add-abbrevs??|expand-build-list|expand-build-marks|expand-c-for-skeleton|expand-clear-markers|expand-do-expansion|expand-in-literal|expand-jump-to-next-slot|expand-jump-to-previous-slot|expand-list-to-markers|expand-mail-aliases|expand-previous-word|expand-region-abbrevs|expand-skeleton-end-hook|external-debugging-output|extract-rectangle-line|extract-rectangle|ezimage-all-images|ezimage-image-association-dump|ezimage-image-dump|ezimage-image-over-string|ezimage-insert-image-button-maybe|ezimage-insert-over-text|f90-abbrev-help|f90-abbrev-start|f90-add-imenu-menu|f90-backslash-not-special|f90-beginning-of-block|f90-beginning-of-subprogram|f90-block-match|f90-break-line|f90-calculate-indent|f90-capitalize-keywords|f90-capitalize-region-keywords|f90-change-keywords|f90-comment-indent|f90-comment-region|f90-current-defun|f90-current-indentation|f90-do-auto-fill|f90-downcase-keywords|f90-downcase-region-keywords|f90-electric-insert|f90-end-of-block|f90-end-of-subprogram|f90-equal-symbols|f90-fill-region|f90-find-breakpoint|f90-font-lock-1|f90-font-lock-2|f90-font-lock-3|f90-font-lock-4|f90-font-lock-n|f90-get-correct-indent|f90-get-present-comment-type|f90-imenu-type-matcher|f90-in-comment|f90-in-string|f90-indent-line-no|f90-indent-line|f90-indent-new-line|f90-indent-region|f90-indent-subprogram|f90-indent-to|f90-insert-end|f90-join-lines|f90-line-continued|f90-looking-at-associate|f90-looking-at-critical|f90-looking-at-do|f90-looking-at-end-critical|f90-looking-at-if-then|f90-looking-at-program-block-end|f90-looking-at-program-block-start|f90-looking-at-select-case|f90-looking-at-type-like|f90-looking-at-where-or-forall|f90-mark-subprogram|f90-match-end|f90-menu|f90-mode|f90-next-block|f90-next-statement|f90-no-block-limit|f90-prepare-abbrev-list-buffer|f90-present-statement-cont|f90-previous-block|f90-previous-statement|f90-typedec-matcher|f90-typedef-matcher|f90-upcase-keywords|f90-upcase-region-keywords|f90-update-line|face-at-point|face-attr-construct|face-attr-match-p|face-attribute-merged-with|face-attribute-specified-or|face-attributes-as-vector|face-attrs-more-relative-p|face-background-pixmap|face-default-spec|face-descriptive-attribute-name|face-doc-string|face-name|face-nontrivial-p|face-read-integer|face-read-string|face-remap-order|face-set-after-frame-default|face-spec-choose|face-spec-match-p|face-spec-recalc|face-spec-reset-face|face-spec-set-2|face-spec-set-match-display|face-user-default-spec|face-valid-attribute-values|facemenu-active-faces|facemenu-add-face|facemenu-add-new-color|facemenu-add-new-face|facemenu-background-menu|facemenu-color-equal|facemenu-complete-face-list|facemenu-enable-faces-p|facemenu-face-menu|facemenu-foreground-menu|facemenu-indentation-menu|facemenu-iterate|facemenu-justification-menu|facemenu-menu|facemenu-post-self-insert-function|facemenu-read-color|facemenu-remove-all|facemenu-remove-face-props|facemenu-remove-special|facemenu-set-background|facemenu-set-bold-italic|facemenu-set-bold|facemenu-set-default|facemenu-set-face-from-menu|facemenu-set-face|facemenu-set-foreground|facemenu-set-intangible|facemenu-set-invisible|facemenu-set-italic|facemenu-set-read-only|facemenu-set-self-insert-face|facemenu-set-underline|facemenu-special-menu|facemenu-update|fancy-about-screen|fancy-splash-frame|fancy-splash-head|fancy-splash-image-file|fancy-splash-insert|fancy-startup-screen|fancy-startup-tail|feature-file|feature-symbols|feedmail-accume-n-nuke-header|feedmail-buffer-to-binmail|feedmail-buffer-to-sendmail|feedmail-buffer-to-smtp|feedmail-buffer-to-smtpmail|feedmail-confirm-addresses-hook-example|feedmail-create-queue-filename|feedmail-deduce-address-list|feedmail-default-date-generator|feedmail-default-message-id-generator|feedmail-default-x-mailer-generator|feedmail-dump-message-to-queue|feedmail-envelope-deducer|feedmail-fiddle-date|feedmail-fiddle-from|feedmail-fiddle-header|feedmail-fiddle-list-of-fiddle-plexes|feedmail-fiddle-list-of-spray-fiddle-plexes|feedmail-fiddle-message-id|feedmail-fiddle-sender|feedmail-fiddle-spray-address|feedmail-fiddle-x-mailer|feedmail-fill-this-one|feedmail-fill-to-cc-function|feedmail-find-eoh|feedmail-fqm-p|feedmail-give-it-to-buffer-eater|feedmail-look-at-queue-directory|feedmail-mail-send-hook-splitter|feedmail-message-action-draft-strong|feedmail-message-action-draft|feedmail-message-action-edit|feedmail-message-action-help-blat|feedmail-message-action-help|feedmail-message-action-queue-strong|feedmail-message-action-queue|feedmail-message-action-scroll-down|feedmail-message-action-scroll-up|feedmail-message-action-send-strong|feedmail-message-action-send|feedmail-message-action-toggle-spray|feedmail-one-last-look|feedmail-queue-express-to-draft|feedmail-queue-express-to-queue|feedmail-queue-reminder-brief|feedmail-queue-reminder-medium|feedmail-queue-reminder|feedmail-queue-runner-prompt|feedmail-queue-send-edit-prompt-inner|feedmail-queue-send-edit-prompt|feedmail-queue-subject-slug-maker|feedmail-rfc822-date|feedmail-rfc822-time-zone|feedmail-run-the-queue-global-prompt|feedmail-run-the-queue-no-prompts|feedmail-run-the-queue|feedmail-say-chatter|feedmail-say-debug|feedmail-scroll-buffer|feedmail-send-it-immediately-wrapper|feedmail-send-it-immediately|feedmail-send-it|feedmail-spray-via-bbdb|feedmail-tidy-up-slug|feedmail-vm-mail-mode|fetch-overload|ff-all-dirs-under|ff-basename|ff-cc-hh-converter|ff-find-file|ff-find-other-file|ff-find-related-file|ff-find-the-other-file|ff-get-file-name|ff-get-file|ff-get-other-file|ff-list-replace-env-vars|ff-mouse-find-other-file-other-window|ff-mouse-find-other-file|ff-other-file-name|ff-set-point-accordingly|ff-string-match|ff-switch-file|ff-switch-to-buffer|ff-treat-as-special|ff-upcase-p|ff-which-function-are-we-in|ffap--toggle-read-only|ffap-all-subdirs-loop|ffap-all-subdirs|ffap-alternate-file-other-window|ffap-alternate-file|ffap-at-mouse|ffap-bib|ffap-bindings|ffap-bug|ffap-c\\\\\\\\+\\\\\\\\+-mode|ffap-c-mode|ffap-completable|ffap-copy-string-as-kill|ffap-dired-other-frame|ffap-dired-other-window|ffap-dired|ffap-el-mode|ffap-el|ffap-event-buffer|ffap-file-at-point|ffap-file-exists-string|ffap-file-remote-p|ffap-file-suffix|ffap-fixup-machine|ffap-fixup-url|ffap-fortran-mode|ffap-gnus-hook|ffap-gnus-menu|ffap-gnus-next|ffap-gnus-wrapper|ffap-gopher-at-point|ffap-guess-file-name-at-point|ffap-guesser|ffap-highlight|ffap-home|ffap-host-to-filename|ffap-info-2|ffap-info-3|ffap-info|ffap-kpathsea-expand-path|ffap-latex-mode|ffap-lcd|ffap-list-directory|ffap-list-env|ffap-literally|ffap-locate-file|ffap-machine-at-point|ffap-machine-p|ffap-menu-ask|ffap-menu-cont|ffap-menu-rescan|ffap-menu|ffap-mouse-event|ffap-newsgroup-p|ffap-next-guess|ffap-next-url|ffap-next|ffap-other-frame|ffap-other-window|ffap-prompter|ffap-read-file-or-url-internal|ffap-read-file-or-url|ffap-read-only-other-frame|ffap-read-only-other-window|ffap-read-only|ffap-read-url-internal|ffap-reduce-path|ffap-replace-file-component|ffap-rfc|ffap-ro-mode-hook|ffap-string-around|ffap-string-at-point|ffap-submit-bug|ffap-symbol-value|ffap-tex-init|ffap-tex-mode|ffap-tex|ffap-url-at-point|ffap-url-p|ffap-url-unwrap-local|ffap-url-unwrap-remote|ffap-what-domain|ffap|field-at-pos|field-complete|fifth|file-attributes-lessp|file-cache--read-list|file-cache-add-directory-list|file-cache-add-directory-recursively|file-cache-add-directory-using-find|file-cache-add-directory-using-locate|file-cache-add-directory|file-cache-add-file-list|file-cache-add-file|file-cache-add-from-file-cache-buffer|file-cache-canonical-directory|file-cache-choose-completion|file-cache-clear-cache|file-cache-complete|file-cache-completion-setup-function|file-cache-debug-read-from-minibuffer|file-cache-delete-directory-list|file-cache-delete-directory|file-cache-delete-file-list|file-cache-delete-file-regexp|file-cache-delete-file|file-cache-directory-name|file-cache-display|file-cache-do-delete-directory)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)f(?:ile-cache-file-name|ile-cache-files-matching-internal|ile-cache-files-matching|ile-cache-minibuffer-complete|ile-cache-mouse-choose-completion|ile-dependents|ile-loadhist-lookup|ile-modes-char-to-right|ile-modes-char-to-who|ile-modes-rights-to-number|ile-name-non-special|ile-name-shadow-mode|ile-notify--event-cookie|ile-notify--event-file-name|ile-notify--event-file1-name|ile-notify-callback|ile-notify-handle-event|ile-of-tag|ile-provides|ile-requires|ile-set-intersect|ile-size-human-readable|ile-tree-walk|ilesets-add-buffer|ilesets-alist-get|ilesets-browse-dir|ilesets-browser-name|ilesets-build-dir-submenu-now|ilesets-build-dir-submenu|ilesets-build-ingroup-submenu|ilesets-build-menu-maybe|ilesets-build-menu-now|ilesets-build-menu|ilesets-build-submenu|ilesets-close|ilesets-cmd-get-args|ilesets-cmd-get-def|ilesets-cmd-get-fn|ilesets-cmd-isearch-getargs|ilesets-cmd-query-replace-getargs|ilesets-cmd-query-replace-regexp-getargs|ilesets-cmd-shell-command-getargs|ilesets-cmd-shell-command|ilesets-cmd-show-result|ilesets-conditional-sort|ilesets-convert-path-list|ilesets-convert-patterns|ilesets-customize|ilesets-data-get-data|ilesets-data-get-name|ilesets-data-get|ilesets-data-set-default|ilesets-data-set|ilesets-directory-files|ilesets-edit|ilesets-entry-get-dormant-flag|ilesets-entry-get-files??|ilesets-entry-get-filter-dirs-flag|ilesets-entry-get-master|ilesets-entry-get-open-fn|ilesets-entry-get-pattern--dir|ilesets-entry-get-pattern--pattern|ilesets-entry-get-pattern|ilesets-entry-get-save-fn|ilesets-entry-get-tree-max-level|ilesets-entry-get-tree|ilesets-entry-get-verbosity|ilesets-entry-mode|ilesets-entry-set-files|ilesets-error|ilesets-eviewer-constraint-p|ilesets-eviewer-get-props|ilesets-exit|ilesets-file-close|ilesets-file-open|ilesets-files-equalp|ilesets-files-in-same-directory-p|ilesets-filetype-get-prop|ilesets-filetype-property|ilesets-filter-dir-names|ilesets-filter-list|ilesets-find-file-using|ilesets-find-file|ilesets-find-or-display-file|ilesets-get-cmd-menu|ilesets-get-external-viewer-by-name|ilesets-get-external-viewer|ilesets-get-filelist|ilesets-get-fileset-from-name|ilesets-get-fileset-name|ilesets-get-menu-epilog|ilesets-get-quoted-selection|ilesets-get-selection|ilesets-get-shortcut|ilesets-goto-homepage|ilesets-info|ilesets-ingroup-cache-get|ilesets-ingroup-cache-put|ilesets-ingroup-collect-build-menu|ilesets-ingroup-collect-files|ilesets-ingroup-collect-finder|ilesets-ingroup-collect|ilesets-ingroup-get-data|ilesets-ingroup-get-pattern|ilesets-ingroup-get-remdupl-p|ilesets-init|ilesets-member|ilesets-menu-cache-file-load|ilesets-menu-cache-file-save-maybe|ilesets-menu-cache-file-save|ilesets-message|ilesets-open|ilesets-ormap|ilesets-quote|ilesets-rebuild-this-submenu|ilesets-remake-shortcut|ilesets-remove-buffer|ilesets-remove-from-ubl|ilesets-reset-filename-on-change|ilesets-reset-fileset|ilesets-run-cmd--repl-fn|ilesets-run-cmd|ilesets-save-config|ilesets-select-command|ilesets-set-config|ilesets-set-default!|ilesets-set-default\\\\\\\\+?|ilesets-some|ilesets-spawn-external-viewer|ilesets-sublist|ilesets-update-cleanup|ilesets-update-pre010505|ilesets-update|ilesets-which-command-p|ilesets-which-command|ilesets-which-file|ilesets-wrap-submenu|ill-comment-paragraph|ill-common-string-prefix|ill-delete-newlines|ill-delete-prefix|ill-find-break-point|ill-flowed-encode|ill-flowed|ill-forward-paragraph|ill-french-nobreak-p|ill-indent-to-left-margin|ill-individual-paragraphs-citation|ill-individual-paragraphs-prefix|ill-match-adaptive-prefix|ill-minibuffer-function|ill-move-to-break-point|ill-newline|ill-nobreak-p|ill-nonuniform-paragraphs|ill-single-char-nobreak-p|ill-single-word-nobreak-p|ill-text-properties-at|ill|iltered-frame-list|ind-alternate-file-other-window|ind-alternate-file|ind-change-log|ind-class|ind-cmd|ind-cmpl-prefix-entry|ind-coding-systems-region-internal|ind-composition-internal|ind-composition|ind-definition-noselect|ind-dired-filter|ind-dired-sentinel|ind-dired|ind-emacs-lisp-shadows|ind-exact-completion|ind-face-definition|ind-file--read-only|ind-file-at-point|ind-file-existing|ind-file-literally-at-point|ind-file-noselect-1|ind-file-other-frame|ind-file-read-args|ind-file-read-only-other-frame|ind-file-read-only-other-window|ind-function-C-source|ind-function-advised-original|ind-function-at-point|ind-function-do-it|ind-function-library|ind-function-noselect|ind-function-on-key|ind-function-other-frame|ind-function-other-window|ind-function-read|ind-function-search-for-symbol|ind-function-setup-keys|ind-function|ind-grep-dired|ind-grep|ind-if-not|ind-if|ind-library--load-name|ind-library-name|ind-library-suffixes|ind-library|ind-lisp-debug-message|ind-lisp-default-directory-predicate|ind-lisp-default-file-predicate|ind-lisp-file-predicate-is-directory|ind-lisp-find-dired-filter|ind-lisp-find-dired-insert-file|ind-lisp-find-dired-internal|ind-lisp-find-dired-subdirectories|ind-lisp-find-dired|ind-lisp-find-files-internal|ind-lisp-find-files|ind-lisp-format-time|ind-lisp-format|ind-lisp-insert-directory|ind-lisp-object-file-name|ind-lisp-time-index|ind-multibyte-characters|ind-name-dired|ind-new-buffer-file-coding-system|ind-tag-default-as-regexp|ind-tag-default-as-symbol-regexp|ind-tag-default-bounds|ind-tag-default|ind-tag-in-order|ind-tag-interactive|ind-tag-noselect|ind-tag-other-frame|ind-tag-other-window|ind-tag-regexp|ind-tag-tag|ind-tag|ind-variable-at-point|ind-variable-noselect|ind-variable-other-frame|ind-variable-other-window|ind-variable|ind|inder-by-keyword|inder-commentary|inder-compile-keywords-make-dist|inder-compile-keywords|inder-current-item|inder-exit|inder-goto-xref|inder-insert-at-column|inder-list-keywords|inder-list-matches|inder-mode|inder-mouse-face-on-line|inder-mouse-select|inder-select|inder-summary|inder-unknown-keywords|inder-unload-function|inger|irst-error|irst|loatp-safe|loor\\\\\\\\*|lush-lines|lymake-add-buildfile-to-cache|lymake-add-err-info|lymake-add-line-err-info|lymake-add-project-include-dirs-to-cache|lymake-after-change-function|lymake-after-save-hook|lymake-can-syntax-check-file|lymake-check-include|lymake-check-patch-master-file-buffer|lymake-clear-buildfile-cache|lymake-clear-project-include-dirs-cache|lymake-compilation-is-running|lymake-compile|lymake-copy-buffer-to-temp-buffer|lymake-create-master-file|lymake-create-temp-inplace|lymake-create-temp-with-folder-structure|lymake-delete-own-overlays|lymake-delete-temp-directory|lymake-display-err-menu-for-current-line|lymake-display-warning|lymake-er-get-line-err-info-list|lymake-er-get-line|lymake-er-make-er|lymake-find-buffer-for-file|lymake-find-buildfile|lymake-find-err-info|lymake-find-file-hook|lymake-find-make-buildfile|lymake-find-possible-master-files|lymake-fix-file-name|lymake-fix-line-numbers|lymake-get-ant-cmdline|lymake-get-buildfile-from-cache|lymake-get-cleanup-function|lymake-get-err-count|lymake-get-file-name-mode-and-masks|lymake-get-first-err-line-no|lymake-get-full-nonpatched-file-name|lymake-get-full-patched-file-name|lymake-get-include-dirs-dot|lymake-get-include-dirs|lymake-get-init-function|lymake-get-last-err-line-no|lymake-get-line-err-count|lymake-get-make-cmdline|lymake-get-next-err-line-no|lymake-get-prev-err-line-no|lymake-get-project-include-dirs-from-cache|lymake-get-project-include-dirs-imp|lymake-get-project-include-dirs|lymake-get-real-file-name-function|lymake-get-real-file-name|lymake-get-syntax-check-program-args|lymake-get-system-include-dirs|lymake-get-tex-args|lymake-goto-file-and-line|lymake-goto-line|lymake-goto-next-error|lymake-goto-prev-error|lymake-highlight-err-lines|lymake-highlight-line|lymake-init-create-temp-buffer-copy|lymake-init-create-temp-source-and-master-buffer-copy|lymake-init-find-buildfile-dir|lymake-ins-after|lymake-kill-buffer-hook|lymake-kill-process|lymake-ler-file--cmacro|lymake-ler-file|lymake-ler-full-file--cmacro|lymake-ler-full-file|lymake-ler-line--cmacro|lymake-ler-line|lymake-ler-make-ler--cmacro|lymake-ler-make-ler|lymake-ler-p--cmacro|lymake-ler-p|lymake-ler-set-file|lymake-ler-set-full-file|lymake-ler-set-line|lymake-ler-text--cmacro|lymake-ler-text|lymake-ler-type--cmacro|lymake-ler-type|lymake-line-err-info-is-less-or-equal|lymake-log|lymake-make-overlay|lymake-master-cleanup|lymake-master-file-compare|lymake-master-make-header-init|lymake-master-make-init|lymake-master-tex-init|lymake-mode-off|lymake-mode-on|lymake-mode|lymake-on-timer-event|lymake-overlay-p|lymake-parse-err-lines|lymake-parse-line|lymake-parse-output-and-residual|lymake-parse-residual|lymake-patch-err-text|lymake-perl-init|lymake-php-init|lymake-popup-current-error-menu|lymake-post-syntax-check|lymake-process-filter|lymake-process-sentinel|lymake-read-file-to-temp-buffer|lymake-reformat-err-line-patterns-from-compile-el|lymake-region-has-flymake-overlays|lymake-replace-region|lymake-report-fatal-status|lymake-report-status|lymake-safe-delete-directory|lymake-safe-delete-file|lymake-same-files|lymake-save-buffer-in-file|lymake-set-at|lymake-simple-ant-java-init|lymake-simple-cleanup|lymake-simple-java-cleanup|lymake-simple-make-init-impl|lymake-simple-make-init|lymake-simple-make-java-init|lymake-simple-tex-init|lymake-skip-whitespace|lymake-split-output|lymake-start-syntax-check-process|lymake-start-syntax-check|lymake-stop-all-syntax-checks|lymake-xml-init|lyspell-abbrev-table|lyspell-accept-buffer-local-defs|lyspell-after-change-function|lyspell-ajust-cursor-point|lyspell-already-abbrevp|lyspell-auto-correct-previous-hook|lyspell-auto-correct-previous-word|lyspell-auto-correct-word|lyspell-buffer|lyspell-change-abbrev|lyspell-check-changed-word-p|lyspell-check-pre-word-p|lyspell-check-previous-highlighted-word|lyspell-check-region-doublons|lyspell-check-word-p|lyspell-correct-word-before-point|lyspell-correct-word|lyspell-debug-signal-changed-checked|lyspell-debug-signal-no-check|lyspell-debug-signal-pre-word-checked|lyspell-debug-signal-word-checked|lyspell-define-abbrev|lyspell-delay-commands??|lyspell-delete-all-overlays|lyspell-delete-region-overlays|lyspell-deplacement-commands??|lyspell-display-next-corrections|lyspell-do-correct|lyspell-emacs-popup|lyspell-external-point-words|lyspell-generic-progmode-verify|lyspell-get-casechars|lyspell-get-not-casechars|lyspell-get-word|lyspell-goto-next-error|lyspell-hack-local-variables-hook|lyspell-highlight-duplicate-region|lyspell-highlight-incorrect-region|lyspell-kill-ispell-hook|lyspell-large-region|lyspell-math-tex-command-p|lyspell-maybe-correct-doubling|lyspell-maybe-correct-transposition|lyspell-minibuffer-p|lyspell-mode-off|lyspell-mode-on|lyspell-mode|lyspell-notify-misspell|lyspell-overlay-p|lyspell-post-command-hook|lyspell-pre-command-hook|lyspell-process-localwords|lyspell-prog-mode|lyspell-properties-at-p|lyspell-region|lyspell-small-region|lyspell-tex-command-p|lyspell-unhighlight-at|lyspell-word-search-backward|lyspell-word-search-forward|lyspell-word|lyspell-xemacs-popup|ocus-frame|oldout-exit-fold|oldout-mouse-goto-heading|oldout-mouse-hide-or-exit|oldout-mouse-show|oldout-mouse-swallow-events|oldout-mouse-zoom|oldout-update-mode-line|oldout-zoom-subtree|ollow--window-sorter|ollow-adjust-window|ollow-align-compilation-windows|ollow-all-followers|ollow-avoid-tail-recenter|ollow-cache-valid-p|ollow-calc-win-end|ollow-calc-win-start|ollow-calculate-first-window-start-from-above|ollow-calculate-first-window-start-from-below|ollow-comint-scroll-to-bottom|ollow-debug-message|ollow-delete-other-windows-and-split|ollow-end-of-buffer|ollow-estimate-first-window-start|ollow-find-file-hook|ollow-first-window|ollow-last-window|ollow-maximize-region|ollow-menu-filter|ollow-mode|ollow-mwheel-scroll|ollow-next-window|ollow-point-visible-all-windows-p|ollow-pos-visible|ollow-post-command-hook|ollow-previous-window|ollow-recenter|ollow-redisplay|ollow-redraw-after-event|ollow-redraw|ollow-scroll-bar-drag|ollow-scroll-bar-scroll-down)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:follow-scroll-bar-scroll-up|follow-scroll-bar-toolkit-scroll|follow-scroll-down|follow-scroll-up|follow-select-if-end-visible|follow-select-if-visible-from-first|follow-select-if-visible|follow-split-followers|follow-switch-to-buffer-all|follow-switch-to-buffer|follow-switch-to-current-buffer-all|follow-update-window-start|follow-window-size-change|follow-windows-aligned-p|follow-windows-start-end|font-get-glyphs|font-get-system-font|font-get-system-normal-font|font-info|font-lock-after-change-function|font-lock-after-fontify-buffer|font-lock-after-unfontify-buffer|font-lock-append-text-property|font-lock-apply-highlight|font-lock-apply-syntactic-highlight|font-lock-change-mode|font-lock-choose-keywords|font-lock-compile-keywords??|font-lock-default-fontify-buffer|font-lock-default-fontify-region|font-lock-default-function|font-lock-default-unfontify-buffer|font-lock-default-unfontify-region|font-lock-defontify|font-lock-ensure|font-lock-eval-keywords|font-lock-extend-jit-lock-region-after-change|font-lock-extend-region-multiline|font-lock-extend-region-wholelines|font-lock-fillin-text-property|font-lock-flush|font-lock-fontify-anchored-keywords|font-lock-fontify-block|font-lock-fontify-buffer|font-lock-fontify-keywords-region|font-lock-fontify-region|font-lock-fontify-syntactic-anchored-keywords|font-lock-fontify-syntactic-keywords-region|font-lock-fontify-syntactically-region|font-lock-initial-fontify|font-lock-match-c-style-declaration-item-and-skip-to-next|font-lock-match-meta-declaration-item-and-skip-to-next|font-lock-mode-internal|font-lock-mode-set-explicitly|font-lock-mode|font-lock-prepend-text-property|font-lock-refresh-defaults|font-lock-set-defaults|font-lock-specified-p|font-lock-turn-off-thing-lock|font-lock-turn-on-thing-lock|font-lock-unfontify-buffer|font-lock-unfontify-region|font-lock-update-removed-keyword-alist|font-lock-value-in-major-mode|font-match-p|font-menu-add-default|font-setting-change-default-font|font-shape-gstring|font-show-log|font-variation-glyphs|fontset-font|fontset-info|fontset-list|fontset-name-p|fontset-plain-name|footnote-mode|foreground-color-at-point|form-at-point|format-annotate-atomic-property-change|format-annotate-function|format-annotate-location|format-annotate-region|format-annotate-single-property-change|format-annotate-value|format-deannotate-region|format-decode-buffer|format-decode-region|format-decode-run-method|format-decode|format-delq-cons|format-encode-buffer|format-encode-region|format-encode-run-method|format-insert-annotations|format-kbd-macro|format-make-relatively-unique|format-proper-list-p|format-property-increment-region|format-read|format-reorder|format-replace-strings|format-spec-make|format-spec|format-subtract-regions|forms-find-file-other-window|forms-find-file|forms-mode|fortran-abbrev-help|fortran-abbrev-start|fortran-analyze-file-format|fortran-auto-fill-mode|fortran-auto-fill|fortran-beginning-do|fortran-beginning-if|fortran-beginning-of-block|fortran-beginning-of-subprogram|fortran-blink-match|fortran-blink-matching-do|fortran-blink-matching-if|fortran-break-line|fortran-calculate-indent|fortran-check-end-prog-re|fortran-check-for-matching-do|fortran-column-ruler|fortran-comment-indent|fortran-comment-region|fortran-current-defun|fortran-current-line-indentation|fortran-electric-line-number|fortran-end-do|fortran-end-if|fortran-end-of-block|fortran-end-of-subprogram|fortran-fill-paragraph|fortran-fill-statement|fortran-fill|fortran-find-comment-start-skip|fortran-gud-find-expr|fortran-hack-local-variables|fortran-indent-comment|fortran-indent-line|fortran-indent-new-line|fortran-indent-subprogram|fortran-indent-to-column|fortran-is-in-string-p|fortran-join-line|fortran-line-length|fortran-line-number-indented-correctly-p|fortran-looking-at-if-then|fortran-make-syntax-propertize-function|fortran-mark-do|fortran-mark-if|fortran-match-and-skip-declaration|fortran-menu|fortran-mode|fortran-next-statement|fortran-numerical-continuation-char|fortran-prepare-abbrev-list-buffer|fortran-previous-statement|fortran-remove-continuation|fortran-split-line|fortran-strip-sequence-nos|fortran-uncomment-region|fortran-window-create-momentarily|fortran-window-create|fortune-add-fortune|fortune-append|fortune-ask-file|fortune-compile|fortune-from-region|fortune-in-buffer|fortune-to-signature|fortune|forward-ifdef|forward-page|forward-paragraph|forward-point|forward-same-syntax|forward-sentence|forward-symbol|forward-text-line|forward-thing|forward-visible-line|forward-whitespace|fourth|frame-border-width|frame-bottom-divider-width|frame-can-run-window-configuration-change-hook|frame-char-size|frame-configuration-p|frame-configuration-to-register|frame-face-alist|frame-focus|frame-font-cache|frame-fringe-width|frame-geom-spec-cons|frame-geom-value-cons|frame-initialize|frame-notice-user-settings|frame-or-buffer-changed-p|frame-remove-geometry-params|frame-right-divider-width|frame-root-window-p|frame-scroll-bar-height|frame-scroll-bar-width|frame-set-background-mode|frame-terminal-default-bg-mode|frame-text-cols|frame-text-height|frame-text-lines|frame-text-width|frame-total-cols|frame-total-lines|frame-windows-min-size|framep-on-display|frames-on-display-list|frameset--find-frame-if|frameset--initial-params|frameset--jump-to-register|frameset--make--cmacro|frameset--make|frameset--minibufferless-last-p|frameset--print-register|frameset--prop-setter|frameset--record-minibuffer-relationships|frameset--restore-frame|frameset--reuse-frame|frameset--set-id|frameset-app--cmacro|frameset-app|frameset-cfg-id|frameset-compute-pos|frameset-copy|frameset-description--cmacro|frameset-description|frameset-filter-iconified|frameset-filter-minibuffer|frameset-filter-params|frameset-filter-sanitize-color|frameset-filter-shelve-param|frameset-filter-tty-to-GUI|frameset-filter-unshelve-param|frameset-frame-id-equal-p|frameset-frame-id|frameset-frame-with-id|frameset-keep-original-display-p|frameset-minibufferless-first-p|frameset-move-onscreen|frameset-name--cmacro|frameset-name|frameset-p--cmacro|frameset-p|frameset-prop|frameset-properties--cmacro|frameset-properties|frameset-restore|frameset-save|frameset-states--cmacro|frameset-states|frameset-switch-to-gui-p|frameset-switch-to-tty-p|frameset-timestamp--cmacro|frameset-timestamp|frameset-to-register|frameset-valid-p|frameset-version--cmacro|frameset-version|fringe--check-style|fringe-bitmap-p|fringe-columns|fringe-mode-initialize|fringe-mode|fringe-query-style|ftp-mode|ftp|full-calc-keypad|full-calc|funcall-interactively|function\\\\\\\\*|function-called-at-point|function-equal|function-overload-p|function-put|function|gamegrid-add-score-insecure|gamegrid-add-score-with-update-game-score-1|gamegrid-add-score-with-update-game-score|gamegrid-add-score|gamegrid-cell-offset|gamegrid-characterp|gamegrid-color|gamegrid-colorize-glyph|gamegrid-display-type|gamegrid-event-x|gamegrid-event-y|gamegrid-get-cell|gamegrid-init-buffer|gamegrid-init|gamegrid-initialize-display|gamegrid-kill-timer|gamegrid-make-color-tty-face|gamegrid-make-color-x-face|gamegrid-make-face|gamegrid-make-glyph|gamegrid-make-grid-x-face|gamegrid-make-image-from-vector|gamegrid-make-mono-tty-face|gamegrid-make-mono-x-face|gamegrid-match-spec-list|gamegrid-match-spec|gamegrid-set-cell|gamegrid-set-display-table|gamegrid-set-face|gamegrid-set-font|gamegrid-set-timer|gamegrid-setup-default-font|gamegrid-setup-face|gamegrid-start-timer|gametree-apply-layout|gametree-apply-register-layout|gametree-break-line-here|gametree-children-shown-p|gametree-compute-and-insert-score|gametree-compute-reduced-score|gametree-current-branch-depth|gametree-current-branch-ply|gametree-current-branch-score|gametree-current-layout|gametree-entry-shown-p|gametree-forward-line|gametree-hack-file-layout|gametree-insert-new-leaf|gametree-insert-score|gametree-layout-to-register|gametree-looking-at-ply|gametree-merge-line|gametree-mode|gametree-mouse-break-line-here|gametree-mouse-hide-subtree|gametree-mouse-show-children-and-entry|gametree-mouse-show-subtree|gametree-prettify-heading|gametree-restore-layout|gametree-save-and-hack-layout|gametree-save-layout|gametree-show-children-and-entry|gametree-transpose-following-leaves|gcd|gdb--check-interpreter|gdb--if-arrow|gdb-add-handler|gdb-add-subscriber|gdb-append-to-partial-output|gdb-bind-function-to-buffer|gdb-breakpoints-buffer-name|gdb-breakpoints-list-handler-custom|gdb-breakpoints-list-handler|gdb-breakpoints-mode|gdb-buffer-shows-main-thread-p|gdb-buffer-type|gdb-changed-registers-handler|gdb-check-target-async|gdb-clear-inferior-io|gdb-clear-partial-output|gdb-concat-output|gdb-console|gdb-continue-thread|gdb-control-all-threads|gdb-control-current-thread|gdb-create-define-alist|gdb-current-buffer-frame|gdb-current-buffer-rules|gdb-current-buffer-thread|gdb-current-context-buffer-name|gdb-current-context-command|gdb-current-context-mode-name|gdb-delchar-or-quit|gdb-delete-breakpoint|gdb-delete-frame-or-window|gdb-delete-handler|gdb-delete-subscriber|gdb-disassembly-buffer-name|gdb-disassembly-handler-custom|gdb-disassembly-handler|gdb-disassembly-mode|gdb-disassembly-place-breakpoints|gdb-display-breakpoints-buffer|gdb-display-buffer|gdb-display-disassembly-buffer|gdb-display-disassembly-for-thread|gdb-display-gdb-buffer|gdb-display-io-buffer|gdb-display-locals-buffer|gdb-display-locals-for-thread|gdb-display-memory-buffer|gdb-display-registers-buffer|gdb-display-registers-for-thread|gdb-display-source-buffer|gdb-display-stack-buffer|gdb-display-stack-for-thread|gdb-display-threads-buffer|gdb-done-or-error|gdb-done|gdb-edit-locals-value|gdb-edit-register-value|gdb-edit-value-handler|gdb-edit-value|gdb-emit-signal|gdb-enable-debug|gdb-error|gdb-find-file-hook|gdb-find-watch-expression|gdb-force-mode-line-update|gdb-frame-breakpoints-buffer|gdb-frame-disassembly-buffer|gdb-frame-disassembly-for-thread|gdb-frame-gdb-buffer|gdb-frame-handler|gdb-frame-io-buffer|gdb-frame-locals-buffer|gdb-frame-locals-for-thread|gdb-frame-location|gdb-frame-memory-buffer|gdb-frame-registers-buffer|gdb-frame-registers-for-thread|gdb-frame-stack-buffer|gdb-frame-stack-for-thread|gdb-frame-threads-buffer|gdb-frames-mode|gdb-gdb|gdb-get-buffer-create|gdb-get-buffer|gdb-get-changed-registers|gdb-get-handler-function|gdb-get-location|gdb-get-main-selected-frame|gdb-get-many-fields|gdb-get-prompt|gdb-get-source-file-list|gdb-get-source-file|gdb-get-subscribers|gdb-get-target-string|gdb-goto-breakpoint|gdb-gud-context-call|gdb-gud-context-command|gdb-handle-reply|gdb-handler-function--cmacro|gdb-handler-function|gdb-handler-p--cmacro|gdb-handler-p|gdb-handler-pending-trigger--cmacro|gdb-handler-pending-trigger|gdb-handler-token-number--cmacro|gdb-handler-token-number|gdb-ignored-notification|gdb-inferior-filter|gdb-inferior-io--init-proc|gdb-inferior-io-mode|gdb-inferior-io-name|gdb-inferior-io-sentinel|gdb-init-1|gdb-init-buffer|gdb-input|gdb-internals|gdb-interrupt-thread|gdb-invalidate-breakpoints|gdb-invalidate-disassembly|gdb-invalidate-frames|gdb-invalidate-locals|gdb-invalidate-memory|gdb-invalidate-registers|gdb-invalidate-threads|gdb-io-eof|gdb-io-interrupt|gdb-io-quit|gdb-io-stop|gdb-json-partial-output|gdb-json-read-buffer|gdb-json-string|gdb-jsonify-buffer|gdb-line-posns|gdb-locals-buffer-name|gdb-locals-handler-custom|gdb-locals-handler|gdb-locals-mode|gdb-make-header-line-mouse-map|gdb-many-windows|gdb-mark-line|gdb-memory-buffer-name|gdb-memory-column-width|gdb-memory-format-binary|gdb-memory-format-hexadecimal|gdb-memory-format-menu-1|gdb-memory-format-menu|gdb-memory-format-octal|gdb-memory-format-signed|gdb-memory-format-unsigned|gdb-memory-mode|gdb-memory-set-address-event|gdb-memory-set-address|gdb-memory-set-columns|gdb-memory-set-rows|gdb-memory-show-next-page|gdb-memory-show-previous-page|gdb-memory-unit-byte|gdb-memory-unit-giant|gdb-memory-unit-halfword|gdb-memory-unit-menu-1|gdb-memory-unit-menu|gdb-memory-unit-word|gdb-mi-quote|gdb-mouse-jump|gdb-mouse-set-clear-breakpoint|gdb-mouse-toggle-breakpoint-fringe|gdb-mouse-toggle-breakpoint-margin|gdb-mouse-until|gdb-non-stop-handler|gdb-pad-string|gdb-parent-mode|gdb-partial-output-name|gdb-pending-handler-p|gdb-place-breakpoints|gdb-preempt-existing-or-display-buffer|gdb-preemptively-display-disassembly-buffer|gdb-preemptively-display-locals-buffer|gdb-preemptively-display-registers-buffer|gdb-preemptively-display-stack-buffer|gdb-propertize-header)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)g(?:db-put-breakpoint-icon|db-put-string|db-read-memory-custom|db-read-memory-handler|db-register-names-handler|db-registers-buffer-name|db-registers-handler-custom|db-registers-handler|db-registers-mode|db-remove-all-pending-triggers|db-remove-breakpoint-icons|db-remove-strings|db-reset|db-restore-windows|db-resync|db-rules-buffer-mode|db-rules-name-maker|db-rules-update-trigger|db-running|db-script-beginning-of-defun|db-script-calculate-indentation|db-script-end-of-defun|db-script-font-lock-syntactic-face|db-script-indent-line|db-script-mode|db-script-skip-to-head|db-select-frame|db-select-thread|db-send|db-set-buffer-rules|db-set-window-buffer|db-setq-thread-number|db-setup-windows|db-shell|db-show-run-p|db-show-stop-p|db-speedbar-auto-raise|db-speedbar-expand-node|db-speedbar-timer-fn|db-speedbar-update|db-stack-buffer-name|db-stack-list-frames-custom|db-stack-list-frames-handler|db-starting|db-step-thread|db-stopped|db-strip-string-backslash|db-table-add-row|db-table-column-sizes--cmacro|db-table-column-sizes|db-table-p--cmacro|db-table-p|db-table-right-align--cmacro|db-table-right-align|db-table-row-properties--cmacro|db-table-row-properties|db-table-rows--cmacro|db-table-rows|db-table-string|db-thread-created|db-thread-exited|db-thread-list-handler-custom|db-thread-list-handler|db-thread-selected|db-threads-buffer-name|db-threads-mode|db-toggle-breakpoint|db-toggle-switch-when-another-stopped|db-tooltip-print-1|db-tooltip-print|db-update-buffer-name|db-update-gud-running|db-update|db-var-create-handler|db-var-delete-1|db-var-delete-children|db-var-delete|db-var-evaluate-expression-handler|db-var-list-children-handler|db-var-list-children|db-var-set-format|db-var-update-handler|db-var-update|db-wait-for-pending|db|dbmi-bnf-async-record|dbmi-bnf-console-stream-output|dbmi-bnf-gdb-prompt|dbmi-bnf-incomplete-record-result|dbmi-bnf-init|dbmi-bnf-log-stream-output|dbmi-bnf-out-of-band-record|dbmi-bnf-output|dbmi-bnf-result-and-async-record-impl|dbmi-bnf-result-record|dbmi-bnf-skip-unrecognized|dbmi-bnf-stream-record|dbmi-bnf-target-stream-output|dbmi-is-number|dbmi-same-start|dbmi-start-with|enerate-fontset-menu|eneric-char-p|eneric-make-keywords-list|eneric-mode-internal|eneric-mode|eneric-p|eneric-primary-only-one-p|eneric-primary-only-p|ensym|entemp|et\\\\\\\\*|et-edebug-spec|et-file-char|et-free-disk-space|et-language-info|et-mode-local-parent|et-mru-window|et-next-valid-buffer|et-other-frame|et-scroll-bar-mode|et-unicode-property-internal|et-unused-iso-final-char|et-upcase-table|etenv-internal|etf|file-add-watch|file-rm-watch|lasses-change|lasses-convert-to-unreadable|lasses-custom-set|lasses-make-overlay|lasses-make-readable|lasses-make-unreadable|lasses-mode|lasses-overlay-p|lasses-parenthesis-exception-p|lasses-set-overlay-properties|lobal-auto-composition-mode|lobal-auto-revert-mode|lobal-cwarn-mode-check-buffers|lobal-cwarn-mode-cmhh|lobal-cwarn-mode-enable-in-buffers|lobal-cwarn-mode|lobal-ede-mode|lobal-eldoc-mode|lobal-font-lock-mode-check-buffers|lobal-font-lock-mode-cmhh|lobal-font-lock-mode-enable-in-buffers|lobal-font-lock-mode|lobal-hi-lock-mode-check-buffers|lobal-hi-lock-mode-cmhh|lobal-hi-lock-mode-enable-in-buffers|lobal-hi-lock-mode|lobal-highlight-changes-mode-check-buffers|lobal-highlight-changes-mode-cmhh|lobal-highlight-changes-mode-enable-in-buffers|lobal-highlight-changes-mode|lobal-highlight-changes|lobal-hl-line-highlight|lobal-hl-line-mode|lobal-hl-line-unhighlight-all|lobal-hl-line-unhighlight|lobal-linum-mode-check-buffers|lobal-linum-mode-cmhh|lobal-linum-mode-enable-in-buffers|lobal-linum-mode|lobal-prettify-symbols-mode-check-buffers|lobal-prettify-symbols-mode-cmhh|lobal-prettify-symbols-mode-enable-in-buffers|lobal-prettify-symbols-mode|lobal-reveal-mode|lobal-semantic-decoration-mode|lobal-semantic-highlight-edits-mode|lobal-semantic-highlight-func-mode|lobal-semantic-idle-completions-mode|lobal-semantic-idle-local-symbol-highlight-mode|lobal-semantic-idle-scheduler-mode|lobal-semantic-idle-summary-mode|lobal-semantic-mru-bookmark-mode|lobal-semantic-show-parser-state-mode|lobal-semantic-show-unmatched-syntax-mode|lobal-semantic-stickyfunc-mode|lobal-semanticdb-minor-mode|lobal-set-scheme-interaction-buffer|lobal-srecode-minor-mode|lobal-subword-mode|lobal-superword-mode|lobal-visual-line-mode-check-buffers|lobal-visual-line-mode-cmhh|lobal-visual-line-mode-enable-in-buffers|lobal-visual-line-mode|lobal-whitespace-mode|lobal-whitespace-newline-mode|lobal-whitespace-toggle-options|lyphless-set-char-table-range|mm-called-interactively-p|mm-customize-mode|mm-error|mm-format-time-string|mm-image-load-path-for-library|mm-image-search-load-path|mm-labels|mm-message|mm-regexp-concat|mm-tool-bar-from-list|mm-widget-p|mm-write-region|nus--random-face-with-type|nus-1|nus-Folder-save-name|nus-active|nus-add-buffer|nus-add-configuration|nus-add-shutdown|nus-add-text-properties-when|nus-add-text-properties|nus-add-to-sorted-list|nus-agent-batch-fetch|nus-agent-batch|nus-agent-delete-group|nus-agent-fetch-session|nus-agent-find-parameter|nus-agent-get-function|nus-agent-get-undownloaded-list|nus-agent-group-covered-p|nus-agent-method-p|nus-agent-possibly-alter-active|nus-agent-possibly-save-gcc|nus-agent-regenerate|nus-agent-rename-group|nus-agent-request-article|nus-agent-retrieve-headers|nus-agent-save-active|nus-agent-save-group-info|nus-agent-store-article|nus-agentize|nus-alist-pull|nus-alive-p|nus-and|nus-annotation-in-region-p|nus-apply-kill-file-internal|nus-apply-kill-file|nus-archive-server-wanted-p|nus-article-date-lapsed|nus-article-date-local|nus-article-date-original|nus-article-de-base64-unreadable|nus-article-de-quoted-unreadable|nus-article-decode-HZ|nus-article-decode-encoded-words|nus-article-delete-invisible-text|nus-article-display-x-face|nus-article-edit-article|nus-article-edit-done|nus-article-edit-mode|nus-article-fill-cited-article|nus-article-fill-cited-long-lines|nus-article-hide-boring-headers|nus-article-hide-citation-in-followups|nus-article-hide-citation-maybe|nus-article-hide-citation|nus-article-hide-headers|nus-article-hide-pem|nus-article-hide-signature|nus-article-highlight-citation|nus-article-html|nus-article-mail|nus-article-mode|nus-article-next-page|nus-article-outlook-deuglify-article|nus-article-outlook-repair-attribution|nus-article-outlook-unwrap-lines|nus-article-prepare-display|nus-article-prepare|nus-article-prev-page|nus-article-read-summary-keys|nus-article-remove-cr|nus-article-remove-trailing-blank-lines|nus-article-save|nus-article-set-window-start|nus-article-setup-buffer|nus-article-strip-leading-blank-lines|nus-article-treat-overstrike|nus-article-unsplit-urls|nus-article-wash-html|nus-assq-delete-all|nus-async-halt-prefetch|nus-async-prefetch-article|nus-async-prefetch-next|nus-async-prefetch-remove-group|nus-async-request-fetched-article|nus-atomic-progn-assign|nus-atomic-progn|nus-atomic-setq|nus-backlog-enter-article|nus-backlog-remove-article|nus-backlog-request-article|nus-batch-kill|nus-batch-score|nus-binary-mode|nus-bind-print-variables|nus-blocked-images|nus-bookmark-bmenu-list|nus-bookmark-jump|nus-bookmark-set|nus-bound-and-true-p|nus-boundp|nus-browse-foreign-server|nus-buffer-exists-p|nus-buffer-live-p|nus-buffers|nus-bug|nus-button-mailto|nus-button-reply|nus-byte-compile|nus-cache-articles-in-group|nus-cache-close|nus-cache-delete-group|nus-cache-enter-article|nus-cache-enter-remove-article|nus-cache-file-contents|nus-cache-generate-active|nus-cache-generate-nov-databases|nus-cache-open|nus-cache-possibly-alter-active|nus-cache-possibly-enter-article|nus-cache-possibly-remove-articles|nus-cache-remove-article|nus-cache-rename-group|nus-cache-request-article|nus-cache-retrieve-headers|nus-cache-save-buffers|nus-cache-update-article|nus-cached-article-p|nus-character-to-event|nus-check-backend-function|nus-check-reasonable-setup|nus-completing-read|nus-configure-windows|nus-continuum-version|nus-convert-article-to-rmail|nus-convert-face-to-png|nus-convert-gray-x-face-to-xpm|nus-convert-image-to-gray-x-face|nus-convert-png-to-face|nus-copy-article-buffer|nus-copy-file|nus-copy-overlay|nus-copy-sequence|nus-create-hash-size|nus-create-image|nus-create-info-command|nus-current-score-file-nondirectory|nus-data-find|nus-data-header|nus-date-get-time|nus-date-iso8601|nus-dd-mmm|nus-deactivate-mark|nus-declare-backend|nus-decode-newsgroups|nus-define-group-parameter|nus-define-keymap|nus-define-keys-1|nus-define-keys-safe|nus-define-keys|nus-delay-article|nus-delay-initialize|nus-delay-send-queue|nus-delete-alist|nus-delete-directory|nus-delete-duplicates|nus-delete-file|nus-delete-first|nus-delete-gnus-frame|nus-delete-line|nus-delete-overlay|nus-demon-add-disconnection|nus-demon-add-handler|nus-demon-add-rescan|nus-demon-add-scan-timestamps|nus-demon-add-scanmail|nus-demon-cancel|nus-demon-init|nus-demon-remove-handler|nus-display-x-face-in-from|nus-draft-mode|nus-draft-reminder|nus-dribble-enter|nus-dribble-touch|nus-dup-enter-articles|nus-dup-suppress-articles|nus-dup-unsuppress-article|nus-edit-form|nus-emacs-completing-read|nus-emacs-version|nus-ems-redefine|nus-enter-server-buffer|nus-ephemeral-group-p|nus-error|nus-eval-in-buffer-window|nus-execute|nus-expand-group-parameters??|nus-expunge|nus-extended-version|nus-extent-detached-p|nus-extent-start-open|nus-extract-address-components|nus-extract-references|nus-face-from-file|nus-faces-at|nus-fetch-field|nus-fetch-group-other-frame|nus-fetch-group|nus-fetch-original-field|nus-file-newer-than|nus-final-warning|nus-find-method-for-group|nus-find-subscribed-addresses|nus-find-text-property-region|nus-float-time|nus-folder-save-name|nus-frame-or-window-display-name|nus-generate-new-group-name|nus-get-buffer-create|nus-get-buffer-window|nus-get-display-table|nus-get-info|nus-get-text-property-excluding-characters-with-faces|nus-getenv-nntpserver|nus-gethash-safe|nus-gethash|nus-globalify-regexp|nus-goto-char|nus-goto-colon|nus-graphic-display-p|nus-grep-in-list|nus-group-add-parameter|nus-group-add-score|nus-group-auto-expirable-p|nus-group-customize|nus-group-decoded-name|nus-group-entry|nus-group-fast-parameter|nus-group-find-parameter|nus-group-first-unread-group|nus-group-foreign-p|nus-group-full-name|nus-group-get-new-news|nus-group-get-parameter|nus-group-group-name|nus-group-guess-full-name-from-command-method|nus-group-insert-group-line|nus-group-iterate|nus-group-list-groups|nus-group-mail|nus-group-make-help-group|nus-group-method|nus-group-name-charset|nus-group-name-decode|nus-group-name-to-method|nus-group-native-p|nus-group-news|nus-group-parameter-value|nus-group-position-point|nus-group-post-news|nus-group-prefixed-name|nus-group-prefixed-p|nus-group-quit-config|nus-group-quit|nus-group-read-only-p|nus-group-real-name|nus-group-real-prefix|nus-group-remove-parameter|nus-group-save-newsrc|nus-group-secondary-p|nus-group-send-queue|nus-group-server|nus-group-set-info|nus-group-set-mode-line|nus-group-set-parameter|nus-group-setup-buffer|nus-group-short-name|nus-group-split-fancy|nus-group-split-setup|nus-group-split-update|nus-group-split|nus-group-startup-message|nus-group-total-expirable-p|nus-group-unread|nus-group-update-group|nus-groups-from-server|nus-header-from|nus-highlight-selected-tree|nus-horizontal-recenter|nus-html-prefetch-images|nus-ido-completing-read|nus-image-type-available-p|nus-indent-rigidly|nus-info-find-node|nus-info-group|nus-info-level|nus-info-marks|nus-info-method|nus-info-params|nus-info-rank|nus-info-read|nus-info-score|nus-info-set-entry|nus-info-set-group|nus-info-set-level|nus-info-set-marks|nus-info-set-method|nus-info-set-params|nus-info-set-rank|nus-info-set-read|nus-info-set-score|nus-insert-random-face-header|nus-insert-random-x-face-header|nus-interactive|nus-intern-safe|nus-intersection|nus-invisible-p|nus-iswitchb-completing-read|nus-jog-cache|nus-key-press-event-p|nus-kill-all-overlays)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:gnus-kill-buffer|gnus-kill-ephemeral-group|gnus-kill-file-edit-file|gnus-kill-file-raise-followups-to-author|gnus-kill-save-kill-buffer|gnus-kill|gnus-list-debbugs|gnus-list-memq-of-list|gnus-list-of-read-articles|gnus-list-of-unread-articles|gnus-local-set-keys|gnus-mail-strip-quoted-names|gnus-mailing-list-insinuate|gnus-mailing-list-mode|gnus-make-directory|gnus-make-hashtable|gnus-make-local-hook|gnus-make-overlay|gnus-make-predicate-1|gnus-make-predicate|gnus-make-sort-function-1|gnus-make-sort-function|gnus-make-thread-indent-array|gnus-map-function|gnus-mapcar|gnus-mark-active-p|gnus-match-substitute-replacement|gnus-max-width-function|gnus-member-of-valid|gnus-merge|gnus-message-with-timestamp|gnus-message|gnus-method-ephemeral-p|gnus-method-equal|gnus-method-option-p|gnus-method-simplify|gnus-method-to-full-server-name|gnus-method-to-server-name|gnus-method-to-server|gnus-methods-equal-p|gnus-methods-sloppily-equal|gnus-methods-using|gnus-mime-view-all-parts|gnus-mode-line-buffer-identification|gnus-mode-string-quote|gnus-move-overlay|gnus-msg-mail|gnus-mule-max-width-function|gnus-multiple-choice|gnus-narrow-to-body|gnus-narrow-to-page|gnus-native-method-p|gnus-news-group-p|gnus-newsgroup-directory-form|gnus-newsgroup-kill-file|gnus-newsgroup-savable-name|gnus-newsrc-parse-options|gnus-next-char-property-change|gnus-no-server-1|gnus-no-server|gnus-not-ignore|gnus-notifications|gnus-offer-save-summaries|gnus-online|gnus-open-agent|gnus-open-server|gnus-or|gnus-other-frame|gnus-outlook-deuglify-article|gnus-output-to-mail|gnus-output-to-rmail|gnus-overlay-buffer|gnus-overlay-end|gnus-overlay-get|gnus-overlay-put|gnus-overlay-start|gnus-overlays-at|gnus-overlays-in|gnus-parameter-charset|gnus-parameter-ham-marks|gnus-parameter-ham-process-destination|gnus-parameter-ham-resend-to|gnus-parameter-large-newsgroup-initial|gnus-parameter-post-method|gnus-parameter-registry-ignore|gnus-parameter-spam-autodetect-methods|gnus-parameter-spam-autodetect|gnus-parameter-spam-contents|gnus-parameter-spam-marks|gnus-parameter-spam-process-destination|gnus-parameter-spam-process|gnus-parameter-spam-resend-to|gnus-parameter-subscribed|gnus-parameter-to-address|gnus-parameter-to-list|gnus-parameters-get-parameter|gnus-parent-id|gnus-parse-without-error|gnus-pick-mode|gnus-plugged|gnus-possibly-generate-tree|gnus-possibly-score-headers|gnus-post-news|gnus-pp-to-string|gnus-pp|gnus-previous-char-property-change|gnus-prin1-to-string|gnus-prin1|gnus-process-get|gnus-process-plist|gnus-process-put|gnus-put-display-table|gnus-put-image|gnus-put-overlay-excluding-newlines|gnus-put-text-property-excluding-characters-with-faces|gnus-put-text-property-excluding-newlines|gnus-put-text-property|gnus-random-face|gnus-random-x-face|gnus-range-add|gnus-read-event-char|gnus-read-group|gnus-read-init-file|gnus-read-method|gnus-read-shell-command|gnus-recursive-directory-files|gnus-redefine-select-method-widget|gnus-region-active-p|gnus-registry-handle-action|gnus-registry-initialize|gnus-registry-install-hooks|gnus-remassoc|gnus-remove-from-range|gnus-remove-if-not|gnus-remove-if|gnus-remove-image|gnus-remove-text-properties-when|gnus-remove-text-with-property|gnus-rename-file|gnus-replace-in-string|gnus-request-article-this-buffer|gnus-request-post|gnus-request-type|gnus-rescale-image|gnus-run-hook-with-args|gnus-run-hooks|gnus-run-mode-hooks|gnus-same-method-different-name|gnus-score-adaptive|gnus-score-advanced|gnus-score-close|gnus-score-customize|gnus-score-delta-default|gnus-score-file-name|gnus-score-find-trace|gnus-score-flush-cache|gnus-score-followup-article|gnus-score-followup-thread|gnus-score-headers|gnus-score-mode|gnus-score-save|gnus-secondary-method-p|gnus-seconds-month|gnus-seconds-today|gnus-seconds-year|gnus-select-frame-set-input-focus|gnus-select-lowest-window|gnus-server-add-address|gnus-server-equal|gnus-server-extend-method|gnus-server-get-method|gnus-server-server-name|gnus-server-set-info|gnus-server-status|gnus-server-string|gnus-server-to-method|gnus-servers-using-backend|gnus-set-active|gnus-set-file-modes|gnus-set-info|gnus-set-process-plist|gnus-set-process-query-on-exit-flag|gnus-set-sorted-intersection|gnus-set-window-start|gnus-set-work-buffer|gnus-sethash|gnus-short-group-name|gnus-shutdown|gnus-sieve-article-add-rule|gnus-sieve-generate|gnus-sieve-update|gnus-similar-server-opened|gnus-simplify-mode-line|gnus-slave-no-server|gnus-slave-unplugged|gnus-slave|gnus-sloppily-equal-method-parameters|gnus-sorted-complement|gnus-sorted-difference|gnus-sorted-intersection|gnus-sorted-ndifference|gnus-sorted-nintersection|gnus-sorted-nunion|gnus-sorted-range-intersection|gnus-sorted-union|gnus-splash-svg-color-symbols|gnus-splash|gnus-split-references|gnus-start-date-timer|gnus-stop-date-timer|gnus-string-equal|gnus-string-mark-left-to-right|gnus-string-match-p|gnus-string-or-1|gnus-string-or|gnus-string-prefix-p|gnus-string-remove-all-properties|gnus-string<|gnus-string>|gnus-strip-whitespace|gnus-subscribe-topics|gnus-summary-article-number|gnus-summary-bookmark-jump|gnus-summary-buffer-name|gnus-summary-cancel-article|gnus-summary-current-score|gnus-summary-exit|gnus-summary-followup-to-mail-with-original|gnus-summary-followup-to-mail|gnus-summary-followup-with-original|gnus-summary-followup|gnus-summary-increase-score|gnus-summary-insert-cached-articles|gnus-summary-insert-line|gnus-summary-last-subject|gnus-summary-line-format-spec|gnus-summary-lower-same-subject-and-select|gnus-summary-lower-same-subject|gnus-summary-lower-score|gnus-summary-lower-thread|gnus-summary-mail-forward|gnus-summary-mail-other-window|gnus-summary-news-other-window|gnus-summary-position-point|gnus-summary-post-forward|gnus-summary-post-news|gnus-summary-raise-same-subject-and-select|gnus-summary-raise-same-subject|gnus-summary-raise-score|gnus-summary-raise-thread|gnus-summary-read-group|gnus-summary-reply-with-original|gnus-summary-reply|gnus-summary-resend-bounced-mail|gnus-summary-resend-message|gnus-summary-save-article-folder|gnus-summary-save-article-vm|gnus-summary-save-in-folder|gnus-summary-save-in-vm|gnus-summary-score-map|gnus-summary-send-map|gnus-summary-set-agent-mark|gnus-summary-set-score|gnus-summary-skip-intangible|gnus-summary-supersede-article|gnus-summary-wide-reply-with-original|gnus-summary-wide-reply|gnus-suppress-keymap|gnus-symbolic-argument|gnus-sync-initialize|gnus-sync-install-hooks|gnus-time-iso8601|gnus-timer--function|gnus-tool-bar-update|gnus-topic-mode|gnus-topic-remove-group|gnus-topic-set-parameters|gnus-treat-article|gnus-treat-from-gravatar|gnus-treat-from-picon|gnus-treat-mail-gravatar|gnus-treat-mail-picon|gnus-treat-newsgroups-picon|gnus-tree-close|gnus-tree-open|gnus-try-warping-via-registry|gnus-turn-off-edit-menu|gnus-undo-mode|gnus-undo-register|gnus-union|gnus-unplugged|gnus-update-alist-soft|gnus-update-format|gnus-update-read-articles|gnus-url-unhex-string|gnus-url-unhex|gnus-use-long-file-name|gnus-user-format-function-D|gnus-user-format-function-d|gnus-uu-decode-binhex-view|gnus-uu-decode-binhex|gnus-uu-decode-save-view|gnus-uu-decode-save|gnus-uu-decode-unshar-and-save-view|gnus-uu-decode-unshar-and-save|gnus-uu-decode-unshar-view|gnus-uu-decode-unshar|gnus-uu-decode-uu-and-save-view|gnus-uu-decode-uu-and-save|gnus-uu-decode-uu-view|gnus-uu-decode-uu|gnus-uu-delete-work-dir|gnus-uu-digest-mail-forward|gnus-uu-digest-post-forward|gnus-uu-extract-map|gnus-uu-invert-processable|gnus-uu-mark-all|gnus-uu-mark-buffer|gnus-uu-mark-by-regexp|gnus-uu-mark-map|gnus-uu-mark-over|gnus-uu-mark-region|gnus-uu-mark-series|gnus-uu-mark-sparse|gnus-uu-mark-thread|gnus-uu-post-news|gnus-uu-unmark-thread|gnus-version|gnus-virtual-group-p|gnus-visual-p|gnus-window-edges|gnus-window-inside-pixel-edges|gnus-with-output-to-file|gnus-write-active-file|gnus-write-buffer|gnus-x-face-from-file|gnus-xmas-define|gnus-xmas-redefine|gnus-xmas-splash|gnus-y-or-n-p|gnus-yes-or-no-p|gnus|gnutls-available-p|gnutls-boot|gnutls-bye|gnutls-deinit|gnutls-error-fatalp|gnutls-error-string|gnutls-errorp|gnutls-get-initstage|gnutls-message-maybe|gnutls-negotiate|gnutls-peer-status-warning-describe|gnutls-peer-status|gomoku--intangible|gomoku-beginning-of-line|gomoku-check-filled-qtuple|gomoku-click|gomoku-crash-game|gomoku-cross-qtuple|gomoku-display-statistics|gomoku-emacs-plays|gomoku-end-of-line|gomoku-find-filled-qtuple|gomoku-goto-square|gomoku-goto-xy|gomoku-human-plays|gomoku-human-resigns|gomoku-human-takes-back|gomoku-index-to-x|gomoku-index-to-y|gomoku-init-board|gomoku-init-display|gomoku-init-score-table|gomoku-init-square-score|gomoku-max-height|gomoku-max-width|gomoku-mode|gomoku-mouse-play|gomoku-move-down|gomoku-move-ne|gomoku-move-nw|gomoku-move-se|gomoku-move-sw|gomoku-move-up|gomoku-nb-qtuples|gomoku-offer-a-draw|gomoku-play-move|gomoku-plot-square|gomoku-point-square|gomoku-point-y|gomoku-prompt-for-move|gomoku-prompt-for-other-game|gomoku-start-game|gomoku-strongest-square|gomoku-switch-to-window|gomoku-take-back|gomoku-terminate-game|gomoku-update-score-in-direction|gomoku-update-score-table|gomoku-xy-to-index|gomoku|goto-address-at-mouse|goto-address-at-point|goto-address-find-address-at-point|goto-address-fontify-region|goto-address-fontify|goto-address-mode|goto-address-prog-mode|goto-address-unfontify|goto-address|goto-history-element|goto-line|goto-next-locus|gpm-mouse-disable|gpm-mouse-enable|gpm-mouse-mode|gpm-mouse-start|gpm-mouse-stop|gravatar-retrieve-synchronously|gravatar-retrieve|grep-apply-setting|grep-compute-defaults|grep-default-command|grep-expand-template|grep-filter|grep-find|grep-mode|grep-probe|grep-process-setup|grep-read-files|grep-read-regexp|grep-tag-default|grep|gs-height-in-pt|gs-load-image|gs-options|gs-set-ghostview-colors-window-prop|gs-set-ghostview-window-prop|gs-width-in-pt|gud-backward-sexp|gud-basic-call|gud-call|gud-common-init|gud-dbx-marker-filter|gud-dbx-massage-args|gud-def|gud-dguxdbx-marker-filter|gud-display-frame|gud-display-line|gud-expansion-speedbar-buttons|gud-expr-compound-sep|gud-expr-compound|gud-file-name|gud-filter|gud-find-c-expr|gud-find-class|gud-find-expr|gud-find-file|gud-format-command|gud-forward-sexp|gud-gdb-completion-at-point|gud-gdb-completions-1|gud-gdb-completions|gud-gdb-fetch-lines-filter|gud-gdb-get-stackframe|gud-gdb-goto-stackframe|gud-gdb-marker-filter|gud-gdb-run-command-fetch-lines|gud-gdb|gud-gdbmi-completions|gud-gdbmi-fetch-lines-filter|gud-gdbmi-marker-filter|gud-goto-info|gud-guiler-marker-filter|gud-innermost-expr|gud-install-speedbar-variables|gud-irixdbx-marker-filter|gud-jdb-analyze-source|gud-jdb-build-class-source-alist-for-file|gud-jdb-build-class-source-alist|gud-jdb-build-source-files-list|gud-jdb-find-source-file|gud-jdb-find-source-using-classpath|gud-jdb-find-source|gud-jdb-marker-filter|gud-jdb-massage-args|gud-jdb-parse-classpath-string|gud-jdb-skip-block|gud-jdb-skip-character-literal|gud-jdb-skip-id-ish-thing|gud-jdb-skip-single-line-comment|gud-jdb-skip-string-literal|gud-jdb-skip-traditional-or-documentation-comment|gud-jdb-skip-whitespace-and-comments|gud-jdb-skip-whitespace|gud-kill-buffer-hook|gud-marker-filter|gud-mipsdbx-marker-filter|gud-mode|gud-next-expr|gud-pdb-marker-filter|gud-perldb-marker-filter|gud-perldb-massage-args|gud-prev-expr|gud-query-cmdline|gud-read-address|gud-refresh|gud-reset|gud-sdb-find-file|gud-sdb-marker-filter|gud-sentinel|gud-set-buffer|gud-speedbar-buttons|gud-speedbar-item-info|gud-stop-subjob|gud-symbol|gud-tool-bar-item-visible-no-fringe|gud-tooltip-activate-mouse-motions-if-enabled|gud-tooltip-activate-mouse-motions|gud-tooltip-change-major-mode|gud-tooltip-dereference|gud-tooltip-mode|gud-tooltip-mouse-motion|gud-tooltip-print-command|gud-tooltip-process-output|gud-tooltip-tips|gud-val|gud-watch|gud-xdb-marker-filter|gud-xdb-massage-args|gui--selection-value-internal|gui--valid-simple-selection-p|gui-call|gui-get-primary-selection|gui-get-selection|gui-method--name|gui-method-declare|gui-method-define|gui-method|gui-select-text|gui-selection-value|gui-set-selection|guiler|gv--defsetter|gv--defun-declaration|gv-deref|gv-get|gv-ref|hack-local-variables-apply|hack-local-variables-confirm|hack-local-variables-filter|hack-local-variables-prop-line|hack-one-local-variable--obsolete|hack-one-local-variable-constantp|hack-one-local-variable-eval-safep|hack-one-local-variable-quotep|hack-one-local-variable|handle-delete-frame|handle-focus-in|handle-focus-out|handle-save-session|handle-select-window|handwrite-10pt|handwrite-11pt|handwrite-12pt|handwrite-13pt|handwrite-insert-font|handwrite-insert-header|handwrite-insert-info|handwrite-insert-preamble|handwrite-set-pagenumber-off|handwrite-set-pagenumber-on|handwrite-set-pagenumber|handwrite|hangul-input-method-activate|hanoi-0|hanoi-goto-char|hanoi-insert-ring|hanoi-internal|hanoi-move-ring|hanoi-n|hanoi-pos-on-tower-p|hanoi-put-face|hanoi-ring-to-pos|hanoi-sit-for|hanoi-unix-64|hanoi-unix|hanoi|hash-table-keys|hash-table-values|hashcash-already-paid-p|hashcash-cancel-async|hashcash-check-payment|hashcash-generate-payment-async|hashcash-generate-payment|hashcash-insert-payment-async-2|hashcash-insert-payment-async|hashcash-insert-payment|hashcash-payment-required|hashcash-payment-to|hashcash-point-at-bol|hashcash-point-at-eol|hashcash-processes-running-p|hashcash-strip-quoted-names|hashcash-token-substring|hashcash-verify-payment|hashcash-version|hashcash-wait-async|hashcash-wait-or-cancel|he--all-buffers|he-buffer-member|he-capitalize-first|he-concat-directory-file-name|he-dabbrev-beg|he-dabbrev-kill-search|he-dabbrev-search|he-file-name-beg|he-init-string|he-kill-beg|he-line-beg|he-line-search-regexp|he-line-search|he-lisp-symbol-beg)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:he-list-beg|he-list-search|he-ordinary-case-p|he-reset-string|he-string-member|he-substitute-string|he-transfer-case|he-whole-kill-search|hebrew-font-get-precomposed|hebrew-shape-gstring|help--binding-locus|help--key-binding-keymap|help-C-file-name|help-add-fundoc-usage|help-at-pt-cancel-timer|help-at-pt-kbd-string|help-at-pt-maybe-display|help-at-pt-set-timer|help-at-pt-string|help-bookmark-jump|help-bookmark-make-record|help-button-action|help-describe-category-set|help-do-arg-highlight|help-do-xref|help-fns--autoloaded-p|help-fns--compiler-macro|help-fns--interactive-only|help-fns--key-bindings|help-fns--obsolete|help-fns--parent-mode|help-fns--signature|help-follow-mouse|help-follow-symbol|help-follow|help-for-help-internal-doc|help-for-help-internal|help-for-help|help-form-show|help-function-arglist|help-go-back|help-go-forward|help-highlight-arg|help-highlight-arguments|help-insert-string|help-insert-xref-button|help-key-description|help-make-usage|help-make-xrefs|help-mode-finish|help-mode-menu|help-mode-revert-buffer|help-mode-setup|help-mode|help-print-return-message|help-quit|help-split-fundoc|help-window-display-message|help-window-setup|help-with-tutorial-spec-language|help-with-tutorial|help-xref-button|help-xref-go-back|help-xref-go-forward|help-xref-interned|help-xref-on-pp|help|hexl-C-c-prefix|hexl-C-x-prefix|hexl-ESC-prefix|hexl-activate-ruler|hexl-address-to-marker|hexl-ascii-start-column|hexl-backward-char|hexl-backward-short|hexl-backward-word|hexl-beginning-of-1k-page|hexl-beginning-of-512b-page|hexl-beginning-of-buffer|hexl-beginning-of-line|hexl-char-after-point|hexl-current-address|hexl-end-of-1k-page|hexl-end-of-512b-page|hexl-end-of-buffer|hexl-end-of-line|hexl-find-file|hexl-follow-ascii-find|hexl-follow-ascii|hexl-follow-line|hexl-forward-char|hexl-forward-short|hexl-forward-word|hexl-goto-address|hexl-goto-hex-address|hexl-hex-char-to-integer|hexl-hex-string-to-integer|hexl-highlight-line-range|hexl-htoi|hexl-insert-char|hexl-insert-decimal-char|hexl-insert-hex-char|hexl-insert-hex-string|hexl-insert-multibyte-char|hexl-insert-octal-char|hexl-isearch-search-function|hexl-line-displen|hexl-maybe-dehexlify-buffer|hexl-menu|hexl-mode--minor-mode-p|hexl-mode--setq-local|hexl-mode-exit|hexl-mode-ruler|hexl-mode|hexl-next-line|hexl-oct-char-to-integer|hexl-octal-string-to-integer|hexl-options|hexl-previous-line|hexl-print-current-point-info|hexl-printable-character|hexl-quoted-insert|hexl-revert-buffer-function|hexl-rulerize|hexl-save-buffer|hexl-scroll-down|hexl-scroll-up|hexl-self-insert-command|hexlify-buffer|hfy-begin-span|hfy-bgcol|hfy-box-to-border-assoc|hfy-box-to-style|hfy-box|hfy-buffer|hfy-colour-vals|hfy-colour|hfy-combined-face-spec|hfy-compile-face-map|hfy-compile-stylesheet|hfy-copy-and-fontify-file|hfy-css-name|hfy-decor|hfy-default-footer|hfy-default-header|hfy-dirname|hfy-end-span|hfy-face-at|hfy-face-attr-for-class|hfy-face-or-def-to-name|hfy-face-resolve-face|hfy-face-to-css-default|hfy-face-to-style-i|hfy-face-to-style|hfy-fallback-colour-values|hfy-family|hfy-find-invisible-ranges|hfy-flatten-style|hfy-fontified-p|hfy-fontify-buffer|hfy-force-fontification|hfy-href-stub|hfy-href|hfy-html-dekludge-buffer|hfy-html-enkludge-buffer|hfy-html-quote|hfy-init-progn|hfy-initfile|hfy-interq|hfy-invisible-name|hfy-invisible|hfy-kludge-cperl-mode|hfy-link-style-string|hfy-link-style|hfy-list-files|hfy-load-tags-cache|hfy-lookup|hfy-make-directory|hfy-mark-tag-hrefs|hfy-mark-tag-names|hfy-mark-trailing-whitespace|hfy-merge-adjacent-spans|hfy-opt|hfy-overlay-props-at|hfy-parse-tags-buffer|hfy-prepare-index-i|hfy-prepare-index|hfy-prepare-tag-map|hfy-prop-invisible-p|hfy-relstub|hfy-save-buffer-state|hfy-save-initvar|hfy-save-kill-buffers|hfy-shell|hfy-size-to-int|hfy-size|hfy-slant|hfy-sprintf-stylesheet|hfy-subtract-maps|hfy-tags-for-file|hfy-text-p|hfy-triplet|hfy-unmark-trailing-whitespace|hfy-weight|hfy-which-etags|hfy-width|hfy-word-regex|hi-lock--hashcons|hi-lock--regexps-at-point|hi-lock-face-buffer|hi-lock-face-phrase-buffer|hi-lock-face-symbol-at-point|hi-lock-find-patterns|hi-lock-font-lock-hook|hi-lock-keyword->face|hi-lock-line-face-buffer|hi-lock-mode-set-explicitly|hi-lock-mode|hi-lock-process-phrase|hi-lock-read-face-name|hi-lock-regexp-okay|hi-lock-set-file-patterns|hi-lock-set-pattern|hi-lock-unface-buffer|hi-lock-unload-function|hi-lock-write-interactive-patterns|hide-body|hide-entry|hide-ifdef-block|hide-ifdef-define|hide-ifdef-guts|hide-ifdef-mode-menu|hide-ifdef-mode|hide-ifdef-region-internal|hide-ifdef-region|hide-ifdef-set-define-alist|hide-ifdef-toggle-outside-read-only|hide-ifdef-toggle-read-only|hide-ifdef-toggle-shadowing|hide-ifdef-undef|hide-ifdef-use-define-alist|hide-ifdefs|hide-leaves|hide-other|hide-region-body|hide-sublevels|hide-subtree|hif-add-new-defines|hif-after-revert-function|hif-and-expr|hif-and|hif-canonicalize-tokens|hif-canonicalize|hif-clear-all-ifdef-defined|hif-comma|hif-comp-expr|hif-compress-define-list|hif-conditional|hif-define-macro|hif-define-operator|hif-defined|hif-delimit|hif-divide|hif-end-of-line|hif-endif-to-ifdef|hif-eq-expr|hif-equal|hif-evaluate-macro|hif-evaluate-region|hif-expand-token-list|hif-expr|hif-exprlist|hif-factor|hif-find-any-ifX|hif-find-define|hif-find-ifdef-block|hif-find-next-relevant|hif-find-previous-relevant|hif-find-range|hif-flatten|hif-get-argument-list|hif-greater-equal|hif-greater|hif-hide-line|hif-if-valid-identifier-p|hif-ifdef-to-endif|hif-invoke|hif-less-equal|hif-less|hif-logand-expr|hif-logand|hif-logior-expr|hif-logior|hif-lognot|hif-logshift-expr|hif-logxor-expr|hif-logxor|hif-looking-at-elif|hif-looking-at-else|hif-looking-at-endif|hif-looking-at-ifX|hif-lookup|hif-macro-supply-arguments|hif-make-range|hif-math|hif-mathify-binop|hif-mathify|hif-merge-ifdef-region|hif-minus|hif-modulo|hif-muldiv-expr|hif-multiply|hif-nexttoken|hif-not|hif-notequal|hif-or-expr|hif-or|hif-parse-exp|hif-parse-macro-arglist|hif-place-macro-invocation|hif-plus|hif-possibly-hide|hif-range-elif|hif-range-else|hif-range-end|hif-range-start|hif-recurse-on|hif-set-var|hif-shiftleft|hif-shiftright|hif-show-all|hif-show-ifdef-region|hif-string-concatenation|hif-string-to-number|hif-stringify|hif-token-concat|hif-token-concatenation|hif-token-stringification|hif-tokenize|hif-undefine-symbol|highlight-changes-mode-set-explicitly|highlight-changes-mode-turn-on|highlight-changes-mode|highlight-changes-next-change|highlight-changes-previous-change|highlight-changes-remove-highlight|highlight-changes-rotate-faces|highlight-changes-visible-mode|highlight-compare-buffers|highlight-compare-with-file|highlight-lines-matching-regexp|highlight-markup-buffers|highlight-phrase|highlight-regexp|highlight-symbol-at-point|hilit-chg-bump-change|hilit-chg-clear|hilit-chg-cust-fix-changes-face-list|hilit-chg-desktop-restore|hilit-chg-display-changes|hilit-chg-fixup|hilit-chg-get-diff-info|hilit-chg-get-diff-list-hk|hilit-chg-hide-changes|hilit-chg-make-list|hilit-chg-make-ov|hilit-chg-map-changes|hilit-chg-set-face-on-change|hilit-chg-set|hilit-chg-unload-function|hilit-chg-update|hippie-expand|hl-line-highlight|hl-line-make-overlay|hl-line-mode|hl-line-move|hl-line-unhighlight|hl-line-unload-function|hmac-md5-96|hmac-md5|holiday-list|holidays|horizontal-scroll-bar-mode|horizontal-scroll-bars-available-p|how-many|hs-already-hidden-p|hs-c-like-adjust-block-beginning|hs-discard-overlays|hs-find-block-beginning|hs-forward-sexp|hs-grok-mode-type|hs-hide-all|hs-hide-block-at-point|hs-hide-block|hs-hide-comment-region|hs-hide-initial-comment-block|hs-hide-level-recursive|hs-hide-level|hs-inside-comment-p|hs-isearch-show-temporary|hs-isearch-show|hs-life-goes-on|hs-looking-at-block-start-p|hs-make-overlay|hs-minor-mode-menu|hs-minor-mode|hs-mouse-toggle-hiding|hs-overlay-at|hs-show-all|hs-show-block|hs-toggle-hiding|html-autoview-mode|html-checkboxes|html-current-defun-name|html-headline-1|html-headline-2|html-headline-3|html-headline-4|html-headline-5|html-headline-6|html-horizontal-rule|html-href-anchor|html-image|html-imenu-index|html-line|html-list-item|html-mode|html-name-anchor|html-ordered-list|html-paragraph|html-radio-buttons|html-unordered-list|html2text|htmlfontify-buffer|htmlfontify-copy-and-link-dir|htmlfontify-load-initfile|htmlfontify-load-rgb-file|htmlfontify-run-etags|htmlfontify-save-initfile|htmlfontify-string|htmlize-attrlist-to-fstruct|htmlize-buffer-1|htmlize-buffer-substring-no-invisible|htmlize-buffer|htmlize-color-to-rgb|htmlize-copy-attr-if-set|htmlize-css-insert-head|htmlize-css-insert-text|htmlize-css-specs|htmlize-defang-local-variables|htmlize-default-body-tag|htmlize-default-doctype|htmlize-despam-address|htmlize-ensure-fontified|htmlize-face-background|htmlize-face-color-internal|htmlize-face-emacs21-attr|htmlize-face-foreground|htmlize-face-list-p|htmlize-face-size|htmlize-face-specifies-property|htmlize-face-to-fstruct|htmlize-faces-at-point|htmlize-faces-in-buffer|htmlize-file|htmlize-font-body-tag|htmlize-font-insert-text|htmlize-fstruct-background--cmacro|htmlize-fstruct-background|htmlize-fstruct-boldp--cmacro|htmlize-fstruct-boldp|htmlize-fstruct-css-name--cmacro|htmlize-fstruct-css-name|htmlize-fstruct-foreground--cmacro|htmlize-fstruct-foreground|htmlize-fstruct-italicp--cmacro|htmlize-fstruct-italicp|htmlize-fstruct-overlinep--cmacro|htmlize-fstruct-overlinep|htmlize-fstruct-p--cmacro|htmlize-fstruct-p|htmlize-fstruct-size--cmacro|htmlize-fstruct-size|htmlize-fstruct-strikep--cmacro|htmlize-fstruct-strikep|htmlize-fstruct-underlinep--cmacro|htmlize-fstruct-underlinep|htmlize-get-color-rgb-hash|htmlize-inline-css-body-tag|htmlize-inline-css-insert-text|htmlize-locate-file|htmlize-make-face-map|htmlize-make-file-name|htmlize-make-hyperlinks|htmlize-many-files-dired|htmlize-many-files|htmlize-memoize|htmlize-merge-faces|htmlize-merge-size|htmlize-merge-two-faces|htmlize-method-function|htmlize-method|htmlize-next-change|htmlize-protect-string|htmlize-region-for-paste|htmlize-region|htmlize-trim-ellipsis|htmlize-unstringify-face|htmlize-untabify|htmlize-with-fontify-message|ibuffer-active-formats-name|ibuffer-add-saved-filters|ibuffer-add-to-tmp-hide|ibuffer-add-to-tmp-show|ibuffer-assert-ibuffer-mode|ibuffer-auto-mode|ibuffer-backward-filter-group|ibuffer-backward-line|ibuffer-backwards-next-marked|ibuffer-bs-show|ibuffer-buf-matches-predicates|ibuffer-buffer-file-name|ibuffer-buffer-name-face|ibuffer-buffer-names-with-mark|ibuffer-bury-buffer|ibuffer-check-formats|ibuffer-clear-filter-groups|ibuffer-clear-summary-columns|ibuffer-columnize-and-insert-list|ibuffer-compile-format|ibuffer-compile-make-eliding-form|ibuffer-compile-make-format-form|ibuffer-compile-make-substring-form|ibuffer-confirm-operation-on|ibuffer-copy-filename-as-kill|ibuffer-count-deletion-lines|ibuffer-count-marked-lines|ibuffer-current-buffer|ibuffer-current-buffers-with-marks|ibuffer-current-formats??|ibuffer-current-mark|ibuffer-current-state-list|ibuffer-customize|ibuffer-decompose-filter-group|ibuffer-decompose-filter|ibuffer-delete-saved-filter-groups|ibuffer-delete-saved-filters|ibuffer-deletion-marked-buffer-names|ibuffer-diff-with-file|ibuffer-do-delete|ibuffer-do-eval|ibuffer-do-isearch-regexp|ibuffer-do-isearch|ibuffer-do-kill-lines|ibuffer-do-kill-on-deletion-marks|ibuffer-do-occur|ibuffer-do-print|ibuffer-do-query-replace-regexp|ibuffer-do-query-replace|ibuffer-do-rename-uniquely|ibuffer-do-replace-regexp|ibuffer-do-revert|ibuffer-do-save|ibuffer-do-shell-command-file|ibuffer-do-shell-command-pipe-replace|ibuffer-do-shell-command-pipe|ibuffer-do-sort-by-alphabetic|ibuffer-do-sort-by-filename/process|ibuffer-do-sort-by-major-mode|ibuffer-do-sort-by-mode-name|ibuffer-do-sort-by-recency|ibuffer-do-sort-by-size|ibuffer-do-toggle-modified|ibuffer-do-toggle-read-only|ibuffer-do-view-1|ibuffer-do-view-and-eval|ibuffer-do-view-horizontally|ibuffer-do-view-other-frame|ibuffer-do-view|ibuffer-exchange-filters|ibuffer-expand-format-entry|ibuffer-filter-buffers|ibuffer-filter-by-content|ibuffer-filter-by-derived-mode|ibuffer-filter-by-filename|ibuffer-filter-by-mode|ibuffer-filter-by-name|ibuffer-filter-by-predicate|ibuffer-filter-by-size-gt|ibuffer-filter-by-size-lt|ibuffer-filter-by-used-mode|ibuffer-filter-disable|ibuffer-filters-to-filter-group|ibuffer-find-file)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)i(?:buffer-format-column|buffer-forward-filter-group|buffer-forward-line|buffer-forward-next-marked|buffer-get-marked-buffers|buffer-included-in-filters-p|buffer-insert-buffer-line|buffer-insert-filter-group|buffer-interactive-filter-by-mode|buffer-invert-sorting|buffer-jump-to-buffer|buffer-jump-to-filter-group|buffer-kill-filter-group|buffer-kill-line|buffer-list-buffers|buffer-make-column-filename-and-process|buffer-make-column-filename|buffer-make-column-process|buffer-map-deletion-lines|buffer-map-lines-nomodify|buffer-map-lines|buffer-map-marked-lines|buffer-map-on-mark|buffer-mark-by-file-name-regexp|buffer-mark-by-mode-regexp|buffer-mark-by-mode|buffer-mark-by-name-regexp|buffer-mark-compressed-file-buffers|buffer-mark-dired-buffers|buffer-mark-dissociated-buffers|buffer-mark-for-delete-backwards|buffer-mark-for-delete|buffer-mark-forward|buffer-mark-help-buffers|buffer-mark-interactive|buffer-mark-modified-buffers|buffer-mark-old-buffers|buffer-mark-read-only-buffers|buffer-mark-special-buffers|buffer-mark-unsaved-buffers|buffer-marked-buffer-names|buffer-mode|buffer-mouse-filter-by-mode|buffer-mouse-popup-menu|buffer-mouse-toggle-filter-group|buffer-mouse-toggle-mark|buffer-mouse-visit-buffer|buffer-negate-filter|buffer-or-filter|buffer-other-window|buffer-pop-filter-group|buffer-pop-filter|buffer-recompile-formats|buffer-redisplay-current|buffer-redisplay-engine|buffer-redisplay|buffer-save-filter-groups|buffer-save-filters|buffer-set-filter-groups-by-mode|buffer-set-mark-1|buffer-set-mark|buffer-shrink-to-fit|buffer-skip-properties|buffer-sort-bufferlist|buffer-switch-format|buffer-switch-to-saved-filter-groups|buffer-switch-to-saved-filters|buffer-toggle-filter-group|buffer-toggle-marks|buffer-toggle-sorting-mode|buffer-unmark-all|buffer-unmark-backward|buffer-unmark-forward|buffer-update-format|buffer-update-title-and-summary|buffer-update|buffer-visible-p|buffer-visit-buffer-1-window|buffer-visit-buffer-other-frame|buffer-visit-buffer-other-window-noselect|buffer-visit-buffer-other-window|buffer-visit-buffer|buffer-visit-tags-table|buffer-yank-filter-group|buffer-yank|buffer|calendar--add-decoded-times|calendar--add-diary-entry|calendar--all-events|calendar--convert-all-timezones|calendar--convert-anniversary-to-ical|calendar--convert-block-to-ical|calendar--convert-cyclic-to-ical|calendar--convert-date-to-ical|calendar--convert-float-to-ical|calendar--convert-ical-to-diary|calendar--convert-non-recurring-all-day-to-diary|calendar--convert-non-recurring-not-all-day-to-diary|calendar--convert-ordinary-to-ical|calendar--convert-recurring-to-diary|calendar--convert-sexp-to-ical|calendar--convert-string-for-export|calendar--convert-string-for-import|calendar--convert-to-ical|calendar--convert-tz-offset|calendar--convert-weekly-to-ical|calendar--convert-yearly-to-ical|calendar--create-ical-alarm|calendar--create-uid|calendar--date-to-isodate|calendar--datestring-to-isodate|calendar--datetime-to-american-date|calendar--datetime-to-colontime|calendar--datetime-to-diary-date|calendar--datetime-to-european-date|calendar--datetime-to-iso-date|calendar--datetime-to-noneuropean-date|calendar--decode-isodatetime|calendar--decode-isoduration|calendar--diarytime-to-isotime|calendar--dmsg|calendar--do-create-ical-alarm|calendar--find-time-zone|calendar--format-ical-event|calendar--get-children|calendar--get-event-properties|calendar--get-event-property-attributes|calendar--get-event-property|calendar--get-month-number|calendar--get-unfolded-buffer|calendar--get-weekday-abbrev|calendar--get-weekday-numbers??|calendar--parse-summary-and-rest|calendar--parse-vtimezone|calendar--read-element|calendar--rris|calendar--split-value|calendar-convert-diary-to-ical|calendar-export-file|calendar-export-region|calendar-extract-ical-from-buffer|calendar-first-weekday-of-year|calendar-import-buffer|calendar-import-file|calendar-import-format-sample|complete--completion-predicate|complete--completion-table|complete--field-beg|complete--field-end|complete--field-string|complete--in-region-setup|complete-backward-completions|complete-completions|complete-exhibit|complete-forward-completions|complete-minibuffer-setup|complete-mode|complete-post-command-hook|complete-pre-command-hook|complete-simple-completing-p|complete-tidy|con-backward-to-noncomment|con-backward-to-start-of-continued-exp|con-backward-to-start-of-if|con-comment-indent|con-forward-sexp-function|con-indent-command|con-indent-line|con-is-continuation-line|con-is-continued-line|con-mode|conify-or-deiconify-frame|dl-font-lock-keywords-2|dl-font-lock-keywords-3|dl-font-lock-keywords|dl-mode|dlwave-action-and-binding|dlwave-active-rinfo-space|dlwave-add-file-link-selector|dlwave-after-successful-completion|dlwave-all-assq|dlwave-all-class-inherits|dlwave-all-class-tags|dlwave-all-method-classes|dlwave-all-method-keyword-classes|dlwave-any-syslib|dlwave-attach-class-tag-classes|dlwave-attach-classes|dlwave-attach-keyword-classes|dlwave-attach-method-classes|dlwave-auto-fill-mode|dlwave-auto-fill|dlwave-backward-block|dlwave-backward-up-block|dlwave-beginning-of-block|dlwave-beginning-of-statement|dlwave-beginning-of-subprogram|dlwave-best-rinfo-assoc|dlwave-best-rinfo-assq|dlwave-block-jump-out|dlwave-block-master|dlwave-calc-hanging-indent|dlwave-calculate-cont-indent|dlwave-calculate-indent|dlwave-calculate-paren-indent|dlwave-call-special|dlwave-case|dlwave-check-abbrev|dlwave-choose-completion|dlwave-choose|dlwave-class-alist|dlwave-class-file-or-buffer|dlwave-class-found-in|dlwave-class-info|dlwave-class-inherits|dlwave-class-or-superclass-with-tag|dlwave-class-tag-reset|dlwave-class-tags|dlwave-close-block|dlwave-code-abbrev|dlwave-command-hook|dlwave-comment-hook|dlwave-complete-class-structure-tag-help|dlwave-complete-class-structure-tag|dlwave-complete-class|dlwave-complete-filename|dlwave-complete-in-buffer|dlwave-complete-sysvar-help|dlwave-complete-sysvar-or-tag|dlwave-complete-sysvar-tag-help|dlwave-complete|dlwave-completing-read|dlwave-completion-fontify-classes|dlwave-concatenate-rinfo-lists|dlwave-context-help|dlwave-convert-xml-clean-routine-aliases|dlwave-convert-xml-clean-statement-aliases|dlwave-convert-xml-clean-sysvar-aliases|dlwave-convert-xml-system-routine-info|dlwave-count-eq|dlwave-count-memq|dlwave-count-outlawed-buffers|dlwave-create-customize-menu|dlwave-create-user-catalog-file|dlwave-current-indent|dlwave-current-routine-fullname|dlwave-current-routine|dlwave-current-statement-indent|dlwave-custom-ampersand-surround|dlwave-custom-ltgtr-surround|dlwave-customize|dlwave-debug-map|dlwave-default-choose-completion|dlwave-default-insert-timestamp|dlwave-define-abbrev|dlwave-delete-user-catalog-file|dlwave-determine-class|dlwave-display-calling-sequence|dlwave-display-completion-list-emacs|dlwave-display-completion-list-xemacs|dlwave-display-completion-list|dlwave-display-user-catalog-widget|dlwave-do-action|dlwave-do-context-help1??|dlwave-do-find-module|dlwave-do-kill-autoloaded-buffers|dlwave-do-mouse-completion-help|dlwave-doc-header|dlwave-doc-modification|dlwave-down-block|dlwave-downcase-safe|dlwave-edit-in-idlde|dlwave-elif|dlwave-end-of-block|dlwave-end-of-statement0??|dlwave-end-of-subprogram|dlwave-entry-find-keyword|dlwave-entry-has-help|dlwave-entry-keywords|dlwave-expand-equal|dlwave-expand-keyword|dlwave-expand-lib-file-name|dlwave-expand-path|dlwave-expand-region-abbrevs|dlwave-explicit-class-listed|dlwave-fill-paragraph|dlwave-find-class-definition|dlwave-find-file-noselect|dlwave-find-inherited-class|dlwave-find-key|dlwave-find-module-this-file|dlwave-find-module|dlwave-find-struct-tag|dlwave-find-structure-definition|dlwave-fix-keywords|dlwave-fix-module-if-obj_new|dlwave-font-lock-fontify-region|dlwave-for|dlwave-forward-block|dlwave-function-menu|dlwave-function|dlwave-get-buffer-routine-info|dlwave-get-buffer-visiting|dlwave-get-routine-info-from-buffers|dlwave-goto-comment|dlwave-grep|dlwave-hard-tab|dlwave-has-help|dlwave-help-assistant-available|dlwave-help-assistant-close|dlwave-help-assistant-command|dlwave-help-assistant-help-with-topic|dlwave-help-assistant-open-link|dlwave-help-assistant-raise|dlwave-help-assistant-start|dlwave-help-check-locations|dlwave-help-diagnostics|dlwave-help-display-help-window|dlwave-help-error|dlwave-help-find-first-header|dlwave-help-find-header|dlwave-help-find-in-doc-header|dlwave-help-find-routine-definition|dlwave-help-fontify|dlwave-help-get-help-buffer|dlwave-help-get-special-help|dlwave-help-html-link|dlwave-help-menu|dlwave-help-mode|dlwave-help-quit|dlwave-help-return-to-calling-frame|dlwave-help-select-help-frame|dlwave-help-show-help-frame|dlwave-help-toggle-header-match-and-def|dlwave-help-toggle-header-top-and-def|dlwave-help-with-source|dlwave-highlight-linked-completions|dlwave-html-help-location|dlwave-if|dlwave-in-comment|dlwave-in-quote|dlwave-in-structure|dlwave-indent-and-action|dlwave-indent-left-margin|dlwave-indent-line|dlwave-indent-statement|dlwave-indent-subprogram|dlwave-indent-to|dlwave-info|dlwave-insert-source-location|dlwave-is-comment-line|dlwave-is-comment-or-empty-line|dlwave-is-continuation-line|dlwave-is-pointer-dereference|dlwave-keyboard-quit|dlwave-keyword-abbrev|dlwave-kill-autoloaded-buffers|dlwave-kill-buffer-update|dlwave-last-valid-char|dlwave-launch-idlhelp|dlwave-lib-p|dlwave-list-abbrevs|dlwave-list-all-load-path-shadows|dlwave-list-buffer-load-path-shadows|dlwave-list-load-path-shadows|dlwave-list-shell-load-path-shadows|dlwave-load-all-rinfo|dlwave-load-rinfo-next-step|dlwave-load-system-routine-info|dlwave-local-value|dlwave-locate-lib-file|dlwave-look-at|dlwave-make-force-complete-where-list|dlwave-make-full-name|dlwave-make-modified-completion-map-emacs|dlwave-make-modified-completion-map-xemacs|dlwave-make-one-key-alist|dlwave-make-space|dlwave-make-tags|dlwave-mark-block|dlwave-mark-doclib|dlwave-mark-statement|dlwave-mark-subprogram|dlwave-match-class-arrows|dlwave-members-only|dlwave-min-current-statement-indent|dlwave-mode-debug-menu|dlwave-mode-menu|dlwave-mode|dlwave-mouse-active-rinfo-right|dlwave-mouse-active-rinfo-shift|dlwave-mouse-active-rinfo|dlwave-mouse-choose-completion|dlwave-mouse-completion-help|dlwave-mouse-context-help|dlwave-new-buffer-update|dlwave-new-sintern-type|dlwave-newline|dlwave-next-statement|dlwave-nonmembers-only|dlwave-one-key-select|dlwave-online-help|dlwave-parse-definition|dlwave-path-alist-add-flag|dlwave-path-alist-remove-flag|dlwave-popup-select|dlwave-prepare-class-tag-completion|dlwave-prev-index-position|dlwave-previous-statement|dlwave-print-source|dlwave-procedure|dlwave-process-sysvars|dlwave-quit-help|dlwave-quoted|dlwave-read-paths|dlwave-recursive-directory-list|dlwave-region-active-p|dlwave-repeat|dlwave-replace-buffer-routine-info|dlwave-replace-string|dlwave-rescan-asynchronously|dlwave-rescan-catalog-directories|dlwave-reset-sintern-type|dlwave-reset-sintern|dlwave-resolve|dlwave-restore-wconf-after-completion|dlwave-revoke-license-to-kill|dlwave-rinfo-assoc|dlwave-rinfo-assq-any-class|dlwave-rinfo-assq|dlwave-rinfo-group-keywords|dlwave-rinfo-insert-keyword|dlwave-routine-entry-compare-twins|dlwave-routine-entry-compare|dlwave-routine-info|dlwave-routine-source-file|dlwave-routine-twin-compare|dlwave-routine-twins|dlwave-routines|dlwave-rw-case|dlwave-save-buffer-update|dlwave-save-routine-info|dlwave-scan-class-info|dlwave-scan-library-catalogs|dlwave-scan-user-lib-files|dlwave-scroll-completions|dlwave-selector|dlwave-set-local|dlwave-setup|dlwave-shell-break-here|dlwave-shell-compile-helper-routines|dlwave-shell-filter-sysvars|dlwave-shell-recenter-shell-window|dlwave-shell-run-region|dlwave-shell-save-and-run|dlwave-shell-send-command|dlwave-shell-show-commentary|dlwave-shell-update-routine-info|dlwave-shell|dlwave-shorten-syntax|dlwave-show-begin-check|dlwave-show-begin|dlwave-show-commentary|dlwave-show-matching-quote|dlwave-sintern-class-info|dlwave-sintern-class-tag|dlwave-sintern-class)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)i(?:dlwave-sintern-dir|dlwave-sintern-keyword-list|dlwave-sintern-keyword|dlwave-sintern-libname|dlwave-sintern-method|dlwave-sintern-rinfo-list|dlwave-sintern-routine-or-method|dlwave-sintern-routine|dlwave-sintern-set|dlwave-sintern-sysvar-alist|dlwave-sintern-sysvar|dlwave-sintern-sysvartag|dlwave-sintern|dlwave-skip-label-or-case|dlwave-skip-multi-commands|dlwave-skip-object|dlwave-special-lib-test|dlwave-split-line|dlwave-split-link-target|dlwave-split-menu-emacs|dlwave-split-menu-xemacs|dlwave-split-string|dlwave-start-load-rinfo-timer|dlwave-start-of-substatement|dlwave-statement-type|dlwave-struct-borders|dlwave-struct-inherits|dlwave-struct-tags|dlwave-study-twins|dlwave-substitute-link-target|dlwave-surround|dlwave-switch|dlwave-sys-dir|dlwave-syslib-p|dlwave-syslib-scanned-p|dlwave-sysvars-reset|dlwave-template|dlwave-this-word|dlwave-toggle-comment-region|dlwave-true-path-alist|dlwave-uniquify|dlwave-unit-name|dlwave-update-buffer-routine-info|dlwave-update-current-buffer-info|dlwave-update-routine-info|dlwave-user-catalog-command-hook|dlwave-what-function|dlwave-what-module-find-class|dlwave-what-module|dlwave-what-procedure|dlwave-where|dlwave-while|dlwave-widget-scan-user-lib-files|dlwave-with-special-syntax|dlwave-write-paths|dlwave-xml-create-class-method-lists|dlwave-xml-create-rinfo-list|dlwave-xml-create-sysvar-alist|dlwave-xml-system-routine-info-up-to-date|dlwave-xor|dna-to-ascii|do-active|do-add-virtual-buffers-to-list|do-all-completions|do-buffer-internal|do-buffer-window-other-frame|do-bury-buffer-at-head|do-cache-ftp-valid|do-cache-unc-valid|do-choose-completion-string|do-chop|do-common-initialization|do-complete-space|do-complete|do-completing-read|do-completion-help|do-completions|do-copy-current-file-name|do-copy-current-word|do-delete-backward-updir|do-delete-backward-word-updir|do-delete-file-at-head|do-directory-too-big-p|do-dired|do-display-buffer|do-display-file|do-edit-input|do-enter-dired|do-enter-find-file|do-enter-insert-buffer|do-enter-insert-file|do-enter-switch-buffer|do-everywhere|do-exhibit|do-existing-item-p|do-exit-minibuffer|do-expand-directory|do-fallback-command|do-file-extension-aux|do-file-extension-lessp|do-file-extension-order|do-file-internal|do-file-lessp|do-file-name-all-completions-1|do-file-name-all-completions|do-final-slash|do-find-alternate-file|do-find-common-substring|do-find-file-in-dir|do-find-file-other-frame|do-find-file-other-window|do-find-file-read-only-other-frame|do-find-file-read-only-other-window|do-find-file-read-only|do-find-file|do-flatten-merged-list|do-forget-work-directory|do-fractionp|do-get-buffers-in-frames|do-get-bufname|do-get-work-directory|do-get-work-file|do-ignore-item-p|do-init-completion-maps|do-initiate-auto-merge|do-insert-buffer|do-insert-file|do-is-ftp-directory|do-is-root-directory|do-is-slow-ftp-host|do-is-tramp-root|do-is-unc-host|do-is-unc-root|do-kill-buffer-at-head|do-kill-buffer|do-kill-emacs-hook|do-list-directory|do-load-history|do-local-file-exists-p|do-magic-backward-char|do-magic-delete-char|do-magic-forward-char|do-make-buffer-list-1|do-make-buffer-list|do-make-choice-list|do-make-dir-list-1|do-make-dir-list|do-make-directory|do-make-file-list-1|do-make-file-list|do-make-merged-file-list-1|do-make-merged-file-list|do-make-prompt|do-makealist|do-may-cache-directory|do-merge-work-directories|do-minibuffer-setup|do-mode|do-name|do-next-match-dir|do-next-match|do-next-work-directory|do-next-work-file|do-no-final-slash|do-nonreadable-directory-p|do-pop-dir|do-pp|do-prev-match-dir|do-prev-match|do-prev-work-directory|do-prev-work-file|do-push-dir-first|do-push-dir|do-read-buffer|do-read-directory-name|do-read-file-name|do-read-internal|do-record-command|do-record-work-directory|do-record-work-file|do-remove-cached-dir|do-reread-directory|do-restrict-to-matches|do-save-history|do-select-text|do-set-common-completion|do-set-current-directory|do-set-current-home|do-set-matches-1|do-set-matches|do-setup-completion-map|do-sort-merged-list|do-summary-buffers-to-end|do-switch-buffer-other-frame|do-switch-buffer-other-window|do-switch-buffer|do-take-first-match|do-tidy|do-time-stamp|do-to-end|do-toggle-case|do-toggle-ignore|do-toggle-literal|do-toggle-prefix|do-toggle-regexp|do-toggle-trace|do-toggle-vc|do-toggle-virtual-buffers|do-trace|do-unc-hosts-net-view|do-unc-hosts|do-undo-merge-work-directory|do-unload-function|do-up-directory|do-visit-buffer|do-wash-history|do-wide-find-dir-or-delete-dir|do-wide-find-dir|do-wide-find-dirs-or-files|do-wide-find-file-or-pop-dir|do-wide-find-file|do-word-matching-substring|do-write-file|elm|etf-drums-get-comment|etf-drums-init|etf-drums-make-address|etf-drums-narrow-to-header|etf-drums-parse-address|etf-drums-parse-addresses|etf-drums-parse-date|etf-drums-quote-string|etf-drums-remove-comments|etf-drums-remove-whitespace|etf-drums-strip|etf-drums-token-to-list|etf-drums-unfold-fws|f-let|fconfig|image-mode-buffer|image-mode|image-modification-hook|image-recenter|mage--set-speed|mage-after-revert-hook|mage-animate-get-speed|mage-animate-set-speed|mage-animate-timeout|mage-animated-p|mage-backward-hscroll|mage-bob|mage-bol|mage-bookmark-jump|mage-bookmark-make-record|mage-decrease-speed|mage-dired--with-db-file|mage-dired-add-to-file-comment-list|mage-dired-add-to-tag-file-lists??|mage-dired-associated-dired-buffer-window|mage-dired-associated-dired-buffer|mage-dired-backward-image|mage-dired-comment-thumbnail|mage-dired-copy-with-exif-file-name|mage-dired-create-display-image-buffer|mage-dired-create-gallery-lists|mage-dired-create-thumb|mage-dired-create-thumbnail-buffer|mage-dired-create-thumbs|mage-dired-define-display-image-mode-keymap|mage-dired-define-thumbnail-mode-keymap|mage-dired-delete-char|mage-dired-delete-tag|mage-dired-dir|mage-dired-dired-after-readin-hook|mage-dired-dired-comment-files|mage-dired-dired-display-external|mage-dired-dired-display-image|mage-dired-dired-display-properties|mage-dired-dired-edit-comment-and-tags|mage-dired-dired-file-marked-p|mage-dired-dired-next-line|mage-dired-dired-previous-line|mage-dired-dired-toggle-marked-thumbs|mage-dired-dired-with-window-configuration|mage-dired-display-current-image-full|mage-dired-display-current-image-sized|mage-dired-display-image-mode|mage-dired-display-image|mage-dired-display-next-thumbnail-original|mage-dired-display-previous-thumbnail-original|mage-dired-display-thumb-properties|mage-dired-display-thumb|mage-dired-display-thumbnail-original-image|mage-dired-display-thumbs-append|mage-dired-display-thumbs|mage-dired-display-window-height|mage-dired-display-window-width|mage-dired-display-window|mage-dired-flag-thumb-original-file|mage-dired-format-properties-string|mage-dired-forward-image|mage-dired-gallery-generate|mage-dired-get-buffer-window|mage-dired-get-comment|mage-dired-get-exif-data|mage-dired-get-exif-file-name|mage-dired-get-thumbnail-image|mage-dired-hidden-p|mage-dired-image-at-point-p|mage-dired-insert-image|mage-dired-insert-thumbnail|mage-dired-jump-original-dired-buffer|mage-dired-jump-thumbnail-buffer|mage-dired-kill-buffer-and-window|mage-dired-line-up-dynamic|mage-dired-line-up-interactive|mage-dired-line-up|mage-dired-list-tags|mage-dired-mark-and-display-next|mage-dired-mark-tagged-files|mage-dired-mark-thumb-original-file|mage-dired-modify-mark-on-thumb-original-file|mage-dired-mouse-display-image|mage-dired-mouse-select-thumbnail|mage-dired-mouse-toggle-mark|mage-dired-next-line-and-display|mage-dired-next-line|mage-dired-original-file-name|mage-dired-previous-line-and-display|mage-dired-previous-line|mage-dired-read-comment|mage-dired-refresh-thumb|mage-dired-remove-tag|mage-dired-restore-window-configuration|mage-dired-rotate-original-left|mage-dired-rotate-original-right|mage-dired-rotate-original|mage-dired-rotate-thumbnail-left|mage-dired-rotate-thumbnail-right|mage-dired-rotate-thumbnail|mage-dired-sane-db-file|mage-dired-save-information-from-widgets|mage-dired-set-exif-data|mage-dired-setup-dired-keybindings|mage-dired-show-all-from-dir|mage-dired-slideshow-start|mage-dired-slideshow-step|mage-dired-slideshow-stop|mage-dired-tag-files|mage-dired-tag-thumbnail-remove|mage-dired-tag-thumbnail|mage-dired-thumb-name|mage-dired-thumbnail-display-external|mage-dired-thumbnail-mode|mage-dired-thumbnail-set-image-description|mage-dired-thumbnail-window|mage-dired-toggle-append-browsing|mage-dired-toggle-dired-display-properties|mage-dired-toggle-mark-thumb-original-file|mage-dired-toggle-movement-tracking|mage-dired-track-original-file|mage-dired-track-thumbnail|mage-dired-unmark-thumb-original-file|mage-dired-update-property|mage-dired-window-height-pixels|mage-dired-window-width-pixels|mage-dired-write-comments|mage-dired-write-tags|mage-dired|mage-display-size|mage-eob|mage-eol|mage-extension-data|mage-file-call-underlying|mage-file-handler|mage-file-name-regexp|mage-file-yank-handler|mage-forward-hscroll|mage-get-display-property|mage-goto-frame|mage-increase-speed|mage-jpeg-p|mage-metadata|mage-minor-mode|mage-mode--images-in-directory|mage-mode-as-text|mage-mode-fit-frame|mage-mode-maybe|mage-mode-menu|mage-mode-reapply-winprops|mage-mode-setup-winprops|mage-mode-window-get|mage-mode-window-put|mage-mode-winprops|mage-mode|mage-next-file|mage-next-frame|mage-next-line|mage-previous-file|mage-previous-frame|mage-previous-line|mage-refresh|mage-reset-speed|mage-reverse-speed|mage-scroll-down|mage-scroll-up|mage-search-load-path|mage-set-window-hscroll|mage-set-window-vscroll|mage-toggle-animation|mage-toggle-display-image|mage-toggle-display-text|mage-toggle-display|mage-transform-check-size|mage-transform-fit-to-height|mage-transform-fit-to-width|mage-transform-fit-width|mage-transform-properties|mage-transform-reset|mage-transform-set-rotation|mage-transform-set-scale|mage-transform-width|mage-type-auto-detected-p|mage-type-from-buffer|mage-type-from-data|mage-type-from-file-header|mage-type-from-file-name|mage-type|magemagick-filter-types|magemagick-register-types|map-add-callback|map-anonymous-auth|map-anonymous-p|map-arrival-filter|map-authenticate|map-body-lines|map-capability|map-close|map-cram-md5-auth|map-cram-md5-p|map-current-mailbox-p-1|map-current-mailbox-p|map-current-mailbox|map-current-message|map-digest-md5-auth|map-digest-md5-p|map-disable-multibyte|map-envelope-from|map-error-text|map-fetch-asynch|map-fetch-safe|map-fetch|map-find-next-line|map-forward|map-gssapi-auth-p|map-gssapi-auth|map-gssapi-open|map-gssapi-stream-p|map-id|map-interactive-login|map-kerberos4-auth-p|map-kerberos4-auth|map-kerberos4-open|map-kerberos4-stream-p|map-list-to-message-set|map-log|map-login-auth|map-login-p|map-logout-wait|map-logout|map-mailbox-acl-delete|map-mailbox-acl-get|map-mailbox-acl-set|map-mailbox-close|map-mailbox-create-1|map-mailbox-create|map-mailbox-delete|map-mailbox-examine-1|map-mailbox-examine|map-mailbox-expunge|map-mailbox-get-1|map-mailbox-get|map-mailbox-list|map-mailbox-lsub|map-mailbox-map-1|map-mailbox-map|map-mailbox-put|map-mailbox-rename|map-mailbox-select-1|map-mailbox-select|map-mailbox-status-asynch|map-mailbox-status|map-mailbox-subscribe|map-mailbox-unselect|map-mailbox-unsubscribe|map-message-append|map-message-appenduid-1|map-message-appenduid|map-message-body|map-message-copy|map-message-copyuid-1|map-message-copyuid|map-message-envelope-bcc|map-message-envelope-cc|map-message-envelope-date|map-message-envelope-from|map-message-envelope-in-reply-to|map-message-envelope-message-id|map-message-envelope-reply-to|map-message-envelope-sender|map-message-envelope-subject|map-message-envelope-to|map-message-flag-permanent-p|map-message-flags-add|map-message-flags-del|map-message-flags-set|map-message-get|map-message-map|map-message-put|map-namespace|map-network-open|map-network-p|map-ok-p|map-open-1|map-open|map-opened|map-parse-acl|map-parse-address-list|map-parse-address|map-parse-astring|map-parse-body-ext)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)i(?:map-parse-body-extension|map-parse-body|map-parse-data-list|map-parse-envelope|map-parse-fetch-body-section|map-parse-fetch|map-parse-flag-list|map-parse-greeting|map-parse-header-list|map-parse-literal|map-parse-mailbox|map-parse-nil|map-parse-nstring|map-parse-number|map-parse-resp-text-code|map-parse-resp-text|map-parse-response|map-parse-status|map-parse-string-list|map-parse-string|map-ping-server|map-quote-specials|map-range-to-message-set|map-remassoc|map-sasl-auth-p|map-sasl-auth|map-sasl-make-mechanisms|map-search|map-send-command-1|map-send-command-wait|map-send-command|map-sentinel|map-shell-open|map-shell-p|map-ssl-open|map-ssl-p|map-starttls-open|map-starttls-p|map-string-to-integer|map-tls-open|map-tls-p|map-utf7-decode|map-utf7-encode|map-wait-for-tag|menu--cleanup|menu--completion-buffer|menu--create-keymap|menu--generic-function|menu--in-alist|menu--make-index-alist|menu--menubar-select|menu--mouse-menu|menu--relative-position|menu--sort-by-name|menu--sort-by-position|menu--split-menu|menu--split-submenus|menu--split|menu--subalist-p|menu--truncate-items|menu-add-menubar-index|menu-choose-buffer-index|menu-default-create-index-function|menu-default-goto-function|menu-example--create-c-index|menu-example--create-lisp-index|menu-example--lisp-extract-index-name|menu-example--name-and-position|menu-find-default|menu-progress-message|menu-update-menubar|menu|n-is13194-post-read-conversion|n-is13194-pre-write-conversion|n-string-p|nactivate-input-method|ncf|ncrease-left-margin|ncrease-right-margin|ncrement-register|ndent-accumulate-tab-stops|ndent-for-comment|ndent-icon-exp|ndent-line-to|ndent-new-comment-line|ndent-next-tab-stop|ndent-perl-exp|ndent-pp-sexp|ndent-rigidly--current-indentation|ndent-rigidly--pop-undo|ndent-rigidly-left-to-tab-stop|ndent-rigidly-left|ndent-rigidly-right-to-tab-stop|ndent-rigidly-right|ndent-sexp|ndent-tcl-exp|ndent-to-column|ndented-text-mode|ndian-2-column-to-ucs-region|ndian-compose-regexp|ndian-compose-region|ndian-compose-string|ndicate-copied-region|nferior-lisp-install-letter-bindings|nferior-lisp-menu|nferior-lisp-mode|nferior-lisp-proc|nferior-lisp|nferior-octave-check-process|nferior-octave-complete|nferior-octave-completion-at-point|nferior-octave-completion-table|nferior-octave-directory-tracker|nferior-octave-dynamic-list-input-ring|nferior-octave-mode|nferior-octave-output-digest|nferior-octave-process-live-p|nferior-octave-resync-dirs|nferior-octave-send-list-and-digest|nferior-octave-startup|nferior-octave-track-window-width-change|nferior-octave|nferior-python-mode|nferior-scheme-mode|nferior-tcl-mode|nferior-tcl-proc|nferior-tcl|nfo--manual-names|nfo--prettify-description|nfo-apropos|nfo-complete-file|nfo-complete-symbol|nfo-complete|nfo-display-manual|nfo-emacs-bug|nfo-emacs-manual|nfo-file-exists-p|nfo-finder|nfo-initialize|nfo-insert-file-contents-1|nfo-insert-file-contents|nfo-lookup->all-modes|nfo-lookup->cache|nfo-lookup->completions|nfo-lookup->doc-spec|nfo-lookup->ignore-case|nfo-lookup->initialized|nfo-lookup->mode-cache|nfo-lookup->mode-value|nfo-lookup->other-modes|nfo-lookup->parse-rule|nfo-lookup->refer-modes|nfo-lookup->regexp|nfo-lookup->topic-cache|nfo-lookup->topic-value|nfo-lookup-add-help\\\\\\\\*?|nfo-lookup-change-mode|nfo-lookup-completions-at-point|nfo-lookup-file|nfo-lookup-guess-c-symbol|nfo-lookup-guess-custom-symbol|nfo-lookup-guess-default\\\\\\\\*?|nfo-lookup-interactive-arguments|nfo-lookup-make-completions|nfo-lookup-maybe-add-help|nfo-lookup-quick-all-modes|nfo-lookup-reset|nfo-lookup-select-mode|nfo-lookup-setup-mode|nfo-lookup-symbol|nfo-lookup|nfo-other-window|nfo-setup|nfo-standalone|nfo-xref-all-info-files|nfo-xref-check-all-custom|nfo-xref-check-all|nfo-xref-check-buffer|nfo-xref-check-list|nfo-xref-check-node|nfo-xref-check|nfo-xref-docstrings|nfo-xref-goto-node-p|nfo-xref-lock-file-p|nfo-xref-output-error|nfo-xref-output|nfo-xref-subfile-p|nfo-xref-with-file|nfo-xref-with-output|nfo|nhibit-local-variables-p|nit-image-library|nitialize-completions|nitialize-instance|nitialize-new-tags-table|nline|nsert-abbrevs|nsert-byte|nsert-directory-adj-pos|nsert-directory-safely|nsert-file-1|nsert-file-literally|nsert-file|nsert-for-yank-1|nsert-image-file|nsert-kbd-macro|nsert-pair|nsert-parentheses|nsert-rectangle|nsert-string|nsert-tab|nt-to-string|nteractive-completion-string-reader|nteractive-p|ntern-safe|nternal--after-save-selected-window|nternal--after-with-selected-window|nternal--before-save-selected-window|nternal--before-with-selected-window|nternal--build-binding-value-form|nternal--build-bindings??|nternal--check-binding|nternal--listify|nternal--thread-argument|nternal--track-mouse|nternal-ange-ftp-mode|nternal-char-font|nternal-complete-buffer-except|nternal-complete-buffer|nternal-copy-lisp-face|nternal-default-process-filter|nternal-default-process-sentinel|nternal-describe-syntax-value|nternal-event-symbol-parse-modifiers|nternal-face-x-get-resource|nternal-get-lisp-face-attribute|nternal-lisp-face-attribute-values|nternal-lisp-face-empty-p|nternal-lisp-face-equal-p|nternal-lisp-face-p|nternal-macroexpand-for-load|nternal-make-lisp-face|nternal-make-var-non-special|nternal-merge-in-global-face|nternal-pop-keymap|nternal-push-keymap|nternal-set-alternative-font-family-alist|nternal-set-alternative-font-registry-alist|nternal-set-font-selection-order|nternal-set-lisp-face-attribute-from-resource|nternal-set-lisp-face-attribute|nternal-show-cursor-p|nternal-show-cursor|nternal-temp-output-buffer-show|nternal-timer-start-idle|ntersection|nverse-add-abbrev|nverse-add-global-abbrev|nverse-add-mode-abbrev|nversion-<|nversion-=|nversion-add-to-load-path|nversion-check-version|nversion-decode-version|nversion-download-package-ask|nversion-find-version|nversion-locate-package-files-and-split|nversion-locate-package-files|nversion-package-incompatibility-version|nversion-package-version|nversion-recode|nversion-release-to-number|nversion-require-emacs|nversion-require|nversion-reverse-test|nversion-test|pconfig|rc|sInNet|sPlainHostName|sResolvable|search--get-state|search--set-state|search--state-barrier--cmacro|search--state-barrier|search--state-case-fold-search--cmacro|search--state-case-fold-search|search--state-error--cmacro|search--state-error|search--state-forward--cmacro|search--state-forward|search--state-message--cmacro|search--state-message|search--state-other-end--cmacro|search--state-other-end|search--state-p--cmacro|search--state-p|search--state-point--cmacro|search--state-point|search--state-pop-fun--cmacro|search--state-pop-fun|search--state-string--cmacro|search--state-string|search--state-success--cmacro|search--state-success|search--state-word--cmacro|search--state-word|search--state-wrapped--cmacro|search--state-wrapped|search-abort|search-back-into-window|search-backslash|search-backward-regexp|search-backward|search-cancel|search-char-by-name|search-clean-overlays|search-close-unnecessary-overlays|search-complete-edit|search-complete1??|search-dehighlight|search-del-char|search-delete-char|search-describe-bindings|search-describe-key|search-describe-mode|search-done|search-edit-string|search-exit|search-fail-pos|search-fallback|search-filter-visible|search-forward-exit-minibuffer|search-forward-regexp|search-forward-symbol-at-point|search-forward-symbol|search-forward-word|search-forward|search-help-for-help-internal-doc|search-help-for-help-internal|search-help-for-help|search-highlight-regexp|search-highlight|search-intersects-p|search-lazy-highlight-cleanup|search-lazy-highlight-new-loop|search-lazy-highlight-search|search-lazy-highlight-update|search-message-prefix|search-message-suffix|search-message|search-mode-help|search-mode|search-mouse-2|search-no-upper-case-p|search-nonincremental-exit-minibuffer|search-occur|search-open-necessary-overlays|search-open-overlay-temporary|search-pop-state|search-post-command-hook|search-pre-command-hook|search-printing-char|search-process-search-char|search-process-search-multibyte-characters|search-process-search-string|search-push-state|search-query-replace-regexp|search-query-replace|search-quote-char|search-range-invisible|search-repeat-backward|search-repeat-forward|search-repeat|search-resume|search-reverse-exit-minibuffer|search-ring-adjust1??|search-ring-advance|search-ring-retreat|search-search-and-update|search-search-fun-default|search-search-fun|search-search-string|search-search|search-string-out-of-window|search-symbol-regexp|search-text-char-description|search-toggle-case-fold|search-toggle-input-method|search-toggle-invisible|search-toggle-lax-whitespace|search-toggle-regexp|search-toggle-specified-input-method|search-toggle-symbol|search-toggle-word|search-unread|search-update-ring|search-update|search-yank-char-in-minibuffer|search-yank-char|search-yank-internal|search-yank-kill|search-yank-line|search-yank-pop|search-yank-string|search-yank-word-or-char|search-yank-word|search-yank-x-selection|searchb-activate|searchb-follow-char|searchb-iswitchb|searchb-set-keybindings|searchb-stop|searchb|so-charset|so-cvt-define-menu|so-cvt-read-only|so-cvt-write-only|so-german|so-gtex2iso|so-iso2duden|so-iso2gtex|so-iso2sgml|so-iso2tex|so-sgml2iso|so-spanish|so-tex2iso|so-transl-ctl-x-8-map|spell-accept-buffer-local-defs|spell-accept-output|spell-add-per-file-word-list|spell-aspell-add-aliases|spell-aspell-find-dictionary|spell-begin-skip-region-regexp|spell-begin-skip-region|spell-begin-tex-skip-regexp|spell-buffer-local-dict|spell-buffer-local-parsing|spell-buffer-local-words|spell-buffer-with-debug|spell-buffer|spell-call-process-region|spell-call-process|spell-change-dictionary|spell-check-minver|spell-check-version|spell-command-loop|spell-comments-and-strings|spell-complete-word-interior-frag|spell-complete-word|spell-continue|spell-create-debug-buffer|spell-decode-string|spell-display-buffer|spell-filter|spell-find-aspell-dictionaries|spell-find-hunspell-dictionaries|spell-get-aspell-config-value|spell-get-casechars|spell-get-coding-system|spell-get-decoded-string|spell-get-extended-character-mode|spell-get-ispell-args|spell-get-line|spell-get-many-otherchars-p|spell-get-not-casechars|spell-get-otherchars|spell-get-word|spell-help|spell-highlight-spelling-error-generic|spell-highlight-spelling-error-overlay|spell-highlight-spelling-error-xemacs|spell-highlight-spelling-error|spell-horiz-scroll|spell-hunspell-fill-dictionary-entry|spell-ignore-fcc|spell-init-process|spell-int-char|spell-internal-change-dictionary|spell-kill-ispell|spell-looking-at|spell-looking-back|spell-lookup-words|spell-menu-map|spell-message|spell-mime-multipartp|spell-mime-skip-part|spell-minor-check|spell-minor-mode|spell-non-empty-string|spell-parse-hunspell-affix-file|spell-parse-output|spell-pdict-save|spell-print-if-debug|spell-process-line|spell-process-status|spell-region|spell-send-replacement|spell-send-string|spell-set-spellchecker-params|spell-show-choices|spell-skip-region-list|spell-skip-region|spell-start-process|spell-tex-arg-end|spell-valid-dictionary-list|spell-with-no-warnings|spell-word|spell|sqrt|switchb-buffer-other-frame|switchb-buffer-other-window|switchb-buffer|switchb-case|switchb-chop|switchb-complete|switchb-completion-help|switchb-completions|switchb-display-buffer|switchb-entryfn-p|switchb-exhibit|switchb-existing-buffer-p|switchb-exit-minibuffer|switchb-find-common-substring|switchb-find-file|switchb-get-buffers-in-frames|switchb-get-bufname|switchb-get-matched-buffers|switchb-ignore-buffername-p|switchb-init-XEmacs-trick|switchb-kill-buffer|switchb-make-buflist|switchb-makealist|switchb-minibuffer-setup|switchb-mode|switchb-next-match|switchb-output-completion|switchb-possible-new-buffer)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:iswitchb-post-command|iswitchb-pre-command|iswitchb-prev-match|iswitchb-read-buffer|iswitchb-rotate-list|iswitchb-select-buffer-text|iswitchb-set-common-completion|iswitchb-set-matches|iswitchb-summaries-to-end|iswitchb-tidy|iswitchb-to-end|iswitchb-toggle-case|iswitchb-toggle-ignore|iswitchb-toggle-regexp|iswitchb-visit-buffer|iswitchb-window-buffer-p|iswitchb-word-matching-substring|iswitchb-xemacs-backspacekey|iswitchb|iwconfig|japanese-hankaku-region|japanese-hankaku|japanese-hiragana-region|japanese-hiragana|japanese-katakana-region|japanese-katakana|japanese-zenkaku-region|japanese-zenkaku|java-font-lock-keywords-2|java-font-lock-keywords-3|java-font-lock-keywords|java-mode|javascript-mode|jdb|jit-lock--debug-fontify|jit-lock-after-change|jit-lock-context-fontify|jit-lock-debug-mode|jit-lock-deferred-fontify|jit-lock-fontify-now|jit-lock-force-redisplay|jit-lock-function|jit-lock-mode|jit-lock-refontify|jit-lock-stealth-chunk-start|jit-lock-stealth-fontify|jka-compr-build-file-regexp|jka-compr-byte-compiler-base-file-name|jka-compr-call-process|jka-compr-error|jka-compr-file-local-copy|jka-compr-get-compression-info|jka-compr-handler|jka-compr-info-can-append|jka-compr-info-compress-args|jka-compr-info-compress-message|jka-compr-info-compress-program|jka-compr-info-file-magic-bytes|jka-compr-info-regexp|jka-compr-info-strip-extension|jka-compr-info-uncompress-args|jka-compr-info-uncompress-message|jka-compr-info-uncompress-program|jka-compr-insert-file-contents|jka-compr-install|jka-compr-installed-p|jka-compr-load|jka-compr-make-temp-name|jka-compr-partial-uncompress|jka-compr-run-real-handler|jka-compr-set|jka-compr-uninstall|jka-compr-update|jka-compr-write-region|join-line|js--array-comp-indentation|js--backward-pstate|js--backward-syntactic-ws|js--backward-text-property|js--beginning-of-defun-flat|js--beginning-of-defun-nested|js--beginning-of-defun-raw|js--beginning-of-macro|js--class-decl-matcher|js--clear-stale-cache|js--continued-expression-p|js--ctrl-statement-indentation|js--debug|js--end-of-defun-flat|js--end-of-defun-nested|js--end-of-do-while-loop-p|js--ensure-cache--pop-if-ended|js--ensure-cache--update-parse|js--ensure-cache|js--flatten-list|js--flush-caches|js--forward-destructuring-spec|js--forward-expression|js--forward-function-decl|js--forward-pstate|js--forward-syntactic-ws|js--forward-text-property|js--function-prologue-beginning|js--get-all-known-symbols|js--get-c-offset|js--get-js-context|js--get-tabs|js--guess-eval-defun-info|js--guess-function-name|js--guess-symbol-at-point|js--imenu-create-index|js--imenu-to-flat|js--indent-in-array-comp|js--inside-dojo-class-list-p|js--inside-param-list-p|js--inside-pitem-p|js--js-add-resource-alias|js--js-content-window|js--js-create-instance|js--js-decode-retval|js--js-encode-value|js--js-enter-repl|js--js-eval|js--js-funcall|js--js-get-service|js--js-get|js--js-handle-expired-p|js--js-handle-id--cmacro|js--js-handle-id|js--js-handle-p--cmacro|js--js-handle-p|js--js-handle-process--cmacro|js--js-handle-process|js--js-leave-repl|js--js-list|js--js-new|js--js-not|js--js-put|js--js-qi|js--js-true|js--js-wait-for-eval-prompt|js--looking-at-operator-p|js--make-framework-matcher|js--make-merged-item|js--make-nsilocalfile|js--maybe-join|js--maybe-make-marker|js--multi-line-declaration-indentation|js--optimize-arglist|js--parse-state-at-point|js--pitem-add-child|js--pitem-b-end--cmacro|js--pitem-b-end|js--pitem-children--cmacro|js--pitem-children|js--pitem-format|js--pitem-goto-h-end|js--pitem-h-begin--cmacro|js--pitem-h-begin|js--pitem-name--cmacro|js--pitem-name|js--pitem-paren-depth--cmacro|js--pitem-paren-depth|js--pitem-strname|js--pitem-type--cmacro|js--pitem-type|js--pitems-to-imenu|js--proper-indentation|js--pstate-is-toplevel-defun|js--re-search-backward-inner|js--re-search-backward|js--re-search-forward-inner|js--re-search-forward|js--read-symbol|js--read-tab|js--regexp-opt-symbol|js--same-line|js--show-cache-at-point|js--splice-into-items|js--split-name|js--syntactic-context-from-pstate|js--syntax-begin-function|js--up-nearby-list|js--update-quick-match-re|js--variable-decl-matcher|js--wait-for-matching-output|js--which-func-joiner|js-beginning-of-defun|js-c-fill-paragraph|js-end-of-defun|js-eval-defun|js-eval|js-find-symbol|js-gc|js-indent-line|js-mode|js-set-js-context|js-syntactic-context|js-syntax-propertize-regexp|js-syntax-propertize|json--with-indentation|json-add-to-object|json-advance|json-alist-p|json-decode-char0|json-encode-alist|json-encode-array|json-encode-char0??|json-encode-hash-table|json-encode-key|json-encode-keyword|json-encode-list|json-encode-number|json-encode-plist|json-encode-string|json-encode|json-join|json-new-object|json-peek|json-plist-p|json-pop|json-pretty-print-buffer|json-pretty-print|json-read-array|json-read-escaped-char|json-read-file|json-read-from-string|json-read-keyword|json-read-number|json-read-object|json-read-string|json-read|json-skip-whitespace|jump-to-register|kbd-macro-query|keep-lines-read-args|keep-lines|kermit-clean-filter|kermit-clean-off|kermit-clean-on|kermit-default-cr|kermit-default-nl|kermit-esc|kermit-send-char|kermit-send-input-cr|keyboard-escape-quit|keymap--menu-item-binding|keymap--menu-item-with-binding|keymap--merge-bindings|keymap-canonicalize|keypad-setup|kill-all-abbrevs|kill-backward-chars|kill-backward-up-list|kill-buffer-and-window|kill-buffer-ask|kill-buffer-if-not-modified|kill-comment|kill-compilation|kill-completion|kill-emacs-save-completions|kill-find|kill-forward-chars|kill-grep|kill-line|kill-matching-buffers|kill-paragraph|kill-rectangle|kill-ring-save|kill-sentence|kill-sexp|kill-some-buffers|kill-this-buffer-enabled-p|kill-this-buffer|kill-visual-line|kill-whole-line|kill-word|kinsoku-longer|kinsoku-shorter|kinsoku|kkc-region|kmacro-add-counter|kmacro-bind-to-key|kmacro-call-macro|kmacro-call-ring-2nd-repeat|kmacro-call-ring-2nd|kmacro-cycle-ring-next|kmacro-cycle-ring-previous|kmacro-delete-ring-head|kmacro-display-counter|kmacro-display|kmacro-edit-lossage|kmacro-edit-macro-repeat|kmacro-edit-macro|kmacro-end-and-call-macro|kmacro-end-call-mouse|kmacro-end-macro|kmacro-end-or-call-macro-repeat|kmacro-end-or-call-macro|kmacro-exec-ring-item|kmacro-execute-from-register|kmacro-extract-lambda|kmacro-get-repeat-prefix|kmacro-insert-counter|kmacro-keyboard-quit|kmacro-lambda-form|kmacro-loop-setup-function|kmacro-name-last-macro|kmacro-pop-ring1??|kmacro-push-ring|kmacro-repeat-on-last-key|kmacro-ring-empty-p|kmacro-ring-head|kmacro-set-counter|kmacro-set-format|kmacro-split-ring-element|kmacro-start-macro-or-insert-counter|kmacro-start-macro|kmacro-step-edit-insert|kmacro-step-edit-macro|kmacro-step-edit-minibuf-setup|kmacro-step-edit-post-command|kmacro-step-edit-pre-command|kmacro-step-edit-prompt|kmacro-step-edit-query|kmacro-swap-ring|kmacro-to-register|kmacro-view-macro-repeat|kmacro-view-macro|kmacro-view-ring-2nd|lambda|landmark--distance|landmark--intangible|landmark-amble-robot|landmark-beginning-of-line|landmark-blackbox|landmark-calc-confidences|landmark-calc-current-smells|landmark-calc-distance-of-robot-from|landmark-calc-payoff|landmark-calc-smell-internal|landmark-check-filled-qtuple|landmark-click|landmark-confidence-for|landmark-crash-game|landmark-cross-qtuple|landmark-display-statistics|landmark-emacs-plays|landmark-end-of-line|landmark-f|landmark-find-filled-qtuple|landmark-fix-weights-for|landmark-flip-a-coin|landmark-goto-square|landmark-goto-xy|landmark-human-plays|landmark-human-resigns|landmark-human-takes-back|landmark-index-to-x|landmark-index-to-y|landmark-init-board|landmark-init-display|landmark-init-score-table|landmark-init-square-score|landmark-init|landmark-max-height|landmark-max-width|landmark-mode|landmark-mouse-play|landmark-move-down|landmark-move-ne|landmark-move-nw|landmark-move-se|landmark-move-sw|landmark-move-up|landmark-move|landmark-nb-qtuples|landmark-noise|landmark-nslify-wts-int|landmark-nslify-wts|landmark-offer-a-draw|landmark-play-move|landmark-plot-internal|landmark-plot-landmarks|landmark-plot-square|landmark-point-square|landmark-point-y|landmark-print-distance-int|landmark-print-distance|landmark-print-moves|landmark-print-smell-int|landmark-print-smell|landmark-print-w0-int|landmark-print-w0|landmark-print-wts-blackbox|landmark-print-wts-int|landmark-print-wts|landmark-print-y-s-noise-int|landmark-print-y-s-noise|landmark-prompt-for-move|landmark-prompt-for-other-game|landmark-random-move|landmark-randomize-weights-for|landmark-repeat|landmark-set-landmark-signal-strengths|landmark-start-game|landmark-start-robot|landmark-store-old-y_t|landmark-strongest-square|landmark-switch-to-window|landmark-take-back|landmark-terminate-game|landmark-test-run|landmark-update-naught-weights|landmark-update-normal-weights|landmark-update-score-in-direction|landmark-update-score-table|landmark-weights-debug|landmark-xy-to-index|landmark-y|landmark|lao-compose-region|lao-compose-string|lao-composition-function|lao-transcribe-roman-to-lao-string|lao-transcribe-single-roman-syllable-to-lao|last-nonminibuffer-frame|last-sexp-setup-props|latex-backward-sexp-1|latex-close-block|latex-complete-bibtex-keys|latex-complete-data|latex-complete-envnames|latex-complete-refkeys|latex-down-list|latex-electric-env-pair-mode|latex-env-before-change|latex-fill-nobreak-predicate|latex-find-indent|latex-forward-sexp-1|latex-forward-sexp|latex-imenu-create-index|latex-indent|latex-insert-block|latex-insert-item|latex-mode|latex-outline-level|latex-skip-close-parens|latex-split-block|latex-string-prefix-p|latex-syntax-after|latexenc-coding-system-to-inputenc|latexenc-find-file-coding-system|latexenc-inputenc-to-coding-system|latin1-display|lazy-highlight-cleanup|lcm|ld-script-mode|ldap-decode-address|ldap-decode-attribute|ldap-decode-boolean|ldap-decode-string|ldap-encode-address|ldap-encode-boolean|ldap-encode-country-string|ldap-encode-string|ldap-get-host-parameter|ldap-search-internal|ldap-search|ldiff|led-flash|led-off|led-on|led-update|left-char|left-word|let-alist--access-sexp|let-alist--deep-dot-search|let-alist--list-to-sexp|let-alist--remove-dot|let-alist|letf\\\\\\\\*?|letrec|lglyph-adjustment|lglyph-ascent|lglyph-char|lglyph-code|lglyph-copy|lglyph-descent|lglyph-from|lglyph-lbearing|lglyph-rbearing|lglyph-set-adjustment|lglyph-set-char|lglyph-set-code|lglyph-set-from-to|lglyph-set-width|lglyph-to|lglyph-width|lgrep|lgstring-char-len|lgstring-char|lgstring-font|lgstring-glyph-len|lgstring-glyph|lgstring-header|lgstring-insert-glyph|lgstring-set-glyph|lgstring-set-header|lgstring-set-id|lgstring-shaped-p|life-birth-char|life-birth-string|life-compute-neighbor-deltas|life-death-char|life-death-string|life-display-generation|life-expand-plane-if-needed|life-extinct-quit|life-grim-reaper|life-increment-generation|life-increment|life-insert-random-pattern|life-life-char|life-life-string|life-mode|life-not-void-regexp|life-setup|life-void-char|life-void-string|life|limit-index|line-move-1|line-move-finish|line-move-partial|line-move-to-column|line-move-visual|line-move|line-number-mode|line-pixel-height|line-substring-with-bidi-context|linum--face-width|linum-after-change|linum-after-scroll|linum-delete-overlays|linum-mode-set-explicitly|linum-mode|linum-on|linum-schedule|linum-unload-function|linum-update-current|linum-update-window|linum-update|lisp--match-hidden-arg|lisp-comment-indent|lisp-compile-defun-and-go|lisp-compile-defun|lisp-compile-file|lisp-compile-region-and-go|lisp-compile-region|lisp-compile-string|lisp-complete-symbol|lisp-completion-at-point|lisp-current-defun-name|lisp-describe-sym|lisp-do-defun|lisp-eval-defun-and-go|lisp-eval-defun|lisp-eval-form-and-next|lisp-eval-last-sexp|lisp-eval-paragraph|lisp-eval-region-and-go|lisp-eval-region|lisp-eval-string|lisp-fill-paragraph|lisp-find-tag-default|lisp-fn-called-at-pt|lisp-font-lock-syntactic-face-function|lisp-get-old-input|lisp-indent-defform|lisp-indent-function|lisp-indent-line|lisp-indent-specform|lisp-input-filter|lisp-interaction-mode|lisp-load-file|lisp-mode-auto-fill|lisp-mode-variables|lisp-mode|lisp-outline-level|lisp-show-arglist|lisp-show-function-documentation|lisp-show-variable-documentation|lisp-string-after-doc-keyword-p|lisp-string-in-doc-position-p)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:lisp-symprompt|lisp-var-at-pt|list\\\\\\\\*|list-abbrevs|list-all-completions-1|list-all-completions-by-hash-bucket-1|list-all-completions-by-hash-bucket|list-all-completions|list-at-point|list-bookmarks|list-buffers--refresh|list-buffers-noselect|list-buffers|list-character-sets|list-coding-categories|list-coding-systems|list-colors-display|list-colors-duplicates|list-colors-print|list-colors-redisplay|list-colors-sort-key|list-command-history|list-directory|list-dynamic-libraries|list-faces-display|list-fontsets|list-holidays|list-input-methods|list-length|list-matching-lines|list-packages|list-processes--refresh|list-registers|list-tags|lm-adapted-by|lm-authors|lm-code-mark|lm-code-start|lm-commentary-end|lm-commentary-mark|lm-commentary-start|lm-commentary|lm-copyright-mark|lm-crack-address|lm-crack-copyright|lm-creation-date|lm-get-header-re|lm-get-package-name|lm-header-multiline|lm-header|lm-history-mark|lm-history-start|lm-homepage|lm-insert-at-column|lm-keywords-finder-p|lm-keywords-list|lm-keywords|lm-last-modified-date|lm-maintainer|lm-report-bug|lm-section-end|lm-section-mark|lm-section-start|lm-summary|lm-synopsis|lm-verify|lm-version|lm-with-file|load-completions-from-file|load-history-filename-element|load-history-regexp|load-path-shadows-find|load-path-shadows-mode|load-path-shadows-same-file-or-nonexistent|load-save-place-alist-from-file|load-time-value|load-with-code-conversion|local-clear-scheme-interaction-buffer|local-set-scheme-interaction-buffer|locale-charset-match-p|locale-charset-to-coding-system|locale-name-match|locale-translate|locally|locate-completion-db-error|locate-completion-entry-retry|locate-completion-entry|locate-current-line-number|locate-default-make-command-line|locate-do-redisplay|locate-do-setup|locate-dominating-file|locate-file-completion-table|locate-file-completion|locate-file-internal|locate-filter-output|locate-find-directory-other-window|locate-find-directory|locate-get-dirname|locate-get-file-positions|locate-get-filename|locate-in-alternate-database|locate-insert-header|locate-main-listing-line-p|locate-mode|locate-mouse-view-file|locate-prompt-for-search-string|locate-set-properties|locate-tags|locate-update|locate-with-filter|locate-word-at-point|locate|log-edit--match-first-line|log-edit-add-field|log-edit-add-to-changelog|log-edit-beginning-of-line|log-edit-changelog-entries|log-edit-changelog-entry|log-edit-changelog-insert-entries|log-edit-changelog-ours-p|log-edit-changelog-paragraph|log-edit-changelog-subparagraph|log-edit-comment-search-backward|log-edit-comment-search-forward|log-edit-comment-to-change-log|log-edit-done|log-edit-empty-buffer-p|log-edit-extract-headers|log-edit-files|log-edit-font-lock-keywords|log-edit-goto-eoh|log-edit-hide-buf|log-edit-insert-changelog-entries|log-edit-insert-changelog|log-edit-insert-cvs-rcstemplate|log-edit-insert-cvs-template|log-edit-insert-filenames-without-changelog|log-edit-insert-filenames|log-edit-insert-message-template|log-edit-kill-buffer|log-edit-match-to-eoh|log-edit-menu|log-edit-mode-help|log-edit-mode|log-edit-narrow-changelog|log-edit-new-comment-index|log-edit-next-comment|log-edit-previous-comment|log-edit-remember-comment|log-edit-set-common-indentation|log-edit-set-header|log-edit-show-diff|log-edit-show-files|log-edit-toggle-header|log-edit|log-view-annotate-version|log-view-beginning-of-defun|log-view-current-entry|log-view-current-file|log-view-current-tag|log-view-diff-changeset|log-view-diff-common|log-view-diff|log-view-end-of-defun-1|log-view-end-of-defun|log-view-extract-comment|log-view-file-next|log-view-file-prev|log-view-find-revision|log-view-get-marked|log-view-goto-rev|log-view-inside-comment-p|log-view-minor-wrap|log-view-mode-menu|log-view-mode|log-view-modify-change-comment|log-view-msg-next|log-view-msg-prev|log-view-toggle-entry-display|log-view-toggle-mark-entry|log10|lookfor-dired|lookup-image-map|lookup-key-ignore-too-long|lookup-minor-mode-from-indicator|lookup-nested-alist|lookup-words|loop|lpr-buffer|lpr-customize|lpr-eval-switch|lpr-flatten-list-1|lpr-flatten-list|lpr-print-region|lpr-region|lpr-setup|lunar-phases|m2-begin-comment|m2-begin|m2-case|m2-compile|m2-definition|m2-else|m2-end-comment|m2-execute-monitor-command|m2-export|m2-for|m2-header|m2-if|m2-import|m2-link|m2-loop|m2-mode|m2-module|m2-or|m2-procedure|m2-record|m2-smie-backward-token|m2-smie-forward-token|m2-smie-refine-colon|m2-smie-refine-of|m2-smie-refine-semi|m2-smie-rules|m2-stdio|m2-toggle|m2-type|m2-until|m2-var|m2-visit|m2-while|m2-with|m4--quoted-p|m4-current-defun-name|m4-m4-buffer|m4-m4-region|m4-mode|macro-declaration-function|macroexp--accumulate|macroexp--all-clauses|macroexp--all-forms|macroexp--backtrace|macroexp--compiler-macro|macroexp--compiling-p|macroexp--cons|macroexp--const-symbol-p|macroexp--expand-all|macroexp--funcall-if-compiled|macroexp--maxsize|macroexp--obsolete-warning|macroexp--trim-backtrace-frame|macroexp--warn-and-return|macroexp-const-p|macroexp-copyable-p|macroexp-if|macroexp-let\\\\\\\\*|macroexp-let2\\\\\\\\*?|macroexp-progn|macroexp-quote|macroexp-small-p|macroexp-unprogn|macroexpand-1|macrolet|mail-abbrev-complete-alias|mail-abbrev-end-of-buffer|mail-abbrev-expand-hook|mail-abbrev-expand-wrapper|mail-abbrev-in-expansion-header-p|mail-abbrev-insert-alias|mail-abbrev-make-syntax-table|mail-abbrev-next-line|mail-abbrevs-disable|mail-abbrevs-enable|mail-abbrevs-mode|mail-abbrevs-setup|mail-abbrevs-sync-aliases|mail-add-attachment|mail-add-payment-async|mail-add-payment|mail-attach-file|mail-bcc|mail-bury|mail-cc|mail-check-payment|mail-comma-list-regexp|mail-complete|mail-completion-at-point-function|mail-completion-expand|mail-content-type-get|mail-decode-encoded-address-region|mail-decode-encoded-address-string|mail-decode-encoded-word-region|mail-decode-encoded-word-string|mail-directory-process|mail-directory-stream|mail-directory|mail-do-fcc|mail-dont-reply-to|mail-dont-send|mail-encode-encoded-word-buffer|mail-encode-encoded-word-region|mail-encode-encoded-word-string|mail-encode-header|mail-envelope-from|mail-extract-address-components|mail-fcc|mail-fetch-field|mail-file-babyl-p|mail-fill-yanked-message|mail-get-names|mail-header-chars|mail-header-date|mail-header-encode-parameter|mail-header-end|mail-header-extra|mail-header-extract-no-properties|mail-header-extract|mail-header-field-value|mail-header-fold-field|mail-header-format|mail-header-from|mail-header-get-comment|mail-header-id|mail-header-lines|mail-header-make-address|mail-header-merge|mail-header-message-id|mail-header-narrow-to-field|mail-header-number|mail-header-parse-address|mail-header-parse-addresses|mail-header-parse-content-disposition|mail-header-parse-content-type|mail-header-parse-date|mail-header-parse|mail-header-references|mail-header-remove-comments|mail-header-remove-whitespace|mail-header-set-chars|mail-header-set-date|mail-header-set-extra|mail-header-set-from|mail-header-set-id|mail-header-set-lines|mail-header-set-message-id|mail-header-set-number|mail-header-set-references|mail-header-set-subject|mail-header-set-xref|mail-header-set|mail-header-strip|mail-header-subject|mail-header-unfold-field|mail-header-xref|mail-header|mail-hist-define-keys|mail-hist-enable|mail-hist-put-headers-into-history|mail-indent-citation|mail-insert-file|mail-insert-from-field|mail-mail-followup-to|mail-mail-reply-to|mail-mbox-from|mail-mode-auto-fill|mail-mode-fill-paragraph|mail-mode-flyspell-verify|mail-mode|mail-narrow-to-head|mail-other-frame|mail-other-window|mail-parse-comma-list|mail-position-on-field|mail-quote-printable-region|mail-quote-printable|mail-quote-string|mail-recover-1|mail-recover|mail-reply-to|mail-resolve-all-aliases-1|mail-resolve-all-aliases|mail-rfc822-date|mail-rfc822-time-zone|mail-send-and-exit|mail-send|mail-sendmail-delimit-header|mail-sendmail-undelimit-header|mail-sent-via|mail-sentto-newsgroups|mail-setup|mail-signature|mail-split-line|mail-string-delete|mail-strip-quoted-names|mail-subject|mail-text-start|mail-text|mail-to|mail-unquote-printable-hexdigit|mail-unquote-printable-region|mail-unquote-printable|mail-yank-clear-headers|mail-yank-original|mail-yank-region|mail|mailcap-add-mailcap-entry|mailcap-add|mailcap-command-p|mailcap-delete-duplicates|mailcap-extension-to-mime|mailcap-file-default-commands|mailcap-mailcap-entry-passes-test|mailcap-maybe-eval|mailcap-mime-info|mailcap-mime-types|mailcap-parse-mailcap-extras|mailcap-parse-mailcaps??|mailcap-parse-mimetype-file|mailcap-parse-mimetypes|mailcap-possible-viewers|mailcap-replace-in-string|mailcap-replace-regexp|mailcap-save-binary-file|mailcap-unescape-mime-test|mailcap-view-mime|mailcap-viewer-lessp|mailcap-viewer-passes-test|mailclient-encode-string-as-url|mailclient-gather-addresses|mailclient-send-it|mailclient-url-delim|mairix-build-search-list|mairix-call-mairix|mairix-edit-saved-searches-customize|mairix-edit-saved-searches|mairix-gnus-ephemeral-nndoc|mairix-gnus-fetch-field|mairix-insert-search-line|mairix-next-search|mairix-previous-search|mairix-replace-invalid-chars|mairix-rmail-display|mairix-rmail-fetch-field|mairix-save-search|mairix-search-from-this-article|mairix-search-thread-this-article|mairix-search|mairix-searches-mode|mairix-select-delete|mairix-select-edit|mairix-select-quit|mairix-select-save|mairix-select-search|mairix-sentinel-mairix-update-finished|mairix-show-folder|mairix-update-database|mairix-use-saved-search|mairix-vm-display|mairix-vm-fetch-field|mairix-widget-add|mairix-widget-build-editable-fields|mairix-widget-create-query|mairix-widget-get-values|mairix-widget-make-query-from-widgets|mairix-widget-save-search|mairix-widget-search-based-on-article|mairix-widget-search|mairix-widget-send-query|mairix-widget-toggle-activate|make-backup-file-name--default-function|make-backup-file-name-1|make-char-internal|make-char|make-cmpl-prefix-entry|make-coding-system|make-comint-in-buffer|make-comint|make-command-summary|make-completion|make-directory-internal|make-doctor-variables|make-ebrowse-bs--cmacro|make-ebrowse-bs|make-ebrowse-cs--cmacro|make-ebrowse-cs|make-ebrowse-hs--cmacro|make-ebrowse-hs|make-ebrowse-ms--cmacro|make-ebrowse-ms|make-ebrowse-position--cmacro|make-ebrowse-position|make-ebrowse-ts--cmacro|make-ebrowse-ts|make-empty-face|make-erc-channel-user--cmacro|make-erc-channel-user|make-erc-response--cmacro|make-erc-response|make-erc-server-user--cmacro|make-erc-server-user|make-ert--ewoc-entry--cmacro|make-ert--ewoc-entry|make-ert--stats--cmacro|make-ert--stats|make-ert--test-execution-info--cmacro|make-ert--test-execution-info|make-ert-test--cmacro|make-ert-test-aborted-with-non-local-exit--cmacro|make-ert-test-aborted-with-non-local-exit|make-ert-test-failed--cmacro|make-ert-test-failed|make-ert-test-passed--cmacro|make-ert-test-passed|make-ert-test-quit--cmacro|make-ert-test-quit|make-ert-test-result--cmacro|make-ert-test-result-with-condition--cmacro|make-ert-test-result-with-condition|make-ert-test-result|make-ert-test-skipped--cmacro|make-ert-test-skipped|make-ert-test|make-face-bold-italic|make-face-bold|make-face-italic|make-face-unbold|make-face-unitalic|make-face-x-resource-internal|make-face|make-flyspell-overlay|make-frame-command|make-frame-names-alist|make-full-mail-header|make-gdb-handler--cmacro|make-gdb-handler|make-gdb-table--cmacro|make-gdb-table|make-hippie-expand-function|make-htmlize-fstruct--cmacro|make-htmlize-fstruct|make-initial-minibuffer-frame|make-instance|make-js--js-handle--cmacro|make-js--js-handle|make-js--pitem--cmacro|make-js--pitem|make-mail-header|make-mode-line-mouse-map|make-obsolete-overload|make-package--ac-desc--cmacro|make-package--ac-desc|make-package--bi-desc--cmacro|make-package--bi-desc|make-random-state|make-ses--locprn--cmacro|make-ses--locprn|make-sgml-tag--cmacro|make-sgml-tag|make-soap-array-type--cmacro|make-soap-array-type|make-soap-basic-type--cmacro|make-soap-basic-type|make-soap-binding--cmacro|make-soap-binding|make-soap-bound-operation--cmacro|make-soap-bound-operation|make-soap-element--cmacro|make-soap-element|make-soap-message--cmacro|make-soap-message|make-soap-namespace--cmacro|make-soap-namespace-link--cmacro|make-soap-namespace-link|make-soap-namespace|make-soap-operation--cmacro|make-soap-operation|make-soap-port--cmacro|make-soap-port-type--cmacro|make-soap-port-type)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)m(?:ake-soap-port|ake-soap-sequence-element--cmacro|ake-soap-sequence-element|ake-soap-sequence-type--cmacro|ake-soap-sequence-type|ake-soap-simple-type--cmacro|ake-soap-simple-type|ake-soap-wsdl--cmacro|ake-soap-wsdl|ake-tar-header--cmacro|ake-tar-header|ake-term|ake-terminal-frame|ake-url-queue--cmacro|ake-url-queue|ake-variable-frame-local|akefile-add-log-defun|akefile-append-backslash|akefile-automake-mode|akefile-backslash-region|akefile-browse|akefile-browser-fill|akefile-browser-format-macro-line|akefile-browser-format-target-line|akefile-browser-get-state-for-line|akefile-browser-insert-continuation|akefile-browser-insert-selection-and-quit|akefile-browser-insert-selection|akefile-browser-next-line|akefile-browser-on-macro-line-p|akefile-browser-previous-line|akefile-browser-quit|akefile-browser-send-this-line-item|akefile-browser-set-state-for-line|akefile-browser-start-interaction|akefile-browser-this-line-macro-name|akefile-browser-this-line-target-name|akefile-browser-toggle-state-for-line|akefile-browser-toggle|akefile-bsdmake-mode|akefile-cleanup-continuations|akefile-complete|akefile-completions-at-point|akefile-create-up-to-date-overview|akefile-delete-backslash|akefile-do-macro-insertion|akefile-electric-colon|akefile-electric-dot|akefile-electric-equal|akefile-fill-paragraph|akefile-first-line-p|akefile-format-macro-ref|akefile-forward-after-target-colon|akefile-generate-temporary-filename|akefile-gmake-mode|akefile-imake-mode|akefile-insert-gmake-function|akefile-insert-macro-ref|akefile-insert-macro|akefile-insert-special-target|akefile-insert-target-ref|akefile-insert-target|akefile-last-line-p|akefile-make-font-lock-keywords|akefile-makepp-mode|akefile-match-action|akefile-match-dependency|akefile-match-function-end|akefile-mode|akefile-next-dependency|akefile-pickup-everything|akefile-pickup-filenames-as-targets|akefile-pickup-macros|akefile-pickup-targets|akefile-previous-dependency|akefile-prompt-for-gmake-funargs|akefile-query-by-make-minus-q|akefile-query-targets|akefile-remember-macro|akefile-remember-target|akefile-save-temporary|akefile-switch-to-browser|akefile-warn-continuations|akefile-warn-suspicious-lines|akeinfo-buffer|akeinfo-compilation-sentinel-buffer|akeinfo-compilation-sentinel-region|akeinfo-compile|akeinfo-current-node|akeinfo-next-error|akeinfo-recenter-compilation-buffer|akeinfo-region|an-follow|an|antemp-insert-cxx-syntax|antemp-make-mantemps-buffer|antemp-make-mantemps-region|antemp-make-mantemps|antemp-remove-comments|antemp-remove-memfuncs|antemp-sort-and-unique-lines|anual-entry|ap-keymap-internal|ap-keymap-sorted|ap-query-replace-regexp|ap|apcan|apcar\\\\\\\\*|apcon|apl|aplist|ark-bib|ark-defun|ark-end-of-sentence|ark-icon-function|ark-page|ark-paragraph|ark-perl-function|ark-sexp|ark-whole-buffer|ark-word|aster-mode|aster-says-beginning-of-buffer|aster-says-end-of-buffer|aster-says-recenter|aster-says-scroll-down|aster-says-scroll-up|aster-says|aster-set-slave|aster-show-slave|atching-paren|ath-add-bignum|ath-add-float|ath-add|ath-bignum-big|ath-bignum|ath-build-parse-table|ath-check-complete|ath-comp-concat|ath-concat|ath-constp|ath-div-bignum-big|ath-div-bignum-digit|ath-div-bignum-part|ath-div-bignum-try|ath-div-bignum|ath-div-float|ath-div|ath-div10-bignum|ath-div2-bignum|ath-div2|ath-do-working|ath-evenp|ath-expr-ops|ath-find-user-tokens|ath-fixnatnump|ath-fixnump|ath-floatp??|ath-floor|ath-format-bignum-decimal|ath-format-bignum|ath-format-flat-expr|ath-format-number|ath-format-stack-value|ath-format-value|ath-idivmod|ath-imod|ath-infinitep|ath-ipow|ath-looks-negp|ath-make-float|ath-match-substring|ath-mod|ath-mul-bignum-digit|ath-mul-bignum|ath-mul|ath-negp??|ath-normalize|ath-numdigs|ath-posp|ath-pow|ath-quotient|ath-read-bignum|ath-read-expr-list|ath-read-exprs|ath-read-if|ath-read-number-simple|ath-read-number|ath-read-preprocess-string|ath-read-radix-digit|ath-read-token|ath-reject-arg|ath-remove-dashes|ath-scale-int|ath-scale-left-bignum|ath-scale-left|ath-scale-right-bignum|ath-scale-right|ath-scale-rounding|ath-showing-full-precision|ath-stack-value-offset|ath-standard-ops-p|ath-standard-ops|ath-sub-bignum|ath-sub-float|ath-sub|ath-trunc|ath-with-extra-prec|ath-working|ath-zerop|d4-64|d4-F|d4-G|d4-H|d4-add|d4-and|d4-copy64|d4-make-step|d4-pack-int16|d4-pack-int32|d4-round1|d4-round2|d4-round3|d4-unpack-int16|d4-unpack-int32|d4|d5-binary|ember\\\\\\\\*|ember-if-not|ember-if|emory-info|enu-bar-bookmark-map|enu-bar-buffer-vector|enu-bar-ediff-menu|enu-bar-ediff-merge-menu|enu-bar-ediff-misc-menu|enu-bar-enable-clipboard|enu-bar-epatch-menu|enu-bar-frame-for-menubar|enu-bar-handwrite-map|enu-bar-horizontal-scroll-bar|enu-bar-kill-ring-save|enu-bar-left-scroll-bar|enu-bar-make-mm-toggle|enu-bar-make-toggle|enu-bar-menu-at-x-y|enu-bar-menu-frame-live-and-visible-p|enu-bar-mode|enu-bar-next-tag-other-window|enu-bar-next-tag|enu-bar-no-horizontal-scroll-bar|enu-bar-no-scroll-bar|enu-bar-non-minibuffer-window-p|enu-bar-open|enu-bar-options-save|enu-bar-positive-p|enu-bar-read-lispintro|enu-bar-read-lispref|enu-bar-read-mail|enu-bar-right-scroll-bar|enu-bar-select-buffer|enu-bar-select-frame|enu-bar-select-yank|enu-bar-set-tool-bar-position|enu-bar-showhide-fringe-ind-box|enu-bar-showhide-fringe-ind-customize|enu-bar-showhide-fringe-ind-left|enu-bar-showhide-fringe-ind-mixed|enu-bar-showhide-fringe-ind-none|enu-bar-showhide-fringe-ind-right|enu-bar-showhide-fringe-menu-customize-disable|enu-bar-showhide-fringe-menu-customize-left|enu-bar-showhide-fringe-menu-customize-reset|enu-bar-showhide-fringe-menu-customize-right|enu-bar-showhide-fringe-menu-customize|enu-bar-showhide-tool-bar-menu-customize-disable|enu-bar-showhide-tool-bar-menu-customize-enable-bottom|enu-bar-showhide-tool-bar-menu-customize-enable-left|enu-bar-showhide-tool-bar-menu-customize-enable-right|enu-bar-showhide-tool-bar-menu-customize-enable-top|enu-bar-update-buffers-1|enu-bar-update-buffers|enu-bar-update-yank-menu|enu-find-file-existing|enu-or-popup-active-p|enu-set-font|ercury-mode|erge-coding-systems|erge-mail-abbrevs|erge|essage--yank-original-internal|essage-add-action|essage-add-archive-header|essage-add-header|essage-alter-recipients-discard-bogus-full-name|essage-beginning-of-line|essage-bogus-recipient-p|essage-bold-region|essage-bounce|essage-buffer-name|essage-buffers|essage-bury|essage-caesar-buffer-body|essage-caesar-region|essage-cancel-news|essage-canlock-generate|essage-canlock-password|essage-carefully-insert-headers|essage-change-subject|essage-check-element|essage-check-news-body-syntax|essage-check-news-header-syntax|essage-check-news-syntax|essage-check-recipients|essage-check|essage-checksum|essage-cite-original-1|essage-cite-original-without-signature|essage-cite-original|essage-cleanup-headers|essage-clone-locals|essage-completion-function|essage-completion-in-region|essage-cross-post-followup-to-header|essage-cross-post-followup-to|essage-cross-post-insert-note|essage-default-send-mail-function|essage-default-send-rename-function|essage-delete-action|essage-delete-line|essage-delete-not-region|essage-delete-overlay|essage-disassociate-draft|essage-display-abbrev|essage-do-actions|essage-do-auto-fill|essage-do-fcc|essage-do-send-housekeeping|essage-dont-reply-to-names|essage-dont-send|essage-elide-region|essage-encode-message-body|essage-exchange-point-and-mark|essage-expand-group|essage-expand-name|essage-fetch-field|essage-fetch-reply-field|essage-field-name|essage-field-value|essage-fill-field-address|essage-fill-field-general|essage-fill-field|essage-fill-paragraph|essage-fill-yanked-message|essage-fix-before-sending|essage-flatten-list|essage-followup|essage-font-lock-make-header-matcher|essage-forward-make-body-digest-mime|essage-forward-make-body-digest-plain|essage-forward-make-body-digest|essage-forward-make-body-mime|essage-forward-make-body-mml|essage-forward-make-body-plain|essage-forward-make-body|essage-forward-rmail-make-body|essage-forward-subject-author-subject|essage-forward-subject-fwd|essage-forward-subject-name-subject|essage-forward|essage-generate-headers|essage-generate-new-buffer-clone-locals|essage-generate-unsubscribed-mail-followup-to|essage-get-reply-headers|essage-gnksa-enable-p|essage-goto-bcc|essage-goto-body|essage-goto-cc|essage-goto-distribution|essage-goto-eoh|essage-goto-fcc|essage-goto-followup-to|essage-goto-from|essage-goto-keywords|essage-goto-mail-followup-to|essage-goto-newsgroups|essage-goto-reply-to|essage-goto-signature|essage-goto-subject|essage-goto-summary|essage-goto-to|essage-headers-to-generate|essage-hide-header-p|essage-hide-headers|essage-idna-to-ascii-rhs-1|essage-idna-to-ascii-rhs|essage-in-body-p|essage-indent-citation|essage-info|essage-insert-canlock|essage-insert-citation-line|essage-insert-courtesy-copy|essage-insert-disposition-notification-to|essage-insert-expires|essage-insert-formatted-citation-line|essage-insert-headers??|essage-insert-importance-high|essage-insert-importance-low|essage-insert-newsgroups|essage-insert-or-toggle-importance|essage-insert-signature|essage-insert-to|essage-insert-wide-reply|essage-insinuate-rmail|essage-is-yours-p|essage-kill-address|essage-kill-all-overlays|essage-kill-buffer|essage-kill-to-signature|essage-mail-alias-type-p|essage-mail-file-mbox-p|essage-mail-other-frame|essage-mail-other-window|essage-mail-p|essage-mail-user-agent|essage-mail|essage-make-address|essage-make-caesar-translation-table|essage-make-date|essage-make-distribution|essage-make-domain|essage-make-expires-date|essage-make-expires|essage-make-forward-subject|essage-make-fqdn|essage-make-from|essage-make-html-message-with-image-files|essage-make-in-reply-to|essage-make-lines|essage-make-mail-followup-to|essage-make-message-id|essage-make-organization|essage-make-overlay|essage-make-path|essage-make-references|essage-make-sender|essage-make-tool-bar|essage-mark-active-p|essage-mark-insert-file|essage-mark-inserted-region|essage-mode-field-menu|essage-mode-menu|essage-mode|essage-multi-smtp-send-mail|essage-narrow-to-field|essage-narrow-to-head-1|essage-narrow-to-head|essage-narrow-to-headers-or-head|essage-narrow-to-headers|essage-newline-and-reformat|essage-news-other-frame|essage-news-other-window|essage-news-p|essage-news|essage-next-header|essage-number-base36|essage-options-get|essage-options-set-recipient|essage-options-set|essage-output|essage-overlay-put|essage-pipe-buffer-body|essage-point-in-header-p|essage-pop-to-buffer|essage-position-on-field|essage-position-point|essage-posting-charset|essage-prune-recipients|essage-put-addresses-in-ecomplete|essage-read-from-minibuffer|essage-recover|essage-reduce-to-to-cc|essage-remove-blank-cited-lines|essage-remove-first-header|essage-remove-header|essage-remove-ignored-headers|essage-rename-buffer|essage-replace-header|essage-reply|essage-resend|essage-send-and-exit|essage-send-form-letter|essage-send-mail-function|essage-send-mail-partially|essage-send-mail-with-mailclient|essage-send-mail-with-mh|essage-send-mail-with-qmail|essage-send-mail-with-sendmail|essage-send-mail|essage-send-news|essage-send-via-mail|essage-send-via-news|essage-send|essage-sendmail-envelope-from|essage-set-auto-save-file-name|essage-setup-1|essage-setup-fill-variables|essage-setup-toolbar|essage-setup|essage-shorten-1|essage-shorten-references|essage-signed-or-encrypted-p|essage-simplify-recipients|essage-simplify-subject|essage-skip-to-next-address|essage-smtpmail-send-it|essage-sort-headers-1|essage-sort-headers|essage-split-line|essage-strip-forbidden-properties|essage-strip-list-identifiers|essage-strip-subject-encoded-words|essage-strip-subject-re|essage-strip-subject-trailing-was|essage-subscribed-p|essage-supersede|essage-tab|essage-talkative-question|essage-tamago-not-in-use-p|essage-text-with-property|essage-to-list-only|essage-tokenize-header|essage-tool-bar-update|essage-unbold-region|essage-unique-id|essage-unquote-tokens|essage-use-alternative-email-as-from|essage-user-mail-address|essage-wash-subject|essage-wide-reply|essage-widen-reply|essage-with-reply-buffer|essage-y-or-n-p)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)m(?:essage-yank-buffer|essage-yank-original|essages-buffer-mode|eta-add-symbols|eta-beginning-of-defun|eta-car-string-lessp|eta-comment-defun|eta-comment-indent|eta-comment-region|eta-common-mode|eta-complete-symbol|eta-completions-at-point|eta-end-of-defun|eta-indent-buffer|eta-indent-calculate|eta-indent-current-indentation|eta-indent-current-nesting|eta-indent-defun|eta-indent-in-string-p|eta-indent-level-count|eta-indent-line|eta-indent-looking-at-code|eta-indent-previous-line|eta-indent-region|eta-indent-unfinished-line|eta-listify|eta-mark-active|eta-mark-defun|eta-mode-menu|eta-symbol-list|eta-uncomment-defun|eta-uncomment-region|etafont-mode|etamail-buffer|etamail-interpret-body|etamail-interpret-header|etamail-region|etapost-mode|h-adaptive-cmd-note-flag-check|h-add-missing-mime-version-header|h-add-msgs-to-seq|h-alias-address-to-alias|h-alias-expand|h-alias-for-from-p|h-alias-grab-from-field|h-alias-letter-expand-alias|h-alias-minibuffer-confirm-address|h-alias-reload-maybe|h-assoc-string|h-beginning-of-word|h-bogofilter-blacklist|h-bogofilter-whitelist|h-buffer-data|h-burst-digest|h-cancel-timer|h-catchup|h-cl-flet|h-clean-msg-header|h-clear-sub-folders-cache|h-coalesce-msg-list|h-colors-available-p|h-colors-in-use-p|h-complete-word|h-compose-forward|h-compose-insertion|h-copy-msg|h-create-sequence-map|h-customize|h-decode-message-header|h-decode-message-subject|h-define-obsolete-variable-alias|h-define-sequence|h-defstruct|h-delete-a-msg|h-delete-line|h-delete-msg-from-seq|h-delete-msg-no-motion|h-delete-msg|h-delete-seq|h-delete-subject-or-thread|h-delete-subject|h-destroy-postponed-handles|h-display-color-cells|h-display-completion-list|h-display-emphasis|h-display-msg|h-display-smileys|h-display-with-external-viewer|h-do-at-event-location|h-do-in-gnu-emacs|h-do-in-xemacs|h-edit-again|h-ephem-message|h-exchange-point-and-mark-preserving-active-mark|h-exec-cmd-daemon|h-exec-cmd-env-daemon|h-exec-cmd-error|h-exec-cmd-output|h-exec-cmd-quiet|h-exec-cmd|h-exec-lib-cmd-output|h-execute-commands|h-expand-file-name|h-extract-from-header-value|h-extract-rejected-mail|h-face-background|h-face-data|h-face-foreground|h-file-command-p|h-file-mime-type|h-find-path|h-find-seq|h-first-msg|h-folder-completion-function|h-folder-from-address|h-folder-inline-mime-part|h-folder-list|h-folder-mode|h-folder-name-p|h-folder-save-mime-part|h-folder-speedbar-buttons|h-folder-toggle-mime-part|h-font-lock-add-keywords|h-forward|h-fully-kill-draft|h-funcall-if-exists|h-get-header-field|h-get-msg-num|h-gnus-article-highlight-citation|h-goto-cur-msg|h-goto-header-end|h-goto-header-field|h-goto-msg|h-goto-next-button|h-handle-process-error|h-have-file-command|h-header-display|h-header-field-beginning|h-header-field-end|h-help|h-identity-add-menu|h-identity-handler-attribution-verb|h-identity-handler-bottom|h-identity-handler-gpg-identity|h-identity-handler-signature|h-identity-handler-top|h-identity-insert-attribution-verb|h-identity-make-menu-no-autoload|h-identity-make-menu|h-image-load-path-for-library|h-image-search-load-path|h-in-header-p|h-in-show-buffer|h-inc-folder|h-inc-spool-make-no-autoload|h-inc-spool-make|h-index-add-to-sequence|h-index-create-imenu-index|h-index-create-sequences|h-index-delete-folder-headers|h-index-delete-from-sequence|h-index-execute-commands|h-index-group-by-folder|h-index-insert-folder-headers|h-index-new-messages|h-index-next-folder|h-index-previous-folder|h-index-read-data|h-index-sequenced-messages|h-index-ticked-messages|h-index-update-maps|h-index-visit-folder|h-insert-auto-fields|h-insert-identity|h-insert-signature|h-interactive-range|h-invalidate-show-buffer|h-invisible-headers|h-iterate-on-messages-in-region|h-iterate-on-range|h-junk-blacklist-disposition|h-junk-blacklist|h-junk-choose|h-junk-process-blacklist|h-junk-process-whitelist|h-junk-whitelist|h-kill-folder|h-last-msg|h-lessp|h-letter-hide-all-skipped-fields|h-letter-mode|h-letter-next-header-field|h-letter-skip-leading-whitespace-in-header-field|h-letter-skipped-header-field-p|h-letter-speedbar-buttons|h-letter-toggle-header-field-display-button|h-letter-toggle-header-field-display|h-line-beginning-position|h-line-end-position|h-list-folders|h-list-sequences|h-list-to-string-1|h-list-to-string|h-logo-display|h-macro-expansion-time-gnus-version|h-mail-abbrev-make-syntax-table|h-mail-header-end|h-make-folder-mode-line|h-make-local-hook|h-make-local-vars|h-make-obsolete-variable|h-mapc|h-mark-active-p|h-match-string-no-properties|h-maybe-show|h-mh-compose-anon-ftp|h-mh-compose-external-compressed-tar|h-mh-compose-external-type|h-mh-directive-present-p|h-mh-to-mime-undo|h-mh-to-mime|h-mime-cleanup|h-mime-display|h-mime-save-parts|h-mml-forward-message|h-mml-secure-message-encrypt|h-mml-secure-message-sign|h-mml-secure-message-signencrypt|h-mml-tag-present-p|h-mml-to-mime|h-mml-unsecure-message|h-modify|h-msg-filename|h-msg-is-in-seq|h-msg-num-width-to-column|h-msg-num-width|h-narrow-to-cc|h-narrow-to-from|h-narrow-to-range|h-narrow-to-seq|h-narrow-to-subject|h-narrow-to-tick|h-narrow-to-to|h-new-draft-name|h-next-button|h-next-msg|h-next-undeleted-msg|h-next-unread-msg|h-nmail|h-notate-cur|h-notate-deleted-and-refiled|h-notate-user-sequences|h-notate|h-outstanding-commands-p|h-pack-folder|h-page-digest-backwards|h-page-digest|h-page-msg|h-parse-flist-output-line|h-pipe-msg|h-position-on-field|h-prefix-help|h-prev-button|h-previous-page|h-previous-undeleted-msg|h-previous-unread-msg|h-print-msg|h-process-daemon|h-process-or-undo-commands|h-profile-component-value|h-profile-component|h-prompt-for-folder|h-prompt-for-refile-folder|h-ps-print-msg-file|h-ps-print-msg|h-ps-print-toggle-color|h-ps-print-toggle-faces|h-put-msg-in-seq|h-quit|h-quote-for-shell|h-quote-pick-expr|h-range-to-msg-list|h-read-address|h-read-folder-sequences|h-read-range|h-read-seq-default|h-recenter|h-redistribute|h-refile-a-msg|h-refile-msg|h-refile-or-write-again|h-regenerate-headers|h-remove-all-notation|h-remove-cur-notation|h-remove-from-sub-folders-cache|h-replace-regexp-in-string|h-replace-string|h-reply|h-require-cl|h-require|h-rescan-folder|h-reset-threads-and-narrowing|h-rmail|h-run-time-gnus-version|h-scan-folder|h-scan-format-file-check|h-scan-format|h-scan-msg-number-regexp|h-scan-msg-search-regexp|h-search-from-end|h-search-p|h-search|h-send-letter|h-send|h-seq-msgs|h-seq-to-msgs|h-set-cmd-note|h-set-folder-modified-p|h-set-help|h-set-x-image-cache-directory|h-show-addr|h-show-buffer-message-number|h-show-font-lock-keywords-with-cite|h-show-font-lock-keywords|h-show-mode|h-show-preferred-alternative|h-show-speedbar-buttons|h-show-xface|h-show|h-showing-mode|h-signature-separator-p|h-smail-batch|h-smail-other-window|h-smail|h-sort-folder|h-spamassassin-blacklist|h-spamassassin-identify-spammers|h-spamassassin-whitelist|h-spamprobe-blacklist|h-spamprobe-whitelist|h-speed-add-folder|h-speed-flists-active-p|h-speed-flists|h-speed-invalidate-map|h-start-of-uncleaned-message|h-store-msg|h-strip-package-version|h-sub-folders|h-test-completion|h-thread-add-spaces|h-thread-ancestor|h-thread-delete|h-thread-find-msg-subject|h-thread-forget-message|h-thread-generate|h-thread-inc|h-thread-next-sibling|h-thread-parse-scan-line|h-thread-previous-sibling|h-thread-print-scan-lines|h-thread-refile|h-thread-update-scan-line-map|h-toggle-mh-decode-mime-flag|h-toggle-mime-buttons|h-toggle-showing|h-toggle-threads|h-toggle-tick|h-translate-range|h-truncate-log-buffer|h-undefine-sequence|h-undo-folder|h-undo|h-update-sequences|h-url-hexify-string|h-user-agent-compose|h-valid-seq-p|h-valid-view-change-operation-p|h-variant-gnu-mh-info|h-variant-info|h-variant-mh-info|h-variant-nmh-info|h-variant-p|h-variant-set-variant|h-variant-set|h-variants|h-version|h-view-mode-enter|h-visit-folder|h-widen|h-window-full-height-p|h-write-file-functions|h-write-msg-to-file|h-xargs|h-yank-cur-msg|idnight-buffer-display-time|idnight-delay-set|idnight-find|idnight-next|ime-to-mml|inibuf-eldef-setup-minibuffer|inibuf-eldef-update-minibuffer|inibuffer--bitset|inibuffer--double-dollars|inibuffer-avoid-prompt|inibuffer-completion-contents|inibuffer-default--in-prompt-regexps|inibuffer-default-add-completions|inibuffer-default-add-shell-commands|inibuffer-depth-indicate-mode|inibuffer-depth-setup|inibuffer-electric-default-mode|inibuffer-force-complete-and-exit|inibuffer-force-complete|inibuffer-frame-list|inibuffer-hide-completions|inibuffer-history-initialize|inibuffer-history-isearch-end|inibuffer-history-isearch-message|inibuffer-history-isearch-pop-state|inibuffer-history-isearch-push-state|inibuffer-history-isearch-search|inibuffer-history-isearch-setup|inibuffer-history-isearch-wrap|inibuffer-insert-file-name-at-point|inibuffer-keyboard-quit|inibuffer-with-setup-hook|inor-mode-menu-from-indicator|inusp|ismatch|ixal-debug|ixal-describe-operation-code|ixal-mode|ixal-run|m-add-meta-html-tag|m-alist-to-plist|m-annotationp|m-append-to-file|m-archive-decoders|m-archive-dissect-and-inline|m-assoc-string-match|m-attachment-override-p|m-auto-mode-alist|m-automatic-display-p|m-automatic-external-display-p|m-body-7-or-8|m-body-encoding|m-char-int|m-char-or-char-int-p|m-charset-after|m-charset-to-coding-system|m-codepage-setup|m-coding-system-equal|m-coding-system-list|m-coding-system-p|m-coding-system-to-mime-charset|m-complicated-handles|m-content-transfer-encoding|m-convert-shr-links|m-copy-to-buffer|m-create-image-xemacs|m-decode-body|m-decode-coding-region|m-decode-coding-string|m-decode-content-transfer-encoding|m-decode-string|m-decompress-buffer|m-default-file-encoding|m-default-multibyte-p|m-delete-duplicates|m-destroy-parts??|m-destroy-postponed-undisplay-list|m-detect-coding-region|m-detect-mime-charset-region|m-disable-multibyte|m-display-external|m-display-inline|m-display-parts??|m-dissect-archive|m-dissect-buffer|m-dissect-multipart|m-dissect-singlepart|m-enable-multibyte|m-encode-body|m-encode-buffer|m-encode-coding-region|m-encode-coding-string|m-encode-content-transfer-encoding|m-enrich-utf-8-by-mule-ucs|m-extern-cache-contents|m-file-name-collapse-whitespace|m-file-name-delete-control|m-file-name-delete-gotchas|m-file-name-delete-whitespace|m-file-name-replace-whitespace|m-file-name-trim-whitespace|m-find-buffer-file-coding-system|m-find-charset-region|m-find-mime-charset-region|m-find-part-by-type|m-find-raw-part-by-type|m-get-coding-system-list|m-get-content-id|m-get-image|m-get-part|m-guess-charset|m-handle-buffer|m-handle-cache|m-handle-description|m-handle-displayed-p|m-handle-disposition|m-handle-encoding|m-handle-filename|m-handle-id|m-handle-media-subtype|m-handle-media-supertype|m-handle-media-type|m-handle-multipart-ctl-parameter|m-handle-multipart-from|m-handle-multipart-original-buffer|m-handle-set-cache|m-handle-set-external-undisplayer|m-handle-set-undisplayer|m-handle-type|m-handle-undisplayer|m-image-fit-p|m-image-load-path|m-image-type-from-buffer|m-inlinable-p|m-inline-external-body|m-inline-override-p|m-inline-partial|m-inlined-p|m-insert-byte|m-insert-file-contents|m-insert-headers|m-insert-inline|m-insert-multipart-headers|m-insert-part|m-insert-rfc822-headers|m-interactively-view-part|m-iso-8859-x-to-15-region|m-keep-viewer-alive-p|m-line-number-at-pos|m-long-lines-p|m-mailcap-command|m-make-handle|m-make-temp-file|m-merge-handles|m-mime-charset|m-mule-charset-to-mime-charset|m-multibyte-char-to-unibyte|m-multibyte-p|m-multibyte-string-p|m-multiple-handles|m-pipe-part|m-possibly-verify-or-decrypt|m-preferred-alternative-precedence|m-preferred-alternative|m-preferred-coding-system|m-qp-or-base64|m-read-charset|m-read-coding-system|m-readable-p|m-remove-parts??|m-replace-in-string|m-safer-encoding|m-save-part-to-file|m-save-part|m-set-buffer-file-coding-system|m-set-buffer-multibyte|m-set-handle-multipart-parameter|m-setup-codepage-ibm|m-setup-codepage-iso-8859|m-shr|m-sort-coding-systems-predicate)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:mm-special-display-p|mm-string-as-multibyte|mm-string-as-unibyte|mm-string-make-unibyte|mm-string-to-multibyte|mm-subst-char-in-string|mm-substring-no-properties|mm-temp-files-delete|mm-ucs-to-char|mm-url-decode-entities-nbsp|mm-url-decode-entities-string|mm-url-decode-entities|mm-url-encode-multipart-form-data|mm-url-encode-www-form-urlencoded|mm-url-form-encode-xwfu|mm-url-insert-file-contents-external|mm-url-insert-file-contents|mm-url-insert|mm-url-load-url|mm-url-remove-markup|mm-uu-dissect-text-parts|mm-uu-dissect|mm-valid-and-fit-image-p|mm-valid-image-format-p|mm-view-pkcs7|mm-with-multibyte-buffer|mm-with-part|mm-with-unibyte-buffer|mm-with-unibyte-current-buffer|mm-write-region|mm-xemacs-find-mime-charset-1|mm-xemacs-find-mime-charset|mml-attach-buffer|mml-attach-external|mml-attach-file|mml-buffer-substring-no-properties-except-hard-newlines|mml-compute-boundary-1|mml-compute-boundary|mml-content-disposition|mml-destroy-buffers|mml-dnd-attach-file|mml-expand-html-into-multipart-related|mml-generate-mime-1|mml-generate-mime|mml-generate-new-buffer|mml-insert-buffer|mml-insert-empty-tag|mml-insert-mime-headers|mml-insert-mime|mml-insert-mml-markup|mml-insert-multipart|mml-insert-parameter-string|mml-insert-parameter|mml-insert-part|mml-insert-tag|mml-make-boundary|mml-menu|mml-minibuffer-read-description|mml-minibuffer-read-disposition|mml-minibuffer-read-file|mml-minibuffer-read-type|mml-mode|mml-parameter-string|mml-parse-1|mml-parse-file-name|mml-parse-singlepart-with-multiple-charsets|mml-parse|mml-pgp-encrypt-buffer|mml-pgp-sign-buffer|mml-pgpauto-encrypt-buffer|mml-pgpauto-sign-buffer|mml-pgpmime-encrypt-buffer|mml-pgpmime-sign-buffer|mml-preview-insert-mail-followup-to|mml-preview|mml-quote-region|mml-read-part|mml-read-tag|mml-secure-encrypt-pgp|mml-secure-encrypt-pgpmime|mml-secure-encrypt-smime|mml-secure-encrypt|mml-secure-message-encrypt-pgp|mml-secure-message-encrypt-pgpauto|mml-secure-message-encrypt-pgpmime|mml-secure-message-encrypt-smime|mml-secure-message-encrypt|mml-secure-message-sign-encrypt|mml-secure-message-sign-pgp|mml-secure-message-sign-pgpauto|mml-secure-message-sign-pgpmime|mml-secure-message-sign-smime|mml-secure-message-sign|mml-secure-message|mml-secure-part|mml-secure-sign-pgp|mml-secure-sign-pgpauto|mml-secure-sign-pgpmime|mml-secure-sign-smime|mml-secure-sign|mml-signencrypt-style|mml-smime-encrypt-buffer|mml-smime-encrypt-query|mml-smime-encrypt|mml-smime-sign-buffer|mml-smime-sign-query|mml-smime-sign|mml-smime-verify-test|mml-smime-verify|mml-to-mime|mml-tweak-externalize-attachments|mml-tweak-part|mml-unsecure-message|mml-validate|mml1991-encrypt|mml1991-sign|mml2015-decrypt-test|mml2015-decrypt|mml2015-encrypt|mml2015-self-encrypt|mml2015-sign|mml2015-verify-test|mml2015-verify|mod\\\\\\\\*|mode-line-bury-buffer|mode-line-change-eol|mode-line-eol-desc|mode-line-frame-control|mode-line-minor-mode-help|mode-line-modified-help-echo|mode-line-mule-info-help-echo|mode-line-next-buffer|mode-line-other-buffer|mode-line-previous-buffer|mode-line-read-only-help-echo|mode-line-toggle-modified|mode-line-toggle-read-only|mode-line-unbury-buffer|mode-line-widen|mode-local--expand-overrides|mode-local--overload-body|mode-local--override|mode-local-augment-function-help|mode-local-bind|mode-local-describe-bindings-1|mode-local-describe-bindings-2|mode-local-equivalent-mode-p|mode-local-initialized-p|mode-local-map-file-buffers|mode-local-map-mode-buffers|mode-local-on-major-mode-change|mode-local-post-major-mode-change|mode-local-print-bindings??|mode-local-read-function|mode-local-setup-edebug-specs|mode-local-symbol-value|mode-local-symbol|mode-local-use-bindings-p|mode-local-value|mode-specific-command-prefix|modify-coding-system-alist|modify-face|modula-2-mode|morse-region|mouse--down-1-maybe-follows-link|mouse--drag-set-mark-and-point|mouse--strip-first-event|mouse-appearance-menu|mouse-autoselect-window-cancel|mouse-autoselect-window-select|mouse-autoselect-window-start|mouse-avoidance-banish-destination|mouse-avoidance-banish-mouse|mouse-avoidance-banish|mouse-avoidance-delta|mouse-avoidance-exile|mouse-avoidance-fancy|mouse-avoidance-ignore-p|mouse-avoidance-mode|mouse-avoidance-nudge-mouse|mouse-avoidance-point-position|mouse-avoidance-random-shape|mouse-avoidance-set-mouse-position|mouse-avoidance-set-pointer-shape|mouse-avoidance-too-close-p|mouse-buffer-menu-alist|mouse-buffer-menu-keymap|mouse-buffer-menu-map|mouse-buffer-menu-split|mouse-buffer-menu|mouse-choose-completion|mouse-copy-work-around-drag-bug|mouse-delete-other-windows|mouse-delete-window|mouse-drag-drag|mouse-drag-events-are-point-events-p|mouse-drag-header-line|mouse-drag-line|mouse-drag-mode-line|mouse-drag-region|mouse-drag-repeatedly-safe-scroll|mouse-drag-safe-scroll|mouse-drag-scroll-delta|mouse-drag-secondary-moving|mouse-drag-secondary-pasting|mouse-drag-secondary|mouse-drag-should-do-col-scrolling|mouse-drag-throw|mouse-drag-track|mouse-drag-vertical-line|mouse-event-p|mouse-fixup-help-message|mouse-kill-preserving-secondary|mouse-kill-ring-save|mouse-kill-secondary|mouse-kill|mouse-major-mode-menu|mouse-menu-bar-map|mouse-menu-major-mode-map|mouse-menu-non-singleton|mouse-minibuffer-check|mouse-minor-mode-menu|mouse-popup-menubar-stuff|mouse-popup-menubar|mouse-posn-property|mouse-region-match|mouse-save-then-kill-delete-region|mouse-save-then-kill|mouse-scroll-subr|mouse-secondary-save-then-kill|mouse-select-buffer|mouse-select-font|mouse-select-window|mouse-set-font|mouse-set-mark-fast|mouse-set-mark|mouse-set-point|mouse-set-region-1|mouse-set-region|mouse-set-secondary|mouse-skip-word|mouse-split-window-horizontally|mouse-split-window-vertically|mouse-start-end|mouse-start-secondary|mouse-tear-off-window|mouse-undouble-last-event|mouse-wheel-change-button|mouse-wheel-mode|mouse-yank-at-click|mouse-yank-primary|mouse-yank-secondary|move-beginning-of-line|move-end-of-line|move-file-to-trash|move-past-close-and-reindent|move-to-column-untabify|move-to-tab-stop|move-to-window-line-top-bottom|mpc--debug|mpc--faster-stop|mpc--faster-toggle-refresh|mpc--faster-toggle|mpc--faster|mpc--proc-alist-to-alists|mpc--proc-connect|mpc--proc-filter|mpc--proc-quote-string|mpc--songduration|mpc--status-callback|mpc--status-idle-timer-run|mpc--status-idle-timer-start|mpc--status-idle-timer-stop|mpc--status-timer-run|mpc--status-timer-start|mpc--status-timer-stop|mpc--status-timers-refresh|mpc-assq-all|mpc-cmd-add|mpc-cmd-clear|mpc-cmd-delete|mpc-cmd-find|mpc-cmd-flush|mpc-cmd-list|mpc-cmd-move|mpc-cmd-pause|mpc-cmd-play|mpc-cmd-special-tag-p|mpc-cmd-status|mpc-cmd-stop|mpc-cmd-tagtypes|mpc-cmd-update|mpc-compare-strings|mpc-constraints-get-current|mpc-constraints-pop|mpc-constraints-push|mpc-constraints-restore|mpc-constraints-tag-lookup|mpc-current-refresh|mpc-data-directory|mpc-drag-n-drop|mpc-event-set-point|mpc-ffwd|mpc-file-local-copy|mpc-format|mpc-intersection|mpc-mode-menu|mpc-mode|mpc-next|mpc-pause|mpc-play-at-point|mpc-play|mpc-playlist-add|mpc-playlist-create|mpc-playlist-delete|mpc-playlist-destroy|mpc-playlist-rename|mpc-playlist|mpc-prev|mpc-proc-buf-to-alists??|mpc-proc-buffer|mpc-proc-check|mpc-proc-cmd-list-ok|mpc-proc-cmd-list|mpc-proc-cmd-to-alist|mpc-proc-cmd|mpc-proc-sync|mpc-proc-tag-string-to-sym|mpc-proc|mpc-quit|mpc-reorder|mpc-resume|mpc-rewind|mpc-ring-make|mpc-ring-pop|mpc-ring-push|mpc-secs-to-time|mpc-select-extend|mpc-select-get-selection|mpc-select-make-overlay|mpc-select-restore|mpc-select-save|mpc-select-toggle|mpc-select|mpc-selection-refresh|mpc-separator|mpc-songpointer-context|mpc-songpointer-refresh-hairy|mpc-songpointer-refresh|mpc-songpointer-score|mpc-songpointer-set|mpc-songs-buf|mpc-songs-hashcons|mpc-songs-jump-to|mpc-songs-kill-search|mpc-songs-mode|mpc-songs-refresh|mpc-songs-search|mpc-songs-selection|mpc-sort|mpc-status-buffer-refresh|mpc-status-buffer-show|mpc-status-mode|mpc-status-refresh|mpc-status-stop|mpc-stop|mpc-string-prefix-p|mpc-tagbrowser-all-p|mpc-tagbrowser-all-select|mpc-tagbrowser-buf|mpc-tagbrowser-dir-mode|mpc-tagbrowser-dir-toggle|mpc-tagbrowser-mode|mpc-tagbrowser-refresh|mpc-tagbrowser-tag-name|mpc-tagbrowser|mpc-tempfiles-add|mpc-tempfiles-clean|mpc-union|mpc-update|mpc-updated-db|mpc-volume-mouse-set|mpc-volume-refresh|mpc-volume-widget|mpc|mpuz-ask-for-try|mpuz-build-random-perm|mpuz-check-all-solved|mpuz-close-game|mpuz-create-buffer|mpuz-digit-solved-p|mpuz-ding|mpuz-get-buffer|mpuz-mode|mpuz-offer-abort|mpuz-paint-board|mpuz-paint-digit|mpuz-paint-errors|mpuz-paint-number|mpuz-paint-statistics|mpuz-put-number-on-board|mpuz-random-puzzle|mpuz-show-solution|mpuz-solve|mpuz-start-new-game|mpuz-switch-to-window|mpuz-to-digit|mpuz-to-letter|mpuz-try-letter|mpuz-try-proposal|mpuz|msb--add-separators|msb--add-to-menu|msb--aggregate-alist|msb--choose-file-menu|msb--choose-menu|msb--collect|msb--create-buffer-menu-2|msb--create-buffer-menu|msb--create-function-info|msb--create-sort-item|msb--dired-directory|msb--format-title|msb--init-file-alist|msb--make-keymap-menu|msb--mode-menu-cond|msb--most-recently-used-menu|msb--split-menus-2|msb--split-menus|msb--strip-dir|msb--toggle-menu-type|msb-alon-item-handler|msb-custom-set|msb-dired-item-handler|msb-invisible-buffer-p|msb-item-handler|msb-menu-bar-update-buffers|msb-mode|msb-sort-by-directory|msb-sort-by-name|msb-unload-function|msb|mspools-get-folder-from-spool|mspools-get-spool-files|mspools-get-spool-name|mspools-help|mspools-mode|mspools-quit|mspools-revert-buffer|mspools-set-vm-spool-files|mspools-show-again|mspools-show|mspools-size-folder|mspools-visit-spool|mule-diag|multi-isearch-buffers-regexp|multi-isearch-buffers|multi-isearch-end|multi-isearch-files-regexp|multi-isearch-files|multi-isearch-next-buffer-from-list|multi-isearch-next-file-buffer-from-list|multi-isearch-pop-state|multi-isearch-push-state|multi-isearch-read-buffers|multi-isearch-read-files|multi-isearch-read-matching-buffers|multi-isearch-read-matching-files|multi-isearch-search-fun|multi-isearch-setup|multi-isearch-wrap|multi-occur-in-matching-buffers|multi-occur|multiple-value-apply|multiple-value-bind|multiple-value-call|multiple-value-list|multiple-value-setq|mwheel-event-button|mwheel-event-window|mwheel-filter-click-events|mwheel-inhibit-click-timeout|mwheel-install|mwheel-scroll|name-last-kbd-macro|narrow-to-defun|nato-region|nested-alist-p|net-utils--revert-function|net-utils-machine-at-point|net-utils-mode|net-utils-remove-ctrl-m-filter|net-utils-run-program|net-utils-run-simple|net-utils-url-at-point|netrc-credentials|netrc-find-service-name|netrc-get|netrc-machine-user-or-password|netrc-machine|netrc-parse-services|netrc-parse|netrc-port-equal|netstat|network-connection-mode-setup|network-connection-mode|network-connection-reconnect|network-connection-to-service|network-connection|network-service-connection|network-stream-certificate|network-stream-command|network-stream-get-response|network-stream-open-plain|network-stream-open-shell|network-stream-open-starttls|network-stream-open-tls|new-fontset|new-frame|new-mode-local-bindings|newline-cache-check|newsticker--age|newsticker--buffer-beginning-of-feed|newsticker--buffer-beginning-of-item|newsticker--buffer-do-insert-text|newsticker--buffer-end-of-feed|newsticker--buffer-end-of-item|newsticker--buffer-get-feed-title-at-point|newsticker--buffer-get-item-title-at-point|newsticker--buffer-goto|newsticker--buffer-hideshow|newsticker--buffer-insert-all-items|newsticker--buffer-insert-item|newsticker--buffer-make-item-completely-visible|newsticker--buffer-redraw|newsticker--buffer-set-faces|newsticker--buffer-set-invisibility|newsticker--buffer-set-uptodate|newsticker--buffer-statistics|newsticker--cache-add|newsticker--cache-contains|newsticker--cache-dir|newsticker--cache-get-feed|newsticker--cache-item-compare-by-position|newsticker--cache-item-compare-by-time|newsticker--cache-item-compare-by-title|newsticker--cache-mark-expired|newsticker--cache-read-feed|newsticker--cache-read-version1|newsticker--cache-read|newsticker--cache-remove|newsticker--cache-replace-age|newsticker--cache-save-feed|newsticker--cache-save-version1|newsticker--cache-save|newsticker--cache-set-preformatted-contents|newsticker--cache-set-preformatted-title|newsticker--cache-sort)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)n(?:ewsticker--cache-update|ewsticker--count-grouped-feeds|ewsticker--count-groups|ewsticker--debug-msg|ewsticker--decode-iso8601-date|ewsticker--decode-rfc822-date|ewsticker--desc|ewsticker--display-jump|ewsticker--display-scroll|ewsticker--display-tick|ewsticker--do-forget-preformatted|ewsticker--do-mark-item-at-point-as-read|ewsticker--do-print-extra-element|ewsticker--do-run-auto-mark-filter|ewsticker--do-xml-workarounds|ewsticker--echo-area-clean-p|ewsticker--enclosure|ewsticker--extra|ewsticker--forget-preformatted|ewsticker--get-group-names|ewsticker--get-icon-url-atom-1\\\\\\\\.0|ewsticker--get-logo-url-atom-0\\\\\\\\.3|ewsticker--get-logo-url-atom-1\\\\\\\\.0|ewsticker--get-logo-url-rss-0\\\\\\\\.91|ewsticker--get-logo-url-rss-0\\\\\\\\.92|ewsticker--get-logo-url-rss-1\\\\\\\\.0|ewsticker--get-logo-url-rss-2\\\\\\\\.0|ewsticker--get-news-by-funcall|ewsticker--get-news-by-url-callback|ewsticker--get-news-by-url|ewsticker--get-news-by-wget|ewsticker--group-all-groups|ewsticker--group-do-find-group|ewsticker--group-do-get-group|ewsticker--group-do-rename-group|ewsticker--group-find-parent-group|ewsticker--group-get-feeds|ewsticker--group-get-group|ewsticker--group-get-subgroups|ewsticker--group-manage-orphan-feeds|ewsticker--group-names|ewsticker--group-remove-obsolete-feeds|ewsticker--group-shift|ewsticker--guid-to-string|ewsticker--guid|ewsticker--icon-read|ewsticker--icons-dir|ewsticker--image-download-by-url-callback|ewsticker--image-download-by-url|ewsticker--image-download-by-wget|ewsticker--image-get|ewsticker--image-read|ewsticker--image-remove|ewsticker--image-save|ewsticker--image-sentinel|ewsticker--images-dir|ewsticker--imenu-create-index|ewsticker--imenu-goto|ewsticker--insert-enclosure|ewsticker--insert-image|ewsticker--link|ewsticker--lists-intersect-p|ewsticker--opml-import-outlines|ewsticker--parse-atom-0\\\\\\\\.3|ewsticker--parse-atom-1\\\\\\\\.0|ewsticker--parse-generic-feed|ewsticker--parse-generic-items|ewsticker--parse-rss-0\\\\\\\\.91|ewsticker--parse-rss-0\\\\\\\\.92|ewsticker--parse-rss-1\\\\\\\\.0|ewsticker--parse-rss-2\\\\\\\\.0|ewsticker--pos|ewsticker--preformatted-contents|ewsticker--preformatted-title|ewsticker--print-extra-elements|ewsticker--process-auto-mark-filter-match|ewsticker--real-feed-name|ewsticker--remove-whitespace|ewsticker--run-auto-mark-filter|ewsticker--sentinel-work|ewsticker--sentinel|ewsticker--set-customvar-buffer|ewsticker--set-customvar-formatting|ewsticker--set-customvar-retrieval|ewsticker--set-customvar-sorting|ewsticker--set-customvar-ticker|ewsticker--set-face-properties|ewsticker--splicer|ewsticker--start-feed|ewsticker--stat-num-items-for-group|ewsticker--stat-num-items-total|ewsticker--stat-num-items|ewsticker--stop-feed|ewsticker--ticker-text-remove|ewsticker--ticker-text-setup|ewsticker--time|ewsticker--title|ewsticker--tree-widget-icon-create|ewsticker--treeview-activate-node|ewsticker--treeview-buffer-init|ewsticker--treeview-count-node-items|ewsticker--treeview-do-get-node-by-id|ewsticker--treeview-do-get-node-of-feed|ewsticker--treeview-first-feed|ewsticker--treeview-frame-init|ewsticker--treeview-get-current-node|ewsticker--treeview-get-feed-vfeed|ewsticker--treeview-get-first-child|ewsticker--treeview-get-id|ewsticker--treeview-get-last-child|ewsticker--treeview-get-next-sibling|ewsticker--treeview-get-next-uncle|ewsticker--treeview-get-node-by-id|ewsticker--treeview-get-node-of-feed|ewsticker--treeview-get-other-tree|ewsticker--treeview-get-prev-sibling|ewsticker--treeview-get-prev-uncle|ewsticker--treeview-get-second-child|ewsticker--treeview-get-selected-item|ewsticker--treeview-ids-eq|ewsticker--treeview-item-buffer|ewsticker--treeview-item-show-text|ewsticker--treeview-item-show|ewsticker--treeview-item-update|ewsticker--treeview-item-window|ewsticker--treeview-list-add-item|ewsticker--treeview-list-all-items|ewsticker--treeview-list-buffer|ewsticker--treeview-list-clear-highlight|ewsticker--treeview-list-clear|ewsticker--treeview-list-compare-item-by-age-reverse|ewsticker--treeview-list-compare-item-by-age|ewsticker--treeview-list-compare-item-by-time-reverse|ewsticker--treeview-list-compare-item-by-time|ewsticker--treeview-list-compare-item-by-title-reverse|ewsticker--treeview-list-compare-item-by-title|ewsticker--treeview-list-feed-items|ewsticker--treeview-list-highlight-start|ewsticker--treeview-list-immortal-items|ewsticker--treeview-list-items-v|ewsticker--treeview-list-items-with-age-callback|ewsticker--treeview-list-items-with-age|ewsticker--treeview-list-items|ewsticker--treeview-list-new-items|ewsticker--treeview-list-obsolete-items|ewsticker--treeview-list-select|ewsticker--treeview-list-sort-by-column|ewsticker--treeview-list-sort-items|ewsticker--treeview-list-update-faces|ewsticker--treeview-list-update-highlight|ewsticker--treeview-list-update|ewsticker--treeview-list-window|ewsticker--treeview-load|ewsticker--treeview-mark-item|ewsticker--treeview-nodes-eq|ewsticker--treeview-propertize-tag|ewsticker--treeview-render-text|ewsticker--treeview-restore-layout|ewsticker--treeview-set-current-node|ewsticker--treeview-tree-buffer|ewsticker--treeview-tree-do-update-tags|ewsticker--treeview-tree-expand-status|ewsticker--treeview-tree-expand|ewsticker--treeview-tree-get-tag|ewsticker--treeview-tree-open-menu|ewsticker--treeview-tree-update-highlight|ewsticker--treeview-tree-update-tags??|ewsticker--treeview-tree-update|ewsticker--treeview-tree-window|ewsticker--treeview-unfold-node|ewsticker--treeview-virtual-feed-p|ewsticker--treeview-window-init|ewsticker--unxml-attribute|ewsticker--unxml-node|ewsticker--unxml|ewsticker--update-process-ids|ewsticker-add-url|ewsticker-browse-url-item|ewsticker-browse-url|ewsticker-buffer-force-update|ewsticker-buffer-update|ewsticker-close-buffer|ewsticker-customize|ewsticker-download-enclosures|ewsticker-download-images|ewsticker-get-all-news|ewsticker-get-news-at-point|ewsticker-get-news|ewsticker-group-add-group|ewsticker-group-delete-group|ewsticker-group-move-feed|ewsticker-group-rename-group|ewsticker-group-shift-feed-down|ewsticker-group-shift-feed-up|ewsticker-group-shift-group-down|ewsticker-group-shift-group-up|ewsticker-handle-url|ewsticker-hide-all-desc|ewsticker-hide-entry|ewsticker-hide-extra|ewsticker-hide-feed-desc|ewsticker-hide-new-item-desc|ewsticker-hide-old-item-desc|ewsticker-hide-old-items|ewsticker-htmlr-render|ewsticker-item-not-immortal-p|ewsticker-item-not-old-p|ewsticker-mark-all-items-as-read|ewsticker-mark-all-items-at-point-as-read-and-redraw|ewsticker-mark-all-items-at-point-as-read|ewsticker-mark-all-items-of-feed-as-read|ewsticker-mark-item-at-point-as-immortal|ewsticker-mark-item-at-point-as-read|ewsticker-mode|ewsticker-mouse-browse-url|ewsticker-new-item-functions-sample|ewsticker-next-feed-available-p|ewsticker-next-feed|ewsticker-next-item-available-p|ewsticker-next-item-same-feed|ewsticker-next-item|ewsticker-next-new-item|ewsticker-opml-export|ewsticker-opml-import|ewsticker-plainview|ewsticker-previous-feed-available-p|ewsticker-previous-feed|ewsticker-previous-item-available-p|ewsticker-previous-item|ewsticker-previous-new-item|ewsticker-retrieve-random-message|ewsticker-running-p|ewsticker-save-item|ewsticker-set-auto-narrow-to-feed|ewsticker-set-auto-narrow-to-item|ewsticker-show-all-desc|ewsticker-show-entry|ewsticker-show-extra|ewsticker-show-feed-desc|ewsticker-show-new-item-desc|ewsticker-show-news|ewsticker-show-old-item-desc|ewsticker-show-old-items|ewsticker-start-ticker|ewsticker-start|ewsticker-stop-ticker|ewsticker-stop|ewsticker-ticker-running-p|ewsticker-toggle-auto-narrow-to-feed|ewsticker-toggle-auto-narrow-to-item|ewsticker-treeview-browse-url-item|ewsticker-treeview-browse-url|ewsticker-treeview-get-news|ewsticker-treeview-item-mode|ewsticker-treeview-jump|ewsticker-treeview-list-make-sort-button|ewsticker-treeview-list-mode|ewsticker-treeview-mark-item-old|ewsticker-treeview-mark-list-items-old|ewsticker-treeview-mode|ewsticker-treeview-mouse-browse-url|ewsticker-treeview-next-feed|ewsticker-treeview-next-item|ewsticker-treeview-next-new-or-immortal-item|ewsticker-treeview-next-page|ewsticker-treeview-prev-feed|ewsticker-treeview-prev-item|ewsticker-treeview-prev-new-or-immortal-item|ewsticker-treeview-quit|ewsticker-treeview-save-item|ewsticker-treeview-save|ewsticker-treeview-scroll-item|ewsticker-treeview-show-item|ewsticker-treeview-toggle-item-immortal|ewsticker-treeview-tree-click|ewsticker-treeview-tree-do-click|ewsticker-treeview-update|ewsticker-treeview|ewsticker-w3m-show-inline-images|ext-buffer|ext-cdabbrev|ext-completion|ext-error-buffer-p|ext-error-find-buffer|ext-error-follow-minor-mode|ext-error-follow-mode-post-command-hook|ext-error-internal|ext-error-no-select|ext-error|ext-file|ext-ifdef|ext-line-or-history-element|ext-line|ext-logical-line|ext-match|ext-method-p|ext-multiframe-window|ext-page|ext-read-file-uses-dialog-p|intersection|inth|ndiary-generate-nov-databases|ndoc-add-type|ndraft-request-associate-buffer|ndraft-request-expire-articles|nfolder-generate-active-file|nheader-accept-process-output|nheader-article-p|nheader-article-to-file-alist|nheader-be-verbose|nheader-cancel-function-timers|nheader-cancel-timer|nheader-concat|nheader-directory-articles|nheader-directory-files-safe|nheader-directory-files|nheader-directory-regular-files|nheader-fake-message-id-p|nheader-file-error|nheader-file-size|nheader-file-to-group|nheader-file-to-number|nheader-find-etc-directory|nheader-find-file-noselect|nheader-find-nov-line|nheader-fold-continuation-lines|nheader-generate-fake-message-id|nheader-get-lines-and-char|nheader-get-report-string|nheader-get-report|nheader-group-pathname|nheader-header-value|nheader-init-server-buffer|nheader-insert-article-line|nheader-insert-buffer-substring|nheader-insert-file-contents|nheader-insert-head|nheader-insert-header|nheader-insert-nov-file|nheader-insert-nov|nheader-insert-references|nheader-insert|nheader-message-maybe|nheader-message|nheader-ms-strip-cr|nheader-narrow-to-headers|nheader-nov-delete-outside-range|nheader-nov-field|nheader-nov-parse-extra|nheader-nov-read-integer|nheader-nov-read-message-id|nheader-nov-skip-field|nheader-parse-head|nheader-parse-naked-head|nheader-parse-nov|nheader-parse-overview-file|nheader-re-read-dir|nheader-remove-body|nheader-remove-cr-followed-by-lf|nheader-replace-chars-in-string|nheader-replace-duplicate-chars-in-string|nheader-replace-header|nheader-replace-regexp|nheader-replace-string|nheader-report|nheader-set-temp-buffer|nheader-skeleton-replace|nheader-strip-cr|nheader-translate-file-chars|nheader-update-marks-actions|nheader-write-overview-file|nmail-article-group|nmail-message-id|nmail-split-fancy|nml-generate-nov-databases|nvirtual-catchup-group|nvirtual-convert-headers|nvirtual-find-group-art|o-applicable-method|o-next-method|onincremental-re-search-backward|onincremental-re-search-forward|onincremental-repeat-search-backward|onincremental-repeat-search-forward|onincremental-search-backward|onincremental-search-forward|ormal-about-screen|ormal-erase-is-backspace-mode|ormal-erase-is-backspace-setup-frame|ormal-mouse-startup-screen|ormal-no-mouse-startup-screen|ormal-splash-screen|ormal-top-level-add-subdirs-to-load-path|ormal-top-level-add-to-load-path|ormal-top-level|otany|otevery|otifications-on-action-signal|otifications-on-closed-signal|reconc|roff-backward-text-line|roff-comment-indent|roff-count-text-lines|roff-electric-mode|roff-electric-newline|roff-forward-text-line|roff-insert-comment-function|roff-mode|roff-outline-level|roff-view|set-difference|set-exclusive-or|slookup-host|slookup-mode|slookup|sm-certificate-part|sm-check-certificate|sm-check-plain-connection|sm-check-protocol|sm-check-tls-connection|sm-fingerprint-ok-p|sm-fingerprint|sm-format-certificate|sm-host-settings|sm-id|sm-level|sm-new-fingerprint-ok-p|sm-parse-subject|sm-query-user|sm-query|sm-read-settings|sm-remove-permanent-setting|sm-remove-temporary-setting|sm-save-host|sm-verify-connection|sm-warnings-ok-p|sm-write-settings|sublis|subst-if-not|subst-if|subst|substitute-if-not)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:nsubstitute-if|nsubstitute|nth-value|ntlm-ascii2unicode|ntlm-build-auth-request|ntlm-build-auth-response|ntlm-get-password-hashes|ntlm-md4hash|ntlm-smb-des-e-p16|ntlm-smb-des-e-p24|ntlm-smb-dohash|ntlm-smb-hash|ntlm-smb-owf-encrypt|ntlm-smb-passwd-hash|ntlm-smb-str-to-key|ntlm-string-lshift|ntlm-string-permute|ntlm-string-xor|ntlm-unicode2ascii|nullify-allout-prefix-data|number-at-point|number-to-register|nunion|nxml-enable-unicode-char-name-sets|nxml-glyph-display-string|nxml-mode|obj-of-class-p|objc-font-lock-keywords-2|objc-font-lock-keywords-3|objc-font-lock-keywords|objc-mode|object-add-to-list|object-assoc-list-safe|object-assoc-list|object-assoc|object-class-fast|object-class-name|object-class|object-name-string|object-name|object-of-class-p|object-p|object-print|object-remove-from-list|object-set-name-string|object-slots|object-write|occur-1|occur-accumulate-lines|occur-after-change-function|occur-cease-edit|occur-context-lines|occur-edit-mode|occur-engine-add-prefix|occur-engine-line|occur-engine|occur-find-match|occur-mode-display-occurrence|occur-mode-find-occurrence|occur-mode-goto-occurrence-other-window|occur-mode-goto-occurrence|occur-mode-mouse-goto|occur-mode|occur-next-error|occur-next|occur-prev|occur-read-primary-args|occur-rename-buffer|occur-revert-function|occur|octave--indent-new-comment-line|octave-add-log-current-defun|octave-beginning-of-defun|octave-beginning-of-line|octave-complete-symbol|octave-completing-read|octave-completion-at-point|octave-eldoc-function-signatures|octave-eldoc-function|octave-end-of-line|octave-eval-print-last-sexp|octave-fill-paragraph|octave-find-definition-default-filename|octave-find-definition|octave-font-lock-texinfo-comment|octave-function-file-comment|octave-function-file-p|octave-goto-function-definition|octave-help-mode|octave-help|octave-hide-process-buffer|octave-in-comment-p|octave-in-string-or-comment-p|octave-in-string-p|octave-indent-comment|octave-indent-defun|octave-indent-new-comment-line|octave-insert-defun|octave-kill-process|octave-lookfor|octave-looking-at-kw|octave-mark-block|octave-maybe-insert-continuation-string|octave-mode-menu|octave-mode|octave-next-code-line|octave-previous-code-line|octave-send-block|octave-send-buffer|octave-send-defun|octave-send-line|octave-send-region|octave-show-process-buffer|octave-skip-comment-forward|octave-smie-backward-token|octave-smie-forward-token|octave-smie-rules|octave-source-directories|octave-source-file|octave-submit-bug-report|octave-sync-function-file-names|octave-syntax-propertize-function|octave-syntax-propertize-sqs|octave-update-function-file-comment|oddp|opascal-block-start|opascal-char-token-at|opascal-charset-token-at|opascal-column-of|opascal-comment-block-end|opascal-comment-block-start|opascal-comment-content-start|opascal-comment-indent-of|opascal-composite-type-start|opascal-corrected-indentation|opascal-current-token|opascal-debug-goto-next-token|opascal-debug-goto-point|opascal-debug-goto-previous-token|opascal-debug-log|opascal-debug-show-current-string|opascal-debug-show-current-token|opascal-debug-token-string|opascal-debug-tokenize-buffer|opascal-debug-tokenize-region|opascal-debug-tokenize-window|opascal-else-start|opascal-enclosing-indent-of|opascal-ensure-buffer|opascal-explicit-token-at|opascal-fill-comment|opascal-find-current-body|opascal-find-current-def|opascal-find-current-xdef|opascal-find-unit-file|opascal-find-unit-in-directory|opascal-find-unit|opascal-group-end|opascal-group-start|opascal-in-token|opascal-indent-line|opascal-indent-of|opascal-is-block-after-expr-statement|opascal-is-directory|opascal-is-file|opascal-is-literal-end|opascal-is-simple-class-type|opascal-is-use-clause-end|opascal-is|opascal-line-indent-of|opascal-literal-end-pattern|opascal-literal-kind|opascal-literal-start-pattern|opascal-literal-stop-pattern|opascal-literal-token-at|opascal-log-msg|opascal-looking-at-string|opascal-match-token|opascal-mode|opascal-new-comment-line|opascal-next-line-start|opascal-next-token|opascal-next-visible-token|opascal-on-first-comment-line|opascal-open-group-indent|opascal-point-token-at|opascal-previous-indent-of|opascal-previous-token|opascal-progress-done|opascal-progress-start|opascal-save-excursion|opascal-search-directory|opascal-section-indent-of|opascal-set-token-end|opascal-set-token-kind|opascal-set-token-start|opascal-space-token-at|opascal-step-progress|opascal-stmt-line-indent-of|opascal-string-of|opascal-tab|opascal-token-at|opascal-token-end|opascal-token-kind|opascal-token-of|opascal-token-start|opascal-token-string|opascal-word-token-at|open-font|open-gnutls-stream|open-line|open-protocol-stream|open-rectangle-line|open-rectangle|open-tls-stream|operate-on-rectangle|optimize-char-table|oref-default|oref|org-2ft|org-N-empty-lines-before-current|org-activate-angle-links|org-activate-bracket-links|org-activate-code|org-activate-dates|org-activate-footnote-links|org-activate-mark|org-activate-plain-links|org-activate-tags|org-activate-target-links|org-adaptive-fill-function|org-add-angle-brackets|org-add-archive-files|org-add-hook|org-add-link-props|org-add-link-type|org-add-log-note|org-add-log-setup|org-add-note|org-add-planning-info|org-add-prop-inherited|org-add-props|org-advertized-archive-subtree|org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item|org-agenda-columns|org-agenda-file-p|org-agenda-file-to-front|org-agenda-files|org-agenda-list-stuck-projects|org-agenda-list|org-agenda-prepare-buffers|org-agenda-set-restriction-lock|org-agenda-to-appt|org-agenda|org-align-all-tags|org-align-tags-here|org-all-targets|org-apply-on-list|org-apps-regexp-alist|org-archive-subtree-default-with-confirmation|org-archive-subtree-default|org-archive-subtree|org-archive-to-archive-sibling|org-ascii-export-as-ascii|org-ascii-export-to-ascii|org-ascii-publish-to-ascii|org-ascii-publish-to-latin1|org-ascii-publish-to-utf8|org-assign-fast-keys|org-at-TBLFM-p|org-at-block-p|org-at-clock-log-p|org-at-comment-p|org-at-date-range-p|org-at-drawer-p|org-at-heading-or-item-p|org-at-heading-p|org-at-item-bullet-p|org-at-item-checkbox-p|org-at-item-counter-p|org-at-item-description-p|org-at-item-p|org-at-item-timer-p|org-at-property-p|org-at-regexp-p|org-at-table-hline-p|org-at-table-p|org-at-table\\\\\\\\.el-p|org-at-target-p|org-at-timestamp-p|org-attach|org-auto-fill-function|org-auto-repeat-maybe|org-babel--shell-command-on-region|org-babel-active-location-p|org-babel-balanced-split|org-babel-check-confirm-evaluate|org-babel-check-evaluate|org-babel-check-src-block|org-babel-chomp|org-babel-combine-header-arg-lists|org-babel-comint-buffer-livep|org-babel-comint-eval-invisibly-and-wait-for-file|org-babel-comint-in-buffer|org-babel-comint-input-command|org-babel-comint-wait-for-output|org-babel-comint-with-output|org-babel-confirm-evaluate|org-babel-current-result-hash|org-babel-del-hlines|org-babel-demarcate-block|org-babel-describe-bindings|org-babel-detangle|org-babel-disassemble-tables|org-babel-do-in-edit-buffer|org-babel-do-key-sequence-in-edit-buffer|org-babel-do-load-languages|org-babel-edit-distance|org-babel-enter-header-arg-w-completion|org-babel-eval-error-notify|org-babel-eval-read-file|org-babel-eval-wipe-error-buffer|org-babel-eval|org-babel-examplize-region|org-babel-execute-buffer|org-babel-execute-maybe|org-babel-execute-safely-maybe|org-babel-execute-src-block-maybe|org-babel-execute-src-block|org-babel-execute-subtree|org-babel-execute:emacs-lisp|org-babel-exp-code|org-babel-exp-do-export|org-babel-exp-get-export-buffer|org-babel-exp-in-export-file|org-babel-exp-process-buffer|org-babel-exp-results|org-babel-exp-src-block|org-babel-expand-body:emacs-lisp|org-babel-expand-body:generic|org-babel-expand-noweb-references|org-babel-expand-src-block-maybe|org-babel-expand-src-block|org-babel-find-file-noselect-refresh|org-babel-find-named-block|org-babel-find-named-result|org-babel-format-result|org-babel-get-colnames|org-babel-get-header|org-babel-get-inline-src-block-matches|org-babel-get-lob-one-liner-matches|org-babel-get-rownames|org-babel-get-src-block-info|org-babel-goto-named-result|org-babel-goto-named-src-block|org-babel-goto-src-block-head|org-babel-hash-at-point|org-babel-header-arg-expand|org-babel-hide-all-hashes|org-babel-hide-hash|org-babel-hide-result-toggle-maybe|org-babel-hide-result-toggle|org-babel-import-elisp-from-file|org-babel-in-example-or-verbatim|org-babel-initiate-session|org-babel-insert-header-arg|org-babel-insert-result|org-babel-join-splits-near-ch|org-babel-load-file|org-babel-load-in-session-maybe|org-babel-load-in-session|org-babel-lob-execute-maybe|org-babel-lob-execute|org-babel-lob-get-info|org-babel-lob-ingest|org-babel-local-file-name|org-babel-map-call-lines|org-babel-map-executables|org-babel-map-inline-src-blocks|org-babel-map-src-blocks|org-babel-mark-block|org-babel-merge-params|org-babel-named-data-regexp-for-name|org-babel-named-src-block-regexp-for-name|org-babel-next-src-block|org-babel-noweb-p|org-babel-noweb-wrap|org-babel-number-p|org-babel-open-src-block-result|org-babel-params-from-properties|org-babel-parse-header-arguments|org-babel-parse-inline-src-block-match|org-babel-parse-multiple-vars|org-babel-parse-src-block-match|org-babel-pick-name|org-babel-pop-to-session-maybe|org-babel-pop-to-session|org-babel-previous-src-block|org-babel-process-file-name|org-babel-process-params|org-babel-put-colnames|org-babel-put-rownames|org-babel-read-link|org-babel-read-list|org-babel-read-result|org-babel-read-table|org-babel-read|org-babel-reassemble-table|org-babel-ref-at-ref-p|org-babel-ref-goto-headline-id|org-babel-ref-headline-body|org-babel-ref-index-list|org-babel-ref-parse|org-babel-ref-resolve|org-babel-ref-split-args|org-babel-remove-result|org-babel-remove-temporary-directory|org-babel-result-cond|org-babel-result-end|org-babel-result-hide-all|org-babel-result-hide-spec|org-babel-result-names|org-babel-result-to-file|org-babel-script-escape|org-babel-set-current-result-hash|org-babel-sha1-hash|org-babel-show-result-all|org-babel-spec-to-string|org-babel-speed-command-activate|org-babel-speed-command-hook|org-babel-src-block-names|org-babel-string-read|org-babel-switch-to-session-with-code|org-babel-switch-to-session|org-babel-table-truncate-at-newline|org-babel-tangle-clean|org-babel-tangle-collect-blocks|org-babel-tangle-comment-links|org-babel-tangle-file|org-babel-tangle-jump-to-org|org-babel-tangle-publish|org-babel-tangle-single-block|org-babel-tangle|org-babel-temp-file|org-babel-tramp-handle-call-process-region|org-babel-trim|org-babel-update-block-body|org-babel-view-src-block-info|org-babel-when-in-src-block|org-babel-where-is-src-block-head|org-babel-where-is-src-block-result|org-babel-with-temp-filebuffer|org-back-over-empty-lines|org-back-to-heading|org-backward-element|org-backward-heading-same-level|org-backward-paragraph|org-backward-sentence|org-base-buffer|org-batch-agenda-csv|org-batch-agenda|org-batch-store-agenda-views|org-bbdb-anniversaries|org-beamer-export-as-latex|org-beamer-export-to-latex|org-beamer-export-to-pdf|org-beamer-insert-options-template|org-beamer-mode|org-beamer-publish-to-latex|org-beamer-publish-to-pdf|org-beamer-select-environment|org-before-change-function|org-before-first-heading-p|org-beginning-of-dblock|org-beginning-of-item-list|org-beginning-of-item|org-beginning-of-line|org-between-regexps-p|org-block-map|org-block-todo-from-checkboxes|org-block-todo-from-children-or-siblings-or-parent|org-bookmark-jump-unhide|org-bound-and-true-p|org-buffer-list|org-buffer-narrowed-p|org-buffer-property-keys|org-cached-entry-get|org-calendar-goto-agenda|org-calendar-holiday|org-calendar-select-mouse|org-calendar-select|org-call-for-shift-select|org-call-with-arg|org-called-interactively-p|org-capture-import-remember-templates|org-capture-string|org-capture|org-cdlatex-math-modify|org-cdlatex-mode|org-cdlatex-underscore-caret|org-change-tag-in-region|org-char-to-string|org-check-after-date|org-check-agenda-file|org-check-and-save-marker|org-check-before-date|org-check-before-invisible-edit|org-check-dates-range|org-check-deadlines|org-check-external-command|org-check-for-hidden|org-check-running-clock|org-check-version|org-clean-visibility-after-subtree-move|org-clock-cancel|org-clock-display|org-clock-get-clocktable|org-clock-goto|org-clock-in-last|org-clock-in|org-clock-is-active|org-clock-out|org-clock-persistence-insinuate|org-clock-remove-overlays|org-clock-report|org-clock-sum|org-clock-update-time-maybe|org-clocktable-shift|org-clocktable-try-shift|org-clone-local-variables)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)org-(?:clone-subtree-with-time-shift|closest-date|columns-compute|columns-get-format-and-top-level|columns-number-to-string|columns-remove-overlays|columns|combine-plists|command-at-point|comment-line-break-function|comment-or-uncomment-region|compatible-face|complete-expand-structure-template|completing-read-no-i|completing-read|compute-latex-and-related-regexp|compute-property-at-point|content|context-p|context|contextualize-keys|contextualize-validate-key|convert-to-odd-levels|convert-to-oddeven-levels|copy-face|copy-special|copy-subtree|copy-visible|copy|count-lines|count|create-customize-menu|create-dblock|create-formula--latex-header|create-formula-image-with-dvipng|create-formula-image-with-imagemagick|create-formula-image|create-math-formula|create-multibrace-regexp|ctrl-c-ctrl-c|ctrl-c-minus|ctrl-c-ret|ctrl-c-star|current-effective-time|current-level|current-line-string|current-line|current-time|cursor-to-region-beginning|customize|cut-special|cut-subtree|cycle-agenda-files|cycle-hide-archived-subtrees|cycle-hide-drawers|cycle-hide-inline-tasks|cycle-internal-global|cycle-internal-local|cycle-item-indentation|cycle-level|cycle-list-bullet|cycle-show-empty-lines|cycle|date-from-calendar|date-to-gregorian|datetree-find-date-create|days-to-iso-week|days-to-time|dblock-update|dblock-write:clocktable|dblock-write:columnview|deadline-close|deadline|decompose-region|default-apps|defkey|defvaralias|delete-all|delete-backward-char|delete-char|delete-directory|delete-property-globally|delete-property|demote-subtree|demote|detach-overlay|diary-sexp-entry|diary-to-ical-string|diary|display-custom-time|display-inline-images|display-inline-modification-hook|display-inline-remove-overlay|display-outline-path|display-warning|do-demote|do-emphasis-faces|do-latex-and-related|do-occur|do-promote|do-remove-indentation|do-sort|do-wrap|down-element|drag-element-backward|drag-element-forward|drag-line-backward|drag-line-forward|duration-string-to-minutes|dvipng-color-format|dvipng-color|edit-agenda-file-list|edit-fixed-width-region|edit-special|edit-src-abort|edit-src-code|edit-src-continue|edit-src-exit|edit-src-find-buffer|edit-src-find-region-and-lang|edit-src-get-indentation|edit-src-get-label-format|edit-src-get-lang|edit-src-save|element-at-point|element-context|element-interpret-data|email-link-description|emphasize|end-of-item-list|end-of-item|end-of-line|end-of-meta-data-and-drawers|end-of-subtree|entities-create-table|entities-help|entity-get-representation|entity-get|entity-latex-math-p|entry-add-to-multivalued-property|entry-beginning-position|entry-blocked-p|entry-delete|entry-end-position|entry-get-multivalued-property|entry-get-with-inheritance|entry-get|entry-is-done-p|entry-is-todo-p|entry-member-in-multivalued-property|entry-properties|entry-protect-space|entry-put-multivalued-property|entry-put|entry-remove-from-multivalued-property|entry-restore-space|escape-code-in-region|escape-code-in-string|eval-in-calendar|eval-in-environment|eval|evaluate-time-range|every|export-as|export-dispatch|export-insert-default-template|export-replace-region-by|export-string-as|export-to-buffer|export-to-file|extract-attributes|extract-log-state-settings|face-from-face-or-color|fast-tag-insert|fast-tag-selection|fast-tag-show-exit|fast-todo-selection|feed-goto-inbox|feed-show-raw-feed|feed-update-all|feed-update|file-apps-entry-match-against-dlink-p|file-complete-link|file-contents|file-equal-p|file-image-p|file-menu-entry|file-remote-p|files-list|fill-line-break-nobreak-p|fill-paragraph-with-timestamp-nobreak-p|fill-paragraph|fill-template|find-base-buffer-visiting|find-dblock|find-entry-with-id|find-exact-heading-in-directory|find-exact-headline-in-buffer|find-file-at-mouse|find-if|find-invisible-foreground|find-invisible|find-library-dir|find-olp|find-overlays|find-text-property-in-string|find-visible|first-headline-recenter|first-sibling-p|fit-window-to-buffer|fix-decoded-time|fix-indentation|fix-position-after-promote|fix-tags-on-the-fly|fixup-indentation|fixup-message-id-for-http|flag-drawer|flag-heading|flag-subtree|float-time|floor\\\\\\\\*|follow-timestamp-link|font-lock-add-priority-faces|font-lock-add-tag-faces|font-lock-ensure|font-lock-hook|fontify-entities|fontify-like-in-org-mode|fontify-meta-lines-and-blocks-1|fontify-meta-lines-and-blocks|footnote-action|footnote-all-labels|footnote-at-definition-p|footnote-at-reference-p|footnote-auto-adjust-maybe|footnote-create-definition|footnote-delete-definitions|footnote-delete-references|footnote-delete|footnote-get-definition|footnote-get-next-reference|footnote-goto-definition|footnote-goto-local-insertion-point|footnote-goto-previous-reference|footnote-in-valid-context-p|footnote-new|footnote-next-reference-or-definition|footnote-normalize-label|footnote-normalize|footnote-renumber-fn:N|footnote-unique-label|force-cycle-archived|force-self-insert|format-latex-as-mathml|format-latex-mathml-available-p|format-latex|format-outline-path|format-seconds|forward-element|forward-heading-same-level|forward-paragraph|forward-sentence|get-agenda-file-buffer|get-alist-option|get-at-bol|get-buffer-for-internal-link|get-buffer-tags|get-category|get-checkbox-statistics-face|get-compact-tod|get-cursor-date|get-date-from-calendar|get-deadline-time|get-entry|get-export-keywords|get-heading|get-indentation|get-indirect-buffer|get-last-sibling|get-level-face|get-limited-outline-regexp|get-local-tags-at|get-local-tags|get-local-variables|get-location|get-next-sibling|get-org-file|get-outline-path|get-packages-alist|get-previous-line-level|get-priority|get-property-block|get-repeat|get-scheduled-time|get-string-indentation|get-tag-face|get-tags-at|get-tags-string|get-tags|get-todo-face|get-todo-sequence-head|get-todo-state|get-valid-level|get-wdays|get-x-clipboard-compat|get-x-clipboard|git-version|global-cycle|global-tags-completion-table|goto-calendar|goto-first-child|goto-left|goto-line|goto-local-auto-isearch|goto-local-search-headings|goto-map|goto-marker-or-bmk|goto-quit|goto-ret|goto-right|goto-sibling|goto|heading-components|hh:mm-string-to-minutes|hidden-tree-error|hide-archived-subtrees|hide-block-all|hide-block-toggle-all|hide-block-toggle-maybe|hide-block-toggle|hide-wide-columns|highlight-new-match|hours-to-clocksum-string|html-convert-region-to-html|html-export-as-html|html-export-to-html|html-htmlize-generate-css|html-publish-to-html|icalendar-combine-agenda-files|icalendar-export-agenda-files|icalendar-export-to-ics|icompleting-read|id-copy|id-find-id-file|id-find|id-get-create|id-get-with-outline-drilling|id-get-with-outline-path-completion|id-get|id-goto|id-new|id-store-link|id-update-id-locations|ido-switchb|image-file-name-regexp|imenu-get-tree|imenu-new-marker|in-block-p|in-clocktable-p|in-commented-line|in-drawer-p|in-fixed-width-region-p|in-indented-comment-line|in-invisibility-spec-p|in-item-p|in-regexp|in-src-block-p|in-subtree-not-table-p|in-verbatim-emphasis|inc-effort|indent-block|indent-drawer|indent-item-tree|indent-item|indent-line-to|indent-line|indent-mode|indent-region|indent-to-column|info|inhibit-invisibility|insert-all-links|insert-columns-dblock|insert-comment|insert-drawer|insert-heading-after-current|insert-heading-respect-content|insert-heading|insert-item|insert-link-global|insert-link|insert-property-drawer|insert-subheading|insert-time-stamp|insert-todo-heading-respect-content|insert-todo-heading|insert-todo-subheading|inside-LaTeX-fragment-p|inside-latex-macro-p|install-agenda-files-menu|invisible-p2|irc-store-link|iread-file-name|isearch-end|isearch-post-command|iswitchb-completing-read|iswitchb|item-beginning-re|item-re|key|kill-is-subtree-p|kill-line|kill-new|kill-note-or-show-branches|last|latex-color-format|latex-color|latex-convert-region-to-latex|latex-export-as-latex|latex-export-to-latex|latex-export-to-pdf|latex-packages-to-string|latex-publish-to-latex|latex-publish-to-pdf|let2??|level-increment|link-display-format|link-escape|link-expand-abbrev|link-fontify-links-to-this-file|link-prettify|link-search|link-try-special-completion|link-unescape-compound|link-unescape-single-byte-sequence|link-unescape|list-at-regexp-after-bullet-p|list-bullet-string|list-context|list-delete-item|list-get-all-items|list-get-bottom-point|list-get-bullet|list-get-checkbox|list-get-children|list-get-counter|list-get-first-item|list-get-ind|list-get-item-begin|list-get-item-end-before-blank|list-get-item-end|list-get-item-number|list-get-last-item|list-get-list-begin|list-get-list-end|list-get-list-type|list-get-next-item|list-get-nth|list-get-parent|list-get-prev-item|list-get-subtree|list-get-tag|list-get-top-point|list-has-child-p|list-in-valid-context-p|list-inc-bullet-maybe|list-indent-item-generic|list-insert-item|list-insert-radio-list|list-item-body-column|list-item-trim-br|list-make-subtree|list-parents-alist|list-prevs-alist|list-repair|list-search-backward|list-search-forward|list-search-generic|list-send-item|list-send-list|list-separating-blank-lines-number|list-set-bullet|list-set-checkbox|list-set-ind|list-set-item-visibility|list-set-nth|list-struct-apply-struct|list-struct-assoc-end|list-struct-fix-box|list-struct-fix-bul|list-struct-fix-ind|list-struct-fix-item-end|list-struct-indent|list-struct-outdent|list-swap-items|list-to-generic|list-to-html|list-to-latex|list-to-subtree|list-to-texinfo|list-use-alpha-bul-p|list-write-struct|load-modules-maybe|load-noerror-mustsuffix|local-logging|log-into-drawer|looking-at-p|looking-back|macro--collect-macros|macro-expand|macro-initialize-templates|macro-replace-all|make-link-regexps|make-link-string|make-options-regexp|make-org-heading-search-string|make-parameter-alist|make-tags-matcher|make-target-link-regexp|make-tdiff-string|map-dblocks|map-entries|map-region|map-tree|mark-element|mark-ring-goto|mark-ring-push|mark-subtree|match-any-p|match-line|match-sparse-tree|match-string-no-properties|matcher-time|maybe-intangible|md-convert-region-to-md|md-export-as-markdown|md-export-to-markdown|meta-return|metadown|metaleft|metaright|metaup|minutes-to-clocksum-string|minutes-to-hh:mm-string|mobile-pull|mobile-push|mode-flyspell-verify|mode-restart|mode|modifier-cursor-error)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:org-modify-ts-extra|org-move-item-down|org-move-item-up|org-move-subtree-down|org-move-subtree-up|org-move-to-column|org-narrow-to-block|org-narrow-to-element|org-narrow-to-subtree|org-next-block|org-next-item|org-next-link|org-no-popups|org-no-properties|org-no-read-only|org-no-warnings|org-normalize-color|org-not-nil|org-notes-order-reversed-p|org-number-sequence|org-occur-in-agenda-files|org-occur-link-in-agenda-files|org-occur-next-match|org-occur|org-odt-convert|org-odt-export-as-odf-and-open|org-odt-export-as-odf|org-odt-export-to-odt|org-offer-links-in-entry|org-olpath-completing-read|org-on-heading-p|org-on-target-p|org-op-to-function|org-open-at-mouse|org-open-at-point-global|org-open-at-point|org-open-file-with-emacs|org-open-file-with-system|org-open-file|org-open-line|org-open-link-from-string|org-optimize-window-after-visibility-change|org-order-calendar-date-args|org-org-export-as-org|org-org-export-to-org|org-org-menu|org-org-publish-to-org|org-outdent-item-tree|org-outdent-item|org-outline-level|org-outline-overlay-data|org-overlay-before-string|org-overlay-display|org-overview|org-parse-arguments|org-parse-time-string|org-paste-special|org-paste-subtree|org-pcomplete-case-double|org-pcomplete-initial|org-plist-delete|org-plot/gnuplot|org-point-at-end-of-empty-headline|org-point-in-group|org-pop-to-buffer-same-window|org-pos-in-match-range|org-prepare-dblock|org-preserve-lc|org-preview-latex-fragment|org-previous-block|org-previous-item|org-previous-line-empty-p|org-previous-link|org-print-speed-command|org-priority-down|org-priority-up|org-priority|org-promote-subtree|org-promote|org-propertize|org-property-action|org-property-get-allowed-values|org-property-inherit-p|org-property-next-allowed-value|org-property-or-variable-value|org-property-previous-allowed-value|org-property-values|org-protect-slash|org-publish-all|org-publish-current-file|org-publish-current-project|org-publish-project|org-publish|org-quote-csv-field|org-quote-vert|org-raise-scripts|org-re-property|org-re-timestamp|org-re|org-read-agenda-file-list|org-read-date-analyze|org-read-date-display|org-read-date-get-relative|org-read-date|org-read-property-name|org-read-property-value|org-rear-nonsticky-at|org-recenter-calendar|org-redisplay-inline-images|org-reduce|org-reduced-level|org-refile--get-location|org-refile-cache-check-set|org-refile-cache-clear|org-refile-cache-get|org-refile-cache-put|org-refile-check-position|org-refile-get-location|org-refile-get-targets|org-refile-goto-last-stored|org-refile-marker|org-refile-new-child|org-refile|org-refresh-category-properties|org-refresh-properties|org-reftex-citation|org-region-active-p|org-reinstall-markers-in-region|org-release-buffers|org-release|org-reload|org-remap|org-remove-angle-brackets|org-remove-double-quotes|org-remove-empty-drawer-at|org-remove-empty-overlays-at|org-remove-file|org-remove-flyspell-overlays-in|org-remove-font-lock-display-properties|org-remove-from-invisibility-spec|org-remove-if-not|org-remove-if|org-remove-indentation|org-remove-inline-images|org-remove-keyword-keys|org-remove-latex-fragment-image-overlays|org-remove-occur-highlights|org-remove-tabs|org-remove-timestamp-with-keyword|org-remove-uninherited-tags|org-replace-escapes|org-replace-match-keep-properties|org-require-autoloaded-modules|org-reset-checkbox-state-subtree|org-resolve-clocks|org-restart-font-lock|org-return-indent|org-return|org-reveal|org-reverse-string|org-revert-all-org-buffers|org-run-like-in-org-mode|org-save-all-org-buffers|org-save-markers-in-region|org-save-outline-visibility|org-sbe|org-scan-tags|org-schedule|org-search-not-self|org-search-view|org-select-frame-set-input-focus|org-self-insert-command|org-set-current-tags-overlay|org-set-effort|org-set-emph-re|org-set-font-lock-defaults|org-set-frame-title|org-set-local|org-set-modules|org-set-outline-overlay-data|org-set-packages-alist|org-set-property-and-value|org-set-property-function|org-set-property|org-set-regexps-and-options-for-tags|org-set-regexps-and-options|org-set-startup-visibility|org-set-tag-faces|org-set-tags-command|org-set-tags-to|org-set-tags|org-set-transient-map|org-set-visibility-according-to-property|org-setup-comments-handling|org-setup-filling|org-shiftcontroldown|org-shiftcontrolleft|org-shiftcontrolright|org-shiftcontrolup|org-shiftdown|org-shiftleft|org-shiftmetadown|org-shiftmetaleft|org-shiftmetaright|org-shiftmetaup|org-shiftright|org-shiftselect-error|org-shifttab|org-shiftup|org-shorten-string|org-show-block-all|org-show-context|org-show-empty-lines-in-parent|org-show-entry|org-show-hidden-entry|org-show-priority|org-show-siblings|org-show-subtree|org-show-todo-tree|org-skip-over-state-notes|org-skip-whitespace|org-small-year-to-year|org-some|org-sort-entries|org-sort-list|org-sort-remove-invisible|org-sort|org-sparse-tree|org-speed-command-activate|org-speed-command-default-hook|org-speed-command-help|org-speed-move-safe|org-speedbar-set-agenda-restriction|org-splice-latex-header|org-split-string|org-src-associate-babel-session|org-src-babel-configure-edit-buffer|org-src-construct-edit-buffer-name|org-src-do-at-code-block|org-src-do-key-sequence-at-code-block|org-src-edit-buffer-p|org-src-font-lock-fontify-block|org-src-fontify-block|org-src-fontify-buffer|org-src-get-lang-mode|org-src-in-org-buffer|org-src-mode-configure-edit-buffer|org-src-mode|org-src-native-tab-command-maybe|org-src-switch-to-buffer|org-src-tangle|org-store-agenda-views|org-store-link-props|org-store-link|org-store-log-note|org-store-new-agenda-file-list|org-string-match-p|org-string-nw-p|org-string-width|org-string<=|org-string<>|org-string>=??|org-sublist|org-submit-bug-report|org-substitute-posix-classes|org-subtree-end-visible-p|org-switch-to-buffer-other-window|org-switchb|org-table-align|org-table-begin|org-table-blank-field|org-table-convert-region|org-table-convert|org-table-copy-down|org-table-copy-region|org-table-create-or-convert-from-region|org-table-create-with-table\\\\\\\\.el|org-table-create|org-table-current-dline|org-table-cut-region|org-table-delete-column|org-table-edit-field|org-table-edit-formulas|org-table-end|org-table-eval-formula|org-table-export|org-table-field-info|org-table-get-stored-formulas|org-table-goto-column|org-table-hline-and-move|org-table-import|org-table-insert-column|org-table-insert-hline|org-table-insert-row|org-table-iterate-buffer-tables|org-table-iterate|org-table-justify-field-maybe|org-table-kill-row|org-table-map-tables|org-table-maybe-eval-formula|org-table-maybe-recalculate-line|org-table-move-column-left|org-table-move-column-right|org-table-move-column|org-table-move-row-down|org-table-move-row-up|org-table-move-row|org-table-next-field|org-table-next-row|org-table-p|org-table-paste-rectangle|org-table-previous-field|org-table-recalculate-buffer-tables|org-table-recalculate|org-table-recognize-table\\\\\\\\.el|org-table-rotate-recalc-marks|org-table-set-constants|org-table-sort-lines|org-table-sum|org-table-to-lisp|org-table-toggle-coordinate-overlays|org-table-toggle-formula-debugger|org-table-wrap-region|org-tag-inherit-p|org-tags-completion-function|org-tags-expand|org-tags-sparse-tree|org-tags-view|org-tbl-menu|org-texinfo-convert-region-to-texinfo|org-texinfo-publish-to-texinfo|org-thing-at-point|org-time-from-absolute|org-time-stamp-format|org-time-stamp-inactive|org-time-stamp-to-now|org-time-stamp|org-time-string-to-absolute|org-time-string-to-seconds|org-time-string-to-time|org-time-today|org-time<=??|org-time<>|org-time=|org-time>=??|org-timer-change-times-in-region|org-timer-item|org-timer-set-timer|org-timer-start|org-timer|org-timestamp-change|org-timestamp-down-day|org-timestamp-down|org-timestamp-format|org-timestamp-has-time-p|org-timestamp-split-range|org-timestamp-translate|org-timestamp-up-day|org-timestamp-up|org-today|org-todo-list|org-todo-trigger-tag-changes|org-todo-yesterday|org-todo|org-toggle-archive-tag|org-toggle-checkbox|org-toggle-comment|org-toggle-custom-properties-visibility|org-toggle-fixed-width-section|org-toggle-heading|org-toggle-inline-images|org-toggle-item|org-toggle-link-display|org-toggle-ordered-property|org-toggle-pretty-entities|org-toggle-sticky-agenda|org-toggle-tag|org-toggle-tags-groups|org-toggle-time-stamp-overlays|org-toggle-timestamp-type|org-tr-level|org-translate-link-from-planner|org-translate-link|org-translate-time|org-transpose-element|org-transpose-words|org-tree-to-indirect-buffer|org-trim|org-truely-invisible-p|org-try-cdlatex-tab|org-try-structure-completion|org-unescape-code-in-region|org-unescape-code-in-string|org-unfontify-region|org-unindent-buffer|org-uniquify-alist|org-uniquify|org-unlogged-message|org-unmodified|org-up-element|org-up-heading-all|org-up-heading-safe|org-update-all-dblocks|org-update-checkbox-count-maybe|org-update-checkbox-count|org-update-dblock|org-update-parent-todo-statistics|org-update-property-plist|org-update-radio-target-regexp|org-update-statistics-cookies|org-uuidgen-p|org-version-check|org-version|org-with-gensyms|org-with-limited-levels|org-with-point-at|org-with-remote-undo|org-with-silent-modifications|org-with-wide-buffer|org-without-partial-completion|org-wrap|org-xemacs-without-invisibility|org-xor|org-yank-folding-would-swallow-text|org-yank-generic|org-yank|org<>|orgstruct\\\\\\\\+\\\\\\\\+-mode|orgstruct-error|orgstruct-make-binding|orgstruct-mode|orgstruct-setup|orgtbl-mode|orgtbl-to-csv|orgtbl-to-generic|orgtbl-to-html|orgtbl-to-latex|orgtbl-to-orgtbl|orgtbl-to-texinfo|orgtbl-to-tsv|oset-default|oset|other-frame|other-window-for-scrolling|outline-back-to-heading|outline-backward-same-level|outline-demote|outline-end-of-heading|outline-end-of-subtree|outline-flag-region|outline-flag-subtree|outline-font-lock-face|outline-forward-same-level|outline-get-last-sibling|outline-get-next-sibling|outline-head-from-level|outline-headers-as-kill|outline-insert-heading|outline-invent-heading|outline-invisible-p|outline-isearch-open-invisible|outline-level|outline-map-region|outline-mark-subtree|outline-minor-mode|outline-mode|outline-move-subtree-down|outline-move-subtree-up|outline-next-heading|outline-next-preface|outline-next-visible-heading|outline-on-heading-p|outline-previous-heading|outline-previous-visible-heading|outline-promote|outline-reveal-toggle-invisible|outline-show-heading|outline-toggle-children|outline-up-heading|outlineify-sticky|outlinify-sticky|overlay-lists|overload-docstring-extension|overload-obsoleted-by|overload-that-obsolete|package--ac-desc-extras--cmacro|package--ac-desc-extras|package--ac-desc-kind--cmacro|package--ac-desc-kind|package--ac-desc-reqs--cmacro|package--ac-desc-reqs|package--ac-desc-summary--cmacro|package--ac-desc-summary|package--ac-desc-version--cmacro|package--ac-desc-version|package--add-to-archive-contents|package--alist-to-plist-args|package--archive-file-exists-p|package--bi-desc-reqs--cmacro|package--bi-desc-reqs|package--bi-desc-summary--cmacro|package--bi-desc-summary|package--bi-desc-version--cmacro|package--bi-desc-version|package--check-signature|package--compile|package--description-file|package--display-verify-error|package--download-one-archive|package--from-builtin|package--has-keyword-p|package--list-loaded-files|package--make-autoloads-and-stuff|package--mapc|package--prepare-dependencies|package--push|package--read-archive-file|package--with-work-buffer|package--write-file-no-coding|package-activate-1|package-activate|package-all-keywords|package-archive-base|package-autoload-ensure-default-file|package-buffer-info|package-built-in-p|package-compute-transaction|package-delete|package-desc--keywords|package-desc-archive--cmacro|package-desc-archive|package-desc-create--cmacro|package-desc-create|package-desc-dir--cmacro|package-desc-dir|package-desc-extras--cmacro|package-desc-extras|package-desc-from-define|package-desc-full-name|package-desc-kind--cmacro|package-desc-kind|package-desc-name--cmacro|package-desc-name|package-desc-p--cmacro|package-desc-p|package-desc-reqs--cmacro|package-desc-reqs|package-desc-signed--cmacro|package-desc-signed|package-desc-status|package-desc-suffix|package-desc-summary--cmacro|package-desc-summary|package-desc-version--cmacro|package-desc-version|package-disabled-p|package-download-transaction|package-generate-autoloads|package-generate-description-file|package-import-keyring|package-install-button-action|package-install-file|package-install-from-archive)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)p(?:ackage-install-from-buffer|ackage-install|ackage-installed-p|ackage-keyword-button-action|ackage-list-packages-no-fetch|ackage-list-packages|ackage-load-all-descriptors|ackage-load-descriptor|ackage-make-ac-desc--cmacro|ackage-make-ac-desc|ackage-make-builtin--cmacro|ackage-make-builtin|ackage-make-button|ackage-menu--archive-predicate|ackage-menu--description-predicate|ackage-menu--find-upgrades|ackage-menu--generate|ackage-menu--name-predicate|ackage-menu--print-info|ackage-menu--refresh|ackage-menu--status-predicate|ackage-menu--version-predicate|ackage-menu-backup-unmark|ackage-menu-describe-package|ackage-menu-execute|ackage-menu-filter|ackage-menu-get-status|ackage-menu-mark-delete|ackage-menu-mark-install|ackage-menu-mark-obsolete-for-deletion|ackage-menu-mark-unmark|ackage-menu-mark-upgrades|ackage-menu-mode|ackage-menu-quick-help|ackage-menu-refresh|ackage-menu-view-commentary|ackage-process-define-package|ackage-read-all-archive-contents|ackage-read-archive-contents|ackage-read-from-string|ackage-refresh-contents|ackage-show-package-list|ackage-strip-rcs-id|ackage-tar-file-info|ackage-unpack|ackage-untar-buffer|ackage-version-join|ages-copy-header-and-position|ages-directory-address-mode|ages-directory-for-addresses|ages-directory-goto-with-mouse|ages-directory-goto|ages-directory-mode|ages-directory|airlis|aragraph-indent-minor-mode|aragraph-indent-text-mode|arse-iso8601-time-string|arse-time-string-chars|arse-time-string|arse-time-tokenize|ascal-beg-of-defun|ascal-build-defun-re|ascal-calculate-indent|ascal-capitalize-keywords|ascal-change-keywords|ascal-comment-area|ascal-comp-defun|ascal-complete-word|ascal-completion|ascal-completions-at-point|ascal-declaration-beg|ascal-declaration-end|ascal-downcase-keywords|ascal-end-of-defun|ascal-end-of-statement|ascal-func-completion|ascal-get-completion-decl|ascal-get-default-symbol|ascal-get-lineup-indent|ascal-goto-defun|ascal-hide-other-defuns|ascal-indent-case|ascal-indent-command|ascal-indent-comment|ascal-indent-declaration|ascal-indent-level|ascal-indent-line|ascal-indent-paramlist|ascal-insert-block|ascal-keyword-completion|ascal-mark-defun|ascal-mode|ascal-outline-change|ascal-outline-goto-defun|ascal-outline-mode|ascal-outline-next-defun|ascal-outline-prev-defun|ascal-outline|ascal-set-auto-comments|ascal-show-all|ascal-show-completions|ascal-star-comment|ascal-string-diff|ascal-type-completion|ascal-uncomment-area|ascal-upcase-keywords|ascal-var-completion|ascal-within-string|assword-cache-add|assword-cache-remove|assword-in-cache-p|assword-read-and-add|assword-read-from-cache|assword-read|assword-reset|case--and|case--app-subst-match|case--app-subst-rest|case--eval|case--expand|case--fgrep|case--flip|case--funcall|case--if|case--let\\\\\\\\*|case--macroexpand|case--mark-used|case--match|case--mutually-exclusive-p|case--self-quoting-p|case--small-branch-p|case--split-equal|case--split-match|case--split-member|case--split-pred|case--split-rest|case--trivial-upat-p|case--u1??|case-codegen|case-defmacro|case-dolist|case-exhaustive|case-let\\\\\\\\*?|complete/ack-grep|complete/ack|complete/ag|complete/bzip2|complete/cd|complete/chgrp|complete/chown|complete/cvs|complete/erc-mode/CLEARTOPIC|complete/erc-mode/CTCP|complete/erc-mode/DCC|complete/erc-mode/DEOP|complete/erc-mode/DESCRIBE|complete/erc-mode/IDLE|complete/erc-mode/KICK|complete/erc-mode/LEAVE|complete/erc-mode/LOAD|complete/erc-mode/ME|complete/erc-mode/MODE|complete/erc-mode/MSG|complete/erc-mode/NAMES|complete/erc-mode/NOTICE|complete/erc-mode/NOTIFY|complete/erc-mode/OP|complete/erc-mode/PART|complete/erc-mode/QUERY|complete/erc-mode/SAY|complete/erc-mode/SOUND|complete/erc-mode/TOPIC|complete/erc-mode/UNIGNORE|complete/erc-mode/WHOIS|complete/erc-mode/complete-command|complete/eshell-mode/eshell-debug|complete/eshell-mode/export|complete/eshell-mode/setq|complete/eshell-mode/unset|complete/gdb|complete/gzip|complete/kill|complete/make|complete/mount|complete/org-mode/block-option/clocktable|complete/org-mode/block-option/src|complete/org-mode/drawer|complete/org-mode/file-option/author|complete/org-mode/file-option/bind|complete/org-mode/file-option/date|complete/org-mode/file-option/email|complete/org-mode/file-option/exclude_tags|complete/org-mode/file-option/filetags|complete/org-mode/file-option/infojs_opt|complete/org-mode/file-option/language|complete/org-mode/file-option/options|complete/org-mode/file-option/priorities|complete/org-mode/file-option/select_tags|complete/org-mode/file-option/startup|complete/org-mode/file-option/tags|complete/org-mode/file-option/title|complete/org-mode/file-option|complete/org-mode/link|complete/org-mode/prop|complete/org-mode/searchhead|complete/org-mode/tag|complete/org-mode/tex|complete/org-mode/todo|complete/pushd|complete/rm|complete/rmdir|complete/rpm|complete/scp|complete/ssh|complete/tar|complete/time|complete/tlmgr|complete/umount|complete/which|complete/xargs|complete--common-suffix|complete--entries|complete--help|complete--here|complete--test|complete-actual-arg|complete-all-entries|complete-arg|complete-begin|complete-comint-setup|complete-command-name|complete-completions-at-point|complete-completions|complete-continue|complete-dirs-or-entries|complete-dirs|complete-do-complete|complete-entries|complete-erc-all-nicks|complete-erc-channels|complete-erc-command-name|complete-erc-commands|complete-erc-nicks|complete-erc-not-ops|complete-erc-ops|complete-erc-parse-arguments|complete-erc-setup|complete-event-matches-key-specifier-p|complete-executables|complete-expand-and-complete|complete-expand|complete-find-completion-function|complete-help|complete-here\\\\\\\\*?|complete-insert-entry|complete-list|complete-match-beginning|complete-match-end|complete-match-string|complete-match|complete-next-arg|complete-opt|complete-parse-arguments|complete-parse-buffer-arguments|complete-parse-comint-arguments|complete-process-result|complete-quote-argument|complete-read-event|complete-restore-windows|complete-reverse|complete-shell-setup|complete-show-completions|complete-std-complete|complete-stub|complete-test|complete-uniqify-list|complete-unquote-argument|complete|db|ending-delete-mode|erl-backward-to-noncomment|erl-backward-to-start-of-continued-exp|erl-beginning-of-function|erl-calculate-indent|erl-comment-indent|erl-continuation-line-p|erl-current-defun-name|erl-electric-noindent-p|erl-electric-terminator|erl-end-of-function|erl-font-lock-syntactic-face-function|erl-hanging-paren-p|erl-indent-command|erl-indent-exp|erl-indent-line|erl-indent-new-calculate|erl-mark-function|erl-mode|erl-outline-level|erl-quote-syntax-table|erl-syntax-propertize-function|erl-syntax-propertize-special-constructs|erldb|icture-backward-clear-column|icture-backward-column|icture-beginning-of-line|icture-clear-column|icture-clear-line|icture-clear-rectangle-to-register|icture-clear-rectangle|icture-current-line|icture-delete-char|icture-draw-rectangle|icture-duplicate-line|icture-end-of-line|icture-forward-column|icture-insert-rectangle|icture-insert|icture-mode-exit|icture-mode|icture-motion-reverse|icture-motion|icture-mouse-set-point|icture-move-down|icture-move-up|icture-move|icture-movement-down|icture-movement-left|icture-movement-ne|icture-movement-nw|icture-movement-right|icture-movement-se|icture-movement-sw|icture-movement-up|icture-newline|icture-open-line|icture-replace-match|icture-self-insert|icture-set-motion|icture-set-tab-stops|icture-snarf-rectangle|icture-tab-search|icture-tab|icture-update-desired-column|icture-yank-at-click|icture-yank-rectangle-from-register|icture-yank-rectangle|ike-font-lock-keywords-2|ike-font-lock-keywords-3|ike-font-lock-keywords|ike-mode|ing|lain-TeX-mode|lain-tex-mode|lay-sound-internal|lstore-delete|lstore-find|lstore-get-file|lstore-mode|lstore-open|lstore-put|lstore-save|lusp|o-find-charset|o-find-file-coding-system-guts|o-find-file-coding-system|oint-at-bol|oint-at-eol|oint-to-register|ong-display-options|ong-init-buffer|ong-init|ong-move-down|ong-move-left|ong-move-right|ong-move-up|ong-pause|ong-quit|ong-resume|ong-update-bat|ong-update-game|ong-update-score|ong|op-global-mark|op-tag-mark|op-to-buffer-same-window|op-to-mark-command|op3-movemail|opup-menu-normalize-position|opup-menu|osition-if-not|osition-if|osition|osn-set-point|ost-read-decode-hz|p-buffer|p-display-expression|p-eval-expression|p-eval-last-sexp|p-last-sexp|p-macroexpand-expression|p-macroexpand-last-sexp|p-to-string|r-alist-custom-set|r-article-date|r-auto-mode-p|r-call-process|r-choice-alist|r-command|r-complete-alist|r-create-interface|r-customize|r-delete-file-if-exists|r-delete-file|r-despool-preview|r-despool-print|r-despool-ps-print|r-despool-using-ghostscript|r-do-update-menus|r-dosify-file-name|r-eval-alist|r-eval-local-alist|r-eval-setting-alist|r-even-or-odd-pages|r-expand-file-name|r-file-list|r-find-buffer-visiting|r-find-command|r-get-symbol|r-global-menubar|r-gnus-lpr|r-gnus-print|r-help|r-i-directory|r-i-ps-send|r-insert-button|r-insert-checkbox|r-insert-italic|r-insert-menu|r-insert-radio-button|r-insert-section-1|r-insert-section-2|r-insert-section-3|r-insert-section-4|r-insert-section-5|r-insert-section-6|r-insert-section-7|r-insert-toggle|r-interactive-dir-args|r-interactive-dir|r-interactive-n-up-file|r-interactive-n-up-inout|r-interactive-n-up|r-interactive-ps-dir-args|r-interactive-regexp|r-interface-directory|r-interface-help|r-interface-infile|r-interface-outfile|r-interface-preview|r-interface-printify|r-interface-ps-print|r-interface-ps|r-interface-quit|r-interface-save|r-interface-txt-print|r-interface|r-keep-region-active|r-kill-help|r-kill-local-variable|r-local-variable|r-lpr-message-from-summary|r-menu-alist|r-menu-bind|r-menu-char-height|r-menu-char-width|r-menu-create|r-menu-get-item|r-menu-index|r-menu-lock|r-menu-lookup|r-menu-position|r-menu-set-item-name|r-menu-set-ps-title|r-menu-set-txt-title|r-menu-set-utility-title|r-mh-current-message|r-mh-lpr-1|r-mh-lpr-2|r-mh-print-1|r-mh-print-2|r-mode-alist-p|r-mode-lpr|r-mode-print|r-path-command|r-printify-buffer|r-printify-directory|r-printify-region|r-prompt-gs|r-prompt-region|r-prompt|r-ps-buffer-preview|r-ps-buffer-print|r-ps-buffer-ps-print|r-ps-buffer-using-ghostscript|r-ps-directory-preview|r-ps-directory-print|r-ps-directory-ps-print|r-ps-directory-using-ghostscript|r-ps-fast-fire|r-ps-file-list|r-ps-file-preview|r-ps-file-print|r-ps-file-ps-print|r-ps-file-up-preview|r-ps-file-up-ps-print|r-ps-file-using-ghostscript|r-ps-file|r-ps-infile-preprint|r-ps-message-from-summary|r-ps-mode-preview|r-ps-mode-print|r-ps-mode-ps-print|r-ps-mode-using-ghostscript|r-ps-mode|r-ps-name-custom-set|r-ps-name|r-ps-outfile-preprint|r-ps-preview|r-ps-print|r-ps-region-preview|r-ps-region-print|r-ps-region-ps-print|r-ps-region-using-ghostscript|r-ps-set-printer|r-ps-set-utility|r-ps-using-ghostscript|r-ps-utility-args|r-ps-utility-custom-set|r-ps-utility-process|r-ps-utility|r-read-string|r-region-active-p|r-region-active-string|r-region-active-symbol|r-remove-nil-from-list|r-rmail-lpr|r-rmail-print|r-save-file-modes|r-set-dir-args|r-set-keymap-name|r-set-keymap-parents|r-set-n-up-and-filename|r-set-outfilename|r-set-ps-dir-args|r-setup|r-show-lpr-setup|r-show-pr-setup|r-show-ps-setup|r-show-setup|r-standard-file-name|r-switches-string|r-switches|r-text2ps|r-toggle-duplex-menu|r-toggle-duplex|r-toggle-faces-menu|r-toggle-faces|r-toggle-file-duplex-menu|r-toggle-file-duplex)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)p(?:r-toggle-file-landscape-menu|r-toggle-file-landscape|r-toggle-file-tumble-menu|r-toggle-file-tumble|r-toggle-ghostscript-menu|r-toggle-ghostscript|r-toggle-header-frame-menu|r-toggle-header-frame|r-toggle-header-menu|r-toggle-header|r-toggle-landscape-menu|r-toggle-landscape|r-toggle-line-menu|r-toggle-line|r-toggle-lock-menu|r-toggle-lock|r-toggle-mode-menu|r-toggle-mode|r-toggle-region-menu|r-toggle-region|r-toggle-spool-menu|r-toggle-spool|r-toggle-tumble-menu|r-toggle-tumble|r-toggle-upside-down-menu|r-toggle-upside-down|r-toggle-zebra-menu|r-toggle-zebra|r-toggle|r-txt-buffer|r-txt-directory|r-txt-fast-fire|r-txt-mode|r-txt-name-custom-set|r-txt-name|r-txt-print|r-txt-region|r-txt-set-printer|r-unixify-file-name|r-update-checkbox|r-update-menus|r-update-mode-line|r-update-radio-button|r-update-var|r-using-ghostscript-p|r-visible-p|r-vm-lpr|r-vm-print|r-widget-field-action|re-write-encode-hz|receding-sexp|refer-coding-system|repare-abbrev-list-buffer|repend-to-buffer|repend-to-register|rettify-symbols--compose-symbol|rettify-symbols--make-keywords|rettify-symbols-mode-set-explicitly|rettify-symbols-mode|revious-buffer|revious-completion|revious-error-no-select|revious-error|revious-ifdef|revious-line-or-history-element|revious-line|revious-logical-line|revious-multiframe-window|revious-page|rin1-char|rinc-list|rint-buffer|rint-help-return-message|rint-region-1|rint-region-new-buffer|rint-region|rintify-region|roced-<|roced-auto-update-timer|roced-children-alist|roced-children-pids|roced-do-mark-all|roced-do-mark|roced-filter-children|roced-filter-interactive|roced-filter-parents|roced-filter|roced-format-args|roced-format-interactive|roced-format-start|roced-format-time|roced-format-tree|roced-format-ttname|roced-format|roced-header-line|roced-help|roced-insert-mark|roced-log-summary|roced-log|roced-mark-all|roced-mark-children|roced-mark-parents|roced-mark-process-alist|roced-mark|roced-marked-processes|roced-marker-regexp|roced-menu|roced-mode|roced-move-to-goal-column|roced-omit-process|roced-omit-processes|roced-pid-at-point|roced-process-attributes|roced-process-tree-internal|roced-process-tree|roced-refine|roced-renice|roced-revert|roced-send-signal|roced-sort-header|roced-sort-interactive|roced-sort-p|roced-sort-pcpu|roced-sort-pid|roced-sort-pmem|roced-sort-start|roced-sort-time|roced-sort-user|roced-sort|roced-string-lessp|roced-success-message|roced-time-lessp|roced-toggle-auto-update|roced-toggle-marks|roced-toggle-tree|roced-tree-insert|roced-tree|roced-undo|roced-unmark-all|roced-unmark-backward|roced-unmark|roced-update|roced-why|roced-with-processes-buffer|roced-xor|roced|rocess-filter-multibyte-p|rocess-inherit-coding-system-flag|rocess-kill-without-query|rocess-menu-delete-process|rocess-menu-mode|rocess-menu-visit-buffer|roclaim|roduce-allout-mode-menubar-entries|rofiler-calltree-build-1|rofiler-calltree-build-unified|rofiler-calltree-build|rofiler-calltree-children--cmacro|rofiler-calltree-children|rofiler-calltree-compute-percentages|rofiler-calltree-count--cmacro|rofiler-calltree-count-percent--cmacro|rofiler-calltree-count-percent|rofiler-calltree-count|rofiler-calltree-depth|rofiler-calltree-entry--cmacro|rofiler-calltree-entry|rofiler-calltree-find|rofiler-calltree-leaf-p|rofiler-calltree-p--cmacro|rofiler-calltree-p|rofiler-calltree-parent--cmacro|rofiler-calltree-parent|rofiler-calltree-sort|rofiler-calltree-walk|rofiler-compare-logs|rofiler-compare-profiles|rofiler-cpu-log|rofiler-cpu-profile|rofiler-cpu-running-p|rofiler-cpu-start|rofiler-cpu-stop|rofiler-ensure-string|rofiler-find-profile-other-frame|rofiler-find-profile-other-window|rofiler-find-profile|rofiler-fixup-backtrace|rofiler-fixup-entry|rofiler-fixup-log|rofiler-fixup-profile|rofiler-format-entry|rofiler-format-number|rofiler-format-percent|rofiler-format|rofiler-make-calltree--cmacro|rofiler-make-calltree|rofiler-make-profile--cmacro|rofiler-make-profile|rofiler-memory-log|rofiler-memory-profile|rofiler-memory-running-p|rofiler-memory-start|rofiler-memory-stop|rofiler-profile-diff-p--cmacro|rofiler-profile-diff-p|rofiler-profile-log--cmacro|rofiler-profile-log|rofiler-profile-tag--cmacro|rofiler-profile-tag|rofiler-profile-timestamp--cmacro|rofiler-profile-timestamp|rofiler-profile-type--cmacro|rofiler-profile-type|rofiler-profile-version--cmacro|rofiler-profile-version|rofiler-read-profile|rofiler-report-ascending-sort|rofiler-report-calltree-at-point|rofiler-report-collapse-entry|rofiler-report-compare-profile|rofiler-report-cpu|rofiler-report-descending-sort|rofiler-report-describe-entry|rofiler-report-expand-entry|rofiler-report-find-entry|rofiler-report-header-line-format|rofiler-report-insert-calltree-children|rofiler-report-insert-calltree|rofiler-report-line-format|rofiler-report-make-buffer-name|rofiler-report-make-entry-part|rofiler-report-make-name-part|rofiler-report-memory|rofiler-report-menu|rofiler-report-mode|rofiler-report-move-to-entry|rofiler-report-next-entry|rofiler-report-previous-entry|rofiler-report-profile-other-frame|rofiler-report-profile-other-window|rofiler-report-profile|rofiler-report-render-calltree-1|rofiler-report-render-calltree|rofiler-report-render-reversed-calltree|rofiler-report-rerender-calltree|rofiler-report-setup-buffer-1|rofiler-report-setup-buffer|rofiler-report-toggle-entry|rofiler-report-write-profile|rofiler-report|rofiler-reset|rofiler-running-p|rofiler-start|rofiler-stop|rofiler-write-profile|rog-indent-sexp|rogress-reporter-do-update|rogv|roject-add-file|roject-compile-project|roject-compile-target|roject-debug-target|roject-delete-target|roject-dist-files|roject-edit-file-target|roject-interactive-select-target|roject-make-dist|roject-new-target-custom|roject-new-target|roject-remove-file|roject-rescan|roject-run-target|rolog-Info-follow-nearest-node|rolog-atleast-version|rolog-atom-under-point|rolog-beginning-of-clause|rolog-beginning-of-predicate|rolog-bsts|rolog-buffer-module|rolog-build-info-alist|rolog-build-prolog-command|rolog-clause-end|rolog-clause-info|rolog-clause-start|rolog-comment-limits|rolog-compile-buffer|rolog-compile-file|rolog-compile-predicate|rolog-compile-region|rolog-compile-string|rolog-consult-buffer|rolog-consult-compile-buffer|rolog-consult-compile-file|rolog-consult-compile-filter|rolog-consult-compile-predicate|rolog-consult-compile-region|rolog-consult-compile|rolog-consult-file|rolog-consult-predicate|rolog-consult-region|rolog-consult-string|rolog-debug-off|rolog-debug-on|rolog-disable-sicstus-sd|rolog-do-auto-fill|rolog-edit-menu-insert-move|rolog-edit-menu-runtime|rolog-electric--colon|rolog-electric--dash|rolog-electric--dot|rolog-electric--if-then-else|rolog-electric--underscore|rolog-enable-sicstus-sd|rolog-end-of-clause|rolog-end-of-predicate|rolog-ensure-process|rolog-face-name-p|rolog-fill-paragraph|rolog-find-documentation|rolog-find-term|rolog-find-unmatched-paren|rolog-find-value-by-system|rolog-font-lock-keywords|rolog-font-lock-object-matcher|rolog-get-predspec|rolog-goto-predicate-info|rolog-goto-prolog-process-buffer|rolog-guess-fill-prefix|rolog-help-apropos|rolog-help-info|rolog-help-on-predicate|rolog-help-online|rolog-in-object|rolog-indent-buffer|rolog-indent-predicate|rolog-inferior-buffer|rolog-inferior-guess-flavor|rolog-inferior-menu-all|rolog-inferior-menu|rolog-inferior-mode|rolog-inferior-self-insert-command|rolog-input-filter|rolog-insert-module-modeline|rolog-insert-next-clause|rolog-insert-predicate-template|rolog-insert-predspec|rolog-mark-clause|rolog-mark-predicate|rolog-menu-help|rolog-menu|rolog-mode-keybindings-common|rolog-mode-keybindings-edit|rolog-mode-keybindings-inferior|rolog-mode-variables|rolog-mode-version|rolog-mode|rolog-old-process-buffer|rolog-old-process-file|rolog-old-process-predicate|rolog-old-process-region|rolog-paren-balance|rolog-parse-sicstus-compilation-errors|rolog-post-self-insert|rolog-pred-end|rolog-pred-start|rolog-process-insert-string|rolog-program-name|rolog-program-switches|rolog-prompt-regexp|rolog-read-predicate|rolog-replace-in-string|rolog-smie-backward-token|rolog-smie-forward-token|rolog-smie-rules|rolog-temporary-file|rolog-toggle-sicstus-sd|rolog-trace-off|rolog-trace-on|rolog-uncomment-region|rolog-variables-to-anonymous|rolog-view-predspec|rolog-zip-off|rolog-zip-on|rompt-for-change-log-name|ropertized-buffer-identification|rune-directory-list|s-alist-position|s-avg-char-width|s-background-image|s-background-pages|s-background-text|s-background|s-basic-plot-str|s-basic-plot-string|s-basic-plot-whitespace|s-begin-file|s-begin-job|s-begin-page|s-boolean-capitalized|s-boolean-constant|s-build-reference-face-lists|s-color-device|s-color-scale|s-color-values|s-comment-string|s-continue-line|s-control-character|s-count-lines-preprint|s-count-lines|s-del|s-despool|s-do-despool|s-end-job|s-end-page|s-end-sheet|s-extend-face-list|s-extend-face|s-extension-bit|s-face-attribute-list|s-face-attributes|s-face-background-color-p|s-face-background-name|s-face-background|s-face-bold-p|s-face-box-p|s-face-color-p|s-face-extract-color|s-face-foreground-color-p|s-face-foreground-name|s-face-italic-p|s-face-overline-p|s-face-strikeout-p|s-face-underlined-p|s-find-wrappoint|s-float-format|s-flush-output|s-font-alist|s-font-lock-face-attributes|s-font-number|s-fonts??|s-format-color|s-frame-parameter|s-generate-header-line|s-generate-header|s-generate-postscript-with-faces1??|s-generate-postscript|s-generate|s-get-boundingbox|s-get-buffer-name|s-get-font-size|s-get-page-dimensions|s-get-size|s-get|s-header-dirpart|s-header-page|s-header-sheet|s-init-output-queue|s-insert-file|s-insert-string|s-kill-emacs-check|s-line-height|s-line-lengths-internal|s-line-lengths|s-lookup|s-map-face|s-mark-active-p|s-message-log-max|s-mode--syntax-propertize-special|s-mode-RE|s-mode-backward-delete-char|s-mode-center|s-mode-comment-out-region|s-mode-epsf-rich|s-mode-epsf-sparse|s-mode-heapsort|s-mode-latin-extended|s-mode-main|s-mode-octal-buffer|s-mode-octal-region|s-mode-other-newline|s-mode-print-buffer|s-mode-print-region|s-mode-right|s-mode-show-version|s-mode-smie-rules|s-mode-submit-bug-report|s-mode-syntax-propertize|s-mode-target-column|s-mode-uncomment-region|s-mode|s-mule-begin-job|s-mule-end-job|s-mule-initialize|s-n-up-columns|s-n-up-end|s-n-up-filling|s-n-up-landscape|s-n-up-lines|s-n-up-missing|s-n-up-printing|s-n-up-repeat|s-n-up-xcolumn|s-n-up-xline|s-n-up-xstart|s-n-up-ycolumn|s-n-up-yline|s-n-up-ystart|s-nb-pages-buffer|s-nb-pages-region|s-nb-pages|s-next-line|s-next-page|s-output-boolean|s-output-frame-properties|s-output-prologue|s-output-string-prim|s-output-string|s-output|s-page-dimensions-get-height|s-page-dimensions-get-media|s-page-dimensions-get-width|s-page-number|s-plot-region|s-plot-string|s-plot-with-face|s-plot|s-print-buffer-with-faces|s-print-buffer|s-print-customize|s-print-ensure-fontified|s-print-page-p|s-print-preprint-region|s-print-preprint|s-print-quote|s-print-region-with-faces|s-print-region|s-print-sheet-p|s-print-with-faces|s-print-without-faces|s-printing-region|s-prologue-file|s-put|s-remove-duplicates|s-restore-selected-pages|s-rgb-color|s-run-boundingbox|s-run-buffer|s-run-cleanup|s-run-clear|s-run-goto-error|s-run-kill|s-run-make-tmp-filename|s-run-mode|s-run-mouse-goto-error|s-run-quit|s-run-region|s-run-running|s-run-send-string|s-run-start|s-screen-to-bit-face|s-select-font|s-selected-pages|s-set-bg|s-set-color|s-set-face-attribute|s-set-face-bold|s-set-face-italic|s-set-face-underline|s-set-font|s-setup|s-size-scale|s-skip-newline|s-space-width|s-spool-buffer-with-faces|s-spool-buffer|s-spool-region-with-faces|s-spool-region|s-spool-with-faces|s-spool-without-faces|s-time-stamp-hh:mm:ss|s-time-stamp-iso8601)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:ps-time-stamp-locale-default|ps-time-stamp-mon-dd-yyyy|ps-time-stamp-yyyy-mm-dd|ps-title-line-height|ps-value-string|ps-value|psetf|psetq|push-mark-command|pushnew|put-unicode-property-internal|pwd|python-check|python-comint-output-filter-function|python-comint-postoutput-scroll-to-bottom|python-completion-at-point|python-completion-complete-at-point|python-define-auxiliary-skeleton|python-docstring-at-p|python-eldoc--get-doc-at-point|python-eldoc-at-point|python-eldoc-function|python-electric-pair-string-delimiter|python-ffap-module-path|python-fill-comment|python-fill-decorator|python-fill-paragraph|python-fill-paren|python-fill-string|python-font-lock-syntactic-face-function|python-imenu--build-tree|python-imenu--put-parent|python-imenu-create-flat-index|python-imenu-create-index|python-imenu-format-item-label|python-imenu-format-parent-item-jump-label|python-imenu-format-parent-item-label|python-indent-calculate-indentation|python-indent-calculate-levels|python-indent-context|python-indent-dedent-line-backspace|python-indent-dedent-line|python-indent-guess-indent-offset|python-indent-line-function|python-indent-line|python-indent-post-self-insert-function|python-indent-region|python-indent-shift-left|python-indent-shift-right|python-indent-toggle-levels|python-info-assignment-continuation-line-p|python-info-beginning-of-backslash|python-info-beginning-of-block-p|python-info-beginning-of-statement-p|python-info-block-continuation-line-p|python-info-closing-block-message|python-info-closing-block|python-info-continuation-line-p|python-info-current-defun|python-info-current-line-comment-p|python-info-current-line-empty-p|python-info-current-symbol|python-info-dedenter-opening-block-message|python-info-dedenter-opening-block-positions??|python-info-dedenter-statement-p|python-info-encoding-from-cookie|python-info-encoding|python-info-end-of-block-p|python-info-end-of-statement-p|python-info-line-ends-backslash-p|python-info-looking-at-beginning-of-defun|python-info-ppss-comment-or-string-p|python-info-ppss-context-type|python-info-ppss-context|python-info-statement-ends-block-p|python-info-statement-starts-block-p|python-menu|python-mode|python-nav--beginning-of-defun|python-nav--forward-defun|python-nav--forward-sexp|python-nav--lisp-forward-sexp-safe|python-nav--lisp-forward-sexp|python-nav--syntactically|python-nav--up-list|python-nav-backward-block|python-nav-backward-defun|python-nav-backward-sexp-safe|python-nav-backward-sexp|python-nav-backward-statement|python-nav-backward-up-list|python-nav-beginning-of-block|python-nav-beginning-of-defun|python-nav-beginning-of-statement|python-nav-end-of-block|python-nav-end-of-defun|python-nav-end-of-statement|python-nav-forward-block|python-nav-forward-defun|python-nav-forward-sexp-safe|python-nav-forward-sexp|python-nav-forward-statement|python-nav-if-name-main|python-nav-up-list|python-pdbtrack-comint-output-filter-function|python-pdbtrack-set-tracked-buffer|python-proc|python-send-receive|python-send-string|python-shell--save-temp-file|python-shell-accept-process-output|python-shell-buffer-substring|python-shell-calculate-command|python-shell-calculate-exec-path|python-shell-calculate-process-environment|python-shell-calculate-pythonpath|python-shell-comint-end-of-output-p|python-shell-completion-at-point|python-shell-completion-complete-at-point|python-shell-completion-complete-or-indent|python-shell-completion-get-completions|python-shell-font-lock-cleanup-buffer|python-shell-font-lock-comint-output-filter-function|python-shell-font-lock-get-or-create-buffer|python-shell-font-lock-kill-buffer|python-shell-font-lock-post-command-hook|python-shell-font-lock-toggle|python-shell-font-lock-turn-off|python-shell-font-lock-turn-on|python-shell-font-lock-with-font-lock-buffer|python-shell-get-buffer|python-shell-get-or-create-process|python-shell-get-process-name|python-shell-get-process|python-shell-internal-get-or-create-process|python-shell-internal-get-process-name|python-shell-internal-send-string|python-shell-make-comint|python-shell-output-filter|python-shell-package-enable|python-shell-parse-command|python-shell-prompt-detect|python-shell-prompt-set-calculated-regexps|python-shell-prompt-validate-regexps|python-shell-send-buffer|python-shell-send-defun|python-shell-send-file|python-shell-send-region|python-shell-send-setup-code|python-shell-send-string-no-output|python-shell-send-string|python-shell-switch-to-shell|python-shell-with-shell-buffer|python-skeleton--else|python-skeleton--except|python-skeleton--finally|python-skeleton-add-menu-items|python-skeleton-class|python-skeleton-def|python-skeleton-define|python-skeleton-for|python-skeleton-if|python-skeleton-import|python-skeleton-try|python-skeleton-while|python-syntax-comment-or-string-p|python-syntax-context-type|python-syntax-context|python-syntax-count-quotes|python-syntax-stringify|python-util-clone-local-variables|python-util-comint-last-prompt|python-util-forward-comment|python-util-goto-line|python-util-list-directories|python-util-list-files|python-util-list-packages|python-util-popn|python-util-strip-string|python-util-text-properties-replace-name|python-util-valid-regexp-p|quail-define-package|quail-define-rules|quail-defrule-internal|quail-defrule|quail-install-decode-map|quail-install-map|quail-set-keyboard-layout|quail-show-keyboard-layout|quail-title|quail-update-leim-list-file|quail-use-package|query-dig|query-font|query-fontset|query-replace-compile-replacement|query-replace-descr|query-replace-read-args|query-replace-read-from|query-replace-read-to|query-replace-regexp-eval|query-replace-regexp|query-replace|quick-calc|quickurl-add-url|quickurl-ask|quickurl-browse-url-ask|quickurl-browse-url|quickurl-edit-urls|quickurl-find-url|quickurl-grab-url|quickurl-insert|quickurl-list-add-url|quickurl-list-insert-lookup|quickurl-list-insert-naked-url|quickurl-list-insert-url|quickurl-list-insert-with-desc|quickurl-list-insert-with-lookup|quickurl-list-insert|quickurl-list-make-inserter|quickurl-list-mode|quickurl-list-mouse-select|quickurl-list-populate-buffer|quickurl-list-quit|quickurl-list|quickurl-load-urls|quickurl-make-url|quickurl-read|quickurl-save-urls|quickurl-url-comment|quickurl-url-commented-p|quickurl-url-description|quickurl-url-keyword|quickurl-url-url|quickurl|quit-windows-on|quoted-insert|quoted-printable-decode-region|quoted-printable-decode-string|quoted-printable-encode-region|r2b-barf-output|r2b-capitalize-title-region|r2b-capitalize-title|r2b-clear-variables|r2b-convert-buffer|r2b-convert-month|r2b-convert-record|r2b-get-field|r2b-help|r2b-isa-proceedings|r2b-isa-university|r2b-match|r2b-moveq|r2b-put-field|r2b-require|r2b-reset|r2b-set-match|r2b-snarf-input|r2b-trace|r2b-warning|radians-to-degrees|raise-sexp|random\\\\\\\\*|random-state-p|rassoc\\\\\\\\*|rassoc-if-not|rassoc-if|rcirc--connection-open-p|rcirc-abbreviate|rcirc-activity-string|rcirc-add-face|rcirc-add-or-remove|rcirc-any-buffer|rcirc-authenticate|rcirc-browse-url|rcirc-buffer-nick|rcirc-buffer-process|rcirc-change-major-mode-hook|rcirc-channel-nicks|rcirc-channel-p|rcirc-check-auth-status|rcirc-clean-up-buffer|rcirc-clear-activity|rcirc-clear-unread|rcirc-cmd-bright|rcirc-cmd-ctcp|rcirc-cmd-dim|rcirc-cmd-ignore|rcirc-cmd-invite|rcirc-cmd-join|rcirc-cmd-keyword|rcirc-cmd-kick|rcirc-cmd-list|rcirc-cmd-me|rcirc-cmd-mode|rcirc-cmd-msg|rcirc-cmd-names|rcirc-cmd-nick|rcirc-cmd-oper|rcirc-cmd-part|rcirc-cmd-query|rcirc-cmd-quit|rcirc-cmd-quote|rcirc-cmd-reconnect|rcirc-cmd-topic|rcirc-cmd-whois|rcirc-complete|rcirc-completion-at-point|rcirc-condition-filter|rcirc-connect|rcirc-ctcp-sender-PING|rcirc-debug|rcirc-delete-process|rcirc-disconnect-buffer|rcirc-edit-multiline|rcirc-elapsed-lines|rcirc-facify|rcirc-fill-paragraph|rcirc-filter|rcirc-float-time|rcirc-format-response-string|rcirc-generate-log-filename|rcirc-generate-new-buffer-name|rcirc-get-buffer-create|rcirc-get-buffer|rcirc-get-temp-buffer-create|rcirc-handler-001|rcirc-handler-301|rcirc-handler-317|rcirc-handler-332|rcirc-handler-333|rcirc-handler-353|rcirc-handler-366|rcirc-handler-433|rcirc-handler-477|rcirc-handler-CTCP-response|rcirc-handler-CTCP|rcirc-handler-ERROR|rcirc-handler-INVITE|rcirc-handler-JOIN|rcirc-handler-KICK|rcirc-handler-MODE|rcirc-handler-NICK|rcirc-handler-NOTICE|rcirc-handler-PART-or-KICK|rcirc-handler-PART|rcirc-handler-PING|rcirc-handler-PONG|rcirc-handler-PRIVMSG|rcirc-handler-QUIT|rcirc-handler-TOPIC|rcirc-handler-WALLOPS|rcirc-handler-ctcp-ACTION|rcirc-handler-ctcp-KEEPALIVE|rcirc-handler-ctcp-TIME|rcirc-handler-ctcp-VERSION|rcirc-handler-generic|rcirc-ignore-update-automatic|rcirc-insert-next-input|rcirc-insert-prev-input|rcirc-join-channels-post-auth|rcirc-join-channels|rcirc-jump-to-first-unread-line|rcirc-keepalive|rcirc-kill-buffer-hook|rcirc-last-line|rcirc-last-quit-line|rcirc-log-write|rcirc-log|rcirc-looking-at-input|rcirc-make-trees|rcirc-markup-attributes|rcirc-markup-bright-nicks|rcirc-markup-fill|rcirc-markup-keywords|rcirc-markup-my-nick|rcirc-markup-timestamp|rcirc-markup-urls|rcirc-maybe-remember-nick-quit|rcirc-mode|rcirc-multiline-minor-cancel|rcirc-multiline-minor-mode|rcirc-multiline-minor-submit|rcirc-next-active-buffer|rcirc-nick-channels|rcirc-nick-remove|rcirc-nick|rcirc-nickname<|rcirc-non-irc-buffer|rcirc-omit-mode|rcirc-prev-input-string|rcirc-print|rcirc-process-command|rcirc-process-input-line|rcirc-process-list|rcirc-process-message|rcirc-process-server-response-1|rcirc-process-server-response|rcirc-prompt-for-encryption|rcirc-put-nick-channel|rcirc-rebuild-tree|rcirc-record-activity|rcirc-remove-nick-channel|rcirc-reschedule-timeout|rcirc-send-ctcp|rcirc-send-input|rcirc-send-message|rcirc-send-privmsg|rcirc-send-string|rcirc-sentinel|rcirc-server-name|rcirc-set-changed|rcirc-short-buffer-name|rcirc-sort-nicknames-join|rcirc-split-activity|rcirc-split-message|rcirc-switch-to-server-buffer|rcirc-target-buffer|rcirc-toggle-ignore-buffer-activity|rcirc-toggle-low-priority|rcirc-track-minor-mode|rcirc-update-activity-string|rcirc-update-prompt|rcirc-update-short-buffer-names|rcirc-user-nick|rcirc-view-log-file|rcirc-visible-buffers|rcirc-window-configuration-change-1|rcirc-window-configuration-change|rcirc|re-builder-unload-function|re-search-backward-lax-whitespace|re-search-forward-lax-whitespace|read--expression|read-abbrev-file|read-all-face-attributes|read-buffer-file-coding-system|read-buffer-to-switch|read-char-by-name|read-charset|read-cookie|read-envvar-name|read-extended-command|read-face-and-attribute|read-face-attribute|read-face-font|read-face-name|read-feature|read-file-name--defaults|read-file-name-default|read-file-name-internal|read-from-whole-string|read-hiragana-string|read-input|read-language-name|read-multilingual-string|read-number|read-regexp-suggestions|reb-assert-buffer-in-window|reb-auto-update|reb-change-syntax|reb-change-target-buffer|reb-color-display-p|reb-cook-regexp|reb-copy|reb-count-subexps|reb-delete-overlays|reb-display-subexp|reb-do-update|reb-empty-regexp|reb-enter-subexp-mode|reb-force-update|reb-initialize-buffer|reb-insert-regexp|reb-kill-buffer|reb-lisp-mode|reb-lisp-syntax-p|reb-mode-buffer-p|reb-mode-common|reb-mode|reb-next-match|reb-prev-match|reb-quit-subexp-mode|reb-quit|reb-read-regexp|reb-show-subexp|reb-target-binding|reb-toggle-case|reb-update-modestring|reb-update-overlays|reb-update-regexp|rebuild-mail-abbrevs|recentf-add-file|recentf-apply-filename-handlers|recentf-apply-menu-filter|recentf-arrange-by-dir|recentf-arrange-by-mode|recentf-arrange-by-rule|recentf-auto-cleanup|recentf-build-mode-rules|recentf-cancel-dialog|recentf-cleanup|recentf-dialog-goto-first|recentf-dialog-mode|recentf-dialog|recentf-digit-shortcut-command-name|recentf-dir-rule|recentf-directory-compare|recentf-dump-variable|recentf-edit-list-select|recentf-edit-list-validate|recentf-edit-list|recentf-elements|recentf-enabled-p|recentf-expand-file-name|recentf-file-name-nondir|recentf-filter-changer-select|recentf-filter-changer|recentf-hide-menu|recentf-include-p|recentf-indirect-mode-rule|recentf-keep-default-predicate|recentf-keep-p|recentf-load-list|recentf-make-default-menu-element|recentf-make-menu-element|recentf-make-menu-items??|recentf-match-rule|recentf-menu-bar|recentf-menu-customization-changed|recentf-menu-element-item|recentf-menu-element-value|recentf-menu-elements)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:rmail-output-body-to-file|rmail-output-to-rmail-buffer|rmail-output|rmail-parse-url|rmail-perm-variables|rmail-pop-to-buffer|rmail-previous-labeled-message|rmail-previous-message|rmail-previous-same-subject|rmail-previous-undeleted-message|rmail-probe|rmail-quit|rmail-read-label|rmail-redecode-body|rmail-reply|rmail-require-mime-maybe|rmail-resend|rmail-restore-desktop-buffer|rmail-retry-failure|rmail-revert|rmail-search-backwards|rmail-search-message|rmail-search|rmail-select-summary|rmail-set-attribute-1|rmail-set-attribute|rmail-set-header-1|rmail-set-header|rmail-set-message-counters-counter|rmail-set-message-counters|rmail-set-message-deleted-p|rmail-set-remote-password|rmail-show-message-1|rmail-show-message|rmail-simplified-subject-regexp|rmail-simplified-subject|rmail-sort-by-author|rmail-sort-by-correspondent|rmail-sort-by-date|rmail-sort-by-labels|rmail-sort-by-lines|rmail-sort-by-recipient|rmail-sort-by-subject|rmail-speedbar-buttons??|rmail-speedbar-find-file|rmail-speedbar-move-message-to-folder-on-line|rmail-speedbar-move-message|rmail-start-mail|rmail-summary-by-labels|rmail-summary-by-recipients|rmail-summary-by-regexp|rmail-summary-by-senders|rmail-summary-by-topic|rmail-summary-displayed|rmail-summary-exists|rmail-summary|rmail-swap-buffers-maybe|rmail-swap-buffers|rmail-toggle-header|rmail-undelete-previous-message|rmail-unfontify-buffer-function|rmail-unknown-mail-followup-to|rmail-unrmail-new-mail-maybe|rmail-unrmail-new-mail|rmail-update-summary|rmail-variables|rmail-view-buffer-kill-buffer-hook|rmail-what-message|rmail-widen-to-current-msgbeg|rmail-widen|rmail-write-region-annotate|rmail-yank-current-message|rmail|rng-c-load-schema|rng-nxml-mode-init|rng-validate-mode|rng-xsd-compile|robin-define-package|robin-modify-package|robin-use-package|rot13-other-window|rot13-region|rot13-string|rot13|rotate-yank-pointer|rotatef|round\\\\\\\\*|route|rsh|rst-minor-mode|rst-mode|ruby--at-indentation-p|ruby--detect-encoding|ruby--electric-indent-p|ruby--encoding-comment-required-p|ruby--insert-coding-comment|ruby--inverse-string-quote|ruby--string-region|ruby-accurate-end-of-block|ruby-add-log-current-method|ruby-backward-sexp|ruby-beginning-of-block|ruby-beginning-of-defun|ruby-beginning-of-indent|ruby-block-contains-point|ruby-brace-to-do-end|ruby-calculate-indent|ruby-current-indentation|ruby-deep-indent-paren-p|ruby-do-end-to-brace|ruby-end-of-block|ruby-end-of-defun|ruby-expr-beg|ruby-forward-sexp|ruby-forward-string|ruby-here-doc-end-match|ruby-imenu-create-index-in-block|ruby-imenu-create-index|ruby-in-ppss-context-p|ruby-indent-exp|ruby-indent-line|ruby-indent-size|ruby-indent-to|ruby-match-expression-expansion|ruby-mode-menu|ruby-mode-set-encoding|ruby-mode-variables|ruby-mode|ruby-move-to-block|ruby-parse-partial|ruby-parse-region|ruby-singleton-class-p|ruby-smie--args-separator-p|ruby-smie--at-dot-call|ruby-smie--backward-token|ruby-smie--bosp|ruby-smie--closing-pipe-p|ruby-smie--forward-token|ruby-smie--implicit-semi-p|ruby-smie--indent-to-stmt-p|ruby-smie--indent-to-stmt|ruby-smie--opening-pipe-p|ruby-smie--redundant-do-p|ruby-smie-rules|ruby-special-char-p|ruby-string-at-point-p|ruby-syntax-enclosing-percent-literal|ruby-syntax-expansion-allowed-p|ruby-syntax-propertize-expansions??|ruby-syntax-propertize-function|ruby-syntax-propertize-heredoc|ruby-syntax-propertize-percent-literal|ruby-toggle-block|ruby-toggle-string-quotes|ruler--save-header-line-format|ruler-mode-character-validate|ruler-mode-full-window-width|ruler-mode-mouse-add-tab-stop|ruler-mode-mouse-del-tab-stop|ruler-mode-mouse-drag-any-column-iteration|ruler-mode-mouse-drag-any-column|ruler-mode-mouse-grab-any-column|ruler-mode-mouse-set-left-margin|ruler-mode-mouse-set-right-margin|ruler-mode-ruler|ruler-mode-space|ruler-mode-toggle-show-tab-stops|ruler-mode-window-col|ruler-mode|run-dig|run-hook-wrapped|run-lisp|run-network-program|run-octave|run-prolog|run-python-internal|run-python|run-scheme|run-tcl|run-window-configuration-change-hook|run-window-scroll-functions|run-with-timer|rx-\\\\\\\\*\\\\\\\\*|rx-=|rx->=|rx-and|rx-any-condense-range|rx-any-delete-from-range|rx-any|rx-anything|rx-atomic-p|rx-backref|rx-category|rx-check-any-string|rx-check-any|rx-check-backref|rx-check-category|rx-check-not|rx-check|rx-eval|rx-form|rx-greedy|rx-group-if|rx-info|rx-kleene|rx-not-char|rx-not-syntax|rx-not|rx-or|rx-regexp|rx-repeat|rx-submatch-n|rx-submatch|rx-syntax|rx-to-string|rx-trans-forms|rx|rzgrep|safe-date-to-time|same-class-fast-p|same-class-p|sanitize-coding-system-list|sasl-anonymous-response|sasl-client-mechanism|sasl-client-name|sasl-client-properties|sasl-client-property|sasl-client-server|sasl-client-service|sasl-client-set-properties|sasl-client-set-property|sasl-error|sasl-find-mechanism|sasl-login-response-1|sasl-login-response-2|sasl-make-client|sasl-make-mechanism|sasl-mechanism-name|sasl-mechanism-steps|sasl-next-step|sasl-plain-response|sasl-read-passphrase|sasl-step-data|sasl-step-set-data|sasl-unique-id-function|sasl-unique-id-number-base36|sasl-unique-id|save-buffers-kill-emacs|save-buffers-kill-terminal|save-completions-to-file|save-place-alist-to-file|save-place-dired-hook|save-place-find-file-hook|save-place-forget-unreadable-files|save-place-kill-emacs-hook|save-place-to-alist|save-places-to-alist|savehist-autosave|savehist-install|savehist-load|savehist-minibuffer-hook|savehist-mode|savehist-printable|savehist-save|savehist-trim-history|savehist-uninstall|sc-S-cite-region-limit|sc-S-mail-header-nuke-list|sc-S-mail-nuke-mail-headers|sc-S-preferred-attribution-list|sc-S-preferred-header-style|sc-T-auto-fill-region|sc-T-confirm-always|sc-T-describe|sc-T-downcase|sc-T-electric-circular|sc-T-electric-references|sc-T-fixup-whitespace|sc-T-mail-nuke-blank-lines|sc-T-nested-citation|sc-T-use-only-preferences|sc-add-citation-level|sc-ask|sc-attribs-!-addresses|sc-attribs-%@-addresses|sc-attribs-<>-addresses|sc-attribs-chop-address|sc-attribs-chop-namestring|sc-attribs-emailname|sc-attribs-extract-namestring|sc-attribs-filter-namelist|sc-attribs-strip-initials|sc-cite-coerce-cited-line|sc-cite-coerce-dumb-citer|sc-cite-line|sc-cite-original|sc-cite-regexp|sc-cite-region|sc-describe|sc-electric-mode|sc-eref-abort|sc-eref-exit|sc-eref-goto|sc-eref-insert-selected|sc-eref-jump|sc-eref-next|sc-eref-prev|sc-eref-setn|sc-eref-show|sc-fill-if-different|sc-get-address|sc-guess-attribution|sc-guess-nesting|sc-hdr|sc-header-attributed-writes|sc-header-author-writes|sc-header-inarticle-writes|sc-header-on-said|sc-header-regarding-adds|sc-header-verbose|sc-insert-citation|sc-insert-reference|sc-mail-append-field|sc-mail-build-nuke-frame|sc-mail-check-from|sc-mail-cleanup-blank-lines|sc-mail-error-in-mail-field|sc-mail-fetch-field|sc-mail-field-query|sc-mail-field|sc-mail-nuke-continuation-line|sc-mail-nuke-header-line|sc-mail-nuke-line|sc-mail-process-headers|sc-make-citation|sc-minor-mode|sc-name-substring|sc-no-blank-line-or-header|sc-no-header|sc-open-line|sc-raw-mode-toggle|sc-recite-line|sc-recite-region|sc-scan-info-alist|sc-select-attribution|sc-set-variable|sc-setup-filladapt|sc-setvar-symbol|sc-toggle-fn|sc-toggle-symbol|sc-toggle-var|sc-uncite-line|sc-uncite-region|sc-valid-index-p|sc-whofrom|scan-buf-move-to-region|scan-buf-next-region|scan-buf-previous-region|scheme-compile-definition-and-go|scheme-compile-definition|scheme-compile-file|scheme-compile-region-and-go|scheme-compile-region|scheme-debugger-mode-commands|scheme-debugger-mode-initialize|scheme-debugger-mode|scheme-debugger-self-insert|scheme-expand-current-form|scheme-form-at-point|scheme-get-old-input|scheme-get-process|scheme-indent-function|scheme-input-filter|scheme-interaction-mode-commands|scheme-interaction-mode-initialize|scheme-interaction-mode|scheme-interactively-start-process|scheme-let-indent|scheme-load-file|scheme-mode-commands|scheme-mode-variables|scheme-mode|scheme-proc|scheme-send-definition-and-go|scheme-send-definition|scheme-send-last-sexp|scheme-send-region-and-go|scheme-send-region|scheme-start-file|scheme-syntax-propertize-sexp-comment|scheme-syntax-propertize|scheme-trace-procedure|scroll-all-beginning-of-buffer-all|scroll-all-check-to-scroll|scroll-all-end-of-buffer-all|scroll-all-function-all|scroll-all-mode|scroll-all-page-down-all|scroll-all-page-up-all|scroll-all-scroll-down-all|scroll-all-scroll-up-all|scroll-bar-columns|scroll-bar-drag-1|scroll-bar-drag-position|scroll-bar-drag|scroll-bar-horizontal-drag-1|scroll-bar-horizontal-drag|scroll-bar-lines|scroll-bar-maybe-set-window-start|scroll-bar-scroll-down|scroll-bar-scroll-up|scroll-bar-set-window-start|scroll-bar-toolkit-horizontal-scroll|scroll-bar-toolkit-scroll|scroll-down-line|scroll-lock-mode|scroll-other-window-down|scroll-up-line|scss-mode|scss-smie--not-interpolation-p|sdb|search-backward-lax-whitespace|search-backward-regexp|search-emacs-glossary|search-forward-lax-whitespace|search-forward-regexp|search-pages|search-unencodable-char|search|second|seconds-to-string|secrets-close-session|secrets-collection-handler|secrets-collection-path|secrets-create-collection|secrets-create-item|secrets-delete-alias|secrets-delete-collection|secrets-delete-item|secrets-empty-path|secrets-expand-collection|secrets-expand-item|secrets-get-alias|secrets-get-attributes??|secrets-get-collection-properties|secrets-get-collection-property|secrets-get-collections|secrets-get-item-properties|secrets-get-item-property|secrets-get-items|secrets-get-secret|secrets-item-path|secrets-list-collections|secrets-list-items|secrets-mode|secrets-open-session|secrets-prompt-handler|secrets-prompt|secrets-search-items|secrets-set-alias|secrets-show-collections|secrets-show-secrets|secrets-tree-widget-after-toggle-function|secrets-tree-widget-show-password|secrets-unlock-collection|secure-hash|select-frame-by-name|select-frame-set-input-focus|select-frame|select-message-coding-system|select-safe-coding-system-interactively|select-safe-coding-system|select-scheme|select-tags-table-mode|select-tags-table-quit|select-tags-table-select|select-tags-table|select-window|selected-frame|selected-window|self-insert-and-exit|self-insert-command|semantic--set-buffer-cache|semantic--tag-attributes-cdr|semantic--tag-copy-properties|semantic--tag-deep-copy-attributes|semantic--tag-deep-copy-tag-list|semantic--tag-deep-copy-value|semantic--tag-expand|semantic--tag-expanded-p|semantic--tag-find-parent-by-name|semantic--tag-get-property|semantic--tag-link-cache-to-buffer|semantic--tag-link-list-to-buffer|semantic--tag-link-to-buffer|semantic--tag-overlay-cdr|semantic--tag-properties-cdr|semantic--tag-put-property-no-side-effect|semantic--tag-put-property|semantic--tag-run-hooks|semantic--tag-set-overlay|semantic--tag-unlink-cache-from-buffer|semantic--tag-unlink-from-buffer|semantic--tag-unlink-list-from-buffer|semantic--umatched-syntax-needs-refresh-p|semantic-active-p|semantic-add-label|semantic-add-minor-mode|semantic-add-system-include|semantic-alias-obsolete|semantic-analyze-completion-at-point-function|semantic-analyze-current-context|semantic-analyze-current-tag|semantic-analyze-nolongprefix-completion-at-point-function|semantic-analyze-notc-completion-at-point-function|semantic-analyze-possible-completions|semantic-analyze-proto-impl-toggle|semantic-analyze-type-constants|semantic-assert-valid-token|semantic-bovinate-from-nonterminal-full|semantic-bovinate-from-nonterminal|semantic-bovinate-region-until-error|semantic-bovinate-stream|semantic-bovinate-toplevel|semantic-buffer-local-value|semantic-c-add-preprocessor-symbol|semantic-cache-data-post-command-hook|semantic-cache-data-to-buffer|semantic-calculate-scope|semantic-change-function|semantic-clean-token-of-unmatched-syntax|semantic-clean-unmatched-syntax-in-buffer|semantic-clean-unmatched-syntax-in-region|semantic-clear-parser-warnings|semantic-clear-toplevel-cache|semantic-clear-unmatched-syntax-cache|semantic-comment-lexer|semantic-complete-analyze-and-replace|semantic-complete-analyze-inline-idle|semantic-complete-analyze-inline|semantic-complete-inline-project|semantic-complete-jump-local-members|semantic-complete-jump-local|semantic-complete-jump|semantic-complete-self-insert|semantic-complete-symbol|semantic-create-imenu-index|semantic-create-tag-proxy|semantic-ctxt-current-mode|semantic-current-tag-parent|semantic-current-tag|semantic-customize-system-include-path|semantic-debug|semantic-decoration-include-visit|semantic-decoration-unparsed-include-do-reset)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)se(?:mantic-default-c-setup|mantic-default-elisp-setup|mantic-default-html-setup|mantic-default-make-setup|mantic-default-scheme-setup|mantic-default-texi-setup|mantic-delete-overlay-maybe|mantic-dependency-tag-file|mantic-describe-buffer-var-helper|mantic-describe-buffer|mantic-describe-tag|mantic-desktop-ignore-this-minor-mode|mantic-documentation-for-tag|mantic-dump-parser-warnings|mantic-edits-incremental-parser|mantic-elapsed-time|mantic-equivalent-tag-p|mantic-error-if-unparsed|mantic-event-window|mantic-exit-on-input|mantic-fetch-available-tags|mantic-fetch-tags-fast|mantic-fetch-tags|mantic-file-tag-table|mantic-file-token-stream|mantic-find-file-noselect|mantic-find-first-tag-by-name|mantic-find-tag-by-overlay-in-region|mantic-find-tag-by-overlay-next|mantic-find-tag-by-overlay-prev|mantic-find-tag-by-overlay|mantic-find-tag-for-completion|mantic-find-tag-parent-by-overlay|mantic-find-tags-by-scope-protection|mantic-find-tags-included|mantic-flatten-tags-table|mantic-flex-buffer|mantic-flex-end|mantic-flex-keyword-get|mantic-flex-keyword-p|mantic-flex-keyword-put|mantic-flex-keywords|mantic-flex-list|mantic-flex-make-keyword-table|mantic-flex-map-keywords|mantic-flex-start|mantic-flex-text|mantic-flex|mantic-force-refresh|mantic-foreign-tag-check|mantic-foreign-tag-invalid|mantic-foreign-tag-p|mantic-foreign-tag|mantic-format-tag-concise-prototype|mantic-format-tag-name|mantic-format-tag-prototype|mantic-format-tag-summarize|mantic-fw-add-edebug-spec|mantic-gcc-setup|mantic-get-cache-data|mantic-go-to-tag|mantic-highlight-edits-mode|mantic-highlight-edits-new-change-hook-fcn|mantic-highlight-func-highlight-current-tag|mantic-highlight-func-menu|mantic-highlight-func-mode|mantic-highlight-func-popup-menu|mantic-ia-complete-symbol-menu|mantic-ia-complete-symbol|mantic-ia-complete-tip|mantic-ia-describe-class|mantic-ia-fast-jump|mantic-ia-fast-mouse-jump|mantic-ia-show-doc|mantic-ia-show-summary|mantic-ia-show-variants|mantic-idle-completions-mode|mantic-idle-scheduler-mode|mantic-idle-summary-mode|mantic-insert-foreign-tag-change-log-mode|mantic-insert-foreign-tag-default|mantic-insert-foreign-tag-log-edit-mode|mantic-insert-foreign-tag|mantic-install-function-overrides|mantic-lex-beginning-of-line|mantic-lex-buffer|mantic-lex-catch-errors|mantic-lex-charquote|mantic-lex-close-paren|mantic-lex-comments-as-whitespace|mantic-lex-comments|mantic-lex-debug-break|mantic-lex-debug|mantic-lex-default-action|mantic-lex-end-block|mantic-lex-expand-block-specs|mantic-lex-highlight-token|mantic-lex-ignore-comments|mantic-lex-ignore-newline|mantic-lex-ignore-whitespace|mantic-lex-init|mantic-lex-keyword-get|mantic-lex-keyword-invalid|mantic-lex-keyword-p|mantic-lex-keyword-put|mantic-lex-keyword-set|mantic-lex-keyword-symbol|mantic-lex-keyword-value|mantic-lex-keywords|mantic-lex-list|mantic-lex-make-keyword-table|mantic-lex-make-type-table|mantic-lex-map-keywords|mantic-lex-map-symbols|mantic-lex-map-types|mantic-lex-newline-as-whitespace|mantic-lex-newline|mantic-lex-number|mantic-lex-one-token|mantic-lex-open-paren|mantic-lex-paren-or-list|mantic-lex-preset-default-types|mantic-lex-punctuation-type|mantic-lex-punctuation|mantic-lex-push-token|mantic-lex-spp-table-write-slot-value|mantic-lex-start-block|mantic-lex-string|mantic-lex-symbol-or-keyword|mantic-lex-test|mantic-lex-token-bounds|mantic-lex-token-class|mantic-lex-token-end|mantic-lex-token-p|mantic-lex-token-start|mantic-lex-token-text|mantic-lex-token-with-text-p|mantic-lex-token-without-text-p|mantic-lex-token|mantic-lex-type-get|mantic-lex-type-invalid|mantic-lex-type-p|mantic-lex-type-put|mantic-lex-type-set|mantic-lex-type-symbol|mantic-lex-type-value|mantic-lex-types|mantic-lex-unterminated-syntax-detected|mantic-lex-unterminated-syntax-protection|mantic-lex-whitespace|mantic-lex|mantic-make-local-hook|mantic-make-overlay|mantic-map-buffers|mantic-map-mode-buffers|mantic-menu-item|mantic-mode-line-update|mantic-mode|mantic-narrow-to-tag|mantic-new-buffer-fcn|mantic-next-unmatched-syntax|mantic-obtain-foreign-tag|mantic-overlay-buffer|mantic-overlay-delete|mantic-overlay-end|mantic-overlay-get|mantic-overlay-lists|mantic-overlay-live-p|mantic-overlay-move|mantic-overlay-next-change|mantic-overlay-p|mantic-overlay-previous-change|mantic-overlay-properties|mantic-overlay-put|mantic-overlay-start|mantic-overlays-at|mantic-overlays-in|mantic-overload-symbol-from-function|mantic-parse-changes-default|mantic-parse-changes|mantic-parse-region-default|mantic-parse-region|mantic-parse-stream-default|mantic-parse-stream|mantic-parse-tree-needs-rebuild-p|mantic-parse-tree-needs-update-p|mantic-parse-tree-set-needs-rebuild|mantic-parse-tree-set-needs-update|mantic-parse-tree-set-up-to-date|mantic-parse-tree-unparseable-p|mantic-parse-tree-unparseable|mantic-parse-tree-up-to-date-p|mantic-parser-working-message|mantic-popup-menu|mantic-push-parser-warning|mantic-read-event|mantic-read-function|mantic-read-symbol|mantic-read-type|mantic-read-variable|mantic-refresh-tags-safe|mantic-remove-system-include|mantic-repeat-parse-whole-stream|mantic-require-version|mantic-reset-system-include|mantic-run-mode-hooks|mantic-safe|mantic-sanity-check|mantic-set-unmatched-syntax-cache|mantic-show-label|mantic-show-parser-state-auto-marker|mantic-show-parser-state-marker|mantic-show-parser-state-mode|mantic-show-unmatched-lex-tokens-fetch|mantic-show-unmatched-syntax-mode|mantic-show-unmatched-syntax-next|mantic-show-unmatched-syntax|mantic-showing-unmatched-syntax-p|mantic-simple-lexer|mantic-something-to-stream|mantic-something-to-tag-table|mantic-speedbar-analysis|mantic-stickyfunc-fetch-stickyline|mantic-stickyfunc-menu|mantic-stickyfunc-mode|mantic-stickyfunc-popup-menu|mantic-stickyfunc-tag-to-stick|mantic-subst-char-in-string|mantic-symref-find-file-references-by-name|mantic-symref-find-references-by-name|mantic-symref-find-tags-by-completion|mantic-symref-find-tags-by-name|mantic-symref-find-tags-by-regexp|mantic-symref-find-text|mantic-symref-regexp|mantic-symref-symbol|mantic-symref-tool-cscope-child-p|mantic-symref-tool-cscope-list-p|mantic-symref-tool-cscope-p|mantic-symref-tool-cscope|mantic-symref-tool-global-child-p|mantic-symref-tool-global-list-p|mantic-symref-tool-global-p|mantic-symref-tool-global|mantic-symref-tool-grep-child-p|mantic-symref-tool-grep-list-p|mantic-symref-tool-grep-p|mantic-symref-tool-grep|mantic-symref-tool-idutils-child-p|mantic-symref-tool-idutils-list-p|mantic-symref-tool-idutils-p|mantic-symref-tool-idutils|mantic-symref|mantic-tag-add-hook|mantic-tag-alias-class|mantic-tag-alias-definition|mantic-tag-attributes|mantic-tag-bounds|mantic-tag-buffer|mantic-tag-children-compatibility|mantic-tag-class|mantic-tag-clone|mantic-tag-code-detail|mantic-tag-components-default|mantic-tag-components-with-overlays-default|mantic-tag-components-with-overlays|mantic-tag-components|mantic-tag-copy|mantic-tag-deep-copy-one-tag|mantic-tag-docstring|mantic-tag-end|mantic-tag-external-member-parent|mantic-tag-faux-p|mantic-tag-file-name|mantic-tag-function-arguments|mantic-tag-function-constructor-p|mantic-tag-function-destructor-p|mantic-tag-function-parent|mantic-tag-function-throws|mantic-tag-get-attribute|mantic-tag-in-buffer-p|mantic-tag-include-filename-default|mantic-tag-include-filename|mantic-tag-include-system-p|mantic-tag-make-assoc-list|mantic-tag-make-plist|mantic-tag-mode|mantic-tag-modifiers|mantic-tag-name|mantic-tag-named-parent|mantic-tag-new-alias|mantic-tag-new-code|mantic-tag-new-function|mantic-tag-new-include|mantic-tag-new-package|mantic-tag-new-type|mantic-tag-new-variable|mantic-tag-of-class-p|mantic-tag-of-type-p|mantic-tag-overlay|mantic-tag-p|mantic-tag-properties|mantic-tag-prototype-p|mantic-tag-put-attribute-no-side-effect|mantic-tag-put-attribute|mantic-tag-remove-hook|mantic-tag-resolve-proxy|mantic-tag-set-bounds|mantic-tag-set-faux|mantic-tag-set-name|mantic-tag-set-proxy|mantic-tag-similar-with-subtags-p|mantic-tag-start|mantic-tag-type-compound-p|mantic-tag-type-interfaces|mantic-tag-type-members|mantic-tag-type-superclass-protection|mantic-tag-type-superclasses|mantic-tag-type|mantic-tag-variable-constant-p|mantic-tag-variable-default|mantic-tag-with-position-p|mantic-tag-write-list-slot-value|mantic-tag|mantic-test-data-cache|mantic-throw-on-input|mantic-toggle-minor-mode-globally|mantic-token-type-parent|mantic-unmatched-syntax-overlay-p|mantic-unmatched-syntax-tokens|mantic-varalias-obsolete|mantic-with-buffer-narrowed-to-current-tag|mantic-with-buffer-narrowed-to-tag|manticdb-database-typecache-child-p|manticdb-database-typecache-list-p|manticdb-database-typecache-p|manticdb-database-typecache|manticdb-enable-gnu-global-databases|manticdb-file-table-object|manticdb-find-adebug-lost-includes|manticdb-find-result-length|manticdb-find-result-nth-in-buffer|manticdb-find-result-nth|manticdb-find-table-for-include|manticdb-find-tags-by-class|manticdb-find-tags-by-name-regexp|manticdb-find-tags-by-name|manticdb-find-tags-for-completion|manticdb-find-test-translate-path|manticdb-find-translate-path|manticdb-minor-mode-p|manticdb-project-database-file-child-p|manticdb-project-database-file-list-p|manticdb-project-database-file-p|manticdb-project-database-file|manticdb-strip-find-results|manticdb-typecache-child-p|manticdb-typecache-find|manticdb-typecache-list-p|manticdb-typecache-p|manticdb-typecache|manticdb-without-unloaded-file-searches|nator-copy-tag-to-register|nator-copy-tag|nator-go-to-up-reference|nator-kill-tag|nator-next-tag|nator-previous-tag|nator-transpose-tags-down|nator-transpose-tags-up|nator-yank-tag|nd-invisible|nd-process-next-char|nd-region|nd-string|ndmail-query-once|ndmail-query-user-about-smtp|ndmail-send-it|ndmail-sync-aliases|ndmail-user-agent-compose|ntence-at-point|q--count-successive|q--drop-list|q--drop-while-list|q--take-list|q--take-while-list|q-concatenate|q-contains-p|q-copy|q-count|q-do|q-doseq|q-drop-while|q-drop|q-each|q-elt|q-empty-p|q-every-p|q-filter|q-length|q-map|q-reduce|q-remove|q-reverse|q-some-p|q-sort|q-subseq|q-take-while|q-take|q-uniq|rial-mode-line-config-menu-1|rial-mode-line-config-menu|rial-mode-line-speed-menu-1|rial-mode-line-speed-menu|rial-nice-speed-history|rial-port-is-file-p|rial-read-name|rial-read-speed|rial-speed|rial-supported-or-barf|rial-update-config-menu|rial-update-speed-menu|rver--on-display-p|rver-add-client|rver-buffer-done|rver-clients-with|rver-create-tty-frame|rver-create-window-system-frame|rver-delete-client|rver-done|rver-edit|rver-ensure-safe-dir|rver-eval-and-print|rver-eval-at|rver-execute-continuation|rver-execute|rver-force-delete|rver-force-stop|rver-generate-key|rver-get-auth-key|rver-goto-line-column|rver-goto-toplevel|rver-handle-delete-frame|rver-handle-suspend-tty|rver-kill-buffer|rver-kill-emacs-query-function|rver-log|rver-mode|rver-process-filter|rver-quote-arg|rver-reply-print|rver-return-error|rver-running-p|rver-save-buffers-kill-terminal|rver-select-display|rver-send-string|rver-sentinel|rver-start|rver-switch-buffer|rver-temp-file-p|rver-unload-function|rver-unquote-arg|rver-unselect-display|rver-visit-files|rver-with-environment|s\\\\\\\\+|s--advice-copy-region-as-kill|s--advice-yank|s--cell|s--clean-!|s--clean-_|s--letref|s--local-printer|s--locprn-compiled--cmacro|s--locprn-compiled|s--locprn-def--cmacro|s--locprn-def|s--locprn-local-printer-list--cmacro|s--locprn-local-printer-list|s--locprn-number--cmacro|s--locprn-number|s--locprn-p--cmacro|s--locprn-p|s--metaprogramming)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)s(?:es--time-check|es-adjust-print-width|es-append-row-jump-first-column|es-aset-with-undo|es-average|es-begin-change|es-calculate-cell|es-call-printer|es-cell--formula--cmacro|es-cell--formula|es-cell--printer--cmacro|es-cell--printer|es-cell--properties--cmacro|es-cell--properties|es-cell--references--cmacro|es-cell--references|es-cell--symbol--cmacro|es-cell--symbol|es-cell-formula|es-cell-p|es-cell-printer|es-cell-property-pop|es-cell-property|es-cell-references|es-cell-set-formula|es-cell-symbol|es-cell-value|es-center-span|es-center|es-check-curcell|es-cleanup|es-clear-cell-backward|es-clear-cell-forward|es-clear-cell|es-col-printer|es-col-width|es-column-letter|es-column-printers|es-column-widths|es-command-hook|es-copy-region-helper|es-copy-region|es-create-cell-symbol|es-create-cell-variable-range|es-create-cell-variable|es-create-header-string|es-dashfill-span|es-dashfill|es-decode-cell-symbol|es-default-printer|es-define-local-printer|es-delete-blanks|es-delete-column|es-delete-line|es-delete-row|es-destroy-cell-variable-range|es-dorange|es-edit-cell|es-end-of-line|es-export-keymap|es-export-tab|es-export-tsf|es-export-tsv|es-file-format-extend-parameter-list|es-formula-record|es-formula-references|es-forward-or-insert|es-get-cell|es-goto-data|es-goto-print|es-header-line-menu|es-header-row|es-in-print-area|es-initialize-Dijkstra-attempt|es-insert-column|es-insert-range-click|es-insert-range|es-insert-row|es-insert-ses-range-click|es-insert-ses-range|es-is-cell-sym-p|es-jump-safe|es-jump|es-kill-override|es-load|es-local-printer-compile|es-make-cell--cmacro|es-make-cell|es-make-local-printer-info|es-mark-column|es-mark-row|es-menu|es-mode-print-map|es-mode|es-print-cell-new-width|es-print-cell|es-printer-record|es-printer-validate|es-range|es-read-cell-printer|es-read-cell|es-read-column-printer|es-read-default-printer|es-read-printer|es-read-symbol|es-recalculate-all|es-recalculate-cell|es-reconstruct-all|es-refresh-local-printer|es-relocate-all|es-relocate-formula|es-relocate-range|es-relocate-symbol|es-rename-cell|es-renarrow-buffer|es-repair-cell-reference-all|es-replace-name-in-formula|es-reprint-all|es-reset-header-string|es-safe-formula|es-safe-printer|es-select|es-set-cell|es-set-column-width|es-set-curcell|es-set-header-row|es-set-localvars|es-set-parameter|es-set-with-undo|es-setter-with-undo|es-setup|es-sort-column-click|es-sort-column|es-sym-rowcol|es-tildefill-span|es-truncate-cell|es-unload-function|es-unsafe|es-unset-header-row|es-update-cells|es-vector-delete|es-vector-insert|es-warn-unsafe|es-widen|es-write-cells|es-yank-cells|es-yank-one|es-yank-pop|es-yank-resize|es-yank-tsf|et-allout-regexp|et-auto-mode-0|et-auto-mode-1|et-background-color|et-border-color|et-buffer-file-coding-system|et-buffer-process-coding-system|et-cdabbrev-buffer|et-charset-plist|et-clipboard-coding-system|et-cmpl-prefix-entry-head|et-cmpl-prefix-entry-tail|et-coding-priority|et-comment-column|et-completion-last-use-time|et-completion-num-uses|et-completion-string|et-cursor-color|et-default-coding-systems|et-default-font|et-default-toplevel-value|et-difference|et-display-table-and-terminal-coding-system|et-downcase-syntax|et-exclusive-or|et-face-attribute-from-resource|et-face-attributes-from-resources|et-face-background-pixmap|et-face-bold-p|et-face-doc-string|et-face-documentation|et-face-inverse-video-p|et-face-italic-p|et-face-underline-p|et-file-name-coding-system|et-fill-column|et-fill-prefix|et-font-encoding|et-foreground-color|et-frame-font|et-frame-name|et-fringe-mode-1|et-fringe-mode|et-fringe-style|et-goal-column|et-hard-newline-properties|et-input-interrupt-mode|et-input-meta-mode|et-justification-center|et-justification-full|et-justification-left|et-justification-none|et-justification-right|et-justification|et-keyboard-coding-system-internal|et-language-environment-charset|et-language-environment-coding-systems|et-language-environment-input-method|et-language-environment-nonascii-translation|et-language-environment-unibyte|et-language-environment|et-language-info-alist|et-language-info-internal|et-language-info|et-locale-environment|et-mark-command|et-mode-local-parent|et-mouse-color|et-nested-alist|et-next-selection-coding-system|et-output-flow-control|et-page-delimiter|et-process-filter-multibyte|et-process-inherit-coding-system-flag|et-process-window-size|et-quit-char|et-rcirc-decode-coding-system|et-rcirc-encode-coding-system|et-rmail-inbox-list|et-safe-terminal-coding-system-internal|et-scroll-bar-mode|et-selection-coding-system|et-selective-display|et-slot-value|et-temporary-overlay-map|et-terminal-coding-system-internal|et-time-zone-rule|et-upcase-syntax|et-variable|et-viper-state-in-major-mode|et-window-buffer-start-and-point|et-window-dot|et-window-new-normal|et-window-new-pixel|et-window-new-total|et-window-redisplay-end-trigger|et-window-text-height|et-woman-file-regexp|etenv-internal|etq-mode-local|etup-chinese-environment-map|etup-cyrillic-environment-map|etup-default-fontset|etup-ethiopic-environment-internal|etup-european-environment-map|etup-indian-environment-map|etup-japanese-environment-internal|etup-korean-environment-internal|etup-specified-language-environment|eventh|exp-at-point|gml-at-indentation-p|gml-attributes|gml-auto-attributes|gml-beginning-of-tag|gml-calculate-indent|gml-close-tag|gml-comment-indent-new-line|gml-comment-indent|gml-delete-tag|gml-electric-tag-pair-before-change-function|gml-electric-tag-pair-flush-overlays|gml-electric-tag-pair-mode|gml-empty-tag-p|gml-fill-nobreak|gml-get-context|gml-guess-indent|gml-html-meta-auto-coding-function|gml-indent-line|gml-lexical-context|gml-looking-back-at|gml-make-syntax-table|gml-make-tag--cmacro|gml-make-tag|gml-maybe-end-tag|gml-maybe-name-self|gml-mode-facemenu-add-face-function|gml-mode-flyspell-verify|gml-mode|gml-name-8bit-mode|gml-name-char|gml-name-self|gml-namify-char|gml-parse-dtd|gml-parse-tag-backward|gml-parse-tag-name|gml-point-entered|gml-pretty-print|gml-quote|gml-show-context|gml-skip-tag-backward|gml-skip-tag-forward|gml-slash-matching|gml-slash|gml-tag-end--cmacro|gml-tag-end|gml-tag-help|gml-tag-name--cmacro|gml-tag-name|gml-tag-p--cmacro|gml-tag-p|gml-tag-start--cmacro|gml-tag-start|gml-tag-text-p|gml-tag-type--cmacro|gml-tag-type|gml-tag|gml-tags-invisible|gml-unclosed-tag-p|gml-validate|gml-value|gml-xml-auto-coding-function|gml-xml-guess|h--cmd-completion-table|h--inside-noncommand-expression|h--maybe-here-document|h--vars-before-point|h-add-completer|h-add|h-after-hack-local-variables|h-append-backslash|h-append|h-assignment|h-backslash-region|h-basic-indent-line|h-beginning-of-command|h-blink|h-calculate-indent|h-canonicalize-shell|h-case|h-cd-here|h-check-rule|h-completion-at-point-function|h-current-defun-name|h-debug|h-delete-backslash|h-electric-here-document-mode|h-end-of-command|h-execute-region|h-feature|h-find-prev-matching|h-find-prev-switch|h-font-lock-backslash-quote|h-font-lock-keywords-1|h-font-lock-keywords-2|h-font-lock-keywords|h-font-lock-open-heredoc|h-font-lock-paren|h-font-lock-quoted-subshell|h-font-lock-syntactic-face-function|h-for|h-function|h-get-indent-info|h-get-indent-var-for-line|h-get-kw|h-get-word|h-goto-match-for-done|h-goto-matching-case|h-goto-matching-if|h-guess-basic-offset|h-handle-after-case-label|h-handle-prev-case-alt-end|h-handle-prev-case|h-handle-prev-do|h-handle-prev-done|h-handle-prev-else|h-handle-prev-esac|h-handle-prev-fi|h-handle-prev-if|h-handle-prev-open|h-handle-prev-rc-case|h-handle-prev-then|h-handle-this-close|h-handle-this-do|h-handle-this-done|h-handle-this-else|h-handle-this-esac|h-handle-this-fi|h-handle-this-rc-case|h-handle-this-then|h-help-string-for-variable|h-if|h-in-comment-or-string|h-indent-line|h-indexed-loop|h-is-quoted-p|h-learn-buffer-indent|h-learn-line-indent|h-load-style|h-make-vars-local|h-mark-init|h-mark-line|h-maybe-here-document|h-mkword-regexpr|h-mode-syntax-table|h-mode|h-modify|h-must-support-indent|h-name-style|h-prev-line|h-prev-stmt|h-prev-thing|h-quoted-p|h-read-variable|h-remember-variable|h-repeat|h-reset-indent-vars-to-global-values|h-safe-forward-sexp|h-save-styles-to-buffer|h-select|h-send-line-or-region-and-step|h-send-text|h-set-indent|h-set-shell|h-set-var-value|h-shell-initialize-variables|h-shell-process|h-show-indent|h-show-shell|h-smie--continuation-start-indent|h-smie--default-backward-token|h-smie--default-forward-token|h-smie--keyword-p|h-smie--looking-back-at-continuation-p|h-smie--newline-semi-p|h-smie--rc-after-special-arg-p|h-smie--rc-newline-semi-p|h-smie--sh-keyword-in-p|h-smie--sh-keyword-p|h-smie-rc-backward-token|h-smie-rc-forward-token|h-smie-rc-rules|h-smie-sh-backward-token|h-smie-sh-forward-token|h-smie-sh-rules|h-syntax-propertize-function|h-syntax-propertize-here-doc|h-this-is-a-continuation|h-tmp-file|h-until|h-var-value|h-while-getopts|h-while|ha1|hadow-add-to-todo|hadow-cancel|hadow-cluster-name|hadow-cluster-primary|hadow-cluster-regexp|hadow-contract-file-name|hadow-copy-files??|hadow-define-cluster|hadow-define-literal-group|hadow-define-regexp-group|hadow-expand-cluster-in-file-name|hadow-expand-file-name|hadow-file-match|hadow-find|hadow-get-cluster|hadow-get-user|hadow-initialize|hadow-insert-var|hadow-invalidate-hashtable|hadow-local-file|hadow-make-cluster|hadow-make-fullname|hadow-make-group|hadow-parse-fullname|hadow-parse-name|hadow-read-files|hadow-read-site|hadow-regexp-superquote|hadow-remove-from-todo|hadow-replace-name-component|hadow-same-site|hadow-save-buffers-kill-emacs|hadow-save-todo-file|hadow-set-cluster|hadow-shadows-of-1|hadow-shadows-of|hadow-shadows|hadow-site-cluster|hadow-site-match|hadow-site-primary|hadow-suffix|hadow-union|hadow-write-info-file|hadow-write-todo-file|hadowfile-unload-function|hared-initialize|hell--command-completion-data|hell--parse-pcomplete-arguments|hell--requote-argument|hell--unquote&requote-argument|hell--unquote-argument|hell-apply-ansi-color|hell-backward-command|hell-c-a-p-replace-by-expanded-directory|hell-cd|hell-command-completion-function|hell-command-completion|hell-command-on-region|hell-command-sentinel|hell-command|hell-completion-vars|hell-copy-environment-variable|hell-directory-tracker|hell-dirstack-message|hell-dirtrack-mode|hell-dirtrack-toggle|hell-dynamic-complete-command|hell-dynamic-complete-environment-variable|hell-dynamic-complete-filename|hell-environment-variable-completion|hell-extract-num|hell-filename-completion|hell-filter-ctrl-a-ctrl-b|hell-forward-command|hell-match-partial-variable|hell-mode|hell-prefixed-directory-name|hell-process-cd|hell-process-popd|hell-process-pushd|hell-quote-wildcard-pattern|hell-reapply-ansi-color|hell-replace-by-expanded-directory|hell-resync-dirs|hell-script-mode|hell-snarf-envar|hell-strip-ctrl-m|hell-unquote-argument|hell-write-history-on-exit|hell|hiftf|hould-error|hould-not|hould|how-all|how-branches|how-buffer|how-children|how-entry|how-ifdef-block|how-ifdefs|how-paren--categorize-paren|how-paren--default|how-paren--locate-near-paren|how-paren--unescaped-p|how-paren-function|how-paren-mode|how-subtree|hr--extract-best-source|hr--get-media-pref|hr-add-font|hr-browse-image|hr-browse-url|hr-buffer-width|hr-char-breakable-p--inliner|hr-char-breakable-p|hr-char-kinsoku-bol-p--inliner|hr-char-kinsoku-bol-p|hr-char-kinsoku-eol-p--inliner|hr-char-kinsoku-eol-p|hr-char-nospace-p--inliner|hr-char-nospace-p|hr-color->hexadecimal|hr-color-check|hr-color-hsl-to-rgb-fractions|hr-color-hue-to-rgb|hr-color-relative-to-absolute|hr-color-set-minimum-interval|hr-color-visible|hr-colorize-region|hr-column-specs|hr-copy-url|hr-count|hr-descend|hr-dom-print|hr-dom-to-xml|hr-encode-url|hr-ensure-newline|hr-ensure-paragraph|hr-expand-newlines|hr-expand-url|hr-find-fill-point|hr-fold-text|hr-fontize-dom|hr-generic|hr-get-image-data|hr-heading|hr-image-displayer|hr-image-fetched|hr-image-from-data|hr-indent)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)s(?:hr-insert-image|hr-insert-table-ruler|hr-insert-table|hr-insert|hr-make-table-1|hr-make-table|hr-max-columns|hr-mouse-browse-url|hr-next-link|hr-parse-base|hr-parse-image-data|hr-parse-style|hr-previous-link|hr-previous-newline-padding-width|hr-pro-rate-columns|hr-put-image|hr-remove-trailing-whitespace|hr-render-buffer|hr-render-region|hr-render-td|hr-rescale-image|hr-save-contents|hr-show-alt-text|hr-store-contents|hr-table-widths|hr-tag-a|hr-tag-audio|hr-tag-b|hr-tag-base|hr-tag-blockquote|hr-tag-body|hr-tag-br|hr-tag-comment|hr-tag-dd|hr-tag-del|hr-tag-div|hr-tag-dl|hr-tag-dt|hr-tag-em|hr-tag-font|hr-tag-h1|hr-tag-h2|hr-tag-h3|hr-tag-h4|hr-tag-h5|hr-tag-h6|hr-tag-hr|hr-tag-i|hr-tag-img|hr-tag-label|hr-tag-li|hr-tag-object|hr-tag-ol|hr-tag-p|hr-tag-pre|hr-tag-s|hr-tag-script|hr-tag-span|hr-tag-strong|hr-tag-style|hr-tag-sub|hr-tag-sup|hr-tag-svg|hr-tag-table-1|hr-tag-table|hr-tag-title|hr-tag-ul??|hr-tag-video|hr-urlify|hr-zoom-image|hrink-window-horizontally|hrink-window|huffle-vector|ieve-manage|ieve-mode|ieve-upload-and-bury|ieve-upload-and-kill|ieve-upload|ignum|imula-backward-up-level|imula-calculate-indent|imula-context|imula-electric-keyword|imula-electric-label|imula-expand-keyword|imula-expand-stdproc|imula-find-do-match|imula-find-if|imula-find-inspect|imula-forward-down-level|imula-forward-up-level|imula-goto-definition|imula-indent-command|imula-indent-exp|imula-indent-line|imula-inside-parens|imula-install-standard-abbrevs|imula-mode|imula-next-statement|imula-popup-menu|imula-previous-statement|imula-search-backward|imula-search-forward|imula-skip-comment-backward|imula-skip-comment-forward|imula-submit-bug-report|ixth|ize-indication-mode|keleton-insert|keleton-internal-1|keleton-internal-list|keleton-pair-insert-maybe|keleton-proxy-new|keleton-read|kip-line-prefix|litex-mode|lot-boundp|lot-exists-p|lot-makeunbound|lot-missing|lot-unbound|lot-value|mbclient-list-shares|mbclient-mode|mbclient|merge--get-marker|merge-apply-resolution-patch|merge-auto-combine|merge-auto-leave|merge-batch-resolve|merge-check|merge-combine-with-next|merge-conflict-overlay|merge-context-menu|merge-diff-base-mine|merge-diff-base-other|merge-diff-mine-other|merge-diff|merge-ediff|merge-ensure-match|merge-find-conflict|merge-get-current|merge-keep-all|merge-keep-base|merge-keep-current|merge-keep-mine|merge-keep-n|merge-keep-other|merge-kill-current|merge-makeup-conflict|merge-match-conflict|merge-mode-menu|merge-mode|merge-next|merge-popup-context-menu|merge-prev|merge-refine-chopup-region|merge-refine-forward|merge-refine-highlight-change|merge-refine-subst|merge-refine|merge-remove-props|merge-resolve--extract-comment|merge-resolve--normalize|merge-resolve-all|merge-resolve|merge-start-session|merge-swap|mie--associative-p|mie--matching-block-data|mie--next-indent-change|mie--opener/closer-at-point|mie-auto-fill|mie-backward-sexp-command|mie-backward-sexp|mie-blink-matching-check|mie-blink-matching-open|mie-bnf--classify|mie-bnf--closer-alist|mie-bnf--set-class|mie-config--advice|mie-config--get-trace|mie-config--guess-1|mie-config--guess-value|mie-config--guess|mie-config--mode-hook|mie-config--setter|mie-debug--describe-cycle|mie-debug--prec2-cycle|mie-default-backward-token|mie-default-forward-token|mie-edebug|mie-forward-sexp-command|mie-forward-sexp|mie-indent--bolp-1|mie-indent--bolp|mie-indent--hanging-p|mie-indent--offset|mie-indent--parent|mie-indent--rule-1|mie-indent--rule|mie-indent--separator-outdent|mie-indent-after-keyword|mie-indent-backward-token|mie-indent-bob|mie-indent-calculate|mie-indent-close|mie-indent-comment-close|mie-indent-comment-continue|mie-indent-comment-inside|mie-indent-comment|mie-indent-exps|mie-indent-fixindent|mie-indent-forward-token|mie-indent-inside-string|mie-indent-keyword|mie-indent-line|mie-indent-virtual|mie-next-sexp|mie-op-left|mie-op-right|mie-set-prec2tab|miley-buffer|miley-region|mtpmail-command-or-throw|mtpmail-cred-cert|mtpmail-cred-key|mtpmail-cred-passwd|mtpmail-cred-port|mtpmail-cred-server|mtpmail-cred-user|mtpmail-deduce-address-list|mtpmail-do-bcc|mtpmail-find-credentials|mtpmail-fqdn|mtpmail-intersection|mtpmail-maybe-append-domain|mtpmail-ok-p|mtpmail-process-filter|mtpmail-query-smtp-server|mtpmail-read-response|mtpmail-response-code|mtpmail-response-text|mtpmail-send-command|mtpmail-send-data-1|mtpmail-send-data|mtpmail-send-it|mtpmail-send-queued-mail|mtpmail-try-auth-methods??|mtpmail-user-mail-address|mtpmail-via-smtp|nake-active-p|nake-display-options|nake-end-game|nake-final-x-velocity|nake-final-y-velocity|nake-init-buffer|nake-mode|nake-move-down|nake-move-left|nake-move-right|nake-move-up|nake-pause-game|nake-reset-game|nake-start-game|nake-update-game|nake-update-score|nake-update-velocity|nake|narf-spooks|nmp-calculate-indent|nmp-common-mode|nmp-completing-read|nmp-indent-line|nmp-mode-imenu-create-index|nmp-mode|nmpv2-mode|oap-array-type-element-type--cmacro|oap-array-type-element-type|oap-array-type-name--cmacro|oap-array-type-name|oap-array-type-namespace-tag--cmacro|oap-array-type-namespace-tag|oap-array-type-p--cmacro|oap-array-type-p|oap-basic-type-kind--cmacro|oap-basic-type-kind|oap-basic-type-name--cmacro|oap-basic-type-name|oap-basic-type-namespace-tag--cmacro|oap-basic-type-namespace-tag|oap-basic-type-p--cmacro|oap-basic-type-p|oap-binding-name--cmacro|oap-binding-name|oap-binding-namespace-tag--cmacro|oap-binding-namespace-tag|oap-binding-operations--cmacro|oap-binding-operations|oap-binding-p--cmacro|oap-binding-p|oap-binding-port-type--cmacro|oap-binding-port-type|oap-bound-operation-operation--cmacro|oap-bound-operation-operation|oap-bound-operation-p--cmacro|oap-bound-operation-p|oap-bound-operation-soap-action--cmacro|oap-bound-operation-soap-action|oap-bound-operation-use--cmacro|oap-bound-operation-use|oap-create-envelope|oap-decode-any-type|oap-decode-array-type|oap-decode-array|oap-decode-basic-type|oap-decode-sequence-type|oap-decode-type|oap-default-soapenc-types|oap-default-xsd-types|oap-element-fq-name|oap-element-name--cmacro|oap-element-name|oap-element-namespace-tag--cmacro|oap-element-namespace-tag|oap-element-p--cmacro|oap-element-p|oap-encode-array-type|oap-encode-basic-type|oap-encode-body|oap-encode-sequence-type|oap-encode-simple-type|oap-encode-value|oap-extract-xmlns|oap-get-target-namespace|oap-invoke|oap-l2fq|oap-l2wk|oap-load-wsdl-from-url|oap-load-wsdl|oap-message-name--cmacro|oap-message-name|oap-message-namespace-tag--cmacro|oap-message-namespace-tag|oap-message-p--cmacro|oap-message-p|oap-message-parts--cmacro|oap-message-parts|oap-namespace-elements--cmacro|oap-namespace-elements|oap-namespace-get|oap-namespace-link-name--cmacro|oap-namespace-link-name|oap-namespace-link-namespace-tag--cmacro|oap-namespace-link-namespace-tag|oap-namespace-link-p--cmacro|oap-namespace-link-p|oap-namespace-link-target--cmacro|oap-namespace-link-target|oap-namespace-name--cmacro|oap-namespace-name|oap-namespace-p--cmacro|oap-namespace-p|oap-namespace-put-link|oap-namespace-put|oap-operation-faults--cmacro|oap-operation-faults|oap-operation-input--cmacro|oap-operation-input|oap-operation-name--cmacro|oap-operation-name|oap-operation-namespace-tag--cmacro|oap-operation-namespace-tag|oap-operation-output--cmacro|oap-operation-output|oap-operation-p--cmacro|oap-operation-p|oap-operation-parameter-order--cmacro|oap-operation-parameter-order|oap-parse-binding|oap-parse-complex-type-complex-content|oap-parse-complex-type-sequence|oap-parse-complex-type|oap-parse-envelope|oap-parse-message|oap-parse-operation|oap-parse-port-type|oap-parse-response|oap-parse-schema-element|oap-parse-schema|oap-parse-sequence|oap-parse-simple-type|oap-parse-wsdl|oap-port-binding--cmacro|oap-port-binding|oap-port-name--cmacro|oap-port-name|oap-port-namespace-tag--cmacro|oap-port-namespace-tag|oap-port-p--cmacro|oap-port-p|oap-port-service-url--cmacro|oap-port-service-url|oap-port-type-name--cmacro|oap-port-type-name|oap-port-type-namespace-tag--cmacro|oap-port-type-namespace-tag|oap-port-type-operations--cmacro|oap-port-type-operations|oap-port-type-p--cmacro|oap-port-type-p|oap-resolve-references-for-array-type|oap-resolve-references-for-binding|oap-resolve-references-for-element|oap-resolve-references-for-message|oap-resolve-references-for-operation|oap-resolve-references-for-port|oap-resolve-references-for-sequence-type|oap-resolve-references-for-simple-type|oap-sequence-element-multiple\\\\\\\\?--cmacro|oap-sequence-element-multiple\\\\\\\\?|oap-sequence-element-name--cmacro|oap-sequence-element-name|oap-sequence-element-nillable\\\\\\\\?--cmacro|oap-sequence-element-nillable\\\\\\\\?|oap-sequence-element-p--cmacro|oap-sequence-element-p|oap-sequence-element-type--cmacro|oap-sequence-element-type|oap-sequence-type-elements--cmacro|oap-sequence-type-elements|oap-sequence-type-name--cmacro|oap-sequence-type-name|oap-sequence-type-namespace-tag--cmacro|oap-sequence-type-namespace-tag|oap-sequence-type-p--cmacro|oap-sequence-type-p|oap-sequence-type-parent--cmacro|oap-sequence-type-parent|oap-simple-type-enumeration--cmacro|oap-simple-type-enumeration|oap-simple-type-kind--cmacro|oap-simple-type-kind|oap-simple-type-name--cmacro|oap-simple-type-name|oap-simple-type-namespace-tag--cmacro|oap-simple-type-namespace-tag|oap-simple-type-p--cmacro|oap-simple-type-p|oap-type-p|oap-warning|oap-with-local-xmlns|oap-wk2l|oap-wsdl-add-alias|oap-wsdl-add-namespace|oap-wsdl-alias-table--cmacro|oap-wsdl-alias-table|oap-wsdl-find-namespace|oap-wsdl-get|oap-wsdl-namespaces--cmacro|oap-wsdl-namespaces|oap-wsdl-origin--cmacro|oap-wsdl-origin|oap-wsdl-p--cmacro|oap-wsdl-p|oap-wsdl-ports--cmacro|oap-wsdl-ports|oap-wsdl-resolve-references|oap-xml-get-attribute-or-nil1|oap-xml-get-children1|ocks-build-auth-list|ocks-chap-auth|ocks-cram-auth|ocks-filter|ocks-find-route|ocks-find-services-entry|ocks-gssapi-auth|ocks-nslookup-host|ocks-open-connection|ocks-open-network-stream|ocks-original-open-network-stream|ocks-parse-services|ocks-register-authentication-method|ocks-send-command|ocks-split-string|ocks-unregister-authentication-method|ocks-username/password-auth-filter|ocks-username/password-auth|ocks-wait-for-state-change|olicit-char-in-string|olitaire-build-mode-line|olitaire-center-point|olitaire-check|olitaire-current-line|olitaire-do-check|olitaire-down|olitaire-insert-board|olitaire-left|olitaire-mode|olitaire-move-down|olitaire-move-left|olitaire-move-right|olitaire-move-up|olitaire-move|olitaire-possible-move|olitaire-right|olitaire-solve|olitaire-undo|olitaire-up|olitaire|ome-window|ome|ort\\\\\\\\*|ort-build-lists|ort-charsets|ort-coding-systems|ort-fields-1|ort-pages-buffer|ort-pages-in-region|ort-regexp-fields-next-record|ort-reorder-buffer|ort-skip-fields|oundex|paces-string|pam-initialize|pam-report-agentize|pam-report-deagentize|pam-report-process-queue|pam-report-url-ping-mm-url|pam-report-url-to-file|pecial-display-p|pecial-display-popup-frame|peedbar-add-expansion-list|peedbar-add-ignored-directory-regexp|peedbar-add-ignored-path-regexp|peedbar-add-indicator|peedbar-add-localized-speedbar-support|peedbar-add-mode-functions-list|peedbar-add-supported-extension|peedbar-backward-list|peedbar-buffer-buttons-engine|peedbar-buffer-buttons-temp|peedbar-buffer-buttons|peedbar-buffer-click|peedbar-buffer-kill-buffer|peedbar-buffer-revert-buffer|peedbar-buffers-item-info|peedbar-buffers-line-directory|peedbar-buffers-line-path|peedbar-buffers-tail-notes|peedbar-center-buffer-smartly|peedbar-change-expand-button-char|peedbar-change-initial-expansion-list|peedbar-check-obj-this-line|peedbar-check-objects|peedbar-check-read-only|peedbar-check-vc-this-line|peedbar-check-vc|peedbar-clear-current-file|peedbar-click|peedbar-contract-line-descendants|peedbar-contract-line|peedbar-create-directory)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:speedbar-create-tag-hierarchy|speedbar-current-frame|speedbar-customize|speedbar-default-directory-list|speedbar-delete-overlay|speedbar-delete-subblock|speedbar-dir-follow|speedbar-directory-buttons-follow|speedbar-directory-buttons|speedbar-directory-line|speedbar-dired|speedbar-disable-update|speedbar-do-function-pointer|speedbar-edit-line|speedbar-enable-update|speedbar-expand-line-descendants|speedbar-expand-line|speedbar-extension-list-to-regex|speedbar-extract-one-symbol|speedbar-fetch-dynamic-etags|speedbar-fetch-dynamic-imenu|speedbar-fetch-dynamic-tags|speedbar-fetch-replacement-function|speedbar-file-lists|speedbar-files-item-info|speedbar-files-line-directory|speedbar-find-file-in-frame|speedbar-find-file|speedbar-find-selected-file|speedbar-flush-expand-line|speedbar-forward-list|speedbar-frame-mode|speedbar-frame-reposition-smartly|speedbar-frame-width|speedbar-generic-item-info|speedbar-generic-list-group-p|speedbar-generic-list-positioned-group-p|speedbar-generic-list-tag-p|speedbar-get-focus|speedbar-goto-this-file|speedbar-handle-delete-frame|speedbar-highlight-one-tag-line|speedbar-image-dump|speedbar-initial-expansion-list|speedbar-initial-keymap|speedbar-initial-menu|speedbar-initial-stealthy-functions|speedbar-insert-button|speedbar-insert-etags-list|speedbar-insert-files-at-point|speedbar-insert-generic-list|speedbar-insert-image-button-maybe|speedbar-insert-imenu-list|speedbar-insert-separator|speedbar-item-byte-compile|speedbar-item-copy|speedbar-item-delete|speedbar-item-info-file-helper|speedbar-item-info-tag-helper|speedbar-item-info|speedbar-item-load|speedbar-item-object-delete|speedbar-item-rename|speedbar-line-directory|speedbar-line-file|speedbar-line-path|speedbar-line-text|speedbar-line-token|speedbar-make-button|speedbar-make-overlay|speedbar-make-specialized-keymap|speedbar-make-tag-line|speedbar-maybe-add-localized-support|speedbar-maybee-jump-to-attached-frame|speedbar-message|speedbar-mode-line-update|speedbar-mode|speedbar-mouse-item-info|speedbar-navigate-list|speedbar-next|speedbar-overlay-put|speedbar-parse-c-or-c\\\\\\\\+\\\\\\\\+tag|speedbar-parse-tex-string|speedbar-path-line|speedbar-position-cursor-on-line|speedbar-prefix-group-tag-hierarchy|speedbar-prev|speedbar-recenter-to-top|speedbar-recenter|speedbar-reconfigure-keymaps|speedbar-refresh|speedbar-remove-localized-speedbar-support|speedbar-reset-scanners|speedbar-restricted-move|speedbar-restricted-next|speedbar-restricted-prev|speedbar-scroll-down|speedbar-scroll-up|speedbar-select-attached-frame|speedbar-set-mode-line-format|speedbar-set-timer|speedbar-show-info-under-mouse|speedbar-simple-group-tag-hierarchy|speedbar-sort-tag-hierarchy|speedbar-stealthy-updates|speedbar-tag-expand|speedbar-tag-file|speedbar-tag-find|speedbar-this-file-in-vc|speedbar-timer-fn|speedbar-toggle-etags|speedbar-toggle-images|speedbar-toggle-line-expansion|speedbar-toggle-show-all-files|speedbar-toggle-sorting|speedbar-toggle-updates|speedbar-track-mouse|speedbar-trim-words-tag-hierarchy|speedbar-try-completion|speedbar-unhighlight-one-tag-line|speedbar-up-directory|speedbar-update-contents|speedbar-update-current-file|speedbar-update-directory-contents|speedbar-update-localized-contents|speedbar-update-special-contents|speedbar-vc-check-dir-p|speedbar-with-attached-buffer|speedbar-with-writable|speedbar-y-or-n-p|speedbar|split-char|split-line|split-window-horizontally|split-window-internal|split-window-vertically|spook|sql--completion-table|sql--make-help-docstring|sql--oracle-show-reserved-words|sql-accumulate-and-indent|sql-add-product-keywords|sql-add-product|sql-beginning-of-statement|sql-buffer-live-p|sql-build-completions-1|sql-build-completions|sql-comint-db2|sql-comint-informix|sql-comint-ingres|sql-comint-interbase|sql-comint-linter|sql-comint-ms|sql-comint-mysql|sql-comint-oracle|sql-comint-postgres|sql-comint-solid|sql-comint-sqlite|sql-comint-sybase|sql-comint-vertica|sql-comint|sql-connect|sql-connection-menu-filter|sql-copy-column|sql-db2|sql-default-value|sql-del-product|sql-end-of-statement|sql-ends-with-prompt-re|sql-escape-newlines-filter|sql-execute-feature|sql-execute|sql-find-sqli-buffer|sql-font-lock-keywords-builder|sql-for-each-login|sql-get-login-ext|sql-get-login|sql-get-product-feature|sql-help-list-products|sql-help|sql-highlight-ansi-keywords|sql-highlight-db2-keywords|sql-highlight-informix-keywords|sql-highlight-ingres-keywords|sql-highlight-interbase-keywords|sql-highlight-linter-keywords|sql-highlight-ms-keywords|sql-highlight-mysql-keywords|sql-highlight-oracle-keywords|sql-highlight-postgres-keywords|sql-highlight-product|sql-highlight-solid-keywords|sql-highlight-sqlite-keywords|sql-highlight-sybase-keywords|sql-highlight-vertica-keywords|sql-informix|sql-ingres|sql-input-sender|sql-interactive-mode-menu|sql-interactive-mode|sql-interactive-remove-continuation-prompt|sql-interbase|sql-linter|sql-list-all|sql-list-table|sql-magic-go|sql-magic-semicolon|sql-make-alternate-buffer-name|sql-mode-menu|sql-mode|sql-ms|sql-mysql|sql-oracle-completion-object|sql-oracle-list-all|sql-oracle-list-table|sql-oracle-restore-settings|sql-oracle-save-settings|sql-oracle|sql-placeholders-filter|sql-postgres-completion-object|sql-postgres|sql-product-font-lock-syntax-alist|sql-product-font-lock|sql-product-interactive|sql-product-syntax-table|sql-read-connection|sql-read-product|sql-read-table-name|sql-redirect-one|sql-redirect-value|sql-redirect|sql-regexp-abbrev-list|sql-regexp-abbrev|sql-remove-tabs-filter|sql-rename-buffer|sql-save-connection|sql-send-buffer|sql-send-line-and-next|sql-send-magic-terminator|sql-send-paragraph|sql-send-region|sql-send-string|sql-set-product-feature|sql-set-product|sql-set-sqli-buffer-generally|sql-set-sqli-buffer|sql-show-sqli-buffer|sql-solid|sql-sqlite-completion-object|sql-sqlite|sql-starts-with-prompt-re|sql-statement-regexp|sql-stop|sql-str-literal|sql-sybase|sql-toggle-pop-to-buffer-after-send-region|sql-vertica|squeeze-bidi-context-1|squeeze-bidi-context|srecode-compile-templates|srecode-document-insert-comment|srecode-document-insert-function-comment|srecode-document-insert-group-comments|srecode-document-insert-variable-one-line-comment|srecode-get-maps|srecode-insert-getset|srecode-insert-prototype-expansion|srecode-insert|srecode-minor-mode|srecode-semantic-handle-:c|srecode-semantic-handle-:cpp|srecode-semantic-handle-:el-custom|srecode-semantic-handle-:el|srecode-semantic-handle-:java|srecode-semantic-handle-:srt|srecode-semantic-handle-:texi|srecode-semantic-handle-:texitag|srecode-template-mode|srecode-template-setup-parser|srt-mode|stable-sort|standard-class|standard-display-8bit|standard-display-ascii|standard-display-cyrillic-translit|standard-display-default|standard-display-european-internal|standard-display-european|standard-display-g1|standard-display-graphic|standard-display-underline|start-kbd-macro|start-of-paragraph-text|start-scheme|starttls-any-program-available|starttls-available-p|starttls-negotiate-gnutls|starttls-negotiate|starttls-open-stream-gnutls|starttls-open-stream|starttls-set-process-query-on-exit-flag|startup-echo-area-message|straight-use-package|store-kbd-macro-event|string-blank-p|string-collate-equalp|string-collate-lessp|string-empty-p|string-insert-rectangle|string-join|string-make-multibyte|string-make-unibyte|string-rectangle-line|string-rectangle|string-remove-prefix|string-remove-suffix|string-reverse|string-to-list|string-to-vector|string-trim-left|string-trim-right|string-trim|strokes-alphabetic-lessp|strokes-button-press-event-p|strokes-button-release-event-p|strokes-click-p|strokes-compose-complex-stroke|strokes-decode-buffer|strokes-define-stroke|strokes-describe-stroke|strokes-distance-squared|strokes-do-complex-stroke|strokes-do-stroke|strokes-eliminate-consecutive-redundancies|strokes-encode-buffer|strokes-event-closest-point-1|strokes-event-closest-point|strokes-execute-stroke|strokes-fill-current-buffer-with-whitespace|strokes-fill-stroke|strokes-get-grid-position|strokes-get-stroke-extent|strokes-global-set-stroke-string|strokes-global-set-stroke|strokes-help|strokes-lift-p|strokes-list-strokes|strokes-load-user-strokes|strokes-match-stroke|strokes-mode|strokes-mouse-event-p|strokes-prompt-user-save-strokes|strokes-rate-stroke|strokes-read-complex-stroke|strokes-read-stroke|strokes-remassoc|strokes-renormalize-to-grid|strokes-report-bug|strokes-square|strokes-toggle-strokes-buffer|strokes-unload-function|strokes-unset-last-stroke|strokes-update-window-configuration|strokes-window-configuration-changed-p|strokes-xpm-char-bit-p|strokes-xpm-char-on-p|strokes-xpm-decode-char|strokes-xpm-encode-length-as-string|strokes-xpm-for-compressed-string|strokes-xpm-for-stroke|strokes-xpm-to-compressed-string|studlify-buffer|studlify-region|studlify-word|sublis|subr-name|subregexp-context-p|subseq|subsetp|subst-char-in-string|subst-if-not|subst-if|subst|substitute-env-in-file-name|substitute-env-vars|substitute-if-not|substitute-if|substitute-key-definition-key|substitute|subtract-time|subword-mode|sunrise-sunset|superword-mode|suspicious-object|svref|switch-to-completions|switch-to-lisp|switch-to-prolog|switch-to-scheme|switch-to-tcl|symbol-at-point|symbol-before-point-for-complete|symbol-before-point|symbol-macrolet|symbol-under-or-before-point|symbol-under-point|syntax-ppss-after-change-function|syntax-ppss-context|syntax-ppss-debug|syntax-ppss-depth|syntax-ppss-stats|syntax-propertize--shift-groups|syntax-propertize-multiline|syntax-propertize-precompile-rules|syntax-propertize-rules|syntax-propertize-via-font-lock|syntax-propertize-wholelines|syntax-propertize|t-mouse-mode|tabify|table--at-cell-p|table--buffer-substring-and-trim|table--cancel-timer|table--cell-blank-str|table--cell-can-span-p|table--cell-can-split-horizontally-p|table--cell-can-split-vertically-p|table--cell-horizontal-char-p|table--cell-insert-char|table--cell-list-to-coord-list|table--cell-to-coord|table--char-in-str-at-column|table--copy-coordinate|table--create-growing-space-below|table--current-line|table--detect-cell-alignment|table--editable-cell-p|table--fill-region-strictly|table--fill-region|table--find-row-column|table--finish-delayed-tasks|table--generate-source-cell-contents|table--generate-source-cells-in-a-row|table--generate-source-epilogue|table--generate-source-prologue|table--generate-source-scan-lines|table--generate-source-scan-rows|table--get-cell-justify-property|table--get-cell-valign-property|table--get-coordinate|table--get-last-command|table--get-property|table--goto-coordinate|table--horizontal-cell-list|table--horizontally-shift-above-and-below|table--insert-rectangle|table--justify-cell-contents|table--line-column-position|table--log|table--make-cell-map|table--measure-max-width|table--min-coord-list|table--multiply-string|table--offset-coordinate|table--point-entered-cell-function|table--point-in-cell-p|table--point-left-cell-function|table--probe-cell-left-up|table--probe-cell-right-bottom|table--probe-cell|table--put-cell-content-property|table--put-cell-face-property|table--put-cell-indicator-property|table--put-cell-justify-property|table--put-cell-keymap-property|table--put-cell-line-property|table--put-cell-point-entered/left-property|table--put-cell-property|table--put-cell-rear-nonsticky|table--put-cell-valign-property|table--put-property|table--query-justification|table--read-from-minibuffer|table--region-in-cell-p|table--remove-blank-lines|table--remove-cell-properties|table--remove-eol-spaces|table--row-column-insertion-point-p|table--set-timer|table--spacify-frame|table--str-index-at-column|table--string-to-number-list|table--test-cell-list|table--transcoord-cache-to-table|table--transcoord-table-to-cache|table--uniform-list-p|table--untabify-line|table--untabify|table--update-cell-face|table--update-cell-heightened|table--update-cell-widened|table--update-cell|table--valign|table--vertical-cell-list|table--warn-incompatibility|table-backward-cell|table-capture|table-delete-column|table-delete-row|table-fixed-width-mode|table-forward-cell|table-function|table-generate-source|table-get-source-info|table-global-menu-map|table-goto-bottom-left-corner|table-goto-bottom-right-corner|table-goto-top-left-corner|table-goto-top-right-corner|table-heighten-cell|table-insert-column|table-insert-row-column|table-insert-row|table-insert-sequence|table-insert|table-justify-cell|table-justify-column|table-justify-row|table-justify|table-narrow-cell|table-put-source-info|table-query-dimension|table-recognize-cell|table-recognize-region)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)t(?:able-recognize-table|able-recognize|able-release|able-shorten-cell|able-span-cell|able-split-cell-horizontally|able-split-cell-vertically|able-split-cell|able-unrecognize-cell|able-unrecognize-region|able-unrecognize-table|able-unrecognize|able-widen-cell|able-with-cache-buffer|abulated-list--column-number|abulated-list--sort-by-column-name|abulated-list-col-sort|abulated-list-delete-entry|abulated-list-entry-size->|abulated-list-get-entry|abulated-list-get-id|abulated-list-print-col|abulated-list-print-entry|abulated-list-print-fake-header|abulated-list-put-tag|abulated-list-revert|abulated-list-set-col|abulated-list-sort|ag-any-match-p|ag-exact-file-name-match-p|ag-exact-match-p|ag-file-name-match-p|ag-find-file-of-tag-noselect|ag-find-file-of-tag|ag-implicit-name-match-p|ag-partial-file-name-match-p|ag-re-match-p|ag-symbol-match-p|ag-word-match-p|ags-apropos|ags-complete-tags-table-file|ags-completion-at-point-function|ags-completion-table|ags-expand-table-name|ags-included-tables|ags-lazy-completion-table|ags-loop-continue|ags-loop-eval|ags-next-table|ags-query-replace|ags-recognize-empty-tags-table|ags-reset-tags-tables|ags-search|ags-table-check-computed-list|ags-table-extend-computed-list|ags-table-files|ags-table-including|ags-table-list-member|ags-table-mode|ags-verify-table|ags-with-face|ai-viet-composition-function|ailp|alk-add-display|alk-connect|alk-disconnect|alk-handle-delete-frame|alk-split-up-frame|alk-update-buffers|alk|ar--check-descriptor|ar--extract|ar-alter-one-field|ar-change-major-mode-hook|ar-chgrp-entry|ar-chmod-entry|ar-chown-entry|ar-clear-modification-flags|ar-clip-time-string|ar-copy|ar-current-descriptor|ar-data-swapped-p|ar-display-other-window|ar-expunge-internal|ar-expunge|ar-extract-other-window|ar-extract|ar-file-name-handler|ar-flag-deleted|ar-get-descriptor|ar-get-file-descriptor|ar-grind-file-mode|ar-header-block-check-checksum|ar-header-block-checksum|ar-header-block-summarize|ar-header-block-tokenize|ar-header-checksum--cmacro|ar-header-checksum|ar-header-data-end|ar-header-data-start--cmacro|ar-header-data-start|ar-header-date--cmacro|ar-header-date|ar-header-dmaj--cmacro|ar-header-dmaj|ar-header-dmin--cmacro|ar-header-dmin|ar-header-gid--cmacro|ar-header-gid|ar-header-gname--cmacro|ar-header-gname|ar-header-header-start--cmacro|ar-header-header-start|ar-header-link-name--cmacro|ar-header-link-name|ar-header-link-type--cmacro|ar-header-link-type|ar-header-magic--cmacro|ar-header-magic|ar-header-mode--cmacro|ar-header-mode|ar-header-name--cmacro|ar-header-name|ar-header-p--cmacro|ar-header-p|ar-header-size--cmacro|ar-header-size|ar-header-uid--cmacro|ar-header-uid|ar-header-uname--cmacro|ar-header-uname|ar-mode-kill-buffer-hook|ar-mode-revert|ar-mode|ar-mouse-extract|ar-next-line|ar-octal-time|ar-pad-to-blocksize|ar-parse-octal-integer-safe|ar-parse-octal-integer|ar-parse-octal-long-integer|ar-previous-line|ar-read-file-name|ar-rename-entry|ar-roundup-512|ar-subfile-mode|ar-subfile-save-buffer|ar-summarize-buffer|ar-swap-data|ar-unflag-backwards|ar-unflag|ar-untar-buffer|ar-view|ar-write-region-annotate|cl-add-log-defun|cl-auto-fill-mode|cl-beginning-of-defun|cl-calculate-indent|cl-comment-indent|cl-current-word|cl-electric-brace|cl-electric-char|cl-electric-hash|cl-end-of-defun|cl-eval-defun|cl-eval-region|cl-figure-type|cl-files-alist|cl-filter|cl-guess-application|cl-hairy-scan-for-comment|cl-hashify-buffer|cl-help-on-word|cl-help-snarf-commands|cl-in-comment|cl-indent-command|cl-indent-exp|cl-indent-for-comment|cl-indent-line|cl-load-file|cl-mark-defun|cl-mark|cl-mode-menu|cl-mode|cl-outline-level|cl-popup-menu|cl-quote|cl-real-command-p|cl-real-comment-p|cl-reread-help-files|cl-restart-with-file|cl-send-region|cl-send-string|cl-set-font-lock-keywords|cl-set-proc-regexp|cl-uncomment-region|cl-word-no-props|ear-off-window|elnet-c-z|elnet-check-software-type-initialize|elnet-filter|elnet-initial-filter|elnet-interrupt-subjob|elnet-mode|elnet-send-input|elnet-simple-send|elnet|emp-buffer-resize-mode|emp-buffer-window-setup|emp-buffer-window-show|empo-add-tag|empo-backward-mark|empo-build-collection|empo-complete-tag|empo-define-template|empo-display-completions|empo-expand-if-complete|empo-find-match-string|empo-forget-insertions|empo-forward-mark|empo-insert-mark|empo-insert-named|empo-insert-prompt-compat|empo-insert-prompt|empo-insert-template|empo-insert|empo-invalidate-collection|empo-is-user-element|empo-lookup-named|empo-process-and-insert-string|empo-save-named|empo-template-dcl-f\\\\\\\\$context|empo-template-dcl-f\\\\\\\\$csid|empo-template-dcl-f\\\\\\\\$cvsi|empo-template-dcl-f\\\\\\\\$cvtime|empo-template-dcl-f\\\\\\\\$cvui|empo-template-dcl-f\\\\\\\\$device|empo-template-dcl-f\\\\\\\\$directory|empo-template-dcl-f\\\\\\\\$edit|empo-template-dcl-f\\\\\\\\$element|empo-template-dcl-f\\\\\\\\$environment|empo-template-dcl-f\\\\\\\\$extract|empo-template-dcl-f\\\\\\\\$fao|empo-template-dcl-f\\\\\\\\$file_attributes|empo-template-dcl-f\\\\\\\\$getdvi|empo-template-dcl-f\\\\\\\\$getjpi|empo-template-dcl-f\\\\\\\\$getqui|empo-template-dcl-f\\\\\\\\$getsyi|empo-template-dcl-f\\\\\\\\$identifier|empo-template-dcl-f\\\\\\\\$integer|empo-template-dcl-f\\\\\\\\$length|empo-template-dcl-f\\\\\\\\$locate|empo-template-dcl-f\\\\\\\\$message|empo-template-dcl-f\\\\\\\\$mode|empo-template-dcl-f\\\\\\\\$parse|empo-template-dcl-f\\\\\\\\$pid|empo-template-dcl-f\\\\\\\\$privilege|empo-template-dcl-f\\\\\\\\$process|empo-template-dcl-f\\\\\\\\$search|empo-template-dcl-f\\\\\\\\$setprv|empo-template-dcl-f\\\\\\\\$string|empo-template-dcl-f\\\\\\\\$time|empo-template-dcl-f\\\\\\\\$trnlnm|empo-template-dcl-f\\\\\\\\$type|empo-template-dcl-f\\\\\\\\$user|empo-template-dcl-f\\\\\\\\$verify|empo-template-snmp-object-type|empo-template-snmp-table-type|empo-template-snmpv2-object-type|empo-template-snmpv2-table-type|empo-template-snmpv2-textual-convention|empo-use-tag-list|enth|erm-adjust-current-row-cache|erm-after-pmark-p|erm-ansi-make-term|erm-ansi-reset|erm-args|erm-arguments|erm-backward-matching-input|erm-bol|erm-buffer-vertical-motion|erm-char-mode|erm-check-kill-echo-list|erm-check-proc|erm-check-size|erm-check-source|erm-command-hook|erm-continue-subjob|erm-copy-old-input|erm-current-column|erm-current-row|erm-delchar-or-maybe-eof|erm-delete-chars|erm-delete-lines|erm-delim-arg|erm-directory|erm-display-buffer-line|erm-display-line|erm-down|erm-dynamic-complete-as-filename|erm-dynamic-complete-filename|erm-dynamic-complete|erm-dynamic-list-completions|erm-dynamic-list-filename-completions|erm-dynamic-list-input-ring|erm-dynamic-simple-complete|erm-emulate-terminal|erm-erase-in-display|erm-erase-in-line|erm-exec-1|erm-exec|erm-extract-string|erm-forward-matching-input|erm-get-old-input-default|erm-get-source|erm-goto-home|erm-goto|erm-handle-ansi-escape|erm-handle-ansi-terminal-messages|erm-handle-colors-array|erm-handle-deferred-scroll|erm-handle-exit|erm-handle-scroll|erm-handling-pager|erm-horizontal-column|erm-how-many-region|erm-in-char-mode|erm-in-line-mode|erm-insert-char|erm-insert-lines|erm-insert-spaces|erm-interrupt-subjob|erm-kill-input|erm-kill-output|erm-kill-subjob|erm-line-mode|erm-magic-space|erm-match-partial-filename|erm-mode|erm-mouse-paste|erm-move-columns|erm-next-input|erm-next-matching-input-from-input|erm-next-matching-input|erm-next-prompt|erm-pager-back-line|erm-pager-back-page|erm-pager-bob|erm-pager-continue|erm-pager-disable|erm-pager-discard|erm-pager-enabled??|erm-pager-eob|erm-pager-help|erm-pager-line|erm-pager-menu|erm-pager-page|erm-pager-toggle|erm-paste|erm-previous-input-string|erm-previous-input|erm-previous-matching-input-from-input|erm-previous-matching-input-string-position|erm-previous-matching-input-string|erm-previous-matching-input|erm-previous-prompt|erm-proc-query|erm-process-pager|erm-quit-subjob|erm-read-input-ring|erm-read-noecho|erm-regexp-arg|erm-replace-by-expanded-filename|erm-replace-by-expanded-history-before-point|erm-replace-by-expanded-history|erm-reset-size|erm-reset-terminal|erm-search-arg|erm-search-start|erm-send-backspace|erm-send-del|erm-send-down|erm-send-end|erm-send-eof|erm-send-home|erm-send-input|erm-send-insert|erm-send-invisible|erm-send-left|erm-send-next|erm-send-prior|erm-send-raw-meta|erm-send-raw-string|erm-send-raw|erm-send-region|erm-send-right|erm-send-string|erm-send-up|erm-sentinel|erm-set-escape-char|erm-set-scroll-region|erm-show-maximum-output|erm-show-output|erm-signals-menu|erm-simple-send|erm-skip-prompt|erm-source-default|erm-start-line-column|erm-start-output-log|erm-stop-output-log|erm-stop-subjob|erm-terminal-menu|erm-terminal-pos|erm-unwrap-line|erm-update-mode-line|erm-using-alternate-sub-buffer|erm-vertical-motion|erm-window-width|erm-within-quotes|erm-word|erm-write-input-ring|erm|estcover-1value|estcover-after|estcover-end|estcover-enter|estcover-mark|estcover-read|estcover-reinstrument-compose|estcover-reinstrument-list|estcover-reinstrument|estcover-this-defun|estcover-unmark-all|etris-active-p|etris-default-update-speed-function|etris-display-options|etris-draw-border-p|etris-draw-next-shape|etris-draw-score|etris-draw-shape|etris-end-game|etris-erase-shape|etris-full-row|etris-get-shape-cell|etris-get-tick-period|etris-init-buffer|etris-mode|etris-move-bottom|etris-move-left|etris-move-right|etris-new-shape|etris-pause-game|etris-reset-game|etris-rotate-next|etris-rotate-prev|etris-shape-done|etris-shape-rotations|etris-shape-width|etris-shift-down|etris-shift-row|etris-start-game|etris-test-shape|etris-update-game|etris-update-score|etris|ex-alt-print|ex-append|ex-bibtex-file|ex-buffer|ex-categorize-whitespace|ex-close-latex-block|ex-cmd-doc-view|ex-command-active-p|ex-command-executable|ex-common-initialization|ex-compile-default|ex-compile|ex-count-words|ex-current-defun-name|ex-define-common-keys|ex-delete-last-temp-files|ex-display-shell|ex-env-mark|ex-executable-exists-p|ex-expand-files|ex-facemenu-add-face-function|ex-feed-input|ex-file|ex-font-lock-append-prop|ex-font-lock-match-suscript|ex-font-lock-suscript|ex-font-lock-syntactic-face-function|ex-font-lock-unfontify-region|ex-font-lock-verb|ex-format-cmd|ex-generate-zap-file-name|ex-goto-last-unclosed-latex-block|ex-guess-main-file|ex-guess-mode|ex-insert-braces|ex-insert-quote|ex-kill-job|ex-last-unended-begin|ex-last-unended-eparen|ex-latex-block|ex-main-file|ex-mode-flyspell-verify|ex-mode-internal|ex-mode|ex-next-unmatched-end|ex-next-unmatched-eparen|ex-old-error-file-name|ex-print|ex-recenter-output-buffer|ex-region-header|ex-region|ex-search-noncomment|ex-send-command|ex-send-tex-command|ex-set-buffer-directory|ex-shell-buf-no-error|ex-shell-buf|ex-shell-proc|ex-shell-running|ex-shell-sentinel|ex-shell|ex-show-print-queue|ex-start-shell|ex-start-tex|ex-string-prefix-p|ex-summarize-command|ex-suscript-height|ex-terminate-paragraph|ex-uptodate-p|ex-validate-buffer|ex-validate-region|ex-view|exi2info|exinfmt-version|exinfo-alias|exinfo-all-menus-update|exinfo-alphaenumerate-item|exinfo-alphaenumerate|exinfo-anchor|exinfo-append-refill|exinfo-capsenumerate-item|exinfo-capsenumerate|exinfo-check-for-node-name|exinfo-clean-up-node-line|exinfo-clear|exinfo-clone-environment|exinfo-copy-menu-title|exinfo-copy-menu|exinfo-copy-next-section-title|exinfo-copy-node-name|exinfo-copy-section-title|exinfo-copying|exinfo-current-defun-name|exinfo-define-common-keys|exinfo-define-info-enclosure|exinfo-delete-existing-pointers|exinfo-delete-from-print-queue|exinfo-delete-old-menu|exinfo-description|exinfo-discard-command-and-arg|exinfo-discard-command|exinfo-discard-line-with-args|exinfo-discard-line|exinfo-do-flushright|exinfo-do-itemize|exinfo-end-alphaenumerate|exinfo-end-capsenumerate|exinfo-end-defun|exinfo-end-direntry|exinfo-end-enumerate|exinfo-end-example|exinfo-end-flushleft)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)t(?:exinfo-end-flushright|exinfo-end-ftable|exinfo-end-indextable|exinfo-end-itemize|exinfo-end-multitable|exinfo-end-table|exinfo-end-vtable|exinfo-enumerate-item|exinfo-enumerate|exinfo-every-node-update|exinfo-filter|exinfo-find-higher-level-node|exinfo-find-lower-level-node|exinfo-find-pointer|exinfo-footnotestyle|exinfo-format-\\\\\\\\.|exinfo-format-:|exinfo-format-French-OE-ligature|exinfo-format-French-oe-ligature|exinfo-format-German-sharp-S|exinfo-format-Latin-Scandinavian-AE|exinfo-format-Latin-Scandinavian-ae|exinfo-format-Polish-suppressed-L|exinfo-format-Polish-suppressed-l-lower-case|exinfo-format-Scandinavian-A-with-circle|exinfo-format-Scandinavian-O-with-slash|exinfo-format-Scandinavian-a-with-circle|exinfo-format-Scandinavian-o-with-slash-lower-case|exinfo-format-TeX|exinfo-format-begin-end|exinfo-format-begin|exinfo-format-breve-accent|exinfo-format-buffer-1|exinfo-format-buffer|exinfo-format-bullet|exinfo-format-cedilla-accent|exinfo-format-center|exinfo-format-chapter-1|exinfo-format-chapter|exinfo-format-cindex|exinfo-format-code|exinfo-format-convert|exinfo-format-copyright|exinfo-format-ctrl|exinfo-format-defcv|exinfo-format-deffn|exinfo-format-defindex|exinfo-format-defivar|exinfo-format-defmethod|exinfo-format-defn|exinfo-format-defop|exinfo-format-deftypefn|exinfo-format-deftypefun|exinfo-format-defun-1|exinfo-format-defunx??|exinfo-format-dircategory|exinfo-format-direntry|exinfo-format-documentdescription|exinfo-format-dotless|exinfo-format-dots|exinfo-format-email|exinfo-format-emph|exinfo-format-end-node|exinfo-format-end|exinfo-format-enddots|exinfo-format-equiv|exinfo-format-error|exinfo-format-example|exinfo-format-exdent|exinfo-format-expand-region|exinfo-format-expansion|exinfo-format-findex|exinfo-format-flushleft|exinfo-format-flushright|exinfo-format-footnote|exinfo-format-hacek-accent|exinfo-format-html|exinfo-format-ifeq|exinfo-format-ifhtml|exinfo-format-ifnotinfo|exinfo-format-ifplaintext|exinfo-format-iftex|exinfo-format-ifxml|exinfo-format-ignore|exinfo-format-image|exinfo-format-inforef|exinfo-format-kbd|exinfo-format-key|exinfo-format-kindex|exinfo-format-long-Hungarian-umlaut|exinfo-format-menu|exinfo-format-minus|exinfo-format-node|exinfo-format-noop|exinfo-format-option|exinfo-format-overdot-accent|exinfo-format-paragraph-break|exinfo-format-parse-args|exinfo-format-parse-defun-args|exinfo-format-parse-line-args|exinfo-format-pindex|exinfo-format-point|exinfo-format-pounds|exinfo-format-print|exinfo-format-printindex|exinfo-format-pxref|exinfo-format-refill|exinfo-format-region|exinfo-format-result|exinfo-format-ring-accent|exinfo-format-scan|exinfo-format-section|exinfo-format-sectionpad|exinfo-format-separate-node|exinfo-format-setfilename|exinfo-format-soft-hyphen|exinfo-format-sp|exinfo-format-specialized-defun|exinfo-format-subsection|exinfo-format-subsubsection|exinfo-format-synindex|exinfo-format-tex|exinfo-format-tie-after-accent|exinfo-format-timestamp|exinfo-format-tindex|exinfo-format-titlepage|exinfo-format-titlespec|exinfo-format-today|exinfo-format-underbar-accent|exinfo-format-underdot-accent|exinfo-format-upside-down-exclamation-mark|exinfo-format-upside-down-question-mark|exinfo-format-uref|exinfo-format-var|exinfo-format-verb|exinfo-format-vindex|exinfo-format-xml|exinfo-format-xref|exinfo-ftable-item|exinfo-ftable|exinfo-hierarchic-level|exinfo-if-clear|exinfo-if-set|exinfo-incorporate-descriptions|exinfo-incorporate-menu-entry-names|exinfo-indent-menu-description|exinfo-index-defcv|exinfo-index-deffn|exinfo-index-defivar|exinfo-index-defmethod|exinfo-index-defop|exinfo-index-deftypefn|exinfo-index-defun|exinfo-index|exinfo-indextable-item|exinfo-indextable|exinfo-insert-@code|exinfo-insert-@dfn|exinfo-insert-@email|exinfo-insert-@emph|exinfo-insert-@end|exinfo-insert-@example|exinfo-insert-@file|exinfo-insert-@item|exinfo-insert-@kbd|exinfo-insert-@node|exinfo-insert-@noindent|exinfo-insert-@quotation|exinfo-insert-@samp|exinfo-insert-@strong|exinfo-insert-@table|exinfo-insert-@uref|exinfo-insert-@url|exinfo-insert-@var|exinfo-insert-block|exinfo-insert-braces|exinfo-insert-master-menu-list|exinfo-insert-menu|exinfo-insert-node-lines|exinfo-insert-pointer|exinfo-insert-quote|exinfo-insertcopying|exinfo-inside-env-p|exinfo-inside-macro-p|exinfo-item|exinfo-itemize-item|exinfo-itemize|exinfo-last-unended-begin|exinfo-locate-menu-p|exinfo-make-menu-list|exinfo-make-menu|exinfo-make-one-menu|exinfo-master-menu-list|exinfo-master-menu|exinfo-menu-copy-old-description|exinfo-menu-end|exinfo-menu-first-node|exinfo-menu-indent-description|exinfo-menu-locate-entry-p|exinfo-mode-flyspell-verify|exinfo-mode-menu|exinfo-mode|exinfo-multi-file-included-list|exinfo-multi-file-master-menu-list|exinfo-multi-file-update|exinfo-multi-files-insert-main-menu|exinfo-multiple-files-update|exinfo-multitable-extract-row|exinfo-multitable-item|exinfo-multitable-widths|exinfo-multitable|exinfo-next-unmatched-end|exinfo-noindent|exinfo-old-menu-p|exinfo-optional-braces-discard|exinfo-paragraphindent|exinfo-parse-arg-discard|exinfo-parse-expanded-arg|exinfo-parse-line-arg|exinfo-pointer-name|exinfo-pop-stack|exinfo-print-index|exinfo-push-stack|exinfo-quit-job|exinfo-raise-lower-sections|exinfo-sequential-node-update|exinfo-sequentially-find-pointer|exinfo-sequentially-insert-pointer|exinfo-sequentially-update-the-node|exinfo-set|exinfo-show-structure|exinfo-sort-region|exinfo-sort-startkeyfun|exinfo-specific-section-type|exinfo-start-menu-description|exinfo-table-item|exinfo-table|exinfo-tex-buffer|exinfo-tex-print|exinfo-tex-region|exinfo-tex-view|exinfo-texindex|exinfo-top-pointer-case|exinfo-unsupported|exinfo-update-menu-region-beginning|exinfo-update-menu-region-end|exinfo-update-node|exinfo-update-the-node|exinfo-value|exinfo-vtable-item|exinfo-vtable|ext-clone--maintain|ext-clone-create|ext-mode-hook-identify|ext-scale-adjust|ext-scale-decrease|ext-scale-increase|ext-scale-mode|ext-scale-set|hai-compose-buffer|hai-compose-region|hai-compose-string|hai-composition-function|he|hing-at-point--bounds-of-markedup-url|hing-at-point--bounds-of-well-formed-url|hing-at-point-bounds-of-list-at-point|hing-at-point-bounds-of-url-at-point|hing-at-point-looking-at|hing-at-point-newsgroup-p|hing-at-point-url-at-point|hird|his-major-mode-requires-vi-state|his-single-command-keys|his-single-command-raw-keys|hread-first|hread-last|humbs-backward-char|humbs-backward-line|humbs-call-convert|humbs-call-setroot-command|humbs-cleanup-thumbsdir|humbs-current-image|humbs-delete-images|humbs-dired-setroot|humbs-dired-show-marked|humbs-dired-show|humbs-dired|humbs-display-thumbs-buffer|humbs-do-thumbs-insertion|humbs-emboss-image|humbs-enlarge-image|humbs-file-alist|humbs-file-list|humbs-file-size|humbs-find-image-at-point-other-window|humbs-find-image-at-point|humbs-find-image|humbs-find-thumb|humbs-forward-char|humbs-forward-line|humbs-image-type|humbs-insert-image|humbs-insert-thumb|humbs-kill-buffer|humbs-make-thumb|humbs-mark|humbs-mode|humbs-modify-image|humbs-monochrome-image|humbs-mouse-find-image|humbs-negate-image|humbs-new-image-size|humbs-next-image|humbs-previous-image|humbs-redraw-buffer|humbs-rename-images|humbs-resize-image-1|humbs-resize-image|humbs-rotate-left|humbs-rotate-right|humbs-save-current-image|humbs-set-image-at-point-to-root-window|humbs-set-root|humbs-show-from-dir|humbs-show-image-num|humbs-show-more-images|humbs-show-name|humbs-show-thumbs-list|humbs-shrink-image|humbs-temp-dir|humbs-temp-file|humbs-thumbname|humbs-thumbsdir|humbs-unmark|humbs-view-image-mode|humbs|ibetan-char-p|ibetan-compose-buffer|ibetan-compose-region|ibetan-compose-string|ibetan-decompose-buffer|ibetan-decompose-region|ibetan-decompose-string|ibetan-post-read-conversion|ibetan-pre-write-canonicalize-for-unicode|ibetan-pre-write-conversion|ibetan-tibetan-to-transcription|ibetan-transcription-to-tibetan|ildify--deprecated-ignore-evironments|ildify--find-env|ildify--foreach-region|ildify--pick-alist-entry|ildify-buffer|ildify-foreach-ignore-environments|ildify-region|ildify-tildify|ime-date--day-in-year|ime-since|ime-stamp-conv-warn|ime-stamp-do-number|ime-stamp-fconcat|ime-stamp-mail-host-name|ime-stamp-once|ime-stamp-string-preprocess|ime-stamp-string|ime-stamp-toggle-active|ime-stamp|ime-to-number-of-days|ime-to-seconds|imeclock-ask-for-project|imeclock-ask-for-reason|imeclock-change|imeclock-completing-read|imeclock-current-debt|imeclock-currently-in-p|imeclock-day-alist|imeclock-day-base|imeclock-day-begin|imeclock-day-break|imeclock-day-debt|imeclock-day-end|imeclock-day-length|imeclock-day-list-begin|imeclock-day-list-break|imeclock-day-list-debt|imeclock-day-list-end|imeclock-day-list-length|imeclock-day-list-projects|imeclock-day-list-required|imeclock-day-list-span|imeclock-day-list-template|imeclock-day-list|imeclock-day-projects|imeclock-day-required|imeclock-day-span|imeclock-entry-begin|imeclock-entry-comment|imeclock-entry-end|imeclock-entry-length|imeclock-entry-list-begin|imeclock-entry-list-break|imeclock-entry-list-end|imeclock-entry-list-length|imeclock-entry-list-projects|imeclock-entry-list-span|imeclock-entry-project|imeclock-find-discrep|imeclock-generate-report|imeclock-in|imeclock-last-period|imeclock-log-data|imeclock-log|imeclock-make-hours-explicit|imeclock-mean|imeclock-mode-line-display|imeclock-modeline-display|imeclock-out|imeclock-project-alist|imeclock-query-out|imeclock-read-moment|imeclock-reread-log|imeclock-seconds-to-string|imeclock-seconds-to-time|imeclock-status-string|imeclock-time-to-date|imeclock-time-to-seconds|imeclock-update-mode-line|imeclock-update-modeline|imeclock-visit-timelog|imeclock-when-to-leave-string|imeclock-when-to-leave|imeclock-workday-elapsed-string|imeclock-workday-elapsed|imeclock-workday-remaining-string|imeclock-workday-remaining|imeout-event-p|imep|imer--activate|imer--args--cmacro|imer--args|imer--check|imer--function--cmacro|imer--function|imer--high-seconds--cmacro|imer--high-seconds|imer--idle-delay--cmacro|imer--idle-delay|imer--low-seconds--cmacro|imer--low-seconds|imer--psecs--cmacro|imer--psecs|imer--repeat-delay--cmacro|imer--repeat-delay|imer--time-less-p|imer--time-setter|imer--time|imer--triggered--cmacro|imer--triggered|imer--usecs--cmacro|imer--usecs|imer-activate-when-idle|imer-activate|imer-create--cmacro|imer-create|imer-duration|imer-event-handler|imer-inc-time|imer-next-integral-multiple-of-time|imer-relative-time|imer-set-function|imer-set-idle-time|imer-set-time-with-usecs|imer-set-time|imer-until|imerp|imezone-absolute-from-gregorian|imezone-day-number|imezone-fix-time|imezone-last-day-of-month|imezone-leap-year-p|imezone-make-arpa-date|imezone-make-date-arpa-standard|imezone-make-date-sortable|imezone-make-sortable-date|imezone-make-time-string|imezone-parse-date|imezone-parse-time|imezone-time-from-absolute|imezone-time-zone-from-absolute|imezone-zone-to-minute|itdic-convert|ls-certificate-information|mm--completion-table|mm-add-one-shortcut|mm-add-prompt|mm-add-shortcuts|mm-completion-delete-prompt|mm-define-keys|mm-get-keybind|mm-get-keymap|mm-goto-completions|mm-menubar-mouse|mm-menubar|mm-prompt|mm-remove-inactive-mouse-face|mm-shortcut|odo--user-error-if-marked-done-item|odo-absolute-file-name|odo-add-category|odo-add-file|odo-adjusted-category-label-length|odo-archive-done-item|odo-archive-mode|odo-backward-category|odo-backward-item|odo-categories-mode|odo-category-completions|odo-category-number|odo-category-select|odo-category-string-matcher-1|odo-category-string-matcher-2|odo-check-file|odo-check-filtered-items-file|odo-check-format|odo-choose-archive|odo-clear-matches|odo-comment-string-matcher|odo-convert-legacy-date-time|odo-convert-legacy-files|odo-current-category|odo-date-string-matcher|odo-delete-category|odo-delete-file|odo-delete-item|odo-desktop-save-buffer)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)t(?:odo-diary-expired-matcher|odo-diary-goto-entry|odo-diary-item-p|odo-diary-nonmarking-matcher|odo-display-categories|odo-display-sorted|odo-done-item-p|odo-done-item-section-p|odo-done-separator|odo-done-string-matcher|odo-edit-category-diary-inclusion|odo-edit-category-diary-nonmarking|odo-edit-file|odo-edit-item--diary-inclusion|odo-edit-item--header|odo-edit-item--next-key|odo-edit-item--text|odo-edit-item|odo-edit-mode|odo-edit-quit|odo-files|odo-filter-diary-items-multifile|odo-filter-diary-items|odo-filter-items-1|odo-filter-items-filename|odo-filter-items|odo-filter-regexp-items-multifile|odo-filter-regexp-items|odo-filter-top-priorities-multifile|odo-filter-top-priorities|odo-filtered-items-mode|odo-find-archive|odo-find-filtered-items-file|odo-find-item|odo-forward-category|odo-forward-item|odo-get-count|odo-get-overlay|odo-go-to-source-item|odo-indent|odo-insert-category-line|odo-insert-item--apply-args|odo-insert-item--argsleft|odo-insert-item--basic|odo-insert-item--keyof|odo-insert-item--next-param|odo-insert-item--this-key|odo-insert-item-from-calendar|odo-insert-item|odo-insert-sort-button|odo-insert-with-overlays|odo-item-done|odo-item-end|odo-item-start|odo-item-string|odo-item-undone|odo-jump-to-archive-category|odo-jump-to-category|odo-label-to-key|odo-longest-category-name-length|odo-lower-category|odo-lower-item-priority|odo-make-categories-list|odo-mark-category|odo-marked-item-p|odo-menu|odo-merge-category|odo-mode-external-set|odo-mode-line-control|odo-mode|odo-modes-set-1|odo-modes-set-2|odo-modes-set-3|odo-move-category|odo-move-item|odo-multiple-filter-files|odo-next-button|odo-next-item|odo-nondiary-marker-matcher|odo-padded-string|odo-prefix-overlays|odo-previous-button|odo-previous-item|odo-print-buffer-to-file|odo-print-buffer|odo-quit|odo-raise-category|odo-raise-item-priority|odo-read-category|odo-read-date|odo-read-dayname|odo-read-file-name|odo-read-time|odo-reevaluate-category-completions-files-defcustom|odo-reevaluate-default-file-defcustom|odo-reevaluate-filelist-defcustoms|odo-reevaluate-filter-files-defcustom|odo-remove-item|odo-rename-category|odo-rename-file|odo-repair-categories-sexp|odo-reset-and-enable-done-separator|odo-reset-comment-string|odo-reset-done-separator-string|odo-reset-done-separator|odo-reset-done-string|odo-reset-global-current-todo-file|odo-reset-highlight-item|odo-reset-nondiary-marker|odo-reset-prefix|odo-restore-desktop-buffer|odo-revert-buffer|odo-save-filtered-items-buffer|odo-save|odo-search|odo-set-categories|odo-set-category-number|odo-set-date-from-calendar|odo-set-item-priority|odo-set-show-current-file|odo-set-top-priorities-in-category|odo-set-top-priorities-in-file|odo-set-top-priorities|odo-short-file-name|odo-show-categories-table|odo-show-current-file|odo-show|odo-sort-categories-alphabetically-or-numerically|odo-sort-categories-by-archived|odo-sort-categories-by-diary|odo-sort-categories-by-done|odo-sort-categories-by-todo|odo-sort|odo-time-string-matcher|odo-toggle-item-header|odo-toggle-item-highlighting|odo-toggle-mark-item|odo-toggle-prefix-numbers|odo-toggle-view-done-items|odo-toggle-view-done-only|odo-total-item-counts|odo-unarchive-items|odo-unmark-category|odo-update-buffer-list|odo-update-categories-display|odo-update-categories-sexp|odo-update-count|odo-validate-name|odo-y-or-n-p|oggle-auto-composition|oggle-case-fold-search|oggle-debug-on-error|oggle-debug-on-quit|oggle-emacs-lock|oggle-frame-fullscreen|oggle-frame-maximized|oggle-horizontal-scroll-bar|oggle-indicate-empty-lines|oggle-input-method|oggle-menu-bar-mode-from-frame|oggle-read-only|oggle-rot13-mode|oggle-save-place-globally|oggle-save-place|oggle-scroll-bar|oggle-text-mode-auto-fill|oggle-tool-bar-mode-from-frame|oggle-truncate-lines|oggle-uniquify-buffer-names|oggle-use-system-font|oggle-viper-mode|oggle-word-wrap|ool-bar--image-expression|ool-bar-get-system-style|ool-bar-height|ool-bar-lines-needed|ool-bar-local-item|ool-bar-make-keymap-1|ool-bar-make-keymap|ool-bar-mode|ool-bar-pixel-width|ool-bar-setup|ooltip-cancel-delayed-tip|ooltip-delay|ooltip-event-buffer|ooltip-expr-to-print|ooltip-gud-toggle-dereference|ooltip-help-tips|ooltip-hide|ooltip-identifier-from-point|ooltip-mode|ooltip-process-prompt-regexp|ooltip-set-param|ooltip-show-help-non-mode|ooltip-show-help|ooltip-show|ooltip-start-delayed-tip|ooltip-strip-prompt|ooltip-timeout|q-buffer|q-filter|q-process-buffer|q-process|q-queue-add|q-queue-empty|q-queue-head-closure|q-queue-head-fn|q-queue-head-question|q-queue-head-regexp|q-queue-pop|q-queue|race--display-buffer|race--read-args|race-entry-message|race-exit-message|race-function-background|race-function-foreground|race-function-internal|race-function|race-is-traced|race-make-advice|race-values|raceroute|ramp-accept-process-output|ramp-action-login|ramp-action-out-of-band|ramp-action-password|ramp-action-permission-denied|ramp-action-process-alive|ramp-action-succeed|ramp-action-terminal|ramp-action-yesno|ramp-action-yn|ramp-adb-file-name-handler|ramp-adb-file-name-p|ramp-adb-parse-device-names|ramp-autoload-file-name-handler|ramp-backtrace|ramp-buffer-name|ramp-bug|ramp-cache-print|ramp-call-process|ramp-check-cached-permissions|ramp-check-for-regexp|ramp-check-proper-method-and-host|ramp-cleanup-all-buffers|ramp-cleanup-all-connections|ramp-cleanup-connection|ramp-cleanup-this-connection|ramp-clear-passwd|ramp-compat-coding-system-change-eol-conversion|ramp-compat-condition-case-unless-debug|ramp-compat-copy-directory|ramp-compat-copy-file|ramp-compat-decimal-to-octal|ramp-compat-delete-directory|ramp-compat-delete-file|ramp-compat-file-attributes|ramp-compat-font-lock-add-keywords|ramp-compat-funcall|ramp-compat-load|ramp-compat-make-temp-file|ramp-compat-most-positive-fixnum|ramp-compat-number-sequence|ramp-compat-octal-to-decimal|ramp-compat-process-get|ramp-compat-process-put|ramp-compat-process-running-p|ramp-compat-replace-regexp-in-string|ramp-compat-set-process-query-on-exit-flag|ramp-compat-split-string|ramp-compat-temporary-file-directory|ramp-compat-with-temp-message|ramp-completion-dissect-file-name1??|ramp-completion-file-name-handler|ramp-completion-handle-file-name-all-completions|ramp-completion-handle-file-name-completion|ramp-completion-make-tramp-file-name|ramp-completion-mode-p|ramp-completion-run-real-handler|ramp-condition-case-unless-debug|ramp-connectable-p|ramp-connection-property-p|ramp-debug-buffer-name|ramp-debug-message|ramp-debug-outline-level|ramp-default-file-modes|ramp-delete-temp-file-function|ramp-dissect-file-name|ramp-drop-volume-letter|ramp-equal-remote|ramp-error-with-buffer|ramp-error|ramp-eshell-directory-change|ramp-exists-file-name-handler|ramp-file-mode-from-int|ramp-file-mode-permissions|ramp-file-name-domain|ramp-file-name-for-operation|ramp-file-name-handler|ramp-file-name-hop|ramp-file-name-host|ramp-file-name-localname|ramp-file-name-method|ramp-file-name-p|ramp-file-name-port|ramp-file-name-real-host|ramp-file-name-real-user|ramp-file-name-user|ramp-find-file-name-coding-system-alist|ramp-find-foreign-file-name-handler|ramp-find-host|ramp-find-method|ramp-find-user|ramp-flush-connection-property|ramp-flush-directory-property|ramp-flush-file-property|ramp-ftp-enable-ange-ftp|ramp-ftp-file-name-handler|ramp-ftp-file-name-p|ramp-get-buffer|ramp-get-completion-function|ramp-get-completion-methods|ramp-get-completion-user-host|ramp-get-connection-buffer|ramp-get-connection-name|ramp-get-connection-process|ramp-get-connection-property|ramp-get-debug-buffer|ramp-get-device|ramp-get-file-property|ramp-get-inode|ramp-get-local-gid|ramp-get-local-uid|ramp-get-method-parameter|ramp-get-remote-tmpdir|ramp-gvfs-file-name-handler|ramp-gvfs-file-name-p|ramp-gw-open-connection|ramp-handle-directory-file-name|ramp-handle-directory-files-and-attributes|ramp-handle-directory-files|ramp-handle-dired-uncache|ramp-handle-file-accessible-directory-p|ramp-handle-file-exists-p|ramp-handle-file-modes|ramp-handle-file-name-as-directory|ramp-handle-file-name-completion|ramp-handle-file-name-directory|ramp-handle-file-name-nondirectory|ramp-handle-file-newer-than-file-p|ramp-handle-file-notify-add-watch|ramp-handle-file-notify-rm-watch|ramp-handle-file-regular-p|ramp-handle-file-remote-p|ramp-handle-file-symlink-p|ramp-handle-find-backup-file-name|ramp-handle-insert-directory|ramp-handle-insert-file-contents|ramp-handle-load|ramp-handle-make-auto-save-file-name|ramp-handle-make-symbolic-link|ramp-handle-set-visited-file-modtime|ramp-handle-shell-command|ramp-handle-substitute-in-file-name|ramp-handle-unhandled-file-name-directory|ramp-handle-verify-visited-file-modtime|ramp-list-connections|ramp-local-host-p|ramp-make-tramp-file-name|ramp-make-tramp-temp-file|ramp-message|ramp-mode-string-to-int|ramp-parse-connection-properties|ramp-parse-file|ramp-parse-group|ramp-parse-hosts-group|ramp-parse-hosts|ramp-parse-netrc-group|ramp-parse-netrc|ramp-parse-passwd-group|ramp-parse-passwd|ramp-parse-putty-group|ramp-parse-putty|ramp-parse-rhosts-group|ramp-parse-rhosts|ramp-parse-sconfig-group|ramp-parse-sconfig|ramp-parse-shostkeys-sknownhosts|ramp-parse-shostkeys|ramp-parse-shosts-group|ramp-parse-shosts|ramp-parse-sknownhosts|ramp-process-actions|ramp-process-one-action|ramp-progress-reporter-update|ramp-read-passwd|ramp-register-autoload-file-name-handlers|ramp-register-file-name-handlers|ramp-replace-environment-variables|ramp-rfn-eshadow-setup-minibuffer|ramp-rfn-eshadow-update-overlay|ramp-run-real-handler|ramp-send-string|ramp-set-auto-save-file-modes|ramp-set-completion-function|ramp-set-connection-property|ramp-set-file-property|ramp-sh-file-name-handler|ramp-shell-quote-argument|ramp-smb-file-name-handler|ramp-smb-file-name-p|ramp-subst-strs-in-string|ramp-time-diff|ramp-tramp-file-p|ramp-unload-file-name-handlers|ramp-unload-tramp|ramp-user-error|ramp-uuencode-region|ramp-version|ramp-wait-for-regexp|ransform-make-coding-system-args|ranslate-region-internal|ranspose-chars|ranspose-lines|ranspose-paragraphs|ranspose-sentences|ranspose-sexps|ranspose-subr-1|ranspose-subr|ranspose-words|ree-equal|ree-widget--locate-sub-directory|ree-widget-action|ree-widget-button-click|ree-widget-children-value-save|ree-widget-convert-widget|ree-widget-create-image|ree-widget-expander-p|ree-widget-find-image|ree-widget-help-echo|ree-widget-icon-action|ree-widget-icon-create|ree-widget-icon-help-echo|ree-widget-image-formats|ree-widget-image-properties|ree-widget-keep|ree-widget-leaf-node-icon-p|ree-widget-lookup-image|ree-widget-node|ree-widget-p|ree-widget-set-image-properties|ree-widget-set-parent-theme|ree-widget-set-theme|ree-widget-theme-name|ree-widget-themes-path|ree-widget-use-image-p|ree-widget-value-create|runcate\\\\\\\\*|runcated-partial-width-window-p|ry-complete-file-name-partially|ry-complete-file-name|ry-complete-lisp-symbol-partially|ry-complete-lisp-symbol|ry-expand-all-abbrevs|ry-expand-dabbrev-all-buffers|ry-expand-dabbrev-from-kill|ry-expand-dabbrev-visible|ry-expand-dabbrev|ry-expand-line-all-buffers|ry-expand-line|ry-expand-list-all-buffers|ry-expand-list|ry-expand-whole-kill|ty-color-by-index|ty-color-canonicalize|ty-color-desc|ty-color-gray-shades|ty-color-off-gray-diag|ty-color-standard-values|ty-color-values|ty-create-frame-with-faces|ty-display-color-cells|ty-display-color-p|ty-find-type|ty-handle-args|ty-handle-reverse-video|ty-modify-color-alist|ty-no-underline|ty-register-default-colors|ty-run-terminal-initialization|ty-set-up-initial-frame-faces|ty-suppress-bold-inverse-default-colors|ty-type|umme|urkish-case-conversion-disable|urkish-case-conversion-enable|urn-off-auto-fill|urn-off-flyspell|urn-off-follow-mode|urn-off-hideshow|urn-off-iimage-mode|urn-off-xterm-mouse-tracking-on-terminal|urn-on-auto-fill|urn-on-auto-revert-mode|urn-on-auto-revert-tail-mode|urn-on-cwarn-mode-if-enabled|urn-on-cwarn-mode|urn-on-eldoc-mode|urn-on-flyspell|urn-on-follow-mode|urn-on-font-lock-if-desired|urn-on-font-lock|urn-on-gnus-dired-mode)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)(?:turn-on-gnus-mailing-list-mode|turn-on-hi-lock-if-enabled|turn-on-iimage-mode|turn-on-org-cdlatex|turn-on-orgstruct\\\\\\\\+\\\\\\\\+|turn-on-orgstruct|turn-on-orgtbl|turn-on-prettify-symbols-mode|turn-on-reftex|turn-on-visual-line-mode|turn-on-xterm-mouse-tracking-on-terminal|type-break-alarm|type-break-cancel-function-timers|type-break-cancel-schedule|type-break-cancel-time-warning-schedule|type-break-catch-up-event|type-break-check-keystroke-warning|type-break-check-post-command-hook|type-break-check|type-break-choose-file|type-break-demo-boring|type-break-demo-hanoi|type-break-demo-life|type-break-do-query|type-break-file-keystroke-count|type-break-file-time|type-break-force-mode-line-update|type-break-format-time|type-break-get-previous-count|type-break-get-previous-time|type-break-guesstimate-keystroke-threshold|type-break-keystroke-reset|type-break-keystroke-warning|type-break-mode-line-countdown-or-break|type-break-mode-line-message-mode|type-break-mode|type-break-noninteractive-query|type-break-query-mode|type-break-query|type-break-run-at-time|type-break-run-tb-post-command-hook|type-break-schedule|type-break-statistics|type-break-time-difference|type-break-time-stamp|type-break-time-sum|type-break-time-warning-alarm|type-break-time-warning-schedule|type-break-time-warning|type-break|typecase|typep|uce-insert-ranting|uce-reply-to-uce|ucs-input-activate|ucs-insert|ucs-names|ucs-normalize-HFS-NFC-region|ucs-normalize-HFS-NFC-string|ucs-normalize-HFS-NFD-region|ucs-normalize-HFS-NFD-string|ucs-normalize-NFC-region|ucs-normalize-NFC-string|ucs-normalize-NFD-region|ucs-normalize-NFD-string|ucs-normalize-NFKC-region|ucs-normalize-NFKC-string|ucs-normalize-NFKD-region|ucs-normalize-NFKD-string|uncomment-region-default|uncomment-region|uncompface|underline-region|undigestify-rmail-message|undo-adjust-beg-end|undo-adjust-elt|undo-adjust-pos|undo-copy-list-1|undo-copy-list|undo-delta|undo-elt-crosses-region|undo-elt-in-region|undo-make-selective-list|undo-more|undo-only|undo-outer-limit-truncate|undo-start|undo|unencodable-char-position|unexpand-abbrev|unfocus-frame|unforward-rmail-message|unhighlight-regexp|unicode-property-table-internal|unify-8859-on-decoding-mode|unify-8859-on-encoding-mode|unify-charset|union|uniquify--create-file-buffer-advice|uniquify--rename-buffer-advice|uniquify-buffer-base-name|uniquify-buffer-file-name|uniquify-get-proposed-name|uniquify-item-base--cmacro|uniquify-item-base|uniquify-item-buffer--cmacro|uniquify-item-buffer|uniquify-item-dirname--cmacro|uniquify-item-dirname|uniquify-item-greaterp|uniquify-item-p--cmacro|uniquify-item-p|uniquify-item-proposed--cmacro|uniquify-item-proposed|uniquify-kill-buffer-function|uniquify-make-item--cmacro|uniquify-make-item|uniquify-maybe-rerationalize-w/o-cb|uniquify-rationalize-a-list|uniquify-rationalize-conflicting-sublist|uniquify-rationalize-file-buffer-names|uniquify-rationalize|uniquify-rename-buffer|uniquify-rerationalize-w/o-cb|uniquify-unload-function|universal-argument--mode|universal-argument-more|universal-coding-system-argument|unix-sync|unjustify-current-line|unjustify-region|unload--set-major-mode|unmorse-region|unmsys--file-name|unread-bib|unrecord-window-buffer|unrmail|unsafep-function|unsafep-let|unsafep-progn|unsafep-variable|untabify-backward|untabify|untrace-all|untrace-function|ununderline-region|up-ifdef|upcase-initials-region|update-glyphless-char-display|update-leim-list-file|url--allowed-chars|url-attributes--cmacro|url-attributes|url-auth-registered|url-auth-user-prompt|url-basepath|url-basic-auth|url-bit-for-url|url-build-query-string|url-cache-create-filename|url-cache-extract|url-cache-prune-cache|url-cid|url-completion-function|url-cookie-clean-up|url-cookie-create--cmacro|url-cookie-create|url-cookie-delete|url-cookie-domain--cmacro|url-cookie-domain|url-cookie-expired-p|url-cookie-expires--cmacro|url-cookie-expires|url-cookie-generate-header-lines|url-cookie-handle-set-cookie|url-cookie-host-can-set-p|url-cookie-list|url-cookie-localpart--cmacro|url-cookie-localpart|url-cookie-mode|url-cookie-name--cmacro|url-cookie-name|url-cookie-p--cmacro|url-cookie-p|url-cookie-parse-file|url-cookie-quit|url-cookie-retrieve|url-cookie-secure--cmacro|url-cookie-secure|url-cookie-setup-save-timer|url-cookie-store|url-cookie-value--cmacro|url-cookie-value|url-cookie-write-file|url-copy-file|url-data|url-dav-request|url-dav-supported-p|url-dav-vc-registered|url-debug|url-default-expander|url-default-find-proxy-for-url|url-device-type|url-digest-auth-create-key|url-digest-auth|url-display-percentage|url-do-auth-source-search|url-do-setup|url-domsuf-cookie-allowed-p|url-domsuf-parse-file|url-eat-trailing-space|url-encode-url|url-expand-file-name|url-expander-remove-relative-links|url-extract-mime-headers|url-file-directory|url-file-extension|url-file-handler|url-file-local-copy|url-file-nondirectory|url-file|url-filename--cmacro|url-filename|url-find-proxy-for-url|url-fullness--cmacro|url-fullness|url-gateway-nslookup-host|url-gc-dead-buffers|url-generate-unique-filename|url-generic-emulator-loader|url-generic-parse-url|url-get-authentication|url-get-normalized-date|url-get-url-at-point|url-handle-content-transfer-encoding|url-handler-mode|url-have-visited-url|url-hexify-string|url-history-parse-history|url-history-save-history|url-history-setup-save-timer|url-history-update-url|url-host--cmacro|url-host|url-http-activate-callback|url-http-async-sentinel|url-http-chunked-encoding-after-change-function|url-http-clean-headers|url-http-content-length-after-change-function|url-http-create-request|url-http-debug|url-http-end-of-document-sentinel|url-http-expand-file-name|url-http-file-attributes|url-http-file-exists-p|url-http-file-readable-p|url-http-find-free-connection|url-http-generic-filter|url-http-handle-authentication|url-http-handle-cookies|url-http-head-file-attributes|url-http-head|url-http-idle-sentinel|url-http-mark-connection-as-busy|url-http-mark-connection-as-free|url-http-options|url-http-parse-headers|url-http-parse-response|url-http-simple-after-change-function|url-http-symbol-value-in-buffer|url-http-user-agent-string|url-http-wait-for-headers-change-function|url-http|url-https-create-secure-wrapper|url-https-expand-file-name|url-https-file-attributes|url-https-file-exists-p|url-https-file-readable-p|url-https|url-identity-expander|url-info|url-insert-entities-in-string|url-insert-file-contents|url-irc|url-is-cached|url-lazy-message|url-ldap|url-mail|url-mailto|url-make-private-file|url-man|url-mark-buffer-as-dead|url-mime-charset-string|url-mm-callback|url-mm-url|url-news|url-normalize-url|url-ns-prefs|url-ns-user-pref|url-open-rlogin|url-open-stream|url-open-telnet|url-p--cmacro|url-p|url-parse-args|url-parse-make-urlobj--cmacro|url-parse-make-urlobj|url-parse-query-string|url-password--cmacro|url-password-for-url|url-password|url-path-and-query|url-percentage|url-port-if-non-default|url-port|url-portspec--cmacro|url-portspec|url-pretty-length|url-proxy|url-queue-buffer--cmacro|url-queue-buffer|url-queue-callback--cmacro|url-queue-callback-function|url-queue-callback|url-queue-cbargs--cmacro|url-queue-cbargs|url-queue-inhibit-cookiesp--cmacro|url-queue-inhibit-cookiesp|url-queue-kill-job|url-queue-p--cmacro|url-queue-p|url-queue-pre-triggered--cmacro|url-queue-pre-triggered|url-queue-prune-old-entries|url-queue-remove-jobs-from-host|url-queue-retrieve|url-queue-run-queue|url-queue-setup-runners|url-queue-silentp--cmacro|url-queue-silentp|url-queue-start-retrieve|url-queue-start-time--cmacro|url-queue-start-time|url-queue-url--cmacro|url-queue-url|url-recreate-url-attributes|url-recreate-url|url-register-auth-scheme|url-retrieve-internal|url-retrieve-synchronously|url-retrieve|url-rlogin|url-scheme-default-loader|url-scheme-get-property|url-scheme-register-proxy|url-set-mime-charset-string|url-setup-privacy-info|url-silent--cmacro|url-silent|url-snews|url-store-in-cache|url-strip-leading-spaces|url-target--cmacro|url-target|url-telnet|url-tn3270|url-tramp-file-handler|url-truncate-url-for-viewing|url-type--cmacro|url-type|url-unhex-string|url-unhex|url-use-cookies--cmacro|url-use-cookies|url-user--cmacro|url-user-for-url|url-user|url-view-url|url-wait-for-string|url-warn|use-cjk-char-width-table|use-completion-backward-under|use-completion-backward|use-completion-before-point|use-completion-before-separator|use-completion-minibuffer-separator|use-completion-under-or-before-point|use-completion-under-point|use-default-char-width-table|use-fancy-splash-screens-p|use-package|user-original-login-name|user-variable-p|utf-7-imap-post-read-conversion|utf-7-imap-pre-write-conversion|utf-7-post-read-conversion|utf-7-pre-write-conversion|utf7-decode|utf7-encode|uudecode-char-int|uudecode-decode-region-external|uudecode-decode-region-internal|uudecode-decode-region|uudecode-string-to-multibyte|values-list|variable-at-point|variable-binding-locus|variable-pitch-mode|vc--add-line|vc--process-sentinel|vc--read-lines|vc--remove-regexp|vc-after-save|vc-annotate|vc-backend-for-registration|vc-backend-subdirectory-name|vc-backend|vc-before-save|vc-branch-p|vc-branch-part|vc-buffer-context|vc-buffer-sync|vc-bzr-registered|vc-call-backend|vc-call|vc-check-headers|vc-check-master-templates|vc-checkin|vc-checkout-model|vc-checkout|vc-clear-context|vc-coding-system-for-diff|vc-comment-search-forward|vc-comment-search-reverse|vc-comment-to-change-log|vc-compatible-state|vc-compilation-mode|vc-context-matches-p|vc-create-repo|vc-create-tag|vc-cvs-after-dir-status|vc-cvs-annotate-command|vc-cvs-annotate-current-time|vc-cvs-annotate-extract-revision-at-line|vc-cvs-annotate-process-filter|vc-cvs-annotate-time|vc-cvs-append-to-ignore|vc-cvs-check-headers|vc-cvs-checkin|vc-cvs-checkout-model|vc-cvs-checkout|vc-cvs-command|vc-cvs-comment-history|vc-cvs-could-register|vc-cvs-create-tag|vc-cvs-delete-file|vc-cvs-diff|vc-cvs-dir-extra-headers|vc-cvs-dir-status-files|vc-cvs-dir-status-heuristic|vc-cvs-file-to-string|vc-cvs-find-admin-dir|vc-cvs-find-revision|vc-cvs-get-entries|vc-cvs-ignore|vc-cvs-make-version-backups-p|vc-cvs-merge-file|vc-cvs-merge-news|vc-cvs-merge|vc-cvs-mode-line-string|vc-cvs-modify-change-comment|vc-cvs-next-revision|vc-cvs-parse-entry|vc-cvs-parse-root|vc-cvs-parse-status|vc-cvs-parse-sticky-tag|vc-cvs-parse-uhp|vc-cvs-previous-revision|vc-cvs-print-log|vc-cvs-register|vc-cvs-registered|vc-cvs-repository-hostname|vc-cvs-responsible-p|vc-cvs-retrieve-tag|vc-cvs-revert|vc-cvs-revision-completion-table|vc-cvs-revision-granularity|vc-cvs-revision-table|vc-cvs-state-heuristic|vc-cvs-state|vc-cvs-stay-local-p|vc-cvs-update-changelog|vc-cvs-valid-revision-number-p|vc-cvs-valid-symbolic-tag-name-p|vc-cvs-working-revision|vc-deduce-backend|vc-deduce-fileset|vc-default-check-headers|vc-default-comment-history|vc-default-dir-status-files|vc-default-extra-menu|vc-default-find-file-hook|vc-default-find-revision|vc-default-ignore-completion-table|vc-default-ignore|vc-default-log-edit-mode|vc-default-log-view-mode|vc-default-make-version-backups-p|vc-default-mark-resolved|vc-default-mode-line-string|vc-default-receive-file|vc-default-registered|vc-default-rename-file|vc-default-responsible-p|vc-default-retrieve-tag|vc-default-revert|vc-default-revision-completion-table|vc-default-show-log-entry|vc-default-working-revision|vc-delete-automatic-version-backups|vc-delete-file|vc-delistify|vc-diff-build-argument-list-internal|vc-diff-finish|vc-diff-internal|vc-diff-switches-list|vc-diff|vc-dir-mode|vc-dir|vc-dired-deduce-fileset|vc-dispatcher-browsing|vc-do-async-command|vc-do-command|vc-ediff|vc-editable-p|vc-ensure-vc-buffer|vc-error-occurred|vc-exec-after|vc-expand-dirs|vc-file-clearprops|vc-file-getprop|vc-file-setprop|vc-file-tree-walk-internal|vc-file-tree-walk|vc-find-backend-function|vc-find-conflicted-file|vc-find-file-hook|vc-find-position-by-context|vc-find-revision|vc-find-root|vc-finish-logentry|vc-follow-link|vc-git-registered|vc-hg-registered|vc-ignore|vc-incoming-outgoing-internal|vc-insert-file|vc-insert-headers|vc-kill-buffer-hook|vc-log-edit|vc-log-incoming|vc-log-internal-common|vc-log-outgoing|vc-make-backend-sym|vc-make-version-backup|vc-mark-resolved|vc-maybe-resolve-conflicts|vc-menu-map-filter|vc-menu-map|vc-merge|vc-mode-line|vc-modify-change-comment|vc-mtn-registered|vc-next-action|vc-next-comment|vc-parse-buffer)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)v(?:c-position-context|c-possible-master|c-previous-comment|c-print-log-internal|c-print-log-setup-buttons|c-print-log|c-print-root-log|c-process-filter|c-pull|c-rcs-registered|c-read-backend|c-read-revision|c-region-history|c-register-with|c-register|c-registered|c-rename-file|c-resolve-conflicts|c-responsible-backend|c-restore-buffer-context|c-resynch-buffer|c-resynch-buffers-in-directory|c-resynch-window|c-retrieve-tag|c-revert-buffer-internal|c-revert-buffer|c-revert-file|c-revert|c-revision-other-window|c-rollback|c-root-diff|c-root-dir|c-run-delayed|c-sccs-registered|c-sccs-search-project-dir|c-set-async-update|c-set-mode-line-busy-indicator|c-setup-buffer|c-src-registered|c-start-logentry|c-state-refresh|c-state|c-steal-lock|c-string-prefix-p|c-svn-registered|c-switch-backend|c-switches|c-tag-precondition|c-toggle-read-only|c-transfer-file|c-up-to-date-p|c-update-change-log|c-update|c-user-login-name|c-version-backup-file-name|c-version-backup-file|c-version-diff|c-version-ediff|c-workfile-version|c-working-revision|cursor-backward-char|cursor-backward-word|cursor-beginning-of-buffer|cursor-beginning-of-line|cursor-bind-keys|cursor-check|cursor-compare-windows|cursor-copy-line|cursor-copy-word|cursor-copy|cursor-cs-binding|cursor-disable|cursor-end-of-buffer|cursor-end-of-line|cursor-execute-command|cursor-execute-key|cursor-find-window|cursor-forward-char|cursor-forward-word|cursor-get-char-count|cursor-goto|cursor-insert|cursor-isearch-backward|cursor-isearch-forward|cursor-locate|cursor-map|cursor-move|cursor-next-line|cursor-other-window|cursor-post-command|cursor-previous-line|cursor-relative-move|cursor-scroll-down|cursor-scroll-up|cursor-swap-point|cursor-toggle-copy|cursor-toggle-vcursor-map|cursor-use-vcursor-map|cursor-window-funcall|ector-or-char-table-p|endor-specific-keysyms|era-add-syntax|era-backward-same-indent|era-backward-statement|era-backward-syntactic-ws|era-beginning-of-statement|era-beginning-of-substatement|era-comment-uncomment-region|era-corresponding-begin|era-corresponding-if|era-customize|era-electric-closing-brace|era-electric-opening-brace|era-electric-pound|era-electric-return|era-electric-slash|era-electric-space|era-electric-star|era-electric-tab|era-evaluate-offset|era-expand-abbrev|era-font-lock-match-item|era-fontify-buffer|era-forward-same-indent|era-forward-statement|era-forward-syntactic-ws|era-get-offset|era-guess-basic-syntax|era-in-literal|era-indent-block-closing|era-indent-buffer|era-indent-line|era-indent-region|era-langelem-col|era-lineup-C-comments|era-lineup-comment|era-mode-menu|era-mode|era-point|era-prepare-search|era-re-search-backward|era-re-search-forward|era-skip-backward-literal|era-skip-forward-literal|era-submit-bug-report|era-try-expand-abbrev|era-version|erify-xscheme-buffer|erilog-add-list-unique|erilog-alw-get-inputs|erilog-alw-get-outputs-delayed|erilog-alw-get-outputs-immediate|erilog-alw-get-temps|erilog-alw-get-uses-delayed|erilog-alw-new|erilog-at-close-constraint-p|erilog-at-close-struct-p|erilog-at-constraint-p|erilog-at-struct-mv-p|erilog-at-struct-p|erilog-auto-arg-ports|erilog-auto-arg|erilog-auto-ascii-enum|erilog-auto-assign-modport|erilog-auto-inout-comp|erilog-auto-inout-in|erilog-auto-inout-modport|erilog-auto-inout-module|erilog-auto-inout-param|erilog-auto-inout|erilog-auto-input|erilog-auto-insert-last|erilog-auto-insert-lisp|erilog-auto-inst-first|erilog-auto-inst-param|erilog-auto-inst-port-list|erilog-auto-inst-port-map|erilog-auto-inst-port|erilog-auto-inst|erilog-auto-logic-setup|erilog-auto-logic|erilog-auto-output-every|erilog-auto-output|erilog-auto-re-search-do|erilog-auto-read-locals|erilog-auto-reeval-locals|erilog-auto-reg-input|erilog-auto-reg|erilog-auto-reset|erilog-auto-save-check|erilog-auto-save-compile|erilog-auto-sense-sigs|erilog-auto-sense|erilog-auto-star-safe|erilog-auto-star|erilog-auto-template-lint|erilog-auto-templated-rel|erilog-auto-tieoff|erilog-auto-undef|erilog-auto-unused|erilog-auto-wire|erilog-auto|erilog-back-to-start-translate-off|erilog-backward-case-item|erilog-backward-open-bracket|erilog-backward-open-paren|erilog-backward-sexp|erilog-backward-syntactic-ws-quick|erilog-backward-syntactic-ws|erilog-backward-token|erilog-backward-up-list|erilog-backward-ws&directives|erilog-batch-auto|erilog-batch-delete-auto|erilog-batch-delete-trailing-whitespace|erilog-batch-diff-auto|erilog-batch-error-wrapper|erilog-batch-execute-func|erilog-batch-indent|erilog-batch-inject-auto|erilog-beg-of-defun-quick|erilog-beg-of-defun|erilog-beg-of-statement-1|erilog-beg-of-statement|erilog-booleanp|erilog-build-defun-re|erilog-calc-1|erilog-calculate-indent-directive|erilog-calculate-indent|erilog-case-indent-level|erilog-clog2|erilog-colorize-include-files-buffer|erilog-comment-depth|erilog-comment-indent|erilog-comment-region|erilog-comp-defun|erilog-complete-word|erilog-completion-response|erilog-completion|erilog-continued-line-1|erilog-continued-line|erilog-current-flags|erilog-current-indent-level|erilog-customize|erilog-declaration-beg|erilog-declaration-end|erilog-decls-append|erilog-decls-get-assigns|erilog-decls-get-consts|erilog-decls-get-gparams|erilog-decls-get-inouts|erilog-decls-get-inputs|erilog-decls-get-interfaces|erilog-decls-get-iovars|erilog-decls-get-modports|erilog-decls-get-outputs|erilog-decls-get-ports|erilog-decls-get-signals|erilog-decls-get-vars|erilog-decls-new|erilog-decls-princ|erilog-define-abbrev|erilog-delete-auto-star-all|erilog-delete-auto-star-implicit|erilog-delete-auto|erilog-delete-autos-lined|erilog-delete-empty-auto-pair|erilog-delete-to-paren|erilog-delete-trailing-whitespace|erilog-diff-auto|erilog-diff-buffers-p|erilog-diff-file-with-buffer|erilog-diff-report|erilog-dir-file-exists-p|erilog-dir-files|erilog-do-indent|erilog-easy-menu-filter|erilog-end-of-defun|erilog-end-of-statement|erilog-end-translate-off|erilog-enum-ascii|erilog-error-regexp-add-emacs|erilog-expand-command|erilog-expand-dirnames|erilog-expand-vector-internal|erilog-expand-vector|erilog-faq|erilog-font-customize|erilog-font-lock-match-item|erilog-forward-close-paren|erilog-forward-or-insert-line|erilog-forward-sexp-cmt|erilog-forward-sexp-function|erilog-forward-sexp-ign-cmt|erilog-forward-sexp|erilog-forward-syntactic-ws|erilog-forward-ws&directives|erilog-func-completion|erilog-generate-numbers|erilog-get-completion-decl|erilog-get-default-symbol|erilog-get-end-of-defun|erilog-get-expr|erilog-get-lineup-indent-2|erilog-get-lineup-indent|erilog-getopt-file|erilog-getopt-flags|erilog-getopt|erilog-goto-defun-file|erilog-goto-defun|erilog-header|erilog-highlight-buffer|erilog-highlight-region|erilog-in-attribute-p|erilog-in-case-region-p|erilog-in-comment-or-string-p|erilog-in-comment-p|erilog-in-coverage-p|erilog-in-directive-p|erilog-in-escaped-name-p|erilog-in-fork-region-p|erilog-in-generate-region-p|erilog-in-parameter-p|erilog-in-paren-count|erilog-in-paren-quick|erilog-in-paren|erilog-in-parenthesis-p|erilog-in-slash-comment-p|erilog-in-star-comment-p|erilog-in-struct-nested-p|erilog-in-struct-p|erilog-indent-buffer|erilog-indent-comment|erilog-indent-declaration|erilog-indent-line-relative|erilog-indent-line|erilog-inject-arg|erilog-inject-auto|erilog-inject-inst|erilog-inject-sense|erilog-insert-1|erilog-insert-block|erilog-insert-date|erilog-insert-definition|erilog-insert-indent|erilog-insert-indices|erilog-insert-last-command-event|erilog-insert-one-definition|erilog-insert-year|erilog-insert|erilog-inside-comment-or-string-p|erilog-is-number|erilog-just-one-space|erilog-keyword-completion|erilog-kill-existing-comment|erilog-label-be|erilog-leap-to-case-head|erilog-leap-to-head|erilog-library-filenames|erilog-lint-off|erilog-linter-name|erilog-load-file-at-mouse|erilog-load-file-at-point|erilog-make-width-expression|erilog-mark-defun|erilog-match-translate-off|erilog-menu|erilog-mode|erilog-modi-cache-add-gparams|erilog-modi-cache-add-inouts|erilog-modi-cache-add-inputs|erilog-modi-cache-add-outputs|erilog-modi-cache-add-vars|erilog-modi-cache-add|erilog-modi-cache-results|erilog-modi-current-get|erilog-modi-current|erilog-modi-file-or-buffer|erilog-modi-filename|erilog-modi-get-decls|erilog-modi-get-point|erilog-modi-get-sub-decls|erilog-modi-get-type|erilog-modi-goto|erilog-modi-lookup|erilog-modi-modport-lookup-one|erilog-modi-modport-lookup|erilog-modi-name|erilog-modi-new|erilog-modify-compile-command|erilog-modport-clockings-add|erilog-modport-clockings|erilog-modport-decls-set|erilog-modport-decls|erilog-modport-name|erilog-modport-new|erilog-modport-princ|erilog-module-filenames|erilog-module-inside-filename-p|erilog-more-comment|erilog-one-line|erilog-parenthesis-depth|erilog-point-text|erilog-preprocess|erilog-preserve-dir-cache|erilog-preserve-modi-cache|erilog-pretty-declarations-auto|erilog-pretty-declarations|erilog-pretty-expr|erilog-re-search-backward-quick|erilog-re-search-backward-substr|erilog-re-search-backward|erilog-re-search-forward-quick|erilog-re-search-forward-substr|erilog-re-search-forward|erilog-read-always-signals-recurse|erilog-read-always-signals|erilog-read-arg-pins|erilog-read-auto-constants|erilog-read-auto-lisp-present|erilog-read-auto-lisp|erilog-read-auto-params|erilog-read-auto-template-hit|erilog-read-auto-template-middle|erilog-read-auto-template|erilog-read-decls|erilog-read-defines|erilog-read-includes|erilog-read-inst-backward-name|erilog-read-inst-module-matcher|erilog-read-inst-module|erilog-read-inst-name|erilog-read-inst-param-value|erilog-read-inst-pins|erilog-read-instants|erilog-read-module-name|erilog-read-signals|erilog-read-sub-decls-expr|erilog-read-sub-decls-gate|erilog-read-sub-decls-line|erilog-read-sub-decls-sig|erilog-read-sub-decls|erilog-regexp-opt|erilog-regexp-words|erilog-repair-close-comma|erilog-repair-open-comma|erilog-run-hooks|erilog-save-buffer-state|erilog-save-font-mods|erilog-save-no-change-functions|erilog-save-scan-cache|erilog-scan-and-debug|erilog-scan-cache-flush|erilog-scan-cache-ok-p|erilog-scan-debug|erilog-scan-region|erilog-scan|erilog-set-auto-endcomments|erilog-set-compile-command|erilog-set-define|erilog-show-completions|erilog-showscopes|erilog-sig-bits|erilog-sig-comment|erilog-sig-enum|erilog-sig-memory|erilog-sig-modport|erilog-sig-multidim-string|erilog-sig-multidim|erilog-sig-name|erilog-sig-new|erilog-sig-signed|erilog-sig-tieoff|erilog-sig-type-set|erilog-sig-type|erilog-sig-width|erilog-signals-combine-bus|erilog-signals-edit-wire-reg|erilog-signals-from-signame|erilog-signals-in|erilog-signals-matching-dir-re|erilog-signals-matching-enum|erilog-signals-matching-regexp|erilog-signals-memory|erilog-signals-not-in|erilog-signals-not-matching-regexp|erilog-signals-not-params|erilog-signals-princ|erilog-signals-sort-compare|erilog-signals-with|erilog-simplify-range-expression|erilog-sk-always|erilog-sk-assign|erilog-sk-begin|erilog-sk-casex??|erilog-sk-casez|erilog-sk-comment|erilog-sk-datadef|erilog-sk-def-reg|erilog-sk-define-signal|erilog-sk-else-if|erilog-sk-fork??|erilog-sk-function|erilog-sk-generate|erilog-sk-header-tmpl|erilog-sk-header|erilog-sk-if|erilog-sk-initial|erilog-sk-inout|erilog-sk-input|erilog-sk-module|erilog-sk-output|erilog-sk-ovm-class|erilog-sk-primitive|erilog-sk-prompt-clock|erilog-sk-prompt-condition|erilog-sk-prompt-inc|erilog-sk-prompt-init|erilog-sk-prompt-lsb|erilog-sk-prompt-msb|erilog-sk-prompt-name|erilog-sk-prompt-output|erilog-sk-prompt-reset|erilog-sk-prompt-state-selector|erilog-sk-prompt-width|erilog-sk-reg|erilog-sk-repeat|erilog-sk-specify|erilog-sk-state-machine|erilog-sk-task|erilog-sk-uvm-component|erilog-sk-uvm-object|erilog-sk-while|erilog-sk-wire|erilog-skip-backward-comment-or-string|erilog-skip-backward-comments|erilog-skip-forward-comment-or-string)(?=[()\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.emacs.lisp\\\"},{\\\"match\\\":\\\"(?<=[()]|^)v(?:erilog-skip-forward-comment-p|erilog-star-comment|erilog-start-translate-off|erilog-stmt-menu|erilog-string-diff|erilog-string-match-fold|erilog-string-remove-spaces|erilog-string-replace-matches|erilog-strip-comments|erilog-subdecls-get-inouts|erilog-subdecls-get-inputs|erilog-subdecls-get-interfaced|erilog-subdecls-get-interfaces|erilog-subdecls-get-outputs|erilog-subdecls-new|erilog-submit-bug-report|erilog-surelint-off|erilog-symbol-detick-denumber|erilog-symbol-detick-text|erilog-symbol-detick|erilog-syntax-ppss|erilog-typedef-name-p|erilog-uncomment-region|erilog-var-completion|erilog-verilint-off|erilog-version|erilog-wai|erilog-warn-error|erilog-warn|erilog-within-string|erilog-within-translate-off|ersion-list-<=??|ersion-list-=|ersion-list-not-zero|ersion-to-list|ersion","name":"comment.block.html","patterns":[{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html"}]}]},"block_helper":{"begin":"(\\\\{\\\\{)(~?#)([\\\\--9>A-Z_a-z]+)\\\\s?(@?[\\\\--9A-Z_a-z]+)*\\\\s?(@?[\\\\--9A-Z_a-z]+)*\\\\s?(@?[\\\\--9A-Z_a-z]+)*","beginCaptures":{"1":{"name":"support.constant.handlebars"},"2":{"name":"support.constant.handlebars keyword.control"},"3":{"name":"support.constant.handlebars keyword.control"},"4":{"name":"variable.parameter.handlebars"},"5":{"name":"support.constant.handlebars"},"6":{"name":"variable.parameter.handlebars"},"7":{"name":"support.constant.handlebars"}},"end":"(~?}})","endCaptures":{"1":{"name":"support.constant.handlebars"}},"name":"meta.function.block.start.handlebars","patterns":[{"include":"#string"},{"include":"#handlebars_attribute"}]},"comments":{"patterns":[{"begin":"\\\\{\\\\{!","end":"}}","name":"comment.block.handlebars","patterns":[{"match":"@\\\\w*","name":"keyword.annotation.handlebars"},{"include":"#comments"}]},{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.cs"}},"name":"comment.block.cs"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.single.cs","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cs"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cs"}},"name":"string.quoted.double.cs","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.cs"}},"name":"meta.tag.cs","patterns":[{"include":"#xml-attribute"}]},"yield-break-statement":{"captures":{"1":{"name":"keyword.control.flow.yield.cs"},"2":{"name":"keyword.control.flow.break.cs"}},"match":"(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.arrow.cs\\\"}},\\\"contentName\\\":\\\"meta.accessor.getter.cs\\\",\\\"end\\\":\\\"(?=[;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ref-modifier\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"accessor-setter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"contentName\\\":\\\"meta.accessor.setter.cs\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.arrow.cs\\\"}},\\\"contentName\\\":\\\"meta.accessor.setter.cs\\\",\\\"end\\\":\\\"(?=[;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ref-modifier\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"anonymous-method-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?:\\\\\\\\b(?:async|static)\\\\\\\\b\\\\\\\\s*)*)(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b|(\\\\\\\\()(?(?:[^()]|\\\\\\\\(\\\\\\\\g\\\\\\\\))*)(\\\\\\\\)))\\\\\\\\s*(=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"async|static\\\",\\\"name\\\":\\\"storage.modifier.$0.cs\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#explicit-anonymous-function-parameter\\\"},{\\\"include\\\":\\\"#implicit-anonymous-function-parameter\\\"},{\\\"include\\\":\\\"#default-argument\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.arrow.cs\\\"}},\\\"end\\\":\\\"(?=[),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=[),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#intrusive\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(ref)\\\\\\\\b|(?=\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ref.cs\\\"}},\\\"end\\\":\\\"(?=[),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},{\\\"begin\\\":\\\"((?:\\\\\\\\b(?:async|static)\\\\\\\\b\\\\\\\\s*)*)\\\\\\\\b(delegate)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"async|static\\\",\\\"name\\\":\\\"storage.modifier.$0.cs\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.delegate.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=[),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#explicit-anonymous-function-parameter\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#block\\\"}]}]},\\\"anonymous-object-creation-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\b(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\{|//|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.new.cs\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#initializer-expression\\\"}]},\\\"argument\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(ref|in)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.$1.cs\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(out)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.out.cs\\\"}},\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration-expression-local\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#expression\\\"}]},\\\"argument-list\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#named-argument\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-creation-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\b(new|stackalloc)\\\\\\\\b\\\\\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)?\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.$1.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}},\\\"end\\\":\\\"(?<=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bracketed-argument-list\\\"}]},\\\"as-expression\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.as.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}},\\\"match\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?(?!\\\\\\\\?))?(?:\\\\\\\\s*\\\\\\\\[\\\\\\\\s*(?:,\\\\\\\\s*)*](?:\\\\\\\\s*\\\\\\\\?(?!\\\\\\\\?))?)*)?\\\"},\\\"assignment-expression\\\":{\\\"begin\\\":\\\"(?:[-%*+/]|\\\\\\\\?\\\\\\\\?|[\\\\\\\\&^]|<<|>>>?|\\\\\\\\|)?=(?![=>])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#assignment-operators\\\"}]}},\\\"end\\\":\\\"(?=[]),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ref-modifier\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"assignment-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[-%*+/]|\\\\\\\\?\\\\\\\\?)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.cs\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>?|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.cs\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.cs\\\"}]},\\\"attribute\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-name\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#attribute-arguments\\\"}]},\\\"attribute-arguments\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-named-argument\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"attribute-named-argument\\\":{\\\"begin\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(?==)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.property.cs\\\"}},\\\"end\\\":\\\"(?=([),]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#operator-assignment\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"attribute-section\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)(assembly|module|field|event|method|param|property|return|type)?(:)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.squarebracket.open.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.attribute-specifier.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.squarebracket.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"await-expression\\\":{\\\"match\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s*(\\\\\\\\))(?=\\\\\\\\s*-*!*@?[(_[:alnum:]])\\\"},\\\"casted-constant-pattern\\\":{\\\"begin\\\":\\\"(\\\\\\\\()([.:@_\\\\\\\\s[:alnum:]]+)(\\\\\\\\))(?=[-!+~\\\\\\\\s]*@?[\\\\\\\"'(_[:alnum:]]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-builtin\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#casted-constant-pattern\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#constant-pattern\\\"}]},{\\\"include\\\":\\\"#constant-pattern\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.alias.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.coloncolon.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(::)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\.)\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.constant.cs\\\"}]},\\\"catch-clause\\\":{\\\"begin\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s*(?:(\\\\\\\\g)\\\\\\\\b)?\\\"}]},{\\\"include\\\":\\\"#when-clause\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"char-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{1,4}|u\\\\\\\\h{4}|.)\\\",\\\"name\\\":\\\"constant.character.escape.cs\\\"},\\\"char-literal\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.char.begin.cs\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.char.end.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.cs\\\"}},\\\"name\\\":\\\"string.quoted.single.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#char-character-escape\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\brecord\\\\\\\\b\\\\\\\\s+)?\\\\\\\\bclass\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\b(record)\\\\\\\\b\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b\\\\\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.type.record.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.class.cs\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.cs\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameter-list\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#base-types\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-or-struct-members\\\"}]},{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"class-or-struct-members\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#storage-modifier\\\"},{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"include\\\":\\\"#property-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#event-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#constructor-declaration\\\"},{\\\"include\\\":\\\"#destructor-declaration\\\"},{\\\"include\\\":\\\"#operator-declaration\\\"},{\\\"include\\\":\\\"#conversion-operator-declaration\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#attribute-section\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"combinator-pattern\\\":{\\\"match\\\":\\\"\\\\\\\\b(and|or|not)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.expression.pattern.combinator.$1.cs\\\"},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(///)(?!/)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cs\\\"}},\\\"name\\\":\\\"comment.block.documentation.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-doc-comment\\\"}],\\\"while\\\":\\\"^(\\\\\\\\s*)(///)(?!/)\\\"},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(/\\\\\\\\*\\\\\\\\*)(?!/)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cs\\\"}},\\\"end\\\":\\\"(^\\\\\\\\s+)?(\\\\\\\\*/)\\\",\\\"name\\\":\\\"comment.block.documentation.cs\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=(?~\\\\\\\\*/)$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-doc-comment\\\"}],\\\"while\\\":\\\"^(\\\\\\\\s*+)(\\\\\\\\*(?!/))?(?=(?~\\\\\\\\*/)$)\\\",\\\"whileCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cs\\\"}}},{\\\"include\\\":\\\"#xml-doc-comment\\\"}]},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(//).*$\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cs\\\"}},\\\"name\\\":\\\"comment.line.double-slash.cs\\\",\\\"while\\\":\\\"^(\\\\\\\\s*)(//).*$\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.cs\\\"}]},\\\"conditional-operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?(?!\\\\\\\\?|\\\\\\\\s*[.\\\\\\\\[])\\\",\\\"name\\\":\\\"keyword.operator.conditional.question-mark.cs\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.conditional.colon.cs\\\"}]},\\\"constant-pattern\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#char-literal\\\"},{\\\"include\\\":\\\"#string-literal\\\"},{\\\"include\\\":\\\"#raw-string-literal\\\"},{\\\"include\\\":\\\"#verbatim-string-literal\\\"},{\\\"include\\\":\\\"#type-operator-expression\\\"},{\\\"include\\\":\\\"#expression-operator-expression\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#casted-constant-pattern\\\"}]},\\\"constructor-declaration\\\":{\\\"begin\\\":\\\"(?=@?[_[:alpha:]][_[:alnum:]]*\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constructor-initializer\\\"}]},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"constructor-initializer\\\":{\\\"begin\\\":\\\"\\\\\\\\b(base|this)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.$1.cs\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument-list\\\"}]},\\\"context-control-paren-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fixed-statement\\\"},{\\\"include\\\":\\\"#lock-statement\\\"},{\\\"include\\\":\\\"#using-statement\\\"}]},\\\"context-control-statement\\\":{\\\"match\\\":\\\"\\\\\\\\b(checked|unchecked|unsafe)\\\\\\\\b(?!\\\\\\\\s*[(@_[:alpha:]])\\\",\\\"name\\\":\\\"keyword.control.context.$1.cs\\\"},\\\"conversion-operator-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?(?:ex|im)plicit)\\\\\\\\s*\\\\\\\\b(?operator)\\\\\\\\s*(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.explicit.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(explicit)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implicit.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(implicit)\\\\\\\\b\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.operator.cs\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"declaration-expression-local\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.var.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.local.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(var)\\\\\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*))\\\\\\\\s+(\\\\\\\\g)\\\\\\\\b\\\\\\\\s*(?=[]),])\\\"},\\\"declaration-expression-tuple\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.var.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.tuple-element.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(var)\\\\\\\\b|(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*))\\\\\\\\s+(\\\\\\\\g)\\\\\\\\b\\\\\\\\s*(?=[),])\\\"},\\\"declarations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"default-argument\\\":{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cs\\\"}},\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"default-literal-expression\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.default.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\"},\\\"delegate-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(delegate)\\\\\\\\b\\\\\\\\s+(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(<([^<>]+)>)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.delegate.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.type.delegate.cs\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameter-list\\\"}]}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"}]},\\\"designation-pattern\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#designation-pattern\\\"}]},{\\\"include\\\":\\\"#simple-designation-pattern\\\"}]},\\\"destructor-declaration\\\":{\\\"begin\\\":\\\"(~)(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.tilde.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"directives\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#extern-alias-directive\\\"},{\\\"include\\\":\\\"#using-directive\\\"},{\\\"include\\\":\\\"#attribute-section\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"discard-pattern\\\":{\\\"match\\\":\\\"_(?![_[:alnum:]])\\\",\\\"name\\\":\\\"variable.language.discard.cs\\\"},\\\"do-statement\\\":{\\\"begin\\\":\\\"(?)\\\\\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*)?(?:(\\\\\\\\?)\\\\\\\\s*)?(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.null-conditional.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.pointer.cs\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.cs\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.null-conditional.cs\\\"}},\\\"end\\\":\\\"(?<=])(?!\\\\\\\\s*\\\\\\\\[)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bracketed-argument-list\\\"}]},\\\"else-part\\\":{\\\"begin\\\":\\\"(?|//|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.accessor.$1.cs\\\"}},\\\"end\\\":\\\"(?<=[;}])|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#accessor-setter\\\"}]}]},\\\"event-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(event)\\\\\\\\b\\\\\\\\s*(?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(\\\\\\\\g)\\\\\\\\s*(?=[,;={]|//|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.event.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"entity.name.variable.event.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#event-accessors\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.event.cs\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cs\\\"}},\\\"end\\\":\\\"(?<=,)|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"explicit-anonymous-function-parameter\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(ref|params|out|in)\\\\\\\\b\\\\\\\\s*)?(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?<(?:[^<>]|\\\\\\\\g)*>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)*\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s*\\\\\\\\b(\\\\\\\\g)\\\\\\\\b\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression-operator-expression\\\"},{\\\"include\\\":\\\"#type-operator-expression\\\"},{\\\"include\\\":\\\"#default-literal-expression\\\"},{\\\"include\\\":\\\"#throw-expression\\\"},{\\\"include\\\":\\\"#raw-interpolated-string\\\"},{\\\"include\\\":\\\"#interpolated-string\\\"},{\\\"include\\\":\\\"#verbatim-interpolated-string\\\"},{\\\"include\\\":\\\"#type-builtin\\\"},{\\\"include\\\":\\\"#language-variable\\\"},{\\\"include\\\":\\\"#switch-statement-or-expression\\\"},{\\\"include\\\":\\\"#with-expression\\\"},{\\\"include\\\":\\\"#conditional-operator\\\"},{\\\"include\\\":\\\"#assignment-expression\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#await-expression\\\"},{\\\"include\\\":\\\"#query-expression\\\"},{\\\"include\\\":\\\"#as-expression\\\"},{\\\"include\\\":\\\"#is-expression\\\"},{\\\"include\\\":\\\"#anonymous-method-expression\\\"},{\\\"include\\\":\\\"#object-creation-expression\\\"},{\\\"include\\\":\\\"#array-creation-expression\\\"},{\\\"include\\\":\\\"#anonymous-object-creation-expression\\\"},{\\\"include\\\":\\\"#invocation-expression\\\"},{\\\"include\\\":\\\"#member-access-expression\\\"},{\\\"include\\\":\\\"#element-access-expression\\\"},{\\\"include\\\":\\\"#cast-expression\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#parenthesized-expression\\\"},{\\\"include\\\":\\\"#tuple-deconstruction-assignment\\\"},{\\\"include\\\":\\\"#initializer-expression\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"expression-body\\\":{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.arrow.cs\\\"}},\\\"end\\\":\\\"(?=[),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ref-modifier\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"expression-operator-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\b(checked|unchecked|nameof)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.$1.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.cs\\\"},{\\\"match\\\":\\\"[!=]=\\\",\\\"name\\\":\\\"keyword.operator.comparison.cs\\\"},{\\\"match\\\":\\\"<=|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.cs\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.cs\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.cs\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\+|-(?!>)|[%*/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.null-coalescing.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.range.cs\\\"}]},\\\"extern-alias-directive\\\":{\\\"begin\\\":\\\"\\\\\\\\b(extern)\\\\\\\\s+(alias)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.extern.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.directive.alias.cs\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.alias.cs\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(?!=[=>])(?=[,;=]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.variable.field.cs\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.field.cs\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#class-or-struct-members\\\"}]},\\\"finally-clause\\\":{\\\"begin\\\":\\\"(?(?:ref\\\\\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*))\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s+\\\\\\\\b(in)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.var.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tuple-declaration-deconstruction-element-list\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.loop.in.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(var)\\\\\\\\b\\\\\\\\s*)?(?\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\))\\\\\\\\s+\\\\\\\\b(in)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"generic-constraints\\\":{\\\"begin\\\":\\\"(where)\\\\\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.where.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.type-parameter.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|where|;|=>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bclass\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\bstruct\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.struct.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\bdefault\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.constraint.default.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\bnotnull\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.constraint.notnull.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\bunmanaged\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.constraint.unmanaged.cs\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.new.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"match\\\":\\\"(new)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"}]},\\\"goto-statement\\\":{\\\"begin\\\":\\\"(?(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(?this)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"variable.language.this.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#bracketed-parameter-list\\\"},{\\\"include\\\":\\\"#property-accessors\\\"},{\\\"include\\\":\\\"#accessor-getter-expression\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"initializer-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\binterface\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(interface)\\\\\\\\b\\\\\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.cs\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameter-list\\\"},{\\\"include\\\":\\\"#base-types\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-members\\\"}]},{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"interface-members\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#storage-modifier\\\"},{\\\"include\\\":\\\"#property-declaration\\\"},{\\\"include\\\":\\\"#event-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#operator-declaration\\\"},{\\\"include\\\":\\\"#attribute-section\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"interpolated-string\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"interpolation\\\":{\\\"begin\\\":\\\"(?<=[^{]|^)((?:\\\\\\\\{\\\\\\\\{)*)(\\\\\\\\{)(?=[^{])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.begin.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.end.cs\\\"}},\\\"name\\\":\\\"meta.interpolation.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"intrusive\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"invocation-expression\\\":{\\\"begin\\\":\\\"(?:(?:(\\\\\\\\?)\\\\\\\\s*)?(\\\\\\\\.)\\\\\\\\s*|(->)\\\\\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(<(?[^()<>]|\\\\\\\\((?:[^()<>]|<[^()<>]*>|\\\\\\\\([^()<>]*\\\\\\\\))*\\\\\\\\)|<\\\\\\\\g*>)*>\\\\\\\\s*)?(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.null-conditional.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.pointer.cs\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument-list\\\"}]},\\\"is-expression\\\":{\\\"begin\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)?\\\\\\\\s+(\\\\\\\\g)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(in)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.join.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.range-variable.cs\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.in.cs\\\"}},\\\"end\\\":\\\"(?=[);])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#join-on\\\"},{\\\"include\\\":\\\"#join-equals\\\"},{\\\"include\\\":\\\"#join-into\\\"},{\\\"include\\\":\\\"#query-body\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"join-equals\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.equals.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(equals)\\\\\\\\b\\\\\\\\s*\\\"},\\\"join-into\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.into.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.variable.range-variable.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(into)\\\\\\\\b\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\\\\\\s*\\\"},\\\"join-on\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.on.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(on)\\\\\\\\b\\\\\\\\s*\\\"},\\\"labeled-statement\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(:)\\\"},\\\"language-variable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(base|this)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.$1.cs\\\"},{\\\"match\\\":\\\"\\\\\\\\b(value)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.$1.cs\\\"}]},\\\"let-clause\\\":{\\\"begin\\\":\\\"\\\\\\\\b(let)\\\\\\\\b\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.let.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.variable.range-variable.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cs\\\"}},\\\"end\\\":\\\"(?=[);])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#query-body\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"list-pattern\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.squarebracket.open.cs\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.squarebracket.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?<=])\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#simple-designation-pattern\\\"}]}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#char-literal\\\"},{\\\"include\\\":\\\"#raw-string-literal\\\"},{\\\"include\\\":\\\"#string-literal\\\"},{\\\"include\\\":\\\"#verbatim-string-literal\\\"},{\\\"include\\\":\\\"#tuple-literal\\\"}]},\\\"local-constant-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?const)\\\\\\\\b\\\\\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(?=[,;=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.const.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.local.cs\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.local.cs\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"local-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#local-constant-declaration\\\"},{\\\"include\\\":\\\"#local-variable-declaration\\\"},{\\\"include\\\":\\\"#local-function-declaration\\\"},{\\\"include\\\":\\\"#local-tuple-var-deconstruction\\\"}]},\\\"local-function-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b((?:(?:async|unsafe|static|extern)\\\\\\\\s+)*)(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?)?(?:\\\\\\\\s*\\\\\\\\[\\\\\\\\s*(?:,\\\\\\\\s*)*](?:\\\\\\\\s*\\\\\\\\?)?)*)\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(<[^<>]+>)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifier\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameter-list\\\"}]}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"local-tuple-var-deconstruction\\\":{\\\"begin\\\":\\\"\\\\\\\\b(var)\\\\\\\\b\\\\\\\\s*(?\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\))\\\\\\\\s*(?=[);=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.var.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tuple-declaration-deconstruction-element-list\\\"}]}},\\\"end\\\":\\\"(?=[);])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"local-variable-declaration\\\":{\\\"begin\\\":\\\"(?:(?:\\\\\\\\b(ref)\\\\\\\\s+(?:\\\\\\\\b(readonly)\\\\\\\\s+)?)?\\\\\\\\b(var)\\\\\\\\b|(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*[*?]\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*))\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(?!=>)(?=[),;=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ref.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.readonly.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.var.cs\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"entity.name.variable.local.cs\\\"}},\\\"end\\\":\\\"(?=[);}])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.local.cs\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"lock-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(lock)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.context.lock.cs\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"member-access-expression\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.null-conditional.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.pointer.cs\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.cs\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\?)\\\\\\\\s*)?(\\\\\\\\.)\\\\\\\\s*|(->)\\\\\\\\s*)(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(?![(_[:alnum:]]|(\\\\\\\\?)?\\\\\\\\[|<)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.cs\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\.)?\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?\\\\\\\\s*<([^<>]|\\\\\\\\g)+>\\\\\\\\s*)(?=(\\\\\\\\s*\\\\\\\\?)?\\\\\\\\s*\\\\\\\\.\\\\\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)(?=\\\\\\\\s*(?:(?:\\\\\\\\?\\\\\\\\s*)?\\\\\\\\.|->)\\\\\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\\\"}]},\\\"method-declaration\\\":{\\\"begin\\\":\\\"(?(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(\\\\\\\\g)\\\\\\\\s*(<([^<>]+)>)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameter-list\\\"}]}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"named-argument\\\":{\\\"begin\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}},\\\"end\\\":\\\"(?=([]),]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.namespace.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.namespace.cs\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations\\\"},{\\\"include\\\":\\\"#using-directive\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s*(?=\\\\\\\\{|//|/\\\\\\\\*|$)\\\"},\\\"object-creation-expression-with-parameters\\\":{\\\"begin\\\":\\\"(new)(?:\\\\\\\\s+(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*))?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.new.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument-list\\\"}]},\\\"operator-assignment\\\":{\\\"match\\\":\\\"(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s*\\\\\\\\b(?operator)\\\\\\\\b\\\\\\\\s*(?[-!%\\\\\\\\&*+/<=>^|~]+|true|false)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"storage.type.operator.cs\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"orderby-clause\\\":{\\\"begin\\\":\\\"\\\\\\\\b(orderby)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.orderby.cs\\\"}},\\\"end\\\":\\\"(?=[);])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ordering-direction\\\"},{\\\"include\\\":\\\"#query-body\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"ordering-direction\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.$1.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?:a|de)scending)\\\\\\\\b\\\"},\\\"parameter\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.cs\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(ref|params|out|in|this)\\\\\\\\b\\\\\\\\s+)?(?(?:ref\\\\\\\\s+)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\"},\\\"parenthesized-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"parenthesized-parameter-list\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attribute-section\\\"},{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"pattern\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#combinator-pattern\\\"},{\\\"include\\\":\\\"#discard-pattern\\\"},{\\\"include\\\":\\\"#constant-pattern\\\"},{\\\"include\\\":\\\"#relational-pattern\\\"},{\\\"include\\\":\\\"#var-pattern\\\"},{\\\"include\\\":\\\"#type-pattern\\\"},{\\\"include\\\":\\\"#positional-pattern\\\"},{\\\"include\\\":\\\"#property-pattern\\\"},{\\\"include\\\":\\\"#list-pattern\\\"},{\\\"include\\\":\\\"#slice-pattern\\\"}]},\\\"positional-pattern\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\()\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#subpattern\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#property-pattern\\\"},{\\\"include\\\":\\\"#simple-designation-pattern\\\"}]}]},\\\"preprocessor\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.hash.cs\\\"}},\\\"end\\\":\\\"(?<=$)\\\",\\\"name\\\":\\\"meta.preprocessor.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#preprocessor-define-or-undef\\\"},{\\\"include\\\":\\\"#preprocessor-if-or-elif\\\"},{\\\"include\\\":\\\"#preprocessor-else-or-endif\\\"},{\\\"include\\\":\\\"#preprocessor-warning-or-error\\\"},{\\\"include\\\":\\\"#preprocessor-region\\\"},{\\\"include\\\":\\\"#preprocessor-endregion\\\"},{\\\"include\\\":\\\"#preprocessor-load\\\"},{\\\"include\\\":\\\"#preprocessor-r\\\"},{\\\"include\\\":\\\"#preprocessor-line\\\"},{\\\"include\\\":\\\"#preprocessor-pragma-warning\\\"},{\\\"include\\\":\\\"#preprocessor-pragma-checksum\\\"}]},\\\"preprocessor-define-or-undef\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.define.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.undef.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.variable.preprocessor.symbol.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(define)|(undef))\\\\\\\\b\\\\\\\\s*\\\\\\\\b([_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\"},\\\"preprocessor-else-or-endif\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.else.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.endif.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(else)|(endif))\\\\\\\\b\\\"},\\\"preprocessor-endregion\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.endregion.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(endregion)\\\\\\\\b\\\"},\\\"preprocessor-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.boolean.true.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.false.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.variable.preprocessor.symbol.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(true)|(false)|([_[:alpha:]][_[:alnum:]]*))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.comparison.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.logical.cs\\\"}},\\\"match\\\":\\\"([!=]=)|(!|&&|\\\\\\\\|\\\\\\\\|)\\\"}]},\\\"preprocessor-if-or-elif\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?:(if)|(elif))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.if.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.elif.cs\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#preprocessor-expression\\\"}]},\\\"preprocessor-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(line)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.line.cs\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.default.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.hidden.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(default|hidden)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cs\\\"}},\\\"match\\\":\\\"[0-9]+\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"}},\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\"]*\\\\\\\"\\\"}]},\\\"preprocessor-load\\\":{\\\"begin\\\":\\\"\\\\\\\\b(load)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.load.cs\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"}},\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\"]*\\\\\\\"\\\"}]},\\\"preprocessor-pragma-checksum\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.pragma.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.checksum.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(pragma)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(checksum)\\\\\\\\b\\\\\\\\s*(\\\\\\\"[^\\\\\\\"]*\\\\\\\")\\\\\\\\s*(\\\\\\\"[^\\\\\\\"]*\\\\\\\")\\\\\\\\s*(\\\\\\\"[^\\\\\\\"]*\\\\\\\")\\\"},\\\"preprocessor-pragma-warning\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.pragma.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.warning.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.preprocessor.disable.cs\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.preprocessor.restore.cs\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cs\\\"}},\\\"match\\\":\\\"[0-9]+\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(pragma)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(warning)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(?:(disable)|(restore))\\\\\\\\b(\\\\\\\\s*[0-9]+(?:\\\\\\\\s*,\\\\\\\\s*[0-9]+)?)?\\\"},\\\"preprocessor-r\\\":{\\\"begin\\\":\\\"\\\\\\\\b(r)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.r.cs\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"}},\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\"]*\\\\\\\"\\\"}]},\\\"preprocessor-region\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.region.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.preprocessor.message.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(region)\\\\\\\\b\\\\\\\\s*(.*)(?=$)\\\"},\\\"preprocessor-warning-or-error\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.preprocessor.warning.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.preprocessor.error.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.preprocessor.message.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(warning)|(error))\\\\\\\\b\\\\\\\\s*(.*)(?=$)\\\"},\\\"property-accessors\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attribute-section\\\"},{\\\"match\\\":\\\"\\\\\\\\b(private|protected|internal)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.$1.cs\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(get)\\\\\\\\b\\\\\\\\s*(?=[;{]|=>|//|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.accessor.$1.cs\\\"}},\\\"end\\\":\\\"(?<=[;}])|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#accessor-getter\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(set|init)\\\\\\\\b\\\\\\\\s*(?=[;{]|=>|//|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.accessor.$1.cs\\\"}},\\\"end\\\":\\\"(?<=[;}])|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#accessor-setter\\\"}]}]},\\\"property-declaration\\\":{\\\"begin\\\":\\\"(?![[:word:]\\\\\\\\s]*\\\\\\\\b(?:class|interface|struct|enum|event)\\\\\\\\b)(?(?(?:ref\\\\\\\\s+(?:readonly\\\\\\\\s+)?)?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(?\\\\\\\\g)\\\\\\\\s*(?=\\\\\\\\{|=>|//|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"entity.name.variable.property.cs\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property-accessors\\\"},{\\\"include\\\":\\\"#accessor-getter-expression\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#class-or-struct-members\\\"}]},\\\"property-pattern\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#subpattern\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?<=})\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#simple-designation-pattern\\\"}]}]},\\\"punctuation-accessor\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.cs\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.cs\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.cs\\\"},\\\"query-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#let-clause\\\"},{\\\"include\\\":\\\"#where-clause\\\"},{\\\"include\\\":\\\"#join-clause\\\"},{\\\"include\\\":\\\"#orderby-clause\\\"},{\\\"include\\\":\\\"#select-clause\\\"},{\\\"include\\\":\\\"#group-clause\\\"}]},\\\"query-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\b(from)\\\\\\\\b\\\\\\\\s*(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)?\\\\\\\\s+(\\\\\\\\g)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(in)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.from.cs\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.range-variable.cs\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.expression.query.in.cs\\\"}},\\\"end\\\":\\\"(?=[);])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#query-body\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"raw-interpolated-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#raw-interpolated-string-five-or-more-quote-one-or-more-interpolation\\\"},{\\\"include\\\":\\\"#raw-interpolated-string-three-or-more-quote-three-or-more-interpolation\\\"},{\\\"include\\\":\\\"#raw-interpolated-string-quadruple-quote-double-interpolation\\\"},{\\\"include\\\":\\\"#raw-interpolated-string-quadruple-quote-single-interpolation\\\"},{\\\"include\\\":\\\"#raw-interpolated-string-triple-quote-double-interpolation\\\"},{\\\"include\\\":\\\"#raw-interpolated-string-triple-quote-single-interpolation\\\"}]},\\\"raw-interpolated-string-five-or-more-quote-one-or-more-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\$+\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"+\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"raw-interpolated-string-quadruple-quote-double-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\$\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-raw-interpolation\\\"}]},\\\"raw-interpolated-string-quadruple-quote-single-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw-interpolation\\\"}]},\\\"raw-interpolated-string-three-or-more-quote-three-or-more-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\$\\\\\\\\$+\\\\\\\"\\\\\\\"\\\\\\\"+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"+\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"raw-interpolated-string-triple-quote-double-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\$\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-raw-interpolation\\\"}]},\\\"raw-interpolated-string-triple-quote-single-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw-interpolation\\\"}]},\\\"raw-interpolation\\\":{\\\"begin\\\":\\\"(?<=[^{]|^)(\\\\\\\\{*)(\\\\\\\\{)(?=[^{])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.begin.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.end.cs\\\"}},\\\"name\\\":\\\"meta.interpolation.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"raw-string-literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#raw-string-literal-more\\\"},{\\\"include\\\":\\\"#raw-string-literal-quadruple\\\"},{\\\"include\\\":\\\"#raw-string-literal-triple\\\"}]},\\\"raw-string-literal-more\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"+\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"raw-string-literal-quadruple\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"raw-string-literal-triple\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\"},\\\"readonly-modifier\\\":{\\\"match\\\":\\\"\\\\\\\\breadonly\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.readonly.cs\\\"},\\\"record-declaration\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\brecord\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(record)\\\\\\\\b\\\\\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.record.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.cs\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameter-list\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#base-types\\\"},{\\\"include\\\":\\\"#generic-constraints\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-or-struct-members\\\"}]},{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"ref-modifier\\\":{\\\"match\\\":\\\"\\\\\\\\bref\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ref.cs\\\"},\\\"relational-pattern\\\":{\\\"begin\\\":\\\"<=?|>=?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.relational.cs\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"return-statement\\\":{\\\"begin\\\":\\\"(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.arrow.cs\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(when)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.when.cs\\\"}},\\\"end\\\":\\\"(?==>|[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case-guard\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\s)\\\",\\\"end\\\":\\\"(?=\\\\\\\\bwhen\\\\\\\\b|=>|[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"}]}]},\\\"switch-label\\\":{\\\"begin\\\":\\\"\\\\\\\\b(case|default)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.$1.cs\\\"}},\\\"end\\\":\\\"(:)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(when)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.when.cs\\\"}},\\\"end\\\":\\\"(?=[:}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case-guard\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\s)\\\",\\\"end\\\":\\\"(?=\\\\\\\\bwhen\\\\\\\\b|[:}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pattern\\\"}]}]},\\\"switch-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.cs\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-label\\\"},{\\\"include\\\":\\\"#statement\\\"}]}]},\\\"switch-statement-or-expression\\\":{\\\"begin\\\":\\\"(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\))\\\\\\\\s*(?!=[=>])(?==)\\\"},\\\"tuple-deconstruction-element-list\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#tuple-deconstruction-element-list\\\"},{\\\"include\\\":\\\"#declaration-expression-tuple\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\\\\\\s*(?=[),])\\\"}]},\\\"tuple-element\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.variable.tuple-element.cs\\\"}},\\\"match\\\":\\\"(?(?:(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*|(?\\\\\\\\s*\\\\\\\\((?:[^()]|\\\\\\\\g)+\\\\\\\\)))(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*\\\\\\\\??\\\\\\\\s*)*)(?:(?\\\\\\\\g)\\\\\\\\b)?\\\"},\\\"tuple-literal\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(?=.*[,:])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#tuple-literal-element\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"tuple-literal-element\\\":{\\\"begin\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.tuple-element.cs\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.colon.cs\\\"}}},\\\"tuple-type\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tuple-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#ref-modifier\\\"},{\\\"include\\\":\\\"#readonly-modifier\\\"},{\\\"include\\\":\\\"#tuple-type\\\"},{\\\"include\\\":\\\"#type-builtin\\\"},{\\\"include\\\":\\\"#type-name\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#type-array-suffix\\\"},{\\\"include\\\":\\\"#type-nullable-suffix\\\"},{\\\"include\\\":\\\"#type-pointer-suffix\\\"}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.cs\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-array-suffix\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.squarebracket.open.cs\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.squarebracket.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.$1.cs\\\"}},\\\"match\\\":\\\"\\\\\\\\b(bool|s?byte|u?short|n?u?int|u?long|float|double|decimal|char|string|object|void|dynamic)\\\\\\\\b\\\"},\\\"type-declarations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#storage-modifier\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#delegate-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#struct-declaration\\\"},{\\\"include\\\":\\\"#record-declaration\\\"},{\\\"include\\\":\\\"#attribute-section\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.alias.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.coloncolon.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(::)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\.)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.cs\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.cs\\\"}]},\\\"type-nullable-suffix\\\":{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"punctuation.separator.question-mark.cs\\\"},\\\"type-operator-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\b(default|sizeof|typeof)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.$1.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.cs\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.cs\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"type-parameter-list\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.cs\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.cs\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(in|out)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.$1.cs\\\"},{\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.type-parameter.cs\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#attribute-section\\\"}]},\\\"type-pattern\\\":{\\\"begin\\\":\\\"(?=@?[_[:alpha:]][_[:alnum:]]*)\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?!\\\\\\\\G[@_[:alpha:]])(?=[]\\\\\\\\&(),:;=@^_{|}[:alpha:]]|(?:\\\\\\\\s|^)\\\\\\\\?|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#type-subpattern\\\"}]},{\\\"begin\\\":\\\"(?=[(@_{[:alpha:]])\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=?^|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"include\\\":\\\"#positional-pattern\\\"},{\\\"include\\\":\\\"#property-pattern\\\"},{\\\"include\\\":\\\"#simple-designation-pattern\\\"}]}]},\\\"type-pointer-suffix\\\":{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"punctuation.separator.asterisk.cs\\\"},\\\"type-subpattern\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-builtin\\\"},{\\\"begin\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(::)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.alias.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.coloncolon.cs\\\"}},\\\"end\\\":\\\"(?<=[_[:alnum:]])|(?=[]\\\\\\\\&(),.:-=?\\\\\\\\[^{|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.cs\\\"}]},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.cs\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.accessor.cs\\\"}},\\\"end\\\":\\\"(?<=[_[:alnum:]])|(?=[]\\\\\\\\&(),:-=?\\\\\\\\[^{|}]|!=|\\\\\\\\b(and|or|when)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#intrusive\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.cs\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#type-array-suffix\\\"},{\\\"match\\\":\\\"(?])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cs\\\"}},\\\"end\\\":\\\"(?=[]),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ref-modifier\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"verbatim-interpolated-string\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\$@|@\\\\\\\\$)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"(?=[^\\\\\\\"])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#verbatim-string-character-escape\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"verbatim-string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.cs\\\"},\\\"verbatim-string-literal\\\":{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"(?=[^\\\\\\\"])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#verbatim-string-character-escape\\\"}]},\\\"when-clause\\\":{\\\"begin\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.unquoted.cdata.cs\\\"},\\\"xml-character-entity\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.cs\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.cs\\\"}},\\\"match\\\":\\\"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\\\\\d+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.cs\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.cs\\\"}]},\\\"xml-comment\\\":{\\\"begin\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cs\\\"}},\\\"name\\\":\\\"comment.block.cs\\\"},\\\"xml-doc-comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-comment\\\"},{\\\"include\\\":\\\"#xml-character-entity\\\"},{\\\"include\\\":\\\"#xml-cdata\\\"},{\\\"include\\\":\\\"#xml-tag\\\"}]},\\\"xml-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.single.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-character-entity\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cs\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cs\\\"}},\\\"name\\\":\\\"string.quoted.double.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-character-entity\\\"}]}]},\\\"xml-tag\\\":{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.cs\\\"}},\\\"name\\\":\\\"meta.tag.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-attribute\\\"}]},\\\"yield-break-statement\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.yield.cs\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.flow.break.cs\\\"}},\\\"match\\\":\\\"(?=|[*/<>]|and|append|as-contract|as-max-len\\\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\\\?|contract-of|default-to|element-at\\\\???|filter|fold|from-consensus-buff\\\\?|ft-burn\\\\?|ft-get-balance|ft-get-supply|ft-mint\\\\?|ft-transfer\\\\?|get-block-info\\\\?|get-burn-block-info\\\\?|get-stacks-block-info\\\\?|get-tenure-info\\\\?|get-burn-block-info\\\\?|hash160|if|impl-trait|index-of\\\\???|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\\\?|nft-get-owner\\\\?|nft-mint\\\\?|nft-transfer\\\\?|not|or|pow|principal-construct\\\\?|principal-destruct\\\\?|principal-of\\\\?|print|replace-at\\\\?|secp256k1-recover\\\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\\\?|sqrti|string-to-int\\\\?|string-to-uint\\\\?|stx-account|stx-burn\\\\?|stx-get-balance|stx-transfer-memo\\\\?|stx-transfer\\\\?|to-consensus-buff\\\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\\\\s+","beginCaptures":{"1":{"name":"punctuation.built-in-function.start.clarity"},"2":{"name":"keyword.declaration.built-in-function.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.built-in-function.end.clarity"}},"name":"meta.built-in-function","patterns":[{"include":"#expression"},{"include":"#user-func"}]},"comment":{"match":"(?<=^|[]\\"'(),;\\\\[\`{}\\\\s])(;).*$","name":"comment.line.semicolon.clarity"},"data-type":{"patterns":[{"include":"#comment"},{"match":"\\\\b(u?int)\\\\b","name":"entity.name.type.numeric.clarity"},{"match":"\\\\b(principal)\\\\b","name":"entity.name.type.principal.clarity"},{"match":"\\\\b(bool)\\\\b","name":"entity.name.type.bool.clarity"},{"captures":{"1":{"name":"punctuation.string_type-def.start.clarity"},"2":{"name":"entity.name.type.string_type.clarity"},"3":{"name":"constant.numeric.string_type-len.clarity"},"4":{"name":"punctuation.string_type-def.end.clarity"}},"match":"(\\\\()\\\\s*(string-(?:ascii|utf8))\\\\s+(\\\\d+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"punctuation.buff-def.start.clarity"},"2":{"name":"entity.name.type.buff.clarity"},"3":{"name":"constant.numeric.buf-len.clarity"},"4":{"name":"punctuation.buff-def.end.clarity"}},"match":"(\\\\()\\\\s*(buff)\\\\s+(\\\\d+)\\\\s*(\\\\))"},{"begin":"(\\\\()\\\\s*(optional)\\\\s+","beginCaptures":{"1":{"name":"punctuation.optional-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.optional-def.end.clarity"}},"name":"meta.optional-def","patterns":[{"include":"#data-type"}]},{"begin":"(\\\\()\\\\s*(response)\\\\s+","beginCaptures":{"1":{"name":"punctuation.response-def.start.clarity"},"2":{"name":"storage.type.modifier"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.response-def.end.clarity"}},"name":"meta.response-def","patterns":[{"include":"#data-type"}]},{"begin":"(\\\\()\\\\s*(list)\\\\s+(\\\\d+)\\\\s+","beginCaptures":{"1":{"name":"punctuation.list-def.start.clarity"},"2":{"name":"entity.name.type.list.clarity"},"3":{"name":"constant.numeric.list-len.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.list-def.end.clarity"}},"name":"meta.list-def","patterns":[{"include":"#data-type"}]},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.tuple-def.start.clarity"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.tuple-def.end.clarity"}},"name":"meta.tuple-def","patterns":[{"match":"([A-Za-z][-!?\\\\w]*)(?=:)","name":"entity.name.tag.tuple-data-type-key.clarity"},{"include":"#data-type"}]}]},"define-constant":{"begin":"(\\\\()\\\\s*(define-constant)\\\\s+([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.define-constant.start.clarity"},"2":{"name":"keyword.declaration.define-constant.clarity"},"3":{"name":"entity.name.constant-name.clarity variable.other.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-constant.end.clarity"}},"name":"meta.define-constant","patterns":[{"include":"#expression"}]},"define-data-var":{"begin":"(\\\\()\\\\s*(define-data-var)\\\\s+([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.define-data-var.start.clarity"},"2":{"name":"keyword.declaration.define-data-var.clarity"},"3":{"name":"entity.name.data-var-name.clarity variable.other.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-data-var.end.clarity"}},"name":"meta.define-data-var","patterns":[{"include":"#data-type"},{"include":"#expression"}]},"define-function":{"begin":"(\\\\()\\\\s*(define-(?:public|private|read-only))\\\\s+","beginCaptures":{"1":{"name":"punctuation.define-function.start.clarity"},"2":{"name":"keyword.declaration.define-function.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-function.end.clarity"}},"name":"meta.define-function","patterns":[{"include":"#expression"},{"begin":"(\\\\()\\\\s*([A-Za-z][-!?\\\\w]*)\\\\s*","beginCaptures":{"1":{"name":"punctuation.function-signature.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.function-signature.end.clarity"}},"name":"meta.define-function-signature","patterns":[{"begin":"(\\\\()\\\\s*([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.function-argument.start.clarity"},"2":{"name":"variable.parameter.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.function-argument.end.clarity"}},"name":"meta.function-argument","patterns":[{"include":"#data-type"}]}]},{"include":"#user-func"}]},"define-fungible-token":{"captures":{"1":{"name":"punctuation.define-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-fungible-token.clarity"},"3":{"name":"entity.name.fungible-token-name.clarity variable.other.clarity"},"4":{"name":"constant.numeric.fungible-token-total-supply.clarity"},"5":{"name":"punctuation.define-fungible-token.end.clarity"}},"match":"(\\\\()\\\\s*(define-fungible-token)\\\\s+([A-Za-z][-!?\\\\w]*)(?:\\\\s+(u\\\\d+))?"},"define-map":{"begin":"(\\\\()\\\\s*(define-map)\\\\s+([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.define-map.start.clarity"},"2":{"name":"keyword.declaration.define-map.clarity"},"3":{"name":"entity.name.map-name.clarity variable.other.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-map.end.clarity"}},"name":"meta.define-map","patterns":[{"include":"#data-type"},{"include":"#expression"}]},"define-non-fungible-token":{"begin":"(\\\\()\\\\s*(define-non-fungible-token)\\\\s+([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.define-non-fungible-token.start.clarity"},"2":{"name":"keyword.declaration.define-non-fungible-token.clarity"},"3":{"name":"entity.name.non-fungible-token-name.clarity variable.other.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-non-fungible-token.end.clarity"}},"name":"meta.define-non-fungible-token","patterns":[{"include":"#data-type"}]},"define-trait":{"begin":"(\\\\()\\\\s*(define-trait)\\\\s+([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.define-trait.start.clarity"},"2":{"name":"keyword.declaration.define-trait.clarity"},"3":{"name":"entity.name.trait-name.clarity variable.other.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-trait.end.clarity"}},"name":"meta.define-trait","patterns":[{"begin":"(\\\\()\\\\s*","beginCaptures":{"1":{"name":"punctuation.define-trait-body.start.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.define-trait-body.end.clarity"}},"name":"meta.define-trait-body","patterns":[{"include":"#expression"},{"begin":"(\\\\()\\\\s*([A-Za-z][-!?\\\\w]*)\\\\s+","beginCaptures":{"1":{"name":"punctuation.trait-function.start.clarity"},"2":{"name":"entity.name.function.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.trait-function.end.clarity"}},"name":"meta.trait-function","patterns":[{"include":"#data-type"},{"begin":"(\\\\()\\\\s*","beginCaptures":{"1":{"name":"punctuation.trait-function-args.start.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.trait-function-args.end.clarity"}},"name":"meta.trait-function-args","patterns":[{"include":"#data-type"}]}]}]}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#literal"},{"include":"#let-func"},{"include":"#built-in-func"},{"include":"#get-set-func"}]},"get-set-func":{"begin":"(\\\\()\\\\s*(var-get|var-set|map-get\\\\?|map-set|map-insert|map-delete|get)\\\\s+([A-Za-z][-!?\\\\w]*)\\\\s*","beginCaptures":{"1":{"name":"punctuation.get-set-func.start.clarity"},"2":{"name":"keyword.control.clarity"},"3":{"name":"variable.other.clarity"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.get-set-func.end.clarity"}},"name":"meta.get-set-func","patterns":[{"include":"#expression"}]},"keyword":{"match":"(?=|[*/<>]|and|append|as-contract|as-max-len\\\\\\\\?|asserts!|at-block|begin|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|buff-to-int-be|buff-to-int-le|buff-to-uint-be|buff-to-uint-le|concat|contract-call\\\\\\\\?|contract-of|default-to|element-at\\\\\\\\???|filter|fold|from-consensus-buff\\\\\\\\?|ft-burn\\\\\\\\?|ft-get-balance|ft-get-supply|ft-mint\\\\\\\\?|ft-transfer\\\\\\\\?|get-block-info\\\\\\\\?|get-burn-block-info\\\\\\\\?|get-stacks-block-info\\\\\\\\?|get-tenure-info\\\\\\\\?|get-burn-block-info\\\\\\\\?|hash160|if|impl-trait|index-of\\\\\\\\???|int-to-ascii|int-to-utf8|is-eq|is-err|is-none|is-ok|is-some|is-standard|keccak256|len|log2|map|match|merge|mod|nft-burn\\\\\\\\?|nft-get-owner\\\\\\\\?|nft-mint\\\\\\\\?|nft-transfer\\\\\\\\?|not|or|pow|principal-construct\\\\\\\\?|principal-destruct\\\\\\\\?|principal-of\\\\\\\\?|print|replace-at\\\\\\\\?|secp256k1-recover\\\\\\\\?|secp256k1-verify|sha256|sha512|sha512/256|slice\\\\\\\\?|sqrti|string-to-int\\\\\\\\?|string-to-uint\\\\\\\\?|stx-account|stx-burn\\\\\\\\?|stx-get-balance|stx-transfer-memo\\\\\\\\?|stx-transfer\\\\\\\\?|to-consensus-buff\\\\\\\\?|to-int|to-uint|try!|unwrap!|unwrap-err!|unwrap-err-panic|unwrap-panic|xor)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.built-in-function.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.built-in-function.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.built-in-function.end.clarity\\\"}},\\\"name\\\":\\\"meta.built-in-function\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#user-func\\\"}]},\\\"comment\\\":{\\\"match\\\":\\\"(?<=^|[]\\\\\\\"'(),;\\\\\\\\[`{}\\\\\\\\s])(;).*$\\\",\\\"name\\\":\\\"comment.line.semicolon.clarity\\\"},\\\"data-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\b(u?int)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.numeric.clarity\\\"},{\\\"match\\\":\\\"\\\\\\\\b(principal)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.principal.clarity\\\"},{\\\"match\\\":\\\"\\\\\\\\b(bool)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.bool.clarity\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.string_type-def.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.string_type.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.string_type-len.clarity\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.string_type-def.end.clarity\\\"}},\\\"match\\\":\\\"(\\\\\\\\()\\\\\\\\s*(string-(?:ascii|utf8))\\\\\\\\s+(\\\\\\\\d+)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.buff-def.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.buff.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.buf-len.clarity\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.buff-def.end.clarity\\\"}},\\\"match\\\":\\\"(\\\\\\\\()\\\\\\\\s*(buff)\\\\\\\\s+(\\\\\\\\d+)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(optional)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.optional-def.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.modifier\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.optional-def.end.clarity\\\"}},\\\"name\\\":\\\"meta.optional-def\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(response)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.response-def.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.modifier\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.response-def.end.clarity\\\"}},\\\"name\\\":\\\"meta.response-def\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(list)\\\\\\\\s+(\\\\\\\\d+)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.list-def.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.list.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.list-len.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.list-def.end.clarity\\\"}},\\\"name\\\":\\\"meta.list-def\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.tuple-def.start.clarity\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.tuple-def.end.clarity\\\"}},\\\"name\\\":\\\"meta.tuple-def\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([A-Za-z][-!?\\\\\\\\w]*)(?=:)\\\",\\\"name\\\":\\\"entity.name.tag.tuple-data-type-key.clarity\\\"},{\\\"include\\\":\\\"#data-type\\\"}]}]},\\\"define-constant\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-constant)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-constant.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-constant.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.constant-name.clarity variable.other.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-constant.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-constant\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"define-data-var\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-data-var)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-data-var.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-data-var.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.data-var-name.clarity variable.other.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-data-var.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-data-var\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"define-function\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-(?:public|private|read-only))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-function.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-function.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-function.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-function\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.function-signature.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.function-signature.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-function-signature\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.function-argument.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.function-argument.end.clarity\\\"}},\\\"name\\\":\\\"meta.function-argument\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"}]}]},{\\\"include\\\":\\\"#user-func\\\"}]},\\\"define-fungible-token\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-fungible-token.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-fungible-token.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.fungible-token-name.clarity variable.other.clarity\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.fungible-token-total-supply.clarity\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.define-fungible-token.end.clarity\\\"}},\\\"match\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-fungible-token)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)(?:\\\\\\\\s+(u\\\\\\\\d+))?\\\"},\\\"define-map\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-map)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-map.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-map.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.map-name.clarity variable.other.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-map.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-map\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"define-non-fungible-token\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-non-fungible-token)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-non-fungible-token.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-non-fungible-token.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.non-fungible-token-name.clarity variable.other.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-non-fungible-token.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-non-fungible-token\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"}]},\\\"define-trait\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(define-trait)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-trait.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.define-trait.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.trait-name.clarity variable.other.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-trait.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-trait\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-trait-body.start.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.define-trait-body.end.clarity\\\"}},\\\"name\\\":\\\"meta.define-trait-body\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.trait-function.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.trait-function.end.clarity\\\"}},\\\"name\\\":\\\"meta.trait-function\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.trait-function-args.start.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.trait-function-args.end.clarity\\\"}},\\\"name\\\":\\\"meta.trait-function-args\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-type\\\"}]}]}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#let-func\\\"},{\\\"include\\\":\\\"#built-in-func\\\"},{\\\"include\\\":\\\"#get-set-func\\\"}]},\\\"get-set-func\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(var-get|var-set|map-get\\\\\\\\?|map-set|map-insert|map-delete|get)\\\\\\\\s+([A-Za-z][-!?\\\\\\\\w]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.get-set-func.start.clarity\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.clarity\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.clarity\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.get-set-func.end.clarity\\\"}},\\\"name\\\":\\\"meta.get-set-func\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"keyword\\\":{\\\"match\\\":\\\"(?)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl","embeddedLangs":["xml"]}`, + ), + ), + m = [...e, n] +export { m as default } +//# sourceMappingURL=chunk-CJOTNe-S.js.map diff --git a/src/webview-ui/build/assets/chunk-CJOTNe-S.js.map b/src/webview-ui/build/assets/chunk-CJOTNe-S.js.map new file mode 100644 index 0000000000..12194562c6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CJOTNe-S.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-CJOTNe-S.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/xsl.mjs" + ], + "sourcesContent": [ + "import xml from './xml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"XSL\\\",\\\"name\\\":\\\"xsl\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(xsl)((:))(template)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.xml.template\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.localname.xml\\\"}},\\\"match\\\":\\\" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)\\\"},{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]},{\\\"include\\\":\\\"text.xml\\\"}],\\\"repository\\\":{\\\"doublequotedString\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.double.xml\\\"},\\\"singlequotedString\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.single.xml\\\"}},\\\"scopeName\\\":\\\"text.xml.xsl\\\",\\\"embeddedLangs\\\":[\\\"xml\\\"]}\"))\n\nexport default [\n...xml,\nlang\n]\n" + ], + "names": [ + "lang", + "xsl", + "xml" + ], + "mappings": "+DAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,wuCAAk5C,CAAC,EAE16CC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CJc9bBzg.js b/src/webview-ui/build/assets/chunk-CJc9bBzg.js new file mode 100644 index 0000000000..8dc3249a1a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CJc9bBzg.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Vim Script","name":"viml","patterns":[{"include":"#comment"},{"include":"#constant"},{"include":"#entity"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#storage"},{"include":"#strings"},{"include":"#support"},{"include":"#variable"},{"include":"#syntax"},{"include":"#commands"},{"include":"#option"},{"include":"#map"}],"repository":{"commands":{"patterns":[{"match":"\\\\bcom([!\\\\s])","name":"storage.other.command.viml"},{"match":"\\\\bau([!\\\\s])","name":"storage.other.command.viml"},{"match":"-bang","name":"storage.other.command.bang.viml"},{"match":"-nargs=[*+0-9]+","name":"storage.other.command.args.viml"},{"match":"-complete=\\\\S+","name":"storage.other.command.completion.viml"},{"begin":"(aug(roup)?)","end":"(augroup\\\\sEND|$)","name":"support.function.augroup.viml"}]},"comment":{"patterns":[{"begin":"((\\\\s+)?\\"\\"\\")","end":"^(?!\\")","name":"comment.block.documentation.viml"},{"match":"^\\"\\\\svim:.*","name":"comment.block.modeline.viml"},{"begin":"(\\\\s+\\"\\\\s+)(?!\\")","end":"$","name":"comment.line.viml","patterns":[{"match":"\\\\{\\\\{\\\\{\\\\d?$","name":"comment.line.foldmarker.viml"},{"match":"}}}\\\\d?","name":"comment.line.foldmarker.viml"}]},{"begin":"^(\\\\s+)?\\"","end":"$","name":"comment.line.viml","patterns":[{"match":"\\\\{\\\\{\\\\{\\\\d?$","name":"comment.line.foldmarker.viml"},{"match":"}}}\\\\d?","name":"comment.line.foldmarker.viml"}]}]},"constant":{"patterns":[{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.viml"},{"match":"\\\\b([0-9]+)\\\\b","name":"constant.numeric.viml"}]},"entity":{"patterns":[{"match":"(([abgs]:)?[#.0-9A-Z_a-z]{2,})\\\\b(?=\\\\()","name":"entity.name.function.viml"}]},"keyword":{"patterns":[{"match":"\\\\b(if|while|for|return|au(g(?:|roup))|else(if|)?|do|in)\\\\b","name":"keyword.control.viml"},{"match":"\\\\b(end(?:|if|for|while))\\\\s|$","name":"keyword.control.viml"},{"match":"\\\\b(break|continue|try|catch|endtry|finally|finish|throw|range)\\\\b","name":"keyword.control.viml"},{"match":"\\\\b(func??|function|endfunction|endfunc)\\\\b","name":"keyword.function.viml"},{"match":"\\\\b(normal|silent)\\\\b","name":"keyword.other.viml"},{"include":"#operators"}]},"map":{"patterns":[{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.map.viml"}},"end":"([>\\\\s])","endCaptures":{"1":{"name":"punctuation.definition.map.viml"}},"patterns":[{"match":"(?<=:\\\\s)(.+)","name":"constant.character.map.rhs.viml"},{"match":"(?i:(bang|buffer|expr|nop|plug|sid|silent))","name":"constant.character.map.special.viml"},{"match":"(?i:([acdms]-\\\\w))","name":"constant.character.map.key.viml"},{"match":"(?i:(F[0-9]+))","name":"constant.character.map.key.fn.viml"},{"match":"(?i:(bs|bar|cr|del|down|esc|left|right|space|tab|up|leader))","name":"constant.character.map.viml"}]},{"match":"\\\\b(([cinostvx]?(nore)?map))\\\\b","name":"storage.type.map.viml"}]},"operators":{"patterns":[{"match":"([!#+=?\\\\\\\\~])","name":"keyword.operator.viml"},{"match":" ([-.:]|[\\\\&|]{2})( |$)","name":"keyword.operator.viml"},{"match":"(\\\\.{3})","name":"keyword.operator.viml"},{"match":"( [<>] )","name":"keyword.operator.viml"},{"match":"(>=)","name":"keyword.operator.viml"}]},"option":{"patterns":[{"match":"&?\\\\b(al|aleph|anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|ambw|ambiwidth|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bg|background|bs|backspace|bk|backup|bkc|backupcopy|bdir|backupdir|bex|backupext|bsk|backupskip|bdlay|balloondelay|beval|ballooneval|bevalterm|balloonevalterm|bexpr|balloonexpr|bo|belloff|bin|binary|bomb|brk|breakat|bri|breakindent|briopt|breakindentopt|bsdir|browsedir|bh|bufhidden|bl|buflisted|bt|buftype|cmp|casemap|cd|cdpath|cedit|ccv|charconvert|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|cb|clipboard|ch|cmdheight|cwh|cmdwinheight|cc|colorcolumn|co|columns|com|comments|cms|commentstring|cp|compatible|cpt|complete|cocu|concealcursor|cole|conceallevel|cfu|completefunc|cot|completeopt|cf|confirm|ci|copyindent|cpo|cpoptions|cm|cryptmethod|cspc|cscopepathcomp|csprg|cscopeprg|csqf|cscopequickfix|csre|cscoperelative|cst|cscopetag|csto|cscopetagorder|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|debug|def|define|deco|delcombine|dict|dictionary|diff|dex|diffexpr|dip|diffopt|dg|digraph|dir|directory|dy|display|ead|eadirection|ed|edcompatible|emo|emoji|enc|encoding|eol|endofline|ea|equalalways|ep|equalprg|eb|errorbells|ef|errorfile|efm|errorformat|ek|esckeys|ei|eventignore|et|expandtab|ex|exrc|fenc|fileencoding|fencs|fileencodings|ff|fileformat|ffs|fileformats|fic|fileignorecase|ft|filetype|fcs|fillchars|fixeol|fixendofline|fk|fkmap|fcl|foldclose|fdc|foldcolumn|fen|foldenable|fde|foldexpr|fdi|foldignore|fdl|foldlevel|fdls|foldlevelstart|fmr|foldmarker|fdm|foldmethod|fml|foldminlines|fdn|foldnestmax|fdo|foldopen|fdt|foldtext|fex|formatexpr|fo|formatoptions|flp|formatlistpat|fp|formatprg|fs|fsync|gd|gdefault|gfm|grepformat|gp|grepprg|gcr|guicursor|gfn|guifont|gfs|guifontset|gfw|guifontwide|ghr|guiheadroom|go|guioptions|guipty|gtl|guitablabel|gtt|guitabtooltip|hf|helpfile|hh|helpheight|hlg|helplang|hid|hidden|hl|highlight|hi|history|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|iconstring|ic|ignorecase|imaf|imactivatefunc|imak|imactivatekey|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|imsf|imstatusfunc|imst|imstyle|inc|include|inex|includeexpr|is|incsearch|inde|indentexpr|indk|indentkeys|inf|infercase|im|insertmode|isf|isfname|isi|isident|isk|iskeyword|isp|isprint|js|joinspaces|key|kmp|keymap|km|keymodel|kp|keywordprg|lmap|langmap|lm|langmenu|lnr|langnoremap|lrm|langremap|ls|laststatus|lz|lazyredraw|lbr|linebreak|lines|lsp|linespace|lisp|lw|lispwords|list|lcs|listchars|lpl|loadplugins|luadll|macatsui|magic|mef|makeef|menc|makeencoding|mp|makeprg|mps|matchpairs|mat|matchtime|mco|maxcombine|mfd|maxfuncdepth|mmd|maxmapdepth|mm|maxmem|mmp|maxmempattern|mmt|maxmemtot|mis|menuitems|msm|mkspellmem|ml|modeline|mls|modelines|ma|modifiable|mod|modified|more|mousef??|mousefocus|mh|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mzschemedll|mzschemegcdll|mzq|mzquantum|nf|nrformats|nu|number|nuw|numberwidth|ofu|omnifunc|odev|opendevice|opfunc|operatorfunc|pp|packpath|para|paragraphs|paste|pt|pastetoggle|pex|patchexpr|pm|patchmode|pa|path|perldll|pi|preserveindent|pvh|previewheight|pvw|previewwindow|pdev|printdevice|penc|printencoding|pexpr|printexpr|pfn|printfont|pheader|printheader|pmbcs|printmbcharset|pmbfn|printmbfont|popt|printoptions|prompt|ph|pumheight|pythonthreedll|pythondll|pyx|pyxversion|qe|quoteescape|ro|readonly|rdt|redrawtime|re|regexpengine|rnu|relativenumber|remap|rop|renderoptions|report|rs|restorescreen|ri|revins|rl|rightleft|rlc|rightleftcmd|rubydll|ru|ruler|ruf|rulerformat|rtp|runtimepath|scr|scroll|scb|scrollbind|sj|scrolljump|so|scrolloff|sbo|scrollopt|sect|sections|secure|sel|selection|slm|selectmode|ssop|sessionoptions|sh|shell|shcf|shellcmdflag|sp|shellpipe|shq|shellquote|srr|shellredir|ssl|shellslash|stmp|shelltemp|st|shelltype|sxq|shellxquote|sxe|shellxescape|sr|shiftround|sw|shiftwidth|shm|shortmess|sn|shortname|sbr|showbreak|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|stal|showtabline|ss|sidescroll|siso|sidescrolloff|scl|signcolumn|scs|smartcase|si|smartindent|sta|smarttab|sts|softtabstop|spell|spc|spellcapcheck|spf|spellfile|spl|spelllang|sps|spellsuggest|sb|splitbelow|spr|splitright|sol|startofline|stl|statusline|su|suffixes|sua|suffixesadd|swf|swapfile|sws|swapsync|swb|switchbuf|smc|synmaxcol|syn|syntax|tal|tabline|tpm|tabpagemax|ts|tabstop|tbs|tagbsearch|tc|tagcase|tl|taglength|tr|tagrelative|tags??|tgst|tagstack|tcldll|term|tbidi|termbidi|tenc|termencoding|tgc|termguicolors|tk|termkey|tms|termsize|terse|ta|textauto|tx|textmode|tw|textwidth|tsr|thesaurus|top|tildeop|to|timeout|tm|timeoutlen|title|titlelen|titleold|titlestring|tb|toolbar|tbis|toolbariconsize|ttimeout|ttm|ttimeoutlen|tbi|ttybuiltin|tf|ttyfast|ttym|ttymouse|tsl|ttyscroll|tty|ttytype|udir|undodir|udf|undofile|ul|undolevels|ur|undoreload|uc|updatecount|ut|updatetime|vbs|verbose|vfile|verbosefile|vdir|viewdir|vop|viewoptions|vi|viminfo|vif|viminfofile|ve|virtualedit|vb|visualbell|warn|wiv|weirdinvert|ww|whichwrap|wc|wildchar|wcm|wildcharm|wig|wildignore|wic|wildignorecase|wmnu|wildmenu|wim|wildmode|wop|wildoptions|wak|winaltkeys|wi|window|wh|winheight|wfh|winfixheight|wfw|winfixwidth|wmh|winminheight|wmw|winminwidth|winptydll|wiw|winwidth|wrap|wm|wrapmargin|ws|wrapscan|write|wa|writeany|wb|writebackup|wd|writedelay)\\\\b","name":"support.type.option.viml"},{"match":"&?\\\\b(aleph|allowrevins|altkeymap|ambiwidth|autochdir|arabic|arabicshape|autoindent|autoread|autowrite|autowriteall|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|belloff|binary|bomb|breakat|breakindent|breakindentopt|browsedir|bufhidden|buflisted|buftype|casemap|cdpath|cedit|charconvert|cindent|cinkeys|cinoptions|cinwords|clipboard|cmdheight|cmdwinheight|colorcolumn|columns|comments|commentstring|complete|completefunc|completeopt|concealcursor|conceallevel|confirm|copyindent|cpoptions|cscopepathcomp|cscopeprg|cscopequickfix|cscoperelative|cscopetag|cscopetagorder|cscopeverbose|cursorbind|cursorcolumn|cursorline|debug|define|delcombine|dictionary|diff|diffexpr|diffopt|digraph|directory|display|eadirection|encoding|endofline|equalalways|equalprg|errorbells|errorfile|errorformat|eventignore|expandtab|exrc|fileencodings??|fileformats??|fileignorecase|filetype|fillchars|fixendofline|fkmap|foldclose|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldopen|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fsync|gdefault|grepformat|grepprg|guicursor|guifont|guifontset|guifontwide|guioptions|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hidden|hlsearch|history|hkmapp??|icon|iconstring|ignorecase|imcmdline|imdisable|iminsert|imsearch|include|includeexpr|incsearch|indentexpr|indentkeys|infercase|insertmode|isfname|isident|iskeyword|isprint|joinspaces|keymap|keymodel|keywordprg|langmap|langmenu|langremap|laststatus|lazyredraw|linebreak|lines|linespace|lisp|lispwords|list|listchars|loadplugins|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|menuitems|mkspellmem|modelines??|modifiable|modified|more|mouse|mousefocus|mousehide|mousemodel|mouseshape|mousetime|nrformats|number|numberwidth|omnifunc|opendevice|operatorfunc|packpath|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|perldll|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pumheight|pythondll|pythonthreedll|quoteescape|readonly|redrawtime|regexpengine|relativenumber|remap|report|revins|rightleft|rightleftcmd|rubydll|ruler|rulerformat|runtimepath|scroll|scrollbind|scrolljump|scrolloff|scrollopt|sections|secure|selection|selectmode|sessionoptions|shada|shell|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shellxescape|shellxquote|shiftround|shiftwidth|shortmess|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|sidescroll|sidescrolloff|signcolumn|smartcase|smartindent|smarttab|softtabstop|spell|spellcapcheck|spellfile|spelllang|spellsuggest|splitbelow|splitright|startofline|statusline|suffixes|suffixesadd|swapfile|switchbuf|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|tagcase|taglength|tagrelative|tags|tagstack|term|termbidi|terse|textwidth|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|ttimeout|ttimeoutlen|ttytype|undodir|undofile|undolevels|undoreload|updatecount|updatetime|verbose|verbosefile|viewdir|viewoptions|virtualedit|visualbell|warn|whichwrap|wildcharm??|wildignore|wildignorecase|wildmenu|wildmode|wildoptions|winaltkeys|window|winheight|winfixheight|winfixwidth|winminheight|winminwidth|winwidth|wrap|wrapmargin|wrapscan|write|writeany|writebackup|writedelay)\\\\b","name":"support.type.option.viml"},{"match":"&?\\\\b(al|ari|akm|ambw|acd|arab|arshape|ai|ar|awa??|bg|bs|bkc??|bdir|bex|bsk|bdlay|beval|bexpr|bo|bin|bomb|brk|bri|briopt|bsdir|bh|bl|bt|cmp|cd|cedit|ccv|cink??|cino|cinw|cb|ch|cwh|cc|com??|cms|cpt|cfu|cot|cocu|cole|cf|ci|cpo|cspc|csprg|csqf|csre|csto??|cpo|crb|cuc|cul|debug|def|deco|dict|diff|dex|dip|dg|dir|dy|ead|enc|eol|ea|ep|eb|efm??|ei|et|ex|fencs??|ffs??|fic|ft|fcs|fixeol|fk|fcl|fdc|fen|fde|fdi|fdls??|fmr|fdm|fml|fdn|fdo|fdt|fex|flp|fo|fp|fs|gd|gfm|gp|gcr|gfn|gfs|gfw|go|gtl|gtt|hf|hh|hlg|hid|hls|hi|hkp??|icon|iconstring|ic|imc|imd|imi|ims|inc|inex|is|inde|indk|inf|im|isf|isi|isk|isp|js|kmp?|kp|lmap|lm|lrm|ls|lz|lbr|lines|lsp|lisp|lw|list|lcs|lpl|magic|mef|mps??|mat|mco|mfd|mmd?|mmp|mmt|mis|msm|mls??|ma|mod|more|mousef??|mh|mousem|mouses|mouset|nf|nuw??|ofu|odev|opfunc|pp|para|paste|pt|pex|pm|pa|perldll|pi|pvh|pvw|pdev|penc|pexpr|pfn|pheader|pmbcs|pmbfn|popt|prompt|ph|pythondll|pythonthreedlll|qe|ro|rdt|re|rnu|remap|report|ri|rlc??|rubydll|ruf??|rtp|scr|scb|sj|so|sbo|sect|secure|sel|slm|ssop|sd|sh|shcf|sp|shq|srr|ssl|stmp|sxe|sxq|sr|sw|shm|sbr|sc|sft|smd??|stal|ss|siso|scl|scs|si|sta|sts|spell|spc|spf|spl|sps|sb|spr|sol|stl|sua??|swf|swb|smc|syn|tal|tpm|ts|tbs|tc|tl|tr|tag|tgst|term|tbidi|terse|tw|tsr|top?|tm|title|titlelen|titleold|titlestring|ttimeout|ttm|tty|udir|udf|ul|ur|uc|ut|vbs|vfile|vdir|vop|ve|vb|warn|ww|wcm??|wig|wic|wmnu|wim|wop|wak|wi|wh|wfh|wfw|wmh|wmw|wiw|wrap|wm|ws|write|wa|wb|wd)\\\\b","name":"support.type.option.shortname.viml"},{"match":"\\\\b(no(?:anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bk|backup|beval|ballooneval|bevalterm|balloonevalterm|bin|binary|bomb|bri|breakindent|bl|buflisted|cin|cindent|cp|compatible|cf|confirm|ci|copyindent|csre|cscoperelative|cst|cscopetag|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|deco|delcombine|diff|dg|digraph|ed|edcompatible|emo|emoji|eol|endofline|ea|equalalways|eb|errorbells|ek|esckeys|et|expandtab|ex|exrc|fic|fileignorecase|fixeol|fixendofline|fk|fkmap|fen|foldenable|fs|fsync|gd|gdefault|guipty|hid|hidden|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|ic|ignorecase|imc|imcmdline|imd|imdisable|is|incsearch|inf|infercase|im|insertmode|js|joinspaces|lnr|langnoremap|lrm|langremap|lz|lazyredraw|lbr|linebreak|lisp|list|lpl|loadplugins|macatsui|magic|ml|modeline|ma|modifiable|mod|modified|more|mousef|mousefocus|mh|mousehide|nu|number|odev|opendevice|paste|pi|preserveindent|pvw|previewwindow|prompt|ro|readonly|rnu|relativenumber|rs|restorescreen|ri|revins|rl|rightleft|ru|ruler|scb|scrollbind|secure|ssl|shellslash|stmp|shelltemp|sr|shiftround|sn|shortname|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|scs|smartcase|si|smartindent|sta|smarttab|spell|sb|splitbelow|spr|splitright|sol|startofline|swf|swapfile|tbs|tagbsearch|tr|tagrelative|tgst|tagstack|tbidi|termbidi|tgc|termguicolors|terse|ta|textauto|tx|textmode|top|tildeop|to|timeout|title|ttimeout|tbi|ttybuiltin|tf|ttyfast|udf|undofile|vb|visualbell|warn|wiv|weirdinvert|wic|wildignorecase|wmnu|wildmenu|wfh|winfixheight|wfw|winfixwidth|wrapscan|wrap|ws|write|wa|writeany|wb|writebackup))\\\\b","name":"support.type.option.off.viml"}]},"punctuation":{"patterns":[{"match":"([()])","name":"punctuation.parens.viml"},{"match":"(,)","name":"punctuation.comma.viml"}]},"storage":{"patterns":[{"match":"\\\\b(call|let|unlet)\\\\b","name":"storage.viml"},{"match":"\\\\b(a(?:bort|utocmd))\\\\b","name":"storage.viml"},{"match":"\\\\b(set(l(?:|ocal))?)\\\\b","name":"storage.viml"},{"match":"\\\\b(com(mand)?)\\\\b","name":"storage.viml"},{"match":"\\\\b(color(scheme)?)\\\\b","name":"storage.viml"},{"match":"\\\\b(Plug(?:|in))\\\\b","name":"storage.plugin.viml"}]},"strings":{"patterns":[{"begin":"\\"","end":"(\\"|$)","name":"string.quoted.double.viml","patterns":[]},{"begin":"'","end":"('|$)","name":"string.quoted.single.viml","patterns":[]},{"match":"/(\\\\\\\\\\\\\\\\|\\\\\\\\/|[^\\\\n/])*/","name":"string.regexp.viml"}]},"support":{"patterns":[{"match":"(add|call|delete|empty|extend|get|has|isdirectory|join|printf)(?=\\\\()","name":"support.function.viml"},{"match":"\\\\b(echo(m|hl)?|exe(cute)?|redir|redraw|sleep|so(urce)?|wincmd|setf)\\\\b","name":"support.function.viml"},{"match":"(v:(beval_col|beval_bufnr|beval_lnum|beval_text|beval_winnr|char|charconvert_from|charconvert_to|cmdarg|cmdbang|count1??|ctype|dying|errmsg|exception|fcs_reason|fcs_choice|fname_in|fname_out|fname_new|fname_diff|folddashes|foldlevel|foldend|foldstart|insertmode|key|lang|lc_time|lnum|mouse_win|mouse_lnum|mouse_col|oldfiles|operator|prevcount|profiling|progname|register|scrollstart|servername|searchforward|shell_error|statusmsg|swapname|swapchoice|swapcommand|termresponse|this_session|throwpoint|val|version|warningmsg|windowid))","name":"support.type.builtin.vim-variable.viml"},{"match":"(&(cpo|isk|omnifunc|paste|previewwindow|rtp|tags|term|wrap))","name":"support.type.builtin.viml"},{"match":"(&(shell(cmdflag|redir)?))","name":"support.type.builtin.viml"},{"match":"","name":"support.variable.args.viml"},{"match":"\\\\b(None|ErrorMsg|WarningMsg)\\\\b","name":"support.type.syntax.viml"},{"match":"\\\\b(BufNewFile|BufReadPre|BufRead|BufReadPost|BufReadCmd|FileReadPre|FileReadPost|FileReadCmd|FilterReadPre|FilterReadPost|StdinReadPre|StdinReadPost|BufWrite|BufWritePre|BufWritePost|BufWriteCmd|FileWritePre|FileWritePost|FileWriteCmd|FileAppendPre|FileAppendPost|FileAppendCmd|FilterWritePre|FilterWritePost|BufAdd|BufCreate|BufDelete|BufWipeout|BufFilePre|BufFilePost|BufEnter|BufLeave|BufWinEnter|BufWinLeave|BufUnload|BufHidden|BufNew|SwapExists|TermOpen|TermClose|FileType|Syntax|OptionSet|VimEnter|GUIEnter|GUIFailed|TermResponse|QuitPre|VimLeavePre|VimLeave|DirChanged|FileChangedShell|FileChangedShellPost|FileChangedRO|ShellCmdPost|ShellFilterPost|CmdUndefined|FuncUndefined|SpellFileMissing|SourcePre|SourceCmd|VimResized|FocusGained|FocusLost|CursorHoldI??|CursorMovedI??|WinNew|WinEnter|WinLeave|TabEnter|TabLeave|TabNew|TabNewEntered|TabClosed|CmdlineEnter|CmdlineLeave|CmdwinEnter|CmdwinLeave|InsertEnter|InsertChange|InsertLeave|InsertCharPre|TextYankPost|TextChangedI??|ColorScheme|RemoteReply|QuickFixCmdPre|QuickFixCmdPost|SessionLoadPost|MenuPopup|CompleteDone|User)\\\\b","name":"support.type.event.viml"},{"match":"\\\\b(Comment|Constant|String|Character|Number|Boolean|Float|Identifier|Function|Statement|Conditional|Repeat|Label|Operator|Keyword|Exception|PreProc|Include|Define|Macro|PreCondit|Type|StorageClass|Structure|Typedef|Special|SpecialChar|Tag|Delimiter|SpecialComment|Debug|Underlined|Ignore|Error|Todo)\\\\b","name":"support.type.syntax-group.viml"}]},"syntax":{"patterns":[{"match":"syn(tax)? case (ignore|match)","name":"keyword.control.syntax.viml"},{"match":"syn(tax)? (clear|enable|include|off|on|manual|sync)","name":"keyword.control.syntax.viml"},{"match":"\\\\b(contained|display|excludenl|fold|keepend|oneline|skipnl|skipwhite|transparent)\\\\b","name":"keyword.other.syntax.viml"},{"match":"\\\\b(add|containedin|contains|matchgroup|nextgroup)=","name":"keyword.other.syntax.viml"},{"captures":{"1":{"name":"keyword.other.syntax-range.viml"},"3":{"name":"string.regexp.viml"}},"match":"((start|skip|end)=)(\\\\+\\\\S+\\\\+\\\\s)?"},{"captures":{"0":{"name":"support.type.syntax.viml"},"1":{"name":"storage.syntax.viml"},"3":{"name":"variable.other.syntax-scope.viml"},"4":{"name":"storage.modifier.syntax.viml"}},"match":"(syn(?:|tax))\\\\s+(cluster|keyword|match|region)(\\\\s+\\\\w+\\\\s+)(contained)?","patterns":[]},{"captures":{"1":{"name":"storage.highlight.viml"},"2":{"name":"storage.modifier.syntax.viml"},"3":{"name":"support.function.highlight.viml"},"4":{"name":"variable.other.viml"},"5":{"name":"variable.other.viml"}},"match":"(hi(?:|ghlight))\\\\s+(def(?:|ault))\\\\s+(link)\\\\s+(\\\\w+)\\\\s+(\\\\w+)","patterns":[]}]},"variable":{"patterns":[{"match":"https?://\\\\S+","name":"variable.other.link.viml"},{"match":"(?<=\\\\()([A-Za-z]+)(?=\\\\))","name":"variable.parameter.viml"},{"match":"\\\\b([abgls]:[#.0-9A-Z_a-z]+)\\\\b(?!\\\\()","name":"variable.other.viml"}]}},"scopeName":"source.viml","aliases":["vim","vimscript"]}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-CJc9bBzg.js.map diff --git a/src/webview-ui/build/assets/chunk-CJc9bBzg.js.map b/src/webview-ui/build/assets/chunk-CJc9bBzg.js.map new file mode 100644 index 0000000000..d3bd488b1f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CJc9bBzg.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CJc9bBzg.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/viml.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Vim Script\\\",\\\"name\\\":\\\"viml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#storage\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#syntax\\\"},{\\\"include\\\":\\\"#commands\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#map\\\"}],\\\"repository\\\":{\\\"commands\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bcom([!\\\\\\\\s])\\\",\\\"name\\\":\\\"storage.other.command.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\bau([!\\\\\\\\s])\\\",\\\"name\\\":\\\"storage.other.command.viml\\\"},{\\\"match\\\":\\\"-bang\\\",\\\"name\\\":\\\"storage.other.command.bang.viml\\\"},{\\\"match\\\":\\\"-nargs=[*+0-9]+\\\",\\\"name\\\":\\\"storage.other.command.args.viml\\\"},{\\\"match\\\":\\\"-complete=\\\\\\\\S+\\\",\\\"name\\\":\\\"storage.other.command.completion.viml\\\"},{\\\"begin\\\":\\\"(aug(roup)?)\\\",\\\"end\\\":\\\"(augroup\\\\\\\\sEND|$)\\\",\\\"name\\\":\\\"support.function.augroup.viml\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((\\\\\\\\s+)?\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"end\\\":\\\"^(?!\\\\\\\")\\\",\\\"name\\\":\\\"comment.block.documentation.viml\\\"},{\\\"match\\\":\\\"^\\\\\\\"\\\\\\\\svim:.*\\\",\\\"name\\\":\\\"comment.block.modeline.viml\\\"},{\\\"begin\\\":\\\"(\\\\\\\\s+\\\\\\\"\\\\\\\\s+)(?!\\\\\\\")\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.viml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{\\\\\\\\{\\\\\\\\d?$\\\",\\\"name\\\":\\\"comment.line.foldmarker.viml\\\"},{\\\"match\\\":\\\"}}}\\\\\\\\d?\\\",\\\"name\\\":\\\"comment.line.foldmarker.viml\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s+)?\\\\\\\"\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.viml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{\\\\\\\\{\\\\\\\\d?$\\\",\\\"name\\\":\\\"comment.line.foldmarker.viml\\\"},{\\\"match\\\":\\\"}}}\\\\\\\\d?\\\",\\\"name\\\":\\\"comment.line.foldmarker.viml\\\"}]}]},\\\"constant\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b([0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.viml\\\"}]},\\\"entity\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(([abgs]:)?[#.0-9A-Z_a-z]{2,})\\\\\\\\b(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.viml\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(if|while|for|return|au(g(?:|roup))|else(if|)?|do|in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(end(?:|if|for|while))\\\\\\\\s|$\\\",\\\"name\\\":\\\"keyword.control.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(break|continue|try|catch|endtry|finally|finish|throw|range)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(func??|function|endfunction|endfunc)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.function.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(normal|silent)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.viml\\\"},{\\\"include\\\":\\\"#operators\\\"}]},\\\"map\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.map.viml\\\"}},\\\"end\\\":\\\"([>\\\\\\\\s])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.map.viml\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=:\\\\\\\\s)(.+)\\\",\\\"name\\\":\\\"constant.character.map.rhs.viml\\\"},{\\\"match\\\":\\\"(?i:(bang|buffer|expr|nop|plug|sid|silent))\\\",\\\"name\\\":\\\"constant.character.map.special.viml\\\"},{\\\"match\\\":\\\"(?i:([acdms]-\\\\\\\\w))\\\",\\\"name\\\":\\\"constant.character.map.key.viml\\\"},{\\\"match\\\":\\\"(?i:(F[0-9]+))\\\",\\\"name\\\":\\\"constant.character.map.key.fn.viml\\\"},{\\\"match\\\":\\\"(?i:(bs|bar|cr|del|down|esc|left|right|space|tab|up|leader))\\\",\\\"name\\\":\\\"constant.character.map.viml\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(([cinostvx]?(nore)?map))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.map.viml\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([!#+=?\\\\\\\\\\\\\\\\~])\\\",\\\"name\\\":\\\"keyword.operator.viml\\\"},{\\\"match\\\":\\\" ([-.:]|[\\\\\\\\&|]{2})( |$)\\\",\\\"name\\\":\\\"keyword.operator.viml\\\"},{\\\"match\\\":\\\"(\\\\\\\\.{3})\\\",\\\"name\\\":\\\"keyword.operator.viml\\\"},{\\\"match\\\":\\\"( [<>] )\\\",\\\"name\\\":\\\"keyword.operator.viml\\\"},{\\\"match\\\":\\\"(>=)\\\",\\\"name\\\":\\\"keyword.operator.viml\\\"}]},\\\"option\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&?\\\\\\\\b(al|aleph|anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|ambw|ambiwidth|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bg|background|bs|backspace|bk|backup|bkc|backupcopy|bdir|backupdir|bex|backupext|bsk|backupskip|bdlay|balloondelay|beval|ballooneval|bevalterm|balloonevalterm|bexpr|balloonexpr|bo|belloff|bin|binary|bomb|brk|breakat|bri|breakindent|briopt|breakindentopt|bsdir|browsedir|bh|bufhidden|bl|buflisted|bt|buftype|cmp|casemap|cd|cdpath|cedit|ccv|charconvert|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|cb|clipboard|ch|cmdheight|cwh|cmdwinheight|cc|colorcolumn|co|columns|com|comments|cms|commentstring|cp|compatible|cpt|complete|cocu|concealcursor|cole|conceallevel|cfu|completefunc|cot|completeopt|cf|confirm|ci|copyindent|cpo|cpoptions|cm|cryptmethod|cspc|cscopepathcomp|csprg|cscopeprg|csqf|cscopequickfix|csre|cscoperelative|cst|cscopetag|csto|cscopetagorder|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|debug|def|define|deco|delcombine|dict|dictionary|diff|dex|diffexpr|dip|diffopt|dg|digraph|dir|directory|dy|display|ead|eadirection|ed|edcompatible|emo|emoji|enc|encoding|eol|endofline|ea|equalalways|ep|equalprg|eb|errorbells|ef|errorfile|efm|errorformat|ek|esckeys|ei|eventignore|et|expandtab|ex|exrc|fenc|fileencoding|fencs|fileencodings|ff|fileformat|ffs|fileformats|fic|fileignorecase|ft|filetype|fcs|fillchars|fixeol|fixendofline|fk|fkmap|fcl|foldclose|fdc|foldcolumn|fen|foldenable|fde|foldexpr|fdi|foldignore|fdl|foldlevel|fdls|foldlevelstart|fmr|foldmarker|fdm|foldmethod|fml|foldminlines|fdn|foldnestmax|fdo|foldopen|fdt|foldtext|fex|formatexpr|fo|formatoptions|flp|formatlistpat|fp|formatprg|fs|fsync|gd|gdefault|gfm|grepformat|gp|grepprg|gcr|guicursor|gfn|guifont|gfs|guifontset|gfw|guifontwide|ghr|guiheadroom|go|guioptions|guipty|gtl|guitablabel|gtt|guitabtooltip|hf|helpfile|hh|helpheight|hlg|helplang|hid|hidden|hl|highlight|hi|history|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|iconstring|ic|ignorecase|imaf|imactivatefunc|imak|imactivatekey|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|imsf|imstatusfunc|imst|imstyle|inc|include|inex|includeexpr|is|incsearch|inde|indentexpr|indk|indentkeys|inf|infercase|im|insertmode|isf|isfname|isi|isident|isk|iskeyword|isp|isprint|js|joinspaces|key|kmp|keymap|km|keymodel|kp|keywordprg|lmap|langmap|lm|langmenu|lnr|langnoremap|lrm|langremap|ls|laststatus|lz|lazyredraw|lbr|linebreak|lines|lsp|linespace|lisp|lw|lispwords|list|lcs|listchars|lpl|loadplugins|luadll|macatsui|magic|mef|makeef|menc|makeencoding|mp|makeprg|mps|matchpairs|mat|matchtime|mco|maxcombine|mfd|maxfuncdepth|mmd|maxmapdepth|mm|maxmem|mmp|maxmempattern|mmt|maxmemtot|mis|menuitems|msm|mkspellmem|ml|modeline|mls|modelines|ma|modifiable|mod|modified|more|mousef??|mousefocus|mh|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mzschemedll|mzschemegcdll|mzq|mzquantum|nf|nrformats|nu|number|nuw|numberwidth|ofu|omnifunc|odev|opendevice|opfunc|operatorfunc|pp|packpath|para|paragraphs|paste|pt|pastetoggle|pex|patchexpr|pm|patchmode|pa|path|perldll|pi|preserveindent|pvh|previewheight|pvw|previewwindow|pdev|printdevice|penc|printencoding|pexpr|printexpr|pfn|printfont|pheader|printheader|pmbcs|printmbcharset|pmbfn|printmbfont|popt|printoptions|prompt|ph|pumheight|pythonthreedll|pythondll|pyx|pyxversion|qe|quoteescape|ro|readonly|rdt|redrawtime|re|regexpengine|rnu|relativenumber|remap|rop|renderoptions|report|rs|restorescreen|ri|revins|rl|rightleft|rlc|rightleftcmd|rubydll|ru|ruler|ruf|rulerformat|rtp|runtimepath|scr|scroll|scb|scrollbind|sj|scrolljump|so|scrolloff|sbo|scrollopt|sect|sections|secure|sel|selection|slm|selectmode|ssop|sessionoptions|sh|shell|shcf|shellcmdflag|sp|shellpipe|shq|shellquote|srr|shellredir|ssl|shellslash|stmp|shelltemp|st|shelltype|sxq|shellxquote|sxe|shellxescape|sr|shiftround|sw|shiftwidth|shm|shortmess|sn|shortname|sbr|showbreak|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|stal|showtabline|ss|sidescroll|siso|sidescrolloff|scl|signcolumn|scs|smartcase|si|smartindent|sta|smarttab|sts|softtabstop|spell|spc|spellcapcheck|spf|spellfile|spl|spelllang|sps|spellsuggest|sb|splitbelow|spr|splitright|sol|startofline|stl|statusline|su|suffixes|sua|suffixesadd|swf|swapfile|sws|swapsync|swb|switchbuf|smc|synmaxcol|syn|syntax|tal|tabline|tpm|tabpagemax|ts|tabstop|tbs|tagbsearch|tc|tagcase|tl|taglength|tr|tagrelative|tags??|tgst|tagstack|tcldll|term|tbidi|termbidi|tenc|termencoding|tgc|termguicolors|tk|termkey|tms|termsize|terse|ta|textauto|tx|textmode|tw|textwidth|tsr|thesaurus|top|tildeop|to|timeout|tm|timeoutlen|title|titlelen|titleold|titlestring|tb|toolbar|tbis|toolbariconsize|ttimeout|ttm|ttimeoutlen|tbi|ttybuiltin|tf|ttyfast|ttym|ttymouse|tsl|ttyscroll|tty|ttytype|udir|undodir|udf|undofile|ul|undolevels|ur|undoreload|uc|updatecount|ut|updatetime|vbs|verbose|vfile|verbosefile|vdir|viewdir|vop|viewoptions|vi|viminfo|vif|viminfofile|ve|virtualedit|vb|visualbell|warn|wiv|weirdinvert|ww|whichwrap|wc|wildchar|wcm|wildcharm|wig|wildignore|wic|wildignorecase|wmnu|wildmenu|wim|wildmode|wop|wildoptions|wak|winaltkeys|wi|window|wh|winheight|wfh|winfixheight|wfw|winfixwidth|wmh|winminheight|wmw|winminwidth|winptydll|wiw|winwidth|wrap|wm|wrapmargin|ws|wrapscan|write|wa|writeany|wb|writebackup|wd|writedelay)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.option.viml\\\"},{\\\"match\\\":\\\"&?\\\\\\\\b(aleph|allowrevins|altkeymap|ambiwidth|autochdir|arabic|arabicshape|autoindent|autoread|autowrite|autowriteall|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|belloff|binary|bomb|breakat|breakindent|breakindentopt|browsedir|bufhidden|buflisted|buftype|casemap|cdpath|cedit|charconvert|cindent|cinkeys|cinoptions|cinwords|clipboard|cmdheight|cmdwinheight|colorcolumn|columns|comments|commentstring|complete|completefunc|completeopt|concealcursor|conceallevel|confirm|copyindent|cpoptions|cscopepathcomp|cscopeprg|cscopequickfix|cscoperelative|cscopetag|cscopetagorder|cscopeverbose|cursorbind|cursorcolumn|cursorline|debug|define|delcombine|dictionary|diff|diffexpr|diffopt|digraph|directory|display|eadirection|encoding|endofline|equalalways|equalprg|errorbells|errorfile|errorformat|eventignore|expandtab|exrc|fileencodings??|fileformats??|fileignorecase|filetype|fillchars|fixendofline|fkmap|foldclose|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldopen|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fsync|gdefault|grepformat|grepprg|guicursor|guifont|guifontset|guifontwide|guioptions|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hidden|hlsearch|history|hkmapp??|icon|iconstring|ignorecase|imcmdline|imdisable|iminsert|imsearch|include|includeexpr|incsearch|indentexpr|indentkeys|infercase|insertmode|isfname|isident|iskeyword|isprint|joinspaces|keymap|keymodel|keywordprg|langmap|langmenu|langremap|laststatus|lazyredraw|linebreak|lines|linespace|lisp|lispwords|list|listchars|loadplugins|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|menuitems|mkspellmem|modelines??|modifiable|modified|more|mouse|mousefocus|mousehide|mousemodel|mouseshape|mousetime|nrformats|number|numberwidth|omnifunc|opendevice|operatorfunc|packpath|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|perldll|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pumheight|pythondll|pythonthreedll|quoteescape|readonly|redrawtime|regexpengine|relativenumber|remap|report|revins|rightleft|rightleftcmd|rubydll|ruler|rulerformat|runtimepath|scroll|scrollbind|scrolljump|scrolloff|scrollopt|sections|secure|selection|selectmode|sessionoptions|shada|shell|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shellxescape|shellxquote|shiftround|shiftwidth|shortmess|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|sidescroll|sidescrolloff|signcolumn|smartcase|smartindent|smarttab|softtabstop|spell|spellcapcheck|spellfile|spelllang|spellsuggest|splitbelow|splitright|startofline|statusline|suffixes|suffixesadd|swapfile|switchbuf|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|tagcase|taglength|tagrelative|tags|tagstack|term|termbidi|terse|textwidth|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|ttimeout|ttimeoutlen|ttytype|undodir|undofile|undolevels|undoreload|updatecount|updatetime|verbose|verbosefile|viewdir|viewoptions|virtualedit|visualbell|warn|whichwrap|wildcharm??|wildignore|wildignorecase|wildmenu|wildmode|wildoptions|winaltkeys|window|winheight|winfixheight|winfixwidth|winminheight|winminwidth|winwidth|wrap|wrapmargin|wrapscan|write|writeany|writebackup|writedelay)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.option.viml\\\"},{\\\"match\\\":\\\"&?\\\\\\\\b(al|ari|akm|ambw|acd|arab|arshape|ai|ar|awa??|bg|bs|bkc??|bdir|bex|bsk|bdlay|beval|bexpr|bo|bin|bomb|brk|bri|briopt|bsdir|bh|bl|bt|cmp|cd|cedit|ccv|cink??|cino|cinw|cb|ch|cwh|cc|com??|cms|cpt|cfu|cot|cocu|cole|cf|ci|cpo|cspc|csprg|csqf|csre|csto??|cpo|crb|cuc|cul|debug|def|deco|dict|diff|dex|dip|dg|dir|dy|ead|enc|eol|ea|ep|eb|efm??|ei|et|ex|fencs??|ffs??|fic|ft|fcs|fixeol|fk|fcl|fdc|fen|fde|fdi|fdls??|fmr|fdm|fml|fdn|fdo|fdt|fex|flp|fo|fp|fs|gd|gfm|gp|gcr|gfn|gfs|gfw|go|gtl|gtt|hf|hh|hlg|hid|hls|hi|hkp??|icon|iconstring|ic|imc|imd|imi|ims|inc|inex|is|inde|indk|inf|im|isf|isi|isk|isp|js|kmp?|kp|lmap|lm|lrm|ls|lz|lbr|lines|lsp|lisp|lw|list|lcs|lpl|magic|mef|mps??|mat|mco|mfd|mmd?|mmp|mmt|mis|msm|mls??|ma|mod|more|mousef??|mh|mousem|mouses|mouset|nf|nuw??|ofu|odev|opfunc|pp|para|paste|pt|pex|pm|pa|perldll|pi|pvh|pvw|pdev|penc|pexpr|pfn|pheader|pmbcs|pmbfn|popt|prompt|ph|pythondll|pythonthreedlll|qe|ro|rdt|re|rnu|remap|report|ri|rlc??|rubydll|ruf??|rtp|scr|scb|sj|so|sbo|sect|secure|sel|slm|ssop|sd|sh|shcf|sp|shq|srr|ssl|stmp|sxe|sxq|sr|sw|shm|sbr|sc|sft|smd??|stal|ss|siso|scl|scs|si|sta|sts|spell|spc|spf|spl|sps|sb|spr|sol|stl|sua??|swf|swb|smc|syn|tal|tpm|ts|tbs|tc|tl|tr|tag|tgst|term|tbidi|terse|tw|tsr|top?|tm|title|titlelen|titleold|titlestring|ttimeout|ttm|tty|udir|udf|ul|ur|uc|ut|vbs|vfile|vdir|vop|ve|vb|warn|ww|wcm??|wig|wic|wmnu|wim|wop|wak|wi|wh|wfh|wfw|wmh|wmw|wiw|wrap|wm|ws|write|wa|wb|wd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.option.shortname.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(no(?:anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bk|backup|beval|ballooneval|bevalterm|balloonevalterm|bin|binary|bomb|bri|breakindent|bl|buflisted|cin|cindent|cp|compatible|cf|confirm|ci|copyindent|csre|cscoperelative|cst|cscopetag|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|deco|delcombine|diff|dg|digraph|ed|edcompatible|emo|emoji|eol|endofline|ea|equalalways|eb|errorbells|ek|esckeys|et|expandtab|ex|exrc|fic|fileignorecase|fixeol|fixendofline|fk|fkmap|fen|foldenable|fs|fsync|gd|gdefault|guipty|hid|hidden|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|ic|ignorecase|imc|imcmdline|imd|imdisable|is|incsearch|inf|infercase|im|insertmode|js|joinspaces|lnr|langnoremap|lrm|langremap|lz|lazyredraw|lbr|linebreak|lisp|list|lpl|loadplugins|macatsui|magic|ml|modeline|ma|modifiable|mod|modified|more|mousef|mousefocus|mh|mousehide|nu|number|odev|opendevice|paste|pi|preserveindent|pvw|previewwindow|prompt|ro|readonly|rnu|relativenumber|rs|restorescreen|ri|revins|rl|rightleft|ru|ruler|scb|scrollbind|secure|ssl|shellslash|stmp|shelltemp|sr|shiftround|sn|shortname|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|scs|smartcase|si|smartindent|sta|smarttab|spell|sb|splitbelow|spr|splitright|sol|startofline|swf|swapfile|tbs|tagbsearch|tr|tagrelative|tgst|tagstack|tbidi|termbidi|tgc|termguicolors|terse|ta|textauto|tx|textmode|top|tildeop|to|timeout|title|ttimeout|tbi|ttybuiltin|tf|ttyfast|udf|undofile|vb|visualbell|warn|wiv|weirdinvert|wic|wildignorecase|wmnu|wildmenu|wfh|winfixheight|wfw|winfixwidth|wrapscan|wrap|ws|write|wa|writeany|wb|writebackup))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.option.off.viml\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([()])\\\",\\\"name\\\":\\\"punctuation.parens.viml\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.viml\\\"}]},\\\"storage\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(call|let|unlet)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(a(?:bort|utocmd))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(set(l(?:|ocal))?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(com(mand)?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(color(scheme)?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Plug(?:|in))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.plugin.viml\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"(\\\\\\\"|$)\\\",\\\"name\\\":\\\"string.quoted.double.viml\\\",\\\"patterns\\\":[]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"('|$)\\\",\\\"name\\\":\\\"string.quoted.single.viml\\\",\\\"patterns\\\":[]},{\\\"match\\\":\\\"/(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\/|[^\\\\\\\\n/])*/\\\",\\\"name\\\":\\\"string.regexp.viml\\\"}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(add|call|delete|empty|extend|get|has|isdirectory|join|printf)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(echo(m|hl)?|exe(cute)?|redir|redraw|sleep|so(urce)?|wincmd|setf)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.viml\\\"},{\\\"match\\\":\\\"(v:(beval_col|beval_bufnr|beval_lnum|beval_text|beval_winnr|char|charconvert_from|charconvert_to|cmdarg|cmdbang|count1??|ctype|dying|errmsg|exception|fcs_reason|fcs_choice|fname_in|fname_out|fname_new|fname_diff|folddashes|foldlevel|foldend|foldstart|insertmode|key|lang|lc_time|lnum|mouse_win|mouse_lnum|mouse_col|oldfiles|operator|prevcount|profiling|progname|register|scrollstart|servername|searchforward|shell_error|statusmsg|swapname|swapchoice|swapcommand|termresponse|this_session|throwpoint|val|version|warningmsg|windowid))\\\",\\\"name\\\":\\\"support.type.builtin.vim-variable.viml\\\"},{\\\"match\\\":\\\"(&(cpo|isk|omnifunc|paste|previewwindow|rtp|tags|term|wrap))\\\",\\\"name\\\":\\\"support.type.builtin.viml\\\"},{\\\"match\\\":\\\"(&(shell(cmdflag|redir)?))\\\",\\\"name\\\":\\\"support.type.builtin.viml\\\"},{\\\"match\\\":\\\"\\\",\\\"name\\\":\\\"support.variable.args.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(None|ErrorMsg|WarningMsg)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.syntax.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(BufNewFile|BufReadPre|BufRead|BufReadPost|BufReadCmd|FileReadPre|FileReadPost|FileReadCmd|FilterReadPre|FilterReadPost|StdinReadPre|StdinReadPost|BufWrite|BufWritePre|BufWritePost|BufWriteCmd|FileWritePre|FileWritePost|FileWriteCmd|FileAppendPre|FileAppendPost|FileAppendCmd|FilterWritePre|FilterWritePost|BufAdd|BufCreate|BufDelete|BufWipeout|BufFilePre|BufFilePost|BufEnter|BufLeave|BufWinEnter|BufWinLeave|BufUnload|BufHidden|BufNew|SwapExists|TermOpen|TermClose|FileType|Syntax|OptionSet|VimEnter|GUIEnter|GUIFailed|TermResponse|QuitPre|VimLeavePre|VimLeave|DirChanged|FileChangedShell|FileChangedShellPost|FileChangedRO|ShellCmdPost|ShellFilterPost|CmdUndefined|FuncUndefined|SpellFileMissing|SourcePre|SourceCmd|VimResized|FocusGained|FocusLost|CursorHoldI??|CursorMovedI??|WinNew|WinEnter|WinLeave|TabEnter|TabLeave|TabNew|TabNewEntered|TabClosed|CmdlineEnter|CmdlineLeave|CmdwinEnter|CmdwinLeave|InsertEnter|InsertChange|InsertLeave|InsertCharPre|TextYankPost|TextChangedI??|ColorScheme|RemoteReply|QuickFixCmdPre|QuickFixCmdPost|SessionLoadPost|MenuPopup|CompleteDone|User)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.event.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Comment|Constant|String|Character|Number|Boolean|Float|Identifier|Function|Statement|Conditional|Repeat|Label|Operator|Keyword|Exception|PreProc|Include|Define|Macro|PreCondit|Type|StorageClass|Structure|Typedef|Special|SpecialChar|Tag|Delimiter|SpecialComment|Debug|Underlined|Ignore|Error|Todo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.syntax-group.viml\\\"}]},\\\"syntax\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"syn(tax)? case (ignore|match)\\\",\\\"name\\\":\\\"keyword.control.syntax.viml\\\"},{\\\"match\\\":\\\"syn(tax)? (clear|enable|include|off|on|manual|sync)\\\",\\\"name\\\":\\\"keyword.control.syntax.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(contained|display|excludenl|fold|keepend|oneline|skipnl|skipwhite|transparent)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.syntax.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(add|containedin|contains|matchgroup|nextgroup)=\\\",\\\"name\\\":\\\"keyword.other.syntax.viml\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.syntax-range.viml\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.regexp.viml\\\"}},\\\"match\\\":\\\"((start|skip|end)=)(\\\\\\\\+\\\\\\\\S+\\\\\\\\+\\\\\\\\s)?\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.syntax.viml\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.syntax.viml\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.syntax-scope.viml\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.syntax.viml\\\"}},\\\"match\\\":\\\"(syn(?:|tax))\\\\\\\\s+(cluster|keyword|match|region)(\\\\\\\\s+\\\\\\\\w+\\\\\\\\s+)(contained)?\\\",\\\"patterns\\\":[]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.highlight.viml\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.syntax.viml\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.highlight.viml\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.viml\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.viml\\\"}},\\\"match\\\":\\\"(hi(?:|ghlight))\\\\\\\\s+(def(?:|ault))\\\\\\\\s+(link)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"patterns\\\":[]}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"https?://\\\\\\\\S+\\\",\\\"name\\\":\\\"variable.other.link.viml\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\()([A-Za-z]+)(?=\\\\\\\\))\\\",\\\"name\\\":\\\"variable.parameter.viml\\\"},{\\\"match\\\":\\\"\\\\\\\\b([abgls]:[#.0-9A-Z_a-z]+)\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"variable.other.viml\\\"}]}},\\\"scopeName\\\":\\\"source.viml\\\",\\\"aliases\\\":[\\\"vim\\\",\\\"vimscript\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "viml" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,60nBAA+mpB,CAAC,EAEvopBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CK-KhNJq.js b/src/webview-ui/build/assets/chunk-CK-KhNJq.js new file mode 100644 index 0000000000..adeaff2dab --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CK-KhNJq.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Zig","fileTypes":["zig","zon"],"name":"zig","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#keywords"},{"include":"#operators"},{"include":"#punctuation"},{"include":"#numbers"},{"include":"#support"},{"include":"#variables"}],"repository":{"commentContents":{"patterns":[{"match":"\\\\b(TODO|FIXME|XXX|NOTE)\\\\b:?","name":"keyword.todo.zig"}]},"comments":{"patterns":[{"begin":"//[!/](?=[^/])","end":"$","name":"comment.line.documentation.zig","patterns":[{"include":"#commentContents"}]},{"begin":"//","end":"$","name":"comment.line.double-slash.zig","patterns":[{"include":"#commentContents"}]}]},"keywords":{"patterns":[{"match":"\\\\binline\\\\b(?!\\\\s*\\\\bfn\\\\b)","name":"keyword.control.repeat.zig"},{"match":"\\\\b(while|for)\\\\b","name":"keyword.control.repeat.zig"},{"match":"\\\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\\\b","name":"keyword.storage.zig"},{"match":"\\\\b(struct|enum|union|opaque)\\\\b","name":"keyword.structure.zig"},{"match":"\\\\b(asm|unreachable)\\\\b","name":"keyword.statement.zig"},{"match":"\\\\b(break|return|continue|defer|errdefer)\\\\b","name":"keyword.control.flow.zig"},{"match":"\\\\b(await|resume|suspend|async|nosuspend)\\\\b","name":"keyword.control.async.zig"},{"match":"\\\\b(try|catch)\\\\b","name":"keyword.control.trycatch.zig"},{"match":"\\\\b(if|else|switch|orelse)\\\\b","name":"keyword.control.conditional.zig"},{"match":"\\\\b(null|undefined)\\\\b","name":"keyword.constant.default.zig"},{"match":"\\\\b(true|false)\\\\b","name":"keyword.constant.bool.zig"},{"match":"\\\\b(usingnamespace|test|and|or)\\\\b","name":"keyword.default.zig"},{"match":"\\\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\\\b","name":"keyword.type.zig"},{"match":"\\\\b(f16|f32|f64|f80|f128|u\\\\d+|i\\\\d+|isize|usize|comptime_int|comptime_float)\\\\b","name":"keyword.type.integer.zig"},{"match":"\\\\b(c_(?:char|short|ushort|int|uint|long|ulong|longlong|ulonglong|longdouble))\\\\b","name":"keyword.type.c.zig"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h[_\\\\h]*(\\\\.\\\\h[_\\\\h]*)?([Pp][-+]?[_\\\\h]+)?\\\\b","name":"constant.numeric.hexfloat.zig"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?\\\\b","name":"constant.numeric.float.zig"},{"match":"\\\\b[0-9][0-9_]*\\\\b","name":"constant.numeric.decimal.zig"},{"match":"\\\\b0x[_\\\\h]+\\\\b","name":"constant.numeric.hexadecimal.zig"},{"match":"\\\\b0o[0-7_]+\\\\b","name":"constant.numeric.octal.zig"},{"match":"\\\\b0b[01_]+\\\\b","name":"constant.numeric.binary.zig"},{"match":"\\\\b[0-9](([EPep][-+])|[0-9A-Z_a-z])*(\\\\.(([EPep][-+])|[0-9A-Z_a-z])*)?([EPep][-+])?[0-9A-Z_a-z]*\\\\b","name":"constant.numeric.invalid.zig"}]},"operators":{"patterns":[{"match":"(?<=\\\\[)\\\\*c(?=])","name":"keyword.operator.c-pointer.zig"},{"match":"\\\\b((and|or))\\\\b|(==|!=|<=|>=|[<>])","name":"keyword.operator.comparison.zig"},{"match":"(-%?|\\\\+%?|\\\\*%?|[%/])=?","name":"keyword.operator.arithmetic.zig"},{"match":"(<<%?|>>|[!\\\\&^|~])=?","name":"keyword.operator.bitwise.zig"},{"match":"(==|\\\\+\\\\+|\\\\*\\\\*|->)","name":"keyword.operator.special.zig"},{"match":"=","name":"keyword.operator.assignment.zig"},{"match":"\\\\?","name":"keyword.operator.question.zig"}]},"punctuation":{"patterns":[{"match":"\\\\.","name":"punctuation.accessor.zig"},{"match":",","name":"punctuation.comma.zig"},{"match":":","name":"punctuation.separator.key-value.zig"},{"match":";","name":"punctuation.terminator.statement.zig"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\([\\"'\\\\\\\\nrt]|(x\\\\h{2})|(u\\\\{\\\\h+}))","name":"constant.character.escape.zig"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.zig"}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.zig","patterns":[{"include":"#stringcontent"}]},{"begin":"\\\\\\\\\\\\\\\\","end":"$","name":"string.multiline.zig"},{"match":"'([^'\\\\\\\\]|\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'","name":"string.quoted.single.zig"}]},"support":{"patterns":[{"match":"@[A-Z_a-z][0-9A-Z_a-z]*","name":"support.function.builtin.zig"}]},"variables":{"patterns":[{"name":"meta.function.declaration.zig","patterns":[{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.type.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z][0-9A-Za-z]*)\\\\b"},{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.function.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"begin":"\\\\b(fn)\\\\s+@\\"","beginCaptures":{"1":{"name":"storage.type.function.zig"}},"end":"\\"","name":"entity.name.function.string.zig","patterns":[{"include":"#stringcontent"}]},{"match":"\\\\b(const|var|fn)\\\\b","name":"keyword.default.zig"}]},{"name":"meta.function.call.zig","patterns":[{"match":"([A-Z][0-9A-Za-z]*)(?=\\\\s*\\\\()","name":"entity.name.type.zig"},{"match":"([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\s*\\\\()","name":"entity.name.function.zig"}]},{"name":"meta.variable.zig","patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.zig"},{"begin":"@\\"","end":"\\"","name":"variable.string.zig","patterns":[{"include":"#stringcontent"}]}]}]}},"scopeName":"source.zig"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-CK-KhNJq.js.map diff --git a/src/webview-ui/build/assets/chunk-CK-KhNJq.js.map b/src/webview-ui/build/assets/chunk-CK-KhNJq.js.map new file mode 100644 index 0000000000..b58fcc537b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CK-KhNJq.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CK-KhNJq.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/zig.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Zig\\\",\\\"fileTypes\\\":[\\\"zig\\\",\\\"zon\\\"],\\\"name\\\":\\\"zig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#variables\\\"}],\\\"repository\\\":{\\\"commentContents\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(TODO|FIXME|XXX|NOTE)\\\\\\\\b:?\\\",\\\"name\\\":\\\"keyword.todo.zig\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"//[!/](?=[^/])\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.documentation.zig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#commentContents\\\"}]},{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.zig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#commentContents\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\binline\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\bfn\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.control.repeat.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(while|for)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.repeat.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.storage.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(struct|enum|union|opaque)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.structure.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(asm|unreachable)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.statement.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(break|return|continue|defer|errdefer)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(await|resume|suspend|async|nosuspend)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.async.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(try|catch)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.trycatch.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(if|else|switch|orelse)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.conditional.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(null|undefined)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.constant.default.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.constant.bool.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(usingnamespace|test|and|or)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.default.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.type.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(f16|f32|f64|f80|f128|u\\\\\\\\d+|i\\\\\\\\d+|isize|usize|comptime_int|comptime_float)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.type.integer.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b(c_(?:char|short|ushort|int|uint|long|ulong|longlong|ulonglong|longdouble))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.type.c.zig\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b0x\\\\\\\\h[_\\\\\\\\h]*(\\\\\\\\.\\\\\\\\h[_\\\\\\\\h]*)?([Pp][-+]?[_\\\\\\\\h]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hexfloat.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9][0-9_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b0x[_\\\\\\\\h]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hexadecimal.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b0o[0-7_]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.octal.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b0b[01_]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.binary.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9](([EPep][-+])|[0-9A-Z_a-z])*(\\\\\\\\.(([EPep][-+])|[0-9A-Z_a-z])*)?([EPep][-+])?[0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.invalid.zig\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\[)\\\\\\\\*c(?=])\\\",\\\"name\\\":\\\"keyword.operator.c-pointer.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\b((and|or))\\\\\\\\b|(==|!=|<=|>=|[<>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.zig\\\"},{\\\"match\\\":\\\"(-%?|\\\\\\\\+%?|\\\\\\\\*%?|[%/])=?\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.zig\\\"},{\\\"match\\\":\\\"(<<%?|>>|[!\\\\\\\\&^|~])=?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.zig\\\"},{\\\"match\\\":\\\"(==|\\\\\\\\+\\\\\\\\+|\\\\\\\\*\\\\\\\\*|->)\\\",\\\"name\\\":\\\"keyword.operator.special.zig\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.question.zig\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.zig\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.comma.zig\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.zig\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.zig\\\"}]},\\\"stringcontent\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'\\\\\\\\\\\\\\\\nrt]|(x\\\\\\\\h{2})|(u\\\\\\\\{\\\\\\\\h+}))\\\",\\\"name\\\":\\\"constant.character.escape.zig\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.zig\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.zig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"string.multiline.zig\\\"},{\\\"match\\\":\\\"'([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'\\\",\\\"name\\\":\\\"string.quoted.single.zig\\\"}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"@[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"support.function.builtin.zig\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"name\\\":\\\"meta.function.declaration.zig\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.zig\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.zig\\\"}},\\\"match\\\":\\\"\\\\\\\\b(fn)\\\\\\\\s+([A-Z][0-9A-Za-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.zig\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.zig\\\"}},\\\"match\\\":\\\"\\\\\\\\b(fn)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(fn)\\\\\\\\s+@\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.zig\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"entity.name.function.string.zig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(const|var|fn)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.default.zig\\\"}]},{\\\"name\\\":\\\"meta.function.call.zig\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([A-Z][0-9A-Za-z]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.type.zig\\\"},{\\\"match\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.zig\\\"}]},{\\\"name\\\":\\\"meta.variable.zig\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.zig\\\"},{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"variable.string.zig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]}]}]}},\\\"scopeName\\\":\\\"source.zig\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "zig" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,urKAAgxL,CAAC,EAExyLC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CKIfxQSi.js b/src/webview-ui/build/assets/chunk-CKIfxQSi.js new file mode 100644 index 0000000000..87661a9a2d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CKIfxQSi.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"MIPS Assembly","fileTypes":["s","mips","spim","asm"],"name":"mipsasm","patterns":[{"match":"\\\\b(mul|abs|divu??|mulou??|negu??|not|remu??|rol|ror|li|seq|sgeu??|sgtu??|sleu??|sne|b|beqz|bgeu??|bgtu??|bleu??|bltu??|bnez|la|ld|ulhu??|ulw|sd|ush|usw|move|mfc1\\\\.d|l\\\\.d|l\\\\.s|s\\\\.d|s\\\\.s)\\\\b","name":"support.function.pseudo.mips"},{"match":"\\\\b(abs\\\\.d|abs\\\\.s|add|add\\\\.d|add\\\\.s|addiu??|addu|andi??|bc1f|bc1t|beq|bgez|bgezal|bgtz|blez|bltz|bltzal|bne|break|c\\\\.eq\\\\.d|c\\\\.eq\\\\.s|c\\\\.le\\\\.d|c\\\\.le\\\\.s|c\\\\.lt\\\\.d|c\\\\.lt\\\\.s|ceil\\\\.w\\\\.d|ceil\\\\.w\\\\.s|clo|clz|cvt\\\\.d\\\\.s|cvt\\\\.d\\\\.w|cvt\\\\.s\\\\.d|cvt\\\\.s\\\\.w|cvt\\\\.w\\\\.d|cvt\\\\.w\\\\.s|div|div\\\\.d|div\\\\.s|divu|eret|floor\\\\.w\\\\.d|floor\\\\.w\\\\.s|j|jalr??|jr|lbu??|lhu??|ll|lui|lw|lwc1|lwl|lwr|maddu??|mfc0|mfc1|mfhi|mflo|mov\\\\.d|mov\\\\.s|movf|movf\\\\.d|movf\\\\.s|movn|movn\\\\.d|movn\\\\.s|movt|movt\\\\.d|movt\\\\.s|movz|movz\\\\.d|movz\\\\.s|msub|mtc0|mtc1|mthi|mtlo|mul|mul\\\\.d|mul\\\\.s|multu??|neg\\\\.d|neg\\\\.s|nop|nor|ori??|round\\\\.w\\\\.d|round\\\\.w\\\\.s|sb|sc|sdc1|sh|sllv??|slti??|sltiu|sltu|sqrt\\\\.d|sqrt\\\\.s|srav??|srlv??|sub|sub\\\\.d|sub\\\\.s|subu|sw|swc1|swl|swr|syscall|teqi??|tgei??|tgeiu|tgeu|tlti??|tltiu|tltu|trunc\\\\.w\\\\.d|trunc\\\\.w\\\\.s|xori??)\\\\b","name":"support.function.mips"},{"match":"\\\\.(asciiz??|byte|data|double|float|half|kdata|ktext|space|text|word|set\\\\s*(noat|at))\\\\b","name":"storage.type.mips"},{"match":"\\\\.(align|extern||globl)\\\\b","name":"storage.modifier.mips"},{"captures":{"1":{"name":"entity.name.function.label.mips"}},"match":"\\\\b([0-9A-Z_a-z]+):","name":"meta.function.label.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)([02-9]|1[0-9]|2[0-5]|2[89]|3[01])\\\\b","name":"variable.other.register.usable.by-number.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)(zero|v[01]|a[0-3]|t[0-9]|s[0-7]|gp|sp|fp|ra)\\\\b","name":"variable.other.register.usable.by-name.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)(at|k[01]|1|2[67])\\\\b","name":"variable.other.register.reserved.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)f([0-9]|1[0-9]|2[0-9]|3[01])\\\\b","name":"variable.other.register.usable.floating-point.mips"},{"match":"\\\\b\\\\d+\\\\.\\\\d+\\\\b","name":"constant.numeric.float.mips"},{"match":"\\\\b(\\\\d+|0([Xx])\\\\h+)\\\\b","name":"constant.numeric.integer.mips"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mips"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.mips"}},"name":"string.quoted.double.mips","patterns":[{"match":"\\\\\\\\[\\"\\\\\\\\nrt]","name":"constant.character.escape.mips"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mips"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.mips"}},"end":"\\\\n","name":"comment.line.number-sign.mips"}]}],"scopeName":"source.mips","aliases":["mips"]}', + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-CKIfxQSi.js.map diff --git a/src/webview-ui/build/assets/chunk-CKIfxQSi.js.map b/src/webview-ui/build/assets/chunk-CKIfxQSi.js.map new file mode 100644 index 0000000000..d6ae8c159d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CKIfxQSi.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CKIfxQSi.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/mipsasm.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"MIPS Assembly\\\",\\\"fileTypes\\\":[\\\"s\\\",\\\"mips\\\",\\\"spim\\\",\\\"asm\\\"],\\\"name\\\":\\\"mipsasm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(mul|abs|divu??|mulou??|negu??|not|remu??|rol|ror|li|seq|sgeu??|sgtu??|sleu??|sne|b|beqz|bgeu??|bgtu??|bleu??|bltu??|bnez|la|ld|ulhu??|ulw|sd|ush|usw|move|mfc1\\\\\\\\.d|l\\\\\\\\.d|l\\\\\\\\.s|s\\\\\\\\.d|s\\\\\\\\.s)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pseudo.mips\\\"},{\\\"match\\\":\\\"\\\\\\\\b(abs\\\\\\\\.d|abs\\\\\\\\.s|add|add\\\\\\\\.d|add\\\\\\\\.s|addiu??|addu|andi??|bc1f|bc1t|beq|bgez|bgezal|bgtz|blez|bltz|bltzal|bne|break|c\\\\\\\\.eq\\\\\\\\.d|c\\\\\\\\.eq\\\\\\\\.s|c\\\\\\\\.le\\\\\\\\.d|c\\\\\\\\.le\\\\\\\\.s|c\\\\\\\\.lt\\\\\\\\.d|c\\\\\\\\.lt\\\\\\\\.s|ceil\\\\\\\\.w\\\\\\\\.d|ceil\\\\\\\\.w\\\\\\\\.s|clo|clz|cvt\\\\\\\\.d\\\\\\\\.s|cvt\\\\\\\\.d\\\\\\\\.w|cvt\\\\\\\\.s\\\\\\\\.d|cvt\\\\\\\\.s\\\\\\\\.w|cvt\\\\\\\\.w\\\\\\\\.d|cvt\\\\\\\\.w\\\\\\\\.s|div|div\\\\\\\\.d|div\\\\\\\\.s|divu|eret|floor\\\\\\\\.w\\\\\\\\.d|floor\\\\\\\\.w\\\\\\\\.s|j|jalr??|jr|lbu??|lhu??|ll|lui|lw|lwc1|lwl|lwr|maddu??|mfc0|mfc1|mfhi|mflo|mov\\\\\\\\.d|mov\\\\\\\\.s|movf|movf\\\\\\\\.d|movf\\\\\\\\.s|movn|movn\\\\\\\\.d|movn\\\\\\\\.s|movt|movt\\\\\\\\.d|movt\\\\\\\\.s|movz|movz\\\\\\\\.d|movz\\\\\\\\.s|msub|mtc0|mtc1|mthi|mtlo|mul|mul\\\\\\\\.d|mul\\\\\\\\.s|multu??|neg\\\\\\\\.d|neg\\\\\\\\.s|nop|nor|ori??|round\\\\\\\\.w\\\\\\\\.d|round\\\\\\\\.w\\\\\\\\.s|sb|sc|sdc1|sh|sllv??|slti??|sltiu|sltu|sqrt\\\\\\\\.d|sqrt\\\\\\\\.s|srav??|srlv??|sub|sub\\\\\\\\.d|sub\\\\\\\\.s|subu|sw|swc1|swl|swr|syscall|teqi??|tgei??|tgeiu|tgeu|tlti??|tltiu|tltu|trunc\\\\\\\\.w\\\\\\\\.d|trunc\\\\\\\\.w\\\\\\\\.s|xori??)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mips\\\"},{\\\"match\\\":\\\"\\\\\\\\.(asciiz??|byte|data|double|float|half|kdata|ktext|space|text|word|set\\\\\\\\s*(noat|at))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.mips\\\"},{\\\"match\\\":\\\"\\\\\\\\.(align|extern||globl)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.mips\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.label.mips\\\"}},\\\"match\\\":\\\"\\\\\\\\b([0-9A-Z_a-z]+):\\\",\\\"name\\\":\\\"meta.function.label.mips\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.mips\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([02-9]|1[0-9]|2[0-5]|2[89]|3[01])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.usable.by-number.mips\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.mips\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(zero|v[01]|a[0-3]|t[0-9]|s[0-7]|gp|sp|fp|ra)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.usable.by-name.mips\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.mips\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(at|k[01]|1|2[67])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.reserved.mips\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.mips\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)f([0-9]|1[0-9]|2[0-9]|3[01])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.register.usable.floating-point.mips\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.mips\\\"},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+|0([Xx])\\\\\\\\h+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.mips\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.mips\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.mips\\\"}},\\\"name\\\":\\\"string.quoted.double.mips\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.mips\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.mips\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.mips\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.mips\\\"}]}],\\\"scopeName\\\":\\\"source.mips\\\",\\\"aliases\\\":[\\\"mips\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "mipsasm" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2nGAAs2G,CAAC,EAE93GC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CLIx6TIR.js b/src/webview-ui/build/assets/chunk-CLIx6TIR.js new file mode 100644 index 0000000000..d16a0c5b0b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CLIx6TIR.js @@ -0,0 +1,16 @@ +import e from "./chunk-C3rowuyE.js" +import t from "./chunk-CXhxxCfG.js" +import n from "./chunk-B_vNuMnf.js" +import a from "./chunk-B9xm8XSJ.js" +import r from "./chunk-BMMyXqK5.js" +import i from "./chunk-Cp-IABpG.js" +import p from "./chunk-DPfMkruS.js" +import "./chunk-CylS5w8V.js" +const o = Object.freeze( + JSON.parse( + `{"displayName":"Blade","fileTypes":["blade.php"],"foldingStartMarker":"(/\\\\*|\\\\{\\\\s*$|<<))","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.php"}},"end":"(?!\\\\G)(\\\\s*$\\\\n)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.php"}},"patterns":[{"begin":"<\\\\?(?i:php|=)?","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"contentName":"source.php","end":"(\\\\?)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}},"name":"meta.embedded.block.php","patterns":[{"include":"#language"}]}]},{"begin":"<\\\\?(?i:php|=)?(?![^?]*\\\\?>)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"contentName":"source.php","end":"(\\\\?)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}},"name":"meta.embedded.block.php","patterns":[{"include":"#language"}]},{"begin":"<\\\\?(?i:php|=)?","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"}},"name":"meta.embedded.line.php","patterns":[{"captures":{"1":{"name":"source.php"},"2":{"name":"punctuation.section.embedded.end.php"},"3":{"name":"source.php"}},"match":"\\\\G(\\\\s*)((\\\\?))(?=>)","name":"meta.special.empty-tag.php"},{"begin":"\\\\G","contentName":"source.php","end":"(\\\\?)(?=>)","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}},"patterns":[{"include":"#language"}]}]}]}},"name":"blade","patterns":[{"include":"text.html.derivative"}],"repository":{"balance_brackets":{"patterns":[{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#balance_brackets"}]},{"match":"[^()]+"}]},"blade":{"patterns":[{"begin":"\\\\{\\\\{--","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.blade"}},"end":"--}}","endCaptures":{"0":{"name":"punctuation.definition.comment.end.blade"}},"name":"comment.block.blade","patterns":[{"begin":"^(\\\\s*)(?=<\\\\?(?![^?]*\\\\?>))","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.php"}},"end":"(?!\\\\G)(\\\\s*$\\\\n)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.php"}},"name":"invalid.illegal.php-code-in-comment.blade","patterns":[{"begin":"<\\\\?(?i:php|=)?","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"contentName":"source.php","end":"(\\\\?)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}},"name":"meta.embedded.block.php","patterns":[{"include":"#language"}]}]},{"begin":"<\\\\?(?i:php|=)?(?![^?]*\\\\?>)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"contentName":"source.php","end":"(\\\\?)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}},"name":"invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php","patterns":[{"include":"#language"}]},{"begin":"<\\\\?(?i:php|=)?","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"}},"name":"invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php","patterns":[{"captures":{"1":{"name":"source.php"},"2":{"name":"punctuation.section.embedded.end.php"},"3":{"name":"source.php"}},"match":"\\\\G(\\\\s*)((\\\\?))(?=>)","name":"meta.special.empty-tag.php"},{"begin":"\\\\G","contentName":"source.php","end":"(\\\\?)(?=>)","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"source.php"}},"patterns":[{"include":"#language"}]}]}]},{"begin":"(?)","name":"comment.line.double-slash.php"}]},{"begin":"(^\\\\s+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\n|(?=\\\\?>)","name":"comment.line.number-sign.php"}]}]},"constants":{"patterns":[{"match":"(?i)\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\b","name":"constant.language.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\b","name":"support.constant.core.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\b","name":"support.constant.std.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\b","name":"support.constant.ext.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\b","name":"support.constant.parser-token.php"},{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"constant.other.php"}]},"function-call":{"patterns":[{"begin":"(?i)(\\\\\\\\?\\\\b[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*(?:\\\\\\\\[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)+)\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#namespace"},{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"entity.name.function.php"}]},"2":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#language"}]},{"begin":"(?i)(\\\\\\\\)?\\\\b([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#namespace"}]},"2":{"patterns":[{"include":"#support"},{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"entity.name.function.php"}]},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#language"}]},{"match":"(?i)\\\\b(print|echo)\\\\b","name":"support.function.construct.output.php"}]},"function-parameters":{"patterns":[{"include":"#comments"},{"match":",","name":"punctuation.separator.delimiter.php"},{"begin":"(?i)(array)\\\\s+((&)?\\\\s*(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(=)\\\\s*(array)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.php"},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"keyword.operator.assignment.php"},"6":{"name":"support.function.construct.php"},"7":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"contentName":"meta.array.php","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.function.parameter.array.php","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"}]},{"captures":{"1":{"name":"storage.type.php"},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"keyword.operator.assignment.php"},"6":{"name":"constant.language.php"},"7":{"name":"punctuation.section.array.begin.php"},"8":{"patterns":[{"include":"#parameter-default-types"}]},"9":{"name":"punctuation.section.array.end.php"},"10":{"name":"invalid.illegal.non-null-typehinted.php"}},"match":"(?i)(array|callable)\\\\s+((&)?\\\\s*(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)(?:\\\\s*(=)\\\\s*(?:(null)|(\\\\[)((?>[^]\\\\[]+|\\\\[\\\\g<8>])*)(])|(\\\\S*?\\\\(\\\\)|\\\\S*?)))?\\\\s*(?=[),]|/[*/]|#|$)","name":"meta.function.parameter.array.php"},{"begin":"(?i)(\\\\\\\\?(?:[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*\\\\\\\\)*)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s+((&)?\\\\s*(\\\\.\\\\.\\\\.)?(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)","beginCaptures":{"1":{"name":"support.other.namespace.php","patterns":[{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"storage.type.php"},{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]},"2":{"name":"storage.type.php"},"3":{"name":"variable.other.php"},"4":{"name":"storage.modifier.reference.php"},"5":{"name":"keyword.operator.variadic.php"},"6":{"name":"punctuation.definition.variable.php"}},"end":"(?=[),]|/[*/]|#)","name":"meta.function.parameter.typehinted.php","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.php"}},"end":"(?=[),]|/[*/]|#)","patterns":[{"include":"#language"}]}]},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"keyword.operator.variadic.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((&)?\\\\s*(\\\\.\\\\.\\\\.)?(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(?=[),]|/[*/]|#|$)","name":"meta.function.parameter.no-default.php"},{"begin":"(?i)((&)?\\\\s*(\\\\.\\\\.\\\\.)?(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(=)\\\\s*(?:(\\\\[)((?>[^]\\\\[]+|\\\\[\\\\g<6>])*)(]))?","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"keyword.operator.variadic.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"keyword.operator.assignment.php"},"6":{"name":"punctuation.section.array.begin.php"},"7":{"patterns":[{"include":"#parameter-default-types"}]},"8":{"name":"punctuation.section.array.end.php"}},"end":"(?=[),]|/[*/]|#)","name":"meta.function.parameter.default.php","patterns":[{"include":"#parameter-default-types"}]}]},"heredoc":{"patterns":[{"begin":"(?i)(?=<<<\\\\s*(\\"?)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)(\\\\1)\\\\s*$)","end":"(?!\\\\G)","name":"string.unquoted.heredoc.php","patterns":[{"include":"#heredoc_interior"}]},{"begin":"(?=<<<\\\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\\\s*$)","end":"(?!\\\\G)","name":"string.unquoted.nowdoc.php","patterns":[{"include":"#nowdoc_interior"}]}]},"heredoc_interior":{"patterns":[{"begin":"(<<<)\\\\s*(\\"?)(HTML)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.html","patterns":[{"include":"#interpolation"},{"include":"text.html.basic"}]},{"begin":"(<<<)\\\\s*(\\"?)(XML)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.xml","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.xml","patterns":[{"include":"#interpolation"},{"include":"text.xml"}]},{"begin":"(<<<)\\\\s*(\\"?)(SQL)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.sql","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.sql","patterns":[{"include":"#interpolation"},{"include":"source.sql"}]},{"begin":"(<<<)\\\\s*(\\"?)(J(?:AVASCRIPT|S))(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.js","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.js","patterns":[{"include":"#interpolation"},{"include":"source.js"}]},{"begin":"(<<<)\\\\s*(\\"?)(JSON)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.json","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.json","patterns":[{"include":"#interpolation"},{"include":"source.json"}]},{"begin":"(<<<)\\\\s*(\\"?)(CSS)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.css","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.css","patterns":[{"include":"#interpolation"},{"include":"source.css"}]},{"begin":"(<<<)\\\\s*(\\"?)(REGEXP?)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"string.regexp.heredoc.php","end":"^(\\\\3)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"patterns":[{"include":"#interpolation"},{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repitition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\\\\\[]'\\\\[\\\\\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"},{"begin":"(?i)(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?_a-z\\\\x7F-ÿ[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.line.number-sign.php"}]},{"begin":"(?i)(<<<)\\\\s*(\\"?)([_a-z\\\\x7F-ÿ]+[0-9_a-z\\\\x7F-ÿ]*)(\\\\2)(\\\\s*)","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"end":"^(\\\\3)\\\\b","endCaptures":{"1":{"name":"keyword.operator.heredoc.php"}},"patterns":[{"include":"#interpolation"}]}]},"instantiation":{"begin":"(?i)(new)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.new.php"}},"end":"(?i)(?=[^0-9\\\\\\\\_a-z\\\\x7F-ÿ])","patterns":[{"match":"(?i)(parent|static|self)(?![0-9_a-z\\\\x7F-ÿ])","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]},"interpolation":{"patterns":[{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.php"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.character.escape.hex.php"},{"match":"\\\\\\\\u\\\\{\\\\h+}","name":"constant.character.escape.unicode.php"},{"match":"\\\\\\\\[\\"$\\\\\\\\efnrtv]","name":"constant.character.escape.php"},{"begin":"\\\\{(?=\\\\$.*?})","beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"#language"}]},{"include":"#variable-name"}]},"invoke-call":{"captures":{"1":{"name":"punctuation.definition.variable.php"},"2":{"name":"variable.other.php"}},"match":"(?i)(\\\\$+)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)(?=\\\\s*\\\\()","name":"meta.function-call.invoke.php"},"language":{"patterns":[{"include":"#comments"},{"begin":"(?i)^\\\\s*(interface)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(extends)?\\\\s*","beginCaptures":{"1":{"name":"storage.type.interface.php"},"2":{"name":"entity.name.type.interface.php"},"3":{"name":"storage.modifier.extends.php"}},"end":"(?i)((?:[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*\\\\s*,\\\\s*)*)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?\\\\s*(?:(?=\\\\{)|$)","endCaptures":{"1":{"patterns":[{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"entity.other.inherited-class.php"},{"match":",","name":"punctuation.separator.classes.php"}]},"2":{"name":"entity.other.inherited-class.php"}},"name":"meta.interface.php","patterns":[{"include":"#namespace"}]},{"begin":"(?i)^\\\\s*(trait)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)","beginCaptures":{"1":{"name":"storage.type.trait.php"},"2":{"name":"entity.name.type.trait.php"}},"end":"(?=\\\\{)","name":"meta.trait.php","patterns":[{"include":"#comments"}]},{"captures":{"1":{"name":"keyword.other.namespace.php"},"2":{"name":"entity.name.type.namespace.php","patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]}},"match":"(?i)(?:^|(?<=<\\\\?php))\\\\s*(namespace)\\\\s+([0-9\\\\\\\\_a-z\\\\x7F-ÿ]+)(?=\\\\s*;)","name":"meta.namespace.php"},{"begin":"(?i)(?:^|(?<=<\\\\?php))\\\\s*(namespace)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.namespace.php"}},"end":"(?<=})|(?=\\\\?>)","name":"meta.namespace.php","patterns":[{"include":"#comments"},{"captures":{"0":{"patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]}},"match":"(?i)[0-9\\\\\\\\_a-z\\\\x7F-ÿ]+","name":"entity.name.type.namespace.php"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.namespace.begin.bracket.curly.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.namespace.end.bracket.curly.php"}},"patterns":[{"include":"#language"}]},{"match":"\\\\S+","name":"invalid.illegal.identifier.php"}]},{"match":"\\\\s+(?=use\\\\b)"},{"begin":"(?i)\\\\buse\\\\b","beginCaptures":{"0":{"name":"keyword.other.use.php"}},"end":"(?<=})|(?=;)","name":"meta.use.php","patterns":[{"match":"\\\\b(const|function)\\\\b","name":"storage.type.\${1:/downcase}.php"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.use.begin.bracket.curly.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.use.end.bracket.curly.php"}},"patterns":[{"include":"#scope-resolution"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"name":"storage.modifier.php"},"3":{"name":"entity.other.alias.php"}},"match":"(?i)\\\\b(as)\\\\s+(final|abstract|public|private|protected|static)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\b"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"match":"^(?:final|abstract|public|private|protected|static)$","name":"storage.modifier.php"},{"match":".+","name":"entity.other.alias.php"}]}},"match":"(?i)\\\\b(as)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\b"},{"captures":{"1":{"name":"keyword.other.use-insteadof.php"},"2":{"name":"support.class.php"}},"match":"(?i)\\\\b(insteadof)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)"},{"match":";","name":"punctuation.terminator.expression.php"},{"include":"#use-inner"}]},{"include":"#use-inner"}]},{"begin":"(?i)^\\\\s*(?:(abstract|final)\\\\s+)?(class)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)","beginCaptures":{"1":{"name":"storage.modifier.\${1:/downcase}.php"},"2":{"name":"storage.type.class.php"},"3":{"name":"entity.name.type.class.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.class.end.bracket.curly.php"}},"name":"meta.class.php","patterns":[{"include":"#comments"},{"begin":"(?i)(extends)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.extends.php"}},"contentName":"meta.other.inherited-class.php","end":"(?i)(?=[^0-9\\\\\\\\_a-z\\\\x7F-ÿ])","patterns":[{"begin":"(?i)(?=\\\\\\\\?[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*\\\\\\\\)","end":"(?i)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?(?=[^0-9\\\\\\\\_a-z\\\\x7F-ÿ])","endCaptures":{"1":{"name":"entity.other.inherited-class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"include":"#namespace"},{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"entity.other.inherited-class.php"}]},{"begin":"(?i)(implements)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.implements.php"}},"end":"(?i)(?=[;{])","patterns":[{"include":"#comments"},{"begin":"(?i)(?=[0-9\\\\\\\\_a-z\\\\x7F-ÿ]+)","contentName":"meta.other.inherited-class.php","end":"(?i)\\\\s*(?:,|(?=[^0-9\\\\\\\\_a-z\\\\x7F-ÿ\\\\s]))\\\\s*","patterns":[{"begin":"(?i)(?=\\\\\\\\?[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*\\\\\\\\)","end":"(?i)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?(?=[^0-9\\\\\\\\_a-z\\\\x7F-ÿ])","endCaptures":{"1":{"name":"entity.other.inherited-class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"include":"#namespace"},{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"entity.other.inherited-class.php"}]}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.class.begin.bracket.curly.php"}},"contentName":"meta.class.body.php","end":"(?=}|\\\\?>)","patterns":[{"include":"#language"}]}]},{"include":"#switch_statement"},{"captures":{"1":{"name":"keyword.control.\${1:/downcase}.php"}},"match":"\\\\s*\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\b"},{"begin":"(?i)\\\\b((?:require|include)(?:_once)?)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.include.php"}},"end":"(?=[;\\\\s]|$|\\\\?>)","name":"meta.include.php","patterns":[{"include":"#language"}]},{"begin":"\\\\b(catch)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.exception.catch.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"name":"meta.catch.php","patterns":[{"include":"#namespace"},{"captures":{"1":{"name":"support.class.exception.php"},"2":{"patterns":[{"match":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","name":"support.class.exception.php"},{"match":"\\\\|","name":"punctuation.separator.delimiter.php"}]},"3":{"name":"variable.other.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)((?:\\\\s*\\\\|\\\\s*[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)*)\\\\s*((\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)"}]},{"match":"\\\\b(catch|try|throw|exception|finally)\\\\b","name":"keyword.control.exception.php"},{"begin":"(?i)\\\\b(function)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.function.php"}},"end":"(?=\\\\{)","name":"meta.function.closure.php","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"patterns":[{"include":"#function-parameters"}]},{"begin":"(?i)(use)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.function.use.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"patterns":[{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((&)?\\\\s*(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(?=[),])","name":"meta.function.closure.use.php"}]}]},{"begin":"((?:(?:final|abstract|public|private|protected|static)\\\\s+)*)(function)\\\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|clone|set_state|sleep|wakeup|autoload|invoke|callStatic))|([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"final|abstract|public|private|protected|static","name":"storage.modifier.php"}]},"2":{"name":"storage.type.function.php"},"3":{"name":"support.function.magic.php"},"4":{"name":"entity.name.function.php"},"5":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"(\\\\))(?:\\\\s*(:)\\\\s*([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.bracket.round.php"},"2":{"name":"keyword.operator.return-value.php"},"3":{"name":"storage.type.php"}},"name":"meta.function.php","patterns":[{"include":"#function-parameters"}]},{"include":"#invoke-call"},{"include":"#scope-resolution"},{"include":"#variables"},{"include":"#strings"},{"captures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"},"3":{"name":"punctuation.definition.array.end.bracket.round.php"}},"match":"(array)(\\\\()(\\\\))","name":"meta.array.empty.php"},{"begin":"(array)(\\\\()","beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.array.php","patterns":[{"include":"#language"}]},{"captures":{"1":{"name":"punctuation.definition.storage-type.begin.bracket.round.php"},"2":{"name":"storage.type.php"},"3":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\\\()\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\s*(\\\\))"},{"match":"(?i)\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\\\b","name":"storage.type.php"},{"match":"(?i)\\\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\\\b","name":"storage.modifier.php"},{"include":"#object"},{"match":";","name":"punctuation.terminator.expression.php"},{"match":":","name":"punctuation.terminator.statement.php"},{"include":"#heredoc"},{"include":"#numbers"},{"match":"(?i)\\\\bclone\\\\b","name":"keyword.other.clone.php"},{"match":"\\\\.=?","name":"keyword.operator.string.php"},{"match":"=>","name":"keyword.operator.key.php"},{"captures":{"1":{"name":"keyword.operator.assignment.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"storage.modifier.reference.php"}},"match":"(?i)(=)(&)|(&)(?=[$_a-z])"},{"match":"@","name":"keyword.operator.error-control.php"},{"match":"===?|!==?|<>","name":"keyword.operator.comparison.php"},{"match":"(?:|[-%\\\\&*+/^|]|<<|>>)=","name":"keyword.operator.assignment.php"},{"match":"<=>?|>=|[<>]","name":"keyword.operator.comparison.php"},{"match":"--|\\\\+\\\\+","name":"keyword.operator.increment-decrement.php"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.php"},{"match":"(?i)(!|&&|\\\\|\\\\|)|\\\\b(and|or|xor|as)\\\\b","name":"keyword.operator.logical.php"},{"include":"#function-call"},{"match":"<<|>>|[\\\\&^|~]","name":"keyword.operator.bitwise.php"},{"begin":"(?i)\\\\b(instanceof)\\\\s+(?=[$\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.operator.type.php"}},"end":"(?=[^$0-9\\\\\\\\_a-z\\\\x7F-ÿ])","patterns":[{"include":"#class-name"},{"include":"#variable-name"}]},{"include":"#instantiation"},{"captures":{"1":{"name":"keyword.control.goto.php"},"2":{"name":"support.other.php"}},"match":"(?i)(goto)\\\\s+([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)"},{"captures":{"1":{"name":"entity.name.goto-label.php"}},"match":"(?i)^\\\\s*([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*:(?!:)"},{"include":"#string-backtick"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.php"}},"patterns":[{"include":"#language"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"end":"]|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.section.array.end.php"}},"patterns":[{"include":"#language"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.php"}},"patterns":[{"include":"#language"}]},{"include":"#constants"},{"match":",","name":"punctuation.separator.delimiter.php"}]},"namespace":{"begin":"(?i)(?:(namespace)|[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?(\\\\\\\\)(?=.*?[^0-9\\\\\\\\_a-z\\\\x7F-ÿ])","beginCaptures":{"1":{"name":"variable.language.namespace.php"},"2":{"name":"punctuation.separator.inheritance.php"}},"end":"(?i)(?=[0-9_a-z\\\\x7F-ÿ]*[^0-9\\\\\\\\_a-z\\\\x7F-ÿ])","name":"support.other.namespace.php","patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]},"nowdoc_interior":{"patterns":[{"begin":"(<<<)\\\\s*'(HTML)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.html","patterns":[{"include":"text.html.basic"}]},{"begin":"(<<<)\\\\s*'(XML)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.xml","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.xml","patterns":[{"include":"text.xml"}]},{"begin":"(<<<)\\\\s*'(SQL)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.sql","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.sql","patterns":[{"include":"source.sql"}]},{"begin":"(<<<)\\\\s*'(J(?:AVASCRIPT|S))'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.js","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.js","patterns":[{"include":"source.js"}]},{"begin":"(<<<)\\\\s*'(JSON)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.json","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.json","patterns":[{"include":"source.json"}]},{"begin":"(<<<)\\\\s*'(CSS)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.css","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.css","patterns":[{"include":"source.css"}]},{"begin":"(<<<)\\\\s*'(REGEXP?)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"string.regexp.nowdoc.php","end":"^(\\\\2)\\\\b","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"patterns":[{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repitition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\\\\\[]'\\\\[\\\\\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"},{"begin":"(?i)(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?_a-z\\\\x7F-ÿ[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.line.number-sign.php"}]},{"begin":"(?i)(<<<)\\\\s*'([_a-z\\\\x7F-ÿ]+[0-9_a-z\\\\x7F-ÿ]*)'(\\\\s*)","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"end":"^(\\\\2)\\\\b","endCaptures":{"1":{"name":"keyword.operator.nowdoc.php"}}}]},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.php"},{"match":"0[Bb][01]+","name":"constant.numeric.binary.php"},{"match":"0[0-7]+","name":"constant.numeric.octal.php"},{"captures":{"1":{"name":"punctuation.separator.decimal.period.php"},"2":{"name":"punctuation.separator.decimal.period.php"}},"match":"[0-9]*(\\\\.)[0-9]+(?:[Ee][-+]?[0-9]+)?|[0-9]+(\\\\.)[0-9]*(?:[Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+","name":"constant.numeric.decimal.php"},{"match":"0|[1-9][0-9]*","name":"constant.numeric.decimal.php"}]},"object":{"patterns":[{"begin":"(->)(\\\\$?\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"#language"}]},{"begin":"(?i)(->)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.method-call.php","patterns":[{"include":"#language"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.property.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(->)((\\\\$+)?[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?"}]},"parameter-default-types":{"patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#string-backtick"},{"include":"#variables"},{"match":"=>","name":"keyword.operator.key.php"},{"match":"=","name":"keyword.operator.assignment.php"},{"match":"&(?=\\\\s*\\\\$)","name":"storage.modifier.reference.php"},{"begin":"(array)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.array.php","patterns":[{"include":"#parameter-default-types"}]},{"include":"#instantiation"},{"begin":"(?i)(?=[0-9\\\\\\\\_a-z\\\\x7F-ÿ]+(::)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?)","end":"(?i)(::)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?","endCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"constant.other.class.php"}},"patterns":[{"include":"#class-name"}]},{"include":"#constants"}]},"php_doc":{"patterns":[{"match":"^(?!\\\\s*\\\\*).*?(?:(?=\\\\*/)|$\\\\n?)","name":"invalid.illegal.missing-asterisk.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"3":{"name":"storage.modifier.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+((p(?:ublic|rivate|rotected))|(.+))\\\\s*$"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"2":{"name":"markup.underline.link.php"}},"match":"(@xlink)\\\\s+(.+)\\\\s*$"},{"begin":"(@(?:global|param|property(-(read|write))?|return|throws|var))\\\\s+(?=[(A-Z\\\\\\\\_a-z\\\\x7F-ÿ])","beginCaptures":{"1":{"name":"keyword.other.phpdoc.php"}},"contentName":"meta.other.type.phpdoc.php","end":"(?=\\\\s|\\\\*/)","patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"}]},{"match":"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\\\b","name":"keyword.other.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"}},"match":"\\\\{(@(link|inherit[Dd]oc)).+?}","name":"meta.tag.inline.phpdoc.php"}]},"php_doc_types":{"captures":{"0":{"patterns":[{"match":"\\\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self)\\\\b","name":"keyword.other.type.php"},{"include":"#class-name"},{"match":"\\\\|","name":"punctuation.separator.delimiter.php"}]}},"match":"(?i)[\\\\\\\\_a-z\\\\x7F-ÿ][0-9\\\\\\\\_a-z\\\\x7F-ÿ]*(\\\\|[\\\\\\\\_a-z\\\\x7F-ÿ][0-9\\\\\\\\_a-z\\\\x7F-ÿ]*)*"},"php_doc_types_array_multiple":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.bracket.round.phpdoc.php"}},"end":"(\\\\))(\\\\[])|(?=\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.type.end.bracket.round.phpdoc.php"},"2":{"name":"keyword.other.array.phpdoc.php"}},"patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"},{"match":"\\\\|","name":"punctuation.separator.delimiter.php"}]},"php_doc_types_array_single":{"captures":{"1":{"patterns":[{"include":"#php_doc_types"}]},"2":{"name":"keyword.other.array.phpdoc.php"}},"match":"(?i)([\\\\\\\\_a-z\\\\x7F-ÿ][0-9\\\\\\\\_a-z\\\\x7F-ÿ]*)(\\\\[])"},"regex-double-quoted":{"begin":"\\"/(?=(\\\\\\\\.|[^\\"/])++/[ADSUXeimsux]*\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.double-quoted.php","patterns":[{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"include":"#interpolation"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"include":"#interpolation"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"regex-single-quoted":{"begin":"'/(?=(\\\\\\\\(?:\\\\\\\\(?:\\\\\\\\['\\\\\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(')","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.single-quoted.php","patterns":[{"include":"#single_quote_regex_escape"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php"},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"scope-resolution":{"patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\b(self|static|parent)\\\\b","name":"storage.type.php"},{"match":"\\\\w+","name":"entity.name.class.php"},{"include":"#class-name"},{"include":"#variable-name"}]}},"match":"(?i)\\\\b([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)(?=\\\\s*::)"},{"begin":"(?i)(::)\\\\s*([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.method-call.static.php","patterns":[{"include":"#language"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"keyword.other.class.php"}},"match":"(?i)(::)\\\\s*(class)\\\\b"},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.class.php"},"3":{"name":"punctuation.definition.variable.php"},"4":{"name":"constant.other.class.php"}},"match":"(?i)(::)\\\\s*(?:((\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)|([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*))?"}]},"single_quote_regex_escape":{"match":"\\\\\\\\(?:\\\\\\\\(?:\\\\\\\\['\\\\\\\\]?|[^'])|.)","name":"constant.character.escape.php"},"sql-string-double-quoted":{"begin":"\\"\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.sql.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(#)(\\\\\\\\\\"|[^\\"])*(?=\\"|$)","name":"comment.line.number-sign.sql"},{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(--)(\\\\\\\\\\"|[^\\"])*(?=\\"|$)","name":"comment.line.double-dash.sql"},{"match":"\\\\\\\\[\\"'\\\\\\\\\`]","name":"constant.character.escape.php"},{"match":"'(?=((\\\\\\\\')|[^\\"'])*(\\"|$))","name":"string.quoted.single.unclosed.sql"},{"match":"\`(?=((\\\\\\\\\`)|[^\\"\`])*(\\"|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"begin":"'","end":"'","name":"string.quoted.single.sql","patterns":[{"include":"#interpolation"}]},{"begin":"\`","end":"\`","name":"string.quoted.other.backtick.sql","patterns":[{"include":"#interpolation"}]},{"include":"#interpolation"},{"include":"source.sql"}]},"sql-string-single-quoted":{"begin":"'\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.sql.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(#)(\\\\\\\\'|[^'])*(?='|$)","name":"comment.line.number-sign.sql"},{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(--)(\\\\\\\\'|[^'])*(?='|$)","name":"comment.line.double-dash.sql"},{"match":"\\\\\\\\[\\"'\\\\\\\\\`]","name":"constant.character.escape.php"},{"match":"\`(?=((\\\\\\\\\`)|[^'\`])*('|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"match":"\\"(?=((\\\\\\\\\\")|[^\\"'])*('|$))","name":"string.quoted.double.unclosed.sql"},{"include":"source.sql"}]},"string-backtick":{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.interpolated.php","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.php"},{"include":"#interpolation"}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.php","patterns":[{"include":"#interpolation"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.php","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.php"}]},"strings":{"patterns":[{"include":"#regex-double-quoted"},{"include":"#sql-string-double-quoted"},{"include":"#string-double-quoted"},{"include":"#regex-single-quoted"},{"include":"#sql-string-single-quoted"},{"include":"#string-single-quoted"}]},"support":{"patterns":[{"match":"(?i)\\\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\\\b","name":"support.function.apc.php"},{"match":"(?i)\\\\b(shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|(diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?))\\\\b","name":"support.function.array.php"},{"match":"(?i)\\\\b(show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser)\\\\b","name":"support.function.basic_functions.php"},{"match":"(?i)\\\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\\\b","name":"support.function.bcmath.php"},{"match":"(?i)\\\\bblenc_encrypt\\\\b","name":"support.function.blenc.php"},{"match":"(?i)\\\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\\\b","name":"support.function.bz2.php"},{"match":"(?i)\\\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\\\b","name":"support.function.calendar.php"},{"match":"(?i)\\\\b(class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits)))\\\\b","name":"support.function.classobj.php"},{"match":"(?i)\\\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\\\b","name":"support.function.com.php"},{"begin":"(?i)\\\\b(isset|unset|eval|empty|list)\\\\b","name":"support.function.construct.php"},{"match":"(?i)\\\\b(print|echo)\\\\b","name":"support.function.construct.output.php"},{"match":"(?i)\\\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\\\b","name":"support.function.ctype.php"},{"match":"(?i)\\\\bcurl_(share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|errno|error|exec|version|file_create|reset|getinfo|multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec))\\\\b","name":"support.function.curl.php"},{"match":"(?i)\\\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_([gs]et)|timezone_([gs]et)|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_([gs]et)|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\\\b","name":"support.function.datetime.php"},{"match":"(?i)\\\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\\\b","name":"support.function.dba.php"},{"match":"(?i)\\\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\\\b","name":"support.function.dbx.php"},{"match":"(?i)\\\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\\\b","name":"support.function.dir.php"},{"match":"(?i)\\\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\\\b","name":"support.function.eio.php"},{"match":"(?i)\\\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\\\b","name":"support.function.enchant.php"},{"match":"(?i)\\\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\\\b","name":"support.function.ereg.php"},{"match":"(?i)\\\\b((restore|set)_(e(?:rror|xception)_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\\\b","name":"support.function.errorfunc.php"},{"match":"(?i)\\\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\\\b","name":"support.function.exec.php"},{"match":"(?i)\\\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\\\b","name":"support.function.exif.php"},{"match":"(?i)\\\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\\\b","name":"support.function.fann.php"},{"match":"(?i)\\\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename)\\\\b","name":"support.function.file.php"},{"match":"(?i)\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\b","name":"support.function.fileinfo.php"},{"match":"(?i)\\\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\\\b","name":"support.function.filter.php"},{"match":"(?i)\\\\bfastcgi_finish_request\\\\b","name":"support.function.fpm.php"},{"match":"(?i)\\\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\\\b","name":"support.function.funchand.php"},{"match":"(?i)\\\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\\\b","name":"support.function.gettext.php"},{"match":"(?i)\\\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_square|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul)\\\\b","name":"support.function.gmp.php"},{"match":"(?i)\\\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\\\b","name":"support.function.hash.php"},{"match":"(?i)\\\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\\\b","name":"support.function.http.php"},{"match":"(?i)\\\\b(iconv(_(str(pos|len|rpos)|substr|([gs]et)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\b","name":"support.function.iconv.php"},{"match":"(?i)\\\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\\\b","name":"support.function.iisfunc.php"},{"match":"(?i)\\\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|grab(screen|window)|xbm))\\\\b","name":"support.function.image.php"},{"match":"(?i)\\\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_([gs]et)_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\\\b","name":"support.function.info.php"},{"match":"(?i)\\\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\\\b","name":"support.function.interbase.php"},{"match":"(?i)\\\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\\\b","name":"support.function.intl.php"},{"match":"(?i)\\\\bjson_(decode|encode|last_error(_msg)?)\\\\b","name":"support.function.json.php"},{"match":"(?i)\\\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\\\b","name":"support.function.ldap.php"},{"match":"(?i)\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\b","name":"support.function.libxml.php"},{"match":"(?i)\\\\b(ezmlm_hash|mail)\\\\b","name":"support.function.mail.php"},{"match":"(?i)\\\\b((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1([0p]))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert)\\\\b","name":"support.function.math.php"},{"match":"(?i)\\\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info)\\\\b","name":"support.function.mbstring.php"},{"match":"(?i)\\\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\\\b","name":"support.function.mcrypt.php"},{"match":"(?i)\\\\bmemcache_debug\\\\b","name":"support.function.memcache.php"},{"match":"(?i)\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\b","name":"support.function.mhash.php"},{"match":"(?i)\\\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\\\b","name":"support.function.mongo.php"},{"match":"(?i)\\\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\\\b","name":"support.function.mysql.php"},{"match":"(?i)\\\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_([gs]et)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\\\b","name":"support.function.mysqli.php"},{"match":"(?i)\\\\bmysqlnd_memcache_(set|get_config)\\\\b","name":"support.function.mysqlnd-memcache.php"},{"match":"(?i)\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\\\b","name":"support.function.mysqlnd-ms.php"},{"match":"(?i)\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\\\b","name":"support.function.mysqlnd-qc.php"},{"match":"(?i)\\\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\\\b","name":"support.function.mysqlnd-uh.php"},{"match":"(?i)\\\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr))\\\\b","name":"support.function.network.php"},{"match":"(?i)\\\\bnsapi_(virtual|response_headers|request_headers)\\\\b","name":"support.function.nsapi.php"},{"match":"(?i)\\\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\\\b","name":"support.function.oci8.php"},{"match":"(?i)\\\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\\\b","name":"support.function.opcache.php"},{"match":"(?i)\\\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_iv_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read))\\\\b","name":"support.function.openssl.php"},{"match":"(?i)\\\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\\\b","name":"support.function.output.php"},{"match":"(?i)\\\\bpassword_(hash|needs_rehash|verify|get_info)\\\\b","name":"support.function.password.php"},{"match":"(?i)\\\\bpcntl_(strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|w(stopsig|termsig|if((?:stopp|signal|exit)ed))|wait(pid)?|alarm|getpriority|get_last_error)\\\\b","name":"support.function.pcntl.php"},{"match":"(?i)\\\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\\\b","name":"support.function.pgsql.php"},{"match":"(?i)\\\\b(virtual|getallheaders|apache_(([gs]et)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\\\b","name":"support.function.php_apache.php"},{"match":"(?i)\\\\bdom_import_simplexml\\\\b","name":"support.function.php_dom.php"},{"match":"(?i)\\\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\\\b","name":"support.function.php_ftp.php"},{"match":"(?i)\\\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\\\b","name":"support.function.php_imap.php"},{"match":"(?i)\\\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\\\b","name":"support.function.php_mssql.php"},{"match":"(?i)\\\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\\\b","name":"support.function.php_odbc.php"},{"match":"(?i)\\\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\\\b","name":"support.function.php_pcre.php"},{"match":"(?i)\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\b","name":"support.function.php_spl.php"},{"match":"(?i)\\\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\\\b","name":"support.function.php_zip.php"},{"match":"(?i)\\\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo)\\\\b","name":"support.function.posix.php"},{"match":"(?i)\\\\bset(thread|proc)title\\\\b","name":"support.function.proctitle.php"},{"match":"(?i)\\\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\\\b","name":"support.function.pspell.php"},{"match":"(?i)\\\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\\\b","name":"support.function.readline.php"},{"match":"(?i)\\\\brecode(_(string|file))?\\\\b","name":"support.function.recode.php"},{"match":"(?i)\\\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\\\b","name":"support.function.rrd.php"},{"match":"(?i)\\\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\\\b","name":"support.function.sem.php"},{"match":"(?i)\\\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|regenerate_id|get_cookie_params|module_name)\\\\b","name":"support.function.session.php"},{"match":"(?i)\\\\bshmop_(size|close|open|delete|write|read)\\\\b","name":"support.function.shmop.php"},{"match":"(?i)\\\\bsimplexml_(import_dom|load_(string|file))\\\\b","name":"support.function.simplexml.php"},{"match":"(?i)\\\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\\\b","name":"support.function.snmp.php"},{"match":"(?i)\\\\b(is_soap_fault|use_soap_error_handler)\\\\b","name":"support.function.soap.php"},{"match":"(?i)\\\\bsocket_(shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|read|get(peer|sock)name|get_option)\\\\b","name":"support.function.sockets.php"},{"match":"(?i)\\\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\\\b","name":"support.function.sqlite.php"},{"match":"(?i)\\\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\\\b","name":"support.function.sqlsrv.php"},{"match":"(?i)\\\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\\\b","name":"support.function.stats.php"},{"match":"(?i)\\\\b(s(?:et_socket_blocking|tream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|bucket_(new|prepend|append|make_writeable))))\\\\b","name":"support.function.streamsfuncs.php"},{"match":"(?i)\\\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\\\b","name":"support.function.string.php"},{"match":"(?i)\\\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\\\b","name":"support.function.sybase.php"},{"match":"(?i)\\\\b(taint|is_tainted|untaint)\\\\b","name":"support.function.taint.php"},{"match":"(?i)\\\\b(tidy_(([gs]et)opt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\\\b","name":"support.function.tidy.php"},{"match":"(?i)\\\\btoken_(name|get_all)\\\\b","name":"support.function.tokenizer.php"},{"match":"(?i)\\\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\\\b","name":"support.function.trader.php"},{"match":"(?i)\\\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\\\b","name":"support.function.uopz.php"},{"match":"(?i)\\\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\b","name":"support.function.url.php"},{"match":"(?i)\\\\b(strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type))\\\\b","name":"support.function.var.php"},{"match":"(?i)\\\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\\\b","name":"support.function.wddx.php"},{"match":"(?i)\\\\bxhprof_(sample_)?((?:dis|en)able)\\\\b","name":"support.function.xhprof.php"},{"match":"(?i)\\\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_(([gs]et)_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\\\b","name":"support.function.xml.php"},{"match":"(?i)\\\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|([gs]et)_type)\\\\b","name":"support.function.xmlrpc.php"},{"match":"(?i)\\\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\\\b","name":"support.function.xmlwriter.php"},{"match":"(?i)\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?))\\\\b","name":"support.function.zlib.php"},{"match":"(?i)\\\\bis_int(eger)?\\\\b","name":"support.function.alias.php"}]},"switch_statement":{"patterns":[{"match":"\\\\s+(?=switch\\\\b)"},{"begin":"\\\\bswitch\\\\b(?!\\\\s*\\\\(.*\\\\)\\\\s*:)","beginCaptures":{"0":{"name":"keyword.control.switch.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.section.switch-block.end.bracket.curly.php"}},"name":"meta.switch-statement.php","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.switch-expression.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.switch-expression.end.bracket.round.php"}},"patterns":[{"include":"#language"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.section.switch-block.begin.bracket.curly.php"}},"end":"(?=}|\\\\?>)","patterns":[{"include":"#language"}]}]}]},"use-inner":{"patterns":[{"include":"#comments"},{"begin":"(?i)\\\\b(as)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.use-as.php"}},"end":"(?i)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*","endCaptures":{"0":{"name":"entity.other.alias.php"}}},{"include":"#class-name"},{"match":",","name":"punctuation.separator.delimiter.php"}]},"var_basic":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*\\\\b","name":"variable.other.php"}]},"var_global":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg([cv]))\\\\b","name":"variable.other.global.php"},"var_global_safer":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\\\$)((GLOBALS|_(ENV|SERVER|SESSION)))","name":"variable.other.global.safer.php"},"var_language":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\\\$)this\\\\b","name":"variable.language.this.php"},"variable-name":{"patterns":[{"include":"#var_global"},{"include":"#var_global_safer"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"keyword.operator.class.php"},"5":{"name":"variable.other.property.php"},"6":{"name":"punctuation.section.array.begin.php"},"7":{"name":"constant.numeric.index.php"},"8":{"name":"variable.other.index.php"},"9":{"name":"punctuation.definition.variable.php"},"10":{"name":"string.unquoted.index.php"},"11":{"name":"punctuation.section.array.end.php"}},"match":"(?i)((\\\\$)(?[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*))(?:(->)(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*))(]))?"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((\\\\$\\\\{)(?[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)(}))"}]},"variables":{"patterns":[{"include":"#var_language"},{"include":"#var_global"},{"include":"#var_global_safer"},{"include":"#var_basic"},{"begin":"\\\\$\\\\{(?=.*?})","beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"#language"}]}]}},"scopeName":"text.html.php.blade","embeddedLangs":["html-derivative","html","xml","sql","javascript","json","css"]}`, + ), + ), + b = [...e, ...t, ...n, ...a, ...r, ...i, ...p, o] +export { b as default } +//# sourceMappingURL=chunk-CLIx6TIR.js.map diff --git a/src/webview-ui/build/assets/chunk-CLIx6TIR.js.map b/src/webview-ui/build/assets/chunk-CLIx6TIR.js.map new file mode 100644 index 0000000000..2185d691d1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CLIx6TIR.js.map @@ -0,0 +1,26 @@ +{ + "version": 3, + "file": "chunk-CLIx6TIR.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/blade.mjs" + ], + "sourcesContent": [ + "import html_derivative from './html-derivative.mjs'\nimport html from './html.mjs'\nimport xml from './xml.mjs'\nimport sql from './sql.mjs'\nimport javascript from './javascript.mjs'\nimport json from './json.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Blade\\\",\\\"fileTypes\\\":[\\\"blade.php\\\"],\\\"foldingStartMarker\\\":\\\"(/\\\\\\\\*|\\\\\\\\{\\\\\\\\s*$|<<))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.php\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?(?![^?]*\\\\\\\\?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"}},\\\"name\\\":\\\"meta.embedded.line.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\s*)((\\\\\\\\?))(?=>)\\\",\\\"name\\\":\\\"meta.special.empty-tag.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)(?=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}]}},\\\"name\\\":\\\"blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"repository\\\":{\\\"balance_brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#balance_brackets\\\"}]},{\\\"match\\\":\\\"[^()]+\\\"}]},\\\"blade\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.blade\\\"}},\\\"end\\\":\\\"--}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.blade\\\"}},\\\"name\\\":\\\"comment.block.blade\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=<\\\\\\\\?(?![^?]*\\\\\\\\?>))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.php\\\"}},\\\"name\\\":\\\"invalid.illegal.php-code-in-comment.blade\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?(?![^?]*\\\\\\\\?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"}},\\\"name\\\":\\\"invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\s*)((\\\\\\\\?))(?=>)\\\",\\\"name\\\":\\\"meta.special.empty-tag.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)(?=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}]},{\\\"begin\\\":\\\"(?)\\\",\\\"name\\\":\\\"comment.line.double-slash.php\\\"}]},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.core.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.std.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.ext.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.parser-token.php\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"constant.other.php\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\\\\\\\\\?\\\\\\\\b[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*(?:\\\\\\\\\\\\\\\\[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.name.function.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.name.function.php\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"}]},\\\"function-parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"(?i)(array)\\\\\\\\s+((&)?\\\\\\\\s*(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(=)\\\\\\\\s*(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.array.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function.parameter.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"},\\\"10\\\":{\\\"name\\\":\\\"invalid.illegal.non-null-typehinted.php\\\"}},\\\"match\\\":\\\"(?i)(array|callable)\\\\\\\\s+((&)?\\\\\\\\s*(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(?:\\\\\\\\s*(=)\\\\\\\\s*(?:(null)|(\\\\\\\\[)((?>[^]\\\\\\\\[]+|\\\\\\\\[\\\\\\\\g<8>])*)(])|(\\\\\\\\S*?\\\\\\\\(\\\\\\\\)|\\\\\\\\S*?)))?\\\\\\\\s*(?=[),]|/[*/]|#|$)\\\",\\\"name\\\":\\\"meta.function.parameter.array.php\\\"},{\\\"begin\\\":\\\"(?i)(\\\\\\\\\\\\\\\\?(?:[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\\\\\\\\\)*)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s+((&)?\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"(?=[),]|/[*/]|#)\\\",\\\"name\\\":\\\"meta.function.parameter.typehinted.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=[),]|/[*/]|#)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((&)?\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(?=[),]|/[*/]|#|$)\\\",\\\"name\\\":\\\"meta.function.parameter.no-default.php\\\"},{\\\"begin\\\":\\\"(?i)((&)?\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(=)\\\\\\\\s*(?:(\\\\\\\\[)((?>[^]\\\\\\\\[]+|\\\\\\\\[\\\\\\\\g<6>])*)(]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"end\\\":\\\"(?=[),]|/[*/]|#)\\\",\\\"name\\\":\\\"meta.function.parameter.default.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=<<<\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\1)\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.heredoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc_interior\\\"}]},{\\\"begin\\\":\\\"(?=<<<\\\\\\\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.nowdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nowdoc_interior\\\"}]}]},\\\"heredoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(HTML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(XML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(SQL)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(J(?:AVASCRIPT|S))(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(JSON)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(CSS)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(REGEXP?)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.heredoc.php\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-ÿ[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-ÿ]+[0-9_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\2)(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"instantiation\\\":{\\\"begin\\\":\\\"(?i)(new)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"}},\\\"end\\\":\\\"(?i)(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(parent|static|self)(?![0-9_a-z\\\\\\\\x7F-ÿ])\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.octal.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{1,2}\\\",\\\"name\\\":\\\"constant.character.escape.hex.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h+}\\\",\\\"name\\\":\\\"constant.character.escape.unicode.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"$\\\\\\\\\\\\\\\\efnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{(?=\\\\\\\\$.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"invoke-call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\$+)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function-call.invoke.php\\\"},\\\"language\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(interface)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(extends)?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"end\\\":\\\"(?i)((?:[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\s*,\\\\\\\\s*)*)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?\\\\\\\\s*(?:(?=\\\\\\\\{)|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.classes.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"name\\\":\\\"meta.interface.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(trait)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.trait.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.trait.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.trait.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+)(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"meta.namespace.php\\\"},{\\\"begin\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.namespace.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+\\\",\\\"name\\\":\\\"entity.name.type.namespace.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.identifier.php\\\"}]},{\\\"match\\\":\\\"\\\\\\\\s+(?=use\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\buse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.use.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"name\\\":\\\"meta.use.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(const|function)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.${1:/downcase}.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+(final|abstract|public|private|protected|static)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?:final|abstract|public|private|protected|static)$\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.other.alias.php\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-insteadof.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(insteadof)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(?:(abstract|final)\\\\\\\\s+)?(class)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.${1:/downcase}.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.class.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"contentName\\\":\\\"meta.other.inherited-class.php\\\",\\\"end\\\":\\\"(?i)(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}]},{\\\"begin\\\":\\\"(?i)(implements)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.php\\\"}},\\\"end\\\":\\\"(?i)(?=[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+)\\\",\\\"contentName\\\":\\\"meta.other.inherited-class.php\\\",\\\"end\\\":\\\"(?i)\\\\\\\\s*(?:,|(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ\\\\\\\\s]))\\\\\\\\s*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.class.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.${1:/downcase}.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b((?:require|include)(?:_once)?)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.php\\\"}},\\\"end\\\":\\\"(?=[;\\\\\\\\s]|$|\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.include.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.exception.catch.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.catch.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.exception.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"support.class.exception.php\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)((?:\\\\\\\\s*\\\\\\\\|\\\\\\\\s*[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)*)\\\\\\\\s*((\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(catch|try|throw|exception|finally)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(function)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function.closure.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"(?i)(use)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.function.use.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((&)?\\\\\\\\s*(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(?=[),])\\\",\\\"name\\\":\\\"meta.function.closure.use.php\\\"}]}]},{\\\"begin\\\":\\\"((?:(?:final|abstract|public|private|protected|static)\\\\\\\\s+)*)(function)\\\\\\\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|clone|set_state|sleep|wakeup|autoload|invoke|callStatic))|([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract|public|private|protected|static\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.magic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"(\\\\\\\\))(?:\\\\\\\\s*(:)\\\\\\\\s*([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.php\\\"}},\\\"name\\\":\\\"meta.function.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"include\\\":\\\"#invoke-call\\\"},{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(array)(\\\\\\\\()(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.array.empty.php\\\"},{\\\"begin\\\":\\\"(array)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.begin.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\()\\\\\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.terminator.statement.php\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bclone\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.clone.php\\\"},{\\\"match\\\":\\\"\\\\\\\\.=?\\\",\\\"name\\\":\\\"keyword.operator.string.php\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"}},\\\"match\\\":\\\"(?i)(=)(&)|(&)(?=[$_a-z])\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.operator.error-control.php\\\"},{\\\"match\\\":\\\"===?|!==?|<>\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"(?:|[-%\\\\\\\\&*+/^|]|<<|>>)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"<=>?|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.php\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.php\\\"},{\\\"match\\\":\\\"(?i)(!|&&|\\\\\\\\|\\\\\\\\|)|\\\\\\\\b(and|or|xor|as)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.php\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"match\\\":\\\"<<|>>|[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(instanceof)\\\\\\\\s+(?=[$\\\\\\\\\\\\\\\\_a-z])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.php\\\"}},\\\"end\\\":\\\"(?=[^$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.goto.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.php\\\"}},\\\"match\\\":\\\"(?i)(goto)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.goto-label.php\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*:(?!:)\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"}},\\\"end\\\":\\\"]|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"namespace\\\":{\\\"begin\\\":\\\"(?i)(?:(namespace)|[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?(\\\\\\\\\\\\\\\\)(?=.*?[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"end\\\":\\\"(?i)(?=[0-9_a-z\\\\\\\\x7F-ÿ]*[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"name\\\":\\\"support.other.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]},\\\"nowdoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(HTML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(XML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(SQL)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(J(?:AVASCRIPT|S))'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(JSON)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(CSS)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(REGEXP?)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.nowdoc.php\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-ÿ[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*'([_a-z\\\\\\\\x7F-ÿ]+[0-9_a-z\\\\\\\\x7F-ÿ]*)'(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}}}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.php\\\"},{\\\"match\\\":\\\"0[Bb][01]+\\\",\\\"name\\\":\\\"constant.numeric.binary.php\\\"},{\\\"match\\\":\\\"0[0-7]+\\\",\\\"name\\\":\\\"constant.numeric.octal.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"}},\\\"match\\\":\\\"[0-9]*(\\\\\\\\.)[0-9]+(?:[Ee][-+]?[0-9]+)?|[0-9]+(\\\\\\\\.)[0-9]*(?:[Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"},{\\\"match\\\":\\\"0|[1-9][0-9]*\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"}]},\\\"object\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(->)(\\\\\\\\$?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?i)(->)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(->)((\\\\\\\\$+)?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?\\\"}]},\\\"parameter-default-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"&(?=\\\\\\\\s*\\\\\\\\$)\\\",\\\"name\\\":\\\"storage.modifier.reference.php\\\"},{\\\"begin\\\":\\\"(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+(::)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?)\\\",\\\"end\\\":\\\"(?i)(::)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"}]},{\\\"include\\\":\\\"#constants\\\"}]},\\\"php_doc\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?!\\\\\\\\s*\\\\\\\\*).*?(?:(?=\\\\\\\\*/)|$\\\\\\\\n?)\\\",\\\"name\\\":\\\"invalid.illegal.missing-asterisk.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.wrong-access-type.phpdoc.php\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\*\\\\\\\\s*(@access)\\\\\\\\s+((p(?:ublic|rivate|rotected))|(.+))\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.php\\\"}},\\\"match\\\":\\\"(@xlink)\\\\\\\\s+(.+)\\\\\\\\s*$\\\"},{\\\"begin\\\":\\\"(@(?:global|param|property(-(read|write))?|return|throws|var))\\\\\\\\s+(?=[(A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"contentName\\\":\\\"meta.other.type.phpdoc.php\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"}]},{\\\"match\\\":\\\"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"match\\\":\\\"\\\\\\\\{(@(link|inherit[Dd]oc)).+?}\\\",\\\"name\\\":\\\"meta.tag.inline.phpdoc.php\\\"}]},\\\"php_doc_types\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]}},\\\"match\\\":\\\"(?i)[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ][0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]*(\\\\\\\\|[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ][0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]*)*\\\"},\\\"php_doc_types_array_multiple\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.bracket.round.phpdoc.php\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\[])|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.bracket.round.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"php_doc_types_array_single\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"match\\\":\\\"(?i)([\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ][0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\[])\\\"},\\\"regex-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"/(?=(\\\\\\\\\\\\\\\\.|[^\\\\\\\"/])++/[ADSUXeimsux]*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.double-quoted.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"regex-single-quoted\\\":{\\\"begin\\\":\\\"'/(?=(\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.single-quoted.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single_quote_regex_escape\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\"},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"scope-resolution\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(self|static|parent)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.class.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(?=\\\\\\\\s*::)\\\"},{\\\"begin\\\":\\\"(?i)(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.static.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(class)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(?:((\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)|([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*))?\\\"}]},\\\"single_quote_regex_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},\\\"sql-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"'(?=((\\\\\\\\\\\\\\\\')|[^\\\\\\\"'])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.single.unclosed.sql\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^\\\\\\\"`])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"sql-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^'`])*('|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"match\\\":\\\"\\\\\\\"(?=((\\\\\\\\\\\\\\\\\\\\\\\")|[^\\\\\\\"'])*('|$))\\\",\\\"name\\\":\\\"string.quoted.double.unclosed.sql\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"string-backtick\\\":{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.interpolated.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex-double-quoted\\\"},{\\\"include\\\":\\\"#sql-string-double-quoted\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#regex-single-quoted\\\"},{\\\"include\\\":\\\"#sql-string-single-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.apc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|(diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.array.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.basic_functions.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bcmath.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bblenc_encrypt\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.blenc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bz2.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.calendar.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.classobj.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.com.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(isset|unset|eval|empty|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ctype.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bcurl_(share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|errno|error|exec|version|file_create|reset|getinfo|multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.curl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_([gs]et)|timezone_([gs]et)|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_([gs]et)|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.datetime.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dba.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dbx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dir.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.eio.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.enchant.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ereg.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((restore|set)_(e(?:rror|xception)_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.errorfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exec.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exif.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fann.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.file.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fileinfo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.filter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfastcgi_finish_request\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fpm.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.funchand.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gettext.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_square|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.hash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.http.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iconv(_(str(pos|len|rpos)|substr|([gs]et)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iconv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iisfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|grab(screen|window)|xbm))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.image.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_([gs]et)_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.info.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.interbase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.intl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bjson_(decode|encode|last_error(_msg)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.json.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ldap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.libxml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ezmlm_hash|mail)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mail.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1([0p]))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.math.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mbstring.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mcrypt.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmemcache_debug\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mhash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mongo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_([gs]et)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqli.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_memcache_(set|get_config)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-ms.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-qc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-uh.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.network.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bnsapi_(virtual|response_headers|request_headers)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.nsapi.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.oci8.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.opcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_iv_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.openssl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpassword_(hash|needs_rehash|verify|get_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.password.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpcntl_(strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|w(stopsig|termsig|if((?:stopp|signal|exit)ed))|wait(pid)?|alarm|getpriority|get_last_error)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pcntl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pgsql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(virtual|getallheaders|apache_(([gs]et)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_apache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdom_import_simplexml\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_dom.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_ftp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_imap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_mssql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_odbc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_pcre.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_spl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_zip.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.posix.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bset(thread|proc)title\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.proctitle.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pspell.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.readline.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brecode(_(string|file))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.recode.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.rrd.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sem.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|regenerate_id|get_cookie_params|module_name)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.session.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bshmop_(size|close|open|delete|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.shmop.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsimplexml_(import_dom|load_(string|file))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.simplexml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.snmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(is_soap_fault|use_soap_error_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.soap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsocket_(shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|read|get(peer|sock)name|get_option)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sockets.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlite.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlsrv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.stats.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(s(?:et_socket_blocking|tream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|bucket_(new|prepend|append|make_writeable))))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.streamsfuncs.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.string.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sybase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(taint|is_tainted|untaint)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.taint.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(tidy_(([gs]et)opt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tidy.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btoken_(name|get_all)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tokenizer.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.trader.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.uopz.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.url.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.var.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.wddx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxhprof_(sample_)?((?:dis|en)able)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xhprof.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_(([gs]et)_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|([gs]et)_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlrpc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlwriter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.zlib.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bis_int(eger)?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.alias.php\\\"}]},\\\"switch_statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+(?=switch\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"\\\\\\\\bswitch\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\(.*\\\\\\\\)\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.switch.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.switch-statement.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}]},\\\"use-inner\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"}},\\\"end\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}}},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"var_basic\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.php\\\"}]},\\\"var_global\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg([cv]))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.global.php\\\"},\\\"var_global_safer\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((GLOBALS|_(ENV|SERVER|SESSION)))\\\",\\\"name\\\":\\\"variable.other.global.safer.php\\\"},\\\"var_language\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)this\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.this.php\\\"},\\\"variable-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.index.php\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.other.index.php\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.unquoted.index.php\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$)(?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*))(?:(->)(\\\\\\\\g)|(\\\\\\\\[)(?:(\\\\\\\\d+)|((\\\\\\\\$)\\\\\\\\g)|([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*))(]))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$\\\\\\\\{)(?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(}))\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_language\\\"},{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"include\\\":\\\"#var_basic\\\"},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{(?=.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}},\\\"scopeName\\\":\\\"text.html.php.blade\\\",\\\"embeddedLangs\\\":[\\\"html-derivative\\\",\\\"html\\\",\\\"xml\\\",\\\"sql\\\",\\\"javascript\\\",\\\"json\\\",\\\"css\\\"]}\"))\n\nexport default [\n...html_derivative,\n...html,\n...xml,\n...sql,\n...javascript,\n...json,\n...css,\nlang\n]\n" + ], + "names": [ + "lang", + "blade", + "html_derivative", + "html", + "xml", + "sql", + "javascript", + "json", + "css" + ], + "mappings": "iRAQA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,03pGAAsq3G,CAAC,EAE9r3GC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHR,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CLxacb5B.js b/src/webview-ui/build/assets/chunk-CLxacb5B.js new file mode 100644 index 0000000000..447a11fb02 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CLxacb5B.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Objective-C++","name":"objective-cpp","patterns":[{"include":"#cpp_lang"},{"include":"#anonymous_pattern_1"},{"include":"#anonymous_pattern_2"},{"include":"#anonymous_pattern_3"},{"include":"#anonymous_pattern_4"},{"include":"#anonymous_pattern_5"},{"include":"#apple_foundation_functional_macros"},{"include":"#anonymous_pattern_7"},{"include":"#anonymous_pattern_8"},{"include":"#anonymous_pattern_9"},{"include":"#anonymous_pattern_10"},{"include":"#anonymous_pattern_11"},{"include":"#anonymous_pattern_12"},{"include":"#anonymous_pattern_13"},{"include":"#anonymous_pattern_14"},{"include":"#anonymous_pattern_15"},{"include":"#anonymous_pattern_16"},{"include":"#anonymous_pattern_17"},{"include":"#anonymous_pattern_18"},{"include":"#anonymous_pattern_19"},{"include":"#anonymous_pattern_20"},{"include":"#anonymous_pattern_21"},{"include":"#anonymous_pattern_22"},{"include":"#anonymous_pattern_23"},{"include":"#anonymous_pattern_24"},{"include":"#anonymous_pattern_25"},{"include":"#anonymous_pattern_26"},{"include":"#anonymous_pattern_27"},{"include":"#anonymous_pattern_28"},{"include":"#anonymous_pattern_29"},{"include":"#anonymous_pattern_30"},{"include":"#bracketed_content"},{"include":"#c_lang"}],"repository":{"anonymous_pattern_1":{"begin":"((@)(interface|protocol))(?!.+;)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*((:)\\\\s*([A-Za-z][0-9A-Za-z]*))?([\\\\n\\\\s])?","captures":{"1":{"name":"storage.type.objcpp"},"2":{"name":"punctuation.definition.storage.type.objcpp"},"4":{"name":"entity.name.type.objcpp"},"6":{"name":"punctuation.definition.entity.other.inherited-class.objcpp"},"7":{"name":"entity.other.inherited-class.objcpp"},"8":{"name":"meta.divider.objcpp"},"9":{"name":"meta.inherited-class.objcpp"}},"contentName":"meta.scope.interface.objcpp","end":"((@)end)\\\\b","name":"meta.interface-or-protocol.objcpp","patterns":[{"include":"#interface_innards"}]},"anonymous_pattern_10":{"captures":{"1":{"name":"punctuation.definition.keyword.objcpp"}},"match":"(@)(defs|encode)\\\\b","name":"keyword.other.objcpp"},"anonymous_pattern_11":{"match":"\\\\bid\\\\b","name":"storage.type.id.objcpp"},"anonymous_pattern_12":{"match":"\\\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\\\b","name":"storage.type.objcpp"},"anonymous_pattern_13":{"captures":{"1":{"name":"punctuation.definition.storage.type.objcpp"}},"match":"(@)(class|protocol)\\\\b","name":"storage.type.objcpp"},"anonymous_pattern_14":{"begin":"((@)selector)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.objcpp"},"2":{"name":"punctuation.definition.storage.type.objcpp"},"3":{"name":"punctuation.definition.storage.type.objcpp"}},"contentName":"meta.selector.method-name.objcpp","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.storage.type.objcpp"}},"name":"meta.selector.objcpp","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objcpp"}},"match":"\\\\b(?:[:A-Z_a-z]\\\\w*)+","name":"support.function.any-method.name-of-parameter.objcpp"}]},"anonymous_pattern_15":{"captures":{"1":{"name":"punctuation.definition.storage.modifier.objcpp"}},"match":"(@)(synchronized|public|package|private|protected)\\\\b","name":"storage.modifier.objcpp"},"anonymous_pattern_16":{"match":"\\\\b(YES|NO|Nil|nil)\\\\b","name":"constant.language.objcpp"},"anonymous_pattern_17":{"match":"\\\\bNSApp\\\\b","name":"support.variable.foundation.objcpp"},"anonymous_pattern_18":{"captures":{"1":{"name":"punctuation.whitespace.support.function.cocoa.leopard.objcpp"},"2":{"name":"support.function.cocoa.leopard.objcpp"}},"match":"(\\\\s*)\\\\b(NS(Rect((?:To|From)CGRect)|MakeCollectable|S(tringFromProtocol|ize((?:To|From)CGSize))|Draw((?:Nin|Thre)ePartImage)|P(oint((?:To|From)CGPoint)|rotocolFromString)|EventMaskFromType|Value))\\\\b"},"anonymous_pattern_19":{"captures":{"1":{"name":"punctuation.whitespace.support.function.leading.cocoa.objcpp"},"2":{"name":"support.function.cocoa.objcpp"}},"match":"(\\\\s*)\\\\b(NS(R(ound((?:Down|Up)ToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set((?:Map|Hash)Table)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l((?:MemoryAvail|locateCollect)able))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n([XY])|d([XY]))|ouseInRect|a(p(Remove|Get|Member|Insert((?:If|Known)Absent)?)|ke(R(ect|ange)|Size|Point)|x(Range|[XY])))|B(itsPer((?:Sample|Pixel)FromDepth)|e(stDepth|ep|gin((?:Critical|Informational|)AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert((?:If|Known)Absent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped((?:Double|Float)ToHost)|Host((?:Double|Float)ToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare((?:Map|Hash)Tables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File((?:name|Contents)PboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d((?:Map|Hash)TableEnumeration)|umerate((?:Map|Hash)Table)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee((?:Map|Hash)Table)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\\\b"},"anonymous_pattern_2":{"begin":"((@)(implementation))\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(?::\\\\s*([A-Za-z][0-9A-Za-z]*))?","captures":{"1":{"name":"storage.type.objcpp"},"2":{"name":"punctuation.definition.storage.type.objcpp"},"4":{"name":"entity.name.type.objcpp"},"5":{"name":"entity.other.inherited-class.objcpp"}},"contentName":"meta.scope.implementation.objcpp","end":"((@)end)\\\\b","name":"meta.implementation.objcpp","patterns":[{"include":"#implementation_innards"}]},"anonymous_pattern_20":{"match":"\\\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\\\b","name":"support.class.cocoa.leopard.objcpp"},"anonymous_pattern_21":{"match":"\\\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an((?:dom|ge)Specifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech((?:Recogn|Synthes)izer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con((?:|trolCon)nector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p((?:ound|arison)Predicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o([ns]eCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n((?:iqueIDSpecifi|doManag|archiv)er))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated((?:Toobar|UserInterface)Item)|ue(Transformer)?))|Keyed((?:Una|A)rchiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\\\b","name":"support.class.cocoa.objcpp"},"anonymous_pattern_22":{"match":"\\\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D((?:ocumentContent|TDNode)Kind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing((?:Compare|Drawing|EncodingConversion)Options)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView((?:SelectionHighlight|ColumnAutoresizing)Style)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\\\b","name":"support.type.cocoa.leopard.objcpp"},"anonymous_pattern_23":{"match":"\\\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans((?:i|ac)tion))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\\\b","name":"support.class.quartz.objcpp"},"anonymous_pattern_24":{"match":"\\\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\\\b","name":"support.type.quartz.objcpp"},"anonymous_pattern_25":{"match":"\\\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B((?:itmapImageFileTyp|orderTyp|uttonTyp|ezelStyl|ackingStoreTyp|rowserColumnResizingTyp)e)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar((?:Size|Display)Mode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL((?:Contex|PixelForma)tAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace((?:IconCreation|Launch)Options)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication((?:Terminate|Delegate|Print)Reply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\\\b","name":"support.type.cocoa.objcpp"},"anonymous_pattern_26":{"match":"\\\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\\\b","name":"support.constant.cocoa.objcpp"},"anonymous_pattern_27":{"match":"\\\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\\\b","name":"support.constant.notification.cocoa.leopard.objcpp"},"anonymous_pattern_28":{"match":"\\\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView((?:Did|Will)ResizeSubviews))|C(o(nt(extHelpModeDid((?:Dea|A)ctivate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor((?:PanelColor|List)DidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar((?:DidRemove|WillAdd)Item)|ext(Storage((?:Did|Will)ProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton((?:Cell|)WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F((?:ocus|rame)DidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid((?:Resign|Become)Active)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\\\b","name":"support.constant.notification.cocoa.objcpp"},"anonymous_pattern_29":{"match":"\\\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws((?:BeforeStart|AfterEnd)ingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech((?:Sentence|Immediate|Word)Boundary)|llingState((?:Grammar|Spelling)Flag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M((?:iscellaneous|alformedServiceDictionary)Error)|InvalidPasteboardDataError|ErrorM((?:in|ax)imum)|Application((?:NotFoun|LaunchFaile)dError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally((?:|UpOr)Down)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16((?:BigEndian||LittleEndian)StringEncoding)|32((?:BigEndian||LittleEndian)StringEncoding)))|P(ointerFunctions(Ma((?:chVirtual|lloc)Memory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP((?:ointerP|)ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM((?:in|ax)imum)|L((?:ink|oad)Error)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead((?:TooLarge|UnknownStringEncoding)Error))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\\\b","name":"support.constant.cocoa.leopard.objcpp"},"anonymous_pattern_3":{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objcpp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objcpp"}},"name":"string.quoted.double.objcpp","patterns":[{"include":"#string_escaped_char"},{"match":"%(\\\\d+\\\\$)?[- #'+0]*((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?@","name":"constant.other.placeholder.objcpp"},{"include":"#string_placeholder"}]},"anonymous_pattern_30":{"match":"\\\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed((?:Bezel|Token|DisclosureBezel)Style)|Down|Up|Plain|Line((?:Cap|Join)Style))|un((?:Stopped|Continues|Aborted)Response)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver((?:sCantHandleCommand|Evaluation)ScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A((?:|gains)tAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use((?:Sing|Doub)leQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot((?:Start|Finish)edError)|Mi(splaced((?:XMLDeclaration|CDATAEndString)Error)|xedContentDeclNot((?:Start|Finish)edError))|S(t(andaloneValueError|ringNot((?:Start|Clos)edError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot((?:Start|Finish)edError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In((?:DTD|Prolog|Epilog)Error)|AtEOFError)|o(nditionalSectionNot((?:Start|Finish)edError)|mment((?:NotFinished|ContainsDoubleHyphen)Error))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter((?:Ref|InEntity|)Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding((?:Name|)Error)))|OutOfMemoryError|D((?:ocumentStart|elegateAbortedParse|OCTYPEDeclNotFinished)Error)|U(RI((?:Required|Fragment)Error)|n((?:declaredEntity|parsedEntity|knownEncoding|finishedTag)Error))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal((?:Subset|)Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot((?:Start|Finish)edError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In((?:DTD|Prolog|Epilog)Error)|erence((?:MissingSemi|WithoutName)Error)|LoopError|AtEOFError)|BoundaryError|Not((?:Start|Finish)edError)|Is((?:Parameter|External)Error)|ValueRequiredError))|qualExpectedError|lementContentDeclNot((?:Start|Finish)edError)|xt(ernalS((?:tandaloneEntity|ubsetNotFinished)Error)|raContentError)|mptyDocumentError)|L(iteralNot((?:Start|Finish)edError)|T((?:|Slash)RequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not((?:Start|Finish)edError)|ListNot((?:Start|Finish)edError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar((?:sed|ameter)Kind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E((?:lement|mpty)Kind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(s?Kind)|otationKind)|CDATAKind|ID(Ref(s?Kind)|Kind)|DeclarationKind|En(tit((?:y|ies)Kind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push((?:|In)Button)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x([XY]Edge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore((?:Retain|Buffer|Nonretain)ed)|TabCharacter|wardsSearch|groundTab)|r(owser((?:No|User|Auto)ColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow((?:Control|Invisible)Glyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M((?:in|ax)End)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has((?:Bytes|Space)Available)|None|OpenCompleted|E((?:ndEncounte|rrorOccur)red)))))|i(ngle(DateMode|UnderlineStyle)|ze((?:Down|Up)FontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity((?:Down|Up)stream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute((?:Second|)DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa((?:yDa|)tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs((?:Bezel|No|Line)Border))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S((?:cientific|pellOut)Style)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before((?:Suf|Pre)fix)|After((?:Suf|Pre)fix))))))|e(t(Services(BadArgumentError|NotFoundError|C((?:ollision|ancelled)Error)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C((?:MYK|olorList|ustomPalette|rayon)ModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick((?:|er)SquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX([34])|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM((?:in|ax)imum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table((?:Fixed|Automatic)LayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid((?:Horizont|Vertic)alGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert((?:Char||Line)FunctionKey)|t(Type|ernalS((?:cript|pecifier)Error))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin([12]StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS((?:cript|pecifier)Error))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr((?:ing|uct)Type)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long((?:|long)Type)|ArrayType))|D(i(s(c((?:losureBezel|reteCapacityLevelIndicator)Style)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument((?:|ation)Directory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper((?:|Application)Directory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos((?:ing|ed)State)|Open((?:ing|)State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS((?:cript|pecifier)Error))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG((?:2000|)FileType)|apaneseEUC((?:GlyphPack|StringEncod)ing))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve((?:Int|Double|Float)Type)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge((?:Down|Up)FunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred((?:Small||Large|Aqua)Thickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in([XY]Margin)|ax([XY]Margin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM((?:in|ax)imum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping((?:BackAndForth|)Playback))|F(1((?:[1-4789]|5?|[06])FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No((?:SuchFile|Permission)Error)|CorruptFileError|In((?:validFileName|applicableStringEncoding)Error)|Un((?:supportedScheme|known)Error))|HandlingPanel((?:Cancel|OK)Button)|NoSuchFileError|ErrorM((?:in|ax)imum)|Write(NoPermissionError|In((?:validFileName|applicableStringEncoding)Error)|OutOfSpaceError|Un((?:supportedScheme|known)Error))|LockingError)|xedPitchFontMask)|2((?:[1-4789]|5?|[06])FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S((?:ymbolic|cripts|labSerifs|ansSerif)Class)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O((?:ldStyleSerif|rnamental)sClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t((?:andardModes|rikethroughEffectMode)Mask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All((?:Modes|EffectsMode)Mask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased((?:|IntegerAdvancements)RenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M((?:in|ax)imum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3((?:[1-4]|5?|0)FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125([0-4]StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day((?:|Ordinal)CalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C((?:harWra|li)pping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan([12]CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto((?:saveOper|Pagin)ation)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert((?:SecondButton|ThirdButton|Other|Default|Error|FirstButton|Alternate)Return)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument((?:sWrong|Evaluation)ScriptError)|bove(Bottom|Top)|WTEventType))\\\\b","name":"support.constant.cocoa.objcpp"},"anonymous_pattern_4":{"begin":"\\\\b(id)\\\\s*(?=<)","beginCaptures":{"1":{"name":"storage.type.objcpp"}},"end":"(?<=>)","name":"meta.id-with-protocol.objcpp","patterns":[{"include":"#protocol_list"}]},"anonymous_pattern_5":{"match":"\\\\b(NS_(?:DURING|HANDLER|ENDHANDLER))\\\\b","name":"keyword.control.macro.objcpp"},"anonymous_pattern_7":{"captures":{"1":{"name":"punctuation.definition.keyword.objcpp"}},"match":"(@)(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.objcpp"},"anonymous_pattern_8":{"captures":{"1":{"name":"punctuation.definition.keyword.objcpp"}},"match":"(@)(synchronized)\\\\b","name":"keyword.control.synchronize.objcpp"},"anonymous_pattern_9":{"captures":{"1":{"name":"punctuation.definition.keyword.objcpp"}},"match":"(@)(required|optional)\\\\b","name":"keyword.control.protocol-specification.objcpp"},"apple_foundation_functional_macros":{"begin":"\\\\b(API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.preprocessor.apple-foundation.objcpp"},"2":{"name":"punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objcpp"}},"name":"meta.preprocessor.macro.callable.apple-foundation.objcpp","patterns":[{"include":"#c_lang"}]},"bracketed_content":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.objcpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.scope.end.objcpp"}},"name":"meta.bracketed.objcpp","patterns":[{"begin":"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)","beginCaptures":{"1":{"name":"support.function.any-method.objcpp"},"2":{"name":"punctuation.separator.arguments.objcpp"}},"end":"(?=])","name":"meta.function-call.predicate.objcpp","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objcpp"}},"match":"\\\\bargument(Array|s)(:)","name":"support.function.any-method.name-of-parameter.objcpp"},{"captures":{"1":{"name":"punctuation.separator.arguments.objcpp"}},"match":"\\\\b\\\\w+(:)","name":"invalid.illegal.unknown-method.objcpp"},{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objcpp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objcpp"}},"name":"string.quoted.double.objcpp","patterns":[{"match":"\\\\b(AND|OR|NOT|IN)\\\\b","name":"keyword.operator.logical.predicate.cocoa.objcpp"},{"match":"\\\\b(ALL|ANY|SOME|NONE)\\\\b","name":"constant.language.predicate.cocoa.objcpp"},{"match":"\\\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\\\b","name":"constant.language.predicate.cocoa.objcpp"},{"match":"\\\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\\\b","name":"keyword.operator.comparison.predicate.cocoa.objcpp"},{"match":"\\\\bC(ASEINSENSITIVE|I)\\\\b","name":"keyword.other.modifier.predicate.cocoa.objcpp"},{"match":"\\\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\\\b","name":"keyword.other.predicate.cocoa.objcpp"},{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnrtv]|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x[0-9A-Za-z]+)","name":"constant.character.escape.objcpp"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.objcpp"}]},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}]},{"begin":"(?=\\\\w)(?<=[]\\")\\\\w] )(\\\\w+(?:(:)|(?=])))","beginCaptures":{"1":{"name":"support.function.any-method.objcpp"},"2":{"name":"punctuation.separator.arguments.objcpp"}},"end":"(?=])","name":"meta.function-call.objcpp","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objcpp"}},"match":"\\\\b\\\\w+(:)","name":"support.function.any-method.name-of-parameter.objcpp"},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}]},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$self"}]},"c_functions":{"patterns":[{"captures":{"1":{"name":"punctuation.whitespace.support.function.leading.objcpp"},"2":{"name":"support.function.C99.objcpp"}},"match":"(\\\\s*)\\\\b(hypot([fl])?|s(scanf|ystem|nprintf|ca(nf|lb(n([fl])?|ln([fl])?))|i(n(h([fl])?|[fl])?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt([fl])?|w(scanf|printf)|rand)|n(e(arbyint([fl])?|xt(toward([fl])?|after([fl])?))|an([fl])?)|c(s(in(h([fl])?|[fl])?|qrt([fl])?)|cos(h(f)?|[fl])?|imag([fl])?|t(ime|an(h([fl])?|[fl])?)|o(s(h([fl])?|[fl])?|nj([fl])?|pysign([fl])?)|p(ow([fl])?|roj([fl])?)|e(il([fl])?|xp([fl])?)|l(o(ck|g([fl])?)|earerr)|a(sin(h([fl])?|[fl])?|cos(h([fl])?|[fl])?|tan(h([fl])?|[fl])?|lloc|rg([fl])?|bs([fl])?)|real([fl])?|brt([fl])?)|t(ime|o(upper|lower)|an(h([fl])?|[fl])?|runc([fl])?|gamma([fl])?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb([fl])?|max(div|abs))|di(v|fftime)|_Exit|unget(w??c)|p(ow([fl])?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c([fl])?|[fl])?|x(it|p(2([fl])?|[fl]|m1([fl])?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim([fl])?|p(classify|ut([cs]|w([cs]))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor([fl])?|abs([fl])?|get([cs]|pos|w([cs]))|re(open|e|ad|xp([fl])?)|m(in([fl])?|od([fl])?|a([fl]|x([fl])?)?))|l(d(iv|exp([fl])?)|o(ngjmp|cal(time|econv)|g(1(p([fl])?|0([fl])?)|2([fl])?|[fl]|b([fl])?)?)|abs|l(div|abs|r(int([fl])?|ound([fl])?))|r(int([fl])?|ound([fl])?)|gamma([fl])?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(m??b)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h([fl])?|[fl])?)|cos(h([fl])?|[fl])?|t(o([fi]|l(l)?)|exit|an(h([fl])?|2([fl])?|[fl])?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int([fl])?|ound([fl])?|e(name|alloc|wind|m(ove|quo([fl])?|ainder([fl])?))|a(nd|ise))|b(search|towc)|m(odf([fl])?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\\\b"},{"captures":{"1":{"name":"punctuation.whitespace.function-call.leading.objcpp"},"2":{"name":"support.function.any-method.objcpp"},"3":{"name":"punctuation.definition.parameters.objcpp"}},"match":"(?:(?=\\\\s)(?:(?<=else|new|return)|(?[$A-Z_a-z][$\\\\w]*))(?:(\\\\()(\\\\s*\\\\g\\\\s*((,)\\\\s*\\\\g\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?","beginCaptures":{"1":{"name":"keyword.control.directive.define.objcpp"},"2":{"name":"punctuation.definition.directive.objcpp"},"3":{"name":"entity.name.function.preprocessor.objcpp"},"5":{"name":"punctuation.definition.parameters.begin.objcpp"},"6":{"name":"variable.parameter.preprocessor.objcpp"},"8":{"name":"punctuation.separator.parameters.objcpp"},"9":{"name":"punctuation.definition.parameters.end.objcpp"}},"end":"(?=/[*/])|(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.objcpp"}},"name":"string.quoted.other.lt-gt.include.objcpp"}]},{"include":"#pragma-mark"},{"begin":"^\\\\s*((#)\\\\s*line)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.objcpp"},"2":{"name":"punctuation.definition.directive.objcpp"}},"end":"(?=/[*/])|(?))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(?:\\\\.|->))*)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\()","beginCaptures":{"1":{"name":"variable.object.objcpp"},"2":{"name":"punctuation.separator.dot-access.objcpp"},"3":{"name":"punctuation.separator.pointer-access.objcpp"},"4":{"patterns":[{"match":"\\\\.","name":"punctuation.separator.dot-access.objcpp"},{"match":"->","name":"punctuation.separator.pointer-access.objcpp"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.object.objcpp"},{"match":".+","name":"everything.else.objcpp"}]},"5":{"name":"entity.name.function.member.objcpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objcpp"}},"name":"meta.function-call.member.objcpp","patterns":[{"include":"#function-call-innards"}]},"block":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"name":"meta.block.objcpp","patterns":[{"include":"#block_innards"}]}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#c_function_call"},{"begin":"(?=\\\\s)(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.objcpp"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.objcpp"}},"name":"meta.initialization.objcpp","patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"patterns":[{"include":"#block_innards"}]},{"include":"#parens-block"},{"include":"$base"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\s*\\\\(|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)","name":"meta.function-call.objcpp","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"begin":"((?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objcpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-call-innards"}]},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objcpp"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.objcpp"}},"name":"meta.function.definition.parameters.objcpp","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-innards"}]},{"include":"$base"}]},"line_continuation_character":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.line-continuation.objcpp"}},"match":"(\\\\\\\\)\\\\n"}]},"member_access":{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objcpp"}]},"2":{"name":"punctuation.separator.dot-access.objcpp"},"3":{"name":"punctuation.separator.pointer-access.objcpp"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objcpp"}]},"2":{"name":"punctuation.separator.dot-access.objcpp"},"3":{"name":"punctuation.separator.pointer-access.objcpp"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"variable.other.member.objcpp"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?-im:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*\\\\b((?!void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)[A-Z_a-z]\\\\w*\\\\b(?!\\\\())"},"method_access":{"begin":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?-im:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*([A-Z_a-z]\\\\w*)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objcpp"}]},"2":{"name":"punctuation.separator.dot-access.objcpp"},"3":{"name":"punctuation.separator.pointer-access.objcpp"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objcpp"}]},"2":{"name":"punctuation.separator.dot-access.objcpp"},"3":{"name":"punctuation.separator.pointer-access.objcpp"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"entity.name.function.member.objcpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objcpp"}},"contentName":"meta.function-call.member.objcpp","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objcpp"}},"patterns":[{"include":"#function-call-innards"}]},"numbers":{"begin":"(?>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.objcpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.objcpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.objcpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.objcpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.objcpp"},{"match":"=","name":"keyword.operator.assignment.objcpp"},{"match":"[-%*+/]","name":"keyword.operator.objcpp"},{"begin":"(\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.objcpp"}},"end":"(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.objcpp"}},"patterns":[{"include":"#function-call-innards"},{"include":"$base"}]}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"name":"meta.parens.objcpp","patterns":[{"include":"$base"}]},"parens-block":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"name":"meta.parens.block.objcpp","patterns":[{"include":"#block_innards"},{"match":"(?-im:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objcpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objcpp"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?:s|_S)tatic_assert)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.static_assert.objcpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objcpp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.objcpp"}},"patterns":[{"begin":"(,)\\\\s*(?=(?:L|u8?|U\\\\s*\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.objcpp"}},"end":"(?=\\\\))","name":"meta.static_assert.message.objcpp","patterns":[{"include":"#string_context"},{"include":"#string_context_c"}]},{"include":"#function_call_context"}]},"storage_types":{"patterns":[{"match":"(?-im:(?\\\\[])","name":"meta.block.switch.objcpp","patterns":[{"begin":"\\\\G ?","end":"(\\\\{|(?=;))","endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.objcpp"}},"name":"meta.head.switch.objcpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$base"}]},{"begin":"(?<=\\\\{)","end":"(})","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.objcpp"}},"name":"meta.body.switch.objcpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$base"},{"include":"#block_innards"}]},{"begin":"(?<=})[\\\\n\\\\s]*","end":"[\\\\n\\\\s]*(?=;)","name":"meta.tail.switch.objcpp","patterns":[{"include":"$base"}]}]},"vararg_ellipses":{"match":"(?\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.objcpp"}]}]}]},"cpp_lang":{"patterns":[{"include":"#special_block"},{"include":"#strings"},{"match":"\\\\b(friend|explicit|virtual|override|final|noexcept)\\\\b","name":"storage.modifier.objcpp"},{"match":"\\\\b(p(?:rivate:|rotected:|ublic:))","name":"storage.type.modifier.access.objcpp"},{"match":"\\\\b(catch|try|throw|using)\\\\b","name":"keyword.control.objcpp"},{"match":"\\\\b(?:delete\\\\b(\\\\s*\\\\[])?|new\\\\b(?!]))","name":"keyword.control.objcpp"},{"match":"\\\\b([fm])[A-Z]\\\\w*\\\\b","name":"variable.other.readwrite.member.objcpp"},{"match":"\\\\bthis\\\\b","name":"variable.language.this.objcpp"},{"match":"\\\\bnullptr\\\\b","name":"constant.language.objcpp"},{"include":"#template_definition"},{"match":"\\\\btemplate\\\\b\\\\s*","name":"storage.type.template.objcpp"},{"match":"\\\\b((?:const|dynamic|reinterpret|static)_cast)\\\\b\\\\s*","name":"keyword.operator.cast.objcpp"},{"captures":{"1":{"name":"entity.scope.objcpp"},"2":{"name":"entity.scope.name.objcpp"},"3":{"name":"punctuation.separator.namespace.access.objcpp"}},"match":"((?:[A-Z_a-z][0-9A-Z_a-z]*::)*)([A-Z_a-z][0-9A-Z_a-z]*)(::)","name":"punctuation.separator.namespace.access.objcpp"},{"match":"\\\\b(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\b","name":"keyword.operator.objcpp"},{"match":"\\\\b(decltype|wchar_t|char16_t|char32_t)\\\\b","name":"storage.type.objcpp"},{"match":"\\\\b(constexpr|export|mutable|typename|thread_local)\\\\b","name":"storage.modifier.objcpp"},{"begin":"(?:^|(?","name":"meta.angle-brackets.objcpp","patterns":[{"include":"#angle_brackets"},{"include":"$base"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"name":"meta.block.objcpp","patterns":[{"captures":{"1":{"name":"support.function.any-method.objcpp"},"2":{"name":"punctuation.definition.parameters.objcpp"}},"match":"((?!while|for|do|if|else|switch|catch|enumerate|return|r?iterate)(?:\\\\b[A-Z_a-z][0-9A-Z_a-z]*+\\\\b|::)*+)\\\\s*(\\\\()","name":"meta.function-call.objcpp"},{"include":"$base"}]},"constructor":{"patterns":[{"begin":"^\\\\s*((?!while|for|do|if|else|switch|catch|enumerate|r?iterate)[A-Z_a-z][0-:A-Z_a-z]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.constructor.objcpp"},"2":{"name":"punctuation.definition.parameters.begin.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.objcpp"}},"name":"meta.function.constructor.objcpp","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"(:)((?=\\\\s*[A-Z_a-z][0-:A-Z_a-z]*\\\\s*(\\\\()))","beginCaptures":{"1":{"name":"punctuation.definition.parameters.objcpp"}},"end":"(?=\\\\{)","name":"meta.function.constructor.initializer-list.objcpp","patterns":[{"include":"$base"}]}]},"special_block":{"patterns":[{"begin":"\\\\b(using)\\\\b\\\\s*(namespace)\\\\b\\\\s*((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\b(::)?)*)","beginCaptures":{"1":{"name":"keyword.control.objcpp"},"2":{"name":"storage.type.namespace.objcpp"},"3":{"name":"entity.name.type.objcpp"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.objcpp"}},"name":"meta.using-namespace-declaration.objcpp"},{"begin":"\\\\b(namespace)\\\\b\\\\s*([A-Z_a-z][0-9A-Z_a-z]*\\\\b)?+","beginCaptures":{"1":{"name":"storage.type.namespace.objcpp"},"2":{"name":"entity.name.type.objcpp"}},"captures":{"1":{"name":"keyword.control.namespace.$2.objcpp"}},"end":"(?<=})|(?=([](),;=>\\\\[]))","name":"meta.namespace-block.objcpp","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.scope.objcpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.scope.objcpp"}},"patterns":[{"include":"#special_block"},{"include":"#constructor"},{"include":"$base"}]},{"include":"$base"}]},{"begin":"\\\\b(?:(class)|(struct))\\\\b\\\\s*([A-Z_a-z][0-9A-Z_a-z]*\\\\b)?+(\\\\s*:\\\\s*(p(?:ublic|rotected|rivate))\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\b((\\\\s*,\\\\s*(p(?:ublic|rotected|rivate))\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\b)*))?","beginCaptures":{"1":{"name":"storage.type.class.objcpp"},"2":{"name":"storage.type.struct.objcpp"},"3":{"name":"entity.name.type.objcpp"},"5":{"name":"storage.type.modifier.access.objcpp"},"6":{"name":"entity.name.type.inherited.objcpp"},"7":{"patterns":[{"match":"(p(?:ublic|rotected|rivate))","name":"storage.type.modifier.access.objcpp"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"entity.name.type.inherited.objcpp"}]}},"end":"(?<=})|(?=([]();=>\\\\[]))","name":"meta.class-struct-block.objcpp","patterns":[{"include":"#angle_brackets"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"(})(\\\\s*\\\\n)?","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.objcpp"},"2":{"name":"invalid.illegal.you-forgot-semicolon.objcpp"}},"patterns":[{"include":"#special_block"},{"include":"#constructor"},{"include":"$base"}]},{"include":"$base"}]},{"begin":"\\\\b(extern)(?=\\\\s*\\")","beginCaptures":{"1":{"name":"storage.modifier.objcpp"}},"end":"(?<=})|(?=\\\\w)|(?=\\\\s*#\\\\s*endif\\\\b)","name":"meta.extern-block.objcpp","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}|(?=\\\\s*#\\\\s*endif\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"patterns":[{"include":"#special_block"},{"include":"$base"}]},{"include":"$base"}]}]},"strings":{"patterns":[{"begin":"(u8??|[LU])?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objcpp"},"1":{"name":"meta.encoding.objcpp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objcpp"}},"name":"string.quoted.double.objcpp","patterns":[{"match":"\\\\\\\\(?:u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.objcpp"},{"match":"\\\\\\\\[\\"'?\\\\\\\\abfnrtv]","name":"constant.character.escape.objcpp"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.objcpp"},{"match":"\\\\\\\\x\\\\h+","name":"constant.character.escape.objcpp"},{"include":"#string_placeholder"}]},{"begin":"(u8??|[LU])?R\\"(?:([^\\\\t ()\\\\\\\\]{0,16})|([^\\\\t ()\\\\\\\\]*))\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objcpp"},"1":{"name":"meta.encoding.objcpp"},"3":{"name":"invalid.illegal.delimiter-too-long.objcpp"}},"end":"\\\\)\\\\2(\\\\3)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objcpp"},"1":{"name":"invalid.illegal.delimiter-too-long.objcpp"}},"name":"string.quoted.double.raw.objcpp"}]},"template_definition":{"begin":"\\\\b(template)\\\\s*(<)\\\\s*","beginCaptures":{"1":{"name":"storage.type.template.objcpp"},"2":{"name":"meta.template.angle-brackets.start.objcpp"}},"end":">","endCaptures":{"0":{"name":"meta.template.angle-brackets.end.objcpp"}},"name":"template.definition.objcpp","patterns":[{"include":"#template_definition_argument"}]},"template_definition_argument":{"captures":{"1":{"name":"storage.type.template.objcpp"},"2":{"name":"storage.type.template.objcpp"},"3":{"name":"entity.name.type.template.objcpp"},"4":{"name":"storage.type.template.objcpp"},"5":{"name":"meta.template.operator.ellipsis.objcpp"},"6":{"name":"entity.name.type.template.objcpp"},"7":{"name":"storage.type.template.objcpp"},"8":{"name":"entity.name.type.template.objcpp"},"9":{"name":"keyword.operator.assignment.objcpp"},"10":{"name":"constant.language.objcpp"},"11":{"name":"meta.template.operator.comma.objcpp"}},"match":"\\\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*\\\\s*)|((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s+)*)([A-Z_a-z][0-9A-Z_a-z]*)|([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(\\\\.\\\\.\\\\.)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)|((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s+)*)([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(=)\\\\s*(\\\\w+))(,|(?=>))"}}},"cpp_lang_newish":{"patterns":[{"include":"#special_block"},{"match":"(?-im:##[A-Z_a-z]\\\\w*(?!\\\\w))","name":"variable.other.macro.argument.objcpp"},{"include":"#strings"},{"match":"(?[$A-Z_a-z][$\\\\w]*))(?:(\\\\()(\\\\s*\\\\g\\\\s*((,)\\\\s*\\\\g\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?","beginCaptures":{"1":{"name":"keyword.control.directive.define.objcpp"},"2":{"name":"punctuation.definition.directive.objcpp"},"3":{"name":"entity.name.function.preprocessor.objcpp"},"5":{"name":"punctuation.definition.parameters.begin.objcpp"},"6":{"name":"variable.parameter.preprocessor.objcpp"},"8":{"name":"punctuation.separator.parameters.objcpp"},"9":{"name":"punctuation.definition.parameters.end.objcpp"}},"end":"(?=/[*/])|(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.objcpp"}},"name":"string.quoted.other.lt-gt.include.objcpp"}]},{"include":"#pragma-mark"},{"begin":"^\\\\s*((#)\\\\s*line)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.objcpp"},"2":{"name":"punctuation.definition.directive.objcpp"}},"end":"(?=/[*/])|(?","name":"punctuation.separator.pointer-access.objcpp"},{"match":"[A-Z_a-z]\\\\w*","name":"variable.other.object.objcpp"},{"match":".+","name":"everything.else.objcpp"}]},"5":{"name":"variable.other.member.objcpp"}},"match":"(?:([A-Z_a-z]\\\\w*)|(?<=[])]))\\\\s*(?:(\\\\.\\\\*??)|(->\\\\*??))\\\\s*((?:[A-Z_a-z]\\\\w*\\\\s*(?:\\\\.|->)\\\\s*)*)\\\\b(?!auto|void|char|short|int|signed|unsigned|long|float|double|bool|wchar_t|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t)([A-Z_a-z]\\\\w*)\\\\b(?!\\\\()","name":"variable.other.object.access.objcpp"},"access-method":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))\\\\s*(?:(\\\\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(?:\\\\.|->))*)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\()","beginCaptures":{"1":{"name":"variable.other.object.objcpp"},"2":{"name":"punctuation.separator.dot-access.objcpp"},"3":{"name":"punctuation.separator.pointer-access.objcpp"},"4":{"patterns":[{"match":"\\\\.","name":"punctuation.separator.dot-access.objcpp"},{"match":"->","name":"punctuation.separator.pointer-access.objcpp"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.other.object.objcpp"},{"match":".+","name":"everything.else.objcpp"}]},"5":{"name":"entity.name.function.member.objcpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objcpp"}},"name":"meta.function-call.member.objcpp","patterns":[{"include":"#function-call-innards-c"}]},"angle_brackets":{"begin":"<","end":">","name":"meta.angle-brackets.objcpp","patterns":[{"include":"#angle_brackets"},{"include":"$base"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"name":"meta.block.objcpp","patterns":[{"captures":{"1":{"name":"support.function.any-method.objcpp"},"2":{"name":"punctuation.definition.parameters.objcpp"}},"match":"((?!while|for|do|if|else|switch|catch|return)(?:\\\\b[A-Z_a-z][0-9A-Z_a-z]*+\\\\b|::)*+)\\\\s*(\\\\()","name":"meta.function-call.objcpp"},{"include":"$base"}]},"block-c":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"name":"meta.block.objcpp","patterns":[{"include":"#block_innards-c"}]}]},"block_innards-c":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#access-method"},{"include":"#access-member"},{"include":"#c_function_call"},{"begin":"(?=\\\\s)(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.objcpp"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.objcpp"}},"name":"meta.initialization.objcpp","patterns":[{"include":"#function-call-innards-c"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"patterns":[{"include":"#block_innards-c"}]},{"include":"#parens-block-c"},{"include":"$base"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|return|typeid|alignof|alignas|sizeof|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\s*(?:<[,<>\\\\s\\\\w]*>\\\\s*)?\\\\(|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)","name":"meta.function-call.objcpp","patterns":[{"include":"#function-call-innards-c"}]},"comments-c":{"patterns":[{"captures":{"1":{"name":"meta.toc-list.banner.block.objcpp"}},"match":"^/\\\\* =(\\\\s*.*?)\\\\s*= \\\\*/$\\\\n?","name":"comment.block.objcpp"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.objcpp"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.objcpp"}},"name":"comment.block.objcpp"},{"captures":{"1":{"name":"meta.toc-list.banner.line.objcpp"}},"match":"^// =(\\\\s*.*?)\\\\s*=\\\\s*$\\\\n?","name":"comment.line.banner.objcpp"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.objcpp"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.objcpp"}},"end":"(?=\\\\n)","name":"comment.line.double-slash.objcpp","patterns":[{"include":"#line_continuation_character"}]}]}]},"constants":{"match":"(?\\\\s\\\\w]*>\\\\s*)?)|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.memory.new.objcpp"},"2":{"patterns":[{"include":"#template_call_innards"}]},"3":{"name":"punctuation.section.arguments.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-call-innards-c"}]},{"begin":"(?\\\\s\\\\w]*>\\\\s*)?::)*)\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(<[,<>\\\\s\\\\w]*>\\\\s*)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#scope_resolution"}]},"2":{"name":"entity.name.function.call.objcpp"},"3":{"patterns":[{"include":"#template_call_innards"}]},"4":{"name":"punctuation.section.arguments.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-call-innards-c"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-call-innards-c"}]},{"include":"#block_innards-c"}]},"function-innards-c":{"patterns":[{"include":"#comments-c"},{"include":"#storage_types_c"},{"include":"#operators"},{"include":"#vararg_ellipses-c"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|return|typeid|alignof|alignas|sizeof|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objcpp"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.objcpp"}},"end":"[):]","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.objcpp"}},"name":"meta.function.definition.parameters.objcpp","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards-c"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"patterns":[{"include":"#function-innards-c"}]},{"include":"$base"}]},"line_continuation_character":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.line-continuation.objcpp"}},"match":"(\\\\\\\\)\\\\n"}]},"literal_numeric_seperator":{"match":"(?\\\\s\\\\w]*>\\\\s*)?::)*)\\\\s*(operator)(\\\\s*(?:\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|--|[-!\\\\&*+~]|->\\\\*|[-%*+/]|<<|>>|<=>|<=??|>=??|==|!=|[\\\\&^|]|&&|\\\\|\\\\||=|\\\\+=|-=|\\\\*=|/=|%=|<<=|>>=|&=|\\\\^=|\\\\|=|,)|\\\\s+(?:(?:new|new\\\\[]|delete|delete\\\\[])|(?:[A-Z_a-z]\\\\w*\\\\s*(?:<[,<>\\\\s\\\\w]*>\\\\s*)?::)*[A-Z_a-z]\\\\w*\\\\s*&?))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.scope.objcpp"},"2":{"name":"keyword.other.operator.overload.objcpp"},"3":{"name":"entity.name.operator.overloadee.objcpp"},"4":{"name":"punctuation.section.parameters.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.objcpp"}},"name":"meta.function.definition.parameters.operator-overload.objcpp","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards-c"}]},"operators":{"patterns":[{"match":"(?-im:(?>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.objcpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.objcpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.objcpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.objcpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.objcpp"},{"match":"=","name":"keyword.operator.assignment.objcpp"},{"match":"[-%*+/]","name":"keyword.operator.objcpp"},{"applyEndPatternLast":true,"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.objcpp"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.objcpp"}},"patterns":[{"include":"#access-method"},{"include":"#access-member"},{"include":"#c_function_call"},{"include":"$base"}]}]},"parens-block-c":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objcpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objcpp"}},"name":"meta.block.parens.objcpp","patterns":[{"include":"#block_innards-c"},{"match":"(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objcpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objcpp"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"scope_resolution":{"captures":{"1":{"patterns":[{"include":"#scope_resolution"}]},"2":{"name":"entity.name.namespace.scope-resolution.objcpp"},"3":{"patterns":[{"include":"#template_call_innards"}]},"4":{"name":"punctuation.separator.namespace.access.objcpp"}},"match":"((?:[A-Z_a-z]\\\\w*\\\\s*(?:<[,<>\\\\s\\\\w]*>\\\\s*)?::)*\\\\s*)([A-Z_a-z]\\\\w*)\\\\s*(<[,<>\\\\s\\\\w]*>\\\\s*)?(::)","name":"meta.scope-resolution.objcpp"},"special_block":{"patterns":[{"begin":"\\\\b(using)\\\\s+(namespace)\\\\s+(?:((?:[A-Z_a-z]\\\\w*\\\\s*(?:<[,<>\\\\s\\\\w]*>\\\\s*)?::)*)\\\\s*)?((?\\\\s\\\\w]*>\\\\s*)?::)*[A-Z_a-z]\\\\w*)|(?=\\\\{))","beginCaptures":{"1":{"name":"keyword.other.namespace.definition.objcpp storage.type.namespace.definition.objcpp"},"2":{"patterns":[{"match":"(?-im:(?\\\\[]))","name":"meta.namespace-block.objcpp","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.scope.objcpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.scope.objcpp"}},"patterns":[{"include":"#special_block"},{"include":"#constructor"},{"include":"$base"}]},{"include":"$base"}]},{"begin":"\\\\b(?:(class)|(struct))\\\\b\\\\s*([A-Z_a-z][0-9A-Z_a-z]*\\\\b)?+(\\\\s*:\\\\s*(p(?:ublic|rotected|rivate))\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\b((\\\\s*,\\\\s*(p(?:ublic|rotected|rivate))\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\b)*))?","beginCaptures":{"1":{"name":"storage.type.class.objcpp"},"2":{"name":"storage.type.struct.objcpp"},"3":{"name":"entity.name.type.objcpp"},"5":{"name":"storage.type.modifier.access.objcpp"},"6":{"name":"entity.name.type.inherited.objcpp"},"7":{"patterns":[{"match":"(p(?:ublic|rotected|rivate))","name":"storage.type.modifier.access.objcpp"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"entity.name.type.inherited.objcpp"}]}},"end":"(?<=})|(;)|(?=([]()=>\\\\[]))","endCaptures":{"1":{"name":"punctuation.terminator.statement.objcpp"}},"name":"meta.class-struct-block.objcpp","patterns":[{"include":"#angle_brackets"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"(})(\\\\s*\\\\n)?","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.objcpp"},"2":{"name":"invalid.illegal.you-forgot-semicolon.objcpp"}},"patterns":[{"include":"#special_block"},{"include":"#constructor"},{"include":"$base"}]},{"include":"$base"}]},{"begin":"\\\\b(extern)(?=\\\\s*\\")","beginCaptures":{"1":{"name":"storage.modifier.objcpp"}},"end":"(?<=})|(?=\\\\w)|(?=\\\\s*#\\\\s*endif\\\\b)","name":"meta.extern-block.objcpp","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objcpp"}},"end":"}|(?=\\\\s*#\\\\s*endif\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objcpp"}},"patterns":[{"include":"#special_block"},{"include":"$base"}]},{"include":"$base"}]}]},"storage_types_c":{"patterns":[{"match":"(?\\\\s\\\\w]*>\\\\s*"},"template_definition":{"begin":"(?-im:(?))","endCaptures":{"1":{"name":"punctuation.section.angle-brackets.end.template.definition.objcpp"}},"name":"meta.template.definition.objcpp","patterns":[{"include":"#scope_resolution"},{"include":"#template_definition_argument"},{"include":"#template_call_innards"}]},"template_definition_argument":{"captures":{"2":{"name":"storage.type.template.argument.$1.objcpp"},"3":{"name":"storage.type.template.argument.$2.objcpp"},"4":{"name":"entity.name.type.template.objcpp"},"5":{"name":"storage.type.template.objcpp"},"6":{"name":"keyword.operator.ellipsis.template.definition.objcpp"},"7":{"name":"entity.name.type.template.objcpp"},"8":{"name":"storage.type.template.objcpp"},"9":{"name":"entity.name.type.template.objcpp"},"10":{"name":"keyword.operator.assignment.objcpp"},"11":{"name":"constant.other.objcpp"},"12":{"name":"punctuation.separator.comma.template.argument.objcpp"}},"match":"((?:(?:(?:\\\\s*([A-Z_a-z]\\\\w*)|((?:[A-Z_a-z]\\\\w*\\\\s+)+)([A-Z_a-z]\\\\w*))|([A-Z_a-z]\\\\w*)\\\\s*(\\\\.\\\\.\\\\.)\\\\s*([A-Z_a-z]\\\\w*))|((?:[A-Z_a-z]\\\\w*\\\\s+)*)([A-Z_a-z]\\\\w*)\\\\s*(=)\\\\s*(\\\\w+))\\\\s*(?:(,)|(?=>)))"},"vararg_ellipses-c":{"match":"(?)","endCaptures":{"1":{"name":"punctuation.section.scope.end.objcpp"}},"name":"meta.protocol-list.objcpp","patterns":[{"match":"\\\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated((?:Toobar|UserInterface)Item)|Locking)\\\\b","name":"support.other.protocol.objcpp"}]},"protocol_type_qualifier":{"match":"\\\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\\\b","name":"storage.modifier.protocol.objcpp"},"special_variables":{"patterns":[{"match":"\\\\b_cmd\\\\b","name":"variable.other.selector.objcpp"},{"match":"\\\\b(s(?:elf|uper))\\\\b","name":"variable.language.objcpp"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape.objcpp"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.objcpp"}]},"string_placeholder":{"patterns":[{"match":"%(\\\\d+\\\\$)?[- #'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.objcpp"},{"captures":{"1":{"name":"invalid.illegal.placeholder.objcpp"}},"match":"(%)(?!\\"\\\\s*(PRI|SCN))"}]}},"scopeName":"source.objcpp"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-CLxacb5B.js.map diff --git a/src/webview-ui/build/assets/chunk-CLxacb5B.js.map b/src/webview-ui/build/assets/chunk-CLxacb5B.js.map new file mode 100644 index 0000000000..da1a160de9 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CLxacb5B.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CLxacb5B.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/objective-cpp.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Objective-C++\\\",\\\"name\\\":\\\"objective-cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#cpp_lang\\\"},{\\\"include\\\":\\\"#anonymous_pattern_1\\\"},{\\\"include\\\":\\\"#anonymous_pattern_2\\\"},{\\\"include\\\":\\\"#anonymous_pattern_3\\\"},{\\\"include\\\":\\\"#anonymous_pattern_4\\\"},{\\\"include\\\":\\\"#anonymous_pattern_5\\\"},{\\\"include\\\":\\\"#apple_foundation_functional_macros\\\"},{\\\"include\\\":\\\"#anonymous_pattern_7\\\"},{\\\"include\\\":\\\"#anonymous_pattern_8\\\"},{\\\"include\\\":\\\"#anonymous_pattern_9\\\"},{\\\"include\\\":\\\"#anonymous_pattern_10\\\"},{\\\"include\\\":\\\"#anonymous_pattern_11\\\"},{\\\"include\\\":\\\"#anonymous_pattern_12\\\"},{\\\"include\\\":\\\"#anonymous_pattern_13\\\"},{\\\"include\\\":\\\"#anonymous_pattern_14\\\"},{\\\"include\\\":\\\"#anonymous_pattern_15\\\"},{\\\"include\\\":\\\"#anonymous_pattern_16\\\"},{\\\"include\\\":\\\"#anonymous_pattern_17\\\"},{\\\"include\\\":\\\"#anonymous_pattern_18\\\"},{\\\"include\\\":\\\"#anonymous_pattern_19\\\"},{\\\"include\\\":\\\"#anonymous_pattern_20\\\"},{\\\"include\\\":\\\"#anonymous_pattern_21\\\"},{\\\"include\\\":\\\"#anonymous_pattern_22\\\"},{\\\"include\\\":\\\"#anonymous_pattern_23\\\"},{\\\"include\\\":\\\"#anonymous_pattern_24\\\"},{\\\"include\\\":\\\"#anonymous_pattern_25\\\"},{\\\"include\\\":\\\"#anonymous_pattern_26\\\"},{\\\"include\\\":\\\"#anonymous_pattern_27\\\"},{\\\"include\\\":\\\"#anonymous_pattern_28\\\"},{\\\"include\\\":\\\"#anonymous_pattern_29\\\"},{\\\"include\\\":\\\"#anonymous_pattern_30\\\"},{\\\"include\\\":\\\"#bracketed_content\\\"},{\\\"include\\\":\\\"#c_lang\\\"}],\\\"repository\\\":{\\\"anonymous_pattern_1\\\":{\\\"begin\\\":\\\"((@)(interface|protocol))(?!.+;)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*((:)\\\\\\\\s*([A-Za-z][0-9A-Za-z]*))?([\\\\\\\\n\\\\\\\\s])?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objcpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.entity.other.inherited-class.objcpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.objcpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.divider.objcpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"meta.inherited-class.objcpp\\\"}},\\\"contentName\\\":\\\"meta.scope.interface.objcpp\\\",\\\"end\\\":\\\"((@)end)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.interface-or-protocol.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_innards\\\"}]},\\\"anonymous_pattern_10\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objcpp\\\"}},\\\"match\\\":\\\"(@)(defs|encode)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.objcpp\\\"},\\\"anonymous_pattern_11\\\":{\\\"match\\\":\\\"\\\\\\\\bid\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.id.objcpp\\\"},\\\"anonymous_pattern_12\\\":{\\\"match\\\":\\\"\\\\\\\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.objcpp\\\"},\\\"anonymous_pattern_13\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objcpp\\\"}},\\\"match\\\":\\\"(@)(class|protocol)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.objcpp\\\"},\\\"anonymous_pattern_14\\\":{\\\"begin\\\":\\\"((@)selector)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objcpp\\\"}},\\\"contentName\\\":\\\"meta.selector.method-name.objcpp\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objcpp\\\"}},\\\"name\\\":\\\"meta.selector.objcpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objcpp\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:[:A-Z_a-z]\\\\\\\\w*)+\\\",\\\"name\\\":\\\"support.function.any-method.name-of-parameter.objcpp\\\"}]},\\\"anonymous_pattern_15\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage.modifier.objcpp\\\"}},\\\"match\\\":\\\"(@)(synchronized|public|package|private|protected)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.objcpp\\\"},\\\"anonymous_pattern_16\\\":{\\\"match\\\":\\\"\\\\\\\\b(YES|NO|Nil|nil)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.objcpp\\\"},\\\"anonymous_pattern_17\\\":{\\\"match\\\":\\\"\\\\\\\\bNSApp\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.foundation.objcpp\\\"},\\\"anonymous_pattern_18\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.support.function.cocoa.leopard.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.cocoa.leopard.objcpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)\\\\\\\\b(NS(Rect((?:To|From)CGRect)|MakeCollectable|S(tringFromProtocol|ize((?:To|From)CGSize))|Draw((?:Nin|Thre)ePartImage)|P(oint((?:To|From)CGPoint)|rotocolFromString)|EventMaskFromType|Value))\\\\\\\\b\\\"},\\\"anonymous_pattern_19\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.support.function.leading.cocoa.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.cocoa.objcpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)\\\\\\\\b(NS(R(ound((?:Down|Up)ToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set((?:Map|Hash)Table)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l((?:MemoryAvail|locateCollect)able))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n([XY])|d([XY]))|ouseInRect|a(p(Remove|Get|Member|Insert((?:If|Known)Absent)?)|ke(R(ect|ange)|Size|Point)|x(Range|[XY])))|B(itsPer((?:Sample|Pixel)FromDepth)|e(stDepth|ep|gin((?:Critical|Informational|)AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert((?:If|Known)Absent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped((?:Double|Float)ToHost)|Host((?:Double|Float)ToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare((?:Map|Hash)Tables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File((?:name|Contents)PboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d((?:Map|Hash)TableEnumeration)|umerate((?:Map|Hash)Table)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee((?:Map|Hash)Table)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\\\\\\\b\\\"},\\\"anonymous_pattern_2\\\":{\\\"begin\\\":\\\"((@)(implementation))\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(?::\\\\\\\\s*([A-Za-z][0-9A-Za-z]*))?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objcpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.objcpp\\\"}},\\\"contentName\\\":\\\"meta.scope.implementation.objcpp\\\",\\\"end\\\":\\\"((@)end)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.implementation.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implementation_innards\\\"}]},\\\"anonymous_pattern_20\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.cocoa.leopard.objcpp\\\"},\\\"anonymous_pattern_21\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an((?:dom|ge)Specifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech((?:Recogn|Synthes)izer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con((?:|trolCon)nector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p((?:ound|arison)Predicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o([ns]eCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n((?:iqueIDSpecifi|doManag|archiv)er))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated((?:Toobar|UserInterface)Item)|ue(Transformer)?))|Keyed((?:Una|A)rchiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.cocoa.objcpp\\\"},\\\"anonymous_pattern_22\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D((?:ocumentContent|TDNode)Kind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing((?:Compare|Drawing|EncodingConversion)Options)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView((?:SelectionHighlight|ColumnAutoresizing)Style)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.cocoa.leopard.objcpp\\\"},\\\"anonymous_pattern_23\\\":{\\\"match\\\":\\\"\\\\\\\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans((?:i|ac)tion))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.quartz.objcpp\\\"},\\\"anonymous_pattern_24\\\":{\\\"match\\\":\\\"\\\\\\\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.quartz.objcpp\\\"},\\\"anonymous_pattern_25\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B((?:itmapImageFileTyp|orderTyp|uttonTyp|ezelStyl|ackingStoreTyp|rowserColumnResizingTyp)e)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar((?:Size|Display)Mode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL((?:Contex|PixelForma)tAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace((?:IconCreation|Launch)Options)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication((?:Terminate|Delegate|Print)Reply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.cocoa.objcpp\\\"},\\\"anonymous_pattern_26\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.cocoa.objcpp\\\"},\\\"anonymous_pattern_27\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.notification.cocoa.leopard.objcpp\\\"},\\\"anonymous_pattern_28\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView((?:Did|Will)ResizeSubviews))|C(o(nt(extHelpModeDid((?:Dea|A)ctivate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor((?:PanelColor|List)DidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar((?:DidRemove|WillAdd)Item)|ext(Storage((?:Did|Will)ProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton((?:Cell|)WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F((?:ocus|rame)DidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid((?:Resign|Become)Active)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.notification.cocoa.objcpp\\\"},\\\"anonymous_pattern_29\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws((?:BeforeStart|AfterEnd)ingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech((?:Sentence|Immediate|Word)Boundary)|llingState((?:Grammar|Spelling)Flag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M((?:iscellaneous|alformedServiceDictionary)Error)|InvalidPasteboardDataError|ErrorM((?:in|ax)imum)|Application((?:NotFoun|LaunchFaile)dError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally((?:|UpOr)Down)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16((?:BigEndian||LittleEndian)StringEncoding)|32((?:BigEndian||LittleEndian)StringEncoding)))|P(ointerFunctions(Ma((?:chVirtual|lloc)Memory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP((?:ointerP|)ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM((?:in|ax)imum)|L((?:ink|oad)Error)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead((?:TooLarge|UnknownStringEncoding)Error))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.cocoa.leopard.objcpp\\\"},\\\"anonymous_pattern_3\\\":{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objcpp\\\"}},\\\"name\\\":\\\"string.quoted.double.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?@\\\",\\\"name\\\":\\\"constant.other.placeholder.objcpp\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"}]},\\\"anonymous_pattern_30\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed((?:Bezel|Token|DisclosureBezel)Style)|Down|Up|Plain|Line((?:Cap|Join)Style))|un((?:Stopped|Continues|Aborted)Response)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver((?:sCantHandleCommand|Evaluation)ScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A((?:|gains)tAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use((?:Sing|Doub)leQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot((?:Start|Finish)edError)|Mi(splaced((?:XMLDeclaration|CDATAEndString)Error)|xedContentDeclNot((?:Start|Finish)edError))|S(t(andaloneValueError|ringNot((?:Start|Clos)edError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot((?:Start|Finish)edError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In((?:DTD|Prolog|Epilog)Error)|AtEOFError)|o(nditionalSectionNot((?:Start|Finish)edError)|mment((?:NotFinished|ContainsDoubleHyphen)Error))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter((?:Ref|InEntity|)Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding((?:Name|)Error)))|OutOfMemoryError|D((?:ocumentStart|elegateAbortedParse|OCTYPEDeclNotFinished)Error)|U(RI((?:Required|Fragment)Error)|n((?:declaredEntity|parsedEntity|knownEncoding|finishedTag)Error))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal((?:Subset|)Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot((?:Start|Finish)edError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In((?:DTD|Prolog|Epilog)Error)|erence((?:MissingSemi|WithoutName)Error)|LoopError|AtEOFError)|BoundaryError|Not((?:Start|Finish)edError)|Is((?:Parameter|External)Error)|ValueRequiredError))|qualExpectedError|lementContentDeclNot((?:Start|Finish)edError)|xt(ernalS((?:tandaloneEntity|ubsetNotFinished)Error)|raContentError)|mptyDocumentError)|L(iteralNot((?:Start|Finish)edError)|T((?:|Slash)RequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not((?:Start|Finish)edError)|ListNot((?:Start|Finish)edError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar((?:sed|ameter)Kind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E((?:lement|mpty)Kind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(s?Kind)|otationKind)|CDATAKind|ID(Ref(s?Kind)|Kind)|DeclarationKind|En(tit((?:y|ies)Kind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push((?:|In)Button)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x([XY]Edge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore((?:Retain|Buffer|Nonretain)ed)|TabCharacter|wardsSearch|groundTab)|r(owser((?:No|User|Auto)ColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow((?:Control|Invisible)Glyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M((?:in|ax)End)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has((?:Bytes|Space)Available)|None|OpenCompleted|E((?:ndEncounte|rrorOccur)red)))))|i(ngle(DateMode|UnderlineStyle)|ze((?:Down|Up)FontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity((?:Down|Up)stream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute((?:Second|)DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa((?:yDa|)tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs((?:Bezel|No|Line)Border))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S((?:cientific|pellOut)Style)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before((?:Suf|Pre)fix)|After((?:Suf|Pre)fix))))))|e(t(Services(BadArgumentError|NotFoundError|C((?:ollision|ancelled)Error)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C((?:MYK|olorList|ustomPalette|rayon)ModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick((?:|er)SquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX([34])|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM((?:in|ax)imum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table((?:Fixed|Automatic)LayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid((?:Horizont|Vertic)alGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert((?:Char||Line)FunctionKey)|t(Type|ernalS((?:cript|pecifier)Error))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin([12]StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS((?:cript|pecifier)Error))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr((?:ing|uct)Type)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long((?:|long)Type)|ArrayType))|D(i(s(c((?:losureBezel|reteCapacityLevelIndicator)Style)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument((?:|ation)Directory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper((?:|Application)Directory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos((?:ing|ed)State)|Open((?:ing|)State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS((?:cript|pecifier)Error))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG((?:2000|)FileType)|apaneseEUC((?:GlyphPack|StringEncod)ing))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve((?:Int|Double|Float)Type)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge((?:Down|Up)FunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred((?:Small||Large|Aqua)Thickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in([XY]Margin)|ax([XY]Margin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM((?:in|ax)imum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping((?:BackAndForth|)Playback))|F(1((?:[1-4789]|5?|[06])FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No((?:SuchFile|Permission)Error)|CorruptFileError|In((?:validFileName|applicableStringEncoding)Error)|Un((?:supportedScheme|known)Error))|HandlingPanel((?:Cancel|OK)Button)|NoSuchFileError|ErrorM((?:in|ax)imum)|Write(NoPermissionError|In((?:validFileName|applicableStringEncoding)Error)|OutOfSpaceError|Un((?:supportedScheme|known)Error))|LockingError)|xedPitchFontMask)|2((?:[1-4789]|5?|[06])FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S((?:ymbolic|cripts|labSerifs|ansSerif)Class)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O((?:ldStyleSerif|rnamental)sClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t((?:andardModes|rikethroughEffectMode)Mask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All((?:Modes|EffectsMode)Mask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased((?:|IntegerAdvancements)RenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M((?:in|ax)imum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3((?:[1-4]|5?|0)FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125([0-4]StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day((?:|Ordinal)CalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C((?:harWra|li)pping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan([12]CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto((?:saveOper|Pagin)ation)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert((?:SecondButton|ThirdButton|Other|Default|Error|FirstButton|Alternate)Return)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument((?:sWrong|Evaluation)ScriptError)|bove(Bottom|Top)|WTEventType))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.cocoa.objcpp\\\"},\\\"anonymous_pattern_4\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\s*(?=<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objcpp\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"name\\\":\\\"meta.id-with-protocol.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#protocol_list\\\"}]},\\\"anonymous_pattern_5\\\":{\\\"match\\\":\\\"\\\\\\\\b(NS_(?:DURING|HANDLER|ENDHANDLER))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.macro.objcpp\\\"},\\\"anonymous_pattern_7\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objcpp\\\"}},\\\"match\\\":\\\"(@)(try|catch|finally|throw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.objcpp\\\"},\\\"anonymous_pattern_8\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objcpp\\\"}},\\\"match\\\":\\\"(@)(synchronized)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.synchronize.objcpp\\\"},\\\"anonymous_pattern_9\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objcpp\\\"}},\\\"match\\\":\\\"(@)(required|optional)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.protocol-specification.objcpp\\\"},\\\"apple_foundation_functional_macros\\\":{\\\"begin\\\":\\\"\\\\\\\\b(API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME)\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.apple-foundation.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objcpp\\\"}},\\\"name\\\":\\\"meta.preprocessor.macro.callable.apple-foundation.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#c_lang\\\"}]},\\\"bracketed_content\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.objcpp\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.objcpp\\\"}},\\\"name\\\":\\\"meta.bracketed.objcpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objcpp\\\"}},\\\"end\\\":\\\"(?=])\\\",\\\"name\\\":\\\"meta.function-call.predicate.objcpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objcpp\\\"}},\\\"match\\\":\\\"\\\\\\\\bargument(Array|s)(:)\\\",\\\"name\\\":\\\"support.function.any-method.name-of-parameter.objcpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objcpp\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+(:)\\\",\\\"name\\\":\\\"invalid.illegal.unknown-method.objcpp\\\"},{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objcpp\\\"}},\\\"name\\\":\\\"string.quoted.double.objcpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(AND|OR|NOT|IN)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.predicate.cocoa.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ALL|ANY|SOME|NONE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.predicate.cocoa.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.predicate.cocoa.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.comparison.predicate.cocoa.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\bC(ASEINSENSITIVE|I)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.modifier.predicate.cocoa.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.predicate.cocoa.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnrtv]|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x[0-9A-Za-z]+)\\\",\\\"name\\\":\\\"constant.character.escape.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.objcpp\\\"}]},{\\\"include\\\":\\\"#special_variables\\\"},{\\\"include\\\":\\\"#c_functions\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\w)(?<=[]\\\\\\\")\\\\\\\\w] )(\\\\\\\\w+(?:(:)|(?=])))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objcpp\\\"}},\\\"end\\\":\\\"(?=])\\\",\\\"name\\\":\\\"meta.function-call.objcpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objcpp\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+(:)\\\",\\\"name\\\":\\\"support.function.any-method.name-of-parameter.objcpp\\\"},{\\\"include\\\":\\\"#special_variables\\\"},{\\\"include\\\":\\\"#c_functions\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"#special_variables\\\"},{\\\"include\\\":\\\"#c_functions\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"c_functions\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.support.function.leading.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.C99.objcpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)\\\\\\\\b(hypot([fl])?|s(scanf|ystem|nprintf|ca(nf|lb(n([fl])?|ln([fl])?))|i(n(h([fl])?|[fl])?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt([fl])?|w(scanf|printf)|rand)|n(e(arbyint([fl])?|xt(toward([fl])?|after([fl])?))|an([fl])?)|c(s(in(h([fl])?|[fl])?|qrt([fl])?)|cos(h(f)?|[fl])?|imag([fl])?|t(ime|an(h([fl])?|[fl])?)|o(s(h([fl])?|[fl])?|nj([fl])?|pysign([fl])?)|p(ow([fl])?|roj([fl])?)|e(il([fl])?|xp([fl])?)|l(o(ck|g([fl])?)|earerr)|a(sin(h([fl])?|[fl])?|cos(h([fl])?|[fl])?|tan(h([fl])?|[fl])?|lloc|rg([fl])?|bs([fl])?)|real([fl])?|brt([fl])?)|t(ime|o(upper|lower)|an(h([fl])?|[fl])?|runc([fl])?|gamma([fl])?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb([fl])?|max(div|abs))|di(v|fftime)|_Exit|unget(w??c)|p(ow([fl])?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c([fl])?|[fl])?|x(it|p(2([fl])?|[fl]|m1([fl])?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim([fl])?|p(classify|ut([cs]|w([cs]))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor([fl])?|abs([fl])?|get([cs]|pos|w([cs]))|re(open|e|ad|xp([fl])?)|m(in([fl])?|od([fl])?|a([fl]|x([fl])?)?))|l(d(iv|exp([fl])?)|o(ngjmp|cal(time|econv)|g(1(p([fl])?|0([fl])?)|2([fl])?|[fl]|b([fl])?)?)|abs|l(div|abs|r(int([fl])?|ound([fl])?))|r(int([fl])?|ound([fl])?)|gamma([fl])?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(m??b)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h([fl])?|[fl])?)|cos(h([fl])?|[fl])?|t(o([fi]|l(l)?)|exit|an(h([fl])?|2([fl])?|[fl])?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int([fl])?|ound([fl])?|e(name|alloc|wind|m(ove|quo([fl])?|ainder([fl])?))|a(nd|ise))|b(search|towc)|m(odf([fl])?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.function-call.leading.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.any-method.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.objcpp\\\"}},\\\"match\\\":\\\"(?:(?=\\\\\\\\s)(?:(?<=else|new|return)|(?[$A-Z_a-z][$\\\\\\\\w]*))(?:(\\\\\\\\()(\\\\\\\\s*\\\\\\\\g\\\\\\\\s*((,)\\\\\\\\s*\\\\\\\\g\\\\\\\\s*)*(?:\\\\\\\\.\\\\\\\\.\\\\\\\\.)?)(\\\\\\\\)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.objcpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.objcpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.objcpp\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objcpp\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.objcpp\\\"}]},{\\\"include\\\":\\\"#pragma-mark\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*line)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.line.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.objcpp\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(?:\\\\\\\\.|->))*)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.object.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.object.objcpp\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"everything.else.objcpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.objcpp\\\"}},\\\"name\\\":\\\"meta.function-call.member.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"name\\\":\\\"meta.block.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]}]},\\\"block_innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-conditional-block\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#c_function_call\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\s)(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.initialization.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.initialization.objcpp\\\"}},\\\"name\\\":\\\"meta.initialization.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"include\\\":\\\"#parens-block\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"c_function_call\\\":{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\\\\\s*\\\\\\\\(|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"meta.function-call.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"((?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"function-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.objcpp\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},\\\"line_continuation_character\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.line-continuation.objcpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\n\\\"}]},\\\"member_access\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objcpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objcpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.member.objcpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?-im:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*\\\\\\\\b((?!void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)[A-Z_a-z]\\\\\\\\w*\\\\\\\\b(?!\\\\\\\\())\\\"},\\\"method_access\\\":{\\\"begin\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?-im:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objcpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objcpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.objcpp\\\"}},\\\"contentName\\\":\\\"meta.function-call.member.objcpp\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"numbers\\\":{\\\"begin\\\":\\\"(?>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.objcpp\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.objcpp\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.objcpp\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.objcpp\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.objcpp\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.objcpp\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.objcpp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.objcpp\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"},{\\\"include\\\":\\\"$base\\\"}]}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"name\\\":\\\"meta.parens.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"parens-block\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"name\\\":\\\"meta.parens.block.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"},{\\\"match\\\":\\\"(?-im:(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)|(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?])\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=(?:\\\\\\\\[]\\\\\\\\s*)?[),])\\\"},\\\"static_assert\\\":{\\\"begin\\\":\\\"((?:s|_S)tatic_assert)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.static_assert.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=(?:L|u8?|U\\\\\\\\s*\\\\\\\")?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.objcpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.static_assert.message.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#string_context_c\\\"}]},{\\\"include\\\":\\\"#function_call_context\\\"}]},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?-im:(?\\\\\\\\[])\\\",\\\"name\\\":\\\"meta.block.switch.objcpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"end\\\":\\\"(\\\\\\\\{|(?=;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.objcpp\\\"}},\\\"name\\\":\\\"meta.head.switch.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.objcpp\\\"}},\\\"name\\\":\\\"meta.body.switch.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$base\\\"},{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"begin\\\":\\\"(?<=})[\\\\\\\\n\\\\\\\\s]*\\\",\\\"end\\\":\\\"[\\\\\\\\n\\\\\\\\s]*(?=;)\\\",\\\"name\\\":\\\"meta.tail.switch.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]}]},\\\"vararg_ellipses\\\":{\\\"match\\\":\\\"(?\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.objcpp\\\"}]}]}]},\\\"cpp_lang\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"match\\\":\\\"\\\\\\\\b(friend|explicit|virtual|override|final|noexcept)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(p(?:rivate:|rotected:|ublic:))\\\",\\\"name\\\":\\\"storage.type.modifier.access.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(catch|try|throw|using)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:delete\\\\\\\\b(\\\\\\\\s*\\\\\\\\[])?|new\\\\\\\\b(?!]))\\\",\\\"name\\\":\\\"keyword.control.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b([fm])[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.member.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\bthis\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.this.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\bnullptr\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.objcpp\\\"},{\\\"include\\\":\\\"#template_definition\\\"},{\\\"match\\\":\\\"\\\\\\\\btemplate\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"storage.type.template.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:const|dynamic|reinterpret|static)_cast)\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"keyword.operator.cast.objcpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.scope.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.scope.name.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.objcpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z][0-9A-Z_a-z]*::)*)([A-Z_a-z][0-9A-Z_a-z]*)(::)\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(decltype|wchar_t|char16_t|char32_t)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(constexpr|export|mutable|typename|thread_local)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.objcpp\\\"},{\\\"begin\\\":\\\"(?:^|(?\\\",\\\"name\\\":\\\"meta.angle-brackets.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle_brackets\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"name\\\":\\\"meta.block.objcpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.objcpp\\\"}},\\\"match\\\":\\\"((?!while|for|do|if|else|switch|catch|enumerate|return|r?iterate)(?:\\\\\\\\b[A-Z_a-z][0-9A-Z_a-z]*+\\\\\\\\b|::)*+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function-call.objcpp\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"constructor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((?!while|for|do|if|else|switch|catch|enumerate|r?iterate)[A-Z_a-z][0-:A-Z_a-z]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.constructor.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.objcpp\\\"}},\\\"name\\\":\\\"meta.function.constructor.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"begin\\\":\\\"(:)((?=\\\\\\\\s*[A-Z_a-z][0-:A-Z_a-z]*\\\\\\\\s*(\\\\\\\\()))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.objcpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function.constructor.initializer-list.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]}]},\\\"special_block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(using)\\\\\\\\b\\\\\\\\s*(namespace)\\\\\\\\b\\\\\\\\s*((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b(::)?)*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.namespace.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.objcpp\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.objcpp\\\"}},\\\"name\\\":\\\"meta.using-namespace-declaration.objcpp\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(namespace)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b)?+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.namespace.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.objcpp\\\"}},\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.namespace.$2.objcpp\\\"}},\\\"end\\\":\\\"(?<=})|(?=([](),;=>\\\\\\\\[]))\\\",\\\"name\\\":\\\"meta.namespace-block.objcpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.scope.objcpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.scope.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(class)|(struct))\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b)?+(\\\\\\\\s*:\\\\\\\\s*(p(?:ublic|rotected|rivate))\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b((\\\\\\\\s*,\\\\\\\\s*(p(?:ublic|rotected|rivate))\\\\\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b)*))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.struct.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.modifier.access.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.inherited.objcpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(p(?:ublic|rotected|rivate))\\\",\\\"name\\\":\\\"storage.type.modifier.access.objcpp\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.name.type.inherited.objcpp\\\"}]}},\\\"end\\\":\\\"(?<=})|(?=([]();=>\\\\\\\\[]))\\\",\\\"name\\\":\\\"meta.class-struct-block.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle_brackets\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"(})(\\\\\\\\s*\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.you-forgot-semicolon.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(extern)(?=\\\\\\\\s*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.objcpp\\\"}},\\\"end\\\":\\\"(?<=})|(?=\\\\\\\\w)|(?=\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.extern-block.objcpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(u8??|[LU])?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.objcpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objcpp\\\"}},\\\"name\\\":\\\"string.quoted.double.objcpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'?\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.character.escape.objcpp\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"}]},{\\\"begin\\\":\\\"(u8??|[LU])?R\\\\\\\"(?:([^\\\\\\\\t ()\\\\\\\\\\\\\\\\]{0,16})|([^\\\\\\\\t ()\\\\\\\\\\\\\\\\]*))\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.objcpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.delimiter-too-long.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\2(\\\\\\\\3)\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objcpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.delimiter-too-long.objcpp\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.objcpp\\\"}]},\\\"template_definition\\\":{\\\"begin\\\":\\\"\\\\\\\\b(template)\\\\\\\\s*(<)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.angle-brackets.start.objcpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.template.angle-brackets.end.objcpp\\\"}},\\\"name\\\":\\\"template.definition.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_definition_argument\\\"}]},\\\"template_definition_argument\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.template.objcpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.template.operator.ellipsis.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.template.objcpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.type.template.objcpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.objcpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.language.objcpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"meta.template.operator.comma.objcpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*)|((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s+)*)([A-Z_a-z][0-9A-Z_a-z]*)|([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)|((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s+)*)([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(=)\\\\\\\\s*(\\\\\\\\w+))(,|(?=>))\\\"}}},\\\"cpp_lang_newish\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"match\\\":\\\"(?-im:##[A-Z_a-z]\\\\\\\\w*(?!\\\\\\\\w))\\\",\\\"name\\\":\\\"variable.other.macro.argument.objcpp\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"match\\\":\\\"(?[$A-Z_a-z][$\\\\\\\\w]*))(?:(\\\\\\\\()(\\\\\\\\s*\\\\\\\\g\\\\\\\\s*((,)\\\\\\\\s*\\\\\\\\g\\\\\\\\s*)*(?:\\\\\\\\.\\\\\\\\.\\\\\\\\.)?)(\\\\\\\\)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.objcpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.objcpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.objcpp\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objcpp\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.objcpp\\\"}]},{\\\"include\\\":\\\"#pragma-mark\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*line)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.line.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.objcpp\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?\\\",\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},{\\\"match\\\":\\\"[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.object.objcpp\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"everything.else.objcpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.member.objcpp\\\"}},\\\"match\\\":\\\"(?:([A-Z_a-z]\\\\\\\\w*)|(?<=[])]))\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\*??)|(->\\\\\\\\*??))\\\\\\\\s*((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:\\\\\\\\.|->)\\\\\\\\s*)*)\\\\\\\\b(?!auto|void|char|short|int|signed|unsigned|long|float|double|bool|wchar_t|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t)([A-Z_a-z]\\\\\\\\w*)\\\\\\\\b(?!\\\\\\\\()\\\",\\\"name\\\":\\\"variable.other.object.access.objcpp\\\"},\\\"access-method\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))\\\\\\\\s*(?:(\\\\\\\\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(?:\\\\\\\\.|->))*)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.dot-access.objcpp\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"punctuation.separator.pointer-access.objcpp\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.object.objcpp\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"everything.else.objcpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.objcpp\\\"}},\\\"name\\\":\\\"meta.function-call.member.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards-c\\\"}]},\\\"angle_brackets\\\":{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"meta.angle-brackets.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle_brackets\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"name\\\":\\\"meta.block.objcpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.objcpp\\\"}},\\\"match\\\":\\\"((?!while|for|do|if|else|switch|catch|return)(?:\\\\\\\\b[A-Z_a-z][0-9A-Z_a-z]*+\\\\\\\\b|::)*+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function-call.objcpp\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"block-c\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"name\\\":\\\"meta.block.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards-c\\\"}]}]},\\\"block_innards-c\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-conditional-block\\\"},{\\\"include\\\":\\\"#access-method\\\"},{\\\"include\\\":\\\"#access-member\\\"},{\\\"include\\\":\\\"#c_function_call\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\s)(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.initialization.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.initialization.objcpp\\\"}},\\\"name\\\":\\\"meta.initialization.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards-c\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards-c\\\"}]},{\\\"include\\\":\\\"#parens-block-c\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"c_function_call\\\":{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|return|typeid|alignof|alignas|sizeof|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\\\\\s*(?:<[,<>\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?\\\\\\\\(|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"meta.function-call.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards-c\\\"}]},\\\"comments-c\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.block.objcpp\\\"}},\\\"match\\\":\\\"^/\\\\\\\\* =(\\\\\\\\s*.*?)\\\\\\\\s*= \\\\\\\\*/$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.block.objcpp\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.objcpp\\\"}},\\\"name\\\":\\\"comment.block.objcpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.line.objcpp\\\"}},\\\"match\\\":\\\"^// =(\\\\\\\\s*.*?)\\\\\\\\s*=\\\\\\\\s*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.banner.objcpp\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.objcpp\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.objcpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"comment.line.double-slash.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]}]}]},\\\"constants\\\":{\\\"match\\\":\\\"(?\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?)|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.memory.new.objcpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_innards\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards-c\\\"}]},{\\\"begin\\\":\\\"(?\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?::)*)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(<[,<>\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.call.objcpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_innards\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards-c\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards-c\\\"}]},{\\\"include\\\":\\\"#block_innards-c\\\"}]},\\\"function-innards-c\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-c\\\"},{\\\"include\\\":\\\"#storage_types_c\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#vararg_ellipses-c\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|return|typeid|alignof|alignas|sizeof|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"[):]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.objcpp\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards-c\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-innards-c\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},\\\"line_continuation_character\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.line-continuation.objcpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\n\\\"}]},\\\"literal_numeric_seperator\\\":{\\\"match\\\":\\\"(?\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?::)*)\\\\\\\\s*(operator)(\\\\\\\\s*(?:\\\\\\\\+\\\\\\\\+|--|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]|->|\\\\\\\\+\\\\\\\\+|--|[-!\\\\\\\\&*+~]|->\\\\\\\\*|[-%*+/]|<<|>>|<=>|<=??|>=??|==|!=|[\\\\\\\\&^|]|&&|\\\\\\\\|\\\\\\\\||=|\\\\\\\\+=|-=|\\\\\\\\*=|/=|%=|<<=|>>=|&=|\\\\\\\\^=|\\\\\\\\|=|,)|\\\\\\\\s+(?:(?:new|new\\\\\\\\[]|delete|delete\\\\\\\\[])|(?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:<[,<>\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?::)*[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*&?))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.scope.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.operator.overload.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.operator.overloadee.objcpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.objcpp\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.operator-overload.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards-c\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?-im:(?>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.objcpp\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.objcpp\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.objcpp\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.objcpp\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.objcpp\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.objcpp\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.objcpp\\\"},{\\\"applyEndPatternLast\\\":true,\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.objcpp\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#access-method\\\"},{\\\"include\\\":\\\"#access-member\\\"},{\\\"include\\\":\\\"#c_function_call\\\"},{\\\"include\\\":\\\"$base\\\"}]}]},\\\"parens-block-c\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objcpp\\\"}},\\\"name\\\":\\\"meta.block.parens.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards-c\\\"},{\\\"match\\\":\\\"(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)|(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objcpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?])\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=(?:\\\\\\\\[]\\\\\\\\s*)?[),])\\\"},\\\"scope_resolution\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.scope-resolution.objcpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_innards\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.objcpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:<[,<>\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?::)*\\\\\\\\s*)([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(<[,<>\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?(::)\\\",\\\"name\\\":\\\"meta.scope-resolution.objcpp\\\"},\\\"special_block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(using)\\\\\\\\s+(namespace)\\\\\\\\s+(?:((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:<[,<>\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?::)*)\\\\\\\\s*)?((?\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*)?::)*[A-Z_a-z]\\\\\\\\w*)|(?=\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.definition.objcpp storage.type.namespace.definition.objcpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?-im:(?\\\\\\\\[]))\\\",\\\"name\\\":\\\"meta.namespace-block.objcpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.scope.objcpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.scope.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(class)|(struct))\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b)?+(\\\\\\\\s*:\\\\\\\\s*(p(?:ublic|rotected|rivate))\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b((\\\\\\\\s*,\\\\\\\\s*(p(?:ublic|rotected|rivate))\\\\\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b)*))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.struct.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.modifier.access.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.inherited.objcpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(p(?:ublic|rotected|rivate))\\\",\\\"name\\\":\\\"storage.type.modifier.access.objcpp\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.name.type.inherited.objcpp\\\"}]}},\\\"end\\\":\\\"(?<=})|(;)|(?=([]()=>\\\\\\\\[]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.objcpp\\\"}},\\\"name\\\":\\\"meta.class-struct-block.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle_brackets\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"(})(\\\\\\\\s*\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.you-forgot-semicolon.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(extern)(?=\\\\\\\\s*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.objcpp\\\"}},\\\"end\\\":\\\"(?<=})|(?=\\\\\\\\w)|(?=\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.extern-block.objcpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objcpp\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objcpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_block\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]}]},\\\"storage_types_c\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?\\\\\\\\s\\\\\\\\w]*>\\\\\\\\s*\\\"},\\\"template_definition\\\":{\\\"begin\\\":\\\"(?-im:(?))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.objcpp\\\"}},\\\"name\\\":\\\"meta.template.definition.objcpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution\\\"},{\\\"include\\\":\\\"#template_definition_argument\\\"},{\\\"include\\\":\\\"#template_call_innards\\\"}]},\\\"template_definition_argument\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.type.template.argument.$1.objcpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.template.argument.$2.objcpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.template.objcpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.ellipsis.template.definition.objcpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.type.template.objcpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"storage.type.template.objcpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"entity.name.type.template.objcpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.assignment.objcpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.other.objcpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"punctuation.separator.comma.template.argument.objcpp\\\"}},\\\"match\\\":\\\"((?:(?:(?:\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)|((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s+)+)([A-Z_a-z]\\\\\\\\w*))|([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*))|((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s+)*)([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(=)\\\\\\\\s*(\\\\\\\\w+))\\\\\\\\s*(?:(,)|(?=>)))\\\"},\\\"vararg_ellipses-c\\\":{\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.objcpp\\\"}},\\\"name\\\":\\\"meta.protocol-list.objcpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated((?:Toobar|UserInterface)Item)|Locking)\\\\\\\\b\\\",\\\"name\\\":\\\"support.other.protocol.objcpp\\\"}]},\\\"protocol_type_qualifier\\\":{\\\"match\\\":\\\"\\\\\\\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.protocol.objcpp\\\"},\\\"special_variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b_cmd\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.selector.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b(s(?:elf|uper))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.objcpp\\\"}]},\\\"string_escaped_char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape.objcpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.objcpp\\\"}]},\\\"string_placeholder\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*[,:;_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]\\\",\\\"name\\\":\\\"constant.other.placeholder.objcpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.placeholder.objcpp\\\"}},\\\"match\\\":\\\"(%)(?!\\\\\\\"\\\\\\\\s*(PRI|SCN))\\\"}]}},\\\"scopeName\\\":\\\"source.objcpp\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "objectiveCpp" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,o4vKAAghoL,CAAC,EAExioLC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CMUws-av.js b/src/webview-ui/build/assets/chunk-CMUws-av.js new file mode 100644 index 0000000000..abd3bc1d9d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CMUws-av.js @@ -0,0 +1,12 @@ +import e from "./chunk-BMMyXqK5.js" +import t from "./chunk-DlfHMoPT.js" +import n from "./chunk-DPfMkruS.js" +import s from "./chunk-CXtECtnM.js" +const a = Object.freeze( + JSON.parse( + `{"displayName":"Svelte","fileTypes":["svelte"],"injections":{"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)":{"patterns":[{"begin":"(?<=>)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)\\\\s","end":"(?=)(?!)","patterns":[{"include":"#attributes-value"}]}]},"attributes-directives-keywords":{"patterns":[{"match":"on|use|bind","name":"keyword.control.svelte"},{"match":"transition|in|out|animate","name":"keyword.other.animation.svelte"},{"match":"let","name":"storage.type.svelte"},{"match":"class|style","name":"entity.other.attribute-name.svelte"}]},"attributes-directives-types":{"patterns":[{"match":"(?<=(on):).*$","name":"entity.name.type.svelte"},{"match":"(?<=(bind):).*$","name":"variable.parameter.svelte"},{"match":"(?<=(use|transition|in|out|animate):).*$","name":"variable.function.svelte"},{"match":"(?<=(let|class|style):).*$","name":"variable.parameter.svelte"}]},"attributes-directives-types-assigned":{"patterns":[{"match":"(?<=(bind):)this$","name":"variable.language.svelte"},{"match":"(?<=(bind):).*$","name":"entity.name.type.svelte"},{"match":"(?<=(class):).*$","name":"entity.other.attribute-name.class.svelte"},{"match":"(?<=(style):).*$","name":"support.type.property-name.svelte"},{"include":"#attributes-directives-types"}]},"attributes-generics":{"begin":"(generics)(=)([\\"'])","beginCaptures":{"1":{"name":"entity.other.attribute-name.svelte"},"2":{"name":"punctuation.separator.key-value.svelte"},"3":{"name":"punctuation.definition.string.begin.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.svelte"}},"patterns":[{"include":"#type-parameters"}]},"attributes-interpolated":{"begin":"(?)","patterns":[{"include":"#attributes-value"}]}]},"attributes-value":{"patterns":[{"include":"#interpolation"},{"captures":{"1":{"name":"punctuation.definition.string.begin.svelte"},"2":{"name":"constant.numeric.decimal.svelte"},"3":{"name":"punctuation.definition.string.end.svelte"},"4":{"name":"constant.numeric.decimal.svelte"}},"match":"([\\"'])([.0-9_]+[%\\\\w]{0,4})(\\\\1)|([.0-9_]+[%\\\\w]{0,4})(?=\\\\s|/?>)"},{"match":"([^\\"'/<=>\`\\\\s]|/(?!>))+","name":"string.unquoted.svelte","patterns":[{"include":"#interpolation"}]},{"begin":"([\\"'])","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.svelte"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.definition.string.end.svelte"}},"name":"string.quoted.svelte","patterns":[{"include":"#interpolation"}]}]},"comments":{"begin":"","name":"comment.block.svelte","patterns":[{"begin":"(@)(component)","beginCaptures":{"1":{"name":"punctuation.definition.keyword.svelte"},"2":{"name":"storage.type.class.component.svelte keyword.declaration.class.component.svelte"}},"contentName":"comment.block.documentation.svelte","end":"(?=-->)","patterns":[{"captures":{"0":{"patterns":[{"include":"text.html.markdown"}]}},"match":".*?(?=-->)"},{"include":"text.html.markdown"}]},{"match":"\\\\G-?>|)|--!>","name":"invalid.illegal.characters-not-allowed-here.svelte"}]},"destructuring":{"patterns":[{"begin":"(?=\\\\{)","end":"(?<=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#object-binding-pattern"}]},{"begin":"(?=\\\\[)","end":"(?<=])","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#array-binding-pattern"}]}]},"destructuring-const":{"patterns":[{"begin":"(?=\\\\{)","end":"(?<=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#object-binding-pattern-const"}]},{"begin":"(?=\\\\[)","end":"(?<=])","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts#array-binding-pattern-const"}]}]},"interpolation":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.svelte"}},"patterns":[{"begin":"\\\\G\\\\s*(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.ts#object-literal"}]},{"include":"source.ts"}]}]},"scope":{"patterns":[{"include":"#comments"},{"include":"#special-tags"},{"include":"#tags"},{"include":"#interpolation"},{"begin":"(?<=[>}])","end":"(?=[<{])","name":"text.svelte"}]},"special-tags":{"patterns":[{"include":"#special-tags-void"},{"include":"#special-tags-block-begin"},{"include":"#special-tags-block-end"}]},"special-tags-block-begin":{"begin":"(\\\\{)\\\\s*(#([a-z]*))","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.svelte"},"2":{"patterns":[{"include":"#special-tags-keywords"}]}},"end":"(})","endCaptures":{"0":{"name":"punctuation.definition.block.end.svelte"}},"name":"meta.special.$3.svelte meta.special.start.svelte","patterns":[{"include":"#special-tags-modes"}]},"special-tags-block-end":{"begin":"(\\\\{)\\\\s*(/([a-z]*))","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.svelte"},"2":{"patterns":[{"include":"#special-tags-keywords"}]}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.block.end.svelte"}},"name":"meta.special.$3.svelte meta.special.end.svelte"},"special-tags-keywords":{"captures":{"1":{"name":"punctuation.definition.keyword.svelte"},"2":{"patterns":[{"match":"if|else\\\\s+if|else","name":"keyword.control.conditional.svelte"},{"match":"each|key","name":"keyword.control.svelte"},{"match":"await|then|catch","name":"keyword.control.flow.svelte"},{"match":"snippet","name":"keyword.control.svelte"},{"match":"html","name":"keyword.other.svelte"},{"match":"render","name":"keyword.other.svelte"},{"match":"debug","name":"keyword.other.debugger.svelte"},{"match":"const","name":"storage.type.svelte"}]}},"match":"([#/:@])(else\\\\s+if|[a-z]*)"},"special-tags-modes":{"patterns":[{"begin":"(?<=(if|key|then|catch|snippet|html|render).*?)\\\\G","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=const.*?)\\\\G","end":"(?=})","patterns":[{"include":"#destructuring-const"},{"begin":"\\\\G\\\\s*([$_[:alpha:]][$_[:alnum:]]+)\\\\s*","beginCaptures":{"1":{"name":"variable.other.constant.svelte"}},"end":"(?=[:=])"},{"begin":"(?=:)","end":"(?==)","name":"meta.type.annotation.svelte","patterns":[{"include":"source.ts"}]},{"begin":"(?==)","end":"(?=})","name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}]},{"begin":"(?<=each.*?)\\\\G","end":"(?=})","patterns":[{"begin":"\\\\G\\\\s*?(?=\\\\S)","contentName":"meta.embedded.expression.svelte source.ts","end":"(?=(?:^\\\\s*|\\\\s+)(as)|\\\\s*([,}]))","patterns":[{"include":"source.ts"}]},{"begin":"(as)|(?=[,}])","beginCaptures":{"1":{"name":"keyword.control.as.svelte"}},"end":"(?=})","patterns":[{"include":"#destructuring"},{"begin":"\\\\(","captures":{"0":{"name":"meta.brace.round.svelte"}},"contentName":"meta.embedded.expression.svelte source.ts","end":"\\\\)|(?=})","patterns":[{"include":"source.ts"}]},{"captures":{"1":{"name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}},"match":"(\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*)"},{"match":",","name":"punctuation.separator.svelte"}]}]},{"begin":"(?<=await.*?)\\\\G","end":"(?=})","patterns":[{"begin":"\\\\G\\\\s*?(?=\\\\S)","contentName":"meta.embedded.expression.svelte source.ts","end":"\\\\s+(then)|(?=})","endCaptures":{"1":{"name":"keyword.control.flow.svelte"}},"patterns":[{"include":"source.ts"}]},{"begin":"(?<=then\\\\b)","contentName":"meta.embedded.expression.svelte source.ts","end":"(?=})","patterns":[{"include":"source.ts"}]}]},{"begin":"(?<=debug.*?)\\\\G","end":"(?=})","patterns":[{"captures":{"0":{"name":"meta.embedded.expression.svelte source.ts","patterns":[{"include":"source.ts"}]}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"match":",","name":"punctuation.separator.svelte"}]}]},"special-tags-void":{"begin":"(\\\\{)\\\\s*([:@](else\\\\s+if|[a-z]*))","beginCaptures":{"1":{"name":"punctuation.definition.block.begin.svelte"},"2":{"patterns":[{"include":"#special-tags-keywords"}]}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.end.svelte"}},"name":"meta.special.$3.svelte","patterns":[{"include":"#special-tags-modes"}]},"tags":{"patterns":[{"include":"#tags-lang"},{"include":"#tags-void"},{"include":"#tags-general-end"},{"include":"#tags-general-start"}]},"tags-end-node":{"captures":{"1":{"name":"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{"name":"meta.tag.end.svelte","patterns":[{"include":"#tags-name"}]},"3":{"name":"meta.tag.end.svelte punctuation.definition.tag.end.svelte"},"4":{"name":"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},"match":"()|(/>)"},"tags-general-end":{"begin":"(\\\\s]*)","beginCaptures":{"1":{"name":"meta.tag.end.svelte punctuation.definition.tag.begin.svelte"},"2":{"name":"meta.tag.end.svelte","patterns":[{"include":"#tags-name"}]}},"end":"(>)","endCaptures":{"1":{"name":"meta.tag.end.svelte punctuation.definition.tag.end.svelte"}},"name":"meta.scope.tag.$2.svelte"},"tags-general-start":{"begin":"(<)([^/>\\\\s]*)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"(/?>)","endCaptures":{"1":{"name":"meta.tag.start.svelte punctuation.definition.tag.end.svelte"}},"name":"meta.scope.tag.$2.svelte","patterns":[{"include":"#tags-start-attributes"}]},"tags-lang":{"begin":"<(script|style|template)","beginCaptures":{"0":{"patterns":[{"include":"#tags-start-node"}]}},"end":"|/>","endCaptures":{"0":{"patterns":[{"include":"#tags-end-node"}]}},"name":"meta.$1.svelte","patterns":[{"begin":"\\\\G(?=\\\\s*[^>]*?(type|lang)\\\\s*=\\\\s*([\\"']?)(?:text/)?(\\\\w+)\\\\2)","end":"(?=)","name":"meta.lang.$3.svelte","patterns":[{"include":"#tags-lang-start-attributes"}]},{"include":"#tags-lang-start-attributes"}]},"tags-lang-start-attributes":{"begin":"\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.svelte"}},"name":"meta.tag.start.svelte","patterns":[{"include":"#attributes-generics"},{"include":"#attributes"}]},"tags-name":{"patterns":[{"captures":{"1":{"name":"keyword.control.svelte"},"2":{"name":"punctuation.definition.keyword.svelte"},"3":{"name":"entity.name.tag.svelte"}},"match":"(svelte)(:)([a-z][-:\\\\w]*)"},{"match":"slot","name":"keyword.control.svelte"},{"captures":{"1":{"patterns":[{"match":"\\\\w+","name":"support.class.component.svelte"},{"match":"\\\\.","name":"punctuation.definition.keyword.svelte"}]},"2":{"name":"support.class.component.svelte"}},"match":"(\\\\w+(?:\\\\.\\\\w+)+)|([A-Z]\\\\w*)"},{"match":"[a-z][0-:\\\\w]*-[-0-:\\\\w]*","name":"meta.tag.custom.svelte entity.name.tag.svelte"},{"match":"[a-z][-0-:\\\\w]*","name":"entity.name.tag.svelte"}]},"tags-start-attributes":{"begin":"\\\\G","end":"(?=/?>)","name":"meta.tag.start.svelte","patterns":[{"include":"#attributes"}]},"tags-start-node":{"captures":{"1":{"name":"punctuation.definition.tag.begin.svelte"},"2":{"patterns":[{"include":"#tags-name"}]}},"match":"(<)([^/>\\\\s]*)","name":"meta.tag.start.svelte"},"tags-void":{"begin":"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.svelte"},"2":{"name":"entity.name.tag.svelte"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.begin.svelte"}},"name":"meta.tag.void.svelte","patterns":[{"include":"#attributes"}]},"type-parameters":{"name":"meta.type.parameters.ts","patterns":[{"include":"source.ts#comment"},{"match":"(?)","name":"keyword.operator.assignment.ts"}]}},"scopeName":"source.svelte","embeddedLangs":["javascript","typescript","css","postcss"],"embeddedLangsLazy":["coffee","stylus","sass","scss","less","pug","markdown"]}`, + ), + ), + m = [...e, ...t, ...n, ...s, a] +export { m as default } +//# sourceMappingURL=chunk-CMUws-av.js.map diff --git a/src/webview-ui/build/assets/chunk-CMUws-av.js.map b/src/webview-ui/build/assets/chunk-CMUws-av.js.map new file mode 100644 index 0000000000..f163a30424 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CMUws-av.js.map @@ -0,0 +1,23 @@ +{ + "version": 3, + "file": "chunk-CMUws-av.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/svelte.mjs" + ], + "sourcesContent": [ + "import javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport postcss from './postcss.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Svelte\\\",\\\"fileTypes\\\":[\\\"svelte\\\"],\\\"injections\\\":{\\\"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)(?!)\\\\\\\\s\\\",\\\"end\\\":\\\"(?=)(?!)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-directives-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"on|use|bind\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"match\\\":\\\"transition|in|out|animate\\\",\\\"name\\\":\\\"keyword.other.animation.svelte\\\"},{\\\"match\\\":\\\"let\\\",\\\"name\\\":\\\"storage.type.svelte\\\"},{\\\"match\\\":\\\"class|style\\\",\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"}]},\\\"attributes-directives-types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=(on):).*$\\\",\\\"name\\\":\\\"entity.name.type.svelte\\\"},{\\\"match\\\":\\\"(?<=(bind):).*$\\\",\\\"name\\\":\\\"variable.parameter.svelte\\\"},{\\\"match\\\":\\\"(?<=(use|transition|in|out|animate):).*$\\\",\\\"name\\\":\\\"variable.function.svelte\\\"},{\\\"match\\\":\\\"(?<=(let|class|style):).*$\\\",\\\"name\\\":\\\"variable.parameter.svelte\\\"}]},\\\"attributes-directives-types-assigned\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=(bind):)this$\\\",\\\"name\\\":\\\"variable.language.svelte\\\"},{\\\"match\\\":\\\"(?<=(bind):).*$\\\",\\\"name\\\":\\\"entity.name.type.svelte\\\"},{\\\"match\\\":\\\"(?<=(class):).*$\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.svelte\\\"},{\\\"match\\\":\\\"(?<=(style):).*$\\\",\\\"name\\\":\\\"support.type.property-name.svelte\\\"},{\\\"include\\\":\\\"#attributes-directives-types\\\"}]},\\\"attributes-generics\\\":{\\\"begin\\\":\\\"(generics)(=)([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.svelte\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.svelte\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},\\\"attributes-interpolated\\\":{\\\"begin\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.decimal.svelte\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.svelte\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.svelte\\\"}},\\\"match\\\":\\\"([\\\\\\\"'])([.0-9_]+[%\\\\\\\\w]{0,4})(\\\\\\\\1)|([.0-9_]+[%\\\\\\\\w]{0,4})(?=\\\\\\\\s|/?>)\\\"},{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.svelte\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.svelte\\\"}},\\\"name\\\":\\\"string.quoted.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"comments\\\":{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"comment.block.svelte\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)(component)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.component.svelte keyword.declaration.class.component.svelte\\\"}},\\\"contentName\\\":\\\"comment.block.documentation.svelte\\\",\\\"end\\\":\\\"(?=-->)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}]}},\\\"match\\\":\\\".*?(?=-->)\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}]},{\\\"match\\\":\\\"\\\\\\\\G-?>|)|--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.svelte\\\"}]},\\\"destructuring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-binding-pattern\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?<=])\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#array-binding-pattern\\\"}]}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-binding-pattern-const\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?<=])\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#array-binding-pattern-const\\\"}]}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.svelte\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-literal\\\"}]},{\\\"include\\\":\\\"source.ts\\\"}]}]},\\\"scope\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#special-tags\\\"},{\\\"include\\\":\\\"#tags\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"begin\\\":\\\"(?<=[>}])\\\",\\\"end\\\":\\\"(?=[<{])\\\",\\\"name\\\":\\\"text.svelte\\\"}]},\\\"special-tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-void\\\"},{\\\"include\\\":\\\"#special-tags-block-begin\\\"},{\\\"include\\\":\\\"#special-tags-block-end\\\"}]},\\\"special-tags-block-begin\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*(#([a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-keywords\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.svelte\\\"}},\\\"name\\\":\\\"meta.special.$3.svelte meta.special.start.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-modes\\\"}]},\\\"special-tags-block-end\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*(/([a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-keywords\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.svelte\\\"}},\\\"name\\\":\\\"meta.special.$3.svelte meta.special.end.svelte\\\"},\\\"special-tags-keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"if|else\\\\\\\\s+if|else\\\",\\\"name\\\":\\\"keyword.control.conditional.svelte\\\"},{\\\"match\\\":\\\"each|key\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"match\\\":\\\"await|then|catch\\\",\\\"name\\\":\\\"keyword.control.flow.svelte\\\"},{\\\"match\\\":\\\"snippet\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"match\\\":\\\"html\\\",\\\"name\\\":\\\"keyword.other.svelte\\\"},{\\\"match\\\":\\\"render\\\",\\\"name\\\":\\\"keyword.other.svelte\\\"},{\\\"match\\\":\\\"debug\\\",\\\"name\\\":\\\"keyword.other.debugger.svelte\\\"},{\\\"match\\\":\\\"const\\\",\\\"name\\\":\\\"storage.type.svelte\\\"}]}},\\\"match\\\":\\\"([#/:@])(else\\\\\\\\s+if|[a-z]*)\\\"},\\\"special-tags-modes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(if|key|then|catch|snippet|html|render).*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?<=const.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]+)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.svelte\\\"}},\\\"end\\\":\\\"(?=[:=])\\\"},{\\\"begin\\\":\\\"(?=:)\\\",\\\"end\\\":\\\"(?==)\\\",\\\"name\\\":\\\"meta.type.annotation.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"(?<=each.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*?(?=\\\\\\\\S)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(?=(?:^\\\\\\\\s*|\\\\\\\\s+)(as)|\\\\\\\\s*([,}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(as)|(?=[,}])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.svelte\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#destructuring\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*)\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.svelte\\\"}]}]},{\\\"begin\\\":\\\"(?<=await.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*?(?=\\\\\\\\S)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"\\\\\\\\s+(then)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.svelte\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?<=then\\\\\\\\b)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"(?<=debug.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.svelte\\\"}]}]},\\\"special-tags-void\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*([:@](else\\\\\\\\s+if|[a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-keywords\\\"}]}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.svelte\\\"}},\\\"name\\\":\\\"meta.special.$3.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-modes\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang\\\"},{\\\"include\\\":\\\"#tags-void\\\"},{\\\"include\\\":\\\"#tags-general-end\\\"},{\\\"include\\\":\\\"#tags-general-start\\\"}]},\\\"tags-end-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.end.svelte\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.tag.start.svelte punctuation.definition.tag.end.svelte\\\"}},\\\"match\\\":\\\"()|(/>)\\\"},\\\"tags-general-end\\\":{\\\"begin\\\":\\\"(\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.end.svelte\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.svelte\\\"},\\\"tags-general-start\\\":{\\\"begin\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.start.svelte punctuation.definition.tag.end.svelte\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-attributes\\\"}]},\\\"tags-lang\\\":{\\\"begin\\\":\\\"<(script|style|template)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.$1.svelte\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/)?(\\\\\\\\w+)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"name\\\":\\\"meta.lang.$3.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-lang-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.svelte\\\"}},\\\"name\\\":\\\"meta.tag.start.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-generics\\\"},{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.svelte\\\"}},\\\"match\\\":\\\"(svelte)(:)([a-z][-:\\\\\\\\w]*)\\\"},{\\\"match\\\":\\\"slot\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"support.class.component.svelte\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.svelte\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+(?:\\\\\\\\.\\\\\\\\w+)+)|([A-Z]\\\\\\\\w*)\\\"},{\\\"match\\\":\\\"[a-z][0-:\\\\\\\\w]*-[-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"meta.tag.custom.svelte entity.name.tag.svelte\\\"},{\\\"match\\\":\\\"[a-z][-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.tag.svelte\\\"}]},\\\"tags-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.start.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-start-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"match\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"name\\\":\\\"meta.tag.start.svelte\\\"},\\\"tags-void\\\":{\\\"begin\\\":\\\"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.svelte\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.svelte\\\"}},\\\"name\\\":\\\"meta.tag.void.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"type-parameters\\\":{\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]}},\\\"scopeName\\\":\\\"source.svelte\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"typescript\\\",\\\"css\\\",\\\"postcss\\\"],\\\"embeddedLangsLazy\\\":[\\\"coffee\\\",\\\"stylus\\\",\\\"sass\\\",\\\"scss\\\",\\\"less\\\",\\\"pug\\\",\\\"markdown\\\"]}\"))\n\nexport default [\n...javascript,\n...typescript,\n...css,\n...postcss,\nlang\n]\n" + ], + "names": [ + "lang", + "svelte", + "javascript", + "typescript", + "css", + "postcss" + ], + "mappings": "4IAKA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,y1gBAAu0kB,CAAC,EAE/1kBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHL,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CMdgaOU9.js b/src/webview-ui/build/assets/chunk-CMdgaOU9.js new file mode 100644 index 0000000000..01d0b3168c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CMdgaOU9.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Coq","fileTypes":["v"],"name":"coq","patterns":[{"match":"\\\\b(From|Require|Import|Export|Local|Global|Include)\\\\b","name":"keyword.control.import.coq"},{"match":"\\\\b((Open|Close|Delimit|Undelimit|Bind)\\\\s+Scope)\\\\b","name":"keyword.control.import.coq"},{"captures":{"1":{"name":"keyword.source.coq"},"2":{"name":"entity.name.function.theorem.coq"}},"match":"\\\\b(Theorem|Lemma|Remark|Fact|Corollary|Property|Proposition)\\\\s+(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"match":"\\\\bGoal\\\\b","name":"keyword.source.coq"},{"captures":{"1":{"name":"keyword.source.coq"},"2":{"name":"keyword.source.coq"},"3":{"name":"entity.name.assumption.coq"}},"match":"\\\\b(Parameters?|Axioms?|Conjectures?|Variables?|Hypothesis|Hypotheses)(\\\\s+Inline)?\\\\b\\\\s*\\\\(?\\\\s*(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"captures":{"1":{"name":"keyword.source.coq"},"3":{"name":"entity.name.assumption.coq"}},"match":"\\\\b(Context)\\\\b\\\\s*\`?\\\\s*([({])?\\\\s*(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"captures":{"1":{"name":"keyword.source.coq"},"2":{"name":"keyword.source.coq"},"3":{"name":"entity.name.function.coq"}},"match":"(\\\\b(?:Program|Local)\\\\s+)?\\\\b(Definition|Fixpoint|CoFixpoint|Function|Example|Let(?:(?:\\\\s+|\\\\s+Co)Fixpoint)?|Instance|Equations|Equations?)\\\\s+(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"captures":{"1":{"name":"keyword.source.coq"}},"match":"\\\\b((Show\\\\s+)?Obligation\\\\s+Tactic|Obligations\\\\s+of|Obligation|Next\\\\s+Obligation(\\\\s+of)?|Solve\\\\s+Obligations(\\\\s+of)?|Solve\\\\s+All\\\\s+Obligations|Admit\\\\s+Obligations(\\\\s+of)?|Instance)\\\\b"},{"captures":{"1":{"name":"keyword.source.coq"},"3":{"name":"entity.name.type.coq"}},"match":"\\\\b(CoInductive|Inductive|Variant|Record|Structure|Class)\\\\s+(>\\\\s*)?(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"captures":{"1":{"name":"keyword.source.coq"},"2":{"name":"entity.name.function.ltac"}},"match":"\\\\b(Ltac)\\\\s+(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"captures":{"1":{"name":"keyword.source.coq"},"2":{"name":"keyword.source.coq"},"3":{"name":"entity.name.function.ltac"}},"match":"\\\\b(Ltac2)\\\\s+(mutable\\\\s+)?(rec\\\\s+)?(([_ \\\\p{L}])(['0-9_ \\\\p{L}])*)"},{"match":"\\\\b(Hint(\\\\s+Mode)?|Create\\\\s+HintDb|Constructors|Resolve|Rewrite|Ltac2??|Implicit(\\\\s+Types)?|Set|Unset|Remove\\\\s+Printing|Arguments|((Tactic|Reserved)\\\\s+)?Notation|Infix|Section|Module(\\\\s+Type)?|End|Check|Print(\\\\s+All)?|Eval|Compute|Search|Universe|Coercions|Generalizable(\\\\s+(All|Variable))?|Existing(\\\\s+(Class|Instance))?|Canonical|About|Locate|Collection|Typeclasses\\\\s+(Opaque|Transparent))\\\\b","name":"keyword.source.coq"},{"match":"\\\\b(Proof|Qed|Defined|Save|Abort(\\\\s+All)?|Undo(\\\\s+To)?|Restart|Focus|Unfocus|Unfocused|Show\\\\s+Proof|Show\\\\s+Existentials|Show|Unshelve)\\\\b","name":"keyword.source.coq"},{"match":"\\\\b(Quit|Drop|Time|Redirect|Timeout|Fail)\\\\b","name":"keyword.debug.coq"},{"match":"\\\\b(admit|Admitted)\\\\b","name":"invalid.illegal.admit.coq"},{"match":"[-*+:<=>{|}¬→↔∧∨≠≤≥]","name":"keyword.operator.coq"},{"match":"\\\\b(forall|exists|Type|Set|Prop|nat|bool|option|list|unit|sum|prod|comparison|Empty_set)\\\\b|[∀∃]","name":"support.type.coq"},{"match":"\\\\b(try|repeat|rew|progress|fresh|solve|now|first|tryif|at|once|do|only)\\\\b","name":"keyword.control.ltac"},{"match":"\\\\b(into|with|eqn|by|move|as|using)\\\\b","name":"keyword.control.ltac"},{"match":"\\\\b(match|lazymatch|multimatch|fun|with|return|end|let|in|if|then|else|fix|for|where|and)\\\\b|λ","name":"keyword.control.gallina"},{"match":"\\\\b(intros??|revert|induction|destruct|auto|eauto|tauto|eassumption|apply|eapply|assumption|constructor|econstructor|reflexivity|inversion|injection|assert|split|esplit|omega|fold|unfold|specialize|rewrite|erewrite|change|symmetry|refine|simpl|intuition|firstorder|generalize|idtac|exists??|eexists|elim|eelim|rename|subst|congruence|trivial|left|right|set|pose|discriminate|clear|clearbody|contradict|contradiction|exact|dependent|remember|case|easy|unshelve|pattern|transitivity|etransitivity|f_equal|exfalso|replace|abstract|cycle|swap|revgoals|shelve|unshelve)\\\\b","name":"support.function.builtin.ltac"},{"applyEndPatternLast":1,"begin":"\\\\(\\\\*(?!#)","end":"\\\\*\\\\)","name":"comment.block.coq","patterns":[{"include":"#block_comment"},{"include":"#block_double_quoted_string"}]},{"match":"\\\\b((0([Xx])\\\\h+)|([0-9]+(\\\\.[0-9]+)?))\\\\b","name":"constant.numeric.gallina"},{"match":"\\\\b(True|False|tt|false|true|Some|None|nil|cons|pair|inl|inr|[OS]|Eq|Lt|Gt|id|ex|all|unique)\\\\b","name":"constant.language.constructor.gallina"},{"match":"\\\\b_\\\\b","name":"constant.language.wildcard.coq"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coq"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.coq"}},"name":"string.quoted.double.coq"}],"repository":{"block_comment":{"applyEndPatternLast":1,"begin":"\\\\(\\\\*(?!#)","end":"\\\\*\\\\)","name":"comment.block.coq","patterns":[{"include":"#block_comment"},{"include":"#block_double_quoted_string"}]},"block_double_quoted_string":{"applyEndPatternLast":1,"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.coq"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.coq"}},"name":"string.quoted.double.coq"}},"scopeName":"source.coq"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-CMdgaOU9.js.map diff --git a/src/webview-ui/build/assets/chunk-CMdgaOU9.js.map b/src/webview-ui/build/assets/chunk-CMdgaOU9.js.map new file mode 100644 index 0000000000..8a6d12b938 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CMdgaOU9.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CMdgaOU9.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/coq.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Coq\\\",\\\"fileTypes\\\":[\\\"v\\\"],\\\"name\\\":\\\"coq\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(From|Require|Import|Export|Local|Global|Include)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.coq\\\"},{\\\"match\\\":\\\"\\\\\\\\b((Open|Close|Delimit|Undelimit|Bind)\\\\\\\\s+Scope)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.coq\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.theorem.coq\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Theorem|Lemma|Remark|Fact|Corollary|Property|Proposition)\\\\\\\\s+(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"match\\\":\\\"\\\\\\\\bGoal\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.source.coq\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.assumption.coq\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Parameters?|Axioms?|Conjectures?|Variables?|Hypothesis|Hypotheses)(\\\\\\\\s+Inline)?\\\\\\\\b\\\\\\\\s*\\\\\\\\(?\\\\\\\\s*(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.assumption.coq\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Context)\\\\\\\\b\\\\\\\\s*`?\\\\\\\\s*([({])?\\\\\\\\s*(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.coq\\\"}},\\\"match\\\":\\\"(\\\\\\\\b(?:Program|Local)\\\\\\\\s+)?\\\\\\\\b(Definition|Fixpoint|CoFixpoint|Function|Example|Let(?:(?:\\\\\\\\s+|\\\\\\\\s+Co)Fixpoint)?|Instance|Equations|Equations?)\\\\\\\\s+(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"}},\\\"match\\\":\\\"\\\\\\\\b((Show\\\\\\\\s+)?Obligation\\\\\\\\s+Tactic|Obligations\\\\\\\\s+of|Obligation|Next\\\\\\\\s+Obligation(\\\\\\\\s+of)?|Solve\\\\\\\\s+Obligations(\\\\\\\\s+of)?|Solve\\\\\\\\s+All\\\\\\\\s+Obligations|Admit\\\\\\\\s+Obligations(\\\\\\\\s+of)?|Instance)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.coq\\\"}},\\\"match\\\":\\\"\\\\\\\\b(CoInductive|Inductive|Variant|Record|Structure|Class)\\\\\\\\s+(>\\\\\\\\s*)?(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ltac\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Ltac)\\\\\\\\s+(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.source.coq\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ltac\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Ltac2)\\\\\\\\s+(mutable\\\\\\\\s+)?(rec\\\\\\\\s+)?(([_ \\\\\\\\p{L}])(['0-9_ \\\\\\\\p{L}])*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Hint(\\\\\\\\s+Mode)?|Create\\\\\\\\s+HintDb|Constructors|Resolve|Rewrite|Ltac2??|Implicit(\\\\\\\\s+Types)?|Set|Unset|Remove\\\\\\\\s+Printing|Arguments|((Tactic|Reserved)\\\\\\\\s+)?Notation|Infix|Section|Module(\\\\\\\\s+Type)?|End|Check|Print(\\\\\\\\s+All)?|Eval|Compute|Search|Universe|Coercions|Generalizable(\\\\\\\\s+(All|Variable))?|Existing(\\\\\\\\s+(Class|Instance))?|Canonical|About|Locate|Collection|Typeclasses\\\\\\\\s+(Opaque|Transparent))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.source.coq\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Proof|Qed|Defined|Save|Abort(\\\\\\\\s+All)?|Undo(\\\\\\\\s+To)?|Restart|Focus|Unfocus|Unfocused|Show\\\\\\\\s+Proof|Show\\\\\\\\s+Existentials|Show|Unshelve)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.source.coq\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Quit|Drop|Time|Redirect|Timeout|Fail)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.debug.coq\\\"},{\\\"match\\\":\\\"\\\\\\\\b(admit|Admitted)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.admit.coq\\\"},{\\\"match\\\":\\\"[-*+:<=>{|}¬→↔∧∨≠≤≥]\\\",\\\"name\\\":\\\"keyword.operator.coq\\\"},{\\\"match\\\":\\\"\\\\\\\\b(forall|exists|Type|Set|Prop|nat|bool|option|list|unit|sum|prod|comparison|Empty_set)\\\\\\\\b|[∀∃]\\\",\\\"name\\\":\\\"support.type.coq\\\"},{\\\"match\\\":\\\"\\\\\\\\b(try|repeat|rew|progress|fresh|solve|now|first|tryif|at|once|do|only)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.ltac\\\"},{\\\"match\\\":\\\"\\\\\\\\b(into|with|eqn|by|move|as|using)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.ltac\\\"},{\\\"match\\\":\\\"\\\\\\\\b(match|lazymatch|multimatch|fun|with|return|end|let|in|if|then|else|fix|for|where|and)\\\\\\\\b|λ\\\",\\\"name\\\":\\\"keyword.control.gallina\\\"},{\\\"match\\\":\\\"\\\\\\\\b(intros??|revert|induction|destruct|auto|eauto|tauto|eassumption|apply|eapply|assumption|constructor|econstructor|reflexivity|inversion|injection|assert|split|esplit|omega|fold|unfold|specialize|rewrite|erewrite|change|symmetry|refine|simpl|intuition|firstorder|generalize|idtac|exists??|eexists|elim|eelim|rename|subst|congruence|trivial|left|right|set|pose|discriminate|clear|clearbody|contradict|contradiction|exact|dependent|remember|case|easy|unshelve|pattern|transitivity|etransitivity|f_equal|exfalso|replace|abstract|cycle|swap|revgoals|shelve|unshelve)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin.ltac\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*(?!#)\\\",\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"comment.block.coq\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#block_double_quoted_string\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h+)|([0-9]+(\\\\\\\\.[0-9]+)?))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.gallina\\\"},{\\\"match\\\":\\\"\\\\\\\\b(True|False|tt|false|true|Some|None|nil|cons|pair|inl|inr|[OS]|Eq|Lt|Gt|id|ex|all|unique)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.constructor.gallina\\\"},{\\\"match\\\":\\\"\\\\\\\\b_\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.wildcard.coq\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coq\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coq\\\"}},\\\"name\\\":\\\"string.quoted.double.coq\\\"}],\\\"repository\\\":{\\\"block_comment\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*(?!#)\\\",\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"comment.block.coq\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#block_double_quoted_string\\\"}]},\\\"block_double_quoted_string\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coq\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coq\\\"}},\\\"name\\\":\\\"string.quoted.double.coq\\\"}},\\\"scopeName\\\":\\\"source.coq\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "coq" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,oxKAAqrL,CAAC,EAE7sLC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-COkxafJQ.js b/src/webview-ui/build/assets/chunk-COkxafJQ.js new file mode 100644 index 0000000000..0a2a137b94 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-COkxafJQ.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Cypher","fileTypes":["cql","cyp","cypher"],"name":"cypher","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#functions"},{"include":"#path-patterns"},{"include":"#operators"},{"include":"#identifiers"},{"include":"#properties_literal"},{"include":"#numbers"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"match":"//.*$\\\\n?","name":"comment.line.double-slash.cypher"}]},"constants":{"patterns":[{"match":"(?i)\\\\bTRUE|FALSE\\\\b","name":"constant.language.bool.cypher"},{"match":"(?i)\\\\bNULL\\\\b","name":"constant.language.missing.cypher"}]},"functions":{"patterns":[{"match":"(?i)\\\\b((NOT)(?=\\\\s*\\\\()|IS\\\\s+NULL|IS\\\\s+NOT\\\\s+NULL)","name":"keyword.control.function.boolean.cypher"},{"match":"(?i)\\\\b(ALL|ANY|NONE|SINGLE)(?=\\\\s*\\\\()","name":"support.function.predicate.cypher"},{"match":"(?i)\\\\b(LENGTH|TYPE|ID|COALESCE|HEAD|LAST|TIMESTAMP|STARTNODE|ENDNODE|TOINT|TOFLOAT)(?=\\\\s*\\\\()","name":"support.function.scalar.cypher"},{"match":"(?i)\\\\b(NODES|RELATIONSHIPS|LABELS|EXTRACT|FILTER|TAIL|RANGE|REDUCE)(?=\\\\s*\\\\()","name":"support.function.collection.cypher"},{"match":"(?i)\\\\b(ABS|ACOS|ASIN|ATAN2??|COS|COT|DEGREES|E|EXP|FLOOR|HAVERSIN|LOG|LOG10|PI|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|TAN)(?=\\\\s*\\\\()","name":"support.function.math.cypher"},{"match":"(?i)\\\\b(COUNT|sum|avg|max|min|stdevp??|percentileDisc|percentileCont|collect)(?=\\\\s*\\\\()","name":"support.function.aggregation.cypher"},{"match":"(?i)\\\\b(STR|REPLACE|SUBSTRING|LEFT|RIGHT|LTRIM|RTRIM|TRIM|LOWER|UPPER|SPLIT)(?=\\\\s*\\\\()","name":"support.function.string.cypher"}]},"identifiers":{"patterns":[{"match":"`.+?`","name":"variable.other.quoted-identifier.cypher"},{"match":"[_\\\\p{L}][0-9_\\\\p{L}]*","name":"variable.other.identifier.cypher"}]},"keywords":{"patterns":[{"match":"(?i)\\\\b(START|MATCH|WHERE|RETURN|UNION|FOREACH|WITH|AS|LIMIT|SKIP|UNWIND|HAS|DISTINCT|OPTIONAL\\\\\\\\s+MATCH|ORDER\\\\s+BY|CALL|YIELD)\\\\b","name":"keyword.control.clause.cypher"},{"match":"(?i)\\\\b(ELSE|END|THEN|CASE|WHEN)\\\\b","name":"keyword.control.case.cypher"},{"match":"(?i)\\\\b(FIELDTERMINATOR|USING\\\\s+PERIODIC\\\\s+COMMIT|HEADERS|LOAD\\\\s+CSV|FROM)\\\\b","name":"keyword.data.import.cypher"},{"match":"(?i)\\\\b(USING\\\\s+INDEX|CREATE\\\\s+INDEX\\\\s+ON|DROP\\\\s+INDEX\\\\s+ON|CREATE\\\\s+CONSTRAINT\\\\s+ON|DROP\\\\s+CONSTRAINT\\\\s+ON)\\\\b","name":"keyword.other.indexes.cypher"},{"match":"(?i)\\\\b(MERGE|DELETE|SET|REMOVE|ON\\\\s+CREATE|ON\\\\s+MATCH|CREATE\\\\s+UNIQUE|CREATE)\\\\b","name":"keyword.data.definition.cypher"},{"match":"(?i)\\\\b(DESC|ASC)\\\\b","name":"keyword.other.order.cypher"},{"begin":"(?i)\\\\b(node|relationship|rel)((:)([-_\\\\p{L}][0-9_\\\\p{L}]*))?(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"support.class.starting-functions-point.cypher"},"2":{"name":"keyword.control.index-seperator.cypher"},"3":{"name":"keyword.control.index-seperator.cypher"},"4":{"name":"support.class.index.cypher"}},"end":"\\\\)","name":"source.starting-functions.cypher","patterns":[{"match":"(`.+?`|[_\\\\p{L}][0-9_\\\\p{L}]*)","name":"variable.parameter.relationship-name.cypher"},{"match":"(\\\\*)","name":"keyword.control.starting-function-params.cypher"},{"include":"#comments"},{"include":"#numbers"},{"include":"#strings"}]}]},"numbers":{"patterns":[{"match":"\\\\b\\\\d+(\\\\.\\\\d+)?\\\\b","name":"constant.numeric.cypher"}]},"operators":{"patterns":[{"match":"([-!%*+/?])","name":"keyword.operator.math.cypher"},{"match":"(<=|=>|<>|[<>]|=~?)","name":"keyword.operator.compare.cypher"},{"match":"(?i)\\\\b(OR|AND|XOR|IS)\\\\b","name":"keyword.operator.logical.cypher"},{"match":"(?i)\\\\b(IN)\\\\b","name":"keyword.operator.in.cypher"}]},"path-patterns":{"patterns":[{"match":"(<--|-->?)","name":"support.function.relationship-pattern.cypher"},{"begin":"(?)","endCaptures":{"1":{"name":"keyword.operator.relationship-pattern-end.cypher"},"2":{"name":"support.function.relationship-pattern-end.cypher"}},"name":"path-pattern.cypher","patterns":[{"include":"#identifiers"},{"captures":{"1":{"name":"keyword.operator.relationship-type-start.cypher"},"2":{"name":"entity.name.class.relationship.type.cypher"}},"match":"(:)(`.+?`|[_\\\\p{L}][0-9_\\\\p{L}]*)","name":"entity.name.class.relationship-type.cypher"},{"captures":{"1":{"name":"support.type.operator.relationship-type-or.cypher"},"2":{"name":"entity.name.class.relationship.type-or.cypher"}},"match":"(\\\\|)(\\\\s*)(`.+?`|[_\\\\p{L}][0-9_\\\\p{L}]*)","name":"entity.name.class.relationship-type-ored.cypher"},{"match":"(?:\\\\?\\\\*|[*?])\\\\s*(?:\\\\d+\\\\s*(?:\\\\.\\\\.\\\\s*\\\\d+)?)?","name":"support.function.relationship-pattern.quant.cypher"},{"include":"#properties_literal"}]}]},"properties_literal":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"keyword.control.properties_literal.cypher"}},"end":"}","endCaptures":{"0":{"name":"keyword.control.properties_literal.cypher"}},"name":"source.cypher","patterns":[{"match":"[,:]","name":"keyword.control.properties_literal.seperator.cypher"},{"include":"#comments"},{"include":"#constants"},{"include":"#functions"},{"include":"#operators"},{"include":"#identifiers"},{"include":"#numbers"},{"include":"#strings"}]}]},"string_escape":{"captures":{"2":{"name":"string.quoted.double.cypher"}},"match":"(\\\\\\\\[\\\\\\\\bfnrt])|(\\\\\\\\[\\"\'])","name":"constant.character.escape.cypher"},"strings":{"patterns":[{"begin":"\'","end":"\'","name":"string.quoted.single.cypher","patterns":[{"include":"#string_escape"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.cypher","patterns":[{"include":"#string_escape"}]}]}},"scopeName":"source.cypher","aliases":["cql"]}', + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-COkxafJQ.js.map diff --git a/src/webview-ui/build/assets/chunk-COkxafJQ.js.map b/src/webview-ui/build/assets/chunk-COkxafJQ.js.map new file mode 100644 index 0000000000..841726d617 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-COkxafJQ.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-COkxafJQ.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/cypher.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Cypher\\\",\\\"fileTypes\\\":[\\\"cql\\\",\\\"cyp\\\",\\\"cypher\\\"],\\\"name\\\":\\\"cypher\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#path-patterns\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#properties_literal\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#strings\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"//.*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.cypher\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bTRUE|FALSE\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.bool.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bNULL\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.missing.cypher\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b((NOT)(?=\\\\\\\\s*\\\\\\\\()|IS\\\\\\\\s+NULL|IS\\\\\\\\s+NOT\\\\\\\\s+NULL)\\\",\\\"name\\\":\\\"keyword.control.function.boolean.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ALL|ANY|NONE|SINGLE)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.predicate.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(LENGTH|TYPE|ID|COALESCE|HEAD|LAST|TIMESTAMP|STARTNODE|ENDNODE|TOINT|TOFLOAT)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.scalar.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(NODES|RELATIONSHIPS|LABELS|EXTRACT|FILTER|TAIL|RANGE|REDUCE)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.collection.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ABS|ACOS|ASIN|ATAN2??|COS|COT|DEGREES|E|EXP|FLOOR|HAVERSIN|LOG|LOG10|PI|RADIANS|RAND|ROUND|SIGN|SIN|SQRT|TAN)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.math.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(COUNT|sum|avg|max|min|stdevp??|percentileDisc|percentileCont|collect)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.aggregation.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(STR|REPLACE|SUBSTRING|LEFT|RIGHT|LTRIM|RTRIM|TRIM|LOWER|UPPER|SPLIT)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.string.cypher\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"`.+?`\\\",\\\"name\\\":\\\"variable.other.quoted-identifier.cypher\\\"},{\\\"match\\\":\\\"[_\\\\\\\\p{L}][0-9_\\\\\\\\p{L}]*\\\",\\\"name\\\":\\\"variable.other.identifier.cypher\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(START|MATCH|WHERE|RETURN|UNION|FOREACH|WITH|AS|LIMIT|SKIP|UNWIND|HAS|DISTINCT|OPTIONAL\\\\\\\\\\\\\\\\s+MATCH|ORDER\\\\\\\\s+BY|CALL|YIELD)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.clause.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ELSE|END|THEN|CASE|WHEN)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.case.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(FIELDTERMINATOR|USING\\\\\\\\s+PERIODIC\\\\\\\\s+COMMIT|HEADERS|LOAD\\\\\\\\s+CSV|FROM)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.data.import.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(USING\\\\\\\\s+INDEX|CREATE\\\\\\\\s+INDEX\\\\\\\\s+ON|DROP\\\\\\\\s+INDEX\\\\\\\\s+ON|CREATE\\\\\\\\s+CONSTRAINT\\\\\\\\s+ON|DROP\\\\\\\\s+CONSTRAINT\\\\\\\\s+ON)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.indexes.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(MERGE|DELETE|SET|REMOVE|ON\\\\\\\\s+CREATE|ON\\\\\\\\s+MATCH|CREATE\\\\\\\\s+UNIQUE|CREATE)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.data.definition.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(DESC|ASC)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.order.cypher\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(node|relationship|rel)((:)([-_\\\\\\\\p{L}][0-9_\\\\\\\\p{L}]*))?(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.starting-functions-point.cypher\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.index-seperator.cypher\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.index-seperator.cypher\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.class.index.cypher\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"source.starting-functions.cypher\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(`.+?`|[_\\\\\\\\p{L}][0-9_\\\\\\\\p{L}]*)\\\",\\\"name\\\":\\\"variable.parameter.relationship-name.cypher\\\"},{\\\"match\\\":\\\"(\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.control.starting-function-params.cypher\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#strings\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+(\\\\\\\\.\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.cypher\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([-!%*+/?])\\\",\\\"name\\\":\\\"keyword.operator.math.cypher\\\"},{\\\"match\\\":\\\"(<=|=>|<>|[<>]|=~?)\\\",\\\"name\\\":\\\"keyword.operator.compare.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(OR|AND|XOR|IS)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.cypher\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(IN)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.in.cypher\\\"}]},\\\"path-patterns\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(<--|-->?)\\\",\\\"name\\\":\\\"support.function.relationship-pattern.cypher\\\"},{\\\"begin\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.relationship-pattern-end.cypher\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.relationship-pattern-end.cypher\\\"}},\\\"name\\\":\\\"path-pattern.cypher\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.relationship-type-start.cypher\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.relationship.type.cypher\\\"}},\\\"match\\\":\\\"(:)(`.+?`|[_\\\\\\\\p{L}][0-9_\\\\\\\\p{L}]*)\\\",\\\"name\\\":\\\"entity.name.class.relationship-type.cypher\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.operator.relationship-type-or.cypher\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.relationship.type-or.cypher\\\"}},\\\"match\\\":\\\"(\\\\\\\\|)(\\\\\\\\s*)(`.+?`|[_\\\\\\\\p{L}][0-9_\\\\\\\\p{L}]*)\\\",\\\"name\\\":\\\"entity.name.class.relationship-type-ored.cypher\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\?\\\\\\\\*|[*?])\\\\\\\\s*(?:\\\\\\\\d+\\\\\\\\s*(?:\\\\\\\\.\\\\\\\\.\\\\\\\\s*\\\\\\\\d+)?)?\\\",\\\"name\\\":\\\"support.function.relationship-pattern.quant.cypher\\\"},{\\\"include\\\":\\\"#properties_literal\\\"}]}]},\\\"properties_literal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.properties_literal.cypher\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.properties_literal.cypher\\\"}},\\\"name\\\":\\\"source.cypher\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[,:]\\\",\\\"name\\\":\\\"keyword.control.properties_literal.seperator.cypher\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#strings\\\"}]}]},\\\"string_escape\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.cypher\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\bfnrt])|(\\\\\\\\\\\\\\\\[\\\\\\\"'])\\\",\\\"name\\\":\\\"constant.character.escape.cypher\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.cypher\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.cypher\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]}]}},\\\"scopeName\\\":\\\"source.cypher\\\",\\\"aliases\\\":[\\\"cql\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "cypher" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,owLAAk1M,CAAC,EAE12MC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-COt5Ahok.js b/src/webview-ui/build/assets/chunk-COt5Ahok.js new file mode 100644 index 0000000000..afc3cd3912 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-COt5Ahok.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"TSX","name":"tsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.objectliteral.tsx","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.tsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.tsx"}},"name":"meta.array.literal.tsx","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"variable.parameter.tsx"}},"match":"(?:(?)","name":"meta.arrow.tsx"},{"begin":"(?:(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.tsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.tsx"}},"end":"((?<=[}\\\\S])(?)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.tsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.tsx","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.tsx"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.tsx","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.tsx"},"2":{"name":"entity.name.tag.directive.tsx"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.tsx"}},"name":"meta.tag.tsx","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.tsx"},{"match":"=","name":"keyword.operator.assignment.tsx"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"()|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.tsx"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.tsx"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx variable.language.this.tsx"},"4":{"name":"variable.parameter.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.tsx"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.tsx"},{"match":"[!=]==?","name":"keyword.operator.comparison.tsx"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.tsx"},{"captures":{"1":{"name":"keyword.operator.logical.tsx"},"2":{"name":"keyword.operator.assignment.compound.tsx"},"3":{"name":"keyword.operator.arithmetic.tsx"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.tsx"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.tsx"},{"match":"=","name":"keyword.operator.assignment.tsx"},{"match":"--","name":"keyword.operator.decrement.tsx"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.tsx"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.tsx"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.tsx"},"2":{"name":"keyword.operator.arithmetic.tsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.tsx"},"2":{"name":"keyword.operator.arithmetic.tsx"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.tsx variable.object.property.tsx"},{"match":"\\\\?","name":"keyword.operator.optional.tsx"},{"match":"!","name":"keyword.operator.definiteassignment.tsx"}]},"for-loop":{"begin":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","name":"meta.function-call.tsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.tsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.tsx punctuation.accessor.optional.tsx"},{"match":"!","name":"meta.function-call.tsx keyword.operator.definiteassignment.tsx"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tsx"}]},"function-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"variable.other.constant.property.tsx"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.tsx"},"2":{"name":"punctuation.accessor.optional.tsx"},"3":{"name":"variable.other.property.tsx"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.tsx"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.tsx"}]},"if-statement":{"patterns":[{"begin":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?))","end":"(/>)|()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.tsx"},"2":{"name":"punctuation.definition.tag.begin.tsx"},"3":{"name":"entity.name.tag.namespace.tsx"},"4":{"name":"punctuation.separator.namespace.tsx"},"5":{"name":"entity.name.tag.tsx"},"6":{"name":"support.class.component.tsx"},"7":{"name":"punctuation.definition.tag.end.tsx"}},"name":"meta.tag.tsx","patterns":[{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.namespace.tsx"},"3":{"name":"punctuation.separator.namespace.tsx"},"4":{"name":"entity.name.tag.tsx"},"5":{"name":"support.class.component.tsx"}},"end":"(?=/?>)","patterns":[{"include":"#comment"},{"include":"#type-arguments"},{"include":"#jsx-tag-attributes"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.tsx"}},"contentName":"meta.jsx.children.tsx","end":"(?=|/\\\\*|//)"},"jsx-tag-attributes":{"begin":"\\\\s+","end":"(?=/?>)","name":"meta.tag.attributes.tsx","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{"match":"\\\\S+","name":"invalid.illegal.attribute.tsx"},"jsx-tag-in-expression":{"begin":"(??\\\\[{]|&&|\\\\|\\\\||\\\\?|\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\s*(?!<\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\s+extends\\\\s+[^=>])|,))(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.namespace.tsx"},"3":{"name":"punctuation.separator.namespace.tsx"},"4":{"name":"entity.name.tag.tsx"},"5":{"name":"support.class.component.tsx"},"6":{"name":"punctuation.definition.tag.end.tsx"}},"contentName":"meta.jsx.children.tsx","end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.tsx"},"2":{"name":"entity.name.tag.namespace.tsx"},"3":{"name":"punctuation.separator.namespace.tsx"},"4":{"name":"entity.name.tag.tsx"},"5":{"name":"support.class.component.tsx"},"6":{"name":"punctuation.definition.tag.end.tsx"}},"name":"meta.tag.without-attributes.tsx","patterns":[{"include":"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{"begin":"(??\\\\[{]|&&|\\\\|\\\\||\\\\?|\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\s*(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))","patterns":[{"include":"#jsx-tag-without-attributes"}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)","beginCaptures":{"1":{"name":"entity.name.label.tsx"},"2":{"name":"punctuation.separator.label.tsx"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.tsx"},"2":{"name":"punctuation.separator.label.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)"}]},"literal":{"patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"},{"include":"#this-literal"},{"include":"#super-literal"}]},"method-declaration":{"patterns":[{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.modifier.async.tsx"},"5":{"name":"keyword.operator.new.tsx"},"6":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"storage.modifier.tsx"},"3":{"name":"storage.modifier.tsx"},"4":{"name":"storage.modifier.async.tsx"},"5":{"name":"storage.type.property.tsx"},"6":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.property.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.tsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"storage.type.property.tsx"},"3":{"name":"keyword.generator.asterisk.tsx"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.tsx meta.object-literal.key.tsx","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"'\`])","end":"(?=:)|((?<=[\\"'\`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.tsx meta.object-literal.key.tsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.tsx"},{"captures":{"0":{"name":"meta.object-literal.key.tsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.tsx"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.tsx"}},"end":"(?=[,}])","name":"meta.object.member.tsx","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.tsx"},{"captures":{"1":{"name":"keyword.control.as.tsx"},"2":{"name":"storage.modifier.tsx"}},"match":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"},"2":{"name":"meta.brace.round.tsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.tsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.tsx"},"2":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.tsx"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.tsx"}},"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx variable.language.this.tsx"},"4":{"name":"variable.parameter.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?])","name":"meta.type.annotation.tsx","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.tsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx"}},"contentName":"meta.arrow.tsx meta.return.type.arrow.tsx","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tsx"},"2":{"name":"keyword.other.tsx"}},"name":"string.regexp.tsx","patterns":[{"include":"#regexp"}]},{"begin":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.tsx"},"2":{"name":"support.type.object.module.tsx"},"3":{"name":"punctuation.accessor.tsx"},"4":{"name":"punctuation.accessor.optional.tsx"},"5":{"name":"support.type.object.module.tsx"}},"match":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\`)","end":"(?=\`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.tsx"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.tsx"}},"end":"(?=\`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsx"}},"contentName":"meta.embedded.line.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsx"}},"name":"meta.template.expression.tsx","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.tsx"},"2":{"name":"string.template.tsx punctuation.definition.string.template.begin.tsx"}},"contentName":"string.template.tsx","end":"\`","endCaptures":{"0":{"name":"string.template.tsx punctuation.definition.string.template.end.tsx"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.tsx"}},"contentName":"meta.embedded.line.tsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.tsx"}},"name":"meta.template.expression.tsx","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.tsx"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.tsx"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.tsx","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.tsx"}},"end":"(?])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.tsx","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsx"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.tsx"}},"match":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","end":"(?<=\\\\))","name":"meta.type.function.tsx","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.tsx"}},"end":"(?)(??{}]|//|$)","name":"meta.type.function.return.tsx","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.tsx"}},"end":"(?)(??{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.tsx","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.tsx"},"2":{"name":"entity.name.type.tsx"},"3":{"name":"keyword.operator.expression.extends.tsx"}},"match":"(?)","endCaptures":{"1":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.tsx"},"2":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx"}},"contentName":"meta.type.parameters.tsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.tsx"},"2":{"name":"punctuation.accessor.tsx"},"3":{"name":"punctuation.accessor.optional.tsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.tsx"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.tsx"}},"name":"meta.object.type.tsx","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.tsx"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.tsx"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.tsx"}},"end":"(?=\\\\S)"},{"match":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.tsx"}},"name":"meta.type.parameters.tsx","patterns":[{"include":"#comment"},{"match":"(?)","name":"keyword.operator.assignment.tsx"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.tsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.tsx"}},"name":"meta.type.paren.cover.tsx","patterns":[{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"entity.name.function.tsx variable.language.this.tsx"},"4":{"name":"entity.name.function.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(?)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.tsx"},"2":{"name":"keyword.operator.rest.tsx"},"3":{"name":"variable.parameter.tsx variable.language.this.tsx"},"4":{"name":"variable.parameter.tsx"},"5":{"name":"keyword.operator.optional.tsx"}},"match":"(?:(??{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx"}},"end":"(?=$|^|[,;=}]|((?)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.tsx entity.name.function.tsx"},"2":{"name":"keyword.operator.definiteassignment.tsx"}},"end":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.tsx"}},"end":"(?=$|^|[]),;}]|((??\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"name\\\":\\\"meta.array.literal.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?:(?)\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\"},{\\\"begin\\\":\\\"(?:(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.tsx\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.tsx\\\"}},\\\"name\\\":\\\"meta.tag.tsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.tsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"()|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.tsx\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.tsx\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.tsx\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.tsx\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.tsx\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.tsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.tsx\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.tsx variable.object.property.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.tsx punctuation.accessor.optional.tsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.tsx keyword.operator.definiteassignment.tsx\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tsx\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.tsx\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?))\\\",\\\"end\\\":\\\"(/>)|()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"name\\\":\\\"meta.tag.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.tsx\\\",\\\"end\\\":\\\"(?=|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.tsx\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(??\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.tsx\\\",\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(??\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?])\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx\\\"}},\\\"contentName\\\":\\\"meta.arrow.tsx meta.return.type.arrow.tsx\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"}},\\\"match\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.tsx\\\"}},\\\"name\\\":\\\"meta.template.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.begin.tsx\\\"}},\\\"contentName\\\":\\\"string.template.tsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.tsx\\\"}},\\\"name\\\":\\\"meta.template.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.tsx\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.tsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.tsx\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.object.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.tsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(??{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx entity.name.function.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?>)","endCaptures":{"1":{"name":"punctuation.definition.attributes.php"}},"name":"meta.attributes.php","patterns":[{"include":"#comments"},{"match":"([A-Z_a-z][0-9A-Z_a-z]*)","name":"entity.other.attribute-name.php"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.php"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.php"}},"patterns":[{"include":"#language"}]}]}]},"class-builtin":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\\\\\)?\\\\b(st(dClass|reamWrapper)|R(RD(Graph|Creator|Updater)|untimeException|e(sourceBundle|cursive(RegexIterator|Ca((?:ching|llbackFilter)Iterator)|TreeIterator|Iterator(Iterator)?|DirectoryIterator|FilterIterator|ArrayIterator)|flect(ion(Method|Class|ZendExtension|Object|P(arameter|roperty)|Extension|Function(Abstract)?)?|or)|gexIterator)|angeException)|G(ender\\\\Gender|lobIterator|magick(Draw|Pixel)?)|X(sltProcessor|ML(Reader|Writer)|SLTProcessor)|M(ysqlndUh(Connection|PreparedStatement)|ongo(Re(sultException|gex)|Grid(fsFile|FS(Cursor|File)?)|BinData|C(o(de|llection)|ursor(Exception)?|lient)|Timestamp|I(nt(32|64)|d)|D(B(Ref)?|ate)|Pool|Log)?|u(tex|ltipleIterator)|e(ssageFormatter|mcache(d)?))|Bad((?:Method|Function)CallException)|tidy(Node)?|S(tackable|impleXML(Iterator|Element)|oap(Server|Header|Client|Param|Var|Fault)|NMP|CA(_((?:Soap|Local)Proxy))?|p(hinxClient|oofchecker|l(M((?:in|ax)Heap)|S(tack|ubject)|Heap|T(ype|empFileObject)|Ob(server|jectStorage)|DoublyLinkedList|PriorityQueue|Enum|Queue|Fi(le(Info|Object)|xedArray)))|e(ssionHandler(Interface)?|ekableIterator|rializable)|DO_(Model_(ReflectionDataObject|Type|Property)|Sequence|D(ata(Object|Factory)|AS_(Relational|XML(_Document)?|Setting|ChangeSummary|Data(Object|Factory)))|Exception|List)|wish(Result(s)?|Search)?|VM(Model)?|QLite(Result|3(Result|Stmt)?|Database|Unbuffered)|AM(Message|Connection))|H(ttp(Re(sponse|quest(Pool)?)|Message|InflateStream|DeflateStream|QueryString)|aru(Image|Outline|D(oc|estination)|Page|Encoder|Font|Annotation))|Yaf_(R(oute(_(Re(write|gex)|Map|S(tatic|imple|upervar)|Interface)|r)|e(sponse_Abstract|quest_(Simple|Http|Abstract)|gistry))|Session|Con(troller_Abstract|fig_(Simple|Ini|Abstract))|Dispatcher|Plugin_Abstract|Exception|View_(Simple|Interface)|Loader|A(ction_Abstract|pplication))|N(o(RewindIterator|rmalizer)|umberFormatter)|C(o(nd|untable|llator)|a((?:ching|llbackFilter)Iterator))|T(hread|okyoTyrant(Table|Iterator|Query)?|ra(nsliterator|versable))|I(n(tlDateFormatter|validArgumentException|finiteIterator)|terator(Iterator|Aggregate)?|magick(Draw|Pixel(Iterator)?)?)|php_user_filter|ZipArchive|O(CI-(Collection|Lob)|ut(erIterator|Of((?:Range|Bounds)Exception))|verflowException)|D(irectory(Iterator)?|omainException|OM(XPath|N(ode(list)?|amedNodeMap)|C(haracterData|omment|dataSection)|Text|Implementation|Document(Fragment)?|ProcessingInstruction|E(ntityReference|lement)|Attr)|ate(Time(Zone)?|Interval|Period))|Un((?:derflow|expectedValue)Exception)|JsonSerializable|finfo|P(har(Data|FileInfo)?|DO(Statement)?|arentIterator)|E(v(S(tat|ignal)|Ch(ild|eck)|Timer|I(o|dle)|P(eriodic|repare)|Embed|Fork|Watcher|Loop)?|rrorException|xception|mptyIterator)|V(8Js(Exception)?|arnish(Stat|Log|Admin))|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|Frame|AttachedPictureFrame))|QuickHash(StringIntHash|Int(S(tringHash|et)|Hash))|Fil((?:ter|esystem)Iterator)|mysqli(_(stmt|driver|warning|result))?|W(orker|eak(Map|ref))|L(imitIterator|o(cale|gicException)|ua(Closure)?|engthException|apack)|A(MQP(C(hannel|onnection)|E(nvelope|xchange)|Queue)|ppendIterator|PCIterator|rray(Iterator|Object|Access)))\\\\b","name":"support.class.builtin.php"}]},"class-name":{"patterns":[{"begin":"(?i)(?=\\\\\\\\?[0-9_a-z]+\\\\\\\\)","end":"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\_a-z])","endCaptures":{"1":{"name":"support.class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"begin":"(?=[A-Z\\\\\\\\_a-z])","end":"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\_a-z])","endCaptures":{"1":{"name":"support.class.php"}},"patterns":[{"include":"#namespace"}]}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?:#@\\\\+)?\\\\s*$","captures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\*/","name":"comment.block.documentation.phpdoc.php","patterns":[{"include":"#php_doc"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\*/","name":"comment.block.php"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\n|(?=\\\\?>)","name":"comment.line.double-slash.php"}]}]},"constants":{"patterns":[{"begin":"(?i)(?=((\\\\\\\\[_a-z][0-9_a-z]*\\\\\\\\[_a-z][0-9\\\\\\\\_a-z]*)|([_a-z][0-9_a-z]*\\\\\\\\[_a-z][0-9\\\\\\\\_a-z]*))[^0-9\\\\\\\\_a-z])","end":"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\_a-z])","endCaptures":{"1":{"name":"constant.other.php"}},"patterns":[{"include":"#namespace"}]},{"begin":"(?=\\\\\\\\?[A-Z_a-z\\\\x7F-ÿ])","end":"(?=[^A-Z\\\\\\\\_a-z\\\\x7F-ÿ])","patterns":[{"match":"(?i)\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__)\\\\b","name":"constant.language.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(STD(IN|OUT|ERR)|ZEND_(THREAD_SAFE|DEBUG_BUILD)|DEFAULT_INCLUDE_PATH|P(HP_(R(OUND_HALF_(ODD|DOWN|UP|EVEN)|ELEASE_VERSION)|M(INOR_VERSION|A(XPATHLEN|JOR_VERSION))|BINDIR|S(HLIB_SUFFIX|YSCONFDIR|API)|CONFIG_FILE_(SCAN_DIR|PATH)|INT_(MAX|SIZE)|ZTS|O(S|UTPUT_HANDLER_(START|CONT|END))|D(EBUG|ATADIR)|URL_(SCHEME|HOST|USER|P(ORT|A(SS|TH))|QUERY|FRAGMENT)|PREFIX|E(XT(RA_VERSION|ENSION_DIR)|OL)|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(INOR|AJOR)|BUILD|S(UITEMASK|P_M(INOR|AJOR))|P(RODUCTTYPE|LATFORM)))|L((?:IB|OCALSTATE)DIR))|EAR_((?:INSTALL|EXTENSION)_DIR))|E_(RECOVERABLE_ERROR|STRICT|NOTICE|CO(RE_(ERROR|WARNING)|MPILE_(ERROR|WARNING))|DEPRECATED|USER_(NOTICE|DEPRECATED|ERROR|WARNING)|PARSE|ERROR|WARNING|ALL))\\\\b","name":"support.constant.core.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(RADIXCHAR|GROUPING|M(_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRTPI|PI)|PI(_([24]))?|E(ULER)?|L(N(10|2|PI)|OG(10E|2E)))|ON_(GROUPING|1([012])?|[278]|THOUSANDS_SEP|3|DECIMAL_POINT|[4569]))|S(TR_PAD_(RIGHT|BOTH|LEFT)|ORT_(REGULAR|STRING|NUMERIC|DESC|LOCALE_STRING|ASC)|EEK_(SET|CUR|END))|H(TML_(SPECIALCHARS|ENTITIES)|ASH_HMAC)|YES(STR|EXPR)|N(_(S(IGN_POSN|EP_BY_SPACE)|CS_PRECEDES)|O(STR|EXPR)|EGATIVE_SIGN|AN)|C(R(YPT_(MD5|BLOWFISH|S(HA(256|512)|TD_DES|ALT_LENGTH)|EXT_DES)|NCYSTR|EDITS_(G(ROUP|ENERAL)|MODULES|SAPI|DOCS|QA|FULLPAGE|ALL))|HAR_MAX|O(NNECTION_(NORMAL|TIMEOUT|ABORTED)|DESET|UNT_(RECURSIVE|NORMAL))|URRENCY_SYMBOL|ASE_(UPPER|LOWER))|__COMPILER_HALT_OFFSET__|T(HOUS(EP|ANDS_SEP)|_FMT(_AMPM)?)|IN(T_(CURR_SYMBOL|FRAC_DIGITS)|I_(S(YSTEM|CANNER_(RAW|NORMAL))|USER|PERDIR|ALL)|F(O_(GENERAL|MODULES|C(REDITS|ONFIGURATION)|ENVIRONMENT|VARIABLES|LICENSE|ALL))?)|D(_((?:T_|)FMT)|IRECTORY_SEPARATOR|ECIMAL_POINT|A(Y_([1-7])|TE_(R(SS|FC(1(123|036)|2822|8(22|50)|3339))|COOKIE|ISO8601|W3C|ATOM)))|UPLOAD_ERR_(NO_(TMP_DIR|FILE)|CANT_WRITE|INI_SIZE|OK|PARTIAL|EXTENSION|FORM_SIZE)|P(M_STR|_(S(IGN_POSN|EP_BY_SPACE)|CS_PRECEDES)|OSITIVE_SIGN|ATH(_SEPARATOR|INFO_(BASENAME|DIRNAME|EXTENSION|FILENAME)))|E(RA(_(YEAR|T_FMT|D_((?:T_|)FMT)))?|XTR_(REFS|SKIP|IF_EXISTS|OVERWRITE|PREFIX_(SAME|I(NVALID|F_EXISTS)|ALL))|NT_(NOQUOTES|COMPAT|IGNORE|QUOTES))|FRAC_DIGITS|L(C_(M(ONETARY|ESSAGES)|NUMERIC|C(TYPE|OLLATE)|TIME|ALL)|O(G_(MAIL|SYSLOG|N(O(TICE|WAIT)|DELAY|EWS)|C(R(IT|ON)|ONS)|INFO|ODELAY|D(EBUG|AEMON)|U(SER|UCP)|P(ID|ERROR)|E(RR|MERG)|KERN|WARNING|L(OCAL([0-7])|PR)|A(UTH(PRIV)?|LERT))|CK_(SH|NB|UN|EX)))|A(M_STR|B(MON_(1([012])?|[2-9])|DAY_([1-7]))|SSERT_(BAIL|CALLBACK|QUIET_EVAL|WARNING|ACTIVE)|LT_DIGITS))\\\\b","name":"support.constant.std.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|HTML_DOCUMENT_NODE|N((?:OTATION|AMESPACE_DECL)_NODE)|C((?:OMMENT|DATA_SECTION)_NODE)|TEXT_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|D(TD_NODE|OCUMENT_((?:|TYPE_|FRAG_)NODE))|PI_NODE|E(RROR_(RECURSIVE_ENTITY_REF|MISPLACED_XML_PI|B((?:INARY_ENTITY|AD_CHAR)_REF)|SYNTAX|NO(NE|_(MEMORY|ELEMENTS))|TAG_MISMATCH|IN(CORRECT_ENCODING|VALID_TOKEN)|DUPLICATE_ATTRIBUTE|UN(CLOSED_(CDATA_SECTION|TOKEN)|DEFINED_ENTITY|KNOWN_ENCODING)|JUNK_AFTER_DOC_ELEMENT|PAR(TIAL_CHAR|AM_ENTITY_REF)|EXTERNAL_ENTITY_HANDLING|A(SYNC_ENTITY|TTRIBUTE_EXTERNAL_ENTITY_REF))|NTITY_((?:REF_||DECL_)NODE)|LEMENT_((?:|DECL_)NODE))|LOCAL_NAMESPACE|ATTRIBUTE_(N(MTOKEN(S)?|O(TATION|DE))|CDATA|ID(REF(S)?)?|DECL_NODE|EN(TITY|UMERATION)))|M(HASH_(RIPEMD(1(28|60)|256|320)|GOST|MD([245])|S(HA(1|2(24|56)|384|512)|NEFRU256)|HAVAL(1(28|92|60)|2(24|56))|CRC32(B)?|TIGER(1(28|60))?|WHIRLPOOL|ADLER32)|YSQL(_(BOTH|NUM|CLIENT_(SSL|COMPRESS|I(GNORE_SPACE|NTERACTIVE))|ASSOC)|I_(RE(PORT_(STRICT|INDEX|OFF|ERROR|ALL)|FRESH_(GRANT|MASTER|BACKUP_LOG|S(TATUS|LAVE)|HOSTS|T(HREADS|ABLES)|LOG)|AD_DEFAULT_(GROUP|FILE))|GROUP_FLAG|MULTIPLE_KEY_FLAG|B(INARY_FLAG|OTH|LOB_FLAG)|S(T(MT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|ORE_RESULT)|E(RVER_QUERY_(NO_((?:GOOD_|)INDEX_USED)|WAS_SLOW)|T_(CHARSET_NAME|FLAG)))|N(O(_D(EFAULT_VALUE_FLAG|ATA)|T_NULL_FLAG)|UM(_FLAG)?)|C(URSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|LIENT_(SSL|NO_SCHEMA|COMPRESS|I(GNORE_SPACE|NTERACTIVE)|FOUND_ROWS))|T(YPE_(GEOMETRY|MEDIUM_BLOB|B(IT|LOB)|S(HORT|TRING|ET)|YEAR|N(ULL|EWD(ECIMAL|ATE))|CHAR|TI(ME(STAMP)?|NY(_BLOB)?)|INT(24|ERVAL)|D(OUBLE|ECIMAL|ATE(TIME)?)|ENUM|VAR_STRING|FLOAT|LONG(_BLOB|LONG)?)|IMESTAMP_FLAG)|INIT_COMMAND|ZEROFILL_FLAG|O(N_UPDATE_NOW_FLAG|PT_(NET_((?:REA|CM)D_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE))|D(EBUG_TRACE_ENABLED|ATA_TRUNCATED)|U(SE_RESULT|N((?:SIGNED|IQUE_KEY)_FLAG))|P((?:RI|ART)_KEY_FLAG)|ENUM_FLAG|A(S(SOC|YNC)|UTO_INCREMENT_FLAG)))|CRYPT_(R(C([26])|IJNDAEL_(1(28|92)|256)|AND)|GOST|XTEA|M(ODE_(STREAM|NOFB|C(BC|FB)|OFB|ECB)|ARS)|BLOWFISH(_COMPAT)?|S(ERPENT|KIPJACK|AFER(128|PLUS|64))|C(RYPT|AST_(128|256))|T(RIPLEDES|HREEWAY|WOFISH)|IDEA|3DES|DE(S|CRYPT|V_(U??RANDOM))|PANAMA|EN(CRYPT|IGNA)|WAKE|LOKI97|ARCFOUR(_IV)?))|S(TREAM_(REPORT_ERRORS|M(UST_SEEK|KDIR_RECURSIVE)|BUFFER_(NONE|FULL|LINE)|S(HUT_(RD(WR)?|WR)|OCK_(R(DM|AW)|S(TREAM|EQPACKET)|DGRAM)|ERVER_(BIND|LISTEN))|NOTIFY_(RE(SOLVE|DIRECTED)|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|CO(MPLETED|NNECT)|PROGRESS|F(ILE_SIZE_IS|AILURE)|AUTH_RE(SULT|QUIRED))|C(RYPTO_METHOD_(SSLv(2(_(SERVER|CLIENT)|3_(SERVER|CLIENT))|3_(SERVER|CLIENT))|TLS_(SERVER|CLIENT))|LIENT_(CONNECT|PERSISTENT|ASYNC_CONNECT)|AST_(FOR_SELECT|AS_STREAM))|I(GNORE_URL|S_URL|PPROTO_(RAW|TCP|I(CMP|P)|UDP))|O(OB|PTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER))|U(RL_STAT_(QUIET|LINK)|SE_PATH)|P(EEK|F_(INET(6)?|UNIX))|ENFORCE_SAFE_MODE|FILTER_(READ|WRITE|ALL))|UNFUNCS_RET_(STRING|TIMESTAMP|DOUBLE)|QLITE(_(R(OW|EADONLY)|MIS(MATCH|USE)|B(OTH|USY)|SCHEMA|N(O(MEM|T(FOUND|ADB)|LFS)|UM)|C(O(RRUPT|NSTRAINT)|ANTOPEN)|TOOBIG|I(NTER(RUPT|NAL)|OERR)|OK|DONE|P(ROTOCOL|ERM)|E(RROR|MPTY)|F(ORMAT|ULL)|LOCKED|A(BORT|SSOC|UTH))|3_(B(OTH|LOB)|NU(M|LL)|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT|ASSOC)))|CURL(M(SG_DONE|_(BAD_((?:|EASY_)HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|O(UT_OF_MEMORY|K)))|SSH_AUTH_(HOST|NONE|DEFAULT|P(UBLICKEY|ASSWORD)|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC))|_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF((?:|UN)MODSINCE)|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|INFO_(RE(DIRECT_(COUNT|TIME)|QUEST_SIZE)|S(SL_VERIFYRESULT|TARTTRANSFER_TIME|IZE_((?:DOWN|UP)LOAD)|PEED_((?:DOWN|UP)LOAD))|H(TTP_CODE|EADER_(SIZE|OUT))|NAMELOOKUP_TIME|C(ON(NECT_TIME|TENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD)))|ERTINFO)|TOTAL_TIME|PR(IVATE|ETRANSFER_TIME)|EFFECTIVE_URL|FILETIME)|OPT_(R(E(SUME_FROM|TURNTRANSFER|DIR_PROTOCOLS|FERER|AD(DATA|FUNCTION))|AN(GE|DOM_FILE))|MAX(REDIRS|CONNECTS)|B(INARYTRANSFER|UFFERSIZE)|S(S(H_(HOST_PUBLIC_KEY_MD5|P((?:RIVATE|UBLIC)_KEYFILE)|AUTH_TYPES)|L(CERT(TYPE|PASSWD)?|_(CIPHER_LIST|VERIFY(HOST|PEER))|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?))|TDERR)|H(TTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|EADER(FUNCTION)?)|N(O(BODY|SIGNAL|PROGRESS)|ETRC)|C(RLF|O(NNECTTIMEOUT(_MS)?|OKIE(SESSION|JAR|FILE)?)|USTOMREQUEST|ERTINFO|LOSEPOLICY|A(INFO|PATH))|T(RANSFERTEXT|CP_NODELAY|IME(CONDITION|OUT(_MS)?|VALUE))|I(N(TERFACE|FILE(SIZE)?)|PRESOLVE)|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|U(RL|SER(PWD|AGENT)|NRESTRICTED_AUTH|PLOAD)|P(R(IVATE|O(GRESSFUNCTION|XY(TYPE|USERPWD|PORT|AUTH)?|TOCOLS))|O(RT|ST(REDIR|QUOTE|FIELDS)?)|UT)|E(GDSOCKET|NCODING)|VERBOSE|K(RB4LEVEL|EYPASSWD)|QUOTE|F(RESH_CONNECT|TP(SSLAUTH|_(S(SL|KIP_PASV_IP)|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|PORT|LISTONLY|APPEND)|ILE(TIME)?|O(RBID_REUSE|LLOWLOCATION)|AILONERROR)|WRITE(HEADER|FUNCTION)|LOW_SPEED_(TIME|LIMIT)|AUTOREFERER)|PRO(XY_(SOCKS([45])|HTTP)|TO_(S(CP|FTP)|HTTP(S)?|T(ELNET|FTP)|DICT|F(TP(S)?|ILE)|LDAP(S)?|ALL))|E_(RE((?:CV|AD)_ERROR)|GOT_NOTHING|MALFORMAT_USER|BAD_(C(ONTENT_ENCODING|ALLING_ORDER)|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|S(S(H|L_(C(IPHER|ONNECT_ERROR|ERTPROBLEM|ACERT)|PEER_CERTIFICATE|ENGINE_(SETFAILED|NOTFOUND)))|HARE_IN_USE|END_ERROR)|HTTP_(RANGE_ERROR|NOT_FOUND|PO(RT_FAILED|ST_ERROR))|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|T(OO_MANY_REDIRECTS|ELNET_OPTION_SYNTAX)|O(BSOLETE|UT_OF_MEMORY|PERATION_TIMEOUTED|K)|U(RL_MALFORMAT(_USER)?|N(SUPPORTED_PROTOCOL|KNOWN_TELNET_OPTION))|PARTIAL_FILE|F(TP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|C(OULDNT_(RETR_FILE|GET_SIZE|S(TOR_FILE|ET_(BINARY|ASCII))|USE_REST)|ANT_(RECONNECT|GET_HOST))|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|W(RITE_ERROR|EIRD_(SERVER_REPLY|227_FORMAT|USER_REPLY|PAS([SV]_REPLY)))|ACCESS_DENIED)|ILE(SIZE_EXCEEDED|_COULDNT_READ_FILE)|UNCTION_NOT_FOUND|AILED_INIT)|WRITE_ERROR|L(IBRARY_NOT_FOUND|DAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL))|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_((?:MULTI|SINGLE|NO)CWD)|SSL_(NONE|CONTROL|TRY|ALL)|AUTH_(SSL|TLS|DEFAULT))|AUTH_(GSSNEGOTIATE|BASIC|NTLM|DIGEST|ANY(SAFE)?))|I(MAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|I(CO|FF)|UNKNOWN|J(B2|P([2CX]|EG(2000)?))|P(SD|NG)|WBMP)|NPUT_(REQUEST|GET|SE(RVER|SSION)|COOKIE|POST|ENV)|CONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION))|D(NS_(MX|S(RV|OA)|HINFO|N(S|APTR)|CNAME|TXT|PTR|A(NY|LL|AAA|6)?)|OM(STRING_SIZE_ERR|_(SYNTAX_ERR|HIERARCHY_REQUEST_ERR|N(O(_((?:MODIFICATION|DATA)_ALLOWED_ERR)|T_((?:SUPPORTE|FOUN)D_ERR))|AMESPACE_ERR)|IN(DEX_SIZE_ERR|USE_ATTRIBUTE_ERR|VALID_((?:MODIFICATION|STATE|CHARACTER|ACCESS)_ERR))|PHP_ERR|VALIDATION_ERR|WRONG_DOCUMENT_ERR)))|JSON_(HEX_(TAG|QUOT|A(MP|POS))|NUMERIC_CHECK|ERROR_(S(YNTAX|TATE_MISMATCH)|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|P(REG_(RECURSION_LIMIT_ERROR|GREP_INVERT|BA(CKTRACK_LIMIT_ERROR|D_UTF8_((?:OFFSET_|)ERROR))|S(PLIT_(NO_EMPTY|OFFSET_CAPTURE|DELIM_CAPTURE)|ET_ORDER)|NO_ERROR|INTERNAL_ERROR|OFFSET_CAPTURE|PATTERN_ORDER)|SFS_(PASS_ON|ERR_FATAL|F(EED_ME|LAG_(NORMAL|FLUSH_(CLOSE|INC))))|CRE_VERSION|OSIX_(R_OK|X_OK|S_IF(REG|BLK|SOCK|CHR|IFO)|F_OK|W_OK))|F(NM_(NOESCAPE|CASEFOLD|P(ERIOD|ATHNAME))|IL(TER_(REQUIRE_(SCALAR|ARRAY)|SANITIZE_(MAGIC_QUOTES|S(TRI(NG|PPED)|PECIAL_CHARS)|NUMBER_(INT|FLOAT)|URL|E(MAIL|NCODED)|FULL_SPECIAL_CHARS)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|VALIDATE_(REGEXP|BOOLEAN|I(NT|P)|URL|EMAIL|FLOAT)|F(ORCE_ARRAY|LAG_(S(CHEME_REQUIRED|TRIP_(BACKTICK|HIGH|LOW))|HOST_REQUIRED|NO(NE|_(RES_RANGE|PRIV_RANGE|ENCODE_QUOTES))|IPV([46])|PATH_REQUIRED|E(MPTY_STRING_NULL|NCODE_(HIGH|LOW|AMP))|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION))))|E(_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|INFO_(RAW|MIME(_(TYPE|ENCODING))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)))|ORCE_(GZIP|DEFLATE))|LIBXML_(XINCLUDE|N(SCLEAN|O(XMLDECL|BLANKS|NET|CDATA|E(RROR|MPTYTAG|NT)|WARNING))|COMPACT|D(TD(VALID|LOAD|ATTR)|OTTED_VERSION)|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)|VERSION|LOADED_VERSION))\\\\b","name":"support.constant.ext.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\bT_(RE(TURN|QUIRE(_ONCE)?)|G(OTO|LOBAL)|XOR_EQUAL|M(INUS_EQUAL|OD_EQUAL|UL_EQUAL|ETHOD_C|L_COMMENT)|B(REAK|OOL(_CAST|EAN_(OR|AND))|AD_CHARACTER)|S(R(_EQUAL)?|T(RING(_(CAST|VARNAME))?|A(RT_HEREDOC|TIC))|WITCH|L(_EQUAL)?)|HALT_COMPILER|N(S_(SEPARATOR|C)|UM_STRING|EW|AMESPACE)|C(HARACTER|O(MMENT|N(ST(ANT_ENCAPSED_STRING)?|CAT_EQUAL|TINUE))|URLY_OPEN|L(O(SE_TAG|NE)|ASS(_C)?)|A(SE|TCH))|T(RY|HROW)|I(MPLEMENTS|S(SET|_(GREATER_OR_EQUAL|SMALLER_OR_EQUAL|NOT_(IDENTICAL|EQUAL)|IDENTICAL|EQUAL))|N(STANCEOF|C(LUDE(_ONCE)?)?|T(_CAST|ERFACE)|LINE_HTML)|F)|O(R_EQUAL|BJECT_(CAST|OPERATOR)|PEN_TAG(_WITH_ECHO)?|LD_FUNCTION)|D(NUMBER|I(R|V_EQUAL)|O(C_COMMENT|UBLE_(C(OLON|AST)|ARROW)|LLAR_OPEN_CURLY_BRACES)?|E(C(LARE)?|FAULT))|U(SE|NSET(_CAST)?)|P(R(I(NT|VATE)|OTECTED)|UBLIC|LUS_EQUAL|AAMAYIM_NEKUDOTAYIM)|E(X(TENDS|IT)|MPTY|N(CAPSED_AND_WHITESPACE|D(SWITCH|_HEREDOC|IF|DECLARE|FOR(EACH)?|WHILE))|CHO|VAL|LSE(IF)?)|VAR(IABLE)?|F(I(NAL|LE)|OR(EACH)?|UNC(_C|TION))|WHI(TESPACE|LE)|L(NUMBER|I(ST|NE)|OGICAL_(XOR|OR|AND))|A(RRAY(_CAST)?|BSTRACT|S|ND_EQUAL))\\\\b","name":"support.constant.parser-token.php"},{"match":"[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*","name":"constant.other.php"}]}]},"function-arguments":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"include":"#type-annotation"},{"begin":"(?i)((\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"}},"end":"(?i)\\\\s*(?=[),]|$)","patterns":[{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.php"}},"end":"(?=[),])","patterns":[{"include":"#language"}]}]}]},"function-call":{"patterns":[{"begin":"(?i)(?=\\\\\\\\?[0-9\\\\\\\\_a-z]+\\\\\\\\[_a-z][0-9_a-z]*\\\\s*\\\\()","end":"(?=\\\\s*\\\\()","patterns":[{"include":"#user-function-call"}]},{"match":"(?i)\\\\b(print|echo)\\\\b","name":"support.function.construct.php"},{"begin":"(?i)(\\\\\\\\)?(?=\\\\b[_a-z][0-9_a-z]*\\\\s*\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.inheritance.php"}},"end":"(?=\\\\s*\\\\()","patterns":[{"match":"(?i)\\\\b(isset|unset|e(val|mpty)|list)(?=\\\\s*\\\\()","name":"support.function.construct.php"},{"include":"#support"},{"include":"#user-function-call"}]}]},"function-return-type":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.definition.type.php"}},"end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#type-annotation"},{"include":"#class-name"}]}]},"generics":{"patterns":[{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.generics.php"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.generics.php"}},"name":"meta.generics.php","patterns":[{"include":"#comments"},{"include":"#generics"},{"match":"([-+])?([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\s+(as|super)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*))?","name":"support.type.php"},{"include":"#type-annotation"}]}]},"heredoc":{"patterns":[{"begin":"<<<\\\\s*(\\"?)([A-Z_a-z]+[0-9A-Z_a-z]*)(\\\\1)\\\\s*$","beginCaptures":{"2":{"name":"keyword.operator.heredoc.php"}},"end":"^(\\\\2)(?=;?$)","endCaptures":{"1":{"name":"keyword.operator.heredoc.php"}},"name":"string.unquoted.heredoc.php","patterns":[{"include":"#interpolation"}]},{"begin":"<<<\\\\s*('?)([A-Z_a-z]+[0-9A-Z_a-z]*)(\\\\1)\\\\s*$","beginCaptures":{"2":{"name":"keyword.operator.heredoc.php"}},"end":"^(\\\\2)(?=;?$)","endCaptures":{"1":{"name":"keyword.operator.heredoc.php"}},"name":"string.unquoted.heredoc.nowdoc.php"}]},"implements":{"patterns":[{"begin":"(?i)(implements)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.implements.php"}},"end":"(?i)(?=[;{])","patterns":[{"include":"#comments"},{"begin":"(?i)(?=[0-9\\\\\\\\_a-z]+)","contentName":"meta.other.inherited-class.php","end":"(?i)\\\\s*(?:,|(?=[^0-9\\\\\\\\_a-z\\\\s]))\\\\s*","patterns":[{"begin":"(?i)(?=\\\\\\\\?[0-9_a-z]+\\\\\\\\)","end":"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\_a-z])","endCaptures":{"1":{"name":"entity.other.inherited-class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"include":"#namespace"},{"match":"(?i)[_a-z][0-9_a-z]*","name":"entity.other.inherited-class.php"}]}]}]},"instantiation":{"begin":"(?i)(new)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.new.php"}},"end":"(?i)(?=[^$0-9\\\\\\\\_a-z])","patterns":[{"match":"(parent|static|self)(?=[^0-9_a-z])","name":"support.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]},"interface":{"begin":"^(?i)\\\\s*(?:(public|internal)\\\\s+)?(interface)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.type.interface.php"}},"end":"(?=[;{])","name":"meta.interface.php","patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.extends.php"}},"match":"\\\\b(extends)\\\\b"},{"include":"#generics"},{"include":"#namespace"},{"match":"(?i)[0-9_a-z]+","name":"entity.name.type.class.php"}]},"interpolation":{"patterns":[{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.numeric.octal.php"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.numeric.hex.php"},{"match":"\\\\\\\\[\\"$\\\\\\\\nrt]","name":"constant.character.escape.php"},{"match":"(\\\\{\\\\$.*?})","name":"variable.other.php"},{"match":"(\\\\$[A-Z_a-z][0-9A-Z_a-z]*((->[A-Z_a-z][0-9A-Z_a-z]*)|(\\\\[[0-9A-Z_a-z]+]))?)","name":"variable.other.php"}]},"invoke-call":{"captures":{"1":{"name":"punctuation.definition.variable.php"},"2":{"name":"variable.other.php"}},"match":"(?i)(\\\\$+)([_a-z][0-9_a-z]*)(?=\\\\s*\\\\()","name":"meta.function-call.invoke.php"},"language":{"patterns":[{"include":"#comments"},{"begin":"(?=^\\\\s*<<)","end":"(?<=>>)","patterns":[{"include":"#attributes"}]},{"include":"#xhp"},{"include":"#interface"},{"begin":"(?i)^\\\\s*(?:(module)\\\\s*)?((?:|new)type)\\\\s+([0-9_a-z]+)","beginCaptures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.type.typedecl.php"},"3":{"name":"entity.name.type.typedecl.php"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.termination.expression.php"}},"name":"meta.typedecl.php","patterns":[{"include":"#comments"},{"include":"#generics"},{"match":"(=)","name":"keyword.operator.assignment.php"},{"include":"#type-annotation"}]},{"begin":"(?i)^\\\\s*(?:(public|internal)\\\\s+)?(enum)\\\\s+(class)\\\\s+([0-9_a-z]+)\\\\s*:?","beginCaptures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.modifier.php"},"3":{"name":"storage.type.class.enum.php"},"4":{"name":"entity.name.type.class.enum.php"}},"end":"(?=\\\\{)","name":"meta.class.enum.php","patterns":[{"match":"\\\\b(extends)\\\\b","name":"storage.modifier.extends.php"},{"include":"#type-annotation"}]},{"begin":"(?i)^\\\\s*(?:(public|internal)\\\\s+)?(enum)\\\\s+([0-9_a-z]+)\\\\s*:?","beginCaptures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.type.enum.php"},"3":{"name":"entity.name.type.enum.php"}},"end":"\\\\{","name":"meta.enum.php","patterns":[{"include":"#comments"},{"include":"#type-annotation"}]},{"begin":"(?i)^\\\\s*(?:(public|internal)\\\\s+)?(trait)\\\\s+([0-9_a-z]+)\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.type.trait.php"},"3":{"name":"entity.name.type.class.php"}},"end":"(?=\\\\{)","name":"meta.trait.php","patterns":[{"include":"#comments"},{"include":"#generics"},{"include":"#implements"}]},{"begin":"^\\\\s*(new)\\\\s+(module)\\\\s+([.0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"storage.type.module.php"},"2":{"name":"storage.type.module.php"},"3":{"name":"entity.name.type.module.php"}},"end":"(?=\\\\{)","name":"meta.module.php","patterns":[{"include":"#comments"}]},{"begin":"^\\\\s*(module)\\\\s+([.0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"keyword.other.module.php"},"2":{"name":"entity.name.type.module.php"}},"end":"$|(?=[;\\\\s])","name":"meta.use.module.php","patterns":[{"include":"#comments"}]},{"begin":"(?i)(?:^\\\\s*|\\\\s*)(namespace)\\\\b\\\\s+(?=([0-9\\\\\\\\_a-z]*\\\\s*($|[;{]|(/[*/])))|$)","beginCaptures":{"1":{"name":"keyword.other.namespace.php"}},"contentName":"entity.name.type.namespace.php","end":"(?i)(?=\\\\s*$|[^0-9\\\\\\\\_a-z])","name":"meta.namespace.php","patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]},{"begin":"(?i)\\\\s*\\\\b(use)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.use.php"}},"end":"(?=;|^\\\\s*$)","name":"meta.use.php","patterns":[{"include":"#comments"},{"begin":"(?i)\\\\s*(?=[0-9\\\\\\\\_a-z])","end":"(?i)(?:\\\\s*(as)\\\\b\\\\s*([0-9_a-z]*)\\\\s*(?=[,;]|$)|(?=[,;]|$))","endCaptures":{"1":{"name":"keyword.other.use-as.php"},"2":{"name":"support.other.namespace.use-as.php"}},"patterns":[{"include":"#class-builtin"},{"begin":"(?i)\\\\s*(?=[0-9\\\\\\\\_a-z])","end":"$|(?=[,;\\\\s])","name":"support.other.namespace.use.php","patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]}]},{"match":"\\\\s*,\\\\s*"}]},{"begin":"(?i)^\\\\s*((?:(?:final|abstract|public|internal)\\\\s+)*)(class)\\\\s+([0-9_a-z]+)\\\\s*","beginCaptures":{"1":{"patterns":[{"match":"final|abstract|public|internal","name":"storage.modifier.php"}]},"2":{"name":"storage.type.class.php"},"3":{"name":"entity.name.type.class.php"}},"end":"(?=[;{])","name":"meta.class.php","patterns":[{"include":"#comments"},{"include":"#generics"},{"include":"#implements"},{"begin":"(?i)(extends)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.extends.php"}},"contentName":"meta.other.inherited-class.php","end":"(?i)(?=[^0-9\\\\\\\\_a-z])","patterns":[{"begin":"(?i)(?=\\\\\\\\?[0-9_a-z]+\\\\\\\\)","end":"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\_a-z])","endCaptures":{"1":{"name":"entity.other.inherited-class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"include":"#namespace"},{"match":"(?i)[_a-z][0-9_a-z]*","name":"entity.other.inherited-class.php"}]}]},{"captures":{"1":{"name":"keyword.control.php"}},"match":"\\\\s*\\\\b(await|break|c(ase|ontinue)|concurrent|default|do|else|for(each)?|if|return|switch|use|while)\\\\b"},{"begin":"(?i)\\\\b((?:require|include)(?:_once)?)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.import.include.php"}},"end":"(?=[;\\\\s]|$)","name":"meta.include.php","patterns":[{"include":"#language"}]},{"begin":"\\\\b(catch)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.exception.catch.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"name":"meta.catch.php","patterns":[{"include":"#namespace"},{"captures":{"1":{"name":"support.class.exception.php"},"2":{"patterns":[{"match":"(?i)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*","name":"support.class.exception.php"},{"match":"\\\\|","name":"punctuation.separator.delimiter.php"}]},"3":{"name":"variable.other.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)((?:\\\\s*\\\\|\\\\s*[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)*)\\\\s*((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"}]},{"match":"\\\\b(catch|try|throw|exception|finally)\\\\b","name":"keyword.control.exception.php"},{"begin":"(?i)\\\\s*(?:(public|internal)\\\\s+)?(function)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.modifier.php"},"2":{"name":"storage.type.function.php"}},"end":"[){]","name":"meta.function.closure.php","patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.php"}},"contentName":"meta.function.arguments.php","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.php"}},"patterns":[{"include":"#function-arguments"}]},{"begin":"(?i)(use)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.function.use.php"},"2":{"name":"punctuation.definition.parameters.begin.php"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.php"}},"patterns":[{"captures":{"1":{"name":"storage.modifier.reference.php"},"2":{"name":"variable.other.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?:\\\\s*(&))?\\\\s*((\\\\$+)[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)\\\\s*(?=[),])","name":"meta.function.closure.use.php"}]}]},{"begin":"\\\\s*((?:(?:final|abstract|public|private|protected|internal|static|async)\\\\s+)*)(function)\\\\s+(?:(__(?:call|construct|destruct|get|set|isset|unset|tostring|clone|set_state|sleep|wakeup|autoload|invoke|callStatic|dispose|disposeAsync)(?=[^0-9A-Z_a-z\\\\x7F-ÿ]))|([0-9A-Z_a-z]+))","beginCaptures":{"1":{"patterns":[{"match":"final|abstract|public|private|protected|internal|static|async","name":"storage.modifier.php"}]},"2":{"name":"storage.type.function.php"},"3":{"name":"support.function.magic.php"},"4":{"name":"entity.name.function.php"},"5":{"name":"meta.function.generics.php"}},"end":"(?=[;{])","name":"meta.function.php","patterns":[{"include":"#generics"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.php"}},"contentName":"meta.function.arguments.php","end":"(?=\\\\))","patterns":[{"include":"#function-arguments"}]},{"begin":"(\\\\))","beginCaptures":{"1":{"name":"punctuation.definition.parameters.end.php"}},"end":"(?=[;{])","patterns":[{"include":"#function-return-type"}]}]},{"include":"#invoke-call"},{"begin":"(?i)\\\\s*(?=[$0-9\\\\\\\\_a-z]+(::)(?:([_a-z][0-9_a-z]*)\\\\s*\\\\(|((\\\\$+)[_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)|([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*))?)","end":"(::)(?:([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(|((\\\\$+)[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)|([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))?","endCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"meta.function-call.static.php"},"3":{"name":"variable.other.class.php"},"4":{"name":"punctuation.definition.variable.php"},"5":{"name":"constant.other.class.php"}},"patterns":[{"match":"(self|static|parent)\\\\b","name":"support.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]},{"include":"#variables"},{"include":"#strings"},{"captures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.php"},"3":{"name":"punctuation.definition.array.end.php"}},"match":"(array)(\\\\()(\\\\))","name":"meta.array.empty.php"},{"begin":"(array)(\\\\()","beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.end.php"}},"name":"meta.array.php","patterns":[{"include":"#language"}]},{"captures":{"1":{"name":"support.type.php"}},"match":"(?i)\\\\s*\\\\(\\\\s*(array|real|double|float|int(eger)?|bool(ean)?|string|object|binary|unset|arraykey|nonnull|dict|vec|keyset)\\\\s*\\\\)"},{"match":"(?i)\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|clone|var|function|interface|trait|parent|self|object|arraykey|nonnull|dict|vec|keyset)\\\\b","name":"support.type.php"},{"match":"(?i)\\\\b(global|abstract|const|extends|implements|final|p(r(ivate|otected)|ublic)|internal|static)\\\\b","name":"storage.modifier.php"},{"include":"#object"},{"match":";","name":"punctuation.terminator.expression.php"},{"include":"#heredoc"},{"match":"\\\\.=?","name":"keyword.operator.string.php"},{"match":"=>","name":"keyword.operator.key.php"},{"match":"==>","name":"keyword.operator.lambda.php"},{"match":"\\\\|>","name":"keyword.operator.pipe.php"},{"match":"(!==?|===?)","name":"keyword.operator.comparison.php"},{"match":"(?:|[-%\\\\&*+/^|]|<<|>>)=","name":"keyword.operator.assignment.php"},{"match":"(<=|>=|[<>])","name":"keyword.operator.comparison.php"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.php"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.php"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.php"},{"begin":"(?i)\\\\b([ai]s)\\\\b\\\\s+(?=[$\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.operator.type.php"}},"end":"(?=[^$0-9A-Z\\\\\\\\_a-z])","patterns":[{"include":"#class-name"},{"include":"#variable-name"}]},{"match":"(?i)\\\\b([ai]s)\\\\b","name":"keyword.operator.type.php"},{"include":"#function-call"},{"match":"<<|>>|[\\\\&^|~]","name":"keyword.operator.bitwise.php"},{"include":"#numbers"},{"include":"#instantiation"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.php"}},"patterns":[{"include":"#language"}]},{"include":"#literal-collections"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.php"}},"patterns":[{"include":"#language"}]},{"include":"#constants"}]},"literal-collections":{"patterns":[{"begin":"(Vector|ImmVector|Set|ImmSet|Map|ImmMap|Pair)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"support.class.php"},"2":{"name":"punctuation.section.array.begin.php"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.array.end.php"}},"name":"meta.collection.literal.php","patterns":[{"include":"#language"}]}]},"namespace":{"begin":"(?i)((namespace)|[0-9_a-z]+)?(\\\\\\\\)(?=.*?[^0-9\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"entity.name.type.namespace.php"},"3":{"name":"punctuation.separator.inheritance.php"}},"end":"(?i)(?=[0-9_a-z]*[^0-9\\\\\\\\_a-z])","name":"support.other.namespace.php","patterns":[{"match":"(?i)[0-9_a-z]+(?=\\\\\\\\)","name":"entity.name.type.namespace.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\\\\\)"}]},"numbers":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\b","name":"constant.numeric.php"},"object":{"patterns":[{"begin":"(->)(\\\\$?\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"punctuation.definition.variable.php"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"#language"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"meta.function-call.object.php"},"3":{"name":"variable.other.property.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(->)(?:([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(|((\\\\$+)?[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))?"}]},"parameter-default-types":{"patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#variables"},{"match":"=>","name":"keyword.operator.key.php"},{"match":"=","name":"keyword.operator.assignment.php"},{"include":"#instantiation"},{"begin":"(?i)\\\\s*(?=[0-9\\\\\\\\_a-z]+(::)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?)","end":"(?i)(::)([_a-z\\\\x7F-ÿ][0-9_a-z\\\\x7F-ÿ]*)?","endCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"constant.other.class.php"}},"patterns":[{"include":"#class-name"}]},{"include":"#constants"}]},"php_doc":{"patterns":[{"match":"^(?!\\\\s*\\\\*).*$\\\\n?","name":"invalid.illegal.missing-asterisk.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"3":{"name":"storage.modifier.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+((public|private|protected|internal)|(.+))\\\\s*$"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"2":{"name":"markup.underline.link.php"}},"match":"(@xlink)\\\\s+(.+)\\\\s*$"},{"match":"@(a(bstract|uthor)|c(ategory|opyright)|example|global|internal|li(cense|nk)|pa(ckage|ram)|return|s(ee|ince|tatic|ubpackage)|t(hrows|odo)|v(ar|ersion)|uses|deprecated|final|ignore)\\\\b","name":"keyword.other.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"}},"match":"\\\\{(@(link)).+?}","name":"meta.tag.inline.phpdoc.php"}]},"regex-double-quoted":{"begin":"(?<=re)\\"/(?=(\\\\\\\\.|[^\\"/])++/[ADSUXeimsux]*\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.double-quoted.php","patterns":[{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"include":"#interpolation"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"include":"#interpolation"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"regex-single-quoted":{"begin":"(?<=re)'/(?=(\\\\\\\\.|[^'/])++/[ADSUXeimsux]*')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(')","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.single-quoted.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"match":"\\\\\\\\{1,2}['\\\\\\\\]","name":"constant.character.escape.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\\\\\[]'\\\\[\\\\\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"sql-string-double-quoted":{"begin":"\\"\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.sql.php","patterns":[{"match":"\\\\(","name":"punctuation.definition.parameters.begin.bracket.round.php"},{"match":"#(\\\\\\\\\\"|[^\\"])*(?=\\"|$\\\\n?)","name":"comment.line.number-sign.sql"},{"match":"--(\\\\\\\\\\"|[^\\"])*(?=\\"|$\\\\n?)","name":"comment.line.double-dash.sql"},{"match":"\\\\\\\\[\\"'\\\\\\\\\`]","name":"constant.character.escape.php"},{"match":"'(?=((\\\\\\\\')|[^\\"'])*(\\"|$))","name":"string.quoted.single.unclosed.sql"},{"match":"\`(?=((\\\\\\\\\`)|[^\\"\`])*(\\"|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"begin":"'","end":"'","name":"string.quoted.single.sql","patterns":[{"include":"#interpolation"}]},{"begin":"\`","end":"\`","name":"string.quoted.other.backtick.sql","patterns":[{"include":"#interpolation"}]},{"include":"#interpolation"},{"include":"source.sql"}]},"sql-string-single-quoted":{"begin":"'\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.sql.php","patterns":[{"match":"\\\\(","name":"punctuation.definition.parameters.begin.bracket.round.php"},{"match":"#(\\\\\\\\'|[^'])*(?='|$\\\\n?)","name":"comment.line.number-sign.sql"},{"match":"--(\\\\\\\\'|[^'])*(?='|$\\\\n?)","name":"comment.line.double-dash.sql"},{"match":"\\\\\\\\[\\"'\\\\\\\\\`]","name":"constant.character.escape.php"},{"match":"\`(?=((\\\\\\\\\`)|[^'\`])*('|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"match":"\\"(?=((\\\\\\\\\\")|[^\\"'])*('|$))","name":"string.quoted.double.unclosed.sql"},{"include":"source.sql"}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"meta.string-contents.quoted.double.php","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.php","patterns":[{"include":"#interpolation"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"meta.string-contents.quoted.single.php","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.php","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.php"}]},"strings":{"patterns":[{"include":"#regex-double-quoted"},{"include":"#sql-string-double-quoted"},{"include":"#string-double-quoted"},{"include":"#regex-single-quoted"},{"include":"#sql-string-single-quoted"},{"include":"#string-single-quoted"}]},"support":{"patterns":[{"match":"(?i)\\\\bapc_(s(tore|ma_info)|c(ompile_file|lear_cache|a(s|che_info))|inc|de(c|fine_constants|lete(_file)?)|exists|fetch|load_constants|add|bin_(dump(file)?|load(file)?))\\\\b","name":"support.function.apc.php"},{"match":"(?i)\\\\b(s(huffle|izeof|ort)|n(ext|at((?:|case)sort))|c(o(unt|mpact)|urrent)|in_array|u([ak]??sort)|p(os|rev)|e(nd|ach|xtract)|k(sort|ey|rsort)|list|a(sort|r(sort|ray(_(s(hift|um|plice|earch|lice)|c(h(unk|ange_key_case)|o(unt_values|mbine))|intersect(_(u(key|assoc)|key|assoc))?|diff(_(u(key|assoc)|key|assoc))?|u(n(shift|ique)|intersect(_(u?assoc))?|diff(_(u?assoc))?)|p(op|ush|ad|roduct)|values|key(s|_exists)|f(il(ter|l(_keys)?)|lip)|walk(_recursive)?|r(e(duce|place(_recursive)?|verse)|and)|m(ultisort|erge(_recursive)?|ap)))?))|r(sort|eset|ange))\\\\b","name":"support.function.array.php"},{"match":"(?i)\\\\b(s(how_source|ys_getloadavg|leep)|highlight_(string|file)|con(stant|nection_(status|timeout|aborted))|time_(sleep_until|nanosleep)|ignore_user_abort|d(ie|efine(d)?)|u(sleep|n(iqid|pack))|__halt_compiler|p(hp_(strip_whitespace|check_syntax)|ack)|e(val|xit)|get_browser)\\\\b","name":"support.function.basic_functions.php"},{"match":"(?i)\\\\bbc(s(cale|ub|qrt)|comp|div|pow(mod)?|add|m(od|ul))\\\\b","name":"support.function.bcmath.php"},{"match":"(?i)\\\\bbz(c(ompress|lose)|open|decompress|err(str|no|or)|flush|write|read)\\\\b","name":"support.function.bz2.php"},{"match":"(?i)\\\\b(GregorianToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_da(ys|te)|J(ulianToJD|ewishToJD|D(MonthName|To(Gregorian|Julian|French)|DayOfWeek))|FrenchToJD)\\\\b","name":"support.function.calendar.php"},{"match":"(?i)\\\\b(c(lass_(exists|alias)|all_user_method(_array)?)|trait_exists|i(s_(subclass_of|a)|nterface_exists)|__autoload|property_exists|get_(c(lass(_(vars|methods))?|alled_class)|object_vars|declared_(classes|traits|interfaces)|parent_class)|method_exists)\\\\b","name":"support.function.classobj.php"},{"match":"(?i)\\\\b(com_(set|create_guid|i(senum|nvoke)|pr(int_typeinfo|op(set|put|get))|event_sink|load(_typelib)?|addref|release|get(_active_object)?|message_pump)|variant_(s(ub|et(_type)?)|n(ot|eg)|c(a(s?t)|mp)|i(nt|div|mp)|or|d(iv|ate_((?:to|from)_timestamp))|pow|eqv|fix|a(nd|dd|bs)|round|get_type|xor|m(od|ul)))\\\\b","name":"support.function.com.php"},{"match":"(?i)\\\\bctype_(space|cntrl|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit)\\\\b","name":"support.function.ctype.php"},{"match":"(?i)\\\\bcurl_(setopt(_array)?|c(opy_handle|lose)|init|e(rr(no|or)|xec)|version|getinfo|multi_(select|close|in(it|fo_read)|exec|add_handle|remove_handle|getcontent))\\\\b","name":"support.function.curl.php"},{"match":"(?i)\\\\b(str((?:to|[fp])time)|checkdate|time(zone_(name_(from_abbr|get)|transitions_get|identifiers_list|o(pen|ffset_get)|version_get|location_get|abbreviations_list))?|idate|date(_(su(n(set|_info|rise)|b)|create(_from_format)?|time(stamp_([gs]et)|zone_([gs]et)|_set)|i(sodate_set|nterval_(create_from_date_string|format))|offset_get|d(iff|efault_timezone_([gs]et)|ate_set)|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|g(et(timeofday|date)|m(strftime|date|mktime))|m((?:icro|k)time))\\\\b","name":"support.function.datetime.php"},{"match":"(?i)\\\\bdba_(sync|handlers|nextkey|close|insert|op(timize|en)|delete|popen|exists|key_split|f(irstkey|etch)|list|replace)\\\\b","name":"support.function.dba.php"},{"match":"(?i)\\\\bdbx_(sort|c(o(nnect|mpare)|lose)|e(scape_string|rror)|query|fetch_row)\\\\b","name":"support.function.dbx.php"},{"match":"(?i)\\\\b(scandir|c(h(dir|root)|losedir)|opendir|dir|re((?:win|a)ddir)|getcwd)\\\\b","name":"support.function.dir.php"},{"match":"(?i)\\\\bdotnet_load\\\\b","name":"support.function.dotnet.php"},{"match":"(?i)\\\\beio_(s(y(nc(_file_range|fs)?|mlink)|tat(vfs)?|e(ndfile|t_m(in_parallel|ax_(idle|p(oll_(time|reqs)|arallel)))|ek))|n(threads|op|pending|re(qs|ady))|c(h(own|mod)|ustom|lose|ancel)|truncate|init|open|dup2|u(nlink|time)|poll|event_loop|f(s(ync|tat(vfs)?)|ch(own|mod)|truncate|datasync|utime|allocate)|write|l(stat|ink)|r(e(name|a(d(dir|link|ahead)?|lpath))|mdir)|g(et_(event_stream|last_error)|rp(_(cancel|limit|add))?)|mk(nod|dir)|busy)\\\\b","name":"support.function.eio.php"},{"match":"(?i)\\\\benchant_(dict_(s(tore_replacement|uggest)|check|is_in_session|describe|quick_check|add_to_(session|personal)|get_error)|broker_(set_ordering|init|d(ict_exists|escribe)|free(_dict)?|list_dicts|request_((?:|pwl_)dict)|get_error))\\\\b","name":"support.function.enchant.php"},{"match":"(?i)\\\\b(s(plit(i)?|ql_regcase)|ereg(i(_replace)?|_replace)?)\\\\b","name":"support.function.ereg.php"},{"match":"(?i)\\\\b(set_e((?:rror|xception)_handler)|trigger_error|debug_((?:print_|)backtrace)|user_error|error_(log|reporting|get_last)|restore_e((?:rror|xception)_handler))\\\\b","name":"support.function.errorfunc.php"},{"match":"(?i)\\\\b(s(hell_exec|ystem)|p(assthru|roc_(nice|close|terminate|open|get_status))|e(scapeshell(cmd|arg)|xec))\\\\b","name":"support.function.exec.php"},{"match":"(?i)\\\\b(exif_(t(humbnail|agname)|imagetype|read_data)|read_exif_data)\\\\b","name":"support.function.exif.php"},{"match":"(?i)\\\\b(s(ymlink|tat|et_file_buffer)|c(h(own|grp|mod)|opy|learstatcache)|t(ouch|empnam|mpfile)|is_(dir|uploaded_file|executable|file|writ(e?able)|link|readable)|d(i(sk(_((?:total|free)_space)|freespace)|rname)|elete)|u(nlink|mask)|p(close|open|a(thinfo|rse_ini_(string|file)))|f(s(canf|tat|eek)|nmatch|close|t(ell|runcate)|ile(size|ctime|type|inode|owner|_((?:put_conten|exis|get_conten)ts)|perms|atime|group|mtime)?|open|p(ut(s|csv)|assthru)|eof|flush|write|lock|read|get(s(s)?|c(sv)?))|l(stat|ch(own|grp)|ink(info)?)|r(e(name|wind|a(d(file|link)|lpath(_cache_(size|get))?))|mdir)|glob|m(ove_uploaded_file|kdir)|basename)\\\\b","name":"support.function.file.php"},{"match":"(?i)\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\b","name":"support.function.fileinfo.php"},{"match":"(?i)\\\\bfilter_(has_var|i(nput(_array)?|d)|var(_array)?|list)\\\\b","name":"support.function.filter.php"},{"match":"(?i)\\\\b(c(all_user_func(_array)?|reate_function)|unregister_tick_function|f(orward_static_call(_array)?|unc(tion_exists|_(num_args|get_arg(s)?)))|register_((?:shutdown|tick)_function)|get_defined_functions)\\\\b","name":"support.function.funchand.php"},{"match":"(?i)\\\\b(ngettext|textdomain|d(ngettext|c(n?gettext)|gettext)|gettext|bind(textdomain|_textdomain_codeset))\\\\b","name":"support.function.gettext.php"},{"match":"(?i)\\\\bgmp_(s(can([01])|trval|ign|ub|etbit|qrt(rem)?)|hamdist|ne(g|xtprime)|c(om|lrbit|mp)|testbit|in(tval|it|vert)|or|div(_(q(r)?|r)|exact)?|jacobi|p(o(pcount|w(m)?)|erfect_square|rob_prime)|fact|legendre|a(nd|dd|bs)|random|gcd(ext)?|xor|m(od|ul))\\\\b","name":"support.function.gmp.php"},{"match":"(?i)\\\\bhash(_(hmac(_file)?|copy|init|update(_(stream|file))?|pbkdf2|fi(nal|le)|algos))?\\\\b","name":"support.function.hash.php"},{"match":"(?i)\\\\b(http_(s(upport|end_(st(atus|ream)|content_(type|disposition)|data|file|last_modified))|head|negotiate_(c(harset|ontent_type)|language)|c(hunked_decode|ache_(etag|last_modified))|throttle|inflate|d((?:efl|)ate)|p(ost_(data|fields)|ut_(stream|data|file)|ersistent_handles_(c(ount|lean)|ident)|arse_(headers|cookie|params|message))|re(direct|quest(_(method_(name|unregister|exists|register)|body_encode))?)|get(_request_(headers|body(_stream)?))?|match_(etag|request_header|modified)|build_(str|cookie|url))|ob_((?:inflate|deflate|etag)handler))\\\\b","name":"support.function.http.php"},{"match":"(?i)\\\\b(iconv(_(s(tr(pos|len|rpos)|ubstr|et_encoding)|get_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\b","name":"support.function.iconv.php"},{"match":"(?i)\\\\biis_(s(t(op_serv(ice|er)|art_serv(ice|er))|et_(s(cript_map|erver_rights)|dir_security|app_settings))|add_server|remove_server|get_(s(cript_map|erv(ice_state|er_(rights|by_(comment|path))))|dir_security))\\\\b","name":"support.function.iisfunc.php"},{"match":"(?i)\\\\b(i(ptc(parse|embed)|mage(s(y|tring(up)?|et(style|t(hickness|ile)|pixel|brush)|avealpha|x)|c(har(up)?|o(nvolution|py(res(ized|ampled)|merge(gray)?)?|lor(s(total|et|forindex)|closest(hwb|alpha)?|transparent|deallocate|exact(alpha)?|a(t|llocate(alpha)?)|resolve(alpha)?|match))|reate(truecolor|from(string|jpeg|png|wbmp|g(if|d(2(part)?)?)|x([bp]m)))?)|t(ypes|tf(text|bbox)|ruecolortopalette)|i(struecolor|nterlace)|2wbmp|d(estroy|ashedline)|jpeg|_type_to_(extension|mime_type)|p(s(slantfont|text|e((?:ncode|xtend)font)|freefont|loadfont|bbox)|ng|olygon|alettecopy)|ellipse|f(t(text|bbox)|il(ter|l(toborder|ed(polygon|ellipse|arc|rectangle))?)|ont(height|width))|wbmp|l(ine|oadfont|ayereffect)|a(ntialias|lphablending|rc)|r(otate|ectangle)|g(if|d(2)?|ammacorrect|rab(screen|window))|xbm))|jpeg2wbmp|png2wbmp|g(d_info|etimagesize(fromstring)?))\\\\b","name":"support.function.image.php"},{"match":"(?i)\\\\b(s(ys_get_temp_dir|et_(time_limit|include_path|magic_quotes_runtime))|ini_(set|alter|restore|get(_all)?)|zend_(thread_id|version|logo_guid)|dl|p(hp(credits|info|_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|version)|utenv)|extension_loaded|version_compare|assert(_options)?|restore_include_path|g(c_(collect_cycles|disable|enable(d)?)|et(opt|_(c(urrent_user|fg_var)|include(d_files|_path)|defined_constants|extension_funcs|loaded_extensions|required_files|magic_quotes_(runtime|gpc))|env|lastmod|rusage|my(inode|uid|pid|gid)))|m(emory_get_((?:|peak_)usage)|a(in|gic_quotes_runtime)))\\\\b","name":"support.function.info.php"},{"match":"(?i)\\\\bibase_(se(t_event_handler|rv(ice_((?:de|at)tach)|er_info))|n(um_(params|fields)|ame_result)|c(o(nnect|mmit(_ret)?)|lose)|trans|d(elete_user|rop_db|b_info)|p(connect|aram_info|repare)|e(rr(code|msg)|xecute)|query|f(ield_info|etch_(object|assoc|row)|ree_(event_handler|query|result))|wait_event|a(dd_user|ffected_rows)|r(ollback(_ret)?|estore)|gen_id|m(odify_user|aintain_db)|b(lob_(c(lose|ancel|reate)|i(nfo|mport)|open|echo|add|get)|ackup))\\\\b","name":"support.function.interbase.php"},{"match":"(?i)\\\\b(n(ormalizer_(normalize|is_normalized)|umfmt_(set_(symbol|text_attribute|pattern|attribute)|create|parse(_currency)?|format(_currency)?|get_(symbol|text_attribute|pattern|error_(code|message)|locale|attribute)))|collator_(s(ort(_with_sort_keys)?|et_(strength|attribute))|c(ompare|reate)|asort|get_(s(trength|ort_key)|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|i(ntl_(is_failure|error_name|get_error_(code|message))|dn_to_(u(nicode|tf8)|ascii))|datefmt_(set_(calendar|timezone(_id)?|pattern|lenient)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|parse|filter_matches|lookup|accept_from_http|get_(script|d(isplay_(script|name|variant|language|region)|efault)|primary_language|keywords|all_variants|region))|resourcebundle_(c(ount|reate)|locales|get(_error_(code|message))?)|grapheme_(s(tr(str|i(str|pos)|pos|len|r(i?pos))|ubstr)|extract)|msgfmt_(set_pattern|create|parse(_message)?|format(_message)?|get_(pattern|error_(code|message)|locale)))\\\\b","name":"support.function.intl.php"},{"match":"(?i)\\\\bjson_(decode|encode|last_error)\\\\b","name":"support.function.json.php"},{"match":"(?i)\\\\bldap_(s(tart_tls|ort|e(t_(option|rebind_proc)|arch)|asl_bind)|next_(entry|attribute|reference)|c(o(n(nect|trol_paged_result(_response)?)|unt_entries|mpare)|lose)|t61_to_8859|d(n2ufn|elete)|8859_to_t61|unbind|parse_re(sult|ference)|e(rr(no|2str|or)|xplode_dn)|f(irst_(entry|attribute|reference)|ree_result)|list|add|re(name|ad)|get_(option|dn|entries|values(_len)?|attributes)|mod(ify|_(del|add|replace))|bind)\\\\b","name":"support.function.ldap.php"},{"match":"(?i)\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\b","name":"support.function.libxml.php"},{"match":"(?i)\\\\b(ezmlm_hash|mail)\\\\b","name":"support.function.mail.php"},{"match":"(?i)\\\\b(s(in(h)?|qrt|rand)|h(ypot|exdec)|c(os(h)?|eil)|tan(h)?|is_(nan|infinite|finite)|octdec|de(c(hex|oct|bin)|g2rad)|p(i|ow)|exp(m1)?|f(loor|mod)|l(cg_value|og(1([0p]))?)|a(sin(h)?|cos(h)?|tan([2h])?|bs)|r(ound|a(nd|d2deg))|getrandmax|m(t_(srand|rand|getrandmax)|in|ax)|b(indec|ase_convert))\\\\b","name":"support.function.math.php"},{"match":"(?i)\\\\bmb_(s(tr(str|cut|to(upper|lower)|i(str|pos|mwidth)|pos|width|len|r(chr|i(chr|pos)|pos))|ubst(itute_character|r(_count)?)|plit|end_mail)|http_((?:in|out)put)|c(heck_encoding|onvert_(case|encoding|variables|kana))|internal_encoding|output_handler|de(code_(numericentity|mimeheader)|tect_(order|encoding))|p(arse_str|referred_mime_name)|e(ncod(ing_aliases|e_(numericentity|mimeheader))|reg(i(_replace)?|_(search(_(setpos|init|pos|regs|get(pos|regs)))?|replace(_callback)?|match))?)|l(ist_encodings|anguage)|regex_(set_options|encoding)|get_info)\\\\b","name":"support.function.mbstring.php"},{"match":"(?i)\\\\bm(crypt_(c(fb|reate_iv|bc)|ofb|decrypt|e(nc(_(self_test|is_block_(algorithm(_mode)?|mode)|get_(supported_key_sizes|iv_size|key_size|algorithms_name|modes_name|block_size))|rypt)|cb)|list_(algorithms|modes)|ge(neric(_(init|deinit|end))?|t_(cipher_name|iv_size|key_size|block_size))|module_(self_test|close|is_block_(algorithm(_mode)?|mode)|open|get_(supported_key_sizes|algo_((?:key|block)_size))))|decrypt_generic)\\\\b","name":"support.function.mcrypt.php"},{"match":"(?i)\\\\bmemcache_debug\\\\b","name":"support.function.memcache.php"},{"match":"(?i)\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\b","name":"support.function.mhash.php"},{"match":"(?i)\\\\bbson_((?:de|en)code)\\\\b","name":"support.function.mongo.php"},{"match":"(?i)\\\\bmysql_(s(tat|e(t_charset|lect_db))|num_(fields|rows)|c(onnect|l(ient_encoding|ose)|reate_db)|t(hread_id|ablename)|in(sert_id|fo)|d(ata_seek|rop_db|b_(name|query))|unbuffered_query|p(connect|ing)|e(scape_string|rr(no|or))|query|f(ield_(seek|name|t(ype|able)|flags|len)|etch_(object|field|lengths|a(ssoc|rray)|row)|ree_result)|list_(tables|dbs|processes|fields)|affected_rows|re(sult|al_escape_string)|get_((?:server|host|client|proto)_info))\\\\b","name":"support.function.mysql.php"},{"match":"(?i)\\\\bmysqli_(s(sl_set|t(ore_result|at|mt_(s(tore_result|end_long_data)|next_result|close|init|data_seek|prepare|execute|f(etch|ree_result)|attr_([gs]et)|res(ult_metadata|et)|get_(warnings|result)|more_results|bind_(param|result)))|e(nd_(query|long_data)|t_(charset|opt|local_infile_(handler|default))|lect_db)|lave_query)|next_result|c(ha(nge_user|racter_set_name)|o(nnect|mmit)|l(ient_encoding|ose))|thread_safe|init|options|d(isable_r(pl_parse|eads_from_master)|ump_debug_info|ebug|ata_seek)|use_result|p(ing|oll|aram_count|repare)|e(scape_string|nable_r(pl_parse|eads_from_master)|xecute|mbedded_server_(start|end))|kill|query|f(ield_seek|etch(_(object|field(s|_direct)?|a(ssoc|ll|rray)|row))?|ree_result)|autocommit|r(ollback|pl_(p(arse_enabled|robe)|query_type)|e(port|fresh|a(p_async_query|l_(connect|escape_string|query))))|get_(c(harset|onnection_stats|lient_(stats|info|version)|ache_stats)|warnings|metadata)|m(ore_results|ulti_query|aster_query)|bind_(param|result))\\\\b","name":"support.function.mysqli.php"},{"match":"(?i)\\\\bmysqlnd_memcache_(set|get_config)\\\\b","name":"support.function.mysqlnd-memcache.php"},{"match":"(?i)\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|query_is_select|get_(stats|last_(used_connection|gtid))|match_wild)\\\\b","name":"support.function.mysqlnd-ms.php"},{"match":"(?i)\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|c(ore_stats|ache_info)|query_trace_log|available_handlers))\\\\b","name":"support.function.mysqlnd-qc.php"},{"match":"(?i)\\\\bmysqlnd_uh_(set_((?:statement|connection)_proxy)|convert_to_mysqlnd)\\\\b","name":"support.function.mysqlnd-uh.php"},{"match":"(?i)\\\\b(s(yslog|ocket_(set_(timeout|blocking)|get_status)|et((?:|raw)cookie))|h(ttp_response_code|eader(s_(sent|list)|_re(gister_callback|move))?)|c(heckdnsrr|loselog)|i(net_(ntop|pton)|p2long)|openlog|d(ns_(check_record|get_(record|mx))|efine_syslog_variables)|pfsockopen|fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protobyn(umber|ame)|mxrr))\\\\b","name":"support.function.network.php"},{"match":"(?i)\\\\bnsapi_(virtual|re((?:sponse|quest)_headers))\\\\b","name":"support.function.nsapi.php"},{"match":"(?i)\\\\b(deaggregate|aggregat(ion_info|e(_(info|properties(_by_(list|regexp))?|methods(_by_(list|regexp))?))?))\\\\b","name":"support.function.objaggregation.php"},{"match":"(?i)\\\\boci(s(tatementtype|e(tprefetch|rverversion)|avelob(file)?)|n(umcols|ew(c(ollection|ursor)|descriptor)|logon)|c(o(l(umn(s(cale|ize)|name|type(raw)?|isnull|precision)|l(size|trim|a(ssign(elem)?|ppend)|getelem|max))|mmit)|loselob|ancel)|internaldebug|definebyname|_(s(tatement_type|e(t_(client_i(nfo|dentifier)|prefetch|edition|action|module_name)|rver_version))|n(um_(fields|rows)|ew_(c(o(nnect|llection)|ursor)|descriptor))|c(o(nnect|mmit)|l(ient_version|ose)|ancel)|internal_debug|define_by_name|p(connect|a(ssword_change|rse))|e(rror|xecute)|f(ield_(s(cale|ize)|name|type(_raw)?|is_null|precision)|etch(_(object|a(ssoc|ll|rray)|row))?|ree_(statement|descriptor))|lob_(copy|is_equal)|r(ollback|esult)|bind_((?:array_|)by_name))|p(logon|arse)|e(rror|xecute)|f(etch(statement|into)?|ree(statement|c(ollection|ursor)|desc))|write(temporarylob|lobtofile)|lo(adlob|go(n|ff))|r(o(wcount|llback)|esult)|bindbyname)\\\\b","name":"support.function.oci8.php"},{"match":"(?i)\\\\bopenssl_(s(ign|eal)|c(sr_(sign|new|export(_to_file)?|get_(subject|public_key))|ipher_iv_length)|open|d(h_compute_key|igest|ecrypt)|p(ublic_((?:de|en)crypt)|k(cs(12_(export(_to_file)?|read)|7_(sign|decrypt|encrypt|verify))|ey_(new|export(_to_file)?|free|get_(details|p(ublic|rivate))))|rivate_((?:de|en)crypt))|e(ncrypt|rror_string)|verify|free_key|random_pseudo_bytes|get_(cipher_methods|p((?:ublic|rivate)key)|md_methods)|x509_(check(_private_key|purpose)|parse|export(_to_file)?|free|read))\\\\b","name":"support.function.openssl.php"},{"match":"(?i)\\\\b(o(utput_(add_rewrite_var|reset_rewrite_vars)|b_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|g(zhandler|et_(status|c(ontents|lean)|flush|le(ngth|vel)))))|flush)\\\\b","name":"support.function.output.php"},{"match":"(?i)\\\\bpassword_(hash|needs_rehash|verify|get_info)\\\\b","name":"support.function.password.php"},{"match":"(?i)\\\\bpcntl_(s(ig(nal(_dispatch)?|timedwait|procmask|waitinfo)|etpriority)|exec|fork|w(stopsig|termsig|if(s(topped|ignaled)|exited)|exitstatus|ait(pid)?)|alarm|getpriority)\\\\b","name":"support.function.pcntl.php"},{"match":"(?i)\\\\bpg_(se(nd_(prepare|execute|query(_params)?)|t_(client_encoding|error_verbosity)|lect)|host|num_(fields|rows)|c(o(n(nect(ion_(status|reset|busy))?|vert)|py_(to|from))|l(ient_encoding|ose)|ancel_query)|t(ty|ra(nsaction_status|ce))|insert|options|d(elete|bname)|u(n(trace|escape_bytea)|pdate)|p(connect|ing|ort|ut_line|arameter_status|repare)|e(scape_(string|identifier|literal|bytea)|nd_copy|xecute)|version|query(_params)?|f(ield_(size|n(um|ame)|t(ype(_oid)?|able)|is_null|prtlen)|etch_(object|a(ssoc|ll(_columns)?|rray)|r(ow|esult))|ree_result)|l(o_(seek|c(lose|reate)|tell|import|open|unlink|export|write|read(_all)?)|ast_(notice|oid|error))|affected_rows|result_(s(tatus|eek)|error(_field)?)|get_(notify|pid|result)|meta_data)\\\\b","name":"support.function.pgsql.php"},{"match":"(?i)\\\\b(virtual|apache_(setenv|note|child_terminate|lookup_uri|re(s(ponse_headers|et_timeout)|quest_headers)|get(_(version|modules)|env))|getallheaders)\\\\b","name":"support.function.php_apache.php"},{"match":"(?i)\\\\bdom_import_simplexml\\\\b","name":"support.function.php_dom.php"},{"match":"(?i)\\\\bftp_(s(sl_connect|ystype|i([tz]e)|et_option)|n(list|b_(continue|put|f(put|get)|get))|c(h(dir|mod)|onnect|dup|lose)|delete|p(ut|wd|asv)|exec|quit|f(put|get)|login|alloc|r(ename|aw(list)?|mdir)|get(_option)?|m(dtm|kdir))\\\\b","name":"support.function.php_ftp.php"},{"match":"(?i)\\\\bimap_(s(can(mailbox)?|tatus|ort|ubscribe|e(t(_quota|flag_full|acl)|arch)|avebody)|header(s|info)?|num_(recent|msg)|c(heck|l(ose|earflag_full)|reate(mailbox)?)|t(hread|imeout)|open|delete(mailbox)?|8bit|u(n(subscribe|delete)|tf(7_((?:de|en)code)|8)|id)|ping|e(rrors|xpunge)|qprint|fetch(structure|header|text|_overview|mime|body)|l(sub|ist(s(can|ubscribed)|mailbox)?|ast_error)|a(ppend|lerts)|r(e(name(mailbox)?|open)|fc822_(parse_(headers|adrlist)|write_address))|g(c|et(subscribed|_quota(root)?|acl|mailboxes))|m(sgno|ime_header_decode|ail(_(co(py|mpose)|move)|boxmsginfo)?)|b(inary|ody(struct)?|ase64))\\\\b","name":"support.function.php_imap.php"},{"match":"(?i)\\\\bmssql_(select_db|n(um_(fields|rows)|ext_result)|c(onnect|lose)|init|data_seek|pconnect|execute|query|f(ield_(seek|name|type|length)|etch_(object|field|a(ssoc|rray)|row|batch)|ree_(statement|result))|r(ows_affected|esult)|g(uid_string|et_last_message)|min_((?:error|message)_severity)|bind)\\\\b","name":"support.function.php_mssql.php"},{"match":"(?i)\\\\bodbc_(s(tatistics|pecialcolumns|etoption)|n(um_(fields|rows)|ext_result)|c(o(nnect|lumn(s|privileges)|mmit)|ursor|lose(_all)?)|table(s|privileges)|d(o|ata_source)|p(connect|r(imarykeys|ocedure(s|columns)|epare))|e(rror(msg)?|xec(ute)?)|f(ield_(scale|n(um|ame)|type|precision|len)|oreignkeys|etch_(into|object|array|row)|ree_result)|longreadlen|autocommit|r(ollback|esult(_all)?)|gettypeinfo|binmode)\\\\b","name":"support.function.php_odbc.php"},{"match":"(?i)\\\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\\\b","name":"support.function.php_pcre.php"},{"match":"(?i)\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\b","name":"support.function.php_spl.php"},{"match":"(?i)\\\\bzip_(close|open|entry_(name|c(ompress(ionmethod|edsize)|lose)|open|filesize|read)|read)\\\\b","name":"support.function.php_zip.php"},{"match":"(?i)\\\\bposix_(s(trerror|et(sid|uid|pgid|e([gu]id)|gid))|ctermid|t(tyname|imes)|i(satty|nitgroups)|uname|errno|kill|access|get(sid|cwd|uid|_last_error|p(id|pid|w(nam|uid)|g(id|rp))|e([gu]id)|login|rlimit|g(id|r(nam|oups|gid)))|mk(nod|fifo))\\\\b","name":"support.function.posix.php"},{"match":"(?i)\\\\bset((?:thread|proc)title)\\\\b","name":"support.function.proctitle.php"},{"match":"(?i)\\\\bpspell_(s(tore_replacement|uggest|ave_wordlist)|new(_(config|personal))?|c(heck|onfig_(save_repl|create|ignore|d((?:ict|ata)_dir)|personal|r(untogether|epl)|mode)|lear_session)|add_to_(session|personal))\\\\b","name":"support.function.pspell.php"},{"match":"(?i)\\\\breadline(_(c(ompletion_function|lear_history|allback_(handler_(install|remove)|read_char))|info|on_new_line|write_history|list_history|add_history|re(display|ad_history)))?\\\\b","name":"support.function.readline.php"},{"match":"(?i)\\\\brecode(_(string|file))?\\\\b","name":"support.function.recode.php"},{"match":"(?i)\\\\brrd_(create|tune|info|update|error|version|f(irst|etch)|last(update)?|restore|graph|xport)\\\\b","name":"support.function.rrd.php"},{"match":"(?i)\\\\b(s(hm_(has_var|detach|put_var|attach|remove(_var)?|get_var)|em_(acquire|re(lease|move)|get))|ftok|msg_(s(tat_queue|e(nd|t_queue))|queue_exists|re(ceive|move_queue)|get_queue))\\\\b","name":"support.function.sem.php"},{"match":"(?i)\\\\bsession_(s(ta(tus|rt)|et_(save_handler|cookie_params)|ave_path)|name|c(ommit|ache_(expire|limiter))|i(s_registered|d)|de(stroy|code)|un(set|register)|encode|write_close|reg(ister(_shutdown)?|enerate_id)|get_cookie_params|module_name)\\\\b","name":"support.function.session.php"},{"match":"(?i)\\\\bshmop_(size|close|open|delete|write|read)\\\\b","name":"support.function.shmop.php"},{"match":"(?i)\\\\bsimplexml_(import_dom|load_(string|file))\\\\b","name":"support.function.simplexml.php"},{"match":"(?i)\\\\bsnmp(set|2_(set|walk|real_walk|get(next)?)|_(set_(oid_(numeric_print|output_format)|enum_print|valueretrieval|quick_print)|read_mib|get_(valueretrieval|quick_print))|3_(set|walk|real_walk|get(next)?)|walk(oid)?|realwalk|get(next)?)\\\\b","name":"support.function.snmp.php"},{"match":"(?i)\\\\b(is_soap_fault|use_soap_error_handler)\\\\b","name":"support.function.soap.php"},{"match":"(?i)\\\\bsocket_(s(hutdown|trerror|e(nd(to)?|t_(nonblock|option|block)|lect))|c(onnect|l(ose|ear_error)|reate(_(pair|listen))?)|import_stream|write|l(isten|ast_error)|accept|re(cv(from)?|ad)|get(sockname|_option|peername)|bind)\\\\b","name":"support.function.sockets.php"},{"match":"(?i)\\\\bsqlite_(s(ingle_query|eek)|has_(prev|more)|n(um_(fields|rows)|ext)|c(hanges|olumn|urrent|lose|reate_(function|aggregate))|open|u(nbuffered_query|df_((?:de|en)code_binary))|p(open|rev)|e(scape_string|rror_string|xec)|valid|key|query|f(ield_name|etch_(s(tring|ingle)|column_types|object|a(ll|rray))|actory)|l(ib(encoding|version)|ast_(insert_rowid|error))|array_query|rewind|busy_timeout)\\\\b","name":"support.function.sqlite.php"},{"match":"(?i)\\\\bsqlsrv_(se(nd_stream_data|rver_info)|has_rows|n(um_(fields|rows)|ext_result)|c(o(n(nect|figure)|mmit)|l(ient_info|ose)|ancel)|prepare|e(rrors|xecute)|query|f(ield_metadata|etch(_(object|array))?|ree_stmt)|ro(ws_affected|llback)|get_(config|field)|begin_transaction)\\\\b","name":"support.function.sqlsrv.php"},{"match":"(?i)\\\\bstats_(s(ta(ndard_deviation|t_(noncentral_t|correlation|in(nerproduct|dependent_t)|p(owersum|ercentile|aired_t)|gennch|binomial_coef))|kew)|harmonic_mean|c(ovariance|df_(n(oncentral_(chisquare|f)|egative_binomial)|c(hisquare|auchy)|t|uniform|poisson|exponential|f|weibull|l(ogistic|aplace)|gamma|b(inomial|eta)))|den(s_(n(ormal|egative_binomial)|c(hisquare|auchy)|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|l(ogistic|aplace)|gamma|beta)|_uniform)|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|ge(n_(no(ncen(tral_([ft])|ral_chisquare)|rmal)|chisquare|t|i(nt|uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)|t_seeds)))\\\\b","name":"support.function.stats.php"},{"match":"(?i)\\\\bs(tream_(s(ocket_(s(hutdown|e(ndto|rver))|client|pair|enable_crypto|accept|recvfrom|get_name)|upports_lock|e(t_(chunk_size|timeout|write_buffer|read_buffer|blocking)|lect))|notification_callback|co(ntext_(set_(option|default|params)|create|get_(options|default|params))|py_to_stream)|is_local|encoding|filter_(prepend|append|re(gister|move))|wrapper_(unregister|re(store|gister))|re(solve_include_path|gister_wrapper)|get_(contents|transports|filters|wrappers|line|meta_data)|bucket_(new|prepend|append|make_writeable))|et_socket_blocking)\\\\b","name":"support.function.streamsfuncs.php"},{"match":"(?i)\\\\b(s(scanf|ha1(_file)?|tr(s(tr|pn)|n(c(asecmp|mp)|atc(asecmp|mp))|c(spn|hr|oll|asecmp|mp)|t(o(upper|k|lower)|r)|i(str|p(slashes|cslashes|os|_tags))|_(s(huffle|plit)|ireplace|pad|word_count|r(ot13|ep(eat|lace))|getcsv)|p(os|brk)|len|r(chr|ipos|pos|ev))|imilar_text|oundex|ubstr(_(co(unt|mpare)|replace))?|printf|etlocale)|h(tml(specialchars(_decode)?|_entity_decode|entities)|e(x2bin|brev(c)?))|n(umber_format|l(2br|_langinfo))|c(h(op|unk_split|r)|o(nvert_(cyr_string|uu((?:de|en)code))|unt_chars)|r(ypt|c32))|trim|implode|ord|uc(first|words)|join|p(arse_str|rint(f)?)|e(cho|xplode)|v((?:s?|f)printf)|quote(d_printable_((?:de|en)code)|meta)|fprintf|wordwrap|l(cfirst|trim|ocaleconv|evenshtein)|add(c??slashes)|rtrim|get_html_translation_table|m(oney_format|d5(_file)?|etaphone)|bin2hex)\\\\b","name":"support.function.string.php"},{"match":"(?i)\\\\bsybase_(se(t_message_handler|lect_db)|num_(fields|rows)|c(onnect|lose)|d(eadlock_retry_count|ata_seek)|unbuffered_query|pconnect|query|f(ield_seek|etch_(object|field|a(ssoc|rray)|row)|ree_result)|affected_rows|result|get_last_message|min_((?:server|client|error|message)_severity))\\\\b","name":"support.function.sybase.php"},{"match":"(?i)\\\\b(taint|is_tainted|untaint)\\\\b","name":"support.function.taint.php"},{"match":"(?i)\\\\b(tidy_(s(et(opt|_encoding)|ave_config)|c(onfig_count|lean_repair)|is_x(html|ml)|diagnose|parse_(string|file)|error_count|warning_count|load_config|access_count|re(set_config|pair_(string|file))|get(opt|_(status|h(tml(_ver)?|ead)|config|o(utput|pt_doc)|r(oot|elease)|body)))|ob_tidyhandler)\\\\b","name":"support.function.tidy.php"},{"match":"(?i)\\\\btoken_(name|get_all)\\\\b","name":"support.function.tokenizer.php"},{"match":"(?i)\\\\btrader_(s(t(och(f|rsi)?|ddev)|in(h)?|u([bm])|et_(compat|unstable_period)|qrt|ar(ext)?|ma)|ht_(sine|trend(line|mode)|dcp(hase|eriod)|phasor)|natr|c(ci|o(s(h)?|rrel)|dl(s(ho(otingstar|rtline)|t(icksandwich|alledpattern)|pinningtop|eparatinglines)|h(i(kkake(mod)?|ghwave)|omingpigeon|a(ngingman|rami(cross)?|mmer))|c(o(ncealbabyswall|unterattack)|losingmarubozu)|t(hrusting|a(sukigap|kuri)|ristar)|i(n(neck|vertedhammer)|dentical3crows)|2crows|onneck|d(oji(star)?|arkcloudcover|ragonflydoji)|u(nique3river|psidegap2crows)|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|e(ngulfing|vening((?:|doji)star))|kicking(bylength)?|l(ongl(ine|eggeddoji)|adderbottom)|a(dvanceblock|bandonedbaby)|ri(sefall3methods|ckshawman)|g(apsidesidewhite|ravestonedoji)|xsidegap3methods|m(orning((?:|doji)star)|a(t(hold|chinglow)|rubozu))|b(elthold|reakaway))|eil|mo)|t(sf|ypprice|3|ema|an(h)?|r(i(x|ma)|ange))|obv|d(iv|ema|x)|ultosc|p(po|lus_d([im]))|e(rrno|xp|ma)|var|kama|floor|w(clprice|illr|ma)|l(n|inearreg(_(slope|intercept|angle))?|og10)|a(sin|cos|t(an|r)|d(osc|d|x(r)?)?|po|vgprice|roon(osc)?)|r(si|oc(p|r(100)?)?)|get_(compat|unstable_period)|m(i(n(index|us_d([im])|max(index)?)?|dp(oint|rice))|om|ult|edprice|fi|a(cd(ext|fix)?|vp|x(index)?|ma)?)|b(op|eta|bands))\\\\b","name":"support.function.trader.php"},{"match":"(?i)\\\\b(http_build_query|url((?:de|en)code)|parse_url|rawurl((?:de|en)code)|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\b","name":"support.function.url.php"},{"match":"(?i)\\\\b(s(trval|e(ttype|rialize))|i(s(set|_(s(calar|tring)|nu(ll|meric)|callable|int(eger)?|object|double|float|long|array|re(source|al)|bool|arraykey|nonnull|dict|vec|keyset))|ntval|mport_request_variables)|d(oubleval|ebug_zval_dump)|unse(t|rialize)|print_r|empty|var_(dump|export)|floatval|get(type|_(defined_vars|resource_type))|boolval)\\\\b","name":"support.function.var.php"},{"match":"(?i)\\\\bwddx_(serialize_va(lue|rs)|deserialize|packet_(start|end)|add_vars)\\\\b","name":"support.function.wddx.php"},{"match":"(?i)\\\\bxhprof_(sample_((?:dis|en)able)|disable|enable)\\\\b","name":"support.function.xhprof.php"},{"match":"(?i)\\\\b(utf8_((?:de|en)code)|xml_(set_(start_namespace_decl_handler|notation_decl_handler|character_data_handler|object|default_handler|unparsed_entity_decl_handler|processing_instruction_handler|e((?:nd_namespace_decl|lement|xternal_entity_ref)_handler))|parse(_into_struct|r_(set_option|create(_ns)?|free|get_option))?|error_string|get_(current_(column_number|line_number|byte_index)|error_code)))\\\\b","name":"support.function.xml.php"},{"match":"(?i)\\\\bxmlrpc_(se(t_type|rver_(c(all_method|reate)|destroy|add_introspection_data|register_(introspection_callback|method)))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|get_type)\\\\b","name":"support.function.xmlrpc.php"},{"match":"(?i)\\\\bxmlwriter_(s(tart_(c(omment|data)|d(td(_(e(ntity|lement)|attlist))?|ocument)|pi|element(_ns)?|attribute(_ns)?)|et_indent(_string)?)|text|o(utput_memory|pen_(uri|memory))|end_(c(omment|data)|d(td(_(e(ntity|lement)|attlist))?|ocument)|pi|element|attribute)|f(ull_end_element|lush)|write_(c(omment|data)|dtd(_(e(ntity|lement)|attlist))?|pi|element(_ns)?|attribute(_ns)?|raw))\\\\b","name":"support.function.xmlwriter.php"},{"match":"(?i)\\\\bxslt_(set(opt|_(s(cheme_handler(s)?|ax_handler(s)?)|object|e(ncoding|rror_handler)|log|base))|create|process|err(no|or)|free|getopt|backend_(name|info|version))\\\\b","name":"support.function.xslt.php"},{"match":"(?i)\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|c(ompress|lose)|tell|inflate|open|de(code|flate)|uncompress|p(uts|assthru)|e(ncode|of)|file|write|re(wind|ad)|get(s(s)?|c)))\\\\b","name":"support.function.zlib.php"},{"match":"(?i)\\\\bis_int(eger)?\\\\b","name":"support.function.alias.php"}]},"type-annotation":{"name":"support.type.php","patterns":[{"match":"\\\\b(?:bool|int|float|string|resource|mixed|arraykey|nonnull|dict|vec|keyset)\\\\b","name":"support.type.php"},{"begin":"([A-Z_a-z][0-9A-Z_a-z]*)<","beginCaptures":{"1":{"name":"support.class.php"}},"end":">","patterns":[{"include":"#type-annotation"}]},{"begin":"(shape\\\\()","end":"((,|\\\\.\\\\.\\\\.)?\\\\s*\\\\))","endCaptures":{"1":{"name":"keyword.operator.key.php"}},"name":"storage.type.shape.php","patterns":[{"include":"#type-annotation"},{"include":"#strings"},{"include":"#constants"}]},{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#type-annotation"}]},{"include":"#class-name"},{"include":"#comments"}]},"user-function-call":{"begin":"(?i)(?=[0-9\\\\\\\\_a-z]*[_a-z][0-9_a-z]*\\\\s*\\\\()","end":"(?i)[_a-z][0-9_a-z]*(?=\\\\s*\\\\()","endCaptures":{"0":{"name":"entity.name.function.php"}},"name":"meta.function-call.php","patterns":[{"include":"#namespace"}]},"var_basic":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\\\$+)[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*?\\\\b","name":"variable.other.php"}]},"var_global":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg([cv]))\\\\b","name":"variable.other.global.php"},"var_global_safer":{"captures":{"1":{"name":"punctuation.definition.variable.php"}},"match":"(\\\\$)((GLOBALS|_(ENV|SERVER|SESSION)))","name":"variable.other.global.safer.php"},"variable-name":{"patterns":[{"include":"#var_global"},{"include":"#var_global_safer"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"keyword.operator.class.php"},"5":{"name":"variable.other.property.php"},"6":{"name":"punctuation.section.array.begin.php"},"7":{"name":"constant.numeric.index.php"},"8":{"name":"variable.other.index.php"},"9":{"name":"punctuation.definition.variable.php"},"10":{"name":"string.unquoted.index.php"},"11":{"name":"punctuation.section.array.end.php"}},"match":"((\\\\$)(?[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))(?:(->)(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|(\\\\w+))(]))?"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"((\\\\$\\\\{)(?[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(}))"}]},"variables":{"patterns":[{"include":"#var_global"},{"include":"#var_global_safer"},{"include":"#var_basic"},{"begin":"(\\\\$\\\\{)(?=.*?})","beginCaptures":{"1":{"name":"punctuation.definition.variable.php"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"#language"}]}]},"xhp":{"patterns":[{"applyEndPatternLast":1,"begin":"(?<=[(,\\\\[{]|&&|\\\\|\\\\||[:=?]|=>|\\\\Wreturn|^return|^)\\\\s*(?=<[_\\\\p{L}])","contentName":"source.xhp","end":"(?=.)","patterns":[{"include":"#xhp-tag-element-name"}]}]},"xhp-assignment":{"patterns":[{"match":"=(?=\\\\s*(?:[\\"'{]|/\\\\*|<|//|\\\\n))","name":"keyword.operator.assignment.xhp"}]},"xhp-attribute-name":{"patterns":[{"captures":{"0":{"name":"entity.other.attribute-name.xhp"}},"match":"(?\\\\s]|/>)"}]},"xhp-entities":{"patterns":[{"captures":{"0":{"name":"constant.character.entity.xhp"},"1":{"name":"punctuation.definition.entity.xhp"},"2":{"name":"entity.name.tag.html.xhp"},"3":{"name":"punctuation.definition.entity.xhp"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)"},{"match":"&\\\\S*;","name":"invalid.illegal.bad-ampersand.xhp"}]},"xhp-evaluated-code":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xhp"}},"contentName":"source.php.xhp","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xhp"}},"name":"meta.embedded.expression.php","patterns":[{"include":"#language"}]},"xhp-html-comments":{"begin":"","name":"comment.block.html","patterns":[{"match":"\\\\G-?>","name":"invalid.illegal.characters-not-allowed-here.html"},{"match":")|(?=-->))","name":"invalid.illegal.characters-not-allowed-here.html"},{"match":"--!>","name":"invalid.illegal.characters-not-allowed-here.html"}]},"core-minus-invalid":{"patterns":[{"include":"#xml-processing"},{"include":"#comment"},{"include":"#doctype"},{"include":"#cdata"},{"include":"#tags-valid"},{"include":"#entities"}]},"doctype":{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.doctype.html","patterns":[{"match":"\\\\G(?i:DOCTYPE)","name":"entity.name.tag.html"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.html"},{"match":"[^>\\\\s]+","name":"entity.other.attribute-name.html"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"912":{"name":"punctuation.definition.entity.html"}},"match":"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)","name":"constant.character.entity.named.$2.html"},{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)#[0-9]+(;)","name":"constant.character.entity.numeric.decimal.html"},{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)#[Xx]\\\\h+(;)","name":"constant.character.entity.numeric.hexadecimal.html"},{"match":"&(?=[0-9A-Za-z]+;)","name":"invalid.illegal.ambiguous-ampersand.html"}]},"math":{"patterns":[{"begin":"(?i)(<)(math)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()","endCaptures":{"0":{"name":"meta.tag.structure.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.structure.$2.html","patterns":[{"begin":"(?)\\\\G","end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]}],"repository":{"attribute":{"patterns":[{"begin":"(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u([bp]scriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![-:\\\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"([^\\\\x00- \\"'/<=>\\\\x7F-\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\x{4FFFE}\\\\x{4FFFF}\\\\x{5FFFE}\\\\x{5FFFF}\\\\x{6FFFE}\\\\x{6FFFF}\\\\x{7FFFE}\\\\x{7FFFF}\\\\x{8FFFE}\\\\x{8FFFF}\\\\x{9FFFE}\\\\x{9FFFF}\\\\x{AFFFE}\\\\x{AFFFF}\\\\x{BFFFE}\\\\x{BFFFF}\\\\x{CFFFE}\\\\x{CFFFF}\\\\x{DFFFE}\\\\x{DFFFF}\\\\x{EFFFE}\\\\x{EFFFF}\\\\x{FFFFE}\\\\x{FFFFF}\\\\x{10FFFE}\\\\x{10FFFF}]+)","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.unrecognized.$1.html","patterns":[{"include":"#attribute-interior"}]},{"match":"[^>\\\\s]+","name":"invalid.illegal.character-not-allowed-here.html"}]},"tags":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"captures":{"0":{"name":"meta.tag.structure.math.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.structure.math.$2.html"},{"begin":"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.math.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.inline.math.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.inline.math.$2.html"},{"begin":"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.inline.math.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.object.math.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(mglyph)(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.object.math.$2.html"},{"begin":"(?i)(<)(mglyph)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.object.math.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.other.invalid.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(([:\\\\w]+))(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.other.invalid.html"},{"begin":"(?i)(<)((\\\\w[^>\\\\s]*))(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.other.invalid.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.invalid.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"include":"#tags-invalid"}]}}},"svg":{"patterns":[{"begin":"(?i)(<)(svg)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()","endCaptures":{"0":{"name":"meta.tag.structure.$2.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.element.structure.$2.html","patterns":[{"begin":"(?)\\\\G","end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]}],"repository":{"attribute":{"patterns":[{"begin":"(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em([hv])|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y([12]|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS((?:cript|tyle)Type)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget([XY])?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At([XYZ]))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-([xy])|adv-y)))|alues)|k([123]|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f([XY]|errerPolicy)|l)|adius|x)?|g([12]|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x([12]|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk((?:Content|)Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![-:\\\\w])","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.$1.html","patterns":[{"include":"#attribute-interior"}]},{"begin":"([^\\\\x00- \\"'/<=>\\\\x7F-\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\x{4FFFE}\\\\x{4FFFF}\\\\x{5FFFE}\\\\x{5FFFF}\\\\x{6FFFE}\\\\x{6FFFF}\\\\x{7FFFE}\\\\x{7FFFF}\\\\x{8FFFE}\\\\x{8FFFF}\\\\x{9FFFE}\\\\x{9FFFF}\\\\x{AFFFE}\\\\x{AFFFF}\\\\x{BFFFE}\\\\x{BFFFF}\\\\x{CFFFE}\\\\x{CFFFF}\\\\x{DFFFE}\\\\x{DFFFF}\\\\x{EFFFE}\\\\x{EFFFF}\\\\x{FFFFE}\\\\x{FFFFF}\\\\x{10FFFE}\\\\x{10FFFF}]+)","beginCaptures":{"0":{"name":"entity.other.attribute-name.html"}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.unrecognized.$1.html","patterns":[{"include":"#attribute-interior"}]},{"match":"[^>\\\\s]+","name":"invalid.illegal.character-not-allowed-here.html"}]},"tags":{"patterns":[{"include":"#comment"},{"include":"#cdata"},{"captures":{"0":{"name":"meta.tag.metadata.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.metadata.svg.$2.html"},{"begin":"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.metadata.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.structure.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.structure.svg.$2.html"},{"begin":"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.structure.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.inline.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.inline.svg.$2.html"},{"begin":"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.inline.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.object.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.object.svg.$2.html"},{"begin":"(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.object.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#attribute"}]},"5":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.other.svg.$2.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.other.svg.$2.html"},{"begin":"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.other.svg.$2.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"captures":{"0":{"name":"meta.tag.other.invalid.void.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"match":"(?i)(<)(([:\\\\w]+))(?=\\\\s|/?>)(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(/>)","name":"meta.element.other.invalid.html"},{"begin":"(?i)(<)((\\\\w[^>\\\\s]*))(?=\\\\s|/?>)(?:(([^\\"'>]|\\"[^\\"]*\\"|'[^']*')*)(>))?","beginCaptures":{"0":{"name":"meta.tag.other.invalid.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.unrecognized-tag.html"},"4":{"patterns":[{"include":"#attribute"}]},"6":{"name":"punctuation.definition.tag.end.html"}},"end":"(?i)()|(/>)|(?=)\\\\G","end":"(?=/>)|>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.invalid.start.html","patterns":[{"include":"#attribute"}]},{"include":"#tags"}]},{"include":"#tags-invalid"}]}}},"tags-invalid":{"patterns":[{"begin":"(\\\\s]*))(?)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.$2.html","patterns":[{"include":"#attribute"}]}]},"tags-valid":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=<(?i:style)\\\\b(?!-))","beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"end":"(?!\\\\G)([\\\\t ]*$\\\\n?)?","endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}},"patterns":[{"begin":"(?i)(<)(style)(?=\\\\s|/?>)","beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(?i)((<)/)(style)\\\\s*(>)","endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\\\G","captures":{"1":{"name":"punctuation.definition.tag.end.html"}},"end":"(>)","name":"meta.tag.metadata.style.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"\\\\G","end":"(?=/)","patterns":[{"begin":"(>)","beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}},"patterns":[{"begin":"\\\\G","end":"(?=|type(?=[=\\\\s])(?!\\\\s*=\\\\s*(''|\\"\\"|([\\"']?)(text/(javascript(1\\\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application/((?:(x-)?jav|(x-)?ecm)ascript)|module)[\\"'>\\\\s]))))","name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i:(?=type\\\\s*=\\\\s*([\\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\"'>\\\\s]))","end":"((<))(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}},"patterns":[{"begin":"\\\\G","end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.script.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?!\\\\G)","end":"(?=)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(noscript|title)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(col|hr|input)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(area|br|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(embed|img|param|source|track)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((basefont|isindex))(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.metadata.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((center|frameset|noembed|noframes))(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((frame))(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.void.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((applet))(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.deprecated.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.object.$2.end.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.no-longer-supported.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.$2.start.html","patterns":[{"include":"#attribute"}]},{"begin":"(?i)()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"invalid.illegal.no-longer-supported.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.$2.end.html","patterns":[{"include":"#attribute"}]},{"include":"#math"},{"include":"#svg"},{"begin":"(<)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\x{EFFFF}]*)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.custom.start.html","patterns":[{"include":"#attribute"}]},{"begin":"()","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.custom.end.html","patterns":[{"include":"#attribute"}]}]},"xml-processing":{"begin":"(<\\\\?)(xml)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"end":"(\\\\?>)","name":"meta.tag.metadata.processing.xml.html","patterns":[{"include":"#attribute"}]}},"scopeName":"text.html.basic","embeddedLangs":["javascript","css"]}`, + ), + ), + r = [...t, ...e, n] +export { r as default } +//# sourceMappingURL=chunk-CXhxxCfG.js.map diff --git a/src/webview-ui/build/assets/chunk-CXhxxCfG.js.map b/src/webview-ui/build/assets/chunk-CXhxxCfG.js.map new file mode 100644 index 0000000000..9a40b87e75 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CXhxxCfG.js.map @@ -0,0 +1,21 @@ +{ + "version": 3, + "file": "chunk-CXhxxCfG.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/html.mjs" + ], + "sourcesContent": [ + "import javascript from './javascript.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTML\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#tags-invalid\\\"},{\\\"include\\\":\\\"#entities\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"style(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.style.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.event-handler.$1.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"(data-[-a-z]+)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.data-x.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"(align|bgcolor|border)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.deprecated.entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"attribute-interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},\\\"cdata\\\":{\\\"begin\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.cdata.html\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\")|(?=-->))\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"}]},\\\"core-minus-invalid\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"doctype\\\":{\\\"begin\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?i:DOCTYPE)\\\",\\\"name\\\":\\\"entity.name.tag.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.html\\\"},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.html\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.html\\\"}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(math)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u([bp]scriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.object.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([:\\\\\\\\w]+))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^>\\\\\\\\s]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(svg)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em([hv])|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y([12]|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS((?:cript|tyle)Type)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget([XY])?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At([XYZ]))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-([xy])|adv-y)))|alues)|k([123]|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f([XY]|errerPolicy)|l)|adius|x)?|g([12]|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x([12]|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk((?:Content|)Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([:\\\\\\\\w]+))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^>\\\\\\\\s]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)()|(/>)|(?=)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"tags-invalid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\s]*))(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"tags-valid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=<(?i:style)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([\\\\\\\\t ]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(style)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(?i)((<)/)(style)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.css-ignored-vscode\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.js-ignored-vscode\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=|type(?=[=\\\\\\\\s])(?!\\\\\\\\s*=\\\\\\\\s*(''|\\\\\\\"\\\\\\\"|([\\\\\\\"']?)(text/(javascript(1\\\\\\\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application/((?:(x-)?jav|(x-)?ecm)ascript)|module)[\\\\\\\"'>\\\\\\\\s]))))\\\",\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i:(?=type\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\\\\\\"'>\\\\\\\\s]))\\\",\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"text.html.basic\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(col|hr|input)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(area|br|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(embed|img|param|source|track)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((basefont|isindex))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((frame))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#svg\\\"},{\\\"begin\\\":\\\"(<)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"xml-processing\\\":{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.metadata.processing.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}},\\\"scopeName\\\":\\\"text.html.basic\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"css\\\"]}\"))\n\nexport default [\n...javascript,\n...css,\nlang\n]\n" + ], + "names": [ + "lang", + "html", + "javascript", + "css" + ], + "mappings": "sEAGA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,gjvDAA8m4D,CAAC,EAEto4DC,EAAA,CACf,GAAGC,EACH,GAAGC,EACHH,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CXtECtnM.js b/src/webview-ui/build/assets/chunk-CXtECtnM.js new file mode 100644 index 0000000000..f500b53d9d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CXtECtnM.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"PostCSS","fileTypes":["pcss","postcss"],"foldingStartMarker":"/\\\\*|^#|^\\\\*|^\\\\b|^\\\\.","foldingStopMarker":"\\\\*/|^\\\\s*$","name":"postcss","patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.postcss","patterns":[{"include":"#comment-tag"}]},{"include":"#double-slash"},{"include":"#double-quoted"},{"include":"#single-quoted"},{"include":"#interpolation"},{"include":"#placeholder-selector"},{"include":"#variable"},{"include":"#variable-root-css"},{"include":"#numeric"},{"include":"#unit"},{"include":"#flag"},{"include":"#dotdotdot"},{"begin":"@include","captures":{"0":{"name":"keyword.control.at-rule.css.postcss"}},"end":"(?=[\\\\n(;{])","name":"support.function.name.postcss.library"},{"begin":"@(?:mixin|function)","captures":{"0":{"name":"keyword.control.at-rule.css.postcss"}},"end":"$\\\\n?|(?=[({])","name":"support.function.name.postcss.no-completions","patterns":[{"match":"[-\\\\w]+","name":"entity.name.function"}]},{"match":"(?<=@import)\\\\s[-*./\\\\w]+","name":"string.quoted.double.css.postcss"},{"begin":"@","end":"$\\\\n?|\\\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)([,\\\\s]))|(?=;)","name":"keyword.control.at-rule.css.postcss"},{"begin":"#","end":"$\\\\n?|(?=[(),.;>\\\\[{\\\\s])","name":"entity.other.attribute-name.id.css.postcss","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"\\\\.|(?<=&)([-_])","end":"$\\\\n?|(?=[(),;>\\\\[{\\\\s])","name":"entity.other.attribute-name.class.css.postcss","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"\\\\[","end":"]","name":"entity.other.attribute-selector.postcss","patterns":[{"include":"#double-quoted"},{"include":"#single-quoted"},{"match":"[$*^~]","name":"keyword.other.regex.postcss"}]},{"match":"(?<=[])]|not\\\\(|[*>]|>\\\\s):[-:a-z]+|(:[-:])[-:a-z]+","name":"entity.other.attribute-name.pseudo-class.css.postcss"},{"begin":":","end":"$\\\\n?|(?=;|\\\\s\\\\(|and\\\\(|[{}]|\\\\),)","name":"meta.property-list.css.postcss","patterns":[{"include":"#double-slash"},{"include":"#double-quoted"},{"include":"#single-quoted"},{"include":"#interpolation"},{"include":"#variable"},{"include":"#rgb-value"},{"include":"#numeric"},{"include":"#unit"},{"include":"#flag"},{"include":"#function"},{"include":"#function-content"},{"include":"#function-content-var"},{"include":"#operator"},{"include":"#parent-selector"},{"include":"#property-value"}]},{"include":"#rgb-value"},{"include":"#function"},{"include":"#function-content"},{"begin":"(?\\\\[_{\\\\s])","name":"entity.name.tag.css.postcss.symbol","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"include":"#operator"},{"match":"[-a-z]+((?=:|#\\\\{))","name":"support.type.property-name.css.postcss"},{"include":"#reserved-words"},{"include":"#property-value"}],"repository":{"comment-tag":{"begin":"\\\\{\\\\{","end":"}}","name":"comment.tags.postcss","patterns":[{"match":"[-\\\\w]+","name":"comment.tag.postcss"}]},"dotdotdot":{"match":"\\\\.{3}","name":"variable.other"},"double-quoted":{"begin":"\\"","end":"\\"","name":"string.quoted.double.css.postcss","patterns":[{"include":"#quoted-interpolation"}]},"double-slash":{"begin":"//","end":"$","name":"comment.line.postcss","patterns":[{"include":"#comment-tag"}]},"flag":{"match":"!(important|default|optional|global)","name":"keyword.other.important.css.postcss"},"function":{"match":"(?<=[(,:|\\\\s])(?!url|format|attr)[-\\\\w][-\\\\w]*(?=\\\\()","name":"support.function.name.postcss"},"function-content":{"match":"(?<=url\\\\(|format\\\\(|attr\\\\().+?(?=\\\\))","name":"string.quoted.double.css.postcss"},"function-content-var":{"match":"(?<=var\\\\()[-\\\\w]+(?=\\\\))","name":"variable.parameter.postcss"},"interpolation":{"begin":"#\\\\{","end":"}","name":"support.function.interpolation.postcss","patterns":[{"include":"#variable"},{"include":"#numeric"},{"include":"#operator"},{"include":"#unit"},{"include":"#double-quoted"},{"include":"#single-quoted"}]},"numeric":{"match":"([-.])?[0-9]+(\\\\.[0-9]+)?","name":"constant.numeric.css.postcss"},"operator":{"match":"\\\\+|\\\\s-\\\\s|\\\\s-(?=\\\\$)|(?<=\\\\()-(?=\\\\$)|\\\\s-(?=\\\\()|[!%*/<=>~]","name":"keyword.operator.postcss"},"parent-selector":{"match":"&","name":"entity.name.tag.css.postcss"},"placeholder-selector":{"begin":"(?\\\\\\\\[{\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\.|(?<=&)([-_])\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),;>\\\\\\\\[{\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"entity.other.attribute-selector.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"match\\\":\\\"[$*^~]\\\",\\\"name\\\":\\\"keyword.other.regex.postcss\\\"}]},{\\\"match\\\":\\\"(?<=[])]|not\\\\\\\\(|[*>]|>\\\\\\\\s):[-:a-z]+|(:[-:])[-:a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css.postcss\\\"},{\\\"begin\\\":\\\":\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=;|\\\\\\\\s\\\\\\\\(|and\\\\\\\\(|[{}]|\\\\\\\\),)\\\",\\\"name\\\":\\\"meta.property-list.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"include\\\":\\\"#function-content-var\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#parent-selector\\\"},{\\\"include\\\":\\\"#property-value\\\"}]},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"begin\\\":\\\"(?\\\\\\\\[_{\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.tag.css.postcss.symbol\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"include\\\":\\\"#operator\\\"},{\\\"match\\\":\\\"[-a-z]+((?=:|#\\\\\\\\{))\\\",\\\"name\\\":\\\"support.type.property-name.css.postcss\\\"},{\\\"include\\\":\\\"#reserved-words\\\"},{\\\"include\\\":\\\"#property-value\\\"}],\\\"repository\\\":{\\\"comment-tag\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"end\\\":\\\"}}\\\",\\\"name\\\":\\\"comment.tags.postcss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"comment.tag.postcss\\\"}]},\\\"dotdotdot\\\":{\\\"match\\\":\\\"\\\\\\\\.{3}\\\",\\\"name\\\":\\\"variable.other\\\"},\\\"double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted-interpolation\\\"}]},\\\"double-slash\\\":{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-tag\\\"}]},\\\"flag\\\":{\\\"match\\\":\\\"!(important|default|optional|global)\\\",\\\"name\\\":\\\"keyword.other.important.css.postcss\\\"},\\\"function\\\":{\\\"match\\\":\\\"(?<=[(,:|\\\\\\\\s])(?!url|format|attr)[-\\\\\\\\w][-\\\\\\\\w]*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.name.postcss\\\"},\\\"function-content\\\":{\\\"match\\\":\\\"(?<=url\\\\\\\\(|format\\\\\\\\(|attr\\\\\\\\().+?(?=\\\\\\\\))\\\",\\\"name\\\":\\\"string.quoted.double.css.postcss\\\"},\\\"function-content-var\\\":{\\\"match\\\":\\\"(?<=var\\\\\\\\()[-\\\\\\\\w]+(?=\\\\\\\\))\\\",\\\"name\\\":\\\"variable.parameter.postcss\\\"},\\\"interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"support.function.interpolation.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"}]},\\\"numeric\\\":{\\\"match\\\":\\\"([-.])?[0-9]+(\\\\\\\\.[0-9]+)?\\\",\\\"name\\\":\\\"constant.numeric.css.postcss\\\"},\\\"operator\\\":{\\\"match\\\":\\\"\\\\\\\\+|\\\\\\\\s-\\\\\\\\s|\\\\\\\\s-(?=\\\\\\\\$)|(?<=\\\\\\\\()-(?=\\\\\\\\$)|\\\\\\\\s-(?=\\\\\\\\()|[!%*/<=>~]\\\",\\\"name\\\":\\\"keyword.operator.postcss\\\"},\\\"parent-selector\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.css.postcss\\\"},\\\"placeholder-selector\\\":{\\\"begin\\\":\\\"(?.*)","beginCaptures":{"1":{"name":"entity.name.function.dcg.prolog"},"2":{"name":"punctuation.definition.parameters.begin"}},"end":"((\\\\)?))\\\\s*(-->)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end"},"3":{"name":"keyword.control.dcg.bodybegin.prolog"}},"name":"meta.dcg.head.prolog","patterns":[{"include":"#atom"},{"include":"#variable"},{"include":"#constants"}]},{"begin":"(?<=-->)\\\\s*","end":"(\\\\.)","endCaptures":{"1":{"name":"keyword.control.dcg.bodyend.prolog"}},"name":"meta.dcg.body.prolog","patterns":[{"include":"#comments"},{"include":"#controlandkeywords"},{"include":"#atom"},{"include":"#variable"},{"include":"#constants"},{"match":".","name":"meta.dcg.body.prolog"}]},{"begin":"^\\\\s*([A-Za-z][0-9A-Z_a-z]*)(\\\\(?)(?!.*(:-|-->).*)","beginCaptures":{"1":{"name":"entity.name.function.fact.prolog"},"2":{"name":"punctuation.definition.parameters.begin"}},"end":"((\\\\)?))\\\\s*(\\\\.)(?!\\\\d+)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end"},"3":{"name":"keyword.control.fact.end.prolog"}},"name":"meta.fact.prolog","patterns":[{"include":"#comments"},{"include":"#atom"},{"include":"#variable"},{"include":"#constants"}]}],"repository":{"atom":{"patterns":[{"match":"(?)","beginCaptures":{"1":{"name":"keyword.control.if.prolog"}},"end":"(;)","endCaptures":{"1":{"name":"keyword.control.else.prolog"}},"name":"meta.if.prolog","patterns":[{"include":"$self"},{"include":"#builtin"},{"include":"#comments"},{"include":"#atom"},{"include":"#variable"},{"match":".","name":"meta.if.body.prolog"}]},{"match":"!","name":"keyword.control.cut.prolog"},{"match":"(\\\\s(is)\\\\s)|=:=|=\\\\.\\\\.|=?\\\\\\\\?=|\\\\\\\\\\\\+|@?>|@?=?<|[-*+]","name":"keyword.operator.prolog"}]},"variable":{"patterns":[{"match":"(?.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.dcg.prolog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin\\\"}},\\\"end\\\":\\\"((\\\\\\\\)?))\\\\\\\\s*(-->)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.dcg.bodybegin.prolog\\\"}},\\\"name\\\":\\\"meta.dcg.head.prolog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#atom\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#constants\\\"}]},{\\\"begin\\\":\\\"(?<=-->)\\\\\\\\s*\\\",\\\"end\\\":\\\"(\\\\\\\\.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.dcg.bodyend.prolog\\\"}},\\\"name\\\":\\\"meta.dcg.body.prolog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#controlandkeywords\\\"},{\\\"include\\\":\\\"#atom\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"meta.dcg.body.prolog\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*([A-Za-z][0-9A-Z_a-z]*)(\\\\\\\\(?)(?!.*(:-|-->).*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.fact.prolog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin\\\"}},\\\"end\\\":\\\"((\\\\\\\\)?))\\\\\\\\s*(\\\\\\\\.)(?!\\\\\\\\d+)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.fact.end.prolog\\\"}},\\\"name\\\":\\\"meta.fact.prolog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#atom\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#constants\\\"}]}],\\\"repository\\\":{\\\"atom\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if.prolog\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.else.prolog\\\"}},\\\"name\\\":\\\"meta.if.prolog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#builtin\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#atom\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"meta.if.body.prolog\\\"}]},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.control.cut.prolog\\\"},{\\\"match\\\":\\\"(\\\\\\\\s(is)\\\\\\\\s)|=:=|=\\\\\\\\.\\\\\\\\.|=?\\\\\\\\\\\\\\\\?=|\\\\\\\\\\\\\\\\\\\\\\\\+|@?>|@?=?<|[-*+]\\\",\\\"name\\\":\\\"keyword.operator.prolog\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.admonition.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(={4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},{"begin":"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\p{blank}+","captures":{"1":{"name":"entity.name.function.asciidoc"}},"end":"^\\\\p{blank}*$","name":"markup.admonition.asciidoc","patterns":[{"include":"#inlines"}]}]},"anchor-macro":{"patterns":[{"captures":{"1":{"name":"support.constant.asciidoc"},"2":{"name":"markup.blockid.asciidoc"},"3":{"name":"string.unquoted.asciidoc"},"4":{"name":"support.constant.asciidoc"}},"match":"(?)(?=(?: ?)*$)","name":"callout.source.code.asciidoc"}]},"block-title":{"patterns":[{"begin":"^\\\\.([^.[:blank:]].*)","captures":{"1":{"name":"markup.heading.blocktitle.asciidoc"}},"end":"$"}]},"blocks":{"patterns":[{"include":"#front-matter-block"},{"include":"#comment-paragraph"},{"include":"#admonition-paragraph"},{"include":"#quote-paragraph"},{"include":"#listing-paragraph"},{"include":"#source-paragraphs"},{"include":"#passthrough-paragraph"},{"include":"#example-paragraph"},{"include":"#sidebar-paragraph"},{"include":"#literal-paragraph"},{"include":"#open-block"}]},"callout-list-item":{"patterns":[{"captures":{"1":{"name":"constant.other.symbol.asciidoc"},"2":{"name":"constant.numeric.asciidoc"},"3":{"name":"constant.other.symbol.asciidoc"},"4":{"patterns":[{"include":"#inlines"}]}},"match":"^(<)(\\\\d+)(>)\\\\p{blank}+(.*)$","name":"callout.asciidoc"}]},"characters":{"patterns":[{"captures":{"1":{"name":"constant.character.asciidoc"},"3":{"name":"constant.character.asciidoc"}},"match":"(?^\\\\[(comment)([#%,.][^]]+)*]$))","end":"((?<=--)|^\\\\p{blank}*)$","name":"comment.block.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(comment)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"include":"#inlines"}]}]},"emphasis":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.italic.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?^\\\\[(example)([#%,.][^]]+)*]$))","end":"((?<=--|====)|^\\\\p{blank}*)$","name":"markup.block.example.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(example)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(={4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(={4,})$","end":"^(\\\\1)$","name":"markup.block.example.asciidoc","patterns":[{"include":"$self"}]}]},"footnote-macro":{"patterns":[{"begin":"(?\\\\[\\\\s])((?\\\\[[:blank:]])((?^\\\\[(listing)([#%,.][^]]+)*]$))","end":"((?<=--)|^\\\\p{blank}*)$","name":"markup.block.listing.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(listing)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]}]},"literal-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(literal)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.block.literal.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(literal)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$"},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$"},{"include":"#inlines"}]},{"begin":"^(\\\\.{4,})$","end":"^(\\\\1)$","name":"markup.block.literal.asciidoc"}]},"mark":{"patterns":[{"captures":{"1":{"name":"markup.meta.attribute-list.asciidoc"},"2":{"name":"markup.mark.asciidoc"},"3":{"name":"punctuation.definition.asciidoc"},"5":{"name":"punctuation.definition.asciidoc"}},"match":"(?\\\\+{2,3}|\\\\${2})(.*?)(\\\\k)","name":"markup.macro.inline.passthrough.asciidoc"},{"begin":"(?^\\\\[(pass)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\+\\\\+)|^\\\\p{blank}*)$","name":"markup.block.passthrough.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(pass)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\+{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"text.html.basic"}]}]},{"begin":"^(\\\\+{4,})$","end":"\\\\1","name":"markup.block.passthrough.asciidoc","patterns":[{"include":"text.html.basic"}]}]},"quote-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(quote|verse)([#%,.]([^],]+))*]$))","end":"((?<=____|\\"\\"|--)|^\\\\p{blank}*)$","name":"markup.italic.quotes.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(quote|verse)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"include":"#inlines"},{"begin":"^(_{4,})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(\\"{2})\\\\s*$","end":"(?<=\\\\1)","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^(-{2})\\\\s*$","end":"(?<=\\\\1)$","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},{"begin":"^(\\"\\")$","end":"^\\\\1$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]},{"begin":"^\\\\p{blank}*(>) ","end":"^\\\\p{blank}*?$","name":"markup.italic.quotes.asciidoc","patterns":[{"include":"#inlines"},{"include":"#list"}]}]},"sidebar-paragraph":{"patterns":[{"begin":"(?=(?>^\\\\[(sidebar)([#%,.][^]]+)*]$))","end":"((?<=--|\\\\*\\\\*\\\\*\\\\*)|^\\\\p{blank}*)$","name":"markup.block.sidebar.asciidoc","patterns":[{"captures":{"0":{"patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(sidebar)([#%,.]([^],]+))*]$"},{"include":"#block-title"},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"begin":"^(-{2})$","end":"^(\\\\1)$","patterns":[{"include":"$self"}]},{"include":"#inlines"}]},{"begin":"^(\\\\*{4,})$","end":"^(\\\\1)$","name":"markup.block.sidebar.asciidoc","patterns":[{"include":"$self"}]}]},"source-asciidoctor":{"patterns":[{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(c))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.c.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(c))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.c","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.c"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.c","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.c"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.c","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.c"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(clojure))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.clojure.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(clojure))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.clojure","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.clojure"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.clojure","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.clojure"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.clojure","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.clojure"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(coffee-?(script)?))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.coffee.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(coffee-?(script)?))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.coffee","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.coffee"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.coffee","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.coffee"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.coffee","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.coffee"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(c(pp|\\\\+\\\\+)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.cpp.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(c(pp|\\\\+\\\\+)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.cpp","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.cpp"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.cpp","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.cpp"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.cpp","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.cpp"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(css))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(css))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.css","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.css","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.css","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(cs(harp)?))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.cs.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(cs(harp)?))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.cs","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.cs"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.cs","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.cs"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.cs","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.cs"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(diff|patch|rej))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.diff.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(diff|patch|rej))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.diff","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.diff"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.diff","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.diff"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.diff","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.diff"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(docker(file)?))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.dockerfile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(docker(file)?))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.dockerfile","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.dockerfile"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.dockerfile","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.dockerfile"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.dockerfile","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.dockerfile"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(elixir))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.elixir.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(elixir))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.elixir","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.elixir"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.elixir","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.elixir"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.elixir","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.elixir"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(elm))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.elm.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(elm))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.elm","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.elm"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.elm","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.elm"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.elm","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.elm"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(erlang))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.erlang.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(erlang))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.erlang","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.erlang"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.erlang","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.erlang"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.erlang","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.erlang"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(go(lang)?))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.go.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(go(lang)?))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.go","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.go"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.go","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.go"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.go","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.go"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(groovy))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.groovy.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(groovy))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.groovy","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.groovy"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.groovy","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.groovy"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.groovy","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.groovy"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(haskell))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.haskell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(haskell))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.haskell","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.haskell"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.haskell","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.haskell"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.haskell","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.haskell"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(html))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.html.basic.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(html))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"text.embedded.html.basic","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.basic"}]},{"begin":"^(-{2})\\\\s*$","contentName":"text.embedded.html.basic","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.basic"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"text.embedded.html.basic","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.basic"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(java))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.java.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(java))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.java","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.java"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.java","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.java"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.java","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.java"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(j(?:avascript|s)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(j(?:avascript|s)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.js","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.js"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.js","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.js"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.js","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.js"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(json))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.json.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(json))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.json","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.json"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.json","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.json"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.json","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.json"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(jsx))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.js.jsx.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(jsx))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.js.jsx","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.js.jsx"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.js.jsx","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.js.jsx"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.js.jsx","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.js.jsx"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(julia))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.julia.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(julia))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.julia","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.julia"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.julia","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.julia"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.julia","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.julia"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(k(?:otlin|ts?)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.kotlin.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(k(?:otlin|ts?)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.kotlin","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.kotlin"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.kotlin","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.kotlin"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.kotlin","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.kotlin"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(less))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.less.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(less))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.css.less","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css.less"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.css.less","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css.less"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.css.less","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css.less"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(make(file)?))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.makefile.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(make(file)?))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.makefile","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.makefile"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.makefile","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.makefile"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.makefile","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.makefile"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(m(?:arkdown|down|d)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.gfm.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(m(?:arkdown|down|d)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.gfm","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.gfm"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.gfm","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.gfm"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.gfm","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.gfm"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(mustache))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.html.mustache.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(mustache))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"text.embedded.html.mustache","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.mustache"}]},{"begin":"^(-{2})\\\\s*$","contentName":"text.embedded.html.mustache","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.mustache"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"text.embedded.html.mustache","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.mustache"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(obj(?:c|ective-c)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.objc.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(obj(?:c|ective-c)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.objc","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.objc"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.objc","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.objc"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.objc","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.objc"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(ocaml))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ocaml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(ocaml))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.ocaml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ocaml"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.ocaml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ocaml"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.ocaml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ocaml"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(perl))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(perl))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.perl","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.perl"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.perl","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.perl"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.perl","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.perl"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(perl6))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.perl6.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(perl6))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.perl6","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.perl6"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.perl6","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.perl6"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.perl6","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.perl6"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(php))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.html.php.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(php))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"text.embedded.html.php","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.php"}]},{"begin":"^(-{2})\\\\s*$","contentName":"text.embedded.html.php","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.php"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"text.embedded.html.php","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.html.php"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(properties))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.asciidoc.properties.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(properties))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.asciidoc.properties","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.asciidoc.properties"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.asciidoc.properties","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.asciidoc.properties"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.asciidoc.properties","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.asciidoc.properties"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(py(thon)?))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.python.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(py(thon)?))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.python","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.python"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.python","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.python"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.python","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.python"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(r))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.r.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(r))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.r","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.r"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.r","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.r"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.r","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.r"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(r(?:uby|b)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ruby.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(r(?:uby|b)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.ruby","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ruby"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.ruby","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ruby"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.ruby","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ruby"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(r(?:ust|s)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.rust.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(r(?:ust|s)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.rust","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.rust"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.rust","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.rust"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.rust","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.rust"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(sass))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.sass.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(sass))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.sass","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.sass"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.sass","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.sass"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.sass","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.sass"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(scala))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.scala.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(scala))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.scala","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.scala"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.scala","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.scala"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.scala","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.scala"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(scss))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.css.scss.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(scss))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.css.scss","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css.scss"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.css.scss","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css.scss"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.css.scss","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.css.scss"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(sh|bash|shell))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.shell.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(sh|bash|shell))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.shell","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.shell"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.shell","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.shell"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.shell","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.shell"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(sql))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.sql.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(sql))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.sql","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.sql"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.sql","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.sql"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.sql","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.sql"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(swift))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.swift.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(swift))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.swift","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.swift"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.swift","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.swift"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.swift","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.swift"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(toml))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.toml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(toml))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.toml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.toml"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.toml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.toml"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.toml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.toml"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(t(?:ypescript|s)))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.ts.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(t(?:ypescript|s)))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.ts","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ts"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.ts","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ts"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.ts","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.ts"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(xml))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.xml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(xml))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"text.embedded.xml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.xml"}]},{"begin":"^(-{2})\\\\s*$","contentName":"text.embedded.xml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.xml"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"text.embedded.xml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"text.xml"}]}]},{"begin":"(?=(?>^\\\\[(source)[#,]\\\\p{blank}*(?i:(ya?ml))([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","name":"markup.code.yaml.asciidoc","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)[#,]\\\\p{blank}*(?i:(ya?ml))([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","contentName":"source.embedded.yaml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.yaml"}]},{"begin":"^(-{2})\\\\s*$","contentName":"source.embedded.yaml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.yaml"}]},{"begin":"^(\\\\.{4})\\\\s*$","contentName":"source.embedded.yaml","end":"^(\\\\1)$","patterns":[{"include":"#block-callout"},{"include":"#include-directive"},{"include":"source.yaml"}]}]},{"begin":"(?=(?>^\\\\[(source)([#,][^]]+)*]$))","end":"((?<=--|\\\\.\\\\.\\\\.\\\\.)|^\\\\p{blank}*)$","patterns":[{"captures":{"0":{"name":"markup.heading.asciidoc","patterns":[{"include":"#block-attribute-inner"}]}},"match":"^\\\\[(source)([#,]([^],]+))*]$"},{"include":"#inlines"},{"include":"#block-title"},{"begin":"^(-{4,})\\\\s*$","end":"^(\\\\1)$","name":"markup.raw.asciidoc","patterns":[{"include":"#block-callout"},{"include":"#include-directive"}]},{"begin":"^(-{2})\\\\s*$","end":"^(\\\\1)$","name":"markup.raw.asciidoc","patterns":[{"include":"#block-callout"},{"include":"#include-directive"}]},{"begin":"^(\\\\.{4})\\\\s*$","end":"^(\\\\1)$","name":"markup.raw.asciidoc","patterns":[{"include":"#block-callout"},{"include":"#include-directive"}]}]},{"begin":"^(-{4,})\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"end":"^(\\\\1)$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.raw.asciidoc","patterns":[{"include":"#block-callout"},{"include":"#include-directive"}]}]},"source-markdown":{"patterns":[{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(c))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.c","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.c.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.c"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(clojure))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.clojure","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.clojure.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.clojure"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(coffee-?(script)?))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.coffee","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.coffee.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.coffee"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(c(pp|\\\\+\\\\+)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.cpp","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.cpp.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.cpp"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(css))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.css","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.css.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.css"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(cs(harp)?))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.cs","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.cs.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.cs"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(diff|patch|rej))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.diff","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.diff.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.diff"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(docker(file)?))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.dockerfile","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.dockerfile.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.dockerfile"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(elixir))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.elixir","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.elixir.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.elixir"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(elm))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.elm","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.elm.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.elm"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(erlang))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.erlang","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.erlang.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.erlang"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(go(lang)?))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.go","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.go.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.go"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(groovy))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.groovy","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.groovy.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.groovy"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(haskell))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.haskell","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.haskell.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.haskell"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(html))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"text.embedded.html.basic","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.html.basic.asciidoc","patterns":[{"include":"#block-callout"},{"include":"text.html.basic"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(java))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.java","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.java.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.java"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(j(?:avascript|s)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.js","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.js.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.js"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(json))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.json","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.json.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.json"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(jsx))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.js.jsx","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.js.jsx.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.js.jsx"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(julia))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.julia","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.julia.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.julia"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(k(?:otlin|ts?)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.kotlin","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.kotlin.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.kotlin"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(less))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.css.less","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.css.less.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.css.less"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(make(file)?))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.makefile","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.makefile.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.makefile"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(m(?:arkdown|down|d)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.gfm","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.gfm.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.gfm"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(mustache))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"text.embedded.html.mustache","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.html.mustache.asciidoc","patterns":[{"include":"#block-callout"},{"include":"text.html.mustache"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(obj(?:c|ective-c)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.objc","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.objc.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.objc"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(ocaml))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.ocaml","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.ocaml.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.ocaml"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(perl))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.perl","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.perl.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.perl"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(perl6))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.perl6","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.perl6.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.perl6"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(php))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"text.embedded.html.php","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.html.php.asciidoc","patterns":[{"include":"#block-callout"},{"include":"text.html.php"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(properties))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.asciidoc.properties","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.asciidoc.properties.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.asciidoc.properties"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(py(thon)?))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.python","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.python.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.python"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(r))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.r","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.r.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.r"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(r(?:uby|b)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.ruby","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.ruby.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.ruby"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(r(?:ust|s)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.rust","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.rust.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.rust"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(sass))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.sass","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.sass.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.sass"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(scala))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.scala","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.scala.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.scala"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(scss))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.css.scss","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.css.scss.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.css.scss"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(sh|bash|shell))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.shell","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.shell.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.shell"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(sql))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.sql","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.sql.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.sql"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(swift))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.swift","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.swift.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.swift"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(toml))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.toml","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.toml.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.toml"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(t(?:ypescript|s)))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.ts","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.ts.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.ts"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(xml))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"text.embedded.xml","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.xml.asciidoc","patterns":[{"include":"#block-callout"},{"include":"text.xml"}]},{"begin":"^\\\\s*(`{3,})\\\\s*(?i:(ya?ml))\\\\s*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"contentName":"source.embedded.yaml","end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.code.yaml.asciidoc","patterns":[{"include":"#block-callout"},{"include":"source.yaml"}]},{"begin":"^\\\\s*(`{3,}).*$","beginCaptures":{"0":{"name":"support.asciidoc"}},"end":"^\\\\s*\\\\1\\\\s*$","endCaptures":{"0":{"name":"support.asciidoc"}},"name":"markup.raw.asciidoc","patterns":[{"include":"#block-callout"}]}]},"source-paragraphs":{"patterns":[{"include":"#source-asciidoctor"},{"include":"#source-markdown"}]},"stem-macro":{"patterns":[{"begin":"(?>)","name":"markup.reference.xref.asciidoc"},{"begin":"(?^\\\\\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|====)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.admonition.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(NOTE|TIP|IMPORTANT|WARNING|CAUTION)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(={4,})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]}]},{\\\"begin\\\":\\\"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\\\\\\\p{blank}+\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.asciidoc\\\"}},\\\"end\\\":\\\"^\\\\\\\\p{blank}*$\\\",\\\"name\\\":\\\"markup.admonition.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"}]}]},\\\"anchor-macro\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.asciidoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.blockid.asciidoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.asciidoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.asciidoc\\\"}},\\\"match\\\":\\\"(?)(?=(?: ?)*$)\\\",\\\"name\\\":\\\"callout.source.code.asciidoc\\\"}]},\\\"block-title\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\.([^.[:blank:]].*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.heading.blocktitle.asciidoc\\\"}},\\\"end\\\":\\\"$\\\"}]},\\\"blocks\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#front-matter-block\\\"},{\\\"include\\\":\\\"#comment-paragraph\\\"},{\\\"include\\\":\\\"#admonition-paragraph\\\"},{\\\"include\\\":\\\"#quote-paragraph\\\"},{\\\"include\\\":\\\"#listing-paragraph\\\"},{\\\"include\\\":\\\"#source-paragraphs\\\"},{\\\"include\\\":\\\"#passthrough-paragraph\\\"},{\\\"include\\\":\\\"#example-paragraph\\\"},{\\\"include\\\":\\\"#sidebar-paragraph\\\"},{\\\"include\\\":\\\"#literal-paragraph\\\"},{\\\"include\\\":\\\"#open-block\\\"}]},\\\"callout-list-item\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.symbol.asciidoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.asciidoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.other.symbol.asciidoc\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"}]}},\\\"match\\\":\\\"^(<)(\\\\\\\\d+)(>)\\\\\\\\p{blank}+(.*)$\\\",\\\"name\\\":\\\"callout.asciidoc\\\"}]},\\\"characters\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.asciidoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.asciidoc\\\"}},\\\"match\\\":\\\"(?^\\\\\\\\[(comment)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"comment.block.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(comment)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]},{\\\"include\\\":\\\"#inlines\\\"}]}]},\\\"emphasis\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.meta.attribute-list.asciidoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.asciidoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.asciidoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.asciidoc\\\"}},\\\"match\\\":\\\"(?^\\\\\\\\[(example)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|====)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.block.example.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(example)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(={4,})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(-{2})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#inlines\\\"}]},{\\\"begin\\\":\\\"^(={4,})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"name\\\":\\\"markup.block.example.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"footnote-macro\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?\\\\\\\\[\\\\\\\\s])((?\\\\\\\\[[:blank:]])((?^\\\\\\\\[(listing)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.block.listing.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(listing)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\"},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\"},{\\\"include\\\":\\\"#inlines\\\"}]}]},\\\"literal-paragraph\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(literal)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.block.literal.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(literal)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\.{4,})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\"},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\"},{\\\"include\\\":\\\"#inlines\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4,})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"name\\\":\\\"markup.block.literal.asciidoc\\\"}]},\\\"mark\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.meta.attribute-list.asciidoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.mark.asciidoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.asciidoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.asciidoc\\\"}},\\\"match\\\":\\\"(?\\\\\\\\+{2,3}|\\\\\\\\${2})(.*?)(\\\\\\\\k)\\\",\\\"name\\\":\\\"markup.macro.inline.passthrough.asciidoc\\\"},{\\\"begin\\\":\\\"(?^\\\\\\\\[(pass)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\+\\\\\\\\+)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.block.passthrough.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(pass)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\+{4,})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"^(\\\\\\\\+{4,})$\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"markup.block.passthrough.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},\\\"quote-paragraph\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(quote|verse)([#%,.]([^],]+))*]$))\\\",\\\"end\\\":\\\"((?<=____|\\\\\\\"\\\\\\\"|--)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.italic.quotes.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(quote|verse)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"begin\\\":\\\"^(_{4,})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\"{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"(?<=\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]}]},{\\\"begin\\\":\\\"^(\\\\\\\"\\\\\\\")$\\\",\\\"end\\\":\\\"^\\\\\\\\1$\\\",\\\"name\\\":\\\"markup.italic.quotes.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\p{blank}*(>) \\\",\\\"end\\\":\\\"^\\\\\\\\p{blank}*?$\\\",\\\"name\\\":\\\"markup.italic.quotes.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#list\\\"}]}]},\\\"sidebar-paragraph\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(sidebar)([#%,.][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\*\\\\\\\\*\\\\\\\\*\\\\\\\\*)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.block.sidebar.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(sidebar)([#%,.]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\*{4,})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(-{2})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#inlines\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\*{4,})$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"name\\\":\\\"markup.block.sidebar.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"source-asciidoctor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(c))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.c.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(c))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.c\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.c\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.c\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.c\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.c\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.c\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(clojure))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.clojure.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(clojure))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.clojure\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.clojure\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.clojure\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.clojure\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.clojure\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.clojure\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(coffee-?(script)?))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.coffee.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(coffee-?(script)?))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.coffee\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.coffee\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.coffee\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.coffee\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.coffee\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.coffee\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(c(pp|\\\\\\\\+\\\\\\\\+)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.cpp.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(c(pp|\\\\\\\\+\\\\\\\\+)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.cpp\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.cpp\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.cpp\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.cpp\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.cpp\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.cpp\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(css))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.css.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(css))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(cs(harp)?))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.cs.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(cs(harp)?))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.cs\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.cs\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.cs\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.cs\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.cs\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.cs\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(diff|patch|rej))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.diff.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(diff|patch|rej))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.diff\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.diff\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.diff\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.diff\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.diff\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.diff\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(docker(file)?))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.dockerfile.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(docker(file)?))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.dockerfile\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.dockerfile\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.dockerfile\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.dockerfile\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.dockerfile\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.dockerfile\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(elixir))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.elixir.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(elixir))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.elixir\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.elixir\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.elixir\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.elixir\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.elixir\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.elixir\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(elm))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.elm.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(elm))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.elm\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.elm\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.elm\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.elm\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.elm\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.elm\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(erlang))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.erlang.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(erlang))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.erlang\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.erlang\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.erlang\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.erlang\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.erlang\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.erlang\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(go(lang)?))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.go.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(go(lang)?))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.go\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.go\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.go\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.go\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(groovy))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.groovy.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(groovy))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.groovy\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.groovy\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.groovy\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.groovy\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.groovy\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.groovy\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(haskell))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.haskell.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(haskell))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.haskell\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.haskell\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.haskell\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.haskell\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.haskell\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.haskell\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(html))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.html.basic.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(html))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.basic\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.basic\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.basic\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(java))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.java.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(java))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.java\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.java\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.java\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.java\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.java\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.java\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(j(?:avascript|s)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.js.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(j(?:avascript|s)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.js\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.js\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.js\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(json))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.json.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(json))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.json\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.json\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.json\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.json\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(jsx))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.js.jsx.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(jsx))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.js.jsx\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.js.jsx\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.js.jsx\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.js.jsx\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.js.jsx\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.js.jsx\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(julia))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.julia.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(julia))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.julia\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.julia\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.julia\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.julia\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.julia\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.julia\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(k(?:otlin|ts?)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.kotlin.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(k(?:otlin|ts?)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.kotlin\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.kotlin\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.kotlin\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.kotlin\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.kotlin\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.kotlin\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(less))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.css.less.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(less))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css.less\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css.less\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css.less\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css.less\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css.less\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css.less\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(make(file)?))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.makefile.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(make(file)?))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.makefile\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.makefile\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.makefile\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.makefile\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.makefile\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.makefile\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(m(?:arkdown|down|d)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.gfm.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(m(?:arkdown|down|d)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.gfm\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.gfm\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.gfm\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.gfm\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.gfm\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.gfm\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(mustache))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.html.mustache.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(mustache))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.mustache\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.mustache\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.mustache\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.mustache\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.mustache\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.mustache\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(obj(?:c|ective-c)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.objc.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(obj(?:c|ective-c)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.objc\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.objc\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.objc\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.objc\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.objc\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.objc\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(ocaml))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.ocaml.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(ocaml))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ocaml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ocaml\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ocaml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ocaml\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ocaml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ocaml\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(perl))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.perl.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(perl))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.perl\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.perl\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.perl\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.perl\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.perl\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.perl\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(perl6))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.perl6.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(perl6))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.perl6\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.perl6\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.perl6\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.perl6\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.perl6\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.perl6\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(php))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.html.php.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(php))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.php\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.php\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.php\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.php\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.html.php\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.html.php\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(properties))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.asciidoc.properties.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(properties))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.asciidoc.properties\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.asciidoc.properties\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.asciidoc.properties\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.asciidoc.properties\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.asciidoc.properties\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.asciidoc.properties\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(py(thon)?))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.python.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(py(thon)?))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.python\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.python\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.python\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.python\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.python\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(r))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.r.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(r))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.r\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.r\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.r\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.r\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(r(?:uby|b)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.ruby.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(r(?:uby|b)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ruby\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ruby\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ruby\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(r(?:ust|s)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.rust.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(r(?:ust|s)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.rust\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.rust\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.rust\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.rust\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.rust\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.rust\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(sass))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.sass.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(sass))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.sass\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.sass\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.sass\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.sass\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(scala))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.scala.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(scala))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.scala\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.scala\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.scala\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.scala\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.scala\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.scala\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(scss))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.css.scss.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(scss))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css.scss\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css.scss\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.css.scss\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.css.scss\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(sh|bash|shell))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.shell.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(sh|bash|shell))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.shell\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.shell\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.shell\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.shell\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.shell\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.shell\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(sql))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.sql.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(sql))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.sql\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(swift))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.swift.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(swift))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.swift\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.swift\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.swift\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.swift\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.swift\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.swift\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(toml))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.toml.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(toml))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.toml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.toml\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.toml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.toml\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.toml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.toml\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(t(?:ypescript|s)))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.ts.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(t(?:ypescript|s)))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ts\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ts\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.ts\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(xml))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.xml.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(xml))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"text.embedded.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"text.xml\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(ya?ml))([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"name\\\":\\\"markup.code.yaml.asciidoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)[#,]\\\\\\\\p{blank}*(?i:(ya?ml))([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.yaml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.yaml\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.yaml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.yaml\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"source.embedded.yaml\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"},{\\\"include\\\":\\\"source.yaml\\\"}]}]},{\\\"begin\\\":\\\"(?=(?>^\\\\\\\\[(source)([#,][^]]+)*]$))\\\",\\\"end\\\":\\\"((?<=--|\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\.)|^\\\\\\\\p{blank}*)$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.heading.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-attribute-inner\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\[(source)([#,]([^],]+))*]$\\\"},{\\\"include\\\":\\\"#inlines\\\"},{\\\"include\\\":\\\"#block-title\\\"},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"name\\\":\\\"markup.raw.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"}]},{\\\"begin\\\":\\\"^(-{2})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"name\\\":\\\"markup.raw.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\.{4})\\\\\\\\s*$\\\",\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"name\\\":\\\"markup.raw.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"}]}]},{\\\"begin\\\":\\\"^(-{4,})\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"end\\\":\\\"^(\\\\\\\\1)$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.raw.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"#include-directive\\\"}]}]},\\\"source-markdown\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(c))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.c\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.c.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.c\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(clojure))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.clojure\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.clojure.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.clojure\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(coffee-?(script)?))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.coffee\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.coffee.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.coffee\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(c(pp|\\\\\\\\+\\\\\\\\+)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.cpp\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.cpp.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.cpp\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(css))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.css.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(cs(harp)?))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.cs\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.cs.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.cs\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(diff|patch|rej))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.diff\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.diff.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.diff\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(docker(file)?))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.dockerfile\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.dockerfile\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(elixir))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.elixir\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.elixir.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.elixir\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(elm))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.elm\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.elm.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.elm\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(erlang))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.erlang\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.erlang.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.erlang\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(go(lang)?))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.go\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.go.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.go\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(groovy))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.groovy\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.groovy.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.groovy\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(haskell))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.haskell\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.haskell.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.haskell\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(html))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"text.embedded.html.basic\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.html.basic.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(java))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.java\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.java.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.java\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(j(?:avascript|s)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.js.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(json))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.json\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.json.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(jsx))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.js.jsx\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.js.jsx.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.js.jsx\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(julia))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.julia\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.julia.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.julia\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(k(?:otlin|ts?)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.kotlin\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.kotlin.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.kotlin\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(less))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.css.less\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.css.less.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.css.less\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(make(file)?))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.makefile\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.makefile.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.makefile\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(m(?:arkdown|down|d)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.gfm\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.gfm.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.gfm\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(mustache))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"text.embedded.html.mustache\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.html.mustache.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"text.html.mustache\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(obj(?:c|ective-c)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.objc\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.objc.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.objc\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(ocaml))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.ocaml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.ocaml.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.ocaml\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(perl))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.perl\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.perl.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.perl\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(perl6))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.perl6\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.perl6.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.perl6\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(php))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"text.embedded.html.php\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.html.php.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"text.html.php\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(properties))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.asciidoc.properties\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.properties.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.asciidoc.properties\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(py(thon)?))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.python.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.python\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(r))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.r\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.r.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(r(?:uby|b)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.ruby\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.ruby.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(r(?:ust|s)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.rust\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.rust.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.rust\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(sass))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.sass\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.sass.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(scala))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.scala\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.scala.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.scala\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(scss))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.css.scss\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.css.scss.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(sh|bash|shell))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.shell\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.shell.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.shell\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(sql))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.sql\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.sql.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(swift))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.swift\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.swift.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.swift\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(toml))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.toml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.toml.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.toml\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(t(?:ypescript|s)))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.ts\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.ts.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(xml))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"text.embedded.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.xml.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,})\\\\\\\\s*(?i:(ya?ml))\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"contentName\\\":\\\"source.embedded.yaml\\\",\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.code.yaml.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"},{\\\"include\\\":\\\"source.yaml\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(`{3,}).*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\\1\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.asciidoc\\\"}},\\\"name\\\":\\\"markup.raw.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-callout\\\"}]}]},\\\"source-paragraphs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#source-asciidoctor\\\"},{\\\"include\\\":\\\"#source-markdown\\\"}]},\\\"stem-macro\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?>)\\\",\\\"name\\\":\\\"markup.reference.xref.asciidoc\\\"},{\\\"begin\\\":\\\"(???|:=|>=|[\\\\&/<>|]|(\\\\*{1,2}))","name":"keyword.operator.vhdl"}]},"loop_pattern":{"patterns":[{"begin":"^\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\s*(:)\\\\s*)?\\\\b((?i:loop))\\\\b","beginCaptures":{"2":{"name":"entity.name.tag.loop.begin.vhdl"},"3":{"name":"punctuation.vhdl"},"4":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end))\\\\s+(((?i:loop))|(\\\\S+))\\\\b(\\\\s+((\\\\2)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"keyword.language.vhdl"},"4":{"name":"invalid.illegal.loop.keyword.required.vhdl"},"7":{"name":"entity.name.tag.loop.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}},"patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}]}]},"package_body_pattern":{"patterns":[{"begin":"\\\\b((?i:package))\\\\s+((?i:body))\\\\s+(([A-Za-z][A-Z_a-z\\\\d]*)|(.+?))\\\\s+((?i:is))\\\\b","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"2":{"name":"keyword.language.vhdl"},"4":{"name":"entity.name.section.package_body.begin.vhdl"},"5":{"name":"invalid.illegal.invalid.identifier.vhdl"},"6":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end\\\\b))(\\\\s+((?i:package))\\\\s+((?i:body)))?(\\\\s+((\\\\4)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"keyword.language.vhdl"},"4":{"name":"keyword.language.vhdl"},"7":{"name":"entity.name.section.package_body.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}},"patterns":[{"include":"#protected_body_pattern"},{"include":"#function_definition_pattern"},{"include":"#procedure_definition_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}]}]},"package_pattern":{"patterns":[{"begin":"\\\\b((?i:package))\\\\s+(?!(?i:body))(([A-Za-z][A-Z_a-z\\\\d]*)|(.+?))\\\\s+((?i:is))\\\\b","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"entity.name.section.package.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end\\\\b))(\\\\s+((?i:package)))?(\\\\s+((\\\\2)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"keyword.language.vhdl"},"6":{"name":"entity.name.section.package.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}},"patterns":[{"include":"#protected_pattern"},{"include":"#function_prototype_pattern"},{"include":"#procedure_prototype_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#component_pattern"},{"include":"#cleanup"}]}]},"parenthetical_list":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.vhdl"}},"end":"(?<=\\\\))","patterns":[{"begin":"(?=[\\"'0-9A-Za-z])","end":"([),;])","endCaptures":{"0":{"name":"punctuation.vhdl"}},"name":"source.vhdl","patterns":[{"include":"#comments"},{"include":"#parenthetical_pair"},{"include":"#cleanup"}]},{"match":"\\\\)","name":"invalid.illegal.unexpected.parenthesis.vhdl"},{"include":"#cleanup"}]}]},"parenthetical_pair":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.vhdl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.vhdl"}},"patterns":[{"include":"#parenthetical_pair"},{"include":"#cleanup"}]}]},"port_list_pattern":{"patterns":[{"begin":"\\\\b(?i:port)\\\\b","beginCaptures":{"0":{"name":"keyword.language.vhdl"}},"end":"(?<=\\\\))\\\\s*;","endCaptures":{"0":{"name":"punctuation.vhdl"}},"patterns":[{"include":"#parenthetical_list"}]}]},"procedure_definition_pattern":{"patterns":[{"begin":"^\\\\s*((?i:procedure))\\\\s+(([A-Za-z][A-Z_a-z\\\\d]*)|(\\"\\\\S+\\")|(.+?))(?=\\\\s*(\\\\(|(?i:is)))","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"entity.name.function.procedure.begin.vhdl"},"4":{"name":"entity.name.function.procedure.begin.vhdl"},"5":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"end":"^\\\\s*((?i:end))(\\\\s+((?i:procedure)))?(\\\\s+((\\\\3|\\\\4)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"keyword.language.vhdl"},"6":{"name":"entity.name.function.procedure.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}},"patterns":[{"include":"#parenthetical_list"},{"include":"#control_patterns"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}]}]},"procedure_prototype_pattern":{"patterns":[{"begin":"\\\\b((?i:procedure))\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))(?=\\\\s*([(;]))","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"entity.name.function.procedure.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"end":";","endCaptures":{"0":{"name":"punctual.vhdl"}},"patterns":[{"include":"#parenthetical_list"}]}]},"process_pattern":{"patterns":[{"begin":"^\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\s*(:)\\\\s*)?((?:postponed\\\\s+)?(?i:process\\\\b))","beginCaptures":{"2":{"name":"entity.name.section.process.begin.vhdl"},"3":{"name":"punctuation.vhdl"},"4":{"name":"keyword.language.vhdl"}},"end":"((?i:end))(\\\\s+((?:postponed\\\\s+)?(?i:process)))(\\\\s+((\\\\2)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"keyword.language.vhdl"},"6":{"name":"entity.name.section.process.end.vhdl"},"7":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}]}]},"protected_body_pattern":{"patterns":[{"begin":"\\\\b((?i:type))\\\\s+(([A-Za-z][A-Z_a-z\\\\d]*)|(.+?))\\\\s+\\\\b((?i:is\\\\s+protected\\\\s+body))\\\\s+","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"entity.name.section.protected_body.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end\\\\s+protected\\\\s+body))(\\\\s+((\\\\3)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"4":{"name":"entity.name.section.protected_body.end.vhdl"},"5":{"name":"invalid.illegal.mismatched.identifier.vhdl"}},"patterns":[{"include":"#function_definition_pattern"},{"include":"#procedure_definition_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}]}]},"protected_pattern":{"patterns":[{"begin":"\\\\b((?i:type))\\\\s+(([A-Za-z][A-Z_a-z\\\\d]*)|(.+?))\\\\s+\\\\b((?i:is\\\\s+protected))\\\\s+(?!(?i:body))","beginCaptures":{"1":{"name":"keyword.language.vhdls"},"3":{"name":"entity.name.section.protected.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end\\\\s+protected))(\\\\s+((\\\\3)|(.+?)))?(?!(?i:body))(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"4":{"name":"entity.name.section.protected.end.vhdl"},"5":{"name":"invalid.illegal.mismatched.identifier.vhdl"}},"patterns":[{"include":"#function_prototype_pattern"},{"include":"#procedure_prototype_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#component_pattern"},{"include":"#cleanup"}]}]},"punctuation":{"patterns":[{"match":"([(),.:;])","name":"punctuation.vhdl"}]},"record_pattern":{"patterns":[{"begin":"\\\\b(?i:record)\\\\b","beginCaptures":{"0":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end))\\\\s+((?i:record))(\\\\s+(([A-Za-z][A-Z_a-z\\\\d]*)|(.*?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"2":{"name":"keyword.language.vhdl"},"5":{"name":"entity.name.type.record.vhdl"},"6":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"patterns":[{"include":"#cleanup"}]},{"include":"#cleanup"}]},"strings":{"patterns":[{"match":"'.'","name":"string.quoted.single.vhdl"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.vhdl","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vhdl"}]},{"begin":"\\\\\\\\","end":"\\\\\\\\","name":"string.other.backslash.vhdl"}]},"subtype_pattern":{"patterns":[{"begin":"\\\\b((?i:subtype))\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))\\\\s+((?i:is))\\\\b","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"entity.name.type.subtype.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.language.vhdl"}},"end":";","endCaptures":{"0":{"name":"punctuation.vhdl"}},"patterns":[{"include":"#cleanup"}]}]},"support_constants":{"patterns":[{"match":"\\\\b(?i:math_(?:1_over_e|1_over_pi|1_over_sqrt_2|2_pi|3_pi_over_2|deg_to_rad|e|log10_of_e|log2_of_e|log_of_10|log_of_2|pi|pi_over_2|pi_over_3|pi_over_4|rad_to_deg|sqrt_2|sqrt_pi))\\\\b","name":"support.constant.ieee.math_real.vhdl"},{"match":"\\\\b(?i:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\\\\b","name":"support.constant.ieee.math_complex.vhdl"},{"match":"\\\\b(?i:true|false)\\\\b","name":"support.constant.std.standard.vhdl"}]},"support_functions":{"patterns":[{"match":"\\\\b(?i:finish|stop|resolution_limit)\\\\b","name":"support.function.std.env.vhdl"},{"match":"\\\\b(?i:readline|read|writeline|write|endfile|endline)\\\\b","name":"support.function.std.textio.vhdl"},{"match":"\\\\b(?i:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\\\\b","name":"support.function.ieee.std_logic_1164.vhdl"},{"match":"\\\\b(?i:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\\\\b","name":"support.function.ieee.numeric_std.vhdl"},{"match":"\\\\b(?i:arccos(h?)|arcsin(h?)|arctanh??|cbrt|ceil|cosh??|exp|floor|log10|log2?|realmax|realmin|round|sign|sinh??|sqrt|tanh??|trunc)\\\\b","name":"support.function.ieee.math_real.vhdl"},{"match":"\\\\b(?i:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\\\\b","name":"support.function.ieee.math_complex.vhdl"}]},"support_types":{"patterns":[{"match":"\\\\b(?i:boolean|bit|character|severity_level|integer|real|time|delay_length|now|natural|positive|string|bit_vector|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\\\\b","name":"support.type.std.standard.vhdl"},{"match":"\\\\b(?i:line|text|side|width|input|output)\\\\b","name":"support.type.std.textio.vhdl"},{"match":"\\\\b(?i:std_u??logic(?:|_vector))\\\\b","name":"support.type.ieee.std_logic_1164.vhdl"},{"match":"\\\\b(?i:(?:|un)signed)\\\\b","name":"support.type.ieee.numeric_std.vhdl"},{"match":"\\\\b(?i:complex(?:|_polar))\\\\b","name":"support.type.ieee.math_complex.vhdl"}]},"syntax_highlighting":{"patterns":[{"include":"#keywords"},{"include":"#punctuation"},{"include":"#support_constants"},{"include":"#support_types"},{"include":"#support_functions"}]},"type_pattern":{"patterns":[{"begin":"\\\\b((?i:type))\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))((?=\\\\s*;)|(\\\\s+((?i:is))))\\\\b","beginCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"entity.name.type.type.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"7":{"name":"keyword.language.vhdl"}},"end":";","endCaptures":{"0":{"name":"punctuation.vhdl"}},"patterns":[{"include":"#record_pattern"},{"include":"#cleanup"}]}]},"while_pattern":{"patterns":[{"begin":"^\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\s*(:)\\\\s*)?\\\\b((?i:while))\\\\b","beginCaptures":{"2":{"name":""},"3":{"name":"punctuation.vhdl"},"4":{"name":"keyword.language.vhdl"}},"end":"\\\\b((?i:end))\\\\s+(((?i:loop))|(\\\\S+))\\\\b(\\\\s+((\\\\2)|(.+?)))?(?=\\\\s*;)","endCaptures":{"1":{"name":"keyword.language.vhdl"},"3":{"name":"keyword.language.vhdl"},"4":{"name":"invalid.illegal.loop.keyword.required.vhdl"},"7":{"name":"entity.name.tag.while.loop.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier"}},"patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}]}]}},"scopeName":"source.vhdl"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-CeAyd5Ju.js.map diff --git a/src/webview-ui/build/assets/chunk-CeAyd5Ju.js.map b/src/webview-ui/build/assets/chunk-CeAyd5Ju.js.map new file mode 100644 index 0000000000..0f28136047 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CeAyd5Ju.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CeAyd5Ju.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/vhdl.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"VHDL\\\",\\\"fileTypes\\\":[\\\"vhd\\\",\\\"vhdl\\\",\\\"vho\\\",\\\"vht\\\"],\\\"name\\\":\\\"vhdl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_processing\\\"},{\\\"include\\\":\\\"#cleanup\\\"}],\\\"repository\\\":{\\\"architecture_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:architecture))\\\\\\\\s+(([A-z][0-9A-z]*)|(.+))(?=\\\\\\\\s)\\\\\\\\s+((?i:of))\\\\\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))(?=\\\\\\\\s*(?i:is))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.architecture.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.type.entity.reference.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))(\\\\\\\\s+((?i:architecture)))?(\\\\\\\\s+((\\\\\\\\3)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.architecture.end.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"name\\\":\\\"support.block.architecture\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_pattern\\\"},{\\\"include\\\":\\\"#function_definition_pattern\\\"},{\\\"include\\\":\\\"#procedure_definition_pattern\\\"},{\\\"include\\\":\\\"#component_pattern\\\"},{\\\"include\\\":\\\"#if_pattern\\\"},{\\\"include\\\":\\\"#process_pattern\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#for_pattern\\\"},{\\\"include\\\":\\\"#entity_instantiation_pattern\\\"},{\\\"include\\\":\\\"#component_instantiation_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"attribute_list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"block_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*)?(\\\\\\\\s*(?i:block))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"meta.block.block.name\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"((?i:end\\\\\\\\s+block))(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.block.end\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"name\\\":\\\"meta.block.block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"block_processing\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_pattern\\\"},{\\\"include\\\":\\\"#package_body_pattern\\\"},{\\\"include\\\":\\\"#entity_pattern\\\"},{\\\"include\\\":\\\"#architecture_pattern\\\"}]},\\\"case_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((([A-Za-z][0-9A-Z_a-z]*)|(.+?))\\\\\\\\s*:\\\\\\\\s*)?\\\\\\\\b((?i:case))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.case.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s*(\\\\\\\\s+(((?i:case))|(.*?)))(\\\\\\\\s+((\\\\\\\\2)|(.*?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.case.required.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.case.end.vhdl\\\"},\\\"9\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"cleanup\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants_numeric\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#attribute_list\\\"},{\\\"include\\\":\\\"#syntax_highlighting\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"--.*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-dash.vhdl\\\"}]},\\\"component_instantiation_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\b(?=\\\\\\\\s*($|generic|port))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.section.component_instantiation.vhdl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.component.reference.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"component_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\b((?i:component))\\\\\\\\s+(([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*|(.+?))(?=\\\\\\\\b(?i:is|port)\\\\\\\\b|$|--)(\\\\\\\\b((?i:is\\\\\\\\b)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.component.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s+(((?i:component\\\\\\\\b))|(.+?))(?=\\\\\\\\s*|;)(\\\\\\\\s+((\\\\\\\\3)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.component.keyword.required.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.type.component.end.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#generic_list_pattern\\\"},{\\\"include\\\":\\\"#port_list_pattern\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"constants_numeric\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([-+]?[_\\\\\\\\d]+\\\\\\\\.[_\\\\\\\\d]+([Ee][-+]?[_\\\\\\\\d]+)?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.floating_point.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+#[_\\\\\\\\h]+#\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.base_pound_number_pound.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_\\\\\\\\d]+([Ee][_\\\\\\\\d]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.vhdl\\\"},{\\\"match\\\":\\\"[Xx]\\\\\\\"[-HLUWXZ_hluwxz\\\\\\\\h]+\\\\\\\"\\\",\\\"name\\\":\\\"constant.numeric.quoted.double.string.hex.vhdl\\\"},{\\\"match\\\":\\\"[Oo]\\\\\\\"[-0-7HLUWXZ_hluwxz]+\\\\\\\"\\\",\\\"name\\\":\\\"constant.numeric.quoted.double.string.octal.vhdl\\\"},{\\\"match\\\":\\\"[Bb]?\\\\\\\"[-01HLUWXZ_hluwxz]+\\\\\\\"\\\",\\\"name\\\":\\\"constant.numeric.quoted.double.string.binary.vhdl\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.quoted.double.string.vhdl\\\"}},\\\"match\\\":\\\"([BOXbox]\\\\\\\".+?\\\\\\\")\\\",\\\"name\\\":\\\"constant.numeric.quoted.double.string.illegal.vhdl\\\"},{\\\"match\\\":\\\"'[-01HLUWXZhluwxz]'\\\",\\\"name\\\":\\\"constant.numeric.quoted.single.std_logic\\\"}]},\\\"control_patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#case_pattern\\\"},{\\\"include\\\":\\\"#if_pattern\\\"},{\\\"include\\\":\\\"#for_pattern\\\"},{\\\"include\\\":\\\"#while_pattern\\\"},{\\\"include\\\":\\\"#loop_pattern\\\"}]},\\\"entity_instantiation_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*(((?i:use))\\\\\\\\s+)?((?i:entity))\\\\\\\\s+((([A-Za-z][0-9A-Z_a-z]*)|(.+?))(\\\\\\\\.))?(([A-Za-z][0-9A-Z_a-z]*)|(.+?))(?=\\\\\\\\s*(\\\\\\\\(|$|(?i:port|generic)))(\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(([A-Za-z][0-9A-Z_a-z]*)|(.+?))(?=\\\\\\\\s*\\\\\\\\))\\\\\\\\s*(\\\\\\\\)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.section.entity_instantiation.vhdl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.library.reference.vhdl\\\"},\\\"9\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"12\\\":{\\\"name\\\":\\\"entity.name.tag.entity.reference.vhdl\\\"},\\\"13\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"18\\\":{\\\"name\\\":\\\"entity.name.tag.architecture.reference.vhdl\\\"},\\\"19\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"entity_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((?i:entity\\\\\\\\b))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(.+?))(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.entity.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end\\\\\\\\b))(\\\\\\\\s+((?i:entity)))?(\\\\\\\\s+((\\\\\\\\3)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.type.entity.end.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#generic_list_pattern\\\"},{\\\"include\\\":\\\"#port_list_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"for_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*)?(?!(?i:wait\\\\\\\\s*))\\\\\\\\b((?i:for))\\\\\\\\b(?!\\\\\\\\s*(?i:all))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.for.generate.begin.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s+(((?i:generate|loop))|(\\\\\\\\S+))\\\\\\\\b(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.loop.or.generate.required.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.tag.for.generate.end.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#entity_instantiation_pattern\\\"},{\\\"include\\\":\\\"#component_pattern\\\"},{\\\"include\\\":\\\"#component_instantiation_pattern\\\"},{\\\"include\\\":\\\"#process_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"function_definition_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((?i:impure)?\\\\\\\\s*(?i:function))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(\\\\\\\"\\\\\\\\S+\\\\\\\")|(\\\\\\\\\\\\\\\\.+\\\\\\\\\\\\\\\\)|(.+?))(?=\\\\\\\\s*(\\\\\\\\(|(?i:\\\\\\\\breturn\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.function.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.function.begin.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.function.begin.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((?i:end))(\\\\\\\\s+((?i:function)))?(\\\\\\\\s+((\\\\\\\\3|\\\\\\\\4|\\\\\\\\5)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.function.function.end.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"function_prototype_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((?i:impure)?\\\\\\\\s*(?i:function))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(\\\\\\\"\\\\\\\\S+\\\\\\\")|(\\\\\\\\\\\\\\\\.+\\\\\\\\\\\\\\\\)|(.+?))(?=\\\\\\\\s*(\\\\\\\\(|(?i:\\\\\\\\breturn\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.function.prototype.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.function.prototype.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.function.prototype.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.illegal.function.name.vhdl\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?i:return)(?=\\\\\\\\s+[^;]+\\\\\\\\s*;)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.function_prototype.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]},{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"generic_list_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?i:generic)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"}]}]},\\\"if_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*)?\\\\\\\\b((?i:if))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.if.generate.begin.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s+((((?i:generate|if))|(\\\\\\\\S+))\\\\\\\\b(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?)?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.if.or.generate.required.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.if.generate.end.vhdl\\\"},\\\"9\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#process_pattern\\\"},{\\\"include\\\":\\\"#entity_instantiation_pattern\\\"},{\\\"include\\\":\\\"#component_pattern\\\"},{\\\"include\\\":\\\"#component_instantiation_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"'(?i:active|ascending|base|delayed|driving|driving_value|event|high|image|instance|instance_name|last|last_value|left|leftof|length|low|path|path_name|pos|pred|quiet|range|reverse|reverse_range|right|rightof|simple|simple_name|stable|succ|transaction|val|value)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.attributes.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|context|deallocate|disconnect|downto|else|elsif|end|entity|exit|file|for|force|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|protected|pure|range|record|register|reject|release|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.language.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:std|ieee|work|standard|textio|std_logic_1164|std_logic_arith|std_logic_misc|std_logic_signed|std_logic_textio|std_logic_unsigned|numeric_bit|numeric_std|math_complex|math_real|vital_primitives|vital_timing)\\\\\\\\b\\\",\\\"name\\\":\\\"standard.library.language.vhdl\\\"},{\\\"match\\\":\\\"([-+]|<=|=>??|:=|>=|[\\\\\\\\&/<>|]|(\\\\\\\\*{1,2}))\\\",\\\"name\\\":\\\"keyword.operator.vhdl\\\"}]},\\\"loop_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*)?\\\\\\\\b((?i:loop))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.loop.begin.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s+(((?i:loop))|(\\\\\\\\S+))\\\\\\\\b(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.loop.keyword.required.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.tag.loop.end.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"package_body_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:package))\\\\\\\\s+((?i:body))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(.+?))\\\\\\\\s+((?i:is))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.section.package_body.begin.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end\\\\\\\\b))(\\\\\\\\s+((?i:package))\\\\\\\\s+((?i:body)))?(\\\\\\\\s+((\\\\\\\\4)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.section.package_body.end.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#protected_body_pattern\\\"},{\\\"include\\\":\\\"#function_definition_pattern\\\"},{\\\"include\\\":\\\"#procedure_definition_pattern\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#subtype_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"package_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:package))\\\\\\\\s+(?!(?i:body))(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(.+?))\\\\\\\\s+((?i:is))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.section.package.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end\\\\\\\\b))(\\\\\\\\s+((?i:package)))?(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.section.package.end.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#protected_pattern\\\"},{\\\"include\\\":\\\"#function_prototype_pattern\\\"},{\\\"include\\\":\\\"#procedure_prototype_pattern\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#subtype_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#component_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"parenthetical_list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[\\\\\\\"'0-9A-Za-z])\\\",\\\"end\\\":\\\"([),;])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"name\\\":\\\"source.vhdl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#parenthetical_pair\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"invalid.illegal.unexpected.parenthesis.vhdl\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"parenthetical_pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_pair\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"port_list_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?i:port)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*;\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"}]}]},\\\"procedure_definition_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((?i:procedure))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(\\\\\\\"\\\\\\\\S+\\\\\\\")|(.+?))(?=\\\\\\\\s*(\\\\\\\\(|(?i:is)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.procedure.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.procedure.begin.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((?i:end))(\\\\\\\\s+((?i:procedure)))?(\\\\\\\\s+((\\\\\\\\3|\\\\\\\\4)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.function.procedure.end.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"},{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"procedure_prototype_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:procedure))\\\\\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))(?=\\\\\\\\s*([(;]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.procedure.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctual.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthetical_list\\\"}]}]},\\\"process_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*)?((?:postponed\\\\\\\\s+)?(?i:process\\\\\\\\b))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.process.begin.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"((?i:end))(\\\\\\\\s+((?:postponed\\\\\\\\s+)?(?i:process)))(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.section.process.end.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"protected_body_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:type))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(.+?))\\\\\\\\s+\\\\\\\\b((?i:is\\\\\\\\s+protected\\\\\\\\s+body))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.section.protected_body.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end\\\\\\\\s+protected\\\\\\\\s+body))(\\\\\\\\s+((\\\\\\\\3)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.section.protected_body.end.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_definition_pattern\\\"},{\\\"include\\\":\\\"#procedure_definition_pattern\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#subtype_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"protected_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:type))\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(.+?))\\\\\\\\s+\\\\\\\\b((?i:is\\\\\\\\s+protected))\\\\\\\\s+(?!(?i:body))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdls\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.section.protected.begin.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end\\\\\\\\s+protected))(\\\\\\\\s+((\\\\\\\\3)|(.+?)))?(?!(?i:body))(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.section.protected.end.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_prototype_pattern\\\"},{\\\"include\\\":\\\"#procedure_prototype_pattern\\\"},{\\\"include\\\":\\\"#type_pattern\\\"},{\\\"include\\\":\\\"#subtype_pattern\\\"},{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#component_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([(),.:;])\\\",\\\"name\\\":\\\"punctuation.vhdl\\\"}]},\\\"record_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?i:record)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s+((?i:record))(\\\\\\\\s+(([A-Za-z][A-Z_a-z\\\\\\\\d]*)|(.*?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.record.vhdl\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#cleanup\\\"}]},{\\\"include\\\":\\\"#cleanup\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"'.'\\\",\\\"name\\\":\\\"string.quoted.single.vhdl\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.vhdl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vhdl\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"end\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"string.other.backslash.vhdl\\\"}]},\\\"subtype_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:subtype))\\\\\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))\\\\\\\\s+((?i:is))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.subtype.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"support_constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?i:math_(?:1_over_e|1_over_pi|1_over_sqrt_2|2_pi|3_pi_over_2|deg_to_rad|e|log10_of_e|log2_of_e|log_of_10|log_of_2|pi|pi_over_2|pi_over_3|pi_over_4|rad_to_deg|sqrt_2|sqrt_pi))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.ieee.math_real.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.ieee.math_complex.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.std.standard.vhdl\\\"}]},\\\"support_functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?i:finish|stop|resolution_limit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.std.env.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:readline|read|writeline|write|endfile|endline)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.std.textio.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ieee.std_logic_1164.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ieee.numeric_std.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:arccos(h?)|arcsin(h?)|arctanh??|cbrt|ceil|cosh??|exp|floor|log10|log2?|realmax|realmin|round|sign|sinh??|sqrt|tanh??|trunc)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ieee.math_real.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ieee.math_complex.vhdl\\\"}]},\\\"support_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?i:boolean|bit|character|severity_level|integer|real|time|delay_length|now|natural|positive|string|bit_vector|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.std.standard.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:line|text|side|width|input|output)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.std.textio.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:std_u??logic(?:|_vector))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.ieee.std_logic_1164.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:(?:|un)signed)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.ieee.numeric_std.vhdl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:complex(?:|_polar))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.ieee.math_complex.vhdl\\\"}]},\\\"syntax_highlighting\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#support_constants\\\"},{\\\"include\\\":\\\"#support_types\\\"},{\\\"include\\\":\\\"#support_functions\\\"}]},\\\"type_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?i:type))\\\\\\\\s+(([A-Za-z][0-9A-Z_a-z]*)|(.+?))((?=\\\\\\\\s*;)|(\\\\\\\\s+((?i:is))))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.type.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.invalid.identifier.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#record_pattern\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]},\\\"while_pattern\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\\\\\\s*)?\\\\\\\\b((?i:while))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"}},\\\"end\\\":\\\"\\\\\\\\b((?i:end))\\\\\\\\s+(((?i:loop))|(\\\\\\\\S+))\\\\\\\\b(\\\\\\\\s+((\\\\\\\\2)|(.+?)))?(?=\\\\\\\\s*;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.language.vhdl\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.loop.keyword.required.vhdl\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.tag.while.loop.vhdl\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.mismatched.identifier\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#control_patterns\\\"},{\\\"include\\\":\\\"#cleanup\\\"}]}]}},\\\"scopeName\\\":\\\"source.vhdl\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "vhdl" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,wovBAA2k0B,CAAC,EAEnm0BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cf4Oy6XI.js b/src/webview-ui/build/assets/chunk-Cf4Oy6XI.js new file mode 100644 index 0000000000..30fa349926 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cf4Oy6XI.js @@ -0,0 +1,15 @@ +import e from "./chunk-CXhxxCfG.js" +import t from "./chunk-B_vNuMnf.js" +import n from "./chunk-B9xm8XSJ.js" +import a from "./chunk-BMMyXqK5.js" +import r from "./chunk-Cp-IABpG.js" +import i from "./chunk-DPfMkruS.js" +import "./chunk-CylS5w8V.js" +const p = Object.freeze( + JSON.parse( + `{"displayName":"PHP","name":"php","patterns":[{"include":"#attribute"},{"include":"#comments"},{"captures":{"1":{"name":"keyword.other.namespace.php"},"2":{"name":"entity.name.type.namespace.php","patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]}},"match":"(?i)(?:^|(?<=<\\\\?php))\\\\s*(namespace)\\\\s+([0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)(?=\\\\s*;)","name":"meta.namespace.php"},{"begin":"(?i)(?:^|(?<=<\\\\?php))\\\\s*(namespace)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.namespace.php"}},"end":"(?<=})|(?=\\\\?>)","name":"meta.namespace.php","patterns":[{"include":"#comments"},{"captures":{"0":{"patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]}},"match":"(?i)[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+","name":"entity.name.type.namespace.php"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.namespace.begin.bracket.curly.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.namespace.end.bracket.curly.php"}},"patterns":[{"include":"$self"}]},{"match":"\\\\S+","name":"invalid.illegal.identifier.php"}]},{"match":"\\\\s+(?=use\\\\b)"},{"begin":"(?i)\\\\buse\\\\b","beginCaptures":{"0":{"name":"keyword.other.use.php"}},"end":"(?<=})|(?=;)|(?=\\\\?>)","name":"meta.use.php","patterns":[{"match":"\\\\b(const|function)\\\\b","name":"storage.type.\${1:/downcase}.php"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.use.begin.bracket.curly.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.use.end.bracket.curly.php"}},"patterns":[{"include":"#scope-resolution"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"name":"storage.modifier.php"},"3":{"name":"entity.other.alias.php"}},"match":"(?i)\\\\b(as)\\\\s+(final|abstract|public|private|protected|static)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-as.php"},"2":{"patterns":[{"match":"^(?:final|abstract|public|private|protected|static)$","name":"storage.modifier.php"},{"match":".+","name":"entity.other.alias.php"}]}},"match":"(?i)\\\\b(as)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"keyword.other.use-insteadof.php"},"2":{"name":"support.class.php"}},"match":"(?i)\\\\b(insteadof)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"match":";","name":"punctuation.terminator.expression.php"},{"include":"#use-inner"}]},{"include":"#use-inner"}]},{"begin":"(?i)\\\\b(trait)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)","beginCaptures":{"1":{"name":"storage.type.trait.php"},"2":{"name":"entity.name.type.trait.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.trait.end.bracket.curly.php"}},"name":"meta.trait.php","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.trait.begin.bracket.curly.php"}},"contentName":"meta.trait.body.php","end":"(?=}|\\\\?>)","patterns":[{"include":"$self"}]}]},{"begin":"(?i)\\\\b(interface)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)","beginCaptures":{"1":{"name":"storage.type.interface.php"},"2":{"name":"entity.name.type.interface.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.interface.end.bracket.curly.php"}},"name":"meta.interface.php","patterns":[{"include":"#comments"},{"include":"#interface-extends"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.interface.begin.bracket.curly.php"}},"contentName":"meta.interface.body.php","end":"(?=}|\\\\?>)","patterns":[{"include":"#class-constant"},{"include":"$self"}]}]},{"begin":"(?i)\\\\b(enum)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(?:\\\\s*(:)\\\\s*(int|string)\\\\b)?","beginCaptures":{"1":{"name":"storage.type.enum.php"},"2":{"name":"entity.name.type.enum.php"},"3":{"name":"keyword.operator.return-value.php"},"4":{"name":"keyword.other.type.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.enum.end.bracket.curly.php"}},"name":"meta.enum.php","patterns":[{"include":"#comments"},{"include":"#class-implements"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.enum.begin.bracket.curly.php"}},"contentName":"meta.enum.body.php","end":"(?=}|\\\\?>)","patterns":[{"captures":{"1":{"name":"storage.modifier.php"},"2":{"name":"constant.enum.php"}},"match":"(?i)\\\\b(case)\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"include":"#class-constant"},{"include":"$self"}]}]},{"begin":"(?i)\\\\b(?:((?:(?:final|abstract|readonly)\\\\s+)*)(class)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)|(new)\\\\b\\\\s*(#\\\\[.*])?\\\\s*(?:(readonly)\\\\s+)?\\\\b(class)\\\\b)","beginCaptures":{"1":{"patterns":[{"match":"final|abstract","name":"storage.modifier.\${0:/downcase}.php"},{"match":"readonly","name":"storage.modifier.php"}]},"2":{"name":"storage.type.class.php"},"3":{"name":"entity.name.type.class.php"},"4":{"name":"keyword.other.new.php"},"5":{"patterns":[{"include":"#attribute"}]},"6":{"name":"storage.modifier.php"},"7":{"name":"storage.type.class.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.class.end.bracket.curly.php"}},"name":"meta.class.php","patterns":[{"begin":"(?<=class)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"include":"#comments"},{"include":"#class-extends"},{"include":"#class-implements"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.class.begin.bracket.curly.php"}},"contentName":"meta.class.body.php","end":"(?=}|\\\\?>)","patterns":[{"include":"#class-constant"},{"include":"$self"}]}]},{"include":"#match_statement"},{"include":"#switch_statement"},{"captures":{"1":{"name":"keyword.control.yield-from.php"}},"match":"\\\\s*\\\\b(yield\\\\s+from)\\\\b"},{"captures":{"1":{"name":"keyword.control.\${1:/downcase}.php"}},"match":"\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\b"},{"begin":"(?i)\\\\b((?:require|include)(?:_once)?)(\\\\s+|(?=\\\\())","beginCaptures":{"1":{"name":"keyword.control.import.include.php"}},"end":"(?=[;\\\\s]|$|\\\\?>)","name":"meta.include.php","patterns":[{"include":"$self"}]},{"begin":"\\\\b(catch)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.exception.catch.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"name":"meta.catch.php","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\|","name":"punctuation.separator.delimiter.php"},{"begin":"(?i)(?=[\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","end":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(?![0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"support.class.exception.php"}},"patterns":[{"include":"#namespace"}]}]},"2":{"name":"variable.other.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)([0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*\\\\|\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)*)\\\\s*((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?"}]},{"match":"\\\\b(catch|try|throw|exception|finally)\\\\b","name":"keyword.control.exception.php"},{"begin":"(?i)\\\\b(function)\\\\s*(?=&?\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.type.function.php"}},"end":"(?=\\\\s*\\\\{)","name":"meta.function.closure.php","patterns":[{"include":"#comments"},{"begin":"(&)?\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.reference.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"patterns":[{"include":"#function-parameters"}]},{"begin":"(?i)(use)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.function.use.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"name":"meta.function.closure.use.php","patterns":[{"match":",","name":"punctuation.separator.delimiter.php"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((?:(&)\\\\s*)?(\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(?=[),])"}]},{"captures":{"1":{"name":"keyword.operator.return-value.php"},"2":{"patterns":[{"include":"#php-types"}]}},"match":"(?i)(:)\\\\s*((?:\\\\?\\\\s*)?[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\))(?:\\\\s*[\\\\&|]\\\\s*(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\)))+)(?=\\\\s*(?:\\\\{|/[*/]|#|$))"}]},{"begin":"(?i)\\\\b(fn)\\\\s*(?=&?\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.type.function.php"}},"end":"=>","endCaptures":{"0":{"name":"punctuation.definition.arrow.php"}},"name":"meta.function.closure.php","patterns":[{"begin":"(?:(&)\\\\s*)?(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.reference.php"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.php"}},"patterns":[{"include":"#function-parameters"}]},{"captures":{"1":{"name":"keyword.operator.return-value.php"},"2":{"patterns":[{"include":"#php-types"}]}},"match":"(?i)(:)\\\\s*((?:\\\\?\\\\s*)?[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\))(?:\\\\s*[\\\\&|]\\\\s*(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\)))+)(?=\\\\s*(?:=>|/[*/]|#|$))"}]},{"begin":"((?:(?:final|abstract|public|private|protected)\\\\s+)*)(function)\\\\s+(__construct)\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"match":"final|abstract|public|private|protected","name":"storage.modifier.php"}]},"2":{"name":"storage.type.function.php"},"3":{"name":"support.function.constructor.php"},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.php"}},"contentName":"meta.function.parameters.php","end":"(?i)(\\\\))\\\\s*(:\\\\s*(?:\\\\?\\\\s*)?(?!\\\\s)[\\\\&()0-9\\\\\\\\_a-z|\\\\x7F-\\\\x{10FFFF}\\\\s]+(?)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.array.php","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.storage-type.begin.bracket.round.php"},"2":{"name":"storage.type.php"},"3":{"name":"punctuation.definition.storage-type.end.bracket.round.php"}},"match":"(?i)(\\\\()\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\s*(\\\\))"},{"match":"(?i)\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\\\b","name":"storage.type.php"},{"match":"(?i)\\\\bconst\\\\b","name":"storage.type.const.php"},{"match":"(?i)\\\\b(global|abstract|final|private|protected|public|static)\\\\b","name":"storage.modifier.php"},{"include":"#object"},{"match":";","name":"punctuation.terminator.expression.php"},{"match":":","name":"punctuation.terminator.statement.php"},{"include":"#heredoc"},{"include":"#numbers"},{"match":"(?i)\\\\bclone\\\\b","name":"keyword.other.clone.php"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.spread.php"},{"match":"\\\\.=?","name":"keyword.operator.string.php"},{"match":"=>","name":"keyword.operator.key.php"},{"captures":{"1":{"name":"keyword.operator.assignment.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"storage.modifier.reference.php"}},"match":"(?i)(=)(&)|(&)(?=[$_a-z])"},{"match":"@","name":"keyword.operator.error-control.php"},{"match":"===?|!==?|<>","name":"keyword.operator.comparison.php"},{"match":"(?:|[-+]|\\\\*\\\\*?|[%\\\\&/^|]|<<|>>|\\\\?\\\\?)=","name":"keyword.operator.assignment.php"},{"match":"<=>?|>=|[<>]","name":"keyword.operator.comparison.php"},{"match":"--|\\\\+\\\\+","name":"keyword.operator.increment-decrement.php"},{"match":"[-+]|\\\\*\\\\*?|[%/]","name":"keyword.operator.arithmetic.php"},{"match":"(?i)(!|&&|\\\\|\\\\|)|\\\\b(and|or|xor|as)\\\\b","name":"keyword.operator.logical.php"},{"include":"#function-call"},{"match":"<<|>>|[\\\\&^|~]","name":"keyword.operator.bitwise.php"},{"begin":"(?i)\\\\b(instanceof)\\\\s+(?=[$\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.operator.type.php"}},"end":"(?i)(?=[^$0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","patterns":[{"include":"#class-name"},{"include":"#variable-name"}]},{"include":"#instantiation"},{"captures":{"1":{"name":"keyword.control.goto.php"},"2":{"name":"support.other.php"}},"match":"(?i)(goto)\\\\s+([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"},{"captures":{"1":{"name":"entity.name.goto-label.php"}},"match":"(?i)^\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*(?)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"end":"]|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.section.array.end.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.php"}},"patterns":[{"include":"$self"}]},{"include":"#constants"},{"match":",","name":"punctuation.separator.delimiter.php"}],"repository":{"attribute":{"begin":"#\\\\[","end":"]","name":"meta.attribute.php","patterns":[{"match":",","name":"punctuation.separator.delimiter.php"},{"begin":"([0-9A-Z\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)\\\\s*(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#attribute-name"}]},"2":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"include":"#attribute-name"}]},"attribute-name":{"patterns":[{"begin":"(?i)(?=\\\\\\\\?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*\\\\\\\\)","end":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"support.attribute.php"}},"patterns":[{"include":"#namespace"}]},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\\\\\)?\\\\b(Attribute|SensitiveParameter|AllowDynamicProperties|ReturnTypeWillChange|Override|Deprecated)\\\\b","name":"support.attribute.builtin.php"},{"begin":"(?i)(?=[\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","end":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"support.attribute.php"}},"patterns":[{"include":"#namespace"}]}]},"class-builtin":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(?i)(\\\\\\\\)?\\\\b(Attribute|(A(?:PC|ppend))Iterator|Array(Access|Iterator|Object)|Bad(Function|Method)CallException|(Ca(?:ching|llbackFilter))Iterator|Collator|Collectable|Cond|Countable|CURLFile|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference|Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)|(Error)?Exception|EmptyIterator|finfo|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|FANNConnection|(Fil(?:ter|esystem))Iterator|Gender\\\\\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)|Http(((?:In|De)flate)?Stream|Message|Request(Pool)?|Response|QueryString)|HRTime\\\\\\\\(PerformanceCounter|StopWatch)|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)|Imagick(Draw|Pixel(Iterator)?)?|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?|JsonSerializable|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))|Lapack|(L(?:ength|ocale|ogic))Exception|LimitIterator|Lua(Closure)?|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch|Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp|UpdateBatch|Write(Batch|ConcernException))?|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex|mysqli(_(driver|stmt|warning|result))?|MysqlndUh(Connection|PreparedStatement)|NoRewindIterator|Normalizer|NumberFormatter|OCI-(Collection|Lob)|OuterIterator|(O(?:utOf(Bounds|Range)|verflow))Exception|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool|QuickHash(Int(S(?:et|tringHash))|StringIntHash)|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator|Reflection(Attribute|Class(Constant)?|Constant|Enum((?:Unit|Backed)Case)?|Fiber|Function(Abstract)?|Generator|(Named|Union|Intersection)?Type|Method|Object|Parameter|Property|Reference|(Zend)?Extension)?|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)|SAM(Connection|Message)|SCA(_((?:Soap|Local)Proxy))?|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)|Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP|Soap(Client|Fault|Header|Param|Server|Var)|SphinxClient|Spoofchecker|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(M(?:ax|in))?Heap|Observer|ObjectStorage|(Priority)?Queue|Stack|Subject|Type|TempFileObject)|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable|UConverter|(Un(?:derflow|expectedValue))Exception|V8Js(Exception)?|Varnish(Admin|Log|Stat)|Worker|Weak(Map|Ref)|XML(Diff\\\\\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)|Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract|Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)|Response_Abstract|Router|Session|View_(Simple|Interface))|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\\\b","name":"support.class.builtin.php"}]},"class-constant":{"patterns":[{"captures":{"1":{"name":"storage.type.const.php"},"2":{"patterns":[{"include":"#php-types"}]},"3":{"name":"constant.other.php"}},"match":"(?i)\\\\b(const)\\\\s+(?:((?:\\\\?\\\\s*)?[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\))(?:\\\\s*[\\\\&|]\\\\s*(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\)))+)\\\\s+)?([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)"}]},"class-extends":{"patterns":[{"begin":"(?i)(extends)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.extends.php"}},"end":"(?i)(?=[^0-9A-Z\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","patterns":[{"include":"#comments"},{"include":"#inheritance-single"}]}]},"class-implements":{"patterns":[{"begin":"(?i)(implements)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.implements.php"}},"end":"(?i)(?=\\\\{)","patterns":[{"include":"#comments"},{"match":",","name":"punctuation.separator.classes.php"},{"include":"#inheritance-single"}]}]},"class-name":{"patterns":[{"begin":"(?i)(?=\\\\\\\\?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*\\\\\\\\)","end":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"support.class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"begin":"(?i)(?=[\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","end":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"support.class.php"}},"patterns":[{"include":"#namespace"}]}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?=\\\\s)","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.block.documentation.phpdoc.php","patterns":[{"include":"#php_doc"}]},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\*/","name":"comment.block.php"},{"begin":"(^\\\\s+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\n|(?=\\\\?>)","name":"comment.line.double-slash.php"}]},{"begin":"(^\\\\s+)?(?=#)(?!#\\\\[)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.php"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"end":"\\\\n|(?=\\\\?>)","name":"comment.line.number-sign.php"}]}]},"constants":{"patterns":[{"match":"(?i)\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\b","name":"constant.language.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\b","name":"support.constant.core.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\b","name":"support.constant.std.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\b","name":"support.constant.ext.php"},{"captures":{"1":{"name":"punctuation.separator.inheritance.php"}},"match":"(\\\\\\\\)?\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\b","name":"support.constant.parser-token.php"},{"match":"(?i)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*","name":"constant.other.php"}]},"function-call":{"patterns":[{"begin":"(\\\\\\\\?(?)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"begin":"(\\\\\\\\)?(?)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.function-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"match":"(?i)\\\\b(print|echo)\\\\b","name":"support.function.construct.output.php"}]},"function-parameters":{"patterns":[{"include":"#attribute"},{"include":"#comments"},{"match":",","name":"punctuation.separator.delimiter.php"},{"captures":{"1":{"patterns":[{"include":"#php-types"}]},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"keyword.operator.variadic.php"},"5":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(?:((?:\\\\?\\\\s*)?[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\))(?:\\\\s*[\\\\&|]\\\\s*(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\)))+)\\\\s+)?((?:(&)\\\\s*)?(\\\\.\\\\.\\\\.)(\\\\$)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(?=\\\\s*(?:[),]|/[*/]|#|$))","name":"meta.function.parameter.variadic.php"},{"begin":"(?i)((?:\\\\?\\\\s*)?[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\))(?:\\\\s*[\\\\&|]\\\\s*(?:[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+|\\\\(\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(?:\\\\s*&\\\\s*[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)+\\\\s*\\\\)))+)\\\\s+((?:(&)\\\\s*)?(\\\\$)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)","beginCaptures":{"1":{"patterns":[{"include":"#php-types"}]},"2":{"name":"variable.other.php"},"3":{"name":"storage.modifier.reference.php"},"4":{"name":"punctuation.definition.variable.php"}},"end":"(?=\\\\s*(?:[),]|/[*/]|#))","name":"meta.function.parameter.typehinted.php","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.php"}},"end":"(?=\\\\s*(?:[),]|/[*/]|#))","patterns":[{"include":"#parameter-default-types"}]}]},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((?:(&)\\\\s*)?(\\\\$)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(?=\\\\s*(?:[),]|/[*/]|#|$))","name":"meta.function.parameter.no-default.php"},{"begin":"(?i)((?:(&)\\\\s*)?(\\\\$)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.php"},"2":{"name":"storage.modifier.reference.php"},"3":{"name":"punctuation.definition.variable.php"},"4":{"name":"keyword.operator.assignment.php"}},"end":"(?=\\\\s*(?:[),]|/[*/]|#))","name":"meta.function.parameter.default.php","patterns":[{"include":"#parameter-default-types"}]}]},"heredoc":{"patterns":[{"begin":"(?i)(?=<<<\\\\s*(\\"?)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(\\\\1)\\\\s*$)","end":"(?!\\\\G)","name":"string.unquoted.heredoc.php","patterns":[{"include":"#heredoc_interior"}]},{"begin":"(?=<<<\\\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\\\s*$)","end":"(?!\\\\G)","name":"string.unquoted.nowdoc.php","patterns":[{"include":"#nowdoc_interior"}]}]},"heredoc_interior":{"patterns":[{"begin":"(<<<)\\\\s*(\\"?)(HTML)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.html","patterns":[{"include":"#interpolation"},{"include":"text.html.basic"}]},{"begin":"(<<<)\\\\s*(\\"?)(XML)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.xml","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.xml","patterns":[{"include":"#interpolation"},{"include":"text.xml"}]},{"begin":"(<<<)\\\\s*(\\"?)([DS]QL)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.sql","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.sql","patterns":[{"include":"#interpolation"},{"include":"source.sql"}]},{"begin":"(<<<)\\\\s*(\\"?)(J(?:AVASCRIPT|S))(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.js","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.js","patterns":[{"include":"#interpolation"},{"include":"source.js"}]},{"begin":"(<<<)\\\\s*(\\"?)(JSON)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.json","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.json","patterns":[{"include":"#interpolation"},{"include":"source.json"}]},{"begin":"(<<<)\\\\s*(\\"?)(CSS)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.css","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.css","patterns":[{"include":"#interpolation"},{"include":"source.css"}]},{"begin":"(<<<)\\\\s*(\\"?)(REGEXP?)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"string.regexp.heredoc.php","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"patterns":[{"include":"#interpolation"},{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repitition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\\\\\[]'\\\\[\\\\\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"},{"begin":"(?i)(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?_a-z\\\\x7F-\\\\x{10FFFF}[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.line.number-sign.php"}]},{"begin":"(<<<)\\\\s*(\\"?)(BLADE)(\\\\2)(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html.php.blade","end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.heredoc.php"}},"name":"meta.embedded.php.blade","patterns":[{"include":"#interpolation"}]},{"begin":"(?i)(<<<)\\\\s*(\\"?)([_a-z\\\\x7F-\\\\x{10FFFF}]+[0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(\\\\2)(\\\\s*)","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"3":{"name":"keyword.operator.heredoc.php"},"5":{"name":"invalid.illegal.trailing-whitespace.php"}},"end":"^\\\\s*(\\\\3)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"keyword.operator.heredoc.php"}},"patterns":[{"include":"#interpolation"}]}]},"inheritance-single":{"patterns":[{"begin":"(?i)(?=\\\\\\\\?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*\\\\\\\\)","end":"(?i)([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?(?=[^0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"entity.other.inherited-class.php"}},"patterns":[{"include":"#namespace"}]},{"include":"#class-builtin"},{"include":"#namespace"},{"match":"(?i)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*","name":"entity.other.inherited-class.php"}]},"instantiation":{"patterns":[{"captures":{"1":{"name":"keyword.other.new.php"},"2":{"patterns":[{"match":"(?i)(parent|static|self)(?![0-9_a-z\\\\x7F-\\\\x{10FFFF}])","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]}},"match":"(?i)(new)\\\\s+(?!class\\\\b)([$0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)(?![(0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])"},{"begin":"(?i)(new)\\\\s+(?!class\\\\b)([$0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.new.php"},"2":{"patterns":[{"match":"(?i)(parent|static|self)(?![0-9_a-z\\\\x7F-\\\\x{10FFFF}])","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"contentName":"meta.function-call.php","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"patterns":[{"include":"#named-arguments"},{"include":"$self"}]}]},"interface-extends":{"patterns":[{"begin":"(?i)(extends)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.extends.php"}},"end":"(?i)(?=\\\\{)","patterns":[{"include":"#comments"},{"match":",","name":"punctuation.separator.classes.php"},{"include":"#inheritance-single"}]}]},"interpolation":{"patterns":[{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.octal.php"},{"match":"\\\\\\\\x\\\\h{1,2}","name":"constant.character.escape.hex.php"},{"match":"\\\\\\\\u\\\\{\\\\h+}","name":"constant.character.escape.unicode.php"},{"match":"\\\\\\\\[$\\\\\\\\efnrtv]","name":"constant.character.escape.php"},{"begin":"\\\\{(?=\\\\$.*?})","beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"$self"}]},{"include":"#variable-name"}]},"interpolation_double_quoted":{"patterns":[{"match":"\\\\\\\\\\"","name":"constant.character.escape.php"},{"include":"#interpolation"}]},"invoke-call":{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(?=\\\\s*\\\\()","name":"meta.function-call.invoke.php"},"match_statement":{"patterns":[{"match":"\\\\s+(?=match\\\\b)"},{"begin":"\\\\bmatch\\\\b","beginCaptures":{"0":{"name":"keyword.control.match.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.section.match-block.end.bracket.curly.php"}},"name":"meta.match-statement.php","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.match-expression.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.match-expression.end.bracket.round.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.section.match-block.begin.bracket.curly.php"}},"end":"(?=}|\\\\?>)","patterns":[{"match":"=>","name":"keyword.definition.arrow.php"},{"include":"$self"}]}]}]},"named-arguments":{"captures":{"1":{"name":"entity.name.variable.parameter.php"},"2":{"name":"punctuation.separator.colon.php"}},"match":"(?i)(?<=^|[(,])\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(:)(?!:)"},"namespace":{"begin":"(?i)(?:(namespace)|[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?(\\\\\\\\)","beginCaptures":{"1":{"name":"variable.language.namespace.php"},"2":{"name":"punctuation.separator.inheritance.php"}},"end":"(?i)(?![0-9_a-z\\\\x7F-\\\\x{10FFFF}]*\\\\\\\\)","name":"support.other.namespace.php","patterns":[{"match":"\\\\\\\\","name":"punctuation.separator.inheritance.php"}]},"nowdoc_interior":{"patterns":[{"begin":"(<<<)\\\\s*'(HTML)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.html","patterns":[{"include":"text.html.basic"}]},{"begin":"(<<<)\\\\s*'(XML)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.xml","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.xml","patterns":[{"include":"text.xml"}]},{"begin":"(<<<)\\\\s*'([DS]QL)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.sql","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.sql","patterns":[{"include":"source.sql"}]},{"begin":"(<<<)\\\\s*'(J(?:AVASCRIPT|S))'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.js","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.js","patterns":[{"include":"source.js"}]},{"begin":"(<<<)\\\\s*'(JSON)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.json","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.json","patterns":[{"include":"source.json"}]},{"begin":"(<<<)\\\\s*'(CSS)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"source.css","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.css","patterns":[{"include":"source.css"}]},{"begin":"(<<<)\\\\s*'(REGEXP?)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"string.regexp.nowdoc.php","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"patterns":[{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repitition.php"},"3":{"name":"punctuation.definition.arbitrary-repitition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repitition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"match":"\\\\\\\\[]'\\\\[\\\\\\\\]","name":"constant.character.escape.php"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"},{"begin":"(?i)(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?_a-z\\\\x7F-\\\\x{10FFFF}[^\\\\x00-\\\\x7F]]*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.php"}},"end":"$","endCaptures":{"0":{"name":"punctuation.definition.comment.php"}},"name":"comment.line.number-sign.php"}]},{"begin":"(<<<)\\\\s*'(BLADE)'(\\\\s*)$","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.php"},"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"contentName":"text.html.php.blade","end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"0":{"name":"punctuation.section.embedded.end.php"},"1":{"name":"keyword.operator.nowdoc.php"}},"name":"meta.embedded.php.blade"},{"begin":"(?i)(<<<)\\\\s*'([_a-z\\\\x7F-\\\\x{10FFFF}]+[0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)'(\\\\s*)","beginCaptures":{"1":{"name":"punctuation.definition.string.php"},"2":{"name":"keyword.operator.nowdoc.php"},"3":{"name":"invalid.illegal.trailing-whitespace.php"}},"end":"^\\\\s*(\\\\2)(?![0-9A-Z_a-z\\\\x7F-\\\\x{10FFFF}])","endCaptures":{"1":{"name":"keyword.operator.nowdoc.php"}}}]},"null_coalescing":{"match":"\\\\?\\\\?","name":"keyword.operator.null-coalescing.php"},"numbers":{"patterns":[{"match":"0[Xx]\\\\h+(?:_\\\\h+)*","name":"constant.numeric.hex.php"},{"match":"0[Bb][01]+(?:_[01]+)*","name":"constant.numeric.binary.php"},{"match":"0[Oo][0-7]+(?:_[0-7]+)*","name":"constant.numeric.octal.php"},{"match":"0(?:_?[0-7]+)+","name":"constant.numeric.octal.php"},{"captures":{"1":{"name":"punctuation.separator.decimal.period.php"},"2":{"name":"punctuation.separator.decimal.period.php"}},"match":"(?:[0-9]+(?:_[0-9]+)*)?(\\\\.)[0-9]+(?:_[0-9]+)*(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*(\\\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*[Ee][-+]?[0-9]+(?:_[0-9]+)*","name":"constant.numeric.decimal.php"},{"match":"0|[1-9](?:_?[0-9]+)*","name":"constant.numeric.decimal.php"}]},"object":{"patterns":[{"begin":"(\\\\??->)\\\\s*(\\\\$?\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"$self"}]},{"begin":"(?i)(\\\\??->)\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.method-call.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.property.php"},"3":{"name":"punctuation.definition.variable.php"}},"match":"(?i)(\\\\??->)\\\\s*((\\\\$+)?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?"}]},"parameter-default-types":{"patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#string-backtick"},{"include":"#variables"},{"match":"=>","name":"keyword.operator.key.php"},{"match":"=","name":"keyword.operator.assignment.php"},{"match":"&(?=\\\\s*\\\\$)","name":"storage.modifier.reference.php"},{"begin":"(array)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.construct.php"},"2":{"name":"punctuation.definition.array.begin.bracket.round.php"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.php"}},"name":"meta.array.php","patterns":[{"include":"#parameter-default-types"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.php"}},"end":"]|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.section.array.end.php"}},"patterns":[{"include":"$self"}]},{"include":"#instantiation"},{"begin":"(?i)(?=[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+(::)\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?)","end":"(?i)(::)\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)?","endCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"constant.other.class.php"}},"patterns":[{"include":"#class-name"}]},{"include":"#constants"}]},"php-types":{"patterns":[{"match":"\\\\?","name":"keyword.operator.nullable-type.php"},{"match":"[\\\\&|]","name":"punctuation.separator.delimiter.php"},{"match":"(?i)\\\\b(null|int|float|bool|string|array|object|callable|iterable|true|false|mixed|void)\\\\b","name":"keyword.other.type.php"},{"match":"(?i)\\\\b(parent|self)\\\\b","name":"storage.type.php"},{"match":"\\\\(","name":"punctuation.definition.type.begin.bracket.round.php"},{"match":"\\\\)","name":"punctuation.definition.type.end.bracket.round.php"},{"include":"#class-name"}]},"php_doc":{"patterns":[{"match":"^(?!\\\\s*\\\\*).*?(?:(?=\\\\*/)|$\\\\n?)","name":"invalid.illegal.missing-asterisk.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"3":{"name":"storage.modifier.php"},"4":{"name":"invalid.illegal.wrong-access-type.phpdoc.php"}},"match":"^\\\\s*\\\\*\\\\s*(@access)\\\\s+((p(?:ublic|rivate|rotected))|(.+))\\\\s*$"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"},"2":{"name":"markup.underline.link.php"}},"match":"(@xlink)\\\\s+(.+)\\\\s*$"},{"begin":"(@(?:global|param|property(-(read|write))?|return|throws|var))\\\\s+(?=[(?A-Z\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}])","beginCaptures":{"1":{"name":"keyword.other.phpdoc.php"}},"contentName":"meta.other.type.phpdoc.php","end":"(?=\\\\s|\\\\*/)","patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"},{"match":"[\\\\&|]","name":"punctuation.separator.delimiter.php"}]},{"match":"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\\\b","name":"keyword.other.phpdoc.php"},{"captures":{"1":{"name":"keyword.other.phpdoc.php"}},"match":"\\\\{(@(link|inherit[Dd]oc)).+?}","name":"meta.tag.inline.phpdoc.php"}]},"php_doc_types":{"captures":{"0":{"patterns":[{"match":"\\\\?","name":"keyword.operator.nullable-type.php"},{"match":"\\\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self|static)\\\\b","name":"keyword.other.type.php"},{"include":"#class-name"},{"match":"[\\\\&|]","name":"punctuation.separator.delimiter.php"}]}},"match":"(?i)\\\\??[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+([\\\\&|]\\\\??[0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)*"},"php_doc_types_array_multiple":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.bracket.round.phpdoc.php"}},"end":"(\\\\))(\\\\[])?|(?=\\\\*/)","endCaptures":{"1":{"name":"punctuation.definition.type.end.bracket.round.phpdoc.php"},"2":{"name":"keyword.other.array.phpdoc.php"}},"patterns":[{"include":"#php_doc_types_array_multiple"},{"include":"#php_doc_types_array_single"},{"include":"#php_doc_types"},{"match":"[\\\\&|]","name":"punctuation.separator.delimiter.php"}]},"php_doc_types_array_single":{"captures":{"1":{"patterns":[{"include":"#php_doc_types"}]},"2":{"name":"keyword.other.array.phpdoc.php"}},"match":"(?i)([0-9\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]+)(\\\\[])"},"regex-double-quoted":{"begin":"\\"/(?=(\\\\\\\\.|[^\\"/])++/[ADSUXeimsux]*\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.double-quoted.php","patterns":[{"match":"(\\\\\\\\){1,2}[]$.\\\\[^{}]","name":"constant.character.escape.regex.php"},{"include":"#interpolation_double_quoted"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php","patterns":[{"include":"#interpolation_double_quoted"}]},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"regex-single-quoted":{"begin":"'/(?=(\\\\\\\\(?:\\\\\\\\(?:\\\\\\\\['\\\\\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"(/)([ADSUXeimsux]*)(')","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.regexp.single-quoted.php","patterns":[{"include":"#single_quote_regex_escape"},{"captures":{"1":{"name":"punctuation.definition.arbitrary-repetition.php"},"3":{"name":"punctuation.definition.arbitrary-repetition.php"}},"match":"(\\\\{)\\\\d+(,\\\\d+)?(})","name":"string.regexp.arbitrary-repetition.php"},{"begin":"\\\\[(?:\\\\^?])?","captures":{"0":{"name":"punctuation.definition.character-class.php"}},"end":"]","name":"string.regexp.character-class.php"},{"match":"[$*+^]","name":"keyword.operator.regexp.php"}]},"scope-resolution":{"patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\b(self|static|parent)\\\\b","name":"storage.type.php"},{"include":"#class-name"},{"include":"#variable-name"}]}},"match":"([A-Z\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}][0-9A-Z\\\\\\\\_a-z\\\\x7F-\\\\x{10FFFF}]*)(?=\\\\s*::)"},{"begin":"(?i)(::)\\\\s*([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"entity.name.function.php"},"3":{"name":"punctuation.definition.arguments.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.bracket.round.php"}},"name":"meta.method-call.static.php","patterns":[{"include":"#named-arguments"},{"include":"$self"}]},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"keyword.other.class.php"}},"match":"(?i)(::)\\\\s*(class)\\\\b"},{"captures":{"1":{"name":"keyword.operator.class.php"},"2":{"name":"variable.other.class.php"},"3":{"name":"punctuation.definition.variable.php"},"4":{"name":"constant.other.class.php"}},"match":"(?i)(::)\\\\s*(?:((\\\\$+)[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)|([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))?"}]},"single_quote_regex_escape":{"match":"\\\\\\\\(?:\\\\\\\\(?:\\\\\\\\['\\\\\\\\]?|[^'])|.)","name":"constant.character.escape.php"},"sql-string-double-quoted":{"begin":"\\"\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.sql.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(#)(\\\\\\\\\\"|[^\\"])*(?=\\"|$)","name":"comment.line.number-sign.sql"},{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(--)(\\\\\\\\\\"|[^\\"])*(?=\\"|$)","name":"comment.line.double-dash.sql"},{"match":"\\\\\\\\[\\"'\\\\\\\\\`]","name":"constant.character.escape.php"},{"match":"'(?=((\\\\\\\\')|[^\\"'])*(\\"|$))","name":"string.quoted.single.unclosed.sql"},{"match":"\`(?=((\\\\\\\\\`)|[^\\"\`])*(\\"|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"begin":"'","end":"'","name":"string.quoted.single.sql","patterns":[{"include":"#interpolation_double_quoted"}]},{"begin":"\`","end":"\`","name":"string.quoted.other.backtick.sql","patterns":[{"include":"#interpolation_double_quoted"}]},{"include":"#interpolation_double_quoted"},{"include":"source.sql"}]},"sql-string-single-quoted":{"begin":"'\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\\\b)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"contentName":"source.sql.embedded.php","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.sql.php","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(#)(\\\\\\\\'|[^'])*(?='|$)","name":"comment.line.number-sign.sql"},{"captures":{"1":{"name":"punctuation.definition.comment.sql"}},"match":"(--)(\\\\\\\\'|[^'])*(?='|$)","name":"comment.line.double-dash.sql"},{"match":"\\\\\\\\[\\"'\\\\\\\\\`]","name":"constant.character.escape.php"},{"match":"\`(?=((\\\\\\\\\`)|[^'\`])*('|$))","name":"string.quoted.other.backtick.unclosed.sql"},{"match":"\\"(?=((\\\\\\\\\\")|[^\\"'])*('|$))","name":"string.quoted.double.unclosed.sql"},{"include":"source.sql"}]},"string-backtick":{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.interpolated.php","patterns":[{"match":"\\\\\\\\\`","name":"constant.character.escape.php"},{"include":"#interpolation"}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.double.php","patterns":[{"include":"#interpolation_double_quoted"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.php"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.php"}},"name":"string.quoted.single.php","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.php"}]},"strings":{"patterns":[{"include":"#regex-double-quoted"},{"include":"#sql-string-double-quoted"},{"include":"#string-double-quoted"},{"include":"#regex-single-quoted"},{"include":"#sql-string-single-quoted"},{"include":"#string-single-quoted"}]},"support":{"patterns":[{"match":"(?i)\\\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\\\b","name":"support.function.apc.php"},{"match":"(?i)\\\\b(compact|count|current|end|extract|in_array|key(_exists)?|list|nat(case)?sort|next|pos|prev|range|reset|shuffle|sizeof|[ak]?r?sort|u[ak]?sort|array_(all|any|change_key_case|chunk|column|combine|count_values|fill(_keys)?|filter|find(_key)?|flip|is_list|key_(exists|first|last)|keys|map|multisort|pad|pop|product|push|rand|reduce|reverse|search|shift|slice|splice|sum|unique|unshift|values|u?(diff|intersect)(_u?(key|assoc))?|(walk|replace|merge)(_recursive)?))\\\\b","name":"support.function.array.php"},{"match":"(?i)\\\\b(connection_(aborted|status)|constant|defined?|die|eval|exit|get_browser|__halt_compiler|highlight_(file|string)|hrtime|ignore_user_abort|pack|php_strip_whitespace|show_source|u?sleep|sys_getloadavg|time_(nanosleep|sleep_until)|uniqid|unpack)\\\\b","name":"support.function.basic_functions.php"},{"match":"(?i)\\\\bbc(add|ceil|comp|(div|pow)(mod)?|floor|mod|mul|round|scale|sqrt|sub)\\\\b","name":"support.function.bcmath.php"},{"match":"(?i)\\\\bblenc_encrypt\\\\b","name":"support.function.blenc.php"},{"match":"(?i)\\\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\\\b","name":"support.function.bz2.php"},{"match":"(?i)\\\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\\\b","name":"support.function.calendar.php"},{"match":"(?i)\\\\b(__autoload|class_alias|(class|interface|method|property|trait|enum)_exists|is_(a|subclass_of)|get_(class(_(vars|methods))?|(called|parent)_class|(mangled_)?object_vars|declared_(classes|interfaces|traits)))\\\\b","name":"support.function.classobj.php"},{"match":"(?i)\\\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\\\b","name":"support.function.com.php"},{"match":"(?i)\\\\b(isset|unset|eval|empty|list)\\\\b","name":"support.function.construct.php"},{"match":"(?i)\\\\b(print|echo)\\\\b","name":"support.function.construct.output.php"},{"match":"(?i)\\\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\\\b","name":"support.function.ctype.php"},{"match":"(?i)\\\\bcurl_(close|copy_handle|errno|error|escape|exec|getinfo|init|pause|reset|setopt(_array)?|strerror|unescape|upkeep|version|multi_((add|remove)_handle|close|errno|exec|getcontent|info_read|init|select|setopt|strerror)|share_(close|errno|init(_persistent)?|setopt|strerror))\\\\b","name":"support.function.curl.php"},{"match":"(?i)\\\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_immutable)?(_from_format)?|timestamp_[gs]et|timezone_[gs]et|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_[gs]et|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\\\b","name":"support.function.datetime.php"},{"match":"(?i)\\\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\\\b","name":"support.function.dba.php"},{"match":"(?i)\\\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\\\b","name":"support.function.dbx.php"},{"match":"(?i)\\\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\\\b","name":"support.function.dir.php"},{"match":"(?i)\\\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\\\b","name":"support.function.eio.php"},{"match":"(?i)\\\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\\\b","name":"support.function.enchant.php"},{"match":"(?i)\\\\b(split(i)?|sql_regcase|ereg(i)?(_replace)?)\\\\b","name":"support.function.ereg.php"},{"match":"(?i)\\\\b((restore|set)_(e(?:rror|xception))_handler|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|(clear|get)_last))\\\\b","name":"support.function.errorfunc.php"},{"match":"(?i)\\\\b(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)\\\\b","name":"support.function.exec.php"},{"match":"(?i)\\\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\\\b","name":"support.function.exif.php"},{"match":"(?i)\\\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\\\b","name":"support.function.fann.php"},{"match":"(?i)\\\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename|f(data)?sync)\\\\b","name":"support.function.file.php"},{"match":"(?i)\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\b","name":"support.function.fileinfo.php"},{"match":"(?i)\\\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\\\b","name":"support.function.filter.php"},{"match":"(?i)\\\\b(f(?:astcgi_finish_request|pm_get_status))\\\\b","name":"support.function.fpm.php"},{"match":"(?i)\\\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\\\b","name":"support.function.funchand.php"},{"match":"(?i)\\\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\\\b","name":"support.function.gettext.php"},{"match":"(?i)\\\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_(square|power)|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range|seed))?|gcd(ext)?|xor|mod|mul|binomial|kronecker|lcm)\\\\b","name":"support.function.gmp.php"},{"match":"(?i)\\\\bhash(_(algos|copy|equals|file|final|hkdf|hmac(_(file|algos)?)?|init|pbkdf2|update(_(file|stream))?))?\\\\b","name":"support.function.hash.php"},{"match":"(?i)\\\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\\\b","name":"support.function.http.php"},{"match":"(?i)\\\\b(iconv(_(str(pos|len|rpos)|substr|[gs]et_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\b","name":"support.function.iconv.php"},{"match":"(?i)\\\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\\\b","name":"support.function.iisfunc.php"},{"match":"(?i)\\\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(clip|style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(avif|bmp|string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|tga|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd2?|gammacorrect|grab(screen|window)|xbm|resolution|openpolygon|get(clip|interpolation)|avif|bmp))\\\\b","name":"support.function.image.php"},{"match":"(?i)\\\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_[gs]et_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\\\b","name":"support.function.info.php"},{"match":"(?i)\\\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\\\b","name":"support.function.interbase.php"},{"match":"(?i)\\\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len|_split)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\\\b","name":"support.function.intl.php"},{"match":"(?i)\\\\bjson_(decode|encode|last_error(_msg)?|validate)\\\\b","name":"support.function.json.php"},{"match":"(?i)\\\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\\\b","name":"support.function.ldap.php"},{"match":"(?i)\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\b","name":"support.function.libxml.php"},{"match":"(?i)\\\\b(ezmlm_hash|mail)\\\\b","name":"support.function.mail.php"},{"match":"(?i)\\\\b(a?(cos|sin|tan)h?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|f(div|mod|pow)|lcg_value|log(1[0p])?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert|intdiv)\\\\b","name":"support.function.math.php"},{"match":"(?i)\\\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos|_pad|_split)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info|[lr]?trim|[lu]cfirst|ord|chr|scrub)\\\\b","name":"support.function.mbstring.php"},{"match":"(?i)\\\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\\\b","name":"support.function.mcrypt.php"},{"match":"(?i)\\\\bmemcache_debug\\\\b","name":"support.function.memcache.php"},{"match":"(?i)\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\b","name":"support.function.mhash.php"},{"match":"(?i)\\\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\\\b","name":"support.function.mongo.php"},{"match":"(?i)\\\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\\\b","name":"support.function.mysql.php"},{"match":"(?i)\\\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_[gs]et|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\\\b","name":"support.function.mysqli.php"},{"match":"(?i)\\\\bmysqlnd_memcache_(set|get_config)\\\\b","name":"support.function.mysqlnd-memcache.php"},{"match":"(?i)\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\\\b","name":"support.function.mysqlnd-ms.php"},{"match":"(?i)\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\\\b","name":"support.function.mysqlnd-qc.php"},{"match":"(?i)\\\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\\\b","name":"support.function.mysqlnd-uh.php"},{"match":"(?i)\\\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr)|http_(clear|get)_last_response_headers|net_get_interfaces|request_parse_body)\\\\b","name":"support.function.network.php"},{"match":"(?i)\\\\bnsapi_(virtual|response_headers|request_headers)\\\\b","name":"support.function.nsapi.php"},{"match":"(?i)\\\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\\\b","name":"support.function.oci8.php"},{"match":"(?i)\\\\bopcache_(compile_file|invalidate|is_script_cached|reset|get_(status|configuration))\\\\b","name":"support.function.opcache.php"},{"match":"(?i)\\\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_(iv|key)_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|(cms|pkcs7)_(sign|decrypt|encrypt|verify|read)|verify|free_key|random_pseudo_bytes|pkey_(derive|new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|curve_names|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read|verify))\\\\b","name":"support.function.openssl.php"},{"match":"(?i)\\\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\\\b","name":"support.function.output.php"},{"match":"(?i)\\\\bpassword_(algos|hash|needs_rehash|verify|get_info)\\\\b","name":"support.function.password.php"},{"match":"(?i)\\\\bpcntl_(alarm|async_signals|errno|exec|r?fork|get_last_error|[gs]et((?:cpuaffin|prior)ity)|signal(_(dispatch|get_handler))?|sig(procmask|timedwait|waitinfo)|strerror|unshare|wait(p?id)?|wexitstatus|wif((?:exit|signal|stopp)ed)|w(stop|term)sig)\\\\b","name":"support.function.pcntl.php"},{"match":"(?i)\\\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\\\b","name":"support.function.pgsql.php"},{"match":"(?i)\\\\b(virtual|getallheaders|apache_([gs]etenv|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\\\b","name":"support.function.php_apache.php"},{"match":"(?i)\\\\bdom_import_simplexml\\\\b","name":"support.function.php_dom.php"},{"match":"(?i)\\\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\\\b","name":"support.function.php_ftp.php"},{"match":"(?i)\\\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\\\b","name":"support.function.php_imap.php"},{"match":"(?i)\\\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\\\b","name":"support.function.php_mssql.php"},{"match":"(?i)\\\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\\\b","name":"support.function.php_odbc.php"},{"match":"(?i)\\\\bpreg_(split|quote|filter|last_error(_msg)?|replace(_callback(_array)?)?|grep|match(_all)?)\\\\b","name":"support.function.php_pcre.php"},{"match":"(?i)\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\b","name":"support.function.php_spl.php"},{"match":"(?i)\\\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\\\b","name":"support.function.php_zip.php"},{"match":"(?i)\\\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|e?access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo|(sys|f?path)conf|setrlimit)\\\\b","name":"support.function.posix.php"},{"match":"(?i)\\\\bset(thread|proc)title\\\\b","name":"support.function.proctitle.php"},{"match":"(?i)\\\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\\\b","name":"support.function.pspell.php"},{"match":"(?i)\\\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\\\b","name":"support.function.readline.php"},{"match":"(?i)\\\\brecode(_(string|file))?\\\\b","name":"support.function.recode.php"},{"match":"(?i)\\\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\\\b","name":"support.function.rrd.php"},{"match":"(?i)\\\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\\\b","name":"support.function.sem.php"},{"match":"(?i)\\\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|((?:regener|cre)ate)_id|get_cookie_params|module_name|gc)\\\\b","name":"support.function.session.php"},{"match":"(?i)\\\\bshmop_(size|close|open|delete|write|read)\\\\b","name":"support.function.shmop.php"},{"match":"(?i)\\\\bsimplexml_(import_dom|load_(string|file))\\\\b","name":"support.function.simplexml.php"},{"match":"(?i)\\\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\\\b","name":"support.function.snmp.php"},{"match":"(?i)\\\\b(is_soap_fault|use_soap_error_handler)\\\\b","name":"support.function.soap.php"},{"match":"(?i)\\\\bsocket_(accept|addrinfo_(bind|connect|explain|lookup)|atmark|bind|(clear|last)_error|close|cmsg_space|connect|create(_(listen|pair))?|(ex|im)port_stream|[gs]et_option|[gs]etopt|get(peer|sock)name|listen|read|recv(from|msg)?|select|send(msg|to)?|set_(non)?block|shutdown|strerror|write|wsaprotocol_info_(export|import|release))\\\\b","name":"support.function.sockets.php"},{"match":"(?i)\\\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\\\b","name":"support.function.sqlite.php"},{"match":"(?i)\\\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\\\b","name":"support.function.sqlsrv.php"},{"match":"(?i)\\\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\\\b","name":"support.function.stats.php"},{"match":"(?i)\\\\bstream_(bucket_(new|prepend|append|make_writeable)|context_(create|[gs]et_(options?|default|params))|copy_to_stream|filter_((ap|pre)pend|register|remove)|get_(contents|filters|line|meta_data|transports|wrappers)|is(atty|_local)|notification_callback|register_wrapper|resolve_include_path|select|set_(blocking|chunk_size|(read|write)_buffer|timeout)|socket_(accept|client|enable_crypto|get_name|pair|recvfrom|sendto|server|shutdown)|supports_lock|wrapper_((un)?register|restore))\\\\b","name":"support.function.streamsfuncs.php"},{"match":"(?i)\\\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|i?replace|pad|repeat|rot13|shuffle|split|word_count|contains|(starts|ends)_with|(in|de)crement)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\\\b","name":"support.function.string.php"},{"match":"(?i)\\\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\\\b","name":"support.function.sybase.php"},{"match":"(?i)\\\\b(taint|is_tainted|untaint)\\\\b","name":"support.function.taint.php"},{"match":"(?i)\\\\b(tidy_([gs]etopt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\\\b","name":"support.function.tidy.php"},{"match":"(?i)\\\\btoken_(name|get_all)\\\\b","name":"support.function.tokenizer.php"},{"match":"(?i)\\\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\\\b","name":"support.function.trader.php"},{"match":"(?i)\\\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\\\b","name":"support.function.uopz.php"},{"match":"(?i)\\\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\b","name":"support.function.url.php"},{"match":"(?i)\\\\b((bool|double|float|int|str)val|debug_zval_dump|empty|get_(debug_type|defined_vars|resource_(id|type))|[gs]ettype|is_(array|bool|callable|countable|double|float|int(eger)?|iterable|long|null|numeric|object|real|resource|scalar|string)|isset|print_r|(un)?serialize|unset|var_(dump|export))\\\\b","name":"support.function.var.php"},{"match":"(?i)\\\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\\\b","name":"support.function.wddx.php"},{"match":"(?i)\\\\bxhprof_(sample_)?((?:dis|en)able)\\\\b","name":"support.function.xhprof.php"},{"match":"(?i)\\\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_([gs]et_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\\\b","name":"support.function.xml.php"},{"match":"(?i)\\\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|[gs]et_type)\\\\b","name":"support.function.xmlrpc.php"},{"match":"(?i)\\\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\\\b","name":"support.function.xmlwriter.php"},{"match":"(?i)\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?)|deflate_(add|init)|inflate_(add|get_(read_len|status)|init))\\\\b","name":"support.function.zlib.php"}]},"switch_statement":{"patterns":[{"match":"\\\\s+(?=switch\\\\b)"},{"begin":"\\\\bswitch\\\\b(?!\\\\s*\\\\(.*\\\\)\\\\s*:)","beginCaptures":{"0":{"name":"keyword.control.switch.php"}},"end":"}|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.section.switch-block.end.bracket.curly.php"}},"name":"meta.switch-statement.php","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.switch-expression.begin.bracket.round.php"}},"end":"\\\\)|(?=\\\\?>)","endCaptures":{"0":{"name":"punctuation.definition.switch-expression.end.bracket.round.php"}},"patterns":[{"include":"$self"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.section.switch-block.begin.bracket.curly.php"}},"end":"(?=}|\\\\?>)","patterns":[{"include":"$self"}]}]}]},"ternary_expression":{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.php"}},"end":"(?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))\\\\s*(?:(\\\\??->)\\\\s*(\\\\g)|(\\\\[)(?:(\\\\d+)|((\\\\$)\\\\g)|([_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*))(]))?"},{"captures":{"1":{"name":"variable.other.php"},"2":{"name":"punctuation.definition.variable.php"},"4":{"name":"punctuation.definition.variable.php"}},"match":"(?i)((\\\\$\\\\{)(?[_a-z\\\\x7F-\\\\x{10FFFF}][0-9_a-z\\\\x7F-\\\\x{10FFFF}]*)(}))"}]},"variables":{"patterns":[{"include":"#var_language"},{"include":"#var_global"},{"include":"#var_global_safer"},{"include":"#var_basic"},{"begin":"\\\\$\\\\{(?=.*?})","beginCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.variable.php"}},"patterns":[{"include":"$self"}]}]}},"scopeName":"source.php","embeddedLangs":["html","xml","sql","javascript","json","css"]}`, + ), + ), + l = [...e, ...t, ...n, ...a, ...r, ...i, p] +export { l as default } +//# sourceMappingURL=chunk-Cf4Oy6XI.js.map diff --git a/src/webview-ui/build/assets/chunk-Cf4Oy6XI.js.map b/src/webview-ui/build/assets/chunk-Cf4Oy6XI.js.map new file mode 100644 index 0000000000..4a81af7040 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cf4Oy6XI.js.map @@ -0,0 +1,25 @@ +{ + "version": 3, + "file": "chunk-Cf4Oy6XI.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/php.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\nimport xml from './xml.mjs'\nimport sql from './sql.mjs'\nimport javascript from './javascript.mjs'\nimport json from './json.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"PHP\\\",\\\"name\\\":\\\"php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"meta.namespace.php\\\"},{\\\"begin\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.namespace.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+\\\",\\\"name\\\":\\\"entity.name.type.namespace.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.identifier.php\\\"}]},{\\\"match\\\":\\\"\\\\\\\\s+(?=use\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\buse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.use.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.use.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(const|function)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.${1:/downcase}.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+(final|abstract|public|private|protected|static)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?:final|abstract|public|private|protected|static)$\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.other.alias.php\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-insteadof.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(insteadof)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(trait)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.trait.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.trait.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.trait.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.trait.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.trait.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.trait.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(interface)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interface.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.interface.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#interface-extends\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interface.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.interface.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-constant\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(enum)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?:\\\\\\\\s*(:)\\\\\\\\s*(int|string)\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.enum.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.type.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.enum.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.enum.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#class-implements\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.enum.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.enum.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.enum.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(case)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"include\\\":\\\"#class-constant\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:((?:(?:final|abstract|readonly)\\\\\\\\s+)*)(class)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)|(new)\\\\\\\\b\\\\\\\\s*(#\\\\\\\\[.*])?\\\\\\\\s*(?:(readonly)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract\\\",\\\"name\\\":\\\"storage.modifier.${0:/downcase}.php\\\"},{\\\"match\\\":\\\"readonly\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.class.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.class.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=class)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#class-extends\\\"},{\\\"include\\\":\\\"#class-implements\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.class.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-constant\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"include\\\":\\\"#match_statement\\\"},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.yield-from.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(yield\\\\\\\\s+from)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.${1:/downcase}.php\\\"}},\\\"match\\\":\\\"\\\\\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b((?:require|include)(?:_once)?)(\\\\\\\\s+|(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.php\\\"}},\\\"end\\\":\\\"(?=[;\\\\\\\\s]|$|\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.include.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.exception.catch.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.catch.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"(?i)(?=[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.exception.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*\\\\\\\\|\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)*)\\\\\\\\s*((\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(catch|try|throw|exception|finally)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(function)\\\\\\\\s*(?=&?\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function.closure.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(&)?\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"(?i)(use)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.function.use.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function.closure.use.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((?:(&)\\\\\\\\s*)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(?=[),])\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]}},\\\"match\\\":\\\"(?i)(:)\\\\\\\\s*((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)(?=\\\\\\\\s*(?:\\\\\\\\{|/[*/]|#|$))\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(fn)\\\\\\\\s*(?=&?\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"end\\\":\\\"=>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arrow.php\\\"}},\\\"name\\\":\\\"meta.function.closure.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:(&)\\\\\\\\s*)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]}},\\\"match\\\":\\\"(?i)(:)\\\\\\\\s*((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)(?=\\\\\\\\s*(?:=>|/[*/]|#|$))\\\"}]},{\\\"begin\\\":\\\"((?:(?:final|abstract|public|private|protected)\\\\\\\\s+)*)(function)\\\\\\\\s+(__construct)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract|public|private|protected\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.constructor.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"(?i)(\\\\\\\\))\\\\\\\\s*(:\\\\\\\\s*(?:\\\\\\\\?\\\\\\\\s*)?(?!\\\\\\\\s)[\\\\\\\\&()0-9\\\\\\\\\\\\\\\\_a-z|\\\\\\\\x7F-\\\\\\\\x{10FFFF}\\\\\\\\s]+(?)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.begin.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\()\\\\\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bconst\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.const.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(global|abstract|final|private|protected|public|static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.terminator.statement.php\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bclone\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.clone.php\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.php\\\"},{\\\"match\\\":\\\"\\\\\\\\.=?\\\",\\\"name\\\":\\\"keyword.operator.string.php\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"}},\\\"match\\\":\\\"(?i)(=)(&)|(&)(?=[$_a-z])\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.operator.error-control.php\\\"},{\\\"match\\\":\\\"===?|!==?|<>\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"(?:|[-+]|\\\\\\\\*\\\\\\\\*?|[%\\\\\\\\&/^|]|<<|>>|\\\\\\\\?\\\\\\\\?)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"<=>?|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.php\\\"},{\\\"match\\\":\\\"[-+]|\\\\\\\\*\\\\\\\\*?|[%/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.php\\\"},{\\\"match\\\":\\\"(?i)(!|&&|\\\\\\\\|\\\\\\\\|)|\\\\\\\\b(and|or|xor|as)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.php\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"match\\\":\\\"<<|>>|[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(instanceof)\\\\\\\\s+(?=[$\\\\\\\\\\\\\\\\_a-z])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.php\\\"}},\\\"end\\\":\\\"(?i)(?=[^$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.goto.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.php\\\"}},\\\"match\\\":\\\"(?i)(goto)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.goto-label.php\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*(?)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"}},\\\"end\\\":\\\"]|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"begin\\\":\\\"#\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.attribute.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"([0-9A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-name\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#attribute-name\\\"}]},\\\"attribute-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.attribute.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b(Attribute|SensitiveParameter|AllowDynamicProperties|ReturnTypeWillChange|Override|Deprecated)\\\\\\\\b\\\",\\\"name\\\":\\\"support.attribute.builtin.php\\\"},{\\\"begin\\\":\\\"(?i)(?=[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.attribute.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"class-builtin\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b(Attribute|(A(?:PC|ppend))Iterator|Array(Access|Iterator|Object)|Bad(Function|Method)CallException|(Ca(?:ching|llbackFilter))Iterator|Collator|Collectable|Cond|Countable|CURLFile|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference|Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)|(Error)?Exception|EmptyIterator|finfo|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|FANNConnection|(Fil(?:ter|esystem))Iterator|Gender\\\\\\\\\\\\\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)|Http(((?:In|De)flate)?Stream|Message|Request(Pool)?|Response|QueryString)|HRTime\\\\\\\\\\\\\\\\(PerformanceCounter|StopWatch)|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)|Imagick(Draw|Pixel(Iterator)?)?|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?|JsonSerializable|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))|Lapack|(L(?:ength|ocale|ogic))Exception|LimitIterator|Lua(Closure)?|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch|Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp|UpdateBatch|Write(Batch|ConcernException))?|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex|mysqli(_(driver|stmt|warning|result))?|MysqlndUh(Connection|PreparedStatement)|NoRewindIterator|Normalizer|NumberFormatter|OCI-(Collection|Lob)|OuterIterator|(O(?:utOf(Bounds|Range)|verflow))Exception|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool|QuickHash(Int(S(?:et|tringHash))|StringIntHash)|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator|Reflection(Attribute|Class(Constant)?|Constant|Enum((?:Unit|Backed)Case)?|Fiber|Function(Abstract)?|Generator|(Named|Union|Intersection)?Type|Method|Object|Parameter|Property|Reference|(Zend)?Extension)?|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)|SAM(Connection|Message)|SCA(_((?:Soap|Local)Proxy))?|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)|Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP|Soap(Client|Fault|Header|Param|Server|Var)|SphinxClient|Spoofchecker|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(M(?:ax|in))?Heap|Observer|ObjectStorage|(Priority)?Queue|Stack|Subject|Type|TempFileObject)|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable|UConverter|(Un(?:derflow|expectedValue))Exception|V8Js(Exception)?|Varnish(Admin|Log|Stat)|Worker|Weak(Map|Ref)|XML(Diff\\\\\\\\\\\\\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)|Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract|Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)|Response_Abstract|Router|Session|View_(Simple|Interface))|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.builtin.php\\\"}]},\\\"class-constant\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.const.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"constant.other.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(const)\\\\\\\\s+(?:((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+)?([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"}]},\\\"class-extends\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"end\\\":\\\"(?i)(?=[^0-9A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#inheritance-single\\\"}]}]},\\\"class-implements\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(implements)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.php\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.classes.php\\\"},{\\\"include\\\":\\\"#inheritance-single\\\"}]}]},\\\"class-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"begin\\\":\\\"(?i)(?=[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.block.documentation.phpdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.php\\\"},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.double-slash.php\\\"}]},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=#)(?!#\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.core.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.std.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.ext.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.parser-token.php\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"constant.other.php\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\?(?)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)?(?)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"}]},\\\"function-parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(?:((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+)?((?:(&)\\\\\\\\s*)?(\\\\\\\\.\\\\\\\\.\\\\\\\\.)(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*(?:[),]|/[*/]|#|$))\\\",\\\"name\\\":\\\"meta.function.parameter.variadic.php\\\"},{\\\"begin\\\":\\\"(?i)((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"name\\\":\\\"meta.function.parameter.typehinted.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*(?:[),]|/[*/]|#|$))\\\",\\\"name\\\":\\\"meta.function.parameter.no-default.php\\\"},{\\\"begin\\\":\\\"(?i)((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"name\\\":\\\"meta.function.parameter.default.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=<<<\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(\\\\\\\\1)\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.heredoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc_interior\\\"}]},{\\\"begin\\\":\\\"(?=<<<\\\\\\\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.nowdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nowdoc_interior\\\"}]}]},\\\"heredoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(HTML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(XML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)([DS]QL)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(J(?:AVASCRIPT|S))(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(JSON)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(CSS)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(REGEXP?)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.heredoc.php\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(BLADE)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html.php.blade\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.php.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+[0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(\\\\\\\\2)(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"inheritance-single\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}]},\\\"instantiation\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(parent|static|self)(?![0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]}},\\\"match\\\":\\\"(?i)(new)\\\\\\\\s+(?!class\\\\\\\\b)([$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)(?![(0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\"},{\\\"begin\\\":\\\"(?i)(new)\\\\\\\\s+(?!class\\\\\\\\b)([$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(parent|static|self)(?![0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function-call.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"interface-extends\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.classes.php\\\"},{\\\"include\\\":\\\"#inheritance-single\\\"}]}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.octal.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{1,2}\\\",\\\"name\\\":\\\"constant.character.escape.hex.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h+}\\\",\\\"name\\\":\\\"constant.character.escape.unicode.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\\\\\\\\\efnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{(?=\\\\\\\\$.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"interpolation_double_quoted\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"invoke-call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function-call.invoke.php\\\"},\\\"match_statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+(?=match\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"\\\\\\\\bmatch\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.match.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.match-block.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.match-statement.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.match-expression.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.match-expression.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.match-block.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.definition.arrow.php\\\"},{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"named-arguments\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.colon.php\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(,])\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(:)(?!:)\\\"},\\\"namespace\\\":{\\\"begin\\\":\\\"(?i)(?:(namespace)|[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"end\\\":\\\"(?i)(?![0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"name\\\":\\\"support.other.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]},\\\"nowdoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(HTML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(XML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'([DS]QL)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(J(?:AVASCRIPT|S))'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(JSON)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(CSS)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(REGEXP?)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.nowdoc.php\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(BLADE)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html.php.blade\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.php.blade\\\"},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*'([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+[0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)'(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}}}]},\\\"null_coalescing\\\":{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.null-coalescing.php\\\"},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+(?:_\\\\\\\\h+)*\\\",\\\"name\\\":\\\"constant.numeric.hex.php\\\"},{\\\"match\\\":\\\"0[Bb][01]+(?:_[01]+)*\\\",\\\"name\\\":\\\"constant.numeric.binary.php\\\"},{\\\"match\\\":\\\"0[Oo][0-7]+(?:_[0-7]+)*\\\",\\\"name\\\":\\\"constant.numeric.octal.php\\\"},{\\\"match\\\":\\\"0(?:_?[0-7]+)+\\\",\\\"name\\\":\\\"constant.numeric.octal.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"}},\\\"match\\\":\\\"(?:[0-9]+(?:_[0-9]+)*)?(\\\\\\\\.)[0-9]+(?:_[0-9]+)*(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*(\\\\\\\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*[Ee][-+]?[0-9]+(?:_[0-9]+)*\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"},{\\\"match\\\":\\\"0|[1-9](?:_?[0-9]+)*\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"}]},\\\"object\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\??->)\\\\\\\\s*(\\\\\\\\$?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\??->)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\??->)\\\\\\\\s*((\\\\\\\\$+)?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?\\\"}]},\\\"parameter-default-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"&(?=\\\\\\\\s*\\\\\\\\$)\\\",\\\"name\\\":\\\"storage.modifier.reference.php\\\"},{\\\"begin\\\":\\\"(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"}},\\\"end\\\":\\\"]|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?)\\\",\\\"end\\\":\\\"(?i)(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"}]},{\\\"include\\\":\\\"#constants\\\"}]},\\\"php-types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.nullable-type.php\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(null|int|float|bool|string|array|object|callable|iterable|true|false|mixed|void)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(parent|self)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.definition.type.begin.bracket.round.php\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.definition.type.end.bracket.round.php\\\"},{\\\"include\\\":\\\"#class-name\\\"}]},\\\"php_doc\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?!\\\\\\\\s*\\\\\\\\*).*?(?:(?=\\\\\\\\*/)|$\\\\\\\\n?)\\\",\\\"name\\\":\\\"invalid.illegal.missing-asterisk.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.wrong-access-type.phpdoc.php\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\*\\\\\\\\s*(@access)\\\\\\\\s+((p(?:ublic|rivate|rotected))|(.+))\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.php\\\"}},\\\"match\\\":\\\"(@xlink)\\\\\\\\s+(.+)\\\\\\\\s*$\\\"},{\\\"begin\\\":\\\"(@(?:global|param|property(-(read|write))?|return|throws|var))\\\\\\\\s+(?=[(?A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"contentName\\\":\\\"meta.other.type.phpdoc.php\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},{\\\"match\\\":\\\"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"match\\\":\\\"\\\\\\\\{(@(link|inherit[Dd]oc)).+?}\\\",\\\"name\\\":\\\"meta.tag.inline.phpdoc.php\\\"}]},\\\"php_doc_types\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.nullable-type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self|static)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\??[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+([\\\\\\\\&|]\\\\\\\\??[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)*\\\"},\\\"php_doc_types_array_multiple\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.bracket.round.phpdoc.php\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\[])?|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.bracket.round.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"php_doc_types_array_single\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"match\\\":\\\"(?i)([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)(\\\\\\\\[])\\\"},\\\"regex-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"/(?=(\\\\\\\\\\\\\\\\.|[^\\\\\\\"/])++/[ADSUXeimsux]*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.double-quoted.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"include\\\":\\\"#interpolation_double_quoted\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"regex-single-quoted\\\":{\\\"begin\\\":\\\"'/(?=(\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.single-quoted.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single_quote_regex_escape\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\"},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"scope-resolution\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(self|static|parent)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]}},\\\"match\\\":\\\"([A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*::)\\\"},{\\\"begin\\\":\\\"(?i)(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.static.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(class)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(?:((\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)|([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))?\\\"}]},\\\"single_quote_regex_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},\\\"sql-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"'(?=((\\\\\\\\\\\\\\\\')|[^\\\\\\\"'])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.single.unclosed.sql\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^\\\\\\\"`])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},{\\\"include\\\":\\\"#interpolation_double_quoted\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"sql-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^'`])*('|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"match\\\":\\\"\\\\\\\"(?=((\\\\\\\\\\\\\\\\\\\\\\\")|[^\\\\\\\"'])*('|$))\\\",\\\"name\\\":\\\"string.quoted.double.unclosed.sql\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"string-backtick\\\":{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.interpolated.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\`\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex-double-quoted\\\"},{\\\"include\\\":\\\"#sql-string-double-quoted\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#regex-single-quoted\\\"},{\\\"include\\\":\\\"#sql-string-single-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.apc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(compact|count|current|end|extract|in_array|key(_exists)?|list|nat(case)?sort|next|pos|prev|range|reset|shuffle|sizeof|[ak]?r?sort|u[ak]?sort|array_(all|any|change_key_case|chunk|column|combine|count_values|fill(_keys)?|filter|find(_key)?|flip|is_list|key_(exists|first|last)|keys|map|multisort|pad|pop|product|push|rand|reduce|reverse|search|shift|slice|splice|sum|unique|unshift|values|u?(diff|intersect)(_u?(key|assoc))?|(walk|replace|merge)(_recursive)?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.array.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(connection_(aborted|status)|constant|defined?|die|eval|exit|get_browser|__halt_compiler|highlight_(file|string)|hrtime|ignore_user_abort|pack|php_strip_whitespace|show_source|u?sleep|sys_getloadavg|time_(nanosleep|sleep_until)|uniqid|unpack)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.basic_functions.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbc(add|ceil|comp|(div|pow)(mod)?|floor|mod|mul|round|scale|sqrt|sub)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bcmath.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bblenc_encrypt\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.blenc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bz2.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.calendar.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(__autoload|class_alias|(class|interface|method|property|trait|enum)_exists|is_(a|subclass_of)|get_(class(_(vars|methods))?|(called|parent)_class|(mangled_)?object_vars|declared_(classes|interfaces|traits)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.classobj.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.com.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(isset|unset|eval|empty|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ctype.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bcurl_(close|copy_handle|errno|error|escape|exec|getinfo|init|pause|reset|setopt(_array)?|strerror|unescape|upkeep|version|multi_((add|remove)_handle|close|errno|exec|getcontent|info_read|init|select|setopt|strerror)|share_(close|errno|init(_persistent)?|setopt|strerror))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.curl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_immutable)?(_from_format)?|timestamp_[gs]et|timezone_[gs]et|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_[gs]et|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.datetime.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dba.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dbx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dir.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.eio.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.enchant.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(split(i)?|sql_regcase|ereg(i)?(_replace)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ereg.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((restore|set)_(e(?:rror|xception))_handler|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|(clear|get)_last))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.errorfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exec.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exif.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fann.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename|f(data)?sync)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.file.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fileinfo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.filter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f(?:astcgi_finish_request|pm_get_status))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fpm.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.funchand.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gettext.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_(square|power)|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range|seed))?|gcd(ext)?|xor|mod|mul|binomial|kronecker|lcm)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bhash(_(algos|copy|equals|file|final|hkdf|hmac(_(file|algos)?)?|init|pbkdf2|update(_(file|stream))?))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.hash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.http.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iconv(_(str(pos|len|rpos)|substr|[gs]et_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iconv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iisfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(clip|style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(avif|bmp|string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|tga|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd2?|gammacorrect|grab(screen|window)|xbm|resolution|openpolygon|get(clip|interpolation)|avif|bmp))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.image.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_[gs]et_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.info.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.interbase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len|_split)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.intl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bjson_(decode|encode|last_error(_msg)?|validate)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.json.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ldap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.libxml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ezmlm_hash|mail)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mail.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(a?(cos|sin|tan)h?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|f(div|mod|pow)|lcg_value|log(1[0p])?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert|intdiv)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.math.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos|_pad|_split)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info|[lr]?trim|[lu]cfirst|ord|chr|scrub)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mbstring.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mcrypt.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmemcache_debug\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mhash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mongo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_[gs]et|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqli.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_memcache_(set|get_config)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-ms.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-qc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-uh.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr)|http_(clear|get)_last_response_headers|net_get_interfaces|request_parse_body)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.network.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bnsapi_(virtual|response_headers|request_headers)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.nsapi.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.oci8.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopcache_(compile_file|invalidate|is_script_cached|reset|get_(status|configuration))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.opcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_(iv|key)_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|(cms|pkcs7)_(sign|decrypt|encrypt|verify|read)|verify|free_key|random_pseudo_bytes|pkey_(derive|new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|curve_names|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read|verify))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.openssl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpassword_(algos|hash|needs_rehash|verify|get_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.password.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpcntl_(alarm|async_signals|errno|exec|r?fork|get_last_error|[gs]et((?:cpuaffin|prior)ity)|signal(_(dispatch|get_handler))?|sig(procmask|timedwait|waitinfo)|strerror|unshare|wait(p?id)?|wexitstatus|wif((?:exit|signal|stopp)ed)|w(stop|term)sig)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pcntl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pgsql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(virtual|getallheaders|apache_([gs]etenv|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_apache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdom_import_simplexml\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_dom.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_ftp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_imap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_mssql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_odbc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpreg_(split|quote|filter|last_error(_msg)?|replace(_callback(_array)?)?|grep|match(_all)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_pcre.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_spl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_zip.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|e?access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo|(sys|f?path)conf|setrlimit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.posix.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bset(thread|proc)title\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.proctitle.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pspell.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.readline.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brecode(_(string|file))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.recode.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.rrd.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sem.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|((?:regener|cre)ate)_id|get_cookie_params|module_name|gc)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.session.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bshmop_(size|close|open|delete|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.shmop.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsimplexml_(import_dom|load_(string|file))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.simplexml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.snmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(is_soap_fault|use_soap_error_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.soap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsocket_(accept|addrinfo_(bind|connect|explain|lookup)|atmark|bind|(clear|last)_error|close|cmsg_space|connect|create(_(listen|pair))?|(ex|im)port_stream|[gs]et_option|[gs]etopt|get(peer|sock)name|listen|read|recv(from|msg)?|select|send(msg|to)?|set_(non)?block|shutdown|strerror|write|wsaprotocol_info_(export|import|release))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sockets.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlite.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlsrv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.stats.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bstream_(bucket_(new|prepend|append|make_writeable)|context_(create|[gs]et_(options?|default|params))|copy_to_stream|filter_((ap|pre)pend|register|remove)|get_(contents|filters|line|meta_data|transports|wrappers)|is(atty|_local)|notification_callback|register_wrapper|resolve_include_path|select|set_(blocking|chunk_size|(read|write)_buffer|timeout)|socket_(accept|client|enable_crypto|get_name|pair|recvfrom|sendto|server|shutdown)|supports_lock|wrapper_((un)?register|restore))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.streamsfuncs.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|i?replace|pad|repeat|rot13|shuffle|split|word_count|contains|(starts|ends)_with|(in|de)crement)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.string.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sybase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(taint|is_tainted|untaint)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.taint.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(tidy_([gs]etopt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tidy.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btoken_(name|get_all)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tokenizer.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.trader.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.uopz.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.url.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((bool|double|float|int|str)val|debug_zval_dump|empty|get_(debug_type|defined_vars|resource_(id|type))|[gs]ettype|is_(array|bool|callable|countable|double|float|int(eger)?|iterable|long|null|numeric|object|real|resource|scalar|string)|isset|print_r|(un)?serialize|unset|var_(dump|export))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.var.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.wddx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxhprof_(sample_)?((?:dis|en)able)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xhprof.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_([gs]et_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|[gs]et_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlrpc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlwriter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?)|deflate_(add|init)|inflate_(add|get_(read_len|status)|init))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.zlib.php\\\"}]},\\\"switch_statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+(?=switch\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"\\\\\\\\bswitch\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\(.*\\\\\\\\)\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.switch.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.switch-statement.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"ternary_expression\\\":{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.php\\\"}},\\\"end\\\":\\\"(?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))\\\\\\\\s*(?:(\\\\\\\\??->)\\\\\\\\s*(\\\\\\\\g)|(\\\\\\\\[)(?:(\\\\\\\\d+)|((\\\\\\\\$)\\\\\\\\g)|([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))(]))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$\\\\\\\\{)(?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(}))\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_language\\\"},{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"include\\\":\\\"#var_basic\\\"},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{(?=.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}},\\\"scopeName\\\":\\\"source.php\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"xml\\\",\\\"sql\\\",\\\"javascript\\\",\\\"json\\\",\\\"css\\\"]}\"))\n\nexport default [\n...html,\n...xml,\n...sql,\n...javascript,\n...json,\n...css,\nlang\n]\n" + ], + "names": [ + "lang", + "php", + "html", + "xml", + "sql", + "javascript", + "json", + "css" + ], + "mappings": "8OAOA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+k4GAAygmH,CAAC,EAEjimHC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHP,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CfQXZHmo.js b/src/webview-ui/build/assets/chunk-CfQXZHmo.js new file mode 100644 index 0000000000..69f9b18c97 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CfQXZHmo.js @@ -0,0 +1,7 @@ +const t = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#E7DBA0","activityBar.foreground":"#545464","activityBarBadge.background":"#5A7785","activityBarBadge.foreground":"#545464","badge.background":"#E7DBA0","button.background":"#E7DBA0","button.foreground":"#43436C","button.secondaryBackground":"#C7D7E0","button.secondaryForeground":"#545464","checkbox.border":"#C7D7E0","debugToolBar.background":"#D5CEA3","descriptionForeground":"#545464","diffEditor.insertedTextBackground":"#B7D0AE80","dropdown.background":"#D5CEA3","dropdown.border":"#D5CEA3","editor.background":"#F2ECBC","editor.findMatchBackground":"#B5CBD2","editor.findMatchBorder":"#E98A00","editor.findMatchHighlightBackground":"#B5CBD280","editor.foreground":"#545464","editor.lineHighlightBackground":"#E4D794","editor.selectionBackground":"#C7D7E0","editor.selectionHighlightBackground":"#E4D79480","editor.selectionHighlightBorder":"#766B90","editor.wordHighlightBackground":"#E4D7944D","editor.wordHighlightBorder":"#766B90","editor.wordHighlightStrongBackground":"#E4D7944D","editor.wordHighlightStrongBorder":"#766B90","editorBracketHighlight.foreground1":"#624C83","editorBracketHighlight.foreground2":"#CC6D00","editorBracketHighlight.foreground3":"#4D699B","editorBracketHighlight.foreground4":"#B35B79","editorBracketHighlight.foreground5":"#77713F","editorBracketHighlight.foreground6":"#597B75","editorBracketHighlight.unexpectedBracket.foreground":"#D9A594","editorBracketMatch.background":"#D5CEA3","editorBracketMatch.border":"#766B90","editorBracketPairGuide.activeBackground1":"#624C83","editorBracketPairGuide.activeBackground2":"#CC6D00","editorBracketPairGuide.activeBackground3":"#4D699B","editorBracketPairGuide.activeBackground4":"#B35B79","editorBracketPairGuide.activeBackground5":"#77713F","editorBracketPairGuide.activeBackground6":"#597B75","editorCursor.background":"#F2ECBC","editorCursor.foreground":"#545464","editorError.foreground":"#E82424","editorGroup.border":"#D5CEA3","editorGroupHeader.tabsBackground":"#D5CEA3","editorGutter.addedBackground":"#6E915F","editorGutter.deletedBackground":"#D7474B","editorGutter.modifiedBackground":"#DE9800","editorHoverWidget.background":"#F2ECBC","editorHoverWidget.border":"#E7DBA0","editorHoverWidget.highlightForeground":"#5A7785","editorIndentGuide.activeBackground1":"#E4D794","editorIndentGuide.background1":"#E7DBA0","editorInlayHint.background":"#F2ECBC","editorInlayHint.foreground":"#716E61","editorLineNumber.activeForeground":"#CC6D00","editorLineNumber.foreground":"#766B90","editorMarkerNavigation.background":"#E4D794","editorRuler.foreground":"#ff0000","editorSuggestWidget.background":"#C7D7E0","editorSuggestWidget.border":"#C7D7E0","editorSuggestWidget.selectedBackground":"#B5CBD2","editorWarning.foreground":"#E98A00","editorWhitespace.foreground":"#F2ECBC","editorWidget.background":"#F2ECBC","focusBorder":"#C7D7E0","foreground":"#545464","gitDecoration.ignoredResourceForeground":"#716E61","input.background":"#D5CEA3","list.activeSelectionBackground":"#E4D794","list.activeSelectionForeground":"#545464","list.focusBackground":"#E7DBA0","list.focusForeground":"#545464","list.highlightForeground":"#4D699B","list.hoverBackground":"#E4D794","list.hoverForeground":"#545464","list.inactiveSelectionBackground":"#E7DBA0","list.inactiveSelectionForeground":"#545464","list.warningForeground":"#E98A00","menu.background":"#E4D794","menu.border":"#D5CEA3","menu.foreground":"#545464","menu.selectionBackground":"#D5CEA3","menu.selectionForeground":"#545464","menu.separatorBackground":"#766B90","menubar.selectionBackground":"#D5CEA3","menubar.selectionForeground":"#545464","minimapGutter.addedBackground":"#6E915F","minimapGutter.deletedBackground":"#D7474B","minimapGutter.modifiedBackground":"#DE9800","panel.border":"#D5CEA3","panelSectionHeader.background":"#F2ECBC","peekView.border":"#766B90","peekViewEditor.background":"#E7DBA0","peekViewEditor.matchHighlightBackground":"#B5CBD2","peekViewResult.background":"#E4D794","scrollbar.shadow":"#E4D794","scrollbarSlider.activeBackground":"#E7DBA080","scrollbarSlider.background":"#766B9066","scrollbarSlider.hoverBackground":"#766B9080","settings.focusedRowBackground":"#E4D794","settings.headerForeground":"#545464","sideBar.background":"#F2ECBC","sideBar.border":"#D5CEA3","sideBar.foreground":"#545464","sideBarSectionHeader.background":"#E4D794","sideBarSectionHeader.foreground":"#545464","statusBar.background":"#D5CEA3","statusBar.debuggingBackground":"#E82424","statusBar.debuggingBorder":"#624C83","statusBar.debuggingForeground":"#545464","statusBar.foreground":"#43436C","statusBar.noFolderBackground":"#F2ECBC","statusBarItem.hoverBackground":"#E4D794","statusBarItem.remoteBackground":"#B5CBD2","statusBarItem.remoteForeground":"#545464","tab.activeBackground":"#E7DBA0","tab.activeForeground":"#4D699B","tab.border":"#E7DBA0","tab.hoverBackground":"#E4D794","tab.inactiveBackground":"#E5DDB0","tab.unfocusedHoverBackground":"#F2ECBC","terminal.ansiBlack":"#1F1F28","terminal.ansiBlue":"#4D699B","terminal.ansiBrightBlack":"#8A8980","terminal.ansiBrightBlue":"#6693BF","terminal.ansiBrightCyan":"#5E857A","terminal.ansiBrightGreen":"#6E915F","terminal.ansiBrightMagenta":"#624C83","terminal.ansiBrightRed":"#D7474B","terminal.ansiBrightWhite":"#43436C","terminal.ansiBrightYellow":"#836F4A","terminal.ansiCyan":"#597B75","terminal.ansiGreen":"#6F894E","terminal.ansiMagenta":"#B35B79","terminal.ansiRed":"#C84053","terminal.ansiWhite":"#545464","terminal.ansiYellow":"#77713F","terminal.background":"#F2ECBC","terminal.border":"#D5CEA3","terminal.foreground":"#545464","terminal.selectionBackground":"#C7D7E0","textBlockQuote.background":"#F2ECBC","textBlockQuote.border":"#D5CEA3","textLink.foreground":"#5E857A","textPreformat.foreground":"#E98A00","titleBar.activeBackground":"#E4D794","titleBar.activeForeground":"#545464","titleBar.inactiveBackground":"#F2ECBC","titleBar.inactiveForeground":"#545464","walkThrough.embeddedEditorBackground":"#F2ECBC"},"displayName":"Kanagawa Lotus","name":"kanagawa-lotus","semanticHighlighting":true,"semanticTokenColors":{"arithmetic":"#836F4A","function":"#4D699B","keyword.controlFlow":{"fontStyle":"bold","foreground":"#624C83"},"macro":"#C84053","method":"#6693BF","operator":"#836F4A","parameter":"#5D57A3","parameter.declaration":"#5D57A3","parameter.definition":"#5D57A3","variable":"#545464","variable.readonly":"#545464","variable.readonly.defaultLibrary":"#545464","variable.readonly.local":"#545464"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#716E61"}},{"scope":["variable","string constant.other.placeholder"],"settings":{"foreground":"#545464"}},{"scope":["constant.other.color"],"settings":{"foreground":"#CC6D00"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#E82424"}},{"scope":["storage.type"],"settings":{"foreground":"#624C83"}},{"scope":["storage.modifier"],"settings":{"foreground":"#624C83"}},{"scope":["keyword.control.flow","keyword.control.conditional","keyword.control.loop"],"settings":{"fontStyle":"bold","foreground":"#624C83"}},{"scope":["keyword.control","constant.other.color","meta.tag","keyword.other.template","keyword.other.substitution","keyword.other"],"settings":{"foreground":"#624C83"}},{"scope":["keyword.other.definition.ini"],"settings":{"foreground":"#CC6D00"}},{"scope":["keyword.control.trycatch"],"settings":{"fontStyle":"bold","foreground":"#D9A594"}},{"scope":["keyword.other.unit","keyword.operator"],"settings":{"foreground":"#77713F"}},{"scope":["punctuation","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","meta.brace","keyword.operator.type.annotation","keyword.operator.namespace"],"settings":{"foreground":"#4E8CA2"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#77713F"}},{"scope":["entity.name.function","meta.function-call","variable.function","support.function"],"settings":{"foreground":"#4D699B"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#6693BF"}},{"scope":["entity.name.function.macro"],"settings":{"foreground":"#C84053"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#545464"}},{"scope":["variable.other.enummember"],"settings":{"foreground":"#CC6D00"}},{"scope":["support.other.variable"],"settings":{"foreground":"#545464"}},{"scope":["string.other.link"],"settings":{"foreground":"#6693BF"}},{"scope":["constant.numeric","constant.language","support.constant","constant.character","constant.escape"],"settings":{"foreground":"#CC6D00"}},{"scope":["constant.language.boolean"],"settings":{"foreground":"#CC6D00"}},{"scope":["constant.numeric"],"settings":{"foreground":"#B35B79"}},{"scope":["string","punctuation.definition.string","constant.other.symbol","constant.other.key","entity.other.inherited-class","markup.heading","markup.inserted.git_gutter","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","markup.inline.raw.string"],"settings":{"foreground":"#6F894E"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types"],"settings":{"foreground":"#597B75"}},{"scope":["entity.name.type.module","entity.name.namespace"],"settings":{"foreground":"#77713F"}},{"scope":["entity.name.import.go"],"settings":{"foreground":"#6F894E"}},{"scope":["keyword.blade"],"settings":{"foreground":"#624C83"}},{"scope":["variable.other.property"],"settings":{"foreground":"#77713F"}},{"scope":["keyword.control.import","keyword.import","meta.import"],"settings":{"foreground":"#CC6D00"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name"],"settings":{"foreground":"#597B75"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#D9A594"}},{"scope":["variable.language"],"settings":{"foreground":"#D9A594"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#6693BF"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#6693BF"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#624C83"}},{"scope":["entity.other.attribute-name.class"],"settings":{"foreground":"#77713F"}},{"scope":["source.sass keyword.control"],"settings":{"foreground":"#6693BF"}},{"scope":["markup.inserted"],"settings":{"foreground":"#6E915F"}},{"scope":["markup.deleted"],"settings":{"foreground":"#D7474B"}},{"scope":["markup.changed"],"settings":{"foreground":"#DE9800"}},{"scope":["string.regexp"],"settings":{"foreground":"#836F4A"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#6693BF"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#624C83"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#D9A594"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#B35B79"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#77713F"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#CC6D00"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D9A594"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#CC6D00"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#4D699B"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#B35B79"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#624C83"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#6F894E"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#545464"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#545464"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#624C83"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#624C83"}},{"scope":["markdown.heading","entity.name.section.markdown","markup.heading.markdown"],"settings":{"foreground":"#4D699B"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#C84053"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#C84053"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#6693BF"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#716E61"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic"}},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#CC6D00"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#624C83"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#77713F"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#624C83"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#716E61"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#716E61"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#545464"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#716E61"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#4E8CA2"}},{"scope":["markup.table"],"settings":{"foreground":"#545464"}}],"type":"light"}', + ), +) +export { t as default } +//# sourceMappingURL=chunk-CfQXZHmo.js.map diff --git a/src/webview-ui/build/assets/chunk-CfQXZHmo.js.map b/src/webview-ui/build/assets/chunk-CfQXZHmo.js.map new file mode 100644 index 0000000000..92b4aa127b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CfQXZHmo.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-CfQXZHmo.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/kanagawa-lotus.mjs" + ], + "sourcesContent": [ + "/* Theme: kanagawa-lotus */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#E7DBA0\\\",\\\"activityBar.foreground\\\":\\\"#545464\\\",\\\"activityBarBadge.background\\\":\\\"#5A7785\\\",\\\"activityBarBadge.foreground\\\":\\\"#545464\\\",\\\"badge.background\\\":\\\"#E7DBA0\\\",\\\"button.background\\\":\\\"#E7DBA0\\\",\\\"button.foreground\\\":\\\"#43436C\\\",\\\"button.secondaryBackground\\\":\\\"#C7D7E0\\\",\\\"button.secondaryForeground\\\":\\\"#545464\\\",\\\"checkbox.border\\\":\\\"#C7D7E0\\\",\\\"debugToolBar.background\\\":\\\"#D5CEA3\\\",\\\"descriptionForeground\\\":\\\"#545464\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#B7D0AE80\\\",\\\"dropdown.background\\\":\\\"#D5CEA3\\\",\\\"dropdown.border\\\":\\\"#D5CEA3\\\",\\\"editor.background\\\":\\\"#F2ECBC\\\",\\\"editor.findMatchBackground\\\":\\\"#B5CBD2\\\",\\\"editor.findMatchBorder\\\":\\\"#E98A00\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#B5CBD280\\\",\\\"editor.foreground\\\":\\\"#545464\\\",\\\"editor.lineHighlightBackground\\\":\\\"#E4D794\\\",\\\"editor.selectionBackground\\\":\\\"#C7D7E0\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#E4D79480\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#766B90\\\",\\\"editor.wordHighlightBackground\\\":\\\"#E4D7944D\\\",\\\"editor.wordHighlightBorder\\\":\\\"#766B90\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#E4D7944D\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#766B90\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#624C83\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#CC6D00\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#4D699B\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#B35B79\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#77713F\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#597B75\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#D9A594\\\",\\\"editorBracketMatch.background\\\":\\\"#D5CEA3\\\",\\\"editorBracketMatch.border\\\":\\\"#766B90\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#624C83\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#CC6D00\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#4D699B\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#B35B79\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#77713F\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#597B75\\\",\\\"editorCursor.background\\\":\\\"#F2ECBC\\\",\\\"editorCursor.foreground\\\":\\\"#545464\\\",\\\"editorError.foreground\\\":\\\"#E82424\\\",\\\"editorGroup.border\\\":\\\"#D5CEA3\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#D5CEA3\\\",\\\"editorGutter.addedBackground\\\":\\\"#6E915F\\\",\\\"editorGutter.deletedBackground\\\":\\\"#D7474B\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#DE9800\\\",\\\"editorHoverWidget.background\\\":\\\"#F2ECBC\\\",\\\"editorHoverWidget.border\\\":\\\"#E7DBA0\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#5A7785\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#E4D794\\\",\\\"editorIndentGuide.background1\\\":\\\"#E7DBA0\\\",\\\"editorInlayHint.background\\\":\\\"#F2ECBC\\\",\\\"editorInlayHint.foreground\\\":\\\"#716E61\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#CC6D00\\\",\\\"editorLineNumber.foreground\\\":\\\"#766B90\\\",\\\"editorMarkerNavigation.background\\\":\\\"#E4D794\\\",\\\"editorRuler.foreground\\\":\\\"#ff0000\\\",\\\"editorSuggestWidget.background\\\":\\\"#C7D7E0\\\",\\\"editorSuggestWidget.border\\\":\\\"#C7D7E0\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#B5CBD2\\\",\\\"editorWarning.foreground\\\":\\\"#E98A00\\\",\\\"editorWhitespace.foreground\\\":\\\"#F2ECBC\\\",\\\"editorWidget.background\\\":\\\"#F2ECBC\\\",\\\"focusBorder\\\":\\\"#C7D7E0\\\",\\\"foreground\\\":\\\"#545464\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#716E61\\\",\\\"input.background\\\":\\\"#D5CEA3\\\",\\\"list.activeSelectionBackground\\\":\\\"#E4D794\\\",\\\"list.activeSelectionForeground\\\":\\\"#545464\\\",\\\"list.focusBackground\\\":\\\"#E7DBA0\\\",\\\"list.focusForeground\\\":\\\"#545464\\\",\\\"list.highlightForeground\\\":\\\"#4D699B\\\",\\\"list.hoverBackground\\\":\\\"#E4D794\\\",\\\"list.hoverForeground\\\":\\\"#545464\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#E7DBA0\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#545464\\\",\\\"list.warningForeground\\\":\\\"#E98A00\\\",\\\"menu.background\\\":\\\"#E4D794\\\",\\\"menu.border\\\":\\\"#D5CEA3\\\",\\\"menu.foreground\\\":\\\"#545464\\\",\\\"menu.selectionBackground\\\":\\\"#D5CEA3\\\",\\\"menu.selectionForeground\\\":\\\"#545464\\\",\\\"menu.separatorBackground\\\":\\\"#766B90\\\",\\\"menubar.selectionBackground\\\":\\\"#D5CEA3\\\",\\\"menubar.selectionForeground\\\":\\\"#545464\\\",\\\"minimapGutter.addedBackground\\\":\\\"#6E915F\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#D7474B\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#DE9800\\\",\\\"panel.border\\\":\\\"#D5CEA3\\\",\\\"panelSectionHeader.background\\\":\\\"#F2ECBC\\\",\\\"peekView.border\\\":\\\"#766B90\\\",\\\"peekViewEditor.background\\\":\\\"#E7DBA0\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#B5CBD2\\\",\\\"peekViewResult.background\\\":\\\"#E4D794\\\",\\\"scrollbar.shadow\\\":\\\"#E4D794\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#E7DBA080\\\",\\\"scrollbarSlider.background\\\":\\\"#766B9066\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#766B9080\\\",\\\"settings.focusedRowBackground\\\":\\\"#E4D794\\\",\\\"settings.headerForeground\\\":\\\"#545464\\\",\\\"sideBar.background\\\":\\\"#F2ECBC\\\",\\\"sideBar.border\\\":\\\"#D5CEA3\\\",\\\"sideBar.foreground\\\":\\\"#545464\\\",\\\"sideBarSectionHeader.background\\\":\\\"#E4D794\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#545464\\\",\\\"statusBar.background\\\":\\\"#D5CEA3\\\",\\\"statusBar.debuggingBackground\\\":\\\"#E82424\\\",\\\"statusBar.debuggingBorder\\\":\\\"#624C83\\\",\\\"statusBar.debuggingForeground\\\":\\\"#545464\\\",\\\"statusBar.foreground\\\":\\\"#43436C\\\",\\\"statusBar.noFolderBackground\\\":\\\"#F2ECBC\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#E4D794\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#B5CBD2\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#545464\\\",\\\"tab.activeBackground\\\":\\\"#E7DBA0\\\",\\\"tab.activeForeground\\\":\\\"#4D699B\\\",\\\"tab.border\\\":\\\"#E7DBA0\\\",\\\"tab.hoverBackground\\\":\\\"#E4D794\\\",\\\"tab.inactiveBackground\\\":\\\"#E5DDB0\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#F2ECBC\\\",\\\"terminal.ansiBlack\\\":\\\"#1F1F28\\\",\\\"terminal.ansiBlue\\\":\\\"#4D699B\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#8A8980\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6693BF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5E857A\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#6E915F\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#624C83\\\",\\\"terminal.ansiBrightRed\\\":\\\"#D7474B\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#43436C\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#836F4A\\\",\\\"terminal.ansiCyan\\\":\\\"#597B75\\\",\\\"terminal.ansiGreen\\\":\\\"#6F894E\\\",\\\"terminal.ansiMagenta\\\":\\\"#B35B79\\\",\\\"terminal.ansiRed\\\":\\\"#C84053\\\",\\\"terminal.ansiWhite\\\":\\\"#545464\\\",\\\"terminal.ansiYellow\\\":\\\"#77713F\\\",\\\"terminal.background\\\":\\\"#F2ECBC\\\",\\\"terminal.border\\\":\\\"#D5CEA3\\\",\\\"terminal.foreground\\\":\\\"#545464\\\",\\\"terminal.selectionBackground\\\":\\\"#C7D7E0\\\",\\\"textBlockQuote.background\\\":\\\"#F2ECBC\\\",\\\"textBlockQuote.border\\\":\\\"#D5CEA3\\\",\\\"textLink.foreground\\\":\\\"#5E857A\\\",\\\"textPreformat.foreground\\\":\\\"#E98A00\\\",\\\"titleBar.activeBackground\\\":\\\"#E4D794\\\",\\\"titleBar.activeForeground\\\":\\\"#545464\\\",\\\"titleBar.inactiveBackground\\\":\\\"#F2ECBC\\\",\\\"titleBar.inactiveForeground\\\":\\\"#545464\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#F2ECBC\\\"},\\\"displayName\\\":\\\"Kanagawa Lotus\\\",\\\"name\\\":\\\"kanagawa-lotus\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"arithmetic\\\":\\\"#836F4A\\\",\\\"function\\\":\\\"#4D699B\\\",\\\"keyword.controlFlow\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#624C83\\\"},\\\"macro\\\":\\\"#C84053\\\",\\\"method\\\":\\\"#6693BF\\\",\\\"operator\\\":\\\"#836F4A\\\",\\\"parameter\\\":\\\"#5D57A3\\\",\\\"parameter.declaration\\\":\\\"#5D57A3\\\",\\\"parameter.definition\\\":\\\"#5D57A3\\\",\\\"variable\\\":\\\"#545464\\\",\\\"variable.readonly\\\":\\\"#545464\\\",\\\"variable.readonly.defaultLibrary\\\":\\\"#545464\\\",\\\"variable.readonly.local\\\":\\\"#545464\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E82424\\\"}},{\\\"scope\\\":[\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\",\\\"keyword.control.conditional\\\",\\\"keyword.control.loop\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"keyword.control.trycatch\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\",\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"punctuation\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"meta.brace\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4E8CA2\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4D699B\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C84053\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B35B79\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"markup.inline.raw.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6F894E\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#597B75\\\"}},{\\\"scope\\\":[\\\"entity.name.type.module\\\",\\\"entity.name.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"entity.name.import.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6F894E\\\"}},{\\\"scope\\\":[\\\"keyword.blade\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"keyword.control.import\\\",\\\"keyword.import\\\",\\\"meta.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#597B75\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6E915F\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D7474B\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DE9800\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#836F4A\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B35B79\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4D699B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B35B79\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6F894E\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"entity.name.section.markdown\\\",\\\"markup.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4D699B\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#C84053\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C84053\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4E8CA2\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "kanagawaLotus" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,4qhBAA8vkB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CfeIJUat.js b/src/webview-ui/build/assets/chunk-CfeIJUat.js new file mode 100644 index 0000000000..07d3a9de0d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CfeIJUat.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"ActionScript","fileTypes":["as"],"name":"actionscript-3","patterns":[{"include":"#comments"},{"include":"#package"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"},{"include":"#import"},{"include":"#mxml"},{"include":"#strings"},{"include":"#regexp"},{"include":"#variable_declaration"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#logical_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#control_keywords"},{"include":"#other_keywords"},{"include":"#use_namespace"},{"include":"#functions"}],"repository":{"arithmetic_operators":{"match":"([-%+/]|(??^|~])","name":"keyword.operator.actionscript.3"},"metadata":{"begin":"(?<=(?:^|[;{}]|\\\\*/)\\\\s*)\\\\[\\\\s*\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\b","beginCaptures":{"1":{"name":"keyword.other.actionscript.3"}},"end":"]","name":"meta.metadata_info.actionscript.3","patterns":[{"include":"#metadata_info"}]},"metadata_info":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#strings"},{"captures":{"1":{"name":"variable.parameter.actionscript.3"},"2":{"name":"keyword.operator.actionscript.3"}},"match":"(\\\\w+)\\\\s*(=)"}]},"method":{"begin":"(^|\\\\s+)((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?((\\\\w+)\\\\s+)?(?=\\\\bfunction\\\\b)","beginCaptures":{"3":{"name":"storage.modifier.actionscript.3"},"5":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"storage.modifier.actionscript.3"}},"end":"(?<=([;}]))","name":"meta.method.actionscript.3","patterns":[{"include":"#functions"},{"include":"#code_block"}]},"mxml":{"begin":"","name":"meta.cdata.actionscript.3","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#metadata"},{"include":"#class"},{"include":"#namespace_declaration"},{"include":"#use_namespace"},{"include":"#class_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#other_keywords"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#other_operators"},{"include":"#arithmetic_operators"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#variable_declaration"}]},"namespace_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"3":{"name":"storage.modifier.actionscript.3"}},"match":"((\\\\w+)\\\\s+)?(namespace)\\\\s+[$0-9A-Z_a-z]+","name":"meta.namespace_declaration.actionscript.3"},"numbers":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.actionscript.3"},"object_literal":{"begin":"\\\\{","end":"}","name":"meta.object_literal.actionscript.3","patterns":[{"include":"#object_literal"},{"include":"#comments"},{"include":"#strings"},{"include":"#regexp"},{"include":"#numbers"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#primitive_functions"},{"include":"#language_constants"},{"include":"#language_variables"},{"include":"#guess_type"},{"include":"#guess_constant"},{"include":"#array_access_operators"},{"include":"#vector_creation_operators"},{"include":"#functions"}]},"other_keywords":{"match":"\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\b","name":"keyword.other.actionscript.3"},"other_operators":{"match":"([.=])","name":"keyword.operator.actionscript.3"},"package":{"begin":"(^|\\\\s+)(package)\\\\b","beginCaptures":{"2":{"name":"keyword.other.actionscript.3"}},"end":"}","name":"meta.package.actionscript.3","patterns":[{"include":"#package_name"},{"include":"#variable_declaration"},{"include":"#method"},{"include":"#comments"},{"include":"#return_type"},{"include":"#import"},{"include":"#use_namespace"},{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#metadata"},{"include":"#class"},{"include":"#interface"},{"include":"#namespace_declaration"}]},"package_name":{"begin":"(?<=package)\\\\s+([._\\\\w]*)\\\\b","end":"\\\\{","name":"meta.package_name.actionscript.3"},"parameters":{"begin":"(\\\\.\\\\.\\\\.)?\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\s*(:)\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)))?(?:\\\\s*(=))?","beginCaptures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"variable.parameter.actionscript.3"},"3":{"name":"keyword.operator.actionscript.3"},"4":{"name":"support.type.actionscript.3"},"5":{"name":"support.type.actionscript.3"},"6":{"name":"support.type.actionscript.3"},"7":{"name":"keyword.operator.actionscript.3"}},"end":",|(?=\\\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#language_constants"},{"include":"#comments"},{"include":"#primitive_types"},{"include":"#primitive_error_types"},{"include":"#dynamic_type"},{"include":"#guess_type"},{"include":"#guess_constant"}]},"primitive_error_types":{"captures":{"1":{"name":"support.class.error.actionscript.3"}},"match":"\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\b"},"primitive_functions":{"captures":{"1":{"name":"support.function.actionscript.3"}},"match":"\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\s*\\\\()"},"primitive_types":{"captures":{"1":{"name":"support.class.builtin.actionscript.3"}},"match":"\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\*(?<=a))\\\\b"},"regexp":{"begin":"(?<=[(,:=\\\\[]|^|return|&&|\\\\|\\\\||!)\\\\s*(/)(?![*+/?{}])","end":"$|(/)[gim]*","name":"string.regex.actionscript.3","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.actionscript.3"},{"match":"\\\\[(\\\\\\\\]|[^]])*]","name":"constant.character.class.actionscript.3"}]},"return_type":{"captures":{"1":{"name":"keyword.operator.actionscript.3"},"2":{"name":"support.type.actionscript.3"},"3":{"name":"support.type.actionscript.3"},"4":{"name":"support.type.actionscript.3"}},"match":"(:)\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\*)"},"strings":{"patterns":[{"begin":"@\\"","end":"\\"","name":"string.quoted.verbatim.actionscript.3"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.actionscript.3","patterns":[{"include":"#escapes"}]},{"begin":"'","end":"'","name":"string.quoted.single.actionscript.3","patterns":[{"include":"#escapes"}]}]},"use_namespace":{"captures":{"2":{"name":"keyword.other.actionscript.3"},"3":{"name":"keyword.other.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"}},"match":"(^|\\\\s+|;)(use\\\\s+)?(namespace)\\\\s+(\\\\w+)\\\\s*(;|$)"},"variable_declaration":{"captures":{"2":{"name":"storage.modifier.actionscript.3"},"4":{"name":"storage.modifier.actionscript.3"},"6":{"name":"storage.modifier.actionscript.3"},"7":{"name":"storage.modifier.actionscript.3"},"8":{"name":"keyword.operator.actionscript.3"}},"match":"((static)\\\\s+)?((\\\\w+)\\\\s+)?((static)\\\\s+)?(const|var)\\\\s+[$0-9A-Z_a-z]+(?:\\\\s*(:))?","name":"meta.variable_declaration.actionscript.3"},"vector_creation_operators":{"match":"([<>])","name":"keyword.operator.actionscript.3"}},"scopeName":"source.actionscript.3"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-CfeIJUat.js.map diff --git a/src/webview-ui/build/assets/chunk-CfeIJUat.js.map b/src/webview-ui/build/assets/chunk-CfeIJUat.js.map new file mode 100644 index 0000000000..b32f05f3cf --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CfeIJUat.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CfeIJUat.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/actionscript-3.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ActionScript\\\",\\\"fileTypes\\\":[\\\"as\\\"],\\\"name\\\":\\\"actionscript-3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#package\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#interface\\\"},{\\\"include\\\":\\\"#namespace_declaration\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#mxml\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#functions\\\"}],\\\"repository\\\":{\\\"arithmetic_operators\\\":{\\\"match\\\":\\\"([-%+/]|(??^|~])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"metadata\\\":{\\\"begin\\\":\\\"(?<=(?:^|[;{}]|\\\\\\\\*/)\\\\\\\\s*)\\\\\\\\[\\\\\\\\s*\\\\\\\\b([$A-Z_a-z][$0-9A-Z_a-z]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.metadata_info.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#metadata_info\\\"}]},\\\"metadata_info\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(=)\\\"}]},\\\"method\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\s+)((\\\\\\\\w+)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?(?=\\\\\\\\bfunction\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"8\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"end\\\":\\\"(?<=([;}]))\\\",\\\"name\\\":\\\"meta.method.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#code_block\\\"}]},\\\"mxml\\\":{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"meta.cdata.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#namespace_declaration\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#class_declaration\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#other_keywords\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#other_operators\\\"},{\\\"include\\\":\\\"#arithmetic_operators\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"}]},\\\"namespace_declaration\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"match\\\":\\\"((\\\\\\\\w+)\\\\\\\\s+)?(namespace)\\\\\\\\s+[$0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"meta.namespace_declaration.actionscript.3\\\"},\\\"numbers\\\":{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.actionscript.3\\\"},\\\"object_literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.object_literal.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object_literal\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#primitive_functions\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#language_variables\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"},{\\\"include\\\":\\\"#array_access_operators\\\"},{\\\"include\\\":\\\"#vector_creation_operators\\\"},{\\\"include\\\":\\\"#functions\\\"}]},\\\"other_keywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(as|delete|in|instanceof|is|native|new|to|typeof)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"other_operators\\\":{\\\"match\\\":\\\"([.=])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"package\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\s+)(package)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.package.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#package_name\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#return_type\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#use_namespace\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#interface\\\"},{\\\"include\\\":\\\"#namespace_declaration\\\"}]},\\\"package_name\\\":{\\\"begin\\\":\\\"(?<=package)\\\\\\\\s+([._\\\\\\\\w]*)\\\\\\\\b\\\",\\\"end\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"meta.package_name.actionscript.3\\\"},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*([$A-Z_a-z][$0-9A-Z_a-z]*)(?:\\\\\\\\s*(:)\\\\\\\\s*(?:([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\\\\\*)))?(?:\\\\\\\\s*(=))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"end\\\":\\\",|(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#primitive_types\\\"},{\\\"include\\\":\\\"#primitive_error_types\\\"},{\\\"include\\\":\\\"#dynamic_type\\\"},{\\\"include\\\":\\\"#guess_type\\\"},{\\\"include\\\":\\\"#guess_constant\\\"}]},\\\"primitive_error_types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.error.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b((Argument|Definition|Eval|Internal|Range|Reference|Security|Syntax|Type|URI|Verify)?Error)\\\\\\\\b\\\"},\\\"primitive_functions\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|isFinite|isNaN|isXMLName|parseFloat|parseInt|trace|unescape)(?=\\\\\\\\s*\\\\\\\\()\\\"},\\\"primitive_types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.builtin.actionscript.3\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Array|Boolean|Class|Date|Function|int|JSON|Math|Namespace|Number|Object|QName|RegExp|String|uint|Vector|XML|XMLList|\\\\\\\\*(?<=a))\\\\\\\\b\\\"},\\\"regexp\\\":{\\\"begin\\\":\\\"(?<=[(,:=\\\\\\\\[]|^|return|&&|\\\\\\\\|\\\\\\\\||!)\\\\\\\\s*(/)(?![*+/?{}])\\\",\\\"end\\\":\\\"$|(/)[gim]*\\\",\\\"name\\\":\\\"string.regex.actionscript.3\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.actionscript.3\\\"},{\\\"match\\\":\\\"\\\\\\\\[(\\\\\\\\\\\\\\\\]|[^]])*]\\\",\\\"name\\\":\\\"constant.character.class.actionscript.3\\\"}]},\\\"return_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.actionscript.3\\\"}},\\\"match\\\":\\\"(:)\\\\\\\\s*([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)(?:\\\\\\\\.<([$A-Za-z][$0-9A-Z_a-z]+(?:\\\\\\\\.[$A-Za-z][$0-9A-Z_a-z]+)*)>)?|(\\\\\\\\*)\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.verbatim.actionscript.3\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.actionscript.3\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}]},\\\"use_namespace\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"}},\\\"match\\\":\\\"(^|\\\\\\\\s+|;)(use\\\\\\\\s+)?(namespace)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*(;|$)\\\"},\\\"variable_declaration\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.actionscript.3\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"match\\\":\\\"((static)\\\\\\\\s+)?((\\\\\\\\w+)\\\\\\\\s+)?((static)\\\\\\\\s+)?(const|var)\\\\\\\\s+[$0-9A-Z_a-z]+(?:\\\\\\\\s*(:))?\\\",\\\"name\\\":\\\"meta.variable_declaration.actionscript.3\\\"},\\\"vector_creation_operators\\\":{\\\"match\\\":\\\"([<>])\\\",\\\"name\\\":\\\"keyword.operator.actionscript.3\\\"}},\\\"scopeName\\\":\\\"source.actionscript.3\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "actionscript3" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,iqbAA+te,CAAC,EAEvveC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cg-RD9OK.js b/src/webview-ui/build/assets/chunk-Cg-RD9OK.js new file mode 100644 index 0000000000..d38e96c184 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cg-RD9OK.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Common Lisp","fileTypes":["lisp","lsp","l","cl","asd","asdf"],"foldingStartMarker":"\\\\(","foldingStopMarker":"\\\\)","name":"common-lisp","patterns":[{"include":"#comment"},{"include":"#block-comment"},{"include":"#string"},{"include":"#escape"},{"include":"#constant"},{"include":"#lambda-list"},{"include":"#function"},{"include":"#style-guide"},{"include":"#def-name"},{"include":"#macro"},{"include":"#symbol"},{"include":"#special-operator"},{"include":"#declaration"},{"include":"#type"},{"include":"#class"},{"include":"#condition-type"},{"include":"#package"},{"include":"#variable"},{"include":"#punctuation"}],"repository":{"block-comment":{"begin":"#\\\\|","contentName":"comment.block.commonlisp","end":"\\\\|#","name":"comment","patterns":[{"include":"#block-comment","name":"comment"}]},"class":{"match":"(?i)(?<=^|[(\\\\s])(?:two-way-stream|synonym-stream|symbol|structure-object|structure-class|string-stream|stream|standard-object|standard-method|standard-generic-function|standard-class|sequence|restart|real|readtable|ratio|random-state|package|number|method|integer|hash-table|generic-function|file-stream|echo-stream|concatenated-stream|class|built-in-class|broadcast-stream|bit-vector|array)(?=([()\\\\s]))","name":"support.class.commonlisp"},"comment":{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.commonlisp"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.commonlisp"}},"end":"\\\\n","name":"comment.line.semicolon.commonlisp"}]},"condition-type":{"match":"(?i)(?<=^|[(\\\\s])(?:warning|undefined-function|unbound-variable|unbound-slot|type-error|style-warning|stream-error|storage-condition|simple-warning|simple-type-error|simple-error|simple-condition|serious-condition|reader-error|program-error|print-not-readable|parse-error|package-error|floating-point-underflow|floating-point-overflow|floating-point-invalid-operation|floating-point-inexact|file-error|error|end-of-file|division-by-zero|control-error|condition|cell-error|arithmetic-error)(?=([()\\\\s]))","name":"support.type.exception.commonlisp"},"constant":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(?:t|single-float-negative-epsilon|single-float-epsilon|short-float-negative-epsilon|short-float-epsilon|pi|nil|multiple-values-limit|most-positive-single-float|most-positive-short-float|most-positive-long-float|most-positive-fixnum|most-positive-double-float|most-negative-single-float|most-negative-short-float|most-negative-long-float|most-negative-fixnum|most-negative-double-float|long-float-negative-epsilon|long-float-epsilon|least-positive-single-float|least-positive-short-float|least-positive-normalized-single-float|least-positive-normalized-short-float|least-positive-normalized-long-float|least-positive-normalized-double-float|least-positive-long-float|least-positive-double-float|least-negative-single-float|least-negative-short-float|least-negative-normalized-single-float|least-negative-normalized-short-float|least-negative-normalized-long-float|least-negative-normalized-double-float|least-negative-long-float|least-negative-double-float|lambda-parameters-limit|lambda-list-keywords|internal-time-units-per-second|double-float-negative-epsilon|double-float-epsilon|char-code-limit|call-arguments-limit|boole-xor|boole-set|boole-orc2|boole-orc1|boole-nor|boole-nand|boole-ior|boole-eqv|boole-clr|boole-c2|boole-c1|boole-andc2|boole-andc1|boole-and|boole-2|boole-1|array-total-size-limit|array-rank-limit|array-dimension-limit)(?=([()\\\\s]))","name":"constant.language.commonlisp"},{"match":"(?<=^|[(\\\\s]|,@|,\\\\.?)([-+]?[0-9]+(?:/[0-9]+)*|[-+]?[0-9]*\\\\.?[0-9]+([Ee][-+]?[0-9]+)?|(#[Bb])[-+/01]+|(#[Oo])[-+/-7]+|(#[Xx])[-+/\\\\h]+|(#[0-9]+[Rr]?)[-+/-9A-Za-z]+)(?=([)\\\\s]))","name":"constant.numeric.commonlisp"},{"match":"(?i)(?<=\\\\s)(\\\\.)(?=\\\\s)","name":"variable.other.constant.dot.commonlisp"},{"match":"(?<=^|[(\\\\s]|,@|,\\\\.?)([-+]?[0-9]*\\\\.[0-9]*(([DEFLSdefls])[-+]?[0-9]+)?|[-+]?[0-9]+(\\\\.[0-9]*)?([DEFLSdefls])[-+]?[0-9]+)(?=([)\\\\s]))","name":"constant.numeric.commonlisp"}]},"declaration":{"match":"(?i)(?<=^|[(\\\\s])(?:type|speed|special|space|safety|optimize|notinline|inline|ignore|ignorable|ftype|dynamic-extent|declaration|debug|compilation-speed)(?=([()\\\\s]))","name":"storage.type.function.declaration.commonlisp"},"def-name":{"patterns":[{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"3":{"name":"storage.type.function.defname.commonlisp"},"4":{"name":"variable.other.constant.defname.commonlisp"},"6":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"entity.name.function.commonlisp"}]},"7":{"name":"variable.other.constant.defname.commonlisp"},"9":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"entity.name.function.commonlisp"}]}},"match":"(?i)(?<=^|[(\\\\s])(def(?:un|setf|method|macro|ine-symbol-macro|ine-setf-expander|ine-modify-macro|ine-method-combination|ine-compiler-macro|generic))\\\\s+(\\\\(\\\\s*([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+)\\\\s*((,(?:@|\\\\.?))?)([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)|((,(?:@|\\\\.?))?)([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?))(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"2":{"name":"entity.name.type.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])(def(?:type|package|ine-condition|class))\\\\s+([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"2":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"variable.other.constant.defname.commonlisp"}]}},"match":"(?i)(?<=^|[(\\\\s])(defconstant)\\\\s+([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])(def(?:var|parameter))\\\\s+(?=([()\\\\s]))"},{"captures":{"1":{"name":"storage.type.function.defname.commonlisp"},"2":{"name":"entity.name.type.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])(defstruct)\\\\s+\\\\(?\\\\s*([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"},{"captures":{"1":{"name":"keyword.control.commonlisp"},"2":{"patterns":[{"include":"#package"},{"match":"\\\\S+?","name":"entity.name.function.commonlisp"}]}},"match":"(?i)(?<=^|[(\\\\s])(macrolet|labels|flet)\\\\s+\\\\(\\\\s*\\\\(\\\\s*([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(?=([()\\\\s]))"}]},"escape":{"match":"(?i)(?<=^|[(\\\\s])#\\\\\\\\\\\\S+?(?=([()\\\\s]))","name":"constant.character.escape.commonlisp"},"function":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|#')(?:values|third|tenth|symbol-value|symbol-plist|symbol-function|svref|subseq|sixth|seventh|second|schar|sbit|row-major-aref|rest|readtable-case|nth|ninth|mask-field|macro-function|logical-pathname-translations|ldb|gethash|getf?|fourth|first|find-class|fill-pointer|fifth|fdefinition|elt|eighth|compiler-macro-function|char|cdr|cddr|cdddr|cddddr|cdddar|cddar|cddadr|cddaar|cdar|cdadr|cdaddr|cdadar|cdaar|cdaadr|cdaaar|car|cadr|caddr|cadddr|caddar|cadar|cadadr|cadaar|caar|caadr|caaddr|caadar|caaar|caaadr|caaaar|bit|aref)(?=([()\\\\s]))","name":"support.function.accessor.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#')(?:yes-or-no-p|y-or-n-p|write-sequence|write-char|write-byte|warn|vector-pop|use-value|use-package|unuse-package|union|unintern|unexport|terpri|tailp|substitute-if-not|substitute-if|substitute|subst-if-not|subst-if|subst|sublis|string-upcase|string-downcase|string-capitalize|store-value|sleep|signal|shadowing-import|shadow|set-syntax-from-char|set-macro-character|set-exclusive-or|set-dispatch-macro-character|set-difference|set|rplacd|rplaca|room|reverse|revappend|require|replace|remprop|remove-if-not|remove-if|remove-duplicates|remove|remhash|read-sequence|read-byte|random|provide|pprint-tabular|pprint-newline|pprint-linear|pprint-fill|nunion|nsubstitute-if-not|nsubstitute-if|nsubstitute|nsubst-if-not|nsubst-if|nsubst|nsublis|nstring-upcase|nstring-downcase|nstring-capitalize|nset-exclusive-or|nset-difference|nreverse|nreconc|nintersection|nconc|muffle-warning|method-combination-error|maphash|makunbound|ldiff|invoke-restart-interactively|invoke-restart|invoke-debugger|invalid-method-error|intersection|inspect|import|get-output-stream-string|get-macro-character|get-dispatch-macro-character|gentemp|gensym|fresh-line|fill|file-position|export|describe|delete-if-not|delete-if|delete-duplicates|delete|continue|clrhash|close|clear-input|break|abort)(?=([()\\\\s]))","name":"support.function.f.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#')(?:zerop|write-to-string|write-string|write-line|write|wild-pathname-p|vectorp|vector-push-extend|vector-push|vector|values-list|user-homedir-pathname|upper-case-p|upgraded-complex-part-type|upgraded-array-element-type|unread-char|unbound-slot-instance|typep|type-of|type-error-expected-type|type-error-datum|two-way-stream-output-stream|two-way-stream-input-stream|truncate|truename|tree-equal|translate-pathname|translate-logical-pathname|tanh?|synonym-stream-symbol|symbolp|symbol-package|symbol-name|sxhash|subtypep|subsetp|stringp|string>=?|string=|string<=?|string/=|string-trim|string-right-trim|string-not-lessp|string-not-greaterp|string-not-equal|string-lessp|string-left-trim|string-greaterp|string-equal|string|streamp|stream-external-format|stream-error-stream|stream-element-type|standard-char-p|stable-sort|sqrt|special-operator-p|sort|some|software-version|software-type|slot-value|slot-makunbound|slot-exists-p|slot-boundp|sinh?|simple-vector-p|simple-string-p|simple-condition-format-control|simple-condition-format-arguments|simple-bit-vector-p|signum|short-site-name|set-pprint-dispatch|search|scale-float|round|restart-name|rename-package|rename-file|rem|reduce|realpart|realp|readtablep|read-preserving-whitespace|read-line|read-from-string|read-delimited-list|read-char-no-hang|read-char|read|rationalp|rationalize|rational|rassoc-if-not|rassoc-if|rassoc|random-state-p|proclaim|probe-file|print-not-readable-object|print|princ-to-string|princ|prin1-to-string|prin1|pprint-tab|pprint-indent|pprint-dispatch|pprint|position-if-not|position-if|position|plusp|phase|peek-char|pathnamep|pathname-version|pathname-type|pathname-name|pathname-match-p|pathname-host|pathname-directory|pathname-device|pathname|parse-namestring|parse-integer|pairlis|packagep|package-used-by-list|package-use-list|package-shadowing-symbols|package-nicknames|package-name|package-error-package|output-stream-p|open-stream-p|open|oddp|numerator|numberp|null|nthcdr|notevery|notany|not|next-method-p|nbutlast|namestring|name-char|mod|mismatch|minusp|min|merge-pathnames|merge|member-if-not|member-if|member|max|maplist|mapl|mapcon|mapcar|mapcan|mapc|map-into|map|make-two-way-stream|make-synonym-stream|make-symbol|make-string-output-stream|make-string-input-stream|make-string|make-sequence|make-random-state|make-pathname|make-package|make-load-form-saving-slots|make-list|make-hash-table|make-echo-stream|make-dispatch-macro-character|make-condition|make-concatenated-stream|make-broadcast-stream|make-array|macroexpand-1|macroexpand|machine-version|machine-type|machine-instance|lower-case-p|long-site-name|logxor|logtest|logorc2|logorc1|lognot|lognor|lognand|logior|logical-pathname|logeqv|logcount|logbitp|logandc2|logandc1|logand|log|load-logical-pathname-translations|load|listp|listen|list-length|list-all-packages|list\\\\*?|lisp-implementation-version|lisp-implementation-type|length|ldb-test|lcm|last|keywordp|isqrt|intern|interactive-stream-p|integerp|integer-length|integer-decode-float|input-stream-p|imagpart|identity|host-namestring|hash-table-test|hash-table-size|hash-table-rehash-threshold|hash-table-rehash-size|hash-table-p|hash-table-count|graphic-char-p|get-universal-time|get-setf-expansion|get-properties|get-internal-run-time|get-internal-real-time|get-decoded-time|gcd|functionp|function-lambda-expression|funcall|ftruncate|fround|format|force-output|fmakunbound|floor|floatp|float-sign|float-radix|float-precision|float-digits|float|finish-output|find-symbol|find-restart|find-package|find-if-not|find-if|find-all-symbols|find|file-write-date|file-string-length|file-namestring|file-length|file-error-pathname|file-author|ffloor|fceiling|fboundp|expt?|every|evenp|eval|equalp?|eql?|ensure-generic-function|ensure-directories-exist|enough-namestring|endp|encode-universal-time|ed|echo-stream-output-stream|echo-stream-input-stream|dribble|dpb|disassemble|directory-namestring|directory|digit-char-p|digit-char|deposit-field|denominator|delete-package|delete-file|decode-universal-time|decode-float|count-if-not|count-if|count|cosh?|copy-tree|copy-symbol|copy-structure|copy-seq|copy-readtable|copy-pprint-dispatch|copy-list|copy-alist|constantp|constantly|consp?|conjugate|concatenated-stream-streams|concatenate|compute-restarts|complexp?|complement|compiled-function-p|compile-file-pathname|compile-file|compile|coerce|code-char|clear-output|class-of|cis|characterp?|char>=?|char=|char<=?|char/=|char-upcase|char-not-lessp|char-not-greaterp|char-not-equal|char-name|char-lessp|char-int|char-greaterp|char-equal|char-downcase|char-code|cerror|cell-error-name|ceiling|call-next-method|byte-size|byte-position|byte|butlast|broadcast-stream-streams|boundp|both-case-p|boole|bit-xor|bit-vector-p|bit-orc2|bit-orc1|bit-not|bit-nor|bit-nand|bit-ior|bit-eqv|bit-andc2|bit-andc1|bit-and|atom|atanh?|assoc-if-not|assoc-if|assoc|asinh?|ash|arrayp|array-total-size|array-row-major-index|array-rank|array-in-bounds-p|array-has-fill-pointer-p|array-element-type|array-displacement|array-dimensions?|arithmetic-error-operation|arithmetic-error-operands|apropos-list|apropos|apply|append|alphanumericp|alpha-char-p|adjustable-array-p|adjust-array|adjoin|acosh?|acons|abs|>=|[=>]|<=?|1-|1\\\\+|/=|[-*+/])(?=([()\\\\s]))","name":"support.function.f.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#')(?:variable|update-instance-for-redefined-class|update-instance-for-different-class|structure|slot-unbound|slot-missing|shared-initialize|remove-method|print-object|no-next-method|no-applicable-method|method-qualifiers|make-load-form|make-instances-obsolete|make-instance|initialize-instance|function-keywords|find-method|documentation|describe-object|compute-applicable-methods|compiler-macro|class-name|change-class|allocate-instance|add-method)(?=([()\\\\s]))","name":"support.function.sgf.nosideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#')reinitialize-instance(?=([()\\\\s]))","name":"support.function.sgf.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|#')satisfies(?=([()\\\\s]))","name":"support.function.typespecifier.commonlisp"}]},"lambda-list":{"match":"(?i)(?<=^|[(\\\\s])&(?:[]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?|whole|rest|optional|key|environment|body|aux|allow-other-keys)(?=([()\\\\s]))","name":"keyword.other.lambdalist.commonlisp"},"macro":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s])(?:with-standard-io-syntax|with-slots|with-simple-restart|with-package-iterator|with-hash-table-iterator|with-condition-restarts|with-compilation-unit|with-accessors|when|unless|typecase|time|step|shiftf|setf|rotatef|return|restart-case|restart-bind|psetf|prog2|prog1|prog\\\\*?|print-unreadable-object|pprint-logical-block|pprint-exit-if-list-exhausted|or|nth-value|multiple-value-setq|multiple-value-list|multiple-value-bind|make-method|loop|lambda|ignore-errors|handler-case|handler-bind|formatter|etypecase|dotimes|dolist|do-symbols|do-external-symbols|do-all-symbols|do\\\\*?|destructuring-bind|defun|deftype|defstruct|defsetf|defpackage|defmethod|defmacro|define-symbol-macro|define-setf-expander|define-condition|define-compiler-macro|defgeneric|defconstant|defclass|declaim|ctypecase|cond|call-method|assert|and)(?=([()\\\\s]))","name":"storage.type.function.m.nosideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s])(?:with-output-to-string|with-open-stream|with-open-file|with-input-from-string|untrace|trace|remf|pushnew|push|psetq|pprint-pop|pop|otherwise|loop-finish|incf|in-package|ecase|defvar|defparameter|define-modify-macro|define-method-combination|decf|check-type|ccase|case)(?=([()\\\\s]))","name":"storage.type.function.m.sideeffects.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s])setq(?=([()\\\\s]))","name":"storage.type.function.specialform.commonlisp"}]},"package":{"patterns":[{"captures":{"2":{"name":"support.type.package.commonlisp"},"3":{"name":"support.type.package.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(([]!$%\\\\&*+\\\\--9<-\\\\[^_a-{}~]+?)|(#))(?=::?)"}]},"punctuation":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(['\`])(?=\\\\S)","name":"variable.other.constant.singlequote.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?):[]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?(?=([()\\\\s]))","name":"entity.name.variable.commonlisp"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]*)(?=\\\\()"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]*)(\\\\*)(?=[01])"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#0??\\\\*)(?=([()\\\\s]))","name":"variable.other.constant.sharpsign.commonlisp"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]+)([Aa])(?=.)"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]+)(=)(?=.)"},{"captures":{"1":{"name":"variable.other.constant.sharpsign.commonlisp"},"2":{"name":"constant.numeric.commonlisp"},"3":{"name":"variable.other.constant.sharpsign.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)([0-9]+)(#)(?=.)"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#([-+]))(?=\\\\S)","name":"variable.other.constant.sharpsign.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#([',.CPScps]))(?=\\\\S)","name":"variable.other.constant.sharpsign.commonlisp"},{"captures":{"1":{"name":"support.type.package.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(#)(:)(?=\\\\S)"},{"captures":{"2":{"name":"variable.other.constant.backquote.commonlisp"},"3":{"name":"variable.other.constant.backquote.commonlisp"},"4":{"name":"variable.other.constant.backquote.commonlisp"},"5":{"name":"variable.other.constant.backquote.commonlisp"}},"match":"(?i)(?<=^|[(\\\\s])((\`#)|(\`)(,(?:@|\\\\.?))?|(,(?:@|\\\\.?)))(?=\\\\S)"}]},"special-operator":{"captures":{"2":{"name":"keyword.control.commonlisp"}},"match":"(?i)(\\\\(\\\\s*)(unwind-protect|throw|the|tagbody|symbol-macrolet|return-from|quote|progv|progn|multiple-value-prog1|multiple-value-call|macrolet|locally|load-time-value|let\\\\*?|labels|if|go|function|flet|eval-when|catch|block)(?=([()\\\\s]))"},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.commonlisp"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.commonlisp"}},"name":"string.quoted.double.commonlisp","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.commonlisp"},{"captures":{"1":{"name":"storage.type.function.formattedstring.commonlisp"},"2":{"name":"variable.other.constant.formattedstring.commonlisp"},"8":{"name":"storage.type.function.formattedstring.commonlisp"},"10":{"name":"storage.type.function.formattedstring.commonlisp"}},"match":"(?i)(~)(((([-+]?[0-9]+)|('.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)([]();<>\\\\[^{}])"},{"captures":{"1":{"name":"entity.name.variable.commonlisp"},"2":{"name":"variable.other.constant.formattedstring.commonlisp"},"8":{"name":"entity.name.variable.commonlisp"},"10":{"name":"entity.name.variable.commonlisp"}},"match":"(?i)(~)(((([-+]?[0-9]+)|('.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)([$%\\\\&*?A-GIOPRSTWX_|~])"},{"captures":{"1":{"name":"entity.name.variable.commonlisp"},"2":{"name":"variable.other.constant.formattedstring.commonlisp"},"8":{"name":"entity.name.variable.commonlisp"},"10":{"name":"entity.name.variable.commonlisp"},"11":{"name":"entity.name.variable.commonlisp"},"12":{"name":"entity.name.variable.commonlisp"}},"match":"(?i)(~)(((([-+]?[0-9]+)|('.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)(/)([]!#-\\\\&*+\\\\--:<-\\\\[^_a-{}~]+?)(/)"},{"match":"(~\\\\n)","name":"variable.other.constant.formattedstring.commonlisp"}]},"style-guide":{"patterns":[{"captures":{"3":{"name":"source.commonlisp"}},"match":"(?i)(?<=(?:^|[(\\\\s]|,@|,\\\\.?)')(\\\\S+?)(::?)((\\\\+[^+\\\\s]+\\\\+)|(\\\\*[^*\\\\s]+\\\\*))(?=([()\\\\s]))"},{"match":"(?i)(?<=\\\\S:|^|[(\\\\s]|,@|,\\\\.?)(\\\\+[^+\\\\s]+\\\\+)(?=([()\\\\s]))","name":"variable.other.constant.earmuffsplus.commonlisp"},{"match":"(?i)(?<=\\\\S:|^|[(\\\\s]|,@|,\\\\.?)(\\\\*[^*\\\\s]+\\\\*)(?=([()\\\\s]))","name":"string.regexp.earmuffsasterisk.commonlisp"}]},"symbol":{"match":"(?i)(?<=^|[(\\\\s])(?:method-combination|declare)(?=([()\\\\s]))","name":"storage.type.function.symbol.commonlisp"},"type":{"match":"(?i)(?<=^|[(\\\\s])(?:unsigned-byte|standard-char|standard|single-float|simple-vector|simple-string|simple-bit-vector|simple-base-string|simple-array|signed-byte|short-float|long-float|keyword|fixnum|extended-char|double-float|compiled-function|boolean|bignum|base-string|base-char)(?=([()\\\\s]))","name":"support.type.t.commonlisp"},"variable":{"patterns":[{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)\\\\*(?:trace-output|terminal-io|standard-output|standard-input|readtable|read-suppress|read-eval|read-default-float-format|read-base|random-state|query-io|print-right-margin|print-readably|print-radix|print-pretty|print-pprint-dispatch|print-miser-width|print-lines|print-level|print-length|print-gensym|print-escape|print-circle|print-case|print-base|print-array|package|modules|macroexpand-hook|load-verbose|load-truename|load-print|load-pathname|gensym-counter|features|error-output|default-pathname-defaults|debugger-hook|debug-io|compile-verbose|compile-print|compile-file-truename|compile-file-pathname|break-on-signals)\\\\*(?=([()\\\\s]))","name":"string.regexp.earmuffsasterisk.commonlisp"},{"match":"(?i)(?<=^|[(\\\\s]|,@|,\\\\.?)(?:\\\\*\\\\*\\\\*?|\\\\+\\\\+\\\\+?|///?)(?=([()\\\\s]))","name":"variable.other.repl.commonlisp"}]}},"scopeName":"source.commonlisp","aliases":["lisp"]}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-Cg-RD9OK.js.map diff --git a/src/webview-ui/build/assets/chunk-Cg-RD9OK.js.map b/src/webview-ui/build/assets/chunk-Cg-RD9OK.js.map new file mode 100644 index 0000000000..5809fb34a6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cg-RD9OK.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Cg-RD9OK.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/common-lisp.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Common Lisp\\\",\\\"fileTypes\\\":[\\\"lisp\\\",\\\"lsp\\\",\\\"l\\\",\\\"cl\\\",\\\"asd\\\",\\\"asdf\\\"],\\\"foldingStartMarker\\\":\\\"\\\\\\\\(\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"common-lisp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#block-comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#lambda-list\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#style-guide\\\"},{\\\"include\\\":\\\"#def-name\\\"},{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"#symbol\\\"},{\\\"include\\\":\\\"#special-operator\\\"},{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#condition-type\\\"},{\\\"include\\\":\\\"#package\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#punctuation\\\"}],\\\"repository\\\":{\\\"block-comment\\\":{\\\"begin\\\":\\\"#\\\\\\\\|\\\",\\\"contentName\\\":\\\"comment.block.commonlisp\\\",\\\"end\\\":\\\"\\\\\\\\|#\\\",\\\"name\\\":\\\"comment\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comment\\\",\\\"name\\\":\\\"comment\\\"}]},\\\"class\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:two-way-stream|synonym-stream|symbol|structure-object|structure-class|string-stream|stream|standard-object|standard-method|standard-generic-function|standard-class|sequence|restart|real|readtable|ratio|random-state|package|number|method|integer|hash-table|generic-function|file-stream|echo-stream|concatenated-stream|class|built-in-class|broadcast-stream|bit-vector|array)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.class.commonlisp\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=;)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.commonlisp\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\";\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.commonlisp\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.semicolon.commonlisp\\\"}]},\\\"condition-type\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:warning|undefined-function|unbound-variable|unbound-slot|type-error|style-warning|stream-error|storage-condition|simple-warning|simple-type-error|simple-error|simple-condition|serious-condition|reader-error|program-error|print-not-readable|parse-error|package-error|floating-point-underflow|floating-point-overflow|floating-point-invalid-operation|floating-point-inexact|file-error|error|end-of-file|division-by-zero|control-error|condition|cell-error|arithmetic-error)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.type.exception.commonlisp\\\"},\\\"constant\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(?:t|single-float-negative-epsilon|single-float-epsilon|short-float-negative-epsilon|short-float-epsilon|pi|nil|multiple-values-limit|most-positive-single-float|most-positive-short-float|most-positive-long-float|most-positive-fixnum|most-positive-double-float|most-negative-single-float|most-negative-short-float|most-negative-long-float|most-negative-fixnum|most-negative-double-float|long-float-negative-epsilon|long-float-epsilon|least-positive-single-float|least-positive-short-float|least-positive-normalized-single-float|least-positive-normalized-short-float|least-positive-normalized-long-float|least-positive-normalized-double-float|least-positive-long-float|least-positive-double-float|least-negative-single-float|least-negative-short-float|least-negative-normalized-single-float|least-negative-normalized-short-float|least-negative-normalized-long-float|least-negative-normalized-double-float|least-negative-long-float|least-negative-double-float|lambda-parameters-limit|lambda-list-keywords|internal-time-units-per-second|double-float-negative-epsilon|double-float-epsilon|char-code-limit|call-arguments-limit|boole-xor|boole-set|boole-orc2|boole-orc1|boole-nor|boole-nand|boole-ior|boole-eqv|boole-clr|boole-c2|boole-c1|boole-andc2|boole-andc1|boole-and|boole-2|boole-1|array-total-size-limit|array-rank-limit|array-dimension-limit)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"constant.language.commonlisp\\\"},{\\\"match\\\":\\\"(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)([-+]?[0-9]+(?:/[0-9]+)*|[-+]?[0-9]*\\\\\\\\.?[0-9]+([Ee][-+]?[0-9]+)?|(#[Bb])[-+/01]+|(#[Oo])[-+/-7]+|(#[Xx])[-+/\\\\\\\\h]+|(#[0-9]+[Rr]?)[-+/-9A-Za-z]+)(?=([)\\\\\\\\s]))\\\",\\\"name\\\":\\\"constant.numeric.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s)(\\\\\\\\.)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"variable.other.constant.dot.commonlisp\\\"},{\\\"match\\\":\\\"(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)([-+]?[0-9]*\\\\\\\\.[0-9]*(([DEFLSdefls])[-+]?[0-9]+)?|[-+]?[0-9]+(\\\\\\\\.[0-9]*)?([DEFLSdefls])[-+]?[0-9]+)(?=([)\\\\\\\\s]))\\\",\\\"name\\\":\\\"constant.numeric.commonlisp\\\"}]},\\\"declaration\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:type|speed|special|space|safety|optimize|notinline|inline|ignore|ignorable|ftype|dynamic-extent|declaration|debug|compilation-speed)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.function.declaration.commonlisp\\\"},\\\"def-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.defname.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.function.defname.commonlisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.constant.defname.commonlisp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package\\\"},{\\\"match\\\":\\\"\\\\\\\\S+?\\\",\\\"name\\\":\\\"entity.name.function.commonlisp\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"variable.other.constant.defname.commonlisp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package\\\"},{\\\"match\\\":\\\"\\\\\\\\S+?\\\",\\\"name\\\":\\\"entity.name.function.commonlisp\\\"}]}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(def(?:un|setf|method|macro|ine-symbol-macro|ine-setf-expander|ine-modify-macro|ine-method-combination|ine-compiler-macro|generic))\\\\\\\\s+(\\\\\\\\(\\\\\\\\s*([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+)\\\\\\\\s*((,(?:@|\\\\\\\\.?))?)([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?)|((,(?:@|\\\\\\\\.?))?)([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?))(?=([()\\\\\\\\s]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.defname.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(def(?:type|package|ine-condition|class))\\\\\\\\s+([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?)(?=([()\\\\\\\\s]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.defname.commonlisp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package\\\"},{\\\"match\\\":\\\"\\\\\\\\S+?\\\",\\\"name\\\":\\\"variable.other.constant.defname.commonlisp\\\"}]}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(defconstant)\\\\\\\\s+([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?)(?=([()\\\\\\\\s]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.defname.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(def(?:var|parameter))\\\\\\\\s+(?=([()\\\\\\\\s]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.defname.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(defstruct)\\\\\\\\s+\\\\\\\\(?\\\\\\\\s*([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?)(?=([()\\\\\\\\s]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.commonlisp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package\\\"},{\\\"match\\\":\\\"\\\\\\\\S+?\\\",\\\"name\\\":\\\"entity.name.function.commonlisp\\\"}]}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(macrolet|labels|flet)\\\\\\\\s+\\\\\\\\(\\\\\\\\s*\\\\\\\\(\\\\\\\\s*([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?)(?=([()\\\\\\\\s]))\\\"}]},\\\"escape\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])#\\\\\\\\\\\\\\\\\\\\\\\\S+?(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"constant.character.escape.commonlisp\\\"},\\\"function\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|#')(?:values|third|tenth|symbol-value|symbol-plist|symbol-function|svref|subseq|sixth|seventh|second|schar|sbit|row-major-aref|rest|readtable-case|nth|ninth|mask-field|macro-function|logical-pathname-translations|ldb|gethash|getf?|fourth|first|find-class|fill-pointer|fifth|fdefinition|elt|eighth|compiler-macro-function|char|cdr|cddr|cdddr|cddddr|cdddar|cddar|cddadr|cddaar|cdar|cdadr|cdaddr|cdadar|cdaar|cdaadr|cdaaar|car|cadr|caddr|cadddr|caddar|cadar|cadadr|cadaar|caar|caadr|caaddr|caadar|caaar|caaadr|caaaar|bit|aref)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.accessor.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|#')(?:yes-or-no-p|y-or-n-p|write-sequence|write-char|write-byte|warn|vector-pop|use-value|use-package|unuse-package|union|unintern|unexport|terpri|tailp|substitute-if-not|substitute-if|substitute|subst-if-not|subst-if|subst|sublis|string-upcase|string-downcase|string-capitalize|store-value|sleep|signal|shadowing-import|shadow|set-syntax-from-char|set-macro-character|set-exclusive-or|set-dispatch-macro-character|set-difference|set|rplacd|rplaca|room|reverse|revappend|require|replace|remprop|remove-if-not|remove-if|remove-duplicates|remove|remhash|read-sequence|read-byte|random|provide|pprint-tabular|pprint-newline|pprint-linear|pprint-fill|nunion|nsubstitute-if-not|nsubstitute-if|nsubstitute|nsubst-if-not|nsubst-if|nsubst|nsublis|nstring-upcase|nstring-downcase|nstring-capitalize|nset-exclusive-or|nset-difference|nreverse|nreconc|nintersection|nconc|muffle-warning|method-combination-error|maphash|makunbound|ldiff|invoke-restart-interactively|invoke-restart|invoke-debugger|invalid-method-error|intersection|inspect|import|get-output-stream-string|get-macro-character|get-dispatch-macro-character|gentemp|gensym|fresh-line|fill|file-position|export|describe|delete-if-not|delete-if|delete-duplicates|delete|continue|clrhash|close|clear-input|break|abort)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.f.sideeffects.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|#')(?:zerop|write-to-string|write-string|write-line|write|wild-pathname-p|vectorp|vector-push-extend|vector-push|vector|values-list|user-homedir-pathname|upper-case-p|upgraded-complex-part-type|upgraded-array-element-type|unread-char|unbound-slot-instance|typep|type-of|type-error-expected-type|type-error-datum|two-way-stream-output-stream|two-way-stream-input-stream|truncate|truename|tree-equal|translate-pathname|translate-logical-pathname|tanh?|synonym-stream-symbol|symbolp|symbol-package|symbol-name|sxhash|subtypep|subsetp|stringp|string>=?|string=|string<=?|string/=|string-trim|string-right-trim|string-not-lessp|string-not-greaterp|string-not-equal|string-lessp|string-left-trim|string-greaterp|string-equal|string|streamp|stream-external-format|stream-error-stream|stream-element-type|standard-char-p|stable-sort|sqrt|special-operator-p|sort|some|software-version|software-type|slot-value|slot-makunbound|slot-exists-p|slot-boundp|sinh?|simple-vector-p|simple-string-p|simple-condition-format-control|simple-condition-format-arguments|simple-bit-vector-p|signum|short-site-name|set-pprint-dispatch|search|scale-float|round|restart-name|rename-package|rename-file|rem|reduce|realpart|realp|readtablep|read-preserving-whitespace|read-line|read-from-string|read-delimited-list|read-char-no-hang|read-char|read|rationalp|rationalize|rational|rassoc-if-not|rassoc-if|rassoc|random-state-p|proclaim|probe-file|print-not-readable-object|print|princ-to-string|princ|prin1-to-string|prin1|pprint-tab|pprint-indent|pprint-dispatch|pprint|position-if-not|position-if|position|plusp|phase|peek-char|pathnamep|pathname-version|pathname-type|pathname-name|pathname-match-p|pathname-host|pathname-directory|pathname-device|pathname|parse-namestring|parse-integer|pairlis|packagep|package-used-by-list|package-use-list|package-shadowing-symbols|package-nicknames|package-name|package-error-package|output-stream-p|open-stream-p|open|oddp|numerator|numberp|null|nthcdr|notevery|notany|not|next-method-p|nbutlast|namestring|name-char|mod|mismatch|minusp|min|merge-pathnames|merge|member-if-not|member-if|member|max|maplist|mapl|mapcon|mapcar|mapcan|mapc|map-into|map|make-two-way-stream|make-synonym-stream|make-symbol|make-string-output-stream|make-string-input-stream|make-string|make-sequence|make-random-state|make-pathname|make-package|make-load-form-saving-slots|make-list|make-hash-table|make-echo-stream|make-dispatch-macro-character|make-condition|make-concatenated-stream|make-broadcast-stream|make-array|macroexpand-1|macroexpand|machine-version|machine-type|machine-instance|lower-case-p|long-site-name|logxor|logtest|logorc2|logorc1|lognot|lognor|lognand|logior|logical-pathname|logeqv|logcount|logbitp|logandc2|logandc1|logand|log|load-logical-pathname-translations|load|listp|listen|list-length|list-all-packages|list\\\\\\\\*?|lisp-implementation-version|lisp-implementation-type|length|ldb-test|lcm|last|keywordp|isqrt|intern|interactive-stream-p|integerp|integer-length|integer-decode-float|input-stream-p|imagpart|identity|host-namestring|hash-table-test|hash-table-size|hash-table-rehash-threshold|hash-table-rehash-size|hash-table-p|hash-table-count|graphic-char-p|get-universal-time|get-setf-expansion|get-properties|get-internal-run-time|get-internal-real-time|get-decoded-time|gcd|functionp|function-lambda-expression|funcall|ftruncate|fround|format|force-output|fmakunbound|floor|floatp|float-sign|float-radix|float-precision|float-digits|float|finish-output|find-symbol|find-restart|find-package|find-if-not|find-if|find-all-symbols|find|file-write-date|file-string-length|file-namestring|file-length|file-error-pathname|file-author|ffloor|fceiling|fboundp|expt?|every|evenp|eval|equalp?|eql?|ensure-generic-function|ensure-directories-exist|enough-namestring|endp|encode-universal-time|ed|echo-stream-output-stream|echo-stream-input-stream|dribble|dpb|disassemble|directory-namestring|directory|digit-char-p|digit-char|deposit-field|denominator|delete-package|delete-file|decode-universal-time|decode-float|count-if-not|count-if|count|cosh?|copy-tree|copy-symbol|copy-structure|copy-seq|copy-readtable|copy-pprint-dispatch|copy-list|copy-alist|constantp|constantly|consp?|conjugate|concatenated-stream-streams|concatenate|compute-restarts|complexp?|complement|compiled-function-p|compile-file-pathname|compile-file|compile|coerce|code-char|clear-output|class-of|cis|characterp?|char>=?|char=|char<=?|char/=|char-upcase|char-not-lessp|char-not-greaterp|char-not-equal|char-name|char-lessp|char-int|char-greaterp|char-equal|char-downcase|char-code|cerror|cell-error-name|ceiling|call-next-method|byte-size|byte-position|byte|butlast|broadcast-stream-streams|boundp|both-case-p|boole|bit-xor|bit-vector-p|bit-orc2|bit-orc1|bit-not|bit-nor|bit-nand|bit-ior|bit-eqv|bit-andc2|bit-andc1|bit-and|atom|atanh?|assoc-if-not|assoc-if|assoc|asinh?|ash|arrayp|array-total-size|array-row-major-index|array-rank|array-in-bounds-p|array-has-fill-pointer-p|array-element-type|array-displacement|array-dimensions?|arithmetic-error-operation|arithmetic-error-operands|apropos-list|apropos|apply|append|alphanumericp|alpha-char-p|adjustable-array-p|adjust-array|adjoin|acosh?|acons|abs|>=|[=>]|<=?|1-|1\\\\\\\\+|/=|[-*+/])(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.f.sideeffects.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|#')(?:variable|update-instance-for-redefined-class|update-instance-for-different-class|structure|slot-unbound|slot-missing|shared-initialize|remove-method|print-object|no-next-method|no-applicable-method|method-qualifiers|make-load-form|make-instances-obsolete|make-instance|initialize-instance|function-keywords|find-method|documentation|describe-object|compute-applicable-methods|compiler-macro|class-name|change-class|allocate-instance|add-method)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.sgf.nosideeffects.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|#')reinitialize-instance(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.sgf.sideeffects.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|#')satisfies(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.function.typespecifier.commonlisp\\\"}]},\\\"lambda-list\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])&(?:[]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?|whole|rest|optional|key|environment|body|aux|allow-other-keys)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"keyword.other.lambdalist.commonlisp\\\"},\\\"macro\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:with-standard-io-syntax|with-slots|with-simple-restart|with-package-iterator|with-hash-table-iterator|with-condition-restarts|with-compilation-unit|with-accessors|when|unless|typecase|time|step|shiftf|setf|rotatef|return|restart-case|restart-bind|psetf|prog2|prog1|prog\\\\\\\\*?|print-unreadable-object|pprint-logical-block|pprint-exit-if-list-exhausted|or|nth-value|multiple-value-setq|multiple-value-list|multiple-value-bind|make-method|loop|lambda|ignore-errors|handler-case|handler-bind|formatter|etypecase|dotimes|dolist|do-symbols|do-external-symbols|do-all-symbols|do\\\\\\\\*?|destructuring-bind|defun|deftype|defstruct|defsetf|defpackage|defmethod|defmacro|define-symbol-macro|define-setf-expander|define-condition|define-compiler-macro|defgeneric|defconstant|defclass|declaim|ctypecase|cond|call-method|assert|and)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.function.m.nosideeffects.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:with-output-to-string|with-open-stream|with-open-file|with-input-from-string|untrace|trace|remf|pushnew|push|psetq|pprint-pop|pop|otherwise|loop-finish|incf|in-package|ecase|defvar|defparameter|define-modify-macro|define-method-combination|decf|check-type|ccase|case)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.function.m.sideeffects.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])setq(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.function.specialform.commonlisp\\\"}]},\\\"package\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.type.package.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.package.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(([]!$%\\\\\\\\&*+\\\\\\\\--9<-\\\\\\\\[^_a-{}~]+?)|(#))(?=::?)\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(['`])(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"variable.other.constant.singlequote.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?):[]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#)([0-9]*)(?=\\\\\\\\()\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#)([0-9]*)(\\\\\\\\*)(?=[01])\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#0??\\\\\\\\*)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#)([0-9]+)([Aa])(?=.)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#)([0-9]+)(=)(?=.)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#)([0-9]+)(#)(?=.)\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#([-+]))(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#([',.CPScps]))(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"variable.other.constant.sharpsign.commonlisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.package.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(#)(:)(?=\\\\\\\\S)\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.backquote.commonlisp\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.backquote.commonlisp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.constant.backquote.commonlisp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.constant.backquote.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])((`#)|(`)(,(?:@|\\\\\\\\.?))?|(,(?:@|\\\\\\\\.?)))(?=\\\\\\\\S)\\\"}]},\\\"special-operator\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\(\\\\\\\\s*)(unwind-protect|throw|the|tagbody|symbol-macrolet|return-from|quote|progv|progn|multiple-value-prog1|multiple-value-call|macrolet|locally|load-time-value|let\\\\\\\\*?|labels|if|go|function|flet|eval-when|catch|block)(?=([()\\\\\\\\s]))\\\"},\\\"string\\\":{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.commonlisp\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.commonlisp\\\"}},\\\"name\\\":\\\"string.quoted.double.commonlisp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.commonlisp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.formattedstring.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.formattedstring.commonlisp\\\"},\\\"8\\\":{\\\"name\\\":\\\"storage.type.function.formattedstring.commonlisp\\\"},\\\"10\\\":{\\\"name\\\":\\\"storage.type.function.formattedstring.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(~)(((([-+]?[0-9]+)|('.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)([]();<>\\\\\\\\[^{}])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.formattedstring.commonlisp\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},\\\"10\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(~)(((([-+]?[0-9]+)|('.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)([$%\\\\\\\\&*?A-GIOPRSTWX_|~])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.formattedstring.commonlisp\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},\\\"10\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},\\\"11\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"},\\\"12\\\":{\\\"name\\\":\\\"entity.name.variable.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(~)(((([-+]?[0-9]+)|('.)|[#V])*?(,)?)*?)((:@|@:|[:@])?)(/)([]!#-\\\\\\\\&*+\\\\\\\\--:<-\\\\\\\\[^_a-{}~]+?)(/)\\\"},{\\\"match\\\":\\\"(~\\\\\\\\n)\\\",\\\"name\\\":\\\"variable.other.constant.formattedstring.commonlisp\\\"}]},\\\"style-guide\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"3\\\":{\\\"name\\\":\\\"source.commonlisp\\\"}},\\\"match\\\":\\\"(?i)(?<=(?:^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)')(\\\\\\\\S+?)(::?)((\\\\\\\\+[^+\\\\\\\\s]+\\\\\\\\+)|(\\\\\\\\*[^*\\\\\\\\s]+\\\\\\\\*))(?=([()\\\\\\\\s]))\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\S:|^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(\\\\\\\\+[^+\\\\\\\\s]+\\\\\\\\+)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.constant.earmuffsplus.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\S:|^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(\\\\\\\\*[^*\\\\\\\\s]+\\\\\\\\*)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"string.regexp.earmuffsasterisk.commonlisp\\\"}]},\\\"symbol\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:method-combination|declare)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.function.symbol.commonlisp\\\"},\\\"type\\\":{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s])(?:unsigned-byte|standard-char|standard|single-float|simple-vector|simple-string|simple-bit-vector|simple-base-string|simple-array|signed-byte|short-float|long-float|keyword|fixnum|extended-char|double-float|compiled-function|boolean|bignum|base-string|base-char)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"support.type.t.commonlisp\\\"},\\\"variable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)\\\\\\\\*(?:trace-output|terminal-io|standard-output|standard-input|readtable|read-suppress|read-eval|read-default-float-format|read-base|random-state|query-io|print-right-margin|print-readably|print-radix|print-pretty|print-pprint-dispatch|print-miser-width|print-lines|print-level|print-length|print-gensym|print-escape|print-circle|print-case|print-base|print-array|package|modules|macroexpand-hook|load-verbose|load-truename|load-print|load-pathname|gensym-counter|features|error-output|default-pathname-defaults|debugger-hook|debug-io|compile-verbose|compile-print|compile-file-truename|compile-file-pathname|break-on-signals)\\\\\\\\*(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"string.regexp.earmuffsasterisk.commonlisp\\\"},{\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|,@|,\\\\\\\\.?)(?:\\\\\\\\*\\\\\\\\*\\\\\\\\*?|\\\\\\\\+\\\\\\\\+\\\\\\\\+?|///?)(?=([()\\\\\\\\s]))\\\",\\\"name\\\":\\\"variable.other.repl.commonlisp\\\"}]}},\\\"scopeName\\\":\\\"source.commonlisp\\\",\\\"aliases\\\":[\\\"lisp\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "commonLisp" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,q/rBAAw8tB,CAAC,EAEh+tBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-ChMvpjG-.js b/src/webview-ui/build/assets/chunk-ChMvpjG-.js new file mode 100644 index 0000000000..ef82f58ced --- /dev/null +++ b/src/webview-ui/build/assets/chunk-ChMvpjG-.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"PL/SQL","fileTypes":["sql","ddl","dml","pkh","pks","pkb","pck","pls","plb"],"foldingStartMarker":"(?i)^\\\\s*(begin|if|loop)\\\\b","foldingStopMarker":"(?i)^\\\\s*(end)\\\\b","name":"plsql","patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.oracle"},{"match":"--.*$","name":"comment.line.double-dash.oracle"},{"match":"(?i)^\\\\s*rem\\\\s+.*$","name":"comment.line.sqlplus.oracle"},{"match":"(?i)^\\\\s*prompt\\\\s+.*$","name":"comment.line.sqlplus-prompt.oracle"},{"captures":{"1":{"name":"keyword.other.oracle"},"2":{"name":"keyword.other.oracle"}},"match":"(?i)^\\\\s*(create)(\\\\s+or\\\\s+replace)?\\\\s+","name":"meta.create.oracle"},{"captures":{"1":{"name":"keyword.other.oracle"},"2":{"name":"keyword.other.oracle"},"3":{"name":"entity.name.type.oracle"}},"match":"(?i)\\\\b(package)(\\\\s+body)?\\\\s+(\\\\S+)","name":"meta.package.oracle"},{"captures":{"1":{"name":"keyword.other.oracle"},"2":{"name":"entity.name.type.oracle"}},"match":"(?i)\\\\b(type)\\\\s+\\"([^\\"]+)\\"","name":"meta.type.oracle"},{"captures":{"1":{"name":"keyword.other.oracle"},"2":{"name":"entity.name.function.oracle"}},"match":"(?i)^\\\\s*(function|procedure)\\\\s+\\"?([-0-9_a-z]+)\\"?","name":"meta.procedure.oracle"},{"match":"[!:<>]?=|<>|[+<>]|(?]?=|<>|[+<>]|(?=|<=|[<>]|!=|[-#*+/^]","name":"keyword.operator.mata"},{"include":"$self"}]},{"begin":"\\\\b(odbc)\\\\b","beginCaptures":{"0":{"name":"keyword.control.flow.stata"}},"end":"\\\\n","patterns":[{"begin":"///","end":"\\\\n","name":"comment.block.stata"},{"begin":"(exec?)(\\\\(\\")","beginCaptures":{"1":{"name":"support.function.builtin.stata"},"2":{"name":"punctuation.definition.parameters.begin.stata"}},"end":"\\"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.stata"}},"patterns":[{"include":"source.sql"}]},{"include":"$self"}]},{"include":"#commands-other"}],"repository":{"ascii-regex-character-class":{"patterns":[{"match":"\\\\\\\\[-$(-+.?\\\\[-^|]","name":"constant.character.escape.backslash.stata"},{"match":"\\\\.","name":"constant.character.character-class.stata"},{"match":"\\\\\\\\.","name":"illegal.invalid.character-class.stata"},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.stata"},"2":{"name":"keyword.operator.negation.stata"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.stata"}},"name":"constant.other.character-class.set.stata","patterns":[{"include":"#ascii-regex-character-class"},{"captures":{"2":{"name":"constant.character.escape.backslash.stata"},"4":{"name":"constant.character.escape.backslash.stata"}},"match":"((\\\\\\\\.)|.)-((\\\\\\\\.)|[^]])","name":"constant.other.character-class.range.stata"}]}]},"ascii-regex-functions":{"patterns":[{"captures":{"1":{"name":"support.function.builtin.stata"},"2":{"name":"punctuation.definition.parameters.begin.stata"},"3":{"patterns":[{"include":"#string-compound"},{"include":"#string-regular"},{"include":"#macro-local"},{"include":"#macro-global"},{"include":"#functions"},{"match":"[\\\\w&&[^0-9]]\\\\w{0,31}","name":"variable.parameter.function.stata"},{"include":"#comments-triple-slash"}]},"4":{"name":"punctuation.definition.variable.begin.stata"},"5":{"name":"punctuation.definition.string.begin.stata"},"6":{"patterns":[{"include":"#ascii-regex-internals"}]},"7":{"name":"punctuation.definition.string.end.stata"},"8":{"name":"invalid.illegal.punctuation.stata"},"9":{"name":"punctuation.definition.parameters.end.stata"}},"match":"\\\\b(regexm)(\\\\()([^,]+)(,)\\\\s*(\\")([^\\"]+)(\\"(')?)\\\\s*(\\\\))"},{"captures":{"1":{"name":"support.function.builtin.stata"},"2":{"name":"punctuation.definition.parameters.begin.stata"},"3":{"patterns":[{"include":"#string-compound"},{"include":"#string-regular"},{"include":"#macro-local"},{"include":"#macro-global"},{"include":"#functions"},{"match":"[\\\\w&&[^0-9]]\\\\w{0,31}","name":"variable.parameter.function.stata"},{"include":"#comments-triple-slash"}]},"4":{"name":"punctuation.definition.variable.begin.stata"},"5":{"name":"punctuation.definition.string.begin.stata"},"6":{"patterns":[{"include":"#ascii-regex-internals"}]},"7":{"name":"punctuation.definition.string.end.stata"},"8":{"name":"punctuation.definition.parameters.end.stata"}},"match":"\\\\b(regexm)(\\\\()([^,]+)(,)\\\\s*(\`\\")([^\\"]+)(\\"')\\\\s*(\\\\))"},{"captures":{"1":{"name":"support.function.builtin.stata"},"2":{"name":"punctuation.definition.parameters.begin.stata"},"3":{"patterns":[{"include":"#string-compound"},{"include":"#string-regular"},{"include":"#macro-local"},{"include":"#macro-global"},{"include":"#functions"},{"match":"[\\\\w&&[^0-9]]\\\\w{0,31}","name":"variable.parameter.function.stata"},{"include":"#comments"}]},"4":{"name":"punctuation.definition.variable.begin.stata"},"5":{"name":"punctuation.definition.string.begin.stata"},"6":{"patterns":[{"include":"#ascii-regex-internals"}]},"7":{"name":"punctuation.definition.string.end.stata"},"8":{"name":"invalid.illegal.punctuation.stata"},"9":{"patterns":[{"match":",","name":"punctuation.definition.variable.begin.stata"},{"include":"#string-compound"},{"include":"#string-regular"},{"include":"#macro-local"},{"include":"#macro-global"},{"include":"#functions"},{"match":"[\\\\w&&[^0-9]]\\\\w{0,31}","name":"variable.parameter.function.stata"},{"include":"#comments-triple-slash"}]},"10":{"name":"punctuation.definition.parameters.end.stata"}},"match":"\\\\b(regexr)(\\\\()([^,]+)(,)\\\\s*(\\")([^\\"]+)(\\"(')?)\\\\s*([^)]*)(\\\\))"},{"captures":{"1":{"name":"support.function.builtin.stata"},"2":{"name":"punctuation.definition.parameters.begin.stata"},"3":{"patterns":[{"include":"#string-compound"},{"include":"#string-regular"},{"include":"#macro-local"},{"include":"#macro-global"},{"include":"#functions"},{"match":"[\\\\w&&[^0-9]]\\\\w{0,31}","name":"variable.parameter.function.stata"},{"include":"#comments"}]},"4":{"name":"punctuation.definition.variable.begin.stata"},"5":{"name":"punctuation.definition.string.begin.stata"},"6":{"patterns":[{"include":"#ascii-regex-internals"}]},"7":{"name":"punctuation.definition.string.end.stata"},"8":{"patterns":[{"match":",","name":"punctuation.definition.variable.begin.stata"},{"include":"#string-compound"},{"include":"#string-regular"},{"include":"#macro-local"},{"include":"#macro-global"},{"include":"#functions"},{"match":"[\\\\w&&[^0-9]]\\\\w{0,31}","name":"variable.parameter.function.stata"},{"include":"#comments-triple-slash"}]},"9":{"name":"punctuation.definition.parameters.end.stata"}},"match":"\\\\b(regexr)(\\\\()([^,]+)(,)\\\\s*(\`\\")([^\\"]+)(\\"')\\\\s*([^)]*)(\\\\))"}]},"ascii-regex-internals":{"patterns":[{"match":"\\\\^","name":"keyword.control.anchor.stata"},{"match":"\\\\$(?![A-Z_a-{])","name":"keyword.control.anchor.stata"},{"match":"[*+?]","name":"keyword.control.quantifier.stata"},{"match":"\\\\|","name":"keyword.control.or.stata"},{"begin":"(\\\\()(?=[*+?])","beginCaptures":{"1":{"name":"keyword.operator.group.stata"}},"contentName":"invalid.illegal.regexm.stata","end":"\\\\)","endCaptures":{"0":{"name":"keyword.operator.group.stata"}}},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.group.stata"}},"end":"(\\\\))","endCaptures":{"1":{"name":"keyword.operator.group.stata"}},"patterns":[{"include":"#ascii-regex-internals"}]},{"include":"#ascii-regex-character-class"},{"include":"#macro-local"},{"include":"#macro-global"},{"match":".","name":"string.quoted.stata"}]},"braces-with-error":{"patterns":[{"begin":"(\\\\{)\\\\s*([^\\\\n]*)(?=\\\\n)","beginCaptures":{"1":{"name":"keyword.control.block.begin.stata"},"2":{"patterns":[{"include":"#comments"},{"match":"[^\\\\n]+","name":"illegal.invalid.name.stata"}]}},"end":"^\\\\s*(})\\\\s*$|^\\\\s*([^\\"*}]+)\\\\s+(})\\\\s*([^\\\\n\\"*/}]+)|^\\\\s*([^\\"*}]+)\\\\s+(})|\\\\s*(})\\\\s*([^\\\\n\\"*/}]+)|(})$","endCaptures":{"1":{"name":"keyword.control.block.end.stata"},"2":{"name":"invalid.illegal.name.stata"},"3":{"name":"keyword.control.block.end.stata"},"4":{"name":"invalid.illegal.name.stata"},"5":{"name":"invalid.illegal.name.stata"},"6":{"name":"keyword.control.block.end.stata"},"7":{"name":"keyword.control.block.end.stata"},"8":{"name":"invalid.illegal.name.stata"},"9":{"name":"keyword.control.block.end.stata"}},"patterns":[{"include":"$self"}]}]},"braces-without-error":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"keyword.control.block.begin.stata"}},"end":"}","endCaptures":{"0":{"name":"keyword.control.block.end.stata"}}}]},"builtin_types":{"patterns":[{"match":"\\\\b(byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\\\\b","name":"support.type.stata"}]},"builtin_variables":{"patterns":[{"match":"\\\\b(_(?:b|coef|cons|[Nn]|rc|se))\\\\b","name":"variable.object.stata"}]},"commands-other":{"patterns":[{"match":"\\\\b(reghdfe|ivreghdfe|ivreg2|outreg|gcollapse|gcontract|gegen|gisid|glevelsof|gquantiles)\\\\b","name":"keyword.control.flow.stata"},{"match":"\\\\b(about|ac|acprplot|ado|adopath|adoupdate|alpha|ameans|ano??|anova??|anova_terms|anovadef|aorder|app??|appen??|append|arch|arch_dr|arch_estat|arch_p|archlm|areg|areg_p|args|arima|arima_dr|arima_estat|arima_p|asmprobit|asmprobit_estat|asmprobit_lf|asmprobit_mfx__dlg|asmprobit_p|avplots??|bcskew0|bgodfrey|binreg|bip0_lf|biplot|bipp_lf|bipr_lf|bipr_p|biprobit|bitesti??|bitowt|blogit|bmemsize|boot|bootsamp|boxco_l|boxco_p|boxcox|boxcox_p|bprobit|br|break|brier|brow??|browse??|brr|brrstat|bs|bsampl_w|bsample|bsqreg|bstat|bstrap|ca|ca_estat|ca_p|cabiplot|camat|canon|canon_estat|canon_p|caprojection|cat|cc|cchart|cci|cd|censobs_table|centile|cf|char|chdir|checkdlgfiles|checkestimationsample|checkhlpfiles|checksum|chelp|cii??|cl|class|classutil|clear|clis??|clist|clog|clog_lf|clog_p|clogi|clogi_sw|clogit|clogit_lf|clogit_p|clogitp|clogl_sw|cloglog|clonevar|clslistarray|cluster|cluster_measures|cluster_stop|cluster_tree|cluster_tree_8|clustermat|cmdlog|cnre??|cnreg|cnreg_p|cnreg_sw|cnsreg|codebook|collaps4|collapse|colormult_nb|colormult_nw|compare|compress|confi??|confirm??|conren|const??|constra??|constrain??|constraint|contract|copy|copyright|copysource|corc??|corr|corr2data|corr_anti|corr_kmo|corr_smc|correl??|correlat??|correlate|corrgram|coun??|count|cprplot|crc|cretu??|creturn??|cross|cs|cscript|cscript_log|csi|ct|ct_is|ctset|ctst_st|cttost|cumsp|cumul|cusum|cutil|d|datasign??|datasignat??|datasignatur??|datasignature|datetof|db|dbeta|dec??|decod??|decode|deff|desc??|descri??|describe??|dfbeta|dfgls|dfuller|di|di_g|dir|dirstats|dis|discard|disp|disp_res|disp_s|displa??|display|doe??|doedi??|doedit|dotplot|dprobit|drawnorm|ds|ds_util|dstdize|duplicates|durbina|dwstat|dydx|edi??|edit|eivreg|emdef|enc??|encod??|encode|eq|erase|ereg|ereg_lf|ereg_p|ereg_sw|ereghet|ereghet_glf|ereghet_glf_sh|ereghet_gp|ereghet_ilf|ereghet_ilf_sh|ereghet_ip|eretu??|ereturn??|erro??|error|est|est_cfexist|est_cfname|est_clickable|est_expand|est_hold|est_table|est_unhold|est_unholdok|estat|estat_default|estat_summ|estat_vce_only|esti|estimates|etodow|etof|etomdy|expand|expandcl|fact??|factor??|factor_estat|factor_p|factor_pca_rotated|factor_rotate|factormat|fcast|fcast_compute|fcast_graph|fdadesc??|fdadescri??|fdadescribe??|fdasave??|fdause|fh_st|file|filefilter|fillin|find_hlp_file|findfile|findit|fit|fli??|flist??|fpredict|frac_adj|frac_chk|frac_cox|frac_ddp|frac_dis|frac_dv|frac_in|frac_mun|frac_pp|frac_pq|frac_pv|frac_wgt|frac_xo|fracgen|fracplot|fracpoly|fracpred|fron_ex|fron_hn|fron_p|fron_tn2??|frontier|ftodate|ftoe|ftomdy|ftowdate|gamhet_glf|gamhet_gp|gamhet_ilf|gamhet_ip|gamma|gamma_d2|gamma_p|gamma_sw|gammahet|gdi_hexagon|gdi_spokes|genrank|genstd|genvmean|gettoken|gladder|glim_l01|glim_l02|glim_l03|glim_l04|glim_l05|glim_l06|glim_l07|glim_l08|glim_l09|glim_l10|glim_l11|glim_l12|glim_lf|glim_mu|glim_nw1|glim_nw2|glim_nw3|glim_p|glim_v1|glim_v2|glim_v3|glim_v4|glim_v5|glim_v6|glim_v7|glm|glm_p|glm_sw|glmpred|glogit|glogit_p|gmeans|gnbre_lf|gnbreg|gnbreg_p|gomp_lf|gompe_sw|gomper_p|gompertz|gompertzhet|gomphet_glf|gomphet_glf_sh|gomphet_gp|gomphet_ilf|gomphet_ilf_sh|gomphet_ip|gphdot|gphpen|gphprint|gprefs|gprobi_p|gprobit|gr7??|gr_copy|gr_current|gr_db|gr_describe|gr_dir|gr_draw|gr_draw_replay|gr_drop|gr_edit|gr_editviewopts|gr_example2??|gr_export|gr_print|gr_qscheme|gr_query|gr_read|gr_rename|gr_replay|gr_save|gr_set|gr_setscheme|gr_table|gr_undo|gr_use|graph|grebar|greigen|grmeanby|gs_fileinfo|gs_filetype|gs_graphinfo|gs_stat|gsort|gwood|h|hareg|hausman|haver|he|heck_d2|heckma_p|heckman|heckp_lf|heckpr_p|heckprob|help??|hereg|hetpr_lf|hetpr_p|hetprob|hettest|hexdump|hilite|hist|histogram|hlogit|hlu|hmeans|hotel|hotelling|hprobit|hreg|hsearch|icd9|icd9_ff|icd9p|iis|impute|imtest|inbase|include|infi??|infile??|infix|inpu??|input|ins|insheet|inspe??|inspect??|integ|inten|intreg|intreg_p|intrg2_ll|intrg_ll2??|ipolate|iqreg|irf??|irf_create|irfm|iri|is_svy|is_svysum|isid|istdize|ivprobit|ivprobit_p|ivreg|ivreg_footnote|ivtob_lf|ivtobit|ivtobit_p|jacknife|jknife|jkstat|joinby|kalarma1|kap|kapmeier|kappa|kapwgt|kdensity|ksm|ksmirnov|ktau|kwallis|labelbook|ladder|levelsof|leverage|lfit|lfit_p|li|lincom|line|linktest|list??|lloghet_glf|lloghet_glf_sh|lloghet_gp|lloghet_ilf|lloghet_ilf_sh|lloghet_ip|llogi_sw|llogis_p|llogist|llogistic|llogistichet|lnorm_lf|lnorm_sw|lnorma_p|lnormal|lnormalhet|lnormhet_glf|lnormhet_glf_sh|lnormhet_gp|lnormhet_ilf|lnormhet_ilf_sh|lnormhet_ip|lnskew0|loadingplot|(?=|:=|==|!=|~=|[<=>]|!!?","name":"keyword.operator.comparison.stata"},{"match":"[()]","name":"keyword.operator.parentheses.stata"},{"match":"(##?)","name":"keyword.operator.factor-variables.stata"},{"match":"%","name":"keyword.operator.format.stata"},{"match":":","name":"punctuation.separator.key-value"},{"match":"\\\\[","name":"punctuation.definition.parameters.begin.stata"},{"match":"]","name":"punctuation.definition.parameters.end.stata"},{"match":",","name":"punctuation.definition.variable.begin.stata"},{"match":";","name":"keyword.operator.delimiter.stata"}]},"reserved-names":{"patterns":[{"match":"\\\\b(_all|_b|byte|_coef|_cons|double|float|if|int??|long|_n|_N|_pi|_pred|_rc|_skip|str[0-9]+|strL|using|with)\\\\b","name":"invalid.illegal.name.stata"},{"match":"[^$'()\`\\\\w\\\\s]","name":"invalid.illegal.name.stata"},{"match":"[0-9]\\\\w{31,}","name":"invalid.illegal.name.stata"},{"match":"\\\\w{33,}","name":"invalid.illegal.name.stata"}]},"string-compound":{"patterns":[{"begin":"\`\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.stata"}},"end":"\\"'|(?=\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.stata"}},"name":"string.quoted.double.compound.stata","patterns":[{"match":"\\"","name":"string.quoted.double.compound.stata"},{"match":"\`\`\`(?=[^']*\\")","name":"meta.markdown.code.block.stata"},{"include":"#string-regular"},{"include":"#string-compound"},{"include":"#macro-local-escaped"},{"include":"#macro-global-escaped"},{"include":"#macro-local"},{"include":"#macro-global"}]}]},"string-regular":{"patterns":[{"begin":"(?=|<=|[<>]|!=|[-#*+/^]\\\",\\\"name\\\":\\\"keyword.operator.mata\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(odbc)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.stata\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"///\\\",\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.block.stata\\\"},{\\\"begin\\\":\\\"(exec?)(\\\\\\\\(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.builtin.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.stata\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.stata\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#commands-other\\\"}],\\\"repository\\\":{\\\"ascii-regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[-$(-+.?\\\\\\\\[-^|]\\\",\\\"name\\\":\\\"constant.character.escape.backslash.stata\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.character-class.stata\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"illegal.invalid.character-class.stata\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.stata\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.stata\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.stata\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ascii-regex-character-class\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.stata\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.stata\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\.)|.)-((\\\\\\\\\\\\\\\\.)|[^]])\\\",\\\"name\\\":\\\"constant.other.character-class.range.stata\\\"}]}]},\\\"ascii-regex-functions\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.builtin.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.stata\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"[\\\\\\\\w&&[^0-9]]\\\\\\\\w{0,31}\\\",\\\"name\\\":\\\"variable.parameter.function.stata\\\"},{\\\"include\\\":\\\"#comments-triple-slash\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.stata\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ascii-regex-internals\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.stata\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.punctuation.stata\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.stata\\\"}},\\\"match\\\":\\\"\\\\\\\\b(regexm)(\\\\\\\\()([^,]+)(,)\\\\\\\\s*(\\\\\\\")([^\\\\\\\"]+)(\\\\\\\"(')?)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.builtin.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.stata\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"[\\\\\\\\w&&[^0-9]]\\\\\\\\w{0,31}\\\",\\\"name\\\":\\\"variable.parameter.function.stata\\\"},{\\\"include\\\":\\\"#comments-triple-slash\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.stata\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ascii-regex-internals\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.stata\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.stata\\\"}},\\\"match\\\":\\\"\\\\\\\\b(regexm)(\\\\\\\\()([^,]+)(,)\\\\\\\\s*(`\\\\\\\")([^\\\\\\\"]+)(\\\\\\\"')\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.builtin.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.stata\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"[\\\\\\\\w&&[^0-9]]\\\\\\\\w{0,31}\\\",\\\"name\\\":\\\"variable.parameter.function.stata\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.stata\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ascii-regex-internals\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.stata\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.punctuation.stata\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"[\\\\\\\\w&&[^0-9]]\\\\\\\\w{0,31}\\\",\\\"name\\\":\\\"variable.parameter.function.stata\\\"},{\\\"include\\\":\\\"#comments-triple-slash\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.stata\\\"}},\\\"match\\\":\\\"\\\\\\\\b(regexr)(\\\\\\\\()([^,]+)(,)\\\\\\\\s*(\\\\\\\")([^\\\\\\\"]+)(\\\\\\\"(')?)\\\\\\\\s*([^)]*)(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.builtin.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.stata\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"[\\\\\\\\w&&[^0-9]]\\\\\\\\w{0,31}\\\",\\\"name\\\":\\\"variable.parameter.function.stata\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.stata\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ascii-regex-internals\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.stata\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"[\\\\\\\\w&&[^0-9]]\\\\\\\\w{0,31}\\\",\\\"name\\\":\\\"variable.parameter.function.stata\\\"},{\\\"include\\\":\\\"#comments-triple-slash\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.stata\\\"}},\\\"match\\\":\\\"\\\\\\\\b(regexr)(\\\\\\\\()([^,]+)(,)\\\\\\\\s*(`\\\\\\\")([^\\\\\\\"]+)(\\\\\\\"')\\\\\\\\s*([^)]*)(\\\\\\\\))\\\"}]},\\\"ascii-regex-internals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"keyword.control.anchor.stata\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?![A-Z_a-{])\\\",\\\"name\\\":\\\"keyword.control.anchor.stata\\\"},{\\\"match\\\":\\\"[*+?]\\\",\\\"name\\\":\\\"keyword.control.quantifier.stata\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.control.or.stata\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()(?=[*+?])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.group.stata\\\"}},\\\"contentName\\\":\\\"invalid.illegal.regexm.stata\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.group.stata\\\"}}},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.group.stata\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.group.stata\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ascii-regex-internals\\\"}]},{\\\"include\\\":\\\"#ascii-regex-character-class\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"string.quoted.stata\\\"}]},\\\"braces-with-error\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*([^\\\\\\\\n]*)(?=\\\\\\\\n)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.block.begin.stata\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"[^\\\\\\\\n]+\\\",\\\"name\\\":\\\"illegal.invalid.name.stata\\\"}]}},\\\"end\\\":\\\"^\\\\\\\\s*(})\\\\\\\\s*$|^\\\\\\\\s*([^\\\\\\\"*}]+)\\\\\\\\s+(})\\\\\\\\s*([^\\\\\\\\n\\\\\\\"*/}]+)|^\\\\\\\\s*([^\\\\\\\"*}]+)\\\\\\\\s+(})|\\\\\\\\s*(})\\\\\\\\s*([^\\\\\\\\n\\\\\\\"*/}]+)|(})$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.block.end.stata\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.block.end.stata\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.block.end.stata\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.block.end.stata\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.control.block.end.stata\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"braces-without-error\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.block.begin.stata\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.block.end.stata\\\"}}}]},\\\"builtin_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(byte|int|long|float|double|str[1-9]?[0-9]?[0-9]?[0-9]?|strL)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.stata\\\"}]},\\\"builtin_variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(_(?:b|coef|cons|[Nn]|rc|se))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.object.stata\\\"}]},\\\"commands-other\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(reghdfe|ivreghdfe|ivreg2|outreg|gcollapse|gcontract|gegen|gisid|glevelsof|gquantiles)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.stata\\\"},{\\\"match\\\":\\\"\\\\\\\\b(about|ac|acprplot|ado|adopath|adoupdate|alpha|ameans|ano??|anova??|anova_terms|anovadef|aorder|app??|appen??|append|arch|arch_dr|arch_estat|arch_p|archlm|areg|areg_p|args|arima|arima_dr|arima_estat|arima_p|asmprobit|asmprobit_estat|asmprobit_lf|asmprobit_mfx__dlg|asmprobit_p|avplots??|bcskew0|bgodfrey|binreg|bip0_lf|biplot|bipp_lf|bipr_lf|bipr_p|biprobit|bitesti??|bitowt|blogit|bmemsize|boot|bootsamp|boxco_l|boxco_p|boxcox|boxcox_p|bprobit|br|break|brier|brow??|browse??|brr|brrstat|bs|bsampl_w|bsample|bsqreg|bstat|bstrap|ca|ca_estat|ca_p|cabiplot|camat|canon|canon_estat|canon_p|caprojection|cat|cc|cchart|cci|cd|censobs_table|centile|cf|char|chdir|checkdlgfiles|checkestimationsample|checkhlpfiles|checksum|chelp|cii??|cl|class|classutil|clear|clis??|clist|clog|clog_lf|clog_p|clogi|clogi_sw|clogit|clogit_lf|clogit_p|clogitp|clogl_sw|cloglog|clonevar|clslistarray|cluster|cluster_measures|cluster_stop|cluster_tree|cluster_tree_8|clustermat|cmdlog|cnre??|cnreg|cnreg_p|cnreg_sw|cnsreg|codebook|collaps4|collapse|colormult_nb|colormult_nw|compare|compress|confi??|confirm??|conren|const??|constra??|constrain??|constraint|contract|copy|copyright|copysource|corc??|corr|corr2data|corr_anti|corr_kmo|corr_smc|correl??|correlat??|correlate|corrgram|coun??|count|cprplot|crc|cretu??|creturn??|cross|cs|cscript|cscript_log|csi|ct|ct_is|ctset|ctst_st|cttost|cumsp|cumul|cusum|cutil|d|datasign??|datasignat??|datasignatur??|datasignature|datetof|db|dbeta|dec??|decod??|decode|deff|desc??|descri??|describe??|dfbeta|dfgls|dfuller|di|di_g|dir|dirstats|dis|discard|disp|disp_res|disp_s|displa??|display|doe??|doedi??|doedit|dotplot|dprobit|drawnorm|ds|ds_util|dstdize|duplicates|durbina|dwstat|dydx|edi??|edit|eivreg|emdef|enc??|encod??|encode|eq|erase|ereg|ereg_lf|ereg_p|ereg_sw|ereghet|ereghet_glf|ereghet_glf_sh|ereghet_gp|ereghet_ilf|ereghet_ilf_sh|ereghet_ip|eretu??|ereturn??|erro??|error|est|est_cfexist|est_cfname|est_clickable|est_expand|est_hold|est_table|est_unhold|est_unholdok|estat|estat_default|estat_summ|estat_vce_only|esti|estimates|etodow|etof|etomdy|expand|expandcl|fact??|factor??|factor_estat|factor_p|factor_pca_rotated|factor_rotate|factormat|fcast|fcast_compute|fcast_graph|fdadesc??|fdadescri??|fdadescribe??|fdasave??|fdause|fh_st|file|filefilter|fillin|find_hlp_file|findfile|findit|fit|fli??|flist??|fpredict|frac_adj|frac_chk|frac_cox|frac_ddp|frac_dis|frac_dv|frac_in|frac_mun|frac_pp|frac_pq|frac_pv|frac_wgt|frac_xo|fracgen|fracplot|fracpoly|fracpred|fron_ex|fron_hn|fron_p|fron_tn2??|frontier|ftodate|ftoe|ftomdy|ftowdate|gamhet_glf|gamhet_gp|gamhet_ilf|gamhet_ip|gamma|gamma_d2|gamma_p|gamma_sw|gammahet|gdi_hexagon|gdi_spokes|genrank|genstd|genvmean|gettoken|gladder|glim_l01|glim_l02|glim_l03|glim_l04|glim_l05|glim_l06|glim_l07|glim_l08|glim_l09|glim_l10|glim_l11|glim_l12|glim_lf|glim_mu|glim_nw1|glim_nw2|glim_nw3|glim_p|glim_v1|glim_v2|glim_v3|glim_v4|glim_v5|glim_v6|glim_v7|glm|glm_p|glm_sw|glmpred|glogit|glogit_p|gmeans|gnbre_lf|gnbreg|gnbreg_p|gomp_lf|gompe_sw|gomper_p|gompertz|gompertzhet|gomphet_glf|gomphet_glf_sh|gomphet_gp|gomphet_ilf|gomphet_ilf_sh|gomphet_ip|gphdot|gphpen|gphprint|gprefs|gprobi_p|gprobit|gr7??|gr_copy|gr_current|gr_db|gr_describe|gr_dir|gr_draw|gr_draw_replay|gr_drop|gr_edit|gr_editviewopts|gr_example2??|gr_export|gr_print|gr_qscheme|gr_query|gr_read|gr_rename|gr_replay|gr_save|gr_set|gr_setscheme|gr_table|gr_undo|gr_use|graph|grebar|greigen|grmeanby|gs_fileinfo|gs_filetype|gs_graphinfo|gs_stat|gsort|gwood|h|hareg|hausman|haver|he|heck_d2|heckma_p|heckman|heckp_lf|heckpr_p|heckprob|help??|hereg|hetpr_lf|hetpr_p|hetprob|hettest|hexdump|hilite|hist|histogram|hlogit|hlu|hmeans|hotel|hotelling|hprobit|hreg|hsearch|icd9|icd9_ff|icd9p|iis|impute|imtest|inbase|include|infi??|infile??|infix|inpu??|input|ins|insheet|inspe??|inspect??|integ|inten|intreg|intreg_p|intrg2_ll|intrg_ll2??|ipolate|iqreg|irf??|irf_create|irfm|iri|is_svy|is_svysum|isid|istdize|ivprobit|ivprobit_p|ivreg|ivreg_footnote|ivtob_lf|ivtobit|ivtobit_p|jacknife|jknife|jkstat|joinby|kalarma1|kap|kapmeier|kappa|kapwgt|kdensity|ksm|ksmirnov|ktau|kwallis|labelbook|ladder|levelsof|leverage|lfit|lfit_p|li|lincom|line|linktest|list??|lloghet_glf|lloghet_glf_sh|lloghet_gp|lloghet_ilf|lloghet_ilf_sh|lloghet_ip|llogi_sw|llogis_p|llogist|llogistic|llogistichet|lnorm_lf|lnorm_sw|lnorma_p|lnormal|lnormalhet|lnormhet_glf|lnormhet_glf_sh|lnormhet_gp|lnormhet_ilf|lnormhet_ilf_sh|lnormhet_ip|lnskew0|loadingplot|(?=|:=|==|!=|~=|[<=>]|!!?\\\",\\\"name\\\":\\\"keyword.operator.comparison.stata\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"keyword.operator.parentheses.stata\\\"},{\\\"match\\\":\\\"(##?)\\\",\\\"name\\\":\\\"keyword.operator.factor-variables.stata\\\"},{\\\"match\\\":\\\"%\\\",\\\"name\\\":\\\"keyword.operator.format.stata\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"punctuation.definition.parameters.begin.stata\\\"},{\\\"match\\\":\\\"]\\\",\\\"name\\\":\\\"punctuation.definition.parameters.end.stata\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.variable.begin.stata\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.delimiter.stata\\\"}]},\\\"reserved-names\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(_all|_b|byte|_coef|_cons|double|float|if|int??|long|_n|_N|_pi|_pred|_rc|_skip|str[0-9]+|strL|using|with)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},{\\\"match\\\":\\\"[^$'()`\\\\\\\\w\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},{\\\"match\\\":\\\"[0-9]\\\\\\\\w{31,}\\\",\\\"name\\\":\\\"invalid.illegal.name.stata\\\"},{\\\"match\\\":\\\"\\\\\\\\w{33,}\\\",\\\"name\\\":\\\"invalid.illegal.name.stata\\\"}]},\\\"string-compound\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"`\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.stata\\\"}},\\\"end\\\":\\\"\\\\\\\"'|(?=\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.stata\\\"}},\\\"name\\\":\\\"string.quoted.double.compound.stata\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.compound.stata\\\"},{\\\"match\\\":\\\"```(?=[^']*\\\\\\\")\\\",\\\"name\\\":\\\"meta.markdown.code.block.stata\\\"},{\\\"include\\\":\\\"#string-regular\\\"},{\\\"include\\\":\\\"#string-compound\\\"},{\\\"include\\\":\\\"#macro-local-escaped\\\"},{\\\"include\\\":\\\"#macro-global-escaped\\\"},{\\\"include\\\":\\\"#macro-local\\\"},{\\\"include\\\":\\\"#macro-global\\\"}]}]},\\\"string-regular\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?\\\\[_\\\\s])","name":"entity.name.tag.css.sass.symbol","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"#","end":"$\\\\n?|(?=[(),.>\\\\[\\\\s])","name":"entity.other.attribute-name.id.css.sass","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"\\\\.|(?<=&)([-_])","end":"$\\\\n?|(?=[(),>\\\\[\\\\s])","name":"entity.other.attribute-name.class.css.sass","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"begin":"\\\\[","end":"]","name":"entity.other.attribute-selector.sass","patterns":[{"include":"#double-quoted"},{"include":"#single-quoted"},{"match":"[$*^~]","name":"keyword.other.regex.sass"}]},{"match":"^((?<=[])]|not\\\\(|[*>]|>\\\\s)|\\\\n*):[-:a-z]+|(:[-:])[-:a-z]+","name":"entity.other.attribute-name.pseudo-class.css.sass"},{"include":"#module"},{"match":"[-\\\\w]*\\\\(","name":"entity.name.function"},{"match":"\\\\)","name":"entity.name.function.close"},{"begin":":","end":"$\\\\n?|(?=\\\\s\\\\(|and\\\\(|\\\\),)","name":"meta.property-list.css.sass.prop","patterns":[{"match":"(?<=:)[-a-z]+\\\\s","name":"support.type.property-name.css.sass.prop.name"},{"include":"#double-slash"},{"include":"#double-quoted"},{"include":"#single-quoted"},{"include":"#interpolation"},{"include":"#curly-brackets"},{"include":"#variable"},{"include":"#rgb-value"},{"include":"#numeric"},{"include":"#unit"},{"include":"#module"},{"match":"--.+?(?=\\\\))","name":"variable.css"},{"match":"[-\\\\w]*\\\\(","name":"entity.name.function"},{"match":"\\\\)","name":"entity.name.function.close"},{"include":"#flag"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#function"},{"include":"#function-content"},{"include":"#operator"},{"include":"#parent-selector"},{"include":"#property-value"}]},{"include":"#rgb-value"},{"include":"#function"},{"include":"#function-content"},{"begin":"(?<=})(?![\\\\n()]|[-0-9A-Z_a-z]+:)","end":"\\\\s|(?=[\\\\n),.\\\\[])","name":"entity.name.tag.css.sass","patterns":[{"include":"#interpolation"},{"include":"#pseudo-class"}]},{"include":"#operator"},{"match":"[-a-z]+((?=:|#\\\\{))","name":"support.type.property-name.css.sass.prop.name"},{"include":"#reserved-words"},{"include":"#property-value"}],"repository":{"colon":{"match":":","name":"meta.property-list.css.sass.colon"},"comma":{"match":"\\\\band\\\\b|\\\\bor\\\\b|,","name":"comment.punctuation.comma.sass"},"comment-param":{"match":"@(\\\\w+)","name":"storage.type.class.jsdoc"},"comment-tag":{"begin":"(?<=\\\\{\\\\{)","end":"(?=}})","name":"comment.tag.sass"},"curly-brackets":{"match":"[{}]","name":"invalid"},"dotdotdot":{"match":"\\\\.\\\\.\\\\.","name":"variable.other"},"double-quoted":{"begin":"\\"","end":"\\"","name":"string.quoted.double.css.sass","patterns":[{"include":"#quoted-interpolation"}]},"double-slash":{"begin":"//","end":"$\\\\n?","name":"comment.line.sass","patterns":[{"include":"#comment-tag"}]},"flag":{"match":"!(important|default|optional|global)","name":"keyword.other.important.css.sass"},"function":{"match":"(?<=[(,:|\\\\s])(?!url|format|attr)[-0-9A-Z_a-z][-\\\\w]*(?=\\\\()","name":"support.function.name.sass"},"function-content":{"begin":"(?<=url\\\\(|format\\\\(|attr\\\\()","end":".(?=\\\\))","name":"string.quoted.double.css.sass"},"import-quotes":{"match":"[\\"']?\\\\.{0,2}[/\\\\w]+[\\"']?","name":"constant.character.css.sass"},"interpolation":{"begin":"#\\\\{","end":"}","name":"support.function.interpolation.sass","patterns":[{"include":"#variable"},{"include":"#numeric"},{"include":"#operator"},{"include":"#unit"},{"include":"#comma"},{"include":"#double-quoted"},{"include":"#single-quoted"}]},"module":{"captures":{"1":{"name":"constant.character.module.name"},"2":{"name":"constant.numeric.module.dot"}},"match":"([-\\\\w]+?)(\\\\.)","name":"constant.character.module"},"numeric":{"match":"([-.])?[0-9]+(\\\\.[0-9]+)?","name":"constant.numeric.css.sass"},"operator":{"match":"\\\\+|\\\\s-\\\\s|\\\\s-(?=\\\\$)|(?<=\\\\()-(?=\\\\$)|\\\\s-(?=\\\\()|[!%*/<=>~]","name":"keyword.operator.sass"},"parent-selector":{"match":"&","name":"entity.name.tag.css.sass"},"parenthesis-close":{"match":"\\\\)","name":"entity.name.function.parenthesis.close"},"parenthesis-open":{"match":"\\\\(","name":"entity.name.function.parenthesis.open"},"placeholder-selector":{"begin":"(?\\\\\\\\[_\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.tag.css.sass.symbol\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),.>\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\.|(?<=&)([-_])\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),>\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"entity.other.attribute-selector.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"match\\\":\\\"[$*^~]\\\",\\\"name\\\":\\\"keyword.other.regex.sass\\\"}]},{\\\"match\\\":\\\"^((?<=[])]|not\\\\\\\\(|[*>]|>\\\\\\\\s)|\\\\\\\\n*):[-:a-z]+|(:[-:])[-:a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css.sass\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]*\\\\\\\\(\\\",\\\"name\\\":\\\"entity.name.function\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.close\\\"},{\\\"begin\\\":\\\":\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=\\\\\\\\s\\\\\\\\(|and\\\\\\\\(|\\\\\\\\),)\\\",\\\"name\\\":\\\"meta.property-list.css.sass.prop\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=:)[-a-z]+\\\\\\\\s\\\",\\\"name\\\":\\\"support.type.property-name.css.sass.prop.name\\\"},{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#curly-brackets\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"match\\\":\\\"--.+?(?=\\\\\\\\))\\\",\\\"name\\\":\\\"variable.css\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]*\\\\\\\\(\\\",\\\"name\\\":\\\"entity.name.function\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.close\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#parent-selector\\\"},{\\\"include\\\":\\\"#property-value\\\"}]},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"begin\\\":\\\"(?<=})(?![\\\\\\\\n()]|[-0-9A-Z_a-z]+:)\\\",\\\"end\\\":\\\"\\\\\\\\s|(?=[\\\\\\\\n),.\\\\\\\\[])\\\",\\\"name\\\":\\\"entity.name.tag.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"include\\\":\\\"#operator\\\"},{\\\"match\\\":\\\"[-a-z]+((?=:|#\\\\\\\\{))\\\",\\\"name\\\":\\\"support.type.property-name.css.sass.prop.name\\\"},{\\\"include\\\":\\\"#reserved-words\\\"},{\\\"include\\\":\\\"#property-value\\\"}],\\\"repository\\\":{\\\"colon\\\":{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"meta.property-list.css.sass.colon\\\"},\\\"comma\\\":{\\\"match\\\":\\\"\\\\\\\\band\\\\\\\\b|\\\\\\\\bor\\\\\\\\b|,\\\",\\\"name\\\":\\\"comment.punctuation.comma.sass\\\"},\\\"comment-param\\\":{\\\"match\\\":\\\"@(\\\\\\\\w+)\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"comment-tag\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\{\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=}})\\\",\\\"name\\\":\\\"comment.tag.sass\\\"},\\\"curly-brackets\\\":{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"invalid\\\"},\\\"dotdotdot\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"variable.other\\\"},\\\"double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted-interpolation\\\"}]},\\\"double-slash\\\":{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-tag\\\"}]},\\\"flag\\\":{\\\"match\\\":\\\"!(important|default|optional|global)\\\",\\\"name\\\":\\\"keyword.other.important.css.sass\\\"},\\\"function\\\":{\\\"match\\\":\\\"(?<=[(,:|\\\\\\\\s])(?!url|format|attr)[-0-9A-Z_a-z][-\\\\\\\\w]*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.name.sass\\\"},\\\"function-content\\\":{\\\"begin\\\":\\\"(?<=url\\\\\\\\(|format\\\\\\\\(|attr\\\\\\\\()\\\",\\\"end\\\":\\\".(?=\\\\\\\\))\\\",\\\"name\\\":\\\"string.quoted.double.css.sass\\\"},\\\"import-quotes\\\":{\\\"match\\\":\\\"[\\\\\\\"']?\\\\\\\\.{0,2}[/\\\\\\\\w]+[\\\\\\\"']?\\\",\\\"name\\\":\\\"constant.character.css.sass\\\"},\\\"interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"support.function.interpolation.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"}]},\\\"module\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.module.name\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.module.dot\\\"}},\\\"match\\\":\\\"([-\\\\\\\\w]+?)(\\\\\\\\.)\\\",\\\"name\\\":\\\"constant.character.module\\\"},\\\"numeric\\\":{\\\"match\\\":\\\"([-.])?[0-9]+(\\\\\\\\.[0-9]+)?\\\",\\\"name\\\":\\\"constant.numeric.css.sass\\\"},\\\"operator\\\":{\\\"match\\\":\\\"\\\\\\\\+|\\\\\\\\s-\\\\\\\\s|\\\\\\\\s-(?=\\\\\\\\$)|(?<=\\\\\\\\()-(?=\\\\\\\\$)|\\\\\\\\s-(?=\\\\\\\\()|[!%*/<=>~]\\\",\\\"name\\\":\\\"keyword.operator.sass\\\"},\\\"parent-selector\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.css.sass\\\"},\\\"parenthesis-close\\\":{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.parenthesis.close\\\"},\\\"parenthesis-open\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"entity.name.function.parenthesis.open\\\"},\\\"placeholder-selector\\\":{\\\"begin\\\":\\\"(?)","name":"variable.parameter.talon"},"comment":{"match":"^\\\\s*(#.*)$","name":"comment.line.number-sign.talon"},"comment-invalid":{"match":"(\\\\s*#.*)$","name":"invalid.illegal"},"context":{"captures":{"1":{"name":"entity.name.tag.talon","patterns":[{"match":"(and |or )","name":"keyword.operator.talon"}]},"2":{"name":"entity.name.type.talon","patterns":[{"include":"#comment"},{"include":"#comment-invalid"},{"include":"#regexp"}]}},"match":"(.*): (.*)"},"expression":{"patterns":[{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#qstring"},{"include":"#varname"}]},"fstring":{"captures":{"1":{"patterns":[{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#varname"},{"include":"#qstring"}]}},"match":"\\\\{(.+?)}","name":"constant.character.format.placeholder.talon"},"header":{"begin":"(?=(?:^app|title|os|tag|list|language):)","end":"(?=^-$)","patterns":[{"include":"#comment"},{"include":"#context"}]},"key-mods":{"captures":{"1":{"name":"keyword.operator.talon"},"2":{"name":"keyword.control.talon"}},"match":"(:)(up|down|change|repeat|start|stop|\\\\d+)","name":"keyword.operator.talon"},"key-prefixes":{"captures":{"1":{"name":"keyword.control.talon"},"2":{"name":"keyword.operator.talon"}},"match":"(ctrl|shift|cmd|alt|win|super)(-)"},"keystring":{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"end":"(\\\\1)|$","endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}},"name":"string.quoted.double.talon","patterns":[{"include":"#string-body"},{"include":"#key-mods"},{"include":"#key-prefixes"}]},"list":{"match":"(\\\\{[.0-9A-Z_a-z]+?})","name":"string.interpolated.talon"},"number":{"match":"(?<=\\\\b)\\\\d+(\\\\.\\\\d+)?","name":"constant.numeric.talon"},"operator":{"match":"\\\\s([-*+/]|or)\\\\s","name":"keyword.operator.talon"},"other-rule-definition":{"begin":"^([a-z]+\\\\(.*[^-]\\\\)|[a-z]+\\\\(.*--\\\\)|[a-z]+\\\\(-\\\\)|[a-z]+\\\\(\\\\)):","beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"include":"#action-key"},{"include":"#action-gamepad"},{"include":"#rule-specials"}]}},"end":"(?=^[^#\\\\s])","patterns":[{"include":"#statement"}]},"qstring":{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"end":"(\\\\1)|$","endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}},"name":"string.quoted.double.talon","patterns":[{"include":"#string-body"}]},"qstring-long":{"begin":"(\\"\\"\\"|''')","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}},"name":"string.quoted.triple.talon","patterns":[{"include":"#string-body"}]},"regexp":{"begin":"(/)","end":"(/)","name":"string.regexp.talon","patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\\\\\[$*+.?^]","name":"constant.character.escape.talon"},{"match":"\\\\[(\\\\\\\\]|[^]])*]","name":"constant.other.set.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"}]},"rule-specials":{"captures":{"1":{"name":"entity.name.function.talon"},"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"punctuation.definition.parameters.end.talon"}},"match":"(settings|tag)(\\\\()(\\\\))"},"speech-rule-definition":{"begin":"^(.*?):","beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"match":"^\\\\^","name":"string.regexp.talon"},{"match":"\\\\$$","name":"string.regexp.talon"},{"match":"\\\\(","name":"punctuation.definition.parameters.begin.talon"},{"match":"\\\\)","name":"punctuation.definition.parameters.end.talon"},{"match":"\\\\|","name":"punctuation.separator.talon"},{"include":"#capture"},{"include":"#list"}]}},"end":"(?=^[^#\\\\s])","patterns":[{"include":"#statement"}]},"statement":{"patterns":[{"include":"#comment"},{"include":"#comment-invalid"},{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#qstring"},{"include":"#assignment"}]},"string-body":{"patterns":[{"match":"\\\\{\\\\{|}}","name":"string.quoted.double.talon"},{"match":"\\\\\\\\[\\"'\\\\\\\\nrt]","name":"constant.character.escape.python"},{"include":"#fstring"}]},"varname":{"captures":{"2":{"name":"constant.numeric.talon","patterns":[{"match":"_","name":"keyword.operator.talon"}]}},"match":"([.0-9A-Z_a-z])(_(list|\\\\d+)(?=[^.0-9A-Z_a-z]))?","name":"variable.parameter.talon"}},"scopeName":"source.talon","aliases":["talon"]}`, + ), + ), + e = [n] +export { e as default } +//# sourceMappingURL=chunk-CkByrt1z.js.map diff --git a/src/webview-ui/build/assets/chunk-CkByrt1z.js.map b/src/webview-ui/build/assets/chunk-CkByrt1z.js.map new file mode 100644 index 0000000000..650a93343a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CkByrt1z.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CkByrt1z.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/talonscript.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TalonScript\\\",\\\"name\\\":\\\"talonscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#body-header\\\"},{\\\"include\\\":\\\"#header\\\"},{\\\"include\\\":\\\"#body-noheader\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#settings\\\"}],\\\"repository\\\":{\\\"action\\\":{\\\"begin\\\":\\\"([.0-9A-Z_a-z]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.talon\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.talon\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.talon\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.talon\\\"}},\\\"name\\\":\\\"variable.parameter.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#action\\\"},{\\\"include\\\":\\\"#qstring-long\\\"},{\\\"include\\\":\\\"#qstring\\\"},{\\\"include\\\":\\\"#argsep\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#varname\\\"}]},\\\"action-gamepad\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.talon\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#key-mods\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.key.talon\\\"}},\\\"match\\\":\\\"(deck|gamepad|action|face|parrot)(\\\\\\\\()(.*)(\\\\\\\\))\\\",\\\"name\\\":\\\"entity.name.function.talon\\\"},\\\"action-key\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.talon\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#key-prefixes\\\"},{\\\"include\\\":\\\"#key-mods\\\"},{\\\"include\\\":\\\"#keystring\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.key.talon\\\"}},\\\"match\\\":\\\"key(\\\\\\\\()(.*)(\\\\\\\\))\\\",\\\"name\\\":\\\"entity.name.function.talon\\\"},\\\"argsep\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.talon\\\"},\\\"assignment\\\":{\\\"begin\\\":\\\"(\\\\\\\\S*)(\\\\\\\\s?=\\\\\\\\s?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.talon\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.talon\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#comment-invalid\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"body-header\\\":{\\\"begin\\\":\\\"^-$\\\",\\\"end\\\":\\\"(?=not)possible\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#body-noheader\\\"}]},\\\"body-noheader\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#comment-invalid\\\"},{\\\"include\\\":\\\"#other-rule-definition\\\"},{\\\"include\\\":\\\"#speech-rule-definition\\\"}]},\\\"capture\\\":{\\\"match\\\":\\\"(<[.0-9A-Z_a-z]+>)\\\",\\\"name\\\":\\\"variable.parameter.talon\\\"},\\\"comment\\\":{\\\"match\\\":\\\"^\\\\\\\\s*(#.*)$\\\",\\\"name\\\":\\\"comment.line.number-sign.talon\\\"},\\\"comment-invalid\\\":{\\\"match\\\":\\\"(\\\\\\\\s*#.*)$\\\",\\\"name\\\":\\\"invalid.illegal\\\"},\\\"context\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.talon\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(and |or )\\\",\\\"name\\\":\\\"keyword.operator.talon\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#comment-invalid\\\"},{\\\"include\\\":\\\"#regexp\\\"}]}},\\\"match\\\":\\\"(.*): (.*)\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-long\\\"},{\\\"include\\\":\\\"#action-key\\\"},{\\\"include\\\":\\\"#action\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#qstring\\\"},{\\\"include\\\":\\\"#varname\\\"}]},\\\"fstring\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#action\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#varname\\\"},{\\\"include\\\":\\\"#qstring\\\"}]}},\\\"match\\\":\\\"\\\\\\\\{(.+?)}\\\",\\\"name\\\":\\\"constant.character.format.placeholder.talon\\\"},\\\"header\\\":{\\\"begin\\\":\\\"(?=(?:^app|title|os|tag|list|language):)\\\",\\\"end\\\":\\\"(?=^-$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#context\\\"}]},\\\"key-mods\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.talon\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.talon\\\"}},\\\"match\\\":\\\"(:)(up|down|change|repeat|start|stop|\\\\\\\\d+)\\\",\\\"name\\\":\\\"keyword.operator.talon\\\"},\\\"key-prefixes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.talon\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.talon\\\"}},\\\"match\\\":\\\"(ctrl|shift|cmd|alt|win|super)(-)\\\"},\\\"keystring\\\":{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.talon\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.talon\\\"}},\\\"name\\\":\\\"string.quoted.double.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-body\\\"},{\\\"include\\\":\\\"#key-mods\\\"},{\\\"include\\\":\\\"#key-prefixes\\\"}]},\\\"list\\\":{\\\"match\\\":\\\"(\\\\\\\\{[.0-9A-Z_a-z]+?})\\\",\\\"name\\\":\\\"string.interpolated.talon\\\"},\\\"number\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\b)\\\\\\\\d+(\\\\\\\\.\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.numeric.talon\\\"},\\\"operator\\\":{\\\"match\\\":\\\"\\\\\\\\s([-*+/]|or)\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.talon\\\"},\\\"other-rule-definition\\\":{\\\"begin\\\":\\\"^([a-z]+\\\\\\\\(.*[^-]\\\\\\\\)|[a-z]+\\\\\\\\(.*--\\\\\\\\)|[a-z]+\\\\\\\\(-\\\\\\\\)|[a-z]+\\\\\\\\(\\\\\\\\)):\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#action-key\\\"},{\\\"include\\\":\\\"#action-gamepad\\\"},{\\\"include\\\":\\\"#rule-specials\\\"}]}},\\\"end\\\":\\\"(?=^[^#\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},\\\"qstring\\\":{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.talon\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.talon\\\"}},\\\"name\\\":\\\"string.quoted.double.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-body\\\"}]},\\\"qstring-long\\\":{\\\"begin\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\"|''')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.talon\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.talon\\\"}},\\\"name\\\":\\\"string.quoted.triple.talon\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-body\\\"}]},\\\"regexp\\\":{\\\"begin\\\":\\\"(/)\\\",\\\"end\\\":\\\"(/)\\\",\\\"name\\\":\\\"string.regexp.talon\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"support.other.match.any.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"support.other.match.end.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"support.other.match.begin.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$*+.?^]\\\",\\\"name\\\":\\\"constant.character.escape.talon\\\"},{\\\"match\\\":\\\"\\\\\\\\[(\\\\\\\\\\\\\\\\]|[^]])*]\\\",\\\"name\\\":\\\"constant.other.set.regexp\\\"},{\\\"match\\\":\\\"[*+?]\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"}]},\\\"rule-specials\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.talon\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.talon\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.talon\\\"}},\\\"match\\\":\\\"(settings|tag)(\\\\\\\\()(\\\\\\\\))\\\"},\\\"speech-rule-definition\\\":{\\\"begin\\\":\\\"^(.*?):\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.talon\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\^\\\",\\\"name\\\":\\\"string.regexp.talon\\\"},{\\\"match\\\":\\\"\\\\\\\\$$\\\",\\\"name\\\":\\\"string.regexp.talon\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.definition.parameters.begin.talon\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.definition.parameters.end.talon\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.talon\\\"},{\\\"include\\\":\\\"#capture\\\"},{\\\"include\\\":\\\"#list\\\"}]}},\\\"end\\\":\\\"(?=^[^#\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},\\\"statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#comment-invalid\\\"},{\\\"include\\\":\\\"#qstring-long\\\"},{\\\"include\\\":\\\"#action-key\\\"},{\\\"include\\\":\\\"#action\\\"},{\\\"include\\\":\\\"#qstring\\\"},{\\\"include\\\":\\\"#assignment\\\"}]},\\\"string-body\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{|}}\\\",\\\"name\\\":\\\"string.quoted.double.talon\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"},{\\\"include\\\":\\\"#fstring\\\"}]},\\\"varname\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.talon\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"_\\\",\\\"name\\\":\\\"keyword.operator.talon\\\"}]}},\\\"match\\\":\\\"([.0-9A-Z_a-z])(_(list|\\\\\\\\d+)(?=[^.0-9A-Z_a-z]))?\\\",\\\"name\\\":\\\"variable.parameter.talon\\\"}},\\\"scopeName\\\":\\\"source.talon\\\",\\\"aliases\\\":[\\\"talon\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "talonscript" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qiNAAi8O,CAAC,EAEz9OC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CkXjmgJE.js b/src/webview-ui/build/assets/chunk-CkXjmgJE.js new file mode 100644 index 0000000000..135cb8e110 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CkXjmgJE.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#282727","activityBar.foreground":"#C5C9C5","activityBarBadge.background":"#658594","activityBarBadge.foreground":"#C5C9C5","badge.background":"#282727","button.background":"#282727","button.foreground":"#C8C093","button.secondaryBackground":"#223249","button.secondaryForeground":"#C5C9C5","checkbox.border":"#223249","debugToolBar.background":"#0D0C0C","descriptionForeground":"#C5C9C5","diffEditor.insertedTextBackground":"#2B332880","dropdown.background":"#0D0C0C","dropdown.border":"#0D0C0C","editor.background":"#181616","editor.findMatchBackground":"#2D4F67","editor.findMatchBorder":"#FF9E3B","editor.findMatchHighlightBackground":"#2D4F6780","editor.foreground":"#C5C9C5","editor.lineHighlightBackground":"#393836","editor.selectionBackground":"#223249","editor.selectionHighlightBackground":"#39383680","editor.selectionHighlightBorder":"#625E5A","editor.wordHighlightBackground":"#3938364D","editor.wordHighlightBorder":"#625E5A","editor.wordHighlightStrongBackground":"#3938364D","editor.wordHighlightStrongBorder":"#625E5A","editorBracketHighlight.foreground1":"#8992A7","editorBracketHighlight.foreground2":"#B6927B","editorBracketHighlight.foreground3":"#8BA4B0","editorBracketHighlight.foreground4":"#A292A3","editorBracketHighlight.foreground5":"#C4B28A","editorBracketHighlight.foreground6":"#8EA4A2","editorBracketHighlight.unexpectedBracket.foreground":"#C4746E","editorBracketMatch.background":"#0D0C0C","editorBracketMatch.border":"#625E5A","editorBracketPairGuide.activeBackground1":"#8992A7","editorBracketPairGuide.activeBackground2":"#B6927B","editorBracketPairGuide.activeBackground3":"#8BA4B0","editorBracketPairGuide.activeBackground4":"#A292A3","editorBracketPairGuide.activeBackground5":"#C4B28A","editorBracketPairGuide.activeBackground6":"#8EA4A2","editorCursor.background":"#181616","editorCursor.foreground":"#C5C9C5","editorError.foreground":"#E82424","editorGroup.border":"#0D0C0C","editorGroupHeader.tabsBackground":"#0D0C0C","editorGutter.addedBackground":"#76946A","editorGutter.deletedBackground":"#C34043","editorGutter.modifiedBackground":"#DCA561","editorHoverWidget.background":"#181616","editorHoverWidget.border":"#282727","editorHoverWidget.highlightForeground":"#658594","editorIndentGuide.activeBackground1":"#393836","editorIndentGuide.background1":"#282727","editorInlayHint.background":"#181616","editorInlayHint.foreground":"#737C73","editorLineNumber.activeForeground":"#FFA066","editorLineNumber.foreground":"#625E5A","editorMarkerNavigation.background":"#393836","editorRuler.foreground":"#393836","editorSuggestWidget.background":"#223249","editorSuggestWidget.border":"#223249","editorSuggestWidget.selectedBackground":"#2D4F67","editorWarning.foreground":"#FF9E3B","editorWhitespace.foreground":"#181616","editorWidget.background":"#181616","focusBorder":"#223249","foreground":"#C5C9C5","gitDecoration.ignoredResourceForeground":"#737C73","input.background":"#0D0C0C","list.activeSelectionBackground":"#393836","list.activeSelectionForeground":"#C5C9C5","list.focusBackground":"#282727","list.focusForeground":"#C5C9C5","list.highlightForeground":"#8BA4B0","list.hoverBackground":"#393836","list.hoverForeground":"#C5C9C5","list.inactiveSelectionBackground":"#282727","list.inactiveSelectionForeground":"#C5C9C5","list.warningForeground":"#FF9E3B","menu.background":"#393836","menu.border":"#0D0C0C","menu.foreground":"#C5C9C5","menu.selectionBackground":"#0D0C0C","menu.selectionForeground":"#C5C9C5","menu.separatorBackground":"#625E5A","menubar.selectionBackground":"#0D0C0C","menubar.selectionForeground":"#C5C9C5","minimapGutter.addedBackground":"#76946A","minimapGutter.deletedBackground":"#C34043","minimapGutter.modifiedBackground":"#DCA561","panel.border":"#0D0C0C","panelSectionHeader.background":"#181616","peekView.border":"#625E5A","peekViewEditor.background":"#282727","peekViewEditor.matchHighlightBackground":"#2D4F67","peekViewResult.background":"#393836","scrollbar.shadow":"#393836","scrollbarSlider.activeBackground":"#28272780","scrollbarSlider.background":"#625E5A66","scrollbarSlider.hoverBackground":"#625E5A80","settings.focusedRowBackground":"#393836","settings.headerForeground":"#C5C9C5","sideBar.background":"#181616","sideBar.border":"#0D0C0C","sideBar.foreground":"#C5C9C5","sideBarSectionHeader.background":"#393836","sideBarSectionHeader.foreground":"#C5C9C5","statusBar.background":"#0D0C0C","statusBar.debuggingBackground":"#E82424","statusBar.debuggingBorder":"#8992A7","statusBar.debuggingForeground":"#C5C9C5","statusBar.foreground":"#C8C093","statusBar.noFolderBackground":"#181616","statusBarItem.hoverBackground":"#393836","statusBarItem.remoteBackground":"#2D4F67","statusBarItem.remoteForeground":"#C5C9C5","tab.activeBackground":"#282727","tab.activeForeground":"#8BA4B0","tab.border":"#282727","tab.hoverBackground":"#393836","tab.inactiveBackground":"#1D1C19","tab.unfocusedHoverBackground":"#181616","terminal.ansiBlack":"#0D0C0C","terminal.ansiBlue":"#8BA4B0","terminal.ansiBrightBlack":"#A6A69C","terminal.ansiBrightBlue":"#7FB4CA","terminal.ansiBrightCyan":"#7AA89F","terminal.ansiBrightGreen":"#87A987","terminal.ansiBrightMagenta":"#938AA9","terminal.ansiBrightRed":"#E46876","terminal.ansiBrightWhite":"#C5C9C5","terminal.ansiBrightYellow":"#E6C384","terminal.ansiCyan":"#8EA4A2","terminal.ansiGreen":"#8A9A7B","terminal.ansiMagenta":"#A292A3","terminal.ansiRed":"#C4746E","terminal.ansiWhite":"#C8C093","terminal.ansiYellow":"#C4B28A","terminal.background":"#181616","terminal.border":"#0D0C0C","terminal.foreground":"#C5C9C5","terminal.selectionBackground":"#223249","textBlockQuote.background":"#181616","textBlockQuote.border":"#0D0C0C","textLink.foreground":"#6A9589","textPreformat.foreground":"#FF9E3B","titleBar.activeBackground":"#393836","titleBar.activeForeground":"#C5C9C5","titleBar.inactiveBackground":"#181616","titleBar.inactiveForeground":"#C5C9C5","walkThrough.embeddedEditorBackground":"#181616"},"displayName":"Kanagawa Dragon","name":"kanagawa-dragon","semanticHighlighting":true,"semanticTokenColors":{"arithmetic":"#B98D7B","function":"#8BA4B0","keyword.controlFlow":{"fontStyle":"bold","foreground":"#8992A7"},"macro":"#C4746E","method":"#949FB5","operator":"#B98D7B","parameter":"#A6A69C","parameter.declaration":"#A6A69C","parameter.definition":"#A6A69C","variable":"#C5C9C5","variable.readonly":"#C5C9C5","variable.readonly.defaultLibrary":"#C5C9C5","variable.readonly.local":"#C5C9C5"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#737C73"}},{"scope":["variable","string constant.other.placeholder"],"settings":{"foreground":"#C5C9C5"}},{"scope":["constant.other.color"],"settings":{"foreground":"#B6927B"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#E82424"}},{"scope":["storage.type"],"settings":{"foreground":"#8992A7"}},{"scope":["storage.modifier"],"settings":{"foreground":"#8992A7"}},{"scope":["keyword.control.flow","keyword.control.conditional","keyword.control.loop"],"settings":{"fontStyle":"bold","foreground":"#8992A7"}},{"scope":["keyword.control","constant.other.color","meta.tag","keyword.other.template","keyword.other.substitution","keyword.other"],"settings":{"foreground":"#8992A7"}},{"scope":["keyword.other.definition.ini"],"settings":{"foreground":"#B6927B"}},{"scope":["keyword.control.trycatch"],"settings":{"fontStyle":"bold","foreground":"#C4746E"}},{"scope":["keyword.other.unit","keyword.operator"],"settings":{"foreground":"#C4B28A"}},{"scope":["punctuation","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","meta.brace","keyword.operator.type.annotation","keyword.operator.namespace"],"settings":{"foreground":"#9E9B93"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#C4B28A"}},{"scope":["entity.name.function","meta.function-call","variable.function","support.function"],"settings":{"foreground":"#8BA4B0"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#949FB5"}},{"scope":["entity.name.function.macro"],"settings":{"foreground":"#C4746E"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#C5C9C5"}},{"scope":["variable.other.enummember"],"settings":{"foreground":"#B6927B"}},{"scope":["support.other.variable"],"settings":{"foreground":"#C5C9C5"}},{"scope":["string.other.link"],"settings":{"foreground":"#949FB5"}},{"scope":["constant.numeric","constant.language","support.constant","constant.character","constant.escape"],"settings":{"foreground":"#B6927B"}},{"scope":["constant.language.boolean"],"settings":{"foreground":"#B6927B"}},{"scope":["constant.numeric"],"settings":{"foreground":"#A292A3"}},{"scope":["string","punctuation.definition.string","constant.other.symbol","constant.other.key","entity.other.inherited-class","markup.heading","markup.inserted.git_gutter","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","markup.inline.raw.string"],"settings":{"foreground":"#8A9A7B"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types"],"settings":{"foreground":"#8EA4A2"}},{"scope":["entity.name.type.module","entity.name.namespace"],"settings":{"foreground":"#C4B28A"}},{"scope":["entity.name.import.go"],"settings":{"foreground":"#8A9A7B"}},{"scope":["keyword.blade"],"settings":{"foreground":"#8992A7"}},{"scope":["variable.other.property"],"settings":{"foreground":"#C4B28A"}},{"scope":["keyword.control.import","keyword.import","meta.import"],"settings":{"foreground":"#B6927B"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name"],"settings":{"foreground":"#8EA4A2"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#C4746E"}},{"scope":["variable.language"],"settings":{"foreground":"#C4746E"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#949FB5"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#949FB5"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#8992A7"}},{"scope":["entity.other.attribute-name.class"],"settings":{"foreground":"#C4B28A"}},{"scope":["source.sass keyword.control"],"settings":{"foreground":"#949FB5"}},{"scope":["markup.inserted"],"settings":{"foreground":"#76946A"}},{"scope":["markup.deleted"],"settings":{"foreground":"#C34043"}},{"scope":["markup.changed"],"settings":{"foreground":"#DCA561"}},{"scope":["string.regexp"],"settings":{"foreground":"#B98D7B"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#949FB5"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#8992A7"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#C4746E"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#A292A3"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C4B28A"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#B6927B"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C4746E"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#B6927B"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#8BA4B0"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#A292A3"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#8992A7"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#8A9A7B"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#C5C9C5"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#C5C9C5"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#8992A7"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#8992A7"}},{"scope":["markdown.heading","entity.name.section.markdown","markup.heading.markdown"],"settings":{"foreground":"#8BA4B0"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#C4746E"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#C4746E"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#949FB5"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#737C73"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic"}},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#B6927B"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#8992A7"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#C4B28A"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#8992A7"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#737C73"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#737C73"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#C5C9C5"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#737C73"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#9E9B93"}},{"scope":["markup.table"],"settings":{"foreground":"#C5C9C5"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-CkXjmgJE.js.map diff --git a/src/webview-ui/build/assets/chunk-CkXjmgJE.js.map b/src/webview-ui/build/assets/chunk-CkXjmgJE.js.map new file mode 100644 index 0000000000..b66d535c35 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CkXjmgJE.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-CkXjmgJE.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/kanagawa-dragon.mjs" + ], + "sourcesContent": [ + "/* Theme: kanagawa-dragon */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#282727\\\",\\\"activityBar.foreground\\\":\\\"#C5C9C5\\\",\\\"activityBarBadge.background\\\":\\\"#658594\\\",\\\"activityBarBadge.foreground\\\":\\\"#C5C9C5\\\",\\\"badge.background\\\":\\\"#282727\\\",\\\"button.background\\\":\\\"#282727\\\",\\\"button.foreground\\\":\\\"#C8C093\\\",\\\"button.secondaryBackground\\\":\\\"#223249\\\",\\\"button.secondaryForeground\\\":\\\"#C5C9C5\\\",\\\"checkbox.border\\\":\\\"#223249\\\",\\\"debugToolBar.background\\\":\\\"#0D0C0C\\\",\\\"descriptionForeground\\\":\\\"#C5C9C5\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#2B332880\\\",\\\"dropdown.background\\\":\\\"#0D0C0C\\\",\\\"dropdown.border\\\":\\\"#0D0C0C\\\",\\\"editor.background\\\":\\\"#181616\\\",\\\"editor.findMatchBackground\\\":\\\"#2D4F67\\\",\\\"editor.findMatchBorder\\\":\\\"#FF9E3B\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#2D4F6780\\\",\\\"editor.foreground\\\":\\\"#C5C9C5\\\",\\\"editor.lineHighlightBackground\\\":\\\"#393836\\\",\\\"editor.selectionBackground\\\":\\\"#223249\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#39383680\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#625E5A\\\",\\\"editor.wordHighlightBackground\\\":\\\"#3938364D\\\",\\\"editor.wordHighlightBorder\\\":\\\"#625E5A\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#3938364D\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#625E5A\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#8992A7\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#B6927B\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#8BA4B0\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#A292A3\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#C4B28A\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#8EA4A2\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#C4746E\\\",\\\"editorBracketMatch.background\\\":\\\"#0D0C0C\\\",\\\"editorBracketMatch.border\\\":\\\"#625E5A\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#8992A7\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#B6927B\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#8BA4B0\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#A292A3\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#C4B28A\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#8EA4A2\\\",\\\"editorCursor.background\\\":\\\"#181616\\\",\\\"editorCursor.foreground\\\":\\\"#C5C9C5\\\",\\\"editorError.foreground\\\":\\\"#E82424\\\",\\\"editorGroup.border\\\":\\\"#0D0C0C\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0D0C0C\\\",\\\"editorGutter.addedBackground\\\":\\\"#76946A\\\",\\\"editorGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"editorHoverWidget.background\\\":\\\"#181616\\\",\\\"editorHoverWidget.border\\\":\\\"#282727\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#658594\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#393836\\\",\\\"editorIndentGuide.background1\\\":\\\"#282727\\\",\\\"editorInlayHint.background\\\":\\\"#181616\\\",\\\"editorInlayHint.foreground\\\":\\\"#737C73\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#FFA066\\\",\\\"editorLineNumber.foreground\\\":\\\"#625E5A\\\",\\\"editorMarkerNavigation.background\\\":\\\"#393836\\\",\\\"editorRuler.foreground\\\":\\\"#393836\\\",\\\"editorSuggestWidget.background\\\":\\\"#223249\\\",\\\"editorSuggestWidget.border\\\":\\\"#223249\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#2D4F67\\\",\\\"editorWarning.foreground\\\":\\\"#FF9E3B\\\",\\\"editorWhitespace.foreground\\\":\\\"#181616\\\",\\\"editorWidget.background\\\":\\\"#181616\\\",\\\"focusBorder\\\":\\\"#223249\\\",\\\"foreground\\\":\\\"#C5C9C5\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#737C73\\\",\\\"input.background\\\":\\\"#0D0C0C\\\",\\\"list.activeSelectionBackground\\\":\\\"#393836\\\",\\\"list.activeSelectionForeground\\\":\\\"#C5C9C5\\\",\\\"list.focusBackground\\\":\\\"#282727\\\",\\\"list.focusForeground\\\":\\\"#C5C9C5\\\",\\\"list.highlightForeground\\\":\\\"#8BA4B0\\\",\\\"list.hoverBackground\\\":\\\"#393836\\\",\\\"list.hoverForeground\\\":\\\"#C5C9C5\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#282727\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#C5C9C5\\\",\\\"list.warningForeground\\\":\\\"#FF9E3B\\\",\\\"menu.background\\\":\\\"#393836\\\",\\\"menu.border\\\":\\\"#0D0C0C\\\",\\\"menu.foreground\\\":\\\"#C5C9C5\\\",\\\"menu.selectionBackground\\\":\\\"#0D0C0C\\\",\\\"menu.selectionForeground\\\":\\\"#C5C9C5\\\",\\\"menu.separatorBackground\\\":\\\"#625E5A\\\",\\\"menubar.selectionBackground\\\":\\\"#0D0C0C\\\",\\\"menubar.selectionForeground\\\":\\\"#C5C9C5\\\",\\\"minimapGutter.addedBackground\\\":\\\"#76946A\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"panel.border\\\":\\\"#0D0C0C\\\",\\\"panelSectionHeader.background\\\":\\\"#181616\\\",\\\"peekView.border\\\":\\\"#625E5A\\\",\\\"peekViewEditor.background\\\":\\\"#282727\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#2D4F67\\\",\\\"peekViewResult.background\\\":\\\"#393836\\\",\\\"scrollbar.shadow\\\":\\\"#393836\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#28272780\\\",\\\"scrollbarSlider.background\\\":\\\"#625E5A66\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#625E5A80\\\",\\\"settings.focusedRowBackground\\\":\\\"#393836\\\",\\\"settings.headerForeground\\\":\\\"#C5C9C5\\\",\\\"sideBar.background\\\":\\\"#181616\\\",\\\"sideBar.border\\\":\\\"#0D0C0C\\\",\\\"sideBar.foreground\\\":\\\"#C5C9C5\\\",\\\"sideBarSectionHeader.background\\\":\\\"#393836\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#C5C9C5\\\",\\\"statusBar.background\\\":\\\"#0D0C0C\\\",\\\"statusBar.debuggingBackground\\\":\\\"#E82424\\\",\\\"statusBar.debuggingBorder\\\":\\\"#8992A7\\\",\\\"statusBar.debuggingForeground\\\":\\\"#C5C9C5\\\",\\\"statusBar.foreground\\\":\\\"#C8C093\\\",\\\"statusBar.noFolderBackground\\\":\\\"#181616\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#393836\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2D4F67\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#C5C9C5\\\",\\\"tab.activeBackground\\\":\\\"#282727\\\",\\\"tab.activeForeground\\\":\\\"#8BA4B0\\\",\\\"tab.border\\\":\\\"#282727\\\",\\\"tab.hoverBackground\\\":\\\"#393836\\\",\\\"tab.inactiveBackground\\\":\\\"#1D1C19\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#181616\\\",\\\"terminal.ansiBlack\\\":\\\"#0D0C0C\\\",\\\"terminal.ansiBlue\\\":\\\"#8BA4B0\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#A6A69C\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7FB4CA\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7AA89F\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#87A987\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#938AA9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E46876\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#C5C9C5\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E6C384\\\",\\\"terminal.ansiCyan\\\":\\\"#8EA4A2\\\",\\\"terminal.ansiGreen\\\":\\\"#8A9A7B\\\",\\\"terminal.ansiMagenta\\\":\\\"#A292A3\\\",\\\"terminal.ansiRed\\\":\\\"#C4746E\\\",\\\"terminal.ansiWhite\\\":\\\"#C8C093\\\",\\\"terminal.ansiYellow\\\":\\\"#C4B28A\\\",\\\"terminal.background\\\":\\\"#181616\\\",\\\"terminal.border\\\":\\\"#0D0C0C\\\",\\\"terminal.foreground\\\":\\\"#C5C9C5\\\",\\\"terminal.selectionBackground\\\":\\\"#223249\\\",\\\"textBlockQuote.background\\\":\\\"#181616\\\",\\\"textBlockQuote.border\\\":\\\"#0D0C0C\\\",\\\"textLink.foreground\\\":\\\"#6A9589\\\",\\\"textPreformat.foreground\\\":\\\"#FF9E3B\\\",\\\"titleBar.activeBackground\\\":\\\"#393836\\\",\\\"titleBar.activeForeground\\\":\\\"#C5C9C5\\\",\\\"titleBar.inactiveBackground\\\":\\\"#181616\\\",\\\"titleBar.inactiveForeground\\\":\\\"#C5C9C5\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#181616\\\"},\\\"displayName\\\":\\\"Kanagawa Dragon\\\",\\\"name\\\":\\\"kanagawa-dragon\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"arithmetic\\\":\\\"#B98D7B\\\",\\\"function\\\":\\\"#8BA4B0\\\",\\\"keyword.controlFlow\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8992A7\\\"},\\\"macro\\\":\\\"#C4746E\\\",\\\"method\\\":\\\"#949FB5\\\",\\\"operator\\\":\\\"#B98D7B\\\",\\\"parameter\\\":\\\"#A6A69C\\\",\\\"parameter.declaration\\\":\\\"#A6A69C\\\",\\\"parameter.definition\\\":\\\"#A6A69C\\\",\\\"variable\\\":\\\"#C5C9C5\\\",\\\"variable.readonly\\\":\\\"#C5C9C5\\\",\\\"variable.readonly.defaultLibrary\\\":\\\"#C5C9C5\\\",\\\"variable.readonly.local\\\":\\\"#C5C9C5\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E82424\\\"}},{\\\"scope\\\":[\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\",\\\"keyword.control.conditional\\\",\\\"keyword.control.loop\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"keyword.control.trycatch\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\",\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"punctuation\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"meta.brace\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9E9B93\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BA4B0\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A292A3\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"markup.inline.raw.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8A9A7B\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8EA4A2\\\"}},{\\\"scope\\\":[\\\"entity.name.type.module\\\",\\\"entity.name.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"entity.name.import.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8A9A7B\\\"}},{\\\"scope\\\":[\\\"keyword.blade\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"keyword.control.import\\\",\\\"keyword.import\\\",\\\"meta.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8EA4A2\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#76946A\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C34043\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCA561\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B98D7B\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A292A3\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BA4B0\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A292A3\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8A9A7B\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"entity.name.section.markdown\\\",\\\"markup.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BA4B0\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#9E9B93\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "kanagawaDragon" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,6qhBAA+vkB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cmh6b_Ma.js b/src/webview-ui/build/assets/chunk-Cmh6b_Ma.js new file mode 100644 index 0000000000..028b378db2 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cmh6b_Ma.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"MDX","fileTypes":["mdx"],"name":"mdx","patterns":[{"include":"#markdown-frontmatter"},{"include":"#markdown-sections"}],"repository":{"commonmark-attention":{"patterns":[{"match":"(?<=\\\\S)\\\\*{3,}|\\\\*{3,}(?=\\\\S)","name":"string.other.strong.emphasis.asterisk.mdx"},{"match":"(?<=[\\\\p{L}\\\\p{N}])_{3,}(?![\\\\p{L}\\\\p{N}])|(?<=\\\\p{P})_{3,}|(?) ?","beginCaptures":{"0":{"name":"markup.quote.mdx"},"1":{"name":"punctuation.definition.quote.begin.mdx"}},"name":"markup.quote.mdx","patterns":[{"include":"#markdown-sections"}],"while":"(>) ?","whileCaptures":{"0":{"name":"markup.quote.mdx"},"1":{"name":"punctuation.definition.quote.begin.mdx"}}},"commonmark-character-escape":{"match":"\\\\\\\\[!-/:-@\\\\[-`{-~]","name":"constant.language.character-escape.mdx"},"commonmark-character-reference":{"patterns":[{"include":"#whatwg-html-data-character-reference-named-terminated"},{"captures":{"1":{"name":"punctuation.definition.character-reference.begin.html"},"2":{"name":"punctuation.definition.character-reference.numeric.html"},"3":{"name":"punctuation.definition.character-reference.numeric.hexadecimal.html"},"4":{"name":"constant.numeric.integer.hexadecimal.html"},"5":{"name":"punctuation.definition.character-reference.end.html"}},"match":"(&)(#)([Xx])(\\\\h{1,6})(;)","name":"constant.language.character-reference.numeric.hexadecimal.html"},{"captures":{"1":{"name":"punctuation.definition.character-reference.begin.html"},"2":{"name":"punctuation.definition.character-reference.numeric.html"},"3":{"name":"constant.numeric.integer.decimal.html"},"4":{"name":"punctuation.definition.character-reference.end.html"}},"match":"(&)(#)([0-9]{1,7})(;)","name":"constant.language.character-reference.numeric.decimal.html"}]},"commonmark-code-fenced":{"patterns":[{"include":"#commonmark-code-fenced-apib"},{"include":"#commonmark-code-fenced-asciidoc"},{"include":"#commonmark-code-fenced-c"},{"include":"#commonmark-code-fenced-clojure"},{"include":"#commonmark-code-fenced-coffee"},{"include":"#commonmark-code-fenced-console"},{"include":"#commonmark-code-fenced-cpp"},{"include":"#commonmark-code-fenced-cs"},{"include":"#commonmark-code-fenced-css"},{"include":"#commonmark-code-fenced-diff"},{"include":"#commonmark-code-fenced-dockerfile"},{"include":"#commonmark-code-fenced-elixir"},{"include":"#commonmark-code-fenced-elm"},{"include":"#commonmark-code-fenced-erlang"},{"include":"#commonmark-code-fenced-gitconfig"},{"include":"#commonmark-code-fenced-go"},{"include":"#commonmark-code-fenced-graphql"},{"include":"#commonmark-code-fenced-haskell"},{"include":"#commonmark-code-fenced-html"},{"include":"#commonmark-code-fenced-ini"},{"include":"#commonmark-code-fenced-java"},{"include":"#commonmark-code-fenced-js"},{"include":"#commonmark-code-fenced-json"},{"include":"#commonmark-code-fenced-julia"},{"include":"#commonmark-code-fenced-kotlin"},{"include":"#commonmark-code-fenced-less"},{"include":"#commonmark-code-fenced-less"},{"include":"#commonmark-code-fenced-lua"},{"include":"#commonmark-code-fenced-makefile"},{"include":"#commonmark-code-fenced-md"},{"include":"#commonmark-code-fenced-mdx"},{"include":"#commonmark-code-fenced-objc"},{"include":"#commonmark-code-fenced-perl"},{"include":"#commonmark-code-fenced-php"},{"include":"#commonmark-code-fenced-php"},{"include":"#commonmark-code-fenced-python"},{"include":"#commonmark-code-fenced-r"},{"include":"#commonmark-code-fenced-raku"},{"include":"#commonmark-code-fenced-ruby"},{"include":"#commonmark-code-fenced-rust"},{"include":"#commonmark-code-fenced-scala"},{"include":"#commonmark-code-fenced-scss"},{"include":"#commonmark-code-fenced-shell"},{"include":"#commonmark-code-fenced-shell-session"},{"include":"#commonmark-code-fenced-sql"},{"include":"#commonmark-code-fenced-svg"},{"include":"#commonmark-code-fenced-swift"},{"include":"#commonmark-code-fenced-toml"},{"include":"#commonmark-code-fenced-ts"},{"include":"#commonmark-code-fenced-tsx"},{"include":"#commonmark-code-fenced-vbnet"},{"include":"#commonmark-code-fenced-xml"},{"include":"#commonmark-code-fenced-yaml"},{"include":"#commonmark-code-fenced-unknown"}]},"commonmark-code-fenced-apib":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:api-blueprint|(?:.*\\\\.)?apib))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.apib.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.apib","patterns":[{"include":"text.html.markdown.source.gfm.apib"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:api-blueprint|(?:.*\\\\.)?apib))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.apib.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.apib","patterns":[{"include":"text.html.markdown.source.gfm.apib"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-asciidoc":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?a(?:|scii)doc))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.asciidoc.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.asciidoc","patterns":[{"include":"text.html.asciidoc"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?a(?:|scii)doc))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.asciidoc.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.asciidoc","patterns":[{"include":"text.html.asciidoc"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-c":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:dtrace|dtrace-script|oncrpc|rpc|rpcgen|unified-parallel-c|x-bitmap|x-pixmap|xdr|(?:.*\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.c.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:dtrace|dtrace-script|oncrpc|rpc|rpcgen|unified-parallel-c|x-bitmap|x-pixmap|xdr|(?:.*\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.c.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-clojure":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:clojure|rouge|(?:.*\\\\.)?(?:boot|cl2|cljc??|cljs|cljs\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.clojure.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:clojure|rouge|(?:.*\\\\.)?(?:boot|cl2|cljc??|cljs|cljs\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.clojure.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-coffee":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:coffee-script|coffeescript|(?:.*\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.coffee.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:coffee-script|coffeescript|(?:.*\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.coffee.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-console":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:py(?:con|thon-console)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.console.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.console","patterns":[{"include":"text.python.console"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:py(?:con|thon-console)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.console.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.console","patterns":[{"include":"text.python.console"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-cpp":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:ags|ags-script|asymptote|c\\\\+\\\\+|edje-data-collection|game-maker-language|swig|(?:.*\\\\.)?(?:asc|ash|asy|c\\\\+\\\\+|cc|cpp??|cppm|cxx|edc|gml|h\\\\+\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.cpp.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.cpp","patterns":[{"include":"source.c++"},{"include":"source.cpp"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:ags|ags-script|asymptote|c\\\\+\\\\+|edje-data-collection|game-maker-language|swig|(?:.*\\\\.)?(?:asc|ash|asy|c\\\\+\\\\+|cc|cpp??|cppm|cxx|edc|gml|h\\\\+\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.cpp.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.cpp","patterns":[{"include":"source.c++"},{"include":"source.cpp"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-cs":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\.)?(?:bf|cake|cs|cs\\\\.pp|csx|eq|linq|uno)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.cs.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.cs","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\.)?(?:bf|cake|cs|cs\\\\.pp|csx|eq|linq|uno)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.cs.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.cs","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-css":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?css))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.css.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?css))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.css.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-diff":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:udiff|(?:.*\\\\.)?(?:diff|patch)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.diff.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:udiff|(?:.*\\\\.)?(?:diff|patch)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.diff.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-dockerfile":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:contain|(?:.*\\\\.)?dock)erfile))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.dockerfile.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:contain|(?:.*\\\\.)?dock)erfile))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.dockerfile.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-elixir":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:elixir|(?:.*\\\\.)?exs??))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.elixir.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:elixir|(?:.*\\\\.)?exs??))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.elixir.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-elm":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?elm))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.elm.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.elm","patterns":[{"include":"source.elm"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?elm))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.elm.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.elm","patterns":[{"include":"source.elm"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-erlang":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:erlang|(?:.*\\\\.)?(?:app|app\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.erlang.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:erlang|(?:.*\\\\.)?(?:app|app\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.erlang.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-gitconfig":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:git-config|gitmodules|(?:.*\\\\.)?gitconfig))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.gitconfig.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.gitconfig","patterns":[{"include":"source.gitconfig"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:git-config|gitmodules|(?:.*\\\\.)?gitconfig))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.gitconfig.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.gitconfig","patterns":[{"include":"source.gitconfig"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-go":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:golang|(?:.*\\\\.)?go))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.go.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:golang|(?:.*\\\\.)?go))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.go.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-graphql":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?g(?:ql|raphqls??)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.graphql.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.graphql","patterns":[{"include":"source.graphql"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?g(?:ql|raphqls??)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.graphql.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.graphql","patterns":[{"include":"source.graphql"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-haskell":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:c2hs|c2hs-haskell|frege|haskell|(?:.*\\\\.)?(?:chs|dhall|hs|hs-boot|hsc)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.haskell.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:c2hs|c2hs-haskell|frege|haskell|(?:.*\\\\.)?(?:chs|dhall|hs|hs-boot|hsc)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.haskell.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.haskell","patterns":[{"include":"source.haskell"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-html":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:html|(?:.*\\\\.)?(?:hta|htm|html\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.html.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:html|(?:.*\\\\.)?(?:hta|htm|html\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.html.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-ini":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:altium|altium-designer|dosini|(?:.*\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.ini.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:altium|altium-designer|dosini|(?:.*\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.ini.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-java":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\.)?(?:ck|java??|jsh|uc)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.java.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\.)?(?:ck|java??|jsh|uc)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.java.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-js":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:cycript|javascript\\\\+erb|json-with-comments|node|qt-script|(?:.*\\\\.)?(?:_js|bones|cjs|code-snippets|code-workspace|cy|es6|jake|javascript|js|js\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime-build|sublime-color-scheme|sublime-commands|sublime-completions|sublime-keymap|sublime-macro|sublime-menu|sublime-mousemap|sublime-project|sublime-settings|sublime-theme|sublime-workspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.js.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.js","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:cycript|javascript\\\\+erb|json-with-comments|node|qt-script|(?:.*\\\\.)?(?:_js|bones|cjs|code-snippets|code-workspace|cy|es6|jake|javascript|js|js\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime-build|sublime-color-scheme|sublime-commands|sublime-completions|sublime-keymap|sublime-macro|sublime-menu|sublime-mousemap|sublime-project|sublime-settings|sublime-theme|sublime-workspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.js.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.js","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-json":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:ecere-projects|ipython-notebook|jupyter-notebook|max|max/msp|maxmsp|oasv2-json|oasv3-json|(?:.*\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json-tmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\.backup|topojson|webapp|webmanifest|yyp??)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.json.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:ecere-projects|ipython-notebook|jupyter-notebook|max|max/msp|maxmsp|oasv2-json|oasv3-json|(?:.*\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json-tmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\.backup|topojson|webapp|webmanifest|yyp??)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.json.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-julia":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:julia|(?:.*\\\\.)?jl))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.julia.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:julia|(?:.*\\\\.)?jl))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.julia.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-kotlin":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:gradle-kotlin-dsl|kotlin|(?:.*\\\\.)?(?:gradle\\\\.kts|ktm??|kts)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.kotlin.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:gradle-kotlin-dsl|kotlin|(?:.*\\\\.)?(?:gradle\\\\.kts|ktm??|kts)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.kotlin.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.kotlin","patterns":[{"include":"source.kotlin"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-less":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:less-css|(?:.*\\\\.)?less))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.less.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:less-css|(?:.*\\\\.)?less))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.less.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-lua":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.lua.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.lua.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-makefile":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\.)?m(?:ake??|akefile|k|kfile)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.makefile.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\.)?m(?:ake??|akefile|k|kfile)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.makefile.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-md":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\.)?(?:livemd|markdown|mdown|mdwn|mkdn??|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.md.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.md","patterns":[{"include":"text.md"},{"include":"source.gfm"},{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\.)?(?:livemd|markdown|mdown|mdwn|mkdn??|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.md.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.md","patterns":[{"include":"text.md"},{"include":"source.gfm"},{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-mdx":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?mdx))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.mdx.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.mdx","patterns":[{"include":"source.mdx"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?mdx))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.mdx.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.mdx","patterns":[{"include":"source.mdx"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-objc":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:obj(?:-?|ective-?)c))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.objc.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:obj(?:-?|ective-?)c))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.objc.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-perl":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:cperl|(?:.*\\\\.)?(?:cgi|perl|ph|plx??|pm|psgi|t)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.perl.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:cperl|(?:.*\\\\.)?(?:cgi|perl|ph|plx??|pm|psgi|t)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.perl.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-php":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:html\\\\+php|inc|php|(?:.*\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.php.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.php","patterns":[{"include":"text.html.php"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:html\\\\+php|inc|php|(?:.*\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.php.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.php","patterns":[{"include":"text.html.php"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-python":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:bazel|easybuild|python3??|rusthon|snakemake|starlark|xonsh|(?:.*\\\\.)?(?:bzl|eb|gypi??|lmi|py3??|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.python.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:bazel|easybuild|python3??|rusthon|snakemake|starlark|xonsh|(?:.*\\\\.)?(?:bzl|eb|gypi??|lmi|py3??|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.python.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-r":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:rscript|splus|(?:.*\\\\.)?r(?:|d|sx)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.r.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:rscript|splus|(?:.*\\\\.)?r(?:|d|sx)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.r.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-raku":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:perl-6|perl6|pod-6|(?:.*\\\\.)?(?:6pl|6pm|nqp|p6l??|p6m|pl6|pm6|pod6??|raku|rakumod)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.raku.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.raku","patterns":[{"include":"source.raku"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:perl-6|perl6|pod-6|(?:.*\\\\.)?(?:6pl|6pm|nqp|p6l??|p6m|pl6|pm6|pod6??|raku|rakumod)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.raku.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.raku","patterns":[{"include":"source.raku"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-ruby":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:jruby|macruby|(?:.*\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rbi??|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.ruby.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:jruby|macruby|(?:.*\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rbi??|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.ruby.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-rust":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:rust|(?:.*\\\\.)?rs(?:|\\\\.in)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.rust.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:rust|(?:.*\\\\.)?rs(?:|\\\\.in)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.rust.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-scala":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.scala.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.scala.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-scss":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?scss))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.scss.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?scss))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.scss.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-shell":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:abuild|alpine-abuild|apkbuild|envrc|gentoo-ebuild|gentoo-eclass|openrc|openrc-runscript|shell|shell-script|(?:.*\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\.in|tcsh|tmux|tool|zsh|zsh-theme)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.shell.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.shell","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:abuild|alpine-abuild|apkbuild|envrc|gentoo-ebuild|gentoo-eclass|openrc|openrc-runscript|shell|shell-script|(?:.*\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\.in|tcsh|tmux|tool|zsh|zsh-theme)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.shell.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.shell","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-shell-session":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:bash-session|console|shellsession|(?:.*\\\\.)?sh-session))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.shell-session.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.shell-session","patterns":[{"include":"text.shell-session"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:bash-session|console|shellsession|(?:.*\\\\.)?sh-session))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.shell-session.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.shell-session","patterns":[{"include":"text.shell-session"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-sql":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|tab|udf|viw)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.sql.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|tab|udf|viw)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.sql.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-svg":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?svg))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.svg.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.svg","patterns":[{"include":"text.xml.svg"},{"include":"text.xml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?svg))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.svg.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.svg","patterns":[{"include":"text.xml.svg"},{"include":"text.xml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-swift":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?swift))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.swift.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?swift))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.swift.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-toml":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?toml))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.toml.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.toml","patterns":[{"include":"source.toml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?toml))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.toml.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.toml","patterns":[{"include":"source.toml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-ts":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:typescript|(?:.*\\\\.)?(?:c|m?)ts))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.ts.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.ts","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:typescript|(?:.*\\\\.)?(?:c|m?)ts))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.ts.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.ts","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-tsx":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:(?:.*\\\\.)?tsx))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.tsx.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.tsx","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:(?:.*\\\\.)?tsx))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.tsx.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.tsx","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-unknown":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})(?:[\\\\t ]*([^\\\\t\\\\n\\\\r `]+)(?:[\\\\t ]+([^\\\\n\\\\r`]+))?)?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"contentName":"markup.raw.code.fenced.mdx","end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.other.mdx"},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})(?:[\\\\t ]*([^\\\\t\\\\n\\\\r ]+)(?:[\\\\t ]+([^\\\\n\\\\r]+))?)?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"contentName":"markup.raw.code.fenced.mdx","end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.other.mdx"}]},"commonmark-code-fenced-vbnet":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:fb|freebasic|realbasic|vb-\\\\.net|vb\\\\.net|vbnet|vbscript|visual-basic|visual-basic-\\\\.net|(?:.*\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.vbnet.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.vbnet","patterns":[{"include":"source.vbnet"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:fb|freebasic|realbasic|vb-\\\\.net|vb\\\\.net|vbnet|vbscript|visual-basic|visual-basic-\\\\.net|(?:.*\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.vbnet.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.vbnet","patterns":[{"include":"source.vbnet"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-xml":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:collada|eagle|labview|web-ontology-language|xpages|(?:.*\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|scxml|sfproj|shproj|srdf|storyboard|sublime-snippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp-config|xsp\\\\.metadata|xspec|xul|zcml)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.xml.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:collada|eagle|labview|web-ontology-language|xpages|(?:.*\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|scxml|sfproj|shproj|srdf|storyboard|sublime-snippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp-config|xsp\\\\.metadata|xspec|xul|zcml)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.xml.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-fenced-yaml":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*(`{3,})[\\\\t ]*((?i:jar-manifest|kaitai-struct|oasv2-yaml|oasv3-yaml|unity3d-asset|yaml|yml|(?:.*\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime-syntax|syntax|unity|yaml-tmlanguage|yaml\\\\.sed|yml\\\\.mysql)))(?:[\\\\t ]+([^\\\\n\\\\r`]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.yaml.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]},{"begin":"(?:^|\\\\G)[\\\\t ]*(~{3,})[\\\\t ]*((?i:jar-manifest|kaitai-struct|oasv2-yaml|oasv3-yaml|unity3d-asset|yaml|yml|(?:.*\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime-syntax|syntax|unity|yaml-tmlanguage|yaml\\\\.sed|yml\\\\.mysql)))(?:[\\\\t ]+([^\\\\n\\\\r]+))?[\\\\t ]*$","beginCaptures":{"1":{"name":"string.other.begin.code.fenced.mdx"},"2":{"name":"entity.name.function.mdx","patterns":[{"include":"#markdown-string"}]},"3":{"patterns":[{"include":"#markdown-string"}]}},"end":"(?:^|\\\\G)[\\\\t ]*(\\\\1)[\\\\t ]*$","endCaptures":{"1":{"name":"string.other.end.code.fenced.mdx"}},"name":"markup.code.yaml.mdx","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?![\\\\t ]*([`~]{3,})[\\\\t ]*$)"}]}]},"commonmark-code-text":{"captures":{"1":{"name":"string.other.begin.code.mdx"},"2":{"name":"markup.raw.code.mdx markup.inline.raw.code.mdx"},"3":{"name":"string.other.end.code.mdx"}},"match":"(?\\\\\\\\]|\\\\\\\\[<>\\\\\\\\]?)*)(>)|(\\\\g))(?:[\\\\t ]+(?:(\\")((?:[^\\"\\\\\\\\]|\\\\\\\\[\\"\\\\\\\\]?)*)(\\")|(\')((?:[^\'\\\\\\\\]|\\\\\\\\[\'\\\\\\\\]?)*)(\')|(\\\\()((?:[^)\\\\\\\\]|\\\\\\\\[)\\\\\\\\]?)*)(\\\\))))?$(?(?!<)(?:(?:[^ ()\\\\\\\\\\\\p{Cc}]|\\\\\\\\[()\\\\\\\\]?)|\\\\(\\\\g*\\\\))+){0}","name":"meta.link.reference.def.mdx"},"commonmark-hard-break-escape":{"match":"\\\\\\\\$","name":"constant.language.character-escape.line-ending.mdx"},"commonmark-hard-break-trailing":{"match":"( ){2,}$","name":"carriage-return constant.language.character-escape.line-ending.mdx"},"commonmark-heading-atx":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.heading.mdx"},"2":{"name":"entity.name.section.mdx","patterns":[{"include":"#markdown-text"}]},"3":{"name":"punctuation.definition.heading.mdx"}},"match":"(?:^|\\\\G)[\\\\t ]*(#{1}(?!#))(?:[\\\\t ]+([^\\\\n\\\\r]+?)(?:[\\\\t ]+(#+?))?)?[\\\\t ]*$","name":"markup.heading.atx.1.mdx"},{"captures":{"1":{"name":"punctuation.definition.heading.mdx"},"2":{"name":"entity.name.section.mdx","patterns":[{"include":"#markdown-text"}]},"3":{"name":"punctuation.definition.heading.mdx"}},"match":"(?:^|\\\\G)[\\\\t ]*(#{2}(?!#))(?:[\\\\t ]+([^\\\\n\\\\r]+?)(?:[\\\\t ]+(#+?))?)?[\\\\t ]*$","name":"markup.heading.atx.2.mdx"},{"captures":{"1":{"name":"punctuation.definition.heading.mdx"},"2":{"name":"entity.name.section.mdx","patterns":[{"include":"#markdown-text"}]},"3":{"name":"punctuation.definition.heading.mdx"}},"match":"(?:^|\\\\G)[\\\\t ]*(#{3}(?!#))(?:[\\\\t ]+([^\\\\n\\\\r]+?)(?:[\\\\t ]+(#+?))?)?[\\\\t ]*$","name":"markup.heading.atx.3.mdx"},{"captures":{"1":{"name":"punctuation.definition.heading.mdx"},"2":{"name":"entity.name.section.mdx","patterns":[{"include":"#markdown-text"}]},"3":{"name":"punctuation.definition.heading.mdx"}},"match":"(?:^|\\\\G)[\\\\t ]*(#{4}(?!#))(?:[\\\\t ]+([^\\\\n\\\\r]+?)(?:[\\\\t ]+(#+?))?)?[\\\\t ]*$","name":"markup.heading.atx.4.mdx"},{"captures":{"1":{"name":"punctuation.definition.heading.mdx"},"2":{"name":"entity.name.section.mdx","patterns":[{"include":"#markdown-text"}]},"3":{"name":"punctuation.definition.heading.mdx"}},"match":"(?:^|\\\\G)[\\\\t ]*(#{5}(?!#))(?:[\\\\t ]+([^\\\\n\\\\r]+?)(?:[\\\\t ]+(#+?))?)?[\\\\t ]*$","name":"markup.heading.atx.5.mdx"},{"captures":{"1":{"name":"punctuation.definition.heading.mdx"},"2":{"name":"entity.name.section.mdx","patterns":[{"include":"#markdown-text"}]},"3":{"name":"punctuation.definition.heading.mdx"}},"match":"(?:^|\\\\G)[\\\\t ]*(#{6}(?!#))(?:[\\\\t ]+([^\\\\n\\\\r]+?)(?:[\\\\t ]+(#+?))?)?[\\\\t ]*$","name":"markup.heading.atx.6.mdx"}]},"commonmark-heading-setext":{"patterns":[{"match":"(?:^|\\\\G)[\\\\t ]*(=+)[\\\\t ]*$","name":"markup.heading.setext.1.mdx"},{"match":"(?:^|\\\\G)[\\\\t ]*(-+)[\\\\t ]*$","name":"markup.heading.setext.2.mdx"}]},"commonmark-label-end":{"patterns":[{"captures":{"1":{"name":"string.other.end.mdx"},"2":{"name":"string.other.begin.mdx"},"3":{"name":"string.other.begin.destination.mdx"},"4":{"name":"string.other.link.destination.mdx","patterns":[{"include":"#markdown-string"}]},"5":{"name":"string.other.end.destination.mdx"},"6":{"name":"string.other.link.destination.mdx","patterns":[{"include":"#markdown-string"}]},"7":{"name":"string.other.begin.mdx"},"8":{"name":"string.quoted.double.mdx","patterns":[{"include":"#markdown-string"}]},"9":{"name":"string.other.end.mdx"},"10":{"name":"string.other.begin.mdx"},"11":{"name":"string.quoted.single.mdx","patterns":[{"include":"#markdown-string"}]},"12":{"name":"string.other.end.mdx"},"13":{"name":"string.other.begin.mdx"},"14":{"name":"string.quoted.paren.mdx","patterns":[{"include":"#markdown-string"}]},"15":{"name":"string.other.end.mdx"},"16":{"name":"string.other.end.mdx"}},"match":"(])(\\\\()[\\\\t ]*(?:(?:(<)((?:[^\\\\n<>\\\\\\\\]|\\\\\\\\[<>\\\\\\\\]?)*)(>)|(\\\\g))(?:[\\\\t ]+(?:(\\")((?:[^\\"\\\\\\\\]|\\\\\\\\[\\"\\\\\\\\]?)*)(\\")|(\')((?:[^\'\\\\\\\\]|\\\\\\\\[\'\\\\\\\\]?)*)(\')|(\\\\()((?:[^)\\\\\\\\]|\\\\\\\\[)\\\\\\\\]?)*)(\\\\))))?)?[\\\\t ]*(\\\\))(?(?!<)(?:(?:[^ ()\\\\\\\\\\\\p{Cc}]|\\\\\\\\[()\\\\\\\\]?)|\\\\(\\\\g*\\\\))+){0}"},{"captures":{"1":{"name":"string.other.end.mdx"},"2":{"name":"string.other.begin.mdx"},"3":{"name":"entity.name.identifier.mdx","patterns":[{"include":"#markdown-string"}]},"4":{"name":"string.other.end.mdx"}},"match":"(])(\\\\[)((?:[^]\\\\[\\\\\\\\]|\\\\\\\\[]\\\\[\\\\\\\\]?)+?)(])"},{"captures":{"1":{"name":"string.other.end.mdx"}},"match":"(])"}]},"commonmark-label-start":{"patterns":[{"match":"!\\\\[(?!\\\\^)","name":"string.other.begin.image.mdx"},{"match":"\\\\[","name":"string.other.begin.link.mdx"}]},"commonmark-list-item":{"patterns":[{"begin":"(?:^|\\\\G)[\\\\t ]*([-*+])(?: {4}(?! )|\\\\t)(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"variable.unordered.list.mdx"},"2":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t) {1}"},{"begin":"(?:^|\\\\G)[\\\\t ]*([-*+]) {3}(?! )(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"variable.unordered.list.mdx"},"2":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t)"},{"begin":"(?:^|\\\\G)[\\\\t ]*([-*+]) {2}(?! )(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"variable.unordered.list.mdx"},"2":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G) {3}"},{"begin":"(?:^|\\\\G)[\\\\t ]*([-*+])(?: {1}|(?=\\\\n))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"variable.unordered.list.mdx"},"2":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G) {2}"},{"begin":"(?:^|\\\\G)[\\\\t ]*([0-9]{9})([).])(?: {4}(?! )|\\\\t(?![\\\\t ]))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){3} {2}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{9})([).]) {3}(?! )|([0-9]{8})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){3} {1}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{9})([).]) {2}(?! )|([0-9]{8})([).]) {3}(?! )|([0-9]{7})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){3}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{9})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{8})([).]) {2}(?! )|([0-9]{7})([).]) {3}(?! )|([0-9]{6})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"string.other.number.mdx"},"8":{"name":"variable.ordered.list.mdx"},"9":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){2} {3}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{8})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{7})([).]) {2}(?! )|([0-9]{6})([).]) {3}(?! )|([0-9]{5})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"string.other.number.mdx"},"8":{"name":"variable.ordered.list.mdx"},"9":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){2} {2}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{7})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{6})([).]) {2}(?! )|([0-9]{5})([).]) {3}(?! )|([0-9]{4})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"string.other.number.mdx"},"8":{"name":"variable.ordered.list.mdx"},"9":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){2} {1}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{6})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{5})([).]) {2}(?! )|([0-9]{4})([).]) {3}(?! )|([0-9]{3})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"string.other.number.mdx"},"8":{"name":"variable.ordered.list.mdx"},"9":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t){2}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{5})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{4})([).]) {2}(?! )|([0-9]{3})([).]) {3}(?! )|([0-9]{2})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"string.other.number.mdx"},"8":{"name":"variable.ordered.list.mdx"},"9":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t) {3}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{4})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{3})([).]) {2}(?! )|([0-9]{2})([).]) {3}(?! )|([0-9]{1})([).]) {4}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"string.other.number.mdx"},"8":{"name":"variable.ordered.list.mdx"},"9":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t) {2}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{3})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9]{2})([).]) {2}(?! )|([0-9]{1})([).]) {3}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"string.other.number.mdx"},"6":{"name":"variable.ordered.list.mdx"},"7":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t) {1}"},{"begin":"(?:^|\\\\G)[\\\\t ]*(?:([0-9]{2})([).])(?: {1}|(?=[\\\\t ]*\\\\n))|([0-9])([).]) {2}(?! ))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"string.other.number.mdx"},"4":{"name":"variable.ordered.list.mdx"},"5":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G)(?: {4}|\\\\t)"},{"begin":"(?:^|\\\\G)[\\\\t ]*([0-9])([).])(?: {1}|(?=[\\\\t ]*\\\\n))(\\\\[[\\\\t Xx]](?=[\\\\t\\\\n\\\\r ]+(?:$|[^\\\\t\\\\n\\\\r ])))?","beginCaptures":{"1":{"name":"string.other.number.mdx"},"2":{"name":"variable.ordered.list.mdx"},"3":{"name":"keyword.other.tasklist.mdx"}},"patterns":[{"include":"#markdown-sections"}],"while":"^(?=[\\\\t ]*$)|(?:^|\\\\G) {3}"}]},"commonmark-paragraph":{"begin":"(?![\\\\t ]*$)","name":"meta.paragraph.mdx","patterns":[{"include":"#markdown-text"}],"while":"(?:^|\\\\G)(?: {4}|\\\\t)"},"commonmark-thematic-break":{"match":"(?:^|\\\\G)[\\\\t ]*([-*_])[\\\\t ]*(?:\\\\1[\\\\t ]*){2,}$","name":"meta.separator.mdx"},"extension-gfm-autolink-literal":{"patterns":[{"match":"(?<=^|[]\\\\t\\\\n\\\\r (*\\\\[_~])(?=(?i:www)\\\\.[^\\\\n\\\\r])(?:(?:[-\\\\p{L}\\\\p{N}]|[._](?![!\\"\')*,.:;?)?(?(?:(?:[^]\\\\t\\\\n\\\\r !\\"\\\\&-*,.:;*\\\\))+){0}","name":"string.other.link.autolink.literal.www.mdx"},{"match":"(?<=^|[^A-Za-z])(?i:https?://)(?=[\\\\p{L}\\\\p{N}])(?:(?:[-\\\\p{L}\\\\p{N}]|[._](?![!\\"\')*,.:;?)?(?(?:(?:[^]\\\\t\\\\n\\\\r !\\"\\\\&-*,.:;*\\\\))+){0}","name":"string.other.link.autolink.literal.http.mdx"},{"match":"(?<=^|[^/A-Za-z])(?i:mailto:|xmpp:)?[-+.0-9A-Z_a-z]+@(?:(?:[0-9A-Za-z]|[-_](?![!\\"\')*,.:;)[\\\\t ]*(<)(?=(?![\\\\t\\\\n\\\\r ]))(?:\\\\s*(/))?(?:\\\\s*(?:([$_[:alpha:]][-$_[:alnum:]]*)\\\\s*(:)\\\\s*([$_[:alpha:]][-$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*(?:\\\\s*\\\\.\\\\s*[$_[:alpha:]][-$_[:alnum:]]*)+)|([$_[:upper:]][$_[:alnum:]]*)|([$_[:alpha:]][-$_[:alnum:]]*))(?=[/>{\\\\s]))?","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.jsx"},"2":{"name":"punctuation.definition.tag.closing.jsx"},"3":{"name":"entity.name.tag.namespace.jsx"},"4":{"name":"punctuation.separator.namespace.jsx"},"5":{"name":"entity.name.tag.local.jsx"},"6":{"name":"support.class.component.jsx"},"7":{"name":"support.class.component.jsx"},"8":{"name":"entity.name.tag.jsx"}},"end":"(?:(/)\\\\s*)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.self-closing.jsx"},"2":{"name":"punctuation.definition.tag.end.jsx"}},"patterns":[{"include":"source.tsx#jsx-tag-attribute-name"},{"include":"source.tsx#jsx-tag-attribute-assignment"},{"include":"source.tsx#jsx-string-double-quoted"},{"include":"source.tsx#jsx-string-single-quoted"},{"include":"source.tsx#jsx-evaluated-code"},{"include":"source.tsx#jsx-tag-attributes-illegal"}]},"extension-mdx-jsx-text":{"begin":"(<)(?=(?![\\\\t\\\\n\\\\r ]))(?:\\\\s*(/))?(?:\\\\s*(?:([$_[:alpha:]][-$_[:alnum:]]*)\\\\s*(:)\\\\s*([$_[:alpha:]][-$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*(?:\\\\s*\\\\.\\\\s*[$_[:alpha:]][-$_[:alnum:]]*)+)|([$_[:upper:]][$_[:alnum:]]*)|([$_[:alpha:]][-$_[:alnum:]]*))(?=[/>{\\\\s]))?","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.jsx"},"2":{"name":"punctuation.definition.tag.closing.jsx"},"3":{"name":"entity.name.tag.namespace.jsx"},"4":{"name":"punctuation.separator.namespace.jsx"},"5":{"name":"entity.name.tag.local.jsx"},"6":{"name":"support.class.component.jsx"},"7":{"name":"support.class.component.jsx"},"8":{"name":"entity.name.tag.jsx"}},"end":"(?:(/)\\\\s*)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.self-closing.jsx"},"2":{"name":"punctuation.definition.tag.end.jsx"}},"patterns":[{"include":"source.tsx#jsx-tag-attribute-name"},{"include":"source.tsx#jsx-tag-attribute-assignment"},{"include":"source.tsx#jsx-string-double-quoted"},{"include":"source.tsx#jsx-string-single-quoted"},{"include":"source.tsx#jsx-evaluated-code"},{"include":"source.tsx#jsx-tag-attributes-illegal"}]},"extension-toml":{"begin":"\\\\A\\\\+{3}$","beginCaptures":{"0":{"name":"string.other.begin.toml"}},"contentName":"meta.embedded.toml","end":"^\\\\+{3}$","endCaptures":{"0":{"name":"string.other.end.toml"}},"patterns":[{"include":"source.toml"}]},"extension-yaml":{"begin":"\\\\A-{3}$","beginCaptures":{"0":{"name":"string.other.begin.yaml"}},"contentName":"meta.embedded.yaml","end":"^-{3}$","endCaptures":{"0":{"name":"string.other.end.yaml"}},"patterns":[{"include":"source.yaml"}]},"markdown-frontmatter":{"patterns":[{"include":"#extension-toml"},{"include":"#extension-yaml"}]},"markdown-sections":{"patterns":[{"include":"#commonmark-block-quote"},{"include":"#commonmark-code-fenced"},{"include":"#extension-gfm-footnote-definition"},{"include":"#commonmark-definition"},{"include":"#commonmark-heading-atx"},{"include":"#commonmark-thematic-break"},{"include":"#commonmark-heading-setext"},{"include":"#commonmark-list-item"},{"include":"#extension-gfm-table"},{"include":"#extension-math-flow"},{"include":"#extension-mdx-esm"},{"include":"#extension-mdx-expression-flow"},{"include":"#extension-mdx-jsx-flow"},{"include":"#commonmark-paragraph"}]},"markdown-string":{"patterns":[{"include":"#commonmark-character-escape"},{"include":"#commonmark-character-reference"}]},"markdown-text":{"patterns":[{"include":"#commonmark-attention"},{"include":"#commonmark-character-escape"},{"include":"#commonmark-character-reference"},{"include":"#commonmark-code-text"},{"include":"#commonmark-hard-break-trailing"},{"include":"#commonmark-hard-break-escape"},{"include":"#commonmark-label-end"},{"include":"#extension-gfm-footnote-call"},{"include":"#commonmark-label-start"},{"include":"#extension-gfm-autolink-literal"},{"include":"#extension-gfm-strikethrough"},{"include":"#extension-github-gemoji"},{"include":"#extension-github-mention"},{"include":"#extension-github-reference"},{"include":"#extension-math-text"},{"include":"#extension-mdx-expression-text"},{"include":"#extension-mdx-jsx-text"}]},"whatwg-html-data-character-reference-named-terminated":{"captures":{"1":{"name":"punctuation.definition.character-reference.begin.html"},"2":{"name":"keyword.control.character-reference.html"},"3":{"name":"punctuation.definition.character-reference.end.html"}},"match":"(&)((?:C(?:(?:o(?:unterClockwiseCo)?|lockwiseCo)ntourIntegra|cedi)|(?:(?:Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)|Not(?:Righ|Lef)tTriangle|(?:Not(?:(?:Succeed|Precede|Les)s|Greater)|(?:Precede|Succeed)s|Less)Slant|SquareSu(?:per|b)set|(?:Not(?:Greater|Tilde)|Tilde|Less)Full|RightTriangle|LeftTriangle|Greater(?:Slant|Full)|Precedes|Succeeds|Superset|NotHump|Subset|Tilde|Hump)Equ|int(?:er)?c|DotEqu)a|DoubleContourIntegra|(?:n(?:short)?parall|shortparall|p(?:arall|rur))e|(?:rightarrowta|l(?:eftarrowta|ced|ata|Ata)|sced|rata|perm|rced|rAta|ced)i|Proportiona|smepars|e(?:qvpars|pars|xc|um)|Integra|suphso|rarr[pt]|n(?:pars|tg)|l(?:arr[pt]|cei)|Rarrt|(?:hybu|fora)l|ForAl|[GKLNRSTcknt]cedi|rcei|iexc|gime|fras|[uy]um|oso|dso|ium|Ium)l|D(?:o(?:uble(?:(?:L(?:ong(?:Left)?R|eftR)ight|L(?:ongL)?eft|UpDown|Right|Up)Arrow|Do(?:wnArrow|t))|wn(?:ArrowUpA|TeeA|a)rrow)|iacriticalDot|strok|ashv|cy)|(?:(?:(?:N(?:(?:otN)?estedGreater|ot(?:Greater|Less))|Less(?:Equal)?)Great|GreaterGreat|l[lr]corn|mark|east)e|Not(?:Double)?VerticalBa|(?:Not(?:Righ|Lef)tTriangleB|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)VectorB|RightTriangleB|Left(?:Triangle|Arrow)B|RightArrowB|V(?:er(?:ticalB|b)|b)|UpArrowB|l(?:ur(?:ds|u)h|dr(?:us|d)h|trP|owb|H)|profal|r(?:ulu|dld)h|b(?:igst|rvb)|(?:wed|ve[er])b|s(?:wn|es)w|n(?:wne|ese|sp|hp)|gtlP|d(?:oll|uh|H)|(?:hor|ov)b|u(?:dh|H)|r(?:lh|H)|ohb|hb|St)a|D(?:o(?:wn(?:(?:Left(?:Right|Tee)|RightTee)Vecto|(?:(?:Righ|Lef)tVector|Arrow)Ba)|ubleVerticalBa)|a(?:gge|r)|sc|f)|(?:(?:(?:Righ|Lef)tDown|(?:Righ|Lef)tUp)Tee|(?:Righ|Lef)tUpDown)Vecto|VerticalSeparato|(?:Left(?:Right|Tee)|RightTee)Vecto|less(?:eqq?)?gt|e(?:qslantgt|sc)|(?:RightF|LeftF|[lr]f)loo|u(?:[lr]corne|ar)|timesba|(?:plusa|cirs|apa)ci|U(?:arroci|f)|(?:dzigr|s(?:u(?:pl|br)|imr|[lr])|zigr|angz|nvH|l(?:tl|B)|r[Br])ar|UnderBa|(?:plus|harr|top|mid|of)ci|O(?:verBa|sc|f)|dd?agge|s(?:olba|sc)|g(?:t(?:rar|ci)|sc|f)|c(?:opys|u(?:po|ep)|sc|f)|(?:n(?:(?:v[lr]|[rw])A|l[Aa]|h[Aa]|eA)|x[hlr][Aa]|u(?:ua|da|A)|s[ew]A|rla|o[lr]a|rba|rAa|l[Ablr]a|h(?:oa|A)|era|d(?:ua|A)|cra|vA)r|o(?:lci|sc|ro|pa)|ropa|roar|l(?:o(?:pa|ar)|sc|Ar)|i(?:ma|s)c|ltci|dd?ar|a(?:ma|s)c|R(?:Bar|sc|f)|I(?:mac|f)|(?:u(?:ma|s)|oma|ema|Oma|Ema|[wyz]s|qs|ks|fs|Zs|Ys|Xs|Ws|Vs|Us|Ss|Qs|Ns|Ms|Ks|Is|Gs|Fs|Cs|Bs)c|Umac|x(?:sc|f)|v(?:sc|f)|rsc|n(?:ld|f)|m(?:sc|ld|ac|f)|rAr|h(?:sc|f)|b(?:sc|f)|psc|P(?:sc|f)|L(?:sc|ar|f)|jsc|J(?:sc|f)|E(?:sc|f)|[HT]sc|[yz]f|wf|tf|qf|pf|kf|jf|Zf|Yf|Xf|Wf|Vf|Tf|Sf|Qf|Nf|Mf|Kf|Hf|Gf|Ff|Cf|Bf)r|(?:Diacritical(?:Double)?A|[EINOSYZaisz]a)cute|(?:(?:N(?:egative(?:VeryThin|Thi(?:ck|n))|onBreaking)|NegativeMedium|ZeroWidth|VeryThin|Medium|Thi(?:ck|n))Spac|Filled(?:Very)?SmallSquar|Empty(?:Very)?SmallSquar|(?:N(?:ot(?:Succeeds|Greater|Tilde|Less)T|t)|DiacriticalT|VerticalT|PrecedesT|SucceedsT|NotEqualT|GreaterT|TildeT|EqualT|LessT|at|Ut|It)ild|(?:(?:DiacriticalG|[EIOUaiu]g)ra|[Uu]?bre|[eo]?gra)v|(?:doublebar|curly|big|x)wedg|H(?:orizontalLin|ilbertSpac)|Double(?:Righ|Lef)tTe|(?:(?:measured|uw)ang|exponentia|dwang|ssmi|fema)l|(?:Poincarepla|reali|pho|oli)n|(?:black)?lozeng|(?:VerticalL|(?:prof|imag)l)in|SmallCircl|(?:black|dot)squar|rmoustach|l(?:moustach|angl)|(?:b(?:ack)?pr|(?:tri|xo)t|[qt]pr)im|[Tt]herefor|(?:DownB|[Gag]b)rev|(?:infint|nv[lr]tr)i|b(?:arwedg|owti)|an(?:dslop|gl)|(?:cu(?:rly)?v|rthr|lthr|b(?:ig|ar)v|xv)e|n(?:s(?:qsu[bp]|ccu)|prcu)|orslop|NewLin|maltes|Becaus|rangl|incar|(?:otil|Otil|t(?:ra|il))d|[inu]tild|s(?:mil|imn)|(?:sc|pr)cu|Wedg|Prim|Brev)e|(?:CloseCurly(?:Double)?Quo|OpenCurly(?:Double)?Quo|[ry]?acu)te|(?:Reverse(?:Up)?|Up)Equilibrium|C(?:apitalDifferentialD|(?:oproduc|(?:ircleD|enterD|d)o)t|on(?:grue|i)nt|conint|upCap|o(?:lone|pf)|OPY|hi)|(?:(?:(?:left)?rightsquig|(?:longleftr|twoheadr|nleftr|nLeftr|longr|hookr|nR|Rr)ight|(?:twohead|hook)left|longleft|updown|Updown|nright|Right|nleft|nLeft|down|up|Up)a|L(?:(?:ong(?:left)?righ|(?:ong)?lef)ta|eft(?:(?:right)?a|RightA|TeeA))|RightTeeA|LongLeftA|UpTeeA)rrow|(?:(?:RightArrow|Short|Upper|Lower)Left|(?:L(?:eftArrow|o(?:wer|ng))|LongLeft|Short|Upper)Right|ShortUp)Arrow|(?:b(?:lacktriangle(?:righ|lef)|ulle|no)|RightDoubleBracke|RightAngleBracke|Left(?:Doub|Ang)leBracke|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow)righ|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow|mapsto)lef|(?:UnderBrack|OverBrack|emptys|targ|Sups)e|diamondsui|c(?:ircledas|lubsui|are)|(?:spade|heart)sui|(?:(?:c(?:enter|t)|lmi|ino)d|(?:Triple|mD)D|n(?:otin|e)d|(?:ncong|doteq|su[bp]e|e[gl]s)d|l(?:ess|t)d|isind|c(?:ong|up|ap)?d|b(?:igod|N)|t(?:(?:ri)?d|opb)|s(?:ub|im)d|midd|g(?:tr?)?d|Lmid|DotD|(?:xo|ut|z)d|e(?:s?d|rD|fD|DD)|dtd|Zd|Id|Gd|Ed)o|realpar|i(?:magpar|iin)|S(?:uchTha|qr)|su[bp]mul|(?:(?:lt|i)que|gtque|(?:mid|low)a|e(?:que|xi))s|Produc|s(?:updo|e[cx])|r(?:parg|ec)|lparl|vangr|hamil|(?:homt|[lr]fis|ufis|dfis)h|phmma|t(?:wix|in)|quo|o(?:do|as)|fla|eDo)t|(?:(?:Square)?Intersecti|(?:straight|back|var)epsil|SquareUni|expectati|upsil|epsil|Upsil|eq?col|Epsil|(?:omic|Omic|rca|lca|eca|Sca|[NRTt]ca|Lca|Eca|[Zdz]ca|Dca)r|scar|ncar|herc|ccar|Ccar|iog|Iog)on|Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)?|(?:(?:(?:Not(?:Reverse)?|Reverse)E|comp|E)leme|NotCongrue|(?:n[gl]|l)eqsla|geqsla|q(?:uat)?i|perc|iiii|coni|cwi|awi|oi)nt|(?:(?:rightleftharpo|leftrightharpo|quaterni)on|(?:(?:N(?:ot(?:NestedLess|Greater|Less)|estedLess)L|(?:eqslant|gtr(?:eqq?)?)l|LessL)e|Greater(?:Equal)?Le|cro)s|(?:rightright|leftleft|upup)arrow|rightleftarrow|(?:(?:(?:righ|lef)tthree|divideon|b(?:igo|ox)|[lr]o)t|InvisibleT)ime|downdownarrow|(?:(?:smallset|tri|dot|box)m|PlusM)inu|(?:RoundImpli|complex|Impli|Otim)e|C(?:ircle(?:Time|Minu|Plu)|ayley|ros)|(?:rationa|mode)l|NotExist|(?:(?:UnionP|MinusP|(?:b(?:ig[ou]|ox)|tri|s(?:u[bp]|im)|dot|xu|mn)p)l|(?:xo|u)pl|o(?:min|pl)|ropl|lopl|epl)u|otimesa|integer|e(?:linter|qual)|setminu|rarrbf|larrb?f|olcros|rarrf|mstpo|lesge|gesle|Exist|[lr]time|strn|napo|fltn|ccap|apo)s|(?:b(?:(?:lack|ig)triangledow|etwee)|(?:righ|lef)tharpoondow|(?:triangle|mapsto)dow|(?:nv|i)infi|ssetm|plusm|lagra|d(?:[lr]cor|isi)|c(?:ompf|aro)|s?frow|(?:hyph|curr)e|kgree|thor|ogo|ye)n|Not(?:Righ|Lef)tTriangle|(?:Up(?:Arrow)?|Short)DownArrow|(?:(?:n(?:triangle(?:righ|lef)t|succ|prec)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|backsim)e|lvertneq|gvertneq|(?:suc|pre)cneq|a(?:pprox|symp)e|(?:succ|prec|vee)e|circe)q|(?:UnderParenthes|OverParenthes|xn)is|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)Vector|D(?:o(?:wn(?:RightVector|LeftVector|Arrow|Tee)|t)|el|D)|l(?:eftrightarrows|br(?:k(?:sl[du]|e)|ac[ek])|tri[ef]|s(?:im[eg]|qb|h)|hard|a(?:tes|ngd|p)|o[pz]f|rm|gE|fr|eg|cy)|(?:NotHumpDownHum|(?:righ|lef)tharpoonu|big(?:(?:triangle|sqc)u|c[au])|HumpDownHum|m(?:apstou|lc)|(?:capbr|xsq)cu|smash|rarr[al]|(?:weie|sha)r|larrl|velli|(?:thin|punc)s|h(?:elli|airs)|(?:u[lr]c|vp)ro|d[lr]cro|c(?:upc[au]|apc[au])|thka|scna|prn?a|oper|n(?:ums|va|cu|bs)|ens|xc[au]|Ma)p|l(?:eftrightarrow|e(?:ftarrow|s(?:dot)?)?|moust|a(?:rrb?|te?|ng)|t(?:ri)?|sim|par|oz|[gl])|n(?:triangle(?:righ|lef)t|succ|prec)|SquareSu(?:per|b)set|(?:I(?:nvisibleComm|ot)|(?:varthe|iio)t|varkapp|(?:vars|S)igm|(?:diga|mco)mm|Cedill|lambd|Lambd|delt|Thet|omeg|Omeg|Kapp|Delt|nabl|zet|to[es]|rdc|ldc|iot|Zet|Bet|Et)a|b(?:lacktriangle|arwed|u(?:mpe?|ll)|sol|o(?:x[HVhv]|t)|brk|ne)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|RightT(?:riangl|e)e|(?:(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|nsu[bp]seteq|colone|(?:wedg|sim)e|nsime|lneq|gneq)q|DifferentialD|(?:(?:fall|ris)ingdots|(?:suc|pre)ccurly|ddots)eq|A(?:pplyFunction|ssign|(?:tild|grav|brev)e|acute|o(?:gon|pf)|lpha|(?:mac|sc|f)r|c(?:irc|y)|ring|Elig|uml|nd|MP)|(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|L(?:eft(?:T(?:riangl|e)e|Arrow)|l)|G(?:reaterEqual|amma)|E(?:xponentialE|quilibrium|sim|cy|TH|NG)|(?:(?:RightCeil|LeftCeil|varnoth|ar|Ur)in|(?:b(?:ack)?co|uri)n|vzigza|roan|loan|ffli|amal|sun|rin|n(?:tl|an)|Ran|Lan)g|(?:thick|succn?|precn?|less|g(?:tr|n)|ln|n)approx|(?:s(?:traightph|em)|(?:rtril|xu|u[lr]|xd|v[lr])tr|varph|l[lr]tr|b(?:sem|eps)|Ph)i|(?:circledd|osl|n(?:v[Dd]|V[Dd]|d)|hsl|V(?:vd|D)|Osl|v[Dd]|md)ash|(?:(?:RuleDelay|imp|cuw)e|(?:n(?:s(?:hort)?)?|short|rn)mi|D(?:Dotrah|iamon)|(?:i(?:nt)?pr|peri)o|odsol|llhar|c(?:opro|irmi)|(?:capa|anda|pou)n|Barwe|napi|api)d|(?:cu(?:rlyeq(?:suc|pre)|es)|telre|[ou]dbla|Udbla|Odbla|radi|lesc|gesc|dbla)c|(?:circled|big|eq|[CEGHSWachiswx])circ|rightarrow|R(?:ightArrow|arr|e)|Pr(?:oportion)?|(?:longmapst|varpropt|p(?:lustw|ropt)|varrh|numer|(?:rsa|lsa|sb)qu|m(?:icr|h)|[lr]aqu|bdqu|eur)o|UnderBrace|ImaginaryI|B(?:ernoullis|a(?:ckslash|rv)|umpeq|cy)|(?:(?:Laplace|Mellin|zee)tr|Fo(?:uriertr|p)|(?:profsu|ssta)r|ordero|origo|[ps]op|nop|mop|i(?:op|mo)|h(?:op|al)|f(?:op|no)|dop|bop|Rop|Pop|Nop|Lop|Iop|Hop|Dop|[GJKMOQSTV-Zgjkoqvwyz]op|Bop)f|nsu[bp]seteq|t(?:ri(?:angleq|e)|imesd|he(?:tav|re4)|au)|O(?:verBrace|r)|(?:(?:pitchfo|checkma|t(?:opfo|b)|rob|rbb|l[bo]b)r|intlarh|b(?:brktbr|l(?:oc|an))|perten|NoBrea|rarrh|s[ew]arh|n[ew]arh|l(?:arrh|hbl)|uhbl|Hace)k|(?:NotCupC|(?:mu(?:lti)?|x)m|cupbrc)ap|t(?:riangle|imes|heta|opf?)|Precedes|Succeeds|Superset|NotEqual|(?:n(?:atural|exist|les)|s(?:qc[au]p|mte)|prime)s|c(?:ir(?:cled[RS]|[Ee])|u(?:rarrm|larrp|darr[lr]|ps)|o(?:mmat|pf)|aps|hi)|b(?:sol(?:hsu)?b|ump(?:eq|E)|ox(?:box|[Vv][HLRhlr]|[Hh][DUdu]|[DUdu][LRlr])|e(?:rnou|t[ah])|lk(?:34|1[24])|cy)|(?:l(?:esdot|squ|dqu)o|rsquo|rdquo|ngt)r|a(?:n(?:g(?:msda[a-h]|st|e)|d[dv])|st|p[Ee]|mp|fr|c[Edy])|(?:g(?:esdoto|E)|[lr]haru)l|(?:angrtvb|lrhar|nis)d|(?:(?:th(?:ic)?k|succn?|p(?:r(?:ecn?|n)?|lus)|rarr|l(?:ess|arr)|su[bp]|par|scn|g(?:tr|n)|ne|sc|n[glv]|ln|eq?)si|thetasy|ccupss|alefsy|botto)m|trpezium|(?:hks[ew]|dr?bk|bk)arow|(?:(?:[lr]a|[cd])empty|b(?:nequi|empty)|plank|nequi|odi)v|(?:(?:sc|rp|n)pol|point|fpart)int|(?:c(?:irf|wco)|awco)nint|PartialD|n(?:s(?:u[bp](?:set)?|c)|rarr|ot(?:ni|in)?|warr|e(?:arr)?|a(?:tur|p)|vlt|p(?:re?|ar)|um?|l[et]|ge|i)|n(?:atural|exist|les)|d(?:i(?:am(?:ond)?|v(?:ide)?)|tri|ash|ot|d)|backsim|l(?:esdot|squ|dqu)o|g(?:esdoto|E)|U(?:p(?:Arrow|si)|nion|arr)|angrtvb|p(?:l(?:anckh|us(?:d[ou]|[be]))|ar(?:sl|t)|r(?:od|nE|E)|erp|iv|m)|n(?:ot(?:niv[abc]|in(?:v[abc]|E))|rarr[cw]|s(?:u[bp][Ee]|c[er])|part|v(?:le|g[et])|g(?:es|E)|c(?:ap|y)|apE|lE|iv|Ll|Gg)|m(?:inus(?:du|b)|ale|cy|p)|rbr(?:k(?:sl[du]|e)|ac[ek])|(?:suphsu|tris|rcu|lcu)b|supdsub|(?:s[ew]a|n[ew]a)rrow|(?:b(?:ecaus|sim)|n(?:[lr]tri|bump)|csu[bp])e|equivDD|u(?:rcorn|lcorn|psi)|timesb|s(?:u(?:p(?:set)?|b(?:set)?)|q(?:su[bp]|u)|i(?:gma|m)|olb?|dot|mt|fr|ce?)|p(?:l(?:anck|us)|r(?:op|ec?)?|ara?|i)|o(?:times|r(?:d(?:er)?)?)|m(?:i(?:nusd?|d)|a(?:p(?:sto)?|lt)|u)|rmoust|g(?:e(?:s(?:dot|l)?|q)?|sim|n(?:ap|e)|[glt])|(?:spade|heart)s|c(?:u(?:rarr|larr|p)|o(?:m(?:ma|p)|lon|py|ng)|lubs|heck|cups|irc?|ent|ap)|colone|a(?:p(?:prox)?|n(?:g(?:msd|rt)?|d)|symp|[cf])|S(?:quare|u[bp]|c)|Subset|b(?:ecaus|sim)|vsu[bp]n[Ee]|s(?:u(?:psu[bp]|b(?:su[bp]|n[Ee]|E)|pn[Ee]|p[123E]|m)|q(?:u(?:ar[ef]|f)|su[bp]e)|igma[fv]|etmn|dot[be]|par|mid|hc?y|c[Ey])|f(?:rac(?:78|5[68]|45|3[458]|2[35]|1[2-68])|fr)|e(?:m(?:sp1[34]|ptyv)|psiv|c(?:irc|y)|t[ah]|ng|ll|fr|e)|(?:kappa|isins|vBar|fork|rho|phi|n[GL]t)v|divonx|V(?:dashl|ee)|gammad|G(?:ammad|cy|[Tgt])|[Ldhlt]strok|[HT]strok|(?:c(?:ylct|hc)|(?:s(?:oft|hch)|hard|S(?:OFT|HCH)|jser|J(?:ser|uk)|HARD|tsh|TSH|juk|iuk|I(?:uk|[EO])|zh|yi|nj|lj|k[hj]|gj|dj|ZH|Y[AIU]|NJ|LJ|K[HJ]|GJ|D[JSZ])c|ubrc|Ubrc|(?:yu|i[eo]|dz|[fpv])c|TSc|SHc|CHc|Vc|Pc|Mc|Fc)y|(?:(?:wre|jm)at|dalet|a(?:ngs|le)p|imat|[lr]ds)h|[CLRUceglnou]acute|ff?llig|(?:f(?:fi|[ij])|sz|oe|ij|ae|OE|IJ)lig|r(?:a(?:tio|rr|ng)|tri|par|eal)|s[ew]arr|s(?:qc[au]p|mte)|prime|rarrb|i(?:n(?:fin|t)?|sin|[cit])|e(?:quiv|m(?:pty|sp)|p(?:si|ar)|cir|[gl])|kappa|isins|ncong|doteq|(?:wedg|sim)e|nsime|rsquo|rdquo|[lr]haru|V(?:dash|ert)|Tilde|lrhar|gamma|Equal|UpTee|n(?:[lr]tri|bump)|C(?:olon|up|ap)|v(?:arpi|ert)|u(?:psih|ml)|vnsu[bp]|r(?:tri[ef]|e(?:als|g)|a(?:rr[cw]|ng[de]|ce)|sh|lm|x)|rhard|sim[gl]E|i(?:sin[Ev]|mage|f[fr]|cy)|harrw|(?:n[gl]|l)eqq|g(?:sim[el]|tcc|e(?:qq|l)|nE|l[Eaj]|gg|ap)|ocirc|starf|utrif|d(?:trif|i(?:ams|e)|ashv|sc[ry]|fr|eg)|[du]har[lr]|T(?:HORN|a[bu])|(?:TRAD|[gl]vn)E|odash|[EUaeu]o(?:gon|pf)|alpha|[IJOUYgjuy]c(?:irc|y)|v(?:arr|ee)|succ|sim[gl]|harr|ln(?:ap|e)|lesg|(?:n[gl]|l)eq|ocir|star|utri|vBar|fork|su[bp]e|nsim|lneq|gneq|csu[bp]|zwn?j|yacy|x(?:opf|i)|scnE|o(?:r(?:d[fm]|v)|mid|lt|hm|gt|fr|cy|S)|scap|rsqb|ropf|ltcc|tsc[ry]|QUOT|[EOUYao]uml|rho|phi|n[GL]t|e[gl]s|ngt|I(?:nt|m)|nis|rfr|rcy|lnE|lEg|ufr|S(?:um|cy)|R(?:sh|ho)|psi|Ps?i|[NRTt]cy|L(?:sh|cy|[Tt])|kcy|Kcy|Hat|REG|[Zdz]cy|wr|lE|wp|Xi|Nu|Mu)(;)","name":"constant.language.character-reference.named.html"}},"scopeName":"source.mdx","embeddedLangs":[],"embeddedLangsLazy":["tsx","toml","yaml","c","clojure","coffee","cpp","csharp","css","diff","docker","elixir","elm","erlang","go","graphql","haskell","html","ini","java","javascript","json","julia","kotlin","less","lua","make","markdown","objective-c","perl","python","r","ruby","rust","scala","scss","shellscript","shellsession","sql","xml","swift","typescript"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-Cmh6b_Ma.js.map diff --git a/src/webview-ui/build/assets/chunk-Cmh6b_Ma.js.map b/src/webview-ui/build/assets/chunk-Cmh6b_Ma.js.map new file mode 100644 index 0000000000..f22610e674 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cmh6b_Ma.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Cmh6b_Ma.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/mdx.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"MDX\\\",\\\"fileTypes\\\":[\\\"mdx\\\"],\\\"name\\\":\\\"mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-frontmatter\\\"},{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"repository\\\":{\\\"commonmark-attention\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*{3,}|\\\\\\\\*{3,}(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.strong.emphasis.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_{3,}(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_{3,}|(?) ?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.quote.mdx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.mdx\\\"}},\\\"name\\\":\\\"markup.quote.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"(>) ?\\\",\\\"whileCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.quote.mdx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.mdx\\\"}}},\\\"commonmark-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[!-/:-@\\\\\\\\[-`{-~]\\\",\\\"name\\\":\\\"constant.language.character-escape.mdx\\\"},\\\"commonmark-character-reference\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#whatwg-html-data-character-reference-named-terminated\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.hexadecimal.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)(#)([Xx])(\\\\\\\\h{1,6})(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.numeric.hexadecimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)(#)([0-9]{1,7})(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.numeric.decimal.html\\\"}]},\\\"commonmark-code-fenced\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-code-fenced-apib\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-asciidoc\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-c\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-clojure\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-coffee\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-console\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-cpp\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-cs\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-css\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-diff\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-dockerfile\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-elixir\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-elm\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-erlang\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-gitconfig\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-go\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-graphql\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-haskell\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-html\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ini\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-java\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-js\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-json\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-julia\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-kotlin\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-less\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-less\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-lua\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-makefile\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-md\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-mdx\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-objc\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-perl\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-php\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-php\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-python\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-r\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-raku\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ruby\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-rust\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-scala\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-scss\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-shell\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-shell-session\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-sql\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-svg\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-swift\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-toml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ts\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-tsx\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-vbnet\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-xml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-yaml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-unknown\\\"}]},\\\"commonmark-code-fenced-apib\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:api-blueprint|(?:.*\\\\\\\\.)?apib))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.apib.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.apib\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown.source.gfm.apib\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:api-blueprint|(?:.*\\\\\\\\.)?apib))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.apib.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.apib\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown.source.gfm.apib\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-asciidoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?a(?:|scii)doc))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.asciidoc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?a(?:|scii)doc))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.asciidoc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-c\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:dtrace|dtrace-script|oncrpc|rpc|rpcgen|unified-parallel-c|x-bitmap|x-pixmap|xdr|(?:.*\\\\\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.c.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:dtrace|dtrace-script|oncrpc|rpc|rpcgen|unified-parallel-c|x-bitmap|x-pixmap|xdr|(?:.*\\\\\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.c.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-clojure\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:clojure|rouge|(?:.*\\\\\\\\.)?(?:boot|cl2|cljc??|cljs|cljs\\\\\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.clojure.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:clojure|rouge|(?:.*\\\\\\\\.)?(?:boot|cl2|cljc??|cljs|cljs\\\\\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.clojure.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-coffee\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:coffee-script|coffeescript|(?:.*\\\\\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.coffee.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:coffee-script|coffeescript|(?:.*\\\\\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.coffee.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-console\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:py(?:con|thon-console)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.console.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.console\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.python.console\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:py(?:con|thon-console)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.console.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.console\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.python.console\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-cpp\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:ags|ags-script|asymptote|c\\\\\\\\+\\\\\\\\+|edje-data-collection|game-maker-language|swig|(?:.*\\\\\\\\.)?(?:asc|ash|asy|c\\\\\\\\+\\\\\\\\+|cc|cpp??|cppm|cxx|edc|gml|h\\\\\\\\+\\\\\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cpp.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:ags|ags-script|asymptote|c\\\\\\\\+\\\\\\\\+|edje-data-collection|game-maker-language|swig|(?:.*\\\\\\\\.)?(?:asc|ash|asy|c\\\\\\\\+\\\\\\\\+|cc|cpp??|cppm|cxx|edc|gml|h\\\\\\\\+\\\\\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cpp.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-cs\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\\\\\.)?(?:bf|cake|cs|cs\\\\\\\\.pp|csx|eq|linq|uno)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cs.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\\\\\.)?(?:bf|cake|cs|cs\\\\\\\\.pp|csx|eq|linq|uno)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cs.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-css\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?css))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.css.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?css))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.css.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-diff\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:udiff|(?:.*\\\\\\\\.)?(?:diff|patch)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.diff.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:udiff|(?:.*\\\\\\\\.)?(?:diff|patch)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.diff.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-dockerfile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:contain|(?:.*\\\\\\\\.)?dock)erfile))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:contain|(?:.*\\\\\\\\.)?dock)erfile))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-elixir\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:elixir|(?:.*\\\\\\\\.)?exs??))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elixir.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:elixir|(?:.*\\\\\\\\.)?exs??))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elixir.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-elm\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?elm))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elm.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elm\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?elm))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elm.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elm\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-erlang\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:erlang|(?:.*\\\\\\\\.)?(?:app|app\\\\\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.erlang.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:erlang|(?:.*\\\\\\\\.)?(?:app|app\\\\\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.erlang.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-gitconfig\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:git-config|gitmodules|(?:.*\\\\\\\\.)?gitconfig))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.gitconfig.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.gitconfig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gitconfig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:git-config|gitmodules|(?:.*\\\\\\\\.)?gitconfig))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.gitconfig.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.gitconfig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gitconfig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-go\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:golang|(?:.*\\\\\\\\.)?go))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.go.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:golang|(?:.*\\\\\\\\.)?go))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.go.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-graphql\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?g(?:ql|raphqls??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.graphql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?g(?:ql|raphqls??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.graphql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-haskell\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:c2hs|c2hs-haskell|frege|haskell|(?:.*\\\\\\\\.)?(?:chs|dhall|hs|hs-boot|hsc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.haskell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.haskell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:c2hs|c2hs-haskell|frege|haskell|(?:.*\\\\\\\\.)?(?:chs|dhall|hs|hs-boot|hsc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.haskell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.haskell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:html|(?:.*\\\\\\\\.)?(?:hta|htm|html\\\\\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.html.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:html|(?:.*\\\\\\\\.)?(?:hta|htm|html\\\\\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.html.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ini\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:altium|altium-designer|dosini|(?:.*\\\\\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ini.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:altium|altium-designer|dosini|(?:.*\\\\\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ini.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-java\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\\\\\.)?(?:ck|java??|jsh|uc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.java.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\\\\\.)?(?:ck|java??|jsh|uc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.java.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-js\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:cycript|javascript\\\\\\\\+erb|json-with-comments|node|qt-script|(?:.*\\\\\\\\.)?(?:_js|bones|cjs|code-snippets|code-workspace|cy|es6|jake|javascript|js|js\\\\\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime-build|sublime-color-scheme|sublime-commands|sublime-completions|sublime-keymap|sublime-macro|sublime-menu|sublime-mousemap|sublime-project|sublime-settings|sublime-theme|sublime-workspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.js.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:cycript|javascript\\\\\\\\+erb|json-with-comments|node|qt-script|(?:.*\\\\\\\\.)?(?:_js|bones|cjs|code-snippets|code-workspace|cy|es6|jake|javascript|js|js\\\\\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime-build|sublime-color-scheme|sublime-commands|sublime-completions|sublime-keymap|sublime-macro|sublime-menu|sublime-mousemap|sublime-project|sublime-settings|sublime-theme|sublime-workspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.js.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-json\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:ecere-projects|ipython-notebook|jupyter-notebook|max|max/msp|maxmsp|oasv2-json|oasv3-json|(?:.*\\\\\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json-tmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\\\\\.backup|topojson|webapp|webmanifest|yyp??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.json.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:ecere-projects|ipython-notebook|jupyter-notebook|max|max/msp|maxmsp|oasv2-json|oasv3-json|(?:.*\\\\\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json-tmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\\\\\.backup|topojson|webapp|webmanifest|yyp??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.json.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-julia\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:julia|(?:.*\\\\\\\\.)?jl))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.julia.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:julia|(?:.*\\\\\\\\.)?jl))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.julia.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-kotlin\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:gradle-kotlin-dsl|kotlin|(?:.*\\\\\\\\.)?(?:gradle\\\\\\\\.kts|ktm??|kts)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.kotlin.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.kotlin\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.kotlin\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:gradle-kotlin-dsl|kotlin|(?:.*\\\\\\\\.)?(?:gradle\\\\\\\\.kts|ktm??|kts)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.kotlin.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.kotlin\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.kotlin\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-less\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:less-css|(?:.*\\\\\\\\.)?less))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.less.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:less-css|(?:.*\\\\\\\\.)?less))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.less.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-lua\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.lua.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.lua.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-makefile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\\\\\.)?m(?:ake??|akefile|k|kfile)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.makefile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\\\\\.)?m(?:ake??|akefile|k|kfile)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.makefile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-md\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\\\\\.)?(?:livemd|markdown|mdown|mdwn|mkdn??|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.md.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.md\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.md\\\"},{\\\"include\\\":\\\"source.gfm\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\\\\\.)?(?:livemd|markdown|mdown|mdwn|mkdn??|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.md.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.md\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.md\\\"},{\\\"include\\\":\\\"source.gfm\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-mdx\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?mdx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.mdx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mdx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?mdx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.mdx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mdx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-objc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:obj(?:-?|ective-?)c))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.objc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:obj(?:-?|ective-?)c))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.objc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-perl\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:cperl|(?:.*\\\\\\\\.)?(?:cgi|perl|ph|plx??|pm|psgi|t)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.perl.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:cperl|(?:.*\\\\\\\\.)?(?:cgi|perl|ph|plx??|pm|psgi|t)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.perl.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-php\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:html\\\\\\\\+php|inc|php|(?:.*\\\\\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.php.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:html\\\\\\\\+php|inc|php|(?:.*\\\\\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.php.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-python\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:bazel|easybuild|python3??|rusthon|snakemake|starlark|xonsh|(?:.*\\\\\\\\.)?(?:bzl|eb|gypi??|lmi|py3??|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.python.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:bazel|easybuild|python3??|rusthon|snakemake|starlark|xonsh|(?:.*\\\\\\\\.)?(?:bzl|eb|gypi??|lmi|py3??|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.python.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-r\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:rscript|splus|(?:.*\\\\\\\\.)?r(?:|d|sx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.r.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:rscript|splus|(?:.*\\\\\\\\.)?r(?:|d|sx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.r.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-raku\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:perl-6|perl6|pod-6|(?:.*\\\\\\\\.)?(?:6pl|6pm|nqp|p6l??|p6m|pl6|pm6|pod6??|raku|rakumod)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.raku.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.raku\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.raku\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:perl-6|perl6|pod-6|(?:.*\\\\\\\\.)?(?:6pl|6pm|nqp|p6l??|p6m|pl6|pm6|pod6??|raku|rakumod)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.raku.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.raku\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.raku\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ruby\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:jruby|macruby|(?:.*\\\\\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rbi??|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ruby.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:jruby|macruby|(?:.*\\\\\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rbi??|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ruby.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-rust\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:rust|(?:.*\\\\\\\\.)?rs(?:|\\\\\\\\.in)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.rust.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:rust|(?:.*\\\\\\\\.)?rs(?:|\\\\\\\\.in)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.rust.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-scala\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scala.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scala.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-scss\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?scss))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scss.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?scss))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scss.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-shell\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:abuild|alpine-abuild|apkbuild|envrc|gentoo-ebuild|gentoo-eclass|openrc|openrc-runscript|shell|shell-script|(?:.*\\\\\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\\\\\.in|tcsh|tmux|tool|zsh|zsh-theme)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:abuild|alpine-abuild|apkbuild|envrc|gentoo-ebuild|gentoo-eclass|openrc|openrc-runscript|shell|shell-script|(?:.*\\\\\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\\\\\.in|tcsh|tmux|tool|zsh|zsh-theme)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-shell-session\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:bash-session|console|shellsession|(?:.*\\\\\\\\.)?sh-session))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell-session.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell-session\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.shell-session\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:bash-session|console|shellsession|(?:.*\\\\\\\\.)?sh-session))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell-session.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell-session\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.shell-session\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-sql\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|tab|udf|viw)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.sql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|tab|udf|viw)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.sql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?svg))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.svg.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.svg\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.svg\\\"},{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?svg))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.svg.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.svg\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.svg\\\"},{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-swift\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?swift))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.swift.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?swift))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.swift.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-toml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?toml))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.toml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?toml))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.toml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ts\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:typescript|(?:.*\\\\\\\\.)?(?:c|m?)ts))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ts.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:typescript|(?:.*\\\\\\\\.)?(?:c|m?)ts))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ts.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-tsx\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?tsx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.tsx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?tsx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.tsx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-unknown\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*([^\\\\\\\\t\\\\\\\\n\\\\\\\\r `]+)(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?)?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.code.fenced.mdx\\\",\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*([^\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+)(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?)?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.code.fenced.mdx\\\",\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"}]},\\\"commonmark-code-fenced-vbnet\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:fb|freebasic|realbasic|vb-\\\\\\\\.net|vb\\\\\\\\.net|vbnet|vbscript|visual-basic|visual-basic-\\\\\\\\.net|(?:.*\\\\\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.vbnet.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.vbnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vbnet\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:fb|freebasic|realbasic|vb-\\\\\\\\.net|vb\\\\\\\\.net|vbnet|vbscript|visual-basic|visual-basic-\\\\\\\\.net|(?:.*\\\\\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.vbnet.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.vbnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vbnet\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-xml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:collada|eagle|labview|web-ontology-language|xpages|(?:.*\\\\\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|scxml|sfproj|shproj|srdf|storyboard|sublime-snippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp-config|xsp\\\\\\\\.metadata|xspec|xul|zcml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.xml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:collada|eagle|labview|web-ontology-language|xpages|(?:.*\\\\\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|scxml|sfproj|shproj|srdf|storyboard|sublime-snippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp-config|xsp\\\\\\\\.metadata|xspec|xul|zcml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.xml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-yaml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:jar-manifest|kaitai-struct|oasv2-yaml|oasv3-yaml|unity3d-asset|yaml|yml|(?:.*\\\\\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime-syntax|syntax|unity|yaml-tmlanguage|yaml\\\\\\\\.sed|yml\\\\\\\\.mysql)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.yaml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:jar-manifest|kaitai-struct|oasv2-yaml|oasv3-yaml|unity3d-asset|yaml|yml|(?:.*\\\\\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime-syntax|syntax|unity|yaml-tmlanguage|yaml\\\\\\\\.sed|yml\\\\\\\\.mysql)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.yaml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-text\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.raw.code.mdx markup.inline.raw.code.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.code.mdx\\\"}},\\\"match\\\":\\\"(?\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[<>\\\\\\\\\\\\\\\\]?)*)(>)|(\\\\\\\\g))(?:[\\\\\\\\t ]+(?:(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]?)*)(\\\\\\\")|(')((?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?)*)(')|(\\\\\\\\()((?:[^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]?)*)(\\\\\\\\))))?$(?(?!<)(?:(?:[^ ()\\\\\\\\\\\\\\\\\\\\\\\\p{Cc}]|\\\\\\\\\\\\\\\\[()\\\\\\\\\\\\\\\\]?)|\\\\\\\\(\\\\\\\\g*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"meta.link.reference.def.mdx\\\"},\\\"commonmark-hard-break-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.character-escape.line-ending.mdx\\\"},\\\"commonmark-hard-break-trailing\\\":{\\\"match\\\":\\\"( ){2,}$\\\",\\\"name\\\":\\\"carriage-return constant.language.character-escape.line-ending.mdx\\\"},\\\"commonmark-heading-atx\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{1}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.1.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{2}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.2.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{3}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.3.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{4}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.4.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{5}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.5.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{6}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.6.mdx\\\"}]},\\\"commonmark-heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(=+)[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.setext.1.mdx\\\"},{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(-+)[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.setext.2.mdx\\\"}]},\\\"commonmark-label-end\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.begin.destination.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"string.other.end.destination.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"string.quoted.double.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"11\\\":{\\\"name\\\":\\\"string.quoted.single.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"13\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"14\\\":{\\\"name\\\":\\\"string.quoted.paren.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"16\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(])(\\\\\\\\()[\\\\\\\\t ]*(?:(?:(<)((?:[^\\\\\\\\n<>\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[<>\\\\\\\\\\\\\\\\]?)*)(>)|(\\\\\\\\g))(?:[\\\\\\\\t ]+(?:(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]?)*)(\\\\\\\")|(')((?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?)*)(')|(\\\\\\\\()((?:[^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]?)*)(\\\\\\\\))))?)?[\\\\\\\\t ]*(\\\\\\\\))(?(?!<)(?:(?:[^ ()\\\\\\\\\\\\\\\\\\\\\\\\p{Cc}]|\\\\\\\\\\\\\\\\[()\\\\\\\\\\\\\\\\]?)|\\\\\\\\(\\\\\\\\g*\\\\\\\\))+){0}\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(])(\\\\\\\\[)((?:[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[]\\\\\\\\[\\\\\\\\\\\\\\\\]?)+?)(])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(])\\\"}]},\\\"commonmark-label-start\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"!\\\\\\\\[(?!\\\\\\\\^)\\\",\\\"name\\\":\\\"string.other.begin.image.mdx\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"string.other.begin.link.mdx\\\"}]},\\\"commonmark-list-item\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+])(?: {4}(?! )|\\\\\\\\t)(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+]) {3}(?! )(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+]) {2}(?! )(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G) {3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+])(?: {1}|(?=\\\\\\\\n))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G) {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([0-9]{9})([).])(?: {4}(?! )|\\\\\\\\t(?![\\\\\\\\t ]))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){3} {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{9})([).]) {3}(?! )|([0-9]{8})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){3} {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{9})([).]) {2}(?! )|([0-9]{8})([).]) {3}(?! )|([0-9]{7})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{9})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{8})([).]) {2}(?! )|([0-9]{7})([).]) {3}(?! )|([0-9]{6})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2} {3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{8})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{7})([).]) {2}(?! )|([0-9]{6})([).]) {3}(?! )|([0-9]{5})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2} {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{7})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{6})([).]) {2}(?! )|([0-9]{5})([).]) {3}(?! )|([0-9]{4})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2} {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{6})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{5})([).]) {2}(?! )|([0-9]{4})([).]) {3}(?! )|([0-9]{3})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{5})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{4})([).]) {2}(?! )|([0-9]{3})([).]) {3}(?! )|([0-9]{2})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{4})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{3})([).]) {2}(?! )|([0-9]{2})([).]) {3}(?! )|([0-9]{1})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{3})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{2})([).]) {2}(?! )|([0-9]{1})([).]) {3}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{2})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9])([).]) {2}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([0-9])([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G) {3}\\\"}]},\\\"commonmark-paragraph\\\":{\\\"begin\\\":\\\"(?![\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.paragraph.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}],\\\"while\\\":\\\"(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},\\\"commonmark-thematic-break\\\":{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*_])[\\\\\\\\t ]*(?:\\\\\\\\1[\\\\\\\\t ]*){2,}$\\\",\\\"name\\\":\\\"meta.separator.mdx\\\"},\\\"extension-gfm-autolink-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[]\\\\\\\\t\\\\\\\\n\\\\\\\\r (*\\\\\\\\[_~])(?=(?i:www)\\\\\\\\.[^\\\\\\\\n\\\\\\\\r])(?:(?:[-\\\\\\\\p{L}\\\\\\\\p{N}]|[._](?![!\\\\\\\"')*,.:;?)?(?(?:(?:[^]\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"\\\\\\\\&-*,.:;*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.www.mdx\\\"},{\\\"match\\\":\\\"(?<=^|[^A-Za-z])(?i:https?://)(?=[\\\\\\\\p{L}\\\\\\\\p{N}])(?:(?:[-\\\\\\\\p{L}\\\\\\\\p{N}]|[._](?![!\\\\\\\"')*,.:;?)?(?(?:(?:[^]\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"\\\\\\\\&-*,.:;*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.http.mdx\\\"},{\\\"match\\\":\\\"(?<=^|[^/A-Za-z])(?i:mailto:|xmpp:)?[-+.0-9A-Z_a-z]+@(?:(?:[0-9A-Za-z]|[-_](?![!\\\\\\\"')*,.:;)[\\\\\\\\t ]*(<)(?=(?![\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))(?:\\\\\\\\s*(/))?(?:\\\\\\\\s*(?:([$_[:alpha:]][-$_[:alnum:]]*)\\\\\\\\s*(:)\\\\\\\\s*([$_[:alpha:]][-$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][-$_[:alnum:]]*)+)|([$_[:upper:]][$_[:alnum:]]*)|([$_[:alpha:]][-$_[:alnum:]]*))(?=[/>{\\\\\\\\s]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.closing.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.local.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.jsx\\\"}},\\\"end\\\":\\\"(?:(/)\\\\\\\\s*)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.self-closing.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attributes-illegal\\\"}]},\\\"extension-mdx-jsx-text\\\":{\\\"begin\\\":\\\"(<)(?=(?![\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))(?:\\\\\\\\s*(/))?(?:\\\\\\\\s*(?:([$_[:alpha:]][-$_[:alnum:]]*)\\\\\\\\s*(:)\\\\\\\\s*([$_[:alpha:]][-$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][-$_[:alnum:]]*)+)|([$_[:upper:]][$_[:alnum:]]*)|([$_[:alpha:]][-$_[:alnum:]]*))(?=[/>{\\\\\\\\s]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.closing.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.local.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.jsx\\\"}},\\\"end\\\":\\\"(?:(/)\\\\\\\\s*)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.self-closing.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attributes-illegal\\\"}]},\\\"extension-toml\\\":{\\\"begin\\\":\\\"\\\\\\\\A\\\\\\\\+{3}$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.toml\\\"}},\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"end\\\":\\\"^\\\\\\\\+{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.end.toml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}]},\\\"extension-yaml\\\":{\\\"begin\\\":\\\"\\\\\\\\A-{3}$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.yaml\\\"}},\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"end\\\":\\\"^-{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.end.yaml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]},\\\"markdown-frontmatter\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#extension-toml\\\"},{\\\"include\\\":\\\"#extension-yaml\\\"}]},\\\"markdown-sections\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-block-quote\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced\\\"},{\\\"include\\\":\\\"#extension-gfm-footnote-definition\\\"},{\\\"include\\\":\\\"#commonmark-definition\\\"},{\\\"include\\\":\\\"#commonmark-heading-atx\\\"},{\\\"include\\\":\\\"#commonmark-thematic-break\\\"},{\\\"include\\\":\\\"#commonmark-heading-setext\\\"},{\\\"include\\\":\\\"#commonmark-list-item\\\"},{\\\"include\\\":\\\"#extension-gfm-table\\\"},{\\\"include\\\":\\\"#extension-math-flow\\\"},{\\\"include\\\":\\\"#extension-mdx-esm\\\"},{\\\"include\\\":\\\"#extension-mdx-expression-flow\\\"},{\\\"include\\\":\\\"#extension-mdx-jsx-flow\\\"},{\\\"include\\\":\\\"#commonmark-paragraph\\\"}]},\\\"markdown-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-character-escape\\\"},{\\\"include\\\":\\\"#commonmark-character-reference\\\"}]},\\\"markdown-text\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-attention\\\"},{\\\"include\\\":\\\"#commonmark-character-escape\\\"},{\\\"include\\\":\\\"#commonmark-character-reference\\\"},{\\\"include\\\":\\\"#commonmark-code-text\\\"},{\\\"include\\\":\\\"#commonmark-hard-break-trailing\\\"},{\\\"include\\\":\\\"#commonmark-hard-break-escape\\\"},{\\\"include\\\":\\\"#commonmark-label-end\\\"},{\\\"include\\\":\\\"#extension-gfm-footnote-call\\\"},{\\\"include\\\":\\\"#commonmark-label-start\\\"},{\\\"include\\\":\\\"#extension-gfm-autolink-literal\\\"},{\\\"include\\\":\\\"#extension-gfm-strikethrough\\\"},{\\\"include\\\":\\\"#extension-github-gemoji\\\"},{\\\"include\\\":\\\"#extension-github-mention\\\"},{\\\"include\\\":\\\"#extension-github-reference\\\"},{\\\"include\\\":\\\"#extension-math-text\\\"},{\\\"include\\\":\\\"#extension-mdx-expression-text\\\"},{\\\"include\\\":\\\"#extension-mdx-jsx-text\\\"}]},\\\"whatwg-html-data-character-reference-named-terminated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.character-reference.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)((?:C(?:(?:o(?:unterClockwiseCo)?|lockwiseCo)ntourIntegra|cedi)|(?:(?:Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)|Not(?:Righ|Lef)tTriangle|(?:Not(?:(?:Succeed|Precede|Les)s|Greater)|(?:Precede|Succeed)s|Less)Slant|SquareSu(?:per|b)set|(?:Not(?:Greater|Tilde)|Tilde|Less)Full|RightTriangle|LeftTriangle|Greater(?:Slant|Full)|Precedes|Succeeds|Superset|NotHump|Subset|Tilde|Hump)Equ|int(?:er)?c|DotEqu)a|DoubleContourIntegra|(?:n(?:short)?parall|shortparall|p(?:arall|rur))e|(?:rightarrowta|l(?:eftarrowta|ced|ata|Ata)|sced|rata|perm|rced|rAta|ced)i|Proportiona|smepars|e(?:qvpars|pars|xc|um)|Integra|suphso|rarr[pt]|n(?:pars|tg)|l(?:arr[pt]|cei)|Rarrt|(?:hybu|fora)l|ForAl|[GKLNRSTcknt]cedi|rcei|iexc|gime|fras|[uy]um|oso|dso|ium|Ium)l|D(?:o(?:uble(?:(?:L(?:ong(?:Left)?R|eftR)ight|L(?:ongL)?eft|UpDown|Right|Up)Arrow|Do(?:wnArrow|t))|wn(?:ArrowUpA|TeeA|a)rrow)|iacriticalDot|strok|ashv|cy)|(?:(?:(?:N(?:(?:otN)?estedGreater|ot(?:Greater|Less))|Less(?:Equal)?)Great|GreaterGreat|l[lr]corn|mark|east)e|Not(?:Double)?VerticalBa|(?:Not(?:Righ|Lef)tTriangleB|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)VectorB|RightTriangleB|Left(?:Triangle|Arrow)B|RightArrowB|V(?:er(?:ticalB|b)|b)|UpArrowB|l(?:ur(?:ds|u)h|dr(?:us|d)h|trP|owb|H)|profal|r(?:ulu|dld)h|b(?:igst|rvb)|(?:wed|ve[er])b|s(?:wn|es)w|n(?:wne|ese|sp|hp)|gtlP|d(?:oll|uh|H)|(?:hor|ov)b|u(?:dh|H)|r(?:lh|H)|ohb|hb|St)a|D(?:o(?:wn(?:(?:Left(?:Right|Tee)|RightTee)Vecto|(?:(?:Righ|Lef)tVector|Arrow)Ba)|ubleVerticalBa)|a(?:gge|r)|sc|f)|(?:(?:(?:Righ|Lef)tDown|(?:Righ|Lef)tUp)Tee|(?:Righ|Lef)tUpDown)Vecto|VerticalSeparato|(?:Left(?:Right|Tee)|RightTee)Vecto|less(?:eqq?)?gt|e(?:qslantgt|sc)|(?:RightF|LeftF|[lr]f)loo|u(?:[lr]corne|ar)|timesba|(?:plusa|cirs|apa)ci|U(?:arroci|f)|(?:dzigr|s(?:u(?:pl|br)|imr|[lr])|zigr|angz|nvH|l(?:tl|B)|r[Br])ar|UnderBa|(?:plus|harr|top|mid|of)ci|O(?:verBa|sc|f)|dd?agge|s(?:olba|sc)|g(?:t(?:rar|ci)|sc|f)|c(?:opys|u(?:po|ep)|sc|f)|(?:n(?:(?:v[lr]|[rw])A|l[Aa]|h[Aa]|eA)|x[hlr][Aa]|u(?:ua|da|A)|s[ew]A|rla|o[lr]a|rba|rAa|l[Ablr]a|h(?:oa|A)|era|d(?:ua|A)|cra|vA)r|o(?:lci|sc|ro|pa)|ropa|roar|l(?:o(?:pa|ar)|sc|Ar)|i(?:ma|s)c|ltci|dd?ar|a(?:ma|s)c|R(?:Bar|sc|f)|I(?:mac|f)|(?:u(?:ma|s)|oma|ema|Oma|Ema|[wyz]s|qs|ks|fs|Zs|Ys|Xs|Ws|Vs|Us|Ss|Qs|Ns|Ms|Ks|Is|Gs|Fs|Cs|Bs)c|Umac|x(?:sc|f)|v(?:sc|f)|rsc|n(?:ld|f)|m(?:sc|ld|ac|f)|rAr|h(?:sc|f)|b(?:sc|f)|psc|P(?:sc|f)|L(?:sc|ar|f)|jsc|J(?:sc|f)|E(?:sc|f)|[HT]sc|[yz]f|wf|tf|qf|pf|kf|jf|Zf|Yf|Xf|Wf|Vf|Tf|Sf|Qf|Nf|Mf|Kf|Hf|Gf|Ff|Cf|Bf)r|(?:Diacritical(?:Double)?A|[EINOSYZaisz]a)cute|(?:(?:N(?:egative(?:VeryThin|Thi(?:ck|n))|onBreaking)|NegativeMedium|ZeroWidth|VeryThin|Medium|Thi(?:ck|n))Spac|Filled(?:Very)?SmallSquar|Empty(?:Very)?SmallSquar|(?:N(?:ot(?:Succeeds|Greater|Tilde|Less)T|t)|DiacriticalT|VerticalT|PrecedesT|SucceedsT|NotEqualT|GreaterT|TildeT|EqualT|LessT|at|Ut|It)ild|(?:(?:DiacriticalG|[EIOUaiu]g)ra|[Uu]?bre|[eo]?gra)v|(?:doublebar|curly|big|x)wedg|H(?:orizontalLin|ilbertSpac)|Double(?:Righ|Lef)tTe|(?:(?:measured|uw)ang|exponentia|dwang|ssmi|fema)l|(?:Poincarepla|reali|pho|oli)n|(?:black)?lozeng|(?:VerticalL|(?:prof|imag)l)in|SmallCircl|(?:black|dot)squar|rmoustach|l(?:moustach|angl)|(?:b(?:ack)?pr|(?:tri|xo)t|[qt]pr)im|[Tt]herefor|(?:DownB|[Gag]b)rev|(?:infint|nv[lr]tr)i|b(?:arwedg|owti)|an(?:dslop|gl)|(?:cu(?:rly)?v|rthr|lthr|b(?:ig|ar)v|xv)e|n(?:s(?:qsu[bp]|ccu)|prcu)|orslop|NewLin|maltes|Becaus|rangl|incar|(?:otil|Otil|t(?:ra|il))d|[inu]tild|s(?:mil|imn)|(?:sc|pr)cu|Wedg|Prim|Brev)e|(?:CloseCurly(?:Double)?Quo|OpenCurly(?:Double)?Quo|[ry]?acu)te|(?:Reverse(?:Up)?|Up)Equilibrium|C(?:apitalDifferentialD|(?:oproduc|(?:ircleD|enterD|d)o)t|on(?:grue|i)nt|conint|upCap|o(?:lone|pf)|OPY|hi)|(?:(?:(?:left)?rightsquig|(?:longleftr|twoheadr|nleftr|nLeftr|longr|hookr|nR|Rr)ight|(?:twohead|hook)left|longleft|updown|Updown|nright|Right|nleft|nLeft|down|up|Up)a|L(?:(?:ong(?:left)?righ|(?:ong)?lef)ta|eft(?:(?:right)?a|RightA|TeeA))|RightTeeA|LongLeftA|UpTeeA)rrow|(?:(?:RightArrow|Short|Upper|Lower)Left|(?:L(?:eftArrow|o(?:wer|ng))|LongLeft|Short|Upper)Right|ShortUp)Arrow|(?:b(?:lacktriangle(?:righ|lef)|ulle|no)|RightDoubleBracke|RightAngleBracke|Left(?:Doub|Ang)leBracke|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow)righ|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow|mapsto)lef|(?:UnderBrack|OverBrack|emptys|targ|Sups)e|diamondsui|c(?:ircledas|lubsui|are)|(?:spade|heart)sui|(?:(?:c(?:enter|t)|lmi|ino)d|(?:Triple|mD)D|n(?:otin|e)d|(?:ncong|doteq|su[bp]e|e[gl]s)d|l(?:ess|t)d|isind|c(?:ong|up|ap)?d|b(?:igod|N)|t(?:(?:ri)?d|opb)|s(?:ub|im)d|midd|g(?:tr?)?d|Lmid|DotD|(?:xo|ut|z)d|e(?:s?d|rD|fD|DD)|dtd|Zd|Id|Gd|Ed)o|realpar|i(?:magpar|iin)|S(?:uchTha|qr)|su[bp]mul|(?:(?:lt|i)que|gtque|(?:mid|low)a|e(?:que|xi))s|Produc|s(?:updo|e[cx])|r(?:parg|ec)|lparl|vangr|hamil|(?:homt|[lr]fis|ufis|dfis)h|phmma|t(?:wix|in)|quo|o(?:do|as)|fla|eDo)t|(?:(?:Square)?Intersecti|(?:straight|back|var)epsil|SquareUni|expectati|upsil|epsil|Upsil|eq?col|Epsil|(?:omic|Omic|rca|lca|eca|Sca|[NRTt]ca|Lca|Eca|[Zdz]ca|Dca)r|scar|ncar|herc|ccar|Ccar|iog|Iog)on|Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)?|(?:(?:(?:Not(?:Reverse)?|Reverse)E|comp|E)leme|NotCongrue|(?:n[gl]|l)eqsla|geqsla|q(?:uat)?i|perc|iiii|coni|cwi|awi|oi)nt|(?:(?:rightleftharpo|leftrightharpo|quaterni)on|(?:(?:N(?:ot(?:NestedLess|Greater|Less)|estedLess)L|(?:eqslant|gtr(?:eqq?)?)l|LessL)e|Greater(?:Equal)?Le|cro)s|(?:rightright|leftleft|upup)arrow|rightleftarrow|(?:(?:(?:righ|lef)tthree|divideon|b(?:igo|ox)|[lr]o)t|InvisibleT)ime|downdownarrow|(?:(?:smallset|tri|dot|box)m|PlusM)inu|(?:RoundImpli|complex|Impli|Otim)e|C(?:ircle(?:Time|Minu|Plu)|ayley|ros)|(?:rationa|mode)l|NotExist|(?:(?:UnionP|MinusP|(?:b(?:ig[ou]|ox)|tri|s(?:u[bp]|im)|dot|xu|mn)p)l|(?:xo|u)pl|o(?:min|pl)|ropl|lopl|epl)u|otimesa|integer|e(?:linter|qual)|setminu|rarrbf|larrb?f|olcros|rarrf|mstpo|lesge|gesle|Exist|[lr]time|strn|napo|fltn|ccap|apo)s|(?:b(?:(?:lack|ig)triangledow|etwee)|(?:righ|lef)tharpoondow|(?:triangle|mapsto)dow|(?:nv|i)infi|ssetm|plusm|lagra|d(?:[lr]cor|isi)|c(?:ompf|aro)|s?frow|(?:hyph|curr)e|kgree|thor|ogo|ye)n|Not(?:Righ|Lef)tTriangle|(?:Up(?:Arrow)?|Short)DownArrow|(?:(?:n(?:triangle(?:righ|lef)t|succ|prec)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|backsim)e|lvertneq|gvertneq|(?:suc|pre)cneq|a(?:pprox|symp)e|(?:succ|prec|vee)e|circe)q|(?:UnderParenthes|OverParenthes|xn)is|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)Vector|D(?:o(?:wn(?:RightVector|LeftVector|Arrow|Tee)|t)|el|D)|l(?:eftrightarrows|br(?:k(?:sl[du]|e)|ac[ek])|tri[ef]|s(?:im[eg]|qb|h)|hard|a(?:tes|ngd|p)|o[pz]f|rm|gE|fr|eg|cy)|(?:NotHumpDownHum|(?:righ|lef)tharpoonu|big(?:(?:triangle|sqc)u|c[au])|HumpDownHum|m(?:apstou|lc)|(?:capbr|xsq)cu|smash|rarr[al]|(?:weie|sha)r|larrl|velli|(?:thin|punc)s|h(?:elli|airs)|(?:u[lr]c|vp)ro|d[lr]cro|c(?:upc[au]|apc[au])|thka|scna|prn?a|oper|n(?:ums|va|cu|bs)|ens|xc[au]|Ma)p|l(?:eftrightarrow|e(?:ftarrow|s(?:dot)?)?|moust|a(?:rrb?|te?|ng)|t(?:ri)?|sim|par|oz|[gl])|n(?:triangle(?:righ|lef)t|succ|prec)|SquareSu(?:per|b)set|(?:I(?:nvisibleComm|ot)|(?:varthe|iio)t|varkapp|(?:vars|S)igm|(?:diga|mco)mm|Cedill|lambd|Lambd|delt|Thet|omeg|Omeg|Kapp|Delt|nabl|zet|to[es]|rdc|ldc|iot|Zet|Bet|Et)a|b(?:lacktriangle|arwed|u(?:mpe?|ll)|sol|o(?:x[HVhv]|t)|brk|ne)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|RightT(?:riangl|e)e|(?:(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|nsu[bp]seteq|colone|(?:wedg|sim)e|nsime|lneq|gneq)q|DifferentialD|(?:(?:fall|ris)ingdots|(?:suc|pre)ccurly|ddots)eq|A(?:pplyFunction|ssign|(?:tild|grav|brev)e|acute|o(?:gon|pf)|lpha|(?:mac|sc|f)r|c(?:irc|y)|ring|Elig|uml|nd|MP)|(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|L(?:eft(?:T(?:riangl|e)e|Arrow)|l)|G(?:reaterEqual|amma)|E(?:xponentialE|quilibrium|sim|cy|TH|NG)|(?:(?:RightCeil|LeftCeil|varnoth|ar|Ur)in|(?:b(?:ack)?co|uri)n|vzigza|roan|loan|ffli|amal|sun|rin|n(?:tl|an)|Ran|Lan)g|(?:thick|succn?|precn?|less|g(?:tr|n)|ln|n)approx|(?:s(?:traightph|em)|(?:rtril|xu|u[lr]|xd|v[lr])tr|varph|l[lr]tr|b(?:sem|eps)|Ph)i|(?:circledd|osl|n(?:v[Dd]|V[Dd]|d)|hsl|V(?:vd|D)|Osl|v[Dd]|md)ash|(?:(?:RuleDelay|imp|cuw)e|(?:n(?:s(?:hort)?)?|short|rn)mi|D(?:Dotrah|iamon)|(?:i(?:nt)?pr|peri)o|odsol|llhar|c(?:opro|irmi)|(?:capa|anda|pou)n|Barwe|napi|api)d|(?:cu(?:rlyeq(?:suc|pre)|es)|telre|[ou]dbla|Udbla|Odbla|radi|lesc|gesc|dbla)c|(?:circled|big|eq|[CEGHSWachiswx])circ|rightarrow|R(?:ightArrow|arr|e)|Pr(?:oportion)?|(?:longmapst|varpropt|p(?:lustw|ropt)|varrh|numer|(?:rsa|lsa|sb)qu|m(?:icr|h)|[lr]aqu|bdqu|eur)o|UnderBrace|ImaginaryI|B(?:ernoullis|a(?:ckslash|rv)|umpeq|cy)|(?:(?:Laplace|Mellin|zee)tr|Fo(?:uriertr|p)|(?:profsu|ssta)r|ordero|origo|[ps]op|nop|mop|i(?:op|mo)|h(?:op|al)|f(?:op|no)|dop|bop|Rop|Pop|Nop|Lop|Iop|Hop|Dop|[GJKMOQSTV-Zgjkoqvwyz]op|Bop)f|nsu[bp]seteq|t(?:ri(?:angleq|e)|imesd|he(?:tav|re4)|au)|O(?:verBrace|r)|(?:(?:pitchfo|checkma|t(?:opfo|b)|rob|rbb|l[bo]b)r|intlarh|b(?:brktbr|l(?:oc|an))|perten|NoBrea|rarrh|s[ew]arh|n[ew]arh|l(?:arrh|hbl)|uhbl|Hace)k|(?:NotCupC|(?:mu(?:lti)?|x)m|cupbrc)ap|t(?:riangle|imes|heta|opf?)|Precedes|Succeeds|Superset|NotEqual|(?:n(?:atural|exist|les)|s(?:qc[au]p|mte)|prime)s|c(?:ir(?:cled[RS]|[Ee])|u(?:rarrm|larrp|darr[lr]|ps)|o(?:mmat|pf)|aps|hi)|b(?:sol(?:hsu)?b|ump(?:eq|E)|ox(?:box|[Vv][HLRhlr]|[Hh][DUdu]|[DUdu][LRlr])|e(?:rnou|t[ah])|lk(?:34|1[24])|cy)|(?:l(?:esdot|squ|dqu)o|rsquo|rdquo|ngt)r|a(?:n(?:g(?:msda[a-h]|st|e)|d[dv])|st|p[Ee]|mp|fr|c[Edy])|(?:g(?:esdoto|E)|[lr]haru)l|(?:angrtvb|lrhar|nis)d|(?:(?:th(?:ic)?k|succn?|p(?:r(?:ecn?|n)?|lus)|rarr|l(?:ess|arr)|su[bp]|par|scn|g(?:tr|n)|ne|sc|n[glv]|ln|eq?)si|thetasy|ccupss|alefsy|botto)m|trpezium|(?:hks[ew]|dr?bk|bk)arow|(?:(?:[lr]a|[cd])empty|b(?:nequi|empty)|plank|nequi|odi)v|(?:(?:sc|rp|n)pol|point|fpart)int|(?:c(?:irf|wco)|awco)nint|PartialD|n(?:s(?:u[bp](?:set)?|c)|rarr|ot(?:ni|in)?|warr|e(?:arr)?|a(?:tur|p)|vlt|p(?:re?|ar)|um?|l[et]|ge|i)|n(?:atural|exist|les)|d(?:i(?:am(?:ond)?|v(?:ide)?)|tri|ash|ot|d)|backsim|l(?:esdot|squ|dqu)o|g(?:esdoto|E)|U(?:p(?:Arrow|si)|nion|arr)|angrtvb|p(?:l(?:anckh|us(?:d[ou]|[be]))|ar(?:sl|t)|r(?:od|nE|E)|erp|iv|m)|n(?:ot(?:niv[abc]|in(?:v[abc]|E))|rarr[cw]|s(?:u[bp][Ee]|c[er])|part|v(?:le|g[et])|g(?:es|E)|c(?:ap|y)|apE|lE|iv|Ll|Gg)|m(?:inus(?:du|b)|ale|cy|p)|rbr(?:k(?:sl[du]|e)|ac[ek])|(?:suphsu|tris|rcu|lcu)b|supdsub|(?:s[ew]a|n[ew]a)rrow|(?:b(?:ecaus|sim)|n(?:[lr]tri|bump)|csu[bp])e|equivDD|u(?:rcorn|lcorn|psi)|timesb|s(?:u(?:p(?:set)?|b(?:set)?)|q(?:su[bp]|u)|i(?:gma|m)|olb?|dot|mt|fr|ce?)|p(?:l(?:anck|us)|r(?:op|ec?)?|ara?|i)|o(?:times|r(?:d(?:er)?)?)|m(?:i(?:nusd?|d)|a(?:p(?:sto)?|lt)|u)|rmoust|g(?:e(?:s(?:dot|l)?|q)?|sim|n(?:ap|e)|[glt])|(?:spade|heart)s|c(?:u(?:rarr|larr|p)|o(?:m(?:ma|p)|lon|py|ng)|lubs|heck|cups|irc?|ent|ap)|colone|a(?:p(?:prox)?|n(?:g(?:msd|rt)?|d)|symp|[cf])|S(?:quare|u[bp]|c)|Subset|b(?:ecaus|sim)|vsu[bp]n[Ee]|s(?:u(?:psu[bp]|b(?:su[bp]|n[Ee]|E)|pn[Ee]|p[123E]|m)|q(?:u(?:ar[ef]|f)|su[bp]e)|igma[fv]|etmn|dot[be]|par|mid|hc?y|c[Ey])|f(?:rac(?:78|5[68]|45|3[458]|2[35]|1[2-68])|fr)|e(?:m(?:sp1[34]|ptyv)|psiv|c(?:irc|y)|t[ah]|ng|ll|fr|e)|(?:kappa|isins|vBar|fork|rho|phi|n[GL]t)v|divonx|V(?:dashl|ee)|gammad|G(?:ammad|cy|[Tgt])|[Ldhlt]strok|[HT]strok|(?:c(?:ylct|hc)|(?:s(?:oft|hch)|hard|S(?:OFT|HCH)|jser|J(?:ser|uk)|HARD|tsh|TSH|juk|iuk|I(?:uk|[EO])|zh|yi|nj|lj|k[hj]|gj|dj|ZH|Y[AIU]|NJ|LJ|K[HJ]|GJ|D[JSZ])c|ubrc|Ubrc|(?:yu|i[eo]|dz|[fpv])c|TSc|SHc|CHc|Vc|Pc|Mc|Fc)y|(?:(?:wre|jm)at|dalet|a(?:ngs|le)p|imat|[lr]ds)h|[CLRUceglnou]acute|ff?llig|(?:f(?:fi|[ij])|sz|oe|ij|ae|OE|IJ)lig|r(?:a(?:tio|rr|ng)|tri|par|eal)|s[ew]arr|s(?:qc[au]p|mte)|prime|rarrb|i(?:n(?:fin|t)?|sin|[cit])|e(?:quiv|m(?:pty|sp)|p(?:si|ar)|cir|[gl])|kappa|isins|ncong|doteq|(?:wedg|sim)e|nsime|rsquo|rdquo|[lr]haru|V(?:dash|ert)|Tilde|lrhar|gamma|Equal|UpTee|n(?:[lr]tri|bump)|C(?:olon|up|ap)|v(?:arpi|ert)|u(?:psih|ml)|vnsu[bp]|r(?:tri[ef]|e(?:als|g)|a(?:rr[cw]|ng[de]|ce)|sh|lm|x)|rhard|sim[gl]E|i(?:sin[Ev]|mage|f[fr]|cy)|harrw|(?:n[gl]|l)eqq|g(?:sim[el]|tcc|e(?:qq|l)|nE|l[Eaj]|gg|ap)|ocirc|starf|utrif|d(?:trif|i(?:ams|e)|ashv|sc[ry]|fr|eg)|[du]har[lr]|T(?:HORN|a[bu])|(?:TRAD|[gl]vn)E|odash|[EUaeu]o(?:gon|pf)|alpha|[IJOUYgjuy]c(?:irc|y)|v(?:arr|ee)|succ|sim[gl]|harr|ln(?:ap|e)|lesg|(?:n[gl]|l)eq|ocir|star|utri|vBar|fork|su[bp]e|nsim|lneq|gneq|csu[bp]|zwn?j|yacy|x(?:opf|i)|scnE|o(?:r(?:d[fm]|v)|mid|lt|hm|gt|fr|cy|S)|scap|rsqb|ropf|ltcc|tsc[ry]|QUOT|[EOUYao]uml|rho|phi|n[GL]t|e[gl]s|ngt|I(?:nt|m)|nis|rfr|rcy|lnE|lEg|ufr|S(?:um|cy)|R(?:sh|ho)|psi|Ps?i|[NRTt]cy|L(?:sh|cy|[Tt])|kcy|Kcy|Hat|REG|[Zdz]cy|wr|lE|wp|Xi|Nu|Mu)(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.named.html\\\"}},\\\"scopeName\\\":\\\"source.mdx\\\",\\\"embeddedLangs\\\":[],\\\"embeddedLangsLazy\\\":[\\\"tsx\\\",\\\"toml\\\",\\\"yaml\\\",\\\"c\\\",\\\"clojure\\\",\\\"coffee\\\",\\\"cpp\\\",\\\"csharp\\\",\\\"css\\\",\\\"diff\\\",\\\"docker\\\",\\\"elixir\\\",\\\"elm\\\",\\\"erlang\\\",\\\"go\\\",\\\"graphql\\\",\\\"haskell\\\",\\\"html\\\",\\\"ini\\\",\\\"java\\\",\\\"javascript\\\",\\\"json\\\",\\\"julia\\\",\\\"kotlin\\\",\\\"less\\\",\\\"lua\\\",\\\"make\\\",\\\"markdown\\\",\\\"objective-c\\\",\\\"perl\\\",\\\"python\\\",\\\"r\\\",\\\"ruby\\\",\\\"rust\\\",\\\"scala\\\",\\\"scss\\\",\\\"shellscript\\\",\\\"shellsession\\\",\\\"sql\\\",\\\"xml\\\",\\\"swift\\\",\\\"typescript\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "mdx" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,k3pIAAsz9I,CAAC,EAE909IC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CnK8MTSM.js b/src/webview-ui/build/assets/chunk-CnK8MTSM.js new file mode 100644 index 0000000000..511f107919 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CnK8MTSM.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#575279","activityBar.background":"#faf4ed","activityBar.dropBorder":"#f2e9e1","activityBar.foreground":"#575279","activityBar.inactiveForeground":"#797593","activityBarBadge.background":"#d7827e","activityBarBadge.foreground":"#faf4ed","badge.background":"#d7827e","badge.foreground":"#faf4ed","banner.background":"#fffaf3","banner.foreground":"#575279","banner.iconForeground":"#797593","breadcrumb.activeSelectionForeground":"#d7827e","breadcrumb.background":"#faf4ed","breadcrumb.focusForeground":"#797593","breadcrumb.foreground":"#9893a5","breadcrumbPicker.background":"#fffaf3","button.background":"#d7827e","button.foreground":"#faf4ed","button.hoverBackground":"#d7827ee6","button.secondaryBackground":"#fffaf3","button.secondaryForeground":"#575279","button.secondaryHoverBackground":"#f2e9e1","charts.blue":"#56949f","charts.foreground":"#575279","charts.green":"#286983","charts.lines":"#797593","charts.orange":"#d7827e","charts.purple":"#907aa9","charts.red":"#b4637a","charts.yellow":"#ea9d34","checkbox.background":"#fffaf3","checkbox.border":"#6e6a8614","checkbox.foreground":"#575279","debugExceptionWidget.background":"#fffaf3","debugExceptionWidget.border":"#6e6a8614","debugIcon.breakpointCurrentStackframeForeground":"#797593","debugIcon.breakpointDisabledForeground":"#797593","debugIcon.breakpointForeground":"#797593","debugIcon.breakpointStackframeForeground":"#797593","debugIcon.breakpointUnverifiedForeground":"#797593","debugIcon.continueForeground":"#797593","debugIcon.disconnectForeground":"#797593","debugIcon.pauseForeground":"#797593","debugIcon.restartForeground":"#797593","debugIcon.startForeground":"#797593","debugIcon.stepBackForeground":"#797593","debugIcon.stepIntoForeground":"#797593","debugIcon.stepOutForeground":"#797593","debugIcon.stepOverForeground":"#797593","debugIcon.stopForeground":"#b4637a","debugToolBar.background":"#fffaf3","debugToolBar.border":"#f2e9e1","descriptionForeground":"#797593","diffEditor.border":"#f2e9e1","diffEditor.diagonalFill":"#6e6a8626","diffEditor.insertedLineBackground":"#56949f26","diffEditor.insertedTextBackground":"#56949f26","diffEditor.removedLineBackground":"#b4637a26","diffEditor.removedTextBackground":"#b4637a26","diffEditorOverview.insertedForeground":"#56949f80","diffEditorOverview.removedForeground":"#b4637a80","dropdown.background":"#fffaf3","dropdown.border":"#6e6a8614","dropdown.foreground":"#575279","dropdown.listBackground":"#fffaf3","editor.background":"#faf4ed","editor.findMatchBackground":"#ea9d3433","editor.findMatchBorder":"#ea9d3480","editor.findMatchForeground":"#575279","editor.findMatchHighlightBackground":"#6e6a8626","editor.findMatchHighlightForeground":"#575279cc","editor.findRangeHighlightBackground":"#6e6a8626","editor.findRangeHighlightBorder":"#0000","editor.focusedStackFrameHighlightBackground":"#6e6a8614","editor.foldBackground":"#6e6a8614","editor.foreground":"#575279","editor.hoverHighlightBackground":"#0000","editor.inactiveSelectionBackground":"#6e6a860d","editor.inlineValuesBackground":"#0000","editor.inlineValuesForeground":"#797593","editor.lineHighlightBackground":"#6e6a860d","editor.lineHighlightBorder":"#0000","editor.linkedEditingBackground":"#6e6a8614","editor.rangeHighlightBackground":"#6e6a860d","editor.selectionBackground":"#6e6a8614","editor.selectionForeground":"#575279","editor.selectionHighlightBackground":"#6e6a8614","editor.selectionHighlightBorder":"#faf4ed","editor.snippetFinalTabstopHighlightBackground":"#6e6a8614","editor.snippetFinalTabstopHighlightBorder":"#fffaf3","editor.snippetTabstopHighlightBackground":"#6e6a8614","editor.snippetTabstopHighlightBorder":"#fffaf3","editor.stackFrameHighlightBackground":"#6e6a8614","editor.symbolHighlightBackground":"#6e6a8614","editor.symbolHighlightBorder":"#0000","editor.wordHighlightBackground":"#6e6a8614","editor.wordHighlightBorder":"#0000","editor.wordHighlightStrongBackground":"#6e6a8614","editor.wordHighlightStrongBorder":"#6e6a8614","editorBracketHighlight.foreground1":"#b4637a80","editorBracketHighlight.foreground2":"#28698380","editorBracketHighlight.foreground3":"#ea9d3480","editorBracketHighlight.foreground4":"#56949f80","editorBracketHighlight.foreground5":"#d7827e80","editorBracketHighlight.foreground6":"#907aa980","editorBracketMatch.background":"#0000","editorBracketMatch.border":"#797593","editorBracketPairGuide.activeBackground1":"#286983","editorBracketPairGuide.activeBackground2":"#d7827e","editorBracketPairGuide.activeBackground3":"#907aa9","editorBracketPairGuide.activeBackground4":"#56949f","editorBracketPairGuide.activeBackground5":"#ea9d34","editorBracketPairGuide.activeBackground6":"#b4637a","editorBracketPairGuide.background1":"#28698380","editorBracketPairGuide.background2":"#d7827e80","editorBracketPairGuide.background3":"#907aa980","editorBracketPairGuide.background4":"#56949f80","editorBracketPairGuide.background5":"#ea9d3480","editorBracketPairGuide.background6":"#b4637a80","editorCodeLens.foreground":"#d7827e","editorCursor.background":"#575279","editorCursor.foreground":"#9893a5","editorError.border":"#0000","editorError.foreground":"#b4637a","editorGhostText.foreground":"#797593","editorGroup.border":"#0000","editorGroup.dropBackground":"#fffaf3","editorGroup.emptyBackground":"#0000","editorGroup.focusedEmptyBorder":"#0000","editorGroupHeader.noTabsBackground":"#0000","editorGroupHeader.tabsBackground":"#0000","editorGroupHeader.tabsBorder":"#0000","editorGutter.addedBackground":"#56949f","editorGutter.background":"#faf4ed","editorGutter.commentRangeForeground":"#f2e9e1","editorGutter.deletedBackground":"#b4637a","editorGutter.foldingControlForeground":"#907aa9","editorGutter.modifiedBackground":"#d7827e","editorHint.border":"#0000","editorHint.foreground":"#797593","editorHoverWidget.background":"#fffaf3","editorHoverWidget.border":"#9893a580","editorHoverWidget.foreground":"#797593","editorHoverWidget.highlightForeground":"#575279","editorHoverWidget.statusBarBackground":"#0000","editorIndentGuide.activeBackground1":"#9893a5","editorIndentGuide.background1":"#6e6a8626","editorInfo.border":"#f2e9e1","editorInfo.foreground":"#56949f","editorInlayHint.background":"#f2e9e180","editorInlayHint.foreground":"#79759380","editorInlayHint.parameterBackground":"#f2e9e180","editorInlayHint.parameterForeground":"#907aa980","editorInlayHint.typeBackground":"#f2e9e180","editorInlayHint.typeForeground":"#56949f80","editorLightBulb.foreground":"#286983","editorLightBulbAutoFix.foreground":"#d7827e","editorLineNumber.activeForeground":"#575279","editorLineNumber.foreground":"#797593","editorLink.activeForeground":"#d7827e","editorMarkerNavigation.background":"#fffaf3","editorMarkerNavigationError.background":"#fffaf3","editorMarkerNavigationInfo.background":"#fffaf3","editorMarkerNavigationWarning.background":"#fffaf3","editorOverviewRuler.addedForeground":"#56949f80","editorOverviewRuler.background":"#faf4ed","editorOverviewRuler.border":"#6e6a8626","editorOverviewRuler.bracketMatchForeground":"#797593","editorOverviewRuler.commentForeground":"#79759380","editorOverviewRuler.commentUnresolvedForeground":"#ea9d3480","editorOverviewRuler.commonContentForeground":"#6e6a860d","editorOverviewRuler.currentContentForeground":"#6e6a8614","editorOverviewRuler.deletedForeground":"#b4637a80","editorOverviewRuler.errorForeground":"#b4637a80","editorOverviewRuler.findMatchForeground":"#6e6a8626","editorOverviewRuler.incomingContentForeground":"#907aa980","editorOverviewRuler.infoForeground":"#56949f80","editorOverviewRuler.modifiedForeground":"#d7827e80","editorOverviewRuler.rangeHighlightForeground":"#6e6a8626","editorOverviewRuler.selectionHighlightForeground":"#6e6a8626","editorOverviewRuler.warningForeground":"#ea9d3480","editorOverviewRuler.wordHighlightForeground":"#6e6a8614","editorOverviewRuler.wordHighlightStrongForeground":"#6e6a8626","editorPane.background":"#0000","editorRuler.foreground":"#6e6a8626","editorSuggestWidget.background":"#fffaf3","editorSuggestWidget.border":"#0000","editorSuggestWidget.focusHighlightForeground":"#d7827e","editorSuggestWidget.foreground":"#797593","editorSuggestWidget.highlightForeground":"#d7827e","editorSuggestWidget.selectedBackground":"#6e6a8614","editorSuggestWidget.selectedForeground":"#575279","editorSuggestWidget.selectedIconForeground":"#575279","editorUnnecessaryCode.border":"#0000","editorUnnecessaryCode.opacity":"#57527980","editorWarning.border":"#0000","editorWarning.foreground":"#ea9d34","editorWhitespace.foreground":"#9893a580","editorWidget.background":"#fffaf3","editorWidget.border":"#f2e9e1","editorWidget.foreground":"#797593","editorWidget.resizeBorder":"#9893a5","errorForeground":"#b4637a","extensionBadge.remoteBackground":"#907aa9","extensionBadge.remoteForeground":"#faf4ed","extensionButton.prominentBackground":"#d7827e","extensionButton.prominentForeground":"#faf4ed","extensionButton.prominentHoverBackground":"#d7827ee6","extensionIcon.preReleaseForeground":"#286983","extensionIcon.starForeground":"#d7827e","extensionIcon.verifiedForeground":"#907aa9","focusBorder":"#6e6a8614","foreground":"#575279","git.blame.editorDecorationForeground":"#9893a5","gitDecoration.addedResourceForeground":"#56949f","gitDecoration.conflictingResourceForeground":"#b4637a","gitDecoration.deletedResourceForeground":"#797593","gitDecoration.ignoredResourceForeground":"#9893a5","gitDecoration.modifiedResourceForeground":"#d7827e","gitDecoration.renamedResourceForeground":"#286983","gitDecoration.stageDeletedResourceForeground":"#b4637a","gitDecoration.stageModifiedResourceForeground":"#907aa9","gitDecoration.submoduleResourceForeground":"#ea9d34","gitDecoration.untrackedResourceForeground":"#ea9d34","icon.foreground":"#797593","input.background":"#f2e9e180","input.border":"#6e6a8614","input.foreground":"#575279","input.placeholderForeground":"#797593","inputOption.activeBackground":"#d7827e26","inputOption.activeBorder":"#0000","inputOption.activeForeground":"#d7827e","inputValidation.errorBackground":"#fffaf3","inputValidation.errorBorder":"#6e6a8626","inputValidation.errorForeground":"#b4637a","inputValidation.infoBackground":"#fffaf3","inputValidation.infoBorder":"#6e6a8626","inputValidation.infoForeground":"#56949f","inputValidation.warningBackground":"#fffaf3","inputValidation.warningBorder":"#6e6a8626","inputValidation.warningForeground":"#56949f80","keybindingLabel.background":"#f2e9e1","keybindingLabel.border":"#6e6a8626","keybindingLabel.bottomBorder":"#6e6a8626","keybindingLabel.foreground":"#907aa9","keybindingTable.headerBackground":"#f2e9e1","keybindingTable.rowsBackground":"#fffaf3","list.activeSelectionBackground":"#6e6a8614","list.activeSelectionForeground":"#575279","list.deemphasizedForeground":"#797593","list.dropBackground":"#fffaf3","list.errorForeground":"#b4637a","list.filterMatchBackground":"#fffaf3","list.filterMatchBorder":"#d7827e","list.focusBackground":"#6e6a8626","list.focusForeground":"#575279","list.focusOutline":"#6e6a8614","list.highlightForeground":"#d7827e","list.hoverBackground":"#6e6a860d","list.hoverForeground":"#575279","list.inactiveFocusBackground":"#6e6a860d","list.inactiveSelectionBackground":"#fffaf3","list.inactiveSelectionForeground":"#575279","list.invalidItemForeground":"#b4637a","list.warningForeground":"#ea9d34","listFilterWidget.background":"#fffaf3","listFilterWidget.noMatchesOutline":"#b4637a","listFilterWidget.outline":"#f2e9e1","menu.background":"#fffaf3","menu.border":"#6e6a860d","menu.foreground":"#575279","menu.selectionBackground":"#6e6a8614","menu.selectionBorder":"#f2e9e1","menu.selectionForeground":"#575279","menu.separatorBackground":"#6e6a8626","menubar.selectionBackground":"#6e6a8614","menubar.selectionBorder":"#6e6a860d","menubar.selectionForeground":"#575279","merge.border":"#f2e9e1","merge.commonContentBackground":"#6e6a8614","merge.commonHeaderBackground":"#6e6a8614","merge.currentContentBackground":"#ea9d3480","merge.currentHeaderBackground":"#ea9d3480","merge.incomingContentBackground":"#56949f80","merge.incomingHeaderBackground":"#56949f80","minimap.background":"#fffaf3","minimap.errorHighlight":"#b4637a80","minimap.findMatchHighlight":"#6e6a8614","minimap.selectionHighlight":"#6e6a8614","minimap.warningHighlight":"#ea9d3480","minimapGutter.addedBackground":"#56949f","minimapGutter.deletedBackground":"#b4637a","minimapGutter.modifiedBackground":"#d7827e","minimapSlider.activeBackground":"#6e6a8626","minimapSlider.background":"#6e6a8614","minimapSlider.hoverBackground":"#6e6a8614","notebook.cellBorderColor":"#56949f80","notebook.cellEditorBackground":"#fffaf3","notebook.cellHoverBackground":"#f2e9e180","notebook.focusedCellBackground":"#6e6a860d","notebook.focusedCellBorder":"#56949f","notebook.outputContainerBackgroundColor":"#6e6a860d","notificationCenter.border":"#6e6a8614","notificationCenterHeader.background":"#fffaf3","notificationCenterHeader.foreground":"#797593","notificationLink.foreground":"#907aa9","notificationToast.border":"#6e6a8614","notifications.background":"#fffaf3","notifications.border":"#6e6a8614","notifications.foreground":"#575279","notificationsErrorIcon.foreground":"#b4637a","notificationsInfoIcon.foreground":"#56949f","notificationsWarningIcon.foreground":"#ea9d34","panel.background":"#fffaf3","panel.border":"#0000","panel.dropBorder":"#f2e9e1","panelInput.border":"#fffaf3","panelSection.dropBackground":"#6e6a8614","panelSectionHeader.background":"#fffaf3","panelSectionHeader.foreground":"#575279","panelTitle.activeBorder":"#6e6a8626","panelTitle.activeForeground":"#575279","panelTitle.inactiveForeground":"#797593","peekView.border":"#f2e9e1","peekViewEditor.background":"#fffaf3","peekViewEditor.matchHighlightBackground":"#6e6a8626","peekViewResult.background":"#fffaf3","peekViewResult.fileForeground":"#797593","peekViewResult.lineForeground":"#797593","peekViewResult.matchHighlightBackground":"#6e6a8626","peekViewResult.selectionBackground":"#6e6a8614","peekViewResult.selectionForeground":"#575279","peekViewTitle.background":"#f2e9e1","peekViewTitleDescription.foreground":"#797593","pickerGroup.border":"#6e6a8626","pickerGroup.foreground":"#907aa9","ports.iconRunningProcessForeground":"#d7827e","problemsErrorIcon.foreground":"#b4637a","problemsInfoIcon.foreground":"#56949f","problemsWarningIcon.foreground":"#ea9d34","progressBar.background":"#d7827e","quickInput.background":"#fffaf3","quickInput.foreground":"#797593","quickInputList.focusBackground":"#6e6a8614","quickInputList.focusForeground":"#575279","quickInputList.focusIconForeground":"#575279","scrollbar.shadow":"#fffaf34d","scrollbarSlider.activeBackground":"#28698380","scrollbarSlider.background":"#6e6a8614","scrollbarSlider.hoverBackground":"#6e6a8626","searchEditor.findMatchBackground":"#6e6a8614","selection.background":"#6e6a8626","settings.focusedRowBackground":"#fffaf3","settings.focusedRowBorder":"#6e6a8614","settings.headerForeground":"#575279","settings.modifiedItemIndicator":"#d7827e","settings.rowHoverBackground":"#fffaf3","sideBar.background":"#faf4ed","sideBar.dropBackground":"#fffaf3","sideBar.foreground":"#797593","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.border":"#6e6a8614","statusBar.background":"#faf4ed","statusBar.debuggingBackground":"#907aa9","statusBar.debuggingForeground":"#faf4ed","statusBar.foreground":"#797593","statusBar.noFolderBackground":"#faf4ed","statusBar.noFolderForeground":"#797593","statusBarItem.activeBackground":"#6e6a8626","statusBarItem.errorBackground":"#faf4ed","statusBarItem.errorForeground":"#b4637a","statusBarItem.hoverBackground":"#6e6a8614","statusBarItem.prominentBackground":"#f2e9e1","statusBarItem.prominentForeground":"#575279","statusBarItem.prominentHoverBackground":"#6e6a8614","statusBarItem.remoteBackground":"#faf4ed","statusBarItem.remoteForeground":"#ea9d34","symbolIcon.arrayForeground":"#797593","symbolIcon.classForeground":"#797593","symbolIcon.colorForeground":"#797593","symbolIcon.constantForeground":"#797593","symbolIcon.constructorForeground":"#797593","symbolIcon.enumeratorForeground":"#797593","symbolIcon.enumeratorMemberForeground":"#797593","symbolIcon.eventForeground":"#797593","symbolIcon.fieldForeground":"#797593","symbolIcon.fileForeground":"#797593","symbolIcon.folderForeground":"#797593","symbolIcon.functionForeground":"#797593","symbolIcon.interfaceForeground":"#797593","symbolIcon.keyForeground":"#797593","symbolIcon.keywordForeground":"#797593","symbolIcon.methodForeground":"#797593","symbolIcon.moduleForeground":"#797593","symbolIcon.namespaceForeground":"#797593","symbolIcon.nullForeground":"#797593","symbolIcon.numberForeground":"#797593","symbolIcon.objectForeground":"#797593","symbolIcon.operatorForeground":"#797593","symbolIcon.packageForeground":"#797593","symbolIcon.propertyForeground":"#797593","symbolIcon.referenceForeground":"#797593","symbolIcon.snippetForeground":"#797593","symbolIcon.stringForeground":"#797593","symbolIcon.structForeground":"#797593","symbolIcon.textForeground":"#797593","symbolIcon.typeParameterForeground":"#797593","symbolIcon.unitForeground":"#797593","symbolIcon.variableForeground":"#797593","tab.activeBackground":"#6e6a860d","tab.activeForeground":"#575279","tab.activeModifiedBorder":"#56949f","tab.border":"#0000","tab.hoverBackground":"#6e6a8614","tab.inactiveBackground":"#0000","tab.inactiveForeground":"#797593","tab.inactiveModifiedBorder":"#56949f80","tab.lastPinnedBorder":"#9893a5","tab.unfocusedActiveBackground":"#0000","tab.unfocusedHoverBackground":"#0000","tab.unfocusedInactiveBackground":"#0000","tab.unfocusedInactiveModifiedBorder":"#56949f80","terminal.ansiBlack":"#f2e9e1","terminal.ansiBlue":"#56949f","terminal.ansiBrightBlack":"#797593","terminal.ansiBrightBlue":"#56949f","terminal.ansiBrightCyan":"#d7827e","terminal.ansiBrightGreen":"#286983","terminal.ansiBrightMagenta":"#907aa9","terminal.ansiBrightRed":"#b4637a","terminal.ansiBrightWhite":"#575279","terminal.ansiBrightYellow":"#ea9d34","terminal.ansiCyan":"#d7827e","terminal.ansiGreen":"#286983","terminal.ansiMagenta":"#907aa9","terminal.ansiRed":"#b4637a","terminal.ansiWhite":"#575279","terminal.ansiYellow":"#ea9d34","terminal.dropBackground":"#6e6a8614","terminal.foreground":"#575279","terminal.selectionBackground":"#6e6a8614","terminal.tab.activeBorder":"#575279","terminalCursor.background":"#575279","terminalCursor.foreground":"#9893a5","textBlockQuote.background":"#fffaf3","textBlockQuote.border":"#6e6a8614","textCodeBlock.background":"#fffaf3","textLink.activeForeground":"#907aa9e6","textLink.foreground":"#907aa9","textPreformat.foreground":"#ea9d34","textSeparator.foreground":"#797593","titleBar.activeBackground":"#faf4ed","titleBar.activeForeground":"#797593","titleBar.inactiveBackground":"#fffaf3","titleBar.inactiveForeground":"#797593","toolbar.activeBackground":"#6e6a8626","toolbar.hoverBackground":"#6e6a8614","tree.indentGuidesStroke":"#797593","walkThrough.embeddedEditorBackground":"#faf4ed","welcomePage.background":"#faf4ed","widget.shadow":"#fffaf34d","window.activeBorder":"#fffaf3","window.inactiveBorder":"#fffaf3"},"displayName":"Rosé Pine Dawn","name":"rose-pine-dawn","tokenColors":[{"scope":["comment"],"settings":{"fontStyle":"italic","foreground":"#9893a5"}},{"scope":["constant"],"settings":{"foreground":"#286983"}},{"scope":["constant.numeric","constant.language"],"settings":{"foreground":"#d7827e"}},{"scope":["entity.name"],"settings":{"foreground":"#d7827e"}},{"scope":["entity.name.section","entity.name.tag","entity.name.namespace","entity.name.type"],"settings":{"foreground":"#56949f"}},{"scope":["entity.other.attribute-name","entity.other.inherited-class"],"settings":{"fontStyle":"italic","foreground":"#907aa9"}},{"scope":["invalid"],"settings":{"foreground":"#b4637a"}},{"scope":["invalid.deprecated"],"settings":{"foreground":"#797593"}},{"scope":["keyword","variable.language.this"],"settings":{"foreground":"#286983"}},{"scope":["markup.inserted.diff"],"settings":{"foreground":"#56949f"}},{"scope":["markup.deleted.diff"],"settings":{"foreground":"#b4637a"}},{"scope":"markup.heading","settings":{"fontStyle":"bold"}},{"scope":"markup.bold.markdown","settings":{"fontStyle":"bold"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}},{"scope":["meta.diff.range"],"settings":{"foreground":"#907aa9"}},{"scope":["meta.tag","meta.brace"],"settings":{"foreground":"#575279"}},{"scope":["meta.import","meta.export"],"settings":{"foreground":"#286983"}},{"scope":"meta.directive.vue","settings":{"fontStyle":"italic","foreground":"#907aa9"}},{"scope":"meta.property-name.css","settings":{"foreground":"#56949f"}},{"scope":"meta.property-value.css","settings":{"foreground":"#ea9d34"}},{"scope":"meta.tag.other.html","settings":{"foreground":"#797593"}},{"scope":["punctuation"],"settings":{"foreground":"#797593"}},{"scope":["punctuation.accessor"],"settings":{"foreground":"#286983"}},{"scope":["punctuation.definition.string"],"settings":{"foreground":"#ea9d34"}},{"scope":["punctuation.definition.tag"],"settings":{"foreground":"#9893a5"}},{"scope":["storage.type","storage.modifier"],"settings":{"foreground":"#286983"}},{"scope":["string"],"settings":{"foreground":"#ea9d34"}},{"scope":["support"],"settings":{"foreground":"#56949f"}},{"scope":["support.constant"],"settings":{"foreground":"#ea9d34"}},{"scope":["support.function"],"settings":{"fontStyle":"italic","foreground":"#b4637a"}},{"scope":["variable"],"settings":{"fontStyle":"italic","foreground":"#d7827e"}},{"scope":["variable.other","variable.language","variable.function","variable.argument"],"settings":{"foreground":"#575279"}},{"scope":["variable.parameter"],"settings":{"foreground":"#907aa9"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-CnK8MTSM.js.map diff --git a/src/webview-ui/build/assets/chunk-CnK8MTSM.js.map b/src/webview-ui/build/assets/chunk-CnK8MTSM.js.map new file mode 100644 index 0000000000..072afc182b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CnK8MTSM.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-CnK8MTSM.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/rose-pine-dawn.mjs" + ], + "sourcesContent": [ + "/* Theme: rose-pine-dawn */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#575279\\\",\\\"activityBar.background\\\":\\\"#faf4ed\\\",\\\"activityBar.dropBorder\\\":\\\"#f2e9e1\\\",\\\"activityBar.foreground\\\":\\\"#575279\\\",\\\"activityBar.inactiveForeground\\\":\\\"#797593\\\",\\\"activityBarBadge.background\\\":\\\"#d7827e\\\",\\\"activityBarBadge.foreground\\\":\\\"#faf4ed\\\",\\\"badge.background\\\":\\\"#d7827e\\\",\\\"badge.foreground\\\":\\\"#faf4ed\\\",\\\"banner.background\\\":\\\"#fffaf3\\\",\\\"banner.foreground\\\":\\\"#575279\\\",\\\"banner.iconForeground\\\":\\\"#797593\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#d7827e\\\",\\\"breadcrumb.background\\\":\\\"#faf4ed\\\",\\\"breadcrumb.focusForeground\\\":\\\"#797593\\\",\\\"breadcrumb.foreground\\\":\\\"#9893a5\\\",\\\"breadcrumbPicker.background\\\":\\\"#fffaf3\\\",\\\"button.background\\\":\\\"#d7827e\\\",\\\"button.foreground\\\":\\\"#faf4ed\\\",\\\"button.hoverBackground\\\":\\\"#d7827ee6\\\",\\\"button.secondaryBackground\\\":\\\"#fffaf3\\\",\\\"button.secondaryForeground\\\":\\\"#575279\\\",\\\"button.secondaryHoverBackground\\\":\\\"#f2e9e1\\\",\\\"charts.blue\\\":\\\"#56949f\\\",\\\"charts.foreground\\\":\\\"#575279\\\",\\\"charts.green\\\":\\\"#286983\\\",\\\"charts.lines\\\":\\\"#797593\\\",\\\"charts.orange\\\":\\\"#d7827e\\\",\\\"charts.purple\\\":\\\"#907aa9\\\",\\\"charts.red\\\":\\\"#b4637a\\\",\\\"charts.yellow\\\":\\\"#ea9d34\\\",\\\"checkbox.background\\\":\\\"#fffaf3\\\",\\\"checkbox.border\\\":\\\"#6e6a8614\\\",\\\"checkbox.foreground\\\":\\\"#575279\\\",\\\"debugExceptionWidget.background\\\":\\\"#fffaf3\\\",\\\"debugExceptionWidget.border\\\":\\\"#6e6a8614\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#797593\\\",\\\"debugIcon.continueForeground\\\":\\\"#797593\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#797593\\\",\\\"debugIcon.pauseForeground\\\":\\\"#797593\\\",\\\"debugIcon.restartForeground\\\":\\\"#797593\\\",\\\"debugIcon.startForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#797593\\\",\\\"debugIcon.stopForeground\\\":\\\"#b4637a\\\",\\\"debugToolBar.background\\\":\\\"#fffaf3\\\",\\\"debugToolBar.border\\\":\\\"#f2e9e1\\\",\\\"descriptionForeground\\\":\\\"#797593\\\",\\\"diffEditor.border\\\":\\\"#f2e9e1\\\",\\\"diffEditor.diagonalFill\\\":\\\"#6e6a8626\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#56949f26\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#56949f26\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#b4637a26\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#b4637a26\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#56949f80\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#b4637a80\\\",\\\"dropdown.background\\\":\\\"#fffaf3\\\",\\\"dropdown.border\\\":\\\"#6e6a8614\\\",\\\"dropdown.foreground\\\":\\\"#575279\\\",\\\"dropdown.listBackground\\\":\\\"#fffaf3\\\",\\\"editor.background\\\":\\\"#faf4ed\\\",\\\"editor.findMatchBackground\\\":\\\"#ea9d3433\\\",\\\"editor.findMatchBorder\\\":\\\"#ea9d3480\\\",\\\"editor.findMatchForeground\\\":\\\"#575279\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"editor.findMatchHighlightForeground\\\":\\\"#575279cc\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#0000\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.foldBackground\\\":\\\"#6e6a8614\\\",\\\"editor.foreground\\\":\\\"#575279\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#0000\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#6e6a860d\\\",\\\"editor.inlineValuesBackground\\\":\\\"#0000\\\",\\\"editor.inlineValuesForeground\\\":\\\"#797593\\\",\\\"editor.lineHighlightBackground\\\":\\\"#6e6a860d\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#6e6a8614\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#6e6a860d\\\",\\\"editor.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"editor.selectionForeground\\\":\\\"#575279\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#faf4ed\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#fffaf3\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.snippetTabstopHighlightBorder\\\":\\\"#fffaf3\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.symbolHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.wordHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6e6a8614\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#6e6a8614\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b4637a80\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#28698380\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#ea9d3480\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#56949f80\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d7827e80\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#907aa980\\\",\\\"editorBracketMatch.background\\\":\\\"#0000\\\",\\\"editorBracketMatch.border\\\":\\\"#797593\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#286983\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#d7827e\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#907aa9\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#56949f\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#ea9d34\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#b4637a\\\",\\\"editorBracketPairGuide.background1\\\":\\\"#28698380\\\",\\\"editorBracketPairGuide.background2\\\":\\\"#d7827e80\\\",\\\"editorBracketPairGuide.background3\\\":\\\"#907aa980\\\",\\\"editorBracketPairGuide.background4\\\":\\\"#56949f80\\\",\\\"editorBracketPairGuide.background5\\\":\\\"#ea9d3480\\\",\\\"editorBracketPairGuide.background6\\\":\\\"#b4637a80\\\",\\\"editorCodeLens.foreground\\\":\\\"#d7827e\\\",\\\"editorCursor.background\\\":\\\"#575279\\\",\\\"editorCursor.foreground\\\":\\\"#9893a5\\\",\\\"editorError.border\\\":\\\"#0000\\\",\\\"editorError.foreground\\\":\\\"#b4637a\\\",\\\"editorGhostText.foreground\\\":\\\"#797593\\\",\\\"editorGroup.border\\\":\\\"#0000\\\",\\\"editorGroup.dropBackground\\\":\\\"#fffaf3\\\",\\\"editorGroup.emptyBackground\\\":\\\"#0000\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#0000\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#0000\\\",\\\"editorGutter.addedBackground\\\":\\\"#56949f\\\",\\\"editorGutter.background\\\":\\\"#faf4ed\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#f2e9e1\\\",\\\"editorGutter.deletedBackground\\\":\\\"#b4637a\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#907aa9\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#d7827e\\\",\\\"editorHint.border\\\":\\\"#0000\\\",\\\"editorHint.foreground\\\":\\\"#797593\\\",\\\"editorHoverWidget.background\\\":\\\"#fffaf3\\\",\\\"editorHoverWidget.border\\\":\\\"#9893a580\\\",\\\"editorHoverWidget.foreground\\\":\\\"#797593\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#575279\\\",\\\"editorHoverWidget.statusBarBackground\\\":\\\"#0000\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#9893a5\\\",\\\"editorIndentGuide.background1\\\":\\\"#6e6a8626\\\",\\\"editorInfo.border\\\":\\\"#f2e9e1\\\",\\\"editorInfo.foreground\\\":\\\"#56949f\\\",\\\"editorInlayHint.background\\\":\\\"#f2e9e180\\\",\\\"editorInlayHint.foreground\\\":\\\"#79759380\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#f2e9e180\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#907aa980\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#f2e9e180\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#56949f80\\\",\\\"editorLightBulb.foreground\\\":\\\"#286983\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#d7827e\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#575279\\\",\\\"editorLineNumber.foreground\\\":\\\"#797593\\\",\\\"editorLink.activeForeground\\\":\\\"#d7827e\\\",\\\"editorMarkerNavigation.background\\\":\\\"#fffaf3\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#fffaf3\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#fffaf3\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fffaf3\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#56949f80\\\",\\\"editorOverviewRuler.background\\\":\\\"#faf4ed\\\",\\\"editorOverviewRuler.border\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#797593\\\",\\\"editorOverviewRuler.commentForeground\\\":\\\"#79759380\\\",\\\"editorOverviewRuler.commentUnresolvedForeground\\\":\\\"#ea9d3480\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#6e6a860d\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#6e6a8614\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#b4637a80\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#b4637a80\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#907aa980\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#56949f80\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#d7827e80\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#ea9d3480\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#6e6a8614\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#6e6a8626\\\",\\\"editorPane.background\\\":\\\"#0000\\\",\\\"editorRuler.foreground\\\":\\\"#6e6a8626\\\",\\\"editorSuggestWidget.background\\\":\\\"#fffaf3\\\",\\\"editorSuggestWidget.border\\\":\\\"#0000\\\",\\\"editorSuggestWidget.focusHighlightForeground\\\":\\\"#d7827e\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#797593\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#d7827e\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#6e6a8614\\\",\\\"editorSuggestWidget.selectedForeground\\\":\\\"#575279\\\",\\\"editorSuggestWidget.selectedIconForeground\\\":\\\"#575279\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#0000\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#57527980\\\",\\\"editorWarning.border\\\":\\\"#0000\\\",\\\"editorWarning.foreground\\\":\\\"#ea9d34\\\",\\\"editorWhitespace.foreground\\\":\\\"#9893a580\\\",\\\"editorWidget.background\\\":\\\"#fffaf3\\\",\\\"editorWidget.border\\\":\\\"#f2e9e1\\\",\\\"editorWidget.foreground\\\":\\\"#797593\\\",\\\"editorWidget.resizeBorder\\\":\\\"#9893a5\\\",\\\"errorForeground\\\":\\\"#b4637a\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#907aa9\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#faf4ed\\\",\\\"extensionButton.prominentBackground\\\":\\\"#d7827e\\\",\\\"extensionButton.prominentForeground\\\":\\\"#faf4ed\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#d7827ee6\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#286983\\\",\\\"extensionIcon.starForeground\\\":\\\"#d7827e\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#907aa9\\\",\\\"focusBorder\\\":\\\"#6e6a8614\\\",\\\"foreground\\\":\\\"#575279\\\",\\\"git.blame.editorDecorationForeground\\\":\\\"#9893a5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#56949f\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b4637a\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#797593\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#9893a5\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d7827e\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#286983\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#b4637a\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#907aa9\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#ea9d34\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#ea9d34\\\",\\\"icon.foreground\\\":\\\"#797593\\\",\\\"input.background\\\":\\\"#f2e9e180\\\",\\\"input.border\\\":\\\"#6e6a8614\\\",\\\"input.foreground\\\":\\\"#575279\\\",\\\"input.placeholderForeground\\\":\\\"#797593\\\",\\\"inputOption.activeBackground\\\":\\\"#d7827e26\\\",\\\"inputOption.activeBorder\\\":\\\"#0000\\\",\\\"inputOption.activeForeground\\\":\\\"#d7827e\\\",\\\"inputValidation.errorBackground\\\":\\\"#fffaf3\\\",\\\"inputValidation.errorBorder\\\":\\\"#6e6a8626\\\",\\\"inputValidation.errorForeground\\\":\\\"#b4637a\\\",\\\"inputValidation.infoBackground\\\":\\\"#fffaf3\\\",\\\"inputValidation.infoBorder\\\":\\\"#6e6a8626\\\",\\\"inputValidation.infoForeground\\\":\\\"#56949f\\\",\\\"inputValidation.warningBackground\\\":\\\"#fffaf3\\\",\\\"inputValidation.warningBorder\\\":\\\"#6e6a8626\\\",\\\"inputValidation.warningForeground\\\":\\\"#56949f80\\\",\\\"keybindingLabel.background\\\":\\\"#f2e9e1\\\",\\\"keybindingLabel.border\\\":\\\"#6e6a8626\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#6e6a8626\\\",\\\"keybindingLabel.foreground\\\":\\\"#907aa9\\\",\\\"keybindingTable.headerBackground\\\":\\\"#f2e9e1\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#fffaf3\\\",\\\"list.activeSelectionBackground\\\":\\\"#6e6a8614\\\",\\\"list.activeSelectionForeground\\\":\\\"#575279\\\",\\\"list.deemphasizedForeground\\\":\\\"#797593\\\",\\\"list.dropBackground\\\":\\\"#fffaf3\\\",\\\"list.errorForeground\\\":\\\"#b4637a\\\",\\\"list.filterMatchBackground\\\":\\\"#fffaf3\\\",\\\"list.filterMatchBorder\\\":\\\"#d7827e\\\",\\\"list.focusBackground\\\":\\\"#6e6a8626\\\",\\\"list.focusForeground\\\":\\\"#575279\\\",\\\"list.focusOutline\\\":\\\"#6e6a8614\\\",\\\"list.highlightForeground\\\":\\\"#d7827e\\\",\\\"list.hoverBackground\\\":\\\"#6e6a860d\\\",\\\"list.hoverForeground\\\":\\\"#575279\\\",\\\"list.inactiveFocusBackground\\\":\\\"#6e6a860d\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#fffaf3\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#575279\\\",\\\"list.invalidItemForeground\\\":\\\"#b4637a\\\",\\\"list.warningForeground\\\":\\\"#ea9d34\\\",\\\"listFilterWidget.background\\\":\\\"#fffaf3\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#b4637a\\\",\\\"listFilterWidget.outline\\\":\\\"#f2e9e1\\\",\\\"menu.background\\\":\\\"#fffaf3\\\",\\\"menu.border\\\":\\\"#6e6a860d\\\",\\\"menu.foreground\\\":\\\"#575279\\\",\\\"menu.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"menu.selectionBorder\\\":\\\"#f2e9e1\\\",\\\"menu.selectionForeground\\\":\\\"#575279\\\",\\\"menu.separatorBackground\\\":\\\"#6e6a8626\\\",\\\"menubar.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"menubar.selectionBorder\\\":\\\"#6e6a860d\\\",\\\"menubar.selectionForeground\\\":\\\"#575279\\\",\\\"merge.border\\\":\\\"#f2e9e1\\\",\\\"merge.commonContentBackground\\\":\\\"#6e6a8614\\\",\\\"merge.commonHeaderBackground\\\":\\\"#6e6a8614\\\",\\\"merge.currentContentBackground\\\":\\\"#ea9d3480\\\",\\\"merge.currentHeaderBackground\\\":\\\"#ea9d3480\\\",\\\"merge.incomingContentBackground\\\":\\\"#56949f80\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#56949f80\\\",\\\"minimap.background\\\":\\\"#fffaf3\\\",\\\"minimap.errorHighlight\\\":\\\"#b4637a80\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6e6a8614\\\",\\\"minimap.selectionHighlight\\\":\\\"#6e6a8614\\\",\\\"minimap.warningHighlight\\\":\\\"#ea9d3480\\\",\\\"minimapGutter.addedBackground\\\":\\\"#56949f\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#b4637a\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#d7827e\\\",\\\"minimapSlider.activeBackground\\\":\\\"#6e6a8626\\\",\\\"minimapSlider.background\\\":\\\"#6e6a8614\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"notebook.cellBorderColor\\\":\\\"#56949f80\\\",\\\"notebook.cellEditorBackground\\\":\\\"#fffaf3\\\",\\\"notebook.cellHoverBackground\\\":\\\"#f2e9e180\\\",\\\"notebook.focusedCellBackground\\\":\\\"#6e6a860d\\\",\\\"notebook.focusedCellBorder\\\":\\\"#56949f\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#6e6a860d\\\",\\\"notificationCenter.border\\\":\\\"#6e6a8614\\\",\\\"notificationCenterHeader.background\\\":\\\"#fffaf3\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#797593\\\",\\\"notificationLink.foreground\\\":\\\"#907aa9\\\",\\\"notificationToast.border\\\":\\\"#6e6a8614\\\",\\\"notifications.background\\\":\\\"#fffaf3\\\",\\\"notifications.border\\\":\\\"#6e6a8614\\\",\\\"notifications.foreground\\\":\\\"#575279\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#b4637a\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#56949f\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ea9d34\\\",\\\"panel.background\\\":\\\"#fffaf3\\\",\\\"panel.border\\\":\\\"#0000\\\",\\\"panel.dropBorder\\\":\\\"#f2e9e1\\\",\\\"panelInput.border\\\":\\\"#fffaf3\\\",\\\"panelSection.dropBackground\\\":\\\"#6e6a8614\\\",\\\"panelSectionHeader.background\\\":\\\"#fffaf3\\\",\\\"panelSectionHeader.foreground\\\":\\\"#575279\\\",\\\"panelTitle.activeBorder\\\":\\\"#6e6a8626\\\",\\\"panelTitle.activeForeground\\\":\\\"#575279\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#797593\\\",\\\"peekView.border\\\":\\\"#f2e9e1\\\",\\\"peekViewEditor.background\\\":\\\"#fffaf3\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"peekViewResult.background\\\":\\\"#fffaf3\\\",\\\"peekViewResult.fileForeground\\\":\\\"#797593\\\",\\\"peekViewResult.lineForeground\\\":\\\"#797593\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#575279\\\",\\\"peekViewTitle.background\\\":\\\"#f2e9e1\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#797593\\\",\\\"pickerGroup.border\\\":\\\"#6e6a8626\\\",\\\"pickerGroup.foreground\\\":\\\"#907aa9\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#d7827e\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#b4637a\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#56949f\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#ea9d34\\\",\\\"progressBar.background\\\":\\\"#d7827e\\\",\\\"quickInput.background\\\":\\\"#fffaf3\\\",\\\"quickInput.foreground\\\":\\\"#797593\\\",\\\"quickInputList.focusBackground\\\":\\\"#6e6a8614\\\",\\\"quickInputList.focusForeground\\\":\\\"#575279\\\",\\\"quickInputList.focusIconForeground\\\":\\\"#575279\\\",\\\"scrollbar.shadow\\\":\\\"#fffaf34d\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#28698380\\\",\\\"scrollbarSlider.background\\\":\\\"#6e6a8614\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6e6a8626\\\",\\\"searchEditor.findMatchBackground\\\":\\\"#6e6a8614\\\",\\\"selection.background\\\":\\\"#6e6a8626\\\",\\\"settings.focusedRowBackground\\\":\\\"#fffaf3\\\",\\\"settings.focusedRowBorder\\\":\\\"#6e6a8614\\\",\\\"settings.headerForeground\\\":\\\"#575279\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#d7827e\\\",\\\"settings.rowHoverBackground\\\":\\\"#fffaf3\\\",\\\"sideBar.background\\\":\\\"#faf4ed\\\",\\\"sideBar.dropBackground\\\":\\\"#fffaf3\\\",\\\"sideBar.foreground\\\":\\\"#797593\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#6e6a8614\\\",\\\"statusBar.background\\\":\\\"#faf4ed\\\",\\\"statusBar.debuggingBackground\\\":\\\"#907aa9\\\",\\\"statusBar.debuggingForeground\\\":\\\"#faf4ed\\\",\\\"statusBar.foreground\\\":\\\"#797593\\\",\\\"statusBar.noFolderBackground\\\":\\\"#faf4ed\\\",\\\"statusBar.noFolderForeground\\\":\\\"#797593\\\",\\\"statusBarItem.activeBackground\\\":\\\"#6e6a8626\\\",\\\"statusBarItem.errorBackground\\\":\\\"#faf4ed\\\",\\\"statusBarItem.errorForeground\\\":\\\"#b4637a\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#f2e9e1\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#575279\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#6e6a8614\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#faf4ed\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#ea9d34\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#797593\\\",\\\"symbolIcon.classForeground\\\":\\\"#797593\\\",\\\"symbolIcon.colorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.constantForeground\\\":\\\"#797593\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#797593\\\",\\\"symbolIcon.eventForeground\\\":\\\"#797593\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#797593\\\",\\\"symbolIcon.fileForeground\\\":\\\"#797593\\\",\\\"symbolIcon.folderForeground\\\":\\\"#797593\\\",\\\"symbolIcon.functionForeground\\\":\\\"#797593\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#797593\\\",\\\"symbolIcon.keyForeground\\\":\\\"#797593\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#797593\\\",\\\"symbolIcon.methodForeground\\\":\\\"#797593\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#797593\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#797593\\\",\\\"symbolIcon.nullForeground\\\":\\\"#797593\\\",\\\"symbolIcon.numberForeground\\\":\\\"#797593\\\",\\\"symbolIcon.objectForeground\\\":\\\"#797593\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.packageForeground\\\":\\\"#797593\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#797593\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#797593\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#797593\\\",\\\"symbolIcon.stringForeground\\\":\\\"#797593\\\",\\\"symbolIcon.structForeground\\\":\\\"#797593\\\",\\\"symbolIcon.textForeground\\\":\\\"#797593\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#797593\\\",\\\"symbolIcon.unitForeground\\\":\\\"#797593\\\",\\\"symbolIcon.variableForeground\\\":\\\"#797593\\\",\\\"tab.activeBackground\\\":\\\"#6e6a860d\\\",\\\"tab.activeForeground\\\":\\\"#575279\\\",\\\"tab.activeModifiedBorder\\\":\\\"#56949f\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"tab.inactiveBackground\\\":\\\"#0000\\\",\\\"tab.inactiveForeground\\\":\\\"#797593\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#56949f80\\\",\\\"tab.lastPinnedBorder\\\":\\\"#9893a5\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#56949f80\\\",\\\"terminal.ansiBlack\\\":\\\"#f2e9e1\\\",\\\"terminal.ansiBlue\\\":\\\"#56949f\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#797593\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#56949f\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#d7827e\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#286983\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#907aa9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#b4637a\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#575279\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ea9d34\\\",\\\"terminal.ansiCyan\\\":\\\"#d7827e\\\",\\\"terminal.ansiGreen\\\":\\\"#286983\\\",\\\"terminal.ansiMagenta\\\":\\\"#907aa9\\\",\\\"terminal.ansiRed\\\":\\\"#b4637a\\\",\\\"terminal.ansiWhite\\\":\\\"#575279\\\",\\\"terminal.ansiYellow\\\":\\\"#ea9d34\\\",\\\"terminal.dropBackground\\\":\\\"#6e6a8614\\\",\\\"terminal.foreground\\\":\\\"#575279\\\",\\\"terminal.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"terminal.tab.activeBorder\\\":\\\"#575279\\\",\\\"terminalCursor.background\\\":\\\"#575279\\\",\\\"terminalCursor.foreground\\\":\\\"#9893a5\\\",\\\"textBlockQuote.background\\\":\\\"#fffaf3\\\",\\\"textBlockQuote.border\\\":\\\"#6e6a8614\\\",\\\"textCodeBlock.background\\\":\\\"#fffaf3\\\",\\\"textLink.activeForeground\\\":\\\"#907aa9e6\\\",\\\"textLink.foreground\\\":\\\"#907aa9\\\",\\\"textPreformat.foreground\\\":\\\"#ea9d34\\\",\\\"textSeparator.foreground\\\":\\\"#797593\\\",\\\"titleBar.activeBackground\\\":\\\"#faf4ed\\\",\\\"titleBar.activeForeground\\\":\\\"#797593\\\",\\\"titleBar.inactiveBackground\\\":\\\"#fffaf3\\\",\\\"titleBar.inactiveForeground\\\":\\\"#797593\\\",\\\"toolbar.activeBackground\\\":\\\"#6e6a8626\\\",\\\"toolbar.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"tree.indentGuidesStroke\\\":\\\"#797593\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#faf4ed\\\",\\\"welcomePage.background\\\":\\\"#faf4ed\\\",\\\"widget.shadow\\\":\\\"#fffaf34d\\\",\\\"window.activeBorder\\\":\\\"#fffaf3\\\",\\\"window.inactiveBorder\\\":\\\"#fffaf3\\\"},\\\"displayName\\\":\\\"Rosé Pine Dawn\\\",\\\"name\\\":\\\"rose-pine-dawn\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#9893a5\\\"}},{\\\"scope\\\":[\\\"constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7827e\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7827e\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\",\\\"entity.name.tag\\\",\\\"entity.name.namespace\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#907aa9\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4637a\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#797593\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"variable.language.this\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"markup.inserted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":[\\\"markup.deleted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4637a\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"meta.diff.range\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#907aa9\\\"}},{\\\"scope\\\":[\\\"meta.tag\\\",\\\"meta.brace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#575279\\\"}},{\\\"scope\\\":[\\\"meta.import\\\",\\\"meta.export\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":\\\"meta.directive.vue\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#907aa9\\\"}},{\\\"scope\\\":\\\"meta.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":\\\"meta.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":\\\"meta.tag.other.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#797593\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#797593\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9893a5\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":[\\\"support\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":[\\\"support.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b4637a\\\"}},{\\\"scope\\\":[\\\"variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d7827e\\\"}},{\\\"scope\\\":[\\\"variable.other\\\",\\\"variable.language\\\",\\\"variable.function\\\",\\\"variable.argument\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#575279\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#907aa9\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "rosePineDawn" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,+rqBAAq4uB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cne5dW8M.js b/src/webview-ui/build/assets/chunk-Cne5dW8M.js new file mode 100644 index 0000000000..5c451c18f0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cne5dW8M.js @@ -0,0 +1,10 @@ +import e from "./chunk-BMMyXqK5.js" +import n from "./chunk-DPfMkruS.js" +const a = Object.freeze( + JSON.parse( + '{"displayName":"Ruby Haml","fileTypes":["haml","html.haml"],"foldingStartMarker":"^\\\\s*([-#%.:=\\\\w].*)\\\\s$","foldingStopMarker":"^\\\\s*$","name":"haml","patterns":[{"begin":"^(\\\\s*)==","contentName":"string.quoted.double.ruby","end":"$\\\\n*","patterns":[{"include":"#interpolated_ruby"}]},{"begin":"^(\\\\s*):ruby","end":"^(?!\\\\1\\\\s+|$\\\\n*)","name":"source.ruby.embedded.filter.haml","patterns":[{"include":"source.ruby"}]},{"captures":{"1":{"name":"punctuation.definition.prolog.haml"}},"match":"^(!!!)($|\\\\s.*)","name":"meta.prolog.haml"},{"begin":"^(\\\\s*):javascript","end":"^(?!\\\\1\\\\s+|$\\\\n*)","name":"js.haml","patterns":[{"include":"source.js"}]},{"begin":"^(\\\\s*)%script","end":"^(?!\\\\1\\\\s+|$\\\\n*)","name":"js.inline.haml","patterns":[{"include":"source.js"}]},{"begin":"^(\\\\s*):ruby$","end":"^(?!\\\\1\\\\s+|$\\\\n*)","name":"source.ruby.embedded.filter.haml","patterns":[{"include":"source.ruby"}]},{"captures":{"1":{"name":"punctuation.section.comment.haml"}},"match":"^(\\\\s*)(/\\\\[[^]].*?$\\\\n?)","name":"comment.line.slash.haml"},{"begin":"^(\\\\s*)(-#|/|-\\\\s*/\\\\*+)","beginCaptures":{"2":{"name":"punctuation.section.comment.haml"}},"end":"^(?!\\\\1\\\\s+|\\\\n)","name":"comment.block.haml","patterns":[{"include":"text.haml"}]},{"begin":"^\\\\s*(?:((%)([-:\\\\w]+))|(?=[#.]))","captures":{"1":{"name":"meta.tag.haml"},"2":{"name":"punctuation.definition.tag.haml"},"3":{"name":"entity.name.tag.haml"}},"end":"$|(?![#(.\\\\[{]|&|[-=~]|!=|&=|/)","patterns":[{"begin":"==","contentName":"string.quoted.double.ruby","end":"$\\\\n?","patterns":[{"include":"#interpolated_ruby"}]},{"captures":{"1":{"name":"entity.other.attribute-name.class"}},"match":"(\\\\.[-:\\\\w]+)","name":"meta.selector.css"},{"captures":{"1":{"name":"entity.other.attribute-name.id"}},"match":"(#[-\\\\w]+)","name":"meta.selector.css"},{"begin":"(?|\\\\|=>|->>|\\\\*>|#-#|#=#|&&&","name":"keyword.operator.logical.systemverilog"},{"match":"@|##?|->|<->","name":"keyword.operator.channel.systemverilog"},{"match":"(?:[-%\\\\&*+/^|]|>>>?|<<>>?","name":"keyword.operator.bitwise.shift.systemverilog"},{"match":"~&|~\\\\|?|\\\\^~|~\\\\^|[\\\\&^{|]|'\\\\{|[:?}]","name":"keyword.operator.bitwise.systemverilog"},{"match":"<=?|>=?|==\\\\?|!=\\\\?|===|!==|==|!=","name":"keyword.operator.comparison.systemverilog"}]},"parameters":{"begin":"[\\\\t\\\\n\\\\r ]*(#)[\\\\t\\\\n\\\\r ]*(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.channel.systemverilog"},"2":{"name":"punctuation.section.parameters.begin"}},"end":"(\\\\))[\\\\t\\\\n\\\\r ]*(?=[(;A-Z\\\\\\\\_a-z]|$)","endCaptures":{"1":{"name":"punctuation.section.parameters.end"}},"name":"meta.parameters.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#strings"},{"include":"#system-tf"},{"include":"#functions"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"},{"include":"#module-binding"}]},"port-net-parameter":{"patterns":[{"captures":{"1":{"name":"support.type.direction.systemverilog"},"2":{"name":"storage.type.net.systemverilog"},"3":{"name":"support.type.scope.systemverilog"},"4":{"name":"keyword.operator.scope.systemverilog"},"5":{"patterns":[{"include":"#built-ins"},{"match":"[A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.user-defined.systemverilog"}]},"6":{"patterns":[{"include":"#modifiers"}]},"7":{"patterns":[{"include":"#selects"}]},"8":{"patterns":[{"include":"#constants"},{"include":"#identifiers"}]},"9":{"patterns":[{"include":"#selects"}]}},"match":",?[\\\\t\\\\n\\\\r ]*(?:\\\\b(output|input|inout|ref)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:\\\\b((?:|un)signed)\\\\b[\\\\t\\\\n\\\\r ]*)?(?:(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])[\\\\t\\\\n\\\\r ]*)?(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.systemverilog"}},"name":"string.quoted.other.lt-gt.include.systemverilog"}]},"sv-control":{"captures":{"1":{"name":"keyword.control.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\b"},"sv-control-begin":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(begin|fork)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.begin.systemverilog"},"sv-control-end":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"punctuation.definition.label.systemverilog"},"3":{"name":"entity.name.section.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\b(?:[\\\\t\\\\n\\\\r ]*(:)[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?","name":"meta.item.end.systemverilog"},"sv-cover-cross":{"captures":{"2":{"name":"entity.name.type.class.systemverilog"},"3":{"name":"keyword.operator.other.systemverilog"},"4":{"name":"keyword.control.systemverilog"}},"match":"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\t\\\\n\\\\r ]*(:))?[\\\\t\\\\n\\\\r ]*(c(?:overpoint|ross))[\\\\t\\\\n\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)","name":"meta.definition.systemverilog"},"sv-definition":{"captures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"entity.name.type.class.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\t\\\\n\\\\r ]+\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)\\\\b","name":"meta.definition.systemverilog"},"sv-local":{"captures":{"1":{"name":"keyword.other.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\b"},"sv-option":{"captures":{"1":{"name":"keyword.cover.systemverilog"}},"match":"[\\\\t\\\\n\\\\r ]*\\\\b(option)\\\\."},"sv-rand":{"match":"[\\\\t\\\\n\\\\r ]*\\\\brandc??\\\\b","name":"storage.type.rand.systemverilog"},"sv-std":{"match":"\\\\b(std)\\\\b::","name":"support.class.systemverilog"},"system-tf":{"match":"\\\\$[$0-9A-Z_a-z][$0-9A-Z_a-z]*\\\\b","name":"support.function.systemverilog"},"tables":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(table)\\\\b","beginCaptures":{"1":{"name":"keyword.table.systemverilog.begin"}},"end":"[\\\\t\\\\n\\\\r ]*\\\\b(endtable)\\\\b","endCaptures":{"1":{"name":"keyword.table.systemverilog.end"}},"name":"meta.table.systemverilog","patterns":[{"include":"#comments"},{"match":"\\\\b[01BFNPRXbfnprx]\\\\b","name":"constant.language.systemverilog"},{"match":"[-*?]","name":"constant.language.systemverilog"},{"captures":{"1":{"name":"constant.language.systemverilog"}},"match":"\\\\(([01?Xx]{2})\\\\)"},{"match":":","name":"punctuation.definition.label.systemverilog"},{"include":"#operators"},{"include":"#constants"},{"include":"#strings"},{"include":"#identifiers"}]},"typedef":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\t\\\\n\\\\r ]+\\\\b((?:|un)signed)\\\\b)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])?)?(?=[\\\\t\\\\n\\\\r ]*[A-Z\\\\\\\\_a-z])","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"patterns":[{"include":"#built-ins"},{"match":"\\\\bvirtual\\\\b","name":"storage.modifier.systemverilog"}]},"3":{"patterns":[{"include":"#modifiers"}]},"4":{"patterns":[{"include":"#selects"}]}},"end":";","endCaptures":{"0":{"name":"punctuation.definition.typedef.end.systemverilog"}},"name":"meta.typedef.systemverilog","patterns":[{"include":"#identifiers"},{"include":"#selects"}]},"typedef-enum-struct-union":{"begin":"[\\\\t\\\\n\\\\r ]*\\\\b(typedef)[\\\\t\\\\n\\\\r ]+(enum|struct|union(?:[\\\\t\\\\n\\\\r ]+tagged)?|class|interface[\\\\t\\\\n\\\\r ]+class)(?:[\\\\t\\\\n\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])?)?(?:[\\\\t\\\\n\\\\r ]+(packed))?(?:[\\\\t\\\\n\\\\r ]+((?:|un)signed))?(?=[\\\\t\\\\n\\\\r ]*(?:\\\\{|$))","beginCaptures":{"1":{"name":"keyword.control.systemverilog"},"2":{"name":"keyword.control.systemverilog"},"3":{"patterns":[{"include":"#built-ins"}]},"4":{"patterns":[{"include":"#selects"}]},"5":{"name":"storage.modifier.systemverilog"},"6":{"name":"storage.modifier.systemverilog"}},"end":"(?<=})[\\\\t\\\\n\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\t\\\\n\\\\r ])\\\\\\\\[!-~]+(?=$|[\\\\t\\\\n\\\\r ]))[\\\\t\\\\n\\\\r ]*(\\\\[[]\\\\t\\\\n\\\\r $%'-+\\\\--:A-\\\\[_-z]*])?[\\\\t\\\\n\\\\r ]*[,;]","endCaptures":{"1":{"name":"storage.type.systemverilog"},"2":{"patterns":[{"include":"#selects"}]}},"name":"meta.typedef-enum-struct-union.systemverilog","patterns":[{"include":"#port-net-parameter"},{"include":"#keywords"},{"include":"#base-grammar"},{"include":"#identifiers"}]}},"scopeName":"source.systemverilog"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-CnnmHF94.js.map diff --git a/src/webview-ui/build/assets/chunk-CnnmHF94.js.map b/src/webview-ui/build/assets/chunk-CnnmHF94.js.map new file mode 100644 index 0000000000..a2e06f45a3 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CnnmHF94.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CnnmHF94.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/system-verilog.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SystemVerilog\\\",\\\"fileTypes\\\":[\\\"v\\\",\\\"vh\\\",\\\"sv\\\",\\\"svh\\\"],\\\"name\\\":\\\"system-verilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#typedef-enum-struct-union\\\"},{\\\"include\\\":\\\"#typedef\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#tables\\\"},{\\\"include\\\":\\\"#function-task\\\"},{\\\"include\\\":\\\"#module-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#enum-struct-union\\\"},{\\\"include\\\":\\\"#sequence\\\"},{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#module-parameters\\\"},{\\\"include\\\":\\\"#module-no-parameters\\\"},{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"include\\\":\\\"#assertion\\\"},{\\\"include\\\":\\\"#bind-directive\\\"},{\\\"include\\\":\\\"#cast-operator\\\"},{\\\"include\\\":\\\"#storage-scope\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#imports\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#selects\\\"}],\\\"repository\\\":{\\\"all-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"include\\\":\\\"#modifiers\\\"}]},\\\"assertion\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.goto-label.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.sva.systemverilog\\\"}},\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(:)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(assert|assume|cover|restrict)\\\\\\\\b\\\"},\\\"attributes\\\":{\\\"begin\\\":\\\"(?|\\\\\\\\|=>|->>|\\\\\\\\*>|#-#|#=#|&&&\\\",\\\"name\\\":\\\"keyword.operator.logical.systemverilog\\\"},{\\\"match\\\":\\\"@|##?|->|<->\\\",\\\"name\\\":\\\"keyword.operator.channel.systemverilog\\\"},{\\\"match\\\":\\\"(?:[-%\\\\\\\\&*+/^|]|>>>?|<<>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.systemverilog\\\"},{\\\"match\\\":\\\"~&|~\\\\\\\\|?|\\\\\\\\^~|~\\\\\\\\^|[\\\\\\\\&^{|]|'\\\\\\\\{|[:?}]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.systemverilog\\\"},{\\\"match\\\":\\\"<=?|>=?|==\\\\\\\\?|!=\\\\\\\\?|===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.systemverilog\\\"}]},\\\"parameters\\\":{\\\"begin\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(#)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.channel.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin\\\"}},\\\"end\\\":\\\"(\\\\\\\\))[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(?=[(;A-Z\\\\\\\\\\\\\\\\_a-z]|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end\\\"}},\\\"name\\\":\\\"meta.parameters.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#system-tf\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"match\\\":\\\"\\\\\\\\bvirtual\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},{\\\"include\\\":\\\"#module-binding\\\"}]},\\\"port-net-parameter\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.direction.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.net.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.scope.systemverilog\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.scope.systemverilog\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"match\\\":\\\"[A-Z_a-z][$0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"storage.type.user-defined.systemverilog\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#modifiers\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"match\\\":\\\",?[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(?:\\\\\\\\b(output|input|inout|ref)\\\\\\\\b[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*)?(?:\\\\\\\\b(localparam|parameter|var|supply[01]|tri|triand|trior|trireg|tri[01]|uwire|wire|wand|wor)\\\\\\\\b[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*)?(?:\\\\\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)(::))?(?:([A-Z_a-z][$0-9A-Z_a-z]*)\\\\\\\\b[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*)?(?:\\\\\\\\b((?:|un)signed)\\\\\\\\b[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*)?(?:(\\\\\\\\[[]\\\\\\\\t\\\\\\\\n\\\\\\\\r $%'-+\\\\\\\\--:A-\\\\\\\\[_-z]*])[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*)?(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.systemverilog\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.systemverilog\\\"}]},\\\"sv-control\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"}},\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(initial|always|always_comb|always_ff|always_latch|final|assign|deassign|force|release|wait|forever|repeat|alias|while|for|iff??|else|casex??|casez|default|endcase|return|break|continue|do|foreach|clocking|coverpoint|property|bins|binsof|illegal_bins|ignore_bins|randcase|matches|solve|before|expect|cross|ref|srandom|struct|chandle|tagged|extern|throughout|timeprecision|timeunit|priority|type|union|wait_order|triggered|randsequence|context|pure|wildcard|new|forkjoin|unique0??|priority)\\\\\\\\b\\\"},\\\"sv-control-begin\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.label.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.section.systemverilog\\\"}},\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(begin|fork)\\\\\\\\b(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(:)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?\\\",\\\"name\\\":\\\"meta.item.begin.systemverilog\\\"},\\\"sv-control-end\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.label.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.section.systemverilog\\\"}},\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(end|endmodule|endinterface|endprogram|endchecker|endclass|endpackage|endconfig|endfunction|endtask|endproperty|endsequence|endgroup|endprimitive|endclocking|endgenerate|join|join_any|join_none)\\\\\\\\b(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(:)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*))?\\\",\\\"name\\\":\\\"meta.item.end.systemverilog\\\"},\\\"sv-cover-cross\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.other.systemverilog\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"}},\\\"match\\\":\\\"(([A-Z_a-z][$0-9A-Z_a-z]*)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(:))?[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(c(?:overpoint|ross))[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+([A-Z_a-z][$0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"sv-definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.systemverilog\\\"}},\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(primitive|package|constraint|interface|covergroup|program)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+\\\\\\\\b([A-Z_a-z][$0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.definition.systemverilog\\\"},\\\"sv-local\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.systemverilog\\\"}},\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(const|static|protected|virtual|localparam|parameter|local)\\\\\\\\b\\\"},\\\"sv-option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.cover.systemverilog\\\"}},\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(option)\\\\\\\\.\\\"},\\\"sv-rand\\\":{\\\"match\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\brandc??\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.rand.systemverilog\\\"},\\\"sv-std\\\":{\\\"match\\\":\\\"\\\\\\\\b(std)\\\\\\\\b::\\\",\\\"name\\\":\\\"support.class.systemverilog\\\"},\\\"system-tf\\\":{\\\"match\\\":\\\"\\\\\\\\$[$0-9A-Z_a-z][$0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.systemverilog\\\"},\\\"tables\\\":{\\\"begin\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(table)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.table.systemverilog.begin\\\"}},\\\"end\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(endtable)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.table.systemverilog.end\\\"}},\\\"name\\\":\\\"meta.table.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b[01BFNPRXbfnprx]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"match\\\":\\\"[-*?]\\\",\\\"name\\\":\\\"constant.language.systemverilog\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.systemverilog\\\"}},\\\"match\\\":\\\"\\\\\\\\(([01?Xx]{2})\\\\\\\\)\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.definition.label.systemverilog\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]},\\\"typedef\\\":{\\\"begin\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(typedef)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:([A-Z_a-z][$0-9A-Z_a-z]*)(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+\\\\\\\\b((?:|un)signed)\\\\\\\\b)?[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(\\\\\\\\[[]\\\\\\\\t\\\\\\\\n\\\\\\\\r $%'-+\\\\\\\\--:A-\\\\\\\\[_-z]*])?)?(?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*[A-Z\\\\\\\\\\\\\\\\_a-z])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"},{\\\"match\\\":\\\"\\\\\\\\bvirtual\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.systemverilog\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#modifiers\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typedef.end.systemverilog\\\"}},\\\"name\\\":\\\"meta.typedef.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#selects\\\"}]},\\\"typedef-enum-struct-union\\\":{\\\"begin\\\":\\\"[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*\\\\\\\\b(typedef)[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(enum|struct|union(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+tagged)?|class|interface[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+class)(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?!(?:pack|sign|unsign)ed)([A-Z_a-z][$0-9A-Z_a-z]*)?[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(\\\\\\\\[[]\\\\\\\\t\\\\\\\\n\\\\\\\\r $%'-+\\\\\\\\--:A-\\\\\\\\[_-z]*])?)?(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(packed))?(?:[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+((?:|un)signed))?(?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(?:\\\\\\\\{|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.systemverilog\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#built-ins\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.modifier.systemverilog\\\"}},\\\"end\\\":\\\"(?<=})[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*([A-Z_a-z][$0-9A-Z_a-z]*|(?<=^|[\\\\\\\\t\\\\\\\\n\\\\\\\\r ])\\\\\\\\\\\\\\\\[!-~]+(?=$|[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*(\\\\\\\\[[]\\\\\\\\t\\\\\\\\n\\\\\\\\r $%'-+\\\\\\\\--:A-\\\\\\\\[_-z]*])?[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]*[,;]\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.systemverilog\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#selects\\\"}]}},\\\"name\\\":\\\"meta.typedef-enum-struct-union.systemverilog\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#port-net-parameter\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#base-grammar\\\"},{\\\"include\\\":\\\"#identifiers\\\"}]}},\\\"scopeName\\\":\\\"source.systemverilog\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "systemVerilog" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2hzBAAg03B,CAAC,EAEx13BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cno5XSCQ.js b/src/webview-ui/build/assets/chunk-Cno5XSCQ.js new file mode 100644 index 0000000000..5402c1be14 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cno5XSCQ.js @@ -0,0 +1,25 @@ +import { a as n, b as e, c as a, d as t, e as s } from "./chunk-sYKpKAhk.js" +import r from "./chunk-vbB5lEOJ.js" +import "./chunk-CXhxxCfG.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +const i = Object.freeze( + JSON.parse( + '{"injectTo":["source.ts.ng"],"injectionSelector":"L:source.ts#meta.decorator.ts -comment","name":"angular-inline-style","patterns":[{"include":"#inlineStyles"}],"repository":{"inlineStyles":{"begin":"(styles)\\\\s*(:)","beginCaptures":{"1":{"name":"meta.object-literal.key.ts"},"2":{"name":"meta.object-literal.key.ts punctuation.separator.key-value.ts"}},"end":"(?=[,}])","patterns":[{"include":"#tsParenExpression"},{"include":"#tsBracketExpression"},{"include":"#style"}]},"style":{"begin":"\\\\s*([\\"\'`|])","beginCaptures":{"1":{"name":"string"}},"contentName":"source.css.scss","end":"\\\\1","endCaptures":{"0":{"name":"string"}},"patterns":[{"include":"source.css.scss"}]},"tsBracketExpression":{"begin":"\\\\G\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.array.literal.ts meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.array.literal.ts meta.brace.square.ts"}},"patterns":[{"include":"#style"}]},"tsParenExpression":{"begin":"\\\\G\\\\s*(\\\\()","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"$self"},{"include":"#tsBracketExpression"},{"include":"#style"}]}},"scopeName":"inline-styles.ng","embeddedLangs":["scss"]}', + ), + ), + o = [...r, i], + c = Object.freeze( + JSON.parse( + '{"injectTo":["source.ts.ng"],"injectionSelector":"L:meta.decorator.ts -comment -text.html","name":"angular-inline-template","patterns":[{"include":"#inlineTemplate"}],"repository":{"inlineTemplate":{"begin":"(template)\\\\s*(:)","beginCaptures":{"1":{"name":"meta.object-literal.key.ts"},"2":{"name":"meta.object-literal.key.ts punctuation.separator.key-value.ts"}},"end":"(?=[,}])","patterns":[{"include":"#tsParenExpression"},{"include":"#ngTemplate"}]},"ngTemplate":{"begin":"\\\\G\\\\s*([\\"\'`|])","beginCaptures":{"1":{"name":"string"}},"contentName":"text.html.derivative.ng","end":"\\\\1","endCaptures":{"0":{"name":"string"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"tsParenExpression":{"begin":"\\\\G\\\\s*(\\\\()","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#tsParenExpression"},{"include":"#ngTemplate"}]}},"scopeName":"inline-template.ng","embeddedLangs":["angular-html","angular-template"]}', + ), + ), + l = [...n, ...e, c], + m = Object.freeze( + JSON.parse( + '{"displayName":"Angular TypeScript","name":"angular-ts","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"((?<=[}\\\\S])(?)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.ts","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]},{"begin":"(?<=^)\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*>)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]}]},"class-declaration":{"begin":"(?\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.ts","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.ts"},"2":{"name":"entity.name.tag.directive.ts"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.ts"}},"name":"meta.tag.ts","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"()|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.ts"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.ts"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|\'(?:\\\\*(?!/)|\\\\\\\\(?!\')|[^*\\\\\\\\])*?\'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"\']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"keyword.operator.assignment.compound.ts"},"3":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.ts variable.object.property.ts"},{"match":"\\\\?","name":"keyword.operator.optional.ts"},{"match":"!","name":"keyword.operator.definiteassignment.ts"}]},"for-loop":{"begin":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.ts punctuation.accessor.optional.ts"},{"match":"!","name":"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"}]},"function-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.ts"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"if-statement":{"patterns":[{"begin":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"keyword.operator.new.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.property.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"\'`])","end":"(?=:)|((?<=[\\"\'`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.ts"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?])","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts"}},"contentName":"meta.arrow.ts meta.return.type.arrow.ts","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"begin":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.ts"},"2":{"name":"support.type.object.module.ts"},"3":{"name":"punctuation.accessor.ts"},"4":{"name":"punctuation.accessor.optional.ts"},"5":{"name":"support.type.object.module.ts"}},"match":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.ts"}},"end":"(?)(??{}]|//|$)","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"(?)(??{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.ts"},"2":{"name":"entity.name.type.ts"},"3":{"name":"keyword.operator.expression.extends.ts"}},"match":"(?)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.ts"},"2":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?=\\\\S)"},{"match":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"match":"(?)","name":"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(??{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},"end":"(?=$|^|[,;=}]|((?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts entity.name.function.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((??\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(?)\\\",\\\"name\\\":\\\"meta.arrow.ts\\\"},{\\\"begin\\\":\\\"(?:(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"cast.expr.ts\\\"},{\\\"begin\\\":\\\"(??^|]|[^$_[:alnum:]](?:\\\\\\\\+\\\\\\\\+|--)|[^+]\\\\\\\\+|[^-]-)\\\\\\\\s*(<)(?!)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=^)\\\\\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.ts\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"}},\\\"name\\\":\\\"meta.tag.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"()|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.ts\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.ts\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"}},\\\"match\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.ts\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(??{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?≠≥]|>=|≤|<=)","name":"keyword.operator.comparison.applescript"},{"match":"(?i)\\\\b(and|or|div|mod|as|not|(a\\\\s+)?(ref(?:(\\\\s+to)?|erence\\\\s+to))|equal(s|\\\\s+to)|contains?|comes\\\\s+(after|before)|(start|begin|end)s?\\\\s+with)\\\\b","name":"keyword.operator.word.applescript"},{"match":"(?i)\\\\b(is(n't|\\\\s+not)?(\\\\s+(equal(\\\\s+to)?|(less|greater)\\\\s+than(\\\\s+or\\\\s+equal(\\\\s+to)?)?|in|contained\\\\s+by))?|does(n't|\\\\s+not)\\\\s+(equal|come\\\\s+(before|after)|contain))\\\\b","name":"keyword.operator.word.applescript"},{"match":"\\\\b(?i:some|every|whose|where|that|id|index|\\\\d+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|front|back|middle|named|beginning|end|from|to|thr(u|ough)|before|(front|back|beginning|end)\\\\s+of|after|behind|in\\\\s+(front|back|beginning|end)\\\\s+of)\\\\b","name":"keyword.operator.reference.applescript"},{"match":"\\\\b(?i:continue|return|exit(\\\\s+repeat)?)\\\\b","name":"keyword.control.loop.applescript"},{"match":"\\\\b(?i:about|above|after|against|and|apart\\\\s+from|around|as|aside\\\\s+from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contains??|contains|copy|div|does|eighth|else|end|equals??|error|every|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead\\\\s+of|into|is|its??|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|out\\\\s+of|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|then??|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\\\b","name":"keyword.other.applescript"}]},"built-in.punctuation":{"patterns":[{"match":"¬","name":"punctuation.separator.continuation.line.applescript"},{"match":":","name":"punctuation.separator.key-value.property.applescript"},{"match":"[()]","name":"punctuation.section.group.applescript"}]},"built-in.support":{"patterns":[{"match":"\\\\b(?i:POSIX\\\\s+path|frontmost|id|name|running|version|days?|weekdays?|months?|years?|time|date\\\\s+string|time\\\\s+string|length|rest|reverse|items?|contents|quoted\\\\s+form|characters?|paragraphs?|words?)\\\\b","name":"support.function.built-in.property.applescript"},{"match":"\\\\b(?i:activate|log|clipboard\\\\s+info|set\\\\s+the\\\\s+clipboard\\\\s+to|the\\\\s+clipboard|info\\\\s+for|list\\\\s+(disks|folder)|mount\\\\s+volume|path\\\\s+to(\\\\s+resource)?|close\\\\s+access|get\\\\s+eof|open\\\\s+for\\\\s+access|read|set\\\\s+eof|write|open\\\\s+location|current\\\\s+date|do\\\\s+shell\\\\s+script|get\\\\s+volume\\\\s+settings|random\\\\s+number|round|set\\\\s+volume|system\\\\s+(attribute|info)|time\\\\s+to\\\\s+GMT|load\\\\s+script|run\\\\s+script|scripting\\\\s+components|store\\\\s+script|copy|count|get|launch|run|set|ASCII\\\\s+(character|number)|localized\\\\s+string|offset|summarize|beep|choose\\\\s+(application|color|file(\\\\s+name)?|folder|from\\\\s+list|remote\\\\s+application|URL)|delay|display\\\\s+(alert|dialog)|say)\\\\b","name":"support.function.built-in.command.applescript"},{"match":"\\\\b(?i:get|run)\\\\b","name":"support.function.built-in.applescript"},{"match":"\\\\b(?i:anything|data|text|upper\\\\s+case|propert(y|ies))\\\\b","name":"support.class.built-in.applescript"},{"match":"\\\\b(?i:alias|class)(es)?\\\\b","name":"support.class.built-in.applescript"},{"match":"\\\\b(?i:app(lication)?|boolean|character|constant|date|event|file(\\\\s+specification)?|handler|integer|item|keystroke|linked\\\\s+list|list|machine|number|picture|preposition|POSIX\\\\s+file|real|record|reference(\\\\s+form)?|RGB\\\\s+color|script|sound|text\\\\s+item|type\\\\s+class|vector|writing\\\\s+code(\\\\s+info)?|zone|((international|styled(\\\\s+(Clipboard|Unicode))?|Unicode)\\\\s+)?text|((C|encoded|Pascal)\\\\s+)?string)s?\\\\b","name":"support.class.built-in.applescript"},{"match":"(?i)\\\\b((cubic\\\\s+(centi)?|square\\\\s+(kilo)?|centi|kilo)met(er|re)s|square\\\\s+(yards|feet|miles)|cubic\\\\s+(yards|feet|inches)|miles|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees\\\\s+(Celsius|Fahrenheit|Kelvin))\\\\b","name":"support.class.built-in.unit.applescript"},{"match":"\\\\b(?i:seconds|minutes|hours|days)\\\\b","name":"support.class.built-in.time.applescript"}]},"comments":{"patterns":[{"begin":"^\\\\s*(#!)","captures":{"1":{"name":"punctuation.definition.comment.applescript"}},"end":"\\\\n","name":"comment.line.number-sign.applescript"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.applescript"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.applescript"}},"end":"\\\\n","name":"comment.line.number-sign.applescript"}]},{"begin":"(^[\\\\t ]+)?(?=--)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.applescript"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.applescript"}},"end":"\\\\n","name":"comment.line.double-dash.applescript"}]},{"begin":"\\\\(\\\\*","captures":{"0":{"name":"punctuation.definition.comment.applescript"}},"end":"\\\\*\\\\)","name":"comment.block.applescript","patterns":[{"include":"#comments.nested"}]}]},"comments.nested":{"patterns":[{"begin":"\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.applescript"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.applescript"}},"name":"comment.block.applescript","patterns":[{"include":"#comments.nested"}]}]},"data-structures":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.applescript"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.array.end.applescript"}},"name":"meta.array.applescript","patterns":[{"captures":{"1":{"name":"constant.other.key.applescript"},"2":{"name":"meta.identifier.applescript"},"3":{"name":"punctuation.definition.identifier.applescript"},"4":{"name":"punctuation.definition.identifier.applescript"},"5":{"name":"punctuation.separator.key-value.applescript"}},"match":"(\\\\w+|((\\\\|)[^\\\\n|]*(\\\\|)))\\\\s*(:)"},{"match":":","name":"punctuation.separator.key-value.applescript"},{"match":",","name":"punctuation.separator.array.applescript"},{"include":"#inline"}]},{"begin":"(?:(?<=application )|(?<=app ))(\\")","captures":{"1":{"name":"punctuation.definition.string.applescript"}},"end":"(\\")","name":"string.quoted.double.application-name.applescript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.applescript"}]},{"begin":"(\\")","captures":{"1":{"name":"punctuation.definition.string.applescript"}},"end":"(\\")","name":"string.quoted.double.applescript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.applescript"}]},{"captures":{"1":{"name":"punctuation.definition.identifier.applescript"},"2":{"name":"punctuation.definition.identifier.applescript"}},"match":"(\\\\|)[^\\\\n|]*(\\\\|)","name":"meta.identifier.applescript"},{"captures":{"1":{"name":"punctuation.definition.data.applescript"},"2":{"name":"support.class.built-in.applescript"},"3":{"name":"storage.type.utxt.applescript"},"4":{"name":"string.unquoted.data.applescript"},"5":{"name":"punctuation.definition.data.applescript"},"6":{"name":"keyword.operator.applescript"},"7":{"name":"support.class.built-in.applescript"}},"match":"(«)(data) (ut(?:xt|f8))(\\\\h*)(»)(?:\\\\s+(as)\\\\s+(?i:Unicode\\\\s+text))?","name":"constant.other.data.utxt.applescript"},{"begin":"(«)(\\\\w+)\\\\b(?=\\\\s)","beginCaptures":{"1":{"name":"punctuation.definition.data.applescript"},"2":{"name":"support.class.built-in.applescript"}},"end":"(»)","endCaptures":{"1":{"name":"punctuation.definition.data.applescript"}},"name":"constant.other.data.raw.applescript"},{"captures":{"1":{"name":"punctuation.definition.data.applescript"},"2":{"name":"punctuation.definition.data.applescript"}},"match":"(«)[^»]*(»)","name":"invalid.illegal.data.applescript"}]},"finder":{"patterns":[{"match":"\\\\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\\\\b","name":"support.class.finder.items.applescript"},{"match":"\\\\b((Finder|desktop|information|preferences|clipping) )windows?\\\\b","name":"support.class.finder.window-classes.applescript"},{"match":"\\\\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\\\\b","name":"support.class.finder.type-definitions.applescript"},{"match":"\\\\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\\\\b","name":"support.function.finder.items.applescript"},{"match":"\\\\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\\\\b","name":"support.constant.finder.applescript"},{"match":"\\\\b(visible)\\\\b","name":"support.variable.finder.applescript"}]},"inline":{"patterns":[{"include":"#comments"},{"include":"#data-structures"},{"include":"#built-in"},{"include":"#standardadditions"}]},"itunes":{"patterns":[{"match":"\\\\b(artwork|application|encoder|EQ preset|item|source|visual|(EQ |browser )?window|((audio CD|device|shared|URL|file) )?track|playlist window|((audio CD|device|radio tuner|library|folder|user) )?playlist)s?\\\\b","name":"support.class.itunes.applescript"},{"match":"\\\\b(add|back track|convert|fast forward|(next|previous) track|pause|play(pause)?|refresh|resume|rewind|search|stop|update|eject|subscribe|update(Podcast|AllPodcasts)|download)\\\\b","name":"support.function.itunes.applescript"},{"match":"\\\\b(current (playlist|stream (title|URL)|track)|player state)\\\\b","name":"support.constant.itunes.applescript"},{"match":"\\\\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\\\\b","name":"support.variable.itunes.applescript"}]},"standard-suite":{"patterns":[{"match":"\\\\b(colors?|documents?|items?|windows?)\\\\b","name":"support.class.standard-suite.applescript"},{"match":"\\\\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\\\\b","name":"support.function.standard-suite.applescript"},{"match":"\\\\b(name|frontmost|version)\\\\b","name":"support.constant.standard-suite.applescript"},{"match":"\\\\b(selection)\\\\b","name":"support.variable.standard-suite.applescript"},{"match":"\\\\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\\\\b","name":"support.class.text-suite.applescript"}]},"standardadditions":{"patterns":[{"match":"\\\\b((alert|dialog) reply)\\\\b","name":"support.class.standardadditions.user-interaction.applescript"},{"match":"\\\\b(file information)\\\\b","name":"support.class.standardadditions.file.applescript"},{"match":"\\\\b(POSIX files?|system information|volume settings)\\\\b","name":"support.class.standardadditions.miscellaneous.applescript"},{"match":"\\\\b(URLs?|internet address(es)?|web pages?|FTP items?)\\\\b","name":"support.class.standardadditions.internet.applescript"},{"match":"\\\\b(info for|list (disks|folder)|mount volume|path to( resource)?)\\\\b","name":"support.function.standardadditions.file.applescript"},{"match":"\\\\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\\\\b","name":"support.function.standardadditions.user-interaction.applescript"},{"match":"\\\\b(ASCII (character|number)|localized string|offset|summarize)\\\\b","name":"support.function.standardadditions.string.applescript"},{"match":"\\\\b(set the clipboard to|the clipboard|clipboard info)\\\\b","name":"support.function.standardadditions.clipboard.applescript"},{"match":"\\\\b(open for access|close access|read|write|get eof|set eof)\\\\b","name":"support.function.standardadditions.file-i-o.applescript"},{"match":"\\\\b((load|store|run) script|scripting components)\\\\b","name":"support.function.standardadditions.scripting.applescript"},{"match":"\\\\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\\\\b","name":"support.function.standardadditions.miscellaneous.applescript"},{"match":"\\\\b(opening folder|((?:clos|mov)ing) folder window for|adding folder items to|removing folder items from)\\\\b","name":"support.function.standardadditions.folder-actions.applescript"},{"match":"\\\\b(open location|handle CGI request)\\\\b","name":"support.function.standardadditions.internet.applescript"}]},"system-events":{"patterns":[{"match":"\\\\b(audio (data|file))\\\\b","name":"support.class.system-events.audio-file.applescript"},{"match":"\\\\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\\\\b","name":"support.class.system-events.disk-folder-file.applescript"},{"match":"\\\\b(delete|open|move)\\\\b","name":"support.function.system-events.disk-folder-file.applescript"},{"match":"\\\\b(folder actions?|scripts?)\\\\b","name":"support.class.system-events.folder-actions.applescript"},{"match":"\\\\b(attach action to|attached scripts|edit action of|remove action from)\\\\b","name":"support.function.system-events.folder-actions.applescript"},{"match":"\\\\b(movie (?:data|file))\\\\b","name":"support.class.system-events.movie-file.applescript"},{"match":"\\\\b(log out|restart|shut down|sleep)\\\\b","name":"support.function.system-events.power.applescript"},{"match":"\\\\b(((application |desk accessory )?process|(c(?:heck|ombo ))?box)(es)?|(action|attribute|browser|(busy|progress|relevance) indicator|color well|column|drawer|group|grow area|image|incrementor|list|menu( bar)?( item)?|(menu |pop up |radio )?button|outline|(radio|tab|splitter) group|row|scroll (area|bar)|sheet|slider|splitter|static text|table|text (area|field)|tool bar|UI element|window)s?)\\\\b","name":"support.class.system-events.processes.applescript"},{"match":"\\\\b(click|key code|keystroke|perform|select)\\\\b","name":"support.function.system-events.processes.applescript"},{"match":"\\\\b(property list (file|item))\\\\b","name":"support.class.system-events.property-list.applescript"},{"match":"\\\\b(annotation|QuickTime (data|file)|track)s?\\\\b","name":"support.class.system-events.quicktime-file.applescript"},{"match":"\\\\b((abort|begin|end) transaction)\\\\b","name":"support.function.system-events.system-events.applescript"},{"match":"\\\\b(XML (attribute|data|element|file)s?)\\\\b","name":"support.class.system-events.xml.applescript"},{"match":"\\\\b(print settings|users?|login items?)\\\\b","name":"support.class.sytem-events.other.applescript"}]},"textmate":{"patterns":[{"match":"\\\\b(print settings)\\\\b","name":"support.class.textmate.applescript"},{"match":"\\\\b(get url|insert|reload bundles)\\\\b","name":"support.function.textmate.applescript"}]}},"scopeName":"source.applescript"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-Co6uUVPk.js.map diff --git a/src/webview-ui/build/assets/chunk-Co6uUVPk.js.map b/src/webview-ui/build/assets/chunk-Co6uUVPk.js.map new file mode 100644 index 0000000000..1bdf4305cd --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Co6uUVPk.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Co6uUVPk.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/applescript.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"AppleScript\\\",\\\"fileTypes\\\":[\\\"applescript\\\",\\\"scpt\\\",\\\"script editor\\\"],\\\"firstLineMatch\\\":\\\"^#!.*(osascript)\\\",\\\"name\\\":\\\"applescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#blocks\\\"},{\\\"include\\\":\\\"#inline\\\"}],\\\"repository\\\":{\\\"attributes.considering-ignoring\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.attributes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.attributes.and.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:case|diacriticals|hyphens|numeric\\\\\\\\s+strings|punctuation|white\\\\\\\\s+space)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.attributes.text.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:application\\\\\\\\s+responses)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.attributes.application.applescript\\\"}]},\\\"blocks\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(script)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.script.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.script-object.applescript\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(end(?:\\\\\\\\s+script)?)(?=\\\\\\\\s*(--.*?)?$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.script.applescript\\\"}},\\\"name\\\":\\\"meta.block.script.applescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(to|on)\\\\\\\\s+(\\\\\\\\w+)(\\\\\\\\()((?:[,:{}\\\\\\\\s]*\\\\\\\\w+{0,1})*)(\\\\\\\\))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.handler.applescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.applescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.handler.applescript\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.applescript\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(end)(?:\\\\\\\\s+(\\\\\\\\2))?(?=\\\\\\\\s*(--.*?)?$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"}},\\\"name\\\":\\\"meta.function.positional.applescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(to|on)\\\\\\\\s+(\\\\\\\\w+)(?:\\\\\\\\s+(of|in)\\\\\\\\s+(\\\\\\\\w+))?(?=\\\\\\\\s+(above|against|apart\\\\\\\\s+from|around|aside\\\\\\\\s+from|at|below|beneath|beside|between|by|for|from|instead\\\\\\\\s+of|into|on|onto|out\\\\\\\\s+of|over|thru|under)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.handler.applescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.handler.direct.applescript\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(end)(?:\\\\\\\\s+(\\\\\\\\2))?(?=\\\\\\\\s*(--.*?)?$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"}},\\\"name\\\":\\\"meta.function.prepositional.applescript\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.preposition.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.handler.applescript\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?i:above|against|apart\\\\\\\\s+from|around|aside\\\\\\\\s+from|at|below|beneath|beside|between|by|for|from|instead\\\\\\\\s+of|into|on|onto|out\\\\\\\\s+of|over|thru|under)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(to|on)\\\\\\\\s+(\\\\\\\\w+)(?=\\\\\\\\s*(--.*?)?$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.handler.applescript\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(end)(?:\\\\\\\\s+(\\\\\\\\2))?(?=\\\\\\\\s*(--.*?)?$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.applescript\\\"}},\\\"name\\\":\\\"meta.function.parameterless.applescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#blocks.tell\\\"},{\\\"include\\\":\\\"#blocks.repeat\\\"},{\\\"include\\\":\\\"#blocks.statement\\\"},{\\\"include\\\":\\\"#blocks.other\\\"}]},\\\"blocks.other\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(considering)\\\\\\\\b\\\",\\\"end\\\":\\\"^\\\\\\\\s*(end(?:\\\\\\\\s+considering)?)(?=\\\\\\\\s*(--.*?)?$)\\\",\\\"name\\\":\\\"meta.block.considering.applescript\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=considering)\\\",\\\"end\\\":\\\"(?≠≥]|>=|≤|<=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.applescript\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(and|or|div|mod|as|not|(a\\\\\\\\s+)?(ref(?:(\\\\\\\\s+to)?|erence\\\\\\\\s+to))|equal(s|\\\\\\\\s+to)|contains?|comes\\\\\\\\s+(after|before)|(start|begin|end)s?\\\\\\\\s+with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.applescript\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(is(n't|\\\\\\\\s+not)?(\\\\\\\\s+(equal(\\\\\\\\s+to)?|(less|greater)\\\\\\\\s+than(\\\\\\\\s+or\\\\\\\\s+equal(\\\\\\\\s+to)?)?|in|contained\\\\\\\\s+by))?|does(n't|\\\\\\\\s+not)\\\\\\\\s+(equal|come\\\\\\\\s+(before|after)|contain))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:some|every|whose|where|that|id|index|\\\\\\\\d+(st|nd|rd|th)|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|front|back|middle|named|beginning|end|from|to|thr(u|ough)|before|(front|back|beginning|end)\\\\\\\\s+of|after|behind|in\\\\\\\\s+(front|back|beginning|end)\\\\\\\\s+of)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.reference.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:continue|return|exit(\\\\\\\\s+repeat)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.loop.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:about|above|after|against|and|apart\\\\\\\\s+from|around|as|aside\\\\\\\\s+from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|contains??|contains|copy|div|does|eighth|else|end|equals??|error|every|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead\\\\\\\\s+of|into|is|its??|last|local|me|middle|mod|my|ninth|not|of|on|onto|or|out\\\\\\\\s+of|over|prop|property|put|ref|reference|repeat|returning|script|second|set|seventh|since|sixth|some|tell|tenth|that|then??|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.applescript\\\"}]},\\\"built-in.punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"¬\\\",\\\"name\\\":\\\"punctuation.separator.continuation.line.applescript\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.property.applescript\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.group.applescript\\\"}]},\\\"built-in.support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?i:POSIX\\\\\\\\s+path|frontmost|id|name|running|version|days?|weekdays?|months?|years?|time|date\\\\\\\\s+string|time\\\\\\\\s+string|length|rest|reverse|items?|contents|quoted\\\\\\\\s+form|characters?|paragraphs?|words?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.built-in.property.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:activate|log|clipboard\\\\\\\\s+info|set\\\\\\\\s+the\\\\\\\\s+clipboard\\\\\\\\s+to|the\\\\\\\\s+clipboard|info\\\\\\\\s+for|list\\\\\\\\s+(disks|folder)|mount\\\\\\\\s+volume|path\\\\\\\\s+to(\\\\\\\\s+resource)?|close\\\\\\\\s+access|get\\\\\\\\s+eof|open\\\\\\\\s+for\\\\\\\\s+access|read|set\\\\\\\\s+eof|write|open\\\\\\\\s+location|current\\\\\\\\s+date|do\\\\\\\\s+shell\\\\\\\\s+script|get\\\\\\\\s+volume\\\\\\\\s+settings|random\\\\\\\\s+number|round|set\\\\\\\\s+volume|system\\\\\\\\s+(attribute|info)|time\\\\\\\\s+to\\\\\\\\s+GMT|load\\\\\\\\s+script|run\\\\\\\\s+script|scripting\\\\\\\\s+components|store\\\\\\\\s+script|copy|count|get|launch|run|set|ASCII\\\\\\\\s+(character|number)|localized\\\\\\\\s+string|offset|summarize|beep|choose\\\\\\\\s+(application|color|file(\\\\\\\\s+name)?|folder|from\\\\\\\\s+list|remote\\\\\\\\s+application|URL)|delay|display\\\\\\\\s+(alert|dialog)|say)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.built-in.command.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:get|run)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.built-in.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:anything|data|text|upper\\\\\\\\s+case|propert(y|ies))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.built-in.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:alias|class)(es)?\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.built-in.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:app(lication)?|boolean|character|constant|date|event|file(\\\\\\\\s+specification)?|handler|integer|item|keystroke|linked\\\\\\\\s+list|list|machine|number|picture|preposition|POSIX\\\\\\\\s+file|real|record|reference(\\\\\\\\s+form)?|RGB\\\\\\\\s+color|script|sound|text\\\\\\\\s+item|type\\\\\\\\s+class|vector|writing\\\\\\\\s+code(\\\\\\\\s+info)?|zone|((international|styled(\\\\\\\\s+(Clipboard|Unicode))?|Unicode)\\\\\\\\s+)?text|((C|encoded|Pascal)\\\\\\\\s+)?string)s?\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.built-in.applescript\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((cubic\\\\\\\\s+(centi)?|square\\\\\\\\s+(kilo)?|centi|kilo)met(er|re)s|square\\\\\\\\s+(yards|feet|miles)|cubic\\\\\\\\s+(yards|feet|inches)|miles|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees\\\\\\\\s+(Celsius|Fahrenheit|Kelvin))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.built-in.unit.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:seconds|minutes|hours|days)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.built-in.time.applescript\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#!)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.applescript\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.applescript\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.applescript\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.applescript\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.applescript\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=--)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.applescript\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.applescript\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-dash.applescript\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.applescript\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"comment.block.applescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments.nested\\\"}]}]},\\\"comments.nested\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.applescript\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.applescript\\\"}},\\\"name\\\":\\\"comment.block.applescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments.nested\\\"}]}]},\\\"data-structures\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.applescript\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.applescript\\\"}},\\\"name\\\":\\\"meta.array.applescript\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.key.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.identifier.applescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.applescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.applescript\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.applescript\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+|((\\\\\\\\|)[^\\\\\\\\n|]*(\\\\\\\\|)))\\\\\\\\s*(:)\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.applescript\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.applescript\\\"},{\\\"include\\\":\\\"#inline\\\"}]},{\\\"begin\\\":\\\"(?:(?<=application )|(?<=app ))(\\\\\\\")\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.applescript\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.application-name.applescript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.applescript\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.applescript\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.applescript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.applescript\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.applescript\\\"}},\\\"match\\\":\\\"(\\\\\\\\|)[^\\\\\\\\n|]*(\\\\\\\\|)\\\",\\\"name\\\":\\\"meta.identifier.applescript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.data.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.built-in.applescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.utxt.applescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.unquoted.data.applescript\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.data.applescript\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.applescript\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.built-in.applescript\\\"}},\\\"match\\\":\\\"(«)(data) (ut(?:xt|f8))(\\\\\\\\h*)(»)(?:\\\\\\\\s+(as)\\\\\\\\s+(?i:Unicode\\\\\\\\s+text))?\\\",\\\"name\\\":\\\"constant.other.data.utxt.applescript\\\"},{\\\"begin\\\":\\\"(«)(\\\\\\\\w+)\\\\\\\\b(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.data.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.built-in.applescript\\\"}},\\\"end\\\":\\\"(»)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.data.applescript\\\"}},\\\"name\\\":\\\"constant.other.data.raw.applescript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.data.applescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.data.applescript\\\"}},\\\"match\\\":\\\"(«)[^»]*(»)\\\",\\\"name\\\":\\\"invalid.illegal.data.applescript\\\"}]},\\\"finder\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(item|container|(computer|disk|trash)-object|disk|folder|((alias|application|document|internet location) )?file|clipping|package)s?\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.finder.items.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b((Finder|desktop|information|preferences|clipping) )windows?\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.finder.window-classes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(preferences|(icon|column|list) view options|(label|column|alias list)s?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.finder.type-definitions.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(copy|find|sort|clean up|eject|empty( trash)|erase|reveal|update)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.finder.items.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(insertion location|product version|startup disk|desktop|trash|home|computer container|finder preferences)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.finder.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(visible)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.finder.applescript\\\"}]},\\\"inline\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#data-structures\\\"},{\\\"include\\\":\\\"#built-in\\\"},{\\\"include\\\":\\\"#standardadditions\\\"}]},\\\"itunes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(artwork|application|encoder|EQ preset|item|source|visual|(EQ |browser )?window|((audio CD|device|shared|URL|file) )?track|playlist window|((audio CD|device|radio tuner|library|folder|user) )?playlist)s?\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.itunes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(add|back track|convert|fast forward|(next|previous) track|pause|play(pause)?|refresh|resume|rewind|search|stop|update|eject|subscribe|update(Podcast|AllPodcasts)|download)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.itunes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(current (playlist|stream (title|URL)|track)|player state)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.itunes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(current (encoder|EQ preset|visual)|EQ enabled|fixed indexing|full screen|mute|player position|sound volume|visuals enabled|visual size)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.itunes.applescript\\\"}]},\\\"standard-suite\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(colors?|documents?|items?|windows?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.standard-suite.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(close|count|delete|duplicate|exists|make|move|open|print|quit|save|activate|select|data size)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standard-suite.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(name|frontmost|version)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.standard-suite.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(selection)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.standard-suite.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(attachments?|attribute runs?|characters?|paragraphs?|texts?|words?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.text-suite.applescript\\\"}]},\\\"standardadditions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((alert|dialog) reply)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.standardadditions.user-interaction.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(file information)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.standardadditions.file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(POSIX files?|system information|volume settings)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.standardadditions.miscellaneous.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(URLs?|internet address(es)?|web pages?|FTP items?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.standardadditions.internet.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(info for|list (disks|folder)|mount volume|path to( resource)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(beep|choose (application|color|file( name)?|folder|from list|remote application|URL)|delay|display (alert|dialog)|say)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.user-interaction.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ASCII (character|number)|localized string|offset|summarize)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.string.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(set the clipboard to|the clipboard|clipboard info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.clipboard.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(open for access|close access|read|write|get eof|set eof)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.file-i-o.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b((load|store|run) script|scripting components)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.scripting.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(current date|do shell script|get volume settings|random number|round|set volume|system attribute|system info|time to GMT)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.miscellaneous.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(opening folder|((?:clos|mov)ing) folder window for|adding folder items to|removing folder items from)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.folder-actions.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(open location|handle CGI request)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.standardadditions.internet.applescript\\\"}]},\\\"system-events\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(audio (data|file))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.audio-file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(alias(es)?|(Classic|local|network|system|user) domain objects?|disk( item)?s?|domains?|file( package)?s?|folders?|items?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.disk-folder-file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(delete|open|move)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.system-events.disk-folder-file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(folder actions?|scripts?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.folder-actions.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(attach action to|attached scripts|edit action of|remove action from)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.system-events.folder-actions.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(movie (?:data|file))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.movie-file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(log out|restart|shut down|sleep)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.system-events.power.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(((application |desk accessory )?process|(c(?:heck|ombo ))?box)(es)?|(action|attribute|browser|(busy|progress|relevance) indicator|color well|column|drawer|group|grow area|image|incrementor|list|menu( bar)?( item)?|(menu |pop up |radio )?button|outline|(radio|tab|splitter) group|row|scroll (area|bar)|sheet|slider|splitter|static text|table|text (area|field)|tool bar|UI element|window)s?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.processes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(click|key code|keystroke|perform|select)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.system-events.processes.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(property list (file|item))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.property-list.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(annotation|QuickTime (data|file)|track)s?\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.quicktime-file.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b((abort|begin|end) transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.system-events.system-events.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(XML (attribute|data|element|file)s?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.system-events.xml.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(print settings|users?|login items?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.sytem-events.other.applescript\\\"}]},\\\"textmate\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(print settings)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.textmate.applescript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(get url|insert|reload bundles)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.textmate.applescript\\\"}]}},\\\"scopeName\\\":\\\"source.applescript\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "applescript" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,wy5BAAos+B,CAAC,EAE5t+BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Colysff4.js b/src/webview-ui/build/assets/chunk-Colysff4.js new file mode 100644 index 0000000000..5f81816aa3 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Colysff4.js @@ -0,0 +1,9 @@ +import e from "./chunk-BIGW1oBm.js" +const a = Object.freeze( + JSON.parse( + `{"displayName":"Lua","name":"lua","patterns":[{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}},"end":"(?<=[-\\\\]\\"')\\\\[{}])","name":"meta.function.lua","patterns":[{"include":"#comment"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"end":"(\\\\))|(?=[-\\\\]\\"'.\\\\[{}])","endCaptures":{"1":{"name":"punctuation.definition.parameters.finish.lua"}},"name":"meta.parameter.lua","patterns":[{"include":"#comment"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.parameter.function.lua"},{"match":",","name":"punctuation.separator.arguments.lua"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.arguments.lua"}},"end":"(?=[),])","patterns":[{"include":"#emmydoc.type"}]}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b\\\\s*(?=:)","name":"entity.name.class.lua"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"entity.name.function.lua"}]},{"match":"(?"},{"match":"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>","name":"storage.type.generic.lua"},{"match":"\\\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\\\b","name":"keyword.control.lua"},{"match":"\\\\b(local)\\\\b","name":"keyword.local.lua"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.lua"},{"match":"(?=?|(?]","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@see","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"match":"\\\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":"#","name":"keyword.operator.lua"}]},{"begin":"(?<=---)[\\\\t ]*@diagnostic","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"begin":"([-0-9A-Z_a-z]+)[\\\\t ]*(:)?","beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}},"end":"(?=\\\\n)","patterns":[{"match":"\\\\b([*A-Z_a-z][-0-9A-Z_a-z]*)","name":"support.class.lua"},{"match":",","name":"keyword.operator.lua"}]}]},{"begin":"(?<=---)[\\\\t ]*@module","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]},{"match":"(?<=---)[\\\\t ]*@(async|nodiscard)","name":"storage.type.annotation.lua"},{"begin":"(?<=---)\\\\|\\\\s*[+>]?","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}},"end":"(?=[\\\\n#@])","patterns":[{"include":"#string"}]}]},"emmydoc.type":{"patterns":[{"begin":"\\\\bfun\\\\b","beginCaptures":{"0":{"name":"keyword.control.lua"}},"end":"(?=[#\\\\s])","patterns":[{"match":"[(),:?][\\\\t ]*","name":"keyword.operator.lua"},{"match":"([A-Z_a-z][-\\\\]*,.0-9<>A-\\\\[_a-z]*)(?","name":"storage.type.generic.lua"},{"match":"\\\\basync\\\\b","name":"entity.name.tag.lua"},{"match":"[,:?\`{|}][\\\\t ]*","name":"keyword.operator.lua"},{"begin":"(?=[\\"'*.A-\\\\[_a-z])","end":"(?=[#),:?|}\\\\s])","patterns":[{"match":"([-\\\\]*,.0-9<>A-\\\\[_a-z]+)(?\\\"},{\\\"match\\\":\\\"<[*A-Z_a-z][-*.0-9A-Z_a-z]*>\\\",\\\"name\\\":\\\"storage.type.generic.lua\\\"},{\\\"match\\\":\\\"\\\\\\\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.lua\\\"},{\\\"match\\\":\\\"\\\\\\\\b(local)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.local.lua\\\"},{\\\"match\\\":\\\"\\\\\\\\b(function)\\\\\\\\b(?![,:])\\\",\\\"name\\\":\\\"keyword.control.lua\\\"},{\\\"match\\\":\\\"(?=?|(?]\\\",\\\"name\\\":\\\"keyword.operator.lua\\\"}]},{\\\"begin\\\":\\\"(?<=---)[\\\\\\\\t ]*@see\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.annotation.lua\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n#@])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([*A-Z_a-z][-*.0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"support.class.lua\\\"},{\\\"match\\\":\\\"#\\\",\\\"name\\\":\\\"keyword.operator.lua\\\"}]},{\\\"begin\\\":\\\"(?<=---)[\\\\\\\\t ]*@diagnostic\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.annotation.lua\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n#@])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([-0-9A-Z_a-z]+)[\\\\\\\\t ]*(:)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.unit\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([*A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"support.class.lua\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"keyword.operator.lua\\\"}]}]},{\\\"begin\\\":\\\"(?<=---)[\\\\\\\\t ]*@module\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.annotation.lua\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n#@])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"match\\\":\\\"(?<=---)[\\\\\\\\t ]*@(async|nodiscard)\\\",\\\"name\\\":\\\"storage.type.annotation.lua\\\"},{\\\"begin\\\":\\\"(?<=---)\\\\\\\\|\\\\\\\\s*[+>]?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.annotation.lua\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n#@])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]}]},\\\"emmydoc.type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bfun\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.lua\\\"}},\\\"end\\\":\\\"(?=[#\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[(),:?][\\\\\\\\t ]*\\\",\\\"name\\\":\\\"keyword.operator.lua\\\"},{\\\"match\\\":\\\"([A-Z_a-z][-\\\\\\\\]*,.0-9<>A-\\\\\\\\[_a-z]*)(?\\\",\\\"name\\\":\\\"storage.type.generic.lua\\\"},{\\\"match\\\":\\\"\\\\\\\\basync\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.lua\\\"},{\\\"match\\\":\\\"[,:?`{|}][\\\\\\\\t ]*\\\",\\\"name\\\":\\\"keyword.operator.lua\\\"},{\\\"begin\\\":\\\"(?=[\\\\\\\"'*.A-\\\\\\\\[_a-z])\\\",\\\"end\\\":\\\"(?=[#),:?|}\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([-\\\\\\\\]*,.0-9<>A-\\\\\\\\[_a-z]+)(?]|<=|>=|[-!*+/?^|]","name":"support.class.sparql"},"functions":{"match":"\\\\b(?i:concat|regex|asc|desc|bound|isiri|isuri|isblank|isliteral|isnumeric|str|lang|datatype|sameterm|langmatches|avg|count|group_concat|separator|max|min|sample|sum|iri|uri|bnode|strdt|uuid|struuid|strlang|strlen|substr|ucase|lcase|strstarts|strends|contains|strbefore|strafter|encode_for_uri|replace|abs|round|ceil|floor|rand|now|year|month|day|hours|minutes|seconds|timezone|tz|md5|sha1|sha256|sha384|sha512|coalesce|if)\\\\b","name":"support.function.sparql"},"query-keyword-operators":{"match":"\\\\b(?i:define|select|distinct|reduced|from|named|construct|ask|describe|where|graph|having|bind|as|filter|optional|union|order|by|group|limit|offset|values|insert data|delete data|with|delete|insert|clear|silent|default|all|create|drop|copy|move|add|to|using|service|not exists|exists|not in|in|minus|load)\\\\b","name":"keyword.control.sparql"},"variables":{"match":"(?]|<=|>=|[-!*+/?^|]\\\",\\\"name\\\":\\\"support.class.sparql\\\"},\\\"functions\\\":{\\\"match\\\":\\\"\\\\\\\\b(?i:concat|regex|asc|desc|bound|isiri|isuri|isblank|isliteral|isnumeric|str|lang|datatype|sameterm|langmatches|avg|count|group_concat|separator|max|min|sample|sum|iri|uri|bnode|strdt|uuid|struuid|strlang|strlen|substr|ucase|lcase|strstarts|strends|contains|strbefore|strafter|encode_for_uri|replace|abs|round|ceil|floor|rand|now|year|month|day|hours|minutes|seconds|timezone|tz|md5|sha1|sha256|sha384|sha512|coalesce|if)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sparql\\\"},\\\"query-keyword-operators\\\":{\\\"match\\\":\\\"\\\\\\\\b(?i:define|select|distinct|reduced|from|named|construct|ask|describe|where|graph|having|bind|as|filter|optional|union|order|by|group|limit|offset|values|insert data|delete data|with|delete|insert|clear|silent|default|all|create|drop|copy|move|add|to|using|service|not exists|exists|not in|in|minus|load)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.sparql\\\"},\\\"variables\\\":{\\\"match\\\":\\\"(?\\\\s*)?\\\\()","name":"entity.name.function.vala"}]},"keywords":{"patterns":[{"match":"(?<=^|[^.@\\\\w])(as|do|if|in|is|not|or|and|for|get|new|out|ref|set|try|var|base|case|else|enum|lock|null|this|true|void|weak|async|break|catch|class|const|false|owned|throw|using|while|with|yield|delete|extern|inline|params|public|return|sealed|signal|sizeof|static|struct|switch|throws|typeof|unlock|default|dynamic|ensures|finally|foreach|private|unowned|virtual|abstract|continue|delegate|internal|override|requires|volatile|construct|interface|namespace|protected|errordomain)\\\\b","name":"keyword.vala"},{"match":"(?<=^|[^.@\\\\w])(bool|double|float|unichar2??|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\\\\b","name":"keyword.vala"},{"match":"(#(?:if|elif|else|endif))","name":"keyword.vala"}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.triple.vala"},{"begin":"@\\"","end":"\\"","name":"string.quoted.interpolated.vala","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vala"},{"match":"\\\\$\\\\w+","name":"constant.character.escape.vala"},{"match":"\\\\$\\\\(([^()]|\\\\(([^()]|\\\\([^)]*\\\\))*\\\\))*\\\\)","name":"constant.character.escape.vala"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.vala","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vala"}]},{"begin":"'","end":"'","name":"string.quoted.single.vala","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vala"}]},{"match":"/((\\\\\\\\/)|([^/]))*/(?=\\\\s*[\\\\n),.;])","name":"string.regexp.vala"}]},"types":{"patterns":[{"match":"(?<=^|[^.@\\\\w])(bool|double|float|unichar2??|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\\\\b","name":"storage.type.primitive.vala"},{"match":"\\\\b([A-Z]+\\\\w*)\\\\b","name":"entity.name.type.vala"}]},"variables":{"patterns":[{"match":"\\\\b([_a-z]+\\\\w*)\\\\b","name":"variable.other.vala"}]}},"scopeName":"source.vala"}`, + ), + ), + e = [a] +export { e as default } +//# sourceMappingURL=chunk-CsfeWuGM.js.map diff --git a/src/webview-ui/build/assets/chunk-CsfeWuGM.js.map b/src/webview-ui/build/assets/chunk-CsfeWuGM.js.map new file mode 100644 index 0000000000..172a395b8d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CsfeWuGM.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CsfeWuGM.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/vala.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Vala\\\",\\\"fileTypes\\\":[\\\"vala\\\",\\\"vapi\\\",\\\"gs\\\"],\\\"name\\\":\\\"vala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}],\\\"repository\\\":{\\\"code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#variables\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vala\\\"}},\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.empty.vala\\\"},{\\\"include\\\":\\\"text.html.javadoc\\\"},{\\\"include\\\":\\\"#comments-inline\\\"}]},\\\"comments-inline\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vala\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.vala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.double-slash.vala\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vala\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((//).*$\\\\\\\\n?)\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z][0-9A-Z_]+)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.vala\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\w+)(?=\\\\\\\\s*(<[.\\\\\\\\s\\\\\\\\w]+>\\\\\\\\s*)?\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.vala\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[^.@\\\\\\\\w])(as|do|if|in|is|not|or|and|for|get|new|out|ref|set|try|var|base|case|else|enum|lock|null|this|true|void|weak|async|break|catch|class|const|false|owned|throw|using|while|with|yield|delete|extern|inline|params|public|return|sealed|signal|sizeof|static|struct|switch|throws|typeof|unlock|default|dynamic|ensures|finally|foreach|private|unowned|virtual|abstract|continue|delegate|internal|override|requires|volatile|construct|interface|namespace|protected|errordomain)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.vala\\\"},{\\\"match\\\":\\\"(?<=^|[^.@\\\\\\\\w])(bool|double|float|unichar2??|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.vala\\\"},{\\\"match\\\":\\\"(#(?:if|elif|else|endif))\\\",\\\"name\\\":\\\"keyword.vala\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.triple.vala\\\"},{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.interpolated.vala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\w+\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\(([^()]|\\\\\\\\(([^()]|\\\\\\\\([^)]*\\\\\\\\))*\\\\\\\\))*\\\\\\\\)\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.vala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.vala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"}]},{\\\"match\\\":\\\"/((\\\\\\\\\\\\\\\\/)|([^/]))*/(?=\\\\\\\\s*[\\\\\\\\n),.;])\\\",\\\"name\\\":\\\"string.regexp.vala\\\"}]},\\\"types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[^.@\\\\\\\\w])(bool|double|float|unichar2??|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|string16|string32|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64|va_list|time_t)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.primitive.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z]+\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.vala\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([_a-z]+\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.vala\\\"}]}},\\\"scopeName\\\":\\\"source.vala\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "vala" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,0uGAA4jH,CAAC,EAEplHC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Csfq5Kiy.js b/src/webview-ui/build/assets/chunk-Csfq5Kiy.js new file mode 100644 index 0000000000..8d6923d50b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Csfq5Kiy.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#80CBC4","activityBar.background":"#292D3E","activityBar.border":"#292D3E60","activityBar.dropBackground":"#f0717880","activityBar.foreground":"#babed8","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#676E95","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumb.background":"#292D3E","breadcrumb.focusForeground":"#babed8","breadcrumb.foreground":"#676E95","breadcrumbPicker.background":"#292D3E","button.background":"#717CB450","button.foreground":"#ffffff","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","debugToolBar.background":"#292D3E","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","dropdown.background":"#292D3E","dropdown.border":"#FFFFFF10","editor.background":"#292D3E","editor.findMatchBackground":"#000000","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlight":"#babed8","editor.findMatchHighlightBackground":"#00000050","editor.findMatchHighlightBorder":"#ffffff30","editor.findRangeHighlightBackground":"#FFCB6B30","editor.foreground":"#babed8","editor.lineHighlightBackground":"#00000050","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editor.selectionBackground":"#717CB450","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editorBracketMatch.background":"#292D3E","editorBracketMatch.border":"#FFCC0050","editorCursor.foreground":"#FFCC00","editorError.foreground":"#f0717870","editorGroup.border":"#00000030","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#292D3E","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","editorGutter.modifiedBackground":"#82AAFF60","editorHoverWidget.background":"#292D3E","editorHoverWidget.border":"#FFFFFF10","editorIndentGuide.activeBackground":"#4E5579","editorIndentGuide.background":"#4E557970","editorInfo.foreground":"#82AAFF70","editorLineNumber.activeForeground":"#676E95","editorLineNumber.foreground":"#3A3F58","editorLink.activeForeground":"#babed8","editorMarkerNavigation.background":"#babed805","editorOverviewRuler.border":"#292D3E","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorRuler.foreground":"#4E5579","editorSuggestWidget.background":"#292D3E","editorSuggestWidget.border":"#FFFFFF10","editorSuggestWidget.foreground":"#babed8","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorWarning.foreground":"#FFCB6B70","editorWhitespace.foreground":"#babed840","editorWidget.background":"#292D3E","editorWidget.border":"#80CBC4","editorWidget.resizeBorder":"#80CBC4","extensionBadge.remoteForeground":"#babed8","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentForeground":"#babed8","extensionButton.prominentHoverBackground":"#C3E88D","focusBorder":"#FFFFFF00","foreground":"#babed8","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.ignoredResourceForeground":"#676E9590","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","input.background":"#333747","input.border":"#FFFFFF10","input.foreground":"#babed8","input.placeholderForeground":"#babed860","inputOption.activeBackground":"#babed830","inputOption.activeBorder":"#babed830","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","list.activeSelectionBackground":"#292D3E","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#babed820","list.focusForeground":"#babed8","list.highlightForeground":"#80CBC4","list.hoverBackground":"#292D3E","list.hoverForeground":"#FFFFFF","list.inactiveSelectionBackground":"#00000030","list.inactiveSelectionForeground":"#80CBC4","listFilterWidget.background":"#00000030","listFilterWidget.noMatchesOutline":"#00000030","listFilterWidget.outline":"#00000030","menu.background":"#292D3E","menu.foreground":"#babed8","menu.selectionBackground":"#00000050","menu.selectionBorder":"#00000030","menu.selectionForeground":"#80CBC4","menu.separatorBackground":"#babed8","menubar.selectionBackground":"#00000030","menubar.selectionBorder":"#00000030","menubar.selectionForeground":"#80CBC4","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","notificationLink.foreground":"#80CBC4","notifications.background":"#292D3E","notifications.foreground":"#babed8","panel.background":"#292D3E","panel.border":"#292D3E60","panel.dropBackground":"#babed8","panelTitle.activeBorder":"#80CBC4","panelTitle.activeForeground":"#FFFFFF","panelTitle.inactiveForeground":"#babed8","peekView.border":"#00000030","peekViewEditor.background":"#333747","peekViewEditor.matchHighlightBackground":"#717CB450","peekViewEditorGutter.background":"#333747","peekViewResult.background":"#333747","peekViewResult.matchHighlightBackground":"#717CB450","peekViewResult.selectionBackground":"#676E9570","peekViewTitle.background":"#333747","peekViewTitleDescription.foreground":"#babed860","pickerGroup.border":"#FFFFFF1a","pickerGroup.foreground":"#80CBC4","progressBar.background":"#80CBC4","quickInput.background":"#292D3E","quickInput.foreground":"#676E95","quickInput.list.focusBackground":"#babed820","sash.hoverBorder":"#80CBC450","scrollbar.shadow":"#00000030","scrollbarSlider.activeBackground":"#80CBC4","scrollbarSlider.background":"#A6ACCD20","scrollbarSlider.hoverBackground":"#A6ACCD10","selection.background":"#00000080","settings.checkboxBackground":"#292D3E","settings.checkboxForeground":"#babed8","settings.dropdownBackground":"#292D3E","settings.dropdownForeground":"#babed8","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.numberInputBackground":"#292D3E","settings.numberInputForeground":"#babed8","settings.textInputBackground":"#292D3E","settings.textInputForeground":"#babed8","sideBar.background":"#292D3E","sideBar.border":"#292D3E60","sideBar.foreground":"#676E95","sideBarSectionHeader.background":"#292D3E","sideBarSectionHeader.border":"#292D3E60","sideBarTitle.foreground":"#babed8","statusBar.background":"#292D3E","statusBar.border":"#292D3E60","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#676E95","statusBar.noFolderBackground":"#292D3E","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#676E9520","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","tab.activeBackground":"#292D3E","tab.activeBorder":"#80CBC4","tab.activeForeground":"#FFFFFF","tab.activeModifiedBorder":"#676E95","tab.border":"#292D3E","tab.inactiveBackground":"#292D3E","tab.inactiveForeground":"#676E95","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveBorder":"#676E95","tab.unfocusedActiveForeground":"#babed8","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#676E95","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","terminalCursor.background":"#000000","terminalCursor.foreground":"#FFCB6B","textLink.activeForeground":"#babed8","textLink.foreground":"#80CBC4","titleBar.activeBackground":"#292D3E","titleBar.activeForeground":"#babed8","titleBar.border":"#292D3E60","titleBar.inactiveBackground":"#292D3E","titleBar.inactiveForeground":"#676E95","tree.indentGuidesStroke":"#4E5579","widget.shadow":"#00000030"},"displayName":"Material Theme Palenight","name":"material-theme-palenight","semanticHighlighting":true,"tokenColors":[{"settings":{"background":"#292D3E","foreground":"#babed8"}},{"scope":"string","settings":{"foreground":"#C3E88D"}},{"scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#babed8"}},{"scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#babed8"}},{"scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"scope":"support.module, support.node","settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#676E95"}},{"scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"fontStyle":"italic","foreground":"#676E95"}},{"scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#babed8"}},{"scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"scope":"punctuation.definition.entity.html","settings":{"foreground":"#babed8"}},{"scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#f07178"}},{"scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"fontStyle":"italic bold","foreground":"#f07178"}},{"scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cs meta.preprocessor","settings":{"foreground":"#676E95"}},{"scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#babed8"}},{"scope":"meta.jsx.children, SXNested","settings":{"foreground":"#babed8"}},{"scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cpp meta.block variable.other","settings":{"foreground":"#babed8"}},{"scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"scope":"meta.block","settings":{"foreground":"#f07178"}},{"scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#babed8"}},{"scope":"constant.keyword","settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"settings":{"background":"#292D3E","foreground":"#babed8"}},{"scope":["constant.other.placeholder"],"settings":{"foreground":"#f07178"}},{"scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["keyword.control"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"scope":["variable.parameter.function.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"scope":["markup.fenced_code.block"],"settings":{"foreground":"#babed890"}},{"scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-Csfq5Kiy.js.map diff --git a/src/webview-ui/build/assets/chunk-Csfq5Kiy.js.map b/src/webview-ui/build/assets/chunk-Csfq5Kiy.js.map new file mode 100644 index 0000000000..09f69d27b0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Csfq5Kiy.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-Csfq5Kiy.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/material-theme-palenight.mjs" + ], + "sourcesContent": [ + "/* Theme: material-theme-palenight */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#292D3E\\\",\\\"activityBar.border\\\":\\\"#292D3E60\\\",\\\"activityBar.dropBackground\\\":\\\"#f0717880\\\",\\\"activityBar.foreground\\\":\\\"#babed8\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#00000030\\\",\\\"badge.foreground\\\":\\\"#676E95\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#292D3E\\\",\\\"breadcrumb.focusForeground\\\":\\\"#babed8\\\",\\\"breadcrumb.foreground\\\":\\\"#676E95\\\",\\\"breadcrumbPicker.background\\\":\\\"#292D3E\\\",\\\"button.background\\\":\\\"#717CB450\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#f07178\\\",\\\"debugConsole.infoForeground\\\":\\\"#89DDFF\\\",\\\"debugConsole.warningForeground\\\":\\\"#FFCB6B\\\",\\\"debugToolBar.background\\\":\\\"#292D3E\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#89DDFF20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff9cac20\\\",\\\"dropdown.background\\\":\\\"#292D3E\\\",\\\"dropdown.border\\\":\\\"#FFFFFF10\\\",\\\"editor.background\\\":\\\"#292D3E\\\",\\\"editor.findMatchBackground\\\":\\\"#000000\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#babed8\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff30\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#FFCB6B30\\\",\\\"editor.foreground\\\":\\\"#babed8\\\",\\\"editor.lineHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#717CB450\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFCC0020\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ff9cac30\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#C3E88D30\\\",\\\"editorBracketMatch.background\\\":\\\"#292D3E\\\",\\\"editorBracketMatch.border\\\":\\\"#FFCC0050\\\",\\\"editorCursor.foreground\\\":\\\"#FFCC00\\\",\\\"editorError.foreground\\\":\\\"#f0717870\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#f0717880\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#f07178\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#292D3E\\\",\\\"editorGutter.addedBackground\\\":\\\"#C3E88D60\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f0717860\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#82AAFF60\\\",\\\"editorHoverWidget.background\\\":\\\"#292D3E\\\",\\\"editorHoverWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#4E5579\\\",\\\"editorIndentGuide.background\\\":\\\"#4E557970\\\",\\\"editorInfo.foreground\\\":\\\"#82AAFF70\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#676E95\\\",\\\"editorLineNumber.foreground\\\":\\\"#3A3F58\\\",\\\"editorLink.activeForeground\\\":\\\"#babed8\\\",\\\"editorMarkerNavigation.background\\\":\\\"#babed805\\\",\\\"editorOverviewRuler.border\\\":\\\"#292D3E\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f0717840\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#82AAFF40\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFCB6B40\\\",\\\"editorRuler.foreground\\\":\\\"#4E5579\\\",\\\"editorSuggestWidget.background\\\":\\\"#292D3E\\\",\\\"editorSuggestWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#babed8\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorWarning.foreground\\\":\\\"#FFCB6B70\\\",\\\"editorWhitespace.foreground\\\":\\\"#babed840\\\",\\\"editorWidget.background\\\":\\\"#292D3E\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C3E88D90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#C3E88D\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#babed8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFCB6B90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f0717890\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#676E9590\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#82AAFF90\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#C3E88D90\\\",\\\"input.background\\\":\\\"#333747\\\",\\\"input.border\\\":\\\"#FFFFFF10\\\",\\\"input.foreground\\\":\\\"#babed8\\\",\\\"input.placeholderForeground\\\":\\\"#babed860\\\",\\\"inputOption.activeBackground\\\":\\\"#babed830\\\",\\\"inputOption.activeBorder\\\":\\\"#babed830\\\",\\\"inputValidation.errorBorder\\\":\\\"#f07178\\\",\\\"inputValidation.infoBorder\\\":\\\"#82AAFF\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCB6B\\\",\\\"list.activeSelectionBackground\\\":\\\"#292D3E\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#f0717880\\\",\\\"list.focusBackground\\\":\\\"#babed820\\\",\\\"list.focusForeground\\\":\\\"#babed8\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#292D3E\\\",\\\"list.hoverForeground\\\":\\\"#FFFFFF\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00000030\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#00000030\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#00000030\\\",\\\"listFilterWidget.outline\\\":\\\"#00000030\\\",\\\"menu.background\\\":\\\"#292D3E\\\",\\\"menu.foreground\\\":\\\"#babed8\\\",\\\"menu.selectionBackground\\\":\\\"#00000050\\\",\\\"menu.selectionBorder\\\":\\\"#00000030\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#babed8\\\",\\\"menubar.selectionBackground\\\":\\\"#00000030\\\",\\\"menubar.selectionBorder\\\":\\\"#00000030\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#292D3E\\\",\\\"notifications.foreground\\\":\\\"#babed8\\\",\\\"panel.background\\\":\\\"#292D3E\\\",\\\"panel.border\\\":\\\"#292D3E60\\\",\\\"panel.dropBackground\\\":\\\"#babed8\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#FFFFFF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#babed8\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#333747\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewEditorGutter.background\\\":\\\"#333747\\\",\\\"peekViewResult.background\\\":\\\"#333747\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#676E9570\\\",\\\"peekViewTitle.background\\\":\\\"#333747\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#babed860\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#292D3E\\\",\\\"quickInput.foreground\\\":\\\"#676E95\\\",\\\"quickInput.list.focusBackground\\\":\\\"#babed820\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000030\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#A6ACCD20\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#A6ACCD10\\\",\\\"selection.background\\\":\\\"#00000080\\\",\\\"settings.checkboxBackground\\\":\\\"#292D3E\\\",\\\"settings.checkboxForeground\\\":\\\"#babed8\\\",\\\"settings.dropdownBackground\\\":\\\"#292D3E\\\",\\\"settings.dropdownForeground\\\":\\\"#babed8\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#292D3E\\\",\\\"settings.numberInputForeground\\\":\\\"#babed8\\\",\\\"settings.textInputBackground\\\":\\\"#292D3E\\\",\\\"settings.textInputForeground\\\":\\\"#babed8\\\",\\\"sideBar.background\\\":\\\"#292D3E\\\",\\\"sideBar.border\\\":\\\"#292D3E60\\\",\\\"sideBar.foreground\\\":\\\"#676E95\\\",\\\"sideBarSectionHeader.background\\\":\\\"#292D3E\\\",\\\"sideBarSectionHeader.border\\\":\\\"#292D3E60\\\",\\\"sideBarTitle.foreground\\\":\\\"#babed8\\\",\\\"statusBar.background\\\":\\\"#292D3E\\\",\\\"statusBar.border\\\":\\\"#292D3E60\\\",\\\"statusBar.debuggingBackground\\\":\\\"#C792EA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#676E95\\\",\\\"statusBar.noFolderBackground\\\":\\\"#292D3E\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0717880\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#676E9520\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#292D3E\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#FFFFFF\\\",\\\"tab.activeModifiedBorder\\\":\\\"#676E95\\\",\\\"tab.border\\\":\\\"#292D3E\\\",\\\"tab.inactiveBackground\\\":\\\"#292D3E\\\",\\\"tab.inactiveForeground\\\":\\\"#676E95\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#904348\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#676E95\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#babed8\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#c05a60\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#904348\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#676E95\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFCB6B\\\",\\\"terminal.ansiCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#f07178\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#FFCB6B\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#FFCB6B\\\",\\\"textLink.activeForeground\\\":\\\"#babed8\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#292D3E\\\",\\\"titleBar.activeForeground\\\":\\\"#babed8\\\",\\\"titleBar.border\\\":\\\"#292D3E60\\\",\\\"titleBar.inactiveBackground\\\":\\\"#292D3E\\\",\\\"titleBar.inactiveForeground\\\":\\\"#676E95\\\",\\\"tree.indentGuidesStroke\\\":\\\"#4E5579\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Material Theme Palenight\\\",\\\"name\\\":\\\"material-theme-palenight\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#292D3E\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#676E95\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#676E95\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#676E95\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#292D3E\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babed890\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "materialThemePalenight" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,ipkBAAu1nB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CtrldY6v.js b/src/webview-ui/build/assets/chunk-CtrldY6v.js new file mode 100644 index 0000000000..42910f1f2e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CtrldY6v.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"PureScript","fileTypes":["purs"],"name":"purescript","patterns":[{"include":"#module_declaration"},{"include":"#module_import"},{"include":"#type_synonym_declaration"},{"include":"#data_type_declaration"},{"include":"#typeclass_declaration"},{"include":"#instance_declaration"},{"include":"#derive_declaration"},{"include":"#infix_op_declaration"},{"include":"#foreign_import_data"},{"include":"#foreign_import"},{"include":"#function_type_declaration"},{"include":"#typed_hole"},{"include":"#keywords_orphan"},{"include":"#control_keywords"},{"include":"#function_infix"},{"include":"#data_ctor"},{"include":"#infix_op"},{"include":"#constants_numeric_decimal"},{"include":"#constant_numeric"},{"include":"#constant_boolean"},{"include":"#string_triple_quoted"},{"include":"#string_single_quoted"},{"include":"#string_double_quoted"},{"include":"#markup_newline"},{"include":"#double_colon_parens"},{"include":"#double_colon_inlined"},{"include":"#double_colon_orphan"},{"include":"#comments"},{"match":"<-|->","name":"keyword.other.arrow.purescript"},{"match":"[[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]]+","name":"keyword.operator.purescript"},{"match":",","name":"punctuation.separator.comma.purescript"}],"repository":{"block_comment":{"patterns":[{"applyEndPatternLast":1,"begin":"\\\\{-\\\\s*\\\\|","beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"end":"-}","endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"name":"comment.block.documentation.purescript","patterns":[{"include":"#block_comment"}]},{"applyEndPatternLast":1,"begin":"\\\\{-","beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}},"end":"-}","name":"comment.block.purescript","patterns":[{"include":"#block_comment"}]}]},"characters":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.purescript"},"2":{"name":"constant.character.escape.octal.purescript"},"3":{"name":"constant.character.escape.hexadecimal.purescript"},"4":{"name":"constant.character.escape.control.purescript"}},"match":"[ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\^[@-_])"}]},"class_constraint":{"patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\b[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*","name":"entity.name.type.purescript"}]},"2":{"patterns":[{"include":"#type_name"},{"include":"#generic_type"}]}},"match":"([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*)\\\\s+(?(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*))*)","name":"meta.class-constraint.purescript"}]},"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=--+)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}},"end":"(?!\\\\G)","patterns":[{"begin":"--","beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}},"end":"\\\\n","name":"comment.line.double-dash.purescript"}]},{"include":"#block_comment"}]},"constant_boolean":{"patterns":[{"match":"\\\\b(true|false)(?!')\\\\b","name":"constant.language.boolean.purescript"}]},"constant_numeric":{"patterns":[{"match":"\\\\b(([0-9]+_?)*[0-9]+|0([Xx]\\\\h+|[Oo][0-7]+))\\\\b","name":"constant.numeric.purescript"}]},"constants_numeric_decimal":{"patterns":[{"captures":{"0":{"name":"constant.numeric.decimal.purescript"},"1":{"name":"meta.delimiter.decimal.period.purescript"},"2":{"name":"meta.delimiter.decimal.period.purescript"},"3":{"name":"meta.delimiter.decimal.period.purescript"},"4":{"name":"meta.delimiter.decimal.period.purescript"},"5":{"name":"meta.delimiter.decimal.period.purescript"},"6":{"name":"meta.delimiter.decimal.period.purescript"}},"match":"(?(?:[^()]|\\\\(\\\\g\\\\))*)(::|∷)(?(?:[^()]|\\\\(\\\\g\\\\))*)\\\\)"}]},"foreign_import":{"patterns":[{"begin":"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+([_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)","beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"entity.name.function.purescript"}},"contentName":"meta.type-signature.purescript","end":"^(?!\\\\1[\\\\t ]|[\\\\t ]*$)","name":"meta.foreign.purescript","patterns":[{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_types"}]}]},"foreign_import_data":{"patterns":[{"begin":"^(\\\\s*)(foreign)\\\\s+(import)\\\\s+(data)(?:\\\\s+([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\s*(::|∷))?","beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"},"5":{"name":"entity.name.type.purescript"},"6":{"name":"keyword.other.double-colon.purescript"}},"contentName":"meta.kind-signature.purescript","end":"^(?!\\\\1[\\\\t ]|[\\\\t ]*$)","name":"meta.foreign.data.purescript","patterns":[{"include":"#comments"},{"include":"#type_signature"},{"include":"#record_types"}]}]},"function_infix":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.purescript"},"2":{"name":"punctuation.definition.entity.purescript"}},"match":"(\`)(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\`)","name":"keyword.operator.function.infix.purescript"}]},"function_type_declaration":{"patterns":[{"begin":"^(\\\\s*)([_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\s*(::|∷)(?!.*<-)","beginCaptures":{"2":{"name":"entity.name.function.purescript"},"3":{"name":"keyword.other.double-colon.purescript"}},"contentName":"meta.type-signature.purescript","end":"^(?!\\\\1[\\\\t ]|[\\\\t ]*$)","name":"meta.function.type-declaration.purescript","patterns":[{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#row_types"}]}]},"generic_type":{"patterns":[{"match":"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"variable.other.generic-type.purescript"}]},"infix_op":{"patterns":[{"match":"\\\\((?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]]+\\\\)","name":"entity.name.function.infix.purescript"}]},"infix_op_declaration":{"patterns":[{"begin":"^\\\\b(infix[lr|]?)(?!')\\\\b","beginCaptures":{"1":{"name":"keyword.other.purescript"}},"end":"$()","name":"meta.infix.declaration.purescript","patterns":[{"include":"#comments"},{"include":"#data_ctor"},{"match":"\\\\d+","name":"constant.numeric.purescript"},{"captures":{"1":{"name":"keyword.other.purescript"}},"match":"([[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]]+)"},{"captures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"entity.name.type.purescript"}},"match":"\\\\b(type)\\\\s+([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.purescript"}},"match":"\\\\b(as|type)\\\\b"}]}]},"instance_declaration":{"patterns":[{"begin":"^\\\\s*\\\\b(else\\\\s+)?(newtype\\\\s+)?(instance)(?!')\\\\b","beginCaptures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"}},"contentName":"meta.type-signature.purescript","end":"(\\\\bwhere\\\\b|(?=^\\\\S))","endCaptures":{"1":{"name":"keyword.other.purescript"}},"name":"meta.declaration.instance.purescript","patterns":[{"include":"#type_signature"}]}]},"keywords_orphan":{"patterns":[{"match":"^\\\\s*\\\\b(derive|where|data|type|newtype|foreign(\\\\s+import)?(\\\\s+data)?)(?!')\\\\b","name":"keyword.other.purescript"}]},"kind_signature":{"patterns":[{"match":"\\\\*","name":"keyword.other.star.purescript"},{"match":"!","name":"keyword.other.exclaimation-point.purescript"},{"match":"#","name":"keyword.other.pound-sign.purescript"},{"match":"->|→","name":"keyword.other.arrow.purescript"}]},"markup_newline":{"patterns":[{"match":"\\\\\\\\$","name":"markup.other.escape.newline.purescript"}]},"module_declaration":{"patterns":[{"begin":"^\\\\s*\\\\b(module)(?!')\\\\b","beginCaptures":{"1":{"name":"keyword.other.purescript"}},"end":"\\\\b(where)\\\\b","endCaptures":{"1":{"name":"keyword.other.purescript"}},"name":"meta.declaration.module.purescript","patterns":[{"include":"#comments"},{"include":"#module_name"},{"include":"#module_exports"},{"match":"[a-z]+","name":"invalid.purescript"}]}]},"module_exports":{"patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.declaration.exports.purescript","patterns":[{"include":"#comments"},{"match":"\\\\b(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.name.function.purescript"},{"include":"#type_name"},{"match":",","name":"punctuation.separator.comma.purescript"},{"include":"#infix_op"},{"match":"\\\\(.*?\\\\)","name":"meta.other.constructor-list.purescript"}]}]},"module_import":{"patterns":[{"begin":"^\\\\s*\\\\b(import)(?!')\\\\b","beginCaptures":{"1":{"name":"keyword.other.purescript"}},"end":"^(?=\\\\S)","name":"meta.import.purescript","patterns":[{"include":"#module_name"},{"include":"#string_double_quoted"},{"include":"#comments"},{"include":"#module_exports"},{"captures":{"1":{"name":"keyword.other.purescript"}},"match":"\\\\b(as|hiding)\\\\b"}]}]},"module_name":{"patterns":[{"match":"(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)*[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.?","name":"support.other.module.purescript"}]},"record_field_declaration":{"patterns":[{"begin":"([ ,]\\"(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\"|[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\s*(::|∷)","beginCaptures":{"1":{"patterns":[{"match":"(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*","name":"entity.other.attribute-name.purescript"},{"match":"\\"([_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*|[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\"","name":"string.quoted.double.purescript"}]},"2":{"name":"keyword.other.double-colon.purescript"}},"contentName":"meta.type-signature.purescript","end":"(?=([ ,]\\"(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\"|[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\s*(::|∷)|}| \\\\)|^(?!\\\\1[\\\\t ]|[\\\\t ]*$))","name":"meta.record-field.type-declaration.purescript","patterns":[{"include":"#record_types"},{"include":"#type_signature"},{"include":"#comments"}]}]},"record_types":{"patterns":[{"begin":"\\\\{(?!-)","beginCaptures":{"0":{"name":"keyword.operator.type.record.begin.purescript"}},"end":"}","endCaptures":{"0":{"name":"keyword.operator.type.record.end.purescript"}},"name":"meta.type.record.purescript","patterns":[{"match":",","name":"punctuation.separator.comma.purescript"},{"include":"#comments"},{"include":"#record_field_declaration"},{"include":"#type_signature"}]}]},"row_types":{"patterns":[{"begin":"\\\\((?=\\\\s*([_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*|\\"[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\"|\\"[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*\\")\\\\s*(::|∷))","end":"(?=^\\\\S)","name":"meta.type.row.purescript","patterns":[{"match":",","name":"punctuation.separator.comma.purescript"},{"include":"#comments"},{"include":"#record_field_declaration"},{"include":"#type_signature"}]}]},"string_double_quoted":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}},"name":"string.quoted.double.purescript","patterns":[{"include":"#characters"},{"begin":"\\\\\\\\\\\\s","beginCaptures":{"0":{"name":"markup.other.escape.newline.begin.purescript"}},"end":"\\\\\\\\","endCaptures":{"0":{"name":"markup.other.escape.newline.end.purescript"}},"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.purescript"}]}]}]},"string_single_quoted":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.string.begin.purescript"},"2":{"patterns":[{"include":"#characters"}]},"7":{"name":"punctuation.definition.string.end.purescript"}},"match":"(')([ -\\\\[\\\\]-~]|(\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&'\\\\\\\\abfnrtv]))|(\\\\\\\\o[0-7]+)|(\\\\\\\\x\\\\h+)|(\\\\^[@-_]))(')","name":"string.quoted.single.purescript"}]},"string_triple_quoted":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}},"name":"string.quoted.triple.purescript"}]},"type_kind_signature":{"patterns":[{"begin":"^(data|newtype)\\\\s+([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)\\\\s*(::|∷)","beginCaptures":{"1":{"name":"storage.type.data.purescript"},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]},"3":{"name":"keyword.other.double-colon.purescript"}},"end":"(?=^\\\\S)","name":"meta.declaration.type.data.signature.purescript","patterns":[{"include":"#type_signature"},{"captures":{"0":{"name":"keyword.operator.assignment.purescript"}},"match":"="},{"captures":{"1":{"patterns":[{"include":"#data_ctor"}]},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}},"match":"\\\\b([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*)\\\\s+(?(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*|(?:(?:[]'(),\\\\[→⇒\\\\w]|->|=>)+\\\\s*)+)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*|(?:(?:[]'(),\\\\[→⇒\\\\w]|->|=>)+\\\\s*)+))*)?"},{"captures":{"0":{"name":"keyword.operator.pipe.purescript"}},"match":"\\\\|"},{"include":"#record_types"}]}]},"type_name":{"patterns":[{"match":"\\\\b[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*","name":"entity.name.type.purescript"}]},"type_signature":{"patterns":[{"include":"#record_types"},{"captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"6":{"name":"keyword.other.big-arrow.purescript"}},"match":"\\\\((?([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*)\\\\s+(?(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*))*)(?:\\\\s*,\\\\s*([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*)\\\\s+(?(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*))*))*)\\\\)\\\\s*(=>|<=|[⇐⇒])","name":"meta.class-constraints.purescript"},{"captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}},"match":"(([\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*)\\\\s+(?(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)(?:\\\\s*\\\\s+\\\\s*(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*|(?:[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(?:\\\\.[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)*\\\\.)?[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*))*))\\\\s*(=>|<=|[⇐⇒])","name":"meta.class-constraints.purescript"},{"match":"(?|→)","name":"keyword.other.arrow.purescript"},{"match":"(?|⇒)","name":"keyword.other.big-arrow.purescript"},{"match":"<=|⇐","name":"keyword.other.big-arrow-left.purescript"},{"match":"forall|∀","name":"keyword.other.forall.purescript"},{"include":"#string_double_quoted"},{"include":"#generic_type"},{"include":"#type_name"},{"include":"#comments"},{"match":"[[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]]+","name":"keyword.other.purescript"}]},"type_synonym_declaration":{"patterns":[{"begin":"^(\\\\s)*(type)\\\\s+(.+?)\\\\s*(?==|$)","beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}},"contentName":"meta.type-signature.purescript","end":"^(?!\\\\1[\\\\t ]|[\\\\t ]*$)","name":"meta.declaration.type.type.purescript","patterns":[{"captures":{"0":{"name":"keyword.operator.assignment.purescript"}},"match":"="},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#row_types"},{"include":"#comments"}]}]},"typeclass_declaration":{"patterns":[{"begin":"^\\\\s*\\\\b(class)(?!')\\\\b","beginCaptures":{"1":{"name":"storage.type.class.purescript"}},"end":"(\\\\bwhere\\\\b|(?=^\\\\S))","endCaptures":{"1":{"name":"keyword.other.purescript"}},"name":"meta.declaration.typeclass.purescript","patterns":[{"include":"#type_signature"}]}]},"typed_hole":{"patterns":[{"match":"\\\\?(?:[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*|[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*)","name":"entity.name.function.typed-hole.purescript"}]}},"scopeName":"source.purescript"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-CtrldY6v.js.map diff --git a/src/webview-ui/build/assets/chunk-CtrldY6v.js.map b/src/webview-ui/build/assets/chunk-CtrldY6v.js.map new file mode 100644 index 0000000000..6174690cd1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CtrldY6v.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CtrldY6v.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/purescript.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"PureScript\\\",\\\"fileTypes\\\":[\\\"purs\\\"],\\\"name\\\":\\\"purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module_declaration\\\"},{\\\"include\\\":\\\"#module_import\\\"},{\\\"include\\\":\\\"#type_synonym_declaration\\\"},{\\\"include\\\":\\\"#data_type_declaration\\\"},{\\\"include\\\":\\\"#typeclass_declaration\\\"},{\\\"include\\\":\\\"#instance_declaration\\\"},{\\\"include\\\":\\\"#derive_declaration\\\"},{\\\"include\\\":\\\"#infix_op_declaration\\\"},{\\\"include\\\":\\\"#foreign_import_data\\\"},{\\\"include\\\":\\\"#foreign_import\\\"},{\\\"include\\\":\\\"#function_type_declaration\\\"},{\\\"include\\\":\\\"#typed_hole\\\"},{\\\"include\\\":\\\"#keywords_orphan\\\"},{\\\"include\\\":\\\"#control_keywords\\\"},{\\\"include\\\":\\\"#function_infix\\\"},{\\\"include\\\":\\\"#data_ctor\\\"},{\\\"include\\\":\\\"#infix_op\\\"},{\\\"include\\\":\\\"#constants_numeric_decimal\\\"},{\\\"include\\\":\\\"#constant_numeric\\\"},{\\\"include\\\":\\\"#constant_boolean\\\"},{\\\"include\\\":\\\"#string_triple_quoted\\\"},{\\\"include\\\":\\\"#string_single_quoted\\\"},{\\\"include\\\":\\\"#string_double_quoted\\\"},{\\\"include\\\":\\\"#markup_newline\\\"},{\\\"include\\\":\\\"#double_colon_parens\\\"},{\\\"include\\\":\\\"#double_colon_inlined\\\"},{\\\"include\\\":\\\"#double_colon_orphan\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"<-|->\\\",\\\"name\\\":\\\"keyword.other.arrow.purescript\\\"},{\\\"match\\\":\\\"[[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]]+\\\",\\\"name\\\":\\\"keyword.operator.purescript\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.purescript\\\"}],\\\"repository\\\":{\\\"block_comment\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\{-\\\\\\\\s*\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.documentation.purescript\\\"}},\\\"end\\\":\\\"-}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.documentation.purescript\\\"}},\\\"name\\\":\\\"comment.block.documentation.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\{-\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.purescript\\\"}},\\\"end\\\":\\\"-}\\\",\\\"name\\\":\\\"comment.block.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"}]}]},\\\"characters\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.purescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.octal.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.hexadecimal.purescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.escape.control.purescript\\\"}},\\\"match\\\":\\\"[ -\\\\\\\\[\\\\\\\\]-~]|(\\\\\\\\\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\\\\\\"\\\\\\\\&'\\\\\\\\\\\\\\\\abfnrtv]))|(\\\\\\\\\\\\\\\\o[0-7]+)|(\\\\\\\\\\\\\\\\x\\\\\\\\h+)|(\\\\\\\\^[@-_])\\\"}]},\\\"class_constraint\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\",\\\"name\\\":\\\"entity.name.type.purescript\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type_name\\\"},{\\\"include\\\":\\\"#generic_type\\\"}]}},\\\"match\\\":\\\"([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*)\\\\\\\\s+(?(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)(?:\\\\\\\\s*\\\\\\\\s+\\\\\\\\s*(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*))*)\\\",\\\"name\\\":\\\"meta.class-constraint.purescript\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=--+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.purescript\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.purescript\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-dash.purescript\\\"}]},{\\\"include\\\":\\\"#block_comment\\\"}]},\\\"constant_boolean\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(true|false)(?!')\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.purescript\\\"}]},\\\"constant_numeric\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(([0-9]+_?)*[0-9]+|0([Xx]\\\\\\\\h+|[Oo][0-7]+))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.purescript\\\"}]},\\\"constants_numeric_decimal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.purescript\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.purescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.purescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.purescript\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.purescript\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.purescript\\\"}},\\\"match\\\":\\\"(?(?:[^()]|\\\\\\\\(\\\\\\\\g\\\\\\\\))*)(::|∷)(?(?:[^()]|\\\\\\\\(\\\\\\\\g\\\\\\\\))*)\\\\\\\\)\\\"}]},\\\"foreign_import\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(foreign)\\\\\\\\s+(import)\\\\\\\\s+([_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.purescript\\\"}},\\\"contentName\\\":\\\"meta.type-signature.purescript\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1[\\\\\\\\t ]|[\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.foreign.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double_colon\\\"},{\\\"include\\\":\\\"#type_signature\\\"},{\\\"include\\\":\\\"#record_types\\\"}]}]},\\\"foreign_import_data\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(foreign)\\\\\\\\s+(import)\\\\\\\\s+(data)(?:\\\\\\\\s+([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\\s*(::|∷))?\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.purescript\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.double-colon.purescript\\\"}},\\\"contentName\\\":\\\"meta.kind-signature.purescript\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1[\\\\\\\\t ]|[\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.foreign.data.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#type_signature\\\"},{\\\"include\\\":\\\"#record_types\\\"}]}]},\\\"function_infix\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.purescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.purescript\\\"}},\\\"match\\\":\\\"(`)(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(`)\\\",\\\"name\\\":\\\"keyword.operator.function.infix.purescript\\\"}]},\\\"function_type_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)([_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\\s*(::|∷)(?!.*<-)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.double-colon.purescript\\\"}},\\\"contentName\\\":\\\"meta.type-signature.purescript\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1[\\\\\\\\t ]|[\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.function.type-declaration.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double_colon\\\"},{\\\"include\\\":\\\"#type_signature\\\"},{\\\"include\\\":\\\"#record_types\\\"},{\\\"include\\\":\\\"#row_types\\\"}]}]},\\\"generic_type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*\\\",\\\"name\\\":\\\"variable.other.generic-type.purescript\\\"}]},\\\"infix_op\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\((?!--+\\\\\\\\))[[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]]+\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.infix.purescript\\\"}]},\\\"infix_op_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\b(infix[lr|]?)(?!')\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"end\\\":\\\"$()\\\",\\\"name\\\":\\\"meta.infix.declaration.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#data_ctor\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.purescript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"match\\\":\\\"([[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.purescript\\\"}},\\\"match\\\":\\\"\\\\\\\\b(type)\\\\\\\\s+([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"match\\\":\\\"\\\\\\\\b(as|type)\\\\\\\\b\\\"}]}]},\\\"instance_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\b(else\\\\\\\\s+)?(newtype\\\\\\\\s+)?(instance)(?!')\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"contentName\\\":\\\"meta.type-signature.purescript\\\",\\\"end\\\":\\\"(\\\\\\\\bwhere\\\\\\\\b|(?=^\\\\\\\\S))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"name\\\":\\\"meta.declaration.instance.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_signature\\\"}]}]},\\\"keywords_orphan\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\b(derive|where|data|type|newtype|foreign(\\\\\\\\s+import)?(\\\\\\\\s+data)?)(?!')\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.purescript\\\"}]},\\\"kind_signature\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.other.star.purescript\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.other.exclaimation-point.purescript\\\"},{\\\"match\\\":\\\"#\\\",\\\"name\\\":\\\"keyword.other.pound-sign.purescript\\\"},{\\\"match\\\":\\\"->|→\\\",\\\"name\\\":\\\"keyword.other.arrow.purescript\\\"}]},\\\"markup_newline\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"markup.other.escape.newline.purescript\\\"}]},\\\"module_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\b(module)(?!')\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"end\\\":\\\"\\\\\\\\b(where)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"name\\\":\\\"meta.declaration.module.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#module_name\\\"},{\\\"include\\\":\\\"#module_exports\\\"},{\\\"match\\\":\\\"[a-z]+\\\",\\\"name\\\":\\\"invalid.purescript\\\"}]}]},\\\"module_exports\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.declaration.exports.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*\\\",\\\"name\\\":\\\"entity.name.function.purescript\\\"},{\\\"include\\\":\\\"#type_name\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.purescript\\\"},{\\\"include\\\":\\\"#infix_op\\\"},{\\\"match\\\":\\\"\\\\\\\\(.*?\\\\\\\\)\\\",\\\"name\\\":\\\"meta.other.constructor-list.purescript\\\"}]}]},\\\"module_import\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\b(import)(?!')\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"end\\\":\\\"^(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.import.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module_name\\\"},{\\\"include\\\":\\\"#string_double_quoted\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#module_exports\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"match\\\":\\\"\\\\\\\\b(as|hiding)\\\\\\\\b\\\"}]}]},\\\"module_name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)*[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.?\\\",\\\"name\\\":\\\"support.other.module.purescript\\\"}]},\\\"record_field_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([ ,]\\\\\\\"(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\"|[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\\s*(::|∷)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.purescript\\\"},{\\\"match\\\":\\\"\\\\\\\"([_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*|[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.purescript\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.double-colon.purescript\\\"}},\\\"contentName\\\":\\\"meta.type-signature.purescript\\\",\\\"end\\\":\\\"(?=([ ,]\\\\\\\"(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\"|[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\\s*(::|∷)|}| \\\\\\\\)|^(?!\\\\\\\\1[\\\\\\\\t ]|[\\\\\\\\t ]*$))\\\",\\\"name\\\":\\\"meta.record-field.type-declaration.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#record_types\\\"},{\\\"include\\\":\\\"#type_signature\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"record_types\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{(?!-)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.record.begin.purescript\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.record.end.purescript\\\"}},\\\"name\\\":\\\"meta.type.record.purescript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.purescript\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#record_field_declaration\\\"},{\\\"include\\\":\\\"#type_signature\\\"}]}]},\\\"row_types\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\((?=\\\\\\\\s*([_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*|\\\\\\\"[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*\\\\\\\"|\\\\\\\"[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*\\\\\\\")\\\\\\\\s*(::|∷))\\\",\\\"end\\\":\\\"(?=^\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.type.row.purescript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.purescript\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#record_field_declaration\\\"},{\\\"include\\\":\\\"#type_signature\\\"}]}]},\\\"string_double_quoted\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.purescript\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.purescript\\\"}},\\\"name\\\":\\\"string.quoted.double.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#characters\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.other.escape.newline.begin.purescript\\\"}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.other.escape.newline.end.purescript\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.purescript\\\"}]}]}]},\\\"string_single_quoted\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.purescript\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#characters\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.purescript\\\"}},\\\"match\\\":\\\"(')([ -\\\\\\\\[\\\\\\\\]-~]|(\\\\\\\\\\\\\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\\\\\\"\\\\\\\\&'\\\\\\\\\\\\\\\\abfnrtv]))|(\\\\\\\\\\\\\\\\o[0-7]+)|(\\\\\\\\\\\\\\\\x\\\\\\\\h+)|(\\\\\\\\^[@-_]))(')\\\",\\\"name\\\":\\\"string.quoted.single.purescript\\\"}]},\\\"string_triple_quoted\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.purescript\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.purescript\\\"}},\\\"name\\\":\\\"string.quoted.triple.purescript\\\"}]},\\\"type_kind_signature\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(data|newtype)\\\\\\\\s+([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\\\\\\s*(::|∷)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.data.purescript\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type-signature.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_signature\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.double-colon.purescript\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.declaration.type.data.signature.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_signature\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.purescript\\\"}},\\\"match\\\":\\\"=\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#data_ctor\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"meta.type-signature.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_signature\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*)\\\\\\\\s+(?(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*|(?:(?:[]'(),\\\\\\\\[→⇒\\\\\\\\w]|->|=>)+\\\\\\\\s*)+)(?:\\\\\\\\s*\\\\\\\\s+\\\\\\\\s*(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*|(?:(?:[]'(),\\\\\\\\[→⇒\\\\\\\\w]|->|=>)+\\\\\\\\s*)+))*)?\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.pipe.purescript\\\"}},\\\"match\\\":\\\"\\\\\\\\|\\\"},{\\\"include\\\":\\\"#record_types\\\"}]}]},\\\"type_name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\",\\\"name\\\":\\\"entity.name.type.purescript\\\"}]},\\\"type_signature\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#record_types\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#class_constraint\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.big-arrow.purescript\\\"}},\\\"match\\\":\\\"\\\\\\\\((?([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*)\\\\\\\\s+(?(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)(?:\\\\\\\\s*\\\\\\\\s+\\\\\\\\s*(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*))*)(?:\\\\\\\\s*,\\\\\\\\s*([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*)\\\\\\\\s+(?(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)(?:\\\\\\\\s*\\\\\\\\s+\\\\\\\\s*(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*))*))*)\\\\\\\\)\\\\\\\\s*(=>|<=|[⇐⇒])\\\",\\\"name\\\":\\\"meta.class-constraints.purescript\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#class_constraint\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.big-arrow.purescript\\\"}},\\\"match\\\":\\\"(([\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*)\\\\\\\\s+(?(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)(?:\\\\\\\\s*\\\\\\\\s+\\\\\\\\s*(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*|(?:[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(?:\\\\\\\\.[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)*\\\\\\\\.)?[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*))*))\\\\\\\\s*(=>|<=|[⇐⇒])\\\",\\\"name\\\":\\\"meta.class-constraints.purescript\\\"},{\\\"match\\\":\\\"(?|→)\\\",\\\"name\\\":\\\"keyword.other.arrow.purescript\\\"},{\\\"match\\\":\\\"(?|⇒)\\\",\\\"name\\\":\\\"keyword.other.big-arrow.purescript\\\"},{\\\"match\\\":\\\"<=|⇐\\\",\\\"name\\\":\\\"keyword.other.big-arrow-left.purescript\\\"},{\\\"match\\\":\\\"forall|∀\\\",\\\"name\\\":\\\"keyword.other.forall.purescript\\\"},{\\\"include\\\":\\\"#string_double_quoted\\\"},{\\\"include\\\":\\\"#generic_type\\\"},{\\\"include\\\":\\\"#type_name\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"[[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]]+\\\",\\\"name\\\":\\\"keyword.other.purescript\\\"}]},\\\"type_synonym_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s)*(type)\\\\\\\\s+(.+?)\\\\\\\\s*(?==|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.type.data.purescript\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.type-signature.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_signature\\\"}]}},\\\"contentName\\\":\\\"meta.type-signature.purescript\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1[\\\\\\\\t ]|[\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.declaration.type.type.purescript\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.purescript\\\"}},\\\"match\\\":\\\"=\\\"},{\\\"include\\\":\\\"#type_signature\\\"},{\\\"include\\\":\\\"#record_types\\\"},{\\\"include\\\":\\\"#row_types\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"typeclass_declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*\\\\\\\\b(class)(?!')\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.purescript\\\"}},\\\"end\\\":\\\"(\\\\\\\\bwhere\\\\\\\\b|(?=^\\\\\\\\S))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.purescript\\\"}},\\\"name\\\":\\\"meta.declaration.typeclass.purescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_signature\\\"}]}]},\\\"typed_hole\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?(?:[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*|[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*)\\\",\\\"name\\\":\\\"entity.name.function.typed-hole.purescript\\\"}]}},\\\"scopeName\\\":\\\"source.purescript\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "purescript" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,45tBAA+0xB,CAAC,EAEv2xBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cu1ofpgu.js b/src/webview-ui/build/assets/chunk-Cu1ofpgu.js new file mode 100644 index 0000000000..4d7455b1e5 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cu1ofpgu.js @@ -0,0 +1,10 @@ +import e from "./chunk-Colysff4.js" +import "./chunk-BIGW1oBm.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"Nginx","fileTypes":["conf.erb","conf","ngx","nginx.conf","mime.types","fastcgi_params","scgi_params","uwsgi_params"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"nginx","patterns":[{"match":"#.*","name":"comment.line.number-sign"},{"begin":"\\\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\\\\s*\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"contentName":"meta.embedded.block.lua","end":"}","name":"meta.context.lua.nginx","patterns":[{"include":"source.lua"}]},{"begin":"\\\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\\\\s*'","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"contentName":"meta.embedded.block.lua","end":"'","name":"meta.context.lua.nginx","patterns":[{"include":"source.lua"}]},{"begin":"\\\\b(events) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.events.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(http) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.http.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(mail) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.mail.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(stream) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.stream.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(server) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.server.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(location) +(\\\\^?~\\\\*?|=) +(.*?)\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"},"2":{"name":"keyword.operator.nginx"},"3":{"name":"string.regexp.nginx"}},"end":"}","name":"meta.context.location.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(location) +(.*?)\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"},"2":{"name":"entity.name.context.location.nginx"}},"end":"}","name":"meta.context.location.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(limit_except) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.limit_except.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(if) +\\\\(","beginCaptures":{"1":{"name":"keyword.control.nginx"}},"end":"\\\\)","name":"meta.context.if.nginx","patterns":[{"include":"#if_condition"}]},{"begin":"\\\\b(upstream) +(.*?)\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"},"2":{"name":"entity.name.context.location.nginx"}},"end":"}","name":"meta.context.upstream.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(types) +\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"}},"end":"}","name":"meta.context.types.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(map) +(\\\\$)([0-9A-Z_a-z]+) +(\\\\$)([0-9A-Z_a-z]+) *\\\\{","beginCaptures":{"1":{"name":"storage.type.directive.context.nginx"},"2":{"name":"punctuation.definition.variable.nginx"},"3":{"name":"variable.parameter.nginx"},"4":{"name":"punctuation.definition.variable.nginx"},"5":{"name":"variable.other.nginx"}},"end":"}","name":"meta.context.map.nginx","patterns":[{"include":"#values"},{"match":";","name":"punctuation.terminator.nginx"},{"match":"#.*","name":"comment.line.number-sign"}]},{"begin":"\\\\{","end":"}","name":"meta.block.nginx","patterns":[{"include":"$self"}]},{"begin":"\\\\b(return)\\\\b","beginCaptures":{"1":{"name":"keyword.control.nginx"}},"end":";","patterns":[{"include":"#values"}]},{"begin":"\\\\b(rewrite)\\\\s+","beginCaptures":{"1":{"name":"keyword.directive.nginx"}},"end":"(last|break|redirect|permanent)?(;)","endCaptures":{"1":{"name":"keyword.other.nginx"},"2":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"\\\\b(server)\\\\s+","beginCaptures":{"1":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"1":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#server_parameters"}]},{"begin":"\\\\b(internal|empty_gif|f4f|flv|hls|mp4|break|status|stub_status|ip_hash|ntlm|least_conn|upstream_conf|least_conn|zone_sync)\\\\b","beginCaptures":{"1":{"name":"keyword.directive.nginx"}},"end":"(;|$)","endCaptures":{"1":{"name":"punctuation.terminator.nginx"}}},{"begin":"([\\"'\\\\s]|^)(accept_)(mutex(?:|_delay))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(debug_)(connection|points)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(error_)(log|page)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(ssl_)(engine|buffer_size|certificate|certificate_key|ciphers|client_certificate|conf_command|crl|dhparam|early_data|ecdh_curve|ocsp|ocsp_cache|ocsp_responder|password_file|prefer_server_ciphers|protocols|reject_handshake|session_cache|session_ticket_key|session_tickets|session_timeout|stapling|stapling_file|stapling_responder|stapling_verify|trusted_certificate|verify_client|verify_depth|alpn|handshake_timeout|preread)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(worker_)(aio_requests|connections|cpu_affinity|priority|processes|rlimit_core|rlimit_nofile|shutdown_timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(auth_)(delay|basic|basic_user_file|jwt|jwt_claim_set|jwt_header_set|jwt_key_cache|jwt_key_file|jwt_key_request|jwt_leeway|jwt_type|jwt_require|request|request_set|http|http_header|http_pass_client_cert|http_timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(client_)(body_buffer_size|body_in_file_only|body_in_single_buffer|body_temp_path|body_timeout|header_buffer_size|header_timeout|max_body_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(keepalive_)(disable|requests|time|timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(limit_)(rate|rate_after|conn|conn_dry_run|conn_log_level|conn_status|conn_zone|zone|req|req_dry_run|req_log_level|req_status|req_zone)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(lingering_)(close|time|timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(log_)(not_found|subrequest|format)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(max_)(ranges|errors)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(msie_)(padding|refresh)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(open_)(file_cache|file_cache_errors|file_cache_min_uses|file_cache_valid|log_file_cache)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(send_)(lowat|timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(server_)(name|name_in_redirect|names_hash_bucket_size|names_hash_max_size|tokens)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(tcp_)(no(?:delay|push))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(types_)(hash_(?:bucket|max)_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(variables_)(hash_(?:bucket|max)_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(add_)(before_body|after_body|header|trailer)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(status_)(zone|format)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(autoindex_)(exact_size|format|localtime)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(ancient_)(browser(?:|_value))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(modern_)(browser(?:|_value))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(charset_)(map|types)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(dav_)(access|methods)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(fastcgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|catch_stderr|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|index|intercept_errors|keep_conn|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_lowat|send_timeout|socket_keepalive|split_path_info|store|store_access|temp_file_write_size|temp_path)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(geoip_)(country|city|org|proxy|proxy_recursive)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(grpc_)(bind|buffer_size|connect_timeout|hide_header|ignore_headers|intercept_errors|next_upstream|next_upstream_timeout|next_upstream_tries|pass|pass_header|read_timeout|send_timeout|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(gzip_)(buffers|comp_level|disable|http_version|min_length|proxied|types|vary|static)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(hls_)(buffers|forward_args|fragment|mp4_buffer_size|mp4_max_buffer_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(image_)(filter(?:|_buffer|_interlace|_jpeg_quality|_sharpen|_transparency|_webp_quality))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(map_)(hash_(?:bucket|max)_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(memcached_)(bind|buffer_size|connect_timeout|gzip_flag|next_upstream|next_upstream_timeout|next_upstream_tries|pass|read_timeout|send_timeout|socket_keepalive)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(mp4_)(buffer_size|max_buffer_size|limit_rate|limit_rate_after|start_key_frame)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(perl_)(modules|require|set)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(proxy_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_convert_head|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|cookie_domain|cookie_flags|cookie_path|force_ranges|headers_hash_bucket_size|headers_hash_max_size|hide_header|http_version|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|method|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|redirect|request_buffering|send_lowat|send_timeout|set_body|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path|buffer|pass_error_message|protocol|smtp_auth|timeout|protocol_timeout|download_rate|half_close|requests|responses|session_drop|ssl|upload_rate)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(real_)(ip_(?:header|recursive))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(referer_)(hash_(?:bucket|max)_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(scgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|store|store_access|temp_file_write_size|temp_path)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(secure_)(link(?:|_md5|_secret))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(session_)(log(?:|_format|_zone))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(ssi_)(last_modified|min_file_chunk|silent_errors|types|value_length)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(sub_)(filter(?:|_last_modified|_once|_types))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(health_)(check(?:|_timeout))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(userid_)(domain|expires|flags|mark|name|p3p|path|service)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(uwsgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|modifier1|modifier2|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(http2_)(body_preread_size|chunk_size|idle_timeout|max_concurrent_pushes|max_concurrent_streams|max_field_size|max_header_size|max_requests|push|push_preload|recv_buffer_size|recv_timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(http3_)(hq|max_concurrent_streams|stream_buffer_size)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(quic_)(active_connection_id_limit|bpf|gso|host_key|retry)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(xslt_)(last_modified|param|string_param|stylesheet|types)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(imap_)(auth|capabilities|client_buffer)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(pop3_)(auth|capabilities)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(smtp_)(auth|capabilities|client_buffer|greeting_delay)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(preread_)(buffer_size|timeout)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(mqtt_)(preread|buffers|rewrite_buffer_size|set_connect)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(zone_)(sync_(?:buffers|connect_retry_interval|connect_timeout|interval|recv_buffer_size|server|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|timeout))([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(otel_)(exporter|service_name|trace|trace_context|span_name|span_attr)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(js_)(body_filter|content|fetch_buffer_size|fetch_ciphers|fetch_max_response_buffer_size|fetch_protocols|fetch_timeout|fetch_trusted_certificate|fetch_verify|fetch_verify_depth|header_filter|import|include|path|periodic|preload_object|set|shared_dict_zone|var|access|filter|preread)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"},"4":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"([\\"'\\\\s]|^)(daemon|env|include|pid|user??|aio|alias|directio|etag|listen|resolver|root|satisfy|sendfile|allow|deny|api|autoindex|charset|geo|gunzip|gzip|expires|index|keyval|mirror|perl|set|slice|ssi|ssl|zone|state|hash|keepalive|queue|random|sticky|match|userid|http2|http3|protocol|timeout|xclient|starttls|mqtt|load_module|lock_file|master_process|multi_accept|pcre_jit|thread_pool|timer_resolution|working_directory|absolute_redirect|aio_write|chunked_transfer_encoding|connection_pool_size|default_type|directio_alignment|disable_symlinks|if_modified_since|ignore_invalid_headers|large_client_header_buffers|merge_slashes|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver_timeout|sendfile_max_chunk|subrequest_output_buffer_size|try_files|underscores_in_headers|addition_types|override_charset|source_charset|create_full_put_path|min_delete_depth|f4f_buffer_size|gunzip_buffers|internal_redirect|keyval_zone|access_log|mirror_request_body|random_index|set_real_ip_from|valid_referers|rewrite_log|uninitialized_variable_warn|split_clients|least_time|sticky_cookie_insert|xml_entities|google_perftools_profiles)([\\"'\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.directive.nginx"},"2":{"name":"keyword.directive.nginx"},"3":{"name":"keyword.directive.nginx"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"\\\\b([0-9A-Z_a-z]+)\\\\s+","beginCaptures":{"1":{"name":"keyword.directive.unknown.nginx"}},"end":"(;|$)","endCaptures":{"1":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]},{"begin":"\\\\b([a-z]+/[-+.0-9A-Za-z]+)\\\\b","beginCaptures":{"1":{"name":"constant.other.mediatype.nginx"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.nginx"}},"patterns":[{"include":"#values"}]}],"repository":{"if_condition":{"patterns":[{"include":"#variables"},{"match":"!?~\\\\*?\\\\s","name":"keyword.operator.nginx"},{"match":"!?-[defx]\\\\s","name":"keyword.operator.nginx"},{"match":"!?=[^=]","name":"keyword.operator.nginx"},{"include":"#regexp_and_string"}]},"regexp_and_string":{"patterns":[{"match":"\\\\^.*?\\\\$","name":"string.regexp.nginx"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.nginx","patterns":[{"match":"\\\\\\\\[\\"'\\\\\\\\nt]","name":"constant.character.escape.nginx"},{"include":"#variables"}]},{"begin":"'","end":"'","name":"string.quoted.single.nginx","patterns":[{"match":"\\\\\\\\[\\"'\\\\\\\\nt]","name":"constant.character.escape.nginx"},{"include":"#variables"}]}]},"server_parameters":{"patterns":[{"captures":{"1":{"name":"variable.parameter.nginx"},"2":{"name":"keyword.operator.nginx"},"3":{"name":"constant.numeric.nginx"}},"match":"(?:^|\\\\s)(weight|max_conn|max_fails|fail_timeout|slow_start)(=)(\\\\d[.\\\\d]*[BDGHKMSTbdghkmst]?)(?:[;\\\\s]|$)"},{"include":"#values"}]},"values":{"patterns":[{"include":"#variables"},{"match":"#.*","name":"comment.line.number-sign"},{"captures":{"1":{"name":"constant.numeric.nginx"}},"match":"(?<=\\\\G|\\\\s)(=?[0-9][.0-9]*[BDGHKMSTbdghkmst]?)(?=[\\\\t ;])"},{"match":"(?<=\\\\G|\\\\s)(on|off|true|false)(?=[\\\\t ;])","name":"constant.language.nginx"},{"match":"(?<=\\\\G|\\\\s)(kqueue|rtsig|epoll|/dev/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\\\t ;])","name":"constant.language.nginx"},{"match":"\\\\\\\\.* |~\\\\*?|!~\\\\*?","name":"keyword.operator.nginx"},{"include":"#regexp_and_string"}]},"variables":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.nginx"},"2":{"name":"variable.other.nginx"}},"match":"(\\\\$)([0-9A-Z_a-z]+)\\\\b"},{"captures":{"1":{"name":"punctuation.definition.variable.nginx"},"2":{"name":"variable.other.nginx"},"3":{"name":"punctuation.definition.variable.nginx"}},"match":"(\\\\$\\\\{)([0-9A-Z_a-z]+)(})"}]}},"scopeName":"source.nginx","embeddedLangs":["lua"]}`, + ), + ), + r = [...e, n] +export { r as default } +//# sourceMappingURL=chunk-Cu1ofpgu.js.map diff --git a/src/webview-ui/build/assets/chunk-Cu1ofpgu.js.map b/src/webview-ui/build/assets/chunk-Cu1ofpgu.js.map new file mode 100644 index 0000000000..df1ec697de --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cu1ofpgu.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-Cu1ofpgu.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/nginx.mjs" + ], + "sourcesContent": [ + "import lua from './lua.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Nginx\\\",\\\"fileTypes\\\":[\\\"conf.erb\\\",\\\"conf\\\",\\\"ngx\\\",\\\"nginx.conf\\\",\\\"mime.types\\\",\\\"fastcgi_params\\\",\\\"scgi_params\\\",\\\"uwsgi_params\\\"],\\\"foldingStartMarker\\\":\\\"\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"^\\\\\\\\s*}\\\",\\\"name\\\":\\\"nginx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.line.number-sign\\\"},{\\\"begin\\\":\\\"\\\\\\\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"contentName\\\":\\\"meta.embedded.block.lua\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.lua.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\\\\\\\\s*'\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"contentName\\\":\\\"meta.embedded.block.lua\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"meta.context.lua.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(events) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.events.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(http) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.http.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(mail) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.mail.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(stream) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.stream.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(server) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.server.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(location) +(\\\\\\\\^?~\\\\\\\\*?|=) +(.*?)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.regexp.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.location.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(location) +(.*?)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.context.location.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.location.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(limit_except) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.limit_except.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(if) +\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.nginx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.context.if.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#if_condition\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(upstream) +(.*?)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.context.location.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.upstream.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(types) +\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.types.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(map) +(\\\\\\\\$)([0-9A-Z_a-z]+) +(\\\\\\\\$)([0-9A-Z_a-z]+) *\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.directive.context.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.nginx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.nginx\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.context.map.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.nginx\\\"},{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.line.number-sign\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.block.nginx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(return)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(rewrite)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\"(last|break|redirect|permanent)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(server)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#server_parameters\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(internal|empty_gif|f4f|flv|hls|mp4|break|status|stub_status|ip_hash|ntlm|least_conn|upstream_conf|least_conn|zone_sync)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\"(;|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}}},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(accept_)(mutex(?:|_delay))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(debug_)(connection|points)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(error_)(log|page)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(ssl_)(engine|buffer_size|certificate|certificate_key|ciphers|client_certificate|conf_command|crl|dhparam|early_data|ecdh_curve|ocsp|ocsp_cache|ocsp_responder|password_file|prefer_server_ciphers|protocols|reject_handshake|session_cache|session_ticket_key|session_tickets|session_timeout|stapling|stapling_file|stapling_responder|stapling_verify|trusted_certificate|verify_client|verify_depth|alpn|handshake_timeout|preread)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(worker_)(aio_requests|connections|cpu_affinity|priority|processes|rlimit_core|rlimit_nofile|shutdown_timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(auth_)(delay|basic|basic_user_file|jwt|jwt_claim_set|jwt_header_set|jwt_key_cache|jwt_key_file|jwt_key_request|jwt_leeway|jwt_type|jwt_require|request|request_set|http|http_header|http_pass_client_cert|http_timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(client_)(body_buffer_size|body_in_file_only|body_in_single_buffer|body_temp_path|body_timeout|header_buffer_size|header_timeout|max_body_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(keepalive_)(disable|requests|time|timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(limit_)(rate|rate_after|conn|conn_dry_run|conn_log_level|conn_status|conn_zone|zone|req|req_dry_run|req_log_level|req_status|req_zone)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(lingering_)(close|time|timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(log_)(not_found|subrequest|format)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(max_)(ranges|errors)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(msie_)(padding|refresh)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(open_)(file_cache|file_cache_errors|file_cache_min_uses|file_cache_valid|log_file_cache)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(send_)(lowat|timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(server_)(name|name_in_redirect|names_hash_bucket_size|names_hash_max_size|tokens)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(tcp_)(no(?:delay|push))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(types_)(hash_(?:bucket|max)_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(variables_)(hash_(?:bucket|max)_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(add_)(before_body|after_body|header|trailer)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(status_)(zone|format)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(autoindex_)(exact_size|format|localtime)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(ancient_)(browser(?:|_value))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(modern_)(browser(?:|_value))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(charset_)(map|types)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(dav_)(access|methods)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(fastcgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|catch_stderr|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|index|intercept_errors|keep_conn|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_lowat|send_timeout|socket_keepalive|split_path_info|store|store_access|temp_file_write_size|temp_path)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(geoip_)(country|city|org|proxy|proxy_recursive)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(grpc_)(bind|buffer_size|connect_timeout|hide_header|ignore_headers|intercept_errors|next_upstream|next_upstream_timeout|next_upstream_tries|pass|pass_header|read_timeout|send_timeout|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(gzip_)(buffers|comp_level|disable|http_version|min_length|proxied|types|vary|static)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(hls_)(buffers|forward_args|fragment|mp4_buffer_size|mp4_max_buffer_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(image_)(filter(?:|_buffer|_interlace|_jpeg_quality|_sharpen|_transparency|_webp_quality))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(map_)(hash_(?:bucket|max)_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(memcached_)(bind|buffer_size|connect_timeout|gzip_flag|next_upstream|next_upstream_timeout|next_upstream_tries|pass|read_timeout|send_timeout|socket_keepalive)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(mp4_)(buffer_size|max_buffer_size|limit_rate|limit_rate_after|start_key_frame)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(perl_)(modules|require|set)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(proxy_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_convert_head|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|cookie_domain|cookie_flags|cookie_path|force_ranges|headers_hash_bucket_size|headers_hash_max_size|hide_header|http_version|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|method|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|redirect|request_buffering|send_lowat|send_timeout|set_body|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path|buffer|pass_error_message|protocol|smtp_auth|timeout|protocol_timeout|download_rate|half_close|requests|responses|session_drop|ssl|upload_rate)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(real_)(ip_(?:header|recursive))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(referer_)(hash_(?:bucket|max)_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(scgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|store|store_access|temp_file_write_size|temp_path)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(secure_)(link(?:|_md5|_secret))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(session_)(log(?:|_format|_zone))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(ssi_)(last_modified|min_file_chunk|silent_errors|types|value_length)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(sub_)(filter(?:|_last_modified|_once|_types))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(health_)(check(?:|_timeout))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(userid_)(domain|expires|flags|mark|name|p3p|path|service)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(uwsgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|modifier1|modifier2|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(http2_)(body_preread_size|chunk_size|idle_timeout|max_concurrent_pushes|max_concurrent_streams|max_field_size|max_header_size|max_requests|push|push_preload|recv_buffer_size|recv_timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(http3_)(hq|max_concurrent_streams|stream_buffer_size)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(quic_)(active_connection_id_limit|bpf|gso|host_key|retry)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(xslt_)(last_modified|param|string_param|stylesheet|types)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(imap_)(auth|capabilities|client_buffer)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(pop3_)(auth|capabilities)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(smtp_)(auth|capabilities|client_buffer|greeting_delay)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(preread_)(buffer_size|timeout)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(mqtt_)(preread|buffers|rewrite_buffer_size|set_connect)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(zone_)(sync_(?:buffers|connect_retry_interval|connect_timeout|interval|recv_buffer_size|server|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|timeout))([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(otel_)(exporter|service_name|trace|trace_context|span_name|span_attr)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(js_)(body_filter|content|fetch_buffer_size|fetch_ciphers|fetch_max_response_buffer_size|fetch_protocols|fetch_timeout|fetch_trusted_certificate|fetch_verify|fetch_verify_depth|header_filter|import|include|path|periodic|preload_object|set|shared_dict_zone|var|access|filter|preread)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'\\\\\\\\s]|^)(daemon|env|include|pid|user??|aio|alias|directio|etag|listen|resolver|root|satisfy|sendfile|allow|deny|api|autoindex|charset|geo|gunzip|gzip|expires|index|keyval|mirror|perl|set|slice|ssi|ssl|zone|state|hash|keepalive|queue|random|sticky|match|userid|http2|http3|protocol|timeout|xclient|starttls|mqtt|load_module|lock_file|master_process|multi_accept|pcre_jit|thread_pool|timer_resolution|working_directory|absolute_redirect|aio_write|chunked_transfer_encoding|connection_pool_size|default_type|directio_alignment|disable_symlinks|if_modified_since|ignore_invalid_headers|large_client_header_buffers|merge_slashes|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver_timeout|sendfile_max_chunk|subrequest_output_buffer_size|try_files|underscores_in_headers|addition_types|override_charset|source_charset|create_full_put_path|min_delete_depth|f4f_buffer_size|gunzip_buffers|internal_redirect|keyval_zone|access_log|mirror_request_body|random_index|set_real_ip_from|valid_referers|rewrite_log|uninitialized_variable_warn|split_clients|least_time|sticky_cookie_insert|xml_entities|google_perftools_profiles)([\\\\\\\"'\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.directive.nginx\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b([0-9A-Z_a-z]+)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.unknown.nginx\\\"}},\\\"end\\\":\\\"(;|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b([a-z]+/[-+.0-9A-Za-z]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.mediatype.nginx\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.nginx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#values\\\"}]}],\\\"repository\\\":{\\\"if_condition\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"match\\\":\\\"!?~\\\\\\\\*?\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.nginx\\\"},{\\\"match\\\":\\\"!?-[defx]\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.nginx\\\"},{\\\"match\\\":\\\"!?=[^=]\\\",\\\"name\\\":\\\"keyword.operator.nginx\\\"},{\\\"include\\\":\\\"#regexp_and_string\\\"}]},\\\"regexp_and_string\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\^.*?\\\\\\\\$\\\",\\\"name\\\":\\\"string.regexp.nginx\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.nginx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\nt]\\\",\\\"name\\\":\\\"constant.character.escape.nginx\\\"},{\\\"include\\\":\\\"#variables\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.nginx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\nt]\\\",\\\"name\\\":\\\"constant.character.escape.nginx\\\"},{\\\"include\\\":\\\"#variables\\\"}]}]},\\\"server_parameters\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.nginx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\s)(weight|max_conn|max_fails|fail_timeout|slow_start)(=)(\\\\\\\\d[.\\\\\\\\d]*[BDGHKMSTbdghkmst]?)(?:[;\\\\\\\\s]|$)\\\"},{\\\"include\\\":\\\"#values\\\"}]},\\\"values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.line.number-sign\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.nginx\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\G|\\\\\\\\s)(=?[0-9][.0-9]*[BDGHKMSTbdghkmst]?)(?=[\\\\\\\\t ;])\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\G|\\\\\\\\s)(on|off|true|false)(?=[\\\\\\\\t ;])\\\",\\\"name\\\":\\\"constant.language.nginx\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\G|\\\\\\\\s)(kqueue|rtsig|epoll|/dev/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\\\\\\\t ;])\\\",\\\"name\\\":\\\"constant.language.nginx\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.* |~\\\\\\\\*?|!~\\\\\\\\*?\\\",\\\"name\\\":\\\"keyword.operator.nginx\\\"},{\\\"include\\\":\\\"#regexp_and_string\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.nginx\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([0-9A-Z_a-z]+)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.nginx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.nginx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.nginx\\\"}},\\\"match\\\":\\\"(\\\\\\\\$\\\\\\\\{)([0-9A-Z_a-z]+)(})\\\"}]}},\\\"scopeName\\\":\\\"source.nginx\\\",\\\"embeddedLangs\\\":[\\\"lua\\\"]}\"))\n\nexport default [\n...lua,\nlang\n]\n" + ], + "names": [ + "lang", + "nginx", + "lua" + ], + "mappings": "+DAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,g7kCAAwvsC,CAAC,EAEhxsCC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cuk6v7N8.js b/src/webview-ui/build/assets/chunk-Cuk6v7N8.js new file mode 100644 index 0000000000..2cb39404bd --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cuk6v7N8.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#f78166","activityBar.background":"#0d1117","activityBar.border":"#30363d","activityBar.foreground":"#e6edf3","activityBar.inactiveForeground":"#7d8590","activityBarBadge.background":"#1f6feb","activityBarBadge.foreground":"#ffffff","badge.background":"#1f6feb","badge.foreground":"#ffffff","breadcrumb.activeSelectionForeground":"#7d8590","breadcrumb.focusForeground":"#e6edf3","breadcrumb.foreground":"#7d8590","breadcrumbPicker.background":"#161b22","button.background":"#238636","button.foreground":"#ffffff","button.hoverBackground":"#2ea043","button.secondaryBackground":"#282e33","button.secondaryForeground":"#c9d1d9","button.secondaryHoverBackground":"#30363d","checkbox.background":"#161b22","checkbox.border":"#30363d","debugConsole.errorForeground":"#ffa198","debugConsole.infoForeground":"#8b949e","debugConsole.sourceForeground":"#e3b341","debugConsole.warningForeground":"#d29922","debugConsoleInputIcon.foreground":"#bc8cff","debugIcon.breakpointForeground":"#f85149","debugTokenExpression.boolean":"#56d364","debugTokenExpression.error":"#ffa198","debugTokenExpression.name":"#79c0ff","debugTokenExpression.number":"#56d364","debugTokenExpression.string":"#a5d6ff","debugTokenExpression.value":"#a5d6ff","debugToolBar.background":"#161b22","descriptionForeground":"#7d8590","diffEditor.insertedLineBackground":"#23863626","diffEditor.insertedTextBackground":"#3fb9504d","diffEditor.removedLineBackground":"#da363326","diffEditor.removedTextBackground":"#ff7b724d","dropdown.background":"#161b22","dropdown.border":"#30363d","dropdown.foreground":"#e6edf3","dropdown.listBackground":"#161b22","editor.background":"#0d1117","editor.findMatchBackground":"#9e6a03","editor.findMatchHighlightBackground":"#f2cc6080","editor.focusedStackFrameHighlightBackground":"#2ea04366","editor.foldBackground":"#6e76811a","editor.foreground":"#e6edf3","editor.lineHighlightBackground":"#6e76811a","editor.linkedEditingBackground":"#2f81f712","editor.selectionHighlightBackground":"#3fb95040","editor.stackFrameHighlightBackground":"#bb800966","editor.wordHighlightBackground":"#6e768180","editor.wordHighlightBorder":"#6e768199","editor.wordHighlightStrongBackground":"#6e76814d","editor.wordHighlightStrongBorder":"#6e768199","editorBracketHighlight.foreground1":"#79c0ff","editorBracketHighlight.foreground2":"#56d364","editorBracketHighlight.foreground3":"#e3b341","editorBracketHighlight.foreground4":"#ffa198","editorBracketHighlight.foreground5":"#ff9bce","editorBracketHighlight.foreground6":"#d2a8ff","editorBracketHighlight.unexpectedBracket.foreground":"#7d8590","editorBracketMatch.background":"#3fb95040","editorBracketMatch.border":"#3fb95099","editorCursor.foreground":"#2f81f7","editorGroup.border":"#30363d","editorGroupHeader.tabsBackground":"#010409","editorGroupHeader.tabsBorder":"#30363d","editorGutter.addedBackground":"#2ea04366","editorGutter.deletedBackground":"#f8514966","editorGutter.modifiedBackground":"#bb800966","editorIndentGuide.activeBackground":"#e6edf33d","editorIndentGuide.background":"#e6edf31f","editorInlayHint.background":"#8b949e33","editorInlayHint.foreground":"#7d8590","editorInlayHint.paramBackground":"#8b949e33","editorInlayHint.paramForeground":"#7d8590","editorInlayHint.typeBackground":"#8b949e33","editorInlayHint.typeForeground":"#7d8590","editorLineNumber.activeForeground":"#e6edf3","editorLineNumber.foreground":"#6e7681","editorOverviewRuler.border":"#010409","editorWhitespace.foreground":"#484f58","editorWidget.background":"#161b22","errorForeground":"#f85149","focusBorder":"#1f6feb","foreground":"#e6edf3","gitDecoration.addedResourceForeground":"#3fb950","gitDecoration.conflictingResourceForeground":"#db6d28","gitDecoration.deletedResourceForeground":"#f85149","gitDecoration.ignoredResourceForeground":"#6e7681","gitDecoration.modifiedResourceForeground":"#d29922","gitDecoration.submoduleResourceForeground":"#7d8590","gitDecoration.untrackedResourceForeground":"#3fb950","icon.foreground":"#7d8590","input.background":"#0d1117","input.border":"#30363d","input.foreground":"#e6edf3","input.placeholderForeground":"#6e7681","keybindingLabel.foreground":"#e6edf3","list.activeSelectionBackground":"#6e768166","list.activeSelectionForeground":"#e6edf3","list.focusBackground":"#388bfd26","list.focusForeground":"#e6edf3","list.highlightForeground":"#2f81f7","list.hoverBackground":"#6e76811a","list.hoverForeground":"#e6edf3","list.inactiveFocusBackground":"#388bfd26","list.inactiveSelectionBackground":"#6e768166","list.inactiveSelectionForeground":"#e6edf3","minimapSlider.activeBackground":"#8b949e47","minimapSlider.background":"#8b949e33","minimapSlider.hoverBackground":"#8b949e3d","notificationCenterHeader.background":"#161b22","notificationCenterHeader.foreground":"#7d8590","notifications.background":"#161b22","notifications.border":"#30363d","notifications.foreground":"#e6edf3","notificationsErrorIcon.foreground":"#f85149","notificationsInfoIcon.foreground":"#2f81f7","notificationsWarningIcon.foreground":"#d29922","panel.background":"#010409","panel.border":"#30363d","panelInput.border":"#30363d","panelTitle.activeBorder":"#f78166","panelTitle.activeForeground":"#e6edf3","panelTitle.inactiveForeground":"#7d8590","peekViewEditor.background":"#6e76811a","peekViewEditor.matchHighlightBackground":"#bb800966","peekViewResult.background":"#0d1117","peekViewResult.matchHighlightBackground":"#bb800966","pickerGroup.border":"#30363d","pickerGroup.foreground":"#7d8590","progressBar.background":"#1f6feb","quickInput.background":"#161b22","quickInput.foreground":"#e6edf3","scrollbar.shadow":"#484f5833","scrollbarSlider.activeBackground":"#8b949e47","scrollbarSlider.background":"#8b949e33","scrollbarSlider.hoverBackground":"#8b949e3d","settings.headerForeground":"#e6edf3","settings.modifiedItemIndicator":"#bb800966","sideBar.background":"#010409","sideBar.border":"#30363d","sideBar.foreground":"#e6edf3","sideBarSectionHeader.background":"#010409","sideBarSectionHeader.border":"#30363d","sideBarSectionHeader.foreground":"#e6edf3","sideBarTitle.foreground":"#e6edf3","statusBar.background":"#0d1117","statusBar.border":"#30363d","statusBar.debuggingBackground":"#da3633","statusBar.debuggingForeground":"#ffffff","statusBar.focusBorder":"#1f6feb80","statusBar.foreground":"#7d8590","statusBar.noFolderBackground":"#0d1117","statusBarItem.activeBackground":"#e6edf31f","statusBarItem.focusBorder":"#1f6feb","statusBarItem.hoverBackground":"#e6edf314","statusBarItem.prominentBackground":"#6e768166","statusBarItem.remoteBackground":"#30363d","statusBarItem.remoteForeground":"#e6edf3","symbolIcon.arrayForeground":"#f0883e","symbolIcon.booleanForeground":"#58a6ff","symbolIcon.classForeground":"#f0883e","symbolIcon.colorForeground":"#79c0ff","symbolIcon.constantForeground":["#aff5b4","#7ee787","#56d364","#3fb950","#2ea043","#238636","#196c2e","#0f5323","#033a16","#04260f"],"symbolIcon.constructorForeground":"#d2a8ff","symbolIcon.enumeratorForeground":"#f0883e","symbolIcon.enumeratorMemberForeground":"#58a6ff","symbolIcon.eventForeground":"#6e7681","symbolIcon.fieldForeground":"#f0883e","symbolIcon.fileForeground":"#d29922","symbolIcon.folderForeground":"#d29922","symbolIcon.functionForeground":"#bc8cff","symbolIcon.interfaceForeground":"#f0883e","symbolIcon.keyForeground":"#58a6ff","symbolIcon.keywordForeground":"#ff7b72","symbolIcon.methodForeground":"#bc8cff","symbolIcon.moduleForeground":"#ff7b72","symbolIcon.namespaceForeground":"#ff7b72","symbolIcon.nullForeground":"#58a6ff","symbolIcon.numberForeground":"#3fb950","symbolIcon.objectForeground":"#f0883e","symbolIcon.operatorForeground":"#79c0ff","symbolIcon.packageForeground":"#f0883e","symbolIcon.propertyForeground":"#f0883e","symbolIcon.referenceForeground":"#58a6ff","symbolIcon.snippetForeground":"#58a6ff","symbolIcon.stringForeground":"#79c0ff","symbolIcon.structForeground":"#f0883e","symbolIcon.textForeground":"#79c0ff","symbolIcon.typeParameterForeground":"#79c0ff","symbolIcon.unitForeground":"#58a6ff","symbolIcon.variableForeground":"#f0883e","tab.activeBackground":"#0d1117","tab.activeBorder":"#0d1117","tab.activeBorderTop":"#f78166","tab.activeForeground":"#e6edf3","tab.border":"#30363d","tab.hoverBackground":"#0d1117","tab.inactiveBackground":"#010409","tab.inactiveForeground":"#7d8590","tab.unfocusedActiveBorder":"#0d1117","tab.unfocusedActiveBorderTop":"#30363d","tab.unfocusedHoverBackground":"#6e76811a","terminal.ansiBlack":"#484f58","terminal.ansiBlue":"#58a6ff","terminal.ansiBrightBlack":"#6e7681","terminal.ansiBrightBlue":"#79c0ff","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightGreen":"#56d364","terminal.ansiBrightMagenta":"#d2a8ff","terminal.ansiBrightRed":"#ffa198","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#e3b341","terminal.ansiCyan":"#39c5cf","terminal.ansiGreen":"#3fb950","terminal.ansiMagenta":"#bc8cff","terminal.ansiRed":"#ff7b72","terminal.ansiWhite":"#b1bac4","terminal.ansiYellow":"#d29922","terminal.foreground":"#e6edf3","textBlockQuote.background":"#010409","textBlockQuote.border":"#30363d","textCodeBlock.background":"#6e768166","textLink.activeForeground":"#2f81f7","textLink.foreground":"#2f81f7","textPreformat.background":"#6e768166","textPreformat.foreground":"#7d8590","textSeparator.foreground":"#21262d","titleBar.activeBackground":"#0d1117","titleBar.activeForeground":"#7d8590","titleBar.border":"#30363d","titleBar.inactiveBackground":"#010409","titleBar.inactiveForeground":"#7d8590","tree.indentGuidesStroke":"#21262d","welcomePage.buttonBackground":"#21262d","welcomePage.buttonHoverBackground":"#30363d"},"displayName":"GitHub Dark Default","name":"github-dark-default","semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#8b949e"}},{"scope":["constant.other.placeholder","constant.character"],"settings":{"foreground":"#ff7b72"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language","entity"],"settings":{"foreground":"#79c0ff"}},{"scope":["entity.name","meta.export.default","meta.definition.variable"],"settings":{"foreground":"#ffa657"}},{"scope":["variable.parameter.function","meta.jsx.children","meta.block","meta.tag.attributes","entity.name.constant","meta.object.member","meta.embedded.expression"],"settings":{"foreground":"#e6edf3"}},{"scope":"entity.name.function","settings":{"foreground":"#d2a8ff"}},{"scope":["entity.name.tag","support.class.component"],"settings":{"foreground":"#7ee787"}},{"scope":"keyword","settings":{"foreground":"#ff7b72"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#ff7b72"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e6edf3"}},{"scope":["string","string punctuation.section.embedded source"],"settings":{"foreground":"#a5d6ff"}},{"scope":"support","settings":{"foreground":"#79c0ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79c0ff"}},{"scope":"variable","settings":{"foreground":"#ffa657"}},{"scope":"variable.other","settings":{"foreground":"#e6edf3"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#ffa198"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#ffa198"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#ffa198"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#ffa198"}},{"scope":"carriage-return","settings":{"background":"#ff7b72","content":"^M","fontStyle":"italic underline","foreground":"#f0f6fc"}},{"scope":"message.error","settings":{"foreground":"#ffa198"}},{"scope":"string variable","settings":{"foreground":"#79c0ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#a5d6ff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#a5d6ff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#7ee787"}},{"scope":"support.constant","settings":{"foreground":"#79c0ff"}},{"scope":"support.variable","settings":{"foreground":"#79c0ff"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#7ee787"}},{"scope":"meta.module-reference","settings":{"foreground":"#79c0ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffa657"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79c0ff"}},{"scope":"markup.quote","settings":{"foreground":"#7ee787"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e6edf3"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e6edf3"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79c0ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#490202","foreground":"#ffa198"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#ff7b72"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#04260f","foreground":"#7ee787"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#5a1e02","foreground":"#ffa657"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79c0ff","foreground":"#161b22"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#d2a8ff"}},{"scope":"meta.diff.header","settings":{"foreground":"#79c0ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79c0ff"}},{"scope":"meta.output","settings":{"foreground":"#79c0ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#8b949e"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#ffa198"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#a5d6ff"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-Cuk6v7N8.js.map diff --git a/src/webview-ui/build/assets/chunk-Cuk6v7N8.js.map b/src/webview-ui/build/assets/chunk-Cuk6v7N8.js.map new file mode 100644 index 0000000000..1b46b35161 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cuk6v7N8.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-Cuk6v7N8.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/github-dark-default.mjs" + ], + "sourcesContent": [ + "/* Theme: github-dark-default */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f78166\\\",\\\"activityBar.background\\\":\\\"#0d1117\\\",\\\"activityBar.border\\\":\\\"#30363d\\\",\\\"activityBar.foreground\\\":\\\"#e6edf3\\\",\\\"activityBar.inactiveForeground\\\":\\\"#7d8590\\\",\\\"activityBarBadge.background\\\":\\\"#1f6feb\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#1f6feb\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#7d8590\\\",\\\"breadcrumb.focusForeground\\\":\\\"#e6edf3\\\",\\\"breadcrumb.foreground\\\":\\\"#7d8590\\\",\\\"breadcrumbPicker.background\\\":\\\"#161b22\\\",\\\"button.background\\\":\\\"#238636\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#2ea043\\\",\\\"button.secondaryBackground\\\":\\\"#282e33\\\",\\\"button.secondaryForeground\\\":\\\"#c9d1d9\\\",\\\"button.secondaryHoverBackground\\\":\\\"#30363d\\\",\\\"checkbox.background\\\":\\\"#161b22\\\",\\\"checkbox.border\\\":\\\"#30363d\\\",\\\"debugConsole.errorForeground\\\":\\\"#ffa198\\\",\\\"debugConsole.infoForeground\\\":\\\"#8b949e\\\",\\\"debugConsole.sourceForeground\\\":\\\"#e3b341\\\",\\\"debugConsole.warningForeground\\\":\\\"#d29922\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#bc8cff\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f85149\\\",\\\"debugTokenExpression.boolean\\\":\\\"#56d364\\\",\\\"debugTokenExpression.error\\\":\\\"#ffa198\\\",\\\"debugTokenExpression.name\\\":\\\"#79c0ff\\\",\\\"debugTokenExpression.number\\\":\\\"#56d364\\\",\\\"debugTokenExpression.string\\\":\\\"#a5d6ff\\\",\\\"debugTokenExpression.value\\\":\\\"#a5d6ff\\\",\\\"debugToolBar.background\\\":\\\"#161b22\\\",\\\"descriptionForeground\\\":\\\"#7d8590\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#23863626\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#3fb9504d\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#da363326\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff7b724d\\\",\\\"dropdown.background\\\":\\\"#161b22\\\",\\\"dropdown.border\\\":\\\"#30363d\\\",\\\"dropdown.foreground\\\":\\\"#e6edf3\\\",\\\"dropdown.listBackground\\\":\\\"#161b22\\\",\\\"editor.background\\\":\\\"#0d1117\\\",\\\"editor.findMatchBackground\\\":\\\"#9e6a03\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#f2cc6080\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#2ea04366\\\",\\\"editor.foldBackground\\\":\\\"#6e76811a\\\",\\\"editor.foreground\\\":\\\"#e6edf3\\\",\\\"editor.lineHighlightBackground\\\":\\\"#6e76811a\\\",\\\"editor.linkedEditingBackground\\\":\\\"#2f81f712\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#3fb95040\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#bb800966\\\",\\\"editor.wordHighlightBackground\\\":\\\"#6e768180\\\",\\\"editor.wordHighlightBorder\\\":\\\"#6e768199\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6e76814d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#6e768199\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#79c0ff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#56d364\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#e3b341\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#ffa198\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ff9bce\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d2a8ff\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#7d8590\\\",\\\"editorBracketMatch.background\\\":\\\"#3fb95040\\\",\\\"editorBracketMatch.border\\\":\\\"#3fb95099\\\",\\\"editorCursor.foreground\\\":\\\"#2f81f7\\\",\\\"editorGroup.border\\\":\\\"#30363d\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#010409\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#30363d\\\",\\\"editorGutter.addedBackground\\\":\\\"#2ea04366\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f8514966\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#bb800966\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#e6edf33d\\\",\\\"editorIndentGuide.background\\\":\\\"#e6edf31f\\\",\\\"editorInlayHint.background\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.foreground\\\":\\\"#7d8590\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#7d8590\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#7d8590\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e6edf3\\\",\\\"editorLineNumber.foreground\\\":\\\"#6e7681\\\",\\\"editorOverviewRuler.border\\\":\\\"#010409\\\",\\\"editorWhitespace.foreground\\\":\\\"#484f58\\\",\\\"editorWidget.background\\\":\\\"#161b22\\\",\\\"errorForeground\\\":\\\"#f85149\\\",\\\"focusBorder\\\":\\\"#1f6feb\\\",\\\"foreground\\\":\\\"#e6edf3\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3fb950\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#db6d28\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f85149\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e7681\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d29922\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#7d8590\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#3fb950\\\",\\\"icon.foreground\\\":\\\"#7d8590\\\",\\\"input.background\\\":\\\"#0d1117\\\",\\\"input.border\\\":\\\"#30363d\\\",\\\"input.foreground\\\":\\\"#e6edf3\\\",\\\"input.placeholderForeground\\\":\\\"#6e7681\\\",\\\"keybindingLabel.foreground\\\":\\\"#e6edf3\\\",\\\"list.activeSelectionBackground\\\":\\\"#6e768166\\\",\\\"list.activeSelectionForeground\\\":\\\"#e6edf3\\\",\\\"list.focusBackground\\\":\\\"#388bfd26\\\",\\\"list.focusForeground\\\":\\\"#e6edf3\\\",\\\"list.highlightForeground\\\":\\\"#2f81f7\\\",\\\"list.hoverBackground\\\":\\\"#6e76811a\\\",\\\"list.hoverForeground\\\":\\\"#e6edf3\\\",\\\"list.inactiveFocusBackground\\\":\\\"#388bfd26\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#6e768166\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e6edf3\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8b949e47\\\",\\\"minimapSlider.background\\\":\\\"#8b949e33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8b949e3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#161b22\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#7d8590\\\",\\\"notifications.background\\\":\\\"#161b22\\\",\\\"notifications.border\\\":\\\"#30363d\\\",\\\"notifications.foreground\\\":\\\"#e6edf3\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f85149\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#2f81f7\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#d29922\\\",\\\"panel.background\\\":\\\"#010409\\\",\\\"panel.border\\\":\\\"#30363d\\\",\\\"panelInput.border\\\":\\\"#30363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#f78166\\\",\\\"panelTitle.activeForeground\\\":\\\"#e6edf3\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#7d8590\\\",\\\"peekViewEditor.background\\\":\\\"#6e76811a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#bb800966\\\",\\\"peekViewResult.background\\\":\\\"#0d1117\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#bb800966\\\",\\\"pickerGroup.border\\\":\\\"#30363d\\\",\\\"pickerGroup.foreground\\\":\\\"#7d8590\\\",\\\"progressBar.background\\\":\\\"#1f6feb\\\",\\\"quickInput.background\\\":\\\"#161b22\\\",\\\"quickInput.foreground\\\":\\\"#e6edf3\\\",\\\"scrollbar.shadow\\\":\\\"#484f5833\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#8b949e47\\\",\\\"scrollbarSlider.background\\\":\\\"#8b949e33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8b949e3d\\\",\\\"settings.headerForeground\\\":\\\"#e6edf3\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#bb800966\\\",\\\"sideBar.background\\\":\\\"#010409\\\",\\\"sideBar.border\\\":\\\"#30363d\\\",\\\"sideBar.foreground\\\":\\\"#e6edf3\\\",\\\"sideBarSectionHeader.background\\\":\\\"#010409\\\",\\\"sideBarSectionHeader.border\\\":\\\"#30363d\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#e6edf3\\\",\\\"sideBarTitle.foreground\\\":\\\"#e6edf3\\\",\\\"statusBar.background\\\":\\\"#0d1117\\\",\\\"statusBar.border\\\":\\\"#30363d\\\",\\\"statusBar.debuggingBackground\\\":\\\"#da3633\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.focusBorder\\\":\\\"#1f6feb80\\\",\\\"statusBar.foreground\\\":\\\"#7d8590\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0d1117\\\",\\\"statusBarItem.activeBackground\\\":\\\"#e6edf31f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#1f6feb\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#e6edf314\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#6e768166\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#30363d\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#e6edf3\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.classForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.colorForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.constantForeground\\\":[\\\"#aff5b4\\\",\\\"#7ee787\\\",\\\"#56d364\\\",\\\"#3fb950\\\",\\\"#2ea043\\\",\\\"#238636\\\",\\\"#196c2e\\\",\\\"#0f5323\\\",\\\"#033a16\\\",\\\"#04260f\\\"],\\\"symbolIcon.constructorForeground\\\":\\\"#d2a8ff\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#6e7681\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.fileForeground\\\":\\\"#d29922\\\",\\\"symbolIcon.folderForeground\\\":\\\"#d29922\\\",\\\"symbolIcon.functionForeground\\\":\\\"#bc8cff\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.keyForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.methodForeground\\\":\\\"#bc8cff\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.nullForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.numberForeground\\\":\\\"#3fb950\\\",\\\"symbolIcon.objectForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.stringForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.structForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.textForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.variableForeground\\\":\\\"#f0883e\\\",\\\"tab.activeBackground\\\":\\\"#0d1117\\\",\\\"tab.activeBorder\\\":\\\"#0d1117\\\",\\\"tab.activeBorderTop\\\":\\\"#f78166\\\",\\\"tab.activeForeground\\\":\\\"#e6edf3\\\",\\\"tab.border\\\":\\\"#30363d\\\",\\\"tab.hoverBackground\\\":\\\"#0d1117\\\",\\\"tab.inactiveBackground\\\":\\\"#010409\\\",\\\"tab.inactiveForeground\\\":\\\"#7d8590\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0d1117\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#30363d\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#6e76811a\\\",\\\"terminal.ansiBlack\\\":\\\"#484f58\\\",\\\"terminal.ansiBlue\\\":\\\"#58a6ff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#6e7681\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#79c0ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#56d364\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a8ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ffa198\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e3b341\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#3fb950\\\",\\\"terminal.ansiMagenta\\\":\\\"#bc8cff\\\",\\\"terminal.ansiRed\\\":\\\"#ff7b72\\\",\\\"terminal.ansiWhite\\\":\\\"#b1bac4\\\",\\\"terminal.ansiYellow\\\":\\\"#d29922\\\",\\\"terminal.foreground\\\":\\\"#e6edf3\\\",\\\"textBlockQuote.background\\\":\\\"#010409\\\",\\\"textBlockQuote.border\\\":\\\"#30363d\\\",\\\"textCodeBlock.background\\\":\\\"#6e768166\\\",\\\"textLink.activeForeground\\\":\\\"#2f81f7\\\",\\\"textLink.foreground\\\":\\\"#2f81f7\\\",\\\"textPreformat.background\\\":\\\"#6e768166\\\",\\\"textPreformat.foreground\\\":\\\"#7d8590\\\",\\\"textSeparator.foreground\\\":\\\"#21262d\\\",\\\"titleBar.activeBackground\\\":\\\"#0d1117\\\",\\\"titleBar.activeForeground\\\":\\\"#7d8590\\\",\\\"titleBar.border\\\":\\\"#30363d\\\",\\\"titleBar.inactiveBackground\\\":\\\"#010409\\\",\\\"titleBar.inactiveForeground\\\":\\\"#7d8590\\\",\\\"tree.indentGuidesStroke\\\":\\\"#21262d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#21262d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#30363d\\\"},\\\"displayName\\\":\\\"GitHub Dark Default\\\",\\\"name\\\":\\\"github-dark-default\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b949e\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a8ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ff7b72\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#f0f6fc\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#490202\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#04260f\\\",\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#5a1e02\\\",\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79c0ff\\\",\\\"foreground\\\":\\\"#161b22\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d2a8ff\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b949e\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "githubDarkDefault" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,yicAA2of,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Cv9koXgw.js b/src/webview-ui/build/assets/chunk-Cv9koXgw.js new file mode 100644 index 0000000000..2a6e460331 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cv9koXgw.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#e6b450b3","activityBar.background":"#0b0e14","activityBar.border":"#0b0e14","activityBar.foreground":"#565b66cc","activityBar.inactiveForeground":"#565b6699","activityBarBadge.background":"#e6b450","activityBarBadge.foreground":"#0b0e14","badge.background":"#e6b45033","badge.foreground":"#e6b450","button.background":"#e6b450","button.foreground":"#0b0e14","button.hoverBackground":"#e1af4b","button.secondaryBackground":"#565b6633","button.secondaryForeground":"#bfbdb6","button.secondaryHoverBackground":"#565b6680","debugConsoleInputIcon.foreground":"#e6b450","debugExceptionWidget.background":"#0f131a","debugExceptionWidget.border":"#11151c","debugIcon.breakpointDisabledForeground":"#f2966880","debugIcon.breakpointForeground":"#f29668","debugToolBar.background":"#0f131a","descriptionForeground":"#565b66","diffEditor.diagonalFill":"#11151c","diffEditor.insertedTextBackground":"#7fd9621f","diffEditor.removedTextBackground":"#f26d781f","dropdown.background":"#0d1017","dropdown.border":"#565b6645","dropdown.foreground":"#565b66","editor.background":"#0b0e14","editor.findMatchBackground":"#6c5980","editor.findMatchBorder":"#6c5980","editor.findMatchHighlightBackground":"#6c598066","editor.findMatchHighlightBorder":"#5f4c7266","editor.findRangeHighlightBackground":"#6c598040","editor.foreground":"#bfbdb6","editor.inactiveSelectionBackground":"#409fff21","editor.lineHighlightBackground":"#131721","editor.rangeHighlightBackground":"#6c598033","editor.selectionBackground":"#409fff4d","editor.selectionHighlightBackground":"#7fd96226","editor.selectionHighlightBorder":"#7fd96200","editor.snippetTabstopHighlightBackground":"#7fd96233","editor.wordHighlightBackground":"#73b8ff14","editor.wordHighlightBorder":"#73b8ff80","editor.wordHighlightStrongBackground":"#7fd96214","editor.wordHighlightStrongBorder":"#7fd96280","editorBracketMatch.background":"#6c73804d","editorBracketMatch.border":"#6c73804d","editorCodeLens.foreground":"#acb6bf8c","editorCursor.foreground":"#e6b450","editorError.foreground":"#d95757","editorGroup.background":"#0f131a","editorGroup.border":"#11151c","editorGroupHeader.noTabsBackground":"#0b0e14","editorGroupHeader.tabsBackground":"#0b0e14","editorGroupHeader.tabsBorder":"#0b0e14","editorGutter.addedBackground":"#7fd962cc","editorGutter.deletedBackground":"#f26d78cc","editorGutter.modifiedBackground":"#73b8ffcc","editorHoverWidget.background":"#0f131a","editorHoverWidget.border":"#11151c","editorIndentGuide.activeBackground":"#6c738080","editorIndentGuide.background":"#6c738033","editorLineNumber.activeForeground":"#6c7380e6","editorLineNumber.foreground":"#6c738099","editorLink.activeForeground":"#e6b450","editorMarkerNavigation.background":"#0f131a","editorOverviewRuler.addedForeground":"#7fd962","editorOverviewRuler.border":"#11151c","editorOverviewRuler.bracketMatchForeground":"#6c7380b3","editorOverviewRuler.deletedForeground":"#f26d78","editorOverviewRuler.errorForeground":"#d95757","editorOverviewRuler.findMatchForeground":"#6c5980","editorOverviewRuler.modifiedForeground":"#73b8ff","editorOverviewRuler.warningForeground":"#e6b450","editorOverviewRuler.wordHighlightForeground":"#73b8ff66","editorOverviewRuler.wordHighlightStrongForeground":"#7fd96266","editorRuler.foreground":"#6c738033","editorSuggestWidget.background":"#0f131a","editorSuggestWidget.border":"#11151c","editorSuggestWidget.highlightForeground":"#e6b450","editorSuggestWidget.selectedBackground":"#47526640","editorWarning.foreground":"#e6b450","editorWhitespace.foreground":"#6c738099","editorWidget.background":"#0f131a","editorWidget.border":"#11151c","errorForeground":"#d95757","extensionButton.prominentBackground":"#e6b450","extensionButton.prominentForeground":"#0d1017","extensionButton.prominentHoverBackground":"#e1af4b","focusBorder":"#e6b450b3","foreground":"#565b66","gitDecoration.conflictingResourceForeground":"","gitDecoration.deletedResourceForeground":"#f26d78b3","gitDecoration.ignoredResourceForeground":"#565b6680","gitDecoration.modifiedResourceForeground":"#73b8ffb3","gitDecoration.submoduleResourceForeground":"#d2a6ffb3","gitDecoration.untrackedResourceForeground":"#7fd962b3","icon.foreground":"#565b66","input.background":"#0d1017","input.border":"#565b6645","input.foreground":"#bfbdb6","input.placeholderForeground":"#565b6680","inputOption.activeBackground":"#e6b45033","inputOption.activeBorder":"#e6b4504d","inputOption.activeForeground":"#e6b450","inputValidation.errorBackground":"#0d1017","inputValidation.errorBorder":"#d95757","inputValidation.infoBackground":"#0b0e14","inputValidation.infoBorder":"#39bae6","inputValidation.warningBackground":"#0b0e14","inputValidation.warningBorder":"#ffb454","keybindingLabel.background":"#565b661a","keybindingLabel.border":"#bfbdb61a","keybindingLabel.bottomBorder":"#bfbdb61a","keybindingLabel.foreground":"#bfbdb6","list.activeSelectionBackground":"#47526640","list.activeSelectionForeground":"#bfbdb6","list.deemphasizedForeground":"#d95757","list.errorForeground":"#d95757","list.filterMatchBackground":"#5f4c7266","list.filterMatchBorder":"#6c598066","list.focusBackground":"#47526640","list.focusForeground":"#bfbdb6","list.focusOutline":"#47526640","list.highlightForeground":"#e6b450","list.hoverBackground":"#47526640","list.inactiveSelectionBackground":"#47526633","list.inactiveSelectionForeground":"#565b66","list.invalidItemForeground":"#565b664d","listFilterWidget.background":"#0f131a","listFilterWidget.noMatchesOutline":"#d95757","listFilterWidget.outline":"#e6b450","minimap.background":"#0b0e14","minimap.errorHighlight":"#d95757","minimap.findMatchHighlight":"#6c5980","minimap.selectionHighlight":"#409fff4d","minimapGutter.addedBackground":"#7fd962","minimapGutter.deletedBackground":"#f26d78","minimapGutter.modifiedBackground":"#73b8ff","panel.background":"#0b0e14","panel.border":"#11151c","panelTitle.activeBorder":"#e6b450","panelTitle.activeForeground":"#bfbdb6","panelTitle.inactiveForeground":"#565b66","peekView.border":"#47526640","peekViewEditor.background":"#0f131a","peekViewEditor.matchHighlightBackground":"#6c598066","peekViewEditor.matchHighlightBorder":"#5f4c7266","peekViewResult.background":"#0f131a","peekViewResult.fileForeground":"#bfbdb6","peekViewResult.lineForeground":"#565b66","peekViewResult.matchHighlightBackground":"#6c598066","peekViewResult.selectionBackground":"#47526640","peekViewTitle.background":"#47526640","peekViewTitleDescription.foreground":"#565b66","peekViewTitleLabel.foreground":"#bfbdb6","pickerGroup.border":"#11151c","pickerGroup.foreground":"#565b6680","progressBar.background":"#e6b450","scrollbar.shadow":"#11151c00","scrollbarSlider.activeBackground":"#565b66b3","scrollbarSlider.background":"#565b6666","scrollbarSlider.hoverBackground":"#565b6699","selection.background":"#409fff4d","settings.headerForeground":"#bfbdb6","settings.modifiedItemIndicator":"#73b8ff","sideBar.background":"#0b0e14","sideBar.border":"#0b0e14","sideBarSectionHeader.background":"#0b0e14","sideBarSectionHeader.border":"#0b0e14","sideBarSectionHeader.foreground":"#565b66","sideBarTitle.foreground":"#565b66","statusBar.background":"#0b0e14","statusBar.border":"#0b0e14","statusBar.debuggingBackground":"#f29668","statusBar.debuggingForeground":"#0d1017","statusBar.foreground":"#565b66","statusBar.noFolderBackground":"#0f131a","statusBarItem.activeBackground":"#565b6633","statusBarItem.hoverBackground":"#565b6633","statusBarItem.prominentBackground":"#11151c","statusBarItem.prominentHoverBackground":"#00000030","statusBarItem.remoteBackground":"#e6b450","statusBarItem.remoteForeground":"#0d1017","tab.activeBackground":"#0b0e14","tab.activeBorder":"#e6b450","tab.activeForeground":"#bfbdb6","tab.border":"#0b0e14","tab.inactiveBackground":"#0b0e14","tab.inactiveForeground":"#565b66","tab.unfocusedActiveBorder":"#565b66","tab.unfocusedActiveForeground":"#565b66","tab.unfocusedInactiveForeground":"#565b66","terminal.ansiBlack":"#11151c","terminal.ansiBlue":"#53bdfa","terminal.ansiBrightBlack":"#686868","terminal.ansiBrightBlue":"#59c2ff","terminal.ansiBrightCyan":"#95e6cb","terminal.ansiBrightGreen":"#aad94c","terminal.ansiBrightMagenta":"#d2a6ff","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#ffb454","terminal.ansiCyan":"#90e1c6","terminal.ansiGreen":"#7fd962","terminal.ansiMagenta":"#cda1fa","terminal.ansiRed":"#ea6c73","terminal.ansiWhite":"#c7c7c7","terminal.ansiYellow":"#f9af4f","terminal.background":"#0b0e14","terminal.foreground":"#bfbdb6","textBlockQuote.background":"#0f131a","textLink.activeForeground":"#e6b450","textLink.foreground":"#e6b450","textPreformat.foreground":"#bfbdb6","titleBar.activeBackground":"#0b0e14","titleBar.activeForeground":"#bfbdb6","titleBar.border":"#0b0e14","titleBar.inactiveBackground":"#0b0e14","titleBar.inactiveForeground":"#565b66","tree.indentGuidesStroke":"#6c738080","walkThrough.embeddedEditorBackground":"#0f131a","welcomePage.buttonBackground":"#e6b45066","welcomePage.progress.background":"#131721","welcomePage.tileBackground":"#0b0e14","welcomePage.tileShadow":"#00000080","widget.shadow":"#00000080"},"displayName":"Ayu Dark","name":"ayu-dark","semanticHighlighting":true,"semanticTokenColors":{"parameter.label":"#bfbdb6"},"tokenColors":[{"settings":{"background":"#0b0e14","foreground":"#bfbdb6"}},{"scope":["comment"],"settings":{"fontStyle":"italic","foreground":"#acb6bf8c"}},{"scope":["string","constant.other.symbol"],"settings":{"foreground":"#aad94c"}},{"scope":["string.regexp","constant.character","constant.other"],"settings":{"foreground":"#95e6cb"}},{"scope":["constant.numeric"],"settings":{"foreground":"#d2a6ff"}},{"scope":["constant.language"],"settings":{"foreground":"#d2a6ff"}},{"scope":["variable","variable.parameter.function-call"],"settings":{"foreground":"#bfbdb6"}},{"scope":["variable.member"],"settings":{"foreground":"#f07178"}},{"scope":["variable.language"],"settings":{"fontStyle":"italic","foreground":"#39bae6"}},{"scope":["storage"],"settings":{"foreground":"#ff8f40"}},{"scope":["keyword"],"settings":{"foreground":"#ff8f40"}},{"scope":["keyword.operator"],"settings":{"foreground":"#f29668"}},{"scope":["punctuation.separator","punctuation.terminator"],"settings":{"foreground":"#bfbdb6b3"}},{"scope":["punctuation.section"],"settings":{"foreground":"#bfbdb6"}},{"scope":["punctuation.accessor"],"settings":{"foreground":"#f29668"}},{"scope":["punctuation.definition.template-expression"],"settings":{"foreground":"#ff8f40"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#ff8f40"}},{"scope":["meta.embedded"],"settings":{"foreground":"#bfbdb6"}},{"scope":["source.java storage.type","source.haskell storage.type","source.c storage.type"],"settings":{"foreground":"#59c2ff"}},{"scope":["entity.other.inherited-class"],"settings":{"foreground":"#39bae6"}},{"scope":["storage.type.function"],"settings":{"foreground":"#ff8f40"}},{"scope":["source.java storage.type.primitive"],"settings":{"foreground":"#39bae6"}},{"scope":["entity.name.function"],"settings":{"foreground":"#ffb454"}},{"scope":["variable.parameter","meta.parameter"],"settings":{"foreground":"#d2a6ff"}},{"scope":["variable.function","variable.annotation","meta.function-call.generic","support.function.go"],"settings":{"foreground":"#ffb454"}},{"scope":["support.function","support.macro"],"settings":{"foreground":"#f07178"}},{"scope":["entity.name.import","entity.name.package"],"settings":{"foreground":"#aad94c"}},{"scope":["entity.name"],"settings":{"foreground":"#59c2ff"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#39bae6"}},{"scope":["support.class.component"],"settings":{"foreground":"#59c2ff"}},{"scope":["punctuation.definition.tag.end","punctuation.definition.tag.begin","punctuation.definition.tag"],"settings":{"foreground":"#39bae680"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#ffb454"}},{"scope":["support.constant"],"settings":{"fontStyle":"italic","foreground":"#f29668"}},{"scope":["support.type","support.class","source.go storage.type"],"settings":{"foreground":"#39bae6"}},{"scope":["meta.decorator variable.other","meta.decorator punctuation.decorator","storage.type.annotation"],"settings":{"foreground":"#e6b673"}},{"scope":["invalid"],"settings":{"foreground":"#d95757"}},{"scope":["meta.diff","meta.diff.header"],"settings":{"foreground":"#c594c5"}},{"scope":["source.ruby variable.other.readwrite"],"settings":{"foreground":"#ffb454"}},{"scope":["source.css entity.name.tag","source.sass entity.name.tag","source.scss entity.name.tag","source.less entity.name.tag","source.stylus entity.name.tag"],"settings":{"foreground":"#59c2ff"}},{"scope":["source.css support.type","source.sass support.type","source.scss support.type","source.less support.type","source.stylus support.type"],"settings":{"foreground":"#acb6bf8c"}},{"scope":["support.type.property-name"],"settings":{"fontStyle":"normal","foreground":"#39bae6"}},{"scope":["constant.numeric.line-number.find-in-files - match"],"settings":{"foreground":"#acb6bf8c"}},{"scope":["constant.numeric.line-number.match"],"settings":{"foreground":"#ff8f40"}},{"scope":["entity.name.filename.find-in-files"],"settings":{"foreground":"#aad94c"}},{"scope":["message.error"],"settings":{"foreground":"#d95757"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#aad94c"}},{"scope":["markup.underline.link","string.other.link"],"settings":{"foreground":"#39bae6"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":["markup.bold"],"settings":{"fontStyle":"bold","foreground":"#f07178"}},{"scope":["markup.italic markup.bold","markup.bold markup.italic"],"settings":{"fontStyle":"bold italic"}},{"scope":["markup.raw"],"settings":{"background":"#bfbdb605"}},{"scope":["markup.raw.inline"],"settings":{"background":"#bfbdb60f"}},{"scope":["meta.separator"],"settings":{"background":"#bfbdb60f","fontStyle":"bold","foreground":"#acb6bf8c"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#95e6cb"}},{"scope":["markup.list punctuation.definition.list.begin"],"settings":{"foreground":"#ffb454"}},{"scope":["markup.inserted"],"settings":{"foreground":"#7fd962"}},{"scope":["markup.changed"],"settings":{"foreground":"#73b8ff"}},{"scope":["markup.deleted"],"settings":{"foreground":"#f26d78"}},{"scope":["markup.strike"],"settings":{"foreground":"#e6b673"}},{"scope":["markup.table"],"settings":{"background":"#bfbdb60f","foreground":"#39bae6"}},{"scope":["text.html.markdown markup.inline.raw"],"settings":{"foreground":"#f29668"}},{"scope":["text.html.markdown meta.dummy.line-break"],"settings":{"background":"#acb6bf8c","foreground":"#acb6bf8c"}},{"scope":["punctuation.definition.markdown"],"settings":{"background":"#bfbdb6","foreground":"#acb6bf8c"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-Cv9koXgw.js.map diff --git a/src/webview-ui/build/assets/chunk-Cv9koXgw.js.map b/src/webview-ui/build/assets/chunk-Cv9koXgw.js.map new file mode 100644 index 0000000000..4dbcee92ea --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Cv9koXgw.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-Cv9koXgw.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/ayu-dark.mjs" + ], + "sourcesContent": [ + "/* Theme: ayu-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#e6b450b3\\\",\\\"activityBar.background\\\":\\\"#0b0e14\\\",\\\"activityBar.border\\\":\\\"#0b0e14\\\",\\\"activityBar.foreground\\\":\\\"#565b66cc\\\",\\\"activityBar.inactiveForeground\\\":\\\"#565b6699\\\",\\\"activityBarBadge.background\\\":\\\"#e6b450\\\",\\\"activityBarBadge.foreground\\\":\\\"#0b0e14\\\",\\\"badge.background\\\":\\\"#e6b45033\\\",\\\"badge.foreground\\\":\\\"#e6b450\\\",\\\"button.background\\\":\\\"#e6b450\\\",\\\"button.foreground\\\":\\\"#0b0e14\\\",\\\"button.hoverBackground\\\":\\\"#e1af4b\\\",\\\"button.secondaryBackground\\\":\\\"#565b6633\\\",\\\"button.secondaryForeground\\\":\\\"#bfbdb6\\\",\\\"button.secondaryHoverBackground\\\":\\\"#565b6680\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#e6b450\\\",\\\"debugExceptionWidget.background\\\":\\\"#0f131a\\\",\\\"debugExceptionWidget.border\\\":\\\"#11151c\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f2966880\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f29668\\\",\\\"debugToolBar.background\\\":\\\"#0f131a\\\",\\\"descriptionForeground\\\":\\\"#565b66\\\",\\\"diffEditor.diagonalFill\\\":\\\"#11151c\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#7fd9621f\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f26d781f\\\",\\\"dropdown.background\\\":\\\"#0d1017\\\",\\\"dropdown.border\\\":\\\"#565b6645\\\",\\\"dropdown.foreground\\\":\\\"#565b66\\\",\\\"editor.background\\\":\\\"#0b0e14\\\",\\\"editor.findMatchBackground\\\":\\\"#6c5980\\\",\\\"editor.findMatchBorder\\\":\\\"#6c5980\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#6c598066\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#5f4c7266\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#6c598040\\\",\\\"editor.foreground\\\":\\\"#bfbdb6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#409fff21\\\",\\\"editor.lineHighlightBackground\\\":\\\"#131721\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#6c598033\\\",\\\"editor.selectionBackground\\\":\\\"#409fff4d\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#7fd96226\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#7fd96200\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#7fd96233\\\",\\\"editor.wordHighlightBackground\\\":\\\"#73b8ff14\\\",\\\"editor.wordHighlightBorder\\\":\\\"#73b8ff80\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#7fd96214\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#7fd96280\\\",\\\"editorBracketMatch.background\\\":\\\"#6c73804d\\\",\\\"editorBracketMatch.border\\\":\\\"#6c73804d\\\",\\\"editorCodeLens.foreground\\\":\\\"#acb6bf8c\\\",\\\"editorCursor.foreground\\\":\\\"#e6b450\\\",\\\"editorError.foreground\\\":\\\"#d95757\\\",\\\"editorGroup.background\\\":\\\"#0f131a\\\",\\\"editorGroup.border\\\":\\\"#11151c\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0b0e14\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0b0e14\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#0b0e14\\\",\\\"editorGutter.addedBackground\\\":\\\"#7fd962cc\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f26d78cc\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#73b8ffcc\\\",\\\"editorHoverWidget.background\\\":\\\"#0f131a\\\",\\\"editorHoverWidget.border\\\":\\\"#11151c\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#6c738080\\\",\\\"editorIndentGuide.background\\\":\\\"#6c738033\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#6c7380e6\\\",\\\"editorLineNumber.foreground\\\":\\\"#6c738099\\\",\\\"editorLink.activeForeground\\\":\\\"#e6b450\\\",\\\"editorMarkerNavigation.background\\\":\\\"#0f131a\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#7fd962\\\",\\\"editorOverviewRuler.border\\\":\\\"#11151c\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#6c7380b3\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#f26d78\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#d95757\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6c5980\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#73b8ff\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#e6b450\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#73b8ff66\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#7fd96266\\\",\\\"editorRuler.foreground\\\":\\\"#6c738033\\\",\\\"editorSuggestWidget.background\\\":\\\"#0f131a\\\",\\\"editorSuggestWidget.border\\\":\\\"#11151c\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#e6b450\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#47526640\\\",\\\"editorWarning.foreground\\\":\\\"#e6b450\\\",\\\"editorWhitespace.foreground\\\":\\\"#6c738099\\\",\\\"editorWidget.background\\\":\\\"#0f131a\\\",\\\"editorWidget.border\\\":\\\"#11151c\\\",\\\"errorForeground\\\":\\\"#d95757\\\",\\\"extensionButton.prominentBackground\\\":\\\"#e6b450\\\",\\\"extensionButton.prominentForeground\\\":\\\"#0d1017\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#e1af4b\\\",\\\"focusBorder\\\":\\\"#e6b450b3\\\",\\\"foreground\\\":\\\"#565b66\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f26d78b3\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#565b6680\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#73b8ffb3\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#d2a6ffb3\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#7fd962b3\\\",\\\"icon.foreground\\\":\\\"#565b66\\\",\\\"input.background\\\":\\\"#0d1017\\\",\\\"input.border\\\":\\\"#565b6645\\\",\\\"input.foreground\\\":\\\"#bfbdb6\\\",\\\"input.placeholderForeground\\\":\\\"#565b6680\\\",\\\"inputOption.activeBackground\\\":\\\"#e6b45033\\\",\\\"inputOption.activeBorder\\\":\\\"#e6b4504d\\\",\\\"inputOption.activeForeground\\\":\\\"#e6b450\\\",\\\"inputValidation.errorBackground\\\":\\\"#0d1017\\\",\\\"inputValidation.errorBorder\\\":\\\"#d95757\\\",\\\"inputValidation.infoBackground\\\":\\\"#0b0e14\\\",\\\"inputValidation.infoBorder\\\":\\\"#39bae6\\\",\\\"inputValidation.warningBackground\\\":\\\"#0b0e14\\\",\\\"inputValidation.warningBorder\\\":\\\"#ffb454\\\",\\\"keybindingLabel.background\\\":\\\"#565b661a\\\",\\\"keybindingLabel.border\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"list.activeSelectionBackground\\\":\\\"#47526640\\\",\\\"list.activeSelectionForeground\\\":\\\"#bfbdb6\\\",\\\"list.deemphasizedForeground\\\":\\\"#d95757\\\",\\\"list.errorForeground\\\":\\\"#d95757\\\",\\\"list.filterMatchBackground\\\":\\\"#5f4c7266\\\",\\\"list.filterMatchBorder\\\":\\\"#6c598066\\\",\\\"list.focusBackground\\\":\\\"#47526640\\\",\\\"list.focusForeground\\\":\\\"#bfbdb6\\\",\\\"list.focusOutline\\\":\\\"#47526640\\\",\\\"list.highlightForeground\\\":\\\"#e6b450\\\",\\\"list.hoverBackground\\\":\\\"#47526640\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#47526633\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#565b66\\\",\\\"list.invalidItemForeground\\\":\\\"#565b664d\\\",\\\"listFilterWidget.background\\\":\\\"#0f131a\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d95757\\\",\\\"listFilterWidget.outline\\\":\\\"#e6b450\\\",\\\"minimap.background\\\":\\\"#0b0e14\\\",\\\"minimap.errorHighlight\\\":\\\"#d95757\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6c5980\\\",\\\"minimap.selectionHighlight\\\":\\\"#409fff4d\\\",\\\"minimapGutter.addedBackground\\\":\\\"#7fd962\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f26d78\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#73b8ff\\\",\\\"panel.background\\\":\\\"#0b0e14\\\",\\\"panel.border\\\":\\\"#11151c\\\",\\\"panelTitle.activeBorder\\\":\\\"#e6b450\\\",\\\"panelTitle.activeForeground\\\":\\\"#bfbdb6\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#565b66\\\",\\\"peekView.border\\\":\\\"#47526640\\\",\\\"peekViewEditor.background\\\":\\\"#0f131a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#6c598066\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#5f4c7266\\\",\\\"peekViewResult.background\\\":\\\"#0f131a\\\",\\\"peekViewResult.fileForeground\\\":\\\"#bfbdb6\\\",\\\"peekViewResult.lineForeground\\\":\\\"#565b66\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#6c598066\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#47526640\\\",\\\"peekViewTitle.background\\\":\\\"#47526640\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#565b66\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"pickerGroup.border\\\":\\\"#11151c\\\",\\\"pickerGroup.foreground\\\":\\\"#565b6680\\\",\\\"progressBar.background\\\":\\\"#e6b450\\\",\\\"scrollbar.shadow\\\":\\\"#11151c00\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#565b66b3\\\",\\\"scrollbarSlider.background\\\":\\\"#565b6666\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#565b6699\\\",\\\"selection.background\\\":\\\"#409fff4d\\\",\\\"settings.headerForeground\\\":\\\"#bfbdb6\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#73b8ff\\\",\\\"sideBar.background\\\":\\\"#0b0e14\\\",\\\"sideBar.border\\\":\\\"#0b0e14\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0b0e14\\\",\\\"sideBarSectionHeader.border\\\":\\\"#0b0e14\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#565b66\\\",\\\"sideBarTitle.foreground\\\":\\\"#565b66\\\",\\\"statusBar.background\\\":\\\"#0b0e14\\\",\\\"statusBar.border\\\":\\\"#0b0e14\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f29668\\\",\\\"statusBar.debuggingForeground\\\":\\\"#0d1017\\\",\\\"statusBar.foreground\\\":\\\"#565b66\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0f131a\\\",\\\"statusBarItem.activeBackground\\\":\\\"#565b6633\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#565b6633\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#11151c\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#00000030\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#e6b450\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#0d1017\\\",\\\"tab.activeBackground\\\":\\\"#0b0e14\\\",\\\"tab.activeBorder\\\":\\\"#e6b450\\\",\\\"tab.activeForeground\\\":\\\"#bfbdb6\\\",\\\"tab.border\\\":\\\"#0b0e14\\\",\\\"tab.inactiveBackground\\\":\\\"#0b0e14\\\",\\\"tab.inactiveForeground\\\":\\\"#565b66\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#565b66\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#565b66\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#565b66\\\",\\\"terminal.ansiBlack\\\":\\\"#11151c\\\",\\\"terminal.ansiBlue\\\":\\\"#53bdfa\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#686868\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#59c2ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#95e6cb\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#aad94c\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a6ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffb454\\\",\\\"terminal.ansiCyan\\\":\\\"#90e1c6\\\",\\\"terminal.ansiGreen\\\":\\\"#7fd962\\\",\\\"terminal.ansiMagenta\\\":\\\"#cda1fa\\\",\\\"terminal.ansiRed\\\":\\\"#ea6c73\\\",\\\"terminal.ansiWhite\\\":\\\"#c7c7c7\\\",\\\"terminal.ansiYellow\\\":\\\"#f9af4f\\\",\\\"terminal.background\\\":\\\"#0b0e14\\\",\\\"terminal.foreground\\\":\\\"#bfbdb6\\\",\\\"textBlockQuote.background\\\":\\\"#0f131a\\\",\\\"textLink.activeForeground\\\":\\\"#e6b450\\\",\\\"textLink.foreground\\\":\\\"#e6b450\\\",\\\"textPreformat.foreground\\\":\\\"#bfbdb6\\\",\\\"titleBar.activeBackground\\\":\\\"#0b0e14\\\",\\\"titleBar.activeForeground\\\":\\\"#bfbdb6\\\",\\\"titleBar.border\\\":\\\"#0b0e14\\\",\\\"titleBar.inactiveBackground\\\":\\\"#0b0e14\\\",\\\"titleBar.inactiveForeground\\\":\\\"#565b66\\\",\\\"tree.indentGuidesStroke\\\":\\\"#6c738080\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#0f131a\\\",\\\"welcomePage.buttonBackground\\\":\\\"#e6b45066\\\",\\\"welcomePage.progress.background\\\":\\\"#131721\\\",\\\"welcomePage.tileBackground\\\":\\\"#0b0e14\\\",\\\"welcomePage.tileShadow\\\":\\\"#00000080\\\",\\\"widget.shadow\\\":\\\"#00000080\\\"},\\\"displayName\\\":\\\"Ayu Dark\\\",\\\"name\\\":\\\"ayu-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"parameter.label\\\":\\\"#bfbdb6\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#0b0e14\\\",\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"variable.parameter.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"variable.member\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.separator\\\",\\\"punctuation.terminator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6b3\\\"}},{\\\"scope\\\":[\\\"punctuation.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"source.java storage.type\\\",\\\"source.haskell storage.type\\\",\\\"source.c storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage.type.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"source.java storage.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable.function\\\",\\\"variable.annotation\\\",\\\"meta.function-call.generic\\\",\\\"support.function.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"entity.name.import\\\",\\\"entity.name.package\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.end\\\",\\\"punctuation.definition.tag.begin\\\",\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae680\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\",\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other\\\",\\\"meta.decorator punctuation.decorator\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6b673\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c594c5\\\"}},{\\\"scope\\\":[\\\"source.ruby variable.other.readwrite\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"source.css entity.name.tag\\\",\\\"source.sass entity.name.tag\\\",\\\"source.scss entity.name.tag\\\",\\\"source.less entity.name.tag\\\",\\\"source.stylus entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"source.css support.type\\\",\\\"source.sass support.type\\\",\\\"source.scss support.type\\\",\\\"source.less support.type\\\",\\\"source.stylus support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.find-in-files - match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"entity.name.filename.find-in-files\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"message.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.italic markup.bold\\\",\\\"markup.bold markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold italic\\\"}},{\\\"scope\\\":[\\\"markup.raw\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb605\\\"}},{\\\"scope\\\":[\\\"markup.raw.inline\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"markup.list punctuation.definition.list.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fd962\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73b8ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f26d78\\\"}},{\\\"scope\\\":[\\\"markup.strike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6b673\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"text.html.markdown meta.dummy.line-break\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#acb6bf8c\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.markdown\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb6\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "ayuDark" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,2idAA6rgB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CyktbL80.js b/src/webview-ui/build/assets/chunk-CyktbL80.js new file mode 100644 index 0000000000..717f339446 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CyktbL80.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#80CBC4","activityBar.background":"#0F111A","activityBar.border":"#0F111A60","activityBar.dropBackground":"#f0717880","activityBar.foreground":"#babed8","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#464B5D","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumb.background":"#0F111A","breadcrumb.focusForeground":"#babed8","breadcrumb.foreground":"#525975","breadcrumbPicker.background":"#0F111A","button.background":"#717CB450","button.foreground":"#ffffff","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","debugToolBar.background":"#0F111A","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","dropdown.background":"#0F111A","dropdown.border":"#FFFFFF10","editor.background":"#0F111A","editor.findMatchBackground":"#000000","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlight":"#babed8","editor.findMatchHighlightBackground":"#00000050","editor.findMatchHighlightBorder":"#ffffff30","editor.findRangeHighlightBackground":"#FFCB6B30","editor.foreground":"#babed8","editor.lineHighlightBackground":"#00000050","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editor.selectionBackground":"#717CB450","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editorBracketMatch.background":"#0F111A","editorBracketMatch.border":"#FFCC0050","editorCursor.foreground":"#FFCC00","editorError.foreground":"#f0717870","editorGroup.border":"#00000030","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#0F111A","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","editorGutter.modifiedBackground":"#82AAFF60","editorHoverWidget.background":"#0F111A","editorHoverWidget.border":"#FFFFFF10","editorIndentGuide.activeBackground":"#3B3F51","editorIndentGuide.background":"#3B3F5170","editorInfo.foreground":"#82AAFF70","editorLineNumber.activeForeground":"#525975","editorLineNumber.foreground":"#3B3F5180","editorLink.activeForeground":"#babed8","editorMarkerNavigation.background":"#babed805","editorOverviewRuler.border":"#0F111A","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorRuler.foreground":"#3B3F51","editorSuggestWidget.background":"#0F111A","editorSuggestWidget.border":"#FFFFFF10","editorSuggestWidget.foreground":"#babed8","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorWarning.foreground":"#FFCB6B70","editorWhitespace.foreground":"#babed840","editorWidget.background":"#0F111A","editorWidget.border":"#80CBC4","editorWidget.resizeBorder":"#80CBC4","extensionBadge.remoteForeground":"#babed8","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentForeground":"#babed8","extensionButton.prominentHoverBackground":"#C3E88D","focusBorder":"#FFFFFF00","foreground":"#babed8","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.ignoredResourceForeground":"#52597590","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","input.background":"#1A1C25","input.border":"#FFFFFF10","input.foreground":"#babed8","input.placeholderForeground":"#babed860","inputOption.activeBackground":"#babed830","inputOption.activeBorder":"#babed830","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","list.activeSelectionBackground":"#0F111A","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#babed820","list.focusForeground":"#babed8","list.highlightForeground":"#80CBC4","list.hoverBackground":"#0F111A","list.hoverForeground":"#FFFFFF","list.inactiveSelectionBackground":"#00000030","list.inactiveSelectionForeground":"#80CBC4","listFilterWidget.background":"#00000030","listFilterWidget.noMatchesOutline":"#00000030","listFilterWidget.outline":"#00000030","menu.background":"#0F111A","menu.foreground":"#babed8","menu.selectionBackground":"#00000050","menu.selectionBorder":"#00000030","menu.selectionForeground":"#80CBC4","menu.separatorBackground":"#babed8","menubar.selectionBackground":"#00000030","menubar.selectionBorder":"#00000030","menubar.selectionForeground":"#80CBC4","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","notificationLink.foreground":"#80CBC4","notifications.background":"#0F111A","notifications.foreground":"#babed8","panel.background":"#0F111A","panel.border":"#0F111A60","panel.dropBackground":"#babed8","panelTitle.activeBorder":"#80CBC4","panelTitle.activeForeground":"#FFFFFF","panelTitle.inactiveForeground":"#babed8","peekView.border":"#00000030","peekViewEditor.background":"#1A1C25","peekViewEditor.matchHighlightBackground":"#717CB450","peekViewEditorGutter.background":"#1A1C25","peekViewResult.background":"#1A1C25","peekViewResult.matchHighlightBackground":"#717CB450","peekViewResult.selectionBackground":"#52597570","peekViewTitle.background":"#1A1C25","peekViewTitleDescription.foreground":"#babed860","pickerGroup.border":"#FFFFFF1a","pickerGroup.foreground":"#80CBC4","progressBar.background":"#80CBC4","quickInput.background":"#0F111A","quickInput.foreground":"#525975","quickInput.list.focusBackground":"#babed820","sash.hoverBorder":"#80CBC450","scrollbar.shadow":"#00000030","scrollbarSlider.activeBackground":"#80CBC4","scrollbarSlider.background":"#8F93A220","scrollbarSlider.hoverBackground":"#8F93A210","selection.background":"#00000080","settings.checkboxBackground":"#0F111A","settings.checkboxForeground":"#babed8","settings.dropdownBackground":"#0F111A","settings.dropdownForeground":"#babed8","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.numberInputBackground":"#0F111A","settings.numberInputForeground":"#babed8","settings.textInputBackground":"#0F111A","settings.textInputForeground":"#babed8","sideBar.background":"#0F111A","sideBar.border":"#0F111A60","sideBar.foreground":"#525975","sideBarSectionHeader.background":"#0F111A","sideBarSectionHeader.border":"#0F111A60","sideBarTitle.foreground":"#babed8","statusBar.background":"#0F111A","statusBar.border":"#0F111A60","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#4B526D","statusBar.noFolderBackground":"#0F111A","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#464B5D20","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","tab.activeBackground":"#0F111A","tab.activeBorder":"#80CBC4","tab.activeForeground":"#FFFFFF","tab.activeModifiedBorder":"#525975","tab.border":"#0F111A","tab.inactiveBackground":"#0F111A","tab.inactiveForeground":"#525975","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveBorder":"#464B5D","tab.unfocusedActiveForeground":"#babed8","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#464B5D","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","terminalCursor.background":"#000000","terminalCursor.foreground":"#FFCB6B","textLink.activeForeground":"#babed8","textLink.foreground":"#80CBC4","titleBar.activeBackground":"#0F111A","titleBar.activeForeground":"#babed8","titleBar.border":"#0F111A60","titleBar.inactiveBackground":"#0F111A","titleBar.inactiveForeground":"#525975","tree.indentGuidesStroke":"#3B3F51","widget.shadow":"#00000030"},"displayName":"Material Theme Ocean","name":"material-theme-ocean","semanticHighlighting":true,"tokenColors":[{"settings":{"background":"#0F111A","foreground":"#babed8"}},{"scope":"string","settings":{"foreground":"#C3E88D"}},{"scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#babed8"}},{"scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#babed8"}},{"scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"scope":"support.module, support.node","settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#464B5D"}},{"scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"fontStyle":"italic","foreground":"#464B5D"}},{"scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#babed8"}},{"scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"scope":"punctuation.definition.entity.html","settings":{"foreground":"#babed8"}},{"scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#f07178"}},{"scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"fontStyle":"italic bold","foreground":"#f07178"}},{"scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cs meta.preprocessor","settings":{"foreground":"#464B5D"}},{"scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#babed8"}},{"scope":"meta.jsx.children, SXNested","settings":{"foreground":"#babed8"}},{"scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"scope":"source.cpp meta.block variable.other","settings":{"foreground":"#babed8"}},{"scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"scope":"meta.block","settings":{"foreground":"#f07178"}},{"scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#babed8"}},{"scope":"constant.keyword","settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"settings":{"background":"#0F111A","foreground":"#babed8"}},{"scope":["constant.other.placeholder"],"settings":{"foreground":"#f07178"}},{"scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["keyword.control"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"scope":["variable.parameter.function.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#f07178"}},{"scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"scope":["markup.fenced_code.block"],"settings":{"foreground":"#babed890"}},{"scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-CyktbL80.js.map diff --git a/src/webview-ui/build/assets/chunk-CyktbL80.js.map b/src/webview-ui/build/assets/chunk-CyktbL80.js.map new file mode 100644 index 0000000000..23be550848 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CyktbL80.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-CyktbL80.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/material-theme-ocean.mjs" + ], + "sourcesContent": [ + "/* Theme: material-theme-ocean */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#0F111A\\\",\\\"activityBar.border\\\":\\\"#0F111A60\\\",\\\"activityBar.dropBackground\\\":\\\"#f0717880\\\",\\\"activityBar.foreground\\\":\\\"#babed8\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#00000030\\\",\\\"badge.foreground\\\":\\\"#464B5D\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#0F111A\\\",\\\"breadcrumb.focusForeground\\\":\\\"#babed8\\\",\\\"breadcrumb.foreground\\\":\\\"#525975\\\",\\\"breadcrumbPicker.background\\\":\\\"#0F111A\\\",\\\"button.background\\\":\\\"#717CB450\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#f07178\\\",\\\"debugConsole.infoForeground\\\":\\\"#89DDFF\\\",\\\"debugConsole.warningForeground\\\":\\\"#FFCB6B\\\",\\\"debugToolBar.background\\\":\\\"#0F111A\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#89DDFF20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff9cac20\\\",\\\"dropdown.background\\\":\\\"#0F111A\\\",\\\"dropdown.border\\\":\\\"#FFFFFF10\\\",\\\"editor.background\\\":\\\"#0F111A\\\",\\\"editor.findMatchBackground\\\":\\\"#000000\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#babed8\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff30\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#FFCB6B30\\\",\\\"editor.foreground\\\":\\\"#babed8\\\",\\\"editor.lineHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#717CB450\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFCC0020\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ff9cac30\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#C3E88D30\\\",\\\"editorBracketMatch.background\\\":\\\"#0F111A\\\",\\\"editorBracketMatch.border\\\":\\\"#FFCC0050\\\",\\\"editorCursor.foreground\\\":\\\"#FFCC00\\\",\\\"editorError.foreground\\\":\\\"#f0717870\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#f0717880\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#f07178\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0F111A\\\",\\\"editorGutter.addedBackground\\\":\\\"#C3E88D60\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f0717860\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#82AAFF60\\\",\\\"editorHoverWidget.background\\\":\\\"#0F111A\\\",\\\"editorHoverWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#3B3F51\\\",\\\"editorIndentGuide.background\\\":\\\"#3B3F5170\\\",\\\"editorInfo.foreground\\\":\\\"#82AAFF70\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#525975\\\",\\\"editorLineNumber.foreground\\\":\\\"#3B3F5180\\\",\\\"editorLink.activeForeground\\\":\\\"#babed8\\\",\\\"editorMarkerNavigation.background\\\":\\\"#babed805\\\",\\\"editorOverviewRuler.border\\\":\\\"#0F111A\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f0717840\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#82AAFF40\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFCB6B40\\\",\\\"editorRuler.foreground\\\":\\\"#3B3F51\\\",\\\"editorSuggestWidget.background\\\":\\\"#0F111A\\\",\\\"editorSuggestWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#babed8\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorWarning.foreground\\\":\\\"#FFCB6B70\\\",\\\"editorWhitespace.foreground\\\":\\\"#babed840\\\",\\\"editorWidget.background\\\":\\\"#0F111A\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C3E88D90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#C3E88D\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#babed8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFCB6B90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f0717890\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#52597590\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#82AAFF90\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#C3E88D90\\\",\\\"input.background\\\":\\\"#1A1C25\\\",\\\"input.border\\\":\\\"#FFFFFF10\\\",\\\"input.foreground\\\":\\\"#babed8\\\",\\\"input.placeholderForeground\\\":\\\"#babed860\\\",\\\"inputOption.activeBackground\\\":\\\"#babed830\\\",\\\"inputOption.activeBorder\\\":\\\"#babed830\\\",\\\"inputValidation.errorBorder\\\":\\\"#f07178\\\",\\\"inputValidation.infoBorder\\\":\\\"#82AAFF\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCB6B\\\",\\\"list.activeSelectionBackground\\\":\\\"#0F111A\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#f0717880\\\",\\\"list.focusBackground\\\":\\\"#babed820\\\",\\\"list.focusForeground\\\":\\\"#babed8\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#0F111A\\\",\\\"list.hoverForeground\\\":\\\"#FFFFFF\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00000030\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#00000030\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#00000030\\\",\\\"listFilterWidget.outline\\\":\\\"#00000030\\\",\\\"menu.background\\\":\\\"#0F111A\\\",\\\"menu.foreground\\\":\\\"#babed8\\\",\\\"menu.selectionBackground\\\":\\\"#00000050\\\",\\\"menu.selectionBorder\\\":\\\"#00000030\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#babed8\\\",\\\"menubar.selectionBackground\\\":\\\"#00000030\\\",\\\"menubar.selectionBorder\\\":\\\"#00000030\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#0F111A\\\",\\\"notifications.foreground\\\":\\\"#babed8\\\",\\\"panel.background\\\":\\\"#0F111A\\\",\\\"panel.border\\\":\\\"#0F111A60\\\",\\\"panel.dropBackground\\\":\\\"#babed8\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#FFFFFF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#babed8\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#1A1C25\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewEditorGutter.background\\\":\\\"#1A1C25\\\",\\\"peekViewResult.background\\\":\\\"#1A1C25\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#52597570\\\",\\\"peekViewTitle.background\\\":\\\"#1A1C25\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#babed860\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#0F111A\\\",\\\"quickInput.foreground\\\":\\\"#525975\\\",\\\"quickInput.list.focusBackground\\\":\\\"#babed820\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000030\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#8F93A220\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8F93A210\\\",\\\"selection.background\\\":\\\"#00000080\\\",\\\"settings.checkboxBackground\\\":\\\"#0F111A\\\",\\\"settings.checkboxForeground\\\":\\\"#babed8\\\",\\\"settings.dropdownBackground\\\":\\\"#0F111A\\\",\\\"settings.dropdownForeground\\\":\\\"#babed8\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#0F111A\\\",\\\"settings.numberInputForeground\\\":\\\"#babed8\\\",\\\"settings.textInputBackground\\\":\\\"#0F111A\\\",\\\"settings.textInputForeground\\\":\\\"#babed8\\\",\\\"sideBar.background\\\":\\\"#0F111A\\\",\\\"sideBar.border\\\":\\\"#0F111A60\\\",\\\"sideBar.foreground\\\":\\\"#525975\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0F111A\\\",\\\"sideBarSectionHeader.border\\\":\\\"#0F111A60\\\",\\\"sideBarTitle.foreground\\\":\\\"#babed8\\\",\\\"statusBar.background\\\":\\\"#0F111A\\\",\\\"statusBar.border\\\":\\\"#0F111A60\\\",\\\"statusBar.debuggingBackground\\\":\\\"#C792EA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#4B526D\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0F111A\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0717880\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#464B5D20\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#0F111A\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#FFFFFF\\\",\\\"tab.activeModifiedBorder\\\":\\\"#525975\\\",\\\"tab.border\\\":\\\"#0F111A\\\",\\\"tab.inactiveBackground\\\":\\\"#0F111A\\\",\\\"tab.inactiveForeground\\\":\\\"#525975\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#904348\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#464B5D\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#babed8\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#c05a60\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#904348\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#464B5D\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFCB6B\\\",\\\"terminal.ansiCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#f07178\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#FFCB6B\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#FFCB6B\\\",\\\"textLink.activeForeground\\\":\\\"#babed8\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#0F111A\\\",\\\"titleBar.activeForeground\\\":\\\"#babed8\\\",\\\"titleBar.border\\\":\\\"#0F111A60\\\",\\\"titleBar.inactiveBackground\\\":\\\"#0F111A\\\",\\\"titleBar.inactiveForeground\\\":\\\"#525975\\\",\\\"tree.indentGuidesStroke\\\":\\\"#3B3F51\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Material Theme Ocean\\\",\\\"name\\\":\\\"material-theme-ocean\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#0F111A\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#464B5D\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#464B5D\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#464B5D\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#0F111A\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babed890\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "materialThemeOcean" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,2okBAAi1nB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CylS5w8V.js b/src/webview-ui/build/assets/chunk-CylS5w8V.js new file mode 100644 index 0000000000..17b6e7804d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CylS5w8V.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Java","name":"java","patterns":[{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.package.java"}},"contentName":"storage.modifier.package.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.package.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"patterns":[{"match":"\\\\b(extends|super)\\\\b","name":"storage.modifier.$1.java"},{"captures":{"1":{"name":"storage.type.java"}},"match":"(?>>?|[\\\\^~])","name":"keyword.operator.bitwise.java"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.java"},{"match":"(===?|!=|<=|>=|<>|[<>])","name":"keyword.operator.comparison.java"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.java"},{"match":"(=)","name":"keyword.operator.assignment.java"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.java"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.java"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.java"},{"match":"([\\\\&|])","name":"keyword.operator.bitwise.java"},{"match":"\\\\b(const|goto)\\\\b","name":"keyword.reserved.java"}]},"lambda-expression":{"patterns":[{"match":"->","name":"storage.type.function.arrow.java"}]},"member-variables":{"begin":"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)","end":"(?=[;=])","patterns":[{"include":"#storage-modifiers"},{"include":"#variables"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"method-call":{"begin":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"entity.name.function.java"},"3":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method-call.java","patterns":[{"include":"#code"}]},"methods":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^/=]|/(?!/))+\\\\()","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method.identifier.java","patterns":[{"include":"#parameters"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#generics"},{"begin":"(?=\\\\w.*\\\\s+\\\\w+\\\\s*\\\\()","end":"(?=\\\\s+\\\\w+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#all-types"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#throws"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]},{"include":"#comments"}]},"module":{"begin":"((open)\\\\s)?(module)\\\\s+(\\\\w+)","beginCaptures":{"1":{"name":"storage.modifier.java"},"3":{"name":"storage.modifier.java"},"4":{"name":"entity.name.type.module.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.module.end.bracket.curly.java"}},"name":"meta.module.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.module.begin.bracket.curly.java"}},"contentName":"meta.module.body.java","end":"(?=})","patterns":[{"include":"#comments"},{"include":"#comments-javadoc"},{"match":"\\\\b(requires|transitive|exports|opens|to|uses|provides|with)\\\\b","name":"keyword.module.java"}]}]},"numbers":{"patterns":[{"match":"\\\\b(?)?(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.record.java"},"3":{"patterns":[{"include":"#generics"}]},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.record.identifier.java","patterns":[{"include":"#code"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"include":"#record-body"}]},"record-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"end":"(?=})","name":"meta.record.body.java","patterns":[{"include":"#record-constructor"},{"include":"#class-body"}]},"record-constructor":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^(/=]|/(?!/))+(?=\\\\{))","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.method.identifier.java","patterns":[{"include":"#comments"}]},{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},"static-initializer":{"patterns":[{"include":"#anonymous-block-and-instance-initializer"},{"match":"static","name":"storage.modifier.java"}]},"storage-modifiers":{"match":"\\\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\\\b","name":"storage.modifier.java"},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.triple.java","patterns":[{"match":"(\\\\\\\\\\"\\"\\")(?!\\")|(\\\\\\\\.)","name":"constant.character.escape.java"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.double.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.single.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]}]},"throws":{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.java"}},"end":"(?=[;{])","name":"meta.throwables.java","patterns":[{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"[$A-Z_a-z][$.0-9A-Z_a-z]*","name":"storage.type.java"},{"include":"#comments"}]},"try-catch-finally":{"patterns":[{"begin":"\\\\btry\\\\b","beginCaptures":{"0":{"name":"keyword.control.try.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.try.end.bracket.curly.java"}},"name":"meta.try.java","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.try.resources.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.try.resources.end.bracket.round.java"}},"name":"meta.try.resources.java","patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.try.begin.bracket.curly.java"}},"contentName":"meta.try.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\b(catch)\\\\b","beginCaptures":{"1":{"name":"keyword.control.catch.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.catch.end.bracket.curly.java"}},"name":"meta.catch.java","patterns":[{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"contentName":"meta.catch.parameters.java","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"patterns":[{"include":"#comments"},{"include":"#storage-modifiers"},{"begin":"[$A-Z_a-z][$.0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"storage.type.java"}},"end":"(\\\\|)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.catch.separator.java"}},"patterns":[{"include":"#comments"},{"captures":{"0":{"name":"variable.parameter.java"}},"match":"\\\\w+"}]}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.catch.begin.bracket.curly.java"}},"contentName":"meta.catch.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\bfinally\\\\b","beginCaptures":{"0":{"name":"keyword.control.finally.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.finally.end.bracket.curly.java"}},"name":"meta.finally.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.finally.begin.bracket.curly.java"}},"contentName":"meta.finally.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]}]},"variables":{"begin":"(?=\\\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\\\w+\\\\.)*[A-Z_]+\\\\w*))\\\\b\\\\s*(<[],.<>?\\\\[\\\\w\\\\s]*>)?\\\\s*((\\\\[])*)?\\\\s+[$A-Z_a-z][$\\\\w]*([]$,\\\\[\\\\w][],\\\\[\\\\w\\\\s]*)?\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.java","patterns":[{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([,:;=]))"},{"include":"#all-types"},{"include":"#code"}]},"variables-local":{"begin":"(?=\\\\b(var)\\\\b\\\\s+[$A-Z_a-z][$\\\\w]*\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.local.java","patterns":[{"match":"\\\\bvar\\\\b","name":"storage.type.local.java"},{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([:;=]))"},{"include":"#code"}]}},"scopeName":"source.java"}`, + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-CylS5w8V.js.map diff --git a/src/webview-ui/build/assets/chunk-CylS5w8V.js.map b/src/webview-ui/build/assets/chunk-CylS5w8V.js.map new file mode 100644 index 0000000000..f1ed352f01 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CylS5w8V.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-CylS5w8V.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/java.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Java\\\",\\\"name\\\":\\\"java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(package)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.package.java\\\"}},\\\"contentName\\\":\\\"storage.modifier.package.java\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.java\\\"}},\\\"name\\\":\\\"meta.package.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)\\\\\\\\s*\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.angle.java\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(extends|super)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.$1.java\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.java\\\"}},\\\"match\\\":\\\"(?>>?|[\\\\\\\\^~])\\\",\\\"name\\\":\\\"keyword.operator.bitwise.java\\\"},{\\\"match\\\":\\\"(([\\\\\\\\&^|]|<<|>>>?)=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.bitwise.java\\\"},{\\\"match\\\":\\\"(===?|!=|<=|>=|<>|[<>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.java\\\"},{\\\"match\\\":\\\"([-%*+/]=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.arithmetic.java\\\"},{\\\"match\\\":\\\"(=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.java\\\"},{\\\"match\\\":\\\"(--|\\\\\\\\+\\\\\\\\+)\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.java\\\"},{\\\"match\\\":\\\"([-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.java\\\"},{\\\"match\\\":\\\"(!|&&|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.logical.java\\\"},{\\\"match\\\":\\\"([\\\\\\\\&|])\\\",\\\"name\\\":\\\"keyword.operator.bitwise.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(const|goto)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.reserved.java\\\"}]},\\\"lambda-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"storage.type.function.arrow.java\\\"}]},\\\"member-variables\\\":{\\\"begin\\\":\\\"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\",\\\"end\\\":\\\"(?=[;=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#primitive-arrays\\\"},{\\\"include\\\":\\\"#object-types\\\"}]},\\\"method-call\\\":{\\\"begin\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([$A-Z_a-z][$\\\\\\\\w]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.method-call.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},\\\"methods\\\":{\\\"begin\\\":\\\"(?!new)(?=[<\\\\\\\\w].*\\\\\\\\s+)(?=([^/=]|/(?!/))+\\\\\\\\()\\\",\\\"end\\\":\\\"(})|(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.method.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.method.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.method.identifier.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#generics\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\w.*\\\\\\\\s+\\\\\\\\w+\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?=\\\\\\\\s+\\\\\\\\w+\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.method.return-type.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#throws\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.method.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.method.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"include\\\":\\\"#comments\\\"}]},\\\"module\\\":{\\\"begin\\\":\\\"((open)\\\\\\\\s)?(module)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.module.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.module.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.module.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.module.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comments-javadoc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(requires|transitive|exports|opens|to|uses|provides|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.module.java\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.record.java\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#generics\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.record.identifier.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"(implements)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.definition.class.implemented.interfaces.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#record-body\\\"}]},\\\"record-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.class.begin.bracket.curly.java\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.record.body.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#record-constructor\\\"},{\\\"include\\\":\\\"#class-body\\\"}]},\\\"record-constructor\\\":{\\\"begin\\\":\\\"(?!new)(?=[<\\\\\\\\w].*\\\\\\\\s+)(?=([^(/=]|/(?!/))+(?=\\\\\\\\{))\\\",\\\"end\\\":\\\"(})|(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.method.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.method.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.method.identifier.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.method.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.method.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"static-initializer\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#anonymous-block-and-instance-initializer\\\"},{\\\"match\\\":\\\"static\\\",\\\"name\\\":\\\"storage.modifier.java\\\"}]},\\\"storage-modifiers\\\":{\\\"match\\\":\\\"\\\\\\\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.java\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.java\\\"}},\\\"name\\\":\\\"string.quoted.triple.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\"\\\\\\\")(?!\\\\\\\")|(\\\\\\\\\\\\\\\\.)\\\",\\\"name\\\":\\\"constant.character.escape.java\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.java\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.java\\\"}},\\\"name\\\":\\\"string.quoted.double.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.java\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.java\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.java\\\"}},\\\"name\\\":\\\"string.quoted.single.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.java\\\"}]}]},\\\"throws\\\":{\\\"begin\\\":\\\"throws\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"}},\\\"end\\\":\\\"(?=[;{])\\\",\\\"name\\\":\\\"meta.throwables.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$.0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"storage.type.java\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"try-catch-finally\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\btry\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.try.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.try.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.resources.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.resources.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.try.resources.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.try.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.catch.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.catch.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.catch.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"contentName\\\":\\\"meta.catch.parameters.java\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"begin\\\":\\\"[$A-Z_a-z][$.0-9A-Z_a-z]*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.java\\\"}},\\\"end\\\":\\\"(\\\\\\\\|)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.catch.separator.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.parameter.java\\\"}},\\\"match\\\":\\\"\\\\\\\\w+\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.catch.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.catch.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\bfinally\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.finally.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.finally.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.finally.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.finally.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.finally.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]}]},\\\"variables\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\\\\\\\w+\\\\\\\\.)*[A-Z_]+\\\\\\\\w*))\\\\\\\\b\\\\\\\\s*(<[],.<>?\\\\\\\\[\\\\\\\\w\\\\\\\\s]*>)?\\\\\\\\s*((\\\\\\\\[])*)?\\\\\\\\s+[$A-Z_a-z][$\\\\\\\\w]*([]$,\\\\\\\\[\\\\\\\\w][],\\\\\\\\[\\\\\\\\w\\\\\\\\s]*)?\\\\\\\\s*([:;=]))\\\",\\\"end\\\":\\\"(?=[:;=])\\\",\\\"name\\\":\\\"meta.definition.variable.java\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.definition.java\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)(?=\\\\\\\\s*(\\\\\\\\[])*\\\\\\\\s*([,:;=]))\\\"},{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#code\\\"}]},\\\"variables-local\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b(var)\\\\\\\\b\\\\\\\\s+[$A-Z_a-z][$\\\\\\\\w]*\\\\\\\\s*([:;=]))\\\",\\\"end\\\":\\\"(?=[:;=])\\\",\\\"name\\\":\\\"meta.definition.variable.local.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bvar\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.local.java\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.definition.java\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)(?=\\\\\\\\s*(\\\\\\\\[])*\\\\\\\\s*([:;=]))\\\"},{\\\"include\\\":\\\"#code\\\"}]}},\\\"scopeName\\\":\\\"source.java\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "java" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,mh1BAA+m7B,CAAC,EAEvo7BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-CzjqYRUi.js b/src/webview-ui/build/assets/chunk-CzjqYRUi.js new file mode 100644 index 0000000000..c84edec9ba --- /dev/null +++ b/src/webview-ui/build/assets/chunk-CzjqYRUi.js @@ -0,0 +1,18 @@ +import e from "./chunk-CDVJQ6XC.js" +import n from "./chunk-DXETW7eA.js" +import t from "./chunk-B9xm8XSJ.js" +import "./chunk-BIGW1oBm.js" +const c = Object.freeze( + JSON.parse( + `{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"source.cpp#type_alias"},{"include":"source.cpp#using_name"},{"include":"source.cpp#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"source.cpp#misc_keywords"},{"include":"source.cpp#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"source.cpp#template_isolated_definition"},{"include":"#template_definition"},{"include":"source.cpp#template_explicit_instantiation"},{"include":"source.cpp#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"alignas_attribute":{"begin":"alignas\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\\\)|(?=(?|\\\\*/))\\\\s*+(?:((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?=(?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?{])(?!\\\\()|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?{])(?!\\\\()|(?=(?|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)[];=\\\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"source.cpp#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?=]|\\\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])|(?=(?","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"source.cpp#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?=\\\\))|(,))|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?{])(?!\\\\()|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?|\\\\?\\\\?>|(?=(?|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"include":"$self"}]}]},"class_declare":{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"begin":"((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"constructor_root":{"begin":"\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"begin":"((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"control_flow_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?]*(>?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//)))|((\\")[^\\"]*(\\"?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//))))|((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?:\\\\.(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)*(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;))))|(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;)))\\\\s+{0,1}(;?)","name":"meta.preprocessor.import.cpp"},"d9bc4796b0b_preprocessor_number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"destructor_root":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"diagnostic":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(error|warning))\\\\b\\\\s+{0,1}","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$7.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{}},"end":"(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.enum.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.enum.cpp"}},"name":"meta.head.enum.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.enum.cpp"}},"name":"meta.body.enum.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#enumerator_list"},{"include":"#comments"},{"include":"#comma"},{"include":"#semicolon"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.enum.cpp","patterns":[{"include":"$self"}]}]},"enum_declare":{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.extern.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.extern.cpp"}},"name":"meta.head.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.extern.cpp"}},"name":"meta.body.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.extern.cpp","patterns":[{"include":"$self"}]},{"include":"$self"}]},"function_body_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"begin":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"function_definition":{"begin":"(?:(?:^|\\\\G|(?<=[;}]))|(?<=>|\\\\*/))\\\\s*+(?:((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"14":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},"name":"meta.head.function.definition.cpp","patterns":[{"include":"#ever_present_context"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.cpp"}},"contentName":"meta.function.definition.parameters","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#parameter_or_maybe_value"},{"include":"#comma"},{"include":"#evaluation_context"}]},{"captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{"name":"comment.block.cpp"},"11":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},"name":"meta.body.function.definition.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.cpp","patterns":[{"include":"$self"}]}]},"function_parameter_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#parameter"},{"include":"#comma"}]},"function_pointer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"function_pointer_parameter":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?]*(>?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//)))|((\\")[^\\"]*(\\"?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//))))|((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?:\\\\.(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)*(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;))))|(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;)))","name":"meta.preprocessor.include.cpp"},"inheritance_context":{"patterns":[{"include":"#ever_present_context"},{"match":",","name":"punctuation.separator.delimiter.comma.inheritance.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"inline_builtin_storage_type":{"captures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"}},"match":"\\\\s*+(?\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((??)++]))*+)(](?!((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)[];=\\\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?=]|\\\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])","endCaptures":{},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.lambda.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lambda.cpp"}},"name":"meta.function.definition.parameters.lambda.cpp","patterns":[{"include":"#function_parameter_context"}]},{"match":"(?","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"include":"#comments"},{"match":"\\\\S+","name":"storage.type.return-type.lambda.cpp"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.lambda.cpp"}},"name":"meta.function.definition.body.lambda.cpp","patterns":[{"include":"$self"}]}]},"language_constants":{"match":"(?\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"8":{"name":"variable.other.property.cpp"}},"match":"(?:(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}\\\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\\\W)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?!\\\\())"},"memory_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp"},"4":{"name":"keyword.operator.delete.array.cpp"},"5":{"name":"keyword.operator.delete.array.bracket.cpp"},"6":{"name":"keyword.operator.delete.cpp"},"7":{"name":"keyword.operator.new.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:(delete)\\\\s+{0,1}(\\\\[])|(delete))|(new))(?!\\\\w))"},"method_access":{"begin":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"misc_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.other.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.block.namespace.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},"name":"meta.head.namespace.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#attributes_context"},{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.namespace.cpp"},"6":{"name":"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{"name":"storage.modifier.inline.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.namespace.cpp"}},"name":"meta.body.namespace.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.namespace.cpp","patterns":[{"include":"$self"}]}]},"noexcept_operator":{"begin":"((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.operator-overload.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.head.function.definition.special.operator-overload.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},"contentName":"meta.function.definition.parameters.special.operator-overload","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp"},"7":{"name":"keyword.other.delete.function.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.body.function.definition.special.operator-overload.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.operator-overload.cpp","patterns":[{"include":"$self"}]}]},"operators":{"patterns":[{"begin":"((?>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"over_qualified_types":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(struct)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"1":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified_type.cpp"},"qualifiers_and_specifiers_post_parameters":{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.modifier.specifier.functional.post-parameters.$5.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_function_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_function_definition_operator_overload":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_definition_operator_overload_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_alias":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_alias_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_block":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_block_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_using":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_using_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_parameter":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_parameter_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_template_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_template_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_template_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_template_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_type":{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"single_line_macro":{"captures":{"0":{"patterns":[{"include":"#macro"},{"include":"#comments"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)#define.*(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"include":"$self"}]}]},"struct_declare":{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.block.switch.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.switch.cpp"}},"name":"meta.head.switch.cpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.switch.cpp"}},"name":"meta.body.switch.cpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.switch.cpp","patterns":[{"include":"$self"}]}]},"template_argument_defaulted":{"captures":{"1":{"name":"storage.type.template.argument.$1.cpp"},"2":{"name":"entity.name.type.template.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"(?<=[,<])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(=)"},"template_call_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"include":"#storage_types"},{"include":"#language_constants"},{"include":"#scope_resolution_template_call_inner_generated"},{"include":"#operators"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma_in_template_argument"},{"include":"#qualified_type"}]},"template_call_innards":{"captures":{"0":{"patterns":[{"include":"#template_call_range"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+","name":"meta.template.call.cpp"},"template_call_range":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},"template_definition":{"begin":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"name":"meta.template.definition.cpp","patterns":[{"begin":"(?<=\\\\w)\\\\s+{0,1}<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"patterns":[{"include":"#template_call_context"}]},{"include":"#template_definition_context"}]},"template_definition_argument":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.type.template.argument.$3.cpp"},"4":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"storage.type.template.argument.$0.cpp"}]},"5":{"name":"entity.name.type.template.cpp"},"6":{"name":"storage.type.template.argument.$6.cpp"},"7":{"name":"punctuation.vararg-ellipses.template.definition.cpp"},"8":{"name":"entity.name.type.template.cpp"},"9":{"name":"storage.type.template.cpp"},"10":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{"name":"storage.type.template.argument.$11.cpp"},"12":{"name":"entity.name.type.template.cpp"},"13":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{"name":"storage.type.template.argument.$14.cpp"},"15":{"name":"entity.name.type.template.cpp"},"16":{"name":"keyword.operator.assignment.cpp"},"17":{"name":"punctuation.separator.delimiter.comma.template.argument.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+)+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))|((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\.\\\\.\\\\.)\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))|(?)\\\\s+{0,1}(class|typename)(?:\\\\s+((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?)\\\\s+{0,1}(?:(=)\\\\s+{0,1}(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?(?:(,)|(?=>|$))"},"template_definition_context":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"},{"include":"#template_definition_argument"},{"include":"#template_argument_defaulted"},{"include":"#template_call_innards"},{"include":"#evaluation_context"}]},"template_explicit_instantiation":{"captures":{"1":{"name":"storage.modifier.specifier.extern.cpp"},"2":{"name":"storage.type.template.cpp"}},"match":"(?)\\\\s+{0,1}$"},"ternary_operator":{"applyEndPatternLast":1,"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"the_this_keyword":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"variable.language.this.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"9":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},"undef":{"captures":{"1":{"name":"keyword.control.directive.undef.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"name":"entity.name.function.preprocessor.cpp"}},"match":"^((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}undef)\\\\b(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"include":"$self"}]}]},"union_declare":{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?|(?=(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::))?\\\\\\\\s+{0,1}((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_function_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.call.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"11\\\":{},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?|\\\\\\\\*/))\\\\\\\\s*+(?:((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?|(?=(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|(?=(?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?|(?=(?{])(?!\\\\\\\\()|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?|(?=(?{])(?!\\\\\\\\()|(?=(?|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"}]},\\\"lambdas\\\":{\\\"begin\\\":\\\"(?:(?<=\\\\\\\\S|^)(?\\\\\\\\[\\\\\\\\w])|(?<=(?:\\\\\\\\W|^)return))\\\\\\\\s+{0,1}(\\\\\\\\[(?!\\\\\\\\[| *+\\\\\\\"| *+\\\\\\\\d))((?:[^]\\\\\\\\[]|((??)++]))*+)(](?!((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)[];=\\\\\\\\[]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.capture.begin.lambda.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.lambda.capture.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#the_this_keyword\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.capture.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?=]|\\\\\\\\z|$)|(,))|(=))\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.capture.end.lambda.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=[;}])|(?=(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.lambda.return-type.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=(?\\\\\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+{0,1}(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s+{0,1})*)\\\\\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.property.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*??)\\\\\\\\s+{0,1}(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))\\\"},{\\\"include\\\":\\\"source.cpp#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"entity.name.function.member.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)\\\\\\\\s+{0,1}((?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(operator)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(?:(?:(delete\\\\\\\\[]|delete|new\\\\\\\\[]|<=>|<<=|new|>>=|->\\\\\\\\*|/=|%=|&=|>=|\\\\\\\\|=|\\\\\\\\+\\\\\\\\+|--|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]|->|\\\\\\\\+\\\\\\\\+|<<|>>|--|<=|\\\\\\\\^=|==|!=|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\+=|-=|\\\\\\\\*=|[!%\\\\\\\\&*-\\\\\\\\-/<=>^|~])|((?|(?=(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.cpp\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.cpp\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.cpp\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.cpp\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.cpp\\\"},{\\\"include\\\":\\\"source.cpp#assignment_operator\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.cpp\\\"},{\\\"include\\\":\\\"#ternary_operator\\\"}]},\\\"parameter\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\w)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?=\\\\\\\\))|(,))|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?|(?=(?{])(?!\\\\\\\\()|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?|\\\\\\\\?\\\\\\\\?>|(?=(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)?((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.class.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.head.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.body.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"class_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.initializers.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"constructor_root\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.initializers.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"control_flow_keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?]*(>?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//))))|((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?:\\\\\\\\.(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)*(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;))))|(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;)))\\\\\\\\s+{0,1}(;?)\\\",\\\"name\\\":\\\"meta.preprocessor.import.cpp\\\"},\\\"d9bc4796b0b_preprocessor_number_literal\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=.)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=\\\\\\\\h)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\h))(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?(?:(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.member.destructor\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp\\\"}},\\\"patterns\\\":[]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"destructor_root\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.member.destructor\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp\\\"}},\\\"patterns\\\":[]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"diagnostic\\\":{\\\"begin\\\":\\\"^(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}(error|warning))\\\\\\\\b\\\\\\\\s+{0,1}\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.diagnostic.$7.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"7\\\":{}},\\\"end\\\":\\\"(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::))?\\\\\\\\s+{0,1}((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.enum.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.enum.cpp\\\"}},\\\"name\\\":\\\"meta.head.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.enum.cpp\\\"}},\\\"name\\\":\\\"meta.body.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#enumerator_list\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"enum_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.extern.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.extern.cpp\\\"}},\\\"name\\\":\\\"meta.head.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.extern.cpp\\\"}},\\\"name\\\":\\\"meta.body.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"function_body_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#using_namespace\\\"},{\\\"include\\\":\\\"#type_alias\\\"},{\\\"include\\\":\\\"#using_name\\\"},{\\\"include\\\":\\\"#namespace_alias\\\"},{\\\"include\\\":\\\"#typedef_class\\\"},{\\\"include\\\":\\\"#typedef_struct\\\"},{\\\"include\\\":\\\"#typedef_union\\\"},{\\\"include\\\":\\\"#misc_keywords\\\"},{\\\"include\\\":\\\"#standard_declares\\\"},{\\\"include\\\":\\\"#class_block\\\"},{\\\"include\\\":\\\"#struct_block\\\"},{\\\"include\\\":\\\"#union_block\\\"},{\\\"include\\\":\\\"#enum_block\\\"},{\\\"include\\\":\\\"#access_control_keywords\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#assembly\\\"},{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"include\\\":\\\"#goto_statement\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#label\\\"}]},\\\"function_call\\\":{\\\"begin\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.call.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"11\\\":{},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"function_definition\\\":{\\\"begin\\\":\\\"(?:(?:^|\\\\\\\\G|(?<=[;}]))|(?<=>|\\\\\\\\*/))\\\\\\\\s*+(?:((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#parameter_or_maybe_value\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.return-type.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"function_parameter_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"function_pointer\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?{])(?!\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},\\\"function_pointer_parameter\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?{])(?!\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},\\\"functional_specifiers_pre_parameters\\\":{\\\"match\\\":\\\"(?]*(>?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//))))|((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?:\\\\\\\\.(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)*(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;))))|(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;)))\\\",\\\"name\\\":\\\"meta.preprocessor.include.cpp\\\"},\\\"inheritance_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.inheritance.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"}]},\\\"inline_builtin_storage_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(?\\\\\\\\[\\\\\\\\w])|(?<=(?:\\\\\\\\W|^)return))\\\\\\\\s+{0,1}(\\\\\\\\[(?!\\\\\\\\[| *+\\\\\\\"| *+\\\\\\\\d))((?:[^]\\\\\\\\[]|((??)++]))*+)(](?!((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)[];=\\\\\\\\[]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.capture.begin.lambda.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.lambda.capture.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#the_this_keyword\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.capture.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?=]|\\\\\\\\z|$)|(,))|(=))\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.capture.end.lambda.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=[;}])\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.lambda.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.lambda.cpp\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.lambda.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},{\\\"match\\\":\\\"(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.lambda.return-type.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"storage.type.return-type.lambda.cpp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.lambda.cpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.lambda.cpp\\\"}},\\\"name\\\":\\\"meta.function.definition.body.lambda.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"language_constants\\\":{\\\"match\\\":\\\"(?\\\\\\\\*??)\\\\\\\\s+{0,1}(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"variable.other.property.cpp\\\"}},\\\"match\\\":\\\"(?:(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+{0,1}(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s+{0,1})*)\\\\\\\\s+{0,1}\\\\\\\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\\\\\\\W)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b(?!\\\\\\\\())\\\"},\\\"memory_operators\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.wordlike.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.delete.array.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.delete.array.bracket.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.delete.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.new.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:(?:(delete)\\\\\\\\s+{0,1}(\\\\\\\\[])|(delete))|(new))(?!\\\\\\\\w))\\\"},\\\"method_access\\\":{\\\"begin\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+{0,1}(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s+{0,1})*)\\\\\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.property.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*??)\\\\\\\\s+{0,1}(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\\\\\\*?))\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"entity.name.function.member.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"misc_keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)\\\\\\\\s+{0,1}((?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.block.namespace.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.namespace.cpp\\\"}},\\\"name\\\":\\\"meta.head.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.inline.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)\\\\\\\\s+{0,1}((?|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.namespace.cpp\\\"}},\\\"name\\\":\\\"meta.body.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"noexcept_operator\\\":{\\\"begin\\\":\\\"((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(operator)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(?:(?:(delete\\\\\\\\[]|delete|new\\\\\\\\[]|<=>|<<=|new|>>=|->\\\\\\\\*|/=|%=|&=|>=|\\\\\\\\|=|\\\\\\\\+\\\\\\\\+|--|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]|->|\\\\\\\\+\\\\\\\\+|<<|>>|--|<=|\\\\\\\\^=|==|!=|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\+=|-=|\\\\\\\\*=|[!%\\\\\\\\&*-\\\\\\\\-/<=>^|~])|((?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.operator-overload\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.cpp\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.cpp\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.cpp\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.cpp\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.cpp\\\"},{\\\"include\\\":\\\"#assignment_operator\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.cpp\\\"},{\\\"include\\\":\\\"#ternary_operator\\\"}]},\\\"over_qualified_types\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.struct.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(struct)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w])\\\",\\\"name\\\":\\\"meta.qualified_type.cpp\\\"},\\\"qualifiers_and_specifiers_post_parameters\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.specifier.functional.post-parameters.$5.cpp\\\"}},\\\"match\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_call\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_call_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_call_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.function.call.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_function_definition\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_definition_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.function.definition.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_function_definition_operator_overload\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_operator_overload_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_definition_operator_overload_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_operator_overload_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.function.definition.operator-overload.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_namespace_alias\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_alias_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_namespace_alias_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_alias_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.namespace.alias.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_namespace_block\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_namespace_block_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.namespace.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_namespace_using\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_using_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_namespace_using_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_using_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.namespace.using.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_parameter\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_parameter_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_parameter_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_parameter_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.parameter.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_template_call\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_call_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_template_call_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.template.call.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_template_definition\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_definition_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_template_definition_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_definition_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.template.definition.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"simple_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?\\\"},\\\"single_line_macro\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"^(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)#define.*(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.struct.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.head.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.body.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"struct_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.block.switch.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.cpp\\\"}},\\\"name\\\":\\\"meta.head.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.cpp\\\"}},\\\"name\\\":\\\"meta.body.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"template_argument_defaulted\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.argument.$1.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"}},\\\"match\\\":\\\"(?<=[,<])\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(=)\\\"},\\\"template_call_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#scope_resolution_template_call_inner_generated\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma_in_template_argument\\\"},{\\\"include\\\":\\\"#qualified_type\\\"}]},\\\"template_call_innards\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+\\\",\\\"name\\\":\\\"meta.template.call.cpp\\\"},\\\"template_call_range\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},\\\"template_definition\\\":{\\\"begin\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.cpp\\\"}},\\\"name\\\":\\\"meta.template.definition.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s+{0,1}<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"include\\\":\\\"#template_definition_context\\\"}]},\\\"template_definition_argument\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"storage.type.template.argument.$3.cpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"storage.type.template.argument.$0.cpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.template.argument.$6.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.vararg-ellipses.template.definition.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.definition.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.template.argument.$11.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.template.argument.$14.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.template.argument.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+)+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))|((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))|(?)\\\\\\\\s+{0,1}(class|typename)(?:\\\\\\\\s+((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?)\\\\\\\\s+{0,1}(?:(=)\\\\\\\\s+{0,1}(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?(?:(,)|(?=>|$))\\\"},\\\"template_definition_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_definition_inner_generated\\\"},{\\\"include\\\":\\\"#template_definition_argument\\\"},{\\\"include\\\":\\\"#template_argument_defaulted\\\"},{\\\"include\\\":\\\"#template_call_innards\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"template_explicit_instantiation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.specifier.extern.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"}},\\\"match\\\":\\\"(?)\\\\\\\\s+{0,1}$\\\"},\\\"ternary_operator\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.cpp\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#predefined_macros\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#memory_operators\\\"},{\\\"include\\\":\\\"#wordlike_operators\\\"},{\\\"include\\\":\\\"#type_casting_operators\\\"},{\\\"include\\\":\\\"#control_flow_keywords\\\"},{\\\"include\\\":\\\"#exception_keywords\\\"},{\\\"include\\\":\\\"#the_this_keyword\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#lambdas\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"include\\\":\\\"#square_brackets\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"the_this_keyword\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))|(.*(?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.class.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.head.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.body.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.class.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?{])(?!\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]}]},\\\"typedef_struct\\\":{\\\"begin\\\":\\\"((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.struct.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.head.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.body.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.struct.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.union.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.head.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.body.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.union.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"},\\\"undef\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.undef.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.cpp\\\"}},\\\"match\\\":\\\"^((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}undef)\\\\\\\\b(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.union.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.head.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.body.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"union_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.union.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)?((?\\\\[^|~]","name":"keyword.operator.berry"}]},"strings":{"patterns":[{"begin":"([\\"'])","end":"\\\\1","name":"string.quoted.double.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"}]},{"begin":"f([\\"'])","end":"\\\\1","name":"string.quoted.other.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"},{"match":"\\\\{\\\\{[^}]*}}","name":"string.quoted.other.berry"},{"begin":"\\\\{","end":"}","name":"keyword.other.unit.berry","patterns":[{"include":"#keywords"},{"include":"#numbers"},{"include":"#identifier"},{"include":"#operator"},{"include":"#member"},{"include":"#function"}]}]}]}},"scopeName":"source.berry","aliases":["be"]}`, + ), + ), + r = [e] +export { r as default } +//# sourceMappingURL=chunk-D08WgyRC.js.map diff --git a/src/webview-ui/build/assets/chunk-D08WgyRC.js.map b/src/webview-ui/build/assets/chunk-D08WgyRC.js.map new file mode 100644 index 0000000000..d2c57fbdd0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D08WgyRC.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D08WgyRC.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/berry.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Berry\\\",\\\"name\\\":\\\"berry\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#controls\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#member\\\"},{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#operator\\\"}],\\\"repository\\\":{\\\"comment-block\\\":{\\\"begin\\\":\\\"#-\\\",\\\"end\\\":\\\"-#\\\",\\\"name\\\":\\\"comment.berry\\\",\\\"patterns\\\":[{}]},\\\"comments\\\":{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.berry\\\",\\\"patterns\\\":[{}]},\\\"controls\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(if|elif|else|for|while|do|end|break|continue|return|try|except|raise)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.berry\\\"}]},\\\"function\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*(?=\\\\\\\\s*\\\\\\\\())\\\",\\\"name\\\":\\\"entity.name.function.berry\\\"}]},\\\"identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"identifier.berry\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(var|static|def|class|true|false|nil|self|super|import|as|_class)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.berry\\\"}]},\\\"member\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.berry\\\"}},\\\"match\\\":\\\"\\\\\\\\.([A-Z_a-z][0-9A-Z_a-z]*)\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"0x\\\\\\\\h+|\\\\\\\\d+|(\\\\\\\\d+\\\\\\\\.?|\\\\\\\\.\\\\\\\\d)\\\\\\\\d*([Ee][-+]?\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.numeric.berry\\\"}]},\\\"operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[-\\\\\\\\]!%\\\\\\\\&(-+./:<=>\\\\\\\\[^|~]\\\",\\\"name\\\":\\\"keyword.operator.berry\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"string.quoted.double.berry\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\x\\\\\\\\h{2})|(\\\\\\\\\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)|(\\\\\\\\\\\\\\\\\\\\\\\")|(\\\\\\\\\\\\\\\\')|(\\\\\\\\\\\\\\\\a)|(\\\\\\\\\\\\\\\\b)|(\\\\\\\\\\\\\\\\f)|(\\\\\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\r)|(\\\\\\\\\\\\\\\\t)|(\\\\\\\\\\\\\\\\v)\\\",\\\"name\\\":\\\"constant.character.escape.berry\\\"}]},{\\\"begin\\\":\\\"f([\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"string.quoted.other.berry\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\x\\\\\\\\h{2})|(\\\\\\\\\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)|(\\\\\\\\\\\\\\\\\\\\\\\")|(\\\\\\\\\\\\\\\\')|(\\\\\\\\\\\\\\\\a)|(\\\\\\\\\\\\\\\\b)|(\\\\\\\\\\\\\\\\f)|(\\\\\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\r)|(\\\\\\\\\\\\\\\\t)|(\\\\\\\\\\\\\\\\v)\\\",\\\"name\\\":\\\"constant.character.escape.berry\\\"},{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{[^}]*}}\\\",\\\"name\\\":\\\"string.quoted.other.berry\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"keyword.other.unit.berry\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#member\\\"},{\\\"include\\\":\\\"#function\\\"}]}]}]}},\\\"scopeName\\\":\\\"source.berry\\\",\\\"aliases\\\":[\\\"be\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "berry" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2vEAAihF,CAAC,EAEziFC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D0YGMca9.js b/src/webview-ui/build/assets/chunk-D0YGMca9.js new file mode 100644 index 0000000000..f56552e2df --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D0YGMca9.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Genie","fileTypes":["gs"],"name":"genie","patterns":[{"include":"#code"}],"repository":{"code":{"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#keywords"},{"include":"#types"},{"include":"#functions"},{"include":"#variables"}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.vala"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.vala"},{"include":"text.html.javadoc"},{"include":"#comments-inline"}]},"comments-inline":{"patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.vala"}},"end":"\\\\*/","name":"comment.block.vala"},{"captures":{"1":{"name":"comment.line.double-slash.vala"},"2":{"name":"punctuation.definition.comment.vala"}},"match":"\\\\s*((//).*$\\\\n?)"}]},"constants":{"patterns":[{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\b","name":"constant.numeric.vala"},{"match":"\\\\b([A-Z][0-9A-Z_]+)\\\\b","name":"variable.other.constant.vala"}]},"functions":{"patterns":[{"match":"(\\\\w+)(?=\\\\s*(<[.\\\\s\\\\w]+>\\\\s*)?\\\\()","name":"entity.name.function.vala"}]},"keywords":{"patterns":[{"match":"(?<=^|[^.@\\\\w])(as|do|if|in|is|of|or|to|and|def|for|get|isa|new|not|out|ref|set|try|var|case|dict|else|enum|init|list|lock|null|pass|prop|self|true|uses|void|weak|when|array|async|break|class|const|event|false|final|owned|print|super|raise|while|yield|assert|delete|downto|except|extern|inline|params|public|raises|return|sealed|sizeof|static|struct|typeof|default|dynamic|ensures|finally|private|unowned|virtual|abstract|continue|delegate|internal|override|readonly|requires|volatile|construct|errordomain|interface|namespace|protected|implements)\\\\b","name":"keyword.vala"},{"match":"(?<=^|[^.@\\\\w])(bool|double|float|unichar|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\\\\b","name":"keyword.vala"},{"match":"(#(?:if|elif|else|endif))","name":"keyword.vala"}]},"strings":{"patterns":[{"begin":"\\"\\"\\"","end":"\\"\\"\\"","name":"string.quoted.triple.vala"},{"begin":"@\\"","end":"\\"","name":"string.quoted.interpolated.vala","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vala"},{"match":"\\\\$\\\\w+","name":"constant.character.escape.vala"},{"match":"\\\\$\\\\(([^()]|\\\\(([^()]|\\\\([^)]*\\\\))*\\\\))*\\\\)","name":"constant.character.escape.vala"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.vala","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vala"}]},{"begin":"'","end":"'","name":"string.quoted.single.vala","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.vala"}]},{"match":"/((\\\\\\\\/)|([^/]))*/(?=\\\\s*[\\\\n),.;])","name":"string.regexp.vala"}]},"types":{"patterns":[{"match":"(?<=^|[^.@\\\\w])(bool|double|float|unichar|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\\\\b","name":"storage.type.primitive.vala"},{"match":"\\\\b([A-Z]+\\\\w*)\\\\b","name":"entity.name.type.vala"}]},"variables":{"patterns":[{"match":"\\\\b([_a-z]+\\\\w*)\\\\b","name":"variable.other.vala"}]}},"scopeName":"source.genie"}`, + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-D0YGMca9.js.map diff --git a/src/webview-ui/build/assets/chunk-D0YGMca9.js.map b/src/webview-ui/build/assets/chunk-D0YGMca9.js.map new file mode 100644 index 0000000000..91f8984cca --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D0YGMca9.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D0YGMca9.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/genie.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Genie\\\",\\\"fileTypes\\\":[\\\"gs\\\"],\\\"name\\\":\\\"genie\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}],\\\"repository\\\":{\\\"code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#variables\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vala\\\"}},\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.empty.vala\\\"},{\\\"include\\\":\\\"text.html.javadoc\\\"},{\\\"include\\\":\\\"#comments-inline\\\"}]},\\\"comments-inline\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vala\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.vala\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.double-slash.vala\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vala\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((//).*$\\\\\\\\n?)\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z][0-9A-Z_]+)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.vala\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\w+)(?=\\\\\\\\s*(<[.\\\\\\\\s\\\\\\\\w]+>\\\\\\\\s*)?\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.vala\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[^.@\\\\\\\\w])(as|do|if|in|is|of|or|to|and|def|for|get|isa|new|not|out|ref|set|try|var|case|dict|else|enum|init|list|lock|null|pass|prop|self|true|uses|void|weak|when|array|async|break|class|const|event|false|final|owned|print|super|raise|while|yield|assert|delete|downto|except|extern|inline|params|public|raises|return|sealed|sizeof|static|struct|typeof|default|dynamic|ensures|finally|private|unowned|virtual|abstract|continue|delegate|internal|override|readonly|requires|volatile|construct|errordomain|interface|namespace|protected|implements)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.vala\\\"},{\\\"match\\\":\\\"(?<=^|[^.@\\\\\\\\w])(bool|double|float|unichar|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.vala\\\"},{\\\"match\\\":\\\"(#(?:if|elif|else|endif))\\\",\\\"name\\\":\\\"keyword.vala\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.triple.vala\\\"},{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.interpolated.vala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\w+\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\(([^()]|\\\\\\\\(([^()]|\\\\\\\\([^)]*\\\\\\\\))*\\\\\\\\))*\\\\\\\\)\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.vala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.vala\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.vala\\\"}]},{\\\"match\\\":\\\"/((\\\\\\\\\\\\\\\\/)|([^/]))*/(?=\\\\\\\\s*[\\\\\\\\n),.;])\\\",\\\"name\\\":\\\"string.regexp.vala\\\"}]},\\\"types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[^.@\\\\\\\\w])(bool|double|float|unichar|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.primitive.vala\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z]+\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.vala\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([_a-z]+\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.vala\\\"}]}},\\\"scopeName\\\":\\\"source.genie\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "genie" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,4tGAA0iH,CAAC,EAElkHC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D0r3Knsf.js b/src/webview-ui/build/assets/chunk-D0r3Knsf.js new file mode 100644 index 0000000000..3e8b5b499f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D0r3Knsf.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#4d9375","activityBar.background":"#121212","activityBar.border":"#191919","activityBar.foreground":"#dbd7caee","activityBar.inactiveForeground":"#dedcd550","activityBarBadge.background":"#bfbaaa","activityBarBadge.foreground":"#121212","badge.background":"#dedcd590","badge.foreground":"#121212","breadcrumb.activeSelectionForeground":"#eeeeee18","breadcrumb.background":"#181818","breadcrumb.focusForeground":"#dbd7caee","breadcrumb.foreground":"#959da5","breadcrumbPicker.background":"#121212","button.background":"#4d9375","button.foreground":"#121212","button.hoverBackground":"#4d9375","checkbox.background":"#181818","checkbox.border":"#2f363d","debugToolBar.background":"#121212","descriptionForeground":"#dedcd590","diffEditor.insertedTextBackground":"#4d937550","diffEditor.removedTextBackground":"#ab595950","dropdown.background":"#121212","dropdown.border":"#191919","dropdown.foreground":"#dbd7caee","dropdown.listBackground":"#181818","editor.background":"#121212","editor.findMatchBackground":"#e6cc7722","editor.findMatchHighlightBackground":"#e6cc7744","editor.focusedStackFrameHighlightBackground":"#b808","editor.foldBackground":"#eeeeee10","editor.foreground":"#dbd7caee","editor.inactiveSelectionBackground":"#eeeeee10","editor.lineHighlightBackground":"#181818","editor.selectionBackground":"#eeeeee18","editor.selectionHighlightBackground":"#eeeeee10","editor.stackFrameHighlightBackground":"#a707","editor.wordHighlightBackground":"#1c6b4805","editor.wordHighlightStrongBackground":"#1c6b4810","editorBracketHighlight.foreground1":"#5eaab5","editorBracketHighlight.foreground2":"#4d9375","editorBracketHighlight.foreground3":"#d4976c","editorBracketHighlight.foreground4":"#d9739f","editorBracketHighlight.foreground5":"#e6cc77","editorBracketHighlight.foreground6":"#6394bf","editorBracketMatch.background":"#4d937520","editorError.foreground":"#cb7676","editorGroup.border":"#191919","editorGroupHeader.tabsBackground":"#121212","editorGroupHeader.tabsBorder":"#191919","editorGutter.addedBackground":"#4d9375","editorGutter.commentRangeForeground":"#dedcd550","editorGutter.deletedBackground":"#cb7676","editorGutter.foldingControlForeground":"#dedcd590","editorGutter.modifiedBackground":"#6394bf","editorHint.foreground":"#4d9375","editorIndentGuide.activeBackground":"#ffffff30","editorIndentGuide.background":"#ffffff15","editorInfo.foreground":"#6394bf","editorInlayHint.background":"#181818","editorInlayHint.foreground":"#666666","editorLineNumber.activeForeground":"#bfbaaa","editorLineNumber.foreground":"#dedcd550","editorOverviewRuler.border":"#111","editorStickyScroll.background":"#181818","editorStickyScrollHover.background":"#181818","editorWarning.foreground":"#d4976c","editorWhitespace.foreground":"#ffffff15","editorWidget.background":"#121212","errorForeground":"#cb7676","focusBorder":"#00000000","foreground":"#dbd7caee","gitDecoration.addedResourceForeground":"#4d9375","gitDecoration.conflictingResourceForeground":"#d4976c","gitDecoration.deletedResourceForeground":"#cb7676","gitDecoration.ignoredResourceForeground":"#dedcd550","gitDecoration.modifiedResourceForeground":"#6394bf","gitDecoration.submoduleResourceForeground":"#dedcd590","gitDecoration.untrackedResourceForeground":"#5eaab5","input.background":"#181818","input.border":"#191919","input.foreground":"#dbd7caee","input.placeholderForeground":"#dedcd590","inputOption.activeBackground":"#dedcd550","list.activeSelectionBackground":"#181818","list.activeSelectionForeground":"#dbd7caee","list.focusBackground":"#181818","list.highlightForeground":"#4d9375","list.hoverBackground":"#181818","list.hoverForeground":"#dbd7caee","list.inactiveFocusBackground":"#121212","list.inactiveSelectionBackground":"#181818","list.inactiveSelectionForeground":"#dbd7caee","menu.separatorBackground":"#191919","notificationCenterHeader.background":"#121212","notificationCenterHeader.foreground":"#959da5","notifications.background":"#121212","notifications.border":"#191919","notifications.foreground":"#dbd7caee","notificationsErrorIcon.foreground":"#cb7676","notificationsInfoIcon.foreground":"#6394bf","notificationsWarningIcon.foreground":"#d4976c","panel.background":"#121212","panel.border":"#191919","panelInput.border":"#2f363d","panelTitle.activeBorder":"#4d9375","panelTitle.activeForeground":"#dbd7caee","panelTitle.inactiveForeground":"#959da5","peekViewEditor.background":"#121212","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.background":"#121212","peekViewResult.matchHighlightBackground":"#ffd33d33","pickerGroup.border":"#191919","pickerGroup.foreground":"#dbd7caee","problemsErrorIcon.foreground":"#cb7676","problemsInfoIcon.foreground":"#6394bf","problemsWarningIcon.foreground":"#d4976c","progressBar.background":"#4d9375","quickInput.background":"#121212","quickInput.foreground":"#dbd7caee","quickInputList.focusBackground":"#181818","scrollbar.shadow":"#0000","scrollbarSlider.activeBackground":"#dedcd550","scrollbarSlider.background":"#dedcd510","scrollbarSlider.hoverBackground":"#dedcd550","settings.headerForeground":"#dbd7caee","settings.modifiedItemIndicator":"#4d9375","sideBar.background":"#121212","sideBar.border":"#191919","sideBar.foreground":"#bfbaaa","sideBarSectionHeader.background":"#121212","sideBarSectionHeader.border":"#191919","sideBarSectionHeader.foreground":"#dbd7caee","sideBarTitle.foreground":"#dbd7caee","statusBar.background":"#121212","statusBar.border":"#191919","statusBar.debuggingBackground":"#181818","statusBar.debuggingForeground":"#bfbaaa","statusBar.foreground":"#bfbaaa","statusBar.noFolderBackground":"#121212","statusBarItem.prominentBackground":"#181818","tab.activeBackground":"#121212","tab.activeBorder":"#191919","tab.activeBorderTop":"#dedcd590","tab.activeForeground":"#dbd7caee","tab.border":"#191919","tab.hoverBackground":"#181818","tab.inactiveBackground":"#121212","tab.inactiveForeground":"#959da5","tab.unfocusedActiveBorder":"#191919","tab.unfocusedActiveBorderTop":"#191919","tab.unfocusedHoverBackground":"#121212","terminal.ansiBlack":"#393a34","terminal.ansiBlue":"#6394bf","terminal.ansiBrightBlack":"#777777","terminal.ansiBrightBlue":"#6394bf","terminal.ansiBrightCyan":"#5eaab5","terminal.ansiBrightGreen":"#4d9375","terminal.ansiBrightMagenta":"#d9739f","terminal.ansiBrightRed":"#cb7676","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#e6cc77","terminal.ansiCyan":"#5eaab5","terminal.ansiGreen":"#4d9375","terminal.ansiMagenta":"#d9739f","terminal.ansiRed":"#cb7676","terminal.ansiWhite":"#dbd7ca","terminal.ansiYellow":"#e6cc77","terminal.foreground":"#dbd7caee","terminal.selectionBackground":"#eeeeee18","textBlockQuote.background":"#121212","textBlockQuote.border":"#191919","textCodeBlock.background":"#121212","textLink.activeForeground":"#4d9375","textLink.foreground":"#4d9375","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","titleBar.activeBackground":"#121212","titleBar.activeForeground":"#bfbaaa","titleBar.border":"#181818","titleBar.inactiveBackground":"#121212","titleBar.inactiveForeground":"#959da5","tree.indentGuidesStroke":"#2f363d","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"displayName":"Vitesse Dark","name":"vitesse-dark","semanticHighlighting":true,"semanticTokenColors":{"class":"#6872ab","interface":"#5d99a9","namespace":"#db889a","property":"#b8a965","type":"#5d99a9"},"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#758575dd"}},{"scope":["delimiter.bracket","delimiter","invalid.illegal.character-not-allowed-here.html","keyword.operator.rest","keyword.operator.spread","keyword.operator.type.annotation","keyword.operator.relational","keyword.operator.assignment","keyword.operator.type","meta.brace","meta.tag.block.any.html","meta.tag.inline.any.html","meta.tag.structure.input.void.html","meta.type.annotation","meta.embedded.block.github-actions-expression","storage.type.function.arrow","meta.objectliteral.ts","punctuation","punctuation.definition.string.begin.html.vue","punctuation.definition.string.end.html.vue"],"settings":{"foreground":"#666666"}},{"scope":["constant","entity.name.constant","variable.language","meta.definition.variable"],"settings":{"foreground":"#c99076"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#80a665"}},{"scope":"variable.parameter.function","settings":{"foreground":"#dbd7caee"}},{"scope":["entity.name.tag","tag.html"],"settings":{"foreground":"#4d9375"}},{"scope":"entity.name.function","settings":{"foreground":"#80a665"}},{"scope":["keyword","storage.type.class.jsdoc","punctuation.definition.template-expression"],"settings":{"foreground":"#4d9375"}},{"scope":["storage","storage.type","support.type.builtin","constant.language.undefined","constant.language.null","constant.language.import-export-all.ts"],"settings":{"foreground":"#cb7676"}},{"scope":["text.html.derivative","storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#dbd7caee"}},{"scope":["string","string punctuation.section.embedded source","attribute.value"],"settings":{"foreground":"#c98a7d"}},{"scope":["punctuation.definition.string"],"settings":{"foreground":"#c98a7d77"}},{"scope":["punctuation.support.type.property-name"],"settings":{"foreground":"#b8a96577"}},{"scope":"support","settings":{"foreground":"#b8a965"}},{"scope":["property","meta.property-name","meta.object-literal.key","entity.name.tag.yaml","attribute.name"],"settings":{"foreground":"#b8a965"}},{"scope":["entity.other.attribute-name","invalid.deprecated.entity.other.attribute-name.html"],"settings":{"foreground":"#bd976a"}},{"scope":["variable","identifier"],"settings":{"foreground":"#bd976a"}},{"scope":["support.type.primitive","entity.name.type"],"settings":{"foreground":"#5DA994"}},{"scope":"namespace","settings":{"foreground":"#db889a"}},{"scope":["keyword.operator","keyword.operator.assignment.compound","meta.var.expr.ts"],"settings":{"foreground":"#cb7676"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"background":"#f97583","content":"^M","fontStyle":"italic underline","foreground":"#24292e"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#c98a7d"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#c4704f"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#c98a7d"}},{"scope":"string.regexp constant.character.escape","settings":{"foreground":"#e6cc77"}},{"scope":["support.constant"],"settings":{"foreground":"#c99076"}},{"scope":["keyword.operator.quantifier.regexp","constant.numeric","number"],"settings":{"foreground":"#4C9A91"}},{"scope":["keyword.other.unit"],"settings":{"foreground":"#cb7676"}},{"scope":["constant.language.boolean","constant.language"],"settings":{"foreground":"#4d9375"}},{"scope":"meta.module-reference","settings":{"foreground":"#4d9375"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#d4976c"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#4d9375"}},{"scope":"markup.quote","settings":{"foreground":"#5d99a9"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#dbd7caee"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#dbd7caee"}},{"scope":"markup.raw","settings":{"foreground":"#4d9375"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79b8ff","foreground":"#2f363d"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#b392f0"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link","punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#c98a7d"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"fontStyle":"underline","foreground":"#dedcd590"}},{"scope":["type.identifier","constant.other.character-class.regexp"],"settings":{"foreground":"#6872ab"}},{"scope":["entity.other.attribute-name.html.vue"],"settings":{"foreground":"#80a665"}},{"scope":["invalid.illegal.unrecognized-tag.html"],"settings":{"fontStyle":"normal"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-D0r3Knsf.js.map diff --git a/src/webview-ui/build/assets/chunk-D0r3Knsf.js.map b/src/webview-ui/build/assets/chunk-D0r3Knsf.js.map new file mode 100644 index 0000000000..bd957380a1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D0r3Knsf.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-D0r3Knsf.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/vitesse-dark.mjs" + ], + "sourcesContent": [ + "/* Theme: vitesse-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#4d9375\\\",\\\"activityBar.background\\\":\\\"#121212\\\",\\\"activityBar.border\\\":\\\"#191919\\\",\\\"activityBar.foreground\\\":\\\"#dbd7caee\\\",\\\"activityBar.inactiveForeground\\\":\\\"#dedcd550\\\",\\\"activityBarBadge.background\\\":\\\"#bfbaaa\\\",\\\"activityBarBadge.foreground\\\":\\\"#121212\\\",\\\"badge.background\\\":\\\"#dedcd590\\\",\\\"badge.foreground\\\":\\\"#121212\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#eeeeee18\\\",\\\"breadcrumb.background\\\":\\\"#181818\\\",\\\"breadcrumb.focusForeground\\\":\\\"#dbd7caee\\\",\\\"breadcrumb.foreground\\\":\\\"#959da5\\\",\\\"breadcrumbPicker.background\\\":\\\"#121212\\\",\\\"button.background\\\":\\\"#4d9375\\\",\\\"button.foreground\\\":\\\"#121212\\\",\\\"button.hoverBackground\\\":\\\"#4d9375\\\",\\\"checkbox.background\\\":\\\"#181818\\\",\\\"checkbox.border\\\":\\\"#2f363d\\\",\\\"debugToolBar.background\\\":\\\"#121212\\\",\\\"descriptionForeground\\\":\\\"#dedcd590\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4d937550\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ab595950\\\",\\\"dropdown.background\\\":\\\"#121212\\\",\\\"dropdown.border\\\":\\\"#191919\\\",\\\"dropdown.foreground\\\":\\\"#dbd7caee\\\",\\\"dropdown.listBackground\\\":\\\"#181818\\\",\\\"editor.background\\\":\\\"#121212\\\",\\\"editor.findMatchBackground\\\":\\\"#e6cc7722\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#e6cc7744\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#b808\\\",\\\"editor.foldBackground\\\":\\\"#eeeeee10\\\",\\\"editor.foreground\\\":\\\"#dbd7caee\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#eeeeee10\\\",\\\"editor.lineHighlightBackground\\\":\\\"#181818\\\",\\\"editor.selectionBackground\\\":\\\"#eeeeee18\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#eeeeee10\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#a707\\\",\\\"editor.wordHighlightBackground\\\":\\\"#1c6b4805\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#1c6b4810\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#5eaab5\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#4d9375\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#d4976c\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#d9739f\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#e6cc77\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#6394bf\\\",\\\"editorBracketMatch.background\\\":\\\"#4d937520\\\",\\\"editorError.foreground\\\":\\\"#cb7676\\\",\\\"editorGroup.border\\\":\\\"#191919\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#121212\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#191919\\\",\\\"editorGutter.addedBackground\\\":\\\"#4d9375\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#dedcd550\\\",\\\"editorGutter.deletedBackground\\\":\\\"#cb7676\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#dedcd590\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6394bf\\\",\\\"editorHint.foreground\\\":\\\"#4d9375\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#ffffff30\\\",\\\"editorIndentGuide.background\\\":\\\"#ffffff15\\\",\\\"editorInfo.foreground\\\":\\\"#6394bf\\\",\\\"editorInlayHint.background\\\":\\\"#181818\\\",\\\"editorInlayHint.foreground\\\":\\\"#666666\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#bfbaaa\\\",\\\"editorLineNumber.foreground\\\":\\\"#dedcd550\\\",\\\"editorOverviewRuler.border\\\":\\\"#111\\\",\\\"editorStickyScroll.background\\\":\\\"#181818\\\",\\\"editorStickyScrollHover.background\\\":\\\"#181818\\\",\\\"editorWarning.foreground\\\":\\\"#d4976c\\\",\\\"editorWhitespace.foreground\\\":\\\"#ffffff15\\\",\\\"editorWidget.background\\\":\\\"#121212\\\",\\\"errorForeground\\\":\\\"#cb7676\\\",\\\"focusBorder\\\":\\\"#00000000\\\",\\\"foreground\\\":\\\"#dbd7caee\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#4d9375\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#d4976c\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cb7676\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#dedcd550\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6394bf\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#dedcd590\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#5eaab5\\\",\\\"input.background\\\":\\\"#181818\\\",\\\"input.border\\\":\\\"#191919\\\",\\\"input.foreground\\\":\\\"#dbd7caee\\\",\\\"input.placeholderForeground\\\":\\\"#dedcd590\\\",\\\"inputOption.activeBackground\\\":\\\"#dedcd550\\\",\\\"list.activeSelectionBackground\\\":\\\"#181818\\\",\\\"list.activeSelectionForeground\\\":\\\"#dbd7caee\\\",\\\"list.focusBackground\\\":\\\"#181818\\\",\\\"list.highlightForeground\\\":\\\"#4d9375\\\",\\\"list.hoverBackground\\\":\\\"#181818\\\",\\\"list.hoverForeground\\\":\\\"#dbd7caee\\\",\\\"list.inactiveFocusBackground\\\":\\\"#121212\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#181818\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#dbd7caee\\\",\\\"menu.separatorBackground\\\":\\\"#191919\\\",\\\"notificationCenterHeader.background\\\":\\\"#121212\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#959da5\\\",\\\"notifications.background\\\":\\\"#121212\\\",\\\"notifications.border\\\":\\\"#191919\\\",\\\"notifications.foreground\\\":\\\"#dbd7caee\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#cb7676\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#6394bf\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#d4976c\\\",\\\"panel.background\\\":\\\"#121212\\\",\\\"panel.border\\\":\\\"#191919\\\",\\\"panelInput.border\\\":\\\"#2f363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#4d9375\\\",\\\"panelTitle.activeForeground\\\":\\\"#dbd7caee\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#959da5\\\",\\\"peekViewEditor.background\\\":\\\"#121212\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"peekViewResult.background\\\":\\\"#121212\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"pickerGroup.border\\\":\\\"#191919\\\",\\\"pickerGroup.foreground\\\":\\\"#dbd7caee\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#cb7676\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#6394bf\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#d4976c\\\",\\\"progressBar.background\\\":\\\"#4d9375\\\",\\\"quickInput.background\\\":\\\"#121212\\\",\\\"quickInput.foreground\\\":\\\"#dbd7caee\\\",\\\"quickInputList.focusBackground\\\":\\\"#181818\\\",\\\"scrollbar.shadow\\\":\\\"#0000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#dedcd550\\\",\\\"scrollbarSlider.background\\\":\\\"#dedcd510\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#dedcd550\\\",\\\"settings.headerForeground\\\":\\\"#dbd7caee\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#4d9375\\\",\\\"sideBar.background\\\":\\\"#121212\\\",\\\"sideBar.border\\\":\\\"#191919\\\",\\\"sideBar.foreground\\\":\\\"#bfbaaa\\\",\\\"sideBarSectionHeader.background\\\":\\\"#121212\\\",\\\"sideBarSectionHeader.border\\\":\\\"#191919\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#dbd7caee\\\",\\\"sideBarTitle.foreground\\\":\\\"#dbd7caee\\\",\\\"statusBar.background\\\":\\\"#121212\\\",\\\"statusBar.border\\\":\\\"#191919\\\",\\\"statusBar.debuggingBackground\\\":\\\"#181818\\\",\\\"statusBar.debuggingForeground\\\":\\\"#bfbaaa\\\",\\\"statusBar.foreground\\\":\\\"#bfbaaa\\\",\\\"statusBar.noFolderBackground\\\":\\\"#121212\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#181818\\\",\\\"tab.activeBackground\\\":\\\"#121212\\\",\\\"tab.activeBorder\\\":\\\"#191919\\\",\\\"tab.activeBorderTop\\\":\\\"#dedcd590\\\",\\\"tab.activeForeground\\\":\\\"#dbd7caee\\\",\\\"tab.border\\\":\\\"#191919\\\",\\\"tab.hoverBackground\\\":\\\"#181818\\\",\\\"tab.inactiveBackground\\\":\\\"#121212\\\",\\\"tab.inactiveForeground\\\":\\\"#959da5\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#191919\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#191919\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#121212\\\",\\\"terminal.ansiBlack\\\":\\\"#393a34\\\",\\\"terminal.ansiBlue\\\":\\\"#6394bf\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#777777\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6394bf\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5eaab5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#4d9375\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d9739f\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb7676\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e6cc77\\\",\\\"terminal.ansiCyan\\\":\\\"#5eaab5\\\",\\\"terminal.ansiGreen\\\":\\\"#4d9375\\\",\\\"terminal.ansiMagenta\\\":\\\"#d9739f\\\",\\\"terminal.ansiRed\\\":\\\"#cb7676\\\",\\\"terminal.ansiWhite\\\":\\\"#dbd7ca\\\",\\\"terminal.ansiYellow\\\":\\\"#e6cc77\\\",\\\"terminal.foreground\\\":\\\"#dbd7caee\\\",\\\"terminal.selectionBackground\\\":\\\"#eeeeee18\\\",\\\"textBlockQuote.background\\\":\\\"#121212\\\",\\\"textBlockQuote.border\\\":\\\"#191919\\\",\\\"textCodeBlock.background\\\":\\\"#121212\\\",\\\"textLink.activeForeground\\\":\\\"#4d9375\\\",\\\"textLink.foreground\\\":\\\"#4d9375\\\",\\\"textPreformat.foreground\\\":\\\"#d1d5da\\\",\\\"textSeparator.foreground\\\":\\\"#586069\\\",\\\"titleBar.activeBackground\\\":\\\"#121212\\\",\\\"titleBar.activeForeground\\\":\\\"#bfbaaa\\\",\\\"titleBar.border\\\":\\\"#181818\\\",\\\"titleBar.inactiveBackground\\\":\\\"#121212\\\",\\\"titleBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#444d56\\\"},\\\"displayName\\\":\\\"Vitesse Dark\\\",\\\"name\\\":\\\"vitesse-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class\\\":\\\"#6872ab\\\",\\\"interface\\\":\\\"#5d99a9\\\",\\\"namespace\\\":\\\"#db889a\\\",\\\"property\\\":\\\"#b8a965\\\",\\\"type\\\":\\\"#5d99a9\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#758575dd\\\"}},{\\\"scope\\\":[\\\"delimiter.bracket\\\",\\\"delimiter\\\",\\\"invalid.illegal.character-not-allowed-here.html\\\",\\\"keyword.operator.rest\\\",\\\"keyword.operator.spread\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.type\\\",\\\"meta.brace\\\",\\\"meta.tag.block.any.html\\\",\\\"meta.tag.inline.any.html\\\",\\\"meta.tag.structure.input.void.html\\\",\\\"meta.type.annotation\\\",\\\"meta.embedded.block.github-actions-expression\\\",\\\"storage.type.function.arrow\\\",\\\"meta.objectliteral.ts\\\",\\\"punctuation\\\",\\\"punctuation.definition.string.begin.html.vue\\\",\\\"punctuation.definition.string.end.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#666666\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.language\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c99076\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"tag.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.type.class.jsdoc\\\",\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\",\\\"support.type.builtin\\\",\\\"constant.language.undefined\\\",\\\"constant.language.null\\\",\\\"constant.language.import-export-all.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":[\\\"text.html.derivative\\\",\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\",\\\"attribute.value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d77\\\"}},{\\\"scope\\\":[\\\"punctuation.support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a96577\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a965\\\"}},{\\\"scope\\\":[\\\"property\\\",\\\"meta.property-name\\\",\\\"meta.object-literal.key\\\",\\\"entity.name.tag.yaml\\\",\\\"attribute.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a965\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"invalid.deprecated.entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bd976a\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"identifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bd976a\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DA994\\\"}},{\\\"scope\\\":\\\"namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#db889a\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.operator.assignment.compound\\\",\\\"meta.var.expr.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#f97583\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4704f\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e6cc77\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c99076\\\"}},{\\\"scope\\\":[\\\"keyword.operator.quantifier.regexp\\\",\\\"constant.numeric\\\",\\\"number\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4C9A91\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d4976c\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5d99a9\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":\\\"markup.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#86181d\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#144620\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#c24e00\\\",\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79b8ff\\\",\\\"foreground\\\":\\\"#2f363d\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d1d5da\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\",\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"markup.underline.link.image.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#dedcd590\\\"}},{\\\"scope\\\":[\\\"type.identifier\\\",\\\"constant.other.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6872ab\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":[\\\"invalid.illegal.unrecognized-tag.html\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "vitesseDark" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,q4aAAu5d,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D17OF-Vu.js b/src/webview-ui/build/assets/chunk-D17OF-Vu.js new file mode 100644 index 0000000000..1beed1c667 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D17OF-Vu.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Visual Basic","name":"vb","patterns":[{"match":"\\\\n","name":"meta.ending-space"},{"include":"#round-brackets"},{"begin":"^(?=\\\\t)","end":"(?=[^\\\\t])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}},"match":"(\\\\t)(\\\\t)?"}]},{"begin":"^(?= )","end":"(?=[^ ])","name":"meta.leading-space","patterns":[{"captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}},"match":"( )( )?"}]},{"captures":{"1":{"name":"storage.type.function.asp"},"2":{"name":"entity.name.function.asp"},"3":{"name":"punctuation.definition.parameters.asp"},"4":{"name":"variable.parameter.function.asp"},"5":{"name":"punctuation.definition.parameters.asp"}},"match":"^\\\\s*((?i:function|sub))\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\()([^)]*)(\\\\)).*\\\\n?","name":"meta.function.asp"},{"begin":"(^[\\\\t ]+)?(?=')","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.asp"}},"end":"(?!\\\\G)","patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.comment.asp"}},"end":"\\\\n","name":"comment.line.apostrophe.asp"}]},{"match":"(?i:\\\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\\\b)","name":"keyword.control.asp"},{"match":"(?i:\\\\b(Mod|And|Not|Or|Xor|as)\\\\b)","name":"keyword.operator.asp"},{"captures":{"1":{"name":"storage.type.asp"},"2":{"name":"variable.other.bfeac.asp"},"3":{"name":"meta.separator.comma.asp"}},"match":"(?i:(dim)\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b\\\\s*(,?))","name":"variable.other.dim.asp"},{"match":"(?i:\\\\s*\\\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\\\b\\\\s*)","name":"storage.type.asp"},{"match":"(?i:\\\\b(Private|Public|Default)\\\\b)","name":"storage.modifier.asp"},{"match":"(?i:\\\\s*\\\\b(Empty|False|Nothing|Null|True)\\\\b)","name":"constant.language.asp"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asp"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asp"}},"name":"string.quoted.double.asp","patterns":[{"match":"\\"\\"","name":"constant.character.escape.apostrophe.asp"}]},{"captures":{"1":{"name":"punctuation.definition.variable.asp"}},"match":"(\\\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\\\b\\\\s*","name":"variable.other.asp"},{"match":"(?i:\\\\b(Application|ObjectContext|Request|Response|Server|Session)\\\\b)","name":"support.class.asp"},{"match":"(?i:\\\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\\\b)","name":"support.class.collection.asp"},{"match":"(?i:\\\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\\\b)","name":"support.constant.asp"},{"match":"(?i:\\\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\\\b)","name":"support.function.asp"},{"match":"(?i:\\\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\\\b)","name":"support.function.event.asp"},{"match":"(?i:(?<=as )\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b)","name":"support.type.vb.asp"},{"match":"(?i:\\\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\\\b)","name":"support.function.vb.asp"},{"match":"-?\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\b","name":"constant.numeric.asp"},{"match":"(?i:\\\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\\\b)","name":"support.type.vb.asp"},{"captures":{"1":{"name":"entity.name.function.asp"}},"match":"(?i:\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\(\\\\)?))","name":"support.function.asp"},{"match":"(?i:((?<=([-\\\\&(+,/<=>\\\\\\\\]))\\\\s*\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?!([(.]))|\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\b(?=\\\\s*([-\\\\&()+/<=>\\\\\\\\]))))","name":"variable.other.asp"},{"match":"[!$%\\\\&*]|--?|\\\\+\\\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\\\|\\\\||\\\\?:|\\\\*=|/=|%=|\\\\+=|-=|&=|\\\\^=|\\\\b(in|instanceof|new|delete|typeof|void)\\\\b","name":"keyword.operator.js"}],"repository":{"round-brackets":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.asp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.asp"}},"name":"meta.round-brackets","patterns":[{"include":"source.asp.vb.net"}]}},"scopeName":"source.asp.vb.net","aliases":["cmd"]}`, + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-D17OF-Vu.js.map diff --git a/src/webview-ui/build/assets/chunk-D17OF-Vu.js.map b/src/webview-ui/build/assets/chunk-D17OF-Vu.js.map new file mode 100644 index 0000000000..94e3ba24bc --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D17OF-Vu.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D17OF-Vu.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/vb.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Visual Basic\\\",\\\"name\\\":\\\"vb\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"meta.ending-space\\\"},{\\\"include\\\":\\\"#round-brackets\\\"},{\\\"begin\\\":\\\"^(?=\\\\\\\\t)\\\",\\\"end\\\":\\\"(?=[^\\\\\\\\t])\\\",\\\"name\\\":\\\"meta.leading-space\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.odd-tab.tabs\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.even-tab.tabs\\\"}},\\\"match\\\":\\\"(\\\\\\\\t)(\\\\\\\\t)?\\\"}]},{\\\"begin\\\":\\\"^(?= )\\\",\\\"end\\\":\\\"(?=[^ ])\\\",\\\"name\\\":\\\"meta.leading-space\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.odd-tab.spaces\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.even-tab.spaces\\\"}},\\\"match\\\":\\\"( )( )?\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.asp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.asp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.asp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.asp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.asp\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((?i:function|sub))\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\()([^)]*)(\\\\\\\\)).*\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.function.asp\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.asp\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.asp\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.apostrophe.asp\\\"}]},{\\\"match\\\":\\\"(?i:\\\\\\\\b(If|Then|Else|ElseIf|Else If|End If|While|Wend|For|To|Each|Case|Select|End Select|Return|Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.control.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Mod|And|Not|Or|Xor|as)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.operator.asp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.asp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.bfeac.asp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.separator.comma.asp\\\"}},\\\"match\\\":\\\"(?i:(dim)\\\\\\\\s*\\\\\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\\\\\b\\\\\\\\s*(,?))\\\",\\\"name\\\":\\\"variable.other.dim.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\s*\\\\\\\\b(Call|Class|Const|Dim|Redim|Function|Sub|Private Sub|Public Sub|End Sub|End Function|End Class|End Property|Public Property|Private Property|Set|Let|Get|New|Randomize|Option Explicit|On Error Resume Next|On Error GoTo)\\\\\\\\b\\\\\\\\s*)\\\",\\\"name\\\":\\\"storage.type.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Private|Public|Default)\\\\\\\\b)\\\",\\\"name\\\":\\\"storage.modifier.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\s*\\\\\\\\b(Empty|False|Nothing|Null|True)\\\\\\\\b)\\\",\\\"name\\\":\\\"constant.language.asp\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.asp\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.asp\\\"}},\\\"name\\\":\\\"string.quoted.double.asp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.apostrophe.asp\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.asp\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)[7A-Z_a-z][0-9A-Z_a-z]*?\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"variable.other.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Application|ObjectContext|Request|Response|Server|Session)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.class.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.class.collection.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.constant.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.function.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.function.event.asp\\\"},{\\\"match\\\":\\\"(?i:(?<=as )\\\\\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.type.vb.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Items??|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Timer??|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.function.vb.asp\\\"},{\\\"match\\\":\\\"-?\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([Ll]|UL|ul|[FUfu])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.asp\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray)\\\\\\\\b)\\\",\\\"name\\\":\\\"support.type.vb.asp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.asp\\\"}},\\\"match\\\":\\\"(?i:\\\\\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\\\\\b(?=\\\\\\\\(\\\\\\\\)?))\\\",\\\"name\\\":\\\"support.function.asp\\\"},{\\\"match\\\":\\\"(?i:((?<=([-\\\\\\\\&(+,/<=>\\\\\\\\\\\\\\\\]))\\\\\\\\s*\\\\\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\\\\\b(?!([(.]))|\\\\\\\\b([7A-Z_a-z][0-9A-Z_a-z]*?)\\\\\\\\b(?=\\\\\\\\s*([-\\\\\\\\&()+/<=>\\\\\\\\\\\\\\\\]))))\\\",\\\"name\\\":\\\"variable.other.asp\\\"},{\\\"match\\\":\\\"[!$%\\\\\\\\&*]|--?|\\\\\\\\+\\\\\\\\+|[+~]|===?|=|!==??|<=|>=|<<=|>>=|>>>=|<>|[!<>]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?:|\\\\\\\\*=|/=|%=|\\\\\\\\+=|-=|&=|\\\\\\\\^=|\\\\\\\\b(in|instanceof|new|delete|typeof|void)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.js\\\"}],\\\"repository\\\":{\\\"round-brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.round-brackets.begin.asp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.round-brackets.end.asp\\\"}},\\\"name\\\":\\\"meta.round-brackets\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asp.vb.net\\\"}]}},\\\"scopeName\\\":\\\"source.asp.vb.net\\\",\\\"aliases\\\":[\\\"cmd\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "vb" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,64LAAq0M,CAAC,EAE71MC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D1K3uGbs.js b/src/webview-ui/build/assets/chunk-D1K3uGbs.js new file mode 100644 index 0000000000..a015722351 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D1K3uGbs.js @@ -0,0 +1,9 @@ +import e from "./chunk-B9xm8XSJ.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"SAS","fileTypes":["sas"],"foldingStartMarker":"(?i:(proc|data|%macro).*;$)","foldingStopMarker":"(?i:(run|quit|%mend)\\\\s?);","name":"sas","patterns":[{"include":"#starComment"},{"include":"#blockComment"},{"include":"#macro"},{"include":"#constant"},{"include":"#quote"},{"include":"#operator"},{"begin":"\\\\b(?i:(data))\\\\s+","beginCaptures":{"1":{"name":"keyword.other.sas"}},"end":"(;)","patterns":[{"include":"#blockComment"},{"include":"#dataSet"},{"captures":{"1":{"name":"keyword.other.sas"},"2":{"name":"keyword.other.sas"}},"match":"(?i:(stack|pgm|view|source)\\\\s?=\\\\s?|(debug|nesting|nolist))"}]},{"begin":"\\\\b(?i:(set|update|modify|merge))\\\\s+","beginCaptures":{"1":{"name":"support.function.sas"},"2":{"name":"entity.name.class.sas"},"3":{"name":"entity.name.class.sas"}},"end":"(;)","patterns":[{"include":"#blockComment"},{"include":"#dataSet"}]},{"match":"(?i:\\\\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\\\\b)","name":"keyword.control.sas"},{"captures":{"1":{"name":"support.class.sas"},"3":{"name":"entity.name.function.sas"}},"match":"(?i:(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window))\\\\b)\\\\s*(\\\\w*)","name":"keyword.other.sas"},{"begin":"(?i:\\\\b(proc\\\\s*(sql))\\\\b)","beginCaptures":{"1":{"name":"support.function.sas"},"2":{"name":"support.class.sas"}},"end":"(?i:\\\\b(quit)\\\\s*;)","endCaptures":{"1":{"name":"keyword.control.sas"}},"name":"meta.sql.sas","patterns":[{"include":"#starComment"},{"include":"#blockComment"},{"include":"source.sql"}]},{"match":"(?i:\\\\b(by|label|format)\\\\b)","name":"keyword.datastep.sas"},{"captures":{"1":{"name":"support.function.sas"},"2":{"name":"support.class.sas"}},"match":"(?i:\\\\b(proc (\\\\w+))\\\\b)","name":"meta.function-call.sas"},{"match":"(?i:\\\\b(_(?:n_|error_))\\\\b)","name":"variable.language.sas"},{"captures":{"1":{"name":"support.class.sas"}},"match":"\\\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards4??|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cosh??|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines4??|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erfc??|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipnamel??|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|indexc??|indexw|infile|informat|initcmd|initstmt|inner|inputc??|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mode??|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|news??|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource2??|nosplash|nosymbolgen|notes??|notitles??|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p([15]|10|25|50|75|90|95|99)|pad2??|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peekc??|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|putc??|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s2??|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sinh??|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stnamel??|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|tables??|tanh??|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trimn??|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varrayx??|vartype|verify|vformatd??|vformatdx|vformatnx??|vformatwx??|vformatx|vinarrayx??|vinformatd??|vinformatdx|vinformatnx??|vinformatwx??|vinformatx|vlabelx??|vlengthx??|vnamex??|vnferr|vtypex??|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsumx??|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipnamel??|zipstate))\\\\b","name":"support.function.sas"}],"repository":{"blockComment":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.slashstar.sas"}]},"constant":{"patterns":[{"match":"(?^~¬]?=(:)?|[!<>|¦¬]|^|~|<>|><|\\\\|\\\\|)","name":"keyword.operator.sas"}]},"quote":{"patterns":[{"begin":"(?^~¬]?=(:)?|[!<>|¦¬]|^|~|<>|><|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.sas\\\"}]},\\\"quote\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?]*>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"support.class.component.html"}},"end":"(>)(<)(/)(\\\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"},"2":{"name":"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"support.class.component.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(<)([a-z][-0-:A-Za-z]*)(?=[^>]*>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"(>)(<)(/)(\\\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"},"2":{"name":"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"entity.name.tag.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(<\\\\?)(xml)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.xml.html"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml.html","patterns":[{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},{"begin":"","name":"comment.block.html"},{"begin":"","name":"meta.tag.sgml.html","patterns":[{"begin":"(?i:DOCTYPE)","captures":{"1":{"name":"entity.name.tag.doctype.html"}},"end":"(?=>)","name":"meta.tag.sgml.doctype.html","patterns":[{"match":"\\"[^\\">]*\\"","name":"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{"begin":"\\\\[CDATA\\\\[","end":"]](?=>)","name":"constant.other.inline-data.html"},{"match":"(\\\\s*)(?!--|>)\\\\S(\\\\s*)","name":"invalid.illegal.bad-comments-or-CDATA.html"}]},{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.html","patterns":[{"include":"#tag-stuff"}]},{"include":"#entities"},{"match":"<>","name":"invalid.illegal.incomplete.html"},{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}],"repository":{"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.html"},{"match":"&","name":"invalid.illegal.bad-ampersand.html"}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},"tag-generic-attribute":{"match":"(?<=[^=])\\\\b([-0-:A-Z_a-z]+)","name":"entity.other.attribute-name.html"},"tag-id-attribute":{"begin":"\\\\b(id)\\\\b\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}},"end":"(?!\\\\G)(?<=[\\"'[^/<>\\\\s]])","name":"meta.attribute-with-value.id.html","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"source.vue#vue-interpolations"},{"include":"#entities"}]},{"captures":{"0":{"name":"meta.toc-list.id.html"}},"match":"(?<==)(?:[^\\"'/<>\\\\s]|/(?!>))+","name":"string.unquoted.html"}]},"tag-stuff":{"patterns":[{"include":"#vue-directives"},{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#unquoted-attribute"}]},"unquoted-attribute":{"match":"(?<==)(?:[^\\"'/<>\\\\s]|/(?!>))+","name":"string.unquoted.html"},"vue-directives":{"begin":"(?:\\\\b(v-)|([#:@]))([-0-9A-Z_a-z]+)(?::([-A-Z_a-z]+))?(?:\\\\.([-A-Z_a-z]+))*\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"entity.other.attribute-name.html"},"4":{"name":"entity.other.attribute-name.html"},"5":{"name":"entity.other.attribute-name.html"},"6":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[\\"'])|(?=[<>\`\\\\s])","name":"meta.directive.vue","patterns":[{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"source.directive.vue","patterns":[{"include":"source.js#expression"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"source.directive.vue","patterns":[{"include":"source.js#expression"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"source.directive.vue","patterns":[{"include":"source.js#expression"}]}]}},"scopeName":"text.html.vue-html","embeddedLangs":["vue","javascript"],"embeddedLangsLazy":[]}`, + ), + ), + d = [...t, ...e, n] +export { d as default } +//# sourceMappingURL=chunk-D1_LrSGp.js.map diff --git a/src/webview-ui/build/assets/chunk-D1_LrSGp.js.map b/src/webview-ui/build/assets/chunk-D1_LrSGp.js.map new file mode 100644 index 0000000000..4eb32f9b27 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D1_LrSGp.js.map @@ -0,0 +1,21 @@ +{ + "version": 3, + "file": "chunk-D1_LrSGp.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/vue-html.mjs" + ], + "sourcesContent": [ + "import vue from './vue.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Vue HTML\\\",\\\"fileTypes\\\":[],\\\"name\\\":\\\"vue-html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"begin\\\":\\\"(<)([A-Z][-0-:A-Za-z]*)(?=[^>]*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.html\\\"}},\\\"end\\\":\\\"(>)(<)(/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.class.component.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<)([a-z][-0-:A-Za-z]*)(?=[^>]*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(>)(<)(/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"comment.block.html\\\"},{\\\"begin\\\":\\\"\\\",\\\"name\\\":\\\"meta.tag.sgml.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i:DOCTYPE)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.doctype.html\\\"}},\\\"end\\\":\\\"(?=>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\">]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.doctype.identifiers-and-DTDs.html\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]](?=>)\\\",\\\"name\\\":\\\"constant.other.inline-data.html\\\"},{\\\"match\\\":\\\"(\\\\\\\\s*)(?!--|>)\\\\\\\\S(\\\\\\\\s*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"include\\\":\\\"#entities\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"invalid.illegal.incomplete.html\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}],\\\"repository\\\":{\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.html\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"tag-generic-attribute\\\":{\\\"match\\\":\\\"(?<=[^=])\\\\\\\\b([-0-:A-Z_a-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"tag-id-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(?<=[\\\\\\\"'[^/<>\\\\\\\\s]])\\\",\\\"name\\\":\\\"meta.attribute-with-value.id.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.toc-list.id.html\\\"}},\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"}]},\\\"tag-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives\\\"},{\\\"include\\\":\\\"#tag-id-attribute\\\"},{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"},{\\\"include\\\":\\\"#unquoted-attribute\\\"}]},\\\"unquoted-attribute\\\":{\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},\\\"vue-directives\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b(v-)|([#:@]))([-0-9A-Z_a-z]+)(?::([-A-Z_a-z]+))?(?:\\\\\\\\.([-A-Z_a-z]+))*\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=[<>`\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.directive.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]}]}},\\\"scopeName\\\":\\\"text.html.vue-html\\\",\\\"embeddedLangs\\\":[\\\"vue\\\",\\\"javascript\\\"],\\\"embeddedLangsLazy\\\":[]}\"))\n\nexport default [\n...vue,\n...javascript,\nlang\n]\n" + ], + "names": [ + "lang", + "vueHtml", + "vue", + "javascript" + ], + "mappings": "kNAGA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,irQAAiqS,CAAC,EAEzrSC,EAAA,CACf,GAAGC,EACH,GAAGC,EACHH,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D1j8_8rp.js b/src/webview-ui/build/assets/chunk-D1j8_8rp.js new file mode 100644 index 0000000000..092188b775 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D1j8_8rp.js @@ -0,0 +1,8 @@ +const _ = Object.freeze( + JSON.parse( + '{"displayName":"CMake","fileTypes":["cmake","CMakeLists.txt"],"name":"cmake","patterns":[{"match":"\\\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\\\b","name":"constant.source.cmake"},{"match":"\\\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAMES??|NAME_WE|NOT|OFF|ON|OR|PATHS??|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\\\b","name":"keyword.cmake"},{"match":"^\\\\s*\\\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\\\b","name":"keyword.cmake"},{"match":"\\\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\\\b","name":"variable.source.cmake"},{"match":"\\\\$\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\$ENV\\\\{\\\\w+}","name":"storage.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(\\\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\\\b","name":"variable.source.cmake"},{"match":"\\\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\\\w+_BINARY_DIR|\\\\w+__SOURCE_DIR)\\\\b","name":"variable.source.cmake"},{"begin":"#\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"argument.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"#+.*$","name":"comment.source.cmake"},{"match":"\\\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\\\w+|VS_GLOBAL_SECTION_PRE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\\\b","name":"entity.source.cmake"},{"match":"\\\\b(?i:\\\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE(_EXTENSION)??|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_LANGUAGES(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LOCATION(_\\\\w+)?|NO_SONAME(_\\\\w+)?|SONAME(_\\\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\\\w+)?|LIBRARY_OUTPUT_NAME(_\\\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\\\w+)?|OUTPUT_NAME(_\\\\w+)?|PDB_NAME(_\\\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\\\w+)?|NAME(_\\\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\\\w+)\\\\b","name":"entity.source.cmake"},{"begin":"\\\\\\\\\\"","end":"\\\\\\\\\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"begin":"\\"","end":"\\"","name":"string.source.cmake","patterns":[{"match":"\\\\\\\\(.|$)","name":"constant.character.escape"}]},{"match":"\\\\bBUILD_NAME\\\\b","name":"invalid.deprecated.source.cmake"},{"match":"\\\\b(?i:(CMAKE_)?(C(?:XX_FLAGS|MAKE_CXX_FLAGS_DEBUG|MAKE_CXX_FLAGS_MINSIZEREL|MAKE_CXX_FLAGS_RELEASE|MAKE_CXX_FLAGS_RELWITHDEBINFO)))\\\\b","name":"variable.source.cmake"}],"repository":{},"scopeName":"source.cmake"}', + ), + ), + E = [_] +export { E as default } +//# sourceMappingURL=chunk-D1j8_8rp.js.map diff --git a/src/webview-ui/build/assets/chunk-D1j8_8rp.js.map b/src/webview-ui/build/assets/chunk-D1j8_8rp.js.map new file mode 100644 index 0000000000..4486d4da76 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D1j8_8rp.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D1j8_8rp.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/cmake.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"CMake\\\",\\\"fileTypes\\\":[\\\"cmake\\\",\\\"CMakeLists.txt\\\"],\\\"name\\\":\\\"cmake\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?i:APPLE|BORLAND|(CMAKE_)?(CL_64|COMPILER_2005|HOST_APPLE|HOST_SYSTEM|HOST_SYSTEM_NAME|HOST_SYSTEM_PROCESSOR|HOST_SYSTEM_VERSION|HOST_UNIX|HOST_WIN32|LIBRARY_ARCHITECTURE|LIBRARY_ARCHITECTURE_REGEX|OBJECT_PATH_MAX|SYSTEM|SYSTEM_NAME|SYSTEM_PROCESSOR|SYSTEM_VERSION)|CYGWIN|MSVC|MSVC80|MSVC_IDE|MSVC_VERSION|UNIX|WIN32|XCODE_VERSION|MSVC60|MSVC70|MSVC90|MSVC71)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ABSOLUTE|AND|BOOL|CACHE|COMMAND|COMMENT|DEFINED|DOC|EQUAL|EXISTS|EXT|FALSE|GREATER|GREATER_EQUAL|INTERNAL|IN_LIST|IS_ABSOLUTE|IS_DIRECTORY|IS_NEWER_THAN|IS_SYMLINK|LESS|LESS_EQUAL|MATCHES|NAMES??|NAME_WE|NOT|OFF|ON|OR|PATHS??|POLICY|PROGRAM|STREQUAL|STRGREATER|STRGREATER_EQUAL|STRING|STRLESS|STRLESS_EQUAL|TARGET|TEST|TRUE|VERSION_EQUAL|VERSION_GREATER|VERSION_GREATER_EQUAL|VERSION_LESS)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.cmake\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\b(?i:add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_libraries|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\\\\\\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\\\\\\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\{\\\\\\\\w+}\\\",\\\"name\\\":\\\"storage.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\$ENV\\\\\\\\{\\\\\\\\w+}\\\",\\\"name\\\":\\\"storage.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:(CMAKE_)?(\\\\\\\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\\\\\\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|\\\\\\\\w+_BINARY_DIR|\\\\\\\\w+__SOURCE_DIR)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.source.cmake\\\"},{\\\"begin\\\":\\\"#\\\\\\\\[(=*)\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\\\\\\1]\\\",\\\"name\\\":\\\"comment.source.cmake\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|$)\\\",\\\"name\\\":\\\"constant.character.escape\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[(=*)\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\\\\\\1]\\\",\\\"name\\\":\\\"argument.source.cmake\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|$)\\\",\\\"name\\\":\\\"constant.character.escape\\\"}]},{\\\"match\\\":\\\"#+.*$\\\",\\\"name\\\":\\\"comment.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ADVANCED|HELPSTRING|MODIFIED|STRINGS|TYPE|VALUE)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ABSTRACT|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_|COMPILE_FLAGS|EXTERNAL_OBJECT|Fortran_FORMAT|GENERATED|HEADER_FILE_ONLY|KEEP_EXTENSION|LABELS|LANGUAGE|LOCATION|MACOSX_PACKAGE_LOCATION|OBJECT_DEPENDS|OBJECT_OUTPUTS|SYMBOLIC|WRAP_EXCLUDE)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|COST|DEPENDS|ENVIRONMENT|FAIL_REGULAR_EXPRESSION|LABELS|MEASUREMENT|PASS_REGULAR_EXPRESSION|PROCESSORS|REQUIRED_FILES|RESOURCE_LOCK|RUN_SERIAL|TIMEOUT|WILL_FAIL|WORKING_DIRECTORY)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ADDITIONAL_MAKE_CLEAN_FILES|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMPILE_DEFINITIONS|COMPILE_DEFINITIONS_\\\\\\\\w+|DEFINITIONS|EXCLUDE_FROM_ALL|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\\\\\w+|LINK_DIRECTORIES|LISTFILE_STACK|MACROS|PARENT_DIRECTORY|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|TEST_INCLUDE_FILE|VARIABLES|VS_GLOBAL_SECTION_POST_\\\\\\\\w+|VS_GLOBAL_SECTION_PRE_\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ALLOW_DUPLICATE_CUSTOM_TARGETS|DEBUG_CONFIGURATIONS|DISABLED_FEATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|IN_TRY_COMPILE|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PREDEFINED_TARGETS_FOLDER|REPORT_UNDEFINED_PROPERTIES|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_SUPPORTS_SHARED_LIBS|USE_FOLDERS|__CMAKE_DELETE_CACHE_CHANGE_VARS_)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:\\\\\\\\w+_(OUTPUT_NAME|POSTFIX)|ARCHIVE_OUTPUT_(DIRECTORY(_\\\\\\\\w+)?|NAME(_\\\\\\\\w+)?)|AUTOMOC(_MOC_OPTIONS)?|BUILD_WITH_INSTALL_RPATH|BUNDLE(_EXTENSION)??|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPILE_(DEFINITIONS(_\\\\\\\\w+)?|FLAGS)|DEBUG_POSTFIX|DEFINE_SYMBOL|ENABLE_EXPORTS|EXCLUDE_FROM_ALL|EchoString|FOLDER|FRAMEWORK|Fortran_(FORMAT|MODULE_DIRECTORY)|GENERATOR_FILE_NAME|GNUtoMS|HAS_CXX|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(CONFIGURATIONS|IMPLIB(_\\\\\\\\w+)?|LINK_DEPENDENT_LIBRARIES(_\\\\\\\\w+)?|LINK_INTERFACE_LANGUAGES(_\\\\\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\\\\\w+)?|LOCATION(_\\\\\\\\w+)?|NO_SONAME(_\\\\\\\\w+)?|SONAME(_\\\\\\\\w+)?)|IMPORT_PREFIX|IMPORT_SUFFIX|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_INCLUDE_DIRECTORIES|INTERPROCEDURAL_OPTIMIZATION|INTERPROCEDURAL_OPTIMIZATION_\\\\\\\\w+|LABELS|LIBRARY_OUTPUT_DIRECTORY(_\\\\\\\\w+)?|LIBRARY_OUTPUT_NAME(_\\\\\\\\w+)?|LINKER_LANGUAGE|LINK_DEPENDS|LINK_FLAGS(_\\\\\\\\w+)?|LINK_INTERFACE_LIBRARIES(_\\\\\\\\w+)?|LINK_INTERFACE_MULTIPLICITY(_\\\\\\\\w+)?|LINK_LIBRARIES|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|LOCATION(_\\\\\\\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MAP_IMPORTED_CONFIG_\\\\\\\\w+|NO_SONAME|OSX_ARCHITECTURES(_\\\\\\\\w+)?|OUTPUT_NAME(_\\\\\\\\w+)?|PDB_NAME(_\\\\\\\\w+)?|POST_INSTALL_SCRIPT|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE|PRIVATE_HEADER|PROJECT_LABEL|PUBLIC|PUBLIC_HEADER|RESOURCE|RULE_LAUNCH_(COMPILE|CUSTOM|LINK)|RUNTIME_OUTPUT_(DIRECTORY(_\\\\\\\\w+)?|NAME(_\\\\\\\\w+)?)|SKIP_BUILD_RPATH|SOURCES|SOVERSION|STATIC_LIBRARY_FLAGS(_\\\\\\\\w+)?|SUFFIX|TYPE|VERSION|VS_DOTNET_REFERENCES|VS_GLOBAL_(\\\\\\\\w+|KEYWORD|PROJECT_TYPES)|VS_KEYWORD|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|WIN32_EXECUTABLE|XCODE_ATTRIBUTE_\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.source.cmake\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\"\\\",\\\"name\\\":\\\"string.source.cmake\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|$)\\\",\\\"name\\\":\\\"constant.character.escape\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.source.cmake\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|$)\\\",\\\"name\\\":\\\"constant.character.escape\\\"}]},{\\\"match\\\":\\\"\\\\\\\\bBUILD_NAME\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.deprecated.source.cmake\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:(CMAKE_)?(C(?:XX_FLAGS|MAKE_CXX_FLAGS_DEBUG|MAKE_CXX_FLAGS_MINSIZEREL|MAKE_CXX_FLAGS_RELEASE|MAKE_CXX_FLAGS_RELWITHDEBINFO)))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.source.cmake\\\"}],\\\"repository\\\":{},\\\"scopeName\\\":\\\"source.cmake\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "cmake" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+jTAAyzT,CAAC,EAEj1TC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D22FLkUw.js b/src/webview-ui/build/assets/chunk-D22FLkUw.js new file mode 100644 index 0000000000..d79e03dd0b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D22FLkUw.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Fortran (Free Form)","fileTypes":["f90","F90","f95","F95","f03","F03","f08","F08","f18","F18","fpp","FPP",".pf",".PF"],"firstLineMatch":"(?i)-\\\\*- mode: fortran free -\\\\*-","injections":{"source.fortran.free - ( string | comment | meta.preprocessor )":{"patterns":[{"include":"#line-continuation-operator"},{"include":"#preprocessor"}]},"string.quoted.double.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]},"string.quoted.single.fortran":{"patterns":[{"include":"#string-line-continuation-operator"}]}},"name":"fortran-free-form","patterns":[{"include":"#preprocessor"},{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#include-statement"},{"include":"#import-statement"},{"include":"#block-data-definition"},{"include":"#function-definition"},{"include":"#module-definition"},{"include":"#program-definition"},{"include":"#submodule-definition"},{"include":"#subroutine-definition"},{"include":"#procedure-definition"},{"include":"#derived-type-definition"},{"include":"#enum-block-construct"},{"include":"#interface-block-constructs"},{"include":"#procedure-specification-statement"},{"include":"#type-specification-statements"},{"include":"#specification-statements"},{"include":"#control-constructs"},{"include":"#control-statements"},{"include":"#execution-statements"},{"include":"#intrinsic-functions"},{"include":"#variable"}],"repository":{"IO-item-list":{"begin":"(?i)(?=\\\\s*[\\"'0-9a-z])","contentName":"meta.name-list.fortran","end":"(?=[\\\\n!);])","patterns":[{"include":"#constants"},{"include":"#operators"},{"include":"#intrinsic-functions"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#brackets"},{"include":"#assignment-keyword"},{"include":"#operator-keyword"},{"include":"#variable"}]},"IO-keywords":{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.generic-spec.read.fortran"},"2":{"name":"keyword.control.generic-spec.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"captures":{"1":{"name":"keyword.control.generic-spec.formatted.fortran"},"2":{"name":"keyword.control.generic-spec.unformatted.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(?:(formatted)|(unformatted))\\\\b"},{"include":"#invalid-word"}]},"IO-statements":{"patterns":[{"begin":"(?i)\\\\b(?:(backspace)|(close)|(endfile)|(format)|(inquire)|(open)|(read)|(rewind)|(write))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.backspace.fortran"},"2":{"name":"keyword.control.close.fortran"},"3":{"name":"keyword.control.endfile.fortran"},"4":{"name":"keyword.control.format.fortran"},"5":{"name":"keyword.control.inquire.fortran"},"6":{"name":"keyword.control.open.fortran"},"7":{"name":"keyword.control.read.fortran"},"8":{"name":"keyword.control.rewind.fortran"},"9":{"name":"keyword.control.write.fortran"},"10":{"name":"punctuation.parentheses.left.fortran"}},"end":"(?=[\\\\n!;])","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"name":"meta.statement.IO.fortran","patterns":[{"include":"#parentheses-dummy-variables"},{"include":"#IO-item-list"}]},{"captures":{"1":{"name":"keyword.control.backspace.fortran"},"2":{"name":"keyword.control.endfile.fortran"},"3":{"name":"keyword.control.format.fortran"},"4":{"name":"keyword.control.print.fortran"},"5":{"name":"keyword.control.read.fortran"},"6":{"name":"keyword.control.rewind.fortran"}},"match":"(?i)\\\\b(?:(backspace)|(endfile)|(format)|(print)|(read)|(rewind))\\\\b"},{"begin":"(?i)\\\\b(?:(flush)|(wait))\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.flush.fortran"},"2":{"name":"keyword.control.wait.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"}},"end":"(?])(=)(?![=>])","name":"keyword.operator.assignment.fortran"},"associate-construct":{"begin":"(?i)\\\\b(associate)\\\\b(?=\\\\s*\\\\()","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"contentName":"meta.block.associate.fortran","end":"(?i)\\\\b(end\\\\s*associate)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"asynchronous-attribute":{"captures":{"1":{"name":"storage.modifier.asynchronous.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(asynchronous)\\\\b"},"attribute-specification-statement":{"begin":"(?i)(?=\\\\b(?:allocatable|asynchronous|contiguous|external|intrinsic|optional|parameter|pointer|private|protected|public|save|target|value|volatile)\\\\b|(bind|dimension|intent)\\\\s*\\\\(|(codimension)\\\\s*\\\\[)","end":"(?=[\\\\n!;])","name":"meta.statement.attribute-specification.fortran","patterns":[{"include":"#access-attribute"},{"include":"#allocatable-attribute"},{"include":"#asynchronous-attribute"},{"include":"#codimension-attribute"},{"include":"#contiguous-attribute"},{"include":"#dimension-attribute"},{"include":"#external-attribute"},{"include":"#intent-attribute"},{"include":"#intrinsic-attribute"},{"include":"#language-binding-attribute"},{"include":"#optional-attribute"},{"include":"#parameter-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#target-attribute"},{"include":"#value-attribute"},{"include":"#volatile-attribute"},{"begin":"(?=\\\\s*::)","contentName":"meta.attribute-list.normal.fortran","end":"(::)|(?=[\\\\n!;])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"include":"#invalid-word"}]},{"include":"#name-list"}]},"block-construct":{"begin":"(?i)\\\\b(block)\\\\b(?!\\\\s*\\\\bdata\\\\b)","beginCaptures":{"1":{"name":"keyword.control.associate.fortran"}},"contentName":"meta.block.block.fortran","end":"(?i)\\\\b(end\\\\s*block)\\\\b","endCaptures":{"1":{"name":"keyword.control.endassociate.fortran"}},"patterns":[{"include":"$base"}]},"block-data-definition":{"begin":"(?i)\\\\b(block\\\\s*data)\\\\b(?:\\\\s+([a-z]\\\\w*)\\\\b)?","beginCaptures":{"1":{"name":"keyword.control.block-data.fortran"},"2":{"name":"entity.name.block-data.fortran"}},"end":"(?i)\\\\b(?:(end\\\\s*block\\\\s*data)(?:\\\\s+(\\\\2))?|(end))\\\\b(?:\\\\s*(\\\\S((?!\\\\n).)*))?","endCaptures":{"1":{"name":"keyword.control.end-block-data.fortran"},"2":{"name":"entity.name.block-data.fortran"},"3":{"name":"keyword.control.end-block-data.fortran"},"4":{"name":"invalid.error.block-data-definition.fortran"}},"name":"meta.block-data.fortran","patterns":[{"include":"$base"}]},"brackets":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.left.fortran"}},"patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#operators"},{"include":"#array-constructor"},{"include":"#parentheses"},{"include":"#intrinsic-functions"},{"include":"#variable"}]},"call-statement":{"patterns":[{"begin":"(?i)\\\\s*\\\\b(call)\\\\b","beginCaptures":{"1":{"name":"keyword.control.call.fortran"}},"end":"(?=[\\\\n!;])","name":"meta.statement.control.call.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*([a-z]\\\\w*)(%)([a-z]\\\\w*)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"variable.other.fortran"},"2":{"name":"keyword.accessor.fortran"},"3":{"name":"entity.name.function.subroutine.fortran"}},"end":"(?=|[<>]|<=|[-+/]|//|\\\\*\\\\*?)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.operator.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"keyword.operator.fortran"},"4":{"name":"invalid.error.generic-interface-block-op.fortran"},"5":{"name":"punctuation.parentheses.right.fortran"}},"end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(\\\\1)\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\3)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.operator.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.operator.fortran"},"5":{"name":"invalid.error.generic-interface-block-op-end.fortran"},"6":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b(?:(read)|(write))\\\\s*(\\\\()\\\\s*(?:(formatted)|(unformatted)|(\\\\S.*))\\\\s*(\\\\))","beginCaptures":{"1":{"name":"keyword.other.read.fortran"},"2":{"name":"keyword.other.write.fortran"},"3":{"name":"punctuation.parentheses.left.fortran"},"4":{"name":"keyword.other.formatted.fortran"},"5":{"name":"keyword.other.unformatted.fortran"},"6":{"name":"invalid.error.generic-interface-block.fortran"},"7":{"name":"punctuation.parentheses.right.fortran"}},"end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(?:(\\\\2)|(\\\\3))\\\\b\\\\s*(\\\\()\\\\s*(?:(\\\\4)|(\\\\5)|(\\\\S.*))\\\\s*(\\\\)))?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"keyword.other.read.fortran"},"3":{"name":"keyword.other.write.fortran"},"4":{"name":"punctuation.parentheses.left.fortran"},"5":{"name":"keyword.other.formatted.fortran"},"6":{"name":"keyword.other.unformatted.fortran"},"7":{"name":"invalid.error.generic-interface-block-end.fortran"},"8":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]},{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.fortran"}},"end":"(?i)\\\\b(end\\\\s*interface)\\\\b(?:\\\\s*\\\\b(\\\\1)\\\\b)?","endCaptures":{"1":{"name":"keyword.control.endinterface.fortran"},"2":{"name":"entity.name.function.fortran"}},"patterns":[{"include":"#interface-procedure-statement"},{"include":"$base"}]}]},"goto-statement":{"begin":"(?i)\\\\s*\\\\b(go\\\\s*to)\\\\b","beginCaptures":{"1":{"name":"keyword.control.goto.fortran"}},"end":"(?=[\\\\n!;])","name":"meta.statement.control.goto.fortran","patterns":[{"include":"$base"}]},"if-construct":{"patterns":[{"begin":"(?i)\\\\b(if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.if.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"include":"#logical-control-expression"},{"begin":"(?i)\\\\s*\\\\b(then)\\\\b","beginCaptures":{"1":{"name":"keyword.control.then.fortran"}},"contentName":"meta.block.if.fortran","end":"(?i)\\\\b(end\\\\s*if)\\\\b","endCaptures":{"1":{"name":"keyword.control.endif.fortran"}},"patterns":[{"begin":"(?i)\\\\b(else\\\\s*if)\\\\b","beginCaptures":{"1":{"name":"keyword.control.elseif.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"include":"#parentheses"},{"captures":{"1":{"name":"keyword.control.then.fortran"},"2":{"name":"meta.label.elseif.fortran"}},"match":"(?i)\\\\b(then)\\\\b(\\\\s*[a-z]\\\\w*)?"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\b(else)\\\\b","beginCaptures":{"1":{"name":"keyword.control.else.fortran"}},"end":"(?i)(?=\\\\b(end\\\\s*if)\\\\b)","patterns":[{"begin":"(?!(\\\\s*([\\\\n!;])))","end":"(?=[\\\\n!;])","patterns":[{"captures":{"1":{"name":"meta.label.else.fortran"},"2":{"name":"invalid.error.label.else.fortran"}},"match":"\\\\s*([a-z]\\\\w*)?\\\\s*\\\\b(\\\\w*)\\\\b"},{"include":"#invalid-word"}]},{"begin":"(?i)(?!\\\\b(end\\\\s*if)\\\\b)","end":"(?i)(?=\\\\b(end\\\\s*if)\\\\b)","patterns":[{"include":"$base"}]}]},{"include":"$base"}]},{"begin":"(?i)(?=\\\\s*[a-z])","end":"(?=[\\\\n!;])","name":"meta.statement.control.if.fortran","patterns":[{"include":"$base"}]}]}]},"image-control-statement":{"patterns":[{"include":"#sync-all-statement"},{"include":"#sync-statement"},{"include":"#event-statement"},{"include":"#form-team-statement"},{"include":"#fail-image-statement"}]},"implicit-statement":{"begin":"(?i)\\\\b(implicit)\\\\b","beginCaptures":{"1":{"name":"keyword.other.implicit.fortran"}},"end":"(?=[\\\\n!;])","name":"meta.statement.implicit.fortran","patterns":[{"captures":{"1":{"name":"keyword.other.none.fortran"}},"match":"(?i)\\\\s*\\\\b(none)\\\\b"},{"include":"$base"}]},"import-statement":{"begin":"(?i)\\\\b(import)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.fortran"}},"end":"(?=[\\\\n!;])","name":"meta.statement.include.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*(?:(::)|(?=[a-z]))","beginCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"include":"#name-list"}]},{"begin":"\\\\G\\\\s*(,)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"captures":{"1":{"name":"keyword.other.all.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(all)\\\\b"},{"captures":{"1":{"name":"keyword.other.none.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(none)\\\\b"},{"begin":"(?i)\\\\G\\\\s*\\\\b(only)\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.other.only.fortran"},"2":{"name":"keyword.other.colon.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"include":"#name-list"}]},{"include":"#invalid-word"}]}]},"include-statement":{"begin":"(?i)\\\\b(include)\\\\b","beginCaptures":{"1":{"name":"keyword.control.include.fortran"}},"end":"(?=[\\\\n!;])","name":"meta.statement.include.fortran","patterns":[{"include":"#string-constant"},{"include":"#invalid-character"}]},"intent-attribute":{"begin":"(?i)\\\\s*\\\\b(intent)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.intent.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))|(?=[\\\\n!;])","endCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"patterns":[{"captures":{"1":{"name":"storage.modifier.intent.in-out.fortran"},"2":{"name":"storage.modifier.intent.in.fortran"},"3":{"name":"storage.modifier.intent.out.fortran"}},"match":"(?i)\\\\b(?:(in\\\\s*out)|(in)|(out))\\\\b"},{"include":"#invalid-word"}]},"interface-block-constructs":{"patterns":[{"include":"#abstract-interface-block-construct"},{"include":"#explicit-interface-block-construct"},{"include":"#generic-interface-block-construct"}]},"interface-procedure-statement":{"begin":"(?i)(?=[^\\\\n!\\"';]*\\\\bprocedure\\\\b)","end":"(?=[\\\\n!;])","name":"meta.statement.procedure.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bprocedure\\\\b))","end":"(?i)(?=\\\\bprocedure\\\\b)","name":"meta.attribute-list.interface.fortran","patterns":[{"include":"#module-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\s*\\\\b(procedure)\\\\b","beginCaptures":{"1":{"name":"keyword.other.procedure.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"captures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"match":"\\\\G\\\\s*(::)"},{"include":"#procedure-name-list"}]}]},"intrinsic-attribute":{"captures":{"1":{"name":"storage.modifier.intrinsic.fortran"}},"match":"(?i)\\\\s*\\\\b(intrinsic)\\\\b"},"intrinsic-functions":{"patterns":[{"begin":"(?i)\\\\b(acosh|asinh|atanh|bge|bgt|ble|blt|dshiftl|dshiftr|findloc|hypot|iall|iany|image_index|iparity|is_contiguous|lcobound|leadz|mask[lr]|merge_bits|norm2|num_images|parity|popcnt|poppar|shift[alr]|storage_size|this_image|trailz|ucobound)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.intrinsic.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"end":"(?=|(?|<=?)","name":"keyword.logical.fortran.modern"}]},"logical-type":{"patterns":[{"begin":"(?i)\\\\b(logical)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.type.logical.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(?)","name":"keyword.other.point.fortran"},"preprocessor":{"begin":"^\\\\s*(#:?)","beginCaptures":{"1":{"name":"keyword.control.preprocessor.indicator.fortran"}},"end":"\\\\n","name":"meta.preprocessor","patterns":[{"include":"#preprocessor-if-construct"},{"include":"#preprocessor-statements"}]},"preprocessor-arithmetic-operators":{"captures":{"1":{"name":"keyword.operator.subtraction.fortran"},"2":{"name":"keyword.operator.addition.fortran"},"3":{"name":"keyword.operator.division.fortran"},"4":{"name":"keyword.operator.multiplication.fortran"}},"match":"(-)|(\\\\+)|(/)|(\\\\*)"},"preprocessor-assignment-operator":{"match":"(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.other.lt-gt.include.preprocessor.fortran"},{"include":"#line-continuation-operator"}]},"preprocessor-line-continuation-operator":{"begin":"\\\\s*(\\\\\\\\)","beginCaptures":{"1":{"name":"constant.character.escape.line-continuation.preprocessor.fortran"}},"end":"(?i)^"},"preprocessor-logical-operators":{"captures":{"1":{"name":"keyword.operator.logical.preprocessor.and.fortran"},"2":{"name":"keyword.operator.logical.preprocessor.equals.fortran"},"3":{"name":"keyword.operator.logical.preprocessor.not_equals.fortran"},"4":{"name":"keyword.operator.logical.preprocessor.or.fortran"},"5":{"name":"keyword.operator.logical.preprocessor.less_eq.fortran"},"6":{"name":"keyword.operator.logical.preprocessor.more_eq.fortran"},"7":{"name":"keyword.operator.logical.preprocessor.less.fortran"},"8":{"name":"keyword.operator.logical.preprocessor.more.fortran"},"9":{"name":"keyword.operator.logical.preprocessor.complementary.fortran"},"10":{"name":"keyword.operator.logical.preprocessor.xor.fortran"},"11":{"name":"keyword.operator.logical.preprocessor.bitand.fortran"},"12":{"name":"keyword.operator.logical.preprocessor.not.fortran"},"13":{"name":"keyword.operator.logical.preprocessor.bitor.fortran"}},"match":"(&&)|(==)|(!=)|(\\\\|\\\\|)|(<=)|(>=)|(<)|(>)|(~)|(\\\\^)|(&)|(!)|(\\\\|)","name":"keyword.operator.logical.preprocessor.fortran"},"preprocessor-operators":{"patterns":[{"include":"#preprocessor-line-continuation-operator"},{"include":"#preprocessor-logical-operators"},{"include":"#preprocessor-arithmetic-operators"}]},"preprocessor-pragma-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(pragma)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.pragma.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.pragma.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-string-constant"}]},"preprocessor-statements":{"patterns":[{"include":"#preprocessor-define-statement"},{"include":"#preprocessor-error-statement"},{"include":"#preprocessor-include-statement"},{"include":"#preprocessor-preprocessor-pragma-statement"},{"include":"#preprocessor-undefine-statement"}]},"preprocessor-string-constant":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.double.include.preprocessor.fortran"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.preprocessor.fortran"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.preprocessor.fortran"}},"name":"string.quoted.single.include.preprocessor.fortran"}]},"preprocessor-undefine-statement":{"begin":"(?i)\\\\G\\\\s*\\\\b(undef)\\\\b","beginCaptures":{"1":{"name":"keyword.control.preprocessor.undef.fortran"}},"end":"(?=\\\\n)","name":"meta.preprocessor.undef.fortran","patterns":[{"include":"#preprocessor-comments"},{"include":"#preprocessor-line-continuation-operator"}]},"private-attribute":{"captures":{"1":{"name":"storage.modifier.private.fortran"}},"match":"(?i)\\\\s*\\\\b(private)\\\\b"},"procedure-call-dummy-variable":{"match":"(?i)\\\\s*([a-z]\\\\w*)(?=\\\\s*=)(?!\\\\s*==)","name":"variable.parameter.dummy-variable.fortran.modern"},"procedure-definition":{"begin":"(?i)(?=[^\\\\n!\\"';]*\\\\bmodule\\\\s+procedure\\\\b)","end":"(?=[\\\\n!;])","name":"meta.procedure.fortran","patterns":[{"begin":"(?i)\\\\s*\\\\b(module\\\\s+procedure)\\\\b","beginCaptures":{"1":{"name":"keyword.other.procedure.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.procedure.fortran"}},"end":"(?i)\\\\s*\\\\b(?:(end\\\\s*procedure)(?:\\\\s+([_a-z]\\\\w*))?|(end))\\\\b\\\\s*([^\\\\n!;]+)?(?=[\\\\n!;])","endCaptures":{"1":{"name":"keyword.other.endprocedure.fortran"},"2":{"name":"entity.name.function.procedure.fortran"},"3":{"name":"keyword.other.endprocedure.fortran"},"4":{"name":"invalid.error.procedure-definition.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n!;])","end":"(?=[\\\\n!;])","name":"meta.first-line.fortran","patterns":[{"include":"#invalid-character"}]},{"begin":"(?i)(?!\\\\s*(?:contains\\\\b|end\\\\s*[\\\\n!;]|end\\\\s*procedure\\\\b))","end":"(?i)(?=\\\\s*(?:contains\\\\b|end\\\\s*[\\\\n!;]|end\\\\s*procedure\\\\b))","name":"meta.block.specification.procedure.fortran","patterns":[{"include":"$self"}]},{"begin":"(?i)\\\\s*(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"end":"(?i)(?=\\\\s*end(?:\\\\s*[\\\\n!;]|\\\\s*procedure\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$self"}]}]}]}]},"procedure-name":{"captures":{"1":{"name":"entity.name.function.procedure.fortran"}},"match":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b"},"procedure-name-list":{"begin":"(?i)(?=\\\\s*[a-z])","contentName":"meta.name-list.fortran","end":"(?=[\\\\n!;])","patterns":[{"begin":"(?!\\\\s*\\\\n)","end":"(,)|(?=[\\\\n!;])","endCaptures":{"1":{"name":"punctuation.comma.fortran"}},"patterns":[{"include":"#procedure-name"},{"include":"#pointer-operators"}]}]},"procedure-specification-statement":{"begin":"(?i)(?=\\\\bprocedure\\\\b)","end":"(?=[\\\\n!;])","name":"meta.specification.procedure.fortran","patterns":[{"include":"#procedure-type"},{"begin":"(?=\\\\s*(,|::|\\\\())","contentName":"meta.attribute-list.procedure.fortran","end":"(::)|(?=[\\\\n!;])","endCaptures":{"1":{"name":"keyword.operator.double-colon.fortran"}},"patterns":[{"begin":"(,)|^|(?<=&)","beginCaptures":{"1":{"name":"punctuation.comma.fortran"}},"end":"(?=::|[\\\\n!\\\\&,;])","patterns":[{"include":"#access-attribute"},{"include":"#intent-attribute"},{"include":"#optional-attribute"},{"include":"#pointer-attribute"},{"include":"#protected-attribute"},{"include":"#save-attribute"},{"include":"#invalid-word"}]}]},{"include":"#procedure-name-list"}]},"procedure-type":{"patterns":[{"begin":"(?i)\\\\b(procedure)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.procedure.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"contentName":"meta.type-spec.fortran","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#types"},{"include":"#procedure-name"}]},{"captures":{"1":{"name":"storage.type.procedure.fortran"}},"match":"(?i)\\\\b(procedure)\\\\b"}]},"program-definition":{"begin":"(?i)(?=\\\\b(program)\\\\b)","end":"(?=[\\\\n!;])","name":"meta.program.fortran","patterns":[{"captures":{"1":{"name":"keyword.control.program.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(program)\\\\b"},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.program.fortran"}},"end":"(?i)\\\\b(?:(end\\\\s*program)(?:\\\\s+([_a-z]\\\\w*))?|(end))\\\\b\\\\s*([^\\\\n!;]+)?(?=[\\\\n!;])","endCaptures":{"1":{"name":"keyword.control.endprogram.fortran"},"2":{"name":"entity.name.program.fortran"},"3":{"name":"keyword.control.endprogram.fortran"},"4":{"name":"invalid.error.program-definition.fortran"}},"patterns":[{"begin":"\\\\G","end":"(?i)(?=\\\\bend(?:\\\\s*[\\\\n!;]|\\\\s*program\\\\b))","name":"meta.block.specification.program.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"end":"(?i)(?=end(?:\\\\s*[\\\\n!;]|\\\\s*program\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"protected-attribute":{"captures":{"1":{"name":"storage.modifier.protected.fortran"}},"match":"(?i)\\\\s*\\\\b(protected)\\\\b"},"public-attribute":{"captures":{"1":{"name":"storage.modifier.public.fortran"}},"match":"(?i)\\\\s*\\\\b(public)\\\\b"},"pure-attribute":{"captures":{"1":{"name":"storage.modifier.impure.fortran"},"2":{"name":"storage.modifier.pure.fortran"}},"match":"(?i)\\\\s*\\\\b(?:(impure)|(pure))\\\\b"},"recursive-attribute":{"captures":{"1":{"name":"storage.modifier.non_recursive.fortran"},"2":{"name":"storage.modifier.recursive.fortran"}},"match":"(?i)\\\\s*\\\\b(?:(non_recursive)|(recursive))\\\\b"},"result-statement":{"begin":"(?i)\\\\s*\\\\b(result)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.result.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.right.fortran"}},"patterns":[{"include":"#dummy-variable"}]},"return-statement":{"begin":"(?i)\\\\s*\\\\b(return)\\\\b","beginCaptures":{"1":{"name":"keyword.control.return.fortran"}},"end":"(?=[\\\\n!;])","name":"meta.statement.control.return.fortran","patterns":[{"include":"#invalid-character"}]},"save-attribute":{"captures":{"1":{"name":"storage.modifier.save.fortran"}},"match":"(?i)\\\\s*\\\\b(save)\\\\b"},"select-case-construct":{"begin":"(?i)\\\\b(select\\\\s*case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selectcase.fortran"}},"end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.case.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.fortran"}},"end":"(?i)(?=[\\\\n!;])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"select-rank-construct":{"begin":"(?i)\\\\b(select\\\\s*rank)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selectrank.fortran"}},"end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.rank.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(rank)\\\\b","beginCaptures":{"1":{"name":"keyword.control.rank.fortran"}},"end":"(?i)(?=[\\\\n!;])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"select-type-construct":{"begin":"(?i)\\\\b(select\\\\s*type)\\\\b","beginCaptures":{"1":{"name":"keyword.control.selecttype.fortran"}},"end":"(?i)\\\\b(end\\\\s*select)\\\\b","endCaptures":{"1":{"name":"keyword.control.endselect.fortran"}},"name":"meta.block.select.type.fortran","patterns":[{"include":"#parentheses"},{"begin":"(?i)\\\\b(?:(class)|(type))\\\\b","beginCaptures":{"1":{"name":"keyword.control.class.fortran"},"2":{"name":"keyword.control.type.fortran"}},"end":"(?i)(?=[\\\\n!;])","patterns":[{"captures":{"1":{"name":"keyword.control.default.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(default)\\\\b"},{"captures":{"1":{"name":"keyword.control.is.fortran"}},"match":"(?i)\\\\G\\\\s*\\\\b(is)\\\\b"},{"include":"#parentheses"},{"include":"#invalid-word"}]},{"include":"$base"}]},"sequence-attribute":{"captures":{"1":{"name":"storage.modifier.sequence.fortran"}},"match":"(?i)\\\\s*\\\\b(sequence)\\\\b"},"specification-statements":{"patterns":[{"include":"#attribute-specification-statement"},{"include":"#common-statement"},{"include":"#data-statement"},{"include":"#equivalence-statement"},{"include":"#implicit-statement"},{"include":"#namelist-statement"},{"include":"#use-statement"}]},"stop-statement":{"begin":"(?i)\\\\s*\\\\b(stop)\\\\b(?:\\\\s*\\\\b([a-z]\\\\w*)\\\\b)?","beginCaptures":{"1":{"name":"keyword.control.stop.fortran"},"2":{"name":"meta.label.stop.stop"}},"end":"(?=[\\\\n!;])","name":"meta.statement.control.stop.fortran","patterns":[{"include":"#constants"},{"include":"#string-operators"},{"include":"#invalid-character"}]},"string-constant":{"patterns":[{"applyEndPatternLast":1,"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fortran"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.fortran"}},"name":"string.quoted.single.fortran","patterns":[{"match":"''","name":"constant.character.escape.apostrophe.fortran"}]},{"applyEndPatternLast":1,"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.fortran"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.fortran"}},"name":"string.quoted.double.fortran","patterns":[{"match":"\\"\\"","name":"constant.character.escape.quote.fortran"}]}]},"string-line-continuation-operator":{"begin":"(&)(?=\\\\s*\\\\n)","beginCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"end":"(?i)^(?:(?=\\\\s*[^!\\\\&\\\\s])|\\\\s*(&))","endCaptures":{"1":{"name":"keyword.operator.line-continuation.fortran"}},"patterns":[{"include":"#comments"},{"match":"\\\\S.*","name":"invalid.error.string-line-cont.fortran"}]},"string-operators":{"match":"(//)","name":"keyword.other.concatination.fortran"},"submodule-definition":{"begin":"(?i)(?=\\\\b(submodule)\\\\s*\\\\()","end":"(?=[\\\\n!;])","name":"meta.submodule.fortran","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b(submodule)\\\\s*(\\\\()\\\\s*(\\\\w+)","beginCaptures":{"1":{"name":"keyword.other.submodule.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"},"3":{"name":"entity.name.class.submodule.fortran"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parentheses.left.fortran"}},"patterns":[]},{"applyEndPatternLast":1,"begin":"(?i)\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.module.submodule.fortran"}},"end":"(?i)\\\\s*\\\\b(?:(end\\\\s*submodule)(?:\\\\s+([_a-z]\\\\w*))?|(end))\\\\b\\\\s*([^\\\\n!;]+)?(?=[\\\\n!;])","endCaptures":{"1":{"name":"keyword.other.endsubmodule.fortran"},"2":{"name":"entity.name.module.submodule.fortran"},"3":{"name":"keyword.other.endsubmodule.fortran"},"4":{"name":"invalid.error.submodule.fortran"}},"patterns":[{"begin":"\\\\G","end":"(?i)(?=\\\\bend(?:\\\\s*[\\\\n!;]|\\\\s*submodule\\\\b))","name":"meta.block.specification.submodule.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"end":"(?i)(?=\\\\s*end(?:\\\\s*[\\\\n!;]|\\\\s*submodule\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]},"subroutine-definition":{"begin":"(?i)(?=([^\\\\n!\\"':;](?!\\\\bend))*\\\\bsubroutine\\\\b)","end":"(?=[\\\\n!;])","name":"meta.subroutine.fortran","patterns":[{"begin":"(?i)(?=\\\\G\\\\s*(?!\\\\bsubroutine\\\\b))","end":"(?i)(?=\\\\bsubroutine\\\\b)","name":"meta.attribute-list.subroutine.fortran","patterns":[{"include":"#elemental-attribute"},{"include":"#module-attribute"},{"include":"#pure-attribute"},{"include":"#recursive-attribute"},{"include":"#invalid-word"}]},{"begin":"(?i)\\\\s*\\\\b(subroutine)\\\\b","beginCaptures":{"1":{"name":"keyword.other.subroutine.fortran"}},"end":"(?=[\\\\n!;])","patterns":[{"begin":"(?i)\\\\G\\\\s*\\\\b([a-z]\\\\w*)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.subroutine.fortran"}},"end":"(?i)\\\\b(?:(end\\\\s*subroutine)(?:\\\\s+([_a-z]\\\\w*))?|(end))\\\\b\\\\s*([^\\\\n!;]+)?(?=[\\\\n!;])","endCaptures":{"1":{"name":"keyword.other.endsubroutine.fortran"},"2":{"name":"entity.name.function.subroutine.fortran"},"3":{"name":"keyword.other.endsubroutine.fortran"},"4":{"name":"invalid.error.subroutine.fortran"}},"patterns":[{"begin":"\\\\G(?!\\\\s*[\\\\n!;])","end":"(?=[\\\\n!;])","name":"meta.first-line.fortran","patterns":[{"include":"#dummy-variable-list"},{"include":"#language-binding-attribute"}]},{"begin":"(?i)(?!\\\\bend(?:\\\\s*[\\\\n!;]|\\\\s*subroutine\\\\b))","end":"(?i)(?=\\\\bend(?:\\\\s*[\\\\n!;]|\\\\s*subroutine\\\\b))","name":"meta.block.specification.subroutine.fortran","patterns":[{"begin":"(?i)\\\\b(contains)\\\\b","beginCaptures":{"1":{"name":"keyword.control.contains.fortran"}},"end":"(?i)(?=end(?:\\\\s*[\\\\n!;]|\\\\s*subroutine\\\\b))","name":"meta.block.contains.fortran","patterns":[{"include":"$base"}]},{"include":"$base"}]}]}]}]},"sync-all-statement":{"begin":"(?i)\\\\b(sync (?:all|memory))(\\\\s*(?=\\\\())?","beginCaptures":{"1":{"name":"keyword.control.sync-all-memory.fortran"},"2":{"name":"punctuation.parentheses.left.fortran"}},"end":"(?])(=)(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.assignment.fortran\\\"},\\\"associate-construct\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(associate)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.associate.fortran\\\"}},\\\"contentName\\\":\\\"meta.block.associate.fortran\\\",\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*associate)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endassociate.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"asynchronous-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.asynchronous.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(asynchronous)\\\\\\\\b\\\"},\\\"attribute-specification-statement\\\":{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\b(?:allocatable|asynchronous|contiguous|external|intrinsic|optional|parameter|pointer|private|protected|public|save|target|value|volatile)\\\\\\\\b|(bind|dimension|intent)\\\\\\\\s*\\\\\\\\(|(codimension)\\\\\\\\s*\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.attribute-specification.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#access-attribute\\\"},{\\\"include\\\":\\\"#allocatable-attribute\\\"},{\\\"include\\\":\\\"#asynchronous-attribute\\\"},{\\\"include\\\":\\\"#codimension-attribute\\\"},{\\\"include\\\":\\\"#contiguous-attribute\\\"},{\\\"include\\\":\\\"#dimension-attribute\\\"},{\\\"include\\\":\\\"#external-attribute\\\"},{\\\"include\\\":\\\"#intent-attribute\\\"},{\\\"include\\\":\\\"#intrinsic-attribute\\\"},{\\\"include\\\":\\\"#language-binding-attribute\\\"},{\\\"include\\\":\\\"#optional-attribute\\\"},{\\\"include\\\":\\\"#parameter-attribute\\\"},{\\\"include\\\":\\\"#pointer-attribute\\\"},{\\\"include\\\":\\\"#protected-attribute\\\"},{\\\"include\\\":\\\"#save-attribute\\\"},{\\\"include\\\":\\\"#target-attribute\\\"},{\\\"include\\\":\\\"#value-attribute\\\"},{\\\"include\\\":\\\"#volatile-attribute\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\s*::)\\\",\\\"contentName\\\":\\\"meta.attribute-list.normal.fortran\\\",\\\"end\\\":\\\"(::)|(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.double-colon.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"include\\\":\\\"#name-list\\\"}]},\\\"block-construct\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(block)\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\bdata\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.associate.fortran\\\"}},\\\"contentName\\\":\\\"meta.block.block.fortran\\\",\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*block)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endassociate.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"block-data-definition\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(block\\\\\\\\s*data)\\\\\\\\b(?:\\\\\\\\s+([a-z]\\\\\\\\w*)\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.block-data.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.block-data.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?:(end\\\\\\\\s*block\\\\\\\\s*data)(?:\\\\\\\\s+(\\\\\\\\2))?|(end))\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\S((?!\\\\\\\\n).)*))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.end-block-data.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.block-data.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.end-block-data.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.error.block-data-definition.fortran\\\"}},\\\"name\\\":\\\"meta.block-data.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.bracket.left.fortran\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.bracket.left.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#array-constructor\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#intrinsic-functions\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"call-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(call)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.call.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.control.call.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*([a-z]\\\\\\\\w*)(%)([a-z]\\\\\\\\w*)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.accessor.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.subroutine.fortran\\\"}},\\\"end\\\":\\\"(?=|[<>]|<=|[-+/]|//|\\\\\\\\*\\\\\\\\*?)|(\\\\\\\\S.*))\\\\\\\\s*(\\\\\\\\))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.operator.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.error.generic-interface-block-op.fortran\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*interface)\\\\\\\\b(?:\\\\\\\\s*\\\\\\\\b(\\\\\\\\1)\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(?:(\\\\\\\\3)|(\\\\\\\\S.*))\\\\\\\\s*(\\\\\\\\)))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endinterface.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.operator.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.fortran\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.error.generic-interface-block-op-end.fortran\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-procedure-statement\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(?:(read)|(write))\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(?:(formatted)|(unformatted)|(\\\\\\\\S.*))\\\\\\\\s*(\\\\\\\\))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.read.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.write.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.formatted.fortran\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.unformatted.fortran\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.error.generic-interface-block.fortran\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*interface)\\\\\\\\b(?:\\\\\\\\s*\\\\\\\\b(?:(\\\\\\\\2)|(\\\\\\\\3))\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(?:(\\\\\\\\4)|(\\\\\\\\5)|(\\\\\\\\S.*))\\\\\\\\s*(\\\\\\\\)))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endinterface.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.read.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.write.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.formatted.fortran\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.unformatted.fortran\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.error.generic-interface-block-end.fortran\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-procedure-statement\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*interface)\\\\\\\\b(?:\\\\\\\\s*\\\\\\\\b(\\\\\\\\1)\\\\\\\\b)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endinterface.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-procedure-statement\\\"},{\\\"include\\\":\\\"$base\\\"}]}]},\\\"goto-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(go\\\\\\\\s*to)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.goto.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.control.goto.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"if-construct\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(if)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical-control-expression\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(then)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.then.fortran\\\"}},\\\"contentName\\\":\\\"meta.block.if.fortran\\\",\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*if)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endif.fortran\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(else\\\\\\\\s*if)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.elseif.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parentheses\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.then.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.label.elseif.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(then)\\\\\\\\b(\\\\\\\\s*[a-z]\\\\\\\\w*)?\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(else)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.else.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\b(end\\\\\\\\s*if)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?!(\\\\\\\\s*([\\\\\\\\n!;])))\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.label.else.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.error.label.else.fortran\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([a-z]\\\\\\\\w*)?\\\\\\\\s*\\\\\\\\b(\\\\\\\\w*)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"begin\\\":\\\"(?i)(?!\\\\\\\\b(end\\\\\\\\s*if)\\\\\\\\b)\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\b(end\\\\\\\\s*if)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]}]},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\s*[a-z])\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.control.if.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]}]}]},\\\"image-control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#sync-all-statement\\\"},{\\\"include\\\":\\\"#sync-statement\\\"},{\\\"include\\\":\\\"#event-statement\\\"},{\\\"include\\\":\\\"#form-team-statement\\\"},{\\\"include\\\":\\\"#fail-image-statement\\\"}]},\\\"implicit-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(implicit)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.implicit.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.implicit.fortran\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.none.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(none)\\\\\\\\b\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"import-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(import)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.include.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.include.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*(?:(::)|(?=[a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.double-colon.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#name-list\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(,)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comma.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.all.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(all)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.none.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(none)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(only)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.only.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.colon.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#name-list\\\"}]},{\\\"include\\\":\\\"#invalid-word\\\"}]}]},\\\"include-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(include)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.include.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.include.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-constant\\\"},{\\\"include\\\":\\\"#invalid-character\\\"}]},\\\"intent-attribute\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(intent)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.intent.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.intent.in-out.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.intent.in.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.intent.out.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(?:(in\\\\\\\\s*out)|(in)|(out))\\\\\\\\b\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},\\\"interface-block-constructs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#abstract-interface-block-construct\\\"},{\\\"include\\\":\\\"#explicit-interface-block-construct\\\"},{\\\"include\\\":\\\"#generic-interface-block-construct\\\"}]},\\\"interface-procedure-statement\\\":{\\\"begin\\\":\\\"(?i)(?=[^\\\\\\\\n!\\\\\\\"';]*\\\\\\\\bprocedure\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.procedure.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\G\\\\\\\\s*(?!\\\\\\\\bprocedure\\\\\\\\b))\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\bprocedure\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.attribute-list.interface.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-attribute\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(procedure)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.procedure.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.double-colon.fortran\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(::)\\\"},{\\\"include\\\":\\\"#procedure-name-list\\\"}]}]},\\\"intrinsic-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.intrinsic.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(intrinsic)\\\\\\\\b\\\"},\\\"intrinsic-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(acosh|asinh|atanh|bge|bgt|ble|blt|dshiftl|dshiftr|findloc|hypot|iall|iany|image_index|iparity|is_contiguous|lcobound|leadz|mask[lr]|merge_bits|norm2|num_images|parity|popcnt|poppar|shift[alr]|storage_size|this_image|trailz|ucobound)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.intrinsic.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"end\\\":\\\"(?=|(?|<=?)\\\",\\\"name\\\":\\\"keyword.logical.fortran.modern\\\"}]},\\\"logical-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(logical)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.logical.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"contentName\\\":\\\"meta.type-spec.fortran\\\",\\\"end\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.other.point.fortran\\\"},\\\"preprocessor\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#:?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.preprocessor.indicator.fortran\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"meta.preprocessor\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-if-construct\\\"},{\\\"include\\\":\\\"#preprocessor-statements\\\"}]},\\\"preprocessor-arithmetic-operators\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.subtraction.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.addition.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.division.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.multiplication.fortran\\\"}},\\\"match\\\":\\\"(-)|(\\\\\\\\+)|(/)|(\\\\\\\\*)\\\"},\\\"preprocessor-assignment-operator\\\":{\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.preprocessor.fortran\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.preprocessor.fortran\\\"},{\\\"include\\\":\\\"#line-continuation-operator\\\"}]},\\\"preprocessor-line-continuation-operator\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.line-continuation.preprocessor.fortran\\\"}},\\\"end\\\":\\\"(?i)^\\\"},\\\"preprocessor-logical-operators\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.and.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.equals.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.not_equals.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.or.fortran\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.less_eq.fortran\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.more_eq.fortran\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.less.fortran\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.more.fortran\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.complementary.fortran\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.xor.fortran\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.bitand.fortran\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.not.fortran\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.operator.logical.preprocessor.bitor.fortran\\\"}},\\\"match\\\":\\\"(&&)|(==)|(!=)|(\\\\\\\\|\\\\\\\\|)|(<=)|(>=)|(<)|(>)|(~)|(\\\\\\\\^)|(&)|(!)|(\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.logical.preprocessor.fortran\\\"},\\\"preprocessor-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-line-continuation-operator\\\"},{\\\"include\\\":\\\"#preprocessor-logical-operators\\\"},{\\\"include\\\":\\\"#preprocessor-arithmetic-operators\\\"}]},\\\"preprocessor-pragma-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(pragma)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.preprocessor.pragma.fortran\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.pragma.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-comments\\\"},{\\\"include\\\":\\\"#preprocessor-string-constant\\\"}]},\\\"preprocessor-statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-define-statement\\\"},{\\\"include\\\":\\\"#preprocessor-error-statement\\\"},{\\\"include\\\":\\\"#preprocessor-include-statement\\\"},{\\\"include\\\":\\\"#preprocessor-preprocessor-pragma-statement\\\"},{\\\"include\\\":\\\"#preprocessor-undefine-statement\\\"}]},\\\"preprocessor-string-constant\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.preprocessor.fortran\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.preprocessor.fortran\\\"}},\\\"name\\\":\\\"string.quoted.double.include.preprocessor.fortran\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.preprocessor.fortran\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.preprocessor.fortran\\\"}},\\\"name\\\":\\\"string.quoted.single.include.preprocessor.fortran\\\"}]},\\\"preprocessor-undefine-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(undef)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.preprocessor.undef.fortran\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.undef.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-comments\\\"},{\\\"include\\\":\\\"#preprocessor-line-continuation-operator\\\"}]},\\\"private-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.private.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(private)\\\\\\\\b\\\"},\\\"procedure-call-dummy-variable\\\":{\\\"match\\\":\\\"(?i)\\\\\\\\s*([a-z]\\\\\\\\w*)(?=\\\\\\\\s*=)(?!\\\\\\\\s*==)\\\",\\\"name\\\":\\\"variable.parameter.dummy-variable.fortran.modern\\\"},\\\"procedure-definition\\\":{\\\"begin\\\":\\\"(?i)(?=[^\\\\\\\\n!\\\\\\\"';]*\\\\\\\\bmodule\\\\\\\\s+procedure\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.procedure.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(module\\\\\\\\s+procedure)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.procedure.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.procedure.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(?:(end\\\\\\\\s*procedure)(?:\\\\\\\\s+([_a-z]\\\\\\\\w*))?|(end))\\\\\\\\b\\\\\\\\s*([^\\\\\\\\n!;]+)?(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.endprocedure.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.procedure.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.endprocedure.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.error.procedure-definition.fortran\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?!\\\\\\\\s*[\\\\\\\\n!;])\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.first-line.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid-character\\\"}]},{\\\"begin\\\":\\\"(?i)(?!\\\\\\\\s*(?:contains\\\\\\\\b|end\\\\\\\\s*[\\\\\\\\n!;]|end\\\\\\\\s*procedure\\\\\\\\b))\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\s*(?:contains\\\\\\\\b|end\\\\\\\\s*[\\\\\\\\n!;]|end\\\\\\\\s*procedure\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.specification.procedure.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\s*(contains)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.contains.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\s*end(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*procedure\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.contains.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}]}]},\\\"procedure-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.procedure.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b\\\"},\\\"procedure-name-list\\\":{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\s*[a-z])\\\",\\\"contentName\\\":\\\"meta.name-list.fortran\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?!\\\\\\\\s*\\\\\\\\n)\\\",\\\"end\\\":\\\"(,)|(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comma.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#procedure-name\\\"},{\\\"include\\\":\\\"#pointer-operators\\\"}]}]},\\\"procedure-specification-statement\\\":{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\bprocedure\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.specification.procedure.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#procedure-type\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\s*(,|::|\\\\\\\\())\\\",\\\"contentName\\\":\\\"meta.attribute-list.procedure.fortran\\\",\\\"end\\\":\\\"(::)|(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.double-colon.fortran\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)|^|(?<=&)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comma.fortran\\\"}},\\\"end\\\":\\\"(?=::|[\\\\\\\\n!\\\\\\\\&,;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#access-attribute\\\"},{\\\"include\\\":\\\"#intent-attribute\\\"},{\\\"include\\\":\\\"#optional-attribute\\\"},{\\\"include\\\":\\\"#pointer-attribute\\\"},{\\\"include\\\":\\\"#protected-attribute\\\"},{\\\"include\\\":\\\"#save-attribute\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]}]},{\\\"include\\\":\\\"#procedure-name-list\\\"}]},\\\"procedure-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(procedure)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.procedure.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"contentName\\\":\\\"meta.type-spec.fortran\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#procedure-name\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.procedure.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(procedure)\\\\\\\\b\\\"}]},\\\"program-definition\\\":{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\b(program)\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.program.fortran\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.program.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(program)\\\\\\\\b\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.program.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?:(end\\\\\\\\s*program)(?:\\\\\\\\s+([_a-z]\\\\\\\\w*))?|(end))\\\\\\\\b\\\\\\\\s*([^\\\\\\\\n!;]+)?(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endprogram.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.program.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.endprogram.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.error.program-definition.fortran\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\bend(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*program\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.specification.program.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(contains)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.contains.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=end(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*program\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.contains.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]}]}]},\\\"protected-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.protected.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(protected)\\\\\\\\b\\\"},\\\"public-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.public.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(public)\\\\\\\\b\\\"},\\\"pure-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.impure.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.pure.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(?:(impure)|(pure))\\\\\\\\b\\\"},\\\"recursive-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.non_recursive.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.recursive.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(?:(non_recursive)|(recursive))\\\\\\\\b\\\"},\\\"result-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(result)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.result.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parentheses.right.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#dummy-variable\\\"}]},\\\"return-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(return)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.return.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.control.return.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid-character\\\"}]},\\\"save-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.save.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(save)\\\\\\\\b\\\"},\\\"select-case-construct\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(select\\\\\\\\s*case)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.selectcase.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*select)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endselect.fortran\\\"}},\\\"name\\\":\\\"meta.block.select.case.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parentheses\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(case)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.default.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(default)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},\\\"select-rank-construct\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(select\\\\\\\\s*rank)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.selectrank.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*select)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endselect.fortran\\\"}},\\\"name\\\":\\\"meta.block.select.rank.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parentheses\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(rank)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.rank.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.default.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(default)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},\\\"select-type-construct\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(select\\\\\\\\s*type)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.selecttype.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end\\\\\\\\s*select)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.endselect.fortran\\\"}},\\\"name\\\":\\\"meta.block.select.type.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parentheses\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:(class)|(type))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.default.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(default)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.is.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(is)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},\\\"sequence-attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.sequence.fortran\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(sequence)\\\\\\\\b\\\"},\\\"specification-statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-specification-statement\\\"},{\\\"include\\\":\\\"#common-statement\\\"},{\\\"include\\\":\\\"#data-statement\\\"},{\\\"include\\\":\\\"#equivalence-statement\\\"},{\\\"include\\\":\\\"#implicit-statement\\\"},{\\\"include\\\":\\\"#namelist-statement\\\"},{\\\"include\\\":\\\"#use-statement\\\"}]},\\\"stop-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(stop)\\\\\\\\b(?:\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.stop.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.label.stop.stop\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.statement.control.stop.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#string-operators\\\"},{\\\"include\\\":\\\"#invalid-character\\\"}]},\\\"string-constant\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.fortran\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.fortran\\\"}},\\\"name\\\":\\\"string.quoted.single.fortran\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.apostrophe.fortran\\\"}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.fortran\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.fortran\\\"}},\\\"name\\\":\\\"string.quoted.double.fortran\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.quote.fortran\\\"}]}]},\\\"string-line-continuation-operator\\\":{\\\"begin\\\":\\\"(&)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.line-continuation.fortran\\\"}},\\\"end\\\":\\\"(?i)^(?:(?=\\\\\\\\s*[^!\\\\\\\\&\\\\\\\\s])|\\\\\\\\s*(&))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.line-continuation.fortran\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\S.*\\\",\\\"name\\\":\\\"invalid.error.string-line-cont.fortran\\\"}]},\\\"string-operators\\\":{\\\"match\\\":\\\"(//)\\\",\\\"name\\\":\\\"keyword.other.concatination.fortran\\\"},\\\"submodule-definition\\\":{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\b(submodule)\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.submodule.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b(submodule)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.submodule.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.class.submodule.fortran\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"patterns\\\":[]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.module.submodule.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(?:(end\\\\\\\\s*submodule)(?:\\\\\\\\s+([_a-z]\\\\\\\\w*))?|(end))\\\\\\\\b\\\\\\\\s*([^\\\\\\\\n!;]+)?(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.endsubmodule.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.module.submodule.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.endsubmodule.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.error.submodule.fortran\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\bend(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*submodule\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.specification.submodule.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(contains)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.contains.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\s*end(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*submodule\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.contains.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]}]}]},\\\"subroutine-definition\\\":{\\\"begin\\\":\\\"(?i)(?=([^\\\\\\\\n!\\\\\\\"':;](?!\\\\\\\\bend))*\\\\\\\\bsubroutine\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.subroutine.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\G\\\\\\\\s*(?!\\\\\\\\bsubroutine\\\\\\\\b))\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\bsubroutine\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.attribute-list.subroutine.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#elemental-attribute\\\"},{\\\"include\\\":\\\"#module-attribute\\\"},{\\\"include\\\":\\\"#pure-attribute\\\"},{\\\"include\\\":\\\"#recursive-attribute\\\"},{\\\"include\\\":\\\"#invalid-word\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b(subroutine)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.subroutine.fortran\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G\\\\\\\\s*\\\\\\\\b([a-z]\\\\\\\\w*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.subroutine.fortran\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?:(end\\\\\\\\s*subroutine)(?:\\\\\\\\s+([_a-z]\\\\\\\\w*))?|(end))\\\\\\\\b\\\\\\\\s*([^\\\\\\\\n!;]+)?(?=[\\\\\\\\n!;])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.endsubroutine.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.subroutine.fortran\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.endsubroutine.fortran\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.error.subroutine.fortran\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?!\\\\\\\\s*[\\\\\\\\n!;])\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n!;])\\\",\\\"name\\\":\\\"meta.first-line.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#dummy-variable-list\\\"},{\\\"include\\\":\\\"#language-binding-attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(?!\\\\\\\\bend(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*subroutine\\\\\\\\b))\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\bend(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*subroutine\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.specification.subroutine.fortran\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(contains)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.contains.fortran\\\"}},\\\"end\\\":\\\"(?i)(?=end(?:\\\\\\\\s*[\\\\\\\\n!;]|\\\\\\\\s*subroutine\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.block.contains.fortran\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"$base\\\"}]}]}]}]},\\\"sync-all-statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(sync (?:all|memory))(\\\\\\\\s*(?=\\\\\\\\())?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.sync-all-memory.fortran\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parentheses.left.fortran\\\"}},\\\"end\\\":\\\"(?^|~])(:)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.cadence"}},"end":"(?!\\\\G)(?=[;{])|$","name":"meta.function-result.cadence","patterns":[{"include":"#type"}]},"initializer":{"begin":"(?]|>=|<=","name":"keyword.operator.comparison.cadence"},{"match":"\\\\?\\\\?","name":"keyword.operator.coalescing.cadence"},{"match":"&&|\\\\|\\\\|","name":"keyword.operator.logical.cadence"},{"match":"[!?]","name":"keyword.operator.type.optional.cadence"}]},"parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.cadence"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.cadence"}},"name":"meta.parameter-clause.cadence","patterns":[{"include":"#parameter-list"}]},"parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.cadence"},"2":{"name":"variable.parameter.function.cadence"}},"match":"([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.cadence"},"2":{"name":"entity.name.function.cadence"}},"match":"(([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"include":"#type"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.cadence"}]}]},"type":{"patterns":[{"include":"#comments"},{"match":"([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)","name":"storage.type.cadence"}]},"var-let-declaration":{"begin":"\\\\b(var|let)\\\\b\\\\s+([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)","beginCaptures":{"1":{"name":"storage.type.$1.cadence"},"2":{"name":"entity.name.type.$1.cadence"}},"end":"=|<-!??|$","patterns":[{"include":"#type"}]}},"scopeName":"source.cadence","aliases":["cdc"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-D2CYqzqI.js.map diff --git a/src/webview-ui/build/assets/chunk-D2CYqzqI.js.map b/src/webview-ui/build/assets/chunk-D2CYqzqI.js.map new file mode 100644 index 0000000000..c8ec411daf --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D2CYqzqI.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D2CYqzqI.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/cadence.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Cadence\\\",\\\"name\\\":\\\"cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expressions\\\"},{\\\"include\\\":\\\"#declarations\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#code-block\\\"},{\\\"include\\\":\\\"#composite\\\"},{\\\"include\\\":\\\"#event\\\"}],\\\"repository\\\":{\\\"code-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.cadence\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.cadence\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cadence\\\"}},\\\"match\\\":\\\"\\\\\\\\A^(#!).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.cadence\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.cadence\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.cadence\\\"}},\\\"name\\\":\\\"comment.block.documentation.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nested\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.cadence\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.cadence\\\"}},\\\"name\\\":\\\"comment.block.documentation.playground.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nested\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.cadence\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.cadence\\\"}},\\\"name\\\":\\\"comment.block.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nested\\\"}]},{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-end-of-block-comment.cadence\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.cadence\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"///\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cadence\\\"}},\\\"end\\\":\\\"^\\\",\\\"name\\\":\\\"comment.line.triple-slash.documentation.cadence\\\"},{\\\"begin\\\":\\\"//:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cadence\\\"}},\\\"end\\\":\\\"^\\\",\\\"name\\\":\\\"comment.line.double-slash.documentation.cadence\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cadence\\\"}},\\\"end\\\":\\\"^\\\",\\\"name\\\":\\\"comment.line.double-slash.cadence\\\"}]}],\\\"repository\\\":{\\\"nested\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nested\\\"}]}}},\\\"composite\\\":{\\\"begin\\\":\\\"\\\\\\\\b((?:struct|resource|contract)(?:\\\\\\\\s+interface)?|transaction|enum)\\\\\\\\s+([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.$1.cadence\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.definition.type.composite.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#conformance-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.cadence\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.cadence\\\"}},\\\"name\\\":\\\"meta.definition.type.body.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"conformance-clause\\\":{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\{)|(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.empty-conformance-clause.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.conformance-clause.cadence\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=[={}])\\\",\\\"name\\\":\\\"meta.conformance-clause.cadence\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=[={}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"declarations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var-let-declaration\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#initializer\\\"}]},\\\"event\\\":{\\\"begin\\\":\\\"\\\\\\\\b(event)\\\\\\\\b\\\\\\\\s+([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.event.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.event.cadence\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|$\\\",\\\"name\\\":\\\"meta.definition.type.event.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#parameter-clause\\\"}]},\\\"expression-element-list\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.cadence\\\"}},\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},{\\\"begin\\\":\\\"(?![]),])(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]}]},\\\"expressions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#function-call-expression\\\"},{\\\"include\\\":\\\"#literals\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#language-variables\\\"}]},\\\"function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(fun)\\\\\\\\b\\\\\\\\s+([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.cadence\\\"}},\\\"end\\\":\\\"(?<=})|$\\\",\\\"name\\\":\\\"meta.definition.function.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#parameter-clause\\\"},{\\\"include\\\":\\\"#function-result\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.cadence\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.end.cadence\\\"}},\\\"name\\\":\\\"meta.definition.function.body.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"function-call-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?!set|init)([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.cadence\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.cadence\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.cadence\\\"}},\\\"name\\\":\\\"meta.function-call.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-element-list\\\"}]}]},\\\"function-result\\\":{\\\"begin\\\":\\\"(?^|~])(:)(?![-!%\\\\\\\\&*+./<=>^|~])\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.function-result.cadence\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(?=[;{])|$\\\",\\\"name\\\":\\\"meta.function-result.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"initializer\\\":{\\\"begin\\\":\\\"(?]|>=|<=\\\",\\\"name\\\":\\\"keyword.operator.comparison.cadence\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.coalescing.cadence\\\"},{\\\"match\\\":\\\"&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.cadence\\\"},{\\\"match\\\":\\\"[!?]\\\",\\\"name\\\":\\\"keyword.operator.type.optional.cadence\\\"}]},\\\"parameter-clause\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.cadence\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.cadence\\\"}},\\\"name\\\":\\\"meta.parameter-clause.cadence\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-list\\\"}]},\\\"parameter-list\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.cadence\\\"}},\\\"match\\\":\\\"([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\\\\\\s+([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)(?=\\\\\\\\s*:)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.cadence\\\"}},\\\"match\\\":\\\"(([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*))(?=\\\\\\\\s*:)\\\"},{\\\"begin\\\":\\\":\\\\\\\\s*(?!\\\\\\\\s)\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"invalid.illegal.extra-colon-in-parameter-list.cadence\\\"}]}]},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\",\\\"name\\\":\\\"storage.type.cadence\\\"}]},\\\"var-let-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(var|let)\\\\\\\\b\\\\\\\\s+([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cadence\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.$1.cadence\\\"}},\\\"end\\\":\\\"=|<-!??|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}},\\\"scopeName\\\":\\\"source.cadence\\\",\\\"aliases\\\":[\\\"cdc\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "cadence" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ysUAAs6W,CAAC,EAE97WC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D32k8WzR.js b/src/webview-ui/build/assets/chunk-D32k8WzR.js new file mode 100644 index 0000000000..1943f600bb --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D32k8WzR.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"LLVM IR","name":"llvm","patterns":[{"match":"\\\\b(?:void\\\\b|half\\\\b|bfloat\\\\b|float\\\\b|double\\\\b|x86_fp80\\\\b|fp128\\\\b|ppc_fp128\\\\b|label\\\\b|metadata\\\\b|x86_mmx\\\\b|x86_amx\\\\b|type\\\\b|label\\\\b|opaque\\\\b|token\\\\b|i\\\\d+\\\\**)","name":"storage.type.llvm"},{"captures":{"1":{"name":"storage.type.llvm"}},"match":"!([A-Za-z]+)\\\\s*\\\\("},{"match":"(?:(?<=\\\\s|^)#dbg_(assign|declare|label|value)|\\\\badd|\\\\baddrspacecast|\\\\balloca|\\\\band|\\\\barcp|\\\\bashr|\\\\batomicrmw|\\\\bbitcast|\\\\bbr|\\\\bcatchpad|\\\\bcatchswitch|\\\\bcatchret|\\\\bcall|\\\\bcallbr|\\\\bcleanuppad|\\\\bcleanupret|\\\\bcmpxchg|\\\\beq|\\\\bexact|\\\\bextractelement|\\\\bextractvalue|\\\\bfadd|\\\\bfast|\\\\bfcmp|\\\\bfdiv|\\\\bfence|\\\\bfmul|\\\\bfpext|\\\\bfptosi|\\\\bfptoui|\\\\bfptrunc|\\\\bfree|\\\\bfrem|\\\\bfreeze|\\\\bfsub|\\\\bfneg|\\\\bgetelementptr|\\\\bicmp|\\\\binbounds|\\\\bindirectbr|\\\\binsertelement|\\\\binsertvalue|\\\\binttoptr|\\\\binvoke|\\\\blandingpad|\\\\bload|\\\\blshr|\\\\bmalloc|\\\\bmax|\\\\bmin|\\\\bmul|\\\\bnand|\\\\bne|\\\\bninf|\\\\bnnan|\\\\bnsw|\\\\bnsz|\\\\bnuw|\\\\boeq|\\\\boge|\\\\bogt|\\\\bole|\\\\bolt|\\\\bone|\\\\bord??|\\\\bphi|\\\\bptrtoint|\\\\bresume|\\\\bret|\\\\bsdiv|\\\\bselect|\\\\bsext|\\\\bsge|\\\\bsgt|\\\\bshl|\\\\bshufflevector|\\\\bsitofp|\\\\bsle|\\\\bslt|\\\\bsrem|\\\\bstore|\\\\bsub|\\\\bswitch|\\\\btrunc|\\\\budiv|\\\\bueq|\\\\buge|\\\\bugt|\\\\buitofp|\\\\bule|\\\\bult|\\\\bumax|\\\\bumin|\\\\bune|\\\\buno|\\\\bunreachable|\\\\bunwind|\\\\burem|\\\\bva_arg|\\\\bxchg|\\\\bxor|\\\\bzext)\\\\b","name":"keyword.instruction.llvm"},{"match":"\\\\b(?:acq_rel|acquire|addrspace|alias|align|alignstack|allocsize|alwaysinline|appending|argmemonly|arm_aapcs_vfpcc|arm_aapcscc|arm_apcscc|asm|atomic|available_externally|blockaddress|builtin|byref|byval|c|caller|catch|ccc??|cleanup|cold|coldcc|comdat|common|constant|convergent|datalayout|declare|default|define|deplibs|dereferenceable|dereferenceable_or_null|distinct|dllexport|dllimport|dso_local|dso_preemptable|except|extern_weak|external|externally_initialized|fastcc|filter|from|gc|global|hhvm_ccc|hhvmcc|hidden|hot|immarg|inaccessiblemem_or_argmemonly|inaccessiblememonly|inalloc|initialexec|inlinehint|inreg|intel_ocl_bicc|inteldialect|internal|jumptable|linkonce|linkonce_odr|local_unnamed_addr|localdynamic|localexec|minsize|module|monotonic|msp430_intrcc|mustprogress|musttail|naked|nest|noalias|nobuiltin|nocallback|nocapture|nocf_check|noduplicate|nofree|noimplicitfloat|noinline|nomerge|nonlazybind|nonnull|noprofile|norecurse|noredzone|noreturn|nosync|noundef|nounwind|nosanitize_bounds|nosanitize_coverage|null_pointer_is_valid|optforfuzzing|optnone|optsize|personality|preallocated|private|protected|ptx_device|ptx_kernel|readnone|readonly|release|returned|returns_twice|safestack|sanitize_address|sanitize_hwaddress|sanitize_memory|sanitize_memtag|sanitize_thread|section|seq_cst|shadowcallstack|sideeffect|signext|source_filename|speculatable|speculative_load_hardening|spir_func|spir_kernel|sret|ssp|sspreq|sspstrong|strictfp|swiftcc|swifterror|swiftself|syncscope|tail|tailcc|target|thread_local|to|triple|unnamed_addr|unordered|uselistorder|uselistorder_bb|uwtable|volatile|weak|weak_odr|willreturn|win64cc|within|writeonly|x86_64_sysvcc|x86_fastcallcc|x86_stdcallcc|x86_thiscallcc|zeroext)\\\\b","name":"storage.modifier.llvm"},{"match":"@[-$.A-Z_a-z][-$.0-9A-Z_a-z]*","name":"entity.name.function.llvm"},{"match":"[!%@]\\\\d+\\\\b","name":"variable.llvm"},{"match":"%[-$.A-Z_a-z][-$.0-9A-Z_a-z]*","name":"variable.llvm"},{"captures":{"1":{"name":"variable.llvm"}},"match":"(![-$.A-Z_a-z][-$.0-9A-Z_a-z]*)\\\\s*$"},{"captures":{"1":{"name":"variable.llvm"}},"match":"(![-$.A-Z_a-z][-$.0-9A-Z_a-z]*)\\\\s*[!=]"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.llvm","patterns":[{"match":"\\\\.","name":"constant.character.escape.untitled"}]},{"match":"[-$.A-Z_a-z][-$.0-9A-Z_a-z]*:","name":"entity.name.label.llvm"},{"match":"-?\\\\b\\\\d+\\\\.\\\\d*(e[-+]\\\\d+)?\\\\b","name":"constant.numeric.float"},{"match":"\\\\b0x\\\\h+\\\\b","name":"constant.numeric.float"},{"match":"-?\\\\b\\\\d+\\\\b","name":"constant.numeric.integer"},{"match":"\\\\b(?:true|false|null|zeroinitializer|undef|poison|null|none)\\\\b","name":"constant.language"},{"match":"\\\\bD(?:W_TAG_[_a-z]+|W_ATE_[A-Z_a-z]+|W_OP_[0-9A-Z_a-z]+|W_LANG_[0-9A-Z_a-z]+|W_VIRTUALITY_[_a-z]+|IFlag[A-Za-z]+)\\\\b","name":"constant.other"},{"match":";\\\\s*PR\\\\d*\\\\s*$","name":"string.regexp"},{"match":";\\\\s*REQUIRES:.*$","name":"string.regexp"},{"match":";\\\\s*RUN:.*$","name":"string.regexp"},{"match":";\\\\s*ALLOW_RETRIES:.*$","name":"string.regexp"},{"match":";\\\\s*CHECK:.*$","name":"string.regexp"},{"match":";\\\\s*CHECK-(NEXT|NOT|DAG|SAME|LABEL):.*$","name":"string.regexp"},{"match":";\\\\s*XFAIL:.*$","name":"string.regexp"},{"match":";.*$","name":"comment.line.llvm"}],"scopeName":"source.llvm"}', + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-D32k8WzR.js.map diff --git a/src/webview-ui/build/assets/chunk-D32k8WzR.js.map b/src/webview-ui/build/assets/chunk-D32k8WzR.js.map new file mode 100644 index 0000000000..bf5f40f5db --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D32k8WzR.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D32k8WzR.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/llvm.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"LLVM IR\\\",\\\"name\\\":\\\"llvm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:void\\\\\\\\b|half\\\\\\\\b|bfloat\\\\\\\\b|float\\\\\\\\b|double\\\\\\\\b|x86_fp80\\\\\\\\b|fp128\\\\\\\\b|ppc_fp128\\\\\\\\b|label\\\\\\\\b|metadata\\\\\\\\b|x86_mmx\\\\\\\\b|x86_amx\\\\\\\\b|type\\\\\\\\b|label\\\\\\\\b|opaque\\\\\\\\b|token\\\\\\\\b|i\\\\\\\\d+\\\\\\\\**)\\\",\\\"name\\\":\\\"storage.type.llvm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.llvm\\\"}},\\\"match\\\":\\\"!([A-Za-z]+)\\\\\\\\s*\\\\\\\\(\\\"},{\\\"match\\\":\\\"(?:(?<=\\\\\\\\s|^)#dbg_(assign|declare|label|value)|\\\\\\\\badd|\\\\\\\\baddrspacecast|\\\\\\\\balloca|\\\\\\\\band|\\\\\\\\barcp|\\\\\\\\bashr|\\\\\\\\batomicrmw|\\\\\\\\bbitcast|\\\\\\\\bbr|\\\\\\\\bcatchpad|\\\\\\\\bcatchswitch|\\\\\\\\bcatchret|\\\\\\\\bcall|\\\\\\\\bcallbr|\\\\\\\\bcleanuppad|\\\\\\\\bcleanupret|\\\\\\\\bcmpxchg|\\\\\\\\beq|\\\\\\\\bexact|\\\\\\\\bextractelement|\\\\\\\\bextractvalue|\\\\\\\\bfadd|\\\\\\\\bfast|\\\\\\\\bfcmp|\\\\\\\\bfdiv|\\\\\\\\bfence|\\\\\\\\bfmul|\\\\\\\\bfpext|\\\\\\\\bfptosi|\\\\\\\\bfptoui|\\\\\\\\bfptrunc|\\\\\\\\bfree|\\\\\\\\bfrem|\\\\\\\\bfreeze|\\\\\\\\bfsub|\\\\\\\\bfneg|\\\\\\\\bgetelementptr|\\\\\\\\bicmp|\\\\\\\\binbounds|\\\\\\\\bindirectbr|\\\\\\\\binsertelement|\\\\\\\\binsertvalue|\\\\\\\\binttoptr|\\\\\\\\binvoke|\\\\\\\\blandingpad|\\\\\\\\bload|\\\\\\\\blshr|\\\\\\\\bmalloc|\\\\\\\\bmax|\\\\\\\\bmin|\\\\\\\\bmul|\\\\\\\\bnand|\\\\\\\\bne|\\\\\\\\bninf|\\\\\\\\bnnan|\\\\\\\\bnsw|\\\\\\\\bnsz|\\\\\\\\bnuw|\\\\\\\\boeq|\\\\\\\\boge|\\\\\\\\bogt|\\\\\\\\bole|\\\\\\\\bolt|\\\\\\\\bone|\\\\\\\\bord??|\\\\\\\\bphi|\\\\\\\\bptrtoint|\\\\\\\\bresume|\\\\\\\\bret|\\\\\\\\bsdiv|\\\\\\\\bselect|\\\\\\\\bsext|\\\\\\\\bsge|\\\\\\\\bsgt|\\\\\\\\bshl|\\\\\\\\bshufflevector|\\\\\\\\bsitofp|\\\\\\\\bsle|\\\\\\\\bslt|\\\\\\\\bsrem|\\\\\\\\bstore|\\\\\\\\bsub|\\\\\\\\bswitch|\\\\\\\\btrunc|\\\\\\\\budiv|\\\\\\\\bueq|\\\\\\\\buge|\\\\\\\\bugt|\\\\\\\\buitofp|\\\\\\\\bule|\\\\\\\\bult|\\\\\\\\bumax|\\\\\\\\bumin|\\\\\\\\bune|\\\\\\\\buno|\\\\\\\\bunreachable|\\\\\\\\bunwind|\\\\\\\\burem|\\\\\\\\bva_arg|\\\\\\\\bxchg|\\\\\\\\bxor|\\\\\\\\bzext)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.instruction.llvm\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:acq_rel|acquire|addrspace|alias|align|alignstack|allocsize|alwaysinline|appending|argmemonly|arm_aapcs_vfpcc|arm_aapcscc|arm_apcscc|asm|atomic|available_externally|blockaddress|builtin|byref|byval|c|caller|catch|ccc??|cleanup|cold|coldcc|comdat|common|constant|convergent|datalayout|declare|default|define|deplibs|dereferenceable|dereferenceable_or_null|distinct|dllexport|dllimport|dso_local|dso_preemptable|except|extern_weak|external|externally_initialized|fastcc|filter|from|gc|global|hhvm_ccc|hhvmcc|hidden|hot|immarg|inaccessiblemem_or_argmemonly|inaccessiblememonly|inalloc|initialexec|inlinehint|inreg|intel_ocl_bicc|inteldialect|internal|jumptable|linkonce|linkonce_odr|local_unnamed_addr|localdynamic|localexec|minsize|module|monotonic|msp430_intrcc|mustprogress|musttail|naked|nest|noalias|nobuiltin|nocallback|nocapture|nocf_check|noduplicate|nofree|noimplicitfloat|noinline|nomerge|nonlazybind|nonnull|noprofile|norecurse|noredzone|noreturn|nosync|noundef|nounwind|nosanitize_bounds|nosanitize_coverage|null_pointer_is_valid|optforfuzzing|optnone|optsize|personality|preallocated|private|protected|ptx_device|ptx_kernel|readnone|readonly|release|returned|returns_twice|safestack|sanitize_address|sanitize_hwaddress|sanitize_memory|sanitize_memtag|sanitize_thread|section|seq_cst|shadowcallstack|sideeffect|signext|source_filename|speculatable|speculative_load_hardening|spir_func|spir_kernel|sret|ssp|sspreq|sspstrong|strictfp|swiftcc|swifterror|swiftself|syncscope|tail|tailcc|target|thread_local|to|triple|unnamed_addr|unordered|uselistorder|uselistorder_bb|uwtable|volatile|weak|weak_odr|willreturn|win64cc|within|writeonly|x86_64_sysvcc|x86_fastcallcc|x86_stdcallcc|x86_thiscallcc|zeroext)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.llvm\\\"},{\\\"match\\\":\\\"@[-$.A-Z_a-z][-$.0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.name.function.llvm\\\"},{\\\"match\\\":\\\"[!%@]\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.llvm\\\"},{\\\"match\\\":\\\"%[-$.A-Z_a-z][-$.0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.llvm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.llvm\\\"}},\\\"match\\\":\\\"(![-$.A-Z_a-z][-$.0-9A-Z_a-z]*)\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.llvm\\\"}},\\\"match\\\":\\\"(![-$.A-Z_a-z][-$.0-9A-Z_a-z]*)\\\\\\\\s*[!=]\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.llvm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.untitled\\\"}]},{\\\"match\\\":\\\"[-$.A-Z_a-z][-$.0-9A-Z_a-z]*:\\\",\\\"name\\\":\\\"entity.name.label.llvm\\\"},{\\\"match\\\":\\\"-?\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d*(e[-+]\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float\\\"},{\\\"match\\\":\\\"\\\\\\\\b0x\\\\\\\\h+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float\\\"},{\\\"match\\\":\\\"-?\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null|zeroinitializer|undef|poison|null|none)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language\\\"},{\\\"match\\\":\\\"\\\\\\\\bD(?:W_TAG_[_a-z]+|W_ATE_[A-Z_a-z]+|W_OP_[0-9A-Z_a-z]+|W_LANG_[0-9A-Z_a-z]+|W_VIRTUALITY_[_a-z]+|IFlag[A-Za-z]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other\\\"},{\\\"match\\\":\\\";\\\\\\\\s*PR\\\\\\\\d*\\\\\\\\s*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";\\\\\\\\s*REQUIRES:.*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";\\\\\\\\s*RUN:.*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";\\\\\\\\s*ALLOW_RETRIES:.*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";\\\\\\\\s*CHECK:.*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";\\\\\\\\s*CHECK-(NEXT|NOT|DAG|SAME|LABEL):.*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";\\\\\\\\s*XFAIL:.*$\\\",\\\"name\\\":\\\"string.regexp\\\"},{\\\"match\\\":\\\";.*$\\\",\\\"name\\\":\\\"comment.line.llvm\\\"}],\\\"scopeName\\\":\\\"source.llvm\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "llvm" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,21JAAqkK,CAAC,EAE7lKC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D3lLCCz7.js b/src/webview-ui/build/assets/chunk-D3lLCCz7.js new file mode 100644 index 0000000000..560a0bf429 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D3lLCCz7.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"HLSL","name":"hlsl","patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.line.block.hlsl"},{"begin":"//","end":"$","name":"comment.line.double-slash.hlsl"},{"match":"\\\\b[0-9]+\\\\.[0-9]*([Ff])?\\\\b","name":"constant.numeric.decimal.hlsl"},{"match":"(\\\\.([0-9]+)([Ff])?)\\\\b","name":"constant.numeric.decimal.hlsl"},{"match":"\\\\b([0-9]+([Ff])?)\\\\b","name":"constant.numeric.decimal.hlsl"},{"match":"\\\\b(0([Xx])\\\\h+)\\\\b","name":"constant.numeric.hex.hlsl"},{"match":"\\\\b(false|true)\\\\b","name":"constant.language.hlsl"},{"match":"^\\\\s*#\\\\s*(define|elif|else|endif|ifdef|ifndef|if|undef|include|line|error|pragma)","name":"keyword.preprocessor.hlsl"},{"match":"\\\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\\\b","name":"keyword.control.hlsl"},{"match":"\\\\b(compile)\\\\b","name":"keyword.control.fx.hlsl"},{"match":"\\\\b(typedef)\\\\b","name":"keyword.typealias.hlsl"},{"match":"\\\\b(bool([1-4](x[1-4])?)?|double([1-4](x[1-4])?)?|dword|float([1-4](x[1-4])?)?|half([1-4](x[1-4])?)?|int([1-4](x[1-4])?)?|matrix|min10float([1-4](x[1-4])?)?|min12int([1-4](x[1-4])?)?|min16float([1-4](x[1-4])?)?|min16int([1-4](x[1-4])?)?|min16uint([1-4](x[1-4])?)?|unsigned|uint([1-4](x[1-4])?)?|vector|void)\\\\b","name":"storage.type.basic.hlsl"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\s*\\\\()","name":"support.function.hlsl"},{"match":"(?<=:\\\\s?)(?i:BINORMAL[0-9]*|BLENDINDICES[0-9]*|BLENDWEIGHT[0-9]*|COLOR[0-9]*|NORMAL[0-9]*|POSITIONT?|PSIZE[0-9]*|TANGENT[0-9]*|TEXCOORD[0-9]*|FOG|TESSFACTOR[0-9]*|VFACE|VPOS|DEPTH[0-9]*)\\\\b","name":"support.variable.semantic.hlsl"},{"match":"(?<=:\\\\s?)(?i:SV_(?:ClipDistance[0-9]*|CullDistance[0-9]*|Coverage|Depth|DepthGreaterEqual[0-9]*|DepthLessEqual[0-9]*|InstanceID|IsFrontFace|Position|RenderTargetArrayIndex|SampleIndex|StencilRef|Target[0-7]?|VertexID|ViewportArrayIndex))\\\\b","name":"support.variable.semantic.sm4.hlsl"},{"match":"(?<=:\\\\s?)(?i:SV_(?:DispatchThreadID|DomainLocation|GroupID|GroupIndex|GroupThreadID|GSInstanceID|InsideTessFactor|OutputControlPointID|TessFactor))\\\\b","name":"support.variable.semantic.sm5.hlsl"},{"match":"(?<=:\\\\s?)(?i:SV_(?:InnerCoverage|StencilRef))\\\\b","name":"support.variable.semantic.sm5_1.hlsl"},{"match":"\\\\b(column_major|const|export|extern|globallycoherent|groupshared|inline|inout|in|out|precise|row_major|shared|static|uniform|volatile)\\\\b","name":"storage.modifier.hlsl"},{"match":"\\\\b([su]norm)\\\\b","name":"storage.modifier.float.hlsl"},{"match":"\\\\b(packoffset|register)\\\\b","name":"storage.modifier.postfix.hlsl"},{"match":"\\\\b(centroid|linear|nointerpolation|noperspective|sample)\\\\b","name":"storage.modifier.interpolation.hlsl"},{"match":"\\\\b(lineadj|line|point|triangle|triangleadj)\\\\b","name":"storage.modifier.geometryshader.hlsl"},{"match":"\\\\b(string)\\\\b","name":"support.type.other.hlsl"},{"match":"\\\\b(AppendStructuredBuffer|Buffer|ByteAddressBuffer|ConstantBuffer|ConsumeStructuredBuffer|InputPatch|OutputPatch)\\\\b","name":"support.type.object.hlsl"},{"match":"\\\\b(RasterizerOrdered(?:Buffer|ByteAddressBuffer|StructuredBuffer|Texture1D|Texture1DArray|Texture2D|Texture2DArray|Texture3D))\\\\b","name":"support.type.object.rasterizerordered.hlsl"},{"match":"\\\\b(RW(?:Buffer|ByteAddressBuffer|StructuredBuffer|Texture1D|Texture1DArray|Texture2D|Texture2DArray|Texture3D))\\\\b","name":"support.type.object.rw.hlsl"},{"match":"\\\\b((?:Line|Point|Triangle)Stream)\\\\b","name":"support.type.object.geometryshader.hlsl"},{"match":"\\\\b(sampler(?:|1D|2D|3D|CUBE|_state))\\\\b","name":"support.type.sampler.legacy.hlsl"},{"match":"\\\\b(Sampler(?:|Comparison)State)\\\\b","name":"support.type.sampler.hlsl"},{"match":"\\\\b(texture(?:2D|CUBE))\\\\b","name":"support.type.texture.legacy.hlsl"},{"match":"\\\\b(Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray))\\\\b","name":"support.type.texture.hlsl"},{"match":"\\\\b(cbuffer|class|interface|namespace|struct|tbuffer)\\\\b","name":"storage.type.structured.hlsl"},{"match":"\\\\b(FALSE|TRUE|NULL)\\\\b","name":"support.constant.property-value.fx.hlsl"},{"match":"\\\\b((?:Blend|DepthStencil|Rasterizer)State)\\\\b","name":"support.type.fx.hlsl"},{"match":"\\\\b(technique|Technique|technique10|technique11|pass)\\\\b","name":"storage.type.fx.technique.hlsl"},{"match":"\\\\b(AlphaToCoverageEnable|BlendEnable|SrcBlend|DestBlend|BlendOp|SrcBlendAlpha|DestBlendAlpha|BlendOpAlpha|RenderTargetWriteMask)\\\\b","name":"meta.object-literal.key.fx.blendstate.hlsl"},{"match":"\\\\b(DepthEnable|DepthWriteMask|DepthFunc|StencilEnable|StencilReadMask|StencilWriteMask|FrontFaceStencilFail|FrontFaceStencilZFail|FrontFaceStencilPass|FrontFaceStencilFunc|BackFaceStencilFail|BackFaceStencilZFail|BackFaceStencilPass|BackFaceStencilFunc)\\\\b","name":"meta.object-literal.key.fx.depthstencilstate.hlsl"},{"match":"\\\\b(FillMode|CullMode|FrontCounterClockwise|DepthBias|DepthBiasClamp|SlopeScaleDepthBias|ZClipEnable|ScissorEnable|MultiSampleEnable|AntiAliasedLineEnable)\\\\b","name":"meta.object-literal.key.fx.rasterizerstate.hlsl"},{"match":"\\\\b(Filter|AddressU|AddressV|AddressW|MipLODBias|MaxAnisotropy|ComparisonFunc|BorderColor|MinLOD|MaxLOD)\\\\b","name":"meta.object-literal.key.fx.samplerstate.hlsl"},{"match":"\\\\b(?i:ZERO|ONE|SRC_COLOR|INV_SRC_COLOR|SRC_ALPHA|INV_SRC_ALPHA|DEST_ALPHA|INV_DEST_ALPHA|DEST_COLOR|INV_DEST_COLOR|SRC_ALPHA_SAT|BLEND_FACTOR|INV_BLEND_FACTOR|SRC1_COLOR|INV_SRC1_COLOR|SRC1_ALPHA|INV_SRC1_ALPHA)\\\\b","name":"support.constant.property-value.fx.blend.hlsl"},{"match":"\\\\b(?i:ADD|SUBTRACT|REV_SUBTRACT|MIN|MAX)\\\\b","name":"support.constant.property-value.fx.blendop.hlsl"},{"match":"\\\\b(?i:ALL)\\\\b","name":"support.constant.property-value.fx.depthwritemask.hlsl"},{"match":"\\\\b(?i:NEVER|LESS|EQUAL|LESS_EQUAL|GREATER|NOT_EQUAL|GREATER_EQUAL|ALWAYS)\\\\b","name":"support.constant.property-value.fx.comparisonfunc.hlsl"},{"match":"\\\\b(?i:KEEP|REPLACE|INCR_SAT|DECR_SAT|INVERT|INCR|DECR)\\\\b","name":"support.constant.property-value.fx.stencilop.hlsl"},{"match":"\\\\b(?i:WIREFRAME|SOLID)\\\\b","name":"support.constant.property-value.fx.fillmode.hlsl"},{"match":"\\\\b(?i:NONE|FRONT|BACK)\\\\b","name":"support.constant.property-value.fx.cullmode.hlsl"},{"match":"\\\\b(?i:MIN_MAG_MIP_POINT|MIN_MAG_POINT_MIP_LINEAR|MIN_POINT_MAG_LINEAR_MIP_POINT|MIN_POINT_MAG_MIP_LINEAR|MIN_LINEAR_MAG_MIP_POINT|MIN_LINEAR_MAG_POINT_MIP_LINEAR|MIN_MAG_LINEAR_MIP_POINT|MIN_MAG_MIP_LINEAR|ANISOTROPIC|COMPARISON_MIN_MAG_MIP_POINT|COMPARISON_MIN_MAG_POINT_MIP_LINEAR|COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT|COMPARISON_MIN_POINT_MAG_MIP_LINEAR|COMPARISON_MIN_LINEAR_MAG_MIP_POINT|COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR|COMPARISON_MIN_MAG_LINEAR_MIP_POINT|COMPARISON_MIN_MAG_MIP_LINEAR|COMPARISON_ANISOTROPIC|TEXT_1BIT)\\\\b","name":"support.constant.property-value.fx.filter.hlsl"},{"match":"\\\\b(?i:WRAP|MIRROR|CLAMP|BORDER|MIRROR_ONCE)\\\\b","name":"support.constant.property-value.fx.textureaddressmode.hlsl"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.hlsl","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.hlsl"}]}],"scopeName":"source.hlsl"}', + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-D3lLCCz7.js.map diff --git a/src/webview-ui/build/assets/chunk-D3lLCCz7.js.map b/src/webview-ui/build/assets/chunk-D3lLCCz7.js.map new file mode 100644 index 0000000000..2fbe7d8eb6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D3lLCCz7.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D3lLCCz7.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/hlsl.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HLSL\\\",\\\"name\\\":\\\"hlsl\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.line.block.hlsl\\\"},{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.[0-9]*([Ff])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.hlsl\\\"},{\\\"match\\\":\\\"(\\\\\\\\.([0-9]+)([Ff])?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([0-9]+([Ff])?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(0([Xx])\\\\\\\\h+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(false|true)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.hlsl\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(define|elif|else|endif|ifdef|ifndef|if|undef|include|line|error|pragma)\\\",\\\"name\\\":\\\"keyword.preprocessor.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(compile)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.fx.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(typedef)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.typealias.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(bool([1-4](x[1-4])?)?|double([1-4](x[1-4])?)?|dword|float([1-4](x[1-4])?)?|half([1-4](x[1-4])?)?|int([1-4](x[1-4])?)?|matrix|min10float([1-4](x[1-4])?)?|min12int([1-4](x[1-4])?)?|min16float([1-4](x[1-4])?)?|min16int([1-4](x[1-4])?)?|min16uint([1-4](x[1-4])?)?|unsigned|uint([1-4](x[1-4])?)?|vector|void)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.basic.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.hlsl\\\"},{\\\"match\\\":\\\"(?<=:\\\\\\\\s?)(?i:BINORMAL[0-9]*|BLENDINDICES[0-9]*|BLENDWEIGHT[0-9]*|COLOR[0-9]*|NORMAL[0-9]*|POSITIONT?|PSIZE[0-9]*|TANGENT[0-9]*|TEXCOORD[0-9]*|FOG|TESSFACTOR[0-9]*|VFACE|VPOS|DEPTH[0-9]*)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.semantic.hlsl\\\"},{\\\"match\\\":\\\"(?<=:\\\\\\\\s?)(?i:SV_(?:ClipDistance[0-9]*|CullDistance[0-9]*|Coverage|Depth|DepthGreaterEqual[0-9]*|DepthLessEqual[0-9]*|InstanceID|IsFrontFace|Position|RenderTargetArrayIndex|SampleIndex|StencilRef|Target[0-7]?|VertexID|ViewportArrayIndex))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.semantic.sm4.hlsl\\\"},{\\\"match\\\":\\\"(?<=:\\\\\\\\s?)(?i:SV_(?:DispatchThreadID|DomainLocation|GroupID|GroupIndex|GroupThreadID|GSInstanceID|InsideTessFactor|OutputControlPointID|TessFactor))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.semantic.sm5.hlsl\\\"},{\\\"match\\\":\\\"(?<=:\\\\\\\\s?)(?i:SV_(?:InnerCoverage|StencilRef))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.semantic.sm5_1.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(column_major|const|export|extern|globallycoherent|groupshared|inline|inout|in|out|precise|row_major|shared|static|uniform|volatile)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([su]norm)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.float.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(packoffset|register)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.postfix.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(centroid|linear|nointerpolation|noperspective|sample)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.interpolation.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(lineadj|line|point|triangle|triangleadj)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.geometryshader.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(string)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.other.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(AppendStructuredBuffer|Buffer|ByteAddressBuffer|ConstantBuffer|ConsumeStructuredBuffer|InputPatch|OutputPatch)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.object.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(RasterizerOrdered(?:Buffer|ByteAddressBuffer|StructuredBuffer|Texture1D|Texture1DArray|Texture2D|Texture2DArray|Texture3D))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.object.rasterizerordered.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(RW(?:Buffer|ByteAddressBuffer|StructuredBuffer|Texture1D|Texture1DArray|Texture2D|Texture2DArray|Texture3D))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.object.rw.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:Line|Point|Triangle)Stream)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.object.geometryshader.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(sampler(?:|1D|2D|3D|CUBE|_state))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.sampler.legacy.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Sampler(?:|Comparison)State)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.sampler.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(texture(?:2D|CUBE))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.texture.legacy.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.texture.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(cbuffer|class|interface|namespace|struct|tbuffer)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.structured.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(FALSE|TRUE|NULL)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:Blend|DepthStencil|Rasterizer)State)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.fx.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(technique|Technique|technique10|technique11|pass)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.fx.technique.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(AlphaToCoverageEnable|BlendEnable|SrcBlend|DestBlend|BlendOp|SrcBlendAlpha|DestBlendAlpha|BlendOpAlpha|RenderTargetWriteMask)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.object-literal.key.fx.blendstate.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(DepthEnable|DepthWriteMask|DepthFunc|StencilEnable|StencilReadMask|StencilWriteMask|FrontFaceStencilFail|FrontFaceStencilZFail|FrontFaceStencilPass|FrontFaceStencilFunc|BackFaceStencilFail|BackFaceStencilZFail|BackFaceStencilPass|BackFaceStencilFunc)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.object-literal.key.fx.depthstencilstate.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(FillMode|CullMode|FrontCounterClockwise|DepthBias|DepthBiasClamp|SlopeScaleDepthBias|ZClipEnable|ScissorEnable|MultiSampleEnable|AntiAliasedLineEnable)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.object-literal.key.fx.rasterizerstate.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Filter|AddressU|AddressV|AddressW|MipLODBias|MaxAnisotropy|ComparisonFunc|BorderColor|MinLOD|MaxLOD)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.object-literal.key.fx.samplerstate.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ZERO|ONE|SRC_COLOR|INV_SRC_COLOR|SRC_ALPHA|INV_SRC_ALPHA|DEST_ALPHA|INV_DEST_ALPHA|DEST_COLOR|INV_DEST_COLOR|SRC_ALPHA_SAT|BLEND_FACTOR|INV_BLEND_FACTOR|SRC1_COLOR|INV_SRC1_COLOR|SRC1_ALPHA|INV_SRC1_ALPHA)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.blend.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ADD|SUBTRACT|REV_SUBTRACT|MIN|MAX)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.blendop.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:ALL)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.depthwritemask.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:NEVER|LESS|EQUAL|LESS_EQUAL|GREATER|NOT_EQUAL|GREATER_EQUAL|ALWAYS)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.comparisonfunc.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:KEEP|REPLACE|INCR_SAT|DECR_SAT|INVERT|INCR|DECR)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.stencilop.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:WIREFRAME|SOLID)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.fillmode.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:NONE|FRONT|BACK)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.cullmode.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:MIN_MAG_MIP_POINT|MIN_MAG_POINT_MIP_LINEAR|MIN_POINT_MAG_LINEAR_MIP_POINT|MIN_POINT_MAG_MIP_LINEAR|MIN_LINEAR_MAG_MIP_POINT|MIN_LINEAR_MAG_POINT_MIP_LINEAR|MIN_MAG_LINEAR_MIP_POINT|MIN_MAG_MIP_LINEAR|ANISOTROPIC|COMPARISON_MIN_MAG_MIP_POINT|COMPARISON_MIN_MAG_POINT_MIP_LINEAR|COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT|COMPARISON_MIN_POINT_MAG_MIP_LINEAR|COMPARISON_MIN_LINEAR_MAG_MIP_POINT|COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR|COMPARISON_MIN_MAG_LINEAR_MIP_POINT|COMPARISON_MIN_MAG_MIP_LINEAR|COMPARISON_ANISOTROPIC|TEXT_1BIT)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.filter.hlsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i:WRAP|MIRROR|CLAMP|BORDER|MIRROR_ONCE)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.fx.textureaddressmode.hlsl\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.hlsl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.hlsl\\\"}]}],\\\"scopeName\\\":\\\"source.hlsl\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "hlsl" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,giOAA88O,CAAC,EAEt+OC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D4h5O-jR.js b/src/webview-ui/build/assets/chunk-D4h5O-jR.js new file mode 100644 index 0000000000..4439da88cf --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D4h5O-jR.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#272822","activityBar.foreground":"#f8f8f2","badge.background":"#75715E","badge.foreground":"#f8f8f2","button.background":"#75715E","debugToolBar.background":"#1e1f1c","diffEditor.insertedTextBackground":"#4b661680","diffEditor.removedTextBackground":"#90274A70","dropdown.background":"#414339","dropdown.listBackground":"#1e1f1c","editor.background":"#272822","editor.foreground":"#f8f8f2","editor.lineHighlightBackground":"#3e3d32","editor.selectionBackground":"#878b9180","editor.selectionHighlightBackground":"#575b6180","editor.wordHighlightBackground":"#4a4a7680","editor.wordHighlightStrongBackground":"#6a6a9680","editorCursor.foreground":"#f8f8f0","editorGroup.border":"#34352f","editorGroup.dropBackground":"#41433980","editorGroupHeader.tabsBackground":"#1e1f1c","editorHoverWidget.background":"#414339","editorHoverWidget.border":"#75715E","editorIndentGuide.activeBackground":"#767771","editorIndentGuide.background":"#464741","editorLineNumber.activeForeground":"#c2c2bf","editorLineNumber.foreground":"#90908a","editorSuggestWidget.background":"#272822","editorSuggestWidget.border":"#75715E","editorWhitespace.foreground":"#464741","editorWidget.background":"#1e1f1c","focusBorder":"#99947c","input.background":"#414339","inputOption.activeBorder":"#75715E","inputValidation.errorBackground":"#90274A","inputValidation.errorBorder":"#f92672","inputValidation.infoBackground":"#546190","inputValidation.infoBorder":"#819aff","inputValidation.warningBackground":"#848528","inputValidation.warningBorder":"#e2e22e","list.activeSelectionBackground":"#75715E","list.dropBackground":"#414339","list.highlightForeground":"#f8f8f2","list.hoverBackground":"#3e3d32","list.inactiveSelectionBackground":"#414339","menu.background":"#1e1f1c","menu.foreground":"#cccccc","minimap.selectionHighlight":"#878b9180","panel.border":"#414339","panelTitle.activeBorder":"#75715E","panelTitle.activeForeground":"#f8f8f2","panelTitle.inactiveForeground":"#75715E","peekView.border":"#75715E","peekViewEditor.background":"#272822","peekViewEditor.matchHighlightBackground":"#75715E","peekViewResult.background":"#1e1f1c","peekViewResult.matchHighlightBackground":"#75715E","peekViewResult.selectionBackground":"#414339","peekViewTitle.background":"#1e1f1c","pickerGroup.foreground":"#75715E","ports.iconRunningProcessForeground":"#ccccc7","progressBar.background":"#75715E","quickInputList.focusBackground":"#414339","selection.background":"#878b9180","settings.focusedRowBackground":"#4143395A","sideBar.background":"#1e1f1c","sideBarSectionHeader.background":"#272822","statusBar.background":"#414339","statusBar.debuggingBackground":"#75715E","statusBar.noFolderBackground":"#414339","statusBarItem.remoteBackground":"#AC6218","tab.border":"#1e1f1c","tab.inactiveBackground":"#34352f","tab.inactiveForeground":"#ccccc7","tab.lastPinnedBorder":"#414339","terminal.ansiBlack":"#333333","terminal.ansiBlue":"#6A7EC8","terminal.ansiBrightBlack":"#666666","terminal.ansiBrightBlue":"#819aff","terminal.ansiBrightCyan":"#66D9EF","terminal.ansiBrightGreen":"#A6E22E","terminal.ansiBrightMagenta":"#AE81FF","terminal.ansiBrightRed":"#f92672","terminal.ansiBrightWhite":"#f8f8f2","terminal.ansiBrightYellow":"#e2e22e","terminal.ansiCyan":"#56ADBC","terminal.ansiGreen":"#86B42B","terminal.ansiMagenta":"#8C6BC8","terminal.ansiRed":"#C4265E","terminal.ansiWhite":"#e3e3dd","terminal.ansiYellow":"#B3B42B","titleBar.activeBackground":"#1e1f1c","widget.shadow":"#00000098"},"displayName":"Monokai","name":"monokai","semanticHighlighting":true,"tokenColors":[{"settings":{"foreground":"#F8F8F2"}},{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown","variable.legacy.builtin.python"],"settings":{"foreground":"#F8F8F2"}},{"scope":"comment","settings":{"foreground":"#88846f"}},{"scope":"string","settings":{"foreground":"#E6DB74"}},{"scope":["punctuation.definition.template-expression","punctuation.section.embedded"],"settings":{"foreground":"#F92672"}},{"scope":["meta.template.expression"],"settings":{"foreground":"#F8F8F2"}},{"scope":"constant.numeric","settings":{"foreground":"#AE81FF"}},{"scope":"constant.language","settings":{"foreground":"#AE81FF"}},{"scope":"constant.character, constant.other","settings":{"foreground":"#AE81FF"}},{"scope":"variable","settings":{"fontStyle":"","foreground":"#F8F8F2"}},{"scope":"keyword","settings":{"foreground":"#F92672"}},{"scope":"storage","settings":{"fontStyle":"","foreground":"#F92672"}},{"scope":"storage.type","settings":{"fontStyle":"italic","foreground":"#66D9EF"}},{"scope":"entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution","settings":{"fontStyle":"underline","foreground":"#A6E22E"}},{"scope":["entity.other.inherited-class","punctuation.separator.namespace.ruby"],"settings":{"fontStyle":"italic underline","foreground":"#A6E22E"}},{"scope":"entity.name.function","settings":{"fontStyle":"","foreground":"#A6E22E"}},{"scope":"variable.parameter","settings":{"fontStyle":"italic","foreground":"#FD971F"}},{"scope":"entity.name.tag","settings":{"fontStyle":"","foreground":"#F92672"}},{"scope":"entity.other.attribute-name","settings":{"fontStyle":"","foreground":"#A6E22E"}},{"scope":"support.function","settings":{"fontStyle":"","foreground":"#66D9EF"}},{"scope":"support.constant","settings":{"fontStyle":"","foreground":"#66D9EF"}},{"scope":"support.type, support.class","settings":{"fontStyle":"italic","foreground":"#66D9EF"}},{"scope":"support.other.variable","settings":{"fontStyle":""}},{"scope":"invalid","settings":{"fontStyle":"","foreground":"#F44747"}},{"scope":"invalid.deprecated","settings":{"foreground":"#F44747"}},{"scope":"meta.structure.dictionary.json string.quoted.double.json","settings":{"foreground":"#CFCFC2"}},{"scope":"meta.diff, meta.diff.header","settings":{"foreground":"#75715E"}},{"scope":"markup.deleted","settings":{"foreground":"#F92672"}},{"scope":"markup.inserted","settings":{"foreground":"#A6E22E"}},{"scope":"markup.changed","settings":{"foreground":"#E6DB74"}},{"scope":"constant.numeric.line-number.find-in-files - match","settings":{"foreground":"#AE81FFA0"}},{"scope":"entity.name.filename.find-in-files","settings":{"foreground":"#E6DB74"}},{"scope":"markup.quote","settings":{"foreground":"#F92672"}},{"scope":"markup.list","settings":{"foreground":"#E6DB74"}},{"scope":"markup.bold, markup.italic","settings":{"foreground":"#66D9EF"}},{"scope":"markup.inline.raw","settings":{"fontStyle":"","foreground":"#FD971F"}},{"scope":"markup.heading","settings":{"foreground":"#A6E22E"}},{"scope":"markup.heading.setext","settings":{"fontStyle":"bold","foreground":"#A6E22E"}},{"scope":"markup.heading.markdown","settings":{"fontStyle":"bold"}},{"scope":"markup.quote.markdown","settings":{"fontStyle":"italic","foreground":"#75715E"}},{"scope":"markup.bold.markdown","settings":{"fontStyle":"bold"}},{"scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#AE81FF"}},{"scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#E6DB74"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"scope":"markup.list.unnumbered.markdown, markup.list.numbered.markdown","settings":{"foreground":"#f8f8f2"}},{"scope":["punctuation.definition.list.begin.markdown"],"settings":{"foreground":"#A6E22E"}},{"scope":"token.info-token","settings":{"foreground":"#6796e6"}},{"scope":"token.warn-token","settings":{"foreground":"#cd9731"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#b267e6"}},{"scope":"variable.language","settings":{"foreground":"#FD971F"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-D4h5O-jR.js.map diff --git a/src/webview-ui/build/assets/chunk-D4h5O-jR.js.map b/src/webview-ui/build/assets/chunk-D4h5O-jR.js.map new file mode 100644 index 0000000000..aa4bccf13b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D4h5O-jR.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-D4h5O-jR.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/monokai.mjs" + ], + "sourcesContent": [ + "/* Theme: monokai */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#272822\\\",\\\"activityBar.foreground\\\":\\\"#f8f8f2\\\",\\\"badge.background\\\":\\\"#75715E\\\",\\\"badge.foreground\\\":\\\"#f8f8f2\\\",\\\"button.background\\\":\\\"#75715E\\\",\\\"debugToolBar.background\\\":\\\"#1e1f1c\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4b661680\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#90274A70\\\",\\\"dropdown.background\\\":\\\"#414339\\\",\\\"dropdown.listBackground\\\":\\\"#1e1f1c\\\",\\\"editor.background\\\":\\\"#272822\\\",\\\"editor.foreground\\\":\\\"#f8f8f2\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3e3d32\\\",\\\"editor.selectionBackground\\\":\\\"#878b9180\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#575b6180\\\",\\\"editor.wordHighlightBackground\\\":\\\"#4a4a7680\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6a6a9680\\\",\\\"editorCursor.foreground\\\":\\\"#f8f8f0\\\",\\\"editorGroup.border\\\":\\\"#34352f\\\",\\\"editorGroup.dropBackground\\\":\\\"#41433980\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1e1f1c\\\",\\\"editorHoverWidget.background\\\":\\\"#414339\\\",\\\"editorHoverWidget.border\\\":\\\"#75715E\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#767771\\\",\\\"editorIndentGuide.background\\\":\\\"#464741\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#c2c2bf\\\",\\\"editorLineNumber.foreground\\\":\\\"#90908a\\\",\\\"editorSuggestWidget.background\\\":\\\"#272822\\\",\\\"editorSuggestWidget.border\\\":\\\"#75715E\\\",\\\"editorWhitespace.foreground\\\":\\\"#464741\\\",\\\"editorWidget.background\\\":\\\"#1e1f1c\\\",\\\"focusBorder\\\":\\\"#99947c\\\",\\\"input.background\\\":\\\"#414339\\\",\\\"inputOption.activeBorder\\\":\\\"#75715E\\\",\\\"inputValidation.errorBackground\\\":\\\"#90274A\\\",\\\"inputValidation.errorBorder\\\":\\\"#f92672\\\",\\\"inputValidation.infoBackground\\\":\\\"#546190\\\",\\\"inputValidation.infoBorder\\\":\\\"#819aff\\\",\\\"inputValidation.warningBackground\\\":\\\"#848528\\\",\\\"inputValidation.warningBorder\\\":\\\"#e2e22e\\\",\\\"list.activeSelectionBackground\\\":\\\"#75715E\\\",\\\"list.dropBackground\\\":\\\"#414339\\\",\\\"list.highlightForeground\\\":\\\"#f8f8f2\\\",\\\"list.hoverBackground\\\":\\\"#3e3d32\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#414339\\\",\\\"menu.background\\\":\\\"#1e1f1c\\\",\\\"menu.foreground\\\":\\\"#cccccc\\\",\\\"minimap.selectionHighlight\\\":\\\"#878b9180\\\",\\\"panel.border\\\":\\\"#414339\\\",\\\"panelTitle.activeBorder\\\":\\\"#75715E\\\",\\\"panelTitle.activeForeground\\\":\\\"#f8f8f2\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#75715E\\\",\\\"peekView.border\\\":\\\"#75715E\\\",\\\"peekViewEditor.background\\\":\\\"#272822\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#75715E\\\",\\\"peekViewResult.background\\\":\\\"#1e1f1c\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#75715E\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#414339\\\",\\\"peekViewTitle.background\\\":\\\"#1e1f1c\\\",\\\"pickerGroup.foreground\\\":\\\"#75715E\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#ccccc7\\\",\\\"progressBar.background\\\":\\\"#75715E\\\",\\\"quickInputList.focusBackground\\\":\\\"#414339\\\",\\\"selection.background\\\":\\\"#878b9180\\\",\\\"settings.focusedRowBackground\\\":\\\"#4143395A\\\",\\\"sideBar.background\\\":\\\"#1e1f1c\\\",\\\"sideBarSectionHeader.background\\\":\\\"#272822\\\",\\\"statusBar.background\\\":\\\"#414339\\\",\\\"statusBar.debuggingBackground\\\":\\\"#75715E\\\",\\\"statusBar.noFolderBackground\\\":\\\"#414339\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#AC6218\\\",\\\"tab.border\\\":\\\"#1e1f1c\\\",\\\"tab.inactiveBackground\\\":\\\"#34352f\\\",\\\"tab.inactiveForeground\\\":\\\"#ccccc7\\\",\\\"tab.lastPinnedBorder\\\":\\\"#414339\\\",\\\"terminal.ansiBlack\\\":\\\"#333333\\\",\\\"terminal.ansiBlue\\\":\\\"#6A7EC8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#666666\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#819aff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#66D9EF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#A6E22E\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#AE81FF\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f92672\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#f8f8f2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e2e22e\\\",\\\"terminal.ansiCyan\\\":\\\"#56ADBC\\\",\\\"terminal.ansiGreen\\\":\\\"#86B42B\\\",\\\"terminal.ansiMagenta\\\":\\\"#8C6BC8\\\",\\\"terminal.ansiRed\\\":\\\"#C4265E\\\",\\\"terminal.ansiWhite\\\":\\\"#e3e3dd\\\",\\\"terminal.ansiYellow\\\":\\\"#B3B42B\\\",\\\"titleBar.activeBackground\\\":\\\"#1e1f1c\\\",\\\"widget.shadow\\\":\\\"#00000098\\\"},\\\"displayName\\\":\\\"Monokai\\\",\\\"name\\\":\\\"monokai\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88846f\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"constant.character, constant.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FD971F\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"support.type, support.class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F44747\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F44747\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.json string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CFCFC2\\\"}},{\\\"scope\\\":\\\"meta.diff, meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#75715E\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"constant.numeric.line-number.find-in-files - match\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FFA0\\\"}},{\\\"scope\\\":\\\"entity.name.filename.find-in-files\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"markup.bold, markup.italic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#FD971F\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"markup.heading.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#75715E\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown,string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"markup.underline.link.markdown,markup.underline.link.image.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.list.unnumbered.markdown, markup.list.numbered.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f8f8f2\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6796e6\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd9731\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b267e6\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FD971F\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "monokai" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,kpPAAsmR,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D5-asLiD.js b/src/webview-ui/build/assets/chunk-D5-asLiD.js new file mode 100644 index 0000000000..d33750d910 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D5-asLiD.js @@ -0,0 +1,8 @@ +const n = Object.freeze( + JSON.parse( + `{"displayName":"Hjson","fileTypes":["hjson"],"foldingStartMarker":"^\\\\s*[\\\\[{](?!.*[]}],?\\\\s*$)|[\\\\[{]\\\\s*$","foldingStopMarker":"^\\\\s*[]}]","name":"hjson","patterns":[{"include":"#comments"},{"include":"#value"},{"match":"\\\\S","name":"invalid.illegal.excess-characters.hjson"}],"repository":{"array":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.hjson"}},"end":"(])(?:\\\\s*([^,\\\\s]+))?","endCaptures":{"1":{"name":"punctuation.definition.array.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"meta.structure.array.hjson","patterns":[{"include":"#arrayContent"}]},"arrayArray":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.hjson"}},"end":"(])(?:\\\\s*([^],\\\\s]+))?","endCaptures":{"1":{"name":"punctuation.definition.array.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"meta.structure.array.hjson","patterns":[{"include":"#arrayContent"}]},"arrayConstant":{"captures":{"1":{"name":"constant.language.hjson"},"2":{"name":"punctuation.separator.array.after-const.hjson"}},"match":"\\\\b(true|false|null)(?:[\\\\t ]*(?=,)|[\\\\t ]*(?:(,)[\\\\t ]*)?(?=$|#|/\\\\*|//|]))"},"arrayContent":{"name":"meta.structure.array.hjson","patterns":[{"include":"#comments"},{"include":"#arrayValue"},{"begin":"(?<=\\\\[)|,","beginCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.hjson"}},"end":"(?=[^#,/\\\\s])|(?=/[^*/])","patterns":[{"include":"#comments"},{"match":",","name":"invalid.illegal.extra-comma.hjson"}]},{"match":",","name":"punctuation.separator.array.hjson"},{"match":"[^]\\\\s]","name":"invalid.illegal.expected-array-separator.hjson"}]},"arrayJstring":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hjson"}},"end":"(\\")(?:\\\\s*((?:[^]#,/\\\\s]|/[^*/])+))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"string.quoted.double.hjson","patterns":[{"include":"#jstringDoubleContent"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hjson"}},"end":"(')(?:\\\\s*((?:[^]#,/\\\\s]|/[^*/])+))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"string.quoted.single.hjson","patterns":[{"include":"#jstringSingleContent"}]}]},"arrayMstring":{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hjson"}},"end":"(''')(?:\\\\s*((?:[^]#,/\\\\s]|/[^*/])+))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"string.quoted.multiline.hjson"},"arrayNumber":{"captures":{"1":{"name":"constant.numeric.hjson"},"2":{"name":"punctuation.separator.array.after-num.hjson"}},"match":"(-?(?:0|[1-9]\\\\d*)(?:\\\\.\\\\d+)?(?:[Ee][-+]?\\\\d+)?)(?:[\\\\t ]*(?=,)|[\\\\t ]*(?:(,)[\\\\t ]*)?(?=$|#|/\\\\*|//|]))"},"arrayObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.hjson"}},"end":"(}|(?<=}))(?:\\\\s*([^],\\\\s]+))?","endCaptures":{"1":{"name":"punctuation.definition.dictionary.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"meta.structure.dictionary.hjson","patterns":[{"include":"#objectContent"}]},"arrayString":{"patterns":[{"include":"#arrayMstring"},{"include":"#arrayJstring"},{"include":"#ustring"}]},"arrayValue":{"patterns":[{"include":"#arrayNumber"},{"include":"#arrayConstant"},{"include":"#arrayString"},{"include":"#arrayObject"},{"include":"#arrayArray"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.hjson"}},"match":"^\\\\s*(#).*\\\\n?","name":"comment.line.hash"},{"captures":{"1":{"name":"punctuation.definition.comment.hjson"}},"match":"^\\\\s*(//).*\\\\n?","name":"comment.line.double-slash"},{"begin":"^\\\\s*/\\\\*","beginCaptures":{"1":{"name":"punctuation.definition.comment.hjson"}},"end":"\\\\*/(?:\\\\s*\\\\n)?","endCaptures":{"1":{"name":"punctuation.definition.comment.hjson"}},"name":"comment.block.double-slash"},{"captures":{"1":{"name":"punctuation.definition.comment.hjson"}},"match":"(#)[^\\\\n]*","name":"comment.line.hash"},{"captures":{"1":{"name":"punctuation.definition.comment.hjson"}},"match":"(//)[^\\\\n]*","name":"comment.line.double-slash"},{"begin":"/\\\\*","beginCaptures":{"1":{"name":"punctuation.definition.comment.hjson"}},"end":"\\\\*/","endCaptures":{"1":{"name":"punctuation.definition.comment.hjson"}},"name":"comment.block.double-slash"}]},"commentsNewline":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.hjson"}},"match":"(#).*\\\\n","name":"comment.line.hash"},{"captures":{"1":{"name":"punctuation.definition.comment.hjson"}},"match":"(//).*\\\\n","name":"comment.line.double-slash"},{"begin":"/\\\\*","beginCaptures":{"1":{"name":"punctuation.definition.comment.hjson"}},"end":"\\\\*/(\\\\s*\\\\n)?","endCaptures":{"1":{"name":"punctuation.definition.comment.hjson"}},"name":"comment.block.double-slash"}]},"constant":{"captures":{"1":{"name":"constant.language.hjson"}},"match":"\\\\b(true|false|null)[\\\\t ]*(?=$|#|/\\\\*|//|])"},"jstring":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hjson"}},"end":"(\\")(?:\\\\s*((?:[^#/\\\\s]|/[^*/]).*)$)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"string.quoted.double.hjson","patterns":[{"include":"#jstringDoubleContent"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hjson"}},"end":"(')(?:\\\\s*((?:[^#/\\\\s]|/[^*/]).*)$)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.hjson"},"2":{"name":"invalid.illegal.value.hjson"}},"name":"string.quoted.single.hjson","patterns":[{"include":"#jstringSingleContent"}]}]},"jstringDoubleContent":{"patterns":[{"match":"\\\\\\\\(?:[\\"'/\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.hjson"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.hjson"},{"match":"[^\\"]*[^\\\\n\\\\r\\"\\\\\\\\]$","name":"invalid.illegal.string.hjson"}]},"jstringSingleContent":{"patterns":[{"match":"\\\\\\\\(?:[\\"'/\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.hjson"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.hjson"},{"match":"[^']*[^\\\\n\\\\r'\\\\\\\\]$","name":"invalid.illegal.string.hjson"}]},"key":{"begin":"([^]\\"',:\\\\[{}\\\\s][^],:\\\\[{}\\\\s]*|'(?:[^'\\\\\\\\]|(\\\\\\\\(?:[\\"'/\\\\\\\\bfnrt]|u\\\\h{4}))|(\\\\\\\\.))*'|\\"(?:[^\\"\\\\\\\\]|(\\\\\\\\(?:[\\"'/\\\\\\\\bfnrt]|u\\\\h{4}))|(\\\\\\\\.))*\\")\\\\s*(?!\\\\n)([],\\\\[{}]*)","beginCaptures":{"0":{"name":"meta.structure.key-value.begin.hjson"},"1":{"name":"support.type.property-name.hjson"},"2":{"name":"constant.character.escape.hjson"},"3":{"name":"invalid.illegal.unrecognized-string-escape.hjson"},"4":{"name":"constant.character.escape.hjson"},"5":{"name":"invalid.illegal.unrecognized-string-escape.hjson"},"6":{"name":"invalid.illegal.separator.hjson"},"7":{"name":"invalid.illegal.property-name.hjson"}},"end":"(?@\\\\\\\\^{|~\\\\s]|(?=')|(?=\\"))|(\\\\.\\\\^|\\\\.\\\\*|\\\\./|\\\\.\\\\\\\\|\\\\.'|\\\\.\\\\(|&&|==|\\\\|\\\\||&(?=[^\\\\&])|\\\\|(?=[^|])|~=|<=|>=|~(?!=)|<(?!=)|>(?!=)|[-*+/:@\\\\\\\\^])(\\\\S|\\\\s*(?=%)|\\\\s+$|\\\\s+([]\\\\&)*,/:->@\\\\\\\\^|}]|(\\\\.(?:[^.\\\\d]|\\\\.[^.]))))|(\\\\.[^'(*/A-Z\\\\\\\\^a-z\\\\s]))([^%]|'[^']*'|\\"[^\\"]*\\")*|(\\\\.(?=\\\\s)|\\\\.[A-Za-z]|(?=\\\\{))([^\\"%'(=]|==|'[^']*'|\\"[^\\"]*\\"|\\\\(|\\\\([^%)]*\\\\)|\\\\[|\\\\[[^]%]*]|\\\\{|\\\\{[^%}]*})*(\\\\.\\\\.\\\\.[^%]*)?((?=%)|$)))(%.*)?$"},"comment_block":{"begin":"^(\\\\s*)%\\\\{[^\\\\n\\\\S]*+\\\\n","beginCaptures":{"1":{"name":"punctuation.definition.comment.matlab"}},"end":"^\\\\s*%}[^\\\\n\\\\S]*+(?:\\\\n|$)","name":"comment.block.percentage.matlab","patterns":[{"include":"#comment_block"},{"match":"^[^\\\\n]*\\\\n"}]},"comments":{"patterns":[{"begin":"(^[\\\\t ]+)?(?=%%\\\\s)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}},"end":"(?!\\\\G)","patterns":[{"begin":"%%","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}},"end":"\\\\n","name":"comment.line.double-percentage.matlab","patterns":[{"begin":"\\\\G[^\\\\n\\\\S]*(?![\\\\n\\\\s])","contentName":"meta.cell.matlab","end":"(?=\\\\n)"}]}]},{"include":"#comment_block"},{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.matlab"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.matlab"}},"end":"\\\\n","name":"comment.line.percentage.matlab"}]}]},"conjugate_transpose":{"match":"((?<=\\\\S)|(?<=])|(?<=\\\\))|(?<=}))'","name":"keyword.operator.transpose.matlab"},"constants":{"match":"(?=??|<=??|&&??|[:|]|\\\\|\\\\||[-*+]|\\\\.\\\\*|/|\\\\./|\\\\\\\\|\\\\.\\\\\\\\|\\\\^|\\\\.\\\\^)(?=\\\\s)","name":"keyword.operator.symbols.matlab"},"parens":{"begin":"\\\\(","end":"(\\\\)|(?\\\\[\\\\\\\\^{|~\\\\s]))|^)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"end":"'(?=([\\\\&(-/:->\\\\[-^{-~\\\\s]))","endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}},"name":"string.quoted.single.matlab","patterns":[{"match":"''","name":"constant.character.escape.matlab"},{"match":"'(?=.)","name":"invalid.illegal.unescaped-quote.matlab"},{"match":"((%([-+0]?\\\\d{0,3}(\\\\.\\\\d{1,3})?)([EGc-gs]|(([bt])?([Xoux]))))|%%|\\\\\\\\([\\\\\\\\bfnrt]))","name":"constant.character.escape.matlab"}]},{"begin":"((?<=([\\\\&(*-/:->\\\\[\\\\\\\\^{|~\\\\s]))|^)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.matlab"}},"end":"\\"(?=([\\\\&(-/:->\\\\[-^{-~\\\\s]))","endCaptures":{"0":{"name":"punctuation.definition.string.end.matlab"}},"name":"string.quoted.double.matlab","patterns":[{"match":"\\"\\"","name":"constant.character.escape.matlab"},{"match":"\\"(?=.)","name":"invalid.illegal.unescaped-quote.matlab"}]}]},"transpose":{"match":"\\\\.'","name":"keyword.operator.transpose.matlab"},"validator_strings":{"patterns":[{"patterns":[{"begin":"((?<=([\\\\&(*-/:->\\\\[\\\\\\\\^{|~\\\\s]))|^)'","end":"'(?=([\\\\&(-/:->\\\\[-^{-~\\\\s]))","name":"storage.type.matlab","patterns":[{"match":"''"},{"match":"'(?=.)"},{"match":"([^']+)"}]},{"begin":"((?<=([\\\\&(*-/:->\\\\[\\\\\\\\^{|~\\\\s]))|^)\\"","end":"\\"(?=([\\\\&(-/:->\\\\[-^{-~\\\\s]))","name":"storage.type.matlab","patterns":[{"match":"\\"\\""},{"match":"\\"(?=.)"},{"match":"[^\\"]+"}]}]}]},"validators":{"begin":"\\\\s*;?\\\\s*([A-Za-z][.0-9?A-Z_a-z]*)","end":"([\\\\n%;=].*)","endCaptures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"$self"}]}},"match":"(%.*)"},{"captures":{"1":{"patterns":[{"include":"$self"}]}},"match":"(=[^;]*)"},{"captures":{"1":{"patterns":[{"include":"#validators"}]}},"match":"([\\\\n;]\\\\s*[A-Za-z].*)"},{"include":"$self"}]}},"patterns":[{"include":"#line_continuation"},{"match":"\\\\s*(\\\\([^)]*\\\\))","name":"storage.type.matlab"},{"match":"([A-Za-z][.0-9A-Z_a-z]*)","name":"storage.type.matlab"},{"include":"#braced_validator_list"}]},"variables":{"match":"(?@\\\\\\\\\\\\\\\\^{|~\\\\\\\\s]|(?=')|(?=\\\\\\\"))|(\\\\\\\\.\\\\\\\\^|\\\\\\\\.\\\\\\\\*|\\\\\\\\./|\\\\\\\\.\\\\\\\\\\\\\\\\|\\\\\\\\.'|\\\\\\\\.\\\\\\\\(|&&|==|\\\\\\\\|\\\\\\\\||&(?=[^\\\\\\\\&])|\\\\\\\\|(?=[^|])|~=|<=|>=|~(?!=)|<(?!=)|>(?!=)|[-*+/:@\\\\\\\\\\\\\\\\^])(\\\\\\\\S|\\\\\\\\s*(?=%)|\\\\\\\\s+$|\\\\\\\\s+([]\\\\\\\\&)*,/:->@\\\\\\\\\\\\\\\\^|}]|(\\\\\\\\.(?:[^.\\\\\\\\d]|\\\\\\\\.[^.]))))|(\\\\\\\\.[^'(*/A-Z\\\\\\\\\\\\\\\\^a-z\\\\\\\\s]))([^%]|'[^']*'|\\\\\\\"[^\\\\\\\"]*\\\\\\\")*|(\\\\\\\\.(?=\\\\\\\\s)|\\\\\\\\.[A-Za-z]|(?=\\\\\\\\{))([^\\\\\\\"%'(=]|==|'[^']*'|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|\\\\\\\\(|\\\\\\\\([^%)]*\\\\\\\\)|\\\\\\\\[|\\\\\\\\[[^]%]*]|\\\\\\\\{|\\\\\\\\{[^%}]*})*(\\\\\\\\.\\\\\\\\.\\\\\\\\.[^%]*)?((?=%)|$)))(%.*)?$\\\"},\\\"comment_block\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)%\\\\\\\\{[^\\\\\\\\n\\\\\\\\S]*+\\\\\\\\n\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.matlab\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*%}[^\\\\\\\\n\\\\\\\\S]*+(?:\\\\\\\\n|$)\\\",\\\"name\\\":\\\"comment.block.percentage.matlab\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_block\\\"},{\\\"match\\\":\\\"^[^\\\\\\\\n]*\\\\\\\\n\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=%%\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.matlab\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.matlab\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-percentage.matlab\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G[^\\\\\\\\n\\\\\\\\S]*(?![\\\\\\\\n\\\\\\\\s])\\\",\\\"contentName\\\":\\\"meta.cell.matlab\\\",\\\"end\\\":\\\"(?=\\\\\\\\n)\\\"}]}]},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=%)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.matlab\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.matlab\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.percentage.matlab\\\"}]}]},\\\"conjugate_transpose\\\":{\\\"match\\\":\\\"((?<=\\\\\\\\S)|(?<=])|(?<=\\\\\\\\))|(?<=}))'\\\",\\\"name\\\":\\\"keyword.operator.transpose.matlab\\\"},\\\"constants\\\":{\\\"match\\\":\\\"(?=??|<=??|&&??|[:|]|\\\\\\\\|\\\\\\\\||[-*+]|\\\\\\\\.\\\\\\\\*|/|\\\\\\\\./|\\\\\\\\\\\\\\\\|\\\\\\\\.\\\\\\\\\\\\\\\\|\\\\\\\\^|\\\\\\\\.\\\\\\\\^)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.symbols.matlab\\\"},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"(\\\\\\\\)|(?\\\\\\\\[\\\\\\\\\\\\\\\\^{|~\\\\\\\\s]))|^)'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.matlab\\\"}},\\\"end\\\":\\\"'(?=([\\\\\\\\&(-/:->\\\\\\\\[-^{-~\\\\\\\\s]))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.matlab\\\"}},\\\"name\\\":\\\"string.quoted.single.matlab\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.matlab\\\"},{\\\"match\\\":\\\"'(?=.)\\\",\\\"name\\\":\\\"invalid.illegal.unescaped-quote.matlab\\\"},{\\\"match\\\":\\\"((%([-+0]?\\\\\\\\d{0,3}(\\\\\\\\.\\\\\\\\d{1,3})?)([EGc-gs]|(([bt])?([Xoux]))))|%%|\\\\\\\\\\\\\\\\([\\\\\\\\\\\\\\\\bfnrt]))\\\",\\\"name\\\":\\\"constant.character.escape.matlab\\\"}]},{\\\"begin\\\":\\\"((?<=([\\\\\\\\&(*-/:->\\\\\\\\[\\\\\\\\\\\\\\\\^{|~\\\\\\\\s]))|^)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.matlab\\\"}},\\\"end\\\":\\\"\\\\\\\"(?=([\\\\\\\\&(-/:->\\\\\\\\[-^{-~\\\\\\\\s]))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.matlab\\\"}},\\\"name\\\":\\\"string.quoted.double.matlab\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.matlab\\\"},{\\\"match\\\":\\\"\\\\\\\"(?=.)\\\",\\\"name\\\":\\\"invalid.illegal.unescaped-quote.matlab\\\"}]}]},\\\"transpose\\\":{\\\"match\\\":\\\"\\\\\\\\.'\\\",\\\"name\\\":\\\"keyword.operator.transpose.matlab\\\"},\\\"validator_strings\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<=([\\\\\\\\&(*-/:->\\\\\\\\[\\\\\\\\\\\\\\\\^{|~\\\\\\\\s]))|^)'\\\",\\\"end\\\":\\\"'(?=([\\\\\\\\&(-/:->\\\\\\\\[-^{-~\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.matlab\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\"},{\\\"match\\\":\\\"'(?=.)\\\"},{\\\"match\\\":\\\"([^']+)\\\"}]},{\\\"begin\\\":\\\"((?<=([\\\\\\\\&(*-/:->\\\\\\\\[\\\\\\\\\\\\\\\\^{|~\\\\\\\\s]))|^)\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"(?=([\\\\\\\\&(-/:->\\\\\\\\[-^{-~\\\\\\\\s]))\\\",\\\"name\\\":\\\"storage.type.matlab\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"\\\\\\\"\\\"},{\\\"match\\\":\\\"\\\\\\\"(?=.)\\\"},{\\\"match\\\":\\\"[^\\\\\\\"]+\\\"}]}]}]},\\\"validators\\\":{\\\"begin\\\":\\\"\\\\\\\\s*;?\\\\\\\\s*([A-Za-z][.0-9?A-Z_a-z]*)\\\",\\\"end\\\":\\\"([\\\\\\\\n%;=].*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}},\\\"match\\\":\\\"(%.*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}},\\\"match\\\":\\\"(=[^;]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#validators\\\"}]}},\\\"match\\\":\\\"([\\\\\\\\n;]\\\\\\\\s*[A-Za-z].*)\\\"},{\\\"include\\\":\\\"$self\\\"}]}},\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\([^)]*\\\\\\\\))\\\",\\\"name\\\":\\\"storage.type.matlab\\\"},{\\\"match\\\":\\\"([A-Za-z][.0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"storage.type.matlab\\\"},{\\\"include\\\":\\\"#braced_validator_list\\\"}]},\\\"variables\\\":{\\\"match\\\":\\\"(?])=(?![=~])","name":"punctuation.bind"},{"match":"<-","name":"punctuation.arrow"},{"include":"#expression"}]},"expression":{"patterns":[{"patterns":[{"captures":{"1":{"name":"keyword.control.for"},"2":{"name":"variable.other"},"3":{"name":"punctuation.separator"},"4":{"name":"variable.other"},"5":{"name":"keyword.control.in"}},"match":"(?=|<(?![-=])|>(?!=)","name":"keyword.operator.comparison"},{"match":"&{2}|\\\\|{2}|!(?![=~])","name":"keyword.operator.logical"},{"match":"&(?!&)|\\\\|(?!\\\\|)","name":"keyword.operator.set"}]},{"captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"variable.other.member"}},"match":"(?])=(?![=~])\\\",\\\"name\\\":\\\"punctuation.bind\\\"},{\\\"match\\\":\\\"<-\\\",\\\"name\\\":\\\"punctuation.arrow\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.in\\\"}},\\\"match\\\":\\\"(?=|<(?![-=])|>(?!=)\\\",\\\"name\\\":\\\"keyword.operator.comparison\\\"},{\\\"match\\\":\\\"&{2}|\\\\\\\\|{2}|!(?![=~])\\\",\\\"name\\\":\\\"keyword.operator.logical\\\"},{\\\"match\\\":\\\"&(?!&)|\\\\\\\\|(?!\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.set\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.member\\\"}},\\\"match\\\":\\\"(?)( .*)?)|((\\\\+).*))$\\\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\\\.\\\\.[0-9a-f]{7,40}.*$\\\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"}', + ), + ), + e = [n] +export { e as default } +//# sourceMappingURL=chunk-D97Zzqfu.js.map diff --git a/src/webview-ui/build/assets/chunk-D97Zzqfu.js.map b/src/webview-ui/build/assets/chunk-D97Zzqfu.js.map new file mode 100644 index 0000000000..343ac07a13 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D97Zzqfu.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D97Zzqfu.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/diff.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Diff\\\",\\\"name\\\":\\\"diff\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.separator.diff\\\"}},\\\"match\\\":\\\"^((\\\\\\\\*{15})|(={67})|(-{3}))$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.separator.diff\\\"},{\\\"match\\\":\\\"^\\\\\\\\d+(,\\\\\\\\d+)*([acd])\\\\\\\\d+(,\\\\\\\\d+)*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.range.normal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.range.diff\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.toc-list.line-number.diff\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.range.diff\\\"}},\\\"match\\\":\\\"^(@@)\\\\\\\\s*(.+?)\\\\\\\\s*(@@)($\\\\\\\\n?)?\\\",\\\"name\\\":\\\"meta.diff.range.unified\\\"},{\\\"captures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.range.diff\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.range.diff\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.range.diff\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.range.diff\\\"}},\\\"match\\\":\\\"^(((-{3}) .+ (-{4}))|((\\\\\\\\*{3}) .+ (\\\\\\\\*{4})))$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.range.context\\\"},{\\\"match\\\":\\\"^diff --git a/.*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.header.git\\\"},{\\\"match\\\":\\\"^diff (-|\\\\\\\\S+\\\\\\\\s+\\\\\\\\S+).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.header.command\\\"},{\\\"captures\\\":{\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.from-file.diff\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.from-file.diff\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.from-file.diff\\\"}},\\\"match\\\":\\\"^((((-{3}) .+)|((\\\\\\\\*{3}) .+))$\\\\\\\\n?|(={4}) .+(?= - ))\\\",\\\"name\\\":\\\"meta.diff.header.from-file\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.to-file.diff\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.to-file.diff\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.to-file.diff\\\"}},\\\"match\\\":\\\"(^(\\\\\\\\+{3}) .+$\\\\\\\\n?| (-) .* (={4})$\\\\\\\\n?)\\\",\\\"name\\\":\\\"meta.diff.header.to-file\\\"},{\\\"captures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inserted.diff\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.inserted.diff\\\"}},\\\"match\\\":\\\"^(((>)( .*)?)|((\\\\\\\\+).*))$\\\\\\\\n?\\\",\\\"name\\\":\\\"markup.inserted.diff\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.changed.diff\\\"}},\\\"match\\\":\\\"^(!).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"markup.changed.diff\\\"},{\\\"captures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.deleted.diff\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.deleted.diff\\\"}},\\\"match\\\":\\\"^(((<)( .*)?)|((-).*))$\\\\\\\\n?\\\",\\\"name\\\":\\\"markup.deleted.diff\\\"},{\\\"begin\\\":\\\"^(#)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.diff\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.diff\\\"},{\\\"match\\\":\\\"^index [0-9a-f]{7,40}\\\\\\\\.\\\\\\\\.[0-9a-f]{7,40}.*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.index.git\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.diff\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.toc-list.file-name.diff\\\"}},\\\"match\\\":\\\"^Index(:) (.+)$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.index\\\"},{\\\"match\\\":\\\"^Only in .*: .*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.diff.only-in\\\"}],\\\"scopeName\\\":\\\"source.diff\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "diff" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,y8EAA2uF,CAAC,EAEnwFC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D9kx8fwg.js b/src/webview-ui/build/assets/chunk-D9kx8fwg.js new file mode 100644 index 0000000000..cea120fe18 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D9kx8fwg.js @@ -0,0 +1,9 @@ +import s from "./chunk-Yzrsuije.js" +const e = Object.freeze( + JSON.parse( + '{"displayName":"Shell Session","fileTypes":["sh-session"],"name":"shellsession","patterns":[{"captures":{"1":{"name":"entity.other.prompt-prefix.shell-session"},"2":{"name":"punctuation.separator.prompt.shell-session"},"3":{"name":"source.shell","patterns":[{"include":"source.shell"}]}},"match":"^(?:((?:\\\\(\\\\S+\\\\)\\\\s*)?(?:sh\\\\S*?|\\\\w+\\\\S+[:@]\\\\S+(?:\\\\s+\\\\S+)?|\\\\[\\\\S+?[:@]\\\\N+?].*?))\\\\s*)?([#$%>❯➜\\\\p{Greek}])\\\\s+(.*)$"},{"match":"^.+$","name":"meta.output.shell-session"}],"scopeName":"text.shell-session","embeddedLangs":["shellscript"],"aliases":["console"]}', + ), + ), + t = [...s, e] +export { t as default } +//# sourceMappingURL=chunk-D9kx8fwg.js.map diff --git a/src/webview-ui/build/assets/chunk-D9kx8fwg.js.map b/src/webview-ui/build/assets/chunk-D9kx8fwg.js.map new file mode 100644 index 0000000000..f0b84734db --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D9kx8fwg.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-D9kx8fwg.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/shellsession.mjs" + ], + "sourcesContent": [ + "import shellscript from './shellscript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Shell Session\\\",\\\"fileTypes\\\":[\\\"sh-session\\\"],\\\"name\\\":\\\"shellsession\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.prompt-prefix.shell-session\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.prompt.shell-session\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}]}},\\\"match\\\":\\\"^(?:((?:\\\\\\\\(\\\\\\\\S+\\\\\\\\)\\\\\\\\s*)?(?:sh\\\\\\\\S*?|\\\\\\\\w+\\\\\\\\S+[:@]\\\\\\\\S+(?:\\\\\\\\s+\\\\\\\\S+)?|\\\\\\\\[\\\\\\\\S+?[:@]\\\\\\\\N+?].*?))\\\\\\\\s*)?([#$%>❯➜\\\\\\\\p{Greek}])\\\\\\\\s+(.*)$\\\"},{\\\"match\\\":\\\"^.+$\\\",\\\"name\\\":\\\"meta.output.shell-session\\\"}],\\\"scopeName\\\":\\\"text.shell-session\\\",\\\"embeddedLangs\\\":[\\\"shellscript\\\"],\\\"aliases\\\":[\\\"console\\\"]}\"))\n\nexport default [\n...shellscript,\nlang\n]\n" + ], + "names": [ + "lang", + "shellsession", + "shellscript" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qlBAAqpB,CAAC,EAE7qBC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DAi9KRSo.js b/src/webview-ui/build/assets/chunk-DAi9KRSo.js new file mode 100644 index 0000000000..391f04d506 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DAi9KRSo.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#f9826c","activityBar.background":"#fff","activityBar.border":"#e1e4e8","activityBar.foreground":"#2f363d","activityBar.inactiveForeground":"#959da5","activityBarBadge.background":"#2188ff","activityBarBadge.foreground":"#fff","badge.background":"#dbedff","badge.foreground":"#005cc5","breadcrumb.activeSelectionForeground":"#586069","breadcrumb.focusForeground":"#2f363d","breadcrumb.foreground":"#6a737d","breadcrumbPicker.background":"#fafbfc","button.background":"#159739","button.foreground":"#fff","button.hoverBackground":"#138934","button.secondaryBackground":"#e1e4e8","button.secondaryForeground":"#1b1f23","button.secondaryHoverBackground":"#d1d5da","checkbox.background":"#fafbfc","checkbox.border":"#d1d5da","debugToolBar.background":"#fff","descriptionForeground":"#6a737d","diffEditor.insertedTextBackground":"#34d05822","diffEditor.removedTextBackground":"#d73a4922","dropdown.background":"#fafbfc","dropdown.border":"#e1e4e8","dropdown.foreground":"#2f363d","dropdown.listBackground":"#fff","editor.background":"#fff","editor.findMatchBackground":"#ffdf5d","editor.findMatchHighlightBackground":"#ffdf5d66","editor.focusedStackFrameHighlightBackground":"#28a74525","editor.foldBackground":"#d1d5da11","editor.foreground":"#24292e","editor.inactiveSelectionBackground":"#0366d611","editor.lineHighlightBackground":"#f6f8fa","editor.linkedEditingBackground":"#0366d611","editor.selectionBackground":"#0366d625","editor.selectionHighlightBackground":"#34d05840","editor.selectionHighlightBorder":"#34d05800","editor.stackFrameHighlightBackground":"#ffd33d33","editor.wordHighlightBackground":"#34d05800","editor.wordHighlightBorder":"#24943e99","editor.wordHighlightStrongBackground":"#34d05800","editor.wordHighlightStrongBorder":"#24943e50","editorBracketHighlight.foreground1":"#005cc5","editorBracketHighlight.foreground2":"#e36209","editorBracketHighlight.foreground3":"#5a32a3","editorBracketHighlight.foreground4":"#005cc5","editorBracketHighlight.foreground5":"#e36209","editorBracketHighlight.foreground6":"#5a32a3","editorBracketMatch.background":"#34d05840","editorBracketMatch.border":"#34d05800","editorCursor.foreground":"#044289","editorError.foreground":"#cb2431","editorGroup.border":"#e1e4e8","editorGroupHeader.tabsBackground":"#f6f8fa","editorGroupHeader.tabsBorder":"#e1e4e8","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#d73a49","editorGutter.modifiedBackground":"#2188ff","editorIndentGuide.activeBackground":"#d7dbe0","editorIndentGuide.background":"#eff2f6","editorLineNumber.activeForeground":"#24292e","editorLineNumber.foreground":"#1b1f234d","editorOverviewRuler.border":"#fff","editorWarning.foreground":"#f9c513","editorWhitespace.foreground":"#d1d5da","editorWidget.background":"#f6f8fa","errorForeground":"#cb2431","focusBorder":"#2188ff","foreground":"#444d56","gitDecoration.addedResourceForeground":"#28a745","gitDecoration.conflictingResourceForeground":"#e36209","gitDecoration.deletedResourceForeground":"#d73a49","gitDecoration.ignoredResourceForeground":"#959da5","gitDecoration.modifiedResourceForeground":"#005cc5","gitDecoration.submoduleResourceForeground":"#959da5","gitDecoration.untrackedResourceForeground":"#28a745","input.background":"#fafbfc","input.border":"#e1e4e8","input.foreground":"#2f363d","input.placeholderForeground":"#959da5","list.activeSelectionBackground":"#e2e5e9","list.activeSelectionForeground":"#2f363d","list.focusBackground":"#cce5ff","list.hoverBackground":"#ebf0f4","list.hoverForeground":"#2f363d","list.inactiveFocusBackground":"#dbedff","list.inactiveSelectionBackground":"#e8eaed","list.inactiveSelectionForeground":"#2f363d","notificationCenterHeader.background":"#e1e4e8","notificationCenterHeader.foreground":"#6a737d","notifications.background":"#fafbfc","notifications.border":"#e1e4e8","notifications.foreground":"#2f363d","notificationsErrorIcon.foreground":"#d73a49","notificationsInfoIcon.foreground":"#005cc5","notificationsWarningIcon.foreground":"#e36209","panel.background":"#f6f8fa","panel.border":"#e1e4e8","panelInput.border":"#e1e4e8","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#2f363d","panelTitle.inactiveForeground":"#6a737d","pickerGroup.border":"#e1e4e8","pickerGroup.foreground":"#2f363d","progressBar.background":"#2188ff","quickInput.background":"#fafbfc","quickInput.foreground":"#2f363d","scrollbar.shadow":"#6a737d33","scrollbarSlider.activeBackground":"#959da588","scrollbarSlider.background":"#959da533","scrollbarSlider.hoverBackground":"#959da544","settings.headerForeground":"#2f363d","settings.modifiedItemIndicator":"#2188ff","sideBar.background":"#f6f8fa","sideBar.border":"#e1e4e8","sideBar.foreground":"#586069","sideBarSectionHeader.background":"#f6f8fa","sideBarSectionHeader.border":"#e1e4e8","sideBarSectionHeader.foreground":"#2f363d","sideBarTitle.foreground":"#2f363d","statusBar.background":"#fff","statusBar.border":"#e1e4e8","statusBar.debuggingBackground":"#f9826c","statusBar.debuggingForeground":"#fff","statusBar.foreground":"#586069","statusBar.noFolderBackground":"#fff","statusBarItem.prominentBackground":"#e8eaed","statusBarItem.remoteBackground":"#fff","statusBarItem.remoteForeground":"#586069","tab.activeBackground":"#fff","tab.activeBorder":"#fff","tab.activeBorderTop":"#f9826c","tab.activeForeground":"#2f363d","tab.border":"#e1e4e8","tab.hoverBackground":"#fff","tab.inactiveBackground":"#f6f8fa","tab.inactiveForeground":"#6a737d","tab.unfocusedActiveBorder":"#fff","tab.unfocusedActiveBorderTop":"#e1e4e8","tab.unfocusedHoverBackground":"#fff","terminal.ansiBlack":"#24292e","terminal.ansiBlue":"#0366d6","terminal.ansiBrightBlack":"#959da5","terminal.ansiBrightBlue":"#005cc5","terminal.ansiBrightCyan":"#3192aa","terminal.ansiBrightGreen":"#22863a","terminal.ansiBrightMagenta":"#5a32a3","terminal.ansiBrightRed":"#cb2431","terminal.ansiBrightWhite":"#d1d5da","terminal.ansiBrightYellow":"#b08800","terminal.ansiCyan":"#1b7c83","terminal.ansiGreen":"#28a745","terminal.ansiMagenta":"#5a32a3","terminal.ansiRed":"#d73a49","terminal.ansiWhite":"#6a737d","terminal.ansiYellow":"#dbab09","terminal.foreground":"#586069","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#d1d5da","terminalCursor.foreground":"#005cc5","textBlockQuote.background":"#fafbfc","textBlockQuote.border":"#e1e4e8","textCodeBlock.background":"#f6f8fa","textLink.activeForeground":"#005cc5","textLink.foreground":"#0366d6","textPreformat.foreground":"#586069","textSeparator.foreground":"#d1d5da","titleBar.activeBackground":"#fff","titleBar.activeForeground":"#2f363d","titleBar.border":"#e1e4e8","titleBar.inactiveBackground":"#f6f8fa","titleBar.inactiveForeground":"#6a737d","tree.indentGuidesStroke":"#e1e4e8","welcomePage.buttonBackground":"#f6f8fa","welcomePage.buttonHoverBackground":"#e1e4e8"},"displayName":"GitHub Light","name":"github-light","semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#005cc5"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#6f42c1"}},{"scope":"variable.parameter.function","settings":{"foreground":"#24292e"}},{"scope":"entity.name.tag","settings":{"foreground":"#22863a"}},{"scope":"keyword","settings":{"foreground":"#d73a49"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#d73a49"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#24292e"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#032f62"}},{"scope":"support","settings":{"foreground":"#005cc5"}},{"scope":"meta.property-name","settings":{"foreground":"#005cc5"}},{"scope":"variable","settings":{"foreground":"#e36209"}},{"scope":"variable.other","settings":{"foreground":"#24292e"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#b31d28"}},{"scope":"carriage-return","settings":{"background":"#d73a49","content":"^M","fontStyle":"italic underline","foreground":"#fafbfc"}},{"scope":"message.error","settings":{"foreground":"#b31d28"}},{"scope":"string variable","settings":{"foreground":"#005cc5"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#032f62"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#032f62"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#22863a"}},{"scope":"support.constant","settings":{"foreground":"#005cc5"}},{"scope":"support.variable","settings":{"foreground":"#005cc5"}},{"scope":"meta.module-reference","settings":{"foreground":"#005cc5"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e36209"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#005cc5"}},{"scope":"markup.quote","settings":{"foreground":"#22863a"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#24292e"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#24292e"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#005cc5"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#ffeef0","foreground":"#b31d28"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#f0fff4","foreground":"#22863a"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#ffebda","foreground":"#e36209"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#005cc5","foreground":"#f6f8fa"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#6f42c1"}},{"scope":"meta.diff.header","settings":{"foreground":"#005cc5"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#005cc5"}},{"scope":"meta.output","settings":{"foreground":"#005cc5"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#586069"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#b31d28"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"fontStyle":"underline","foreground":"#032f62"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DAi9KRSo.js.map diff --git a/src/webview-ui/build/assets/chunk-DAi9KRSo.js.map b/src/webview-ui/build/assets/chunk-DAi9KRSo.js.map new file mode 100644 index 0000000000..8af521aa20 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DAi9KRSo.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DAi9KRSo.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/github-light.mjs" + ], + "sourcesContent": [ + "/* Theme: github-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f9826c\\\",\\\"activityBar.background\\\":\\\"#fff\\\",\\\"activityBar.border\\\":\\\"#e1e4e8\\\",\\\"activityBar.foreground\\\":\\\"#2f363d\\\",\\\"activityBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"activityBarBadge.background\\\":\\\"#2188ff\\\",\\\"activityBarBadge.foreground\\\":\\\"#fff\\\",\\\"badge.background\\\":\\\"#dbedff\\\",\\\"badge.foreground\\\":\\\"#005cc5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#586069\\\",\\\"breadcrumb.focusForeground\\\":\\\"#2f363d\\\",\\\"breadcrumb.foreground\\\":\\\"#6a737d\\\",\\\"breadcrumbPicker.background\\\":\\\"#fafbfc\\\",\\\"button.background\\\":\\\"#159739\\\",\\\"button.foreground\\\":\\\"#fff\\\",\\\"button.hoverBackground\\\":\\\"#138934\\\",\\\"button.secondaryBackground\\\":\\\"#e1e4e8\\\",\\\"button.secondaryForeground\\\":\\\"#1b1f23\\\",\\\"button.secondaryHoverBackground\\\":\\\"#d1d5da\\\",\\\"checkbox.background\\\":\\\"#fafbfc\\\",\\\"checkbox.border\\\":\\\"#d1d5da\\\",\\\"debugToolBar.background\\\":\\\"#fff\\\",\\\"descriptionForeground\\\":\\\"#6a737d\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#34d05822\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d73a4922\\\",\\\"dropdown.background\\\":\\\"#fafbfc\\\",\\\"dropdown.border\\\":\\\"#e1e4e8\\\",\\\"dropdown.foreground\\\":\\\"#2f363d\\\",\\\"dropdown.listBackground\\\":\\\"#fff\\\",\\\"editor.background\\\":\\\"#fff\\\",\\\"editor.findMatchBackground\\\":\\\"#ffdf5d\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ffdf5d66\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#28a74525\\\",\\\"editor.foldBackground\\\":\\\"#d1d5da11\\\",\\\"editor.foreground\\\":\\\"#24292e\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#0366d611\\\",\\\"editor.lineHighlightBackground\\\":\\\"#f6f8fa\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0366d611\\\",\\\"editor.selectionBackground\\\":\\\"#0366d625\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#34d05840\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#34d05800\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"editor.wordHighlightBackground\\\":\\\"#34d05800\\\",\\\"editor.wordHighlightBorder\\\":\\\"#24943e99\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#34d05800\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#24943e50\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#005cc5\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#e36209\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#5a32a3\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#005cc5\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#e36209\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#5a32a3\\\",\\\"editorBracketMatch.background\\\":\\\"#34d05840\\\",\\\"editorBracketMatch.border\\\":\\\"#34d05800\\\",\\\"editorCursor.foreground\\\":\\\"#044289\\\",\\\"editorError.foreground\\\":\\\"#cb2431\\\",\\\"editorGroup.border\\\":\\\"#e1e4e8\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f6f8fa\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#e1e4e8\\\",\\\"editorGutter.addedBackground\\\":\\\"#28a745\\\",\\\"editorGutter.deletedBackground\\\":\\\"#d73a49\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#2188ff\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#d7dbe0\\\",\\\"editorIndentGuide.background\\\":\\\"#eff2f6\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#24292e\\\",\\\"editorLineNumber.foreground\\\":\\\"#1b1f234d\\\",\\\"editorOverviewRuler.border\\\":\\\"#fff\\\",\\\"editorWarning.foreground\\\":\\\"#f9c513\\\",\\\"editorWhitespace.foreground\\\":\\\"#d1d5da\\\",\\\"editorWidget.background\\\":\\\"#f6f8fa\\\",\\\"errorForeground\\\":\\\"#cb2431\\\",\\\"focusBorder\\\":\\\"#2188ff\\\",\\\"foreground\\\":\\\"#444d56\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#28a745\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#e36209\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#d73a49\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#959da5\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#005cc5\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#959da5\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#28a745\\\",\\\"input.background\\\":\\\"#fafbfc\\\",\\\"input.border\\\":\\\"#e1e4e8\\\",\\\"input.foreground\\\":\\\"#2f363d\\\",\\\"input.placeholderForeground\\\":\\\"#959da5\\\",\\\"list.activeSelectionBackground\\\":\\\"#e2e5e9\\\",\\\"list.activeSelectionForeground\\\":\\\"#2f363d\\\",\\\"list.focusBackground\\\":\\\"#cce5ff\\\",\\\"list.hoverBackground\\\":\\\"#ebf0f4\\\",\\\"list.hoverForeground\\\":\\\"#2f363d\\\",\\\"list.inactiveFocusBackground\\\":\\\"#dbedff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#e8eaed\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#2f363d\\\",\\\"notificationCenterHeader.background\\\":\\\"#e1e4e8\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#6a737d\\\",\\\"notifications.background\\\":\\\"#fafbfc\\\",\\\"notifications.border\\\":\\\"#e1e4e8\\\",\\\"notifications.foreground\\\":\\\"#2f363d\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#d73a49\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#005cc5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#e36209\\\",\\\"panel.background\\\":\\\"#f6f8fa\\\",\\\"panel.border\\\":\\\"#e1e4e8\\\",\\\"panelInput.border\\\":\\\"#e1e4e8\\\",\\\"panelTitle.activeBorder\\\":\\\"#f9826c\\\",\\\"panelTitle.activeForeground\\\":\\\"#2f363d\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#6a737d\\\",\\\"pickerGroup.border\\\":\\\"#e1e4e8\\\",\\\"pickerGroup.foreground\\\":\\\"#2f363d\\\",\\\"progressBar.background\\\":\\\"#2188ff\\\",\\\"quickInput.background\\\":\\\"#fafbfc\\\",\\\"quickInput.foreground\\\":\\\"#2f363d\\\",\\\"scrollbar.shadow\\\":\\\"#6a737d33\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#959da588\\\",\\\"scrollbarSlider.background\\\":\\\"#959da533\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#959da544\\\",\\\"settings.headerForeground\\\":\\\"#2f363d\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#2188ff\\\",\\\"sideBar.background\\\":\\\"#f6f8fa\\\",\\\"sideBar.border\\\":\\\"#e1e4e8\\\",\\\"sideBar.foreground\\\":\\\"#586069\\\",\\\"sideBarSectionHeader.background\\\":\\\"#f6f8fa\\\",\\\"sideBarSectionHeader.border\\\":\\\"#e1e4e8\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#2f363d\\\",\\\"sideBarTitle.foreground\\\":\\\"#2f363d\\\",\\\"statusBar.background\\\":\\\"#fff\\\",\\\"statusBar.border\\\":\\\"#e1e4e8\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f9826c\\\",\\\"statusBar.debuggingForeground\\\":\\\"#fff\\\",\\\"statusBar.foreground\\\":\\\"#586069\\\",\\\"statusBar.noFolderBackground\\\":\\\"#fff\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#e8eaed\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#fff\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#586069\\\",\\\"tab.activeBackground\\\":\\\"#fff\\\",\\\"tab.activeBorder\\\":\\\"#fff\\\",\\\"tab.activeBorderTop\\\":\\\"#f9826c\\\",\\\"tab.activeForeground\\\":\\\"#2f363d\\\",\\\"tab.border\\\":\\\"#e1e4e8\\\",\\\"tab.hoverBackground\\\":\\\"#fff\\\",\\\"tab.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"tab.inactiveForeground\\\":\\\"#6a737d\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#fff\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#e1e4e8\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#fff\\\",\\\"terminal.ansiBlack\\\":\\\"#24292e\\\",\\\"terminal.ansiBlue\\\":\\\"#0366d6\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#959da5\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#005cc5\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#3192aa\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#22863a\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#5a32a3\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb2431\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#d1d5da\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b08800\\\",\\\"terminal.ansiCyan\\\":\\\"#1b7c83\\\",\\\"terminal.ansiGreen\\\":\\\"#28a745\\\",\\\"terminal.ansiMagenta\\\":\\\"#5a32a3\\\",\\\"terminal.ansiRed\\\":\\\"#d73a49\\\",\\\"terminal.ansiWhite\\\":\\\"#6a737d\\\",\\\"terminal.ansiYellow\\\":\\\"#dbab09\\\",\\\"terminal.foreground\\\":\\\"#586069\\\",\\\"terminal.tab.activeBorder\\\":\\\"#f9826c\\\",\\\"terminalCursor.background\\\":\\\"#d1d5da\\\",\\\"terminalCursor.foreground\\\":\\\"#005cc5\\\",\\\"textBlockQuote.background\\\":\\\"#fafbfc\\\",\\\"textBlockQuote.border\\\":\\\"#e1e4e8\\\",\\\"textCodeBlock.background\\\":\\\"#f6f8fa\\\",\\\"textLink.activeForeground\\\":\\\"#005cc5\\\",\\\"textLink.foreground\\\":\\\"#0366d6\\\",\\\"textPreformat.foreground\\\":\\\"#586069\\\",\\\"textSeparator.foreground\\\":\\\"#d1d5da\\\",\\\"titleBar.activeBackground\\\":\\\"#fff\\\",\\\"titleBar.activeForeground\\\":\\\"#2f363d\\\",\\\"titleBar.border\\\":\\\"#e1e4e8\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6a737d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#e1e4e8\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f6f8fa\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#e1e4e8\\\"},\\\"displayName\\\":\\\"GitHub Light\\\",\\\"name\\\":\\\"github-light\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6a737d\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d73a49\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d73a49\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032f62\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#d73a49\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#fafbfc\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032f62\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032f62\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffeef0\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#f0fff4\\\",\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffebda\\\",\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#005cc5\\\",\\\"foreground\\\":\\\"#f6f8fa\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#586069\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#032f62\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "githubLight" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,s3VAAwpY,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DEd0xgAf.js b/src/webview-ui/build/assets/chunk-DEd0xgAf.js new file mode 100644 index 0000000000..df46be14d8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DEd0xgAf.js @@ -0,0 +1,10 @@ +import e from "./chunk-DkwncUOv.js" +import r from "./chunk-Bty6elJm.js" +const a = Object.freeze( + JSON.parse( + `{"displayName":"GDResource","name":"gdresource","patterns":[{"include":"#embedded_shader"},{"include":"#embedded_gdscript"},{"include":"#comment"},{"include":"#heading"},{"include":"#key_value"}],"repository":{"comment":{"captures":{"1":{"name":"punctuation.definition.comment.gdresource"}},"match":"(;).*$\\\\n?","name":"comment.line.gdresource"},"data":{"patterns":[{"include":"#comment"},{"begin":"(?^|~]","name":"keyword.operator.jsonnet"},{"match":"\\\\$","name":"keyword.other.jsonnet"},{"match":"\\\\b(self|super|import|importstr|local|tailstrict)\\\\b","name":"keyword.other.jsonnet"},{"match":"\\\\b(if|then|else|for|in|error|assert)\\\\b","name":"keyword.control.jsonnet"},{"match":"\\\\b(function)\\\\b","name":"storage.type.jsonnet"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(\\\\+??:::)","name":"variable.parameter.jsonnet"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(\\\\+??::)","name":"entity.name.type"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(\\\\+??:)","name":"variable.parameter.jsonnet"}]},"literals":{"patterns":[{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.jsonnet"},{"match":"\\\\b(\\\\d+([Ee][-+]?\\\\d+)?)\\\\b","name":"constant.numeric.jsonnet"},{"match":"\\\\b\\\\d+\\\\.\\\\d*([Ee][-+]?\\\\d+)?\\\\b","name":"constant.numeric.jsonnet"},{"match":"\\\\b\\\\.\\\\d+([Ee][-+]?\\\\d+)?\\\\b","name":"constant.numeric.jsonnet"}]},"single-quoted-strings":{"begin":"'","end":"'","name":"string.quoted.double.jsonnet","patterns":[{"match":"\\\\\\\\(['/\\\\\\\\bfnrt]|(u\\\\h{4}))","name":"constant.character.escape.jsonnet"},{"match":"\\\\\\\\[^'/\\\\\\\\bfnrtu]","name":"invalid.illegal.jsonnet"}]},"triple-quoted-strings":{"patterns":[{"begin":"\\\\|\\\\|\\\\|","end":"\\\\|\\\\|\\\\|","name":"string.quoted.triple.jsonnet"}]}},"scopeName":"source.jsonnet"}`, + ), + ), + t = [n] +export { t as default } +//# sourceMappingURL=chunk-DFQXde-d.js.map diff --git a/src/webview-ui/build/assets/chunk-DFQXde-d.js.map b/src/webview-ui/build/assets/chunk-DFQXde-d.js.map new file mode 100644 index 0000000000..240b2c4b09 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DFQXde-d.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DFQXde-d.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jsonnet.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Jsonnet\\\",\\\"name\\\":\\\"jsonnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#keywords\\\"}],\\\"repository\\\":{\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(acos|asin|atan|ceil|char|codepoint|cos|exp|exponent)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(filter|floor|force|length|log|makeArray|mantissa)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(objectFields|objectHas|pow|sin|sqrt|tan|type|thisFile)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(acos|asin|atan|ceil|char|codepoint|cos|exp|exponent)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(abs|assertEqual|escapeString(Bash|Dollars|Json|Python))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(filterMap|flattenArrays|foldl|foldr|format|join)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(lines|manifest(Ini|Python(Vars)?)|map|max|min|mod)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(s(?:et(Diff|Inter|Member|Union)??|ort))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\bstd\\\\\\\\.(range|split|stringChars|substr|toString|uniq)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.jsonnet\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.jsonnet\\\"},{\\\"match\\\":\\\"//.*$\\\",\\\"name\\\":\\\"comment.line.jsonnet\\\"},{\\\"match\\\":\\\"#.*$\\\",\\\"name\\\":\\\"comment.block.jsonnet\\\"}]},\\\"double-quoted-strings\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.jsonnet\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|(u\\\\\\\\h{4}))\\\",\\\"name\\\":\\\"constant.character.escape.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^\\\\\\\"/\\\\\\\\\\\\\\\\bfnrtu]\\\",\\\"name\\\":\\\"invalid.illegal.jsonnet\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literals\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#single-quoted-strings\\\"},{\\\"include\\\":\\\"#double-quoted-strings\\\"},{\\\"include\\\":\\\"#triple-quoted-strings\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#functions\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.jsonnet\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.function\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[-!%\\\\\\\\&*+/:<=>^|~]\\\",\\\"name\\\":\\\"keyword.operator.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.other.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\b(self|super|import|importstr|local|tailstrict)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\b(if|then|else|for|in|error|assert)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\b(function)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.jsonnet\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(\\\\\\\\+??:::)\\\",\\\"name\\\":\\\"variable.parameter.jsonnet\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(\\\\\\\\+??::)\\\",\\\"name\\\":\\\"entity.name.type\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(\\\\\\\\+??:)\\\",\\\"name\\\":\\\"variable.parameter.jsonnet\\\"}]},\\\"literals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+([Ee][-+]?\\\\\\\\d+)?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d*([Ee][-+]?\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\.\\\\\\\\d+([Ee][-+]?\\\\\\\\d+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.jsonnet\\\"}]},\\\"single-quoted-strings\\\":{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.double.jsonnet\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(['/\\\\\\\\\\\\\\\\bfnrt]|(u\\\\\\\\h{4}))\\\",\\\"name\\\":\\\"constant.character.escape.jsonnet\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^'/\\\\\\\\\\\\\\\\bfnrtu]\\\",\\\"name\\\":\\\"invalid.illegal.jsonnet\\\"}]},\\\"triple-quoted-strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\|\\\\\\\\|\\\\\\\\|\\\",\\\"end\\\":\\\"\\\\\\\\|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"string.quoted.triple.jsonnet\\\"}]}},\\\"scopeName\\\":\\\"source.jsonnet\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "jsonnet" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,k+GAAg2H,CAAC,EAEx3HC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DFR6f4Jn.js b/src/webview-ui/build/assets/chunk-DFR6f4Jn.js new file mode 100644 index 0000000000..27292ed2ac --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DFR6f4Jn.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#282828","activityBar.border":"#3c3836","activityBar.foreground":"#ebdbb2","activityBarBadge.background":"#458588","activityBarBadge.foreground":"#ebdbb2","activityBarTop.background":"#282828","activityBarTop.foreground":"#ebdbb2","badge.background":"#b16286","badge.foreground":"#ebdbb2","button.background":"#45858880","button.foreground":"#ebdbb2","button.hoverBackground":"#45858860","debugToolBar.background":"#282828","diffEditor.insertedTextBackground":"#b8bb2630","diffEditor.removedTextBackground":"#fb493430","dropdown.background":"#282828","dropdown.border":"#3c3836","dropdown.foreground":"#ebdbb2","editor.background":"#282828","editor.findMatchBackground":"#83a59870","editor.findMatchHighlightBackground":"#fe801930","editor.findRangeHighlightBackground":"#83a59870","editor.foreground":"#ebdbb2","editor.hoverHighlightBackground":"#689d6a50","editor.lineHighlightBackground":"#3c383660","editor.lineHighlightBorder":"#0000","editor.selectionBackground":"#689d6a40","editor.selectionHighlightBackground":"#fabd2f40","editorBracketHighlight.foreground1":"#b16286","editorBracketHighlight.foreground2":"#458588","editorBracketHighlight.foreground3":"#689d6a","editorBracketHighlight.foreground4":"#98971a","editorBracketHighlight.foreground5":"#d79921","editorBracketHighlight.foreground6":"#d65d0e","editorBracketHighlight.unexpectedBracket.foreground":"#cc241d","editorBracketMatch.background":"#92837480","editorBracketMatch.border":"#0000","editorCodeLens.foreground":"#a8998490","editorCursor.foreground":"#ebdbb2","editorError.foreground":"#cc241d","editorGroup.border":"#3c3836","editorGroup.dropBackground":"#3c383660","editorGroupHeader.noTabsBackground":"#282828","editorGroupHeader.tabsBackground":"#282828","editorGroupHeader.tabsBorder":"#3c3836","editorGutter.addedBackground":"#b8bb26","editorGutter.background":"#0000","editorGutter.deletedBackground":"#fb4934","editorGutter.modifiedBackground":"#83a598","editorHoverWidget.background":"#282828","editorHoverWidget.border":"#3c3836","editorInfo.foreground":"#458588","editorLineNumber.foreground":"#665c54","editorLink.activeForeground":"#ebdbb2","editorOverviewRuler.addedForeground":"#83a598","editorOverviewRuler.border":"#0000","editorOverviewRuler.commonContentForeground":"#928374","editorOverviewRuler.currentContentForeground":"#458588","editorOverviewRuler.deletedForeground":"#83a598","editorOverviewRuler.errorForeground":"#fb4934","editorOverviewRuler.findMatchForeground":"#bdae93","editorOverviewRuler.incomingContentForeground":"#689d6a","editorOverviewRuler.infoForeground":"#d3869b","editorOverviewRuler.modifiedForeground":"#83a598","editorOverviewRuler.rangeHighlightForeground":"#bdae93","editorOverviewRuler.selectionHighlightForeground":"#665c54","editorOverviewRuler.warningForeground":"#d79921","editorOverviewRuler.wordHighlightForeground":"#665c54","editorOverviewRuler.wordHighlightStrongForeground":"#665c54","editorRuler.foreground":"#a8998440","editorStickyScroll.shadow":"#50494599","editorStickyScrollHover.background":"#3c383660","editorSuggestWidget.background":"#282828","editorSuggestWidget.border":"#3c3836","editorSuggestWidget.foreground":"#ebdbb2","editorSuggestWidget.highlightForeground":"#689d6a","editorSuggestWidget.selectedBackground":"#3c383660","editorWarning.foreground":"#d79921","editorWhitespace.foreground":"#a8998420","editorWidget.background":"#282828","editorWidget.border":"#3c3836","errorForeground":"#fb4934","extensionButton.prominentBackground":"#b8bb2680","extensionButton.prominentHoverBackground":"#b8bb2630","focusBorder":"#3c3836","foreground":"#ebdbb2","gitDecoration.addedResourceForeground":"#ebdbb2","gitDecoration.conflictingResourceForeground":"#b16286","gitDecoration.deletedResourceForeground":"#cc241d","gitDecoration.ignoredResourceForeground":"#7c6f64","gitDecoration.modifiedResourceForeground":"#d79921","gitDecoration.untrackedResourceForeground":"#98971a","gitlens.closedAutolinkedIssueIconColor":"#b16286","gitlens.closedPullRequestIconColor":"#cc241d","gitlens.decorations.branchAheadForegroundColor":"#98971a","gitlens.decorations.branchBehindForegroundColor":"#d65d0e","gitlens.decorations.branchDivergedForegroundColor":"#d79921","gitlens.decorations.branchMissingUpstreamForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#d79921","gitlens.decorations.workspaceCurrentForegroundColor":"#98971a","gitlens.decorations.workspaceRepoMissingForegroundColor":"#7c6f64","gitlens.decorations.workspaceRepoOpenForegroundColor":"#98971a","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#928374","gitlens.decorations.worktreeMissingForegroundColor":"#cc241d","gitlens.graphChangesColumnAddedColor":"#98971a","gitlens.graphChangesColumnDeletedColor":"#cc241d","gitlens.graphLane10Color":"#98971a","gitlens.graphLane1Color":"#83a598","gitlens.graphLane2Color":"#458588","gitlens.graphLane3Color":"#d3869b","gitlens.graphLane4Color":"#b16286","gitlens.graphLane5Color":"#8ec07c","gitlens.graphLane6Color":"#689d6a","gitlens.graphLane7Color":"#fabd2f","gitlens.graphLane8Color":"#d79921","gitlens.graphLane9Color":"#b8bb26","gitlens.graphMinimapMarkerHeadColor":"#98971a","gitlens.graphMinimapMarkerHighlightsColor":"#b8bb26","gitlens.graphMinimapMarkerLocalBranchesColor":"#83a598","gitlens.graphMinimapMarkerPullRequestsColor":"#fe8019","gitlens.graphMinimapMarkerRemoteBranchesColor":"#458588","gitlens.graphMinimapMarkerStashesColor":"#b16286","gitlens.graphMinimapMarkerTagsColor":"#7c6f64","gitlens.graphMinimapMarkerUpstreamColor":"#689d6a","gitlens.graphScrollMarkerHeadColor":"#b8bb26","gitlens.graphScrollMarkerHighlightsColor":"#d79921","gitlens.graphScrollMarkerLocalBranchesColor":"#83a598","gitlens.graphScrollMarkerPullRequestsColor":"#fe8019","gitlens.graphScrollMarkerRemoteBranchesColor":"#458588","gitlens.graphScrollMarkerStashesColor":"#b16286","gitlens.graphScrollMarkerTagsColor":"#7c6f64","gitlens.graphScrollMarkerUpstreamColor":"#8ec07c","gitlens.gutterBackgroundColor":"#3c3836","gitlens.gutterForegroundColor":"#ebdbb2","gitlens.gutterUncommittedForegroundColor":"#458588","gitlens.launchpadIndicatorAttentionColor":"#fabd2f","gitlens.launchpadIndicatorAttentionHoverColor":"#d79921","gitlens.launchpadIndicatorBlockedColor":"#fb4934","gitlens.launchpadIndicatorBlockedHoverColor":"#cc241d","gitlens.launchpadIndicatorMergeableColor":"#b8bb26","gitlens.launchpadIndicatorMergeableHoverColor":"#98971a","gitlens.lineHighlightBackgroundColor":"#3c3836","gitlens.lineHighlightOverviewRulerColor":"#458588","gitlens.mergedPullRequestIconColor":"#b16286","gitlens.openAutolinkedIssueIconColor":"#98971a","gitlens.openPullRequestIconColor":"#98971a","gitlens.trailingLineBackgroundColor":"#282828a0","gitlens.trailingLineForegroundColor":"#928374a0","gitlens.unpublishedChangesIconColor":"#98971a","gitlens.unpublishedCommitIconColor":"#98971a","gitlens.unpulledChangesIconColor":"#fe8019","icon.foreground":"#ebdbb2","input.background":"#282828","input.border":"#3c3836","input.foreground":"#ebdbb2","input.placeholderForeground":"#ebdbb260","inputOption.activeBorder":"#ebdbb260","inputValidation.errorBackground":"#cc241d","inputValidation.errorBorder":"#fb4934","inputValidation.infoBackground":"#45858880","inputValidation.infoBorder":"#83a598","inputValidation.warningBackground":"#d79921","inputValidation.warningBorder":"#fabd2f","list.activeSelectionBackground":"#3c383680","list.activeSelectionForeground":"#8ec07c","list.dropBackground":"#3c3836","list.focusBackground":"#3c3836","list.focusForeground":"#ebdbb2","list.highlightForeground":"#689d6a","list.hoverBackground":"#3c383680","list.hoverForeground":"#d5c4a1","list.inactiveSelectionBackground":"#3c383680","list.inactiveSelectionForeground":"#689d6a","menu.border":"#3c3836","menu.separatorBackground":"#3c3836","merge.border":"#0000","merge.currentContentBackground":"#45858820","merge.currentHeaderBackground":"#45858840","merge.incomingContentBackground":"#689d6a20","merge.incomingHeaderBackground":"#689d6a40","notebook.cellBorderColor":"#504945","notebook.cellEditorBackground":"#3c3836","notebook.focusedCellBorder":"#a89984","notebook.focusedEditorBorder":"#504945","panel.border":"#3c3836","panelTitle.activeForeground":"#ebdbb2","peekView.border":"#3c3836","peekViewEditor.background":"#3c383670","peekViewEditor.matchHighlightBackground":"#504945","peekViewEditorGutter.background":"#3c383670","peekViewResult.background":"#3c383670","peekViewResult.fileForeground":"#ebdbb2","peekViewResult.lineForeground":"#ebdbb2","peekViewResult.matchHighlightBackground":"#504945","peekViewResult.selectionBackground":"#45858820","peekViewResult.selectionForeground":"#ebdbb2","peekViewTitle.background":"#3c383670","peekViewTitleDescription.foreground":"#bdae93","peekViewTitleLabel.foreground":"#ebdbb2","progressBar.background":"#689d6a","scmGraph.historyItemHoverDefaultLabelForeground":"#ebdbb2","scmGraph.historyItemHoverLabelForeground":"#ebdbb2","scrollbar.shadow":"#282828","scrollbarSlider.activeBackground":"#689d6a","scrollbarSlider.background":"#50494599","scrollbarSlider.hoverBackground":"#665c54","selection.background":"#689d6a80","sideBar.background":"#282828","sideBar.border":"#3c3836","sideBar.foreground":"#d5c4a1","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.foreground":"#ebdbb2","sideBarTitle.foreground":"#ebdbb2","statusBar.background":"#282828","statusBar.border":"#3c3836","statusBar.debuggingBackground":"#fe8019","statusBar.debuggingBorder":"#0000","statusBar.debuggingForeground":"#282828","statusBar.foreground":"#ebdbb2","statusBar.noFolderBackground":"#282828","statusBar.noFolderBorder":"#0000","tab.activeBackground":"#3c3836","tab.activeBorder":"#689d6a","tab.activeForeground":"#ebdbb2","tab.border":"#0000","tab.inactiveBackground":"#282828","tab.inactiveForeground":"#a89984","tab.unfocusedActiveBorder":"#0000","tab.unfocusedActiveForeground":"#a89984","tab.unfocusedInactiveForeground":"#928374","terminal.ansiBlack":"#3c3836","terminal.ansiBlue":"#458588","terminal.ansiBrightBlack":"#928374","terminal.ansiBrightBlue":"#83a598","terminal.ansiBrightCyan":"#8ec07c","terminal.ansiBrightGreen":"#b8bb26","terminal.ansiBrightMagenta":"#d3869b","terminal.ansiBrightRed":"#fb4934","terminal.ansiBrightWhite":"#ebdbb2","terminal.ansiBrightYellow":"#fabd2f","terminal.ansiCyan":"#689d6a","terminal.ansiGreen":"#98971a","terminal.ansiMagenta":"#b16286","terminal.ansiRed":"#cc241d","terminal.ansiWhite":"#a89984","terminal.ansiYellow":"#d79921","terminal.background":"#282828","terminal.foreground":"#ebdbb2","textLink.activeForeground":"#458588","textLink.foreground":"#83a598","titleBar.activeBackground":"#282828","titleBar.activeForeground":"#ebdbb2","titleBar.inactiveBackground":"#282828","widget.border":"#3c3836","widget.shadow":"#28282830"},"displayName":"Gruvbox Dark Medium","name":"gruvbox-dark-medium","semanticHighlighting":true,"semanticTokenColors":{"component":"#fe8019","constant.builtin":"#d3869b","function":"#8ec07c","function.builtin":"#fe8019","method":"#8ec07c","parameter":"#83a598","property":"#83a598","property:python":"#ebdbb2","variable":"#ebdbb2"},"tokenColors":[{"settings":{"foreground":"#ebdbb2"}},{"scope":"emphasis","settings":{"fontStyle":"italic"}},{"scope":"strong","settings":{"fontStyle":"bold"}},{"scope":"header","settings":{"foreground":"#458588"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#928374"}},{"scope":["constant","support.constant","variable.arguments"],"settings":{"foreground":"#d3869b"}},{"scope":"constant.rgb-value","settings":{"foreground":"#ebdbb2"}},{"scope":"entity.name.selector","settings":{"foreground":"#8ec07c"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#fabd2f"}},{"scope":["entity.name.tag","punctuation.tag"],"settings":{"foreground":"#8ec07c"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#cc241d"}},{"scope":"invalid.deprecated","settings":{"foreground":"#b16286"}},{"scope":"meta.selector","settings":{"foreground":"#8ec07c"}},{"scope":"meta.preprocessor","settings":{"foreground":"#fe8019"}},{"scope":"meta.preprocessor.string","settings":{"foreground":"#b8bb26"}},{"scope":"meta.preprocessor.numeric","settings":{"foreground":"#b8bb26"}},{"scope":"meta.header.diff","settings":{"foreground":"#fe8019"}},{"scope":"storage","settings":{"foreground":"#fb4934"}},{"scope":["storage.type","storage.modifier"],"settings":{"foreground":"#fe8019"}},{"scope":"string","settings":{"foreground":"#b8bb26"}},{"scope":"string.tag","settings":{"foreground":"#b8bb26"}},{"scope":"string.value","settings":{"foreground":"#b8bb26"}},{"scope":"string.regexp","settings":{"foreground":"#fe8019"}},{"scope":"string.escape","settings":{"foreground":"#fb4934"}},{"scope":"string.quasi","settings":{"foreground":"#8ec07c"}},{"scope":"string.entity","settings":{"foreground":"#b8bb26"}},{"scope":"object","settings":{"foreground":"#ebdbb2"}},{"scope":"module.node","settings":{"foreground":"#83a598"}},{"scope":"support.type.property-name","settings":{"foreground":"#689d6a"}},{"scope":"keyword","settings":{"foreground":"#fb4934"}},{"scope":"keyword.control","settings":{"foreground":"#fb4934"}},{"scope":"keyword.control.module","settings":{"foreground":"#8ec07c"}},{"scope":"keyword.control.less","settings":{"foreground":"#d79921"}},{"scope":"keyword.operator","settings":{"foreground":"#8ec07c"}},{"scope":"keyword.operator.new","settings":{"foreground":"#fe8019"}},{"scope":"keyword.other.unit","settings":{"foreground":"#b8bb26"}},{"scope":"metatag.php","settings":{"foreground":"#fe8019"}},{"scope":"support.function.git-rebase","settings":{"foreground":"#689d6a"}},{"scope":"constant.sha.git-rebase","settings":{"foreground":"#b8bb26"}},{"scope":["meta.type.name","meta.return.type","meta.return-type","meta.cast","meta.type.annotation","support.type","storage.type.cs","variable.class"],"settings":{"foreground":"#fabd2f"}},{"scope":["variable.this","support.variable"],"settings":{"foreground":"#d3869b"}},{"scope":["entity.name","entity.static","entity.name.class.static.function","entity.name.function","entity.name.class","entity.name.type"],"settings":{"foreground":"#fabd2f"}},{"scope":["entity.function","entity.name.function.static"],"settings":{"foreground":"#8ec07c"}},{"scope":"entity.name.function.function-call","settings":{"foreground":"#8ec07c"}},{"scope":"support.function.builtin","settings":{"foreground":"#fe8019"}},{"scope":["entity.name.method","entity.name.method.function-call","entity.name.static.function-call"],"settings":{"foreground":"#689d6a"}},{"scope":"brace","settings":{"foreground":"#d5c4a1"}},{"scope":["meta.parameter.type.variable","variable.parameter","variable.name","variable.other","variable","string.constant.other.placeholder"],"settings":{"foreground":"#83a598"}},{"scope":"prototype","settings":{"foreground":"#d3869b"}},{"scope":["punctuation"],"settings":{"foreground":"#a89984"}},{"scope":"punctuation.quoted","settings":{"foreground":"#ebdbb2"}},{"scope":"punctuation.quasi","settings":{"foreground":"#fb4934"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["meta.function.python","entity.name.function.python"],"settings":{"foreground":"#8ec07c"}},{"scope":["storage.type.function.python","storage.modifier.declaration","storage.type.class.python","storage.type.string.python"],"settings":{"foreground":"#fb4934"}},{"scope":["storage.type.function.async.python"],"settings":{"foreground":"#fb4934"}},{"scope":"meta.function-call.generic","settings":{"foreground":"#83a598"}},{"scope":"meta.function-call.arguments","settings":{"foreground":"#d5c4a1"}},{"scope":"entity.name.function.decorator","settings":{"fontStyle":"bold","foreground":"#fabd2f"}},{"scope":"constant.other.caps","settings":{"fontStyle":"bold"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#fb4934"}},{"scope":"punctuation.definition.logical-expression","settings":{"foreground":"#fe8019"}},{"scope":["string.interpolated.dollar.shell","string.interpolated.backtick.shell"],"settings":{"foreground":"#8ec07c"}},{"scope":"keyword.control.directive","settings":{"foreground":"#8ec07c"}},{"scope":"support.function.C99","settings":{"foreground":"#fabd2f"}},{"scope":["meta.function.cs","entity.name.function.cs","entity.name.type.namespace.cs"],"settings":{"foreground":"#b8bb26"}},{"scope":["keyword.other.using.cs","entity.name.variable.field.cs","entity.name.variable.local.cs","variable.other.readwrite.cs"],"settings":{"foreground":"#8ec07c"}},{"scope":["keyword.other.this.cs","keyword.other.base.cs"],"settings":{"foreground":"#d3869b"}},{"scope":"meta.scope.prerequisites","settings":{"foreground":"#fabd2f"}},{"scope":"entity.name.function.target","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":["storage.modifier.import.java","storage.modifier.package.java"],"settings":{"foreground":"#bdae93"}},{"scope":["keyword.other.import.java","keyword.other.package.java"],"settings":{"foreground":"#8ec07c"}},{"scope":"storage.type.java","settings":{"foreground":"#fabd2f"}},{"scope":"storage.type.annotation","settings":{"fontStyle":"bold","foreground":"#83a598"}},{"scope":"keyword.other.documentation.javadoc","settings":{"foreground":"#8ec07c"}},{"scope":"comment.block.javadoc variable.parameter.java","settings":{"fontStyle":"bold","foreground":"#b8bb26"}},{"scope":["source.java variable.other.object","source.java variable.other.definition.java"],"settings":{"foreground":"#ebdbb2"}},{"scope":"meta.function-parameters.lisp","settings":{"foreground":"#fabd2f"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":"string.other.link.title.markdown","settings":{"fontStyle":"underline","foreground":"#928374"}},{"scope":"markup.underline.link","settings":{"foreground":"#d3869b"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#fe8019"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.inserted","settings":{"foreground":"#b8bb26"}},{"scope":"markup.deleted","settings":{"foreground":"#d65d0e"}},{"scope":"markup.changed","settings":{"foreground":"#fe8019"}},{"scope":"markup.punctuation.quote.beginning","settings":{"foreground":"#98971a"}},{"scope":"markup.punctuation.list.beginning","settings":{"foreground":"#83a598"}},{"scope":["markup.inline.raw","markup.fenced_code.block"],"settings":{"foreground":"#8ec07c"}},{"scope":"string.quoted.double.json","settings":{"foreground":"#83a598"}},{"scope":"entity.other.attribute-name.css","settings":{"foreground":"#fe8019"}},{"scope":"source.css meta.selector","settings":{"foreground":"#ebdbb2"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#fe8019"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#b8bb26"}},{"scope":["source.css support.function.transform","source.css support.function.timing-function","source.css support.function.misc"],"settings":{"foreground":"#fb4934"}},{"scope":["support.property-value","constant.rgb-value","support.property-value.scss","constant.rgb-value.scss"],"settings":{"foreground":"#d65d0e"}},{"scope":["entity.name.tag.css"],"settings":{"fontStyle":""}},{"scope":["punctuation.definition.tag"],"settings":{"foreground":"#83a598"}},{"scope":["text.html entity.name.tag","text.html punctuation.tag"],"settings":{"fontStyle":"bold","foreground":"#8ec07c"}},{"scope":["source.js variable.language"],"settings":{"foreground":"#fe8019"}},{"scope":["source.ts variable.language"],"settings":{"foreground":"#fe8019"}},{"scope":["source.go storage.type"],"settings":{"foreground":"#fabd2f"}},{"scope":["source.go entity.name.import"],"settings":{"foreground":"#b8bb26"}},{"scope":["source.go keyword.package","source.go keyword.import"],"settings":{"foreground":"#8ec07c"}},{"scope":["source.go keyword.interface","source.go keyword.struct"],"settings":{"foreground":"#83a598"}},{"scope":["source.go entity.name.type"],"settings":{"foreground":"#ebdbb2"}},{"scope":["source.go entity.name.function"],"settings":{"foreground":"#d3869b"}},{"scope":["keyword.control.cucumber.table"],"settings":{"foreground":"#83a598"}},{"scope":["source.reason string.double","source.reason string.regexp"],"settings":{"foreground":"#b8bb26"}},{"scope":["source.reason keyword.control.less"],"settings":{"foreground":"#8ec07c"}},{"scope":["source.reason entity.name.function"],"settings":{"foreground":"#83a598"}},{"scope":["source.reason support.property-value","source.reason entity.name.filename"],"settings":{"foreground":"#fe8019"}},{"scope":["source.powershell variable.other.member.powershell"],"settings":{"foreground":"#fe8019"}},{"scope":["source.powershell support.function.powershell"],"settings":{"foreground":"#fabd2f"}},{"scope":["source.powershell support.function.attribute.powershell"],"settings":{"foreground":"#bdae93"}},{"scope":["source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell"],"settings":{"foreground":"#fe8019"}},{"scope":["support.function.be.latex","support.function.general.tex","support.function.section.latex","support.function.textbf.latex","support.function.textit.latex","support.function.texttt.latex","support.function.emph.latex","support.function.url.latex"],"settings":{"foreground":"#fb4934"}},{"scope":["support.class.math.block.tex","support.class.math.block.environment.latex"],"settings":{"foreground":"#fe8019"}},{"scope":["keyword.control.preamble.latex","keyword.control.include.latex"],"settings":{"foreground":"#d3869b"}},{"scope":["support.class.latex"],"settings":{"foreground":"#8ec07c"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DFR6f4Jn.js.map diff --git a/src/webview-ui/build/assets/chunk-DFR6f4Jn.js.map b/src/webview-ui/build/assets/chunk-DFR6f4Jn.js.map new file mode 100644 index 0000000000..6877695680 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DFR6f4Jn.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DFR6f4Jn.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/gruvbox-dark-medium.mjs" + ], + "sourcesContent": [ + "/* Theme: gruvbox-dark-medium */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#282828\\\",\\\"activityBar.border\\\":\\\"#3c3836\\\",\\\"activityBar.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#282828\\\",\\\"activityBarTop.foreground\\\":\\\"#ebdbb2\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#ebdbb2\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#282828\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#b8bb2630\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#fb493430\\\",\\\"dropdown.background\\\":\\\"#282828\\\",\\\"dropdown.border\\\":\\\"#3c3836\\\",\\\"dropdown.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.background\\\":\\\"#282828\\\",\\\"editor.findMatchBackground\\\":\\\"#83a59870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fe801930\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#83a59870\\\",\\\"editor.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3c383660\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#fabd2f40\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#a8998490\\\",\\\"editorCursor.foreground\\\":\\\"#ebdbb2\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGroup.border\\\":\\\"#3c3836\\\",\\\"editorGroup.dropBackground\\\":\\\"#3c383660\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#282828\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#282828\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#3c3836\\\",\\\"editorGutter.addedBackground\\\":\\\"#b8bb26\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#fb4934\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#83a598\\\",\\\"editorHoverWidget.background\\\":\\\"#282828\\\",\\\"editorHoverWidget.border\\\":\\\"#3c3836\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#665c54\\\",\\\"editorLink.activeForeground\\\":\\\"#ebdbb2\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#fb4934\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#d3869b\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#665c54\\\",\\\"editorRuler.foreground\\\":\\\"#a8998440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#50494599\\\",\\\"editorStickyScrollHover.background\\\":\\\"#3c383660\\\",\\\"editorSuggestWidget.background\\\":\\\"#282828\\\",\\\"editorSuggestWidget.border\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#3c383660\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#a8998420\\\",\\\"editorWidget.background\\\":\\\"#282828\\\",\\\"editorWidget.border\\\":\\\"#3c3836\\\",\\\"errorForeground\\\":\\\"#fb4934\\\",\\\"extensionButton.prominentBackground\\\":\\\"#b8bb2680\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#b8bb2630\\\",\\\"focusBorder\\\":\\\"#3c3836\\\",\\\"foreground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#7c6f64\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#7c6f64\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#83a598\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#d3869b\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#8ec07c\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#fabd2f\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#8ec07c\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#fabd2f\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#fb4934\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#b8bb26\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#282828a0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fe8019\\\",\\\"icon.foreground\\\":\\\"#ebdbb2\\\",\\\"input.background\\\":\\\"#282828\\\",\\\"input.border\\\":\\\"#3c3836\\\",\\\"input.foreground\\\":\\\"#ebdbb2\\\",\\\"input.placeholderForeground\\\":\\\"#ebdbb260\\\",\\\"inputOption.activeBorder\\\":\\\"#ebdbb260\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#fb4934\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#83a598\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#fabd2f\\\",\\\"list.activeSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.activeSelectionForeground\\\":\\\"#8ec07c\\\",\\\"list.dropBackground\\\":\\\"#3c3836\\\",\\\"list.focusBackground\\\":\\\"#3c3836\\\",\\\"list.focusForeground\\\":\\\"#ebdbb2\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#3c383680\\\",\\\"list.hoverForeground\\\":\\\"#d5c4a1\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#3c3836\\\",\\\"menu.separatorBackground\\\":\\\"#3c3836\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#504945\\\",\\\"notebook.cellEditorBackground\\\":\\\"#3c3836\\\",\\\"notebook.focusedCellBorder\\\":\\\"#a89984\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#504945\\\",\\\"panel.border\\\":\\\"#3c3836\\\",\\\"panelTitle.activeForeground\\\":\\\"#ebdbb2\\\",\\\"peekView.border\\\":\\\"#3c3836\\\",\\\"peekViewEditor.background\\\":\\\"#3c383670\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewEditorGutter.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.lineForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewTitle.background\\\":\\\"#3c383670\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#bdae93\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ebdbb2\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#282828\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#50494599\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#665c54\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#282828\\\",\\\"sideBar.border\\\":\\\"#3c3836\\\",\\\"sideBar.foreground\\\":\\\"#d5c4a1\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#ebdbb2\\\",\\\"sideBarTitle.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.background\\\":\\\"#282828\\\",\\\"statusBar.border\\\":\\\"#3c3836\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fe8019\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#282828\\\",\\\"statusBar.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.noFolderBackground\\\":\\\"#282828\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#3c3836\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#ebdbb2\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#282828\\\",\\\"tab.inactiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#3c3836\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#83a598\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#8ec07c\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#b8bb26\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d3869b\\\",\\\"terminal.ansiBrightRed\\\":\\\"#fb4934\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#fabd2f\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#a89984\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#282828\\\",\\\"terminal.foreground\\\":\\\"#ebdbb2\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#83a598\\\",\\\"titleBar.activeBackground\\\":\\\"#282828\\\",\\\"titleBar.activeForeground\\\":\\\"#ebdbb2\\\",\\\"titleBar.inactiveBackground\\\":\\\"#282828\\\",\\\"widget.border\\\":\\\"#3c3836\\\",\\\"widget.shadow\\\":\\\"#28282830\\\"},\\\"displayName\\\":\\\"Gruvbox Dark Medium\\\",\\\"name\\\":\\\"gruvbox-dark-medium\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#fe8019\\\",\\\"constant.builtin\\\":\\\"#d3869b\\\",\\\"function\\\":\\\"#8ec07c\\\",\\\"function.builtin\\\":\\\"#fe8019\\\",\\\"method\\\":\\\"#8ec07c\\\",\\\"parameter\\\":\\\"#83a598\\\",\\\"property\\\":\\\"#83a598\\\",\\\"property:python\\\":\\\"#ebdbb2\\\",\\\"variable\\\":\\\"#ebdbb2\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a89984\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "gruvboxDarkMedium" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,yyqBAAyrvB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DFXneXwc.js b/src/webview-ui/build/assets/chunk-DFXneXwc.js new file mode 100644 index 0000000000..07c47a8796 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DFXneXwc.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Hy","name":"hy","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comment"},{"include":"#constants"},{"include":"#keywords"},{"include":"#strings"},{"include":"#operators"},{"include":"#keysym"},{"include":"#builtin"},{"include":"#symbol"}]},"builtin":{"patterns":[{"match":"(?]?=|@=?|%=?|<>?=?|&=?|\\\\|=?|\\\\^|~@|~=?|#\\\\*\\\\*?)(?![-!$%\\\\&*./:<-@^_\\\\w])","name":"keyword.control.hy"}]},"strings":{"begin":"(f?\\"|}(?=\\\\N*?[\\"{]))","end":"(\\"|(?<=[\\"}]\\\\N*?)\\\\{)","name":"string.quoted.double.hy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.hy"}]},"symbol":{"match":"(?]?=|@=?|%=?|<>?=?|&=?|\\\\\\\\|=?|\\\\\\\\^|~@|~=?|#\\\\\\\\*\\\\\\\\*?)(?![-!$%\\\\\\\\&*./:<-@^_\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.control.hy\\\"}]},\\\"strings\\\":{\\\"begin\\\":\\\"(f?\\\\\\\"|}(?=\\\\\\\\N*?[\\\\\\\"{]))\\\",\\\"end\\\":\\\"(\\\\\\\"|(?<=[\\\\\\\"}]\\\\\\\\N*?)\\\\\\\\{)\\\",\\\"name\\\":\\\"string.quoted.double.hy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.hy\\\"}]},\\\"symbol\\\":{\\\"match\\\":\\\"(?>>?|[+>~]","name":"punctuation.separator.combinator.css"},{"match":"&","name":"keyword.other.parent-selector.css"}]},"css-commas":{"match":",","name":"punctuation.separator.list.comma.css"},"css-comment":{"patterns":[{"match":"#(\\\\s.+)?(\\\\n|$)","name":"comment.line.imba"},{"match":"^(\\\\t+)(#(\\\\s.+)?(\\\\n|$))","name":"comment.line.imba"}]},"css-escapes":{"patterns":[{"match":"\\\\\\\\\\\\h{1,6}","name":"constant.character.escape.codepoint.css"},{"begin":"\\\\\\\\$\\\\s*","end":"^(?[-\\\\w[^0-\\\\\\\\x]]|\\\\\\\\(?:\\\\h{1,6}|.))+)\\\\s*(?=[]$*=^|~]|/\\\\*)"}]},{"include":"#css-pseudo-classes"},{"include":"#css-pseudo-elements"},{"include":"#css-mixin"}]},"css-size-keywords":{"patterns":[{"match":"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\w])","name":"support.constant.size.property-value.css"}]},"curly-braces":{"begin":"\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"meta.brace.curly.imba"}},"end":"}","endCaptures":{"0":{"name":"meta.brace.curly.imba"}},"patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}]},"decorator":{"begin":"(?\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.imba"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.imba","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.imba"},"2":{"name":"entity.name.tag.directive.imba"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.imba"}},"name":"meta.tag.imba","patterns":[{"match":"path|types|no-default-lib|lib|name","name":"entity.other.attribute-name.directive.imba"},{"match":"=","name":"keyword.operator.assignment.imba"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"()|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.imba"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.imba"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(?=\\\\s+)"}]},"expr":{"patterns":[{"include":"#style-declaration"},{"include":"#object-keys"},{"include":"#generics-literal"},{"include":"#tag-literal"},{"include":"#regex"},{"include":"#keywords"},{"include":"#comment"},{"include":"#literal"},{"include":"#plain-identifiers"},{"include":"#plain-accessors"},{"include":"#pairs"}]},"expression":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.imba"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.imba"}},"patterns":[{"include":"#expr"}]},{"include":"#tag-literal"},{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#literal"},{"include":"#support-objects"}]},"generics-literal":{"begin":"(?<=[])\\\\w])<","beginCaptures":{"1":{"name":"meta.generics.annotation.open.imba"}},"end":">","endCaptures":{"0":{"name":"meta.generics.annotation.close.imba"}},"name":"meta.generics.annotation.imba","patterns":[{"include":"#type-brackets"}]},"global-literal":{"match":"(?=?|<=?)","name":"keyword.operator.imba"},{"match":"(of|delete|!?isa|typeof|!?in|new|!?is|isnt)(?![-$?_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.imba"}]},"literal":{"patterns":[{"include":"#number-with-unit-literal"},{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#this-literal"},{"include":"#global-literal"},{"include":"#super-literal"},{"include":"#type-literal"},{"include":"#generics-literal"},{"include":"#string"}]},"mixin-css-selector":{"begin":"(%[-\\\\w]+)","beginCaptures":{"1":{"name":"entity.other.attribute-name.mixin.css"}},"end":"(\\\\s*(?=[-!$%.@^\\\\w]+\\\\s*[:=][^:])|\\\\s*$|(?=\\\\s+#\\\\s))","endCaptures":{"0":{"name":"punctuation.separator.sel-properties.css"}},"name":"meta.selector.css","patterns":[{"include":"#css-selector-innards"}]},"mixin-css-selector-after":{"begin":"(?<=%[-\\\\w]+)(?![-!$%.@^\\\\w]+\\\\s*[:=][^:])","end":"(\\\\s*(?=[-!$%.@^\\\\w]+\\\\s*[:=][^:])|\\\\s*$|(?=\\\\s+#\\\\s))","endCaptures":{"0":{"name":"punctuation.separator.sel-properties.css"}},"name":"meta.selector.css","patterns":[{"include":"#css-selector-innards"}]},"mixin-declaration":{"begin":"^(\\\\t*)(%[-\\\\w]+)","beginCaptures":{"2":{"name":"entity.other.attribute-name.mixin.css"}},"end":"^(?!(\\\\1\\\\t|\\\\s*$))","name":"meta.style.imba","patterns":[{"include":"#mixin-css-selector-after"},{"include":"#css-comment"},{"include":"#nested-css-selector"},{"include":"#inline-styles"}]},"nested-css-selector":{"begin":"^(\\\\t+)(?![-!$%.@^\\\\w]+\\\\s*[:=][^:])","end":"(\\\\s*(?=[-!$%.@^\\\\w]+\\\\s*[:=][^:])|\\\\s*$|(?=\\\\s+#\\\\s))","endCaptures":{"0":{"name":"punctuation.separator.sel-properties.css"}},"name":"meta.selector.css","patterns":[{"include":"#css-selector-innards"}]},"nested-style-declaration":{"begin":"^(\\\\t+)(?=[\\\\n^]*&)","end":"^(?!(\\\\1\\\\t|\\\\s*$))","name":"meta.style.imba","patterns":[{"include":"#nested-css-selector"},{"include":"#inline-styles"}]},"null-literal":{"match":"(?>=|>>>=|\\\\|=","name":"keyword.operator.assignment.compound.bitwise.imba"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.imba"},{"match":"(?:==|!=|[!=~])=","name":"keyword.operator.comparison.imba"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.imba"},{"captures":{"1":{"name":"keyword.operator.logical.imba"},"2":{"name":"keyword.operator.arithmetic.imba"}},"match":"(!)\\\\s*(/)(?![*/])"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?|or\\\\b(?=\\\\s|$)|and\\\\b(?=\\\\s|$)|@\\\\b(?=\\\\s|$)","name":"keyword.operator.logical.imba"},{"match":"\\\\?(?=\\\\s|$)","name":"keyword.operator.bitwise.imba"},{"match":"[\\\\&^|~]","name":"keyword.operator.ternary.imba"},{"match":"=","name":"keyword.operator.assignment.imba"},{"match":"--","name":"keyword.operator.decrement.imba"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.imba"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.imba"}]},"pairs":{"patterns":[{"include":"#curly-braces"},{"include":"#square-braces"},{"include":"#round-braces"}]},"plain-accessors":{"patterns":[{"captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"variable.other.property.imba"}},"match":"(\\\\.\\\\.?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)"}]},"plain-identifiers":{"patterns":[{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.imba"},{"match":"\\\\p{upper}[$_[:alnum:]]*(?:-[$_[:alnum:]]+)*!?","name":"variable.other.class.imba"},{"match":"\\\\$\\\\d+","name":"variable.special.imba"},{"match":"\\\\$[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"variable.other.internal.imba"},{"match":"@@+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"variable.other.symbol.imba"},{"match":"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"variable.other.readwrite.imba"},{"match":"@[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"variable.other.instance.imba"},{"match":"#+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"variable.other.private.imba"},{"match":":[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"string.symbol.imba"}]},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.imba"},"2":{"name":"punctuation.accessor.optional.imba"}},"match":"(\\\\.)|(\\\\.\\\\.(?!\\\\s*\\\\d|\\\\s+))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.imba"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.imba"},"qstring-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.imba"}},"name":"string.quoted.double.imba","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]},"qstring-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"end":"(')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.imba"},"2":{"name":"invalid.illegal.newline.imba"}},"name":"string.quoted.single.imba","patterns":[{"include":"#string-character-escape"}]},"qstring-single-multi":{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.imba"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.imba"}},"name":"string.quoted.single.imba","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([gimsuy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.imba"}},"end":"(/)([gimsuy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.imba"},"2":{"name":"keyword.other.imba"}},"name":"string.regexp.imba","patterns":[{"include":"#regexp"}]},{"begin":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"root":{"patterns":[{"include":"#block"}]},"round-braces":{"begin":"\\\\s*(\\\\()","beginCaptures":{"1":{"name":"meta.brace.round.imba"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.imba"}},"patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}]},"single-line-comment-consuming-line-ending":{"begin":"(^[\\\\t ]+)?((//|#\\\\s)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.imba"},"2":{"name":"comment.line.double-slash.imba"},"3":{"name":"punctuation.definition.comment.imba"},"4":{"name":"storage.type.internaldeclaration.imba"},"5":{"name":"punctuation.decorator.internaldeclaration.imba"}},"contentName":"comment.line.double-slash.imba","end":"(?=^)"},"square-braces":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.imba"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.imba"}},"patterns":[{"include":"#expr"},{"include":"#punctuation-comma"}]},"string":{"patterns":[{"include":"#qstring-single-multi"},{"include":"#qstring-double-multi"},{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.imba"},"style-declaration":{"begin":"^(\\\\t*)(?:(global|local|export)\\\\s+)?(?:(scoped)\\\\s+)?(css)\\\\s","beginCaptures":{"2":{"name":"keyword.control.export.imba"},"3":{"name":"storage.modifier.imba"},"4":{"name":"storage.type.style.imba"}},"end":"^(?!(\\\\1\\\\t|\\\\s*$))","name":"meta.style.imba","patterns":[{"include":"#css-selector"},{"include":"#css-comment"},{"include":"#nested-css-selector"},{"include":"#inline-styles"}]},"style-expr":{"patterns":[{"captures":{"1":{"name":"constant.numeric.integer.decimal.css"},"2":{"name":"keyword.other.unit.css"}},"match":"\\\\b([0-9][0-9_]*)(\\\\w+|%)?"},{"match":"--[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"support.constant.property-value.var.css"},{"match":"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\w])","name":"support.constant.property-value.size.css"},{"match":"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?","name":"support.constant.property-value.css"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\\\)","name":"meta.function.css","patterns":[{"include":"#style-expr"}]}]},"style-property":{"patterns":[{"begin":"(?=[-!$%.@^\\\\w]+\\\\s*[:=])","beginCaptures":{"1":{"name":"support.function.calc.css"},"2":{"name":"punctuation.section.function.begin.bracket.round.css"}},"end":"\\\\s*[:=]","endCaptures":{"0":{"name":"punctuation.separator.key-value.css"}},"name":"meta.property-name.css","patterns":[{"match":"(?:--|\\\\$)[-$\\\\w]+","name":"support.type.property-name.variable.css"},{"match":"@[!<>]?[0-9]+","name":"support.type.property-name.modifier.breakpoint.css"},{"match":"\\\\^?@+[-$\\\\w]+","name":"support.type.property-name.modifier.css"},{"match":"\\\\^?\\\\.+[-$\\\\w]+","name":"support.type.property-name.modifier.flag.css"},{"match":"\\\\^?%+[-$\\\\w]+","name":"support.type.property-name.modifier.state.css"},{"match":"\\\\.\\\\.[-$\\\\w]+|\\\\^+[%.@][-$\\\\w]+","name":"support.type.property-name.modifier.up.css"},{"match":"\\\\.[-$\\\\w]+","name":"support.type.property-name.modifier.is.css"},{"match":"[-$\\\\w]+","name":"support.type.property-name.css"}]}]},"super-literal":{"match":"(?\\\\[\\\\s])"},"tag-attr-value":{"begin":"(=)","beginCaptures":{"0":{"name":"keyword.operator.tag.assignment"}},"contentName":"meta.tag.attribute-value.imba","end":"(?=[>\\\\s])","patterns":[{"include":"#expr"}]},"tag-classname":{"begin":"\\\\.","contentName":"entity.other.attribute-name.class.css","end":"(?=[(.=>\\\\[\\\\s])","patterns":[{"include":"#tag-interpolated-content"}]},"tag-content":{"patterns":[{"include":"#tag-name"},{"include":"#tag-expr-name"},{"include":"#tag-interpolated-content"},{"include":"#tag-interpolated-parens"},{"include":"#tag-interpolated-brackets"},{"include":"#tag-event-handler"},{"include":"#tag-mixin-name"},{"include":"#tag-classname"},{"include":"#tag-ref"},{"include":"#tag-attr-value"},{"include":"#tag-attr-name"},{"include":"#comment"}]},"tag-event-handler":{"begin":"(@[$_\\\\w]+(?:-[$_\\\\w]+)*)","beginCaptures":{"0":{"name":"entity.other.event-name.imba"}},"contentName":"entity.other.tag.event","end":"(?=[=>\\\\[\\\\s])","patterns":[{"include":"#tag-interpolated-content"},{"include":"#tag-interpolated-parens"},{"begin":"\\\\.","beginCaptures":{"0":{"name":"punctuation.section.tag"}},"end":"(?=[.=>\\\\[\\\\s]|$)","name":"entity.other.event-modifier.imba","patterns":[{"include":"#tag-interpolated-parens"},{"include":"#tag-interpolated-content"}]}]},"tag-expr-name":{"begin":"(?<=<)(?=[{\\\\w])","contentName":"entity.name.tag.imba","end":"(?=[#$%(.>\\\\[\\\\s])","patterns":[{"include":"#tag-interpolated-content"}]},"tag-interpolated-brackets":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"contentName":"meta.embedded.line.imba","end":"]","endCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"name":"meta.tag.expression.imba","patterns":[{"include":"#inline-css-selector"},{"include":"#inline-styles"}]},"tag-interpolated-content":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"contentName":"meta.embedded.line.imba","end":"}","endCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"name":"meta.tag.expression.imba","patterns":[{"include":"#expression"}]},"tag-interpolated-parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"contentName":"meta.embedded.line.imba","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.tag.imba"}},"name":"meta.tag.expression.imba","patterns":[{"include":"#expression"}]},"tag-literal":{"patterns":[{"begin":"(<)(?=[#$%(.@\\\\[{~\\\\w])","beginCaptures":{"1":{"name":"punctuation.section.tag.open.imba"}},"contentName":"meta.tag.attributes.imba","end":"(>)","endCaptures":{"1":{"name":"punctuation.section.tag.close.imba"}},"name":"meta.tag.imba","patterns":[{"include":"#tag-content"}]}]},"tag-mixin-name":{"match":"(%[-\\\\w]+)","name":"entity.other.tag-mixin.imba"},"tag-name":{"patterns":[{"match":"(?<=<)(self|global|slot)(?=[(.>\\\\[\\\\s])","name":"entity.name.tag.special.imba"}]},"tag-ref":{"match":"(\\\\$[-\\\\w]+)","name":"entity.other.tag-ref.imba"},"template":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(\\\\{\\\\{typeArguments}}\\\\s*)?\`)","end":"(?=\`)","name":"string.template.imba","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?))","end":"(?=(\\\\{\\\\{typeArguments}}\\\\s*)?\`)","patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)","name":"entity.name.function.tagged-template.imba"}]}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\\s*(?=(\\\\{\\\\{typeArguments}}\\\\s*)\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.imba"}},"end":"(?=\`)","name":"string.template.imba","patterns":[{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)?(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.imba"},"2":{"name":"punctuation.definition.string.template.begin.imba"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.string.template.end.imba"}},"name":"string.template.imba","patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-substitution-element":{"begin":"(?","patterns":[{"include":"#type-brackets"}]},{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#type-brackets"}]}]},"type-literal":{"begin":"(\\\\\\\\)","beginCaptures":{"1":{"name":"meta.type.annotation.open.imba"}},"end":"(?=[]),.=}\\\\s]|$)","name":"meta.type.annotation.imba","patterns":[{"include":"#type-brackets"}]},"undefined-literal":{"match":"(?>>?|[+>~]\\\",\\\"name\\\":\\\"punctuation.separator.combinator.css\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"keyword.other.parent-selector.css\\\"}]},\\\"css-commas\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.list.comma.css\\\"},\\\"css-comment\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"#(\\\\\\\\s.+)?(\\\\\\\\n|$)\\\",\\\"name\\\":\\\"comment.line.imba\\\"},{\\\"match\\\":\\\"^(\\\\\\\\t+)(#(\\\\\\\\s.+)?(\\\\\\\\n|$))\\\",\\\"name\\\":\\\"comment.line.imba\\\"}]},\\\"css-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\h{1,6}\\\",\\\"name\\\":\\\"constant.character.escape.codepoint.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\$\\\\\\\\s*\\\",\\\"end\\\":\\\"^(?[-\\\\\\\\w[^0-\\\\\\\\\\\\\\\\x]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)\\\\\\\\s*(?=[]$*=^|~]|/\\\\\\\\*)\\\"}]},{\\\"include\\\":\\\"#css-pseudo-classes\\\"},{\\\"include\\\":\\\"#css-pseudo-elements\\\"},{\\\"include\\\":\\\"#css-mixin\\\"}]},\\\"css-size-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.size.property-value.css\\\"}]},\\\"curly-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.curly.imba\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.imba\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.imba\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.imba\\\"}},\\\"name\\\":\\\"meta.tag.imba\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.imba\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.imba\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"()|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.imba\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(?=\\\\\\\\s+)\\\"}]},\\\"expr\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#style-declaration\\\"},{\\\"include\\\":\\\"#object-keys\\\"},{\\\"include\\\":\\\"#generics-literal\\\"},{\\\"include\\\":\\\"#tag-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#plain-identifiers\\\"},{\\\"include\\\":\\\"#plain-accessors\\\"},{\\\"include\\\":\\\"#pairs\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"}]},{\\\"include\\\":\\\"#tag-literal\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"}]},\\\"generics-literal\\\":{\\\"begin\\\":\\\"(?<=[])\\\\\\\\w])<\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.generics.annotation.open.imba\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.generics.annotation.close.imba\\\"}},\\\"name\\\":\\\"meta.generics.annotation.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},\\\"global-literal\\\":{\\\"match\\\":\\\"(?=?|<=?)\\\",\\\"name\\\":\\\"keyword.operator.imba\\\"},{\\\"match\\\":\\\"(of|delete|!?isa|typeof|!?in|new|!?is|isnt)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.imba\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#number-with-unit-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#global-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"},{\\\"include\\\":\\\"#type-literal\\\"},{\\\"include\\\":\\\"#generics-literal\\\"},{\\\"include\\\":\\\"#string\\\"}]},\\\"mixin-css-selector\\\":{\\\"begin\\\":\\\"(%[-\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.mixin.css\\\"}},\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"mixin-css-selector-after\\\":{\\\"begin\\\":\\\"(?<=%[-\\\\\\\\w]+)(?![-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])\\\",\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"mixin-declaration\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t*)(%[-\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.mixin.css\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\t|\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.style.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mixin-css-selector-after\\\"},{\\\"include\\\":\\\"#css-comment\\\"},{\\\"include\\\":\\\"#nested-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"nested-css-selector\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t+)(?![-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])\\\",\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"nested-style-declaration\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t+)(?=[\\\\\\\\n^]*&)\\\",\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\t|\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.style.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nested-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.imba\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.imba\\\"},{\\\"match\\\":\\\"(?:==|!=|[!=~])=\\\",\\\"name\\\":\\\"keyword.operator.comparison.imba\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.imba\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.imba\\\"}},\\\"match\\\":\\\"(!)\\\\\\\\s*(/)(?![*/])\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?|or\\\\\\\\b(?=\\\\\\\\s|$)|and\\\\\\\\b(?=\\\\\\\\s|$)|@\\\\\\\\b(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\?(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.bitwise.imba\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.ternary.imba\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.imba\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.imba\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.imba\\\"}]},\\\"pairs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#curly-braces\\\"},{\\\"include\\\":\\\"#square-braces\\\"},{\\\"include\\\":\\\"#round-braces\\\"}]},\\\"plain-accessors\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.imba\\\"}},\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\.?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\"}]},\\\"plain-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\p{upper}[$_[:alnum:]]*(?:-[$_[:alnum:]]+)*!?\\\",\\\"name\\\":\\\"variable.other.class.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\d+\\\",\\\"name\\\":\\\"variable.special.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\$[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.internal.imba\\\"},{\\\"match\\\":\\\"@@+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.symbol.imba\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.imba\\\"},{\\\"match\\\":\\\"@[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.instance.imba\\\"},{\\\"match\\\":\\\"#+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.private.imba\\\"},{\\\"match\\\":\\\":[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"string.symbol.imba\\\"}]},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.imba\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\.\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d|\\\\\\\\s+))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.imba\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.imba\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"}},\\\"name\\\":\\\"string.quoted.double.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.imba\\\"}},\\\"name\\\":\\\"string.quoted.single.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single-multi\\\":{\\\"begin\\\":\\\"'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"'''\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"}},\\\"name\\\":\\\"string.quoted.single.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([gimsuy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"(/)([gimsuy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.imba\\\"}},\\\"name\\\":\\\"string.regexp.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"root\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}]},\\\"round-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//|#\\\\\\\\s)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.imba\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.imba\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.imba\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"square-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.imba\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single-multi\\\"},{\\\"include\\\":\\\"#qstring-double-multi\\\"},{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.imba\\\"},\\\"style-declaration\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t*)(?:(global|local|export)\\\\\\\\s+)?(?:(scoped)\\\\\\\\s+)?(css)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.export.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.style.imba\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\t|\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.style.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector\\\"},{\\\"include\\\":\\\"#css-comment\\\"},{\\\"include\\\":\\\"#nested-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"style-expr\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.css\\\"}},\\\"match\\\":\\\"\\\\\\\\b([0-9][0-9_]*)(\\\\\\\\w+|%)?\\\"},{\\\"match\\\":\\\"--[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"support.constant.property-value.var.css\\\"},{\\\"match\\\":\\\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.size.css\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.function.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#style-expr\\\"}]}]},\\\"style-property\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\s*[:=]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"name\\\":\\\"meta.property-name.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?:--|\\\\\\\\$)[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.variable.css\\\"},{\\\"match\\\":\\\"@[!<>]?[0-9]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.breakpoint.css\\\"},{\\\"match\\\":\\\"\\\\\\\\^?@+[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.css\\\"},{\\\"match\\\":\\\"\\\\\\\\^?\\\\\\\\.+[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.flag.css\\\"},{\\\"match\\\":\\\"\\\\\\\\^?%+[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.state.css\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.[-$\\\\\\\\w]+|\\\\\\\\^+[%.@][-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.up.css\\\"},{\\\"match\\\":\\\"\\\\\\\\.[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.is.css\\\"},{\\\"match\\\":\\\"[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.css\\\"}]}]},\\\"super-literal\\\":{\\\"match\\\":\\\"(?\\\\\\\\[\\\\\\\\s])\\\"},\\\"tag-attr-value\\\":{\\\"begin\\\":\\\"(=)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.tag.assignment\\\"}},\\\"contentName\\\":\\\"meta.tag.attribute-value.imba\\\",\\\"end\\\":\\\"(?=[>\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"}]},\\\"tag-classname\\\":{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"contentName\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"end\\\":\\\"(?=[(.=>\\\\\\\\[\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-content\\\"}]},\\\"tag-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"},{\\\"include\\\":\\\"#tag-expr-name\\\"},{\\\"include\\\":\\\"#tag-interpolated-content\\\"},{\\\"include\\\":\\\"#tag-interpolated-parens\\\"},{\\\"include\\\":\\\"#tag-interpolated-brackets\\\"},{\\\"include\\\":\\\"#tag-event-handler\\\"},{\\\"include\\\":\\\"#tag-mixin-name\\\"},{\\\"include\\\":\\\"#tag-classname\\\"},{\\\"include\\\":\\\"#tag-ref\\\"},{\\\"include\\\":\\\"#tag-attr-value\\\"},{\\\"include\\\":\\\"#tag-attr-name\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"tag-event-handler\\\":{\\\"begin\\\":\\\"(@[$_\\\\\\\\w]+(?:-[$_\\\\\\\\w]+)*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.event-name.imba\\\"}},\\\"contentName\\\":\\\"entity.other.tag.event\\\",\\\"end\\\":\\\"(?=[=>\\\\\\\\[\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-content\\\"},{\\\"include\\\":\\\"#tag-interpolated-parens\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag\\\"}},\\\"end\\\":\\\"(?=[.=>\\\\\\\\[\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"entity.other.event-modifier.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-parens\\\"},{\\\"include\\\":\\\"#tag-interpolated-content\\\"}]}]},\\\"tag-expr-name\\\":{\\\"begin\\\":\\\"(?<=<)(?=[{\\\\\\\\w])\\\",\\\"contentName\\\":\\\"entity.name.tag.imba\\\",\\\"end\\\":\\\"(?=[#$%(.>\\\\\\\\[\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-content\\\"}]},\\\"tag-interpolated-brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"name\\\":\\\"meta.tag.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"tag-interpolated-content\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"name\\\":\\\"meta.tag.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"tag-interpolated-parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"name\\\":\\\"meta.tag.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"tag-literal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(?=[#$%(.@\\\\\\\\[{~\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.tag.open.imba\\\"}},\\\"contentName\\\":\\\"meta.tag.attributes.imba\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.tag.close.imba\\\"}},\\\"name\\\":\\\"meta.tag.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-content\\\"}]}]},\\\"tag-mixin-name\\\":{\\\"match\\\":\\\"(%[-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"entity.other.tag-mixin.imba\\\"},\\\"tag-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=<)(self|global|slot)(?=[(.>\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.tag.special.imba\\\"}]},\\\"tag-ref\\\":{\\\"match\\\":\\\"(\\\\\\\\$[-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"entity.other.tag-ref.imba\\\"},\\\"template\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(\\\\\\\\{\\\\\\\\{typeArguments}}\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"string.template.imba\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?))\\\",\\\"end\\\":\\\"(?=(\\\\\\\\{\\\\\\\\{typeArguments}}\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.imba\\\"}]}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\\\\\\s*(?=(\\\\\\\\{\\\\\\\\{typeArguments}}\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.imba\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"string.template.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.template.begin.imba\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.template.end.imba\\\"}},\\\"name\\\":\\\"string.template.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"(?\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]}]},\\\"type-literal\\\":{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.annotation.open.imba\\\"}},\\\"end\\\":\\\"(?=[]),.=}\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"meta.type.annotation.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?|\\\\.\\\\.","name":"keyword.operator.typst"},{"match":"==|!=|<=?|>=?","name":"keyword.operator.relational.typst"},{"match":"(?:[-*+]|/?)=","name":"keyword.operator.assignment.typst"},{"match":"[*+/]|(?","name":"entity.other.label.typst"},{"captures":{"1":{"name":"punctuation.definition.reference.typst"}},"match":"(@)[_[:alpha:]][-_[:alnum:]]*","name":"entity.other.reference.typst"},{"begin":"(#)(let|set|show)\\\\b","beginCaptures":{"0":{"name":"keyword.other.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(;)|(?=])","endCaptures":{"1":{"name":"punctuation.terminator.statement.typst"}},"patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.keyword.typst"}},"match":"(#)(as|in)\\\\b","name":"keyword.other.typst"},{"begin":"((#)if|(?<=([]}])\\\\s*)else)\\\\b","beginCaptures":{"0":{"name":"keyword.control.conditional.typst"},"2":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(?=])|(?<=[]}])","patterns":[{"include":"#code"}]},{"begin":"(#)(for|while)\\\\b","beginCaptures":{"0":{"name":"keyword.control.loop.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(?=])|(?<=[]}])","patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.keyword.typst"}},"match":"(#)(break|continue)\\\\b","name":"keyword.control.loop.typst"},{"begin":"(#)(import|include|export)\\\\b","beginCaptures":{"0":{"name":"keyword.control.import.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"end":"\\\\n|(;)|(?=])","endCaptures":{"1":{"name":"punctuation.terminator.statement.typst"}},"patterns":[{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.keyword.typst"}},"match":"(#)(return)\\\\b","name":"keyword.control.flow.typst"},{"captures":{"2":{"name":"punctuation.definition.function.typst"}},"match":"((#)[_[:alpha:]][-_[:alnum:]]*!?)(?=[(\\\\[])","name":"entity.name.function.typst"},{"begin":"(?<=#[_[:alpha:]][-_[:alnum:]]*!?)\\\\(","captures":{"0":{"name":"punctuation.definition.group.typst"}},"end":"\\\\)","patterns":[{"include":"#arguments"}]},{"captures":{"1":{"name":"punctuation.definition.variable.typst"}},"match":"(#)[_[:alpha:]][-._[:alnum:]]*","name":"entity.other.interpolated.typst"},{"begin":"#","end":"\\\\s","name":"meta.block.content.typst","patterns":[{"include":"#code"}]}]}},"scopeName":"source.typst","aliases":["typ"]}', + ), + ), + n = [t] +export { n as default } +//# sourceMappingURL=chunk-DHCkPAjA.js.map diff --git a/src/webview-ui/build/assets/chunk-DHCkPAjA.js.map b/src/webview-ui/build/assets/chunk-DHCkPAjA.js.map new file mode 100644 index 0000000000..50a237bb1d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DHCkPAjA.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DHCkPAjA.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/typst.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Typst\\\",\\\"name\\\":\\\"typst\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markup\\\"}],\\\"repository\\\":{\\\"arguments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]][-_[:alnum:]]*(?=:)\\\",\\\"name\\\":\\\"variable.parameter.typst\\\"},{\\\"include\\\":\\\"#code\\\"}]},\\\"code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#common\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.code.typst\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.block.code.typst\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.content.typst\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.block.content.typst\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markup\\\"}]},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.typst\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.typst\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.colon.typst\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.typst\\\"},{\\\"match\\\":\\\"=>|\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.typst\\\"},{\\\"match\\\":\\\"==|!=|<=?|>=?\\\",\\\"name\\\":\\\"keyword.operator.relational.typst\\\"},{\\\"match\\\":\\\"(?:[-*+]|/?)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.typst\\\"},{\\\"match\\\":\\\"[*+/]|(?\\\",\\\"name\\\":\\\"entity.other.label.typst\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reference.typst\\\"}},\\\"match\\\":\\\"(@)[_[:alpha:]][-_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.other.reference.typst\\\"},{\\\"begin\\\":\\\"(#)(let|set|show)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.typst\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(;)|(?=])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.typst\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"match\\\":\\\"(#)(as|in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.typst\\\"},{\\\"begin\\\":\\\"((#)if|(?<=([]}])\\\\\\\\s*)else)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.conditional.typst\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=])|(?<=[]}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"(#)(for|while)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.typst\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=])|(?<=[]}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"match\\\":\\\"(#)(break|continue)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.loop.typst\\\"},{\\\"begin\\\":\\\"(#)(import|include|export)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.import.typst\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(;)|(?=])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.typst\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.typst\\\"}},\\\"match\\\":\\\"(#)(return)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.typst\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.typst\\\"}},\\\"match\\\":\\\"((#)[_[:alpha:]][-_[:alnum:]]*!?)(?=[(\\\\\\\\[])\\\",\\\"name\\\":\\\"entity.name.function.typst\\\"},{\\\"begin\\\":\\\"(?<=#[_[:alpha:]][-_[:alnum:]]*!?)\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.typst\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arguments\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.typst\\\"}},\\\"match\\\":\\\"(#)[_[:alpha:]][-._[:alnum:]]*\\\",\\\"name\\\":\\\"entity.other.interpolated.typst\\\"},{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"\\\\\\\\s\\\",\\\"name\\\":\\\"meta.block.content.typst\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]}},\\\"scopeName\\\":\\\"source.typst\\\",\\\"aliases\\\":[\\\"typ\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "typst" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,moQAA+nS,CAAC,EAEvpSC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DHJKELXO.js b/src/webview-ui/build/assets/chunk-DHJKELXO.js new file mode 100644 index 0000000000..65af1b1964 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DHJKELXO.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBorder":"#f9826c","activityBar.background":"#24292e","activityBar.border":"#1b1f23","activityBar.foreground":"#e1e4e8","activityBar.inactiveForeground":"#6a737d","activityBarBadge.background":"#0366d6","activityBarBadge.foreground":"#fff","badge.background":"#044289","badge.foreground":"#c8e1ff","breadcrumb.activeSelectionForeground":"#d1d5da","breadcrumb.focusForeground":"#e1e4e8","breadcrumb.foreground":"#959da5","breadcrumbPicker.background":"#2b3036","button.background":"#176f2c","button.foreground":"#dcffe4","button.hoverBackground":"#22863a","button.secondaryBackground":"#444d56","button.secondaryForeground":"#fff","button.secondaryHoverBackground":"#586069","checkbox.background":"#444d56","checkbox.border":"#1b1f23","debugToolBar.background":"#2b3036","descriptionForeground":"#959da5","diffEditor.insertedTextBackground":"#28a74530","diffEditor.removedTextBackground":"#d73a4930","dropdown.background":"#2f363d","dropdown.border":"#1b1f23","dropdown.foreground":"#e1e4e8","dropdown.listBackground":"#24292e","editor.background":"#24292e","editor.findMatchBackground":"#ffd33d44","editor.findMatchHighlightBackground":"#ffd33d22","editor.focusedStackFrameHighlightBackground":"#2b6a3033","editor.foldBackground":"#58606915","editor.foreground":"#e1e4e8","editor.inactiveSelectionBackground":"#3392FF22","editor.lineHighlightBackground":"#2b3036","editor.linkedEditingBackground":"#3392FF22","editor.selectionBackground":"#3392FF44","editor.selectionHighlightBackground":"#17E5E633","editor.selectionHighlightBorder":"#17E5E600","editor.stackFrameHighlightBackground":"#C6902625","editor.wordHighlightBackground":"#17E5E600","editor.wordHighlightBorder":"#17E5E699","editor.wordHighlightStrongBackground":"#17E5E600","editor.wordHighlightStrongBorder":"#17E5E666","editorBracketHighlight.foreground1":"#79b8ff","editorBracketHighlight.foreground2":"#ffab70","editorBracketHighlight.foreground3":"#b392f0","editorBracketHighlight.foreground4":"#79b8ff","editorBracketHighlight.foreground5":"#ffab70","editorBracketHighlight.foreground6":"#b392f0","editorBracketMatch.background":"#17E5E650","editorBracketMatch.border":"#17E5E600","editorCursor.foreground":"#c8e1ff","editorError.foreground":"#f97583","editorGroup.border":"#1b1f23","editorGroupHeader.tabsBackground":"#1f2428","editorGroupHeader.tabsBorder":"#1b1f23","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#ea4a5a","editorGutter.modifiedBackground":"#2188ff","editorIndentGuide.activeBackground":"#444d56","editorIndentGuide.background":"#2f363d","editorLineNumber.activeForeground":"#e1e4e8","editorLineNumber.foreground":"#444d56","editorOverviewRuler.border":"#1b1f23","editorWarning.foreground":"#ffea7f","editorWhitespace.foreground":"#444d56","editorWidget.background":"#1f2428","errorForeground":"#f97583","focusBorder":"#005cc5","foreground":"#d1d5da","gitDecoration.addedResourceForeground":"#34d058","gitDecoration.conflictingResourceForeground":"#ffab70","gitDecoration.deletedResourceForeground":"#ea4a5a","gitDecoration.ignoredResourceForeground":"#6a737d","gitDecoration.modifiedResourceForeground":"#79b8ff","gitDecoration.submoduleResourceForeground":"#6a737d","gitDecoration.untrackedResourceForeground":"#34d058","input.background":"#2f363d","input.border":"#1b1f23","input.foreground":"#e1e4e8","input.placeholderForeground":"#959da5","list.activeSelectionBackground":"#39414a","list.activeSelectionForeground":"#e1e4e8","list.focusBackground":"#044289","list.hoverBackground":"#282e34","list.hoverForeground":"#e1e4e8","list.inactiveFocusBackground":"#1d2d3e","list.inactiveSelectionBackground":"#282e34","list.inactiveSelectionForeground":"#e1e4e8","notificationCenterHeader.background":"#24292e","notificationCenterHeader.foreground":"#959da5","notifications.background":"#2f363d","notifications.border":"#1b1f23","notifications.foreground":"#e1e4e8","notificationsErrorIcon.foreground":"#ea4a5a","notificationsInfoIcon.foreground":"#79b8ff","notificationsWarningIcon.foreground":"#ffab70","panel.background":"#1f2428","panel.border":"#1b1f23","panelInput.border":"#2f363d","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#e1e4e8","panelTitle.inactiveForeground":"#959da5","peekViewEditor.background":"#1f242888","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.background":"#1f2428","peekViewResult.matchHighlightBackground":"#ffd33d33","pickerGroup.border":"#444d56","pickerGroup.foreground":"#e1e4e8","progressBar.background":"#0366d6","quickInput.background":"#24292e","quickInput.foreground":"#e1e4e8","scrollbar.shadow":"#0008","scrollbarSlider.activeBackground":"#6a737d88","scrollbarSlider.background":"#6a737d33","scrollbarSlider.hoverBackground":"#6a737d44","settings.headerForeground":"#e1e4e8","settings.modifiedItemIndicator":"#0366d6","sideBar.background":"#1f2428","sideBar.border":"#1b1f23","sideBar.foreground":"#d1d5da","sideBarSectionHeader.background":"#1f2428","sideBarSectionHeader.border":"#1b1f23","sideBarSectionHeader.foreground":"#e1e4e8","sideBarTitle.foreground":"#e1e4e8","statusBar.background":"#24292e","statusBar.border":"#1b1f23","statusBar.debuggingBackground":"#931c06","statusBar.debuggingForeground":"#fff","statusBar.foreground":"#d1d5da","statusBar.noFolderBackground":"#24292e","statusBarItem.prominentBackground":"#282e34","statusBarItem.remoteBackground":"#24292e","statusBarItem.remoteForeground":"#d1d5da","tab.activeBackground":"#24292e","tab.activeBorder":"#24292e","tab.activeBorderTop":"#f9826c","tab.activeForeground":"#e1e4e8","tab.border":"#1b1f23","tab.hoverBackground":"#24292e","tab.inactiveBackground":"#1f2428","tab.inactiveForeground":"#959da5","tab.unfocusedActiveBorder":"#24292e","tab.unfocusedActiveBorderTop":"#1b1f23","tab.unfocusedHoverBackground":"#24292e","terminal.ansiBlack":"#586069","terminal.ansiBlue":"#2188ff","terminal.ansiBrightBlack":"#959da5","terminal.ansiBrightBlue":"#79b8ff","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightGreen":"#85e89d","terminal.ansiBrightMagenta":"#b392f0","terminal.ansiBrightRed":"#f97583","terminal.ansiBrightWhite":"#fafbfc","terminal.ansiBrightYellow":"#ffea7f","terminal.ansiCyan":"#39c5cf","terminal.ansiGreen":"#34d058","terminal.ansiMagenta":"#b392f0","terminal.ansiRed":"#ea4a5a","terminal.ansiWhite":"#d1d5da","terminal.ansiYellow":"#ffea7f","terminal.foreground":"#d1d5da","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#586069","terminalCursor.foreground":"#79b8ff","textBlockQuote.background":"#24292e","textBlockQuote.border":"#444d56","textCodeBlock.background":"#2f363d","textLink.activeForeground":"#c8e1ff","textLink.foreground":"#79b8ff","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","titleBar.activeBackground":"#24292e","titleBar.activeForeground":"#e1e4e8","titleBar.border":"#1b1f23","titleBar.inactiveBackground":"#1f2428","titleBar.inactiveForeground":"#959da5","tree.indentGuidesStroke":"#2f363d","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"displayName":"GitHub Dark","name":"github-dark","semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#79b8ff"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#b392f0"}},{"scope":"variable.parameter.function","settings":{"foreground":"#e1e4e8"}},{"scope":"entity.name.tag","settings":{"foreground":"#85e89d"}},{"scope":"keyword","settings":{"foreground":"#f97583"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f97583"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e1e4e8"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#9ecbff"}},{"scope":"support","settings":{"foreground":"#79b8ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79b8ff"}},{"scope":"variable","settings":{"foreground":"#ffab70"}},{"scope":"variable.other","settings":{"foreground":"#e1e4e8"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"background":"#f97583","content":"^M","fontStyle":"italic underline","foreground":"#24292e"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#79b8ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#dbedff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#dbedff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#85e89d"}},{"scope":"support.constant","settings":{"foreground":"#79b8ff"}},{"scope":"support.variable","settings":{"foreground":"#79b8ff"}},{"scope":"meta.module-reference","settings":{"foreground":"#79b8ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffab70"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"markup.quote","settings":{"foreground":"#85e89d"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e1e4e8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e1e4e8"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79b8ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79b8ff","foreground":"#2f363d"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#b392f0"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"fontStyle":"underline","foreground":"#dbedff"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DHJKELXO.js.map diff --git a/src/webview-ui/build/assets/chunk-DHJKELXO.js.map b/src/webview-ui/build/assets/chunk-DHJKELXO.js.map new file mode 100644 index 0000000000..b002798da0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DHJKELXO.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DHJKELXO.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/github-dark.mjs" + ], + "sourcesContent": [ + "/* Theme: github-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f9826c\\\",\\\"activityBar.background\\\":\\\"#24292e\\\",\\\"activityBar.border\\\":\\\"#1b1f23\\\",\\\"activityBar.foreground\\\":\\\"#e1e4e8\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6a737d\\\",\\\"activityBarBadge.background\\\":\\\"#0366d6\\\",\\\"activityBarBadge.foreground\\\":\\\"#fff\\\",\\\"badge.background\\\":\\\"#044289\\\",\\\"badge.foreground\\\":\\\"#c8e1ff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#d1d5da\\\",\\\"breadcrumb.focusForeground\\\":\\\"#e1e4e8\\\",\\\"breadcrumb.foreground\\\":\\\"#959da5\\\",\\\"breadcrumbPicker.background\\\":\\\"#2b3036\\\",\\\"button.background\\\":\\\"#176f2c\\\",\\\"button.foreground\\\":\\\"#dcffe4\\\",\\\"button.hoverBackground\\\":\\\"#22863a\\\",\\\"button.secondaryBackground\\\":\\\"#444d56\\\",\\\"button.secondaryForeground\\\":\\\"#fff\\\",\\\"button.secondaryHoverBackground\\\":\\\"#586069\\\",\\\"checkbox.background\\\":\\\"#444d56\\\",\\\"checkbox.border\\\":\\\"#1b1f23\\\",\\\"debugToolBar.background\\\":\\\"#2b3036\\\",\\\"descriptionForeground\\\":\\\"#959da5\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#28a74530\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d73a4930\\\",\\\"dropdown.background\\\":\\\"#2f363d\\\",\\\"dropdown.border\\\":\\\"#1b1f23\\\",\\\"dropdown.foreground\\\":\\\"#e1e4e8\\\",\\\"dropdown.listBackground\\\":\\\"#24292e\\\",\\\"editor.background\\\":\\\"#24292e\\\",\\\"editor.findMatchBackground\\\":\\\"#ffd33d44\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ffd33d22\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#2b6a3033\\\",\\\"editor.foldBackground\\\":\\\"#58606915\\\",\\\"editor.foreground\\\":\\\"#e1e4e8\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#3392FF22\\\",\\\"editor.lineHighlightBackground\\\":\\\"#2b3036\\\",\\\"editor.linkedEditingBackground\\\":\\\"#3392FF22\\\",\\\"editor.selectionBackground\\\":\\\"#3392FF44\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#17E5E633\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#17E5E600\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#C6902625\\\",\\\"editor.wordHighlightBackground\\\":\\\"#17E5E600\\\",\\\"editor.wordHighlightBorder\\\":\\\"#17E5E699\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#17E5E600\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#17E5E666\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#79b8ff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#ffab70\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#b392f0\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#79b8ff\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ffab70\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#b392f0\\\",\\\"editorBracketMatch.background\\\":\\\"#17E5E650\\\",\\\"editorBracketMatch.border\\\":\\\"#17E5E600\\\",\\\"editorCursor.foreground\\\":\\\"#c8e1ff\\\",\\\"editorError.foreground\\\":\\\"#f97583\\\",\\\"editorGroup.border\\\":\\\"#1b1f23\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1f2428\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#1b1f23\\\",\\\"editorGutter.addedBackground\\\":\\\"#28a745\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ea4a5a\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#2188ff\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#444d56\\\",\\\"editorIndentGuide.background\\\":\\\"#2f363d\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e1e4e8\\\",\\\"editorLineNumber.foreground\\\":\\\"#444d56\\\",\\\"editorOverviewRuler.border\\\":\\\"#1b1f23\\\",\\\"editorWarning.foreground\\\":\\\"#ffea7f\\\",\\\"editorWhitespace.foreground\\\":\\\"#444d56\\\",\\\"editorWidget.background\\\":\\\"#1f2428\\\",\\\"errorForeground\\\":\\\"#f97583\\\",\\\"focusBorder\\\":\\\"#005cc5\\\",\\\"foreground\\\":\\\"#d1d5da\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#34d058\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#ffab70\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ea4a5a\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6a737d\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#79b8ff\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#6a737d\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#34d058\\\",\\\"input.background\\\":\\\"#2f363d\\\",\\\"input.border\\\":\\\"#1b1f23\\\",\\\"input.foreground\\\":\\\"#e1e4e8\\\",\\\"input.placeholderForeground\\\":\\\"#959da5\\\",\\\"list.activeSelectionBackground\\\":\\\"#39414a\\\",\\\"list.activeSelectionForeground\\\":\\\"#e1e4e8\\\",\\\"list.focusBackground\\\":\\\"#044289\\\",\\\"list.hoverBackground\\\":\\\"#282e34\\\",\\\"list.hoverForeground\\\":\\\"#e1e4e8\\\",\\\"list.inactiveFocusBackground\\\":\\\"#1d2d3e\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#282e34\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e1e4e8\\\",\\\"notificationCenterHeader.background\\\":\\\"#24292e\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#959da5\\\",\\\"notifications.background\\\":\\\"#2f363d\\\",\\\"notifications.border\\\":\\\"#1b1f23\\\",\\\"notifications.foreground\\\":\\\"#e1e4e8\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#ea4a5a\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#79b8ff\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ffab70\\\",\\\"panel.background\\\":\\\"#1f2428\\\",\\\"panel.border\\\":\\\"#1b1f23\\\",\\\"panelInput.border\\\":\\\"#2f363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#f9826c\\\",\\\"panelTitle.activeForeground\\\":\\\"#e1e4e8\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#959da5\\\",\\\"peekViewEditor.background\\\":\\\"#1f242888\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"peekViewResult.background\\\":\\\"#1f2428\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"pickerGroup.border\\\":\\\"#444d56\\\",\\\"pickerGroup.foreground\\\":\\\"#e1e4e8\\\",\\\"progressBar.background\\\":\\\"#0366d6\\\",\\\"quickInput.background\\\":\\\"#24292e\\\",\\\"quickInput.foreground\\\":\\\"#e1e4e8\\\",\\\"scrollbar.shadow\\\":\\\"#0008\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#6a737d88\\\",\\\"scrollbarSlider.background\\\":\\\"#6a737d33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6a737d44\\\",\\\"settings.headerForeground\\\":\\\"#e1e4e8\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#0366d6\\\",\\\"sideBar.background\\\":\\\"#1f2428\\\",\\\"sideBar.border\\\":\\\"#1b1f23\\\",\\\"sideBar.foreground\\\":\\\"#d1d5da\\\",\\\"sideBarSectionHeader.background\\\":\\\"#1f2428\\\",\\\"sideBarSectionHeader.border\\\":\\\"#1b1f23\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#e1e4e8\\\",\\\"sideBarTitle.foreground\\\":\\\"#e1e4e8\\\",\\\"statusBar.background\\\":\\\"#24292e\\\",\\\"statusBar.border\\\":\\\"#1b1f23\\\",\\\"statusBar.debuggingBackground\\\":\\\"#931c06\\\",\\\"statusBar.debuggingForeground\\\":\\\"#fff\\\",\\\"statusBar.foreground\\\":\\\"#d1d5da\\\",\\\"statusBar.noFolderBackground\\\":\\\"#24292e\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#282e34\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#24292e\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#d1d5da\\\",\\\"tab.activeBackground\\\":\\\"#24292e\\\",\\\"tab.activeBorder\\\":\\\"#24292e\\\",\\\"tab.activeBorderTop\\\":\\\"#f9826c\\\",\\\"tab.activeForeground\\\":\\\"#e1e4e8\\\",\\\"tab.border\\\":\\\"#1b1f23\\\",\\\"tab.hoverBackground\\\":\\\"#24292e\\\",\\\"tab.inactiveBackground\\\":\\\"#1f2428\\\",\\\"tab.inactiveForeground\\\":\\\"#959da5\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#24292e\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#1b1f23\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#24292e\\\",\\\"terminal.ansiBlack\\\":\\\"#586069\\\",\\\"terminal.ansiBlue\\\":\\\"#2188ff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#959da5\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#79b8ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#85e89d\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#b392f0\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f97583\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fafbfc\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffea7f\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#34d058\\\",\\\"terminal.ansiMagenta\\\":\\\"#b392f0\\\",\\\"terminal.ansiRed\\\":\\\"#ea4a5a\\\",\\\"terminal.ansiWhite\\\":\\\"#d1d5da\\\",\\\"terminal.ansiYellow\\\":\\\"#ffea7f\\\",\\\"terminal.foreground\\\":\\\"#d1d5da\\\",\\\"terminal.tab.activeBorder\\\":\\\"#f9826c\\\",\\\"terminalCursor.background\\\":\\\"#586069\\\",\\\"terminalCursor.foreground\\\":\\\"#79b8ff\\\",\\\"textBlockQuote.background\\\":\\\"#24292e\\\",\\\"textBlockQuote.border\\\":\\\"#444d56\\\",\\\"textCodeBlock.background\\\":\\\"#2f363d\\\",\\\"textLink.activeForeground\\\":\\\"#c8e1ff\\\",\\\"textLink.foreground\\\":\\\"#79b8ff\\\",\\\"textPreformat.foreground\\\":\\\"#d1d5da\\\",\\\"textSeparator.foreground\\\":\\\"#586069\\\",\\\"titleBar.activeBackground\\\":\\\"#24292e\\\",\\\"titleBar.activeForeground\\\":\\\"#e1e4e8\\\",\\\"titleBar.border\\\":\\\"#1b1f23\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1f2428\\\",\\\"titleBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#444d56\\\"},\\\"displayName\\\":\\\"GitHub Dark\\\",\\\"name\\\":\\\"github-dark\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6a737d\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97583\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f97583\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ecbff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#f97583\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbedff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbedff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#86181d\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#144620\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#c24e00\\\",\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79b8ff\\\",\\\"foreground\\\":\\\"#2f363d\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d1d5da\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#dbedff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "githubDark" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,mlWAAq4Y,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DIHx2sdZ.js b/src/webview-ui/build/assets/chunk-DIHx2sdZ.js new file mode 100644 index 0000000000..50529c5470 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DIHx2sdZ.js @@ -0,0 +1,47 @@ +import e from "./chunk-DlfHMoPT.js" +import s from "./chunk-DPfMkruS.js" +import t from "./chunk-BMMyXqK5.js" +import n from "./chunk-DXETW7eA.js" +import i from "./chunk-CXhxxCfG.js" +import c from "./chunk-B9xm8XSJ.js" +import l from "./chunk-B_vNuMnf.js" +import "./chunk-BIGW1oBm.js" +import "./chunk-CylS5w8V.js" +const m = Object.freeze( + JSON.parse( + '{"fileTypes":["js","jsx","ts","tsx","html","vue","svelte","php","res"],"injectTo":["source.ts","source.js"],"injectionSelector":"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string, L:source.vue -comment -string, L:source.svelte -comment -string, L:source.php -comment -string, L:source.rescript -comment -string","injections":{"L:source":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"es-tag-css","patterns":[{"begin":"(?i)(\\\\s?/\\\\*\\\\s?((?:|inline-)css)\\\\s?\\\\*/\\\\s?)(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.css"},{"include":"inline.es6-htmlx#template"}]},{"begin":"(?i)(\\\\s*((?:|inline-)css))(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.css"},{"include":"inline.es6-htmlx#template"},{"include":"string.quoted.other.template.js"}]},{"begin":"(?i)(?<=[(,:=\\\\s]|\\\\$\\\\()\\\\s*(((/\\\\*)|(//))\\\\s?((?:|inline-)css) {0,1000}\\\\*?/?) {0,1000}$","beginCaptures":{"1":{"name":"comment.line"}},"end":"(`).*","patterns":[{"begin":"\\\\G()","end":"(`)"},{"include":"source.ts#template-substitution-element"},{"include":"source.css"}]},{"begin":"(\\\\$\\\\{)","beginCaptures":{"1":{"name":"entity.name.tag"}},"end":"(})","endCaptures":{"1":{"name":"entity.name.tag"}},"patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.js"}]}],"scopeName":"inline.es6-css","embeddedLangs":["typescript","css","javascript"]}', + ), + ), + r = [...e, ...s, ...t, m], + a = Object.freeze( + JSON.parse( + '{"fileTypes":["js","jsx","ts","tsx","html","vue","svelte","php","res"],"injectTo":["source.ts","source.js"],"injectionSelector":"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string","injections":{"L:source":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"es-tag-glsl","patterns":[{"begin":"(?i)(\\\\s?/\\\\*\\\\s?((?:|inline-)glsl)\\\\s?\\\\*/\\\\s?)(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.glsl"},{"include":"inline.es6-htmlx#template"}]},{"begin":"(?i)(\\\\s*((?:|inline-)glsl))(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.glsl"},{"include":"inline.es6-htmlx#template"},{"include":"string.quoted.other.template.js"}]},{"begin":"(?i)(?<=[(,:=\\\\s]|\\\\$\\\\()\\\\s*(((/\\\\*)|(//))\\\\s?((?:|inline-)glsl) {0,1000}\\\\*?/?) {0,1000}$","beginCaptures":{"1":{"name":"comment.line"}},"end":"(`).*","patterns":[{"begin":"\\\\G()","end":"(`)"},{"include":"source.ts#template-substitution-element"},{"include":"source.glsl"}]},{"begin":"(\\\\$\\\\{)","beginCaptures":{"1":{"name":"entity.name.tag"}},"end":"(})","endCaptures":{"1":{"name":"entity.name.tag"}},"patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.js"}]}],"scopeName":"inline.es6-glsl","embeddedLangs":["typescript","glsl","javascript"]}', + ), + ), + o = [...e, ...n, ...t, a], + u = Object.freeze( + JSON.parse( + '{"fileTypes":["js","jsx","ts","tsx","html","vue","svelte","php","res"],"injectTo":["source.ts","source.js"],"injectionSelector":"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string","injections":{"L:source":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"es-tag-html","patterns":[{"begin":"(?i)(\\\\s?/\\\\*\\\\s?(html|template|inline-html|inline-template)\\\\s?\\\\*/\\\\s?)(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"text.html.basic"},{"include":"inline.es6-htmlx#template"}]},{"begin":"(?i)(\\\\s*(html|template|inline-html|inline-template))(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"text.html.basic"},{"include":"inline.es6-htmlx#template"},{"include":"string.quoted.other.template.js"}]},{"begin":"(?i)(?<=[(,:=\\\\s]|\\\\$\\\\()\\\\s*(((/\\\\*)|(//))\\\\s?(html|template|inline-html|inline-template) {0,1000}\\\\*?/?) {0,1000}$","beginCaptures":{"1":{"name":"comment.line"}},"end":"(`).*","patterns":[{"begin":"\\\\G()","end":"(`)"},{"include":"source.ts#template-substitution-element"},{"include":"text.html.basic"}]},{"begin":"(\\\\$\\\\{)","beginCaptures":{"1":{"name":"entity.name.tag"}},"end":"(})","endCaptures":{"1":{"name":"entity.name.tag"}},"patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.js"}]},{"begin":"(\\\\$\\\\(`)","beginCaptures":{"1":{"name":"entity.name.tag"}},"end":"(`\\\\))","endCaptures":{"1":{"name":"entity.name.tag"}},"patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.js"}]}],"scopeName":"inline.es6-html","embeddedLangs":["typescript","html","javascript"]}', + ), + ), + p = [...e, ...i, ...t, u], + g = Object.freeze( + JSON.parse( + '{"fileTypes":["js","jsx","ts","tsx","html","vue","svelte","php","res"],"injectTo":["source.ts","source.js"],"injectionSelector":"L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string","injections":{"L:source":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"es-tag-sql","patterns":[{"begin":"(?i)\\\\b(\\\\w+\\\\.sql)\\\\s*(`)","beginCaptures":{"1":{"name":"variable.parameter"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.ts#string-character-escape"},{"include":"source.sql"},{"include":"source.plpgsql.postgres"},{"match":"."}]},{"begin":"(?i)(\\\\s?/?\\\\*?\\\\s?((?:|inline-)sql)\\\\s?\\\\*?/?\\\\s?)(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"source.ts#string-character-escape"},{"include":"source.sql"},{"include":"source.plpgsql.postgres"},{"match":"."}]},{"begin":"(?i)(?<=[(,:=\\\\s]|\\\\$\\\\()\\\\s*(((/\\\\*)|(//))\\\\s?((?:|inline-)sql) {0,1000}\\\\*?/?) {0,1000}$","beginCaptures":{"1":{"name":"comment.line"}},"end":"(`)","patterns":[{"begin":"\\\\G()","end":"(`)"},{"include":"source.ts#template-substitution-element"},{"include":"source.ts#string-character-escape"},{"include":"source.sql"},{"include":"source.plpgsql.postgres"},{"match":"."}]}],"scopeName":"inline.es6-sql","embeddedLangs":["typescript","sql"]}', + ), + ), + d = [...e, ...c, g], + b = Object.freeze( + JSON.parse( + '{"fileTypes":["js","jsx","ts","tsx","html","vue","svelte","php","res"],"injectTo":["source.ts","source.js"],"injectionSelector":"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string","injections":{"L:source":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"es-tag-xml","patterns":[{"begin":"(?i)(\\\\s?/\\\\*\\\\s?(xml|svg|inline-svg|inline-xml)\\\\s?\\\\*/\\\\s?)(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"text.xml"}]},{"begin":"(?i)(\\\\s*((?:|inline-)xml))(`)","beginCaptures":{"1":{"name":"comment.block"}},"end":"(`)","patterns":[{"include":"text.xml"}]},{"begin":"(?i)(?<=[(,:=\\\\s]|\\\\$\\\\()\\\\s*(((/\\\\*)|(//))\\\\s?(xml|svg|inline-svg|inline-xml) {0,1000}\\\\*?/?) {0,1000}$","beginCaptures":{"1":{"name":"comment.line"}},"end":"(`).*","patterns":[{"begin":"\\\\G()","end":"(`)"},{"include":"text.xml"}]}],"scopeName":"inline.es6-xml","embeddedLangs":["xml"]}', + ), + ), + j = [...l, b], + h = Object.freeze( + JSON.parse( + '{"displayName":"TypeScript with Tags","name":"ts-tags","patterns":[{"include":"source.ts"}],"scopeName":"source.ts.tags","embeddedLangs":["typescript","es-tag-css","es-tag-glsl","es-tag-html","es-tag-sql","es-tag-xml"],"aliases":["lit"]}', + ), + ), + N = [...e, ...r, ...o, ...p, ...d, ...j, h] +export { N as default } +//# sourceMappingURL=chunk-DIHx2sdZ.js.map diff --git a/src/webview-ui/build/assets/chunk-DIHx2sdZ.js.map b/src/webview-ui/build/assets/chunk-DIHx2sdZ.js.map new file mode 100644 index 0000000000..151f5f90e9 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DIHx2sdZ.js.map @@ -0,0 +1,46 @@ +{ + "version": 3, + "file": "chunk-DIHx2sdZ.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/es-tag-css.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/es-tag-glsl.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/es-tag-html.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/es-tag-sql.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/es-tag-xml.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ts-tags.mjs" + ], + "sourcesContent": [ + "import typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string, L:source.vue -comment -string, L:source.svelte -comment -string, L:source.php -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?((?:|inline-)css)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*((?:|inline-)css))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"},{\\\"include\\\":\\\"string.quoted.other.template.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?((?:|inline-)css) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-css\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"css\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...typescript,\n...css,\n...javascript,\nlang\n]\n", + "import typescript from './typescript.mjs'\nimport glsl from './glsl.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-glsl\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?((?:|inline-)glsl)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.glsl\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*((?:|inline-)glsl))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.glsl\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"},{\\\"include\\\":\\\"string.quoted.other.template.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?((?:|inline-)glsl) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.glsl\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-glsl\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"glsl\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...typescript,\n...glsl,\n...javascript,\nlang\n]\n", + "import typescript from './typescript.mjs'\nimport html from './html.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?(html|template|inline-html|inline-template)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*(html|template|inline-html|inline-template))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"},{\\\"include\\\":\\\"string.quoted.other.template.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?(html|template|inline-html|inline-template) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(`\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-html\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"html\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...typescript,\n...html,\n...javascript,\nlang\n]\n", + "import typescript from './typescript.mjs'\nimport sql from './sql.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-sql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(\\\\\\\\w+\\\\\\\\.sql)\\\\\\\\s*(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.ts#string-character-escape\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"source.plpgsql.postgres\\\"},{\\\"match\\\":\\\".\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/?\\\\\\\\*?\\\\\\\\s?((?:|inline-)sql)\\\\\\\\s?\\\\\\\\*?/?\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.ts#string-character-escape\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"source.plpgsql.postgres\\\"},{\\\"match\\\":\\\".\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?((?:|inline-)sql) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.ts#string-character-escape\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"source.plpgsql.postgres\\\"},{\\\"match\\\":\\\".\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-sql\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"sql\\\"]}\"))\n\nexport default [\n...typescript,\n...sql,\nlang\n]\n", + "import xml from './xml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string, L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?(xml|svg|inline-svg|inline-xml)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*((?:|inline-)xml))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?(xml|svg|inline-svg|inline-xml) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"text.xml\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-xml\\\",\\\"embeddedLangs\\\":[\\\"xml\\\"]}\"))\n\nexport default [\n...xml,\nlang\n]\n", + "import typescript from './typescript.mjs'\nimport es_tag_css from './es-tag-css.mjs'\nimport es_tag_glsl from './es-tag-glsl.mjs'\nimport es_tag_html from './es-tag-html.mjs'\nimport es_tag_sql from './es-tag-sql.mjs'\nimport es_tag_xml from './es-tag-xml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TypeScript with Tags\\\",\\\"name\\\":\\\"ts-tags\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"scopeName\\\":\\\"source.ts.tags\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"es-tag-css\\\",\\\"es-tag-glsl\\\",\\\"es-tag-html\\\",\\\"es-tag-sql\\\",\\\"es-tag-xml\\\"],\\\"aliases\\\":[\\\"lit\\\"]}\"))\n\nexport default [\n...typescript,\n...es_tag_css,\n...es_tag_glsl,\n...es_tag_html,\n...es_tag_sql,\n...es_tag_xml,\nlang\n]\n" + ], + "names": [ + "lang", + "es_tag_css", + "typescript", + "css", + "javascript", + "es_tag_glsl", + "glsl", + "es_tag_html", + "html", + "es_tag_sql", + "sql", + "es_tag_xml", + "xml", + "tsTags" + ], + "mappings": "6SAIA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,8uDAAg7D,CAAC,EAEx8DC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHJ,CACA,ECPMA,EAAO,OAAO,OAAO,KAAK,MAAM,mnDAAqzD,CAAC,EAE70DK,EAAA,CACf,GAAGH,EACH,GAAGI,EACH,GAAGF,EACHJ,CACA,ECPMA,EAAO,OAAO,OAAO,KAAK,MAAM,g7DAAopE,CAAC,EAE5qEO,EAAA,CACf,GAAGL,EACH,GAAGM,EACH,GAAGJ,EACHJ,CACA,ECRMA,EAAO,OAAO,OAAO,KAAK,MAAM,shDAA4sD,CAAC,EAEpuDS,EAAA,CACf,GAAGP,EACH,GAAGQ,EACHV,CACA,ECPMA,EAAO,OAAO,OAAO,KAAK,MAAM,smCAA0uC,CAAC,EAElwCW,EAAA,CACf,GAAGC,EACHZ,CACA,ECAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+OAAmR,CAAC,EAE3Sa,EAAA,CACf,GAAGX,EACH,GAAGD,EACH,GAAGI,EACH,GAAGE,EACH,GAAGE,EACH,GAAGE,EACHX,CACA", + "x_google_ignoreList": [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DMzUqQB5.js b/src/webview-ui/build/assets/chunk-DMzUqQB5.js new file mode 100644 index 0000000000..23c9f9e419 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DMzUqQB5.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"AWK","fileTypes":["awk"],"name":"awk","patterns":[{"include":"#comment"},{"include":"#procedure"},{"include":"#pattern"}],"repository":{"builtin-pattern":{"match":"\\\\b(BEGINFILE|BEGIN|ENDFILE|END)\\\\b","name":"constant.language.awk"},"command":{"patterns":[{"match":"\\\\b(?:next|printf??)\\\\b","name":"keyword.other.command.awk"},{"match":"\\\\b(?:close|getline|delete|system)\\\\b","name":"keyword.other.command.nawk"},{"match":"\\\\b(?:fflush|nextfile)\\\\b","name":"keyword.other.command.bell-awk"}]},"comment":{"match":"#.*","name":"comment.line.number-sign.awk"},"constant":{"patterns":[{"include":"#numeric-constant"},{"include":"#string-constant"}]},"escaped-char":{"match":"\\\\\\\\(?:[\\"/\\\\\\\\abfnrtv]|x\\\\h{2}|[0-7]{3})","name":"constant.character.escape.awk"},"expression":{"patterns":[{"include":"#command"},{"include":"#function"},{"include":"#constant"},{"include":"#variable"},{"include":"#regexp-in-expression"},{"include":"#operator"},{"include":"#groupings"}]},"function":{"patterns":[{"match":"\\\\b(?:exp|int|log|sqrt|index|length|split|sprintf|substr)\\\\b","name":"support.function.awk"},{"match":"\\\\b(?:atan2|cos|rand|sin|srand|gsub|match|sub|tolower|toupper)\\\\b","name":"support.function.nawk"},{"match":"\\\\b(?:gensub|strftime|systime)\\\\b","name":"support.function.gawk"}]},"function-definition":{"begin":"\\\\b(function)\\\\s+(\\\\w+)(\\\\()","beginCaptures":{"1":{"name":"storage.type.function.awk"},"2":{"name":"entity.name.function.awk"},"3":{"name":"punctuation.definition.parameters.begin.awk"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.awk"}},"patterns":[{"match":"\\\\b(\\\\w+)\\\\b","name":"variable.parameter.function.awk"},{"match":"\\\\b(,)\\\\b","name":"punctuation.separator.parameters.awk"}]},"groupings":{"patterns":[{"match":"\\\\(","name":"meta.brace.round.awk"},{"match":"\\\\)","name":"meta.brace.round.awk"},{"match":",","name":"punctuation.separator.parameters.awk"}]},"keyword":{"match":"\\\\b(?:break|continue|do|while|exit|for|if|else|return)\\\\b","name":"keyword.control.awk"},"numeric-constant":{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)?(?:e[-+][0-9]+)?\\\\b","name":"constant.numeric.awk"},"operator":{"patterns":[{"match":"(!?~|[!<=>]=|[<>])","name":"keyword.operator.comparison.awk"},{"match":"\\\\b(in)\\\\b","name":"keyword.operator.comparison.awk"},{"match":"([-%*+/^]=|\\\\+\\\\+|--|>>|=)","name":"keyword.operator.assignment.awk"},{"match":"(\\\\|\\\\||&&|!)","name":"keyword.operator.boolean.awk"},{"match":"([-%*+/^])","name":"keyword.operator.arithmetic.awk"},{"match":"([:?])","name":"keyword.operator.trinary.awk"},{"match":"([]\\\\[])","name":"keyword.operator.index.awk"}]},"pattern":{"patterns":[{"include":"#regexp-as-pattern"},{"include":"#function-definition"},{"include":"#builtin-pattern"},{"include":"#expression"}]},"procedure":{"begin":"\\\\{","end":"}","patterns":[{"include":"#comment"},{"include":"#procedure"},{"include":"#keyword"},{"include":"#expression"}]},"regex-as-assignment":{"begin":"([^-!%*+/<=>^]=)\\\\s*(/)","beginCaptures":{"1":{"name":"keyword.operator.assignment.awk"},"2":{"name":"punctuation.definition.regex.begin.awk"}},"contentName":"string.regexp","end":"/","endCaptures":{"0":{"name":"punctuation.definition.regex.end.awk"}},"patterns":[{"include":"source.regexp"}]},"regex-as-comparison":{"begin":"(!?~)\\\\s*(/)","beginCaptures":{"1":{"name":"keyword.operator.comparison.awk"},"2":{"name":"punctuation.definition.regex.begin.awk"}},"contentName":"string.regexp","end":"/","endCaptures":{"0":{"name":"punctuation.definition.regex.end.awk"}},"patterns":[{"include":"source.regexp"}]},"regex-as-first-argument":{"begin":"(\\\\()\\\\s*(/)","beginCaptures":{"1":{"name":"meta.brace.round.awk"},"2":{"name":"punctuation.definition.regex.begin.awk"}},"contentName":"string.regexp","end":"/","endCaptures":{"0":{"name":"punctuation.definition.regex.end.awk"}},"patterns":[{"include":"source.regexp"}]},"regex-as-nth-argument":{"begin":"(,)\\\\s*(/)","beginCaptures":{"1":{"name":"punctuation.separator.parameters.awk"},"2":{"name":"punctuation.definition.regex.begin.awk"}},"contentName":"string.regexp","end":"/","endCaptures":{"0":{"name":"punctuation.definition.regex.end.awk"}},"patterns":[{"include":"source.regexp"}]},"regexp-as-pattern":{"begin":"/","beginCaptures":{"0":{"name":"punctuation.definition.regex.begin.awk"}},"contentName":"string.regexp","end":"/","endCaptures":{"0":{"name":"punctuation.definition.regex.end.awk"}},"patterns":[{"include":"source.regexp"}]},"regexp-in-expression":{"patterns":[{"include":"#regex-as-assignment"},{"include":"#regex-as-comparison"},{"include":"#regex-as-first-argument"},{"include":"#regex-as-nth-argument"}]},"string-constant":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.awk"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.awk"}},"name":"string.quoted.double.awk","patterns":[{"include":"#escaped-char"}]},"variable":{"patterns":[{"match":"\\\\$[0-9]+","name":"variable.language.awk"},{"match":"\\\\b(?:FILENAME|FS|NF|NR|OFMT|OFS|ORS|RS)\\\\b","name":"variable.language.awk"},{"match":"\\\\b(?:ARGC|ARGV|CONVFMT|ENVIRON|FNR|RLENGTH|RSTART|SUBSEP)\\\\b","name":"variable.language.nawk"},{"match":"\\\\b(?:ARGIND|ERRNO|FIELDWIDTHS|IGNORECASE|RT)\\\\b","name":"variable.language.gawk"}]}},"scopeName":"source.awk"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-DMzUqQB5.js.map diff --git a/src/webview-ui/build/assets/chunk-DMzUqQB5.js.map b/src/webview-ui/build/assets/chunk-DMzUqQB5.js.map new file mode 100644 index 0000000000..b0d2d675be --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DMzUqQB5.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DMzUqQB5.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/awk.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"AWK\\\",\\\"fileTypes\\\":[\\\"awk\\\"],\\\"name\\\":\\\"awk\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#procedure\\\"},{\\\"include\\\":\\\"#pattern\\\"}],\\\"repository\\\":{\\\"builtin-pattern\\\":{\\\"match\\\":\\\"\\\\\\\\b(BEGINFILE|BEGIN|ENDFILE|END)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.awk\\\"},\\\"command\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:next|printf??)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.command.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:close|getline|delete|system)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.command.nawk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:fflush|nextfile)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.command.bell-awk\\\"}]},\\\"comment\\\":{\\\"match\\\":\\\"#.*\\\",\\\"name\\\":\\\"comment.line.number-sign.awk\\\"},\\\"constant\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-constant\\\"},{\\\"include\\\":\\\"#string-constant\\\"}]},\\\"escaped-char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\abfnrtv]|x\\\\\\\\h{2}|[0-7]{3})\\\",\\\"name\\\":\\\"constant.character.escape.awk\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#command\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#regexp-in-expression\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#groupings\\\"}]},\\\"function\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:exp|int|log|sqrt|index|length|split|sprintf|substr)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:atan2|cos|rand|sin|srand|gsub|match|sub|tolower|toupper)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.nawk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:gensub|strftime|systime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gawk\\\"}]},\\\"function-definition\\\":{\\\"begin\\\":\\\"\\\\\\\\b(function)\\\\\\\\s+(\\\\\\\\w+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.awk\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.awk\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.awk\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.awk\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.function.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(,)\\\\\\\\b\\\",\\\"name\\\":\\\"punctuation.separator.parameters.awk\\\"}]},\\\"groupings\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"meta.brace.round.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.brace.round.awk\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.awk\\\"}]},\\\"keyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:break|continue|do|while|exit|for|if|else|return)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.awk\\\"},\\\"numeric-constant\\\":{\\\"match\\\":\\\"\\\\\\\\b[0-9]+(?:\\\\\\\\.[0-9]+)?(?:e[-+][0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.awk\\\"},\\\"operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(!?~|[!<=>]=|[<>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.comparison.awk\\\"},{\\\"match\\\":\\\"([-%*+/^]=|\\\\\\\\+\\\\\\\\+|--|>>|=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.awk\\\"},{\\\"match\\\":\\\"(\\\\\\\\|\\\\\\\\||&&|!)\\\",\\\"name\\\":\\\"keyword.operator.boolean.awk\\\"},{\\\"match\\\":\\\"([-%*+/^])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.awk\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.trinary.awk\\\"},{\\\"match\\\":\\\"([]\\\\\\\\[])\\\",\\\"name\\\":\\\"keyword.operator.index.awk\\\"}]},\\\"pattern\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-as-pattern\\\"},{\\\"include\\\":\\\"#function-definition\\\"},{\\\"include\\\":\\\"#builtin-pattern\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"procedure\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#procedure\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"regex-as-assignment\\\":{\\\"begin\\\":\\\"([^-!%*+/<=>^]=)\\\\\\\\s*(/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.awk\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.regex.begin.awk\\\"}},\\\"contentName\\\":\\\"string.regexp\\\",\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.regex.end.awk\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp\\\"}]},\\\"regex-as-comparison\\\":{\\\"begin\\\":\\\"(!?~)\\\\\\\\s*(/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.comparison.awk\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.regex.begin.awk\\\"}},\\\"contentName\\\":\\\"string.regexp\\\",\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.regex.end.awk\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp\\\"}]},\\\"regex-as-first-argument\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\s*(/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.awk\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.regex.begin.awk\\\"}},\\\"contentName\\\":\\\"string.regexp\\\",\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.regex.end.awk\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp\\\"}]},\\\"regex-as-nth-argument\\\":{\\\"begin\\\":\\\"(,)\\\\\\\\s*(/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.awk\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.regex.begin.awk\\\"}},\\\"contentName\\\":\\\"string.regexp\\\",\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.regex.end.awk\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp\\\"}]},\\\"regexp-as-pattern\\\":{\\\"begin\\\":\\\"/\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.regex.begin.awk\\\"}},\\\"contentName\\\":\\\"string.regexp\\\",\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.regex.end.awk\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp\\\"}]},\\\"regexp-in-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex-as-assignment\\\"},{\\\"include\\\":\\\"#regex-as-comparison\\\"},{\\\"include\\\":\\\"#regex-as-first-argument\\\"},{\\\"include\\\":\\\"#regex-as-nth-argument\\\"}]},\\\"string-constant\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.awk\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.awk\\\"}},\\\"name\\\":\\\"string.quoted.double.awk\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped-char\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[0-9]+\\\",\\\"name\\\":\\\"variable.language.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:FILENAME|FS|NF|NR|OFMT|OFS|ORS|RS)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.awk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:ARGC|ARGV|CONVFMT|ENVIRON|FNR|RLENGTH|RSTART|SUBSEP)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.nawk\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:ARGIND|ERRNO|FIELDWIDTHS|IGNORECASE|RT)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.gawk\\\"}]}},\\\"scopeName\\\":\\\"source.awk\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "awk" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,qxKAAs7L,CAAC,EAE98LC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DNNlxIVo.js b/src/webview-ui/build/assets/chunk-DNNlxIVo.js new file mode 100644 index 0000000000..79ee5bc53f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DNNlxIVo.js @@ -0,0 +1,13 @@ +import e from "./chunk-DlfHMoPT.js" +import t from "./chunk-CXhxxCfG.js" +import n from "./chunk-C3rowuyE.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +const a = Object.freeze( + JSON.parse( + '{"displayName":"Edge","injections":{"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))":{"patterns":[{"include":"#comment"},{"include":"#escapedMustache"},{"include":"#safeMustache"},{"include":"#mustache"},{"include":"#nonSeekableTag"},{"include":"#tag"}]}},"name":"edge","patterns":[{"include":"text.html.basic"},{"include":"text.html.derivative"}],"repository":{"comment":{"begin":"\\\\{\\\\{--","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.edge"}},"end":"--}}","endCaptures":{"0":{"name":"punctuation.definition.comment.end.edge"}},"name":"comment.block"},"escapedMustache":{"begin":"@\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.edge"}},"end":"}}","endCaptures":{"0":{"name":"punctuation.definition.comment.end.edge"}},"name":"comment.block"},"mustache":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.mustache.begin"}},"end":"}}","endCaptures":{"0":{"name":"punctuation.mustache.end"}},"name":"meta.embedded.block.javascript","patterns":[{"include":"source.ts#expression"}]},"nonSeekableTag":{"captures":{"2":{"name":"support.function.edge"}},"match":"^(\\\\s*)((@{1,2})(!)?([.A-Z_a-z]+))(~)?$","name":"meta.embedded.block.javascript","patterns":[{"include":"source.ts#expression"}]},"safeMustache":{"begin":"\\\\{\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.mustache.begin"}},"end":"}}}","endCaptures":{"0":{"name":"punctuation.mustache.end"}},"name":"meta.embedded.block.javascript","patterns":[{"include":"source.ts#expression"}]},"tag":{"begin":"^(\\\\s*)((@{1,2})(!)?([.A-Z_a-z]+)(\\\\s{0,2}))(\\\\()","beginCaptures":{"2":{"name":"support.function.edge"},"7":{"name":"punctuation.paren.open"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.close"}},"name":"meta.embedded.block.javascript","patterns":[{"include":"source.ts#expression"}]}},"scopeName":"text.html.edge","embeddedLangs":["typescript","html","html-derivative"]}', + ), + ), + o = [...e, ...t, ...n, a] +export { o as default } +//# sourceMappingURL=chunk-DNNlxIVo.js.map diff --git a/src/webview-ui/build/assets/chunk-DNNlxIVo.js.map b/src/webview-ui/build/assets/chunk-DNNlxIVo.js.map new file mode 100644 index 0000000000..29a4ff7ac3 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DNNlxIVo.js.map @@ -0,0 +1,22 @@ +{ + "version": 3, + "file": "chunk-DNNlxIVo.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/edge.mjs" + ], + "sourcesContent": [ + "import typescript from './typescript.mjs'\nimport html from './html.mjs'\nimport html_derivative from './html-derivative.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Edge\\\",\\\"injections\\\":{\\\"text.html.edge - (meta.embedded | meta.tag | comment.block.edge), L:(text.html.edge meta.tag - (comment.block.edge | meta.embedded.block.edge)), L:(source.ts.embedded.html - (comment.block.edge | meta.embedded.block.edge))\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#escapedMustache\\\"},{\\\"include\\\":\\\"#safeMustache\\\"},{\\\"include\\\":\\\"#mustache\\\"},{\\\"include\\\":\\\"#nonSeekableTag\\\"},{\\\"include\\\":\\\"#tag\\\"}]}},\\\"name\\\":\\\"edge\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"repository\\\":{\\\"comment\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.edge\\\"}},\\\"end\\\":\\\"--}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.edge\\\"}},\\\"name\\\":\\\"comment.block\\\"},\\\"escapedMustache\\\":{\\\"begin\\\":\\\"@\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.edge\\\"}},\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.edge\\\"}},\\\"name\\\":\\\"comment.block\\\"},\\\"mustache\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.mustache.begin\\\"}},\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.mustache.end\\\"}},\\\"name\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]},\\\"nonSeekableTag\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.function.edge\\\"}},\\\"match\\\":\\\"^(\\\\\\\\s*)((@{1,2})(!)?([.A-Z_a-z]+))(~)?$\\\",\\\"name\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]},\\\"safeMustache\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.mustache.begin\\\"}},\\\"end\\\":\\\"}}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.mustache.end\\\"}},\\\"name\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]},\\\"tag\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)((@{1,2})(!)?([.A-Z_a-z]+)(\\\\\\\\s{0,2}))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.function.edge\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.paren.open\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.paren.close\\\"}},\\\"name\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]}},\\\"scopeName\\\":\\\"text.html.edge\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"html\\\",\\\"html-derivative\\\"]}\"))\n\nexport default [\n...typescript,\n...html,\n...html_derivative,\nlang\n]\n" + ], + "names": [ + "lang", + "edge", + "typescript", + "html", + "html_derivative" + ], + "mappings": "iKAIA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,0jEAA8zE,CAAC,EAEt1EC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHJ,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DO0LZyKx.js b/src/webview-ui/build/assets/chunk-DO0LZyKx.js new file mode 100644 index 0000000000..f089fa99eb --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DO0LZyKx.js @@ -0,0 +1,12 @@ +import e from "./chunk-DPfMkruS.js" +import n from "./chunk-B1dDrJ26.js" +import t from "./chunk-vbB5lEOJ.js" +import s from "./chunk-BMMyXqK5.js" +const a = Object.freeze( + JSON.parse( + '{"displayName":"Marko","fileTypes":["marko"],"name":"marko","patterns":[{"begin":"^\\\\s*(style)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"storage.type.marko.css"},"2":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.css","patterns":[{"include":"source.css"}]},{"begin":"^\\\\s*(style)\\\\.(less)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"storage.type.marko.css"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.less","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.less","patterns":[{"include":"source.css.less"}]},{"begin":"^\\\\s*(style)\\\\.(scss)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"storage.type.marko.css"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.scss","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.scss","patterns":[{"include":"source.css.scss"}]},{"begin":"^\\\\s*(?:(static )|(?=(?:class|import|export) ))","beginCaptures":{"1":{"name":"keyword.control.static.marko"}},"contentName":"source.js","end":"(?=\\\\n|$)","name":"meta.embedded.js","patterns":[{"include":"#javascript-statement"}]},{"include":"#content-concise-mode"}],"repository":{"attrs":{"patterns":[{"applyEndPatternLast":1,"begin":"(?:\\\\s+|,)(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?","beginCaptures":{"1":{"name":"support.type.attribute-name.marko"},"2":{"name":"entity.other.attribute-name.marko"},"3":{"name":"support.function.attribute-name.marko"}},"end":"(?=.|$)","name":"meta.marko-attribute","patterns":[{"include":"#html-args-or-method"},{"applyEndPatternLast":1,"begin":"\\\\s*(:?=)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"source.js"}]}},"contentName":"source.js","end":"(?=.|$)","name":"meta.embedded.js","patterns":[{"include":"#javascript-expression"}]}]},{"applyEndPatternLast":1,"begin":"(?:\\\\s+|,)\\\\.\\\\.\\\\.","beginCaptures":{"1":{"name":"keyword.operator.spread.marko"}},"contentName":"source.js","end":"(?=.|$)","name":"meta.marko-spread-attribute","patterns":[{"include":"#javascript-expression"}]},{"begin":"\\\\s*(,(?!,))","captures":{"1":{"patterns":[{"include":"source.js"}]}},"end":"(?!\\\\S)"},{"include":"#javascript-comment-multiline"},{"include":"#invalid"}]},"concise-html-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"2":{"name":"punctuation.section.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"1":{"name":"punctuation.section.scope.end.marko"}},"name":"meta.section.marko-html-block","patterns":[{"include":"#content-html-mode"}]},"concise-html-line":{"captures":{"1":{"name":"punctuation.section.scope.begin.marko"},"2":{"patterns":[{"include":"#html-comments"},{"include":"#tag-html"},{"match":"\\\\\\\\.","name":"string"},{"include":"#placeholder"},{"match":".+?","name":"string"}]}},"match":"\\\\s*(--+)(?=\\\\s+\\\\S)(.*)$","name":"meta.section.marko-html-line"},"concise-open-tag-content":{"patterns":[{"include":"#tag-before-attrs"},{"begin":"\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.marko"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko"}},"patterns":[{"include":"#attrs"},{"include":"#invalid"}]},{"begin":"(?!^)(?= )","end":"(?=--)|(?","endCaptures":{"0":{"name":"punctuation.definition.comment.marko"}},"name":"comment.block.marko"},{"begin":"\\\\s*()","beginCaptures":{"1":{"name":"punctuation.definition.comment.marko"}},"end":"","endCaptures":{"0":{"name":"punctuation.definition.comment.marko"}},"name":"comment.block.marko"}]},"invalid":{"match":"\\\\S","name":"invalid.illegal.character-not-allowed-here.marko"},"javascript-args":{"begin":"(?=\\\\()","contentName":"source.js","end":"(?<=\\\\))","name":"meta.embedded.js","patterns":[{"include":"source.js"}]},"javascript-comment-line":{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"contentName":"source.js","match":"\\\\s*//.*$"},"javascript-comment-multiline":{"begin":"\\\\s*(?=/\\\\*)","contentName":"source.js","end":"(?<=\\\\*/)","patterns":[{"include":"source.js"}]},"javascript-comments":{"patterns":[{"include":"#javascript-comment-multiline"},{"include":"#javascript-comment-line"}]},"javascript-enclosed":{"patterns":[{"include":"#javascript-comments"},{"include":"#javascript-args"},{"begin":"(?=\\\\{)","end":"(?<=})","patterns":[{"include":"source.js"}]},{"begin":"(?=\\\\[)","end":"(?<=])","patterns":[{"include":"source.js"}]},{"begin":"(?=\\")","end":"(?<=\\")","patterns":[{"include":"source.js"}]},{"begin":"(?=\')","end":"(?<=\')","patterns":[{"include":"source.js"}]},{"begin":"(?=`)","end":"(?<=`)","patterns":[{"include":"source.js"}]},{"begin":"/(?!<[]%).0-9|$)","captures":{"0":{"name":"string.regexp.js"}},"contentName":"source.js","end":"/[gimsuy]*","patterns":[{"include":"source.js#regexp"},{"include":"source.js"}]},{"begin":"\\\\s*(?:\\\\b(?:new|typeof|instanceof|in)\\\\b|&&|\\\\|\\\\||[\\\\&^|]|[!=]=|[!=]==|<[<=]??|=>|[:?]|[-%*+](?!-))","captures":{"0":{"patterns":[{"include":"source.js"}]}},"end":"(?=\\\\S)"}]},"javascript-expression":{"patterns":[{"include":"#javascript-enclosed"},{"captures":{"0":{"patterns":[{"include":"source.js"}]}},"match":"[$.0-9A-Z_a-z]+"}]},"javascript-statement":{"patterns":[{"include":"#javascript-enclosed"},{"include":"source.js"}]},"open-tag-content":{"patterns":[{"include":"#tag-before-attrs"},{"begin":"(?= )","end":"(?=/?>)","patterns":[{"include":"#attrs"}]}]},"placeholder":{"begin":"\\\\$!?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js"}},"patterns":[{"include":"source.js"}]},"scriptlet":{"begin":"^\\\\s*(\\\\$)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.scriptlet.marko"}},"contentName":"source.js","end":"$","name":"meta.embedded.js","patterns":[{"include":"#javascript-statement"}]},"tag-before-attrs":{"patterns":[{"include":"#tag-name"},{"match":"[#.][$0-9A-Z_a-z][-$0-9A-Z_a-z]*","name":"entity.other.attribute-name.marko"},{"begin":"/(?!/)","beginCaptures":{"0":{"name":"punctuation.separator.key-value.marko"}},"contentName":"source.js","end":"(?=:?=|[>\\\\s]|$|[(/|])","name":"meta.embedded.js","patterns":[{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.object.js"},{"include":"source.js#object-binding-pattern"},{"include":"source.js#array-binding-pattern"},{"include":"source.js#var-single-variable"},{"include":"#javascript-expression"}]},{"applyEndPatternLast":1,"begin":"\\\\s*(:?=)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"source.js"}]}},"contentName":"source.js","end":"(?=.|$)","name":"meta.embedded.js","patterns":[{"include":"#javascript-expression"}]},{"begin":"\\\\|","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.marko"}},"end":"\\\\|","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko"}},"patterns":[{"include":"source.js#function-parameters-body"},{"include":"source.js"}]},{"include":"#html-args-or-method"}]},"tag-html":{"patterns":[{"begin":"\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.marko"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"}]},{"begin":"\\\\s*(<)(?=style\\\\.less\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.less","end":"\\\\s*()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style-less"}]}]},{"begin":"\\\\s*(<)(?=style\\\\.scss\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.less","end":"\\\\s*()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style-scss"}]}]},{"begin":"\\\\s*(<)(?=style\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.css","end":"\\\\s*()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style"}]}]},{"begin":"\\\\s*(<)(?=script\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.js","end":"\\\\s*()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-script"}]}]},{"begin":"\\\\s*(<)(?=[$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"end":"\\\\s*()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"patterns":[{"include":"#invalid"}]},"4":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-html-mode"}]}]}]},"tag-name":{"patterns":[{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js"}},"patterns":[{"include":"source.js"}]},{"captures":{"1":{"name":"entity.name.tag.marko"},"2":{"name":"storage.type.marko.css"},"3":{"patterns":[{"match":"(attrs|return|import)(?=\\\\b)","name":"support.type.builtin.marko"},{"match":"(for|if|while|else-if|else|macro|tag|await|let|const|effect|set|get|id|lifecycle)(?=\\\\b)","name":"support.function.marko"},{"match":"@.+","name":"entity.other.attribute-name.marko"},{"match":".+","name":"entity.name.tag.marko"}]}},"match":"(style)\\\\.([-$0-9A-Z_a-z]+(?:\\\\.[-$0-9A-Z_a-z]+)*)|([$0-9@-Z_a-z][-$0-:@-Z_a-z]*)"}]}},"scopeName":"text.marko","embeddedLangs":["css","less","scss","javascript"]}', + ), + ), + m = [...e, ...n, ...t, ...s, a] +export { m as default } +//# sourceMappingURL=chunk-DO0LZyKx.js.map diff --git a/src/webview-ui/build/assets/chunk-DO0LZyKx.js.map b/src/webview-ui/build/assets/chunk-DO0LZyKx.js.map new file mode 100644 index 0000000000..01f1fe23b5 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DO0LZyKx.js.map @@ -0,0 +1,23 @@ +{ + "version": 3, + "file": "chunk-DO0LZyKx.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/marko.mjs" + ], + "sourcesContent": [ + "import css from './css.mjs'\nimport less from './less.mjs'\nimport scss from './scss.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Marko\\\",\\\"fileTypes\\\":[\\\"marko\\\"],\\\"name\\\":\\\"marko\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(style)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.marko.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(style)\\\\\\\\.(less)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.marko.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.marko.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(style)\\\\\\\\.(scss)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.marko.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.marko.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.scss\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(?:(static )|(?=(?:class|import|export) ))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.static.marko\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=\\\\\\\\n|$)\\\",\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-statement\\\"}]},{\\\"include\\\":\\\"#content-concise-mode\\\"}],\\\"repository\\\":{\\\"attrs\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?:\\\\\\\\s+|,)(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.attribute-name.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.attribute-name.marko\\\"}},\\\"end\\\":\\\"(?=.|$)\\\",\\\"name\\\":\\\"meta.marko-attribute\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#html-args-or-method\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(:?=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=.|$)\\\",\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-expression\\\"}]}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?:\\\\\\\\s+|,)\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.spread.marko\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=.|$)\\\",\\\"name\\\":\\\"meta.marko-spread-attribute\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(,(?!,))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"end\\\":\\\"(?!\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#javascript-comment-multiline\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},\\\"concise-html-block\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-html-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-html-mode\\\"}]},\\\"concise-html-line\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#html-comments\\\"},{\\\"include\\\":\\\"#tag-html\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"string\\\"},{\\\"include\\\":\\\"#placeholder\\\"},{\\\"match\\\":\\\".+?\\\",\\\"name\\\":\\\"string\\\"}]}},\\\"match\\\":\\\"\\\\\\\\s*(--+)(?=\\\\\\\\s+\\\\\\\\S)(.*)$\\\",\\\"name\\\":\\\"meta.section.marko-html-line\\\"},\\\"concise-open-tag-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-before-attrs\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#attrs\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},{\\\"begin\\\":\\\"(?!^)(?= )\\\",\\\"end\\\":\\\"(?=--)|(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.marko\\\"}},\\\"name\\\":\\\"comment.block.marko\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.marko\\\"}},\\\"end\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.marko\\\"}},\\\"name\\\":\\\"comment.block.marko\\\"}]},\\\"invalid\\\":{\\\"match\\\":\\\"\\\\\\\\S\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.marko\\\"},\\\"javascript-args\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\()\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},\\\"javascript-comment-line\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"contentName\\\":\\\"source.js\\\",\\\"match\\\":\\\"\\\\\\\\s*//.*$\\\"},\\\"javascript-comment-multiline\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?=/\\\\\\\\*)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?<=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},\\\"javascript-comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-comment-multiline\\\"},{\\\"include\\\":\\\"#javascript-comment-line\\\"}]},\\\"javascript-enclosed\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-comments\\\"},{\\\"include\\\":\\\"#javascript-args\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?<=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\")\\\",\\\"end\\\":\\\"(?<=\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?=')\\\",\\\"end\\\":\\\"(?<=')\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?=`)\\\",\\\"end\\\":\\\"(?<=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"/(?!<[]%).0-9|$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.regexp.js\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"/[gimsuy]*\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#regexp\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(?:\\\\\\\\b(?:new|typeof|instanceof|in)\\\\\\\\b|&&|\\\\\\\\|\\\\\\\\||[\\\\\\\\&^|]|[!=]=|[!=]==|<[<=]??|=>|[:?]|[-%*+](?!-))\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"}]},\\\"javascript-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-enclosed\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"[$.0-9A-Z_a-z]+\\\"}]},\\\"javascript-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-enclosed\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"open-tag-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-before-attrs\\\"},{\\\"begin\\\":\\\"(?= )\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attrs\\\"}]}]},\\\"placeholder\\\":{\\\"begin\\\":\\\"\\\\\\\\$!?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},\\\"scriptlet\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(\\\\\\\\$)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.scriptlet.marko\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-statement\\\"}]},\\\"tag-before-attrs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"},{\\\"match\\\":\\\"[#.][$0-9A-Z_a-z][-$0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"},{\\\"begin\\\":\\\"/(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.marko\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=:?=|[>\\\\\\\\s]|$|[(/|])\\\",\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[$A-Z_a-z][$0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.constant.object.js\\\"},{\\\"include\\\":\\\"source.js#object-binding-pattern\\\"},{\\\"include\\\":\\\"source.js#array-binding-pattern\\\"},{\\\"include\\\":\\\"source.js#var-single-variable\\\"},{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(:?=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=.|$)\\\",\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#function-parameters-body\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"include\\\":\\\"#html-args-or-method\\\"}]},\\\"tag-html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=style\\\\\\\\.less\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"\\\\\\\\s*()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=style\\\\\\\\.scss\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"\\\\\\\\s*()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-scss\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=style\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"\\\\\\\\s*()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=script\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"\\\\\\\\s*()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-script\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=[$0-9@-Z_a-z])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\s*()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-html-mode\\\"}]}]}]},\\\"tag-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.marko.css\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(attrs|return|import)(?=\\\\\\\\b)\\\",\\\"name\\\":\\\"support.type.builtin.marko\\\"},{\\\"match\\\":\\\"(for|if|while|else-if|else|macro|tag|await|let|const|effect|set|get|id|lifecycle)(?=\\\\\\\\b)\\\",\\\"name\\\":\\\"support.function.marko\\\"},{\\\"match\\\":\\\"@.+\\\",\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.name.tag.marko\\\"}]}},\\\"match\\\":\\\"(style)\\\\\\\\.([-$0-9A-Z_a-z]+(?:\\\\\\\\.[-$0-9A-Z_a-z]+)*)|([$0-9@-Z_a-z][-$0-:@-Z_a-z]*)\\\"}]}},\\\"scopeName\\\":\\\"text.marko\\\",\\\"embeddedLangs\\\":[\\\"css\\\",\\\"less\\\",\\\"scss\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...css,\n...less,\n...scss,\n...javascript,\nlang\n]\n" + ], + "names": [ + "lang", + "marko", + "css", + "less", + "scss", + "javascript" + ], + "mappings": "4IAKA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,kngBAA4qkB,CAAC,EAEpskBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHL,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DP8w0yq8.js b/src/webview-ui/build/assets/chunk-DP8w0yq8.js new file mode 100644 index 0000000000..362471449c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DP8w0yq8.js @@ -0,0 +1,9 @@ +import e from "./chunk-B6aJPvgy.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"Cairo","name":"cairo","patterns":[{"begin":"\\\\b(if).*\\\\(","beginCaptures":{"1":{"name":"keyword.control.if"},"2":{"name":"entity.name.condition"}},"contentName":"source.cairo0","end":"}","endCaptures":{"0":{"name":"keyword.control.end"}},"name":"meta.control.if","patterns":[{"include":"source.cairo0"}]},{"begin":"\\\\b(with)\\\\s+(.+)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control.with"},"2":{"name":"entity.name.identifiers"}},"contentName":"source.cairo0","end":"}","endCaptures":{"0":{"name":"keyword.control.end"}},"name":"meta.control.with","patterns":[{"include":"source.cairo0"}]},{"begin":"\\\\b(with_attr)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*[({]","beginCaptures":{"1":{"name":"keyword.control.with_attr"},"2":{"name":"entity.name.function"}},"contentName":"source.cairo0","end":"}","endCaptures":{"0":{"name":"keyword.control.end"}},"name":"meta.control.with_attr","patterns":[{"include":"source.cairo0"}]},{"match":"\\\\belse\\\\b","name":"keyword.control.else"},{"match":"\\\\b(call|jmp|ret|abs|rel|if)\\\\b","name":"keyword.other.opcode"},{"match":"\\\\b([af]p)\\\\b","name":"keyword.other.register"},{"match":"\\\\b(const|let|local|tempvar|felt|as|from|import|static_assert|return|assert|cast|alloc_locals|with|with_attr|nondet|dw|codeoffset|new|using|and)\\\\b","name":"keyword.other.meta"},{"match":"\\\\b(SIZE(?:OF_LOCALS|))\\\\b","name":"markup.italic"},{"match":"//[^\\\\n]*\\\\n","name":"comment.line.sharp"},{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*:\\\\s*$","name":"entity.name.function"},{"begin":"\\\\b(func)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*[({]","beginCaptures":{"1":{"name":"storage.type.function.cairo"},"2":{"name":"entity.name.function"}},"contentName":"source.cairo0","end":"}","endCaptures":{"0":{"name":"storage.type.function.cairo"}},"name":"meta.function.cairo","patterns":[{"include":"source.cairo0"}]},{"begin":"\\\\b(struct|namespace)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"storage.type.function.cairo"},"2":{"name":"entity.name.function"}},"contentName":"source.cairo0","end":"}","endCaptures":{"0":{"name":"storage.type.function.cairo"}},"name":"meta.function.cairo","patterns":[{"include":"source.cairo0"}]},{"match":"\\\\b[-+]?[0-9]+\\\\b","name":"constant.numeric.decimal"},{"match":"\\\\b[-+]?0x\\\\h+\\\\b","name":"constant.numeric.hexadecimal"},{"match":"'[^']*'","name":"string.quoted.single"},{"match":"\\"[^\\"]*\\"","name":"string.quoted.double"},{"begin":"%\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.python"}},"contentName":"source.python","end":"%}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.python"},"1":{"name":"source.python"}},"name":"meta.embedded.block.python","patterns":[{"include":"source.python"}]}],"scopeName":"source.cairo0","embeddedLangs":["python"]}`, + ), + ), + a = [...e, n] +export { a as default } +//# sourceMappingURL=chunk-DP8w0yq8.js.map diff --git a/src/webview-ui/build/assets/chunk-DP8w0yq8.js.map b/src/webview-ui/build/assets/chunk-DP8w0yq8.js.map new file mode 100644 index 0000000000..84b3ed5d2f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DP8w0yq8.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-DP8w0yq8.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/cairo.mjs" + ], + "sourcesContent": [ + "import python from './python.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Cairo\\\",\\\"name\\\":\\\"cairo\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(if).*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.condition\\\"}},\\\"contentName\\\":\\\"source.cairo0\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.end\\\"}},\\\"name\\\":\\\"meta.control.if\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cairo0\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(with)\\\\\\\\s+(.+)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.identifiers\\\"}},\\\"contentName\\\":\\\"source.cairo0\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.end\\\"}},\\\"name\\\":\\\"meta.control.with\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cairo0\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(with_attr)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*[({]\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with_attr\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function\\\"}},\\\"contentName\\\":\\\"source.cairo0\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.end\\\"}},\\\"name\\\":\\\"meta.control.with_attr\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cairo0\\\"}]},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.else\\\"},{\\\"match\\\":\\\"\\\\\\\\b(call|jmp|ret|abs|rel|if)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.opcode\\\"},{\\\"match\\\":\\\"\\\\\\\\b([af]p)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.register\\\"},{\\\"match\\\":\\\"\\\\\\\\b(const|let|local|tempvar|felt|as|from|import|static_assert|return|assert|cast|alloc_locals|with|with_attr|nondet|dw|codeoffset|new|using|and)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.meta\\\"},{\\\"match\\\":\\\"\\\\\\\\b(SIZE(?:OF_LOCALS|))\\\\\\\\b\\\",\\\"name\\\":\\\"markup.italic\\\"},{\\\"match\\\":\\\"//[^\\\\\\\\n]*\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.sharp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z][0-9A-Z_a-z]*:\\\\\\\\s*$\\\",\\\"name\\\":\\\"entity.name.function\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(func)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*[({]\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.cairo\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function\\\"}},\\\"contentName\\\":\\\"source.cairo0\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.cairo\\\"}},\\\"name\\\":\\\"meta.function.cairo\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cairo0\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(struct|namespace)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.cairo\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function\\\"}},\\\"contentName\\\":\\\"source.cairo0\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.cairo\\\"}},\\\"name\\\":\\\"meta.function.cairo\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cairo0\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b[-+]?[0-9]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-+]?0x\\\\\\\\h+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hexadecimal\\\"},{\\\"match\\\":\\\"'[^']*'\\\",\\\"name\\\":\\\"string.quoted.single\\\"},{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\"]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double\\\"},{\\\"begin\\\":\\\"%\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.python\\\"}},\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"%}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.python\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.python\\\"}},\\\"name\\\":\\\"meta.embedded.block.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}],\\\"scopeName\\\":\\\"source.cairo0\\\",\\\"embeddedLangs\\\":[\\\"python\\\"]}\"))\n\nexport default [\n...python,\nlang\n]\n" + ], + "names": [ + "lang", + "cairo", + "python" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+wFAAooG,CAAC,EAE5pGC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DPfMkruS.js b/src/webview-ui/build/assets/chunk-DPfMkruS.js new file mode 100644 index 0000000000..60b1255dce --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DPfMkruS.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"CSS","name":"css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#combinators"},{"include":"#selector"},{"include":"#at-rules"},{"include":"#rule-list"}],"repository":{"at-rules":{"patterns":[{"begin":"\\\\A\\\\uFEFF?(?i:(?=\\\\s*@charset\\\\b))","end":";|(?=$)","endCaptures":{"0":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.charset.css","patterns":[{"captures":{"1":{"name":"invalid.illegal.not-lowercase.charset.css"},"2":{"name":"invalid.illegal.leading-whitespace.charset.css"},"3":{"name":"invalid.illegal.no-whitespace.charset.css"},"4":{"name":"invalid.illegal.whitespace.charset.css"},"5":{"name":"invalid.illegal.not-double-quoted.charset.css"},"6":{"name":"invalid.illegal.unclosed-string.charset.css"},"7":{"name":"invalid.illegal.unexpected-characters.charset.css"}},"match":"\\\\G((?!@charset)@\\\\w+)|\\\\G(\\\\s+)|(@charset\\\\S[^;]*)|(?<=@charset)( {2,}|\\\\t+)|(?<=@charset )([^\\";]+)|(\\"[^\\"]+)$|(?<=\\")([^;]+)"},{"captures":{"1":{"name":"keyword.control.at-rule.charset.css"},"2":{"name":"punctuation.definition.keyword.css"}},"match":"((@)charset)(?=\\\\s)"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.css"}},"end":"\\"|$","endCaptures":{"0":{"name":"punctuation.definition.string.end.css"}},"name":"string.quoted.double.css","patterns":[{"begin":"(?:\\\\G|^)(?=[^\\"]+$)","end":"$","name":"invalid.illegal.unclosed.string.css"}]}]},{"begin":"(?i)((@)import)(?:\\\\s+|$|(?=[\\"']|/\\\\*))","beginCaptures":{"1":{"name":"keyword.control.at-rule.import.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.css"}},"name":"meta.at-rule.import.css","patterns":[{"begin":"\\\\G\\\\s*(?=/\\\\*)","end":"(?<=\\\\*/)\\\\s*","patterns":[{"include":"#comment-block"}]},{"include":"#string"},{"include":"#url"},{"include":"#media-query-list"}]},{"begin":"(?i)((@)font-face)(?=\\\\s*|\\\\{|/\\\\*|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.font-face.css"},"2":{"name":"punctuation.definition.keyword.css"}},"end":"(?!\\\\G)","name":"meta.at-rule.font-face.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#rule-list"}]},{"begin":"(?i)(@)page(?=[:{\\\\s]|/\\\\*|$)","captures":{"0":{"name":"keyword.control.at-rule.page.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\\\s*($|[:;{]))","name":"meta.at-rule.page.css","patterns":[{"include":"#rule-list"}]},{"begin":"(?i)(?=@media([(\\\\s]|/\\\\*|$))","end":"(?<=})(?!\\\\G)","patterns":[{"begin":"(?i)\\\\G(@)media","beginCaptures":{"0":{"name":"keyword.control.at-rule.media.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\\\s*[;{])","name":"meta.at-rule.media.header.css","patterns":[{"include":"#media-query-list"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.media.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.media.end.bracket.curly.css"}},"name":"meta.at-rule.media.body.css","patterns":[{"include":"$self"}]}]},{"begin":"(?i)(?=@counter-style([\\"';{\\\\s]|/\\\\*|$))","end":"(?<=})(?!\\\\G)","patterns":[{"begin":"(?i)\\\\G(@)counter-style","beginCaptures":{"0":{"name":"keyword.control.at-rule.counter-style.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\\\s*\\\\{)","name":"meta.at-rule.counter-style.header.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"captures":{"0":{"patterns":[{"include":"#escapes"}]}},"match":"[-A-Z_a-z[^\\\\x00-\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.))*","name":"variable.parameter.style-name.css"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.css"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.css"}},"name":"meta.at-rule.counter-style.body.css","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#rule-list-innards"}]}]},{"begin":"(?i)(?=@document([\\"';{\\\\s]|/\\\\*|$))","end":"(?<=})(?!\\\\G)","patterns":[{"begin":"(?i)\\\\G(@)document","beginCaptures":{"0":{"name":"keyword.control.at-rule.document.css"},"1":{"name":"punctuation.definition.keyword.css"}},"end":"(?=\\\\s*[;{])","name":"meta.at-rule.document.header.css","patterns":[{"begin":"(?i)(?>>","name":"invalid.deprecated.combinator.css"},{"match":">>|[+>~]","name":"keyword.operator.combinator.css"}]},"commas":{"match":",","name":"punctuation.separator.list.comma.css"},"comment-block":{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.css"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.css"}},"name":"comment.block.css"},"escapes":{"patterns":[{"match":"\\\\\\\\\\\\h{1,6}","name":"constant.character.escape.codepoint.css"},{"begin":"\\\\\\\\$\\\\s*","end":"^(?]|/\\\\*)"},"media-query":{"begin":"\\\\G","end":"(?=\\\\s*[;{])","patterns":[{"include":"#comment-block"},{"include":"#escapes"},{"include":"#media-types"},{"match":"(?i)(?<=\\\\s|^|,|\\\\*/)(only|not)(?=[{\\\\s]|/\\\\*|$)","name":"keyword.operator.logical.$1.media.css"},{"match":"(?i)(?<=\\\\s|^|\\\\*/|\\\\))and(?=\\\\s|/\\\\*|$)","name":"keyword.operator.logical.and.media.css"},{"match":",(?:(?:\\\\s*,)+|(?=\\\\s*[);{]))","name":"invalid.illegal.comma.css"},{"include":"#commas"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.css"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.css"}},"patterns":[{"include":"#media-features"},{"include":"#media-feature-keywords"},{"match":":","name":"punctuation.separator.key-value.css"},{"match":">=|<=|[<=>]","name":"keyword.operator.comparison.css"},{"captures":{"1":{"name":"constant.numeric.css"},"2":{"name":"keyword.operator.arithmetic.css"},"3":{"name":"constant.numeric.css"}},"match":"(\\\\d+)\\\\s*(/)\\\\s*(\\\\d+)","name":"meta.ratio.css"},{"include":"#numeric-values"},{"include":"#comment-block"}]}]},"media-query-list":{"begin":"(?=\\\\s*[^;{])","end":"(?=\\\\s*[;{])","patterns":[{"include":"#media-query"}]},"media-types":{"captures":{"1":{"name":"support.constant.media.css"},"2":{"name":"invalid.deprecated.constant.media.css"}},"match":"(?i)(?<=^|[,\\\\s]|\\\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[,;{\\\\s]|/\\\\*)"},"numeric-values":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.css"}},"match":"(#)(?:\\\\h{3,4}|\\\\h{6}|\\\\h{8})\\\\b","name":"constant.other.color.rgb-value.hex.css"},{"captures":{"1":{"name":"keyword.other.unit.percentage.css"},"2":{"name":"keyword.other.unit.\${2:/downcase}.css"}},"match":"(?i)(?\\\\[{|~\\\\s]|/\\\\*)|(?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.))*(?:[]!\\"%-(*;\\\\[{|~\\\\s]|/\\\\*)","name":"entity.other.attribute-name.class.css"},{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#escapes"}]}},"match":"(#)(-?(?![0-9])(?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.))+)(?=$|[#)+,.:>\\\\[{|~\\\\s]|/\\\\*)","name":"entity.other.attribute-name.id.css"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.entity.begin.bracket.square.css"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.entity.end.bracket.square.css"}},"name":"meta.attribute-selector.css","patterns":[{"include":"#comment-block"},{"include":"#string"},{"captures":{"1":{"name":"storage.modifier.ignore-case.css"}},"match":"(?<=[\\"'\\\\s]|^|\\\\*/)\\\\s*([Ii])\\\\s*(?=[]\\\\s]|/\\\\*|$)"},{"captures":{"1":{"name":"string.unquoted.attribute-value.css","patterns":[{"include":"#escapes"}]}},"match":"(?<==)\\\\s*((?!/\\\\*)(?:[^]\\"'\\\\\\\\\\\\s]|\\\\\\\\.)+)"},{"include":"#escapes"},{"match":"[$*^|~]?=","name":"keyword.operator.pattern.css"},{"match":"\\\\|","name":"punctuation.separator.css"},{"captures":{"1":{"name":"entity.other.namespace-prefix.css","patterns":[{"include":"#escapes"}]}},"match":"(-?(?!\\\\d)(?:[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.))+|\\\\*)(?=\\\\|(?![=\\\\s]|$|])(?:-?(?!\\\\d)|[-\\\\\\\\\\\\w[^\\\\x00-\\\\x7F]]))"},{"captures":{"1":{"name":"entity.other.attribute-name.css","patterns":[{"include":"#escapes"}]}},"match":"(-?(?!\\\\d)(?>[-\\\\w[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.))+)\\\\s*(?=[]$*=^|~]|/\\\\*)"}]},{"include":"#pseudo-classes"},{"include":"#pseudo-elements"},{"include":"#functional-pseudo-classes"},{"match":"(?\\\\[{|~\\\\s]|/\\\\*|$)","name":"entity.name.tag.css"},"unicode-range":{"captures":{"0":{"name":"constant.other.unicode-range.css"},"1":{"name":"punctuation.separator.dash.unicode-range.css"}},"match":"(?>>\\\",\\\"name\\\":\\\"invalid.deprecated.combinator.css\\\"},{\\\"match\\\":\\\">>|[+>~]\\\",\\\"name\\\":\\\"keyword.operator.combinator.css\\\"}]},\\\"commas\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.list.comma.css\\\"},\\\"comment-block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.css\\\"}},\\\"name\\\":\\\"comment.block.css\\\"},\\\"escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\h{1,6}\\\",\\\"name\\\":\\\"constant.character.escape.codepoint.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\$\\\\\\\\s*\\\",\\\"end\\\":\\\"^(?]|/\\\\\\\\*)\\\"},\\\"media-query\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#media-types\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|,|\\\\\\\\*/)(only|not)(?=[{\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.$1.media.css\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|\\\\\\\\*/|\\\\\\\\))and(?=\\\\\\\\s|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.and.media.css\\\"},{\\\"match\\\":\\\",(?:(?:\\\\\\\\s*,)+|(?=\\\\\\\\s*[);{]))\\\",\\\"name\\\":\\\"invalid.illegal.comma.css\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#media-features\\\"},{\\\"include\\\":\\\"#media-feature-keywords\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"},{\\\"match\\\":\\\">=|<=|[<=>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"}},\\\"match\\\":\\\"(\\\\\\\\d+)\\\\\\\\s*(/)\\\\\\\\s*(\\\\\\\\d+)\\\",\\\"name\\\":\\\"meta.ratio.css\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#comment-block\\\"}]}]},\\\"media-query-list\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*[^;{])\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},\\\"media-types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.media.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.constant.media.css\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[,\\\\\\\\s]|\\\\\\\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[,;{\\\\\\\\s]|/\\\\\\\\*)\\\"},\\\"numeric-values\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.css\\\"}},\\\"match\\\":\\\"(#)(?:\\\\\\\\h{3,4}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.hex.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.percentage.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.${2:/downcase}.css\\\"}},\\\"match\\\":\\\"(?i)(?\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)|(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*(?:[]!\\\\\\\"%-(*;\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(#)(-?(?![0-9])(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)(?=$|[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.begin.bracket.square.css\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.end.bracket.square.css\\\"}},\\\"name\\\":\\\"meta.attribute-selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ignore-case.css\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\"'\\\\\\\\s]|^|\\\\\\\\*/)\\\\\\\\s*([Ii])\\\\\\\\s*(?=[]\\\\\\\\s]|/\\\\\\\\*|$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?<==)\\\\\\\\s*((?!/\\\\\\\\*)(?:[^]\\\\\\\"'\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"[$*^|~]?=\\\",\\\"name\\\":\\\"keyword.operator.pattern.css\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.namespace-prefix.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+|\\\\\\\\*)(?=\\\\\\\\|(?![=\\\\\\\\s]|$|])(?:-?(?!\\\\\\\\d)|[-\\\\\\\\\\\\\\\\\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?>[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)\\\\\\\\s*(?=[]$*=^|~]|/\\\\\\\\*)\\\"}]},{\\\"include\\\":\\\"#pseudo-classes\\\"},{\\\"include\\\":\\\"#pseudo-elements\\\"},{\\\"include\\\":\\\"#functional-pseudo-classes\\\"},{\\\"match\\\":\\\"(?\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"entity.name.tag.css\\\"},\\\"unicode-range\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.unicode-range.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dash.unicode-range.css\\\"}},\\\"match\\\":\\\"(?)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"patterns":[{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)md\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)html\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)pug\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)stylus\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)postcss\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)sass\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)css\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)scss\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)less\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)js\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)ts\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)jsx\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)tsx\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)coffee\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)json\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)jsonc\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)json5\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)yaml\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)toml\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)(g(?:ql|raphql))\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]*\\\\blang\\\\s*=\\\\s*([\\"']?)vue\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=<\/script\\\\b)","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"(style)\\\\b","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=]+/>))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"self-closing-tag","patterns":[{"include":"#tag-stuff"}]},"tag-stuff":{"begin":"\\\\G","end":"(?=/>)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"begin":"(<)(template)\\\\b(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\\\G","end":"(?=/>)|(()","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\\\G","end":"(?=/>)|((","name":"comment.block.vue"}]},"vue-comments-key-value":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}},"name":"comment.block.vue","patterns":[{"include":"source.json#value"}]},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"},{"include":"#vue-directives-generic-attr"}]},"vue-directives-control":{"begin":"(v-for)|(v-(?:if|else-if|else))","captures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}},"end":"(?=\\\\s*+[^=\\\\s])","name":"meta.attribute.directive.control.vue","patterns":[{"include":"#vue-directives-expression"}]},"vue-directives-expression":{"patterns":[{"begin":"(=)\\\\s*([\\"'\`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"patterns":[{"begin":"(?<=([\\"'\`]))","end":"(?=\\\\1)","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]},{"begin":"(=)\\\\s*(?=[^\\"'\`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?=([>\\\\s]|/>))","patterns":[{"begin":"(?=[^\\"'\`])","end":"(?=([>\\\\s]|/>))","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]},"vue-directives-generic-attr":{"begin":"\\\\b(generic)\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<=[\\"'])","name":"meta.attribute.generic.vue","patterns":[{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"meta.type.parameters.vue","patterns":[{"include":"source.ts#comment"},{"match":"(?)","name":"keyword.operator.assignment.ts"}]}]},"vue-directives-original":{"begin":"(?:(v-[-\\\\w]+)(:)?|([.:])|(@)|(#))(?:(\\\\[)([^]]*)(])|([-\\\\w]+))?","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}},"end":"(?=\\\\s*[^=\\\\s])","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"meta.attribute.directive.vue","patterns":[{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"entity.other.attribute-name.html.vue"},"match":"(\\\\.)([-\\\\w]*)"},{"include":"#vue-directives-expression"}]},"vue-directives-style-attr":{"begin":"\\\\b(style)\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<=[\\"'])","name":"meta.attribute.style.vue","patterns":[{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"source.css.embedded.html.vue","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"match":"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)md\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)html\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)pug\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)stylus\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)postcss\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)sass\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)css\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)scss\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)less\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)js\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)ts\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)jsx\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)tsx\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)coffee\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)json\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)jsonc\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)json5\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)yaml\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)toml\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(g(?:ql|raphql))\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)vue\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=]+/>))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"end\\\":\\\"(/>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"self-closing-tag\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"tag-stuff\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"meta.tag-stuff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives\\\"},{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]},\\\"template-tag\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-tag-1\\\"},{\\\"include\\\":\\\"#template-tag-2\\\"}]},\\\"template-tag-1\\\":{\\\"begin\\\":\\\"(<)(template)\\\\\\\\b(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"meta.template-tag.start\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|(()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"meta.template-tag.start\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|((\\\",\\\"name\\\":\\\"comment.block.vue\\\"}]},\\\"vue-comments-key-value\\\":{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue\\\"}},\\\"name\\\":\\\"comment.block.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json#value\\\"}]},\\\"vue-directives\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives-control\\\"},{\\\"include\\\":\\\"#vue-directives-style-attr\\\"},{\\\"include\\\":\\\"#vue-directives-original\\\"},{\\\"include\\\":\\\"#vue-directives-generic-attr\\\"}]},\\\"vue-directives-control\\\":{\\\"begin\\\":\\\"(v-for)|(v-(?:if|else-if|else))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.vue\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.directive.control.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives-expression\\\"}]},\\\"vue-directives-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=)\\\\\\\\s*([\\\\\\\"'`])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html.vue\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=([\\\\\\\"'`]))\\\",\\\"end\\\":\\\"(?=\\\\\\\\1)\\\",\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(?=[^\\\\\\\"'`])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"}},\\\"end\\\":\\\"(?=([>\\\\\\\\s]|/>))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=([>\\\\\\\\s]|/>))\\\",\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]}]}]},\\\"vue-directives-generic-attr\\\":{\\\"begin\\\":\\\"\\\\\\\\b(generic)\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])\\\",\\\"name\\\":\\\"meta.attribute.generic.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html.vue\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"name\\\":\\\"meta.type.parameters.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]}]},\\\"vue-directives-original\\\":{\\\"begin\\\":\\\"(?:(v-[-\\\\\\\\w]+)(:)?|([.:])|(@)|(#))(?:(\\\\\\\\[)([^]]*)(])|([-\\\\\\\\w]+))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.attribute-shorthand.bind.html.vue\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.attribute-shorthand.event.html.vue\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.attribute-shorthand.slot.html.vue\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"7\\\":{\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"9\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[^=\\\\\\\\s])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"name\\\":\\\"meta.attribute.directive.vue\\\",\\\"patterns\\\":[{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"match\\\":\\\"(\\\\\\\\.)([-\\\\\\\\w]*)\\\"},{\\\"include\\\":\\\"#vue-directives-expression\\\"}]},\\\"vue-directives-style-attr\\\":{\\\"begin\\\":\\\"\\\\\\\\b(style)\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])\\\",\\\"name\\\":\\\"meta.attribute.style.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html.vue\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"name\\\":\\\"source.css.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#comment-block\\\"},{\\\"include\\\":\\\"source.css#escapes\\\"},{\\\"include\\\":\\\"source.css#font-features\\\"},{\\\"match\\\":\\\"(?|[\\\\[{]|do)\\\\s*$","foldingStopMarker":"^\\\\s*(([]}]|after|else|catch|rescue)\\\\s*$|end\\\\b)","name":"elixir","patterns":[{"begin":"\\\\b(fn)\\\\b(?!.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"$","patterns":[{"include":"#core_syntax"}]},{"captures":{"1":{"name":"entity.name.type.class.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"([A-Z]\\\\w+)\\\\s*(\\\\.)\\\\s*([_a-z]\\\\w*[!?]?)"},{"captures":{"1":{"name":"constant.other.symbol.elixir"},"2":{"name":"punctuation.separator.method.elixir"},"3":{"name":"entity.name.function.elixir"}},"match":"(:\\\\w+)\\\\s*(\\\\.)\\\\s*(_?\\\\w*[!?]?)"},{"captures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"entity.name.function.elixir"}},"match":"(\\\\|>)\\\\s*([_a-z]\\\\w*[!?]?)"},{"match":"\\\\b[_a-z]\\\\w*[!?]?(?=\\\\s*\\\\.?\\\\s*\\\\()","name":"entity.name.function.elixir"},{"begin":"\\\\b(fn)\\\\b(?=.*->)","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]},{"include":"#core_syntax"},{"begin":"^(?=.*->)((?![^\\"']*([\\"'])[^\\"']*->)|(?=.*->[^\\"']*([\\"'])[^\\"']*->))((?!.*\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\s*\\\\(.*\\\\).*->))((?!.*\\\\b(fn)\\\\b)|(?=.*->.*\\\\bfn\\\\b))","beginCaptures":{"1":{"name":"keyword.control.elixir"}},"end":"(?>(->)|(when)|(\\\\)))","endCaptures":{"1":{"name":"keyword.operator.other.elixir"},"2":{"name":"keyword.control.elixir"},"3":{"name":"punctuation.section.function.elixir"}},"patterns":[{"include":"#core_syntax"}]}],"repository":{"core_syntax":{"patterns":[{"begin":"^\\\\s*(defmodule)\\\\b","beginCaptures":{"1":{"name":"keyword.control.module.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.module.elixir"}},"name":"meta.module.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*(?=\\\\.)","name":"entity.other.inherited-class.elixir"},{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.class.elixir"}]},{"begin":"^\\\\s*(defprotocol)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_declaration.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(defimpl)\\\\b","beginCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"end":"\\\\b(do)\\\\b","endCaptures":{"1":{"name":"keyword.control.protocol.elixir"}},"name":"meta.protocol_implementation.elixir","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.protocol.elixir"}]},{"begin":"^\\\\s*(def(?:|macro|delegate|guard))\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.public.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:|n|macro|delegate|guard))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.public.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"^\\\\s*(def(?:|n|macro|guard)p)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\&/\`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))((\\\\()|\\\\s*)","beginCaptures":{"1":{"name":"keyword.control.module.elixir"},"2":{"name":"entity.name.function.private.elixir"},"4":{"name":"punctuation.section.function.elixir"}},"end":"\\\\b(do:)|\\\\b(do)\\\\b|(?=\\\\s+(def(?:p|macrop|guardp))\\\\b)","endCaptures":{"1":{"name":"constant.other.keywords.elixir"},"2":{"name":"keyword.control.module.elixir"}},"name":"meta.function.private.elixir","patterns":[{"include":"$self"},{"begin":"\\\\s(\\\\\\\\\\\\\\\\)","beginCaptures":{"1":{"name":"keyword.operator.other.elixir"}},"end":"[),]|$","patterns":[{"include":"$self"}]},{"match":"\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\b","name":"keyword.control.elixir"}]},{"begin":"\\\\s*~L\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.leex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"\\\\s*~H\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"sigil.heex","patterns":[{"include":"text.elixir"},{"include":"text.html.basic"}]},{"begin":"@(module|type)?doc (~[a-z])?\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]\\"\\"\\"","end":"\\\\s*\\"\\"\\"","name":"comment.block.documentation.heredoc"},{"begin":"@(module|type)?doc (~[a-z])?'''","end":"\\\\s*'''","name":"comment.block.documentation.heredoc","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"@(module|type)?doc ~[A-Z]'''","end":"\\\\s*'''","name":"comment.block.documentation.heredoc"},{"match":"@(module|type)?doc false","name":"comment.block.documentation.false"},{"begin":"@(module|type)?doc \\"","end":"\\"","name":"comment.block.documentation.string","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"match":"(?_?\\\\h)*\\\\b","name":"constant.numeric.hex.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)+)([Ee][-+]?\\\\d(?>_?\\\\d)*)?\\\\b","name":"constant.numeric.float.elixir"},{"match":"\\\\b\\\\d(?>_?\\\\d)*\\\\b","name":"constant.numeric.integer.elixir"},{"match":"\\\\b0b[01](?>_?[01])*\\\\b","name":"constant.numeric.binary.elixir"},{"match":"\\\\b0o[0-7](?>_?[0-7])*\\\\b","name":"constant.numeric.octal.elixir"},{"begin":":'","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"'","name":"constant.other.symbol.single-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":":\\"","captures":{"0":{"name":"punctuation.definition.constant.elixir"}},"end":"\\"","name":"constant.other.symbol.double-quoted.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.single.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.double.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[a-z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.elixir","patterns":[{"include":"#interpolated_elixir"},{"include":"#escaped_char"}]},{"begin":"~[A-Z]\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"^\\\\s*\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.heredoc.literal.elixir"},{"begin":"~[A-Z]\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"}[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"][a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":">[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\)[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"begin":"~[A-Z](\\\\W)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elixir"}},"end":"\\\\1[a-z]*","endCaptures":{"0":{"name":"punctuation.definition.string.end.elixir"}},"name":"string.quoted.other.sigil.literal.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?[A-Z_a-z][@\\\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\|>|=>|=~|[/=]|\\\\\\\\\\\\\\\\|\\\\*\\\\*?|\\\\.\\\\.?\\\\.?|\\\\.\\\\.//|>=?|<=?|&&?&?|\\\\+\\\\+?|--?|\\\\|\\\\|?\\\\|?|[!@]|%?\\\\{}|%|\\\\[]|\\\\^(\\\\^\\\\^)?)","name":"constant.other.symbol.elixir"},{"captures":{"1":{"name":"punctuation.definition.constant.elixir"}},"match":"(?>[A-Z_a-z][@\\\\w]*[!?]?)(:)(?!:)","name":"constant.other.keywords.elixir"},{"begin":"(^[\\\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.section.elixir"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.elixir"}},"end":"(?!#)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.elixir"}},"end":"\\\\n","name":"comment.line.number-sign.elixir"}]},{"match":"\\\\b_([^_]\\\\w+[!?]?)","name":"comment.unused.elixir"},{"match":"\\\\b_\\\\b","name":"comment.wildcard.elixir"},{"match":"(?","name":"keyword.operator.concatenation.elixir"},{"match":"\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\|>","name":"keyword.operator.sigils_1.elixir"},{"match":"&&&?","name":"keyword.operator.sigils_2.elixir"},{"match":"<-|\\\\\\\\\\\\\\\\","name":"keyword.operator.sigils_3.elixir"},{"match":"===?|!==?|<=?|>=?","name":"keyword.operator.comparison.elixir"},{"match":"(\\\\|\\\\|\\\\||&&&|\\\\^\\\\^\\\\^|<<<|>>>|~~~)","name":"keyword.operator.bitwise.elixir"},{"match":"(?<=[\\\\t ])!+|\\\\bnot\\\\b|&&|\\\\band\\\\b|\\\\|\\\\||\\\\bor\\\\b|\\\\bxor\\\\b","name":"keyword.operator.logical.elixir"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.elixir"},{"match":"\\\\||\\\\+\\\\+|--|\\\\*\\\\*|\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\.\\\\.|//|\\\\|>|~|=>|&","name":"keyword.operator.other.elixir"},{"match":"=","name":"keyword.operator.assignment.elixir"},{"match":":","name":"punctuation.separator.other.elixir"},{"match":";","name":"punctuation.separator.statement.elixir"},{"match":",","name":"punctuation.separator.object.elixir"},{"match":"\\\\.","name":"punctuation.separator.method.elixir"},{"match":"[{}]","name":"punctuation.section.scope.elixir"},{"match":"[]\\\\[]","name":"punctuation.section.array.elixir"},{"match":"[()]","name":"punctuation.section.function.elixir"}]},"escaped_char":{"match":"\\\\\\\\(x[A-Fa-f\\\\d]{1,2}|.)","name":"constant.character.escaped.elixir"},"interpolated_elixir":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.elixir"}},"contentName":"source.elixir","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.elixir"}},"name":"meta.embedded.line.elixir","patterns":[{"include":"#nest_curly_and_self"},{"include":"$self"}]},"nest_curly_and_self":{"patterns":[{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.elixir"}},"end":"}","patterns":[{"include":"#nest_curly_and_self"}]},{"include":"$self"}]}},"scopeName":"source.elixir","embeddedLangs":["html"]}`, + ), + ), + r = [...e, i] +export { r as default } +//# sourceMappingURL=chunk-DRBVVfo7.js.map diff --git a/src/webview-ui/build/assets/chunk-DRBVVfo7.js.map b/src/webview-ui/build/assets/chunk-DRBVVfo7.js.map new file mode 100644 index 0000000000..53ebacf981 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DRBVVfo7.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-DRBVVfo7.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/elixir.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Elixir\\\",\\\"fileTypes\\\":[\\\"ex\\\",\\\"exs\\\"],\\\"firstLineMatch\\\":\\\"^#!/.*\\\\\\\\belixir\\\",\\\"foldingStartMarker\\\":\\\"(after|else|catch|rescue|->|[\\\\\\\\[{]|do)\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"^\\\\\\\\s*(([]}]|after|else|catch|rescue)\\\\\\\\s*$|end\\\\\\\\b)\\\",\\\"name\\\":\\\"elixir\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(fn)\\\\\\\\b(?!.*->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.elixir\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#core_syntax\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.method.elixir\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.elixir\\\"}},\\\"match\\\":\\\"([A-Z]\\\\\\\\w+)\\\\\\\\s*(\\\\\\\\.)\\\\\\\\s*([_a-z]\\\\\\\\w*[!?]?)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.symbol.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.method.elixir\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.elixir\\\"}},\\\"match\\\":\\\"(:\\\\\\\\w+)\\\\\\\\s*(\\\\\\\\.)\\\\\\\\s*(_?\\\\\\\\w*[!?]?)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.other.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.elixir\\\"}},\\\"match\\\":\\\"(\\\\\\\\|>)\\\\\\\\s*([_a-z]\\\\\\\\w*[!?]?)\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_a-z]\\\\\\\\w*[!?]?(?=\\\\\\\\s*\\\\\\\\.?\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.elixir\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(fn)\\\\\\\\b(?=.*->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.elixir\\\"}},\\\"end\\\":\\\"(?>(->)|(when)|(\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.other.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.elixir\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.elixir\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#core_syntax\\\"}]},{\\\"include\\\":\\\"#core_syntax\\\"},{\\\"begin\\\":\\\"^(?=.*->)((?![^\\\\\\\"']*([\\\\\\\"'])[^\\\\\\\"']*->)|(?=.*->[^\\\\\\\"']*([\\\\\\\"'])[^\\\\\\\"']*->))((?!.*\\\\\\\\([^)]*->)|(?=[^()]*->)|(?=\\\\\\\\s*\\\\\\\\(.*\\\\\\\\).*->))((?!.*\\\\\\\\b(fn)\\\\\\\\b)|(?=.*->.*\\\\\\\\bfn\\\\\\\\b))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.elixir\\\"}},\\\"end\\\":\\\"(?>(->)|(when)|(\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.other.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.elixir\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.elixir\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#core_syntax\\\"}]}],\\\"repository\\\":{\\\"core_syntax\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(defmodule)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\b(do)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.elixir\\\"}},\\\"name\\\":\\\"meta.module.elixir\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z]\\\\\\\\w*(?=\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.other.inherited-class.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.class.elixir\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(defprotocol)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\b(do)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.elixir\\\"}},\\\"name\\\":\\\"meta.protocol_declaration.elixir\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.protocol.elixir\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(defimpl)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\b(do)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.elixir\\\"}},\\\"name\\\":\\\"meta.protocol_implementation.elixir\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.protocol.elixir\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(def(?:|macro|delegate|guard))\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[]=?))((\\\\\\\\()|\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.public.elixir\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.function.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\b(do:)|\\\\\\\\b(do)\\\\\\\\b|(?=\\\\\\\\s+(def(?:|n|macro|delegate|guard))\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.keywords.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.module.elixir\\\"}},\\\"name\\\":\\\"meta.function.public.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"begin\\\":\\\"\\\\\\\\s(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.other.elixir\\\"}},\\\"end\\\":\\\"[),]|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.elixir\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(def(?:|n|macro|guard)p)\\\\\\\\s+((?>[A-Z_a-z]\\\\\\\\w*(?>\\\\\\\\.|::))?(?>[A-Z_a-z]\\\\\\\\w*(?>[!?]|=(?!>))?|===?|>[=>]?|<=>|<[<=]?|[%\\\\\\\\&/`|]|\\\\\\\\*\\\\\\\\*?|=?~|[-+]@?|\\\\\\\\[]=?))((\\\\\\\\()|\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.module.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.private.elixir\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.function.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\b(do:)|\\\\\\\\b(do)\\\\\\\\b|(?=\\\\\\\\s+(def(?:p|macrop|guardp))\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.keywords.elixir\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.module.elixir\\\"}},\\\"name\\\":\\\"meta.function.private.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"begin\\\":\\\"\\\\\\\\s(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.other.elixir\\\"}},\\\"end\\\":\\\"[),]|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.elixir\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*~L\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"sigil.leex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.elixir\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*~H\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"sigil.heex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.elixir\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"@(module|type)?doc (~[a-z])?\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"comment.block.documentation.heredoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"@(module|type)?doc ~[A-Z]\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"comment.block.documentation.heredoc\\\"},{\\\"begin\\\":\\\"@(module|type)?doc (~[a-z])?'''\\\",\\\"end\\\":\\\"\\\\\\\\s*'''\\\",\\\"name\\\":\\\"comment.block.documentation.heredoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"@(module|type)?doc ~[A-Z]'''\\\",\\\"end\\\":\\\"\\\\\\\\s*'''\\\",\\\"name\\\":\\\"comment.block.documentation.heredoc\\\"},{\\\"match\\\":\\\"@(module|type)?doc false\\\",\\\"name\\\":\\\"comment.block.documentation.false\\\"},{\\\"begin\\\":\\\"@(module|type)?doc \\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"comment.block.documentation.string\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"match\\\":\\\"(?_?\\\\\\\\h)*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d(?>_?\\\\\\\\d)*(\\\\\\\\.(?![^\\\\\\\\s\\\\\\\\d])(?>_?\\\\\\\\d)+)([Ee][-+]?\\\\\\\\d(?>_?\\\\\\\\d)*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d(?>_?\\\\\\\\d)*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\b0b[01](?>_?[01])*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.binary.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\b0o[0-7](?>_?[0-7])*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.octal.elixir\\\"},{\\\"begin\\\":\\\":'\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.constant.elixir\\\"}},\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"constant.other.symbol.single-quoted.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\":\\\\\\\"\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.constant.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.other.symbol.double-quoted.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*'''\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.single.heredoc.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.single.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.double.heredoc.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.double.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[a-z]\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.heredoc.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[a-z]\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"}[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[a-z]\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"][a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[a-z]<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\">[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[a-z]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\)[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[a-z](\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\1[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_elixir\\\"},{\\\"include\\\":\\\"#escaped_char\\\"}]},{\\\"begin\\\":\\\"~[A-Z]\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.heredoc.literal.elixir\\\"},{\\\"begin\\\":\\\"~[A-Z]\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"}[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.literal.elixir\\\"},{\\\"begin\\\":\\\"~[A-Z]\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"][a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.literal.elixir\\\"},{\\\"begin\\\":\\\"~[A-Z]<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\">[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.literal.elixir\\\"},{\\\"begin\\\":\\\"~[A-Z]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\)[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.literal.elixir\\\"},{\\\"begin\\\":\\\"~[A-Z](\\\\\\\\W)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\1[a-z]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elixir\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.literal.elixir\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.elixir\\\"}},\\\"match\\\":\\\"(?[A-Z_a-z][@\\\\\\\\w]*(?>[!?]|=(?![=>]))?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\\\\\\\|>|=>|=~|[/=]|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\*\\\\\\\\*?|\\\\\\\\.\\\\\\\\.?\\\\\\\\.?|\\\\\\\\.\\\\\\\\.//|>=?|<=?|&&?&?|\\\\\\\\+\\\\\\\\+?|--?|\\\\\\\\|\\\\\\\\|?\\\\\\\\|?|[!@]|%?\\\\\\\\{}|%|\\\\\\\\[]|\\\\\\\\^(\\\\\\\\^\\\\\\\\^)?)\\\",\\\"name\\\":\\\"constant.other.symbol.elixir\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.elixir\\\"}},\\\"match\\\":\\\"(?>[A-Z_a-z][@\\\\\\\\w]*[!?]?)(:)(?!:)\\\",\\\"name\\\":\\\"constant.other.keywords.elixir\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=##)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.elixir\\\"}},\\\"end\\\":\\\"(?!#)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"##\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.section.elixir\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.elixir\\\"}},\\\"end\\\":\\\"(?!#)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.elixir\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.elixir\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b_([^_]\\\\\\\\w+[!?]?)\\\",\\\"name\\\":\\\"comment.unused.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\b_\\\\\\\\b\\\",\\\"name\\\":\\\"comment.wildcard.elixir\\\"},{\\\"match\\\":\\\"(?\\\",\\\"name\\\":\\\"keyword.operator.concatenation.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\\\\\\\\|>\\\",\\\"name\\\":\\\"keyword.operator.sigils_1.elixir\\\"},{\\\"match\\\":\\\"&&&?\\\",\\\"name\\\":\\\"keyword.operator.sigils_2.elixir\\\"},{\\\"match\\\":\\\"<-|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"keyword.operator.sigils_3.elixir\\\"},{\\\"match\\\":\\\"===?|!==?|<=?|>=?\\\",\\\"name\\\":\\\"keyword.operator.comparison.elixir\\\"},{\\\"match\\\":\\\"(\\\\\\\\|\\\\\\\\|\\\\\\\\||&&&|\\\\\\\\^\\\\\\\\^\\\\\\\\^|<<<|>>>|~~~)\\\",\\\"name\\\":\\\"keyword.operator.bitwise.elixir\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\t ])!+|\\\\\\\\bnot\\\\\\\\b|&&|\\\\\\\\band\\\\\\\\b|\\\\\\\\|\\\\\\\\||\\\\\\\\bor\\\\\\\\b|\\\\\\\\bxor\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.elixir\\\"},{\\\"match\\\":\\\"([-*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\||\\\\\\\\+\\\\\\\\+|--|\\\\\\\\*\\\\\\\\*|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|<-|<>|<<|>>|::|\\\\\\\\.\\\\\\\\.|//|\\\\\\\\|>|~|=>|&\\\",\\\"name\\\":\\\"keyword.operator.other.elixir\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.elixir\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.other.elixir\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.elixir\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.elixir\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.method.elixir\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.section.scope.elixir\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.section.array.elixir\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.section.function.elixir\\\"}]},\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[A-Fa-f\\\\\\\\d]{1,2}|.)\\\",\\\"name\\\":\\\"constant.character.escaped.elixir\\\"},\\\"interpolated_elixir\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.elixir\\\"}},\\\"contentName\\\":\\\"source.elixir\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.elixir\\\"}},\\\"name\\\":\\\"meta.embedded.line.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.elixir\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}},\\\"scopeName\\\":\\\"source.elixir\\\",\\\"embeddedLangs\\\":[\\\"html\\\"]}\"))\n\nexport default [\n...html,\nlang\n]\n" + ], + "names": [ + "lang", + "elixir", + "html" + ], + "mappings": "2FAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+xfAAyijB,CAAC,EAEjkjBC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DRg8JJMk.js b/src/webview-ui/build/assets/chunk-DRg8JJMk.js new file mode 100644 index 0000000000..2ca4837cff --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DRg8JJMk.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + '{"displayName":"Narrat Language","name":"narrat","patterns":[{"include":"#comments"},{"include":"#expression"}],"repository":{"commands":{"patterns":[{"match":"\\\\b(set|var)\\\\b","name":"keyword.commands.variables.narrat"},{"match":"\\\\b(t(?:alk|hink))\\\\b","name":"keyword.commands.text.narrat"},{"match":"\\\\b(jump|run|wait|return|save|save_prompt)","name":"keyword.commands.flow.narrat"},{"match":"\\\\b((?:|clear_dia)log)\\\\b","name":"keyword.commands.helpers.narrat"},{"match":"\\\\b(set_screen|empty_layer|set_button)","name":"keyword.commands.screens.narrat"},{"match":"\\\\b(play|pause|stop)\\\\b","name":"keyword.commands.audio.narrat"},{"match":"\\\\b(notify|enable_notifications|disable_notifications)\\\\b","name":"keyword.commands.notifications.narrat"},{"match":"\\\\b(set_stat|get_stat_value|add_stat)","name":"keyword.commands.stats.narrat"},{"match":"\\\\b(neg|abs|random|random_float|random_from_args|min|max|clamp|floor|round|ceil|sqrt|^)\\\\b","name":"keyword.commands.math.narrat"},{"match":"\\\\b(concat|join)\\\\b","name":"keyword.commands.string.narrat"},{"match":"\\\\b(text_field)\\\\b","name":"keyword.commands.text_field.narrat"},{"match":"\\\\b(add_level|set_level|add_xp|roll|get_level|get_xp)\\\\b","name":"keyword.commands.skills.narrat"},{"match":"\\\\b(add_item|remove_item|enable_interaction|disable_interaction|has_item?|item_amount?)","name":"keyword.commands.inventory.narrat"},{"match":"\\\\b(start_quest|start_objective|complete_objective|complete_quest|quest_started?|objective_started?|quest_completed?|objective_completed?)","name":"keyword.commands.quests.narrat"}]},"comments":{"patterns":[{"match":"//.*$","name":"comment.line.narrat"}]},"expression":{"patterns":[{"include":"#keywords"},{"include":"#commands"},{"include":"#operators"},{"include":"#primitives"},{"include":"#strings"},{"include":"#paren-expression"}]},"interpolation":{"patterns":[{"match":"([.\\\\w])+","name":"variable.interpolation.narrat"}]},"keywords":{"patterns":[{"match":"\\\\b(if|else|choice)\\\\b","name":"keyword.control.narrat"},{"match":"\\\\$[.|\\\\w]+\\\\b","name":"variable.value.narrat"},{"match":"^\\\\w+(?=([\\\\s\\\\w])*:)","name":"entity.name.function.narrat"},{"match":"^\\\\w+(?!([\\\\s\\\\w])*:)","name":"invalid.label.narrat"},{"match":"(?<=\\\\w)[^^]\\\\b(\\\\w+)\\\\b(?=([\\\\s\\\\w])*:)","name":"entity.other.attribute-name"}]},"operators":{"patterns":[{"match":"(&&|\\\\|\\\\||!=|==|>=|<=|[!<>?])\\\\s","name":"keyword.operator.logic.narrat"},{"match":"([-*+/])\\\\s","name":"keyword.operator.arithmetic.narrat"}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.open"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.close"}},"name":"expression.group","patterns":[{"include":"#expression"}]},"primitives":{"patterns":[{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.narrat"},{"match":"\\\\btrue\\\\b","name":"constant.language.true.narrat"},{"match":"\\\\bfalse\\\\b","name":"constant.language.false.narrat"},{"match":"\\\\bnull\\\\b","name":"constant.language.null.narrat"},{"match":"\\\\bundefined\\\\b","name":"constant.language.undefined.narrat"}]},"strings":{"begin":"\\"","end":"\\"","name":"string.quoted.double.narrat","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.narrat"},{"begin":"%\\\\{","beginCaptures":{"0":{"name":"punctuation.template.open"}},"end":"}","endCaptures":{"0":{"name":"punctuation.template.close.narrat"}},"name":"expression.template","patterns":[{"include":"#expression"},{"include":"#interpolation"}]}]}},"scopeName":"source.narrat","aliases":["nar"]}', + ), + ), + e = [a] +export { e as default } +//# sourceMappingURL=chunk-DRg8JJMk.js.map diff --git a/src/webview-ui/build/assets/chunk-DRg8JJMk.js.map b/src/webview-ui/build/assets/chunk-DRg8JJMk.js.map new file mode 100644 index 0000000000..81bb814170 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DRg8JJMk.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DRg8JJMk.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/narrat.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Narrat Language\\\",\\\"name\\\":\\\"narrat\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expression\\\"}],\\\"repository\\\":{\\\"commands\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(set|var)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.variables.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(t(?:alk|hink))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.text.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(jump|run|wait|return|save|save_prompt)\\\",\\\"name\\\":\\\"keyword.commands.flow.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:|clear_dia)log)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.helpers.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(set_screen|empty_layer|set_button)\\\",\\\"name\\\":\\\"keyword.commands.screens.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(play|pause|stop)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.audio.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(notify|enable_notifications|disable_notifications)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.notifications.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(set_stat|get_stat_value|add_stat)\\\",\\\"name\\\":\\\"keyword.commands.stats.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(neg|abs|random|random_float|random_from_args|min|max|clamp|floor|round|ceil|sqrt|^)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.math.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(concat|join)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.string.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(text_field)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.text_field.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(add_level|set_level|add_xp|roll|get_level|get_xp)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.commands.skills.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(add_item|remove_item|enable_interaction|disable_interaction|has_item?|item_amount?)\\\",\\\"name\\\":\\\"keyword.commands.inventory.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(start_quest|start_objective|complete_objective|complete_quest|quest_started?|objective_started?|quest_completed?|objective_completed?)\\\",\\\"name\\\":\\\"keyword.commands.quests.narrat\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"//.*$\\\",\\\"name\\\":\\\"comment.line.narrat\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#commands\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#primitives\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([.\\\\\\\\w])+\\\",\\\"name\\\":\\\"variable.interpolation.narrat\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(if|else|choice)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\$[.|\\\\\\\\w]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.value.narrat\\\"},{\\\"match\\\":\\\"^\\\\\\\\w+(?=([\\\\\\\\s\\\\\\\\w])*:)\\\",\\\"name\\\":\\\"entity.name.function.narrat\\\"},{\\\"match\\\":\\\"^\\\\\\\\w+(?!([\\\\\\\\s\\\\\\\\w])*:)\\\",\\\"name\\\":\\\"invalid.label.narrat\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\w)[^^]\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b(?=([\\\\\\\\s\\\\\\\\w])*:)\\\",\\\"name\\\":\\\"entity.other.attribute-name\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(&&|\\\\\\\\|\\\\\\\\||!=|==|>=|<=|[!<>?])\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.logic.narrat\\\"},{\\\"match\\\":\\\"([-*+/])\\\\\\\\s\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.narrat\\\"}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.paren.open\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.paren.close\\\"}},\\\"name\\\":\\\"expression.group\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"primitives\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\btrue\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.true.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\bfalse\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.false.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\bnull\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.null.narrat\\\"},{\\\"match\\\":\\\"\\\\\\\\bundefined\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.undefined.narrat\\\"}]},\\\"strings\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.narrat\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.narrat\\\"},{\\\"begin\\\":\\\"%\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.template.open\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.template.close.narrat\\\"}},\\\"name\\\":\\\"expression.template\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]}]}},\\\"scopeName\\\":\\\"source.narrat\\\",\\\"aliases\\\":[\\\"nar\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "narrat" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,whHAA46H,CAAC,EAEp8HC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DSnTR2wu.js b/src/webview-ui/build/assets/chunk-DSnTR2wu.js new file mode 100644 index 0000000000..7a372821b1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DSnTR2wu.js @@ -0,0 +1,16 @@ +import e from "./chunk-CzjqYRUi.js" +import n from "./chunk-B6aJPvgy.js" +import a from "./chunk-BMMyXqK5.js" +import t from "./chunk-C2tOF0e5.js" +import i from "./chunk-B9xm8XSJ.js" +import "./chunk-CDVJQ6XC.js" +import "./chunk-DXETW7eA.js" +import "./chunk-BIGW1oBm.js" +const p = Object.freeze( + JSON.parse( + `{"displayName":"Julia","name":"julia","patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#for_block"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}],"repository":{"array":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(])(\\\\.?'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"name":"meta.array.julia","patterns":[{"match":"\\\\bbegin\\\\b","name":"constant.numeric.julia"},{"match":"\\\\bend\\\\b","name":"constant.numeric.julia"},{"include":"#self_no_for_block"}]}]},"bracket":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(})(\\\\.?'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"comment":{"patterns":[{"include":"#comment_block"},{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.julia"}},"end":"\\\\n","name":"comment.line.number-sign.julia","patterns":[{"include":"#comment_tags"}]}]},"comment_block":{"patterns":[{"begin":"#=","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.julia"}},"end":"=#","endCaptures":{"0":{"name":"punctuation.definition.comment.end.julia"}},"name":"comment.block.number-sign-equals.julia","patterns":[{"include":"#comment_tags"},{"include":"#comment_block"}]}]},"comment_tags":{"patterns":[{"match":"\\\\bTODO\\\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\\\bFIXME\\\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\\\bCHANGED\\\\b","name":"keyword.other.comment-annotation.julia"},{"match":"\\\\bXXX\\\\b","name":"keyword.other.comment-annotation.julia"}]},"for_block":{"patterns":[{"begin":"\\\\b(for)\\\\b","beginCaptures":{"0":{"name":"keyword.control.julia"}},"end":"(?]))"},{"captures":{"1":{"name":"keyword.other.julia"},"2":{"name":"keyword.operator.dots.julia"},"3":{"name":"entity.name.function.julia"},"4":{"name":"support.type.julia"}},"match":"\\\\b(function|macro)(?:\\\\s+(?:[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-¡\\\\P{Mn}][^\\\\x01-¡\\\\P{Mc}][^\\\\x01-¡\\\\D][^\\\\x01-¡\\\\P{Pc}][^\\\\x01-¡\\\\P{Sk}][^\\\\x01-¡\\\\P{Me}][^\\\\x01-¡\\\\P{No}][^←-⇿\\\\P{So}]]*(\\\\.))?([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-¡\\\\P{Mn}][^\\\\x01-¡\\\\P{Mc}][^\\\\x01-¡\\\\D][^\\\\x01-¡\\\\P{Pc}][^\\\\x01-¡\\\\P{Sk}][^\\\\x01-¡\\\\P{Me}][^\\\\x01-¡\\\\P{No}][^←-⇿\\\\P{So}]]*)(\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*})?|\\\\s*)(?=\\\\()"}]},"keyword":{"patterns":[{"match":"\\\\b(?|->|-->|<--|[←→↔↚-↞↠↢↣↤↦↩-↬↮↶↷↺-↽⇀⇁⇄⇆⇇⇉⇋-⇐⇒⇔⇚-⇝⇠⇢⇴⇶-⇿⟵⟶⟷⟹-⟿⤀-⤇⤌-⤑⤔-⤘⤝-⤠⥄-⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦-⥭⥰⥷⥺⧴⬰-⭄⭇-⭌←→]|=>)","name":"keyword.operator.arrow.julia"},{"match":":=|\\\\+=|-=|\\\\*=|//=|/=|\\\\.//=|\\\\./=|\\\\.\\\\*=|\\\\\\\\=|\\\\.\\\\\\\\=|\\\\^=|\\\\.\\\\^=|%=|\\\\.%=|÷=|\\\\.÷=|\\\\|=|&=|\\\\.&=|⊻=|\\\\.⊻=|\\\\$=|<<=|>>=|>>>=|=(?!=)","name":"keyword.operator.update.julia"},{"match":"<<|>>>?|\\\\.>>>?|\\\\.<<","name":"keyword.operator.shift.julia"},{"captures":{"1":{"name":"keyword.operator.relation.types.julia"},"2":{"name":"support.type.julia"},"3":{"name":"keyword.operator.transpose.julia"}},"match":"\\\\s*([:<>]:)\\\\s*((?:Union)?\\\\([^)]*\\\\)|[$_∇[:alpha:]][!.′⁺-ₜ[:word:]]*(?:\\\\{(?:[^{}]|\\\\{(?:[^{}]|\\\\{[^{}]*})*})*}|\\".+?(?)>=|[<>≤≥]|===?|≡|!=|≠|!==|[∈-∍∝∥∦∷∺∻∽∾≁-≎≐-≓≖-≟≢≣≦-⊋⊏-⊒⊜⊢⊣⊩⊬⊮⊰-⊷⋍⋐⋑⋕-⋭⋲-⋿⟂⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪-⩳⩵-⫙⫪⫫⫷-⫺]|<:|>:))","name":"keyword.operator.relation.julia"},{"match":"(?<=\\\\s)\\\\?(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"(?<=\\\\s):(?=\\\\s)","name":"keyword.operator.ternary.julia"},{"match":"\\\\|\\\\||&&|(?","name":"keyword.operator.applies.julia"},{"match":"\\\\||\\\\.\\\\||&|\\\\.&|[~¬]|\\\\.~|⊻|\\\\.⊻","name":"keyword.operator.bitwise.julia"},{"match":"\\\\.?(?:\\\\+\\\\+|--|[-*+|¦±−∓∔∨∪∸≏⊎⊔⊕⊖⊞⊟⊻⊽⋎⋓⟇⧺⧻⨈⨢-⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣]|//?|[%\\\\&\\\\\\\\^±·×÷·⅋↑↓⇵∓∗-∜∤∧∩≀⊍⊓⊗-⊛⊠⊡⊼⋄-⋇⋉-⋌⋏⋒⌿▷⟑⟕⟖⟗⟰⟱⤈-⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯⦸⦼⦾⦿⧶⧷⨇⨝⨟⨰-⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛↑↓])","name":"keyword.operator.arithmetic.julia"},{"match":"∘","name":"keyword.operator.compose.julia"},{"match":"::|(?<=\\\\s)isa(?=\\\\s)","name":"keyword.operator.isa.julia"},{"match":"(?<=\\\\s)in(?=\\\\s)","name":"keyword.operator.relation.in.julia"},{"match":"\\\\.(?=[@_\\\\p{L}])|\\\\.\\\\.+|[…⁝⋮-⋱]","name":"keyword.operator.dots.julia"},{"match":"\\\\$(?=.+)","name":"keyword.operator.interpolation.julia"},{"captures":{"2":{"name":"keyword.operator.transposed-variable.julia"}},"match":"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^←-⇿\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\p{Lu}\\\\p{Ll}\\\\p{Lt}\\\\p{Lm}\\\\p{Lo}\\\\p{Nl}\\\\p{Sc}[^\\\\x01-¡\\\\P{Mn}][^\\\\x01-¡\\\\P{Mc}][^\\\\x01-¡\\\\D][^\\\\x01-¡\\\\P{Pc}][^\\\\x01-¡\\\\P{Sk}][^\\\\x01-¡\\\\P{Me}][^\\\\x01-¡\\\\P{No}][^←-⇿\\\\P{So}]]*)(('|(\\\\.'))*\\\\.?')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-matrix.julia"}},"match":"(])((?:\\\\.??')*\\\\.?')"},{"captures":{"1":{"name":"bracket.end.julia"},"2":{"name":"keyword.operator.transposed-parens.julia"}},"match":"(\\\\))((?:\\\\.??')*\\\\.?')"}]},"parentheses":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.bracket.julia"}},"end":"(\\\\))(\\\\.?'*)","endCaptures":{"1":{"name":"meta.bracket.julia"},"2":{"name":"keyword.operator.transpose.julia"}},"patterns":[{"include":"#self_no_for_block"}]}]},"punctuation":{"patterns":[{"match":",","name":"punctuation.separator.comma.julia"},{"match":";","name":"punctuation.separator.semicolon.julia"}]},"self_no_for_block":{"patterns":[{"include":"#operator"},{"include":"#array"},{"include":"#string"},{"include":"#parentheses"},{"include":"#bracket"},{"include":"#function_decl"},{"include":"#function_call"},{"include":"#keyword"},{"include":"#number"},{"include":"#comment"},{"include":"#type_decl"},{"include":"#symbol"},{"include":"#punctuation"}]},"string":{"patterns":[{"begin":"(@doc)\\\\s((?:doc)?\\"\\"\\")|(doc\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\\"\\"\\") ?(->)?","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"},"2":{"name":"keyword.operator.arrow.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(i?cxx)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.cpp","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.cxx.julia","patterns":[{"include":"source.cpp#root_context"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(py)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.python","end":"([\\\\s\\\\w]*)(\\"\\"\\")","endCaptures":{"2":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.python.julia","patterns":[{"include":"source.python"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(js)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.javascript","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.js.julia","patterns":[{"include":"source.js"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(R)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.r","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.R.julia","patterns":[{"include":"source.r"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"(raw)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(raw)(\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.other.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(sql)(\\"\\"\\")","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"contentName":"meta.embedded.inline.sql","end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"embed.sql.julia","patterns":[{"include":"source.sql"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"var\\"\\"\\"","end":"\\"\\"\\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"var\\"","end":"\\"","name":"constant.other.symbol.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"^\\\\s?(doc)?(\\"\\"\\")\\\\s?$","beginCaptures":{"1":{"name":"support.function.macro.julia"},"2":{"name":"punctuation.definition.string.begin.julia"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.julia"}},"name":"string.docstring.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.single.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.multiline.begin.julia"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.multiline.end.julia"}},"name":"string.quoted.triple.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"\\"(?!\\"\\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.julia"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.julia"}},"name":"string.quoted.double.julia","patterns":[{"include":"#string_escaped_char"},{"include":"#string_dollar_sign_interpolate"}]},{"begin":"r\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\\"\\"\\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"r\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.julia"}},"end":"(\\")([imsx]{0,4})?","endCaptures":{"1":{"name":"punctuation.definition.string.regexp.end.julia"},"2":{"name":"keyword.other.option-toggle.regexp.julia"}},"name":"string.regexp.julia","patterns":[{"include":"#string_escaped_char"}]},{"begin":"(?]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.dots.julia\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.julia\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.julia\\\"}},\\\"match\\\":\\\"\\\\\\\\b(function|macro)(?:\\\\\\\\s+(?:[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*(\\\\\\\\.))?([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(\\\\\\\\{(?:[^{}]|\\\\\\\\{(?:[^{}]|\\\\\\\\{[^{}]*})*})*})?|\\\\\\\\s*)(?=\\\\\\\\()\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?|->|-->|<--|[←→↔↚-↞↠↢↣↤↦↩-↬↮↶↷↺-↽⇀⇁⇄⇆⇇⇉⇋-⇐⇒⇔⇚-⇝⇠⇢⇴⇶-⇿⟵⟶⟷⟹-⟿⤀-⤇⤌-⤑⤔-⤘⤝-⤠⥄-⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦-⥭⥰⥷⥺⧴⬰-⭄⭇-⭌←→]|=>)\\\",\\\"name\\\":\\\"keyword.operator.arrow.julia\\\"},{\\\"match\\\":\\\":=|\\\\\\\\+=|-=|\\\\\\\\*=|//=|/=|\\\\\\\\.//=|\\\\\\\\./=|\\\\\\\\.\\\\\\\\*=|\\\\\\\\\\\\\\\\=|\\\\\\\\.\\\\\\\\\\\\\\\\=|\\\\\\\\^=|\\\\\\\\.\\\\\\\\^=|%=|\\\\\\\\.%=|÷=|\\\\\\\\.÷=|\\\\\\\\|=|&=|\\\\\\\\.&=|⊻=|\\\\\\\\.⊻=|\\\\\\\\$=|<<=|>>=|>>>=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.update.julia\\\"},{\\\"match\\\":\\\"<<|>>>?|\\\\\\\\.>>>?|\\\\\\\\.<<\\\",\\\"name\\\":\\\"keyword.operator.shift.julia\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.relation.types.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.julia\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.transpose.julia\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([:<>]:)\\\\\\\\s*((?:Union)?\\\\\\\\([^)]*\\\\\\\\)|[$_∇[:alpha:]][!.′⁺-ₜ[:word:]]*(?:\\\\\\\\{(?:[^{}]|\\\\\\\\{(?:[^{}]|\\\\\\\\{[^{}]*})*})*}|\\\\\\\".+?(?)>=|[<>≤≥]|===?|≡|!=|≠|!==|[∈-∍∝∥∦∷∺∻∽∾≁-≎≐-≓≖-≟≢≣≦-⊋⊏-⊒⊜⊢⊣⊩⊬⊮⊰-⊷⋍⋐⋑⋕-⋭⋲-⋿⟂⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪-⩳⩵-⫙⫪⫫⫷-⫺]|<:|>:))\\\",\\\"name\\\":\\\"keyword.operator.relation.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)\\\\\\\\?(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.ternary.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s):(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.ternary.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\||&&|(?\\\",\\\"name\\\":\\\"keyword.operator.applies.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\||\\\\\\\\.\\\\\\\\||&|\\\\\\\\.&|[~¬]|\\\\\\\\.~|⊻|\\\\\\\\.⊻\\\",\\\"name\\\":\\\"keyword.operator.bitwise.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\.?(?:\\\\\\\\+\\\\\\\\+|--|[-*+|¦±−∓∔∨∪∸≏⊎⊔⊕⊖⊞⊟⊻⊽⋎⋓⟇⧺⧻⨈⨢-⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣]|//?|[%\\\\\\\\&\\\\\\\\\\\\\\\\^±·×÷·⅋↑↓⇵∓∗-∜∤∧∩≀⊍⊓⊗-⊛⊠⊡⊼⋄-⋇⋉-⋌⋏⋒⌿▷⟑⟕⟖⟗⟰⟱⤈-⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯⦸⦼⦾⦿⧶⧷⨇⨝⨟⨰-⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛↑↓])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.julia\\\"},{\\\"match\\\":\\\"∘\\\",\\\"name\\\":\\\"keyword.operator.compose.julia\\\"},{\\\"match\\\":\\\"::|(?<=\\\\\\\\s)isa(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.isa.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)in(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.relation.in.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\.(?=[@_\\\\\\\\p{L}])|\\\\\\\\.\\\\\\\\.+|[…⁝⋮-⋱]\\\",\\\"name\\\":\\\"keyword.operator.dots.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?=.+)\\\",\\\"name\\\":\\\"keyword.operator.interpolation.julia\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transposed-variable.julia\\\"}},\\\"match\\\":\\\"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(('|(\\\\\\\\.'))*\\\\\\\\.?')\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"bracket.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transposed-matrix.julia\\\"}},\\\"match\\\":\\\"(])((?:\\\\\\\\.??')*\\\\\\\\.?')\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"bracket.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transposed-parens.julia\\\"}},\\\"match\\\":\\\"(\\\\\\\\))((?:\\\\\\\\.??')*\\\\\\\\.?')\\\"}]},\\\"parentheses\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\.?'*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transpose.julia\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#self_no_for_block\\\"}]}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.julia\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.semicolon.julia\\\"}]},\\\"self_no_for_block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#function_decl\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type_decl\\\"},{\\\"include\\\":\\\"#symbol\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@doc)\\\\\\\\s((?:doc)?\\\\\\\"\\\\\\\"\\\\\\\")|(doc\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\") ?(->)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arrow.julia\\\"}},\\\"name\\\":\\\"string.docstring.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(i?cxx)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.cpp\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.cxx.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#root_context\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(py)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.python\\\",\\\"end\\\":\\\"([\\\\\\\\s\\\\\\\\w]*)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.python.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(js)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.javascript\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.js.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(R)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.r\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.R.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(raw)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.other.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(raw)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.other.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(sql)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.sql\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.sql.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"var\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.other.symbol.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"var\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.other.symbol.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s?(doc)?(\\\\\\\"\\\\\\\"\\\\\\\")\\\\\\\\s?$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.docstring.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"'(?!')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.single.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.multiline.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.multiline.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.triple.double.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"(?!\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.double.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"r\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")([imsx]{0,4})?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.option-toggle.regexp.julia\\\"}},\\\"name\\\":\\\"string.regexp.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"r\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\")([imsx]{0,4})?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.option-toggle.regexp.julia\\\"}},\\\"name\\\":\\\"string.regexp.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(?)","name":"keyword.other.zenscript"}]},"class":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"entity.name.type.class.zenscript"}},"match":"(zenClass)\\\\s+(\\\\w+)","name":"meta.class.zenscript"},"code":{"patterns":[{"include":"#class"},{"include":"#functions"},{"include":"#dots"},{"include":"#quotes"},{"include":"#brackets"},{"include":"#comments"},{"include":"#var"},{"include":"#keywords"},{"include":"#constants"},{"include":"#operators"}]},"comments":{"patterns":[{"match":"//[^\\\\n]*","name":"comment.line.double=slash"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"comment.block"}},"end":"\\\\*/","endCaptures":{"0":{"name":"comment.block"}},"name":"comment.block"}]},"dots":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"keyword.control.zenscript"},"5":{"name":"keyword.control.zenscript"}},"match":"\\\\b(\\\\w+)(\\\\.)(\\\\w+)((\\\\.)(\\\\w+))*","name":"plain.text.zenscript"},"functions":{"captures":{"0":{"name":"storage.type.function.zenscript"},"1":{"name":"entity.name.function.zenscript"}},"match":"function\\\\s+([$A-Z_a-z][$\\\\w]*)\\\\s*(?=\\\\()","name":"meta.function.zenscript"},"keywords":{"patterns":[{"match":"\\\\b(instanceof|get|implements|set|import|function|override|const|if|else|do|while|for|throw|panic|lock|try|catch|finally|return|break|continue|switch|case|default|in|is|as|match|throws|super|new)\\\\b","name":"keyword.control.zenscript"},{"match":"\\\\b(zenClass|zenConstructor|alias|class|interface|enum|struct|expand|variant|set|void|bool|byte|sbyte|short|ushort|int|uint|long|ulong|usize|float|double|char|string)\\\\b","name":"storage.type.zenscript"},{"match":"\\\\b(variant|abstract|final|private|public|export|internal|static|protected|implicit|virtual|extern|immutable)\\\\b","name":"storage.modifier.zenscript"},{"match":"\\\\b(Native|Precondition)\\\\b","name":"entity.other.attribute-name"},{"match":"\\\\b(null|true|false)\\\\b","name":"constant.language"}]},"operators":{"patterns":[{"match":"\\\\b(\\\\.\\\\.??|\\\\.\\\\.\\\\.|[+,]|\\\\+=|\\\\+\\\\+|-=??|--|~=??|\\\\*=??|/=??|%=??|\\\\|=??|\\\\|\\\\||&=??|&&|\\\\^=??|\\\\?\\\\.??|\\\\?\\\\?|<=??|<<=??|>=??|>>=??|>>>=??|=>?|===??|!=??|!==|[$\`])\\\\b","name":"keyword.control"},{"match":"\\\\b([:;])\\\\b","name":"keyword.control"}]},"quotes":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.double.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.single.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]}]},"var":{"match":"\\\\b(va[lr])\\\\b","name":"storage.type"}},"scopeName":"source.zenscript"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-DVFEvuxE.js.map diff --git a/src/webview-ui/build/assets/chunk-DVFEvuxE.js.map b/src/webview-ui/build/assets/chunk-DVFEvuxE.js.map new file mode 100644 index 0000000000..0f3b730323 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DVFEvuxE.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DVFEvuxE.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/zenscript.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ZenScript\\\",\\\"fileTypes\\\":[\\\"zs\\\"],\\\"name\\\":\\\"zenscript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.zenscript\\\"},{\\\"match\\\":\\\"\\\\\\\\b-?(0[BOXbox])(0|[1-9A-Fa-f][_\\\\\\\\h]*)[A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.zenscript\\\"},{\\\"include\\\":\\\"#code\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:[a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z]+\\\\\\\\w*)(?=\\\\\\\\[)\\\",\\\"name\\\":\\\"storage.type.object.array.zenscript\\\"}],\\\"repository\\\":{\\\"brackets\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.zenscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.zenscript\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.zenscript\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.zenscript\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.zenscript\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.zenscript\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.zenscript\\\"}},\\\"match\\\":\\\"(<)\\\\\\\\b(.*?)(:(.*?(:(\\\\\\\\*|\\\\\\\\d+)?)?)?)(>)\\\",\\\"name\\\":\\\"keyword.other.zenscript\\\"}]},\\\"class\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.zenscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.zenscript\\\"}},\\\"match\\\":\\\"(zenClass)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"name\\\":\\\"meta.class.zenscript\\\"},\\\"code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#dots\\\"},{\\\"include\\\":\\\"#quotes\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#var\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#operators\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"//[^\\\\\\\\n]*\\\",\\\"name\\\":\\\"comment.line.double=slash\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"name\\\":\\\"comment.block\\\"}]},\\\"dots\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.zenscript\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.zenscript\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.zenscript\\\"}},\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\w+)(\\\\\\\\.)(\\\\\\\\w+)((\\\\\\\\.)(\\\\\\\\w+))*\\\",\\\"name\\\":\\\"plain.text.zenscript\\\"},\\\"functions\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.zenscript\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.zenscript\\\"}},\\\"match\\\":\\\"function\\\\\\\\s+([$A-Z_a-z][$\\\\\\\\w]*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function.zenscript\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(instanceof|get|implements|set|import|function|override|const|if|else|do|while|for|throw|panic|lock|try|catch|finally|return|break|continue|switch|case|default|in|is|as|match|throws|super|new)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.zenscript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(zenClass|zenConstructor|alias|class|interface|enum|struct|expand|variant|set|void|bool|byte|sbyte|short|ushort|int|uint|long|ulong|usize|float|double|char|string)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.zenscript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(variant|abstract|final|private|public|export|internal|static|protected|implicit|virtual|extern|immutable)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.zenscript\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Native|Precondition)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name\\\"},{\\\"match\\\":\\\"\\\\\\\\b(null|true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\.\\\\\\\\.??|\\\\\\\\.\\\\\\\\.\\\\\\\\.|[+,]|\\\\\\\\+=|\\\\\\\\+\\\\\\\\+|-=??|--|~=??|\\\\\\\\*=??|/=??|%=??|\\\\\\\\|=??|\\\\\\\\|\\\\\\\\||&=??|&&|\\\\\\\\^=??|\\\\\\\\?\\\\\\\\.??|\\\\\\\\?\\\\\\\\?|<=??|<<=??|>=??|>>=??|>>>=??|=>?|===??|!=??|!==|[$`])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control\\\"},{\\\"match\\\":\\\"\\\\\\\\b([:;])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control\\\"}]},\\\"quotes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.zenscript\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.zenscript\\\"}},\\\"name\\\":\\\"string.quoted.double.zenscript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.zenscript\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.zenscript\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.zenscript\\\"}},\\\"name\\\":\\\"string.quoted.single.zenscript\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.zenscript\\\"}]}]},\\\"var\\\":{\\\"match\\\":\\\"\\\\\\\\b(va[lr])\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type\\\"}},\\\"scopeName\\\":\\\"source.zenscript\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "zenscript" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,wwHAA6qI,CAAC,EAErsIC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DVMEJ2y_.js b/src/webview-ui/build/assets/chunk-DVMEJ2y_.js new file mode 100644 index 0000000000..dc67c74c0a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DVMEJ2y_.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"actionBar.toggledBackground":"#525761","activityBar.background":"#282c34","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#282c34","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#21252b","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#21252b","dropdown.border":"#21252b","editor.background":"#282c34","editor.findMatchBackground":"#d19a6644","editor.findMatchBorder":"#ffffff5a","editor.findMatchHighlightBackground":"#ffffff22","editor.foreground":"#abb2bf","editor.lineHighlightBackground":"#2c313c","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffd33d44","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#21252b","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorHoverWidget.background":"#21252b","editorHoverWidget.border":"#181a1f","editorHoverWidget.highlightForeground":"#61afef","editorIndentGuide.activeBackground1":"#c8c8c859","editorIndentGuide.background1":"#3b4048","editorInlayHint.background":"#2c313c","editorInlayHint.foreground":"#abb2bf","editorLineNumber.activeForeground":"#abb2bf","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#21252b","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#21252b","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","multiDiffEditor.headerBackground":"#21252b","panel.border":"#3e4452","panelSectionHeader.background":"#21252b","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#282c34","settings.headerForeground":"#fff","sideBar.background":"#21252b","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#282c34","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#21252b","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#21252b","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#282c34","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#21252b","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#282c34","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#282c34","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#282c34","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"},"displayName":"One Dark Pro","name":"one-dark-pro","semanticHighlighting":true,"semanticTokenColors":{"annotation:dart":{"foreground":"#d19a66"},"enumMember":{"foreground":"#56b6c2"},"macro":{"foreground":"#d19a66"},"memberOperatorOverload":{"foreground":"#c678dd"},"parameter.label:dart":{"foreground":"#abb2bf"},"property:dart":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"scope":"source.java","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"scope":"keyword","settings":{"foreground":"#c678dd"}},{"scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"scope":"variable","settings":{"foreground":"#e06c75"}},{"scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"scope":"token.package","settings":{"foreground":"#abb2bf"}},{"scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"scope":"storage","settings":{"foreground":"#c678dd"}},{"scope":"token.storage","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"scope":"support.function","settings":{"foreground":"#56b6c2"}},{"scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"scope":"string","settings":{"foreground":"#98c379"}},{"scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"scope":"constant","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"scope":["keyword.operator.arithmetic.c","keyword.operator.arithmetic.cpp"],"settings":{"foreground":"#c678dd"}},{"scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"scope":"comment, punctuation.definition.comment","settings":{"fontStyle":"italic","foreground":"#7f848e"}},{"scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"scope":["variable.parameter.function.latex"],"settings":{"foreground":"#e06c75"}},{"scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}},{"scope":["log.info"],"settings":{"foreground":"#98c379"}},{"scope":["log.warning"],"settings":{"foreground":"#e5c07b"}},{"scope":["log.error"],"settings":{"foreground":"#e06c75"}},{"scope":"keyword.operator.expression.is","settings":{"foreground":"#c678dd"}},{"scope":"entity.name.label","settings":{"foreground":"#e06c75"}},{"scope":["support.class.math.block.environment.latex","constant.other.general.math.tex"],"settings":{"foreground":"#61afef"}},{"scope":["constant.character.math.tex"],"settings":{"foreground":"#98c379"}},{"scope":"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super","settings":{"fontStyle":"italic"}},{"scope":"comment.line.double-slash,comment.block.documentation","settings":{"fontStyle":"italic"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DVMEJ2y_.js.map diff --git a/src/webview-ui/build/assets/chunk-DVMEJ2y_.js.map b/src/webview-ui/build/assets/chunk-DVMEJ2y_.js.map new file mode 100644 index 0000000000..3cc562e645 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DVMEJ2y_.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DVMEJ2y_.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/one-dark-pro.mjs" + ], + "sourcesContent": [ + "/* Theme: one-dark-pro */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#525761\\\",\\\"activityBar.background\\\":\\\"#282c34\\\",\\\"activityBar.foreground\\\":\\\"#d7dae0\\\",\\\"activityBarBadge.background\\\":\\\"#4d78cc\\\",\\\"activityBarBadge.foreground\\\":\\\"#f8fafd\\\",\\\"badge.background\\\":\\\"#282c34\\\",\\\"button.background\\\":\\\"#404754\\\",\\\"button.secondaryBackground\\\":\\\"#30333d\\\",\\\"button.secondaryForeground\\\":\\\"#c0bdbd\\\",\\\"checkbox.border\\\":\\\"#404754\\\",\\\"debugToolBar.background\\\":\\\"#21252b\\\",\\\"descriptionForeground\\\":\\\"#abb2bf\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#00809b33\\\",\\\"dropdown.background\\\":\\\"#21252b\\\",\\\"dropdown.border\\\":\\\"#21252b\\\",\\\"editor.background\\\":\\\"#282c34\\\",\\\"editor.findMatchBackground\\\":\\\"#d19a6644\\\",\\\"editor.findMatchBorder\\\":\\\"#ffffff5a\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ffffff22\\\",\\\"editor.foreground\\\":\\\"#abb2bf\\\",\\\"editor.lineHighlightBackground\\\":\\\"#2c313c\\\",\\\"editor.selectionBackground\\\":\\\"#67769660\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#ffd33d44\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#dddddd\\\",\\\"editor.wordHighlightBackground\\\":\\\"#d2e0ff2f\\\",\\\"editor.wordHighlightBorder\\\":\\\"#7f848e\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#abb2bf26\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#7f848e\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#d19a66\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#c678dd\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#56b6c2\\\",\\\"editorBracketMatch.background\\\":\\\"#515a6b\\\",\\\"editorBracketMatch.border\\\":\\\"#515a6b\\\",\\\"editorCursor.background\\\":\\\"#ffffffc9\\\",\\\"editorCursor.foreground\\\":\\\"#528bff\\\",\\\"editorError.foreground\\\":\\\"#c24038\\\",\\\"editorGroup.background\\\":\\\"#181a1f\\\",\\\"editorGroup.border\\\":\\\"#181a1f\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#21252b\\\",\\\"editorGutter.addedBackground\\\":\\\"#109868\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9A353D\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#948B60\\\",\\\"editorHoverWidget.background\\\":\\\"#21252b\\\",\\\"editorHoverWidget.border\\\":\\\"#181a1f\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#61afef\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#c8c8c859\\\",\\\"editorIndentGuide.background1\\\":\\\"#3b4048\\\",\\\"editorInlayHint.background\\\":\\\"#2c313c\\\",\\\"editorInlayHint.foreground\\\":\\\"#abb2bf\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#abb2bf\\\",\\\"editorLineNumber.foreground\\\":\\\"#495162\\\",\\\"editorMarkerNavigation.background\\\":\\\"#21252b\\\",\\\"editorOverviewRuler.addedBackground\\\":\\\"#109868\\\",\\\"editorOverviewRuler.deletedBackground\\\":\\\"#9A353D\\\",\\\"editorOverviewRuler.modifiedBackground\\\":\\\"#948B60\\\",\\\"editorRuler.foreground\\\":\\\"#abb2bf26\\\",\\\"editorSuggestWidget.background\\\":\\\"#21252b\\\",\\\"editorSuggestWidget.border\\\":\\\"#181a1f\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#2c313a\\\",\\\"editorWarning.foreground\\\":\\\"#d19a66\\\",\\\"editorWhitespace.foreground\\\":\\\"#ffffff1d\\\",\\\"editorWidget.background\\\":\\\"#21252b\\\",\\\"focusBorder\\\":\\\"#3e4452\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#636b78\\\",\\\"input.background\\\":\\\"#1d1f23\\\",\\\"input.foreground\\\":\\\"#abb2bf\\\",\\\"list.activeSelectionBackground\\\":\\\"#2c313a\\\",\\\"list.activeSelectionForeground\\\":\\\"#d7dae0\\\",\\\"list.focusBackground\\\":\\\"#323842\\\",\\\"list.focusForeground\\\":\\\"#f0f0f0\\\",\\\"list.highlightForeground\\\":\\\"#ecebeb\\\",\\\"list.hoverBackground\\\":\\\"#2c313a\\\",\\\"list.hoverForeground\\\":\\\"#abb2bf\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#323842\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#d7dae0\\\",\\\"list.warningForeground\\\":\\\"#d19a66\\\",\\\"menu.foreground\\\":\\\"#abb2bf\\\",\\\"menu.separatorBackground\\\":\\\"#343a45\\\",\\\"minimapGutter.addedBackground\\\":\\\"#109868\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#9A353D\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#948B60\\\",\\\"multiDiffEditor.headerBackground\\\":\\\"#21252b\\\",\\\"panel.border\\\":\\\"#3e4452\\\",\\\"panelSectionHeader.background\\\":\\\"#21252b\\\",\\\"peekViewEditor.background\\\":\\\"#1b1d23\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#29244b\\\",\\\"peekViewResult.background\\\":\\\"#22262b\\\",\\\"scrollbar.shadow\\\":\\\"#23252c\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#747d9180\\\",\\\"scrollbarSlider.background\\\":\\\"#4e566660\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#5a637580\\\",\\\"settings.focusedRowBackground\\\":\\\"#282c34\\\",\\\"settings.headerForeground\\\":\\\"#fff\\\",\\\"sideBar.background\\\":\\\"#21252b\\\",\\\"sideBar.foreground\\\":\\\"#abb2bf\\\",\\\"sideBarSectionHeader.background\\\":\\\"#282c34\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#abb2bf\\\",\\\"statusBar.background\\\":\\\"#21252b\\\",\\\"statusBar.debuggingBackground\\\":\\\"#cc6633\\\",\\\"statusBar.debuggingBorder\\\":\\\"#ff000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#9da5b4\\\",\\\"statusBar.noFolderBackground\\\":\\\"#21252b\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#4d78cc\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#f8fafd\\\",\\\"tab.activeBackground\\\":\\\"#282c34\\\",\\\"tab.activeBorder\\\":\\\"#b4b4b4\\\",\\\"tab.activeForeground\\\":\\\"#dcdcdc\\\",\\\"tab.border\\\":\\\"#181a1f\\\",\\\"tab.hoverBackground\\\":\\\"#323842\\\",\\\"tab.inactiveBackground\\\":\\\"#21252b\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#323842\\\",\\\"terminal.ansiBlack\\\":\\\"#3f4451\\\",\\\"terminal.ansiBlue\\\":\\\"#4aa5f0\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#4f5666\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#4dc4ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#4cd1e0\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#a5e075\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#de73ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ff616e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#e6e6e6\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#f0a45d\\\",\\\"terminal.ansiCyan\\\":\\\"#42b3c2\\\",\\\"terminal.ansiGreen\\\":\\\"#8cc265\\\",\\\"terminal.ansiMagenta\\\":\\\"#c162de\\\",\\\"terminal.ansiRed\\\":\\\"#e05561\\\",\\\"terminal.ansiWhite\\\":\\\"#d7dae0\\\",\\\"terminal.ansiYellow\\\":\\\"#d18f52\\\",\\\"terminal.background\\\":\\\"#282c34\\\",\\\"terminal.border\\\":\\\"#3e4452\\\",\\\"terminal.foreground\\\":\\\"#abb2bf\\\",\\\"terminal.selectionBackground\\\":\\\"#abb2bf30\\\",\\\"textBlockQuote.background\\\":\\\"#2e3440\\\",\\\"textBlockQuote.border\\\":\\\"#4b5362\\\",\\\"textLink.foreground\\\":\\\"#61afef\\\",\\\"textPreformat.foreground\\\":\\\"#d19a66\\\",\\\"titleBar.activeBackground\\\":\\\"#282c34\\\",\\\"titleBar.activeForeground\\\":\\\"#9da5b4\\\",\\\"titleBar.inactiveBackground\\\":\\\"#282c34\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6b717d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#ffffff1d\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#2e3440\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#404754\\\"},\\\"displayName\\\":\\\"One Dark Pro\\\",\\\"name\\\":\\\"one-dark-pro\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"annotation:dart\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"},\\\"macro\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"memberOperatorOverload\\\":{\\\"foreground\\\":\\\"#c678dd\\\"},\\\"parameter.label:dart\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"},\\\"property:dart\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"tomlArrayKey\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"},\\\"variable.constant\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"},\\\"variable:dart\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"meta.embedded\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"variable.other.generic-type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.variable.magic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.special.self.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.special.cls.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"storage.modifier.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.function.std.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"entity.name.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.language.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.constant.edge\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"keyword.operator.word\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"comment markup.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6370\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"meta.function.c,meta.function.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.import\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"support.constant.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"support.constant.property.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"variable.other.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation.java\\\",\\\"storage.type.object.array.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"source.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"meta.method.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java,storage.type.java,storage.type.generic.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"keyword.operator.instanceof.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"meta.definition.variable.name.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.bitwise\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.channel\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.constant.property-value.scss,support.constant.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"keyword.operator.css,keyword.operator.scss,keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.module.node,support.type.object.module,support.module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"entity.name.type.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.constant.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.instanceof\\\",\\\"keyword.operator.new\\\",\\\"keyword.operator.ternary\\\",\\\"keyword.operator.optional\\\",\\\"keyword.operator.expression.keyof\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.type.object.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.variable.property.process\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.name.function,support.function.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"keyword.operator.misc.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"keyword.operator.sigil.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.delete\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.type.object.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.variable.dom,support.variable.property.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"punctuation.separator.delimiter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.separator.c,punctuation.separator.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.type.posix-reserved.c,support.type.posix-reserved.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.type.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"variable.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"token.variable.parameter.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"import.storage.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"token.package.keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"token.package\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.require\\\",\\\"support.function.any-method\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"support.class, entity.name.type.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"entity.name.class.identifier.namespace.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"variable.other.class.js\\\",\\\"variable.other.class.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.other.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"control.elements, keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"token.storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"token.storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.constant.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.constant.font-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"meta.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.definition.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.heading punctuation.definition.heading, entity.name.section\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.bold,todo.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.italic, punctuation.definition.italic,todo.emphasis\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"emphasis md\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"entity.name.section.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.definition.metadata.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.underline.link.markdown,markup.underline.link.image.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown,string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"markup.raw.monospace.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"punctuation.definition.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.list.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.link.asciidoc,markup.other.url.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"string.unquoted.asciidoc,markup.other.url.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded.begin,punctuation.section.embedded.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.illegal.bad-ampersand.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"invalid.illegal.unrecognized-tag.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated.entity.other.attribute-name.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"keyword.operator.error-control.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.begin.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.end.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"invalid.illegal.non-null-typehinted.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.name.goto-label.php,support.other.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.regexp.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.comparison.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.heredoc.php,keyword.operator.nowdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"meta.function.decorator.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"support.token.decorator.python,meta.function.decorator.identifier.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"function.parameter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"function.brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"function.parameter.ruby, function.parameter.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.hashkey.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"inline-color-decoration rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"less rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"selector.sass\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"block.scope.end,block.scope.begin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"storage.type.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"entity.name.variable.local.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"keyword.operator.module\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"support.type.type.flowtype\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"meta.property.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"keyword.operator.arithmetic.go\\\",\\\"keyword.operator.address.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"keyword.operator.arithmetic.c\\\",\\\"keyword.operator.arithmetic.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"entity.name.package.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"support.type.prelude.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"support.constant.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"punctuation.quasi.element\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"constant.character.entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"entity.global.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"meta.symbol.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"constant.keyword.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"meta.arguments.coffee\\\",\\\"variable.parameter.function.coffee\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"source.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"meta.scope.prerequisites.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"source.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"meta.method.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable.name.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"meta.definition.class.inherited.classes.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"support.variable.semantic.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"support.type.texture.hlsl\\\",\\\"support.type.sampler.hlsl\\\",\\\"support.type.object.hlsl\\\",\\\"support.type.object.rw.hlsl\\\",\\\"support.type.fx.hlsl\\\",\\\"support.type.object.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"text.variable\\\",\\\"text.bracketed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"support.type.swift\\\",\\\"support.type.vb.asp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.function.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.class.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"constant.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"keyword.control.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"invalid.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.quote.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7f848e\\\"}},{\\\"scope\\\":[\\\"constant.character.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"accent.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"wikiword.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"constant.other.color.rgb-value.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6370\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"entity.name.scope-resolution.function.call\\\",\\\"entity.name.scope-resolution.function.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.setext.2.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\" meta.brace.square\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7f848e\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6370\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"constant.language.symbol.elixir\\\",\\\"constant.language.symbol.double-quoted.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.parameter.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.field.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BE5046\\\"}},{\\\"scope\\\":[\\\"support.other.namespace.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"variable.other.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"constant.numeric.decimal.asm.x86_64\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"support.other.parenthesis.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"log.info\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"log.warning\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"log.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.is\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"entity.name.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.environment.latex\\\",\\\"constant.other.general.math.tex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"constant.character.math.tex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"comment.line.double-slash,comment.block.documentation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "oneDarkPro" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,i8hCAA+0oC,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DVxCFoDh.js b/src/webview-ui/build/assets/chunk-DVxCFoDh.js new file mode 100644 index 0000000000..ddbe29900b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DVxCFoDh.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"1C (Query)","fileTypes":["sdbl","query"],"firstLineMatch":"(?i)Выбрать|Select(\\\\s+Разрешенные|\\\\s+Allowed)?(\\\\s+Различные|\\\\s+Distinct)?(\\\\s+Первые|\\\\s+Top)?.*","name":"sdbl","patterns":[{"match":"^(\\\\s*//.*)$","name":"comment.line.double-slash.sdbl"},{"begin":"//","end":"$","name":"comment.line.double-slash.sdbl"},{"begin":"\\"","end":"\\"(?!\\")","name":"string.quoted.double.sdbl","patterns":[{"match":"\\"\\"","name":"constant.character.escape.sdbl"},{"match":"^(\\\\s*//.*)$","name":"comment.line.double-slash.sdbl"}]},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^.а-яё\\\\w]|$)","name":"constant.language.sdbl"},{"match":"(?<=[^.а-яё\\\\w]|^)(\\\\d+\\\\.?\\\\d*)(?=[^.а-яё\\\\w]|$)","name":"constant.numeric.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^.а-яё\\\\w]|$)","name":"keyword.control.conditional.sdbl"},{"match":"(?i)(?=|[<=>]","name":"keyword.operator.comparison.sdbl"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.sdbl"},{"match":"([,;])","name":"keyword.operator.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\\\\s+(Внешнее\\\\s+|Outer\\\\s+)?Соединение|Join)|((Внутреннее|Inner)\\\\s+Соединение|Join)|Где|Where|(Сгруппировать\\\\s+По(\\\\s+Группирующим\\\\s+Наборам)?)|(Group\\\\s+By(\\\\s+Grouping\\\\s+Set)?)|Имеющие|Having|Объединить(\\\\s+Все)?|Union(\\\\s+All)?|(Упорядочить\\\\s+По)|(Order\\\\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\\\\s+Общие)?|By(\\\\s+Overall)?|(Только\\\\s+)?Иерархия|(Only\\\\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\\\\s+Изменения|(For\\\\s+Update(\\\\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^.а-яё\\\\w]|$)","name":"keyword.control.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^.а-яё\\\\w]|$)","name":"support.type.sdbl"},{"match":"(&[а-яё\\\\w]+)","name":"variable.parameter.sdbl"}],"scopeName":"source.sdbl","aliases":["1c-query"]}', + ), + ), + s = [e] +export { s as default } +//# sourceMappingURL=chunk-DVxCFoDh.js.map diff --git a/src/webview-ui/build/assets/chunk-DVxCFoDh.js.map b/src/webview-ui/build/assets/chunk-DVxCFoDh.js.map new file mode 100644 index 0000000000..419087efab --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DVxCFoDh.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DVxCFoDh.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/sdbl.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"1C (Query)\\\",\\\"fileTypes\\\":[\\\"sdbl\\\",\\\"query\\\"],\\\"firstLineMatch\\\":\\\"(?i)Выбрать|Select(\\\\\\\\s+Разрешенные|\\\\\\\\s+Allowed)?(\\\\\\\\s+Различные|\\\\\\\\s+Distinct)?(\\\\\\\\s+Первые|\\\\\\\\s+Top)?.*\\\",\\\"name\\\":\\\"sdbl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^(\\\\\\\\s*//.*)$\\\",\\\"name\\\":\\\"comment.line.double-slash.sdbl\\\"},{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.sdbl\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"(?!\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.sdbl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.sdbl\\\"},{\\\"match\\\":\\\"^(\\\\\\\\s*//.*)$\\\",\\\"name\\\":\\\"comment.line.double-slash.sdbl\\\"}]},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^.а-яё\\\\\\\\w]|$)\\\",\\\"name\\\":\\\"constant.language.sdbl\\\"},{\\\"match\\\":\\\"(?<=[^.а-яё\\\\\\\\w]|^)(\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)(?=[^.а-яё\\\\\\\\w]|$)\\\",\\\"name\\\":\\\"constant.numeric.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^.а-яё\\\\\\\\w]|$)\\\",\\\"name\\\":\\\"keyword.control.conditional.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?=|[<=>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.sdbl\\\"},{\\\"match\\\":\\\"([-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.sdbl\\\"},{\\\"match\\\":\\\"([,;])\\\",\\\"name\\\":\\\"keyword.operator.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\\\\\\\\s+(Внешнее\\\\\\\\s+|Outer\\\\\\\\s+)?Соединение|Join)|((Внутреннее|Inner)\\\\\\\\s+Соединение|Join)|Где|Where|(Сгруппировать\\\\\\\\s+По(\\\\\\\\s+Группирующим\\\\\\\\s+Наборам)?)|(Group\\\\\\\\s+By(\\\\\\\\s+Grouping\\\\\\\\s+Set)?)|Имеющие|Having|Объединить(\\\\\\\\s+Все)?|Union(\\\\\\\\s+All)?|(Упорядочить\\\\\\\\s+По)|(Order\\\\\\\\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\\\\\\\\s+Общие)?|By(\\\\\\\\s+Overall)?|(Только\\\\\\\\s+)?Иерархия|(Only\\\\\\\\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\\\\\\\\s+Изменения|(For\\\\\\\\s+Update(\\\\\\\\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^.а-яё\\\\\\\\w]|$)\\\",\\\"name\\\":\\\"keyword.control.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.sdbl\\\"},{\\\"match\\\":\\\"(?i)(?<=[^.а-яё\\\\\\\\w])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^.а-яё\\\\\\\\w]|$)\\\",\\\"name\\\":\\\"support.type.sdbl\\\"},{\\\"match\\\":\\\"(&[а-яё\\\\\\\\w]+)\\\",\\\"name\\\":\\\"variable.parameter.sdbl\\\"}],\\\"scopeName\\\":\\\"source.sdbl\\\",\\\"aliases\\\":[\\\"1c-query\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "sdbl" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,mrHAAs4H,CAAC,EAE95HC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DWedfzmr.js b/src/webview-ui/build/assets/chunk-DWedfzmr.js new file mode 100644 index 0000000000..b2ed39bd67 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DWedfzmr.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#2A2A37","activityBar.foreground":"#DCD7BA","activityBarBadge.background":"#658594","activityBarBadge.foreground":"#DCD7BA","badge.background":"#2A2A37","button.background":"#2A2A37","button.foreground":"#C8C093","button.secondaryBackground":"#223249","button.secondaryForeground":"#DCD7BA","checkbox.border":"#223249","debugToolBar.background":"#16161D","descriptionForeground":"#DCD7BA","diffEditor.insertedTextBackground":"#2B332880","dropdown.background":"#16161D","dropdown.border":"#16161D","editor.background":"#1F1F28","editor.findMatchBackground":"#2D4F67","editor.findMatchBorder":"#FF9E3B","editor.findMatchHighlightBackground":"#2D4F6780","editor.foreground":"#DCD7BA","editor.lineHighlightBackground":"#363646","editor.selectionBackground":"#223249","editor.selectionHighlightBackground":"#36364680","editor.selectionHighlightBorder":"#54546D","editor.wordHighlightBackground":"#3636464D","editor.wordHighlightBorder":"#54546D","editor.wordHighlightStrongBackground":"#3636464D","editor.wordHighlightStrongBorder":"#54546D","editorBracketHighlight.foreground1":"#957FB8","editorBracketHighlight.foreground2":"#FFA066","editorBracketHighlight.foreground3":"#7E9CD8","editorBracketHighlight.foreground4":"#D27E99","editorBracketHighlight.foreground5":"#E6C384","editorBracketHighlight.foreground6":"#7AA89F","editorBracketHighlight.unexpectedBracket.foreground":"#FF5D62","editorBracketMatch.background":"#16161D","editorBracketMatch.border":"#54546D","editorBracketPairGuide.activeBackground1":"#957FB8","editorBracketPairGuide.activeBackground2":"#FFA066","editorBracketPairGuide.activeBackground3":"#7E9CD8","editorBracketPairGuide.activeBackground4":"#D27E99","editorBracketPairGuide.activeBackground5":"#E6C384","editorBracketPairGuide.activeBackground6":"#7AA89F","editorCursor.background":"#1F1F28","editorCursor.foreground":"#DCD7BA","editorError.foreground":"#E82424","editorGroup.border":"#16161D","editorGroupHeader.tabsBackground":"#16161D","editorGutter.addedBackground":"#76946A","editorGutter.deletedBackground":"#C34043","editorGutter.modifiedBackground":"#DCA561","editorHoverWidget.background":"#1F1F28","editorHoverWidget.border":"#2A2A37","editorHoverWidget.highlightForeground":"#658594","editorIndentGuide.activeBackground1":"#363646","editorIndentGuide.background1":"#2A2A37","editorInlayHint.background":"#1F1F28","editorInlayHint.foreground":"#727169","editorLineNumber.activeForeground":"#FFA066","editorLineNumber.foreground":"#54546D","editorMarkerNavigation.background":"#363646","editorRuler.foreground":"#363646","editorSuggestWidget.background":"#223249","editorSuggestWidget.border":"#223249","editorSuggestWidget.selectedBackground":"#2D4F67","editorWarning.foreground":"#FF9E3B","editorWhitespace.foreground":"#1F1F28","editorWidget.background":"#1F1F28","focusBorder":"#223249","foreground":"#DCD7BA","gitDecoration.ignoredResourceForeground":"#727169","input.background":"#16161D","list.activeSelectionBackground":"#363646","list.activeSelectionForeground":"#DCD7BA","list.focusBackground":"#2A2A37","list.focusForeground":"#DCD7BA","list.highlightForeground":"#7E9CD8","list.hoverBackground":"#363646","list.hoverForeground":"#DCD7BA","list.inactiveSelectionBackground":"#2A2A37","list.inactiveSelectionForeground":"#DCD7BA","list.warningForeground":"#FF9E3B","menu.background":"#363646","menu.border":"#16161D","menu.foreground":"#DCD7BA","menu.selectionBackground":"#16161D","menu.selectionForeground":"#DCD7BA","menu.separatorBackground":"#54546D","menubar.selectionBackground":"#16161D","menubar.selectionForeground":"#DCD7BA","minimapGutter.addedBackground":"#76946A","minimapGutter.deletedBackground":"#C34043","minimapGutter.modifiedBackground":"#DCA561","panel.border":"#16161D","panelSectionHeader.background":"#1F1F28","peekView.border":"#54546D","peekViewEditor.background":"#2A2A37","peekViewEditor.matchHighlightBackground":"#2D4F67","peekViewResult.background":"#363646","scrollbar.shadow":"#363646","scrollbarSlider.activeBackground":"#2A2A3780","scrollbarSlider.background":"#54546D66","scrollbarSlider.hoverBackground":"#54546D80","settings.focusedRowBackground":"#363646","settings.headerForeground":"#DCD7BA","sideBar.background":"#1F1F28","sideBar.border":"#16161D","sideBar.foreground":"#DCD7BA","sideBarSectionHeader.background":"#363646","sideBarSectionHeader.foreground":"#DCD7BA","statusBar.background":"#16161D","statusBar.debuggingBackground":"#E82424","statusBar.debuggingBorder":"#957FB8","statusBar.debuggingForeground":"#DCD7BA","statusBar.foreground":"#C8C093","statusBar.noFolderBackground":"#1F1F28","statusBarItem.hoverBackground":"#363646","statusBarItem.remoteBackground":"#2D4F67","statusBarItem.remoteForeground":"#DCD7BA","tab.activeBackground":"#2A2A37","tab.activeForeground":"#7E9CD8","tab.border":"#2A2A37","tab.hoverBackground":"#363646","tab.inactiveBackground":"#1A1A22","tab.unfocusedHoverBackground":"#1F1F28","terminal.ansiBlack":"#16161D","terminal.ansiBlue":"#7E9CD8","terminal.ansiBrightBlack":"#727169","terminal.ansiBrightBlue":"#7FB4CA","terminal.ansiBrightCyan":"#7AA89F","terminal.ansiBrightGreen":"#98BB6C","terminal.ansiBrightMagenta":"#938AA9","terminal.ansiBrightRed":"#E82424","terminal.ansiBrightWhite":"#DCD7BA","terminal.ansiBrightYellow":"#E6C384","terminal.ansiCyan":"#6A9589","terminal.ansiGreen":"#76946A","terminal.ansiMagenta":"#957FB8","terminal.ansiRed":"#C34043","terminal.ansiWhite":"#C8C093","terminal.ansiYellow":"#C0A36E","terminal.background":"#1F1F28","terminal.border":"#16161D","terminal.foreground":"#DCD7BA","terminal.selectionBackground":"#223249","textBlockQuote.background":"#1F1F28","textBlockQuote.border":"#16161D","textLink.foreground":"#6A9589","textPreformat.foreground":"#FF9E3B","titleBar.activeBackground":"#363646","titleBar.activeForeground":"#DCD7BA","titleBar.inactiveBackground":"#1F1F28","titleBar.inactiveForeground":"#DCD7BA","walkThrough.embeddedEditorBackground":"#1F1F28"},"displayName":"Kanagawa Wave","name":"kanagawa-wave","semanticHighlighting":true,"semanticTokenColors":{"arithmetic":"#C0A36E","function":"#7E9CD8","keyword.controlFlow":{"fontStyle":"bold","foreground":"#957FB8"},"macro":"#E46876","method":"#7FB4CA","operator":"#C0A36E","parameter":"#B8B4D0","parameter.declaration":"#B8B4D0","parameter.definition":"#B8B4D0","variable":"#DCD7BA","variable.readonly":"#DCD7BA","variable.readonly.defaultLibrary":"#DCD7BA","variable.readonly.local":"#DCD7BA"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#727169"}},{"scope":["variable","string constant.other.placeholder"],"settings":{"foreground":"#DCD7BA"}},{"scope":["constant.other.color"],"settings":{"foreground":"#FFA066"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#E82424"}},{"scope":["storage.type"],"settings":{"foreground":"#957FB8"}},{"scope":["storage.modifier"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.control.flow","keyword.control.conditional","keyword.control.loop"],"settings":{"fontStyle":"bold","foreground":"#957FB8"}},{"scope":["keyword.control","constant.other.color","meta.tag","keyword.other.template","keyword.other.substitution","keyword.other"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.other.definition.ini"],"settings":{"foreground":"#FFA066"}},{"scope":["keyword.control.trycatch"],"settings":{"fontStyle":"bold","foreground":"#FF5D62"}},{"scope":["keyword.other.unit","keyword.operator"],"settings":{"foreground":"#E6C384"}},{"scope":["punctuation","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","meta.brace","keyword.operator.type.annotation","keyword.operator.namespace"],"settings":{"foreground":"#9CABCA"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.function","meta.function-call","variable.function","support.function"],"settings":{"foreground":"#7E9CD8"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.name.function.macro"],"settings":{"foreground":"#E46876"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.other.enummember"],"settings":{"foreground":"#FFA066"}},{"scope":["support.other.variable"],"settings":{"foreground":"#DCD7BA"}},{"scope":["string.other.link"],"settings":{"foreground":"#7FB4CA"}},{"scope":["constant.numeric","constant.language","support.constant","constant.character","constant.escape"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.language.boolean"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.numeric"],"settings":{"foreground":"#D27E99"}},{"scope":["string","punctuation.definition.string","constant.other.symbol","constant.other.key","entity.other.inherited-class","markup.heading","markup.inserted.git_gutter","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","markup.inline.raw.string"],"settings":{"foreground":"#98BB6C"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.type.module","entity.name.namespace"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.import.go"],"settings":{"foreground":"#98BB6C"}},{"scope":["keyword.blade"],"settings":{"foreground":"#957FB8"}},{"scope":["variable.other.property"],"settings":{"foreground":"#E6C384"}},{"scope":["keyword.control.import","keyword.import","meta.import"],"settings":{"foreground":"#FFA066"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["variable.language"],"settings":{"foreground":"#FF5D62"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#7FB4CA"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#957FB8"}},{"scope":["entity.other.attribute-name.class"],"settings":{"foreground":"#E6C384"}},{"scope":["source.sass keyword.control"],"settings":{"foreground":"#7FB4CA"}},{"scope":["markup.inserted"],"settings":{"foreground":"#76946A"}},{"scope":["markup.deleted"],"settings":{"foreground":"#C34043"}},{"scope":["markup.changed"],"settings":{"foreground":"#DCA561"}},{"scope":["string.regexp"],"settings":{"foreground":"#C0A36E"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#7FB4CA"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#957FB8"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#E6C384"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#7E9CD8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#957FB8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#98BB6C"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["markdown.heading","entity.name.section.markdown","markup.heading.markdown"],"settings":{"foreground":"#7E9CD8"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#E46876"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#E46876"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#7FB4CA"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic"}},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#FFA066"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#E6C384"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#957FB8"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#9CABCA"}},{"scope":["markup.table"],"settings":{"foreground":"#DCD7BA"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DWedfzmr.js.map diff --git a/src/webview-ui/build/assets/chunk-DWedfzmr.js.map b/src/webview-ui/build/assets/chunk-DWedfzmr.js.map new file mode 100644 index 0000000000..556050a683 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DWedfzmr.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DWedfzmr.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/kanagawa-wave.mjs" + ], + "sourcesContent": [ + "/* Theme: kanagawa-wave */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#2A2A37\\\",\\\"activityBar.foreground\\\":\\\"#DCD7BA\\\",\\\"activityBarBadge.background\\\":\\\"#658594\\\",\\\"activityBarBadge.foreground\\\":\\\"#DCD7BA\\\",\\\"badge.background\\\":\\\"#2A2A37\\\",\\\"button.background\\\":\\\"#2A2A37\\\",\\\"button.foreground\\\":\\\"#C8C093\\\",\\\"button.secondaryBackground\\\":\\\"#223249\\\",\\\"button.secondaryForeground\\\":\\\"#DCD7BA\\\",\\\"checkbox.border\\\":\\\"#223249\\\",\\\"debugToolBar.background\\\":\\\"#16161D\\\",\\\"descriptionForeground\\\":\\\"#DCD7BA\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#2B332880\\\",\\\"dropdown.background\\\":\\\"#16161D\\\",\\\"dropdown.border\\\":\\\"#16161D\\\",\\\"editor.background\\\":\\\"#1F1F28\\\",\\\"editor.findMatchBackground\\\":\\\"#2D4F67\\\",\\\"editor.findMatchBorder\\\":\\\"#FF9E3B\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#2D4F6780\\\",\\\"editor.foreground\\\":\\\"#DCD7BA\\\",\\\"editor.lineHighlightBackground\\\":\\\"#363646\\\",\\\"editor.selectionBackground\\\":\\\"#223249\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#36364680\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#54546D\\\",\\\"editor.wordHighlightBackground\\\":\\\"#3636464D\\\",\\\"editor.wordHighlightBorder\\\":\\\"#54546D\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#3636464D\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#54546D\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#957FB8\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#FFA066\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#7E9CD8\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#D27E99\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#E6C384\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#7AA89F\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#FF5D62\\\",\\\"editorBracketMatch.background\\\":\\\"#16161D\\\",\\\"editorBracketMatch.border\\\":\\\"#54546D\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#957FB8\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#FFA066\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#7E9CD8\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#D27E99\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#E6C384\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#7AA89F\\\",\\\"editorCursor.background\\\":\\\"#1F1F28\\\",\\\"editorCursor.foreground\\\":\\\"#DCD7BA\\\",\\\"editorError.foreground\\\":\\\"#E82424\\\",\\\"editorGroup.border\\\":\\\"#16161D\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#16161D\\\",\\\"editorGutter.addedBackground\\\":\\\"#76946A\\\",\\\"editorGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"editorHoverWidget.background\\\":\\\"#1F1F28\\\",\\\"editorHoverWidget.border\\\":\\\"#2A2A37\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#658594\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#363646\\\",\\\"editorIndentGuide.background1\\\":\\\"#2A2A37\\\",\\\"editorInlayHint.background\\\":\\\"#1F1F28\\\",\\\"editorInlayHint.foreground\\\":\\\"#727169\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#FFA066\\\",\\\"editorLineNumber.foreground\\\":\\\"#54546D\\\",\\\"editorMarkerNavigation.background\\\":\\\"#363646\\\",\\\"editorRuler.foreground\\\":\\\"#363646\\\",\\\"editorSuggestWidget.background\\\":\\\"#223249\\\",\\\"editorSuggestWidget.border\\\":\\\"#223249\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#2D4F67\\\",\\\"editorWarning.foreground\\\":\\\"#FF9E3B\\\",\\\"editorWhitespace.foreground\\\":\\\"#1F1F28\\\",\\\"editorWidget.background\\\":\\\"#1F1F28\\\",\\\"focusBorder\\\":\\\"#223249\\\",\\\"foreground\\\":\\\"#DCD7BA\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#727169\\\",\\\"input.background\\\":\\\"#16161D\\\",\\\"list.activeSelectionBackground\\\":\\\"#363646\\\",\\\"list.activeSelectionForeground\\\":\\\"#DCD7BA\\\",\\\"list.focusBackground\\\":\\\"#2A2A37\\\",\\\"list.focusForeground\\\":\\\"#DCD7BA\\\",\\\"list.highlightForeground\\\":\\\"#7E9CD8\\\",\\\"list.hoverBackground\\\":\\\"#363646\\\",\\\"list.hoverForeground\\\":\\\"#DCD7BA\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#2A2A37\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#DCD7BA\\\",\\\"list.warningForeground\\\":\\\"#FF9E3B\\\",\\\"menu.background\\\":\\\"#363646\\\",\\\"menu.border\\\":\\\"#16161D\\\",\\\"menu.foreground\\\":\\\"#DCD7BA\\\",\\\"menu.selectionBackground\\\":\\\"#16161D\\\",\\\"menu.selectionForeground\\\":\\\"#DCD7BA\\\",\\\"menu.separatorBackground\\\":\\\"#54546D\\\",\\\"menubar.selectionBackground\\\":\\\"#16161D\\\",\\\"menubar.selectionForeground\\\":\\\"#DCD7BA\\\",\\\"minimapGutter.addedBackground\\\":\\\"#76946A\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"panel.border\\\":\\\"#16161D\\\",\\\"panelSectionHeader.background\\\":\\\"#1F1F28\\\",\\\"peekView.border\\\":\\\"#54546D\\\",\\\"peekViewEditor.background\\\":\\\"#2A2A37\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#2D4F67\\\",\\\"peekViewResult.background\\\":\\\"#363646\\\",\\\"scrollbar.shadow\\\":\\\"#363646\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#2A2A3780\\\",\\\"scrollbarSlider.background\\\":\\\"#54546D66\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#54546D80\\\",\\\"settings.focusedRowBackground\\\":\\\"#363646\\\",\\\"settings.headerForeground\\\":\\\"#DCD7BA\\\",\\\"sideBar.background\\\":\\\"#1F1F28\\\",\\\"sideBar.border\\\":\\\"#16161D\\\",\\\"sideBar.foreground\\\":\\\"#DCD7BA\\\",\\\"sideBarSectionHeader.background\\\":\\\"#363646\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#DCD7BA\\\",\\\"statusBar.background\\\":\\\"#16161D\\\",\\\"statusBar.debuggingBackground\\\":\\\"#E82424\\\",\\\"statusBar.debuggingBorder\\\":\\\"#957FB8\\\",\\\"statusBar.debuggingForeground\\\":\\\"#DCD7BA\\\",\\\"statusBar.foreground\\\":\\\"#C8C093\\\",\\\"statusBar.noFolderBackground\\\":\\\"#1F1F28\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#363646\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2D4F67\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#DCD7BA\\\",\\\"tab.activeBackground\\\":\\\"#2A2A37\\\",\\\"tab.activeForeground\\\":\\\"#7E9CD8\\\",\\\"tab.border\\\":\\\"#2A2A37\\\",\\\"tab.hoverBackground\\\":\\\"#363646\\\",\\\"tab.inactiveBackground\\\":\\\"#1A1A22\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#1F1F28\\\",\\\"terminal.ansiBlack\\\":\\\"#16161D\\\",\\\"terminal.ansiBlue\\\":\\\"#7E9CD8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#727169\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7FB4CA\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7AA89F\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#98BB6C\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#938AA9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E82424\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#DCD7BA\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E6C384\\\",\\\"terminal.ansiCyan\\\":\\\"#6A9589\\\",\\\"terminal.ansiGreen\\\":\\\"#76946A\\\",\\\"terminal.ansiMagenta\\\":\\\"#957FB8\\\",\\\"terminal.ansiRed\\\":\\\"#C34043\\\",\\\"terminal.ansiWhite\\\":\\\"#C8C093\\\",\\\"terminal.ansiYellow\\\":\\\"#C0A36E\\\",\\\"terminal.background\\\":\\\"#1F1F28\\\",\\\"terminal.border\\\":\\\"#16161D\\\",\\\"terminal.foreground\\\":\\\"#DCD7BA\\\",\\\"terminal.selectionBackground\\\":\\\"#223249\\\",\\\"textBlockQuote.background\\\":\\\"#1F1F28\\\",\\\"textBlockQuote.border\\\":\\\"#16161D\\\",\\\"textLink.foreground\\\":\\\"#6A9589\\\",\\\"textPreformat.foreground\\\":\\\"#FF9E3B\\\",\\\"titleBar.activeBackground\\\":\\\"#363646\\\",\\\"titleBar.activeForeground\\\":\\\"#DCD7BA\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1F1F28\\\",\\\"titleBar.inactiveForeground\\\":\\\"#DCD7BA\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#1F1F28\\\"},\\\"displayName\\\":\\\"Kanagawa Wave\\\",\\\"name\\\":\\\"kanagawa-wave\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"arithmetic\\\":\\\"#C0A36E\\\",\\\"function\\\":\\\"#7E9CD8\\\",\\\"keyword.controlFlow\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#957FB8\\\"},\\\"macro\\\":\\\"#E46876\\\",\\\"method\\\":\\\"#7FB4CA\\\",\\\"operator\\\":\\\"#C0A36E\\\",\\\"parameter\\\":\\\"#B8B4D0\\\",\\\"parameter.declaration\\\":\\\"#B8B4D0\\\",\\\"parameter.definition\\\":\\\"#B8B4D0\\\",\\\"variable\\\":\\\"#DCD7BA\\\",\\\"variable.readonly\\\":\\\"#DCD7BA\\\",\\\"variable.readonly.defaultLibrary\\\":\\\"#DCD7BA\\\",\\\"variable.readonly.local\\\":\\\"#DCD7BA\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E82424\\\"}},{\\\"scope\\\":[\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\",\\\"keyword.control.conditional\\\",\\\"keyword.control.loop\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"keyword.control.trycatch\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\",\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"punctuation\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"meta.brace\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CABCA\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7E9CD8\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E46876\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D27E99\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"markup.inline.raw.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98BB6C\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7AA89F\\\"}},{\\\"scope\\\":[\\\"entity.name.type.module\\\",\\\"entity.name.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"entity.name.import.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98BB6C\\\"}},{\\\"scope\\\":[\\\"keyword.blade\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"keyword.control.import\\\",\\\"keyword.import\\\",\\\"meta.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7AA89F\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#76946A\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C34043\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCA561\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C0A36E\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D27E99\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7E9CD8\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D27E99\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98BB6C\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"entity.name.section.markdown\\\",\\\"markup.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7E9CD8\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E46876\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#E46876\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#9CABCA\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "kanagawaWave" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,yqhBAA2vkB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DWkon8Hs.js b/src/webview-ui/build/assets/chunk-DWkon8Hs.js new file mode 100644 index 0000000000..6b5821c491 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DWkon8Hs.js @@ -0,0 +1,16 @@ +import e from "./chunk-BIGW1oBm.js" +import n from "./chunk-CXhxxCfG.js" +import t from "./chunk-B_vNuMnf.js" +import a from "./chunk-BMMyXqK5.js" +import i from "./chunk-DPfMkruS.js" +import m from "./chunk-DXETW7eA.js" +import r from "./chunk-RrBGtqGR.js" +import "./chunk-CylS5w8V.js" +const o = Object.freeze( + JSON.parse( + `{"displayName":"Nim","fileTypes":["nim"],"name":"nim","patterns":[{"begin":"[\\\\t ]*##\\\\[","contentName":"comment.block.doc-comment.content.nim","end":"]##","name":"comment.block.doc-comment.nim","patterns":[{"include":"#multilinedoccomment","name":"comment.block.doc-comment.nested.nim"}]},{"begin":"[\\\\t ]*#\\\\[","contentName":"comment.block.content.nim","end":"]#","name":"comment.block.nim","patterns":[{"include":"#multilinecomment","name":"comment.block.nested.nim"}]},{"begin":"(^[\\\\t ]+)?(?=##)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.nim"}},"end":"(?!\\\\G)","patterns":[{"begin":"##","beginCaptures":{"0":{"name":"punctuation.definition.comment.nim"}},"end":"\\\\n","name":"comment.line.number-sign.doc-comment.nim"}]},{"begin":"(^[\\\\t ]+)?(?=#[^\\\\[])","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.nim"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.nim"}},"end":"\\\\n","name":"comment.line.number-sign.nim"}]},{"name":"meta.proc.nim","patterns":[{"begin":"\\\\b(proc|method|template|macro|iterator|converter|func)\\\\s+\`?([^(*:\`{\\\\s]*)\`?(\\\\s*\\\\*)?\\\\s*(?=[\\\\n(:=\\\\[{])","captures":{"1":{"name":"keyword.other"},"2":{"name":"entity.name.function.nim"},"3":{"name":"keyword.control.export"}},"end":"\\\\)","patterns":[{"include":"source.nim"}]}]},{"begin":"discard \\"\\"\\"","end":"\\"\\"\\"(?!\\")","name":"comment.line.discarded.nim"},{"include":"#float_literal"},{"include":"#integer_literal"},{"match":"(?<=\`)[^ \`]+(?=\`)","name":"entity.name.function.nim"},{"captures":{"1":{"name":"keyword.control.export"}},"match":"\\\\b\\\\s*(\\\\*)(?:\\\\s*(?=[,:])|\\\\s+(?==))"},{"captures":{"1":{"name":"support.type.nim"},"2":{"name":"keyword.control.export"}},"match":"\\\\b([A-Z]\\\\w+)(\\\\*)"},{"include":"#string_literal"},{"match":"\\\\b(true|false|Inf|NegInf|NaN|nil)\\\\b","name":"constant.language.nim"},{"match":"\\\\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\\\b","name":"keyword.control.nim"},{"match":"\\\\b((and|in|is|isnot|not|notin|or|xor))\\\\b","name":"keyword.boolean.nim"},{"match":"([-!$%\\\\&*+./:<-@\\\\\\\\^~])+","name":"keyword.operator.nim"},{"match":"\\\\b((addr|asm??|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template))\\\\b","name":"keyword.other.nim"},{"match":"\\\\b((generic|interface|lambda|out|shared))\\\\b","name":"invalid.illegal.invalid-keyword.nim"},{"match":"\\\\b(new|await|assert|echo|defined|declared|newException|countup|countdown|high|low)\\\\b","name":"keyword.other.common.function.nim"},{"match":"\\\\b(((u?int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)\\\\b","name":"storage.type.concrete.nim"},{"match":"\\\\b(range|array|seq|set|pointer)\\\\b","name":"storage.type.generic.nim"},{"match":"\\\\b(openarray|varargs|void)\\\\b","name":"storage.type.generic.nim"},{"match":"\\\\b[A-Z][0-9A-Z_]+\\\\b","name":"support.constant.nim"},{"match":"\\\\b[A-Z]\\\\w+\\\\b","name":"support.type.nim"},{"match":"\\\\b\\\\w+\\\\b(?=(\\\\[([,0-9A-Z_a-z\\\\s])+])?\\\\()","name":"support.function.any-method.nim"},{"match":"(?!(openarray|varargs|void|range|array|seq|set|pointer|new|await|assert|echo|defined|declared|newException|countup|countdown|high|low|((u?int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed|addr|asm??|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template|and|in|is|isnot|not|notin|or|xor|proc|method|template|macro|iterator|converter|func|true|false|Inf|NegInf|NaN|nil|block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\\\\b)\\\\w+\\\\s+(?!(and|in|is|isnot|not|notin|or|xor|[^\\"'-+0-9A-Z_-z]+)\\\\b)(?=[\\"'-+0-9A-Z_-z])","name":"support.function.any-method.nim"},{"begin":"(^\\\\s*)?(?=\\\\{\\\\.emit: ?\\"\\"\\")","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.nim"}},"end":"(?!\\\\G)(\\\\s*$\\\\n?)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.nim"}},"patterns":[{"begin":"\\\\{\\\\.(emit:) ?(\\"\\"\\")","captures":{"1":{"name":"keyword.other.nim"},"2":{"name":"punctuation.section.embedded.begin.nim"}},"contentName":"source.c","end":"(\\")\\"\\"(?!\\")(\\\\.?})?","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nim"},"1":{"name":"source.c"}},"name":"meta.embedded.block.c","patterns":[{"begin":"\`","end":"\`","name":"keyword.operator.nim"},{"include":"source.c"}]}]},{"begin":"\\\\{\\\\.","beginCaptures":{"0":{"name":"punctuation.pragma.start.nim"}},"end":"\\\\.?}","endCaptures":{"0":{"name":"punctuation.pragma.end.nim"}},"patterns":[{"begin":"\\\\b(\\\\p{alpha}\\\\w*)(?:\\\\s|\\\\s*:)","beginCaptures":{"1":{"name":"meta.preprocessor.pragma.nim"}},"end":"(?=\\\\.?}|,)","patterns":[{"include":"source.nim"}]},{"begin":"\\\\b(\\\\p{alpha}\\\\w*)\\\\(","beginCaptures":{"1":{"name":"meta.preprocessor.pragma.nim"}},"end":"\\\\)","patterns":[{"include":"source.nim"}]},{"captures":{"1":{"name":"meta.preprocessor.pragma.nim"}},"match":"\\\\b(\\\\p{alpha}\\\\w*)(?=\\\\.?}|,)"},{"begin":"\\\\b(\\\\p{alpha}\\\\w*)(\\"\\"\\")","beginCaptures":{"1":{"name":"meta.preprocessor.pragma.nim"},"2":{"name":"punctuation.definition.string.begin.nim"}},"end":"\\"\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.definition.string.end.nim"}},"name":"string.quoted.triple.raw.nim"},{"begin":"\\\\b(\\\\p{alpha}\\\\w*)(\\")","beginCaptures":{"1":{"name":"meta.preprocessor.pragma.nim"},"2":{"name":"punctuation.definition.string.begin.nim"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.nim"}},"name":"string.quoted.double.raw.nim"},{"begin":"\\\\b(hint\\\\[\\\\w+]):","beginCaptures":{"1":{"name":"meta.preprocessor.pragma.nim"}},"end":"(?=\\\\.?}|,)","patterns":[{"include":"source.nim"}]},{"match":",","name":"punctuation.separator.comma.nim"}]},{"begin":"(^\\\\s*)?(?=asm \\"\\"\\")","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.nim"}},"end":"(?!\\\\G)(\\\\s*$\\\\n?)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.nim"}},"patterns":[{"begin":"(asm) (\\"\\"\\")","captures":{"1":{"name":"keyword.other.nim"},"2":{"name":"punctuation.section.embedded.begin.nim"}},"contentName":"source.asm","end":"(\\")\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nim"},"1":{"name":"source.asm"}},"name":"meta.embedded.block.asm","patterns":[{"begin":"\`","end":"\`","name":"keyword.operator.nim"},{"include":"source.asm"}]}]},{"captures":{"1":{"name":"storage.type.function.nim"},"2":{"name":"keyword.operator.nim"}},"match":"(tmpl(i)?)(?=( (html|xml|js|css|glsl|md))?\\"\\"\\")"},{"begin":"(^\\\\s*)?(?=html\\"\\"\\")","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.nim"}},"end":"(?!\\\\G)(\\\\s*$\\\\n?)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.nim"}},"patterns":[{"begin":"(html)(\\"\\"\\")","captures":{"1":{"name":"keyword.other.nim"},"2":{"name":"punctuation.section.embedded.begin.nim"}},"contentName":"text.html","end":"(\\")\\"\\"(?!\\")","endCaptures":{"0":{"name":"punctuation.section.embedded.end.nim"},"1":{"name":"text.html"}},"name":"meta.embedded.block.html","patterns":[{"begin":"(?","match":"\\\\b\\\\d+\\\\.\\\\d+\\\\b","name":"constant.numeric.qml"},{"description":"as ","match":"(?<=as)\\\\s+[A-Z]\\\\w*\\\\b","name":"entity.name.type.qml"},{"include":"#identifier"},{"include":"#comment"}]}]},"keywords":{"patterns":[{"include":"#data-types"},{"include":"#reserved-words"}]},"method-attributes":{"patterns":[{"begin":"\\\\b(function)\\\\b","beginCaptures":{"1":{"name":"storage.type.qml"}},"end":"(?<=})","patterns":[{"begin":"([A-Z_a-z]\\\\w*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.qml"}},"end":"\\\\)","patterns":[{"include":"#identifier"}]},{"begin":"\\\\{","contentName":"meta.embedded.block.js","end":"}","patterns":[{"include":"source.js"}]}]}]},"object":{"patterns":[{"begin":"\\\\b([A-Z]\\\\w*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"entity.name.type.qml"}},"end":"}","patterns":[{"include":"$self"},{"include":"#group-attributes"},{"include":"#method-attributes"},{"include":"#signal-attributes"},{"include":"#comment"},{"include":"#attributes-dictionary"}]}]},"reserved-words":{"patterns":[{"description":"Attribute modifier.","match":"\\\\b(default|alias|readonly|required)\\\\b","name":"storage.modifier.qml"},{"match":"\\\\b(property|id|on)\\\\b","name":"keyword.other.qml"},{"description":"Special words for signal handlers including property change.","match":"\\\\b(on[A-Z]\\\\w*(Changed)?)\\\\b","name":"keyword.control.qml"}]},"signal-attributes":{"patterns":[{"begin":"\\\\b(signal)\\\\b","beginCaptures":{"1":{"name":"storage.type.qml"}},"end":"$","patterns":[{"begin":"([A-Z_a-z]\\\\w*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.qml"}},"end":"\\\\)","patterns":[{"include":"#keywords"},{"include":"#identifier"}]},{"include":"#identifier"},{"include":"#comment"}]}]},"string":{"description":"String literal with double or signle quote.","patterns":[{"begin":"'","end":"'","name":"string.quoted.single.qml"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.qml"}]},"typename":{"description":"The name of type. First letter must be uppercase.","patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.qml"}]}},"scopeName":"source.qml","embeddedLangs":["javascript"]}`, + ), + ), + a = [...e, t] +export { a as default } +//# sourceMappingURL=chunk-DXHVBXt-.js.map diff --git a/src/webview-ui/build/assets/chunk-DXHVBXt-.js.map b/src/webview-ui/build/assets/chunk-DXHVBXt-.js.map new file mode 100644 index 0000000000..b6bef5d4b4 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXHVBXt-.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-DXHVBXt-.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/qml.mjs" + ], + "sourcesContent": [ + "import javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"QML\\\",\\\"name\\\":\\\"qml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bpragma\\\\\\\\s+Singleton\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.qml\\\"},{\\\"include\\\":\\\"#import-statements\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"#comment\\\"}],\\\"repository\\\":{\\\"attributes-dictionary\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typename\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#attributes-value\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"attributes-value\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s*:\\\\\\\\s*(?=[A-Z]\\\\\\\\w*\\\\\\\\s*\\\\\\\\{)\\\",\\\"description\\\":\\\"A QML object as value.\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s*:\\\\\\\\s*\\\\\\\\[\\\",\\\"description\\\":\\\"A list as value.\\\",\\\"end\\\":\\\"](.*)$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s*:(?=\\\\\\\\s*\\\\\\\\{?\\\\\\\\s*$)\\\",\\\"description\\\":\\\"A block of JavaScript code as value.\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"contentName\\\":\\\"meta.embedded.block.js\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s*:\\\",\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"description\\\":\\\"A JavaScript expression as value.\\\",\\\"end\\\":\\\";|$|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(//:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.qml.tr\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-contents\\\"}]},{\\\"begin\\\":\\\"(//[=|~])\\\\\\\\s*([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.qml.tr\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.qml.tr\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-contents\\\"}]},{\\\"begin\\\":\\\"(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.double-slash.qml\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-contents\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.double-slash.qml\\\"}},\\\"end\\\":\\\"(\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.double-slash.qml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-contents\\\"}]}]},\\\"comment-contents\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(TODO|DEBUG|XXX)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.qml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(BUG|FIXME)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"comment.line.double-slash.qml\\\"}]},\\\"data-types\\\":{\\\"patterns\\\":[{\\\"description\\\":\\\"QML basic data types.\\\",\\\"match\\\":\\\"\\\\\\\\b(bool|double|enum|int|list|real|string|url|variant|var)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.qml\\\"},{\\\"description\\\":\\\"QML modules basic data types.\\\",\\\"match\\\":\\\"\\\\\\\\b(date|point|rect|size)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.qml\\\"}]},\\\"group-attributes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.qml\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attributes-dictionary\\\"}]}]},\\\"identifier\\\":{\\\"description\\\":\\\"The name of variable, key, signal and etc.\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.qml\\\"}]},\\\"import-statements\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.qml\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bas\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.as.qml\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"description\\\":\\\"\\\",\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\.\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.qml\\\"},{\\\"description\\\":\\\"as \\\",\\\"match\\\":\\\"(?<=as)\\\\\\\\s+[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.qml\\\"},{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#data-types\\\"},{\\\"include\\\":\\\"#reserved-words\\\"}]},\\\"method-attributes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(function)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.qml\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.qml\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"contentName\\\":\\\"meta.embedded.block.js\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]}]},\\\"object\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b([A-Z]\\\\\\\\w*)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.qml\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#group-attributes\\\"},{\\\"include\\\":\\\"#method-attributes\\\"},{\\\"include\\\":\\\"#signal-attributes\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attributes-dictionary\\\"}]}]},\\\"reserved-words\\\":{\\\"patterns\\\":[{\\\"description\\\":\\\"Attribute modifier.\\\",\\\"match\\\":\\\"\\\\\\\\b(default|alias|readonly|required)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.qml\\\"},{\\\"match\\\":\\\"\\\\\\\\b(property|id|on)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.qml\\\"},{\\\"description\\\":\\\"Special words for signal handlers including property change.\\\",\\\"match\\\":\\\"\\\\\\\\b(on[A-Z]\\\\\\\\w*(Changed)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.qml\\\"}]},\\\"signal-attributes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(signal)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.qml\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.qml\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"string\\\":{\\\"description\\\":\\\"String literal with double or signle quote.\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.qml\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.qml\\\"}]},\\\"typename\\\":{\\\"description\\\":\\\"The name of type. First letter must be uppercase.\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.qml\\\"}]}},\\\"scopeName\\\":\\\"source.qml\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\"]}\"))\n\nexport default [\n...javascript,\nlang\n]\n" + ], + "names": [ + "lang", + "qml", + "javascript" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2mKAAmzL,CAAC,EAE30LC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DXbdFlpD.js b/src/webview-ui/build/assets/chunk-DXbdFlpD.js new file mode 100644 index 0000000000..44d7898d93 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXbdFlpD.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#003847","badge.background":"#047aa6","button.background":"#2AA19899","debugExceptionWidget.background":"#00212B","debugExceptionWidget.border":"#AB395B","debugToolBar.background":"#00212B","dropdown.background":"#00212B","dropdown.border":"#2AA19899","editor.background":"#002B36","editor.foreground":"#839496","editor.lineHighlightBackground":"#073642","editor.selectionBackground":"#274642","editor.selectionHighlightBackground":"#005A6FAA","editor.wordHighlightBackground":"#004454AA","editor.wordHighlightStrongBackground":"#005A6FAA","editorBracketHighlight.foreground1":"#cdcdcdff","editorBracketHighlight.foreground2":"#b58900ff","editorBracketHighlight.foreground3":"#d33682ff","editorCursor.foreground":"#D30102","editorGroup.border":"#00212B","editorGroup.dropBackground":"#2AA19844","editorGroupHeader.tabsBackground":"#004052","editorHoverWidget.background":"#004052","editorIndentGuide.activeBackground":"#C3E1E180","editorIndentGuide.background":"#93A1A180","editorLineNumber.activeForeground":"#949494","editorMarkerNavigationError.background":"#AB395B","editorMarkerNavigationWarning.background":"#5B7E7A","editorWhitespace.foreground":"#93A1A180","editorWidget.background":"#00212B","errorForeground":"#ffeaea","focusBorder":"#2AA19899","input.background":"#003847","input.foreground":"#93A1A1","input.placeholderForeground":"#93A1A1AA","inputOption.activeBorder":"#2AA19899","inputValidation.errorBackground":"#571b26","inputValidation.errorBorder":"#a92049","inputValidation.infoBackground":"#052730","inputValidation.infoBorder":"#363b5f","inputValidation.warningBackground":"#5d5938","inputValidation.warningBorder":"#9d8a5e","list.activeSelectionBackground":"#005A6F","list.dropBackground":"#00445488","list.highlightForeground":"#1ebcc5","list.hoverBackground":"#004454AA","list.inactiveSelectionBackground":"#00445488","minimap.selectionHighlight":"#274642","panel.border":"#2b2b4a","peekView.border":"#2b2b4a","peekViewEditor.background":"#10192c","peekViewEditor.matchHighlightBackground":"#7744AA40","peekViewResult.background":"#00212B","peekViewTitle.background":"#00212B","pickerGroup.border":"#2AA19899","pickerGroup.foreground":"#2AA19899","ports.iconRunningProcessForeground":"#369432","progressBar.background":"#047aa6","quickInputList.focusBackground":"#005A6F","selection.background":"#2AA19899","sideBar.background":"#00212B","sideBarTitle.foreground":"#93A1A1","statusBar.background":"#00212B","statusBar.debuggingBackground":"#00212B","statusBar.foreground":"#93A1A1","statusBar.noFolderBackground":"#00212B","statusBarItem.prominentBackground":"#003847","statusBarItem.prominentHoverBackground":"#003847","statusBarItem.remoteBackground":"#2AA19899","tab.activeBackground":"#002B37","tab.activeForeground":"#d6dbdb","tab.border":"#003847","tab.inactiveBackground":"#004052","tab.inactiveForeground":"#93A1A1","tab.lastPinnedBorder":"#2AA19844","terminal.ansiBlack":"#073642","terminal.ansiBlue":"#268bd2","terminal.ansiBrightBlack":"#002b36","terminal.ansiBrightBlue":"#839496","terminal.ansiBrightCyan":"#93a1a1","terminal.ansiBrightGreen":"#586e75","terminal.ansiBrightMagenta":"#6c71c4","terminal.ansiBrightRed":"#cb4b16","terminal.ansiBrightWhite":"#fdf6e3","terminal.ansiBrightYellow":"#657b83","terminal.ansiCyan":"#2aa198","terminal.ansiGreen":"#859900","terminal.ansiMagenta":"#d33682","terminal.ansiRed":"#dc322f","terminal.ansiWhite":"#eee8d5","terminal.ansiYellow":"#b58900","titleBar.activeBackground":"#002C39"},"displayName":"Solarized Dark","name":"solarized-dark","semanticHighlighting":true,"tokenColors":[{"settings":{"foreground":"#839496"}},{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown","variable.legacy.builtin.python"],"settings":{"foreground":"#839496"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#586E75"}},{"scope":"string","settings":{"foreground":"#2AA198"}},{"scope":"string.regexp","settings":{"foreground":"#DC322F"}},{"scope":"constant.numeric","settings":{"foreground":"#D33682"}},{"scope":["variable.language","variable.other"],"settings":{"foreground":"#268BD2"}},{"scope":"keyword","settings":{"foreground":"#859900"}},{"scope":"storage","settings":{"fontStyle":"bold","foreground":"#93A1A1"}},{"scope":["entity.name.class","entity.name.type","entity.name.namespace","entity.name.scope-resolution"],"settings":{"fontStyle":"","foreground":"#CB4B16"}},{"scope":"entity.name.function","settings":{"foreground":"#268BD2"}},{"scope":"punctuation.definition.variable","settings":{"foreground":"#859900"}},{"scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#DC322F"}},{"scope":["constant.language","meta.preprocessor"],"settings":{"foreground":"#B58900"}},{"scope":["support.function.construct","keyword.other.new"],"settings":{"foreground":"#CB4B16"}},{"scope":["constant.character","constant.other"],"settings":{"foreground":"#CB4B16"}},{"scope":["entity.other.inherited-class","punctuation.separator.namespace.ruby"],"settings":{"foreground":"#6C71C4"}},{"scope":"variable.parameter","settings":{}},{"scope":"entity.name.tag","settings":{"foreground":"#268BD2"}},{"scope":"punctuation.definition.tag","settings":{"foreground":"#586E75"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#93A1A1"}},{"scope":"support.function","settings":{"foreground":"#268BD2"}},{"scope":"punctuation.separator.continuation","settings":{"foreground":"#DC322F"}},{"scope":["support.constant","support.variable"],"settings":{}},{"scope":["support.type","support.class"],"settings":{"foreground":"#859900"}},{"scope":"support.type.exception","settings":{"foreground":"#CB4B16"}},{"scope":"support.other.variable","settings":{}},{"scope":"invalid","settings":{"foreground":"#DC322F"}},{"scope":["meta.diff","meta.diff.header"],"settings":{"fontStyle":"italic","foreground":"#268BD2"}},{"scope":"markup.deleted","settings":{"fontStyle":"","foreground":"#DC322F"}},{"scope":"markup.changed","settings":{"fontStyle":"","foreground":"#CB4B16"}},{"scope":"markup.inserted","settings":{"foreground":"#859900"}},{"scope":"markup.quote","settings":{"foreground":"#859900"}},{"scope":"markup.list","settings":{"foreground":"#B58900"}},{"scope":["markup.bold","markup.italic"],"settings":{"foreground":"#D33682"}},{"scope":"markup.bold","settings":{"fontStyle":"bold"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"fontStyle":"","foreground":"#2AA198"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#268BD2"}},{"scope":"markup.heading.setext","settings":{"fontStyle":"","foreground":"#268BD2"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DXbdFlpD.js.map diff --git a/src/webview-ui/build/assets/chunk-DXbdFlpD.js.map b/src/webview-ui/build/assets/chunk-DXbdFlpD.js.map new file mode 100644 index 0000000000..c3ab5e6a14 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXbdFlpD.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DXbdFlpD.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/solarized-dark.mjs" + ], + "sourcesContent": [ + "/* Theme: solarized-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#003847\\\",\\\"badge.background\\\":\\\"#047aa6\\\",\\\"button.background\\\":\\\"#2AA19899\\\",\\\"debugExceptionWidget.background\\\":\\\"#00212B\\\",\\\"debugExceptionWidget.border\\\":\\\"#AB395B\\\",\\\"debugToolBar.background\\\":\\\"#00212B\\\",\\\"dropdown.background\\\":\\\"#00212B\\\",\\\"dropdown.border\\\":\\\"#2AA19899\\\",\\\"editor.background\\\":\\\"#002B36\\\",\\\"editor.foreground\\\":\\\"#839496\\\",\\\"editor.lineHighlightBackground\\\":\\\"#073642\\\",\\\"editor.selectionBackground\\\":\\\"#274642\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#005A6FAA\\\",\\\"editor.wordHighlightBackground\\\":\\\"#004454AA\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#005A6FAA\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#cdcdcdff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#b58900ff\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#d33682ff\\\",\\\"editorCursor.foreground\\\":\\\"#D30102\\\",\\\"editorGroup.border\\\":\\\"#00212B\\\",\\\"editorGroup.dropBackground\\\":\\\"#2AA19844\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#004052\\\",\\\"editorHoverWidget.background\\\":\\\"#004052\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#C3E1E180\\\",\\\"editorIndentGuide.background\\\":\\\"#93A1A180\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#949494\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#AB395B\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#5B7E7A\\\",\\\"editorWhitespace.foreground\\\":\\\"#93A1A180\\\",\\\"editorWidget.background\\\":\\\"#00212B\\\",\\\"errorForeground\\\":\\\"#ffeaea\\\",\\\"focusBorder\\\":\\\"#2AA19899\\\",\\\"input.background\\\":\\\"#003847\\\",\\\"input.foreground\\\":\\\"#93A1A1\\\",\\\"input.placeholderForeground\\\":\\\"#93A1A1AA\\\",\\\"inputOption.activeBorder\\\":\\\"#2AA19899\\\",\\\"inputValidation.errorBackground\\\":\\\"#571b26\\\",\\\"inputValidation.errorBorder\\\":\\\"#a92049\\\",\\\"inputValidation.infoBackground\\\":\\\"#052730\\\",\\\"inputValidation.infoBorder\\\":\\\"#363b5f\\\",\\\"inputValidation.warningBackground\\\":\\\"#5d5938\\\",\\\"inputValidation.warningBorder\\\":\\\"#9d8a5e\\\",\\\"list.activeSelectionBackground\\\":\\\"#005A6F\\\",\\\"list.dropBackground\\\":\\\"#00445488\\\",\\\"list.highlightForeground\\\":\\\"#1ebcc5\\\",\\\"list.hoverBackground\\\":\\\"#004454AA\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00445488\\\",\\\"minimap.selectionHighlight\\\":\\\"#274642\\\",\\\"panel.border\\\":\\\"#2b2b4a\\\",\\\"peekView.border\\\":\\\"#2b2b4a\\\",\\\"peekViewEditor.background\\\":\\\"#10192c\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#7744AA40\\\",\\\"peekViewResult.background\\\":\\\"#00212B\\\",\\\"peekViewTitle.background\\\":\\\"#00212B\\\",\\\"pickerGroup.border\\\":\\\"#2AA19899\\\",\\\"pickerGroup.foreground\\\":\\\"#2AA19899\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#369432\\\",\\\"progressBar.background\\\":\\\"#047aa6\\\",\\\"quickInputList.focusBackground\\\":\\\"#005A6F\\\",\\\"selection.background\\\":\\\"#2AA19899\\\",\\\"sideBar.background\\\":\\\"#00212B\\\",\\\"sideBarTitle.foreground\\\":\\\"#93A1A1\\\",\\\"statusBar.background\\\":\\\"#00212B\\\",\\\"statusBar.debuggingBackground\\\":\\\"#00212B\\\",\\\"statusBar.foreground\\\":\\\"#93A1A1\\\",\\\"statusBar.noFolderBackground\\\":\\\"#00212B\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#003847\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#003847\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2AA19899\\\",\\\"tab.activeBackground\\\":\\\"#002B37\\\",\\\"tab.activeForeground\\\":\\\"#d6dbdb\\\",\\\"tab.border\\\":\\\"#003847\\\",\\\"tab.inactiveBackground\\\":\\\"#004052\\\",\\\"tab.inactiveForeground\\\":\\\"#93A1A1\\\",\\\"tab.lastPinnedBorder\\\":\\\"#2AA19844\\\",\\\"terminal.ansiBlack\\\":\\\"#073642\\\",\\\"terminal.ansiBlue\\\":\\\"#268bd2\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#002b36\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#839496\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#93a1a1\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#586e75\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#6c71c4\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb4b16\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fdf6e3\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#657b83\\\",\\\"terminal.ansiCyan\\\":\\\"#2aa198\\\",\\\"terminal.ansiGreen\\\":\\\"#859900\\\",\\\"terminal.ansiMagenta\\\":\\\"#d33682\\\",\\\"terminal.ansiRed\\\":\\\"#dc322f\\\",\\\"terminal.ansiWhite\\\":\\\"#eee8d5\\\",\\\"terminal.ansiYellow\\\":\\\"#b58900\\\",\\\"titleBar.activeBackground\\\":\\\"#002C39\\\"},\\\"displayName\\\":\\\"Solarized Dark\\\",\\\"name\\\":\\\"solarized-dark\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#839496\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#839496\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#586E75\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2AA198\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D33682\\\"}},{\\\"scope\\\":[\\\"variable.language\\\",\\\"variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.name.type\\\",\\\"entity.name.namespace\\\",\\\"entity.name.scope-resolution\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin\\\",\\\"punctuation.section.embedded.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"meta.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B58900\\\"}},{\\\"scope\\\":[\\\"support.function.construct\\\",\\\"keyword.other.new\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6C71C4\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#586E75\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.separator.continuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"support.variable\\\"],\\\"settings\\\":{}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"support.type.exception\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B58900\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D33682\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#2AA198\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#268BD2\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "solarizedDark" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,ooNAAo9O,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DXmwc3jG.js b/src/webview-ui/build/assets/chunk-DXmwc3jG.js new file mode 100644 index 0000000000..2483a499d6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXmwc3jG.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Objective-C","name":"objective-c","patterns":[{"include":"#anonymous_pattern_1"},{"include":"#anonymous_pattern_2"},{"include":"#anonymous_pattern_3"},{"include":"#anonymous_pattern_4"},{"include":"#anonymous_pattern_5"},{"include":"#apple_foundation_functional_macros"},{"include":"#anonymous_pattern_7"},{"include":"#anonymous_pattern_8"},{"include":"#anonymous_pattern_9"},{"include":"#anonymous_pattern_10"},{"include":"#anonymous_pattern_11"},{"include":"#anonymous_pattern_12"},{"include":"#anonymous_pattern_13"},{"include":"#anonymous_pattern_14"},{"include":"#anonymous_pattern_15"},{"include":"#anonymous_pattern_16"},{"include":"#anonymous_pattern_17"},{"include":"#anonymous_pattern_18"},{"include":"#anonymous_pattern_19"},{"include":"#anonymous_pattern_20"},{"include":"#anonymous_pattern_21"},{"include":"#anonymous_pattern_22"},{"include":"#anonymous_pattern_23"},{"include":"#anonymous_pattern_24"},{"include":"#anonymous_pattern_25"},{"include":"#anonymous_pattern_26"},{"include":"#anonymous_pattern_27"},{"include":"#anonymous_pattern_28"},{"include":"#anonymous_pattern_29"},{"include":"#anonymous_pattern_30"},{"include":"#bracketed_content"},{"include":"#c_lang"}],"repository":{"anonymous_pattern_1":{"begin":"((@)(interface|protocol))(?!.+;)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*((:)\\\\s*([A-Za-z][0-9A-Za-z]*))?([\\\\n\\\\s])?","captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"6":{"name":"punctuation.definition.entity.other.inherited-class.objc"},"7":{"name":"entity.other.inherited-class.objc"},"8":{"name":"meta.divider.objc"},"9":{"name":"meta.inherited-class.objc"}},"contentName":"meta.scope.interface.objc","end":"((@)end)\\\\b","name":"meta.interface-or-protocol.objc","patterns":[{"include":"#interface_innards"}]},"anonymous_pattern_10":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(defs|encode)\\\\b","name":"keyword.other.objc"},"anonymous_pattern_11":{"match":"\\\\bid\\\\b","name":"storage.type.id.objc"},"anonymous_pattern_12":{"match":"\\\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\\\b","name":"storage.type.objc"},"anonymous_pattern_13":{"captures":{"1":{"name":"punctuation.definition.storage.type.objc"}},"match":"(@)(class|protocol)\\\\b","name":"storage.type.objc"},"anonymous_pattern_14":{"begin":"((@)selector)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"3":{"name":"punctuation.definition.storage.type.objc"}},"contentName":"meta.selector.method-name.objc","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.storage.type.objc"}},"name":"meta.selector.objc","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\\\b(?:[:A-Z_a-z]\\\\w*)+","name":"support.function.any-method.name-of-parameter.objc"}]},"anonymous_pattern_15":{"captures":{"1":{"name":"punctuation.definition.storage.modifier.objc"}},"match":"(@)(synchronized|public|package|private|protected)\\\\b","name":"storage.modifier.objc"},"anonymous_pattern_16":{"match":"\\\\b(YES|NO|Nil|nil)\\\\b","name":"constant.language.objc"},"anonymous_pattern_17":{"match":"\\\\bNSApp\\\\b","name":"support.variable.foundation.objc"},"anonymous_pattern_18":{"captures":{"1":{"name":"punctuation.whitespace.support.function.cocoa.leopard.objc"},"2":{"name":"support.function.cocoa.leopard.objc"}},"match":"(\\\\s*)\\\\b(NS(Rect((?:To|From)CGRect)|MakeCollectable|S(tringFromProtocol|ize((?:To|From)CGSize))|Draw((?:Nin|Thre)ePartImage)|P(oint((?:To|From)CGPoint)|rotocolFromString)|EventMaskFromType|Value))\\\\b"},"anonymous_pattern_19":{"captures":{"1":{"name":"punctuation.whitespace.support.function.leading.cocoa.objc"},"2":{"name":"support.function.cocoa.objc"}},"match":"(\\\\s*)\\\\b(NS(R(ound((?:Down|Up)ToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set((?:Map|Hash)Table)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l((?:MemoryAvail|locateCollect)able))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n([XY])|d([XY]))|ouseInRect|a(p(Remove|Get|Member|Insert((?:If|Known)Absent)?)|ke(R(ect|ange)|Size|Point)|x(Range|[XY])))|B(itsPer((?:Sample|Pixel)FromDepth)|e(stDepth|ep|gin((?:Critical|Informational|)AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert((?:If|Known)Absent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped((?:Double|Float)ToHost)|Host((?:Double|Float)ToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare((?:Map|Hash)Tables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File((?:name|Contents)PboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d((?:Map|Hash)TableEnumeration)|umerate((?:Map|Hash)Table)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee((?:Map|Hash)Table)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\\\b"},"anonymous_pattern_2":{"begin":"((@)(implementation))\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*(?::\\\\s*([A-Za-z][0-9A-Za-z]*))?","captures":{"1":{"name":"storage.type.objc"},"2":{"name":"punctuation.definition.storage.type.objc"},"4":{"name":"entity.name.type.objc"},"5":{"name":"entity.other.inherited-class.objc"}},"contentName":"meta.scope.implementation.objc","end":"((@)end)\\\\b","name":"meta.implementation.objc","patterns":[{"include":"#implementation_innards"}]},"anonymous_pattern_20":{"match":"\\\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\\\b","name":"support.class.cocoa.leopard.objc"},"anonymous_pattern_21":{"match":"\\\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an((?:dom|ge)Specifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech((?:Recogn|Synthes)izer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con((?:|trolCon)nector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p((?:ound|arison)Predicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o([ns]eCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n((?:iqueIDSpecifi|doManag|archiv)er))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated((?:Toobar|UserInterface)Item)|ue(Transformer)?))|Keyed((?:Una|A)rchiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\\\b","name":"support.class.cocoa.objc"},"anonymous_pattern_22":{"match":"\\\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D((?:ocumentContent|TDNode)Kind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing((?:Compare|Drawing|EncodingConversion)Options)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView((?:SelectionHighlight|ColumnAutoresizing)Style)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\\\b","name":"support.type.cocoa.leopard.objc"},"anonymous_pattern_23":{"match":"\\\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans((?:i|ac)tion))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\\\b","name":"support.class.quartz.objc"},"anonymous_pattern_24":{"match":"\\\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\\\b","name":"support.type.quartz.objc"},"anonymous_pattern_25":{"match":"\\\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B((?:itmapImageFileTyp|orderTyp|uttonTyp|ezelStyl|ackingStoreTyp|rowserColumnResizingTyp)e)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar((?:Size|Display)Mode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL((?:Contex|PixelForma)tAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace((?:IconCreation|Launch)Options)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication((?:Terminate|Delegate|Print)Reply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\\\b","name":"support.type.cocoa.objc"},"anonymous_pattern_26":{"match":"\\\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\\\b","name":"support.constant.cocoa.objc"},"anonymous_pattern_27":{"match":"\\\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\\\b","name":"support.constant.notification.cocoa.leopard.objc"},"anonymous_pattern_28":{"match":"\\\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView((?:Did|Will)ResizeSubviews))|C(o(nt(extHelpModeDid((?:Dea|A)ctivate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor((?:PanelColor|List)DidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar((?:DidRemove|WillAdd)Item)|ext(Storage((?:Did|Will)ProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton((?:Cell|)WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F((?:ocus|rame)DidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid((?:Resign|Become)Active)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\\\b","name":"support.constant.notification.cocoa.objc"},"anonymous_pattern_29":{"match":"\\\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws((?:BeforeStart|AfterEnd)ingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech((?:Sentence|Immediate|Word)Boundary)|llingState((?:Grammar|Spelling)Flag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M((?:iscellaneous|alformedServiceDictionary)Error)|InvalidPasteboardDataError|ErrorM((?:in|ax)imum)|Application((?:NotFoun|LaunchFaile)dError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally((?:|UpOr)Down)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16((?:BigEndian||LittleEndian)StringEncoding)|32((?:BigEndian||LittleEndian)StringEncoding)))|P(ointerFunctions(Ma((?:chVirtual|lloc)Memory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP((?:ointerP|)ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM((?:in|ax)imum)|L((?:ink|oad)Error)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead((?:TooLarge|UnknownStringEncoding)Error))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\\\b","name":"support.constant.cocoa.leopard.objc"},"anonymous_pattern_3":{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"include":"#string_escaped_char"},{"match":"%(\\\\d+\\\\$)?[- #'+0]*((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?@","name":"constant.other.placeholder.objc"},{"include":"#string_placeholder"}]},"anonymous_pattern_30":{"match":"\\\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed((?:Bezel|Token|DisclosureBezel)Style)|Down|Up|Plain|Line((?:Cap|Join)Style))|un((?:Stopped|Continues|Aborted)Response)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver((?:sCantHandleCommand|Evaluation)ScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A((?:|gains)tAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use((?:Sing|Doub)leQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot((?:Start|Finish)edError)|Mi(splaced((?:XMLDeclaration|CDATAEndString)Error)|xedContentDeclNot((?:Start|Finish)edError))|S(t(andaloneValueError|ringNot((?:Start|Clos)edError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot((?:Start|Finish)edError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In((?:DTD|Prolog|Epilog)Error)|AtEOFError)|o(nditionalSectionNot((?:Start|Finish)edError)|mment((?:NotFinished|ContainsDoubleHyphen)Error))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter((?:Ref|InEntity|)Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding((?:Name|)Error)))|OutOfMemoryError|D((?:ocumentStart|elegateAbortedParse|OCTYPEDeclNotFinished)Error)|U(RI((?:Required|Fragment)Error)|n((?:declaredEntity|parsedEntity|knownEncoding|finishedTag)Error))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal((?:Subset|)Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot((?:Start|Finish)edError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In((?:DTD|Prolog|Epilog)Error)|erence((?:MissingSemi|WithoutName)Error)|LoopError|AtEOFError)|BoundaryError|Not((?:Start|Finish)edError)|Is((?:Parameter|External)Error)|ValueRequiredError))|qualExpectedError|lementContentDeclNot((?:Start|Finish)edError)|xt(ernalS((?:tandaloneEntity|ubsetNotFinished)Error)|raContentError)|mptyDocumentError)|L(iteralNot((?:Start|Finish)edError)|T((?:|Slash)RequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not((?:Start|Finish)edError)|ListNot((?:Start|Finish)edError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar((?:sed|ameter)Kind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E((?:lement|mpty)Kind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(s?Kind)|otationKind)|CDATAKind|ID(Ref(s?Kind)|Kind)|DeclarationKind|En(tit((?:y|ies)Kind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push((?:|In)Button)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x([XY]Edge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore((?:Retain|Buffer|Nonretain)ed)|TabCharacter|wardsSearch|groundTab)|r(owser((?:No|User|Auto)ColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow((?:Control|Invisible)Glyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M((?:in|ax)End)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has((?:Bytes|Space)Available)|None|OpenCompleted|E((?:ndEncounte|rrorOccur)red)))))|i(ngle(DateMode|UnderlineStyle)|ze((?:Down|Up)FontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity((?:Down|Up)stream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute((?:Second|)DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa((?:yDa|)tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs((?:Bezel|No|Line)Border))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S((?:cientific|pellOut)Style)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before((?:Suf|Pre)fix)|After((?:Suf|Pre)fix))))))|e(t(Services(BadArgumentError|NotFoundError|C((?:ollision|ancelled)Error)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C((?:MYK|olorList|ustomPalette|rayon)ModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick((?:|er)SquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX([34])|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM((?:in|ax)imum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table((?:Fixed|Automatic)LayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid((?:Horizont|Vertic)alGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert((?:Char||Line)FunctionKey)|t(Type|ernalS((?:cript|pecifier)Error))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin([12]StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS((?:cript|pecifier)Error))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr((?:ing|uct)Type)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long((?:|long)Type)|ArrayType))|D(i(s(c((?:losureBezel|reteCapacityLevelIndicator)Style)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument((?:|ation)Directory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper((?:|Application)Directory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos((?:ing|ed)State)|Open((?:ing|)State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS((?:cript|pecifier)Error))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG((?:2000|)FileType)|apaneseEUC((?:GlyphPack|StringEncod)ing))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve((?:Int|Double|Float)Type)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge((?:Down|Up)FunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred((?:Small||Large|Aqua)Thickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in([XY]Margin)|ax([XY]Margin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM((?:in|ax)imum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping((?:BackAndForth|)Playback))|F(1((?:[1-4789]|5?|[06])FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No((?:SuchFile|Permission)Error)|CorruptFileError|In((?:validFileName|applicableStringEncoding)Error)|Un((?:supportedScheme|known)Error))|HandlingPanel((?:Cancel|OK)Button)|NoSuchFileError|ErrorM((?:in|ax)imum)|Write(NoPermissionError|In((?:validFileName|applicableStringEncoding)Error)|OutOfSpaceError|Un((?:supportedScheme|known)Error))|LockingError)|xedPitchFontMask)|2((?:[1-4789]|5?|[06])FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S((?:ymbolic|cripts|labSerifs|ansSerif)Class)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O((?:ldStyleSerif|rnamental)sClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t((?:andardModes|rikethroughEffectMode)Mask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All((?:Modes|EffectsMode)Mask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased((?:|IntegerAdvancements)RenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M((?:in|ax)imum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3((?:[1-4]|5?|0)FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125([0-4]StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day((?:|Ordinal)CalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C((?:harWra|li)pping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan([12]CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto((?:saveOper|Pagin)ation)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert((?:SecondButton|ThirdButton|Other|Default|Error|FirstButton|Alternate)Return)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument((?:sWrong|Evaluation)ScriptError)|bove(Bottom|Top)|WTEventType))\\\\b","name":"support.constant.cocoa.objc"},"anonymous_pattern_4":{"begin":"\\\\b(id)\\\\s*(?=<)","beginCaptures":{"1":{"name":"storage.type.objc"}},"end":"(?<=>)","name":"meta.id-with-protocol.objc","patterns":[{"include":"#protocol_list"}]},"anonymous_pattern_5":{"match":"\\\\b(NS_(?:DURING|HANDLER|ENDHANDLER))\\\\b","name":"keyword.control.macro.objc"},"anonymous_pattern_7":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.objc"},"anonymous_pattern_8":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(synchronized)\\\\b","name":"keyword.control.synchronize.objc"},"anonymous_pattern_9":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(required|optional)\\\\b","name":"keyword.control.protocol-specification.objc"},"apple_foundation_functional_macros":{"begin":"\\\\b(API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.preprocessor.apple-foundation.objc"},"2":{"name":"punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objc"}},"name":"meta.preprocessor.macro.callable.apple-foundation.objc","patterns":[{"include":"#c_lang"}]},"bracketed_content":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.objc"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.scope.end.objc"}},"name":"meta.bracketed.objc","patterns":[{"begin":"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)","beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}},"end":"(?=])","name":"meta.function-call.predicate.objc","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\\\bargument(Array|s)(:)","name":"support.function.any-method.name-of-parameter.objc"},{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\\\b\\\\w+(:)","name":"invalid.illegal.unknown-method.objc"},{"begin":"@\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.objc"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.double.objc","patterns":[{"match":"\\\\b(AND|OR|NOT|IN)\\\\b","name":"keyword.operator.logical.predicate.cocoa.objc"},{"match":"\\\\b(ALL|ANY|SOME|NONE)\\\\b","name":"constant.language.predicate.cocoa.objc"},{"match":"\\\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\\\b","name":"constant.language.predicate.cocoa.objc"},{"match":"\\\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\\\b","name":"keyword.operator.comparison.predicate.cocoa.objc"},{"match":"\\\\bC(ASEINSENSITIVE|I)\\\\b","name":"keyword.other.modifier.predicate.cocoa.objc"},{"match":"\\\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\\\b","name":"keyword.other.predicate.cocoa.objc"},{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnrtv]|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x[0-9A-Za-z]+)","name":"constant.character.escape.objc"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.objc"}]},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}]},{"begin":"(?=\\\\w)(?<=[]\\")\\\\w] )(\\\\w+(?:(:)|(?=])))","beginCaptures":{"1":{"name":"support.function.any-method.objc"},"2":{"name":"punctuation.separator.arguments.objc"}},"end":"(?=])","name":"meta.function-call.objc","patterns":[{"captures":{"1":{"name":"punctuation.separator.arguments.objc"}},"match":"\\\\b\\\\w+(:)","name":"support.function.any-method.name-of-parameter.objc"},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$base"}]},{"include":"#special_variables"},{"include":"#c_functions"},{"include":"$self"}]},"c_functions":{"patterns":[{"captures":{"1":{"name":"punctuation.whitespace.support.function.leading.objc"},"2":{"name":"support.function.C99.objc"}},"match":"(\\\\s*)\\\\b(hypot([fl])?|s(scanf|ystem|nprintf|ca(nf|lb(n([fl])?|ln([fl])?))|i(n(h([fl])?|[fl])?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt([fl])?|w(scanf|printf)|rand)|n(e(arbyint([fl])?|xt(toward([fl])?|after([fl])?))|an([fl])?)|c(s(in(h([fl])?|[fl])?|qrt([fl])?)|cos(h(f)?|[fl])?|imag([fl])?|t(ime|an(h([fl])?|[fl])?)|o(s(h([fl])?|[fl])?|nj([fl])?|pysign([fl])?)|p(ow([fl])?|roj([fl])?)|e(il([fl])?|xp([fl])?)|l(o(ck|g([fl])?)|earerr)|a(sin(h([fl])?|[fl])?|cos(h([fl])?|[fl])?|tan(h([fl])?|[fl])?|lloc|rg([fl])?|bs([fl])?)|real([fl])?|brt([fl])?)|t(ime|o(upper|lower)|an(h([fl])?|[fl])?|runc([fl])?|gamma([fl])?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb([fl])?|max(div|abs))|di(v|fftime)|_Exit|unget(w??c)|p(ow([fl])?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c([fl])?|[fl])?|x(it|p(2([fl])?|[fl]|m1([fl])?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim([fl])?|p(classify|ut([cs]|w([cs]))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor([fl])?|abs([fl])?|get([cs]|pos|w([cs]))|re(open|e|ad|xp([fl])?)|m(in([fl])?|od([fl])?|a([fl]|x([fl])?)?))|l(d(iv|exp([fl])?)|o(ngjmp|cal(time|econv)|g(1(p([fl])?|0([fl])?)|2([fl])?|[fl]|b([fl])?)?)|abs|l(div|abs|r(int([fl])?|ound([fl])?))|r(int([fl])?|ound([fl])?)|gamma([fl])?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(m??b)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h([fl])?|[fl])?)|cos(h([fl])?|[fl])?|t(o([fi]|l(l)?)|exit|an(h([fl])?|2([fl])?|[fl])?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int([fl])?|ound([fl])?|e(name|alloc|wind|m(ove|quo([fl])?|ainder([fl])?))|a(nd|ise))|b(search|towc)|m(odf([fl])?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\\\b"},{"captures":{"1":{"name":"punctuation.whitespace.function-call.leading.objc"},"2":{"name":"support.function.any-method.objc"},"3":{"name":"punctuation.definition.parameters.objc"}},"match":"(?:(?=\\\\s)(?:(?<=else|new|return)|(?[$A-Z_a-z][$\\\\w]*))(?:(\\\\()(\\\\s*\\\\g\\\\s*((,)\\\\s*\\\\g\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?","beginCaptures":{"1":{"name":"keyword.control.directive.define.objc"},"2":{"name":"punctuation.definition.directive.objc"},"3":{"name":"entity.name.function.preprocessor.objc"},"5":{"name":"punctuation.definition.parameters.begin.objc"},"6":{"name":"variable.parameter.preprocessor.objc"},"8":{"name":"punctuation.separator.parameters.objc"},"9":{"name":"punctuation.definition.parameters.end.objc"}},"end":"(?=/[*/])|(?","endCaptures":{"0":{"name":"punctuation.definition.string.end.objc"}},"name":"string.quoted.other.lt-gt.include.objc"}]},{"include":"#pragma-mark"},{"begin":"^\\\\s*((#)\\\\s*line)\\\\b","beginCaptures":{"1":{"name":"keyword.control.directive.line.objc"},"2":{"name":"punctuation.definition.directive.objc"}},"end":"(?=/[*/])|(?))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\s*(?:\\\\.|->))*)\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\()","beginCaptures":{"1":{"name":"variable.object.objc"},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"},"4":{"patterns":[{"match":"\\\\.","name":"punctuation.separator.dot-access.objc"},{"match":"->","name":"punctuation.separator.pointer-access.objc"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.object.objc"},{"match":".+","name":"everything.else.objc"}]},"5":{"name":"entity.name.function.member.objc"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objc"}},"name":"meta.function-call.member.objc","patterns":[{"include":"#function-call-innards"}]},"block":{"patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objc"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objc"}},"name":"meta.block.objc","patterns":[{"include":"#block_innards"}]}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#c_function_call"},{"begin":"(?=\\\\s)(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.other.objc"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.objc"}},"name":"meta.initialization.objc","patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.objc"}},"end":"}|(?=\\\\s*#\\\\s*e(?:lif|lse|ndif)\\\\b)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.objc"}},"patterns":[{"include":"#block_innards"}]},{"include":"#parens-block"},{"include":"$base"}]},"c_function_call":{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\s*\\\\(|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)","name":"meta.function-call.objc","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"begin":"((?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objc"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.objc"}},"patterns":[{"include":"#function-call-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"patterns":[{"include":"#function-call-innards"}]},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"begin":"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\s*\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\&*+<=>]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objc"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.objc"}},"name":"meta.function.definition.parameters.objc","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"patterns":[{"include":"#function-innards"}]},{"include":"$base"}]},"line_continuation_character":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.line-continuation.objc"}},"match":"(\\\\\\\\)\\\\n"}]},"member_access":{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"variable.other.member.objc"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?-im:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*\\\\b((?!void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)[A-Z_a-z]\\\\w*\\\\b(?!\\\\())"},"method_access":{"begin":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))((?:[A-Z_a-z]\\\\w*\\\\s*(?-im:\\\\.\\\\*?|->\\\\*?)\\\\s*)*)\\\\s*([A-Z_a-z]\\\\w*)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"captures":{"1":{"patterns":[{"include":"#special_variables"},{"match":"(.+)","name":"variable.other.object.access.objc"}]},"2":{"name":"punctuation.separator.dot-access.objc"},"3":{"name":"punctuation.separator.pointer-access.objc"}},"match":"((?:[A-Z_a-z]\\\\w*|(?<=[])]))\\\\s*)(?:(\\\\.\\\\*?)|(->\\\\*?))"}]},"5":{"name":"entity.name.function.member.objc"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.objc"}},"contentName":"meta.function-call.member.objc","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.objc"}},"patterns":[{"include":"#function-call-innards"}]},"numbers":{"begin":"(?>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.objc"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.objc"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.objc"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.objc"},{"match":"[\\\\&^|~]","name":"keyword.operator.objc"},{"match":"=","name":"keyword.operator.assignment.objc"},{"match":"[-%*+/]","name":"keyword.operator.objc"},{"begin":"(\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.objc"}},"end":"(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.objc"}},"patterns":[{"include":"#function-call-innards"},{"include":"$base"}]}]},"parens":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"name":"meta.parens.objc","patterns":[{"include":"$base"}]},"parens-block":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.objc"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.objc"}},"name":"meta.parens.block.objc","patterns":[{"include":"#block_innards"},{"match":"(?-im:(?]+|\\\\(\\\\)|\\\\[])\\\\s*\\\\()","end":"(?<=\\\\))(?!\\\\w)|(?]+|\\\\(\\\\)|\\\\[]))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.objc"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objc"}},"end":"(\\\\))|(?])\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(?=(?:\\\\[]\\\\s*)?[),])"},"static_assert":{"begin":"((?:s|_S)tatic_assert)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.static_assert.objc"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.objc"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.objc"}},"patterns":[{"begin":"(,)\\\\s*(?=(?:L|u8?|U\\\\s*\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.objc"}},"end":"(?=\\\\))","name":"meta.static_assert.message.objc","patterns":[{"include":"#string_context"},{"include":"#string_context_c"}]},{"include":"#function_call_context"}]},"storage_types":{"patterns":[{"match":"(?-im:(?\\\\[])","name":"meta.block.switch.objc","patterns":[{"begin":"\\\\G ?","end":"(\\\\{|(?=;))","endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.objc"}},"name":"meta.head.switch.objc","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$base"}]},{"begin":"(?<=\\\\{)","end":"(})","endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.objc"}},"name":"meta.body.switch.objc","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$base"},{"include":"#block_innards"}]},{"begin":"(?<=})[\\\\n\\\\s]*","end":"[\\\\n\\\\s]*(?=;)","name":"meta.tail.switch.objc","patterns":[{"include":"$base"}]}]},"vararg_ellipses":{"match":"(?\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.objc"}]}]}]},"disabled":{"begin":"^\\\\s*#\\\\s*if(n?def)?\\\\b.*$","end":"^\\\\s*#\\\\s*endif\\\\b.*$","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"implementation_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-implementation"},{"include":"#preprocessor-rule-disabled-implementation"},{"include":"#preprocessor-rule-other-implementation"},{"include":"#property_directive"},{"include":"#method_super"},{"include":"$base"}]},"interface_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-interface"},{"include":"#preprocessor-rule-disabled-interface"},{"include":"#preprocessor-rule-other-interface"},{"include":"#properties"},{"include":"#protocol_list"},{"include":"#method"},{"include":"$base"}]},"method":{"begin":"^([-+])\\\\s*","end":"(?=[#{])|;","name":"meta.function.objc","patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.type.begin.objc"}},"end":"(\\\\))\\\\s*(\\\\w+)\\\\b","endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"entity.name.function.objc"}},"name":"meta.return-type.objc","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}]},{"match":"\\\\b\\\\w+(?=:)","name":"entity.name.function.name-of-parameter.objc"},{"begin":"((:))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.name-of-parameter.objc"},"2":{"name":"punctuation.separator.arguments.objc"},"3":{"name":"punctuation.definition.type.begin.objc"}},"end":"(\\\\))\\\\s*(\\\\w+\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.type.end.objc"},"2":{"name":"variable.parameter.function.objc"}},"name":"meta.argument-type.objc","patterns":[{"include":"#protocol_list"},{"include":"#protocol_type_qualifier"},{"include":"$base"}]},{"include":"#comment"}]},"method_super":{"begin":"^(?=[-+])","end":"(?<=})|(?=#)","name":"meta.function-with-body.objc","patterns":[{"include":"#method"},{"include":"$base"}]},"pragma-mark":{"captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.pragma.objc"},"3":{"name":"meta.toc-list.pragma-mark.objc"}},"match":"^\\\\s*(#\\\\s*(pragma\\\\s+mark)\\\\s+(.*))","name":"meta.section.objc"},"preprocessor-rule-disabled-implementation":{"begin":"^\\\\s*(#(if)\\\\s+(0))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\\\s*(#\\\\s*(endif)\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"end":"(?=^\\\\s*#\\\\s*endif\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#interface_innards"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*?(?:(?=/[*/])|$))","name":"comment.block.preprocessor.if-branch.objc","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-disabled-interface":{"begin":"^\\\\s*(#(if)\\\\s+(0))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\\\s*(#\\\\s*(endif)\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"end":"(?=^\\\\s*#\\\\s*endif\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#interface_innards"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*?(?:(?=/[*/])|$))","name":"comment.block.preprocessor.if-branch.objc","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}]},"preprocessor-rule-enabled-implementation":{"begin":"^\\\\s*(#(if)\\\\s+(0*1))\\\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\\\s*(#\\\\s*(endif)\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"contentName":"comment.block.preprocessor.else-branch.objc","end":"(?=^\\\\s*#\\\\s*endif\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#implementation_innards"}]}]},"preprocessor-rule-enabled-interface":{"begin":"^\\\\s*(#(if)\\\\s+(0*1))\\\\b","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.if.objc"},"3":{"name":"constant.numeric.preprocessor.objc"}},"end":"^\\\\s*(#\\\\s*(endif)\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"begin":"^\\\\s*(#\\\\s*(else))\\\\b.*","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.else.objc"}},"contentName":"comment.block.preprocessor.else-branch.objc","end":"(?=^\\\\s*#\\\\s*endif\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},{"begin":"","end":"(?=^\\\\s*#\\\\s*(e(?:lse|ndif))\\\\b.*?(?:(?=/[*/])|$))","patterns":[{"include":"#interface_innards"}]}]},"preprocessor-rule-other-implementation":{"begin":"^\\\\s*(#\\\\s*(if(n?def)?)\\\\b.*?(?:(?=/[*/])|$))","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.objc"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b.*?(?:(?=/[*/])|$)","patterns":[{"include":"#implementation_innards"}]},"preprocessor-rule-other-interface":{"begin":"^\\\\s*(#\\\\s*(if(n?def)?)\\\\b.*?(?:(?=/[*/])|$))","captures":{"1":{"name":"meta.preprocessor.objc"},"2":{"name":"keyword.control.import.objc"}},"end":"^\\\\s*(#\\\\s*(endif))\\\\b.*?(?:(?=/[*/])|$)","patterns":[{"include":"#interface_innards"}]},"properties":{"patterns":[{"begin":"((@)property)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"},"3":{"name":"punctuation.section.scope.begin.objc"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}},"name":"meta.property-with-attributes.objc","patterns":[{"match":"\\\\b(getter|setter|readonly|readwrite|assign|retain|copy|nonatomic|atomic|strong|weak|nonnull|nullable|null_resettable|null_unspecified|class|direct)\\\\b","name":"keyword.other.property.attribute.objc"}]},{"captures":{"1":{"name":"keyword.other.property.objc"},"2":{"name":"punctuation.definition.keyword.objc"}},"match":"((@)property)\\\\b","name":"meta.property.objc"}]},"property_directive":{"captures":{"1":{"name":"punctuation.definition.keyword.objc"}},"match":"(@)(dynamic|synthesize)\\\\b","name":"keyword.other.property.directive.objc"},"protocol_list":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.section.scope.begin.objc"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.section.scope.end.objc"}},"name":"meta.protocol-list.objc","patterns":[{"match":"\\\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated((?:Toobar|UserInterface)Item)|Locking)\\\\b","name":"support.other.protocol.objc"}]},"protocol_type_qualifier":{"match":"\\\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\\\b","name":"storage.modifier.protocol.objc"},"special_variables":{"patterns":[{"match":"\\\\b_cmd\\\\b","name":"variable.other.selector.objc"},{"match":"\\\\b(s(?:elf|uper))\\\\b","name":"variable.language.objc"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3]\\\\d{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape.objc"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape.objc"}]},"string_placeholder":{"patterns":[{"match":"%(\\\\d+\\\\$)?[- #'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder.objc"},{"captures":{"1":{"name":"invalid.illegal.placeholder.objc"}},"match":"(%)(?!\\"\\\\s*(PRI|SCN))"}]}},"scopeName":"source.objc","aliases":["objc"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-DXmwc3jG.js.map diff --git a/src/webview-ui/build/assets/chunk-DXmwc3jG.js.map b/src/webview-ui/build/assets/chunk-DXmwc3jG.js.map new file mode 100644 index 0000000000..44d69d1d29 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXmwc3jG.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DXmwc3jG.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/objective-c.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Objective-C\\\",\\\"name\\\":\\\"objective-c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#anonymous_pattern_1\\\"},{\\\"include\\\":\\\"#anonymous_pattern_2\\\"},{\\\"include\\\":\\\"#anonymous_pattern_3\\\"},{\\\"include\\\":\\\"#anonymous_pattern_4\\\"},{\\\"include\\\":\\\"#anonymous_pattern_5\\\"},{\\\"include\\\":\\\"#apple_foundation_functional_macros\\\"},{\\\"include\\\":\\\"#anonymous_pattern_7\\\"},{\\\"include\\\":\\\"#anonymous_pattern_8\\\"},{\\\"include\\\":\\\"#anonymous_pattern_9\\\"},{\\\"include\\\":\\\"#anonymous_pattern_10\\\"},{\\\"include\\\":\\\"#anonymous_pattern_11\\\"},{\\\"include\\\":\\\"#anonymous_pattern_12\\\"},{\\\"include\\\":\\\"#anonymous_pattern_13\\\"},{\\\"include\\\":\\\"#anonymous_pattern_14\\\"},{\\\"include\\\":\\\"#anonymous_pattern_15\\\"},{\\\"include\\\":\\\"#anonymous_pattern_16\\\"},{\\\"include\\\":\\\"#anonymous_pattern_17\\\"},{\\\"include\\\":\\\"#anonymous_pattern_18\\\"},{\\\"include\\\":\\\"#anonymous_pattern_19\\\"},{\\\"include\\\":\\\"#anonymous_pattern_20\\\"},{\\\"include\\\":\\\"#anonymous_pattern_21\\\"},{\\\"include\\\":\\\"#anonymous_pattern_22\\\"},{\\\"include\\\":\\\"#anonymous_pattern_23\\\"},{\\\"include\\\":\\\"#anonymous_pattern_24\\\"},{\\\"include\\\":\\\"#anonymous_pattern_25\\\"},{\\\"include\\\":\\\"#anonymous_pattern_26\\\"},{\\\"include\\\":\\\"#anonymous_pattern_27\\\"},{\\\"include\\\":\\\"#anonymous_pattern_28\\\"},{\\\"include\\\":\\\"#anonymous_pattern_29\\\"},{\\\"include\\\":\\\"#anonymous_pattern_30\\\"},{\\\"include\\\":\\\"#bracketed_content\\\"},{\\\"include\\\":\\\"#c_lang\\\"}],\\\"repository\\\":{\\\"anonymous_pattern_1\\\":{\\\"begin\\\":\\\"((@)(interface|protocol))(?!.+;)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*((:)\\\\\\\\s*([A-Za-z][0-9A-Za-z]*))?([\\\\\\\\n\\\\\\\\s])?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.objc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.entity.other.inherited-class.objc\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.other.inherited-class.objc\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.divider.objc\\\"},\\\"9\\\":{\\\"name\\\":\\\"meta.inherited-class.objc\\\"}},\\\"contentName\\\":\\\"meta.scope.interface.objc\\\",\\\"end\\\":\\\"((@)end)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.interface-or-protocol.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_innards\\\"}]},\\\"anonymous_pattern_10\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"}},\\\"match\\\":\\\"(@)(defs|encode)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.objc\\\"},\\\"anonymous_pattern_11\\\":{\\\"match\\\":\\\"\\\\\\\\bid\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.id.objc\\\"},\\\"anonymous_pattern_12\\\":{\\\"match\\\":\\\"\\\\\\\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.objc\\\"},\\\"anonymous_pattern_13\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objc\\\"}},\\\"match\\\":\\\"(@)(class|protocol)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.objc\\\"},\\\"anonymous_pattern_14\\\":{\\\"begin\\\":\\\"((@)selector)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objc\\\"}},\\\"contentName\\\":\\\"meta.selector.method-name.objc\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objc\\\"}},\\\"name\\\":\\\"meta.selector.objc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:[:A-Z_a-z]\\\\\\\\w*)+\\\",\\\"name\\\":\\\"support.function.any-method.name-of-parameter.objc\\\"}]},\\\"anonymous_pattern_15\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage.modifier.objc\\\"}},\\\"match\\\":\\\"(@)(synchronized|public|package|private|protected)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.objc\\\"},\\\"anonymous_pattern_16\\\":{\\\"match\\\":\\\"\\\\\\\\b(YES|NO|Nil|nil)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.objc\\\"},\\\"anonymous_pattern_17\\\":{\\\"match\\\":\\\"\\\\\\\\bNSApp\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.foundation.objc\\\"},\\\"anonymous_pattern_18\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.support.function.cocoa.leopard.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.cocoa.leopard.objc\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)\\\\\\\\b(NS(Rect((?:To|From)CGRect)|MakeCollectable|S(tringFromProtocol|ize((?:To|From)CGSize))|Draw((?:Nin|Thre)ePartImage)|P(oint((?:To|From)CGPoint)|rotocolFromString)|EventMaskFromType|Value))\\\\\\\\b\\\"},\\\"anonymous_pattern_19\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.support.function.leading.cocoa.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.cocoa.objc\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)\\\\\\\\b(NS(R(ound((?:Down|Up)ToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set((?:Map|Hash)Table)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l((?:MemoryAvail|locateCollect)able))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n([XY])|d([XY]))|ouseInRect|a(p(Remove|Get|Member|Insert((?:If|Known)Absent)?)|ke(R(ect|ange)|Size|Point)|x(Range|[XY])))|B(itsPer((?:Sample|Pixel)FromDepth)|e(stDepth|ep|gin((?:Critical|Informational|)AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long((?:|Long)ToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert((?:If|Known)Absent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped((?:Double|Float)ToHost)|Host((?:Double|Float)ToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare((?:Map|Hash)Tables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File((?:name|Contents)PboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d((?:Map|Hash)TableEnumeration)|umerate((?:Map|Hash)Table)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee((?:Map|Hash)Table)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\\\\\\\b\\\"},\\\"anonymous_pattern_2\\\":{\\\"begin\\\":\\\"((@)(implementation))\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(?::\\\\\\\\s*([A-Za-z][0-9A-Za-z]*))?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.storage.type.objc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.objc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.inherited-class.objc\\\"}},\\\"contentName\\\":\\\"meta.scope.implementation.objc\\\",\\\"end\\\":\\\"((@)end)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.implementation.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implementation_innards\\\"}]},\\\"anonymous_pattern_20\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.cocoa.leopard.objc\\\"},\\\"anonymous_pattern_21\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an((?:dom|ge)Specifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech((?:Recogn|Synthes)izer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con((?:|trolCon)nector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p((?:ound|arison)Predicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o([ns]eCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n((?:iqueIDSpecifi|doManag|archiv)er))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated((?:Toobar|UserInterface)Item)|ue(Transformer)?))|Keyed((?:Una|A)rchiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.cocoa.objc\\\"},\\\"anonymous_pattern_22\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D((?:ocumentContent|TDNode)Kind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing((?:Compare|Drawing|EncodingConversion)Options)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView((?:SelectionHighlight|ColumnAutoresizing)Style)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.cocoa.leopard.objc\\\"},\\\"anonymous_pattern_23\\\":{\\\"match\\\":\\\"\\\\\\\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans((?:i|ac)tion))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.quartz.objc\\\"},\\\"anonymous_pattern_24\\\":{\\\"match\\\":\\\"\\\\\\\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.quartz.objc\\\"},\\\"anonymous_pattern_25\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B((?:itmapImageFileTyp|orderTyp|uttonTyp|ezelStyl|ackingStoreTyp|rowserColumnResizingTyp)e)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar((?:Size|Display)Mode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL((?:Contex|PixelForma)tAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace((?:IconCreation|Launch)Options)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication((?:Terminate|Delegate|Print)Reply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.cocoa.objc\\\"},\\\"anonymous_pattern_26\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.cocoa.objc\\\"},\\\"anonymous_pattern_27\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.notification.cocoa.leopard.objc\\\"},\\\"anonymous_pattern_28\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView((?:Did|Will)ResizeSubviews))|C(o(nt(extHelpModeDid((?:Dea|A)ctivate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor((?:PanelColor|List)DidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar((?:DidRemove|WillAdd)Item)|ext(Storage((?:Did|Will)ProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton((?:Cell|)WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F((?:ocus|rame)DidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid((?:Resign|Become)Active)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.notification.cocoa.objc\\\"},\\\"anonymous_pattern_29\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws((?:BeforeStart|AfterEnd)ingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech((?:Sentence|Immediate|Word)Boundary)|llingState((?:Grammar|Spelling)Flag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M((?:iscellaneous|alformedServiceDictionary)Error)|InvalidPasteboardDataError|ErrorM((?:in|ax)imum)|Application((?:NotFoun|LaunchFaile)dError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally((?:|UpOr)Down)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16((?:BigEndian||LittleEndian)StringEncoding)|32((?:BigEndian||LittleEndian)StringEncoding)))|P(ointerFunctions(Ma((?:chVirtual|lloc)Memory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP((?:ointerP|)ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM((?:in|ax)imum)|L((?:ink|oad)Error)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead((?:TooLarge|UnknownStringEncoding)Error))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.cocoa.leopard.objc\\\"},\\\"anonymous_pattern_3\\\":{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.objc\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objc\\\"}},\\\"name\\\":\\\"string.quoted.double.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?@\\\",\\\"name\\\":\\\"constant.other.placeholder.objc\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"}]},\\\"anonymous_pattern_30\\\":{\\\"match\\\":\\\"\\\\\\\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed((?:Bezel|Token|DisclosureBezel)Style)|Down|Up|Plain|Line((?:Cap|Join)Style))|un((?:Stopped|Continues|Aborted)Response)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver((?:sCantHandleCommand|Evaluation)ScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A((?:|gains)tAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use((?:Sing|Doub)leQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot((?:Start|Finish)edError)|Mi(splaced((?:XMLDeclaration|CDATAEndString)Error)|xedContentDeclNot((?:Start|Finish)edError))|S(t(andaloneValueError|ringNot((?:Start|Clos)edError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot((?:Start|Finish)edError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In((?:DTD|Prolog|Epilog)Error)|AtEOFError)|o(nditionalSectionNot((?:Start|Finish)edError)|mment((?:NotFinished|ContainsDoubleHyphen)Error))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter((?:Ref|InEntity|)Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding((?:Name|)Error)))|OutOfMemoryError|D((?:ocumentStart|elegateAbortedParse|OCTYPEDeclNotFinished)Error)|U(RI((?:Required|Fragment)Error)|n((?:declaredEntity|parsedEntity|knownEncoding|finishedTag)Error))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal((?:Subset|)Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot((?:Start|Finish)edError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In((?:DTD|Prolog|Epilog)Error)|erence((?:MissingSemi|WithoutName)Error)|LoopError|AtEOFError)|BoundaryError|Not((?:Start|Finish)edError)|Is((?:Parameter|External)Error)|ValueRequiredError))|qualExpectedError|lementContentDeclNot((?:Start|Finish)edError)|xt(ernalS((?:tandaloneEntity|ubsetNotFinished)Error)|raContentError)|mptyDocumentError)|L(iteralNot((?:Start|Finish)edError)|T((?:|Slash)RequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not((?:Start|Finish)edError)|ListNot((?:Start|Finish)edError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar((?:sed|ameter)Kind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E((?:lement|mpty)Kind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(s?Kind)|otationKind)|CDATAKind|ID(Ref(s?Kind)|Kind)|DeclarationKind|En(tit((?:y|ies)Kind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push((?:|In)Button)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x([XY]Edge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore((?:Retain|Buffer|Nonretain)ed)|TabCharacter|wardsSearch|groundTab)|r(owser((?:No|User|Auto)ColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow((?:Control|Invisible)Glyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M((?:in|ax)End)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has((?:Bytes|Space)Available)|None|OpenCompleted|E((?:ndEncounte|rrorOccur)red)))))|i(ngle(DateMode|UnderlineStyle)|ze((?:Down|Up)FontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity((?:Down|Up)stream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute((?:Second|)DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa((?:yDa|)tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs((?:Bezel|No|Line)Border))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S((?:cientific|pellOut)Style)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before((?:Suf|Pre)fix)|After((?:Suf|Pre)fix))))))|e(t(Services(BadArgumentError|NotFoundError|C((?:ollision|ancelled)Error)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C((?:MYK|olorList|ustomPalette|rayon)ModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick((?:|er)SquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX([34])|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM((?:in|ax)imum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table((?:Fixed|Automatic)LayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid((?:Horizont|Vertic)alGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert((?:Char||Line)FunctionKey)|t(Type|ernalS((?:cript|pecifier)Error))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin([12]StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS((?:cript|pecifier)Error))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr((?:ing|uct)Type)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long((?:|long)Type)|ArrayType))|D(i(s(c((?:losureBezel|reteCapacityLevelIndicator)Style)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument((?:|ation)Directory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper((?:|Application)Directory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos((?:ing|ed)State)|Open((?:ing|)State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS((?:cript|pecifier)Error))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG((?:2000|)FileType)|apaneseEUC((?:GlyphPack|StringEncod)ing))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve((?:Int|Double|Float)Type)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge((?:Down|Up)FunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred((?:Small||Large|Aqua)Thickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in([XY]Margin)|ax([XY]Margin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM((?:in|ax)imum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping((?:BackAndForth|)Playback))|F(1((?:[1-4789]|5?|[06])FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No((?:SuchFile|Permission)Error)|CorruptFileError|In((?:validFileName|applicableStringEncoding)Error)|Un((?:supportedScheme|known)Error))|HandlingPanel((?:Cancel|OK)Button)|NoSuchFileError|ErrorM((?:in|ax)imum)|Write(NoPermissionError|In((?:validFileName|applicableStringEncoding)Error)|OutOfSpaceError|Un((?:supportedScheme|known)Error))|LockingError)|xedPitchFontMask)|2((?:[1-4789]|5?|[06])FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S((?:ymbolic|cripts|labSerifs|ansSerif)Class)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O((?:ldStyleSerif|rnamental)sClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t((?:andardModes|rikethroughEffectMode)Mask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All((?:Modes|EffectsMode)Mask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased((?:|IntegerAdvancements)RenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M((?:in|ax)imum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3((?:[1-4]|5?|0)FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125([0-4]StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day((?:|Ordinal)CalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C((?:harWra|li)pping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext((?:Move|Align)ment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan([12]CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto((?:saveOper|Pagin)ation)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert((?:SecondButton|ThirdButton|Other|Default|Error|FirstButton|Alternate)Return)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument((?:sWrong|Evaluation)ScriptError)|bove(Bottom|Top)|WTEventType))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.cocoa.objc\\\"},\\\"anonymous_pattern_4\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\s*(?=<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.objc\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"name\\\":\\\"meta.id-with-protocol.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#protocol_list\\\"}]},\\\"anonymous_pattern_5\\\":{\\\"match\\\":\\\"\\\\\\\\b(NS_(?:DURING|HANDLER|ENDHANDLER))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.macro.objc\\\"},\\\"anonymous_pattern_7\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"}},\\\"match\\\":\\\"(@)(try|catch|finally|throw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.objc\\\"},\\\"anonymous_pattern_8\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"}},\\\"match\\\":\\\"(@)(synchronized)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.synchronize.objc\\\"},\\\"anonymous_pattern_9\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"}},\\\"match\\\":\\\"(@)(required|optional)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.protocol-specification.objc\\\"},\\\"apple_foundation_functional_macros\\\":{\\\"begin\\\":\\\"\\\\\\\\b(API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME)\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.apple-foundation.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objc\\\"}},\\\"name\\\":\\\"meta.preprocessor.macro.callable.apple-foundation.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#c_lang\\\"}]},\\\"bracketed_content\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.objc\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.objc\\\"}},\\\"name\\\":\\\"meta.bracketed.objc\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"}},\\\"end\\\":\\\"(?=])\\\",\\\"name\\\":\\\"meta.function-call.predicate.objc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"}},\\\"match\\\":\\\"\\\\\\\\bargument(Array|s)(:)\\\",\\\"name\\\":\\\"support.function.any-method.name-of-parameter.objc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+(:)\\\",\\\"name\\\":\\\"invalid.illegal.unknown-method.objc\\\"},{\\\"begin\\\":\\\"@\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.objc\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objc\\\"}},\\\"name\\\":\\\"string.quoted.double.objc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(AND|OR|NOT|IN)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.predicate.cocoa.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ALL|ANY|SOME|NONE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.predicate.cocoa.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.predicate.cocoa.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.comparison.predicate.cocoa.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\bC(ASEINSENSITIVE|I)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.modifier.predicate.cocoa.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.predicate.cocoa.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnrtv]|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x[0-9A-Za-z]+)\\\",\\\"name\\\":\\\"constant.character.escape.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.objc\\\"}]},{\\\"include\\\":\\\"#special_variables\\\"},{\\\"include\\\":\\\"#c_functions\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\w)(?<=[]\\\\\\\")\\\\\\\\w] )(\\\\\\\\w+(?:(:)|(?=])))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"}},\\\"end\\\":\\\"(?=])\\\",\\\"name\\\":\\\"meta.function-call.objc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"}},\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+(:)\\\",\\\"name\\\":\\\"support.function.any-method.name-of-parameter.objc\\\"},{\\\"include\\\":\\\"#special_variables\\\"},{\\\"include\\\":\\\"#c_functions\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"#special_variables\\\"},{\\\"include\\\":\\\"#c_functions\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"c_functions\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.support.function.leading.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.C99.objc\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)\\\\\\\\b(hypot([fl])?|s(scanf|ystem|nprintf|ca(nf|lb(n([fl])?|ln([fl])?))|i(n(h([fl])?|[fl])?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt([fl])?|w(scanf|printf)|rand)|n(e(arbyint([fl])?|xt(toward([fl])?|after([fl])?))|an([fl])?)|c(s(in(h([fl])?|[fl])?|qrt([fl])?)|cos(h(f)?|[fl])?|imag([fl])?|t(ime|an(h([fl])?|[fl])?)|o(s(h([fl])?|[fl])?|nj([fl])?|pysign([fl])?)|p(ow([fl])?|roj([fl])?)|e(il([fl])?|xp([fl])?)|l(o(ck|g([fl])?)|earerr)|a(sin(h([fl])?|[fl])?|cos(h([fl])?|[fl])?|tan(h([fl])?|[fl])?|lloc|rg([fl])?|bs([fl])?)|real([fl])?|brt([fl])?)|t(ime|o(upper|lower)|an(h([fl])?|[fl])?|runc([fl])?|gamma([fl])?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb([fl])?|max(div|abs))|di(v|fftime)|_Exit|unget(w??c)|p(ow([fl])?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c([fl])?|[fl])?|x(it|p(2([fl])?|[fl]|m1([fl])?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim([fl])?|p(classify|ut([cs]|w([cs]))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor([fl])?|abs([fl])?|get([cs]|pos|w([cs]))|re(open|e|ad|xp([fl])?)|m(in([fl])?|od([fl])?|a([fl]|x([fl])?)?))|l(d(iv|exp([fl])?)|o(ngjmp|cal(time|econv)|g(1(p([fl])?|0([fl])?)|2([fl])?|[fl]|b([fl])?)?)|abs|l(div|abs|r(int([fl])?|ound([fl])?))|r(int([fl])?|ound([fl])?)|gamma([fl])?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|[fk]|l([dl])?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(m??b)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h([fl])?|[fl])?)|cos(h([fl])?|[fl])?|t(o([fi]|l(l)?)|exit|an(h([fl])?|2([fl])?|[fl])?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int([fl])?|ound([fl])?|e(name|alloc|wind|m(ove|quo([fl])?|ainder([fl])?))|a(nd|ise))|b(search|towc)|m(odf([fl])?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.function-call.leading.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.any-method.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.objc\\\"}},\\\"match\\\":\\\"(?:(?=\\\\\\\\s)(?:(?<=else|new|return)|(?[$A-Z_a-z][$\\\\\\\\w]*))(?:(\\\\\\\\()(\\\\\\\\s*\\\\\\\\g\\\\\\\\s*((,)\\\\\\\\s*\\\\\\\\g\\\\\\\\s*)*(?:\\\\\\\\.\\\\\\\\.\\\\\\\\.)?)(\\\\\\\\)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.objc\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.objc\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.objc\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.objc\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.objc\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.objc\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.objc\\\"}]},{\\\"include\\\":\\\"#pragma-mark\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*line)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.line.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.objc\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(?:\\\\\\\\.|->))*)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.object.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objc\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.dot-access.objc\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"punctuation.separator.pointer-access.objc\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.object.objc\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"everything.else.objc\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.objc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.objc\\\"}},\\\"name\\\":\\\"meta.function-call.member.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objc\\\"}},\\\"name\\\":\\\"meta.block.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]}]},\\\"block_innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-conditional-block\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#c_function_call\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\s)(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.initialization.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.initialization.objc\\\"}},\\\"name\\\":\\\"meta.initialization.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.objc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.objc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"include\\\":\\\"#parens-block\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"c_function_call\\\":{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\\\\\s*\\\\\\\\(|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"meta.function-call.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"((?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.objc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"function-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.objc\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"include\\\":\\\"$base\\\"}]},\\\"line_continuation_character\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.line-continuation.objc\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\n\\\"}]},\\\"member_access\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objc\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objc\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objc\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objc\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.member.objc\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?-im:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*\\\\\\\\b((?!void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)[A-Z_a-z]\\\\\\\\w*\\\\\\\\b(?!\\\\\\\\())\\\"},\\\"method_access\\\":{\\\"begin\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?-im:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objc\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objc\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_variables\\\"},{\\\"match\\\":\\\"(.+)\\\",\\\"name\\\":\\\"variable.other.object.access.objc\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.objc\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.objc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.objc\\\"}},\\\"contentName\\\":\\\"meta.function-call.member.objc\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.objc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"numbers\\\":{\\\"begin\\\":\\\"(?>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.objc\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.objc\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.objc\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.objc\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.objc\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.objc\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.objc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.objc\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.objc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"},{\\\"include\\\":\\\"$base\\\"}]}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objc\\\"}},\\\"name\\\":\\\"meta.parens.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]},\\\"parens-block\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.objc\\\"}},\\\"name\\\":\\\"meta.parens.block.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"},{\\\"match\\\":\\\"(?-im:(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)|(?]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?])\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=(?:\\\\\\\\[]\\\\\\\\s*)?[),])\\\"},\\\"static_assert\\\":{\\\"begin\\\":\\\"((?:s|_S)tatic_assert)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.static_assert.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.objc\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.objc\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=(?:L|u8?|U\\\\\\\\s*\\\\\\\")?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.objc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.static_assert.message.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#string_context_c\\\"}]},{\\\"include\\\":\\\"#function_call_context\\\"}]},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?-im:(?\\\\\\\\[])\\\",\\\"name\\\":\\\"meta.block.switch.objc\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"end\\\":\\\"(\\\\\\\\{|(?=;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.objc\\\"}},\\\"name\\\":\\\"meta.head.switch.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.objc\\\"}},\\\"name\\\":\\\"meta.body.switch.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$base\\\"},{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"begin\\\":\\\"(?<=})[\\\\\\\\n\\\\\\\\s]*\\\",\\\"end\\\":\\\"[\\\\\\\\n\\\\\\\\s]*(?=;)\\\",\\\"name\\\":\\\"meta.tail.switch.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$base\\\"}]}]},\\\"vararg_ellipses\\\":{\\\"match\\\":\\\"(?\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.objc\\\"}]}]}]},\\\"disabled\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*if(n?def)?\\\\\\\\b.*$\\\",\\\"end\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},\\\"implementation_innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-implementation\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-implementation\\\"},{\\\"include\\\":\\\"#preprocessor-rule-other-implementation\\\"},{\\\"include\\\":\\\"#property_directive\\\"},{\\\"include\\\":\\\"#method_super\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"interface_innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-interface\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-interface\\\"},{\\\"include\\\":\\\"#preprocessor-rule-other-interface\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"include\\\":\\\"#protocol_list\\\"},{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"method\\\":{\\\"begin\\\":\\\"^([-+])\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[#{])|;\\\",\\\"name\\\":\\\"meta.function.objc\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.objc\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.objc\\\"}},\\\"name\\\":\\\"meta.return-type.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#protocol_list\\\"},{\\\"include\\\":\\\"#protocol_type_qualifier\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\w+(?=:)\\\",\\\"name\\\":\\\"entity.name.function.name-of-parameter.objc\\\"},{\\\"begin\\\":\\\"((:))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.name-of-parameter.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.arguments.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.objc\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*(\\\\\\\\w+\\\\\\\\b)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.objc\\\"}},\\\"name\\\":\\\"meta.argument-type.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#protocol_list\\\"},{\\\"include\\\":\\\"#protocol_type_qualifier\\\"},{\\\"include\\\":\\\"$base\\\"}]},{\\\"include\\\":\\\"#comment\\\"}]},\\\"method_super\\\":{\\\"begin\\\":\\\"^(?=[-+])\\\",\\\"end\\\":\\\"(?<=})|(?=#)\\\",\\\"name\\\":\\\"meta.function-with-body.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method\\\"},{\\\"include\\\":\\\"$base\\\"}]},\\\"pragma-mark\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.pragma.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.toc-list.pragma-mark.objc\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(pragma\\\\\\\\s+mark)\\\\\\\\s+(.*))\\\",\\\"name\\\":\\\"meta.section.objc\\\"},\\\"preprocessor-rule-disabled-implementation\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.objc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.objc\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_innards\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"name\\\":\\\"comment.block.preprocessor.if-branch.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]}]},\\\"preprocessor-rule-disabled-interface\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.objc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.objc\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_innards\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"name\\\":\\\"comment.block.preprocessor.if-branch.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]}]},\\\"preprocessor-rule-enabled-implementation\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0*1))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.objc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.objc\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.else-branch.objc\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implementation_innards\\\"}]}]},\\\"preprocessor-rule-enabled-interface\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#(if)\\\\\\\\s+(0*1))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.if.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.objc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(else))\\\\\\\\b.*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.else.objc\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.else-branch.objc\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|ndif))\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_innards\\\"}]}]},\\\"preprocessor-rule-other-implementation\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(if(n?def)?)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.objc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b.*?(?:(?=/[*/])|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#implementation_innards\\\"}]},\\\"preprocessor-rule-other-interface\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(if(n?def)?)\\\\\\\\b.*?(?:(?=/[*/])|$))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.objc\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(#\\\\\\\\s*(endif))\\\\\\\\b.*?(?:(?=/[*/])|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_innards\\\"}]},\\\"properties\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((@)property)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.property.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.objc\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.objc\\\"}},\\\"name\\\":\\\"meta.property-with-attributes.objc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(getter|setter|readonly|readwrite|assign|retain|copy|nonatomic|atomic|strong|weak|nonnull|nullable|null_resettable|null_unspecified|class|direct)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.property.attribute.objc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.property.objc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"}},\\\"match\\\":\\\"((@)property)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.property.objc\\\"}]},\\\"property_directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.objc\\\"}},\\\"match\\\":\\\"(@)(dynamic|synthesize)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.property.directive.objc\\\"},\\\"protocol_list\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.objc\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.objc\\\"}},\\\"name\\\":\\\"meta.protocol-list.objc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated((?:Toobar|UserInterface)Item)|Locking)\\\\\\\\b\\\",\\\"name\\\":\\\"support.other.protocol.objc\\\"}]},\\\"protocol_type_qualifier\\\":{\\\"match\\\":\\\"\\\\\\\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.protocol.objc\\\"},\\\"special_variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b_cmd\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.selector.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(s(?:elf|uper))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.objc\\\"}]},\\\"string_escaped_char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape.objc\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.objc\\\"}]},\\\"string_placeholder\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*[,:;_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]\\\",\\\"name\\\":\\\"constant.other.placeholder.objc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.placeholder.objc\\\"}},\\\"match\\\":\\\"(%)(?!\\\\\\\"\\\\\\\\s*(PRI|SCN))\\\"}]}},\\\"scopeName\\\":\\\"source.objc\\\",\\\"aliases\\\":[\\\"objc\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "objectiveC" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,q4tGAAus6G,CAAC,EAE/t6GC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DXvB9xmW.js b/src/webview-ui/build/assets/chunk-DXvB9xmW.js new file mode 100644 index 0000000000..a2872d08e8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXvB9xmW.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Raku","name":"raku","patterns":[{"begin":"^=begin","end":"^=end","name":"comment.block.perl"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.perl"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.perl"}},"end":"\\\\n","name":"comment.line.number-sign.perl"}]},{"captures":{"1":{"name":"storage.type.class.perl.6"},"3":{"name":"entity.name.type.class.perl.6"}},"match":"(class|enum|grammar|knowhow|module|package|role|slang|subset)(\\\\s+)(((?:::|')?([$A-Z_a-zÀ-ÿ])([$0-9A-Z\\\\\\\\_a-zÀ-ÿ]|[-'][$0-9A-Z_a-zÀ-ÿ])*)+)","name":"meta.class.perl.6"},{"begin":"(?<=\\\\s)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.single.perl","patterns":[{"match":"\\\\\\\\['\\\\\\\\]","name":"constant.character.escape.perl"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.perl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.perl"}},"name":"string.quoted.double.perl","patterns":[{"match":"\\\\\\\\[\\"\\\\\\\\abefnrt]","name":"constant.character.escape.perl"}]},{"begin":"q(q|to|heredoc)*\\\\s*:?(q|to|heredoc)*\\\\s*/(.+)/","end":"\\\\3","name":"string.quoted.single.heredoc.perl"},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\\\{\\\\{","end":"}}","name":"string.quoted.double.heredoc.brace.perl","patterns":[{"include":"#qq_brace_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\\\(\\\\(","end":"\\\\)\\\\)","name":"string.quoted.double.heredoc.paren.perl","patterns":[{"include":"#qq_paren_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\\\[\\\\[","end":"]]","name":"string.quoted.double.heredoc.bracket.perl","patterns":[{"include":"#qq_bracket_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\\\{","end":"}","name":"string.quoted.single.heredoc.brace.perl","patterns":[{"include":"#qq_brace_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*/","end":"/","name":"string.quoted.single.heredoc.slash.perl","patterns":[{"include":"#qq_slash_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\\\(","end":"\\\\)","name":"string.quoted.single.heredoc.paren.perl","patterns":[{"include":"#qq_paren_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\\\[","end":"]","name":"string.quoted.single.heredoc.bracket.perl","patterns":[{"include":"#qq_bracket_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*'","end":"'","name":"string.quoted.single.heredoc.single.perl","patterns":[{"include":"#qq_single_string_content"}]},{"begin":"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\s*\\"","end":"\\"","name":"string.quoted.single.heredoc.double.perl","patterns":[{"include":"#qq_double_string_content"}]},{"match":"\\\\b\\\\$\\\\w+\\\\b","name":"variable.other.perl"},{"match":"\\\\b(macro|sub|submethod|method|multi|proto|only|rule|token|regex|category)\\\\b","name":"storage.type.declare.routine.perl"},{"match":"\\\\b(self)\\\\b","name":"variable.language.perl"},{"match":"\\\\b(use|require)\\\\b","name":"keyword.other.include.perl"},{"match":"\\\\b(if|else|elsif|unless)\\\\b","name":"keyword.control.conditional.perl"},{"match":"\\\\b(let|my|our|state|temp|has|constant)\\\\b","name":"storage.type.variable.perl"},{"match":"\\\\b(for|loop|repeat|while|until|gather|given)\\\\b","name":"keyword.control.repeat.perl"},{"match":"\\\\b(take|do|when|next|last|redo|return|contend|maybe|defer|default|exit|make|continue|break|goto|leave|async|lift)\\\\b","name":"keyword.control.flowcontrol.perl"},{"match":"\\\\b(is|as|but|trusts|of|returns|handles|where|augment|supersede)\\\\b","name":"storage.modifier.type.constraints.perl"},{"match":"\\\\b(BEGIN|CHECK|INIT|START|FIRST|ENTER|LEAVE|KEEP|UNDO|NEXT|LAST|PRE|POST|END|CATCH|CONTROL|TEMP)\\\\b","name":"meta.function.perl"},{"match":"\\\\b(die|fail|try|warn)\\\\b","name":"keyword.control.control-handlers.perl"},{"match":"\\\\b(prec|irs|ofs|ors|export|deep|binary|unary|reparsed|rw|parsed|cached|readonly|defequiv|will|ref|copy|inline|tighter|looser|equiv|assoc|required)\\\\b","name":"storage.modifier.perl"},{"match":"\\\\b(NaN|Inf)\\\\b","name":"constant.numeric.perl"},{"match":"\\\\b(oo|fatal)\\\\b","name":"keyword.other.pragma.perl"},{"match":"\\\\b(Object|Any|Junction|Whatever|Capture|MatchSignature|Proxy|Matcher|Package|Module|ClassGrammar|Scalar|Array|Hash|KeyHash|KeySet|KeyBagPair|List|Seq|Range|Set|Bag|Mapping|Void|UndefFailure|Exception|Code|Block|Routine|Sub|MacroMethod|Submethod|Regex|Str|str|Blob|Char|ByteCodepoint|Grapheme|StrPos|StrLen|Version|NumComplex|num|complex|Bit|bit|bool|True|FalseIncreasing|Decreasing|Ordered|Callable|AnyCharPositional|Associative|Ordering|KeyExtractorComparator|OrderingPair|IO|KitchenSink|RoleInt|int1??|int2|int4|int8|int16|int32|int64Rat|rat1??|rat2|rat4|rat8|rat16|rat32|rat64Buf|buf1??|buf2|buf4|buf8|buf16|buf32|buf64UInt|uint1??|uint2|uint4|uint8|uint16|uint32uint64|Abstraction|utf8|utf16|utf32)\\\\b","name":"support.type.perl6"},{"match":"\\\\b(div|xx?|mod|also|leg|cmp|before|after|eq|ne|le|lt|not|gt|ge|eqv|fff??|and|andthen|or|xor|orelse|extra|lcm|gcd)\\\\b","name":"keyword.operator.perl"},{"match":"([$%\\\\&@])([!*:=?^~]|(<(?=.+>)))?([$A-Z_a-zÀ-ÿ])([$0-9A-Z_a-zÀ-ÿ]|[-'][$0-9A-Z_a-zÀ-ÿ])*","name":"variable.other.identifier.perl.6"},{"match":"\\\\b(eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints|chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin|classify|first|sum|keys|values|pairs|defined|delete|exists|elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push|shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign|sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2|pick|chop|p5chop|chomp|p5chomp|lc|lcfirst|uc|ucfirst|capitalize|normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars|nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead|nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost|getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs|codes|bytes|clone|print|open|read|write|readline|say|seek|close|opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink|symlink|uniq|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan|sinh|cosh|tanh|asinh|done|acosh??|atanh|sech|cosech|cotanh|sech|acosech|acotanh|asech|ok|nok|plan_ok|dies_ok|lives_ok|skip|todo|pass|flunk|force_todo|use_ok|isa_ok|diag|is_deeply|isnt|like|skip_rest|unlike|cmp_ok|eval_dies_ok|nok_error|eval_lives_ok|approx|is_approx|throws_ok|version_lt|plan|EVAL|succ|pred|times|nonce|once|signature|new|connect|operator|undef|undefine|sleep|from|to|infix|postfix|prefix|circumfix|postcircumfix|minmax|lazy|count|unwrap|getc|pi|e|context|void|quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity|assuming|rewind|callwith|callsame|nextwith|nextsame|attr|eval_elsewhere|none|srand|trim|trim_start|trim_end|lastcall|WHAT|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not|true|iterator|by|re|im|invert|flip|gist|flat|tree|is-prime|throws_like|trans)\\\\b","name":"support.function.perl"}],"repository":{"qq_brace_string_content":{"begin":"\\\\{","end":"}","patterns":[{"include":"#qq_brace_string_content"}]},"qq_bracket_string_content":{"begin":"\\\\[","end":"]","patterns":[{"include":"#qq_bracket_string_content"}]},"qq_double_string_content":{"begin":"\\"","end":"\\"","patterns":[{"include":"#qq_double_string_content"}]},"qq_paren_string_content":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#qq_paren_string_content"}]},"qq_single_string_content":{"begin":"'","end":"'","patterns":[{"include":"#qq_single_string_content"}]},"qq_slash_string_content":{"begin":"\\\\\\\\/","end":"\\\\\\\\/","patterns":[{"include":"#qq_slash_string_content"}]}},"scopeName":"source.perl.6","aliases":["perl6"]}`, + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-DXvB9xmW.js.map diff --git a/src/webview-ui/build/assets/chunk-DXvB9xmW.js.map b/src/webview-ui/build/assets/chunk-DXvB9xmW.js.map new file mode 100644 index 0000000000..85b1367166 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DXvB9xmW.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DXvB9xmW.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/raku.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Raku\\\",\\\"name\\\":\\\"raku\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^=begin\\\",\\\"end\\\":\\\"^=end\\\",\\\"name\\\":\\\"comment.block.perl\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.perl\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.perl\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.perl\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.perl.6\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.perl.6\\\"}},\\\"match\\\":\\\"(class|enum|grammar|knowhow|module|package|role|slang|subset)(\\\\\\\\s+)(((?:::|')?([$A-Z_a-zÀ-ÿ])([$0-9A-Z\\\\\\\\\\\\\\\\_a-zÀ-ÿ]|[-'][$0-9A-Z_a-zÀ-ÿ])*)+)\\\",\\\"name\\\":\\\"meta.class.perl.6\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\s)'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.perl\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.perl\\\"}},\\\"name\\\":\\\"string.quoted.single.perl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.perl\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.perl\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.perl\\\"}},\\\"name\\\":\\\"string.quoted.double.perl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\abefnrt]\\\",\\\"name\\\":\\\"constant.character.escape.perl\\\"}]},{\\\"begin\\\":\\\"q(q|to|heredoc)*\\\\\\\\s*:?(q|to|heredoc)*\\\\\\\\s*/(.+)/\\\",\\\"end\\\":\\\"\\\\\\\\3\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.perl\\\"},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\\{\\\\\\\\{\\\",\\\"end\\\":\\\"}}\\\",\\\"name\\\":\\\"string.quoted.double.heredoc.brace.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_brace_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\\(\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\)\\\",\\\"name\\\":\\\"string.quoted.double.heredoc.paren.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_paren_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\\[\\\\\\\\[\\\",\\\"end\\\":\\\"]]\\\",\\\"name\\\":\\\"string.quoted.double.heredoc.bracket.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_bracket_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.brace.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_brace_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*/\\\",\\\"end\\\":\\\"/\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.slash.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_slash_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.paren.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_paren_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.bracket.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_bracket_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.single.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_single_string_content\\\"}]},{\\\"begin\\\":\\\"([Qq])(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*:?(x|exec|w|words|ww|quotewords|v|val|q|single|qq|double|s|scalar|a|array|h|hash|f|function|c|closure|b|blackslash|regexp|substr|trans|codes|p|path)*\\\\\\\\s*\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.single.heredoc.double.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_double_string_content\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\$\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(macro|sub|submethod|method|multi|proto|only|rule|token|regex|category)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.declare.routine.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(self)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(use|require)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.include.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(if|else|elsif|unless)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.conditional.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(let|my|our|state|temp|has|constant)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.variable.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(for|loop|repeat|while|until|gather|given)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.repeat.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(take|do|when|next|last|redo|return|contend|maybe|defer|default|exit|make|continue|break|goto|leave|async|lift)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flowcontrol.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(is|as|but|trusts|of|returns|handles|where|augment|supersede)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.type.constraints.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(BEGIN|CHECK|INIT|START|FIRST|ENTER|LEAVE|KEEP|UNDO|NEXT|LAST|PRE|POST|END|CATCH|CONTROL|TEMP)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(die|fail|try|warn)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.control-handlers.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(prec|irs|ofs|ors|export|deep|binary|unary|reparsed|rw|parsed|cached|readonly|defequiv|will|ref|copy|inline|tighter|looser|equiv|assoc|required)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(NaN|Inf)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(oo|fatal)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.pragma.perl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Object|Any|Junction|Whatever|Capture|MatchSignature|Proxy|Matcher|Package|Module|ClassGrammar|Scalar|Array|Hash|KeyHash|KeySet|KeyBagPair|List|Seq|Range|Set|Bag|Mapping|Void|UndefFailure|Exception|Code|Block|Routine|Sub|MacroMethod|Submethod|Regex|Str|str|Blob|Char|ByteCodepoint|Grapheme|StrPos|StrLen|Version|NumComplex|num|complex|Bit|bit|bool|True|FalseIncreasing|Decreasing|Ordered|Callable|AnyCharPositional|Associative|Ordering|KeyExtractorComparator|OrderingPair|IO|KitchenSink|RoleInt|int1??|int2|int4|int8|int16|int32|int64Rat|rat1??|rat2|rat4|rat8|rat16|rat32|rat64Buf|buf1??|buf2|buf4|buf8|buf16|buf32|buf64UInt|uint1??|uint2|uint4|uint8|uint16|uint32uint64|Abstraction|utf8|utf16|utf32)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.perl6\\\"},{\\\"match\\\":\\\"\\\\\\\\b(div|xx?|mod|also|leg|cmp|before|after|eq|ne|le|lt|not|gt|ge|eqv|fff??|and|andthen|or|xor|orelse|extra|lcm|gcd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.perl\\\"},{\\\"match\\\":\\\"([$%\\\\\\\\&@])([!*:=?^~]|(<(?=.+>)))?([$A-Z_a-zÀ-ÿ])([$0-9A-Z_a-zÀ-ÿ]|[-'][$0-9A-Z_a-zÀ-ÿ])*\\\",\\\"name\\\":\\\"variable.other.identifier.perl.6\\\"},{\\\"match\\\":\\\"\\\\\\\\b(eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints|chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin|classify|first|sum|keys|values|pairs|defined|delete|exists|elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push|shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign|sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2|pick|chop|p5chop|chomp|p5chomp|lc|lcfirst|uc|ucfirst|capitalize|normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars|nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead|nothing|want|bless|chr|ord|gmtime|time|eof|localtime|gethost|getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs|codes|bytes|clone|print|open|read|write|readline|say|seek|close|opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink|symlink|uniq|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan|sinh|cosh|tanh|asinh|done|acosh??|atanh|sech|cosech|cotanh|sech|acosech|acotanh|asech|ok|nok|plan_ok|dies_ok|lives_ok|skip|todo|pass|flunk|force_todo|use_ok|isa_ok|diag|is_deeply|isnt|like|skip_rest|unlike|cmp_ok|eval_dies_ok|nok_error|eval_lives_ok|approx|is_approx|throws_ok|version_lt|plan|EVAL|succ|pred|times|nonce|once|signature|new|connect|operator|undef|undefine|sleep|from|to|infix|postfix|prefix|circumfix|postcircumfix|minmax|lazy|count|unwrap|getc|pi|e|context|void|quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity|assuming|rewind|callwith|callsame|nextwith|nextsame|attr|eval_elsewhere|none|srand|trim|trim_start|trim_end|lastcall|WHAT|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not|true|iterator|by|re|im|invert|flip|gist|flat|tree|is-prime|throws_like|trans)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.perl\\\"}],\\\"repository\\\":{\\\"qq_brace_string_content\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_brace_string_content\\\"}]},\\\"qq_bracket_string_content\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_bracket_string_content\\\"}]},\\\"qq_double_string_content\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_double_string_content\\\"}]},\\\"qq_paren_string_content\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_paren_string_content\\\"}]},\\\"qq_single_string_content\\\":{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_single_string_content\\\"}]},\\\"qq_slash_string_content\\\":{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\/\\\",\\\"end\\\":\\\"\\\\\\\\\\\\\\\\/\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qq_slash_string_content\\\"}]}},\\\"scopeName\\\":\\\"source.perl.6\\\",\\\"aliases\\\":[\\\"perl6\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "raku" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,4pUAAyuV,CAAC,EAEjwVC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-D_Q5rh1f.js b/src/webview-ui/build/assets/chunk-D_Q5rh1f.js new file mode 100644 index 0000000000..a268164068 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D_Q5rh1f.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Assembly","fileTypes":["asm","nasm","yasm","inc","s"],"name":"asm","patterns":[{"include":"#registers"},{"include":"#mnemonics"},{"include":"#constants"},{"include":"#entities"},{"include":"#support"},{"include":"#comments"},{"include":"#preprocessor"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"match":"(;|(^|\\\\s)#\\\\s).*$","name":"comment.line"},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block"},{"begin":"^\\\\s*[#%]\\\\s*if\\\\s+0\\\\b","end":"^\\\\s*[#%]\\\\s*endif\\\\b","name":"comment.preprocessor"}]},"constants":{"patterns":[{"match":"(?i)\\\\b0[by][01][01_]*\\\\.(?:(?:[01][01_]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\b)?","name":"constant.numeric.binary.floating-point.asm.x86_64"},{"match":"(?i)\\\\b0[by][01][01_]*p[-+]?[0-9][0-9_]*\\\\b","name":"constant.numeric.binary.floating-point.asm.x86_64"},{"match":"(?i)\\\\b0[oq][0-7][0-7_]*\\\\.(?:(?:[0-7][0-7_]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\b)?","name":"constant.numeric.octal.floating-point.asm.x86_64"},{"match":"(?i)\\\\b0[oq][0-7][0-7_]*p[-+]?[0-9][0-9_]*\\\\b","name":"constant.numeric.octal.floating-point.asm.x86_64"},{"match":"(?i)\\\\b(?:0[dt])?[0-9][0-9_]*\\\\.(?:(?:[0-9][0-9_]*)?(?:e[-+]?[0-9][0-9_]*)?\\\\b)?","name":"constant.numeric.decimal.floating-point.asm.x86_64"},{"match":"(?i)\\\\b[0-9][0-9_]*e[-+]?[0-9][0-9_]*\\\\b","name":"constant.numeric.decimal.floating-point.asm.x86_64"},{"match":"(?i)\\\\b[0-9][0-9_]*p(?:[0-9][0-9_]*)?\\\\b","name":"constant.numeric.decimal.packed-bcd.asm.x86_64"},{"match":"(?i)\\\\b0[hx]\\\\h[_\\\\h]*\\\\.(?:(?:\\\\h[_\\\\h]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\b)?","name":"constant.numeric.hex.floating-point.asm.x86_64"},{"match":"(?i)\\\\b0[hx]\\\\h[_\\\\h]*p[-+]?[0-9][0-9_]*\\\\b","name":"constant.numeric.hex.floating-point.asm.x86_64"},{"match":"(?i)\\\\$[0-9]_?(?:\\\\h[_\\\\h]*)?\\\\.(?:(?:\\\\h[_\\\\h]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\b)?","name":"constant.numeric.hex.floating-point.asm.x86_64"},{"match":"(?i)\\\\$[0-9]_?\\\\h[_\\\\h]*p[-+]?[0-9][0-9_]*\\\\b","name":"constant.numeric.hex.floating-point.asm.x86_64"},{"match":"(?i)\\\\b(?:0[by][01][01_]*|[01][01_]*[by])\\\\b","name":"constant.numeric.binary.asm.x86_64"},{"match":"(?i)\\\\b(?:0[oq][0-7][0-7_]*|[0-7][0-7_]*[oq])\\\\b","name":"constant.numeric.octal.asm.x86_64"},{"match":"(?i)\\\\b(?:0[dt][0-9][0-9_]*|[0-9][0-9_]*[dt]?)\\\\b","name":"constant.numeric.decimal.asm.x86_64"},{"match":"(?i)\\\\$[0-9]_?(?:\\\\h[_\\\\h]*)?\\\\b","name":"constant.numeric.hex.asm.x86_64"},{"match":"(?i)\\\\b(?:0[hx]\\\\h[_\\\\h]*|\\\\h[_\\\\h]*[HXhx])\\\\b","name":"constant.numeric.hex.asm.x86_64"}]},"entities":{"patterns":[{"match":"((se(?:ction|gment))\\\\s+)?\\\\.((ro)?data|bss|text)","name":"entity.name.section"},{"match":"^\\\\.?(globa?l|extern|required)\\\\b","name":"entity.directive"},{"match":"(\\\\$\\\\w+)\\\\b","name":"text.variable"},{"captures":{"1":{"name":"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},"2":{"name":"entity.name.function.special.asm.x86_64"},"3":{"name":"punctuation.separator.asm.x86_64"}},"match":"(\\\\.\\\\.@)([?_[:alpha:]][#$.?@_~[:alnum:]]*)(?:(:)?|\\\\b)","name":"entity.name.function.asm.x86_64"},{"captures":{"1":{"name":"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},"2":{"name":"entity.name.function.asm.x86_64"},"3":{"name":"punctuation.separator.asm.x86_64"}},"match":"(?:(\\\\.)?|\\\\b)([?_[:alpha:]][#$.?@_~[:alnum:]]*)(:)","name":"entity.name.function.asm.x86_64"},{"captures":{"1":{"name":"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},"2":{"name":"entity.name.function.asm.x86_64"},"3":{"name":"punctuation.separator.asm.x86_64"}},"match":"(\\\\.)([0-9]+[#$.?@_~[:alnum:]]*)(?:(:)?|\\\\b)","name":"entity.name.function.asm.x86_64"},{"captures":{"1":{"name":"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64"},"2":{"name":"invalid.illegal.entity.name.function.asm.x86_64"},"3":{"name":"punctuation.separator.asm.x86_64"}},"match":"(?:(\\\\.)?|\\\\b)([$0-9@~][#$.?@_~[:alnum:]]*)(:)","name":"invalid.illegal.entity.name.function.asm.x86_64"}]},"mnemonics":{"patterns":[{"include":"#mnemonics-general-purpose"},{"include":"#mnemonics-fpu"},{"include":"#mnemonics-mmx"},{"include":"#mnemonics-sse"},{"include":"#mnemonics-sse2"},{"include":"#mnemonics-sse3"},{"include":"#mnemonics-sse4"},{"include":"#mnemonics-aesni"},{"include":"#mnemonics-avx"},{"include":"#mnemonics-avx2"},{"include":"#mnemonics-tsx"},{"include":"#mnemonics-sha"},{"include":"#mnemonics-avx512"},{"include":"#mnemonics-system"},{"include":"#mnemonics-64bit"},{"include":"#mnemonics-vmx"},{"include":"#mnemonics-smx"},{"include":"#mnemonics-mpx"},{"include":"#mnemonics-sgx"},{"include":"#mnemonics-cet"},{"include":"#mnemonics-amx"},{"include":"#mnemonics-uirq"},{"include":"#mnemonics-esi"},{"include":"#mnemonics-speculation"},{"include":"#mnemonics-intel-manual-listing"},{"include":"#mnemonics-intel-isa-xeon-phi"},{"include":"#mnemonics-intel-isa-keylocker"},{"include":"#mnemonics-supplemental-amd"},{"include":"#mnemonics-supplemental-cyrix"},{"include":"#mnemonics-supplemental-via"},{"include":"#mnemonics-undocumented"},{"include":"#mnemonics-future-intel"},{"include":"#mnemonics-pseudo-ops"}]},"mnemonics-64bit":{"patterns":[{"match":"(?i)\\\\b(cdqe|cqo|(cmp|lod|mov|sto)sq|cmpxchg16b|mov(ntq|sxd)|scasq|swapgs|sys(call|ret))\\\\b","name":"keyword.operator.word.mnemonic.64-bit-mode"}]},"mnemonics-aesni":{"patterns":[{"match":"(?i)\\\\b(aes((dec|enc)(last)?|imc|keygenassist)|pclmulqdq)\\\\b","name":"keyword.operator.word.mnemonic.aesni"}]},"mnemonics-amx":{"patterns":[{"match":"(?i)\\\\b((ld|st)tilecfg|tdpb(f16ps|[su]{2}d)|tile(loadd(t1)?|release|stored|zero))\\\\b","name":"keyword.operator.word.mnemonic.amx"}]},"mnemonics-avx":{"patterns":[{"match":"(?i)\\\\b(v((test|permil|maskmov)p[ds]|zero(all|upper)|(perm2|insert|extract|broadcast)f128|broadcasts[ds]))\\\\b","name":"keyword.operator.word.mnemonic.avx"},{"match":"(?i)\\\\b(v(?:aes((dec|enc)(last)?|imc|keygenassist)|pclmulqdq))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.aes"},{"match":"(?i)\\\\b(v((cmp[ps]|u?comis)[ds]|pcmp([ei]str[im]|(eq|gt)[bdqw])))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.comparison"},{"match":"(?i)\\\\b(v(cvt(dq2pd|dq2ps|pd2ps|ps2pd|sd2ss|si2sd|si2ss|ss2sd|t?(pd2dq|ps2dq|sd2si|ss2si))))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.conversion"},{"match":"(?i)\\\\b(v(?:h((add|sub)p[ds])|ph((add|sub)([dw]|sw)|minposuw)))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.horizontal-packed-arithmetic"},{"match":"(?i)\\\\b(v((andn?|x?or)p[ds]))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.logical"},{"match":"(?i)\\\\b(v(mov(([ahl]|msk|nt|u)p[ds]|(hl|lh)ps|s([ds]|[hl]dup)|q)))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.mov"},{"match":"(?i)\\\\b(v((add|div|mul|sub|max|min|round|sqrt)[ps][ds]|(addsub|dp)p[ds]|(r(?:cp|sqrt))[ps]s))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.packed-arithmetic"},{"match":"(?i)\\\\b(v(pack[su]s(dw|wb)|punpck[hl](bw|dq|wd|qdq)|unpck[hl]p[ds]))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.packed-conversion"},{"match":"(?i)\\\\b(v(?:p(shuf([bd]|[hl]w))|shufp[ds]))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.packed-shuffle"},{"match":"(?i)\\\\b(vp((abs|sign|(m(?:ax|in))[su])[bdw]|(add|sub)([bdqw]|u?s[bw])|avg[bw]|extr[bdqw]|madd(wd|ubsw)|mul(hu?w|hrsw|l[dw]|u?dq)|sadbw))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.supplemental.arithmetic"},{"match":"(?i)\\\\b(vp(andn?|x?or))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.supplemental.logical"},{"match":"(?i)\\\\b(vpblend(vb|w))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.supplemental.blending"},{"match":"(?i)\\\\b(vpmov(mskb|[sz]x(b[dqw]|w[dq]|dq)))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.supplemental.mov"},{"match":"(?i)\\\\b(vp(insr[bdqw]|sll(dq|[dqw])|srl(dq)))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.simd-integer"},{"match":"(?i)\\\\b(vp(sr(?:a[dqw]|l[dqw])))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.shift-and-rotate"},{"match":"(?i)\\\\b(vblendv?p[ds])\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.packed-blending"},{"match":"(?i)\\\\b(vp(test|alignr))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.packed-other"},{"match":"(?i)\\\\b(vmov(d(dup|qa|qu)?))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.simd-integer.mov"},{"match":"(?i)\\\\b(v((extract|insert)ps|lddqu|(ld|st)mxcsr|mpsadbw))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.other"},{"match":"(?i)\\\\b(v(m(?:askmovdqu|ovntdqa?)))\\\\b","name":"keyword.operator.word.mnemonic.avx.promoted.cacheability-control"},{"match":"(?i)\\\\b(vcvt(p(?:h2ps|s2ph)))\\\\b","name":"keyword.operator.word.mnemonic.16-bit-floating-point-conversion"},{"match":"(?i)\\\\b(vf(?:n?m((add|sub)(132|213|231)[ps][ds])|m((addsub|subadd)(132|213|231)p[ds])))\\\\b","name":"keyword.operator.word.mnemonic.fma"}]},"mnemonics-avx2":{"patterns":[{"match":"(?i)\\\\b(v((broadcast|extract|insert|perm2)i128|pmaskmov[dq]|perm([dqs]|p[ds])))\\\\b","name":"keyword.operator.word.mnemonic.avx2.promoted.simd"},{"match":"(?i)\\\\b(vpbroadcast[bdqw])\\\\b","name":"keyword.operator.word.mnemonic.avx2.promoted.packed"},{"match":"(?i)\\\\b(vp(blendd|s[lr]lv[dq]|sravd))\\\\b","name":"keyword.operator.word.mnemonic.avx2.blend"},{"match":"(?i)\\\\b(v(?:p?gather[dq][dq]|gather([dq]|dq)p[ds]))\\\\b","name":"keyword.operator.word.mnemonic.avx2.gather"}]},"mnemonics-avx512":{"patterns":[{"include":"#mnemonics-avx512f"},{"include":"#mnemonics-avx512dq"},{"include":"#mnemonics-avx512bw"},{"include":"#mnemonics-avx512-opmask"},{"include":"#mnemonics-avx512er"},{"include":"#mnemonics-avx512pf"},{"include":"#mnemonics-avx512fp16"}]},"mnemonics-avx512-opmask":{"patterns":[{"match":"(?i)\\\\bk(add|andn?|mov|not|or(test)?|shift[lr]|test|xn?or)[bdqw]\\\\b","name":"keyword.operator.word.mnemonic.avx512.opmask"},{"match":"(?i)\\\\bkunpck(bw|wd|dq)\\\\b","name":"keyword.operator.word.mnemonic.avx512.opmask.unpack"}]},"mnemonics-avx512bw":{"patterns":[{"match":"(?i)\\\\bv(dbpsadbw|movdqu(8|16))\\\\b","name":"keyword.operator.word.mnemonic.avx512.bw.dbpsad"},{"match":"(?i)\\\\bvp(blendm|cmpu?|movm2)[bw]\\\\b","name":"keyword.operator.word.mnemonic.avx512.bw.pblend"},{"match":"(?i)\\\\bvperm(w|i2[bw])\\\\b","name":"keyword.operator.word.mnemonic.avx512.bw.perpmi2"},{"match":"(?i)\\\\bvp(mov([bw]2m|u?swb))\\\\b","name":"keyword.operator.word.mnemonic.avx512.bw.pmov"},{"match":"(?i)\\\\bvp(s(ll|ra|rl)vw|testn?m[bw])\\\\b","name":"keyword.operator.word.mnemonic.avx512.bw.psll"},{"match":"(?i)\\\\bvp(broadcastm(b2q|w2d)|(conflict|lzcnt)[dq])\\\\b","name":"keyword.operator.word.mnemonic.avx512.bw.broadcast"}]},"mnemonics-avx512dq":{"patterns":[{"match":"(?i)\\\\bvcvt(t?p[ds]2u?qq|uqq2p[ds])\\\\b","name":"keyword.operator.word.mnemonic.avx512.dq.cvt"},{"match":"(?i)\\\\bv((extract|insert)[fi]64x2|(fpclass|range|reduce)[ps][ds])\\\\b","name":"keyword.operator.word.mnemonic.avx512.dq.extract"},{"match":"(?i)\\\\bvp(m(?:ov(m2[dq]|b2d|q2m)|ullq))\\\\b","name":"keyword.operator.word.mnemonic.avx512.dq.pmov"}]},"mnemonics-avx512er":{"patterns":[{"match":"(?i)\\\\bv(exp2|rcp28|rsqrt28)[ps][ds]\\\\b","name":"keyword.operator.word.mnemonic.avx512.er"}]},"mnemonics-avx512f":{"patterns":[{"match":"(?i)\\\\bv(align[dq]|(blendm|compress)p[ds])\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.align"},{"match":"(?i)\\\\bv(cvtt?[ps][ds]2u(dq|si))\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.cvtt"},{"match":"(?i)\\\\bv(cvt((q|ud)q2p|usi2s)[ds])\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.cvt"},{"match":"(?i)\\\\bv(expandp[ds]|extract[fi](32|64)x4|fixupimm[ps][ds])\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.expand"},{"match":"(?i)\\\\bv(get(exp|mant)[ps][ds]|insertf(32|64)x4|movdq[au](32|64))\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.getexp"},{"match":"(?i)\\\\bvp(blendm[dq]|cmpu?[dq]|compress[dq])\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.pblend"},{"match":"(?i)\\\\bvp(erm[it]2([dq]|p[ds])|expand[dq]|(m(?:ax|in))[su]q|movu?s(q[bdw]|d[bw]))\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.permi"},{"match":"(?i)\\\\bvp(rolv?|rorr?|scatter[dq]|testn?m|terlog)[dq]\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.prol"},{"match":"(?i)\\\\bvpsravq\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.sravq"},{"match":"(?i)\\\\bv(rcp14|(rnd)?scale|rsqrt14)[ps][ds]\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.rcp"},{"match":"(?i)\\\\bv(s(?:catter[dq]{2}|huf[fi](32|64)x[24]))\\\\b","name":"keyword.operator.word.mnemonic.avx512.f.scatter"}]},"mnemonics-avx512fp16":{"patterns":[{"match":"(?i)\\\\bv((add|cmp|div|fc?(m(?:add|ul))c|fpclass|get(exp|mant)|mul|rcp|reduce|(rnd)?scale|r?sqrt|sub)[ps]h|u?comish)\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.add"},{"match":"(?i)\\\\bvcvt(u?([dq]q|w)|pd)2ph\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.cvtx2ph"},{"match":"(?i)\\\\bvcvtph2(u?([dq]q|w)|pd)\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.cvtph2x"},{"match":"(?i)\\\\bvcvt(p(?:h2psx|s2phx))\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.cvtx"},{"match":"(?i)\\\\bvcvt(s[dis]|usi)2sh\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.cvtx2sh"},{"match":"(?i)\\\\bvcvtsh2(s[dis]|usi)\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.cvtsh2x"},{"match":"(?i)\\\\bvcvtt(ph2(u?(dq|qq|w))|sh2u?si)\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.cvttph2x"},{"match":"(?i)\\\\bvfn?m((add|sub)(132|213|231))[ps]h\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.fmadd"},{"match":"(?i)\\\\bvfm(addsub|subadd)(132|213|231)ph\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.fmaddsub"},{"match":"(?i)\\\\bv((m(?:in|ax))ph|mov(sh|w))\\\\b","name":"keyword.operator.word.mnemonic.avx512.fp16.max"}]},"mnemonics-avx512pf":{"patterns":[{"match":"(?i)\\\\bv(gather|scatter)pf[01][dq]p[ds]\\\\b","name":"keyword.operator.word.mnemonic.avx512.pf"}]},"mnemonics-cet":{"patterns":[{"match":"(?i)\\\\b((inc|save(prev)?|rstor|rd)ssp|wru?ss|(set|clr)ssbsy|endbr(32|64))\\\\b","name":"keyword.operator.word.mnemonic.cet"},{"match":"(?i)\\\\bendbranch\\\\b","name":"keyword.operator.word.mnemonic.cet.misc"}]},"mnemonics-esi":{"patterns":[{"match":"(?i)\\\\benqcmds?\\\\b","name":"keyword.operator.word.mnemonic.esi"}]},"mnemonics-fpu":{"patterns":[{"match":"(?i)\\\\b(fcmov(n?([beu]|be)))\\\\b","name":"keyword.operator.word.mnemonic.fpu.data-transfer.mov"},{"match":"(?i)\\\\b(f(i?(ld|stp?)|b(ld|stp)|xch))\\\\b","name":"keyword.operator.word.mnemonic.fpu.data-transfer.other"},{"match":"(?i)\\\\b(f((add|div|mul|sub)p?|i(add|div|mul|sub)|(div|sub)rp?|i(div|sub)r))\\\\b","name":"keyword.operator.word.mnemonic.fpu.basic-arithmetic.basic"},{"match":"(?i)\\\\b(f(prem1?|abs|chs|rndint|scale|sqrt|xtract))\\\\b","name":"keyword.operator.word.mnemonic.fpu.basic-arithmetic.other"},{"match":"(?i)\\\\b(f(u?com[ip]?p?|icomp?|tst|xam))\\\\b","name":"keyword.operator.word.mnemonic.fpu.comparison"},{"match":"(?i)\\\\b(f(sin|cos|sincos|pa?tan|2xm1|yl2x(p1)?))\\\\b","name":"keyword.operator.word.mnemonic.fpu.transcendental"},{"match":"(?i)\\\\b(fld([1z]|pi|l2[et]|l[gn]2))\\\\b","name":"keyword.operator.word.mnemonic.fpu.load-constants"},{"match":"(?i)\\\\b(f((inc|dec)stp|free|n?(init|clex|st[cs]w|stenv|save)|ld(cw|env)|rstor|nop)|f?wait)\\\\b","name":"keyword.operator.word.mnemonic.fpu.control-management"},{"match":"(?i)\\\\b(fx(save|rstor)(64)?)\\\\b","name":"keyword.operator.word.mnemonic.fpu.state-management"}]},"mnemonics-future-intel":{"patterns":[{"include":"#mnemonics-future-intel-apx"}]},"mnemonics-future-intel-apx":{"patterns":[{"match":"(?i)\\\\b(c(cmp|test)(n?[bl]e?|[ft]|n?[osz]))\\\\b","name":"keyword.operator.word.mnemonic.apx.ccmp_test"},{"match":"(?i)\\\\b(cfcmovn?([bl]e?|[opsz]))\\\\b","name":"keyword.operator.word.mnemonic.apx.cfcmov"},{"match":"(?i)\\\\b(cmpn?([bl]e?|[opsz])xadd)\\\\b","name":"keyword.operator.word.mnemonic.apx.cmpxadd"},{"match":"(?i)\\\\b(jmpabs|(p(?:ush|op))2p?)\\\\b","name":"keyword.operator.word.mnemonic.apx.other"}]},"mnemonics-general-purpose":{"patterns":[{"match":"(?i)\\\\b(?:mov(?:[sz]x)?|cmov(?:n?[abceglopsz]|n?[abgl]e|p[eo]))\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.data-transfer.mov"},{"match":"(?i)\\\\b(xchg|bswap|xadd|cmpxchg(8b)?)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.data-transfer.xchg"},{"match":"(?i)\\\\b((p(?:ush|op))(ad?)?|cwde?|cdq|cbw)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.data-transfer.other"},{"match":"(?i)\\\\b(adcx?|adox|add|sub|sbb|i?mul|i?div|inc|dec|neg|cmp)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.binary-arithmetic"},{"match":"(?i)\\\\b(daa|das|aaa|aas|aam|aad)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.decimal-arithmetic"},{"match":"(?i)\\\\b(and|x?or|not)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.logical"},{"match":"(?i)\\\\b(s[ah][lr]|sh[lr]d|r[co][lr])\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.rotate"},{"match":"(?i)\\\\b(set(n?[abceglopsz]|n?[abgl]e|p[eo]))\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.bit-and-byte.set"},{"match":"(?i)\\\\b(bt[crs]?|bs[fr]|test|crc32|popcnt)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.bit-and-byte.other"},{"match":"(?i)\\\\b(j(?:mp|n?[abceglopsz]|n?[abgl]e|p[eo]|[er]?cxz))\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.control-transfer.jmp"},{"match":"(?i)\\\\b(loop(n?[ez])?|call|ret|iret[dq]?|into?|bound|enter|leave)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.control-transfer.other"},{"match":"(?i)\\\\b((mov|cmp|sca|lod|sto)(s[bdw]?)|rep(n?[ez])?)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.strings"},{"match":"(?i)\\\\b((in|out)(s[bdw]?)?)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.io"},{"match":"(?i)\\\\b((st|cl)[cdi]|cmc|[ls]ahf|(p(?:ush|op))f[dq]?)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.flag-control"},{"match":"(?i)\\\\b(l[d-gs]s)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.segment-registers"},{"match":"(?i)\\\\b(lea|nop|ud2?|xlatb?|cpuid|movbe)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.misc"},{"match":"(?i)\\\\b(cl(flush(opt)?|demote|wb)|pcommit)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.cache-control"},{"match":"(?i)\\\\b(rd(?:rand|seed))\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.rng"},{"match":"(?i)\\\\b(andn|bextr|bls([ir]|msk)|bzhi|pdep|pext|[lt]zcnt|(mul|ror|sar|shl|shr)x)\\\\b","name":"keyword.operator.word.mnemonic.general-purpose.bmi"}]},"mnemonics-intel-isa-keylocker":{"patterns":[{"match":"(?i)\\\\b(aes(enc|dec)(wide)?(128|256)kl|encodekey(128|256)|loadiwkey)\\\\b","name":"keyword.operator.word.mnemonic.keylocker"}]},"mnemonics-intel-isa-xeon-phi":{"patterns":[{"match":"(?i)\\\\bv(4fn?(madd)[ps]s|p4dpwssds?)\\\\b","name":"keyword.operator.word.mnemonic.xeon-phi"}]},"mnemonics-intel-manual-listing":{"patterns":[{"match":"(?i)\\\\bcvtt?pd1pi\\\\b","name":"keyword.operator.word.mnemonic.other.c"},{"match":"(?i)\\\\bv?gf2p8(affine(inv)?q|mul)b\\\\b","name":"keyword.operator.word.mnemonic.other.g"},{"match":"(?i)\\\\bhreset\\\\b","name":"keyword.operator.word.mnemonic.other.h"},{"match":"(?i)\\\\bincssp[dq]\\\\b","name":"keyword.operator.word.mnemonic.other.i"},{"match":"(?i)\\\\bmovdir(i|64b)\\\\b","name":"keyword.operator.word.mnemonic.other.m"},{"match":"(?i)\\\\bp((abs|(m(?:ax|in))[su]?|mull|sra)q|config|twrite)\\\\b","name":"keyword.operator.word.mnemonic.other.p"},{"match":"(?i)\\\\brd(pid|ssp[dq])\\\\b","name":"keyword.operator.word.mnemonic.other.r"},{"match":"(?i)\\\\bserialize\\\\b","name":"keyword.operator.word.mnemonic.other.s"},{"match":"(?i)\\\\btpause\\\\b","name":"keyword.operator.word.mnemonic.other.t"},{"match":"(?i)\\\\bu(m(?:onitor|wait))\\\\b","name":"keyword.operator.word.mnemonic.other.u"},{"match":"(?i)\\\\bvbroadcast[fi](32x[248]|64x[24])\\\\b","name":"keyword.operator.word.mnemonic.other.vb"},{"match":"(?i)\\\\bv(c(?:ompressw|vtne2?ps2bf16))\\\\b","name":"keyword.operator.word.mnemonic.other.vc"},{"match":"(?i)\\\\bvdpbf16ps\\\\b","name":"keyword.operator.word.mnemonic.other.vd"},{"match":"(?i)\\\\bvextract[fi]32x8\\\\b","name":"keyword.operator.word.mnemonic.other.ve"},{"match":"(?i)\\\\bv(insert([fi]32x8|i(32|64)x4))\\\\b","name":"keyword.operator.word.mnemonic.other.vi"},{"match":"(?i)\\\\bv(maskmov|(m(?:ax|in))sh)\\\\b","name":"keyword.operator.word.mnemonic.other.vm"},{"match":"(?i)\\\\bvp((2intersect|andn?)[dq]|absq)\\\\b","name":"keyword.operator.word.mnemonic.other.vpa"},{"match":"(?i)\\\\bvpbroadcasti32x4\\\\b","name":"keyword.operator.word.mnemonic.other.vpb"},{"match":"(?i)\\\\bvpcompress[bw]\\\\b","name":"keyword.operator.word.mnemonic.other.vpc"},{"match":"(?i)\\\\bvp(dp(bu|ws)sds?)\\\\b","name":"keyword.operator.word.mnemonic.other.vpd"},{"match":"(?i)\\\\b(vp(?:erm(b|t2[bw])|(ex(?:pand[bw]|trtd))))\\\\b","name":"keyword.operator.word.mnemonic.other.vpe"},{"match":"(?i)\\\\bvp(m(?:add52[hl]uq|ov(d(2m|[bw])|q[bdw]|wb)|pov[bdqw]2m|ultishiftqb))\\\\b","name":"keyword.operator.word.mnemonic.other.vpm"},{"match":"(?i)\\\\b(vpo(?:pcnt[bdqw]|r[dq]))\\\\b","name":"keyword.operator.word.mnemonic.other.vpo"},{"match":"(?i)\\\\bvprorv[dq]\\\\b","name":"keyword.operator.word.mnemonic.other.vpr"},{"match":"(?i)\\\\bvp(sh(?:[lr]dv?[dqw]|ufbitqmb|ufps))\\\\b","name":"keyword.operator.word.mnemonic.other.vps"},{"match":"(?i)\\\\bvpternlog[dq]\\\\b","name":"keyword.operator.word.mnemonic.other.vpt"},{"match":"(?i)\\\\bvpxor[dq]\\\\b","name":"keyword.operator.word.mnemonic.other.vpx"},{"match":"(?i)\\\\bv(sca(?:lef[ps][dhs]|tter[dq]p[ds]))\\\\b","name":"keyword.operator.word.mnemonic.other.vs"},{"match":"(?i)\\\\b(w(?:bnoinvd|ru?ss[dq]))\\\\b","name":"keyword.operator.word.mnemonic.other.w"}]},"mnemonics-invalid":{"patterns":[{"include":"#mnemonics-invalid-amd-sse5"}]},"mnemonics-invalid-amd-sse5":{"patterns":[{"match":"(?i)\\\\b(com[ps][ds]|pcomu?[bdqw])\\\\b","name":"invalid.keyword.operator.word.mnemonic.sse5.comparison"},{"match":"(?i)\\\\b(cvtp(h2ps|s2ph)|frcz[ps][ds])\\\\b","name":"invalid.keyword.operator.word.mnemonic.sse5.conversion"},{"match":"(?i)\\\\b(fn?m((add|sub)[ps][ds])|ph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd))|pma(css?(d(d|q[hl])|w[dw])|dcss?wd))\\\\b","name":"invalid.keyword.operator.word.mnemonic.sse5.packed-arithmetic"},{"match":"(?i)\\\\b(p(?:cmov|ermp[ds]|perm|rot[bdqw]|sh[al][bdqw]))\\\\b","name":"invalid.keyword.operator.word.mnemonic.sse5.simd-integer"}]},"mnemonics-mmx":{"patterns":[{"match":"(?i)\\\\b(mov[dq])\\\\b","name":"keyword.operator.word.mnemonic.mmx.data-transfer"},{"match":"(?i)\\\\b(p(?:ack(ssdw|[su]swb)|unpck[hl](bw|dq|wd)))\\\\b","name":"keyword.operator.word.mnemonic.mmx.conversion"},{"match":"(?i)\\\\b(p(((add|sub)(d|(u?s)?[bw]))|maddwd|mul[hl]w))\\\\b","name":"keyword.operator.word.mnemonic.mmx.packed-arithmetic"},{"match":"(?i)\\\\b(pcmp((eq|gt)[bdw]))\\\\b","name":"keyword.operator.word.mnemonic.mmx.comparison"},{"match":"(?i)\\\\b(p(?:andn?|x?or))\\\\b","name":"keyword.operator.word.mnemonic.mmx.logical"},{"match":"(?i)\\\\b(ps([lr]l[dqw]|raw|rad))\\\\b","name":"keyword.operator.word.mnemonic.mmx.shift-and-rotate"},{"match":"(?i)\\\\b(emms)\\\\b","name":"keyword.operator.word.mnemonic.mmx.state-management"}]},"mnemonics-mpx":{"patterns":[{"match":"(?i)\\\\b(bnd(mk|c[lnu]|mov|ldx|stx))\\\\b","name":"keyword.operator.word.mnemonic.mpx"}]},"mnemonics-pseudo-ops":{"patterns":[{"match":"(?i)\\\\b(cmp(n?(eq|lt|le)|(un)?ord)[ps][ds])\\\\b","name":"keyword.operator.word.pseudo-mnemonic.sse2.compare"},{"match":"(?i)\\\\b(v?pclmul([hl]q[hl]q|[hl]qh)dq)\\\\b","name":"keyword.operator.word.pseudo-mnemonic.avx.promoted.aes"},{"match":"(?i)\\\\b(vcmp(eq(_(os|uq|us))?|neq(_(oq|os|us))?|[gl][et](_oq)?|n[gl][et](_uq)?|(un)?ord(_s)?|false(_os)?|true(_us)?)[ps][ds])\\\\b","name":"keyword.operator.word.pseudo-mnemonic.avx.promoted.comparison"},{"match":"(?i)\\\\bvp(cmpn?(eq|le|lt))\\\\b","name":"keyword.operator.word.pseudo-mnemonic.avx512.compare"},{"match":"(?i)\\\\b(vpcom(n?eq|[gl][et]|false|true)(b|uw))\\\\b","name":"keyword.operator.word.pseudo-mnemonic.supplemental.amd.xop.simd"}]},"mnemonics-sgx":{"patterns":[{"match":"(?i)\\\\bencl[su]\\\\b","name":"keyword.operator.word.mnemonic.sgx"},{"match":"(?i)\\\\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\\\\b","name":"support.constant.sgx1.supervisor"},{"match":"(?i)\\\\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\\\\b","name":"support.constant.sgx1.supervisor"},{"match":"(?i)\\\\be(enter|exit|getkey|report|resume)\\\\b","name":"support.constant.sgx1.user"},{"match":"(?i)\\\\be(aug|mod(pr|t))\\\\b","name":"support.constant.sgx2.supervisor"},{"match":"(?i)\\\\be(accept(copy)?|modpe)\\\\b","name":"support.constant.sgx2.user"}]},"mnemonics-sha":{"patterns":[{"match":"(?i)\\\\b(sha(1rnds4|256rnds2|1nexte|(1|256)msg[12]))\\\\b","name":"keyword.operator.word.mnemonic.sha"}]},"mnemonics-smx":{"patterns":[{"match":"(?i)\\\\b(getsec)\\\\b","name":"keyword.operator.word.mnemonic.smx.getsec"},{"match":"(?i)\\\\b(capabilities|enteraccs|exitac|senter|sexit|parameters|smctrl|wakeup)\\\\b","name":"support.constant.smx"}]},"mnemonics-speculation":{"patterns":[{"match":"(?i)\\\\bib(pb|hf)\\\\b","name":"keyword.operator.word.mnemonic.speculation"}]},"mnemonics-sse":{"patterns":[{"match":"(?i)\\\\b(mov(([ahlu]|hl|lh|msk)ps|ss))\\\\b","name":"keyword.operator.word.mnemonic.sse.data-transfer"},{"match":"(?i)\\\\b((add|div|max|min|mul|rcp|r?sqrt|sub)[ps]s)\\\\b","name":"keyword.operator.word.mnemonic.sse.packed-arithmetic"},{"match":"(?i)\\\\b(cmp[ps]s|u?comiss)\\\\b","name":"keyword.operator.word.mnemonic.sse.comparison"},{"match":"(?i)\\\\b((andn?|x?or)ps)\\\\b","name":"keyword.operator.word.mnemonic.sse.logical"},{"match":"(?i)\\\\b((shuf|unpck[hl])ps)\\\\b","name":"keyword.operator.word.mnemonic.sse.shuffle-and-unpack"},{"match":"(?i)\\\\b(cvt(pi2ps|si2ss|ps2pi|tps2pi|ss2si|tss2si))\\\\b","name":"keyword.operator.word.mnemonic.sse.conversion"},{"match":"(?i)\\\\b((ld|st)mxcsr)\\\\b","name":"keyword.operator.word.mnemonic.sse.state-management"},{"match":"(?i)\\\\b(p(avg[bw]|extrw|insrw|(m(?:ax|in))(sw|ub)|sadbw|shufw|mulhuw|movmskb))\\\\b","name":"keyword.operator.word.mnemonic.sse.simd-integer"},{"match":"(?i)\\\\b(maskmovq|movntps|sfence)\\\\b","name":"keyword.operator.word.mnemonic.sse.cacheability-control"},{"match":"(?i)\\\\b(prefetch(nta|t[012]|w(t1)?))\\\\b","name":"keyword.operator.word.mnemonic.sse.prefetch"}]},"mnemonics-sse2":{"patterns":[{"match":"(?i)\\\\b(mov([ahlu]|msk)pd)\\\\b","name":"keyword.operator.word.mnemonic.sse2.data-transfer"},{"match":"(?i)\\\\b((add|div|max|min|mul|sub|sqrt)[ps]d)\\\\b","name":"keyword.operator.word.mnemonic.sse2.packed-arithmetic"},{"match":"(?i)\\\\b((andn?|x?or)pd)\\\\b","name":"keyword.operator.word.mnemonic.sse2.logical"},{"match":"(?i)\\\\b((cmpp|u?comis)d)\\\\b","name":"keyword.operator.word.mnemonic.sse2.compare"},{"match":"(?i)\\\\b((shuf|unpck[hl])pd)\\\\b","name":"keyword.operator.word.mnemonic.sse2.shuffle-and-unpack"},{"match":"(?i)\\\\b(cvt(dq2pd|pi2pd|ps2pd|pd2ps|si2sd|sd2ss|ss2sd|t?(pd2dq|pd2pi|sd2si)))\\\\b","name":"keyword.operator.word.mnemonic.sse2.conversion"},{"match":"(?i)\\\\b(cvt(dq2ps|ps2dq|tps2dq))\\\\b","name":"keyword.operator.word.mnemonic.sse2.packed-floating-point"},{"match":"(?i)\\\\b(mov(dq[au]|q2dq|dq2q))\\\\b","name":"keyword.operator.word.mnemonic.sse2.simd-integer.mov"},{"match":"(?i)\\\\b(p((add|sub|(s[lr]l|mulu|unpck[hl]q)d)q|shuf(d|[hl]w)))\\\\b","name":"keyword.operator.word.mnemonic.sse2.simd-integer.other"},{"match":"(?i)\\\\b([lm]fence|pause|maskmovdqu|movnt(dq|i|pd))\\\\b","name":"keyword.operator.word.mnemonic.sse2.cacheability-control"}]},"mnemonics-sse3":{"patterns":[{"match":"(?i)\\\\b(fisttp|lddqu|(addsub|h(add|sub))p[ds]|mov(sh|sl|d)dup|monitor|mwait)\\\\b","name":"keyword.operator.word.mnemonic.sse3"},{"match":"(?i)\\\\b(ph(add|sub)(s?w|d))\\\\b","name":"keyword.operator.word.mnemonic.sse3.supplimental.horizontal-packed-arithmetic"},{"match":"(?i)\\\\b(p((abs|sign)[bdw]|maddubsw|mulhrsw|shufb|alignr))\\\\b","name":"keyword.operator.word.mnemonic.sse3.supplimental.other"}]},"mnemonics-sse4":{"patterns":[{"match":"(?i)\\\\b(pmul(ld|dq)|dpp[ds])\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.arithmetic"},{"match":"(?i)\\\\b(movntdqa)\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.load-hint"},{"match":"(?i)\\\\b(blendv?p[ds]|pblend(vb|w))\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.packed-blending"},{"match":"(?i)\\\\b(p(m(?:in|ax))(u[dw]|s[bd]))\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.packed-integer"},{"match":"(?i)\\\\b(round[ps][ds])\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.packed-floating-point"},{"match":"(?i)\\\\b((extract|insert)ps|p((ins|ext)(r[bdq])))\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.insertion-and-extraction"},{"match":"(?i)\\\\b(pmov([sz]x(b[dqw]|dq|wd|wq)))\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.conversion"},{"match":"(?i)\\\\b(mpsadbw|phminposuw|ptest|pcmpeqq|packusdw)\\\\b","name":"keyword.operator.word.mnemonic.sse4.1.other"},{"match":"(?i)\\\\b(pcmp([ei]str[im]|gtq))\\\\b","name":"keyword.operator.word.mnemonic.sse4.2"}]},"mnemonics-supplemental-amd":{"patterns":[{"match":"(?i)\\\\b(bl([cs](fill|ic?|msk)|cs)|t1mskc|tzmsk)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.general-purpose"},{"match":"(?i)\\\\b(clgi|int3|invlpga|iretw|skinit|stgi|vm(load|mcall|run|save)|monitorx|mwaitx)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.system"},{"match":"(?i)\\\\b([ls]lwpcb|lwp(ins|val))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.profiling"},{"match":"(?i)\\\\b(movnts[ds])\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.memory-management"},{"match":"(?i)\\\\b(prefetch|clzero)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.cache-management"},{"match":"(?i)\\\\b((extr|insert)q)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.sse4.a"},{"match":"(?i)\\\\b(vf(?:n?m((add|sub)[ps][ds])|m((addsub|subadd)p[ds])))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.fma4"},{"match":"(?i)\\\\b(vp(cmov|(comu?|rot|sh[al])[bdqw]|mac(s?s(d(d|q[hl])|w[dw]))|madcss?wd|perm))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.xop.simd"},{"match":"(?i)\\\\b(vph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd)))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.xop.simd-horizontal"},{"match":"(?i)\\\\b(v(?:frcz[ps][ds]|permil2p[ds]))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.xop.other"},{"match":"(?i)\\\\b(femms)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.3dnow"},{"match":"(?i)\\\\b(p(?:(avgusb|(f2i|i2f)[dw]|mulhrw|swapd)|f((p?n)?acc|add|max|min|mul|rcp(it[12])?|rsqit1|rsqrt|subr?)))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.3dnow.simd"},{"match":"(?i)\\\\b(pfcmp(eq|ge|gt))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.amd.3dnow.comparison"}]},"mnemonics-supplemental-cyrix":{"patterns":[{"match":"(?i)\\\\b((sv|rs)dc|(wr|rd)shr|paddsiw)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.cyrix"}]},"mnemonics-supplemental-via":{"patterns":[{"match":"(?i)\\\\b(montmul)\\\\b","name":"keyword.operator.word.mnemonic.supplemental.via"},{"match":"(?i)\\\\b(x(store(rng)?|crypt(ecb|cbc|ctr|cfb|ofb)|sha(1|256)))\\\\b","name":"keyword.operator.word.mnemonic.supplemental.via.padlock"}]},"mnemonics-system":{"patterns":[{"match":"(?i)\\\\b((cl|st)ac|[ls]([gil]dt|tr|msw)|clts|arpl|lar|lsl|ver[rw]|inv(d|lpg|pcid)|wbinvd)\\\\b","name":"keyword.operator.word.mnemonic.system"},{"match":"(?i)\\\\b(lock|hlt|rsm|(rd|wr)(msr|pkru|[fg]sbase)|rd(pmc|tscp?)|sys(e(?:nter|xit)))\\\\b","name":"keyword.operator.word.mnemonic.system"},{"match":"(?i)\\\\b(x((save(c|opt|s)?|rstors?)(64)?|[gs]etbv))\\\\b","name":"keyword.operator.word.mnemonic.system"}]},"mnemonics-tsx":{"patterns":[{"match":"(?i)\\\\b(x(abort|begin|end|test|(res|sus)ldtrk))\\\\b","name":"keyword.operator.word.mnemonic.tsx"}]},"mnemonics-uirq":{"patterns":[{"match":"(?i)\\\\b((cl|st|test)ui|senduipi|uiret)\\\\b","name":"keyword.operator.word.mnemonic.uirq"}]},"mnemonics-undocumented":{"patterns":[{"match":"(?i)\\\\b(ret[fn]|icebp|int1|int03|smi|ud1)\\\\b","name":"keyword.operator.word.mnemonic.undocumented"}]},"mnemonics-vmx":{"patterns":[{"match":"(?i)\\\\b(vm(ptr(ld|st)|clear|read|write|launch|resume|xo(ff|n)|call|func)|inv(ept|vpid))\\\\b","name":"keyword.operator.word.mnemonic.vmx"}]},"preprocessor":{"patterns":[{"begin":"^\\\\s*[#%]\\\\s*(error|warning)\\\\b","captures":{"1":{"name":"keyword.control.import.error.c"}},"end":"$","name":"meta.preprocessor.diagnostic.c","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"}]},{"begin":"^\\\\s*[#%]\\\\s*(i(?:nclude|mport))\\\\b\\\\s+","captures":{"1":{"name":"keyword.control.import.include.c"}},"end":"(?=/[*/])|$","name":"meta.preprocessor.c.include","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.double.include.c"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.c"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.string.end.c"}},"name":"string.quoted.other.lt-gt.include.c"}]},{"begin":"^\\\\s*[#%]\\\\s*(i?x?define|defined|elif(def)?|else|i[fs]n?(?:def|macro|ctx|idni?|id|num|str|token|empty|env)?|line|(i|end|uni?)?macro|pragma|endif)\\\\b","captures":{"1":{"name":"keyword.control.import.c"}},"end":"(?=/[*/])|$","name":"meta.preprocessor.c","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"},{"include":"#preprocessor-functions"}]},{"begin":"^\\\\s*[#%]\\\\s*(assign|strlen|substr|(e(?:nd|xit))?rep|push|pop|rotate|use|ifusing|ifusable|def(?:ailas|str|tok)|undef(?:alias)?)\\\\b","captures":{"1":{"name":"keyword.control"}},"end":"$","name":"meta.preprocessor.nasm","patterns":[{"match":"(?>\\\\\\\\\\\\s*\\\\n)","name":"punctuation.separator.continuation.c"},{"include":"#preprocessor-functions"}]}]},"preprocessor-functions":{"patterns":[{"begin":"((%)(abs|cond|count|eval|isn?(?:def|macro|ctx|idni?|id|num|str|token|empty|env)?|num|sel|str(?:cat|len)?|substr|tok)\\\\s*(\\\\())","captures":{"3":{"name":"support.function.preprocessor.asm.x86_64"}},"end":"(\\\\))|$","name":"meta.preprocessor.function.asm.x86_64","patterns":[{"include":"#preprocessor-functions"}]}]},"registers":{"patterns":[{"match":"(?i)\\\\b(?:[a-d][hl]|[er]?[a-d]x|[er]?(?:di|si|bp|sp)|dil|sil|bpl|spl|r(?:[89]|1[0-5])[bdlw]?)\\\\b","name":"constant.language.register.general-purpose.asm.x86_64"},{"match":"(?i)\\\\b[c-gs]s\\\\b","name":"constant.language.register.segment.asm.x86_64"},{"match":"(?i)\\\\b[er]?flags\\\\b","name":"constant.language.register.flags.asm.x86_64"},{"match":"(?i)\\\\b[er]?ip\\\\b","name":"constant.language.register.instruction-pointer.asm.x86_64"},{"match":"(?i)\\\\bcr[0234]\\\\b","name":"constant.language.register.control.asm.x86_64"},{"match":"(?i)\\\\b(?:mm|st|fpr)[0-7]\\\\b","name":"constant.language.register.mmx.asm.x86_64"},{"match":"(?i)\\\\b(?:[xy]mm(?:[0-9]|1[0-5])|mxcsr)\\\\b","name":"constant.language.register.sse_avx.asm.x86_64"},{"match":"(?i)\\\\bzmm(?:[12]?[0-9]|30|31)\\\\b","name":"constant.language.register.avx512.asm.x86_64"},{"match":"(?i)\\\\bbnd(?:[0-3]|cfg[su]|status)\\\\b","name":"constant.language.register.memory-protection.asm.x86_64"},{"match":"(?i)\\\\b(?:[gil]dtr?|tr)\\\\b","name":"constant.language.register.system-table-pointer.asm.x86_64"},{"match":"(?i)\\\\bdr[0-367]\\\\b","name":"constant.language.register.debug.asm.x86_64"},{"match":"(?i)\\\\b(?:cr8|dr(?:[89]|1[0-5])|efer|tpr|syscfg)\\\\b","name":"constant.language.register.amd.asm.x86_64"},{"match":"(?i)\\\\b(?:db[0-367]|t[67]|tr[3-7]|st)\\\\b","name":"invalid.deprecated.constant.language.register.asm.x86_64"},{"match":"(?i)\\\\b[xy]mm(?:1[6-9]|2[0-9]|3[01])\\\\b","name":"constant.language.register.general-purpose.alias.asm.x86_64"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asm"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.asm"}},"name":"string.quoted.double.asm","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asm"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.asm"}},"name":"string.quoted.single.asm","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]},{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.asm"}},"end":"`","endCaptures":{"0":{"name":"punctuation.definition.string.end.asm"}},"name":"string.quoted.backquote.asm","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}]}]},"support":{"patterns":[{"match":"(?i)\\\\b(?:s?byte|(?:[doqtyz]|dq|s[dq]?)?word|(?:d|res)[bdoqtwyz]|ddq)\\\\b","name":"storage.type.asm.x86_64"},{"match":"(?i)\\\\b(?:incbin|equ|times|dup)\\\\b","name":"support.function.asm.x86_64"},{"match":"(?i)\\\\b(?:strict|nosplit|near|far|abs|rel)\\\\b","name":"storage.modifier.asm.x86_64"},{"match":"(?i)\\\\b[ao](?:16|32|64)\\\\b","name":"storage.modifier.prefix.asm.x86_64"},{"match":"(?i)\\\\b(?:rep(?:n?[ez])?|lock|xacquire|xrelease|(?:no)?bnd)\\\\b","name":"storage.modifier.prefix.asm.x86_64"},{"captures":{"1":{"name":"storage.modifier.prefix.vex.asm.x86_64"}},"match":"\\\\{(vex[23]?|evex|rex)}"},{"captures":{"1":{"name":"storage.modifier.opmask.asm.x86_64"}},"match":"\\\\{(k[1-7])}"},{"captures":{"1":{"name":"storage.modifier.precision.asm.x86_64"}},"match":"\\\\{(1to(?:8|16))}"},{"captures":{"1":{"name":"storage.modifier.rounding.asm.x86_64"}},"match":"\\\\{(z|(?:r[dnuz]-)?sae)}"},{"match":"\\\\.\\\\.(?:start|imagebase|tlvp|got(?:pc(?:rel)?|(?:tp)?off)?|plt|sym|tlsie)\\\\b","name":"support.constant.asm.x86_64"},{"match":"\\\\b__\\\\?(?:utf(?:16|32)(?:[bl]e)?|float(?:8|16|32|64|80[em]|128[hl])|bfloat16|Infinity|[QS]?NaN)\\\\?__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__(?:utf(?:16|32)(?:[bl]e)?|float(?:8|16|32|64|80[em]|128[hl])|bfloat16|Infinity|[QS]?NaN)__\\\\b","name":"support.function.legacy.asm.x86_64"},{"match":"\\\\b__\\\\?NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)\\\\?__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b___\\\\?NASM_PATCHLEVEL\\\\?__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__\\\\?(?:FILE|LINE|BITS|OUTPUT_FORMAT|DEBUG_FORMAT)\\\\?__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__\\\\?(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)\\\\?__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__\\\\?USE_\\\\w+\\\\?__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__\\\\?PASS\\\\?__\\\\b","name":"invalid.deprecated.support.constant.altreg.asm.x86_64"},{"match":"\\\\b__\\\\?ALIGNMODE\\\\?__\\\\b","name":"support.constant.smartalign.asm.x86_64"},{"match":"\\\\b__\\\\?ALIGN_(\\\\w+)\\\\?__\\\\b","name":"support.function.smartalign.asm.x86_64"},{"match":"\\\\b__NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b___NASM_PATCHLEVEL__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__(?:FILE|LINE|BITS|OUTPUT_FORMAT|DEBUG_FORMAT)__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__USE_\\\\w+__\\\\b","name":"support.function.asm.x86_64"},{"match":"\\\\b__PASS__\\\\b","name":"invalid.deprecated.support.constant.altreg.asm.x86_64"},{"match":"\\\\b__ALIGNMODE__\\\\b","name":"support.constant.smartalign.asm.x86_64"},{"match":"\\\\b__ALIGN_(\\\\w+)__\\\\b","name":"support.function.smartalign.asm.x86_64"},{"match":"\\\\b(?:Inf|[QS]?NaN)\\\\b","name":"support.constant.fp.asm.x86_64"},{"match":"\\\\bfloat(?:8|16|32|64|80[em]|128[hl])\\\\b","name":"support.function.fp.asm.x86_64"},{"match":"(?i)\\\\bilog2(?:[cefw]|[cf]w)?\\\\b","name":"support.function.ifunc.asm.x86_64"}]}},"scopeName":"source.asm.x86_64"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-D_Q5rh1f.js.map diff --git a/src/webview-ui/build/assets/chunk-D_Q5rh1f.js.map b/src/webview-ui/build/assets/chunk-D_Q5rh1f.js.map new file mode 100644 index 0000000000..eeee2a505d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-D_Q5rh1f.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-D_Q5rh1f.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/asm.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Assembly\\\",\\\"fileTypes\\\":[\\\"asm\\\",\\\"nasm\\\",\\\"yasm\\\",\\\"inc\\\",\\\"s\\\"],\\\"name\\\":\\\"asm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#registers\\\"},{\\\"include\\\":\\\"#mnemonics\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#entities\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#strings\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(;|(^|\\\\\\\\s)#\\\\\\\\s).*$\\\",\\\"name\\\":\\\"comment.line\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*[#%]\\\\\\\\s*if\\\\\\\\s+0\\\\\\\\b\\\",\\\"end\\\":\\\"^\\\\\\\\s*[#%]\\\\\\\\s*endif\\\\\\\\b\\\",\\\"name\\\":\\\"comment.preprocessor\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b0[by][01][01_]*\\\\\\\\.(?:(?:[01][01_]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.binary.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b0[by][01][01_]*p[-+]?[0-9][0-9_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.binary.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b0[oq][0-7][0-7_]*\\\\\\\\.(?:(?:[0-7][0-7_]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.octal.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b0[oq][0-7][0-7_]*p[-+]?[0-9][0-9_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.octal.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:0[dt])?[0-9][0-9_]*\\\\\\\\.(?:(?:[0-9][0-9_]*)?(?:e[-+]?[0-9][0-9_]*)?\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.decimal.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[0-9][0-9_]*e[-+]?[0-9][0-9_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[0-9][0-9_]*p(?:[0-9][0-9_]*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.packed-bcd.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b0[hx]\\\\\\\\h[_\\\\\\\\h]*\\\\\\\\.(?:(?:\\\\\\\\h[_\\\\\\\\h]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.hex.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b0[hx]\\\\\\\\h[_\\\\\\\\h]*p[-+]?[0-9][0-9_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\$[0-9]_?(?:\\\\\\\\h[_\\\\\\\\h]*)?\\\\\\\\.(?:(?:\\\\\\\\h[_\\\\\\\\h]*)?(?:p[-+]?[0-9][0-9_]*)?\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.hex.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\$[0-9]_?\\\\\\\\h[_\\\\\\\\h]*p[-+]?[0-9][0-9_]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.floating-point.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:0[by][01][01_]*|[01][01_]*[by])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.binary.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:0[oq][0-7][0-7_]*|[0-7][0-7_]*[oq])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.octal.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:0[dt][0-9][0-9_]*|[0-9][0-9_]*[dt]?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\$[0-9]_?(?:\\\\\\\\h[_\\\\\\\\h]*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:0[hx]\\\\\\\\h[_\\\\\\\\h]*|\\\\\\\\h[_\\\\\\\\h]*[HXhx])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.asm.x86_64\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"((se(?:ction|gment))\\\\\\\\s+)?\\\\\\\\.((ro)?data|bss|text)\\\",\\\"name\\\":\\\"entity.name.section\\\"},{\\\"match\\\":\\\"^\\\\\\\\.?(globa?l|extern|required)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.directive\\\"},{\\\"match\\\":\\\"(\\\\\\\\$\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"text.variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.special.asm.x86_64\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64\\\"}},\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\.@)([?_[:alpha:]][#$.?@_~[:alnum:]]*)(?:(:)?|\\\\\\\\b)\\\",\\\"name\\\":\\\"entity.name.function.asm.x86_64\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.asm.x86_64\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)?|\\\\\\\\b)([?_[:alpha:]][#$.?@_~[:alnum:]]*)(:)\\\",\\\"name\\\":\\\"entity.name.function.asm.x86_64\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.asm.x86_64\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)([0-9]+[#$.?@_~[:alnum:]]*)(?:(:)?|\\\\\\\\b)\\\",\\\"name\\\":\\\"entity.name.function.asm.x86_64\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64 storage.modifier.asm.x86_64\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.entity.name.function.asm.x86_64\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.asm.x86_64\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)?|\\\\\\\\b)([$0-9@~][#$.?@_~[:alnum:]]*)(:)\\\",\\\"name\\\":\\\"invalid.illegal.entity.name.function.asm.x86_64\\\"}]},\\\"mnemonics\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#mnemonics-general-purpose\\\"},{\\\"include\\\":\\\"#mnemonics-fpu\\\"},{\\\"include\\\":\\\"#mnemonics-mmx\\\"},{\\\"include\\\":\\\"#mnemonics-sse\\\"},{\\\"include\\\":\\\"#mnemonics-sse2\\\"},{\\\"include\\\":\\\"#mnemonics-sse3\\\"},{\\\"include\\\":\\\"#mnemonics-sse4\\\"},{\\\"include\\\":\\\"#mnemonics-aesni\\\"},{\\\"include\\\":\\\"#mnemonics-avx\\\"},{\\\"include\\\":\\\"#mnemonics-avx2\\\"},{\\\"include\\\":\\\"#mnemonics-tsx\\\"},{\\\"include\\\":\\\"#mnemonics-sha\\\"},{\\\"include\\\":\\\"#mnemonics-avx512\\\"},{\\\"include\\\":\\\"#mnemonics-system\\\"},{\\\"include\\\":\\\"#mnemonics-64bit\\\"},{\\\"include\\\":\\\"#mnemonics-vmx\\\"},{\\\"include\\\":\\\"#mnemonics-smx\\\"},{\\\"include\\\":\\\"#mnemonics-mpx\\\"},{\\\"include\\\":\\\"#mnemonics-sgx\\\"},{\\\"include\\\":\\\"#mnemonics-cet\\\"},{\\\"include\\\":\\\"#mnemonics-amx\\\"},{\\\"include\\\":\\\"#mnemonics-uirq\\\"},{\\\"include\\\":\\\"#mnemonics-esi\\\"},{\\\"include\\\":\\\"#mnemonics-speculation\\\"},{\\\"include\\\":\\\"#mnemonics-intel-manual-listing\\\"},{\\\"include\\\":\\\"#mnemonics-intel-isa-xeon-phi\\\"},{\\\"include\\\":\\\"#mnemonics-intel-isa-keylocker\\\"},{\\\"include\\\":\\\"#mnemonics-supplemental-amd\\\"},{\\\"include\\\":\\\"#mnemonics-supplemental-cyrix\\\"},{\\\"include\\\":\\\"#mnemonics-supplemental-via\\\"},{\\\"include\\\":\\\"#mnemonics-undocumented\\\"},{\\\"include\\\":\\\"#mnemonics-future-intel\\\"},{\\\"include\\\":\\\"#mnemonics-pseudo-ops\\\"}]},\\\"mnemonics-64bit\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(cdqe|cqo|(cmp|lod|mov|sto)sq|cmpxchg16b|mov(ntq|sxd)|scasq|swapgs|sys(call|ret))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.64-bit-mode\\\"}]},\\\"mnemonics-aesni\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(aes((dec|enc)(last)?|imc|keygenassist)|pclmulqdq)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.aesni\\\"}]},\\\"mnemonics-amx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b((ld|st)tilecfg|tdpb(f16ps|[su]{2}d)|tile(loadd(t1)?|release|stored|zero))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.amx\\\"}]},\\\"mnemonics-avx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(v((test|permil|maskmov)p[ds]|zero(all|upper)|(perm2|insert|extract|broadcast)f128|broadcasts[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(?:aes((dec|enc)(last)?|imc|keygenassist)|pclmulqdq))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.aes\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v((cmp[ps]|u?comis)[ds]|pcmp([ei]str[im]|(eq|gt)[bdqw])))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.comparison\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(cvt(dq2pd|dq2ps|pd2ps|ps2pd|sd2ss|si2sd|si2ss|ss2sd|t?(pd2dq|ps2dq|sd2si|ss2si))))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(?:h((add|sub)p[ds])|ph((add|sub)([dw]|sw)|minposuw)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.horizontal-packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v((andn?|x?or)p[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.logical\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(mov(([ahl]|msk|nt|u)p[ds]|(hl|lh)ps|s([ds]|[hl]dup)|q)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.mov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v((add|div|mul|sub|max|min|round|sqrt)[ps][ds]|(addsub|dp)p[ds]|(r(?:cp|sqrt))[ps]s))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(pack[su]s(dw|wb)|punpck[hl](bw|dq|wd|qdq)|unpck[hl]p[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.packed-conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(?:p(shuf([bd]|[hl]w))|shufp[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.packed-shuffle\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp((abs|sign|(m(?:ax|in))[su])[bdw]|(add|sub)([bdqw]|u?s[bw])|avg[bw]|extr[bdqw]|madd(wd|ubsw)|mul(hu?w|hrsw|l[dw]|u?dq)|sadbw))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.supplemental.arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(andn?|x?or))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.supplemental.logical\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vpblend(vb|w))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.supplemental.blending\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vpmov(mskb|[sz]x(b[dqw]|w[dq]|dq)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.supplemental.mov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(insr[bdqw]|sll(dq|[dqw])|srl(dq)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.simd-integer\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(sr(?:a[dqw]|l[dqw])))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.shift-and-rotate\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vblendv?p[ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.packed-blending\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(test|alignr))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.packed-other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vmov(d(dup|qa|qu)?))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.simd-integer.mov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v((extract|insert)ps|lddqu|(ld|st)mxcsr|mpsadbw))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(m(?:askmovdqu|ovntdqa?)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx.promoted.cacheability-control\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vcvt(p(?:h2ps|s2ph)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.16-bit-floating-point-conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vf(?:n?m((add|sub)(132|213|231)[ps][ds])|m((addsub|subadd)(132|213|231)p[ds])))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fma\\\"}]},\\\"mnemonics-avx2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(v((broadcast|extract|insert|perm2)i128|pmaskmov[dq]|perm([dqs]|p[ds])))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx2.promoted.simd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vpbroadcast[bdqw])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx2.promoted.packed\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(blendd|s[lr]lv[dq]|sravd))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx2.blend\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(?:p?gather[dq][dq]|gather([dq]|dq)p[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx2.gather\\\"}]},\\\"mnemonics-avx512\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#mnemonics-avx512f\\\"},{\\\"include\\\":\\\"#mnemonics-avx512dq\\\"},{\\\"include\\\":\\\"#mnemonics-avx512bw\\\"},{\\\"include\\\":\\\"#mnemonics-avx512-opmask\\\"},{\\\"include\\\":\\\"#mnemonics-avx512er\\\"},{\\\"include\\\":\\\"#mnemonics-avx512pf\\\"},{\\\"include\\\":\\\"#mnemonics-avx512fp16\\\"}]},\\\"mnemonics-avx512-opmask\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bk(add|andn?|mov|not|or(test)?|shift[lr]|test|xn?or)[bdqw]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.opmask\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bkunpck(bw|wd|dq)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.opmask.unpack\\\"}]},\\\"mnemonics-avx512bw\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bv(dbpsadbw|movdqu(8|16))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.bw.dbpsad\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(blendm|cmpu?|movm2)[bw]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.bw.pblend\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvperm(w|i2[bw])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.bw.perpmi2\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(mov([bw]2m|u?swb))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.bw.pmov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(s(ll|ra|rl)vw|testn?m[bw])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.bw.psll\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(broadcastm(b2q|w2d)|(conflict|lzcnt)[dq])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.bw.broadcast\\\"}]},\\\"mnemonics-avx512dq\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvt(t?p[ds]2u?qq|uqq2p[ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.dq.cvt\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv((extract|insert)[fi]64x2|(fpclass|range|reduce)[ps][ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.dq.extract\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(m(?:ov(m2[dq]|b2d|q2m)|ullq))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.dq.pmov\\\"}]},\\\"mnemonics-avx512er\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bv(exp2|rcp28|rsqrt28)[ps][ds]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.er\\\"}]},\\\"mnemonics-avx512f\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bv(align[dq]|(blendm|compress)p[ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.align\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(cvtt?[ps][ds]2u(dq|si))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.cvtt\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(cvt((q|ud)q2p|usi2s)[ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.cvt\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(expandp[ds]|extract[fi](32|64)x4|fixupimm[ps][ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.expand\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(get(exp|mant)[ps][ds]|insertf(32|64)x4|movdq[au](32|64))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.getexp\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(blendm[dq]|cmpu?[dq]|compress[dq])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.pblend\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(erm[it]2([dq]|p[ds])|expand[dq]|(m(?:ax|in))[su]q|movu?s(q[bdw]|d[bw]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.permi\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(rolv?|rorr?|scatter[dq]|testn?m|terlog)[dq]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.prol\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvpsravq\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.sravq\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(rcp14|(rnd)?scale|rsqrt14)[ps][ds]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.rcp\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(s(?:catter[dq]{2}|huf[fi](32|64)x[24]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.f.scatter\\\"}]},\\\"mnemonics-avx512fp16\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bv((add|cmp|div|fc?(m(?:add|ul))c|fpclass|get(exp|mant)|mul|rcp|reduce|(rnd)?scale|r?sqrt|sub)[ps]h|u?comish)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.add\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvt(u?([dq]q|w)|pd)2ph\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.cvtx2ph\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvtph2(u?([dq]q|w)|pd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.cvtph2x\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvt(p(?:h2psx|s2phx))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.cvtx\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvt(s[dis]|usi)2sh\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.cvtx2sh\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvtsh2(s[dis]|usi)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.cvtsh2x\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvcvtt(ph2(u?(dq|qq|w))|sh2u?si)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.cvttph2x\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvfn?m((add|sub)(132|213|231))[ps]h\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.fmadd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvfm(addsub|subadd)(132|213|231)ph\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.fmaddsub\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv((m(?:in|ax))ph|mov(sh|w))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.fp16.max\\\"}]},\\\"mnemonics-avx512pf\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bv(gather|scatter)pf[01][dq]p[ds]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.avx512.pf\\\"}]},\\\"mnemonics-cet\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b((inc|save(prev)?|rstor|rd)ssp|wru?ss|(set|clr)ssbsy|endbr(32|64))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.cet\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bendbranch\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.cet.misc\\\"}]},\\\"mnemonics-esi\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\benqcmds?\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.esi\\\"}]},\\\"mnemonics-fpu\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(fcmov(n?([beu]|be)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.data-transfer.mov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f(i?(ld|stp?)|b(ld|stp)|xch))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.data-transfer.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f((add|div|mul|sub)p?|i(add|div|mul|sub)|(div|sub)rp?|i(div|sub)r))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.basic-arithmetic.basic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f(prem1?|abs|chs|rndint|scale|sqrt|xtract))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.basic-arithmetic.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f(u?com[ip]?p?|icomp?|tst|xam))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.comparison\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f(sin|cos|sincos|pa?tan|2xm1|yl2x(p1)?))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.transcendental\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(fld([1z]|pi|l2[et]|l[gn]2))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.load-constants\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f((inc|dec)stp|free|n?(init|clex|st[cs]w|stenv|save)|ld(cw|env)|rstor|nop)|f?wait)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.control-management\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(fx(save|rstor)(64)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.fpu.state-management\\\"}]},\\\"mnemonics-future-intel\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#mnemonics-future-intel-apx\\\"}]},\\\"mnemonics-future-intel-apx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(c(cmp|test)(n?[bl]e?|[ft]|n?[osz]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.apx.ccmp_test\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cfcmovn?([bl]e?|[opsz]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.apx.cfcmov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cmpn?([bl]e?|[opsz])xadd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.apx.cmpxadd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(jmpabs|(p(?:ush|op))2p?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.apx.other\\\"}]},\\\"mnemonics-general-purpose\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:mov(?:[sz]x)?|cmov(?:n?[abceglopsz]|n?[abgl]e|p[eo]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.data-transfer.mov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(xchg|bswap|xadd|cmpxchg(8b)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.data-transfer.xchg\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((p(?:ush|op))(ad?)?|cwde?|cdq|cbw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.data-transfer.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(adcx?|adox|add|sub|sbb|i?mul|i?div|inc|dec|neg|cmp)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.binary-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(daa|das|aaa|aas|aam|aad)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.decimal-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(and|x?or|not)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.logical\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(s[ah][lr]|sh[lr]d|r[co][lr])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.rotate\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(set(n?[abceglopsz]|n?[abgl]e|p[eo]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.bit-and-byte.set\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(bt[crs]?|bs[fr]|test|crc32|popcnt)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.bit-and-byte.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(j(?:mp|n?[abceglopsz]|n?[abgl]e|p[eo]|[er]?cxz))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.control-transfer.jmp\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(loop(n?[ez])?|call|ret|iret[dq]?|into?|bound|enter|leave)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.control-transfer.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((mov|cmp|sca|lod|sto)(s[bdw]?)|rep(n?[ez])?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.strings\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((in|out)(s[bdw]?)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.io\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((st|cl)[cdi]|cmc|[ls]ahf|(p(?:ush|op))f[dq]?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.flag-control\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(l[d-gs]s)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.segment-registers\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(lea|nop|ud2?|xlatb?|cpuid|movbe)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.misc\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cl(flush(opt)?|demote|wb)|pcommit)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.cache-control\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(rd(?:rand|seed))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.rng\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(andn|bextr|bls([ir]|msk)|bzhi|pdep|pext|[lt]zcnt|(mul|ror|sar|shl|shr)x)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.general-purpose.bmi\\\"}]},\\\"mnemonics-intel-isa-keylocker\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(aes(enc|dec)(wide)?(128|256)kl|encodekey(128|256)|loadiwkey)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.keylocker\\\"}]},\\\"mnemonics-intel-isa-xeon-phi\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bv(4fn?(madd)[ps]s|p4dpwssds?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.xeon-phi\\\"}]},\\\"mnemonics-intel-manual-listing\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bcvtt?pd1pi\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.c\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv?gf2p8(affine(inv)?q|mul)b\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.g\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bhreset\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.h\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bincssp[dq]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.i\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmovdir(i|64b)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.m\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bp((abs|(m(?:ax|in))[su]?|mull|sra)q|config|twrite)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.p\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brd(pid|ssp[dq])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.r\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bserialize\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.s\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btpause\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.t\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bu(m(?:onitor|wait))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.u\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvbroadcast[fi](32x[248]|64x[24])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vb\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(c(?:ompressw|vtne2?ps2bf16))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vc\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvdpbf16ps\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvextract[fi]32x8\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.ve\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(insert([fi]32x8|i(32|64)x4))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vi\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(maskmov|(m(?:ax|in))sh)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vm\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp((2intersect|andn?)[dq]|absq)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpa\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvpbroadcasti32x4\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpb\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvpcompress[bw]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpc\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(dp(bu|ws)sds?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(?:erm(b|t2[bw])|(ex(?:pand[bw]|trtd))))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpe\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(m(?:add52[hl]uq|ov(d(2m|[bw])|q[bdw]|wb)|pov[bdqw]2m|ultishiftqb))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpm\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vpo(?:pcnt[bdqw]|r[dq]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpo\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvprorv[dq]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpr\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(sh(?:[lr]dv?[dqw]|ufbitqmb|ufps))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vps\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvpternlog[dq]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpt\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvpxor[dq]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vpx\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bv(sca(?:lef[ps][dhs]|tter[dq]p[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.vs\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(w(?:bnoinvd|ru?ss[dq]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.other.w\\\"}]},\\\"mnemonics-invalid\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#mnemonics-invalid-amd-sse5\\\"}]},\\\"mnemonics-invalid-amd-sse5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(com[ps][ds]|pcomu?[bdqw])\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.keyword.operator.word.mnemonic.sse5.comparison\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cvtp(h2ps|s2ph)|frcz[ps][ds])\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.keyword.operator.word.mnemonic.sse5.conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(fn?m((add|sub)[ps][ds])|ph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd))|pma(css?(d(d|q[hl])|w[dw])|dcss?wd))\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.keyword.operator.word.mnemonic.sse5.packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(?:cmov|ermp[ds]|perm|rot[bdqw]|sh[al][bdqw]))\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.keyword.operator.word.mnemonic.sse5.simd-integer\\\"}]},\\\"mnemonics-mmx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(mov[dq])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.data-transfer\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(?:ack(ssdw|[su]swb)|unpck[hl](bw|dq|wd)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(((add|sub)(d|(u?s)?[bw]))|maddwd|mul[hl]w))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(pcmp((eq|gt)[bdw]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.comparison\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(?:andn?|x?or))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.logical\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ps([lr]l[dqw]|raw|rad))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.shift-and-rotate\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(emms)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mmx.state-management\\\"}]},\\\"mnemonics-mpx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(bnd(mk|c[lnu]|mov|ldx|stx))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.mpx\\\"}]},\\\"mnemonics-pseudo-ops\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(cmp(n?(eq|lt|le)|(un)?ord)[ps][ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.pseudo-mnemonic.sse2.compare\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v?pclmul([hl]q[hl]q|[hl]qh)dq)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.pseudo-mnemonic.avx.promoted.aes\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vcmp(eq(_(os|uq|us))?|neq(_(oq|os|us))?|[gl][et](_oq)?|n[gl][et](_uq)?|(un)?ord(_s)?|false(_os)?|true(_us)?)[ps][ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.pseudo-mnemonic.avx.promoted.comparison\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bvp(cmpn?(eq|le|lt))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.pseudo-mnemonic.avx512.compare\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vpcom(n?eq|[gl][et]|false|true)(b|uw))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.pseudo-mnemonic.supplemental.amd.xop.simd\\\"}]},\\\"mnemonics-sgx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bencl[su]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sgx\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.sgx1.supervisor\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\be(add|block|create|dbg(rd|wr)|extend|init|ld[bu]|pa|remove|track|wb)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.sgx1.supervisor\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\be(enter|exit|getkey|report|resume)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.sgx1.user\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\be(aug|mod(pr|t))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.sgx2.supervisor\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\be(accept(copy)?|modpe)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.sgx2.user\\\"}]},\\\"mnemonics-sha\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(sha(1rnds4|256rnds2|1nexte|(1|256)msg[12]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sha\\\"}]},\\\"mnemonics-smx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(getsec)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.smx.getsec\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(capabilities|enteraccs|exitac|senter|sexit|parameters|smctrl|wakeup)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.smx\\\"}]},\\\"mnemonics-speculation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bib(pb|hf)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.speculation\\\"}]},\\\"mnemonics-sse\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(mov(([ahlu]|hl|lh|msk)ps|ss))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.data-transfer\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((add|div|max|min|mul|rcp|r?sqrt|sub)[ps]s)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cmp[ps]s|u?comiss)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.comparison\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((andn?|x?or)ps)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.logical\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((shuf|unpck[hl])ps)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.shuffle-and-unpack\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cvt(pi2ps|si2ss|ps2pi|tps2pi|ss2si|tss2si))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((ld|st)mxcsr)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.state-management\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(avg[bw]|extrw|insrw|(m(?:ax|in))(sw|ub)|sadbw|shufw|mulhuw|movmskb))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.simd-integer\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(maskmovq|movntps|sfence)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.cacheability-control\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(prefetch(nta|t[012]|w(t1)?))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse.prefetch\\\"}]},\\\"mnemonics-sse2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(mov([ahlu]|msk)pd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.data-transfer\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((add|div|max|min|mul|sub|sqrt)[ps]d)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((andn?|x?or)pd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.logical\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((cmpp|u?comis)d)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.compare\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((shuf|unpck[hl])pd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.shuffle-and-unpack\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cvt(dq2pd|pi2pd|ps2pd|pd2ps|si2sd|sd2ss|ss2sd|t?(pd2dq|pd2pi|sd2si)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(cvt(dq2ps|ps2dq|tps2dq))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.packed-floating-point\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(mov(dq[au]|q2dq|dq2q))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.simd-integer.mov\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p((add|sub|(s[lr]l|mulu|unpck[hl]q)d)q|shuf(d|[hl]w)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.simd-integer.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b([lm]fence|pause|maskmovdqu|movnt(dq|i|pd))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse2.cacheability-control\\\"}]},\\\"mnemonics-sse3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(fisttp|lddqu|(addsub|h(add|sub))p[ds]|mov(sh|sl|d)dup|monitor|mwait)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse3\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ph(add|sub)(s?w|d))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse3.supplimental.horizontal-packed-arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p((abs|sign)[bdw]|maddubsw|mulhrsw|shufb|alignr))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse3.supplimental.other\\\"}]},\\\"mnemonics-sse4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(pmul(ld|dq)|dpp[ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.arithmetic\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(movntdqa)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.load-hint\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(blendv?p[ds]|pblend(vb|w))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.packed-blending\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(m(?:in|ax))(u[dw]|s[bd]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.packed-integer\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(round[ps][ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.packed-floating-point\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((extract|insert)ps|p((ins|ext)(r[bdq])))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.insertion-and-extraction\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(pmov([sz]x(b[dqw]|dq|wd|wq)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.conversion\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(mpsadbw|phminposuw|ptest|pcmpeqq|packusdw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.1.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(pcmp([ei]str[im]|gtq))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.sse4.2\\\"}]},\\\"mnemonics-supplemental-amd\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(bl([cs](fill|ic?|msk)|cs)|t1mskc|tzmsk)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.general-purpose\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(clgi|int3|invlpga|iretw|skinit|stgi|vm(load|mcall|run|save)|monitorx|mwaitx)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.system\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b([ls]lwpcb|lwp(ins|val))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.profiling\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(movnts[ds])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.memory-management\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(prefetch|clzero)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.cache-management\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((extr|insert)q)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.sse4.a\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vf(?:n?m((add|sub)[ps][ds])|m((addsub|subadd)p[ds])))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.fma4\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vp(cmov|(comu?|rot|sh[al])[bdqw]|mac(s?s(d(d|q[hl])|w[dw]))|madcss?wd|perm))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.xop.simd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(vph(addu?(b[dqw]|w[dq]|dq)|sub(bw|dq|wd)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.xop.simd-horizontal\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(v(?:frcz[ps][ds]|permil2p[ds]))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.xop.other\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(femms)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.3dnow\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(p(?:(avgusb|(f2i|i2f)[dw]|mulhrw|swapd)|f((p?n)?acc|add|max|min|mul|rcp(it[12])?|rsqit1|rsqrt|subr?)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.3dnow.simd\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(pfcmp(eq|ge|gt))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.amd.3dnow.comparison\\\"}]},\\\"mnemonics-supplemental-cyrix\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b((sv|rs)dc|(wr|rd)shr|paddsiw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.cyrix\\\"}]},\\\"mnemonics-supplemental-via\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(montmul)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.via\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(x(store(rng)?|crypt(ecb|cbc|ctr|cfb|ofb)|sha(1|256)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.supplemental.via.padlock\\\"}]},\\\"mnemonics-system\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b((cl|st)ac|[ls]([gil]dt|tr|msw)|clts|arpl|lar|lsl|ver[rw]|inv(d|lpg|pcid)|wbinvd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.system\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(lock|hlt|rsm|(rd|wr)(msr|pkru|[fg]sbase)|rd(pmc|tscp?)|sys(e(?:nter|xit)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.system\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(x((save(c|opt|s)?|rstors?)(64)?|[gs]etbv))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.system\\\"}]},\\\"mnemonics-tsx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(x(abort|begin|end|test|(res|sus)ldtrk))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.tsx\\\"}]},\\\"mnemonics-uirq\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b((cl|st|test)ui|senduipi|uiret)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.uirq\\\"}]},\\\"mnemonics-undocumented\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(ret[fn]|icebp|int1|int03|smi|ud1)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.undocumented\\\"}]},\\\"mnemonics-vmx\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(vm(ptr(ld|st)|clear|read|write|launch|resume|xo(ff|n)|call|func)|inv(ept|vpid))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.mnemonic.vmx\\\"}]},\\\"preprocessor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*[#%]\\\\\\\\s*(error|warning)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.error.c\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.preprocessor.diagnostic.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*[#%]\\\\\\\\s*(i(?:nclude|mport))\\\\\\\\b\\\\\\\\s+\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|$\\\",\\\"name\\\":\\\"meta.preprocessor.c.include\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.include.c\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.c\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*[#%]\\\\\\\\s*(i?x?define|defined|elif(def)?|else|i[fs]n?(?:def|macro|ctx|idni?|id|num|str|token|empty|env)?|line|(i|end|uni?)?macro|pragma|endif)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|$\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"},{\\\"include\\\":\\\"#preprocessor-functions\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*[#%]\\\\\\\\s*(assign|strlen|substr|(e(?:nd|xit))?rep|push|pop|rotate|use|ifusing|ifusable|def(?:ailas|str|tok)|undef(?:alias)?)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.preprocessor.nasm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?>\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"punctuation.separator.continuation.c\\\"},{\\\"include\\\":\\\"#preprocessor-functions\\\"}]}]},\\\"preprocessor-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((%)(abs|cond|count|eval|isn?(?:def|macro|ctx|idni?|id|num|str|token|empty|env)?|num|sel|str(?:cat|len)?|substr|tok)\\\\\\\\s*(\\\\\\\\())\\\",\\\"captures\\\":{\\\"3\\\":{\\\"name\\\":\\\"support.function.preprocessor.asm.x86_64\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|$\\\",\\\"name\\\":\\\"meta.preprocessor.function.asm.x86_64\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-functions\\\"}]}]},\\\"registers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:[a-d][hl]|[er]?[a-d]x|[er]?(?:di|si|bp|sp)|dil|sil|bpl|spl|r(?:[89]|1[0-5])[bdlw]?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.general-purpose.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[c-gs]s\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.segment.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[er]?flags\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.flags.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[er]?ip\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.instruction-pointer.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bcr[0234]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.control.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:mm|st|fpr)[0-7]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.mmx.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:[xy]mm(?:[0-9]|1[0-5])|mxcsr)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.sse_avx.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bzmm(?:[12]?[0-9]|30|31)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.avx512.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbnd(?:[0-3]|cfg[su]|status)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.memory-protection.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:[gil]dtr?|tr)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.system-table-pointer.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdr[0-367]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.debug.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:cr8|dr(?:[89]|1[0-5])|efer|tpr|syscfg)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.amd.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:db[0-367]|t[67]|tr[3-7]|st)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.deprecated.constant.language.register.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[xy]mm(?:1[6-9]|2[0-9]|3[01])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.register.general-purpose.alias.asm.x86_64\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.asm\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.asm\\\"}},\\\"name\\\":\\\"string.quoted.double.asm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.asm\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.asm\\\"}},\\\"name\\\":\\\"string.quoted.single.asm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.asm\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.asm\\\"}},\\\"name\\\":\\\"string.quoted.backquote.asm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"}]}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:s?byte|(?:[doqtyz]|dq|s[dq]?)?word|(?:d|res)[bdoqtwyz]|ddq)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:incbin|equ|times|dup)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:strict|nosplit|near|far|abs|rel)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b[ao](?:16|32|64)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.prefix.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(?:rep(?:n?[ez])?|lock|xacquire|xrelease|(?:no)?bnd)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.prefix.asm.x86_64\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.prefix.vex.asm.x86_64\\\"}},\\\"match\\\":\\\"\\\\\\\\{(vex[23]?|evex|rex)}\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.opmask.asm.x86_64\\\"}},\\\"match\\\":\\\"\\\\\\\\{(k[1-7])}\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.precision.asm.x86_64\\\"}},\\\"match\\\":\\\"\\\\\\\\{(1to(?:8|16))}\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.rounding.asm.x86_64\\\"}},\\\"match\\\":\\\"\\\\\\\\{(z|(?:r[dnuz]-)?sae)}\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.(?:start|imagebase|tlvp|got(?:pc(?:rel)?|(?:tp)?off)?|plt|sym|tlsie)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?(?:utf(?:16|32)(?:[bl]e)?|float(?:8|16|32|64|80[em]|128[hl])|bfloat16|Infinity|[QS]?NaN)\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__(?:utf(?:16|32)(?:[bl]e)?|float(?:8|16|32|64|80[em]|128[hl])|bfloat16|Infinity|[QS]?NaN)__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.legacy.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b___\\\\\\\\?NASM_PATCHLEVEL\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?(?:FILE|LINE|BITS|OUTPUT_FORMAT|DEBUG_FORMAT)\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?USE_\\\\\\\\w+\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?PASS\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.deprecated.support.constant.altreg.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?ALIGNMODE\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.smartalign.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__\\\\\\\\?ALIGN_(\\\\\\\\w+)\\\\\\\\?__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.smartalign.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__NASM_(?:MAJOR|(?:SUB)?MINOR|SNAPSHOT|VER(?:SION_ID)?)__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b___NASM_PATCHLEVEL__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__(?:FILE|LINE|BITS|OUTPUT_FORMAT|DEBUG_FORMAT)__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__(?:(?:UTC_)?(?:DATE|TIME)(?:_NUM)?|POSIX_TIME)__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__USE_\\\\\\\\w+__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__PASS__\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.deprecated.support.constant.altreg.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__ALIGNMODE__\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.smartalign.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b__ALIGN_(\\\\\\\\w+)__\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.smartalign.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:Inf|[QS]?NaN)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.fp.asm.x86_64\\\"},{\\\"match\\\":\\\"\\\\\\\\bfloat(?:8|16|32|64|80[em]|128[hl])\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fp.asm.x86_64\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bilog2(?:[cefw]|[cf]w)?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ifunc.asm.x86_64\\\"}]}},\\\"scopeName\\\":\\\"source.asm.x86_64\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "asm" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,6svCAAuw1C,CAAC,EAE/x1CC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Da5cRb03.js b/src/webview-ui/build/assets/chunk-Da5cRb03.js new file mode 100644 index 0000000000..346767b656 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Da5cRb03.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"dotEnv","name":"dotenv","patterns":[{"captures":{"1":{"patterns":[{"include":"#line-comment"}]}},"match":"^\\\\s?(#.*)$\\\\n"},{"captures":{"1":{"patterns":[{"include":"#key"}]},"2":{"name":"keyword.operator.assignment.dotenv"},"3":{"name":"property.value.dotenv","patterns":[{"include":"#line-comment"},{"include":"#double-quoted-string"},{"include":"#single-quoted-string"},{"include":"#interpolation"}]}},"match":"^\\\\s?(.*?)\\\\s?(=)(.*)$"}],"repository":{"double-quoted-string":{"captures":{"1":{"patterns":[{"include":"#interpolation"},{"include":"#escape-characters"}]}},"match":"\\"(.*)\\"","name":"string.quoted.double.dotenv"},"escape-characters":{"match":"\\\\\\\\(?:[\\"'\\\\\\\\bfnrt]|u[0-9A-F]{4})","name":"constant.character.escape.dotenv"},"interpolation":{"captures":{"1":{"name":"keyword.interpolation.begin.dotenv"},"2":{"name":"variable.interpolation.dotenv"},"3":{"name":"keyword.interpolation.end.dotenv"}},"match":"(\\\\$\\\\{)(.*)(})"},"key":{"captures":{"1":{"name":"keyword.key.export.dotenv"},"2":{"name":"variable.key.dotenv","patterns":[{"include":"#variable"}]}},"match":"(export\\\\s)?(.*)"},"line-comment":{"match":"#.*$","name":"comment.line.dotenv"},"single-quoted-string":{"match":"'(.*)'","name":"string.quoted.single.dotenv"},"variable":{"match":"[A-Z_a-z]+[0-9A-Z_a-z]*"}},"scopeName":"source.dotenv"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-Da5cRb03.js.map diff --git a/src/webview-ui/build/assets/chunk-Da5cRb03.js.map b/src/webview-ui/build/assets/chunk-Da5cRb03.js.map new file mode 100644 index 0000000000..9dc325a4b5 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Da5cRb03.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Da5cRb03.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/dotenv.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"dotEnv\\\",\\\"name\\\":\\\"dotenv\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#line-comment\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s?(#.*)$\\\\\\\\n\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#key\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.dotenv\\\"},\\\"3\\\":{\\\"name\\\":\\\"property.value.dotenv\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line-comment\\\"},{\\\"include\\\":\\\"#double-quoted-string\\\"},{\\\"include\\\":\\\"#single-quoted-string\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s?(.*?)\\\\\\\\s?(=)(.*)$\\\"}],\\\"repository\\\":{\\\"double-quoted-string\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#escape-characters\\\"}]}},\\\"match\\\":\\\"\\\\\\\"(.*)\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.dotenv\\\"},\\\"escape-characters\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"'\\\\\\\\\\\\\\\\bfnrt]|u[0-9A-F]{4})\\\",\\\"name\\\":\\\"constant.character.escape.dotenv\\\"},\\\"interpolation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.interpolation.begin.dotenv\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.interpolation.dotenv\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.interpolation.end.dotenv\\\"}},\\\"match\\\":\\\"(\\\\\\\\$\\\\\\\\{)(.*)(})\\\"},\\\"key\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.key.export.dotenv\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.key.dotenv\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"}]}},\\\"match\\\":\\\"(export\\\\\\\\s)?(.*)\\\"},\\\"line-comment\\\":{\\\"match\\\":\\\"#.*$\\\",\\\"name\\\":\\\"comment.line.dotenv\\\"},\\\"single-quoted-string\\\":{\\\"match\\\":\\\"'(.*)'\\\",\\\"name\\\":\\\"string.quoted.single.dotenv\\\"},\\\"variable\\\":{\\\"match\\\":\\\"[A-Z_a-z]+[0-9A-Z_a-z]*\\\"}},\\\"scopeName\\\":\\\"source.dotenv\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "dotenv" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,80CAA2gD,CAAC,EAEniDC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DbjXokdF.js b/src/webview-ui/build/assets/chunk-DbjXokdF.js new file mode 100644 index 0000000000..3411da4a4b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DbjXokdF.js @@ -0,0 +1,14 @@ +import a from "./chunk-CXhxxCfG.js" +import e from "./chunk-B_vNuMnf.js" +import n from "./chunk-DPfMkruS.js" +import t from "./chunk-BMMyXqK5.js" +import r from "./chunk-Cp-IABpG.js" +import "./chunk-CylS5w8V.js" +const o = Object.freeze( + JSON.parse( + `{"displayName":"APL","fileTypes":["apl","apla","aplc","aplf","apli","apln","aplo","dyalog","dyapp","mipage"],"firstLineMatch":"[⌶-⍺]|^#!.*(?:[/\\\\s]|(?<=!)\\\\b)(?:gnu[-._]?apl|aplx?|dyalog)(?:$|\\\\s)|(?i:-\\\\*-(?:\\\\s*(?=[^:;\\\\s]+\\\\s*-\\\\*-)|(?:.*?[;\\\\s]|(?<=-\\\\*-))mode\\\\s*:\\\\s*)apl(?=[;\\\\s]|(?]?\\\\d+|))?|\\\\sex)(?=:(?:(?=\\\\s*set?\\\\s[^\\\\n:]+:)|(?!\\\\s*set?\\\\s)))(?:(?:\\\\s|\\\\s*:\\\\s*)\\\\w*(?:\\\\s*=(?:[^\\\\n\\\\\\\\\\\\s]|\\\\\\\\.)*)?)*[:\\\\s](?:filetype|ft|syntax)\\\\s*=apl(?=[:\\\\s]|$))","foldingStartMarker":"\\\\{","foldingStopMarker":"}","name":"apl","patterns":[{"match":"\\\\A#!.*$","name":"comment.line.shebang.apl"},{"include":"#heredocs"},{"include":"#main"},{"begin":"^\\\\s*((\\\\))OFF|(])NEXTFILE)\\\\b(.*)$","beginCaptures":{"1":{"name":"entity.name.command.eof.apl"},"2":{"name":"punctuation.definition.command.apl"},"3":{"name":"punctuation.definition.command.apl"},"4":{"patterns":[{"include":"#comment"}]}},"contentName":"text.embedded.apl","end":"(?=N)A"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.round.bracket.begin.apl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.round.bracket.end.apl"}},"name":"meta.round.bracketed.group.apl","patterns":[{"include":"#main"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.square.bracket.begin.apl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.square.bracket.end.apl"}},"name":"meta.square.bracketed.group.apl","patterns":[{"include":"#main"}]},{"begin":"^\\\\s*((\\\\))\\\\S+)","beginCaptures":{"1":{"name":"entity.name.command.apl"},"2":{"name":"punctuation.definition.command.apl"}},"end":"$","name":"meta.system.command.apl","patterns":[{"include":"#command-arguments"},{"include":"#command-switches"},{"include":"#main"}]},{"begin":"^\\\\s*((])\\\\S+)","beginCaptures":{"1":{"name":"entity.name.command.apl"},"2":{"name":"punctuation.definition.command.apl"}},"end":"$","name":"meta.user.command.apl","patterns":[{"include":"#command-arguments"},{"include":"#command-switches"},{"include":"#main"}]}],"repository":{"class":{"patterns":[{"begin":"(?<=\\\\s|^)((:)Class)\\\\s+('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\s*((:)\\\\s*(?:('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\s*)?)?(.*?)$","beginCaptures":{"0":{"name":"meta.class.apl"},"1":{"name":"keyword.control.class.apl"},"2":{"name":"punctuation.definition.class.apl"},"3":{"name":"entity.name.type.class.apl","patterns":[{"include":"#strings"}]},"4":{"name":"entity.other.inherited-class.apl"},"5":{"name":"punctuation.separator.inheritance.apl"},"6":{"patterns":[{"include":"#strings"}]},"7":{"name":"entity.other.class.interfaces.apl","patterns":[{"include":"#csv"}]}},"end":"(?<=\\\\s|^)((:)EndClass)(?=\\\\b)","endCaptures":{"1":{"name":"keyword.control.class.apl"},"2":{"name":"punctuation.definition.class.apl"}},"patterns":[{"begin":"(?<=\\\\s|^)(:)Field(?=\\\\s)","beginCaptures":{"0":{"name":"keyword.control.field.apl"},"1":{"name":"punctuation.definition.field.apl"}},"end":"\\\\s*(←.*)?(?:$|(?=⍝))","endCaptures":{"0":{"name":"entity.other.initial-value.apl"},"1":{"patterns":[{"include":"#main"}]}},"name":"meta.field.apl","patterns":[{"match":"(?<=\\\\s|^)Public(?=\\\\s|$)","name":"storage.modifier.access.public.apl"},{"match":"(?<=\\\\s|^)Private(?=\\\\s|$)","name":"storage.modifier.access.private.apl"},{"match":"(?<=\\\\s|^)Shared(?=\\\\s|$)","name":"storage.modifier.shared.apl"},{"match":"(?<=\\\\s|^)Instance(?=\\\\s|$)","name":"storage.modifier.instance.apl"},{"match":"(?<=\\\\s|^)ReadOnly(?=\\\\s|$)","name":"storage.modifier.readonly.apl"},{"captures":{"1":{"patterns":[{"include":"#strings"}]}},"match":"('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)","name":"entity.name.type.apl"}]},{"include":"$self"}]}]},"command-arguments":{"patterns":[{"begin":"\\\\b(?=\\\\S)","end":"\\\\b(?=\\\\s)","name":"variable.parameter.argument.apl","patterns":[{"include":"#main"}]}]},"command-switches":{"patterns":[{"begin":"(?<=\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)(=)","beginCaptures":{"1":{"name":"punctuation.delimiter.switch.apl"},"2":{"name":"entity.name.switch.apl"},"3":{"name":"punctuation.assignment.switch.apl"}},"end":"\\\\b(?=\\\\s)","name":"variable.parameter.switch.apl","patterns":[{"include":"#main"}]},{"captures":{"1":{"name":"punctuation.delimiter.switch.apl"},"2":{"name":"entity.name.switch.apl"}},"match":"(?<=\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)(?!=)","name":"variable.parameter.switch.apl"}]},"comment":{"patterns":[{"begin":"⍝","captures":{"0":{"name":"punctuation.definition.comment.apl"}},"end":"$","name":"comment.line.apl"}]},"csv":{"patterns":[{"match":",","name":"punctuation.separator.apl"},{"include":"$self"}]},"definition":{"patterns":[{"begin":"^\\\\s*?(∇)(?:\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)|\\\\s*((\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(})|(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(\\\\))|(\\\\(\\\\s*\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(}\\\\s*\\\\))|(\\\\{\\\\s*\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(\\\\)\\\\s*}))\\\\s*)\\\\s*(←))?\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\s*((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*(.*?)|([^]]*))\\\\s*(]))?\\\\s*?((?<=[]\\\\s])[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*|(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(\\\\)))\\\\s*(?=;|$)|(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s+)|((\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(})|(\\\\(\\\\s*\\\\{)(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(}\\\\s*\\\\))|(\\\\{\\\\s*\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(\\\\)\\\\s*})))?\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\s*((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*(.*?)|([^]]*))\\\\s*(]))?|((\\\\()(\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)?\\\\s*([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\s*?((\\\\[)\\\\s*(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*(.*?)|([^]]*))\\\\s*(]))?\\\\s*([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)?(\\\\))))\\\\s*((?<=[]\\\\s])[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*|\\\\s*(\\\\()(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)*(\\\\)))?)\\\\s*([^;]+)?(((?>\\\\s*;(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙⎕Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)+)+)|([^⍝]+))?\\\\s*(⍝.*)?$","beginCaptures":{"0":{"name":"entity.function.definition.apl"},"1":{"name":"keyword.operator.nabla.apl"},"2":{"name":"entity.function.return-value.apl"},"3":{"name":"entity.function.return-value.shy.apl"},"4":{"name":"punctuation.definition.return-value.begin.apl"},"5":{"name":"punctuation.definition.return-value.end.apl"},"6":{"name":"punctuation.definition.return-value.begin.apl"},"7":{"name":"punctuation.definition.return-value.end.apl"},"8":{"name":"punctuation.definition.return-value.begin.apl"},"9":{"name":"punctuation.definition.return-value.end.apl"},"10":{"name":"punctuation.definition.return-value.begin.apl"},"11":{"name":"punctuation.definition.return-value.end.apl"},"12":{"name":"keyword.operator.assignment.apl"},"13":{"name":"entity.function.name.apl","patterns":[{"include":"#embolden"}]},"14":{"name":"entity.function.axis.apl"},"15":{"name":"punctuation.definition.axis.begin.apl"},"16":{"name":"invalid.illegal.extra-characters.apl"},"17":{"name":"invalid.illegal.apl"},"18":{"name":"punctuation.definition.axis.end.apl"},"19":{"name":"entity.function.arguments.right.apl"},"20":{"name":"punctuation.definition.arguments.begin.apl"},"21":{"name":"punctuation.definition.arguments.end.apl"},"22":{"name":"entity.function.arguments.left.apl"},"23":{"name":"entity.function.arguments.left.optional.apl"},"24":{"name":"punctuation.definition.arguments.begin.apl"},"25":{"name":"punctuation.definition.arguments.end.apl"},"26":{"name":"punctuation.definition.arguments.begin.apl"},"27":{"name":"punctuation.definition.arguments.end.apl"},"28":{"name":"punctuation.definition.arguments.begin.apl"},"29":{"name":"punctuation.definition.arguments.end.apl"},"30":{"name":"entity.function.name.apl","patterns":[{"include":"#embolden"}]},"31":{"name":"entity.function.axis.apl"},"32":{"name":"punctuation.definition.axis.begin.apl"},"33":{"name":"invalid.illegal.extra-characters.apl"},"34":{"name":"invalid.illegal.apl"},"35":{"name":"punctuation.definition.axis.end.apl"},"36":{"name":"entity.function.operands.apl"},"37":{"name":"punctuation.definition.operands.begin.apl"},"38":{"name":"entity.function.operands.left.apl"},"39":{"name":"entity.function.name.apl","patterns":[{"include":"#embolden"}]},"40":{"name":"entity.function.axis.apl"},"41":{"name":"punctuation.definition.axis.begin.apl"},"42":{"name":"invalid.illegal.extra-characters.apl"},"43":{"name":"invalid.illegal.apl"},"44":{"name":"punctuation.definition.axis.end.apl"},"45":{"name":"entity.function.operands.right.apl"},"46":{"name":"punctuation.definition.operands.end.apl"},"47":{"name":"entity.function.arguments.right.apl"},"48":{"name":"punctuation.definition.arguments.begin.apl"},"49":{"name":"punctuation.definition.arguments.end.apl"},"50":{"name":"invalid.illegal.arguments.right.apl"},"51":{"name":"entity.function.local-variables.apl"},"52":{"patterns":[{"match":";","name":"punctuation.separator.apl"}]},"53":{"name":"invalid.illegal.local-variables.apl"},"54":{"name":"comment.line.apl"}},"end":"^\\\\s*?(?:(∇)|(⍫))\\\\s*?(⍝.*?)?$","endCaptures":{"1":{"name":"keyword.operator.nabla.apl"},"2":{"name":"keyword.operator.lock.apl"},"3":{"name":"comment.line.apl"}},"name":"meta.function.apl","patterns":[{"captures":{"0":{"name":"entity.function.local-variables.apl"},"1":{"patterns":[{"match":";","name":"punctuation.separator.apl"}]}},"match":"^\\\\s*((?>;(?:\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙⎕Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\s*)+)+)","name":"entity.function.definition.apl"},{"include":"$self"}]}]},"embedded-apl":{"patterns":[{"begin":"(?i)(<([%?])(?:apl(?=\\\\s+)|=))","beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.apl"}},"end":"(?<=\\\\s)(\\\\2>)","endCaptures":{"1":{"name":"punctuation.section.embedded.end.apl"}},"name":"meta.embedded.block.apl","patterns":[{"include":"#main"}]}]},"embolden":{"patterns":[{"match":".+","name":"markup.bold.identifier.apl"}]},"heredocs":{"patterns":[{"begin":"^.*?⎕INP\\\\s+([\\"'])((?i).*?HTML?.*?|END-OF-⎕INP)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"contentName":"text.embedded.html.basic","end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"text.html.basic"},{"include":"#embedded-apl"}]},{"begin":"^.*?⎕INP\\\\s+([\\"'])((?i).*?(?:XML|XSLT|SVG|RSS).*?)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"contentName":"text.embedded.xml","end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"text.xml"},{"include":"#embedded-apl"}]},{"begin":"^.*?⎕INP\\\\s+([\\"'])((?i).*?(?:CSS|stylesheet).*?)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"contentName":"source.embedded.css","end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"source.css"},{"include":"#embedded-apl"}]},{"begin":"^.*?⎕INP\\\\s+([\\"'])((?i).*?(?:JS(?!ON)|(?:ECMA|J|Java).?Script).*?)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"contentName":"source.embedded.js","end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"source.js"},{"include":"#embedded-apl"}]},{"begin":"^.*?⎕INP\\\\s+([\\"'])((?i).*?JSON.*?)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"contentName":"source.embedded.json","end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"source.json"},{"include":"#embedded-apl"}]},{"begin":"^.*?⎕INP\\\\s+([\\"'])(?i)((?:Raw|Plain)?\\\\s*Te?xt)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"contentName":"text.embedded.plain","end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"#embedded-apl"}]},{"begin":"^.*?⎕INP\\\\s+([\\"'])(.*?)\\\\1.*$","beginCaptures":{"0":{"patterns":[{"include":"#main"}]}},"end":"^.*?\\\\2.*?$","endCaptures":{"0":{"name":"constant.other.apl"}},"name":"meta.heredoc.apl","patterns":[{"include":"$self"}]}]},"label":{"patterns":[{"captures":{"1":{"name":"entity.label.name.apl"},"2":{"name":"punctuation.definition.label.end.apl"}},"match":"^\\\\s*([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)(:)","name":"meta.label.apl"}]},"lambda":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.lambda.begin.apl"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.lambda.end.apl"}},"name":"meta.lambda.function.apl","patterns":[{"include":"#main"},{"include":"#lambda-variables"}]},"lambda-variables":{"patterns":[{"match":"⍺⍺","name":"constant.language.lambda.operands.left.apl"},{"match":"⍵⍵","name":"constant.language.lambda.operands.right.apl"},{"match":"[⍶⍺]","name":"constant.language.lambda.arguments.left.apl"},{"match":"[⍵⍹]","name":"constant.language.lambda.arguments.right.apl"},{"match":"χ","name":"constant.language.lambda.arguments.axis.apl"},{"match":"∇∇","name":"constant.language.lambda.operands.self.operator.apl"},{"match":"∇","name":"constant.language.lambda.operands.self.function.apl"},{"match":"λ","name":"constant.language.lambda.symbol.apl"}]},"main":{"patterns":[{"include":"#class"},{"include":"#definition"},{"include":"#comment"},{"include":"#label"},{"include":"#sck"},{"include":"#strings"},{"include":"#number"},{"include":"#lambda"},{"include":"#sysvars"},{"include":"#symbols"},{"include":"#name"}]},"name":{"patterns":[{"match":"[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*","name":"variable.other.readwrite.apl"}]},"number":{"patterns":[{"match":"¯?[0-9][0-9A-Za-z¯]*(?:\\\\.[0-9Ee¯][0-9A-Za-z¯]*)*|¯?\\\\.[0-9Ee][0-9A-Za-z¯]*","name":"constant.numeric.apl"}]},"sck":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.sck.begin.apl"}},"match":"(?<=\\\\s|^)(:)[A-Za-z]+","name":"keyword.control.sck.apl"}]},"strings":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apl"}},"end":"'|$","endCaptures":{"0":{"name":"punctuation.definition.string.end.apl"}},"name":"string.quoted.single.apl","patterns":[{"match":"[^']*[^\\\\n\\\\r'\\\\\\\\]$","name":"invalid.illegal.string.apl"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apl"}},"end":"\\"|$","endCaptures":{"0":{"name":"punctuation.definition.string.end.apl"}},"name":"string.quoted.double.apl","patterns":[{"match":"[^\\"]*[^\\\\n\\\\r\\"\\\\\\\\]$","name":"invalid.illegal.string.apl"}]}]},"symbols":{"patterns":[{"match":"(?<=\\\\s)←(?=\\\\s|$)","name":"keyword.spaced.operator.assignment.apl"},{"match":"(?<=\\\\s)→(?=\\\\s|$)","name":"keyword.spaced.control.goto.apl"},{"match":"(?<=\\\\s)≡(?=\\\\s|$)","name":"keyword.spaced.operator.identical.apl"},{"match":"(?<=\\\\s)≢(?=\\\\s|$)","name":"keyword.spaced.operator.not-identical.apl"},{"match":"\\\\+","name":"keyword.operator.plus.apl"},{"match":"[-−]","name":"keyword.operator.minus.apl"},{"match":"×","name":"keyword.operator.times.apl"},{"match":"÷","name":"keyword.operator.divide.apl"},{"match":"⌊","name":"keyword.operator.floor.apl"},{"match":"⌈","name":"keyword.operator.ceiling.apl"},{"match":"[|∣]","name":"keyword.operator.absolute.apl"},{"match":"[*⋆]","name":"keyword.operator.exponent.apl"},{"match":"⍟","name":"keyword.operator.logarithm.apl"},{"match":"○","name":"keyword.operator.circle.apl"},{"match":"!","name":"keyword.operator.factorial.apl"},{"match":"∧","name":"keyword.operator.and.apl"},{"match":"∨","name":"keyword.operator.or.apl"},{"match":"⍲","name":"keyword.operator.nand.apl"},{"match":"⍱","name":"keyword.operator.nor.apl"},{"match":"<","name":"keyword.operator.less.apl"},{"match":"≤","name":"keyword.operator.less-or-equal.apl"},{"match":"=","name":"keyword.operator.equal.apl"},{"match":"≥","name":"keyword.operator.greater-or-equal.apl"},{"match":">","name":"keyword.operator.greater.apl"},{"match":"≠","name":"keyword.operator.not-equal.apl"},{"match":"[~∼]","name":"keyword.operator.tilde.apl"},{"match":"\\\\?","name":"keyword.operator.random.apl"},{"match":"[∈∊]","name":"keyword.operator.member-of.apl"},{"match":"⍷","name":"keyword.operator.find.apl"},{"match":",","name":"keyword.operator.comma.apl"},{"match":"⍪","name":"keyword.operator.comma-bar.apl"},{"match":"⌷","name":"keyword.operator.squad.apl"},{"match":"⍳","name":"keyword.operator.iota.apl"},{"match":"⍴","name":"keyword.operator.rho.apl"},{"match":"↑","name":"keyword.operator.take.apl"},{"match":"↓","name":"keyword.operator.drop.apl"},{"match":"⊣","name":"keyword.operator.left.apl"},{"match":"⊢","name":"keyword.operator.right.apl"},{"match":"⊤","name":"keyword.operator.encode.apl"},{"match":"⊥","name":"keyword.operator.decode.apl"},{"match":"/","name":"keyword.operator.slash.apl"},{"match":"⌿","name":"keyword.operator.slash-bar.apl"},{"match":"\\\\\\\\","name":"keyword.operator.backslash.apl"},{"match":"⍀","name":"keyword.operator.backslash-bar.apl"},{"match":"⌽","name":"keyword.operator.rotate-last.apl"},{"match":"⊖","name":"keyword.operator.rotate-first.apl"},{"match":"⍉","name":"keyword.operator.transpose.apl"},{"match":"⍋","name":"keyword.operator.grade-up.apl"},{"match":"⍒","name":"keyword.operator.grade-down.apl"},{"match":"⌹","name":"keyword.operator.quad-divide.apl"},{"match":"≡","name":"keyword.operator.identical.apl"},{"match":"≢","name":"keyword.operator.not-identical.apl"},{"match":"⊂","name":"keyword.operator.enclose.apl"},{"match":"⊃","name":"keyword.operator.pick.apl"},{"match":"∩","name":"keyword.operator.intersection.apl"},{"match":"∪","name":"keyword.operator.union.apl"},{"match":"⍎","name":"keyword.operator.hydrant.apl"},{"match":"⍕","name":"keyword.operator.thorn.apl"},{"match":"⊆","name":"keyword.operator.underbar-shoe-left.apl"},{"match":"⍸","name":"keyword.operator.underbar-iota.apl"},{"match":"¨","name":"keyword.operator.each.apl"},{"match":"⍤","name":"keyword.operator.rank.apl"},{"match":"⌸","name":"keyword.operator.quad-equal.apl"},{"match":"⍨","name":"keyword.operator.commute.apl"},{"match":"⍣","name":"keyword.operator.power.apl"},{"match":"\\\\.","name":"keyword.operator.dot.apl"},{"match":"∘","name":"keyword.operator.jot.apl"},{"match":"⍠","name":"keyword.operator.quad-colon.apl"},{"match":"&","name":"keyword.operator.ampersand.apl"},{"match":"⌶","name":"keyword.operator.i-beam.apl"},{"match":"⌺","name":"keyword.operator.quad-diamond.apl"},{"match":"@","name":"keyword.operator.at.apl"},{"match":"◊","name":"keyword.operator.lozenge.apl"},{"match":";","name":"keyword.operator.semicolon.apl"},{"match":"¯","name":"keyword.operator.high-minus.apl"},{"match":"←","name":"keyword.operator.assignment.apl"},{"match":"→","name":"keyword.control.goto.apl"},{"match":"⍬","name":"constant.language.zilde.apl"},{"match":"⋄","name":"keyword.operator.diamond.apl"},{"match":"⍫","name":"keyword.operator.lock.apl"},{"match":"⎕","name":"keyword.operator.quad.apl"},{"match":"##","name":"constant.language.namespace.parent.apl"},{"match":"#","name":"constant.language.namespace.root.apl"},{"match":"⌻","name":"keyword.operator.quad-jot.apl"},{"match":"⌼","name":"keyword.operator.quad-circle.apl"},{"match":"⌾","name":"keyword.operator.circle-jot.apl"},{"match":"⍁","name":"keyword.operator.quad-slash.apl"},{"match":"⍂","name":"keyword.operator.quad-backslash.apl"},{"match":"⍃","name":"keyword.operator.quad-less.apl"},{"match":"⍄","name":"keyword.operator.greater.apl"},{"match":"⍅","name":"keyword.operator.vane-left.apl"},{"match":"⍆","name":"keyword.operator.vane-right.apl"},{"match":"⍇","name":"keyword.operator.quad-arrow-left.apl"},{"match":"⍈","name":"keyword.operator.quad-arrow-right.apl"},{"match":"⍊","name":"keyword.operator.tack-down.apl"},{"match":"⍌","name":"keyword.operator.quad-caret-down.apl"},{"match":"⍍","name":"keyword.operator.quad-del-up.apl"},{"match":"⍏","name":"keyword.operator.vane-up.apl"},{"match":"⍐","name":"keyword.operator.quad-arrow-up.apl"},{"match":"⍑","name":"keyword.operator.tack-up.apl"},{"match":"⍓","name":"keyword.operator.quad-caret-up.apl"},{"match":"⍔","name":"keyword.operator.quad-del-down.apl"},{"match":"⍖","name":"keyword.operator.vane-down.apl"},{"match":"⍗","name":"keyword.operator.quad-arrow-down.apl"},{"match":"⍘","name":"keyword.operator.underbar-quote.apl"},{"match":"⍚","name":"keyword.operator.underbar-diamond.apl"},{"match":"⍛","name":"keyword.operator.underbar-jot.apl"},{"match":"⍜","name":"keyword.operator.underbar-circle.apl"},{"match":"⍞","name":"keyword.operator.quad-quote.apl"},{"match":"⍡","name":"keyword.operator.dotted-tack-up.apl"},{"match":"⍢","name":"keyword.operator.dotted-del.apl"},{"match":"⍥","name":"keyword.operator.dotted-circle.apl"},{"match":"⍦","name":"keyword.operator.stile-shoe-up.apl"},{"match":"⍧","name":"keyword.operator.stile-shoe-left.apl"},{"match":"⍩","name":"keyword.operator.dotted-greater.apl"},{"match":"⍭","name":"keyword.operator.stile-tilde.apl"},{"match":"⍮","name":"keyword.operator.underbar-semicolon.apl"},{"match":"⍯","name":"keyword.operator.quad-not-equal.apl"},{"match":"⍰","name":"keyword.operator.quad-question.apl"}]},"sysvars":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.quad.apl"},"2":{"name":"punctuation.definition.quad-quote.apl"}},"match":"(?:(⎕)|(⍞))[A-Za-z]*","name":"support.system.variable.apl"}]}},"scopeName":"source.apl","embeddedLangs":["html","xml","css","javascript","json"]}`, + ), + ), + c = [...a, ...e, ...n, ...t, ...r, o] +export { c as default } +//# sourceMappingURL=chunk-DbjXokdF.js.map diff --git a/src/webview-ui/build/assets/chunk-DbjXokdF.js.map b/src/webview-ui/build/assets/chunk-DbjXokdF.js.map new file mode 100644 index 0000000000..4bd5da38f1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DbjXokdF.js.map @@ -0,0 +1,24 @@ +{ + "version": 3, + "file": "chunk-DbjXokdF.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/apl.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\nimport xml from './xml.mjs'\nimport css from './css.mjs'\nimport javascript from './javascript.mjs'\nimport json from './json.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"APL\\\",\\\"fileTypes\\\":[\\\"apl\\\",\\\"apla\\\",\\\"aplc\\\",\\\"aplf\\\",\\\"apli\\\",\\\"apln\\\",\\\"aplo\\\",\\\"dyalog\\\",\\\"dyapp\\\",\\\"mipage\\\"],\\\"firstLineMatch\\\":\\\"[⌶-⍺]|^#!.*(?:[/\\\\\\\\s]|(?<=!)\\\\\\\\b)(?:gnu[-._]?apl|aplx?|dyalog)(?:$|\\\\\\\\s)|(?i:-\\\\\\\\*-(?:\\\\\\\\s*(?=[^:;\\\\\\\\s]+\\\\\\\\s*-\\\\\\\\*-)|(?:.*?[;\\\\\\\\s]|(?<=-\\\\\\\\*-))mode\\\\\\\\s*:\\\\\\\\s*)apl(?=[;\\\\\\\\s]|(?]?\\\\\\\\d+|))?|\\\\\\\\sex)(?=:(?:(?=\\\\\\\\s*set?\\\\\\\\s[^\\\\\\\\n:]+:)|(?!\\\\\\\\s*set?\\\\\\\\s)))(?:(?:\\\\\\\\s|\\\\\\\\s*:\\\\\\\\s*)\\\\\\\\w*(?:\\\\\\\\s*=(?:[^\\\\\\\\n\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)*)?)*[:\\\\\\\\s](?:filetype|ft|syntax)\\\\\\\\s*=apl(?=[:\\\\\\\\s]|$))\\\",\\\"foldingStartMarker\\\":\\\"\\\\\\\\{\\\",\\\"foldingStopMarker\\\":\\\"}\\\",\\\"name\\\":\\\"apl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\A#!.*$\\\",\\\"name\\\":\\\"comment.line.shebang.apl\\\"},{\\\"include\\\":\\\"#heredocs\\\"},{\\\"include\\\":\\\"#main\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((\\\\\\\\))OFF|(])NEXTFILE)\\\\\\\\b(.*)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.command.eof.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.command.apl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.command.apl\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]}},\\\"contentName\\\":\\\"text.embedded.apl\\\",\\\"end\\\":\\\"(?=N)A\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.round.bracket.begin.apl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.round.bracket.end.apl\\\"}},\\\"name\\\":\\\"meta.round.bracketed.group.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.square.bracket.begin.apl\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.square.bracket.end.apl\\\"}},\\\"name\\\":\\\"meta.square.bracketed.group.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((\\\\\\\\))\\\\\\\\S+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.command.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.command.apl\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.system.command.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command-arguments\\\"},{\\\"include\\\":\\\"#command-switches\\\"},{\\\"include\\\":\\\"#main\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((])\\\\\\\\S+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.command.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.command.apl\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.user.command.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command-arguments\\\"},{\\\"include\\\":\\\"#command-switches\\\"},{\\\"include\\\":\\\"#main\\\"}]}],\\\"repository\\\":{\\\"class\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)((:)Class)\\\\\\\\s+('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\\\\\s*((:)\\\\\\\\s*(?:('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\\\\\s*)?)?(.*?)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.class.apl\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.class.apl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.other.inherited-class.apl\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.apl\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.other.class.interfaces.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#csv\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\s|^)((:)EndClass)(?=\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.class.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.class.apl\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(:)Field(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.field.apl\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.field.apl\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(←.*)?(?:$|(?=⍝))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.initial-value.apl\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"name\\\":\\\"meta.field.apl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\s|^)Public(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"storage.modifier.access.public.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s|^)Private(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"storage.modifier.access.private.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s|^)Shared(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"storage.modifier.shared.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s|^)Instance(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"storage.modifier.instance.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s|^)ReadOnly(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"storage.modifier.readonly.apl\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"}]}},\\\"match\\\":\\\"('[^']*'?|[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\",\\\"name\\\":\\\"entity.name.type.apl\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"command-arguments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"\\\\\\\\b(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"variable.parameter.argument.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}]},\\\"command-switches\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.delimiter.switch.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.switch.apl\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.assignment.switch.apl\\\"}},\\\"end\\\":\\\"\\\\\\\\b(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"variable.parameter.switch.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.delimiter.switch.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.switch.apl\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)(-)([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)(?!=)\\\",\\\"name\\\":\\\"variable.parameter.switch.apl\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"⍝\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.apl\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.apl\\\"}]},\\\"csv\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.apl\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"definition\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*?(∇)(?:\\\\\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)|\\\\\\\\s*((\\\\\\\\{)(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(})|(\\\\\\\\()(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(\\\\\\\\))|(\\\\\\\\(\\\\\\\\s*\\\\\\\\{)(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(}\\\\\\\\s*\\\\\\\\))|(\\\\\\\\{\\\\\\\\s*\\\\\\\\()(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(\\\\\\\\)\\\\\\\\s*}))\\\\\\\\s*)\\\\\\\\s*(←))?\\\\\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\\\\\s*((\\\\\\\\[)\\\\\\\\s*(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*(.*?)|([^]]*))\\\\\\\\s*(]))?\\\\\\\\s*?((?<=[]\\\\\\\\s])[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*|(\\\\\\\\()(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(\\\\\\\\)))\\\\\\\\s*(?=;|$)|(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s+)|((\\\\\\\\{)(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(})|(\\\\\\\\(\\\\\\\\s*\\\\\\\\{)(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(}\\\\\\\\s*\\\\\\\\))|(\\\\\\\\{\\\\\\\\s*\\\\\\\\()(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(\\\\\\\\)\\\\\\\\s*})))?\\\\\\\\s*(?:([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\\\\\s*((\\\\\\\\[)\\\\\\\\s*(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*(.*?)|([^]]*))\\\\\\\\s*(]))?|((\\\\\\\\()(\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)?\\\\\\\\s*([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)\\\\\\\\s*?((\\\\\\\\[)\\\\\\\\s*(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*(.*?)|([^]]*))\\\\\\\\s*(]))?\\\\\\\\s*([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)?(\\\\\\\\))))\\\\\\\\s*((?<=[]\\\\\\\\s])[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*|\\\\\\\\s*(\\\\\\\\()(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)*(\\\\\\\\)))?)\\\\\\\\s*([^;]+)?(((?>\\\\\\\\s*;(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙⎕Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)+)+)|([^⍝]+))?\\\\\\\\s*(⍝.*)?$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.function.definition.apl\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nabla.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.function.return-value.apl\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.function.return-value.shy.apl\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.begin.apl\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.end.apl\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.begin.apl\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.end.apl\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.begin.apl\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.end.apl\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.begin.apl\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.return-value.end.apl\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.operator.assignment.apl\\\"},\\\"13\\\":{\\\"name\\\":\\\"entity.function.name.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embolden\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"entity.function.axis.apl\\\"},\\\"15\\\":{\\\"name\\\":\\\"punctuation.definition.axis.begin.apl\\\"},\\\"16\\\":{\\\"name\\\":\\\"invalid.illegal.extra-characters.apl\\\"},\\\"17\\\":{\\\"name\\\":\\\"invalid.illegal.apl\\\"},\\\"18\\\":{\\\"name\\\":\\\"punctuation.definition.axis.end.apl\\\"},\\\"19\\\":{\\\"name\\\":\\\"entity.function.arguments.right.apl\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.apl\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.apl\\\"},\\\"22\\\":{\\\"name\\\":\\\"entity.function.arguments.left.apl\\\"},\\\"23\\\":{\\\"name\\\":\\\"entity.function.arguments.left.optional.apl\\\"},\\\"24\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.apl\\\"},\\\"25\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.apl\\\"},\\\"26\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.apl\\\"},\\\"27\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.apl\\\"},\\\"28\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.apl\\\"},\\\"29\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.apl\\\"},\\\"30\\\":{\\\"name\\\":\\\"entity.function.name.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embolden\\\"}]},\\\"31\\\":{\\\"name\\\":\\\"entity.function.axis.apl\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.definition.axis.begin.apl\\\"},\\\"33\\\":{\\\"name\\\":\\\"invalid.illegal.extra-characters.apl\\\"},\\\"34\\\":{\\\"name\\\":\\\"invalid.illegal.apl\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.axis.end.apl\\\"},\\\"36\\\":{\\\"name\\\":\\\"entity.function.operands.apl\\\"},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.operands.begin.apl\\\"},\\\"38\\\":{\\\"name\\\":\\\"entity.function.operands.left.apl\\\"},\\\"39\\\":{\\\"name\\\":\\\"entity.function.name.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embolden\\\"}]},\\\"40\\\":{\\\"name\\\":\\\"entity.function.axis.apl\\\"},\\\"41\\\":{\\\"name\\\":\\\"punctuation.definition.axis.begin.apl\\\"},\\\"42\\\":{\\\"name\\\":\\\"invalid.illegal.extra-characters.apl\\\"},\\\"43\\\":{\\\"name\\\":\\\"invalid.illegal.apl\\\"},\\\"44\\\":{\\\"name\\\":\\\"punctuation.definition.axis.end.apl\\\"},\\\"45\\\":{\\\"name\\\":\\\"entity.function.operands.right.apl\\\"},\\\"46\\\":{\\\"name\\\":\\\"punctuation.definition.operands.end.apl\\\"},\\\"47\\\":{\\\"name\\\":\\\"entity.function.arguments.right.apl\\\"},\\\"48\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.apl\\\"},\\\"49\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.apl\\\"},\\\"50\\\":{\\\"name\\\":\\\"invalid.illegal.arguments.right.apl\\\"},\\\"51\\\":{\\\"name\\\":\\\"entity.function.local-variables.apl\\\"},\\\"52\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.apl\\\"}]},\\\"53\\\":{\\\"name\\\":\\\"invalid.illegal.local-variables.apl\\\"},\\\"54\\\":{\\\"name\\\":\\\"comment.line.apl\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*?(?:(∇)|(⍫))\\\\\\\\s*?(⍝.*?)?$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nabla.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.lock.apl\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.line.apl\\\"}},\\\"name\\\":\\\"meta.function.apl\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.function.local-variables.apl\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.apl\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*((?>;(?:\\\\\\\\s*[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙⎕Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\\\\\\s*)+)+)\\\",\\\"name\\\":\\\"entity.function.definition.apl\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"embedded-apl\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<([%?])(?:apl(?=\\\\\\\\s+)|=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.apl\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\s)(\\\\\\\\2>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.apl\\\"}},\\\"name\\\":\\\"meta.embedded.block.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}]},\\\"embolden\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"markup.bold.identifier.apl\\\"}]},\\\"heredocs\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])((?i).*?HTML?.*?|END-OF-⎕INP)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"contentName\\\":\\\"text.embedded.html.basic\\\",\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#embedded-apl\\\"}]},{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])((?i).*?(?:XML|XSLT|SVG|RSS).*?)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"contentName\\\":\\\"text.embedded.xml\\\",\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"},{\\\"include\\\":\\\"#embedded-apl\\\"}]},{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])((?i).*?(?:CSS|stylesheet).*?)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"contentName\\\":\\\"source.embedded.css\\\",\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"#embedded-apl\\\"}]},{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])((?i).*?(?:JS(?!ON)|(?:ECMA|J|Java).?Script).*?)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"contentName\\\":\\\"source.embedded.js\\\",\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#embedded-apl\\\"}]},{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])((?i).*?JSON.*?)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"contentName\\\":\\\"source.embedded.json\\\",\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"},{\\\"include\\\":\\\"#embedded-apl\\\"}]},{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])(?i)((?:Raw|Plain)?\\\\\\\\s*Te?xt)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"contentName\\\":\\\"text.embedded.plain\\\",\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embedded-apl\\\"}]},{\\\"begin\\\":\\\"^.*?⎕INP\\\\\\\\s+([\\\\\\\"'])(.*?)\\\\\\\\1.*$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}]}},\\\"end\\\":\\\"^.*?\\\\\\\\2.*?$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.apl\\\"}},\\\"name\\\":\\\"meta.heredoc.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.label.name.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.label.end.apl\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*([A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*)(:)\\\",\\\"name\\\":\\\"meta.label.apl\\\"}]},\\\"lambda\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.lambda.begin.apl\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.lambda.end.apl\\\"}},\\\"name\\\":\\\"meta.lambda.function.apl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"},{\\\"include\\\":\\\"#lambda-variables\\\"}]},\\\"lambda-variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"⍺⍺\\\",\\\"name\\\":\\\"constant.language.lambda.operands.left.apl\\\"},{\\\"match\\\":\\\"⍵⍵\\\",\\\"name\\\":\\\"constant.language.lambda.operands.right.apl\\\"},{\\\"match\\\":\\\"[⍶⍺]\\\",\\\"name\\\":\\\"constant.language.lambda.arguments.left.apl\\\"},{\\\"match\\\":\\\"[⍵⍹]\\\",\\\"name\\\":\\\"constant.language.lambda.arguments.right.apl\\\"},{\\\"match\\\":\\\"χ\\\",\\\"name\\\":\\\"constant.language.lambda.arguments.axis.apl\\\"},{\\\"match\\\":\\\"∇∇\\\",\\\"name\\\":\\\"constant.language.lambda.operands.self.operator.apl\\\"},{\\\"match\\\":\\\"∇\\\",\\\"name\\\":\\\"constant.language.lambda.operands.self.function.apl\\\"},{\\\"match\\\":\\\"λ\\\",\\\"name\\\":\\\"constant.language.lambda.symbol.apl\\\"}]},\\\"main\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#definition\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#sck\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#lambda\\\"},{\\\"include\\\":\\\"#sysvars\\\"},{\\\"include\\\":\\\"#symbols\\\"},{\\\"include\\\":\\\"#name\\\"}]},\\\"name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z_a-zÀ-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ][0-9A-Z_a-z¯À-ÖØ-Ýß-öø-üþ∆⍙Ⓐ-Ⓩ]*\\\",\\\"name\\\":\\\"variable.other.readwrite.apl\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"¯?[0-9][0-9A-Za-z¯]*(?:\\\\\\\\.[0-9Ee¯][0-9A-Za-z¯]*)*|¯?\\\\\\\\.[0-9Ee][0-9A-Za-z¯]*\\\",\\\"name\\\":\\\"constant.numeric.apl\\\"}]},\\\"sck\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.sck.begin.apl\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s|^)(:)[A-Za-z]+\\\",\\\"name\\\":\\\"keyword.control.sck.apl\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.apl\\\"}},\\\"end\\\":\\\"'|$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.apl\\\"}},\\\"name\\\":\\\"string.quoted.single.apl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[^']*[^\\\\\\\\n\\\\\\\\r'\\\\\\\\\\\\\\\\]$\\\",\\\"name\\\":\\\"invalid.illegal.string.apl\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.apl\\\"}},\\\"end\\\":\\\"\\\\\\\"|$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.apl\\\"}},\\\"name\\\":\\\"string.quoted.double.apl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[^\\\\\\\"]*[^\\\\\\\\n\\\\\\\\r\\\\\\\"\\\\\\\\\\\\\\\\]$\\\",\\\"name\\\":\\\"invalid.illegal.string.apl\\\"}]}]},\\\"symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\s)←(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.spaced.operator.assignment.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)→(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.spaced.control.goto.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)≡(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.spaced.operator.identical.apl\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)≢(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.spaced.operator.not-identical.apl\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.plus.apl\\\"},{\\\"match\\\":\\\"[-−]\\\",\\\"name\\\":\\\"keyword.operator.minus.apl\\\"},{\\\"match\\\":\\\"×\\\",\\\"name\\\":\\\"keyword.operator.times.apl\\\"},{\\\"match\\\":\\\"÷\\\",\\\"name\\\":\\\"keyword.operator.divide.apl\\\"},{\\\"match\\\":\\\"⌊\\\",\\\"name\\\":\\\"keyword.operator.floor.apl\\\"},{\\\"match\\\":\\\"⌈\\\",\\\"name\\\":\\\"keyword.operator.ceiling.apl\\\"},{\\\"match\\\":\\\"[|∣]\\\",\\\"name\\\":\\\"keyword.operator.absolute.apl\\\"},{\\\"match\\\":\\\"[*⋆]\\\",\\\"name\\\":\\\"keyword.operator.exponent.apl\\\"},{\\\"match\\\":\\\"⍟\\\",\\\"name\\\":\\\"keyword.operator.logarithm.apl\\\"},{\\\"match\\\":\\\"○\\\",\\\"name\\\":\\\"keyword.operator.circle.apl\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.factorial.apl\\\"},{\\\"match\\\":\\\"∧\\\",\\\"name\\\":\\\"keyword.operator.and.apl\\\"},{\\\"match\\\":\\\"∨\\\",\\\"name\\\":\\\"keyword.operator.or.apl\\\"},{\\\"match\\\":\\\"⍲\\\",\\\"name\\\":\\\"keyword.operator.nand.apl\\\"},{\\\"match\\\":\\\"⍱\\\",\\\"name\\\":\\\"keyword.operator.nor.apl\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"keyword.operator.less.apl\\\"},{\\\"match\\\":\\\"≤\\\",\\\"name\\\":\\\"keyword.operator.less-or-equal.apl\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.equal.apl\\\"},{\\\"match\\\":\\\"≥\\\",\\\"name\\\":\\\"keyword.operator.greater-or-equal.apl\\\"},{\\\"match\\\":\\\">\\\",\\\"name\\\":\\\"keyword.operator.greater.apl\\\"},{\\\"match\\\":\\\"≠\\\",\\\"name\\\":\\\"keyword.operator.not-equal.apl\\\"},{\\\"match\\\":\\\"[~∼]\\\",\\\"name\\\":\\\"keyword.operator.tilde.apl\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.random.apl\\\"},{\\\"match\\\":\\\"[∈∊]\\\",\\\"name\\\":\\\"keyword.operator.member-of.apl\\\"},{\\\"match\\\":\\\"⍷\\\",\\\"name\\\":\\\"keyword.operator.find.apl\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"keyword.operator.comma.apl\\\"},{\\\"match\\\":\\\"⍪\\\",\\\"name\\\":\\\"keyword.operator.comma-bar.apl\\\"},{\\\"match\\\":\\\"⌷\\\",\\\"name\\\":\\\"keyword.operator.squad.apl\\\"},{\\\"match\\\":\\\"⍳\\\",\\\"name\\\":\\\"keyword.operator.iota.apl\\\"},{\\\"match\\\":\\\"⍴\\\",\\\"name\\\":\\\"keyword.operator.rho.apl\\\"},{\\\"match\\\":\\\"↑\\\",\\\"name\\\":\\\"keyword.operator.take.apl\\\"},{\\\"match\\\":\\\"↓\\\",\\\"name\\\":\\\"keyword.operator.drop.apl\\\"},{\\\"match\\\":\\\"⊣\\\",\\\"name\\\":\\\"keyword.operator.left.apl\\\"},{\\\"match\\\":\\\"⊢\\\",\\\"name\\\":\\\"keyword.operator.right.apl\\\"},{\\\"match\\\":\\\"⊤\\\",\\\"name\\\":\\\"keyword.operator.encode.apl\\\"},{\\\"match\\\":\\\"⊥\\\",\\\"name\\\":\\\"keyword.operator.decode.apl\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.slash.apl\\\"},{\\\"match\\\":\\\"⌿\\\",\\\"name\\\":\\\"keyword.operator.slash-bar.apl\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"keyword.operator.backslash.apl\\\"},{\\\"match\\\":\\\"⍀\\\",\\\"name\\\":\\\"keyword.operator.backslash-bar.apl\\\"},{\\\"match\\\":\\\"⌽\\\",\\\"name\\\":\\\"keyword.operator.rotate-last.apl\\\"},{\\\"match\\\":\\\"⊖\\\",\\\"name\\\":\\\"keyword.operator.rotate-first.apl\\\"},{\\\"match\\\":\\\"⍉\\\",\\\"name\\\":\\\"keyword.operator.transpose.apl\\\"},{\\\"match\\\":\\\"⍋\\\",\\\"name\\\":\\\"keyword.operator.grade-up.apl\\\"},{\\\"match\\\":\\\"⍒\\\",\\\"name\\\":\\\"keyword.operator.grade-down.apl\\\"},{\\\"match\\\":\\\"⌹\\\",\\\"name\\\":\\\"keyword.operator.quad-divide.apl\\\"},{\\\"match\\\":\\\"≡\\\",\\\"name\\\":\\\"keyword.operator.identical.apl\\\"},{\\\"match\\\":\\\"≢\\\",\\\"name\\\":\\\"keyword.operator.not-identical.apl\\\"},{\\\"match\\\":\\\"⊂\\\",\\\"name\\\":\\\"keyword.operator.enclose.apl\\\"},{\\\"match\\\":\\\"⊃\\\",\\\"name\\\":\\\"keyword.operator.pick.apl\\\"},{\\\"match\\\":\\\"∩\\\",\\\"name\\\":\\\"keyword.operator.intersection.apl\\\"},{\\\"match\\\":\\\"∪\\\",\\\"name\\\":\\\"keyword.operator.union.apl\\\"},{\\\"match\\\":\\\"⍎\\\",\\\"name\\\":\\\"keyword.operator.hydrant.apl\\\"},{\\\"match\\\":\\\"⍕\\\",\\\"name\\\":\\\"keyword.operator.thorn.apl\\\"},{\\\"match\\\":\\\"⊆\\\",\\\"name\\\":\\\"keyword.operator.underbar-shoe-left.apl\\\"},{\\\"match\\\":\\\"⍸\\\",\\\"name\\\":\\\"keyword.operator.underbar-iota.apl\\\"},{\\\"match\\\":\\\"¨\\\",\\\"name\\\":\\\"keyword.operator.each.apl\\\"},{\\\"match\\\":\\\"⍤\\\",\\\"name\\\":\\\"keyword.operator.rank.apl\\\"},{\\\"match\\\":\\\"⌸\\\",\\\"name\\\":\\\"keyword.operator.quad-equal.apl\\\"},{\\\"match\\\":\\\"⍨\\\",\\\"name\\\":\\\"keyword.operator.commute.apl\\\"},{\\\"match\\\":\\\"⍣\\\",\\\"name\\\":\\\"keyword.operator.power.apl\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.dot.apl\\\"},{\\\"match\\\":\\\"∘\\\",\\\"name\\\":\\\"keyword.operator.jot.apl\\\"},{\\\"match\\\":\\\"⍠\\\",\\\"name\\\":\\\"keyword.operator.quad-colon.apl\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"keyword.operator.ampersand.apl\\\"},{\\\"match\\\":\\\"⌶\\\",\\\"name\\\":\\\"keyword.operator.i-beam.apl\\\"},{\\\"match\\\":\\\"⌺\\\",\\\"name\\\":\\\"keyword.operator.quad-diamond.apl\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.operator.at.apl\\\"},{\\\"match\\\":\\\"◊\\\",\\\"name\\\":\\\"keyword.operator.lozenge.apl\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.semicolon.apl\\\"},{\\\"match\\\":\\\"¯\\\",\\\"name\\\":\\\"keyword.operator.high-minus.apl\\\"},{\\\"match\\\":\\\"←\\\",\\\"name\\\":\\\"keyword.operator.assignment.apl\\\"},{\\\"match\\\":\\\"→\\\",\\\"name\\\":\\\"keyword.control.goto.apl\\\"},{\\\"match\\\":\\\"⍬\\\",\\\"name\\\":\\\"constant.language.zilde.apl\\\"},{\\\"match\\\":\\\"⋄\\\",\\\"name\\\":\\\"keyword.operator.diamond.apl\\\"},{\\\"match\\\":\\\"⍫\\\",\\\"name\\\":\\\"keyword.operator.lock.apl\\\"},{\\\"match\\\":\\\"⎕\\\",\\\"name\\\":\\\"keyword.operator.quad.apl\\\"},{\\\"match\\\":\\\"##\\\",\\\"name\\\":\\\"constant.language.namespace.parent.apl\\\"},{\\\"match\\\":\\\"#\\\",\\\"name\\\":\\\"constant.language.namespace.root.apl\\\"},{\\\"match\\\":\\\"⌻\\\",\\\"name\\\":\\\"keyword.operator.quad-jot.apl\\\"},{\\\"match\\\":\\\"⌼\\\",\\\"name\\\":\\\"keyword.operator.quad-circle.apl\\\"},{\\\"match\\\":\\\"⌾\\\",\\\"name\\\":\\\"keyword.operator.circle-jot.apl\\\"},{\\\"match\\\":\\\"⍁\\\",\\\"name\\\":\\\"keyword.operator.quad-slash.apl\\\"},{\\\"match\\\":\\\"⍂\\\",\\\"name\\\":\\\"keyword.operator.quad-backslash.apl\\\"},{\\\"match\\\":\\\"⍃\\\",\\\"name\\\":\\\"keyword.operator.quad-less.apl\\\"},{\\\"match\\\":\\\"⍄\\\",\\\"name\\\":\\\"keyword.operator.greater.apl\\\"},{\\\"match\\\":\\\"⍅\\\",\\\"name\\\":\\\"keyword.operator.vane-left.apl\\\"},{\\\"match\\\":\\\"⍆\\\",\\\"name\\\":\\\"keyword.operator.vane-right.apl\\\"},{\\\"match\\\":\\\"⍇\\\",\\\"name\\\":\\\"keyword.operator.quad-arrow-left.apl\\\"},{\\\"match\\\":\\\"⍈\\\",\\\"name\\\":\\\"keyword.operator.quad-arrow-right.apl\\\"},{\\\"match\\\":\\\"⍊\\\",\\\"name\\\":\\\"keyword.operator.tack-down.apl\\\"},{\\\"match\\\":\\\"⍌\\\",\\\"name\\\":\\\"keyword.operator.quad-caret-down.apl\\\"},{\\\"match\\\":\\\"⍍\\\",\\\"name\\\":\\\"keyword.operator.quad-del-up.apl\\\"},{\\\"match\\\":\\\"⍏\\\",\\\"name\\\":\\\"keyword.operator.vane-up.apl\\\"},{\\\"match\\\":\\\"⍐\\\",\\\"name\\\":\\\"keyword.operator.quad-arrow-up.apl\\\"},{\\\"match\\\":\\\"⍑\\\",\\\"name\\\":\\\"keyword.operator.tack-up.apl\\\"},{\\\"match\\\":\\\"⍓\\\",\\\"name\\\":\\\"keyword.operator.quad-caret-up.apl\\\"},{\\\"match\\\":\\\"⍔\\\",\\\"name\\\":\\\"keyword.operator.quad-del-down.apl\\\"},{\\\"match\\\":\\\"⍖\\\",\\\"name\\\":\\\"keyword.operator.vane-down.apl\\\"},{\\\"match\\\":\\\"⍗\\\",\\\"name\\\":\\\"keyword.operator.quad-arrow-down.apl\\\"},{\\\"match\\\":\\\"⍘\\\",\\\"name\\\":\\\"keyword.operator.underbar-quote.apl\\\"},{\\\"match\\\":\\\"⍚\\\",\\\"name\\\":\\\"keyword.operator.underbar-diamond.apl\\\"},{\\\"match\\\":\\\"⍛\\\",\\\"name\\\":\\\"keyword.operator.underbar-jot.apl\\\"},{\\\"match\\\":\\\"⍜\\\",\\\"name\\\":\\\"keyword.operator.underbar-circle.apl\\\"},{\\\"match\\\":\\\"⍞\\\",\\\"name\\\":\\\"keyword.operator.quad-quote.apl\\\"},{\\\"match\\\":\\\"⍡\\\",\\\"name\\\":\\\"keyword.operator.dotted-tack-up.apl\\\"},{\\\"match\\\":\\\"⍢\\\",\\\"name\\\":\\\"keyword.operator.dotted-del.apl\\\"},{\\\"match\\\":\\\"⍥\\\",\\\"name\\\":\\\"keyword.operator.dotted-circle.apl\\\"},{\\\"match\\\":\\\"⍦\\\",\\\"name\\\":\\\"keyword.operator.stile-shoe-up.apl\\\"},{\\\"match\\\":\\\"⍧\\\",\\\"name\\\":\\\"keyword.operator.stile-shoe-left.apl\\\"},{\\\"match\\\":\\\"⍩\\\",\\\"name\\\":\\\"keyword.operator.dotted-greater.apl\\\"},{\\\"match\\\":\\\"⍭\\\",\\\"name\\\":\\\"keyword.operator.stile-tilde.apl\\\"},{\\\"match\\\":\\\"⍮\\\",\\\"name\\\":\\\"keyword.operator.underbar-semicolon.apl\\\"},{\\\"match\\\":\\\"⍯\\\",\\\"name\\\":\\\"keyword.operator.quad-not-equal.apl\\\"},{\\\"match\\\":\\\"⍰\\\",\\\"name\\\":\\\"keyword.operator.quad-question.apl\\\"}]},\\\"sysvars\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quad.apl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quad-quote.apl\\\"}},\\\"match\\\":\\\"(?:(⎕)|(⍞))[A-Za-z]*\\\",\\\"name\\\":\\\"support.system.variable.apl\\\"}]}},\\\"scopeName\\\":\\\"source.apl\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"xml\\\",\\\"css\\\",\\\"javascript\\\",\\\"json\\\"]}\"))\n\nexport default [\n...html,\n...xml,\n...css,\n...javascript,\n...json,\nlang\n]\n" + ], + "names": [ + "lang", + "apl", + "html", + "xml", + "css", + "javascript", + "json" + ], + "mappings": "2MAMA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+4rBAAw/wB,CAAC,EAEhhxBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHN,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DcaNXYhu.js b/src/webview-ui/build/assets/chunk-DcaNXYhu.js new file mode 100644 index 0000000000..7d0895e069 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DcaNXYhu.js @@ -0,0 +1,8 @@ +const n = Object.freeze( + JSON.parse( + '{"displayName":"JSON Lines","name":"jsonl","patterns":[{"include":"#value"}],"repository":{"array":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json.lines"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json.lines"}},"name":"meta.structure.array.json.lines","patterns":[{"include":"#value"},{"match":",","name":"punctuation.separator.array.json.lines"},{"match":"[^]\\\\s]","name":"invalid.illegal.expected-array-separator.json.lines"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json.lines"}},"end":"\\\\*/","name":"comment.block.documentation.json.lines"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.json.lines"}},"end":"\\\\*/","name":"comment.block.json.lines"},{"captures":{"1":{"name":"punctuation.definition.comment.json.lines"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.js"}]},"constant":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.json.lines"},"number":{"match":"-?(?:0|[1-9]\\\\d*)(?:(?:\\\\.\\\\d+)?(?:[Ee][-+]?\\\\d+)?)?","name":"constant.numeric.json.lines"},"object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json.lines"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json.lines"}},"name":"meta.structure.dictionary.json.lines","patterns":[{"include":"#objectkey"},{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json.lines"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json.lines"}},"name":"meta.structure.dictionary.value.json.lines","patterns":[{"include":"#value"},{"match":"[^,\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json.lines"}]},{"match":"[^}\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json.lines"}]},"objectkey":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.support.type.property-name.begin.json.lines"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.support.type.property-name.end.json.lines"}},"name":"string.json.lines support.type.property-name.json.lines","patterns":[{"include":"#stringcontent"}]},"string":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json.lines"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json.lines"}},"name":"string.quoted.double.json.lines","patterns":[{"include":"#stringcontent"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\(?:[\\"/\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.json.lines"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.json.lines"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"},{"include":"#comments"}]}},"scopeName":"source.json.lines"}', + ), + ), + e = [n] +export { e as default } +//# sourceMappingURL=chunk-DcaNXYhu.js.map diff --git a/src/webview-ui/build/assets/chunk-DcaNXYhu.js.map b/src/webview-ui/build/assets/chunk-DcaNXYhu.js.map new file mode 100644 index 0000000000..a8da232287 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DcaNXYhu.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DcaNXYhu.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jsonl.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSON Lines\\\",\\\"name\\\":\\\"jsonl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.json.lines\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.json.lines\\\"}},\\\"name\\\":\\\"meta.structure.array.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.json.lines\\\"},{\\\"match\\\":\\\"[^]\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-array-separator.json.lines\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.json.lines\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.json.lines\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.lines\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},\\\"constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json.lines\\\"},\\\"number\\\":{\\\"match\\\":\\\"-?(?:0|[1-9]\\\\\\\\d*)(?:(?:\\\\\\\\.\\\\\\\\d+)?(?:[Ee][-+]?\\\\\\\\d+)?)?\\\",\\\"name\\\":\\\"constant.numeric.json.lines\\\"},\\\"object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.begin.json.lines\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.end.json.lines\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#objectkey\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.key-value.json.lines\\\"}},\\\"end\\\":\\\"(,)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.pair.json.lines\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.value.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\"[^,\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json.lines\\\"}]},{\\\"match\\\":\\\"[^}\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json.lines\\\"}]},\\\"objectkey\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.begin.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.end.json.lines\\\"}},\\\"name\\\":\\\"string.json.lines support.type.property-name.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json.lines\\\"}},\\\"name\\\":\\\"string.quoted.double.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"stringcontent\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.json.lines\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json.lines\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"#comments\\\"}]}},\\\"scopeName\\\":\\\"source.json.lines\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "jsonl" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,m4FAAkvG,CAAC,EAE1wGC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Dcsh5twl.js b/src/webview-ui/build/assets/chunk-Dcsh5twl.js new file mode 100644 index 0000000000..ba4b4c8d3b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dcsh5twl.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#fbf1c7","activityBar.border":"#ebdbb2","activityBar.foreground":"#3c3836","activityBarBadge.background":"#458588","activityBarBadge.foreground":"#ebdbb2","activityBarTop.background":"#fbf1c7","activityBarTop.foreground":"#3c3836","badge.background":"#b16286","badge.foreground":"#ebdbb2","button.background":"#45858880","button.foreground":"#3c3836","button.hoverBackground":"#45858860","debugToolBar.background":"#fbf1c7","diffEditor.insertedTextBackground":"#79740e30","diffEditor.removedTextBackground":"#9d000630","dropdown.background":"#fbf1c7","dropdown.border":"#ebdbb2","dropdown.foreground":"#3c3836","editor.background":"#fbf1c7","editor.findMatchBackground":"#07667870","editor.findMatchHighlightBackground":"#af3a0330","editor.findRangeHighlightBackground":"#07667870","editor.foreground":"#3c3836","editor.hoverHighlightBackground":"#689d6a50","editor.lineHighlightBackground":"#ebdbb260","editor.lineHighlightBorder":"#0000","editor.selectionBackground":"#689d6a40","editor.selectionHighlightBackground":"#b5761440","editorBracketHighlight.foreground1":"#b16286","editorBracketHighlight.foreground2":"#458588","editorBracketHighlight.foreground3":"#689d6a","editorBracketHighlight.foreground4":"#98971a","editorBracketHighlight.foreground5":"#d79921","editorBracketHighlight.foreground6":"#d65d0e","editorBracketHighlight.unexpectedBracket.foreground":"#cc241d","editorBracketMatch.background":"#92837480","editorBracketMatch.border":"#0000","editorCodeLens.foreground":"#7c6f6490","editorCursor.foreground":"#3c3836","editorError.foreground":"#cc241d","editorGroup.border":"#ebdbb2","editorGroup.dropBackground":"#ebdbb260","editorGroupHeader.noTabsBackground":"#fbf1c7","editorGroupHeader.tabsBackground":"#fbf1c7","editorGroupHeader.tabsBorder":"#ebdbb2","editorGutter.addedBackground":"#79740e","editorGutter.background":"#0000","editorGutter.deletedBackground":"#9d0006","editorGutter.modifiedBackground":"#076678","editorHoverWidget.background":"#fbf1c7","editorHoverWidget.border":"#ebdbb2","editorInfo.foreground":"#458588","editorLineNumber.foreground":"#bdae93","editorLink.activeForeground":"#3c3836","editorOverviewRuler.addedForeground":"#076678","editorOverviewRuler.border":"#0000","editorOverviewRuler.commonContentForeground":"#928374","editorOverviewRuler.currentContentForeground":"#458588","editorOverviewRuler.deletedForeground":"#076678","editorOverviewRuler.errorForeground":"#9d0006","editorOverviewRuler.findMatchForeground":"#665c54","editorOverviewRuler.incomingContentForeground":"#689d6a","editorOverviewRuler.infoForeground":"#8f3f71","editorOverviewRuler.modifiedForeground":"#076678","editorOverviewRuler.rangeHighlightForeground":"#665c54","editorOverviewRuler.selectionHighlightForeground":"#bdae93","editorOverviewRuler.warningForeground":"#d79921","editorOverviewRuler.wordHighlightForeground":"#bdae93","editorOverviewRuler.wordHighlightStrongForeground":"#bdae93","editorRuler.foreground":"#7c6f6440","editorStickyScroll.shadow":"#d5c4a199","editorStickyScrollHover.background":"#ebdbb260","editorSuggestWidget.background":"#fbf1c7","editorSuggestWidget.border":"#ebdbb2","editorSuggestWidget.foreground":"#3c3836","editorSuggestWidget.highlightForeground":"#689d6a","editorSuggestWidget.selectedBackground":"#ebdbb260","editorWarning.foreground":"#d79921","editorWhitespace.foreground":"#7c6f6420","editorWidget.background":"#fbf1c7","editorWidget.border":"#ebdbb2","errorForeground":"#9d0006","extensionButton.prominentBackground":"#79740e80","extensionButton.prominentHoverBackground":"#79740e30","focusBorder":"#ebdbb2","foreground":"#3c3836","gitDecoration.addedResourceForeground":"#3c3836","gitDecoration.conflictingResourceForeground":"#b16286","gitDecoration.deletedResourceForeground":"#cc241d","gitDecoration.ignoredResourceForeground":"#a89984","gitDecoration.modifiedResourceForeground":"#d79921","gitDecoration.untrackedResourceForeground":"#98971a","gitlens.closedAutolinkedIssueIconColor":"#b16286","gitlens.closedPullRequestIconColor":"#cc241d","gitlens.decorations.branchAheadForegroundColor":"#98971a","gitlens.decorations.branchBehindForegroundColor":"#d65d0e","gitlens.decorations.branchDivergedForegroundColor":"#d79921","gitlens.decorations.branchMissingUpstreamForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#d79921","gitlens.decorations.workspaceCurrentForegroundColor":"#98971a","gitlens.decorations.workspaceRepoMissingForegroundColor":"#a89984","gitlens.decorations.workspaceRepoOpenForegroundColor":"#98971a","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#928374","gitlens.decorations.worktreeMissingForegroundColor":"#cc241d","gitlens.graphChangesColumnAddedColor":"#98971a","gitlens.graphChangesColumnDeletedColor":"#cc241d","gitlens.graphLane10Color":"#98971a","gitlens.graphLane1Color":"#076678","gitlens.graphLane2Color":"#458588","gitlens.graphLane3Color":"#8f3f71","gitlens.graphLane4Color":"#b16286","gitlens.graphLane5Color":"#427b58","gitlens.graphLane6Color":"#689d6a","gitlens.graphLane7Color":"#b57614","gitlens.graphLane8Color":"#d79921","gitlens.graphLane9Color":"#79740e","gitlens.graphMinimapMarkerHeadColor":"#98971a","gitlens.graphMinimapMarkerHighlightsColor":"#79740e","gitlens.graphMinimapMarkerLocalBranchesColor":"#076678","gitlens.graphMinimapMarkerPullRequestsColor":"#af3a03","gitlens.graphMinimapMarkerRemoteBranchesColor":"#458588","gitlens.graphMinimapMarkerStashesColor":"#b16286","gitlens.graphMinimapMarkerTagsColor":"#a89984","gitlens.graphMinimapMarkerUpstreamColor":"#689d6a","gitlens.graphScrollMarkerHeadColor":"#79740e","gitlens.graphScrollMarkerHighlightsColor":"#d79921","gitlens.graphScrollMarkerLocalBranchesColor":"#076678","gitlens.graphScrollMarkerPullRequestsColor":"#af3a03","gitlens.graphScrollMarkerRemoteBranchesColor":"#458588","gitlens.graphScrollMarkerStashesColor":"#b16286","gitlens.graphScrollMarkerTagsColor":"#a89984","gitlens.graphScrollMarkerUpstreamColor":"#427b58","gitlens.gutterBackgroundColor":"#ebdbb2","gitlens.gutterForegroundColor":"#3c3836","gitlens.gutterUncommittedForegroundColor":"#458588","gitlens.launchpadIndicatorAttentionColor":"#b57614","gitlens.launchpadIndicatorAttentionHoverColor":"#d79921","gitlens.launchpadIndicatorBlockedColor":"#9d0006","gitlens.launchpadIndicatorBlockedHoverColor":"#cc241d","gitlens.launchpadIndicatorMergeableColor":"#79740e","gitlens.launchpadIndicatorMergeableHoverColor":"#98971a","gitlens.lineHighlightBackgroundColor":"#ebdbb2","gitlens.lineHighlightOverviewRulerColor":"#458588","gitlens.mergedPullRequestIconColor":"#b16286","gitlens.openAutolinkedIssueIconColor":"#98971a","gitlens.openPullRequestIconColor":"#98971a","gitlens.trailingLineBackgroundColor":"#fbf1c7a0","gitlens.trailingLineForegroundColor":"#928374a0","gitlens.unpublishedChangesIconColor":"#98971a","gitlens.unpublishedCommitIconColor":"#98971a","gitlens.unpulledChangesIconColor":"#af3a03","icon.foreground":"#3c3836","input.background":"#fbf1c7","input.border":"#ebdbb2","input.foreground":"#3c3836","input.placeholderForeground":"#3c383660","inputOption.activeBorder":"#3c383660","inputValidation.errorBackground":"#cc241d","inputValidation.errorBorder":"#9d0006","inputValidation.infoBackground":"#45858880","inputValidation.infoBorder":"#076678","inputValidation.warningBackground":"#d79921","inputValidation.warningBorder":"#b57614","list.activeSelectionBackground":"#ebdbb280","list.activeSelectionForeground":"#427b58","list.dropBackground":"#ebdbb2","list.focusBackground":"#ebdbb2","list.focusForeground":"#3c3836","list.highlightForeground":"#689d6a","list.hoverBackground":"#ebdbb280","list.hoverForeground":"#504945","list.inactiveSelectionBackground":"#ebdbb280","list.inactiveSelectionForeground":"#689d6a","menu.border":"#ebdbb2","menu.separatorBackground":"#ebdbb2","merge.border":"#0000","merge.currentContentBackground":"#45858820","merge.currentHeaderBackground":"#45858840","merge.incomingContentBackground":"#689d6a20","merge.incomingHeaderBackground":"#689d6a40","notebook.cellBorderColor":"#d5c4a1","notebook.cellEditorBackground":"#ebdbb2","notebook.focusedCellBorder":"#7c6f64","notebook.focusedEditorBorder":"#d5c4a1","panel.border":"#ebdbb2","panelTitle.activeForeground":"#3c3836","peekView.border":"#ebdbb2","peekViewEditor.background":"#ebdbb270","peekViewEditor.matchHighlightBackground":"#d5c4a1","peekViewEditorGutter.background":"#ebdbb270","peekViewResult.background":"#ebdbb270","peekViewResult.fileForeground":"#3c3836","peekViewResult.lineForeground":"#3c3836","peekViewResult.matchHighlightBackground":"#d5c4a1","peekViewResult.selectionBackground":"#45858820","peekViewResult.selectionForeground":"#3c3836","peekViewTitle.background":"#ebdbb270","peekViewTitleDescription.foreground":"#665c54","peekViewTitleLabel.foreground":"#3c3836","progressBar.background":"#689d6a","scmGraph.historyItemHoverDefaultLabelForeground":"#ebdbb2","scmGraph.historyItemHoverLabelForeground":"#ebdbb2","scrollbar.shadow":"#fbf1c7","scrollbarSlider.activeBackground":"#689d6a","scrollbarSlider.background":"#d5c4a199","scrollbarSlider.hoverBackground":"#bdae93","selection.background":"#689d6a80","sideBar.background":"#fbf1c7","sideBar.border":"#ebdbb2","sideBar.foreground":"#504945","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.foreground":"#3c3836","sideBarTitle.foreground":"#3c3836","statusBar.background":"#fbf1c7","statusBar.border":"#ebdbb2","statusBar.debuggingBackground":"#af3a03","statusBar.debuggingBorder":"#0000","statusBar.debuggingForeground":"#fbf1c7","statusBar.foreground":"#3c3836","statusBar.noFolderBackground":"#fbf1c7","statusBar.noFolderBorder":"#0000","tab.activeBackground":"#ebdbb2","tab.activeBorder":"#689d6a","tab.activeForeground":"#3c3836","tab.border":"#0000","tab.inactiveBackground":"#fbf1c7","tab.inactiveForeground":"#7c6f64","tab.unfocusedActiveBorder":"#0000","tab.unfocusedActiveForeground":"#7c6f64","tab.unfocusedInactiveForeground":"#928374","terminal.ansiBlack":"#ebdbb2","terminal.ansiBlue":"#458588","terminal.ansiBrightBlack":"#928374","terminal.ansiBrightBlue":"#076678","terminal.ansiBrightCyan":"#427b58","terminal.ansiBrightGreen":"#79740e","terminal.ansiBrightMagenta":"#8f3f71","terminal.ansiBrightRed":"#9d0006","terminal.ansiBrightWhite":"#3c3836","terminal.ansiBrightYellow":"#b57614","terminal.ansiCyan":"#689d6a","terminal.ansiGreen":"#98971a","terminal.ansiMagenta":"#b16286","terminal.ansiRed":"#cc241d","terminal.ansiWhite":"#7c6f64","terminal.ansiYellow":"#d79921","terminal.background":"#fbf1c7","terminal.foreground":"#3c3836","textLink.activeForeground":"#458588","textLink.foreground":"#076678","titleBar.activeBackground":"#fbf1c7","titleBar.activeForeground":"#3c3836","titleBar.inactiveBackground":"#fbf1c7","widget.border":"#ebdbb2","widget.shadow":"#fbf1c730"},"displayName":"Gruvbox Light Medium","name":"gruvbox-light-medium","semanticHighlighting":true,"semanticTokenColors":{"component":"#af3a03","constant.builtin":"#8f3f71","function":"#427b58","function.builtin":"#af3a03","method":"#427b58","parameter":"#076678","property":"#076678","property:python":"#3c3836","variable":"#3c3836"},"tokenColors":[{"settings":{"foreground":"#3c3836"}},{"scope":"emphasis","settings":{"fontStyle":"italic"}},{"scope":"strong","settings":{"fontStyle":"bold"}},{"scope":"header","settings":{"foreground":"#458588"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#928374"}},{"scope":["constant","support.constant","variable.arguments"],"settings":{"foreground":"#8f3f71"}},{"scope":"constant.rgb-value","settings":{"foreground":"#3c3836"}},{"scope":"entity.name.selector","settings":{"foreground":"#427b58"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#b57614"}},{"scope":["entity.name.tag","punctuation.tag"],"settings":{"foreground":"#427b58"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#cc241d"}},{"scope":"invalid.deprecated","settings":{"foreground":"#b16286"}},{"scope":"meta.selector","settings":{"foreground":"#427b58"}},{"scope":"meta.preprocessor","settings":{"foreground":"#af3a03"}},{"scope":"meta.preprocessor.string","settings":{"foreground":"#79740e"}},{"scope":"meta.preprocessor.numeric","settings":{"foreground":"#79740e"}},{"scope":"meta.header.diff","settings":{"foreground":"#af3a03"}},{"scope":"storage","settings":{"foreground":"#9d0006"}},{"scope":["storage.type","storage.modifier"],"settings":{"foreground":"#af3a03"}},{"scope":"string","settings":{"foreground":"#79740e"}},{"scope":"string.tag","settings":{"foreground":"#79740e"}},{"scope":"string.value","settings":{"foreground":"#79740e"}},{"scope":"string.regexp","settings":{"foreground":"#af3a03"}},{"scope":"string.escape","settings":{"foreground":"#9d0006"}},{"scope":"string.quasi","settings":{"foreground":"#427b58"}},{"scope":"string.entity","settings":{"foreground":"#79740e"}},{"scope":"object","settings":{"foreground":"#3c3836"}},{"scope":"module.node","settings":{"foreground":"#076678"}},{"scope":"support.type.property-name","settings":{"foreground":"#689d6a"}},{"scope":"keyword","settings":{"foreground":"#9d0006"}},{"scope":"keyword.control","settings":{"foreground":"#9d0006"}},{"scope":"keyword.control.module","settings":{"foreground":"#427b58"}},{"scope":"keyword.control.less","settings":{"foreground":"#d79921"}},{"scope":"keyword.operator","settings":{"foreground":"#427b58"}},{"scope":"keyword.operator.new","settings":{"foreground":"#af3a03"}},{"scope":"keyword.other.unit","settings":{"foreground":"#79740e"}},{"scope":"metatag.php","settings":{"foreground":"#af3a03"}},{"scope":"support.function.git-rebase","settings":{"foreground":"#689d6a"}},{"scope":"constant.sha.git-rebase","settings":{"foreground":"#79740e"}},{"scope":["meta.type.name","meta.return.type","meta.return-type","meta.cast","meta.type.annotation","support.type","storage.type.cs","variable.class"],"settings":{"foreground":"#b57614"}},{"scope":["variable.this","support.variable"],"settings":{"foreground":"#8f3f71"}},{"scope":["entity.name","entity.static","entity.name.class.static.function","entity.name.function","entity.name.class","entity.name.type"],"settings":{"foreground":"#b57614"}},{"scope":["entity.function","entity.name.function.static"],"settings":{"foreground":"#427b58"}},{"scope":"entity.name.function.function-call","settings":{"foreground":"#427b58"}},{"scope":"support.function.builtin","settings":{"foreground":"#af3a03"}},{"scope":["entity.name.method","entity.name.method.function-call","entity.name.static.function-call"],"settings":{"foreground":"#689d6a"}},{"scope":"brace","settings":{"foreground":"#504945"}},{"scope":["meta.parameter.type.variable","variable.parameter","variable.name","variable.other","variable","string.constant.other.placeholder"],"settings":{"foreground":"#076678"}},{"scope":"prototype","settings":{"foreground":"#8f3f71"}},{"scope":["punctuation"],"settings":{"foreground":"#7c6f64"}},{"scope":"punctuation.quoted","settings":{"foreground":"#3c3836"}},{"scope":"punctuation.quasi","settings":{"foreground":"#9d0006"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["meta.function.python","entity.name.function.python"],"settings":{"foreground":"#427b58"}},{"scope":["storage.type.function.python","storage.modifier.declaration","storage.type.class.python","storage.type.string.python"],"settings":{"foreground":"#9d0006"}},{"scope":["storage.type.function.async.python"],"settings":{"foreground":"#9d0006"}},{"scope":"meta.function-call.generic","settings":{"foreground":"#076678"}},{"scope":"meta.function-call.arguments","settings":{"foreground":"#504945"}},{"scope":"entity.name.function.decorator","settings":{"fontStyle":"bold","foreground":"#b57614"}},{"scope":"constant.other.caps","settings":{"fontStyle":"bold"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#9d0006"}},{"scope":"punctuation.definition.logical-expression","settings":{"foreground":"#af3a03"}},{"scope":["string.interpolated.dollar.shell","string.interpolated.backtick.shell"],"settings":{"foreground":"#427b58"}},{"scope":"keyword.control.directive","settings":{"foreground":"#427b58"}},{"scope":"support.function.C99","settings":{"foreground":"#b57614"}},{"scope":["meta.function.cs","entity.name.function.cs","entity.name.type.namespace.cs"],"settings":{"foreground":"#79740e"}},{"scope":["keyword.other.using.cs","entity.name.variable.field.cs","entity.name.variable.local.cs","variable.other.readwrite.cs"],"settings":{"foreground":"#427b58"}},{"scope":["keyword.other.this.cs","keyword.other.base.cs"],"settings":{"foreground":"#8f3f71"}},{"scope":"meta.scope.prerequisites","settings":{"foreground":"#b57614"}},{"scope":"entity.name.function.target","settings":{"fontStyle":"bold","foreground":"#79740e"}},{"scope":["storage.modifier.import.java","storage.modifier.package.java"],"settings":{"foreground":"#665c54"}},{"scope":["keyword.other.import.java","keyword.other.package.java"],"settings":{"foreground":"#427b58"}},{"scope":"storage.type.java","settings":{"foreground":"#b57614"}},{"scope":"storage.type.annotation","settings":{"fontStyle":"bold","foreground":"#076678"}},{"scope":"keyword.other.documentation.javadoc","settings":{"foreground":"#427b58"}},{"scope":"comment.block.javadoc variable.parameter.java","settings":{"fontStyle":"bold","foreground":"#79740e"}},{"scope":["source.java variable.other.object","source.java variable.other.definition.java"],"settings":{"foreground":"#3c3836"}},{"scope":"meta.function-parameters.lisp","settings":{"foreground":"#b57614"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":"string.other.link.title.markdown","settings":{"fontStyle":"underline","foreground":"#928374"}},{"scope":"markup.underline.link","settings":{"foreground":"#8f3f71"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#af3a03"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#af3a03"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.inserted","settings":{"foreground":"#79740e"}},{"scope":"markup.deleted","settings":{"foreground":"#d65d0e"}},{"scope":"markup.changed","settings":{"foreground":"#af3a03"}},{"scope":"markup.punctuation.quote.beginning","settings":{"foreground":"#98971a"}},{"scope":"markup.punctuation.list.beginning","settings":{"foreground":"#076678"}},{"scope":["markup.inline.raw","markup.fenced_code.block"],"settings":{"foreground":"#427b58"}},{"scope":"string.quoted.double.json","settings":{"foreground":"#076678"}},{"scope":"entity.other.attribute-name.css","settings":{"foreground":"#af3a03"}},{"scope":"source.css meta.selector","settings":{"foreground":"#3c3836"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#af3a03"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#79740e"}},{"scope":["source.css support.function.transform","source.css support.function.timing-function","source.css support.function.misc"],"settings":{"foreground":"#9d0006"}},{"scope":["support.property-value","constant.rgb-value","support.property-value.scss","constant.rgb-value.scss"],"settings":{"foreground":"#d65d0e"}},{"scope":["entity.name.tag.css"],"settings":{"fontStyle":""}},{"scope":["punctuation.definition.tag"],"settings":{"foreground":"#076678"}},{"scope":["text.html entity.name.tag","text.html punctuation.tag"],"settings":{"fontStyle":"bold","foreground":"#427b58"}},{"scope":["source.js variable.language"],"settings":{"foreground":"#af3a03"}},{"scope":["source.ts variable.language"],"settings":{"foreground":"#af3a03"}},{"scope":["source.go storage.type"],"settings":{"foreground":"#b57614"}},{"scope":["source.go entity.name.import"],"settings":{"foreground":"#79740e"}},{"scope":["source.go keyword.package","source.go keyword.import"],"settings":{"foreground":"#427b58"}},{"scope":["source.go keyword.interface","source.go keyword.struct"],"settings":{"foreground":"#076678"}},{"scope":["source.go entity.name.type"],"settings":{"foreground":"#3c3836"}},{"scope":["source.go entity.name.function"],"settings":{"foreground":"#8f3f71"}},{"scope":["keyword.control.cucumber.table"],"settings":{"foreground":"#076678"}},{"scope":["source.reason string.double","source.reason string.regexp"],"settings":{"foreground":"#79740e"}},{"scope":["source.reason keyword.control.less"],"settings":{"foreground":"#427b58"}},{"scope":["source.reason entity.name.function"],"settings":{"foreground":"#076678"}},{"scope":["source.reason support.property-value","source.reason entity.name.filename"],"settings":{"foreground":"#af3a03"}},{"scope":["source.powershell variable.other.member.powershell"],"settings":{"foreground":"#af3a03"}},{"scope":["source.powershell support.function.powershell"],"settings":{"foreground":"#b57614"}},{"scope":["source.powershell support.function.attribute.powershell"],"settings":{"foreground":"#665c54"}},{"scope":["source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell"],"settings":{"foreground":"#af3a03"}},{"scope":["support.function.be.latex","support.function.general.tex","support.function.section.latex","support.function.textbf.latex","support.function.textit.latex","support.function.texttt.latex","support.function.emph.latex","support.function.url.latex"],"settings":{"foreground":"#9d0006"}},{"scope":["support.class.math.block.tex","support.class.math.block.environment.latex"],"settings":{"foreground":"#af3a03"}},{"scope":["keyword.control.preamble.latex","keyword.control.include.latex"],"settings":{"foreground":"#8f3f71"}},{"scope":["support.class.latex"],"settings":{"foreground":"#427b58"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-Dcsh5twl.js.map diff --git a/src/webview-ui/build/assets/chunk-Dcsh5twl.js.map b/src/webview-ui/build/assets/chunk-Dcsh5twl.js.map new file mode 100644 index 0000000000..e30ced5d60 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dcsh5twl.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-Dcsh5twl.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/gruvbox-light-medium.mjs" + ], + "sourcesContent": [ + "/* Theme: gruvbox-light-medium */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#fbf1c7\\\",\\\"activityBar.border\\\":\\\"#ebdbb2\\\",\\\"activityBar.foreground\\\":\\\"#3c3836\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#fbf1c7\\\",\\\"activityBarTop.foreground\\\":\\\"#3c3836\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#3c3836\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#fbf1c7\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#79740e30\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#9d000630\\\",\\\"dropdown.background\\\":\\\"#fbf1c7\\\",\\\"dropdown.border\\\":\\\"#ebdbb2\\\",\\\"dropdown.foreground\\\":\\\"#3c3836\\\",\\\"editor.background\\\":\\\"#fbf1c7\\\",\\\"editor.findMatchBackground\\\":\\\"#07667870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#af3a0330\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#07667870\\\",\\\"editor.foreground\\\":\\\"#3c3836\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ebdbb260\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#b5761440\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#7c6f6490\\\",\\\"editorCursor.foreground\\\":\\\"#3c3836\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGroup.border\\\":\\\"#ebdbb2\\\",\\\"editorGroup.dropBackground\\\":\\\"#ebdbb260\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#fbf1c7\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#fbf1c7\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ebdbb2\\\",\\\"editorGutter.addedBackground\\\":\\\"#79740e\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9d0006\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#076678\\\",\\\"editorHoverWidget.background\\\":\\\"#fbf1c7\\\",\\\"editorHoverWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#bdae93\\\",\\\"editorLink.activeForeground\\\":\\\"#3c3836\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#9d0006\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8f3f71\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bdae93\\\",\\\"editorRuler.foreground\\\":\\\"#7c6f6440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#d5c4a199\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ebdbb260\\\",\\\"editorSuggestWidget.background\\\":\\\"#fbf1c7\\\",\\\"editorSuggestWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ebdbb260\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c6f6420\\\",\\\"editorWidget.background\\\":\\\"#fbf1c7\\\",\\\"editorWidget.border\\\":\\\"#ebdbb2\\\",\\\"errorForeground\\\":\\\"#9d0006\\\",\\\"extensionButton.prominentBackground\\\":\\\"#79740e80\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#79740e30\\\",\\\"focusBorder\\\":\\\"#ebdbb2\\\",\\\"foreground\\\":\\\"#3c3836\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3c3836\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#a89984\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a89984\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#076678\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8f3f71\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#427b58\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#b57614\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#79740e\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#427b58\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#b57614\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#9d0006\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#79740e\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#fbf1c7a0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#af3a03\\\",\\\"icon.foreground\\\":\\\"#3c3836\\\",\\\"input.background\\\":\\\"#fbf1c7\\\",\\\"input.border\\\":\\\"#ebdbb2\\\",\\\"input.foreground\\\":\\\"#3c3836\\\",\\\"input.placeholderForeground\\\":\\\"#3c383660\\\",\\\"inputOption.activeBorder\\\":\\\"#3c383660\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#9d0006\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#076678\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#b57614\\\",\\\"list.activeSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.activeSelectionForeground\\\":\\\"#427b58\\\",\\\"list.dropBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusForeground\\\":\\\"#3c3836\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#ebdbb280\\\",\\\"list.hoverForeground\\\":\\\"#504945\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#ebdbb2\\\",\\\"menu.separatorBackground\\\":\\\"#ebdbb2\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#d5c4a1\\\",\\\"notebook.cellEditorBackground\\\":\\\"#ebdbb2\\\",\\\"notebook.focusedCellBorder\\\":\\\"#7c6f64\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#d5c4a1\\\",\\\"panel.border\\\":\\\"#ebdbb2\\\",\\\"panelTitle.activeForeground\\\":\\\"#3c3836\\\",\\\"peekView.border\\\":\\\"#ebdbb2\\\",\\\"peekViewEditor.background\\\":\\\"#ebdbb270\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewEditorGutter.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.fileForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.lineForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#3c3836\\\",\\\"peekViewTitle.background\\\":\\\"#ebdbb270\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#665c54\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#3c3836\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#fbf1c7\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#d5c4a199\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#bdae93\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#fbf1c7\\\",\\\"sideBar.border\\\":\\\"#ebdbb2\\\",\\\"sideBar.foreground\\\":\\\"#504945\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#3c3836\\\",\\\"sideBarTitle.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.background\\\":\\\"#fbf1c7\\\",\\\"statusBar.border\\\":\\\"#ebdbb2\\\",\\\"statusBar.debuggingBackground\\\":\\\"#af3a03\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#fbf1c7\\\",\\\"statusBar.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.noFolderBackground\\\":\\\"#fbf1c7\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#ebdbb2\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#3c3836\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#fbf1c7\\\",\\\"tab.inactiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#076678\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#427b58\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#79740e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#8f3f71\\\",\\\"terminal.ansiBrightRed\\\":\\\"#9d0006\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#3c3836\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b57614\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#7c6f64\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#fbf1c7\\\",\\\"terminal.foreground\\\":\\\"#3c3836\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#076678\\\",\\\"titleBar.activeBackground\\\":\\\"#fbf1c7\\\",\\\"titleBar.activeForeground\\\":\\\"#3c3836\\\",\\\"titleBar.inactiveBackground\\\":\\\"#fbf1c7\\\",\\\"widget.border\\\":\\\"#ebdbb2\\\",\\\"widget.shadow\\\":\\\"#fbf1c730\\\"},\\\"displayName\\\":\\\"Gruvbox Light Medium\\\",\\\"name\\\":\\\"gruvbox-light-medium\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#af3a03\\\",\\\"constant.builtin\\\":\\\"#8f3f71\\\",\\\"function\\\":\\\"#427b58\\\",\\\"function.builtin\\\":\\\"#af3a03\\\",\\\"method\\\":\\\"#427b58\\\",\\\"parameter\\\":\\\"#076678\\\",\\\"property\\\":\\\"#076678\\\",\\\"property:python\\\":\\\"#3c3836\\\",\\\"variable\\\":\\\"#3c3836\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c6f64\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "gruvboxLightMedium" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,4yqBAA4rvB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Dd19v3D-.js b/src/webview-ui/build/assets/chunk-Dd19v3D-.js new file mode 100644 index 0000000000..feb41fd5e1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dd19v3D-.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Prisma","fileTypes":["prisma"],"name":"prisma","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#model_block_definition"},{"include":"#config_block_definition"},{"include":"#enum_block_definition"},{"include":"#type_definition"}],"repository":{"array":{"begin":"\\\\[","beginCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"end":"]","endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"name":"source.prisma.array","patterns":[{"include":"#value"}]},"assignment":{"patterns":[{"begin":"^\\\\s*(\\\\w+)\\\\s*(=)\\\\s*","beginCaptures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"keyword.operator.terraform"}},"end":"\\\\n","patterns":[{"include":"#value"},{"include":"#double_comment_inline"}]}]},"attribute":{"captures":{"1":{"name":"entity.name.function.attribute.prisma"}},"match":"(@@?[.\\\\w]+)","name":"source.prisma.attribute"},"attribute_with_arguments":{"begin":"(@@?[.\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.attribute.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}},"name":"source.prisma.attribute.with_arguments","patterns":[{"include":"#named_argument"},{"include":"#value"}]},"boolean":{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.prisma"},"config_block_definition":{"begin":"^\\\\s*(generator|datasource)\\\\s+([A-Za-z]\\\\w*)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"storage.type.config.prisma"},"2":{"name":"entity.name.type.config.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"end":"\\\\s*}","endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"name":"source.prisma.embedded.source","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#assignment"}]},"double_comment":{"begin":"//","end":"$\\\\n?","name":"comment.prisma"},"double_comment_inline":{"match":"//[^\\\\n]*","name":"comment.prisma"},"double_quoted_string":{"begin":"\\"","beginCaptures":{"0":{"name":"string.quoted.double.start.prisma"}},"end":"\\"","endCaptures":{"0":{"name":"string.quoted.double.end.prisma"}},"name":"unnamed","patterns":[{"include":"#string_interpolation"},{"match":"([-%./:=?@\\\\\\\\_\\\\w]+)","name":"string.quoted.double.prisma"}]},"enum_block_definition":{"begin":"^\\\\s*(enum)\\\\s+([A-Za-z]\\\\w*)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"storage.type.enum.prisma"},"2":{"name":"entity.name.type.enum.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"end":"\\\\s*}","endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}},"name":"source.prisma.embedded.source","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#enum_value_definition"}]},"enum_value_definition":{"patterns":[{"captures":{"1":{"name":"variable.other.assignment.prisma"}},"match":"^\\\\s*(\\\\w+)\\\\s*"},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"field_definition":{"name":"scalar.field","patterns":[{"captures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"invalid.illegal.colon.prisma"},"3":{"name":"variable.language.relations.prisma"},"4":{"name":"support.type.primitive.prisma"},"5":{"name":"keyword.operator.list_type.prisma"},"6":{"name":"keyword.operator.optional_type.prisma"},"7":{"name":"invalid.illegal.required_type.prisma"}},"match":"^\\\\s*(\\\\w+)(\\\\s*:)?\\\\s+((?!(?:Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\\\b)\\\\b\\\\w+)?(Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\\\[])?(\\\\?)?(!)?"},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"functional":{"begin":"(\\\\w+)(\\\\()","beginCaptures":{"1":{"name":"support.function.functional.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}},"name":"source.prisma.functional","patterns":[{"include":"#value"}]},"identifier":{"patterns":[{"match":"\\\\b(\\\\w)+\\\\b","name":"support.constant.constant.prisma"}]},"literal":{"name":"source.prisma.literal","patterns":[{"include":"#boolean"},{"include":"#number"},{"include":"#double_quoted_string"},{"include":"#identifier"}]},"map_key":{"name":"source.prisma.key","patterns":[{"captures":{"1":{"name":"variable.parameter.key.prisma"},"2":{"name":"punctuation.definition.separator.key-value.prisma"}},"match":"(\\\\w+)\\\\s*(:)\\\\s*"}]},"model_block_definition":{"begin":"^\\\\s*(model|type|view)\\\\s+([A-Za-z]\\\\w*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"storage.type.model.prisma"},"2":{"name":"entity.name.type.model.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"end":"\\\\s*}","endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}},"name":"source.prisma.embedded.source","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#field_definition"}]},"multi_line_comment":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.prisma"},"named_argument":{"name":"source.prisma.named_argument","patterns":[{"include":"#map_key"},{"include":"#value"}]},"number":{"match":"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b","name":"constant.numeric.prisma"},"string_interpolation":{"patterns":[{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"keyword.control.interpolation.start.prisma"}},"end":"\\\\s*}","endCaptures":{"0":{"name":"keyword.control.interpolation.end.prisma"}},"name":"source.tag.embedded.source.prisma","patterns":[{"include":"#value"}]}]},"triple_comment":{"begin":"///","end":"$\\\\n?","name":"comment.prisma"},"type_definition":{"patterns":[{"captures":{"1":{"name":"storage.type.type.prisma"},"2":{"name":"entity.name.type.type.prisma"},"3":{"name":"support.type.primitive.prisma"}},"match":"^\\\\s*(type)\\\\s+(\\\\w+)\\\\s*=\\\\s*(\\\\w+)"},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"value":{"name":"source.prisma.value","patterns":[{"include":"#array"},{"include":"#functional"},{"include":"#literal"}]}},"scopeName":"source.prisma"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-Dd19v3D-.js.map diff --git a/src/webview-ui/build/assets/chunk-Dd19v3D-.js.map b/src/webview-ui/build/assets/chunk-Dd19v3D-.js.map new file mode 100644 index 0000000000..e1029e2055 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dd19v3D-.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Dd19v3D-.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/prisma.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Prisma\\\",\\\"fileTypes\\\":[\\\"prisma\\\"],\\\"name\\\":\\\"prisma\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#triple_comment\\\"},{\\\"include\\\":\\\"#double_comment\\\"},{\\\"include\\\":\\\"#multi_line_comment\\\"},{\\\"include\\\":\\\"#model_block_definition\\\"},{\\\"include\\\":\\\"#config_block_definition\\\"},{\\\"include\\\":\\\"#enum_block_definition\\\"},{\\\"include\\\":\\\"#type_definition\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"name\\\":\\\"source.prisma.array\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}]},\\\"assignment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.terraform\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"include\\\":\\\"#double_comment_inline\\\"}]}]},\\\"attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.attribute.prisma\\\"}},\\\"match\\\":\\\"(@@?[.\\\\\\\\w]+)\\\",\\\"name\\\":\\\"source.prisma.attribute\\\"},\\\"attribute_with_arguments\\\":{\\\"begin\\\":\\\"(@@?[.\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.attribute.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"name\\\":\\\"source.prisma.attribute.with_arguments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named_argument\\\"},{\\\"include\\\":\\\"#value\\\"}]},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.prisma\\\"},\\\"config_block_definition\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(generator|datasource)\\\\\\\\s+([A-Za-z]\\\\\\\\w*)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.config.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.config.prisma\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\\s*}\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"name\\\":\\\"source.prisma.embedded.source\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#triple_comment\\\"},{\\\"include\\\":\\\"#double_comment\\\"},{\\\"include\\\":\\\"#multi_line_comment\\\"},{\\\"include\\\":\\\"#assignment\\\"}]},\\\"double_comment\\\":{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.prisma\\\"},\\\"double_comment_inline\\\":{\\\"match\\\":\\\"//[^\\\\\\\\n]*\\\",\\\"name\\\":\\\"comment.prisma\\\"},\\\"double_quoted_string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.start.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.end.prisma\\\"}},\\\"name\\\":\\\"unnamed\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"},{\\\"match\\\":\\\"([-%./:=?@\\\\\\\\\\\\\\\\_\\\\\\\\w]+)\\\",\\\"name\\\":\\\"string.quoted.double.prisma\\\"}]},\\\"enum_block_definition\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(enum)\\\\\\\\s+([A-Za-z]\\\\\\\\w*)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.enum.prisma\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\\s*}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"name\\\":\\\"source.prisma.embedded.source\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#triple_comment\\\"},{\\\"include\\\":\\\"#double_comment\\\"},{\\\"include\\\":\\\"#multi_line_comment\\\"},{\\\"include\\\":\\\"#enum_value_definition\\\"}]},\\\"enum_value_definition\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.prisma\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#attribute_with_arguments\\\"},{\\\"include\\\":\\\"#attribute\\\"}]},\\\"field_definition\\\":{\\\"name\\\":\\\"scalar.field\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.colon.prisma\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.language.relations.prisma\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.primitive.prisma\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.list_type.prisma\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.optional_type.prisma\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.required_type.prisma\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\w+)(\\\\\\\\s*:)?\\\\\\\\s+((?!(?:Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\\\\\\\b)\\\\\\\\b\\\\\\\\w+)?(Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\\\\\\\[])?(\\\\\\\\?)?(!)?\\\"},{\\\"include\\\":\\\"#attribute_with_arguments\\\"},{\\\"include\\\":\\\"#attribute\\\"}]},\\\"functional\\\":{\\\"begin\\\":\\\"(\\\\\\\\w+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.functional.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"name\\\":\\\"source.prisma.functional\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}]},\\\"identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\w)+\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.constant.prisma\\\"}]},\\\"literal\\\":{\\\"name\\\":\\\"source.prisma.literal\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#double_quoted_string\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"map_key\\\":{\\\"name\\\":\\\"source.prisma.key\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.key.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.separator.key-value.prisma\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(:)\\\\\\\\s*\\\"}]},\\\"model_block_definition\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(model|type|view)\\\\\\\\s+([A-Za-z]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.model.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.model.prisma\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\\s*}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.prisma\\\"}},\\\"name\\\":\\\"source.prisma.embedded.source\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#triple_comment\\\"},{\\\"include\\\":\\\"#double_comment\\\"},{\\\"include\\\":\\\"#multi_line_comment\\\"},{\\\"include\\\":\\\"#field_definition\\\"}]},\\\"multi_line_comment\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.prisma\\\"},\\\"named_argument\\\":{\\\"name\\\":\\\"source.prisma.named_argument\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#map_key\\\"},{\\\"include\\\":\\\"#value\\\"}]},\\\"number\\\":{\\\"match\\\":\\\"((0([Xx])\\\\\\\\h*)|([-+])?\\\\\\\\b(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.prisma\\\"},\\\"string_interpolation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.interpolation.start.prisma\\\"}},\\\"end\\\":\\\"\\\\\\\\s*}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.interpolation.end.prisma\\\"}},\\\"name\\\":\\\"source.tag.embedded.source.prisma\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}]}]},\\\"triple_comment\\\":{\\\"begin\\\":\\\"///\\\",\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.prisma\\\"},\\\"type_definition\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.type.prisma\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.type.prisma\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.primitive.prisma\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(type)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*=\\\\\\\\s*(\\\\\\\\w+)\\\"},{\\\"include\\\":\\\"#attribute_with_arguments\\\"},{\\\"include\\\":\\\"#attribute\\\"}]},\\\"value\\\":{\\\"name\\\":\\\"source.prisma.value\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#functional\\\"},{\\\"include\\\":\\\"#literal\\\"}]}},\\\"scopeName\\\":\\\"source.prisma\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "prisma" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,0nMAA04N,CAAC,EAEl6NC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DdkO51Og.js b/src/webview-ui/build/assets/chunk-DdkO51Og.js new file mode 100644 index 0000000000..f2e6bd836d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DdkO51Og.js @@ -0,0 +1,8 @@ +const n = Object.freeze( + JSON.parse( + `{"displayName":"Gnuplot","fileTypes":["gp","plt","plot","gnuplot"],"name":"gnuplot","patterns":[{"match":"(\\\\\\\\(?!\\\\n).*)","name":"invalid.illegal.backslash.gnuplot"},{"match":"(;)","name":"punctuation.separator.statement.gnuplot"},{"include":"#LineComment"},{"include":"#DataBlock"},{"include":"#MacroExpansion"},{"include":"#VariableDecl"},{"include":"#ArrayDecl"},{"include":"#FunctionDecl"},{"include":"#ShellCommand"},{"include":"#Command"}],"repository":{"ArrayDecl":{"begin":"\\\\b(array)\\\\s+([A-Z_a-z]\\\\w*)?","beginCaptures":{"1":{"name":"support.type.array.gnuplot"},"2":{"name":"entity.name.variable.gnuplot","patterns":[{"include":"#InvalidVariableDecl"},{"include":"#BuiltinVariable"}]}},"end":"(?=([#;]|\\\\\\\\(?!\\\\n)|(?>|[\\\\&^|])","name":"keyword.operator.bitwise.gnuplot"},{"match":"(==|!=|<=?|>=?)","name":"keyword.operator.comparison.gnuplot"},{"match":"(=)","name":"keyword.operator.assignment.gnuplot"},{"match":"([-!+~])","name":"keyword.operator.arithmetic.gnuplot"},{"match":"(\\\\*\\\\*|[-%*+/])","name":"keyword.operator.arithmetic.gnuplot"},{"captures":{"2":{"name":"keyword.operator.word.gnuplot"}},"match":"(\\\\.|\\\\b(eq|ne)\\\\b)","name":"keyword.operator.strings.gnuplot"}]},"BuiltinVariable":{"patterns":[{"match":"\\\\bFIT_(?:LIMIT|MAXITER|START_LAMBDA|LAMBDA_FACTOR|SKIP|INDEX)\\\\b","name":"invalid.deprecated.variable.gnuplot"},{"match":"\\\\b(GPVAL_\\\\w*|MOUSE_\\\\w*)\\\\b","name":"support.constant.gnuplot"},{"match":"\\\\b(ARG[0-9C]|GPFUN_\\\\w*|FIT_\\\\w*|STATS_\\\\w*|pi|NaN)\\\\b","name":"support.variable.gnuplot"}]},"ColumnIndexLiteral":{"match":"(\\\\$[0-9]+)\\\\b","name":"support.constant.columnindex.gnuplot"},"Command":{"patterns":[{"begin":"\\\\bupdate\\\\b","end":"(?=([#;]|\\\\\\\\(?!\\\\n)|(?>|[\\\\\\\\&^|])\\\",\\\"name\\\":\\\"keyword.operator.bitwise.gnuplot\\\"},{\\\"match\\\":\\\"(==|!=|<=?|>=?)\\\",\\\"name\\\":\\\"keyword.operator.comparison.gnuplot\\\"},{\\\"match\\\":\\\"(=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.gnuplot\\\"},{\\\"match\\\":\\\"([-!+~])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.gnuplot\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*|[-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.gnuplot\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.word.gnuplot\\\"}},\\\"match\\\":\\\"(\\\\\\\\.|\\\\\\\\b(eq|ne)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.operator.strings.gnuplot\\\"}]},\\\"BuiltinVariable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bFIT_(?:LIMIT|MAXITER|START_LAMBDA|LAMBDA_FACTOR|SKIP|INDEX)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.deprecated.variable.gnuplot\\\"},{\\\"match\\\":\\\"\\\\\\\\b(GPVAL_\\\\\\\\w*|MOUSE_\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.gnuplot\\\"},{\\\"match\\\":\\\"\\\\\\\\b(ARG[0-9C]|GPFUN_\\\\\\\\w*|FIT_\\\\\\\\w*|STATS_\\\\\\\\w*|pi|NaN)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.gnuplot\\\"}]},\\\"ColumnIndexLiteral\\\":{\\\"match\\\":\\\"(\\\\\\\\$[0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.columnindex.gnuplot\\\"},\\\"Command\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bupdate\\\\\\\\b\\\",\\\"end\\\":\\\"(?=([#;]|\\\\\\\\\\\\\\\\(?!\\\\\\\\n)|(?)|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","endCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}},"name":"meta.type-argument.typespec","patterns":[{"include":"#token"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}},"name":"meta.type-arguments.typespec","patterns":[{"include":"#type-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"type-parameter":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"entity.name.type.tsp"}},"end":"(?=>)|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.type-parameter.typespec","patterns":[{"include":"#token"},{"include":"#type-parameter-constraint"},{"include":"#type-parameter-default"}]},"type-parameter-constraint":{"begin":"extends","beginCaptures":{"0":{"name":"keyword.other.tsp"}},"end":"(?=>)|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.type-parameter-constraint.typespec","patterns":[{"include":"#expression"}]},"type-parameter-default":{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.tsp"}},"end":"(?=>)|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.type-parameter-default.typespec","patterns":[{"include":"#expression"}]},"type-parameters":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.tsp"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.tsp"}},"name":"meta.type-parameters.typespec","patterns":[{"include":"#type-parameter"},{"include":"#punctuation-comma"}]},"typeof":{"begin":"\\\\b(typeof)","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=>)|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.typeof.typespec","patterns":[{"include":"#expression"}]},"union-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.tsp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.tsp"}},"name":"meta.union-body.typespec","patterns":[{"include":"#union-variant"},{"include":"#token"},{"include":"#directive"},{"include":"#decorator"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"union-statement":{"begin":"\\\\b(union)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)","beginCaptures":{"1":{"name":"keyword.other.tsp"},"2":{"name":"entity.name.type.tsp"}},"end":"(?<=})|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.union-statement.typespec","patterns":[{"include":"#token"},{"include":"#union-body"}]},"union-variant":{"begin":"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.name.tsp"},"2":{"name":"keyword.operator.type.annotation.tsp"}},"end":"(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.union-variant.typespec","patterns":[{"include":"#token"},{"include":"#expression"}]},"using-statement":{"begin":"\\\\b(using)\\\\b","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.using-statement.typespec","patterns":[{"include":"#token"},{"include":"#identifier-expression"},{"include":"#punctuation-accessor"}]},"valueof":{"begin":"\\\\b(valueof)","beginCaptures":{"1":{"name":"keyword.other.tsp"}},"end":"(?=>)|(?=[),;@}]|\\\\bextern\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)","name":"meta.valueof.typespec","patterns":[{"include":"#expression"}]}},"scopeName":"source.tsp","aliases":["tsp"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-Df68jz8_.js.map diff --git a/src/webview-ui/build/assets/chunk-Df68jz8_.js.map b/src/webview-ui/build/assets/chunk-Df68jz8_.js.map new file mode 100644 index 0000000000..c08411f819 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Df68jz8_.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Df68jz8_.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/typespec.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TypeSpec\\\",\\\"fileTypes\\\":[\\\"tsp\\\"],\\\"name\\\":\\\"typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}],\\\"repository\\\":{\\\"alias-id\\\":{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.alias-id.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"alias-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(alias)\\\\\\\\b\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.alias-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#alias-id\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},\\\"augment-decorator-statement\\\":{\\\"begin\\\":\\\"((@@)\\\\\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\\\\\.[$_[:alpha:]])*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.tsp\\\"}},\\\"end\\\":\\\"(?=([$_`[:alpha:]]))|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.augment-decorator-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#parenthesized-expression\\\"}]},\\\"block-comment\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.tsp\\\"},\\\"boolean-literal\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.tsp\\\"},\\\"callExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\b([$_[:alpha:]](?:[$_[:alnum:]]|\\\\\\\\.[$_[:alpha:]])*)\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.tsp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.tsp\\\"}},\\\"name\\\":\\\"meta.callExpression.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"const-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(const)\\\\\\\\b\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.name.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.const-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#operator-assignment\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"((@)\\\\\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\\\\\.[$_[:alpha:]])*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.tsp\\\"}},\\\"end\\\":\\\"(?=([$_`[:alpha:]]))|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.decorator.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#parenthesized-expression\\\"}]},\\\"decorator-declaration-statement\\\":{\\\"begin\\\":\\\"(?:(extern)\\\\\\\\s+)?\\\\\\\\b(dec)\\\\\\\\b\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.decorator-declaration-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#operation-parameters\\\"}]},\\\"directive\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(#\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.name.tsp\\\"}},\\\"end\\\":\\\"$|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.directive.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-literal\\\"},{\\\"include\\\":\\\"#identifier-expression\\\"}]},\\\"doc-comment\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.tsp\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.block.tsp\\\"}},\\\"name\\\":\\\"comment.block.tsp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#doc-comment-block\\\"}]},\\\"doc-comment-block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#doc-comment-param\\\"},{\\\"include\\\":\\\"#doc-comment-return-tag\\\"},{\\\"include\\\":\\\"#doc-comment-unknown-tag\\\"}]},\\\"doc-comment-param\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.tag.tspdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.tag.tspdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.name.tsp\\\"}},\\\"match\\\":\\\"((@)(?:param|template|prop))\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\\\\\\b\\\",\\\"name\\\":\\\"comment.block.tsp\\\"},\\\"doc-comment-return-tag\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.tag.tspdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.tag.tspdoc\\\"}},\\\"match\\\":\\\"((@)returns)\\\\\\\\b\\\",\\\"name\\\":\\\"comment.block.tsp\\\"},\\\"doc-comment-unknown-tag\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.tsp\\\"}},\\\"match\\\":\\\"((@)(?:\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))\\\\\\\\b\\\",\\\"name\\\":\\\"comment.block.tsp\\\"},\\\"enum-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.tsp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.tsp\\\"}},\\\"name\\\":\\\"meta.enum-body.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#enum-member\\\"},{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"enum-member\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\\\\\\s*(:?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.enum-member.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"enum-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(enum)\\\\\\\\b\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.tsp\\\"}},\\\"end\\\":\\\"(?<=})|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.enum-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#enum-body\\\"}]},\\\"escape-character\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.tsp\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"include\\\":\\\"#parenthesized-expression\\\"},{\\\"include\\\":\\\"#valueof\\\"},{\\\"include\\\":\\\"#typeof\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#tuple-literal\\\"},{\\\"include\\\":\\\"#tuple-expression\\\"},{\\\"include\\\":\\\"#model-expression\\\"},{\\\"include\\\":\\\"#callExpression\\\"},{\\\"include\\\":\\\"#identifier-expression\\\"}]},\\\"function-declaration-statement\\\":{\\\"begin\\\":\\\"(?:(extern)\\\\\\\\s+)?\\\\\\\\b(fn)\\\\\\\\b\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.function-declaration-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#operation-parameters\\\"},{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"identifier-expression\\\":{\\\"match\\\":\\\"\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`\\\",\\\"name\\\":\\\"entity.name.type.tsp\\\"},\\\"import-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.import-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"}]},\\\"interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.tsp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.tsp\\\"}},\\\"name\\\":\\\"meta.interface-body.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#interface-member\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"interface-heritage\\\":{\\\"begin\\\":\\\"\\\\\\\\b(extends)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"((?=\\\\\\\\{)|(?=[);@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.interface-heritage.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"interface-member\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b(op)\\\\\\\\b\\\\\\\\s+)?(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.interface-member.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#operation-signature\\\"}]},\\\"interface-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(interface)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?<=})|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.interface-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#interface-heritage\\\"},{\\\"include\\\":\\\"#interface-body\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"line-comment\\\":{\\\"match\\\":\\\"//.*$\\\",\\\"name\\\":\\\"comment.line.double-slash.tsp\\\"},\\\"model-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.tsp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.tsp\\\"}},\\\"name\\\":\\\"meta.model-expression.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#model-property\\\"},{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#spread-operator\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"model-heritage\\\":{\\\"begin\\\":\\\"\\\\\\\\b(extends|is)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"((?=\\\\\\\\{)|(?=[);@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.model-heritage.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"model-property\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\"(?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.model-property.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#operator-assignment\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"model-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(model)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?<=})|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.model-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#model-heritage\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"namespace-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.tsp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.tsp\\\"}},\\\"name\\\":\\\"meta.namespace-body.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},\\\"namespace-name\\\":{\\\"begin\\\":\\\"(?=([$_`[:alpha:]]))\\\",\\\"end\\\":\\\"((?=\\\\\\\\{)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace-name.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier-expression\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"namespace-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(namespace)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"((?<=})|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#namespace-name\\\"},{\\\"include\\\":\\\"#namespace-body\\\"}]},\\\"numeric-literal\\\":{\\\"match\\\":\\\"\\\\\\\\b(?)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsp\\\"}},\\\"name\\\":\\\"meta.type-argument.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsp\\\"}},\\\"name\\\":\\\"meta.type-arguments.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-argument\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-parameter\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.tsp\\\"}},\\\"end\\\":\\\"(?=>)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type-parameter.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#type-parameter-constraint\\\"},{\\\"include\\\":\\\"#type-parameter-default\\\"}]},\\\"type-parameter-constraint\\\":{\\\"begin\\\":\\\"extends\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?=>)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type-parameter-constraint.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"type-parameter-default\\\":{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsp\\\"}},\\\"end\\\":\\\"(?=>)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type-parameter-default.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsp\\\"}},\\\"name\\\":\\\"meta.type-parameters.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameter\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof\\\":{\\\"begin\\\":\\\"\\\\\\\\b(typeof)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?=>)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.typeof.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"union-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.tsp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.tsp\\\"}},\\\"name\\\":\\\"meta.union-body.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#union-variant\\\"},{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"union-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(union)\\\\\\\\b\\\\\\\\s+(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.tsp\\\"}},\\\"end\\\":\\\"(?<=})|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.union-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#union-body\\\"}]},\\\"union-variant\\\":{\\\"begin\\\":\\\"(\\\\\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\b|`(?:[^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.tsp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.union-variant.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"using-statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(using)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.using-statement.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#token\\\"},{\\\"include\\\":\\\"#identifier-expression\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"valueof\\\":{\\\"begin\\\":\\\"\\\\\\\\b(valueof)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tsp\\\"}},\\\"end\\\":\\\"(?=>)|(?=[),;@}]|\\\\\\\\bextern\\\\\\\\b|\\\\\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.valueof.typespec\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}},\\\"scopeName\\\":\\\"source.tsp\\\",\\\"aliases\\\":[\\\"tsp\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "typespec" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,wiuBAA+9yB,CAAC,EAEv/yBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Df6bDoY_.js b/src/webview-ui/build/assets/chunk-Df6bDoY_.js new file mode 100644 index 0000000000..3bc37e97f1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Df6bDoY_.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Haskell","fileTypes":["hs","hs-boot","hsig"],"name":"haskell","patterns":[{"include":"#liquid_haskell"},{"include":"#comment_like"},{"include":"#numeric_literals"},{"include":"#string_literal"},{"include":"#char_literal"},{"match":"(?\\\\((?:[^()]?|\\\\g)*\\\\)))|('?(?\\\\((?:[^]\\\\[]?|\\\\g)*])))\\\\s*(?:(?|⇒)(?![[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]])"},"cpp":{"captures":{"1":{"name":"punctuation.definition.preprocessor.c"}},"match":"^(#).*$","name":"meta.preprocessor.c"},"data_constructor":{"match":"\\\\b(?|→)","endCaptures":{"1":{"name":"keyword.operator.period.haskell"},"2":{"name":"keyword.operator.arrow.haskell"}},"patterns":[{"include":"#comment_like"},{"include":"#type_variable"},{"include":"#type_signature"}]},"fun_decl":{"begin":"^(\\\\s*)(?(?:[_\\\\p{Ll}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*#*|\\\\(\\\\s*(?!--+\\\\))[[\\\\p{S}\\\\p{P}]&&[^]\\"'(),:;\\\\[_\`{}]][[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]]*\\\\s*\\\\))(?:\\\\s*,\\\\s*\\\\g)?)\\\\s*(?[\\\\p{Lu}\\\\p{Lt}]['_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d]*(\\\\.\\\\g)?)","name":"entity.name.namespace.haskell"},"numeric_literals":{"patterns":[{"include":"#float_literals"},{"include":"#integer_literals"}]},"overloaded_label":{"patterns":[{"captures":{"1":{"name":"keyword.operator.prefix.hash.haskell"},"2":{"patterns":[{"include":"#string_literal"}]}},"match":"(?|→)|(-<|↢)|(-<<|⤛)|(>-|⤚)|(>>-|⤜)|(∀))(?![[\\\\p{S}\\\\p{P}]&&[^]\\"'(),;\\\\[_\`{}]])"},{"captures":{"1":{"name":"keyword.operator.postfix.hash.haskell"}},"match":"(?<=[[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^#,;\\\\[\`{]])(#+)(?![[_\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d\\\\p{S}\\\\p{P}]&&[^]),;\`}]])"},{"captures":{"1":{"name":"keyword.operator.infix.tight.at.haskell"}},"match":"(?<=[])_}\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])(@)(?=[(\\\\[_{\\\\p{Ll}\\\\p{Lu}\\\\p{Lt}\\\\d])"},{"captures":{"1":{"name":"keyword.operator.prefix.tilde.haskell"},"2":{"name":"keyword.operator.prefix.bang.haskell"},"3":{"name":"keyword.operator.prefix.minus.haskell"},"4":{"name":"keyword.operator.prefix.dollar.haskell"},"5":{"name":"keyword.operator.prefix.double-dollar.haskell"}},"match":"(?|⇒","name":"keyword.operator.big-arrow.haskell"},{"include":"#string_literal"},{"match":"'[^']'","name":"invalid"},{"include":"#type_application"},{"include":"#reserved_symbol"},{"include":"#type_operator"},{"include":"#type_constructor"},{"begin":"(\\\\()(#)","beginCaptures":{"1":{"name":"punctuation.paren.haskell"},"2":{"name":"keyword.operator.hash.haskell"}},"end":"(#)(\\\\))","endCaptures":{"1":{"name":"keyword.operator.hash.haskell"},"2":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(')?(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.paren.haskell"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.paren.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"begin":"(')?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.promotion.haskell"},"2":{"name":"punctuation.bracket.haskell"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.bracket.haskell"}},"patterns":[{"include":"#comma"},{"include":"#type_signature"}]},{"include":"#type_variable"}]},"type_variable":{"match":"\\\\b(?\\\\\\\\((?:[^()]?|\\\\\\\\g)*\\\\\\\\)))|('?(?\\\\\\\\((?:[^]\\\\\\\\[]?|\\\\\\\\g)*])))\\\\\\\\s*(?:(?|⇒)(?![[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]])\\\"},\\\"cpp\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.preprocessor.c\\\"}},\\\"match\\\":\\\"^(#).*$\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"data_constructor\\\":{\\\"match\\\":\\\"\\\\\\\\b(?|→)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.period.haskell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arrow.haskell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_like\\\"},{\\\"include\\\":\\\"#type_variable\\\"},{\\\"include\\\":\\\"#type_signature\\\"}]},\\\"fun_decl\\\":{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?(?:[_\\\\\\\\p{Ll}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*#*|\\\\\\\\(\\\\\\\\s*(?!--+\\\\\\\\))[[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),:;\\\\\\\\[_`{}]][[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]]*\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*,\\\\\\\\s*\\\\\\\\g)?)\\\\\\\\s*(?[\\\\\\\\p{Lu}\\\\\\\\p{Lt}]['_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d]*(\\\\\\\\.\\\\\\\\g)?)\\\",\\\"name\\\":\\\"entity.name.namespace.haskell\\\"},\\\"numeric_literals\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#float_literals\\\"},{\\\"include\\\":\\\"#integer_literals\\\"}]},\\\"overloaded_label\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.prefix.hash.haskell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string_literal\\\"}]}},\\\"match\\\":\\\"(?|→)|(-<|↢)|(-<<|⤛)|(>-|⤚)|(>>-|⤜)|(∀))(?![[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]\\\\\\\"'(),;\\\\\\\\[_`{}]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.postfix.hash.haskell\\\"}},\\\"match\\\":\\\"(?<=[[_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d\\\\\\\\p{S}\\\\\\\\p{P}]&&[^#,;\\\\\\\\[`{]])(#+)(?![[_\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d\\\\\\\\p{S}\\\\\\\\p{P}]&&[^]),;`}]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.infix.tight.at.haskell\\\"}},\\\"match\\\":\\\"(?<=[])_}\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d])(@)(?=[(\\\\\\\\[_{\\\\\\\\p{Ll}\\\\\\\\p{Lu}\\\\\\\\p{Lt}\\\\\\\\d])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.prefix.tilde.haskell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prefix.bang.haskell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.prefix.minus.haskell\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.prefix.dollar.haskell\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.prefix.double-dollar.haskell\\\"}},\\\"match\\\":\\\"(?|⇒\\\",\\\"name\\\":\\\"keyword.operator.big-arrow.haskell\\\"},{\\\"include\\\":\\\"#string_literal\\\"},{\\\"match\\\":\\\"'[^']'\\\",\\\"name\\\":\\\"invalid\\\"},{\\\"include\\\":\\\"#type_application\\\"},{\\\"include\\\":\\\"#reserved_symbol\\\"},{\\\"include\\\":\\\"#type_operator\\\"},{\\\"include\\\":\\\"#type_constructor\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.paren.haskell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.hash.haskell\\\"}},\\\"end\\\":\\\"(#)(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.hash.haskell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.paren.haskell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#type_signature\\\"}]},{\\\"begin\\\":\\\"(')?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.promotion.haskell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.paren.haskell\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.paren.haskell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#type_signature\\\"}]},{\\\"begin\\\":\\\"(')?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.promotion.haskell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.bracket.haskell\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.bracket.haskell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#type_signature\\\"}]},{\\\"include\\\":\\\"#type_variable\\\"}]},\\\"type_variable\\\":{\\\"match\\\":\\\"\\\\\\\\b(??)\\\\s+([BLRT])\\\\s*(:)\\\\s*([-\\\\w]+)\\\\s*(\\\\{)?\\\\s*(group)?(})?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"variable"}},"match":"(?i)\\\\s*(junction)\\\\s+([-\\\\w]+)\\\\s*(in)?\\\\s*([-\\\\w]+)?"}]},{"begin":"^\\\\s*(classDiagram)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"entity.name.type.class.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"entity.name.type.class.mermaid"},"6":{"name":"keyword.control.mermaid"},"7":{"name":"string"}},"match":"(?i)([-\\\\w]+)\\\\s(\\"(?:\\\\d+|\\\\*|0..\\\\d+|1..\\\\d+|1..\\\\*)\\")?\\\\s?(--o|--\\\\*|<--|-->|<\\\\.\\\\.|\\\\.\\\\.>|<\\\\|\\\\.\\\\.|\\\\.\\\\.\\\\|>|<\\\\|--|--\\\\|>|--\\\\*?|\\\\.\\\\.|\\\\*--|o--)\\\\s(\\"(?:\\\\d+|\\\\*|0..\\\\d+|1..\\\\d+|1..\\\\*)\\")?\\\\s?([-\\\\w]+)\\\\s?(:)?\\\\s(.*)$"},{"captures":{"1":{"name":"entity.name.type.class.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"entity.name.function.mermaid"},"5":{"name":"punctuation.parenthesis.open.mermaid"},"6":{"name":"storage.type.mermaid"},"7":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"8":{"name":"storage.type.mermaid"},"9":{"name":"punctuation.definition.typeparameters.end.mermaid"},"10":{"name":"entity.name.variable.parameter.mermaid"},"11":{"name":"punctuation.parenthesis.closed.mermaid"},"12":{"name":"keyword.control.mermaid"},"13":{"name":"storage.type.mermaid"},"14":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"15":{"name":"storage.type.mermaid"},"16":{"name":"punctuation.definition.typeparameters.end.mermaid"}},"match":"(?i)([-\\\\w]+)\\\\s?(:)\\\\s([-#+~])?([-\\\\w]+)(\\\\()([-\\\\w]+)?(~)?([-\\\\w]+)?(~)?\\\\s?([-\\\\w]+)?(\\\\))([$*]{0,2})\\\\s?([-\\\\w]+)?(~)?([-\\\\w]+)?(~)?$"},{"captures":{"1":{"name":"entity.name.type.class.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"storage.type.mermaid"},"5":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"6":{"name":"storage.type.mermaid"},"7":{"name":"punctuation.definition.typeparameters.end.mermaid"},"8":{"name":"entity.name.variable.field.mermaid"}},"match":"(?i)([-\\\\w]+)\\\\s?(:)\\\\s([-#+~])?([-\\\\w]+)(~)?([-\\\\w]+)?(~)?\\\\s([-\\\\w]+)?$"},{"captures":{"1":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"2":{"name":"storage.type.mermaid"},"3":{"name":"punctuation.definition.typeparameters.end.mermaid"},"4":{"name":"entity.name.type.class.mermaid"}},"match":"(?i)(<<)([-\\\\w]+)(>>)\\\\s?([-\\\\w]+)?"},{"begin":"(?i)(class)\\\\s+([-\\\\w]+)(~)?([-\\\\w]+)?(~)?\\\\s?(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.type.class.mermaid"},"3":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"4":{"name":"storage.type.mermaid"},"5":{"name":"punctuation.definition.typeparameters.end.mermaid"},"6":{"name":"keyword.control.mermaid"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"match":"%%.*","name":"comment"},{"begin":"(?i)\\\\s([-#+~])?([-\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"},"3":{"name":"punctuation.parenthesis.open.mermaid"}},"end":"(?i)(\\\\))([$*]{0,2})\\\\s?([-\\\\w]+)?(~)?([-\\\\w]+)?(~)?$","endCaptures":{"1":{"name":"punctuation.parenthesis.closed.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"storage.type.mermaid"},"4":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"5":{"name":"storage.type.mermaid"},"6":{"name":"punctuation.definition.typeparameters.end.mermaid"}},"patterns":[{"captures":{"1":{"name":"storage.type.mermaid"},"2":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"3":{"name":"storage.type.mermaid"},"4":{"name":"punctuation.definition.typeparameters.end.mermaid"},"5":{"name":"entity.name.variable.parameter.mermaid"}},"match":"(?i)\\\\s*,?\\\\s*([-\\\\w]+)?(~)?([-\\\\w]+)?(~)?\\\\s?([-\\\\w]+)?"}]},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"storage.type.mermaid"},"3":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"4":{"name":"storage.type.mermaid"},"5":{"name":"punctuation.definition.typeparameters.end.mermaid"},"6":{"name":"entity.name.variable.field.mermaid"}},"match":"(?i)\\\\s([-#+~])?([-\\\\w]+)(~)?([-\\\\w]+)?(~)?\\\\s([-\\\\w]+)?$"},{"captures":{"1":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"2":{"name":"storage.type.mermaid"},"3":{"name":"punctuation.definition.typeparameters.end.mermaid"},"4":{"name":"entity.name.type.class.mermaid"}},"match":"(?i)(<<)([-\\\\w]+)(>>)\\\\s?([-\\\\w]+)?"}]},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.type.class.mermaid"},"3":{"name":"punctuation.definition.typeparameters.begin.mermaid"},"4":{"name":"storage.type.mermaid"},"5":{"name":"punctuation.definition.typeparameters.end.mermaid"}},"match":"(?i)(class)\\\\s+([-\\\\w]+)(~)?([-\\\\w]+)?(~)?"}]},{"begin":"^\\\\s*(erDiagram)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"},"4":{"name":"keyword.control.mermaid"}},"match":"(?i)^\\\\s*([-\\\\w]+)\\\\s*(\\\\[)?\\\\s*([-\\\\w]+|\\"[-\\\\w\\\\s]+\\")?\\\\s*(])?$"},{"begin":"(?i)\\\\s+([-\\\\w]+)\\\\s*(\\\\[)?\\\\s*([-\\\\w]+|\\"[-\\\\w\\\\s]+\\")?\\\\s*(])?\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"keyword.control.mermaid"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"captures":{"1":{"name":"storage.type.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"string"}},"match":"(?i)\\\\s*([-\\\\w]+)\\\\s+([-\\\\w]+)\\\\s+([FP]K)?\\\\s*(\\"[!-(*-/:-?\\\\\\\\^\\\\w\\\\s]*\\")?\\\\s*"},{"match":"%%.*","name":"comment"}]},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"variable"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"string"}},"match":"(?i)\\\\s*([-\\\\w]+)\\\\s*((?:\\\\|o|\\\\|\\\\||}o|}\\\\||one or (?:zero|more|many)|zero or (?:one|more|many)|many\\\\([01]\\\\)|only one|0\\\\+|1\\\\+?)(?:..|--)(?:o\\\\||\\\\|\\\\||o\\\\{|\\\\|\\\\{|one or (?:zero|more|many)|zero or (?:one|more|many)|many\\\\([01]\\\\)|only one|0\\\\+|1\\\\+?))\\\\s*([-\\\\w]+)\\\\s*(:)\\\\s*(\\"[\\\\w\\\\s]*\\"|[-\\\\w]+)"}]},{"begin":"^\\\\s*(gantt)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"match":"(?i)^\\\\s*(dateFormat)\\\\s+([-.\\\\w]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"match":"(?i)^\\\\s*(axisFormat)\\\\s+([-%./\\\\\\\\\\\\w]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)(tickInterval)\\\\s+(([1-9][0-9]*)(millisecond|second|minute|hour|day|week|month))"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(title)\\\\s+(\\\\s*[!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(excludes)\\\\s+((?:[-,\\\\d\\\\s]|monday|tuesday|wednesday|thursday|friday|saturday|sunday|weekends)+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s+(todayMarker)\\\\s+(.*)$"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(section)\\\\s+(\\\\s*[!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"begin":"(?i)^\\\\s(.*)(:)","beginCaptures":{"1":{"name":"string"},"2":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"match":"(crit|done|active|after)","name":"entity.name.function.mermaid"},{"match":"%%.*","name":"comment"}]}]},{"begin":"^\\\\s*(gitGraph)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"begin":"(?i)^\\\\s*(commit)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"match":"(?i)\\\\s*(id)(:)\\\\s?(\\"[^\\\\n\\"]*\\")"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"entity.name.function.mermaid"}},"match":"(?i)\\\\s*(type)(:)\\\\s?(NORMAL|REVERSE|HIGHLIGHT)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"match":"(?i)\\\\s*(tag)(:)\\\\s?(\\"[!#-(*-/:-?\\\\\\\\^\\\\w\\\\s]*\\")"}]},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"}},"match":"(?i)^\\\\s*(checkout)\\\\s*([^\\"\\\\s]*)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"constant.numeric.decimal.mermaid"}},"match":"(?i)^\\\\s*(branch)\\\\s*([^\\"\\\\s]*)\\\\s*(?:(order)(:)\\\\s?(\\\\d+))?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"string"}},"match":"(?i)^\\\\s*(merge)\\\\s*([^\\"\\\\s]*)\\\\s*(?:(tag)(:)\\\\s?(\\"[^\\\\n\\"]*\\"))?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"string"}},"match":"(?i)^\\\\s*(cherry-pick)\\\\s+(id)(:)\\\\s*(\\"[^\\\\n\\"]*\\")"}]},{"begin":"^\\\\s*(graph|flowchart)\\\\s+([ 0-9\\\\p{L}]+)?","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"string"},"5":{"name":"keyword.control.mermaid"}},"match":"(?i)^\\\\s*(subgraph)\\\\s+(\\\\w+)(\\\\[)(\\"?[!#-\'*-/:<-?\\\\\\\\^`\\\\w\\\\s]*\\"?)(])"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"match":"^\\\\s*(subgraph)\\\\s+([ 0-9<>\\\\p{L}]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"match":"^(?i)\\\\s*(direction)\\\\s+(RB|BT|RL|TD|LR)"},{"match":"\\\\b(end)\\\\b","name":"keyword.control.mermaid"},{"begin":"(?i)\\\\b((?:(?!--|==)[-\\\\w])+\\\\b\\\\s*)(\\\\(\\\\[|\\\\[\\\\[|\\\\[\\\\(?|\\\\(+|[>{]|\\\\(\\\\()","beginCaptures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"end":"(?i)(]\\\\)|]]|\\\\)]|]|\\\\)+|}|\\\\)\\\\))","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"begin":"\\\\s*(\\")","beginCaptures":{"1":{"name":"string"}},"end":"(\\")","endCaptures":{"1":{"name":"string"}},"patterns":[{"begin":"(?i)([^\\"]*)","beginCaptures":{"1":{"name":"string"}},"end":"(?=\\")","patterns":[{"captures":{"1":{"name":"comment"}},"match":"([^\\"]*)"}]}]},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s*([!#-\'*+,./:;<>?\\\\\\\\^_\\\\w\\\\s]+)"}]},{"begin":"(?i)\\\\s*((?:-{2,5}|={2,5})[>ox]?\\\\|)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(?i)(\\\\|)","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"begin":"\\\\s*(\\")","beginCaptures":{"1":{"name":"string"}},"end":"(\\")","endCaptures":{"1":{"name":"string"}},"patterns":[{"begin":"(?i)([^\\"]*)","beginCaptures":{"1":{"name":"string"}},"end":"(?=\\")","patterns":[{"captures":{"1":{"name":"comment"}},"match":"([^\\"]*)"}]}]},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s*([!#-\'*+,./:;<>?\\\\\\\\^_\\\\w\\\\s]+)"}]},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"},"3":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*([ox]?)"},{"captures":{"1":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*([ox]?)"},{"match":"\\\\b((?:(?!--|==)[-\\\\w])+\\\\b\\\\s*)","name":"variable"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"string"}},"match":"(?i)\\\\s*(class)\\\\s+\\\\b([-,\\\\w]+)\\\\s+\\\\b(\\\\w+)\\\\b"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"string"}},"match":"(?i)\\\\s*(classDef)\\\\s+\\\\b(\\\\w+)\\\\b\\\\s+\\\\b([-#,:;\\\\w]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"variable"},"4":{"name":"string"}},"match":"(?i)\\\\s*(click)\\\\s+\\\\b([-\\\\w]+\\\\b\\\\s*)(\\\\b\\\\w+\\\\b)?\\\\s(\\"*.*\\")"},{"begin":"\\\\s*(@\\\\{)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"},"3":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*(shape\\\\s*:)([^,}]*)(,)?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"},"3":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*(label\\\\s*:)([^,}]*)(,)?"}]}]},{"begin":"^\\\\s*(pie)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(title)\\\\s+(\\\\s*[!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"begin":"(?i)\\\\s(.*)(:)","beginCaptures":{"1":{"name":"string"},"2":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"match":"%%.*","name":"comment"}]}]},{"begin":"^\\\\s*(quadrantChart)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(title)\\\\s*([!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"begin":"(?i)^\\\\s*([xy]-axis)\\\\s+((?:(?!-->)[!#-\'*-/=?\\\\\\\\\\\\w\\\\s])*)","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"end":"$","patterns":[{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)\\\\s*(-->)\\\\s*([!#-\'*-/=?\\\\\\\\\\\\w\\\\s]*)"}]},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(quadrant-[1-4])\\\\s*([!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"captures":{"1":{"name":"string"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"constant.numeric.decimal.mermaid"},"5":{"name":"keyword.control.mermaid"},"6":{"name":"constant.numeric.decimal.mermaid"},"7":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*([!#-\'*-/=?\\\\\\\\\\\\w\\\\s]*)\\\\s*(:)\\\\s*(\\\\[)\\\\s*(\\\\d\\\\.\\\\d+)\\\\s*(,)\\\\s*(\\\\d\\\\.\\\\d+)\\\\s*(])"}]},{"begin":"^\\\\s*(requirementDiagram)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"begin":"(?i)^\\\\s*((?:functional|interface|performance|physical)?requirement|designConstraint)\\\\s*([!-/:-?\\\\\\\\^\\\\w\\\\s]*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"}},"end":"(?i)\\\\s*(})","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"}},"match":"(?i)\\\\s*(id:)\\\\s*([!#-\'*+,./:;<>?\\\\\\\\^_\\\\w\\\\s]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)\\\\s*(text:)\\\\s*([!#-\'*+,./:;<>?\\\\\\\\^_\\\\w\\\\s]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"match":"(?i)\\\\s*(risk:)\\\\s*(low|medium|high)\\\\s*$"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"}},"match":"(?i)\\\\s*(verifymethod:)\\\\s*(analysis|inspection|test|demonstration)\\\\s*$"}]},{"begin":"(?i)^\\\\s*(element)\\\\s*([!-/:-?\\\\\\\\^\\\\w\\\\s]*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"}},"end":"(?i)\\\\s*(})","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"}},"match":"(?i)\\\\s*(type:)\\\\s*([!-\'*+,./:;<>?\\\\\\\\^_\\\\w\\\\s]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"}},"match":"(?i)\\\\s*(docref:)\\\\s*([!#-\'*+,./:;<>?\\\\\\\\^_\\\\w\\\\s]+)"}]},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"variable"}},"match":"(?i)^\\\\s*(\\\\w+)\\\\s*(-)\\\\s*((?:contain|copie|derive|satisfie|verifie|refine|trace)s)\\\\s*(->)\\\\s*(\\\\w+)\\\\s*$"},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"variable"}},"match":"(?i)^\\\\s*(\\\\w+)\\\\s*(<-)\\\\s*((?:contain|copie|derive|satisfie|verifie|refine|trace)s)\\\\s*(-)\\\\s*(\\\\w+)\\\\s*$"}]},{"begin":"^\\\\s*(sequenceDiagram)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"(%%|#).*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"match":"(?i)(title)\\\\s*(:)?\\\\s+(\\\\s*[!-/:<-?\\\\\\\\^\\\\w\\\\s]*)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"string"}},"match":"(?i)\\\\s*(participant|actor)\\\\s+((?:(?! as )[!-*./<-?\\\\\\\\^\\\\w\\\\s])+)\\\\s*(as)?\\\\s([!-*,./<-?\\\\\\\\^\\\\w\\\\s]+)?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"}},"match":"(?i)\\\\s*((?:de)?activate)\\\\s+\\\\b([!-*./<-?\\\\\\\\^\\\\w\\\\s]+\\\\b\\\\)?\\\\s*)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"},"3":{"name":"variable"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"variable"},"6":{"name":"keyword.control.mermaid"},"7":{"name":"string"}},"match":"(?i)\\\\s*(Note)\\\\s+((?:left|right)\\\\sof|over)\\\\s+\\\\b([!-*./<-?\\\\\\\\^\\\\w\\\\s]+\\\\b\\\\)?\\\\s*)(,)?(\\\\b[!-*./<-?\\\\\\\\^\\\\w\\\\s]+\\\\b\\\\)?\\\\s*)?(:)(?:\\\\s+([^#;]*))?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)\\\\s*(loop)(?:\\\\s+([^#;]*))?"},{"captures":{"1":{"name":"keyword.control.mermaid"}},"match":"\\\\s*(end)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)\\\\s*(alt|else|option|par|and|rect|autonumber|critical|opt)(?:\\\\s+([^#;]*))?$"},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"variable"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"string"}},"match":"(?i)\\\\s*\\\\b([!-*./<-?\\\\\\\\^\\\\w\\\\s]+\\\\b\\\\)?)\\\\s*(-?-[)>x]>?[-+]?)\\\\s*([!-*./<-?\\\\\\\\^\\\\w\\\\s]+\\\\b\\\\)?)\\\\s*(:)\\\\s*([^#;]*)"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"entity.name.function.mermaid"},"3":{"name":"string"}},"match":"(?i)\\\\s*(box)\\\\s+(transparent)(?:\\\\s+([^#;]*))?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)\\\\s*(box)(?:\\\\s+([^#;]*))?"}]},{"begin":"^\\\\s*(stateDiagram(?:-v2)?)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"}},"match":"\\\\s+(})\\\\s+"},{"captures":{"1":{"name":"keyword.control.mermaid"}},"match":"\\\\s+(--)\\\\s+"},{"match":"^\\\\s*([-\\\\w]+)$","name":"variable"},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"match":"(?i)([-\\\\w]+)\\\\s+(:)\\\\s+(\\\\s*[-\\\\w\\\\s]+)\\\\b"},{"begin":"(?i)^\\\\s*(state)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"captures":{"1":{"name":"string"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"variable"}},"match":"(?i)\\\\s*(\\"[-\\\\w\\\\s]+\\\\b\\")\\\\s+(as)\\\\s+([-\\\\w]+)"},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*([-\\\\w]+)\\\\s+(\\\\{)"},{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*([-\\\\w]+)\\\\s+(<<(?:fork|join)>>)"}]},{"begin":"(?i)([-\\\\w]+)\\\\s+(-->)","beginCaptures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"captures":{"1":{"name":"variable"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"match":"(?i)\\\\s+([-\\\\w]+)\\\\s*(:)?\\\\s*([^\\\\n:]+)?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"string"}},"match":"(?i)(\\\\[\\\\*])\\\\s*(:)?\\\\s*([^\\\\n:]+)?"}]},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"variable"},"4":{"name":"keyword.control.mermaid"},"5":{"name":"string"}},"match":"(?i)(\\\\[\\\\*])\\\\s+(-->)\\\\s+([-\\\\w]+)\\\\s*(:)?\\\\s*([^\\\\n:]+)?"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"},"3":{"name":"keyword.control.mermaid"},"4":{"name":"string"}},"match":"(?i)^\\\\s*(note (?:left|right) of)\\\\s+([-\\\\w]+)\\\\s+(:)\\\\s*([^\\\\n:]+)"},{"begin":"(?i)^\\\\s*(note (?:left|right) of)\\\\s+([-\\\\w]+)(.|\\\\n)","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"variable"}},"contentName":"string","end":"(?i)(end note)","endCaptures":{"1":{"name":"keyword.control.mermaid"}}}]},{"begin":"^\\\\s*(journey)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(title|section)\\\\s+(\\\\s*[!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"begin":"(?i)\\\\s*([!\\"$-/<-?\\\\\\\\^\\\\w\\\\s]*)\\\\s*(:)\\\\s*(\\\\d+)\\\\s*(:)","beginCaptures":{"1":{"name":"string"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"constant.numeric.decimal.mermaid"},"4":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"captures":{"1":{"name":"variable"}},"match":"(?i)\\\\s*,?\\\\s*([^\\\\n#,]+)"}]}]},{"begin":"^\\\\s*(xychart(?:-beta)?(?:\\\\s+horizontal)?)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"(^|\\\\G)(?=\\\\s*[:`~]{3,}\\\\s*$)","patterns":[{"match":"%%.*","name":"comment"},{"captures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"string"}},"match":"(?i)^\\\\s*(title)\\\\s+(\\\\s*[!-/:-?\\\\\\\\^\\\\w\\\\s]*)"},{"begin":"(?i)^\\\\s*(x-axis)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"constant.numeric.decimal.mermaid"}},"match":"(?i)\\\\s*([-+]?\\\\d+\\\\.?\\\\d*)\\\\s*(-->)\\\\s*([-+]?\\\\d+\\\\.?\\\\d*)"},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s+(\\"[!#-(*-/:-?\\\\\\\\^\\\\w\\\\s]*\\")"},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s+([!#-(*-/:-?\\\\\\\\^\\\\w]*)"},{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"\\\\s*(])","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.mermaid"}},"match":"(?i)\\\\s*([-+]?\\\\d+\\\\.?\\\\d*)"},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s*(\\"[!#-(*-/:-?\\\\\\\\^\\\\w\\\\s]*\\")"},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s*([-!#-(*+./:-?\\\\\\\\^\\\\w\\\\s]+)"},{"captures":{"1":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*(,)"}]}]},{"begin":"(?i)^\\\\s*(y-axis)","beginCaptures":{"1":{"name":"keyword.control.mermaid"}},"end":"$","patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.mermaid"},"2":{"name":"keyword.control.mermaid"},"3":{"name":"constant.numeric.decimal.mermaid"}},"match":"(?i)\\\\s*([-+]?\\\\d+\\\\.?\\\\d*)\\\\s*(-->)\\\\s*([-+]?\\\\d+\\\\.?\\\\d*)"},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s+(\\"[!#-(*-/:-?\\\\\\\\^\\\\w\\\\s]*\\")"},{"captures":{"1":{"name":"string"}},"match":"(?i)\\\\s+([!#-(*-/:-?\\\\\\\\^\\\\w]*)"}]},{"begin":"(?i)^\\\\s*(line|bar)\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"keyword.control.mermaid"},"2":{"name":"keyword.control.mermaid"}},"end":"\\\\s*(])","endCaptures":{"1":{"name":"keyword.control.mermaid"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.decimal.mermaid"}},"match":"(?i)\\\\s*([-+]?\\\\d+\\\\.?\\\\d*)"},{"captures":{"1":{"name":"keyword.control.mermaid"}},"match":"(?i)\\\\s*(,)"}]}]}]},"mermaid-ado-code-block":{"begin":"(?i)\\\\s*:::\\\\s*mermaid\\\\s*$","contentName":"meta.embedded.block.mermaid","end":"\\\\s*:::\\\\s*","patterns":[{"include":"#mermaid"}]},"mermaid-code-block":{"begin":"(?i)(?<=[`~])mermaid(\\\\s+[^`~]*)?$","contentName":"meta.embedded.block.mermaid","end":"(^|\\\\G)(?=\\\\s*[`~]{3,}\\\\s*$)","patterns":[{"include":"#mermaid"}]},"mermaid-code-block-with-attributes":{"begin":"(?i)(?<=[`~])\\\\{\\\\s*\\\\.?mermaid(\\\\s+[^`~]*)?$","contentName":"meta.embedded.block.mermaid","end":"(^|\\\\G)(?=\\\\s*[`~]{3,}\\\\s*$)","patterns":[{"include":"#mermaid"}]}},"scopeName":"markdown.mermaid.codeblock","aliases":["mmd"]}', + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-DfEE3Bzs.js.map diff --git a/src/webview-ui/build/assets/chunk-DfEE3Bzs.js.map b/src/webview-ui/build/assets/chunk-DfEE3Bzs.js.map new file mode 100644 index 0000000000..22b012f230 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DfEE3Bzs.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DfEE3Bzs.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/mermaid.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Mermaid\\\",\\\"fileTypes\\\":[],\\\"injectionSelector\\\":\\\"L:text.html.markdown\\\",\\\"name\\\":\\\"mermaid\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mermaid-code-block\\\"},{\\\"include\\\":\\\"#mermaid-code-block-with-attributes\\\"},{\\\"include\\\":\\\"#mermaid-ado-code-block\\\"}],\\\"repository\\\":{\\\"mermaid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(architecture-beta)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"string\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"9\\\":{\\\"name\\\":\\\"string\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"12\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(group|service)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\()?([-\\\\\\\\w\\\\\\\\s]+)?(:)?([-\\\\\\\\w\\\\\\\\s]+)?(\\\\\\\\))?\\\\\\\\s*(\\\\\\\\[)?([-\\\\\\\\w\\\\\\\\s]+)?\\\\\\\\s*(])?\\\\\\\\s*(in)?\\\\\\\\s*([-\\\\\\\\w]+)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"10\\\":{\\\"name\\\":\\\"variable\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"12\\\":{\\\"name\\\":\\\"variable\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\{)?\\\\\\\\s*(group)?(})?\\\\\\\\s*(:)\\\\\\\\s*([BLRT])\\\\\\\\s+(?)\\\\\\\\s+([BLRT])\\\\\\\\s*(:)\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\{)?\\\\\\\\s*(group)?(})?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(junction)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(in)?\\\\\\\\s*([-\\\\\\\\w]+)?\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(classDiagram)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"7\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)([-\\\\\\\\w]+)\\\\\\\\s(\\\\\\\"(?:\\\\\\\\d+|\\\\\\\\*|0..\\\\\\\\d+|1..\\\\\\\\d+|1..\\\\\\\\*)\\\\\\\")?\\\\\\\\s?(--o|--\\\\\\\\*|<--|-->|<\\\\\\\\.\\\\\\\\.|\\\\\\\\.\\\\\\\\.>|<\\\\\\\\|\\\\\\\\.\\\\\\\\.|\\\\\\\\.\\\\\\\\.\\\\\\\\|>|<\\\\\\\\|--|--\\\\\\\\|>|--\\\\\\\\*?|\\\\\\\\.\\\\\\\\.|\\\\\\\\*--|o--)\\\\\\\\s(\\\\\\\"(?:\\\\\\\\d+|\\\\\\\\*|0..\\\\\\\\d+|1..\\\\\\\\d+|1..\\\\\\\\*)\\\\\\\")?\\\\\\\\s?([-\\\\\\\\w]+)\\\\\\\\s?(:)?\\\\\\\\s(.*)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"8\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"10\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.mermaid\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.parenthesis.closed.mermaid\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"15\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"}},\\\"match\\\":\\\"(?i)([-\\\\\\\\w]+)\\\\\\\\s?(:)\\\\\\\\s([-#+~])?([-\\\\\\\\w]+)(\\\\\\\\()([-\\\\\\\\w]+)?(~)?([-\\\\\\\\w]+)?(~)?\\\\\\\\s?([-\\\\\\\\w]+)?(\\\\\\\\))([$*]{0,2})\\\\\\\\s?([-\\\\\\\\w]+)?(~)?([-\\\\\\\\w]+)?(~)?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.variable.field.mermaid\\\"}},\\\"match\\\":\\\"(?i)([-\\\\\\\\w]+)\\\\\\\\s?(:)\\\\\\\\s([-#+~])?([-\\\\\\\\w]+)(~)?([-\\\\\\\\w]+)?(~)?\\\\\\\\s([-\\\\\\\\w]+)?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"}},\\\"match\\\":\\\"(?i)(<<)([-\\\\\\\\w]+)(>>)\\\\\\\\s?([-\\\\\\\\w]+)?\\\"},{\\\"begin\\\":\\\"(?i)(class)\\\\\\\\s+([-\\\\\\\\w]+)(~)?([-\\\\\\\\w]+)?(~)?\\\\\\\\s?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\s([-#+~])?([-\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.mermaid\\\"}},\\\"end\\\":\\\"(?i)(\\\\\\\\))([$*]{0,2})\\\\\\\\s?([-\\\\\\\\w]+)?(~)?([-\\\\\\\\w]+)?(~)?$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.closed.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*,?\\\\\\\\s*([-\\\\\\\\w]+)?(~)?([-\\\\\\\\w]+)?(~)?\\\\\\\\s?([-\\\\\\\\w]+)?\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.variable.field.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s([-#+~])?([-\\\\\\\\w]+)(~)?([-\\\\\\\\w]+)?(~)?\\\\\\\\s([-\\\\\\\\w]+)?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"}},\\\"match\\\":\\\"(?i)(<<)([-\\\\\\\\w]+)(>>)\\\\\\\\s?([-\\\\\\\\w]+)?\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.mermaid\\\"}},\\\"match\\\":\\\"(?i)(class)\\\\\\\\s+([-\\\\\\\\w]+)(~)?([-\\\\\\\\w]+)?(~)?\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(erDiagram)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\[)?\\\\\\\\s*([-\\\\\\\\w]+|\\\\\\\"[-\\\\\\\\w\\\\\\\\s]+\\\\\\\")?\\\\\\\\s*(])?$\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\[)?\\\\\\\\s*([-\\\\\\\\w]+|\\\\\\\"[-\\\\\\\\w\\\\\\\\s]+\\\\\\\")?\\\\\\\\s*(])?\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s+([FP]K)?\\\\\\\\s*(\\\\\\\"[!-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*\\\\\\\")?\\\\\\\\s*\\\"},{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s*((?:\\\\\\\\|o|\\\\\\\\|\\\\\\\\||}o|}\\\\\\\\||one or (?:zero|more|many)|zero or (?:one|more|many)|many\\\\\\\\([01]\\\\\\\\)|only one|0\\\\\\\\+|1\\\\\\\\+?)(?:..|--)(?:o\\\\\\\\||\\\\\\\\|\\\\\\\\||o\\\\\\\\{|\\\\\\\\|\\\\\\\\{|one or (?:zero|more|many)|zero or (?:one|more|many)|many\\\\\\\\([01]\\\\\\\\)|only one|0\\\\\\\\+|1\\\\\\\\+?))\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s*(:)\\\\\\\\s*(\\\\\\\"[\\\\\\\\w\\\\\\\\s]*\\\\\\\"|[-\\\\\\\\w]+)\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(gantt)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(dateFormat)\\\\\\\\s+([-.\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(axisFormat)\\\\\\\\s+([-%./\\\\\\\\\\\\\\\\\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)(tickInterval)\\\\\\\\s+(([1-9][0-9]*)(millisecond|second|minute|hour|day|week|month))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(title)\\\\\\\\s+(\\\\\\\\s*[!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(excludes)\\\\\\\\s+((?:[-,\\\\\\\\d\\\\\\\\s]|monday|tuesday|wednesday|thursday|friday|saturday|sunday|weekends)+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s+(todayMarker)\\\\\\\\s+(.*)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(section)\\\\\\\\s+(\\\\\\\\s*[!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s(.*)(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(crit|done|active|after)\\\",\\\"name\\\":\\\"entity.name.function.mermaid\\\"},{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"}]}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(gitGraph)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(commit)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(id)(:)\\\\\\\\s?(\\\\\\\"[^\\\\\\\\n\\\\\\\"]*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(type)(:)\\\\\\\\s?(NORMAL|REVERSE|HIGHLIGHT)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(tag)(:)\\\\\\\\s?(\\\\\\\"[!#-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*\\\\\\\")\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(checkout)\\\\\\\\s*([^\\\\\\\"\\\\\\\\s]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(branch)\\\\\\\\s*([^\\\\\\\"\\\\\\\\s]*)\\\\\\\\s*(?:(order)(:)\\\\\\\\s?(\\\\\\\\d+))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(merge)\\\\\\\\s*([^\\\\\\\"\\\\\\\\s]*)\\\\\\\\s*(?:(tag)(:)\\\\\\\\s?(\\\\\\\"[^\\\\\\\\n\\\\\\\"]*\\\\\\\"))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(cherry-pick)\\\\\\\\s+(id)(:)\\\\\\\\s*(\\\\\\\"[^\\\\\\\\n\\\\\\\"]*\\\\\\\")\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(graph|flowchart)\\\\\\\\s+([ 0-9\\\\\\\\p{L}]+)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(subgraph)\\\\\\\\s+(\\\\\\\\w+)(\\\\\\\\[)(\\\\\\\"?[!#-'*-/:<-?\\\\\\\\\\\\\\\\^`\\\\\\\\w\\\\\\\\s]*\\\\\\\"?)(])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(subgraph)\\\\\\\\s+([ 0-9<>\\\\\\\\p{L}]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"^(?i)\\\\\\\\s*(direction)\\\\\\\\s+(RB|BT|RL|TD|LR)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(end)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.mermaid\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b((?:(?!--|==)[-\\\\\\\\w])+\\\\\\\\b\\\\\\\\s*)(\\\\\\\\(\\\\\\\\[|\\\\\\\\[\\\\\\\\[|\\\\\\\\[\\\\\\\\(?|\\\\\\\\(+|[>{]|\\\\\\\\(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"end\\\":\\\"(?i)(]\\\\\\\\)|]]|\\\\\\\\)]|]|\\\\\\\\)+|}|\\\\\\\\)\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)([^\\\\\\\"]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"match\\\":\\\"([^\\\\\\\"]*)\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([!#-'*+,./:;<>?\\\\\\\\\\\\\\\\^_\\\\\\\\w\\\\\\\\s]+)\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\s*((?:-{2,5}|={2,5})[>ox]?\\\\\\\\|)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(?i)(\\\\\\\\|)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)([^\\\\\\\"]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"match\\\":\\\"([^\\\\\\\"]*)\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([!#-'*+,./:;<>?\\\\\\\\\\\\\\\\^_\\\\\\\\w\\\\\\\\s]+)\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([ox]?)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([ox]?)\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?:(?!--|==)[-\\\\\\\\w])+\\\\\\\\b\\\\\\\\s*)\\\",\\\"name\\\":\\\"variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(class)\\\\\\\\s+\\\\\\\\b([-,\\\\\\\\w]+)\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(classDef)\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\\\\\\s+\\\\\\\\b([-#,:;\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(click)\\\\\\\\s+\\\\\\\\b([-\\\\\\\\w]+\\\\\\\\b\\\\\\\\s*)(\\\\\\\\b\\\\\\\\w+\\\\\\\\b)?\\\\\\\\s(\\\\\\\"*.*\\\\\\\")\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(@\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(shape\\\\\\\\s*:)([^,}]*)(,)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(label\\\\\\\\s*:)([^,}]*)(,)?\\\"}]}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(pie)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(title)\\\\\\\\s+(\\\\\\\\s*[!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\s(.*)(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"}]}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(quadrantChart)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(title)\\\\\\\\s*([!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*([xy]-axis)\\\\\\\\s+((?:(?!-->)[!#-'*-/=?\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\s])*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(-->)\\\\\\\\s*([!#-'*-/=?\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\s]*)\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(quadrant-[1-4])\\\\\\\\s*([!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([!#-'*-/=?\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\s]*)\\\\\\\\s*(:)\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*(\\\\\\\\d\\\\\\\\.\\\\\\\\d+)\\\\\\\\s*(,)\\\\\\\\s*(\\\\\\\\d\\\\\\\\.\\\\\\\\d+)\\\\\\\\s*(])\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(requirementDiagram)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*((?:functional|interface|performance|physical)?requirement|designConstraint)\\\\\\\\s*([!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(id:)\\\\\\\\s*([!#-'*+,./:;<>?\\\\\\\\\\\\\\\\^_\\\\\\\\w\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(text:)\\\\\\\\s*([!#-'*+,./:;<>?\\\\\\\\\\\\\\\\^_\\\\\\\\w\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(risk:)\\\\\\\\s*(low|medium|high)\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(verifymethod:)\\\\\\\\s*(analysis|inspection|test|demonstration)\\\\\\\\s*$\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(element)\\\\\\\\s*([!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(type:)\\\\\\\\s*([!-'*+,./:;<>?\\\\\\\\\\\\\\\\^_\\\\\\\\w\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(docref:)\\\\\\\\s*([!#-'*+,./:;<>?\\\\\\\\\\\\\\\\^_\\\\\\\\w\\\\\\\\s]+)\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*(-)\\\\\\\\s*((?:contain|copie|derive|satisfie|verifie|refine|trace)s)\\\\\\\\s*(->)\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*(<-)\\\\\\\\s*((?:contain|copie|derive|satisfie|verifie|refine|trace)s)\\\\\\\\s*(-)\\\\\\\\s*(\\\\\\\\w+)\\\\\\\\s*$\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(sequenceDiagram)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(%%|#).*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)(title)\\\\\\\\s*(:)?\\\\\\\\s+(\\\\\\\\s*[!-/:<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(participant|actor)\\\\\\\\s+((?:(?! as )[!-*./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s])+)\\\\\\\\s*(as)?\\\\\\\\s([!-*,./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*((?:de)?activate)\\\\\\\\s+\\\\\\\\b([!-*./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+\\\\\\\\b\\\\\\\\)?\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"7\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(Note)\\\\\\\\s+((?:left|right)\\\\\\\\sof|over)\\\\\\\\s+\\\\\\\\b([!-*./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+\\\\\\\\b\\\\\\\\)?\\\\\\\\s*)(,)?(\\\\\\\\b[!-*./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+\\\\\\\\b\\\\\\\\)?\\\\\\\\s*)?(:)(?:\\\\\\\\s+([^#;]*))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(loop)(?:\\\\\\\\s+([^#;]*))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(end)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(alt|else|option|par|and|rect|autonumber|critical|opt)(?:\\\\\\\\s+([^#;]*))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*\\\\\\\\b([!-*./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+\\\\\\\\b\\\\\\\\)?)\\\\\\\\s*(-?-[)>x]>?[-+]?)\\\\\\\\s*([!-*./<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+\\\\\\\\b\\\\\\\\)?)\\\\\\\\s*(:)\\\\\\\\s*([^#;]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(box)\\\\\\\\s+(transparent)(?:\\\\\\\\s+([^#;]*))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(box)(?:\\\\\\\\s+([^#;]*))?\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(stateDiagram(?:-v2)?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"\\\\\\\\s+(})\\\\\\\\s+\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"\\\\\\\\s+(--)\\\\\\\\s+\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*([-\\\\\\\\w]+)$\\\",\\\"name\\\":\\\"variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)([-\\\\\\\\w]+)\\\\\\\\s+(:)\\\\\\\\s+(\\\\\\\\s*[-\\\\\\\\w\\\\\\\\s]+)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(state)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(\\\\\\\"[-\\\\\\\\w\\\\\\\\s]+\\\\\\\\b\\\\\\\")\\\\\\\\s+(as)\\\\\\\\s+([-\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s+(\\\\\\\\{)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-\\\\\\\\w]+)\\\\\\\\s+(<<(?:fork|join)>>)\\\"}]},{\\\"begin\\\":\\\"(?i)([-\\\\\\\\w]+)\\\\\\\\s+(-->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(:)?\\\\\\\\s*([^\\\\\\\\n:]+)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\[\\\\\\\\*])\\\\\\\\s*(:)?\\\\\\\\s*([^\\\\\\\\n:]+)?\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"5\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\[\\\\\\\\*])\\\\\\\\s+(-->)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(:)?\\\\\\\\s*([^\\\\\\\\n:]+)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(note (?:left|right) of)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s+(:)\\\\\\\\s*([^\\\\\\\\n:]+)\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(note (?:left|right) of)\\\\\\\\s+([-\\\\\\\\w]+)(.|\\\\\\\\n)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"contentName\\\":\\\"string\\\",\\\"end\\\":\\\"(?i)(end note)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}}}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(journey)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(title|section)\\\\\\\\s+(\\\\\\\\s*[!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\s*([!\\\\\\\"$-/<-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\\\\\\s*(:)\\\\\\\\s*(\\\\\\\\d+)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*,?\\\\\\\\s*([^\\\\\\\\n#,]+)\\\"}]}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(xychart(?:-beta)?(?:\\\\\\\\s+horizontal)?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[:`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"%%.*\\\",\\\"name\\\":\\\"comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(title)\\\\\\\\s+(\\\\\\\\s*[!-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*)\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(x-axis)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-+]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)\\\\\\\\s*(-->)\\\\\\\\s*([-+]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s+(\\\\\\\"[!#-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s+([!#-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-+]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(\\\\\\\"[!#-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-!#-(*+./:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(,)\\\"}]}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(y-axis)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-+]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)\\\\\\\\s*(-->)\\\\\\\\s*([-+]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s+(\\\\\\\"[!#-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w\\\\\\\\s]*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s+([!#-(*-/:-?\\\\\\\\\\\\\\\\^\\\\\\\\w]*)\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(line|bar)\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*([-+]?\\\\\\\\d+\\\\\\\\.?\\\\\\\\d*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.mermaid\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\s*(,)\\\"}]}]}]},\\\"mermaid-ado-code-block\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\s*:::\\\\\\\\s*mermaid\\\\\\\\s*$\\\",\\\"contentName\\\":\\\"meta.embedded.block.mermaid\\\",\\\"end\\\":\\\"\\\\\\\\s*:::\\\\\\\\s*\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mermaid\\\"}]},\\\"mermaid-code-block\\\":{\\\"begin\\\":\\\"(?i)(?<=[`~])mermaid(\\\\\\\\s+[^`~]*)?$\\\",\\\"contentName\\\":\\\"meta.embedded.block.mermaid\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mermaid\\\"}]},\\\"mermaid-code-block-with-attributes\\\":{\\\"begin\\\":\\\"(?i)(?<=[`~])\\\\\\\\{\\\\\\\\s*\\\\\\\\.?mermaid(\\\\\\\\s+[^`~]*)?$\\\",\\\"contentName\\\":\\\"meta.embedded.block.mermaid\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\s*[`~]{3,}\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mermaid\\\"}]}},\\\"scopeName\\\":\\\"markdown.mermaid.codeblock\\\",\\\"aliases\\\":[\\\"mmd\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "mermaid" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,6j3BAA+/9B,CAAC,EAEvh+BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DjjNbUIW.js b/src/webview-ui/build/assets/chunk-DjjNbUIW.js new file mode 100644 index 0000000000..7ebbbc3b37 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DjjNbUIW.js @@ -0,0 +1,9 @@ +import e from "./chunk-Yzrsuije.js" +const a = Object.freeze( + JSON.parse( + '{"displayName":"Git Rebase Message","name":"git-rebase","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.git-rebase"}},"match":"^\\\\s*(#).*$\\\\n?","name":"comment.line.number-sign.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"name":"constant.sha.git-rebase"},"3":{"name":"meta.commit-message.git-rebase"}},"match":"^\\\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\\\s+([0-9a-f]+)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"patterns":[{"include":"source.shell"}]}},"match":"^\\\\s*(exec|x)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"}},"match":"^\\\\s*(b(?:reak|))\\\\s*$","name":"meta.commit-command.git-rebase"}],"scopeName":"text.git-rebase","embeddedLangs":["shellscript"]}', + ), + ), + s = [...e, a] +export { s as default } +//# sourceMappingURL=chunk-DjjNbUIW.js.map diff --git a/src/webview-ui/build/assets/chunk-DjjNbUIW.js.map b/src/webview-ui/build/assets/chunk-DjjNbUIW.js.map new file mode 100644 index 0000000000..468b9cfaff --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DjjNbUIW.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-DjjNbUIW.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/git-rebase.mjs" + ], + "sourcesContent": [ + "import shellscript from './shellscript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Git Rebase Message\\\",\\\"name\\\":\\\"git-rebase\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.git-rebase\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.git-rebase\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.git-rebase\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.sha.git-rebase\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.commit-message.git-rebase\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\\\\\\\s+([0-9a-f]+)\\\\\\\\s+(.*)$\\\",\\\"name\\\":\\\"meta.commit-command.git-rebase\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.git-rebase\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(exec|x)\\\\\\\\s+(.*)$\\\",\\\"name\\\":\\\"meta.commit-command.git-rebase\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.git-rebase\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(b(?:reak|))\\\\\\\\s*$\\\",\\\"name\\\":\\\"meta.commit-command.git-rebase\\\"}],\\\"scopeName\\\":\\\"text.git-rebase\\\",\\\"embeddedLangs\\\":[\\\"shellscript\\\"]}\"))\n\nexport default [\n...shellscript,\nlang\n]\n" + ], + "names": [ + "lang", + "gitRebase", + "shellscript" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,y2BAA+8B,CAAC,EAEv+BC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DkwncUOv.js b/src/webview-ui/build/assets/chunk-DkwncUOv.js new file mode 100644 index 0000000000..8c71d952e7 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DkwncUOv.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"GDShader","fileTypes":["gdshader"],"name":"gdshader","patterns":[{"include":"#any"}],"repository":{"any":{"patterns":[{"include":"#comment"},{"include":"#enclosed"},{"include":"#classifier"},{"include":"#definition"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"},{"include":"#operator"}]},"arraySize":{"begin":"\\\\[","captures":{"0":{"name":"punctuation.bracket.gdshader"}},"end":"]","name":"meta.array-size.gdshader","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"}]},"classifier":{"begin":"(?=\\\\b(?:shader_type|render_mode)\\\\b)","end":"(?<=;)","name":"meta.classifier.gdshader","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#identifierClassification"},{"include":"#separator"}]},"classifierKeyword":{"match":"\\\\b(?:shader_type|render_mode)\\\\b","name":"keyword.language.classifier.gdshader"},"comment":{"patterns":[{"include":"#commentLine"},{"include":"#commentBlock"}]},"commentBlock":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.gdshader"},"commentLine":{"begin":"//","end":"$","name":"comment.line.double-slash.gdshader"},"constantFloat":{"match":"\\\\b(?:E|PI|TAU)\\\\b","name":"constant.language.float.gdshader"},"constructor":{"match":"\\\\b(?:[A-Z_a-z]\\\\w*(?=\\\\s*\\\\[\\\\s*\\\\w*\\\\s*]\\\\s*\\\\()|[A-Z]\\\\w*(?=\\\\s*\\\\())","name":"entity.name.type.constructor.gdshader"},"controlKeyword":{"match":"\\\\b(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\\\\b","name":"keyword.control.gdshader"},"definition":{"patterns":[{"include":"#structDefinition"}]},"element":{"patterns":[{"include":"#literalFloat"},{"include":"#literalInt"},{"include":"#literalBool"},{"include":"#identifierType"},{"include":"#constructor"},{"include":"#processorFunction"},{"include":"#identifierFunction"},{"include":"#swizzling"},{"include":"#identifierField"},{"include":"#constantFloat"},{"include":"#languageVariable"},{"include":"#identifierVariable"}]},"enclosed":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.parenthesis.gdshader"}},"end":"\\\\)","name":"meta.parenthesis.gdshader","patterns":[{"include":"#any"}]},"fieldDefinition":{"begin":"\\\\b[A-Z_a-z]\\\\w*\\\\b","beginCaptures":{"0":{"patterns":[{"include":"#typeKeyword"},{"match":".+","name":"entity.name.type.gdshader"}]}},"end":"(?<=;)","name":"meta.definition.field.gdshader","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#arraySize"},{"include":"#fieldName"},{"include":"#any"}]},"fieldName":{"match":"\\\\b[A-Z_a-z]\\\\w*\\\\b","name":"entity.name.variable.field.gdshader"},"hintKeyword":{"match":"\\\\b(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[abgr]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\\\\b","name":"support.type.annotation.gdshader"},"identifierClassification":{"match":"\\\\b[_a-z]+\\\\b","name":"entity.other.inherited-class.gdshader"},"identifierField":{"captures":{"1":{"name":"punctuation.accessor.gdshader"},"2":{"name":"entity.name.variable.field.gdshader"}},"match":"(\\\\.)\\\\s*([A-Z_a-z]\\\\w*)\\\\b(?!\\\\s*\\\\()"},"identifierFunction":{"match":"\\\\b[A-Z_a-z]\\\\w*(?=(?:\\\\s|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\()","name":"entity.name.function.gdshader"},"identifierType":{"match":"\\\\b[A-Z_a-z]\\\\w*(?=(?:\\\\s*\\\\[\\\\s*\\\\w*\\\\s*])?\\\\s+[A-Z_a-z]\\\\w*\\\\b)","name":"entity.name.type.gdshader"},"identifierVariable":{"match":"\\\\b[A-Z_a-z]\\\\w*\\\\b","name":"variable.name.gdshader"},"keyword":{"patterns":[{"include":"#classifierKeyword"},{"include":"#structKeyword"},{"include":"#controlKeyword"},{"include":"#modifierKeyword"},{"include":"#precisionKeyword"},{"include":"#typeKeyword"},{"include":"#hintKeyword"}]},"languageVariable":{"match":"\\\\b[A-Z][0-9A-Z_]*\\\\b","name":"variable.language.gdshader"},"literalBool":{"match":"\\\\b(?:false|true)\\\\b","name":"constant.language.boolean.gdshader"},"literalFloat":{"match":"\\\\b(?:\\\\d+[Ee][-+]?\\\\d+|(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.)(?:[Ee][-+]?\\\\d+)?)[Ff]?","name":"constant.numeric.float.gdshader"},"literalInt":{"match":"\\\\b(?:0[Xx]\\\\h+|\\\\d+[Uu]?)\\\\b","name":"constant.numeric.integer.gdshader"},"modifierKeyword":{"match":"\\\\b(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\\\\b","name":"storage.modifier.gdshader"},"operator":{"match":"<<=?|>>=?|[-!\\\\&*+/<=>|]=|&&|\\\\|\\\\||[-!%\\\\&*+/<=>^|~]","name":"keyword.operator.gdshader"},"precisionKeyword":{"match":"\\\\b(?:low|medium|high)p\\\\b","name":"storage.type.built-in.primitive.precision.gdshader"},"processorFunction":{"match":"\\\\b(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\\\\s|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\()","name":"support.function.gdshader"},"separator":{"patterns":[{"match":"\\\\.","name":"punctuation.accessor.gdshader"},{"include":"#separatorComma"},{"match":";","name":"punctuation.terminator.statement.gdshader"},{"match":":","name":"keyword.operator.type.annotation.gdshader"}]},"separatorComma":{"match":",","name":"punctuation.separator.comma.gdshader"},"structDefinition":{"begin":"(?=\\\\bstruct\\\\b)","end":"(?<=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#structName"},{"include":"#structDefinitionBlock"},{"include":"#separator"}]},"structDefinitionBlock":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.block.struct.gdshader"}},"end":"}","name":"meta.definition.block.struct.gdshader","patterns":[{"include":"#comment"},{"include":"#precisionKeyword"},{"include":"#fieldDefinition"},{"include":"#keyword"},{"include":"#any"}]},"structKeyword":{"match":"\\\\bstruct\\\\b","name":"keyword.other.struct.gdshader"},"structName":{"match":"\\\\b[A-Z_a-z]\\\\w*\\\\b","name":"entity.name.type.struct.gdshader"},"swizzling":{"captures":{"1":{"name":"punctuation.accessor.gdshader"},"2":{"name":"variable.other.property.gdshader"}},"match":"(\\\\.)\\\\s*([w-z]{2,4}|[abgr]{2,4}|[pqst]{2,4})\\\\b"},"typeKeyword":{"match":"\\\\b(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\\\\b","name":"support.type.gdshader"}},"scopeName":"source.gdshader"}', + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-DkwncUOv.js.map diff --git a/src/webview-ui/build/assets/chunk-DkwncUOv.js.map b/src/webview-ui/build/assets/chunk-DkwncUOv.js.map new file mode 100644 index 0000000000..8f5cdd7e11 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DkwncUOv.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DkwncUOv.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/gdshader.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"GDShader\\\",\\\"fileTypes\\\":[\\\"gdshader\\\"],\\\"name\\\":\\\"gdshader\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#any\\\"}],\\\"repository\\\":{\\\"any\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#enclosed\\\"},{\\\"include\\\":\\\"#classifier\\\"},{\\\"include\\\":\\\"#definition\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#element\\\"},{\\\"include\\\":\\\"#separator\\\"},{\\\"include\\\":\\\"#operator\\\"}]},\\\"arraySize\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.gdshader\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.array-size.gdshader\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#element\\\"},{\\\"include\\\":\\\"#separator\\\"}]},\\\"classifier\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b(?:shader_type|render_mode)\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=;)\\\",\\\"name\\\":\\\"meta.classifier.gdshader\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#identifierClassification\\\"},{\\\"include\\\":\\\"#separator\\\"}]},\\\"classifierKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:shader_type|render_mode)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.language.classifier.gdshader\\\"},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commentLine\\\"},{\\\"include\\\":\\\"#commentBlock\\\"}]},\\\"commentBlock\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.gdshader\\\"},\\\"commentLine\\\":{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.gdshader\\\"},\\\"constantFloat\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:E|PI|TAU)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.float.gdshader\\\"},\\\"constructor\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:[A-Z_a-z]\\\\\\\\w*(?=\\\\\\\\s*\\\\\\\\[\\\\\\\\s*\\\\\\\\w*\\\\\\\\s*]\\\\\\\\s*\\\\\\\\()|[A-Z]\\\\\\\\w*(?=\\\\\\\\s*\\\\\\\\())\\\",\\\"name\\\":\\\"entity.name.type.constructor.gdshader\\\"},\\\"controlKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.gdshader\\\"},\\\"definition\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#structDefinition\\\"}]},\\\"element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literalFloat\\\"},{\\\"include\\\":\\\"#literalInt\\\"},{\\\"include\\\":\\\"#literalBool\\\"},{\\\"include\\\":\\\"#identifierType\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"include\\\":\\\"#processorFunction\\\"},{\\\"include\\\":\\\"#identifierFunction\\\"},{\\\"include\\\":\\\"#swizzling\\\"},{\\\"include\\\":\\\"#identifierField\\\"},{\\\"include\\\":\\\"#constantFloat\\\"},{\\\"include\\\":\\\"#languageVariable\\\"},{\\\"include\\\":\\\"#identifierVariable\\\"}]},\\\"enclosed\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.gdshader\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.parenthesis.gdshader\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#any\\\"}]},\\\"fieldDefinition\\\":{\\\"begin\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeKeyword\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.name.type.gdshader\\\"}]}},\\\"end\\\":\\\"(?<=;)\\\",\\\"name\\\":\\\"meta.definition.field.gdshader\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#arraySize\\\"},{\\\"include\\\":\\\"#fieldName\\\"},{\\\"include\\\":\\\"#any\\\"}]},\\\"fieldName\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.variable.field.gdshader\\\"},\\\"hintKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[abgr]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.annotation.gdshader\\\"},\\\"identifierClassification\\\":{\\\"match\\\":\\\"\\\\\\\\b[_a-z]+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.inherited-class.gdshader\\\"},\\\"identifierField\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.gdshader\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.variable.field.gdshader\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\()\\\"},\\\"identifierFunction\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*(?=(?:\\\\\\\\s|/\\\\\\\\*(?:\\\\\\\\*(?!/)|[^*])*\\\\\\\\*/)*\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.gdshader\\\"},\\\"identifierType\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*(?=(?:\\\\\\\\s*\\\\\\\\[\\\\\\\\s*\\\\\\\\w*\\\\\\\\s*])?\\\\\\\\s+[A-Z_a-z]\\\\\\\\w*\\\\\\\\b)\\\",\\\"name\\\":\\\"entity.name.type.gdshader\\\"},\\\"identifierVariable\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.name.gdshader\\\"},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#classifierKeyword\\\"},{\\\"include\\\":\\\"#structKeyword\\\"},{\\\"include\\\":\\\"#controlKeyword\\\"},{\\\"include\\\":\\\"#modifierKeyword\\\"},{\\\"include\\\":\\\"#precisionKeyword\\\"},{\\\"include\\\":\\\"#typeKeyword\\\"},{\\\"include\\\":\\\"#hintKeyword\\\"}]},\\\"languageVariable\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.gdshader\\\"},\\\"literalBool\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:false|true)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.gdshader\\\"},\\\"literalFloat\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\d+[Ee][-+]?\\\\\\\\d+|(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+|\\\\\\\\d+\\\\\\\\.)(?:[Ee][-+]?\\\\\\\\d+)?)[Ff]?\\\",\\\"name\\\":\\\"constant.numeric.float.gdshader\\\"},\\\"literalInt\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:0[Xx]\\\\\\\\h+|\\\\\\\\d+[Uu]?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.gdshader\\\"},\\\"modifierKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.gdshader\\\"},\\\"operator\\\":{\\\"match\\\":\\\"<<=?|>>=?|[-!\\\\\\\\&*+/<=>|]=|&&|\\\\\\\\|\\\\\\\\||[-!%\\\\\\\\&*+/<=>^|~]\\\",\\\"name\\\":\\\"keyword.operator.gdshader\\\"},\\\"precisionKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:low|medium|high)p\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.built-in.primitive.precision.gdshader\\\"},\\\"processorFunction\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\\\\\\\\s|/\\\\\\\\*(?:\\\\\\\\*(?!/)|[^*])*\\\\\\\\*/)*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.gdshader\\\"},\\\"separator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.gdshader\\\"},{\\\"include\\\":\\\"#separatorComma\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.gdshader\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.type.annotation.gdshader\\\"}]},\\\"separatorComma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.gdshader\\\"},\\\"structDefinition\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\bstruct\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#structName\\\"},{\\\"include\\\":\\\"#structDefinitionBlock\\\"},{\\\"include\\\":\\\"#separator\\\"}]},\\\"structDefinitionBlock\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.struct.gdshader\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.definition.block.struct.gdshader\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#precisionKeyword\\\"},{\\\"include\\\":\\\"#fieldDefinition\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#any\\\"}]},\\\"structKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\bstruct\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.struct.gdshader\\\"},\\\"structName\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.struct.gdshader\\\"},\\\"swizzling\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.gdshader\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.gdshader\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([w-z]{2,4}|[abgr]{2,4}|[pqst]{2,4})\\\\\\\\b\\\"},\\\"typeKeyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.gdshader\\\"}},\\\"scopeName\\\":\\\"source.gdshader\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "gdshader" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,snMAAg0N,CAAC,EAEx1NC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DlfHMoPT.js b/src/webview-ui/build/assets/chunk-DlfHMoPT.js new file mode 100644 index 0000000000..b73d739062 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DlfHMoPT.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"((?<=[}\\\\S])(?)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.ts","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]},{"begin":"(?<=^)\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*>)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]}]},"class-declaration":{"begin":"(?\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.ts","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.ts"},"2":{"name":"entity.name.tag.directive.ts"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.ts"}},"name":"meta.tag.ts","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"()|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.ts"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.ts"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|\'(?:\\\\*(?!/)|\\\\\\\\(?!\')|[^*\\\\\\\\])*?\'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"\']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"keyword.operator.assignment.compound.ts"},"3":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.ts variable.object.property.ts"},{"match":"\\\\?","name":"keyword.operator.optional.ts"},{"match":"!","name":"keyword.operator.definiteassignment.ts"}]},"for-loop":{"begin":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.ts punctuation.accessor.optional.ts"},{"match":"!","name":"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"}]},"function-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.ts"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"if-statement":{"patterns":[{"begin":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"keyword.operator.new.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.property.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"\'`])","end":"(?=:)|((?<=[\\"\'`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.ts"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?])","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts"}},"contentName":"meta.arrow.ts meta.return.type.arrow.ts","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"begin":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.ts"},"2":{"name":"support.type.object.module.ts"},"3":{"name":"punctuation.accessor.ts"},"4":{"name":"punctuation.accessor.optional.ts"},"5":{"name":"support.type.object.module.ts"}},"match":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.ts"}},"end":"(?)(??{}]|//|$)","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"(?)(??{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.ts"},"2":{"name":"entity.name.type.ts"},"3":{"name":"keyword.operator.expression.extends.ts"}},"match":"(?)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.ts"},"2":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?=\\\\S)"},{"match":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"match":"(?)","name":"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(??{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},"end":"(?=$|^|[,;=}]|((?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts entity.name.function.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((??\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(?)\\\",\\\"name\\\":\\\"meta.arrow.ts\\\"},{\\\"begin\\\":\\\"(?:(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"cast.expr.ts\\\"},{\\\"begin\\\":\\\"(??^|]|[^$_[:alnum:]](?:\\\\\\\\+\\\\\\\\+|--)|[^+]\\\\\\\\+|[^-]-)\\\\\\\\s*(<)(?!)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=^)\\\\\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.ts\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"}},\\\"name\\\":\\\"meta.tag.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"()|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.ts\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.ts\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(??}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"}},\\\"match\\\":\\\"(?\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?))*(?)*(?\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?)(??{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.ts\\\"}},\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(??{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?))?","name":"meta.definition.function.v"},"function-exist":{"captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"match":"\\\\w+","name":"entity.name.function.v"}]},"2":{"patterns":[{"include":"#generic"}]}},"match":"(\\\\w+)((?<=[+\\\\w\\\\s])(<)(\\\\w+)(>))?(?=\\\\s*\\\\()","name":"meta.support.function.v"},"function-extend-decl":{"captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"match":"\\\\w+","name":"entity.name.function.v"}]},"7":{"patterns":[{"include":"#generic"}]}},"match":"^\\\\s*(pub)?\\\\s*(fn)\\\\s*(\\\\()([^)]*)(\\\\))\\\\s*(?:C\\\\.)?(\\\\w+)\\\\s*((?<=[+\\\\w\\\\s])(<)(\\\\w+)(>))?","name":"meta.definition.function.v"},"function-limited-overload-decl":{"captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"},"10":{"patterns":[{"include":"#illegal-name"},{"match":"\\\\w+","name":"entity.name.function.v"}]}},"match":"^\\\\s*(pub)?\\\\s*(fn)\\\\s*(\\\\()([^)]*)(\\\\))\\\\s*([-*+/])?\\\\s*(\\\\()([^)]*)(\\\\))\\\\s*(?:C\\\\.)?(\\\\w+)","name":"meta.definition.function.v"},"generic":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"match":"\\\\w+","name":"entity.name.generic.v"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}},"match":"(?<=[+\\\\w\\\\s])(<)(\\\\w+)(>)","name":"meta.definition.generic.v"}]},"hash-decl":{"begin":"^\\\\s*(#)","end":"$","name":"markup.bold.v"},"illegal-name":{"match":"\\\\d\\\\w+","name":"invalid.illegal.v"},"import-decl":{"begin":"^\\\\s*(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.import.v"}},"end":"([.\\\\w]+)","endCaptures":{"1":{"name":"entity.name.import.v"}},"name":"meta.import.v"},"interface":{"captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"match":"\\\\w+","name":"entity.name.interface.v"}]}},"match":"^\\\\s*(?:(pub)?\\\\s+)?(interface)\\\\s+(\\\\w*)","name":"meta.definition.interface.v"},"keywords":{"patterns":[{"match":"(\\\\$(?:if|else))","name":"keyword.control.v"},{"match":"(?>|<<)","name":"keyword.operator.arithmetic.v"},{"match":"(==|!=|[<>]|>=|<=)","name":"keyword.operator.relation.v"},{"match":"((?::?|[-%\\\\&*+/^|~]|&&|\\\\|\\\\||>>|<<)=)","name":"keyword.operator.assignment.v"},{"match":"([\\\\&^|~]|<(?!<)|>(?!>))","name":"keyword.operator.bitwise.v"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.v"},{"match":"\\\\?","name":"keyword.operator.optional.v"}]},"punctuation":{"patterns":[{"match":"\\\\.","name":"punctuation.delimiter.period.dot.v"},{"match":",","name":"punctuation.delimiter.comma.v"},{"match":":","name":"punctuation.separator.key-value.colon.v"},{"match":";","name":"punctuation.definition.other.semicolon.v"},{"match":"\\\\?","name":"punctuation.definition.other.questionmark.v"},{"match":"#","name":"punctuation.hash.v"}]},"punctuations":{"patterns":[{"match":"\\\\.","name":"punctuation.accessor.v"},{"match":",","name":"punctuation.separator.comma.v"}]},"storage":{"match":"\\\\b(const|mut|pub)\\\\b","name":"storage.modifier.v"},"string-escaped-char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[\\"$'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.v"},{"match":"\\\\\\\\[^\\"$'0-7Uabfnrtuvx]","name":"invalid.illegal.unknown-escape.v"}]},"string-interpolation":{"captures":{"1":{"patterns":[{"match":"\\\\$\\\\d[.\\\\w]+","name":"invalid.illegal.v"},{"match":"\\\\$([.\\\\w]+|\\\\{.*?})","name":"variable.other.interpolated.v"}]}},"match":"(\\\\$([.\\\\w]+|\\\\{.*?}))","name":"meta.string.interpolation.v"},"string-placeholder":{"match":"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvx]","name":"constant.other.placeholder.v"},"strings":{"patterns":[{"begin":"\`","end":"\`","name":"string.quoted.rune.v","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"begin":"(r)'","beginCaptures":{"1":{"name":"storage.type.string.v"}},"end":"'","name":"string.quoted.raw.v","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"begin":"(r)\\"","beginCaptures":{"1":{"name":"storage.type.string.v"}},"end":"\\"","name":"string.quoted.raw.v","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"begin":"(c?)'","beginCaptures":{"1":{"name":"storage.type.string.v"}},"end":"'","name":"string.quoted.v","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"begin":"(c?)\\"","beginCaptures":{"1":{"name":"storage.type.string.v"}},"end":"\\"","name":"string.quoted.v","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]}]},"struct":{"patterns":[{"begin":"^\\\\s*(?:(mut|pub(?:\\\\s+mut)?|__global)\\\\s+)?(struct|union)\\\\s+([.\\\\w]+)\\\\s*|(\\\\{)","beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.type.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"end":"\\\\s*|(})","endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}},"name":"meta.definition.struct.v","patterns":[{"include":"#struct-access-modifier"},{"captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"match":"\\\\w+","name":"storage.type.other.v"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}},"match":"\\\\b(\\\\w+)\\\\s+([]\\\\&*.\\\\[\\\\w]+)(?:\\\\s*(=)\\\\s*((?:.(?=$|//|/\\\\*))*+))?"},{"include":"#types"},{"include":"$self"}]},{"captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}},"match":"^\\\\s*(mut|pub(?:\\\\s+mut)?|__global)\\\\s+?(struct)\\\\s+(?:\\\\s+([.\\\\w]+))?","name":"meta.definition.struct.v"}]},"struct-access-modifier":{"captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}},"match":"(?<=\\\\s|^)(mut|pub(?:\\\\s+mut)?|__global)(:|\\\\b)"},"type":{"captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"match":"\\\\w+","name":"entity.name.type.v"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"match":"\\\\w+","name":"entity.name.type.v"}]}},"match":"^\\\\s*(?:(pub)?\\\\s+)?(type)\\\\s+(\\\\w*)\\\\s+(?:\\\\w+\\\\.+)?(\\\\w*)","name":"meta.definition.type.v"},"types":{"patterns":[{"match":"(?))?\\\",\\\"name\\\":\\\"meta.definition.function.v\\\"},\\\"function-exist\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.function.call.v\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.function.v\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#generic\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\w+)((?<=[+\\\\\\\\w\\\\\\\\s])(<)(\\\\\\\\w+)(>))?(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.support.function.v\\\"},\\\"function-extend-decl\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.fn.v\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.round.begin.v\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#storage\\\"},{\\\"include\\\":\\\"#generic\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.round.end.v\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.function.v\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#generic\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(pub)?\\\\\\\\s*(fn)\\\\\\\\s*(\\\\\\\\()([^)]*)(\\\\\\\\))\\\\\\\\s*(?:C\\\\\\\\.)?(\\\\\\\\w+)\\\\\\\\s*((?<=[+\\\\\\\\w\\\\\\\\s])(<)(\\\\\\\\w+)(>))?\\\",\\\"name\\\":\\\"meta.definition.function.v\\\"},\\\"function-limited-overload-decl\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.fn.v\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.round.begin.v\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#storage\\\"},{\\\"include\\\":\\\"#generic\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.round.end.v\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operators\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.round.begin.v\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#storage\\\"},{\\\"include\\\":\\\"#generic\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.round.end.v\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.function.v\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(pub)?\\\\\\\\s*(fn)\\\\\\\\s*(\\\\\\\\()([^)]*)(\\\\\\\\))\\\\\\\\s*([-*+/])?\\\\\\\\s*(\\\\\\\\()([^)]*)(\\\\\\\\))\\\\\\\\s*(?:C\\\\\\\\.)?(\\\\\\\\w+)\\\",\\\"name\\\":\\\"meta.definition.function.v\\\"},\\\"generic\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.v\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.generic.v\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.v\\\"}},\\\"match\\\":\\\"(?<=[+\\\\\\\\w\\\\\\\\s])(<)(\\\\\\\\w+)(>)\\\",\\\"name\\\":\\\"meta.definition.generic.v\\\"}]},\\\"hash-decl\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(#)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"markup.bold.v\\\"},\\\"illegal-name\\\":{\\\"match\\\":\\\"\\\\\\\\d\\\\\\\\w+\\\",\\\"name\\\":\\\"invalid.illegal.v\\\"},\\\"import-decl\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(import)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.import.v\\\"}},\\\"end\\\":\\\"([.\\\\\\\\w]+)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.import.v\\\"}},\\\"name\\\":\\\"meta.import.v\\\"},\\\"interface\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.interface.v\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.interface.v\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(?:(pub)?\\\\\\\\s+)?(interface)\\\\\\\\s+(\\\\\\\\w*)\\\",\\\"name\\\":\\\"meta.definition.interface.v\\\"},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\$(?:if|else))\\\",\\\"name\\\":\\\"keyword.control.v\\\"},{\\\"match\\\":\\\"(?>|<<)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.v\\\"},{\\\"match\\\":\\\"(==|!=|[<>]|>=|<=)\\\",\\\"name\\\":\\\"keyword.operator.relation.v\\\"},{\\\"match\\\":\\\"((?::?|[-%\\\\\\\\&*+/^|~]|&&|\\\\\\\\|\\\\\\\\||>>|<<)=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.v\\\"},{\\\"match\\\":\\\"([\\\\\\\\&^|~]|<(?!<)|>(?!>))\\\",\\\"name\\\":\\\"keyword.operator.bitwise.v\\\"},{\\\"match\\\":\\\"(&&|\\\\\\\\|\\\\\\\\||!)\\\",\\\"name\\\":\\\"keyword.operator.logical.v\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.v\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.delimiter.period.dot.v\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.delimiter.comma.v\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.colon.v\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.definition.other.semicolon.v\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"punctuation.definition.other.questionmark.v\\\"},{\\\"match\\\":\\\"#\\\",\\\"name\\\":\\\"punctuation.hash.v\\\"}]},\\\"punctuations\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.v\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.v\\\"}]},\\\"storage\\\":{\\\"match\\\":\\\"\\\\\\\\b(const|mut|pub)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.v\\\"},\\\"string-escaped-char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|[\\\\\\\"$'\\\\\\\\\\\\\\\\abfnrtv]|x\\\\\\\\h{2}|u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.v\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^\\\\\\\"$'0-7Uabfnrtuvx]\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.v\\\"}]},\\\"string-interpolation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\d[.\\\\\\\\w]+\\\",\\\"name\\\":\\\"invalid.illegal.v\\\"},{\\\"match\\\":\\\"\\\\\\\\$([.\\\\\\\\w]+|\\\\\\\\{.*?})\\\",\\\"name\\\":\\\"variable.other.interpolated.v\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\$([.\\\\\\\\w]+|\\\\\\\\{.*?}))\\\",\\\"name\\\":\\\"meta.string.interpolation.v\\\"},\\\"string-placeholder\\\":{\\\"match\\\":\\\"%(\\\\\\\\[\\\\\\\\d+])?([- #+0]{0,2}((\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.?(\\\\\\\\d+|\\\\\\\\*|(\\\\\\\\[\\\\\\\\d+])\\\\\\\\*?)?(\\\\\\\\[\\\\\\\\d+])?)?))?[%EFGTUXb-gopqstvx]\\\",\\\"name\\\":\\\"constant.other.placeholder.v\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.rune.v\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-escaped-char\\\"},{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"include\\\":\\\"#string-placeholder\\\"}]},{\\\"begin\\\":\\\"(r)'\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.v\\\"}},\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.raw.v\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"include\\\":\\\"#string-placeholder\\\"}]},{\\\"begin\\\":\\\"(r)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.v\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.raw.v\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"include\\\":\\\"#string-placeholder\\\"}]},{\\\"begin\\\":\\\"(c?)'\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.v\\\"}},\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.v\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-escaped-char\\\"},{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"include\\\":\\\"#string-placeholder\\\"}]},{\\\"begin\\\":\\\"(c?)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.v\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.v\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-escaped-char\\\"},{\\\"include\\\":\\\"#string-interpolation\\\"},{\\\"include\\\":\\\"#string-placeholder\\\"}]}]},\\\"struct\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(?:(mut|pub(?:\\\\\\\\s+mut)?|__global)\\\\\\\\s+)?(struct|union)\\\\\\\\s+([.\\\\\\\\w]+)\\\\\\\\s*|(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.struct.v\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.v\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.v\\\"}},\\\"end\\\":\\\"\\\\\\\\s*|(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.v\\\"}},\\\"name\\\":\\\"meta.definition.struct.v\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#struct-access-modifier\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.property.v\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"storage.type.other.v\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.v\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\w+)\\\\\\\\s+([]\\\\\\\\&*.\\\\\\\\[\\\\\\\\w]+)(?:\\\\\\\\s*(=)\\\\\\\\s*((?:.(?=$|//|/\\\\\\\\*))*+))?\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.struct.v\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.struct.v\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(mut|pub(?:\\\\\\\\s+mut)?|__global)\\\\\\\\s+?(struct)\\\\\\\\s+(?:\\\\\\\\s+([.\\\\\\\\w]+))?\\\",\\\"name\\\":\\\"meta.definition.struct.v\\\"}]},\\\"struct-access-modifier\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.struct.key-value.v\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s|^)(mut|pub(?:\\\\\\\\s+mut)?|__global)(:|\\\\\\\\b)\\\"},\\\"type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.v\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.type.v\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.v\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-name\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.v\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(?:(pub)?\\\\\\\\s+)?(type)\\\\\\\\s+(\\\\\\\\w*)\\\\\\\\s+(?:\\\\\\\\w+\\\\\\\\.+)?(\\\\\\\\w*)\\\",\\\"name\\\":\\\"meta.definition.type.v\\\"},\\\"types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(? string.quoted.json","settings":{"foreground":"#cc75f4"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#4bf3c8"}},{"scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#ffd493"}},{"scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#eef0f9"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#4bf3c8"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#4bf3c8"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#54b9ff"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#54b9ff"}},{"scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#acafff"}},{"scope":"keyword.operator.error-control.php","settings":{"foreground":"#54b9ff"}},{"scope":"keyword.operator.type.php","settings":{"foreground":"#54b9ff"}},{"scope":"punctuation.section.array.begin.php","settings":{"foreground":"#eef0f9"}},{"scope":"punctuation.section.array.end.php","settings":{"foreground":"#eef0f9"}},{"scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#acafff"}},{"scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#00daef"}},{"scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#eef0f9"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#ffd493"}},{"scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#ffd493"}},{"scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#00daef"}},{"scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#eef0f9"}},{"scope":"keyword.operator.regexp.php","settings":{"foreground":"#54b9ff"}},{"scope":"keyword.operator.comparison.php","settings":{"foreground":"#eef0f9"}},{"scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#54b9ff"}},{"scope":"meta.function.decorator.python","settings":{"foreground":"#00daef"}},{"scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#eef0f9"}},{"scope":"function.parameter","settings":{"foreground":"#eef0f9"}},{"scope":"function.brace","settings":{"foreground":"#eef0f9"}},{"scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#eef0f9"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#eef0f9"}},{"scope":"rgb-value","settings":{"foreground":"#eef0f9"}},{"scope":"inline-color-decoration rgb-value","settings":{"foreground":"#ffd493"}},{"scope":"less rgb-value","settings":{"foreground":"#ffd493"}},{"scope":"selector.sass","settings":{"foreground":"#4bf3c8"}},{"scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#acafff"}},{"scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#eef0f9"}},{"scope":"storage.type.cs","settings":{"foreground":"#acafff"}},{"scope":"entity.name.variable.local.cs","settings":{"foreground":"#4bf3c8"}},{"scope":"token.info-token","settings":{"foreground":"#00daef"}},{"scope":"token.warn-token","settings":{"foreground":"#ffd493"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#54b9ff"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#54b9ff"}},{"scope":["meta.template.expression"],"settings":{"foreground":"#eef0f9"}},{"scope":["keyword.operator.module"],"settings":{"foreground":"#54b9ff"}},{"scope":["support.type.type.flowtype"],"settings":{"foreground":"#00daef"}},{"scope":["support.type.primitive"],"settings":{"foreground":"#acafff"}},{"scope":["meta.property.object"],"settings":{"foreground":"#4bf3c8"}},{"scope":["variable.parameter.function.js"],"settings":{"foreground":"#4bf3c8"}},{"scope":["keyword.other.template.begin"],"settings":{"foreground":"#ffd493"}},{"scope":["keyword.other.template.end"],"settings":{"foreground":"#ffd493"}},{"scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#ffd493"}},{"scope":["keyword.other.substitution.end"],"settings":{"foreground":"#ffd493"}},{"scope":["keyword.operator.assignment"],"settings":{"foreground":"#eef0f9"}},{"scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#acafff"}},{"scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#54b9ff"}},{"scope":["entity.name.package.go"],"settings":{"foreground":"#acafff"}},{"scope":["support.type.prelude.elm"],"settings":{"foreground":"#eef0f9"}},{"scope":["support.constant.elm"],"settings":{"foreground":"#ffd493"}},{"scope":["punctuation.quasi.element"],"settings":{"foreground":"#54b9ff"}},{"scope":["constant.character.entity"],"settings":{"foreground":"#4bf3c8"}},{"scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#eef0f9"}},{"scope":["entity.global.clojure"],"settings":{"foreground":"#acafff"}},{"scope":["meta.symbol.clojure"],"settings":{"foreground":"#4bf3c8"}},{"scope":["constant.keyword.clojure"],"settings":{"foreground":"#eef0f9"}},{"scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#4bf3c8"}},{"scope":["source.ini"],"settings":{"foreground":"#ffd493"}},{"scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#4bf3c8"}},{"scope":["source.makefile"],"settings":{"foreground":"#acafff"}},{"scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#acafff"}},{"scope":["meta.method.groovy"],"settings":{"foreground":"#00daef"}},{"scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#4bf3c8"}},{"scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#ffd493"}},{"scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#acafff"}},{"scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#54b9ff"}},{"scope":["text.variable","text.bracketed"],"settings":{"foreground":"#4bf3c8"}},{"scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#acafff"}},{"scope":["entity.name.function.xi"],"settings":{"foreground":"#acafff"}},{"scope":["entity.name.class.xi"],"settings":{"foreground":"#eef0f9"}},{"scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#4bf3c8"}},{"scope":["constant.regexp.xi"],"settings":{"foreground":"#54b9ff"}},{"scope":["keyword.control.xi"],"settings":{"foreground":"#eef0f9"}},{"scope":["invalid.xi"],"settings":{"foreground":"#eef0f9"}},{"scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#ffd493"}},{"scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#eef0f98f"}},{"scope":["constant.character.xi"],"settings":{"foreground":"#00daef"}},{"scope":["accent.xi"],"settings":{"foreground":"#00daef"}},{"scope":["wikiword.xi"],"settings":{"foreground":"#ffd493"}},{"scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#545864"}},{"scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#acafff"}},{"scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#4bf3c8"}},{"scope":[" meta.brace.square"],"settings":{"foreground":"#eef0f9"}},{"scope":"comment, punctuation.definition.comment","settings":{"fontStyle":"italic","foreground":"#eef0f98f"}},{"scope":"markup.quote.markdown","settings":{"foreground":"#eef0f98f"}},{"scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#eef0f9"}},{"scope":["constant.language.symbol.elixir"],"settings":{"foreground":"#eef0f9"}},{"scope":"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super","settings":{"fontStyle":"italic"}},{"scope":"comment.line.double-slash,comment.block.documentation","settings":{"fontStyle":"italic"}},{"scope":"keyword.control.import.python,keyword.control.flow.python","settings":{"fontStyle":"italic"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-DnULxvSX.js.map diff --git a/src/webview-ui/build/assets/chunk-DnULxvSX.js.map b/src/webview-ui/build/assets/chunk-DnULxvSX.js.map new file mode 100644 index 0000000000..fe4831994b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DnULxvSX.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DnULxvSX.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/houston.mjs" + ], + "sourcesContent": [ + "/* Theme: houston */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#343841\\\",\\\"activityBar.background\\\":\\\"#17191e\\\",\\\"activityBar.border\\\":\\\"#343841\\\",\\\"activityBar.foreground\\\":\\\"#eef0f9\\\",\\\"activityBar.inactiveForeground\\\":\\\"#858b98\\\",\\\"activityBarBadge.background\\\":\\\"#4bf3c8\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#bfc1c9\\\",\\\"badge.foreground\\\":\\\"#17191e\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#eef0f9\\\",\\\"breadcrumb.background\\\":\\\"#17191e\\\",\\\"breadcrumb.focusForeground\\\":\\\"#eef0f9\\\",\\\"breadcrumb.foreground\\\":\\\"#858b98\\\",\\\"button.background\\\":\\\"#4bf3c8\\\",\\\"button.foreground\\\":\\\"#17191e\\\",\\\"button.hoverBackground\\\":\\\"#31c19c\\\",\\\"button.secondaryBackground\\\":\\\"#545864\\\",\\\"button.secondaryForeground\\\":\\\"#eef0f9\\\",\\\"button.secondaryHoverBackground\\\":\\\"#858b98\\\",\\\"checkbox.background\\\":\\\"#23262d\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#eef0f9\\\",\\\"debugExceptionWidget.background\\\":\\\"#23262d\\\",\\\"debugExceptionWidget.border\\\":\\\"#8996d5\\\",\\\"debugToolBar.background\\\":\\\"#000\\\",\\\"debugToolBar.border\\\":\\\"#ffffff00\\\",\\\"diffEditor.border\\\":\\\"#ffffff00\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4bf3c824\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#dc365724\\\",\\\"dropdown.background\\\":\\\"#23262d\\\",\\\"dropdown.border\\\":\\\"#00000000\\\",\\\"dropdown.foreground\\\":\\\"#eef0f9\\\",\\\"editor.background\\\":\\\"#17191e\\\",\\\"editor.findMatchBackground\\\":\\\"#515c6a\\\",\\\"editor.findMatchBorder\\\":\\\"#74879f\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ea5c0055\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff00\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#23262d\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#b2434300\\\",\\\"editor.foldBackground\\\":\\\"#ad5dca26\\\",\\\"editor.foreground\\\":\\\"#eef0f9\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#5495d740\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#2a2d34\\\",\\\"editor.lineHighlightBackground\\\":\\\"#23262d\\\",\\\"editor.lineHighlightBorder\\\":\\\"#ffffff00\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#ffffff0b\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#ffffff00\\\",\\\"editor.selectionBackground\\\":\\\"#ad5dca44\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#add6ff34\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#495f77\\\",\\\"editor.wordHighlightBackground\\\":\\\"#494949b8\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#004972b8\\\",\\\"editorBracketMatch.background\\\":\\\"#545864\\\",\\\"editorBracketMatch.border\\\":\\\"#ffffff00\\\",\\\"editorCodeLens.foreground\\\":\\\"#bfc1c9\\\",\\\"editorCursor.background\\\":\\\"#000000\\\",\\\"editorCursor.foreground\\\":\\\"#aeafad\\\",\\\"editorError.background\\\":\\\"#ffffff00\\\",\\\"editorError.border\\\":\\\"#ffffff00\\\",\\\"editorError.foreground\\\":\\\"#f4587e\\\",\\\"editorGroup.border\\\":\\\"#343841\\\",\\\"editorGroup.emptyBackground\\\":\\\"#17191e\\\",\\\"editorGroupHeader.border\\\":\\\"#ffffff00\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#23262d\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ffffff00\\\",\\\"editorGutter.addedBackground\\\":\\\"#4bf3c8\\\",\\\"editorGutter.background\\\":\\\"#17191e\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#545864\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f06788\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#545864\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#54b9ff\\\",\\\"editorHoverWidget.background\\\":\\\"#252526\\\",\\\"editorHoverWidget.border\\\":\\\"#454545\\\",\\\"editorHoverWidget.foreground\\\":\\\"#cccccc\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#858b98\\\",\\\"editorIndentGuide.background\\\":\\\"#343841\\\",\\\"editorInfo.background\\\":\\\"#4490bf00\\\",\\\"editorInfo.border\\\":\\\"#4490bf00\\\",\\\"editorInfo.foreground\\\":\\\"#54b9ff\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#858b98\\\",\\\"editorLineNumber.foreground\\\":\\\"#545864\\\",\\\"editorLink.activeForeground\\\":\\\"#54b9ff\\\",\\\"editorMarkerNavigation.background\\\":\\\"#23262d\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#dc3657\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#54b9ff\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#ffd493\\\",\\\"editorOverviewRuler.background\\\":\\\"#ffffff00\\\",\\\"editorOverviewRuler.border\\\":\\\"#ffffff00\\\",\\\"editorRuler.foreground\\\":\\\"#545864\\\",\\\"editorSuggestWidget.background\\\":\\\"#252526\\\",\\\"editorSuggestWidget.border\\\":\\\"#454545\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#d4d4d4\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#0097fb\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#062f4a\\\",\\\"editorWarning.background\\\":\\\"#a9904000\\\",\\\"editorWarning.border\\\":\\\"#ffffff00\\\",\\\"editorWarning.foreground\\\":\\\"#fbc23b\\\",\\\"editorWhitespace.foreground\\\":\\\"#cc75f450\\\",\\\"editorWidget.background\\\":\\\"#343841\\\",\\\"editorWidget.foreground\\\":\\\"#ffffff\\\",\\\"editorWidget.resizeBorder\\\":\\\"#cc75f4\\\",\\\"focusBorder\\\":\\\"#00daef\\\",\\\"foreground\\\":\\\"#cccccc\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#4bf3c8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#00daef\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f4587e\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#858b98\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ffd493\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#c74e39\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#ffd493\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#54b9ff\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#4bf3c8\\\",\\\"icon.foreground\\\":\\\"#cccccc\\\",\\\"input.background\\\":\\\"#23262d\\\",\\\"input.border\\\":\\\"#bfc1c9\\\",\\\"input.foreground\\\":\\\"#eef0f9\\\",\\\"input.placeholderForeground\\\":\\\"#858b98\\\",\\\"inputOption.activeBackground\\\":\\\"#54b9ff\\\",\\\"inputOption.activeBorder\\\":\\\"#007acc00\\\",\\\"inputOption.activeForeground\\\":\\\"#17191e\\\",\\\"list.activeSelectionBackground\\\":\\\"#2d4860\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.dropBackground\\\":\\\"#17191e\\\",\\\"list.focusBackground\\\":\\\"#54b9ff\\\",\\\"list.focusForeground\\\":\\\"#ffffff\\\",\\\"list.highlightForeground\\\":\\\"#ffffff\\\",\\\"list.hoverBackground\\\":\\\"#343841\\\",\\\"list.hoverForeground\\\":\\\"#eef0f9\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#17191e\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#eef0f9\\\",\\\"listFilterWidget.background\\\":\\\"#2d4860\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#dc3657\\\",\\\"listFilterWidget.outline\\\":\\\"#54b9ff\\\",\\\"menu.background\\\":\\\"#252526\\\",\\\"menu.border\\\":\\\"#00000085\\\",\\\"menu.foreground\\\":\\\"#cccccc\\\",\\\"menu.selectionBackground\\\":\\\"#094771\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#4bf3c8\\\",\\\"menu.separatorBackground\\\":\\\"#bbbbbb\\\",\\\"menubar.selectionBackground\\\":\\\"#ffffff1a\\\",\\\"menubar.selectionForeground\\\":\\\"#cccccc\\\",\\\"merge.commonContentBackground\\\":\\\"#282828\\\",\\\"merge.commonHeaderBackground\\\":\\\"#383838\\\",\\\"merge.currentContentBackground\\\":\\\"#27403b\\\",\\\"merge.currentHeaderBackground\\\":\\\"#367366\\\",\\\"merge.incomingContentBackground\\\":\\\"#28384b\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#395f8f\\\",\\\"minimap.background\\\":\\\"#17191e\\\",\\\"minimap.errorHighlight\\\":\\\"#dc3657\\\",\\\"minimap.findMatchHighlight\\\":\\\"#515c6a\\\",\\\"minimap.selectionHighlight\\\":\\\"#3757b942\\\",\\\"minimap.warningHighlight\\\":\\\"#fbc23b\\\",\\\"minimapGutter.addedBackground\\\":\\\"#4bf3c8\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f06788\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#54b9ff\\\",\\\"notificationCenter.border\\\":\\\"#ffffff00\\\",\\\"notificationCenterHeader.background\\\":\\\"#343841\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#17191e\\\",\\\"notificationToast.border\\\":\\\"#ffffff00\\\",\\\"notifications.background\\\":\\\"#343841\\\",\\\"notifications.border\\\":\\\"#bfc1c9\\\",\\\"notifications.foreground\\\":\\\"#ffffff\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f4587e\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#54b9ff\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ff8551\\\",\\\"panel.background\\\":\\\"#23262d\\\",\\\"panel.border\\\":\\\"#17191e\\\",\\\"panelSection.border\\\":\\\"#17191e\\\",\\\"panelTitle.activeBorder\\\":\\\"#e7e7e7\\\",\\\"panelTitle.activeForeground\\\":\\\"#eef0f9\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#bfc1c9\\\",\\\"peekView.border\\\":\\\"#007acc\\\",\\\"peekViewEditor.background\\\":\\\"#001f33\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ff8f0099\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#ee931e\\\",\\\"peekViewEditorGutter.background\\\":\\\"#001f33\\\",\\\"peekViewResult.background\\\":\\\"#252526\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ffffff\\\",\\\"peekViewResult.lineForeground\\\":\\\"#bbbbbb\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#f00\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#3399ff33\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ffffff\\\",\\\"peekViewTitle.background\\\":\\\"#1e1e1e\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#ccccccb3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ffffff\\\",\\\"pickerGroup.border\\\":\\\"#ffffff00\\\",\\\"pickerGroup.foreground\\\":\\\"#eef0f9\\\",\\\"progressBar.background\\\":\\\"#4bf3c8\\\",\\\"scrollbar.shadow\\\":\\\"#000000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#54b9ff66\\\",\\\"scrollbarSlider.background\\\":\\\"#54586466\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#545864B3\\\",\\\"selection.background\\\":\\\"#00daef56\\\",\\\"settings.focusedRowBackground\\\":\\\"#ffffff07\\\",\\\"settings.headerForeground\\\":\\\"#cccccc\\\",\\\"sideBar.background\\\":\\\"#23262d\\\",\\\"sideBar.border\\\":\\\"#17191e\\\",\\\"sideBar.dropBackground\\\":\\\"#17191e\\\",\\\"sideBar.foreground\\\":\\\"#bfc1c9\\\",\\\"sideBarSectionHeader.background\\\":\\\"#343841\\\",\\\"sideBarSectionHeader.border\\\":\\\"#17191e\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#eef0f9\\\",\\\"sideBarTitle.foreground\\\":\\\"#eef0f9\\\",\\\"statusBar.background\\\":\\\"#17548b\\\",\\\"statusBar.debuggingBackground\\\":\\\"#cc75f4\\\",\\\"statusBar.debuggingForeground\\\":\\\"#eef0f9\\\",\\\"statusBar.foreground\\\":\\\"#eef0f9\\\",\\\"statusBar.noFolderBackground\\\":\\\"#6c3c7d\\\",\\\"statusBar.noFolderForeground\\\":\\\"#eef0f9\\\",\\\"statusBarItem.activeBackground\\\":\\\"#ffffff25\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#ffffff1f\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#297763\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#eef0f9\\\",\\\"tab.activeBackground\\\":\\\"#17191e\\\",\\\"tab.activeBorder\\\":\\\"#ffffff00\\\",\\\"tab.activeBorderTop\\\":\\\"#eef0f9\\\",\\\"tab.activeForeground\\\":\\\"#eef0f9\\\",\\\"tab.border\\\":\\\"#17191e\\\",\\\"tab.hoverBackground\\\":\\\"#343841\\\",\\\"tab.hoverForeground\\\":\\\"#eef0f9\\\",\\\"tab.inactiveBackground\\\":\\\"#23262d\\\",\\\"tab.inactiveForeground\\\":\\\"#858b98\\\",\\\"terminal.ansiBlack\\\":\\\"#17191e\\\",\\\"terminal.ansiBlue\\\":\\\"#2b7eca\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#545864\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#54b9ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#00daef\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#4bf3c8\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#cc75f4\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f4587e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fafafa\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffd493\\\",\\\"terminal.ansiCyan\\\":\\\"#24c0cf\\\",\\\"terminal.ansiGreen\\\":\\\"#23d18b\\\",\\\"terminal.ansiMagenta\\\":\\\"#ad5dca\\\",\\\"terminal.ansiRed\\\":\\\"#dc3657\\\",\\\"terminal.ansiWhite\\\":\\\"#eef0f9\\\",\\\"terminal.ansiYellow\\\":\\\"#ffc368\\\",\\\"terminal.border\\\":\\\"#80808059\\\",\\\"terminal.foreground\\\":\\\"#cccccc\\\",\\\"terminal.selectionBackground\\\":\\\"#ffffff40\\\",\\\"terminalCursor.background\\\":\\\"#0087ff\\\",\\\"terminalCursor.foreground\\\":\\\"#ffffff\\\",\\\"textLink.foreground\\\":\\\"#54b9ff\\\",\\\"titleBar.activeBackground\\\":\\\"#17191e\\\",\\\"titleBar.activeForeground\\\":\\\"#cccccc\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#3c3c3c99\\\",\\\"titleBar.inactiveForeground\\\":\\\"#cccccc99\\\",\\\"tree.indentGuidesStroke\\\":\\\"#545864\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#00000050\\\",\\\"widget.shadow\\\":\\\"#ffffff00\\\"},\\\"displayName\\\":\\\"Houston\\\",\\\"name\\\":\\\"houston\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"enumMember\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"},\\\"variable.constant\\\":{\\\"foreground\\\":\\\"#ffd493\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"variable.other.generic-type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.variable.magic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.special.self.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"storage.modifier.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.function.std.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"entity.name.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"variable.language.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.constant.edge\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin,punctuation.definition.string.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"comment markup.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#545864\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"meta.function.c,meta.function.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.import\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"support.constant.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"support.constant.property.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"variable.other.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation.java\\\",\\\"storage.type.object.array.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"source.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"meta.method.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java,storage.type.java,storage.type.generic.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"keyword.operator.instanceof.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"meta.definition.variable.name.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.bitwise\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.channel\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.property-value.scss,support.constant.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"keyword.operator.css,keyword.operator.scss,keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.module.node,support.type.object.module,support.module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"entity.name.type.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.constant.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.instanceof\\\",\\\"keyword.operator.new\\\",\\\"keyword.operator.ternary\\\",\\\"keyword.operator.optional\\\",\\\"keyword.operator.expression.keyof\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.type.object.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.variable.property.process\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.name.function,support.function.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"keyword.operator.misc.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.sigil.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.delete\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.type.object.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.variable.dom,support.variable.property.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"punctuation.separator.delimiter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.separator.c,punctuation.separator.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.type.posix-reserved.c,support.type.posix-reserved.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.type.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"variable.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"token.variable.parameter.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"import.storage.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"token.package.keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"token.package\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.require\\\",\\\"support.function.any-method\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"support.class, entity.name.type.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"entity.name.class.identifier.namespace.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"variable.other.class.js\\\",\\\"variable.other.class.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"variable.other.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"control.elements, keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"token.storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"token.storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.font-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"meta.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"source.astro.meta.attribute.client:idle.html\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"string.quoted.double.html,string.quoted.single.html,string.template.html,punctuation.definition.string.begin.html,punctuation.definition.string.end.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.heading punctuation.definition.heading, entity.name.section\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.bold,todo.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"markup.italic, punctuation.definition.italic,todo.emphasis\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"emphasis md\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"entity.name.section.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.metadata.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.underline.link.markdown,markup.underline.link.image.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown,string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded.begin,punctuation.section.embedded.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.illegal.bad-ampersand.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cc75f4\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"keyword.operator.error-control.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.begin.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.end.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"invalid.illegal.non-null-typehinted.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.name.goto-label.php,support.other.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.regexp.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.comparison.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.heredoc.php,keyword.operator.nowdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"meta.function.decorator.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"support.token.decorator.python,meta.function.decorator.identifier.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"function.parameter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"function.brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"function.parameter.ruby, function.parameter.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"inline-color-decoration rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"less rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"selector.sass\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"block.scope.end,block.scope.begin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"storage.type.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"entity.name.variable.local.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"keyword.operator.module\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"support.type.type.flowtype\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"meta.property.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"keyword.operator.arithmetic.go\\\",\\\"keyword.operator.address.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"entity.name.package.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"support.type.prelude.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"support.constant.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"punctuation.quasi.element\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"constant.character.entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"entity.global.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"meta.symbol.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"constant.keyword.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"meta.arguments.coffee\\\",\\\"variable.parameter.function.coffee\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"source.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"meta.scope.prerequisites.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"source.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"meta.method.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable.name.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"meta.definition.class.inherited.classes.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"support.variable.semantic.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"support.type.texture.hlsl\\\",\\\"support.type.sampler.hlsl\\\",\\\"support.type.object.hlsl\\\",\\\"support.type.object.rw.hlsl\\\",\\\"support.type.fx.hlsl\\\",\\\"support.type.object.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"text.variable\\\",\\\"text.bracketed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"support.type.swift\\\",\\\"support.type.vb.asp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.function.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.class.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"constant.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"keyword.control.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"invalid.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.quote.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f98f\\\"}},{\\\"scope\\\":[\\\"constant.character.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"accent.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"wikiword.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"constant.other.color.rgb-value.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545864\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"entity.name.scope-resolution.function.call\\\",\\\"entity.name.scope-resolution.function.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.setext.2.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\" meta.brace.square\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eef0f98f\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f98f\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"constant.language.symbol.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"comment.line.double-slash,comment.block.documentation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"keyword.control.import.python,keyword.control.flow.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "houston" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,oilCAA8gsC,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DouSy6O5.js b/src/webview-ui/build/assets/chunk-DouSy6O5.js new file mode 100644 index 0000000000..0286a8e8f2 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DouSy6O5.js @@ -0,0 +1,27 @@ +import e from "./chunk-CXhxxCfG.js" +import n from "./chunk-3mfGJbgy.js" +import "./chunk-BMMyXqK5.js" +import "./chunk-DPfMkruS.js" +import "./chunk-Cne5dW8M.js" +import "./chunk-B_vNuMnf.js" +import "./chunk-CylS5w8V.js" +import "./chunk-B9xm8XSJ.js" +import "./chunk-C-HMFfM3.js" +import "./chunk-DlfHMoPT.js" +import "./chunk-g9-lgVsj.js" +import "./chunk-COt5Ahok.js" +import "./chunk-CzjqYRUi.js" +import "./chunk-CDVJQ6XC.js" +import "./chunk-DXETW7eA.js" +import "./chunk-BIGW1oBm.js" +import "./chunk-Yzrsuije.js" +import "./chunk-Colysff4.js" +import "./chunk-Buea-lGh.js" +const t = Object.freeze( + JSON.parse( + '{"displayName":"ERB","fileTypes":["erb","rhtml","html.erb"],"injections":{"text.html.erb - (meta.embedded.block.erb | meta.embedded.line.erb | comment)":{"patterns":[{"begin":"^(\\\\s*)(?=<%+#(?![^%]*%>))","beginCaptures":{"0":{"name":"punctuation.whitespace.comment.leading.erb"}},"end":"(?!\\\\G)(\\\\s*$\\\\n)?","endCaptures":{"0":{"name":"punctuation.whitespace.comment.trailing.erb"}},"patterns":[{"include":"#comment"}]},{"begin":"^(\\\\s*)(?=<%(?![^%]*%>))","beginCaptures":{"0":{"name":"punctuation.whitespace.embedded.leading.erb"}},"end":"(?!\\\\G)(\\\\s*$\\\\n)?","endCaptures":{"0":{"name":"punctuation.whitespace.embedded.trailing.erb"}},"patterns":[{"include":"#tags"}]},{"include":"#comment"},{"include":"#tags"}]}},"name":"erb","patterns":[{"include":"text.html.basic"}],"repository":{"comment":{"patterns":[{"begin":"<%+#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.erb"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.definition.comment.end.erb"}},"name":"comment.block.erb"}]},"tags":{"patterns":[{"begin":"<%+(?!>)[-=]?(?![^%]*%>)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.erb"}},"contentName":"source.ruby","end":"(-?%)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.erb"},"1":{"name":"source.ruby"}},"name":"meta.embedded.block.erb","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.erb"}},"match":"(#).*?(?=-?%>)","name":"comment.line.number-sign.erb"},{"include":"source.ruby"}]},{"begin":"<%+(?!>)[-=]?","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.erb"}},"contentName":"source.ruby","end":"(-?%)>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.erb"},"1":{"name":"source.ruby"}},"name":"meta.embedded.line.erb","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.erb"}},"match":"(#).*?(?=-?%>)","name":"comment.line.number-sign.erb"},{"include":"source.ruby"}]}]}},"scopeName":"text.html.erb","embeddedLangs":["html","ruby"]}', + ), + ), + x = [...e, ...n, t] +export { x as default } +//# sourceMappingURL=chunk-DouSy6O5.js.map diff --git a/src/webview-ui/build/assets/chunk-DouSy6O5.js.map b/src/webview-ui/build/assets/chunk-DouSy6O5.js.map new file mode 100644 index 0000000000..fe6477f3c1 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DouSy6O5.js.map @@ -0,0 +1,21 @@ +{ + "version": 3, + "file": "chunk-DouSy6O5.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/erb.mjs" + ], + "sourcesContent": [ + "import html from './html.mjs'\nimport ruby from './ruby.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"ERB\\\",\\\"fileTypes\\\":[\\\"erb\\\",\\\"rhtml\\\",\\\"html.erb\\\"],\\\"injections\\\":{\\\"text.html.erb - (meta.embedded.block.erb | meta.embedded.line.erb | comment)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=<%+#(?![^%]*%>))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.erb\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.trailing.erb\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=<%(?![^%]*%>))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.erb\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.erb\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#tags\\\"}]}},\\\"name\\\":\\\"erb\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"repository\\\":{\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<%+#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.erb\\\"}},\\\"end\\\":\\\"%>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.erb\\\"}},\\\"name\\\":\\\"comment.block.erb\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<%+(?!>)[-=]?(?![^%]*%>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.erb\\\"}},\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"(-?%)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.erb\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.ruby\\\"}},\\\"name\\\":\\\"meta.embedded.block.erb\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.erb\\\"}},\\\"match\\\":\\\"(#).*?(?=-?%>)\\\",\\\"name\\\":\\\"comment.line.number-sign.erb\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"<%+(?!>)[-=]?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.erb\\\"}},\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"(-?%)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.erb\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.ruby\\\"}},\\\"name\\\":\\\"meta.embedded.line.erb\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.erb\\\"}},\\\"match\\\":\\\"(#).*?(?=-?%>)\\\",\\\"name\\\":\\\"comment.line.number-sign.erb\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]}]}},\\\"scopeName\\\":\\\"text.html.erb\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"ruby\\\"]}\"))\n\nexport default [\n...html,\n...ruby,\nlang\n]\n" + ], + "names": [ + "lang", + "erb", + "html", + "ruby" + ], + "mappings": "kiBAGA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,w8DAAgtE,CAAC,EAExuEC,EAAA,CACf,GAAGC,EACH,GAAGC,EACHH,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DpOm0zC4.js b/src/webview-ui/build/assets/chunk-DpOm0zC4.js new file mode 100644 index 0000000000..fb7592351f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DpOm0zC4.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Erlang","fileTypes":["erl","escript","hrl","xrl","yrl"],"name":"erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"begin":"(')","beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"end":"(')","endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}},"name":"constant.other.symbol.quoted.single.erlang","patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.other.symbol.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.atom.erlang"}]},{"match":"[a-z][@-Z_a-z\\\\d]*+","name":"constant.other.symbol.unquoted.erlang"}]},"behaviour-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.behaviour.erlang"},"binary":{"begin":"(<<)","beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"end":"(>>)","endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}},"name":"meta.structure.binary.erlang","patterns":[{"captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}},"match":"(,)|(:)"},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}]},"character":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\$)((\\\\\\\\)([\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2}))","name":"constant.character.erlang"},{"match":"\\\\$\\\\\\\\\\\\^?.?","name":"invalid.illegal.character.erlang"},{"captures":{"1":{"name":"punctuation.definition.character.erlang"}},"match":"(\\\\$)[ \\\\S]","name":"constant.character.erlang"},{"match":"\\\\$.?","name":"invalid.illegal.character.erlang"}]},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}},"end":"(?!\\\\G)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}},"end":"\\\\n","name":"comment.line.percentage.erlang"}]},"define-directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"include":"#everything-else"}]},{"begin":"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[@-Z_a-z\\\\d]++\\\\s*+\\\\()","end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.define.erlang","patterns":[{"begin":"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([@-Z_a-z\\\\d]++)\\\\s*+(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))\\\\s*(,)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"\\\\|\\\\||[,.:;|]|->","name":"punctuation.separator.define.erlang"},{"include":"#everything-else"}]}]},"directive":{"patterns":[{"begin":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\(?)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\)?)\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.erlang","patterns":[{"include":"#everything-else"}]},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\.)","name":"meta.directive.erlang"}]},"doc-directive":{"begin":"^\\\\s*+(-)\\\\s*+((module)?doc)\\\\s*(\\\\(\\\\s*)?(~[BSbs]?)?((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\7))\\\\s*(\\\\)\\\\s*)?(\\\\.)","endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}},"name":"meta.directive.doc.erlang","patterns":[{"begin":"\\\\G","contentName":"comment.block.documentation.erlang","while":"^()(?!\\\\s*(\\\\5))"}]},"docstring":{"begin":"(?)|(;)|(,)"},"internal-function-list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.function.erlang","patterns":[{"begin":"([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(/)","beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"end":"(,)|(?=])","endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-function-parts":{"patterns":[{"begin":"(?=\\\\()","end":"(->)","endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}},"patterns":[{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}},"patterns":[{"match":",","name":"punctuation.separator.parameters.erlang"},{"include":"#everything-else"}]},{"match":"[,;]","name":"punctuation.separator.guards.erlang"},{"include":"#everything-else"}]},{"match":",","name":"punctuation.separator.expressions.erlang"},{"include":"#everything-else"}]},"internal-record-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}},"name":"meta.structure.record.erlang","patterns":[{"begin":"(([a-z][@-Z_a-z\\\\d]*+|'[^']*+')|(_))","beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}},"patterns":[{"include":"#everything-else"}]},{"include":"#everything-else"}]},"internal-string-body":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}},"match":"(\\\\\\\\)([\\"'\\\\\\\\bdefnrstv]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\d]{2})","name":"constant.character.escape.erlang"},{"match":"\\\\\\\\\\\\^?.?","name":"invalid.illegal.string.erlang"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"}},"match":"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]","name":"constant.character.format.placeholder.other.erlang"},{"captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}},"match":"(~)(\\\\*)?(\\\\d++)?(t)?[-#acdflsu~]","name":"constant.character.format.placeholder.other.erlang"},{"match":"~[^\\"]?","name":"invalid.illegal.string.erlang"}]},"internal-type-specifiers":{"begin":"(/)","beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}},"end":"(?=[,:]|>>)","patterns":[{"captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}},"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\d++)|(-)"}]},"keyword":{"match":"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b","name":"keyword.control.erlang"},"language-constant":{"match":"\\\\b(false|true|undefined)\\\\b","name":"constant.language"},"list":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}},"name":"meta.structure.list.erlang","patterns":[{"match":"\\\\|\\\\|??|,","name":"punctuation.separator.list.erlang"},{"include":"#everything-else"}]},"macro-directive":{"patterns":[{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifdef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.ifndef.erlang"},{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([@-z\\\\d]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.undef.erlang"}]},"macro-usage":{"captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}},"match":"(\\\\?\\\\??)\\\\s*+([@-Z_a-z\\\\d]++)","name":"meta.macro-usage.erlang"},"module-directive":{"captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}},"match":"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)","name":"meta.directive.module.erlang"},"number":{"begin":"(?=\\\\d)","end":"(?!\\\\d)","patterns":[{"captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}},"match":"\\\\d++(\\\\.)\\\\d++([Ee][-+]?\\\\d++)?","name":"constant.numeric.float.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"2(#)([01]++_)*[01]++","name":"constant.numeric.integer.binary.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"3(#)([012]++_)*[012]++","name":"constant.numeric.integer.base-3.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"4(#)([0-3]++_)*[0-3]++","name":"constant.numeric.integer.base-4.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"5(#)([0-4]++_)*[0-4]++","name":"constant.numeric.integer.base-5.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"6(#)([0-5]++_)*[0-5]++","name":"constant.numeric.integer.base-6.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"7(#)([0-6]++_)*[0-6]++","name":"constant.numeric.integer.base-7.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"8(#)([0-7]++_)*[0-7]++","name":"constant.numeric.integer.octal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"9(#)([0-8]++_)*[0-8]++","name":"constant.numeric.integer.base-9.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"10(#)(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"11(#)([Aa\\\\d]++_)*[Aa\\\\d]++","name":"constant.numeric.integer.base-11.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"12(#)([ABab\\\\d]++_)*[ABab\\\\d]++","name":"constant.numeric.integer.base-12.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"13(#)([ABCabc\\\\d]++_)*[ABCabc\\\\d]++","name":"constant.numeric.integer.base-13.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"14(#)([A-Da-d\\\\d]++_)*[A-Da-d\\\\d]++","name":"constant.numeric.integer.base-14.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"15(#)([A-Ea-e\\\\d]++_)*[A-Ea-e\\\\d]++","name":"constant.numeric.integer.base-15.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"16(#)([A-Fa-f\\\\d]++_)*[A-Fa-f\\\\d]++","name":"constant.numeric.integer.hexadecimal.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"17(#)([A-Ga-g\\\\d]++_)*[A-Ga-g\\\\d]++","name":"constant.numeric.integer.base-17.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"18(#)([A-Ha-h\\\\d]++_)*[A-Ha-h\\\\d]++","name":"constant.numeric.integer.base-18.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"19(#)([A-Ia-i\\\\d]++_)*[A-Ia-i\\\\d]++","name":"constant.numeric.integer.base-19.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"20(#)([A-Ja-j\\\\d]++_)*[A-Ja-j\\\\d]++","name":"constant.numeric.integer.base-20.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"21(#)([A-Ka-k\\\\d]++_)*[A-Ka-k\\\\d]++","name":"constant.numeric.integer.base-21.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"22(#)([A-La-l\\\\d]++_)*[A-La-l\\\\d]++","name":"constant.numeric.integer.base-22.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"23(#)([A-Ma-m\\\\d]++_)*[A-Ma-m\\\\d]++","name":"constant.numeric.integer.base-23.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"24(#)([A-Na-n\\\\d]++_)*[A-Na-n\\\\d]++","name":"constant.numeric.integer.base-24.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"25(#)([A-Oa-o\\\\d]++_)*[A-Oa-o\\\\d]++","name":"constant.numeric.integer.base-25.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"26(#)([A-Pa-p\\\\d]++_)*[A-Pa-p\\\\d]++","name":"constant.numeric.integer.base-26.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"27(#)([A-Qa-q\\\\d]++_)*[A-Qa-q\\\\d]++","name":"constant.numeric.integer.base-27.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"28(#)([A-Ra-r\\\\d]++_)*[A-Ra-r\\\\d]++","name":"constant.numeric.integer.base-28.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"29(#)([A-Sa-s\\\\d]++_)*[A-Sa-s\\\\d]++","name":"constant.numeric.integer.base-29.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"30(#)([A-Ta-t\\\\d]++_)*[A-Ta-t\\\\d]++","name":"constant.numeric.integer.base-30.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"31(#)([A-Ua-u\\\\d]++_)*[A-Ua-u\\\\d]++","name":"constant.numeric.integer.base-31.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"32(#)([A-Va-v\\\\d]++_)*[A-Va-v\\\\d]++","name":"constant.numeric.integer.base-32.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"33(#)([A-Wa-w\\\\d]++_)*[A-Wa-w\\\\d]++","name":"constant.numeric.integer.base-33.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"34(#)([A-Xa-x\\\\d]++_)*[A-Xa-x\\\\d]++","name":"constant.numeric.integer.base-34.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"35(#)([A-Ya-y\\\\d]++_)*[A-Ya-y\\\\d]++","name":"constant.numeric.integer.base-35.erlang"},{"captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}},"match":"36(#)([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"constant.numeric.integer.base-36.erlang"},{"match":"\\\\d++#([A-Za-z\\\\d]++_)*[A-Za-z\\\\d]++","name":"invalid.illegal.integer.erlang"},{"match":"(\\\\d++_)*\\\\d++","name":"constant.numeric.integer.decimal.erlang"}]},"parenthesized-expression":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}},"name":"meta.expression.parenthesized","patterns":[{"include":"#everything-else"}]},"record-directive":{"begin":"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(,)","beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"end":"(\\\\))\\\\s*+(\\\\.)","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}},"name":"meta.directive.record.erlang","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}]},"record-usage":{"patterns":[{"captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}},"match":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')\\\\s*+(\\\\.)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')","name":"meta.record-usage.erlang"},{"begin":"(#)\\\\s*+([a-z][@-Z_a-z\\\\d]*+|'[^']*+')","beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"end":"(?<=})","name":"meta.record-usage.erlang","patterns":[{"include":"#internal-record-body"}]}]},"sigil-docstring":{"begin":"(~[bs])((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-docstring-verbatim":{"begin":"(~[BS]?)((\\"{3,})\\\\s*)(\\\\S.*)?$","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"end":"^(\\\\s*(\\\\3))(?!\\")","endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.tripple.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"begin":"(~[bs]?)(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-curly-brackets-verbatim":{"begin":"(~[BS])(\\\\{)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.curly-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-double-quote":{"begin":"(~[bs]?)(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-double-quote-verbatim":{"begin":"(~[BS])(\\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-less-greater":{"begin":"(~[bs]?)(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-less-greater-verbatim":{"begin":"(~[BS])(<)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.less-greater.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-parenthesis":{"begin":"(~[bs]?)(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-parenthesis-verbatim":{"begin":"(~[BS])(\\\\()","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.parenthesis.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-character":{"begin":"(~[bs]?)([#/\`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-character-verbatim":{"begin":"(~[BS])([#/\`|])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.other.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-single-quote":{"begin":"(~[bs]?)(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-single-quote-verbatim":{"begin":"(~[BS])(')","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.single.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"sigil-string-square-brackets":{"begin":"(~[bs]?)(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body"}]},"sigil-string-square-brackets-verbatim":{"begin":"(~[BS])(\\\\[)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.square-brackets.sigil.erlang","patterns":[{"include":"#internal-string-body-verbatim"}]},"string":{"begin":"(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"end":"(\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}},"name":"string.quoted.double.erlang","patterns":[{"include":"#internal-string-body"}]},"symbolic-operator":{"match":"\\\\+\\\\+?|--|[-*]|/=?|=/=|=:=|==|==|[!>]|::|\\\\?=","name":"keyword.operator.symbolic.erlang"},"textual-operator":{"match":"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b","name":"keyword.operator.textual.erlang"},"tuple":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}},"name":"meta.structure.tuple.erlang","patterns":[{"match":",","name":"punctuation.separator.tuple.erlang"},{"include":"#everything-else"}]},"variable":{"captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}},"match":"(_[@-Z_a-z\\\\d]++|[A-Z][@-Z_a-z\\\\d]*+)|(_)"}},"scopeName":"source.erlang","aliases":["erl"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-DpOm0zC4.js.map diff --git a/src/webview-ui/build/assets/chunk-DpOm0zC4.js.map b/src/webview-ui/build/assets/chunk-DpOm0zC4.js.map new file mode 100644 index 0000000000..747a92a674 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DpOm0zC4.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DpOm0zC4.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/erlang.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Erlang\\\",\\\"fileTypes\\\":[\\\"erl\\\",\\\"escript\\\",\\\"hrl\\\",\\\"xrl\\\",\\\"yrl\\\"],\\\"name\\\":\\\"erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-directive\\\"},{\\\"include\\\":\\\"#import-export-directive\\\"},{\\\"include\\\":\\\"#behaviour-directive\\\"},{\\\"include\\\":\\\"#record-directive\\\"},{\\\"include\\\":\\\"#define-directive\\\"},{\\\"include\\\":\\\"#macro-directive\\\"},{\\\"include\\\":\\\"#doc-directive\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#everything-else\\\"}],\\\"repository\\\":{\\\"atom\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.begin.erlang\\\"}},\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.symbol.end.erlang\\\"}},\\\"name\\\":\\\"constant.other.symbol.quoted.single.erlang\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.escape.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.escape.erlang\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)([\\\\\\\"'\\\\\\\\\\\\\\\\bdefnrstv]|(\\\\\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\\\\\d]{2})\\\",\\\"name\\\":\\\"constant.other.symbol.escape.erlang\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\^?.?\\\",\\\"name\\\":\\\"invalid.illegal.atom.erlang\\\"}]},{\\\"match\\\":\\\"[a-z][@-Z_a-z\\\\\\\\d]*+\\\",\\\"name\\\":\\\"constant.other.symbol.unquoted.erlang\\\"}]},\\\"behaviour-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.behaviour.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.behaviour.definition.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(behaviour)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+)\\\\\\\\s*+(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.directive.behaviour.erlang\\\"},\\\"binary\\\":{\\\"begin\\\":\\\"(<<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.binary.begin.erlang\\\"}},\\\"end\\\":\\\"(>>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.binary.end.erlang\\\"}},\\\"name\\\":\\\"meta.structure.binary.erlang\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.binary.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.value-size.erlang\\\"}},\\\"match\\\":\\\"(,)|(:)\\\"},{\\\"include\\\":\\\"#internal-type-specifiers\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"character\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.escape.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.escape.erlang\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((\\\\\\\\\\\\\\\\)([\\\\\\\"'\\\\\\\\\\\\\\\\bdefnrstv]|(\\\\\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\\\\\d]{2}))\\\",\\\"name\\\":\\\"constant.character.erlang\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\\\\\\\\\\\\\\\\\^?.?\\\",\\\"name\\\":\\\"invalid.illegal.character.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character.erlang\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)[ \\\\\\\\S]\\\",\\\"name\\\":\\\"constant.character.erlang\\\"},{\\\"match\\\":\\\"\\\\\\\\$.?\\\",\\\"name\\\":\\\"invalid.illegal.character.erlang\\\"}]},\\\"comment\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=%)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.erlang\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.erlang\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.percentage.erlang\\\"}]},\\\"define-directive\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(define)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([@-Z_a-z\\\\\\\\d]++)\\\\\\\\s*+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.define.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.macro.definition.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"name\\\":\\\"meta.directive.define.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"begin\\\":\\\"(?=^\\\\\\\\s*+-\\\\\\\\s*+define\\\\\\\\s*+\\\\\\\\(\\\\\\\\s*+[@-Z_a-z\\\\\\\\d]++\\\\\\\\s*+\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"name\\\":\\\"meta.directive.define.erlang\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(define)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([@-Z_a-z\\\\\\\\d]++)\\\\\\\\s*+(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.define.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.macro.definition.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*(,)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.erlang\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\||[,.:;|]|->\\\",\\\"name\\\":\\\"punctuation.separator.define.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]}]},\\\"directive\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+)\\\\\\\\s*+(\\\\\\\\(?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\)?)\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"name\\\":\\\"meta.directive.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+)\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.directive.erlang\\\"}]},\\\"doc-directive\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+((module)?doc)\\\\\\\\s*(\\\\\\\\(\\\\\\\\s*)?(~[BSbs]?)?((\\\\\\\"{3,})\\\\\\\\s*)(\\\\\\\\S.*)?$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.doc.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.documentation.erlang\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"},\\\"8\\\":{\\\"name\\\":\\\"invalid.illegal.string.erlang\\\"}},\\\"end\\\":\\\"^(\\\\\\\\s*(\\\\\\\\7))\\\\\\\\s*(\\\\\\\\)\\\\\\\\s*)?(\\\\\\\\.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.documentation.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.Erlang\\\"}},\\\"name\\\":\\\"meta.directive.doc.erlang\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"comment.block.documentation.erlang\\\",\\\"while\\\":\\\"^()(?!\\\\\\\\s*(\\\\\\\\5))\\\"}]},\\\"docstring\\\":{\\\"begin\\\":\\\"(?)|(;)|(,)\\\"},\\\"internal-function-list\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.erlang\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.list.end.erlang\\\"}},\\\"name\\\":\\\"meta.structure.list.function.erlang\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([a-z][@-Z_a-z\\\\\\\\d]*+|'[^']*+')\\\\\\\\s*+(/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.function-arity.erlang\\\"}},\\\"end\\\":\\\"(,)|(?=])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.list.erlang\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"internal-function-parts\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\()\\\",\\\"end\\\":\\\"(->)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.clause-head-body.erlang\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"match\\\":\\\"[,;]\\\",\\\"name\\\":\\\"punctuation.separator.guards.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.expressions.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"internal-record-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.class.record.begin.erlang\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.class.record.end.erlang\\\"}},\\\"name\\\":\\\"meta.structure.record.erlang\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(([a-z][@-Z_a-z\\\\\\\\d]*+|'[^']*+')|(_))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"variable.other.field.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.language.omitted.field.erlang\\\"}},\\\"end\\\":\\\"(,)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.class.record.erlang\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#everything-else\\\"}]},{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"internal-string-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.escape.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.escape.erlang\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)([\\\\\\\"'\\\\\\\\\\\\\\\\bdefnrstv]|(\\\\\\\\^)[@-_a-z]|[0-7]{1,3}|x[A-Fa-f\\\\\\\\d]{2})\\\",\\\"name\\\":\\\"constant.character.escape.erlang\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\^?.?\\\",\\\"name\\\":\\\"invalid.illegal.string.erlang\\\"},{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"internal-string-body-verbatim\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.placeholder.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.placeholder-parts.erlang\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.separator.placeholder-parts.erlang\\\"}},\\\"match\\\":\\\"(~)((-)?\\\\\\\\d++|(\\\\\\\\*))?((\\\\\\\\.)(\\\\\\\\d++|(\\\\\\\\*))?((\\\\\\\\.)((\\\\\\\\*)|.))?)?[Kklt]*[#+BPWXbcefginpswx~]\\\",\\\"name\\\":\\\"constant.character.format.placeholder.other.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.placeholder.erlang\\\"}},\\\"match\\\":\\\"(~)(\\\\\\\\*)?(\\\\\\\\d++)?(t)?[-#acdflsu~]\\\",\\\"name\\\":\\\"constant.character.format.placeholder.other.erlang\\\"},{\\\"match\\\":\\\"~[^\\\\\\\"]?\\\",\\\"name\\\":\\\"invalid.illegal.string.erlang\\\"}]},\\\"internal-type-specifiers\\\":{\\\"begin\\\":\\\"(/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.value-type.erlang\\\"}},\\\"end\\\":\\\"(?=[,:]|>>)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.signedness.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.endianness.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.unit.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.unit-specifiers.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.erlang\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.type-specifiers.erlang\\\"}},\\\"match\\\":\\\"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|((?:|un)signed)|(big|little|native)|(unit)(:)(\\\\\\\\d++)|(-)\\\"}]},\\\"keyword\\\":{\\\"match\\\":\\\"\\\\\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.erlang\\\"},\\\"language-constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(false|true|undefined)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language\\\"},\\\"list\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.erlang\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.list.end.erlang\\\"}},\\\"name\\\":\\\"meta.structure.list.erlang\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\|??|,\\\",\\\"name\\\":\\\"punctuation.separator.list.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"macro-directive\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.ifdef.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.macro.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(ifdef)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([@-z\\\\\\\\d]++)\\\\\\\\s*+(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.directive.ifdef.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.ifndef.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.macro.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(ifndef)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([@-z\\\\\\\\d]++)\\\\\\\\s*+(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.directive.ifndef.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.undef.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.macro.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(undef)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([@-z\\\\\\\\d]++)\\\\\\\\s*+(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.directive.undef.erlang\\\"}]},\\\"macro-usage\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.macro.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.macro.erlang\\\"}},\\\"match\\\":\\\"(\\\\\\\\?\\\\\\\\??)\\\\\\\\s*+([@-Z_a-z\\\\\\\\d]++)\\\",\\\"name\\\":\\\"meta.macro-usage.erlang\\\"},\\\"module-directive\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.module.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.module.definition.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(module)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+)\\\\\\\\s*+(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.directive.module.erlang\\\"},\\\"number\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\d)\\\",\\\"end\\\":\\\"(?!\\\\\\\\d)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.integer-float.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.float-exponent.erlang\\\"}},\\\"match\\\":\\\"\\\\\\\\d++(\\\\\\\\.)\\\\\\\\d++([Ee][-+]?\\\\\\\\d++)?\\\",\\\"name\\\":\\\"constant.numeric.float.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"2(#)([01]++_)*[01]++\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"3(#)([012]++_)*[012]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-3.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"4(#)([0-3]++_)*[0-3]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-4.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"5(#)([0-4]++_)*[0-4]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-5.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"6(#)([0-5]++_)*[0-5]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-6.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"7(#)([0-6]++_)*[0-6]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-7.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"8(#)([0-7]++_)*[0-7]++\\\",\\\"name\\\":\\\"constant.numeric.integer.octal.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"9(#)([0-8]++_)*[0-8]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-9.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"10(#)(\\\\\\\\d++_)*\\\\\\\\d++\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"11(#)([Aa\\\\\\\\d]++_)*[Aa\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-11.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"12(#)([ABab\\\\\\\\d]++_)*[ABab\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-12.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"13(#)([ABCabc\\\\\\\\d]++_)*[ABCabc\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-13.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"14(#)([A-Da-d\\\\\\\\d]++_)*[A-Da-d\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-14.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"15(#)([A-Ea-e\\\\\\\\d]++_)*[A-Ea-e\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-15.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"16(#)([A-Fa-f\\\\\\\\d]++_)*[A-Fa-f\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"17(#)([A-Ga-g\\\\\\\\d]++_)*[A-Ga-g\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-17.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"18(#)([A-Ha-h\\\\\\\\d]++_)*[A-Ha-h\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-18.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"19(#)([A-Ia-i\\\\\\\\d]++_)*[A-Ia-i\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-19.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"20(#)([A-Ja-j\\\\\\\\d]++_)*[A-Ja-j\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-20.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"21(#)([A-Ka-k\\\\\\\\d]++_)*[A-Ka-k\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-21.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"22(#)([A-La-l\\\\\\\\d]++_)*[A-La-l\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-22.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"23(#)([A-Ma-m\\\\\\\\d]++_)*[A-Ma-m\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-23.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"24(#)([A-Na-n\\\\\\\\d]++_)*[A-Na-n\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-24.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"25(#)([A-Oa-o\\\\\\\\d]++_)*[A-Oa-o\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-25.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"26(#)([A-Pa-p\\\\\\\\d]++_)*[A-Pa-p\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-26.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"27(#)([A-Qa-q\\\\\\\\d]++_)*[A-Qa-q\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-27.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"28(#)([A-Ra-r\\\\\\\\d]++_)*[A-Ra-r\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-28.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"29(#)([A-Sa-s\\\\\\\\d]++_)*[A-Sa-s\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-29.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"30(#)([A-Ta-t\\\\\\\\d]++_)*[A-Ta-t\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-30.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"31(#)([A-Ua-u\\\\\\\\d]++_)*[A-Ua-u\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-31.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"32(#)([A-Va-v\\\\\\\\d]++_)*[A-Va-v\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-32.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"33(#)([A-Wa-w\\\\\\\\d]++_)*[A-Wa-w\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-33.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"34(#)([A-Xa-x\\\\\\\\d]++_)*[A-Xa-x\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-34.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"35(#)([A-Ya-y\\\\\\\\d]++_)*[A-Ya-y\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-35.erlang\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.base-integer.erlang\\\"}},\\\"match\\\":\\\"36(#)([A-Za-z\\\\\\\\d]++_)*[A-Za-z\\\\\\\\d]++\\\",\\\"name\\\":\\\"constant.numeric.integer.base-36.erlang\\\"},{\\\"match\\\":\\\"\\\\\\\\d++#([A-Za-z\\\\\\\\d]++_)*[A-Za-z\\\\\\\\d]++\\\",\\\"name\\\":\\\"invalid.illegal.integer.erlang\\\"},{\\\"match\\\":\\\"(\\\\\\\\d++_)*\\\\\\\\d++\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.erlang\\\"}]},\\\"parenthesized-expression\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.expression.end.erlang\\\"}},\\\"name\\\":\\\"meta.expression.parenthesized\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"record-directive\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*+(-)\\\\\\\\s*+(record)\\\\\\\\s*+(\\\\\\\\()\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+|'[^']*+')\\\\\\\\s*+(,)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.directive.begin.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.import.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.record.definition.erlang\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*+(\\\\\\\\.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.directive.end.erlang\\\"}},\\\"name\\\":\\\"meta.directive.record.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-record-body\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"record-usage\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.record.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.record.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.record-field.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.field.erlang\\\"}},\\\"match\\\":\\\"(#)\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+|'[^']*+')\\\\\\\\s*+(\\\\\\\\.)\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+|'[^']*+')\\\",\\\"name\\\":\\\"meta.record-usage.erlang\\\"},{\\\"begin\\\":\\\"(#)\\\\\\\\s*+([a-z][@-Z_a-z\\\\\\\\d]*+|'[^']*+')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.record.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.record.erlang\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.record-usage.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-record-body\\\"}]}]},\\\"sigil-docstring\\\":{\\\"begin\\\":\\\"(~[bs])((\\\\\\\"{3,})\\\\\\\\s*)(\\\\\\\\S.*)?$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.string.quoted.triple.begin.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.string.erlang\\\"}},\\\"end\\\":\\\"^(\\\\\\\\s*(\\\\\\\\3))(?!\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.string.quoted.triple.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.tripple.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-docstring-verbatim\\\":{\\\"begin\\\":\\\"(~[BS]?)((\\\\\\\"{3,})\\\\\\\\s*)(\\\\\\\\S.*)?$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.string.quoted.triple.begin.erlang\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.string.erlang\\\"}},\\\"end\\\":\\\"^(\\\\\\\\s*(\\\\\\\\3))(?!\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.string.quoted.triple.end.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.tripple.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#sigil-string-parenthesis\\\"},{\\\"include\\\":\\\"#sigil-string-parenthesis-verbatim\\\"},{\\\"include\\\":\\\"#sigil-string-curly-brackets\\\"},{\\\"include\\\":\\\"#sigil-string-curly-brackets-verbatim\\\"},{\\\"include\\\":\\\"#sigil-string-square-brackets\\\"},{\\\"include\\\":\\\"#sigil-string-square-brackets-verbatim\\\"},{\\\"include\\\":\\\"#sigil-string-less-greater\\\"},{\\\"include\\\":\\\"#sigil-string-less-greater-verbatim\\\"},{\\\"include\\\":\\\"#sigil-string-single-character\\\"},{\\\"include\\\":\\\"#sigil-string-single-character-verbatim\\\"},{\\\"include\\\":\\\"#sigil-string-single-quote\\\"},{\\\"include\\\":\\\"#sigil-string-single-quote-verbatim\\\"},{\\\"include\\\":\\\"#sigil-string-double-quote\\\"},{\\\"include\\\":\\\"#sigil-string-double-quote-verbatim\\\"}]},\\\"sigil-string-curly-brackets\\\":{\\\"begin\\\":\\\"(~[bs]?)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.curly-brackets.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-curly-brackets-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.curly-brackets.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string-double-quote\\\":{\\\"begin\\\":\\\"(~[bs]?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.double.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-double-quote-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.double.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string-less-greater\\\":{\\\"begin\\\":\\\"(~[bs]?)(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.less-greater.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-less-greater-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.less-greater.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string-parenthesis\\\":{\\\"begin\\\":\\\"(~[bs]?)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.parenthesis.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-parenthesis-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.parenthesis.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string-single-character\\\":{\\\"begin\\\":\\\"(~[bs]?)([#/`|])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-single-character-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])([#/`|])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.other.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string-single-quote\\\":{\\\"begin\\\":\\\"(~[bs]?)(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.single.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-single-quote-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.single.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"sigil-string-square-brackets\\\":{\\\"begin\\\":\\\"(~[bs]?)(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.square-brackets.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"sigil-string-square-brackets-verbatim\\\":{\\\"begin\\\":\\\"(~[BS])(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.square-brackets.sigil.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body-verbatim\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.erlang\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.erlang\\\"}},\\\"name\\\":\\\"string.quoted.double.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-string-body\\\"}]},\\\"symbolic-operator\\\":{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+?|--|[-*]|/=?|=/=|=:=|==|==|[!>]|::|\\\\\\\\?=\\\",\\\"name\\\":\\\"keyword.operator.symbolic.erlang\\\"},\\\"textual-operator\\\":{\\\"match\\\":\\\"\\\\\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.textual.erlang\\\"},\\\"tuple\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tuple.begin.erlang\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tuple.end.erlang\\\"}},\\\"name\\\":\\\"meta.structure.tuple.erlang\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.tuple.erlang\\\"},{\\\"include\\\":\\\"#everything-else\\\"}]},\\\"variable\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.erlang\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.omitted.erlang\\\"}},\\\"match\\\":\\\"(_[@-Z_a-z\\\\\\\\d]++|[A-Z][@-Z_a-z\\\\\\\\d]*+)|(_)\\\"}},\\\"scopeName\\\":\\\"source.erlang\\\",\\\"aliases\\\":[\\\"erl\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "erlang" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,s/oCAA46wC,CAAC,EAEp8wCC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Dpen1YoG.js b/src/webview-ui/build/assets/chunk-Dpen1YoG.js new file mode 100644 index 0000000000..ac6b5a6ca0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dpen1YoG.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"PowerShell","name":"powershell","patterns":[{"begin":"<#","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.powershell"}},"end":"#>","endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.powershell"}},"name":"comment.block.powershell","patterns":[{"include":"#commentEmbeddedDocs"}]},{"match":"[2-6]>&1|>>?|<<|[<>]|>\\\\||[1-6]>|[1-6]>>","name":"keyword.operator.redirection.powershell"},{"include":"#commands"},{"include":"#commentLine"},{"include":"#variable"},{"include":"#subexpression"},{"include":"#function"},{"include":"#attribute"},{"include":"#UsingDirective"},{"include":"#type"},{"include":"#hashtable"},{"include":"#doubleQuotedString"},{"include":"#scriptblock"},{"include":"#doubleQuotedStringEscapes"},{"applyEndPatternLast":true,"begin":"[\'‘-‛]","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.powershell"}},"end":"[\'‘-‛]","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.powershell","patterns":[{"match":"[\'‘-‛]{2}","name":"constant.character.escape.powershell"}]},{"begin":"(@[\\"“”„])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\\"“”„]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.double.heredoc.powershell","patterns":[{"include":"#variableNoProperty"},{"include":"#doubleQuotedStringEscapes"},{"include":"#interpolation"}]},{"begin":"(@[\'‘-‛])\\\\s*$","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.powershell"}},"end":"^[\'‘-‛]@","endCaptures":{"0":{"name":"punctuation.definition.string.end.powershell"}},"name":"string.quoted.single.heredoc.powershell"},{"include":"#numericConstant"},{"begin":"(@)(\\\\()","beginCaptures":{"1":{"name":"keyword.other.array.begin.powershell"},"2":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.array-expression.powershell","patterns":[{"include":"$self"}]},{"begin":"((\\\\$))(\\\\()","beginCaptures":{"1":{"name":"keyword.other.substatement.powershell"},"2":{"name":"punctuation.definition.subexpression.powershell"},"3":{"name":"punctuation.section.group.begin.powershell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.group.end.powershell"}},"name":"meta.group.complex.subexpression.powershell","patterns":[{"include":"$self"}]},{"match":"\\\\b((([-.0-9A-Z_a-z]+)\\\\.(?i:exe|com|cmd|bat)))\\\\b","name":"support.function.powershell"},{"match":"(?{1,5})}","name":"constant.character.escape.powershell"},{"match":"`u(?:\\\\{\\\\h{0,6}.)?","name":"invalid.character.escape.powershell"}]},"variable":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"storage.modifier.scope.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:([$@])([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin.powershell"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end.powershell"},"6":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))((?:\\\\.[_\\\\p{L}\\\\d]+)*\\\\b)?"}]},"variableNoProperty":{"patterns":[{"captures":{"0":{"name":"constant.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"}},"match":"(\\\\$)(?i:(False|Null|True))\\\\b"},{"captures":{"0":{"name":"support.constant.variable.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\\\b"},{"captures":{"0":{"name":"support.variable.automatic.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\b)"},{"captures":{"0":{"name":"variable.language.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"3":{"name":"variable.other.member.powershell"}},"match":"(\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\\\b"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(global|local|private|script|using|workflow):([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"storage.modifier.scope.powershell"},"4":{"name":"keyword.other.powershell"},"5":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)(\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"support.variable.drive.powershell"},"4":{"name":"variable.other.member.powershell"}},"match":"(?i:(\\\\$)([_\\\\p{L}\\\\d]+:)?([_\\\\p{L}\\\\d]+))"},{"captures":{"0":{"name":"variable.other.readwrite.powershell"},"1":{"name":"punctuation.definition.variable.powershell"},"2":{"name":"punctuation.section.braces.begin"},"3":{"name":"support.variable.drive.powershell"},"5":{"name":"punctuation.section.braces.end"}},"match":"(?i:(\\\\$)(\\\\{)([_\\\\p{L}\\\\d]+:)?([^}]*[^`}])(}))"}]}},"scopeName":"source.powershell","aliases":["ps","ps1"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-Dpen1YoG.js.map diff --git a/src/webview-ui/build/assets/chunk-Dpen1YoG.js.map b/src/webview-ui/build/assets/chunk-Dpen1YoG.js.map new file mode 100644 index 0000000000..c72ba8fde8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dpen1YoG.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Dpen1YoG.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/powershell.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"PowerShell\\\",\\\"name\\\":\\\"powershell\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"<#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.block.begin.powershell\\\"}},\\\"end\\\":\\\"#>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.block.end.powershell\\\"}},\\\"name\\\":\\\"comment.block.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#commentEmbeddedDocs\\\"}]},{\\\"match\\\":\\\"[2-6]>&1|>>?|<<|[<>]|>\\\\\\\\||[1-6]>|[1-6]>>\\\",\\\"name\\\":\\\"keyword.operator.redirection.powershell\\\"},{\\\"include\\\":\\\"#commands\\\"},{\\\"include\\\":\\\"#commentLine\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#subexpression\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#UsingDirective\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#hashtable\\\"},{\\\"include\\\":\\\"#doubleQuotedString\\\"},{\\\"include\\\":\\\"#scriptblock\\\"},{\\\"include\\\":\\\"#doubleQuotedStringEscapes\\\"},{\\\"applyEndPatternLast\\\":true,\\\"begin\\\":\\\"['‘-‛]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.powershell\\\"}},\\\"end\\\":\\\"['‘-‛]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.powershell\\\"}},\\\"name\\\":\\\"string.quoted.single.powershell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"['‘-‛]{2}\\\",\\\"name\\\":\\\"constant.character.escape.powershell\\\"}]},{\\\"begin\\\":\\\"(@[\\\\\\\"“”„])\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.powershell\\\"}},\\\"end\\\":\\\"^[\\\\\\\"“”„]@\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.powershell\\\"}},\\\"name\\\":\\\"string.quoted.double.heredoc.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variableNoProperty\\\"},{\\\"include\\\":\\\"#doubleQuotedStringEscapes\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(@['‘-‛])\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.powershell\\\"}},\\\"end\\\":\\\"^['‘-‛]@\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.powershell\\\"}},\\\"name\\\":\\\"string.quoted.single.heredoc.powershell\\\"},{\\\"include\\\":\\\"#numericConstant\\\"},{\\\"begin\\\":\\\"(@)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.array.begin.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.group.begin.powershell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.group.end.powershell\\\"}},\\\"name\\\":\\\"meta.group.array-expression.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"((\\\\\\\\$))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.substatement.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.subexpression.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.group.begin.powershell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.group.end.powershell\\\"}},\\\"name\\\":\\\"meta.group.complex.subexpression.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b((([-.0-9A-Z_a-z]+)\\\\\\\\.(?i:exe|com|cmd|bat)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.powershell\\\"},{\\\"match\\\":\\\"(?{1,5})}\\\",\\\"name\\\":\\\"constant.character.escape.powershell\\\"},{\\\"match\\\":\\\"`u(?:\\\\\\\\{\\\\\\\\h{0,6}.)?\\\",\\\"name\\\":\\\"invalid.character.escape.powershell\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.language.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(?i:(False|Null|True))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.constant.variable.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.variable.automatic.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\\\\\b)((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.language.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.scope.powershell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:([$@])(global|local|private|script|using|workflow):([_\\\\\\\\p{L}\\\\\\\\d]+))((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.scope.powershell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.powershell\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:(\\\\\\\\$)(\\\\\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.variable.drive.powershell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:([$@])([_\\\\\\\\p{L}\\\\\\\\d]+:)?([_\\\\\\\\p{L}\\\\\\\\d]+))((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.drive.powershell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.powershell\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:(\\\\\\\\$)(\\\\\\\\{)([_\\\\\\\\p{L}\\\\\\\\d]+:)?([^}]*[^`}])(}))((?:\\\\\\\\.[_\\\\\\\\p{L}\\\\\\\\d]+)*\\\\\\\\b)?\\\"}]},\\\"variableNoProperty\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.language.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(?i:(False|Null|True))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.constant.variable.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.variable.automatic.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([$?^]|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\\\\\\\b)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.language.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.scope.powershell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:(\\\\\\\\$)(global|local|private|script|using|workflow):([_\\\\\\\\p{L}\\\\\\\\d]+))\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.scope.powershell\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.powershell\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:(\\\\\\\\$)(\\\\\\\\{)(global|local|private|script|using|workflow):([^}]*[^`}])(}))\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.variable.drive.powershell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.member.powershell\\\"}},\\\"match\\\":\\\"(?i:(\\\\\\\\$)([_\\\\\\\\p{L}\\\\\\\\d]+:)?([_\\\\\\\\p{L}\\\\\\\\d]+))\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.powershell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.powershell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.drive.powershell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.braces.end\\\"}},\\\"match\\\":\\\"(?i:(\\\\\\\\$)(\\\\\\\\{)([_\\\\\\\\p{L}\\\\\\\\d]+:)?([^}]*[^`}])(}))\\\"}]}},\\\"scopeName\\\":\\\"source.powershell\\\",\\\"aliases\\\":[\\\"ps\\\",\\\"ps1\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "powershell" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,iknBAA2xqB,CAAC,EAEnzqBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DqwNpetd.js b/src/webview-ui/build/assets/chunk-DqwNpetd.js new file mode 100644 index 0000000000..06e2b52b71 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DqwNpetd.js @@ -0,0 +1,7 @@ +const o = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#161F26","activityBar.dropBackground":"#FFF","activityBar.foreground":"#FFF","activityBarBadge.background":"#8AE773","activityBarBadge.foreground":"#FFF","badge.background":"#8AE773","breadcrumb.focusForeground":"#475663","breadcrumb.foreground":"#161F26","button.background":"#475663","button.foreground":"#FFF","button.hoverBackground":"#161F26","debugExceptionWidget.background":"#AED4FB","debugExceptionWidget.border":"#161F26","debugToolBar.background":"#161F26","dropdown.background":"#FFF","dropdown.border":"#DCDEDF","dropdown.foreground":"#DCDEDF","dropdown.listBackground":"#FFF","editor.background":"#FFF","editor.findMatchBackground":"#AED4FB","editor.foreground":"#000","editor.lineHighlightBackground":"#EEEEEE","editor.selectionBackground":"#AED4FB","editor.wordHighlightBackground":"#AED4FB","editor.wordHighlightStrongBackground":"#EEEEEE","editorActiveLineNumber.foreground":"#475663","editorGroup.emptyBackground":"#2D3E4C","editorGroup.focusedEmptyBorder":"#2D3E4C","editorGroupHeader.tabsBackground":"#2D3E4C","editorHint.border":"#F9F9F9","editorHint.foreground":"#F9F9F9","editorIndentGuide.activeBackground":"#dbdbdb","editorIndentGuide.background":"#F3F3F3","editorLineNumber.foreground":"#b9b9b9","editorMarkerNavigation.background":"#F9F9F9","editorMarkerNavigationError.background":"#F44C5E","editorMarkerNavigationInfo.background":"#6182b8","editorMarkerNavigationWarning.background":"#F6B555","editorPane.background":"#2D3E4C","editorSuggestWidget.foreground":"#2D3E4C","editorSuggestWidget.highlightForeground":"#2D3E4C","editorSuggestWidget.selectedBackground":"#b9b9b9","editorWidget.background":"#F9F9F9","editorWidget.border":"#dbdbdb","extensionButton.prominentBackground":"#475663","extensionButton.prominentForeground":"#F6F6F6","extensionButton.prominentHoverBackground":"#161F26","focusBorder":"#161F26","foreground":"#616161","gitDecoration.addedResourceForeground":"#ECB22E","gitDecoration.conflictingResourceForeground":"#FFF","gitDecoration.deletedResourceForeground":"#FFF","gitDecoration.ignoredResourceForeground":"#877583","gitDecoration.modifiedResourceForeground":"#ECB22E","gitDecoration.untrackedResourceForeground":"#ECB22E","input.background":"#FFF","input.border":"#161F26","input.foreground":"#000","input.placeholderForeground":"#a0a0a0","inputOption.activeBorder":"#3E313C","inputValidation.errorBackground":"#F44C5E","inputValidation.errorForeground":"#FFF","inputValidation.infoBackground":"#6182b8","inputValidation.infoForeground":"#FFF","inputValidation.warningBackground":"#F6B555","inputValidation.warningForeground":"#000","list.activeSelectionBackground":"#5899C5","list.activeSelectionForeground":"#fff","list.focusBackground":"#d5e1ea","list.focusForeground":"#fff","list.highlightForeground":"#2D3E4C","list.hoverBackground":"#d5e1ea","list.hoverForeground":"#fff","list.inactiveFocusBackground":"#161F26","list.inactiveSelectionBackground":"#5899C5","list.inactiveSelectionForeground":"#fff","list.invalidItemForeground":"#fff","menu.background":"#161F26","menu.foreground":"#F9FAFA","menu.separatorBackground":"#F9FAFA","notificationCenter.border":"#161F26","notificationCenterHeader.foreground":"#FFF","notificationLink.foreground":"#FFF","notificationToast.border":"#161F26","notifications.background":"#161F26","notifications.border":"#161F26","notifications.foreground":"#FFF","panel.border":"#2D3E4C","panelTitle.activeForeground":"#161F26","progressBar.background":"#8AE773","scrollbar.shadow":"#ffffff00","scrollbarSlider.activeBackground":"#161F267e","scrollbarSlider.background":"#161F267e","scrollbarSlider.hoverBackground":"#161F267e","settings.dropdownBorder":"#161F26","settings.dropdownForeground":"#161F26","settings.headerForeground":"#161F26","sideBar.background":"#2D3E4C","sideBar.foreground":"#DCDEDF","sideBarSectionHeader.background":"#161F26","sideBarSectionHeader.foreground":"#FFF","sideBarTitle.foreground":"#FFF","statusBar.background":"#5899C5","statusBar.debuggingBackground":"#8AE773","statusBar.foreground":"#FFF","statusBar.noFolderBackground":"#161F26","tab.activeBackground":"#FFF","tab.activeForeground":"#000","tab.border":"#F3F3F3","tab.inactiveBackground":"#F3F3F3","tab.inactiveForeground":"#686868","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#6182b8","terminal.ansiBrightBlack":"#90a4ae","terminal.ansiBrightBlue":"#6182b8","terminal.ansiBrightCyan":"#39adb5","terminal.ansiBrightGreen":"#91b859","terminal.ansiBrightMagenta":"#7c4dff","terminal.ansiBrightRed":"#e53935","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#ffb62c","terminal.ansiCyan":"#39adb5","terminal.ansiGreen":"#91b859","terminal.ansiMagenta":"#7c4dff","terminal.ansiRed":"#e53935","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#ffb62c","terminal.border":"#2D3E4C","terminal.foreground":"#161F26","terminal.selectionBackground":"#0006","textPreformat.foreground":"#161F26","titleBar.activeBackground":"#2D3E4C","titleBar.activeForeground":"#FFF","titleBar.border":"#2D3E4C","titleBar.inactiveBackground":"#161F26","titleBar.inactiveForeground":"#685C66","welcomePage.buttonBackground":"#F3F3F3","welcomePage.buttonHoverBackground":"#ECECEC","widget.shadow":"#161F2694"},"displayName":"Slack Ochin","name":"slack-ochin","tokenColors":[{"settings":{"foreground":"#002339"}},{"scope":["meta.paragraph.markdown","string.other.link.description.title.markdown"],"settings":{"foreground":"#110000"}},{"scope":["entity.name.section.markdown","punctuation.definition.heading.markdown"],"settings":{"foreground":"#034c7c"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","markup.quote.markdown"],"settings":{"foreground":"#00AC8F"}},{"scope":["markup.quote.markdown"],"settings":{"fontStyle":"italic","foreground":"#003494"}},{"scope":["markup.bold.markdown","punctuation.definition.bold.markdown"],"settings":{"fontStyle":"bold","foreground":"#4e76b5"}},{"scope":["markup.italic.markdown","punctuation.definition.italic.markdown"],"settings":{"fontStyle":"italic","foreground":"#C792EA"}},{"scope":["markup.inline.raw.string.markdown","markup.fenced_code.block.markdown"],"settings":{"fontStyle":"italic","foreground":"#0460b1"}},{"scope":["punctuation.definition.metadata.markdown"],"settings":{"foreground":"#00AC8F"}},{"scope":["markup.underline.link.image.markdown","markup.underline.link.markdown"],"settings":{"foreground":"#924205"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#357b42"}},{"scope":"string","settings":{"foreground":"#a44185"}},{"scope":"constant.numeric","settings":{"foreground":"#174781"}},{"scope":"constant","settings":{"foreground":"#174781"}},{"scope":"language.method","settings":{"foreground":"#174781"}},{"scope":["constant.character","constant.other"],"settings":{"foreground":"#174781"}},{"scope":"variable","settings":{"fontStyle":"","foreground":"#2f86d2"}},{"scope":"variable.language.this","settings":{"fontStyle":"","foreground":"#000000"}},{"scope":"keyword","settings":{"fontStyle":"","foreground":"#7b30d0"}},{"scope":"storage","settings":{"fontStyle":"","foreground":"#da5221"}},{"scope":"storage.type","settings":{"fontStyle":"","foreground":"#0991b6"}},{"scope":"entity.name.class","settings":{"foreground":"#1172c7"}},{"scope":"entity.other.inherited-class","settings":{"fontStyle":"","foreground":"#b02767"}},{"scope":"entity.name.function","settings":{"fontStyle":"","foreground":"#7eb233"}},{"scope":"variable.parameter","settings":{"fontStyle":"","foreground":"#b1108e"}},{"scope":"entity.name.tag","settings":{"fontStyle":"","foreground":"#0444ac"}},{"scope":"text.html.basic","settings":{"fontStyle":"","foreground":"#0071ce"}},{"scope":"entity.name.type","settings":{"foreground":"#0444ac"}},{"scope":"entity.other.attribute-name","settings":{"fontStyle":"italic","foreground":"#df8618"}},{"scope":"support.function","settings":{"fontStyle":"","foreground":"#1ab394"}},{"scope":"support.constant","settings":{"fontStyle":"","foreground":"#174781"}},{"scope":["support.type","support.class"],"settings":{"foreground":"#dc3eb7"}},{"scope":"support.other.variable","settings":{"foreground":"#224555"}},{"scope":"invalid","settings":{"fontStyle":" italic bold underline","foreground":"#207bb8"}},{"scope":"invalid.deprecated","settings":{"fontStyle":" bold italic underline","foreground":"#207bb8"}},{"scope":"source.json support","settings":{"foreground":"#6dbdfa"}},{"scope":["source.json string","source.json punctuation.definition.string"],"settings":{"foreground":"#00820f"}},{"scope":"markup.list","settings":{"foreground":"#207bb8"}},{"scope":["markup.heading punctuation.definition.heading","entity.name.section"],"settings":{"fontStyle":"","foreground":"#4FB4D8"}},{"scope":["text.html.markdown meta.paragraph meta.link.inline","text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown","text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown"],"settings":{"foreground":"#87429A"}},{"scope":"markup.quote","settings":{"foreground":"#87429A"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#08134A"}},{"scope":["markup.italic","punctuation.definition.italic"],"settings":{"fontStyle":"italic","foreground":"#174781"}},{"scope":"meta.link","settings":{"foreground":"#87429A"}}],"type":"light"}', + ), +) +export { o as default } +//# sourceMappingURL=chunk-DqwNpetd.js.map diff --git a/src/webview-ui/build/assets/chunk-DqwNpetd.js.map b/src/webview-ui/build/assets/chunk-DqwNpetd.js.map new file mode 100644 index 0000000000..9ba0b786c8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DqwNpetd.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-DqwNpetd.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/slack-ochin.mjs" + ], + "sourcesContent": [ + "/* Theme: slack-ochin */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#161F26\\\",\\\"activityBar.dropBackground\\\":\\\"#FFF\\\",\\\"activityBar.foreground\\\":\\\"#FFF\\\",\\\"activityBarBadge.background\\\":\\\"#8AE773\\\",\\\"activityBarBadge.foreground\\\":\\\"#FFF\\\",\\\"badge.background\\\":\\\"#8AE773\\\",\\\"breadcrumb.focusForeground\\\":\\\"#475663\\\",\\\"breadcrumb.foreground\\\":\\\"#161F26\\\",\\\"button.background\\\":\\\"#475663\\\",\\\"button.foreground\\\":\\\"#FFF\\\",\\\"button.hoverBackground\\\":\\\"#161F26\\\",\\\"debugExceptionWidget.background\\\":\\\"#AED4FB\\\",\\\"debugExceptionWidget.border\\\":\\\"#161F26\\\",\\\"debugToolBar.background\\\":\\\"#161F26\\\",\\\"dropdown.background\\\":\\\"#FFF\\\",\\\"dropdown.border\\\":\\\"#DCDEDF\\\",\\\"dropdown.foreground\\\":\\\"#DCDEDF\\\",\\\"dropdown.listBackground\\\":\\\"#FFF\\\",\\\"editor.background\\\":\\\"#FFF\\\",\\\"editor.findMatchBackground\\\":\\\"#AED4FB\\\",\\\"editor.foreground\\\":\\\"#000\\\",\\\"editor.lineHighlightBackground\\\":\\\"#EEEEEE\\\",\\\"editor.selectionBackground\\\":\\\"#AED4FB\\\",\\\"editor.wordHighlightBackground\\\":\\\"#AED4FB\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#EEEEEE\\\",\\\"editorActiveLineNumber.foreground\\\":\\\"#475663\\\",\\\"editorGroup.emptyBackground\\\":\\\"#2D3E4C\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#2D3E4C\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#2D3E4C\\\",\\\"editorHint.border\\\":\\\"#F9F9F9\\\",\\\"editorHint.foreground\\\":\\\"#F9F9F9\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#dbdbdb\\\",\\\"editorIndentGuide.background\\\":\\\"#F3F3F3\\\",\\\"editorLineNumber.foreground\\\":\\\"#b9b9b9\\\",\\\"editorMarkerNavigation.background\\\":\\\"#F9F9F9\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#F44C5E\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#6182b8\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#F6B555\\\",\\\"editorPane.background\\\":\\\"#2D3E4C\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#2D3E4C\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#2D3E4C\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#b9b9b9\\\",\\\"editorWidget.background\\\":\\\"#F9F9F9\\\",\\\"editorWidget.border\\\":\\\"#dbdbdb\\\",\\\"extensionButton.prominentBackground\\\":\\\"#475663\\\",\\\"extensionButton.prominentForeground\\\":\\\"#F6F6F6\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#161F26\\\",\\\"focusBorder\\\":\\\"#161F26\\\",\\\"foreground\\\":\\\"#616161\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ECB22E\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFF\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#FFF\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#877583\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ECB22E\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#ECB22E\\\",\\\"input.background\\\":\\\"#FFF\\\",\\\"input.border\\\":\\\"#161F26\\\",\\\"input.foreground\\\":\\\"#000\\\",\\\"input.placeholderForeground\\\":\\\"#a0a0a0\\\",\\\"inputOption.activeBorder\\\":\\\"#3E313C\\\",\\\"inputValidation.errorBackground\\\":\\\"#F44C5E\\\",\\\"inputValidation.errorForeground\\\":\\\"#FFF\\\",\\\"inputValidation.infoBackground\\\":\\\"#6182b8\\\",\\\"inputValidation.infoForeground\\\":\\\"#FFF\\\",\\\"inputValidation.warningBackground\\\":\\\"#F6B555\\\",\\\"inputValidation.warningForeground\\\":\\\"#000\\\",\\\"list.activeSelectionBackground\\\":\\\"#5899C5\\\",\\\"list.activeSelectionForeground\\\":\\\"#fff\\\",\\\"list.focusBackground\\\":\\\"#d5e1ea\\\",\\\"list.focusForeground\\\":\\\"#fff\\\",\\\"list.highlightForeground\\\":\\\"#2D3E4C\\\",\\\"list.hoverBackground\\\":\\\"#d5e1ea\\\",\\\"list.hoverForeground\\\":\\\"#fff\\\",\\\"list.inactiveFocusBackground\\\":\\\"#161F26\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#5899C5\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#fff\\\",\\\"list.invalidItemForeground\\\":\\\"#fff\\\",\\\"menu.background\\\":\\\"#161F26\\\",\\\"menu.foreground\\\":\\\"#F9FAFA\\\",\\\"menu.separatorBackground\\\":\\\"#F9FAFA\\\",\\\"notificationCenter.border\\\":\\\"#161F26\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#FFF\\\",\\\"notificationLink.foreground\\\":\\\"#FFF\\\",\\\"notificationToast.border\\\":\\\"#161F26\\\",\\\"notifications.background\\\":\\\"#161F26\\\",\\\"notifications.border\\\":\\\"#161F26\\\",\\\"notifications.foreground\\\":\\\"#FFF\\\",\\\"panel.border\\\":\\\"#2D3E4C\\\",\\\"panelTitle.activeForeground\\\":\\\"#161F26\\\",\\\"progressBar.background\\\":\\\"#8AE773\\\",\\\"scrollbar.shadow\\\":\\\"#ffffff00\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#161F267e\\\",\\\"scrollbarSlider.background\\\":\\\"#161F267e\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#161F267e\\\",\\\"settings.dropdownBorder\\\":\\\"#161F26\\\",\\\"settings.dropdownForeground\\\":\\\"#161F26\\\",\\\"settings.headerForeground\\\":\\\"#161F26\\\",\\\"sideBar.background\\\":\\\"#2D3E4C\\\",\\\"sideBar.foreground\\\":\\\"#DCDEDF\\\",\\\"sideBarSectionHeader.background\\\":\\\"#161F26\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#FFF\\\",\\\"sideBarTitle.foreground\\\":\\\"#FFF\\\",\\\"statusBar.background\\\":\\\"#5899C5\\\",\\\"statusBar.debuggingBackground\\\":\\\"#8AE773\\\",\\\"statusBar.foreground\\\":\\\"#FFF\\\",\\\"statusBar.noFolderBackground\\\":\\\"#161F26\\\",\\\"tab.activeBackground\\\":\\\"#FFF\\\",\\\"tab.activeForeground\\\":\\\"#000\\\",\\\"tab.border\\\":\\\"#F3F3F3\\\",\\\"tab.inactiveBackground\\\":\\\"#F3F3F3\\\",\\\"tab.inactiveForeground\\\":\\\"#686868\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#6182b8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#90a4ae\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6182b8\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#39adb5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#91b859\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#7c4dff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#e53935\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffb62c\\\",\\\"terminal.ansiCyan\\\":\\\"#39adb5\\\",\\\"terminal.ansiGreen\\\":\\\"#91b859\\\",\\\"terminal.ansiMagenta\\\":\\\"#7c4dff\\\",\\\"terminal.ansiRed\\\":\\\"#e53935\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#ffb62c\\\",\\\"terminal.border\\\":\\\"#2D3E4C\\\",\\\"terminal.foreground\\\":\\\"#161F26\\\",\\\"terminal.selectionBackground\\\":\\\"#0006\\\",\\\"textPreformat.foreground\\\":\\\"#161F26\\\",\\\"titleBar.activeBackground\\\":\\\"#2D3E4C\\\",\\\"titleBar.activeForeground\\\":\\\"#FFF\\\",\\\"titleBar.border\\\":\\\"#2D3E4C\\\",\\\"titleBar.inactiveBackground\\\":\\\"#161F26\\\",\\\"titleBar.inactiveForeground\\\":\\\"#685C66\\\",\\\"welcomePage.buttonBackground\\\":\\\"#F3F3F3\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#ECECEC\\\",\\\"widget.shadow\\\":\\\"#161F2694\\\"},\\\"displayName\\\":\\\"Slack Ochin\\\",\\\"name\\\":\\\"slack-ochin\\\",\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#002339\\\"}},{\\\"scope\\\":[\\\"meta.paragraph.markdown\\\",\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#110000\\\"}},{\\\"scope\\\":[\\\"entity.name.section.markdown\\\",\\\"punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#034c7c\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"markup.quote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00AC8F\\\"}},{\\\"scope\\\":[\\\"markup.quote.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#003494\\\"}},{\\\"scope\\\":[\\\"markup.bold.markdown\\\",\\\"punctuation.definition.bold.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4e76b5\\\"}},{\\\"scope\\\":[\\\"markup.italic.markdown\\\",\\\"punctuation.definition.italic.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw.string.markdown\\\",\\\"markup.fenced_code.block.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#0460b1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00AC8F\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.image.markdown\\\",\\\"markup.underline.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#924205\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#357b42\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a44185\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"language.method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#2f86d2\\\"}},{\\\"scope\\\":\\\"variable.language.this\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7b30d0\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#da5221\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#0991b6\\\"}},{\\\"scope\\\":\\\"entity.name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1172c7\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b02767\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7eb233\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b1108e\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#0444ac\\\"}},{\\\"scope\\\":\\\"text.html.basic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#0071ce\\\"}},{\\\"scope\\\":\\\"entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0444ac\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8618\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1ab394\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dc3eb7\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#224555\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\" italic bold underline\\\",\\\"foreground\\\":\\\"#207bb8\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\" bold italic underline\\\",\\\"foreground\\\":\\\"#207bb8\\\"}},{\\\"scope\\\":\\\"source.json support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6dbdfa\\\"}},{\\\"scope\\\":[\\\"source.json string\\\",\\\"source.json punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00820f\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#207bb8\\\"}},{\\\"scope\\\":[\\\"markup.heading punctuation.definition.heading\\\",\\\"entity.name.section\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#4FB4D8\\\"}},{\\\"scope\\\":[\\\"text.html.markdown meta.paragraph meta.link.inline\\\",\\\"text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown\\\",\\\"text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#87429A\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#87429A\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#08134A\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\",\\\"punctuation.definition.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"meta.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#87429A\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "slackOchin" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,6pSAAuwU,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DsOJ9woJ.js b/src/webview-ui/build/assets/chunk-DsOJ9woJ.js new file mode 100644 index 0000000000..32dd0efb4e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DsOJ9woJ.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"CodeQL","fileTypes":["ql","qll"],"name":"codeql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"match":"\\\\babstract(?![0-9A-Z_a-z])","name":"storage.modifier.abstract.ql"},"additional":{"match":"\\\\badditional(?![0-9A-Z_a-z])","name":"storage.modifier.additional.ql"},"and":{"match":"\\\\band(?![0-9A-Z_a-z])","name":"keyword.other.and.ql"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#additional"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#default"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#signature"},{"include":"#transient"}]},"any":{"match":"\\\\bany(?![0-9A-Z_a-z])","name":"keyword.quantifier.any.ql"},"arithmetic-operator":{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ql"},"as":{"match":"\\\\bas(?![0-9A-Z_a-z])","name":"keyword.other.as.ql"},"asc":{"match":"\\\\basc(?![0-9A-Z_a-z])","name":"keyword.order.asc.ql"},"at-lower-id":{"match":"@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])"},"avg":{"match":"\\\\bavg(?![0-9A-Z_a-z])","name":"keyword.aggregate.avg.ql"},"bindingset":{"match":"\\\\bbindingset(?![0-9A-Z_a-z])","name":"storage.modifier.bindingset.ql"},"bindingset-annotation":{"begin":"\\\\b(bindingset(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}},"end":"(?!(?:\\\\s|$|/[*/])|\\\\[)|(?<=])","name":"meta.block.bindingset-annotation.ql","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}]},"bindingset-annotation-body":{"begin":"(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"end":"(])","endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}},"name":"meta.block.bindingset-annotation-body.ql","patterns":[{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"variable.parameter.ql"}]},"boolean":{"match":"\\\\bboolean(?![0-9A-Z_a-z])","name":"keyword.type.boolean.ql"},"by":{"match":"\\\\bby(?![0-9A-Z_a-z])","name":"keyword.order.by.ql"},"cached":{"match":"\\\\bcached(?![0-9A-Z_a-z])","name":"storage.modifier.cached.ql"},"class":{"match":"\\\\bclass(?![0-9A-Z_a-z])","name":"keyword.other.class.ql"},"class-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"end":"(})","endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}},"name":"meta.block.class-body.ql","patterns":[{"include":"#class-member"}]},"class-declaration":{"begin":"\\\\b(class(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#class"}]}},"end":"(?<=[;}])","name":"meta.block.class-declaration.ql","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.class.ql"}]},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-angle":{"match":">","name":"punctuation.anglebracket.close.ql"},"close-brace":{"match":"}","name":"punctuation.curlybrace.close.ql"},"close-bracket":{"match":"]","name":"punctuation.squarebracket.close.ql"},"close-paren":{"match":"\\\\)","name":"punctuation.parenthesis.close.ql"},"comma":{"match":",","name":"punctuation.separator.comma.ql"},"comment":{"patterns":[{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.ql","patterns":[{"begin":"(?<=/\\\\*\\\\*)([^*]|\\\\*(?!/))*$","patterns":[{"match":"\\\\G\\\\s*(@\\\\S+)","name":"keyword.tag.ql"}],"while":"(^|\\\\G)\\\\s*([^*]|\\\\*(?!/))(?=([^*]|\\\\*(?!/))*$)"}]},{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.ql"},{"match":"//.*$","name":"comment.line.double-slash.ql"}]},"comment-start":{"match":"/[*/]"},"comparison-operator":{"match":"!??=","name":"keyword.operator.comparison.ql"},"concat":{"match":"\\\\bconcat(?![0-9A-Z_a-z])","name":"keyword.aggregate.concat.ql"},"count":{"match":"\\\\bcount(?![0-9A-Z_a-z])","name":"keyword.aggregate.count.ql"},"date":{"match":"\\\\bdate(?![0-9A-Z_a-z])","name":"keyword.type.date.ql"},"default":{"match":"\\\\bdefault(?![0-9A-Z_a-z])","name":"storage.modifier.default.ql"},"deprecated":{"match":"\\\\bdeprecated(?![0-9A-Z_a-z])","name":"storage.modifier.deprecated.ql"},"desc":{"match":"\\\\bdesc(?![0-9A-Z_a-z])","name":"keyword.order.desc.ql"},"dont-care":{"match":"\\\\b_(?![0-9A-Z_a-z])","name":"variable.language.dont-care.ql"},"dot":{"match":"\\\\.","name":"punctuation.accessor.ql"},"dotdot":{"match":"\\\\.\\\\.","name":"punctuation.operator.range.ql"},"else":{"match":"\\\\belse(?![0-9A-Z_a-z])","name":"keyword.other.else.ql"},"end-of-as-clause":{"match":"(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])(?A-Z_a-z])(?!\\\\s*(\\\\.|::|[,<]))","name":"meta.block.import-directive.ql","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.namespace.ql"}]},"in":{"match":"\\\\bin(?![0-9A-Z_a-z])","name":"keyword.other.in.ql"},"instanceof":{"match":"\\\\binstanceof(?![0-9A-Z_a-z])","name":"keyword.other.instanceof.ql"},"instantiation-args":{"begin":"(<)","beginCaptures":{"1":{"patterns":[{"include":"#open-angle"}]}},"end":"(>)","endCaptures":{"1":{"patterns":[{"include":"#close-angle"}]}},"name":"meta.type.parameters.ql","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.namespace.ql"}]},"int":{"match":"\\\\bint(?![0-9A-Z_a-z])","name":"keyword.type.int.ql"},"int-literal":{"match":"-?[0-9]+(?![0-9])","name":"constant.numeric.decimal.ql"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#unique"},{"include":"#where"}]},"language":{"match":"\\\\blanguage(?![0-9A-Z_a-z])","name":"storage.modifier.language.ql"},"language-annotation":{"begin":"\\\\b(language(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#language"}]}},"end":"(?!(?:\\\\s|$|/[*/])|\\\\[)|(?<=])","name":"meta.block.language-annotation.ql","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}]},"language-annotation-body":{"begin":"(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"end":"(])","endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}},"name":"meta.block.language-annotation-body.ql","patterns":[{"include":"#non-context-sensitive"},{"match":"\\\\bmonotonicAggregates(?![0-9A-Z_a-z])","name":"storage.modifier.ql"}]},"library":{"match":"\\\\blibrary(?![0-9A-Z_a-z])","name":"storage.modifier.library.ql"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])"},"max":{"match":"\\\\bmax(?![0-9A-Z_a-z])","name":"keyword.aggregate.max.ql"},"min":{"match":"\\\\bmin(?![0-9A-Z_a-z])","name":"keyword.aggregate.min.ql"},"module":{"match":"\\\\bmodule(?![0-9A-Z_a-z])","name":"keyword.other.module.ql"},"module-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"end":"(})","endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}},"name":"meta.block.module-body.ql","patterns":[{"include":"#module-member"}]},"module-declaration":{"begin":"\\\\b(module(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#module"}]}},"end":"(?<=[;}])","name":"meta.block.module-declaration.ql","patterns":[{"include":"#module-body"},{"include":"#implements-clause"},{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.namespace.ql"}]},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#newtype-declaration"},{"include":"#newtype-branch-name-with-prefix"},{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\\\s*::)","name":"entity.name.type.namespace.ql"},"newtype":{"match":"\\\\bnewtype(?![0-9A-Z_a-z])","name":"keyword.other.newtype.ql"},"newtype-branch-name-with-prefix":{"begin":"=|\\\\bor(?![0-9A-Z_a-z])","beginCaptures":{"0":{"patterns":[{"include":"#or"},{"include":"#comparison-operator"}]}},"end":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","endCaptures":{"0":{"name":"entity.name.type.ql"}},"name":"meta.block.newtype-branch-name-with-prefix.ql","patterns":[{"include":"#non-context-sensitive"}]},"newtype-declaration":{"begin":"\\\\b(newtype(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}},"end":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","endCaptures":{"0":{"name":"entity.name.type.ql"}},"name":"meta.block.newtype-declaration.ql","patterns":[{"include":"#non-context-sensitive"}]},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"match":"\\\\bnone(?![0-9A-Z_a-z])","name":"keyword.quantifier.none.ql"},"not":{"match":"\\\\bnot(?![0-9A-Z_a-z])","name":"keyword.other.not.ql"},"open-angle":{"match":"<","name":"punctuation.anglebracket.open.ql"},"open-brace":{"match":"\\\\{","name":"punctuation.curlybrace.open.ql"},"open-bracket":{"match":"\\\\[","name":"punctuation.squarebracket.open.ql"},"open-paren":{"match":"\\\\(","name":"punctuation.parenthesis.open.ql"},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"},{"include":"#open-angle"},{"include":"#close-angle"}]},"or":{"match":"\\\\bor(?![0-9A-Z_a-z])","name":"keyword.other.or.ql"},"order":{"match":"\\\\border(?![0-9A-Z_a-z])","name":"keyword.order.order.ql"},"override":{"match":"\\\\boverride(?![0-9A-Z_a-z])","name":"storage.modifier.override.ql"},"pipe":{"match":"\\\\|","name":"punctuation.separator.pipe.ql"},"pragma":{"match":"\\\\bpragma(?![0-9A-Z_a-z])","name":"storage.modifier.pragma.ql"},"pragma-annotation":{"begin":"\\\\b(pragma(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}},"end":"(?!(?:\\\\s|$|/[*/])|\\\\[)|(?<=])","name":"meta.block.pragma-annotation.ql","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}]},"pragma-annotation-body":{"begin":"(\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"end":"(])","endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}},"name":"meta.block.pragma-annotation-body.ql","patterns":[{"match":"\\\\b(?:inline|noinline|nomagic|noopt)\\\\b","name":"storage.modifier.ql"}]},"predicate":{"match":"\\\\bpredicate(?![0-9A-Z_a-z])","name":"keyword.other.predicate.ql"},"predicate-body":{"begin":"(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"end":"(})","endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}},"name":"meta.block.predicate-body.ql","patterns":[{"include":"#predicate-body-contents"}]},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\\s*[*+]?\\\\s*(?=\\\\()","name":"entity.name.function.ql"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"variable.other.ql"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.ql"}]},"predicate-or-field-declaration":{"begin":"(?=\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))(?!\\\\b(?:(?:_(?![0-9A-Z_a-z])|and(?![0-9A-Z_a-z])|any(?![0-9A-Z_a-z])|as(?![0-9A-Z_a-z])|asc(?![0-9A-Z_a-z])|avg(?![0-9A-Z_a-z])|boolean(?![0-9A-Z_a-z])|by(?![0-9A-Z_a-z])|class(?![0-9A-Z_a-z])|concat(?![0-9A-Z_a-z])|count(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|desc(?![0-9A-Z_a-z])|else(?![0-9A-Z_a-z])|exists(?![0-9A-Z_a-z])|extends(?![0-9A-Z_a-z])|false(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|forall(?![0-9A-Z_a-z])|forex(?![0-9A-Z_a-z])|from(?![0-9A-Z_a-z])|if(?![0-9A-Z_a-z])|implies(?![0-9A-Z_a-z])|import(?![0-9A-Z_a-z])|in(?![0-9A-Z_a-z])|instanceof(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|max(?![0-9A-Z_a-z])|min(?![0-9A-Z_a-z])|module(?![0-9A-Z_a-z])|newtype(?![0-9A-Z_a-z])|none(?![0-9A-Z_a-z])|not(?![0-9A-Z_a-z])|or(?![0-9A-Z_a-z])|order(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|rank(?![0-9A-Z_a-z])|result(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])|strictconcat(?![0-9A-Z_a-z])|strictcount(?![0-9A-Z_a-z])|strictsum(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])|sum(?![0-9A-Z_a-z])|super(?![0-9A-Z_a-z])|then(?![0-9A-Z_a-z])|this(?![0-9A-Z_a-z])|true(?![0-9A-Z_a-z])|unique(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z]))|(?:abstract(?![0-9A-Z_a-z])|additional(?![0-9A-Z_a-z])|bindingset(?![0-9A-Z_a-z])|cached(?![0-9A-Z_a-z])|default(?![0-9A-Z_a-z])|deprecated(?![0-9A-Z_a-z])|external(?![0-9A-Z_a-z])|final(?![0-9A-Z_a-z])|language(?![0-9A-Z_a-z])|library(?![0-9A-Z_a-z])|override(?![0-9A-Z_a-z])|pragma(?![0-9A-Z_a-z])|private(?![0-9A-Z_a-z])|query(?![0-9A-Z_a-z])|signature(?![0-9A-Z_a-z])|transient(?![0-9A-Z_a-z]))))|(?=\\\\b(?:boolean(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])))|(?=@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))","end":"(?<=[;}])","name":"meta.block.predicate-or-field-declaration.ql","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\\\s*;)","name":"variable.field.ql"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.function.ql"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.ql"}]},"predicate-parameter-list":{"begin":"(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"end":"(\\\\))","endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}},"name":"meta.block.predicate-parameter-list.ql","patterns":[{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\\\s*[),])","name":"variable.parameter.ql"},{"include":"#module-qualifier"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"entity.name.type.ql"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"variable.parameter.ql"}]},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"match":"\\\\bprivate(?![0-9A-Z_a-z])","name":"storage.modifier.private.ql"},"query":{"match":"\\\\bquery(?![0-9A-Z_a-z])","name":"storage.modifier.query.ql"},"rank":{"match":"\\\\brank(?![0-9A-Z_a-z])","name":"keyword.aggregate.rank.ql"},"relational-operator":{"match":"<=?|>=?","name":"keyword.operator.relational.ql"},"result":{"match":"\\\\bresult(?![0-9A-Z_a-z])","name":"variable.language.result.ql"},"select":{"match":"\\\\bselect(?![0-9A-Z_a-z])","name":"keyword.query.select.ql"},"select-as-clause":{"begin":"\\\\b(as(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#as"}]}},"end":"(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])","match":"meta.block.select-as-clause.ql","patterns":[{"include":"#non-context-sensitive"},{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])","name":"variable.other.ql"}]},"select-clause":{"begin":"(?=\\\\b(?:from(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])))","end":"(?!\\\\b(?:from(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])))","name":"meta.block.select-clause.ql","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"begin":"\\\\b(select(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#select"}]}},"end":"(?=\\\\n)","name":"meta.block.select-section.ql","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}]},"semicolon":{"match":";","name":"punctuation.separator.statement.ql"},"signature":{"match":"\\\\bsignature(?![0-9A-Z_a-z])","name":"storage.modifier.signature.ql"},"simple-id":{"match":"\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])"},"strictconcat":{"match":"\\\\bstrictconcat(?![0-9A-Z_a-z])","name":"keyword.aggregate.strictconcat.ql"},"strictcount":{"match":"\\\\bstrictcount(?![0-9A-Z_a-z])","name":"keyword.aggregate.strictcount.ql"},"strictsum":{"match":"\\\\bstrictsum(?![0-9A-Z_a-z])","name":"keyword.aggregate.strictsum.ql"},"string":{"match":"\\\\bstring(?![0-9A-Z_a-z])","name":"keyword.type.string.ql"},"string-escape":{"match":"\\\\\\\\[\\"\\\\\\\\nrt]","name":"constant.character.escape.ql"},"string-literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}},"name":"string.quoted.double.ql","patterns":[{"include":"#string-escape"}]},"sum":{"match":"\\\\bsum(?![0-9A-Z_a-z])","name":"keyword.aggregate.sum.ql"},"super":{"match":"\\\\bsuper(?![0-9A-Z_a-z])","name":"variable.language.super.ql"},"then":{"match":"\\\\bthen(?![0-9A-Z_a-z])","name":"keyword.other.then.ql"},"this":{"match":"\\\\bthis(?![0-9A-Z_a-z])","name":"variable.language.this.ql"},"transient":{"match":"\\\\btransient(?![0-9A-Z_a-z])","name":"storage.modifier.transient.ql"},"true":{"match":"\\\\btrue(?![0-9A-Z_a-z])","name":"constant.language.boolean.true.ql"},"unique":{"match":"\\\\bunique(?![0-9A-Z_a-z])","name":"keyword.aggregate.unique.ql"},"upper-id":{"match":"\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])"},"where":{"match":"\\\\bwhere(?![0-9A-Z_a-z])","name":"keyword.query.where.ql"},"where-section":{"begin":"\\\\b(where(?![0-9A-Z_a-z]))","beginCaptures":{"1":{"patterns":[{"include":"#where"}]}},"end":"(?=\\\\bselect(?![0-9A-Z_a-z]))","name":"meta.block.where-section.ql","patterns":[{"include":"#predicate-body-contents"}]},"whitespace-or-comment-start":{"match":"\\\\s|$|/[*/]"}},"scopeName":"source.ql","aliases":["ql"]}', + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-DsOJ9woJ.js.map diff --git a/src/webview-ui/build/assets/chunk-DsOJ9woJ.js.map b/src/webview-ui/build/assets/chunk-DsOJ9woJ.js.map new file mode 100644 index 0000000000..d3c093cc6a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DsOJ9woJ.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DsOJ9woJ.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/codeql.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"CodeQL\\\",\\\"fileTypes\\\":[\\\"ql\\\",\\\"qll\\\"],\\\"name\\\":\\\"codeql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-member\\\"}],\\\"repository\\\":{\\\"abstract\\\":{\\\"match\\\":\\\"\\\\\\\\babstract(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.abstract.ql\\\"},\\\"additional\\\":{\\\"match\\\":\\\"\\\\\\\\badditional(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.additional.ql\\\"},\\\"and\\\":{\\\"match\\\":\\\"\\\\\\\\band(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.and.ql\\\"},\\\"annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#bindingset-annotation\\\"},{\\\"include\\\":\\\"#language-annotation\\\"},{\\\"include\\\":\\\"#pragma-annotation\\\"},{\\\"include\\\":\\\"#annotation-keyword\\\"}]},\\\"annotation-keyword\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#abstract\\\"},{\\\"include\\\":\\\"#additional\\\"},{\\\"include\\\":\\\"#bindingset\\\"},{\\\"include\\\":\\\"#cached\\\"},{\\\"include\\\":\\\"#default\\\"},{\\\"include\\\":\\\"#deprecated\\\"},{\\\"include\\\":\\\"#external\\\"},{\\\"include\\\":\\\"#final\\\"},{\\\"include\\\":\\\"#language\\\"},{\\\"include\\\":\\\"#library\\\"},{\\\"include\\\":\\\"#override\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#private\\\"},{\\\"include\\\":\\\"#query\\\"},{\\\"include\\\":\\\"#signature\\\"},{\\\"include\\\":\\\"#transient\\\"}]},\\\"any\\\":{\\\"match\\\":\\\"\\\\\\\\bany(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.quantifier.any.ql\\\"},\\\"arithmetic-operator\\\":{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ql\\\"},\\\"as\\\":{\\\"match\\\":\\\"\\\\\\\\bas(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.as.ql\\\"},\\\"asc\\\":{\\\"match\\\":\\\"\\\\\\\\basc(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.order.asc.ql\\\"},\\\"at-lower-id\\\":{\\\"match\\\":\\\"@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\"},\\\"avg\\\":{\\\"match\\\":\\\"\\\\\\\\bavg(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.avg.ql\\\"},\\\"bindingset\\\":{\\\"match\\\":\\\"\\\\\\\\bbindingset(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.bindingset.ql\\\"},\\\"bindingset-annotation\\\":{\\\"begin\\\":\\\"\\\\\\\\b(bindingset(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#bindingset\\\"}]}},\\\"end\\\":\\\"(?!(?:\\\\\\\\s|$|/[*/])|\\\\\\\\[)|(?<=])\\\",\\\"name\\\":\\\"meta.block.bindingset-annotation.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bindingset-annotation-body\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"}]},\\\"bindingset-annotation-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-bracket\\\"}]}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-bracket\\\"}]}},\\\"name\\\":\\\"meta.block.bindingset-annotation-body.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.parameter.ql\\\"}]},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\bboolean(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.type.boolean.ql\\\"},\\\"by\\\":{\\\"match\\\":\\\"\\\\\\\\bby(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.order.by.ql\\\"},\\\"cached\\\":{\\\"match\\\":\\\"\\\\\\\\bcached(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.cached.ql\\\"},\\\"class\\\":{\\\"match\\\":\\\"\\\\\\\\bclass(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.class.ql\\\"},\\\"class-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-brace\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-brace\\\"}]}},\\\"name\\\":\\\"meta.block.class-body.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-member\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(class(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#class\\\"}]}},\\\"end\\\":\\\"(?<=[;}])\\\",\\\"name\\\":\\\"meta.block.class-declaration.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-body\\\"},{\\\"include\\\":\\\"#extends-clause\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.class.ql\\\"}]},\\\"class-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#predicate-or-field-declaration\\\"},{\\\"include\\\":\\\"#annotation\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"}]},\\\"close-angle\\\":{\\\"match\\\":\\\">\\\",\\\"name\\\":\\\"punctuation.anglebracket.close.ql\\\"},\\\"close-brace\\\":{\\\"match\\\":\\\"}\\\",\\\"name\\\":\\\"punctuation.curlybrace.close.ql\\\"},\\\"close-bracket\\\":{\\\"match\\\":\\\"]\\\",\\\"name\\\":\\\"punctuation.squarebracket.close.ql\\\"},\\\"close-paren\\\":{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.parenthesis.close.ql\\\"},\\\"comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ql\\\"},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.ql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=/\\\\\\\\*\\\\\\\\*)([^*]|\\\\\\\\*(?!/))*$\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(@\\\\\\\\S+)\\\",\\\"name\\\":\\\"keyword.tag.ql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*([^*]|\\\\\\\\*(?!/))(?=([^*]|\\\\\\\\*(?!/))*$)\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.ql\\\"},{\\\"match\\\":\\\"//.*$\\\",\\\"name\\\":\\\"comment.line.double-slash.ql\\\"}]},\\\"comment-start\\\":{\\\"match\\\":\\\"/[*/]\\\"},\\\"comparison-operator\\\":{\\\"match\\\":\\\"!??=\\\",\\\"name\\\":\\\"keyword.operator.comparison.ql\\\"},\\\"concat\\\":{\\\"match\\\":\\\"\\\\\\\\bconcat(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.concat.ql\\\"},\\\"count\\\":{\\\"match\\\":\\\"\\\\\\\\bcount(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.count.ql\\\"},\\\"date\\\":{\\\"match\\\":\\\"\\\\\\\\bdate(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.type.date.ql\\\"},\\\"default\\\":{\\\"match\\\":\\\"\\\\\\\\bdefault(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.default.ql\\\"},\\\"deprecated\\\":{\\\"match\\\":\\\"\\\\\\\\bdeprecated(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.deprecated.ql\\\"},\\\"desc\\\":{\\\"match\\\":\\\"\\\\\\\\bdesc(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.order.desc.ql\\\"},\\\"dont-care\\\":{\\\"match\\\":\\\"\\\\\\\\b_(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.language.dont-care.ql\\\"},\\\"dot\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.ql\\\"},\\\"dotdot\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.operator.range.ql\\\"},\\\"else\\\":{\\\"match\\\":\\\"\\\\\\\\belse(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.else.ql\\\"},\\\"end-of-as-clause\\\":{\\\"match\\\":\\\"(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])(?A-Z_a-z])(?!\\\\\\\\s*(\\\\\\\\.|::|[,<]))\\\",\\\"name\\\":\\\"meta.block.import-directive.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#instantiation-args\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.namespace.ql\\\"}]},\\\"in\\\":{\\\"match\\\":\\\"\\\\\\\\bin(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.in.ql\\\"},\\\"instanceof\\\":{\\\"match\\\":\\\"\\\\\\\\binstanceof(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.instanceof.ql\\\"},\\\"instantiation-args\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-angle\\\"}]}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-angle\\\"}]}},\\\"name\\\":\\\"meta.type.parameters.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#instantiation-args\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.namespace.ql\\\"}]},\\\"int\\\":{\\\"match\\\":\\\"\\\\\\\\bint(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.type.int.ql\\\"},\\\"int-literal\\\":{\\\"match\\\":\\\"-?[0-9]+(?![0-9])\\\",\\\"name\\\":\\\"constant.numeric.decimal.ql\\\"},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#dont-care\\\"},{\\\"include\\\":\\\"#and\\\"},{\\\"include\\\":\\\"#any\\\"},{\\\"include\\\":\\\"#as\\\"},{\\\"include\\\":\\\"#asc\\\"},{\\\"include\\\":\\\"#avg\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#by\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#concat\\\"},{\\\"include\\\":\\\"#count\\\"},{\\\"include\\\":\\\"#date\\\"},{\\\"include\\\":\\\"#desc\\\"},{\\\"include\\\":\\\"#else\\\"},{\\\"include\\\":\\\"#exists\\\"},{\\\"include\\\":\\\"#extends\\\"},{\\\"include\\\":\\\"#false\\\"},{\\\"include\\\":\\\"#float\\\"},{\\\"include\\\":\\\"#forall\\\"},{\\\"include\\\":\\\"#forex\\\"},{\\\"include\\\":\\\"#from\\\"},{\\\"include\\\":\\\"#if\\\"},{\\\"include\\\":\\\"#implies\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#in\\\"},{\\\"include\\\":\\\"#instanceof\\\"},{\\\"include\\\":\\\"#int\\\"},{\\\"include\\\":\\\"#max\\\"},{\\\"include\\\":\\\"#min\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"include\\\":\\\"#newtype\\\"},{\\\"include\\\":\\\"#none\\\"},{\\\"include\\\":\\\"#not\\\"},{\\\"include\\\":\\\"#or\\\"},{\\\"include\\\":\\\"#order\\\"},{\\\"include\\\":\\\"#predicate\\\"},{\\\"include\\\":\\\"#rank\\\"},{\\\"include\\\":\\\"#result\\\"},{\\\"include\\\":\\\"#select\\\"},{\\\"include\\\":\\\"#strictconcat\\\"},{\\\"include\\\":\\\"#strictcount\\\"},{\\\"include\\\":\\\"#strictsum\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#sum\\\"},{\\\"include\\\":\\\"#super\\\"},{\\\"include\\\":\\\"#then\\\"},{\\\"include\\\":\\\"#this\\\"},{\\\"include\\\":\\\"#true\\\"},{\\\"include\\\":\\\"#unique\\\"},{\\\"include\\\":\\\"#where\\\"}]},\\\"language\\\":{\\\"match\\\":\\\"\\\\\\\\blanguage(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.language.ql\\\"},\\\"language-annotation\\\":{\\\"begin\\\":\\\"\\\\\\\\b(language(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}},\\\"end\\\":\\\"(?!(?:\\\\\\\\s|$|/[*/])|\\\\\\\\[)|(?<=])\\\",\\\"name\\\":\\\"meta.block.language-annotation.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language-annotation-body\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"}]},\\\"language-annotation-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-bracket\\\"}]}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-bracket\\\"}]}},\\\"name\\\":\\\"meta.block.language-annotation-body.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\bmonotonicAggregates(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.ql\\\"}]},\\\"library\\\":{\\\"match\\\":\\\"\\\\\\\\blibrary(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.library.ql\\\"},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#float-literal\\\"},{\\\"include\\\":\\\"#int-literal\\\"},{\\\"include\\\":\\\"#string-literal\\\"}]},\\\"lower-id\\\":{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\"},\\\"max\\\":{\\\"match\\\":\\\"\\\\\\\\bmax(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.max.ql\\\"},\\\"min\\\":{\\\"match\\\":\\\"\\\\\\\\bmin(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.min.ql\\\"},\\\"module\\\":{\\\"match\\\":\\\"\\\\\\\\bmodule(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.module.ql\\\"},\\\"module-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-brace\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-brace\\\"}]}},\\\"name\\\":\\\"meta.block.module-body.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-member\\\"}]},\\\"module-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(module(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#module\\\"}]}},\\\"end\\\":\\\"(?<=[;}])\\\",\\\"name\\\":\\\"meta.block.module-declaration.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module-body\\\"},{\\\"include\\\":\\\"#implements-clause\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.namespace.ql\\\"}]},\\\"module-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#import-directive\\\"},{\\\"include\\\":\\\"#import-as-clause\\\"},{\\\"include\\\":\\\"#module-declaration\\\"},{\\\"include\\\":\\\"#newtype-declaration\\\"},{\\\"include\\\":\\\"#newtype-branch-name-with-prefix\\\"},{\\\"include\\\":\\\"#predicate-parameter-list\\\"},{\\\"include\\\":\\\"#predicate-body\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#select-clause\\\"},{\\\"include\\\":\\\"#predicate-or-field-declaration\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"include\\\":\\\"#annotation\\\"}]},\\\"module-qualifier\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\\\\\\\s*::)\\\",\\\"name\\\":\\\"entity.name.type.namespace.ql\\\"},\\\"newtype\\\":{\\\"match\\\":\\\"\\\\\\\\bnewtype(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.newtype.ql\\\"},\\\"newtype-branch-name-with-prefix\\\":{\\\"begin\\\":\\\"=|\\\\\\\\bor(?![0-9A-Z_a-z])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#or\\\"},{\\\"include\\\":\\\"#comparison-operator\\\"}]}},\\\"end\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.ql\\\"}},\\\"name\\\":\\\"meta.block.newtype-branch-name-with-prefix.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#non-context-sensitive\\\"}]},\\\"newtype-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(newtype(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#newtype\\\"}]}},\\\"end\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.ql\\\"}},\\\"name\\\":\\\"meta.block.newtype-declaration.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#non-context-sensitive\\\"}]},\\\"non-context-sensitive\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#operator-or-punctuation\\\"},{\\\"include\\\":\\\"#keyword\\\"}]},\\\"none\\\":{\\\"match\\\":\\\"\\\\\\\\bnone(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.quantifier.none.ql\\\"},\\\"not\\\":{\\\"match\\\":\\\"\\\\\\\\bnot(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.not.ql\\\"},\\\"open-angle\\\":{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"punctuation.anglebracket.open.ql\\\"},\\\"open-brace\\\":{\\\"match\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"punctuation.curlybrace.open.ql\\\"},\\\"open-bracket\\\":{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"punctuation.squarebracket.open.ql\\\"},\\\"open-paren\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.parenthesis.open.ql\\\"},\\\"operator-or-punctuation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#relational-operator\\\"},{\\\"include\\\":\\\"#comparison-operator\\\"},{\\\"include\\\":\\\"#arithmetic-operator\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#dot\\\"},{\\\"include\\\":\\\"#dotdot\\\"},{\\\"include\\\":\\\"#pipe\\\"},{\\\"include\\\":\\\"#open-paren\\\"},{\\\"include\\\":\\\"#close-paren\\\"},{\\\"include\\\":\\\"#open-brace\\\"},{\\\"include\\\":\\\"#close-brace\\\"},{\\\"include\\\":\\\"#open-bracket\\\"},{\\\"include\\\":\\\"#close-bracket\\\"},{\\\"include\\\":\\\"#open-angle\\\"},{\\\"include\\\":\\\"#close-angle\\\"}]},\\\"or\\\":{\\\"match\\\":\\\"\\\\\\\\bor(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.or.ql\\\"},\\\"order\\\":{\\\"match\\\":\\\"\\\\\\\\border(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.order.order.ql\\\"},\\\"override\\\":{\\\"match\\\":\\\"\\\\\\\\boverride(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.override.ql\\\"},\\\"pipe\\\":{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.pipe.ql\\\"},\\\"pragma\\\":{\\\"match\\\":\\\"\\\\\\\\bpragma(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.pragma.ql\\\"},\\\"pragma-annotation\\\":{\\\"begin\\\":\\\"\\\\\\\\b(pragma(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#pragma\\\"}]}},\\\"end\\\":\\\"(?!(?:\\\\\\\\s|$|/[*/])|\\\\\\\\[)|(?<=])\\\",\\\"name\\\":\\\"meta.block.pragma-annotation.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#pragma-annotation-body\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"}]},\\\"pragma-annotation-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-bracket\\\"}]}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-bracket\\\"}]}},\\\"name\\\":\\\"meta.block.pragma-annotation-body.ql\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:inline|noinline|nomagic|noopt)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ql\\\"}]},\\\"predicate\\\":{\\\"match\\\":\\\"\\\\\\\\bpredicate(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.predicate.ql\\\"},\\\"predicate-body\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-brace\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-brace\\\"}]}},\\\"name\\\":\\\"meta.block.predicate-body.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#predicate-body-contents\\\"}]},\\\"predicate-body-contents\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expr-as-clause\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"include\\\":\\\"#module-qualifier\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\\\\\\s*[*+]?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"entity.name.function.ql\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.other.ql\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.ql\\\"}]},\\\"predicate-or-field-declaration\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))(?!\\\\\\\\b(?:(?:_(?![0-9A-Z_a-z])|and(?![0-9A-Z_a-z])|any(?![0-9A-Z_a-z])|as(?![0-9A-Z_a-z])|asc(?![0-9A-Z_a-z])|avg(?![0-9A-Z_a-z])|boolean(?![0-9A-Z_a-z])|by(?![0-9A-Z_a-z])|class(?![0-9A-Z_a-z])|concat(?![0-9A-Z_a-z])|count(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|desc(?![0-9A-Z_a-z])|else(?![0-9A-Z_a-z])|exists(?![0-9A-Z_a-z])|extends(?![0-9A-Z_a-z])|false(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|forall(?![0-9A-Z_a-z])|forex(?![0-9A-Z_a-z])|from(?![0-9A-Z_a-z])|if(?![0-9A-Z_a-z])|implies(?![0-9A-Z_a-z])|import(?![0-9A-Z_a-z])|in(?![0-9A-Z_a-z])|instanceof(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|max(?![0-9A-Z_a-z])|min(?![0-9A-Z_a-z])|module(?![0-9A-Z_a-z])|newtype(?![0-9A-Z_a-z])|none(?![0-9A-Z_a-z])|not(?![0-9A-Z_a-z])|or(?![0-9A-Z_a-z])|order(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|rank(?![0-9A-Z_a-z])|result(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])|strictconcat(?![0-9A-Z_a-z])|strictcount(?![0-9A-Z_a-z])|strictsum(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])|sum(?![0-9A-Z_a-z])|super(?![0-9A-Z_a-z])|then(?![0-9A-Z_a-z])|this(?![0-9A-Z_a-z])|true(?![0-9A-Z_a-z])|unique(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z]))|(?:abstract(?![0-9A-Z_a-z])|additional(?![0-9A-Z_a-z])|bindingset(?![0-9A-Z_a-z])|cached(?![0-9A-Z_a-z])|default(?![0-9A-Z_a-z])|deprecated(?![0-9A-Z_a-z])|external(?![0-9A-Z_a-z])|final(?![0-9A-Z_a-z])|language(?![0-9A-Z_a-z])|library(?![0-9A-Z_a-z])|override(?![0-9A-Z_a-z])|pragma(?![0-9A-Z_a-z])|private(?![0-9A-Z_a-z])|query(?![0-9A-Z_a-z])|signature(?![0-9A-Z_a-z])|transient(?![0-9A-Z_a-z]))))|(?=\\\\\\\\b(?:boolean(?![0-9A-Z_a-z])|date(?![0-9A-Z_a-z])|float(?![0-9A-Z_a-z])|int(?![0-9A-Z_a-z])|predicate(?![0-9A-Z_a-z])|string(?![0-9A-Z_a-z])))|(?=@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z]))\\\",\\\"end\\\":\\\"(?<=[;}])\\\",\\\"name\\\":\\\"meta.block.predicate-or-field-declaration.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#predicate-parameter-list\\\"},{\\\"include\\\":\\\"#predicate-body\\\"},{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"include\\\":\\\"#module-qualifier\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"variable.field.ql\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.function.ql\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.ql\\\"}]},\\\"predicate-parameter-list\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#open-paren\\\"}]}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#close-paren\\\"}]}},\\\"name\\\":\\\"meta.block.predicate-parameter-list.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])(?=\\\\\\\\s*[),])\\\",\\\"name\\\":\\\"variable.parameter.ql\\\"},{\\\"include\\\":\\\"#module-qualifier\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])|@[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"entity.name.type.ql\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.parameter.ql\\\"}]},\\\"predicate-start-keyword\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#date\\\"},{\\\"include\\\":\\\"#float\\\"},{\\\"include\\\":\\\"#int\\\"},{\\\"include\\\":\\\"#predicate\\\"},{\\\"include\\\":\\\"#string\\\"}]},\\\"private\\\":{\\\"match\\\":\\\"\\\\\\\\bprivate(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.private.ql\\\"},\\\"query\\\":{\\\"match\\\":\\\"\\\\\\\\bquery(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.query.ql\\\"},\\\"rank\\\":{\\\"match\\\":\\\"\\\\\\\\brank(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.rank.ql\\\"},\\\"relational-operator\\\":{\\\"match\\\":\\\"<=?|>=?\\\",\\\"name\\\":\\\"keyword.operator.relational.ql\\\"},\\\"result\\\":{\\\"match\\\":\\\"\\\\\\\\bresult(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.language.result.ql\\\"},\\\"select\\\":{\\\"match\\\":\\\"\\\\\\\\bselect(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.query.select.ql\\\"},\\\"select-as-clause\\\":{\\\"begin\\\":\\\"\\\\\\\\b(as(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#as\\\"}]}},\\\"end\\\":\\\"(?<=[0-9A-Z_a-z])(?![0-9A-Z_a-z])\\\",\\\"match\\\":\\\"meta.block.select-as-clause.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#non-context-sensitive\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.other.ql\\\"}]},\\\"select-clause\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b(?:from(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])))\\\",\\\"end\\\":\\\"(?!\\\\\\\\b(?:from(?![0-9A-Z_a-z])|where(?![0-9A-Z_a-z])|select(?![0-9A-Z_a-z])))\\\",\\\"name\\\":\\\"meta.block.select-clause.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#from-section\\\"},{\\\"include\\\":\\\"#where-section\\\"},{\\\"include\\\":\\\"#select-section\\\"}]},\\\"select-section\\\":{\\\"begin\\\":\\\"\\\\\\\\b(select(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#select\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.block.select-section.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#predicate-body-contents\\\"},{\\\"include\\\":\\\"#select-as-clause\\\"}]},\\\"semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.statement.ql\\\"},\\\"signature\\\":{\\\"match\\\":\\\"\\\\\\\\bsignature(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.signature.ql\\\"},\\\"simple-id\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Za-z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\"},\\\"strictconcat\\\":{\\\"match\\\":\\\"\\\\\\\\bstrictconcat(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.strictconcat.ql\\\"},\\\"strictcount\\\":{\\\"match\\\":\\\"\\\\\\\\bstrictcount(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.strictcount.ql\\\"},\\\"strictsum\\\":{\\\"match\\\":\\\"\\\\\\\\bstrictsum(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.strictsum.ql\\\"},\\\"string\\\":{\\\"match\\\":\\\"\\\\\\\\bstring(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.type.string.ql\\\"},\\\"string-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.ql\\\"},\\\"string-literal\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ql\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ql\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ql\\\"}},\\\"name\\\":\\\"string.quoted.double.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-escape\\\"}]},\\\"sum\\\":{\\\"match\\\":\\\"\\\\\\\\bsum(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.sum.ql\\\"},\\\"super\\\":{\\\"match\\\":\\\"\\\\\\\\bsuper(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.language.super.ql\\\"},\\\"then\\\":{\\\"match\\\":\\\"\\\\\\\\bthen(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.other.then.ql\\\"},\\\"this\\\":{\\\"match\\\":\\\"\\\\\\\\bthis(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"variable.language.this.ql\\\"},\\\"transient\\\":{\\\"match\\\":\\\"\\\\\\\\btransient(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"storage.modifier.transient.ql\\\"},\\\"true\\\":{\\\"match\\\":\\\"\\\\\\\\btrue(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"constant.language.boolean.true.ql\\\"},\\\"unique\\\":{\\\"match\\\":\\\"\\\\\\\\bunique(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.aggregate.unique.ql\\\"},\\\"upper-id\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*(?![0-9A-Z_a-z])\\\"},\\\"where\\\":{\\\"match\\\":\\\"\\\\\\\\bwhere(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"keyword.query.where.ql\\\"},\\\"where-section\\\":{\\\"begin\\\":\\\"\\\\\\\\b(where(?![0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#where\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\bselect(?![0-9A-Z_a-z]))\\\",\\\"name\\\":\\\"meta.block.where-section.ql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#predicate-body-contents\\\"}]},\\\"whitespace-or-comment-start\\\":{\\\"match\\\":\\\"\\\\\\\\s|$|/[*/]\\\"}},\\\"scopeName\\\":\\\"source.ql\\\",\\\"aliases\\\":[\\\"ql\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "codeql" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ms0BAA0z5B,CAAC,EAEl15BC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Du0Ki9n9.js b/src/webview-ui/build/assets/chunk-Du0Ki9n9.js new file mode 100644 index 0000000000..47c2c1f24f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Du0Ki9n9.js @@ -0,0 +1,10 @@ +import e from "./chunk-jQY0bNUL.js" +import "./chunk-C2tOF0e5.js" +const n = Object.freeze( + JSON.parse( + '{"displayName":"LaTeX","name":"latex","patterns":[{"match":"(?<=\\\\\\\\(?:[@\\\\w]|[@\\\\w]{2}|[@\\\\w]{3}|[@\\\\w]{4}|[@\\\\w]{5}|[@\\\\w]{6}))\\\\s","name":"meta.space-after-command.latex"},{"begin":"((\\\\\\\\)(?:usepackage|documentclass))\\\\b(?=[\\\\[{])","beginCaptures":{"1":{"name":"keyword.control.preamble.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.preamble.latex","patterns":[{"include":"#multiline-optional-arg"},{"begin":"((?:\\\\G|(?<=]))\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"support.class.latex","end":"(})","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"$self"}]}]},{"begin":"((\\\\\\\\)in(?:clude|put))(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.include.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.include.latex","patterns":[{"include":"$self"}]},{"begin":"((\\\\\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\\\*?)((?:\\\\[[^\\\\[]*?]){0,2})(\\\\{)","beginCaptures":{"1":{"name":"support.function.section.latex"},"2":{"name":"punctuation.definition.function.latex"},"4":{"patterns":[{"include":"#optional-arg-bracket"}]},"5":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"entity.name.section.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.section.$3.latex","patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{songs}\\\\{.*})","captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"contentName":"meta.data.environment.songs.latex","end":"(\\\\\\\\end\\\\{songs}(?:\\\\s*\\\\n)?)","name":"meta.function.environment.songs.latex","patterns":[{"include":"text.tex.latex#songs-chords"}]},{"begin":"\\\\s*((\\\\\\\\)beginsong)(?=\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"punctuation.definition.arguments.end.latex"}},"end":"((\\\\\\\\)endsong)(?:\\\\s*\\\\n)?","name":"meta.function.environment.song.latex","patterns":[{"include":"#multiline-arg-no-highlight"},{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=[]}]))\\\\s*","contentName":"meta.data.environment.song.latex","end":"\\\\s*(?=\\\\\\\\endsong)","patterns":[{"include":"text.tex.latex#songs-chords"}]}]},{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(lstlisting|minted|pyglist)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(asy(?:|mptote))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.asy"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(bash)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.shell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(c(?:|pp))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.cpp.embedded.latex"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(css)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.css"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(gnuplot)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.gnuplot"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(h(?:s|askell))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.haskell"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(html)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.html.basic"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(java)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.java"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:l|ulia))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.julia"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(j(?:s|avascript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.js"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(lua)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.lua"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(py|python|sage)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.python"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(r(?:b|uby))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ruby"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(rust)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.rust"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(t(?:s|ypescript))(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.ts"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(xml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"text.xml"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)(yaml)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:minted|lstlisting|pyglist)})","patterns":[{"include":"source.yaml"}]},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:lstlisting|minted|pyglist)})","name":"meta.embedded.block.generic.latex"}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{asy(?:|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{asy(?:|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.asymptote","end":"^\\\\s*(?=\\\\\\\\end\\\\{asy(?:|code)\\\\*?})","patterns":[{"include":"source.asymptote"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{cppcode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{cppcode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{cppcode\\\\*?})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{dot(?:2tex|code)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.dot","end":"^\\\\s*(?=\\\\\\\\end\\\\{dot(?:2tex|code)\\\\*?})","patterns":[{"include":"source.dot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{gnuplot\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{gnuplot\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{gnuplot\\\\*?})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{hscode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{hscode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{hscode\\\\*?})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{luacode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{luacode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{luacode\\\\*?})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{scalacode\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{scalacode\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.scala","end":"^\\\\s*(?=\\\\\\\\end\\\\{scalacode\\\\*?})","patterns":[{"include":"source.scala"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}(?:\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\[{]|\\\\s*$)","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\s*\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}}},{"begin":"^(?=\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\*?})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\s*\\\\\\\\begin\\\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\\\*?)}(?:\\\\[.*])?(?:\\\\{.*})?","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"contentName":"meta.function.embedded.latex","end":"\\\\\\\\end\\\\{\\\\1}(?:\\\\s*\\\\n)?","name":"meta.embedded.block.generic.latex"},{"begin":"((?:^\\\\s*)?\\\\\\\\begin\\\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?))})(?:\\\\[[^]]*]){0,2}(?=\\\\{)","captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"(\\\\\\\\end\\\\{\\\\2})","patterns":[{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:asy(?:|mptote))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.asy","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.asy"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:bash)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.shell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.shell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:c(?:|pp))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.cpp.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:css)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.css","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.css"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:gnuplot)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.gnuplot","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.gnuplot"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:h(?:s|askell))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.haskell","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.haskell"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:html)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.html","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.html.basic"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:java)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.java","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.java"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:l|ulia))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.julia","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.julia"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:j(?:s|avascript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.js","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.js"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:lua)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.lua","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.lua"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:py|python|sage)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.python","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.python"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:r(?:b|uby))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ruby","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ruby"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:rust)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.rust","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.rust"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:t(?:s|ypescript))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.ts","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.ts"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:xml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.xml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.xml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:yaml)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"source.yaml","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"source.yaml"}]}]},{"begin":"\\\\G(\\\\{)(?:__|[a-z\\\\s]*)(?i:tikz(?:|picture))","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"text.tex.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"include":"text.tex.latex"}]}]},{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","patterns":[{"begin":"\\\\G","end":"(})\\\\s*$","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"},{"include":"$self"}]},{"begin":"^(\\\\s*)","contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\*?|PlaceholderFromCode\\\\*?|SetPlaceholderCode\\\\*?)})","name":"meta.embedded.block.generic.latex"}]}]},{"begin":"(?:^\\\\s*)?\\\\\\\\begin\\\\{(terminal\\\\*?)}(?=[\\\\[{])","captures":{"0":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"end":"\\\\\\\\end\\\\{\\\\1}","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([A-Za-z]*)(})","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.function.embedded.latex","end":"^\\\\s*(?=\\\\\\\\end\\\\{terminal\\\\*?})","name":"meta.embedded.block.generic.latex"}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:asy(?:|mptote))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.asy","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.asy"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:bash)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.shell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.shell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:c(?:|pp))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.cpp.embedded.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.cpp.embedded.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:css)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.css"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:gnuplot)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.gnuplot","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.gnuplot"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:h(?:s|askell))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.haskell","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.haskell"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:html)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.html","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.html.basic"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:java)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.java","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.java"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:l|ulia))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.julia","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.julia"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:j(?:s|avascript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.js","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.js"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:lua)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:py|python|sage)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.python","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.python"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:r(?:b|uby))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ruby","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ruby"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:rust)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.rust","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.rust"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:t(?:s|ypescript))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.ts"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:xml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.xml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.xml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:yaml)\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.yaml","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.yaml"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=\\\\[(?i:tikz(?:|picture))\\\\b|\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"text.tex.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex.latex"}]}]},{"begin":"((\\\\\\\\)cacheMeCode)(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"}},"end":"(?<=})","patterns":[{"include":"text.tex.latex#multiline-optional-arg-no-highlight"},{"begin":"(?<=])(\\\\{)","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.embedded.block.generic.latex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"text.tex#braces"}]}]},{"begin":"((\\\\\\\\)addplot)\\\\+?(\\\\[[^\\\\[]*])*\\\\s*(gnuplot)\\\\s*(\\\\[[^\\\\[]*])*\\\\s*(\\\\{)","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"variable.parameter.function.latex"},"5":{"patterns":[{"include":"#optional-arg-bracket"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"\\\\s*(};)","patterns":[{"begin":"%","beginCaptures":{"0":{"name":"punctuation.definition.comment.latex"}},"end":"$\\\\n?","name":"comment.line.percentage.latex"},{"include":"source.gnuplot"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\\\*?)})","captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{VerbatimOut}\\\\{[^}]*})","captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{VerbatimOut})","name":"meta.function.verbatim.latex"},{"begin":"(\\\\s*\\\\\\\\begin\\\\{alltt})","captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"contentName":"markup.raw.verbatim.latex","end":"(\\\\\\\\end\\\\{alltt})","name":"meta.function.alltt.latex","patterns":[{"captures":{"1":{"name":"punctuation.definition.function.latex"}},"match":"(\\\\\\\\)[A-Za-z]+","name":"support.function.general.latex"}]},{"begin":"(\\\\s*\\\\\\\\begin\\\\{([Cc]omment)})","captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"contentName":"comment.line.percentage.latex","end":"(\\\\\\\\end\\\\{\\\\2})","name":"meta.function.verbatim.latex"},{"begin":"\\\\s*((\\\\\\\\)h(?:ref|yperref|yperimage))(?=[\\\\[{])","beginCaptures":{"1":{"name":"support.function.url.latex"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.function.hyperlink.latex","patterns":[{"include":"#multiline-optional-arg-no-highlight"},{"begin":"(?:\\\\G|(?<=]))(\\\\{)([^}]*)(})(?:\\\\{[^}]*}){2}?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"markup.underline.link.latex"},"3":{"name":"punctuation.definition.arguments.end.latex"},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]},{"begin":"(?:\\\\G|(?<=]))(?:(\\\\{)[^}]*(}))?(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.latex"},"2":{"name":"punctuation.definition.arguments.end.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"meta.variable.parameter.function.latex","end":"(?=})","patterns":[{"include":"$self"}]}]},{"captures":{"1":{"name":"support.function.url.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"markup.underline.link.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)(?:url|path))(\\\\{)([^}]*)(})","name":"meta.function.link.url.latex"},{"captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\begin\\\\{document})","name":"meta.function.begin-document.latex"},{"captures":{"1":{"patterns":[{"include":"#begin-env-tokenizer"}]}},"match":"(\\\\s*\\\\\\\\end\\\\{document})","name":"meta.function.end-document.latex"},{"begin":"\\\\s*((\\\\\\\\)begin)(\\\\{)((?:\\\\+?array|equation|(?:IEEE)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|\\\\+?cases|(?:display)?math|\\\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\\\s*\\\\n)?","captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"}},"contentName":"meta.math.block.latex support.class.math.block.environment.latex","end":"\\\\s*((\\\\\\\\)end)(\\\\{)(\\\\4)(})(?:\\\\s*\\\\n)?","name":"meta.function.environment.math.latex","patterns":[{"match":"(?]*>)?((?:\\\\[[^]]*])*)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#autocites-arg"}]},"4":{"patterns":[{"include":"#optional-arg-angle-no-highlight"}]},"5":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"6":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"captures":{"1":{"name":"comment.line.percentage.tex"},"2":{"name":"punctuation.definition.comment.tex"}},"match":"((%).*)$"},{"match":"[-.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]},{"begin":"((\\\\\\\\)bibentry)(\\\\{)","captures":{"1":{"name":"keyword.control.cite.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.citation.latex","patterns":[{"match":"[.:\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.citation.latex"}]},{"begin":"((\\\\\\\\)\\\\w*[Rr]ef\\\\*?)(?:\\\\[[^]]*])?(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.reference.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"constant.other.reference.label.latex"}]},{"captures":{"1":{"name":"keyword.control.ref.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.label.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.begin.latex"},"7":{"name":"constant.other.reference.label.latex"},"8":{"name":"punctuation.definition.arguments.end.latex"}},"match":"((\\\\\\\\)\\\\w*[Rr]efrange\\\\*?)(?:\\\\[[^]]*])?(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})(\\\\{)([!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+)(})"},{"include":"#definition-label"},{"begin":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((\\\\\\\\)scantokens)(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"support.function.verb.latex"},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"punctuation.definition.begin.latex"}},"contentName":"markup.raw.verb.latex","end":"(})","endCaptures":{"1":{"name":"punctuation.definition.end.latex"}},"name":"meta.function.verb.latex","patterns":[{"include":"$self"}]},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.verb.latex"},"4":{"name":"markup.raw.verb.latex"},"5":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:[Vv]|spv)erb\\\\*?)\\\\s*((?<=\\\\s)\\\\S|[^A-Za-z])(.*?)(\\\\3|$)","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"markup.raw.verb.latex"},"8":{"name":"punctuation.definition.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"},"10":{"name":"markup.raw.verb.latex"},"11":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)mint(?:|inline))((?:\\\\[[^\\\\[]*?])?)(\\\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\\\6)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"markup.raw.verb.latex"},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"markup.raw.verb.latex"},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)[a-z]+inline)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.python","patterns":[{"include":"source.python"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.python","patterns":[{"include":"source.python"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"captures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.verb.latex"},"5":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"6":{"name":"punctuation.definition.verb.latex"},"7":{"name":"punctuation.definition.verb.latex"},"8":{"name":"source.julia","patterns":[{"include":"source.julia"}]},"9":{"name":"punctuation.definition.verb.latex"}},"match":"((\\\\\\\\)j(?:l|ulia)[cv]?)((?:\\\\[[^\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\4)|(\\\\{)(.*?)(}))","name":"meta.function.verb.latex"},{"begin":"((\\\\\\\\)(?:directlua|luadirect|luaexec))(\\\\{)","beginCaptures":{"1":{"name":"support.function.verb.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"}},"contentName":"source.lua","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"patterns":[{"include":"source.lua"}]},{"match":"\\\\\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\\\b","name":"keyword.control.layout.latex"},{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$\\\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\$\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\$","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tex"}},"end":"\\\\$","endCaptures":{"0":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.latex"},{"include":"text.tex#math-content"},{"include":"$self"}]},{"begin":"\\\\\\\\\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.latex"}},"end":"\\\\\\\\]","endCaptures":{"0":{"name":"punctuation.definition.string.end.latex"}},"name":"meta.math.block.latex support.class.math.block.environment.latex","patterns":[{"include":"text.tex#math-content"},{"include":"$self"}]},{"captures":{"1":{"name":"punctuation.definition.constant.latex"}},"match":"(\\\\\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\\\b","name":"constant.character.latex"},{"captures":{"1":{"name":"punctuation.definition.variable.latex"}},"match":"(\\\\\\\\)(?:[cgl]_+[@_\\\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\\\p{Alphabetic}]+[@\\\\p{Alphabetic}])","name":"variable.other.latex3.latex"},{"captures":{"1":{"name":"punctuation.definition.column-specials.begin.latex"},"2":{"name":"punctuation.definition.column-specials.end.latex"}},"match":"[<>](\\\\{)\\\\$(})","name":"meta.column-specials.latex"},{"include":"text.tex"}],"repository":{"autocites-arg":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#optional-arg-parenthesis-no-highlight"}]},"2":{"patterns":[{"include":"#optional-arg-bracket-no-highlight"}]},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"constant.other.reference.citation.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"patterns":[{"include":"#autocites-arg"}]}},"match":"((?:\\\\([^)]*\\\\)){0,2})((?:\\\\[[^]]*]){0,2})(\\\\{)([-.:_\\\\p{Alphabetic}\\\\p{N}]+)(})(.*)"}]},"begin-env-tokenizer":{"captures":{"1":{"name":"support.function.be.latex"},"2":{"name":"punctuation.definition.function.latex"},"3":{"name":"punctuation.definition.arguments.begin.latex"},"4":{"name":"variable.parameter.function.latex"},"5":{"name":"punctuation.definition.arguments.end.latex"},"6":{"name":"punctuation.definition.arguments.optional.begin.latex"},"7":{"patterns":[{"include":"$self"}]},"8":{"name":"punctuation.definition.arguments.optional.end.latex"},"9":{"name":"punctuation.definition.arguments.begin.latex"},"10":{"name":"variable.parameter.function.latex"},"11":{"name":"punctuation.definition.arguments.end.latex"}},"match":"\\\\s*((\\\\\\\\)(?:begin|end))(\\\\{)(\\\\p{Alphabetic}+\\\\*?)(})(?:(\\\\[)([^]]*)(])){0,2}(?:(\\\\{)([^{}]*)(}))?"},"definition-label":{"begin":"((\\\\\\\\)z?label)((?:\\\\[[^\\\\[]*?])*)(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.label.latex"},"2":{"name":"punctuation.definition.keyword.latex"},"3":{"patterns":[{"include":"#optional-arg-bracket"}]},"4":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.definition.label.latex","patterns":[{"match":"[!*,-/:^_\\\\p{Alphabetic}\\\\p{N}]+","name":"variable.parameter.definition.label.latex"}]},"multiline-arg-no-highlight":{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.latex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.latex"}},"name":"meta.parameter.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg":{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"contentName":"variable.parameter.function.latex","end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"multiline-optional-arg-no-highlight":{"begin":"(?:\\\\G|(?<=}))\\\\s*\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.arguments.optional.begin.latex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.optional.end.latex"}},"name":"meta.parameter.optional.latex","patterns":[{"include":"$self"}]},"optional-arg-angle-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(<)[^<]*?(>)","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)([^\\\\[]*?)(])","name":"meta.parameter.optional.latex"}]},"optional-arg-bracket-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\[)[^\\\\[]*?(])","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"variable.parameter.function.latex"},"3":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()([^(]*?)(\\\\))","name":"meta.parameter.optional.latex"}]},"optional-arg-parenthesis-no-highlight":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.arguments.optional.begin.latex"},"2":{"name":"punctuation.definition.arguments.optional.end.latex"}},"match":"(\\\\()[^(]*?(\\\\))","name":"meta.parameter.optional.latex"}]},"songs-chords":{"patterns":[{"begin":"\\\\\\\\\\\\[","end":"]","name":"meta.chord.block.latex support.class.chord.block.environment.latex","patterns":[{"include":"$self"}]},{"match":"\\\\^","name":"meta.chord.block.latex support.class.chord.block.environment.latex"},{"include":"$self"}]}},"scopeName":"text.tex.latex","embeddedLangs":["tex"],"embeddedLangsLazy":["shellscript","css","gnuplot","haskell","html","java","julia","javascript","lua","python","ruby","rust","typescript","xml","yaml","scala"]}', + ), + ), + i = [...e, n] +export { i as default } +//# sourceMappingURL=chunk-Du0Ki9n9.js.map diff --git a/src/webview-ui/build/assets/chunk-Du0Ki9n9.js.map b/src/webview-ui/build/assets/chunk-Du0Ki9n9.js.map new file mode 100644 index 0000000000..de47e8a595 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Du0Ki9n9.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-Du0Ki9n9.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/latex.mjs" + ], + "sourcesContent": [ + "import tex from './tex.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"LaTeX\\\",\\\"name\\\":\\\"latex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\\\\\\\\\(?:[@\\\\\\\\w]|[@\\\\\\\\w]{2}|[@\\\\\\\\w]{3}|[@\\\\\\\\w]{4}|[@\\\\\\\\w]{5}|[@\\\\\\\\w]{6}))\\\\\\\\s\\\",\\\"name\\\":\\\"meta.space-after-command.latex\\\"},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)(?:usepackage|documentclass))\\\\\\\\b(?=[\\\\\\\\[{])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.preamble.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.preamble.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg\\\"},{\\\"begin\\\":\\\"((?:\\\\\\\\G|(?<=]))\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"support.class.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)in(?:clude|put))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.include.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.include.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)\\\\\\\\*?)((?:\\\\\\\\[[^\\\\\\\\[]*?]){0,2})(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.section.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"entity.name.section.latex\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.function.section.$3.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{songs}\\\\\\\\{.*})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"contentName\\\":\\\"meta.data.environment.songs.latex\\\",\\\"end\\\":\\\"(\\\\\\\\\\\\\\\\end\\\\\\\\{songs}(?:\\\\\\\\s*\\\\\\\\n)?)\\\",\\\"name\\\":\\\"meta.function.environment.songs.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#songs-chords\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*((\\\\\\\\\\\\\\\\)beginsong)(?=\\\\\\\\{)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.be.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"end\\\":\\\"((\\\\\\\\\\\\\\\\)endsong)(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"name\\\":\\\"meta.function.environment.song.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-arg-no-highlight\\\"},{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=[]}]))\\\\\\\\s*\\\",\\\"contentName\\\":\\\"meta.data.environment.song.latex\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\\\\\\\\\endsong)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#songs-chords\\\"}]}]},{\\\"begin\\\":\\\"(?:^\\\\\\\\s*)?\\\\\\\\\\\\\\\\begin\\\\\\\\{(lstlisting|minted|pyglist)}(?=[\\\\\\\\[{])\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\end\\\\\\\\{\\\\\\\\1}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(asy(?:|mptote))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.asy\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asy\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(bash)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.shell\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(c(?:|pp))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.cpp.embedded.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp.embedded.latex\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(css)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(gnuplot)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.gnuplot\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gnuplot\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(h(?:s|askell))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.haskell\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(html)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(java)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.java\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(j(?:l|ulia))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.julia\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(j(?:s|avascript))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(lua)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.lua\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(py|python|sage)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(r(?:b|uby))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(rust)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.rust\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(t(?:s|ypescript))(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(xml)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)(yaml)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"source.yaml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:minted|lstlisting|pyglist)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)([A-Za-z]*)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"meta.function.embedded.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:lstlisting|minted|pyglist)})\\\",\\\"name\\\":\\\"meta.embedded.block.generic.latex\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{asy(?:|code)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{asy(?:|code)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.asymptote\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{asy(?:|code)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asymptote\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{cppcode\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{cppcode\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.cpp.embedded.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{cppcode\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp.embedded.latex\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{dot(?:2tex|code)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{dot(?:2tex|code)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.dot\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{dot(?:2tex|code)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dot\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{gnuplot\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{gnuplot\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.gnuplot\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{gnuplot\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gnuplot\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{hscode\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{hscode\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.haskell\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{hscode\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.java\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{java(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.julia\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{jl(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.julia\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{julia(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{luacode\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{luacode\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.lua\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{luacode\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{py(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{pylab(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|pythonq??|pythonrepl)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{scalacode\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{scalacode\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.scala\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{scalacode\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}(?:\\\\\\\\[[-0-9A-Z_a-z]*])?(?=[\\\\\\\\[{]|\\\\\\\\s*$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}}},{\\\"begin\\\":\\\"^(?=\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{sympy(?:code|verbatim|block|concode|console|converbatim)\\\\\\\\*?})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{((?:[A-Za-z]*code|lstlisting|minted|pyglist)\\\\\\\\*?)}(?:\\\\\\\\[.*])?(?:\\\\\\\\{.*})?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"contentName\\\":\\\"meta.function.embedded.latex\\\",\\\"end\\\":\\\"\\\\\\\\\\\\\\\\end\\\\\\\\{\\\\\\\\1}(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"name\\\":\\\"meta.embedded.block.generic.latex\\\"},{\\\"begin\\\":\\\"((?:^\\\\\\\\s*)?\\\\\\\\\\\\\\\\begin\\\\\\\\{((?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?))})(?:\\\\\\\\[[^]]*]){0,2}(?=\\\\\\\\{)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"(\\\\\\\\\\\\\\\\end\\\\\\\\{\\\\\\\\2})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:asy(?:|mptote))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.asy\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asy\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:bash)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.shell\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:c(?:|pp))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.cpp.embedded.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp.embedded.latex\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:css)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:gnuplot)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.gnuplot\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gnuplot\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:h(?:s|askell))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.haskell\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:html)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:java)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.java\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:j(?:l|ulia))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.julia\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:j(?:s|avascript))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:lua)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.lua\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:py|python|sage)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:r(?:b|uby))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:rust)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.rust\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:t(?:s|ypescript))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:xml)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:yaml)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"source.yaml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)(?:__|[a-z\\\\\\\\s]*)(?i:tikz(?:|picture))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"text.tex.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(})\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)\\\",\\\"contentName\\\":\\\"meta.function.embedded.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{(?:RobExt)?(?:CacheMeCode|PlaceholderPathFromCode\\\\\\\\*?|PlaceholderFromCode\\\\\\\\*?|SetPlaceholderCode\\\\\\\\*?)})\\\",\\\"name\\\":\\\"meta.embedded.block.generic.latex\\\"}]}]},{\\\"begin\\\":\\\"(?:^\\\\\\\\s*)?\\\\\\\\\\\\\\\\begin\\\\\\\\{(terminal\\\\\\\\*?)}(?=[\\\\\\\\[{])\\\",\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\end\\\\\\\\{\\\\\\\\1}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)([A-Za-z]*)(})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"meta.function.embedded.latex\\\",\\\"end\\\":\\\"^\\\\\\\\s*(?=\\\\\\\\\\\\\\\\end\\\\\\\\{terminal\\\\\\\\*?})\\\",\\\"name\\\":\\\"meta.embedded.block.generic.latex\\\"}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:asy(?:|mptote))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.asy\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.asy\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:bash)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.shell\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:c(?:|pp))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.cpp.embedded.latex\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp.embedded.latex\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:css)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:gnuplot)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.gnuplot\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.gnuplot\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:h(?:s|askell))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.haskell\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:html)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:java)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.java\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:j(?:l|ulia))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.julia\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:j(?:s|avascript))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:lua)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.lua\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:py|python|sage)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.python\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:r(?:b|uby))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.ruby\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:rust)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.rust\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:t(?:s|ypescript))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:xml)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:yaml)\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.yaml\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=\\\\\\\\[(?i:tikz(?:|picture))\\\\\\\\b|\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"text.tex.latex\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)cacheMeCode)(?=[\\\\\\\\[{])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?<=])(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"meta.embedded.block.generic.latex\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#braces\\\"}]}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)addplot)\\\\\\\\+?(\\\\\\\\[[^\\\\\\\\[]*])*\\\\\\\\s*(gnuplot)\\\\\\\\s*(\\\\\\\\[[^\\\\\\\\[]*])*\\\\\\\\s*(\\\\\\\\{)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.be.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(};)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.latex\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.percentage.latex\\\"},{\\\"include\\\":\\\"source.gnuplot\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{((?:fboxv|boxedv|[Vv]|spv)erbatim\\\\\\\\*?)})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"contentName\\\":\\\"markup.raw.verbatim.latex\\\",\\\"end\\\":\\\"(\\\\\\\\\\\\\\\\end\\\\\\\\{\\\\\\\\2})\\\",\\\"name\\\":\\\"meta.function.verbatim.latex\\\"},{\\\"begin\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{VerbatimOut}\\\\\\\\{[^}]*})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"contentName\\\":\\\"markup.raw.verbatim.latex\\\",\\\"end\\\":\\\"(\\\\\\\\\\\\\\\\end\\\\\\\\{VerbatimOut})\\\",\\\"name\\\":\\\"meta.function.verbatim.latex\\\"},{\\\"begin\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{alltt})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"contentName\\\":\\\"markup.raw.verbatim.latex\\\",\\\"end\\\":\\\"(\\\\\\\\\\\\\\\\end\\\\\\\\{alltt})\\\",\\\"name\\\":\\\"meta.function.alltt.latex\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)[A-Za-z]+\\\",\\\"name\\\":\\\"support.function.general.latex\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{([Cc]omment)})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"contentName\\\":\\\"comment.line.percentage.latex\\\",\\\"end\\\":\\\"(\\\\\\\\\\\\\\\\end\\\\\\\\{\\\\\\\\2})\\\",\\\"name\\\":\\\"meta.function.verbatim.latex\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*((\\\\\\\\\\\\\\\\)h(?:ref|yperref|yperimage))(?=[\\\\\\\\[{])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.url.latex\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.function.hyperlink.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#multiline-optional-arg-no-highlight\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(\\\\\\\\{)([^}]*)(})(?:\\\\\\\\{[^}]*}){2}?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"meta.variable.parameter.function.latex\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=]))(?:(\\\\\\\\{)[^}]*(}))?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"meta.variable.parameter.function.latex\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.url.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"markup.underline.link.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((\\\\\\\\\\\\\\\\)(?:url|path))(\\\\\\\\{)([^}]*)(})\\\",\\\"name\\\":\\\"meta.function.link.url.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\begin\\\\\\\\{document})\\\",\\\"name\\\":\\\"meta.function.begin-document.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#begin-env-tokenizer\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\s*\\\\\\\\\\\\\\\\end\\\\\\\\{document})\\\",\\\"name\\\":\\\"meta.function.end-document.latex\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*((\\\\\\\\\\\\\\\\)begin)(\\\\\\\\{)((?:\\\\\\\\+?array|equation|(?:IEEE)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|\\\\\\\\+?cases|(?:display)?math|\\\\\\\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\\\\\\\s*\\\\\\\\n)?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.be.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"contentName\\\":\\\"meta.math.block.latex support.class.math.block.environment.latex\\\",\\\"end\\\":\\\"\\\\\\\\s*((\\\\\\\\\\\\\\\\)end)(\\\\\\\\{)(\\\\\\\\4)(})(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"name\\\":\\\"meta.function.environment.math.latex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?]*>)?((?:\\\\\\\\[[^]]*])*)(\\\\\\\\{)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.cite.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#autocites-arg\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-angle-no-highlight\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket-no-highlight\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.citation.latex\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.percentage.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tex\\\"}},\\\"match\\\":\\\"((%).*)$\\\"},{\\\"match\\\":\\\"[-.:\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+\\\",\\\"name\\\":\\\"constant.other.reference.citation.latex\\\"}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)bibentry)(\\\\\\\\{)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.cite.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.citation.latex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[.:\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+\\\",\\\"name\\\":\\\"constant.other.reference.citation.latex\\\"}]},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)\\\\\\\\w*[Rr]ef\\\\\\\\*?)(?:\\\\\\\\[[^]]*])?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ref.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.reference.label.latex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[!*,-/:^_\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+\\\",\\\"name\\\":\\\"constant.other.reference.label.latex\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ref.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.other.reference.label.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.other.reference.label.latex\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)\\\\\\\\w*[Rr]efrange\\\\\\\\*?)(?:\\\\\\\\[[^]]*])?(\\\\\\\\{)([!*,-/:^_\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+)(})(\\\\\\\\{)([!*,-/:^_\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+)(})\\\"},{\\\"include\\\":\\\"#definition-label\\\"},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)(?:[Vv]|spv)erb\\\\\\\\*?)\\\\\\\\s*((\\\\\\\\\\\\\\\\)scantokens)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.begin.latex\\\"}},\\\"contentName\\\":\\\"markup.raw.verb.latex\\\",\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.end.latex\\\"}},\\\"name\\\":\\\"meta.function.verb.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"markup.raw.verb.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)(?:[Vv]|spv)erb\\\\\\\\*?)\\\\\\\\s*((?<=\\\\\\\\s)\\\\\\\\S|[^A-Za-z])(.*?)(\\\\\\\\3|$)\\\",\\\"name\\\":\\\"meta.function.verb.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"7\\\":{\\\"name\\\":\\\"markup.raw.verb.latex\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.raw.verb.latex\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)mint(?:|inline))((?:\\\\\\\\[[^\\\\\\\\[]*?])?)(\\\\\\\\{)[A-Za-z]*(})(?:([^A-Za-{])(.*?)(\\\\\\\\6)|(\\\\\\\\{)(.*?)(}))\\\",\\\"name\\\":\\\"meta.function.verb.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"markup.raw.verb.latex\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.raw.verb.latex\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)[a-z]+inline)((?:\\\\\\\\[[^\\\\\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\\\\\4)|(\\\\\\\\{)(.*?)(}))\\\",\\\"name\\\":\\\"meta.function.verb.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"source.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"8\\\":{\\\"name\\\":\\\"source.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\\\\\\\[[^\\\\\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\\\\\4)|(\\\\\\\\{)(.*?)(}))\\\",\\\"name\\\":\\\"meta.function.verb.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"source.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"},\\\"8\\\":{\\\"name\\\":\\\"source.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.verb.latex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)j(?:l|ulia)[cv]?)((?:\\\\\\\\[[^\\\\\\\\[]*?])?)(?:([^A-Za-{])(.*?)(\\\\\\\\4)|(\\\\\\\\{)(.*?)(}))\\\",\\\"name\\\":\\\"meta.function.verb.latex\\\"},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)(?:directlua|luadirect|luaexec))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.verb.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"contentName\\\":\\\"source.lua\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}]},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:newline|pagebreak|clearpage|linebreak|pause)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.layout.latex\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.latex\\\"}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.latex\\\"}},\\\"name\\\":\\\"meta.math.block.latex support.class.math.block.environment.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#math-content\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.latex\\\"}},\\\"end\\\":\\\"\\\\\\\\$\\\\\\\\$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.latex\\\"}},\\\"name\\\":\\\"meta.math.block.latex support.class.math.block.environment.latex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.character.escape.latex\\\"},{\\\"include\\\":\\\"text.tex#math-content\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tex\\\"}},\\\"end\\\":\\\"\\\\\\\\$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tex\\\"}},\\\"name\\\":\\\"meta.math.block.tex support.class.math.block.tex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.character.escape.latex\\\"},{\\\"include\\\":\\\"text.tex#math-content\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.latex\\\"}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.latex\\\"}},\\\"name\\\":\\\"meta.math.block.latex support.class.math.block.environment.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex#math-content\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd((?:femin|mascul)ine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t((?:|ent)housand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight((?:dbl|)base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.character.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(?:[cgl]_+[@_\\\\\\\\p{Alphabetic}]+_[a-z]+|[qs]_[@_\\\\\\\\p{Alphabetic}]+[@\\\\\\\\p{Alphabetic}])\\\",\\\"name\\\":\\\"variable.other.latex3.latex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.column-specials.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.column-specials.end.latex\\\"}},\\\"match\\\":\\\"[<>](\\\\\\\\{)\\\\\\\\$(})\\\",\\\"name\\\":\\\"meta.column-specials.latex\\\"},{\\\"include\\\":\\\"text.tex\\\"}],\\\"repository\\\":{\\\"autocites-arg\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-parenthesis-no-highlight\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket-no-highlight\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.other.reference.citation.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#autocites-arg\\\"}]}},\\\"match\\\":\\\"((?:\\\\\\\\([^)]*\\\\\\\\)){0,2})((?:\\\\\\\\[[^]]*]){0,2})(\\\\\\\\{)([-.:_\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+)(})(.*)\\\"}]},\\\"begin-env-tokenizer\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.be.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"},\\\"10\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((\\\\\\\\\\\\\\\\)(?:begin|end))(\\\\\\\\{)(\\\\\\\\p{Alphabetic}+\\\\\\\\*?)(})(?:(\\\\\\\\[)([^]]*)(])){0,2}(?:(\\\\\\\\{)([^{}]*)(}))?\\\"},\\\"definition-label\\\":{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)z?label)((?:\\\\\\\\[[^\\\\\\\\[]*?])*)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.label.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.latex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#optional-arg-bracket\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.definition.label.latex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[!*,-/:^_\\\\\\\\p{Alphabetic}\\\\\\\\p{N}]+\\\",\\\"name\\\":\\\"variable.parameter.definition.label.latex\\\"}]},\\\"multiline-arg-no-highlight\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.latex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.latex\\\"}},\\\"name\\\":\\\"meta.parameter.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"multiline-optional-arg\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"}},\\\"contentName\\\":\\\"variable.parameter.function.latex\\\",\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"name\\\":\\\"meta.parameter.optional.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"multiline-optional-arg-no-highlight\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<=}))\\\\\\\\s*\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"name\\\":\\\"meta.parameter.optional.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"optional-arg-angle-no-highlight\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"match\\\":\\\"(<)[^<]*?(>)\\\",\\\"name\\\":\\\"meta.parameter.optional.latex\\\"}]},\\\"optional-arg-bracket\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)([^\\\\\\\\[]*?)(])\\\",\\\"name\\\":\\\"meta.parameter.optional.latex\\\"}]},\\\"optional-arg-bracket-no-highlight\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\[]*?(])\\\",\\\"name\\\":\\\"meta.parameter.optional.latex\\\"}]},\\\"optional-arg-parenthesis\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.latex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\()([^(]*?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.parameter.optional.latex\\\"}]},\\\"optional-arg-parenthesis-no-highlight\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.begin.latex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.optional.end.latex\\\"}},\\\"match\\\":\\\"(\\\\\\\\()[^(]*?(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.parameter.optional.latex\\\"}]},\\\"songs-chords\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.chord.block.latex support.class.chord.block.environment.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"meta.chord.block.latex support.class.chord.block.environment.latex\\\"},{\\\"include\\\":\\\"$self\\\"}]}},\\\"scopeName\\\":\\\"text.tex.latex\\\",\\\"embeddedLangs\\\":[\\\"tex\\\"],\\\"embeddedLangsLazy\\\":[\\\"shellscript\\\",\\\"css\\\",\\\"gnuplot\\\",\\\"haskell\\\",\\\"html\\\",\\\"java\\\",\\\"julia\\\",\\\"javascript\\\",\\\"lua\\\",\\\"python\\\",\\\"ruby\\\",\\\"rust\\\",\\\"typescript\\\",\\\"xml\\\",\\\"yaml\\\",\\\"scala\\\"]}\"))\n\nexport default [\n...tex,\nlang\n]\n" + ], + "names": [ + "lang", + "latex", + "tex" + ], + "mappings": "+DAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,4pnEAA8g1E,CAAC,EAEti1EC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Dx-B1_4e.js b/src/webview-ui/build/assets/chunk-Dx-B1_4e.js new file mode 100644 index 0000000000..ce59a926ea --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Dx-B1_4e.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"WGSL","name":"wgsl","patterns":[{"include":"#line_comments"},{"include":"#block_comments"},{"include":"#keywords"},{"include":"#attributes"},{"include":"#functions"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"repository":{"attributes":{"patterns":[{"captures":{"1":{"name":"keyword.operator.attribute.at"},"2":{"name":"entity.name.attribute.wgsl"}},"match":"(@)([A-Z_a-z]+)","name":"meta.attribute.wgsl"}]},"block_comments":{"patterns":[{"match":"/\\\\*\\\\*/","name":"comment.block.wgsl"},{"begin":"/\\\\*\\\\*","end":"\\\\*/","name":"comment.block.documentation.wgsl","patterns":[{"include":"#block_comments"}]},{"begin":"/\\\\*(?!\\\\*)","end":"\\\\*/","name":"comment.block.wgsl","patterns":[{"include":"#block_comments"}]}]},"constants":{"patterns":[{"match":"(-?\\\\b[0-9][0-9]*\\\\.[0-9][0-9]*)([Ee][-+]?[0-9]+)?\\\\b","name":"constant.numeric.float.wgsl"},{"match":"(?:-?\\\\b0x\\\\h+|\\\\b0|-?\\\\b[1-9][0-9]*)\\\\b","name":"constant.numeric.decimal.wgsl"},{"match":"\\\\b(?:0x\\\\h+|0|[1-9][0-9]*)u\\\\b","name":"constant.numeric.decimal.wgsl"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.wgsl"}]},"function_calls":{"patterns":[{"begin":"([0-9A-Z_a-z]+)(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"name":"punctuation.brackets.round.wgsl"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}},"name":"meta.function.call.wgsl","patterns":[{"include":"#line_comments"},{"include":"#block_comments"},{"include":"#keywords"},{"include":"#attributes"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}]}]},"functions":{"patterns":[{"begin":"\\\\b(fn)\\\\s+([0-9A-Z_a-z]+)((\\\\()|(<))","beginCaptures":{"1":{"name":"keyword.other.fn.wgsl"},"2":{"name":"entity.name.function.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"end":"\\\\{","endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}},"name":"meta.function.definition.wgsl","patterns":[{"include":"#line_comments"},{"include":"#block_comments"},{"include":"#keywords"},{"include":"#attributes"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}]}]},"keywords":{"patterns":[{"match":"\\\\b(bitcast|block|break|case|continue|continuing|default|discard|else|elseif|enable|fallthrough|for|function|if|loop|private|read|read_write|return|storage|switch|uniform|while|workgroup|write)\\\\b","name":"keyword.control.wgsl"},{"match":"\\\\b(asm|const|do|enum|handle|mat|premerge|regardless|typedef|unless|using|vec|void)\\\\b","name":"keyword.control.wgsl"},{"match":"\\\\b(let|var)\\\\b","name":"keyword.other.wgsl storage.type.wgsl"},{"match":"\\\\b(type)\\\\b","name":"keyword.declaration.type.wgsl storage.type.wgsl"},{"match":"\\\\b(enum)\\\\b","name":"keyword.declaration.enum.wgsl storage.type.wgsl"},{"match":"\\\\b(struct)\\\\b","name":"keyword.declaration.struct.wgsl storage.type.wgsl"},{"match":"\\\\bfn\\\\b","name":"keyword.other.fn.wgsl"},{"match":"([\\\\^|]|\\\\|\\\\||&&|<<|>>|!)(?!=)","name":"keyword.operator.logical.wgsl"},{"match":"&(?![\\\\&=])","name":"keyword.operator.borrow.and.wgsl"},{"match":"((?:[-%\\\\&*+/^|]|<<|>>)=)","name":"keyword.operator.assignment.wgsl"},{"match":"(?])=(?![=>])","name":"keyword.operator.assignment.equal.wgsl"},{"match":"(=(=)?(?!>)|!=|<=|(?=)","name":"keyword.operator.comparison.wgsl"},{"match":"(([%+]|(\\\\*(?!\\\\w)))(?!=))|(-(?!>))|(/(?!/))","name":"keyword.operator.math.wgsl"},{"match":"\\\\.(?!\\\\.)","name":"keyword.operator.access.dot.wgsl"},{"match":"->","name":"keyword.operator.arrow.skinny.wgsl"}]},"line_comments":{"match":"\\\\s*//.*","name":"comment.line.double-slash.wgsl"},"punctuation":{"patterns":[{"match":",","name":"punctuation.comma.wgsl"},{"match":"[{}]","name":"punctuation.brackets.curly.wgsl"},{"match":"[()]","name":"punctuation.brackets.round.wgsl"},{"match":";","name":"punctuation.semi.wgsl"},{"match":"[]\\\\[]","name":"punctuation.brackets.square.wgsl"},{"match":"(?]","name":"punctuation.brackets.angle.wgsl"}]},"types":{"name":"storage.type.wgsl","patterns":[{"match":"\\\\b(bool|i32|u32|f32)\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b([fiu]64)\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b(vec(?:2i|3i|4i|2u|3u|4u|2f|3f|4f|2h|3h|4h))\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b(mat(?:2x2f|2x3f|2x4f|3x2f|3x3f|3x4f|4x2f|4x3f|4x4f|2x2h|2x3h|2x4h|3x2h|3x3h|3x4h|4x2h|4x3h|4x4h))\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b(vec[234]|mat[234]x[234])\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b(atomic)\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b(array)\\\\b","name":"storage.type.wgsl"},{"match":"\\\\b([A-Z][0-9A-Za-z]*)\\\\b","name":"entity.name.type.wgsl"}]},"variables":{"patterns":[{"match":"\\\\b(?>|!)(?!=)\\\",\\\"name\\\":\\\"keyword.operator.logical.wgsl\\\"},{\\\"match\\\":\\\"&(?![\\\\\\\\&=])\\\",\\\"name\\\":\\\"keyword.operator.borrow.and.wgsl\\\"},{\\\"match\\\":\\\"((?:[-%\\\\\\\\&*+/^|]|<<|>>)=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.wgsl\\\"},{\\\"match\\\":\\\"(?])=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.assignment.equal.wgsl\\\"},{\\\"match\\\":\\\"(=(=)?(?!>)|!=|<=|(?=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.wgsl\\\"},{\\\"match\\\":\\\"(([%+]|(\\\\\\\\*(?!\\\\\\\\w)))(?!=))|(-(?!>))|(/(?!/))\\\",\\\"name\\\":\\\"keyword.operator.math.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\.(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.operator.access.dot.wgsl\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.skinny.wgsl\\\"}]},\\\"line_comments\\\":{\\\"match\\\":\\\"\\\\\\\\s*//.*\\\",\\\"name\\\":\\\"comment.line.double-slash.wgsl\\\"},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.comma.wgsl\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.brackets.curly.wgsl\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.brackets.round.wgsl\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.semi.wgsl\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.brackets.square.wgsl\\\"},{\\\"match\\\":\\\"(?]\\\",\\\"name\\\":\\\"punctuation.brackets.angle.wgsl\\\"}]},\\\"types\\\":{\\\"name\\\":\\\"storage.type.wgsl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(bool|i32|u32|f32)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([fiu]64)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(vec(?:2i|3i|4i|2u|3u|4u|2f|3f|4f|2h|3h|4h))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(mat(?:2x2f|2x3f|2x4f|3x2f|3x3f|3x4f|4x2f|4x3f|4x4f|2x2h|2x3h|2x4h|3x2h|3x3h|3x4h|4x2h|4x3h|4x4h))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(vec[234]|mat[234]x[234])\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(atomic)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(array)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z][0-9A-Za-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.wgsl\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?)\\\\s+(\\\\w+)\\\\s*(=)\\\\s*(\\\\d+)","beginCaptures":{"1":{"name":"storage.type.proto"},"2":{"name":"punctuation.definition.typeparameters.begin.proto"},"3":{"name":"storage.type.proto"},"4":{"name":"storage.type.proto"},"5":{"name":"punctuation.definition.typeparameters.end.proto"},"6":{"name":"variable.other.proto"},"7":{"name":"keyword.operator.assignment.proto"},"8":{"name":"constant.numeric.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#fieldOptions"}]},"message":{"begin":"(message|extend)(\\\\s+)([A-Z_a-z][.0-9A-Z_a-z]*)(\\\\s*)(\\\\{)?","beginCaptures":{"1":{"name":"keyword.other.proto"},"3":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#reserved"},{"include":"$self"},{"include":"#enum"},{"include":"#optionStmt"},{"include":"#comments"},{"include":"#oneof"},{"include":"#field"},{"include":"#mapfield"}]},"method":{"begin":"(rpc)\\\\s+([A-Za-z][0-9A-Z_a-z]*)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.function"}},"end":"}|(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#rpcKeywords"},{"include":"#ident"}]},"number":{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\b","name":"constant.numeric.proto"},"oneof":{"begin":"(oneof)\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"variable.other.proto"}},"end":"}","patterns":[{"include":"#optionStmt"},{"include":"#comments"},{"include":"#field"}]},"optionName":{"captures":{"1":{"name":"support.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"}},"match":"(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*"},"optionStmt":{"begin":"(option)\\\\s+(\\\\w+|\\\\(\\\\w+(\\\\.\\\\w+)*\\\\))(\\\\.\\\\w+)*\\\\s*(=)","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"support.other.proto"},"3":{"name":"support.other.proto"},"4":{"name":"support.other.proto"},"5":{"name":"keyword.operator.assignment.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"include":"#constants"},{"include":"#number"},{"include":"#string"},{"include":"#subMsgOption"}]},"package":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"string.unquoted.proto.package"},"3":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(package)\\\\s+([.\\\\w]+)\\\\s*(;)"},"reserved":{"begin":"(reserved)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.proto"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.terminator.proto"}},"patterns":[{"captures":{"1":{"name":"constant.numeric.proto"},"3":{"name":"keyword.other.proto"},"4":{"name":"constant.numeric.proto"}},"match":"(\\\\d+)(\\\\s+(to)\\\\s+(\\\\d+))?"},{"include":"#string"}]},"rpcKeywords":{"match":"\\\\b(stream|returns)\\\\b","name":"keyword.other.proto"},"service":{"begin":"(service)\\\\s+([A-Za-z][.0-9A-Z_a-z]*)\\\\s*\\\\{?","beginCaptures":{"1":{"name":"keyword.other.proto"},"2":{"name":"entity.name.class.message.proto"}},"end":"}","patterns":[{"include":"#comments"},{"include":"#optionStmt"},{"include":"#method"}]},"storagetypes":{"match":"\\\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\\\b","name":"storage.type.proto"},"string":{"match":"('(['[^']])*')|(\\"([\\"[^\\"]])*\\")","name":"string.quoted.double.proto"},"subMsgOption":{"begin":"\\\\{","end":"}","patterns":[{"include":"#kv"},{"include":"#comments"}]},"syntax":{"captures":{"1":{"name":"keyword.other.proto"},"2":{"name":"keyword.operator.assignment.proto"},"3":{"name":"string.quoted.double.proto.syntax"},"4":{"name":"punctuation.terminator.proto"}},"match":"\\\\s*(syntax)\\\\s*(=)\\\\s*(\\"proto[23]\\")\\\\s*(;)"}},"scopeName":"source.proto","aliases":["protobuf"]}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-DyJlTyXw.js.map diff --git a/src/webview-ui/build/assets/chunk-DyJlTyXw.js.map b/src/webview-ui/build/assets/chunk-DyJlTyXw.js.map new file mode 100644 index 0000000000..c6fea5bb13 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DyJlTyXw.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-DyJlTyXw.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/proto.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Protocol Buffer 3\\\",\\\"fileTypes\\\":[\\\"proto\\\"],\\\"name\\\":\\\"proto\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#syntax\\\"},{\\\"include\\\":\\\"#package\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#optionStmt\\\"},{\\\"include\\\":\\\"#message\\\"},{\\\"include\\\":\\\"#enum\\\"},{\\\"include\\\":\\\"#service\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.proto\\\"},{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.proto\\\"}]},\\\"constants\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false|max|[A-Z_]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.proto\\\"},\\\"enum\\\":{\\\"begin\\\":\\\"(enum)(\\\\\\\\s+)([A-Za-z][0-9A-Z_a-z]*)(\\\\\\\\s*)(\\\\\\\\{)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.class.proto\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#reserved\\\"},{\\\"include\\\":\\\"#optionStmt\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*(=)\\\\\\\\s*(0[Xx]\\\\\\\\h+|[0-9]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.proto\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fieldOptions\\\"}]}]},\\\"field\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(optional|repeated|required)?\\\\\\\\s*\\\\\\\\b([.\\\\\\\\w]+)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*(0[Xx]\\\\\\\\h+|[0-9]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.proto\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.assignment.proto\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.proto\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fieldOptions\\\"}]},\\\"fieldOptions\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#subMsgOption\\\"},{\\\"include\\\":\\\"#optionName\\\"}]},\\\"ident\\\":{\\\"match\\\":\\\"[A-Za-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.name.class.proto\\\"},\\\"import\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.double.proto.import\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(import)\\\\\\\\s+(weak|public)?\\\\\\\\s*(\\\\\\\"[^\\\\\\\"]+\\\\\\\")\\\\\\\\s*(;)\\\"},\\\"kv\\\":{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.proto\\\"}},\\\"end\\\":\\\"(;)|,|(?=[/A-Z_a-z}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#subMsgOption\\\"}]},\\\"mapfield\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(map)\\\\\\\\s*(<)\\\\\\\\s*([.\\\\\\\\w]+)\\\\\\\\s*,\\\\\\\\s*([.\\\\\\\\w]+)\\\\\\\\s*(>)\\\\\\\\s+(\\\\\\\\w+)\\\\\\\\s*(=)\\\\\\\\s*(\\\\\\\\d+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.proto\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.proto\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.proto\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.proto\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.proto\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.numeric.proto\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fieldOptions\\\"}]},\\\"message\\\":{\\\"begin\\\":\\\"(message|extend)(\\\\\\\\s+)([A-Z_a-z][.0-9A-Z_a-z]*)(\\\\\\\\s*)(\\\\\\\\{)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.class.message.proto\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#reserved\\\"},{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#enum\\\"},{\\\"include\\\":\\\"#optionStmt\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#oneof\\\"},{\\\"include\\\":\\\"#field\\\"},{\\\"include\\\":\\\"#mapfield\\\"}]},\\\"method\\\":{\\\"begin\\\":\\\"(rpc)\\\\\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function\\\"}},\\\"end\\\":\\\"}|(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#optionStmt\\\"},{\\\"include\\\":\\\"#rpcKeywords\\\"},{\\\"include\\\":\\\"#ident\\\"}]},\\\"number\\\":{\\\"match\\\":\\\"\\\\\\\\b((0([Xx])\\\\\\\\h*)|(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.proto\\\"},\\\"oneof\\\":{\\\"begin\\\":\\\"(oneof)\\\\\\\\s+([A-Za-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\{?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.proto\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#optionStmt\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#field\\\"}]},\\\"optionName\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.proto\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+|\\\\\\\\(\\\\\\\\w+(\\\\\\\\.\\\\\\\\w+)*\\\\\\\\))(\\\\\\\\.\\\\\\\\w+)*\\\"},\\\"optionStmt\\\":{\\\"begin\\\":\\\"(option)\\\\\\\\s+(\\\\\\\\w+|\\\\\\\\(\\\\\\\\w+(\\\\\\\\.\\\\\\\\w+)*\\\\\\\\))(\\\\\\\\.\\\\\\\\w+)*\\\\\\\\s*(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.proto\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.other.proto\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.proto\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#subMsgOption\\\"}]},\\\"package\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.proto.package\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(package)\\\\\\\\s+([.\\\\\\\\w]+)\\\\\\\\s*(;)\\\"},\\\"reserved\\\":{\\\"begin\\\":\\\"(reserved)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.proto\\\"}},\\\"match\\\":\\\"(\\\\\\\\d+)(\\\\\\\\s+(to)\\\\\\\\s+(\\\\\\\\d+))?\\\"},{\\\"include\\\":\\\"#string\\\"}]},\\\"rpcKeywords\\\":{\\\"match\\\":\\\"\\\\\\\\b(stream|returns)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"service\\\":{\\\"begin\\\":\\\"(service)\\\\\\\\s+([A-Za-z][.0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\{?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.class.message.proto\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#optionStmt\\\"},{\\\"include\\\":\\\"#method\\\"}]},\\\"storagetypes\\\":{\\\"match\\\":\\\"\\\\\\\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.proto\\\"},\\\"string\\\":{\\\"match\\\":\\\"('(['[^']])*')|(\\\\\\\"([\\\\\\\"[^\\\\\\\"]])*\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.proto\\\"},\\\"subMsgOption\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#kv\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"syntax\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.proto\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.proto\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.double.proto.syntax\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.terminator.proto\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(syntax)\\\\\\\\s*(=)\\\\\\\\s*(\\\\\\\"proto[23]\\\\\\\")\\\\\\\\s*(;)\\\"}},\\\"scopeName\\\":\\\"source.proto\\\",\\\"aliases\\\":[\\\"protobuf\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "proto" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,yzMAAkrO,CAAC,EAE1sOC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-DyxjwDmM.js b/src/webview-ui/build/assets/chunk-DyxjwDmM.js new file mode 100644 index 0000000000..46f26cc8f2 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-DyxjwDmM.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + `{"displayName":"Gherkin","fileTypes":["feature"],"firstLineMatch":"기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функционалност|Функционал|Особина|Функция|Функциональность|Свойство|Могућност|Özellik|Właściwość|Tính năng|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Ability|Business Need|Feature|Egenskap|Egenskab|Crikey|Característica|Arwedd(.*)","foldingStartMarker":"^\\\\s*\\\\b(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子?|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примери?|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Значения|Örnekler|Założenia|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta?|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situācija|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenariusz|Scenariul de şablon|Scenariul de sablon|Scenariu|Scenarios|Scenario Outline|Scenario Amlinellol|Scenario|Example|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri?|Pozadí|Pozadina|Pozadie|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Kịch bản|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Exemplos|Exemples|Exemplele|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario?|Enghreifftiau|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dis is what went down|Dasar|Contoh|Contexto|Contexte|Contesto|Condiţii|Conditii|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiele|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario|Rule|Regla|Règle|Regel|Regra)","foldingStopMarker":"^\\\\s*$","name":"gherkin","patterns":[{"include":"#feature_element_keyword"},{"include":"#feature_keyword"},{"include":"#step_keyword"},{"include":"#strings_triple_quote"},{"include":"#strings_single_quote"},{"include":"#strings_double_quote"},{"include":"#comments"},{"include":"#tags"},{"include":"#scenario_outline_variable"},{"include":"#table"}],"repository":{"comments":{"captures":{"0":{"name":"comment.line.number-sign"}},"match":"^\\\\s*(#.*)"},"feature_element_keyword":{"captures":{"1":{"name":"keyword.language.gherkin.feature.scenario"},"2":{"name":"string.language.gherkin.scenario.title.title"}},"match":"^\\\\s*(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子?|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примери?|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Значения|Örnekler|Założenia|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta?|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situācija|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenariusz|Scenariul de şablon|Scenariul de sablon|Scenariu|Scenarios|Scenario Outline|Scenario Amlinellol|Scenario|Example|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri?|Pozadí|Pozadina|Pozadie|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Kịch bản|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Exemplos|Exemples|Exemplele|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario?|Enghreifftiau|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dis is what went down|Dasar|Contoh|Contexto|Contexte|Contesto|Condiţii|Conditii|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiele|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario|Rule|Regla|Règle|Regel|Regra):(.*)"},"feature_keyword":{"captures":{"1":{"name":"keyword.language.gherkin.feature"},"2":{"name":"string.language.gherkin.feature.title"}},"match":"^\\\\s*(기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функционалност|Функционал|Особина|Функция|Функциональность|Свойство|Могућност|Özellik|Właściwość|Tính năng|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Ability|Business Need|Feature|Ability|Egenskap|Egenskab|Crikey|Característica|Arwedd):(.*)\\\\b"},"scenario_outline_variable":{"match":"<[- 0-9A-Z_a-z]*>","name":"variable.other"},"step_keyword":{"captures":{"1":{"name":"keyword.language.gherkin.feature.step"}},"match":"^\\\\s*((?:En|[EYو]|Եվ|Ya|Too right|Və|Həm|[AИ]|而且|并且|同时|並且|同時|Ak|Epi|A také|Og|😂|And|Kaj|Ja|Et que|Et qu'|Et|და|Und|Και|અને|וגם|और|तथा|És|Dan|Agus|かつ|Lan|ಮತ್ತು|'ej|latlh|그리고|AN|Un|Ir|an?|Мөн|Тэгээд|Ond|7|ਅਤੇ|Aye|Oraz|Si|Și|Şi|К тому же|Также|An|A tiež|A taktiež|A zároveň|In|Ter|Och|மேலும்|மற்றும்|Һәм|Вә|మరియు|และ|Ve|І|А також|Та|اور|Ва|Và|Maar|لكن|Pero|Բայց|Peru|Yeah nah|Amma|Ancaq|Ali|Но|Però|但是|Men|Ale|😔|But|Sed|Kuid|Mutta|Mais que|Mais qu'|Mais|მაგ­რამ|Aber|Αλλά|પણ|אבל|पर|परन्तु|किन्तु|De|En|Tapi|Ach|Ma|しかし|但し|ただし|Nanging|Ananging|ಆದರೆ|'ach|'a|하지만|단|BUT|Bet|awer|mä|No|Tetapi|Гэхдээ|Харин|Ac|ਪਰ|اما|Avast!|Mas|Dar|А|Иначе|Buh|Али|Toda|Ampak|Vendar|ஆனால்|Ләкин|Әмма|కాని|แต่|Fakat|Ama|Але|لیکن|Лекин|Бирок|Аммо|Nhưng|Ond|Dan|اذاً|ثم|Alavez|Allora|Antonces|Ապա|Entós|But at the end of the day I reckon|O halda|Zatim|То|Aleshores|Cal|那么|那麼|Lè sa a|Le sa a|Onda|Pak|Så|🙏|Then|Do|Siis|Niin|Alors|Entón|Logo|მაშინ|Dann|Τότε|પછી|אזי??|तब|तदा|Akkor|Þá|Maka|Ansin|ならば|Njuk|Banjur|ನಂತರ|vaj|그러면|DEN|Tada??|dann|Тогаш|Togash|Kemudian|Тэгэхэд|Үүний дараа|Tha|Þa|Ða|Tha the|Þa þe|Ða ðe|ਤਦ|آنگاه|Let go and haul|Wtedy|Então|Entao|Atunci|Затем|Тогда|Dun|Den youse gotta|Онда|Tak|Potom|Nato|Potem|Takrat|Entonces|அப்பொழுது|Нәтиҗәдә|అప్పుడు|ดังนั้น|O zaman|Тоді|پھر|تب|Унда|Thì|Yna|Wanneer|متى|عندما|Cuan|Եթե|Երբ|Cuando|It's just unbelievable|Əgər|Nə vaxt ki|Kada|Когато|Quan|[当當]|Lè|Le|Kad|Když|Når|Als|🎬|When|Se|Kui|Kun|Quand|Lorsque|Lorsqu'|Cando|როდესაც|Wenn|Όταν|ક્યારે|כאשר|जब|कदा|Majd|Ha|Amikor|Þegar|Ketika|Nuair a|Nuair nach|Nuair ba|Nuair nár|Quando|もし|Manawa|Menawa|ಸ್ಥಿತಿಯನ್ನು|qaSDI'|만일|만약|WEN|Ja|Kai|wann|Кога|Koga|Apabila|Хэрэв|Tha|Þa|Ða|ਜਦੋਂ|هنگامی|Blimey!|Jeżeli|Jeśli|Gdy|Kiedy|Cand|Când|Когда|Если|Wun|Youse know like when|Када?|Keď|Ak|Ko|Ce|Če|Kadar|När|எப்போது|Әгәр|ఈ పరిస్థితిలో|เมื่อ|Eğer ki|Якщо|Коли|جب|Агар|Khi|Pryd|Gegewe|بفرض|Dau|Dada|Daus|Dadas|Դիցուք|Dáu|Daos|Daes|Y'know|Tutaq ki|Verilir|Dato|Дадено|Donat|Donada|Atès|Atesa|假如|假设|假定|假設|Sipoze|Sipoze ke|Sipoze Ke|Zadani??|Zadano|Pokud|Za předpokladu|Givet|Gegeven|Stel|😐|Given|Donitaĵo|Komence|Eeldades|Oletetaan|Soit|Etant donné que|Etant donné qu'|Etant donnée??|Etant donnés|Etant données|Étant donné que|Étant donné qu'|Étant donnée??|Étant donnés|Étant données|Dados??|მოცემული|Angenommen|Gegeben sei|Gegeben seien|Δεδομένου|આપેલ છે|בהינתן|अगर|यदि|चूंकि|Amennyiben|Adott|Ef|Dengan|Cuir i gcás go|Cuir i gcás nach|Cuir i gcás gur|Cuir i gcás nár|Data|Dati|Date|前提|Nalika|Nalikaning|ನೀಡಿದ|ghu' noblu'|DaH ghu' bejlu'|조건|먼저|I CAN HAZ|Kad|Duota|ugeholl|Дадена|Dadeno|Dadena|Diberi|Bagi|Өгөгдсөн нь|Анх|Gitt|Thurh|Þurh|Ðurh|ਜੇਕਰ|ਜਿਵੇਂ ਕਿ|با فرض|Gangway!|Zakładając|Mając|Zakładając, że|Date fiind|Dat fiind|Dată fiind|Dati fiind|Dați fiind|Daţi fiind|Допустим|Дано|Пусть|Givun|Youse know when youse got|За дато|За дате|За дати|Za dato|Za date|Za dati|Pokiaľ|Za predpokladu|Dano|Podano|Zaradi|Privzeto|கொடுக்கப்பட்ட|Әйтик|చెప్పబడినది|กำหนดให้|Diyelim ki|Припустимо|Припустимо, що|Нехай|اگر|بالفرض|فرض کیا|Агар|Biết|Cho|Anrhegedig a|\\\\*) )"},"strings_double_quote":{"begin":"(?\\\",\\\"name\\\":\\\"variable.other\\\"},\\\"step_keyword\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.language.gherkin.feature.step\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((?:En|[EYو]|Եվ|Ya|Too right|Və|Həm|[AИ]|而且|并且|同时|並且|同時|Ak|Epi|A také|Og|😂|And|Kaj|Ja|Et que|Et qu'|Et|და|Und|Και|અને|וגם|और|तथा|És|Dan|Agus|かつ|Lan|ಮತ್ತು|'ej|latlh|그리고|AN|Un|Ir|an?|Мөн|Тэгээд|Ond|7|ਅਤੇ|Aye|Oraz|Si|Și|Şi|К тому же|Также|An|A tiež|A taktiež|A zároveň|In|Ter|Och|மேலும்|மற்றும்|Һәм|Вә|మరియు|และ|Ve|І|А також|Та|اور|Ва|Và|Maar|لكن|Pero|Բայց|Peru|Yeah nah|Amma|Ancaq|Ali|Но|Però|但是|Men|Ale|😔|But|Sed|Kuid|Mutta|Mais que|Mais qu'|Mais|მაგ­რამ|Aber|Αλλά|પણ|אבל|पर|परन्तु|किन्तु|De|En|Tapi|Ach|Ma|しかし|但し|ただし|Nanging|Ananging|ಆದರೆ|'ach|'a|하지만|단|BUT|Bet|awer|mä|No|Tetapi|Гэхдээ|Харин|Ac|ਪਰ|اما|Avast!|Mas|Dar|А|Иначе|Buh|Али|Toda|Ampak|Vendar|ஆனால்|Ләкин|Әмма|కాని|แต่|Fakat|Ama|Але|لیکن|Лекин|Бирок|Аммо|Nhưng|Ond|Dan|اذاً|ثم|Alavez|Allora|Antonces|Ապա|Entós|But at the end of the day I reckon|O halda|Zatim|То|Aleshores|Cal|那么|那麼|Lè sa a|Le sa a|Onda|Pak|Så|🙏|Then|Do|Siis|Niin|Alors|Entón|Logo|მაშინ|Dann|Τότε|પછી|אזי??|तब|तदा|Akkor|Þá|Maka|Ansin|ならば|Njuk|Banjur|ನಂತರ|vaj|그러면|DEN|Tada??|dann|Тогаш|Togash|Kemudian|Тэгэхэд|Үүний дараа|Tha|Þa|Ða|Tha the|Þa þe|Ða ðe|ਤਦ|آنگاه|Let go and haul|Wtedy|Então|Entao|Atunci|Затем|Тогда|Dun|Den youse gotta|Онда|Tak|Potom|Nato|Potem|Takrat|Entonces|அப்பொழுது|Нәтиҗәдә|అప్పుడు|ดังนั้น|O zaman|Тоді|پھر|تب|Унда|Thì|Yna|Wanneer|متى|عندما|Cuan|Եթե|Երբ|Cuando|It's just unbelievable|Əgər|Nə vaxt ki|Kada|Когато|Quan|[当當]|Lè|Le|Kad|Když|Når|Als|🎬|When|Se|Kui|Kun|Quand|Lorsque|Lorsqu'|Cando|როდესაც|Wenn|Όταν|ક્યારે|כאשר|जब|कदा|Majd|Ha|Amikor|Þegar|Ketika|Nuair a|Nuair nach|Nuair ba|Nuair nár|Quando|もし|Manawa|Menawa|ಸ್ಥಿತಿಯನ್ನು|qaSDI'|만일|만약|WEN|Ja|Kai|wann|Кога|Koga|Apabila|Хэрэв|Tha|Þa|Ða|ਜਦੋਂ|هنگامی|Blimey!|Jeżeli|Jeśli|Gdy|Kiedy|Cand|Când|Когда|Если|Wun|Youse know like when|Када?|Keď|Ak|Ko|Ce|Če|Kadar|När|எப்போது|Әгәр|ఈ పరిస్థితిలో|เมื่อ|Eğer ki|Якщо|Коли|جب|Агар|Khi|Pryd|Gegewe|بفرض|Dau|Dada|Daus|Dadas|Դիցուք|Dáu|Daos|Daes|Y'know|Tutaq ki|Verilir|Dato|Дадено|Donat|Donada|Atès|Atesa|假如|假设|假定|假設|Sipoze|Sipoze ke|Sipoze Ke|Zadani??|Zadano|Pokud|Za předpokladu|Givet|Gegeven|Stel|😐|Given|Donitaĵo|Komence|Eeldades|Oletetaan|Soit|Etant donné que|Etant donné qu'|Etant donnée??|Etant donnés|Etant données|Étant donné que|Étant donné qu'|Étant donnée??|Étant donnés|Étant données|Dados??|მოცემული|Angenommen|Gegeben sei|Gegeben seien|Δεδομένου|આપેલ છે|בהינתן|अगर|यदि|चूंकि|Amennyiben|Adott|Ef|Dengan|Cuir i gcás go|Cuir i gcás nach|Cuir i gcás gur|Cuir i gcás nár|Data|Dati|Date|前提|Nalika|Nalikaning|ನೀಡಿದ|ghu' noblu'|DaH ghu' bejlu'|조건|먼저|I CAN HAZ|Kad|Duota|ugeholl|Дадена|Dadeno|Dadena|Diberi|Bagi|Өгөгдсөн нь|Анх|Gitt|Thurh|Þurh|Ðurh|ਜੇਕਰ|ਜਿਵੇਂ ਕਿ|با فرض|Gangway!|Zakładając|Mając|Zakładając, że|Date fiind|Dat fiind|Dată fiind|Dati fiind|Dați fiind|Daţi fiind|Допустим|Дано|Пусть|Givun|Youse know when youse got|За дато|За дате|За дати|Za dato|Za date|Za dati|Pokiaľ|Za predpokladu|Dano|Podano|Zaradi|Privzeto|கொடுக்கப்பட்ட|Әйтик|చెప్పబడినది|กำหนดให้|Diyelim ki|Припустимо|Припустимо, що|Нехай|اگر|بالفرض|فرض کیا|Агар|Biết|Cho|Anrhegedig a|\\\\\\\\*) )\\\"},\\\"strings_double_quote\\\":{\\\"begin\\\":\\\"(?","name":"keyword.operator.nushell"},{"include":"#function-multiple-inout"}]},"function-multiple-inout":{"begin":"(?<=]\\\\s*)(:)\\\\s+(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.in-out.nushell"},"2":{"name":"meta.brace.square.begin.nushell"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}},"patterns":[{"include":"#types"},{"captures":{"1":{"name":"punctuation.separator.nushell"}},"match":"\\\\s*(,)\\\\s*"},{"captures":{"1":{"name":"keyword.operator.nushell"}},"match":"\\\\s+(->)\\\\s+"}]},"function-parameter":{"patterns":[{"captures":{"1":{"name":"keyword.control.nushell"}},"match":"(-{0,2}|\\\\.{3})[-\\\\w]+(?:\\\\((-[?\\\\w])\\\\))?","name":"variable.parameter.nushell"},{"begin":"\\\\??:\\\\s*","end":"(?=\\\\s+(?:-{0,2}|\\\\.{3})[-\\\\w]+|\\\\s*(?:[]#,=@|]|$))","patterns":[{"include":"#types"}]},{"begin":"@(?=[\\"'])","end":"(?<=[\\"'])","patterns":[{"include":"#string"}]},{"begin":"=\\\\s*","end":"(?=\\\\s+-{0,2}[-\\\\w]+|\\\\s*(?:[]#,|]|$))","name":"default.value.nushell","patterns":[{"include":"#value"}]}]},"function-parameters":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.begin.nushell"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.end.nushell"}},"name":"meta.function.parameters.nushell","patterns":[{"include":"#function-parameter"},{"include":"#comment"}]},"internal-variables":{"match":"\\\\$(?:nu|env)\\\\b","name":"variable.language.nushell"},"keyword":{"match":"def(?:-env)?","name":"keyword.other.nushell"},"module":{"begin":"((?:export\\\\s+)?module)\\\\s+([-\\\\w]+)\\\\s*\\\\{","beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.module.end.nushell"}},"name":"meta.module.nushell","patterns":[{"include":"source.nushell"}]},"numbers":{"match":"(?]=?|[!=]~|\\\\+\\\\+=?)(?= |$)","name":"keyword.control.nushell"},"operators-word":{"match":"(?<=[ (])(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?=[ )]|$)","name":"keyword.control.nushell"},"parameters":{"captures":{"1":{"name":"keyword.control.nushell"}},"match":"(?<=\\\\s)(-{1,2})[-\\\\w]+","name":"variable.parameter.nushell"},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.begin.nushell"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.end.nushell"}},"name":"meta.expression.parenthesis.nushell","patterns":[{"include":"#expression"}]},"pre-command":{"begin":"(\\\\w+)(=)","beginCaptures":{"1":{"name":"variable.other.nushell"},"2":{"patterns":[{"include":"#operators"}]}},"end":"(?=\\\\s+)","patterns":[{"include":"#value"}]},"ranges":{"match":"\\\\.\\\\.","name":"meta.list.nushell","patterns":[{"include":"#types"}]},{"begin":"\\\\b(record)\\\\s*<","beginCaptures":{"1":{"name":"entity.name.type.nushell"}},"end":">","name":"meta.record.nushell","patterns":[{"captures":{"1":{"name":"variable.parameter.nushell"}},"match":"([-\\\\w]+|\\"[- \\\\w]+\\"|'[^']+')\\\\s*:\\\\s*"},{"include":"#types"}]},{"match":"\\\\b(\\\\w+)\\\\b","name":"entity.name.type.nushell"}]},"use-module":{"patterns":[{"captures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"},"3":{"name":"keyword.other.nushell"}},"match":"^\\\\s*((?:export )?use)\\\\s+([-\\\\w]+|\\"[- \\\\w]+\\"|'[- \\\\w]+')(?:\\\\s+([-\\\\w]+|\\"[- \\\\w]+\\"|'[- \\\\w]+'|\\\\*))?\\\\s*;?$"},{"begin":"^\\\\s*((?:export )?use)\\\\s+([-\\\\w]+|\\"[- \\\\w]+\\"|'[- \\\\w]+')\\\\s*\\\\[","beginCaptures":{"1":{"name":"entity.name.function.nushell"},"2":{"name":"entity.name.namespace.nushell"}},"end":"(])\\\\s*;?\\\\s*$","endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}},"patterns":[{"captures":{"1":{"name":"keyword.other.nushell"}},"match":"([-\\\\w]+|\\"[- \\\\w]+\\"|'[- \\\\w]+'|\\\\*),?"},{"include":"#comment"}]},{"captures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"captures":{"1":{"name":"entity.name.namespace.nushell"}},"match":"([- \\\\w]+)(?:\\\\.nu)?(?=$|[\\"'])"}]},"4":{"name":"keyword.other.nushell"}},"match":"(?(?:[/\\\\\\\\]|~[/\\\\\\\\]|\\\\.\\\\.?[/\\\\\\\\])?(?:[^/\\\\\\\\]+[/\\\\\\\\])*[- \\\\w]+(?:\\\\.nu)?){0}^\\\\s*((?:export )?use)\\\\s+(\\"\\\\g\\"|'\\\\g'|(?![\\"'])\\\\g)(?:\\\\s+([-\\\\w]+|\\"[- \\\\w]+\\"|'[^']+'|\\\\*))?\\\\s*;?$"},{"begin":"(?(?:[/\\\\\\\\]|~[/\\\\\\\\]|\\\\.\\\\.?[/\\\\\\\\])?(?:[^/\\\\\\\\]+[/\\\\\\\\])*[- \\\\w]+(?:\\\\.nu)?){0}^\\\\s*((?:export )?use)\\\\s+(\\"\\\\g\\"|'\\\\g'|(?![\\"'])\\\\g)\\\\s+\\\\[","beginCaptures":{"2":{"name":"entity.name.function.nushell"},"3":{"name":"string.bare.nushell","patterns":[{"captures":{"1":{"name":"entity.name.namespace.nushell"}},"match":"([- \\\\w]+)(?:\\\\.nu)?(?=$|[\\"'])"}]}},"end":"(])\\\\s*;?\\\\s*$","endCaptures":{"1":{"name":"meta.brace.square.end.nushell"}},"patterns":[{"captures":{"0":{"name":"keyword.other.nushell"}},"match":"([-\\\\w]+|\\"[- \\\\w]+\\"|'[- \\\\w]+'|\\\\*),?"},{"include":"#comment"}]},{"captures":{"0":{"name":"entity.name.function.nushell"}},"match":"^\\\\s*(?:export )?use\\\\b"}]},"value":{"patterns":[{"include":"#variables"},{"include":"#variable-fields"},{"include":"#control-keywords"},{"include":"#constant-value"},{"include":"#table"},{"include":"#operators"},{"include":"#paren-expression"},{"include":"#braced-expression"},{"include":"#string"},{"include":"#comment"}]},"variable-fields":{"match":"(?<=[])}])(?:\\\\.(?:[-\\\\w]+|\\"[- \\\\w]+\\"))+","name":"variable.other.nushell"},"variables":{"captures":{"1":{"patterns":[{"include":"#internal-variables"},{"match":"\\\\$.+","name":"variable.other.nushell"}]},"2":{"name":"variable.other.nushell"}},"match":"(\\\\$[0-9A-Z_a-z]+)((?:\\\\.(?:[-\\\\w]+|\\"[- \\\\w]+\\"))*)"}},"scopeName":"source.nushell","aliases":["nu"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-I3RK9BU8.js.map diff --git a/src/webview-ui/build/assets/chunk-I3RK9BU8.js.map b/src/webview-ui/build/assets/chunk-I3RK9BU8.js.map new file mode 100644 index 0000000000..25824f6c6e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-I3RK9BU8.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-I3RK9BU8.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/nushell.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"nushell\\\",\\\"name\\\":\\\"nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#define-variable\\\"},{\\\"include\\\":\\\"#define-alias\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#extern\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"include\\\":\\\"#use-module\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comment\\\"}],\\\"repository\\\":{\\\"binary\\\":{\\\"begin\\\":\\\"\\\\\\\\b(0x)(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.begin.nushell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.begin.nushell\\\"}},\\\"name\\\":\\\"constant.binary.nushell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\h{2}\\\",\\\"name\\\":\\\"constant.numeric.nushell\\\"}]},\\\"braced-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.nushell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.nushell\\\"}},\\\"name\\\":\\\"meta.expression.braced.nushell\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\\\\\\s*\\\\\\\\|\\\",\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"meta.closure.parameters.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameter\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(:)\\\\\\\\s*\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$\\\\\\\"((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*)\\\\\\\")\\\\\\\\s*(:)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.record-entry.nushell\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"(\\\\\\\"(?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")\\\\\\\\s*(:)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.record-entry.nushell\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$'([^']*)')\\\\\\\\s*(:)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.record-entry.nushell\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"('[^']*')\\\\\\\\s*(:)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.record-entry.nushell\\\"},{\\\"include\\\":\\\"#spread\\\"},{\\\"include\\\":\\\"source.nushell\\\"}]},\\\"command\\\":{\\\"begin\\\":\\\"(?\\\",\\\"name\\\":\\\"keyword.operator.nushell\\\"},{\\\"include\\\":\\\"#function-multiple-inout\\\"}]},\\\"function-multiple-inout\\\":{\\\"begin\\\":\\\"(?<=]\\\\\\\\s*)(:)\\\\\\\\s+(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.in-out.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.begin.nushell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.end.nushell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.nushell\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nushell\\\"}},\\\"match\\\":\\\"\\\\\\\\s+(->)\\\\\\\\s+\\\"}]},\\\"function-parameter\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"(-{0,2}|\\\\\\\\.{3})[-\\\\\\\\w]+(?:\\\\\\\\((-[?\\\\\\\\w])\\\\\\\\))?\\\",\\\"name\\\":\\\"variable.parameter.nushell\\\"},{\\\"begin\\\":\\\"\\\\\\\\??:\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s+(?:-{0,2}|\\\\\\\\.{3})[-\\\\\\\\w]+|\\\\\\\\s*(?:[]#,=@|]|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\"}]},{\\\"begin\\\":\\\"@(?=[\\\\\\\"'])\\\",\\\"end\\\":\\\"(?<=[\\\\\\\"'])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"=\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s+-{0,2}[-\\\\\\\\w]+|\\\\\\\\s*(?:[]#,|]|$))\\\",\\\"name\\\":\\\"default.value.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}]}]},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.begin.nushell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.end.nushell\\\"}},\\\"name\\\":\\\"meta.function.parameters.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameter\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"internal-variables\\\":{\\\"match\\\":\\\"\\\\\\\\$(?:nu|env)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.nushell\\\"},\\\"keyword\\\":{\\\"match\\\":\\\"def(?:-env)?\\\",\\\"name\\\":\\\"keyword.other.nushell\\\"},\\\"module\\\":{\\\"begin\\\":\\\"((?:export\\\\\\\\s+)?module)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.nushell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.module.end.nushell\\\"}},\\\"name\\\":\\\"meta.module.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.nushell\\\"}]},\\\"numbers\\\":{\\\"match\\\":\\\"(?]=?|[!=]~|\\\\\\\\+\\\\\\\\+=?)(?= |$)\\\",\\\"name\\\":\\\"keyword.control.nushell\\\"},\\\"operators-word\\\":{\\\"match\\\":\\\"(?<=[ (])(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?=[ )]|$)\\\",\\\"name\\\":\\\"keyword.control.nushell\\\"},\\\"parameters\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.nushell\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)(-{1,2})[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"variable.parameter.nushell\\\"},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.begin.nushell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.end.nushell\\\"}},\\\"name\\\":\\\"meta.expression.parenthesis.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"pre-command\\\":{\\\"begin\\\":\\\"(\\\\\\\\w+)(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operators\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s+)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}]},\\\"ranges\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"meta.list.nushell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(record)\\\\\\\\s*<\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.nushell\\\"}},\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"meta.record.nushell\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.nushell\\\"}},\\\"match\\\":\\\"([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[^']+')\\\\\\\\s*:\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#types\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.nushell\\\"}]},\\\"use-module\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.nushell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.nushell\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((?:export )?use)\\\\\\\\s+([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[- \\\\\\\\w]+')(?:\\\\\\\\s+([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[- \\\\\\\\w]+'|\\\\\\\\*))?\\\\\\\\s*;?$\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((?:export )?use)\\\\\\\\s+([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[- \\\\\\\\w]+')\\\\\\\\s*\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.nushell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.nushell\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*;?\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.end.nushell\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.nushell\\\"}},\\\"match\\\":\\\"([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[- \\\\\\\\w]+'|\\\\\\\\*),?\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.nushell\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.bare.nushell\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace.nushell\\\"}},\\\"match\\\":\\\"([- \\\\\\\\w]+)(?:\\\\\\\\.nu)?(?=$|[\\\\\\\"'])\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.nushell\\\"}},\\\"match\\\":\\\"(?(?:[/\\\\\\\\\\\\\\\\]|~[/\\\\\\\\\\\\\\\\]|\\\\\\\\.\\\\\\\\.?[/\\\\\\\\\\\\\\\\])?(?:[^/\\\\\\\\\\\\\\\\]+[/\\\\\\\\\\\\\\\\])*[- \\\\\\\\w]+(?:\\\\\\\\.nu)?){0}^\\\\\\\\s*((?:export )?use)\\\\\\\\s+(\\\\\\\"\\\\\\\\g\\\\\\\"|'\\\\\\\\g'|(?![\\\\\\\"'])\\\\\\\\g)(?:\\\\\\\\s+([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[^']+'|\\\\\\\\*))?\\\\\\\\s*;?$\\\"},{\\\"begin\\\":\\\"(?(?:[/\\\\\\\\\\\\\\\\]|~[/\\\\\\\\\\\\\\\\]|\\\\\\\\.\\\\\\\\.?[/\\\\\\\\\\\\\\\\])?(?:[^/\\\\\\\\\\\\\\\\]+[/\\\\\\\\\\\\\\\\])*[- \\\\\\\\w]+(?:\\\\\\\\.nu)?){0}^\\\\\\\\s*((?:export )?use)\\\\\\\\s+(\\\\\\\"\\\\\\\\g\\\\\\\"|'\\\\\\\\g'|(?![\\\\\\\"'])\\\\\\\\g)\\\\\\\\s+\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.nushell\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.bare.nushell\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace.nushell\\\"}},\\\"match\\\":\\\"([- \\\\\\\\w]+)(?:\\\\\\\\.nu)?(?=$|[\\\\\\\"'])\\\"}]}},\\\"end\\\":\\\"(])\\\\\\\\s*;?\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.end.nushell\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.nushell\\\"}},\\\"match\\\":\\\"([-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"|'[- \\\\\\\\w]+'|\\\\\\\\*),?\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.function.nushell\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(?:export )?use\\\\\\\\b\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#variable-fields\\\"},{\\\"include\\\":\\\"#control-keywords\\\"},{\\\"include\\\":\\\"#constant-value\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#paren-expression\\\"},{\\\"include\\\":\\\"#braced-expression\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-fields\\\":{\\\"match\\\":\\\"(?<=[])}])(?:\\\\\\\\.(?:[-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"))+\\\",\\\"name\\\":\\\"variable.other.nushell\\\"},\\\"variables\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#internal-variables\\\"},{\\\"match\\\":\\\"\\\\\\\\$.+\\\",\\\"name\\\":\\\"variable.other.nushell\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.nushell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$[0-9A-Z_a-z]+)((?:\\\\\\\\.(?:[-\\\\\\\\w]+|\\\\\\\"[- \\\\\\\\w]+\\\\\\\"))*)\\\"}},\\\"scopeName\\\":\\\"source.nushell\\\",\\\"aliases\\\":[\\\"nu\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "nushell" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2xmBAAuoqB,CAAC,EAE/pqBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-IeuSbFQv.js b/src/webview-ui/build/assets/chunk-IeuSbFQv.js new file mode 100644 index 0000000000..aa65abdfee --- /dev/null +++ b/src/webview-ui/build/assets/chunk-IeuSbFQv.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Qt Style Sheets","name":"qss","patterns":[{"include":"#comment-block"},{"include":"#rule-list"},{"include":"#selector"}],"repository":{"color":{"patterns":[{"begin":"\\\\b(rgba??|hsva??|hsla??)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.qss"}},"description":"Color Type","end":"\\\\)","patterns":[{"include":"#comment-block"},{"include":"#number"}]},{"match":"\\\\b(white|black|red|darkred|green|darkgreen|blue|darkblue|cyan|darkcyan|magenta|darkmagenta|yellow|darkyellow|gray|darkgray|lightgray|transparent|color0|color1)\\\\b","name":"support.constant.property-value.named-color.qss"},{"match":"#(\\\\h{3}|\\\\h{6}|\\\\h{8})\\\\b","name":"support.constant.property-value.color.qss"}]},"comment-block":{"patterns":[{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.qss"}]},"icon-properties":{"patterns":[{"match":"\\\\b((?:backward|cd|computer|desktop|dialog-apply|dialog-cancel|dialog-close|dialog-discard|dialog-help|dialog-no|dialog-ok|dialog-open|dialog-reset|dialog-save|dialog-yes|directory-closed|directory|directory-link|directory-open|dockwidget-close|downarrow|dvd|file|file-link|filedialog-contentsview|filedialog-detailedview|filedialog-end|filedialog-infoview|filedialog-listview|filedialog-new-directory|filedialog-parent-directory|filedialog-start|floppy|forward|harddisk|home|leftarrow|messagebox-critical|messagebox-information|messagebox-question|messagebox-warning|network|rightarrow|titlebar-contexthelp|titlebar-maximize|titlebar-menu|titlebar-minimize|titlebar-normal|titlebar-close|titlebar-shade|titlebar-unshade|trash|uparrow)-icon)\\\\b","name":"support.type.property-name.qss"}]},"id-selector":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.qss"},"2":{"name":"entity.name.tag.qss"}},"match":"(#)([A-Za-z][-0-9A-Z_a-z]*)"}]},"number":{"patterns":[{"description":"floating number","match":"\\\\b(\\\\d+)?\\\\.(\\\\d+)\\\\b","name":"constant.numeric.qss"},{"description":"percentage","match":"\\\\b(\\\\d+)%","name":"constant.numeric.qss"},{"description":"length","match":"\\\\b(\\\\d+)(px|pt|em|ex)?\\\\b","name":"constant.numeric.qss"},{"description":"integer","match":"\\\\b(\\\\d+)\\\\b","name":"constant.numeric.qss"}]},"properties":{"patterns":[{"include":"#property-values"},{"match":"\\\\b(paint-alternating-row-colors-for-empty-area|dialogbuttonbox-buttons-have-icons|titlebar-show-tooltips-on-buttons|messagebox-text-interaction-flags|lineedit-password-mask-delay|outline-bottom-right-radius|lineedit-password-character|selection-background-color|outline-bottom-left-radius|border-bottom-right-radius|alternate-background-color|widget-animation-duration|border-bottom-left-radius|show-decoration-selected|outline-top-right-radius|outline-top-left-radius|border-top-right-radius|border-top-left-radius|background-attachment|subcontrol-position|border-bottom-width|border-bottom-style|border-bottom-color|background-position|border-right-width|border-right-style|border-right-color|subcontrol-origin|border-left-width|border-left-style|border-left-color|background-origin|background-repeat|border-top-width|border-top-style|border-top-color|background-image|background-color|text-decoration|selection-color|background-clip|padding-bottom|outline-radius|outline-offset|image-position|gridline-color|padding-right|outline-style|outline-color|margin-bottom|button-layout|border-radius|border-bottom|padding-left|margin-right|border-width|border-style|border-image|border-color|border-right|padding-top|margin-left|font-weight|font-family|border-left|text-align|min-height|max-height|margin-top|font-style|border-top|background|min-width|max-width|icon-size|font-size|position|spacing|padding|outline|opacity|margin|height|bottom|border|width|right|image|color|left|font|top)\\\\b","name":"support.type.property-name.qss"},{"include":"#icon-properties"}]},"property-selector":{"patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#comment-block"},{"include":"#string"},{"match":"\\\\b[A-Z_a-z]\\\\w*\\\\b","name":"variable.parameter.qml"}]}]},"property-values":{"patterns":[{"begin":":","end":";|(?=})","patterns":[{"include":"#comment-block"},{"include":"#color"},{"begin":"\\\\b(q(?:linear|radial|conical)gradient)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.qss"}},"description":"Gradient Type","end":"\\\\)","patterns":[{"include":"#comment-block"},{"match":"\\\\b(x1|y1|x2|y2|stop|angle|radius|cx|cy|fx|fy)\\\\b","name":"variable.parameter.qss"},{"include":"#color"},{"include":"#number"}]},{"begin":"\\\\b(url)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.qss"}},"contentName":"string.unquoted.qss","description":"URL Type","end":"\\\\)"},{"match":"\\\\bpalette\\\\s*(?=\\\\()\\\\b","name":"entity.name.function.qss"},{"match":"\\\\b(highlighted-text|alternate-base|line-through|link-visited|dot-dot-dash|window-text|button-text|bright-text|underline|no-repeat|highlight|overline|absolute|relative|repeat-y|repeat-x|midlight|selected|disabled|dot-dash|content|padding|oblique|stretch|repeat|window|shadow|button|border|margin|active|italic|normal|outset|groove|double|dotted|dashed|repeat|scroll|center|bottom|light|solid|ridge|inset|fixed|right|text|link|dark|base|bold|none|left|mid|off|top|on)\\\\b","name":"support.constant.property-value.qss"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.qss"},{"include":"#string"},{"include":"#number"}]}]},"pseudo-states":{"patterns":[{"match":"\\\\b(active|adjoins-item|alternate|bottom|checked|closable|closed|default|disabled|editable|edit-focus|enabled|exclusive|first|flat|floatable|focus|has-children|has-siblings|horizontal|hover|indeterminate|last|left|maximized|middle|minimized|movable|no-frame|non-exclusive|off|on|only-one|open|next-selected|pressed|previous-selected|read-only|right|selected|top|unchecked|vertical|window)\\\\b","name":"keyword.control.qss"}]},"rule-list":{"patterns":[{"begin":"\\\\{","end":"}","patterns":[{"include":"#comment-block"},{"include":"#properties"},{"include":"#icon-properties"}]}]},"selector":{"patterns":[{"include":"#stylable-widgets"},{"include":"#sub-controls"},{"include":"#pseudo-states"},{"include":"#property-selector"},{"include":"#id-selector"}]},"string":{"description":"String literal with double or signle quote.","patterns":[{"begin":"'","end":"'","name":"string.quoted.single.qml"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.qml"}]},"stylable-widgets":{"patterns":[{"match":"\\\\b(Q(?:AbstractScrollArea|AbstractItemView|CheckBox|ColumnView|ComboBox|DateEdit|DateTimeEdit|Dialog|DialogButtonBox|DockWidget|DoubleSpinBox|Frame|GroupBox|HeaderView|Label|LineEdit|ListView|ListWidget|MainWindow|Menu|MenuBar|MessageBox|ProgressBar|PlainTextEdit|PushButton|RadioButton|ScrollBar|SizeGrip|Slider|SpinBox|Splitter|StatusBar|TabBar|TabWidget|TableView|TableWidget|TextEdit|TimeEdit|ToolBar|ToolButton|ToolBox|ToolTip|TreeView|TreeWidget|Widget))\\\\b","name":"entity.name.type.qss"}]},"sub-controls":{"patterns":[{"match":"\\\\b(add-line|add-page|branch|chunk|close-button|corner|down-arrow|down-button|drop-down|float-button|groove|indicator|handle|icon|item|left-arrow|left-corner|menu-arrow|menu-button|menu-indicator|right-arrow|pane|right-corner|scroller|section|separator|sub-line|sub-page|tab|tab-bar|tear|tearoff|text|title|up-arrow|up-button)\\\\b","name":"entity.other.inherited-class.qss"}]}},"scopeName":"source.qss"}`, + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-IeuSbFQv.js.map diff --git a/src/webview-ui/build/assets/chunk-IeuSbFQv.js.map b/src/webview-ui/build/assets/chunk-IeuSbFQv.js.map new file mode 100644 index 0000000000..526a49ccb2 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-IeuSbFQv.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-IeuSbFQv.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/qss.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Qt Style Sheets\\\",\\\"name\\\":\\\"qss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"},{\\\"include\\\":\\\"#selector\\\"}],\\\"repository\\\":{\\\"color\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(rgba??|hsva??|hsla??)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.qss\\\"}},\\\"description\\\":\\\"Color Type\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#number\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(white|black|red|darkred|green|darkgreen|blue|darkblue|cyan|darkcyan|magenta|darkmagenta|yellow|darkyellow|gray|darkgray|lightgray|transparent|color0|color1)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.named-color.qss\\\"},{\\\"match\\\":\\\"#(\\\\\\\\h{3}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.color.qss\\\"}]},\\\"comment-block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.qss\\\"}]},\\\"icon-properties\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((?:backward|cd|computer|desktop|dialog-apply|dialog-cancel|dialog-close|dialog-discard|dialog-help|dialog-no|dialog-ok|dialog-open|dialog-reset|dialog-save|dialog-yes|directory-closed|directory|directory-link|directory-open|dockwidget-close|downarrow|dvd|file|file-link|filedialog-contentsview|filedialog-detailedview|filedialog-end|filedialog-infoview|filedialog-listview|filedialog-new-directory|filedialog-parent-directory|filedialog-start|floppy|forward|harddisk|home|leftarrow|messagebox-critical|messagebox-information|messagebox-question|messagebox-warning|network|rightarrow|titlebar-contexthelp|titlebar-maximize|titlebar-menu|titlebar-minimize|titlebar-normal|titlebar-close|titlebar-shade|titlebar-unshade|trash|uparrow)-icon)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.qss\\\"}]},\\\"id-selector\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.qss\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.qss\\\"}},\\\"match\\\":\\\"(#)([A-Za-z][-0-9A-Z_a-z]*)\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"description\\\":\\\"floating number\\\",\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+)?\\\\\\\\.(\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.qss\\\"},{\\\"description\\\":\\\"percentage\\\",\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+)%\\\",\\\"name\\\":\\\"constant.numeric.qss\\\"},{\\\"description\\\":\\\"length\\\",\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+)(px|pt|em|ex)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.qss\\\"},{\\\"description\\\":\\\"integer\\\",\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\d+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.qss\\\"}]},\\\"properties\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"\\\\\\\\b(paint-alternating-row-colors-for-empty-area|dialogbuttonbox-buttons-have-icons|titlebar-show-tooltips-on-buttons|messagebox-text-interaction-flags|lineedit-password-mask-delay|outline-bottom-right-radius|lineedit-password-character|selection-background-color|outline-bottom-left-radius|border-bottom-right-radius|alternate-background-color|widget-animation-duration|border-bottom-left-radius|show-decoration-selected|outline-top-right-radius|outline-top-left-radius|border-top-right-radius|border-top-left-radius|background-attachment|subcontrol-position|border-bottom-width|border-bottom-style|border-bottom-color|background-position|border-right-width|border-right-style|border-right-color|subcontrol-origin|border-left-width|border-left-style|border-left-color|background-origin|background-repeat|border-top-width|border-top-style|border-top-color|background-image|background-color|text-decoration|selection-color|background-clip|padding-bottom|outline-radius|outline-offset|image-position|gridline-color|padding-right|outline-style|outline-color|margin-bottom|button-layout|border-radius|border-bottom|padding-left|margin-right|border-width|border-style|border-image|border-color|border-right|padding-top|margin-left|font-weight|font-family|border-left|text-align|min-height|max-height|margin-top|font-style|border-top|background|min-width|max-width|icon-size|font-size|position|spacing|padding|outline|opacity|margin|height|bottom|border|width|right|image|color|left|font|top)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.qss\\\"},{\\\"include\\\":\\\"#icon-properties\\\"}]},\\\"property-selector\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.qml\\\"}]}]},\\\"property-values\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\":\\\",\\\"end\\\":\\\";|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#color\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(q(?:linear|radial|conical)gradient)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.qss\\\"}},\\\"description\\\":\\\"Gradient Type\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"match\\\":\\\"\\\\\\\\b(x1|y1|x2|y2|stop|angle|radius|cx|cy|fx|fy)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.qss\\\"},{\\\"include\\\":\\\"#color\\\"},{\\\"include\\\":\\\"#number\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(url)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.qss\\\"}},\\\"contentName\\\":\\\"string.unquoted.qss\\\",\\\"description\\\":\\\"URL Type\\\",\\\"end\\\":\\\"\\\\\\\\)\\\"},{\\\"match\\\":\\\"\\\\\\\\bpalette\\\\\\\\s*(?=\\\\\\\\()\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.qss\\\"},{\\\"match\\\":\\\"\\\\\\\\b(highlighted-text|alternate-base|line-through|link-visited|dot-dot-dash|window-text|button-text|bright-text|underline|no-repeat|highlight|overline|absolute|relative|repeat-y|repeat-x|midlight|selected|disabled|dot-dash|content|padding|oblique|stretch|repeat|window|shadow|button|border|margin|active|italic|normal|outset|groove|double|dotted|dashed|repeat|scroll|center|bottom|light|solid|ridge|inset|fixed|right|text|link|dark|base|bold|none|left|mid|off|top|on)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.qss\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.qss\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#number\\\"}]}]},\\\"pseudo-states\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(active|adjoins-item|alternate|bottom|checked|closable|closed|default|disabled|editable|edit-focus|enabled|exclusive|first|flat|floatable|focus|has-children|has-siblings|horizontal|hover|indeterminate|last|left|maximized|middle|minimized|movable|no-frame|non-exclusive|off|on|only-one|open|next-selected|pressed|previous-selected|read-only|right|selected|top|unchecked|vertical|window)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.qss\\\"}]},\\\"rule-list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"include\\\":\\\"#icon-properties\\\"}]}]},\\\"selector\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#stylable-widgets\\\"},{\\\"include\\\":\\\"#sub-controls\\\"},{\\\"include\\\":\\\"#pseudo-states\\\"},{\\\"include\\\":\\\"#property-selector\\\"},{\\\"include\\\":\\\"#id-selector\\\"}]},\\\"string\\\":{\\\"description\\\":\\\"String literal with double or signle quote.\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.qml\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.qml\\\"}]},\\\"stylable-widgets\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(Q(?:AbstractScrollArea|AbstractItemView|CheckBox|ColumnView|ComboBox|DateEdit|DateTimeEdit|Dialog|DialogButtonBox|DockWidget|DoubleSpinBox|Frame|GroupBox|HeaderView|Label|LineEdit|ListView|ListWidget|MainWindow|Menu|MenuBar|MessageBox|ProgressBar|PlainTextEdit|PushButton|RadioButton|ScrollBar|SizeGrip|Slider|SpinBox|Splitter|StatusBar|TabBar|TabWidget|TableView|TableWidget|TextEdit|TimeEdit|ToolBar|ToolButton|ToolBox|ToolTip|TreeView|TreeWidget|Widget))\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.qss\\\"}]},\\\"sub-controls\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(add-line|add-page|branch|chunk|close-button|corner|down-arrow|down-button|drop-down|float-button|groove|indicator|handle|icon|item|left-arrow|left-corner|menu-arrow|menu-button|menu-indicator|right-arrow|pane|right-corner|scroller|section|separator|sub-line|sub-page|tab|tab-bar|tear|tearoff|text|title|up-arrow|up-button)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.inherited-class.qss\\\"}]}},\\\"scopeName\\\":\\\"source.qss\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "qss" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,gvOAAssP,CAAC,EAE9tPC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Jcf2cZT6.js b/src/webview-ui/build/assets/chunk-Jcf2cZT6.js new file mode 100644 index 0000000000..6e3729b8e9 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Jcf2cZT6.js @@ -0,0 +1,11 @@ +import e from "./chunk-BMMyXqK5.js" +import n from "./chunk-DPfMkruS.js" +import t from "./chunk-CXhxxCfG.js" +const a = Object.freeze( + JSON.parse( + `{"displayName":"Pug","name":"pug","patterns":[{"match":"^(!!!|doctype)(\\\\s*[-0-9A-Z_a-z]+)?","name":"meta.tag.sgml.doctype.html"},{"begin":"^(\\\\s*)//-","end":"^(?!(\\\\1\\\\s)|\\\\s*$)","name":"comment.unbuffered.block.pug"},{"begin":"^(\\\\s*)//","end":"^(?!(\\\\1\\\\s)|\\\\s*$)","name":"string.comment.buffered.block.pug","patterns":[{"captures":{"1":{"name":"invalid.illegal.comment.comment.block.pug"}},"match":"^\\\\s*(//)(?!-)","name":"string.comment.buffered.block.pug"}]},{"begin":"","endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"name":"comment.block.apex"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}},"name":"string.quoted.single.apex","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.begin.apex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.end.apex"}},"name":"string.quoted.double.apex","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"()","endCaptures":{"1":{"name":"punctuation.definition.tag.apex"}},"name":"meta.tag.apex","patterns":[{"include":"#xml-attribute"}]}},"scopeName":"source.apex"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-QX45V2Sx.js.map diff --git a/src/webview-ui/build/assets/chunk-QX45V2Sx.js.map b/src/webview-ui/build/assets/chunk-QX45V2Sx.js.map new file mode 100644 index 0000000000..7515a49e6f --- /dev/null +++ b/src/webview-ui/build/assets/chunk-QX45V2Sx.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-QX45V2Sx.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/apex.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Apex\\\",\\\"fileTypes\\\":[\\\"apex\\\",\\\"cls\\\",\\\"trigger\\\"],\\\"name\\\":\\\"apex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#declarations\\\"},{\\\"include\\\":\\\"#script-top-level\\\"}],\\\"repository\\\":{\\\"annotation-declaration\\\":{\\\"begin\\\":\\\"(@[_[:alpha:]]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.annotation.apex\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\)|$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#statement\\\"}]},\\\"argument-list\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#named-argument\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-creation-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\b(new)\\\\\\\\b\\\\\\\\s*(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)?\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.new.apex\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#type\\\"}]}},\\\"end\\\":\\\"(?<=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bracketed-argument-list\\\"}]},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.apex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s*(\\\\\\\\))(?=\\\\\\\\s*@?[(_[:alnum:]])\\\"},\\\"catch-clause\\\":{\\\"begin\\\":\\\"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s*(?:(\\\\\\\\g)\\\\\\\\b)?\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\bclass\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(class)\\\\\\\\b\\\\\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.class.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.apex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameter-list\\\"},{\\\"include\\\":\\\"#extends-class\\\"},{\\\"include\\\":\\\"#implements-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.apex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-or-trigger-members\\\"}]},{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"class-or-trigger-members\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#storage-modifier\\\"},{\\\"include\\\":\\\"#sharing-modifier\\\"},{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#property-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#constructor-declaration\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"colon-expression\\\":{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.conditional.colon.apex\\\"},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*(\\\\\\\\*)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.apex\\\"}},\\\"name\\\":\\\"comment.block.apex\\\"},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.apex\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#constructor-initializer\\\"}]},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"constructor-initializer\\\":{\\\"begin\\\":\\\"\\\\\\\\b(this)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.this.apex\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument-list\\\"}]},\\\"date-literal-with-params\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.query.date.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(((?:LAST_N_DAY|NEXT_N_DAY|NEXT_N_WEEK|LAST_N_WEEK|NEXT_N_MONTH|LAST_N_MONTH|NEXT_N_QUARTER|LAST_N_QUARTER|NEXT_N_YEAR|LAST_N_YEAR|NEXT_N_FISCAL_QUARTER|LAST_N_FISCAL_QUARTER|NEXT_N_FISCAL_YEAR|LAST_N_FISCAL_YEAR)S)\\\\\\\\s*:\\\\\\\\d+)\\\\\\\\b\\\"},\\\"date-literals\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.query.date.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\\\\\\\\b\\\\\\\\s*\\\"},\\\"declarations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"directives\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"do-statement\\\":{\\\"begin\\\":\\\"(?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.arrow.apex\\\"}},\\\"end\\\":\\\"(?=[),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[-%*+/]=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.apex\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.apex\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.apex\\\"},{\\\"match\\\":\\\"[!=]=\\\",\\\"name\\\":\\\"keyword.operator.comparison.apex\\\"},{\\\"match\\\":\\\"<=|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.apex\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.apex\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.apex\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.apex\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.apex\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.apex\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.apex\\\"}]},\\\"extends-class\\\":{\\\"begin\\\":\\\"(extends)\\\\\\\\b\\\\\\\\s+([_[:alpha:]][_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.extends.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.extends.apex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|implements)\\\"},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(?!=[=>])(?=[,;=]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.variable.field.apex\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.field.apex\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#class-or-trigger-members\\\"}]},\\\"finally-clause\\\":{\\\"begin\\\":\\\"(?(?(?:ref\\\\\\\\s+)?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(?this)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.this.apex\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property-accessors\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"initializer-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.apex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\binterface\\\\\\\\b)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(interface)\\\\\\\\b\\\\\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.interface.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.apex\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameter-list\\\"},{\\\"include\\\":\\\"#extends-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.apex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-members\\\"}]},{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"interface-members\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"invocation-expression\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\??\\\\\\\\.)\\\\\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(?\\\\\\\\s*<([^<>]|\\\\\\\\g)+>\\\\\\\\s*)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#operator-safe-navigation\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.apex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument-list\\\"}]},\\\"javadoc-comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(/\\\\\\\\*\\\\\\\\*)(?!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.apex\\\"}},\\\"name\\\":\\\"comment.block.javadoc.apex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@(deprecated|author|return|see|serial|since|version|usage|name|link)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.documentation.javadoc.apex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.javadoc.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.apex\\\"}},\\\"match\\\":\\\"(@param)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.javadoc.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.apex\\\"}},\\\"match\\\":\\\"(@(?:exception|throws))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.apex\\\"}},\\\"match\\\":\\\"(`([^`]+?)`)\\\"}]}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#string-literal\\\"}]},\\\"local-constant-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?const)\\\\\\\\b\\\\\\\\s*(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(?=[,;=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.apex\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.variable.local.apex\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.local.apex\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"local-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#local-constant-declaration\\\"},{\\\"include\\\":\\\"#local-variable-declaration\\\"}]},\\\"local-variable-declaration\\\":{\\\"begin\\\":\\\"(?:(?:\\\\\\\\b(ref)\\\\\\\\s+)?\\\\\\\\b(var)\\\\\\\\b|(?(?:ref\\\\\\\\s+)?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*))\\\\\\\\s+(\\\\\\\\g)\\\\\\\\s*(?=[),;=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.var.apex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.local.apex\\\"}},\\\"end\\\":\\\"(?=[);])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.variable.local.apex\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"member-access-expression\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#operator-safe-navigation\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.property.apex\\\"}},\\\"match\\\":\\\"(\\\\\\\\??\\\\\\\\.)\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(?![(_[:alnum:]]|(\\\\\\\\?)?\\\\\\\\[|<)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#operator-safe-navigation\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.apex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\??\\\\\\\\.)?\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?\\\\\\\\s*<([^<>]|\\\\\\\\g)+>\\\\\\\\s*)(?=(\\\\\\\\s*\\\\\\\\?)?\\\\\\\\s*\\\\\\\\.\\\\\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.apex\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)(?=(\\\\\\\\s*\\\\\\\\?)?\\\\\\\\s*\\\\\\\\.\\\\\\\\s*@?[_[:alpha:]][_[:alnum:]]*)\\\"}]},\\\"merge-expression\\\":{\\\"begin\\\":\\\"(merge)\\\\\\\\b\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.apex\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-creation-expression\\\"},{\\\"include\\\":\\\"#merge-type-statement\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"merge-type-statement\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.apex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.apex\\\"}},\\\"match\\\":\\\"([_[:alpha:]]*)\\\\\\\\b\\\\\\\\s+([_[:alpha:]]*)\\\\\\\\b\\\\\\\\s*(;)\\\"},\\\"method-declaration\\\":{\\\"begin\\\":\\\"(?(?(?:ref\\\\\\\\s+)?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(\\\\\\\\g)\\\\\\\\s*(<([^<>]+)>)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#method-name-custom\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameter-list\\\"}]}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parenthesized-parameter-list\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"method-name-custom\\\":{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.function.apex\\\"},\\\"named-argument\\\":{\\\"begin\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.colon.apex\\\"}},\\\"end\\\":\\\"(?=([]),]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s*(?=\\\\\\\\{|$)\\\"},\\\"object-creation-expression-with-parameters\\\":{\\\"begin\\\":\\\"(delete|insert|undelete|update|upsert)?\\\\\\\\s*(new)\\\\\\\\s+(?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.apex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#type\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument-list\\\"}]},\\\"operator-assignment\\\":{\\\"match\\\":\\\"(?(?:ref\\\\\\\\s+)?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s+(\\\\\\\\g)\\\"},\\\"parenthesized-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"parenthesized-parameter-list\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.apex\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"property-accessors\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.apex\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.apex\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(pr(?:ivate|otected))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.apex\\\"},{\\\"match\\\":\\\"\\\\\\\\b(get)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.get.apex\\\"},{\\\"match\\\":\\\"\\\\\\\\b(set)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.set.apex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"property-declaration\\\":{\\\"begin\\\":\\\"(?!.*\\\\\\\\b(?:class|interface|enum)\\\\\\\\b)\\\\\\\\s*(?(?(?:ref\\\\\\\\s+)?(?:(?@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*::\\\\\\\\s*)?(?\\\\\\\\g\\\\\\\\s*(?\\\\\\\\s*<(?:[^<>]|\\\\\\\\g)+>\\\\\\\\s*)?)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*\\\\\\\\g)*(?:\\\\\\\\s*\\\\\\\\?\\\\\\\\s*)?(?:\\\\\\\\s*\\\\\\\\[(?:\\\\\\\\s*,\\\\\\\\s*)*]\\\\\\\\s*)*)\\\\\\\\s+)(?\\\\\\\\g\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)?(?\\\\\\\\g)\\\\\\\\s*(?=\\\\\\\\{|=>|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.variable.property.apex\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property-accessors\\\"},{\\\"include\\\":\\\"#expression-body\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#class-or-trigger-members\\\"}]},\\\"punctuation-accessor\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.apex\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.apex\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.apex\\\"},\\\"query-operators\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.query.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\\\\\\\\b\\\\\\\\s*\\\"},\\\"return-statement\\\":{\\\"begin\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"support-class\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\\\\\\\b\\\"},\\\"support-expression\\\":{\\\"begin\\\":\\\"(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=[.\\\\\\\\s])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.apex\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\)|$)|(?=})|(?=;)|(?=\\\\\\\\)|(?=]))|(?=,)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.apex\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)(\\\\\\\\p{alpha}*)(?=\\\\\\\\()\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.apex\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)(\\\\\\\\p{alpha}+)\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#statement\\\"}]},\\\"support-functions\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\\\\\\\b\\\"},\\\"support-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.apex\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(\\\\\\\\p{alpha}*)(?=\\\\\\\\()\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.open.apex\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.apex\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([_[:alpha:]]*)\\\"}]},\\\"support-type\\\":{\\\"name\\\":\\\"support.apex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#support-class\\\"},{\\\"include\\\":\\\"#support-functions\\\"},{\\\"include\\\":\\\"#support-name\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(switch)\\\\\\\\b\\\\\\\\s+(on)\\\\\\\\b\\\\\\\\s+(?:(['().?_[:alnum:]]+)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.switch.on.apex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"},{\\\"include\\\":\\\"#parenthesized-expression\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.curlybrace.open.apex\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.curlybrace.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#when-string\\\"},{\\\"include\\\":\\\"#when-else-statement\\\"},{\\\"include\\\":\\\"#when-sobject-statement\\\"},{\\\"include\\\":\\\"#when-statement\\\"},{\\\"include\\\":\\\"#when-multiple-statement\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"this-expression\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.this.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(this)\\\\\\\\b\\\"},\\\"throw-expression\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.throw.apex\\\"}},\\\"match\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#support-type\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-array-suffix\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.squarebracket.open.apex\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.squarebracket.close.apex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|ID|Integer|Long|Object|String|Time|void)\\\\\\\\b\\\"},\\\"type-declarations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javadoc-comment\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#annotation-declaration\\\"},{\\\"include\\\":\\\"#storage-modifier\\\"},{\\\"include\\\":\\\"#sharing-modifier\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#trigger-declaration\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.apex\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\.)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.apex\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"@?[_[:alpha:]][_[:alnum:]]*\\\",\\\"name\\\":\\\"storage.type.apex\\\"}]},\\\"type-nullable-suffix\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.question-mark.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\?\\\"},\\\"type-parameter-list\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.apex\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.apex\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.type-parameter.apex\\\"}},\\\"match\\\":\\\"(@?[_[:alpha:]][_[:alnum:]]*)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"using-scope\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.query.using.apex\\\"}},\\\"match\\\":\\\"((USING SCOPE)\\\\\\\\b\\\\\\\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\\\\\\\b\\\\\\\\s*\\\"},\\\"variable-initializer\\\":{\\\"begin\\\":\\\"(?])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.apex\\\"}},\\\"end\\\":\\\"(?=[]),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"when-else-statement\\\":{\\\"begin\\\":\\\"(when)\\\\\\\\b\\\\\\\\s+(else)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.when.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.switch.else.apex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"when-multiple-statement\\\":{\\\"begin\\\":\\\"(when)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.when.apex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"when-sobject-statement\\\":{\\\"begin\\\":\\\"(when)\\\\\\\\b\\\\\\\\s+([_[:alnum:]]+)\\\\\\\\s+([_[:alnum:]]+)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.when.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.apex\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.variable.local.apex\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"when-statement\\\":{\\\"begin\\\":\\\"(when)\\\\\\\\b\\\\\\\\s+([-'_[:alnum:]]+)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.when.apex\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"when-string\\\":{\\\"begin\\\":\\\"(when)\\\\\\\\b(\\\\\\\\s*)((')['*,._\\\\\\\\s[:alnum:]]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.when.apex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.whitespace.apex\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#when-string-statement\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"when-string-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.apex\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.apex\\\"}},\\\"name\\\":\\\"string.quoted.single.apex\\\"}]},\\\"where-clause\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.query.where.apex\\\"}},\\\"match\\\":\\\"\\\\\\\\b(WHERE)\\\\\\\\b\\\\\\\\s*\\\"},\\\"while-statement\\\":{\\\"begin\\\":\\\"(?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.apex\\\"}},\\\"name\\\":\\\"string.unquoted.cdata.apex\\\"},\\\"xml-character-entity\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.apex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.apex\\\"}},\\\"match\\\":\\\"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\\\\\d+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.apex\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.apex\\\"}]},\\\"xml-comment\\\":{\\\"begin\\\":\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.apex\\\"}},\\\"name\\\":\\\"comment.block.apex\\\"},\\\"xml-doc-comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-comment\\\"},{\\\"include\\\":\\\"#xml-character-entity\\\"},{\\\"include\\\":\\\"#xml-cdata\\\"},{\\\"include\\\":\\\"#xml-tag\\\"}]},\\\"xml-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.apex\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.apex\\\"}},\\\"name\\\":\\\"string.quoted.single.apex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-character-entity\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.stringdoublequote.begin.apex\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.stringdoublequote.end.apex\\\"}},\\\"name\\\":\\\"string.quoted.double.apex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-character-entity\\\"}]}]},\\\"xml-tag\\\":{\\\"begin\\\":\\\"()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.apex\\\"}},\\\"name\\\":\\\"meta.tag.apex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-attribute\\\"}]}},\\\"scopeName\\\":\\\"source.apex\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "apex" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,g85CAAu5jD,CAAC,EAE/6jDC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-RrBGtqGR.js b/src/webview-ui/build/assets/chunk-RrBGtqGR.js new file mode 100644 index 0000000000..55ed3046c2 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-RrBGtqGR.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Markdown","name":"markdown","patterns":[{"include":"#frontMatter"},{"include":"#block"}],"repository":{"ampersand":{"match":"&(?!([0-9A-Za-z]+|#[0-9]+|#x\\\\h+);)","name":"meta.other.valid-ampersand.markdown"},"block":{"patterns":[{"include":"#separator"},{"include":"#heading"},{"include":"#blockquote"},{"include":"#lists"},{"include":"#fenced_code_block"},{"include":"#raw_block"},{"include":"#link-def"},{"include":"#html"},{"include":"#table"},{"include":"#paragraph"}]},"blockquote":{"begin":"(^|\\\\G) {0,3}(>) ?","captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}},"name":"markup.quote.markdown","patterns":[{"include":"#block"}],"while":"(^|\\\\G)\\\\s*(>) ?"},"bold":{"begin":"(?(\\\\*\\\\*(?=\\\\w)|(?]*+>|(?`+)([^`]|(?!(?(?!`))`)*+\\\\k|\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]?+|\\\\[((?[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g*+])*+](( ?\\\\[[^]]*+])|(\\\\([\\\\t ]*+?[\\\\t ]*+((?[\\"\'])(.*?)\\\\k<title>)?\\\\))))|(?!(?<=\\\\S)\\\\k<open>).)++(?<=\\\\S)(?=__\\\\b|\\\\*\\\\*)\\\\k<open>)","captures":{"1":{"name":"punctuation.definition.bold.markdown"}},"end":"(?<=\\\\S)(\\\\1)","name":"markup.bold.markdown","patterns":[{"applyEndPatternLast":1,"begin":"(?=<[^>]*?>)","end":"(?<=>)","patterns":[{"include":"text.html.derivative"}]},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"},{"include":"#strikethrough"}]},"bracket":{"match":"<(?![!$/?A-Za-z])","name":"meta.other.valid-bracket.markdown"},"escape":{"match":"\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]","name":"constant.character.escape.markdown"},"fenced_code_block":{"patterns":[{"include":"#fenced_code_block_css"},{"include":"#fenced_code_block_basic"},{"include":"#fenced_code_block_ini"},{"include":"#fenced_code_block_java"},{"include":"#fenced_code_block_lua"},{"include":"#fenced_code_block_makefile"},{"include":"#fenced_code_block_perl"},{"include":"#fenced_code_block_r"},{"include":"#fenced_code_block_ruby"},{"include":"#fenced_code_block_php"},{"include":"#fenced_code_block_sql"},{"include":"#fenced_code_block_vs_net"},{"include":"#fenced_code_block_xml"},{"include":"#fenced_code_block_xsl"},{"include":"#fenced_code_block_yaml"},{"include":"#fenced_code_block_dosbatch"},{"include":"#fenced_code_block_clojure"},{"include":"#fenced_code_block_coffee"},{"include":"#fenced_code_block_c"},{"include":"#fenced_code_block_cpp"},{"include":"#fenced_code_block_diff"},{"include":"#fenced_code_block_dockerfile"},{"include":"#fenced_code_block_git_commit"},{"include":"#fenced_code_block_git_rebase"},{"include":"#fenced_code_block_go"},{"include":"#fenced_code_block_groovy"},{"include":"#fenced_code_block_pug"},{"include":"#fenced_code_block_js"},{"include":"#fenced_code_block_js_regexp"},{"include":"#fenced_code_block_json"},{"include":"#fenced_code_block_jsonc"},{"include":"#fenced_code_block_less"},{"include":"#fenced_code_block_objc"},{"include":"#fenced_code_block_swift"},{"include":"#fenced_code_block_scss"},{"include":"#fenced_code_block_perl6"},{"include":"#fenced_code_block_powershell"},{"include":"#fenced_code_block_python"},{"include":"#fenced_code_block_julia"},{"include":"#fenced_code_block_regexp_python"},{"include":"#fenced_code_block_rust"},{"include":"#fenced_code_block_scala"},{"include":"#fenced_code_block_shell"},{"include":"#fenced_code_block_ts"},{"include":"#fenced_code_block_tsx"},{"include":"#fenced_code_block_csharp"},{"include":"#fenced_code_block_fsharp"},{"include":"#fenced_code_block_dart"},{"include":"#fenced_code_block_handlebars"},{"include":"#fenced_code_block_markdown"},{"include":"#fenced_code_block_log"},{"include":"#fenced_code_block_erlang"},{"include":"#fenced_code_block_elixir"},{"include":"#fenced_code_block_latex"},{"include":"#fenced_code_block_bibtex"},{"include":"#fenced_code_block_twig"},{"include":"#fenced_code_block_unknown"}]},"fenced_code_block_basic":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.html","patterns":[{"include":"text.html.basic"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_bibtex":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(bibtex)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.bibtex","patterns":[{"include":"text.bibtex"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_c":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:([ch])((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.c","patterns":[{"include":"source.c"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_clojure":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(cl(?:js??|ojure))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.clojure","patterns":[{"include":"source.clojure"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_coffee":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.coffee","patterns":[{"include":"source.coffee"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_cpp":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(c(?:pp|\\\\+\\\\+|xx))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.cpp source.cpp","patterns":[{"include":"source.cpp"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_csharp":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(c(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.csharp","patterns":[{"include":"source.cs"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_css":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(css(?:|.erb))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.css","patterns":[{"include":"source.css"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_dart":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(dart)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dart","patterns":[{"include":"source.dart"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_diff":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(patch|diff|rej)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.diff","patterns":[{"include":"source.diff"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_dockerfile":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:([Dd]ockerfile)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dockerfile","patterns":[{"include":"source.dockerfile"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_dosbatch":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(bat(?:|ch))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.dosbatch","patterns":[{"include":"source.batchfile"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_elixir":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(elixir)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.elixir","patterns":[{"include":"source.elixir"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_erlang":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(erlang)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.erlang","patterns":[{"include":"source.erlang"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_fsharp":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(f(?:s|sharp|#))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.fsharp","patterns":[{"include":"source.fsharp"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_git_commit":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_commit","patterns":[{"include":"text.git-commit"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_git_rebase":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(git-rebase-todo)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.git_rebase","patterns":[{"include":"text.git-rebase"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_go":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(go(?:|lang))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.go","patterns":[{"include":"source.go"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_groovy":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(g(?:roovy|vy))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.groovy","patterns":[{"include":"source.groovy"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_handlebars":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(h(?:andlebars|bs))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.handlebars","patterns":[{"include":"text.html.handlebars"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_ini":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(ini|conf)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ini","patterns":[{"include":"source.ini"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_java":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(java|bsh)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.java","patterns":[{"include":"source.java"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_js":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\{\\\\.js.+?})((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.javascript","patterns":[{"include":"source.js"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_js_regexp":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(regexp)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.js_regexp","patterns":[{"include":"source.js.regexp"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_json":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.json","patterns":[{"include":"source.json"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_jsonc":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(jsonc)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.jsonc","patterns":[{"include":"source.json.comments"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_julia":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(julia|\\\\{\\\\.julia.+?})((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.julia","patterns":[{"include":"source.julia"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_latex":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:((?:la|)tex)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.latex","patterns":[{"include":"text.tex.latex"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_less":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(less)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.less","patterns":[{"include":"source.css.less"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_log":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(log)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.log","patterns":[{"include":"text.log"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_lua":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(lua)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.lua","patterns":[{"include":"source.lua"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_makefile":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.makefile","patterns":[{"include":"source.makefile"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_markdown":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(m(?:arkdown|d))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.markdown","patterns":[{"include":"text.html.markdown"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_objc":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.objc","patterns":[{"include":"source.objc"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_perl":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl","patterns":[{"include":"source.perl"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_perl6":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.perl6","patterns":[{"include":"source.perl.6"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_php":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.php","patterns":[{"include":"text.html.basic"},{"include":"source.php"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_powershell":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.powershell","patterns":[{"include":"source.powershell"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_pug":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(jade|pug)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.pug","patterns":[{"include":"text.pug"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_python":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\{\\\\.python.+?})((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.python","patterns":[{"include":"source.python"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_r":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:([RSrs]|Rprofile|\\\\{\\\\.r.+?})((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.r","patterns":[{"include":"source.r"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_regexp_python":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(re)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.regexp_python","patterns":[{"include":"source.regexp.python"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_ruby":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(ruby|rbx??|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.ruby","patterns":[{"include":"source.ruby"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_rust":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(rust|rs|\\\\{\\\\.rust.+?})((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.rust","patterns":[{"include":"source.rust"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_scala":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(s(?:cala|bt))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scala","patterns":[{"include":"source.scala"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_scss":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(scss)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.scss","patterns":[{"include":"source.css.scss"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_shell":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\{\\\\.bash.+?})((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.shellscript","patterns":[{"include":"source.shell"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_sql":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(sql|ddl|dml)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.sql","patterns":[{"include":"source.sql"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_swift":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(swift)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.swift","patterns":[{"include":"source.swift"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_ts":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(t(?:ypescript|s))((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescript","patterns":[{"include":"source.ts"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_tsx":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(tsx)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.typescriptreact","patterns":[{"include":"source.tsx"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_twig":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(twig)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.twig","patterns":[{"include":"source.twig"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_unknown":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?=([^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown"},"fenced_code_block_vs_net":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(vb)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.vs_net","patterns":[{"include":"source.asp.vb.net"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_xml":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xml","patterns":[{"include":"text.xml"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_xsl":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(xslt??)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.xsl","patterns":[{"include":"text.xml.xsl"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"fenced_code_block_yaml":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(ya?ml)((\\\\s+|[,:?{])[^`]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"begin":"(^|\\\\G)(\\\\s*)(.*)","contentName":"meta.embedded.block.yaml","patterns":[{"include":"source.yaml"}],"while":"(^|\\\\G)(?!\\\\s*([`~]{3,})\\\\s*$)"}]},"frontMatter":{"applyEndPatternLast":1,"begin":"\\\\A(?=(-{3,}))","end":"^(?: {0,3}\\\\1-*[\\\\t ]*|[\\\\t ]*\\\\.{3})$","endCaptures":{"0":{"name":"punctuation.definition.end.frontmatter"}},"patterns":[{"begin":"\\\\A(-{3,})(.*)$","beginCaptures":{"1":{"name":"punctuation.definition.begin.frontmatter"},"2":{"name":"comment.frontmatter"}},"contentName":"meta.embedded.block.frontmatter","patterns":[{"include":"source.yaml"}],"while":"^(?!(?: {0,3}\\\\1-*[\\\\t ]*|[\\\\t ]*\\\\.{3})$)"}]},"heading":{"captures":{"1":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{6})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.6.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{5})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.5.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{4})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.4.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{3})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.3.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{2})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.2.markdown"},{"captures":{"1":{"name":"punctuation.definition.heading.markdown"},"2":{"name":"entity.name.section.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"}]},"3":{"name":"punctuation.definition.heading.markdown"}},"match":"(#{1})\\\\s+(.*?)(?:\\\\s+(#+))?\\\\s*$","name":"heading.1.markdown"}]}},"match":"(?:^|\\\\G) {0,3}(#{1,6}\\\\s+(.*?)(\\\\s+#{1,6})?\\\\s*)$","name":"markup.heading.markdown"},"heading-setext":{"patterns":[{"match":"^(={3,})(?=[\\\\t ]*$\\\\n?)","name":"markup.heading.setext.1.markdown"},{"match":"^(-{3,})(?=[\\\\t ]*$\\\\n?)","name":"markup.heading.setext.2.markdown"}]},"html":{"patterns":[{"begin":"(^|\\\\G)\\\\s*(<!--)","captures":{"1":{"name":"punctuation.definition.comment.html"},"2":{"name":"punctuation.definition.comment.html"}},"end":"(-->)","name":"comment.block.html"},{"begin":"(?i)(^|\\\\G)\\\\s*(?=<(script|style|pre)(\\\\s|$|>)(?!.*?</(script|style|pre)>))","end":"(?i)(.*)((</)(script|style|pre)(>))","endCaptures":{"1":{"patterns":[{"include":"text.html.derivative"}]},"2":{"name":"meta.tag.structure.$4.end.html"},"3":{"name":"punctuation.definition.tag.begin.html"},"4":{"name":"entity.name.tag.html"},"5":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(\\\\s*|$)","patterns":[{"include":"text.html.derivative"}],"while":"(?i)^(?!.*</(script|style|pre)>)"}]},{"begin":"(?i)(^|\\\\G)\\\\s*(?=</?[A-Za-z]+[^\\\\&/;gt\\\\s]*(\\\\s|$|/?>))","patterns":[{"include":"text.html.derivative"}],"while":"^(?!\\\\s*$)"},{"begin":"(^|\\\\G)\\\\s*(?=(<(?:[-0-9A-Za-z](/?>|\\\\s.*?>)|/[-0-9A-Za-z]>))\\\\s*$)","patterns":[{"include":"text.html.derivative"}],"while":"^(?!\\\\s*$)"}]},"image-inline":{"captures":{"1":{"name":"punctuation.definition.link.description.begin.markdown"},"2":{"name":"string.other.link.description.markdown"},"4":{"name":"punctuation.definition.link.description.end.markdown"},"5":{"name":"punctuation.definition.metadata.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"markup.underline.link.image.markdown"},"9":{"name":"punctuation.definition.link.markdown"},"10":{"name":"markup.underline.link.image.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.begin.markdown"},"14":{"name":"punctuation.definition.string.end.markdown"},"15":{"name":"string.other.link.description.title.markdown"},"16":{"name":"punctuation.definition.string.begin.markdown"},"17":{"name":"punctuation.definition.string.end.markdown"},"18":{"name":"string.other.link.description.title.markdown"},"19":{"name":"punctuation.definition.string.begin.markdown"},"20":{"name":"punctuation.definition.string.end.markdown"},"21":{"name":"punctuation.definition.metadata.markdown"}},"match":"(!\\\\[)((?<square>[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g<square>*+])*+)(])(\\\\()[\\\\t ]*((<)((?:\\\\\\\\[<>]|[^\\\\n<>])*)(>)|((?<url>(?>[^()\\\\s]+)|\\\\(\\\\g<url>*\\\\))*))[\\\\t ]*(?:((\\\\().+?(\\\\)))|((\\").+?(\\"))|((\').+?(\')))?\\\\s*(\\\\))","name":"meta.image.inline.markdown"},"image-ref":{"captures":{"1":{"name":"punctuation.definition.link.description.begin.markdown"},"2":{"name":"string.other.link.description.markdown"},"4":{"name":"punctuation.definition.link.description.end.markdown"},"5":{"name":"punctuation.definition.constant.markdown"},"6":{"name":"constant.other.reference.link.markdown"},"7":{"name":"punctuation.definition.constant.markdown"}},"match":"(!\\\\[)((?<square>[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g<square>*+])*+)(]) ?(\\\\[)(.*?)(])","name":"meta.image.reference.markdown"},"inline":{"patterns":[{"include":"#ampersand"},{"include":"#bracket"},{"include":"#bold"},{"include":"#italic"},{"include":"#raw"},{"include":"#strikethrough"},{"include":"#escape"},{"include":"#image-inline"},{"include":"#image-ref"},{"include":"#link-email"},{"include":"#link-inet"},{"include":"#link-inline"},{"include":"#link-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref-shortcut"}]},"italic":{"begin":"(?<open>(\\\\*(?=\\\\w)|(?<!\\\\w)\\\\*|(?<!\\\\w)\\\\b_))(?=\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\k<raw>(?!`))`)*+\\\\k<raw>|\\\\\\\\[-\\\\]!#(-+.>\\\\[\\\\\\\\_`{}]?+|\\\\[((?<square>[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g<square>*+])*+](( ?\\\\[[^]]*+])|(\\\\([\\\\t ]*+<?(.*?)>?[\\\\t ]*+((?<title>[\\"\'])(.*?)\\\\k<title>)?\\\\))))|\\\\k<open>\\\\k<open>|(?!(?<=\\\\S)\\\\k<open>).)++(?<=\\\\S)(?=_\\\\b|\\\\*)\\\\k<open>)","captures":{"1":{"name":"punctuation.definition.italic.markdown"}},"end":"(?<=\\\\S)(\\\\1)((?!\\\\1)|(?=\\\\1\\\\1))","name":"markup.italic.markdown","patterns":[{"applyEndPatternLast":1,"begin":"(?=<[^>]*?>)","end":"(?<=>)","patterns":[{"include":"text.html.derivative"}]},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"},{"include":"#strikethrough"}]},"link-def":{"captures":{"1":{"name":"punctuation.definition.constant.markdown"},"2":{"name":"constant.other.reference.link.markdown"},"3":{"name":"punctuation.definition.constant.markdown"},"4":{"name":"punctuation.separator.key-value.markdown"},"5":{"name":"punctuation.definition.link.markdown"},"6":{"name":"markup.underline.link.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"markup.underline.link.markdown"},"9":{"name":"string.other.link.description.title.markdown"},"10":{"name":"punctuation.definition.string.begin.markdown"},"11":{"name":"punctuation.definition.string.end.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.begin.markdown"},"14":{"name":"punctuation.definition.string.end.markdown"},"15":{"name":"string.other.link.description.title.markdown"},"16":{"name":"punctuation.definition.string.begin.markdown"},"17":{"name":"punctuation.definition.string.end.markdown"}},"match":"\\\\s*(\\\\[)([^]]+?)(])(:)[\\\\t ]*(?:(<)((?:\\\\\\\\[<>]|[^\\\\n<>])*)(>)|(\\\\S+?))[\\\\t ]*(?:((\\\\().+?(\\\\)))|((\\").+?(\\"))|((\').+?(\')))?\\\\s*$","name":"meta.link.reference.def.markdown"},"link-email":{"captures":{"1":{"name":"punctuation.definition.link.markdown"},"2":{"name":"markup.underline.link.markdown"},"4":{"name":"punctuation.definition.link.markdown"}},"match":"(<)((?:mailto:)?[!#-\'*+\\\\--9=?A-Z^-~]+@[-0-9A-Za-z]+(?:\\\\.[-0-9A-Za-z]+)*)(>)","name":"meta.link.email.lt-gt.markdown"},"link-inet":{"captures":{"1":{"name":"punctuation.definition.link.markdown"},"2":{"name":"markup.underline.link.markdown"},"3":{"name":"punctuation.definition.link.markdown"}},"match":"(<)((?:https?|ftp)://.*?)(>)","name":"meta.link.inet.markdown"},"link-inline":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown","patterns":[{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#strikethrough"},{"include":"#image-inline"}]},"4":{"name":"punctuation.definition.link.title.end.markdown"},"5":{"name":"punctuation.definition.metadata.markdown"},"7":{"name":"punctuation.definition.link.markdown"},"8":{"name":"markup.underline.link.markdown"},"9":{"name":"punctuation.definition.link.markdown"},"10":{"name":"markup.underline.link.markdown"},"12":{"name":"string.other.link.description.title.markdown"},"13":{"name":"punctuation.definition.string.begin.markdown"},"14":{"name":"punctuation.definition.string.end.markdown"},"15":{"name":"string.other.link.description.title.markdown"},"16":{"name":"punctuation.definition.string.begin.markdown"},"17":{"name":"punctuation.definition.string.end.markdown"},"18":{"name":"string.other.link.description.title.markdown"},"19":{"name":"punctuation.definition.string.begin.markdown"},"20":{"name":"punctuation.definition.string.end.markdown"},"21":{"name":"punctuation.definition.metadata.markdown"}},"match":"(\\\\[)((?<square>[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g<square>*+])*+)(])(\\\\()[\\\\t ]*((<)((?:\\\\\\\\[<>]|[^\\\\n<>])*)(>)|((?<url>(?>[^()\\\\s]+)|\\\\(\\\\g<url>*\\\\))*))[\\\\t ]*(?:((\\\\()[^()]*(\\\\)))|((\\")[^\\"]*(\\"))|((\')[^\']*(\')))?\\\\s*(\\\\))","name":"meta.link.inline.markdown"},"link-ref":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown","patterns":[{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#strikethrough"},{"include":"#image-inline"}]},"4":{"name":"punctuation.definition.link.title.end.markdown"},"5":{"name":"punctuation.definition.constant.begin.markdown"},"6":{"name":"constant.other.reference.link.markdown"},"7":{"name":"punctuation.definition.constant.end.markdown"}},"match":"(?<![]\\\\\\\\])(\\\\[)((?<square>[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g<square>*+])*+)(])(\\\\[)([^]]*+)(])","name":"meta.link.reference.markdown"},"link-ref-literal":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"4":{"name":"punctuation.definition.link.title.end.markdown"},"5":{"name":"punctuation.definition.constant.begin.markdown"},"6":{"name":"punctuation.definition.constant.end.markdown"}},"match":"(?<![]\\\\\\\\])(\\\\[)((?<square>[^]\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[\\\\g<square>*+])*+)(]) ?(\\\\[)(])","name":"meta.link.reference.literal.markdown"},"link-ref-shortcut":{"captures":{"1":{"name":"punctuation.definition.link.title.begin.markdown"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.link.title.end.markdown"}},"match":"(?<![]\\\\\\\\])(\\\\[)((?:[^]\\\\[\\\\\\\\\\\\s]|\\\\\\\\[]\\\\[])+?)((?<!\\\\\\\\)])","name":"meta.link.reference.markdown"},"list_paragraph":{"begin":"(^|\\\\G)(?=\\\\S)(?![*->]\\\\s|[0-9]+\\\\.\\\\s)","name":"meta.paragraph.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"},{"include":"#heading-setext"}],"while":"(^|\\\\G)(?!\\\\s*$|#| {0,3}([-*>_] {2,}){3,}[\\\\t ]*$\\\\n?| {0,3}[*->]| {0,3}[0-9]+\\\\.)"},"lists":{"patterns":[{"begin":"(^|\\\\G)( {0,3})([-*+])([\\\\t ])","beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}},"name":"markup.list.unnumbered.markdown","patterns":[{"include":"#block"},{"include":"#list_paragraph"}],"while":"((^|\\\\G)( {2,4}|\\\\t))|^([\\\\t ]*)$"},{"begin":"(^|\\\\G)( {0,3})([0-9]+[).])([\\\\t ])","beginCaptures":{"3":{"name":"punctuation.definition.list.begin.markdown"}},"name":"markup.list.numbered.markdown","patterns":[{"include":"#block"},{"include":"#list_paragraph"}],"while":"((^|\\\\G)( {2,4}|\\\\t))|^([\\\\t ]*)$"}]},"paragraph":{"begin":"(^|\\\\G) {0,3}(?=[^\\\\t\\\\n ])","name":"meta.paragraph.markdown","patterns":[{"include":"#inline"},{"include":"text.html.derivative"},{"include":"#heading-setext"}],"while":"(^|\\\\G)((?=\\\\s*[-=]{3,}\\\\s*$)| {4,}(?=[^\\\\t\\\\n ]))"},"raw":{"captures":{"1":{"name":"punctuation.definition.raw.markdown"},"3":{"name":"punctuation.definition.raw.markdown"}},"match":"(`+)((?:[^`]|(?!(?<!`)\\\\1(?!`))`)*+)(\\\\1)","name":"markup.inline.raw.string.markdown"},"raw_block":{"begin":"(^|\\\\G)( {4}|\\\\t)","name":"markup.raw.block.markdown","while":"(^|\\\\G)( {4}|\\\\t)"},"separator":{"match":"(^|\\\\G) {0,3}([-*_])( {0,2}\\\\2){2,}[\\\\t ]*$\\\\n?","name":"meta.separator.markdown"},"strikethrough":{"captures":{"1":{"name":"punctuation.definition.strikethrough.markdown"},"2":{"patterns":[{"applyEndPatternLast":1,"begin":"(?=<[^>]*?>)","end":"(?<=>)","patterns":[{"include":"text.html.derivative"}]},{"include":"#escape"},{"include":"#ampersand"},{"include":"#bracket"},{"include":"#raw"},{"include":"#bold"},{"include":"#italic"},{"include":"#image-inline"},{"include":"#link-inline"},{"include":"#link-inet"},{"include":"#link-email"},{"include":"#image-ref"},{"include":"#link-ref-literal"},{"include":"#link-ref"},{"include":"#link-ref-shortcut"}]},"3":{"name":"punctuation.definition.strikethrough.markdown"}},"match":"(?<!\\\\\\\\)(~{2,})((?:[^~]|(?!(?<![\\\\\\\\~])\\\\1(?!~))~)*+)(\\\\1)","name":"markup.strikethrough.markdown"},"table":{"begin":"(^|\\\\G)(\\\\|)(?=[^|].+\\\\|\\\\s*$)","beginCaptures":{"2":{"name":"punctuation.definition.table.markdown"}},"name":"markup.table.markdown","patterns":[{"match":"\\\\|","name":"punctuation.definition.table.markdown"},{"captures":{"1":{"name":"punctuation.separator.table.markdown"}},"match":"(?<=\\\\|)\\\\s*(:?-+:?)\\\\s*(?=\\\\|)"},{"captures":{"1":{"patterns":[{"include":"#inline"}]}},"match":"(?<=\\\\|)\\\\s*(?=\\\\S)((\\\\\\\\\\\\||[^|])+)(?<=\\\\S)\\\\s*(?=\\\\|)"}],"while":"(^|\\\\G)(?=\\\\|)"}},"scopeName":"text.html.markdown","embeddedLangs":[],"aliases":["md"],"embeddedLangsLazy":["css","html","ini","java","lua","make","perl","r","ruby","php","sql","vb","xml","xsl","yaml","bat","clojure","coffee","c","cpp","diff","docker","git-commit","git-rebase","go","groovy","pug","javascript","json","jsonc","less","objective-c","swift","scss","raku","powershell","python","julia","regexp","rust","scala","shellscript","typescript","tsx","csharp","fsharp","dart","handlebars","log","erlang","elixir","latex","bibtex","html-derivative"]}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-RrBGtqGR.js.map diff --git a/src/webview-ui/build/assets/chunk-RrBGtqGR.js.map b/src/webview-ui/build/assets/chunk-RrBGtqGR.js.map new file mode 100644 index 0000000000..f868b04480 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-RrBGtqGR.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-RrBGtqGR.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/markdown.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Markdown\\\",\\\"name\\\":\\\"markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#frontMatter\\\"},{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"ampersand\\\":{\\\"match\\\":\\\"&(?!([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+);)\\\",\\\"name\\\":\\\"meta.other.valid-ampersand.markdown\\\"},\\\"block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#separator\\\"},{\\\"include\\\":\\\"#heading\\\"},{\\\"include\\\":\\\"#blockquote\\\"},{\\\"include\\\":\\\"#lists\\\"},{\\\"include\\\":\\\"#fenced_code_block\\\"},{\\\"include\\\":\\\"#raw_block\\\"},{\\\"include\\\":\\\"#link-def\\\"},{\\\"include\\\":\\\"#html\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#paragraph\\\"}]},\\\"blockquote\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) {0,3}(>) ?\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"name\\\":\\\"markup.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(>) ?\\\"},\\\"bold\\\":{\\\"begin\\\":\\\"(?<open>(\\\\\\\\*\\\\\\\\*(?=\\\\\\\\w)|(?<!\\\\\\\\w)\\\\\\\\*\\\\\\\\*|(?<!\\\\\\\\w)\\\\\\\\b__))(?=\\\\\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\\\\\k<raw>(?!`))`)*+\\\\\\\\k<raw>|\\\\\\\\\\\\\\\\[-\\\\\\\\]!#(-+.>\\\\\\\\[\\\\\\\\\\\\\\\\_`{}]?+|\\\\\\\\[((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+](( ?\\\\\\\\[[^]]*+])|(\\\\\\\\([\\\\\\\\t ]*+<?(.*?)>?[\\\\\\\\t ]*+((?<title>[\\\\\\\"'])(.*?)\\\\\\\\k<title>)?\\\\\\\\))))|(?!(?<=\\\\\\\\S)\\\\\\\\k<open>).)++(?<=\\\\\\\\S)(?=__\\\\\\\\b|\\\\\\\\*\\\\\\\\*)\\\\\\\\k<open>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bold.markdown\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.bold.markdown\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"},{\\\"include\\\":\\\"#strikethrough\\\"}]},\\\"bracket\\\":{\\\"match\\\":\\\"<(?![!$/?A-Za-z])\\\",\\\"name\\\":\\\"meta.other.valid-bracket.markdown\\\"},\\\"escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[-\\\\\\\\]!#(-+.>\\\\\\\\[\\\\\\\\\\\\\\\\_`{}]\\\",\\\"name\\\":\\\"constant.character.escape.markdown\\\"},\\\"fenced_code_block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fenced_code_block_css\\\"},{\\\"include\\\":\\\"#fenced_code_block_basic\\\"},{\\\"include\\\":\\\"#fenced_code_block_ini\\\"},{\\\"include\\\":\\\"#fenced_code_block_java\\\"},{\\\"include\\\":\\\"#fenced_code_block_lua\\\"},{\\\"include\\\":\\\"#fenced_code_block_makefile\\\"},{\\\"include\\\":\\\"#fenced_code_block_perl\\\"},{\\\"include\\\":\\\"#fenced_code_block_r\\\"},{\\\"include\\\":\\\"#fenced_code_block_ruby\\\"},{\\\"include\\\":\\\"#fenced_code_block_php\\\"},{\\\"include\\\":\\\"#fenced_code_block_sql\\\"},{\\\"include\\\":\\\"#fenced_code_block_vs_net\\\"},{\\\"include\\\":\\\"#fenced_code_block_xml\\\"},{\\\"include\\\":\\\"#fenced_code_block_xsl\\\"},{\\\"include\\\":\\\"#fenced_code_block_yaml\\\"},{\\\"include\\\":\\\"#fenced_code_block_dosbatch\\\"},{\\\"include\\\":\\\"#fenced_code_block_clojure\\\"},{\\\"include\\\":\\\"#fenced_code_block_coffee\\\"},{\\\"include\\\":\\\"#fenced_code_block_c\\\"},{\\\"include\\\":\\\"#fenced_code_block_cpp\\\"},{\\\"include\\\":\\\"#fenced_code_block_diff\\\"},{\\\"include\\\":\\\"#fenced_code_block_dockerfile\\\"},{\\\"include\\\":\\\"#fenced_code_block_git_commit\\\"},{\\\"include\\\":\\\"#fenced_code_block_git_rebase\\\"},{\\\"include\\\":\\\"#fenced_code_block_go\\\"},{\\\"include\\\":\\\"#fenced_code_block_groovy\\\"},{\\\"include\\\":\\\"#fenced_code_block_pug\\\"},{\\\"include\\\":\\\"#fenced_code_block_js\\\"},{\\\"include\\\":\\\"#fenced_code_block_js_regexp\\\"},{\\\"include\\\":\\\"#fenced_code_block_json\\\"},{\\\"include\\\":\\\"#fenced_code_block_jsonc\\\"},{\\\"include\\\":\\\"#fenced_code_block_less\\\"},{\\\"include\\\":\\\"#fenced_code_block_objc\\\"},{\\\"include\\\":\\\"#fenced_code_block_swift\\\"},{\\\"include\\\":\\\"#fenced_code_block_scss\\\"},{\\\"include\\\":\\\"#fenced_code_block_perl6\\\"},{\\\"include\\\":\\\"#fenced_code_block_powershell\\\"},{\\\"include\\\":\\\"#fenced_code_block_python\\\"},{\\\"include\\\":\\\"#fenced_code_block_julia\\\"},{\\\"include\\\":\\\"#fenced_code_block_regexp_python\\\"},{\\\"include\\\":\\\"#fenced_code_block_rust\\\"},{\\\"include\\\":\\\"#fenced_code_block_scala\\\"},{\\\"include\\\":\\\"#fenced_code_block_shell\\\"},{\\\"include\\\":\\\"#fenced_code_block_ts\\\"},{\\\"include\\\":\\\"#fenced_code_block_tsx\\\"},{\\\"include\\\":\\\"#fenced_code_block_csharp\\\"},{\\\"include\\\":\\\"#fenced_code_block_fsharp\\\"},{\\\"include\\\":\\\"#fenced_code_block_dart\\\"},{\\\"include\\\":\\\"#fenced_code_block_handlebars\\\"},{\\\"include\\\":\\\"#fenced_code_block_markdown\\\"},{\\\"include\\\":\\\"#fenced_code_block_log\\\"},{\\\"include\\\":\\\"#fenced_code_block_erlang\\\"},{\\\"include\\\":\\\"#fenced_code_block_elixir\\\"},{\\\"include\\\":\\\"#fenced_code_block_latex\\\"},{\\\"include\\\":\\\"#fenced_code_block_bibtex\\\"},{\\\"include\\\":\\\"#fenced_code_block_twig\\\"},{\\\"include\\\":\\\"#fenced_code_block_unknown\\\"}]},\\\"fenced_code_block_basic\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_bibtex\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(bibtex)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.bibtex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.bibtex\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_c\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:([ch])((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_clojure\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(cl(?:js??|ojure))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_coffee\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_cpp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(c(?:pp|\\\\\\\\+\\\\\\\\+|xx))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.cpp source.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_csharp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(c(?:s|sharp|#))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.csharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_css\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(css(?:|.erb))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dart\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(dart)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dart\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dart\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_diff\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(patch|diff|rej)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dockerfile\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:([Dd]ockerfile)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dosbatch\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(bat(?:|ch))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dosbatch\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.batchfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_elixir\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(elixir)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_erlang\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(erlang)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_fsharp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(f(?:s|sharp|#))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.fsharp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_git_commit\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.git_commit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.git-commit\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_git_rebase\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(git-rebase-todo)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.git_rebase\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.git-rebase\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_go\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(go(?:|lang))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_groovy\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(g(?:roovy|vy))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.groovy\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_handlebars\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(h(?:andlebars|bs))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.handlebars\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ini\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ini|conf)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_java\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(java|bsh)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_js\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\\\\\{\\\\\\\\.js.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_js_regexp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(regexp)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.js_regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js.regexp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_json\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_jsonc\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jsonc)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.jsonc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json.comments\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_julia\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(julia|\\\\\\\\{\\\\\\\\.julia.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_latex\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:la|)tex)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_less\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(less)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_log\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(log)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.log\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.log\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_lua\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(lua)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_makefile\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_markdown\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(m(?:arkdown|d))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_objc\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_perl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_perl6\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.perl6\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl.6\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_php\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"source.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_powershell\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.powershell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_pug\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jade|pug)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.pug\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_python\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\\\\\{\\\\\\\\.python.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_r\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:([RSrs]|Rprofile|\\\\\\\\{\\\\\\\\.r.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_regexp_python\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(re)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.regexp_python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ruby\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ruby|rbx??|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_rust\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(rust|rs|\\\\\\\\{\\\\\\\\.rust.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_scala\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(s(?:cala|bt))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_scss\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(scss)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_shell\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\\\\\{\\\\\\\\.bash.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_sql\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(sql|ddl|dml)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_swift\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(swift)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ts\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(t(?:ypescript|s))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.typescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_tsx\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(tsx)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.typescriptreact\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_twig\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(twig)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.twig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_unknown\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?=([^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\"},\\\"fenced_code_block_vs_net\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(vb)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.vs_net\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asp.vb.net\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_xml\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_xsl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(xslt??)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.xsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.xsl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_yaml\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ya?ml)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"frontMatter\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\A(?=(-{3,}))\\\",\\\"end\\\":\\\"^(?: {0,3}\\\\\\\\1-*[\\\\\\\\t ]*|[\\\\\\\\t ]*\\\\\\\\.{3})$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.frontmatter\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\A(-{3,})(.*)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.frontmatter\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.frontmatter\\\"}},\\\"contentName\\\":\\\"meta.embedded.block.frontmatter\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"^(?!(?: {0,3}\\\\\\\\1-*[\\\\\\\\t ]*|[\\\\\\\\t ]*\\\\\\\\.{3})$)\\\"}]},\\\"heading\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{6})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.6.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{5})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.5.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{4})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.4.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{3})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.3.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{2})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.2.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{1})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.1.markdown\\\"}]}},\\\"match\\\":\\\"(?:^|\\\\\\\\G) {0,3}(#{1,6}\\\\\\\\s+(.*?)(\\\\\\\\s+#{1,6})?\\\\\\\\s*)$\\\",\\\"name\\\":\\\"markup.heading.markdown\\\"},\\\"heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(={3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.1.markdown\\\"},{\\\"match\\\":\\\"^(-{3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.2.markdown\\\"}]},\\\"html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(<!--)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"(-->)\\\",\\\"name\\\":\\\"comment.block.html\\\"},{\\\"begin\\\":\\\"(?i)(^|\\\\\\\\G)\\\\\\\\s*(?=<(script|style|pre)(\\\\\\\\s|$|>)(?!.*?</(script|style|pre)>))\\\",\\\"end\\\":\\\"(?i)(.*)((</)(script|style|pre)(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.structure.$4.end.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\s*|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"(?i)^(?!.*</(script|style|pre)>)\\\"}]},{\\\"begin\\\":\\\"(?i)(^|\\\\\\\\G)\\\\\\\\s*(?=</?[A-Za-z]+[^\\\\\\\\&/;gt\\\\\\\\s]*(\\\\\\\\s|$|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*$)\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(?=(<(?:[-0-9A-Za-z](/?>|\\\\\\\\s.*?>)|/[-0-9A-Za-z]>))\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*$)\\\"}]},\\\"image-inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.image.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.underline.link.image.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"18\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"19\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"}},\\\"match\\\":\\\"(!\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(])(\\\\\\\\()[\\\\\\\\t ]*((<)((?:\\\\\\\\\\\\\\\\[<>]|[^\\\\\\\\n<>])*)(>)|((?<url>(?>[^()\\\\\\\\s]+)|\\\\\\\\(\\\\\\\\g<url>*\\\\\\\\))*))[\\\\\\\\t ]*(?:((\\\\\\\\().+?(\\\\\\\\)))|((\\\\\\\").+?(\\\\\\\"))|((').+?(')))?\\\\\\\\s*(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.image.inline.markdown\\\"},\\\"image-ref\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"}},\\\"match\\\":\\\"(!\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(]) ?(\\\\\\\\[)(.*?)(])\\\",\\\"name\\\":\\\"meta.image.reference.markdown\\\"},\\\"inline\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"}]},\\\"italic\\\":{\\\"begin\\\":\\\"(?<open>(\\\\\\\\*(?=\\\\\\\\w)|(?<!\\\\\\\\w)\\\\\\\\*|(?<!\\\\\\\\w)\\\\\\\\b_))(?=\\\\\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\\\\\k<raw>(?!`))`)*+\\\\\\\\k<raw>|\\\\\\\\\\\\\\\\[-\\\\\\\\]!#(-+.>\\\\\\\\[\\\\\\\\\\\\\\\\_`{}]?+|\\\\\\\\[((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+](( ?\\\\\\\\[[^]]*+])|(\\\\\\\\([\\\\\\\\t ]*+<?(.*?)>?[\\\\\\\\t ]*+((?<title>[\\\\\\\"'])(.*?)\\\\\\\\k<title>)?\\\\\\\\))))|\\\\\\\\k<open>\\\\\\\\k<open>|(?!(?<=\\\\\\\\S)\\\\\\\\k<open>).)++(?<=\\\\\\\\S)(?=_\\\\\\\\b|\\\\\\\\*)\\\\\\\\k<open>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.italic.markdown\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\1)((?!\\\\\\\\1)|(?=\\\\\\\\1\\\\\\\\1))\\\",\\\"name\\\":\\\"markup.italic.markdown\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"},{\\\"include\\\":\\\"#strikethrough\\\"}]},\\\"link-def\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\[)([^]]+?)(])(:)[\\\\\\\\t ]*(?:(<)((?:\\\\\\\\\\\\\\\\[<>]|[^\\\\\\\\n<>])*)(>)|(\\\\\\\\S+?))[\\\\\\\\t ]*(?:((\\\\\\\\().+?(\\\\\\\\)))|((\\\\\\\").+?(\\\\\\\"))|((').+?(')))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"meta.link.reference.def.markdown\\\"},\\\"link-email\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"}},\\\"match\\\":\\\"(<)((?:mailto:)?[!#-'*+\\\\\\\\--9=?A-Z^-~]+@[-0-9A-Za-z]+(?:\\\\\\\\.[-0-9A-Za-z]+)*)(>)\\\",\\\"name\\\":\\\"meta.link.email.lt-gt.markdown\\\"},\\\"link-inet\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"}},\\\"match\\\":\\\"(<)((?:https?|ftp)://.*?)(>)\\\",\\\"name\\\":\\\"meta.link.inet.markdown\\\"},\\\"link-inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#image-inline\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"18\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"19\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(])(\\\\\\\\()[\\\\\\\\t ]*((<)((?:\\\\\\\\\\\\\\\\[<>]|[^\\\\\\\\n<>])*)(>)|((?<url>(?>[^()\\\\\\\\s]+)|\\\\\\\\(\\\\\\\\g<url>*\\\\\\\\))*))[\\\\\\\\t ]*(?:((\\\\\\\\()[^()]*(\\\\\\\\)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"))|((')[^']*(')))?\\\\\\\\s*(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.link.inline.markdown\\\"},\\\"link-ref\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#image-inline\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.begin.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.constant.end.markdown\\\"}},\\\"match\\\":\\\"(?<![]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(])(\\\\\\\\[)([^]]*+)(])\\\",\\\"name\\\":\\\"meta.link.reference.markdown\\\"},\\\"link-ref-literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.begin.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.constant.end.markdown\\\"}},\\\"match\\\":\\\"(?<![]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(]) ?(\\\\\\\\[)(])\\\",\\\"name\\\":\\\"meta.link.reference.literal.markdown\\\"},\\\"link-ref-shortcut\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"}},\\\"match\\\":\\\"(?<![]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?:[^]\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\[]\\\\\\\\[])+?)((?<!\\\\\\\\\\\\\\\\)])\\\",\\\"name\\\":\\\"meta.link.reference.markdown\\\"},\\\"list_paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\S)(?![*->]\\\\\\\\s|[0-9]+\\\\\\\\.\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*$|#| {0,3}([-*>_] {2,}){3,}[\\\\\\\\t ]*$\\\\\\\\n?| {0,3}[*->]| {0,3}[0-9]+\\\\\\\\.)\\\"},\\\"lists\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)( {0,3})([-*+])([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.unnumbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( {2,4}|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)( {0,3})([0-9]+[).])([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.numbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( {2,4}|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"}]},\\\"paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) {0,3}(?=[^\\\\\\\\t\\\\\\\\n ])\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)((?=\\\\\\\\s*[-=]{3,}\\\\\\\\s*$)| {4,}(?=[^\\\\\\\\t\\\\\\\\n ]))\\\"},\\\"raw\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.raw.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.raw.markdown\\\"}},\\\"match\\\":\\\"(`+)((?:[^`]|(?!(?<!`)\\\\\\\\1(?!`))`)*+)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.inline.raw.string.markdown\\\"},\\\"raw_block\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)( {4}|\\\\\\\\t)\\\",\\\"name\\\":\\\"markup.raw.block.markdown\\\",\\\"while\\\":\\\"(^|\\\\\\\\G)( {4}|\\\\\\\\t)\\\"},\\\"separator\\\":{\\\"match\\\":\\\"(^|\\\\\\\\G) {0,3}([-*_])( {0,2}\\\\\\\\2){2,}[\\\\\\\\t ]*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.separator.markdown\\\"},\\\"strikethrough\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.strikethrough.markdown\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.strikethrough.markdown\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(~{2,})((?:[^~]|(?!(?<![\\\\\\\\\\\\\\\\~])\\\\\\\\1(?!~))~)*+)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.strikethrough.markdown\\\"},\\\"table\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\|)(?=[^|].+\\\\\\\\|\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.table.markdown\\\"}},\\\"name\\\":\\\"markup.table.markdown\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.definition.table.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.table.markdown\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\|)\\\\\\\\s*(:?-+:?)\\\\\\\\s*(?=\\\\\\\\|)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"}]}},\\\"match\\\":\\\"(?<=\\\\\\\\|)\\\\\\\\s*(?=\\\\\\\\S)((\\\\\\\\\\\\\\\\\\\\\\\\||[^|])+)(?<=\\\\\\\\S)\\\\\\\\s*(?=\\\\\\\\|)\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\|)\\\"}},\\\"scopeName\\\":\\\"text.html.markdown\\\",\\\"embeddedLangs\\\":[],\\\"aliases\\\":[\\\"md\\\"],\\\"embeddedLangsLazy\\\":[\\\"css\\\",\\\"html\\\",\\\"ini\\\",\\\"java\\\",\\\"lua\\\",\\\"make\\\",\\\"perl\\\",\\\"r\\\",\\\"ruby\\\",\\\"php\\\",\\\"sql\\\",\\\"vb\\\",\\\"xml\\\",\\\"xsl\\\",\\\"yaml\\\",\\\"bat\\\",\\\"clojure\\\",\\\"coffee\\\",\\\"c\\\",\\\"cpp\\\",\\\"diff\\\",\\\"docker\\\",\\\"git-commit\\\",\\\"git-rebase\\\",\\\"go\\\",\\\"groovy\\\",\\\"pug\\\",\\\"javascript\\\",\\\"json\\\",\\\"jsonc\\\",\\\"less\\\",\\\"objective-c\\\",\\\"swift\\\",\\\"scss\\\",\\\"raku\\\",\\\"powershell\\\",\\\"python\\\",\\\"julia\\\",\\\"regexp\\\",\\\"rust\\\",\\\"scala\\\",\\\"shellscript\\\",\\\"typescript\\\",\\\"tsx\\\",\\\"csharp\\\",\\\"fsharp\\\",\\\"dart\\\",\\\"handlebars\\\",\\\"log\\\",\\\"erlang\\\",\\\"elixir\\\",\\\"latex\\\",\\\"bibtex\\\",\\\"html-derivative\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "markdown" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,uitDAAsi4D,CAAC,EAE9j4DC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-T7J2jLj3.js b/src/webview-ui/build/assets/chunk-T7J2jLj3.js new file mode 100644 index 0000000000..947ba29460 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-T7J2jLj3.js @@ -0,0 +1,31 @@ +import t from "./chunk-DPfMkruS.js" +import e from "./chunk-BMMyXqK5.js" +import n from "./chunk-vbB5lEOJ.js" +import i from "./chunk-Cf4Oy6XI.js" +import a from "./chunk-B6aJPvgy.js" +import s from "./chunk-3mfGJbgy.js" +import "./chunk-CXhxxCfG.js" +import "./chunk-B_vNuMnf.js" +import "./chunk-CylS5w8V.js" +import "./chunk-B9xm8XSJ.js" +import "./chunk-Cp-IABpG.js" +import "./chunk-Cne5dW8M.js" +import "./chunk-C-HMFfM3.js" +import "./chunk-DlfHMoPT.js" +import "./chunk-g9-lgVsj.js" +import "./chunk-COt5Ahok.js" +import "./chunk-CzjqYRUi.js" +import "./chunk-CDVJQ6XC.js" +import "./chunk-DXETW7eA.js" +import "./chunk-BIGW1oBm.js" +import "./chunk-Yzrsuije.js" +import "./chunk-Colysff4.js" +import "./chunk-Buea-lGh.js" +const r = Object.freeze( + JSON.parse( + `{"displayName":"Twig","fileTypes":["twig","html.twig"],"firstLineMatch":"<!(?i:DOCTYPE)|<(?i:html)|<\\\\?(?i:php)|\\\\{\\\\{|\\\\{%|\\\\{#","foldingStartMarker":"(<(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)\\\\b.*?>|<!--(?!.*--\\\\s*>)|^<!-- #tminclude (?>.*?-->)$|\\\\{%\\\\s+(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))","foldingStopMarker":"(</(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)>|^(?!.*?<!--).*?--\\\\s*>|^<!-- end tminclude -->$|\\\\{%\\\\s+end(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))","name":"twig","patterns":[{"begin":"(<)([0-:A-Za-z]++)(?=[^>]*></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"end":"(>(<)/)(\\\\2)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}},"name":"meta.tag.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(<\\\\?)(xml)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.xml.html"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml.html","patterns":[{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.html"}},"end":"--\\\\s*>","name":"comment.block.html","patterns":[{"match":"--","name":"invalid.illegal.bad-comments-or-CDATA.html"},{"include":"#embedded-code"}]},{"begin":"<!","captures":{"0":{"name":"punctuation.definition.tag.html"}},"end":">","name":"meta.tag.sgml.html","patterns":[{"begin":"(?i:DOCTYPE)","captures":{"1":{"name":"entity.name.tag.doctype.html"}},"end":"(?=>)","name":"meta.tag.sgml.doctype.html","patterns":[{"match":"\\"[^\\">]*\\"","name":"string.quoted.double.doctype.identifiers-and-DTDs.html"}]},{"begin":"\\\\[CDATA\\\\[","end":"]](?=>)","name":"constant.other.inline-data.html"},{"match":"(\\\\s*)(?!--|>)\\\\S(\\\\s*)","name":"invalid.illegal.bad-comments-or-CDATA.html"}]},{"include":"#embedded-code"},{"begin":"(?:^\\\\s+)?(<)((?i:style))\\\\b(?![^>]*/>)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}},"end":"(</)((?i:style))(>)(?:\\\\s*\\\\n)?","name":"source.css.embedded.html","patterns":[{"include":"#tag-stuff"},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"}},"end":"(?=</(?i:style))","patterns":[{"include":"#embedded-code"},{"include":"source.css"}]}]},{"begin":"(?:^\\\\s+)?(<)((?i:script))\\\\b(?![^>]*/>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}},"end":"(?<=</(script|SCRIPT))(>)(?:\\\\s*\\\\n)?","endCaptures":{"2":{"name":"punctuation.definition.tag.html"}},"name":"source.js.embedded.html","patterns":[{"include":"#tag-stuff"},{"begin":"(?<!</(?:script|SCRIPT))(>)","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}},"end":"(</)((?i:script))","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.js"}},"match":"(//).*?((?=<\/script)|$\\\\n?)","name":"comment.line.double-slash.js"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.js"}},"end":"\\\\*/|(?=<\/script)","name":"comment.block.js"},{"include":"#php"},{"include":"#twig-print-tag"},{"include":"#twig-statement-tag"},{"include":"#twig-comment-tag"},{"include":"source.js"}]}]},{"begin":"(?i)(?<=\\\\{%\\\\s(?:|include)js\\\\s%})","end":"(?i)(?=\\\\{%\\\\send(?:|include)js\\\\s%})","name":"source.js.embedded.twig","patterns":[{"include":"source.js"}]},{"begin":"(?i)(?<=\\\\{%\\\\s(?:|include|includehires)css\\\\s%})","end":"(?i)(?=\\\\{%\\\\send(?:|include|includehires)css\\\\s%})","name":"source.css.embedded.twig","patterns":[{"include":"source.css"}]},{"begin":"(?i)(?<=\\\\{%\\\\s(?:|include|includehires)scss\\\\s%})","end":"(?i)(?=\\\\{%\\\\send(?:|include|includehires)scss\\\\s%})","name":"source.css.scss.embedded.twig","patterns":[{"include":"source.css.scss"}]},{"begin":"(</?)((?i:body|head|html))\\\\b","captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.structure.any.html"}},"end":"(>)","name":"meta.tag.structure.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre))\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.block.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var))\\\\b","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.inline.any.html","patterns":[{"include":"#tag-stuff"}]},{"begin":"(</?)([0-:A-Za-z]+)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.html","patterns":[{"include":"#tag-stuff"}]},{"include":"#entities"},{"match":"<>","name":"invalid.illegal.incomplete.html"},{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"},{"include":"#twig-print-tag"},{"include":"#twig-statement-tag"},{"include":"#twig-comment-tag"}],"repository":{"embedded-code":{"patterns":[{"include":"#ruby"},{"include":"#php"},{"include":"#twig-print-tag"},{"include":"#twig-statement-tag"},{"include":"#twig-comment-tag"},{"include":"#python"}]},"entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.html"},{"match":"&","name":"invalid.illegal.bad-ampersand.html"}]},"php":{"begin":"(?=(^\\\\s*)?<\\\\?)","end":"(?!(^\\\\s*)?<\\\\?)","patterns":[{"include":"source.php"}]},"python":{"begin":"^\\\\s*<\\\\?python(?!.*\\\\?>)","end":"\\\\?>(?:\\\\s*$\\\\n)?","name":"source.python.embedded.html","patterns":[{"include":"source.python"}]},"ruby":{"patterns":[{"begin":"<%+#","captures":{"0":{"name":"punctuation.definition.comment.erb"}},"end":"%>","name":"comment.block.erb"},{"begin":"<%+(?!>)=?","captures":{"0":{"name":"punctuation.section.embedded.ruby"}},"end":"-?%>","name":"source.ruby.embedded.html","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.ruby"}},"match":"(#).*?(?=-?%>)","name":"comment.line.number-sign.ruby"},{"include":"source.ruby"}]},{"begin":"<\\\\?r(?!>)=?","captures":{"0":{"name":"punctuation.section.embedded.ruby.nitro"}},"end":"-?\\\\?>","name":"source.ruby.nitro.embedded.html","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.ruby.nitro"}},"match":"(#).*?(?=-?\\\\?>)","name":"comment.line.number-sign.ruby.nitro"},{"include":"source.ruby"}]}]},"string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"#embedded-code"},{"include":"#entities"}]},"string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"#embedded-code"},{"include":"#entities"}]},"tag-generic-attribute":{"match":"\\\\b([-:A-Za-z]+)","name":"entity.other.attribute-name.html"},"tag-id-attribute":{"begin":"\\\\b(id)\\\\b\\\\s*(=)","captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}},"end":"(?<=[\\"'])","name":"meta.attribute-with-value.id.html","patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.double.html","patterns":[{"include":"#embedded-code"},{"include":"#entities"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"contentName":"meta.toc-list.id.html","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}},"name":"string.quoted.single.html","patterns":[{"include":"#embedded-code"},{"include":"#entities"}]}]},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-single-quoted"},{"include":"#embedded-code"}]},"twig-arrays":{"begin":"(?<=[(,:\\\\[{\\\\s])\\\\[","beginCaptures":{"0":{"name":"punctuation.section.array.begin.twig"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.array.end.twig"}},"name":"meta.array.twig","patterns":[{"include":"#twig-arrays"},{"include":"#twig-hashes"},{"include":"#twig-constants"},{"include":"#twig-operators"},{"include":"#twig-strings"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"match":",","name":"punctuation.separator.object.twig"}]},"twig-comment-tag":{"begin":"\\\\{#-?","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.twig"}},"end":"-?#}","endCaptures":{"0":{"name":"punctuation.definition.comment.end.twig"}},"name":"comment.block.twig"},"twig-constants":{"patterns":[{"match":"(?i)(?<=[(,:\\\\[{\\\\s])(?:true|false|null|none)(?=[]),}\\\\s])","name":"constant.language.twig"},{"match":"(?<=[(,:\\\\[{\\\\s]|\\\\.\\\\.|\\\\*\\\\*)[0-9]+(?:\\\\.[0-9]+)?(?=[]),}\\\\s]|\\\\.\\\\.|\\\\*\\\\*)","name":"constant.numeric.twig"}]},"twig-filters":{"captures":{"1":{"name":"support.function.twig"}},"match":"(?<=[]\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[]),:|}\\\\s]|\\\\.\\\\.|\\\\*\\\\*)"},"twig-filters-ud":{"captures":{"1":{"name":"meta.function-call.other.twig"}},"match":"(?<=[]\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)"},"twig-filters-warg":{"begin":"(?<=[]\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\\\\()","beginCaptures":{"1":{"name":"support.function.twig"},"2":{"name":"punctuation.definition.parameters.begin.twig"}},"contentName":"meta.function.arguments.twig","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.twig"}},"patterns":[{"include":"#twig-constants"},{"include":"#twig-operators"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-strings"},{"include":"#twig-arrays"},{"include":"#twig-hashes"}]},"twig-filters-warg-ud":{"begin":"(?<=[]\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(\\\\()","beginCaptures":{"1":{"name":"meta.function-call.other.twig"},"2":{"name":"punctuation.definition.parameters.begin.twig"}},"contentName":"meta.function.arguments.twig","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.twig"}},"patterns":[{"include":"#twig-constants"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-strings"},{"include":"#twig-arrays"},{"include":"#twig-hashes"}]},"twig-functions":{"captures":{"1":{"name":"support.function.twig"}},"match":"(?<=is\\\\s)(defined|empty|even|iterable|odd)"},"twig-functions-warg":{"begin":"(?<=[(,:\\\\[{\\\\s])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\\\\()","beginCaptures":{"1":{"name":"support.function.twig"},"2":{"name":"punctuation.definition.parameters.begin.twig"}},"contentName":"meta.function.arguments.twig","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.twig"}},"patterns":[{"include":"#twig-constants"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-strings"},{"include":"#twig-arrays"}]},"twig-hashes":{"begin":"(?<=[(,:\\\\[{\\\\s])\\\\{","beginCaptures":{"0":{"name":"punctuation.section.hash.begin.twig"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.hash.end.twig"}},"name":"meta.hash.twig","patterns":[{"include":"#twig-hashes"},{"include":"#twig-arrays"},{"include":"#twig-constants"},{"include":"#twig-operators"},{"include":"#twig-strings"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"match":":","name":"punctuation.separator.key-value.twig"},{"match":",","name":"punctuation.separator.object.twig"}]},"twig-keywords":{"match":"(?<=\\\\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with)(?=\\\\s)","name":"keyword.control.twig"},"twig-macros":{"begin":"(?<=[(,:\\\\[{\\\\s])([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?:(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))?(\\\\()","beginCaptures":{"1":{"name":"meta.function-call.twig"},"2":{"name":"punctuation.separator.property.twig"},"3":{"name":"variable.other.property.twig"},"4":{"name":"punctuation.definition.parameters.begin.twig"}},"contentName":"meta.function.arguments.twig","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.twig"}},"patterns":[{"include":"#twig-constants"},{"include":"#twig-operators"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-strings"},{"include":"#twig-arrays"},{"include":"#twig-hashes"}]},"twig-objects":{"captures":{"1":{"name":"variable.other.twig"}},"match":"(?<=[(,:\\\\[{\\\\s])([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?=[](),.:\\\\[|}\\\\s])"},"twig-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.arithmetic.twig"}},"match":"(?<=\\\\s)([-+]|//?|%|\\\\*\\\\*?)(?=\\\\s)"},{"captures":{"1":{"name":"keyword.operator.assignment.twig"}},"match":"(?<=\\\\s)([=~])(?=\\\\s)"},{"captures":{"1":{"name":"keyword.operator.bitwise.twig"}},"match":"(?<=\\\\s)(b-(?:and|or|xor))(?=\\\\s)"},{"captures":{"1":{"name":"keyword.operator.comparison.twig"}},"match":"(?<=\\\\s)([!=]=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\\\\s)"},{"captures":{"1":{"name":"keyword.operator.logical.twig"}},"match":"(?<=\\\\s)([:?]|\\\\?:|\\\\?\\\\?|and|not|or)(?=\\\\s)"},{"captures":{"0":{"name":"keyword.operator.other.twig"}},"match":"(?<=[]\\"')0-9A-Z_a-z\\\\x7F-ÿ])\\\\.\\\\.(?=[\\"'0-9A-Z_a-z\\\\x7F-ÿ])"},{"captures":{"0":{"name":"keyword.operator.other.twig"}},"match":"(?<=[]\\"')0-9A-Z_a-z}\\\\x7F-ÿ])\\\\|(?=[A-Z_a-z\\\\x7F-ÿ])"}]},"twig-print-tag":{"begin":"\\\\{\\\\{-?","beginCaptures":{"0":{"name":"punctuation.section.tag.twig"}},"end":"-?}}","endCaptures":{"0":{"name":"punctuation.section.tag.twig"}},"name":"meta.tag.template.value.twig","patterns":[{"include":"#twig-constants"},{"include":"#twig-operators"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-strings"},{"include":"#twig-arrays"},{"include":"#twig-hashes"}]},"twig-properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.property.twig"},"2":{"name":"variable.other.property.twig"}},"match":"(?<=[0-9A-Z_a-z\\\\x7F-ÿ])(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?=[]),.:\\\\[|}\\\\s])"},{"begin":"(?<=[0-9A-Z_a-z\\\\x7F-ÿ])(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.property.twig"},"2":{"name":"variable.other.property.twig"},"3":{"name":"punctuation.definition.parameters.begin.twig"}},"contentName":"meta.function.arguments.twig","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.twig"}},"patterns":[{"include":"#twig-constants"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-strings"},{"include":"#twig-arrays"}]},{"captures":{"1":{"name":"punctuation.section.array.begin.twig"},"2":{"name":"variable.other.property.twig"},"3":{"name":"punctuation.section.array.end.twig"},"4":{"name":"punctuation.section.array.begin.twig"},"5":{"name":"variable.other.property.twig"},"6":{"name":"punctuation.section.array.end.twig"},"7":{"name":"punctuation.section.array.begin.twig"},"8":{"name":"variable.other.property.twig"},"9":{"name":"punctuation.section.array.end.twig"}},"match":"(?<=[]0-9A-Z_a-z\\\\x7F-ÿ])(?:(\\\\[)('[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*')(])|(\\\\[)(\\"[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*\\")(])|(\\\\[)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(]))"}]},"twig-statement-tag":{"begin":"\\\\{%-?","beginCaptures":{"0":{"name":"punctuation.section.tag.twig"}},"end":"-?%}","endCaptures":{"0":{"name":"punctuation.section.tag.twig"}},"name":"meta.tag.template.block.twig","patterns":[{"include":"#twig-constants"},{"include":"#twig-keywords"},{"include":"#twig-operators"},{"include":"#twig-functions-warg"},{"include":"#twig-functions"},{"include":"#twig-macros"},{"include":"#twig-filters-warg"},{"include":"#twig-filters"},{"include":"#twig-filters-warg-ud"},{"include":"#twig-filters-ud"},{"include":"#twig-objects"},{"include":"#twig-properties"},{"include":"#twig-strings"},{"include":"#twig-arrays"},{"include":"#twig-hashes"}]},"twig-strings":{"patterns":[{"begin":"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.twig"}},"end":"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))'","endCaptures":{"0":{"name":"punctuation.definition.string.end.twig"}},"name":"string.quoted.single.twig"},{"begin":"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.twig"}},"end":"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.twig"}},"name":"string.quoted.double.twig"}]}},"scopeName":"text.html.twig","embeddedLangs":["css","javascript","scss","php","python","ruby"]}`, + ), + ), + q = [...t, ...e, ...n, ...i, ...a, ...s, r] +export { q as default } +//# sourceMappingURL=chunk-T7J2jLj3.js.map diff --git a/src/webview-ui/build/assets/chunk-T7J2jLj3.js.map b/src/webview-ui/build/assets/chunk-T7J2jLj3.js.map new file mode 100644 index 0000000000..28faac08d7 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-T7J2jLj3.js.map @@ -0,0 +1,25 @@ +{ + "version": 3, + "file": "chunk-T7J2jLj3.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/twig.mjs" + ], + "sourcesContent": [ + "import css from './css.mjs'\nimport javascript from './javascript.mjs'\nimport scss from './scss.mjs'\nimport php from './php.mjs'\nimport python from './python.mjs'\nimport ruby from './ruby.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Twig\\\",\\\"fileTypes\\\":[\\\"twig\\\",\\\"html.twig\\\"],\\\"firstLineMatch\\\":\\\"<!(?i:DOCTYPE)|<(?i:html)|<\\\\\\\\?(?i:php)|\\\\\\\\{\\\\\\\\{|\\\\\\\\{%|\\\\\\\\{#\\\",\\\"foldingStartMarker\\\":\\\"(<(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)\\\\\\\\b.*?>|<!--(?!.*--\\\\\\\\s*>)|^<!-- #tminclude (?>.*?-->)$|\\\\\\\\{%\\\\\\\\s+(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))\\\",\\\"foldingStopMarker\\\":\\\"(</(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)>|^(?!.*?<!--).*?--\\\\\\\\s*>|^<!-- end tminclude -->$|\\\\\\\\{%\\\\\\\\s+end(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))\\\",\\\"name\\\":\\\"twig\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)([0-:A-Za-z]++)(?=[^>]*></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(>(<)/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"--\\\\\\\\s*>\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"},{\\\"include\\\":\\\"#embedded-code\\\"}]},{\\\"begin\\\":\\\"<!\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"meta.tag.sgml.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i:DOCTYPE)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.doctype.html\\\"}},\\\"end\\\":\\\"(?=>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\">]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.doctype.identifiers-and-DTDs.html\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]](?=>)\\\",\\\"name\\\":\\\"constant.other.inline-data.html\\\"},{\\\"match\\\":\\\"(\\\\\\\\s*)(?!--|>)\\\\\\\\S(\\\\\\\\s*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},{\\\"include\\\":\\\"#embedded-code\\\"},{\\\"begin\\\":\\\"(?:^\\\\\\\\s+)?(<)((?i:style))\\\\\\\\b(?![^>]*/>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.style.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\"(</)((?i:style))(>)(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"name\\\":\\\"source.css.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\"(?=</(?i:style))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embedded-code\\\"},{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"(?:^\\\\\\\\s+)?(<)((?i:script))\\\\\\\\b(?![^>]*/>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.script.html\\\"}},\\\"end\\\":\\\"(?<=</(script|SCRIPT))(>)(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"name\\\":\\\"source.js.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<!</(?:script|SCRIPT))(>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.script.html\\\"}},\\\"end\\\":\\\"(</)((?i:script))\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"match\\\":\\\"(//).*?((?=</script)|$\\\\\\\\n?)\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/|(?=</script)\\\",\\\"name\\\":\\\"comment.block.js\\\"},{\\\"include\\\":\\\"#php\\\"},{\\\"include\\\":\\\"#twig-print-tag\\\"},{\\\"include\\\":\\\"#twig-statement-tag\\\"},{\\\"include\\\":\\\"#twig-comment-tag\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?<=\\\\\\\\{%\\\\\\\\s(?:|include)js\\\\\\\\s%})\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\{%\\\\\\\\send(?:|include)js\\\\\\\\s%})\\\",\\\"name\\\":\\\"source.js.embedded.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=\\\\\\\\{%\\\\\\\\s(?:|include|includehires)css\\\\\\\\s%})\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\{%\\\\\\\\send(?:|include|includehires)css\\\\\\\\s%})\\\",\\\"name\\\":\\\"source.css.embedded.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=\\\\\\\\{%\\\\\\\\s(?:|include|includehires)scss\\\\\\\\s%})\\\",\\\"end\\\":\\\"(?i)(?=\\\\\\\\{%\\\\\\\\send(?:|include|includehires)scss\\\\\\\\s%})\\\",\\\"name\\\":\\\"source.css.scss.embedded.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:body|head|html))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.structure.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.structure.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.inline.any.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([0-:A-Za-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.other.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"include\\\":\\\"#entities\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"invalid.illegal.incomplete.html\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"},{\\\"include\\\":\\\"#twig-print-tag\\\"},{\\\"include\\\":\\\"#twig-statement-tag\\\"},{\\\"include\\\":\\\"#twig-comment-tag\\\"}],\\\"repository\\\":{\\\"embedded-code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ruby\\\"},{\\\"include\\\":\\\"#php\\\"},{\\\"include\\\":\\\"#twig-print-tag\\\"},{\\\"include\\\":\\\"#twig-statement-tag\\\"},{\\\"include\\\":\\\"#twig-comment-tag\\\"},{\\\"include\\\":\\\"#python\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.html\\\"}]},\\\"php\\\":{\\\"begin\\\":\\\"(?=(^\\\\\\\\s*)?<\\\\\\\\?)\\\",\\\"end\\\":\\\"(?!(^\\\\\\\\s*)?<\\\\\\\\?)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.php\\\"}]},\\\"python\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*<\\\\\\\\?python(?!.*\\\\\\\\?>)\\\",\\\"end\\\":\\\"\\\\\\\\?>(?:\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"name\\\":\\\"source.python.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}]},\\\"ruby\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<%+#\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.erb\\\"}},\\\"end\\\":\\\"%>\\\",\\\"name\\\":\\\"comment.block.erb\\\"},{\\\"begin\\\":\\\"<%+(?!>)=?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.ruby\\\"}},\\\"end\\\":\\\"-?%>\\\",\\\"name\\\":\\\"source.ruby.embedded.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby\\\"}},\\\"match\\\":\\\"(#).*?(?=-?%>)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"<\\\\\\\\?r(?!>)=?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.ruby.nitro\\\"}},\\\"end\\\":\\\"-?\\\\\\\\?>\\\",\\\"name\\\":\\\"source.ruby.nitro.embedded.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ruby.nitro\\\"}},\\\"match\\\":\\\"(#).*?(?=-?\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby.nitro\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embedded-code\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embedded-code\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"tag-generic-attribute\\\":{\\\"match\\\":\\\"\\\\\\\\b([-:A-Za-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"tag-id-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])\\\",\\\"name\\\":\\\"meta.attribute-with-value.id.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embedded-code\\\"},{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#embedded-code\\\"},{\\\"include\\\":\\\"#entities\\\"}]}]},\\\"tag-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-id-attribute\\\"},{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"},{\\\"include\\\":\\\"#embedded-code\\\"}]},\\\"twig-arrays\\\":{\\\"begin\\\":\\\"(?<=[(,:\\\\\\\\[{\\\\\\\\s])\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.twig\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.twig\\\"}},\\\"name\\\":\\\"meta.array.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-hashes\\\"},{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-operators\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.twig\\\"}]},\\\"twig-comment-tag\\\":{\\\"begin\\\":\\\"\\\\\\\\{#-?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.twig\\\"}},\\\"end\\\":\\\"-?#}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.twig\\\"}},\\\"name\\\":\\\"comment.block.twig\\\"},\\\"twig-constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=[(,:\\\\\\\\[{\\\\\\\\s])(?:true|false|null|none)(?=[]),}\\\\\\\\s])\\\",\\\"name\\\":\\\"constant.language.twig\\\"},{\\\"match\\\":\\\"(?<=[(,:\\\\\\\\[{\\\\\\\\s]|\\\\\\\\.\\\\\\\\.|\\\\\\\\*\\\\\\\\*)[0-9]+(?:\\\\\\\\.[0-9]+)?(?=[]),}\\\\\\\\s]|\\\\\\\\.\\\\\\\\.|\\\\\\\\*\\\\\\\\*)\\\",\\\"name\\\":\\\"constant.numeric.twig\\\"}]},\\\"twig-filters\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.twig\\\"}},\\\"match\\\":\\\"(?<=[]\\\\\\\"')0-9A-Z_a-z\\\\\\\\x7F-ÿ]\\\\\\\\||\\\\\\\\{%\\\\\\\\sfilter\\\\\\\\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[]),:|}\\\\\\\\s]|\\\\\\\\.\\\\\\\\.|\\\\\\\\*\\\\\\\\*)\\\"},\\\"twig-filters-ud\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.function-call.other.twig\\\"}},\\\"match\\\":\\\"(?<=[]\\\\\\\"')0-9A-Z_a-z\\\\\\\\x7F-ÿ]\\\\\\\\||\\\\\\\\{%\\\\\\\\sfilter\\\\\\\\s)([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)\\\"},\\\"twig-filters-warg\\\":{\\\"begin\\\":\\\"(?<=[]\\\\\\\"')0-9A-Z_a-z\\\\\\\\x7F-ÿ]\\\\\\\\||\\\\\\\\{%\\\\\\\\sfilter\\\\\\\\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.twig\\\"}},\\\"contentName\\\":\\\"meta.function.arguments.twig\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.twig\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-operators\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-hashes\\\"}]},\\\"twig-filters-warg-ud\\\":{\\\"begin\\\":\\\"(?<=[]\\\\\\\"')0-9A-Z_a-z\\\\\\\\x7F-ÿ]\\\\\\\\||\\\\\\\\{%\\\\\\\\sfilter\\\\\\\\s)([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.function-call.other.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.twig\\\"}},\\\"contentName\\\":\\\"meta.function.arguments.twig\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.twig\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-hashes\\\"}]},\\\"twig-functions\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.twig\\\"}},\\\"match\\\":\\\"(?<=is\\\\\\\\s)(defined|empty|even|iterable|odd)\\\"},\\\"twig-functions-warg\\\":{\\\"begin\\\":\\\"(?<=[(,:\\\\\\\\[{\\\\\\\\s])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.twig\\\"}},\\\"contentName\\\":\\\"meta.function.arguments.twig\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.twig\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"}]},\\\"twig-hashes\\\":{\\\"begin\\\":\\\"(?<=[(,:\\\\\\\\[{\\\\\\\\s])\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.hash.begin.twig\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.hash.end.twig\\\"}},\\\"name\\\":\\\"meta.hash.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-hashes\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-operators\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.twig\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.object.twig\\\"}]},\\\"twig-keywords\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|use|with)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.control.twig\\\"},\\\"twig-macros\\\":{\\\"begin\\\":\\\"(?<=[(,:\\\\\\\\[{\\\\\\\\s])([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)(?:(\\\\\\\\.)([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*))?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.function-call.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.property.twig\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.twig\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.twig\\\"}},\\\"contentName\\\":\\\"meta.function.arguments.twig\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.twig\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-operators\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-hashes\\\"}]},\\\"twig-objects\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.twig\\\"}},\\\"match\\\":\\\"(?<=[(,:\\\\\\\\[{\\\\\\\\s])([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)(?=[](),.:\\\\\\\\[|}\\\\\\\\s])\\\"},\\\"twig-operators\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.twig\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)([-+]|//?|%|\\\\\\\\*\\\\\\\\*?)(?=\\\\\\\\s)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.twig\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)([=~])(?=\\\\\\\\s)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.bitwise.twig\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)(b-(?:and|or|xor))(?=\\\\\\\\s)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.comparison.twig\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)([!=]=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\\\\\\\\s)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.twig\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s)([:?]|\\\\\\\\?:|\\\\\\\\?\\\\\\\\?|and|not|or)(?=\\\\\\\\s)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.other.twig\\\"}},\\\"match\\\":\\\"(?<=[]\\\\\\\"')0-9A-Z_a-z\\\\\\\\x7F-ÿ])\\\\\\\\.\\\\\\\\.(?=[\\\\\\\"'0-9A-Z_a-z\\\\\\\\x7F-ÿ])\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.other.twig\\\"}},\\\"match\\\":\\\"(?<=[]\\\\\\\"')0-9A-Z_a-z}\\\\\\\\x7F-ÿ])\\\\\\\\|(?=[A-Z_a-z\\\\\\\\x7F-ÿ])\\\"}]},\\\"twig-print-tag\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{-?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.twig\\\"}},\\\"end\\\":\\\"-?}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.twig\\\"}},\\\"name\\\":\\\"meta.tag.template.value.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-operators\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-hashes\\\"}]},\\\"twig-properties\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.twig\\\"}},\\\"match\\\":\\\"(?<=[0-9A-Z_a-z\\\\\\\\x7F-ÿ])(\\\\\\\\.)([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)(?=[]),.:\\\\\\\\[|}\\\\\\\\s])\\\"},{\\\"begin\\\":\\\"(?<=[0-9A-Z_a-z\\\\\\\\x7F-ÿ])(\\\\\\\\.)([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.twig\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.twig\\\"}},\\\"contentName\\\":\\\"meta.function.arguments.twig\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.twig\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.twig\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.twig\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.array.end.twig\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.twig\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.property.twig\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.array.end.twig\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.twig\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.other.property.twig\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.section.array.end.twig\\\"}},\\\"match\\\":\\\"(?<=[]0-9A-Z_a-z\\\\\\\\x7F-ÿ])(?:(\\\\\\\\[)('[A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*')(])|(\\\\\\\\[)(\\\\\\\"[A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*\\\\\\\")(])|(\\\\\\\\[)([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*)(]))\\\"}]},\\\"twig-statement-tag\\\":{\\\"begin\\\":\\\"\\\\\\\\{%-?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.twig\\\"}},\\\"end\\\":\\\"-?%}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.twig\\\"}},\\\"name\\\":\\\"meta.tag.template.block.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#twig-constants\\\"},{\\\"include\\\":\\\"#twig-keywords\\\"},{\\\"include\\\":\\\"#twig-operators\\\"},{\\\"include\\\":\\\"#twig-functions-warg\\\"},{\\\"include\\\":\\\"#twig-functions\\\"},{\\\"include\\\":\\\"#twig-macros\\\"},{\\\"include\\\":\\\"#twig-filters-warg\\\"},{\\\"include\\\":\\\"#twig-filters\\\"},{\\\"include\\\":\\\"#twig-filters-warg-ud\\\"},{\\\"include\\\":\\\"#twig-filters-ud\\\"},{\\\"include\\\":\\\"#twig-objects\\\"},{\\\"include\\\":\\\"#twig-properties\\\"},{\\\"include\\\":\\\"#twig-strings\\\"},{\\\"include\\\":\\\"#twig-arrays\\\"},{\\\"include\\\":\\\"#twig-hashes\\\"}]},\\\"twig-strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:(?<!\\\\\\\\\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\))'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.twig\\\"}},\\\"end\\\":\\\"(?:(?<!\\\\\\\\\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\))'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.twig\\\"}},\\\"name\\\":\\\"string.quoted.single.twig\\\"},{\\\"begin\\\":\\\"(?:(?<!\\\\\\\\\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\))\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.twig\\\"}},\\\"end\\\":\\\"(?:(?<!\\\\\\\\\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\))\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.twig\\\"}},\\\"name\\\":\\\"string.quoted.double.twig\\\"}]}},\\\"scopeName\\\":\\\"text.html.twig\\\",\\\"embeddedLangs\\\":[\\\"css\\\",\\\"javascript\\\",\\\"scss\\\",\\\"php\\\",\\\"python\\\",\\\"ruby\\\"]}\"))\n\nexport default [\n...css,\n...javascript,\n...scss,\n...php,\n...python,\n...ruby,\nlang\n]\n" + ], + "names": [ + "lang", + "twig", + "css", + "javascript", + "scss", + "php", + "python", + "ruby" + ], + "mappings": "8qBAOA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,iloBAAk2sB,CAAC,EAE13sBC,EAAA,CACf,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHP,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-Yzrsuije.js b/src/webview-ui/build/assets/chunk-Yzrsuije.js new file mode 100644 index 0000000000..f05a630cff --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Yzrsuije.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?<!\\\\w)-\\\\w+)\\\\b[\\\\t ]*+)*)[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))","beginCaptures":{"1":{"name":"storage.type.alias.shell"},"2":{"patterns":[{"match":"(?<!\\\\w)-\\\\w+\\\\b","name":"string.unquoted.argument.shell constant.other.option.shell"}]},"3":{"name":"string.unquoted.argument.shell constant.other.option.shell"},"4":{"name":"variable.other.assignment.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"variable.other.assignment.shell"},"7":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"8":{"name":"punctuation.definition.array.access.shell"},"9":{"name":"keyword.operator.assignment.shell"},"10":{"name":"keyword.operator.assignment.compound.shell"},"11":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))","endCaptures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"name":"meta.expression.assignment.alias.shell","patterns":[{"include":"#normal_context"}]},"argument":{"begin":"[\\\\t ]++(?![\\\\n#\\\\&(\\\\[|]|$|;)","beginCaptures":{},"end":"(?=[\\\\t \\\\&;|]|$|[\\\\n)\`])","endCaptures":{},"name":"meta.argument.shell","patterns":[{"include":"#argument_context"},{"include":"#line_continuation"}]},"argument_context":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell","patterns":[{"match":"\\\\*","name":"variable.language.special.wildcard.shell"},{"include":"#variable"},{"include":"#numeric_literal"},{"captures":{"1":{"name":"constant.language.$1.shell"}},"match":"(?<!\\\\w)\\\\b(true|false)\\\\b(?!\\\\w)"}]}},"match":"[\\\\t ]*+([^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]+(?!>))"},{"include":"#normal_context"}]},"arithmetic_double":{"patterns":[{"begin":"\\\\(\\\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"end":"\\\\)\\\\s*\\\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"arithmetic_no_dollar":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"array_access_inline":{"captures":{"1":{"name":"punctuation.section.array.shell"},"2":{"patterns":[{"include":"#special_expansion"},{"include":"#string"},{"include":"#variable"}]},"3":{"name":"punctuation.section.array.shell"}},"match":"(\\\\[)([^]\\\\[]+)(])"},"array_value":{"begin":"[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))[\\\\t ]*+(\\\\()","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"punctuation.definition.array.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.shell"}},"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"variable.other.assignment.array.shell entity.other.attribute-name.shell"},"2":{"name":"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},"match":"((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(=)"},{"captures":{"1":{"name":"punctuation.definition.bracket.named-array.shell"},"2":{"name":"string.unquoted.shell entity.other.attribute-name.bracket.shell"},"3":{"name":"punctuation.definition.bracket.named-array.shell"},"4":{"name":"punctuation.definition.assignment.shell"}},"match":"(\\\\[)(.+?)(])(=)"},{"include":"#normal_context"},{"include":"#simple_unquoted"}]},"assignment_statement":{"patterns":[{"include":"#array_value"},{"include":"#modified_assignment_statement"},{"include":"#normal_assignment_statement"}]},"basic_command_name":{"captures":{"1":{"name":"storage.modifier.$1.shell"},"2":{"name":"entity.name.function.call.shell entity.name.command.shell","patterns":[{"match":"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)","name":"keyword.control.$0.shell"},{"match":"(?<!\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\w)(?!-)","name":"support.function.builtin.shell"},{"include":"#variable"}]}},"match":"(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?:((?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$))|((?![\\"']|\\\\\\\\\\\\n?$)[^\\\\t\\\\n\\\\r !\\"'<>]+?))(?:(?=[\\\\t ])|(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\))","name":"meta.statement.command.name.basic.shell"},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.shell"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.shell"}},"name":"comment.block.shell"},"boolean":{"match":"\\\\b(?:true|false)\\\\b","name":"constant.language.$0.shell"},"case_statement":{"begin":"\\\\b(case)\\\\b[\\\\t ]*+(.+?)[\\\\t ]*+\\\\b(in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.shell"},"2":{"patterns":[{"include":"#initial_context"}]},"3":{"name":"keyword.control.in.shell"}},"end":"\\\\besac\\\\b","endCaptures":{"0":{"name":"keyword.control.esac.shell"}},"name":"meta.case.shell","patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.operator.pattern.case.default.shell"}},"match":"[\\\\t ]*+(\\\\* *\\\\))"},{"begin":"(?<!\\\\))(?![\\\\t ]*+(?:esac\\\\b|$))","beginCaptures":{},"end":"(?=\\\\besac\\\\b)|(\\\\))","endCaptures":{"1":{"name":"keyword.operator.pattern.case.shell"}},"name":"meta.case.entry.pattern.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"(?<=\\\\))","beginCaptures":{},"end":"(;;)|(?=\\\\besac\\\\b)","endCaptures":{"1":{"name":"punctuation.terminator.statement.case.shell"}},"name":"meta.case.entry.body.shell","patterns":[{"include":"#typical_statements"},{"include":"#initial_context"}]}]},"case_statement_context":{"patterns":[{"match":"\\\\*","name":"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\\\+","name":"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\\\?","name":"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"@","name":"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{"match":"\\\\|","name":"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{"match":"\\\\\\\\.","name":"constant.character.escape.shell"},{"match":"(?<=\\\\tin| in|[\\\\t ]|;;)\\\\(","name":"keyword.operator.pattern.case.shell"},{"begin":"(?<=\\\\S)(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"name":"meta.parenthese.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"name":"string.regexp.character-class.shell","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.shell"}]},{"include":"#string"},{"match":"[^\\\\t\\\\n )*?@\\\\[|]","name":"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},"command_name_range":{"begin":"\\\\G","beginCaptures":{},"end":"(?=[\\\\t \\\\&;|]|$|[\\\\n)\`])|(?=<)","endCaptures":{},"name":"meta.statement.command.name.shell","patterns":[{"match":"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)","name":"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{"match":"(?<!\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\w)(?!-)","name":"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{"include":"#variable"},{"captures":{"1":{"name":"entity.name.function.call.shell entity.name.command.shell"}},"match":"(?<!\\\\w)(?<=\\\\G|[\\"')}])([^\\\\t\\\\n\\\\r \\"\\\\&');->\`{|]+)"},{"begin":"(?:\\\\G|(?<![\\\\t\\\\n #\\\\&;{|]))(\\\\$?)((\\")|('))","beginCaptures":{"1":{"name":"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},"2":{},"3":{"name":"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},"4":{"name":"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},"end":"(?<!\\\\G)(?<=\\\\2)","endCaptures":{},"patterns":[{"include":"#continuation_of_single_quoted_command_name"},{"include":"#continuation_of_double_quoted_command_name"}]},{"include":"#line_continuation"},{"include":"#simple_unquoted"}]},"command_statement":{"begin":"[\\\\t ]*+(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\n?$)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.command.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"},{"include":"#heredoc"}]},"comment":{"captures":{"1":{"name":"comment.line.number-sign.shell meta.shebang.shell"},"2":{"name":"punctuation.definition.comment.shebang.shell"},"3":{"name":"comment.line.number-sign.shell"},"4":{"name":"punctuation.definition.comment.shell"}},"match":"(?:^|[\\\\t ]++)(?:((#!).*)|((#).*))"},"comments":{"patterns":[{"include":"#block_comment"},{"include":"#line_comment"}]},"compound-command":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical-expression"},{"include":"#initial_context"}]},{"begin":"(?<=\\\\s|^)\\\\{(?=\\\\s|$)","beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"end":"(?<=^|;)\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"continuation_of_double_quoted_command_name":{"begin":"\\\\G(?<=\\")","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command","end":"\\"","endCaptures":{"0":{"name":"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},"patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"continuation_of_single_quoted_command_name":{"begin":"\\\\G(?<=')","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command","end":"'","endCaptures":{"0":{"name":"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},"custom_command_names":{"patterns":[]},"custom_commands":{"patterns":[]},"double_quote_context":{"patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"double_quote_escape_char":{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},"floating_keyword":{"patterns":[{"match":"(?<=^|[\\\\t \\\\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\\\t \\\\&;]|$)","name":"keyword.control.$0.shell"}]},"for_statement":{"patterns":[{"begin":"\\\\b(for)\\\\b[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))[\\\\t ]*+\\\\b(in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"},"2":{"name":"variable.other.for.shell"},"3":{"name":"keyword.control.in.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.for.in.shell","patterns":[{"include":"#string"},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.for.shell","patterns":[{"include":"#arithmetic_double"},{"include":"#normal_context"}]}]},"function_definition":{"applyEndPatternLast":1,"begin":"[\\\\t ]*+(?:\\\\b(function)\\\\b[\\\\t ]*+([^\\\\t\\\\n\\\\r \\"'()=]+)(?:(\\\\()[\\\\t ]*+(\\\\)))?|([^\\\\t\\\\n\\\\r \\"'()=]+)[\\\\t ]*+(\\\\()[\\\\t ]*+(\\\\)))","beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"},"4":{"name":"punctuation.definition.arguments.shell"},"5":{"name":"entity.name.function.shell"},"6":{"name":"punctuation.definition.arguments.shell"},"7":{"name":"punctuation.definition.arguments.shell"}},"end":"(?<=[)}])","endCaptures":{},"name":"meta.function.shell","patterns":[{"match":"\\\\G[\\\\t\\\\n ]"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"include":"#initial_context"}]},"heredoc":{"patterns":[{"begin":"((?<!<)<<-)[\\\\t ]*+([\\"'])[\\\\t ]*+([^\\"']+?)(?=[\\"\\\\&';<\\\\s])(\\\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.indent.$3","end":"^\\\\t*\\\\3(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.$0.shell"}},"patterns":[]},{"begin":"((?<!<)<<(?!<))[\\\\t ]*+([\\"'])[\\\\t ]*+([^\\"']+?)(?=[\\"\\\\&';<\\\\s])(\\\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.no-indent.$3","end":"^\\\\3(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[]},{"begin":"((?<!<)<<-)[\\\\t ]*+([^\\\\t \\"']+)(?=[\\"\\\\&';<\\\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.indent.$2","end":"^\\\\t*\\\\2(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"((?<!<)<<(?!<))[\\\\t ]*+([^\\\\t \\"']+)(?=[\\"\\\\&';<\\\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.no-indent.$2","end":"^\\\\2(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]}]},"herestring":{"patterns":[{"begin":"(<<<)\\\\s*(('))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.single.shell","end":"(')","endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell"},{"begin":"(<<<)\\\\s*((\\"))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.double.shell","end":"(\\")","endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell","patterns":[{"include":"#double_quote_context"}]},{"captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"#initial_context"}]}},"match":"(<<<)\\\\s*(([^)\\\\\\\\\\\\s]|\\\\\\\\.)+)","name":"meta.herestring.shell"}]},"initial_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#logical_expression_double"},{"include":"#logical_expression_single"},{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#loop"},{"include":"#function_definition"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#misc_ranges"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#alias_statement"},{"include":"#normal_statement"},{"include":"#string"},{"include":"#support"}]},"inline_comment":{"captures":{"1":{"name":"comment.block.shell punctuation.definition.comment.begin.shell"},"2":{"name":"comment.block.shell"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.shell punctuation.definition.comment.end.shell"},{"match":"\\\\*","name":"comment.block.shell"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"},"interpolation":{"patterns":[{"include":"#arithmetic_dollar"},{"include":"#subshell_dollar"},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"name":"string.interpolated.backtick.shell","patterns":[{"match":"\\\\\\\\[$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"begin":"(?<=\\\\W)(?=#)(?!#\\\\{)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}},"end":"(?=\`)","name":"comment.line.number-sign.shell"}]},{"include":"#initial_context"}]}]},"keyword":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\\\&;\\\\s]|$)","name":"keyword.control.shell"},{"match":"(?<=^|[\\\\&;\\\\s])(?:export|declare|typeset|local|readonly)(?=[\\\\&;\\\\s]|$)","name":"storage.modifier.shell"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.shell","patterns":[{"include":"#line_continuation_character"}]},"line_continuation":{"match":"\\\\\\\\(?=\\\\n)","name":"constant.character.escape.line-continuation.shell"},"logical-expression":{"patterns":[{"include":"#arithmetic_no_dollar"},{"match":"=[=~]?|!=?|[<>]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?<!\\\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\\\b","name":"keyword.operator.logical.shell"}]},"logical_expression_context":{"patterns":[{"include":"#regex_comparison"},{"include":"#arithmetic_no_dollar"},{"include":"#logical-expression"},{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#comment"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"logical_expression_double":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"logical_expression_single":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"loop":{"patterns":[{"begin":"(?<=^|[\\\\&;\\\\s])(for)\\\\s+(.+?)\\\\s+(in)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\\\&;\\\\s])done(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.for-in-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])(while|until)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\\\&;\\\\s])done(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.while-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])(select)\\\\s+((?:[^\\\\\\\\\\\\s]|\\\\\\\\.)+)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"end":"(?<=^|[\\\\&;\\\\s])(done)(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"1":{"name":"keyword.control.shell"}},"name":"meta.scope.select-block.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])if(?=[\\\\&;\\\\s]|$)","beginCaptures":{"0":{"name":"keyword.control.if.shell"}},"end":"(?<=^|[\\\\&;\\\\s])fi(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"keyword.control.fi.shell"}},"name":"meta.scope.if-block.shell","patterns":[{"include":"#initial_context"}]}]},"math":{"patterns":[{"include":"#variable"},{"match":"\\\\+{1,2}|-{1,2}|[!~]|\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.shell"},{"match":";","name":"punctuation.separator.semicolon.range"},{"match":"0\\\\d+","name":"constant.numeric.octal.shell"},{"match":"\\\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\\\d+","name":"constant.numeric.integer.shell"},{"match":"(?<!\\\\w)[0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"}]},"math_operators":{"patterns":[{"match":"\\\\+{1,2}|-{1,2}|[!~]|\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.shell"},{"match":"0\\\\d+","name":"constant.numeric.octal.shell"},{"match":"\\\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\\\d+","name":"constant.numeric.integer.shell"}]},"misc_ranges":{"patterns":[{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#subshell_dollar"},{"begin":"(?<![^\\\\t ])(\\\\{)(?![$\\\\w])","beginCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"modified_assignment_statement":{"begin":"(?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$)","beginCaptures":{"0":{"name":"storage.modifier.$0.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.shell meta.expression.assignment.modified.shell","patterns":[{"match":"(?<!\\\\w)-\\\\w+\\\\b","name":"string.unquoted.argument.shell constant.other.option.shell"},{"include":"#array_value"},{"captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"10":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"11":{"name":"constant.numeric.shell constant.numeric.other.shell"},"12":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"13":{"name":"constant.numeric.shell constant.numeric.version.shell"},"14":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))?(?:(?<=[\\\\t =]|^|[(\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\h+)|(0\\\\d+))|(\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\d+\\\\.\\\\d+))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?=[\\\\t ]|$|[);}]))?"},{"include":"#normal_context"}]},"modifiers":{"match":"(?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$)","name":"storage.modifier.$0.shell"},"normal_assignment_statement":{"begin":"[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.expression.assignment.shell","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#normal_assignment_statement"},{"begin":"(?<=[\\\\t ])(?![\\\\t ]|\\\\w+=)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.command.env.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"}]},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},"normal_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#misc_ranges"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"},{"include":"#parenthese"}]},"normal_statement":{"begin":"(?!^[\\\\t ]*+$)(?:(?<=(?:^until| until|\\\\tuntil|^while| while|\\\\twhile|^elif| elif|\\\\telif|^else| else|\\\\telse|^then| then|\\\\tthen|^do| do|\\\\tdo|^if| if|\\\\tif) )|(?<=^|[!\\\\&(;\`{|]))[\\\\t ]*+(?!nocorrect\\\\W|nocorrect\\\\$|function\\\\W|function\\\\$|foreach\\\\W|foreach\\\\$|repeat\\\\W|repeat\\\\$|logout\\\\W|logout\\\\$|coproc\\\\W|coproc\\\\$|select\\\\W|select\\\\$|while\\\\W|while\\\\$|pushd\\\\W|pushd\\\\$|until\\\\W|until\\\\$|case\\\\W|case\\\\$|done\\\\W|done\\\\$|elif\\\\W|elif\\\\$|else\\\\W|else\\\\$|esac\\\\W|esac\\\\$|popd\\\\W|popd\\\\$|then\\\\W|then\\\\$|time\\\\W|time\\\\$|for\\\\W|for\\\\$|end\\\\W|end\\\\$|fi\\\\W|fi\\\\$|do\\\\W|do\\\\$|in\\\\W|in\\\\$|if\\\\W|if\\\\$)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.shell","patterns":[{"include":"#typical_statements"}]},"normal_statement_seperator":{"captures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"match":"(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&)"},"numeric_literal":{"captures":{"1":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"2":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"3":{"name":"constant.numeric.shell constant.numeric.other.shell"},"4":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"5":{"name":"constant.numeric.shell constant.numeric.version.shell"},"6":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"(?<=[\\\\t =]|^|[(\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\h+)|(0\\\\d+))|(\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\d+\\\\.\\\\d+))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?=[\\\\t ]|$|[);}])"},"option":{"begin":"[\\\\t ]++(-)((?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;]))","beginCaptures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"contentName":"string.unquoted.argument constant.other.option","end":"(?=[\\\\t ])|(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"patterns":[{"include":"#option_context"}]},"option_context":{"patterns":[{"include":"#misc_ranges"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"parenthese":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"name":"meta.parenthese.group.shell","patterns":[{"include":"#initial_context"}]}]},"pathname":{"patterns":[{"match":"(?<=[:=\\\\s]|^)~","name":"keyword.operator.tilde.shell"},{"match":"[*?]","name":"keyword.operator.glob.shell"},{"begin":"([!*+?@])(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}},"name":"meta.structure.extglob.shell","patterns":[{"include":"#initial_context"}]}]},"pipeline":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])(time)(?=[\\\\&;\\\\s]|$)","name":"keyword.other.shell"},{"match":"[!|]","name":"keyword.operator.pipe.shell"}]},"redirect_fix":{"captures":{"1":{"name":"keyword.operator.redirect.shell"},"2":{"name":"string.unquoted.argument.shell"}},"match":"(>>?)[\\\\t ]*+([^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]+)"},"redirect_number":{"captures":{"1":{"name":"keyword.operator.redirect.stdout.shell"},"2":{"name":"keyword.operator.redirect.stderr.shell"},"3":{"name":"keyword.operator.redirect.$3.shell"}},"match":"(?<=[\\\\t ])(?:(1)|(2)|(\\\\d+))(?=>)"},"redirection":{"patterns":[{"begin":"[<>]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.interpolated.process-substitution.shell","patterns":[{"include":"#initial_context"}]},{"match":"(?<![<>])(&>|\\\\d*>&\\\\d*|\\\\d*(>>|[<>])|\\\\d*<&|\\\\d*<>)(?![<>])","name":"keyword.operator.redirect.shell"}]},"regex_comparison":{"match":"=~","name":"keyword.operator.logical.regex.shell"},"regexp":{"patterns":[{"match":".+"}]},"simple_options":{"captures":{"0":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"match":"[\\\\t ]++(-)(\\\\w+)"}]}},"match":"(?:[\\\\t ]++-\\\\w+)*"},"simple_unquoted":{"match":"[^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]","name":"string.unquoted.shell"},"special_expansion":{"match":"!|:[-=?]?|[*@]|##?|%%|[%/]","name":"keyword.operator.expansion.shell"},"start_of_command":{"match":"[\\\\t ]*+(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\n?$)"},"string":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.shell"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.shell"},{"begin":"\\\\$?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.double.shell","patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"\\\\$'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.dollar.shell","patterns":[{"match":"\\\\\\\\['\\\\\\\\abefnrtv]","name":"constant.character.escape.ansi-c.shell"},{"match":"\\\\\\\\[0-9]{3}\\"","name":"constant.character.escape.octal.shell"},{"match":"\\\\\\\\x\\\\h{2}\\"","name":"constant.character.escape.hex.shell"},{"match":"\\\\\\\\c.\\"","name":"constant.character.escape.control-char.shell"}]}]},"subshell_dollar":{"patterns":[{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"name":"meta.scope.subshell","patterns":[{"include":"#parenthese"},{"include":"#initial_context"}]}]},"support":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])[.:](?=[\\\\&;\\\\s]|$)","name":"support.function.builtin.shell"}]},"typical_statements":{"patterns":[{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#while_statement"},{"include":"#function_definition"},{"include":"#command_statement"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#normal_context"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},"2":{"name":"variable.parameter.positional.all.shell"}},"match":"(\\\\$)(@(?!\\\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"variable.parameter.positional.shell"}},"match":"(\\\\$)([0-9](?!\\\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.language.special.shell"},"2":{"name":"variable.language.special.shell"}},"match":"(\\\\$)([-!#$*0?_](?!\\\\w))"},{"begin":"(\\\\$)(\\\\{)[\\\\t ]*+(?=\\\\d)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"[0-9]+","name":"variable.parameter.positional.shell"},{"match":"(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"begin":"(\\\\$)(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.other.normal.shell"},"2":{"name":"variable.other.normal.shell"}},"match":"(\\\\$)(\\\\w+(?!\\\\w))"}]},"while_statement":{"patterns":[{"begin":"\\\\b(while)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.while.shell","patterns":[{"include":"#line_continuation"},{"include":"#math_operators"},{"include":"#option"},{"include":"#simple_unquoted"},{"include":"#normal_context"},{"include":"#string"}]}]}},"scopeName":"source.shell","aliases":["bash","sh","shell","zsh"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-Yzrsuije.js.map diff --git a/src/webview-ui/build/assets/chunk-Yzrsuije.js.map b/src/webview-ui/build/assets/chunk-Yzrsuije.js.map new file mode 100644 index 0000000000..1f9738099c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-Yzrsuije.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-Yzrsuije.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/shellscript.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Shell\\\",\\\"name\\\":\\\"shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}],\\\"repository\\\":{\\\"alias_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+(alias)[\\\\\\\\t ]*+((?:((?<!\\\\\\\\w)-\\\\\\\\w+)\\\\\\\\b[\\\\\\\\t ]*+)*)[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.alias.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"name\\\":\\\"meta.expression.assignment.alias.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"argument\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]++(?![\\\\\\\\n#\\\\\\\\&(\\\\\\\\[|]|$|;)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\t \\\\\\\\&;|]|$|[\\\\\\\\n)`])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.argument.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument_context\\\"},{\\\"include\\\":\\\"#line_continuation\\\"}]},\\\"argument_context\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.wildcard.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.$1.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\b(true|false)\\\\\\\\b(?!\\\\\\\\w)\\\"}]}},\\\"match\\\":\\\"[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]+(?!>))\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"arithmetic_double\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\s*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"arithmetic_no_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"array_access_inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)([^]\\\\\\\\[]+)(])\\\"},\\\"array_value\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))[\\\\\\\\t ]*+(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.array.shell entity.other.attribute-name.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.shell entity.other.attribute-name.bracket.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)(.+?)(])(=)\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"assignment_statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#array_value\\\"},{\\\"include\\\":\\\"#modified_assignment_statement\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"}]},\\\"basic_command_name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"}]}},\\\"match\\\":\\\"(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?:((?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$))|((?![\\\\\\\"']|\\\\\\\\\\\\\\\\\\\\\\\\n?$)[^\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"'<>]+?))(?:(?=[\\\\\\\\t ])|(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\))\\\",\\\"name\\\":\\\"meta.statement.command.name.basic.shell\\\"},\\\"block_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.shell\\\"}},\\\"name\\\":\\\"comment.block.shell\\\"},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.$0.shell\\\"},\\\"case_statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(case)\\\\\\\\b[\\\\\\\\t ]*+(.+?)[\\\\\\\\t ]*+\\\\\\\\b(in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\besac\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.esac.shell\\\"}},\\\"name\\\":\\\"meta.case.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.default.shell\\\"}},\\\"match\\\":\\\"[\\\\\\\\t ]*+(\\\\\\\\* *\\\\\\\\))\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\))(?![\\\\\\\\t ]*+(?:esac\\\\\\\\b|$))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=\\\\\\\\besac\\\\\\\\b)|(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.pattern.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(;;)|(?=\\\\\\\\besac\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"case_statement_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\tin| in|[\\\\\\\\t ]|;;)\\\\\\\\(\\\",\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"name\\\":\\\"string.regexp.character-class.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"}]},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[^\\\\\\\\t\\\\\\\\n )*?@\\\\\\\\[|]\\\",\\\"name\\\":\\\"string.unquoted.pattern.shell string.regexp.unquoted.shell\\\"}]},\\\"command_name_range\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\t \\\\\\\\&;|]|$|[\\\\\\\\n)`])|(?=<)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.name.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(?<=\\\\\\\\G|[\\\\\\\"')}])([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"\\\\\\\\&');->`{|]+)\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<![\\\\\\\\t\\\\\\\\n #\\\\\\\\&;{|]))(\\\\\\\\$?)((\\\\\\\")|('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"2\\\":{},\\\"3\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\G)(?<=\\\\\\\\2)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#continuation_of_single_quoted_command_name\\\"},{\\\"include\\\":\\\"#continuation_of_double_quoted_command_name\\\"}]},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"command_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#heredoc\\\"}]},\\\"comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell meta.shebang.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shebang.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"match\\\":\\\"(?:^|[\\\\\\\\t ]++)(?:((#!).*)|((#).*))\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"compound-command\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)\\\\\\\\{(?=\\\\\\\\s|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"(?<=^|;)\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"continuation_of_double_quoted_command_name\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?<=\\\\\\\")\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"continuation_of_single_quoted_command_name\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?<=')\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}}},\\\"custom_command_names\\\":{\\\"patterns\\\":[]},\\\"custom_commands\\\":{\\\"patterns\\\":[]},\\\"double_quote_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"double_quote_escape_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},\\\"floating_keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"}]},\\\"for_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))[\\\\\\\\t ]*+\\\\\\\\b(in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.for.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.in.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]}]},\\\"function_definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"[\\\\\\\\t ]*+(?:\\\\\\\\b(function)\\\\\\\\b[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"'()=]+)(?:(\\\\\\\\()[\\\\\\\\t ]*+(\\\\\\\\)))?|([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"'()=]+)[\\\\\\\\t ]*+(\\\\\\\\()[\\\\\\\\t ]*+(\\\\\\\\)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"}},\\\"end\\\":\\\"(?<=[)}])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G[\\\\\\\\t\\\\\\\\n ]\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!<)<<-)[\\\\\\\\t ]*+([\\\\\\\"'])[\\\\\\\\t ]*+([^\\\\\\\"']+?)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(\\\\\\\\2)(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.indent.$3\\\",\\\"end\\\":\\\"^\\\\\\\\t*\\\\\\\\3(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.$0.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"((?<!<)<<(?!<))[\\\\\\\\t ]*+([\\\\\\\"'])[\\\\\\\\t ]*+([^\\\\\\\"']+?)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(\\\\\\\\2)(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.no-indent.$3\\\",\\\"end\\\":\\\"^\\\\\\\\3(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"((?<!<)<<-)[\\\\\\\\t ]*+([^\\\\\\\\t \\\\\\\"']+)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.indent.$2\\\",\\\"end\\\":\\\"^\\\\\\\\t*\\\\\\\\2(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"((?<!<)<<(?!<))[\\\\\\\\t ]*+([^\\\\\\\\t \\\\\\\"']+)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.no-indent.$2\\\",\\\"end\\\":\\\"^\\\\\\\\2(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"herestring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.single.shell\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\"},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*((\\\\\\\"))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.double.shell\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}},\\\"match\\\":\\\"(<<<)\\\\\\\\s*(([^)\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)\\\",\\\"name\\\":\\\"meta.herestring.shell\\\"}]},\\\"initial_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#loop\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#alias_statement\\\"},{\\\"include\\\":\\\"#normal_statement\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"inline_comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.begin.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.end.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.shell\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_dollar\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"name\\\":\\\"string.interpolated.backtick.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\W)(?=#)(?!#\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.shell\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"comment.line.number-sign.shell\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.control.shell\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(?:export|declare|typeset|local|readonly)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"storage.modifier.shell\\\"}]},\\\"line_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"line_continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.line-continuation.shell\\\"},\\\"logical-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"match\\\":\\\"=[=~]?|!=?|[<>]|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"}]},\\\"logical_expression_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_comparison\\\"},{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"logical_expression_double\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"logical_expression_single\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"loop\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(for)\\\\\\\\s+(.+?)\\\\\\\\s+(in)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])done(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.for-in-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(while|until)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])done(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.while-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(select)\\\\\\\\s+((?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(done)(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.select-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])if(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.if.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])fi(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.fi.shell\\\"}},\\\"name\\\":\\\"meta.scope.if-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|[!~]|\\\\\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\\\\\&*+/^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.semicolon.range\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9@-Z_a-z]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"}]},\\\"math_operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|[!~]|\\\\\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\\\\\&*+/^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9@-Z_a-z]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"}]},\\\"misc_ranges\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"(?<![^\\\\\\\\t ])(\\\\\\\\{)(?![$\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"modified_assignment_statement\\\":{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.$0.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell meta.expression.assignment.modified.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},{\\\"include\\\":\\\"#array_value\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"12\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"13\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))?(?:(?<=[\\\\\\\\t =]|^|[(\\\\\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\\\\\h+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?=[\\\\\\\\t ]|$|[);}]))?\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"modifiers\\\":{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"name\\\":\\\"storage.modifier.$0.shell\\\"},\\\"normal_assignment_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.expression.assignment.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\t ])(?![\\\\\\\\t ]|\\\\\\\\w+=)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.env.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"normal_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#parenthese\\\"}]},\\\"normal_statement\\\":{\\\"begin\\\":\\\"(?!^[\\\\\\\\t ]*+$)(?:(?<=(?:^until| until|\\\\\\\\tuntil|^while| while|\\\\\\\\twhile|^elif| elif|\\\\\\\\telif|^else| else|\\\\\\\\telse|^then| then|\\\\\\\\tthen|^do| do|\\\\\\\\tdo|^if| if|\\\\\\\\tif) )|(?<=^|[!\\\\\\\\&(;`{|]))[\\\\\\\\t ]*+(?!nocorrect\\\\\\\\W|nocorrect\\\\\\\\$|function\\\\\\\\W|function\\\\\\\\$|foreach\\\\\\\\W|foreach\\\\\\\\$|repeat\\\\\\\\W|repeat\\\\\\\\$|logout\\\\\\\\W|logout\\\\\\\\$|coproc\\\\\\\\W|coproc\\\\\\\\$|select\\\\\\\\W|select\\\\\\\\$|while\\\\\\\\W|while\\\\\\\\$|pushd\\\\\\\\W|pushd\\\\\\\\$|until\\\\\\\\W|until\\\\\\\\$|case\\\\\\\\W|case\\\\\\\\$|done\\\\\\\\W|done\\\\\\\\$|elif\\\\\\\\W|elif\\\\\\\\$|else\\\\\\\\W|else\\\\\\\\$|esac\\\\\\\\W|esac\\\\\\\\$|popd\\\\\\\\W|popd\\\\\\\\$|then\\\\\\\\W|then\\\\\\\\$|time\\\\\\\\W|time\\\\\\\\$|for\\\\\\\\W|for\\\\\\\\$|end\\\\\\\\W|end\\\\\\\\$|fi\\\\\\\\W|fi\\\\\\\\$|do\\\\\\\\W|do\\\\\\\\$|in\\\\\\\\W|in\\\\\\\\$|if\\\\\\\\W|if\\\\\\\\$)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"}]},\\\"normal_statement_seperator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"match\\\":\\\"(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&)\\\"},\\\"numeric_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\\t =]|^|[(\\\\\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\\\\\h+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?=[\\\\\\\\t ]|$|[);}])\\\"},\\\"option\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]++(-)((?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"contentName\\\":\\\"string.unquoted.argument constant.other.option\\\",\\\"end\\\":\\\"(?=[\\\\\\\\t ])|(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#option_context\\\"}]},\\\"option_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"parenthese\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pathname\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[:=\\\\\\\\s]|^)~\\\",\\\"name\\\":\\\"keyword.operator.tilde.shell\\\"},{\\\"match\\\":\\\"[*?]\\\",\\\"name\\\":\\\"keyword.operator.glob.shell\\\"},{\\\"begin\\\":\\\"([!*+?@])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.extglob.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"name\\\":\\\"meta.structure.extglob.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pipeline\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(time)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.other.shell\\\"},{\\\"match\\\":\\\"[!|]\\\",\\\"name\\\":\\\"keyword.operator.pipe.shell\\\"}]},\\\"redirect_fix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\"}},\\\"match\\\":\\\"(>>?)[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]+)\\\"},\\\"redirect_number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stdout.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stderr.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.redirect.$3.shell\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\\t ])(?:(1)|(2)|(\\\\\\\\d+))(?=>)\\\"},\\\"redirection\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[<>]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.interpolated.process-substitution.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"match\\\":\\\"(?<![<>])(&>|\\\\\\\\d*>&\\\\\\\\d*|\\\\\\\\d*(>>|[<>])|\\\\\\\\d*<&|\\\\\\\\d*<>)(?![<>])\\\",\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"}]},\\\"regex_comparison\\\":{\\\"match\\\":\\\"=~\\\",\\\"name\\\":\\\"keyword.operator.logical.regex.shell\\\"},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".+\\\"}]},\\\"simple_options\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"match\\\":\\\"[\\\\\\\\t ]++(-)(\\\\\\\\w+)\\\"}]}},\\\"match\\\":\\\"(?:[\\\\\\\\t ]++-\\\\\\\\w+)*\\\"},\\\"simple_unquoted\\\":{\\\"match\\\":\\\"[^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]\\\",\\\"name\\\":\\\"string.unquoted.shell\\\"},\\\"special_expansion\\\":{\\\"match\\\":\\\"!|:[-=?]?|[*@]|##?|%%|[%/]\\\",\\\"name\\\":\\\"keyword.operator.expansion.shell\\\"},\\\"start_of_command\\\":{\\\"match\\\":\\\"[\\\\\\\\t ]*+(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.shell\\\"},{\\\"begin\\\":\\\"\\\\\\\\$?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.double.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.dollar.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\abefnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.ansi-c.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-9]{3}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{2}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.hex.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c.\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.control-char.shell\\\"}]}]},\\\"subshell_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"name\\\":\\\"meta.scope.subshell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthese\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])[.:](?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"}]},\\\"typical_statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#while_statement\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#command_statement\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.all.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.all.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(@(?!\\\\\\\\w))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([0-9](?!\\\\\\\\w))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.language.special.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([-!#$*0?_](?!\\\\\\\\w))\\\"},{\\\"begin\\\":\\\"(\\\\\\\\$)(\\\\\\\\{)[\\\\\\\\t ]*+(?=\\\\\\\\d)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"[0-9]+\\\",\\\"name\\\":\\\"variable.parameter.positional.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.other.normal.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.normal.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(\\\\\\\\w+(?!\\\\\\\\w))\\\"}]},\\\"while_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(while)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.while.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#math_operators\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#string\\\"}]}]}},\\\"scopeName\\\":\\\"source.shell\\\",\\\"aliases\\\":[\\\"bash\\\",\\\"sh\\\",\\\"shell\\\",\\\"zsh\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "shellscript" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,u8wCAA2y4C,CAAC,EAEn04CC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-_ykCGR6B.js b/src/webview-ui/build/assets/chunk-_ykCGR6B.js new file mode 100644 index 0000000000..bffa268281 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-_ykCGR6B.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"SSH Config","fileTypes":["ssh_config",".ssh/config","sshd_config"],"name":"ssh-config","patterns":[{"match":"\\\\b(A(cceptEnv|dd(ressFamily|KeysToAgent)|llow(AgentForwarding|Groups|StreamLocalForwarding|TcpForwarding|Users)|uth(enticationMethods|orized((Keys(Command(User)?|File)|Principals(Command(User)?|File)))))|B(anner|atchMode|ind(Address|Interface))|C(anonical(Domains|ize(FallbackLocal|Hostname|MaxDots|PermittedCNAMEs))|ertificateFile|hallengeResponseAuthentication|heckHostIP|hrootDirectory|iphers?|learAllForwardings|ientAlive(CountMax|Interval)|ompression(Level)?|onnect(Timeout|ionAttempts)|ontrolMaster|ontrolPath|ontrolPersist)|D(eny(Groups|Users)|isableForwarding|ynamicForward)|E(nableSSHKeysign|scapeChar|xitOnForwardFailure|xposeAuthInfo)|F(ingerprintHash|orceCommand|orward(Agent|X11(T(?:imeout|rusted))?))|G(atewayPorts|SSAPI(Authentication|CleanupCredentials|ClientIdentity|DelegateCredentials|KeyExchange|RenewalForcesRekey|ServerIdentity|StrictAcceptorCheck|TrustDns)|atewayPorts|lobalKnownHostsFile)|H(ashKnownHosts|ost(based(AcceptedKeyTypes|Authentication|KeyTypes|UsesNameFromPacketOnly)|Certificate|Key(A(?:gent|lgorithms|lias))?|Name))|I(dentit(iesOnly|y(Agent|File))|gnore(Rhosts|Unknown|UserKnownHosts)|nclude|PQoS)|K(bdInteractive(Authentication|Devices)|erberos(Authentication|GetAFSToken|OrLocalPasswd|TicketCleanup)|exAlgorithms)|L(istenAddress|ocal(Command|Forward)|oginGraceTime|ogLevel)|M(ACs|atch|ax(AuthTries|Sessions|Startups))|N(oHostAuthenticationForLocalhost|umberOfPasswordPrompts)|P(KCS11Provider|asswordAuthentication|ermit(EmptyPasswords|LocalCommand|Open|RootLogin|TTY|Tunnel|User(Environment|RC))|idFile|ort|referredAuthentications|rint(LastLog|Motd)|rotocol|roxy(Command|Jump|UseFdpass)|ubkey(A(?:cceptedKeyTypes|uthentication)))|R(Domain|SAAuthentication|ekeyLimit|emote(Command|Forward)|equestTTY|evoked((?:Host|)Keys)|hostsRSAAuthentication)|S(endEnv|erverAlive(CountMax|Interval)|treamLocalBind(Mask|Unlink)|trict(HostKeyChecking|Modes)|ubsystem|yslogFacility)|T(CPKeepAlive|rustedUserCAKeys|unnel(Device)?)|U(pdateHostKeys|se(BlacklistedKeys|DNS|Keychain|PAM|PrivilegedPort|r(KnownHostsFile)?))|V(erifyHostKeyDNS|ersionAddendum|isualHostKey)|X(11(DisplayOffset|Forwarding|UseLocalhost)|AuthLocation))\\\\b","name":"keyword.other.ssh-config"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ssh-config"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ssh-config"}},"end":"\\\\n","name":"comment.line.number-sign.ssh-config"}]},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ssh-config"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.ssh-config"}},"end":"\\\\n","name":"comment.line.double-slash.ssh-config"}]},{"captures":{"1":{"name":"storage.type.ssh-config"},"2":{"name":"entity.name.section.ssh-config"},"3":{"name":"meta.toc-list.ssh-config"}},"match":"(?:^|[\\\\t ])(Host)\\\\s+((.*))$"},{"match":"\\\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\b","name":"constant.numeric.ssh-config"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.ssh-config"},{"match":"\\\\b(yes|no)\\\\b","name":"constant.language.ssh-config"},{"match":"\\\\b[A-Z_]+\\\\b","name":"constant.language.ssh-config"}],"scopeName":"source.ssh-config"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-_ykCGR6B.js.map diff --git a/src/webview-ui/build/assets/chunk-_ykCGR6B.js.map b/src/webview-ui/build/assets/chunk-_ykCGR6B.js.map new file mode 100644 index 0000000000..0f8de96c89 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-_ykCGR6B.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-_ykCGR6B.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ssh-config.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SSH Config\\\",\\\"fileTypes\\\":[\\\"ssh_config\\\",\\\".ssh/config\\\",\\\"sshd_config\\\"],\\\"name\\\":\\\"ssh-config\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(A(cceptEnv|dd(ressFamily|KeysToAgent)|llow(AgentForwarding|Groups|StreamLocalForwarding|TcpForwarding|Users)|uth(enticationMethods|orized((Keys(Command(User)?|File)|Principals(Command(User)?|File)))))|B(anner|atchMode|ind(Address|Interface))|C(anonical(Domains|ize(FallbackLocal|Hostname|MaxDots|PermittedCNAMEs))|ertificateFile|hallengeResponseAuthentication|heckHostIP|hrootDirectory|iphers?|learAllForwardings|ientAlive(CountMax|Interval)|ompression(Level)?|onnect(Timeout|ionAttempts)|ontrolMaster|ontrolPath|ontrolPersist)|D(eny(Groups|Users)|isableForwarding|ynamicForward)|E(nableSSHKeysign|scapeChar|xitOnForwardFailure|xposeAuthInfo)|F(ingerprintHash|orceCommand|orward(Agent|X11(T(?:imeout|rusted))?))|G(atewayPorts|SSAPI(Authentication|CleanupCredentials|ClientIdentity|DelegateCredentials|KeyExchange|RenewalForcesRekey|ServerIdentity|StrictAcceptorCheck|TrustDns)|atewayPorts|lobalKnownHostsFile)|H(ashKnownHosts|ost(based(AcceptedKeyTypes|Authentication|KeyTypes|UsesNameFromPacketOnly)|Certificate|Key(A(?:gent|lgorithms|lias))?|Name))|I(dentit(iesOnly|y(Agent|File))|gnore(Rhosts|Unknown|UserKnownHosts)|nclude|PQoS)|K(bdInteractive(Authentication|Devices)|erberos(Authentication|GetAFSToken|OrLocalPasswd|TicketCleanup)|exAlgorithms)|L(istenAddress|ocal(Command|Forward)|oginGraceTime|ogLevel)|M(ACs|atch|ax(AuthTries|Sessions|Startups))|N(oHostAuthenticationForLocalhost|umberOfPasswordPrompts)|P(KCS11Provider|asswordAuthentication|ermit(EmptyPasswords|LocalCommand|Open|RootLogin|TTY|Tunnel|User(Environment|RC))|idFile|ort|referredAuthentications|rint(LastLog|Motd)|rotocol|roxy(Command|Jump|UseFdpass)|ubkey(A(?:cceptedKeyTypes|uthentication)))|R(Domain|SAAuthentication|ekeyLimit|emote(Command|Forward)|equestTTY|evoked((?:Host|)Keys)|hostsRSAAuthentication)|S(endEnv|erverAlive(CountMax|Interval)|treamLocalBind(Mask|Unlink)|trict(HostKeyChecking|Modes)|ubsystem|yslogFacility)|T(CPKeepAlive|rustedUserCAKeys|unnel(Device)?)|U(pdateHostKeys|se(BlacklistedKeys|DNS|Keychain|PAM|PrivilegedPort|r(KnownHostsFile)?))|V(erifyHostKeyDNS|ersionAddendum|isualHostKey)|X(11(DisplayOffset|Forwarding|UseLocalhost)|AuthLocation))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.ssh-config\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ssh-config\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ssh-config\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.ssh-config\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ssh-config\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ssh-config\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.ssh-config\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.ssh-config\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.ssh-config\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.toc-list.ssh-config\\\"}},\\\"match\\\":\\\"(?:^|[\\\\\\\\t ])(Host)\\\\\\\\s+((.*))$\\\"},{\\\"match\\\":\\\"\\\\\\\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ssh-config\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ssh-config\\\"},{\\\"match\\\":\\\"\\\\\\\\b(yes|no)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.ssh-config\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z_]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.ssh-config\\\"}],\\\"scopeName\\\":\\\"source.ssh-config\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "sshConfig" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,i+GAAmoH,CAAC,EAE3pHC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-bCR0ucgS.js b/src/webview-ui/build/assets/chunk-bCR0ucgS.js new file mode 100644 index 0000000000..13d07d575c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-bCR0ucgS.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Ada","name":"ada","patterns":[{"include":"#library_unit"},{"include":"#comment"},{"include":"#use_clause"},{"include":"#with_clause"},{"include":"#pragma"},{"include":"#keyword"}],"repository":{"abort_statement":{"begin":"(?i)\\\\babort\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.abort.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.task.ada"}]},"accept_statement":{"begin":"(?i)\\\\b(accept)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"entity.name.accept.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"entity.name.accept.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.accept.ada","patterns":[{"begin":"(?i)\\\\bdo\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#statement"}]},{"include":"#parameter_profile"}]},"access_definition":{"captures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"storage.visibility.ada"},"3":{"name":"storage.modifier.ada"},"4":{"name":"entity.name.type.ada"}},"match":"(?i)(not\\\\s+null\\\\s+)?(access)\\\\s+(constant\\\\s+)?([._\\\\w\\\\d]+)\\\\b","name":"meta.declaration.access.definition.ada"},"access_type_definition":{"begin":"(?i)\\\\b(not\\\\s+null\\\\s+)?(access)\\\\b","beginCaptures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"storage.visibility.ada"}},"end":"(?i)(?=(with|;))","name":"meta.declaration.type.definition.access.ada","patterns":[{"match":"(?i)\\\\ball\\\\b","name":"storage.visibility.ada"},{"match":"(?i)\\\\bconstant\\\\b","name":"storage.modifier.ada"},{"include":"#subtype_mark"}]},"actual_parameter_part":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#parameter_association"}]},"adding_operator":{"match":"([-\\\\&+])","name":"keyword.operator.adding.ada"},"array_aggregate":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.definition.array.aggregate.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#positional_array_aggregate"},{"include":"#array_component_association"}]},"array_component_association":{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"keyword.other.ada"},"3":{"patterns":[{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]}},"match":"(?i)\\\\b([^()=>]*)\\\\s*(=>)\\\\s*([^),]+)","name":"meta.definition.array.aggregate.component.ada"},"array_dimensions":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.declaration.type.definition.array.dimensions.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"(?i)\\\\brange\\\\b","name":"storage.modifier.ada"},{"match":"<>","name":"keyword.modifier.unknown.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"include":"#expression"},{"patterns":[{"include":"#subtype_mark"}]}]},"array_type_definition":{"begin":"(?i)\\\\barray\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(with|;))","name":"meta.declaration.type.definition.array.ada","patterns":[{"include":"#array_dimensions"},{"match":"(?i)\\\\bof\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\baliased\\\\b","name":"storage.visibility.ada"},{"include":"#access_definition"},{"include":"#subtype_mark"}]},"aspect_clause":{"begin":"(?i)\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#subtype_mark"}]},"3":{"name":"punctuation.ada"},"5":{"name":"keyword.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.aspect.clause.ada","patterns":[{"begin":"(?i)\\\\buse\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=;)","endCaptures":{"0":{"name":"punctuation.ada"}},"patterns":[{"include":"#record_representation_clause"},{"include":"#array_aggregate"},{"include":"#expression"}]},{"begin":"(?i)(?<=for)","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=use)","patterns":[{"captures":{"1":{"patterns":[{"include":"#subtype_mark"}]},"2":{"patterns":[{"include":"#attribute"}]}},"match":"([_\\\\w\\\\d]+)('([_\\\\w\\\\d]+))?"}]}]},"aspect_definition":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.other.ada"}},"end":"(?i)(?=([,;]|\\\\bis\\\\b))","name":"meta.aspect.definition.ada","patterns":[{"include":"#expression"}]},"aspect_mark":{"captures":{"1":{"name":"keyword.control.directive.ada"},"2":{"name":"punctuation.ada"},"3":{"name":"entity.other.attribute-name.ada"}},"match":"(?i)\\\\b([._\\\\w\\\\d]+)(?:(')(class))?\\\\b","name":"meta.aspect.mark.ada"},"aspect_specification":{"begin":"(?i)\\\\bwith\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(;|\\\\bis\\\\b))","name":"meta.aspect.specification.ada","patterns":[{"match":",","name":"punctuation.ada"},{"captures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"}},"match":"(?i)\\\\b(null)\\\\s+(record)\\\\b"},{"begin":"(?i)\\\\brecord\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(end)\\\\s+(record)\\\\b","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"storage.modifier.ada"}},"patterns":[{"include":"#component_item"}]},{"captures":{"0":{"name":"storage.visibility.ada"}},"match":"(?i)\\\\bprivate\\\\b"},{"include":"#aspect_definition"},{"include":"#aspect_mark"},{"include":"#comment"}]},"assignment_statement":{"begin":"\\\\b([\\"'()._\\\\w\\\\d\\\\s]+)\\\\s*(:=)","beginCaptures":{"1":{"patterns":[{"match":"([._\\\\w\\\\d]+)","name":"variable.name.ada"},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"include":"#expression"}]}]},"2":{"name":"keyword.operator.new.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.assignment.ada","patterns":[{"include":"#expression"},{"include":"#comment"}]},"attribute":{"captures":{"1":{"name":"punctuation.ada"},"2":{"name":"entity.other.attribute-name.ada"}},"match":"(')([_\\\\w\\\\d]+)\\\\b","name":"meta.attribute.ada"},"based_literal":{"captures":{"1":{"name":"constant.numeric.base.ada"},"2":{"name":"punctuation.ada"},"3":{"name":"punctuation.ada"},"4":{"name":"punctuation.radix-point.ada"},"5":{"name":"punctuation.ada"},"6":{"name":"constant.numeric.base.ada"},"7":{"patterns":[{"include":"#exponent_part"}]}},"match":"(?i)(\\\\d(?:(_)?\\\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([Ee][-+]?\\\\d(?:_?\\\\d)*)?","name":"constant.numeric.ada"},"basic_declaration":{"patterns":[{"include":"#type_declaration"},{"include":"#subtype_declaration"},{"include":"#exception_declaration"},{"include":"#object_declaration"},{"include":"#single_protected_declaration"},{"include":"#single_task_declaration"},{"include":"#subprogram_specification"},{"include":"#package_declaration"},{"include":"#pragma"},{"include":"#comment"}]},"basic_declarative_item":{"patterns":[{"include":"#basic_declaration"},{"include":"#aspect_clause"},{"include":"#use_clause"},{"include":"#keyword"}]},"block_statement":{"begin":"(?i)\\\\bdeclare\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(end)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.label.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.block.ada","patterns":[{"begin":"(?i)(?<=declare)","end":"(?i)\\\\bbegin\\\\b","endCaptures":{"0":{"name":"keyword.ada"}},"patterns":[{"include":"#body"},{"include":"#basic_declarative_item"}]},{"begin":"(?i)(?<=begin)","end":"(?i)(?=end)","patterns":[{"include":"#statement"}]}]},"body":{"patterns":[{"include":"#subprogram_body"},{"include":"#package_body"},{"include":"#task_body"},{"include":"#protected_body"}]},"case_statement":{"begin":"(?i)\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(case)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.case.ada","patterns":[{"begin":"(?i)(?<=case)\\\\b","end":"(?i)\\\\bis\\\\b","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"include":"#expression"}]},{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"=>","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.case.alternative.ada","patterns":[{"match":"(?i)\\\\bothers\\\\b","name":"keyword.modifier.unknown.ada"},{"match":"\\\\|","name":"punctuation.ada"},{"include":"#expression"}]},{"include":"#statement"}]},"character_literal":{"captures":{"0":{"patterns":[{"match":"'","name":"punctuation.definition.string.ada"}]}},"match":"'.'","name":"string.quoted.single.ada"},"comment":{"patterns":[{"include":"#preprocessor"},{"include":"#comment-section"},{"include":"#comment-doc"},{"include":"#comment-line"}]},"comment-doc":{"captures":{"1":{"name":"comment.line.double-dash.ada"},"2":{"name":"punctuation.definition.tag.ada"},"3":{"name":"entity.name.tag.ada"},"4":{"name":"comment.line.double-dash.ada"}},"match":"(--)\\\\s*(@)(\\\\w+)\\\\s+(.*)$","name":"comment.block.documentation.ada"},"comment-line":{"match":"--.*$","name":"comment.line.double-dash.ada"},"comment-section":{"captures":{"1":{"name":"entity.name.section.ada"}},"match":"--\\\\s*([^-].*?[^-])\\\\s*--\\\\s*$","name":"comment.line.double-dash.ada"},"component_clause":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"0":{"name":"variable.name.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.aspect.clause.record.representation.component.ada","patterns":[{"begin":"(?i)\\\\bat\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(?=range)\\\\b","patterns":[{"include":"#expression"}]},{"include":"#range_constraint"}]},"component_declaration":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"}]},"2":{"name":"punctuation.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.type.definition.record.component.ada","patterns":[{"patterns":[{"match":":=","name":"keyword.operator.new.ada"},{"include":"#expression"}]},{"include":"#component_definition"}]},"component_definition":{"patterns":[{"match":"(?i)\\\\baliased\\\\b","name":"storage.visibility.ada"},{"match":"(?i)\\\\brange\\\\b","name":"storage.modifier.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"include":"#access_definition"},{"include":"#subtype_mark"}]},"component_item":{"patterns":[{"include":"#component_declaration"},{"include":"#variant_part"},{"include":"#comment"},{"include":"#aspect_clause"},{"captures":{"1":{"name":"keyword.ada"},"2":{"name":"punctuation.ada"}},"match":"(?i)\\\\b(null)\\\\s*(;)"}]},"composite_constraint":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.declaration.constraint.composite.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"keyword.other.ada"},"3":{"patterns":[{"include":"#expression"}]}},"match":"(?i)\\\\b([_\\\\w\\\\d]+)\\\\s*(=>)\\\\s*([^),])+\\\\b"},{"include":"#expression"}]},"decimal_literal":{"captures":{"1":{"name":"punctuation.ada"},"2":{"name":"punctuation.radix-point.ada"},"3":{"name":"punctuation.ada"},"4":{"patterns":[{"include":"#exponent_part"}]}},"match":"\\\\d(?:(_)?\\\\d)*(?:(\\\\.)\\\\d(?:(_)?\\\\d)*)?([Ee][-+]?\\\\d(?:_?\\\\d)*)?","name":"constant.numeric.ada"},"declarative_item":{"patterns":[{"include":"#body"},{"include":"#basic_declarative_item"}]},"delay_relative_statement":{"begin":"(?i)\\\\b(delay)\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"patterns":[{"include":"#expression"}]},"delay_statement":{"patterns":[{"include":"#delay_until_statement"},{"include":"#delay_relative_statement"}]},"delay_until_statement":{"begin":"(?i)\\\\b(delay)\\\\s+(until)\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.delay.until.ada","patterns":[{"include":"#expression"}]},"derived_type_definition":{"name":"meta.declaration.type.definition.derived.ada","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(\\\\bwith\\\\b|;))","patterns":[{"match":"(?i)\\\\band\\\\b","name":"storage.modifier.ada"},{"include":"#subtype_mark"}]},{"match":"(?i)\\\\b(abstract|and|limited|tagged)\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\bprivate\\\\b","name":"storage.visibility.ada"},{"include":"#subtype_mark"}]},"discriminant_specification":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"}]},"2":{"name":"punctuation.ada"}},"end":"(?=([);]))","patterns":[{"begin":":=","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=([);]))","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"storage.visibility.ada"},"2":{"patterns":[{"include":"#subtype_mark"}]}},"match":"(?i)(not\\\\s+null\\\\s+)?([._\\\\w\\\\d]+)\\\\b"},{"include":"#access_definition"}]},"entry_body":{"begin":"(?i)\\\\b(entry)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.entry.ada"}},"end":"(?i)\\\\b(end)\\\\s*(\\\\s\\\\2)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.entry.ada"},"3":{"name":"punctuation.ada"}},"patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=begin)\\\\b","patterns":[{"include":"#declarative_item"}]},{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#statement"}]},{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=is)\\\\b","patterns":[{"include":"#expression"}]},{"include":"#parameter_profile"}]},"entry_declaration":{"begin":"(?i)\\\\b(?:(not)?\\\\s+(overriding)\\\\s+)?(entry)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"},"3":{"name":"keyword.ada"},"4":{"name":"entity.name.entry.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"patterns":[{"include":"#parameter_profile"}]},"enumeration_type_definition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.type.definition.enumeration.ada","patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"},{"include":"#comment"}]},"exception_declaration":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)?)\\\\s*(:)\\\\s*(exception)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"entity.name.exception.ada"}]},"2":{"name":"punctuation.ada"},"3":{"name":"storage.type.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.exception.ada","patterns":[{"match":"(?i)\\\\b(renames)\\\\s+(([._\\\\w\\\\d])+)","name":"entity.name.exception.ada"}]},"exit_statement":{"begin":"(?i)\\\\bexit\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.exit.ada","patterns":[{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},{"match":"[_\\\\w\\\\d]+","name":"entity.name.label.ada"}]},"exponent_part":{"captures":{"1":{"name":"punctuation.exponent-mark.ada"},"2":{"name":"keyword.operator.unary.ada"},"3":{"name":"punctuation.ada"}},"match":"([Ee])([-+])?\\\\d(?:(_)?\\\\d)*"},"expression":{"name":"meta.expression.ada","patterns":[{"match":"(?i)\\\\bnull\\\\b","name":"constant.language.ada"},{"match":"=>(\\\\+)?","name":"keyword.other.ada"},{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"include":"#expression"}]},{"match":",","name":"punctuation.ada"},{"match":"\\\\.\\\\.","name":"keyword.ada"},{"include":"#value"},{"include":"#attribute"},{"include":"#comment"},{"include":"#operator"},{"match":"(?i)\\\\b(and|or|xor)\\\\b","name":"keyword.ada"},{"match":"(?i)\\\\b(if|then|else|elsif|in|for|(?<!\\\\.)all|some|\\\\.\\\\.|delta|with)\\\\b","name":"keyword.ada"}]},"for_loop_statement":{"begin":"(?i)\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"entity.name.label.ada"},"4":{"name":"punctuation.ada"}},"name":"meta.statement.loop.for.ada","patterns":[{"begin":"(?i)(?<=for)","end":"(?i)\\\\bloop\\\\b","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"keyword.control.ada"}},"match":"(?i)\\\\b([_\\\\w\\\\d]+)\\\\s+(in)(\\\\s+reverse)?\\\\b"},{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"punctuation.ada"},"3":{"patterns":[{"include":"#subtype_mark"}]},"4":{"name":"keyword.control.ada"},"5":{"name":"keyword.control.ada"}},"match":"(?i)\\\\b([_\\\\w\\\\d]+)(?:\\\\s*(:)\\\\s*([._\\\\w\\\\d]+))?\\\\s+(of)(\\\\s+reverse)?\\\\b"},{"include":"#expression"}]},{"include":"#statement"}]},"full_type_declaration":{"patterns":[{"include":"#task_type_declaration"},{"include":"#regular_type_declaration"}]},"function_body":{"begin":"(?i)\\\\b(overriding\\\\s+)?(function)\\\\s+(?:([._\\\\w\\\\d]+)\\\\b|(\\".+\\"))","beginCaptures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.function.ada"},"4":{"patterns":[{"include":"#string_literal"}]}},"end":"(?i)(?:\\\\b(end)\\\\s+(\\\\3|\\\\4)\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.function.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.function.body.ada","patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=end)","patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#aspect_specification"},{"include":"#result_profile"},{"include":"#subprogram_renaming_declaration"},{"include":"#parameter_profile"},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with|begin|;))","name":"meta.function.body.spec_part.ada","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=;)","name":"meta.declaration.package.generic.ada","patterns":[{"match":"([._\\\\w\\\\d]+)","name":"entity.name.function.ada"},{"include":"#actual_parameter_part"}]},{"captures":{"0":{"name":"storage.modifier.ada"}},"match":"(?i)\\\\babstract\\\\b","name":"meta.declaration.function.abstract.ada"},{"include":"#declarative_item"},{"include":"#subprogram_renaming_declaration"},{"include":"#expression"}]}]},"function_specification":{"patterns":[{"include":"#function_body"}]},"goto_statement":{"begin":"(?i)\\\\bgoto\\\\b","beginCaptures":{"0":{"name":"keyword.control.goto.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.goto.ada","patterns":[{}]},"guard":{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"=>","endCaptures":{"0":{"name":"keyword.other.ada"}},"patterns":[{"include":"#expression"}]},"handled_sequence_of_statements":{"patterns":[{"begin":"(?i)\\\\bexception\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","name":"meta.handler.exception.ada","patterns":[{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"=>","endCaptures":{"0":{"name":"keyword.other.ada"}},"patterns":[{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"punctuation.ada"}},"match":"\\\\b([._\\\\w\\\\d]+)\\\\s*(:)"},{"match":"\\\\|","name":"punctuation.ada"},{"match":"(?i)\\\\bothers\\\\b","name":"keyword.ada"},{"match":"[._\\\\w\\\\d]+","name":"entity.name.exception.ada"}]},{"include":"#statement"}]},{"include":"#statement"}]},"highest_precedence_operator":{"match":"(?i)(\\\\*\\\\*|\\\\babs\\\\b|\\\\bnot\\\\b)","name":"keyword.operator.highest-precedence.ada"},"if_statement":{"begin":"(?i)\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(if)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.statement.if.ada","patterns":[{"begin":"(?i)\\\\belsif\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)(?<!\\\\sand)\\\\s+(?=then)","patterns":[{"include":"#expression"}]},{"begin":"(?i)\\\\belse\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)(?=end)","patterns":[{"include":"#statement"}]},{"begin":"(?i)(?<=if)\\\\b","end":"(?i)(?<!\\\\sand)\\\\s+(?=then)","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"include":"#expression"}]},{"begin":"(?i)\\\\bthen\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)(?=(e(?:lsif|lse|nd)))","patterns":[{"include":"#statement"}]}]},"integer_type_definition":{"name":"meta.declaration.type.definition.integer.ada","patterns":[{"include":"#signed_integer_type_definition"},{"include":"#modular_type_definition"}]},"interface_type_definition":{"begin":"(?i)\\\\b(?:(limited|task|protected|synchronized)\\\\s+)?(interface)","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(with|;))","name":"meta.declaration.type.definition.interface.ada","patterns":[{"match":"(?i)\\\\band\\\\b","name":"storage.modifier.ada"},{"include":"#subtype_mark"}]},"keyword":{"patterns":[{"match":"(?i)\\\\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\\\\b","name":"keyword.ada"},{"match":"(?i)\\\\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\\\\b","name":"keyword.control.ada"},{"match":"(?i)\\\\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\b(private|overriding)\\\\b","name":"storage.visibility.ada"},{"match":"<>","name":"keyword.modifier.unknown.ada"},{"match":"([-*+/])","name":"keyword.operator.arithmetic.ada"},{"match":":=","name":"keyword.operator.assignment.ada"},{"match":"(=|/=|[<>]|<=|>=)","name":"keyword.operator.logic.ada"},{"match":"&","name":"keyword.operator.concatenation.ada"}]},"known_discriminant_part":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","name":"meta.declaration.type.discriminant.ada","patterns":[{"match":";","name":"punctuation.ada"},{"include":"#discriminant_specification"}]},"label":{"captures":{"1":{"name":"punctuation.label.ada"},"2":{"name":"entity.name.label.ada"},"3":{"name":"punctuation.label.ada"}},"match":"(<<)?([_\\\\w\\\\d]+)\\\\s*(:[^=]|>>)","name":"meta.label.ada"},"library_unit":{"name":"meta.library.unit.ada","patterns":[{"include":"#package_body"},{"include":"#package_specification"},{"include":"#subprogram_body"}]},"loop_statement":{"patterns":[{"include":"#simple_loop_statement"},{"include":"#while_loop_statement"},{"include":"#for_loop_statement"}]},"modular_type_definition":{"begin":"(?i)\\\\b(mod)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"}},"end":"(?i)(?=(with|;))","patterns":[{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]},"multiplying_operator":{"match":"(?i)([*/]|\\\\bmod\\\\b|\\\\brem\\\\b)","name":"keyword.operator.multiplying.ada"},"null_statement":{"captures":{"1":{"name":"keyword.ada"},"2":{"name":"punctuation.ada"}},"match":"(?i)\\\\b(null)\\\\s*(;)","name":"meta.statement.null.ada"},"object_declaration":{"begin":"(?i)\\\\b([_\\\\w\\\\d]+(?:\\\\s*,\\\\s*[_\\\\w\\\\d]+)*)\\\\s*(:)","beginCaptures":{"1":{"patterns":[{"match":",","name":"punctuation.ada"},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"variable.name.ada"}]},"2":{"name":"punctuation.ada"}},"end":"(;)","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.object.ada","patterns":[{"begin":"(?<=:)","end":"(?=;)|(:=)|\\\\b(renames)\\\\b","endCaptures":{"1":{"name":"keyword.operator.new.ada"},"2":{"name":"keyword.ada"}},"patterns":[{"match":"(?i)\\\\bconstant\\\\b","name":"storage.modifier.ada"},{"match":"(?i)\\\\baliased\\\\b","name":"storage.visibility.ada"},{"include":"#aspect_specification"},{"include":"#subtype_mark"}]},{"begin":"(?<=:=)","end":"(?=;)","patterns":[{"include":"#aspect_specification"},{"include":"#expression"}]},{"begin":"(?<=renames)","end":"(?=;)","patterns":[{"include":"#aspect_specification"}]}]},"operator":{"patterns":[{"include":"#highest_precedence_operator"},{"include":"#multiplying_operator"},{"include":"#adding_operator"},{"include":"#relational_operator"},{"include":"#logical_operator"}]},"package_body":{"begin":"(?i)\\\\b(package)\\\\s+(body)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.ada"},"3":{"patterns":[{"include":"#package_mark"}]}},"end":"(?i)\\\\b(end)\\\\s+(\\\\3)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#package_mark"}]},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.package.body.ada","patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#handled_sequence_of_statements"}]},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=\\\\b(begin|end)\\\\b)","patterns":[{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#declarative_item"},{"include":"#comment"}]},{"include":"#aspect_specification"}]},"package_declaration":{"patterns":[{"include":"#package_specification"}]},"package_mark":{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.package.ada"},"package_specification":{"begin":"(?i)\\\\b(package)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#package_mark"}]}},"end":"(?i)(?:\\\\b(end)\\\\s+(\\\\2)\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"patterns":[{"include":"#package_mark"}]},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.package.specification.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=(end|;))","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=;)","name":"meta.declaration.package.generic.ada","patterns":[{"include":"#package_mark"},{"include":"#actual_parameter_part"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#basic_declarative_item"},{"include":"#comment"}]},{"include":"#aspect_specification"}]},"parameter_association":{"patterns":[{"captures":{"1":{"name":"variable.parameter.ada"},"2":{"name":"keyword.other.ada"}},"match":"([_\\\\w\\\\d]+)\\\\s*(=>)"},{"include":"#expression"}]},"parameter_profile":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.ada"}},"end":"\\\\)","patterns":[{"match":";","name":"punctuation.ada"},{"include":"#parameter_specification"}]},"parameter_specification":{"patterns":[{"begin":":(?!=)","beginCaptures":{"0":{"name":"punctuation.ada"}},"end":"(?=[):;])","name":"meta.type.annotation.ada","patterns":[{"match":"(?i)\\\\b(in|out)\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"}]},{"begin":":=","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=[):;])","patterns":[{"include":"#expression"}]},{"match":",","name":"punctuation.ada"},{"match":"\\\\b[._\\\\w\\\\d]+\\\\b","name":"variable.parameter.ada"},{"include":"#comment"}]},"positional_array_aggregate":{"name":"meta.definition.array.aggregate.positional.ada","patterns":[{"captures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.other.ada"},"3":{"patterns":[{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]}},"match":"(?i)\\\\b(others)\\\\s*(=>)\\\\s*([^),]+)"},{"include":"#expression"}]},"pragma":{"begin":"(?i)\\\\b(pragma)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.control.directive.ada"}},"end":"(;)","endCaptures":{"1":{"name":"punctuation.ada"}},"name":"meta.pragma.ada","patterns":[{"include":"#expression"}]},"preprocessor":{"name":"meta.preprocessor.ada","patterns":[{"captures":{"1":{"name":"punctuation.definition.directive.ada"},"2":{"name":"keyword.control.directive.conditional.ada"},"3":{"patterns":[{"include":"#expression"}]}},"match":"^\\\\s*(#)(if|elsif)\\\\s+(.*)$"},{"captures":{"1":{"name":"punctuation.definition.directive.ada"},"2":{"name":"keyword.control.directive.conditional"},"3":{"name":"punctuation.ada"}},"match":"^\\\\s*(#)(end if)(;)"},{"captures":{"1":{"name":"punctuation.definition.directive.ada"},"2":{"name":"keyword.control.directive.conditional"}},"match":"^\\\\s*(#)(else)"}]},"procedure_body":{"begin":"(?i)\\\\b(overriding\\\\s+)?(procedure)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"storage.visibility.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.function.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s+(\\\\3)\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.function.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.procedure.body.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with|begin|;))","patterns":[{"begin":"(?i)\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.operator.new.ada"}},"end":"(?=;)","name":"meta.declaration.package.generic.ada","patterns":[{"match":"([._\\\\w\\\\d]+)","name":"entity.name.function.ada"},{"include":"#actual_parameter_part"}]},{"match":"(?i)\\\\b(null|abstract)\\\\b","name":"storage.modifier.ada"},{"include":"#declarative_item"}]},{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=\\\\bend\\\\b)","patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#subprogram_renaming_declaration"},{"include":"#aspect_specification"},{"include":"#parameter_profile"},{"include":"#comment"}]},"procedure_call_statement":{"begin":"(?i)\\\\b([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"entity.name.function.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.call.ada","patterns":[{"include":"#attribute"},{"include":"#actual_parameter_part"},{"include":"#comment"}]},"procedure_specification":{"patterns":[{"include":"#procedure_body"}]},"protected_body":{"begin":"(?i)\\\\b(protected)\\\\s+(body)\\\\s+([._\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.body.ada"}},"end":"(?i)\\\\b(end)\\\\s*(\\\\s\\\\3)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.body.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.procedure.body.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#protected_operation_item"}]}]},"protected_element_declaration":{"patterns":[{"include":"#subprogram_specification"},{"include":"#aspect_clause"},{"include":"#entry_declaration"},{"include":"#component_declaration"},{"include":"#pragma"}]},"protected_operation_item":{"patterns":[{"include":"#subprogram_specification"},{"include":"#subprogram_body"},{"include":"#aspect_clause"},{"include":"#entry_body"}]},"raise_expression":{"begin":"(?i)\\\\braise\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?=;)","name":"meta.expression.raise.ada","patterns":[{"begin":"(?i)\\\\bwith\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=([);]))","patterns":[{"include":"#expression"}]},{"match":"\\\\b([_\\\\w\\\\d])+\\\\b","name":"entity.name.exception.ada"}]},"raise_statement":{"begin":"(?i)\\\\braise\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.raise.ada","patterns":[{"begin":"(?i)\\\\bwith\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.exception.ada"}]},"range_constraint":{"begin":"(?i)\\\\brange\\\\b","beginCaptures":{"0":{"name":"storage.modifier.ada"}},"end":"(?=(\\\\bwith\\\\b|;))","patterns":[{"match":"\\\\.\\\\.","name":"keyword.ada"},{"match":"<>","name":"keyword.modifier.unknown.ada"},{"include":"#expression"}]},"real_type_definition":{"name":"meta.declaration.type.definition.real-type.ada","patterns":[{"include":"#scalar_constraint"}]},"record_representation_clause":{"begin":"(?i)\\\\b(record)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(end)\\\\s+(record)\\\\b","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"storage.modifier.ada"}},"name":"meta.aspect.clause.record.representation.ada","patterns":[{"include":"#component_clause"},{"include":"#comment"}]},"record_type_definition":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"},"3":{"name":"storage.modifier.ada"},"4":{"name":"storage.modifier.ada"},"5":{"name":"storage.modifier.ada"}},"match":"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(null)\\\\s+(record)\\\\b","name":"meta.declaration.type.definition.record.null.ada","patterns":[{"include":"#component_item"}]},{"begin":"(?i)\\\\b(?:(abstract)\\\\s+)?(?:(tagged)\\\\s+)?(?:(limited)\\\\s+)?(record)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"storage.modifier.ada"},"3":{"name":"storage.modifier.ada"},"4":{"name":"storage.modifier.ada"}},"end":"(?i)\\\\b(end)\\\\s+(record)\\\\b","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"storage.modifier.ada"}},"name":"meta.declaration.type.definition.record.ada","patterns":[{"include":"#component_item"}]}]},"regular_type_declaration":{"begin":"(?i)\\\\b(type)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.type.definition.regular.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with(?!\\\\s+(private))|;))","patterns":[{"include":"#type_definition"}]},{"begin":"(?i)\\\\b(?<=type)\\\\b","end":"(?i)(?=(is|;))","patterns":[{"include":"#known_discriminant_part"},{"include":"#subtype_mark"}]},{"include":"#aspect_specification"}]},"relational_operator":{"match":"(=|/=|<=??|>=??)","name":"keyword.operator.relational.ada"},"requeue_statement":{"begin":"(?i)\\\\brequeue\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.requeue.ada","patterns":[{"match":"(?i)\\\\b(with|abort)\\\\b","name":"keyword.control.ada"},{"match":"\\\\b([._\\\\w\\\\d])+\\\\b","name":"entity.name.function.ada"}]},"result_profile":{"begin":"(?i)\\\\breturn\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=(is|with|renames|;))","patterns":[{"include":"#subtype_mark"}]},"return_statement":{"begin":"(?i)\\\\breturn\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.statement.return.ada","patterns":[{"begin":"(?i)\\\\bdo\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(return)\\\\s*(?=;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"}},"patterns":[{"include":"#label"},{"include":"#statement"}]},{"captures":{"1":{"name":"variable.name.ada"},"2":{"name":"punctuation.ada"},"3":{"name":"entity.name.type.ada"}},"match":"\\\\b([_\\\\w\\\\d]+)\\\\s*(:)\\\\s*([._\\\\w\\\\d]+)\\\\b"},{"match":":=","name":"keyword.operator.new.ada"},{"include":"#expression"}]},"scalar_constraint":{"name":"meta.declaration.constraint.scalar.ada","patterns":[{"begin":"(?i)\\\\b(d(?:igits|elta))\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"}},"end":"(?i)(?=\\\\brange\\\\b|\\\\bdigits\\\\b|\\\\bwith\\\\b|;)","patterns":[{"include":"#expression"}]},{"include":"#range_constraint"},{"include":"#expression"}]},"select_alternative":{"patterns":[{"begin":"(?i)\\\\bterminate\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}}},{"include":"#statement"}]},"select_statement":{"begin":"(?i)\\\\bselect\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(select)\\\\b","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"}},"name":"meta.statement.select.ada","patterns":[{"begin":"(?i)\\\\b(?:(or)|(?<=select))\\\\b","beginCaptures":{"1":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(?=(or|else|end))\\\\b","patterns":[{"include":"#guard"},{"include":"#select_alternative"}]},{"begin":"(?i)\\\\belse\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"include":"#statement"}]}]},"signed_integer_type_definition":{"patterns":[{"include":"#range_constraint"}]},"simple_loop_statement":{"begin":"(?i)\\\\bloop\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"entity.name.label.ada"},"4":{"name":"punctuation.ada"}},"name":"meta.statement.loop.ada","patterns":[{"include":"#statement"}]},"single_protected_declaration":{"begin":"(?i)\\\\b(protected)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.protected.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.protected.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.protected.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(\\\\bend\\\\b|;))","patterns":[{"begin":"(?i)\\\\bnew\\\\b","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\bwith\\\\b","patterns":[{"match":"(?i)\\\\band\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"},{"include":"#comment"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#protected_element_declaration"},{"include":"#comment"}]},{"include":"#comment"}]},"single_task_declaration":{"begin":"(?i)\\\\b(task)\\\\s+([_\\\\w\\\\d]+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(\\\\s\\\\2)?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"},"3":{"name":"punctuation.ada"}},"patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"begin":"(?i)\\\\bnew\\\\b","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\bwith\\\\b","patterns":[{"match":"(?i)\\\\band\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"},{"include":"#comment"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#task_item"},{"include":"#comment"}]},{"include":"#comment"}]},"statement":{"patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(end)\\\\s*(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"punctuation.ada"}},"patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#label"},{"include":"#null_statement"},{"include":"#return_statement"},{"include":"#assignment_statement"},{"include":"#exit_statement"},{"include":"#goto_statement"},{"include":"#requeue_statement"},{"include":"#delay_statement"},{"include":"#abort_statement"},{"include":"#raise_statement"},{"include":"#if_statement"},{"include":"#case_statement"},{"include":"#loop_statement"},{"include":"#block_statement"},{"include":"#select_statement"},{"include":"#accept_statement"},{"include":"#pragma"},{"include":"#procedure_call_statement"},{"include":"#comment"}]},"string_literal":{"captures":{"1":{"name":"punctuation.definition.string.ada"},"2":{"name":"punctuation.definition.string.ada"}},"match":"(\\").*?(\\")","name":"string.quoted.double.ada"},"subprogram_body":{"name":"meta.declaration.subprogram.body.ada","patterns":[{"include":"#procedure_body"},{"include":"#function_body"}]},"subprogram_renaming_declaration":{"begin":"(?i)\\\\brenames\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=(with|;))","patterns":[{"match":"[._\\\\w\\\\d]+","name":"entity.name.function.ada"}]},"subprogram_specification":{"name":"meta.declaration.subprogram.specification.ada","patterns":[{"include":"#procedure_specification"},{"include":"#function_specification"}]},"subtype_declaration":{"begin":"(?i)\\\\bsubtype\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.declaration.subtype.ada","patterns":[{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=;)","patterns":[{"match":"(?i)\\\\b(not\\\\s+null)\\\\b","name":"storage.modifier.ada"},{"include":"#composite_constraint"},{"include":"#aspect_specification"},{"include":"#subtype_indication"}]},{"begin":"(?i)(?<=subtype)","end":"(?i)\\\\b(?=is)\\\\b","patterns":[{"include":"#subtype_mark"}]}]},"subtype_indication":{"name":"meta.declaration.indication.subtype.ada","patterns":[{"include":"#scalar_constraint"},{"include":"#subtype_mark"}]},"subtype_mark":{"patterns":[{"match":"(?i)\\\\b(access|aliased|not\\\\s+null|constant)\\\\b","name":"storage.visibility.ada"},{"include":"#attribute"},{"include":"#actual_parameter_part"},{"begin":"(?i)\\\\b(procedure|function)\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=([);]))","patterns":[{"include":"#parameter_profile"},{"begin":"(?i)\\\\breturn\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?=([);]))","patterns":[{"include":"#subtype_mark"}]}]},{"captures":{"0":{"patterns":[{"match":"[._]","name":"punctuation.ada"}]}},"match":"\\\\b[._\\\\w\\\\d]+\\\\b","name":"entity.name.type.ada"},{"include":"#comment"}]},"task_body":{"begin":"(?i)\\\\b(task)\\\\s+(body)\\\\s+(([._\\\\w\\\\d])+)\\\\b","beginCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.task.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.task.body.ada","patterns":[{"begin":"(?i)\\\\bbegin\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=end)","patterns":[{"include":"#handled_sequence_of_statements"}]},{"include":"#aspect_specification"},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)(?=(with|begin))","patterns":[{"include":"#declarative_item"}]}]},"task_item":{"patterns":[{"include":"#aspect_clause"},{"include":"#entry_declaration"}]},"task_type_declaration":{"begin":"(?i)\\\\b(task)\\\\s+(type)\\\\s+(([._\\\\w\\\\d])+)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.ada"},"2":{"name":"keyword.ada"},"3":{"name":"entity.name.task.ada"}},"end":"(?i)(?:\\\\b(end)\\\\s*(?:\\\\s(\\\\3))?\\\\s*)?(;)","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"entity.name.task.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.type.task.ada","patterns":[{"include":"#known_discriminant_part"},{"begin":"(?i)\\\\bis\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"begin":"(?i)\\\\bnew\\\\b","captures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\bwith\\\\b","patterns":[{"match":"(?i)\\\\band\\\\b","name":"keyword.ada"},{"include":"#subtype_mark"},{"include":"#comment"}]},{"match":"(?i)\\\\bprivate\\\\b","name":"keyword.ada"},{"include":"#task_item"},{"include":"#comment"}]},{"include":"#comment"}]},"type_declaration":{"name":"meta.declaration.type.ada","patterns":[{"include":"#full_type_declaration"}]},"type_definition":{"name":"meta.declaration.type.definition.ada","patterns":[{"include":"#enumeration_type_definition"},{"include":"#integer_type_definition"},{"include":"#real_type_definition"},{"include":"#array_type_definition"},{"include":"#record_type_definition"},{"include":"#access_type_definition"},{"include":"#interface_type_definition"},{"include":"#derived_type_definition"}]},"use_clause":{"name":"meta.context.use.ada","patterns":[{"include":"#use_type_clause"},{"include":"#use_package_clause"}]},"use_package_clause":{"begin":"(?i)\\\\buse\\\\b","beginCaptures":{"0":{"name":"keyword.other.using.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.context.use.package.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#package_mark"}]},"use_type_clause":{"begin":"(?i)\\\\b(use)\\\\s+(?:(all)\\\\s+)?(type)\\\\b","beginCaptures":{"1":{"name":"keyword.other.using.ada"},"2":{"name":"keyword.modifier.ada"},"3":{"name":"keyword.modifier.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.context.use.type.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#subtype_mark"}]},"value":{"patterns":[{"include":"#based_literal"},{"include":"#decimal_literal"},{"include":"#character_literal"},{"include":"#string_literal"}]},"variant_part":{"begin":"(?i)\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"(?i)\\\\b(end)\\\\s+(case);","endCaptures":{"1":{"name":"keyword.ada"},"2":{"name":"keyword.ada"},"3":{"name":"punctuation.ada"}},"name":"meta.declaration.variant.ada","patterns":[{"begin":"(?i)\\\\b(?<=case)\\\\b","end":"(?i)\\\\bis\\\\b","endCaptures":{"0":{"name":"keyword.ada"}},"patterns":[{"match":"[_\\\\w\\\\d]+","name":"variable.name.ada"},{"include":"#comment"}]},{"begin":"(?i)\\\\b(?<=is)\\\\b","end":"(?i)\\\\b(?=end)\\\\b","patterns":[{"begin":"(?i)\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"keyword.ada"}},"end":"=>","endCaptures":{"0":{"name":"keyword.other.ada"}},"patterns":[{"match":"\\\\|","name":"punctuation.ada"},{"match":"(?i)\\\\bothers\\\\b","name":"keyword.ada"},{"include":"#expression"}]},{"include":"#component_item"}]}]},"while_loop_statement":{"begin":"(?i)\\\\bwhile\\\\b","beginCaptures":{"0":{"name":"keyword.control.ada"}},"end":"(?i)\\\\b(end)\\\\s+(loop)(\\\\s+[_\\\\w\\\\d]+)?\\\\s*(;)","endCaptures":{"1":{"name":"keyword.control.ada"},"2":{"name":"keyword.control.ada"},"3":{"name":"entity.name.label.ada"},"4":{"name":"punctuation.ada"}},"name":"meta.statement.loop.while.ada","patterns":[{"begin":"(?i)(?<=while)\\\\b","end":"(?i)\\\\bloop\\\\b","endCaptures":{"0":{"name":"keyword.control.ada"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"with_clause":{"begin":"(?i)\\\\b(?:(limited)\\\\s+)?(?:(private)\\\\s+)?(with)\\\\b","beginCaptures":{"1":{"name":"keyword.modifier.ada"},"2":{"name":"storage.visibility.ada"},"3":{"name":"keyword.other.using.ada"}},"end":";","endCaptures":{"0":{"name":"punctuation.ada"}},"name":"meta.context.with.ada","patterns":[{"match":",","name":"punctuation.ada"},{"include":"#package_mark"}]}},"scopeName":"source.ada"}`, + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-bCR0ucgS.js.map diff --git a/src/webview-ui/build/assets/chunk-bCR0ucgS.js.map b/src/webview-ui/build/assets/chunk-bCR0ucgS.js.map new file mode 100644 index 0000000000..4ff35c7a91 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-bCR0ucgS.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-bCR0ucgS.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/ada.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Ada\\\",\\\"name\\\":\\\"ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#library_unit\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#use_clause\\\"},{\\\"include\\\":\\\"#with_clause\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#keyword\\\"}],\\\"repository\\\":{\\\"abort_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\babort\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.abort.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([._\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.task.ada\\\"}]},\\\"accept_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(accept)\\\\\\\\s+([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.accept.ada\\\"}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s*(\\\\\\\\s\\\\\\\\2)?\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.accept.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.accept.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bdo\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},{\\\"include\\\":\\\"#parameter_profile\\\"}]},\\\"access_definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.ada\\\"}},\\\"match\\\":\\\"(?i)(not\\\\\\\\s+null\\\\\\\\s+)?(access)\\\\\\\\s+(constant\\\\\\\\s+)?([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.declaration.access.definition.ada\\\"},\\\"access_type_definition\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(not\\\\\\\\s+null\\\\\\\\s+)?(access)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|;))\\\",\\\"name\\\":\\\"meta.declaration.type.definition.access.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\ball\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bconstant\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"actual_parameter_part\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#parameter_association\\\"}]},\\\"adding_operator\\\":{\\\"match\\\":\\\"([-\\\\\\\\&+])\\\",\\\"name\\\":\\\"keyword.operator.adding.ada\\\"},\\\"array_aggregate\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.definition.array.aggregate.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#positional_array_aggregate\\\"},{\\\"include\\\":\\\"#array_component_association\\\"}]},\\\"array_component_association\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b([^()=>]*)\\\\\\\\s*(=>)\\\\\\\\s*([^),]+)\\\",\\\"name\\\":\\\"meta.definition.array.aggregate.component.ada\\\"},\\\"array_dimensions\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.declaration.type.definition.array.dimensions.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brange\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]}]},\\\"array_type_definition\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\barray\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|;))\\\",\\\"name\\\":\\\"meta.declaration.type.definition.array.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array_dimensions\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bof\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\baliased\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"include\\\":\\\"#access_definition\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"aspect_clause\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.aspect.clause.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\buse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#record_representation_clause\\\"},{\\\"include\\\":\\\"#array_aggregate\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=for)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=use)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}},\\\"match\\\":\\\"([_\\\\\\\\w\\\\\\\\d]+)('([_\\\\\\\\w\\\\\\\\d]+))?\\\"}]}]},\\\"aspect_definition\\\":{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"}},\\\"end\\\":\\\"(?i)(?=([,;]|\\\\\\\\bis\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.aspect.definition.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"aspect_mark\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b([._\\\\\\\\w\\\\\\\\d]+)(?:(')(class))?\\\\\\\\b\\\",\\\"name\\\":\\\"meta.aspect.mark.ada\\\"},\\\"aspect_specification\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bwith\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(;|\\\\\\\\bis\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.aspect.specification.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(null)\\\\\\\\s+(record)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\brecord\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(record)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#component_item\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\"},{\\\"include\\\":\\\"#aspect_definition\\\"},{\\\"include\\\":\\\"#aspect_mark\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"assignment_statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b([\\\\\\\"'()._\\\\\\\\w\\\\\\\\d\\\\\\\\s]+)\\\\\\\\s*(:=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([._\\\\\\\\w\\\\\\\\d]+)\\\",\\\"name\\\":\\\"variable.name.ada\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.assignment.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.ada\\\"}},\\\"match\\\":\\\"(')([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.attribute.ada\\\"},\\\"based_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.base.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.radix-point.ada\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.base.ada\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#exponent_part\\\"}]}},\\\"match\\\":\\\"(?i)(\\\\\\\\d(?:(_)?\\\\\\\\d)*#)[0-9a-f](?:(_)?[0-9a-f])*(?:(\\\\\\\\.)[0-9a-f](?:(_)?[0-9a-f])*)?(#)([Ee][-+]?\\\\\\\\d(?:_?\\\\\\\\d)*)?\\\",\\\"name\\\":\\\"constant.numeric.ada\\\"},\\\"basic_declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type_declaration\\\"},{\\\"include\\\":\\\"#subtype_declaration\\\"},{\\\"include\\\":\\\"#exception_declaration\\\"},{\\\"include\\\":\\\"#object_declaration\\\"},{\\\"include\\\":\\\"#single_protected_declaration\\\"},{\\\"include\\\":\\\"#single_task_declaration\\\"},{\\\"include\\\":\\\"#subprogram_specification\\\"},{\\\"include\\\":\\\"#package_declaration\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"basic_declarative_item\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#basic_declaration\\\"},{\\\"include\\\":\\\"#aspect_clause\\\"},{\\\"include\\\":\\\"#use_clause\\\"},{\\\"include\\\":\\\"#keyword\\\"}]},\\\"block_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bdeclare\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)(\\\\\\\\s+[_\\\\\\\\w\\\\\\\\d]+)?\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.block.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<=declare)\\\",\\\"end\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#body\\\"},{\\\"include\\\":\\\"#basic_declarative_item\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=begin)\\\",\\\"end\\\":\\\"(?i)(?=end)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]}]},\\\"body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subprogram_body\\\"},{\\\"include\\\":\\\"#package_body\\\"},{\\\"include\\\":\\\"#task_body\\\"},{\\\"include\\\":\\\"#protected_body\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bcase\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(case)\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.case.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<=case)\\\\\\\\b\\\",\\\"end\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"=>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.case.alternative.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bothers\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#statement\\\"}]},\\\"character_literal\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"'\\\",\\\"name\\\":\\\"punctuation.definition.string.ada\\\"}]}},\\\"match\\\":\\\"'.'\\\",\\\"name\\\":\\\"string.quoted.single.ada\\\"},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor\\\"},{\\\"include\\\":\\\"#comment-section\\\"},{\\\"include\\\":\\\"#comment-doc\\\"},{\\\"include\\\":\\\"#comment-line\\\"}]},\\\"comment-doc\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.double-dash.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.line.double-dash.ada\\\"}},\\\"match\\\":\\\"(--)\\\\\\\\s*(@)(\\\\\\\\w+)\\\\\\\\s+(.*)$\\\",\\\"name\\\":\\\"comment.block.documentation.ada\\\"},\\\"comment-line\\\":{\\\"match\\\":\\\"--.*$\\\",\\\"name\\\":\\\"comment.line.double-dash.ada\\\"},\\\"comment-section\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.section.ada\\\"}},\\\"match\\\":\\\"--\\\\\\\\s*([^-].*?[^-])\\\\\\\\s*--\\\\\\\\s*$\\\",\\\"name\\\":\\\"comment.line.double-dash.ada\\\"},\\\"component_clause\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.name.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.aspect.clause.record.representation.component.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bat\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=range)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#range_constraint\\\"}]},\\\"component_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+(?:\\\\\\\\s*,\\\\\\\\s*[_\\\\\\\\w\\\\\\\\d]+)?)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.name.ada\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.type.definition.record.component.ada\\\",\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"match\\\":\\\":=\\\",\\\"name\\\":\\\"keyword.operator.new.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#component_definition\\\"}]},\\\"component_definition\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\baliased\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brange\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#access_definition\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"component_item\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#component_declaration\\\"},{\\\"include\\\":\\\"#variant_part\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#aspect_clause\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(null)\\\\\\\\s*(;)\\\"}]},\\\"composite_constraint\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.declaration.constraint.composite.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\s*(=>)\\\\\\\\s*([^),])+\\\\\\\\b\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"decimal_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.radix-point.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#exponent_part\\\"}]}},\\\"match\\\":\\\"\\\\\\\\d(?:(_)?\\\\\\\\d)*(?:(\\\\\\\\.)\\\\\\\\d(?:(_)?\\\\\\\\d)*)?([Ee][-+]?\\\\\\\\d(?:_?\\\\\\\\d)*)?\\\",\\\"name\\\":\\\"constant.numeric.ada\\\"},\\\"declarative_item\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#body\\\"},{\\\"include\\\":\\\"#basic_declarative_item\\\"}]},\\\"delay_relative_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(delay)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"delay_statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#delay_until_statement\\\"},{\\\"include\\\":\\\"#delay_relative_statement\\\"}]},\\\"delay_until_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(delay)\\\\\\\\s+(until)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.delay.until.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"derived_type_definition\\\":{\\\"name\\\":\\\"meta.declaration.type.definition.derived.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(\\\\\\\\bwith\\\\\\\\b|;))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\band\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\b(abstract|and|limited|tagged)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"discriminant_specification\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+(?:\\\\\\\\s*,\\\\\\\\s*[_\\\\\\\\w\\\\\\\\d]+)?)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.name.ada\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"(?=([);]))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\":=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"}},\\\"end\\\":\\\"(?=([);]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]}},\\\"match\\\":\\\"(?i)(not\\\\\\\\s+null\\\\\\\\s+)?([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\"},{\\\"include\\\":\\\"#access_definition\\\"}]},\\\"entry_body\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(entry)\\\\\\\\s+([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.entry.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s*(\\\\\\\\s\\\\\\\\2)\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.entry.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=begin)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarative_item\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=is)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#parameter_profile\\\"}]},\\\"entry_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:(not)?\\\\\\\\s+(overriding)\\\\\\\\s+)?(entry)\\\\\\\\s+([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.entry.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter_profile\\\"}]},\\\"enumeration_type_definition\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.type.definition.enumeration.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.name.ada\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"exception_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+(?:\\\\\\\\s*,\\\\\\\\s*[_\\\\\\\\w\\\\\\\\d]+)?)\\\\\\\\s*(:)\\\\\\\\s*(exception)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.exception.ada\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.exception.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(renames)\\\\\\\\s+(([._\\\\\\\\w\\\\\\\\d])+)\\\",\\\"name\\\":\\\"entity.name.exception.ada\\\"}]},\\\"exit_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bexit\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.exit.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"[_\\\\\\\\w\\\\\\\\d]+\\\",\\\"name\\\":\\\"entity.name.label.ada\\\"}]},\\\"exponent_part\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.exponent-mark.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.unary.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"match\\\":\\\"([Ee])([-+])?\\\\\\\\d(?:(_)?\\\\\\\\d)*\\\"},\\\"expression\\\":{\\\"name\\\":\\\"meta.expression.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bnull\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.ada\\\"},{\\\"match\\\":\\\"=>(\\\\\\\\+)?\\\",\\\"name\\\":\\\"keyword.other.ada\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#value\\\"},{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(and|or|xor)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(if|then|else|elsif|in|for|(?<!\\\\\\\\.)all|some|\\\\\\\\.\\\\\\\\.|delta|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"}]},\\\"for_loop_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bfor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(loop)(\\\\\\\\s+[_\\\\\\\\w\\\\\\\\d]+)?\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.label.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.loop.for.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<=for)\\\",\\\"end\\\":\\\"(?i)\\\\\\\\bloop\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\s+(in)(\\\\\\\\s+reverse)?\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+)(?:\\\\\\\\s*(:)\\\\\\\\s*([._\\\\\\\\w\\\\\\\\d]+))?\\\\\\\\s+(of)(\\\\\\\\s+reverse)?\\\\\\\\b\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#statement\\\"}]},\\\"full_type_declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#task_type_declaration\\\"},{\\\"include\\\":\\\"#regular_type_declaration\\\"}]},\\\"function_body\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(overriding\\\\\\\\s+)?(function)\\\\\\\\s+(?:([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b|(\\\\\\\".+\\\\\\\"))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ada\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string_literal\\\"}]}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s+(\\\\\\\\3|\\\\\\\\4)\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.function.body.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=end)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#handled_sequence_of_statements\\\"}]},{\\\"include\\\":\\\"#aspect_specification\\\"},{\\\"include\\\":\\\"#result_profile\\\"},{\\\"include\\\":\\\"#subprogram_renaming_declaration\\\"},{\\\"include\\\":\\\"#parameter_profile\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|begin|;))\\\",\\\"name\\\":\\\"meta.function.body.spec_part.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"name\\\":\\\"meta.declaration.package.generic.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([._\\\\\\\\w\\\\\\\\d]+)\\\",\\\"name\\\":\\\"entity.name.function.ada\\\"},{\\\"include\\\":\\\"#actual_parameter_part\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\babstract\\\\\\\\b\\\",\\\"name\\\":\\\"meta.declaration.function.abstract.ada\\\"},{\\\"include\\\":\\\"#declarative_item\\\"},{\\\"include\\\":\\\"#subprogram_renaming_declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"function_specification\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body\\\"}]},\\\"goto_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bgoto\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.goto.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.goto.ada\\\",\\\"patterns\\\":[{}]},\\\"guard\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"=>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"handled_sequence_of_statements\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bexception\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.handler.exception.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"=>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"match\\\":\\\"\\\\\\\\b([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\s*(:)\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bothers\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"match\\\":\\\"[._\\\\\\\\w\\\\\\\\d]+\\\",\\\"name\\\":\\\"entity.name.exception.ada\\\"}]},{\\\"include\\\":\\\"#statement\\\"}]},{\\\"include\\\":\\\"#statement\\\"}]},\\\"highest_precedence_operator\\\":{\\\"match\\\":\\\"(?i)(\\\\\\\\*\\\\\\\\*|\\\\\\\\babs\\\\\\\\b|\\\\\\\\bnot\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.operator.highest-precedence.ada\\\"},\\\"if_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bif\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(if)\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.if.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\belsif\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)(?<!\\\\\\\\sand)\\\\\\\\s+(?=then)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\belse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)(?=end)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=if)\\\\\\\\b\\\",\\\"end\\\":\\\"(?i)(?<!\\\\\\\\sand)\\\\\\\\s+(?=then)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\bthen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(e(?:lsif|lse|nd)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]}]},\\\"integer_type_definition\\\":{\\\"name\\\":\\\"meta.declaration.type.definition.integer.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#signed_integer_type_definition\\\"},{\\\"include\\\":\\\"#modular_type_definition\\\"}]},\\\"interface_type_definition\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:(limited|task|protected|synchronized)\\\\\\\\s+)?(interface)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|;))\\\",\\\"name\\\":\\\"meta.declaration.type.definition.interface.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\band\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(abort|abs|accept|all|and|at|begin|body|declare|delay|end|entry|exception|function|generic|in|is|mod|new|not|null|of|or|others|out|package|pragma|procedure|range|record|rem|renames|requeue|reverse|select|separate|some|subtype|then|type|use|when|with|xor)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(case|do|else|elsif|exit|for|goto|if|loop|raise|return|terminate|until|while)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(abstract|access|aliased|array|constant|delta|digits|interface|limited|protected|synchronized|tagged|task)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(private|overriding)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"match\\\":\\\"([-*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ada\\\"},{\\\"match\\\":\\\":=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ada\\\"},{\\\"match\\\":\\\"(=|/=|[<>]|<=|>=)\\\",\\\"name\\\":\\\"keyword.operator.logic.ada\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"keyword.operator.concatenation.ada\\\"}]},\\\"known_discriminant_part\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.declaration.type.discriminant.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#discriminant_specification\\\"}]},\\\"label\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.label.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.label.ada\\\"}},\\\"match\\\":\\\"(<<)?([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\s*(:[^=]|>>)\\\",\\\"name\\\":\\\"meta.label.ada\\\"},\\\"library_unit\\\":{\\\"name\\\":\\\"meta.library.unit.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#package_body\\\"},{\\\"include\\\":\\\"#package_specification\\\"},{\\\"include\\\":\\\"#subprogram_body\\\"}]},\\\"loop_statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#simple_loop_statement\\\"},{\\\"include\\\":\\\"#while_loop_statement\\\"},{\\\"include\\\":\\\"#for_loop_statement\\\"}]},\\\"modular_type_definition\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(mod)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|;))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"multiplying_operator\\\":{\\\"match\\\":\\\"(?i)([*/]|\\\\\\\\bmod\\\\\\\\b|\\\\\\\\brem\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.operator.multiplying.ada\\\"},\\\"null_statement\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(null)\\\\\\\\s*(;)\\\",\\\"name\\\":\\\"meta.statement.null.ada\\\"},\\\"object_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+(?:\\\\\\\\s*,\\\\\\\\s*[_\\\\\\\\w\\\\\\\\d]+)*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.name.ada\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.object.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\",\\\"end\\\":\\\"(?=;)|(:=)|\\\\\\\\b(renames)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bconstant\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\baliased\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"include\\\":\\\"#aspect_specification\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},{\\\"begin\\\":\\\"(?<=:=)\\\",\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#aspect_specification\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=renames)\\\",\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#aspect_specification\\\"}]}]},\\\"operator\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#highest_precedence_operator\\\"},{\\\"include\\\":\\\"#multiplying_operator\\\"},{\\\"include\\\":\\\"#adding_operator\\\"},{\\\"include\\\":\\\"#relational_operator\\\"},{\\\"include\\\":\\\"#logical_operator\\\"}]},\\\"package_body\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(package)\\\\\\\\s+(body)\\\\\\\\s+([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_mark\\\"}]}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(\\\\\\\\3)\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_mark\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.package.body.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#handled_sequence_of_statements\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\b(begin|end)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#declarative_item\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"include\\\":\\\"#aspect_specification\\\"}]},\\\"package_declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_specification\\\"}]},\\\"package_mark\\\":{\\\"match\\\":\\\"\\\\\\\\b([._\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.package.ada\\\"},\\\"package_specification\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(package)\\\\\\\\s+([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_mark\\\"}]}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s+(\\\\\\\\2)\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_mark\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.package.specification.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=(end|;))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"name\\\":\\\"meta.declaration.package.generic.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#package_mark\\\"},{\\\"include\\\":\\\"#actual_parameter_part\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#basic_declarative_item\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"include\\\":\\\"#aspect_specification\\\"}]},\\\"parameter_association\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"}},\\\"match\\\":\\\"([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\s*(=>)\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"parameter_profile\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#parameter_specification\\\"}]},\\\"parameter_specification\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\":(?!=)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"end\\\":\\\"(?=[):;])\\\",\\\"name\\\":\\\"meta.type.annotation.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(in|out)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},{\\\"begin\\\":\\\":=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"}},\\\"end\\\":\\\"(?=[):;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b[._\\\\\\\\w\\\\\\\\d]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.ada\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"positional_array_aggregate\\\":{\\\"name\\\":\\\"meta.definition.array.aggregate.positional.ada\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b(others)\\\\\\\\s*(=>)\\\\\\\\s*([^),]+)\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"pragma\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(pragma)\\\\\\\\s+([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.ada\\\"}},\\\"end\\\":\\\"(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.pragma.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"preprocessor\\\":{\\\"name\\\":\\\"meta.preprocessor.ada\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.ada\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(#)(if|elsif)\\\\\\\\s+(.*)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(#)(end if)(;)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.directive.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(#)(else)\\\"}]},\\\"procedure_body\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(overriding\\\\\\\\s+)?(procedure)\\\\\\\\s+([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ada\\\"}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s+(\\\\\\\\3)\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.procedure.body.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|begin|;))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.new.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"name\\\":\\\"meta.declaration.package.generic.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([._\\\\\\\\w\\\\\\\\d]+)\\\",\\\"name\\\":\\\"entity.name.function.ada\\\"},{\\\"include\\\":\\\"#actual_parameter_part\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\b(null|abstract)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"include\\\":\\\"#declarative_item\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\bend\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#handled_sequence_of_statements\\\"}]},{\\\"include\\\":\\\"#subprogram_renaming_declaration\\\"},{\\\"include\\\":\\\"#aspect_specification\\\"},{\\\"include\\\":\\\"#parameter_profile\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"procedure_call_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.call.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#actual_parameter_part\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"procedure_specification\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#procedure_body\\\"}]},\\\"protected_body\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(protected)\\\\\\\\s+(body)\\\\\\\\s+([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.body.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s*(\\\\\\\\s\\\\\\\\3)\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.body.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.procedure.body.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#protected_operation_item\\\"}]}]},\\\"protected_element_declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subprogram_specification\\\"},{\\\"include\\\":\\\"#aspect_clause\\\"},{\\\"include\\\":\\\"#entry_declaration\\\"},{\\\"include\\\":\\\"#component_declaration\\\"},{\\\"include\\\":\\\"#pragma\\\"}]},\\\"protected_operation_item\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#subprogram_specification\\\"},{\\\"include\\\":\\\"#subprogram_body\\\"},{\\\"include\\\":\\\"#aspect_clause\\\"},{\\\"include\\\":\\\"#entry_body\\\"}]},\\\"raise_expression\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\braise\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"name\\\":\\\"meta.expression.raise.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bwith\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=([);]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.exception.ada\\\"}]},\\\"raise_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\braise\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.raise.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bwith\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b([._\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.exception.ada\\\"}]},\\\"range_constraint\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\brange\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?=(\\\\\\\\bwith\\\\\\\\b|;))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"keyword.modifier.unknown.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"real_type_definition\\\":{\\\"name\\\":\\\"meta.declaration.type.definition.real-type.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scalar_constraint\\\"}]},\\\"record_representation_clause\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(record)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(record)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"name\\\":\\\"meta.aspect.clause.record.representation.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#component_clause\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"record_type_definition\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(?:(abstract)\\\\\\\\s+)?(?:(tagged)\\\\\\\\s+)?(?:(limited)\\\\\\\\s+)?(null)\\\\\\\\s+(record)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.declaration.type.definition.record.null.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#component_item\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:(abstract)\\\\\\\\s+)?(?:(tagged)\\\\\\\\s+)?(?:(limited)\\\\\\\\s+)?(record)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(record)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"name\\\":\\\"meta.declaration.type.definition.record.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#component_item\\\"}]}]},\\\"regular_type_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(type)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.type.definition.regular.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with(?!\\\\\\\\s+(private))|;))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_definition\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?<=type)\\\\\\\\b\\\",\\\"end\\\":\\\"(?i)(?=(is|;))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#known_discriminant_part\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},{\\\"include\\\":\\\"#aspect_specification\\\"}]},\\\"relational_operator\\\":{\\\"match\\\":\\\"(=|/=|<=??|>=??)\\\",\\\"name\\\":\\\"keyword.operator.relational.ada\\\"},\\\"requeue_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\brequeue\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.requeue.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(with|abort)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.ada\\\"},{\\\"match\\\":\\\"\\\\\\\\b([._\\\\\\\\w\\\\\\\\d])+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.ada\\\"}]},\\\"result_profile\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\breturn\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=(is|with|renames|;))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"return_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\breturn\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.return.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bdo\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(return)\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#statement\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.name.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.ada\\\"}},\\\"match\\\":\\\"\\\\\\\\b([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\s*(:)\\\\\\\\s*([._\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\"},{\\\"match\\\":\\\":=\\\",\\\"name\\\":\\\"keyword.operator.new.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"scalar_constraint\\\":{\\\"name\\\":\\\"meta.declaration.constraint.scalar.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(d(?:igits|elta))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\brange\\\\\\\\b|\\\\\\\\bdigits\\\\\\\\b|\\\\\\\\bwith\\\\\\\\b|;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#range_constraint\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"select_alternative\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bterminate\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}}},{\\\"include\\\":\\\"#statement\\\"}]},\\\"select_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bselect\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(select)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"name\\\":\\\"meta.statement.select.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:(or)|(?<=select))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=(or|else|end))\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#guard\\\"},{\\\"include\\\":\\\"#select_alternative\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\belse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]}]},\\\"signed_integer_type_definition\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#range_constraint\\\"}]},\\\"simple_loop_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bloop\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(loop)(\\\\\\\\s+[_\\\\\\\\w\\\\\\\\d]+)?\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.label.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.loop.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"}]},\\\"single_protected_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(protected)\\\\\\\\s+([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.protected.ada\\\"}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s*(\\\\\\\\s\\\\\\\\2)?\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.protected.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.protected.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(\\\\\\\\bend\\\\\\\\b|;))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\bwith\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\band\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#protected_element_declaration\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"include\\\":\\\"#comment\\\"}]},\\\"single_task_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(task)\\\\\\\\s+([_\\\\\\\\w\\\\\\\\d]+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.task.ada\\\"}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s*(\\\\\\\\s\\\\\\\\2)?\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.task.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\bwith\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\band\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#task_item\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"include\\\":\\\"#comment\\\"}]},\\\"statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#handled_sequence_of_statements\\\"}]},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#null_statement\\\"},{\\\"include\\\":\\\"#return_statement\\\"},{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#exit_statement\\\"},{\\\"include\\\":\\\"#goto_statement\\\"},{\\\"include\\\":\\\"#requeue_statement\\\"},{\\\"include\\\":\\\"#delay_statement\\\"},{\\\"include\\\":\\\"#abort_statement\\\"},{\\\"include\\\":\\\"#raise_statement\\\"},{\\\"include\\\":\\\"#if_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#loop_statement\\\"},{\\\"include\\\":\\\"#block_statement\\\"},{\\\"include\\\":\\\"#select_statement\\\"},{\\\"include\\\":\\\"#accept_statement\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#procedure_call_statement\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.ada\\\"}},\\\"match\\\":\\\"(\\\\\\\").*?(\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.ada\\\"},\\\"subprogram_body\\\":{\\\"name\\\":\\\"meta.declaration.subprogram.body.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#procedure_body\\\"},{\\\"include\\\":\\\"#function_body\\\"}]},\\\"subprogram_renaming_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\brenames\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=(with|;))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[._\\\\\\\\w\\\\\\\\d]+\\\",\\\"name\\\":\\\"entity.name.function.ada\\\"}]},\\\"subprogram_specification\\\":{\\\"name\\\":\\\"meta.declaration.subprogram.specification.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#procedure_specification\\\"},{\\\"include\\\":\\\"#function_specification\\\"}]},\\\"subtype_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bsubtype\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.subtype.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(not\\\\\\\\s+null)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.ada\\\"},{\\\"include\\\":\\\"#composite_constraint\\\"},{\\\"include\\\":\\\"#aspect_specification\\\"},{\\\"include\\\":\\\"#subtype_indication\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=subtype)\\\",\\\"end\\\":\\\"(?i)\\\\\\\\b(?=is)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]}]},\\\"subtype_indication\\\":{\\\"name\\\":\\\"meta.declaration.indication.subtype.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scalar_constraint\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"subtype_mark\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(access|aliased|not\\\\\\\\s+null|constant)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.visibility.ada\\\"},{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#actual_parameter_part\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(procedure|function)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=([);]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter_profile\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\breturn\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?=([);]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#subtype_mark\\\"}]}]},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[._]\\\",\\\"name\\\":\\\"punctuation.ada\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b[._\\\\\\\\w\\\\\\\\d]+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.ada\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"task_body\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(task)\\\\\\\\s+(body)\\\\\\\\s+(([._\\\\\\\\w\\\\\\\\d])+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.task.ada\\\"}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s*(?:\\\\\\\\s(\\\\\\\\3))?\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.task.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.task.body.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bbegin\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=end)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#handled_sequence_of_statements\\\"}]},{\\\"include\\\":\\\"#aspect_specification\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)(?=(with|begin))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarative_item\\\"}]}]},\\\"task_item\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#aspect_clause\\\"},{\\\"include\\\":\\\"#entry_declaration\\\"}]},\\\"task_type_declaration\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(task)\\\\\\\\s+(type)\\\\\\\\s+(([._\\\\\\\\w\\\\\\\\d])+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.task.ada\\\"}},\\\"end\\\":\\\"(?i)(?:\\\\\\\\b(end)\\\\\\\\s*(?:\\\\\\\\s(\\\\\\\\3))?\\\\\\\\s*)?(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.task.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.type.task.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#known_discriminant_part\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bnew\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\bwith\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\band\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\bprivate\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#task_item\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"include\\\":\\\"#comment\\\"}]},\\\"type_declaration\\\":{\\\"name\\\":\\\"meta.declaration.type.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#full_type_declaration\\\"}]},\\\"type_definition\\\":{\\\"name\\\":\\\"meta.declaration.type.definition.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#enumeration_type_definition\\\"},{\\\"include\\\":\\\"#integer_type_definition\\\"},{\\\"include\\\":\\\"#real_type_definition\\\"},{\\\"include\\\":\\\"#array_type_definition\\\"},{\\\"include\\\":\\\"#record_type_definition\\\"},{\\\"include\\\":\\\"#access_type_definition\\\"},{\\\"include\\\":\\\"#interface_type_definition\\\"},{\\\"include\\\":\\\"#derived_type_definition\\\"}]},\\\"use_clause\\\":{\\\"name\\\":\\\"meta.context.use.ada\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#use_type_clause\\\"},{\\\"include\\\":\\\"#use_package_clause\\\"}]},\\\"use_package_clause\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\buse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.using.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.context.use.package.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#package_mark\\\"}]},\\\"use_type_clause\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(use)\\\\\\\\s+(?:(all)\\\\\\\\s+)?(type)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.modifier.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.modifier.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.context.use.type.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#subtype_mark\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#based_literal\\\"},{\\\"include\\\":\\\"#decimal_literal\\\"},{\\\"include\\\":\\\"#character_literal\\\"},{\\\"include\\\":\\\"#string_literal\\\"}]},\\\"variant_part\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bcase\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(case);\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.declaration.variant.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?<=case)\\\\\\\\b\\\",\\\"end\\\":\\\"(?i)\\\\\\\\bis\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"[_\\\\\\\\w\\\\\\\\d]+\\\",\\\"name\\\":\\\"variable.name.ada\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?<=is)\\\\\\\\b\\\",\\\"end\\\":\\\"(?i)\\\\\\\\b(?=end)\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhen\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.ada\\\"}},\\\"end\\\":\\\"=>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.ada\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bothers\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.ada\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#component_item\\\"}]}]},\\\"while_loop_statement\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\bwhile\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"end\\\":\\\"(?i)\\\\\\\\b(end)\\\\\\\\s+(loop)(\\\\\\\\s+[_\\\\\\\\w\\\\\\\\d]+)?\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.label.ada\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.statement.loop.while.ada\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<=while)\\\\\\\\b\\\",\\\"end\\\":\\\"(?i)\\\\\\\\bloop\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.ada\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#statement\\\"}]},\\\"with_clause\\\":{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:(limited)\\\\\\\\s+)?(?:(private)\\\\\\\\s+)?(with)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.modifier.ada\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.visibility.ada\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.using.ada\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.ada\\\"}},\\\"name\\\":\\\"meta.context.with.ada\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.ada\\\"},{\\\"include\\\":\\\"#package_mark\\\"}]}},\\\"scopeName\\\":\\\"source.ada\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "ada" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,k59CAAyvqD,CAAC,EAEjxqDC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-bN70gL4F.js b/src/webview-ui/build/assets/chunk-bN70gL4F.js new file mode 100644 index 0000000000..531dd5614a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-bN70gL4F.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#580000","badge.background":"#cc3333","button.background":"#833","debugToolBar.background":"#660000","dropdown.background":"#580000","editor.background":"#390000","editor.foreground":"#F8F8F8","editor.hoverHighlightBackground":"#ff000044","editor.lineHighlightBackground":"#ff000033","editor.selectionBackground":"#750000","editor.selectionHighlightBackground":"#f5500039","editorCursor.foreground":"#970000","editorGroup.border":"#ff666633","editorGroupHeader.tabsBackground":"#330000","editorHoverWidget.background":"#300000","editorLineNumber.activeForeground":"#ffbbbb88","editorLineNumber.foreground":"#ff777788","editorLink.activeForeground":"#FFD0AA","editorSuggestWidget.background":"#300000","editorSuggestWidget.border":"#220000","editorWhitespace.foreground":"#c10000","editorWidget.background":"#300000","errorForeground":"#ffeaea","extensionButton.prominentBackground":"#cc3333","extensionButton.prominentHoverBackground":"#cc333388","focusBorder":"#ff6666aa","input.background":"#580000","inputOption.activeBorder":"#cc0000","inputValidation.infoBackground":"#550000","inputValidation.infoBorder":"#DB7E58","list.activeSelectionBackground":"#880000","list.dropBackground":"#662222","list.highlightForeground":"#ff4444","list.hoverBackground":"#800000","list.inactiveSelectionBackground":"#770000","minimap.selectionHighlight":"#750000","peekView.border":"#ff000044","peekViewEditor.background":"#300000","peekViewResult.background":"#400000","peekViewTitle.background":"#550000","pickerGroup.border":"#ff000033","pickerGroup.foreground":"#cc9999","ports.iconRunningProcessForeground":"#DB7E58","progressBar.background":"#cc3333","quickInputList.focusBackground":"#660000","selection.background":"#ff777788","sideBar.background":"#330000","statusBar.background":"#700000","statusBar.noFolderBackground":"#700000","statusBarItem.remoteBackground":"#c33","tab.activeBackground":"#490000","tab.inactiveBackground":"#300a0a","tab.lastPinnedBorder":"#ff000044","titleBar.activeBackground":"#770000","titleBar.inactiveBackground":"#772222"},"displayName":"Red","name":"red","semanticHighlighting":true,"tokenColors":[{"settings":{"foreground":"#F8F8F8"}},{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown","variable.legacy.builtin.python"],"settings":{"foreground":"#F8F8F8"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#e7c0c0ff"}},{"scope":"constant","settings":{"fontStyle":"","foreground":"#994646ff"}},{"scope":"keyword","settings":{"fontStyle":"","foreground":"#f12727ff"}},{"scope":"entity","settings":{"fontStyle":"","foreground":"#fec758ff"}},{"scope":"storage","settings":{"fontStyle":"bold","foreground":"#ff6262ff"}},{"scope":"string","settings":{"fontStyle":"","foreground":"#cd8d8dff"}},{"scope":"support","settings":{"fontStyle":"","foreground":"#9df39fff"}},{"scope":"variable","settings":{"fontStyle":"italic","foreground":"#fb9a4bff"}},{"scope":"invalid","settings":{"foreground":"#ffffffff"}},{"scope":["entity.other.inherited-class","punctuation.separator.namespace.ruby"],"settings":{"fontStyle":"underline","foreground":"#aa5507ff"}},{"scope":"constant.character","settings":{"foreground":"#ec0d1e"}},{"scope":["string constant","constant.character.escape"],"settings":{"fontStyle":"","foreground":"#ffe862ff"}},{"scope":"string.regexp","settings":{"foreground":"#ffb454ff"}},{"scope":"string variable","settings":{"foreground":"#edef7dff"}},{"scope":"support.function","settings":{"fontStyle":"","foreground":"#ffb454ff"}},{"scope":["support.constant","support.variable"],"settings":{"fontStyle":"","foreground":"#eb939aff"}},{"scope":["declaration.sgml.html declaration.doctype","declaration.sgml.html declaration.doctype entity","declaration.sgml.html declaration.doctype string","declaration.xml-processing","declaration.xml-processing entity","declaration.xml-processing string"],"settings":{"fontStyle":"","foreground":"#73817dff"}},{"scope":["declaration.tag","declaration.tag entity","meta.tag","meta.tag entity"],"settings":{"fontStyle":"","foreground":"#ec0d1eff"}},{"scope":"meta.selector.css entity.name.tag","settings":{"fontStyle":"","foreground":"#aa5507ff"}},{"scope":"meta.selector.css entity.other.attribute-name.id","settings":{"foreground":"#fec758ff"}},{"scope":"meta.selector.css entity.other.attribute-name.class","settings":{"fontStyle":"","foreground":"#41a83eff"}},{"scope":"support.type.property-name.css","settings":{"fontStyle":"","foreground":"#96dd3bff"}},{"scope":["meta.property-group support.constant.property-value.css","meta.property-value support.constant.property-value.css"],"settings":{"fontStyle":"italic","foreground":"#ffe862ff"}},{"scope":["meta.property-value support.constant.named-color.css","meta.property-value constant"],"settings":{"fontStyle":"","foreground":"#ffe862ff"}},{"scope":"meta.preprocessor.at-rule keyword.control.at-rule","settings":{"foreground":"#fd6209ff"}},{"scope":"meta.constructor.argument.css","settings":{"fontStyle":"","foreground":"#ec9799ff"}},{"scope":["meta.diff","meta.diff.header"],"settings":{"fontStyle":"italic","foreground":"#f8f8f8ff"}},{"scope":"markup.deleted","settings":{"foreground":"#ec9799ff"}},{"scope":"markup.changed","settings":{"foreground":"#f8f8f8ff"}},{"scope":"markup.inserted","settings":{"foreground":"#41a83eff"}},{"scope":"markup.quote","settings":{"foreground":"#f12727ff"}},{"scope":"markup.list","settings":{"foreground":"#ff6262ff"}},{"scope":["markup.bold","markup.italic"],"settings":{"foreground":"#fb9a4bff"}},{"scope":"markup.bold","settings":{"fontStyle":"bold"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"fontStyle":"","foreground":"#cd8d8dff"}},{"scope":["markup.heading","markup.heading.setext","punctuation.definition.heading","entity.name.section"],"settings":{"fontStyle":"bold","foreground":"#fec758ff"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded",".format.placeholder"],"settings":{"foreground":"#ec0d1e"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-bN70gL4F.js.map diff --git a/src/webview-ui/build/assets/chunk-bN70gL4F.js.map b/src/webview-ui/build/assets/chunk-bN70gL4F.js.map new file mode 100644 index 0000000000..ae4b4a2eb6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-bN70gL4F.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-bN70gL4F.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/red.mjs" + ], + "sourcesContent": [ + "/* Theme: red */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#580000\\\",\\\"badge.background\\\":\\\"#cc3333\\\",\\\"button.background\\\":\\\"#833\\\",\\\"debugToolBar.background\\\":\\\"#660000\\\",\\\"dropdown.background\\\":\\\"#580000\\\",\\\"editor.background\\\":\\\"#390000\\\",\\\"editor.foreground\\\":\\\"#F8F8F8\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#ff000044\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ff000033\\\",\\\"editor.selectionBackground\\\":\\\"#750000\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#f5500039\\\",\\\"editorCursor.foreground\\\":\\\"#970000\\\",\\\"editorGroup.border\\\":\\\"#ff666633\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#330000\\\",\\\"editorHoverWidget.background\\\":\\\"#300000\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#ffbbbb88\\\",\\\"editorLineNumber.foreground\\\":\\\"#ff777788\\\",\\\"editorLink.activeForeground\\\":\\\"#FFD0AA\\\",\\\"editorSuggestWidget.background\\\":\\\"#300000\\\",\\\"editorSuggestWidget.border\\\":\\\"#220000\\\",\\\"editorWhitespace.foreground\\\":\\\"#c10000\\\",\\\"editorWidget.background\\\":\\\"#300000\\\",\\\"errorForeground\\\":\\\"#ffeaea\\\",\\\"extensionButton.prominentBackground\\\":\\\"#cc3333\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#cc333388\\\",\\\"focusBorder\\\":\\\"#ff6666aa\\\",\\\"input.background\\\":\\\"#580000\\\",\\\"inputOption.activeBorder\\\":\\\"#cc0000\\\",\\\"inputValidation.infoBackground\\\":\\\"#550000\\\",\\\"inputValidation.infoBorder\\\":\\\"#DB7E58\\\",\\\"list.activeSelectionBackground\\\":\\\"#880000\\\",\\\"list.dropBackground\\\":\\\"#662222\\\",\\\"list.highlightForeground\\\":\\\"#ff4444\\\",\\\"list.hoverBackground\\\":\\\"#800000\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#770000\\\",\\\"minimap.selectionHighlight\\\":\\\"#750000\\\",\\\"peekView.border\\\":\\\"#ff000044\\\",\\\"peekViewEditor.background\\\":\\\"#300000\\\",\\\"peekViewResult.background\\\":\\\"#400000\\\",\\\"peekViewTitle.background\\\":\\\"#550000\\\",\\\"pickerGroup.border\\\":\\\"#ff000033\\\",\\\"pickerGroup.foreground\\\":\\\"#cc9999\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#DB7E58\\\",\\\"progressBar.background\\\":\\\"#cc3333\\\",\\\"quickInputList.focusBackground\\\":\\\"#660000\\\",\\\"selection.background\\\":\\\"#ff777788\\\",\\\"sideBar.background\\\":\\\"#330000\\\",\\\"statusBar.background\\\":\\\"#700000\\\",\\\"statusBar.noFolderBackground\\\":\\\"#700000\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#c33\\\",\\\"tab.activeBackground\\\":\\\"#490000\\\",\\\"tab.inactiveBackground\\\":\\\"#300a0a\\\",\\\"tab.lastPinnedBorder\\\":\\\"#ff000044\\\",\\\"titleBar.activeBackground\\\":\\\"#770000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#772222\\\"},\\\"displayName\\\":\\\"Red\\\",\\\"name\\\":\\\"red\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F8\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F8\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e7c0c0ff\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#994646ff\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f12727ff\\\"}},{\\\"scope\\\":\\\"entity\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#fec758ff\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ff6262ff\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cd8d8dff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9df39fff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fb9a4bff\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffffff\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#aa5507ff\\\"}},{\\\"scope\\\":\\\"constant.character\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ec0d1e\\\"}},{\\\"scope\\\":[\\\"string constant\\\",\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffe862ff\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454ff\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#edef7dff\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffb454ff\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#eb939aff\\\"}},{\\\"scope\\\":[\\\"declaration.sgml.html declaration.doctype\\\",\\\"declaration.sgml.html declaration.doctype entity\\\",\\\"declaration.sgml.html declaration.doctype string\\\",\\\"declaration.xml-processing\\\",\\\"declaration.xml-processing entity\\\",\\\"declaration.xml-processing string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#73817dff\\\"}},{\\\"scope\\\":[\\\"declaration.tag\\\",\\\"declaration.tag entity\\\",\\\"meta.tag\\\",\\\"meta.tag entity\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ec0d1eff\\\"}},{\\\"scope\\\":\\\"meta.selector.css entity.name.tag\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#aa5507ff\\\"}},{\\\"scope\\\":\\\"meta.selector.css entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fec758ff\\\"}},{\\\"scope\\\":\\\"meta.selector.css entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#41a83eff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#96dd3bff\\\"}},{\\\"scope\\\":[\\\"meta.property-group support.constant.property-value.css\\\",\\\"meta.property-value support.constant.property-value.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffe862ff\\\"}},{\\\"scope\\\":[\\\"meta.property-value support.constant.named-color.css\\\",\\\"meta.property-value constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffe862ff\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.at-rule keyword.control.at-rule\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fd6209ff\\\"}},{\\\"scope\\\":\\\"meta.constructor.argument.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ec9799ff\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f8f8f8ff\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ec9799ff\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f8f8f8ff\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#41a83eff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f12727ff\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff6262ff\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb9a4bff\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cd8d8dff\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading.setext\\\",\\\"punctuation.definition.heading\\\",\\\"entity.name.section\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fec758ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\",\\\".format.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ec0d1e\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "red" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,4jMAA40N,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-brDaU2vB.js b/src/webview-ui/build/assets/chunk-brDaU2vB.js new file mode 100644 index 0000000000..97a7177c2c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-brDaU2vB.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBackground":"#00000000","activityBar.activeBorder":"#00000000","activityBar.activeFocusBorder":"#00000000","activityBar.background":"#181926","activityBar.border":"#00000000","activityBar.dropBorder":"#c6a0f633","activityBar.foreground":"#c6a0f6","activityBar.inactiveForeground":"#6e738d","activityBarBadge.background":"#c6a0f6","activityBarBadge.foreground":"#181926","activityBarTop.activeBorder":"#00000000","activityBarTop.dropBorder":"#c6a0f633","activityBarTop.foreground":"#c6a0f6","activityBarTop.inactiveForeground":"#6e738d","badge.background":"#494d64","badge.foreground":"#cad3f5","banner.background":"#494d64","banner.foreground":"#cad3f5","banner.iconForeground":"#cad3f5","breadcrumb.activeSelectionForeground":"#c6a0f6","breadcrumb.background":"#24273a","breadcrumb.focusForeground":"#c6a0f6","breadcrumb.foreground":"#cad3f5cc","breadcrumbPicker.background":"#1e2030","button.background":"#c6a0f6","button.border":"#00000000","button.foreground":"#181926","button.hoverBackground":"#dac1f9","button.secondaryBackground":"#5b6078","button.secondaryBorder":"#c6a0f6","button.secondaryForeground":"#cad3f5","button.secondaryHoverBackground":"#6a708c","button.separator":"#00000000","charts.blue":"#8aadf4","charts.foreground":"#cad3f5","charts.green":"#a6da95","charts.lines":"#b8c0e0","charts.orange":"#f5a97f","charts.purple":"#c6a0f6","charts.red":"#ed8796","charts.yellow":"#eed49f","checkbox.background":"#494d64","checkbox.border":"#00000000","checkbox.foreground":"#c6a0f6","commandCenter.activeBackground":"#5b607833","commandCenter.activeBorder":"#c6a0f6","commandCenter.activeForeground":"#c6a0f6","commandCenter.background":"#1e2030","commandCenter.border":"#00000000","commandCenter.foreground":"#b8c0e0","commandCenter.inactiveBorder":"#00000000","commandCenter.inactiveForeground":"#b8c0e0","debugConsole.errorForeground":"#ed8796","debugConsole.infoForeground":"#8aadf4","debugConsole.sourceForeground":"#f4dbd6","debugConsole.warningForeground":"#f5a97f","debugConsoleInputIcon.foreground":"#cad3f5","debugExceptionWidget.background":"#181926","debugExceptionWidget.border":"#c6a0f6","debugIcon.breakpointCurrentStackframeForeground":"#5b6078","debugIcon.breakpointDisabledForeground":"#ed879699","debugIcon.breakpointForeground":"#ed8796","debugIcon.breakpointStackframeForeground":"#5b6078","debugIcon.breakpointUnverifiedForeground":"#a47487","debugIcon.continueForeground":"#a6da95","debugIcon.disconnectForeground":"#5b6078","debugIcon.pauseForeground":"#8aadf4","debugIcon.restartForeground":"#8bd5ca","debugIcon.startForeground":"#a6da95","debugIcon.stepBackForeground":"#5b6078","debugIcon.stepIntoForeground":"#cad3f5","debugIcon.stepOutForeground":"#cad3f5","debugIcon.stepOverForeground":"#c6a0f6","debugIcon.stopForeground":"#ed8796","debugTokenExpression.boolean":"#c6a0f6","debugTokenExpression.error":"#ed8796","debugTokenExpression.number":"#f5a97f","debugTokenExpression.string":"#a6da95","debugToolBar.background":"#181926","debugToolBar.border":"#00000000","descriptionForeground":"#cad3f5","diffEditor.border":"#5b6078","diffEditor.diagonalFill":"#5b607899","diffEditor.insertedLineBackground":"#a6da9526","diffEditor.insertedTextBackground":"#a6da9533","diffEditor.removedLineBackground":"#ed879626","diffEditor.removedTextBackground":"#ed879633","diffEditorOverview.insertedForeground":"#a6da95cc","diffEditorOverview.removedForeground":"#ed8796cc","disabledForeground":"#a5adcb","dropdown.background":"#1e2030","dropdown.border":"#c6a0f6","dropdown.foreground":"#cad3f5","dropdown.listBackground":"#5b6078","editor.background":"#24273a","editor.findMatchBackground":"#604456","editor.findMatchBorder":"#ed879633","editor.findMatchHighlightBackground":"#455c6d","editor.findMatchHighlightBorder":"#91d7e333","editor.findRangeHighlightBackground":"#455c6d","editor.findRangeHighlightBorder":"#91d7e333","editor.focusedStackFrameHighlightBackground":"#a6da9526","editor.foldBackground":"#91d7e340","editor.foreground":"#cad3f5","editor.hoverHighlightBackground":"#91d7e340","editor.lineHighlightBackground":"#cad3f512","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#91d7e340","editor.rangeHighlightBorder":"#00000000","editor.selectionBackground":"#939ab740","editor.selectionHighlightBackground":"#939ab733","editor.selectionHighlightBorder":"#939ab733","editor.stackFrameHighlightBackground":"#eed49f26","editor.wordHighlightBackground":"#939ab733","editor.wordHighlightStrongBackground":"#8aadf433","editorBracketHighlight.foreground1":"#ed8796","editorBracketHighlight.foreground2":"#f5a97f","editorBracketHighlight.foreground3":"#eed49f","editorBracketHighlight.foreground4":"#a6da95","editorBracketHighlight.foreground5":"#7dc4e4","editorBracketHighlight.foreground6":"#c6a0f6","editorBracketHighlight.unexpectedBracket.foreground":"#ee99a0","editorBracketMatch.background":"#939ab71a","editorBracketMatch.border":"#939ab7","editorCodeLens.foreground":"#8087a2","editorCursor.background":"#24273a","editorCursor.foreground":"#f4dbd6","editorError.background":"#00000000","editorError.border":"#00000000","editorError.foreground":"#ed8796","editorGroup.border":"#5b6078","editorGroup.dropBackground":"#c6a0f633","editorGroup.emptyBackground":"#24273a","editorGroupHeader.tabsBackground":"#181926","editorGutter.addedBackground":"#a6da95","editorGutter.background":"#24273a","editorGutter.commentGlyphForeground":"#c6a0f6","editorGutter.commentRangeForeground":"#363a4f","editorGutter.deletedBackground":"#ed8796","editorGutter.foldingControlForeground":"#939ab7","editorGutter.modifiedBackground":"#eed49f","editorHoverWidget.background":"#1e2030","editorHoverWidget.border":"#5b6078","editorHoverWidget.foreground":"#cad3f5","editorIndentGuide.activeBackground":"#5b6078","editorIndentGuide.background":"#494d64","editorInfo.background":"#00000000","editorInfo.border":"#00000000","editorInfo.foreground":"#8aadf4","editorInlayHint.background":"#1e2030bf","editorInlayHint.foreground":"#5b6078","editorInlayHint.parameterBackground":"#1e2030bf","editorInlayHint.parameterForeground":"#a5adcb","editorInlayHint.typeBackground":"#1e2030bf","editorInlayHint.typeForeground":"#b8c0e0","editorLightBulb.foreground":"#eed49f","editorLineNumber.activeForeground":"#c6a0f6","editorLineNumber.foreground":"#8087a2","editorLink.activeForeground":"#c6a0f6","editorMarkerNavigation.background":"#1e2030","editorMarkerNavigationError.background":"#ed8796","editorMarkerNavigationInfo.background":"#8aadf4","editorMarkerNavigationWarning.background":"#f5a97f","editorOverviewRuler.background":"#1e2030","editorOverviewRuler.border":"#cad3f512","editorOverviewRuler.modifiedForeground":"#eed49f","editorRuler.foreground":"#5b6078","editorStickyScrollHover.background":"#363a4f","editorSuggestWidget.background":"#1e2030","editorSuggestWidget.border":"#5b6078","editorSuggestWidget.foreground":"#cad3f5","editorSuggestWidget.highlightForeground":"#c6a0f6","editorSuggestWidget.selectedBackground":"#363a4f","editorWarning.background":"#00000000","editorWarning.border":"#00000000","editorWarning.foreground":"#f5a97f","editorWhitespace.foreground":"#939ab766","editorWidget.background":"#1e2030","editorWidget.foreground":"#cad3f5","editorWidget.resizeBorder":"#5b6078","errorForeground":"#ed8796","errorLens.errorBackground":"#ed879626","errorLens.errorBackgroundLight":"#ed879626","errorLens.errorForeground":"#ed8796","errorLens.errorForegroundLight":"#ed8796","errorLens.errorMessageBackground":"#ed879626","errorLens.hintBackground":"#a6da9526","errorLens.hintBackgroundLight":"#a6da9526","errorLens.hintForeground":"#a6da95","errorLens.hintForegroundLight":"#a6da95","errorLens.hintMessageBackground":"#a6da9526","errorLens.infoBackground":"#8aadf426","errorLens.infoBackgroundLight":"#8aadf426","errorLens.infoForeground":"#8aadf4","errorLens.infoForegroundLight":"#8aadf4","errorLens.infoMessageBackground":"#8aadf426","errorLens.statusBarErrorForeground":"#ed8796","errorLens.statusBarHintForeground":"#a6da95","errorLens.statusBarIconErrorForeground":"#ed8796","errorLens.statusBarIconWarningForeground":"#f5a97f","errorLens.statusBarInfoForeground":"#8aadf4","errorLens.statusBarWarningForeground":"#f5a97f","errorLens.warningBackground":"#f5a97f26","errorLens.warningBackgroundLight":"#f5a97f26","errorLens.warningForeground":"#f5a97f","errorLens.warningForegroundLight":"#f5a97f","errorLens.warningMessageBackground":"#f5a97f26","extensionBadge.remoteBackground":"#8aadf4","extensionBadge.remoteForeground":"#181926","extensionButton.prominentBackground":"#c6a0f6","extensionButton.prominentForeground":"#181926","extensionButton.prominentHoverBackground":"#dac1f9","extensionButton.separator":"#24273a","extensionIcon.preReleaseForeground":"#5b6078","extensionIcon.sponsorForeground":"#f5bde6","extensionIcon.starForeground":"#eed49f","extensionIcon.verifiedForeground":"#a6da95","focusBorder":"#c6a0f6","foreground":"#cad3f5","gitDecoration.addedResourceForeground":"#a6da95","gitDecoration.conflictingResourceForeground":"#c6a0f6","gitDecoration.deletedResourceForeground":"#ed8796","gitDecoration.ignoredResourceForeground":"#6e738d","gitDecoration.modifiedResourceForeground":"#eed49f","gitDecoration.stageDeletedResourceForeground":"#ed8796","gitDecoration.stageModifiedResourceForeground":"#eed49f","gitDecoration.submoduleResourceForeground":"#8aadf4","gitDecoration.untrackedResourceForeground":"#a6da95","gitlens.closedAutolinkedIssueIconColor":"#c6a0f6","gitlens.closedPullRequestIconColor":"#ed8796","gitlens.decorations.branchAheadForegroundColor":"#a6da95","gitlens.decorations.branchBehindForegroundColor":"#f5a97f","gitlens.decorations.branchDivergedForegroundColor":"#eed49f","gitlens.decorations.branchMissingUpstreamForegroundColor":"#f5a97f","gitlens.decorations.branchUnpublishedForegroundColor":"#a6da95","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#ee99a0","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#eed49f","gitlens.decorations.workspaceCurrentForegroundColor":"#c6a0f6","gitlens.decorations.workspaceRepoMissingForegroundColor":"#a5adcb","gitlens.decorations.workspaceRepoOpenForegroundColor":"#c6a0f6","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#f5a97f","gitlens.decorations.worktreeMissingForegroundColor":"#ee99a0","gitlens.graphChangesColumnAddedColor":"#a6da95","gitlens.graphChangesColumnDeletedColor":"#ed8796","gitlens.graphLane10Color":"#f5bde6","gitlens.graphLane1Color":"#c6a0f6","gitlens.graphLane2Color":"#eed49f","gitlens.graphLane3Color":"#8aadf4","gitlens.graphLane4Color":"#f0c6c6","gitlens.graphLane5Color":"#a6da95","gitlens.graphLane6Color":"#b7bdf8","gitlens.graphLane7Color":"#f4dbd6","gitlens.graphLane8Color":"#ed8796","gitlens.graphLane9Color":"#8bd5ca","gitlens.graphMinimapMarkerHeadColor":"#a6da95","gitlens.graphMinimapMarkerHighlightsColor":"#eed49f","gitlens.graphMinimapMarkerLocalBranchesColor":"#8aadf4","gitlens.graphMinimapMarkerRemoteBranchesColor":"#739df2","gitlens.graphMinimapMarkerStashesColor":"#c6a0f6","gitlens.graphMinimapMarkerTagsColor":"#f0c6c6","gitlens.graphMinimapMarkerUpstreamColor":"#96d382","gitlens.graphScrollMarkerHeadColor":"#a6da95","gitlens.graphScrollMarkerHighlightsColor":"#eed49f","gitlens.graphScrollMarkerLocalBranchesColor":"#8aadf4","gitlens.graphScrollMarkerRemoteBranchesColor":"#739df2","gitlens.graphScrollMarkerStashesColor":"#c6a0f6","gitlens.graphScrollMarkerTagsColor":"#f0c6c6","gitlens.graphScrollMarkerUpstreamColor":"#96d382","gitlens.gutterBackgroundColor":"#363a4f4d","gitlens.gutterForegroundColor":"#cad3f5","gitlens.gutterUncommittedForegroundColor":"#c6a0f6","gitlens.lineHighlightBackgroundColor":"#c6a0f626","gitlens.lineHighlightOverviewRulerColor":"#c6a0f6cc","gitlens.mergedPullRequestIconColor":"#c6a0f6","gitlens.openAutolinkedIssueIconColor":"#a6da95","gitlens.openPullRequestIconColor":"#a6da95","gitlens.trailingLineBackgroundColor":"#00000000","gitlens.trailingLineForegroundColor":"#cad3f54d","gitlens.unpublishedChangesIconColor":"#a6da95","gitlens.unpublishedCommitIconColor":"#a6da95","gitlens.unpulledChangesIconColor":"#f5a97f","icon.foreground":"#c6a0f6","input.background":"#363a4f","input.border":"#00000000","input.foreground":"#cad3f5","input.placeholderForeground":"#cad3f573","inputOption.activeBackground":"#5b6078","inputOption.activeBorder":"#c6a0f6","inputOption.activeForeground":"#cad3f5","inputValidation.errorBackground":"#ed8796","inputValidation.errorBorder":"#18192633","inputValidation.errorForeground":"#181926","inputValidation.infoBackground":"#8aadf4","inputValidation.infoBorder":"#18192633","inputValidation.infoForeground":"#181926","inputValidation.warningBackground":"#f5a97f","inputValidation.warningBorder":"#18192633","inputValidation.warningForeground":"#181926","issues.closed":"#c6a0f6","issues.newIssueDecoration":"#f4dbd6","issues.open":"#a6da95","list.activeSelectionBackground":"#363a4f","list.activeSelectionForeground":"#cad3f5","list.dropBackground":"#c6a0f633","list.focusAndSelectionBackground":"#494d64","list.focusBackground":"#363a4f","list.focusForeground":"#cad3f5","list.focusOutline":"#00000000","list.highlightForeground":"#c6a0f6","list.hoverBackground":"#363a4f80","list.hoverForeground":"#cad3f5","list.inactiveSelectionBackground":"#363a4f","list.inactiveSelectionForeground":"#cad3f5","list.warningForeground":"#f5a97f","listFilterWidget.background":"#494d64","listFilterWidget.noMatchesOutline":"#ed8796","listFilterWidget.outline":"#00000000","menu.background":"#24273a","menu.border":"#24273a80","menu.foreground":"#cad3f5","menu.selectionBackground":"#5b6078","menu.selectionBorder":"#00000000","menu.selectionForeground":"#cad3f5","menu.separatorBackground":"#5b6078","menubar.selectionBackground":"#494d64","menubar.selectionForeground":"#cad3f5","merge.commonContentBackground":"#494d64","merge.commonHeaderBackground":"#5b6078","merge.currentContentBackground":"#a6da9533","merge.currentHeaderBackground":"#a6da9566","merge.incomingContentBackground":"#8aadf433","merge.incomingHeaderBackground":"#8aadf466","minimap.background":"#1e203080","minimap.errorHighlight":"#ed8796bf","minimap.findMatchHighlight":"#91d7e34d","minimap.selectionHighlight":"#5b6078bf","minimap.selectionOccurrenceHighlight":"#5b6078bf","minimap.warningHighlight":"#f5a97fbf","minimapGutter.addedBackground":"#a6da95bf","minimapGutter.deletedBackground":"#ed8796bf","minimapGutter.modifiedBackground":"#eed49fbf","minimapSlider.activeBackground":"#c6a0f699","minimapSlider.background":"#c6a0f633","minimapSlider.hoverBackground":"#c6a0f666","notificationCenter.border":"#c6a0f6","notificationCenterHeader.background":"#1e2030","notificationCenterHeader.foreground":"#cad3f5","notificationLink.foreground":"#8aadf4","notificationToast.border":"#c6a0f6","notifications.background":"#1e2030","notifications.border":"#c6a0f6","notifications.foreground":"#cad3f5","notificationsErrorIcon.foreground":"#ed8796","notificationsInfoIcon.foreground":"#8aadf4","notificationsWarningIcon.foreground":"#f5a97f","panel.background":"#24273a","panel.border":"#5b6078","panelSection.border":"#5b6078","panelSection.dropBackground":"#c6a0f633","panelTitle.activeBorder":"#c6a0f6","panelTitle.activeForeground":"#cad3f5","panelTitle.inactiveForeground":"#a5adcb","peekView.border":"#c6a0f6","peekViewEditor.background":"#1e2030","peekViewEditor.matchHighlightBackground":"#91d7e34d","peekViewEditor.matchHighlightBorder":"#00000000","peekViewEditorGutter.background":"#1e2030","peekViewResult.background":"#1e2030","peekViewResult.fileForeground":"#cad3f5","peekViewResult.lineForeground":"#cad3f5","peekViewResult.matchHighlightBackground":"#91d7e34d","peekViewResult.selectionBackground":"#363a4f","peekViewResult.selectionForeground":"#cad3f5","peekViewTitle.background":"#24273a","peekViewTitleDescription.foreground":"#b8c0e0b3","peekViewTitleLabel.foreground":"#cad3f5","pickerGroup.border":"#c6a0f6","pickerGroup.foreground":"#c6a0f6","problemsErrorIcon.foreground":"#ed8796","problemsInfoIcon.foreground":"#8aadf4","problemsWarningIcon.foreground":"#f5a97f","progressBar.background":"#c6a0f6","pullRequests.closed":"#ed8796","pullRequests.draft":"#939ab7","pullRequests.merged":"#c6a0f6","pullRequests.notification":"#cad3f5","pullRequests.open":"#a6da95","sash.hoverBorder":"#c6a0f6","scrollbar.shadow":"#181926","scrollbarSlider.activeBackground":"#363a4f66","scrollbarSlider.background":"#5b607880","scrollbarSlider.hoverBackground":"#6e738d","selection.background":"#c6a0f666","settings.dropdownBackground":"#494d64","settings.dropdownListBorder":"#00000000","settings.focusedRowBackground":"#5b607833","settings.headerForeground":"#cad3f5","settings.modifiedItemIndicator":"#c6a0f6","settings.numberInputBackground":"#494d64","settings.numberInputBorder":"#00000000","settings.textInputBackground":"#494d64","settings.textInputBorder":"#00000000","sideBar.background":"#1e2030","sideBar.border":"#00000000","sideBar.dropBackground":"#c6a0f633","sideBar.foreground":"#cad3f5","sideBarSectionHeader.background":"#1e2030","sideBarSectionHeader.foreground":"#cad3f5","sideBarTitle.foreground":"#c6a0f6","statusBar.background":"#181926","statusBar.border":"#00000000","statusBar.debuggingBackground":"#f5a97f","statusBar.debuggingBorder":"#00000000","statusBar.debuggingForeground":"#181926","statusBar.foreground":"#cad3f5","statusBar.noFolderBackground":"#181926","statusBar.noFolderBorder":"#00000000","statusBar.noFolderForeground":"#cad3f5","statusBarItem.activeBackground":"#5b607866","statusBarItem.errorBackground":"#00000000","statusBarItem.errorForeground":"#ed8796","statusBarItem.hoverBackground":"#5b607833","statusBarItem.prominentBackground":"#00000000","statusBarItem.prominentForeground":"#c6a0f6","statusBarItem.prominentHoverBackground":"#5b607833","statusBarItem.remoteBackground":"#8aadf4","statusBarItem.remoteForeground":"#181926","statusBarItem.warningBackground":"#00000000","statusBarItem.warningForeground":"#f5a97f","symbolIcon.arrayForeground":"#f5a97f","symbolIcon.booleanForeground":"#c6a0f6","symbolIcon.classForeground":"#eed49f","symbolIcon.colorForeground":"#f5bde6","symbolIcon.constantForeground":"#f5a97f","symbolIcon.constructorForeground":"#b7bdf8","symbolIcon.enumeratorForeground":"#eed49f","symbolIcon.enumeratorMemberForeground":"#eed49f","symbolIcon.eventForeground":"#f5bde6","symbolIcon.fieldForeground":"#cad3f5","symbolIcon.fileForeground":"#c6a0f6","symbolIcon.folderForeground":"#c6a0f6","symbolIcon.functionForeground":"#8aadf4","symbolIcon.interfaceForeground":"#eed49f","symbolIcon.keyForeground":"#8bd5ca","symbolIcon.keywordForeground":"#c6a0f6","symbolIcon.methodForeground":"#8aadf4","symbolIcon.moduleForeground":"#cad3f5","symbolIcon.namespaceForeground":"#eed49f","symbolIcon.nullForeground":"#ee99a0","symbolIcon.numberForeground":"#f5a97f","symbolIcon.objectForeground":"#eed49f","symbolIcon.operatorForeground":"#8bd5ca","symbolIcon.packageForeground":"#f0c6c6","symbolIcon.propertyForeground":"#ee99a0","symbolIcon.referenceForeground":"#eed49f","symbolIcon.snippetForeground":"#f0c6c6","symbolIcon.stringForeground":"#a6da95","symbolIcon.structForeground":"#8bd5ca","symbolIcon.textForeground":"#cad3f5","symbolIcon.typeParameterForeground":"#ee99a0","symbolIcon.unitForeground":"#cad3f5","symbolIcon.variableForeground":"#cad3f5","tab.activeBackground":"#24273a","tab.activeBorder":"#00000000","tab.activeBorderTop":"#c6a0f6","tab.activeForeground":"#c6a0f6","tab.activeModifiedBorder":"#eed49f","tab.border":"#1e2030","tab.hoverBackground":"#2e324a","tab.hoverBorder":"#00000000","tab.hoverForeground":"#c6a0f6","tab.inactiveBackground":"#1e2030","tab.inactiveForeground":"#6e738d","tab.inactiveModifiedBorder":"#eed49f4d","tab.lastPinnedBorder":"#c6a0f6","tab.unfocusedActiveBackground":"#1e2030","tab.unfocusedActiveBorder":"#00000000","tab.unfocusedActiveBorderTop":"#c6a0f64d","tab.unfocusedInactiveBackground":"#141620","table.headerBackground":"#363a4f","table.headerForeground":"#cad3f5","terminal.ansiBlack":"#494d64","terminal.ansiBlue":"#8aadf4","terminal.ansiBrightBlack":"#5b6078","terminal.ansiBrightBlue":"#78a1f6","terminal.ansiBrightCyan":"#63cbc0","terminal.ansiBrightGreen":"#8ccf7f","terminal.ansiBrightMagenta":"#f2a9dd","terminal.ansiBrightRed":"#ec7486","terminal.ansiBrightWhite":"#b8c0e0","terminal.ansiBrightYellow":"#e1c682","terminal.ansiCyan":"#8bd5ca","terminal.ansiGreen":"#a6da95","terminal.ansiMagenta":"#f5bde6","terminal.ansiRed":"#ed8796","terminal.ansiWhite":"#a5adcb","terminal.ansiYellow":"#eed49f","terminal.border":"#5b6078","terminal.dropBackground":"#c6a0f633","terminal.foreground":"#cad3f5","terminal.inactiveSelectionBackground":"#5b607880","terminal.selectionBackground":"#5b6078","terminal.tab.activeBorder":"#c6a0f6","terminalCommandDecoration.defaultBackground":"#5b6078","terminalCommandDecoration.errorBackground":"#ed8796","terminalCommandDecoration.successBackground":"#a6da95","terminalCursor.background":"#24273a","terminalCursor.foreground":"#f4dbd6","testing.coverCountBadgeBackground":"#00000000","testing.coverCountBadgeForeground":"#c6a0f6","testing.coveredBackground":"#a6da954d","testing.coveredBorder":"#00000000","testing.coveredGutterBackground":"#a6da954d","testing.iconErrored":"#ed8796","testing.iconErrored.retired":"#ed8796","testing.iconFailed":"#ed8796","testing.iconFailed.retired":"#ed8796","testing.iconPassed":"#a6da95","testing.iconPassed.retired":"#a6da95","testing.iconQueued":"#8aadf4","testing.iconQueued.retired":"#8aadf4","testing.iconSkipped":"#a5adcb","testing.iconSkipped.retired":"#a5adcb","testing.iconUnset":"#cad3f5","testing.iconUnset.retired":"#cad3f5","testing.message.error.lineBackground":"#ed879626","testing.message.info.decorationForeground":"#a6da95cc","testing.message.info.lineBackground":"#a6da9526","testing.messagePeekBorder":"#c6a0f6","testing.messagePeekHeaderBackground":"#5b6078","testing.peekBorder":"#c6a0f6","testing.peekHeaderBackground":"#5b6078","testing.runAction":"#c6a0f6","testing.uncoveredBackground":"#ed879633","testing.uncoveredBorder":"#00000000","testing.uncoveredBranchBackground":"#ed879633","testing.uncoveredGutterBackground":"#ed879640","textBlockQuote.background":"#1e2030","textBlockQuote.border":"#181926","textCodeBlock.background":"#1e2030","textLink.activeForeground":"#91d7e3","textLink.foreground":"#8aadf4","textPreformat.foreground":"#cad3f5","textSeparator.foreground":"#c6a0f6","titleBar.activeBackground":"#181926","titleBar.activeForeground":"#cad3f5","titleBar.border":"#00000000","titleBar.inactiveBackground":"#181926","titleBar.inactiveForeground":"#cad3f580","tree.inactiveIndentGuidesStroke":"#494d64","tree.indentGuidesStroke":"#939ab7","walkThrough.embeddedEditorBackground":"#24273a4d","welcomePage.progress.background":"#181926","welcomePage.progress.foreground":"#c6a0f6","welcomePage.tileBackground":"#1e2030","widget.shadow":"#1e203080","window.activeBorder":"#00000000","window.inactiveBorder":"#00000000"},"displayName":"Catppuccin Macchiato","name":"catppuccin-macchiato","semanticHighlighting":true,"semanticTokenColors":{"boolean":{"foreground":"#f5a97f"},"builtinAttribute.attribute.library:rust":{"foreground":"#8aadf4"},"class.builtin:python":{"foreground":"#c6a0f6"},"class:python":{"foreground":"#eed49f"},"constant.builtin.readonly:nix":{"foreground":"#c6a0f6"},"enumMember":{"foreground":"#8bd5ca"},"function.decorator:python":{"foreground":"#f5a97f"},"generic.attribute:rust":{"foreground":"#cad3f5"},"heading":{"foreground":"#ed8796"},"number":{"foreground":"#f5a97f"},"pol":{"foreground":"#f0c6c6"},"property.readonly:javascript":{"foreground":"#cad3f5"},"property.readonly:javascriptreact":{"foreground":"#cad3f5"},"property.readonly:typescript":{"foreground":"#cad3f5"},"property.readonly:typescriptreact":{"foreground":"#cad3f5"},"selfKeyword":{"foreground":"#ed8796"},"text.emph":{"fontStyle":"italic","foreground":"#ed8796"},"text.math":{"foreground":"#f0c6c6"},"text.strong":{"fontStyle":"bold","foreground":"#ed8796"},"tomlArrayKey":{"fontStyle":"","foreground":"#8aadf4"},"tomlTableKey":{"fontStyle":"","foreground":"#8aadf4"},"type.defaultLibrary:go":{"foreground":"#c6a0f6"},"variable.defaultLibrary":{"foreground":"#ee99a0"},"variable.readonly.defaultLibrary:go":{"foreground":"#c6a0f6"},"variable.readonly:javascript":{"foreground":"#cad3f5"},"variable.readonly:javascriptreact":{"foreground":"#cad3f5"},"variable.readonly:scala":{"foreground":"#cad3f5"},"variable.readonly:typescript":{"foreground":"#cad3f5"},"variable.readonly:typescriptreact":{"foreground":"#cad3f5"},"variable.typeHint:python":{"foreground":"#eed49f"}},"tokenColors":[{"scope":["text","source","variable.other.readwrite","punctuation.definition.variable"],"settings":{"foreground":"#cad3f5"}},{"scope":"punctuation","settings":{"fontStyle":"","foreground":"#939ab7"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#939ab7"}},{"scope":["string","punctuation.definition.string"],"settings":{"foreground":"#a6da95"}},{"scope":"constant.character.escape","settings":{"foreground":"#f5bde6"}},{"scope":["constant.numeric","variable.other.constant","entity.name.constant","constant.language.boolean","constant.language.false","constant.language.true","keyword.other.unit.user-defined","keyword.other.unit.suffix.floating-point"],"settings":{"foreground":"#f5a97f"}},{"scope":["keyword","keyword.operator.word","keyword.operator.new","variable.language.super","support.type.primitive","storage.type","storage.modifier","punctuation.definition.keyword"],"settings":{"fontStyle":"","foreground":"#c6a0f6"}},{"scope":"entity.name.tag.documentation","settings":{"foreground":"#c6a0f6"}},{"scope":["keyword.operator","punctuation.accessor","punctuation.definition.generic","meta.function.closure punctuation.section.parameters","punctuation.definition.tag","punctuation.separator.key-value"],"settings":{"foreground":"#8bd5ca"}},{"scope":["entity.name.function","meta.function-call.method","support.function","support.function.misc","variable.function"],"settings":{"fontStyle":"italic","foreground":"#8aadf4"}},{"scope":["entity.name.class","entity.other.inherited-class","support.class","meta.function-call.constructor","entity.name.struct"],"settings":{"fontStyle":"italic","foreground":"#eed49f"}},{"scope":"entity.name.enum","settings":{"fontStyle":"italic","foreground":"#eed49f"}},{"scope":["meta.enum variable.other.readwrite","variable.other.enummember"],"settings":{"foreground":"#8bd5ca"}},{"scope":"meta.property.object","settings":{"foreground":"#8bd5ca"}},{"scope":["meta.type","meta.type-alias","support.type","entity.name.type"],"settings":{"fontStyle":"italic","foreground":"#eed49f"}},{"scope":["meta.annotation variable.function","meta.annotation variable.annotation.function","meta.annotation punctuation.definition.annotation","meta.decorator","punctuation.decorator"],"settings":{"foreground":"#f5a97f"}},{"scope":["variable.parameter","meta.function.parameters"],"settings":{"fontStyle":"italic","foreground":"#ee99a0"}},{"scope":["constant.language","support.function.builtin"],"settings":{"foreground":"#ed8796"}},{"scope":"entity.other.attribute-name.documentation","settings":{"foreground":"#ed8796"}},{"scope":["keyword.control.directive","punctuation.definition.directive"],"settings":{"foreground":"#eed49f"}},{"scope":"punctuation.definition.typeparameters","settings":{"foreground":"#91d7e3"}},{"scope":"entity.name.namespace","settings":{"foreground":"#eed49f"}},{"scope":"support.type.property-name.css","settings":{"fontStyle":"","foreground":"#8aadf4"}},{"scope":["variable.language.this","variable.language.this punctuation.definition.variable"],"settings":{"foreground":"#ed8796"}},{"scope":"variable.object.property","settings":{"foreground":"#cad3f5"}},{"scope":["string.template variable","string variable"],"settings":{"foreground":"#cad3f5"}},{"scope":"keyword.operator.new","settings":{"fontStyle":"bold"}},{"scope":"storage.modifier.specifier.extern.cpp","settings":{"foreground":"#c6a0f6"}},{"scope":["entity.name.scope-resolution.template.call.cpp","entity.name.scope-resolution.parameter.cpp","entity.name.scope-resolution.cpp","entity.name.scope-resolution.function.definition.cpp"],"settings":{"foreground":"#eed49f"}},{"scope":"storage.type.class.doxygen","settings":{"fontStyle":""}},{"scope":["storage.modifier.reference.cpp"],"settings":{"foreground":"#8bd5ca"}},{"scope":"meta.interpolation.cs","settings":{"foreground":"#cad3f5"}},{"scope":"comment.block.documentation.cs","settings":{"foreground":"#cad3f5"}},{"scope":["source.css entity.other.attribute-name.class.css","entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css"],"settings":{"foreground":"#eed49f"}},{"scope":"punctuation.separator.operator.css","settings":{"foreground":"#8bd5ca"}},{"scope":"source.css entity.other.attribute-name.pseudo-class","settings":{"foreground":"#8bd5ca"}},{"scope":"source.css constant.other.unicode-range","settings":{"foreground":"#f5a97f"}},{"scope":"source.css variable.parameter.url","settings":{"fontStyle":"","foreground":"#a6da95"}},{"scope":["support.type.vendored.property-name"],"settings":{"foreground":"#91d7e3"}},{"scope":["source.css meta.property-value variable","source.css meta.property-value variable.other.less","source.css meta.property-value variable.other.less punctuation.definition.variable.less","meta.definition.variable.scss"],"settings":{"foreground":"#ee99a0"}},{"scope":["source.css meta.property-list variable","meta.property-list variable.other.less","meta.property-list variable.other.less punctuation.definition.variable.less"],"settings":{"foreground":"#8aadf4"}},{"scope":"keyword.other.unit.percentage.css","settings":{"foreground":"#f5a97f"}},{"scope":"source.css meta.attribute-selector","settings":{"foreground":"#a6da95"}},{"scope":["keyword.other.definition.ini","punctuation.support.type.property-name.json","support.type.property-name.json","punctuation.support.type.property-name.toml","support.type.property-name.toml","entity.name.tag.yaml","punctuation.support.type.property-name.yaml","support.type.property-name.yaml"],"settings":{"fontStyle":"","foreground":"#8aadf4"}},{"scope":["constant.language.json","constant.language.yaml"],"settings":{"foreground":"#f5a97f"}},{"scope":["entity.name.type.anchor.yaml","variable.other.alias.yaml"],"settings":{"fontStyle":"","foreground":"#eed49f"}},{"scope":["support.type.property-name.table","entity.name.section.group-title.ini"],"settings":{"foreground":"#eed49f"}},{"scope":"constant.other.time.datetime.offset.toml","settings":{"foreground":"#f5bde6"}},{"scope":["punctuation.definition.anchor.yaml","punctuation.definition.alias.yaml"],"settings":{"foreground":"#f5bde6"}},{"scope":"entity.other.document.begin.yaml","settings":{"foreground":"#f5bde6"}},{"scope":"markup.changed.diff","settings":{"foreground":"#f5a97f"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#8aadf4"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#a6da95"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#ed8796"}},{"scope":["variable.other.env"],"settings":{"foreground":"#8aadf4"}},{"scope":["string.quoted variable.other.env"],"settings":{"foreground":"#cad3f5"}},{"scope":"support.function.builtin.gdscript","settings":{"foreground":"#8aadf4"}},{"scope":"constant.language.gdscript","settings":{"foreground":"#f5a97f"}},{"scope":"comment meta.annotation.go","settings":{"foreground":"#ee99a0"}},{"scope":"comment meta.annotation.parameters.go","settings":{"foreground":"#f5a97f"}},{"scope":"constant.language.go","settings":{"foreground":"#f5a97f"}},{"scope":"variable.graphql","settings":{"foreground":"#cad3f5"}},{"scope":"string.unquoted.alias.graphql","settings":{"foreground":"#f0c6c6"}},{"scope":"constant.character.enum.graphql","settings":{"foreground":"#8bd5ca"}},{"scope":"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql","settings":{"foreground":"#f0c6c6"}},{"scope":["keyword.other.doctype","meta.tag.sgml.doctype punctuation.definition.tag","meta.tag.metadata.doctype entity.name.tag","meta.tag.metadata.doctype punctuation.definition.tag"],"settings":{"foreground":"#c6a0f6"}},{"scope":["entity.name.tag"],"settings":{"fontStyle":"","foreground":"#8aadf4"}},{"scope":["text.html constant.character.entity","text.html constant.character.entity punctuation","constant.character.entity.xml","constant.character.entity.xml punctuation","constant.character.entity.js.jsx","constant.charactger.entity.js.jsx punctuation","constant.character.entity.tsx","constant.character.entity.tsx punctuation"],"settings":{"foreground":"#ed8796"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#eed49f"}},{"scope":["support.class.component","support.class.component.jsx","support.class.component.tsx","support.class.component.vue"],"settings":{"fontStyle":"","foreground":"#f5bde6"}},{"scope":["punctuation.definition.annotation","storage.type.annotation"],"settings":{"foreground":"#f5a97f"}},{"scope":"constant.other.enum.java","settings":{"foreground":"#8bd5ca"}},{"scope":"storage.modifier.import.java","settings":{"foreground":"#cad3f5"}},{"scope":"comment.block.javadoc.java keyword.other.documentation.javadoc.java","settings":{"fontStyle":""}},{"scope":"meta.export variable.other.readwrite.js","settings":{"foreground":"#ee99a0"}},{"scope":["variable.other.constant.js","variable.other.constant.ts","variable.other.property.js","variable.other.property.ts"],"settings":{"foreground":"#cad3f5"}},{"scope":["variable.other.jsdoc","comment.block.documentation variable.other"],"settings":{"fontStyle":"","foreground":"#ee99a0"}},{"scope":"storage.type.class.jsdoc","settings":{"fontStyle":""}},{"scope":"support.type.object.console.js","settings":{"foreground":"#cad3f5"}},{"scope":["support.constant.node","support.type.object.module.js"],"settings":{"foreground":"#c6a0f6"}},{"scope":"storage.modifier.implements","settings":{"foreground":"#c6a0f6"}},{"scope":["constant.language.null.js","constant.language.null.ts","constant.language.undefined.js","constant.language.undefined.ts","support.type.builtin.ts"],"settings":{"foreground":"#c6a0f6"}},{"scope":"variable.parameter.generic","settings":{"foreground":"#eed49f"}},{"scope":["keyword.declaration.function.arrow.js","storage.type.function.arrow.ts"],"settings":{"foreground":"#8bd5ca"}},{"scope":"punctuation.decorator.ts","settings":{"fontStyle":"italic","foreground":"#8aadf4"}},{"scope":["keyword.operator.expression.in.js","keyword.operator.expression.in.ts","keyword.operator.expression.infer.ts","keyword.operator.expression.instanceof.js","keyword.operator.expression.instanceof.ts","keyword.operator.expression.is","keyword.operator.expression.keyof.ts","keyword.operator.expression.of.js","keyword.operator.expression.of.ts","keyword.operator.expression.typeof.ts"],"settings":{"foreground":"#c6a0f6"}},{"scope":"support.function.macro.julia","settings":{"fontStyle":"italic","foreground":"#8bd5ca"}},{"scope":"constant.language.julia","settings":{"foreground":"#f5a97f"}},{"scope":"constant.other.symbol.julia","settings":{"foreground":"#ee99a0"}},{"scope":"text.tex keyword.control.preamble","settings":{"foreground":"#8bd5ca"}},{"scope":"text.tex support.function.be","settings":{"foreground":"#91d7e3"}},{"scope":"constant.other.general.math.tex","settings":{"foreground":"#f0c6c6"}},{"scope":"variable.language.liquid","settings":{"foreground":"#f5bde6"}},{"scope":"comment.line.double-dash.documentation.lua storage.type.annotation.lua","settings":{"fontStyle":"","foreground":"#c6a0f6"}},{"scope":["comment.line.double-dash.documentation.lua entity.name.variable.lua","comment.line.double-dash.documentation.lua variable.lua"],"settings":{"foreground":"#cad3f5"}},{"scope":["heading.1.markdown punctuation.definition.heading.markdown","heading.1.markdown","heading.1.quarto punctuation.definition.heading.quarto","heading.1.quarto","markup.heading.atx.1.mdx","markup.heading.atx.1.mdx punctuation.definition.heading.mdx","markup.heading.setext.1.markdown","markup.heading.heading-0.asciidoc"],"settings":{"foreground":"#ed8796"}},{"scope":["heading.2.markdown punctuation.definition.heading.markdown","heading.2.markdown","heading.2.quarto punctuation.definition.heading.quarto","heading.2.quarto","markup.heading.atx.2.mdx","markup.heading.atx.2.mdx punctuation.definition.heading.mdx","markup.heading.setext.2.markdown","markup.heading.heading-1.asciidoc"],"settings":{"foreground":"#f5a97f"}},{"scope":["heading.3.markdown punctuation.definition.heading.markdown","heading.3.markdown","heading.3.quarto punctuation.definition.heading.quarto","heading.3.quarto","markup.heading.atx.3.mdx","markup.heading.atx.3.mdx punctuation.definition.heading.mdx","markup.heading.heading-2.asciidoc"],"settings":{"foreground":"#eed49f"}},{"scope":["heading.4.markdown punctuation.definition.heading.markdown","heading.4.markdown","heading.4.quarto punctuation.definition.heading.quarto","heading.4.quarto","markup.heading.atx.4.mdx","markup.heading.atx.4.mdx punctuation.definition.heading.mdx","markup.heading.heading-3.asciidoc"],"settings":{"foreground":"#a6da95"}},{"scope":["heading.5.markdown punctuation.definition.heading.markdown","heading.5.markdown","heading.5.quarto punctuation.definition.heading.quarto","heading.5.quarto","markup.heading.atx.5.mdx","markup.heading.atx.5.mdx punctuation.definition.heading.mdx","markup.heading.heading-4.asciidoc"],"settings":{"foreground":"#7dc4e4"}},{"scope":["heading.6.markdown punctuation.definition.heading.markdown","heading.6.markdown","heading.6.quarto punctuation.definition.heading.quarto","heading.6.quarto","markup.heading.atx.6.mdx","markup.heading.atx.6.mdx punctuation.definition.heading.mdx","markup.heading.heading-5.asciidoc"],"settings":{"foreground":"#b7bdf8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#ed8796"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#ed8796"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough","foreground":"#a5adcb"}},{"scope":["punctuation.definition.link","markup.underline.link"],"settings":{"foreground":"#8aadf4"}},{"scope":["text.html.markdown punctuation.definition.link.title","text.html.quarto punctuation.definition.link.title","string.other.link.title.markdown","string.other.link.title.quarto","markup.link","punctuation.definition.constant.markdown","punctuation.definition.constant.quarto","constant.other.reference.link.markdown","constant.other.reference.link.quarto","markup.substitution.attribute-reference"],"settings":{"foreground":"#b7bdf8"}},{"scope":["punctuation.definition.raw.markdown","punctuation.definition.raw.quarto","markup.inline.raw.string.markdown","markup.inline.raw.string.quarto","markup.raw.block.markdown","markup.raw.block.quarto"],"settings":{"foreground":"#a6da95"}},{"scope":"fenced_code.block.language","settings":{"foreground":"#91d7e3"}},{"scope":["markup.fenced_code.block punctuation.definition","markup.raw support.asciidoc"],"settings":{"foreground":"#939ab7"}},{"scope":["markup.quote","punctuation.definition.quote.begin"],"settings":{"foreground":"#f5bde6"}},{"scope":"meta.separator.markdown","settings":{"foreground":"#8bd5ca"}},{"scope":["punctuation.definition.list.begin.markdown","punctuation.definition.list.begin.quarto","markup.list.bullet"],"settings":{"foreground":"#8bd5ca"}},{"scope":"markup.heading.quarto","settings":{"fontStyle":"bold"}},{"scope":["entity.other.attribute-name.multipart.nix","entity.other.attribute-name.single.nix"],"settings":{"foreground":"#8aadf4"}},{"scope":"variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#cad3f5"}},{"scope":"meta.embedded variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#b7bdf8"}},{"scope":"string.unquoted.path.nix","settings":{"fontStyle":"","foreground":"#f5bde6"}},{"scope":["support.attribute.builtin","meta.attribute.php"],"settings":{"foreground":"#eed49f"}},{"scope":"meta.function.parameters.php punctuation.definition.variable.php","settings":{"foreground":"#ee99a0"}},{"scope":"constant.language.php","settings":{"foreground":"#c6a0f6"}},{"scope":"text.html.php support.function","settings":{"foreground":"#91d7e3"}},{"scope":"keyword.other.phpdoc.php","settings":{"fontStyle":""}},{"scope":["support.variable.magic.python","meta.function-call.arguments.python"],"settings":{"foreground":"#cad3f5"}},{"scope":["support.function.magic.python"],"settings":{"fontStyle":"italic","foreground":"#91d7e3"}},{"scope":["variable.parameter.function.language.special.self.python","variable.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#ed8796"}},{"scope":["keyword.control.flow.python","keyword.operator.logical.python"],"settings":{"foreground":"#c6a0f6"}},{"scope":"storage.type.function.python","settings":{"foreground":"#c6a0f6"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#91d7e3"}},{"scope":["meta.function-call.python"],"settings":{"foreground":"#8aadf4"}},{"scope":["entity.name.function.decorator.python","punctuation.definition.decorator.python"],"settings":{"fontStyle":"italic","foreground":"#f5a97f"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#f5bde6"}},{"scope":["support.type.exception.python","support.function.builtin.python"],"settings":{"foreground":"#f5a97f"}},{"scope":["support.type.python"],"settings":{"foreground":"#c6a0f6"}},{"scope":"constant.language.python","settings":{"foreground":"#f5a97f"}},{"scope":["meta.indexed-name.python","meta.item-access.python"],"settings":{"fontStyle":"italic","foreground":"#ee99a0"}},{"scope":"storage.type.string.python","settings":{"fontStyle":"italic","foreground":"#a6da95"}},{"scope":"meta.function.parameters.python","settings":{"fontStyle":""}},{"scope":["string.regexp punctuation.definition.string.begin","string.regexp punctuation.definition.string.end"],"settings":{"foreground":"#f5bde6"}},{"scope":"keyword.control.anchor.regexp","settings":{"foreground":"#c6a0f6"}},{"scope":"string.regexp.ts","settings":{"foreground":"#cad3f5"}},{"scope":["punctuation.definition.group.regexp","keyword.other.back-reference.regexp"],"settings":{"foreground":"#a6da95"}},{"scope":"punctuation.definition.character-class.regexp","settings":{"foreground":"#eed49f"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#f5bde6"}},{"scope":"constant.other.character-class.range.regexp","settings":{"foreground":"#f4dbd6"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#8bd5ca"}},{"scope":"constant.character.numeric.regexp","settings":{"foreground":"#f5a97f"}},{"scope":["punctuation.definition.group.no-capture.regexp","meta.assertion.look-ahead.regexp","meta.assertion.negative-look-ahead.regexp"],"settings":{"foreground":"#8aadf4"}},{"scope":["meta.annotation.rust","meta.annotation.rust punctuation","meta.attribute.rust","punctuation.definition.attribute.rust"],"settings":{"fontStyle":"italic","foreground":"#eed49f"}},{"scope":["meta.attribute.rust string.quoted.double.rust","meta.attribute.rust string.quoted.single.char.rust"],"settings":{"fontStyle":""}},{"scope":["entity.name.function.macro.rules.rust","storage.type.module.rust","storage.modifier.rust","storage.type.struct.rust","storage.type.enum.rust","storage.type.trait.rust","storage.type.union.rust","storage.type.impl.rust","storage.type.rust","storage.type.function.rust","storage.type.type.rust"],"settings":{"fontStyle":"","foreground":"#c6a0f6"}},{"scope":"entity.name.type.numeric.rust","settings":{"fontStyle":"","foreground":"#c6a0f6"}},{"scope":"meta.generic.rust","settings":{"foreground":"#f5a97f"}},{"scope":"entity.name.impl.rust","settings":{"fontStyle":"italic","foreground":"#eed49f"}},{"scope":"entity.name.module.rust","settings":{"foreground":"#f5a97f"}},{"scope":"entity.name.trait.rust","settings":{"fontStyle":"italic","foreground":"#eed49f"}},{"scope":"storage.type.source.rust","settings":{"foreground":"#eed49f"}},{"scope":"entity.name.union.rust","settings":{"foreground":"#eed49f"}},{"scope":"meta.enum.rust storage.type.source.rust","settings":{"foreground":"#8bd5ca"}},{"scope":["support.macro.rust","meta.macro.rust support.function.rust","entity.name.function.macro.rust"],"settings":{"fontStyle":"italic","foreground":"#8aadf4"}},{"scope":["storage.modifier.lifetime.rust","entity.name.type.lifetime"],"settings":{"fontStyle":"italic","foreground":"#8aadf4"}},{"scope":"string.quoted.double.rust constant.other.placeholder.rust","settings":{"foreground":"#f5bde6"}},{"scope":"meta.function.return-type.rust meta.generic.rust storage.type.rust","settings":{"foreground":"#cad3f5"}},{"scope":"meta.function.call.rust","settings":{"foreground":"#8aadf4"}},{"scope":"punctuation.brackets.angle.rust","settings":{"foreground":"#91d7e3"}},{"scope":"constant.other.caps.rust","settings":{"foreground":"#f5a97f"}},{"scope":["meta.function.definition.rust variable.other.rust"],"settings":{"foreground":"#ee99a0"}},{"scope":"meta.function.call.rust variable.other.rust","settings":{"foreground":"#cad3f5"}},{"scope":"variable.language.self.rust","settings":{"foreground":"#ed8796"}},{"scope":["variable.other.metavariable.name.rust","meta.macro.metavariable.rust keyword.operator.macro.dollar.rust"],"settings":{"foreground":"#f5bde6"}},{"scope":["comment.line.shebang","comment.line.shebang punctuation.definition.comment","comment.line.shebang","punctuation.definition.comment.shebang.shell","meta.shebang.shell"],"settings":{"fontStyle":"italic","foreground":"#f5bde6"}},{"scope":"comment.line.shebang constant.language","settings":{"fontStyle":"italic","foreground":"#8bd5ca"}},{"scope":["meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation","meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation"],"settings":{"foreground":"#ed8796"}},{"scope":"meta.string meta.interpolation.parameter.shell variable.other.readwrite","settings":{"fontStyle":"italic","foreground":"#f5a97f"}},{"scope":["source.shell punctuation.section.interpolation","punctuation.definition.evaluation.backticks.shell"],"settings":{"foreground":"#8bd5ca"}},{"scope":"entity.name.tag.heredoc.shell","settings":{"foreground":"#c6a0f6"}},{"scope":"string.quoted.double.shell variable.other.normal.shell","settings":{"foreground":"#cad3f5"}},{"scope":["markup.heading.typst"],"settings":{"foreground":"#ed8796"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-brDaU2vB.js.map diff --git a/src/webview-ui/build/assets/chunk-brDaU2vB.js.map b/src/webview-ui/build/assets/chunk-brDaU2vB.js.map new file mode 100644 index 0000000000..cab9b45cf8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-brDaU2vB.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-brDaU2vB.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/catppuccin-macchiato.mjs" + ], + "sourcesContent": [ + "/* Theme: catppuccin-macchiato */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#181926\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#c6a0f633\\\",\\\"activityBar.foreground\\\":\\\"#c6a0f6\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6e738d\\\",\\\"activityBarBadge.background\\\":\\\"#c6a0f6\\\",\\\"activityBarBadge.foreground\\\":\\\"#181926\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#c6a0f633\\\",\\\"activityBarTop.foreground\\\":\\\"#c6a0f6\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#6e738d\\\",\\\"badge.background\\\":\\\"#494d64\\\",\\\"badge.foreground\\\":\\\"#cad3f5\\\",\\\"banner.background\\\":\\\"#494d64\\\",\\\"banner.foreground\\\":\\\"#cad3f5\\\",\\\"banner.iconForeground\\\":\\\"#cad3f5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#c6a0f6\\\",\\\"breadcrumb.background\\\":\\\"#24273a\\\",\\\"breadcrumb.focusForeground\\\":\\\"#c6a0f6\\\",\\\"breadcrumb.foreground\\\":\\\"#cad3f5cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#1e2030\\\",\\\"button.background\\\":\\\"#c6a0f6\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#181926\\\",\\\"button.hoverBackground\\\":\\\"#dac1f9\\\",\\\"button.secondaryBackground\\\":\\\"#5b6078\\\",\\\"button.secondaryBorder\\\":\\\"#c6a0f6\\\",\\\"button.secondaryForeground\\\":\\\"#cad3f5\\\",\\\"button.secondaryHoverBackground\\\":\\\"#6a708c\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#8aadf4\\\",\\\"charts.foreground\\\":\\\"#cad3f5\\\",\\\"charts.green\\\":\\\"#a6da95\\\",\\\"charts.lines\\\":\\\"#b8c0e0\\\",\\\"charts.orange\\\":\\\"#f5a97f\\\",\\\"charts.purple\\\":\\\"#c6a0f6\\\",\\\"charts.red\\\":\\\"#ed8796\\\",\\\"charts.yellow\\\":\\\"#eed49f\\\",\\\"checkbox.background\\\":\\\"#494d64\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#c6a0f6\\\",\\\"commandCenter.activeBackground\\\":\\\"#5b607833\\\",\\\"commandCenter.activeBorder\\\":\\\"#c6a0f6\\\",\\\"commandCenter.activeForeground\\\":\\\"#c6a0f6\\\",\\\"commandCenter.background\\\":\\\"#1e2030\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#b8c0e0\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#b8c0e0\\\",\\\"debugConsole.errorForeground\\\":\\\"#ed8796\\\",\\\"debugConsole.infoForeground\\\":\\\"#8aadf4\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f4dbd6\\\",\\\"debugConsole.warningForeground\\\":\\\"#f5a97f\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#cad3f5\\\",\\\"debugExceptionWidget.background\\\":\\\"#181926\\\",\\\"debugExceptionWidget.border\\\":\\\"#c6a0f6\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#ed879699\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#ed8796\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#a47487\\\",\\\"debugIcon.continueForeground\\\":\\\"#a6da95\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.pauseForeground\\\":\\\"#8aadf4\\\",\\\"debugIcon.restartForeground\\\":\\\"#8bd5ca\\\",\\\"debugIcon.startForeground\\\":\\\"#a6da95\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#cad3f5\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#cad3f5\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#c6a0f6\\\",\\\"debugIcon.stopForeground\\\":\\\"#ed8796\\\",\\\"debugTokenExpression.boolean\\\":\\\"#c6a0f6\\\",\\\"debugTokenExpression.error\\\":\\\"#ed8796\\\",\\\"debugTokenExpression.number\\\":\\\"#f5a97f\\\",\\\"debugTokenExpression.string\\\":\\\"#a6da95\\\",\\\"debugToolBar.background\\\":\\\"#181926\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#cad3f5\\\",\\\"diffEditor.border\\\":\\\"#5b6078\\\",\\\"diffEditor.diagonalFill\\\":\\\"#5b607899\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#a6da9526\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#a6da9533\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#ed879626\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ed879633\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#a6da95cc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#ed8796cc\\\",\\\"disabledForeground\\\":\\\"#a5adcb\\\",\\\"dropdown.background\\\":\\\"#1e2030\\\",\\\"dropdown.border\\\":\\\"#c6a0f6\\\",\\\"dropdown.foreground\\\":\\\"#cad3f5\\\",\\\"dropdown.listBackground\\\":\\\"#5b6078\\\",\\\"editor.background\\\":\\\"#24273a\\\",\\\"editor.findMatchBackground\\\":\\\"#604456\\\",\\\"editor.findMatchBorder\\\":\\\"#ed879633\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#455c6d\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#91d7e333\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#455c6d\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#91d7e333\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#a6da9526\\\",\\\"editor.foldBackground\\\":\\\"#91d7e340\\\",\\\"editor.foreground\\\":\\\"#cad3f5\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#91d7e340\\\",\\\"editor.lineHighlightBackground\\\":\\\"#cad3f512\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#91d7e340\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#939ab740\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#939ab733\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#939ab733\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#eed49f26\\\",\\\"editor.wordHighlightBackground\\\":\\\"#939ab733\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#8aadf433\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#ed8796\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#f5a97f\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#eed49f\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a6da95\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#7dc4e4\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#c6a0f6\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#ee99a0\\\",\\\"editorBracketMatch.background\\\":\\\"#939ab71a\\\",\\\"editorBracketMatch.border\\\":\\\"#939ab7\\\",\\\"editorCodeLens.foreground\\\":\\\"#8087a2\\\",\\\"editorCursor.background\\\":\\\"#24273a\\\",\\\"editorCursor.foreground\\\":\\\"#f4dbd6\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#ed8796\\\",\\\"editorGroup.border\\\":\\\"#5b6078\\\",\\\"editorGroup.dropBackground\\\":\\\"#c6a0f633\\\",\\\"editorGroup.emptyBackground\\\":\\\"#24273a\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#181926\\\",\\\"editorGutter.addedBackground\\\":\\\"#a6da95\\\",\\\"editorGutter.background\\\":\\\"#24273a\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#c6a0f6\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#363a4f\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ed8796\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#939ab7\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#eed49f\\\",\\\"editorHoverWidget.background\\\":\\\"#1e2030\\\",\\\"editorHoverWidget.border\\\":\\\"#5b6078\\\",\\\"editorHoverWidget.foreground\\\":\\\"#cad3f5\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#5b6078\\\",\\\"editorIndentGuide.background\\\":\\\"#494d64\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#8aadf4\\\",\\\"editorInlayHint.background\\\":\\\"#1e2030bf\\\",\\\"editorInlayHint.foreground\\\":\\\"#5b6078\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#1e2030bf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a5adcb\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#1e2030bf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#b8c0e0\\\",\\\"editorLightBulb.foreground\\\":\\\"#eed49f\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#c6a0f6\\\",\\\"editorLineNumber.foreground\\\":\\\"#8087a2\\\",\\\"editorLink.activeForeground\\\":\\\"#c6a0f6\\\",\\\"editorMarkerNavigation.background\\\":\\\"#1e2030\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#ed8796\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#8aadf4\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#f5a97f\\\",\\\"editorOverviewRuler.background\\\":\\\"#1e2030\\\",\\\"editorOverviewRuler.border\\\":\\\"#cad3f512\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#eed49f\\\",\\\"editorRuler.foreground\\\":\\\"#5b6078\\\",\\\"editorStickyScrollHover.background\\\":\\\"#363a4f\\\",\\\"editorSuggestWidget.background\\\":\\\"#1e2030\\\",\\\"editorSuggestWidget.border\\\":\\\"#5b6078\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#cad3f5\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#c6a0f6\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#363a4f\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#f5a97f\\\",\\\"editorWhitespace.foreground\\\":\\\"#939ab766\\\",\\\"editorWidget.background\\\":\\\"#1e2030\\\",\\\"editorWidget.foreground\\\":\\\"#cad3f5\\\",\\\"editorWidget.resizeBorder\\\":\\\"#5b6078\\\",\\\"errorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.errorBackground\\\":\\\"#ed879626\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#ed879626\\\",\\\"errorLens.errorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#ed8796\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#ed879626\\\",\\\"errorLens.hintBackground\\\":\\\"#a6da9526\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#a6da9526\\\",\\\"errorLens.hintForeground\\\":\\\"#a6da95\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#a6da95\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#a6da9526\\\",\\\"errorLens.infoBackground\\\":\\\"#8aadf426\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#8aadf426\\\",\\\"errorLens.infoForeground\\\":\\\"#8aadf4\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#8aadf4\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#8aadf426\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#a6da95\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#f5a97f\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#8aadf4\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#f5a97f\\\",\\\"errorLens.warningBackground\\\":\\\"#f5a97f26\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#f5a97f26\\\",\\\"errorLens.warningForeground\\\":\\\"#f5a97f\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#f5a97f\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#f5a97f26\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#8aadf4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#181926\\\",\\\"extensionButton.prominentBackground\\\":\\\"#c6a0f6\\\",\\\"extensionButton.prominentForeground\\\":\\\"#181926\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#dac1f9\\\",\\\"extensionButton.separator\\\":\\\"#24273a\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#5b6078\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#f5bde6\\\",\\\"extensionIcon.starForeground\\\":\\\"#eed49f\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a6da95\\\",\\\"focusBorder\\\":\\\"#c6a0f6\\\",\\\"foreground\\\":\\\"#cad3f5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a6da95\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#c6a0f6\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ed8796\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e738d\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#eed49f\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#ed8796\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#eed49f\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#8aadf4\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a6da95\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#ed8796\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#a6da95\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#f5a97f\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#eed49f\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#f5a97f\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#a6da95\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#ee99a0\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#eed49f\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a5adcb\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#f5a97f\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#ee99a0\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#a6da95\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#ed8796\\\",\\\"gitlens.graphLane10Color\\\":\\\"#f5bde6\\\",\\\"gitlens.graphLane1Color\\\":\\\"#c6a0f6\\\",\\\"gitlens.graphLane2Color\\\":\\\"#eed49f\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8aadf4\\\",\\\"gitlens.graphLane4Color\\\":\\\"#f0c6c6\\\",\\\"gitlens.graphLane5Color\\\":\\\"#a6da95\\\",\\\"gitlens.graphLane6Color\\\":\\\"#b7bdf8\\\",\\\"gitlens.graphLane7Color\\\":\\\"#f4dbd6\\\",\\\"gitlens.graphLane8Color\\\":\\\"#ed8796\\\",\\\"gitlens.graphLane9Color\\\":\\\"#8bd5ca\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#a6da95\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#eed49f\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#8aadf4\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#739df2\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#f0c6c6\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#96d382\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#a6da95\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#eed49f\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#8aadf4\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#739df2\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#f0c6c6\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#96d382\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#363a4f4d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#cad3f5\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#c6a0f626\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#c6a0f6cc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#cad3f54d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#f5a97f\\\",\\\"icon.foreground\\\":\\\"#c6a0f6\\\",\\\"input.background\\\":\\\"#363a4f\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#cad3f5\\\",\\\"input.placeholderForeground\\\":\\\"#cad3f573\\\",\\\"inputOption.activeBackground\\\":\\\"#5b6078\\\",\\\"inputOption.activeBorder\\\":\\\"#c6a0f6\\\",\\\"inputOption.activeForeground\\\":\\\"#cad3f5\\\",\\\"inputValidation.errorBackground\\\":\\\"#ed8796\\\",\\\"inputValidation.errorBorder\\\":\\\"#18192633\\\",\\\"inputValidation.errorForeground\\\":\\\"#181926\\\",\\\"inputValidation.infoBackground\\\":\\\"#8aadf4\\\",\\\"inputValidation.infoBorder\\\":\\\"#18192633\\\",\\\"inputValidation.infoForeground\\\":\\\"#181926\\\",\\\"inputValidation.warningBackground\\\":\\\"#f5a97f\\\",\\\"inputValidation.warningBorder\\\":\\\"#18192633\\\",\\\"inputValidation.warningForeground\\\":\\\"#181926\\\",\\\"issues.closed\\\":\\\"#c6a0f6\\\",\\\"issues.newIssueDecoration\\\":\\\"#f4dbd6\\\",\\\"issues.open\\\":\\\"#a6da95\\\",\\\"list.activeSelectionBackground\\\":\\\"#363a4f\\\",\\\"list.activeSelectionForeground\\\":\\\"#cad3f5\\\",\\\"list.dropBackground\\\":\\\"#c6a0f633\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#494d64\\\",\\\"list.focusBackground\\\":\\\"#363a4f\\\",\\\"list.focusForeground\\\":\\\"#cad3f5\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#c6a0f6\\\",\\\"list.hoverBackground\\\":\\\"#363a4f80\\\",\\\"list.hoverForeground\\\":\\\"#cad3f5\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#363a4f\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#cad3f5\\\",\\\"list.warningForeground\\\":\\\"#f5a97f\\\",\\\"listFilterWidget.background\\\":\\\"#494d64\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#ed8796\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#24273a\\\",\\\"menu.border\\\":\\\"#24273a80\\\",\\\"menu.foreground\\\":\\\"#cad3f5\\\",\\\"menu.selectionBackground\\\":\\\"#5b6078\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#cad3f5\\\",\\\"menu.separatorBackground\\\":\\\"#5b6078\\\",\\\"menubar.selectionBackground\\\":\\\"#494d64\\\",\\\"menubar.selectionForeground\\\":\\\"#cad3f5\\\",\\\"merge.commonContentBackground\\\":\\\"#494d64\\\",\\\"merge.commonHeaderBackground\\\":\\\"#5b6078\\\",\\\"merge.currentContentBackground\\\":\\\"#a6da9533\\\",\\\"merge.currentHeaderBackground\\\":\\\"#a6da9566\\\",\\\"merge.incomingContentBackground\\\":\\\"#8aadf433\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#8aadf466\\\",\\\"minimap.background\\\":\\\"#1e203080\\\",\\\"minimap.errorHighlight\\\":\\\"#ed8796bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#91d7e34d\\\",\\\"minimap.selectionHighlight\\\":\\\"#5b6078bf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#5b6078bf\\\",\\\"minimap.warningHighlight\\\":\\\"#f5a97fbf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a6da95bf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#ed8796bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#eed49fbf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#c6a0f699\\\",\\\"minimapSlider.background\\\":\\\"#c6a0f633\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#c6a0f666\\\",\\\"notificationCenter.border\\\":\\\"#c6a0f6\\\",\\\"notificationCenterHeader.background\\\":\\\"#1e2030\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#cad3f5\\\",\\\"notificationLink.foreground\\\":\\\"#8aadf4\\\",\\\"notificationToast.border\\\":\\\"#c6a0f6\\\",\\\"notifications.background\\\":\\\"#1e2030\\\",\\\"notifications.border\\\":\\\"#c6a0f6\\\",\\\"notifications.foreground\\\":\\\"#cad3f5\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#ed8796\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#8aadf4\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#f5a97f\\\",\\\"panel.background\\\":\\\"#24273a\\\",\\\"panel.border\\\":\\\"#5b6078\\\",\\\"panelSection.border\\\":\\\"#5b6078\\\",\\\"panelSection.dropBackground\\\":\\\"#c6a0f633\\\",\\\"panelTitle.activeBorder\\\":\\\"#c6a0f6\\\",\\\"panelTitle.activeForeground\\\":\\\"#cad3f5\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a5adcb\\\",\\\"peekView.border\\\":\\\"#c6a0f6\\\",\\\"peekViewEditor.background\\\":\\\"#1e2030\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#91d7e34d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#1e2030\\\",\\\"peekViewResult.background\\\":\\\"#1e2030\\\",\\\"peekViewResult.fileForeground\\\":\\\"#cad3f5\\\",\\\"peekViewResult.lineForeground\\\":\\\"#cad3f5\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#91d7e34d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#363a4f\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#cad3f5\\\",\\\"peekViewTitle.background\\\":\\\"#24273a\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#b8c0e0b3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#cad3f5\\\",\\\"pickerGroup.border\\\":\\\"#c6a0f6\\\",\\\"pickerGroup.foreground\\\":\\\"#c6a0f6\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#ed8796\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#8aadf4\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#f5a97f\\\",\\\"progressBar.background\\\":\\\"#c6a0f6\\\",\\\"pullRequests.closed\\\":\\\"#ed8796\\\",\\\"pullRequests.draft\\\":\\\"#939ab7\\\",\\\"pullRequests.merged\\\":\\\"#c6a0f6\\\",\\\"pullRequests.notification\\\":\\\"#cad3f5\\\",\\\"pullRequests.open\\\":\\\"#a6da95\\\",\\\"sash.hoverBorder\\\":\\\"#c6a0f6\\\",\\\"scrollbar.shadow\\\":\\\"#181926\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#363a4f66\\\",\\\"scrollbarSlider.background\\\":\\\"#5b607880\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6e738d\\\",\\\"selection.background\\\":\\\"#c6a0f666\\\",\\\"settings.dropdownBackground\\\":\\\"#494d64\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#5b607833\\\",\\\"settings.headerForeground\\\":\\\"#cad3f5\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#c6a0f6\\\",\\\"settings.numberInputBackground\\\":\\\"#494d64\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#494d64\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#1e2030\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#c6a0f633\\\",\\\"sideBar.foreground\\\":\\\"#cad3f5\\\",\\\"sideBarSectionHeader.background\\\":\\\"#1e2030\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#cad3f5\\\",\\\"sideBarTitle.foreground\\\":\\\"#c6a0f6\\\",\\\"statusBar.background\\\":\\\"#181926\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f5a97f\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#181926\\\",\\\"statusBar.foreground\\\":\\\"#cad3f5\\\",\\\"statusBar.noFolderBackground\\\":\\\"#181926\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#cad3f5\\\",\\\"statusBarItem.activeBackground\\\":\\\"#5b607866\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#ed8796\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#5b607833\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#c6a0f6\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#5b607833\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#8aadf4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#181926\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.classForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.colorForeground\\\":\\\"#f5bde6\\\",\\\"symbolIcon.constantForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#b7bdf8\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.eventForeground\\\":\\\"#f5bde6\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.fileForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.folderForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.functionForeground\\\":\\\"#8aadf4\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.keyForeground\\\":\\\"#8bd5ca\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.methodForeground\\\":\\\"#8aadf4\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.nullForeground\\\":\\\"#ee99a0\\\",\\\"symbolIcon.numberForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.objectForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#8bd5ca\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f0c6c6\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#ee99a0\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#f0c6c6\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6da95\\\",\\\"symbolIcon.structForeground\\\":\\\"#8bd5ca\\\",\\\"symbolIcon.textForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#ee99a0\\\",\\\"symbolIcon.unitForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.variableForeground\\\":\\\"#cad3f5\\\",\\\"tab.activeBackground\\\":\\\"#24273a\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#c6a0f6\\\",\\\"tab.activeForeground\\\":\\\"#c6a0f6\\\",\\\"tab.activeModifiedBorder\\\":\\\"#eed49f\\\",\\\"tab.border\\\":\\\"#1e2030\\\",\\\"tab.hoverBackground\\\":\\\"#2e324a\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#c6a0f6\\\",\\\"tab.inactiveBackground\\\":\\\"#1e2030\\\",\\\"tab.inactiveForeground\\\":\\\"#6e738d\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#eed49f4d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#c6a0f6\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#1e2030\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#c6a0f64d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#141620\\\",\\\"table.headerBackground\\\":\\\"#363a4f\\\",\\\"table.headerForeground\\\":\\\"#cad3f5\\\",\\\"terminal.ansiBlack\\\":\\\"#494d64\\\",\\\"terminal.ansiBlue\\\":\\\"#8aadf4\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5b6078\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#78a1f6\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#63cbc0\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#8ccf7f\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f2a9dd\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ec7486\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#b8c0e0\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e1c682\\\",\\\"terminal.ansiCyan\\\":\\\"#8bd5ca\\\",\\\"terminal.ansiGreen\\\":\\\"#a6da95\\\",\\\"terminal.ansiMagenta\\\":\\\"#f5bde6\\\",\\\"terminal.ansiRed\\\":\\\"#ed8796\\\",\\\"terminal.ansiWhite\\\":\\\"#a5adcb\\\",\\\"terminal.ansiYellow\\\":\\\"#eed49f\\\",\\\"terminal.border\\\":\\\"#5b6078\\\",\\\"terminal.dropBackground\\\":\\\"#c6a0f633\\\",\\\"terminal.foreground\\\":\\\"#cad3f5\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#5b607880\\\",\\\"terminal.selectionBackground\\\":\\\"#5b6078\\\",\\\"terminal.tab.activeBorder\\\":\\\"#c6a0f6\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#5b6078\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#ed8796\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#a6da95\\\",\\\"terminalCursor.background\\\":\\\"#24273a\\\",\\\"terminalCursor.foreground\\\":\\\"#f4dbd6\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#c6a0f6\\\",\\\"testing.coveredBackground\\\":\\\"#a6da954d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#a6da954d\\\",\\\"testing.iconErrored\\\":\\\"#ed8796\\\",\\\"testing.iconErrored.retired\\\":\\\"#ed8796\\\",\\\"testing.iconFailed\\\":\\\"#ed8796\\\",\\\"testing.iconFailed.retired\\\":\\\"#ed8796\\\",\\\"testing.iconPassed\\\":\\\"#a6da95\\\",\\\"testing.iconPassed.retired\\\":\\\"#a6da95\\\",\\\"testing.iconQueued\\\":\\\"#8aadf4\\\",\\\"testing.iconQueued.retired\\\":\\\"#8aadf4\\\",\\\"testing.iconSkipped\\\":\\\"#a5adcb\\\",\\\"testing.iconSkipped.retired\\\":\\\"#a5adcb\\\",\\\"testing.iconUnset\\\":\\\"#cad3f5\\\",\\\"testing.iconUnset.retired\\\":\\\"#cad3f5\\\",\\\"testing.message.error.lineBackground\\\":\\\"#ed879626\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#a6da95cc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#a6da9526\\\",\\\"testing.messagePeekBorder\\\":\\\"#c6a0f6\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#5b6078\\\",\\\"testing.peekBorder\\\":\\\"#c6a0f6\\\",\\\"testing.peekHeaderBackground\\\":\\\"#5b6078\\\",\\\"testing.runAction\\\":\\\"#c6a0f6\\\",\\\"testing.uncoveredBackground\\\":\\\"#ed879633\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#ed879633\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#ed879640\\\",\\\"textBlockQuote.background\\\":\\\"#1e2030\\\",\\\"textBlockQuote.border\\\":\\\"#181926\\\",\\\"textCodeBlock.background\\\":\\\"#1e2030\\\",\\\"textLink.activeForeground\\\":\\\"#91d7e3\\\",\\\"textLink.foreground\\\":\\\"#8aadf4\\\",\\\"textPreformat.foreground\\\":\\\"#cad3f5\\\",\\\"textSeparator.foreground\\\":\\\"#c6a0f6\\\",\\\"titleBar.activeBackground\\\":\\\"#181926\\\",\\\"titleBar.activeForeground\\\":\\\"#cad3f5\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#181926\\\",\\\"titleBar.inactiveForeground\\\":\\\"#cad3f580\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#494d64\\\",\\\"tree.indentGuidesStroke\\\":\\\"#939ab7\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#24273a4d\\\",\\\"welcomePage.progress.background\\\":\\\"#181926\\\",\\\"welcomePage.progress.foreground\\\":\\\"#c6a0f6\\\",\\\"welcomePage.tileBackground\\\":\\\"#1e2030\\\",\\\"widget.shadow\\\":\\\"#1e203080\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Macchiato\\\",\\\"name\\\":\\\"catppuccin-macchiato\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#eed49f\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#ed8796\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#ed8796\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ed8796\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ed8796\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#939ab7\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#939ab7\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dc4e4\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b7bdf8\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#a5adcb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b7bdf8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#939ab7\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b7bdf8\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4dbd6\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "catppuccinMacchiato" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,ys7CAA22kD,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-c1G5yEKj.js b/src/webview-ui/build/assets/chunk-c1G5yEKj.js new file mode 100644 index 0000000000..4fc60691fd --- /dev/null +++ b/src/webview-ui/build/assets/chunk-c1G5yEKj.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Lean 4","fileTypes":[],"name":"lean","patterns":[{"include":"#comments"},{"match":"\\\\b(Prop|Type|Sort)\\\\b","name":"storage.type.lean4"},{"match":"\\\\battribute\\\\b\\\\s*\\\\[[^]]*]","name":"storage.modifier.lean4"},{"match":"@\\\\[[^]]*]","name":"storage.modifier.lean4"},{"match":"\\\\b(?<!\\\\.)(global|local|scoped|partial|unsafe|private|protected|noncomputable)(?!\\\\.)\\\\b","name":"storage.modifier.lean4"},{"match":"\\\\b(sorry|admit|stop)\\\\b","name":"invalid.illegal.lean4"},{"match":"#(print|eval|reduce|check|check_failure)\\\\b","name":"keyword.other.lean4"},{"match":"\\\\bderiving\\\\s+instance\\\\b","name":"keyword.other.command.lean4"},{"begin":"\\\\b(?<!\\\\.)(inductive|coinductive|structure|theorem|axiom|abbrev|lemma|def|instance|class|constant)\\\\b\\\\s+(\\\\{[^}]*})?","beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean4"}},"end":"(?=\\\\bwith\\\\b|\\\\bextends\\\\b|\\\\bwhere\\\\b|[(:<>\\\\[{|⦃])","name":"meta.definitioncommand.lean4","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","}]},{"match":"\\\\b(?<!\\\\.)(theorem|show|have|from|suffices|nomatch|def|class|structure|instance|set_option|initialize|builtin_initialize|example|inductive|coinductive|axiom|constant|universes??|variables??|import|open|export|theory|prelude|renaming|hiding|exposing|do|by|let|extends|mutual|mut|where|rec|syntax|macro_rules|macro|deriving|fun|section|namespace|end|infixl??|infixr|postfix|prefix|notation|abbrev|if|then|else|calc|match|with|for|in|unless|try|catch|finally|return|continue|break)(?!\\\\.)\\\\b","name":"keyword.other.lean4"},{"begin":"«","contentName":"entity.name.lean4","end":"»"},{"begin":"(s!)\\"","beginCaptures":{"1":{"name":"keyword.other.lean4"}},"end":"\\"","name":"string.interpolated.lean4","patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.other.lean4"}},"end":"(})","endCaptures":{"1":{"name":"keyword.other.lean4"}},"patterns":[{"include":"$self"}]},{"match":"\\\\\\\\[\\"'\\\\\\\\nrt]","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\x\\\\h\\\\h","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\u\\\\h\\\\h\\\\h\\\\h","name":"constant.character.escape.lean4"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.lean4","patterns":[{"match":"\\\\\\\\[\\"'\\\\\\\\nrt]","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\x\\\\h\\\\h","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\u\\\\h\\\\h\\\\h\\\\h","name":"constant.character.escape.lean4"}]},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.lean4"},{"match":"'[^'\\\\\\\\]'","name":"string.quoted.single.lean4"},{"captures":{"1":{"name":"constant.character.escape.lean4"}},"match":"'(\\\\\\\\(x\\\\h\\\\h|u\\\\h\\\\h\\\\h\\\\h|.))'","name":"string.quoted.single.lean4"},{"match":"\`+[^(\\\\[]\\\\S+","name":"entity.name.lean4"},{"match":"\\\\b([0-9]+|0([Xx]\\\\h+)|-?(0|[1-9][0-9]*)(\\\\.[0-9]+)?([Ee][-+]?[0-9]+)?)\\\\b","name":"constant.numeric.lean4"}],"repository":{"blockComment":{"begin":"/-","end":"-/","name":"comment.block.lean4","patterns":[{"include":"source.lean4.markdown"},{"include":"#blockComment"}]},"comments":{"patterns":[{"include":"#dashComment"},{"include":"#docComment"},{"include":"#stringBlock"},{"include":"#modDocComment"},{"include":"#blockComment"}]},"dashComment":{"begin":"--","end":"$","name":"comment.line.double-dash.lean4","patterns":[{"include":"source.lean4.markdown"}]},"definitionName":{"patterns":[{"match":"\\\\b[^():=?{}«»λ→∀\\\\s][^():{}«»\\\\s]*","name":"entity.name.function.lean4"},{"begin":"«","contentName":"entity.name.function.lean4","end":"»"}]},"docComment":{"begin":"/--","end":"-/","name":"comment.block.documentation.lean4","patterns":[{"include":"source.lean4.markdown"},{"include":"#blockComment"}]},"modDocComment":{"begin":"/-!","end":"-/","name":"comment.block.documentation.lean4","patterns":[{"include":"source.lean4.markdown"},{"include":"#blockComment"}]}},"scopeName":"source.lean4","aliases":["lean4"]}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-c1G5yEKj.js.map diff --git a/src/webview-ui/build/assets/chunk-c1G5yEKj.js.map b/src/webview-ui/build/assets/chunk-c1G5yEKj.js.map new file mode 100644 index 0000000000..1244b8f20a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-c1G5yEKj.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-c1G5yEKj.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/lean.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Lean 4\\\",\\\"fileTypes\\\":[],\\\"name\\\":\\\"lean\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Prop|Type|Sort)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\battribute\\\\\\\\b\\\\\\\\s*\\\\\\\\[[^]]*]\\\",\\\"name\\\":\\\"storage.modifier.lean4\\\"},{\\\"match\\\":\\\"@\\\\\\\\[[^]]*]\\\",\\\"name\\\":\\\"storage.modifier.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(global|local|scoped|partial|unsafe|private|protected|noncomputable)(?!\\\\\\\\.)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\b(sorry|admit|stop)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.lean4\\\"},{\\\"match\\\":\\\"#(print|eval|reduce|check|check_failure)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\bderiving\\\\\\\\s+instance\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.command.lean4\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(inductive|coinductive|structure|theorem|axiom|abbrev|lemma|def|instance|class|constant)\\\\\\\\b\\\\\\\\s+(\\\\\\\\{[^}]*})?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.definitioncommand.lean4\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\bwith\\\\\\\\b|\\\\\\\\bextends\\\\\\\\b|\\\\\\\\bwhere\\\\\\\\b|[(:<>\\\\\\\\[{|⦃])\\\",\\\"name\\\":\\\"meta.definitioncommand.lean4\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#definitionName\\\"},{\\\"match\\\":\\\",\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(theorem|show|have|from|suffices|nomatch|def|class|structure|instance|set_option|initialize|builtin_initialize|example|inductive|coinductive|axiom|constant|universes??|variables??|import|open|export|theory|prelude|renaming|hiding|exposing|do|by|let|extends|mutual|mut|where|rec|syntax|macro_rules|macro|deriving|fun|section|namespace|end|infixl??|infixr|postfix|prefix|notation|abbrev|if|then|else|calc|match|with|for|in|unless|try|catch|finally|return|continue|break)(?!\\\\\\\\.)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.lean4\\\"},{\\\"begin\\\":\\\"«\\\",\\\"contentName\\\":\\\"entity.name.lean4\\\",\\\"end\\\":\\\"»\\\"},{\\\"begin\\\":\\\"(s!)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.lean4\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.interpolated.lean4\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.lean4\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.lean4\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h\\\\\\\\h\\\",\\\"name\\\":\\\"constant.character.escape.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\",\\\"name\\\":\\\"constant.character.escape.lean4\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.lean4\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h\\\\\\\\h\\\",\\\"name\\\":\\\"constant.character.escape.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\",\\\"name\\\":\\\"constant.character.escape.lean4\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.lean4\\\"},{\\\"match\\\":\\\"'[^'\\\\\\\\\\\\\\\\]'\\\",\\\"name\\\":\\\"string.quoted.single.lean4\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.lean4\\\"}},\\\"match\\\":\\\"'(\\\\\\\\\\\\\\\\(x\\\\\\\\h\\\\\\\\h|u\\\\\\\\h\\\\\\\\h\\\\\\\\h\\\\\\\\h|.))'\\\",\\\"name\\\":\\\"string.quoted.single.lean4\\\"},{\\\"match\\\":\\\"`+[^(\\\\\\\\[]\\\\\\\\S+\\\",\\\"name\\\":\\\"entity.name.lean4\\\"},{\\\"match\\\":\\\"\\\\\\\\b([0-9]+|0([Xx]\\\\\\\\h+)|-?(0|[1-9][0-9]*)(\\\\\\\\.[0-9]+)?([Ee][-+]?[0-9]+)?)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.lean4\\\"}],\\\"repository\\\":{\\\"blockComment\\\":{\\\"begin\\\":\\\"/-\\\",\\\"end\\\":\\\"-/\\\",\\\"name\\\":\\\"comment.block.lean4\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lean4.markdown\\\"},{\\\"include\\\":\\\"#blockComment\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#dashComment\\\"},{\\\"include\\\":\\\"#docComment\\\"},{\\\"include\\\":\\\"#stringBlock\\\"},{\\\"include\\\":\\\"#modDocComment\\\"},{\\\"include\\\":\\\"#blockComment\\\"}]},\\\"dashComment\\\":{\\\"begin\\\":\\\"--\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-dash.lean4\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lean4.markdown\\\"}]},\\\"definitionName\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[^():=?{}«»λ→∀\\\\\\\\s][^():{}«»\\\\\\\\s]*\\\",\\\"name\\\":\\\"entity.name.function.lean4\\\"},{\\\"begin\\\":\\\"«\\\",\\\"contentName\\\":\\\"entity.name.function.lean4\\\",\\\"end\\\":\\\"»\\\"}]},\\\"docComment\\\":{\\\"begin\\\":\\\"/--\\\",\\\"end\\\":\\\"-/\\\",\\\"name\\\":\\\"comment.block.documentation.lean4\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lean4.markdown\\\"},{\\\"include\\\":\\\"#blockComment\\\"}]},\\\"modDocComment\\\":{\\\"begin\\\":\\\"/-!\\\",\\\"end\\\":\\\"-/\\\",\\\"name\\\":\\\"comment.block.documentation.lean4\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lean4.markdown\\\"},{\\\"include\\\":\\\"#blockComment\\\"}]}},\\\"scopeName\\\":\\\"source.lean4\\\",\\\"aliases\\\":[\\\"lean4\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "lean" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,m7HAA82I,CAAC,EAEt4IC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-dwOrl1Do.js b/src/webview-ui/build/assets/chunk-dwOrl1Do.js new file mode 100644 index 0000000000..d116633391 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-dwOrl1Do.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Tcl","fileTypes":["tcl"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"tcl","patterns":[{"begin":"(?<=^|;)\\\\s*((#))","beginCaptures":{"1":{"name":"comment.line.number-sign.tcl"},"2":{"name":"punctuation.definition.comment.tcl"}},"contentName":"comment.line.number-sign.tcl","end":"\\\\n","patterns":[{"match":"(\\\\\\\\[\\\\n\\\\\\\\])"}]},{"captures":{"1":{"name":"keyword.control.tcl"}},"match":"(?<=^|[;\\\\[{])\\\\s*(if|while|for|catch|default|return|break|continue|switch|exit|foreach|try|throw)\\\\b"},{"captures":{"1":{"name":"keyword.control.tcl"}},"match":"(?<=^|})\\\\s*(then|elseif|else)\\\\b"},{"captures":{"1":{"name":"keyword.other.tcl"},"2":{"name":"entity.name.function.tcl"}},"match":"(?<=^|\\\\{)\\\\s*(proc)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.tcl"}},"match":"(?<=^|[;\\\\[{])\\\\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\\\\b"},{"begin":"(?<=^|[;\\\\[{])\\\\s*(reg(?:exp|sub))\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.tcl"}},"end":"[]\\\\n;]","patterns":[{"match":"\\\\\\\\(?:.|\\\\n)","name":"constant.character.escape.tcl"},{"match":"-\\\\w+\\\\s*"},{"applyEndPatternLast":1,"begin":"--\\\\s*","end":"","patterns":[{"include":"#regexp"}]},{"include":"#regexp"}]},{"include":"#escape"},{"include":"#variable"},{"include":"#operator"},{"include":"#numeric"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tcl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.tcl"}},"name":"string.quoted.double.tcl","patterns":[{"include":"#escape"},{"include":"#variable"},{"include":"#embedded"}]}],"repository":{"bare-string":{"begin":"(?:^|(?<=\\\\s))\\"","end":"\\"([^]\\\\s]*)","endCaptures":{"1":{"name":"invalid.illegal.tcl"}},"patterns":[{"include":"#escape"},{"include":"#variable"}]},"braces":{"begin":"(?:^|(?<=\\\\s))\\\\{","end":"}([^]\\\\s]*)","endCaptures":{"1":{"name":"invalid.illegal.tcl"}},"patterns":[{"match":"\\\\\\\\[\\\\n{}]","name":"constant.character.escape.tcl"},{"include":"#inner-braces"}]},"embedded":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.tcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.embedded.end.tcl"}},"name":"source.tcl.embedded","patterns":[{"include":"source.tcl"}]},"escape":{"match":"\\\\\\\\(\\\\d{1,3}|x\\\\h+|u\\\\h{1,4}|.|\\\\n)","name":"constant.character.escape.tcl"},"inner-braces":{"begin":"\\\\{","end":"}","patterns":[{"match":"\\\\\\\\[\\\\n{}]","name":"constant.character.escape.tcl"},{"include":"#inner-braces"}]},"numeric":{"match":"(?<![A-Za-z])([-+]?([0-9]*\\\\.)?[0-9]+f?)(?![.A-Za-z])","name":"constant.numeric.tcl"},"operator":{"match":"(?<=[ \\\\d])([-+~]|&{1,2}|\\\\|{1,2}|<{1,2}|>{1,2}|\\\\*{1,2}|[!%/]|<=|>=|={1,2}|!=|\\\\^)(?=[ \\\\d])","name":"keyword.operator.tcl"},"regexp":{"begin":"(?=\\\\S)(?![]\\\\n;])","end":"(?=[]\\\\n;])","patterns":[{"begin":"(?=[^\\\\t\\\\n ;])","end":"(?=[\\\\t\\\\n ;])","name":"string.regexp.tcl","patterns":[{"include":"#braces"},{"include":"#bare-string"},{"include":"#escape"},{"include":"#variable"}]},{"begin":"[\\\\t ]","end":"(?=[]\\\\n;])","patterns":[{"include":"#variable"},{"include":"#embedded"},{"include":"#escape"},{"include":"#braces"},{"include":"#string"}]}]},"string":{"applyEndPatternLast":1,"begin":"(?:^|(?<=\\\\s))(?=\\")","end":"","name":"string.quoted.double.tcl","patterns":[{"include":"#bare-string"}]},"variable":{"captures":{"1":{"name":"punctuation.definition.variable.tcl"}},"match":"(\\\\$)((?:[0-9A-Z_a-z]|::)+(\\\\([^)]+\\\\))?|\\\\{[^}]*})","name":"support.function.tcl"}},"scopeName":"source.tcl"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-dwOrl1Do.js.map diff --git a/src/webview-ui/build/assets/chunk-dwOrl1Do.js.map b/src/webview-ui/build/assets/chunk-dwOrl1Do.js.map new file mode 100644 index 0000000000..197516bc95 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-dwOrl1Do.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-dwOrl1Do.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/tcl.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Tcl\\\",\\\"fileTypes\\\":[\\\"tcl\\\"],\\\"foldingStartMarker\\\":\\\"\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"^\\\\\\\\s*}\\\",\\\"name\\\":\\\"tcl\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|;)\\\\\\\\s*((#))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.number-sign.tcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tcl\\\"}},\\\"contentName\\\":\\\"comment.line.number-sign.tcl\\\",\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\\\\\\\\\\])\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.tcl\\\"}},\\\"match\\\":\\\"(?<=^|[;\\\\\\\\[{])\\\\\\\\s*(if|while|for|catch|default|return|break|continue|switch|exit|foreach|try|throw)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.tcl\\\"}},\\\"match\\\":\\\"(?<=^|})\\\\\\\\s*(then|elseif|else)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tcl\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.tcl\\\"}},\\\"match\\\":\\\"(?<=^|\\\\\\\\{)\\\\\\\\s*(proc)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tcl\\\"}},\\\"match\\\":\\\"(?<=^|[;\\\\\\\\[{])\\\\\\\\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?<=^|[;\\\\\\\\[{])\\\\\\\\s*(reg(?:exp|sub))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.tcl\\\"}},\\\"end\\\":\\\"[]\\\\\\\\n;]\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:.|\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.tcl\\\"},{\\\"match\\\":\\\"-\\\\\\\\w+\\\\\\\\s*\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"--\\\\\\\\s*\\\",\\\"end\\\":\\\"\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tcl\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tcl\\\"}},\\\"name\\\":\\\"string.quoted.double.tcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#embedded\\\"}]}],\\\"repository\\\":{\\\"bare-string\\\":{\\\"begin\\\":\\\"(?:^|(?<=\\\\\\\\s))\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"([^]\\\\\\\\s]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.tcl\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"braces\\\":{\\\"begin\\\":\\\"(?:^|(?<=\\\\\\\\s))\\\\\\\\{\\\",\\\"end\\\":\\\"}([^]\\\\\\\\s]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.tcl\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n{}]\\\",\\\"name\\\":\\\"constant.character.escape.tcl\\\"},{\\\"include\\\":\\\"#inner-braces\\\"}]},\\\"embedded\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.tcl\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.tcl\\\"}},\\\"name\\\":\\\"source.tcl.embedded\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tcl\\\"}]},\\\"escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\d{1,3}|x\\\\\\\\h+|u\\\\\\\\h{1,4}|.|\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.tcl\\\"},\\\"inner-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n{}]\\\",\\\"name\\\":\\\"constant.character.escape.tcl\\\"},{\\\"include\\\":\\\"#inner-braces\\\"}]},\\\"numeric\\\":{\\\"match\\\":\\\"(?<![A-Za-z])([-+]?([0-9]*\\\\\\\\.)?[0-9]+f?)(?![.A-Za-z])\\\",\\\"name\\\":\\\"constant.numeric.tcl\\\"},\\\"operator\\\":{\\\"match\\\":\\\"(?<=[ \\\\\\\\d])([-+~]|&{1,2}|\\\\\\\\|{1,2}|<{1,2}|>{1,2}|\\\\\\\\*{1,2}|[!%/]|<=|>=|={1,2}|!=|\\\\\\\\^)(?=[ \\\\\\\\d])\\\",\\\"name\\\":\\\"keyword.operator.tcl\\\"},\\\"regexp\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\S)(?![]\\\\\\\\n;])\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\n;])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^\\\\\\\\t\\\\\\\\n ;])\\\",\\\"end\\\":\\\"(?=[\\\\\\\\t\\\\\\\\n ;])\\\",\\\"name\\\":\\\"string.regexp.tcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#bare-string\\\"},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#variable\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\t ]\\\",\\\"end\\\":\\\"(?=[]\\\\\\\\n;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#embedded\\\"},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"string\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?:^|(?<=\\\\\\\\s))(?=\\\\\\\")\\\",\\\"end\\\":\\\"\\\",\\\"name\\\":\\\"string.quoted.double.tcl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#bare-string\\\"}]},\\\"variable\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.tcl\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((?:[0-9A-Z_a-z]|::)+(\\\\\\\\([^)]+\\\\\\\\))?|\\\\\\\\{[^}]*})\\\",\\\"name\\\":\\\"support.function.tcl\\\"}},\\\"scopeName\\\":\\\"source.tcl\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "tcl" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,6wIAAsvJ,CAAC,EAE9wJC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-fuZLfV_i.js b/src/webview-ui/build/assets/chunk-fuZLfV_i.js new file mode 100644 index 0000000000..dd17192a5e --- /dev/null +++ b/src/webview-ui/build/assets/chunk-fuZLfV_i.js @@ -0,0 +1,8 @@ +const a = Object.freeze( + JSON.parse( + '{"displayName":"CSV","fileTypes":["csv"],"name":"csv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?","name":"rainbowgroup"}],"scopeName":"text.csv"}', + ), + ), + n = [a] +export { n as default } +//# sourceMappingURL=chunk-fuZLfV_i.js.map diff --git a/src/webview-ui/build/assets/chunk-fuZLfV_i.js.map b/src/webview-ui/build/assets/chunk-fuZLfV_i.js.map new file mode 100644 index 0000000000..af83d4a66d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-fuZLfV_i.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-fuZLfV_i.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/csv.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"CSV\\\",\\\"fileTypes\\\":[\\\"csv\\\"],\\\"name\\\":\\\"csv\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"rainbow1\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.rainbow2\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.rainbow3\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.rainbow4\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.rainbow5\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.rainbow6\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.rainbow7\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.type.rainbow8\\\"},\\\"9\\\":{\\\"name\\\":\\\"markup.bold.rainbow9\\\"},\\\"10\\\":{\\\"name\\\":\\\"invalid.rainbow10\\\"}},\\\"match\\\":\\\"( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?( *\\\\\\\"(?:[^\\\\\\\"]*\\\\\\\"\\\\\\\")*[^\\\\\\\"]*\\\\\\\" *(?:,|$)|[^,]*(?:,|$))?\\\",\\\"name\\\":\\\"rainbowgroup\\\"}],\\\"scopeName\\\":\\\"text.csv\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "csv" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ujCAA2sC,CAAC,EAEnuCC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-fve9TYiY.js b/src/webview-ui/build/assets/chunk-fve9TYiY.js new file mode 100644 index 0000000000..8b2dcd849a --- /dev/null +++ b/src/webview-ui/build/assets/chunk-fve9TYiY.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Swift","fileTypes":["swift"],"firstLineMatch":"^#!/.*\\\\bswift","name":"swift","patterns":[{"include":"#root"}],"repository":{"async-throws":{"captures":{"1":{"name":"invalid.illegal.await-must-precede-throws.swift"},"2":{"name":"storage.modifier.exception.swift"},"3":{"name":"storage.modifier.async.swift"}},"match":"\\\\b(?:((?:throws\\\\s+|rethrows\\\\s+)async)|((?:|re)throws)|(async))\\\\b"},"attributes":{"patterns":[{"begin":"((@)available)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.available.swift","patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b)?"},{"begin":"\\\\b((?:introduc|deprecat|obsolet)ed)\\\\s*(:)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]},{"begin":"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"keyword.other.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"keyword.other.swift"},"3":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[),])"}]},{"begin":"((@)objc)(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.attribute.objc.swift","patterns":[{"captures":{"1":{"name":"invalid.illegal.missing-colon-after-selector-piece.swift"}},"match":"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?","name":"entity.name.function.swift"}]},{"begin":"(@)(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)","beginCaptures":{"0":{"name":"storage.modifier.attribute.swift"},"1":{"name":"punctuation.definition.attribute.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G\\\\()","name":"meta.attribute.swift","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.arguments.attribute.swift","patterns":[{"include":"#expressions"}]}]}]},"builtin-functions":{"patterns":[{"match":"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-global-functions":{"patterns":[{"begin":"\\\\b(type)(\\\\()\\\\s*(of)(:)","beginCaptures":{"1":{"name":"support.function.dynamic-type.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"match":"\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\s*[({])\\\\b","name":"support.function.swift"},{"match":"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()","name":"support.function.swift"},{"match":"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()","name":"support.function.swift"}]},"builtin-properties":{"patterns":[{"match":"(?<=(?:^|\\\\W)(?:Process\\\\.|CommandLine\\\\.))(arguments|argc|unsafeArgv)","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b","name":"support.variable.swift"},{"match":"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b","name":"support.variable.swift"}]},"builtin-types":{"patterns":[{"include":"#builtin-types-builtin-class-type"},{"include":"#builtin-types-builtin-enum-type"},{"include":"#builtin-types-builtin-protocol-type"},{"include":"#builtin-types-builtin-struct-type"},{"include":"#builtin-types-builtin-typealias"},{"match":"\\\\bAny\\\\b","name":"support.type.any.swift"}]},"builtin-types-builtin-class-type":{"match":"\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\b","name":"support.class.swift"},"builtin-types-builtin-enum-type":{"patterns":[{"match":"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b","name":"support.constant.swift"},{"match":"\\\\bNever\\\\b","name":"support.constant.never.swift"},{"match":"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-protocol-type":{"patterns":[{"match":"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-struct-type":{"patterns":[{"match":"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b","name":"support.type.swift"}]},"builtin-types-builtin-typealias":{"patterns":[{"match":"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b","name":"support.type.swift"},{"match":"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b","name":"support.type.swift"}]},"code-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.swift"}},"patterns":[{"include":"$self"}]},"comments":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.swift"}},"match":"\\\\A^(#!).*$\\\\n?","name":"comment.line.number-sign.swift"},{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*:","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.documentation.playground.swift","patterns":[{"include":"#comments-nested"}]},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.swift"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.swift"}},"name":"comment.block.swift","patterns":[{"include":"#comments-nested"}]},{"match":"\\\\*/","name":"invalid.illegal.unexpected-end-of-block-comment.swift"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.swift"}},"end":"(?!\\\\G)","patterns":[{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.triple-slash.documentation.swift"},{"begin":"//:","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.documentation.swift"},{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.swift"}},"end":"$","name":"comment.line.double-slash.swift"}]}]},"comments-nested":{"begin":"/\\\\*","end":"\\\\*/","patterns":[{"include":"#comments-nested"}]},"compiler-control":{"patterns":[{"begin":"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)","beginCaptures":{"0":{"name":"meta.preprocessor.conditional.swift"},"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"name":"constant.language.boolean.swift"}},"contentName":"comment.block.preprocessor.swift","end":"(?=^\\\\s*(#(e(?:lseif|lse|ndif)))\\\\b)"},{"begin":"^\\\\s*(#)(if|elseif)\\\\s+","captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"}},"end":"(?=\\\\s*/[*/])|$","name":"meta.preprocessor.conditional.swift","patterns":[{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.logical.swift"},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.architecture.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"support.constant.platform.os.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))"},{"captures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"},"3":{"name":"entity.name.type.module.swift"},"4":{"name":"punctuation.definition.parameters.end.swift"}},"match":"\\\\b(canImport)\\\\s*(\\\\()([_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*)(\\\\))"},{"begin":"\\\\b(targetEnvironment)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":"\\\\b(simulator|UIKitForMac)\\\\b","name":"support.constant.platform.environment.swift"}]},{"begin":"\\\\b(swift|compiler)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.other.condition.swift"},"2":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))|$","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"match":">=|<","name":"keyword.operator.comparison.swift"},{"match":"\\\\b[0-9]+(?:\\\\.[0-9]+)*\\\\b","name":"constant.numeric.swift"}]}]},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.conditional.swift"},"3":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.conditional.swift"},{"captures":{"1":{"name":"punctuation.definition.preprocessor.swift"},"2":{"name":"keyword.control.import.preprocessor.sourcelocation.swift"},"4":{"name":"punctuation.definition.parameters.begin.swift"},"5":{"patterns":[{"begin":"(file)\\\\s*(:)\\\\s*(?=\\")","beginCaptures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#literals"}]},{"captures":{"1":{"name":"support.variable.parameter.swift"},"2":{"name":"punctuation.separator.key-value.swift"},"3":{"name":"constant.numeric.integer.swift"}},"match":"(line)\\\\s*(:)\\\\s*([0-9]+)"},{"match":",","name":"punctuation.separator.parameters.swift"},{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"6":{"name":"punctuation.definition.parameters.begin.swift"},"7":{"patterns":[{"match":"\\\\S+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"match":"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)","name":"meta.preprocessor.sourcelocation.swift"}]},"conditionals":{"patterns":[{"begin":"(?<!\\\\.)\\\\b(if|guard|switch|for)\\\\b","beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]}},"end":"(?=\\\\{)","patterns":[{"include":"#expressions-without-trailing-closures"}]},{"begin":"(?<!\\\\.)\\\\b(while)\\\\b","beginCaptures":{"1":{"patterns":[{"include":"#keywords"}]}},"end":"(?=\\\\{)|$","patterns":[{"include":"#expressions-without-trailing-closures"}]}]},"declarations":{"patterns":[{"include":"#declarations-function"},{"include":"#declarations-function-initializer"},{"include":"#declarations-function-subscript"},{"include":"#declarations-typed-variable-declaration"},{"include":"#declarations-import"},{"include":"#declarations-operator"},{"include":"#declarations-precedencegroup"},{"include":"#declarations-protocol"},{"include":"#declarations-type"},{"include":"#declarations-extension"},{"include":"#declarations-typealias"},{"include":"#declarations-macro"}]},"declarations-available-types":{"patterns":[{"include":"#comments"},{"include":"#builtin-types"},{"include":"#attributes"},{"match":"\\\\basync\\\\b","name":"storage.modifier.async.swift"},{"match":"\\\\b(?:|re)throws\\\\b","name":"storage.modifier.exception.swift"},{"match":"\\\\bsome\\\\b","name":"keyword.other.operator.type.opaque.swift"},{"match":"\\\\bany\\\\b","name":"keyword.other.operator.type.existential.swift"},{"match":"\\\\b(?:repeat|each)\\\\b","name":"keyword.control.loop.swift"},{"match":"\\\\b(?:inout|isolated|borrowing|consuming)\\\\b","name":"storage.modifier.swift"},{"match":"\\\\bSelf\\\\b","name":"variable.language.swift"},{"captures":{"1":{"name":"keyword.operator.type.function.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(->)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"match":"[!?]","name":"keyword.operator.type.optional.swift"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.function.variadic-parameter.swift"},{"match":"\\\\bprotocol\\\\b","name":"keyword.other.type.composition.swift"},{"match":"(?<=\\\\.)(?:Protocol|Type)\\\\b","name":"keyword.other.type.metatype.swift"},{"include":"#declarations-available-types-tuple-type"},{"include":"#declarations-available-types-collection-type"},{"include":"#declarations-generic-argument-clause"}]},"declarations-available-types-collection-type":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.collection-type.begin.swift"}},"end":"]|(?=[)>{}])","endCaptures":{"0":{"name":"punctuation.section.collection-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.swift"}},"end":"(?=[])>{}])","patterns":[{"match":":","name":"invalid.illegal.extra-colon-in-dictionary-type.swift"},{"include":"#declarations-available-types"}]}]},"declarations-available-types-tuple-type":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple-type.begin.swift"}},"end":"\\\\)|(?=[]>{}])","endCaptures":{"0":{"name":"punctuation.section.tuple-type.end.swift"}},"patterns":[{"include":"#declarations-available-types"}]},"declarations-extension":{"begin":"\\\\b(extension)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.swift","patterns":[{"include":"#declarations-available-types"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function":{"begin":"\\\\b(func)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})|$","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-initializer":{"begin":"(?<!\\\\.)\\\\b(init[!?]*)\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift","patterns":[{"match":"(?<=[!?])[!?]+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"end":"(?<=})|$","name":"meta.definition.function.initializer.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-function-result":{"begin":"(?<![-!%\\\\&*+./<=>^|~])(->)(?![-!%\\\\&*+./<=>^|~])\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}},"end":"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|[;=])|$","name":"meta.function-result.swift","patterns":[{"include":"#declarations-available-types"}]},"declarations-function-subscript":{"begin":"(?<!\\\\.)\\\\b(subscript)\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"}},"end":"(?<=})|$","name":"meta.definition.function.subscript.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.function.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.function.end.swift"}},"name":"meta.definition.function.body.swift","patterns":[{"include":"$self"}]}]},"declarations-generic-argument-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.begin.swift"}},"end":">|(?=[]){}])","endCaptures":{"0":{"name":"punctuation.separator.generic-argument-clause.end.swift"}},"name":"meta.generic-argument-clause.swift","patterns":[{"include":"#declarations-available-types"}]},"declarations-generic-parameter-clause":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.begin.swift"}},"end":">|(?=[^\\\\&,:<=>`\\\\w\\\\d\\\\s])","endCaptures":{"0":{"name":"punctuation.separator.generic-parameter-clause.end.swift"}},"name":"meta.generic-parameter-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause"},{"match":"\\\\beach\\\\b","name":"keyword.control.loop.swift"},{"captures":{"1":{"name":"variable.language.generic-parameter.swift"}},"match":"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b"},{"match":",","name":"punctuation.separator.generic-parameters.swift"},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.generic-parameter-constraint.swift"}},"end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.generic-parameter-constraint.swift","patterns":[{"begin":"\\\\G","end":"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"},{"include":"#declarations-type-operators"}]}]}]},"declarations-generic-where-clause":{"begin":"\\\\b(where)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.generic-constraint-introducer.swift"}},"end":"(?!\\\\G)$|(?=[\\\\n;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-where-clause-requirement-list"}]},"declarations-generic-where-clause-requirement-list":{"begin":"\\\\G|,\\\\s*","end":"(?=[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#comments"},{"include":"#constraint"},{"include":"#declarations-available-types"},{"begin":"(?<![-!%\\\\&*+./<=>^|~])(==)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.same-type.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.same-type-requirement.swift","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?<![-!%\\\\&*+./<=>^|~])(:)(?![-!%\\\\&*+./<=>^|~])","beginCaptures":{"1":{"name":"keyword.operator.generic-constraint.conforms-to.swift"}},"end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","name":"meta.generic-where-clause.conformance-requirement.swift","patterns":[{"begin":"\\\\G\\\\s*","contentName":"entity.other.inherited-class.swift","end":"(?=\\\\s*[\\\\n,;>{}]|//|/\\\\*)","patterns":[{"include":"#declarations-available-types"}]}]}]},"declarations-import":{"begin":"(?<!\\\\.)\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.swift"}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.import.swift","patterns":[{"begin":"\\\\G(?!;|$|//|/\\\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\\\s+)?","beginCaptures":{"1":{"name":"storage.modifier.swift"}},"end":"(?=;|$|//|/\\\\*)","patterns":[{"captures":{"1":{"name":"punctuation.definition.identifier.swift"},"2":{"name":"punctuation.definition.identifier.swift"}},"match":"(?<=\\\\G|\\\\.)(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)","name":"entity.name.type.swift"},{"match":"(?<=\\\\G|\\\\.)\\\\$[0-9]+","name":"entity.name.type.swift"},{"captures":{"1":{"patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"match":"(?<=\\\\G|\\\\.)(?:((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+))(?=[.;]|$|//|/\\\\*|\\\\s)","name":"entity.name.type.swift"},{"match":"\\\\.","name":"punctuation.separator.import.swift"},{"begin":"(?!\\\\s*(;|$|//|/\\\\*))","end":"(?=\\\\s*(;|$|//|/\\\\*))","name":"invalid.illegal.character-not-allowed-here.swift"}]}]},"declarations-inheritance-clause":{"begin":"(:)(?=\\\\s*\\\\{)|(:)\\\\s*","beginCaptures":{"1":{"name":"invalid.illegal.empty-inheritance-clause.swift"},"2":{"name":"punctuation.separator.inheritance-clause.swift"}},"end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-clause.swift","patterns":[{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"storage.type.class.swift"}},"end":"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-more-types"}]},{"begin":"\\\\G","end":"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]}]},"declarations-inheritance-clause-inherited-type":{"begin":"(?=[_`\\\\p{L}])","end":"(?!\\\\G)","name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-type-identifier"}]},"declarations-inheritance-clause-more-types":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)","name":"meta.inheritance-list.more-types","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause-inherited-type"},{"include":"#declarations-inheritance-clause-more-types"},{"include":"#declarations-type-operators"}]},"declarations-macro":{"begin":"\\\\b(macro)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=[(<=])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|[=}])","name":"meta.definition.macro.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"}]},"declarations-operator":{"begin":"(?:\\\\b((?:pre|in|post)fix)\\\\s+)?\\\\b(operator)\\\\s+(((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|\\\\.|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)++))\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"storage.type.function.operator.swift"},"3":{"name":"entity.name.function.operator.swift"},"4":{"name":"entity.name.function.operator.swift","patterns":[{"match":"\\\\.","name":"invalid.illegal.dot-not-allowed-here.swift"}]}},"end":"(;)|$\\\\n?|(?=/[*/])","endCaptures":{"1":{"name":"punctuation.terminator.statement.swift"}},"name":"meta.definition.operator.swift","patterns":[{"include":"#declarations-operator-swift2"},{"include":"#declarations-operator-swift3"},{"match":"((?!$|;|//|/\\\\*)\\\\S)+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"declarations-operator-swift2":{"begin":"\\\\G(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.operator.begin.swift"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.operator.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\s+(left|right)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.numeric.integer.swift"}},"match":"\\\\b(precedence)\\\\s+([0-9]+)\\\\b"},{"captures":{"1":{"name":"storage.modifier.swift"}},"match":"\\\\b(assignment)\\\\b"}]},"declarations-operator-swift3":{"captures":{"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\G(:)\\\\s*((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))"},"declarations-parameter-clause":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"(\\\\))(?:\\\\s*(async)\\\\b)?","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.swift"},"2":{"name":"storage.modifier.async.swift"}},"name":"meta.parameter-clause.swift","patterns":[{"include":"#declarations-parameter-list"}]},"declarations-parameter-list":{"patterns":[{"captures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"variable.parameter.function.swift"},"5":{"name":"punctuation.definition.identifier.swift"},"6":{"name":"punctuation.definition.identifier.swift"}},"match":"((?<q1>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\s+((?<q2>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q2>))(?=\\\\s*:)"},{"captures":{"1":{"name":"variable.parameter.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"(((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)))(?=\\\\s*:)"},{"begin":":\\\\s*(?!\\\\s)","end":"(?=[),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.swift"}},"end":"(?=[),])","patterns":[{"include":"#expressions"}]}]}]},"declarations-precedencegroup":{"begin":"\\\\b(precedencegroup)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.precedencegroup.swift"},"2":{"name":"entity.name.type.precedencegroup.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)","name":"meta.definition.precedencegroup.swift","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.precedencegroup.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.precedencegroup.end.swift"}},"patterns":[{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"entity.other.inherited-class.swift","patterns":[{"include":"#declarations-types-precedencegroup"}]},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"match":"\\\\b((?:high|low)erThan)\\\\s*:\\\\s*((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"keyword.other.operator.associativity.swift"}},"match":"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?"},{"captures":{"1":{"name":"storage.modifier.swift"},"2":{"name":"constant.language.boolean.swift"}},"match":"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?"}]}]},"declarations-protocol":{"begin":"\\\\b(protocol)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.protocol.swift","patterns":[{"include":"#comments"},{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-protocol-protocol-method"},{"include":"#declarations-protocol-protocol-initializer"},{"include":"#declarations-protocol-associated-type"},{"include":"$self"}]}]},"declarations-protocol-associated-type":{"begin":"\\\\b(associatedtype)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"variable.language.associatedtype.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=[;}]|$)","name":"meta.definition.associatedtype.swift","patterns":[{"include":"#declarations-inheritance-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-typealias-assignment"}]},"declarations-protocol-protocol-initializer":{"begin":"(?<!\\\\.)\\\\b(init[!?]*)\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift","patterns":[{"match":"(?<=[!?])[!?]+","name":"invalid.illegal.character-not-allowed-here.swift"}]}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.initializer.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-protocol-protocol-method":{"begin":"\\\\b(func)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=[(<])","beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.name.function.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"$|(?=;|//|/\\\\*|})","name":"meta.definition.function.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-parameter-clause"},{"include":"#declarations-function-result"},{"include":"#async-throws"},{"include":"#declarations-generic-where-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.function.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.function.end.swift"}},"name":"invalid.illegal.function-body-not-allowed-in-protocol.swift","patterns":[{"include":"$self"}]}]},"declarations-type":{"patterns":[{"begin":"\\\\b(class(?!\\\\s+(?:func|var|let)\\\\b)|struct|actor)\\\\b\\\\s*((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"$self"}]}]},{"include":"#declarations-type-enum"}]},"declarations-type-enum":{"begin":"\\\\b(enum)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","beginCaptures":{"1":{"name":"storage.type.$1.swift"},"2":{"name":"entity.name.type.$1.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?<=})","name":"meta.definition.type.$1.swift","patterns":[{"include":"#comments"},{"include":"#declarations-generic-parameter-clause"},{"include":"#declarations-generic-where-clause"},{"include":"#declarations-inheritance-clause"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.type.begin.swift"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.type.end.swift"}},"name":"meta.definition.type.body.swift","patterns":[{"include":"#declarations-type-enum-enum-case-clause"},{"include":"$self"}]}]},"declarations-type-enum-associated-values":{"begin":"\\\\G\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.swift"}},"patterns":[{"include":"#comments"},{"begin":"(?:(_)|((?<q1>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k<q1>))\\\\s+(((?<q2>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k<q2>))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"invalid.illegal.distinct-labels-not-allowed.swift"},"5":{"name":"variable.parameter.function.swift"},"7":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*\\\\k<q>))\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.function.swift"},"2":{"name":"variable.parameter.function.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#declarations-available-types"},{"match":":","name":"invalid.illegal.extra-colon-in-parameter-list.swift"}]}]},"declarations-type-enum-enum-case":{"begin":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"variable.other.enummember.swift"}},"end":"(?<=\\\\))|(?![(=])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-associated-values"},{"include":"#declarations-type-enum-raw-value-assignment"}]},"declarations-type-enum-enum-case-clause":{"begin":"\\\\b(case)\\\\b\\\\s*","beginCaptures":{"1":{"name":"storage.type.enum.case.swift"}},"end":"(?=[;}])|(?!\\\\G)(?!/[*/])(?=[^,\\\\s])","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-more-cases":{"begin":",\\\\s*","end":"(?!\\\\G)(?!/[*/])(?=[;}[^,\\\\s]])","name":"meta.enum-case.more-cases","patterns":[{"include":"#comments"},{"include":"#declarations-type-enum-enum-case"},{"include":"#declarations-type-enum-more-cases"}]},"declarations-type-enum-raw-value-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)","patterns":[{"include":"#comments"},{"include":"#literals"}]},"declarations-type-identifier":{"begin":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"meta.type-name.swift","patterns":[{"include":"#builtin-types"}]},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!<)","patterns":[{"begin":"(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-argument-clause"}]}]},"declarations-type-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.composition.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(&)(?![-!%\\\\&*+./<=>^|~])"},{"captures":{"1":{"name":"keyword.operator.type.requirement-suppression.swift"}},"match":"(?<![-!%\\\\&*+./<=>^|~])(~)(?![-!%\\\\&*+./<=>^|~])"}]},"declarations-typealias":{"begin":"\\\\b(typealias)\\\\s+((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*","beginCaptures":{"1":{"name":"keyword.other.declaration-specifier.swift"},"2":{"name":"entity.name.type.typealias.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.identifier.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","name":"meta.definition.typealias.swift","patterns":[{"begin":"\\\\G(?=<)","end":"(?!\\\\G)","patterns":[{"include":"#declarations-generic-parameter-clause"}]},{"include":"#declarations-typealias-assignment"}]},"declarations-typealias-assignment":{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.swift"}},"end":"(?!\\\\G)$|(?=;|//|/\\\\*|$)","patterns":[{"include":"#declarations-available-types"}]},"declarations-typed-variable-declaration":{"begin":"\\\\b(?:(async)\\\\s+)?(let|var)\\\\b\\\\s+(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>)\\\\s*:","beginCaptures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"end":"(?=$|[={])","patterns":[{"include":"#declarations-available-types"}]},"declarations-types-precedencegroup":{"patterns":[{"match":"\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\b","name":"support.type.swift"}]},"expressions":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#expressions-trailing-closure"},{"include":"#member-reference"}]},"expressions-trailing-closure":{"patterns":[{"captures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(#?(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))(?=\\\\s*\\\\{)","name":"meta.function-call.trailing-closure-only.swift"},{"captures":{"1":{"name":"support.function.any-method.trailing-closure-label.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"match":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)(?=\\\\s*\\\\{)"}]},"expressions-without-trailing-closures":{"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references"},{"include":"#member-references"}]},"expressions-without-trailing-closures-or-member-references":{"patterns":[{"include":"#comments"},{"include":"#code-block"},{"include":"#attributes"},{"include":"#expressions-without-trailing-closures-or-member-references-closure-parameter"},{"include":"#literals"},{"include":"#operators"},{"include":"#builtin-types"},{"include":"#builtin-functions"},{"include":"#builtin-global-functions"},{"include":"#builtin-properties"},{"include":"#expressions-without-trailing-closures-or-member-references-compound-name"},{"include":"#conditionals"},{"include":"#keywords"},{"include":"#expressions-without-trailing-closures-or-member-references-availability-condition"},{"include":"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-macro-expansion"},{"include":"#expressions-without-trailing-closures-or-member-references-subscript-expression"},{"include":"#expressions-without-trailing-closures-or-member-references-parenthesized-expression"},{"match":"\\\\b_\\\\b","name":"support.variable.discard-value.swift"}]},"expressions-without-trailing-closures-or-member-references-availability-condition":{"begin":"\\\\B(#(?:un)?available)(\\\\()","beginCaptures":{"1":{"name":"support.function.availability-condition.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"captures":{"1":{"name":"keyword.other.platform.os.swift"},"2":{"name":"constant.numeric.swift"}},"match":"\\\\s*\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b\\\\s+([0-9]+(?:\\\\.[0-9]+)*)\\\\b"},{"captures":{"1":{"name":"keyword.other.platform.all.swift"},"2":{"name":"invalid.illegal.character-not-allowed-here.swift"}},"match":"(\\\\*)\\\\s*(.*?)(?=[),])"},{"match":"[^),\\\\s]+","name":"invalid.illegal.character-not-allowed-here.swift"}]},"expressions-without-trailing-closures-or-member-references-closure-parameter":{"match":"\\\\$[0-9]+","name":"variable.language.closure-parameter.swift"},"expressions-without-trailing-closures-or-member-references-compound-name":{"captures":{"1":{"name":"entity.name.function.compound-name.swift"},"2":{"name":"punctuation.definition.entity.swift"},"3":{"name":"punctuation.definition.entity.swift"},"4":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.swift"},"2":{"name":"punctuation.definition.entity.swift"}},"match":"(?<q>`?)(?!_:)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>):","name":"entity.name.function.compound-name.swift"}]}},"match":"((?<q1>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\(((((?<q2>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q2>)):)+)\\\\)"},"expressions-without-trailing-closures-or-member-references-expression-element-list":{"patterns":[{"include":"#comments"},{"begin":"((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(:)","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"(?=[]),])","patterns":[{"include":"#expressions"}]},{"begin":"(?![]),])(?=\\\\S)","end":"(?=[]),])","patterns":[{"include":"#expressions"}]}]},"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression":{"patterns":[{"begin":"(#?(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.any-method.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"},"4":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},{"begin":"(?<=[])>_`}\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.function-call.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]}]},"expressions-without-trailing-closures-or-member-references-macro-expansion":{"match":"(#(?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))","name":"support.function.any-method.swift"},"expressions-without-trailing-closures-or-member-references-parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.tuple.begin.swift"}},"end":"(\\\\))\\\\s*((?:\\\\b(?:async|throws|rethrows)\\\\s)*)","endCaptures":{"1":{"name":"punctuation.section.tuple.end.swift"},"2":{"patterns":[{"match":"\\\\brethrows\\\\b","name":"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift"},{"include":"#async-throws"}]}},"patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"expressions-without-trailing-closures-or-member-references-subscript-expression":{"begin":"(?<=[_`\\\\p{L}\\\\p{N}\\\\p{M}])\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.swift"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"name":"meta.subscript-expression.swift","patterns":[{"include":"#expressions-without-trailing-closures-or-member-references-expression-element-list"}]},"keywords":{"patterns":[{"match":"(?<!\\\\.)\\\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\\\b","name":"keyword.control.branch.swift"},{"match":"(?<!\\\\.)\\\\b(?:continue|break|fallthrough|return)\\\\b","name":"keyword.control.transfer.swift"},{"match":"(?<!\\\\.)\\\\b(?:while|for|in|each)\\\\b","name":"keyword.control.loop.swift"},{"match":"\\\\bany\\\\b(?=\\\\s*`?[_\\\\p{L}])","name":"keyword.other.operator.type.existential.swift"},{"captures":{"1":{"name":"keyword.control.loop.swift"},"2":{"name":"punctuation.whitespace.trailing.repeat.swift"}},"match":"(?<!\\\\.)\\\\b(repeat)\\\\b(\\\\s*)"},{"match":"(?<!\\\\.)\\\\bdefer\\\\b","name":"keyword.control.defer.swift"},{"captures":{"1":{"name":"invalid.illegal.try-must-precede-await.swift"},"2":{"name":"keyword.control.await.swift"}},"match":"(?<!\\\\.)\\\\b(?:(await\\\\s+try)|(await))\\\\b"},{"match":"(?<!\\\\.)\\\\b(?:catch|throw|try)\\\\b|\\\\btry[!?]\\\\B","name":"keyword.control.exception.swift"},{"match":"(?<!\\\\.)\\\\b(?:|re)throws\\\\b","name":"storage.modifier.exception.swift"},{"captures":{"1":{"name":"keyword.control.exception.swift"},"2":{"name":"punctuation.whitespace.trailing.do.swift"}},"match":"(?<!\\\\.)\\\\b(do)\\\\b(\\\\s*)"},{"captures":{"1":{"name":"storage.modifier.async.swift"},"2":{"name":"keyword.other.declaration-specifier.swift"}},"match":"(?<!\\\\.)\\\\b(?:(async)\\\\s+)?(let|var)\\\\b"},{"match":"(?<!\\\\.)\\\\b(?:associatedtype|operator|typealias)\\\\b","name":"keyword.other.declaration-specifier.swift"},{"match":"(?<!\\\\.)\\\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\\\b(?=\\\\s*`?[_\\\\p{L}])","name":"storage.type.$1.swift"},{"match":"(?<!\\\\.)\\\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\\\b","name":"storage.modifier.swift"},{"match":"\\\\binit[!?]|\\\\binit\\\\b|(?<!\\\\.)\\\\b(?:func|deinit|subscript|didSet|get|set|willSet)\\\\b","name":"storage.type.function.swift"},{"match":"(?<!\\\\.)\\\\b(?:fileprivate|private|internal|public|open|package)\\\\b","name":"keyword.other.declaration-specifier.accessibility.swift"},{"match":"(?<!\\\\.)\\\\bunowned\\\\((?:|un)safe\\\\)|(?<!\\\\.)\\\\b(?:weak|unowned)\\\\b","name":"keyword.other.capture-specifier.swift"},{"captures":{"1":{"name":"keyword.other.type.swift"},"2":{"name":"keyword.other.type.metatype.swift"}},"match":"(?<=\\\\.)(?:(dynamicType|self)|(Protocol|Type))\\\\b"},{"match":"(?<!\\\\.)\\\\b(?:super|self|Self)\\\\b","name":"variable.language.swift"},{"match":"(?:\\\\B#(?:file|filePath|fileID|line|column|function|dsohandle)|\\\\b__(?:FILE|LINE|COLUMN|FUNCTION|DSO_HANDLE)__)\\\\b","name":"support.variable.swift"},{"match":"(?<!\\\\.)\\\\bimport\\\\b","name":"keyword.control.import.swift"},{"match":"(?<!\\\\.)\\\\bconsume(?=\\\\s+`?[_\\\\p{L}])","name":"keyword.control.consume.swift"},{"match":"(?<!\\\\.)\\\\bcopy(?=\\\\s+`?[_\\\\p{L}])","name":"keyword.control.copy.swift"}]},"literals":{"patterns":[{"include":"#literals-boolean"},{"include":"#literals-numeric"},{"include":"#literals-string"},{"match":"\\\\bnil\\\\b","name":"constant.language.nil.swift"},{"match":"\\\\B#((?:color|image|file)Literal)\\\\b","name":"support.function.object-literal.swift"},{"match":"\\\\B#externalMacro\\\\b","name":"support.function.builtin-macro.swift"},{"match":"\\\\B#keyPath\\\\b","name":"support.function.key-path.swift"},{"begin":"\\\\B(#selector)(\\\\()(?:\\\\s*([gs]etter)\\\\s*(:))?","beginCaptures":{"1":{"name":"support.function.selector-reference.swift"},"2":{"name":"punctuation.definition.arguments.begin.swift"},"3":{"name":"support.variable.parameter.swift"},"4":{"name":"punctuation.separator.argument-label.swift"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.swift"}},"patterns":[{"include":"#expressions"}]},{"include":"#literals-regular-expression-literal"}]},"literals-boolean":{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean.swift"},"literals-numeric":{"patterns":[{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)[0-9][0-9_]*(?=\\\\.[0-9]|[Ee])(?:\\\\.[0-9][0-9_]*)?(?:[Ee][-+]?[0-9][0-9_]*)?\\\\b(?!\\\\.[0-9])","name":"constant.numeric.float.decimal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)(0x\\\\h[_\\\\h]*)(?:\\\\.\\\\h[_\\\\h]*)?[Pp][-+]?[0-9][0-9_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.float.hexadecimal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)(0x\\\\h[_\\\\h]*)(?:\\\\.\\\\h[_\\\\h]*)?[Pp][-+]?\\\\w*\\\\b(?!\\\\.[0-9])","name":"invalid.illegal.numeric.float.invalid-exponent.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)(0x\\\\h[_\\\\h]*)\\\\.[0-9][.\\\\w]*","name":"invalid.illegal.numeric.float.missing-exponent.swift"},{"match":"(?<=\\\\s|^)-?\\\\.[0-9][.\\\\w]*","name":"invalid.illegal.numeric.float.missing-leading-zero.swift"},{"match":"(\\\\B-|\\\\b)0[box]_[_\\\\h]*(?:[EPep][-+]?\\\\w+)?[.\\\\w]+","name":"invalid.illegal.numeric.leading-underscore.swift"},{"match":"(?<=[]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)[0-9]+\\\\b"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)0b[01][01_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.binary.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)0o[0-7][0-7_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.octal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)[0-9][0-9_]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.decimal.swift"},{"match":"(\\\\B-|\\\\b)(?<![]()\\\\[_{}\\\\p{L}\\\\p{N}\\\\p{M}]\\\\.)0x\\\\h[_\\\\h]*\\\\b(?!\\\\.[0-9])","name":"constant.numeric.integer.hexadecimal.swift"},{"match":"(\\\\B-|\\\\b)[0-9][.\\\\w]*","name":"invalid.illegal.numeric.other.swift"}]},"literals-regular-expression-literal":{"patterns":[{"begin":"(#+)/\\\\n","end":"/\\\\1","name":"string.regexp.block.swift","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"},{"include":"#literals-regular-expression-literal-line-comment"}]},{"captures":{"0":{"patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},"1":{"name":"punctuation.definition.string.begin.regexp.swift"},"8":{"name":"punctuation.definition.string.end.regexp.swift"},"9":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"match":"(?x)\\n(?!/\\\\s) # non-extended regex literals may not start with a space or tab\\n(?!//) # disambiguation with line comments (redundant since comment rules occur earlier)\\n(((\\\\#+)?)/) # (1) for captures, (2) for matching end, (3) for conditionals\\n(\\\\\\\\\\\\s)? # (4) may start with an escaped space or tab\\n(?<guts>\\n (?> # no backtracking, avoids issues with negative lookbehind at end\\n (?:\\n \\\\\\\\Q\\n (?:(?!\\\\\\\\E)(?!/\\\\2).)*+\\n (?:\\\\\\\\E\\n # A quoted sequence may not have a closing E, in which case it extends to the end of the regex\\n | (?(3)|(?<!\\\\s))(?=/\\\\2)\\n )\\n | \\\\\\\\.\\n | \\\\(\\\\?\\\\#[^)]*\\\\)\\n | \\\\(\\\\?\\n # InterpolatedCallout\\n (?>(\\\\{(?:\\\\g<-1>|(?!{).*?)\\\\}))\\n (?:\\\\[(?!\\\\d)\\\\w+\\\\])?\\n [X<>]?\\n \\\\)\\n | (?<class>\\\\[ (?:\\\\\\\\. | [^\\\\[\\\\]] | \\\\g<class>)+ \\\\])\\n | \\\\(\\\\g<guts>?+\\\\)\\n | (?:(?!/\\\\2)[^()\\\\[\\\\\\\\])+ # any character (until end)\\n )+\\n )\\n)?+\\n# may end with a space only if it is an extended literal or contains only a single escaped space\\n(?(3)|(?(5)(?<!\\\\s)))\\n(/\\\\2) # (12)\\n| \\\\#+/.+(\\\\n)","name":"string.regexp.line.swift"}]},"literals-regular-expression-literal-backreference-or-subpattern":{"patterns":[{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\g\\\\{)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(})"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"}},"match":"(\\\\\\\\g)([-+]?\\\\d+)(?:([-+])(\\\\d+))?"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]<)(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(>)"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.numeric.integer.decimal.regexp"},"6":{"name":"keyword.operator.recursion-level.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\[gk]\')(?:((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?|([-+]?\\\\d+)(?:([-+])(\\\\d+))?)(\')"},{"captures":{"1":{"name":"constant.character.escape.backslash.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"constant.character.escape.backslash.regexp"}},"match":"(\\\\\\\\k\\\\{)((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(})"},{"match":"\\\\\\\\[1-9][0-9]+","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"variable.other.group-name.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?(?:P[=>]|&))((?!\\\\d)\\\\w+)(?:([-+])(\\\\d+))?(\\\\))"},{"match":"\\\\(\\\\?R\\\\)","name":"keyword.other.back-reference.regexp"},{"captures":{"1":{"name":"keyword.other.back-reference.regexp"},"2":{"name":"constant.numeric.integer.decimal.regexp"},"3":{"name":"keyword.operator.recursion-level.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.other.back-reference.regexp"}},"match":"(\\\\(\\\\?)([-+]?\\\\d+)(?:([-+])(\\\\d+))?(\\\\))"}]},"literals-regular-expression-literal-backtracking-directive-or-global-matching-option":{"captures":{"1":{"name":"keyword.control.directive.regexp"},"2":{"name":"keyword.control.directive.regexp"},"3":{"name":"keyword.control.directive.regexp"},"4":{"name":"variable.language.tag.regexp"},"5":{"name":"keyword.control.directive.regexp"},"6":{"name":"keyword.operator.assignment.regexp"},"7":{"name":"constant.numeric.integer.decimal.regexp"},"8":{"name":"keyword.control.directive.regexp"},"9":{"name":"keyword.control.directive.regexp"}},"match":"(\\\\(\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\))"},"literals-regular-expression-literal-callout":{"captures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.callout.regexp"},"3":{"name":"constant.numeric.integer.decimal.regexp"},"4":{"name":"entity.name.function.callout.regexp"},"5":{"name":"entity.name.function.callout.regexp"},"6":{"name":"entity.name.function.callout.regexp"},"7":{"name":"entity.name.function.callout.regexp"},"8":{"name":"entity.name.function.callout.regexp"},"9":{"name":"entity.name.function.callout.regexp"},"10":{"name":"entity.name.function.callout.regexp"},"11":{"name":"entity.name.function.callout.regexp"},"12":{"name":"punctuation.definition.group.regexp"},"13":{"name":"punctuation.definition.group.regexp"},"14":{"name":"keyword.control.callout.regexp"},"15":{"name":"entity.name.function.callout.regexp"},"16":{"name":"variable.language.tag-name.regexp"},"17":{"name":"punctuation.definition.group.regexp"},"18":{"name":"punctuation.definition.group.regexp"},"19":{"name":"keyword.control.callout.regexp"},"21":{"name":"variable.language.tag-name.regexp"},"22":{"name":"keyword.control.callout.regexp"},"23":{"name":"punctuation.definition.group.regexp"}},"match":"(\\\\()(?<keyw>\\\\?C)(?:(?<num>\\\\d+)|`(?<name>(?:[^`]|``)*)`|\'(?<name>(?:[^\']|\'\')*)\'|\\"(?<name>(?:[^\\"]|\\"\\")*)\\"|\\\\^(?<name>(?:[^^]|\\\\^\\\\^)*)\\\\^|%(?<name>(?:[^%]|%%)*)%|#(?<name>(?:[^#]|##)*)#|\\\\$(?<name>(?:[^$]|\\\\$\\\\$)*)\\\\$|\\\\{(?<name>(?:[^}]|}})*)})?(\\\\))|(\\\\()(?<keyw>\\\\*)(?<name>(?!\\\\d)\\\\w+)(?:\\\\[(?<tag>(?!\\\\d)\\\\w+)])?(?:\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\))|(\\\\()(?<keyw>\\\\?)(?>(\\\\{(?:\\\\g<20>|(?!\\\\{).*?)}))(?:\\\\[(?<tag>(?!\\\\d)\\\\w+)])?(?<keyw>[<>X]?)(\\\\))","name":"meta.callout.regexp"},"literals-regular-expression-literal-character-properties":{"captures":{"1":{"name":"support.variable.character-property.regexp"},"2":{"name":"punctuation.definition.character-class.regexp"},"3":{"name":"support.variable.character-property.regexp"},"4":{"name":"punctuation.definition.character-class.regexp"}},"match":"\\\\\\\\[Pp]\\\\{([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)}|(\\\\[:)([-\\\\s\\\\w]+(?:=[-\\\\s\\\\w]+)?)(:])","name":"constant.other.character-class.set.regexp"},"literals-regular-expression-literal-custom-char-class":{"patterns":[{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"include":"#literals-regular-expression-literal-custom-char-class-members"}]}]},"literals-regular-expression-literal-custom-char-class-members":{"patterns":[{"match":"\\\\\\\\b","name":"constant.character.escape.backslash.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-quote"},{"include":"#literals-regular-expression-literal-set-operators"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"}]},"literals-regular-expression-literal-group-option-toggle":{"match":"\\\\(\\\\?(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*)\\\\)","name":"keyword.other.option-toggle.regexp"},"literals-regular-expression-literal-group-or-conditional":{"patterns":[{"begin":"(\\\\()(\\\\?~)","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.absent.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.absent.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()(?<cond>\\\\?\\\\()(?:(?<NumberRef>(?<num>[-+]?\\\\d+)(?:(?<op>[-+])(?<num>\\\\d+))?)|(?<cond>R)\\\\g<NumberRef>?|(?<cond>R&)(?<NamedRef>(?<name>(?!\\\\d)\\\\w+)(?:(?<op>[-+])(?<num>\\\\d+))?)|(?<cond><)(?:\\\\g<NamedRef>|\\\\g<NumberRef>)(?<cond>>)|(?<cond>\')(?:\\\\g<NamedRef>|\\\\g<NumberRef>)(?<cond>\')|(?<cond>DEFINE)|(?<cond>VERSION)(?<compar>>?=)(?<num>\\\\d+\\\\.\\\\d+))(?<cond>\\\\))|(\\\\()(?<cond>\\\\?)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.control.conditional.regexp"},"4":{"name":"constant.numeric.integer.decimal.regexp"},"5":{"name":"keyword.operator.recursion-level.regexp"},"6":{"name":"constant.numeric.integer.decimal.regexp"},"7":{"name":"keyword.control.conditional.regexp"},"8":{"name":"keyword.control.conditional.regexp"},"10":{"name":"variable.other.group-name.regexp"},"11":{"name":"keyword.operator.recursion-level.regexp"},"12":{"name":"constant.numeric.integer.decimal.regexp"},"13":{"name":"keyword.control.conditional.regexp"},"14":{"name":"keyword.control.conditional.regexp"},"15":{"name":"keyword.control.conditional.regexp"},"16":{"name":"keyword.control.conditional.regexp"},"17":{"name":"keyword.control.conditional.regexp"},"18":{"name":"keyword.control.conditional.regexp"},"19":{"name":"keyword.operator.comparison.regexp"},"20":{"name":"constant.numeric.integer.decimal.regexp"},"21":{"name":"keyword.control.conditional.regexp"},"22":{"name":"punctuation.definition.group.regexp"},"23":{"name":"keyword.control.conditional.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.conditional.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]},{"begin":"(\\\\()((\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)>|\'(?:((?!\\\\d)\\\\w+)(-))?((?!\\\\d)\\\\w+)\'|(?:\\\\^(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\{[gw]})*):)|\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"keyword.other.group-options.regexp"},"3":{"name":"punctuation.definition.group.regexp"},"4":{"name":"punctuation.definition.group.regexp"},"5":{"name":"variable.other.group-name.regexp"},"6":{"name":"keyword.operator.balancing-group.regexp"},"7":{"name":"variable.other.group-name.regexp"},"8":{"name":"variable.other.group-name.regexp"},"9":{"name":"keyword.operator.balancing-group.regexp"},"10":{"name":"variable.other.group-name.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#literals-regular-expression-literal-regex-guts"}]}]},"literals-regular-expression-literal-line-comment":{"captures":{"1":{"name":"punctuation.definition.comment.regexp"}},"match":"(#).*$","name":"comment.line.regexp"},"literals-regular-expression-literal-quote":{"begin":"\\\\\\\\Q","beginCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"}},"end":"\\\\\\\\E|(\\\\n)","endCaptures":{"0":{"name":"constant.character.escape.backslash.regexp"},"1":{"name":"invalid.illegal.returns-not-allowed.regexp"}},"name":"string.quoted.other.regexp.swift"},"literals-regular-expression-literal-regex-guts":{"patterns":[{"include":"#literals-regular-expression-literal-quote"},{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.regexp"}},"name":"comment.block.regexp"},{"begin":"<\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.regexp"}},"end":"}>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.regexp"}},"name":"meta.embedded.expression.regexp"},{"include":"#literals-regular-expression-literal-unicode-scalars"},{"include":"#literals-regular-expression-literal-character-properties"},{"match":"[$^]|\\\\\\\\[ABGYZbyz]|\\\\\\\\K","name":"keyword.control.anchor.regexp"},{"include":"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option"},{"include":"#literals-regular-expression-literal-callout"},{"include":"#literals-regular-expression-literal-backreference-or-subpattern"},{"match":"\\\\.|\\\\\\\\[CDHNORSVWXdhsvw]","name":"constant.character.character-class.regexp"},{"match":"\\\\\\\\c.","name":"constant.character.entity.control-character.regexp"},{"match":"\\\\\\\\[^c]","name":"constant.character.escape.backslash.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"match":"[*+?]","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\{(?:\\\\s*\\\\d+\\\\s*(?:,\\\\s*\\\\d*\\\\s*)?}|\\\\s*,\\\\s*\\\\d+\\\\s*})","name":"keyword.operator.quantifier.regexp"},{"include":"#literals-regular-expression-literal-custom-char-class"},{"include":"#literals-regular-expression-literal-group-option-toggle"},{"include":"#literals-regular-expression-literal-group-or-conditional"}]},"literals-regular-expression-literal-set-operators":{"patterns":[{"match":"&&","name":"keyword.operator.intersection.regexp.swift"},{"match":"--","name":"keyword.operator.subtraction.regexp.swift"},{"match":"~~","name":"keyword.operator.symmetric-difference.regexp.swift"}]},"literals-regular-expression-literal-unicode-scalars":{"match":"\\\\\\\\(?:u\\\\{\\\\s*(?:\\\\h+\\\\s*)+}|u\\\\h{4}|x\\\\{\\\\h+}|x\\\\h{0,2}|U\\\\h{8}|o\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\{(?:U\\\\+\\\\h{1,8}|[-\\\\s\\\\w]+)})","name":"constant.character.numeric.regexp"},"literals-string":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-string-guts"},{"match":"\\\\S((?!\\\\\\\\\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"#\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"},{"match":"\\\\\\\\#\\\\s*\\\\n","name":"constant.character.escape.newline.swift"},{"include":"#literals-string-raw-string-guts"},{"match":"\\\\S((?!\\\\\\\\#\\\\().)*(?=\\"\\"\\")","name":"invalid.illegal.content-before-closing-delimiter.swift"}]},{"begin":"(##+)\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"\\"\\"\\\\1(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.block.raw.swift","patterns":[{"match":"\\\\G(?:.+(?=\\"\\"\\")|.+)","name":"invalid.illegal.content-after-opening-delimiter.swift"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.swift"}},"end":"\\"(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.swift","patterns":[{"match":"[\\\\n\\\\r]","name":"invalid.illegal.returns-not-allowed.swift"},{"include":"#literals-string-string-guts"}]},{"begin":"(##+)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raw.swift"}},"end":"\\"\\\\1(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.raw.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.raw.swift","patterns":[{"match":"[\\\\n\\\\r]","name":"invalid.illegal.returns-not-allowed.swift"}]},{"begin":"#\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.raw.swift"}},"end":"\\"#(#*)","endCaptures":{"0":{"name":"punctuation.definition.string.end.raw.swift"},"1":{"name":"invalid.illegal.extra-closing-delimiter.swift"}},"name":"string.quoted.double.single-line.raw.swift","patterns":[{"match":"[\\\\n\\\\r]","name":"invalid.illegal.returns-not-allowed.swift"},{"include":"#literals-string-raw-string-guts"}]}]},"literals-string-raw-string-guts":{"patterns":[{"match":"\\\\\\\\#[\\"\'0\\\\\\\\nrt]","name":"constant.character.escape.swift"},{"match":"\\\\\\\\#u\\\\{\\\\h{1,8}}","name":"constant.character.escape.unicode.swift"},{"begin":"\\\\\\\\#\\\\(","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.swift"}},"contentName":"source.swift","end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.section.embedded.end.swift"},"1":{"name":"source.swift"}},"name":"meta.embedded.line.swift","patterns":[{"include":"$self"},{"begin":"\\\\(","end":"\\\\)"}]},{"match":"\\\\\\\\#.","name":"invalid.illegal.escape-not-recognized"}]},"literals-string-string-guts":{"patterns":[{"match":"\\\\\\\\[\\"\'0\\\\\\\\nrt]","name":"constant.character.escape.swift"},{"match":"\\\\\\\\u\\\\{\\\\h{1,8}}","name":"constant.character.escape.unicode.swift"},{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.swift"}},"contentName":"source.swift","end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.section.embedded.end.swift"},"1":{"name":"source.swift"}},"name":"meta.embedded.line.swift","patterns":[{"include":"$self"},{"begin":"\\\\(","end":"\\\\)"}]},{"match":"\\\\\\\\.","name":"invalid.illegal.escape-not-recognized"}]},"member-reference":{"patterns":[{"captures":{"1":{"name":"variable.other.swift"},"2":{"name":"punctuation.definition.identifier.swift"},"3":{"name":"punctuation.definition.identifier.swift"}},"match":"(?<=\\\\.)((?<q>`?)[_\\\\p{L}][_\\\\p{L}\\\\p{N}\\\\p{M}]*(\\\\k<q>))"}]},"operators":{"patterns":[{"match":"\\\\b(is\\\\b|as([!?]\\\\B|\\\\b))","name":"keyword.operator.type-casting.swift"},{"begin":"(?=(?<oph>[-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])|\\\\.(\\\\g<oph>|[.̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))","end":"(?!\\\\G)","patterns":[{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G([-+])$","name":"keyword.operator.arithmetic.unary.swift"},{"match":"\\\\G!$","name":"keyword.operator.logical.not.swift"},{"match":"\\\\G~$","name":"keyword.operator.bitwise.not.swift"},{"match":".+","name":"keyword.operator.custom.prefix.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G(\\\\+\\\\+|--)$","name":"keyword.operator.increment-or-decrement.swift"},{"match":"\\\\G!$","name":"keyword.operator.increment-or-decrement.swift"},{"match":".+","name":"keyword.operator.custom.postfix.swift"}]}},"match":"\\\\G(?<!^|[(,:;\\\\[{\\\\s])((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?=[]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G=$","name":"keyword.operator.assignment.swift"},{"match":"\\\\G([-%*+/]|<<|>>|[\\\\&^|]|&&|\\\\|\\\\|)=$","name":"keyword.operator.assignment.compound.swift"},{"match":"\\\\G([-*+/])$","name":"keyword.operator.arithmetic.swift"},{"match":"\\\\G&([-*+])$","name":"keyword.operator.arithmetic.overflow.swift"},{"match":"\\\\G%$","name":"keyword.operator.arithmetic.remainder.swift"},{"match":"\\\\G(==|!=|[<>]|>=|<=|~=)$","name":"keyword.operator.comparison.swift"},{"match":"\\\\G\\\\?\\\\?$","name":"keyword.operator.coalescing.swift"},{"match":"\\\\G(&&|\\\\|\\\\|)$","name":"keyword.operator.logical.swift"},{"match":"\\\\G([\\\\&^|]|<<|>>)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G([!=]==)$","name":"keyword.operator.bitwise.swift"},{"match":"\\\\G\\\\?$","name":"keyword.operator.ternary.swift"},{"match":".+","name":"keyword.operator.custom.infix.swift"}]}},"match":"\\\\G((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.prefix.dot.swift"}]}},"match":"\\\\G(?<=^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?![]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":".+","name":"keyword.operator.custom.postfix.dot.swift"}]}},"match":"\\\\G(?<!^|[(,:;\\\\[{\\\\s])\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++(?=[]),:;}\\\\s]|\\\\z)"},{"captures":{"0":{"patterns":[{"match":"\\\\G\\\\.\\\\.[.<]$","name":"keyword.operator.range.swift"},{"match":".+","name":"keyword.operator.custom.infix.dot.swift"}]}},"match":"\\\\G\\\\.((?!(//|/\\\\*|\\\\*/))([-!%\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\x{E0100}-\\\\x{E01EF}]))++"}]},{"match":":","name":"keyword.operator.ternary.swift"}]},"root":{"patterns":[{"include":"#compiler-control"},{"include":"#declarations"},{"include":"#expressions"}]}},"scopeName":"source.swift"}', + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-fve9TYiY.js.map diff --git a/src/webview-ui/build/assets/chunk-fve9TYiY.js.map b/src/webview-ui/build/assets/chunk-fve9TYiY.js.map new file mode 100644 index 0000000000..943cb7fdbb --- /dev/null +++ b/src/webview-ui/build/assets/chunk-fve9TYiY.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-fve9TYiY.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/swift.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Swift\\\",\\\"fileTypes\\\":[\\\"swift\\\"],\\\"firstLineMatch\\\":\\\"^#!/.*\\\\\\\\bswift\\\",\\\"name\\\":\\\"swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#root\\\"}],\\\"repository\\\":{\\\"async-throws\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.await-must-precede-throws.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.exception.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:((?:throws\\\\\\\\s+|rethrows\\\\\\\\s+)async)|((?:|re)throws)|(async))\\\\\\\\b\\\"},\\\"attributes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((@)available)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.attribute.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.attribute.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"name\\\":\\\"meta.attribute.available.swift\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.platform.os.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\\\\\b(?:\\\\\\\\s+([0-9]+(?:\\\\\\\\.[0-9]+)*)\\\\\\\\b)?\\\"},{\\\"begin\\\":\\\"\\\\\\\\b((?:introduc|deprecat|obsolet)ed)\\\\\\\\s*(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[0-9]+(?:\\\\\\\\.[0-9]+)*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.swift\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(message|renamed)\\\\\\\\s*(:)\\\\\\\\s*(?=\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.platform.all.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\*)|\\\\\\\\b(deprecated|unavailable|noasync)\\\\\\\\b)\\\\\\\\s*(.*?)(?=[),])\\\"}]},{\\\"begin\\\":\\\"((@)objc)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.attribute.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.attribute.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"name\\\":\\\"meta.attribute.objc.swift\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.missing-colon-after-selector-piece.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\w*(?::(?:\\\\\\\\w*:)*(\\\\\\\\w*))?\\\",\\\"name\\\":\\\"entity.name.function.swift\\\"}]},{\\\"begin\\\":\\\"(@)(?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.attribute.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.attribute.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G\\\\\\\\()\\\",\\\"name\\\":\\\"meta.attribute.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"name\\\":\\\"meta.arguments.attribute.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]}]}]},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a[px]))(?=\\\\\\\\s*[({])\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:|OrPinned)Reference|as(?:Suf|Pre)fix)|ne(?:gated?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:R|Unr)etainedValue|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:R|Unr)etained|re(?:decessor|fix))|e(?:scaped?|n(?:code|umerated?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:(?:Backward|)From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:(?:R|Subr)ange)?|versed?|quest(?:Native|UniqueMutableBacking)Buffer|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.swift\\\"}]},\\\"builtin-global-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(type)(\\\\\\\\()\\\\\\\\s*(of)(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.dynamic-type.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.parameter.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},{\\\"match\\\":\\\"\\\\\\\\ba(?:nyGenerator|utoreleasepool)(?=\\\\\\\\s*[({])\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:Mutable|)Pointer|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:Mutable|)Pointers|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.swift\\\"}]},\\\"builtin-properties\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=(?:^|\\\\\\\\W)(?:Process\\\\\\\\.|CommandLine\\\\\\\\.))(arguments|argc|unsafeArgv)\\\",\\\"name\\\":\\\"support.variable.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:|bugDe)scription|u(?:n(?:safelyUnwrapped|icodeScalars?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|values?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzero|rmal)Magnitude|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.swift\\\"}]},\\\"builtin-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-types-builtin-class-type\\\"},{\\\"include\\\":\\\"#builtin-types-builtin-enum-type\\\"},{\\\"include\\\":\\\"#builtin-types-builtin-protocol-type\\\"},{\\\"include\\\":\\\"#builtin-types-builtin-struct-type\\\"},{\\\"include\\\":\\\"#builtin-types-builtin-typealias\\\"},{\\\"match\\\":\\\"\\\\\\\\bAny\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.any.swift\\\"}]},\\\"builtin-types-builtin-class-type\\\":{\\\"match\\\":\\\"\\\\\\\\b(Managed((?:|Proto)Buffer)|NonObjectiveCBase|AnyGenerator)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.swift\\\"},\\\"builtin-types-builtin-enum-type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:CommandLine|Process(?=\\\\\\\\.))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\bNever\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.never.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:MirrorDisposition|QuickLookObject)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"}]},\\\"builtin-types-builtin-protocol-type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ide|eam)able|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflecta|StringConverti|DebugStringConverti|PlaygroundQuickLooka|LeafReflecta)ble|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:Sequence|Collection)Protocol)|A(?:nyObject|bsoluteValuable))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:Ran(?:domAccessIndex|geReplaceableCollection)Type|GeneratorType|M(?:irror(?:|Path)Type|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperations|directionalIndex)Type|oolean(?:Type|LiteralConvertible))|S(?:tring(?:Interpolation|Literal)Convertible|i(?:nk|gned(?:Numb|Integ)er)Type|e(?:tAlgebra|quence)Type|liceable)|NilLiteralConvertible|C(?:ollection|VarArg)Type|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStream|ptionSet)Type|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"}]},\\\"builtin-types-builtin-struct-type\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccess|Bidirectional|)Slice|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccess|geReplaceable(?:RandomAccess|Bidirectional|))|Bidirectional|)Slice|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:(?:Gen|It)erator)?|o(?:(?:Gen|It)erator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:|Closed)Range|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Gen|It)erator)?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccess|Bidirectional|)Indices)|U(?:n(?:safe(?:RawPointer|Mutable(?:Raw|Buffer|)Pointer|BufferPointer(?:(?:Gen|It)erator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"}]},\\\"builtin-types-builtin-typealias\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam[12]))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lements?|x(?:tendedGraphemeCluster(?:|Literal)Type|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"}]},\\\"code-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\A^(#!).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.swift\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.swift\\\"}},\\\"name\\\":\\\"comment.block.documentation.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-nested\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.swift\\\"}},\\\"name\\\":\\\"comment.block.documentation.playground.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-nested\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.swift\\\"}},\\\"name\\\":\\\"comment.block.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-nested\\\"}]},{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-end-of-block-comment.swift\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"///\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.swift\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.triple-slash.documentation.swift\\\"},{\\\"begin\\\":\\\"//:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.swift\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.documentation.swift\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.swift\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.swift\\\"}]}]},\\\"comments-nested\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-nested\\\"}]},\\\"compiler-control\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#)(if|elseif)\\\\\\\\s+(false)\\\\\\\\b.*?(?=$|//|/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.conditional.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.preprocessor.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.preprocessor.conditional.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.boolean.swift\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.swift\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*(#(e(?:lseif|lse|ndif)))\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(#)(if|elseif)\\\\\\\\s+\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.preprocessor.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.preprocessor.conditional.swift\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*/[*/])|$\\\",\\\"name\\\":\\\"meta.preprocessor.conditional.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(&&|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.logical.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.condition.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.platform.architecture.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(arch)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\\\\\w+)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.condition.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.platform.os.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(os)\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\\\\\w+)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.condition.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.module.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(canImport)\\\\\\\\s*(\\\\\\\\()([_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*)(\\\\\\\\))\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(targetEnvironment)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.condition.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(simulator|UIKitForMac)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.platform.environment.swift\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(swift|compiler)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.condition.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\">=|<\\\",\\\"name\\\":\\\"keyword.operator.comparison.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+(?:\\\\\\\\.[0-9]+)*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.swift\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.preprocessor.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.preprocessor.conditional.swift\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(#)(e(?:lse|ndif))(.*?)(?=$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.preprocessor.conditional.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.preprocessor.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.preprocessor.sourcelocation.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(file)\\\\\\\\s*(:)\\\\\\\\s*(?=\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.variable.parameter.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.variable.parameter.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.swift\\\"}},\\\"match\\\":\\\"(line)\\\\\\\\s*(:)\\\\\\\\s*([0-9]+)\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]}},\\\"match\\\":\\\"^\\\\\\\\s*(#)(sourceLocation)((\\\\\\\\()([^)]*)(\\\\\\\\)))(.*?)(?=$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.preprocessor.sourcelocation.swift\\\"}]},\\\"conditionals\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(if|guard|switch|for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures\\\"}]},{\\\"begin\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(while)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keywords\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\{)|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures\\\"}]}]},\\\"declarations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-function\\\"},{\\\"include\\\":\\\"#declarations-function-initializer\\\"},{\\\"include\\\":\\\"#declarations-function-subscript\\\"},{\\\"include\\\":\\\"#declarations-typed-variable-declaration\\\"},{\\\"include\\\":\\\"#declarations-import\\\"},{\\\"include\\\":\\\"#declarations-operator\\\"},{\\\"include\\\":\\\"#declarations-precedencegroup\\\"},{\\\"include\\\":\\\"#declarations-protocol\\\"},{\\\"include\\\":\\\"#declarations-type\\\"},{\\\"include\\\":\\\"#declarations-extension\\\"},{\\\"include\\\":\\\"#declarations-typealias\\\"},{\\\"include\\\":\\\"#declarations-macro\\\"}]},\\\"declarations-available-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#builtin-types\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"match\\\":\\\"\\\\\\\\basync\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.async.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:|re)throws\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.exception.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\bsome\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.operator.type.opaque.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\bany\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.operator.type.existential.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:repeat|each)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.loop.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:inout|isolated|borrowing|consuming)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\bSelf\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.function.swift\\\"}},\\\"match\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(->)(?![-!%\\\\\\\\&*+./<=>^|~])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.composition.swift\\\"}},\\\"match\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(&)(?![-!%\\\\\\\\&*+./<=>^|~])\\\"},{\\\"match\\\":\\\"[!?]\\\",\\\"name\\\":\\\"keyword.operator.type.optional.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.function.variadic-parameter.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\bprotocol\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.composition.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:Protocol|Type)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.metatype.swift\\\"},{\\\"include\\\":\\\"#declarations-available-types-tuple-type\\\"},{\\\"include\\\":\\\"#declarations-available-types-collection-type\\\"},{\\\"include\\\":\\\"#declarations-generic-argument-clause\\\"}]},\\\"declarations-available-types-collection-type\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.collection-type.begin.swift\\\"}},\\\"end\\\":\\\"]|(?=[)>{}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.collection-type.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.swift\\\"}},\\\"end\\\":\\\"(?=[])>{}])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"invalid.illegal.extra-colon-in-dictionary-type.swift\\\"},{\\\"include\\\":\\\"#declarations-available-types\\\"}]}]},\\\"declarations-available-types-tuple-type\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tuple-type.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=[]>{}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tuple-type.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},\\\"declarations-extension\\\":{\\\"begin\\\":\\\"\\\\\\\\b(extension)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.definition.type.$1.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.type.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(func)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>)|(?:((?<oph>[-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))*)|(\\\\\\\\.(\\\\\\\\g<oph>|\\\\\\\\g<opc>|\\\\\\\\.)+)))\\\\\\\\s*(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?<=})|$\\\",\\\"name\\\":\\\"meta.definition.function.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-function-result\\\"},{\\\"include\\\":\\\"#async-throws\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.swift\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.function.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-function-initializer\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(init[!?]*)\\\\\\\\s*(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!?])[!?]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]}},\\\"end\\\":\\\"(?<=})|$\\\",\\\"name\\\":\\\"meta.definition.function.initializer.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-parameter-clause\\\"},{\\\"include\\\":\\\"#async-throws\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.swift\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.function.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-function-result\\\":{\\\"begin\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(->)(?![-!%\\\\\\\\&*+./<=>^|~])\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.function-result.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(?=\\\\\\\\{|\\\\\\\\bwhere\\\\\\\\b|[;=])|$\\\",\\\"name\\\":\\\"meta.function-result.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},\\\"declarations-function-subscript\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(subscript)\\\\\\\\s*(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.swift\\\"}},\\\"end\\\":\\\"(?<=})|$\\\",\\\"name\\\":\\\"meta.definition.function.subscript.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-function-result\\\"},{\\\"include\\\":\\\"#async-throws\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.swift\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.function.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-generic-argument-clause\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.generic-argument-clause.begin.swift\\\"}},\\\"end\\\":\\\">|(?=[]){}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.generic-argument-clause.end.swift\\\"}},\\\"name\\\":\\\"meta.generic-argument-clause.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},\\\"declarations-generic-parameter-clause\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.generic-parameter-clause.begin.swift\\\"}},\\\"end\\\":\\\">|(?=[^\\\\\\\\&,:<=>`\\\\\\\\w\\\\\\\\d\\\\\\\\s])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.generic-parameter-clause.end.swift\\\"}},\\\"name\\\":\\\"meta.generic-parameter-clause.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"match\\\":\\\"\\\\\\\\beach\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.loop.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.generic-parameter.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?!\\\\\\\\d)\\\\\\\\w[\\\\\\\\w\\\\\\\\d]*)\\\\\\\\b\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.generic-parameters.swift\\\"},{\\\"begin\\\":\\\"(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.generic-parameter-constraint.swift\\\"}},\\\"end\\\":\\\"(?=[,>]|(?!\\\\\\\\G)\\\\\\\\bwhere\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.generic-parameter-constraint.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=[,>]|(?!\\\\\\\\G)\\\\\\\\bwhere\\\\\\\\b)\\\",\\\"name\\\":\\\"entity.other.inherited-class.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-type-identifier\\\"},{\\\"include\\\":\\\"#declarations-type-operators\\\"}]}]}]},\\\"declarations-generic-where-clause\\\":{\\\"begin\\\":\\\"\\\\\\\\b(where)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.generic-constraint-introducer.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=[\\\\\\\\n;>{}]|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.generic-where-clause.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause-requirement-list\\\"}]},\\\"declarations-generic-where-clause-requirement-list\\\":{\\\"begin\\\":\\\"\\\\\\\\G|,\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n,;>{}]|//|/\\\\\\\\*)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constraint\\\"},{\\\"include\\\":\\\"#declarations-available-types\\\"},{\\\"begin\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(==)(?![-!%\\\\\\\\&*+./<=>^|~])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.generic-constraint.same-type.swift\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[\\\\\\\\n,;>{}]|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.generic-where-clause.same-type-requirement.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},{\\\"begin\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(:)(?![-!%\\\\\\\\&*+./<=>^|~])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.generic-constraint.conforms-to.swift\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[\\\\\\\\n,;>{}]|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.generic-where-clause.conformance-requirement.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*\\\",\\\"contentName\\\":\\\"entity.other.inherited-class.swift\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[\\\\\\\\n,;>{}]|//|/\\\\\\\\*)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]}]}]},\\\"declarations-import\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(import)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.swift\\\"}},\\\"end\\\":\\\"(;)|$\\\\\\\\n?|(?=/[*/])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.swift\\\"}},\\\"name\\\":\\\"meta.import.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?!;|$|//|/\\\\\\\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\\\\\\\s+)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"}},\\\"end\\\":\\\"(?=;|$|//|/\\\\\\\\*)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\G|\\\\\\\\.)(?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>)\\\",\\\"name\\\":\\\"entity.name.type.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\G|\\\\\\\\.)\\\\\\\\$[0-9]+\\\",\\\"name\\\":\\\"entity.name.type.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.dot-not-allowed-here.swift\\\"}]}},\\\"match\\\":\\\"(?<=\\\\\\\\G|\\\\\\\\.)(?:((?<oph>[-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))*)|(\\\\\\\\.(\\\\\\\\g<oph>|\\\\\\\\g<opc>|\\\\\\\\.)+))(?=[.;]|$|//|/\\\\\\\\*|\\\\\\\\s)\\\",\\\"name\\\":\\\"entity.name.type.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.import.swift\\\"},{\\\"begin\\\":\\\"(?!\\\\\\\\s*(;|$|//|/\\\\\\\\*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;|$|//|/\\\\\\\\*))\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]}]},\\\"declarations-inheritance-clause\\\":{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\{)|(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.empty-inheritance-clause.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance-clause.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=[={}]|(?!\\\\\\\\G)\\\\\\\\bwhere\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.inheritance-clause.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\bclass\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.class.swift\\\"}},\\\"end\\\":\\\"(?=[={}]|(?!\\\\\\\\G)\\\\\\\\bwhere\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause-more-types\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=[={}]|(?!\\\\\\\\G)\\\\\\\\bwhere\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause-inherited-type\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause-more-types\\\"},{\\\"include\\\":\\\"#declarations-type-operators\\\"}]}]},\\\"declarations-inheritance-clause-inherited-type\\\":{\\\"begin\\\":\\\"(?=[_`\\\\\\\\p{L}])\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"entity.other.inherited-class.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-type-identifier\\\"}]},\\\"declarations-inheritance-clause-more-types\\\":{\\\"begin\\\":\\\",\\\\\\\\s*\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)(?!/[*/])|(?=[,={}]|(?!\\\\\\\\G)\\\\\\\\bwhere\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.inheritance-list.more-types\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause-inherited-type\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause-more-types\\\"},{\\\"include\\\":\\\"#declarations-type-operators\\\"}]},\\\"declarations-macro\\\":{\\\"begin\\\":\\\"\\\\\\\\b(macro)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*(?=[(<=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"$|(?=;|//|/\\\\\\\\*|[=}])\\\",\\\"name\\\":\\\"meta.definition.macro.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-function-result\\\"},{\\\"include\\\":\\\"#async-throws\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"}]},\\\"declarations-operator\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b((?:pre|in|post)fix)\\\\\\\\s+)?\\\\\\\\b(operator)\\\\\\\\s+(((?<oph>[-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\\\\\g<oph>|\\\\\\\\.|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))*+)|(\\\\\\\\.(\\\\\\\\g<oph>|\\\\\\\\g<opc>|\\\\\\\\.)++))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.operator.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.operator.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.operator.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.dot-not-allowed-here.swift\\\"}]}},\\\"end\\\":\\\"(;)|$\\\\\\\\n?|(?=/[*/])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.swift\\\"}},\\\"name\\\":\\\"meta.definition.operator.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-operator-swift2\\\"},{\\\"include\\\":\\\"#declarations-operator-swift3\\\"},{\\\"match\\\":\\\"((?!$|;|//|/\\\\\\\\*)\\\\\\\\S)+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]},\\\"declarations-operator-swift2\\\":{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.operator.begin.swift\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.operator.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.operator.associativity.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(associativity)\\\\\\\\s+(left|right)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.integer.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(precedence)\\\\\\\\s+([0-9]+)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(assignment)\\\\\\\\b\\\"}]},\\\"declarations-operator-swift3\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-types-precedencegroup\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\G(:)\\\\\\\\s*((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\"},\\\"declarations-parameter-clause\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(?:\\\\\\\\s*(async)\\\\\\\\b)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.async.swift\\\"}},\\\"name\\\":\\\"meta.parameter-clause.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-parameter-list\\\"}]},\\\"declarations-parameter-list\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.swift\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"((?<q1>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q1>))\\\\\\\\s+((?<q2>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q2>))(?=\\\\\\\\s*:)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"(((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>)))(?=\\\\\\\\s*:)\\\"},{\\\"begin\\\":\\\":\\\\\\\\s*(?!\\\\\\\\s)\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"invalid.illegal.extra-colon-in-parameter-list.swift\\\"},{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.swift\\\"}},\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]}]}]},\\\"declarations-precedencegroup\\\":{\\\"begin\\\":\\\"\\\\\\\\b(precedencegroup)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.precedencegroup.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.precedencegroup.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.definition.precedencegroup.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.precedencegroup.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.precedencegroup.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-types-precedencegroup\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?:high|low)erThan)\\\\\\\\s*:\\\\\\\\s*((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.operator.associativity.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(associativity)\\\\\\\\b(?:\\\\\\\\s*:\\\\\\\\s*(right|left|none)\\\\\\\\b)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\b(assignment)\\\\\\\\b(?:\\\\\\\\s*:\\\\\\\\s*(true|false)\\\\\\\\b)?\\\"}]}]},\\\"declarations-protocol\\\":{\\\"begin\\\":\\\"\\\\\\\\b(protocol)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.$1.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.definition.type.protocol.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.type.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-protocol-protocol-method\\\"},{\\\"include\\\":\\\"#declarations-protocol-protocol-initializer\\\"},{\\\"include\\\":\\\"#declarations-protocol-associated-type\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-protocol-associated-type\\\":{\\\"begin\\\":\\\"\\\\\\\\b(associatedtype)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.declaration-specifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.associatedtype.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=[;}]|$)\\\",\\\"name\\\":\\\"meta.definition.associatedtype.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-inheritance-clause\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"include\\\":\\\"#declarations-typealias-assignment\\\"}]},\\\"declarations-protocol-protocol-initializer\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(init[!?]*)\\\\\\\\s*(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!?])[!?]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]}},\\\"end\\\":\\\"$|(?=;|//|/\\\\\\\\*|})\\\",\\\"name\\\":\\\"meta.definition.function.initializer.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-parameter-clause\\\"},{\\\"include\\\":\\\"#async-throws\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.swift\\\"}},\\\"name\\\":\\\"invalid.illegal.function-body-not-allowed-in-protocol.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-protocol-protocol-method\\\":{\\\"begin\\\":\\\"\\\\\\\\b(func)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>)|(?:((?<oph>[-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])(\\\\\\\\g<oph>|(?<opc>[̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))*)|(\\\\\\\\.(\\\\\\\\g<oph>|\\\\\\\\g<opc>|\\\\\\\\.)+)))\\\\\\\\s*(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"$|(?=;|//|/\\\\\\\\*|})\\\",\\\"name\\\":\\\"meta.definition.function.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-function-result\\\"},{\\\"include\\\":\\\"#async-throws\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.swift\\\"}},\\\"name\\\":\\\"invalid.illegal.function-body-not-allowed-in-protocol.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(class(?!\\\\\\\\s+(?:func|var|let)\\\\\\\\b)|struct|actor)\\\\\\\\b\\\\\\\\s*((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.$1.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.definition.type.$1.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.type.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"include\\\":\\\"#declarations-type-enum\\\"}]},\\\"declarations-type-enum\\\":{\\\"begin\\\":\\\"\\\\\\\\b(enum)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.$1.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.definition.type.$1.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"},{\\\"include\\\":\\\"#declarations-generic-where-clause\\\"},{\\\"include\\\":\\\"#declarations-inheritance-clause\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.swift\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.swift\\\"}},\\\"name\\\":\\\"meta.definition.type.body.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-type-enum-enum-case-clause\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"declarations-type-enum-associated-values\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?:(_)|((?<q1>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*\\\\\\\\k<q1>))\\\\\\\\s+(((?<q2>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*\\\\\\\\k<q2>))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.distinct-labels-not-allowed.swift\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.parameter.function.swift\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.swift\\\"}},\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},{\\\"begin\\\":\\\"(((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*\\\\\\\\k<q>))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.swift\\\"}},\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},{\\\"begin\\\":\\\"(?![]),])(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"invalid.illegal.extra-colon-in-parameter-list.swift\\\"}]}]},\\\"declarations-type-enum-enum-case\\\":{\\\"begin\\\":\\\"((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.enummember.swift\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?![(=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-type-enum-associated-values\\\"},{\\\"include\\\":\\\"#declarations-type-enum-raw-value-assignment\\\"}]},\\\"declarations-type-enum-enum-case-clause\\\":{\\\"begin\\\":\\\"\\\\\\\\b(case)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.case.swift\\\"}},\\\"end\\\":\\\"(?=[;}])|(?!\\\\\\\\G)(?!/[*/])(?=[^,\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-type-enum-enum-case\\\"},{\\\"include\\\":\\\"#declarations-type-enum-more-cases\\\"}]},\\\"declarations-type-enum-more-cases\\\":{\\\"begin\\\":\\\",\\\\\\\\s*\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)(?!/[*/])(?=[;}[^,\\\\\\\\s]])\\\",\\\"name\\\":\\\"meta.enum-case.more-cases\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#declarations-type-enum-enum-case\\\"},{\\\"include\\\":\\\"#declarations-type-enum-more-cases\\\"}]},\\\"declarations-type-enum-raw-value-assignment\\\":{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#literals\\\"}]},\\\"declarations-type-identifier\\\":{\\\"begin\\\":\\\"((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type-name.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?!<)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=<)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-generic-argument-clause\\\"}]}]},\\\"declarations-type-operators\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.composition.swift\\\"}},\\\"match\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(&)(?![-!%\\\\\\\\&*+./<=>^|~])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.requirement-suppression.swift\\\"}},\\\"match\\\":\\\"(?<![-!%\\\\\\\\&*+./<=>^|~])(~)(?![-!%\\\\\\\\&*+./<=>^|~])\\\"}]},\\\"declarations-typealias\\\":{\\\"begin\\\":\\\"\\\\\\\\b(typealias)\\\\\\\\s+((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.declaration-specifier.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.typealias.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=;|//|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"meta.definition.typealias.swift\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=<)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-generic-parameter-clause\\\"}]},{\\\"include\\\":\\\"#declarations-typealias-assignment\\\"}]},\\\"declarations-typealias-assignment\\\":{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.swift\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)$|(?=;|//|/\\\\\\\\*|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},\\\"declarations-typed-variable-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?:(async)\\\\\\\\s+)?(let|var)\\\\\\\\b\\\\\\\\s+(?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>)\\\\\\\\s*:\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.declaration-specifier.swift\\\"}},\\\"end\\\":\\\"(?=$|[={])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations-available-types\\\"}]},\\\"declarations-types-precedencegroup\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:BitwiseShift|Assignment|RangeFormation|Casting|Addition|NilCoalescing|Comparison|LogicalConjunction|LogicalDisjunction|Default|Ternary|Multiplication|FunctionArrow)Precedence\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.swift\\\"}]},\\\"expressions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references\\\"},{\\\"include\\\":\\\"#expressions-trailing-closure\\\"},{\\\"include\\\":\\\"#member-reference\\\"}]},\\\"expressions-trailing-closure\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"(#?(?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function-call.trailing-closure-only.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.trailing-closure-label.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.swift\\\"}},\\\"match\\\":\\\"((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\"}]},\\\"expressions-without-trailing-closures\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references\\\"},{\\\"include\\\":\\\"#member-references\\\"}]},\\\"expressions-without-trailing-closures-or-member-references\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#code-block\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-closure-parameter\\\"},{\\\"include\\\":\\\"#literals\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#builtin-types\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-global-functions\\\"},{\\\"include\\\":\\\"#builtin-properties\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-compound-name\\\"},{\\\"include\\\":\\\"#conditionals\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-availability-condition\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-macro-expansion\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-subscript-expression\\\"},{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-parenthesized-expression\\\"},{\\\"match\\\":\\\"\\\\\\\\b_\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.discard-value.swift\\\"}]},\\\"expressions-without-trailing-closures-or-member-references-availability-condition\\\":{\\\"begin\\\":\\\"\\\\\\\\B(#(?:un)?available)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.availability-condition.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.platform.os.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.swift\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b((?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\\\\\b\\\\\\\\s+([0-9]+(?:\\\\\\\\.[0-9]+)*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.platform.all.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}},\\\"match\\\":\\\"(\\\\\\\\*)\\\\\\\\s*(.*?)(?=[),])\\\"},{\\\"match\\\":\\\"[^),\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.swift\\\"}]},\\\"expressions-without-trailing-closures-or-member-references-closure-parameter\\\":{\\\"match\\\":\\\"\\\\\\\\$[0-9]+\\\",\\\"name\\\":\\\"variable.language.closure-parameter.swift\\\"},\\\"expressions-without-trailing-closures-or-member-references-compound-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.compound-name.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.swift\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.swift\\\"}},\\\"match\\\":\\\"(?<q>`?)(?!_:)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>):\\\",\\\"name\\\":\\\"entity.name.function.compound-name.swift\\\"}]}},\\\"match\\\":\\\"((?<q1>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q1>))\\\\\\\\(((((?<q2>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q2>)):)+)\\\\\\\\)\\\"},\\\"expressions-without-trailing-closures-or-member-references-expression-element-list\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.swift\\\"}},\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},{\\\"begin\\\":\\\"(?![]),])(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=[]),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]}]},\\\"expressions-without-trailing-closures-or-member-references-function-or-macro-call-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(#?(?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.any-method.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"name\\\":\\\"meta.function-call.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-expression-element-list\\\"}]},{\\\"begin\\\":\\\"(?<=[])>_`}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}])\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"name\\\":\\\"meta.function-call.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-expression-element-list\\\"}]}]},\\\"expressions-without-trailing-closures-or-member-references-macro-expansion\\\":{\\\"match\\\":\\\"(#(?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\",\\\"name\\\":\\\"support.function.any-method.swift\\\"},\\\"expressions-without-trailing-closures-or-member-references-parenthesized-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tuple.begin.swift\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*((?:\\\\\\\\b(?:async|throws|rethrows)\\\\\\\\s)*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.tuple.end.swift\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\brethrows\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.rethrows-only-allowed-on-function-declarations.swift\\\"},{\\\"include\\\":\\\"#async-throws\\\"}]}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-expression-element-list\\\"}]},\\\"expressions-without-trailing-closures-or-member-references-subscript-expression\\\":{\\\"begin\\\":\\\"(?<=[_`\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}])\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"name\\\":\\\"meta.subscript-expression.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions-without-trailing-closures-or-member-references-expression-element-list\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:if|else|guard|where|switch|case|default|fallthrough)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.branch.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:continue|break|fallthrough|return)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.transfer.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:while|for|in|each)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.loop.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\bany\\\\\\\\b(?=\\\\\\\\s*`?[_\\\\\\\\p{L}])\\\",\\\"name\\\":\\\"keyword.other.operator.type.existential.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.whitespace.trailing.repeat.swift\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(repeat)\\\\\\\\b(\\\\\\\\s*)\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bdefer\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.defer.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.try-must-precede-await.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.await.swift\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:(await\\\\\\\\s+try)|(await))\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:catch|throw|try)\\\\\\\\b|\\\\\\\\btry[!?]\\\\\\\\B\\\",\\\"name\\\":\\\"keyword.control.exception.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:|re)throws\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.exception.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.exception.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.whitespace.trailing.do.swift\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(do)\\\\\\\\b(\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.declaration-specifier.swift\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:(async)\\\\\\\\s+)?(let|var)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:associatedtype|operator|typealias)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.declaration-specifier.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(class|enum|extension|precedencegroup|protocol|struct|actor)\\\\\\\\b(?=\\\\\\\\s*`?[_\\\\\\\\p{L}])\\\",\\\"name\\\":\\\"storage.type.$1.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:inout|static|final|lazy|mutating|nonmutating|optional|indirect|required|override|dynamic|convenience|infix|prefix|postfix|distributed|nonisolated|borrowing|consuming)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\binit[!?]|\\\\\\\\binit\\\\\\\\b|(?<!\\\\\\\\.)\\\\\\\\b(?:func|deinit|subscript|didSet|get|set|willSet)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.function.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:fileprivate|private|internal|public|open|package)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.declaration-specifier.accessibility.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bunowned\\\\\\\\((?:|un)safe\\\\\\\\)|(?<!\\\\\\\\.)\\\\\\\\b(?:weak|unowned)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.capture-specifier.swift\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.type.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.type.metatype.swift\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.)(?:(dynamicType|self)|(Protocol|Type))\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?:super|self|Self)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.swift\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\B#(?:file|filePath|fileID|line|column|function|dsohandle)|\\\\\\\\b__(?:FILE|LINE|COLUMN|FUNCTION|DSO_HANDLE)__)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bimport\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bconsume(?=\\\\\\\\s+`?[_\\\\\\\\p{L}])\\\",\\\"name\\\":\\\"keyword.control.consume.swift\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\bcopy(?=\\\\\\\\s+`?[_\\\\\\\\p{L}])\\\",\\\"name\\\":\\\"keyword.control.copy.swift\\\"}]},\\\"literals\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-boolean\\\"},{\\\"include\\\":\\\"#literals-numeric\\\"},{\\\"include\\\":\\\"#literals-string\\\"},{\\\"match\\\":\\\"\\\\\\\\bnil\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.nil.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\B#((?:color|image|file)Literal)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.object-literal.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\B#externalMacro\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin-macro.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\B#keyPath\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.key-path.swift\\\"},{\\\"begin\\\":\\\"\\\\\\\\B(#selector)(\\\\\\\\()(?:\\\\\\\\s*([gs]etter)\\\\\\\\s*(:))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.selector-reference.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.parameter.swift\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.argument-label.swift\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.swift\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},{\\\"include\\\":\\\"#literals-regular-expression-literal\\\"}]},\\\"literals-boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.swift\\\"},\\\"literals-numeric\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)[0-9][0-9_]*(?=\\\\\\\\.[0-9]|[Ee])(?:\\\\\\\\.[0-9][0-9_]*)?(?:[Ee][-+]?[0-9][0-9_]*)?\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"constant.numeric.float.decimal.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)(0x\\\\\\\\h[_\\\\\\\\h]*)(?:\\\\\\\\.\\\\\\\\h[_\\\\\\\\h]*)?[Pp][-+]?[0-9][0-9_]*\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"constant.numeric.float.hexadecimal.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)(0x\\\\\\\\h[_\\\\\\\\h]*)(?:\\\\\\\\.\\\\\\\\h[_\\\\\\\\h]*)?[Pp][-+]?\\\\\\\\w*\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"invalid.illegal.numeric.float.invalid-exponent.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)(0x\\\\\\\\h[_\\\\\\\\h]*)\\\\\\\\.[0-9][.\\\\\\\\w]*\\\",\\\"name\\\":\\\"invalid.illegal.numeric.float.missing-exponent.swift\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s|^)-?\\\\\\\\.[0-9][.\\\\\\\\w]*\\\",\\\"name\\\":\\\"invalid.illegal.numeric.float.missing-leading-zero.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)0[box]_[_\\\\\\\\h]*(?:[EPep][-+]?\\\\\\\\w+)?[.\\\\\\\\w]+\\\",\\\"name\\\":\\\"invalid.illegal.numeric.leading-underscore.swift\\\"},{\\\"match\\\":\\\"(?<=[]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)[0-9]+\\\\\\\\b\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)0b[01][01_]*\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"constant.numeric.integer.binary.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)0o[0-7][0-7_]*\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"constant.numeric.integer.octal.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)[0-9][0-9_]*\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)(?<![]()\\\\\\\\[_{}\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]\\\\\\\\.)0x\\\\\\\\h[_\\\\\\\\h]*\\\\\\\\b(?!\\\\\\\\.[0-9])\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.swift\\\"},{\\\"match\\\":\\\"(\\\\\\\\B-|\\\\\\\\b)[0-9][.\\\\\\\\w]*\\\",\\\"name\\\":\\\"invalid.illegal.numeric.other.swift\\\"}]},\\\"literals-regular-expression-literal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(#+)/\\\\\\\\n\\\",\\\"end\\\":\\\"/\\\\\\\\1\\\",\\\"name\\\":\\\"string.regexp.block.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-regex-guts\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-line-comment\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-regex-guts\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.regexp.swift\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.regexp.swift\\\"},\\\"9\\\":{\\\"name\\\":\\\"invalid.illegal.returns-not-allowed.regexp\\\"}},\\\"match\\\":\\\"(?x)\\\\n(?!/\\\\\\\\s) # non-extended regex literals may not start with a space or tab\\\\n(?!//) # disambiguation with line comments (redundant since comment rules occur earlier)\\\\n(((\\\\\\\\#+)?)/) # (1) for captures, (2) for matching end, (3) for conditionals\\\\n(\\\\\\\\\\\\\\\\\\\\\\\\s)? # (4) may start with an escaped space or tab\\\\n(?<guts>\\\\n (?> # no backtracking, avoids issues with negative lookbehind at end\\\\n (?:\\\\n \\\\\\\\\\\\\\\\Q\\\\n (?:(?!\\\\\\\\\\\\\\\\E)(?!/\\\\\\\\2).)*+\\\\n (?:\\\\\\\\\\\\\\\\E\\\\n # A quoted sequence may not have a closing E, in which case it extends to the end of the regex\\\\n | (?(3)|(?<!\\\\\\\\s))(?=/\\\\\\\\2)\\\\n )\\\\n | \\\\\\\\\\\\\\\\.\\\\n | \\\\\\\\(\\\\\\\\?\\\\\\\\#[^)]*\\\\\\\\)\\\\n | \\\\\\\\(\\\\\\\\?\\\\n # InterpolatedCallout\\\\n (?>(\\\\\\\\{(?:\\\\\\\\g<-1>|(?!{).*?)\\\\\\\\}))\\\\n (?:\\\\\\\\[(?!\\\\\\\\d)\\\\\\\\w+\\\\\\\\])?\\\\n [X<>]?\\\\n \\\\\\\\)\\\\n | (?<class>\\\\\\\\[ (?:\\\\\\\\\\\\\\\\. | [^\\\\\\\\[\\\\\\\\]] | \\\\\\\\g<class>)+ \\\\\\\\])\\\\n | \\\\\\\\(\\\\\\\\g<guts>?+\\\\\\\\)\\\\n | (?:(?!/\\\\\\\\2)[^()\\\\\\\\[\\\\\\\\\\\\\\\\])+ # any character (until end)\\\\n )+\\\\n )\\\\n)?+\\\\n# may end with a space only if it is an extended literal or contains only a single escaped space\\\\n(?(3)|(?(5)(?<!\\\\\\\\s)))\\\\n(/\\\\\\\\2) # (12)\\\\n| \\\\\\\\#+/.+(\\\\\\\\n)\\\",\\\"name\\\":\\\"string.regexp.line.swift\\\"}]},\\\"literals-regular-expression-literal-backreference-or-subpattern\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\g\\\\\\\\{)(?:((?!\\\\\\\\d)\\\\\\\\w+)(?:([-+])(\\\\\\\\d+))?|([-+]?\\\\\\\\d+)(?:([-+])(\\\\\\\\d+))?)(})\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\g)([-+]?\\\\\\\\d+)(?:([-+])(\\\\\\\\d+))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[gk]<)(?:((?!\\\\\\\\d)\\\\\\\\w+)(?:([-+])(\\\\\\\\d+))?|([-+]?\\\\\\\\d+)(?:([-+])(\\\\\\\\d+))?)(>)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[gk]')(?:((?!\\\\\\\\d)\\\\\\\\w+)(?:([-+])(\\\\\\\\d+))?|([-+]?\\\\\\\\d+)(?:([-+])(\\\\\\\\d+))?)(')\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\k\\\\\\\\{)((?!\\\\\\\\d)\\\\\\\\w+)(?:([-+])(\\\\\\\\d+))?(})\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9][0-9]+\\\",\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\(\\\\\\\\?(?:P[=>]|&))((?!\\\\\\\\d)\\\\\\\\w+)(?:([-+])(\\\\\\\\d+))?(\\\\\\\\))\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\?R\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\(\\\\\\\\?)([-+]?\\\\\\\\d+)(?:([-+])(\\\\\\\\d+))?(\\\\\\\\))\\\"}]},\\\"literals-regular-expression-literal-backtracking-directive-or-global-matching-option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.directive.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.language.tag.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.directive.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.control.directive.regexp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.control.directive.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\(\\\\\\\\*)(?:(ACCEPT|FAIL|F|MARK(?=:)|(?=:)|COMMIT|PRUNE|SKIP|THEN)(?:(:)([^)]+))?|(LIMIT_(?:DEPTH|HEAP|MATCH))(=)(\\\\\\\\d+)|(CRLF|CR|ANYCRLF|ANY|LF|NUL|BSR_ANYCRLF|BSR_UNICODE|NOTEMPTY_ATSTART|NOTEMPTY|NO_AUTO_POSSESS|NO_DOTSTAR_ANCHOR|NO_JIT|NO_START_OPT|UTF|UCP))(\\\\\\\\))\\\"},\\\"literals-regular-expression-literal-callout\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.callout.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"9\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"10\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"11\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"12\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"14\\\":{\\\"name\\\":\\\"keyword.control.callout.regexp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.function.callout.regexp\\\"},\\\"16\\\":{\\\"name\\\":\\\"variable.language.tag-name.regexp\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"18\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"19\\\":{\\\"name\\\":\\\"keyword.control.callout.regexp\\\"},\\\"21\\\":{\\\"name\\\":\\\"variable.language.tag-name.regexp\\\"},\\\"22\\\":{\\\"name\\\":\\\"keyword.control.callout.regexp\\\"},\\\"23\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(?<keyw>\\\\\\\\?C)(?:(?<num>\\\\\\\\d+)|`(?<name>(?:[^`]|``)*)`|'(?<name>(?:[^']|'')*)'|\\\\\\\"(?<name>(?:[^\\\\\\\"]|\\\\\\\"\\\\\\\")*)\\\\\\\"|\\\\\\\\^(?<name>(?:[^^]|\\\\\\\\^\\\\\\\\^)*)\\\\\\\\^|%(?<name>(?:[^%]|%%)*)%|#(?<name>(?:[^#]|##)*)#|\\\\\\\\$(?<name>(?:[^$]|\\\\\\\\$\\\\\\\\$)*)\\\\\\\\$|\\\\\\\\{(?<name>(?:[^}]|}})*)})?(\\\\\\\\))|(\\\\\\\\()(?<keyw>\\\\\\\\*)(?<name>(?!\\\\\\\\d)\\\\\\\\w+)(?:\\\\\\\\[(?<tag>(?!\\\\\\\\d)\\\\\\\\w+)])?(?:\\\\\\\\{[^,}]+(?:,[^,}]+)*})?(\\\\\\\\))|(\\\\\\\\()(?<keyw>\\\\\\\\?)(?>(\\\\\\\\{(?:\\\\\\\\g<20>|(?!\\\\\\\\{).*?)}))(?:\\\\\\\\[(?<tag>(?!\\\\\\\\d)\\\\\\\\w+)])?(?<keyw>[<>X]?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.callout.regexp\\\"},\\\"literals-regular-expression-literal-character-properties\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.variable.character-property.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.character-property.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Pp]\\\\\\\\{([-\\\\\\\\s\\\\\\\\w]+(?:=[-\\\\\\\\s\\\\\\\\w]+)?)}|(\\\\\\\\[:)([-\\\\\\\\s\\\\\\\\w]+(?:=[-\\\\\\\\s\\\\\\\\w]+)?)(:])\\\",\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\"},\\\"literals-regular-expression-literal-custom-char-class\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-custom-char-class-members\\\"}]}]},\\\"literals-regular-expression-literal-custom-char-class-members\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\b\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-custom-char-class\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-quote\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-set-operators\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-unicode-scalars\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-character-properties\\\"}]},\\\"literals-regular-expression-literal-group-option-toggle\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\?(?:\\\\\\\\^(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})*)\\\\\\\\)\\\",\\\"name\\\":\\\"keyword.other.option-toggle.regexp\\\"},\\\"literals-regular-expression-literal-group-or-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?~)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.absent.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.absent.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-regex-guts\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()(?<cond>\\\\\\\\?\\\\\\\\()(?:(?<NumberRef>(?<num>[-+]?\\\\\\\\d+)(?:(?<op>[-+])(?<num>\\\\\\\\d+))?)|(?<cond>R)\\\\\\\\g<NumberRef>?|(?<cond>R&)(?<NamedRef>(?<name>(?!\\\\\\\\d)\\\\\\\\w+)(?:(?<op>[-+])(?<num>\\\\\\\\d+))?)|(?<cond><)(?:\\\\\\\\g<NamedRef>|\\\\\\\\g<NumberRef>)(?<cond>>)|(?<cond>')(?:\\\\\\\\g<NamedRef>|\\\\\\\\g<NumberRef>)(?<cond>')|(?<cond>DEFINE)|(?<cond>VERSION)(?<compar>>?=)(?<num>\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))(?<cond>\\\\\\\\))|(\\\\\\\\()(?<cond>\\\\\\\\?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"10\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.operator.recursion-level.regexp\\\"},\\\"12\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"14\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"15\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"16\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"17\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"18\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"19\\\":{\\\"name\\\":\\\"keyword.operator.comparison.regexp\\\"},\\\"20\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.regexp\\\"},\\\"21\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"},\\\"22\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"23\\\":{\\\"name\\\":\\\"keyword.control.conditional.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.conditional.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-regex-guts\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?)(?:([!*:=>|]|<[!*=])|P?<(?:((?!\\\\\\\\d)\\\\\\\\w+)(-))?((?!\\\\\\\\d)\\\\\\\\w+)>|'(?:((?!\\\\\\\\d)\\\\\\\\w+)(-))?((?!\\\\\\\\d)\\\\\\\\w+)'|(?:\\\\\\\\^(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})*|(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})+|(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})*-(?:[DJPSUWimnswx]|xx|y\\\\\\\\{[gw]})*):)|\\\\\\\\*(atomic|pla|positive_lookahead|nla|negative_lookahead|plb|positive_lookbehind|nlb|negative_lookbehind|napla|non_atomic_positive_lookahead|naplb|non_atomic_positive_lookbehind|sr|script_run|asr|atomic_script_run):)?+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.group-options.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.balancing-group.regexp\\\"},\\\"7\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.balancing-group.regexp\\\"},\\\"10\\\":{\\\"name\\\":\\\"variable.other.group-name.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-regex-guts\\\"}]}]},\\\"literals-regular-expression-literal-line-comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.regexp\\\"}},\\\"match\\\":\\\"(#).*$\\\",\\\"name\\\":\\\"comment.line.regexp\\\"},\\\"literals-regular-expression-literal-quote\\\":{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\Q\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\E|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.returns-not-allowed.regexp\\\"}},\\\"name\\\":\\\"string.quoted.other.regexp.swift\\\"},\\\"literals-regular-expression-literal-regex-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literals-regular-expression-literal-quote\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.regexp\\\"}},\\\"name\\\":\\\"comment.block.regexp\\\"},{\\\"begin\\\":\\\"<\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.regexp\\\"}},\\\"end\\\":\\\"}>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.regexp\\\"}},\\\"name\\\":\\\"meta.embedded.expression.regexp\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-unicode-scalars\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-character-properties\\\"},{\\\"match\\\":\\\"[$^]|\\\\\\\\\\\\\\\\[ABGYZbyz]|\\\\\\\\\\\\\\\\K\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-backtracking-directive-or-global-matching-option\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-callout\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-backreference-or-subpattern\\\"},{\\\"match\\\":\\\"\\\\\\\\.|\\\\\\\\\\\\\\\\[CDHNORSVWXdhsvw]\\\",\\\"name\\\":\\\"constant.character.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c.\\\",\\\"name\\\":\\\"constant.character.entity.control-character.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^c]\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"match\\\":\\\"[*+?]\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\{(?:\\\\\\\\s*\\\\\\\\d+\\\\\\\\s*(?:,\\\\\\\\s*\\\\\\\\d*\\\\\\\\s*)?}|\\\\\\\\s*,\\\\\\\\s*\\\\\\\\d+\\\\\\\\s*})\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-custom-char-class\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-group-option-toggle\\\"},{\\\"include\\\":\\\"#literals-regular-expression-literal-group-or-conditional\\\"}]},\\\"literals-regular-expression-literal-set-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&&\\\",\\\"name\\\":\\\"keyword.operator.intersection.regexp.swift\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.subtraction.regexp.swift\\\"},{\\\"match\\\":\\\"~~\\\",\\\"name\\\":\\\"keyword.operator.symmetric-difference.regexp.swift\\\"}]},\\\"literals-regular-expression-literal-unicode-scalars\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:u\\\\\\\\{\\\\\\\\s*(?:\\\\\\\\h+\\\\\\\\s*)+}|u\\\\\\\\h{4}|x\\\\\\\\{\\\\\\\\h+}|x\\\\\\\\h{0,2}|U\\\\\\\\h{8}|o\\\\\\\\{[0-7]+}|0[0-7]{0,3}|N\\\\\\\\{(?:U\\\\\\\\+\\\\\\\\h{1,8}|[-\\\\\\\\s\\\\\\\\w]+)})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"literals-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"(#*)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.extra-closing-delimiter.swift\\\"}},\\\"name\\\":\\\"string.quoted.double.block.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?:.+(?=\\\\\\\"\\\\\\\"\\\\\\\")|.+)\\\",\\\"name\\\":\\\"invalid.illegal.content-after-opening-delimiter.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.newline.swift\\\"},{\\\"include\\\":\\\"#literals-string-string-guts\\\"},{\\\"match\\\":\\\"\\\\\\\\S((?!\\\\\\\\\\\\\\\\\\\\\\\\().)*(?=\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"name\\\":\\\"invalid.illegal.content-before-closing-delimiter.swift\\\"}]},{\\\"begin\\\":\\\"#\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"#(#*)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.extra-closing-delimiter.swift\\\"}},\\\"name\\\":\\\"string.quoted.double.block.raw.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?:.+(?=\\\\\\\"\\\\\\\"\\\\\\\")|.+)\\\",\\\"name\\\":\\\"invalid.illegal.content-after-opening-delimiter.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\#\\\\\\\\s*\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.newline.swift\\\"},{\\\"include\\\":\\\"#literals-string-raw-string-guts\\\"},{\\\"match\\\":\\\"\\\\\\\\S((?!\\\\\\\\\\\\\\\\#\\\\\\\\().)*(?=\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"name\\\":\\\"invalid.illegal.content-before-closing-delimiter.swift\\\"}]},{\\\"begin\\\":\\\"(##+)\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\\\\\\1(#*)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.extra-closing-delimiter.swift\\\"}},\\\"name\\\":\\\"string.quoted.double.block.raw.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?:.+(?=\\\\\\\"\\\\\\\"\\\\\\\")|.+)\\\",\\\"name\\\":\\\"invalid.illegal.content-after-opening-delimiter.swift\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.swift\\\"}},\\\"end\\\":\\\"\\\\\\\"(#*)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.extra-closing-delimiter.swift\\\"}},\\\"name\\\":\\\"string.quoted.double.single-line.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[\\\\\\\\n\\\\\\\\r]\\\",\\\"name\\\":\\\"invalid.illegal.returns-not-allowed.swift\\\"},{\\\"include\\\":\\\"#literals-string-string-guts\\\"}]},{\\\"begin\\\":\\\"(##+)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.raw.swift\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\\1(#*)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.raw.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.extra-closing-delimiter.swift\\\"}},\\\"name\\\":\\\"string.quoted.double.single-line.raw.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[\\\\\\\\n\\\\\\\\r]\\\",\\\"name\\\":\\\"invalid.illegal.returns-not-allowed.swift\\\"}]},{\\\"begin\\\":\\\"#\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.raw.swift\\\"}},\\\"end\\\":\\\"\\\\\\\"#(#*)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.raw.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.extra-closing-delimiter.swift\\\"}},\\\"name\\\":\\\"string.quoted.double.single-line.raw.swift\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[\\\\\\\\n\\\\\\\\r]\\\",\\\"name\\\":\\\"invalid.illegal.returns-not-allowed.swift\\\"},{\\\"include\\\":\\\"#literals-string-raw-string-guts\\\"}]}]},\\\"literals-string-raw-string-guts\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\#[\\\\\\\"'0\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\#u\\\\\\\\{\\\\\\\\h{1,8}}\\\",\\\"name\\\":\\\"constant.character.escape.unicode.swift\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\#\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.swift\\\"}},\\\"contentName\\\":\\\"source.swift\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.swift\\\"}},\\\"name\\\":\\\"meta.embedded.line.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\"}]},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\#.\\\",\\\"name\\\":\\\"invalid.illegal.escape-not-recognized\\\"}]},\\\"literals-string-string-guts\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'0\\\\\\\\\\\\\\\\nrt]\\\",\\\"name\\\":\\\"constant.character.escape.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h{1,8}}\\\",\\\"name\\\":\\\"constant.character.escape.unicode.swift\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.swift\\\"}},\\\"contentName\\\":\\\"source.swift\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.swift\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.swift\\\"}},\\\"name\\\":\\\"meta.embedded.line.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\"}]},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.escape-not-recognized\\\"}]},\\\"member-reference\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.swift\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.identifier.swift\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.)((?<q>`?)[_\\\\\\\\p{L}][_\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{M}]*(\\\\\\\\k<q>))\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(is\\\\\\\\b|as([!?]\\\\\\\\B|\\\\\\\\b))\\\",\\\"name\\\":\\\"keyword.operator.type-casting.swift\\\"},{\\\"begin\\\":\\\"(?=(?<oph>[-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷‖‗†-‧‰-‾⁁-⁓⁕-⁞←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰])|\\\\\\\\.(\\\\\\\\g<oph>|[.̀-ͯ᷀-᷿⃐-⃿︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\+\\\\\\\\+|--)$\\\",\\\"name\\\":\\\"keyword.operator.increment-or-decrement.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G([-+])$\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.unary.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G!$\\\",\\\"name\\\":\\\"keyword.operator.logical.not.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G~$\\\",\\\"name\\\":\\\"keyword.operator.bitwise.not.swift\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"keyword.operator.custom.prefix.swift\\\"}]}},\\\"match\\\":\\\"\\\\\\\\G(?<=^|[(,:;\\\\\\\\[{\\\\\\\\s])((?!(//|/\\\\\\\\*|\\\\\\\\*/))([-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))++(?![]),:;}\\\\\\\\s]|\\\\\\\\z)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\+\\\\\\\\+|--)$\\\",\\\"name\\\":\\\"keyword.operator.increment-or-decrement.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G!$\\\",\\\"name\\\":\\\"keyword.operator.increment-or-decrement.swift\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"keyword.operator.custom.postfix.swift\\\"}]}},\\\"match\\\":\\\"\\\\\\\\G(?<!^|[(,:;\\\\\\\\[{\\\\\\\\s])((?!(//|/\\\\\\\\*|\\\\\\\\*/))([-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))++(?=[]),:;}\\\\\\\\s]|\\\\\\\\z)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G=$\\\",\\\"name\\\":\\\"keyword.operator.assignment.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G([-%*+/]|<<|>>|[\\\\\\\\&^|]|&&|\\\\\\\\|\\\\\\\\|)=$\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G([-*+/])$\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G&([-*+])$\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.overflow.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G%$\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.remainder.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G(==|!=|[<>]|>=|<=|~=)$\\\",\\\"name\\\":\\\"keyword.operator.comparison.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\?\\\\\\\\?$\\\",\\\"name\\\":\\\"keyword.operator.coalescing.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G(&&|\\\\\\\\|\\\\\\\\|)$\\\",\\\"name\\\":\\\"keyword.operator.logical.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G([\\\\\\\\&^|]|<<|>>)$\\\",\\\"name\\\":\\\"keyword.operator.bitwise.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G([!=]==)$\\\",\\\"name\\\":\\\"keyword.operator.bitwise.swift\\\"},{\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\?$\\\",\\\"name\\\":\\\"keyword.operator.ternary.swift\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"keyword.operator.custom.infix.swift\\\"}]}},\\\"match\\\":\\\"\\\\\\\\G((?!(//|/\\\\\\\\*|\\\\\\\\*/))([-!%\\\\\\\\&*+/<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))++\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"keyword.operator.custom.prefix.dot.swift\\\"}]}},\\\"match\\\":\\\"\\\\\\\\G(?<=^|[(,:;\\\\\\\\[{\\\\\\\\s])\\\\\\\\.((?!(//|/\\\\\\\\*|\\\\\\\\*/))([-!%\\\\\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))++(?![]),:;}\\\\\\\\s]|\\\\\\\\z)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"keyword.operator.custom.postfix.dot.swift\\\"}]}},\\\"match\\\":\\\"\\\\\\\\G(?<!^|[(,:;\\\\\\\\[{\\\\\\\\s])\\\\\\\\.((?!(//|/\\\\\\\\*|\\\\\\\\*/))([-!%\\\\\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))++(?=[]),:;}\\\\\\\\s]|\\\\\\\\z)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\.\\\\\\\\.[.<]$\\\",\\\"name\\\":\\\"keyword.operator.range.swift\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"keyword.operator.custom.infix.dot.swift\\\"}]}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\.((?!(//|/\\\\\\\\*|\\\\\\\\*/))([-!%\\\\\\\\&*+./<-?^|~¡-§©«¬®°±¶»¿×÷̀-ͯ᷀-᷿‖‗†-‧‰-‾⁁-⁓⁕-⁞⃐-⃿←-⏿─-❵➔-⯿⸀-⹿、。〃〈-〰︀-️︠-︯\\\\\\\\x{E0100}-\\\\\\\\x{E01EF}]))++\\\"}]},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.ternary.swift\\\"}]},\\\"root\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#compiler-control\\\"},{\\\"include\\\":\\\"#declarations\\\"},{\\\"include\\\":\\\"#expressions\\\"}]}},\\\"scopeName\\\":\\\"source.swift\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "swift" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,gkmFAAmk0F,CAAC,EAE3l0FC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-g9-lgVsj.js b/src/webview-ui/build/assets/chunk-g9-lgVsj.js new file mode 100644 index 0000000000..86837dc3bc --- /dev/null +++ b/src/webview-ui/build/assets/chunk-g9-lgVsj.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"JSX","name":"jsx","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.js.jsx"},"after-operator-block-as-object-literal":{"begin":"(?<!\\\\+\\\\+|--)(?<=[!(+,:=>?\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.objectliteral.js.jsx","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js.jsx"}},"name":"meta.array.literal.js.jsx","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"variable.parameter.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async)\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?==>)","name":"meta.arrow.js.jsx"},{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async))?((?<![]!)}])\\\\s*(?=((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.js.jsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js.jsx"}},"end":"((?<=[}\\\\S])(?<!=>)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.js.jsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.js.jsx","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.async.js.jsx"},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"binding-element-const":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern-const"},{"include":"#array-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.boolean.true.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.boolean.false.js.jsx"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}|(?=\\\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\\\[","end":"]|(?=\\\\*/)","patterns":[{"include":"#brackets"}]}]},"cast":{"patterns":[{"include":"#jsx"}]},"class-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(class)\\\\b(?=\\\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.type.class.js.jsx"}},"end":"(?<=})","name":"meta.class.js.jsx","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{"patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.class.js.jsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"class-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(class)\\\\b(?=\\\\s+|[<{]|/[*/])","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.type.class.js.jsx"}},"end":"(?<=})","name":"meta.class.js.jsx","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#comment"},{"include":"#decorator"},{"begin":"(?<=:)\\\\s*","end":"(?=[-\\\\])+,:;}\\\\s]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#expression"}]},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#string"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#async-modifier"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-or-interface-heritage":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(extends|implements)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"}},"end":"(?=\\\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"include":"#expressionWithoutIdentifiers"},{"captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\s*\\\\??\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\s*)"},{"captures":{"1":{"name":"entity.other.inherited-class.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#expressionPunctuations"}]},"comment":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.js.jsx"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.js.jsx"}},"name":"comment.block.documentation.js.jsx","patterns":[{"include":"#docblock"}]},{"begin":"(/\\\\*)(?:\\\\s*((@)internal)(?=\\\\s|(\\\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.js.jsx"},"2":{"name":"storage.type.internaldeclaration.js.jsx"},"3":{"name":"punctuation.decorator.internaldeclaration.js.jsx"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.js.jsx"}},"name":"comment.block.js.jsx"},{"begin":"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js.jsx"},"2":{"name":"comment.line.double-slash.js.jsx"},"3":{"name":"punctuation.definition.comment.js.jsx"},"4":{"name":"storage.type.internaldeclaration.js.jsx"},"5":{"name":"punctuation.decorator.internaldeclaration.js.jsx"}},"contentName":"comment.line.double-slash.js.jsx","end":"(?=$)"}]},"control-statement":{"patterns":[{"include":"#switch-statement"},{"include":"#for-loop"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.trycatch.js.jsx"},{"captures":{"1":{"name":"keyword.control.loop.js.jsx"},"2":{"name":"entity.name.label.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|goto)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.loop.js.jsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.js.jsx"}},"end":"(?=[;}]|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#expression"}]},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.switch.js.jsx"},{"include":"#if-statement"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.conditional.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.with.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.other.debugger.js.jsx"}]},"decl-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.block.js.jsx","patterns":[{"include":"#statements"}]},"declaration":{"patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#interface-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#type-alias-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.js.jsx"}]},"decorator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))@","beginCaptures":{"0":{"name":"punctuation.decorator.js.jsx"}},"end":"(?=\\\\s)","name":"meta.decorator.js.jsx","patterns":[{"include":"#expression"}]},"destructuring-const":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.object-binding-pattern-variable.js.jsx","patterns":[{"include":"#object-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.array-binding-pattern-variable.js.jsx","patterns":[{"include":"#array-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-parameter":{"patterns":[{"begin":"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"name":"meta.parameter.object-binding-pattern.js.jsx","patterns":[{"include":"#parameter-object-binding-element"}]},{"begin":"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"name":"meta.paramter.array-binding-pattern.js.jsx","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]}]},"destructuring-parameter-rest":{"captures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"variable.parameter.js.jsx"}},"match":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.object-binding-pattern-variable.js.jsx","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.array-binding-pattern-variable.js.jsx","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"captures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx"}},"match":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable-rest-const":{"captures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx"}},"match":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"directives":{"begin":"^(///)\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\s*=\\\\s*(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)))+\\\\s*/>\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.js.jsx"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.js.jsx","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.js.jsx"},"2":{"name":"entity.name.tag.directive.js.jsx"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.js.jsx"}},"name":"meta.tag.js.jsx","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.js.jsx"},{"match":"=","name":"keyword.operator.assignment.js.jsx"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"(</)caption(>)|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.js.jsx"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.js.jsx"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|'(?:\\\\*(?!/)|\\\\\\\\(?!')|[^*\\\\\\\\])*?'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.type.enum.js.jsx"},"5":{"name":"entity.name.type.enum.js.jsx"}},"end":"(?<=})","name":"meta.enum.declaration.js.jsx","patterns":[{"include":"#comment"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#comment"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"variable.other.enummember.js.jsx"}},"end":"(?=[,}]|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+])))","end":"(?=[,}]|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"export-declaration":{"patterns":[{"captures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"keyword.control.as.js.jsx"},"3":{"name":"storage.type.namespace.js.jsx"},"4":{"name":"entity.name.type.module.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)\\\\s+(as)\\\\s+(namespace)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?(?:\\\\s*(=)|\\\\s+(default)(?=\\\\s+))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"keyword.control.type.js.jsx"},"3":{"name":"keyword.operator.assignment.js.jsx"},"4":{"name":"keyword.control.default.js.jsx"}},"end":"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.export.default.js.jsx","patterns":[{"include":"#interface-declaration"},{"include":"#expression"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?\\\\b(?!(\\\\$)|(\\\\s*:))((?=\\\\s*[*{])|((?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\s]))(?!\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"keyword.control.type.js.jsx"}},"end":"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.export.js.jsx","patterns":[{"include":"#import-export-declaration"}]}]},"expression":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"captures":{"1":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"entity.name.function.js.jsx variable.language.this.js.jsx"},"4":{"name":"entity.name.function.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"4":{"name":"variable.parameter.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*[,:]|$)"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.js.jsx"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-operators":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.flow.js.jsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?=\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*\\\\*)","beginCaptures":{"1":{"name":"keyword.control.flow.js.jsx"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.generator.asterisk.js.jsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.control.flow.js.jsx"},"2":{"name":"keyword.generator.asterisk.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s*(\\\\*))?"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.delete.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()","name":"keyword.operator.expression.in.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()","name":"keyword.operator.expression.of.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.instanceof.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.new.js.jsx"},{"include":"#typeof-operator"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.void.js.jsx"},{"captures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*($|[]),:;}]))"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+","beginCaptures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"keyword.control.satisfies.js.jsx"}},"end":"(?=^|[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisfies)\\\\s+)|(\\\\s+<))","patterns":[{"include":"#type"}]},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.spread.js.jsx"},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.js.jsx"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.js.jsx"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.js.jsx"},{"match":"[!=]==?","name":"keyword.operator.comparison.js.jsx"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.js.jsx"},{"captures":{"1":{"name":"keyword.operator.logical.js.jsx"},"2":{"name":"keyword.operator.assignment.compound.js.jsx"},"3":{"name":"keyword.operator.arithmetic.js.jsx"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.js.jsx"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.js.jsx"},{"match":"=","name":"keyword.operator.assignment.js.jsx"},{"match":"--","name":"keyword.operator.decrement.js.jsx"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.js.jsx"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.js.jsx"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.js.jsx"},"2":{"name":"keyword.operator.arithmetic.js.jsx"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.js.jsx"},"2":{"name":"keyword.operator.arithmetic.js.jsx"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#jsx"},{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?<!\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s+)?(?=\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=}]|$))","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"}},"end":"(?=[,;}]|$|^((?!\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=]|$))))|(?<=})","name":"meta.field.declaration.js.jsx","patterns":[{"include":"#variable-initializer"},{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"include":"#comment"},{"captures":{"1":{"name":"meta.definition.property.js.jsx entity.name.function.js.jsx"},"2":{"name":"keyword.operator.optional.js.jsx"},"3":{"name":"keyword.operator.definiteassignment.js.jsx"}},"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\?)|(!))?(?=\\\\s*\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.js.jsx variable.object.property.js.jsx"},{"match":"\\\\?","name":"keyword.operator.optional.js.jsx"},{"match":"!","name":"keyword.operator.definiteassignment.js.jsx"}]},"for-loop":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))for(?=((\\\\s+|(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*))await)?\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)?(\\\\())","beginCaptures":{"0":{"name":"keyword.control.loop.js.jsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#comment"},{"match":"await","name":"keyword.control.loop.js.jsx"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#type-function-return-type"},{"include":"#decl-block"},{"match":"\\\\*","name":"keyword.generator.asterisk.js.jsx"}]},"function-call":{"patterns":[{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())","name":"meta.function-call.js.jsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.js.jsx","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.js.jsx punctuation.accessor.optional.js.jsx"},{"match":"!","name":"meta.function-call.js.jsx keyword.operator.definiteassignment.js.jsx"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.js.jsx"}]},"function-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.async.js.jsx"},"4":{"name":"storage.type.function.js.jsx"},"5":{"name":"keyword.generator.asterisk.js.jsx"},"6":{"name":"meta.definition.function.js.jsx entity.name.function.js.jsx"}},"end":"(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|(?<=})","name":"meta.function.js.jsx","patterns":[{"include":"#function-name"},{"include":"#function-body"}]},"function-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"storage.type.function.js.jsx"},"3":{"name":"keyword.generator.asterisk.js.jsx"},"4":{"name":"meta.definition.function.js.jsx entity.name.function.js.jsx"}},"end":"(?=;)|(?<=})","name":"meta.function.expression.js.jsx","patterns":[{"include":"#function-name"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#function-body"}]},"function-name":{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.function.js.jsx entity.name.function.js.jsx"},"function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.js.jsx"}},"name":"meta.parameters.js.jsx","patterns":[{"include":"#function-parameters-body"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#parameter-type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.js.jsx"}]},"identifiers":{"patterns":[{"include":"#object-identifiers"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"entity.name.function.js.jsx"}},"match":"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"variable.other.constant.property.js.jsx"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"variable.other.property.js.jsx"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.js.jsx"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.js.jsx"}]},"if-statement":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\s*(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))\\\\s*(?!\\\\{))","end":"(?=;|$|})","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.js.jsx"},"2":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=\\\\))\\\\s*/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"keyword.other.js.jsx"}},"name":"string.regexp.js.jsx","patterns":[{"include":"#regexp"}]},{"include":"#statements"}]}]},"import-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type)(?!\\\\s+from))?(?!\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"keyword.control.import.js.jsx"},"4":{"name":"keyword.control.type.js.jsx"}},"end":"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)","name":"meta.import.js.jsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#string"},{"begin":"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\s*[\\"'])","end":"\\\\bfrom\\\\b","endCaptures":{"0":{"name":"keyword.control.from.js.jsx"}},"patterns":[{"include":"#import-export-declaration"}]},{"include":"#import-export-declaration"}]},"import-equals-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(require)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"keyword.control.import.js.jsx"},"4":{"name":"keyword.control.type.js.jsx"},"5":{"name":"variable.other.readwrite.alias.js.jsx"},"6":{"name":"keyword.operator.assignment.js.jsx"},"7":{"name":"keyword.control.require.js.jsx"},"8":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"name":"meta.import-equals.external.js.jsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(?!require\\\\b)","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"keyword.control.import.js.jsx"},"4":{"name":"keyword.control.type.js.jsx"},"5":{"name":"variable.other.readwrite.alias.js.jsx"},"6":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=;|$|^)","name":"meta.import-equals.internal.js.jsx","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.readwrite.js.jsx"}]}]},"import-export-assert-clause":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(with)|(assert))\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.with.js.jsx"},"2":{"name":"keyword.control.assert.js.jsx"},"3":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object-literal.key.js.jsx"},{"match":":","name":"punctuation.separator.key-value.js.jsx"}]},"import-export-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.block.js.jsx","patterns":[{"include":"#import-export-clause"}]},"import-export-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.type.js.jsx"},"2":{"name":"keyword.control.default.js.jsx"},"3":{"name":"constant.language.import-export-all.js.jsx"},"4":{"name":"variable.other.readwrite.js.jsx"},"5":{"name":"string.quoted.alias.js.jsx"},"12":{"name":"keyword.control.as.js.jsx"},"13":{"name":"keyword.control.default.js.jsx"},"14":{"name":"variable.other.readwrite.alias.js.jsx"},"15":{"name":"string.quoted.alias.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(type)\\\\s+)?(?:\\\\b(default)|(\\\\*)|\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)))\\\\s+(as)\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)))"},{"include":"#punctuation-comma"},{"match":"\\\\*","name":"constant.language.import-export-all.js.jsx"},{"match":"\\\\b(default)\\\\b","name":"keyword.control.default.js.jsx"},{"captures":{"1":{"name":"keyword.control.type.js.jsx"},"2":{"name":"variable.other.readwrite.alias.js.jsx"},"3":{"name":"string.quoted.alias.js.jsx"}},"match":"(?:\\\\b(type)\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)))"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"match":"\\\\bfrom\\\\b","name":"keyword.control.from.js.jsx"},{"include":"#import-export-assert-clause"},{"include":"#import-export-clause"}]},"indexer-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=:)","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"meta.brace.square.js.jsx"},"3":{"name":"variable.parameter.js.jsx"}},"end":"(])\\\\s*(\\\\?\\\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.js.jsx"},"2":{"name":"keyword.operator.optional.js.jsx"}},"name":"meta.indexer.declaration.js.jsx","patterns":[{"include":"#type-annotation"}]},"indexer-mapped-type-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([-+])?(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(in)\\\\s+","beginCaptures":{"1":{"name":"keyword.operator.type.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"meta.brace.square.js.jsx"},"4":{"name":"entity.name.type.js.jsx"},"5":{"name":"keyword.operator.expression.in.js.jsx"}},"end":"(])([-+])?\\\\s*(\\\\?\\\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.js.jsx"},"2":{"name":"keyword.operator.type.modifier.js.jsx"},"3":{"name":"keyword.operator.optional.js.jsx"}},"name":"meta.indexer.mappedtype.declaration.js.jsx","patterns":[{"captures":{"1":{"name":"keyword.control.as.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+"},{"include":"#type"}]},"inline-tags":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}},"match":"(\\\\[)[^]]+(])(?=\\\\{@(?:link|linkcode|linkplain|tutorial))","name":"constant.other.description.jsdoc"},{"begin":"(\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"end":"}|(?=\\\\*/)","endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"name":"entity.name.type.instance.jsdoc","patterns":[{"captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\\\G((?=https?://)(?:[^*|}\\\\s]|\\\\*/)+)(\\\\|)?"},{"captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\\\G((?:[^*@{|}\\\\s]|\\\\*[^/])+)(\\\\|)?"}]}]},"instanceof-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.operator.expression.instanceof.js.jsx"}},"end":"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))","patterns":[{"include":"#type"}]},"interface-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(interface)\\\\b(?=\\\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.type.interface.js.jsx"}},"end":"(?<=})","name":"meta.interface.js.jsx","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.interface.js.jsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"jsdoctype":{"patterns":[{"begin":"\\\\G(\\\\{)","beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"contentName":"entity.name.type.instance.jsdoc","end":"((}))\\\\s*|(?=\\\\*/)","endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"patterns":[{"include":"#brackets"}]}]},"jsx":{"patterns":[{"include":"#jsx-tag-without-attributes-in-expression"},{"include":"#jsx-tag-in-expression"}]},"jsx-children":{"patterns":[{"include":"#jsx-tag-without-attributes"},{"include":"#jsx-tag"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-entities"}]},"jsx-entities":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.entity.js.jsx"},"3":{"name":"punctuation.definition.entity.js.jsx"}},"match":"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.js.jsx"}]},"jsx-evaluated-code":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.js.jsx"}},"contentName":"meta.embedded.expression.js.jsx","end":"}","endCaptures":{"0":{"name":"punctuation.section.embedded.end.js.jsx"}},"patterns":[{"include":"#expression"}]},"jsx-string-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.js.jsx"}},"name":"string.quoted.double.js.jsx","patterns":[{"include":"#jsx-entities"}]},"jsx-string-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.js.jsx"}},"name":"string.quoted.single.js.jsx","patterns":[{"include":"#jsx-entities"}]},"jsx-tag":{"begin":"(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|/?>))","end":"(/>)|(</)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.js.jsx"},"2":{"name":"punctuation.definition.tag.begin.js.jsx"},"3":{"name":"entity.name.tag.namespace.js.jsx"},"4":{"name":"punctuation.separator.namespace.js.jsx"},"5":{"name":"entity.name.tag.js.jsx"},"6":{"name":"support.class.component.js.jsx"},"7":{"name":"punctuation.definition.tag.end.js.jsx"}},"name":"meta.tag.js.jsx","patterns":[{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js.jsx"},"2":{"name":"entity.name.tag.namespace.js.jsx"},"3":{"name":"punctuation.separator.namespace.js.jsx"},"4":{"name":"entity.name.tag.js.jsx"},"5":{"name":"support.class.component.js.jsx"}},"end":"(?=/?>)","patterns":[{"include":"#comment"},{"include":"#type-arguments"},{"include":"#jsx-tag-attributes"}]},{"begin":"(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js.jsx"}},"contentName":"meta.jsx.children.js.jsx","end":"(?=</)","patterns":[{"include":"#jsx-children"}]}]},"jsx-tag-attribute-assignment":{"match":"=(?=\\\\s*(?:[\\"'{]|/\\\\*|//|\\\\n))","name":"keyword.operator.assignment.js.jsx"},"jsx-tag-attribute-name":{"captures":{"1":{"name":"entity.other.attribute-name.namespace.js.jsx"},"2":{"name":"punctuation.separator.namespace.js.jsx"},"3":{"name":"entity.other.attribute-name.js.jsx"}},"match":"\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\\\s]|/?>|/\\\\*|//)"},"jsx-tag-attributes":{"begin":"\\\\s+","end":"(?=/?>)","name":"meta.tag.attributes.js.jsx","patterns":[{"include":"#comment"},{"include":"#jsx-tag-attribute-name"},{"include":"#jsx-tag-attribute-assignment"},{"include":"#jsx-string-double-quoted"},{"include":"#jsx-string-single-quoted"},{"include":"#jsx-evaluated-code"},{"include":"#jsx-tag-attributes-illegal"}]},"jsx-tag-attributes-illegal":{"match":"\\\\S+","name":"invalid.illegal.attribute.js.jsx"},"jsx-tag-in-expression":{"begin":"(?<!\\\\+\\\\+|--)(?<=[(*,:=>?\\\\[{]|&&|\\\\|\\\\||\\\\?|\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\s*(?!<\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\s+extends\\\\s+[^=>])|,))(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|/?>))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\s*)|(\\\\s+))(?!\\\\?)|/?>))","patterns":[{"include":"#jsx-tag"}]},"jsx-tag-without-attributes":{"begin":"(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\s*(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.js.jsx"},"2":{"name":"entity.name.tag.namespace.js.jsx"},"3":{"name":"punctuation.separator.namespace.js.jsx"},"4":{"name":"entity.name.tag.js.jsx"},"5":{"name":"support.class.component.js.jsx"},"6":{"name":"punctuation.definition.tag.end.js.jsx"}},"contentName":"meta.jsx.children.js.jsx","end":"(</)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\s*(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.js.jsx"},"2":{"name":"entity.name.tag.namespace.js.jsx"},"3":{"name":"punctuation.separator.namespace.js.jsx"},"4":{"name":"entity.name.tag.js.jsx"},"5":{"name":"support.class.component.js.jsx"},"6":{"name":"punctuation.definition.tag.end.js.jsx"}},"name":"meta.tag.without-attributes.js.jsx","patterns":[{"include":"#jsx-children"}]},"jsx-tag-without-attributes-in-expression":{"begin":"(?<!\\\\+\\\\+|--)(?<=[(*,:=>?\\\\[{]|&&|\\\\|\\\\||\\\\?|\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\s*(?=(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\s*(>))","end":"(?!(<)\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\s*(>))","patterns":[{"include":"#jsx-tag-without-attributes"}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)","beginCaptures":{"1":{"name":"entity.name.label.js.jsx"},"2":{"name":"punctuation.separator.label.js.jsx"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.js.jsx"},"2":{"name":"punctuation.separator.label.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)"}]},"literal":{"patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"},{"include":"#this-literal"},{"include":"#super-literal"}]},"method-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?\\\\s*\\\\b(constructor)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.modifier.async.js.jsx"},"5":{"name":"storage.type.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\s*\\\\b(new)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))|(?:(\\\\*)\\\\s*)?)(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.modifier.async.js.jsx"},"5":{"name":"keyword.operator.new.js.jsx"},"6":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.modifier.js.jsx"},"4":{"name":"storage.modifier.async.js.jsx"},"5":{"name":"storage.type.property.js.jsx"},"6":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??)\\\\s*[(<])","end":"(?=[(<])","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.method.js.jsx entity.name.function.js.jsx"},{"match":"\\\\?","name":"keyword.operator.optional.js.jsx"}]},"namespace-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(namespace|module)\\\\s+(?=[\\"$'_\`[:alpha:]])","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.namespace.js.jsx"}},"end":"(?<=})|(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.namespace.declaration.js.jsx","patterns":[{"include":"#comment"},{"include":"#string"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.type.module.js.jsx"},{"include":"#punctuation-accessor"},{"include":"#decl-block"}]},"new-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.operator.new.js.jsx"}},"end":"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))","name":"new.expr.js.jsx","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.null.js.jsx"},"numeric-literal":{"patterns":[{"captures":{"1":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)","name":"constant.numeric.hex.js.jsx"},{"captures":{"1":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)","name":"constant.numeric.binary.js.jsx"},{"captures":{"1":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"\\\\b(?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$)","name":"constant.numeric.octal.js.jsx"},{"captures":{"0":{"name":"constant.numeric.decimal.js.jsx"},"1":{"name":"meta.delimiter.decimal.period.js.jsx"},"2":{"name":"storage.type.numeric.bigint.js.jsx"},"3":{"name":"meta.delimiter.decimal.period.js.jsx"},"4":{"name":"storage.type.numeric.bigint.js.jsx"},"5":{"name":"meta.delimiter.decimal.period.js.jsx"},"6":{"name":"storage.type.numeric.bigint.js.jsx"},"7":{"name":"storage.type.numeric.bigint.js.jsx"},"8":{"name":"meta.delimiter.decimal.period.js.jsx"},"9":{"name":"storage.type.numeric.bigint.js.jsx"},"10":{"name":"meta.delimiter.decimal.period.js.jsx"},"11":{"name":"storage.type.numeric.bigint.js.jsx"},"12":{"name":"meta.delimiter.decimal.period.js.jsx"},"13":{"name":"storage.type.numeric.bigint.js.jsx"},"14":{"name":"storage.type.numeric.bigint.js.jsx"}},"match":"(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)"}]},"numericConstant-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.nan.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.infinity.js.jsx"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element"}]},{"include":"#object-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-const":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element-const"}]},{"include":"#object-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(:)","endCaptures":{"0":{"name":"punctuation.destructuring.js.jsx"}},"patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.object.property.js.jsx"}]},"object-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"patterns":[{"include":"#object-binding-element"}]},"object-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"patterns":[{"include":"#object-binding-element-const"}]},"object-identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\??\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.js.jsx"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"variable.other.constant.object.property.js.jsx"},"4":{"name":"variable.other.object.property.js.jsx"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(#?\\\\p{upper}[$_\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.constant.object.js.jsx"},"2":{"name":"variable.other.object.js.jsx"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"}]},"object-literal":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.objectliteral.js.jsx","patterns":[{"include":"#object-member"}]},"object-literal-method-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"storage.type.property.js.jsx"},"3":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"storage.type.property.js.jsx"},"3":{"name":"keyword.generator.asterisk.js.jsx"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.js.jsx meta.object-literal.key.js.jsx","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"'\`])","end":"(?=:)|((?<=[\\"'\`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.js.jsx meta.object-literal.key.js.jsx","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)))","end":"(?=:)|(?=\\\\s*([(,<}])|(\\\\s+as|satisifies\\\\s+))","name":"meta.object.member.js.jsx meta.object-literal.key.js.jsx","patterns":[{"include":"#comment"},{"include":"#numeric-literal"}]},{"begin":"(?<=[]\\"'\`])(?=\\\\s*[(<])","end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.js.jsx","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.js.jsx"},"1":{"name":"constant.numeric.decimal.js.jsx"}},"match":"(?![$_[:alpha:]])(\\\\d+)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.js.jsx"},{"captures":{"0":{"name":"meta.object-literal.key.js.jsx"},"1":{"name":"entity.name.function.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/)*\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.js.jsx"},{"captures":{"0":{"name":"meta.object-literal.key.js.jsx"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.js.jsx"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js.jsx"}},"end":"(?=[,}])","name":"meta.object.member.js.jsx","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.js.jsx"},{"captures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))","name":"meta.object.member.js.jsx"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+","beginCaptures":{"1":{"name":"keyword.control.as.js.jsx"},"2":{"name":"keyword.control.satisfies.js.jsx"}},"end":"(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisifies)\\\\s+))","name":"meta.object.member.js.jsx","patterns":[{"include":"#type"}]},{"begin":"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*=)","end":"(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.js.jsx","patterns":[{"include":"#expression"}]},{"begin":":","beginCaptures":{"0":{"name":"meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx"}},"end":"(?=[,}])","name":"meta.object.member.js.jsx","patterns":[{"begin":"(?<=:)\\\\s*(async)?(?=\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"},"2":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.js.jsx"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"entity.name.function.js.jsx variable.language.this.js.jsx"},"4":{"name":"entity.name.function.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"4":{"name":"variable.parameter.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)"}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"},{"include":"#paren-expression"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.js.jsx"},"2":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.js.jsx"}},"patterns":[{"include":"#parameter-object-binding-element"}]},"parameter-type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?=[),])|(?==[^>])","name":"meta.type.annotation.js.jsx","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.js.jsx"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.js.jsx meta.return.type.arrow.js.jsx keyword.operator.type.annotation.js.jsx"}},"contentName":"meta.arrow.js.jsx meta.return.type.arrow.js.jsx","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.type.property.js.jsx"},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.js.jsx"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.js.jsx"},"qstring-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"invalid.illegal.newline.js.jsx"}},"name":"string.quoted.double.js.jsx","patterns":[{"include":"#string-character-escape"}]},"qstring-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"invalid.illegal.newline.js.jsx"}},"name":"string.quoted.single.js.jsx","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?<!\\\\+\\\\+|--|})(?<=[!(+,:=?\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"keyword.other.js.jsx"}},"name":"string.regexp.js.jsx","patterns":[{"include":"#regexp"}]},{"begin":"((?<![]$)_[:alnum:]]|\\\\+\\\\+|--|}|\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\s*)/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.js.jsx"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.js.jsx"},"2":{"name":"keyword.other.js.jsx"}},"name":"string.regexp.js.jsx","patterns":[{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\\\\\[DSWdfnrstvw]|\\\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\\\\\([0-7]{3}|x\\\\h{2}|u\\\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}},"match":"\\\\\\\\(?:[1-9]\\\\d*|k<([$A-Z_a-z][$\\\\w]*)>)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?<!))","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\\\((?:(\\\\?:)|\\\\?<([$A-Z_a-z][$\\\\w]*)>)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\\\&:|])(?=$|^|[,;{}]|//)","name":"meta.return.type.js.jsx","patterns":[{"include":"#return-type-core"}]},{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\\\&:|])((?=[,;{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.return.type.js.jsx","patterns":[{"include":"#return-type-core"}]}]},"return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<=[\\\\&:|])(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.js.jsx"}},"match":"\\\\A(#!).*(?=$)","name":"comment.line.shebang.js.jsx"},"single-line-comment-consuming-line-ending":{"begin":"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js.jsx"},"2":{"name":"comment.line.double-slash.js.jsx"},"3":{"name":"punctuation.definition.comment.js.jsx"},"4":{"name":"storage.type.internaldeclaration.js.jsx"},"5":{"name":"punctuation.decorator.internaldeclaration.js.jsx"}},"contentName":"comment.line.double-slash.js.jsx","end":"(?=^)"},"statements":{"patterns":[{"include":"#declaration"},{"include":"#control-statement"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#label"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.js.jsx"},"super-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))super\\\\b(?!\\\\$)","name":"variable.language.super.js.jsx"},"support-function-call-identifiers":{"patterns":[{"include":"#literal"},{"include":"#support-objects"},{"include":"#object-identifiers"},{"include":"#punctuation-accessor"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\(\\\\s*[\\"'\`])","name":"keyword.operator.expression.import.js.jsx"}]},"support-objects":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(arguments)\\\\b(?!\\\\$)","name":"variable.language.arguments.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(Promise)\\\\b(?!\\\\$)","name":"support.class.promise.js.jsx"},{"captures":{"1":{"name":"keyword.control.import.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"},"4":{"name":"support.variable.property.importmeta.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(import)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(meta)\\\\b(?!\\\\$)"},{"captures":{"1":{"name":"keyword.operator.new.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"},"4":{"name":"support.variable.property.target.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(target)\\\\b(?!\\\\$)"},{"captures":{"1":{"name":"punctuation.accessor.js.jsx"},"2":{"name":"punctuation.accessor.optional.js.jsx"},"3":{"name":"support.variable.property.js.jsx"},"4":{"name":"support.constant.js.jsx"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(constructor|length|prototype|__proto__)\\\\b(?!\\\\$|\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.js.jsx"},"2":{"name":"support.type.object.module.js.jsx"},"3":{"name":"punctuation.accessor.js.jsx"},"4":{"name":"punctuation.accessor.optional.js.jsx"},"5":{"name":"support.type.object.module.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(exports)|(module)(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\b(?!\\\\$)"}]},"switch-statement":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bswitch\\\\s*\\\\()","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"switch-statement.expr.js.jsx","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(switch)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.switch.js.jsx"},"2":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"name":"switch-expression.expr.js.jsx","patterns":[{"include":"#expression"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"(?=})","name":"switch-block.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.control.switch.js.jsx"}},"end":"(?=:)","name":"case-clause.expr.js.jsx","patterns":[{"include":"#expression"}]},{"begin":"(:)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx"},"2":{"name":"meta.block.js.jsx punctuation.definition.block.js.jsx"}},"contentName":"meta.block.js.jsx","end":"}","endCaptures":{"0":{"name":"meta.block.js.jsx punctuation.definition.block.js.jsx"}},"patterns":[{"include":"#statements"}]},{"captures":{"0":{"name":"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx"}},"match":"(:)"},{"include":"#statements"}]}]},"template":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js.jsx"},"2":{"name":"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"}},"contentName":"string.template.js.jsx","end":"\`","endCaptures":{"0":{"name":"string.template.js.jsx punctuation.definition.string.template.end.js.jsx"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-call":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\`)","end":"(?=\`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.js.jsx"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js.jsx"}},"end":"(?=\`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js.jsx"}},"contentName":"meta.embedded.line.js.jsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js.jsx"}},"name":"meta.template.expression.js.jsx","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(\`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js.jsx"},"2":{"name":"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx"}},"contentName":"string.template.js.jsx","end":"\`","endCaptures":{"0":{"name":"string.template.js.jsx punctuation.definition.string.template.end.js.jsx"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.js.jsx"}},"contentName":"meta.embedded.line.js.jsx","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.js.jsx"}},"name":"meta.template.expression.js.jsx","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.js.jsx"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.js.jsx"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))this\\\\b(?!\\\\$)","name":"variable.language.this.js.jsx"},"type":{"patterns":[{"include":"#comment"},{"include":"#type-string"},{"include":"#numeric-literal"},{"include":"#type-primitive"},{"include":"#type-builtin-literals"},{"include":"#type-parameters"},{"include":"#type-tuple"},{"include":"#type-object"},{"include":"#type-operators"},{"include":"#type-conditional"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"captures":{"1":{"name":"storage.modifier.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*"},{"include":"#type-name"}]},"type-alias-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(type)\\\\b\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.type.js.jsx"},"4":{"name":"entity.name.type.alias.js.jsx"}},"end":"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.type.declaration.js.jsx","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"begin":"(=)\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"},"2":{"name":"keyword.control.intrinsic.js.jsx"}},"end":"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type"}]},{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type"}]}]},"type-annotation":{"patterns":[{"begin":"(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\\\&:|])(?!\\\\s*[\\\\&|]\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.js.jsx","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.js.jsx"}},"end":"(?<![\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.js.jsx","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.js.jsx"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-builtin-literals":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"support.type.builtin.js.jsx"},"type-conditional":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"}},"end":"(?<=:)","patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.js.jsx"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.js.jsx"}},"patterns":[{"include":"#type"}]},{"include":"#type"}]}]},"type-fn-type-parameters":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b(?=\\\\s*<)","beginCaptures":{"1":{"name":"meta.type.constructor.js.jsx storage.modifier.js.jsx"},"2":{"name":"meta.type.constructor.js.jsx keyword.control.new.js.jsx"}},"end":"(?<=>)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.control.new.js.jsx"}},"end":"(?<=\\\\))","name":"meta.type.constructor.js.jsx","patterns":[{"include":"#function-parameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.js.jsx","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.js.jsx"}},"end":"(?<!=>)(?<![\\\\&|])(?=[]),:;=>?{}]|//|$)","name":"meta.type.function.return.js.jsx","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.js.jsx"}},"end":"(?<!=>)(?<![\\\\&|])((?=[]),:;=>?{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.js.jsx","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.js.jsx"},"2":{"name":"entity.name.type.js.jsx"},"3":{"name":"keyword.operator.expression.extends.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(infer)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))?","name":"meta.type.infer.js.jsx"}]},"type-name":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(<)","captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"},"4":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"}},"contentName":"meta.type.parameters.js.jsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.js.jsx"},"2":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx"}},"contentName":"meta.type.parameters.js.jsx","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.js.jsx"},"2":{"name":"punctuation.accessor.js.jsx"},"3":{"name":"punctuation.accessor.optional.js.jsx"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.js.jsx"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.js.jsx"}},"name":"meta.object.type.js.jsx","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.js.jsx"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.js.jsx"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.js.jsx"}},"end":"(?=\\\\S)"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.keyof.js.jsx"},{"match":"([:?])","name":"keyword.operator.ternary.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\()","name":"keyword.operator.expression.import.js.jsx"}]},"type-parameters":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.js.jsx"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.js.jsx"}},"name":"meta.type.parameters.js.jsx","patterns":[{"include":"#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.js.jsx"},{"include":"#type"},{"include":"#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.js.jsx"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.js.jsx"}},"name":"meta.type.paren.cover.js.jsx","patterns":[{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"entity.name.function.js.jsx variable.language.this.js.jsx"},"4":{"name":"entity.name.function.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=\\\\s*(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.js.jsx"},"2":{"name":"keyword.operator.rest.js.jsx"},"3":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"4":{"name":"variable.parameter.js.jsx"},"5":{"name":"keyword.operator.optional.js.jsx"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=:)"},{"include":"#type-annotation"},{"match":",","name":"punctuation.separator.parameter.js.jsx"},{"include":"#type"}]},"type-predicate-operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.asserts.js.jsx"},"2":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"3":{"name":"variable.parameter.js.jsx"},"4":{"name":"keyword.operator.expression.is.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(asserts)\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"captures":{"1":{"name":"keyword.operator.type.asserts.js.jsx"},"2":{"name":"variable.parameter.js.jsx variable.language.this.js.jsx"},"3":{"name":"variable.parameter.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(asserts)\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.type.asserts.js.jsx"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.is.js.jsx"}]},"type-primitive":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"support.type.primitive.js.jsx"},"type-string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template-type"}]},"type-tuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.js.jsx"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.js.jsx"}},"name":"meta.type.tuple.js.jsx","patterns":[{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.rest.js.jsx"},{"captures":{"1":{"name":"entity.name.label.js.jsx"},"2":{"name":"keyword.operator.optional.js.jsx"},"3":{"name":"punctuation.separator.label.js.jsx"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeof-operator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"0":{"name":"keyword.operator.expression.typeof.js.jsx"}},"end":"(?=[]\\\\&),:;=>?{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.undefined.js.jsx"},"var-expr":{"patterns":[{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))","end":"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\s*$)))","name":"meta.var.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?=\\\\S)"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.js.jsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\s*$)))","name":"meta.var.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?=\\\\S)"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.js.jsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\s+|[^$._[:alnum:]]await\\\\s+)using)(?=\\\\s*$)))","name":"meta.var.expr.js.jsx","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.js.jsx"},"2":{"name":"storage.modifier.js.jsx"},"3":{"name":"storage.type.js.jsx"}},"end":"(?=\\\\S)"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\\\s*((?!\\\\S)|(?=//))","beginCaptures":{"1":{"name":"punctuation.separator.comma.js.jsx"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]}]},"var-single-const":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx entity.name.function.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|(\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|(<\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\s+extends\\\\s*[^=>])|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"'()\`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|('([^'\\\\\\\\]|\\\\\\\\.)*')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\`([^\\\\\\\\\`]|\\\\\\\\.)*\`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx entity.name.function.js.jsx"},"2":{"name":"keyword.operator.definiteassignment.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.constant.js.jsx"},"2":{"name":"keyword.operator.definiteassignment.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx"},"2":{"name":"keyword.operator.definiteassignment.js.jsx"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.js.jsx","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{"patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}]},"variable-initializer":{"patterns":[{"begin":"(?<![!=])(=)(?!=)(?=\\\\s*\\\\S)(?!\\\\s*.*=>\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","patterns":[{"include":"#expression"}]},{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.js.jsx"}},"end":"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))|(?=^\\\\s*$)|(?<![-\\\\&*+/|])(?<=\\\\S)(?<!=)(?=\\\\s*$)","patterns":[{"include":"#expression"}]}]}},"scopeName":"source.js.jsx"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-g9-lgVsj.js.map diff --git a/src/webview-ui/build/assets/chunk-g9-lgVsj.js.map b/src/webview-ui/build/assets/chunk-g9-lgVsj.js.map new file mode 100644 index 0000000000..40f9a5d1a6 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-g9-lgVsj.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-g9-lgVsj.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/jsx.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSX\\\",\\\"name\\\":\\\"jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"name\\\":\\\"meta.array.literal.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.js.jsx\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.js.jsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"name\\\":\\\"comment.block.documentation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"name\\\":\\\"comment.block.js.jsx\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js.jsx\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.js.jsx\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.block.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js.jsx\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.js.jsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js.jsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js.jsx\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js.jsx\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js.jsx\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js.jsx\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.js.jsx\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js.jsx\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js.jsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js.jsx\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.js.jsx entity.name.function.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.js.jsx variable.object.property.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js.jsx punctuation.accessor.optional.js.jsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.js.jsx keyword.operator.definiteassignment.js.jsx\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.js.jsx\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.js.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"meta.import-equals.external.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.js.jsx\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.block.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.js.jsx\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.js.jsx\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.js.jsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js.jsx\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.js.jsx\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.double.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.single.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(/>)|(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js.jsx\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:[\\\\\\\"'{]|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\\\\\\\s]|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js.jsx\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js.jsx\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.js.jsx entity.name.function.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.js.jsx\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.js.jsx\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.js.jsx\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js.jsx\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js.jsx\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js.jsx meta.return.type.arrow.js.jsx keyword.operator.type.annotation.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.arrow.js.jsx meta.return.type.arrow.js.jsx\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.js.jsx\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.double.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.single.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.js.jsx\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js.jsx\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.js.jsx\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.js.jsx\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js.jsx\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"switch-statement.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"switch-expression.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.js.jsx punctuation.definition.block.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.block.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.js.jsx punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"string.template.js.jsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.template.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"string.template.js.jsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.template.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.js.jsx\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.js.jsx\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.js.jsx storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.js.jsx keyword.control.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.js.jsx\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.js.jsx\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.object.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.js.jsx\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js.jsx\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js.jsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.js.jsx\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.js.jsx\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.tuple.js.jsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.js.jsx\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.js.jsx\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\\\\\s+|[^$._[:alnum:]]await\\\\\\\\s+)using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=//))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx entity.name.function.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.js.jsx\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "jsx" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,gk7KAA62uL,CAAC,EAEr4uLC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-gcz8RCvz.js b/src/webview-ui/build/assets/chunk-gcz8RCvz.js new file mode 100644 index 0000000000..50e4701862 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-gcz8RCvz.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + `{"displayName":"Groovy","name":"groovy","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"^(#!).+$\\\\n","name":"comment.line.hashbang.groovy"},{"captures":{"1":{"name":"keyword.other.package.groovy"},"2":{"name":"storage.modifier.package.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(package)\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.package.groovy"},{"begin":"(import static)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.static.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"begin":"(import)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.import.groovy"}},"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"storage.modifier.import.groovy"},"3":{"name":"punctuation.terminator.groovy"}},"contentName":"storage.modifier.import.groovy","end":"\\\\s*(?:$|(?=%>)|(;))","endCaptures":{"1":{"name":"punctuation.terminator.groovy"}},"name":"meta.import.groovy","patterns":[{"match":"\\\\.","name":"punctuation.separator.groovy"},{"match":"\\\\s","name":"invalid.illegal.character_not_allowed_here.groovy"}]},{"captures":{"1":{"name":"keyword.other.import.groovy"},"2":{"name":"keyword.other.import.static.groovy"},"3":{"name":"storage.modifier.import.groovy"},"4":{"name":"punctuation.terminator.groovy"}},"match":"^\\\\s*(import)\\\\s+(static)\\\\s+\\\\b(?:\\\\s*([^ $;]+)\\\\s*(;)?)?","name":"meta.import.groovy"},{"include":"#groovy"}],"repository":{"annotations":{"patterns":[{"begin":"(?<!\\\\.)(@[^ (]+)(\\\\()","beginCaptures":{"1":{"name":"storage.type.annotation.groovy"},"2":{"name":"punctuation.definition.annotation-arguments.begin.groovy"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.groovy"}},"name":"meta.declaration.annotation.groovy","patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"keyword.operator.assignment.groovy"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#values"},{"match":",","name":"punctuation.definition.seperator.groovy"}]},{"match":"(?<!\\\\.)@\\\\S+","name":"storage.type.annotation.groovy"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.groovy"}},"end":"(?<=[])])(?!\\\\s*\\\\{)|(?<=})|(?=;)|$","patterns":[{"begin":"(\\\\w+)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"}|(?=\\\\s*[),;])|$","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]},{"begin":"\\\\{","end":"(?=})","patterns":[{"include":"#groovy"}]}]},{"begin":"(?=\\\\w.*\\\\(?)","end":"(?<=\\\\))|$","patterns":[{"include":"#object-types"},{"begin":"\\\\(","beginCaptures":{"1":{"name":"storage.type.groovy"}},"end":"\\\\)","patterns":[{"include":"#groovy"}]}]},{"begin":"\\\\{","end":"}","name":"meta.inner-class.groovy","patterns":[{"include":"#class-body"}]}]},"braces":{"begin":"\\\\{","end":"}","patterns":[{"include":"#groovy-code"}]},"class":{"begin":"(?=\\\\w?[\\\\w\\\\s]*(?:class|@?interface|enum)\\\\s+\\\\w+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.groovy"}},"name":"meta.definition.class.groovy","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.groovy"},"2":{"name":"entity.name.type.class.groovy"}},"match":"(class|@?interface|enum)\\\\s+(\\\\w+)","name":"meta.class.identifier.groovy"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.groovy"}},"end":"(?=\\\\{|implements)","name":"meta.definition.class.inherited.classes.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.groovy"}},"end":"(?=\\\\s*extends|\\\\{)","name":"meta.definition.class.implemented.interfaces.groovy","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.class.body.groovy","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#enum-values"},{"include":"#constructors"},{"include":"#groovy"}]},"closures":{"begin":"\\\\{(?=.*?->)","end":"}","patterns":[{"begin":"(?<=\\\\{)(?=[^}]*?->)","end":"->","endCaptures":{"0":{"name":"keyword.operator.groovy"}},"patterns":[{"begin":"(?!->)","end":"(?=->)","name":"meta.closure.parameters.groovy","patterns":[{"begin":"(?!,|->)","end":"(?=,|->)","name":"meta.closure.parameter.groovy","patterns":[{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=,|->)","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=[^}])","end":"(?=})","patterns":[{"include":"#groovy-code"}]}]},"comment-block":{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"end":"\\\\*/","name":"comment.block.groovy"},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.groovy"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.groovy"},{"include":"text.html.javadoc"},{"include":"#comment-block"},{"captures":{"1":{"name":"punctuation.definition.comment.groovy"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.groovy"}]},"constants":{"patterns":[{"match":"\\\\b([A-Z][0-9A-Z_]+)\\\\b","name":"constant.other.groovy"},{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.groovy"}]},"constructors":{"applyEndPatternLast":1,"begin":"(?<=;|^)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\\s+)*[A-Z]\\\\w*\\\\()","end":"}","patterns":[{"include":"#method-content"}]},"enum-values":{"patterns":[{"begin":"(?<=;|^)\\\\s*\\\\b([0-9A-Z_]+)(?=\\\\s*(?:[(,;}]|$))","beginCaptures":{"1":{"name":"constant.enum.name.groovy"}},"end":"[,;]|(?=})|^(?!\\\\s*\\\\w+\\\\s*(?:,|$))","patterns":[{"begin":"\\\\(","end":"\\\\)","name":"meta.enum.value.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]}]}]},"groovy":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#variables"},{"include":"#methods"},{"include":"#annotations"},{"include":"#groovy-code"}]},"groovy-code":{"patterns":[{"include":"#groovy-code-minus-map-keys"},{"include":"#map-keys"}]},"groovy-code-minus-map-keys":{"patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#support-functions"},{"include":"#keyword-language"},{"include":"#values"},{"include":"#anonymous-classes-and-new"},{"include":"#keyword-operator"},{"include":"#types"},{"include":"#storage-modifiers"},{"include":"#parens"},{"include":"#closures"},{"include":"#braces"}]},"keyword":{"patterns":[{"include":"#keyword-operator"},{"include":"#keyword-language"}]},"keyword-language":{"patterns":[{"match":"\\\\b(try|catch|finally|throw)\\\\b","name":"keyword.control.exception.groovy"},{"match":"\\\\b((?<!\\\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\\\b","name":"keyword.control.groovy"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.groovy"}},"end":":","endCaptures":{"0":{"name":"punctuation.definition.case-terminator.groovy"}},"name":"meta.case.groovy","patterns":[{"include":"#groovy-code-minus-map-keys"}]},{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.groovy"}},"end":"$|[;}]","name":"meta.declaration.assertion.groovy","patterns":[{"match":":","name":"keyword.operator.assert.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"\\\\b(throws)\\\\b","name":"keyword.other.throws.groovy"}]},"keyword-operator":{"patterns":[{"match":"\\\\b(as)\\\\b","name":"keyword.operator.as.groovy"},{"match":"\\\\b(in)\\\\b","name":"keyword.operator.in.groovy"},{"match":"\\\\?:","name":"keyword.operator.elvis.groovy"},{"match":"\\\\*:","name":"keyword.operator.spreadmap.groovy"},{"match":"\\\\.\\\\.","name":"keyword.operator.range.groovy"},{"match":"->","name":"keyword.operator.arrow.groovy"},{"match":"<<","name":"keyword.operator.leftshift.groovy"},{"match":"(?<=\\\\S)\\\\.(?=\\\\S)","name":"keyword.operator.navigation.groovy"},{"match":"(?<=\\\\S)\\\\?\\\\.(?=\\\\S)","name":"keyword.operator.safe-navigation.groovy"},{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.groovy"}},"end":"(?=$|[])}])","name":"meta.evaluation.ternary.groovy","patterns":[{"match":":","name":"keyword.operator.ternary.expression-seperator.groovy"},{"include":"#groovy-code-minus-map-keys"}]},{"match":"==~","name":"keyword.operator.match.groovy"},{"match":"=~","name":"keyword.operator.find.groovy"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.groovy"},{"match":"(===?|!=|<=|>=|<=>|<>|[<>]|<<)","name":"keyword.operator.comparison.groovy"},{"match":"=","name":"keyword.operator.assignment.groovy"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.groovy"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.groovy"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.groovy"}]},"language-variables":{"patterns":[{"match":"\\\\b(this|super)\\\\b","name":"variable.language.groovy"}]},"map-keys":{"patterns":[{"captures":{"1":{"name":"constant.other.key.groovy"},"2":{"name":"punctuation.definition.seperator.key-value.groovy"}},"match":"(\\\\w+)\\\\s*(:)"}]},"method-call":{"begin":"([$\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"meta.method.groovy"},"2":{"name":"punctuation.definition.method-parameters.begin.groovy"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.method-parameters.end.groovy"}},"name":"meta.method-call.groovy","patterns":[{"match":",","name":"punctuation.definition.seperator.parameter.groovy"},{"include":"#groovy-code"}]},"method-content":{"patterns":[{"match":"\\\\s"},{"include":"#annotations"},{"begin":"(?=[<\\\\w][^(]*\\\\s+[$<\\\\w]+\\\\s*\\\\()","end":"(?=[$\\\\w]+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#storage-modifiers"},{"include":"#types"}]},{"begin":"([$\\\\w]+)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"\\\\)","name":"meta.definition.method.signature.java","patterns":[{"begin":"(?=[^)])","end":"(?=\\\\))","name":"meta.method.parameters.groovy","patterns":[{"begin":"(?=[^),])","end":"(?=[),])","name":"meta.method.parameter.groovy","patterns":[{"match":",","name":"punctuation.definition.separator.groovy"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"(?=[),])","name":"meta.parameter.default.groovy","patterns":[{"include":"#groovy-code"}]},{"include":"#parameters"}]}]}]},{"begin":"(?=<)","end":"(?=\\\\s)","name":"meta.method.paramerised-type.groovy","patterns":[{"begin":"<","end":">","name":"storage.type.parameters.groovy","patterns":[{"include":"#types"},{"match":",","name":"punctuation.definition.seperator.groovy"}]}]},{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.groovy"}},"end":"(?=[;{])|^(?=\\\\s*(?:[^{\\\\s]|$))","name":"meta.throwables.groovy","patterns":[{"include":"#object-types"}]},{"begin":"\\\\{","end":"(?=})","name":"meta.method.body.java","patterns":[{"include":"#groovy-code"}]}]},"methods":{"applyEndPatternLast":1,"begin":"(?<=;|^|\\\\{)(?=\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)[]\\\\[]*(?:<.*>)?)\\\\s+([^=]+\\\\s+)?\\\\w+\\\\s*\\\\()","end":"}|(?=[^{])","name":"meta.definition.method.groovy","patterns":[{"include":"#method-content"}]},"nest_curly":{"begin":"\\\\{","captures":{"0":{"name":"punctuation.section.scope.groovy"}},"end":"}","patterns":[{"include":"#nest_curly"}]},"numbers":{"patterns":[{"match":"((0([Xx])\\\\h*)|([-+])?\\\\b(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\b","name":"constant.numeric.groovy"}]},"object-types":{"patterns":[{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL]))<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy","patterns":[{"include":"#object-types"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"begin":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)(?=\\\\[)","end":"(?=[^]\\\\s])","name":"storage.type.object.array.groovy","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#groovy"}]}]},{"match":"\\\\b(?:[A-Za-z]\\\\w*\\\\.)*(?:[A-Z]+\\\\w*[a-z]+\\\\w*|UR[IL])\\\\b","name":"storage.type.groovy"}]},"object-types-inherited":{"patterns":[{"begin":"\\\\b((?:[A-Za-z]\\\\w*\\\\.)*[A-Z]+\\\\w*[a-z]+\\\\w*)<","end":"[>[^],<?\\\\[\\\\w\\\\s]]","name":"entity.other.inherited-class.groovy","patterns":[{"include":"#object-types-inherited"},{"begin":"<","end":"[>[^],<\\\\[\\\\w\\\\s]]","name":"storage.type.generic.groovy"}]},{"captures":{"1":{"name":"keyword.operator.dereference.groovy"}},"match":"\\\\b(?:[A-Za-z]\\\\w*(\\\\.))*[A-Z]+\\\\w*[a-z]+\\\\w*\\\\b","name":"entity.other.inherited-class.groovy"}]},"parameters":{"patterns":[{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#types"},{"match":"\\\\w+","name":"variable.parameter.method.groovy"}]},"parens":{"begin":"\\\\(","end":"\\\\)","patterns":[{"include":"#groovy-code"}]},"primitive-arrays":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\\\[])*\\\\b","name":"storage.type.primitive.array.groovy"}]},"primitive-types":{"patterns":[{"match":"\\\\b(?:void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.groovy"}]},"regexp":{"patterns":[{"begin":"/(?=[^/]+/([^>]|$))","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"/","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},{"begin":"~\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.regexp.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.regexp.end.groovy"}},"name":"string.regexp.compiled.groovy","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]}]},"storage-modifiers":{"patterns":[{"match":"\\\\b(p(?:rivate|rotected|ublic))\\\\b","name":"storage.modifier.access-control.groovy"},{"match":"\\\\b(static)\\\\b","name":"storage.modifier.static.groovy"},{"match":"\\\\b(final)\\\\b","name":"storage.modifier.final.groovy"},{"match":"\\\\b(native|synchronized|abstract|threadsafe|transient)\\\\b","name":"storage.modifier.other.groovy"}]},"string-quoted-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-double-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"},{"applyEndPatternLast":1,"begin":"\\\\$\\\\w","end":"(?=\\\\W)","name":"variable.other.interpolated.groovy","patterns":[{"match":"\\\\w","name":"variable.other.interpolated.groovy"},{"match":"\\\\.","name":"keyword.other.dereference.groovy"}]},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"punctuation.section.embedded.groovy"}},"end":"}","name":"source.groovy.embedded.source","patterns":[{"include":"#nest_curly"}]}]},"string-quoted-double-multiline":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.double.multiline.groovy","patterns":[{"include":"#string-quoted-double-contents"}]},"string-quoted-single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"string-quoted-single-contents":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.groovy"}]},"string-quoted-single-multiline":{"begin":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.groovy"}},"end":"'''","endCaptures":{"0":{"name":"punctuation.definition.string.end.groovy"}},"name":"string.quoted.single.multiline.groovy","patterns":[{"include":"#string-quoted-single-contents"}]},"strings":{"patterns":[{"include":"#string-quoted-double-multiline"},{"include":"#string-quoted-single-multiline"},{"include":"#string-quoted-double"},{"include":"#string-quoted-single"},{"include":"#regexp"}]},"structures":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.structure.begin.groovy"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.structure.end.groovy"}},"name":"meta.structure.groovy","patterns":[{"include":"#groovy-code"},{"match":",","name":"punctuation.definition.separator.groovy"}]},"support-functions":{"patterns":[{"match":"\\\\b(?:sprintf|print(?:f|ln)?)\\\\b","name":"support.function.print.groovy"},{"match":"\\\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\\\b","name":"support.function.testing.groovy"}]},"types":{"patterns":[{"match":"\\\\b(def)\\\\b","name":"storage.type.def.groovy"},{"include":"#primitive-types"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"values":{"patterns":[{"include":"#language-variables"},{"include":"#strings"},{"include":"#numbers"},{"include":"#constants"},{"include":"#types"},{"include":"#structures"},{"include":"#method-call"}]},"variables":{"applyEndPatternLast":1,"patterns":[{"begin":"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)\\\\s+[],<>\\\\[_\\\\w\\\\d\\\\s]+(?:=|$))","end":";|$","name":"meta.definition.variable.groovy","patterns":[{"match":"\\\\s"},{"captures":{"1":{"name":"constant.variable.groovy"}},"match":"([0-9A-Z_]+)\\\\s+(?==)"},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^,\\\\s]*)\\\\s+(?==)"},{"begin":"=","beginCaptures":{"0":{"name":"keyword.operator.assignment.groovy"}},"end":"$","patterns":[{"include":"#groovy-code"}]},{"captures":{"1":{"name":"meta.definition.variable.name.groovy"}},"match":"(\\\\w[^=\\\\s]*)(?=\\\\s*($|;))"},{"include":"#groovy-code"}]}]}},"scopeName":"source.groovy"}`, + ), + ), + n = [e] +export { n as default } +//# sourceMappingURL=chunk-gcz8RCvz.js.map diff --git a/src/webview-ui/build/assets/chunk-gcz8RCvz.js.map b/src/webview-ui/build/assets/chunk-gcz8RCvz.js.map new file mode 100644 index 0000000000..39cd793d42 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-gcz8RCvz.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-gcz8RCvz.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/groovy.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Groovy\\\",\\\"name\\\":\\\"groovy\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.groovy\\\"}},\\\"match\\\":\\\"^(#!).+$\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.hashbang.groovy\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.package.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.package.groovy\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.terminator.groovy\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(package)\\\\\\\\b(?:\\\\\\\\s*([^ $;]+)\\\\\\\\s*(;)?)?\\\",\\\"name\\\":\\\"meta.package.groovy\\\"},{\\\"begin\\\":\\\"(import static)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.static.groovy\\\"}},\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.import.groovy\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.terminator.groovy\\\"}},\\\"contentName\\\":\\\"storage.modifier.import.groovy\\\",\\\"end\\\":\\\"\\\\\\\\s*(?:$|(?=%>)(;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.groovy\\\"}},\\\"name\\\":\\\"meta.import.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\s\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.groovy\\\"}]},{\\\"begin\\\":\\\"(import)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.groovy\\\"}},\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.import.groovy\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.terminator.groovy\\\"}},\\\"contentName\\\":\\\"storage.modifier.import.groovy\\\",\\\"end\\\":\\\"\\\\\\\\s*(?:$|(?=%>)|(;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.groovy\\\"}},\\\"name\\\":\\\"meta.import.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\s\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.groovy\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.import.static.groovy\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.import.groovy\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.terminator.groovy\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(import)\\\\\\\\s+(static)\\\\\\\\s+\\\\\\\\b(?:\\\\\\\\s*([^ $;]+)\\\\\\\\s*(;)?)?\\\",\\\"name\\\":\\\"meta.import.groovy\\\"},{\\\"include\\\":\\\"#groovy\\\"}],\\\"repository\\\":{\\\"annotations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\.)(@[^ (]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.annotation.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.annotation-arguments.begin.groovy\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.annotation-arguments.end.groovy\\\"}},\\\"name\\\":\\\"meta.declaration.annotation.groovy\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.key.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.groovy\\\"}},\\\"match\\\":\\\"(\\\\\\\\w*)\\\\\\\\s*(=)\\\"},{\\\"include\\\":\\\"#values\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.seperator.groovy\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\.)@\\\\\\\\S+\\\",\\\"name\\\":\\\"storage.type.annotation.groovy\\\"}]},\\\"anonymous-classes-and-new\\\":{\\\"begin\\\":\\\"\\\\\\\\bnew\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.new.groovy\\\"}},\\\"end\\\":\\\"(?<=[])])(?!\\\\\\\\s*\\\\\\\\{)|(?<=})|(?=;)|$\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.groovy\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*[),;])|$\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy\\\"}]}]},{\\\"begin\\\":\\\"(?=\\\\\\\\w.*\\\\\\\\(?)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.groovy\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"meta.inner-class.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-body\\\"}]}]},\\\"braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]},\\\"class\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\w?[\\\\\\\\w\\\\\\\\s]*(?:class|@?interface|enum)\\\\\\\\s+\\\\\\\\w+)\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.class.end.groovy\\\"}},\\\"name\\\":\\\"meta.definition.class.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.groovy\\\"}},\\\"match\\\":\\\"(class|@?interface|enum)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"name\\\":\\\"meta.class.identifier.groovy\\\"},{\\\"begin\\\":\\\"extends\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.extends.groovy\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|implements)\\\",\\\"name\\\":\\\"meta.definition.class.inherited.classes.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"(implements)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.groovy\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*extends|\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.definition.class.implemented.interfaces.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.class.body.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-body\\\"}]}]},\\\"class-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#enum-values\\\"},{\\\"include\\\":\\\"#constructors\\\"},{\\\"include\\\":\\\"#groovy\\\"}]},\\\"closures\\\":{\\\"begin\\\":\\\"\\\\\\\\{(?=.*?->)\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\{)(?=[^}]*?->)\\\",\\\"end\\\":\\\"->\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.groovy\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?!->)\\\",\\\"end\\\":\\\"(?=->)\\\",\\\"name\\\":\\\"meta.closure.parameters.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?!,|->)\\\",\\\"end\\\":\\\"(?=,|->)\\\",\\\"name\\\":\\\"meta.closure.parameter.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.groovy\\\"}},\\\"end\\\":\\\"(?=,|->)\\\",\\\"name\\\":\\\"meta.parameter.default.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]},{\\\"include\\\":\\\"#parameters\\\"}]}]}]},{\\\"begin\\\":\\\"(?=[^}])\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]}]},\\\"comment-block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.groovy\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.groovy\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.groovy\\\"}},\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.empty.groovy\\\"},{\\\"include\\\":\\\"text.html.javadoc\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.groovy\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.groovy\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([A-Z][0-9A-Z_]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.groovy\\\"}]},\\\"constructors\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?<=;|^)(?=\\\\\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\\\\\\s+)*[A-Z]\\\\\\\\w*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-content\\\"}]},\\\"enum-values\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=;|^)\\\\\\\\s*\\\\\\\\b([0-9A-Z_]+)(?=\\\\\\\\s*(?:[(,;}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.enum.name.groovy\\\"}},\\\"end\\\":\\\"[,;]|(?=})|^(?!\\\\\\\\s*\\\\\\\\w+\\\\\\\\s*(?:,|$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.enum.value.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.seperator.parameter.groovy\\\"},{\\\"include\\\":\\\"#groovy-code\\\"}]}]}]},\\\"groovy\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#methods\\\"},{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#groovy-code\\\"}]},\\\"groovy-code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code-minus-map-keys\\\"},{\\\"include\\\":\\\"#map-keys\\\"}]},\\\"groovy-code-minus-map-keys\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#support-functions\\\"},{\\\"include\\\":\\\"#keyword-language\\\"},{\\\"include\\\":\\\"#values\\\"},{\\\"include\\\":\\\"#anonymous-classes-and-new\\\"},{\\\"include\\\":\\\"#keyword-operator\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#closures\\\"},{\\\"include\\\":\\\"#braces\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#keyword-operator\\\"},{\\\"include\\\":\\\"#keyword-language\\\"}]},\\\"keyword-language\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(try|catch|finally|throw)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?<!\\\\\\\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.groovy\\\"},{\\\"begin\\\":\\\"\\\\\\\\bcase\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.groovy\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.case-terminator.groovy\\\"}},\\\"name\\\":\\\"meta.case.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code-minus-map-keys\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(assert)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.assert.groovy\\\"}},\\\"end\\\":\\\"$|[;}]\\\",\\\"name\\\":\\\"meta.declaration.assertion.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.assert.expression-seperator.groovy\\\"},{\\\"include\\\":\\\"#groovy-code-minus-map-keys\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(throws)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.throws.groovy\\\"}]},\\\"keyword-operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.as.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.in.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\?:\\\",\\\"name\\\":\\\"keyword.operator.elvis.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\*:\\\",\\\"name\\\":\\\"keyword.operator.spreadmap.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.range.groovy\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.groovy\\\"},{\\\"match\\\":\\\"<<\\\",\\\"name\\\":\\\"keyword.operator.leftshift.groovy\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\.(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"keyword.operator.navigation.groovy\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\?\\\\\\\\.(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"keyword.operator.safe-navigation.groovy\\\"},{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.groovy\\\"}},\\\"end\\\":\\\"(?=$|[])}])\\\",\\\"name\\\":\\\"meta.evaluation.ternary.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.ternary.expression-seperator.groovy\\\"},{\\\"include\\\":\\\"#groovy-code-minus-map-keys\\\"}]},{\\\"match\\\":\\\"==~\\\",\\\"name\\\":\\\"keyword.operator.match.groovy\\\"},{\\\"match\\\":\\\"=~\\\",\\\"name\\\":\\\"keyword.operator.find.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(instanceof)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.instanceof.groovy\\\"},{\\\"match\\\":\\\"(===?|!=|<=|>=|<=>|<>|[<>]|<<)\\\",\\\"name\\\":\\\"keyword.operator.comparison.groovy\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.groovy\\\"},{\\\"match\\\":\\\"(--|\\\\\\\\+\\\\\\\\+)\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.groovy\\\"},{\\\"match\\\":\\\"([-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.groovy\\\"},{\\\"match\\\":\\\"(!|&&|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.logical.groovy\\\"}]},\\\"language-variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(this|super)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.groovy\\\"}]},\\\"map-keys\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.key.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.seperator.key-value.groovy\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(:)\\\"}]},\\\"method-call\\\":{\\\"begin\\\":\\\"([$\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.method.groovy\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.method-parameters.begin.groovy\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.method-parameters.end.groovy\\\"}},\\\"name\\\":\\\"meta.method-call.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.seperator.parameter.groovy\\\"},{\\\"include\\\":\\\"#groovy-code\\\"}]},\\\"method-content\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s\\\"},{\\\"include\\\":\\\"#annotations\\\"},{\\\"begin\\\":\\\"(?=[<\\\\\\\\w][^(]*\\\\\\\\s+[$<\\\\\\\\w]+\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?=[$\\\\\\\\w]+\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.method.return-type.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#types\\\"}]},{\\\"begin\\\":\\\"([$\\\\\\\\w]+)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.definition.method.signature.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^)])\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.method.parameters.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^),])\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"name\\\":\\\"meta.method.parameter.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.separator.groovy\\\"},{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.groovy\\\"}},\\\"end\\\":\\\"(?=[),])\\\",\\\"name\\\":\\\"meta.parameter.default.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]},{\\\"include\\\":\\\"#parameters\\\"}]}]}]},{\\\"begin\\\":\\\"(?=<)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.method.paramerised-type.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"storage.type.parameters.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.seperator.groovy\\\"}]}]},{\\\"begin\\\":\\\"throws\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.groovy\\\"}},\\\"end\\\":\\\"(?=[;{])|^(?=\\\\\\\\s*(?:[^{\\\\\\\\s]|$))\\\",\\\"name\\\":\\\"meta.throwables.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.method.body.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]}]},\\\"methods\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?<=;|^|\\\\\\\\{)(?=\\\\\\\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:(?:void|boolean|byte|char|short|int|float|long|double)|@?(?:[A-Za-z]\\\\\\\\w*\\\\\\\\.)*[A-Z]+\\\\\\\\w*)[]\\\\\\\\[]*(?:<.*>)?)\\\\\\\\s+([^=]+\\\\\\\\s+)?\\\\\\\\w+\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}|(?=[^{])\\\",\\\"name\\\":\\\"meta.definition.method.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-content\\\"}]},\\\"nest_curly\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.groovy\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"((0([Xx])\\\\\\\\h*)|([-+])?\\\\\\\\b(([0-9]+\\\\\\\\.?[0-9]*)|(\\\\\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdfglu]|UL|ul)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.groovy\\\"}]},\\\"object-types\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?:[a-z]\\\\\\\\w*\\\\\\\\.)*(?:[A-Z]+\\\\\\\\w*[a-z]+\\\\\\\\w*|UR[IL]))<\\\",\\\"end\\\":\\\"[>[^],<?\\\\\\\\[\\\\\\\\w\\\\\\\\s]]\\\",\\\"name\\\":\\\"storage.type.generic.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types\\\"},{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\"[>[^],<\\\\\\\\[\\\\\\\\w\\\\\\\\s]]\\\",\\\"name\\\":\\\"storage.type.generic.groovy\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b((?:[a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z]+\\\\\\\\w*[a-z]+\\\\\\\\w*)(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=[^]\\\\\\\\s])\\\",\\\"name\\\":\\\"storage.type.object.array.groovy\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy\\\"}]}]},{\\\"match\\\":\\\"\\\\\\\\b(?:[A-Za-z]\\\\\\\\w*\\\\\\\\.)*(?:[A-Z]+\\\\\\\\w*[a-z]+\\\\\\\\w*|UR[IL])\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.groovy\\\"}]},\\\"object-types-inherited\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?:[A-Za-z]\\\\\\\\w*\\\\\\\\.)*[A-Z]+\\\\\\\\w*[a-z]+\\\\\\\\w*)<\\\",\\\"end\\\":\\\"[>[^],<?\\\\\\\\[\\\\\\\\w\\\\\\\\s]]\\\",\\\"name\\\":\\\"entity.other.inherited-class.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\"[>[^],<\\\\\\\\[\\\\\\\\w\\\\\\\\s]]\\\",\\\"name\\\":\\\"storage.type.generic.groovy\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.dereference.groovy\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:[A-Za-z]\\\\\\\\w*(\\\\\\\\.))*[A-Z]+\\\\\\\\w*[a-z]+\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.inherited-class.groovy\\\"}]},\\\"parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.parameter.method.groovy\\\"}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]},\\\"primitive-arrays\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\\\\\\\[])*\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.primitive.array.groovy\\\"}]},\\\"primitive-types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:void|boolean|byte|char|short|int|float|long|double)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.primitive.groovy\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/(?=[^/]+/([^>]|$))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.begin.groovy\\\"}},\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.end.groovy\\\"}},\\\"name\\\":\\\"string.regexp.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.groovy\\\"}]},{\\\"begin\\\":\\\"~\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.begin.groovy\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.end.groovy\\\"}},\\\"name\\\":\\\"string.regexp.compiled.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.groovy\\\"}]}]},\\\"storage-modifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(p(?:rivate|rotected|ublic))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.access-control.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.static.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(final)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.final.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(native|synchronized|abstract|threadsafe|transient)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.other.groovy\\\"}]},\\\"string-quoted-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.groovy\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.groovy\\\"}},\\\"name\\\":\\\"string.quoted.double.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-double-contents\\\"}]},\\\"string-quoted-double-contents\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.groovy\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\w\\\",\\\"end\\\":\\\"(?=\\\\\\\\W)\\\",\\\"name\\\":\\\"variable.other.interpolated.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\w\\\",\\\"name\\\":\\\"variable.other.interpolated.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.other.dereference.groovy\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.groovy\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"source.groovy.embedded.source\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly\\\"}]}]},\\\"string-quoted-double-multiline\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.groovy\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.groovy\\\"}},\\\"name\\\":\\\"string.quoted.double.multiline.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-double-contents\\\"}]},\\\"string-quoted-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.groovy\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.groovy\\\"}},\\\"name\\\":\\\"string.quoted.single.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-single-contents\\\"}]},\\\"string-quoted-single-contents\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.groovy\\\"}]},\\\"string-quoted-single-multiline\\\":{\\\"begin\\\":\\\"'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.groovy\\\"}},\\\"end\\\":\\\"'''\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.groovy\\\"}},\\\"name\\\":\\\"string.quoted.single.multiline.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-single-contents\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-double-multiline\\\"},{\\\"include\\\":\\\"#string-quoted-single-multiline\\\"},{\\\"include\\\":\\\"#string-quoted-double\\\"},{\\\"include\\\":\\\"#string-quoted-single\\\"},{\\\"include\\\":\\\"#regexp\\\"}]},\\\"structures\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.structure.begin.groovy\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.structure.end.groovy\\\"}},\\\"name\\\":\\\"meta.structure.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.definition.separator.groovy\\\"}]},\\\"support-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:sprintf|print(?:f|ln)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.print.groovy\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|Null)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|ArrayEquals)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.testing.groovy\\\"}]},\\\"types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(def)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.def.groovy\\\"},{\\\"include\\\":\\\"#primitive-types\\\"},{\\\"include\\\":\\\"#primitive-arrays\\\"},{\\\"include\\\":\\\"#object-types\\\"}]},\\\"values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#language-variables\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#structures\\\"},{\\\"include\\\":\\\"#method-call\\\"}]},\\\"variables\\\":{\\\"applyEndPatternLast\\\":1,\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)|def|(?:void|boolean|byte|char|short|int|float|long|double)|(?:[a-z]\\\\\\\\w*\\\\\\\\.)*[A-Z]+\\\\\\\\w*)\\\\\\\\s+[],<>\\\\\\\\[_\\\\\\\\w\\\\\\\\d\\\\\\\\s]+(?:=|$))\\\",\\\"end\\\":\\\";|$\\\",\\\"name\\\":\\\"meta.definition.variable.groovy\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.variable.groovy\\\"}},\\\"match\\\":\\\"([0-9A-Z_]+)\\\\\\\\s+(?==)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.name.groovy\\\"}},\\\"match\\\":\\\"(\\\\\\\\w[^,\\\\\\\\s]*)\\\\\\\\s+(?==)\\\"},{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.groovy\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#groovy-code\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.name.groovy\\\"}},\\\"match\\\":\\\"(\\\\\\\\w[^=\\\\\\\\s]*)(?=\\\\\\\\s*($|;))\\\"},{\\\"include\\\":\\\"#groovy-code\\\"}]}]}},\\\"scopeName\\\":\\\"source.groovy\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "groovy" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,2qlBAAi9pB,CAAC,EAEz+pBC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-hegEt444.js b/src/webview-ui/build/assets/chunk-hegEt444.js new file mode 100644 index 0000000000..1bbd6dea62 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-hegEt444.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#16161e","activityBar.border":"#16161e","activityBar.foreground":"#787c99","activityBar.inactiveForeground":"#3b3e52","activityBarBadge.background":"#3d59a1","activityBarBadge.foreground":"#fff","activityBarTop.foreground":"#787c99","activityBarTop.inactiveForeground":"#3b3e52","badge.background":"#7e83b230","badge.foreground":"#acb0d0","breadcrumb.activeSelectionForeground":"#a9b1d6","breadcrumb.background":"#16161e","breadcrumb.focusForeground":"#a9b1d6","breadcrumb.foreground":"#515670","breadcrumbPicker.background":"#16161e","button.background":"#3d59a1dd","button.foreground":"#ffffff","button.hoverBackground":"#3d59a1AA","button.secondaryBackground":"#3b3e52","charts.blue":"#7aa2f7","charts.foreground":"#9AA5CE","charts.green":"#41a6b5","charts.lines":"#16161e","charts.orange":"#ff9e64","charts.purple":"#9d7cd8","charts.red":"#f7768e","charts.yellow":"#e0af68","chat.avatarBackground":"#3d59a1","chat.avatarForeground":"#a9b1d6","chat.requestBorder":"#0f0f14","chat.slashCommandBackground":"#14141b","chat.slashCommandForeground":"#7aa2f7","debugConsole.errorForeground":"#bb616b","debugConsole.infoForeground":"#787c99","debugConsole.sourceForeground":"#787c99","debugConsole.warningForeground":"#c49a5a","debugConsoleInputIcon.foreground":"#73daca","debugExceptionWidget.background":"#101014","debugExceptionWidget.border":"#963c47","debugIcon.breakpointDisabledForeground":"#414761","debugIcon.breakpointForeground":"#db4b4b","debugIcon.breakpointUnverifiedForeground":"#c24242","debugTokenExpression.boolean":"#ff9e64","debugTokenExpression.error":"#bb616b","debugTokenExpression.name":"#7dcfff","debugTokenExpression.number":"#ff9e64","debugTokenExpression.string":"#9ece6a","debugTokenExpression.value":"#9aa5ce","debugToolBar.background":"#101014","debugView.stateLabelBackground":"#14141b","debugView.stateLabelForeground":"#787c99","debugView.valueChangedHighlight":"#3d59a1aa","descriptionForeground":"#515670","diffEditor.diagonalFill":"#292e42","diffEditor.insertedLineBackground":"#41a6b520","diffEditor.insertedTextBackground":"#41a6b520","diffEditor.removedLineBackground":"#db4b4b22","diffEditor.removedTextBackground":"#db4b4b22","diffEditor.unchangedCodeBackground":"#282a3b66","diffEditorGutter.insertedLineBackground":"#41a6b525","diffEditorGutter.removedLineBackground":"#db4b4b22","diffEditorOverview.insertedForeground":"#41a6b525","diffEditorOverview.removedForeground":"#db4b4b22","disabledForeground":"#545c7e","dropdown.background":"#14141b","dropdown.foreground":"#787c99","dropdown.listBackground":"#14141b","editor.background":"#1a1b26","editor.findMatchBackground":"#3d59a166","editor.findMatchBorder":"#e0af68","editor.findMatchHighlightBackground":"#3d59a166","editor.findRangeHighlightBackground":"#515c7e33","editor.focusedStackFrameHighlightBackground":"#73daca20","editor.foldBackground":"#1111174a","editor.foreground":"#a9b1d6","editor.inactiveSelectionBackground":"#515c7e25","editor.lineHighlightBackground":"#1e202e","editor.rangeHighlightBackground":"#515c7e20","editor.selectionBackground":"#515c7e4d","editor.selectionHighlightBackground":"#515c7e44","editor.stackFrameHighlightBackground":"#E2BD3A20","editor.wordHighlightBackground":"#515c7e44","editor.wordHighlightStrongBackground":"#515c7e55","editorBracketHighlight.foreground1":"#698cd6","editorBracketHighlight.foreground2":"#68b3de","editorBracketHighlight.foreground3":"#9a7ecc","editorBracketHighlight.foreground4":"#25aac2","editorBracketHighlight.foreground5":"#80a856","editorBracketHighlight.foreground6":"#c49a5a","editorBracketHighlight.unexpectedBracket.foreground":"#db4b4b","editorBracketMatch.background":"#16161e","editorBracketMatch.border":"#42465d","editorBracketPairGuide.activeBackground1":"#698cd6","editorBracketPairGuide.activeBackground2":"#68b3de","editorBracketPairGuide.activeBackground3":"#9a7ecc","editorBracketPairGuide.activeBackground4":"#25aac2","editorBracketPairGuide.activeBackground5":"#80a856","editorBracketPairGuide.activeBackground6":"#c49a5a","editorCodeLens.foreground":"#51597d","editorCursor.foreground":"#c0caf5","editorError.foreground":"#db4b4b","editorGhostText.foreground":"#646e9c","editorGroup.border":"#101014","editorGroup.dropBackground":"#1e202e","editorGroupHeader.border":"#101014","editorGroupHeader.noTabsBackground":"#16161e","editorGroupHeader.tabsBackground":"#16161e","editorGroupHeader.tabsBorder":"#101014","editorGutter.addedBackground":"#164846","editorGutter.deletedBackground":"#823c41","editorGutter.modifiedBackground":"#394b70","editorHint.foreground":"#0da0ba","editorHoverWidget.background":"#16161e","editorHoverWidget.border":"#101014","editorIndentGuide.activeBackground1":"#363b54","editorIndentGuide.background1":"#232433","editorInfo.foreground":"#0da0ba","editorInlayHint.foreground":"#646e9c","editorLightBulb.foreground":"#e0af68","editorLightBulbAutoFix.foreground":"#e0af68","editorLineNumber.activeForeground":"#787c99","editorLineNumber.foreground":"#363b54","editorLink.activeForeground":"#acb0d0","editorMarkerNavigation.background":"#16161e","editorOverviewRuler.addedForeground":"#164846","editorOverviewRuler.border":"#101014","editorOverviewRuler.bracketMatchForeground":"#101014","editorOverviewRuler.deletedForeground":"#703438","editorOverviewRuler.errorForeground":"#db4b4b","editorOverviewRuler.findMatchForeground":"#a9b1d644","editorOverviewRuler.infoForeground":"#1abc9c","editorOverviewRuler.modifiedForeground":"#394b70","editorOverviewRuler.rangeHighlightForeground":"#a9b1d644","editorOverviewRuler.selectionHighlightForeground":"#a9b1d622","editorOverviewRuler.warningForeground":"#e0af68","editorOverviewRuler.wordHighlightForeground":"#bb9af755","editorOverviewRuler.wordHighlightStrongForeground":"#bb9af766","editorPane.background":"#1a1b26","editorRuler.foreground":"#101014","editorSuggestWidget.background":"#16161e","editorSuggestWidget.border":"#101014","editorSuggestWidget.highlightForeground":"#6183bb","editorSuggestWidget.selectedBackground":"#20222c","editorWarning.foreground":"#e0af68","editorWhitespace.foreground":"#363b54","editorWidget.background":"#16161e","editorWidget.border":"#101014","editorWidget.foreground":"#787c99","editorWidget.resizeBorder":"#545c7e33","errorForeground":"#515670","extensionBadge.remoteBackground":"#3d59a1","extensionBadge.remoteForeground":"#ffffff","extensionButton.prominentBackground":"#3d59a1DD","extensionButton.prominentForeground":"#ffffff","extensionButton.prominentHoverBackground":"#3d59a1AA","focusBorder":"#545c7e33","foreground":"#787c99","gitDecoration.addedResourceForeground":"#449dab","gitDecoration.conflictingResourceForeground":"#e0af68cc","gitDecoration.deletedResourceForeground":"#914c54","gitDecoration.ignoredResourceForeground":"#515670","gitDecoration.modifiedResourceForeground":"#6183bb","gitDecoration.renamedResourceForeground":"#449dab","gitDecoration.stageDeletedResourceForeground":"#914c54","gitDecoration.stageModifiedResourceForeground":"#6183bb","gitDecoration.untrackedResourceForeground":"#449dab","gitlens.gutterBackgroundColor":"#16161e","gitlens.gutterForegroundColor":"#787c99","gitlens.gutterUncommittedForegroundColor":"#7aa2f7","gitlens.trailingLineForegroundColor":"#646e9c","icon.foreground":"#787c99","inlineChat.foreground":"#a9b1d6","inlineChatDiff.inserted":"#41a6b540","inlineChatDiff.removed":"#db4b4b42","inlineChatInput.background":"#14141b","input.background":"#14141b","input.border":"#0f0f14","input.foreground":"#a9b1d6","input.placeholderForeground":"#787c998A","inputOption.activeBackground":"#3d59a144","inputOption.activeForeground":"#c0caf5","inputValidation.errorBackground":"#85353e","inputValidation.errorBorder":"#963c47","inputValidation.errorForeground":"#bbc2e0","inputValidation.infoBackground":"#3d59a15c","inputValidation.infoBorder":"#3d59a1","inputValidation.infoForeground":"#bbc2e0","inputValidation.warningBackground":"#c2985b","inputValidation.warningBorder":"#e0af68","inputValidation.warningForeground":"#000000","list.activeSelectionBackground":"#202330","list.activeSelectionForeground":"#a9b1d6","list.deemphasizedForeground":"#787c99","list.dropBackground":"#1e202e","list.errorForeground":"#bb616b","list.focusBackground":"#1c1d29","list.focusForeground":"#a9b1d6","list.highlightForeground":"#668ac4","list.hoverBackground":"#13131a","list.hoverForeground":"#a9b1d6","list.inactiveSelectionBackground":"#1c1d29","list.inactiveSelectionForeground":"#a9b1d6","list.invalidItemForeground":"#c97018","list.warningForeground":"#c49a5a","listFilterWidget.background":"#101014","listFilterWidget.noMatchesOutline":"#a6333f","listFilterWidget.outline":"#3d59a1","menu.background":"#16161e","menu.border":"#101014","menu.foreground":"#787c99","menu.selectionBackground":"#1e202e","menu.selectionForeground":"#a9b1d6","menu.separatorBackground":"#101014","menubar.selectionBackground":"#1e202e","menubar.selectionBorder":"#1b1e2e","menubar.selectionForeground":"#a9b1d6","merge.currentContentBackground":"#007a7544","merge.currentHeaderBackground":"#41a6b525","merge.incomingContentBackground":"#3d59a144","merge.incomingHeaderBackground":"#3d59a1aa","mergeEditor.change.background":"#41a6b525","mergeEditor.change.word.background":"#41a6b540","mergeEditor.conflict.handled.minimapOverViewRuler":"#449dab","mergeEditor.conflict.handledFocused.border":"#41a6b565","mergeEditor.conflict.handledUnfocused.border":"#41a6b525","mergeEditor.conflict.unhandled.minimapOverViewRuler":"#e0af68","mergeEditor.conflict.unhandledFocused.border":"#e0af68b0","mergeEditor.conflict.unhandledUnfocused.border":"#e0af6888","minimapGutter.addedBackground":"#1C5957","minimapGutter.deletedBackground":"#944449","minimapGutter.modifiedBackground":"#425882","multiDiffEditor.border":"#1a1b26","multiDiffEditor.headerBackground":"#1a1b26","notebook.cellBorderColor":"#101014","notebook.cellEditorBackground":"#16161e","notebook.cellStatusBarItemHoverBackground":"#1c1d29","notebook.editorBackground":"#1a1b26","notebook.focusedCellBorder":"#29355a","notificationCenterHeader.background":"#101014","notificationLink.foreground":"#6183bb","notifications.background":"#101014","notificationsErrorIcon.foreground":"#bb616b","notificationsInfoIcon.foreground":"#0da0ba","notificationsWarningIcon.foreground":"#bba461","panel.background":"#16161e","panel.border":"#101014","panelInput.border":"#16161e","panelTitle.activeBorder":"#16161e","panelTitle.activeForeground":"#787c99","panelTitle.inactiveForeground":"#42465d","peekView.border":"#101014","peekViewEditor.background":"#16161e","peekViewEditor.matchHighlightBackground":"#3d59a166","peekViewResult.background":"#101014","peekViewResult.fileForeground":"#787c99","peekViewResult.lineForeground":"#a9b1d6","peekViewResult.matchHighlightBackground":"#3d59a166","peekViewResult.selectionBackground":"#3d59a133","peekViewResult.selectionForeground":"#a9b1d6","peekViewTitle.background":"#101014","peekViewTitleDescription.foreground":"#787c99","peekViewTitleLabel.foreground":"#a9b1d6","pickerGroup.border":"#101014","pickerGroup.foreground":"#a9b1d6","progressBar.background":"#3d59a1","sash.hoverBorder":"#29355a","scmGraph.foreground1":"#ff9e64","scmGraph.foreground2":"#e0af68","scmGraph.foreground3":"#41a6b5","scmGraph.foreground4":"#7aa2f7","scmGraph.foreground5":"#bb9af7","scmGraph.historyItemBaseRefColor":"#9d7cd8","scmGraph.historyItemHoverAdditionsForeground":"#41a6b5","scmGraph.historyItemHoverDefaultLabelForeground":"#a9b1d6","scmGraph.historyItemHoverDeletionsForeground":"#f7768e","scmGraph.historyItemHoverLabelForeground":"#1b1e2e","scmGraph.historyItemRefColor":"#506FCA","scmGraph.historyItemRemoteRefColor":"#41a6b5","scrollbar.shadow":"#00000033","scrollbarSlider.activeBackground":"#868bc422","scrollbarSlider.background":"#868bc415","scrollbarSlider.hoverBackground":"#868bc410","selection.background":"#515c7e40","settings.headerForeground":"#6183bb","sideBar.background":"#16161e","sideBar.border":"#101014","sideBar.dropBackground":"#1e202e","sideBar.foreground":"#787c99","sideBarSectionHeader.background":"#16161e","sideBarSectionHeader.border":"#101014","sideBarSectionHeader.foreground":"#a9b1d6","sideBarTitle.foreground":"#787c99","statusBar.background":"#16161e","statusBar.border":"#101014","statusBar.debuggingBackground":"#16161e","statusBar.debuggingForeground":"#787c99","statusBar.foreground":"#787c99","statusBar.noFolderBackground":"#16161e","statusBarItem.activeBackground":"#101014","statusBarItem.hoverBackground":"#20222c","statusBarItem.prominentBackground":"#101014","statusBarItem.prominentHoverBackground":"#20222c","tab.activeBackground":"#16161e","tab.activeBorder":"#3d59a1","tab.activeForeground":"#a9b1d6","tab.activeModifiedBorder":"#1a1b26","tab.border":"#101014","tab.hoverForeground":"#a9b1d6","tab.inactiveBackground":"#16161e","tab.inactiveForeground":"#787c99","tab.inactiveModifiedBorder":"#1f202e","tab.lastPinnedBorder":"#222333","tab.unfocusedActiveBorder":"#1f202e","tab.unfocusedActiveForeground":"#a9b1d6","tab.unfocusedHoverForeground":"#a9b1d6","tab.unfocusedInactiveForeground":"#787c99","terminal.ansiBlack":"#363b54","terminal.ansiBlue":"#7aa2f7","terminal.ansiBrightBlack":"#363b54","terminal.ansiBrightBlue":"#7aa2f7","terminal.ansiBrightCyan":"#7dcfff","terminal.ansiBrightGreen":"#73daca","terminal.ansiBrightMagenta":"#bb9af7","terminal.ansiBrightRed":"#f7768e","terminal.ansiBrightWhite":"#acb0d0","terminal.ansiBrightYellow":"#e0af68","terminal.ansiCyan":"#7dcfff","terminal.ansiGreen":"#73daca","terminal.ansiMagenta":"#bb9af7","terminal.ansiRed":"#f7768e","terminal.ansiWhite":"#787c99","terminal.ansiYellow":"#e0af68","terminal.background":"#16161e","terminal.foreground":"#787c99","terminal.selectionBackground":"#515c7e4d","textBlockQuote.background":"#16161e","textCodeBlock.background":"#16161e","textLink.activeForeground":"#7dcfff","textLink.foreground":"#6183bb","textPreformat.foreground":"#9699a8","textSeparator.foreground":"#363b54","titleBar.activeBackground":"#16161e","titleBar.activeForeground":"#787c99","titleBar.border":"#101014","titleBar.inactiveBackground":"#16161e","titleBar.inactiveForeground":"#787c99","toolbar.activeBackground":"#202330","toolbar.hoverBackground":"#202330","tree.indentGuidesStroke":"#2b2b3b","walkThrough.embeddedEditorBackground":"#16161e","widget.shadow":"#ffffff00","window.activeBorder":"#0d0f17","window.inactiveBorder":"#0d0f17"},"displayName":"Tokyo Night","name":"tokyo-night","semanticTokenColors":{"*.defaultLibrary":{"foreground":"#2ac3de"},"parameter":{"foreground":"#d9d4cd"},"parameter.declaration":{"foreground":"#e0af68"},"property.declaration":{"foreground":"#73daca"},"property.defaultLibrary":{"foreground":"#2ac3de"},"variable":{"foreground":"#c0caf5"},"variable.declaration":{"foreground":"#bb9af7"},"variable.defaultLibrary":{"foreground":"#2ac3de"}},"tokenColors":[{"scope":["comment","meta.var.expr storage.type","keyword.control.flow","keyword.control.return","meta.directive.vue punctuation.separator.key-value.html","meta.directive.vue entity.other.attribute-name.html","tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js","storage.modifier","string.quoted.docstring.multi","string.quoted.docstring.multi.python punctuation.definition.string.begin","string.quoted.docstring.multi.python punctuation.definition.string.end","string.quoted.docstring.multi.python constant.character.escape"],"settings":{"fontStyle":"italic"}},{"scope":["keyword.control.flow.block-scalar.literal","keyword.control.flow.python"],"settings":{"fontStyle":""}},{"scope":["comment","comment.block.documentation","punctuation.definition.comment","comment.block.documentation punctuation","string.quoted.docstring.multi","string.quoted.docstring.multi.python punctuation.definition.string.begin","string.quoted.docstring.multi.python punctuation.definition.string.end","string.quoted.docstring.multi.python constant.character.escape"],"settings":{"foreground":"#51597d"}},{"scope":["keyword.operator.assignment.jsdoc","comment.block.documentation variable","comment.block.documentation storage","comment.block.documentation keyword","comment.block.documentation support","comment.block.documentation markup","comment.block.documentation markup.inline.raw.string.markdown","meta.other.type.phpdoc.php keyword.other.type.php","meta.other.type.phpdoc.php support.other.namespace.php","meta.other.type.phpdoc.php punctuation.separator.inheritance.php","meta.other.type.phpdoc.php support.class","keyword.other.phpdoc.php","log.date"],"settings":{"foreground":"#5a638c"}},{"scope":["meta.other.type.phpdoc.php support.class","comment.block.documentation storage.type","comment.block.documentation punctuation.definition.block.tag","comment.block.documentation entity.name.type.instance"],"settings":{"foreground":"#646e9c"}},{"scope":["variable.other.constant","punctuation.definition.constant","constant.language","constant.numeric","support.constant","constant.other.caps"],"settings":{"foreground":"#ff9e64"}},{"scope":["string","constant.other.symbol","constant.other.key","meta.attribute-selector","string constant.character"],"settings":{"fontStyle":"","foreground":"#9ece6a"}},{"scope":["constant.other.color","constant.other.color.rgb-value.hex punctuation.definition.constant"],"settings":{"foreground":"#9aa5ce"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#ff5370"}},{"scope":"invalid.deprecated","settings":{"foreground":"#bb9af7"}},{"scope":"storage.type","settings":{"foreground":"#bb9af7"}},{"scope":["meta.var.expr storage.type","storage.modifier"],"settings":{"foreground":"#9d7cd8"}},{"scope":["punctuation.definition.template-expression","punctuation.section.embedded","meta.embedded.line.tag.smarty","support.constant.handlebars","punctuation.section.tag.twig"],"settings":{"foreground":"#7dcfff"}},{"scope":["keyword.control.smarty","keyword.control.twig","support.constant.handlebars keyword.control","keyword.operator.comparison.twig","keyword.blade","entity.name.function.blade","meta.tag.blade keyword.other.type.php"],"settings":{"foreground":"#0db9d7"}},{"scope":["keyword.operator.spread","keyword.operator.rest"],"settings":{"fontStyle":"bold","foreground":"#f7768e"}},{"scope":["keyword.operator","keyword.control.as","keyword.other","keyword.operator.bitwise.shift","punctuation","expression.embbeded.vue punctuation.definition.tag","text.html.twig meta.tag.inline.any.html","meta.tag.template.value.twig meta.function.arguments.twig","meta.directive.vue punctuation.separator.key-value.html","punctuation.definition.constant.markdown","punctuation.definition.string","punctuation.support.type.property-name","text.html.vue-html meta.tag","meta.attribute.directive","punctuation.definition.keyword","punctuation.terminator.rule","punctuation.definition.entity","punctuation.separator.inheritance.php","keyword.other.template","keyword.other.substitution","entity.name.operator","meta.property-list punctuation.separator.key-value","meta.at-rule.mixin punctuation.separator.key-value","meta.at-rule.function variable.parameter.url","meta.embedded.inline.phpx punctuation.definition.tag.begin.html","meta.embedded.inline.phpx punctuation.definition.tag.end.html"],"settings":{"foreground":"#89ddff"}},{"scope":["keyword.control.module.js","keyword.control.import","keyword.control.export","keyword.control.from","keyword.control.default","meta.import keyword.other"],"settings":{"foreground":"#7dcfff"}},{"scope":["keyword","keyword.control","keyword.other.important"],"settings":{"foreground":"#bb9af7"}},{"scope":"keyword.other.DML","settings":{"foreground":"#7dcfff"}},{"scope":["keyword.operator.logical","storage.type.function","keyword.operator.bitwise","keyword.operator.ternary","keyword.operator.comparison","keyword.operator.relational","keyword.operator.or.regexp"],"settings":{"foreground":"#bb9af7"}},{"scope":"entity.name.tag","settings":{"foreground":"#f7768e"}},{"scope":["entity.name.tag support.class.component","meta.tag.custom entity.name.tag","meta.tag.other.unrecognized.html.derivative entity.name.tag","meta.tag"],"settings":{"foreground":"#de5971"}},{"scope":["punctuation.definition.tag","text.html.php meta.embedded.block.html meta.tag.metadata.script.end.html punctuation.definition.tag.begin.html text.html.basic"],"settings":{"foreground":"#ba3c97"}},{"scope":["constant.other.php","variable.other.global.safer","variable.other.global.safer punctuation.definition.variable","variable.other.global","variable.other.global punctuation.definition.variable","constant.other"],"settings":{"foreground":"#e0af68"}},{"scope":["variable","support.variable","string constant.other.placeholder","variable.parameter.handlebars","variable.other.object","meta.fstring","meta.function-call meta.function-call.arguments","meta.embedded.inline.phpx constant.other.php"],"settings":{"foreground":"#c0caf5"}},{"scope":"meta.array.literal variable","settings":{"foreground":"#7dcfff"}},{"scope":["meta.object-literal.key","entity.name.type.hcl","string.alias.graphql","string.unquoted.graphql","string.unquoted.alias.graphql","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","meta.field.declaration.ts variable.object.property","meta.block entity.name.label"],"settings":{"foreground":"#73daca"}},{"scope":["variable.other.property","support.variable.property","support.variable.property.dom","meta.function-call variable.other.object.property"],"settings":{"foreground":"#7dcfff"}},{"scope":"variable.other.object.property","settings":{"foreground":"#c0caf5"}},{"scope":"meta.objectliteral meta.object.member meta.objectliteral meta.object.member meta.objectliteral meta.object.member meta.object-literal.key","settings":{"foreground":"#41a6b5"}},{"scope":"source.cpp meta.block variable.other","settings":{"foreground":"#f7768e"}},{"scope":"support.other.variable","settings":{"foreground":"#f7768e"}},{"scope":["meta.class-method.js entity.name.function.js","entity.name.method.js","variable.function.constructor","keyword.other.special-method","storage.type.cs"],"settings":{"foreground":"#7aa2f7"}},{"scope":["entity.name.function","variable.other.enummember","meta.function-call","meta.function-call entity.name.function","variable.function","meta.definition.method entity.name.function","meta.object-literal entity.name.function"],"settings":{"foreground":"#7aa2f7"}},{"scope":["variable.parameter.function.language.special","variable.parameter","meta.function.parameters punctuation.definition.variable","meta.function.parameter variable"],"settings":{"foreground":"#e0af68"}},{"scope":["keyword.other.type.php","storage.type.php","constant.character","constant.escape","keyword.other.unit"],"settings":{"foreground":"#bb9af7"}},{"scope":["meta.definition.variable variable.other.constant","meta.definition.variable variable.other.readwrite","variable.declaration.hcl variable.other.readwrite.hcl","meta.mapping.key.hcl variable.other.readwrite.hcl","variable.other.declaration"],"settings":{"foreground":"#bb9af7"}},{"scope":"entity.other.inherited-class","settings":{"fontStyle":"","foreground":"#bb9af7"}},{"scope":["support.class","support.type","variable.other.readwrite.alias","support.orther.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types","support.variable.dom","support.constant.math","support.type.object.module","support.constant.json","entity.name.namespace","meta.import.qualifier","variable.other.constant.object"],"settings":{"foreground":"#0db9d7"}},{"scope":"entity.name","settings":{"foreground":"#c0caf5"}},{"scope":"support.function","settings":{"foreground":"#0db9d7"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name","support.type.property-name.css","support.type.vendored.property-name","support.type.map.key"],"settings":{"foreground":"#7aa2f7"}},{"scope":["support.constant.font-name","meta.definition.variable"],"settings":{"foreground":"#9ece6a"}},{"scope":["entity.other.attribute-name.class","meta.at-rule.mixin.scss entity.name.function.scss"],"settings":{"foreground":"#9ece6a"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#fc7b7b"}},{"scope":"entity.name.tag.css","settings":{"foreground":"#0db9d7"}},{"scope":["entity.other.attribute-name.pseudo-class punctuation.definition.entity","entity.other.attribute-name.pseudo-element punctuation.definition.entity","entity.other.attribute-name.class punctuation.definition.entity","entity.name.tag.reference"],"settings":{"foreground":"#e0af68"}},{"scope":"meta.property-list","settings":{"foreground":"#9abdf5"}},{"scope":["meta.property-list meta.at-rule.if","meta.at-rule.return variable.parameter.url","meta.property-list meta.at-rule.else"],"settings":{"foreground":"#ff9e64"}},{"scope":["entity.other.attribute-name.parent-selector-suffix punctuation.definition.entity.css"],"settings":{"foreground":"#73daca"}},{"scope":"meta.property-list meta.property-list","settings":{"foreground":"#9abdf5"}},{"scope":["meta.at-rule.mixin keyword.control.at-rule.mixin","meta.at-rule.include entity.name.function.scss","meta.at-rule.include keyword.control.at-rule.include"],"settings":{"foreground":"#bb9af7"}},{"scope":["keyword.control.at-rule.include punctuation.definition.keyword","keyword.control.at-rule.mixin punctuation.definition.keyword","meta.at-rule.include keyword.control.at-rule.include","keyword.control.at-rule.extend punctuation.definition.keyword","meta.at-rule.extend keyword.control.at-rule.extend","entity.other.attribute-name.placeholder.css punctuation.definition.entity.css","meta.at-rule.media keyword.control.at-rule.media","meta.at-rule.mixin keyword.control.at-rule.mixin","meta.at-rule.function keyword.control.at-rule.function","keyword.control punctuation.definition.keyword"],"settings":{"foreground":"#9d7cd8"}},{"scope":"meta.property-list meta.at-rule.include","settings":{"foreground":"#c0caf5"}},{"scope":"support.constant.property-value","settings":{"foreground":"#ff9e64"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#c0caf5"}},{"scope":"variable.language","settings":{"foreground":"#f7768e"}},{"scope":"variable.other punctuation.definition.variable","settings":{"foreground":"#c0caf5"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js","variable.language.this punctuation.definition.variable","keyword.other.this"],"settings":{"foreground":"#f7768e"}},{"scope":["entity.other.attribute-name","text.html.basic entity.other.attribute-name.html","text.html.basic entity.other.attribute-name"],"settings":{"foreground":"#bb9af7"}},{"scope":"text.html constant.character.entity","settings":{"foreground":"#0DB9D7"}},{"scope":["entity.other.attribute-name.id.html","meta.directive.vue entity.other.attribute-name.html"],"settings":{"foreground":"#bb9af7"}},{"scope":"source.sass keyword.control","settings":{"foreground":"#7aa2f7"}},{"scope":["entity.other.attribute-name.pseudo-class","entity.other.attribute-name.pseudo-element","entity.other.attribute-name.placeholder","meta.property-list meta.property-value"],"settings":{"foreground":"#bb9af7"}},{"scope":"markup.inserted","settings":{"foreground":"#449dab"}},{"scope":"markup.deleted","settings":{"foreground":"#914c54"}},{"scope":"markup.changed","settings":{"foreground":"#6183bb"}},{"scope":"string.regexp","settings":{"foreground":"#b4f9f8"}},{"scope":"punctuation.definition.group","settings":{"foreground":"#f7768e"}},{"scope":["constant.other.character-class.regexp"],"settings":{"foreground":"#bb9af7"}},{"scope":["constant.other.character-class.set.regexp","punctuation.definition.character-class.regexp"],"settings":{"foreground":"#e0af68"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#89ddff"}},{"scope":"constant.character.escape.backslash","settings":{"foreground":"#c0caf5"}},{"scope":"constant.character.escape","settings":{"foreground":"#89ddff"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#7aa2f7"}},{"scope":"keyword.other.unit","settings":{"foreground":"#f7768e"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#7aa2f7"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#0db9d7"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#7dcfff"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#bb9af7"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#e0af68"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#0db9d7"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#73daca"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f7768e"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#9ece6a"}},{"scope":"punctuation.definition.list_item.markdown","settings":{"foreground":"#9abdf5"}},{"scope":["meta.block","meta.brace","punctuation.definition.block","punctuation.definition.use","punctuation.definition.class","punctuation.definition.begin.bracket","punctuation.definition.end.bracket","punctuation.definition.switch-expression.begin.bracket","punctuation.definition.switch-expression.end.bracket","punctuation.definition.section.switch-block.begin.bracket","punctuation.definition.section.switch-block.end.bracket","punctuation.definition.group.shell","punctuation.definition.parameters","punctuation.definition.arguments","punctuation.definition.dictionary","punctuation.definition.array","punctuation.section"],"settings":{"foreground":"#9abdf5"}},{"scope":["meta.embedded.block"],"settings":{"foreground":"#c0caf5"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#9aa5ce"}},{"scope":"text.html.markdown markup.inline.raw.markdown","settings":{"foreground":"#bb9af7"}},{"scope":"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown","settings":{"foreground":"#4E5579"}},{"scope":["heading.1.markdown entity.name","heading.1.markdown punctuation.definition.heading.markdown"],"settings":{"fontStyle":"bold","foreground":"#89ddff"}},{"scope":["heading.2.markdown entity.name","heading.2.markdown punctuation.definition.heading.markdown"],"settings":{"fontStyle":"bold","foreground":"#61bdf2"}},{"scope":["heading.3.markdown entity.name","heading.3.markdown punctuation.definition.heading.markdown"],"settings":{"fontStyle":"bold","foreground":"#7aa2f7"}},{"scope":["heading.4.markdown entity.name","heading.4.markdown punctuation.definition.heading.markdown"],"settings":{"fontStyle":"bold","foreground":"#6d91de"}},{"scope":["heading.5.markdown entity.name","heading.5.markdown punctuation.definition.heading.markdown"],"settings":{"fontStyle":"bold","foreground":"#9aa5ce"}},{"scope":["heading.6.markdown entity.name","heading.6.markdown punctuation.definition.heading.markdown"],"settings":{"fontStyle":"bold","foreground":"#747ca1"}},{"scope":["markup.italic","markup.italic punctuation"],"settings":{"fontStyle":"italic","foreground":"#c0caf5"}},{"scope":["markup.bold","markup.bold punctuation"],"settings":{"fontStyle":"bold","foreground":"#c0caf5"}},{"scope":["markup.bold markup.italic","markup.bold markup.italic punctuation"],"settings":{"fontStyle":"bold italic","foreground":"#c0caf5"}},{"scope":["markup.underline","markup.underline punctuation"],"settings":{"fontStyle":"underline"}},{"scope":"markup.quote punctuation.definition.blockquote.markdown","settings":{"foreground":"#4e5579"}},{"scope":"markup.quote","settings":{"fontStyle":"italic"}},{"scope":["string.other.link","markup.underline.link","constant.other.reference.link.markdown","string.other.link.description.title.markdown"],"settings":{"foreground":"#73daca"}},{"scope":["markup.fenced_code.block.markdown","markup.inline.raw.string.markdown","variable.language.fenced.markdown"],"settings":{"foreground":"#89ddff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#51597d"}},{"scope":"markup.table","settings":{"foreground":"#c0cefc"}},{"scope":"token.info-token","settings":{"foreground":"#0db9d7"}},{"scope":"token.warn-token","settings":{"foreground":"#ffdb69"}},{"scope":"token.error-token","settings":{"foreground":"#db4b4b"}},{"scope":"token.debug-token","settings":{"foreground":"#b267e6"}},{"scope":"entity.tag.apacheconf","settings":{"foreground":"#f7768e"}},{"scope":["meta.preprocessor"],"settings":{"foreground":"#73daca"}},{"scope":"source.env","settings":{"foreground":"#7aa2f7"}}],"type":"dark"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-hegEt444.js.map diff --git a/src/webview-ui/build/assets/chunk-hegEt444.js.map b/src/webview-ui/build/assets/chunk-hegEt444.js.map new file mode 100644 index 0000000000..4f100b8f8d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-hegEt444.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-hegEt444.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/tokyo-night.mjs" + ], + "sourcesContent": [ + "/* Theme: tokyo-night */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#16161e\\\",\\\"activityBar.border\\\":\\\"#16161e\\\",\\\"activityBar.foreground\\\":\\\"#787c99\\\",\\\"activityBar.inactiveForeground\\\":\\\"#3b3e52\\\",\\\"activityBarBadge.background\\\":\\\"#3d59a1\\\",\\\"activityBarBadge.foreground\\\":\\\"#fff\\\",\\\"activityBarTop.foreground\\\":\\\"#787c99\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#3b3e52\\\",\\\"badge.background\\\":\\\"#7e83b230\\\",\\\"badge.foreground\\\":\\\"#acb0d0\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#a9b1d6\\\",\\\"breadcrumb.background\\\":\\\"#16161e\\\",\\\"breadcrumb.focusForeground\\\":\\\"#a9b1d6\\\",\\\"breadcrumb.foreground\\\":\\\"#515670\\\",\\\"breadcrumbPicker.background\\\":\\\"#16161e\\\",\\\"button.background\\\":\\\"#3d59a1dd\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#3d59a1AA\\\",\\\"button.secondaryBackground\\\":\\\"#3b3e52\\\",\\\"charts.blue\\\":\\\"#7aa2f7\\\",\\\"charts.foreground\\\":\\\"#9AA5CE\\\",\\\"charts.green\\\":\\\"#41a6b5\\\",\\\"charts.lines\\\":\\\"#16161e\\\",\\\"charts.orange\\\":\\\"#ff9e64\\\",\\\"charts.purple\\\":\\\"#9d7cd8\\\",\\\"charts.red\\\":\\\"#f7768e\\\",\\\"charts.yellow\\\":\\\"#e0af68\\\",\\\"chat.avatarBackground\\\":\\\"#3d59a1\\\",\\\"chat.avatarForeground\\\":\\\"#a9b1d6\\\",\\\"chat.requestBorder\\\":\\\"#0f0f14\\\",\\\"chat.slashCommandBackground\\\":\\\"#14141b\\\",\\\"chat.slashCommandForeground\\\":\\\"#7aa2f7\\\",\\\"debugConsole.errorForeground\\\":\\\"#bb616b\\\",\\\"debugConsole.infoForeground\\\":\\\"#787c99\\\",\\\"debugConsole.sourceForeground\\\":\\\"#787c99\\\",\\\"debugConsole.warningForeground\\\":\\\"#c49a5a\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#73daca\\\",\\\"debugExceptionWidget.background\\\":\\\"#101014\\\",\\\"debugExceptionWidget.border\\\":\\\"#963c47\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#414761\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#db4b4b\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#c24242\\\",\\\"debugTokenExpression.boolean\\\":\\\"#ff9e64\\\",\\\"debugTokenExpression.error\\\":\\\"#bb616b\\\",\\\"debugTokenExpression.name\\\":\\\"#7dcfff\\\",\\\"debugTokenExpression.number\\\":\\\"#ff9e64\\\",\\\"debugTokenExpression.string\\\":\\\"#9ece6a\\\",\\\"debugTokenExpression.value\\\":\\\"#9aa5ce\\\",\\\"debugToolBar.background\\\":\\\"#101014\\\",\\\"debugView.stateLabelBackground\\\":\\\"#14141b\\\",\\\"debugView.stateLabelForeground\\\":\\\"#787c99\\\",\\\"debugView.valueChangedHighlight\\\":\\\"#3d59a1aa\\\",\\\"descriptionForeground\\\":\\\"#515670\\\",\\\"diffEditor.diagonalFill\\\":\\\"#292e42\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#41a6b520\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#41a6b520\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#db4b4b22\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#db4b4b22\\\",\\\"diffEditor.unchangedCodeBackground\\\":\\\"#282a3b66\\\",\\\"diffEditorGutter.insertedLineBackground\\\":\\\"#41a6b525\\\",\\\"diffEditorGutter.removedLineBackground\\\":\\\"#db4b4b22\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#41a6b525\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#db4b4b22\\\",\\\"disabledForeground\\\":\\\"#545c7e\\\",\\\"dropdown.background\\\":\\\"#14141b\\\",\\\"dropdown.foreground\\\":\\\"#787c99\\\",\\\"dropdown.listBackground\\\":\\\"#14141b\\\",\\\"editor.background\\\":\\\"#1a1b26\\\",\\\"editor.findMatchBackground\\\":\\\"#3d59a166\\\",\\\"editor.findMatchBorder\\\":\\\"#e0af68\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#3d59a166\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#515c7e33\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#73daca20\\\",\\\"editor.foldBackground\\\":\\\"#1111174a\\\",\\\"editor.foreground\\\":\\\"#a9b1d6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#515c7e25\\\",\\\"editor.lineHighlightBackground\\\":\\\"#1e202e\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#515c7e20\\\",\\\"editor.selectionBackground\\\":\\\"#515c7e4d\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#515c7e44\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#E2BD3A20\\\",\\\"editor.wordHighlightBackground\\\":\\\"#515c7e44\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#515c7e55\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#698cd6\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#68b3de\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#9a7ecc\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#25aac2\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#80a856\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#c49a5a\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#db4b4b\\\",\\\"editorBracketMatch.background\\\":\\\"#16161e\\\",\\\"editorBracketMatch.border\\\":\\\"#42465d\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#698cd6\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#68b3de\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#9a7ecc\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#25aac2\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#80a856\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#c49a5a\\\",\\\"editorCodeLens.foreground\\\":\\\"#51597d\\\",\\\"editorCursor.foreground\\\":\\\"#c0caf5\\\",\\\"editorError.foreground\\\":\\\"#db4b4b\\\",\\\"editorGhostText.foreground\\\":\\\"#646e9c\\\",\\\"editorGroup.border\\\":\\\"#101014\\\",\\\"editorGroup.dropBackground\\\":\\\"#1e202e\\\",\\\"editorGroupHeader.border\\\":\\\"#101014\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#16161e\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#16161e\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#101014\\\",\\\"editorGutter.addedBackground\\\":\\\"#164846\\\",\\\"editorGutter.deletedBackground\\\":\\\"#823c41\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#394b70\\\",\\\"editorHint.foreground\\\":\\\"#0da0ba\\\",\\\"editorHoverWidget.background\\\":\\\"#16161e\\\",\\\"editorHoverWidget.border\\\":\\\"#101014\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#363b54\\\",\\\"editorIndentGuide.background1\\\":\\\"#232433\\\",\\\"editorInfo.foreground\\\":\\\"#0da0ba\\\",\\\"editorInlayHint.foreground\\\":\\\"#646e9c\\\",\\\"editorLightBulb.foreground\\\":\\\"#e0af68\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#e0af68\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#787c99\\\",\\\"editorLineNumber.foreground\\\":\\\"#363b54\\\",\\\"editorLink.activeForeground\\\":\\\"#acb0d0\\\",\\\"editorMarkerNavigation.background\\\":\\\"#16161e\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#164846\\\",\\\"editorOverviewRuler.border\\\":\\\"#101014\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#101014\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#703438\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#db4b4b\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#a9b1d644\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#1abc9c\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#394b70\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#a9b1d644\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#a9b1d622\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#e0af68\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bb9af755\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bb9af766\\\",\\\"editorPane.background\\\":\\\"#1a1b26\\\",\\\"editorRuler.foreground\\\":\\\"#101014\\\",\\\"editorSuggestWidget.background\\\":\\\"#16161e\\\",\\\"editorSuggestWidget.border\\\":\\\"#101014\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#6183bb\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#20222c\\\",\\\"editorWarning.foreground\\\":\\\"#e0af68\\\",\\\"editorWhitespace.foreground\\\":\\\"#363b54\\\",\\\"editorWidget.background\\\":\\\"#16161e\\\",\\\"editorWidget.border\\\":\\\"#101014\\\",\\\"editorWidget.foreground\\\":\\\"#787c99\\\",\\\"editorWidget.resizeBorder\\\":\\\"#545c7e33\\\",\\\"errorForeground\\\":\\\"#515670\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#3d59a1\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#ffffff\\\",\\\"extensionButton.prominentBackground\\\":\\\"#3d59a1DD\\\",\\\"extensionButton.prominentForeground\\\":\\\"#ffffff\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#3d59a1AA\\\",\\\"focusBorder\\\":\\\"#545c7e33\\\",\\\"foreground\\\":\\\"#787c99\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#449dab\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#e0af68cc\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#914c54\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#515670\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6183bb\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#449dab\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#914c54\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#6183bb\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#449dab\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#16161e\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#787c99\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#7aa2f7\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#646e9c\\\",\\\"icon.foreground\\\":\\\"#787c99\\\",\\\"inlineChat.foreground\\\":\\\"#a9b1d6\\\",\\\"inlineChatDiff.inserted\\\":\\\"#41a6b540\\\",\\\"inlineChatDiff.removed\\\":\\\"#db4b4b42\\\",\\\"inlineChatInput.background\\\":\\\"#14141b\\\",\\\"input.background\\\":\\\"#14141b\\\",\\\"input.border\\\":\\\"#0f0f14\\\",\\\"input.foreground\\\":\\\"#a9b1d6\\\",\\\"input.placeholderForeground\\\":\\\"#787c998A\\\",\\\"inputOption.activeBackground\\\":\\\"#3d59a144\\\",\\\"inputOption.activeForeground\\\":\\\"#c0caf5\\\",\\\"inputValidation.errorBackground\\\":\\\"#85353e\\\",\\\"inputValidation.errorBorder\\\":\\\"#963c47\\\",\\\"inputValidation.errorForeground\\\":\\\"#bbc2e0\\\",\\\"inputValidation.infoBackground\\\":\\\"#3d59a15c\\\",\\\"inputValidation.infoBorder\\\":\\\"#3d59a1\\\",\\\"inputValidation.infoForeground\\\":\\\"#bbc2e0\\\",\\\"inputValidation.warningBackground\\\":\\\"#c2985b\\\",\\\"inputValidation.warningBorder\\\":\\\"#e0af68\\\",\\\"inputValidation.warningForeground\\\":\\\"#000000\\\",\\\"list.activeSelectionBackground\\\":\\\"#202330\\\",\\\"list.activeSelectionForeground\\\":\\\"#a9b1d6\\\",\\\"list.deemphasizedForeground\\\":\\\"#787c99\\\",\\\"list.dropBackground\\\":\\\"#1e202e\\\",\\\"list.errorForeground\\\":\\\"#bb616b\\\",\\\"list.focusBackground\\\":\\\"#1c1d29\\\",\\\"list.focusForeground\\\":\\\"#a9b1d6\\\",\\\"list.highlightForeground\\\":\\\"#668ac4\\\",\\\"list.hoverBackground\\\":\\\"#13131a\\\",\\\"list.hoverForeground\\\":\\\"#a9b1d6\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#1c1d29\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#a9b1d6\\\",\\\"list.invalidItemForeground\\\":\\\"#c97018\\\",\\\"list.warningForeground\\\":\\\"#c49a5a\\\",\\\"listFilterWidget.background\\\":\\\"#101014\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#a6333f\\\",\\\"listFilterWidget.outline\\\":\\\"#3d59a1\\\",\\\"menu.background\\\":\\\"#16161e\\\",\\\"menu.border\\\":\\\"#101014\\\",\\\"menu.foreground\\\":\\\"#787c99\\\",\\\"menu.selectionBackground\\\":\\\"#1e202e\\\",\\\"menu.selectionForeground\\\":\\\"#a9b1d6\\\",\\\"menu.separatorBackground\\\":\\\"#101014\\\",\\\"menubar.selectionBackground\\\":\\\"#1e202e\\\",\\\"menubar.selectionBorder\\\":\\\"#1b1e2e\\\",\\\"menubar.selectionForeground\\\":\\\"#a9b1d6\\\",\\\"merge.currentContentBackground\\\":\\\"#007a7544\\\",\\\"merge.currentHeaderBackground\\\":\\\"#41a6b525\\\",\\\"merge.incomingContentBackground\\\":\\\"#3d59a144\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#3d59a1aa\\\",\\\"mergeEditor.change.background\\\":\\\"#41a6b525\\\",\\\"mergeEditor.change.word.background\\\":\\\"#41a6b540\\\",\\\"mergeEditor.conflict.handled.minimapOverViewRuler\\\":\\\"#449dab\\\",\\\"mergeEditor.conflict.handledFocused.border\\\":\\\"#41a6b565\\\",\\\"mergeEditor.conflict.handledUnfocused.border\\\":\\\"#41a6b525\\\",\\\"mergeEditor.conflict.unhandled.minimapOverViewRuler\\\":\\\"#e0af68\\\",\\\"mergeEditor.conflict.unhandledFocused.border\\\":\\\"#e0af68b0\\\",\\\"mergeEditor.conflict.unhandledUnfocused.border\\\":\\\"#e0af6888\\\",\\\"minimapGutter.addedBackground\\\":\\\"#1C5957\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#944449\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#425882\\\",\\\"multiDiffEditor.border\\\":\\\"#1a1b26\\\",\\\"multiDiffEditor.headerBackground\\\":\\\"#1a1b26\\\",\\\"notebook.cellBorderColor\\\":\\\"#101014\\\",\\\"notebook.cellEditorBackground\\\":\\\"#16161e\\\",\\\"notebook.cellStatusBarItemHoverBackground\\\":\\\"#1c1d29\\\",\\\"notebook.editorBackground\\\":\\\"#1a1b26\\\",\\\"notebook.focusedCellBorder\\\":\\\"#29355a\\\",\\\"notificationCenterHeader.background\\\":\\\"#101014\\\",\\\"notificationLink.foreground\\\":\\\"#6183bb\\\",\\\"notifications.background\\\":\\\"#101014\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#bb616b\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#0da0ba\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#bba461\\\",\\\"panel.background\\\":\\\"#16161e\\\",\\\"panel.border\\\":\\\"#101014\\\",\\\"panelInput.border\\\":\\\"#16161e\\\",\\\"panelTitle.activeBorder\\\":\\\"#16161e\\\",\\\"panelTitle.activeForeground\\\":\\\"#787c99\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#42465d\\\",\\\"peekView.border\\\":\\\"#101014\\\",\\\"peekViewEditor.background\\\":\\\"#16161e\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#3d59a166\\\",\\\"peekViewResult.background\\\":\\\"#101014\\\",\\\"peekViewResult.fileForeground\\\":\\\"#787c99\\\",\\\"peekViewResult.lineForeground\\\":\\\"#a9b1d6\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#3d59a166\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#3d59a133\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#a9b1d6\\\",\\\"peekViewTitle.background\\\":\\\"#101014\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#787c99\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#a9b1d6\\\",\\\"pickerGroup.border\\\":\\\"#101014\\\",\\\"pickerGroup.foreground\\\":\\\"#a9b1d6\\\",\\\"progressBar.background\\\":\\\"#3d59a1\\\",\\\"sash.hoverBorder\\\":\\\"#29355a\\\",\\\"scmGraph.foreground1\\\":\\\"#ff9e64\\\",\\\"scmGraph.foreground2\\\":\\\"#e0af68\\\",\\\"scmGraph.foreground3\\\":\\\"#41a6b5\\\",\\\"scmGraph.foreground4\\\":\\\"#7aa2f7\\\",\\\"scmGraph.foreground5\\\":\\\"#bb9af7\\\",\\\"scmGraph.historyItemBaseRefColor\\\":\\\"#9d7cd8\\\",\\\"scmGraph.historyItemHoverAdditionsForeground\\\":\\\"#41a6b5\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#a9b1d6\\\",\\\"scmGraph.historyItemHoverDeletionsForeground\\\":\\\"#f7768e\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#1b1e2e\\\",\\\"scmGraph.historyItemRefColor\\\":\\\"#506FCA\\\",\\\"scmGraph.historyItemRemoteRefColor\\\":\\\"#41a6b5\\\",\\\"scrollbar.shadow\\\":\\\"#00000033\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#868bc422\\\",\\\"scrollbarSlider.background\\\":\\\"#868bc415\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#868bc410\\\",\\\"selection.background\\\":\\\"#515c7e40\\\",\\\"settings.headerForeground\\\":\\\"#6183bb\\\",\\\"sideBar.background\\\":\\\"#16161e\\\",\\\"sideBar.border\\\":\\\"#101014\\\",\\\"sideBar.dropBackground\\\":\\\"#1e202e\\\",\\\"sideBar.foreground\\\":\\\"#787c99\\\",\\\"sideBarSectionHeader.background\\\":\\\"#16161e\\\",\\\"sideBarSectionHeader.border\\\":\\\"#101014\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#a9b1d6\\\",\\\"sideBarTitle.foreground\\\":\\\"#787c99\\\",\\\"statusBar.background\\\":\\\"#16161e\\\",\\\"statusBar.border\\\":\\\"#101014\\\",\\\"statusBar.debuggingBackground\\\":\\\"#16161e\\\",\\\"statusBar.debuggingForeground\\\":\\\"#787c99\\\",\\\"statusBar.foreground\\\":\\\"#787c99\\\",\\\"statusBar.noFolderBackground\\\":\\\"#16161e\\\",\\\"statusBarItem.activeBackground\\\":\\\"#101014\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#20222c\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#101014\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#20222c\\\",\\\"tab.activeBackground\\\":\\\"#16161e\\\",\\\"tab.activeBorder\\\":\\\"#3d59a1\\\",\\\"tab.activeForeground\\\":\\\"#a9b1d6\\\",\\\"tab.activeModifiedBorder\\\":\\\"#1a1b26\\\",\\\"tab.border\\\":\\\"#101014\\\",\\\"tab.hoverForeground\\\":\\\"#a9b1d6\\\",\\\"tab.inactiveBackground\\\":\\\"#16161e\\\",\\\"tab.inactiveForeground\\\":\\\"#787c99\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#1f202e\\\",\\\"tab.lastPinnedBorder\\\":\\\"#222333\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#1f202e\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a9b1d6\\\",\\\"tab.unfocusedHoverForeground\\\":\\\"#a9b1d6\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#787c99\\\",\\\"terminal.ansiBlack\\\":\\\"#363b54\\\",\\\"terminal.ansiBlue\\\":\\\"#7aa2f7\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#363b54\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7aa2f7\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7dcfff\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#73daca\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#bb9af7\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f7768e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#acb0d0\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e0af68\\\",\\\"terminal.ansiCyan\\\":\\\"#7dcfff\\\",\\\"terminal.ansiGreen\\\":\\\"#73daca\\\",\\\"terminal.ansiMagenta\\\":\\\"#bb9af7\\\",\\\"terminal.ansiRed\\\":\\\"#f7768e\\\",\\\"terminal.ansiWhite\\\":\\\"#787c99\\\",\\\"terminal.ansiYellow\\\":\\\"#e0af68\\\",\\\"terminal.background\\\":\\\"#16161e\\\",\\\"terminal.foreground\\\":\\\"#787c99\\\",\\\"terminal.selectionBackground\\\":\\\"#515c7e4d\\\",\\\"textBlockQuote.background\\\":\\\"#16161e\\\",\\\"textCodeBlock.background\\\":\\\"#16161e\\\",\\\"textLink.activeForeground\\\":\\\"#7dcfff\\\",\\\"textLink.foreground\\\":\\\"#6183bb\\\",\\\"textPreformat.foreground\\\":\\\"#9699a8\\\",\\\"textSeparator.foreground\\\":\\\"#363b54\\\",\\\"titleBar.activeBackground\\\":\\\"#16161e\\\",\\\"titleBar.activeForeground\\\":\\\"#787c99\\\",\\\"titleBar.border\\\":\\\"#101014\\\",\\\"titleBar.inactiveBackground\\\":\\\"#16161e\\\",\\\"titleBar.inactiveForeground\\\":\\\"#787c99\\\",\\\"toolbar.activeBackground\\\":\\\"#202330\\\",\\\"toolbar.hoverBackground\\\":\\\"#202330\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2b2b3b\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#16161e\\\",\\\"widget.shadow\\\":\\\"#ffffff00\\\",\\\"window.activeBorder\\\":\\\"#0d0f17\\\",\\\"window.inactiveBorder\\\":\\\"#0d0f17\\\"},\\\"displayName\\\":\\\"Tokyo Night\\\",\\\"name\\\":\\\"tokyo-night\\\",\\\"semanticTokenColors\\\":{\\\"*.defaultLibrary\\\":{\\\"foreground\\\":\\\"#2ac3de\\\"},\\\"parameter\\\":{\\\"foreground\\\":\\\"#d9d4cd\\\"},\\\"parameter.declaration\\\":{\\\"foreground\\\":\\\"#e0af68\\\"},\\\"property.declaration\\\":{\\\"foreground\\\":\\\"#73daca\\\"},\\\"property.defaultLibrary\\\":{\\\"foreground\\\":\\\"#2ac3de\\\"},\\\"variable\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"},\\\"variable.declaration\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#2ac3de\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"meta.var.expr storage.type\\\",\\\"keyword.control.flow\\\",\\\"keyword.control.return\\\",\\\"meta.directive.vue punctuation.separator.key-value.html\\\",\\\"meta.directive.vue entity.other.attribute-name.html\\\",\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\",\\\"storage.modifier\\\",\\\"string.quoted.docstring.multi\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end\\\",\\\"string.quoted.docstring.multi.python constant.character.escape\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.block-scalar.literal\\\",\\\"keyword.control.flow.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"comment.block.documentation\\\",\\\"punctuation.definition.comment\\\",\\\"comment.block.documentation punctuation\\\",\\\"string.quoted.docstring.multi\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end\\\",\\\"string.quoted.docstring.multi.python constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#51597d\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment.jsdoc\\\",\\\"comment.block.documentation variable\\\",\\\"comment.block.documentation storage\\\",\\\"comment.block.documentation keyword\\\",\\\"comment.block.documentation support\\\",\\\"comment.block.documentation markup\\\",\\\"comment.block.documentation markup.inline.raw.string.markdown\\\",\\\"meta.other.type.phpdoc.php keyword.other.type.php\\\",\\\"meta.other.type.phpdoc.php support.other.namespace.php\\\",\\\"meta.other.type.phpdoc.php punctuation.separator.inheritance.php\\\",\\\"meta.other.type.phpdoc.php support.class\\\",\\\"keyword.other.phpdoc.php\\\",\\\"log.date\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a638c\\\"}},{\\\"scope\\\":[\\\"meta.other.type.phpdoc.php support.class\\\",\\\"comment.block.documentation storage.type\\\",\\\"comment.block.documentation punctuation.definition.block.tag\\\",\\\"comment.block.documentation entity.name.type.instance\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#646e9c\\\"}},{\\\"scope\\\":[\\\"variable.other.constant\\\",\\\"punctuation.definition.constant\\\",\\\"constant.language\\\",\\\"constant.numeric\\\",\\\"support.constant\\\",\\\"constant.other.caps\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9e64\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"meta.attribute-selector\\\",\\\"string constant.character\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\",\\\"constant.other.color.rgb-value.hex punctuation.definition.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9aa5ce\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5370\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"meta.var.expr storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d7cd8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\",\\\"punctuation.section.embedded\\\",\\\"meta.embedded.line.tag.smarty\\\",\\\"support.constant.handlebars\\\",\\\"punctuation.section.tag.twig\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"keyword.control.smarty\\\",\\\"keyword.control.twig\\\",\\\"support.constant.handlebars keyword.control\\\",\\\"keyword.operator.comparison.twig\\\",\\\"keyword.blade\\\",\\\"entity.name.function.blade\\\",\\\"meta.tag.blade keyword.other.type.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"keyword.operator.spread\\\",\\\"keyword.operator.rest\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.control.as\\\",\\\"keyword.other\\\",\\\"keyword.operator.bitwise.shift\\\",\\\"punctuation\\\",\\\"expression.embbeded.vue punctuation.definition.tag\\\",\\\"text.html.twig meta.tag.inline.any.html\\\",\\\"meta.tag.template.value.twig meta.function.arguments.twig\\\",\\\"meta.directive.vue punctuation.separator.key-value.html\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.string\\\",\\\"punctuation.support.type.property-name\\\",\\\"text.html.vue-html meta.tag\\\",\\\"meta.attribute.directive\\\",\\\"punctuation.definition.keyword\\\",\\\"punctuation.terminator.rule\\\",\\\"punctuation.definition.entity\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"entity.name.operator\\\",\\\"meta.property-list punctuation.separator.key-value\\\",\\\"meta.at-rule.mixin punctuation.separator.key-value\\\",\\\"meta.at-rule.function variable.parameter.url\\\",\\\"meta.embedded.inline.phpx punctuation.definition.tag.begin.html\\\",\\\"meta.embedded.inline.phpx punctuation.definition.tag.end.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":[\\\"keyword.control.module.js\\\",\\\"keyword.control.import\\\",\\\"keyword.control.export\\\",\\\"keyword.control.from\\\",\\\"keyword.control.default\\\",\\\"meta.import keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.control\\\",\\\"keyword.other.important\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"keyword.other.DML\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"keyword.operator.logical\\\",\\\"storage.type.function\\\",\\\"keyword.operator.bitwise\\\",\\\"keyword.operator.ternary\\\",\\\"keyword.operator.comparison\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.or.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag support.class.component\\\",\\\"meta.tag.custom entity.name.tag\\\",\\\"meta.tag.other.unrecognized.html.derivative entity.name.tag\\\",\\\"meta.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#de5971\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\",\\\"text.html.php meta.embedded.block.html meta.tag.metadata.script.end.html punctuation.definition.tag.begin.html text.html.basic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ba3c97\\\"}},{\\\"scope\\\":[\\\"constant.other.php\\\",\\\"variable.other.global.safer\\\",\\\"variable.other.global.safer punctuation.definition.variable\\\",\\\"variable.other.global\\\",\\\"variable.other.global punctuation.definition.variable\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"support.variable\\\",\\\"string constant.other.placeholder\\\",\\\"variable.parameter.handlebars\\\",\\\"variable.other.object\\\",\\\"meta.fstring\\\",\\\"meta.function-call meta.function-call.arguments\\\",\\\"meta.embedded.inline.phpx constant.other.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"meta.array.literal variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\",\\\"entity.name.type.hcl\\\",\\\"string.alias.graphql\\\",\\\"string.unquoted.graphql\\\",\\\"string.unquoted.alias.graphql\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"meta.field.declaration.ts variable.object.property\\\",\\\"meta.block entity.name.label\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\",\\\"support.variable.property\\\",\\\"support.variable.property.dom\\\",\\\"meta.function-call variable.other.object.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":\\\"variable.other.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"meta.objectliteral meta.object.member meta.objectliteral meta.object.member meta.objectliteral meta.object.member meta.object-literal.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#41a6b5\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"entity.name.method.js\\\",\\\"variable.function.constructor\\\",\\\"keyword.other.special-method\\\",\\\"storage.type.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"variable.other.enummember\\\",\\\"meta.function-call\\\",\\\"meta.function-call entity.name.function\\\",\\\"variable.function\\\",\\\"meta.definition.method entity.name.function\\\",\\\"meta.object-literal entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special\\\",\\\"variable.parameter\\\",\\\"meta.function.parameters punctuation.definition.variable\\\",\\\"meta.function.parameter variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":[\\\"keyword.other.type.php\\\",\\\"storage.type.php\\\",\\\"constant.character\\\",\\\"constant.escape\\\",\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable variable.other.constant\\\",\\\"meta.definition.variable variable.other.readwrite\\\",\\\"variable.declaration.hcl variable.other.readwrite.hcl\\\",\\\"meta.mapping.key.hcl variable.other.readwrite.hcl\\\",\\\"variable.other.declaration\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"support.class\\\",\\\"support.type\\\",\\\"variable.other.readwrite.alias\\\",\\\"support.orther.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\",\\\"support.variable.dom\\\",\\\"support.constant.math\\\",\\\"support.type.object.module\\\",\\\"support.constant.json\\\",\\\"entity.name.namespace\\\",\\\"meta.import.qualifier\\\",\\\"variable.other.constant.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":\\\"entity.name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\",\\\"support.type.property-name.css\\\",\\\"support.type.vendored.property-name\\\",\\\"support.type.map.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"support.constant.font-name\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\",\\\"meta.at-rule.mixin.scss entity.name.function.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fc7b7b\\\"}},{\\\"scope\\\":\\\"entity.name.tag.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-class punctuation.definition.entity\\\",\\\"entity.other.attribute-name.pseudo-element punctuation.definition.entity\\\",\\\"entity.other.attribute-name.class punctuation.definition.entity\\\",\\\"entity.name.tag.reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":\\\"meta.property-list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.property-list meta.at-rule.if\\\",\\\"meta.at-rule.return variable.parameter.url\\\",\\\"meta.property-list meta.at-rule.else\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9e64\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.parent-selector-suffix punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":\\\"meta.property-list meta.property-list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.at-rule.mixin keyword.control.at-rule.mixin\\\",\\\"meta.at-rule.include entity.name.function.scss\\\",\\\"meta.at-rule.include keyword.control.at-rule.include\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"keyword.control.at-rule.include punctuation.definition.keyword\\\",\\\"keyword.control.at-rule.mixin punctuation.definition.keyword\\\",\\\"meta.at-rule.include keyword.control.at-rule.include\\\",\\\"keyword.control.at-rule.extend punctuation.definition.keyword\\\",\\\"meta.at-rule.extend keyword.control.at-rule.extend\\\",\\\"entity.other.attribute-name.placeholder.css punctuation.definition.entity.css\\\",\\\"meta.at-rule.media keyword.control.at-rule.media\\\",\\\"meta.at-rule.mixin keyword.control.at-rule.mixin\\\",\\\"meta.at-rule.function keyword.control.at-rule.function\\\",\\\"keyword.control punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d7cd8\\\"}},{\\\"scope\\\":\\\"meta.property-list meta.at-rule.include\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"support.constant.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9e64\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":\\\"variable.other punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\",\\\"variable.language.this punctuation.definition.variable\\\",\\\"keyword.other.this\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"text.html.basic entity.other.attribute-name.html\\\",\\\"text.html.basic entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"text.html constant.character.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0DB9D7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.id.html\\\",\\\"meta.directive.vue entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"source.sass keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-class\\\",\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.placeholder\\\",\\\"meta.property-list meta.property-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#449dab\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#914c54\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6183bb\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b4f9f8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.group\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"constant.other.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"constant.other.character-class.set.regexp\\\",\\\"punctuation.definition.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":\\\"constant.character.escape.backslash\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list_item.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.block\\\",\\\"meta.brace\\\",\\\"punctuation.definition.block\\\",\\\"punctuation.definition.use\\\",\\\"punctuation.definition.class\\\",\\\"punctuation.definition.begin.bracket\\\",\\\"punctuation.definition.end.bracket\\\",\\\"punctuation.definition.switch-expression.begin.bracket\\\",\\\"punctuation.definition.switch-expression.end.bracket\\\",\\\"punctuation.definition.section.switch-block.begin.bracket\\\",\\\"punctuation.definition.section.switch-block.end.bracket\\\",\\\"punctuation.definition.group.shell\\\",\\\"punctuation.definition.parameters\\\",\\\"punctuation.definition.arguments\\\",\\\"punctuation.definition.dictionary\\\",\\\"punctuation.definition.array\\\",\\\"punctuation.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.embedded.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9aa5ce\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4E5579\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown entity.name\\\",\\\"heading.1.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown entity.name\\\",\\\"heading.2.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#61bdf2\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown entity.name\\\",\\\"heading.3.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown entity.name\\\",\\\"heading.4.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6d91de\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown entity.name\\\",\\\"heading.5.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#9aa5ce\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown entity.name\\\",\\\"heading.6.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#747ca1\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\",\\\"markup.italic punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.bold markup.italic punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold italic\\\",\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\",\\\"markup.underline punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.quote punctuation.definition.blockquote.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4e5579\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\",\\\"markup.underline.link\\\",\\\"constant.other.reference.link.markdown\\\",\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block.markdown\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#51597d\\\"}},{\\\"scope\\\":\\\"markup.table\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0cefc\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffdb69\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#db4b4b\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b267e6\\\"}},{\\\"scope\\\":\\\"entity.tag.apacheconf\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":\\\"source.env\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n" + ], + "names": [ + "tokyoNight" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,uxlCAA60rC,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-irsrSlf-.js b/src/webview-ui/build/assets/chunk-irsrSlf-.js new file mode 100644 index 0000000000..71f887303d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-irsrSlf-.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Luau","fileTypes":["luau"],"name":"luau","patterns":[{"include":"#function-definition"},{"include":"#number"},{"include":"#string"},{"include":"#shebang"},{"include":"#comment"},{"include":"#local-declaration"},{"include":"#for-loop"},{"include":"#type-alias-declaration"},{"include":"#keyword"},{"include":"#language_constant"},{"include":"#standard_library"},{"include":"#identifier"},{"include":"#operator"},{"include":"#parentheses"},{"include":"#table"},{"include":"#type_cast"},{"include":"#type_annotation"},{"include":"#attribute"}],"repository":{"attribute":{"patterns":[{"captures":{"1":{"name":"keyword.operator.attribute.luau"},"2":{"name":"storage.type.attribute.luau"}},"match":"(@)([A-Z_a-z][0-9A-Z_a-z]*)","name":"meta.attribute.luau"}]},"comment":{"patterns":[{"begin":"--\\\\[(=*)\\\\[","end":"]\\\\1]","name":"comment.block.luau","patterns":[{"begin":"(```luau?)\\\\s+","beginCaptures":{"1":{"name":"comment.luau"}},"end":"(```)","endCaptures":{"1":{"name":"comment.luau"}},"name":"keyword.operator.other.luau","patterns":[{"include":"source.luau"}]},{"include":"#doc_comment_tags"}]},{"begin":"---","end":"\\\\n","name":"comment.line.double-dash.documentation.luau","patterns":[{"include":"#doc_comment_tags"}]},{"begin":"--","end":"\\\\n","name":"comment.line.double-dash.luau"}]},"doc_comment_tags":{"patterns":[{"match":"@\\\\w+","name":"storage.type.class.luadoc.luau"},{"captures":{"1":{"name":"storage.type.class.luadoc.luau"},"2":{"name":"variable.parameter.luau"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)\\\\s+\\\\b(\\\\w+)\\\\b"}]},"for-loop":{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.luau"}},"end":"\\\\b(in)\\\\b|(=)","endCaptures":{"1":{"name":"keyword.control.luau"},"2":{"name":"keyword.operator.assignment.luau"}},"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.luau"}},"end":"(?=\\\\s*in\\\\b|\\\\s*[,=]|\\\\s*$)","patterns":[{"include":"#type_literal"}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.parameter.luau"}]},"function-definition":{"begin":"\\\\b(?:(local)\\\\s+)?(function)\\\\b(?![,:])","beginCaptures":{"1":{"name":"storage.modifier.local.luau"},"2":{"name":"keyword.control.luau"}},"end":"(?<=[-\\\\]\\"\')\\\\[{}])","name":"meta.function.luau","patterns":[{"include":"#comment"},{"include":"#generics-declaration"},{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.luau"}},"name":"meta.parameter.luau","patterns":[{"include":"#comment"},{"match":"\\\\.\\\\.\\\\.","name":"variable.parameter.function.varargs.luau"},{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"variable.parameter.function.luau"},{"match":",","name":"punctuation.separator.arguments.luau"},{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.luau"}},"end":"(?=[),])","patterns":[{"include":"#type_literal"}]}]},{"match":"\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\\\\b","name":"variable.language.metamethod.luau"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"entity.name.function.luau"}]},"generics-declaration":{"begin":"(<)","end":"(>)","patterns":[{"match":"[A-Z_a-z][0-9A-Z_a-z]*","name":"entity.name.type.luau"},{"match":"=","name":"keyword.operator.assignment.luau"},{"include":"#type_literal"}]},"identifier":{"patterns":[{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:[\\"\'({]|\\\\[\\\\[))","name":"entity.name.function.luau"},{"match":"(?<=[^.]\\\\.|:)\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.other.property.luau"},{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.constant.luau"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.other.readwrite.luau"}]},"interpolated_string_expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.begin.luau"}},"contentName":"meta.embedded.line.luau","end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolated-string-expression.end.luau"}},"name":"meta.template.expression.luau","patterns":[{"include":"source.luau"}]},"keyword":{"patterns":[{"match":"\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b","name":"keyword.control.luau"},{"match":"\\\\b(local)\\\\b","name":"storage.modifier.local.luau"},{"match":"\\\\b(function)\\\\b(?![,:])","name":"keyword.control.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(self)\\\\b","name":"variable.language.self.luau"},{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.logical.luau keyword.operator.wordlike.luau"},{"match":"(?<=[^.]\\\\.|:)\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\\\\b","name":"variable.language.metamethod.luau"},{"match":"(?<!\\\\.)\\\\.{3}(?!\\\\.)","name":"keyword.other.unit.luau"}]},"language_constant":{"patterns":[{"match":"(?<![^.]\\\\.|:)\\\\b(false)\\\\b","name":"constant.language.boolean.false.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(true)\\\\b","name":"constant.language.boolean.true.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(nil(?!:))\\\\b","name":"constant.language.nil.luau"}]},"local-declaration":{"begin":"\\\\b(local)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.local.luau"}},"end":"(?=\\\\s*do\\\\b|\\\\s*[;=]|\\\\s*$)","patterns":[{"include":"#comment"},{"include":"#attribute"},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.luau"}},"end":"(?=\\\\s*do\\\\b|\\\\s*[,;=]|\\\\s*$)","patterns":[{"include":"#type_literal"}]},{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.constant.luau"},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"variable.other.readwrite.luau"}]},"number":{"patterns":[{"match":"\\\\b0_*[Xx]_*[A-F_a-f\\\\d]*(?:[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?","name":"constant.numeric.hex.luau"},{"match":"\\\\b0_*[Bb][01_]+(?:[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?","name":"constant.numeric.binary.luau"},{"match":"(?:\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?|\\\\.\\\\d[_\\\\d]*)(?:[Ee][-+]?_*\\\\d[_\\\\d]*(?:\\\\.[_\\\\d]*)?)?","name":"constant.numeric.decimal.luau"}]},"operator":{"patterns":[{"match":"==|~=|!=|<=?|>=?","name":"keyword.operator.comparison.luau"},{"match":"(?:[-+]|//??|[%*^]|\\\\.\\\\.|)=","name":"keyword.operator.assignment.luau"},{"match":"[-%*+]|//|[/^]","name":"keyword.operator.arithmetic.luau"},{"match":"#|(?<!\\\\.)\\\\.{2}(?!\\\\.)","name":"keyword.operator.other.luau"}]},"parentheses":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.arguments.begin.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.arguments.end.luau"}},"patterns":[{"match":",","name":"punctuation.separator.arguments.luau"},{"include":"source.luau"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.luau"}},"match":"\\\\A(#!).*$\\\\n?","name":"comment.line.shebang.luau"},"standard_library":{"patterns":[{"match":"(?<![^.]\\\\.|:)\\\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\\\b","name":"support.function.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(_(?:G|VERSION))\\\\b","name":"constant.language.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(bit32\\\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\\\.(?:clock|date|difftime|time)|string\\\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\\\b","name":"support.function.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(bit32|buffer|coroutine|debug|math(\\\\.(huge|pi))?|os|string|table|task|utf8(\\\\.charpattern)?)\\\\b","name":"support.constant.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\\\b","name":"support.function.luau"},{"match":"(?<![^.]\\\\.|:)\\\\b(game|plugin|shared|script|workspace|Enum(?:\\\\.\\\\w+){0,2})\\\\b","name":"constant.language.luau"}]},"string":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.luau","patterns":[{"include":"#string_escape"}]},{"begin":"\'","end":"\'","name":"string.quoted.single.luau","patterns":[{"include":"#string_escape"}]},{"begin":"\\\\[(=*)\\\\[","end":"]\\\\1]","name":"string.other.multiline.luau"},{"begin":"`","end":"`","name":"string.interpolated.luau","patterns":[{"include":"#interpolated_string_expression"},{"include":"#string_escape"}]}]},"string_escape":{"patterns":[{"match":"\\\\\\\\[\\"\'\\\\\\\\`abfnrtvz{]","name":"constant.character.escape.luau"},{"match":"\\\\\\\\\\\\d{1,3}","name":"constant.character.escape.luau"},{"match":"\\\\\\\\x\\\\h{2}","name":"constant.character.escape.luau"},{"match":"\\\\\\\\u\\\\{\\\\h*}","name":"constant.character.escape.luau"},{"match":"\\\\\\\\$","name":"constant.character.escape.luau"}]},"table":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.table.begin.luau"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.table.end.luau"}},"patterns":[{"match":"[,;]","name":"punctuation.separator.fields.luau"},{"include":"source.luau"}]},"type-alias-declaration":{"begin":"^\\\\b(?:(export)\\\\s+)?(type)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.visibility.luau"},"2":{"name":"storage.type.luau"}},"end":"(?=\\\\s*$)|(?=\\\\s*;)","patterns":[{"include":"#type_literal"},{"match":"=","name":"keyword.operator.assignment.luau"}]},"type_annotation":{"begin":":(?!\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(?=\\\\s*(?:[\\"\'({]|\\\\[\\\\[)))","end":"(?<=\\\\))(?!\\\\s*->)|[;=]|$|(?=\\\\breturn\\\\b)|(?=\\\\bend\\\\b)","patterns":[{"include":"#comment"},{"include":"#type_literal"}]},"type_cast":{"begin":"(::)","beginCaptures":{"1":{"name":"keyword.operator.typecast.luau"}},"end":"(?=^|[-\\\\])+,:;>?}](?!\\\\s*[\\\\&|])|$|\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\b)","patterns":[{"include":"#type_literal"}]},"type_literal":{"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[\\\\&?|]","name":"keyword.operator.type.luau"},{"match":"->","name":"keyword.operator.type.function.luau"},{"match":"\\\\b(false)\\\\b","name":"constant.language.boolean.false.luau"},{"match":"\\\\b(true)\\\\b","name":"constant.language.boolean.true.luau"},{"match":"\\\\b(nil|string|number|boolean|thread|userdata|symbol|any)\\\\b","name":"support.type.primitive.luau"},{"begin":"\\\\b(typeof)\\\\b(\\\\()","beginCaptures":{"1":{"name":"support.function.luau"},"2":{"name":"punctuation.arguments.begin.typeof.luau"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.arguments.end.typeof.luau"}},"patterns":[{"include":"source.luau"}]},{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.luau"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.luau"}},"patterns":[{"match":"=","name":"keyword.operator.assignment.luau"},{"include":"#type_literal"}]},{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b","name":"entity.name.type.luau"},{"begin":"\\\\{","end":"}","patterns":[{"begin":"\\\\[","end":"]","patterns":[{"include":"#type_literal"}]},{"captures":{"1":{"name":"variable.property.luau"},"2":{"name":"keyword.operator.type.luau"}},"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)"},{"include":"#type_literal"},{"match":"[,;]","name":"punctuation.separator.fields.type.luau"}]},{"begin":"\\\\(","end":"\\\\)","patterns":[{"captures":{"1":{"name":"variable.parameter.luau"},"2":{"name":"keyword.operator.type.luau"}},"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\b(:)","name":"variable.parameter.luau"},{"include":"#type_literal"}]}]}},"scopeName":"source.luau"}', + ), + ), + a = [e] +export { a as default } +//# sourceMappingURL=chunk-irsrSlf-.js.map diff --git a/src/webview-ui/build/assets/chunk-irsrSlf-.js.map b/src/webview-ui/build/assets/chunk-irsrSlf-.js.map new file mode 100644 index 0000000000..9c6f316e3c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-irsrSlf-.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-irsrSlf-.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/luau.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Luau\\\",\\\"fileTypes\\\":[\\\"luau\\\"],\\\"name\\\":\\\"luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-definition\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#shebang\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#local-declaration\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#language_constant\\\"},{\\\"include\\\":\\\"#standard_library\\\"},{\\\"include\\\":\\\"#identifier\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#type_cast\\\"},{\\\"include\\\":\\\"#type_annotation\\\"},{\\\"include\\\":\\\"#attribute\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.attribute.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.attribute.luau\\\"}},\\\"match\\\":\\\"(@)([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"meta.attribute.luau\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"--\\\\\\\\[(=*)\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\\\\\\1]\\\",\\\"name\\\":\\\"comment.block.luau\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(```luau?)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.luau\\\"}},\\\"end\\\":\\\"(```)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.luau\\\"}},\\\"name\\\":\\\"keyword.operator.other.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.luau\\\"}]},{\\\"include\\\":\\\"#doc_comment_tags\\\"}]},{\\\"begin\\\":\\\"---\\\",\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-dash.documentation.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#doc_comment_tags\\\"}]},{\\\"begin\\\":\\\"--\\\",\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-dash.luau\\\"}]},\\\"doc_comment_tags\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"@\\\\\\\\w+\\\",\\\"name\\\":\\\"storage.type.class.luadoc.luau\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.luadoc.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.luau\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.luau\\\"}},\\\"end\\\":\\\"\\\\\\\\b(in)\\\\\\\\b|(=)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.luau\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.luau\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*in\\\\\\\\b|\\\\\\\\s*[,=]|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_literal\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.parameter.luau\\\"}]},\\\"function-definition\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?:(local)\\\\\\\\s+)?(function)\\\\\\\\b(?![,:])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.local.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.luau\\\"}},\\\"end\\\":\\\"(?<=[-\\\\\\\\]\\\\\\\"')\\\\\\\\[{}])\\\",\\\"name\\\":\\\"meta.function.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#generics-declaration\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.luau\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.luau\\\"}},\\\"name\\\":\\\"meta.parameter.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"variable.parameter.function.varargs.luau\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.parameter.function.luau\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.arguments.luau\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.luau\\\"}},\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_literal\\\"}]}]},{\\\"match\\\":\\\"\\\\\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm|iter|idiv))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.metamethod.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.luau\\\"}]},\\\"generics-declaration\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"end\\\":\\\"(>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.name.type.luau\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.luau\\\"},{\\\"include\\\":\\\"#type_literal\\\"}]},\\\"identifier\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b(?=\\\\\\\\s*(?:[\\\\\\\"'({]|\\\\\\\\[\\\\\\\\[))\\\",\\\"name\\\":\\\"entity.name.function.luau\\\"},{\\\"match\\\":\\\"(?<=[^.]\\\\\\\\.|:)\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.property.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_][0-9A-Z_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.luau\\\"}]},\\\"interpolated_string_expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolated-string-expression.begin.luau\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.luau\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolated-string-expression.end.luau\\\"}},\\\"name\\\":\\\"meta.template.expression.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.luau\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b(local)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.local.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b(function)\\\\\\\\b(?![,:])\\\",\\\"name\\\":\\\"keyword.control.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(self)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.self.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|or|not)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.luau keyword.operator.wordlike.luau\\\"},{\\\"match\\\":\\\"(?<=[^.]\\\\\\\\.|:)\\\\\\\\b(__(?:add|call|concat|div|eq|index|len??|lt|metatable|mode??|mul|newindex|pow|sub|tostring|unm))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.metamethod.luau\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\.{3}(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.other.unit.luau\\\"}]},\\\"language_constant\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.false.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(true)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.true.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(nil(?!:))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.nil.luau\\\"}]},\\\"local-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\b(local)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.local.luau\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*do\\\\\\\\b|\\\\\\\\s*[;=]|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#attribute\\\"},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.luau\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*do\\\\\\\\b|\\\\\\\\s*[,;=]|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_literal\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_][0-9A-Z_]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.luau\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b0_*[Xx]_*[A-F_a-f\\\\\\\\d]*(?:[Ee][-+]?_*\\\\\\\\d[_\\\\\\\\d]*(?:\\\\\\\\.[_\\\\\\\\d]*)?)?\\\",\\\"name\\\":\\\"constant.numeric.hex.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b0_*[Bb][01_]+(?:[Ee][-+]?_*\\\\\\\\d[_\\\\\\\\d]*(?:\\\\\\\\.[_\\\\\\\\d]*)?)?\\\",\\\"name\\\":\\\"constant.numeric.binary.luau\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d[_\\\\\\\\d]*(?:\\\\\\\\.[_\\\\\\\\d]*)?|\\\\\\\\.\\\\\\\\d[_\\\\\\\\d]*)(?:[Ee][-+]?_*\\\\\\\\d[_\\\\\\\\d]*(?:\\\\\\\\.[_\\\\\\\\d]*)?)?\\\",\\\"name\\\":\\\"constant.numeric.decimal.luau\\\"}]},\\\"operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"==|~=|!=|<=?|>=?\\\",\\\"name\\\":\\\"keyword.operator.comparison.luau\\\"},{\\\"match\\\":\\\"(?:[-+]|//??|[%*^]|\\\\\\\\.\\\\\\\\.|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.luau\\\"},{\\\"match\\\":\\\"[-%*+]|//|[/^]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.luau\\\"},{\\\"match\\\":\\\"#|(?<!\\\\\\\\.)\\\\\\\\.{2}(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.operator.other.luau\\\"}]},\\\"parentheses\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.arguments.begin.luau\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.arguments.end.luau\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.arguments.luau\\\"},{\\\"include\\\":\\\"source.luau\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.luau\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.shebang.luau\\\"},\\\"standard_library\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(assert|collectgarbage|error|gcinfo|getfenv|getmetatable|ipairs|loadstring|newproxy|next|pairs|pcall|print|rawequal|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|typeof|unpack|xpcall)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(_(?:G|VERSION))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(bit32\\\\\\\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\\\\\\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\\\\\\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\\\\\\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\\\\\\\.(?:clock|date|difftime|time)|string\\\\\\\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\\\\\\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\\\\\\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\\\\\\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\\\\\\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(bit32|buffer|coroutine|debug|math(\\\\\\\\.(huge|pi))?|os|string|table|task|utf8(\\\\\\\\.charpattern)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(delay|DebuggerManager|elapsedTime|PluginManager|printidentity|settings|spawn|stats|tick|time|UserSettings|version|wait|warn)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.luau\\\"},{\\\"match\\\":\\\"(?<![^.]\\\\\\\\.|:)\\\\\\\\b(game|plugin|shared|script|workspace|Enum(?:\\\\\\\\.\\\\\\\\w+){0,2})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.luau\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[(=*)\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\\\\\\1]\\\",\\\"name\\\":\\\"string.other.multiline.luau\\\"},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.interpolated.luau\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_string_expression\\\"},{\\\"include\\\":\\\"#string_escape\\\"}]}]},\\\"string_escape\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`abfnrtvz{]\\\",\\\"name\\\":\\\"constant.character.escape.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\d{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{2}\\\",\\\"name\\\":\\\"constant.character.escape.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h*}\\\",\\\"name\\\":\\\"constant.character.escape.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.character.escape.luau\\\"}]},\\\"table\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.table.begin.luau\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.table.end.luau\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"[,;]\\\",\\\"name\\\":\\\"punctuation.separator.fields.luau\\\"},{\\\"include\\\":\\\"source.luau\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"^\\\\\\\\b(?:(export)\\\\\\\\s+)?(type)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.visibility.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.luau\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*$)|(?=\\\\\\\\s*;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_literal\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.luau\\\"}]},\\\"type_annotation\\\":{\\\"begin\\\":\\\":(?!\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b(?=\\\\\\\\s*(?:[\\\\\\\"'({]|\\\\\\\\[\\\\\\\\[)))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\s*->)|[;=]|$|(?=\\\\\\\\breturn\\\\\\\\b)|(?=\\\\\\\\bend\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type_literal\\\"}]},\\\"type_cast\\\":{\\\"begin\\\":\\\"(::)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.typecast.luau\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}](?!\\\\\\\\s*[\\\\\\\\&|])|$|\\\\\\\\b(break|do|else|for|if|elseif|return|then|repeat|while|until|end|in|continue)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_literal\\\"}]},\\\"type_literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[\\\\\\\\&?|]\\\",\\\"name\\\":\\\"keyword.operator.type.luau\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.type.function.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b(false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.false.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.true.luau\\\"},{\\\"match\\\":\\\"\\\\\\\\b(nil|string|number|boolean|thread|userdata|symbol|any)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.primitive.luau\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(typeof)\\\\\\\\b(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.arguments.begin.typeof.luau\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.arguments.end.typeof.luau\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.luau\\\"}]},{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.luau\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.luau\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.luau\\\"},{\\\"include\\\":\\\"#type_literal\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.luau\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type_literal\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.property.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.luau\\\"}},\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b(:)\\\"},{\\\"include\\\":\\\"#type_literal\\\"},{\\\"match\\\":\\\"[,;]\\\",\\\"name\\\":\\\"punctuation.separator.fields.type.luau\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.luau\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.luau\\\"}},\\\"match\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b(:)\\\",\\\"name\\\":\\\"variable.parameter.luau\\\"},{\\\"include\\\":\\\"#type_literal\\\"}]}]}},\\\"scopeName\\\":\\\"source.luau\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "luau" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,i1YAAqob,CAAC,EAE7pbC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-jQY0bNUL.js b/src/webview-ui/build/assets/chunk-jQY0bNUL.js new file mode 100644 index 0000000000..461032f2ac --- /dev/null +++ b/src/webview-ui/build/assets/chunk-jQY0bNUL.js @@ -0,0 +1,9 @@ +import e from "./chunk-C2tOF0e5.js" +const t = Object.freeze( + JSON.parse( + '{"displayName":"TeX","name":"tex","patterns":[{"include":"#iffalse-block"},{"include":"#macro-control"},{"include":"#catcode"},{"include":"#comment"},{"match":"[]\\\\[]","name":"punctuation.definition.brackets.tex"},{"include":"#dollar-math"},{"match":"\\\\\\\\\\\\\\\\","name":"keyword.control.newline.tex"},{"include":"#macro-general"}],"repository":{"braces":{"begin":"(?<!\\\\\\\\)\\\\{","beginCaptures":{"0":{"name":"punctuation.group.begin.tex"}},"end":"(?<!\\\\\\\\)}","endCaptures":{"0":{"name":"punctuation.group.end.tex"}},"name":"meta.group.braces.tex","patterns":[{"include":"#braces"}]},"catcode":{"captures":{"1":{"name":"keyword.control.catcode.tex"},"2":{"name":"punctuation.definition.keyword.tex"},"3":{"name":"punctuation.separator.key-value.tex"},"4":{"name":"constant.numeric.category.tex"}},"match":"((\\\\\\\\)catcode)`\\\\\\\\?.(=)(\\\\d+)","name":"meta.catcode.tex"},"comment":{"begin":"(^[\\\\t ]+)?(?=%)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.tex"}},"end":"(?!\\\\G)","patterns":[{"begin":"%:?","beginCaptures":{"0":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.tex"},{"begin":"^(%!TEX) (\\\\S*) =","beginCaptures":{"1":{"name":"punctuation.definition.comment.tex"}},"end":"$\\\\n?","name":"comment.line.percentage.directive.tex"}]},"conditionals":{"begin":"(?<=^\\\\s*)\\\\\\\\if[a-z]*","end":"(?<=^\\\\s*)\\\\\\\\fi","patterns":[{"include":"#comment"},{"include":"#conditionals"}]},"dollar-math":{"begin":"(\\\\$\\\\$?)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.tex"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.tex"}},"name":"meta.math.block.tex support.class.math.block.tex","patterns":[{"match":"\\\\\\\\\\\\$","name":"constant.character.escape.tex"},{"include":"#math-content"},{"include":"$self"}]},"iffalse-block":{"begin":"(?<=^\\\\s*)((\\\\\\\\)iffalse)(?!\\\\s*[{}]\\\\s*\\\\\\\\fi)","beginCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"contentName":"comment.line.percentage.tex","end":"((\\\\\\\\)(?:else|fi))","endCaptures":{"1":{"name":"keyword.control.tex"},"2":{"name":"punctuation.definition.keyword.tex"}},"patterns":[{"include":"#comment"},{"include":"#braces"},{"include":"#conditionals"}]},"macro-control":{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])","name":"keyword.control.tex"},"macro-general":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)_*[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\.)[@\\\\p{Alphabetic}]+(?:_[@\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*","name":"support.class.general.latex3.tex"},{"captures":{"1":{"name":"punctuation.definition.function.tex"}},"match":"(\\\\\\\\)(?:[,;]|[@\\\\p{Alphabetic}]+)","name":"support.function.general.tex"},{"captures":{"1":{"name":"punctuation.definition.keyword.tex"}},"match":"(\\\\\\\\)[^@-Za-z]","name":"constant.character.escape.tex"}]},"math-content":{"patterns":[{"begin":"((\\\\\\\\)(?:text|mbox))(\\\\{)","beginCaptures":{"1":{"name":"constant.other.math.tex"},"2":{"name":"punctuation.definition.function.tex"},"3":{"name":"punctuation.definition.arguments.begin.tex meta.text.normal.tex"}},"contentName":"meta.text.normal.tex","end":"}","endCaptures":{"0":{"name":"punctuation.definition.arguments.end.tex meta.text.normal.tex"}},"patterns":[{"include":"#math-content"},{"include":"$self"}]},{"match":"\\\\\\\\[{}]","name":"punctuation.math.bracket.pair.tex"},{"match":"\\\\\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\\\[|]|\\\\\\\\[{|}]|\\\\\\\\[lr]?[Vv]ert|\\\\\\\\[lr]angle)","name":"punctuation.math.bracket.pair.big.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|Arrownot)(?![@-Za-z])","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\\\b","name":"constant.character.math.tex"},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\\\b","name":"constant.other.math.tex"},{"begin":"((\\\\\\\\)Sexpr(\\\\{))","beginCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.definition.function.math.tex"},"3":{"name":"punctuation.section.embedded.begin.math.tex"}},"contentName":"support.function.sexpr.math.tex","end":"(((})))","endCaptures":{"1":{"name":"support.function.sexpr.math.tex"},"2":{"name":"punctuation.section.embedded.end.math.tex"},"3":{"name":"source.r"}},"name":"meta.embedded.line.r","patterns":[{"begin":"\\\\G(?!})","end":"(?=})","name":"source.r","patterns":[{"include":"source.r"}]}]},{"captures":{"1":{"name":"punctuation.definition.constant.math.tex"}},"match":"(\\\\\\\\)(?!begin\\\\{|verb)([A-Za-z]+)","name":"constant.other.general.math.tex"},{"match":"(?<!\\\\\\\\)\\\\{","name":"punctuation.math.begin.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)}","name":"punctuation.math.end.bracket.curly.tex"},{"match":"(?<!\\\\\\\\)\\\\(","name":"punctuation.math.begin.bracket.round.tex"},{"match":"(?<!\\\\\\\\)\\\\)","name":"punctuation.math.end.bracket.round.tex"},{"match":"(([0-9]*\\\\.[0-9]+)|[0-9]+)","name":"constant.numeric.math.tex"},{"match":"[-*+/]|(?<!\\\\^)\\\\^(?!\\\\^)|(?<!_)_(?!_)","name":"punctuation.math.operator.tex"}]}},"scopeName":"text.tex","embeddedLangs":["r"]}', + ), + ), + n = [...e, t] +export { n as default } +//# sourceMappingURL=chunk-jQY0bNUL.js.map diff --git a/src/webview-ui/build/assets/chunk-jQY0bNUL.js.map b/src/webview-ui/build/assets/chunk-jQY0bNUL.js.map new file mode 100644 index 0000000000..4d96e68688 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-jQY0bNUL.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-jQY0bNUL.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/tex.mjs" + ], + "sourcesContent": [ + "import r from './r.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TeX\\\",\\\"name\\\":\\\"tex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#iffalse-block\\\"},{\\\"include\\\":\\\"#macro-control\\\"},{\\\"include\\\":\\\"#catcode\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.definition.brackets.tex\\\"},{\\\"include\\\":\\\"#dollar-math\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"keyword.control.newline.tex\\\"},{\\\"include\\\":\\\"#macro-general\\\"}],\\\"repository\\\":{\\\"braces\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\\\\\\\\\)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.group.begin.tex\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.group.end.tex\\\"}},\\\"name\\\":\\\"meta.group.braces.tex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#braces\\\"}]},\\\"catcode\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.catcode.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.tex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.tex\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.category.tex\\\"}},\\\"match\\\":\\\"((\\\\\\\\\\\\\\\\)catcode)`\\\\\\\\\\\\\\\\?.(=)(\\\\\\\\d+)\\\",\\\"name\\\":\\\"meta.catcode.tex\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=%)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.tex\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%:?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tex\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.percentage.tex\\\"},{\\\"begin\\\":\\\"^(%!TEX) (\\\\\\\\S*) =\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tex\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.percentage.directive.tex\\\"}]},\\\"conditionals\\\":{\\\"begin\\\":\\\"(?<=^\\\\\\\\s*)\\\\\\\\\\\\\\\\if[a-z]*\\\",\\\"end\\\":\\\"(?<=^\\\\\\\\s*)\\\\\\\\\\\\\\\\fi\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#conditionals\\\"}]},\\\"dollar-math\\\":{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\$?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tex\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tex\\\"}},\\\"name\\\":\\\"meta.math.block.tex support.class.math.block.tex\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.character.escape.tex\\\"},{\\\"include\\\":\\\"#math-content\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"iffalse-block\\\":{\\\"begin\\\":\\\"(?<=^\\\\\\\\s*)((\\\\\\\\\\\\\\\\)iffalse)(?!\\\\\\\\s*[{}]\\\\\\\\s*\\\\\\\\\\\\\\\\fi)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.tex\\\"}},\\\"contentName\\\":\\\"comment.line.percentage.tex\\\",\\\"end\\\":\\\"((\\\\\\\\\\\\\\\\)(?:else|fi))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.tex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#braces\\\"},{\\\"include\\\":\\\"#conditionals\\\"}]},\\\"macro-control\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(backmatter|csname|else|endcsname|fi|frontmatter|mainmatter|unless|if(case|cat|csname|defined|dim|eof|false|fontchar|hbox|hmode|inner|mmode|num|odd|true|vbox|vmode|void|x)?)(?![@-Za-z])\\\",\\\"name\\\":\\\"keyword.control.tex\\\"},\\\"macro-general\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)_*[@\\\\\\\\p{Alphabetic}]+(?:_[@\\\\\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*\\\",\\\"name\\\":\\\"support.class.general.latex3.tex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)[@\\\\\\\\p{Alphabetic}]+(?:_[@\\\\\\\\p{Alphabetic}]+)*:[DFNTVcefnopvwx]*\\\",\\\"name\\\":\\\"support.class.general.latex3.tex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(?:[,;]|[@\\\\\\\\p{Alphabetic}]+)\\\",\\\"name\\\":\\\"support.function.general.tex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)[^@-Za-z]\\\",\\\"name\\\":\\\"constant.character.escape.tex\\\"}]},\\\"math-content\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)(?:text|mbox))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.math.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.tex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.tex meta.text.normal.tex\\\"}},\\\"contentName\\\":\\\"meta.text.normal.tex\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.tex meta.text.normal.tex\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#math-content\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[{}]\\\",\\\"name\\\":\\\"punctuation.math.bracket.pair.tex\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(left|right|((bigg??|Bigg??)[lr]?))([]().<>\\\\\\\\[|]|\\\\\\\\\\\\\\\\[{|}]|\\\\\\\\\\\\\\\\[lr]?[Vv]ert|\\\\\\\\\\\\\\\\[lr]angle)\\\",\\\"name\\\":\\\"punctuation.math.bracket.pair.big.tex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.math.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(s(s(earrow|warrow|lash)|h(ort(downarrow|uparrow|parallel|leftarrow|rightarrow|mid)|arp)|tar|i(gma|m(eq)?)|u(cc(sim|n(sim|approx)|curlyeq|eq|approx)?|pset(neq(q)?|plus(eq)?|eq(q)?)?|rd|m|bset(neq(q)?|plus(eq)?|eq(q)?)?)|p(hericalangle|adesuit)|e(tminus|arrow)|q(su(pset(eq)?|bset(eq)?)|c([au]p)|uare)|warrow|m(ile|all(s(etminus|mile)|frown)))|h(slash|ook((?:lef|righ)tarrow)|eartsuit|bar)|R(sh|ightarrow|e|bag)|Gam(e|ma)|n(s(hort(parallel|mid)|im|u(cc(eq)?|pseteq(q)?|bseteq))|Rightarrow|n([ew]arrow)|cong|triangle(left(eq(slant)?)?|right(eq(slant)?)?)|i(plus)?|u|p(lus|arallel|rec(eq)?)|e(q|arrow|g|xists)|v([Dd]ash)|warrow|le(ss|q(slant|q)?|ft((?:|right)arrow))|a(tural|bla)|VDash|rightarrow|g(tr|eq(slant|q)?)|mid|Left((?:|right)arrow))|c(hi|irc(eq|le(d(circ|S|dash|ast)|arrow(left|right)))?|o(ng|prod|lon|mplement)|dot([ps])?|u(p|r(vearrow(left|right)|ly(eq(succ|prec)|vee((?:down|up)arrow)?|wedge((?:down|up)arrow)?)))|enterdot|lubsuit|ap)|Xi|Maps(to(char)?|from(char)?)|B(ox|umpeq|bbk)|t(h(ick(sim|approx)|e(ta|refore))|imes|op|wohead((?:lef|righ)tarrow)|a(u|lloblong)|riangle(down|q|left(eq(slant)?)?|right(eq(slant)?)?)?)|i(n(t(er(cal|leave))?|plus|fty)?|ota|math)|S(igma|u([bp]set))|zeta|o(slash|times|int|dot|plus|vee|wedge|lessthan|greaterthan|m(inus|ega)|b(slash|long|ar))|d(i(v(ideontimes)?|a(g(down|up)|mond(suit)?)|gamma)|o(t(plus|eq(dot)?)|ublebarwedge|wn(harpoon(left|right)|downarrows|arrow))|d(ots|agger)|elta|a(sh(v|leftarrow|rightarrow)|leth|gger))|Y(down|up|left|right)|C([au]p)|u(n([lr]hd)|p(silon|harpoon(left|right)|downarrow|uparrows|lus|arrow)|lcorner|rcorner)|jmath|Theta|Im|p(si|hi|i(tchfork)?|erp|ar(tial|allel)|r(ime|o(d|pto)|ec(sim|n(sim|approx)|curlyeq|eq|approx)?)|m)|e(t([ah])|psilon|q(slant(less|gtr)|circ|uiv)|ll|xists|mptyset)|Omega|D(iamond|ownarrow|elta)|v(d(ots|ash)|ee(bar)?|Dash|ar(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|curly(vee|wedge)|t(heta|imes|riangle(left|right)?)|o(slash|circle|times|dot|plus|vee|wedge|lessthan|ast|greaterthan|minus|b(slash|ar))|p(hi|i|ropto)|epsilon|kappa|rho|bigcirc))|kappa|Up(silon|downarrow|arrow)|Join|f(orall|lat|a(t(s(emi|lash)|bslash)|llingdotseq)|rown)|P((?:s|h?)i)|w(p|edge|r)|l(hd|n(sim|eq(q)?|approx)|ceil|times|ightning|o(ng(left((?:|right)arrow)|rightarrow|maps(to|from))|zenge|oparrow(left|right))|dot([ps])|e(ss(sim|dot|eq(q?gtr)|approx|gtr)|q(slant|q)?|ft(slice|harpoon(down|up)|threetimes|leftarrows|arrow(t(ail|riangle))?|right(squigarrow|harpoons|arrow(s|triangle|eq)?))|adsto)|vertneqq|floor|l(c(orner|eil)|floor|l|bracket)?|a(ngle|mbda)|rcorner|bag)|a(s(ymp|t)|ngle|pprox(eq)?|l(pha|eph)|rrownot|malg)|V(v??dash)|r(h([do])|ceil|times|i(singdotseq|ght(s(quigarrow|lice)|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(t(ail|riangle))?|rightarrows))|floor|angle|r(ceil|parenthesis|floor|bracket)|bag)|g(n(sim|eq(q)?|approx)|tr(sim|dot|eq(q?less)|less|approx)|imel|eq(slant|q)?|vertneqq|amma|g(g)?)|Finv|xi|m(ho|i(nuso|d)|o(o|dels)|u(ltimap)?|p|e(asuredangle|rge)|aps(to|from(char)?))|b(i(n(dnasrepma|ampersand)|g(s(tar|qc([au]p))|nplus|c(irc|u(p|rly(vee|wedge))|ap)|triangle(down|up)|interleave|o(times|dot|plus)|uplus|parallel|vee|wedge|box))|o(t|wtie|x(slash|circle|times|dot|plus|empty|ast|minus|b(slash|ox|ar)))|u(llet|mpeq)|e(cause|t(h|ween|a))|lack(square|triangle(down|left|right)?|lozenge)|a(ck(s(im(eq)?|lash)|prime|epsilon)|r(o|wedge))|bslash)|L(sh|ong(left((?:|right)arrow)|rightarrow|maps(to|from))|eft((?:|right)arrow)|leftarrow|ambda|bag)|Arrownot)(?![@-Za-z])\\\",\\\"name\\\":\\\"constant.character.math.tex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.math.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(sum|prod|coprod|int|oint|bigcap|bigcup|bigsqcup|bigvee|bigwedge|bigodot|bigotimes|bogoplus|biguplus)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.character.math.tex\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.math.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(arccos|arcsin|arctan|arg|cosh??|coth??|csc|deg|det|dim|exp|gcd|hom|inf|ker|lg|lim|liminf|limsup|ln|log|max|min|pr|sec|sinh??|sup|tanh??)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.math.tex\\\"},{\\\"begin\\\":\\\"((\\\\\\\\\\\\\\\\)Sexpr(\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.sexpr.math.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.function.math.tex\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.math.tex\\\"}},\\\"contentName\\\":\\\"support.function.sexpr.math.tex\\\",\\\"end\\\":\\\"(((})))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.sexpr.math.tex\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.math.tex\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.r\\\"}},\\\"name\\\":\\\"meta.embedded.line.r\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?!})\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"source.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.math.tex\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(?!begin\\\\\\\\{|verb)([A-Za-z]+)\\\",\\\"name\\\":\\\"constant.other.general.math.tex\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)\\\\\\\\{\\\",\\\"name\\\":\\\"punctuation.math.begin.bracket.curly.tex\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)}\\\",\\\"name\\\":\\\"punctuation.math.end.bracket.curly.tex\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.math.begin.bracket.round.tex\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.math.end.bracket.round.tex\\\"},{\\\"match\\\":\\\"(([0-9]*\\\\\\\\.[0-9]+)|[0-9]+)\\\",\\\"name\\\":\\\"constant.numeric.math.tex\\\"},{\\\"match\\\":\\\"[-*+/]|(?<!\\\\\\\\^)\\\\\\\\^(?!\\\\\\\\^)|(?<!_)_(?!_)\\\",\\\"name\\\":\\\"punctuation.math.operator.tex\\\"}]}},\\\"scopeName\\\":\\\"text.tex\\\",\\\"embeddedLangs\\\":[\\\"r\\\"]}\"))\n\nexport default [\n...r,\nlang\n]\n" + ], + "names": [ + "lang", + "tex", + "r" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,+sSAAm2T,CAAC,EAE33TC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-lXgVvXCa.js b/src/webview-ui/build/assets/chunk-lXgVvXCa.js new file mode 100644 index 0000000000..b76174f606 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-lXgVvXCa.js @@ -0,0 +1,8 @@ +const e = Object.freeze( + JSON.parse( + '{"displayName":"Wolfram","fileTypes":["wl","m","wls","wlt","mt"],"name":"wolfram","patterns":[{"include":"#main"}],"repository":{"association-group":{"begin":"<\\\\|","beginCaptures":{"0":{"name":"punctuation.section.associations.begin.wolfram"}},"end":"\\\\|>","endCaptures":{"0":{"name":"punctuation.section.associations.end.wolfram"}},"name":"meta.associations.wolfram","patterns":[{"include":"#expressions"}]},"brace-group":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.braces.begin.wolfram"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.braces.end.wolfram"}},"name":"meta.braces.wolfram","patterns":[{"include":"#expressions"}]},"bracket-group":{"begin":"::\\\\[|\\\\[","beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.wolfram"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.brackets.end.wolfram"}},"name":"meta.brackets.wolfram","patterns":[{"include":"#expressions"}]},"comments":{"patterns":[{"begin":"\\\\(\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.wolfram"}},"end":"\\\\*\\\\)","endCaptures":{"0":{"name":"punctuation.definition.comment.wolfram"}},"name":"comment.block","patterns":[{"include":"#comments"}]},{"match":"\\\\*\\\\)","name":"invalid.illegal.stray-comment-end.wolfram"}]},"escaped_character_symbols":{"patterns":[{"match":"System`\\\\\\\\\\\\[Formal(?:A|Alpha|B|Beta|C|CapitalA|CapitalAlpha|CapitalB|CapitalBeta|CapitalC|CapitalChi|CapitalD|CapitalDelta|CapitalDigamma|CapitalE|CapitalEpsilon|CapitalEta|CapitalF|CapitalG|CapitalGamma|CapitalH|CapitalI|CapitalIota|CapitalJ|CapitalK|CapitalKappa|CapitalKoppa|CapitalL|CapitalLambda|CapitalMu??|CapitalNu??|CapitalO|CapitalOmega|CapitalOmicron|CapitalP|CapitalPhi|CapitalPi|CapitalPsi|CapitalQ|CapitalR|CapitalRho|CapitalS|CapitalSampi|CapitalSigma|CapitalStigma|CapitalT|CapitalTau|CapitalTheta|CapitalU|CapitalUpsilon|CapitalV|CapitalW|CapitalXi??|CapitalY|CapitalZ|CapitalZeta|Chi|CurlyCapitalUpsilon|CurlyEpsilon|CurlyKappa|CurlyPhi|CurlyPi|CurlyRho|CurlyTheta|D|Delta|Digamma|E|Epsilon|Eta|F|FinalSigma|G|Gamma|[HI]|Iota|[JK]|Kappa|Koppa|L|Lambda|Mu??|Nu??|O|Omega|Omicron|P|Phi|Pi|Psi|[QR]|Rho|S|Sampi|ScriptA|ScriptB|ScriptC|ScriptCapitalA|ScriptCapitalB|ScriptCapitalC|ScriptCapitalD|ScriptCapitalE|ScriptCapitalF|ScriptCapitalG|ScriptCapitalH|ScriptCapitalI|ScriptCapitalJ|ScriptCapitalK|ScriptCapitalL|ScriptCapitalM|ScriptCapitalN|ScriptCapitalO|ScriptCapitalP|ScriptCapitalQ|ScriptCapitalR|ScriptCapitalS|ScriptCapitalT|ScriptCapitalU|ScriptCapitalV|ScriptCapitalW|ScriptCapitalX|ScriptCapitalY|ScriptCapitalZ|ScriptD|ScriptE|ScriptF|ScriptG|ScriptH|ScriptI|ScriptJ|ScriptK|ScriptL|ScriptM|ScriptN|ScriptO|ScriptP|ScriptQ|ScriptR|ScriptS|ScriptT|ScriptU|ScriptV|ScriptW|ScriptX|ScriptY|ScriptZ|Sigma|Stigma|T|Tau|Theta|U|Upsilon|[VW]|Xi??|[YZ]|Zeta)](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`\\\\\\\\\\\\[SystemsModelDelay](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\\\\\\\\\[Formal(?:A|Alpha|B|Beta|C|CapitalA|CapitalAlpha|CapitalB|CapitalBeta|CapitalC|CapitalChi|CapitalD|CapitalDelta|CapitalDigamma|CapitalE|CapitalEpsilon|CapitalEta|CapitalF|CapitalG|CapitalGamma|CapitalH|CapitalI|CapitalIota|CapitalJ|CapitalK|CapitalKappa|CapitalKoppa|CapitalL|CapitalLambda|CapitalMu??|CapitalNu??|CapitalO|CapitalOmega|CapitalOmicron|CapitalP|CapitalPhi|CapitalPi|CapitalPsi|CapitalQ|CapitalR|CapitalRho|CapitalS|CapitalSampi|CapitalSigma|CapitalStigma|CapitalT|CapitalTau|CapitalTheta|CapitalU|CapitalUpsilon|CapitalV|CapitalW|CapitalXi??|CapitalY|CapitalZ|CapitalZeta|Chi|CurlyCapitalUpsilon|CurlyEpsilon|CurlyKappa|CurlyPhi|CurlyPi|CurlyRho|CurlyTheta|D|Delta|Digamma|E|Epsilon|Eta|F|FinalSigma|G|Gamma|[HI]|Iota|[JK]|Kappa|Koppa|L|Lambda|Mu??|Nu??|O|Omega|Omicron|P|Phi|Pi|Psi|[QR]|Rho|S|Sampi|ScriptA|ScriptB|ScriptC|ScriptCapitalA|ScriptCapitalB|ScriptCapitalC|ScriptCapitalD|ScriptCapitalE|ScriptCapitalF|ScriptCapitalG|ScriptCapitalH|ScriptCapitalI|ScriptCapitalJ|ScriptCapitalK|ScriptCapitalL|ScriptCapitalM|ScriptCapitalN|ScriptCapitalO|ScriptCapitalP|ScriptCapitalQ|ScriptCapitalR|ScriptCapitalS|ScriptCapitalT|ScriptCapitalU|ScriptCapitalV|ScriptCapitalW|ScriptCapitalX|ScriptCapitalY|ScriptCapitalZ|ScriptD|ScriptE|ScriptF|ScriptG|ScriptH|ScriptI|ScriptJ|ScriptK|ScriptL|ScriptM|ScriptN|ScriptO|ScriptP|ScriptQ|ScriptR|ScriptS|ScriptT|ScriptU|ScriptV|ScriptW|ScriptX|ScriptY|ScriptZ|Sigma|Stigma|T|Tau|Theta|U|Upsilon|[VW]|Xi??|[YZ]|Zeta)](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\\\\\\\\\[SystemsModelDelay](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\\\\\\\\\[Degree](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\\\\\\\\\[ExponentialE](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\\\\\\\\\[I(?:maginaryI|maginaryJ|nfinity)](?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\\\\\\\\\[Pi](?![$`[:alnum:]])","name":"constant.language.wolfram"}]},"escaped_characters":{"patterns":[{"match":"\\\\\\\\[ !%\\\\&(-+/@^_`]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[A(?:kuz|ndy)]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[C(?:ontinuedFractionK|url)]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[Div(?:ergence|isionSlash)]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[ExpectationE]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[FreeformPrompt]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[Gradient]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[Laplacian]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[M(?:inus|oon)]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[NumberComma]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[P(?:ageBreakAbove|ageBreakBelow|robabilityPr)]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[S(?:pooky|tepperDown|tepperLeft|tepperRight|tepperUp|un)]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[UnknownGlyph]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[Villa]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[WolframAlphaPrompt]","name":"donothighlight.constant.character.escape.undocumented"},{"match":"\\\\\\\\\\\\[COMPATIBILITY(?:KanjiSpace|NoBreak)]","name":"invalid.illegal.unsupported"},{"match":"\\\\\\\\\\\\[InlinePart]","name":"invalid.illegal.unsupported"},{"match":"\\\\\\\\\\\\[A(?:Acute|Bar|Cup|DoubleDot|E|Grave|Hat|Ring|Tilde|leph|liasDelimiter|liasIndicator|lignmentMarker|lpha|ltKey|nd|ngle|ngstrom|pplication|quariusSign|riesSign|scendingEllipsis|utoLeftMatch|utoOperand|utoPlaceholder|utoRightMatch|utoSpace)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[B(?:ackslash|eamedEighthNote|eamedSixteenthNote|ecause|eta??|lackBishop|lackKing|lackKnight|lackPawn|lackQueen|lackRook|reve|ullet)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[C(?:Acute|Cedilla|Hacek|ancerSign|ap|apitalAAcute|apitalABar|apitalACup|apitalADoubleDot|apitalAE|apitalAGrave|apitalAHat|apitalARing|apitalATilde|apitalAlpha|apitalBeta|apitalCAcute|apitalCCedilla|apitalCHacek|apitalChi|apitalDHacek|apitalDelta|apitalDifferentialD|apitalDigamma|apitalEAcute|apitalEBar|apitalECup|apitalEDoubleDot|apitalEGrave|apitalEHacek|apitalEHat|apitalEpsilon|apitalEta|apitalEth|apitalGamma|apitalIAcute|apitalICup|apitalIDoubleDot|apitalIGrave|apitalIHat|apitalIota|apitalKappa|apitalKoppa|apitalLSlash|apitalLambda|apitalMu|apitalNHacek|apitalNTilde|apitalNu|apitalOAcute|apitalODoubleAcute|apitalODoubleDot|apitalOE|apitalOGrave|apitalOHat|apitalOSlash|apitalOTilde|apitalOmega|apitalOmicron|apitalPhi|apitalPi|apitalPsi|apitalRHacek|apitalRho|apitalSHacek|apitalSampi|apitalSigma|apitalStigma|apitalTHacek|apitalTau|apitalTheta|apitalThorn|apitalUAcute|apitalUDoubleAcute|apitalUDoubleDot|apitalUGrave|apitalUHat|apitalURing|apitalUpsilon|apitalXi|apitalYAcute|apitalZHacek|apitalZeta|apricornSign|edilla|ent|enterDot|enterEllipsis|heckedBox|heckmark|heckmarkedBox|hi|ircleDot|ircleMinus|irclePlus|ircleTimes|lockwiseContourIntegral|loseCurlyDoubleQuote|loseCurlyQuote|loverLeaf|lubSuit|olon|ommandKey|onditioned|ongruent|onjugate|onjugateTranspose|onstantC|ontinuation|ontourIntegral|ontrolKey|oproduct|opyright|ounterClockwiseContourIntegral|ross|ubeRoot|up|upCap|urlyCapitalUpsilon|urlyEpsilon|urlyKappa|urlyPhi|urlyPi|urlyRho|urlyTheta|urrency)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[D(?:Hacek|agger|alet|ash|egree|el|eleteKey|elta|escendingEllipsis|iameter|iamond|iamondSuit|ifferenceDelta|ifferentialD|igamma|irectedEdge|iscreteRatio|iscreteShift|iscretionaryHyphen|iscretionaryLineSeparator|iscretionaryPageBreakAbove|iscretionaryPageBreakBelow|iscretionaryParagraphSeparator|istributed|ivides??|otEqual|otlessI|otlessJ|ottedSquare|oubleContourIntegral|oubleDagger|oubleDot|oubleDownArrow|oubleLeftArrow|oubleLeftRightArrow|oubleLeftTee|oubleLongLeftArrow|oubleLongLeftRightArrow|oubleLongRightArrow|oublePrime|oubleRightArrow|oubleRightTee|oubleStruckA|oubleStruckB|oubleStruckC|oubleStruckCapitalA|oubleStruckCapitalB|oubleStruckCapitalC|oubleStruckCapitalD|oubleStruckCapitalE|oubleStruckCapitalF|oubleStruckCapitalG|oubleStruckCapitalH|oubleStruckCapitalI|oubleStruckCapitalJ|oubleStruckCapitalK|oubleStruckCapitalL|oubleStruckCapitalM|oubleStruckCapitalN|oubleStruckCapitalO|oubleStruckCapitalP|oubleStruckCapitalQ|oubleStruckCapitalR|oubleStruckCapitalS|oubleStruckCapitalT|oubleStruckCapitalU|oubleStruckCapitalV|oubleStruckCapitalW|oubleStruckCapitalX|oubleStruckCapitalY|oubleStruckCapitalZ|oubleStruckD|oubleStruckE|oubleStruckEight|oubleStruckF|oubleStruckFive|oubleStruckFour|oubleStruckG|oubleStruckH|oubleStruckI|oubleStruckJ|oubleStruckK|oubleStruckL|oubleStruckM|oubleStruckN|oubleStruckNine|oubleStruckO|oubleStruckOne|oubleStruckP|oubleStruckQ|oubleStruckR|oubleStruckS|oubleStruckSeven|oubleStruckSix|oubleStruckT|oubleStruckThree|oubleStruckTwo|oubleStruckU|oubleStruckV|oubleStruckW|oubleStruckX|oubleStruckY|oubleStruckZ|oubleStruckZero|oubleUpArrow|oubleUpDownArrow|oubleVerticalBar|oubledGamma|oubledPi|ownArrow|ownArrowBar|ownArrowUpArrow|ownBreve|ownExclamation|ownLeftRightVector|ownLeftTeeVector|ownLeftVector|ownLeftVectorBar|ownPointer|ownQuestion|ownRightTeeVector|ownRightVector|ownRightVectorBar|ownTee|ownTeeArrow)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[E(?:Acute|Bar|Cup|DoubleDot|Grave|Hacek|Hat|arth|ighthNote|lement|llipsis|mptyCircle|mptyDiamond|mptyDownTriangle|mptyRectangle|mptySet|mptySmallCircle|mptySmallSquare|mptySquare|mptyUpTriangle|mptyVerySmallSquare|nterKey|ntityEnd|ntityStart|psilon|qual|qualTilde|quilibrium|quivalent|rrorIndicator|scapeKey|ta|th|uro|xists|xponentialE)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[F(?:iLigature|illedCircle|illedDiamond|illedDownTriangle|illedLeftTriangle|illedRectangle|illedRightTriangle|illedSmallCircle|illedSmallSquare|illedSquare|illedUpTriangle|illedVerySmallSquare|inalSigma|irstPage|ivePointedStar|lLigature|lat|lorin|orAll|ormalA|ormalAlpha|ormalB|ormalBeta|ormalC|ormalCapitalA|ormalCapitalAlpha|ormalCapitalB|ormalCapitalBeta|ormalCapitalC|ormalCapitalChi|ormalCapitalD|ormalCapitalDelta|ormalCapitalDigamma|ormalCapitalE|ormalCapitalEpsilon|ormalCapitalEta|ormalCapitalF|ormalCapitalG|ormalCapitalGamma|ormalCapitalH|ormalCapitalI|ormalCapitalIota|ormalCapitalJ|ormalCapitalK|ormalCapitalKappa|ormalCapitalKoppa|ormalCapitalL|ormalCapitalLambda|ormalCapitalMu??|ormalCapitalNu??|ormalCapitalO|ormalCapitalOmega|ormalCapitalOmicron|ormalCapitalP|ormalCapitalPhi|ormalCapitalPi|ormalCapitalPsi|ormalCapitalQ|ormalCapitalR|ormalCapitalRho|ormalCapitalS|ormalCapitalSampi|ormalCapitalSigma|ormalCapitalStigma|ormalCapitalT|ormalCapitalTau|ormalCapitalTheta|ormalCapitalU|ormalCapitalUpsilon|ormalCapitalV|ormalCapitalW|ormalCapitalXi??|ormalCapitalY|ormalCapitalZ|ormalCapitalZeta|ormalChi|ormalCurlyCapitalUpsilon|ormalCurlyEpsilon|ormalCurlyKappa|ormalCurlyPhi|ormalCurlyPi|ormalCurlyRho|ormalCurlyTheta|ormalD|ormalDelta|ormalDigamma|ormalE|ormalEpsilon|ormalEta|ormalF|ormalFinalSigma|ormalG|ormalGamma|ormalH|ormalI|ormalIota|ormalJ|ormalK|ormalKappa|ormalKoppa|ormalL|ormalLambda|ormalMu??|ormalNu??|ormalO|ormalOmega|ormalOmicron|ormalP|ormalPhi|ormalPi|ormalPsi|ormalQ|ormalR|ormalRho|ormalS|ormalSampi|ormalScriptA|ormalScriptB|ormalScriptC|ormalScriptCapitalA|ormalScriptCapitalB|ormalScriptCapitalC|ormalScriptCapitalD|ormalScriptCapitalE|ormalScriptCapitalF|ormalScriptCapitalG|ormalScriptCapitalH|ormalScriptCapitalI|ormalScriptCapitalJ|ormalScriptCapitalK|ormalScriptCapitalL|ormalScriptCapitalM|ormalScriptCapitalN|ormalScriptCapitalO|ormalScriptCapitalP|ormalScriptCapitalQ|ormalScriptCapitalR|ormalScriptCapitalS|ormalScriptCapitalT|ormalScriptCapitalU|ormalScriptCapitalV|ormalScriptCapitalW|ormalScriptCapitalX|ormalScriptCapitalY|ormalScriptCapitalZ|ormalScriptD|ormalScriptE|ormalScriptF|ormalScriptG|ormalScriptH|ormalScriptI|ormalScriptJ|ormalScriptK|ormalScriptL|ormalScriptM|ormalScriptN|ormalScriptO|ormalScriptP|ormalScriptQ|ormalScriptR|ormalScriptS|ormalScriptT|ormalScriptU|ormalScriptV|ormalScriptW|ormalScriptX|ormalScriptY|ormalScriptZ|ormalSigma|ormalStigma|ormalT|ormalTau|ormalTheta|ormalU|ormalUpsilon|ormalV|ormalW|ormalXi??|ormalY|ormalZ|ormalZeta|reakedSmiley|unction)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[G(?:amma|eminiSign|imel|othicA|othicB|othicC|othicCapitalA|othicCapitalB|othicCapitalC|othicCapitalD|othicCapitalE|othicCapitalF|othicCapitalG|othicCapitalH|othicCapitalI|othicCapitalJ|othicCapitalK|othicCapitalL|othicCapitalM|othicCapitalN|othicCapitalO|othicCapitalP|othicCapitalQ|othicCapitalR|othicCapitalS|othicCapitalT|othicCapitalU|othicCapitalV|othicCapitalW|othicCapitalX|othicCapitalY|othicCapitalZ|othicD|othicE|othicEight|othicF|othicFive|othicFour|othicG|othicH|othicI|othicJ|othicK|othicL|othicM|othicN|othicNine|othicO|othicOne|othicP|othicQ|othicR|othicS|othicSeven|othicSix|othicT|othicThree|othicTwo|othicU|othicV|othicW|othicX|othicY|othicZ|othicZero|rayCircle|raySquare|reaterEqual|reaterEqualLess|reaterFullEqual|reaterGreater|reaterLess|reaterSlantEqual|reaterTilde)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[H(?:Bar|acek|appySmiley|eartSuit|ermitianConjugate|orizontalLine|umpDownHump|umpEqual|yphen)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[I(?:Acute|Cup|DoubleDot|Grave|Hat|maginaryI|maginaryJ|mplicitPlus|mplies|ndentingNewLine|nfinity|ntegral|ntersection|nvisibleApplication|nvisibleComma|nvisiblePostfixScriptBase|nvisiblePrefixScriptBase|nvisibleSpace|nvisibleTimes|ota)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[Jupiter]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[K(?:appa|ernelIcon|eyBar|oppa)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[L(?:Slash|ambda|astPage|eftAngleBracket|eftArrow|eftArrowBar|eftArrowRightArrow|eftAssociation|eftBracketingBar|eftCeiling|eftDoubleBracket|eftDoubleBracketingBar|eftDownTeeVector|eftDownVector|eftDownVectorBar|eftFloor|eftGuillemet|eftModified|eftPointer|eftRightArrow|eftRightVector|eftSkeleton|eftTee|eftTeeArrow|eftTeeVector|eftTriangle|eftTriangleBar|eftTriangleEqual|eftUpDownVector|eftUpTeeVector|eftUpVector|eftUpVectorBar|eftVector|eftVectorBar|eoSign|essEqual|essEqualGreater|essFullEqual|essGreater|essLess|essSlantEqual|essTilde|etterSpace|ibraSign|ightBulb|imit|ineSeparator|ongDash|ongEqual|ongLeftArrow|ongLeftRightArrow|ongRightArrow|owerLeftArrow|owerRightArrow)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[M(?:ars|athematicaIcon|axLimit|easuredAngle|ediumSpace|ercury|ho|icro|inLimit|inusPlus|od1Key|od2Key|u)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[N(?:Hacek|Tilde|and|atural|egativeMediumSpace|egativeThickSpace|egativeThinSpace|egativeVeryThinSpace|eptune|estedGreaterGreater|estedLessLess|eutralSmiley|ewLine|oBreak|onBreakingSpace|or|ot|otCongruent|otCupCap|otDoubleVerticalBar|otElement|otEqual|otEqualTilde|otExists|otGreater|otGreaterEqual|otGreaterFullEqual|otGreaterGreater|otGreaterLess|otGreaterSlantEqual|otGreaterTilde|otHumpDownHump|otHumpEqual|otLeftTriangle|otLeftTriangleBar|otLeftTriangleEqual|otLess|otLessEqual|otLessFullEqual|otLessGreater|otLessLess|otLessSlantEqual|otLessTilde|otNestedGreaterGreater|otNestedLessLess|otPrecedes|otPrecedesEqual|otPrecedesSlantEqual|otPrecedesTilde|otReverseElement|otRightTriangle|otRightTriangleBar|otRightTriangleEqual|otSquareSubset|otSquareSubsetEqual|otSquareSuperset|otSquareSupersetEqual|otSubset|otSubsetEqual|otSucceeds|otSucceedsEqual|otSucceedsSlantEqual|otSucceedsTilde|otSuperset|otSupersetEqual|otTilde|otTildeEqual|otTildeFullEqual|otTildeTilde|otVerticalBar|u|ull|umberSign)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[O(?:Acute|DoubleAcute|DoubleDot|E|Grave|Hat|Slash|Tilde|mega|micron|penCurlyDoubleQuote|penCurlyQuote|ptionKey|r|verBrace|verBracket|verParenthesis)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[P(?:aragraph|aragraphSeparator|artialD|ermutationProduct|erpendicular|hi|i|iecewise|iscesSign|laceholder|lusMinus|luto|recedes|recedesEqual|recedesSlantEqual|recedesTilde|rime|roduct|roportion|roportional|si)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[QuarterNote]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[R(?:Hacek|awAmpersand|awAt|awBackquote|awBackslash|awColon|awComma|awDash|awDollar|awDot|awDoubleQuote|awEqual|awEscape|awExclamation|awGreater|awLeftBrace|awLeftBracket|awLeftParenthesis|awLess|awNumberSign|awPercent|awPlus|awQuestion|awQuote|awReturn|awRightBrace|awRightBracket|awRightParenthesis|awSemicolon|awSlash|awSpace|awStar|awTab|awTilde|awUnderscore|awVerticalBar|awWedge|egisteredTrademark|eturnIndicator|eturnKey|everseDoublePrime|everseElement|everseEquilibrium|eversePrime|everseUpEquilibrium|ho|ightAngle|ightAngleBracket|ightArrow|ightArrowBar|ightArrowLeftArrow|ightAssociation|ightBracketingBar|ightCeiling|ightDoubleBracket|ightDoubleBracketingBar|ightDownTeeVector|ightDownVector|ightDownVectorBar|ightFloor|ightGuillemet|ightModified|ightPointer|ightSkeleton|ightTee|ightTeeArrow|ightTeeVector|ightTriangle|ightTriangleBar|ightTriangleEqual|ightUpDownVector|ightUpTeeVector|ightUpVector|ightUpVectorBar|ightVector|ightVectorBar|oundImplies|oundSpaceIndicator|ule|uleDelayed|upee)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[S(?:Hacek|Z|adSmiley|agittariusSign|ampi|aturn|corpioSign|criptA|criptB|criptC|criptCapitalA|criptCapitalB|criptCapitalC|criptCapitalD|criptCapitalE|criptCapitalF|criptCapitalG|criptCapitalH|criptCapitalI|criptCapitalJ|criptCapitalK|criptCapitalL|criptCapitalM|criptCapitalN|criptCapitalO|criptCapitalP|criptCapitalQ|criptCapitalR|criptCapitalS|criptCapitalT|criptCapitalU|criptCapitalV|criptCapitalW|criptCapitalX|criptCapitalY|criptCapitalZ|criptD|criptDotlessI|criptDotlessJ|criptE|criptEight|criptF|criptFive|criptFour|criptG|criptH|criptI|criptJ|criptK|criptL|criptM|criptN|criptNine|criptO|criptOne|criptP|criptQ|criptR|criptS|criptSeven|criptSix|criptT|criptThree|criptTwo|criptU|criptV|criptW|criptX|criptY|criptZ|criptZero|ection|electionPlaceholder|hah|harp|hiftKey|hortDownArrow|hortLeftArrow|hortRightArrow|hortUpArrow|igma|ixPointedStar|keletonIndicator|mallCircle|paceIndicator|paceKey|padeSuit|panFromAbove|panFromBoth|panFromLeft|phericalAngle|qrt|quare|quareIntersection|quareSubset|quareSubsetEqual|quareSuperset|quareSupersetEqual|quareUnion|tar|terling|tigma|ubset|ubsetEqual|ucceeds|ucceedsEqual|ucceedsSlantEqual|ucceedsTilde|uchThat|um|uperset|upersetEqual|ystemEnterKey|ystemsModelDelay)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[T(?:Hacek|abKey|au|aurusSign|ensorProduct|ensorWedge|herefore|heta|hickSpace|hinSpace|horn|ilde|ildeEqual|ildeFullEqual|ildeTilde|imes|rademark|ranspose|ripleDot|woWayRule)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[U(?:Acute|DoubleAcute|DoubleDot|Grave|Hat|Ring|nderBrace|nderBracket|nderParenthesis|ndirectedEdge|nion|nionPlus|pArrow|pArrowBar|pArrowDownArrow|pDownArrow|pEquilibrium|pPointer|pTee|pTeeArrow|pperLeftArrow|pperRightArrow|psilon|ranus)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[V(?:ectorGreater|ectorGreaterEqual|ectorLess|ectorLessEqual|ee|enus|erticalBar|erticalEllipsis|erticalLine|erticalSeparator|erticalTilde|eryThinSpace|irgoSign)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[W(?:arningSign|atchIcon|edge|eierstrassP|hiteBishop|hiteKing|hiteKnight|hitePawn|hiteQueen|hiteRook|olf|olframLanguageLogo|olframLanguageLogoCircle)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[X(?:i|nor|or)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[Y(?:Acute|DoubleDot|en)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[Z(?:Hacek|eta)]","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\[(?:[$[:alpha:]][$[:alnum:]]*)?]?","name":"invalid.illegal.BadLongName"},{"match":"\\\\\\\\[$[:alpha:]][$[:alnum:]]*]","name":"invalid.illegal.BadLongName"},{"match":"\\\\\\\\:\\\\h{4}","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\:\\\\h{1,3}","name":"invalid.illegal"},{"match":"\\\\\\\\\\\\.\\\\h{2}","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\.\\\\h{1}","name":"invalid.illegal"},{"match":"\\\\\\\\\\\\|0\\\\h{5}","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\|10\\\\h{4}","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\\\\\|\\\\h{1,6}","name":"invalid.illegal"},{"match":"\\\\\\\\[0-7]{3}","name":"donothighlight.constant.character.escape"},{"match":"\\\\\\\\[0-7]{1,2}","name":"invalid.illegal"},{"match":"\\\\\\\\$","name":"donothighlight.constant.character.escape punctuation.separator.continuation"},{"match":"\\\\\\\\.","name":"invalid.illegal"}]},"expressions":{"patterns":[{"include":"#comments"},{"include":"#escaped_character_symbols"},{"include":"#escaped_characters"},{"include":"#out"},{"include":"#slot"},{"include":"#literals"},{"include":"#groups"},{"include":"#stringifying-operators"},{"include":"#operators"},{"include":"#pattern-operators"},{"include":"#symbols"},{"match":"[!\\\\&\'*-/:-@\\\\\\\\^|~]","name":"invalid.illegal"}]},"groups":{"patterns":[{"match":"\\\\\\\\\\\\)","name":"invalid.illegal.stray-linearsyntaxparens-end.wolfram"},{"match":"\\\\)","name":"invalid.illegal.stray-parens-end.wolfram"},{"match":"\\\\[\\\\s+\\\\[","name":"invalid.whitespace.Part.wolfram"},{"match":"]\\\\s+]","name":"invalid.whitespace.Part.wolfram"},{"match":"]]","name":"invalid.illegal.stray-parts-end.wolfram"},{"match":"]","name":"invalid.illegal.stray-brackets-end.wolfram"},{"match":"}","name":"invalid.illegal.stray-braces-end.wolfram"},{"match":"\\\\|>","name":"invalid.illegal.stray-associations-end.wolfram"},{"include":"#linearsyntaxparen-group"},{"include":"#paren-group"},{"include":"#part-group"},{"include":"#bracket-group"},{"include":"#brace-group"},{"include":"#association-group"}]},"linearsyntaxparen-group":{"begin":"\\\\\\\\\\\\(","beginCaptures":{"0":{"name":"punctuation.section.linearsyntaxparens.begin.wolfram"}},"end":"\\\\\\\\\\\\)","endCaptures":{"0":{"name":"punctuation.section.linearsyntaxparens.end.wolfram"}},"name":"meta.linearsyntaxparens.wolfram","patterns":[{"include":"#expressions"}]},"literals":{"patterns":[{"include":"#numbers"},{"include":"#strings"}]},"main":{"patterns":[{"include":"#shebang"},{"include":"#simple-toplevel-definitions"},{"include":"#expressions"}]},"numbers":{"patterns":[{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)","name":"constant.numeric.wolfram"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)``","name":"invalid.illegal"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^","name":"invalid.illegal"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+","name":"constant.numeric.wolfram"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"2\\\\^\\\\^(?:[01]+(?:\\\\.(?!\\\\.)[01]*)?+|\\\\.(?!\\\\.)[01]+)","name":"constant.numeric.wolfram"},{"match":"2\\\\^\\\\^","name":"invalid.illegal"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)","name":"constant.numeric.wolfram"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)``","name":"invalid.illegal"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^","name":"invalid.illegal"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+","name":"constant.numeric.wolfram"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"8\\\\^\\\\^(?:[0-7]+(?:\\\\.(?!\\\\.)[0-7]*)?+|\\\\.(?!\\\\.)[0-7]+)","name":"constant.numeric.wolfram"},{"match":"8\\\\^\\\\^","name":"invalid.illegal"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)","name":"constant.numeric.wolfram"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)``","name":"invalid.illegal"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^","name":"invalid.illegal"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+","name":"constant.numeric.wolfram"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"16\\\\^\\\\^(?:\\\\h+(?:\\\\.(?!\\\\.)\\\\h*)?+|\\\\.(?!\\\\.)\\\\h+)","name":"constant.numeric.wolfram"},{"match":"16\\\\^\\\\^","name":"invalid.illegal"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)``[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)","name":"constant.numeric.wolfram"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)``","name":"invalid.illegal"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+\\\\*\\\\^","name":"invalid.illegal"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)`(?:[-+]?+(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+))?+","name":"constant.numeric.wolfram"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^[-+]?+\\\\d+","name":"constant.numeric.wolfram"},{"match":"(?:\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+)\\\\*\\\\^","name":"invalid.illegal"},{"match":"\\\\d+(?:\\\\.(?!\\\\.)\\\\d*)?+|\\\\.(?!\\\\.)\\\\d+","name":"constant.numeric.wolfram"}]},"operators":{"patterns":[{"match":"\\\\^:=","name":"keyword.operator.assignment.UpSetDelayed.wolfram"},{"match":"\\\\^:","name":"invalid.illegal"},{"match":"===","name":"keyword.operator.SameQ.wolfram"},{"match":"=!=|\\\\.\\\\.\\\\.|//\\\\.|@@@|<->|//@","name":"keyword.operator.wolfram"},{"match":"\\\\|->","name":"keyword.operator.Function.wolfram"},{"match":"//=","name":"keyword.operator.assignment.ApplyTo.wolfram"},{"match":"--|\\\\+\\\\+","name":"keyword.operator.arithmetic.wolfram"},{"match":"\\\\|\\\\||&&","name":"keyword.operator.logical.wolfram"},{"match":":=","name":"keyword.operator.assignment.SetDelayed.wolfram"},{"match":"\\\\^=","name":"keyword.operator.assignment.UpSet.wolfram"},{"match":"/=","name":"keyword.operator.assignment.DivideBy.wolfram"},{"match":"\\\\+=","name":"keyword.operator.assignment.AddTo.wolfram"},{"match":"=\\\\s+\\\\.(?![0-9])","name":"invalid.whitespace.Unset.wolfram"},{"match":"=\\\\.(?![0-9])","name":"keyword.operator.assignment.Unset.wolfram"},{"match":"\\\\*=","name":"keyword.operator.assignment.TimesBy.wolfram"},{"match":"-=","name":"keyword.operator.assignment.SubtractFrom.wolfram"},{"match":"/:","name":"keyword.operator.assignment.Tag.wolfram"},{"match":";;$","name":"invalid.endofline.Span.wolfram"},{"match":";;","name":"keyword.operator.Span.wolfram"},{"match":"!=","name":"keyword.operator.Unequal.wolfram"},{"match":"==","name":"keyword.operator.Equal.wolfram"},{"match":"!!","name":"keyword.operator.BangBang.wolfram"},{"match":"\\\\?\\\\?","name":"invalid.illegal.Information.wolfram"},{"match":"<=|>=|\\\\.\\\\.|:>|<>|->|/@|/;|/\\\\.|//|/\\\\*|@@|@\\\\*|~~|\\\\*\\\\*","name":"keyword.operator.wolfram"},{"match":"[-*+/]","name":"keyword.operator.arithmetic.wolfram"},{"match":"=","name":"keyword.operator.assignment.Set.wolfram"},{"match":"<","name":"keyword.operator.Less.wolfram"},{"match":"\\\\|","name":"keyword.operator.Alternatives.wolfram"},{"match":"!","name":"keyword.operator.Bang.wolfram"},{"match":";","name":"keyword.operator.CompoundExpression.wolfram punctuation.terminator"},{"match":",","name":"keyword.operator.Comma.wolfram punctuation.separator"},{"match":"^\\\\?","name":"invalid.startofline.Information.wolfram"},{"match":"\\\\?","name":"keyword.operator.PatternTest.wolfram"},{"match":"\'","name":"keyword.operator.Derivative.wolfram"},{"match":"&","name":"keyword.operator.Function.wolfram"},{"match":"[.:>@^~]","name":"keyword.operator.wolfram"}]},"out":{"patterns":[{"match":"%\\\\d+","name":"keyword.other.Out.wolfram"},{"match":"%+","name":"keyword.other.Out.wolfram"}]},"paren-group":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.wolfram"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.wolfram"}},"name":"meta.parens.wolfram","patterns":[{"include":"#expressions"}]},"part-group":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.section.parts.begin.wolfram"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.section.parts.end.wolfram"}},"name":"meta.parts.wolfram","patterns":[{"include":"#expressions"}]},"pattern-operators":{"patterns":[{"match":"___","name":"keyword.operator.BlankNullSequence.wolfram"},{"match":"__","name":"keyword.operator.BlankSequence.wolfram"},{"match":"_\\\\.","name":"keyword.operator.Optional.wolfram"},{"match":"_","name":"keyword.operator.Blank.wolfram"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.wolfram"}},"match":"\\\\A(#!).*(?=$)","name":"comment.line.shebang.wolfram"},"simple-toplevel-definitions":{"patterns":[{"captures":{"1":{"name":"support.function.builtin.wolfram"},"2":{"name":"punctuation.section.brackets.begin.wolfram"},"3":{"name":"meta.function.wolfram entity.name.Context.wolfram"},"4":{"name":"meta.function.wolfram entity.name.function.wolfram"},"5":{"name":"punctuation.section.brackets.end.wolfram"},"6":{"name":"keyword.operator.assignment.wolfram"}},"match":"^\\\\s*(Attributes|Format|Options)\\\\s*(\\\\[)(`?(?:[$[:alpha:]][$[:alnum:]]*`)*)([$[:alpha:]][$[:alnum:]]*)(])\\\\s*(:=|=(?![!.=]))"},{"captures":{"1":{"name":"meta.function.wolfram entity.name.Context.wolfram"},"2":{"name":"meta.function.wolfram entity.name.function.wolfram"}},"match":"^\\\\s*(`?(?:[$[:alpha:]][$[:alnum:]]*`)*)([$[:alpha:]][$[:alnum:]]*)(?=\\\\s*(\\\\[(?>[^]\\\\[]+|\\\\g<3>)*])\\\\s*(?:/;.*)?(?::=|=(?![!.=])))"},{"captures":{"1":{"name":"meta.function.wolfram entity.name.Context.wolfram"},"2":{"name":"meta.function.wolfram entity.name.constant.wolfram"}},"match":"^\\\\s*(`?(?:[$[:alpha:]][$[:alnum:]]*`)*)([$[:alpha:]][$[:alnum:]]*)(?=\\\\s*(?:/;.*)?(?::=|=(?![!.=])))"}]},"slot":{"patterns":[{"match":"#\\\\p{alpha}\\\\p{alnum}*","name":"keyword.other.Slot.wolfram"},{"match":"##\\\\d*","name":"keyword.other.SlotSequence.wolfram"},{"match":"#\\\\d*","name":"keyword.other.Slot.wolfram"}]},"string_escaped_characters":{"patterns":[{"match":"\\\\\\\\[\\"<>\\\\\\\\bfnrt]","name":"donothighlight.constant.character.escape"},{"include":"#escaped_characters"}]},"stringifying-operators":{"patterns":[{"captures":{"1":{"name":"keyword.operator.PutAppend.wolfram"}},"match":"(>>>)(?=\\\\s*\\")"},{"captures":{"1":{"name":"keyword.operator.PutAppend.wolfram"},"2":{"name":"string.unquoted.wolfram"}},"match":"(>>>)\\\\s*(\\\\w+)"},{"match":">>>","name":"invalid.illegal"},{"captures":{"1":{"name":"keyword.operator.MessageName.wolfram"}},"match":"(::)(?=\\\\s*\\")"},{"captures":{"1":{"name":"keyword.operator.MessageName.wolfram"},"2":{"name":"string.unquoted.wolfram"}},"match":"(::)(\\\\p{alpha}\\\\p{alnum}*)"},{"match":"::","name":"invalid.illegal"},{"captures":{"1":{"name":"keyword.operator.Get.wolfram"}},"match":"(<<)(?=\\\\s*\\")"},{"captures":{"1":{"name":"keyword.operator.Get.wolfram"},"2":{"name":"string.unquoted.wolfram"}},"match":"(<<)\\\\s*([`[:alpha:]][`[:alnum:]]*)"},{"match":"<<","name":"invalid.illegal"},{"captures":{"1":{"name":"keyword.operator.Put.wolfram"}},"match":"(>>)(?=\\\\s*\\")"},{"captures":{"1":{"name":"keyword.operator.Put.wolfram"},"2":{"name":"string.unquoted.wolfram"}},"match":"(>>)\\\\s*(\\\\w*)"},{"match":">>","name":"invalid.illegal"}]},"strings":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end"}},"name":"string.quoted.double","patterns":[{"include":"#string_escaped_characters"}]}]},"symbols":{"patterns":[{"match":"System`A(?:ASTriangle|PIFunction|RCHProcess|RIMAProcess|RMAProcess|RProcess|SATriangle|belianGroup|bort|bortKernels|bortProtect|bs|bsArg|bsArgPlot|bsoluteCorrelation|bsoluteCorrelationFunction|bsoluteCurrentValue|bsoluteDashing|bsoluteFileName|bsoluteOptions|bsolutePointSize|bsoluteThickness|bsoluteTime|bsoluteTiming|ccountingForm|ccumulate|ccuracy|cousticAbsorbingValue|cousticImpedanceValue|cousticNormalVelocityValue|cousticPDEComponent|cousticPressureCondition|cousticRadiationValue|cousticSoundHardValue|cousticSoundSoftCondition|ctionMenu|ctivate|cyclicGraphQ|ddSides|ddTo|ddUsers|djacencyGraph|djacencyList|djacencyMatrix|djacentMeshCells|djugate|djustTimeSeriesForecast|djustmentBox|dministrativeDivisionData|ffineHalfSpace|ffineSpace|ffineStateSpaceModel|ffineTransform|irPressureData|irSoundAttenuation|irTemperatureData|ircraftData|irportData|iryAi|iryAiPrime|iryAiZero|iryBi|iryBiPrime|iryBiZero|lgebraicIntegerQ|lgebraicNumber|lgebraicNumberDenominator|lgebraicNumberNorm|lgebraicNumberPolynomial|lgebraicNumberTrace|lgebraicUnitQ|llTrue|lphaChannel|lphabet|lphabeticOrder|lphabeticSort|lternatingFactorial|lternatingGroup|lternatives|mbientLight|mbiguityList|natomyData|natomyPlot3D|natomyStyling|nd|ndersonDarlingTest|ngerJ|ngleBracket|nglePath|nglePath3D|ngleVector|ngularGauge|nimate|nimator|nnotate|nnotation|nnotationDelete|nnotationKeys|nnotationValue|nnuity|nnuityDue|nnulus|nomalyDetection|nomalyDetectorFunction|ntihermitian|ntihermitianMatrixQ|ntisymmetric|ntisymmetricMatrixQ|ntonyms|nyOrder|nySubset|nyTrue|part|partSquareFree|ppellF1|ppend|ppendTo|pply|pplySides|pplyTo|rcCosh??|rcCoth??|rcCsch??|rcCurvature|rcLength|rcSech??|rcSin|rcSinDistribution|rcSinh|rcTanh??|rea|rg|rgMax|rgMin|rgumentsOptions|rithmeticGeometricMean|rray|rrayComponents|rrayDepth|rrayFilter|rrayFlatten|rrayMesh|rrayPad|rrayPlot|rrayPlot3D|rrayQ|rrayResample|rrayReshape|rrayRules|rrays|rrow|rrowheads|ssert|ssociateTo|ssociation|ssociationMap|ssociationQ|ssociationThread|ssuming|symptotic|symptoticDSolveValue|symptoticEqual|symptoticEquivalent|symptoticExpectation|symptoticGreater|symptoticGreaterEqual|symptoticIntegrate|symptoticLess|symptoticLessEqual|symptoticOutputTracker|symptoticProbability|symptoticProduct|symptoticRSolveValue|symptoticSolve|symptoticSum|tomQ|ttributes|udio|udioAmplify|udioBlockMap|udioCapture|udioChannelCombine|udioChannelMix|udioChannelSeparate|udioChannels|udioData|udioDelay|udioDelete|udioDistance|udioFade|udioFrequencyShift|udioGenerator|udioInsert|udioIntervals|udioJoin|udioLength|udioLocalMeasurements|udioLoudness|udioMeasurements|udioNormalize|udioOverlay|udioPad|udioPan|udioPartition|udioPitchShift|udioPlot|udioQ|udioReplace|udioResample|udioReverb|udioReverse|udioSampleRate|udioSpectralMap|udioSpectralTransformation|udioSplit|udioTimeStretch|udioTrim|udioType|ugmentedPolyhedron|ugmentedSymmetricPolynomial|uthenticationDialog|utoRefreshed|utoSubmitting|utocorrelationTest)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`B(?:SplineBasis|SplineCurve|SplineFunction|SplineSurface|abyMonsterGroupB|ackslash|all|and|andpassFilter|andstopFilter|arChart|arChart3D|arLegend|arabasiAlbertGraphDistribution|arcodeImage|arcodeRecognize|aringhausHenzeTest|arlowProschanImportance|arnesG|artlettHannWindow|artlettWindow|aseDecode|aseEncode|aseForm|atesDistribution|attleLemarieWavelet|ecause|eckmannDistribution|eep|egin|eginDialogPacket|eginPackage|ellB|ellY|enfordDistribution|eniniDistribution|enktanderGibratDistribution|enktanderWeibullDistribution|ernoulliB|ernoulliDistribution|ernoulliGraphDistribution|ernoulliProcess|ernsteinBasis|esselFilterModel|esselI|esselJ|esselJZero|esselK|esselY|esselYZero|eta|etaBinomialDistribution|etaDistribution|etaNegativeBinomialDistribution|etaPrimeDistribution|etaRegularized|etween|etweennessCentrality|eveledPolyhedron|ezierCurve|ezierFunction|ilateralFilter|ilateralLaplaceTransform|ilateralZTransform|inCounts|inLists|inarize|inaryDeserialize|inaryDistance|inaryImageQ|inaryRead|inaryReadList|inarySerialize|inaryWrite|inomial|inomialDistribution|inomialProcess|inormalDistribution|iorthogonalSplineWavelet|ipartiteGraphQ|iquadraticFilterModel|irnbaumImportance|irnbaumSaundersDistribution|itAnd|itClear|itGet|itLength|itNot|itOr|itSet|itShiftLeft|itShiftRight|itXor|iweightLocation|iweightMidvariance|lackmanHarrisWindow|lackmanNuttallWindow|lackmanWindow|lank|lankNullSequence|lankSequence|lend|lock|lockMap|lockRandom|lomqvistBeta|lomqvistBetaTest|lur|lurring|odePlot|ohmanWindow|oole|ooleanConsecutiveFunction|ooleanConvert|ooleanCountingFunction|ooleanFunction|ooleanGraph|ooleanMaxterms|ooleanMinimize|ooleanMinterms|ooleanQ|ooleanRegion|ooleanTable|ooleanVariables|orderDimensions|orelTannerDistribution|ottomHatTransform|oundaryDiscretizeGraphics|oundaryDiscretizeRegion|oundaryMesh|oundaryMeshRegionQ??|oundedRegionQ|oundingRegion|oxData|oxMatrix|oxObject|oxWhiskerChart|racketingBar|rayCurtisDistance|readthFirstScan|reak|ridgeData|rightnessEqualize|roadcastStationData|rownForsytheTest|rownianBridgeProcess|ubbleChart|ubbleChart3D|uckyballGraph|uildingData|ulletGauge|usinessDayQ|utterflyGraph|utterworthFilterModel|utton|uttonBar|uttonBox|uttonNotebook|yteArray|yteArrayFormatQ??|yteArrayQ|yteArrayToString|yteCount)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`C(?:|DF|DFDeploy|DFWavelet|Form|MYKColor|SGRegionQ??|SGRegionTree|alendarConvert|alendarData|allPacket|allout|anberraDistance|ancel|ancelButton|andlestickChart|anonicalGraph|anonicalName|anonicalWarpingCorrespondence|anonicalWarpingDistance|anonicalizePolygon|anonicalizePolyhedron|anonicalizeRegion|antorMesh|antorStaircase|ap|apForm|apitalDifferentialD|apitalize|apsuleShape|aputoD|arlemanLinearize|arlsonRC|arlsonRD|arlsonRE|arlsonRF|arlsonRG|arlsonRJ|arlsonRK|arlsonRM|armichaelLambda|aseSensitive|ases|ashflow|asoratian|atalanNumber|atch|atenate|auchyDistribution|auchyMatrix|auchyWindow|ayleyGraph|eiling|ell|ellGroup|ellGroupData|ellObject|ellPrint|ells|ellularAutomaton|ensoredDistribution|ensoring|enterArray|enterDot|enteredInterval|entralFeature|entralMoment|entralMomentGeneratingFunction|epstrogram|epstrogramArray|epstrumArray|hampernowneNumber|hanVeseBinarize|haracterCounts|haracterName|haracterRange|haracteristicFunction|haracteristicPolynomial|haracters|hebyshev1FilterModel|hebyshev2FilterModel|hebyshevT|hebyshevU|heck|heckAbort|heckArguments|heckbox|heckboxBar|hemicalData|hessboardDistance|hiDistribution|hiSquareDistribution|hineseRemainder|hoiceButtons|hoiceDialog|holeskyDecomposition|hop|hromaticPolynomial|hromaticityPlot|hromaticityPlot3D|ircle|ircleDot|ircleMinus|irclePlus|irclePoints|ircleThrough|ircleTimes|irculantGraph|ircularArcThrough|ircularOrthogonalMatrixDistribution|ircularQuaternionMatrixDistribution|ircularRealMatrixDistribution|ircularSymplecticMatrixDistribution|ircularUnitaryMatrixDistribution|ircumsphere|ityData|lassifierFunction|lassifierMeasurements|lassifierMeasurementsObject|lassify|lear|learAll|learAttributes|learCookies|learPermissions|learSystemCache|lebschGordan|lickPane|lickToCopy|lip|lock|lockGauge|lose|loseKernels|losenessCentrality|losing|loudAccountData|loudConnect|loudDeploy|loudDirectory|loudDisconnect|loudEvaluate|loudExport|loudFunction|loudGet|loudImport|loudLoggingData|loudObjects??|loudPublish|loudPut|loudSave|loudShare|loudSubmit|loudSymbol|loudUnshare|lusterClassify|lusteringComponents|lusteringMeasurements|lusteringTree|oefficient|oefficientArrays|oefficientList|oefficientRules|oifletWavelet|ollect|ollinearPoints|olon|olorBalance|olorCombine|olorConvert|olorData|olorDataFunction|olorDetect|olorDistance|olorNegate|olorProfileData|olorQ|olorQuantize|olorReplace|olorSeparate|olorSetter|olorSlider|olorToneMapping|olorize|olorsNear|olumn|ometData|ommonName|ommonUnits|ommonest|ommonestFilter|ommunityGraphPlot|ompanyData|ompatibleUnitQ|ompile|ompiledFunction|omplement|ompleteGraphQ??|ompleteIntegral|ompleteKaryTree|omplex|omplexArrayPlot|omplexContourPlot|omplexExpand|omplexListPlot|omplexPlot|omplexPlot3D|omplexRegionPlot|omplexStreamPlot|omplexVectorPlot|omponentMeasurements|omposeList|omposeSeries|ompositeQ|omposition|ompoundElement|ompoundExpression|ompoundPoissonDistribution|ompoundPoissonProcess|ompoundRenewalProcess|ompress|oncaveHullMesh|ondition|onditionalExpression|onditioned|one|onfirm|onfirmAssert|onfirmBy|onfirmMatch|onformAudio|onformImages|ongruent|onicGradientFilling|onicHullRegion|onicOptimization|onjugate|onjugateTranspose|onjunction|onnectLibraryCallbackFunction|onnectedComponents|onnectedGraphComponents|onnectedGraphQ|onnectedMeshComponents|onnesWindow|onoverTest|onservativeConvectionPDETerm|onstantArray|onstantImage|onstantRegionQ|onstellationData|onstruct|ontainsAll|ontainsAny|ontainsExactly|ontainsNone|ontainsOnly|ontext|ontextToFileName|ontexts|ontinue|ontinuedFractionK??|ontinuousMarkovProcess|ontinuousTask|ontinuousTimeModelQ|ontinuousWaveletData|ontinuousWaveletTransform|ontourDetect|ontourPlot|ontourPlot3D|ontraharmonicMean|ontrol|ontrolActive|ontrollabilityGramian|ontrollabilityMatrix|ontrollableDecomposition|ontrollableModelQ|ontrollerInformation|ontrollerManipulate|ontrollerState|onvectionPDETerm|onvergents|onvexHullMesh|onvexHullRegion|onvexOptimization|onvexPolygonQ|onvexPolyhedronQ|onvexRegionQ|onvolve|onwayGroupCo1|onwayGroupCo2|onwayGroupCo3|oordinateBoundingBox|oordinateBoundingBoxArray|oordinateBounds|oordinateBoundsArray|oordinateChartData|oordinateTransform|oordinateTransformData|oplanarPoints|oprimeQ|oproduct|opulaDistribution|opyDatabin|opyDirectory|opyFile|opyToClipboard|oreNilpotentDecomposition|ornerFilter|orrelation|orrelationDistance|orrelationFunction|orrelationTest|os|osIntegral|osh|oshIntegral|osineDistance|osineWindow|oth??|oulombF|oulombG|oulombH1|oulombH2|ount|ountDistinct|ountDistinctBy|ountRoots|ountryData|ounts|ountsBy|ovariance|ovarianceFunction|oxIngersollRossProcess|oxModel|oxModelFit|oxianDistribution|ramerVonMisesTest|reateArchive|reateDatabin|reateDialog|reateDirectory|reateDocument|reateFile|reateManagedLibraryExpression|reateNotebook|reatePacletArchive|reatePalette|reatePermissionsGroup|reateUUID|reateWindow|riticalSection|riticalityFailureImportance|riticalitySuccessImportance|ross|rossMatrix|rossingCount|rossingDetect|rossingPolygon|sch??|ube|ubeRoot|uboid|umulant|umulantGeneratingFunction|umulativeFeatureImpactPlot|up|upCap|url|urrencyConvert|urrentDate|urrentImage|urrentValue|urvatureFlowFilter|ycleGraph|ycleIndexPolynomial|ycles|yclicGroup|yclotomic|ylinder|ylindricalDecomposition|ylindricalDecompositionFunction)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`D(?:|Eigensystem|Eigenvalues|GaussianWavelet|MSList|MSString|Solve|SolveValue|agumDistribution|amData|amerauLevenshteinDistance|arker|ashing|ataDistribution|atabin|atabinAdd|atabinUpload|atabins|ataset|ateBounds|ateDifference|ateHistogram|ateList|ateListLogPlot|ateListPlot|ateListStepPlot|ateObjectQ??|ateOverlapsQ|atePattern|atePlus|ateRange|ateScale|ateSelect|ateString|ateValue|ateWithinQ|ated|atedUnit|aubechiesWavelet|avisDistribution|awsonF|ayCount|ayHemisphere|ayMatchQ|ayName|ayNightTerminator|ayPlus|ayRange|ayRound|aylightQ|eBruijnGraph|eBruijnSequence|ecapitalize|ecimalForm|eclarePackage|ecompose|ecrement|ecrypt|edekindEta|eepSpaceProbeData|efault|efaultButton|efaultValues|efer|efineInputStreamMethod|efineOutputStreamMethod|efineResourceFunction|efinition|egreeCentrality|egreeGraphDistribution|el|elaunayMesh|elayed|elete|eleteAdjacentDuplicates|eleteAnomalies|eleteBorderComponents|eleteCases|eleteDirectory|eleteDuplicates|eleteDuplicatesBy|eleteFile|eleteMissing|eleteObject|eletePermissionsKey|eleteSmallComponents|eleteStopwords|elimitedSequence|endrogram|enominator|ensityHistogram|ensityPlot|ensityPlot3D|eploy|epth|epthFirstScan|erivative|erivativeFilter|erivativePDETerm|esignMatrix|et|eviceClose|eviceConfigure|eviceExecute|eviceExecuteAsynchronous|eviceObject|eviceOpen|eviceRead|eviceReadBuffer|eviceReadLatest|eviceReadList|eviceReadTimeSeries|eviceStreams|eviceWrite|eviceWriteBuffer|evices|iagonal|iagonalMatrixQ??|iagonalizableMatrixQ|ialog|ialogInput|ialogNotebook|ialogReturn|iamond|iamondMatrix|iceDissimilarity|ictionaryLookup|ictionaryWordQ|ifferenceDelta|ifferenceQuotient|ifferenceRoot|ifferenceRootReduce|ifferences|ifferentialD|ifferentialRoot|ifferentialRootReduce|ifferentiatorFilter|iffusionPDETerm|igitCount|igitQ|ihedralAngle|ihedralGroup|ilation|imensionReduce|imensionReducerFunction|imensionReduction|imensionalCombinations|imensionalMeshComponents|imensions|iracComb|iracDelta|irectedEdge|irectedGraphQ??|irectedInfinity|irectionalLight|irective|irectory|irectoryName|irectoryQ|irectoryStack|irichletBeta|irichletCharacter|irichletCondition|irichletConvolve|irichletDistribution|irichletEta|irichletL|irichletLambda|irichletTransform|irichletWindow|iscreteAsymptotic|iscreteChirpZTransform|iscreteConvolve|iscreteDelta|iscreteHadamardTransform|iscreteIndicator|iscreteInputOutputModel|iscreteLQEstimatorGains|iscreteLQRegulatorGains|iscreteLimit|iscreteLyapunovSolve|iscreteMarkovProcess|iscreteMaxLimit|iscreteMinLimit|iscretePlot|iscretePlot3D|iscreteRatio|iscreteRiccatiSolve|iscreteShift|iscreteTimeModelQ|iscreteUniformDistribution|iscreteWaveletData|iscreteWaveletPacketTransform|iscreteWaveletTransform|iscretizeGraphics|iscretizeRegion|iscriminant|isjointQ|isjunction|isk|iskMatrix|iskSegment|ispatch|isplayEndPacket|isplayForm|isplayPacket|istanceMatrix|istanceTransform|istribute|istributeDefinitions|istributed|istributionChart|istributionFitTest|istributionParameterAssumptions|istributionParameterQ|iv|ivide|ivideBy|ivideSides|ivisible|ivisorSigma|ivisorSum|ivisors|o|ocumentGenerator|ocumentGeneratorInformation|ocumentGenerators|ocumentNotebook|odecahedron|ominantColors|ominatorTreeGraph|ominatorVertexList|ot|otEqual|oubleBracketingBar|oubleDownArrow|oubleLeftArrow|oubleLeftRightArrow|oubleLeftTee|oubleLongLeftArrow|oubleLongLeftRightArrow|oubleLongRightArrow|oubleRightArrow|oubleRightTee|oubleUpArrow|oubleUpDownArrow|oubleVerticalBar|ownArrow|ownArrowBar|ownArrowUpArrow|ownLeftRightVector|ownLeftTeeVector|ownLeftVector|ownLeftVectorBar|ownRightTeeVector|ownRightVector|ownRightVectorBar|ownTee|ownTeeArrow|ownValues|ownsample|razinInverse|rop|ropShadowing|t|ualPlanarGraph|ualPolyhedron|ualSystemsModel|umpSave|uplicateFreeQ|uration|ynamic|ynamicGeoGraphics|ynamicModule|ynamicSetting|ynamicWrapper)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`E(?:arthImpactData|arthquakeData|ccentricityCentrality|choEvaluation|choFunction|choLabel|dgeAdd|dgeBetweennessCentrality|dgeChromaticNumber|dgeConnectivity|dgeContract|dgeCount|dgeCoverQ|dgeCycleMatrix|dgeDelete|dgeDetect|dgeForm|dgeIndex|dgeList|dgeQ|dgeRules|dgeTaggedGraphQ??|dgeTags|dgeTransitiveGraphQ|dgeWeightedGraphQ|ditDistance|ffectiveInterest|igensystem|igenvalues|igenvectorCentrality|igenvectors|lement|lementData|liminate|llipsoid|llipticE|llipticExp|llipticExpPrime|llipticF|llipticFilterModel|llipticK|llipticLog|llipticNomeQ|llipticPi|llipticTheta|llipticThetaPrime|mbedCode|mbeddedHTML|mbeddedService|mitSound|mpiricalDistribution|mptyGraphQ|mptyRegion|nclose|ncode|ncrypt|ncryptedObject|nd|ndDialogPacket|ndPackage|ngineeringForm|nterExpressionPacket|nterTextPacket|ntity|ntityClass|ntityClassList|ntityCopies|ntityGroup|ntityInstance|ntityList|ntityPrefetch|ntityProperties|ntityProperty|ntityPropertyClass|ntityRegister|ntityStores|ntityTypeName|ntityUnregister|ntityValue|ntropy|ntropyFilter|nvironment|qual|qualTilde|qualTo|quilibrium|quirippleFilterKernel|quivalent|rfc??|rfi|rlangB|rlangC|rlangDistribution|rosion|rrorBox|stimatedBackground|stimatedDistribution|stimatedPointNormals|stimatedProcess|stimatorGains|stimatorRegulator|uclideanDistance|ulerAngles|ulerCharacteristic|ulerE|ulerMatrix|ulerPhi|ulerianGraphQ|valuate|valuatePacket|valuationBox|valuationCell|valuationData|valuationNotebook|valuationObject|venQ|ventData|ventHandler|ventSeries|xactBlackmanWindow|xactNumberQ|xampleData|xcept|xists|xoplanetData|xp|xpGammaDistribution|xpIntegralEi??|xpToTrig|xpand|xpandAll|xpandDenominator|xpandFileName|xpandNumerator|xpectation|xponent|xponentialDistribution|xponentialGeneratingFunction|xponentialMovingAverage|xponentialPowerDistribution|xport|xportByteArray|xportForm|xportString|xpressionCell|xpressionGraph|xtendedGCD|xternalBundle|xtract|xtractArchive|xtractPacletArchive|xtremeValueDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`F(?:ARIMAProcess|RatioDistribution|aceAlign|aceForm|acialFeatures|actor|actorInteger|actorList|actorSquareFree|actorSquareFreeList|actorTerms|actorTermsList|actorial2??|actorialMoment|actorialMomentGeneratingFunction|actorialPower|ailure|ailureDistribution|ailureQ|areySequence|eatureImpactPlot|eatureNearest|eatureSpacePlot|eatureSpacePlot3D|eatureValueDependencyPlot|eatureValueImpactPlot|eedbackLinearize|etalGrowthData|ibonacci|ibonorial|ile|ileBaseName|ileByteCount|ileDate|ileExistsQ|ileExtension|ileFormatQ??|ileHash|ileNameDepth|ileNameDrop|ileNameJoin|ileNameSetter|ileNameSplit|ileNameTake|ileNames|ilePrint|ileSize|ileSystemMap|ileSystemScan|ileTemplate|ileTemplateApply|ileType|illedCurve|illedTorus|illingTransform|ilterRules|inancialBond|inancialData|inancialDerivative|inancialIndicator|ind|indAnomalies|indArgMax|indArgMin|indClique|indClusters|indCookies|indCurvePath|indCycle|indDevices|indDistribution|indDistributionParameters|indDivisions|indEdgeColoring|indEdgeCover|indEdgeCut|indEdgeIndependentPaths|indEulerianCycle|indFaces|indFile|indFit|indFormula|indFundamentalCycles|indGeneratingFunction|indGeoLocation|indGeometricTransform|indGraphCommunities|indGraphIsomorphism|indGraphPartition|indHamiltonianCycle|indHamiltonianPath|indHiddenMarkovStates|indIndependentEdgeSet|indIndependentVertexSet|indInstance|indIntegerNullVector|indIsomorphicSubgraph|indKClan|indKClique|indKClub|indKPlex|indLibrary|indLinearRecurrence|indList|indMatchingColor|indMaxValue|indMaximum|indMaximumCut|indMaximumFlow|indMeshDefects|indMinValue|indMinimum|indMinimumCostFlow|indMinimumCut|indPath|indPeaks|indPermutation|indPlanarColoring|indPostmanTour|indProcessParameters|indRegionTransform|indRepeat|indRoot|indSequenceFunction|indShortestPath|indShortestTour|indSpanningTree|indSubgraphIsomorphism|indThreshold|indTransientRepeat|indVertexColoring|indVertexCover|indVertexCut|indVertexIndependentPaths|inishDynamic|initeAbelianGroupCount|initeGroupCount|initeGroupData|irst|irstCase|irstPassageTimeDistribution|irstPosition|ischerGroupFi22|ischerGroupFi23|ischerGroupFi24Prime|isherHypergeometricDistribution|isherRatioTest|isherZDistribution|it|ittedModel|ixedOrder|ixedPoint|ixedPointList|latShading|latTopWindow|latten|lattenAt|lightData|lipView|loor|lowPolynomial|old|oldList|oldPair|oldPairList|oldWhile|oldWhileList|or|orAll|ormBox|ormFunction|ormObject|ormPage|ormat|ormulaData|ormulaLookup|ortranForm|ourier|ourierCoefficient|ourierCosCoefficient|ourierCosSeries|ourierCosTransform|ourierDCT|ourierDCTFilter|ourierDCTMatrix|ourierDST|ourierDSTMatrix|ourierMatrix|ourierSequenceTransform|ourierSeries|ourierSinCoefficient|ourierSinSeries|ourierSinTransform|ourierTransform|ourierTrigSeries|oxH|ractionBox|ractionalBrownianMotionProcess|ractionalD|ractionalGaussianNoiseProcess|ractionalPart|rameBox|ramed|rechetDistribution|reeQ|renetSerretSystem|requencySamplingFilterKernel|resnelC|resnelF|resnelG|resnelS|robeniusNumber|robeniusSolve|romAbsoluteTime|romCharacterCode|romCoefficientRules|romContinuedFraction|romDMS|romDateString|romDigits|romEntity|romJulianDate|romLetterNumber|romPolarCoordinates|romRomanNumeral|romSphericalCoordinates|romUnixTime|rontEndExecute|rontEndToken|rontEndTokenExecute|ullDefinition|ullForm|ullGraphics|ullInformationOutputRegulator|ullRegion|ullSimplify|unction|unctionAnalytic|unctionBijective|unctionContinuous|unctionConvexity|unctionDiscontinuities|unctionDomain|unctionExpand|unctionInjective|unctionInterpolation|unctionMeromorphic|unctionMonotonicity|unctionPeriod|unctionRange|unctionSign|unctionSingularities|unctionSurjective|ussellVeselyImportance)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`G(?:ARCHProcess|CD|aborFilter|aborMatrix|aborWavelet|ainMargins|ainPhaseMargins|alaxyData|amma|ammaDistribution|ammaRegularized|ather|atherBy|aussianFilter|aussianMatrix|aussianOrthogonalMatrixDistribution|aussianSymplecticMatrixDistribution|aussianUnitaryMatrixDistribution|aussianWindow|egenbauerC|eneralizedLinearModelFit|enerateAsymmetricKeyPair|enerateDocument|enerateHTTPResponse|enerateSymmetricKey|eneratingFunction|enericCylindricalDecomposition|enomeData|enomeLookup|eoAntipode|eoArea|eoBoundary|eoBoundingBox|eoBounds|eoBoundsRegion|eoBoundsRegionBoundary|eoBubbleChart|eoCircle|eoContourPlot|eoDensityPlot|eoDestination|eoDirection|eoDisk|eoDisplacement|eoDistance|eoDistanceList|eoElevationData|eoEntities|eoGraphPlot|eoGraphics|eoGridDirectionDifference|eoGridPosition|eoGridUnitArea|eoGridUnitDistance|eoGridVector|eoGroup|eoHemisphere|eoHemisphereBoundary|eoHistogram|eoIdentify|eoImage|eoLength|eoListPlot|eoMarker|eoNearest|eoPath|eoPolygon|eoPosition|eoPositionENU|eoPositionXYZ|eoProjectionData|eoRegionValuePlot|eoSmoothHistogram|eoStreamPlot|eoStyling|eoVariant|eoVector|eoVectorENU|eoVectorPlot|eoVectorXYZ|eoVisibleRegion|eoVisibleRegionBoundary|eoWithinQ|eodesicClosing|eodesicDilation|eodesicErosion|eodesicOpening|eodesicPolyhedron|eodesyData|eogravityModelData|eologicalPeriodData|eomagneticModelData|eometricBrownianMotionProcess|eometricDistribution|eometricMean|eometricMeanFilter|eometricOptimization|eometricTransformation|estureHandler|et|etEnvironment|lobalClusteringCoefficient|low|ompertzMakehamDistribution|oochShading|oodmanKruskalGamma|oodmanKruskalGammaTest|oto|ouraudShading|rad|radientFilter|radientFittedMesh|radientOrientationFilter|rammarApply|rammarRules|rammarToken|raph|raph3D|raphAssortativity|raphAutomorphismGroup|raphCenter|raphComplement|raphData|raphDensity|raphDiameter|raphDifference|raphDisjointUnion|raphDistance|raphDistanceMatrix|raphEmbedding|raphHub|raphIntersection|raphJoin|raphLinkEfficiency|raphPeriphery|raphPlot|raphPlot3D|raphPower|raphProduct|raphPropertyDistribution|raphQ|raphRadius|raphReciprocity|raphSum|raphUnion|raphics|raphics3D|raphicsColumn|raphicsComplex|raphicsGrid|raphicsGroup|raphicsRow|rayLevel|reater|reaterEqual|reaterEqualLess|reaterEqualThan|reaterFullEqual|reaterGreater|reaterLess|reaterSlantEqual|reaterThan|reaterTilde|reenFunction|rid|ridBox|ridGraph|roebnerBasis|roupBy|roupCentralizer|roupElementFromWord|roupElementPosition|roupElementQ|roupElementToWord|roupElements|roupGenerators|roupMultiplicationTable|roupOrbits|roupOrder|roupSetwiseStabilizer|roupStabilizer|roupStabilizerChain|roupings|rowCutComponents|udermannian|uidedFilter|umbelDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`H(?:ITSCentrality|TTPErrorResponse|TTPRedirect|TTPRequest|TTPRequestData|TTPResponse|aarWavelet|adamardMatrix|alfLine|alfNormalDistribution|alfPlane|alfSpace|alftoneShading|amiltonianGraphQ|ammingDistance|ammingWindow|ankelH1|ankelH2|ankelMatrix|ankelTransform|annPoissonWindow|annWindow|aradaNortonGroupHN|araryGraph|armonicMean|armonicMeanFilter|armonicNumber|ash|atchFilling|atchShading|aversine|azardFunction|ead|eatFluxValue|eatInsulationValue|eatOutflowValue|eatRadiationValue|eatSymmetryValue|eatTemperatureCondition|eatTransferPDEComponent|eatTransferValue|eavisideLambda|eavisidePi|eavisideTheta|eldGroupHe|elmholtzPDEComponent|ermiteDecomposition|ermiteH|ermitian|ermitianMatrixQ|essenbergDecomposition|eunB|eunBPrime|eunC|eunCPrime|eunD|eunDPrime|eunG|eunGPrime|eunT|eunTPrime|exahedron|iddenMarkovProcess|ighlightGraph|ighlightImage|ighlightMesh|ighlighted|ighpassFilter|igmanSimsGroupHS|ilbertCurve|ilbertFilter|ilbertMatrix|istogram|istogram3D|istogramDistribution|istogramList|istogramTransform|istogramTransformInterpolation|istoricalPeriodData|itMissTransform|jorthDistribution|odgeDual|oeffdingD|oeffdingDTest|old|oldComplete|oldForm|oldPattern|orizontalGauge|ornerForm|ostLookup|otellingTSquareDistribution|oytDistribution|ue|umanGrowthData|umpDownHump|umpEqual|urwitzLerchPhi|urwitzZeta|yperbolicDistribution|ypercubeGraph|yperexponentialDistribution|yperfactorial|ypergeometric0F1|ypergeometric0F1Regularized|ypergeometric1F1|ypergeometric1F1Regularized|ypergeometric2F1|ypergeometric2F1Regularized|ypergeometricDistribution|ypergeometricPFQ|ypergeometricPFQRegularized|ypergeometricU|yperlink|yperplane|ypoexponentialDistribution|ypothesisTestData)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`I(?:PAddress|conData|conize|cosahedron|dentity|dentityMatrix|f|fCompiled|gnoringInactive|m|mage|mage3D|mage3DProjection|mage3DSlices|mageAccumulate|mageAdd|mageAdjust|mageAlign|mageApply|mageApplyIndexed|mageAspectRatio|mageAssemble|mageCapture|mageChannels|mageClip|mageCollage|mageColorSpace|mageCompose|mageConvolve|mageCooccurrence|mageCorners|mageCorrelate|mageCorrespondingPoints|mageCrop|mageData|mageDeconvolve|mageDemosaic|mageDifference|mageDimensions|mageDisplacements|mageDistance|mageEffect|mageExposureCombine|mageFeatureTrack|mageFileApply|mageFileFilter|mageFileScan|mageFilter|mageFocusCombine|mageForestingComponents|mageForwardTransformation|mageHistogram|mageIdentify|mageInstanceQ|mageKeypoints|mageLevels|mageLines|mageMarker|mageMeasurements|mageMesh|mageMultiply|magePad|magePartition|magePeriodogram|magePerspectiveTransformation|mageQ|mageRecolor|mageReflect|mageResize|mageRestyle|mageRotate|mageSaliencyFilter|mageScaled|mageScan|mageSubtract|mageTake|mageTransformation|mageTrim|mageType|mageValue|mageValuePositions|mageVectorscopePlot|mageWaveformPlot|mplicitD|mplicitRegion|mplies|mport|mportByteArray|mportString|mprovementImportance|nactivate|nactive|ncidenceGraph|ncidenceList|ncidenceMatrix|ncrement|ndefiniteMatrixQ|ndependenceTest|ndependentEdgeSetQ|ndependentPhysicalQuantity|ndependentUnit|ndependentUnitDimension|ndependentVertexSetQ|ndexEdgeTaggedGraph|ndexGraph|ndexed|nexactNumberQ|nfiniteLine|nfiniteLineThrough|nfinitePlane|nfix|nflationAdjust|nformation|nhomogeneousPoissonProcess|nner|nnerPolygon|nnerPolyhedron|npaint|nput|nputField|nputForm|nputNamePacket|nputNotebook|nputPacket|nputStream|nputString|nputStringPacket|nsert|nsertLinebreaks|nset|nsphere|nstall|nstallService|ntegerDigits|ntegerExponent|ntegerLength|ntegerName|ntegerPart|ntegerPartitions|ntegerQ|ntegerReverse|ntegerString|ntegrate|nteractiveTradingChart|nternallyBalancedDecomposition|nterpolatingFunction|nterpolatingPolynomial|nterpolation|nterpretation|nterpretationBox|nterpreter|nterquartileRange|nterrupt|ntersectingQ|ntersection|nterval|ntervalIntersection|ntervalMemberQ|ntervalSlider|ntervalUnion|nverse|nverseBetaRegularized|nverseBilateralLaplaceTransform|nverseBilateralZTransform|nverseCDF|nverseChiSquareDistribution|nverseContinuousWaveletTransform|nverseDistanceTransform|nverseEllipticNomeQ|nverseErfc??|nverseFourier|nverseFourierCosTransform|nverseFourierSequenceTransform|nverseFourierSinTransform|nverseFourierTransform|nverseFunction|nverseGammaDistribution|nverseGammaRegularized|nverseGaussianDistribution|nverseGudermannian|nverseHankelTransform|nverseHaversine|nverseJacobiCD|nverseJacobiCN|nverseJacobiCS|nverseJacobiDC|nverseJacobiDN|nverseJacobiDS|nverseJacobiNC|nverseJacobiND|nverseJacobiNS|nverseJacobiSC|nverseJacobiSD|nverseJacobiSN|nverseLaplaceTransform|nverseMellinTransform|nversePermutation|nverseRadon|nverseRadonTransform|nverseSeries|nverseShortTimeFourier|nverseSpectrogram|nverseSurvivalFunction|nverseTransformedRegion|nverseWaveletTransform|nverseWeierstrassP|nverseWishartMatrixDistribution|nverseZTransform|nvisible|rreduciblePolynomialQ|slandData|solatingInterval|somorphicGraphQ|somorphicSubgraphQ|sotopeData|tem|toProcess)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`J(?:accardDissimilarity|acobiAmplitude|acobiCD|acobiCN|acobiCS|acobiDC|acobiDN|acobiDS|acobiEpsilon|acobiNC|acobiND|acobiNS|acobiP|acobiSC|acobiSD|acobiSN|acobiSymbol|acobiZN|acobiZeta|ankoGroupJ1|ankoGroupJ2|ankoGroupJ3|ankoGroupJ4|arqueBeraALMTest|ohnsonDistribution|oin|oinAcross|oinForm|oinedCurve|ordanDecomposition|ordanModelDecomposition|uliaSetBoettcher|uliaSetIterationCount|uliaSetPlot|uliaSetPoints|ulianDate)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`K(?:CoreComponents|Distribution|EdgeConnectedComponents|EdgeConnectedGraphQ|VertexConnectedComponents|VertexConnectedGraphQ|agiChart|aiserBesselWindow|aiserWindow|almanEstimator|almanFilter|arhunenLoeveDecomposition|aryTree|atzCentrality|elvinBei|elvinBer|elvinKei|elvinKer|endallTau|endallTauTest|ernelMixtureDistribution|ernelObject|ernels|ey|eyComplement|eyDrop|eyDropFrom|eyExistsQ|eyFreeQ|eyIntersection|eyMap|eyMemberQ|eySelect|eySort|eySortBy|eyTake|eyUnion|eyValueMap|eyValuePattern|eys|illProcess|irchhoffGraph|irchhoffMatrix|leinInvariantJ|napsackSolve|nightTourGraph|notData|nownUnitQ|ochCurve|olmogorovSmirnovTest|roneckerDelta|roneckerModelDecomposition|roneckerProduct|roneckerSymbol|uiperTest|umaraswamyDistribution|urtosis|uwaharaFilter)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`L(?:ABColor|CHColor|CM|QEstimatorGains|QGRegulator|QOutputRegulatorGains|QRegulatorGains|UDecomposition|UVColor|abel|abeled|aguerreL|akeData|ambdaComponents|ameC|ameCPrime|ameEigenvalueA|ameEigenvalueB|ameS|ameSPrime|aminaData|anczosWindow|andauDistribution|anguageData|anguageIdentify|aplaceDistribution|aplaceTransform|aplacian|aplacianFilter|aplacianGaussianFilter|aplacianPDETerm|ast|atitude|atitudeLongitude|atticeData|atticeReduce|aunchKernels|ayeredGraphPlot|ayeredGraphPlot3D|eafCount|eapVariant|eapYearQ|earnDistribution|earnedDistribution|eastSquares|eastSquaresFilterKernel|eftArrow|eftArrowBar|eftArrowRightArrow|eftDownTeeVector|eftDownVector|eftDownVectorBar|eftRightArrow|eftRightVector|eftTee|eftTeeArrow|eftTeeVector|eftTriangle|eftTriangleBar|eftTriangleEqual|eftUpDownVector|eftUpTeeVector|eftUpVector|eftUpVectorBar|eftVector|eftVectorBar|egended|egendreP|egendreQ|ength|engthWhile|erchPhi|ess|essEqual|essEqualGreater|essEqualThan|essFullEqual|essGreater|essLess|essSlantEqual|essThan|essTilde|etterCounts|etterNumber|etterQ|evel|eveneTest|eviCivitaTensor|evyDistribution|exicographicOrder|exicographicSort|ibraryDataType|ibraryFunction|ibraryFunctionError|ibraryFunctionInformation|ibraryFunctionLoad|ibraryFunctionUnload|ibraryLoad|ibraryUnload|iftingFilterData|iftingWaveletTransform|ighter|ikelihood|imit|indleyDistribution|ine|ineBreakChart|ineGraph|ineIntegralConvolutionPlot|ineLegend|inearFractionalOptimization|inearFractionalTransform|inearGradientFilling|inearGradientImage|inearModelFit|inearOptimization|inearRecurrence|inearSolve|inearSolveFunction|inearizingTransformationData|inkActivate|inkClose|inkConnect|inkCreate|inkInterrupt|inkLaunch|inkObject|inkPatterns|inkRankCentrality|inkRead|inkReadyQ|inkWrite|inks|iouvilleLambda|ist|istAnimate|istContourPlot|istContourPlot3D|istConvolve|istCorrelate|istCurvePathPlot|istDeconvolve|istDensityPlot|istDensityPlot3D|istFourierSequenceTransform|istInterpolation|istLineIntegralConvolutionPlot|istLinePlot|istLinePlot3D|istLogLinearPlot|istLogLogPlot|istLogPlot|istPicker|istPickerBox|istPlay|istPlot|istPlot3D|istPointPlot3D|istPolarPlot|istQ|istSliceContourPlot3D|istSliceDensityPlot3D|istSliceVectorPlot3D|istStepPlot|istStreamDensityPlot|istStreamPlot|istStreamPlot3D|istSurfacePlot3D|istVectorDensityPlot|istVectorDisplacementPlot|istVectorDisplacementPlot3D|istVectorPlot|istVectorPlot3D|istZTransform|ocalAdaptiveBinarize|ocalCache|ocalClusteringCoefficient|ocalEvaluate|ocalObjects??|ocalSubmit|ocalSymbol|ocalTime|ocalTimeZone|ocationEquivalenceTest|ocationTest|ocator|ocatorPane|og|og10|og2|ogBarnesG|ogGamma|ogGammaDistribution|ogIntegral|ogLikelihood|ogLinearPlot|ogLogPlot|ogLogisticDistribution|ogMultinormalDistribution|ogNormalDistribution|ogPlot|ogRankTest|ogSeriesDistribution|ogicalExpand|ogisticDistribution|ogisticSigmoid|ogitModelFit|ongLeftArrow|ongLeftRightArrow|ongRightArrow|ongest|ongestCommonSequence|ongestCommonSequencePositions|ongestCommonSubsequence|ongestCommonSubsequencePositions|ongestOrderedSequence|ongitude|ookup|oopFreeGraphQ|owerCaseQ|owerLeftArrow|owerRightArrow|owerTriangularMatrixQ??|owerTriangularize|owpassFilter|ucasL|uccioSamiComponents|unarEclipse|yapunovSolve|yonsGroupLy)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`M(?:AProcess|achineNumberQ|agnify|ailReceiverFunction|ajority|akeBoxes|akeExpression|anagedLibraryExpressionID|anagedLibraryExpressionQ|andelbrotSetBoettcher|andelbrotSetDistance|andelbrotSetIterationCount|andelbrotSetMemberQ|andelbrotSetPlot|angoldtLambda|anhattanDistance|anipulate|anipulator|annWhitneyTest|annedSpaceMissionData|antissaExponent|ap|apAll|apApply|apAt|apIndexed|apThread|archenkoPasturDistribution|arcumQ|ardiaCombinedTest|ardiaKurtosisTest|ardiaSkewnessTest|arginalDistribution|arkovProcessProperties|assConcentrationCondition|assFluxValue|assImpermeableBoundaryValue|assOutflowValue|assSymmetryValue|assTransferValue|assTransportPDEComponent|atchQ|atchingDissimilarity|aterialShading|athMLForm|athematicalFunctionData|athieuC|athieuCPrime|athieuCharacteristicA|athieuCharacteristicB|athieuCharacteristicExponent|athieuGroupM11|athieuGroupM12|athieuGroupM22|athieuGroupM23|athieuGroupM24|athieuS|athieuSPrime|atrices|atrixExp|atrixForm|atrixFunction|atrixLog|atrixNormalDistribution|atrixPlot|atrixPower|atrixPropertyDistribution|atrixQ|atrixRank|atrixTDistribution|ax|axDate|axDetect|axFilter|axLimit|axMemoryUsed|axStableDistribution|axValue|aximalBy|aximize|axwellDistribution|cLaughlinGroupMcL|ean|eanClusteringCoefficient|eanDegreeConnectivity|eanDeviation|eanFilter|eanGraphDistance|eanNeighborDegree|eanShift|eanShiftFilter|edian|edianDeviation|edianFilter|edicalTestData|eijerG|eijerGReduce|eixnerDistribution|ellinConvolve|ellinTransform|emberQ|emoryAvailable|emoryConstrained|emoryInUse|engerMesh|enuPacket|enuView|erge|ersennePrimeExponentQ??|eshCellCount|eshCellIndex|eshCells|eshConnectivityGraph|eshCoordinates|eshPrimitives|eshRegionQ??|essage|essageDialog|essageList|essageName|essagePacket|essages|eteorShowerData|exicanHatWavelet|eyerWavelet|in|inDate|inDetect|inFilter|inLimit|inMax|inStableDistribution|inValue|ineralData|inimalBy|inimalPolynomial|inimalStateSpaceModel|inimize|inimumTimeIncrement|inkowskiQuestionMark|inorPlanetData|inors|inus|inusPlus|issingQ??|ittagLefflerE|ixedFractionParts|ixedGraphQ|ixedMagnitude|ixedRadix|ixedRadixQuantity|ixedUnit|ixtureDistribution|od|odelPredictiveController|odularInverse|odularLambda|odule|oebiusMu|oment|omentConvert|omentEvaluate|omentGeneratingFunction|omentOfInertia|onitor|onomialList|onsterGroupM|oonPhase|oonPosition|orletWavelet|orphologicalBinarize|orphologicalBranchPoints|orphologicalComponents|orphologicalEulerNumber|orphologicalGraph|orphologicalPerimeter|orphologicalTransform|ortalityData|ost|ountainData|ouseAnnotation|ouseAppearance|ousePosition|ouseover|ovieData|ovingAverage|ovingMap|ovingMedian|oyalDistribution|ulticolumn|ultigraphQ|ultinomial|ultinomialDistribution|ultinormalDistribution|ultiplicativeOrder|ultiplySides|ultivariateHypergeometricDistribution|ultivariatePoissonDistribution|ultivariateTDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`N(?:|ArgMax|ArgMin|Cache|CaputoD|DEigensystem|DEigenvalues|DSolve|DSolveValue|Expectation|FractionalD|Integrate|MaxValue|Maximize|MinValue|Minimize|Probability|Product|Roots|Solve|SolveValues|Sum|akagamiDistribution|ameQ|ames|and|earest|earestFunction|earestMeshCells|earestNeighborGraph|earestTo|ebulaData|eedlemanWunschSimilarity|eeds|egative|egativeBinomialDistribution|egativeDefiniteMatrixQ|egativeMultinomialDistribution|egativeSemidefiniteMatrixQ|egativelyOrientedPoints|eighborhoodData|eighborhoodGraph|est|estGraph|estList|estWhile|estWhileList|estedGreaterGreater|estedLessLess|eumannValue|evilleThetaC|evilleThetaD|evilleThetaN|evilleThetaS|extCell|extDate|extPrime|icholsPlot|ightHemisphere|onCommutativeMultiply|onNegative|onPositive|oncentralBetaDistribution|oncentralChiSquareDistribution|oncentralFRatioDistribution|oncentralStudentTDistribution|ondimensionalizationTransform|oneTrue|onlinearModelFit|onlinearStateSpaceModel|onlocalMeansFilter|or|orlundB|orm|ormal|ormalDistribution|ormalMatrixQ|ormalize|ormalizedSquaredEuclideanDistance|ot|otCongruent|otCupCap|otDoubleVerticalBar|otElement|otEqualTilde|otExists|otGreater|otGreaterEqual|otGreaterFullEqual|otGreaterGreater|otGreaterLess|otGreaterSlantEqual|otGreaterTilde|otHumpDownHump|otHumpEqual|otLeftTriangle|otLeftTriangleBar|otLeftTriangleEqual|otLess|otLessEqual|otLessFullEqual|otLessGreater|otLessLess|otLessSlantEqual|otLessTilde|otNestedGreaterGreater|otNestedLessLess|otPrecedes|otPrecedesEqual|otPrecedesSlantEqual|otPrecedesTilde|otReverseElement|otRightTriangle|otRightTriangleBar|otRightTriangleEqual|otSquareSubset|otSquareSubsetEqual|otSquareSuperset|otSquareSupersetEqual|otSubset|otSubsetEqual|otSucceeds|otSucceedsEqual|otSucceedsSlantEqual|otSucceedsTilde|otSuperset|otSupersetEqual|otTilde|otTildeEqual|otTildeFullEqual|otTildeTilde|otVerticalBar|otebook|otebookApply|otebookClose|otebookDelete|otebookDirectory|otebookEvaluate|otebookFileName|otebookFind|otebookGet|otebookImport|otebookInformation|otebookLocate|otebookObject|otebookOpen|otebookPrint|otebookPut|otebookRead|otebookSave|otebookSelection|otebookTemplate|otebookWrite|otebooks|othing|uclearExplosionData|uclearReactorData|ullSpace|umberCompose|umberDecompose|umberDigit|umberExpand|umberFieldClassNumber|umberFieldDiscriminant|umberFieldFundamentalUnits|umberFieldIntegralBasis|umberFieldNormRepresentatives|umberFieldRegulator|umberFieldRootsOfUnity|umberFieldSignature|umberForm|umberLinePlot|umberQ|umerator|umeratorDenominator|umericQ|umericalOrder|umericalSort|uttallWindow|yquistPlot)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`O(?:|NanGroupON|bservabilityGramian|bservabilityMatrix|bservableDecomposition|bservableModelQ|ceanData|ctahedron|ddQ|ff|ffset|n|nce|pacity|penAppend|penRead|penWrite|pener|penerView|pening|perate|ptimumFlowData|ptionValue|ptional|ptionalElement|ptions|ptionsPattern|r|rder|rderDistribution|rderedQ|rdering|rderingBy|rderlessPatternSequence|rnsteinUhlenbeckProcess|rthogonalMatrixQ|rthogonalize|uter|uterPolygon|uterPolyhedron|utputControllabilityMatrix|utputControllableModelQ|utputForm|utputNamePacket|utputResponse|utputStream|verBar|verDot|verHat|verTilde|verVector|verflow|verlay|verscript|verscriptBox|wenT|wnValues)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`P(?:DF|ERTDistribution|IDTune|acletDataRebuild|acletDirectoryLoad|acletDirectoryUnload|acletDisable|acletEnable|acletFind|acletFindRemote|acletInstall|acletInstallSubmit|acletNewerQ|acletObject|acletSiteObject|acletSiteRegister|acletSiteUnregister|acletSiteUpdate|acletSites|acletUninstall|adLeft|adRight|addedForm|adeApproximant|ageRankCentrality|airedBarChart|airedHistogram|airedSmoothHistogram|airedTTest|airedZTest|aletteNotebook|alindromeQ|ane|aneSelector|anel|arabolicCylinderD|arallelArray|arallelAxisPlot|arallelCombine|arallelDo|arallelEvaluate|arallelKernels|arallelMap|arallelNeeds|arallelProduct|arallelSubmit|arallelSum|arallelTable|arallelTry|arallelepiped|arallelize|arallelogram|arameterMixtureDistribution|arametricConvexOptimization|arametricFunction|arametricNDSolve|arametricNDSolveValue|arametricPlot|arametricPlot3D|arametricRegion|arentBox|arentCell|arentDirectory|arentNotebook|aretoDistribution|aretoPickandsDistribution|arkData|art|artOfSpeech|artialCorrelationFunction|articleAcceleratorData|articleData|artition|artitionsP|artitionsQ|arzenWindow|ascalDistribution|aste|asteButton|athGraphQ??|attern|atternSequence|atternTest|aulWavelet|auliMatrix|ause|eakDetect|eanoCurve|earsonChiSquareTest|earsonCorrelationTest|earsonDistribution|ercentForm|erfectNumberQ??|erimeter|eriodicBoundaryCondition|eriodogram|eriodogramArray|ermanent|ermissionsGroup|ermissionsGroupMemberQ|ermissionsGroups|ermissionsKeys??|ermutationCyclesQ??|ermutationGroup|ermutationLength|ermutationListQ??|ermutationMatrix|ermutationMax|ermutationMin|ermutationOrder|ermutationPower|ermutationProduct|ermutationReplace|ermutationSupport|ermutations|ermute|eronaMalikFilter|ersonData|etersenGraph|haseMargins|hongShading|hysicalSystemData|ick|ieChart|ieChart3D|iecewise|iecewiseExpand|illaiTrace|illaiTraceTest|ingTime|ixelValue|ixelValuePositions|laced|laceholder|lanarAngle|lanarFaceList|lanarGraphQ??|lanckRadiationLaw|laneCurveData|lanetData|lanetaryMoonData|lantData|lay|lot|lot3D|luralize|lus|lusMinus|ochhammer|oint|ointFigureChart|ointLegend|ointLight|ointSize|oissonConsulDistribution|oissonDistribution|oissonPDEComponent|oissonProcess|oissonWindow|olarPlot|olyGamma|olyLog|olyaAeppliDistribution|olygon|olygonAngle|olygonCoordinates|olygonDecomposition|olygonalNumber|olyhedron|olyhedronAngle|olyhedronCoordinates|olyhedronData|olyhedronDecomposition|olyhedronGenus|olynomialExpressionQ|olynomialExtendedGCD|olynomialGCD|olynomialLCM|olynomialMod|olynomialQ|olynomialQuotient|olynomialQuotientRemainder|olynomialReduce|olynomialRemainder|olynomialSumOfSquaresList|opupMenu|opupView|opupWindow|osition|ositionIndex|ositionLargest|ositionSmallest|ositive|ositiveDefiniteMatrixQ|ositiveSemidefiniteMatrixQ|ositivelyOrientedPoints|ossibleZeroQ|ostfix|ower|owerDistribution|owerExpand|owerMod|owerModList|owerRange|owerSpectralDensity|owerSymmetricPolynomial|owersRepresentations|reDecrement|reIncrement|recedenceForm|recedes|recedesEqual|recedesSlantEqual|recedesTilde|recision|redict|redictorFunction|redictorMeasurements|redictorMeasurementsObject|reemptProtect|refix|repend|rependTo|reviousCell|reviousDate|riceGraphDistribution|rime|rimeNu|rimeOmega|rimePi|rimePowerQ|rimeQ|rimeZetaP|rimitivePolynomialQ|rimitiveRoot|rimitiveRootList|rincipalComponents|rintTemporary|rintableASCIIQ|rintout3D|rism|rivateKey|robability|robabilityDistribution|robabilityPlot|robabilityScalePlot|robitModelFit|rocessConnection|rocessInformation|rocessObject|rocessParameterAssumptions|rocessParameterQ|rocessStatus|rocesses|roduct|roductDistribution|roductLog|rogressIndicator|rojection|roportion|roportional|rotect|roteinData|runing|seudoInverse|sychrometricPropertyData|ublicKey|ulsarData|ut|utAppend|yramid)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`Q(?:Binomial|Factorial|Gamma|HypergeometricPFQ|Pochhammer|PolyGamma|RDecomposition|nDispersion|uadraticIrrationalQ|uadraticOptimization|uantile|uantilePlot|uantity|uantityArray|uantityDistribution|uantityForm|uantityMagnitude|uantityQ|uantityUnit|uantityVariable|uantityVariableCanonicalUnit|uantityVariableDimensions|uantityVariableIdentifier|uantityVariablePhysicalQuantity|uartileDeviation|uartileSkewness|uartiles|uery|ueueProperties|ueueingNetworkProcess|ueueingProcess|uiet|uietEcho|uotient|uotientRemainder)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`R(?:GBColor|Solve|SolveValue|adialAxisPlot|adialGradientFilling|adialGradientImage|adialityCentrality|adicalBox|adioButton|adioButtonBar|adon|adonTransform|amanujanTauL??|amanujanTauTheta|amanujanTauZ|amp|andomChoice|andomColor|andomComplex|andomDate|andomEntity|andomFunction|andomGeneratorState|andomGeoPosition|andomGraph|andomImage|andomInteger|andomPermutation|andomPoint|andomPolygon|andomPolyhedron|andomPrime|andomReal|andomSample|andomTime|andomVariate|andomWalkProcess|andomWord|ange|angeFilter|ankedMax|ankedMin|arerProbability|aster|aster3D|asterize|ational|ationalExpressionQ|ationalize|atios|awBoxes|awData|ayleighDistribution|e|eIm|eImPlot|eactionPDETerm|ead|eadByteArray|eadLine|eadList|eadString|ealAbs|ealDigits|ealExponent|ealSign|eap|econstructionMesh|ectangle|ectangleChart|ectangleChart3D|ectangularRepeatingElement|ecurrenceFilter|ecurrenceTable|educe|efine|eflectionMatrix|eflectionTransform|efresh|egion|egionBinarize|egionBoundary|egionBounds|egionCentroid|egionCongruent|egionConvert|egionDifference|egionDilation|egionDimension|egionDisjoint|egionDistance|egionDistanceFunction|egionEmbeddingDimension|egionEqual|egionErosion|egionFit|egionImage|egionIntersection|egionMeasure|egionMember|egionMemberFunction|egionMoment|egionNearest|egionNearestFunction|egionPlot|egionPlot3D|egionProduct|egionQ|egionResize|egionSimilar|egionSymmetricDifference|egionUnion|egionWithin|egularExpression|egularPolygon|egularlySampledQ|elationGraph|eleaseHold|eliabilityDistribution|eliefImage|eliefPlot|emove|emoveAlphaChannel|emoveBackground|emoveDiacritics|emoveInputStreamMethod|emoveOutputStreamMethod|emoveUsers|enameDirectory|enameFile|enewalProcess|enkoChart|epairMesh|epeated|epeatedNull|epeatedTiming|epeatingElement|eplace|eplaceAll|eplaceAt|eplaceImageValue|eplaceList|eplacePart|eplacePixelValue|eplaceRepeated|esamplingAlgorithmData|escale|escalingTransform|esetDirectory|esidue|esidueSum|esolve|esourceData|esourceObject|esourceSearch|esponseForm|est|estricted|esultant|eturn|eturnExpressionPacket|eturnPacket|eturnTextPacket|everse|everseBiorthogonalSplineWavelet|everseElement|everseEquilibrium|everseGraph|everseSort|everseSortBy|everseUpEquilibrium|evolutionPlot3D|iccatiSolve|iceDistribution|idgeFilter|iemannR|iemannSiegelTheta|iemannSiegelZ|iemannXi|iffle|ightArrow|ightArrowBar|ightArrowLeftArrow|ightComposition|ightCosetRepresentative|ightDownTeeVector|ightDownVector|ightDownVectorBar|ightTee|ightTeeArrow|ightTeeVector|ightTriangle|ightTriangleBar|ightTriangleEqual|ightUpDownVector|ightUpTeeVector|ightUpVector|ightUpVectorBar|ightVector|ightVectorBar|iskAchievementImportance|iskReductionImportance|obustConvexOptimization|ogersTanimotoDissimilarity|ollPitchYawAngles|ollPitchYawMatrix|omanNumeral|oot|ootApproximant|ootIntervals|ootLocusPlot|ootMeanSquare|ootOfUnityQ|ootReduce|ootSum|oots|otate|otateLeft|otateRight|otationMatrix|otationTransform|ound|ow|owBox|owReduce|udinShapiro|udvalisGroupRu|ule|uleDelayed|ulePlot|un|unProcess|unThrough|ussellRaoDissimilarity)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`S(?:ARIMAProcess|ARMAProcess|ASTriangle|SSTriangle|ameAs|ameQ|ampledSoundFunction|ampledSoundList|atelliteData|atisfiabilityCount|atisfiabilityInstances|atisfiableQ|ave|avitzkyGolayMatrix|awtoothWave|caled??|calingMatrix|calingTransform|can|cheduledTask|churDecomposition|cientificForm|corerGi|corerGiPrime|corerHi|corerHiPrime|ech??|echDistribution|econdOrderConeOptimization|ectorChart|ectorChart3D|eedRandom|elect|electComponents|electFirst|electedCells|electedNotebook|electionCreateCell|electionEvaluate|electionEvaluateCreateCell|electionMove|emanticImport|emanticImportString|emanticInterpretation|emialgebraicComponentInstances|emidefiniteOptimization|endMail|endMessage|equence|equenceAlignment|equenceCases|equenceCount|equenceFold|equenceFoldList|equencePosition|equenceReplace|equenceSplit|eries|eriesCoefficient|eriesData|erviceConnect|erviceDisconnect|erviceExecute|erviceObject|essionSubmit|essionTime|et|etAccuracy|etAlphaChannel|etAttributes|etCloudDirectory|etCookies|etDelayed|etDirectory|etEnvironment|etFileDate|etOptions|etPermissions|etPrecision|etSelectedNotebook|etSharedFunction|etSharedVariable|etStreamPosition|etSystemOptions|etUsers|etter|etterBar|etting|hallow|hannonWavelet|hapiroWilkTest|hare|harpen|hearingMatrix|hearingTransform|hellRegion|henCastanMatrix|hiftRegisterSequence|hiftedGompertzDistribution|hort|hortDownArrow|hortLeftArrow|hortRightArrow|hortTimeFourier|hortTimeFourierData|hortUpArrow|hortest|hortestPathFunction|how|iderealTime|iegelTheta|iegelTukeyTest|ierpinskiCurve|ierpinskiMesh|ign|ignTest|ignature|ignedRankTest|ignedRegionDistance|impleGraphQ??|implePolygonQ|implePolyhedronQ|implex|implify|in|inIntegral|inc|inghMaddalaDistribution|ingularValueDecomposition|ingularValueList|ingularValuePlot|inh|inhIntegral|ixJSymbol|keleton|keletonTransform|kellamDistribution|kewNormalDistribution|kewness|kip|liceContourPlot3D|liceDensityPlot3D|liceDistribution|liceVectorPlot3D|lideView|lider|lider2D|liderBox|lot|lotSequence|mallCircle|mithDecomposition|mithDelayCompensator|mithWatermanSimilarity|moothDensityHistogram|moothHistogram|moothHistogram3D|moothKernelDistribution|nDispersion|ocketConnect|ocketListen|ocketListener|ocketObject|ocketOpen|ocketReadMessage|ocketReadyQ|ocketWaitAll|ocketWaitNext|ockets|okalSneathDissimilarity|olarEclipse|olarSystemFeatureData|olarTime|olidAngle|olidData|olidRegionQ|olve|olveAlways|olveValues|ort|ortBy|ound|oundNote|ourcePDETerm|ow|paceCurveData|pacer|pan|parseArrayQ??|patialGraphDistribution|patialMedian|peak|pearmanRankTest|pearmanRho|peciesData|pectralLineData|pectrogram|pectrogramArray|pecularity|peechSynthesize|pellingCorrectionList|phere|pherePoints|phericalBesselJ|phericalBesselY|phericalHankelH1|phericalHankelH2|phericalHarmonicY|phericalPlot3D|phericalShell|pheroidalEigenvalue|pheroidalJoiningFactor|pheroidalPS|pheroidalPSPrime|pheroidalQS|pheroidalQSPrime|pheroidalRadialFactor|pheroidalS1|pheroidalS1Prime|pheroidalS2|pheroidalS2Prime|plicedDistribution|plit|plitBy|pokenString|potLight|qrt|qrtBox|quare|quareFreeQ|quareIntersection|quareMatrixQ|quareRepeatingElement|quareSubset|quareSubsetEqual|quareSuperset|quareSupersetEqual|quareUnion|quareWave|quaredEuclideanDistance|quaresR|tableDistribution|tack|tackBegin|tackComplete|tackInhibit|tackedDateListPlot|tackedListPlot|tadiumShape|tandardAtmosphereData|tandardDeviation|tandardDeviationFilter|tandardForm|tandardOceanData|tandardize|tandbyDistribution|tar|tarClusterData|tarData|tarGraph|tartProcess|tateFeedbackGains|tateOutputEstimator|tateResponse|tateSpaceModel|tateSpaceTransform|tateTransformationLinearize|tationaryDistribution|tationaryWaveletPacketTransform|tationaryWaveletTransform|tatusArea|tatusCentrality|tieltjesGamma|tippleShading|tirlingS1|tirlingS2|toppingPowerData|tratonovichProcess|treamDensityPlot|treamPlot|treamPlot3D|treamPosition|treams|tringCases|tringContainsQ|tringCount|tringDelete|tringDrop|tringEndsQ|tringExpression|tringExtract|tringForm|tringFormatQ??|tringFreeQ|tringInsert|tringJoin|tringLength|tringMatchQ|tringPadLeft|tringPadRight|tringPart|tringPartition|tringPosition|tringQ|tringRepeat|tringReplace|tringReplaceList|tringReplacePart|tringReverse|tringRiffle|tringRotateLeft|tringRotateRight|tringSkeleton|tringSplit|tringStartsQ|tringTake|tringTakeDrop|tringTemplate|tringToByteArray|tringToStream|tringTrim|tripBoxes|tructuralImportance|truveH|truveL|tudentTDistribution|tyle|tyleBox|tyleData|ubMinus|ubPlus|ubStar|ubValues|ubdivide|ubfactorial|ubgraph|ubresultantPolynomialRemainders|ubresultantPolynomials|ubresultants|ubscript|ubscriptBox|ubsequences|ubset|ubsetEqual|ubsetMap|ubsetQ|ubsets|ubstitutionSystem|ubsuperscript|ubsuperscriptBox|ubtract|ubtractFrom|ubtractSides|ucceeds|ucceedsEqual|ucceedsSlantEqual|ucceedsTilde|uccess|uchThat|um|umConvergence|unPosition|unrise|unset|uperDagger|uperMinus|uperPlus|uperStar|upernovaData|uperscript|uperscriptBox|uperset|upersetEqual|urd|urfaceArea|urfaceData|urvivalDistribution|urvivalFunction|urvivalModel|urvivalModelFit|uzukiDistribution|uzukiGroupSuz|watchLegend|witch|ymbol|ymbolName|ymletWavelet|ymmetric|ymmetricGroup|ymmetricKey|ymmetricMatrixQ|ymmetricPolynomial|ymmetricReduction|ymmetrize|ymmetrizedArray|ymmetrizedArrayRules|ymmetrizedDependentComponents|ymmetrizedIndependentComponents|ymmetrizedReplacePart|ynonyms|yntaxInformation|yntaxLength|yntaxPacket|yntaxQ|ystemDialogInput|ystemInformation|ystemOpen|ystemOptions|ystemProcessData|ystemProcesses|ystemsConnectionsModel|ystemsModelControllerData|ystemsModelDelay|ystemsModelDelayApproximate|ystemsModelDelete|ystemsModelDimensions|ystemsModelExtract|ystemsModelFeedbackConnect|ystemsModelLinearity|ystemsModelMerge|ystemsModelOrder|ystemsModelParallelConnect|ystemsModelSeriesConnect|ystemsModelStateFeedbackConnect|ystemsModelVectorRelativeOrders)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`T(?:Test|abView|able|ableForm|agBox|agSet|agSetDelayed|agUnset|ake|akeDrop|akeLargest|akeLargestBy|akeList|akeSmallest|akeSmallestBy|akeWhile|ally|anh??|askAbort|askExecute|askObject|askRemove|askResume|askSuspend|askWait|asks|autologyQ|eXForm|elegraphProcess|emplateApply|emplateBox|emplateExpression|emplateIf|emplateObject|emplateSequence|emplateSlot|emplateWith|emporalData|ensorContract|ensorDimensions|ensorExpand|ensorProduct|ensorRank|ensorReduce|ensorSymmetry|ensorTranspose|ensorWedge|erminatedEvaluation|estReport|estReportObject|estResultObject|etrahedron|ext|extCell|extData|extGrid|extPacket|extRecognize|extSentences|extString|extTranslation|extWords|exture|herefore|hermodynamicData|hermometerGauge|hickness|hinning|hompsonGroupTh|hread|hreeJSymbol|hreshold|hrough|hrow|hueMorse|humbnail|ideData|ilde|ildeEqual|ildeFullEqual|ildeTilde|imeConstrained|imeObjectQ??|imeRemaining|imeSeries|imeSeriesAggregate|imeSeriesForecast|imeSeriesInsert|imeSeriesInvertibility|imeSeriesMap|imeSeriesMapThread|imeSeriesModel|imeSeriesModelFit|imeSeriesResample|imeSeriesRescale|imeSeriesShift|imeSeriesThread|imeSeriesWindow|imeSystemConvert|imeUsed|imeValue|imeZoneConvert|imeZoneOffset|imelinePlot|imes|imesBy|iming|itsGroupT|oBoxes|oCharacterCode|oContinuousTimeModel|oDiscreteTimeModel|oEntity|oExpression|oInvertibleTimeSeries|oLowerCase|oNumberField|oPolarCoordinates|oRadicals|oRules|oSphericalCoordinates|oString|oUpperCase|oeplitzMatrix|ogether|oggler|ogglerBar|ooltip|oonShading|opHatTransform|opologicalSort|orus|orusGraph|otal|otalVariationFilter|ouchPosition|r|race|raceDialog|racePrint|raceScan|racyWidomDistribution|radingChart|raditionalForm|ransferFunctionCancel|ransferFunctionExpand|ransferFunctionFactor|ransferFunctionModel|ransferFunctionPoles|ransferFunctionTransform|ransferFunctionZeros|ransformationFunction|ransformationMatrix|ransformedDistribution|ransformedField|ransformedProcess|ransformedRegion|ransitiveClosureGraph|ransitiveReductionGraph|ranslate|ranslationTransform|ransliterate|ranspose|ravelDirections|ravelDirectionsData|ravelDistance|ravelDistanceList|ravelTime|reeForm|reeGraphQ??|reePlot|riangle|riangleWave|riangularDistribution|riangulateMesh|rigExpand|rigFactor|rigFactorList|rigReduce|rigToExp|rigger|rimmedMean|rimmedVariance|ropicalStormData|rueQ|runcatedDistribution|runcatedPolyhedron|sallisQExponentialDistribution|sallisQGaussianDistribution|ube|ukeyLambdaDistribution|ukeyWindow|unnelData|uples|uranGraph|uringMachine|uttePolynomial|woWayRule|ypeHint)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`U(?:RL|RLBuild|RLDecode|RLDispatcher|RLDownload|RLEncode|RLExecute|RLExpand|RLParse|RLQueryDecode|RLQueryEncode|RLRead|RLResponseTime|RLShorten|RLSubmit|nateQ|ncompress|nderBar|nderflow|nderoverscript|nderoverscriptBox|nderscript|nderscriptBox|nderseaFeatureData|ndirectedEdge|ndirectedGraphQ??|nequal|nequalTo|nevaluated|niformDistribution|niformGraphDistribution|niformPolyhedron|niformSumDistribution|ninstall|nion|nionPlus|nique|nitBox|nitConvert|nitDimensions|nitRootTest|nitSimplify|nitStep|nitTriangle|nitVector|nitaryMatrixQ|nitize|niverseModelData|niversityData|nixTime|nprotect|nsameQ|nset|nsetShared|ntil|pArrow|pArrowBar|pArrowDownArrow|pDownArrow|pEquilibrium|pSet|pSetDelayed|pTee|pTeeArrow|pTo|pValues|pdate|pperCaseQ|pperLeftArrow|pperRightArrow|pperTriangularMatrixQ??|pperTriangularize|psample|singFrontEnd)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`V(?:alueQ|alues|ariables|ariance|arianceEquivalenceTest|arianceGammaDistribution|arianceTest|ectorAngle|ectorDensityPlot|ectorDisplacementPlot|ectorDisplacementPlot3D|ectorGreater|ectorGreaterEqual|ectorLess|ectorLessEqual|ectorPlot|ectorPlot3D|ectorQ|ectors|ee|erbatim|erificationTest|ertexAdd|ertexChromaticNumber|ertexComponent|ertexConnectivity|ertexContract|ertexCorrelationSimilarity|ertexCosineSimilarity|ertexCount|ertexCoverQ|ertexDegree|ertexDelete|ertexDiceSimilarity|ertexEccentricity|ertexInComponent|ertexInComponentGraph|ertexInDegree|ertexIndex|ertexJaccardSimilarity|ertexList|ertexOutComponent|ertexOutComponentGraph|ertexOutDegree|ertexQ|ertexReplace|ertexTransitiveGraphQ|ertexWeightedGraphQ|erticalBar|erticalGauge|erticalSeparator|erticalSlider|erticalTilde|oiceStyleData|oigtDistribution|olcanoData|olume|onMisesDistribution|oronoiMesh)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`W(?:aitAll|aitNext|akebyDistribution|alleniusHypergeometricDistribution|aringYuleDistribution|arpingCorrespondence|arpingDistance|atershedComponents|atsonUSquareTest|attsStrogatzGraphDistribution|avePDEComponent|aveletBestBasis|aveletFilterCoefficients|aveletImagePlot|aveletListPlot|aveletMapIndexed|aveletMatrixPlot|aveletPhi|aveletPsi|aveletScalogram|aveletThreshold|eakStationarity|eaklyConnectedComponents|eaklyConnectedGraphComponents|eaklyConnectedGraphQ|eatherData|eatherForecastData|eberE|edge|eibullDistribution|eierstrassE1|eierstrassE2|eierstrassE3|eierstrassEta1|eierstrassEta2|eierstrassEta3|eierstrassHalfPeriodW1|eierstrassHalfPeriodW2|eierstrassHalfPeriodW3|eierstrassHalfPeriods|eierstrassInvariantG2|eierstrassInvariantG3|eierstrassInvariants|eierstrassP|eierstrassPPrime|eierstrassSigma|eierstrassZeta|eightedAdjacencyGraph|eightedAdjacencyMatrix|eightedData|eightedGraphQ|elchWindow|heelGraph|henEvent|hich|hile|hiteNoiseProcess|hittakerM|hittakerW|ienerFilter|ienerProcess|ignerD|ignerSemicircleDistribution|ikipediaData|ilksW|ilksWTest|indDirectionData|indSpeedData|indVectorData|indingCount|indingPolygon|insorizedMean|insorizedVariance|ishartMatrixDistribution|ith|olframAlpha|olframLanguageData|ordCloud|ordCounts??|ordData|ordDefinition|ordFrequency|ordFrequencyData|ordList|ordStem|ordTranslation|rite|riteLine|riteString|ronskian)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`X(?:MLElement|MLObject|MLTemplate|YZColor|nor|or)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`YuleDissimilarity(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`Z(?:IPCodeData|Test|Transform|ernikeR|eroSymmetric|eta|etaZero|ipfDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"System`A(?:cceptanceThreshold|ccuracyGoal|ctiveStyle|ddOnHelpPath|djustmentBoxOptions|lignment|lignmentPoint|llowGroupClose|llowInlineCells|llowLooseGrammar|llowReverseGroupClose|llowScriptLevelChange|llowVersionUpdate|llowedCloudExtraParameters|llowedCloudParameterExtensions|llowedDimensions|llowedFrequencyRange|llowedHeads|lternativeHypothesis|ltitudeMethod|mbiguityFunction|natomySkinStyle|nchoredSearch|nimationDirection|nimationRate|nimationRepetitions|nimationRunTime|nimationRunning|nimationTimeIndex|nnotationRules|ntialiasing|ppearance|ppearanceElements|ppearanceRules|spectRatio|ssociationFormat|ssumptions|synchronous|ttachedCell|udioChannelAssignment|udioEncoding|udioInputDevice|udioLabel|udioOutputDevice|uthentication|utoAction|utoCopy|utoDelete|utoGeneratedPackage|utoIndent|utoItalicWords|utoMultiplicationSymbol|utoOpenNotebooks|utoOpenPalettes|utoOperatorRenderings|utoRemove|utoScroll|utoSpacing|utoloadPath|utorunSequencing|xes|xesEdge|xesLabel|xesOrigin|xesStyle)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`B(?:ackground|arOrigin|arSpacing|aseStyle|aselinePosition|inaryFormat|ookmarks|ooleanStrings|oundaryStyle|oxBaselineShift|oxFormFormatTypes|oxFrame|oxMargins|oxRatios|oxStyle|oxed|ubbleScale|ubbleSizes|uttonBoxOptions|uttonData|uttonFunction|uttonMinHeight|uttonSource|yteOrdering)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`C(?:alendarType|alloutMarker|alloutStyle|aptureRunning|aseOrdering|elestialSystem|ellAutoOverwrite|ellBaseline|ellBracketOptions|ellChangeTimes|ellContext|ellDingbat|ellDingbatMargin|ellDynamicExpression|ellEditDuplicate|ellEpilog|ellEvaluationDuplicate|ellEvaluationFunction|ellEventActions|ellFrame|ellFrameColor|ellFrameLabelMargins|ellFrameLabels|ellFrameMargins|ellGrouping|ellGroupingRules|ellHorizontalScrolling|ellID|ellLabel|ellLabelAutoDelete|ellLabelMargins|ellLabelPositioning|ellLabelStyle|ellLabelTemplate|ellMargins|ellOpen|ellProlog|ellSize|ellTags|haracterEncoding|haracterEncodingsPath|hartBaseStyle|hartElementFunction|hartElements|hartLabels|hartLayout|hartLegends|hartStyle|lassPriors|lickToCopyEnabled|lipPlanes|lipPlanesStyle|lipRange|lippingStyle|losingAutoSave|loudBase|loudObjectNameFormat|loudObjectURLType|lusterDissimilarityFunction|odeAssistOptions|olorCoverage|olorFunction|olorFunctionBinning|olorFunctionScaling|olorRules|olorSelectorSettings|olorSpace|olumnAlignments|olumnLines|olumnSpacings|olumnWidths|olumnsEqual|ombinerFunction|ommonDefaultFormatTypes|ommunityBoundaryStyle|ommunityLabels|ommunityRegionStyle|ompilationOptions|ompilationTarget|ompiled|omplexityFunction|ompressionLevel|onfidenceLevel|onfidenceRange|onfidenceTransform|onfigurationPath|onstants|ontentPadding|ontentSelectable|ontentSize|ontinuousAction|ontourLabels|ontourShading|ontourStyle|ontours|ontrolPlacement|ontrolType|ontrollerLinking|ontrollerMethod|ontrollerPath|ontrolsRendering|onversionRules|ookieFunction|oordinatesToolOptions|opyFunction|opyable|ornerNeighbors|ounterAssignments|ounterFunction|ounterIncrements|ounterStyleMenuListing|ovarianceEstimatorFunction|reateCellID|reateIntermediateDirectories|riterionFunction|ubics|urveClosed)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`D(?:ataRange|ataReversed|atasetTheme|ateFormat|ateFunction|ateGranularity|ateReduction|ateTicksFormat|ayCountConvention|efaultDuplicateCellStyle|efaultDuration|efaultElement|efaultFontProperties|efaultFormatType|efaultInlineFormatType|efaultNaturalLanguage|efaultNewCellStyle|efaultNewInlineCellStyle|efaultNotebook|efaultOptions|efaultPrintPrecision|efaultStyleDefinitions|einitialization|eletable|eleteContents|eletionWarning|elimiterAutoMatching|elimiterFlashTime|elimiterMatching|elimiters|eliveryFunction|ependentVariables|eployed|escriptorStateSpace|iacriticalPositioning|ialogProlog|ialogSymbols|igitBlock|irectedEdges|irection|iscreteVariables|ispersionEstimatorFunction|isplayAllSteps|isplayFunction|istanceFunction|istributedContexts|ithering|ividers|ockedCells??|ynamicEvaluationTimeout|ynamicModuleValues|ynamicUpdating)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`E(?:clipseType|dgeCapacity|dgeCost|dgeLabelStyle|dgeLabels|dgeShapeFunction|dgeStyle|dgeValueRange|dgeValueSizes|dgeWeight|ditCellTagsSettings|ditable|lidedForms|nabled|pilog|pilogFunction|scapeRadius|valuatable|valuationCompletionAction|valuationElements|valuationMonitor|valuator|valuatorNames|ventLabels|xcludePods|xcludedContexts|xcludedForms|xcludedLines|xcludedPhysicalQuantities|xclusions|xclusionsStyle|xponentFunction|xponentPosition|xponentStep|xponentialFamily|xportAutoReplacements|xpressionUUID|xtension|xtentElementFunction|xtentMarkers|xtentSize|xternalDataCharacterEncoding|xternalOptions|xternalTypeSignature)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`F(?:aceGrids|aceGridsStyle|ailureAction|eatureNames|eatureTypes|eedbackSector|eedbackSectorStyle|eedbackType|ieldCompletionFunction|ieldHint|ieldHintStyle|ieldMasked|ieldSize|ileNameDialogSettings|ileNameForms|illing|illingStyle|indSettings|itRegularization|ollowRedirects|ontColor|ontFamily|ontSize|ontSlant|ontSubstitutions|ontTracking|ontVariations|ontWeight|orceVersionInstall|ormBoxOptions|ormLayoutFunction|ormProtectionMethod|ormatType|ormatTypeAutoConvert|ourierParameters|ractionBoxOptions|ractionLine|rame|rameBoxOptions|rameLabel|rameMargins|rameRate|rameStyle|rameTicks|rameTicksStyle|rontEndEventActions|unctionSpace)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`G(?:apPenalty|augeFaceElementFunction|augeFaceStyle|augeFrameElementFunction|augeFrameSize|augeFrameStyle|augeLabels|augeMarkers|augeStyle|aussianIntegers|enerateConditions|eneratedCell|eneratedDocumentBinding|eneratedParameters|eneratedQuantityMagnitudes|eneratorDescription|eneratorHistoryLength|eneratorOutputType|eoArraySize|eoBackground|eoCenter|eoGridLines|eoGridLinesStyle|eoGridRange|eoGridRangePadding|eoLabels|eoLocation|eoModel|eoProjection|eoRange|eoRangePadding|eoResolution|eoScaleBar|eoServer|eoStylingImageFunction|eoZoomLevel|radient|raphHighlight|raphHighlightStyle|raphLayerStyle|raphLayers|raphLayout|ridCreationSettings|ridDefaultElement|ridFrame|ridFrameMargins|ridLines|ridLinesStyle|roupActionBase|roupPageBreakWithin)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`H(?:eaderAlignment|eaderBackground|eaderDisplayFunction|eaderLines|eaderSize|eaderStyle|eads|elpBrowserSettings|iddenItems|olidayCalendar|yperlinkAction|yphenation)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`I(?:conRules|gnoreCase|gnoreDiacritics|gnorePunctuation|mageCaptureFunction|mageFormattingWidth|mageLabels|mageLegends|mageMargins|magePadding|magePreviewFunction|mageRegion|mageResolution|mageSize|mageSizeAction|mageSizeMultipliers|magingDevice|mportAutoReplacements|mportOptions|ncludeConstantBasis|ncludeDefinitions|ncludeDirectories|ncludeFileExtension|ncludeGeneratorTasks|ncludeInflections|ncludeMetaInformation|ncludePods|ncludeQuantities|ncludeSingularSolutions|ncludeWindowTimes|ncludedContexts|ndeterminateThreshold|nflationMethod|nheritScope|nitialSeeding|nitialization|nitializationCell|nitializationCellEvaluation|nitializationCellWarning|nputAliases|nputAssumptions|nputAutoReplacements|nsertResults|nsertionFunction|nteractive|nterleaving|nterpolationOrder|nterpolationPoints|nterpretationBoxOptions|nterpretationFunction|ntervalMarkers|ntervalMarkersStyle|nverseFunctions|temAspectRatio|temDisplayFunction|temSize|temStyle)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Joined(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Ke(?:epExistingVersion|yCollisionFunction|ypointStrength)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`L(?:abelStyle|abelVisibility|abelingFunction|abelingSize|anguage|anguageCategory|ayerSizeFunction|eaderSize|earningRate|egendAppearance|egendFunction|egendLabel|egendLayout|egendMargins|egendMarkerSize|egendMarkers|ighting|ightingAngle|imitsPositioning|imitsPositioningTokens|ineBreakWithin|ineIndent|ineIndentMaxFraction|ineIntegralConvolutionScale|ineSpacing|inearOffsetFunction|inebreakAdjustments|inkFunction|inkProtocol|istFormat|istPickerBoxOptions|ocalizeVariables|ocatorAutoCreate|ocatorRegion|ooping)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`M(?:agnification|ailAddressValidation|ailResponseFunction|ailSettings|asking|atchLocalNames|axCellMeasure|axColorDistance|axDuration|axExtraBandwidths|axExtraConditions|axFeatureDisplacement|axFeatures|axItems|axIterations|axMixtureKernels|axOverlapFraction|axPlotPoints|axRecursion|axStepFraction|axStepSize|axSteps|emoryConstraint|enuCommandKey|enuSortingValue|enuStyle|esh|eshCellHighlight|eshCellLabel|eshCellMarker|eshCellShapeFunction|eshCellStyle|eshFunctions|eshQualityGoal|eshRefinementFunction|eshShading|eshStyle|etaInformation|ethod|inColorDistance|inIntervalSize|inPointSeparation|issingBehavior|issingDataMethod|issingDataRules|issingString|issingStyle|odal|odulus|ultiaxisArrangement|ultiedgeStyle|ultilaunchWarning|ultilineFunction|ultiselection)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`N(?:icholsGridLines|ominalVariables|onConstants|ormFunction|ormalized|ormalsFunction|otebookAutoSave|otebookBrowseDirectory|otebookConvertSettings|otebookDynamicExpression|otebookEventActions|otebookPath|otebooksMenu|otificationFunction|ullRecords|ullWords|umberFormat|umberMarks|umberMultiplier|umberPadding|umberPoint|umberSeparator|umberSigns|yquistGridLines)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`O(?:pacityFunction|pacityFunctionScaling|peratingSystem|ptionInspectorSettings|utputAutoOverwrite|utputSizeLimit|verlaps|verscriptBoxOptions|verwriteTarget)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`P(?:IDDerivativeFilter|IDFeedforward|acletSite|adding|addingSize|ageBreakAbove|ageBreakBelow|ageBreakWithin|ageFooterLines|ageFooters|ageHeaderLines|ageHeaders|ageTheme|ageWidth|alettePath|aneled|aragraphIndent|aragraphSpacing|arallelization|arameterEstimator|artBehavior|artitionGranularity|assEventsDown|assEventsUp|asteBoxFormInlineCells|ath|erformanceGoal|ermissions|haseRange|laceholderReplace|layRange|lotLabels??|lotLayout|lotLegends|lotMarkers|lotPoints|lotRange|lotRangeClipping|lotRangePadding|lotRegion|lotStyle|lotTheme|odStates|odWidth|olarAxes|olarAxesOrigin|olarGridLines|olarTicks|oleZeroMarkers|recisionGoal|referencesPath|reprocessingRules|reserveColor|reserveImageOptions|rincipalValue|rintAction|rintPrecision|rintingCopies|rintingOptions|rintingPageRange|rintingStartingPageNumber|rintingStyleEnvironment|rintout3DPreviewer|rivateCellOptions|rivateEvaluationOptions|rivateFontOptions|rivateNotebookOptions|rivatePaths|rocessDirectory|rocessEnvironment|rocessEstimator|rogressReporting|rolog|ropagateAborts)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Quartics(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`R(?:adicalBoxOptions|andomSeeding|asterSize|eImLabels|eImStyle|ealBlockDiagonalForm|ecognitionPrior|ecordLists|ecordSeparators|eferenceLineStyle|efreshRate|egionBoundaryStyle|egionFillingStyle|egionFunction|egionSize|egularization|enderingOptions|equiredPhysicalQuantities|esampling|esamplingMethod|esolveContextAliases|estartInterval|eturnReceiptFunction|evolutionAxis|otateLabel|otationAction|oundingRadius|owAlignments|owLines|owMinHeight|owSpacings|owsEqual|ulerUnits|untimeAttributes|untimeOptions)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`S(?:ameTest|ampleDepth|ampleRate|amplingPeriod|aveConnection|aveDefinitions|aveable|caleDivisions|caleOrigin|calePadding|caleRangeStyle|caleRanges|calingFunctions|cientificNotationThreshold|creenStyleEnvironment|criptBaselineShifts|criptLevel|criptMinSize|criptSizeMultipliers|crollPosition|crollbars|crollingOptions|ectorOrigin|ectorSpacing|electable|elfLoopStyle|eriesTermGoal|haringList|howAutoSpellCheck|howAutoStyles|howCellBracket|howCellLabel|howCellTags|howClosedCellArea|howContents|howCursorTracker|howGroupOpener|howPageBreaks|howSelection|howShortBoxForm|howSpecialCharacters|howStringCharacters|hrinkingDelay|ignPadding|ignificanceLevel|imilarityRules|ingleLetterItalics|liderBoxOptions|ortedBy|oundVolume|pacings|panAdjustments|panCharacterRounding|panLineThickness|panMaxSize|panMinSize|panSymmetric|pecificityGoal|pellingCorrection|pellingDictionaries|pellingDictionariesPath|pellingOptions|phericalRegion|plineClosed|plineDegree|plineKnots|plineWeights|qrtBoxOptions|tabilityMargins|tabilityMarginsStyle|tandardized|tartingStepSize|tateSpaceRealization|tepMonitor|trataVariables|treamColorFunction|treamColorFunctionScaling|treamMarkers|treamPoints|treamScale|treamStyle|trictInequalities|tripOnInput|tripWrapperBoxes|tructuredSelection|tyleBoxAutoDelete|tyleDefinitions|tyleHints|tyleMenuListing|tyleNameDialogSettings|tyleSheetPath|ubscriptBoxOptions|ubsuperscriptBoxOptions|ubtitleEncoding|uperscriptBoxOptions|urdForm|ynchronousInitialization|ynchronousUpdating|yntaxForm|ystemHelpPath|ystemsModelLabels)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`T(?:abFilling|abSpacings|ableAlignments|ableDepth|ableDirections|ableHeadings|ableSpacing|agBoxOptions|aggingRules|argetFunctions|argetUnits|emplateBoxOptions|emporalRegularity|estID|extAlignment|extClipboardType|extJustification|extureCoordinateFunction|extureCoordinateScaling|icks|icksStyle|imeConstraint|imeDirection|imeFormat|imeGoal|imeSystem|imeZone|okenWords|olerance|ooltipDelay|ooltipStyle|otalWidth|ouchscreenAutoZoom|ouchscreenControlPlacement|raceAbove|raceBackward|raceDepth|raceForward|raceOff|raceOn|raceOriginal|rackedSymbols|rackingFunction|raditionalFunctionNotation|ransformationClass|ransformationFunctions|ransitionDirection|ransitionDuration|ransitionEffect|ranslationOptions|ravelMethod|rendStyle|rig)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`U(?:nderoverscriptBoxOptions|nderscriptBoxOptions|ndoOptions|ndoTrackedVariables|nitSystem|nityDimensions|nsavedVariables|pdateInterval|pdatePacletSites|tilityFunction)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`V(?:alidationLength|alidationSet|alueDimensions|arianceEstimatorFunction|ectorAspectRatio|ectorColorFunction|ectorColorFunctionScaling|ectorMarkers|ectorPoints|ectorRange|ectorScaling|ectorSizes|ectorStyle|erifyConvergence|erifySecurityCertificates|erifySolutions|erifyTestAssumptions|ersionedPreferences|ertexCapacity|ertexColors|ertexCoordinates|ertexDataCoordinates|ertexLabelStyle|ertexLabels|ertexNormals|ertexShape|ertexShapeFunction|ertexSize|ertexStyle|ertexTextureCoordinates|ertexWeight|ideoEncoding|iewAngle|iewCenter|iewMatrix|iewPoint|iewProjection|iewRange|iewVector|iewVertical|isible)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`W(?:aveletScale|eights|hitePoint|indowClickSelect|indowElements|indowFloating|indowFrame|indowFrameElements|indowMargins|indowOpacity|indowSize|indowStatusArea|indowTitle|indowToolbars|ordOrientation|ordSearch|ordSelectionFunction|ordSeparators|ordSpacings|orkingPrecision|rapAround)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Zero(?:Test|WidthTimes)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`A(?:bove|fter|lgebraics|ll|nonymous|utomatic|xis)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`B(?:ack|ackward|aseline|efore|elow|lack|lue|old|ooleans|ottom|oxes|rown|yte)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`C(?:atalan|ellStyle|enter|haracter|omplexInfinity|omplexes|onstant|yan)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`D(?:ashed|efaultAxesStyle|efaultBaseStyle|efaultBoxStyle|efaultFaceGridsStyle|efaultFieldHintStyle|efaultFrameStyle|efaultFrameTicksStyle|efaultGridLinesStyle|efaultLabelStyle|efaultMenuStyle|efaultTicksStyle|efaultTooltipStyle|egree|elimiter|igitCharacter|otDashed|otted)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`E(?:|ndOfBuffer|ndOfFile|ndOfLine|ndOfString|ulerGamma|xpression)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`F(?:alse|lat|ontProperties|orward|orwardBackward|riday|ront|rontEndDynamicExpression|ull)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`G(?:eneral|laisher|oldenAngle|oldenRatio|ray|reen)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`H(?:ere|exadecimalCharacter|oldAll|oldAllComplete|oldFirst|oldRest)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`I(?:|ndeterminate|nfinity|nherited|ntegers??|talic)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Khinchin(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`L(?:arger??|eft|etterCharacter|ightBlue|ightBrown|ightCyan|ightGray|ightGreen|ightMagenta|ightOrange|ightPink|ightPurple|ightRed|ightYellow|istable|ocked)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`M(?:achinePrecision|agenta|anual|edium|eshCellCentroid|eshCellMeasure|eshCellQuality|onday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`N(?:HoldAll|HoldFirst|HoldRest|egativeIntegers|egativeRationals|egativeReals|oWhitespace|onNegativeIntegers|onNegativeRationals|onNegativeReals|onPositiveIntegers|onPositiveRationals|onPositiveReals|one|ow|ull|umber|umberString|umericFunction)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`O(?:neIdentity|range|rderless)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`P(?:i|ink|lain|ositiveIntegers|ositiveRationals|ositiveReals|rimes|rotected|unctuationCharacter|urple)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`R(?:ationals|eadProtected|eals??|ecord|ed|ight)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`S(?:aturday|equenceHold|mall|maller|panFromAbove|panFromBoth|panFromLeft|tartOfLine|tartOfString|tring|truckthrough|tub|unday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`T(?:emporary|hick|hin|hursday|iny|oday|omorrow|op|ransparent|rue|uesday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Unde(?:f|rl)ined(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`W(?:ednesday|hite|hitespace|hitespaceCharacter|ord|ordBoundary|ordCharacter)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`Ye(?:llow|sterday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`\\\\$(?:Aborted|ActivationKey|AllowDataUpdates|AllowInternet|AssertFunction|Assumptions|AudioInputDevices|AudioOutputDevices|BaseDirectory|BasePacletsDirectory|BatchInput|BatchOutput|ByteOrdering|CacheBaseDirectory|Canceled|CharacterEncodings??|CloudAccountName|CloudBase|CloudConnected|CloudCreditsAvailable|CloudEvaluation|CloudExpressionBase|CloudObjectNameFormat|CloudObjectURLType|CloudRootDirectory|CloudSymbolBase|CloudUserID|CloudUserUUID|CloudVersion|CommandLine|CompilationTarget|Context|ContextAliases|ContextPath|ControlActiveSetting|Cookies|CreationDate|CurrentLink|CurrentTask|DateStringFormat|DefaultAudioInputDevice|DefaultAudioOutputDevice|DefaultFrontEnd|DefaultImagingDevice|DefaultKernels|DefaultLocalBase|DefaultLocalKernel|Display|DisplayFunction|DistributedContexts|DynamicEvaluation|Echo|EmbedCodeEnvironments|EmbeddableServices|Epilog|EvaluationCloudBase|EvaluationCloudObject|EvaluationEnvironment|ExportFormats|Failed|FontFamilies|FrontEnd|FrontEndSession|GeoLocation|GeoLocationCity|GeoLocationCountry|GeoLocationSource|HomeDirectory|IgnoreEOF|ImageFormattingWidth|ImageResolution|ImagingDevices??|ImportFormats|InitialDirectory|Input|InputFileName|InputStreamMethods|Inspector|InstallationDirectory|InterpreterTypes|IterationLimit|KernelCount|KernelID|Language|LibraryPath|LicenseExpirationDate|LicenseID|LicenseServer|Linked|LocalBase|LocalSymbolBase|MachineAddresses|MachineDomains|MachineEpsilon|MachineID|MachineName|MachinePrecision|MachineType|MaxExtraPrecision|MaxMachineNumber|MaxNumber|MaxPiecewiseCases|MaxPrecision|MaxRootDegree|MessageGroups|MessageList|MessagePrePrint|Messages|MinMachineNumber|MinNumber|MinPrecision|MobilePhone|ModuleNumber|NetworkConnected|NewMessage|NewSymbol|NotebookInlineStorageLimit|Notebooks|NumberMarks|OperatingSystem|Output|OutputSizeLimit|OutputStreamMethods|Packages|ParentLink|ParentProcessID|PasswordFile|Path|PathnameSeparator|PerformanceGoal|Permissions|PlotTheme|Printout3DPreviewer|ProcessID|ProcessorCount|ProcessorType|ProgressReporting|RandomGeneratorState|RecursionLimit|ReleaseNumber|RequesterAddress|RequesterCloudUserID|RequesterCloudUserUUID|RequesterWolframID|RequesterWolframUUID|RootDirectory|ScriptCommandLine|ScriptInputString|Services|SessionID|SharedFunctions|SharedVariables|SoundDisplayFunction|SynchronousEvaluation|System|SystemCharacterEncoding|SystemID|SystemShell|SystemTimeZone|SystemWordLength|TemplatePath|TemporaryDirectory|TimeUnit|TimeZone|TimeZoneEntity|TimedOut|UnitSystem|Urgent|UserAgentString|UserBaseDirectory|UserBasePacletsDirectory|UserDocumentsDirectory|UserURLBase|Username|Version|VersionNumber|WolframDocumentsDirectory|WolframID|WolframUUID)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"System`A(?:bortScheduledTask|ctive|lgebraicRules|lternateImage|natomyForm|nimationCycleOffset|nimationCycleRepetitions|nimationDisplayTime|spectRatioFixed|stronomicalData|synchronousTaskObject|synchronousTasks|udioDevice|udioLooping)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`Button(?:Evaluator|Expandable|Frame|Margins|Note|Style)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`C(?:DFInformation|hebyshevDistance|lassifierInformation|lipFill|olorOutput|olumnForm|ompose|onstantArrayLayer|onstantPlusLayer|onstantTimesLayer|onstrainedMax|onstrainedMin|ontourGraphics|ontourLines|onversionOptions|reateScheduledTask|reateTemporary|urry)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`D(?:atabinRemove|ate|ebug|efaultColor|efaultFont|ensityGraphics|isplay|isplayString|otPlusLayer|ragAndDrop)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`E(?:dgeLabeling|dgeRenderingFunction|valuateScheduledTask|xpectedValue)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`F(?:actorComplete|ontForm|ormTheme|romDate|ullOptions)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`Gr(?:aphStyle|aphicsArray|aphicsSpacing|idBaseline)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`H(?:TMLSave|eldPart|iddenSurface|omeDirectory)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`I(?:mageRotated|nstanceNormalizationLayer)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`L(?:UBackSubstitution|egendreType|ightSources|inearProgramming|inkOpen|iteral|ongestMatch)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`M(?:eshRange|oleculeEquivalentQ)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`N(?:etInformation|etSharedArray|extScheduledTaskTime|otebookCreate)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`OpenTemporary(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`P(?:IDData|ackingMethod|ersistentValue|ixelConstrained|lot3Matrix|lotDivision|lotJoined|olygonIntersections|redictorInformation|roperties|roperty|ropertyList|ropertyValue)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`R(?:andom|asterArray|ecognitionThreshold|elease|emoteKernelObject|emoveAsynchronousTask|emoveProperty|emoveScheduledTask|enderAll|eplaceHeldPart|esetScheduledTask|esumePacket|unScheduledTask)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`S(?:cheduledTaskActiveQ|cheduledTaskInformation|cheduledTaskObject|cheduledTasks|creenRectangle|electionAnimate|equenceAttentionLayer|equenceForm|etProperty|hading|hortestMatch|ingularValues|kinStyle|ocialMediaData|tartAsynchronousTask|tartScheduledTask|tateDimensions|topAsynchronousTask|topScheduledTask|tructuredArray|tyleForm|tylePrint|ubscripted|urfaceColor|urfaceGraphics|uspendPacket|ystemModelProgressReporting)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`T(?:eXSave|extStyle|imeWarpingCorrespondence|imeWarpingDistance|oDate|oFileName|oHeldExpression)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`URL(?:Fetch|FetchAsynchronous|Save|SaveAsynchronous)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`Ve(?:ctorScale|rtexCoordinateRules|rtexLabeling|rtexRenderingFunction)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`W(?:aitAsynchronousTask|indowMovable)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`\\\\$(?:AsynchronousTask|ConfiguredKernels|DefaultFont|EntityStores|FormatType|HTTPCookies|InstallationDate|MachineDomain|ProductInformation|ProgramName|RandomState|ScheduledTask|SummaryBoxDataSizeLimit|TemporaryPrefix|TextStyle|TopDirectory|UserAddOnsDirectory)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"System`A(?:ctionDelay|ctionMenuBox|ctionMenuBoxOptions|ctiveItem|lgebraicRulesData|lignmentMarker|llowAdultContent|llowChatServices|llowIncomplete|nalytic|nimatorBox|nimatorBoxOptions|nimatorElements|ppendCheck|rgumentCountQ|rrow3DBox|rrowBox|uthenticate|utoEvaluateEvents|utoIndentSpacings|utoMatch|utoNumberFormatting|utoQuoteCharacters|utoScaling|utoStyleOptions|utoStyleWords|utomaticImageSize|xis3DBox|xis3DBoxOptions|xisBox|xisBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`B(?:SplineCurve3DBox|SplineCurve3DBoxOptions|SplineCurveBox|SplineCurveBoxOptions|SplineSurface3DBox|SplineSurface3DBoxOptions|ackFaceColor|ackFaceGlowColor|ackFaceOpacity|ackFaceSpecularColor|ackFaceSpecularExponent|ackFaceSurfaceAppearance|ackFaceTexture|ackgroundAppearance|ackgroundTasksSettings|acksubstitution|eveled|ezierCurve3DBox|ezierCurve3DBoxOptions|ezierCurveBox|ezierCurveBoxOptions|lankForm|ounds|ox|oxDimensions|oxForm|oxID|oxRotation|oxRotationPoint|ra|raKet|rowserCategory|uttonCell|uttonContents|uttonStyleMenuListing)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`C(?:acheGraphics|achedValue|ardinalBSplineBasis|ellBoundingBox|ellContents|ellElementSpacings|ellElementsBoundingBox|ellFrameStyle|ellInsertionPointCell|ellTrayPosition|ellTrayWidgets|hangeOptions|hannelDatabin|hannelListenerWait|hannelPreSendFunction|hartElementData|hartElementDataFunction|heckAll|heckboxBox|heckboxBoxOptions|ircleBox|lipboardNotebook|lockwiseContourIntegral|losed|losingEvent|loudConnections|loudObjectInformation|loudObjectInformationData|loudUserID|oarse|oefficientDomain|olonForm|olorSetterBox|olorSetterBoxOptions|olumnBackgrounds|ompilerEnvironmentAppend|ompletionsListPacket|omponentwiseContextMenu|ompressedData|oneBox|onicHullRegion3DBox|onicHullRegion3DBoxOptions|onicHullRegionBox|onicHullRegionBoxOptions|onnect|ontentsBoundingBox|ontextMenu|ontinuation|ontourIntegral|ontourSmoothing|ontrolAlignment|ontrollerDuration|ontrollerInformationData|onvertToPostScript|onvertToPostScriptPacket|ookies|opyTag|ounterBox|ounterBoxOptions|ounterClockwiseContourIntegral|ounterEvaluator|ounterStyle|uboidBox|uboidBoxOptions|urlyDoubleQuote|urlyQuote|ylinderBox|ylinderBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`D(?:OSTextFormat|ampingFactor|ataCompression|atasetDisplayPanel|ateDelimiters|ebugTag|ecimal|efault2DTool|efault3DTool|efaultAttachedCellStyle|efaultControlPlacement|efaultDockedCellStyle|efaultInputFormatType|efaultOutputFormatType|efaultStyle|efaultTextFormatType|efaultTextInlineFormatType|efaultValue|efineExternal|egreeLexicographic|egreeReverseLexicographic|eleteWithContents|elimitedArray|estroyAfterEvaluation|eviceOpenQ|ialogIndent|ialogLevel|ifferenceOrder|igitBlockMinimum|isableConsolePrintPacket|iskBox|iskBoxOptions|ispatchQ|isplayRules|isplayTemporary|istributionDomain|ivergence|ocumentGeneratorInformationData|omainRegistrationInformation|oubleContourIntegral|oublyInfinite|own|rawBackFaces|rawFrontFaces|rawHighlighted|ualLinearProgramming|umpGet|ynamicBox|ynamicBoxOptions|ynamicLocation|ynamicModuleBox|ynamicModuleBoxOptions|ynamicModuleParent|ynamicName|ynamicNamespace|ynamicReference|ynamicWrapperBox|ynamicWrapperBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`E(?:ditButtonSettings|liminationOrder|llipticReducedHalfPeriods|mbeddingObject|mphasizeSyntaxErrors|mpty|nableConsolePrintPacket|ndAdd|ngineEnvironment|nter|qualColumns|qualRows|quatedTo|rrorBoxOptions|rrorNorm|rrorPacket|rrorsDialogSettings|valuated|valuationMode|valuationOrder|valuationRateLimit|ventEvaluator|ventHandlerTag|xactRootIsolation|xitDialog|xpectationE|xportPacket|xpressionPacket|xternalCall|xternalFunctionName)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`F(?:EDisableConsolePrintPacket|EEnableConsolePrintPacket|ail|ileInformation|ileName|illForm|illedCurveBox|illedCurveBoxOptions|ine|itAll|lashSelection|ont|ontName|ontOpacity|ontPostScriptName|ontReencoding|ormatRules|ormatValues|rameInset|rameless|rontEndObject|rontEndResource|rontEndResourceString|rontEndStackSize|rontEndValueCache|rontEndVersion|rontFaceColor|rontFaceGlowColor|rontFaceOpacity|rontFaceSpecularColor|rontFaceSpecularExponent|rontFaceSurfaceAppearance|rontFaceTexture|ullAxes)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`G(?:eneratedCellStyles|eneric|eometricTransformation3DBox|eometricTransformation3DBoxOptions|eometricTransformationBox|eometricTransformationBoxOptions|estureHandlerTag|etContext|etFileName|etLinebreakInformationPacket|lobalPreferences|lobalSession|raphLayerLabels|raphRoot|raphics3DBox|raphics3DBoxOptions|raphicsBaseline|raphicsBox|raphicsBoxOptions|raphicsComplex3DBox|raphicsComplex3DBoxOptions|raphicsComplexBox|raphicsComplexBoxOptions|raphicsContents|raphicsData|raphicsGridBox|raphicsGroup3DBox|raphicsGroup3DBoxOptions|raphicsGroupBox|raphicsGroupBoxOptions|raphicsGrouping|raphicsStyle|reekStyle|ridBoxAlignment|ridBoxBackground|ridBoxDividers|ridBoxFrame|ridBoxItemSize|ridBoxItemStyle|ridBoxOptions|ridBoxSpacings|ridElementStyleOptions|roupOpenerColor|roupOpenerInsideFrame|roupTogetherGrouping|roupTogetherNestedGrouping)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`H(?:eadCompose|eaders|elpBrowserLookup|elpBrowserNotebook|elpViewerSettings|essian|exahedronBox|exahedronBoxOptions|ighlightString|omePage|orizontal|orizontalForm|orizontalScrollPosition|yperlinkCreationSettings|yphenationOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`I(?:conizedObject|gnoreSpellCheck|mageCache|mageCacheValid|mageEditMode|mageMarkers|mageOffset|mageRangeCache|mageSizeCache|mageSizeRaw|nactiveStyle|ncludeSingularTerm|ndent|ndentMaxFraction|ndentingNewlineSpacings|ndexCreationOptions|ndexTag|nequality|nexactNumbers|nformationData|nformationDataGrid|nlineCounterAssignments|nlineCounterIncrements|nlineRules|nputFieldBox|nputFieldBoxOptions|nputGrouping|nputSettings|nputToBoxFormPacket|nsertionPointObject|nset3DBox|nset3DBoxOptions|nsetBox|nsetBoxOptions|ntegral|nterlaced|nterpolationPrecision|nterpretTemplate|nterruptSettings|nto|nvisibleApplication|nvisibleTimes|temBox|temBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`J(?:acobian|oinedCurveBox|oinedCurveBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`K(?:|ernelExecute|et)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`L(?:abeledSlider|ambertW|anguageOptions|aunch|ayoutInformation|exicographic|icenseID|ine3DBox|ine3DBoxOptions|ineBox|ineBoxOptions|ineBreak|ineWrapParts|inearFilter|inebreakSemicolonWeighting|inkConnectedQ|inkError|inkFlush|inkHost|inkMode|inkOptions|inkReadHeld|inkService|inkWriteHeld|istPickerBoxBackground|isten|iteralSearch|ocalizeDefinitions|ocatorBox|ocatorBoxOptions|ocatorCentering|ocatorPaneBox|ocatorPaneBoxOptions|ongEqual|ongForm|oopback)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`M(?:achineID|achineName|acintoshSystemPageSetup|ainSolve|aintainDynamicCaches|akeRules|atchLocalNameQ|aterial|athMLText|athematicaNotation|axBend|axPoints|enu|enuAppearance|enuEvaluator|enuItem|enuList|ergeDifferences|essageObject|essageOptions|essagesNotebook|etaCharacters|ethodOptions|inRecursion|inSize|ode|odular|onomialOrder|ouseAppearanceTag|ouseButtons|ousePointerNote|ultiLetterItalics|ultiLetterStyle|ultiplicity|ultiscriptBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`N(?:BernoulliB|ProductFactors|SumTerms|Values|amespaceBox|amespaceBoxOptions|estedScriptRules|etworkPacketRecordingDuring|ext|onAssociative|ormalGrouping|otebookDefault|otebookInterfaceObject)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`O(?:LEData|bjectExistsQ|pen|penFunctionInspectorPacket|penSpecialOptions|penerBox|penerBoxOptions|ptionQ|ptionValueBox|ptionValueBoxOptions|ptionsPacket|utputFormData|utputGrouping|utputMathEditExpression|ver|verlayBox|verlayBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`P(?:ackPaclet|ackage|acletDirectoryAdd|acletDirectoryRemove|acletInformation|acletObjectQ|acletUpdate|ageHeight|alettesMenuSettings|aneBox|aneBoxOptions|aneSelectorBox|aneSelectorBoxOptions|anelBox|anelBoxOptions|aperWidth|arameter|arameterVariables|arentConnect|arentForm|arentList|arenthesize|artialD|asteAutoQuoteCharacters|ausedTime|eriodicInterpolation|erpendicular|ickMode|ickedElements|ivoting|lotRangeClipPlanesStyle|oint3DBox|oint3DBoxOptions|ointBox|ointBoxOptions|olygon3DBox|olygon3DBoxOptions|olygonBox|olygonBoxOptions|olygonHoleScale|olygonScale|olyhedronBox|olyhedronBoxOptions|olynomialForm|olynomials|opupMenuBox|opupMenuBoxOptions|ostScript|recedence|redictionRoot|referencesSettings|revious|rimaryPlaceholder|rintForm|rismBox|rismBoxOptions|rivateFrontEndOptions|robabilityPr|rocessStateDomain|rocessTimeDomain|rogressIndicatorBox|rogressIndicatorBoxOptions|romptForm|yramidBox|yramidBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`R(?:adioButtonBox|adioButtonBoxOptions|andomSeed|angeSpecification|aster3DBox|aster3DBoxOptions|asterBox|asterBoxOptions|ationalFunctions|awArray|awMedium|ebuildPacletData|ectangleBox|ecurringDigitsForm|eferenceMarkerStyle|eferenceMarkers|einstall|emoved|epeatedString|esourceAcquire|esourceSubmissionObject|eturnCreatesNewCell|eturnEntersInput|eturnInputFormPacket|otationBox|otationBoxOptions|oundImplies|owBackgrounds|owHeights|uleCondition|uleForm)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`S(?:aveAutoDelete|caledMousePosition|cheduledTaskInformationData|criptForm|criptRules|ectionGrouping|electWithContents|election|electionCell|electionCellCreateCell|electionCellDefaultStyle|electionCellParentStyle|electionPlaceholder|elfLoops|erviceResponse|etOptionsPacket|etSecuredAuthenticationKey|etbacks|etterBox|etterBoxOptions|howAutoConvert|howCodeAssist|howControls|howGroupOpenCloseIcon|howInvisibleCharacters|howPredictiveInterface|howSyntaxStyles|hrinkWrapBoundingBox|ingleEvaluation|ingleLetterStyle|lider2DBox|lider2DBoxOptions|ocket|olveDelayed|oundAndGraphics|pace|paceForm|panningCharacters|phereBox|phereBoxOptions|tartupSound|tringBreak|tringByteCount|tripStyleOnPaste|trokeForm|tructuredArrayHeadQ|tyleKeyMapping|tyleNames|urfaceAppearance|yntax|ystemException|ystemGet|ystemInformationData|ystemStub|ystemTest)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`T(?:ab|abViewBox|abViewBoxOptions|ableViewBox|ableViewBoxAlignment|ableViewBoxBackground|ableViewBoxHeaders|ableViewBoxItemSize|ableViewBoxItemStyle|ableViewBoxOptions|agBoxNote|agStyle|emplateEvaluate|emplateSlotSequence|emplateUnevaluated|emplateVerbatim|emporaryVariable|ensorQ|etrahedronBox|etrahedronBoxOptions|ext3DBox|ext3DBoxOptions|extBand|extBoundingBox|extBox|extForm|extLine|extParagraph|hisLink|itleGrouping|oColor|oggle|oggleFalse|ogglerBox|ogglerBoxOptions|ooBig|ooltipBox|ooltipBoxOptions|otalHeight|raceAction|raceInternal|raceLevel|rackCellChangeTimes|raditionalNotation|raditionalOrder|ransparentColor|rapEnterKey|rapSelection|ubeBSplineCurveBox|ubeBSplineCurveBoxOptions|ubeBezierCurveBox|ubeBezierCurveBoxOptions|ubeBox|ubeBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`U(?:ntrackedVariables|p|seGraphicsRange|serDefinedWavelet|sing)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`V(?:2Get|alueBox|alueBoxOptions|alueForm|aluesData|ectorGlyphData|erbose|ertical|erticalForm|iewPointSelectorSettings|iewPort|irtualGroupData|isibleCell)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`W(?:aitUntil|ebPageMetaInformation|holeCellGroupOpener|indowPersistentStyles|indowSelected|indowWidth|olframAlphaDate|olframAlphaQuantity|olframAlphaResult|olframCloudSettings)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`\\\\$(?:ActivationGroupID|ActivationUserRegistered|AddOnsDirectory|BoxForms|CloudConnection|CloudVersionNumber|CloudWolframEngineVersionNumber|ConditionHold|DefaultMailbox|DefaultPath|FinancialDataSource|GeoEntityTypes|GeoLocationPrecision|HTMLExportRules|HTTPRequest|LaunchDirectory|LicenseProcesses|LicenseSubprocesses|LicenseType|LinkSupported|LoadedFiles|MaxLicenseProcesses|MaxLicenseSubprocesses|MinorReleaseNumber|NetworkLicense|Off|OutputForms|PatchLevelID|PermissionsGroupBase|PipeSupported|PreferencesDirectory|PrintForms|PrintLiteral|RegisteredDeviceClasses|RegisteredUserName|SecuredAuthenticationKeyTokens|SetParentLink|SoundDisplay|SuppressInputFormHeads|SystemMemory|TraceOff|TraceOn|TracePattern|TracePostAction|TracePreAction|UserAgentLanguages|UserAgentMachine|UserAgentName|UserAgentOperatingSystem|UserAgentVersion|UserName)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"System`A(?:ctiveClassification|ctiveClassificationObject|ctivePrediction|ctivePredictionObject|ddToSearchIndex|ggregatedEntityClass|ggregationLayer|ngleBisector|nimatedImage|nimationVideo|nomalyDetector|ppendLayer|pplication|pplyReaction|round|roundReplace|rrayReduce|sk|skAppend|skConfirm|skDisplay|skFunction|skState|skTemplateDisplay|skedQ|skedValue|ssessmentFunction|ssessmentResultObject|ssumeDeterministic|stroAngularSeparation|stroBackground|stroCenter|stroDistance|stroGraphics|stroGridLines|stroGridLinesStyle|stroPosition|stroProjection|stroRange|stroRangePadding|stroReferenceFrame|stroStyling|stroZoomLevel|tom|tomCoordinates|tomCount|tomDiagramCoordinates|tomLabelStyle|tomLabels|tomList|ttachCell|ttentionLayer|udioAnnotate|udioAnnotationLookup|udioIdentify|udioInstanceQ|udioPause|udioPlay|udioRecord|udioStop|udioStreams??|udioTrackApply|udioTrackSelection|utocomplete|utocompletionFunction|xiomaticTheory|xisLabel|xisObject|xisStyle)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`B(?:asicRecurrentLayer|atchNormalizationLayer|atchSize|ayesianMaximization|ayesianMaximizationObject|ayesianMinimization|ayesianMinimizationObject|esagL|innedVariogramList|inomialPointProcess|ioSequence|ioSequenceBackTranslateList|ioSequenceComplement|ioSequenceInstances|ioSequenceModify|ioSequencePlot|ioSequenceQ|ioSequenceReverseComplement|ioSequenceTranscribe|ioSequenceTranslate|itRate|lockDiagonalMatrix|lockLowerTriangularMatrix|lockUpperTriangularMatrix|lockchainAddressData|lockchainBase|lockchainBlockData|lockchainContractValue|lockchainData|lockchainGet|lockchainKeyEncode|lockchainPut|lockchainTokenData|lockchainTransaction|lockchainTransactionData|lockchainTransactionSign|lockchainTransactionSubmit|ond|ondCount|ondLabelStyle|ondLabels|ondList|ondQ|uildCompiledComponent)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`C(?:TCLossLayer|achePersistence|anvas|ast|ategoricalDistribution|atenateLayer|auchyPointProcess|hannelBase|hannelBrokerAction|hannelHistoryLength|hannelListen|hannelListeners??|hannelObject|hannelReceiverFunction|hannelSend|hannelSubscribers|haracterNormalize|hemicalConvert|hemicalFormula|hemicalInstance|hemicalReaction|loudExpressions??|loudRenderingMethod|ombinatorB|ombinatorC|ombinatorI|ombinatorK|ombinatorS|ombinatorW|ombinatorY|ombinedEntityClass|ompiledCodeFunction|ompiledComponent|ompiledExpressionDeclaration|ompiledLayer|ompilerCallback|ompilerEnvironment|ompilerEnvironmentAppendTo|ompilerEnvironmentObject|ompilerOptions|omplementedEntityClass|omputeUncertainty|onfirmQuiet|onformationMethod|onnectSystemModelComponents|onnectSystemModelController|onnectedMoleculeComponents|onnectedMoleculeQ|onnectionSettings|ontaining|ontentDetectorFunction|ontentFieldOptions|ontentLocationFunction|ontentObject|ontrastiveLossLayer|onvolutionLayer|reateChannel|reateCloudExpression|reateCompilerEnvironment|reateDataStructure|reateDataSystemModel|reateLicenseEntitlement|reateSearchIndex|reateSystemModel|reateTypeInstance|rossEntropyLossLayer|urrentNotebookImage|urrentScreenImage|urryApplied)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`D(?:SolveChangeVariables|ataStructureQ??|atabaseConnect|atabaseDisconnect|atabaseReference|atabinSubmit|ateInterval|eclareCompiledComponent|econvolutionLayer|ecryptFile|eleteChannel|eleteCloudExpression|eleteElements|eleteSearchIndex|erivedKey|iggleGatesPointProcess|iggleGrattonPointProcess|igitalSignature|isableFormatting|ocumentWeightingRules|otLayer|ownValuesFunction|ropoutLayer|ynamicImage)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`E(?:choTiming|lementwiseLayer|mbeddedSQLEntityClass|mbeddedSQLExpression|mbeddingLayer|mptySpaceF|ncryptFile|ntityFunction|ntityStore|stimatedPointProcess|stimatedVariogramModel|valuationEnvironment|valuationPrivileges|xpirationDate|xpressionTree|xtendedEntityClass|xternalEvaluate|xternalFunction|xternalIdentifier|xternalObject|xternalSessionObject|xternalSessions|xternalStorageBase|xternalStorageDownload|xternalStorageGet|xternalStorageObject|xternalStoragePut|xternalStorageUpload|xternalValue|xtractLayer)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`F(?:aceRecognize|eatureDistance|eatureExtract|eatureExtraction|eatureExtractor|eatureExtractorFunction|ileConvert|ileFormatProperties|ileNameToFormatList|ileSystemTree|ilteredEntityClass|indChannels|indEquationalProof|indExternalEvaluators|indGeometricConjectures|indImageText|indIsomers|indMoleculeSubstructure|indPointProcessParameters|indSystemModelEquilibrium|indTextualAnswer|lattenLayer|orAllType|ormControl|orwardCloudCredentials|oxHReduce|rameListVideo|romRawPointer|unctionCompile|unctionCompileExport|unctionCompileExportByteArray|unctionCompileExportLibrary|unctionCompileExportString|unctionDeclaration|unctionLayer|unctionPoles)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`G(?:alleryView|atedRecurrentLayer|enerateDerivedKey|enerateDigitalSignature|enerateFileSignature|enerateSecuredAuthenticationKey|eneratedAssetFormat|eneratedAssetLocation|eoGraphValuePlot|eoOrientationData|eometricAssertion|eometricScene|eometricStep|eometricStylingRules|eometricTest|ibbsPointProcess|raphTree|ridVideo)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`H(?:andlerFunctions|andlerFunctionsKeys|ardcorePointProcess|istogramPointDensity)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`I(?:gnoreIsotopes|gnoreStereochemistry|mageAugmentationLayer|mageBoundingBoxes|mageCases|mageContainsQ|mageContents|mageGraphics|magePosition|magePyramid|magePyramidApply|mageStitch|mportedObject|ncludeAromaticBonds|ncludeHydrogens|ncludeRelatedTables|nertEvaluate|nertExpression|nfiniteFuture|nfinitePast|nhomogeneousPoissonPointProcess|nitialEvaluationHistory|nitializationObjects??|nitializationValue|nitialize|nputPorts|ntegrateChangeVariables|nterfaceSwitched|ntersectedEntityClass|nverseImagePyramid)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`Kernel(?:Configura|Func)tion(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`L(?:earningRateMultipliers|ibraryFunctionDeclaration|icenseEntitlementObject|icenseEntitlements|icensingSettings|inearLayer|iteralType|oadCompiledComponent|ocalResponseNormalizationLayer|ongShortTermMemoryLayer|ossFunction)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`M(?:IMETypeToFormatList|ailExecute|ailFolder|ailItem|ailSearch|ailServerConnect|ailServerConnection|aternPointProcess|axDisplayedChildren|axTrainingRounds|axWordGap|eanAbsoluteLossLayer|eanAround|eanPointDensity|eanSquaredLossLayer|ergingFunction|idpoint|issingValuePattern|issingValueSynthesis|olecule|oleculeAlign|oleculeContainsQ|oleculeDraw|oleculeFreeQ|oleculeGraph|oleculeMatchQ|oleculeMaximumCommonSubstructure|oleculeModify|oleculeName|oleculePattern|oleculePlot|oleculePlot3D|oleculeProperty|oleculeQ|oleculeRecognize|oleculeSubstructureCount|oleculeValue)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`N(?:BodySimulation|BodySimulationData|earestNeighborG|estTree|etAppend|etArray|etArrayLayer|etBidirectionalOperator|etChain|etDecoder|etDelete|etDrop|etEncoder|etEvaluationMode|etExternalObject|etExtract|etFlatten|etFoldOperator|etGANOperator|etGraph|etInitialize|etInsert|etInsertSharedArrays|etJoin|etMapOperator|etMapThreadOperator|etMeasurements|etModel|etNestOperator|etPairEmbeddingOperator|etPort|etPortGradient|etPrepend|etRename|etReplace|etReplacePart|etStateObject|etTake|etTrain|etTrainResultsObject|etUnfold|etworkPacketCapture|etworkPacketRecording|etworkPacketTrace|eymanScottPointProcess|ominalScale|ormalizationLayer|umericArrayQ??|umericArrayType)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`O(?:peratorApplied|rderingLayer|rdinalScale|utputPorts|verlayVideo)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`P(?:acletSymbol|addingLayer|agination|airCorrelationG|arametricRampLayer|arentEdgeLabel|arentEdgeLabelFunction|arentEdgeLabelStyle|arentEdgeShapeFunction|arentEdgeStyle|arentEdgeStyleFunction|artLayer|artProtection|atternFilling|atternReaction|enttinenPointProcess|erpendicularBisector|ersistenceLocation|ersistenceTime|ersistentObjects??|ersistentSymbol|itchRecognize|laceholderLayer|laybackSettings|ointCountDistribution|ointDensity|ointDensityFunction|ointProcessEstimator|ointProcessFitTest|ointProcessParameterAssumptions|ointProcessParameterQ|ointStatisticFunction|ointValuePlot|oissonPointProcess|oolingLayer|rependLayer|roofObject|ublisherID)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`Question(?:Generator|Interface|Object|Selector)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`R(?:andomArrayLayer|andomInstance|andomPointConfiguration|andomTree|eactionBalance|eactionBalancedQ|ecalibrationFunction|egisterExternalEvaluator|elationalDatabase|emoteAuthorizationCaching|emoteBatchJobAbort|emoteBatchJobObject|emoteBatchJobs|emoteBatchMapSubmit|emoteBatchSubmissionEnvironment|emoteBatchSubmit|emoteConnect|emoteConnectionObject|emoteEvaluate|emoteFile|emoteInputFiles|emoteProviderSettings|emoteRun|emoteRunProcess|emovalConditions|emoveAudioStream|emoveChannelListener|emoveChannelSubscribers|emoveVideoStream|eplicateLayer|eshapeLayer|esizeLayer|esourceFunction|esourceRegister|esourceRemove|esourceSubmit|esourceSystemBase|esourceSystemPath|esourceUpdate|esourceVersion|everseApplied|ipleyK|ipleyRassonRegion|ootTree|ulesTree)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`S(?:ameTestProperties|ampledEntityClass|earchAdjustment|earchIndexObject|earchIndices|earchQueryString|earchResultObject|ecuredAuthenticationKeys??|ecurityCertificate|equenceIndicesLayer|equenceLastLayer|equenceMostLayer|equencePredict|equencePredictorFunction|equenceRestLayer|equenceReverseLayer|erviceRequest|erviceSubmit|etFileFormatProperties|etSystemModel|lideShowVideo|moothPointDensity|nippet|nippetsVideo|nubPolyhedron|oftmaxLayer|olidBoundaryLoadValue|olidDisplacementCondition|olidFixedCondition|olidMechanicsPDEComponent|olidMechanicsStrain|olidMechanicsStress|ortedEntityClass|ourceLink|patialBinnedPointData|patialBoundaryCorrection|patialEstimate|patialEstimatorFunction|patialJ|patialNoiseLevel|patialObservationRegionQ|patialPointData|patialPointSelect|patialRandomnessTest|patialTransformationLayer|patialTrendFunction|peakerMatchQ|peechCases|peechInterpreter|peechRecognize|plice|tartExternalSession|tartWebSession|tereochemistryElements|traussHardcorePointProcess|traussPointProcess|ubsetCases|ubsetCount|ubsetPosition|ubsetReplace|ubtitleTrackSelection|ummationLayer|ymmetricDifference|ynthesizeMissingValues|ystemCredential|ystemCredentialData|ystemCredentialKeys??|ystemCredentialStoreObject|ystemInstall|ystemModel|ystemModelExamples|ystemModelLinearize|ystemModelMeasurements|ystemModelParametricSimulate|ystemModelPlot|ystemModelReliability|ystemModelSimulate|ystemModelSimulateSensitivity|ystemModelSimulationData|ystemModeler|ystemModels)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`T(?:ableView|argetDevice|argetSystem|ernaryListPlot|ernaryPlotCorners|extCases|extContents|extElement|extPosition|extSearch|extSearchReport|extStructure|homasPointProcess|hreaded|hreadingLayer|ickDirection|ickLabelOrientation|ickLabelPositioning|ickLabels|ickLengths|ickPositions|oRawPointer|otalLayer|ourVideo|rainImageContentDetector|rainTextContentDetector|rainingProgressCheckpointing|rainingProgressFunction|rainingProgressMeasurements|rainingProgressReporting|rainingStoppingCriterion|rainingUpdateSchedule|ransposeLayer|ree|reeCases|reeChildren|reeCount|reeData|reeDelete|reeDepth|reeElementCoordinates|reeElementLabel|reeElementLabelFunction|reeElementLabelStyle|reeElementShape|reeElementShapeFunction|reeElementSize|reeElementSizeFunction|reeElementStyle|reeElementStyleFunction|reeExpression|reeExtract|reeFold|reeInsert|reeLayout|reeLeafCount|reeLeafQ|reeLeaves|reeLevel|reeMap|reeMapAt|reeOutline|reePosition|reeQ|reeReplacePart|reeRules|reeScan|reeSelect|reeSize|reeTraversalOrder|riangleCenter|riangleConstruct|riangleMeasurement|ypeDeclaration|ypeEvaluate|ypeOf|ypeSpecifier|yped)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`U(?:RLDownloadSubmit|nconstrainedParameters|nionedEntityClass|niqueElements|nitVectorLayer|nlabeledTree|nmanageObject|nregisterExternalEvaluator|pdateSearchIndex|seEmbeddedLibrary)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`V(?:alenceErrorHandling|alenceFilling|aluePreprocessingFunction|andermondeMatrix|arianceGammaPointProcess|ariogramFunction|ariogramModel|ectorAround|erifyDerivedKey|erifyDigitalSignature|erifyFileSignature|erifyInterpretation|ideo|ideoCapture|ideoCombine|ideoDelete|ideoExtractFrames|ideoFrameList|ideoFrameMap|ideoGenerator|ideoInsert|ideoIntervals|ideoJoin|ideoMap|ideoMapList|ideoMapTimeSeries|ideoPadding|ideoPause|ideoPlay|ideoQ|ideoRecord|ideoReplace|ideoScreenCapture|ideoSplit|ideoStop|ideoStreams??|ideoTimeStretch|ideoTrackSelection|ideoTranscode|ideoTransparency|ideoTrim)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`W(?:ebAudioSearch|ebColumn|ebElementObject|ebExecute|ebImage|ebImageSearch|ebItem|ebRow|ebSearch|ebSessionObject|ebSessions|ebWindowObject|ikidataData|ikidataSearch|ikipediaSearch|ithCleanup|ithLock)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`Zoom(?:Center|Factor)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`\\\\$(?:AllowExternalChannelFunctions|AudioDecoders|AudioEncoders|BlockchainBase|ChannelBase|CompilerEnvironment|CookieStore|CryptographicEllipticCurveNames|CurrentWebSession|DataStructures|DefaultNetworkInterface|DefaultProxyRules|DefaultRemoteBatchSubmissionEnvironment|DefaultRemoteKernel|DefaultSystemCredentialStore|ExternalIdentifierTypes|ExternalStorageBase|GeneratedAssetLocation|IncomingMailSettings|Initialization|InitializationContexts|MaxDisplayedChildren|NetworkInterfaces|NoValue|PersistenceBase|PersistencePath|PreInitialization|PublisherID|ResourceSystemBase|ResourceSystemPath|SSHAuthentication|ServiceCreditsAvailable|SourceLink|SubtitleDecoders|SubtitleEncoders|SystemCredentialStore|TargetSystems|TestFileName|VideoDecoders|VideoEncoders|VoiceStyles)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"System`E(?:cho|xit)(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"System`In(?:|String)(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"System`Out(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"System`Print(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"System`Quit(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"System`\\\\$(?:HistoryLength|Line|Post|Pre|PrePrint|PreRead|SyntaxHandler)(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"System`[$[:alpha:]][$[:alnum:]]*(?![$`[:alnum:]])","name":"invalid.illegal.system.wolfram"},{"match":"[$[:alpha:]][$[:alnum:]]*(?:`[$[:alpha:]][$[:alnum:]]*)+(?=\\\\s*(\\\\[(?!\\\\s*\\\\[)|@(?!@)))","name":"variable.function.wolfram"},{"match":"[$[:alpha:]][$[:alnum:]]*(?:`[$[:alpha:]][$[:alnum:]]*)+","name":"symbol.unrecognized.wolfram"},{"match":"[$[:alpha:]][$[:alnum:]]*`","name":"invalid.illegal.wolfram"},{"match":"(?:`[$[:alpha:]][$[:alnum:]]*)+(?=\\\\s*(\\\\[(?!\\\\s*\\\\[)|@(?!@)))","name":"variable.function.wolfram"},{"match":"(?:`[$[:alpha:]][$[:alnum:]]*)+","name":"symbol.unrecognized.wolfram"},{"match":"`","name":"invalid.illegal.wolfram"},{"match":"A(?:ASTriangle|PIFunction|RCHProcess|RIMAProcess|RMAProcess|RProcess|SATriangle|belianGroup|bort|bortKernels|bortProtect|bs|bsArg|bsArgPlot|bsoluteCorrelation|bsoluteCorrelationFunction|bsoluteCurrentValue|bsoluteDashing|bsoluteFileName|bsoluteOptions|bsolutePointSize|bsoluteThickness|bsoluteTime|bsoluteTiming|ccountingForm|ccumulate|ccuracy|cousticAbsorbingValue|cousticImpedanceValue|cousticNormalVelocityValue|cousticPDEComponent|cousticPressureCondition|cousticRadiationValue|cousticSoundHardValue|cousticSoundSoftCondition|ctionMenu|ctivate|cyclicGraphQ|ddSides|ddTo|ddUsers|djacencyGraph|djacencyList|djacencyMatrix|djacentMeshCells|djugate|djustTimeSeriesForecast|djustmentBox|dministrativeDivisionData|ffineHalfSpace|ffineSpace|ffineStateSpaceModel|ffineTransform|irPressureData|irSoundAttenuation|irTemperatureData|ircraftData|irportData|iryAi|iryAiPrime|iryAiZero|iryBi|iryBiPrime|iryBiZero|lgebraicIntegerQ|lgebraicNumber|lgebraicNumberDenominator|lgebraicNumberNorm|lgebraicNumberPolynomial|lgebraicNumberTrace|lgebraicUnitQ|llTrue|lphaChannel|lphabet|lphabeticOrder|lphabeticSort|lternatingFactorial|lternatingGroup|lternatives|mbientLight|mbiguityList|natomyData|natomyPlot3D|natomyStyling|nd|ndersonDarlingTest|ngerJ|ngleBracket|nglePath|nglePath3D|ngleVector|ngularGauge|nimate|nimator|nnotate|nnotation|nnotationDelete|nnotationKeys|nnotationValue|nnuity|nnuityDue|nnulus|nomalyDetection|nomalyDetectorFunction|ntihermitian|ntihermitianMatrixQ|ntisymmetric|ntisymmetricMatrixQ|ntonyms|nyOrder|nySubset|nyTrue|part|partSquareFree|ppellF1|ppend|ppendTo|pply|pplySides|pplyTo|rcCosh??|rcCoth??|rcCsch??|rcCurvature|rcLength|rcSech??|rcSin|rcSinDistribution|rcSinh|rcTanh??|rea|rg|rgMax|rgMin|rgumentsOptions|rithmeticGeometricMean|rray|rrayComponents|rrayDepth|rrayFilter|rrayFlatten|rrayMesh|rrayPad|rrayPlot|rrayPlot3D|rrayQ|rrayResample|rrayReshape|rrayRules|rrays|rrow|rrowheads|ssert|ssociateTo|ssociation|ssociationMap|ssociationQ|ssociationThread|ssuming|symptotic|symptoticDSolveValue|symptoticEqual|symptoticEquivalent|symptoticExpectation|symptoticGreater|symptoticGreaterEqual|symptoticIntegrate|symptoticLess|symptoticLessEqual|symptoticOutputTracker|symptoticProbability|symptoticProduct|symptoticRSolveValue|symptoticSolve|symptoticSum|tomQ|ttributes|udio|udioAmplify|udioBlockMap|udioCapture|udioChannelCombine|udioChannelMix|udioChannelSeparate|udioChannels|udioData|udioDelay|udioDelete|udioDistance|udioFade|udioFrequencyShift|udioGenerator|udioInsert|udioIntervals|udioJoin|udioLength|udioLocalMeasurements|udioLoudness|udioMeasurements|udioNormalize|udioOverlay|udioPad|udioPan|udioPartition|udioPitchShift|udioPlot|udioQ|udioReplace|udioResample|udioReverb|udioReverse|udioSampleRate|udioSpectralMap|udioSpectralTransformation|udioSplit|udioTimeStretch|udioTrim|udioType|ugmentedPolyhedron|ugmentedSymmetricPolynomial|uthenticationDialog|utoRefreshed|utoSubmitting|utocorrelationTest)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"B(?:SplineBasis|SplineCurve|SplineFunction|SplineSurface|abyMonsterGroupB|ackslash|all|and|andpassFilter|andstopFilter|arChart|arChart3D|arLegend|arabasiAlbertGraphDistribution|arcodeImage|arcodeRecognize|aringhausHenzeTest|arlowProschanImportance|arnesG|artlettHannWindow|artlettWindow|aseDecode|aseEncode|aseForm|atesDistribution|attleLemarieWavelet|ecause|eckmannDistribution|eep|egin|eginDialogPacket|eginPackage|ellB|ellY|enfordDistribution|eniniDistribution|enktanderGibratDistribution|enktanderWeibullDistribution|ernoulliB|ernoulliDistribution|ernoulliGraphDistribution|ernoulliProcess|ernsteinBasis|esselFilterModel|esselI|esselJ|esselJZero|esselK|esselY|esselYZero|eta|etaBinomialDistribution|etaDistribution|etaNegativeBinomialDistribution|etaPrimeDistribution|etaRegularized|etween|etweennessCentrality|eveledPolyhedron|ezierCurve|ezierFunction|ilateralFilter|ilateralLaplaceTransform|ilateralZTransform|inCounts|inLists|inarize|inaryDeserialize|inaryDistance|inaryImageQ|inaryRead|inaryReadList|inarySerialize|inaryWrite|inomial|inomialDistribution|inomialProcess|inormalDistribution|iorthogonalSplineWavelet|ipartiteGraphQ|iquadraticFilterModel|irnbaumImportance|irnbaumSaundersDistribution|itAnd|itClear|itGet|itLength|itNot|itOr|itSet|itShiftLeft|itShiftRight|itXor|iweightLocation|iweightMidvariance|lackmanHarrisWindow|lackmanNuttallWindow|lackmanWindow|lank|lankNullSequence|lankSequence|lend|lock|lockMap|lockRandom|lomqvistBeta|lomqvistBetaTest|lur|lurring|odePlot|ohmanWindow|oole|ooleanConsecutiveFunction|ooleanConvert|ooleanCountingFunction|ooleanFunction|ooleanGraph|ooleanMaxterms|ooleanMinimize|ooleanMinterms|ooleanQ|ooleanRegion|ooleanTable|ooleanVariables|orderDimensions|orelTannerDistribution|ottomHatTransform|oundaryDiscretizeGraphics|oundaryDiscretizeRegion|oundaryMesh|oundaryMeshRegionQ??|oundedRegionQ|oundingRegion|oxData|oxMatrix|oxObject|oxWhiskerChart|racketingBar|rayCurtisDistance|readthFirstScan|reak|ridgeData|rightnessEqualize|roadcastStationData|rownForsytheTest|rownianBridgeProcess|ubbleChart|ubbleChart3D|uckyballGraph|uildingData|ulletGauge|usinessDayQ|utterflyGraph|utterworthFilterModel|utton|uttonBar|uttonBox|uttonNotebook|yteArray|yteArrayFormatQ??|yteArrayQ|yteArrayToString|yteCount)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"C(?:|DF|DFDeploy|DFWavelet|Form|MYKColor|SGRegionQ??|SGRegionTree|alendarConvert|alendarData|allPacket|allout|anberraDistance|ancel|ancelButton|andlestickChart|anonicalGraph|anonicalName|anonicalWarpingCorrespondence|anonicalWarpingDistance|anonicalizePolygon|anonicalizePolyhedron|anonicalizeRegion|antorMesh|antorStaircase|ap|apForm|apitalDifferentialD|apitalize|apsuleShape|aputoD|arlemanLinearize|arlsonRC|arlsonRD|arlsonRE|arlsonRF|arlsonRG|arlsonRJ|arlsonRK|arlsonRM|armichaelLambda|aseSensitive|ases|ashflow|asoratian|atalanNumber|atch|atenate|auchyDistribution|auchyMatrix|auchyWindow|ayleyGraph|eiling|ell|ellGroup|ellGroupData|ellObject|ellPrint|ells|ellularAutomaton|ensoredDistribution|ensoring|enterArray|enterDot|enteredInterval|entralFeature|entralMoment|entralMomentGeneratingFunction|epstrogram|epstrogramArray|epstrumArray|hampernowneNumber|hanVeseBinarize|haracterCounts|haracterName|haracterRange|haracteristicFunction|haracteristicPolynomial|haracters|hebyshev1FilterModel|hebyshev2FilterModel|hebyshevT|hebyshevU|heck|heckAbort|heckArguments|heckbox|heckboxBar|hemicalData|hessboardDistance|hiDistribution|hiSquareDistribution|hineseRemainder|hoiceButtons|hoiceDialog|holeskyDecomposition|hop|hromaticPolynomial|hromaticityPlot|hromaticityPlot3D|ircle|ircleDot|ircleMinus|irclePlus|irclePoints|ircleThrough|ircleTimes|irculantGraph|ircularArcThrough|ircularOrthogonalMatrixDistribution|ircularQuaternionMatrixDistribution|ircularRealMatrixDistribution|ircularSymplecticMatrixDistribution|ircularUnitaryMatrixDistribution|ircumsphere|ityData|lassifierFunction|lassifierMeasurements|lassifierMeasurementsObject|lassify|lear|learAll|learAttributes|learCookies|learPermissions|learSystemCache|lebschGordan|lickPane|lickToCopy|lip|lock|lockGauge|lose|loseKernels|losenessCentrality|losing|loudAccountData|loudConnect|loudDeploy|loudDirectory|loudDisconnect|loudEvaluate|loudExport|loudFunction|loudGet|loudImport|loudLoggingData|loudObjects??|loudPublish|loudPut|loudSave|loudShare|loudSubmit|loudSymbol|loudUnshare|lusterClassify|lusteringComponents|lusteringMeasurements|lusteringTree|oefficient|oefficientArrays|oefficientList|oefficientRules|oifletWavelet|ollect|ollinearPoints|olon|olorBalance|olorCombine|olorConvert|olorData|olorDataFunction|olorDetect|olorDistance|olorNegate|olorProfileData|olorQ|olorQuantize|olorReplace|olorSeparate|olorSetter|olorSlider|olorToneMapping|olorize|olorsNear|olumn|ometData|ommonName|ommonUnits|ommonest|ommonestFilter|ommunityGraphPlot|ompanyData|ompatibleUnitQ|ompile|ompiledFunction|omplement|ompleteGraphQ??|ompleteIntegral|ompleteKaryTree|omplex|omplexArrayPlot|omplexContourPlot|omplexExpand|omplexListPlot|omplexPlot|omplexPlot3D|omplexRegionPlot|omplexStreamPlot|omplexVectorPlot|omponentMeasurements|omposeList|omposeSeries|ompositeQ|omposition|ompoundElement|ompoundExpression|ompoundPoissonDistribution|ompoundPoissonProcess|ompoundRenewalProcess|ompress|oncaveHullMesh|ondition|onditionalExpression|onditioned|one|onfirm|onfirmAssert|onfirmBy|onfirmMatch|onformAudio|onformImages|ongruent|onicGradientFilling|onicHullRegion|onicOptimization|onjugate|onjugateTranspose|onjunction|onnectLibraryCallbackFunction|onnectedComponents|onnectedGraphComponents|onnectedGraphQ|onnectedMeshComponents|onnesWindow|onoverTest|onservativeConvectionPDETerm|onstantArray|onstantImage|onstantRegionQ|onstellationData|onstruct|ontainsAll|ontainsAny|ontainsExactly|ontainsNone|ontainsOnly|ontext|ontextToFileName|ontexts|ontinue|ontinuedFractionK??|ontinuousMarkovProcess|ontinuousTask|ontinuousTimeModelQ|ontinuousWaveletData|ontinuousWaveletTransform|ontourDetect|ontourPlot|ontourPlot3D|ontraharmonicMean|ontrol|ontrolActive|ontrollabilityGramian|ontrollabilityMatrix|ontrollableDecomposition|ontrollableModelQ|ontrollerInformation|ontrollerManipulate|ontrollerState|onvectionPDETerm|onvergents|onvexHullMesh|onvexHullRegion|onvexOptimization|onvexPolygonQ|onvexPolyhedronQ|onvexRegionQ|onvolve|onwayGroupCo1|onwayGroupCo2|onwayGroupCo3|oordinateBoundingBox|oordinateBoundingBoxArray|oordinateBounds|oordinateBoundsArray|oordinateChartData|oordinateTransform|oordinateTransformData|oplanarPoints|oprimeQ|oproduct|opulaDistribution|opyDatabin|opyDirectory|opyFile|opyToClipboard|oreNilpotentDecomposition|ornerFilter|orrelation|orrelationDistance|orrelationFunction|orrelationTest|os|osIntegral|osh|oshIntegral|osineDistance|osineWindow|oth??|oulombF|oulombG|oulombH1|oulombH2|ount|ountDistinct|ountDistinctBy|ountRoots|ountryData|ounts|ountsBy|ovariance|ovarianceFunction|oxIngersollRossProcess|oxModel|oxModelFit|oxianDistribution|ramerVonMisesTest|reateArchive|reateDatabin|reateDialog|reateDirectory|reateDocument|reateFile|reateManagedLibraryExpression|reateNotebook|reatePacletArchive|reatePalette|reatePermissionsGroup|reateUUID|reateWindow|riticalSection|riticalityFailureImportance|riticalitySuccessImportance|ross|rossMatrix|rossingCount|rossingDetect|rossingPolygon|sch??|ube|ubeRoot|uboid|umulant|umulantGeneratingFunction|umulativeFeatureImpactPlot|up|upCap|url|urrencyConvert|urrentDate|urrentImage|urrentValue|urvatureFlowFilter|ycleGraph|ycleIndexPolynomial|ycles|yclicGroup|yclotomic|ylinder|ylindricalDecomposition|ylindricalDecompositionFunction)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"D(?:|Eigensystem|Eigenvalues|GaussianWavelet|MSList|MSString|Solve|SolveValue|agumDistribution|amData|amerauLevenshteinDistance|arker|ashing|ataDistribution|atabin|atabinAdd|atabinUpload|atabins|ataset|ateBounds|ateDifference|ateHistogram|ateList|ateListLogPlot|ateListPlot|ateListStepPlot|ateObjectQ??|ateOverlapsQ|atePattern|atePlus|ateRange|ateScale|ateSelect|ateString|ateValue|ateWithinQ|ated|atedUnit|aubechiesWavelet|avisDistribution|awsonF|ayCount|ayHemisphere|ayMatchQ|ayName|ayNightTerminator|ayPlus|ayRange|ayRound|aylightQ|eBruijnGraph|eBruijnSequence|ecapitalize|ecimalForm|eclarePackage|ecompose|ecrement|ecrypt|edekindEta|eepSpaceProbeData|efault|efaultButton|efaultValues|efer|efineInputStreamMethod|efineOutputStreamMethod|efineResourceFunction|efinition|egreeCentrality|egreeGraphDistribution|el|elaunayMesh|elayed|elete|eleteAdjacentDuplicates|eleteAnomalies|eleteBorderComponents|eleteCases|eleteDirectory|eleteDuplicates|eleteDuplicatesBy|eleteFile|eleteMissing|eleteObject|eletePermissionsKey|eleteSmallComponents|eleteStopwords|elimitedSequence|endrogram|enominator|ensityHistogram|ensityPlot|ensityPlot3D|eploy|epth|epthFirstScan|erivative|erivativeFilter|erivativePDETerm|esignMatrix|et|eviceClose|eviceConfigure|eviceExecute|eviceExecuteAsynchronous|eviceObject|eviceOpen|eviceRead|eviceReadBuffer|eviceReadLatest|eviceReadList|eviceReadTimeSeries|eviceStreams|eviceWrite|eviceWriteBuffer|evices|iagonal|iagonalMatrixQ??|iagonalizableMatrixQ|ialog|ialogInput|ialogNotebook|ialogReturn|iamond|iamondMatrix|iceDissimilarity|ictionaryLookup|ictionaryWordQ|ifferenceDelta|ifferenceQuotient|ifferenceRoot|ifferenceRootReduce|ifferences|ifferentialD|ifferentialRoot|ifferentialRootReduce|ifferentiatorFilter|iffusionPDETerm|igitCount|igitQ|ihedralAngle|ihedralGroup|ilation|imensionReduce|imensionReducerFunction|imensionReduction|imensionalCombinations|imensionalMeshComponents|imensions|iracComb|iracDelta|irectedEdge|irectedGraphQ??|irectedInfinity|irectionalLight|irective|irectory|irectoryName|irectoryQ|irectoryStack|irichletBeta|irichletCharacter|irichletCondition|irichletConvolve|irichletDistribution|irichletEta|irichletL|irichletLambda|irichletTransform|irichletWindow|iscreteAsymptotic|iscreteChirpZTransform|iscreteConvolve|iscreteDelta|iscreteHadamardTransform|iscreteIndicator|iscreteInputOutputModel|iscreteLQEstimatorGains|iscreteLQRegulatorGains|iscreteLimit|iscreteLyapunovSolve|iscreteMarkovProcess|iscreteMaxLimit|iscreteMinLimit|iscretePlot|iscretePlot3D|iscreteRatio|iscreteRiccatiSolve|iscreteShift|iscreteTimeModelQ|iscreteUniformDistribution|iscreteWaveletData|iscreteWaveletPacketTransform|iscreteWaveletTransform|iscretizeGraphics|iscretizeRegion|iscriminant|isjointQ|isjunction|isk|iskMatrix|iskSegment|ispatch|isplayEndPacket|isplayForm|isplayPacket|istanceMatrix|istanceTransform|istribute|istributeDefinitions|istributed|istributionChart|istributionFitTest|istributionParameterAssumptions|istributionParameterQ|iv|ivide|ivideBy|ivideSides|ivisible|ivisorSigma|ivisorSum|ivisors|o|ocumentGenerator|ocumentGeneratorInformation|ocumentGenerators|ocumentNotebook|odecahedron|ominantColors|ominatorTreeGraph|ominatorVertexList|ot|otEqual|oubleBracketingBar|oubleDownArrow|oubleLeftArrow|oubleLeftRightArrow|oubleLeftTee|oubleLongLeftArrow|oubleLongLeftRightArrow|oubleLongRightArrow|oubleRightArrow|oubleRightTee|oubleUpArrow|oubleUpDownArrow|oubleVerticalBar|ownArrow|ownArrowBar|ownArrowUpArrow|ownLeftRightVector|ownLeftTeeVector|ownLeftVector|ownLeftVectorBar|ownRightTeeVector|ownRightVector|ownRightVectorBar|ownTee|ownTeeArrow|ownValues|ownsample|razinInverse|rop|ropShadowing|t|ualPlanarGraph|ualPolyhedron|ualSystemsModel|umpSave|uplicateFreeQ|uration|ynamic|ynamicGeoGraphics|ynamicModule|ynamicSetting|ynamicWrapper)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"E(?:arthImpactData|arthquakeData|ccentricityCentrality|choEvaluation|choFunction|choLabel|dgeAdd|dgeBetweennessCentrality|dgeChromaticNumber|dgeConnectivity|dgeContract|dgeCount|dgeCoverQ|dgeCycleMatrix|dgeDelete|dgeDetect|dgeForm|dgeIndex|dgeList|dgeQ|dgeRules|dgeTaggedGraphQ??|dgeTags|dgeTransitiveGraphQ|dgeWeightedGraphQ|ditDistance|ffectiveInterest|igensystem|igenvalues|igenvectorCentrality|igenvectors|lement|lementData|liminate|llipsoid|llipticE|llipticExp|llipticExpPrime|llipticF|llipticFilterModel|llipticK|llipticLog|llipticNomeQ|llipticPi|llipticTheta|llipticThetaPrime|mbedCode|mbeddedHTML|mbeddedService|mitSound|mpiricalDistribution|mptyGraphQ|mptyRegion|nclose|ncode|ncrypt|ncryptedObject|nd|ndDialogPacket|ndPackage|ngineeringForm|nterExpressionPacket|nterTextPacket|ntity|ntityClass|ntityClassList|ntityCopies|ntityGroup|ntityInstance|ntityList|ntityPrefetch|ntityProperties|ntityProperty|ntityPropertyClass|ntityRegister|ntityStores|ntityTypeName|ntityUnregister|ntityValue|ntropy|ntropyFilter|nvironment|qual|qualTilde|qualTo|quilibrium|quirippleFilterKernel|quivalent|rfc??|rfi|rlangB|rlangC|rlangDistribution|rosion|rrorBox|stimatedBackground|stimatedDistribution|stimatedPointNormals|stimatedProcess|stimatorGains|stimatorRegulator|uclideanDistance|ulerAngles|ulerCharacteristic|ulerE|ulerMatrix|ulerPhi|ulerianGraphQ|valuate|valuatePacket|valuationBox|valuationCell|valuationData|valuationNotebook|valuationObject|venQ|ventData|ventHandler|ventSeries|xactBlackmanWindow|xactNumberQ|xampleData|xcept|xists|xoplanetData|xp|xpGammaDistribution|xpIntegralEi??|xpToTrig|xpand|xpandAll|xpandDenominator|xpandFileName|xpandNumerator|xpectation|xponent|xponentialDistribution|xponentialGeneratingFunction|xponentialMovingAverage|xponentialPowerDistribution|xport|xportByteArray|xportForm|xportString|xpressionCell|xpressionGraph|xtendedGCD|xternalBundle|xtract|xtractArchive|xtractPacletArchive|xtremeValueDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"F(?:ARIMAProcess|RatioDistribution|aceAlign|aceForm|acialFeatures|actor|actorInteger|actorList|actorSquareFree|actorSquareFreeList|actorTerms|actorTermsList|actorial2??|actorialMoment|actorialMomentGeneratingFunction|actorialPower|ailure|ailureDistribution|ailureQ|areySequence|eatureImpactPlot|eatureNearest|eatureSpacePlot|eatureSpacePlot3D|eatureValueDependencyPlot|eatureValueImpactPlot|eedbackLinearize|etalGrowthData|ibonacci|ibonorial|ile|ileBaseName|ileByteCount|ileDate|ileExistsQ|ileExtension|ileFormatQ??|ileHash|ileNameDepth|ileNameDrop|ileNameJoin|ileNameSetter|ileNameSplit|ileNameTake|ileNames|ilePrint|ileSize|ileSystemMap|ileSystemScan|ileTemplate|ileTemplateApply|ileType|illedCurve|illedTorus|illingTransform|ilterRules|inancialBond|inancialData|inancialDerivative|inancialIndicator|ind|indAnomalies|indArgMax|indArgMin|indClique|indClusters|indCookies|indCurvePath|indCycle|indDevices|indDistribution|indDistributionParameters|indDivisions|indEdgeColoring|indEdgeCover|indEdgeCut|indEdgeIndependentPaths|indEulerianCycle|indFaces|indFile|indFit|indFormula|indFundamentalCycles|indGeneratingFunction|indGeoLocation|indGeometricTransform|indGraphCommunities|indGraphIsomorphism|indGraphPartition|indHamiltonianCycle|indHamiltonianPath|indHiddenMarkovStates|indIndependentEdgeSet|indIndependentVertexSet|indInstance|indIntegerNullVector|indIsomorphicSubgraph|indKClan|indKClique|indKClub|indKPlex|indLibrary|indLinearRecurrence|indList|indMatchingColor|indMaxValue|indMaximum|indMaximumCut|indMaximumFlow|indMeshDefects|indMinValue|indMinimum|indMinimumCostFlow|indMinimumCut|indPath|indPeaks|indPermutation|indPlanarColoring|indPostmanTour|indProcessParameters|indRegionTransform|indRepeat|indRoot|indSequenceFunction|indShortestPath|indShortestTour|indSpanningTree|indSubgraphIsomorphism|indThreshold|indTransientRepeat|indVertexColoring|indVertexCover|indVertexCut|indVertexIndependentPaths|inishDynamic|initeAbelianGroupCount|initeGroupCount|initeGroupData|irst|irstCase|irstPassageTimeDistribution|irstPosition|ischerGroupFi22|ischerGroupFi23|ischerGroupFi24Prime|isherHypergeometricDistribution|isherRatioTest|isherZDistribution|it|ittedModel|ixedOrder|ixedPoint|ixedPointList|latShading|latTopWindow|latten|lattenAt|lightData|lipView|loor|lowPolynomial|old|oldList|oldPair|oldPairList|oldWhile|oldWhileList|or|orAll|ormBox|ormFunction|ormObject|ormPage|ormat|ormulaData|ormulaLookup|ortranForm|ourier|ourierCoefficient|ourierCosCoefficient|ourierCosSeries|ourierCosTransform|ourierDCT|ourierDCTFilter|ourierDCTMatrix|ourierDST|ourierDSTMatrix|ourierMatrix|ourierSequenceTransform|ourierSeries|ourierSinCoefficient|ourierSinSeries|ourierSinTransform|ourierTransform|ourierTrigSeries|oxH|ractionBox|ractionalBrownianMotionProcess|ractionalD|ractionalGaussianNoiseProcess|ractionalPart|rameBox|ramed|rechetDistribution|reeQ|renetSerretSystem|requencySamplingFilterKernel|resnelC|resnelF|resnelG|resnelS|robeniusNumber|robeniusSolve|romAbsoluteTime|romCharacterCode|romCoefficientRules|romContinuedFraction|romDMS|romDateString|romDigits|romEntity|romJulianDate|romLetterNumber|romPolarCoordinates|romRomanNumeral|romSphericalCoordinates|romUnixTime|rontEndExecute|rontEndToken|rontEndTokenExecute|ullDefinition|ullForm|ullGraphics|ullInformationOutputRegulator|ullRegion|ullSimplify|unction|unctionAnalytic|unctionBijective|unctionContinuous|unctionConvexity|unctionDiscontinuities|unctionDomain|unctionExpand|unctionInjective|unctionInterpolation|unctionMeromorphic|unctionMonotonicity|unctionPeriod|unctionRange|unctionSign|unctionSingularities|unctionSurjective|ussellVeselyImportance)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"G(?:ARCHProcess|CD|aborFilter|aborMatrix|aborWavelet|ainMargins|ainPhaseMargins|alaxyData|amma|ammaDistribution|ammaRegularized|ather|atherBy|aussianFilter|aussianMatrix|aussianOrthogonalMatrixDistribution|aussianSymplecticMatrixDistribution|aussianUnitaryMatrixDistribution|aussianWindow|egenbauerC|eneralizedLinearModelFit|enerateAsymmetricKeyPair|enerateDocument|enerateHTTPResponse|enerateSymmetricKey|eneratingFunction|enericCylindricalDecomposition|enomeData|enomeLookup|eoAntipode|eoArea|eoBoundary|eoBoundingBox|eoBounds|eoBoundsRegion|eoBoundsRegionBoundary|eoBubbleChart|eoCircle|eoContourPlot|eoDensityPlot|eoDestination|eoDirection|eoDisk|eoDisplacement|eoDistance|eoDistanceList|eoElevationData|eoEntities|eoGraphPlot|eoGraphics|eoGridDirectionDifference|eoGridPosition|eoGridUnitArea|eoGridUnitDistance|eoGridVector|eoGroup|eoHemisphere|eoHemisphereBoundary|eoHistogram|eoIdentify|eoImage|eoLength|eoListPlot|eoMarker|eoNearest|eoPath|eoPolygon|eoPosition|eoPositionENU|eoPositionXYZ|eoProjectionData|eoRegionValuePlot|eoSmoothHistogram|eoStreamPlot|eoStyling|eoVariant|eoVector|eoVectorENU|eoVectorPlot|eoVectorXYZ|eoVisibleRegion|eoVisibleRegionBoundary|eoWithinQ|eodesicClosing|eodesicDilation|eodesicErosion|eodesicOpening|eodesicPolyhedron|eodesyData|eogravityModelData|eologicalPeriodData|eomagneticModelData|eometricBrownianMotionProcess|eometricDistribution|eometricMean|eometricMeanFilter|eometricOptimization|eometricTransformation|estureHandler|et|etEnvironment|lobalClusteringCoefficient|low|ompertzMakehamDistribution|oochShading|oodmanKruskalGamma|oodmanKruskalGammaTest|oto|ouraudShading|rad|radientFilter|radientFittedMesh|radientOrientationFilter|rammarApply|rammarRules|rammarToken|raph|raph3D|raphAssortativity|raphAutomorphismGroup|raphCenter|raphComplement|raphData|raphDensity|raphDiameter|raphDifference|raphDisjointUnion|raphDistance|raphDistanceMatrix|raphEmbedding|raphHub|raphIntersection|raphJoin|raphLinkEfficiency|raphPeriphery|raphPlot|raphPlot3D|raphPower|raphProduct|raphPropertyDistribution|raphQ|raphRadius|raphReciprocity|raphSum|raphUnion|raphics|raphics3D|raphicsColumn|raphicsComplex|raphicsGrid|raphicsGroup|raphicsRow|rayLevel|reater|reaterEqual|reaterEqualLess|reaterEqualThan|reaterFullEqual|reaterGreater|reaterLess|reaterSlantEqual|reaterThan|reaterTilde|reenFunction|rid|ridBox|ridGraph|roebnerBasis|roupBy|roupCentralizer|roupElementFromWord|roupElementPosition|roupElementQ|roupElementToWord|roupElements|roupGenerators|roupMultiplicationTable|roupOrbits|roupOrder|roupSetwiseStabilizer|roupStabilizer|roupStabilizerChain|roupings|rowCutComponents|udermannian|uidedFilter|umbelDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"H(?:ITSCentrality|TTPErrorResponse|TTPRedirect|TTPRequest|TTPRequestData|TTPResponse|aarWavelet|adamardMatrix|alfLine|alfNormalDistribution|alfPlane|alfSpace|alftoneShading|amiltonianGraphQ|ammingDistance|ammingWindow|ankelH1|ankelH2|ankelMatrix|ankelTransform|annPoissonWindow|annWindow|aradaNortonGroupHN|araryGraph|armonicMean|armonicMeanFilter|armonicNumber|ash|atchFilling|atchShading|aversine|azardFunction|ead|eatFluxValue|eatInsulationValue|eatOutflowValue|eatRadiationValue|eatSymmetryValue|eatTemperatureCondition|eatTransferPDEComponent|eatTransferValue|eavisideLambda|eavisidePi|eavisideTheta|eldGroupHe|elmholtzPDEComponent|ermiteDecomposition|ermiteH|ermitian|ermitianMatrixQ|essenbergDecomposition|eunB|eunBPrime|eunC|eunCPrime|eunD|eunDPrime|eunG|eunGPrime|eunT|eunTPrime|exahedron|iddenMarkovProcess|ighlightGraph|ighlightImage|ighlightMesh|ighlighted|ighpassFilter|igmanSimsGroupHS|ilbertCurve|ilbertFilter|ilbertMatrix|istogram|istogram3D|istogramDistribution|istogramList|istogramTransform|istogramTransformInterpolation|istoricalPeriodData|itMissTransform|jorthDistribution|odgeDual|oeffdingD|oeffdingDTest|old|oldComplete|oldForm|oldPattern|orizontalGauge|ornerForm|ostLookup|otellingTSquareDistribution|oytDistribution|ue|umanGrowthData|umpDownHump|umpEqual|urwitzLerchPhi|urwitzZeta|yperbolicDistribution|ypercubeGraph|yperexponentialDistribution|yperfactorial|ypergeometric0F1|ypergeometric0F1Regularized|ypergeometric1F1|ypergeometric1F1Regularized|ypergeometric2F1|ypergeometric2F1Regularized|ypergeometricDistribution|ypergeometricPFQ|ypergeometricPFQRegularized|ypergeometricU|yperlink|yperplane|ypoexponentialDistribution|ypothesisTestData)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"I(?:PAddress|conData|conize|cosahedron|dentity|dentityMatrix|f|fCompiled|gnoringInactive|m|mage|mage3D|mage3DProjection|mage3DSlices|mageAccumulate|mageAdd|mageAdjust|mageAlign|mageApply|mageApplyIndexed|mageAspectRatio|mageAssemble|mageCapture|mageChannels|mageClip|mageCollage|mageColorSpace|mageCompose|mageConvolve|mageCooccurrence|mageCorners|mageCorrelate|mageCorrespondingPoints|mageCrop|mageData|mageDeconvolve|mageDemosaic|mageDifference|mageDimensions|mageDisplacements|mageDistance|mageEffect|mageExposureCombine|mageFeatureTrack|mageFileApply|mageFileFilter|mageFileScan|mageFilter|mageFocusCombine|mageForestingComponents|mageForwardTransformation|mageHistogram|mageIdentify|mageInstanceQ|mageKeypoints|mageLevels|mageLines|mageMarker|mageMeasurements|mageMesh|mageMultiply|magePad|magePartition|magePeriodogram|magePerspectiveTransformation|mageQ|mageRecolor|mageReflect|mageResize|mageRestyle|mageRotate|mageSaliencyFilter|mageScaled|mageScan|mageSubtract|mageTake|mageTransformation|mageTrim|mageType|mageValue|mageValuePositions|mageVectorscopePlot|mageWaveformPlot|mplicitD|mplicitRegion|mplies|mport|mportByteArray|mportString|mprovementImportance|nactivate|nactive|ncidenceGraph|ncidenceList|ncidenceMatrix|ncrement|ndefiniteMatrixQ|ndependenceTest|ndependentEdgeSetQ|ndependentPhysicalQuantity|ndependentUnit|ndependentUnitDimension|ndependentVertexSetQ|ndexEdgeTaggedGraph|ndexGraph|ndexed|nexactNumberQ|nfiniteLine|nfiniteLineThrough|nfinitePlane|nfix|nflationAdjust|nformation|nhomogeneousPoissonProcess|nner|nnerPolygon|nnerPolyhedron|npaint|nput|nputField|nputForm|nputNamePacket|nputNotebook|nputPacket|nputStream|nputString|nputStringPacket|nsert|nsertLinebreaks|nset|nsphere|nstall|nstallService|ntegerDigits|ntegerExponent|ntegerLength|ntegerName|ntegerPart|ntegerPartitions|ntegerQ|ntegerReverse|ntegerString|ntegrate|nteractiveTradingChart|nternallyBalancedDecomposition|nterpolatingFunction|nterpolatingPolynomial|nterpolation|nterpretation|nterpretationBox|nterpreter|nterquartileRange|nterrupt|ntersectingQ|ntersection|nterval|ntervalIntersection|ntervalMemberQ|ntervalSlider|ntervalUnion|nverse|nverseBetaRegularized|nverseBilateralLaplaceTransform|nverseBilateralZTransform|nverseCDF|nverseChiSquareDistribution|nverseContinuousWaveletTransform|nverseDistanceTransform|nverseEllipticNomeQ|nverseErfc??|nverseFourier|nverseFourierCosTransform|nverseFourierSequenceTransform|nverseFourierSinTransform|nverseFourierTransform|nverseFunction|nverseGammaDistribution|nverseGammaRegularized|nverseGaussianDistribution|nverseGudermannian|nverseHankelTransform|nverseHaversine|nverseJacobiCD|nverseJacobiCN|nverseJacobiCS|nverseJacobiDC|nverseJacobiDN|nverseJacobiDS|nverseJacobiNC|nverseJacobiND|nverseJacobiNS|nverseJacobiSC|nverseJacobiSD|nverseJacobiSN|nverseLaplaceTransform|nverseMellinTransform|nversePermutation|nverseRadon|nverseRadonTransform|nverseSeries|nverseShortTimeFourier|nverseSpectrogram|nverseSurvivalFunction|nverseTransformedRegion|nverseWaveletTransform|nverseWeierstrassP|nverseWishartMatrixDistribution|nverseZTransform|nvisible|rreduciblePolynomialQ|slandData|solatingInterval|somorphicGraphQ|somorphicSubgraphQ|sotopeData|tem|toProcess)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"J(?:accardDissimilarity|acobiAmplitude|acobiCD|acobiCN|acobiCS|acobiDC|acobiDN|acobiDS|acobiEpsilon|acobiNC|acobiND|acobiNS|acobiP|acobiSC|acobiSD|acobiSN|acobiSymbol|acobiZN|acobiZeta|ankoGroupJ1|ankoGroupJ2|ankoGroupJ3|ankoGroupJ4|arqueBeraALMTest|ohnsonDistribution|oin|oinAcross|oinForm|oinedCurve|ordanDecomposition|ordanModelDecomposition|uliaSetBoettcher|uliaSetIterationCount|uliaSetPlot|uliaSetPoints|ulianDate)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"K(?:CoreComponents|Distribution|EdgeConnectedComponents|EdgeConnectedGraphQ|VertexConnectedComponents|VertexConnectedGraphQ|agiChart|aiserBesselWindow|aiserWindow|almanEstimator|almanFilter|arhunenLoeveDecomposition|aryTree|atzCentrality|elvinBei|elvinBer|elvinKei|elvinKer|endallTau|endallTauTest|ernelMixtureDistribution|ernelObject|ernels|ey|eyComplement|eyDrop|eyDropFrom|eyExistsQ|eyFreeQ|eyIntersection|eyMap|eyMemberQ|eySelect|eySort|eySortBy|eyTake|eyUnion|eyValueMap|eyValuePattern|eys|illProcess|irchhoffGraph|irchhoffMatrix|leinInvariantJ|napsackSolve|nightTourGraph|notData|nownUnitQ|ochCurve|olmogorovSmirnovTest|roneckerDelta|roneckerModelDecomposition|roneckerProduct|roneckerSymbol|uiperTest|umaraswamyDistribution|urtosis|uwaharaFilter)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"L(?:ABColor|CHColor|CM|QEstimatorGains|QGRegulator|QOutputRegulatorGains|QRegulatorGains|UDecomposition|UVColor|abel|abeled|aguerreL|akeData|ambdaComponents|ameC|ameCPrime|ameEigenvalueA|ameEigenvalueB|ameS|ameSPrime|aminaData|anczosWindow|andauDistribution|anguageData|anguageIdentify|aplaceDistribution|aplaceTransform|aplacian|aplacianFilter|aplacianGaussianFilter|aplacianPDETerm|ast|atitude|atitudeLongitude|atticeData|atticeReduce|aunchKernels|ayeredGraphPlot|ayeredGraphPlot3D|eafCount|eapVariant|eapYearQ|earnDistribution|earnedDistribution|eastSquares|eastSquaresFilterKernel|eftArrow|eftArrowBar|eftArrowRightArrow|eftDownTeeVector|eftDownVector|eftDownVectorBar|eftRightArrow|eftRightVector|eftTee|eftTeeArrow|eftTeeVector|eftTriangle|eftTriangleBar|eftTriangleEqual|eftUpDownVector|eftUpTeeVector|eftUpVector|eftUpVectorBar|eftVector|eftVectorBar|egended|egendreP|egendreQ|ength|engthWhile|erchPhi|ess|essEqual|essEqualGreater|essEqualThan|essFullEqual|essGreater|essLess|essSlantEqual|essThan|essTilde|etterCounts|etterNumber|etterQ|evel|eveneTest|eviCivitaTensor|evyDistribution|exicographicOrder|exicographicSort|ibraryDataType|ibraryFunction|ibraryFunctionError|ibraryFunctionInformation|ibraryFunctionLoad|ibraryFunctionUnload|ibraryLoad|ibraryUnload|iftingFilterData|iftingWaveletTransform|ighter|ikelihood|imit|indleyDistribution|ine|ineBreakChart|ineGraph|ineIntegralConvolutionPlot|ineLegend|inearFractionalOptimization|inearFractionalTransform|inearGradientFilling|inearGradientImage|inearModelFit|inearOptimization|inearRecurrence|inearSolve|inearSolveFunction|inearizingTransformationData|inkActivate|inkClose|inkConnect|inkCreate|inkInterrupt|inkLaunch|inkObject|inkPatterns|inkRankCentrality|inkRead|inkReadyQ|inkWrite|inks|iouvilleLambda|ist|istAnimate|istContourPlot|istContourPlot3D|istConvolve|istCorrelate|istCurvePathPlot|istDeconvolve|istDensityPlot|istDensityPlot3D|istFourierSequenceTransform|istInterpolation|istLineIntegralConvolutionPlot|istLinePlot|istLinePlot3D|istLogLinearPlot|istLogLogPlot|istLogPlot|istPicker|istPickerBox|istPlay|istPlot|istPlot3D|istPointPlot3D|istPolarPlot|istQ|istSliceContourPlot3D|istSliceDensityPlot3D|istSliceVectorPlot3D|istStepPlot|istStreamDensityPlot|istStreamPlot|istStreamPlot3D|istSurfacePlot3D|istVectorDensityPlot|istVectorDisplacementPlot|istVectorDisplacementPlot3D|istVectorPlot|istVectorPlot3D|istZTransform|ocalAdaptiveBinarize|ocalCache|ocalClusteringCoefficient|ocalEvaluate|ocalObjects??|ocalSubmit|ocalSymbol|ocalTime|ocalTimeZone|ocationEquivalenceTest|ocationTest|ocator|ocatorPane|og|og10|og2|ogBarnesG|ogGamma|ogGammaDistribution|ogIntegral|ogLikelihood|ogLinearPlot|ogLogPlot|ogLogisticDistribution|ogMultinormalDistribution|ogNormalDistribution|ogPlot|ogRankTest|ogSeriesDistribution|ogicalExpand|ogisticDistribution|ogisticSigmoid|ogitModelFit|ongLeftArrow|ongLeftRightArrow|ongRightArrow|ongest|ongestCommonSequence|ongestCommonSequencePositions|ongestCommonSubsequence|ongestCommonSubsequencePositions|ongestOrderedSequence|ongitude|ookup|oopFreeGraphQ|owerCaseQ|owerLeftArrow|owerRightArrow|owerTriangularMatrixQ??|owerTriangularize|owpassFilter|ucasL|uccioSamiComponents|unarEclipse|yapunovSolve|yonsGroupLy)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"M(?:AProcess|achineNumberQ|agnify|ailReceiverFunction|ajority|akeBoxes|akeExpression|anagedLibraryExpressionID|anagedLibraryExpressionQ|andelbrotSetBoettcher|andelbrotSetDistance|andelbrotSetIterationCount|andelbrotSetMemberQ|andelbrotSetPlot|angoldtLambda|anhattanDistance|anipulate|anipulator|annWhitneyTest|annedSpaceMissionData|antissaExponent|ap|apAll|apApply|apAt|apIndexed|apThread|archenkoPasturDistribution|arcumQ|ardiaCombinedTest|ardiaKurtosisTest|ardiaSkewnessTest|arginalDistribution|arkovProcessProperties|assConcentrationCondition|assFluxValue|assImpermeableBoundaryValue|assOutflowValue|assSymmetryValue|assTransferValue|assTransportPDEComponent|atchQ|atchingDissimilarity|aterialShading|athMLForm|athematicalFunctionData|athieuC|athieuCPrime|athieuCharacteristicA|athieuCharacteristicB|athieuCharacteristicExponent|athieuGroupM11|athieuGroupM12|athieuGroupM22|athieuGroupM23|athieuGroupM24|athieuS|athieuSPrime|atrices|atrixExp|atrixForm|atrixFunction|atrixLog|atrixNormalDistribution|atrixPlot|atrixPower|atrixPropertyDistribution|atrixQ|atrixRank|atrixTDistribution|ax|axDate|axDetect|axFilter|axLimit|axMemoryUsed|axStableDistribution|axValue|aximalBy|aximize|axwellDistribution|cLaughlinGroupMcL|ean|eanClusteringCoefficient|eanDegreeConnectivity|eanDeviation|eanFilter|eanGraphDistance|eanNeighborDegree|eanShift|eanShiftFilter|edian|edianDeviation|edianFilter|edicalTestData|eijerG|eijerGReduce|eixnerDistribution|ellinConvolve|ellinTransform|emberQ|emoryAvailable|emoryConstrained|emoryInUse|engerMesh|enuPacket|enuView|erge|ersennePrimeExponentQ??|eshCellCount|eshCellIndex|eshCells|eshConnectivityGraph|eshCoordinates|eshPrimitives|eshRegionQ??|essage|essageDialog|essageList|essageName|essagePacket|essages|eteorShowerData|exicanHatWavelet|eyerWavelet|in|inDate|inDetect|inFilter|inLimit|inMax|inStableDistribution|inValue|ineralData|inimalBy|inimalPolynomial|inimalStateSpaceModel|inimize|inimumTimeIncrement|inkowskiQuestionMark|inorPlanetData|inors|inus|inusPlus|issingQ??|ittagLefflerE|ixedFractionParts|ixedGraphQ|ixedMagnitude|ixedRadix|ixedRadixQuantity|ixedUnit|ixtureDistribution|od|odelPredictiveController|odularInverse|odularLambda|odule|oebiusMu|oment|omentConvert|omentEvaluate|omentGeneratingFunction|omentOfInertia|onitor|onomialList|onsterGroupM|oonPhase|oonPosition|orletWavelet|orphologicalBinarize|orphologicalBranchPoints|orphologicalComponents|orphologicalEulerNumber|orphologicalGraph|orphologicalPerimeter|orphologicalTransform|ortalityData|ost|ountainData|ouseAnnotation|ouseAppearance|ousePosition|ouseover|ovieData|ovingAverage|ovingMap|ovingMedian|oyalDistribution|ulticolumn|ultigraphQ|ultinomial|ultinomialDistribution|ultinormalDistribution|ultiplicativeOrder|ultiplySides|ultivariateHypergeometricDistribution|ultivariatePoissonDistribution|ultivariateTDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"N(?:|ArgMax|ArgMin|Cache|CaputoD|DEigensystem|DEigenvalues|DSolve|DSolveValue|Expectation|FractionalD|Integrate|MaxValue|Maximize|MinValue|Minimize|Probability|Product|Roots|Solve|SolveValues|Sum|akagamiDistribution|ameQ|ames|and|earest|earestFunction|earestMeshCells|earestNeighborGraph|earestTo|ebulaData|eedlemanWunschSimilarity|eeds|egative|egativeBinomialDistribution|egativeDefiniteMatrixQ|egativeMultinomialDistribution|egativeSemidefiniteMatrixQ|egativelyOrientedPoints|eighborhoodData|eighborhoodGraph|est|estGraph|estList|estWhile|estWhileList|estedGreaterGreater|estedLessLess|eumannValue|evilleThetaC|evilleThetaD|evilleThetaN|evilleThetaS|extCell|extDate|extPrime|icholsPlot|ightHemisphere|onCommutativeMultiply|onNegative|onPositive|oncentralBetaDistribution|oncentralChiSquareDistribution|oncentralFRatioDistribution|oncentralStudentTDistribution|ondimensionalizationTransform|oneTrue|onlinearModelFit|onlinearStateSpaceModel|onlocalMeansFilter|or|orlundB|orm|ormal|ormalDistribution|ormalMatrixQ|ormalize|ormalizedSquaredEuclideanDistance|ot|otCongruent|otCupCap|otDoubleVerticalBar|otElement|otEqualTilde|otExists|otGreater|otGreaterEqual|otGreaterFullEqual|otGreaterGreater|otGreaterLess|otGreaterSlantEqual|otGreaterTilde|otHumpDownHump|otHumpEqual|otLeftTriangle|otLeftTriangleBar|otLeftTriangleEqual|otLess|otLessEqual|otLessFullEqual|otLessGreater|otLessLess|otLessSlantEqual|otLessTilde|otNestedGreaterGreater|otNestedLessLess|otPrecedes|otPrecedesEqual|otPrecedesSlantEqual|otPrecedesTilde|otReverseElement|otRightTriangle|otRightTriangleBar|otRightTriangleEqual|otSquareSubset|otSquareSubsetEqual|otSquareSuperset|otSquareSupersetEqual|otSubset|otSubsetEqual|otSucceeds|otSucceedsEqual|otSucceedsSlantEqual|otSucceedsTilde|otSuperset|otSupersetEqual|otTilde|otTildeEqual|otTildeFullEqual|otTildeTilde|otVerticalBar|otebook|otebookApply|otebookClose|otebookDelete|otebookDirectory|otebookEvaluate|otebookFileName|otebookFind|otebookGet|otebookImport|otebookInformation|otebookLocate|otebookObject|otebookOpen|otebookPrint|otebookPut|otebookRead|otebookSave|otebookSelection|otebookTemplate|otebookWrite|otebooks|othing|uclearExplosionData|uclearReactorData|ullSpace|umberCompose|umberDecompose|umberDigit|umberExpand|umberFieldClassNumber|umberFieldDiscriminant|umberFieldFundamentalUnits|umberFieldIntegralBasis|umberFieldNormRepresentatives|umberFieldRegulator|umberFieldRootsOfUnity|umberFieldSignature|umberForm|umberLinePlot|umberQ|umerator|umeratorDenominator|umericQ|umericalOrder|umericalSort|uttallWindow|yquistPlot)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"O(?:|NanGroupON|bservabilityGramian|bservabilityMatrix|bservableDecomposition|bservableModelQ|ceanData|ctahedron|ddQ|ff|ffset|n|nce|pacity|penAppend|penRead|penWrite|pener|penerView|pening|perate|ptimumFlowData|ptionValue|ptional|ptionalElement|ptions|ptionsPattern|r|rder|rderDistribution|rderedQ|rdering|rderingBy|rderlessPatternSequence|rnsteinUhlenbeckProcess|rthogonalMatrixQ|rthogonalize|uter|uterPolygon|uterPolyhedron|utputControllabilityMatrix|utputControllableModelQ|utputForm|utputNamePacket|utputResponse|utputStream|verBar|verDot|verHat|verTilde|verVector|verflow|verlay|verscript|verscriptBox|wenT|wnValues)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"P(?:DF|ERTDistribution|IDTune|acletDataRebuild|acletDirectoryLoad|acletDirectoryUnload|acletDisable|acletEnable|acletFind|acletFindRemote|acletInstall|acletInstallSubmit|acletNewerQ|acletObject|acletSiteObject|acletSiteRegister|acletSiteUnregister|acletSiteUpdate|acletSites|acletUninstall|adLeft|adRight|addedForm|adeApproximant|ageRankCentrality|airedBarChart|airedHistogram|airedSmoothHistogram|airedTTest|airedZTest|aletteNotebook|alindromeQ|ane|aneSelector|anel|arabolicCylinderD|arallelArray|arallelAxisPlot|arallelCombine|arallelDo|arallelEvaluate|arallelKernels|arallelMap|arallelNeeds|arallelProduct|arallelSubmit|arallelSum|arallelTable|arallelTry|arallelepiped|arallelize|arallelogram|arameterMixtureDistribution|arametricConvexOptimization|arametricFunction|arametricNDSolve|arametricNDSolveValue|arametricPlot|arametricPlot3D|arametricRegion|arentBox|arentCell|arentDirectory|arentNotebook|aretoDistribution|aretoPickandsDistribution|arkData|art|artOfSpeech|artialCorrelationFunction|articleAcceleratorData|articleData|artition|artitionsP|artitionsQ|arzenWindow|ascalDistribution|aste|asteButton|athGraphQ??|attern|atternSequence|atternTest|aulWavelet|auliMatrix|ause|eakDetect|eanoCurve|earsonChiSquareTest|earsonCorrelationTest|earsonDistribution|ercentForm|erfectNumberQ??|erimeter|eriodicBoundaryCondition|eriodogram|eriodogramArray|ermanent|ermissionsGroup|ermissionsGroupMemberQ|ermissionsGroups|ermissionsKeys??|ermutationCyclesQ??|ermutationGroup|ermutationLength|ermutationListQ??|ermutationMatrix|ermutationMax|ermutationMin|ermutationOrder|ermutationPower|ermutationProduct|ermutationReplace|ermutationSupport|ermutations|ermute|eronaMalikFilter|ersonData|etersenGraph|haseMargins|hongShading|hysicalSystemData|ick|ieChart|ieChart3D|iecewise|iecewiseExpand|illaiTrace|illaiTraceTest|ingTime|ixelValue|ixelValuePositions|laced|laceholder|lanarAngle|lanarFaceList|lanarGraphQ??|lanckRadiationLaw|laneCurveData|lanetData|lanetaryMoonData|lantData|lay|lot|lot3D|luralize|lus|lusMinus|ochhammer|oint|ointFigureChart|ointLegend|ointLight|ointSize|oissonConsulDistribution|oissonDistribution|oissonPDEComponent|oissonProcess|oissonWindow|olarPlot|olyGamma|olyLog|olyaAeppliDistribution|olygon|olygonAngle|olygonCoordinates|olygonDecomposition|olygonalNumber|olyhedron|olyhedronAngle|olyhedronCoordinates|olyhedronData|olyhedronDecomposition|olyhedronGenus|olynomialExpressionQ|olynomialExtendedGCD|olynomialGCD|olynomialLCM|olynomialMod|olynomialQ|olynomialQuotient|olynomialQuotientRemainder|olynomialReduce|olynomialRemainder|olynomialSumOfSquaresList|opupMenu|opupView|opupWindow|osition|ositionIndex|ositionLargest|ositionSmallest|ositive|ositiveDefiniteMatrixQ|ositiveSemidefiniteMatrixQ|ositivelyOrientedPoints|ossibleZeroQ|ostfix|ower|owerDistribution|owerExpand|owerMod|owerModList|owerRange|owerSpectralDensity|owerSymmetricPolynomial|owersRepresentations|reDecrement|reIncrement|recedenceForm|recedes|recedesEqual|recedesSlantEqual|recedesTilde|recision|redict|redictorFunction|redictorMeasurements|redictorMeasurementsObject|reemptProtect|refix|repend|rependTo|reviousCell|reviousDate|riceGraphDistribution|rime|rimeNu|rimeOmega|rimePi|rimePowerQ|rimeQ|rimeZetaP|rimitivePolynomialQ|rimitiveRoot|rimitiveRootList|rincipalComponents|rintTemporary|rintableASCIIQ|rintout3D|rism|rivateKey|robability|robabilityDistribution|robabilityPlot|robabilityScalePlot|robitModelFit|rocessConnection|rocessInformation|rocessObject|rocessParameterAssumptions|rocessParameterQ|rocessStatus|rocesses|roduct|roductDistribution|roductLog|rogressIndicator|rojection|roportion|roportional|rotect|roteinData|runing|seudoInverse|sychrometricPropertyData|ublicKey|ulsarData|ut|utAppend|yramid)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"Q(?:Binomial|Factorial|Gamma|HypergeometricPFQ|Pochhammer|PolyGamma|RDecomposition|nDispersion|uadraticIrrationalQ|uadraticOptimization|uantile|uantilePlot|uantity|uantityArray|uantityDistribution|uantityForm|uantityMagnitude|uantityQ|uantityUnit|uantityVariable|uantityVariableCanonicalUnit|uantityVariableDimensions|uantityVariableIdentifier|uantityVariablePhysicalQuantity|uartileDeviation|uartileSkewness|uartiles|uery|ueueProperties|ueueingNetworkProcess|ueueingProcess|uiet|uietEcho|uotient|uotientRemainder)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"R(?:GBColor|Solve|SolveValue|adialAxisPlot|adialGradientFilling|adialGradientImage|adialityCentrality|adicalBox|adioButton|adioButtonBar|adon|adonTransform|amanujanTauL??|amanujanTauTheta|amanujanTauZ|amp|andomChoice|andomColor|andomComplex|andomDate|andomEntity|andomFunction|andomGeneratorState|andomGeoPosition|andomGraph|andomImage|andomInteger|andomPermutation|andomPoint|andomPolygon|andomPolyhedron|andomPrime|andomReal|andomSample|andomTime|andomVariate|andomWalkProcess|andomWord|ange|angeFilter|ankedMax|ankedMin|arerProbability|aster|aster3D|asterize|ational|ationalExpressionQ|ationalize|atios|awBoxes|awData|ayleighDistribution|e|eIm|eImPlot|eactionPDETerm|ead|eadByteArray|eadLine|eadList|eadString|ealAbs|ealDigits|ealExponent|ealSign|eap|econstructionMesh|ectangle|ectangleChart|ectangleChart3D|ectangularRepeatingElement|ecurrenceFilter|ecurrenceTable|educe|efine|eflectionMatrix|eflectionTransform|efresh|egion|egionBinarize|egionBoundary|egionBounds|egionCentroid|egionCongruent|egionConvert|egionDifference|egionDilation|egionDimension|egionDisjoint|egionDistance|egionDistanceFunction|egionEmbeddingDimension|egionEqual|egionErosion|egionFit|egionImage|egionIntersection|egionMeasure|egionMember|egionMemberFunction|egionMoment|egionNearest|egionNearestFunction|egionPlot|egionPlot3D|egionProduct|egionQ|egionResize|egionSimilar|egionSymmetricDifference|egionUnion|egionWithin|egularExpression|egularPolygon|egularlySampledQ|elationGraph|eleaseHold|eliabilityDistribution|eliefImage|eliefPlot|emove|emoveAlphaChannel|emoveBackground|emoveDiacritics|emoveInputStreamMethod|emoveOutputStreamMethod|emoveUsers|enameDirectory|enameFile|enewalProcess|enkoChart|epairMesh|epeated|epeatedNull|epeatedTiming|epeatingElement|eplace|eplaceAll|eplaceAt|eplaceImageValue|eplaceList|eplacePart|eplacePixelValue|eplaceRepeated|esamplingAlgorithmData|escale|escalingTransform|esetDirectory|esidue|esidueSum|esolve|esourceData|esourceObject|esourceSearch|esponseForm|est|estricted|esultant|eturn|eturnExpressionPacket|eturnPacket|eturnTextPacket|everse|everseBiorthogonalSplineWavelet|everseElement|everseEquilibrium|everseGraph|everseSort|everseSortBy|everseUpEquilibrium|evolutionPlot3D|iccatiSolve|iceDistribution|idgeFilter|iemannR|iemannSiegelTheta|iemannSiegelZ|iemannXi|iffle|ightArrow|ightArrowBar|ightArrowLeftArrow|ightComposition|ightCosetRepresentative|ightDownTeeVector|ightDownVector|ightDownVectorBar|ightTee|ightTeeArrow|ightTeeVector|ightTriangle|ightTriangleBar|ightTriangleEqual|ightUpDownVector|ightUpTeeVector|ightUpVector|ightUpVectorBar|ightVector|ightVectorBar|iskAchievementImportance|iskReductionImportance|obustConvexOptimization|ogersTanimotoDissimilarity|ollPitchYawAngles|ollPitchYawMatrix|omanNumeral|oot|ootApproximant|ootIntervals|ootLocusPlot|ootMeanSquare|ootOfUnityQ|ootReduce|ootSum|oots|otate|otateLeft|otateRight|otationMatrix|otationTransform|ound|ow|owBox|owReduce|udinShapiro|udvalisGroupRu|ule|uleDelayed|ulePlot|un|unProcess|unThrough|ussellRaoDissimilarity)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"S(?:ARIMAProcess|ARMAProcess|ASTriangle|SSTriangle|ameAs|ameQ|ampledSoundFunction|ampledSoundList|atelliteData|atisfiabilityCount|atisfiabilityInstances|atisfiableQ|ave|avitzkyGolayMatrix|awtoothWave|caled??|calingMatrix|calingTransform|can|cheduledTask|churDecomposition|cientificForm|corerGi|corerGiPrime|corerHi|corerHiPrime|ech??|echDistribution|econdOrderConeOptimization|ectorChart|ectorChart3D|eedRandom|elect|electComponents|electFirst|electedCells|electedNotebook|electionCreateCell|electionEvaluate|electionEvaluateCreateCell|electionMove|emanticImport|emanticImportString|emanticInterpretation|emialgebraicComponentInstances|emidefiniteOptimization|endMail|endMessage|equence|equenceAlignment|equenceCases|equenceCount|equenceFold|equenceFoldList|equencePosition|equenceReplace|equenceSplit|eries|eriesCoefficient|eriesData|erviceConnect|erviceDisconnect|erviceExecute|erviceObject|essionSubmit|essionTime|et|etAccuracy|etAlphaChannel|etAttributes|etCloudDirectory|etCookies|etDelayed|etDirectory|etEnvironment|etFileDate|etOptions|etPermissions|etPrecision|etSelectedNotebook|etSharedFunction|etSharedVariable|etStreamPosition|etSystemOptions|etUsers|etter|etterBar|etting|hallow|hannonWavelet|hapiroWilkTest|hare|harpen|hearingMatrix|hearingTransform|hellRegion|henCastanMatrix|hiftRegisterSequence|hiftedGompertzDistribution|hort|hortDownArrow|hortLeftArrow|hortRightArrow|hortTimeFourier|hortTimeFourierData|hortUpArrow|hortest|hortestPathFunction|how|iderealTime|iegelTheta|iegelTukeyTest|ierpinskiCurve|ierpinskiMesh|ign|ignTest|ignature|ignedRankTest|ignedRegionDistance|impleGraphQ??|implePolygonQ|implePolyhedronQ|implex|implify|in|inIntegral|inc|inghMaddalaDistribution|ingularValueDecomposition|ingularValueList|ingularValuePlot|inh|inhIntegral|ixJSymbol|keleton|keletonTransform|kellamDistribution|kewNormalDistribution|kewness|kip|liceContourPlot3D|liceDensityPlot3D|liceDistribution|liceVectorPlot3D|lideView|lider|lider2D|liderBox|lot|lotSequence|mallCircle|mithDecomposition|mithDelayCompensator|mithWatermanSimilarity|moothDensityHistogram|moothHistogram|moothHistogram3D|moothKernelDistribution|nDispersion|ocketConnect|ocketListen|ocketListener|ocketObject|ocketOpen|ocketReadMessage|ocketReadyQ|ocketWaitAll|ocketWaitNext|ockets|okalSneathDissimilarity|olarEclipse|olarSystemFeatureData|olarTime|olidAngle|olidData|olidRegionQ|olve|olveAlways|olveValues|ort|ortBy|ound|oundNote|ourcePDETerm|ow|paceCurveData|pacer|pan|parseArrayQ??|patialGraphDistribution|patialMedian|peak|pearmanRankTest|pearmanRho|peciesData|pectralLineData|pectrogram|pectrogramArray|pecularity|peechSynthesize|pellingCorrectionList|phere|pherePoints|phericalBesselJ|phericalBesselY|phericalHankelH1|phericalHankelH2|phericalHarmonicY|phericalPlot3D|phericalShell|pheroidalEigenvalue|pheroidalJoiningFactor|pheroidalPS|pheroidalPSPrime|pheroidalQS|pheroidalQSPrime|pheroidalRadialFactor|pheroidalS1|pheroidalS1Prime|pheroidalS2|pheroidalS2Prime|plicedDistribution|plit|plitBy|pokenString|potLight|qrt|qrtBox|quare|quareFreeQ|quareIntersection|quareMatrixQ|quareRepeatingElement|quareSubset|quareSubsetEqual|quareSuperset|quareSupersetEqual|quareUnion|quareWave|quaredEuclideanDistance|quaresR|tableDistribution|tack|tackBegin|tackComplete|tackInhibit|tackedDateListPlot|tackedListPlot|tadiumShape|tandardAtmosphereData|tandardDeviation|tandardDeviationFilter|tandardForm|tandardOceanData|tandardize|tandbyDistribution|tar|tarClusterData|tarData|tarGraph|tartProcess|tateFeedbackGains|tateOutputEstimator|tateResponse|tateSpaceModel|tateSpaceTransform|tateTransformationLinearize|tationaryDistribution|tationaryWaveletPacketTransform|tationaryWaveletTransform|tatusArea|tatusCentrality|tieltjesGamma|tippleShading|tirlingS1|tirlingS2|toppingPowerData|tratonovichProcess|treamDensityPlot|treamPlot|treamPlot3D|treamPosition|treams|tringCases|tringContainsQ|tringCount|tringDelete|tringDrop|tringEndsQ|tringExpression|tringExtract|tringForm|tringFormatQ??|tringFreeQ|tringInsert|tringJoin|tringLength|tringMatchQ|tringPadLeft|tringPadRight|tringPart|tringPartition|tringPosition|tringQ|tringRepeat|tringReplace|tringReplaceList|tringReplacePart|tringReverse|tringRiffle|tringRotateLeft|tringRotateRight|tringSkeleton|tringSplit|tringStartsQ|tringTake|tringTakeDrop|tringTemplate|tringToByteArray|tringToStream|tringTrim|tripBoxes|tructuralImportance|truveH|truveL|tudentTDistribution|tyle|tyleBox|tyleData|ubMinus|ubPlus|ubStar|ubValues|ubdivide|ubfactorial|ubgraph|ubresultantPolynomialRemainders|ubresultantPolynomials|ubresultants|ubscript|ubscriptBox|ubsequences|ubset|ubsetEqual|ubsetMap|ubsetQ|ubsets|ubstitutionSystem|ubsuperscript|ubsuperscriptBox|ubtract|ubtractFrom|ubtractSides|ucceeds|ucceedsEqual|ucceedsSlantEqual|ucceedsTilde|uccess|uchThat|um|umConvergence|unPosition|unrise|unset|uperDagger|uperMinus|uperPlus|uperStar|upernovaData|uperscript|uperscriptBox|uperset|upersetEqual|urd|urfaceArea|urfaceData|urvivalDistribution|urvivalFunction|urvivalModel|urvivalModelFit|uzukiDistribution|uzukiGroupSuz|watchLegend|witch|ymbol|ymbolName|ymletWavelet|ymmetric|ymmetricGroup|ymmetricKey|ymmetricMatrixQ|ymmetricPolynomial|ymmetricReduction|ymmetrize|ymmetrizedArray|ymmetrizedArrayRules|ymmetrizedDependentComponents|ymmetrizedIndependentComponents|ymmetrizedReplacePart|ynonyms|yntaxInformation|yntaxLength|yntaxPacket|yntaxQ|ystemDialogInput|ystemInformation|ystemOpen|ystemOptions|ystemProcessData|ystemProcesses|ystemsConnectionsModel|ystemsModelControllerData|ystemsModelDelay|ystemsModelDelayApproximate|ystemsModelDelete|ystemsModelDimensions|ystemsModelExtract|ystemsModelFeedbackConnect|ystemsModelLinearity|ystemsModelMerge|ystemsModelOrder|ystemsModelParallelConnect|ystemsModelSeriesConnect|ystemsModelStateFeedbackConnect|ystemsModelVectorRelativeOrders)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"T(?:Test|abView|able|ableForm|agBox|agSet|agSetDelayed|agUnset|ake|akeDrop|akeLargest|akeLargestBy|akeList|akeSmallest|akeSmallestBy|akeWhile|ally|anh??|askAbort|askExecute|askObject|askRemove|askResume|askSuspend|askWait|asks|autologyQ|eXForm|elegraphProcess|emplateApply|emplateBox|emplateExpression|emplateIf|emplateObject|emplateSequence|emplateSlot|emplateWith|emporalData|ensorContract|ensorDimensions|ensorExpand|ensorProduct|ensorRank|ensorReduce|ensorSymmetry|ensorTranspose|ensorWedge|erminatedEvaluation|estReport|estReportObject|estResultObject|etrahedron|ext|extCell|extData|extGrid|extPacket|extRecognize|extSentences|extString|extTranslation|extWords|exture|herefore|hermodynamicData|hermometerGauge|hickness|hinning|hompsonGroupTh|hread|hreeJSymbol|hreshold|hrough|hrow|hueMorse|humbnail|ideData|ilde|ildeEqual|ildeFullEqual|ildeTilde|imeConstrained|imeObjectQ??|imeRemaining|imeSeries|imeSeriesAggregate|imeSeriesForecast|imeSeriesInsert|imeSeriesInvertibility|imeSeriesMap|imeSeriesMapThread|imeSeriesModel|imeSeriesModelFit|imeSeriesResample|imeSeriesRescale|imeSeriesShift|imeSeriesThread|imeSeriesWindow|imeSystemConvert|imeUsed|imeValue|imeZoneConvert|imeZoneOffset|imelinePlot|imes|imesBy|iming|itsGroupT|oBoxes|oCharacterCode|oContinuousTimeModel|oDiscreteTimeModel|oEntity|oExpression|oInvertibleTimeSeries|oLowerCase|oNumberField|oPolarCoordinates|oRadicals|oRules|oSphericalCoordinates|oString|oUpperCase|oeplitzMatrix|ogether|oggler|ogglerBar|ooltip|oonShading|opHatTransform|opologicalSort|orus|orusGraph|otal|otalVariationFilter|ouchPosition|r|race|raceDialog|racePrint|raceScan|racyWidomDistribution|radingChart|raditionalForm|ransferFunctionCancel|ransferFunctionExpand|ransferFunctionFactor|ransferFunctionModel|ransferFunctionPoles|ransferFunctionTransform|ransferFunctionZeros|ransformationFunction|ransformationMatrix|ransformedDistribution|ransformedField|ransformedProcess|ransformedRegion|ransitiveClosureGraph|ransitiveReductionGraph|ranslate|ranslationTransform|ransliterate|ranspose|ravelDirections|ravelDirectionsData|ravelDistance|ravelDistanceList|ravelTime|reeForm|reeGraphQ??|reePlot|riangle|riangleWave|riangularDistribution|riangulateMesh|rigExpand|rigFactor|rigFactorList|rigReduce|rigToExp|rigger|rimmedMean|rimmedVariance|ropicalStormData|rueQ|runcatedDistribution|runcatedPolyhedron|sallisQExponentialDistribution|sallisQGaussianDistribution|ube|ukeyLambdaDistribution|ukeyWindow|unnelData|uples|uranGraph|uringMachine|uttePolynomial|woWayRule|ypeHint)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"U(?:RL|RLBuild|RLDecode|RLDispatcher|RLDownload|RLEncode|RLExecute|RLExpand|RLParse|RLQueryDecode|RLQueryEncode|RLRead|RLResponseTime|RLShorten|RLSubmit|nateQ|ncompress|nderBar|nderflow|nderoverscript|nderoverscriptBox|nderscript|nderscriptBox|nderseaFeatureData|ndirectedEdge|ndirectedGraphQ??|nequal|nequalTo|nevaluated|niformDistribution|niformGraphDistribution|niformPolyhedron|niformSumDistribution|ninstall|nion|nionPlus|nique|nitBox|nitConvert|nitDimensions|nitRootTest|nitSimplify|nitStep|nitTriangle|nitVector|nitaryMatrixQ|nitize|niverseModelData|niversityData|nixTime|nprotect|nsameQ|nset|nsetShared|ntil|pArrow|pArrowBar|pArrowDownArrow|pDownArrow|pEquilibrium|pSet|pSetDelayed|pTee|pTeeArrow|pTo|pValues|pdate|pperCaseQ|pperLeftArrow|pperRightArrow|pperTriangularMatrixQ??|pperTriangularize|psample|singFrontEnd)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"V(?:alueQ|alues|ariables|ariance|arianceEquivalenceTest|arianceGammaDistribution|arianceTest|ectorAngle|ectorDensityPlot|ectorDisplacementPlot|ectorDisplacementPlot3D|ectorGreater|ectorGreaterEqual|ectorLess|ectorLessEqual|ectorPlot|ectorPlot3D|ectorQ|ectors|ee|erbatim|erificationTest|ertexAdd|ertexChromaticNumber|ertexComponent|ertexConnectivity|ertexContract|ertexCorrelationSimilarity|ertexCosineSimilarity|ertexCount|ertexCoverQ|ertexDegree|ertexDelete|ertexDiceSimilarity|ertexEccentricity|ertexInComponent|ertexInComponentGraph|ertexInDegree|ertexIndex|ertexJaccardSimilarity|ertexList|ertexOutComponent|ertexOutComponentGraph|ertexOutDegree|ertexQ|ertexReplace|ertexTransitiveGraphQ|ertexWeightedGraphQ|erticalBar|erticalGauge|erticalSeparator|erticalSlider|erticalTilde|oiceStyleData|oigtDistribution|olcanoData|olume|onMisesDistribution|oronoiMesh)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"W(?:aitAll|aitNext|akebyDistribution|alleniusHypergeometricDistribution|aringYuleDistribution|arpingCorrespondence|arpingDistance|atershedComponents|atsonUSquareTest|attsStrogatzGraphDistribution|avePDEComponent|aveletBestBasis|aveletFilterCoefficients|aveletImagePlot|aveletListPlot|aveletMapIndexed|aveletMatrixPlot|aveletPhi|aveletPsi|aveletScalogram|aveletThreshold|eakStationarity|eaklyConnectedComponents|eaklyConnectedGraphComponents|eaklyConnectedGraphQ|eatherData|eatherForecastData|eberE|edge|eibullDistribution|eierstrassE1|eierstrassE2|eierstrassE3|eierstrassEta1|eierstrassEta2|eierstrassEta3|eierstrassHalfPeriodW1|eierstrassHalfPeriodW2|eierstrassHalfPeriodW3|eierstrassHalfPeriods|eierstrassInvariantG2|eierstrassInvariantG3|eierstrassInvariants|eierstrassP|eierstrassPPrime|eierstrassSigma|eierstrassZeta|eightedAdjacencyGraph|eightedAdjacencyMatrix|eightedData|eightedGraphQ|elchWindow|heelGraph|henEvent|hich|hile|hiteNoiseProcess|hittakerM|hittakerW|ienerFilter|ienerProcess|ignerD|ignerSemicircleDistribution|ikipediaData|ilksW|ilksWTest|indDirectionData|indSpeedData|indVectorData|indingCount|indingPolygon|insorizedMean|insorizedVariance|ishartMatrixDistribution|ith|olframAlpha|olframLanguageData|ordCloud|ordCounts??|ordData|ordDefinition|ordFrequency|ordFrequencyData|ordList|ordStem|ordTranslation|rite|riteLine|riteString|ronskian)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"X(?:MLElement|MLObject|MLTemplate|YZColor|nor|or)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"YuleDissimilarity(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"Z(?:IPCodeData|Test|Transform|ernikeR|eroSymmetric|eta|etaZero|ipfDistribution)(?![$`[:alnum:]])","name":"support.function.builtin.wolfram"},{"match":"A(?:cceptanceThreshold|ccuracyGoal|ctiveStyle|ddOnHelpPath|djustmentBoxOptions|lignment|lignmentPoint|llowGroupClose|llowInlineCells|llowLooseGrammar|llowReverseGroupClose|llowScriptLevelChange|llowVersionUpdate|llowedCloudExtraParameters|llowedCloudParameterExtensions|llowedDimensions|llowedFrequencyRange|llowedHeads|lternativeHypothesis|ltitudeMethod|mbiguityFunction|natomySkinStyle|nchoredSearch|nimationDirection|nimationRate|nimationRepetitions|nimationRunTime|nimationRunning|nimationTimeIndex|nnotationRules|ntialiasing|ppearance|ppearanceElements|ppearanceRules|spectRatio|ssociationFormat|ssumptions|synchronous|ttachedCell|udioChannelAssignment|udioEncoding|udioInputDevice|udioLabel|udioOutputDevice|uthentication|utoAction|utoCopy|utoDelete|utoGeneratedPackage|utoIndent|utoItalicWords|utoMultiplicationSymbol|utoOpenNotebooks|utoOpenPalettes|utoOperatorRenderings|utoRemove|utoScroll|utoSpacing|utoloadPath|utorunSequencing|xes|xesEdge|xesLabel|xesOrigin|xesStyle)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"B(?:ackground|arOrigin|arSpacing|aseStyle|aselinePosition|inaryFormat|ookmarks|ooleanStrings|oundaryStyle|oxBaselineShift|oxFormFormatTypes|oxFrame|oxMargins|oxRatios|oxStyle|oxed|ubbleScale|ubbleSizes|uttonBoxOptions|uttonData|uttonFunction|uttonMinHeight|uttonSource|yteOrdering)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"C(?:alendarType|alloutMarker|alloutStyle|aptureRunning|aseOrdering|elestialSystem|ellAutoOverwrite|ellBaseline|ellBracketOptions|ellChangeTimes|ellContext|ellDingbat|ellDingbatMargin|ellDynamicExpression|ellEditDuplicate|ellEpilog|ellEvaluationDuplicate|ellEvaluationFunction|ellEventActions|ellFrame|ellFrameColor|ellFrameLabelMargins|ellFrameLabels|ellFrameMargins|ellGrouping|ellGroupingRules|ellHorizontalScrolling|ellID|ellLabel|ellLabelAutoDelete|ellLabelMargins|ellLabelPositioning|ellLabelStyle|ellLabelTemplate|ellMargins|ellOpen|ellProlog|ellSize|ellTags|haracterEncoding|haracterEncodingsPath|hartBaseStyle|hartElementFunction|hartElements|hartLabels|hartLayout|hartLegends|hartStyle|lassPriors|lickToCopyEnabled|lipPlanes|lipPlanesStyle|lipRange|lippingStyle|losingAutoSave|loudBase|loudObjectNameFormat|loudObjectURLType|lusterDissimilarityFunction|odeAssistOptions|olorCoverage|olorFunction|olorFunctionBinning|olorFunctionScaling|olorRules|olorSelectorSettings|olorSpace|olumnAlignments|olumnLines|olumnSpacings|olumnWidths|olumnsEqual|ombinerFunction|ommonDefaultFormatTypes|ommunityBoundaryStyle|ommunityLabels|ommunityRegionStyle|ompilationOptions|ompilationTarget|ompiled|omplexityFunction|ompressionLevel|onfidenceLevel|onfidenceRange|onfidenceTransform|onfigurationPath|onstants|ontentPadding|ontentSelectable|ontentSize|ontinuousAction|ontourLabels|ontourShading|ontourStyle|ontours|ontrolPlacement|ontrolType|ontrollerLinking|ontrollerMethod|ontrollerPath|ontrolsRendering|onversionRules|ookieFunction|oordinatesToolOptions|opyFunction|opyable|ornerNeighbors|ounterAssignments|ounterFunction|ounterIncrements|ounterStyleMenuListing|ovarianceEstimatorFunction|reateCellID|reateIntermediateDirectories|riterionFunction|ubics|urveClosed)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"D(?:ataRange|ataReversed|atasetTheme|ateFormat|ateFunction|ateGranularity|ateReduction|ateTicksFormat|ayCountConvention|efaultDuplicateCellStyle|efaultDuration|efaultElement|efaultFontProperties|efaultFormatType|efaultInlineFormatType|efaultNaturalLanguage|efaultNewCellStyle|efaultNewInlineCellStyle|efaultNotebook|efaultOptions|efaultPrintPrecision|efaultStyleDefinitions|einitialization|eletable|eleteContents|eletionWarning|elimiterAutoMatching|elimiterFlashTime|elimiterMatching|elimiters|eliveryFunction|ependentVariables|eployed|escriptorStateSpace|iacriticalPositioning|ialogProlog|ialogSymbols|igitBlock|irectedEdges|irection|iscreteVariables|ispersionEstimatorFunction|isplayAllSteps|isplayFunction|istanceFunction|istributedContexts|ithering|ividers|ockedCells??|ynamicEvaluationTimeout|ynamicModuleValues|ynamicUpdating)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"E(?:clipseType|dgeCapacity|dgeCost|dgeLabelStyle|dgeLabels|dgeShapeFunction|dgeStyle|dgeValueRange|dgeValueSizes|dgeWeight|ditCellTagsSettings|ditable|lidedForms|nabled|pilog|pilogFunction|scapeRadius|valuatable|valuationCompletionAction|valuationElements|valuationMonitor|valuator|valuatorNames|ventLabels|xcludePods|xcludedContexts|xcludedForms|xcludedLines|xcludedPhysicalQuantities|xclusions|xclusionsStyle|xponentFunction|xponentPosition|xponentStep|xponentialFamily|xportAutoReplacements|xpressionUUID|xtension|xtentElementFunction|xtentMarkers|xtentSize|xternalDataCharacterEncoding|xternalOptions|xternalTypeSignature)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"F(?:aceGrids|aceGridsStyle|ailureAction|eatureNames|eatureTypes|eedbackSector|eedbackSectorStyle|eedbackType|ieldCompletionFunction|ieldHint|ieldHintStyle|ieldMasked|ieldSize|ileNameDialogSettings|ileNameForms|illing|illingStyle|indSettings|itRegularization|ollowRedirects|ontColor|ontFamily|ontSize|ontSlant|ontSubstitutions|ontTracking|ontVariations|ontWeight|orceVersionInstall|ormBoxOptions|ormLayoutFunction|ormProtectionMethod|ormatType|ormatTypeAutoConvert|ourierParameters|ractionBoxOptions|ractionLine|rame|rameBoxOptions|rameLabel|rameMargins|rameRate|rameStyle|rameTicks|rameTicksStyle|rontEndEventActions|unctionSpace)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"G(?:apPenalty|augeFaceElementFunction|augeFaceStyle|augeFrameElementFunction|augeFrameSize|augeFrameStyle|augeLabels|augeMarkers|augeStyle|aussianIntegers|enerateConditions|eneratedCell|eneratedDocumentBinding|eneratedParameters|eneratedQuantityMagnitudes|eneratorDescription|eneratorHistoryLength|eneratorOutputType|eoArraySize|eoBackground|eoCenter|eoGridLines|eoGridLinesStyle|eoGridRange|eoGridRangePadding|eoLabels|eoLocation|eoModel|eoProjection|eoRange|eoRangePadding|eoResolution|eoScaleBar|eoServer|eoStylingImageFunction|eoZoomLevel|radient|raphHighlight|raphHighlightStyle|raphLayerStyle|raphLayers|raphLayout|ridCreationSettings|ridDefaultElement|ridFrame|ridFrameMargins|ridLines|ridLinesStyle|roupActionBase|roupPageBreakWithin)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"H(?:eaderAlignment|eaderBackground|eaderDisplayFunction|eaderLines|eaderSize|eaderStyle|eads|elpBrowserSettings|iddenItems|olidayCalendar|yperlinkAction|yphenation)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"I(?:conRules|gnoreCase|gnoreDiacritics|gnorePunctuation|mageCaptureFunction|mageFormattingWidth|mageLabels|mageLegends|mageMargins|magePadding|magePreviewFunction|mageRegion|mageResolution|mageSize|mageSizeAction|mageSizeMultipliers|magingDevice|mportAutoReplacements|mportOptions|ncludeConstantBasis|ncludeDefinitions|ncludeDirectories|ncludeFileExtension|ncludeGeneratorTasks|ncludeInflections|ncludeMetaInformation|ncludePods|ncludeQuantities|ncludeSingularSolutions|ncludeWindowTimes|ncludedContexts|ndeterminateThreshold|nflationMethod|nheritScope|nitialSeeding|nitialization|nitializationCell|nitializationCellEvaluation|nitializationCellWarning|nputAliases|nputAssumptions|nputAutoReplacements|nsertResults|nsertionFunction|nteractive|nterleaving|nterpolationOrder|nterpolationPoints|nterpretationBoxOptions|nterpretationFunction|ntervalMarkers|ntervalMarkersStyle|nverseFunctions|temAspectRatio|temDisplayFunction|temSize|temStyle)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Joined(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Ke(?:epExistingVersion|yCollisionFunction|ypointStrength)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"L(?:abelStyle|abelVisibility|abelingFunction|abelingSize|anguage|anguageCategory|ayerSizeFunction|eaderSize|earningRate|egendAppearance|egendFunction|egendLabel|egendLayout|egendMargins|egendMarkerSize|egendMarkers|ighting|ightingAngle|imitsPositioning|imitsPositioningTokens|ineBreakWithin|ineIndent|ineIndentMaxFraction|ineIntegralConvolutionScale|ineSpacing|inearOffsetFunction|inebreakAdjustments|inkFunction|inkProtocol|istFormat|istPickerBoxOptions|ocalizeVariables|ocatorAutoCreate|ocatorRegion|ooping)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"M(?:agnification|ailAddressValidation|ailResponseFunction|ailSettings|asking|atchLocalNames|axCellMeasure|axColorDistance|axDuration|axExtraBandwidths|axExtraConditions|axFeatureDisplacement|axFeatures|axItems|axIterations|axMixtureKernels|axOverlapFraction|axPlotPoints|axRecursion|axStepFraction|axStepSize|axSteps|emoryConstraint|enuCommandKey|enuSortingValue|enuStyle|esh|eshCellHighlight|eshCellLabel|eshCellMarker|eshCellShapeFunction|eshCellStyle|eshFunctions|eshQualityGoal|eshRefinementFunction|eshShading|eshStyle|etaInformation|ethod|inColorDistance|inIntervalSize|inPointSeparation|issingBehavior|issingDataMethod|issingDataRules|issingString|issingStyle|odal|odulus|ultiaxisArrangement|ultiedgeStyle|ultilaunchWarning|ultilineFunction|ultiselection)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"N(?:icholsGridLines|ominalVariables|onConstants|ormFunction|ormalized|ormalsFunction|otebookAutoSave|otebookBrowseDirectory|otebookConvertSettings|otebookDynamicExpression|otebookEventActions|otebookPath|otebooksMenu|otificationFunction|ullRecords|ullWords|umberFormat|umberMarks|umberMultiplier|umberPadding|umberPoint|umberSeparator|umberSigns|yquistGridLines)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"O(?:pacityFunction|pacityFunctionScaling|peratingSystem|ptionInspectorSettings|utputAutoOverwrite|utputSizeLimit|verlaps|verscriptBoxOptions|verwriteTarget)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"P(?:IDDerivativeFilter|IDFeedforward|acletSite|adding|addingSize|ageBreakAbove|ageBreakBelow|ageBreakWithin|ageFooterLines|ageFooters|ageHeaderLines|ageHeaders|ageTheme|ageWidth|alettePath|aneled|aragraphIndent|aragraphSpacing|arallelization|arameterEstimator|artBehavior|artitionGranularity|assEventsDown|assEventsUp|asteBoxFormInlineCells|ath|erformanceGoal|ermissions|haseRange|laceholderReplace|layRange|lotLabels??|lotLayout|lotLegends|lotMarkers|lotPoints|lotRange|lotRangeClipping|lotRangePadding|lotRegion|lotStyle|lotTheme|odStates|odWidth|olarAxes|olarAxesOrigin|olarGridLines|olarTicks|oleZeroMarkers|recisionGoal|referencesPath|reprocessingRules|reserveColor|reserveImageOptions|rincipalValue|rintAction|rintPrecision|rintingCopies|rintingOptions|rintingPageRange|rintingStartingPageNumber|rintingStyleEnvironment|rintout3DPreviewer|rivateCellOptions|rivateEvaluationOptions|rivateFontOptions|rivateNotebookOptions|rivatePaths|rocessDirectory|rocessEnvironment|rocessEstimator|rogressReporting|rolog|ropagateAborts)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Quartics(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"R(?:adicalBoxOptions|andomSeeding|asterSize|eImLabels|eImStyle|ealBlockDiagonalForm|ecognitionPrior|ecordLists|ecordSeparators|eferenceLineStyle|efreshRate|egionBoundaryStyle|egionFillingStyle|egionFunction|egionSize|egularization|enderingOptions|equiredPhysicalQuantities|esampling|esamplingMethod|esolveContextAliases|estartInterval|eturnReceiptFunction|evolutionAxis|otateLabel|otationAction|oundingRadius|owAlignments|owLines|owMinHeight|owSpacings|owsEqual|ulerUnits|untimeAttributes|untimeOptions)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"S(?:ameTest|ampleDepth|ampleRate|amplingPeriod|aveConnection|aveDefinitions|aveable|caleDivisions|caleOrigin|calePadding|caleRangeStyle|caleRanges|calingFunctions|cientificNotationThreshold|creenStyleEnvironment|criptBaselineShifts|criptLevel|criptMinSize|criptSizeMultipliers|crollPosition|crollbars|crollingOptions|ectorOrigin|ectorSpacing|electable|elfLoopStyle|eriesTermGoal|haringList|howAutoSpellCheck|howAutoStyles|howCellBracket|howCellLabel|howCellTags|howClosedCellArea|howContents|howCursorTracker|howGroupOpener|howPageBreaks|howSelection|howShortBoxForm|howSpecialCharacters|howStringCharacters|hrinkingDelay|ignPadding|ignificanceLevel|imilarityRules|ingleLetterItalics|liderBoxOptions|ortedBy|oundVolume|pacings|panAdjustments|panCharacterRounding|panLineThickness|panMaxSize|panMinSize|panSymmetric|pecificityGoal|pellingCorrection|pellingDictionaries|pellingDictionariesPath|pellingOptions|phericalRegion|plineClosed|plineDegree|plineKnots|plineWeights|qrtBoxOptions|tabilityMargins|tabilityMarginsStyle|tandardized|tartingStepSize|tateSpaceRealization|tepMonitor|trataVariables|treamColorFunction|treamColorFunctionScaling|treamMarkers|treamPoints|treamScale|treamStyle|trictInequalities|tripOnInput|tripWrapperBoxes|tructuredSelection|tyleBoxAutoDelete|tyleDefinitions|tyleHints|tyleMenuListing|tyleNameDialogSettings|tyleSheetPath|ubscriptBoxOptions|ubsuperscriptBoxOptions|ubtitleEncoding|uperscriptBoxOptions|urdForm|ynchronousInitialization|ynchronousUpdating|yntaxForm|ystemHelpPath|ystemsModelLabels)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"T(?:abFilling|abSpacings|ableAlignments|ableDepth|ableDirections|ableHeadings|ableSpacing|agBoxOptions|aggingRules|argetFunctions|argetUnits|emplateBoxOptions|emporalRegularity|estID|extAlignment|extClipboardType|extJustification|extureCoordinateFunction|extureCoordinateScaling|icks|icksStyle|imeConstraint|imeDirection|imeFormat|imeGoal|imeSystem|imeZone|okenWords|olerance|ooltipDelay|ooltipStyle|otalWidth|ouchscreenAutoZoom|ouchscreenControlPlacement|raceAbove|raceBackward|raceDepth|raceForward|raceOff|raceOn|raceOriginal|rackedSymbols|rackingFunction|raditionalFunctionNotation|ransformationClass|ransformationFunctions|ransitionDirection|ransitionDuration|ransitionEffect|ranslationOptions|ravelMethod|rendStyle|rig)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"U(?:nderoverscriptBoxOptions|nderscriptBoxOptions|ndoOptions|ndoTrackedVariables|nitSystem|nityDimensions|nsavedVariables|pdateInterval|pdatePacletSites|tilityFunction)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"V(?:alidationLength|alidationSet|alueDimensions|arianceEstimatorFunction|ectorAspectRatio|ectorColorFunction|ectorColorFunctionScaling|ectorMarkers|ectorPoints|ectorRange|ectorScaling|ectorSizes|ectorStyle|erifyConvergence|erifySecurityCertificates|erifySolutions|erifyTestAssumptions|ersionedPreferences|ertexCapacity|ertexColors|ertexCoordinates|ertexDataCoordinates|ertexLabelStyle|ertexLabels|ertexNormals|ertexShape|ertexShapeFunction|ertexSize|ertexStyle|ertexTextureCoordinates|ertexWeight|ideoEncoding|iewAngle|iewCenter|iewMatrix|iewPoint|iewProjection|iewRange|iewVector|iewVertical|isible)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"W(?:aveletScale|eights|hitePoint|indowClickSelect|indowElements|indowFloating|indowFrame|indowFrameElements|indowMargins|indowOpacity|indowSize|indowStatusArea|indowTitle|indowToolbars|ordOrientation|ordSearch|ordSelectionFunction|ordSeparators|ordSpacings|orkingPrecision|rapAround)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Zero(?:Test|WidthTimes)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"A(?:bove|fter|lgebraics|ll|nonymous|utomatic|xis)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"B(?:ack|ackward|aseline|efore|elow|lack|lue|old|ooleans|ottom|oxes|rown|yte)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"C(?:atalan|ellStyle|enter|haracter|omplexInfinity|omplexes|onstant|yan)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"D(?:ashed|efaultAxesStyle|efaultBaseStyle|efaultBoxStyle|efaultFaceGridsStyle|efaultFieldHintStyle|efaultFrameStyle|efaultFrameTicksStyle|efaultGridLinesStyle|efaultLabelStyle|efaultMenuStyle|efaultTicksStyle|efaultTooltipStyle|egree|elimiter|igitCharacter|otDashed|otted)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"E(?:|ndOfBuffer|ndOfFile|ndOfLine|ndOfString|ulerGamma|xpression)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"F(?:alse|lat|ontProperties|orward|orwardBackward|riday|ront|rontEndDynamicExpression|ull)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"G(?:eneral|laisher|oldenAngle|oldenRatio|ray|reen)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"H(?:ere|exadecimalCharacter|oldAll|oldAllComplete|oldFirst|oldRest)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"I(?:|ndeterminate|nfinity|nherited|ntegers??|talic)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Khinchin(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"L(?:arger??|eft|etterCharacter|ightBlue|ightBrown|ightCyan|ightGray|ightGreen|ightMagenta|ightOrange|ightPink|ightPurple|ightRed|ightYellow|istable|ocked)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"M(?:achinePrecision|agenta|anual|edium|eshCellCentroid|eshCellMeasure|eshCellQuality|onday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"N(?:HoldAll|HoldFirst|HoldRest|egativeIntegers|egativeRationals|egativeReals|oWhitespace|onNegativeIntegers|onNegativeRationals|onNegativeReals|onPositiveIntegers|onPositiveRationals|onPositiveReals|one|ow|ull|umber|umberString|umericFunction)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"O(?:neIdentity|range|rderless)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"P(?:i|ink|lain|ositiveIntegers|ositiveRationals|ositiveReals|rimes|rotected|unctuationCharacter|urple)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"R(?:ationals|eadProtected|eals??|ecord|ed|ight)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"S(?:aturday|equenceHold|mall|maller|panFromAbove|panFromBoth|panFromLeft|tartOfLine|tartOfString|tring|truckthrough|tub|unday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"T(?:emporary|hick|hin|hursday|iny|oday|omorrow|op|ransparent|rue|uesday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Unde(?:f|rl)ined(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"W(?:ednesday|hite|hitespace|hitespaceCharacter|ord|ordBoundary|ordCharacter)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"Ye(?:llow|sterday)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"\\\\$(?:Aborted|ActivationKey|AllowDataUpdates|AllowInternet|AssertFunction|Assumptions|AudioInputDevices|AudioOutputDevices|BaseDirectory|BasePacletsDirectory|BatchInput|BatchOutput|ByteOrdering|CacheBaseDirectory|Canceled|CharacterEncodings??|CloudAccountName|CloudBase|CloudConnected|CloudCreditsAvailable|CloudEvaluation|CloudExpressionBase|CloudObjectNameFormat|CloudObjectURLType|CloudRootDirectory|CloudSymbolBase|CloudUserID|CloudUserUUID|CloudVersion|CommandLine|CompilationTarget|Context|ContextAliases|ContextPath|ControlActiveSetting|Cookies|CreationDate|CurrentLink|CurrentTask|DateStringFormat|DefaultAudioInputDevice|DefaultAudioOutputDevice|DefaultFrontEnd|DefaultImagingDevice|DefaultKernels|DefaultLocalBase|DefaultLocalKernel|Display|DisplayFunction|DistributedContexts|DynamicEvaluation|Echo|EmbedCodeEnvironments|EmbeddableServices|Epilog|EvaluationCloudBase|EvaluationCloudObject|EvaluationEnvironment|ExportFormats|Failed|FontFamilies|FrontEnd|FrontEndSession|GeoLocation|GeoLocationCity|GeoLocationCountry|GeoLocationSource|HomeDirectory|IgnoreEOF|ImageFormattingWidth|ImageResolution|ImagingDevices??|ImportFormats|InitialDirectory|Input|InputFileName|InputStreamMethods|Inspector|InstallationDirectory|InterpreterTypes|IterationLimit|KernelCount|KernelID|Language|LibraryPath|LicenseExpirationDate|LicenseID|LicenseServer|Linked|LocalBase|LocalSymbolBase|MachineAddresses|MachineDomains|MachineEpsilon|MachineID|MachineName|MachinePrecision|MachineType|MaxExtraPrecision|MaxMachineNumber|MaxNumber|MaxPiecewiseCases|MaxPrecision|MaxRootDegree|MessageGroups|MessageList|MessagePrePrint|Messages|MinMachineNumber|MinNumber|MinPrecision|MobilePhone|ModuleNumber|NetworkConnected|NewMessage|NewSymbol|NotebookInlineStorageLimit|Notebooks|NumberMarks|OperatingSystem|Output|OutputSizeLimit|OutputStreamMethods|Packages|ParentLink|ParentProcessID|PasswordFile|Path|PathnameSeparator|PerformanceGoal|Permissions|PlotTheme|Printout3DPreviewer|ProcessID|ProcessorCount|ProcessorType|ProgressReporting|RandomGeneratorState|RecursionLimit|ReleaseNumber|RequesterAddress|RequesterCloudUserID|RequesterCloudUserUUID|RequesterWolframID|RequesterWolframUUID|RootDirectory|ScriptCommandLine|ScriptInputString|Services|SessionID|SharedFunctions|SharedVariables|SoundDisplayFunction|SynchronousEvaluation|System|SystemCharacterEncoding|SystemID|SystemShell|SystemTimeZone|SystemWordLength|TemplatePath|TemporaryDirectory|TimeUnit|TimeZone|TimeZoneEntity|TimedOut|UnitSystem|Urgent|UserAgentString|UserBaseDirectory|UserBasePacletsDirectory|UserDocumentsDirectory|UserURLBase|Username|Version|VersionNumber|WolframDocumentsDirectory|WolframID|WolframUUID)(?![$`[:alnum:]])","name":"constant.language.wolfram"},{"match":"A(?:bortScheduledTask|ctive|lgebraicRules|lternateImage|natomyForm|nimationCycleOffset|nimationCycleRepetitions|nimationDisplayTime|spectRatioFixed|stronomicalData|synchronousTaskObject|synchronousTasks|udioDevice|udioLooping)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"Button(?:Evaluator|Expandable|Frame|Margins|Note|Style)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"C(?:DFInformation|hebyshevDistance|lassifierInformation|lipFill|olorOutput|olumnForm|ompose|onstantArrayLayer|onstantPlusLayer|onstantTimesLayer|onstrainedMax|onstrainedMin|ontourGraphics|ontourLines|onversionOptions|reateScheduledTask|reateTemporary|urry)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"D(?:atabinRemove|ate|ebug|efaultColor|efaultFont|ensityGraphics|isplay|isplayString|otPlusLayer|ragAndDrop)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"E(?:dgeLabeling|dgeRenderingFunction|valuateScheduledTask|xpectedValue)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"F(?:actorComplete|ontForm|ormTheme|romDate|ullOptions)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"Gr(?:aphStyle|aphicsArray|aphicsSpacing|idBaseline)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"H(?:TMLSave|eldPart|iddenSurface|omeDirectory)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"I(?:mageRotated|nstanceNormalizationLayer)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"L(?:UBackSubstitution|egendreType|ightSources|inearProgramming|inkOpen|iteral|ongestMatch)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"M(?:eshRange|oleculeEquivalentQ)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"N(?:etInformation|etSharedArray|extScheduledTaskTime|otebookCreate)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"OpenTemporary(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"P(?:IDData|ackingMethod|ersistentValue|ixelConstrained|lot3Matrix|lotDivision|lotJoined|olygonIntersections|redictorInformation|roperties|roperty|ropertyList|ropertyValue)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"R(?:andom|asterArray|ecognitionThreshold|elease|emoteKernelObject|emoveAsynchronousTask|emoveProperty|emoveScheduledTask|enderAll|eplaceHeldPart|esetScheduledTask|esumePacket|unScheduledTask)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"S(?:cheduledTaskActiveQ|cheduledTaskInformation|cheduledTaskObject|cheduledTasks|creenRectangle|electionAnimate|equenceAttentionLayer|equenceForm|etProperty|hading|hortestMatch|ingularValues|kinStyle|ocialMediaData|tartAsynchronousTask|tartScheduledTask|tateDimensions|topAsynchronousTask|topScheduledTask|tructuredArray|tyleForm|tylePrint|ubscripted|urfaceColor|urfaceGraphics|uspendPacket|ystemModelProgressReporting)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"T(?:eXSave|extStyle|imeWarpingCorrespondence|imeWarpingDistance|oDate|oFileName|oHeldExpression)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"URL(?:Fetch|FetchAsynchronous|Save|SaveAsynchronous)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"Ve(?:ctorScale|rtexCoordinateRules|rtexLabeling|rtexRenderingFunction)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"W(?:aitAsynchronousTask|indowMovable)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"\\\\$(?:AsynchronousTask|ConfiguredKernels|DefaultFont|EntityStores|FormatType|HTTPCookies|InstallationDate|MachineDomain|ProductInformation|ProgramName|RandomState|ScheduledTask|SummaryBoxDataSizeLimit|TemporaryPrefix|TextStyle|TopDirectory|UserAddOnsDirectory)(?![$`[:alnum:]])","name":"invalid.deprecated.wolfram"},{"match":"A(?:ctionDelay|ctionMenuBox|ctionMenuBoxOptions|ctiveItem|lgebraicRulesData|lignmentMarker|llowAdultContent|llowChatServices|llowIncomplete|nalytic|nimatorBox|nimatorBoxOptions|nimatorElements|ppendCheck|rgumentCountQ|rrow3DBox|rrowBox|uthenticate|utoEvaluateEvents|utoIndentSpacings|utoMatch|utoNumberFormatting|utoQuoteCharacters|utoScaling|utoStyleOptions|utoStyleWords|utomaticImageSize|xis3DBox|xis3DBoxOptions|xisBox|xisBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"B(?:SplineCurve3DBox|SplineCurve3DBoxOptions|SplineCurveBox|SplineCurveBoxOptions|SplineSurface3DBox|SplineSurface3DBoxOptions|ackFaceColor|ackFaceGlowColor|ackFaceOpacity|ackFaceSpecularColor|ackFaceSpecularExponent|ackFaceSurfaceAppearance|ackFaceTexture|ackgroundAppearance|ackgroundTasksSettings|acksubstitution|eveled|ezierCurve3DBox|ezierCurve3DBoxOptions|ezierCurveBox|ezierCurveBoxOptions|lankForm|ounds|ox|oxDimensions|oxForm|oxID|oxRotation|oxRotationPoint|ra|raKet|rowserCategory|uttonCell|uttonContents|uttonStyleMenuListing)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"C(?:acheGraphics|achedValue|ardinalBSplineBasis|ellBoundingBox|ellContents|ellElementSpacings|ellElementsBoundingBox|ellFrameStyle|ellInsertionPointCell|ellTrayPosition|ellTrayWidgets|hangeOptions|hannelDatabin|hannelListenerWait|hannelPreSendFunction|hartElementData|hartElementDataFunction|heckAll|heckboxBox|heckboxBoxOptions|ircleBox|lipboardNotebook|lockwiseContourIntegral|losed|losingEvent|loudConnections|loudObjectInformation|loudObjectInformationData|loudUserID|oarse|oefficientDomain|olonForm|olorSetterBox|olorSetterBoxOptions|olumnBackgrounds|ompilerEnvironmentAppend|ompletionsListPacket|omponentwiseContextMenu|ompressedData|oneBox|onicHullRegion3DBox|onicHullRegion3DBoxOptions|onicHullRegionBox|onicHullRegionBoxOptions|onnect|ontentsBoundingBox|ontextMenu|ontinuation|ontourIntegral|ontourSmoothing|ontrolAlignment|ontrollerDuration|ontrollerInformationData|onvertToPostScript|onvertToPostScriptPacket|ookies|opyTag|ounterBox|ounterBoxOptions|ounterClockwiseContourIntegral|ounterEvaluator|ounterStyle|uboidBox|uboidBoxOptions|urlyDoubleQuote|urlyQuote|ylinderBox|ylinderBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"D(?:OSTextFormat|ampingFactor|ataCompression|atasetDisplayPanel|ateDelimiters|ebugTag|ecimal|efault2DTool|efault3DTool|efaultAttachedCellStyle|efaultControlPlacement|efaultDockedCellStyle|efaultInputFormatType|efaultOutputFormatType|efaultStyle|efaultTextFormatType|efaultTextInlineFormatType|efaultValue|efineExternal|egreeLexicographic|egreeReverseLexicographic|eleteWithContents|elimitedArray|estroyAfterEvaluation|eviceOpenQ|ialogIndent|ialogLevel|ifferenceOrder|igitBlockMinimum|isableConsolePrintPacket|iskBox|iskBoxOptions|ispatchQ|isplayRules|isplayTemporary|istributionDomain|ivergence|ocumentGeneratorInformationData|omainRegistrationInformation|oubleContourIntegral|oublyInfinite|own|rawBackFaces|rawFrontFaces|rawHighlighted|ualLinearProgramming|umpGet|ynamicBox|ynamicBoxOptions|ynamicLocation|ynamicModuleBox|ynamicModuleBoxOptions|ynamicModuleParent|ynamicName|ynamicNamespace|ynamicReference|ynamicWrapperBox|ynamicWrapperBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"E(?:ditButtonSettings|liminationOrder|llipticReducedHalfPeriods|mbeddingObject|mphasizeSyntaxErrors|mpty|nableConsolePrintPacket|ndAdd|ngineEnvironment|nter|qualColumns|qualRows|quatedTo|rrorBoxOptions|rrorNorm|rrorPacket|rrorsDialogSettings|valuated|valuationMode|valuationOrder|valuationRateLimit|ventEvaluator|ventHandlerTag|xactRootIsolation|xitDialog|xpectationE|xportPacket|xpressionPacket|xternalCall|xternalFunctionName)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"F(?:EDisableConsolePrintPacket|EEnableConsolePrintPacket|ail|ileInformation|ileName|illForm|illedCurveBox|illedCurveBoxOptions|ine|itAll|lashSelection|ont|ontName|ontOpacity|ontPostScriptName|ontReencoding|ormatRules|ormatValues|rameInset|rameless|rontEndObject|rontEndResource|rontEndResourceString|rontEndStackSize|rontEndValueCache|rontEndVersion|rontFaceColor|rontFaceGlowColor|rontFaceOpacity|rontFaceSpecularColor|rontFaceSpecularExponent|rontFaceSurfaceAppearance|rontFaceTexture|ullAxes)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"G(?:eneratedCellStyles|eneric|eometricTransformation3DBox|eometricTransformation3DBoxOptions|eometricTransformationBox|eometricTransformationBoxOptions|estureHandlerTag|etContext|etFileName|etLinebreakInformationPacket|lobalPreferences|lobalSession|raphLayerLabels|raphRoot|raphics3DBox|raphics3DBoxOptions|raphicsBaseline|raphicsBox|raphicsBoxOptions|raphicsComplex3DBox|raphicsComplex3DBoxOptions|raphicsComplexBox|raphicsComplexBoxOptions|raphicsContents|raphicsData|raphicsGridBox|raphicsGroup3DBox|raphicsGroup3DBoxOptions|raphicsGroupBox|raphicsGroupBoxOptions|raphicsGrouping|raphicsStyle|reekStyle|ridBoxAlignment|ridBoxBackground|ridBoxDividers|ridBoxFrame|ridBoxItemSize|ridBoxItemStyle|ridBoxOptions|ridBoxSpacings|ridElementStyleOptions|roupOpenerColor|roupOpenerInsideFrame|roupTogetherGrouping|roupTogetherNestedGrouping)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"H(?:eadCompose|eaders|elpBrowserLookup|elpBrowserNotebook|elpViewerSettings|essian|exahedronBox|exahedronBoxOptions|ighlightString|omePage|orizontal|orizontalForm|orizontalScrollPosition|yperlinkCreationSettings|yphenationOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"I(?:conizedObject|gnoreSpellCheck|mageCache|mageCacheValid|mageEditMode|mageMarkers|mageOffset|mageRangeCache|mageSizeCache|mageSizeRaw|nactiveStyle|ncludeSingularTerm|ndent|ndentMaxFraction|ndentingNewlineSpacings|ndexCreationOptions|ndexTag|nequality|nexactNumbers|nformationData|nformationDataGrid|nlineCounterAssignments|nlineCounterIncrements|nlineRules|nputFieldBox|nputFieldBoxOptions|nputGrouping|nputSettings|nputToBoxFormPacket|nsertionPointObject|nset3DBox|nset3DBoxOptions|nsetBox|nsetBoxOptions|ntegral|nterlaced|nterpolationPrecision|nterpretTemplate|nterruptSettings|nto|nvisibleApplication|nvisibleTimes|temBox|temBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"J(?:acobian|oinedCurveBox|oinedCurveBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"K(?:|ernelExecute|et)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"L(?:abeledSlider|ambertW|anguageOptions|aunch|ayoutInformation|exicographic|icenseID|ine3DBox|ine3DBoxOptions|ineBox|ineBoxOptions|ineBreak|ineWrapParts|inearFilter|inebreakSemicolonWeighting|inkConnectedQ|inkError|inkFlush|inkHost|inkMode|inkOptions|inkReadHeld|inkService|inkWriteHeld|istPickerBoxBackground|isten|iteralSearch|ocalizeDefinitions|ocatorBox|ocatorBoxOptions|ocatorCentering|ocatorPaneBox|ocatorPaneBoxOptions|ongEqual|ongForm|oopback)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"M(?:achineID|achineName|acintoshSystemPageSetup|ainSolve|aintainDynamicCaches|akeRules|atchLocalNameQ|aterial|athMLText|athematicaNotation|axBend|axPoints|enu|enuAppearance|enuEvaluator|enuItem|enuList|ergeDifferences|essageObject|essageOptions|essagesNotebook|etaCharacters|ethodOptions|inRecursion|inSize|ode|odular|onomialOrder|ouseAppearanceTag|ouseButtons|ousePointerNote|ultiLetterItalics|ultiLetterStyle|ultiplicity|ultiscriptBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"N(?:BernoulliB|ProductFactors|SumTerms|Values|amespaceBox|amespaceBoxOptions|estedScriptRules|etworkPacketRecordingDuring|ext|onAssociative|ormalGrouping|otebookDefault|otebookInterfaceObject)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"O(?:LEData|bjectExistsQ|pen|penFunctionInspectorPacket|penSpecialOptions|penerBox|penerBoxOptions|ptionQ|ptionValueBox|ptionValueBoxOptions|ptionsPacket|utputFormData|utputGrouping|utputMathEditExpression|ver|verlayBox|verlayBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"P(?:ackPaclet|ackage|acletDirectoryAdd|acletDirectoryRemove|acletInformation|acletObjectQ|acletUpdate|ageHeight|alettesMenuSettings|aneBox|aneBoxOptions|aneSelectorBox|aneSelectorBoxOptions|anelBox|anelBoxOptions|aperWidth|arameter|arameterVariables|arentConnect|arentForm|arentList|arenthesize|artialD|asteAutoQuoteCharacters|ausedTime|eriodicInterpolation|erpendicular|ickMode|ickedElements|ivoting|lotRangeClipPlanesStyle|oint3DBox|oint3DBoxOptions|ointBox|ointBoxOptions|olygon3DBox|olygon3DBoxOptions|olygonBox|olygonBoxOptions|olygonHoleScale|olygonScale|olyhedronBox|olyhedronBoxOptions|olynomialForm|olynomials|opupMenuBox|opupMenuBoxOptions|ostScript|recedence|redictionRoot|referencesSettings|revious|rimaryPlaceholder|rintForm|rismBox|rismBoxOptions|rivateFrontEndOptions|robabilityPr|rocessStateDomain|rocessTimeDomain|rogressIndicatorBox|rogressIndicatorBoxOptions|romptForm|yramidBox|yramidBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"R(?:adioButtonBox|adioButtonBoxOptions|andomSeed|angeSpecification|aster3DBox|aster3DBoxOptions|asterBox|asterBoxOptions|ationalFunctions|awArray|awMedium|ebuildPacletData|ectangleBox|ecurringDigitsForm|eferenceMarkerStyle|eferenceMarkers|einstall|emoved|epeatedString|esourceAcquire|esourceSubmissionObject|eturnCreatesNewCell|eturnEntersInput|eturnInputFormPacket|otationBox|otationBoxOptions|oundImplies|owBackgrounds|owHeights|uleCondition|uleForm)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"S(?:aveAutoDelete|caledMousePosition|cheduledTaskInformationData|criptForm|criptRules|ectionGrouping|electWithContents|election|electionCell|electionCellCreateCell|electionCellDefaultStyle|electionCellParentStyle|electionPlaceholder|elfLoops|erviceResponse|etOptionsPacket|etSecuredAuthenticationKey|etbacks|etterBox|etterBoxOptions|howAutoConvert|howCodeAssist|howControls|howGroupOpenCloseIcon|howInvisibleCharacters|howPredictiveInterface|howSyntaxStyles|hrinkWrapBoundingBox|ingleEvaluation|ingleLetterStyle|lider2DBox|lider2DBoxOptions|ocket|olveDelayed|oundAndGraphics|pace|paceForm|panningCharacters|phereBox|phereBoxOptions|tartupSound|tringBreak|tringByteCount|tripStyleOnPaste|trokeForm|tructuredArrayHeadQ|tyleKeyMapping|tyleNames|urfaceAppearance|yntax|ystemException|ystemGet|ystemInformationData|ystemStub|ystemTest)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"T(?:ab|abViewBox|abViewBoxOptions|ableViewBox|ableViewBoxAlignment|ableViewBoxBackground|ableViewBoxHeaders|ableViewBoxItemSize|ableViewBoxItemStyle|ableViewBoxOptions|agBoxNote|agStyle|emplateEvaluate|emplateSlotSequence|emplateUnevaluated|emplateVerbatim|emporaryVariable|ensorQ|etrahedronBox|etrahedronBoxOptions|ext3DBox|ext3DBoxOptions|extBand|extBoundingBox|extBox|extForm|extLine|extParagraph|hisLink|itleGrouping|oColor|oggle|oggleFalse|ogglerBox|ogglerBoxOptions|ooBig|ooltipBox|ooltipBoxOptions|otalHeight|raceAction|raceInternal|raceLevel|rackCellChangeTimes|raditionalNotation|raditionalOrder|ransparentColor|rapEnterKey|rapSelection|ubeBSplineCurveBox|ubeBSplineCurveBoxOptions|ubeBezierCurveBox|ubeBezierCurveBoxOptions|ubeBox|ubeBoxOptions)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"U(?:ntrackedVariables|p|seGraphicsRange|serDefinedWavelet|sing)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"V(?:2Get|alueBox|alueBoxOptions|alueForm|aluesData|ectorGlyphData|erbose|ertical|erticalForm|iewPointSelectorSettings|iewPort|irtualGroupData|isibleCell)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"W(?:aitUntil|ebPageMetaInformation|holeCellGroupOpener|indowPersistentStyles|indowSelected|indowWidth|olframAlphaDate|olframAlphaQuantity|olframAlphaResult|olframCloudSettings)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"\\\\$(?:ActivationGroupID|ActivationUserRegistered|AddOnsDirectory|BoxForms|CloudConnection|CloudVersionNumber|CloudWolframEngineVersionNumber|ConditionHold|DefaultMailbox|DefaultPath|FinancialDataSource|GeoEntityTypes|GeoLocationPrecision|HTMLExportRules|HTTPRequest|LaunchDirectory|LicenseProcesses|LicenseSubprocesses|LicenseType|LinkSupported|LoadedFiles|MaxLicenseProcesses|MaxLicenseSubprocesses|MinorReleaseNumber|NetworkLicense|Off|OutputForms|PatchLevelID|PermissionsGroupBase|PipeSupported|PreferencesDirectory|PrintForms|PrintLiteral|RegisteredDeviceClasses|RegisteredUserName|SecuredAuthenticationKeyTokens|SetParentLink|SoundDisplay|SuppressInputFormHeads|SystemMemory|TraceOff|TraceOn|TracePattern|TracePostAction|TracePreAction|UserAgentLanguages|UserAgentMachine|UserAgentName|UserAgentOperatingSystem|UserAgentVersion|UserName)(?![$`[:alnum:]])","name":"support.function.undocumented.wolfram"},{"match":"A(?:ctiveClassification|ctiveClassificationObject|ctivePrediction|ctivePredictionObject|ddToSearchIndex|ggregatedEntityClass|ggregationLayer|ngleBisector|nimatedImage|nimationVideo|nomalyDetector|ppendLayer|pplication|pplyReaction|round|roundReplace|rrayReduce|sk|skAppend|skConfirm|skDisplay|skFunction|skState|skTemplateDisplay|skedQ|skedValue|ssessmentFunction|ssessmentResultObject|ssumeDeterministic|stroAngularSeparation|stroBackground|stroCenter|stroDistance|stroGraphics|stroGridLines|stroGridLinesStyle|stroPosition|stroProjection|stroRange|stroRangePadding|stroReferenceFrame|stroStyling|stroZoomLevel|tom|tomCoordinates|tomCount|tomDiagramCoordinates|tomLabelStyle|tomLabels|tomList|ttachCell|ttentionLayer|udioAnnotate|udioAnnotationLookup|udioIdentify|udioInstanceQ|udioPause|udioPlay|udioRecord|udioStop|udioStreams??|udioTrackApply|udioTrackSelection|utocomplete|utocompletionFunction|xiomaticTheory|xisLabel|xisObject|xisStyle)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"B(?:asicRecurrentLayer|atchNormalizationLayer|atchSize|ayesianMaximization|ayesianMaximizationObject|ayesianMinimization|ayesianMinimizationObject|esagL|innedVariogramList|inomialPointProcess|ioSequence|ioSequenceBackTranslateList|ioSequenceComplement|ioSequenceInstances|ioSequenceModify|ioSequencePlot|ioSequenceQ|ioSequenceReverseComplement|ioSequenceTranscribe|ioSequenceTranslate|itRate|lockDiagonalMatrix|lockLowerTriangularMatrix|lockUpperTriangularMatrix|lockchainAddressData|lockchainBase|lockchainBlockData|lockchainContractValue|lockchainData|lockchainGet|lockchainKeyEncode|lockchainPut|lockchainTokenData|lockchainTransaction|lockchainTransactionData|lockchainTransactionSign|lockchainTransactionSubmit|ond|ondCount|ondLabelStyle|ondLabels|ondList|ondQ|uildCompiledComponent)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"C(?:TCLossLayer|achePersistence|anvas|ast|ategoricalDistribution|atenateLayer|auchyPointProcess|hannelBase|hannelBrokerAction|hannelHistoryLength|hannelListen|hannelListeners??|hannelObject|hannelReceiverFunction|hannelSend|hannelSubscribers|haracterNormalize|hemicalConvert|hemicalFormula|hemicalInstance|hemicalReaction|loudExpressions??|loudRenderingMethod|ombinatorB|ombinatorC|ombinatorI|ombinatorK|ombinatorS|ombinatorW|ombinatorY|ombinedEntityClass|ompiledCodeFunction|ompiledComponent|ompiledExpressionDeclaration|ompiledLayer|ompilerCallback|ompilerEnvironment|ompilerEnvironmentAppendTo|ompilerEnvironmentObject|ompilerOptions|omplementedEntityClass|omputeUncertainty|onfirmQuiet|onformationMethod|onnectSystemModelComponents|onnectSystemModelController|onnectedMoleculeComponents|onnectedMoleculeQ|onnectionSettings|ontaining|ontentDetectorFunction|ontentFieldOptions|ontentLocationFunction|ontentObject|ontrastiveLossLayer|onvolutionLayer|reateChannel|reateCloudExpression|reateCompilerEnvironment|reateDataStructure|reateDataSystemModel|reateLicenseEntitlement|reateSearchIndex|reateSystemModel|reateTypeInstance|rossEntropyLossLayer|urrentNotebookImage|urrentScreenImage|urryApplied)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"D(?:SolveChangeVariables|ataStructureQ??|atabaseConnect|atabaseDisconnect|atabaseReference|atabinSubmit|ateInterval|eclareCompiledComponent|econvolutionLayer|ecryptFile|eleteChannel|eleteCloudExpression|eleteElements|eleteSearchIndex|erivedKey|iggleGatesPointProcess|iggleGrattonPointProcess|igitalSignature|isableFormatting|ocumentWeightingRules|otLayer|ownValuesFunction|ropoutLayer|ynamicImage)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"E(?:choTiming|lementwiseLayer|mbeddedSQLEntityClass|mbeddedSQLExpression|mbeddingLayer|mptySpaceF|ncryptFile|ntityFunction|ntityStore|stimatedPointProcess|stimatedVariogramModel|valuationEnvironment|valuationPrivileges|xpirationDate|xpressionTree|xtendedEntityClass|xternalEvaluate|xternalFunction|xternalIdentifier|xternalObject|xternalSessionObject|xternalSessions|xternalStorageBase|xternalStorageDownload|xternalStorageGet|xternalStorageObject|xternalStoragePut|xternalStorageUpload|xternalValue|xtractLayer)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"F(?:aceRecognize|eatureDistance|eatureExtract|eatureExtraction|eatureExtractor|eatureExtractorFunction|ileConvert|ileFormatProperties|ileNameToFormatList|ileSystemTree|ilteredEntityClass|indChannels|indEquationalProof|indExternalEvaluators|indGeometricConjectures|indImageText|indIsomers|indMoleculeSubstructure|indPointProcessParameters|indSystemModelEquilibrium|indTextualAnswer|lattenLayer|orAllType|ormControl|orwardCloudCredentials|oxHReduce|rameListVideo|romRawPointer|unctionCompile|unctionCompileExport|unctionCompileExportByteArray|unctionCompileExportLibrary|unctionCompileExportString|unctionDeclaration|unctionLayer|unctionPoles)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"G(?:alleryView|atedRecurrentLayer|enerateDerivedKey|enerateDigitalSignature|enerateFileSignature|enerateSecuredAuthenticationKey|eneratedAssetFormat|eneratedAssetLocation|eoGraphValuePlot|eoOrientationData|eometricAssertion|eometricScene|eometricStep|eometricStylingRules|eometricTest|ibbsPointProcess|raphTree|ridVideo)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"H(?:andlerFunctions|andlerFunctionsKeys|ardcorePointProcess|istogramPointDensity)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"I(?:gnoreIsotopes|gnoreStereochemistry|mageAugmentationLayer|mageBoundingBoxes|mageCases|mageContainsQ|mageContents|mageGraphics|magePosition|magePyramid|magePyramidApply|mageStitch|mportedObject|ncludeAromaticBonds|ncludeHydrogens|ncludeRelatedTables|nertEvaluate|nertExpression|nfiniteFuture|nfinitePast|nhomogeneousPoissonPointProcess|nitialEvaluationHistory|nitializationObjects??|nitializationValue|nitialize|nputPorts|ntegrateChangeVariables|nterfaceSwitched|ntersectedEntityClass|nverseImagePyramid)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"Kernel(?:Configura|Func)tion(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"L(?:earningRateMultipliers|ibraryFunctionDeclaration|icenseEntitlementObject|icenseEntitlements|icensingSettings|inearLayer|iteralType|oadCompiledComponent|ocalResponseNormalizationLayer|ongShortTermMemoryLayer|ossFunction)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"M(?:IMETypeToFormatList|ailExecute|ailFolder|ailItem|ailSearch|ailServerConnect|ailServerConnection|aternPointProcess|axDisplayedChildren|axTrainingRounds|axWordGap|eanAbsoluteLossLayer|eanAround|eanPointDensity|eanSquaredLossLayer|ergingFunction|idpoint|issingValuePattern|issingValueSynthesis|olecule|oleculeAlign|oleculeContainsQ|oleculeDraw|oleculeFreeQ|oleculeGraph|oleculeMatchQ|oleculeMaximumCommonSubstructure|oleculeModify|oleculeName|oleculePattern|oleculePlot|oleculePlot3D|oleculeProperty|oleculeQ|oleculeRecognize|oleculeSubstructureCount|oleculeValue)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"N(?:BodySimulation|BodySimulationData|earestNeighborG|estTree|etAppend|etArray|etArrayLayer|etBidirectionalOperator|etChain|etDecoder|etDelete|etDrop|etEncoder|etEvaluationMode|etExternalObject|etExtract|etFlatten|etFoldOperator|etGANOperator|etGraph|etInitialize|etInsert|etInsertSharedArrays|etJoin|etMapOperator|etMapThreadOperator|etMeasurements|etModel|etNestOperator|etPairEmbeddingOperator|etPort|etPortGradient|etPrepend|etRename|etReplace|etReplacePart|etStateObject|etTake|etTrain|etTrainResultsObject|etUnfold|etworkPacketCapture|etworkPacketRecording|etworkPacketTrace|eymanScottPointProcess|ominalScale|ormalizationLayer|umericArrayQ??|umericArrayType)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"O(?:peratorApplied|rderingLayer|rdinalScale|utputPorts|verlayVideo)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"P(?:acletSymbol|addingLayer|agination|airCorrelationG|arametricRampLayer|arentEdgeLabel|arentEdgeLabelFunction|arentEdgeLabelStyle|arentEdgeShapeFunction|arentEdgeStyle|arentEdgeStyleFunction|artLayer|artProtection|atternFilling|atternReaction|enttinenPointProcess|erpendicularBisector|ersistenceLocation|ersistenceTime|ersistentObjects??|ersistentSymbol|itchRecognize|laceholderLayer|laybackSettings|ointCountDistribution|ointDensity|ointDensityFunction|ointProcessEstimator|ointProcessFitTest|ointProcessParameterAssumptions|ointProcessParameterQ|ointStatisticFunction|ointValuePlot|oissonPointProcess|oolingLayer|rependLayer|roofObject|ublisherID)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"Question(?:Generator|Interface|Object|Selector)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"R(?:andomArrayLayer|andomInstance|andomPointConfiguration|andomTree|eactionBalance|eactionBalancedQ|ecalibrationFunction|egisterExternalEvaluator|elationalDatabase|emoteAuthorizationCaching|emoteBatchJobAbort|emoteBatchJobObject|emoteBatchJobs|emoteBatchMapSubmit|emoteBatchSubmissionEnvironment|emoteBatchSubmit|emoteConnect|emoteConnectionObject|emoteEvaluate|emoteFile|emoteInputFiles|emoteProviderSettings|emoteRun|emoteRunProcess|emovalConditions|emoveAudioStream|emoveChannelListener|emoveChannelSubscribers|emoveVideoStream|eplicateLayer|eshapeLayer|esizeLayer|esourceFunction|esourceRegister|esourceRemove|esourceSubmit|esourceSystemBase|esourceSystemPath|esourceUpdate|esourceVersion|everseApplied|ipleyK|ipleyRassonRegion|ootTree|ulesTree)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"S(?:ameTestProperties|ampledEntityClass|earchAdjustment|earchIndexObject|earchIndices|earchQueryString|earchResultObject|ecuredAuthenticationKeys??|ecurityCertificate|equenceIndicesLayer|equenceLastLayer|equenceMostLayer|equencePredict|equencePredictorFunction|equenceRestLayer|equenceReverseLayer|erviceRequest|erviceSubmit|etFileFormatProperties|etSystemModel|lideShowVideo|moothPointDensity|nippet|nippetsVideo|nubPolyhedron|oftmaxLayer|olidBoundaryLoadValue|olidDisplacementCondition|olidFixedCondition|olidMechanicsPDEComponent|olidMechanicsStrain|olidMechanicsStress|ortedEntityClass|ourceLink|patialBinnedPointData|patialBoundaryCorrection|patialEstimate|patialEstimatorFunction|patialJ|patialNoiseLevel|patialObservationRegionQ|patialPointData|patialPointSelect|patialRandomnessTest|patialTransformationLayer|patialTrendFunction|peakerMatchQ|peechCases|peechInterpreter|peechRecognize|plice|tartExternalSession|tartWebSession|tereochemistryElements|traussHardcorePointProcess|traussPointProcess|ubsetCases|ubsetCount|ubsetPosition|ubsetReplace|ubtitleTrackSelection|ummationLayer|ymmetricDifference|ynthesizeMissingValues|ystemCredential|ystemCredentialData|ystemCredentialKeys??|ystemCredentialStoreObject|ystemInstall|ystemModel|ystemModelExamples|ystemModelLinearize|ystemModelMeasurements|ystemModelParametricSimulate|ystemModelPlot|ystemModelReliability|ystemModelSimulate|ystemModelSimulateSensitivity|ystemModelSimulationData|ystemModeler|ystemModels)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"T(?:ableView|argetDevice|argetSystem|ernaryListPlot|ernaryPlotCorners|extCases|extContents|extElement|extPosition|extSearch|extSearchReport|extStructure|homasPointProcess|hreaded|hreadingLayer|ickDirection|ickLabelOrientation|ickLabelPositioning|ickLabels|ickLengths|ickPositions|oRawPointer|otalLayer|ourVideo|rainImageContentDetector|rainTextContentDetector|rainingProgressCheckpointing|rainingProgressFunction|rainingProgressMeasurements|rainingProgressReporting|rainingStoppingCriterion|rainingUpdateSchedule|ransposeLayer|ree|reeCases|reeChildren|reeCount|reeData|reeDelete|reeDepth|reeElementCoordinates|reeElementLabel|reeElementLabelFunction|reeElementLabelStyle|reeElementShape|reeElementShapeFunction|reeElementSize|reeElementSizeFunction|reeElementStyle|reeElementStyleFunction|reeExpression|reeExtract|reeFold|reeInsert|reeLayout|reeLeafCount|reeLeafQ|reeLeaves|reeLevel|reeMap|reeMapAt|reeOutline|reePosition|reeQ|reeReplacePart|reeRules|reeScan|reeSelect|reeSize|reeTraversalOrder|riangleCenter|riangleConstruct|riangleMeasurement|ypeDeclaration|ypeEvaluate|ypeOf|ypeSpecifier|yped)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"U(?:RLDownloadSubmit|nconstrainedParameters|nionedEntityClass|niqueElements|nitVectorLayer|nlabeledTree|nmanageObject|nregisterExternalEvaluator|pdateSearchIndex|seEmbeddedLibrary)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"V(?:alenceErrorHandling|alenceFilling|aluePreprocessingFunction|andermondeMatrix|arianceGammaPointProcess|ariogramFunction|ariogramModel|ectorAround|erifyDerivedKey|erifyDigitalSignature|erifyFileSignature|erifyInterpretation|ideo|ideoCapture|ideoCombine|ideoDelete|ideoExtractFrames|ideoFrameList|ideoFrameMap|ideoGenerator|ideoInsert|ideoIntervals|ideoJoin|ideoMap|ideoMapList|ideoMapTimeSeries|ideoPadding|ideoPause|ideoPlay|ideoQ|ideoRecord|ideoReplace|ideoScreenCapture|ideoSplit|ideoStop|ideoStreams??|ideoTimeStretch|ideoTrackSelection|ideoTranscode|ideoTransparency|ideoTrim)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"W(?:ebAudioSearch|ebColumn|ebElementObject|ebExecute|ebImage|ebImageSearch|ebItem|ebRow|ebSearch|ebSessionObject|ebSessions|ebWindowObject|ikidataData|ikidataSearch|ikipediaSearch|ithCleanup|ithLock)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"Zoom(?:Center|Factor)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"\\\\$(?:AllowExternalChannelFunctions|AudioDecoders|AudioEncoders|BlockchainBase|ChannelBase|CompilerEnvironment|CookieStore|CryptographicEllipticCurveNames|CurrentWebSession|DataStructures|DefaultNetworkInterface|DefaultProxyRules|DefaultRemoteBatchSubmissionEnvironment|DefaultRemoteKernel|DefaultSystemCredentialStore|ExternalIdentifierTypes|ExternalStorageBase|GeneratedAssetLocation|IncomingMailSettings|Initialization|InitializationContexts|MaxDisplayedChildren|NetworkInterfaces|NoValue|PersistenceBase|PersistencePath|PreInitialization|PublisherID|ResourceSystemBase|ResourceSystemPath|SSHAuthentication|ServiceCreditsAvailable|SourceLink|SubtitleDecoders|SubtitleEncoders|SystemCredentialStore|TargetSystems|TestFileName|VideoDecoders|VideoEncoders|VoiceStyles)(?![$`[:alnum:]])","name":"support.function.experimental.wolfram"},{"match":"A(?:ll|ny)False(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"Boolean(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"C(?:loudbase|omplexQ)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"DataSet(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"Exp(?:andFilename|ortPacket)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"Fa(?:iled|lseQ)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"Interpolation(?:Function|Polynomial)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"Match(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"Option(?:Pattern|sQ)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"R(?:ation|e)alQ(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"S(?:tringMatch|ymbolQ)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"U(?:nSameQ|rlExecute)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"\\\\$(?:PathNameSeparator|RegisteredUsername)(?![$`[:alnum:]])","name":"invalid.bad.wolfram"},{"match":"E(?:cho|xit)(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"In(?:|String)(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"Out(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"Print(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"Quit(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"\\\\$(?:HistoryLength|Line|Post|Pre|PrePrint|PreRead|SyntaxHandler)(?![$`[:alnum:]])","name":"invalid.session.wolfram"},{"match":"[$[:alpha:]][$[:alnum:]]*(?=\\\\s*(\\\\[(?!\\\\s*\\\\[)|@(?!@)))","name":"variable.function.wolfram"},{"match":"[$[:alpha:]][$[:alnum:]]*","name":"symbol.unrecognized.wolfram"}]}},"scopeName":"source.wolfram","aliases":["wl"]}', + ), + ), + t = [e] +export { t as default } +//# sourceMappingURL=chunk-lXgVvXCa.js.map diff --git a/src/webview-ui/build/assets/chunk-lXgVvXCa.js.map b/src/webview-ui/build/assets/chunk-lXgVvXCa.js.map new file mode 100644 index 0000000000..056781a60c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-lXgVvXCa.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-lXgVvXCa.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/wolfram.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Wolfram\\\",\\\"fileTypes\\\":[\\\"wl\\\",\\\"m\\\",\\\"wls\\\",\\\"wlt\\\",\\\"mt\\\"],\\\"name\\\":\\\"wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#main\\\"}],\\\"repository\\\":{\\\"association-group\\\":{\\\"begin\\\":\\\"<\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.associations.begin.wolfram\\\"}},\\\"end\\\":\\\"\\\\\\\\|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.associations.end.wolfram\\\"}},\\\"name\\\":\\\"meta.associations.wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},\\\"brace-group\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.wolfram\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.wolfram\\\"}},\\\"name\\\":\\\"meta.braces.wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},\\\"bracket-group\\\":{\\\"begin\\\":\\\"::\\\\\\\\[|\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.begin.wolfram\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.end.wolfram\\\"}},\\\"name\\\":\\\"meta.brackets.wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.wolfram\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.wolfram\\\"}},\\\"name\\\":\\\"comment.block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},{\\\"match\\\":\\\"\\\\\\\\*\\\\\\\\)\\\",\\\"name\\\":\\\"invalid.illegal.stray-comment-end.wolfram\\\"}]},\\\"escaped_character_symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"System`\\\\\\\\\\\\\\\\\\\\\\\\[Formal(?:A|Alpha|B|Beta|C|CapitalA|CapitalAlpha|CapitalB|CapitalBeta|CapitalC|CapitalChi|CapitalD|CapitalDelta|CapitalDigamma|CapitalE|CapitalEpsilon|CapitalEta|CapitalF|CapitalG|CapitalGamma|CapitalH|CapitalI|CapitalIota|CapitalJ|CapitalK|CapitalKappa|CapitalKoppa|CapitalL|CapitalLambda|CapitalMu??|CapitalNu??|CapitalO|CapitalOmega|CapitalOmicron|CapitalP|CapitalPhi|CapitalPi|CapitalPsi|CapitalQ|CapitalR|CapitalRho|CapitalS|CapitalSampi|CapitalSigma|CapitalStigma|CapitalT|CapitalTau|CapitalTheta|CapitalU|CapitalUpsilon|CapitalV|CapitalW|CapitalXi??|CapitalY|CapitalZ|CapitalZeta|Chi|CurlyCapitalUpsilon|CurlyEpsilon|CurlyKappa|CurlyPhi|CurlyPi|CurlyRho|CurlyTheta|D|Delta|Digamma|E|Epsilon|Eta|F|FinalSigma|G|Gamma|[HI]|Iota|[JK]|Kappa|Koppa|L|Lambda|Mu??|Nu??|O|Omega|Omicron|P|Phi|Pi|Psi|[QR]|Rho|S|Sampi|ScriptA|ScriptB|ScriptC|ScriptCapitalA|ScriptCapitalB|ScriptCapitalC|ScriptCapitalD|ScriptCapitalE|ScriptCapitalF|ScriptCapitalG|ScriptCapitalH|ScriptCapitalI|ScriptCapitalJ|ScriptCapitalK|ScriptCapitalL|ScriptCapitalM|ScriptCapitalN|ScriptCapitalO|ScriptCapitalP|ScriptCapitalQ|ScriptCapitalR|ScriptCapitalS|ScriptCapitalT|ScriptCapitalU|ScriptCapitalV|ScriptCapitalW|ScriptCapitalX|ScriptCapitalY|ScriptCapitalZ|ScriptD|ScriptE|ScriptF|ScriptG|ScriptH|ScriptI|ScriptJ|ScriptK|ScriptL|ScriptM|ScriptN|ScriptO|ScriptP|ScriptQ|ScriptR|ScriptS|ScriptT|ScriptU|ScriptV|ScriptW|ScriptX|ScriptY|ScriptZ|Sigma|Stigma|T|Tau|Theta|U|Upsilon|[VW]|Xi??|[YZ]|Zeta)](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`\\\\\\\\\\\\\\\\\\\\\\\\[SystemsModelDelay](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Formal(?:A|Alpha|B|Beta|C|CapitalA|CapitalAlpha|CapitalB|CapitalBeta|CapitalC|CapitalChi|CapitalD|CapitalDelta|CapitalDigamma|CapitalE|CapitalEpsilon|CapitalEta|CapitalF|CapitalG|CapitalGamma|CapitalH|CapitalI|CapitalIota|CapitalJ|CapitalK|CapitalKappa|CapitalKoppa|CapitalL|CapitalLambda|CapitalMu??|CapitalNu??|CapitalO|CapitalOmega|CapitalOmicron|CapitalP|CapitalPhi|CapitalPi|CapitalPsi|CapitalQ|CapitalR|CapitalRho|CapitalS|CapitalSampi|CapitalSigma|CapitalStigma|CapitalT|CapitalTau|CapitalTheta|CapitalU|CapitalUpsilon|CapitalV|CapitalW|CapitalXi??|CapitalY|CapitalZ|CapitalZeta|Chi|CurlyCapitalUpsilon|CurlyEpsilon|CurlyKappa|CurlyPhi|CurlyPi|CurlyRho|CurlyTheta|D|Delta|Digamma|E|Epsilon|Eta|F|FinalSigma|G|Gamma|[HI]|Iota|[JK]|Kappa|Koppa|L|Lambda|Mu??|Nu??|O|Omega|Omicron|P|Phi|Pi|Psi|[QR]|Rho|S|Sampi|ScriptA|ScriptB|ScriptC|ScriptCapitalA|ScriptCapitalB|ScriptCapitalC|ScriptCapitalD|ScriptCapitalE|ScriptCapitalF|ScriptCapitalG|ScriptCapitalH|ScriptCapitalI|ScriptCapitalJ|ScriptCapitalK|ScriptCapitalL|ScriptCapitalM|ScriptCapitalN|ScriptCapitalO|ScriptCapitalP|ScriptCapitalQ|ScriptCapitalR|ScriptCapitalS|ScriptCapitalT|ScriptCapitalU|ScriptCapitalV|ScriptCapitalW|ScriptCapitalX|ScriptCapitalY|ScriptCapitalZ|ScriptD|ScriptE|ScriptF|ScriptG|ScriptH|ScriptI|ScriptJ|ScriptK|ScriptL|ScriptM|ScriptN|ScriptO|ScriptP|ScriptQ|ScriptR|ScriptS|ScriptT|ScriptU|ScriptV|ScriptW|ScriptX|ScriptY|ScriptZ|Sigma|Stigma|T|Tau|Theta|U|Upsilon|[VW]|Xi??|[YZ]|Zeta)](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[SystemsModelDelay](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Degree](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[ExponentialE](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[I(?:maginaryI|maginaryJ|nfinity)](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Pi](?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"}]},\\\"escaped_characters\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[ !%\\\\\\\\&(-+/@^_`]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[A(?:kuz|ndy)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[C(?:ontinuedFractionK|url)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Div(?:ergence|isionSlash)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[ExpectationE]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[FreeformPrompt]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Gradient]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Laplacian]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[M(?:inus|oon)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[NumberComma]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[P(?:ageBreakAbove|ageBreakBelow|robabilityPr)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[S(?:pooky|tepperDown|tepperLeft|tepperRight|tepperUp|un)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[UnknownGlyph]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Villa]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[WolframAlphaPrompt]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape.undocumented\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[COMPATIBILITY(?:KanjiSpace|NoBreak)]\\\",\\\"name\\\":\\\"invalid.illegal.unsupported\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[InlinePart]\\\",\\\"name\\\":\\\"invalid.illegal.unsupported\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[A(?:Acute|Bar|Cup|DoubleDot|E|Grave|Hat|Ring|Tilde|leph|liasDelimiter|liasIndicator|lignmentMarker|lpha|ltKey|nd|ngle|ngstrom|pplication|quariusSign|riesSign|scendingEllipsis|utoLeftMatch|utoOperand|utoPlaceholder|utoRightMatch|utoSpace)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[B(?:ackslash|eamedEighthNote|eamedSixteenthNote|ecause|eta??|lackBishop|lackKing|lackKnight|lackPawn|lackQueen|lackRook|reve|ullet)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[C(?:Acute|Cedilla|Hacek|ancerSign|ap|apitalAAcute|apitalABar|apitalACup|apitalADoubleDot|apitalAE|apitalAGrave|apitalAHat|apitalARing|apitalATilde|apitalAlpha|apitalBeta|apitalCAcute|apitalCCedilla|apitalCHacek|apitalChi|apitalDHacek|apitalDelta|apitalDifferentialD|apitalDigamma|apitalEAcute|apitalEBar|apitalECup|apitalEDoubleDot|apitalEGrave|apitalEHacek|apitalEHat|apitalEpsilon|apitalEta|apitalEth|apitalGamma|apitalIAcute|apitalICup|apitalIDoubleDot|apitalIGrave|apitalIHat|apitalIota|apitalKappa|apitalKoppa|apitalLSlash|apitalLambda|apitalMu|apitalNHacek|apitalNTilde|apitalNu|apitalOAcute|apitalODoubleAcute|apitalODoubleDot|apitalOE|apitalOGrave|apitalOHat|apitalOSlash|apitalOTilde|apitalOmega|apitalOmicron|apitalPhi|apitalPi|apitalPsi|apitalRHacek|apitalRho|apitalSHacek|apitalSampi|apitalSigma|apitalStigma|apitalTHacek|apitalTau|apitalTheta|apitalThorn|apitalUAcute|apitalUDoubleAcute|apitalUDoubleDot|apitalUGrave|apitalUHat|apitalURing|apitalUpsilon|apitalXi|apitalYAcute|apitalZHacek|apitalZeta|apricornSign|edilla|ent|enterDot|enterEllipsis|heckedBox|heckmark|heckmarkedBox|hi|ircleDot|ircleMinus|irclePlus|ircleTimes|lockwiseContourIntegral|loseCurlyDoubleQuote|loseCurlyQuote|loverLeaf|lubSuit|olon|ommandKey|onditioned|ongruent|onjugate|onjugateTranspose|onstantC|ontinuation|ontourIntegral|ontrolKey|oproduct|opyright|ounterClockwiseContourIntegral|ross|ubeRoot|up|upCap|urlyCapitalUpsilon|urlyEpsilon|urlyKappa|urlyPhi|urlyPi|urlyRho|urlyTheta|urrency)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[D(?:Hacek|agger|alet|ash|egree|el|eleteKey|elta|escendingEllipsis|iameter|iamond|iamondSuit|ifferenceDelta|ifferentialD|igamma|irectedEdge|iscreteRatio|iscreteShift|iscretionaryHyphen|iscretionaryLineSeparator|iscretionaryPageBreakAbove|iscretionaryPageBreakBelow|iscretionaryParagraphSeparator|istributed|ivides??|otEqual|otlessI|otlessJ|ottedSquare|oubleContourIntegral|oubleDagger|oubleDot|oubleDownArrow|oubleLeftArrow|oubleLeftRightArrow|oubleLeftTee|oubleLongLeftArrow|oubleLongLeftRightArrow|oubleLongRightArrow|oublePrime|oubleRightArrow|oubleRightTee|oubleStruckA|oubleStruckB|oubleStruckC|oubleStruckCapitalA|oubleStruckCapitalB|oubleStruckCapitalC|oubleStruckCapitalD|oubleStruckCapitalE|oubleStruckCapitalF|oubleStruckCapitalG|oubleStruckCapitalH|oubleStruckCapitalI|oubleStruckCapitalJ|oubleStruckCapitalK|oubleStruckCapitalL|oubleStruckCapitalM|oubleStruckCapitalN|oubleStruckCapitalO|oubleStruckCapitalP|oubleStruckCapitalQ|oubleStruckCapitalR|oubleStruckCapitalS|oubleStruckCapitalT|oubleStruckCapitalU|oubleStruckCapitalV|oubleStruckCapitalW|oubleStruckCapitalX|oubleStruckCapitalY|oubleStruckCapitalZ|oubleStruckD|oubleStruckE|oubleStruckEight|oubleStruckF|oubleStruckFive|oubleStruckFour|oubleStruckG|oubleStruckH|oubleStruckI|oubleStruckJ|oubleStruckK|oubleStruckL|oubleStruckM|oubleStruckN|oubleStruckNine|oubleStruckO|oubleStruckOne|oubleStruckP|oubleStruckQ|oubleStruckR|oubleStruckS|oubleStruckSeven|oubleStruckSix|oubleStruckT|oubleStruckThree|oubleStruckTwo|oubleStruckU|oubleStruckV|oubleStruckW|oubleStruckX|oubleStruckY|oubleStruckZ|oubleStruckZero|oubleUpArrow|oubleUpDownArrow|oubleVerticalBar|oubledGamma|oubledPi|ownArrow|ownArrowBar|ownArrowUpArrow|ownBreve|ownExclamation|ownLeftRightVector|ownLeftTeeVector|ownLeftVector|ownLeftVectorBar|ownPointer|ownQuestion|ownRightTeeVector|ownRightVector|ownRightVectorBar|ownTee|ownTeeArrow)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[E(?:Acute|Bar|Cup|DoubleDot|Grave|Hacek|Hat|arth|ighthNote|lement|llipsis|mptyCircle|mptyDiamond|mptyDownTriangle|mptyRectangle|mptySet|mptySmallCircle|mptySmallSquare|mptySquare|mptyUpTriangle|mptyVerySmallSquare|nterKey|ntityEnd|ntityStart|psilon|qual|qualTilde|quilibrium|quivalent|rrorIndicator|scapeKey|ta|th|uro|xists|xponentialE)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[F(?:iLigature|illedCircle|illedDiamond|illedDownTriangle|illedLeftTriangle|illedRectangle|illedRightTriangle|illedSmallCircle|illedSmallSquare|illedSquare|illedUpTriangle|illedVerySmallSquare|inalSigma|irstPage|ivePointedStar|lLigature|lat|lorin|orAll|ormalA|ormalAlpha|ormalB|ormalBeta|ormalC|ormalCapitalA|ormalCapitalAlpha|ormalCapitalB|ormalCapitalBeta|ormalCapitalC|ormalCapitalChi|ormalCapitalD|ormalCapitalDelta|ormalCapitalDigamma|ormalCapitalE|ormalCapitalEpsilon|ormalCapitalEta|ormalCapitalF|ormalCapitalG|ormalCapitalGamma|ormalCapitalH|ormalCapitalI|ormalCapitalIota|ormalCapitalJ|ormalCapitalK|ormalCapitalKappa|ormalCapitalKoppa|ormalCapitalL|ormalCapitalLambda|ormalCapitalMu??|ormalCapitalNu??|ormalCapitalO|ormalCapitalOmega|ormalCapitalOmicron|ormalCapitalP|ormalCapitalPhi|ormalCapitalPi|ormalCapitalPsi|ormalCapitalQ|ormalCapitalR|ormalCapitalRho|ormalCapitalS|ormalCapitalSampi|ormalCapitalSigma|ormalCapitalStigma|ormalCapitalT|ormalCapitalTau|ormalCapitalTheta|ormalCapitalU|ormalCapitalUpsilon|ormalCapitalV|ormalCapitalW|ormalCapitalXi??|ormalCapitalY|ormalCapitalZ|ormalCapitalZeta|ormalChi|ormalCurlyCapitalUpsilon|ormalCurlyEpsilon|ormalCurlyKappa|ormalCurlyPhi|ormalCurlyPi|ormalCurlyRho|ormalCurlyTheta|ormalD|ormalDelta|ormalDigamma|ormalE|ormalEpsilon|ormalEta|ormalF|ormalFinalSigma|ormalG|ormalGamma|ormalH|ormalI|ormalIota|ormalJ|ormalK|ormalKappa|ormalKoppa|ormalL|ormalLambda|ormalMu??|ormalNu??|ormalO|ormalOmega|ormalOmicron|ormalP|ormalPhi|ormalPi|ormalPsi|ormalQ|ormalR|ormalRho|ormalS|ormalSampi|ormalScriptA|ormalScriptB|ormalScriptC|ormalScriptCapitalA|ormalScriptCapitalB|ormalScriptCapitalC|ormalScriptCapitalD|ormalScriptCapitalE|ormalScriptCapitalF|ormalScriptCapitalG|ormalScriptCapitalH|ormalScriptCapitalI|ormalScriptCapitalJ|ormalScriptCapitalK|ormalScriptCapitalL|ormalScriptCapitalM|ormalScriptCapitalN|ormalScriptCapitalO|ormalScriptCapitalP|ormalScriptCapitalQ|ormalScriptCapitalR|ormalScriptCapitalS|ormalScriptCapitalT|ormalScriptCapitalU|ormalScriptCapitalV|ormalScriptCapitalW|ormalScriptCapitalX|ormalScriptCapitalY|ormalScriptCapitalZ|ormalScriptD|ormalScriptE|ormalScriptF|ormalScriptG|ormalScriptH|ormalScriptI|ormalScriptJ|ormalScriptK|ormalScriptL|ormalScriptM|ormalScriptN|ormalScriptO|ormalScriptP|ormalScriptQ|ormalScriptR|ormalScriptS|ormalScriptT|ormalScriptU|ormalScriptV|ormalScriptW|ormalScriptX|ormalScriptY|ormalScriptZ|ormalSigma|ormalStigma|ormalT|ormalTau|ormalTheta|ormalU|ormalUpsilon|ormalV|ormalW|ormalXi??|ormalY|ormalZ|ormalZeta|reakedSmiley|unction)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[G(?:amma|eminiSign|imel|othicA|othicB|othicC|othicCapitalA|othicCapitalB|othicCapitalC|othicCapitalD|othicCapitalE|othicCapitalF|othicCapitalG|othicCapitalH|othicCapitalI|othicCapitalJ|othicCapitalK|othicCapitalL|othicCapitalM|othicCapitalN|othicCapitalO|othicCapitalP|othicCapitalQ|othicCapitalR|othicCapitalS|othicCapitalT|othicCapitalU|othicCapitalV|othicCapitalW|othicCapitalX|othicCapitalY|othicCapitalZ|othicD|othicE|othicEight|othicF|othicFive|othicFour|othicG|othicH|othicI|othicJ|othicK|othicL|othicM|othicN|othicNine|othicO|othicOne|othicP|othicQ|othicR|othicS|othicSeven|othicSix|othicT|othicThree|othicTwo|othicU|othicV|othicW|othicX|othicY|othicZ|othicZero|rayCircle|raySquare|reaterEqual|reaterEqualLess|reaterFullEqual|reaterGreater|reaterLess|reaterSlantEqual|reaterTilde)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[H(?:Bar|acek|appySmiley|eartSuit|ermitianConjugate|orizontalLine|umpDownHump|umpEqual|yphen)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[I(?:Acute|Cup|DoubleDot|Grave|Hat|maginaryI|maginaryJ|mplicitPlus|mplies|ndentingNewLine|nfinity|ntegral|ntersection|nvisibleApplication|nvisibleComma|nvisiblePostfixScriptBase|nvisiblePrefixScriptBase|nvisibleSpace|nvisibleTimes|ota)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Jupiter]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[K(?:appa|ernelIcon|eyBar|oppa)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[L(?:Slash|ambda|astPage|eftAngleBracket|eftArrow|eftArrowBar|eftArrowRightArrow|eftAssociation|eftBracketingBar|eftCeiling|eftDoubleBracket|eftDoubleBracketingBar|eftDownTeeVector|eftDownVector|eftDownVectorBar|eftFloor|eftGuillemet|eftModified|eftPointer|eftRightArrow|eftRightVector|eftSkeleton|eftTee|eftTeeArrow|eftTeeVector|eftTriangle|eftTriangleBar|eftTriangleEqual|eftUpDownVector|eftUpTeeVector|eftUpVector|eftUpVectorBar|eftVector|eftVectorBar|eoSign|essEqual|essEqualGreater|essFullEqual|essGreater|essLess|essSlantEqual|essTilde|etterSpace|ibraSign|ightBulb|imit|ineSeparator|ongDash|ongEqual|ongLeftArrow|ongLeftRightArrow|ongRightArrow|owerLeftArrow|owerRightArrow)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[M(?:ars|athematicaIcon|axLimit|easuredAngle|ediumSpace|ercury|ho|icro|inLimit|inusPlus|od1Key|od2Key|u)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[N(?:Hacek|Tilde|and|atural|egativeMediumSpace|egativeThickSpace|egativeThinSpace|egativeVeryThinSpace|eptune|estedGreaterGreater|estedLessLess|eutralSmiley|ewLine|oBreak|onBreakingSpace|or|ot|otCongruent|otCupCap|otDoubleVerticalBar|otElement|otEqual|otEqualTilde|otExists|otGreater|otGreaterEqual|otGreaterFullEqual|otGreaterGreater|otGreaterLess|otGreaterSlantEqual|otGreaterTilde|otHumpDownHump|otHumpEqual|otLeftTriangle|otLeftTriangleBar|otLeftTriangleEqual|otLess|otLessEqual|otLessFullEqual|otLessGreater|otLessLess|otLessSlantEqual|otLessTilde|otNestedGreaterGreater|otNestedLessLess|otPrecedes|otPrecedesEqual|otPrecedesSlantEqual|otPrecedesTilde|otReverseElement|otRightTriangle|otRightTriangleBar|otRightTriangleEqual|otSquareSubset|otSquareSubsetEqual|otSquareSuperset|otSquareSupersetEqual|otSubset|otSubsetEqual|otSucceeds|otSucceedsEqual|otSucceedsSlantEqual|otSucceedsTilde|otSuperset|otSupersetEqual|otTilde|otTildeEqual|otTildeFullEqual|otTildeTilde|otVerticalBar|u|ull|umberSign)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[O(?:Acute|DoubleAcute|DoubleDot|E|Grave|Hat|Slash|Tilde|mega|micron|penCurlyDoubleQuote|penCurlyQuote|ptionKey|r|verBrace|verBracket|verParenthesis)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[P(?:aragraph|aragraphSeparator|artialD|ermutationProduct|erpendicular|hi|i|iecewise|iscesSign|laceholder|lusMinus|luto|recedes|recedesEqual|recedesSlantEqual|recedesTilde|rime|roduct|roportion|roportional|si)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[QuarterNote]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[R(?:Hacek|awAmpersand|awAt|awBackquote|awBackslash|awColon|awComma|awDash|awDollar|awDot|awDoubleQuote|awEqual|awEscape|awExclamation|awGreater|awLeftBrace|awLeftBracket|awLeftParenthesis|awLess|awNumberSign|awPercent|awPlus|awQuestion|awQuote|awReturn|awRightBrace|awRightBracket|awRightParenthesis|awSemicolon|awSlash|awSpace|awStar|awTab|awTilde|awUnderscore|awVerticalBar|awWedge|egisteredTrademark|eturnIndicator|eturnKey|everseDoublePrime|everseElement|everseEquilibrium|eversePrime|everseUpEquilibrium|ho|ightAngle|ightAngleBracket|ightArrow|ightArrowBar|ightArrowLeftArrow|ightAssociation|ightBracketingBar|ightCeiling|ightDoubleBracket|ightDoubleBracketingBar|ightDownTeeVector|ightDownVector|ightDownVectorBar|ightFloor|ightGuillemet|ightModified|ightPointer|ightSkeleton|ightTee|ightTeeArrow|ightTeeVector|ightTriangle|ightTriangleBar|ightTriangleEqual|ightUpDownVector|ightUpTeeVector|ightUpVector|ightUpVectorBar|ightVector|ightVectorBar|oundImplies|oundSpaceIndicator|ule|uleDelayed|upee)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[S(?:Hacek|Z|adSmiley|agittariusSign|ampi|aturn|corpioSign|criptA|criptB|criptC|criptCapitalA|criptCapitalB|criptCapitalC|criptCapitalD|criptCapitalE|criptCapitalF|criptCapitalG|criptCapitalH|criptCapitalI|criptCapitalJ|criptCapitalK|criptCapitalL|criptCapitalM|criptCapitalN|criptCapitalO|criptCapitalP|criptCapitalQ|criptCapitalR|criptCapitalS|criptCapitalT|criptCapitalU|criptCapitalV|criptCapitalW|criptCapitalX|criptCapitalY|criptCapitalZ|criptD|criptDotlessI|criptDotlessJ|criptE|criptEight|criptF|criptFive|criptFour|criptG|criptH|criptI|criptJ|criptK|criptL|criptM|criptN|criptNine|criptO|criptOne|criptP|criptQ|criptR|criptS|criptSeven|criptSix|criptT|criptThree|criptTwo|criptU|criptV|criptW|criptX|criptY|criptZ|criptZero|ection|electionPlaceholder|hah|harp|hiftKey|hortDownArrow|hortLeftArrow|hortRightArrow|hortUpArrow|igma|ixPointedStar|keletonIndicator|mallCircle|paceIndicator|paceKey|padeSuit|panFromAbove|panFromBoth|panFromLeft|phericalAngle|qrt|quare|quareIntersection|quareSubset|quareSubsetEqual|quareSuperset|quareSupersetEqual|quareUnion|tar|terling|tigma|ubset|ubsetEqual|ucceeds|ucceedsEqual|ucceedsSlantEqual|ucceedsTilde|uchThat|um|uperset|upersetEqual|ystemEnterKey|ystemsModelDelay)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[T(?:Hacek|abKey|au|aurusSign|ensorProduct|ensorWedge|herefore|heta|hickSpace|hinSpace|horn|ilde|ildeEqual|ildeFullEqual|ildeTilde|imes|rademark|ranspose|ripleDot|woWayRule)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[U(?:Acute|DoubleAcute|DoubleDot|Grave|Hat|Ring|nderBrace|nderBracket|nderParenthesis|ndirectedEdge|nion|nionPlus|pArrow|pArrowBar|pArrowDownArrow|pDownArrow|pEquilibrium|pPointer|pTee|pTeeArrow|pperLeftArrow|pperRightArrow|psilon|ranus)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[V(?:ectorGreater|ectorGreaterEqual|ectorLess|ectorLessEqual|ee|enus|erticalBar|erticalEllipsis|erticalLine|erticalSeparator|erticalTilde|eryThinSpace|irgoSign)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[W(?:arningSign|atchIcon|edge|eierstrassP|hiteBishop|hiteKing|hiteKnight|hitePawn|hiteQueen|hiteRook|olf|olframLanguageLogo|olframLanguageLogoCircle)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[X(?:i|nor|or)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Y(?:Acute|DoubleDot|en)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[Z(?:Hacek|eta)]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\[(?:[$[:alpha:]][$[:alnum:]]*)?]?\\\",\\\"name\\\":\\\"invalid.illegal.BadLongName\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$[:alpha:]][$[:alnum:]]*]\\\",\\\"name\\\":\\\"invalid.illegal.BadLongName\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\:\\\\\\\\h{4}\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\:\\\\\\\\h{1,3}\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\.\\\\\\\\h{2}\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\.\\\\\\\\h{1}\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\|0\\\\\\\\h{5}\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\|10\\\\\\\\h{4}\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\h{1,6}\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{3}\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,2}\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape punctuation.separator.continuation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal\\\"}]},\\\"expressions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#escaped_character_symbols\\\"},{\\\"include\\\":\\\"#escaped_characters\\\"},{\\\"include\\\":\\\"#out\\\"},{\\\"include\\\":\\\"#slot\\\"},{\\\"include\\\":\\\"#literals\\\"},{\\\"include\\\":\\\"#groups\\\"},{\\\"include\\\":\\\"#stringifying-operators\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#pattern-operators\\\"},{\\\"include\\\":\\\"#symbols\\\"},{\\\"match\\\":\\\"[!\\\\\\\\&'*-/:-@\\\\\\\\\\\\\\\\^|~]\\\",\\\"name\\\":\\\"invalid.illegal\\\"}]},\\\"groups\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\)\\\",\\\"name\\\":\\\"invalid.illegal.stray-linearsyntaxparens-end.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"invalid.illegal.stray-parens-end.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\s+\\\\\\\\[\\\",\\\"name\\\":\\\"invalid.whitespace.Part.wolfram\\\"},{\\\"match\\\":\\\"]\\\\\\\\s+]\\\",\\\"name\\\":\\\"invalid.whitespace.Part.wolfram\\\"},{\\\"match\\\":\\\"]]\\\",\\\"name\\\":\\\"invalid.illegal.stray-parts-end.wolfram\\\"},{\\\"match\\\":\\\"]\\\",\\\"name\\\":\\\"invalid.illegal.stray-brackets-end.wolfram\\\"},{\\\"match\\\":\\\"}\\\",\\\"name\\\":\\\"invalid.illegal.stray-braces-end.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\|>\\\",\\\"name\\\":\\\"invalid.illegal.stray-associations-end.wolfram\\\"},{\\\"include\\\":\\\"#linearsyntaxparen-group\\\"},{\\\"include\\\":\\\"#paren-group\\\"},{\\\"include\\\":\\\"#part-group\\\"},{\\\"include\\\":\\\"#bracket-group\\\"},{\\\"include\\\":\\\"#brace-group\\\"},{\\\"include\\\":\\\"#association-group\\\"}]},\\\"linearsyntaxparen-group\\\":{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.linearsyntaxparens.begin.wolfram\\\"}},\\\"end\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.linearsyntaxparens.end.wolfram\\\"}},\\\"name\\\":\\\"meta.linearsyntaxparens.wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},\\\"literals\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#strings\\\"}]},\\\"main\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#shebang\\\"},{\\\"include\\\":\\\"#simple-toplevel-definitions\\\"},{\\\"include\\\":\\\"#expressions\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)``\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^(?:[01]+(?:\\\\\\\\.(?!\\\\\\\\.)[01]*)?+|\\\\\\\\.(?!\\\\\\\\.)[01]+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"2\\\\\\\\^\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)``\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^(?:[0-7]+(?:\\\\\\\\.(?!\\\\\\\\.)[0-7]*)?+|\\\\\\\\.(?!\\\\\\\\.)[0-7]+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"8\\\\\\\\^\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)``\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^(?:\\\\\\\\h+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\h+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"16\\\\\\\\^\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)``[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)``\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)`(?:[-+]?+(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+))?+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^[-+]?+\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+)\\\\\\\\*\\\\\\\\^\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"\\\\\\\\d+(?:\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d*)?+|\\\\\\\\.(?!\\\\\\\\.)\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.wolfram\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\^:=\\\",\\\"name\\\":\\\"keyword.operator.assignment.UpSetDelayed.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\^:\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"match\\\":\\\"===\\\",\\\"name\\\":\\\"keyword.operator.SameQ.wolfram\\\"},{\\\"match\\\":\\\"=!=|\\\\\\\\.\\\\\\\\.\\\\\\\\.|//\\\\\\\\.|@@@|<->|//@\\\",\\\"name\\\":\\\"keyword.operator.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\|->\\\",\\\"name\\\":\\\"keyword.operator.Function.wolfram\\\"},{\\\"match\\\":\\\"//=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ApplyTo.wolfram\\\"},{\\\"match\\\":\\\"--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\||&&\\\",\\\"name\\\":\\\"keyword.operator.logical.wolfram\\\"},{\\\"match\\\":\\\":=\\\",\\\"name\\\":\\\"keyword.operator.assignment.SetDelayed.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\^=\\\",\\\"name\\\":\\\"keyword.operator.assignment.UpSet.wolfram\\\"},{\\\"match\\\":\\\"/=\\\",\\\"name\\\":\\\"keyword.operator.assignment.DivideBy.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\+=\\\",\\\"name\\\":\\\"keyword.operator.assignment.AddTo.wolfram\\\"},{\\\"match\\\":\\\"=\\\\\\\\s+\\\\\\\\.(?![0-9])\\\",\\\"name\\\":\\\"invalid.whitespace.Unset.wolfram\\\"},{\\\"match\\\":\\\"=\\\\\\\\.(?![0-9])\\\",\\\"name\\\":\\\"keyword.operator.assignment.Unset.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\*=\\\",\\\"name\\\":\\\"keyword.operator.assignment.TimesBy.wolfram\\\"},{\\\"match\\\":\\\"-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.SubtractFrom.wolfram\\\"},{\\\"match\\\":\\\"/:\\\",\\\"name\\\":\\\"keyword.operator.assignment.Tag.wolfram\\\"},{\\\"match\\\":\\\";;$\\\",\\\"name\\\":\\\"invalid.endofline.Span.wolfram\\\"},{\\\"match\\\":\\\";;\\\",\\\"name\\\":\\\"keyword.operator.Span.wolfram\\\"},{\\\"match\\\":\\\"!=\\\",\\\"name\\\":\\\"keyword.operator.Unequal.wolfram\\\"},{\\\"match\\\":\\\"==\\\",\\\"name\\\":\\\"keyword.operator.Equal.wolfram\\\"},{\\\"match\\\":\\\"!!\\\",\\\"name\\\":\\\"keyword.operator.BangBang.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"invalid.illegal.Information.wolfram\\\"},{\\\"match\\\":\\\"<=|>=|\\\\\\\\.\\\\\\\\.|:>|<>|->|/@|/;|/\\\\\\\\.|//|/\\\\\\\\*|@@|@\\\\\\\\*|~~|\\\\\\\\*\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.wolfram\\\"},{\\\"match\\\":\\\"[-*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.wolfram\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.Set.wolfram\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"keyword.operator.Less.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.Alternatives.wolfram\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.Bang.wolfram\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"keyword.operator.CompoundExpression.wolfram punctuation.terminator\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"keyword.operator.Comma.wolfram punctuation.separator\\\"},{\\\"match\\\":\\\"^\\\\\\\\?\\\",\\\"name\\\":\\\"invalid.startofline.Information.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.PatternTest.wolfram\\\"},{\\\"match\\\":\\\"'\\\",\\\"name\\\":\\\"keyword.operator.Derivative.wolfram\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"keyword.operator.Function.wolfram\\\"},{\\\"match\\\":\\\"[.:>@^~]\\\",\\\"name\\\":\\\"keyword.operator.wolfram\\\"}]},\\\"out\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"%\\\\\\\\d+\\\",\\\"name\\\":\\\"keyword.other.Out.wolfram\\\"},{\\\"match\\\":\\\"%+\\\",\\\"name\\\":\\\"keyword.other.Out.wolfram\\\"}]},\\\"paren-group\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.wolfram\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.wolfram\\\"}},\\\"name\\\":\\\"meta.parens.wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},\\\"part-group\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parts.begin.wolfram\\\"}},\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parts.end.wolfram\\\"}},\\\"name\\\":\\\"meta.parts.wolfram\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expressions\\\"}]},\\\"pattern-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"___\\\",\\\"name\\\":\\\"keyword.operator.BlankNullSequence.wolfram\\\"},{\\\"match\\\":\\\"__\\\",\\\"name\\\":\\\"keyword.operator.BlankSequence.wolfram\\\"},{\\\"match\\\":\\\"_\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.Optional.wolfram\\\"},{\\\"match\\\":\\\"_\\\",\\\"name\\\":\\\"keyword.operator.Blank.wolfram\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.wolfram\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.wolfram\\\"},\\\"simple-toplevel-definitions\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.brackets.begin.wolfram\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.function.wolfram entity.name.Context.wolfram\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.function.wolfram entity.name.function.wolfram\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.brackets.end.wolfram\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.wolfram\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(Attributes|Format|Options)\\\\\\\\s*(\\\\\\\\[)(`?(?:[$[:alpha:]][$[:alnum:]]*`)*)([$[:alpha:]][$[:alnum:]]*)(])\\\\\\\\s*(:=|=(?![!.=]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.function.wolfram entity.name.Context.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.function.wolfram entity.name.function.wolfram\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(`?(?:[$[:alpha:]][$[:alnum:]]*`)*)([$[:alpha:]][$[:alnum:]]*)(?=\\\\\\\\s*(\\\\\\\\[(?>[^]\\\\\\\\[]+|\\\\\\\\g<3>)*])\\\\\\\\s*(?:/;.*)?(?::=|=(?![!.=])))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.function.wolfram entity.name.Context.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.function.wolfram entity.name.constant.wolfram\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(`?(?:[$[:alpha:]][$[:alnum:]]*`)*)([$[:alpha:]][$[:alnum:]]*)(?=\\\\\\\\s*(?:/;.*)?(?::=|=(?![!.=])))\\\"}]},\\\"slot\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"#\\\\\\\\p{alpha}\\\\\\\\p{alnum}*\\\",\\\"name\\\":\\\"keyword.other.Slot.wolfram\\\"},{\\\"match\\\":\\\"##\\\\\\\\d*\\\",\\\"name\\\":\\\"keyword.other.SlotSequence.wolfram\\\"},{\\\"match\\\":\\\"#\\\\\\\\d*\\\",\\\"name\\\":\\\"keyword.other.Slot.wolfram\\\"}]},\\\"string_escaped_characters\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"<>\\\\\\\\\\\\\\\\bfnrt]\\\",\\\"name\\\":\\\"donothighlight.constant.character.escape\\\"},{\\\"include\\\":\\\"#escaped_characters\\\"}]},\\\"stringifying-operators\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.PutAppend.wolfram\\\"}},\\\"match\\\":\\\"(>>>)(?=\\\\\\\\s*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.PutAppend.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.wolfram\\\"}},\\\"match\\\":\\\"(>>>)\\\\\\\\s*(\\\\\\\\w+)\\\"},{\\\"match\\\":\\\">>>\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.MessageName.wolfram\\\"}},\\\"match\\\":\\\"(::)(?=\\\\\\\\s*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.MessageName.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.wolfram\\\"}},\\\"match\\\":\\\"(::)(\\\\\\\\p{alpha}\\\\\\\\p{alnum}*)\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.Get.wolfram\\\"}},\\\"match\\\":\\\"(<<)(?=\\\\\\\\s*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.Get.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.wolfram\\\"}},\\\"match\\\":\\\"(<<)\\\\\\\\s*([`[:alpha:]][`[:alnum:]]*)\\\"},{\\\"match\\\":\\\"<<\\\",\\\"name\\\":\\\"invalid.illegal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.Put.wolfram\\\"}},\\\"match\\\":\\\"(>>)(?=\\\\\\\\s*\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.Put.wolfram\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.wolfram\\\"}},\\\"match\\\":\\\"(>>)\\\\\\\\s*(\\\\\\\\w*)\\\"},{\\\"match\\\":\\\">>\\\",\\\"name\\\":\\\"invalid.illegal\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end\\\"}},\\\"name\\\":\\\"string.quoted.double\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_characters\\\"}]}]},\\\"symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"System`A(?:ASTriangle|PIFunction|RCHProcess|RIMAProcess|RMAProcess|RProcess|SATriangle|belianGroup|bort|bortKernels|bortProtect|bs|bsArg|bsArgPlot|bsoluteCorrelation|bsoluteCorrelationFunction|bsoluteCurrentValue|bsoluteDashing|bsoluteFileName|bsoluteOptions|bsolutePointSize|bsoluteThickness|bsoluteTime|bsoluteTiming|ccountingForm|ccumulate|ccuracy|cousticAbsorbingValue|cousticImpedanceValue|cousticNormalVelocityValue|cousticPDEComponent|cousticPressureCondition|cousticRadiationValue|cousticSoundHardValue|cousticSoundSoftCondition|ctionMenu|ctivate|cyclicGraphQ|ddSides|ddTo|ddUsers|djacencyGraph|djacencyList|djacencyMatrix|djacentMeshCells|djugate|djustTimeSeriesForecast|djustmentBox|dministrativeDivisionData|ffineHalfSpace|ffineSpace|ffineStateSpaceModel|ffineTransform|irPressureData|irSoundAttenuation|irTemperatureData|ircraftData|irportData|iryAi|iryAiPrime|iryAiZero|iryBi|iryBiPrime|iryBiZero|lgebraicIntegerQ|lgebraicNumber|lgebraicNumberDenominator|lgebraicNumberNorm|lgebraicNumberPolynomial|lgebraicNumberTrace|lgebraicUnitQ|llTrue|lphaChannel|lphabet|lphabeticOrder|lphabeticSort|lternatingFactorial|lternatingGroup|lternatives|mbientLight|mbiguityList|natomyData|natomyPlot3D|natomyStyling|nd|ndersonDarlingTest|ngerJ|ngleBracket|nglePath|nglePath3D|ngleVector|ngularGauge|nimate|nimator|nnotate|nnotation|nnotationDelete|nnotationKeys|nnotationValue|nnuity|nnuityDue|nnulus|nomalyDetection|nomalyDetectorFunction|ntihermitian|ntihermitianMatrixQ|ntisymmetric|ntisymmetricMatrixQ|ntonyms|nyOrder|nySubset|nyTrue|part|partSquareFree|ppellF1|ppend|ppendTo|pply|pplySides|pplyTo|rcCosh??|rcCoth??|rcCsch??|rcCurvature|rcLength|rcSech??|rcSin|rcSinDistribution|rcSinh|rcTanh??|rea|rg|rgMax|rgMin|rgumentsOptions|rithmeticGeometricMean|rray|rrayComponents|rrayDepth|rrayFilter|rrayFlatten|rrayMesh|rrayPad|rrayPlot|rrayPlot3D|rrayQ|rrayResample|rrayReshape|rrayRules|rrays|rrow|rrowheads|ssert|ssociateTo|ssociation|ssociationMap|ssociationQ|ssociationThread|ssuming|symptotic|symptoticDSolveValue|symptoticEqual|symptoticEquivalent|symptoticExpectation|symptoticGreater|symptoticGreaterEqual|symptoticIntegrate|symptoticLess|symptoticLessEqual|symptoticOutputTracker|symptoticProbability|symptoticProduct|symptoticRSolveValue|symptoticSolve|symptoticSum|tomQ|ttributes|udio|udioAmplify|udioBlockMap|udioCapture|udioChannelCombine|udioChannelMix|udioChannelSeparate|udioChannels|udioData|udioDelay|udioDelete|udioDistance|udioFade|udioFrequencyShift|udioGenerator|udioInsert|udioIntervals|udioJoin|udioLength|udioLocalMeasurements|udioLoudness|udioMeasurements|udioNormalize|udioOverlay|udioPad|udioPan|udioPartition|udioPitchShift|udioPlot|udioQ|udioReplace|udioResample|udioReverb|udioReverse|udioSampleRate|udioSpectralMap|udioSpectralTransformation|udioSplit|udioTimeStretch|udioTrim|udioType|ugmentedPolyhedron|ugmentedSymmetricPolynomial|uthenticationDialog|utoRefreshed|utoSubmitting|utocorrelationTest)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`B(?:SplineBasis|SplineCurve|SplineFunction|SplineSurface|abyMonsterGroupB|ackslash|all|and|andpassFilter|andstopFilter|arChart|arChart3D|arLegend|arabasiAlbertGraphDistribution|arcodeImage|arcodeRecognize|aringhausHenzeTest|arlowProschanImportance|arnesG|artlettHannWindow|artlettWindow|aseDecode|aseEncode|aseForm|atesDistribution|attleLemarieWavelet|ecause|eckmannDistribution|eep|egin|eginDialogPacket|eginPackage|ellB|ellY|enfordDistribution|eniniDistribution|enktanderGibratDistribution|enktanderWeibullDistribution|ernoulliB|ernoulliDistribution|ernoulliGraphDistribution|ernoulliProcess|ernsteinBasis|esselFilterModel|esselI|esselJ|esselJZero|esselK|esselY|esselYZero|eta|etaBinomialDistribution|etaDistribution|etaNegativeBinomialDistribution|etaPrimeDistribution|etaRegularized|etween|etweennessCentrality|eveledPolyhedron|ezierCurve|ezierFunction|ilateralFilter|ilateralLaplaceTransform|ilateralZTransform|inCounts|inLists|inarize|inaryDeserialize|inaryDistance|inaryImageQ|inaryRead|inaryReadList|inarySerialize|inaryWrite|inomial|inomialDistribution|inomialProcess|inormalDistribution|iorthogonalSplineWavelet|ipartiteGraphQ|iquadraticFilterModel|irnbaumImportance|irnbaumSaundersDistribution|itAnd|itClear|itGet|itLength|itNot|itOr|itSet|itShiftLeft|itShiftRight|itXor|iweightLocation|iweightMidvariance|lackmanHarrisWindow|lackmanNuttallWindow|lackmanWindow|lank|lankNullSequence|lankSequence|lend|lock|lockMap|lockRandom|lomqvistBeta|lomqvistBetaTest|lur|lurring|odePlot|ohmanWindow|oole|ooleanConsecutiveFunction|ooleanConvert|ooleanCountingFunction|ooleanFunction|ooleanGraph|ooleanMaxterms|ooleanMinimize|ooleanMinterms|ooleanQ|ooleanRegion|ooleanTable|ooleanVariables|orderDimensions|orelTannerDistribution|ottomHatTransform|oundaryDiscretizeGraphics|oundaryDiscretizeRegion|oundaryMesh|oundaryMeshRegionQ??|oundedRegionQ|oundingRegion|oxData|oxMatrix|oxObject|oxWhiskerChart|racketingBar|rayCurtisDistance|readthFirstScan|reak|ridgeData|rightnessEqualize|roadcastStationData|rownForsytheTest|rownianBridgeProcess|ubbleChart|ubbleChart3D|uckyballGraph|uildingData|ulletGauge|usinessDayQ|utterflyGraph|utterworthFilterModel|utton|uttonBar|uttonBox|uttonNotebook|yteArray|yteArrayFormatQ??|yteArrayQ|yteArrayToString|yteCount)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`C(?:|DF|DFDeploy|DFWavelet|Form|MYKColor|SGRegionQ??|SGRegionTree|alendarConvert|alendarData|allPacket|allout|anberraDistance|ancel|ancelButton|andlestickChart|anonicalGraph|anonicalName|anonicalWarpingCorrespondence|anonicalWarpingDistance|anonicalizePolygon|anonicalizePolyhedron|anonicalizeRegion|antorMesh|antorStaircase|ap|apForm|apitalDifferentialD|apitalize|apsuleShape|aputoD|arlemanLinearize|arlsonRC|arlsonRD|arlsonRE|arlsonRF|arlsonRG|arlsonRJ|arlsonRK|arlsonRM|armichaelLambda|aseSensitive|ases|ashflow|asoratian|atalanNumber|atch|atenate|auchyDistribution|auchyMatrix|auchyWindow|ayleyGraph|eiling|ell|ellGroup|ellGroupData|ellObject|ellPrint|ells|ellularAutomaton|ensoredDistribution|ensoring|enterArray|enterDot|enteredInterval|entralFeature|entralMoment|entralMomentGeneratingFunction|epstrogram|epstrogramArray|epstrumArray|hampernowneNumber|hanVeseBinarize|haracterCounts|haracterName|haracterRange|haracteristicFunction|haracteristicPolynomial|haracters|hebyshev1FilterModel|hebyshev2FilterModel|hebyshevT|hebyshevU|heck|heckAbort|heckArguments|heckbox|heckboxBar|hemicalData|hessboardDistance|hiDistribution|hiSquareDistribution|hineseRemainder|hoiceButtons|hoiceDialog|holeskyDecomposition|hop|hromaticPolynomial|hromaticityPlot|hromaticityPlot3D|ircle|ircleDot|ircleMinus|irclePlus|irclePoints|ircleThrough|ircleTimes|irculantGraph|ircularArcThrough|ircularOrthogonalMatrixDistribution|ircularQuaternionMatrixDistribution|ircularRealMatrixDistribution|ircularSymplecticMatrixDistribution|ircularUnitaryMatrixDistribution|ircumsphere|ityData|lassifierFunction|lassifierMeasurements|lassifierMeasurementsObject|lassify|lear|learAll|learAttributes|learCookies|learPermissions|learSystemCache|lebschGordan|lickPane|lickToCopy|lip|lock|lockGauge|lose|loseKernels|losenessCentrality|losing|loudAccountData|loudConnect|loudDeploy|loudDirectory|loudDisconnect|loudEvaluate|loudExport|loudFunction|loudGet|loudImport|loudLoggingData|loudObjects??|loudPublish|loudPut|loudSave|loudShare|loudSubmit|loudSymbol|loudUnshare|lusterClassify|lusteringComponents|lusteringMeasurements|lusteringTree|oefficient|oefficientArrays|oefficientList|oefficientRules|oifletWavelet|ollect|ollinearPoints|olon|olorBalance|olorCombine|olorConvert|olorData|olorDataFunction|olorDetect|olorDistance|olorNegate|olorProfileData|olorQ|olorQuantize|olorReplace|olorSeparate|olorSetter|olorSlider|olorToneMapping|olorize|olorsNear|olumn|ometData|ommonName|ommonUnits|ommonest|ommonestFilter|ommunityGraphPlot|ompanyData|ompatibleUnitQ|ompile|ompiledFunction|omplement|ompleteGraphQ??|ompleteIntegral|ompleteKaryTree|omplex|omplexArrayPlot|omplexContourPlot|omplexExpand|omplexListPlot|omplexPlot|omplexPlot3D|omplexRegionPlot|omplexStreamPlot|omplexVectorPlot|omponentMeasurements|omposeList|omposeSeries|ompositeQ|omposition|ompoundElement|ompoundExpression|ompoundPoissonDistribution|ompoundPoissonProcess|ompoundRenewalProcess|ompress|oncaveHullMesh|ondition|onditionalExpression|onditioned|one|onfirm|onfirmAssert|onfirmBy|onfirmMatch|onformAudio|onformImages|ongruent|onicGradientFilling|onicHullRegion|onicOptimization|onjugate|onjugateTranspose|onjunction|onnectLibraryCallbackFunction|onnectedComponents|onnectedGraphComponents|onnectedGraphQ|onnectedMeshComponents|onnesWindow|onoverTest|onservativeConvectionPDETerm|onstantArray|onstantImage|onstantRegionQ|onstellationData|onstruct|ontainsAll|ontainsAny|ontainsExactly|ontainsNone|ontainsOnly|ontext|ontextToFileName|ontexts|ontinue|ontinuedFractionK??|ontinuousMarkovProcess|ontinuousTask|ontinuousTimeModelQ|ontinuousWaveletData|ontinuousWaveletTransform|ontourDetect|ontourPlot|ontourPlot3D|ontraharmonicMean|ontrol|ontrolActive|ontrollabilityGramian|ontrollabilityMatrix|ontrollableDecomposition|ontrollableModelQ|ontrollerInformation|ontrollerManipulate|ontrollerState|onvectionPDETerm|onvergents|onvexHullMesh|onvexHullRegion|onvexOptimization|onvexPolygonQ|onvexPolyhedronQ|onvexRegionQ|onvolve|onwayGroupCo1|onwayGroupCo2|onwayGroupCo3|oordinateBoundingBox|oordinateBoundingBoxArray|oordinateBounds|oordinateBoundsArray|oordinateChartData|oordinateTransform|oordinateTransformData|oplanarPoints|oprimeQ|oproduct|opulaDistribution|opyDatabin|opyDirectory|opyFile|opyToClipboard|oreNilpotentDecomposition|ornerFilter|orrelation|orrelationDistance|orrelationFunction|orrelationTest|os|osIntegral|osh|oshIntegral|osineDistance|osineWindow|oth??|oulombF|oulombG|oulombH1|oulombH2|ount|ountDistinct|ountDistinctBy|ountRoots|ountryData|ounts|ountsBy|ovariance|ovarianceFunction|oxIngersollRossProcess|oxModel|oxModelFit|oxianDistribution|ramerVonMisesTest|reateArchive|reateDatabin|reateDialog|reateDirectory|reateDocument|reateFile|reateManagedLibraryExpression|reateNotebook|reatePacletArchive|reatePalette|reatePermissionsGroup|reateUUID|reateWindow|riticalSection|riticalityFailureImportance|riticalitySuccessImportance|ross|rossMatrix|rossingCount|rossingDetect|rossingPolygon|sch??|ube|ubeRoot|uboid|umulant|umulantGeneratingFunction|umulativeFeatureImpactPlot|up|upCap|url|urrencyConvert|urrentDate|urrentImage|urrentValue|urvatureFlowFilter|ycleGraph|ycleIndexPolynomial|ycles|yclicGroup|yclotomic|ylinder|ylindricalDecomposition|ylindricalDecompositionFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`D(?:|Eigensystem|Eigenvalues|GaussianWavelet|MSList|MSString|Solve|SolveValue|agumDistribution|amData|amerauLevenshteinDistance|arker|ashing|ataDistribution|atabin|atabinAdd|atabinUpload|atabins|ataset|ateBounds|ateDifference|ateHistogram|ateList|ateListLogPlot|ateListPlot|ateListStepPlot|ateObjectQ??|ateOverlapsQ|atePattern|atePlus|ateRange|ateScale|ateSelect|ateString|ateValue|ateWithinQ|ated|atedUnit|aubechiesWavelet|avisDistribution|awsonF|ayCount|ayHemisphere|ayMatchQ|ayName|ayNightTerminator|ayPlus|ayRange|ayRound|aylightQ|eBruijnGraph|eBruijnSequence|ecapitalize|ecimalForm|eclarePackage|ecompose|ecrement|ecrypt|edekindEta|eepSpaceProbeData|efault|efaultButton|efaultValues|efer|efineInputStreamMethod|efineOutputStreamMethod|efineResourceFunction|efinition|egreeCentrality|egreeGraphDistribution|el|elaunayMesh|elayed|elete|eleteAdjacentDuplicates|eleteAnomalies|eleteBorderComponents|eleteCases|eleteDirectory|eleteDuplicates|eleteDuplicatesBy|eleteFile|eleteMissing|eleteObject|eletePermissionsKey|eleteSmallComponents|eleteStopwords|elimitedSequence|endrogram|enominator|ensityHistogram|ensityPlot|ensityPlot3D|eploy|epth|epthFirstScan|erivative|erivativeFilter|erivativePDETerm|esignMatrix|et|eviceClose|eviceConfigure|eviceExecute|eviceExecuteAsynchronous|eviceObject|eviceOpen|eviceRead|eviceReadBuffer|eviceReadLatest|eviceReadList|eviceReadTimeSeries|eviceStreams|eviceWrite|eviceWriteBuffer|evices|iagonal|iagonalMatrixQ??|iagonalizableMatrixQ|ialog|ialogInput|ialogNotebook|ialogReturn|iamond|iamondMatrix|iceDissimilarity|ictionaryLookup|ictionaryWordQ|ifferenceDelta|ifferenceQuotient|ifferenceRoot|ifferenceRootReduce|ifferences|ifferentialD|ifferentialRoot|ifferentialRootReduce|ifferentiatorFilter|iffusionPDETerm|igitCount|igitQ|ihedralAngle|ihedralGroup|ilation|imensionReduce|imensionReducerFunction|imensionReduction|imensionalCombinations|imensionalMeshComponents|imensions|iracComb|iracDelta|irectedEdge|irectedGraphQ??|irectedInfinity|irectionalLight|irective|irectory|irectoryName|irectoryQ|irectoryStack|irichletBeta|irichletCharacter|irichletCondition|irichletConvolve|irichletDistribution|irichletEta|irichletL|irichletLambda|irichletTransform|irichletWindow|iscreteAsymptotic|iscreteChirpZTransform|iscreteConvolve|iscreteDelta|iscreteHadamardTransform|iscreteIndicator|iscreteInputOutputModel|iscreteLQEstimatorGains|iscreteLQRegulatorGains|iscreteLimit|iscreteLyapunovSolve|iscreteMarkovProcess|iscreteMaxLimit|iscreteMinLimit|iscretePlot|iscretePlot3D|iscreteRatio|iscreteRiccatiSolve|iscreteShift|iscreteTimeModelQ|iscreteUniformDistribution|iscreteWaveletData|iscreteWaveletPacketTransform|iscreteWaveletTransform|iscretizeGraphics|iscretizeRegion|iscriminant|isjointQ|isjunction|isk|iskMatrix|iskSegment|ispatch|isplayEndPacket|isplayForm|isplayPacket|istanceMatrix|istanceTransform|istribute|istributeDefinitions|istributed|istributionChart|istributionFitTest|istributionParameterAssumptions|istributionParameterQ|iv|ivide|ivideBy|ivideSides|ivisible|ivisorSigma|ivisorSum|ivisors|o|ocumentGenerator|ocumentGeneratorInformation|ocumentGenerators|ocumentNotebook|odecahedron|ominantColors|ominatorTreeGraph|ominatorVertexList|ot|otEqual|oubleBracketingBar|oubleDownArrow|oubleLeftArrow|oubleLeftRightArrow|oubleLeftTee|oubleLongLeftArrow|oubleLongLeftRightArrow|oubleLongRightArrow|oubleRightArrow|oubleRightTee|oubleUpArrow|oubleUpDownArrow|oubleVerticalBar|ownArrow|ownArrowBar|ownArrowUpArrow|ownLeftRightVector|ownLeftTeeVector|ownLeftVector|ownLeftVectorBar|ownRightTeeVector|ownRightVector|ownRightVectorBar|ownTee|ownTeeArrow|ownValues|ownsample|razinInverse|rop|ropShadowing|t|ualPlanarGraph|ualPolyhedron|ualSystemsModel|umpSave|uplicateFreeQ|uration|ynamic|ynamicGeoGraphics|ynamicModule|ynamicSetting|ynamicWrapper)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:arthImpactData|arthquakeData|ccentricityCentrality|choEvaluation|choFunction|choLabel|dgeAdd|dgeBetweennessCentrality|dgeChromaticNumber|dgeConnectivity|dgeContract|dgeCount|dgeCoverQ|dgeCycleMatrix|dgeDelete|dgeDetect|dgeForm|dgeIndex|dgeList|dgeQ|dgeRules|dgeTaggedGraphQ??|dgeTags|dgeTransitiveGraphQ|dgeWeightedGraphQ|ditDistance|ffectiveInterest|igensystem|igenvalues|igenvectorCentrality|igenvectors|lement|lementData|liminate|llipsoid|llipticE|llipticExp|llipticExpPrime|llipticF|llipticFilterModel|llipticK|llipticLog|llipticNomeQ|llipticPi|llipticTheta|llipticThetaPrime|mbedCode|mbeddedHTML|mbeddedService|mitSound|mpiricalDistribution|mptyGraphQ|mptyRegion|nclose|ncode|ncrypt|ncryptedObject|nd|ndDialogPacket|ndPackage|ngineeringForm|nterExpressionPacket|nterTextPacket|ntity|ntityClass|ntityClassList|ntityCopies|ntityGroup|ntityInstance|ntityList|ntityPrefetch|ntityProperties|ntityProperty|ntityPropertyClass|ntityRegister|ntityStores|ntityTypeName|ntityUnregister|ntityValue|ntropy|ntropyFilter|nvironment|qual|qualTilde|qualTo|quilibrium|quirippleFilterKernel|quivalent|rfc??|rfi|rlangB|rlangC|rlangDistribution|rosion|rrorBox|stimatedBackground|stimatedDistribution|stimatedPointNormals|stimatedProcess|stimatorGains|stimatorRegulator|uclideanDistance|ulerAngles|ulerCharacteristic|ulerE|ulerMatrix|ulerPhi|ulerianGraphQ|valuate|valuatePacket|valuationBox|valuationCell|valuationData|valuationNotebook|valuationObject|venQ|ventData|ventHandler|ventSeries|xactBlackmanWindow|xactNumberQ|xampleData|xcept|xists|xoplanetData|xp|xpGammaDistribution|xpIntegralEi??|xpToTrig|xpand|xpandAll|xpandDenominator|xpandFileName|xpandNumerator|xpectation|xponent|xponentialDistribution|xponentialGeneratingFunction|xponentialMovingAverage|xponentialPowerDistribution|xport|xportByteArray|xportForm|xportString|xpressionCell|xpressionGraph|xtendedGCD|xternalBundle|xtract|xtractArchive|xtractPacletArchive|xtremeValueDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`F(?:ARIMAProcess|RatioDistribution|aceAlign|aceForm|acialFeatures|actor|actorInteger|actorList|actorSquareFree|actorSquareFreeList|actorTerms|actorTermsList|actorial2??|actorialMoment|actorialMomentGeneratingFunction|actorialPower|ailure|ailureDistribution|ailureQ|areySequence|eatureImpactPlot|eatureNearest|eatureSpacePlot|eatureSpacePlot3D|eatureValueDependencyPlot|eatureValueImpactPlot|eedbackLinearize|etalGrowthData|ibonacci|ibonorial|ile|ileBaseName|ileByteCount|ileDate|ileExistsQ|ileExtension|ileFormatQ??|ileHash|ileNameDepth|ileNameDrop|ileNameJoin|ileNameSetter|ileNameSplit|ileNameTake|ileNames|ilePrint|ileSize|ileSystemMap|ileSystemScan|ileTemplate|ileTemplateApply|ileType|illedCurve|illedTorus|illingTransform|ilterRules|inancialBond|inancialData|inancialDerivative|inancialIndicator|ind|indAnomalies|indArgMax|indArgMin|indClique|indClusters|indCookies|indCurvePath|indCycle|indDevices|indDistribution|indDistributionParameters|indDivisions|indEdgeColoring|indEdgeCover|indEdgeCut|indEdgeIndependentPaths|indEulerianCycle|indFaces|indFile|indFit|indFormula|indFundamentalCycles|indGeneratingFunction|indGeoLocation|indGeometricTransform|indGraphCommunities|indGraphIsomorphism|indGraphPartition|indHamiltonianCycle|indHamiltonianPath|indHiddenMarkovStates|indIndependentEdgeSet|indIndependentVertexSet|indInstance|indIntegerNullVector|indIsomorphicSubgraph|indKClan|indKClique|indKClub|indKPlex|indLibrary|indLinearRecurrence|indList|indMatchingColor|indMaxValue|indMaximum|indMaximumCut|indMaximumFlow|indMeshDefects|indMinValue|indMinimum|indMinimumCostFlow|indMinimumCut|indPath|indPeaks|indPermutation|indPlanarColoring|indPostmanTour|indProcessParameters|indRegionTransform|indRepeat|indRoot|indSequenceFunction|indShortestPath|indShortestTour|indSpanningTree|indSubgraphIsomorphism|indThreshold|indTransientRepeat|indVertexColoring|indVertexCover|indVertexCut|indVertexIndependentPaths|inishDynamic|initeAbelianGroupCount|initeGroupCount|initeGroupData|irst|irstCase|irstPassageTimeDistribution|irstPosition|ischerGroupFi22|ischerGroupFi23|ischerGroupFi24Prime|isherHypergeometricDistribution|isherRatioTest|isherZDistribution|it|ittedModel|ixedOrder|ixedPoint|ixedPointList|latShading|latTopWindow|latten|lattenAt|lightData|lipView|loor|lowPolynomial|old|oldList|oldPair|oldPairList|oldWhile|oldWhileList|or|orAll|ormBox|ormFunction|ormObject|ormPage|ormat|ormulaData|ormulaLookup|ortranForm|ourier|ourierCoefficient|ourierCosCoefficient|ourierCosSeries|ourierCosTransform|ourierDCT|ourierDCTFilter|ourierDCTMatrix|ourierDST|ourierDSTMatrix|ourierMatrix|ourierSequenceTransform|ourierSeries|ourierSinCoefficient|ourierSinSeries|ourierSinTransform|ourierTransform|ourierTrigSeries|oxH|ractionBox|ractionalBrownianMotionProcess|ractionalD|ractionalGaussianNoiseProcess|ractionalPart|rameBox|ramed|rechetDistribution|reeQ|renetSerretSystem|requencySamplingFilterKernel|resnelC|resnelF|resnelG|resnelS|robeniusNumber|robeniusSolve|romAbsoluteTime|romCharacterCode|romCoefficientRules|romContinuedFraction|romDMS|romDateString|romDigits|romEntity|romJulianDate|romLetterNumber|romPolarCoordinates|romRomanNumeral|romSphericalCoordinates|romUnixTime|rontEndExecute|rontEndToken|rontEndTokenExecute|ullDefinition|ullForm|ullGraphics|ullInformationOutputRegulator|ullRegion|ullSimplify|unction|unctionAnalytic|unctionBijective|unctionContinuous|unctionConvexity|unctionDiscontinuities|unctionDomain|unctionExpand|unctionInjective|unctionInterpolation|unctionMeromorphic|unctionMonotonicity|unctionPeriod|unctionRange|unctionSign|unctionSingularities|unctionSurjective|ussellVeselyImportance)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`G(?:ARCHProcess|CD|aborFilter|aborMatrix|aborWavelet|ainMargins|ainPhaseMargins|alaxyData|amma|ammaDistribution|ammaRegularized|ather|atherBy|aussianFilter|aussianMatrix|aussianOrthogonalMatrixDistribution|aussianSymplecticMatrixDistribution|aussianUnitaryMatrixDistribution|aussianWindow|egenbauerC|eneralizedLinearModelFit|enerateAsymmetricKeyPair|enerateDocument|enerateHTTPResponse|enerateSymmetricKey|eneratingFunction|enericCylindricalDecomposition|enomeData|enomeLookup|eoAntipode|eoArea|eoBoundary|eoBoundingBox|eoBounds|eoBoundsRegion|eoBoundsRegionBoundary|eoBubbleChart|eoCircle|eoContourPlot|eoDensityPlot|eoDestination|eoDirection|eoDisk|eoDisplacement|eoDistance|eoDistanceList|eoElevationData|eoEntities|eoGraphPlot|eoGraphics|eoGridDirectionDifference|eoGridPosition|eoGridUnitArea|eoGridUnitDistance|eoGridVector|eoGroup|eoHemisphere|eoHemisphereBoundary|eoHistogram|eoIdentify|eoImage|eoLength|eoListPlot|eoMarker|eoNearest|eoPath|eoPolygon|eoPosition|eoPositionENU|eoPositionXYZ|eoProjectionData|eoRegionValuePlot|eoSmoothHistogram|eoStreamPlot|eoStyling|eoVariant|eoVector|eoVectorENU|eoVectorPlot|eoVectorXYZ|eoVisibleRegion|eoVisibleRegionBoundary|eoWithinQ|eodesicClosing|eodesicDilation|eodesicErosion|eodesicOpening|eodesicPolyhedron|eodesyData|eogravityModelData|eologicalPeriodData|eomagneticModelData|eometricBrownianMotionProcess|eometricDistribution|eometricMean|eometricMeanFilter|eometricOptimization|eometricTransformation|estureHandler|et|etEnvironment|lobalClusteringCoefficient|low|ompertzMakehamDistribution|oochShading|oodmanKruskalGamma|oodmanKruskalGammaTest|oto|ouraudShading|rad|radientFilter|radientFittedMesh|radientOrientationFilter|rammarApply|rammarRules|rammarToken|raph|raph3D|raphAssortativity|raphAutomorphismGroup|raphCenter|raphComplement|raphData|raphDensity|raphDiameter|raphDifference|raphDisjointUnion|raphDistance|raphDistanceMatrix|raphEmbedding|raphHub|raphIntersection|raphJoin|raphLinkEfficiency|raphPeriphery|raphPlot|raphPlot3D|raphPower|raphProduct|raphPropertyDistribution|raphQ|raphRadius|raphReciprocity|raphSum|raphUnion|raphics|raphics3D|raphicsColumn|raphicsComplex|raphicsGrid|raphicsGroup|raphicsRow|rayLevel|reater|reaterEqual|reaterEqualLess|reaterEqualThan|reaterFullEqual|reaterGreater|reaterLess|reaterSlantEqual|reaterThan|reaterTilde|reenFunction|rid|ridBox|ridGraph|roebnerBasis|roupBy|roupCentralizer|roupElementFromWord|roupElementPosition|roupElementQ|roupElementToWord|roupElements|roupGenerators|roupMultiplicationTable|roupOrbits|roupOrder|roupSetwiseStabilizer|roupStabilizer|roupStabilizerChain|roupings|rowCutComponents|udermannian|uidedFilter|umbelDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`H(?:ITSCentrality|TTPErrorResponse|TTPRedirect|TTPRequest|TTPRequestData|TTPResponse|aarWavelet|adamardMatrix|alfLine|alfNormalDistribution|alfPlane|alfSpace|alftoneShading|amiltonianGraphQ|ammingDistance|ammingWindow|ankelH1|ankelH2|ankelMatrix|ankelTransform|annPoissonWindow|annWindow|aradaNortonGroupHN|araryGraph|armonicMean|armonicMeanFilter|armonicNumber|ash|atchFilling|atchShading|aversine|azardFunction|ead|eatFluxValue|eatInsulationValue|eatOutflowValue|eatRadiationValue|eatSymmetryValue|eatTemperatureCondition|eatTransferPDEComponent|eatTransferValue|eavisideLambda|eavisidePi|eavisideTheta|eldGroupHe|elmholtzPDEComponent|ermiteDecomposition|ermiteH|ermitian|ermitianMatrixQ|essenbergDecomposition|eunB|eunBPrime|eunC|eunCPrime|eunD|eunDPrime|eunG|eunGPrime|eunT|eunTPrime|exahedron|iddenMarkovProcess|ighlightGraph|ighlightImage|ighlightMesh|ighlighted|ighpassFilter|igmanSimsGroupHS|ilbertCurve|ilbertFilter|ilbertMatrix|istogram|istogram3D|istogramDistribution|istogramList|istogramTransform|istogramTransformInterpolation|istoricalPeriodData|itMissTransform|jorthDistribution|odgeDual|oeffdingD|oeffdingDTest|old|oldComplete|oldForm|oldPattern|orizontalGauge|ornerForm|ostLookup|otellingTSquareDistribution|oytDistribution|ue|umanGrowthData|umpDownHump|umpEqual|urwitzLerchPhi|urwitzZeta|yperbolicDistribution|ypercubeGraph|yperexponentialDistribution|yperfactorial|ypergeometric0F1|ypergeometric0F1Regularized|ypergeometric1F1|ypergeometric1F1Regularized|ypergeometric2F1|ypergeometric2F1Regularized|ypergeometricDistribution|ypergeometricPFQ|ypergeometricPFQRegularized|ypergeometricU|yperlink|yperplane|ypoexponentialDistribution|ypothesisTestData)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`I(?:PAddress|conData|conize|cosahedron|dentity|dentityMatrix|f|fCompiled|gnoringInactive|m|mage|mage3D|mage3DProjection|mage3DSlices|mageAccumulate|mageAdd|mageAdjust|mageAlign|mageApply|mageApplyIndexed|mageAspectRatio|mageAssemble|mageCapture|mageChannels|mageClip|mageCollage|mageColorSpace|mageCompose|mageConvolve|mageCooccurrence|mageCorners|mageCorrelate|mageCorrespondingPoints|mageCrop|mageData|mageDeconvolve|mageDemosaic|mageDifference|mageDimensions|mageDisplacements|mageDistance|mageEffect|mageExposureCombine|mageFeatureTrack|mageFileApply|mageFileFilter|mageFileScan|mageFilter|mageFocusCombine|mageForestingComponents|mageForwardTransformation|mageHistogram|mageIdentify|mageInstanceQ|mageKeypoints|mageLevels|mageLines|mageMarker|mageMeasurements|mageMesh|mageMultiply|magePad|magePartition|magePeriodogram|magePerspectiveTransformation|mageQ|mageRecolor|mageReflect|mageResize|mageRestyle|mageRotate|mageSaliencyFilter|mageScaled|mageScan|mageSubtract|mageTake|mageTransformation|mageTrim|mageType|mageValue|mageValuePositions|mageVectorscopePlot|mageWaveformPlot|mplicitD|mplicitRegion|mplies|mport|mportByteArray|mportString|mprovementImportance|nactivate|nactive|ncidenceGraph|ncidenceList|ncidenceMatrix|ncrement|ndefiniteMatrixQ|ndependenceTest|ndependentEdgeSetQ|ndependentPhysicalQuantity|ndependentUnit|ndependentUnitDimension|ndependentVertexSetQ|ndexEdgeTaggedGraph|ndexGraph|ndexed|nexactNumberQ|nfiniteLine|nfiniteLineThrough|nfinitePlane|nfix|nflationAdjust|nformation|nhomogeneousPoissonProcess|nner|nnerPolygon|nnerPolyhedron|npaint|nput|nputField|nputForm|nputNamePacket|nputNotebook|nputPacket|nputStream|nputString|nputStringPacket|nsert|nsertLinebreaks|nset|nsphere|nstall|nstallService|ntegerDigits|ntegerExponent|ntegerLength|ntegerName|ntegerPart|ntegerPartitions|ntegerQ|ntegerReverse|ntegerString|ntegrate|nteractiveTradingChart|nternallyBalancedDecomposition|nterpolatingFunction|nterpolatingPolynomial|nterpolation|nterpretation|nterpretationBox|nterpreter|nterquartileRange|nterrupt|ntersectingQ|ntersection|nterval|ntervalIntersection|ntervalMemberQ|ntervalSlider|ntervalUnion|nverse|nverseBetaRegularized|nverseBilateralLaplaceTransform|nverseBilateralZTransform|nverseCDF|nverseChiSquareDistribution|nverseContinuousWaveletTransform|nverseDistanceTransform|nverseEllipticNomeQ|nverseErfc??|nverseFourier|nverseFourierCosTransform|nverseFourierSequenceTransform|nverseFourierSinTransform|nverseFourierTransform|nverseFunction|nverseGammaDistribution|nverseGammaRegularized|nverseGaussianDistribution|nverseGudermannian|nverseHankelTransform|nverseHaversine|nverseJacobiCD|nverseJacobiCN|nverseJacobiCS|nverseJacobiDC|nverseJacobiDN|nverseJacobiDS|nverseJacobiNC|nverseJacobiND|nverseJacobiNS|nverseJacobiSC|nverseJacobiSD|nverseJacobiSN|nverseLaplaceTransform|nverseMellinTransform|nversePermutation|nverseRadon|nverseRadonTransform|nverseSeries|nverseShortTimeFourier|nverseSpectrogram|nverseSurvivalFunction|nverseTransformedRegion|nverseWaveletTransform|nverseWeierstrassP|nverseWishartMatrixDistribution|nverseZTransform|nvisible|rreduciblePolynomialQ|slandData|solatingInterval|somorphicGraphQ|somorphicSubgraphQ|sotopeData|tem|toProcess)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`J(?:accardDissimilarity|acobiAmplitude|acobiCD|acobiCN|acobiCS|acobiDC|acobiDN|acobiDS|acobiEpsilon|acobiNC|acobiND|acobiNS|acobiP|acobiSC|acobiSD|acobiSN|acobiSymbol|acobiZN|acobiZeta|ankoGroupJ1|ankoGroupJ2|ankoGroupJ3|ankoGroupJ4|arqueBeraALMTest|ohnsonDistribution|oin|oinAcross|oinForm|oinedCurve|ordanDecomposition|ordanModelDecomposition|uliaSetBoettcher|uliaSetIterationCount|uliaSetPlot|uliaSetPoints|ulianDate)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`K(?:CoreComponents|Distribution|EdgeConnectedComponents|EdgeConnectedGraphQ|VertexConnectedComponents|VertexConnectedGraphQ|agiChart|aiserBesselWindow|aiserWindow|almanEstimator|almanFilter|arhunenLoeveDecomposition|aryTree|atzCentrality|elvinBei|elvinBer|elvinKei|elvinKer|endallTau|endallTauTest|ernelMixtureDistribution|ernelObject|ernels|ey|eyComplement|eyDrop|eyDropFrom|eyExistsQ|eyFreeQ|eyIntersection|eyMap|eyMemberQ|eySelect|eySort|eySortBy|eyTake|eyUnion|eyValueMap|eyValuePattern|eys|illProcess|irchhoffGraph|irchhoffMatrix|leinInvariantJ|napsackSolve|nightTourGraph|notData|nownUnitQ|ochCurve|olmogorovSmirnovTest|roneckerDelta|roneckerModelDecomposition|roneckerProduct|roneckerSymbol|uiperTest|umaraswamyDistribution|urtosis|uwaharaFilter)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`L(?:ABColor|CHColor|CM|QEstimatorGains|QGRegulator|QOutputRegulatorGains|QRegulatorGains|UDecomposition|UVColor|abel|abeled|aguerreL|akeData|ambdaComponents|ameC|ameCPrime|ameEigenvalueA|ameEigenvalueB|ameS|ameSPrime|aminaData|anczosWindow|andauDistribution|anguageData|anguageIdentify|aplaceDistribution|aplaceTransform|aplacian|aplacianFilter|aplacianGaussianFilter|aplacianPDETerm|ast|atitude|atitudeLongitude|atticeData|atticeReduce|aunchKernels|ayeredGraphPlot|ayeredGraphPlot3D|eafCount|eapVariant|eapYearQ|earnDistribution|earnedDistribution|eastSquares|eastSquaresFilterKernel|eftArrow|eftArrowBar|eftArrowRightArrow|eftDownTeeVector|eftDownVector|eftDownVectorBar|eftRightArrow|eftRightVector|eftTee|eftTeeArrow|eftTeeVector|eftTriangle|eftTriangleBar|eftTriangleEqual|eftUpDownVector|eftUpTeeVector|eftUpVector|eftUpVectorBar|eftVector|eftVectorBar|egended|egendreP|egendreQ|ength|engthWhile|erchPhi|ess|essEqual|essEqualGreater|essEqualThan|essFullEqual|essGreater|essLess|essSlantEqual|essThan|essTilde|etterCounts|etterNumber|etterQ|evel|eveneTest|eviCivitaTensor|evyDistribution|exicographicOrder|exicographicSort|ibraryDataType|ibraryFunction|ibraryFunctionError|ibraryFunctionInformation|ibraryFunctionLoad|ibraryFunctionUnload|ibraryLoad|ibraryUnload|iftingFilterData|iftingWaveletTransform|ighter|ikelihood|imit|indleyDistribution|ine|ineBreakChart|ineGraph|ineIntegralConvolutionPlot|ineLegend|inearFractionalOptimization|inearFractionalTransform|inearGradientFilling|inearGradientImage|inearModelFit|inearOptimization|inearRecurrence|inearSolve|inearSolveFunction|inearizingTransformationData|inkActivate|inkClose|inkConnect|inkCreate|inkInterrupt|inkLaunch|inkObject|inkPatterns|inkRankCentrality|inkRead|inkReadyQ|inkWrite|inks|iouvilleLambda|ist|istAnimate|istContourPlot|istContourPlot3D|istConvolve|istCorrelate|istCurvePathPlot|istDeconvolve|istDensityPlot|istDensityPlot3D|istFourierSequenceTransform|istInterpolation|istLineIntegralConvolutionPlot|istLinePlot|istLinePlot3D|istLogLinearPlot|istLogLogPlot|istLogPlot|istPicker|istPickerBox|istPlay|istPlot|istPlot3D|istPointPlot3D|istPolarPlot|istQ|istSliceContourPlot3D|istSliceDensityPlot3D|istSliceVectorPlot3D|istStepPlot|istStreamDensityPlot|istStreamPlot|istStreamPlot3D|istSurfacePlot3D|istVectorDensityPlot|istVectorDisplacementPlot|istVectorDisplacementPlot3D|istVectorPlot|istVectorPlot3D|istZTransform|ocalAdaptiveBinarize|ocalCache|ocalClusteringCoefficient|ocalEvaluate|ocalObjects??|ocalSubmit|ocalSymbol|ocalTime|ocalTimeZone|ocationEquivalenceTest|ocationTest|ocator|ocatorPane|og|og10|og2|ogBarnesG|ogGamma|ogGammaDistribution|ogIntegral|ogLikelihood|ogLinearPlot|ogLogPlot|ogLogisticDistribution|ogMultinormalDistribution|ogNormalDistribution|ogPlot|ogRankTest|ogSeriesDistribution|ogicalExpand|ogisticDistribution|ogisticSigmoid|ogitModelFit|ongLeftArrow|ongLeftRightArrow|ongRightArrow|ongest|ongestCommonSequence|ongestCommonSequencePositions|ongestCommonSubsequence|ongestCommonSubsequencePositions|ongestOrderedSequence|ongitude|ookup|oopFreeGraphQ|owerCaseQ|owerLeftArrow|owerRightArrow|owerTriangularMatrixQ??|owerTriangularize|owpassFilter|ucasL|uccioSamiComponents|unarEclipse|yapunovSolve|yonsGroupLy)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`M(?:AProcess|achineNumberQ|agnify|ailReceiverFunction|ajority|akeBoxes|akeExpression|anagedLibraryExpressionID|anagedLibraryExpressionQ|andelbrotSetBoettcher|andelbrotSetDistance|andelbrotSetIterationCount|andelbrotSetMemberQ|andelbrotSetPlot|angoldtLambda|anhattanDistance|anipulate|anipulator|annWhitneyTest|annedSpaceMissionData|antissaExponent|ap|apAll|apApply|apAt|apIndexed|apThread|archenkoPasturDistribution|arcumQ|ardiaCombinedTest|ardiaKurtosisTest|ardiaSkewnessTest|arginalDistribution|arkovProcessProperties|assConcentrationCondition|assFluxValue|assImpermeableBoundaryValue|assOutflowValue|assSymmetryValue|assTransferValue|assTransportPDEComponent|atchQ|atchingDissimilarity|aterialShading|athMLForm|athematicalFunctionData|athieuC|athieuCPrime|athieuCharacteristicA|athieuCharacteristicB|athieuCharacteristicExponent|athieuGroupM11|athieuGroupM12|athieuGroupM22|athieuGroupM23|athieuGroupM24|athieuS|athieuSPrime|atrices|atrixExp|atrixForm|atrixFunction|atrixLog|atrixNormalDistribution|atrixPlot|atrixPower|atrixPropertyDistribution|atrixQ|atrixRank|atrixTDistribution|ax|axDate|axDetect|axFilter|axLimit|axMemoryUsed|axStableDistribution|axValue|aximalBy|aximize|axwellDistribution|cLaughlinGroupMcL|ean|eanClusteringCoefficient|eanDegreeConnectivity|eanDeviation|eanFilter|eanGraphDistance|eanNeighborDegree|eanShift|eanShiftFilter|edian|edianDeviation|edianFilter|edicalTestData|eijerG|eijerGReduce|eixnerDistribution|ellinConvolve|ellinTransform|emberQ|emoryAvailable|emoryConstrained|emoryInUse|engerMesh|enuPacket|enuView|erge|ersennePrimeExponentQ??|eshCellCount|eshCellIndex|eshCells|eshConnectivityGraph|eshCoordinates|eshPrimitives|eshRegionQ??|essage|essageDialog|essageList|essageName|essagePacket|essages|eteorShowerData|exicanHatWavelet|eyerWavelet|in|inDate|inDetect|inFilter|inLimit|inMax|inStableDistribution|inValue|ineralData|inimalBy|inimalPolynomial|inimalStateSpaceModel|inimize|inimumTimeIncrement|inkowskiQuestionMark|inorPlanetData|inors|inus|inusPlus|issingQ??|ittagLefflerE|ixedFractionParts|ixedGraphQ|ixedMagnitude|ixedRadix|ixedRadixQuantity|ixedUnit|ixtureDistribution|od|odelPredictiveController|odularInverse|odularLambda|odule|oebiusMu|oment|omentConvert|omentEvaluate|omentGeneratingFunction|omentOfInertia|onitor|onomialList|onsterGroupM|oonPhase|oonPosition|orletWavelet|orphologicalBinarize|orphologicalBranchPoints|orphologicalComponents|orphologicalEulerNumber|orphologicalGraph|orphologicalPerimeter|orphologicalTransform|ortalityData|ost|ountainData|ouseAnnotation|ouseAppearance|ousePosition|ouseover|ovieData|ovingAverage|ovingMap|ovingMedian|oyalDistribution|ulticolumn|ultigraphQ|ultinomial|ultinomialDistribution|ultinormalDistribution|ultiplicativeOrder|ultiplySides|ultivariateHypergeometricDistribution|ultivariatePoissonDistribution|ultivariateTDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`N(?:|ArgMax|ArgMin|Cache|CaputoD|DEigensystem|DEigenvalues|DSolve|DSolveValue|Expectation|FractionalD|Integrate|MaxValue|Maximize|MinValue|Minimize|Probability|Product|Roots|Solve|SolveValues|Sum|akagamiDistribution|ameQ|ames|and|earest|earestFunction|earestMeshCells|earestNeighborGraph|earestTo|ebulaData|eedlemanWunschSimilarity|eeds|egative|egativeBinomialDistribution|egativeDefiniteMatrixQ|egativeMultinomialDistribution|egativeSemidefiniteMatrixQ|egativelyOrientedPoints|eighborhoodData|eighborhoodGraph|est|estGraph|estList|estWhile|estWhileList|estedGreaterGreater|estedLessLess|eumannValue|evilleThetaC|evilleThetaD|evilleThetaN|evilleThetaS|extCell|extDate|extPrime|icholsPlot|ightHemisphere|onCommutativeMultiply|onNegative|onPositive|oncentralBetaDistribution|oncentralChiSquareDistribution|oncentralFRatioDistribution|oncentralStudentTDistribution|ondimensionalizationTransform|oneTrue|onlinearModelFit|onlinearStateSpaceModel|onlocalMeansFilter|or|orlundB|orm|ormal|ormalDistribution|ormalMatrixQ|ormalize|ormalizedSquaredEuclideanDistance|ot|otCongruent|otCupCap|otDoubleVerticalBar|otElement|otEqualTilde|otExists|otGreater|otGreaterEqual|otGreaterFullEqual|otGreaterGreater|otGreaterLess|otGreaterSlantEqual|otGreaterTilde|otHumpDownHump|otHumpEqual|otLeftTriangle|otLeftTriangleBar|otLeftTriangleEqual|otLess|otLessEqual|otLessFullEqual|otLessGreater|otLessLess|otLessSlantEqual|otLessTilde|otNestedGreaterGreater|otNestedLessLess|otPrecedes|otPrecedesEqual|otPrecedesSlantEqual|otPrecedesTilde|otReverseElement|otRightTriangle|otRightTriangleBar|otRightTriangleEqual|otSquareSubset|otSquareSubsetEqual|otSquareSuperset|otSquareSupersetEqual|otSubset|otSubsetEqual|otSucceeds|otSucceedsEqual|otSucceedsSlantEqual|otSucceedsTilde|otSuperset|otSupersetEqual|otTilde|otTildeEqual|otTildeFullEqual|otTildeTilde|otVerticalBar|otebook|otebookApply|otebookClose|otebookDelete|otebookDirectory|otebookEvaluate|otebookFileName|otebookFind|otebookGet|otebookImport|otebookInformation|otebookLocate|otebookObject|otebookOpen|otebookPrint|otebookPut|otebookRead|otebookSave|otebookSelection|otebookTemplate|otebookWrite|otebooks|othing|uclearExplosionData|uclearReactorData|ullSpace|umberCompose|umberDecompose|umberDigit|umberExpand|umberFieldClassNumber|umberFieldDiscriminant|umberFieldFundamentalUnits|umberFieldIntegralBasis|umberFieldNormRepresentatives|umberFieldRegulator|umberFieldRootsOfUnity|umberFieldSignature|umberForm|umberLinePlot|umberQ|umerator|umeratorDenominator|umericQ|umericalOrder|umericalSort|uttallWindow|yquistPlot)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`O(?:|NanGroupON|bservabilityGramian|bservabilityMatrix|bservableDecomposition|bservableModelQ|ceanData|ctahedron|ddQ|ff|ffset|n|nce|pacity|penAppend|penRead|penWrite|pener|penerView|pening|perate|ptimumFlowData|ptionValue|ptional|ptionalElement|ptions|ptionsPattern|r|rder|rderDistribution|rderedQ|rdering|rderingBy|rderlessPatternSequence|rnsteinUhlenbeckProcess|rthogonalMatrixQ|rthogonalize|uter|uterPolygon|uterPolyhedron|utputControllabilityMatrix|utputControllableModelQ|utputForm|utputNamePacket|utputResponse|utputStream|verBar|verDot|verHat|verTilde|verVector|verflow|verlay|verscript|verscriptBox|wenT|wnValues)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`P(?:DF|ERTDistribution|IDTune|acletDataRebuild|acletDirectoryLoad|acletDirectoryUnload|acletDisable|acletEnable|acletFind|acletFindRemote|acletInstall|acletInstallSubmit|acletNewerQ|acletObject|acletSiteObject|acletSiteRegister|acletSiteUnregister|acletSiteUpdate|acletSites|acletUninstall|adLeft|adRight|addedForm|adeApproximant|ageRankCentrality|airedBarChart|airedHistogram|airedSmoothHistogram|airedTTest|airedZTest|aletteNotebook|alindromeQ|ane|aneSelector|anel|arabolicCylinderD|arallelArray|arallelAxisPlot|arallelCombine|arallelDo|arallelEvaluate|arallelKernels|arallelMap|arallelNeeds|arallelProduct|arallelSubmit|arallelSum|arallelTable|arallelTry|arallelepiped|arallelize|arallelogram|arameterMixtureDistribution|arametricConvexOptimization|arametricFunction|arametricNDSolve|arametricNDSolveValue|arametricPlot|arametricPlot3D|arametricRegion|arentBox|arentCell|arentDirectory|arentNotebook|aretoDistribution|aretoPickandsDistribution|arkData|art|artOfSpeech|artialCorrelationFunction|articleAcceleratorData|articleData|artition|artitionsP|artitionsQ|arzenWindow|ascalDistribution|aste|asteButton|athGraphQ??|attern|atternSequence|atternTest|aulWavelet|auliMatrix|ause|eakDetect|eanoCurve|earsonChiSquareTest|earsonCorrelationTest|earsonDistribution|ercentForm|erfectNumberQ??|erimeter|eriodicBoundaryCondition|eriodogram|eriodogramArray|ermanent|ermissionsGroup|ermissionsGroupMemberQ|ermissionsGroups|ermissionsKeys??|ermutationCyclesQ??|ermutationGroup|ermutationLength|ermutationListQ??|ermutationMatrix|ermutationMax|ermutationMin|ermutationOrder|ermutationPower|ermutationProduct|ermutationReplace|ermutationSupport|ermutations|ermute|eronaMalikFilter|ersonData|etersenGraph|haseMargins|hongShading|hysicalSystemData|ick|ieChart|ieChart3D|iecewise|iecewiseExpand|illaiTrace|illaiTraceTest|ingTime|ixelValue|ixelValuePositions|laced|laceholder|lanarAngle|lanarFaceList|lanarGraphQ??|lanckRadiationLaw|laneCurveData|lanetData|lanetaryMoonData|lantData|lay|lot|lot3D|luralize|lus|lusMinus|ochhammer|oint|ointFigureChart|ointLegend|ointLight|ointSize|oissonConsulDistribution|oissonDistribution|oissonPDEComponent|oissonProcess|oissonWindow|olarPlot|olyGamma|olyLog|olyaAeppliDistribution|olygon|olygonAngle|olygonCoordinates|olygonDecomposition|olygonalNumber|olyhedron|olyhedronAngle|olyhedronCoordinates|olyhedronData|olyhedronDecomposition|olyhedronGenus|olynomialExpressionQ|olynomialExtendedGCD|olynomialGCD|olynomialLCM|olynomialMod|olynomialQ|olynomialQuotient|olynomialQuotientRemainder|olynomialReduce|olynomialRemainder|olynomialSumOfSquaresList|opupMenu|opupView|opupWindow|osition|ositionIndex|ositionLargest|ositionSmallest|ositive|ositiveDefiniteMatrixQ|ositiveSemidefiniteMatrixQ|ositivelyOrientedPoints|ossibleZeroQ|ostfix|ower|owerDistribution|owerExpand|owerMod|owerModList|owerRange|owerSpectralDensity|owerSymmetricPolynomial|owersRepresentations|reDecrement|reIncrement|recedenceForm|recedes|recedesEqual|recedesSlantEqual|recedesTilde|recision|redict|redictorFunction|redictorMeasurements|redictorMeasurementsObject|reemptProtect|refix|repend|rependTo|reviousCell|reviousDate|riceGraphDistribution|rime|rimeNu|rimeOmega|rimePi|rimePowerQ|rimeQ|rimeZetaP|rimitivePolynomialQ|rimitiveRoot|rimitiveRootList|rincipalComponents|rintTemporary|rintableASCIIQ|rintout3D|rism|rivateKey|robability|robabilityDistribution|robabilityPlot|robabilityScalePlot|robitModelFit|rocessConnection|rocessInformation|rocessObject|rocessParameterAssumptions|rocessParameterQ|rocessStatus|rocesses|roduct|roductDistribution|roductLog|rogressIndicator|rojection|roportion|roportional|rotect|roteinData|runing|seudoInverse|sychrometricPropertyData|ublicKey|ulsarData|ut|utAppend|yramid)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`Q(?:Binomial|Factorial|Gamma|HypergeometricPFQ|Pochhammer|PolyGamma|RDecomposition|nDispersion|uadraticIrrationalQ|uadraticOptimization|uantile|uantilePlot|uantity|uantityArray|uantityDistribution|uantityForm|uantityMagnitude|uantityQ|uantityUnit|uantityVariable|uantityVariableCanonicalUnit|uantityVariableDimensions|uantityVariableIdentifier|uantityVariablePhysicalQuantity|uartileDeviation|uartileSkewness|uartiles|uery|ueueProperties|ueueingNetworkProcess|ueueingProcess|uiet|uietEcho|uotient|uotientRemainder)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`R(?:GBColor|Solve|SolveValue|adialAxisPlot|adialGradientFilling|adialGradientImage|adialityCentrality|adicalBox|adioButton|adioButtonBar|adon|adonTransform|amanujanTauL??|amanujanTauTheta|amanujanTauZ|amp|andomChoice|andomColor|andomComplex|andomDate|andomEntity|andomFunction|andomGeneratorState|andomGeoPosition|andomGraph|andomImage|andomInteger|andomPermutation|andomPoint|andomPolygon|andomPolyhedron|andomPrime|andomReal|andomSample|andomTime|andomVariate|andomWalkProcess|andomWord|ange|angeFilter|ankedMax|ankedMin|arerProbability|aster|aster3D|asterize|ational|ationalExpressionQ|ationalize|atios|awBoxes|awData|ayleighDistribution|e|eIm|eImPlot|eactionPDETerm|ead|eadByteArray|eadLine|eadList|eadString|ealAbs|ealDigits|ealExponent|ealSign|eap|econstructionMesh|ectangle|ectangleChart|ectangleChart3D|ectangularRepeatingElement|ecurrenceFilter|ecurrenceTable|educe|efine|eflectionMatrix|eflectionTransform|efresh|egion|egionBinarize|egionBoundary|egionBounds|egionCentroid|egionCongruent|egionConvert|egionDifference|egionDilation|egionDimension|egionDisjoint|egionDistance|egionDistanceFunction|egionEmbeddingDimension|egionEqual|egionErosion|egionFit|egionImage|egionIntersection|egionMeasure|egionMember|egionMemberFunction|egionMoment|egionNearest|egionNearestFunction|egionPlot|egionPlot3D|egionProduct|egionQ|egionResize|egionSimilar|egionSymmetricDifference|egionUnion|egionWithin|egularExpression|egularPolygon|egularlySampledQ|elationGraph|eleaseHold|eliabilityDistribution|eliefImage|eliefPlot|emove|emoveAlphaChannel|emoveBackground|emoveDiacritics|emoveInputStreamMethod|emoveOutputStreamMethod|emoveUsers|enameDirectory|enameFile|enewalProcess|enkoChart|epairMesh|epeated|epeatedNull|epeatedTiming|epeatingElement|eplace|eplaceAll|eplaceAt|eplaceImageValue|eplaceList|eplacePart|eplacePixelValue|eplaceRepeated|esamplingAlgorithmData|escale|escalingTransform|esetDirectory|esidue|esidueSum|esolve|esourceData|esourceObject|esourceSearch|esponseForm|est|estricted|esultant|eturn|eturnExpressionPacket|eturnPacket|eturnTextPacket|everse|everseBiorthogonalSplineWavelet|everseElement|everseEquilibrium|everseGraph|everseSort|everseSortBy|everseUpEquilibrium|evolutionPlot3D|iccatiSolve|iceDistribution|idgeFilter|iemannR|iemannSiegelTheta|iemannSiegelZ|iemannXi|iffle|ightArrow|ightArrowBar|ightArrowLeftArrow|ightComposition|ightCosetRepresentative|ightDownTeeVector|ightDownVector|ightDownVectorBar|ightTee|ightTeeArrow|ightTeeVector|ightTriangle|ightTriangleBar|ightTriangleEqual|ightUpDownVector|ightUpTeeVector|ightUpVector|ightUpVectorBar|ightVector|ightVectorBar|iskAchievementImportance|iskReductionImportance|obustConvexOptimization|ogersTanimotoDissimilarity|ollPitchYawAngles|ollPitchYawMatrix|omanNumeral|oot|ootApproximant|ootIntervals|ootLocusPlot|ootMeanSquare|ootOfUnityQ|ootReduce|ootSum|oots|otate|otateLeft|otateRight|otationMatrix|otationTransform|ound|ow|owBox|owReduce|udinShapiro|udvalisGroupRu|ule|uleDelayed|ulePlot|un|unProcess|unThrough|ussellRaoDissimilarity)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`S(?:ARIMAProcess|ARMAProcess|ASTriangle|SSTriangle|ameAs|ameQ|ampledSoundFunction|ampledSoundList|atelliteData|atisfiabilityCount|atisfiabilityInstances|atisfiableQ|ave|avitzkyGolayMatrix|awtoothWave|caled??|calingMatrix|calingTransform|can|cheduledTask|churDecomposition|cientificForm|corerGi|corerGiPrime|corerHi|corerHiPrime|ech??|echDistribution|econdOrderConeOptimization|ectorChart|ectorChart3D|eedRandom|elect|electComponents|electFirst|electedCells|electedNotebook|electionCreateCell|electionEvaluate|electionEvaluateCreateCell|electionMove|emanticImport|emanticImportString|emanticInterpretation|emialgebraicComponentInstances|emidefiniteOptimization|endMail|endMessage|equence|equenceAlignment|equenceCases|equenceCount|equenceFold|equenceFoldList|equencePosition|equenceReplace|equenceSplit|eries|eriesCoefficient|eriesData|erviceConnect|erviceDisconnect|erviceExecute|erviceObject|essionSubmit|essionTime|et|etAccuracy|etAlphaChannel|etAttributes|etCloudDirectory|etCookies|etDelayed|etDirectory|etEnvironment|etFileDate|etOptions|etPermissions|etPrecision|etSelectedNotebook|etSharedFunction|etSharedVariable|etStreamPosition|etSystemOptions|etUsers|etter|etterBar|etting|hallow|hannonWavelet|hapiroWilkTest|hare|harpen|hearingMatrix|hearingTransform|hellRegion|henCastanMatrix|hiftRegisterSequence|hiftedGompertzDistribution|hort|hortDownArrow|hortLeftArrow|hortRightArrow|hortTimeFourier|hortTimeFourierData|hortUpArrow|hortest|hortestPathFunction|how|iderealTime|iegelTheta|iegelTukeyTest|ierpinskiCurve|ierpinskiMesh|ign|ignTest|ignature|ignedRankTest|ignedRegionDistance|impleGraphQ??|implePolygonQ|implePolyhedronQ|implex|implify|in|inIntegral|inc|inghMaddalaDistribution|ingularValueDecomposition|ingularValueList|ingularValuePlot|inh|inhIntegral|ixJSymbol|keleton|keletonTransform|kellamDistribution|kewNormalDistribution|kewness|kip|liceContourPlot3D|liceDensityPlot3D|liceDistribution|liceVectorPlot3D|lideView|lider|lider2D|liderBox|lot|lotSequence|mallCircle|mithDecomposition|mithDelayCompensator|mithWatermanSimilarity|moothDensityHistogram|moothHistogram|moothHistogram3D|moothKernelDistribution|nDispersion|ocketConnect|ocketListen|ocketListener|ocketObject|ocketOpen|ocketReadMessage|ocketReadyQ|ocketWaitAll|ocketWaitNext|ockets|okalSneathDissimilarity|olarEclipse|olarSystemFeatureData|olarTime|olidAngle|olidData|olidRegionQ|olve|olveAlways|olveValues|ort|ortBy|ound|oundNote|ourcePDETerm|ow|paceCurveData|pacer|pan|parseArrayQ??|patialGraphDistribution|patialMedian|peak|pearmanRankTest|pearmanRho|peciesData|pectralLineData|pectrogram|pectrogramArray|pecularity|peechSynthesize|pellingCorrectionList|phere|pherePoints|phericalBesselJ|phericalBesselY|phericalHankelH1|phericalHankelH2|phericalHarmonicY|phericalPlot3D|phericalShell|pheroidalEigenvalue|pheroidalJoiningFactor|pheroidalPS|pheroidalPSPrime|pheroidalQS|pheroidalQSPrime|pheroidalRadialFactor|pheroidalS1|pheroidalS1Prime|pheroidalS2|pheroidalS2Prime|plicedDistribution|plit|plitBy|pokenString|potLight|qrt|qrtBox|quare|quareFreeQ|quareIntersection|quareMatrixQ|quareRepeatingElement|quareSubset|quareSubsetEqual|quareSuperset|quareSupersetEqual|quareUnion|quareWave|quaredEuclideanDistance|quaresR|tableDistribution|tack|tackBegin|tackComplete|tackInhibit|tackedDateListPlot|tackedListPlot|tadiumShape|tandardAtmosphereData|tandardDeviation|tandardDeviationFilter|tandardForm|tandardOceanData|tandardize|tandbyDistribution|tar|tarClusterData|tarData|tarGraph|tartProcess|tateFeedbackGains|tateOutputEstimator|tateResponse|tateSpaceModel|tateSpaceTransform|tateTransformationLinearize|tationaryDistribution|tationaryWaveletPacketTransform|tationaryWaveletTransform|tatusArea|tatusCentrality|tieltjesGamma|tippleShading|tirlingS1|tirlingS2|toppingPowerData|tratonovichProcess|treamDensityPlot|treamPlot|treamPlot3D|treamPosition|treams|tringCases|tringContainsQ|tringCount|tringDelete|tringDrop|tringEndsQ|tringExpression|tringExtract|tringForm|tringFormatQ??|tringFreeQ|tringInsert|tringJoin|tringLength|tringMatchQ|tringPadLeft|tringPadRight|tringPart|tringPartition|tringPosition|tringQ|tringRepeat|tringReplace|tringReplaceList|tringReplacePart|tringReverse|tringRiffle|tringRotateLeft|tringRotateRight|tringSkeleton|tringSplit|tringStartsQ|tringTake|tringTakeDrop|tringTemplate|tringToByteArray|tringToStream|tringTrim|tripBoxes|tructuralImportance|truveH|truveL|tudentTDistribution|tyle|tyleBox|tyleData|ubMinus|ubPlus|ubStar|ubValues|ubdivide|ubfactorial|ubgraph|ubresultantPolynomialRemainders|ubresultantPolynomials|ubresultants|ubscript|ubscriptBox|ubsequences|ubset|ubsetEqual|ubsetMap|ubsetQ|ubsets|ubstitutionSystem|ubsuperscript|ubsuperscriptBox|ubtract|ubtractFrom|ubtractSides|ucceeds|ucceedsEqual|ucceedsSlantEqual|ucceedsTilde|uccess|uchThat|um|umConvergence|unPosition|unrise|unset|uperDagger|uperMinus|uperPlus|uperStar|upernovaData|uperscript|uperscriptBox|uperset|upersetEqual|urd|urfaceArea|urfaceData|urvivalDistribution|urvivalFunction|urvivalModel|urvivalModelFit|uzukiDistribution|uzukiGroupSuz|watchLegend|witch|ymbol|ymbolName|ymletWavelet|ymmetric|ymmetricGroup|ymmetricKey|ymmetricMatrixQ|ymmetricPolynomial|ymmetricReduction|ymmetrize|ymmetrizedArray|ymmetrizedArrayRules|ymmetrizedDependentComponents|ymmetrizedIndependentComponents|ymmetrizedReplacePart|ynonyms|yntaxInformation|yntaxLength|yntaxPacket|yntaxQ|ystemDialogInput|ystemInformation|ystemOpen|ystemOptions|ystemProcessData|ystemProcesses|ystemsConnectionsModel|ystemsModelControllerData|ystemsModelDelay|ystemsModelDelayApproximate|ystemsModelDelete|ystemsModelDimensions|ystemsModelExtract|ystemsModelFeedbackConnect|ystemsModelLinearity|ystemsModelMerge|ystemsModelOrder|ystemsModelParallelConnect|ystemsModelSeriesConnect|ystemsModelStateFeedbackConnect|ystemsModelVectorRelativeOrders)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`T(?:Test|abView|able|ableForm|agBox|agSet|agSetDelayed|agUnset|ake|akeDrop|akeLargest|akeLargestBy|akeList|akeSmallest|akeSmallestBy|akeWhile|ally|anh??|askAbort|askExecute|askObject|askRemove|askResume|askSuspend|askWait|asks|autologyQ|eXForm|elegraphProcess|emplateApply|emplateBox|emplateExpression|emplateIf|emplateObject|emplateSequence|emplateSlot|emplateWith|emporalData|ensorContract|ensorDimensions|ensorExpand|ensorProduct|ensorRank|ensorReduce|ensorSymmetry|ensorTranspose|ensorWedge|erminatedEvaluation|estReport|estReportObject|estResultObject|etrahedron|ext|extCell|extData|extGrid|extPacket|extRecognize|extSentences|extString|extTranslation|extWords|exture|herefore|hermodynamicData|hermometerGauge|hickness|hinning|hompsonGroupTh|hread|hreeJSymbol|hreshold|hrough|hrow|hueMorse|humbnail|ideData|ilde|ildeEqual|ildeFullEqual|ildeTilde|imeConstrained|imeObjectQ??|imeRemaining|imeSeries|imeSeriesAggregate|imeSeriesForecast|imeSeriesInsert|imeSeriesInvertibility|imeSeriesMap|imeSeriesMapThread|imeSeriesModel|imeSeriesModelFit|imeSeriesResample|imeSeriesRescale|imeSeriesShift|imeSeriesThread|imeSeriesWindow|imeSystemConvert|imeUsed|imeValue|imeZoneConvert|imeZoneOffset|imelinePlot|imes|imesBy|iming|itsGroupT|oBoxes|oCharacterCode|oContinuousTimeModel|oDiscreteTimeModel|oEntity|oExpression|oInvertibleTimeSeries|oLowerCase|oNumberField|oPolarCoordinates|oRadicals|oRules|oSphericalCoordinates|oString|oUpperCase|oeplitzMatrix|ogether|oggler|ogglerBar|ooltip|oonShading|opHatTransform|opologicalSort|orus|orusGraph|otal|otalVariationFilter|ouchPosition|r|race|raceDialog|racePrint|raceScan|racyWidomDistribution|radingChart|raditionalForm|ransferFunctionCancel|ransferFunctionExpand|ransferFunctionFactor|ransferFunctionModel|ransferFunctionPoles|ransferFunctionTransform|ransferFunctionZeros|ransformationFunction|ransformationMatrix|ransformedDistribution|ransformedField|ransformedProcess|ransformedRegion|ransitiveClosureGraph|ransitiveReductionGraph|ranslate|ranslationTransform|ransliterate|ranspose|ravelDirections|ravelDirectionsData|ravelDistance|ravelDistanceList|ravelTime|reeForm|reeGraphQ??|reePlot|riangle|riangleWave|riangularDistribution|riangulateMesh|rigExpand|rigFactor|rigFactorList|rigReduce|rigToExp|rigger|rimmedMean|rimmedVariance|ropicalStormData|rueQ|runcatedDistribution|runcatedPolyhedron|sallisQExponentialDistribution|sallisQGaussianDistribution|ube|ukeyLambdaDistribution|ukeyWindow|unnelData|uples|uranGraph|uringMachine|uttePolynomial|woWayRule|ypeHint)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`U(?:RL|RLBuild|RLDecode|RLDispatcher|RLDownload|RLEncode|RLExecute|RLExpand|RLParse|RLQueryDecode|RLQueryEncode|RLRead|RLResponseTime|RLShorten|RLSubmit|nateQ|ncompress|nderBar|nderflow|nderoverscript|nderoverscriptBox|nderscript|nderscriptBox|nderseaFeatureData|ndirectedEdge|ndirectedGraphQ??|nequal|nequalTo|nevaluated|niformDistribution|niformGraphDistribution|niformPolyhedron|niformSumDistribution|ninstall|nion|nionPlus|nique|nitBox|nitConvert|nitDimensions|nitRootTest|nitSimplify|nitStep|nitTriangle|nitVector|nitaryMatrixQ|nitize|niverseModelData|niversityData|nixTime|nprotect|nsameQ|nset|nsetShared|ntil|pArrow|pArrowBar|pArrowDownArrow|pDownArrow|pEquilibrium|pSet|pSetDelayed|pTee|pTeeArrow|pTo|pValues|pdate|pperCaseQ|pperLeftArrow|pperRightArrow|pperTriangularMatrixQ??|pperTriangularize|psample|singFrontEnd)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`V(?:alueQ|alues|ariables|ariance|arianceEquivalenceTest|arianceGammaDistribution|arianceTest|ectorAngle|ectorDensityPlot|ectorDisplacementPlot|ectorDisplacementPlot3D|ectorGreater|ectorGreaterEqual|ectorLess|ectorLessEqual|ectorPlot|ectorPlot3D|ectorQ|ectors|ee|erbatim|erificationTest|ertexAdd|ertexChromaticNumber|ertexComponent|ertexConnectivity|ertexContract|ertexCorrelationSimilarity|ertexCosineSimilarity|ertexCount|ertexCoverQ|ertexDegree|ertexDelete|ertexDiceSimilarity|ertexEccentricity|ertexInComponent|ertexInComponentGraph|ertexInDegree|ertexIndex|ertexJaccardSimilarity|ertexList|ertexOutComponent|ertexOutComponentGraph|ertexOutDegree|ertexQ|ertexReplace|ertexTransitiveGraphQ|ertexWeightedGraphQ|erticalBar|erticalGauge|erticalSeparator|erticalSlider|erticalTilde|oiceStyleData|oigtDistribution|olcanoData|olume|onMisesDistribution|oronoiMesh)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`W(?:aitAll|aitNext|akebyDistribution|alleniusHypergeometricDistribution|aringYuleDistribution|arpingCorrespondence|arpingDistance|atershedComponents|atsonUSquareTest|attsStrogatzGraphDistribution|avePDEComponent|aveletBestBasis|aveletFilterCoefficients|aveletImagePlot|aveletListPlot|aveletMapIndexed|aveletMatrixPlot|aveletPhi|aveletPsi|aveletScalogram|aveletThreshold|eakStationarity|eaklyConnectedComponents|eaklyConnectedGraphComponents|eaklyConnectedGraphQ|eatherData|eatherForecastData|eberE|edge|eibullDistribution|eierstrassE1|eierstrassE2|eierstrassE3|eierstrassEta1|eierstrassEta2|eierstrassEta3|eierstrassHalfPeriodW1|eierstrassHalfPeriodW2|eierstrassHalfPeriodW3|eierstrassHalfPeriods|eierstrassInvariantG2|eierstrassInvariantG3|eierstrassInvariants|eierstrassP|eierstrassPPrime|eierstrassSigma|eierstrassZeta|eightedAdjacencyGraph|eightedAdjacencyMatrix|eightedData|eightedGraphQ|elchWindow|heelGraph|henEvent|hich|hile|hiteNoiseProcess|hittakerM|hittakerW|ienerFilter|ienerProcess|ignerD|ignerSemicircleDistribution|ikipediaData|ilksW|ilksWTest|indDirectionData|indSpeedData|indVectorData|indingCount|indingPolygon|insorizedMean|insorizedVariance|ishartMatrixDistribution|ith|olframAlpha|olframLanguageData|ordCloud|ordCounts??|ordData|ordDefinition|ordFrequency|ordFrequencyData|ordList|ordStem|ordTranslation|rite|riteLine|riteString|ronskian)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`X(?:MLElement|MLObject|MLTemplate|YZColor|nor|or)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`YuleDissimilarity(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`Z(?:IPCodeData|Test|Transform|ernikeR|eroSymmetric|eta|etaZero|ipfDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"System`A(?:cceptanceThreshold|ccuracyGoal|ctiveStyle|ddOnHelpPath|djustmentBoxOptions|lignment|lignmentPoint|llowGroupClose|llowInlineCells|llowLooseGrammar|llowReverseGroupClose|llowScriptLevelChange|llowVersionUpdate|llowedCloudExtraParameters|llowedCloudParameterExtensions|llowedDimensions|llowedFrequencyRange|llowedHeads|lternativeHypothesis|ltitudeMethod|mbiguityFunction|natomySkinStyle|nchoredSearch|nimationDirection|nimationRate|nimationRepetitions|nimationRunTime|nimationRunning|nimationTimeIndex|nnotationRules|ntialiasing|ppearance|ppearanceElements|ppearanceRules|spectRatio|ssociationFormat|ssumptions|synchronous|ttachedCell|udioChannelAssignment|udioEncoding|udioInputDevice|udioLabel|udioOutputDevice|uthentication|utoAction|utoCopy|utoDelete|utoGeneratedPackage|utoIndent|utoItalicWords|utoMultiplicationSymbol|utoOpenNotebooks|utoOpenPalettes|utoOperatorRenderings|utoRemove|utoScroll|utoSpacing|utoloadPath|utorunSequencing|xes|xesEdge|xesLabel|xesOrigin|xesStyle)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`B(?:ackground|arOrigin|arSpacing|aseStyle|aselinePosition|inaryFormat|ookmarks|ooleanStrings|oundaryStyle|oxBaselineShift|oxFormFormatTypes|oxFrame|oxMargins|oxRatios|oxStyle|oxed|ubbleScale|ubbleSizes|uttonBoxOptions|uttonData|uttonFunction|uttonMinHeight|uttonSource|yteOrdering)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`C(?:alendarType|alloutMarker|alloutStyle|aptureRunning|aseOrdering|elestialSystem|ellAutoOverwrite|ellBaseline|ellBracketOptions|ellChangeTimes|ellContext|ellDingbat|ellDingbatMargin|ellDynamicExpression|ellEditDuplicate|ellEpilog|ellEvaluationDuplicate|ellEvaluationFunction|ellEventActions|ellFrame|ellFrameColor|ellFrameLabelMargins|ellFrameLabels|ellFrameMargins|ellGrouping|ellGroupingRules|ellHorizontalScrolling|ellID|ellLabel|ellLabelAutoDelete|ellLabelMargins|ellLabelPositioning|ellLabelStyle|ellLabelTemplate|ellMargins|ellOpen|ellProlog|ellSize|ellTags|haracterEncoding|haracterEncodingsPath|hartBaseStyle|hartElementFunction|hartElements|hartLabels|hartLayout|hartLegends|hartStyle|lassPriors|lickToCopyEnabled|lipPlanes|lipPlanesStyle|lipRange|lippingStyle|losingAutoSave|loudBase|loudObjectNameFormat|loudObjectURLType|lusterDissimilarityFunction|odeAssistOptions|olorCoverage|olorFunction|olorFunctionBinning|olorFunctionScaling|olorRules|olorSelectorSettings|olorSpace|olumnAlignments|olumnLines|olumnSpacings|olumnWidths|olumnsEqual|ombinerFunction|ommonDefaultFormatTypes|ommunityBoundaryStyle|ommunityLabels|ommunityRegionStyle|ompilationOptions|ompilationTarget|ompiled|omplexityFunction|ompressionLevel|onfidenceLevel|onfidenceRange|onfidenceTransform|onfigurationPath|onstants|ontentPadding|ontentSelectable|ontentSize|ontinuousAction|ontourLabels|ontourShading|ontourStyle|ontours|ontrolPlacement|ontrolType|ontrollerLinking|ontrollerMethod|ontrollerPath|ontrolsRendering|onversionRules|ookieFunction|oordinatesToolOptions|opyFunction|opyable|ornerNeighbors|ounterAssignments|ounterFunction|ounterIncrements|ounterStyleMenuListing|ovarianceEstimatorFunction|reateCellID|reateIntermediateDirectories|riterionFunction|ubics|urveClosed)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`D(?:ataRange|ataReversed|atasetTheme|ateFormat|ateFunction|ateGranularity|ateReduction|ateTicksFormat|ayCountConvention|efaultDuplicateCellStyle|efaultDuration|efaultElement|efaultFontProperties|efaultFormatType|efaultInlineFormatType|efaultNaturalLanguage|efaultNewCellStyle|efaultNewInlineCellStyle|efaultNotebook|efaultOptions|efaultPrintPrecision|efaultStyleDefinitions|einitialization|eletable|eleteContents|eletionWarning|elimiterAutoMatching|elimiterFlashTime|elimiterMatching|elimiters|eliveryFunction|ependentVariables|eployed|escriptorStateSpace|iacriticalPositioning|ialogProlog|ialogSymbols|igitBlock|irectedEdges|irection|iscreteVariables|ispersionEstimatorFunction|isplayAllSteps|isplayFunction|istanceFunction|istributedContexts|ithering|ividers|ockedCells??|ynamicEvaluationTimeout|ynamicModuleValues|ynamicUpdating)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:clipseType|dgeCapacity|dgeCost|dgeLabelStyle|dgeLabels|dgeShapeFunction|dgeStyle|dgeValueRange|dgeValueSizes|dgeWeight|ditCellTagsSettings|ditable|lidedForms|nabled|pilog|pilogFunction|scapeRadius|valuatable|valuationCompletionAction|valuationElements|valuationMonitor|valuator|valuatorNames|ventLabels|xcludePods|xcludedContexts|xcludedForms|xcludedLines|xcludedPhysicalQuantities|xclusions|xclusionsStyle|xponentFunction|xponentPosition|xponentStep|xponentialFamily|xportAutoReplacements|xpressionUUID|xtension|xtentElementFunction|xtentMarkers|xtentSize|xternalDataCharacterEncoding|xternalOptions|xternalTypeSignature)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`F(?:aceGrids|aceGridsStyle|ailureAction|eatureNames|eatureTypes|eedbackSector|eedbackSectorStyle|eedbackType|ieldCompletionFunction|ieldHint|ieldHintStyle|ieldMasked|ieldSize|ileNameDialogSettings|ileNameForms|illing|illingStyle|indSettings|itRegularization|ollowRedirects|ontColor|ontFamily|ontSize|ontSlant|ontSubstitutions|ontTracking|ontVariations|ontWeight|orceVersionInstall|ormBoxOptions|ormLayoutFunction|ormProtectionMethod|ormatType|ormatTypeAutoConvert|ourierParameters|ractionBoxOptions|ractionLine|rame|rameBoxOptions|rameLabel|rameMargins|rameRate|rameStyle|rameTicks|rameTicksStyle|rontEndEventActions|unctionSpace)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`G(?:apPenalty|augeFaceElementFunction|augeFaceStyle|augeFrameElementFunction|augeFrameSize|augeFrameStyle|augeLabels|augeMarkers|augeStyle|aussianIntegers|enerateConditions|eneratedCell|eneratedDocumentBinding|eneratedParameters|eneratedQuantityMagnitudes|eneratorDescription|eneratorHistoryLength|eneratorOutputType|eoArraySize|eoBackground|eoCenter|eoGridLines|eoGridLinesStyle|eoGridRange|eoGridRangePadding|eoLabels|eoLocation|eoModel|eoProjection|eoRange|eoRangePadding|eoResolution|eoScaleBar|eoServer|eoStylingImageFunction|eoZoomLevel|radient|raphHighlight|raphHighlightStyle|raphLayerStyle|raphLayers|raphLayout|ridCreationSettings|ridDefaultElement|ridFrame|ridFrameMargins|ridLines|ridLinesStyle|roupActionBase|roupPageBreakWithin)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`H(?:eaderAlignment|eaderBackground|eaderDisplayFunction|eaderLines|eaderSize|eaderStyle|eads|elpBrowserSettings|iddenItems|olidayCalendar|yperlinkAction|yphenation)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`I(?:conRules|gnoreCase|gnoreDiacritics|gnorePunctuation|mageCaptureFunction|mageFormattingWidth|mageLabels|mageLegends|mageMargins|magePadding|magePreviewFunction|mageRegion|mageResolution|mageSize|mageSizeAction|mageSizeMultipliers|magingDevice|mportAutoReplacements|mportOptions|ncludeConstantBasis|ncludeDefinitions|ncludeDirectories|ncludeFileExtension|ncludeGeneratorTasks|ncludeInflections|ncludeMetaInformation|ncludePods|ncludeQuantities|ncludeSingularSolutions|ncludeWindowTimes|ncludedContexts|ndeterminateThreshold|nflationMethod|nheritScope|nitialSeeding|nitialization|nitializationCell|nitializationCellEvaluation|nitializationCellWarning|nputAliases|nputAssumptions|nputAutoReplacements|nsertResults|nsertionFunction|nteractive|nterleaving|nterpolationOrder|nterpolationPoints|nterpretationBoxOptions|nterpretationFunction|ntervalMarkers|ntervalMarkersStyle|nverseFunctions|temAspectRatio|temDisplayFunction|temSize|temStyle)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Joined(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Ke(?:epExistingVersion|yCollisionFunction|ypointStrength)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`L(?:abelStyle|abelVisibility|abelingFunction|abelingSize|anguage|anguageCategory|ayerSizeFunction|eaderSize|earningRate|egendAppearance|egendFunction|egendLabel|egendLayout|egendMargins|egendMarkerSize|egendMarkers|ighting|ightingAngle|imitsPositioning|imitsPositioningTokens|ineBreakWithin|ineIndent|ineIndentMaxFraction|ineIntegralConvolutionScale|ineSpacing|inearOffsetFunction|inebreakAdjustments|inkFunction|inkProtocol|istFormat|istPickerBoxOptions|ocalizeVariables|ocatorAutoCreate|ocatorRegion|ooping)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`M(?:agnification|ailAddressValidation|ailResponseFunction|ailSettings|asking|atchLocalNames|axCellMeasure|axColorDistance|axDuration|axExtraBandwidths|axExtraConditions|axFeatureDisplacement|axFeatures|axItems|axIterations|axMixtureKernels|axOverlapFraction|axPlotPoints|axRecursion|axStepFraction|axStepSize|axSteps|emoryConstraint|enuCommandKey|enuSortingValue|enuStyle|esh|eshCellHighlight|eshCellLabel|eshCellMarker|eshCellShapeFunction|eshCellStyle|eshFunctions|eshQualityGoal|eshRefinementFunction|eshShading|eshStyle|etaInformation|ethod|inColorDistance|inIntervalSize|inPointSeparation|issingBehavior|issingDataMethod|issingDataRules|issingString|issingStyle|odal|odulus|ultiaxisArrangement|ultiedgeStyle|ultilaunchWarning|ultilineFunction|ultiselection)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`N(?:icholsGridLines|ominalVariables|onConstants|ormFunction|ormalized|ormalsFunction|otebookAutoSave|otebookBrowseDirectory|otebookConvertSettings|otebookDynamicExpression|otebookEventActions|otebookPath|otebooksMenu|otificationFunction|ullRecords|ullWords|umberFormat|umberMarks|umberMultiplier|umberPadding|umberPoint|umberSeparator|umberSigns|yquistGridLines)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`O(?:pacityFunction|pacityFunctionScaling|peratingSystem|ptionInspectorSettings|utputAutoOverwrite|utputSizeLimit|verlaps|verscriptBoxOptions|verwriteTarget)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`P(?:IDDerivativeFilter|IDFeedforward|acletSite|adding|addingSize|ageBreakAbove|ageBreakBelow|ageBreakWithin|ageFooterLines|ageFooters|ageHeaderLines|ageHeaders|ageTheme|ageWidth|alettePath|aneled|aragraphIndent|aragraphSpacing|arallelization|arameterEstimator|artBehavior|artitionGranularity|assEventsDown|assEventsUp|asteBoxFormInlineCells|ath|erformanceGoal|ermissions|haseRange|laceholderReplace|layRange|lotLabels??|lotLayout|lotLegends|lotMarkers|lotPoints|lotRange|lotRangeClipping|lotRangePadding|lotRegion|lotStyle|lotTheme|odStates|odWidth|olarAxes|olarAxesOrigin|olarGridLines|olarTicks|oleZeroMarkers|recisionGoal|referencesPath|reprocessingRules|reserveColor|reserveImageOptions|rincipalValue|rintAction|rintPrecision|rintingCopies|rintingOptions|rintingPageRange|rintingStartingPageNumber|rintingStyleEnvironment|rintout3DPreviewer|rivateCellOptions|rivateEvaluationOptions|rivateFontOptions|rivateNotebookOptions|rivatePaths|rocessDirectory|rocessEnvironment|rocessEstimator|rogressReporting|rolog|ropagateAborts)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Quartics(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`R(?:adicalBoxOptions|andomSeeding|asterSize|eImLabels|eImStyle|ealBlockDiagonalForm|ecognitionPrior|ecordLists|ecordSeparators|eferenceLineStyle|efreshRate|egionBoundaryStyle|egionFillingStyle|egionFunction|egionSize|egularization|enderingOptions|equiredPhysicalQuantities|esampling|esamplingMethod|esolveContextAliases|estartInterval|eturnReceiptFunction|evolutionAxis|otateLabel|otationAction|oundingRadius|owAlignments|owLines|owMinHeight|owSpacings|owsEqual|ulerUnits|untimeAttributes|untimeOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`S(?:ameTest|ampleDepth|ampleRate|amplingPeriod|aveConnection|aveDefinitions|aveable|caleDivisions|caleOrigin|calePadding|caleRangeStyle|caleRanges|calingFunctions|cientificNotationThreshold|creenStyleEnvironment|criptBaselineShifts|criptLevel|criptMinSize|criptSizeMultipliers|crollPosition|crollbars|crollingOptions|ectorOrigin|ectorSpacing|electable|elfLoopStyle|eriesTermGoal|haringList|howAutoSpellCheck|howAutoStyles|howCellBracket|howCellLabel|howCellTags|howClosedCellArea|howContents|howCursorTracker|howGroupOpener|howPageBreaks|howSelection|howShortBoxForm|howSpecialCharacters|howStringCharacters|hrinkingDelay|ignPadding|ignificanceLevel|imilarityRules|ingleLetterItalics|liderBoxOptions|ortedBy|oundVolume|pacings|panAdjustments|panCharacterRounding|panLineThickness|panMaxSize|panMinSize|panSymmetric|pecificityGoal|pellingCorrection|pellingDictionaries|pellingDictionariesPath|pellingOptions|phericalRegion|plineClosed|plineDegree|plineKnots|plineWeights|qrtBoxOptions|tabilityMargins|tabilityMarginsStyle|tandardized|tartingStepSize|tateSpaceRealization|tepMonitor|trataVariables|treamColorFunction|treamColorFunctionScaling|treamMarkers|treamPoints|treamScale|treamStyle|trictInequalities|tripOnInput|tripWrapperBoxes|tructuredSelection|tyleBoxAutoDelete|tyleDefinitions|tyleHints|tyleMenuListing|tyleNameDialogSettings|tyleSheetPath|ubscriptBoxOptions|ubsuperscriptBoxOptions|ubtitleEncoding|uperscriptBoxOptions|urdForm|ynchronousInitialization|ynchronousUpdating|yntaxForm|ystemHelpPath|ystemsModelLabels)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`T(?:abFilling|abSpacings|ableAlignments|ableDepth|ableDirections|ableHeadings|ableSpacing|agBoxOptions|aggingRules|argetFunctions|argetUnits|emplateBoxOptions|emporalRegularity|estID|extAlignment|extClipboardType|extJustification|extureCoordinateFunction|extureCoordinateScaling|icks|icksStyle|imeConstraint|imeDirection|imeFormat|imeGoal|imeSystem|imeZone|okenWords|olerance|ooltipDelay|ooltipStyle|otalWidth|ouchscreenAutoZoom|ouchscreenControlPlacement|raceAbove|raceBackward|raceDepth|raceForward|raceOff|raceOn|raceOriginal|rackedSymbols|rackingFunction|raditionalFunctionNotation|ransformationClass|ransformationFunctions|ransitionDirection|ransitionDuration|ransitionEffect|ranslationOptions|ravelMethod|rendStyle|rig)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`U(?:nderoverscriptBoxOptions|nderscriptBoxOptions|ndoOptions|ndoTrackedVariables|nitSystem|nityDimensions|nsavedVariables|pdateInterval|pdatePacletSites|tilityFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`V(?:alidationLength|alidationSet|alueDimensions|arianceEstimatorFunction|ectorAspectRatio|ectorColorFunction|ectorColorFunctionScaling|ectorMarkers|ectorPoints|ectorRange|ectorScaling|ectorSizes|ectorStyle|erifyConvergence|erifySecurityCertificates|erifySolutions|erifyTestAssumptions|ersionedPreferences|ertexCapacity|ertexColors|ertexCoordinates|ertexDataCoordinates|ertexLabelStyle|ertexLabels|ertexNormals|ertexShape|ertexShapeFunction|ertexSize|ertexStyle|ertexTextureCoordinates|ertexWeight|ideoEncoding|iewAngle|iewCenter|iewMatrix|iewPoint|iewProjection|iewRange|iewVector|iewVertical|isible)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`W(?:aveletScale|eights|hitePoint|indowClickSelect|indowElements|indowFloating|indowFrame|indowFrameElements|indowMargins|indowOpacity|indowSize|indowStatusArea|indowTitle|indowToolbars|ordOrientation|ordSearch|ordSelectionFunction|ordSeparators|ordSpacings|orkingPrecision|rapAround)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Zero(?:Test|WidthTimes)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`A(?:bove|fter|lgebraics|ll|nonymous|utomatic|xis)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`B(?:ack|ackward|aseline|efore|elow|lack|lue|old|ooleans|ottom|oxes|rown|yte)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`C(?:atalan|ellStyle|enter|haracter|omplexInfinity|omplexes|onstant|yan)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`D(?:ashed|efaultAxesStyle|efaultBaseStyle|efaultBoxStyle|efaultFaceGridsStyle|efaultFieldHintStyle|efaultFrameStyle|efaultFrameTicksStyle|efaultGridLinesStyle|efaultLabelStyle|efaultMenuStyle|efaultTicksStyle|efaultTooltipStyle|egree|elimiter|igitCharacter|otDashed|otted)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:|ndOfBuffer|ndOfFile|ndOfLine|ndOfString|ulerGamma|xpression)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`F(?:alse|lat|ontProperties|orward|orwardBackward|riday|ront|rontEndDynamicExpression|ull)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`G(?:eneral|laisher|oldenAngle|oldenRatio|ray|reen)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`H(?:ere|exadecimalCharacter|oldAll|oldAllComplete|oldFirst|oldRest)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`I(?:|ndeterminate|nfinity|nherited|ntegers??|talic)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Khinchin(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`L(?:arger??|eft|etterCharacter|ightBlue|ightBrown|ightCyan|ightGray|ightGreen|ightMagenta|ightOrange|ightPink|ightPurple|ightRed|ightYellow|istable|ocked)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`M(?:achinePrecision|agenta|anual|edium|eshCellCentroid|eshCellMeasure|eshCellQuality|onday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`N(?:HoldAll|HoldFirst|HoldRest|egativeIntegers|egativeRationals|egativeReals|oWhitespace|onNegativeIntegers|onNegativeRationals|onNegativeReals|onPositiveIntegers|onPositiveRationals|onPositiveReals|one|ow|ull|umber|umberString|umericFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`O(?:neIdentity|range|rderless)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`P(?:i|ink|lain|ositiveIntegers|ositiveRationals|ositiveReals|rimes|rotected|unctuationCharacter|urple)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`R(?:ationals|eadProtected|eals??|ecord|ed|ight)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`S(?:aturday|equenceHold|mall|maller|panFromAbove|panFromBoth|panFromLeft|tartOfLine|tartOfString|tring|truckthrough|tub|unday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`T(?:emporary|hick|hin|hursday|iny|oday|omorrow|op|ransparent|rue|uesday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Unde(?:f|rl)ined(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`W(?:ednesday|hite|hitespace|hitespaceCharacter|ord|ordBoundary|ordCharacter)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`Ye(?:llow|sterday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`\\\\\\\\$(?:Aborted|ActivationKey|AllowDataUpdates|AllowInternet|AssertFunction|Assumptions|AudioInputDevices|AudioOutputDevices|BaseDirectory|BasePacletsDirectory|BatchInput|BatchOutput|ByteOrdering|CacheBaseDirectory|Canceled|CharacterEncodings??|CloudAccountName|CloudBase|CloudConnected|CloudCreditsAvailable|CloudEvaluation|CloudExpressionBase|CloudObjectNameFormat|CloudObjectURLType|CloudRootDirectory|CloudSymbolBase|CloudUserID|CloudUserUUID|CloudVersion|CommandLine|CompilationTarget|Context|ContextAliases|ContextPath|ControlActiveSetting|Cookies|CreationDate|CurrentLink|CurrentTask|DateStringFormat|DefaultAudioInputDevice|DefaultAudioOutputDevice|DefaultFrontEnd|DefaultImagingDevice|DefaultKernels|DefaultLocalBase|DefaultLocalKernel|Display|DisplayFunction|DistributedContexts|DynamicEvaluation|Echo|EmbedCodeEnvironments|EmbeddableServices|Epilog|EvaluationCloudBase|EvaluationCloudObject|EvaluationEnvironment|ExportFormats|Failed|FontFamilies|FrontEnd|FrontEndSession|GeoLocation|GeoLocationCity|GeoLocationCountry|GeoLocationSource|HomeDirectory|IgnoreEOF|ImageFormattingWidth|ImageResolution|ImagingDevices??|ImportFormats|InitialDirectory|Input|InputFileName|InputStreamMethods|Inspector|InstallationDirectory|InterpreterTypes|IterationLimit|KernelCount|KernelID|Language|LibraryPath|LicenseExpirationDate|LicenseID|LicenseServer|Linked|LocalBase|LocalSymbolBase|MachineAddresses|MachineDomains|MachineEpsilon|MachineID|MachineName|MachinePrecision|MachineType|MaxExtraPrecision|MaxMachineNumber|MaxNumber|MaxPiecewiseCases|MaxPrecision|MaxRootDegree|MessageGroups|MessageList|MessagePrePrint|Messages|MinMachineNumber|MinNumber|MinPrecision|MobilePhone|ModuleNumber|NetworkConnected|NewMessage|NewSymbol|NotebookInlineStorageLimit|Notebooks|NumberMarks|OperatingSystem|Output|OutputSizeLimit|OutputStreamMethods|Packages|ParentLink|ParentProcessID|PasswordFile|Path|PathnameSeparator|PerformanceGoal|Permissions|PlotTheme|Printout3DPreviewer|ProcessID|ProcessorCount|ProcessorType|ProgressReporting|RandomGeneratorState|RecursionLimit|ReleaseNumber|RequesterAddress|RequesterCloudUserID|RequesterCloudUserUUID|RequesterWolframID|RequesterWolframUUID|RootDirectory|ScriptCommandLine|ScriptInputString|Services|SessionID|SharedFunctions|SharedVariables|SoundDisplayFunction|SynchronousEvaluation|System|SystemCharacterEncoding|SystemID|SystemShell|SystemTimeZone|SystemWordLength|TemplatePath|TemporaryDirectory|TimeUnit|TimeZone|TimeZoneEntity|TimedOut|UnitSystem|Urgent|UserAgentString|UserBaseDirectory|UserBasePacletsDirectory|UserDocumentsDirectory|UserURLBase|Username|Version|VersionNumber|WolframDocumentsDirectory|WolframID|WolframUUID)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"System`A(?:bortScheduledTask|ctive|lgebraicRules|lternateImage|natomyForm|nimationCycleOffset|nimationCycleRepetitions|nimationDisplayTime|spectRatioFixed|stronomicalData|synchronousTaskObject|synchronousTasks|udioDevice|udioLooping)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`Button(?:Evaluator|Expandable|Frame|Margins|Note|Style)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`C(?:DFInformation|hebyshevDistance|lassifierInformation|lipFill|olorOutput|olumnForm|ompose|onstantArrayLayer|onstantPlusLayer|onstantTimesLayer|onstrainedMax|onstrainedMin|ontourGraphics|ontourLines|onversionOptions|reateScheduledTask|reateTemporary|urry)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`D(?:atabinRemove|ate|ebug|efaultColor|efaultFont|ensityGraphics|isplay|isplayString|otPlusLayer|ragAndDrop)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:dgeLabeling|dgeRenderingFunction|valuateScheduledTask|xpectedValue)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`F(?:actorComplete|ontForm|ormTheme|romDate|ullOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`Gr(?:aphStyle|aphicsArray|aphicsSpacing|idBaseline)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`H(?:TMLSave|eldPart|iddenSurface|omeDirectory)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`I(?:mageRotated|nstanceNormalizationLayer)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`L(?:UBackSubstitution|egendreType|ightSources|inearProgramming|inkOpen|iteral|ongestMatch)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`M(?:eshRange|oleculeEquivalentQ)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`N(?:etInformation|etSharedArray|extScheduledTaskTime|otebookCreate)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`OpenTemporary(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`P(?:IDData|ackingMethod|ersistentValue|ixelConstrained|lot3Matrix|lotDivision|lotJoined|olygonIntersections|redictorInformation|roperties|roperty|ropertyList|ropertyValue)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`R(?:andom|asterArray|ecognitionThreshold|elease|emoteKernelObject|emoveAsynchronousTask|emoveProperty|emoveScheduledTask|enderAll|eplaceHeldPart|esetScheduledTask|esumePacket|unScheduledTask)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`S(?:cheduledTaskActiveQ|cheduledTaskInformation|cheduledTaskObject|cheduledTasks|creenRectangle|electionAnimate|equenceAttentionLayer|equenceForm|etProperty|hading|hortestMatch|ingularValues|kinStyle|ocialMediaData|tartAsynchronousTask|tartScheduledTask|tateDimensions|topAsynchronousTask|topScheduledTask|tructuredArray|tyleForm|tylePrint|ubscripted|urfaceColor|urfaceGraphics|uspendPacket|ystemModelProgressReporting)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`T(?:eXSave|extStyle|imeWarpingCorrespondence|imeWarpingDistance|oDate|oFileName|oHeldExpression)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`URL(?:Fetch|FetchAsynchronous|Save|SaveAsynchronous)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`Ve(?:ctorScale|rtexCoordinateRules|rtexLabeling|rtexRenderingFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`W(?:aitAsynchronousTask|indowMovable)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`\\\\\\\\$(?:AsynchronousTask|ConfiguredKernels|DefaultFont|EntityStores|FormatType|HTTPCookies|InstallationDate|MachineDomain|ProductInformation|ProgramName|RandomState|ScheduledTask|SummaryBoxDataSizeLimit|TemporaryPrefix|TextStyle|TopDirectory|UserAddOnsDirectory)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"System`A(?:ctionDelay|ctionMenuBox|ctionMenuBoxOptions|ctiveItem|lgebraicRulesData|lignmentMarker|llowAdultContent|llowChatServices|llowIncomplete|nalytic|nimatorBox|nimatorBoxOptions|nimatorElements|ppendCheck|rgumentCountQ|rrow3DBox|rrowBox|uthenticate|utoEvaluateEvents|utoIndentSpacings|utoMatch|utoNumberFormatting|utoQuoteCharacters|utoScaling|utoStyleOptions|utoStyleWords|utomaticImageSize|xis3DBox|xis3DBoxOptions|xisBox|xisBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`B(?:SplineCurve3DBox|SplineCurve3DBoxOptions|SplineCurveBox|SplineCurveBoxOptions|SplineSurface3DBox|SplineSurface3DBoxOptions|ackFaceColor|ackFaceGlowColor|ackFaceOpacity|ackFaceSpecularColor|ackFaceSpecularExponent|ackFaceSurfaceAppearance|ackFaceTexture|ackgroundAppearance|ackgroundTasksSettings|acksubstitution|eveled|ezierCurve3DBox|ezierCurve3DBoxOptions|ezierCurveBox|ezierCurveBoxOptions|lankForm|ounds|ox|oxDimensions|oxForm|oxID|oxRotation|oxRotationPoint|ra|raKet|rowserCategory|uttonCell|uttonContents|uttonStyleMenuListing)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`C(?:acheGraphics|achedValue|ardinalBSplineBasis|ellBoundingBox|ellContents|ellElementSpacings|ellElementsBoundingBox|ellFrameStyle|ellInsertionPointCell|ellTrayPosition|ellTrayWidgets|hangeOptions|hannelDatabin|hannelListenerWait|hannelPreSendFunction|hartElementData|hartElementDataFunction|heckAll|heckboxBox|heckboxBoxOptions|ircleBox|lipboardNotebook|lockwiseContourIntegral|losed|losingEvent|loudConnections|loudObjectInformation|loudObjectInformationData|loudUserID|oarse|oefficientDomain|olonForm|olorSetterBox|olorSetterBoxOptions|olumnBackgrounds|ompilerEnvironmentAppend|ompletionsListPacket|omponentwiseContextMenu|ompressedData|oneBox|onicHullRegion3DBox|onicHullRegion3DBoxOptions|onicHullRegionBox|onicHullRegionBoxOptions|onnect|ontentsBoundingBox|ontextMenu|ontinuation|ontourIntegral|ontourSmoothing|ontrolAlignment|ontrollerDuration|ontrollerInformationData|onvertToPostScript|onvertToPostScriptPacket|ookies|opyTag|ounterBox|ounterBoxOptions|ounterClockwiseContourIntegral|ounterEvaluator|ounterStyle|uboidBox|uboidBoxOptions|urlyDoubleQuote|urlyQuote|ylinderBox|ylinderBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`D(?:OSTextFormat|ampingFactor|ataCompression|atasetDisplayPanel|ateDelimiters|ebugTag|ecimal|efault2DTool|efault3DTool|efaultAttachedCellStyle|efaultControlPlacement|efaultDockedCellStyle|efaultInputFormatType|efaultOutputFormatType|efaultStyle|efaultTextFormatType|efaultTextInlineFormatType|efaultValue|efineExternal|egreeLexicographic|egreeReverseLexicographic|eleteWithContents|elimitedArray|estroyAfterEvaluation|eviceOpenQ|ialogIndent|ialogLevel|ifferenceOrder|igitBlockMinimum|isableConsolePrintPacket|iskBox|iskBoxOptions|ispatchQ|isplayRules|isplayTemporary|istributionDomain|ivergence|ocumentGeneratorInformationData|omainRegistrationInformation|oubleContourIntegral|oublyInfinite|own|rawBackFaces|rawFrontFaces|rawHighlighted|ualLinearProgramming|umpGet|ynamicBox|ynamicBoxOptions|ynamicLocation|ynamicModuleBox|ynamicModuleBoxOptions|ynamicModuleParent|ynamicName|ynamicNamespace|ynamicReference|ynamicWrapperBox|ynamicWrapperBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:ditButtonSettings|liminationOrder|llipticReducedHalfPeriods|mbeddingObject|mphasizeSyntaxErrors|mpty|nableConsolePrintPacket|ndAdd|ngineEnvironment|nter|qualColumns|qualRows|quatedTo|rrorBoxOptions|rrorNorm|rrorPacket|rrorsDialogSettings|valuated|valuationMode|valuationOrder|valuationRateLimit|ventEvaluator|ventHandlerTag|xactRootIsolation|xitDialog|xpectationE|xportPacket|xpressionPacket|xternalCall|xternalFunctionName)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`F(?:EDisableConsolePrintPacket|EEnableConsolePrintPacket|ail|ileInformation|ileName|illForm|illedCurveBox|illedCurveBoxOptions|ine|itAll|lashSelection|ont|ontName|ontOpacity|ontPostScriptName|ontReencoding|ormatRules|ormatValues|rameInset|rameless|rontEndObject|rontEndResource|rontEndResourceString|rontEndStackSize|rontEndValueCache|rontEndVersion|rontFaceColor|rontFaceGlowColor|rontFaceOpacity|rontFaceSpecularColor|rontFaceSpecularExponent|rontFaceSurfaceAppearance|rontFaceTexture|ullAxes)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`G(?:eneratedCellStyles|eneric|eometricTransformation3DBox|eometricTransformation3DBoxOptions|eometricTransformationBox|eometricTransformationBoxOptions|estureHandlerTag|etContext|etFileName|etLinebreakInformationPacket|lobalPreferences|lobalSession|raphLayerLabels|raphRoot|raphics3DBox|raphics3DBoxOptions|raphicsBaseline|raphicsBox|raphicsBoxOptions|raphicsComplex3DBox|raphicsComplex3DBoxOptions|raphicsComplexBox|raphicsComplexBoxOptions|raphicsContents|raphicsData|raphicsGridBox|raphicsGroup3DBox|raphicsGroup3DBoxOptions|raphicsGroupBox|raphicsGroupBoxOptions|raphicsGrouping|raphicsStyle|reekStyle|ridBoxAlignment|ridBoxBackground|ridBoxDividers|ridBoxFrame|ridBoxItemSize|ridBoxItemStyle|ridBoxOptions|ridBoxSpacings|ridElementStyleOptions|roupOpenerColor|roupOpenerInsideFrame|roupTogetherGrouping|roupTogetherNestedGrouping)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`H(?:eadCompose|eaders|elpBrowserLookup|elpBrowserNotebook|elpViewerSettings|essian|exahedronBox|exahedronBoxOptions|ighlightString|omePage|orizontal|orizontalForm|orizontalScrollPosition|yperlinkCreationSettings|yphenationOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`I(?:conizedObject|gnoreSpellCheck|mageCache|mageCacheValid|mageEditMode|mageMarkers|mageOffset|mageRangeCache|mageSizeCache|mageSizeRaw|nactiveStyle|ncludeSingularTerm|ndent|ndentMaxFraction|ndentingNewlineSpacings|ndexCreationOptions|ndexTag|nequality|nexactNumbers|nformationData|nformationDataGrid|nlineCounterAssignments|nlineCounterIncrements|nlineRules|nputFieldBox|nputFieldBoxOptions|nputGrouping|nputSettings|nputToBoxFormPacket|nsertionPointObject|nset3DBox|nset3DBoxOptions|nsetBox|nsetBoxOptions|ntegral|nterlaced|nterpolationPrecision|nterpretTemplate|nterruptSettings|nto|nvisibleApplication|nvisibleTimes|temBox|temBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`J(?:acobian|oinedCurveBox|oinedCurveBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`K(?:|ernelExecute|et)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`L(?:abeledSlider|ambertW|anguageOptions|aunch|ayoutInformation|exicographic|icenseID|ine3DBox|ine3DBoxOptions|ineBox|ineBoxOptions|ineBreak|ineWrapParts|inearFilter|inebreakSemicolonWeighting|inkConnectedQ|inkError|inkFlush|inkHost|inkMode|inkOptions|inkReadHeld|inkService|inkWriteHeld|istPickerBoxBackground|isten|iteralSearch|ocalizeDefinitions|ocatorBox|ocatorBoxOptions|ocatorCentering|ocatorPaneBox|ocatorPaneBoxOptions|ongEqual|ongForm|oopback)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`M(?:achineID|achineName|acintoshSystemPageSetup|ainSolve|aintainDynamicCaches|akeRules|atchLocalNameQ|aterial|athMLText|athematicaNotation|axBend|axPoints|enu|enuAppearance|enuEvaluator|enuItem|enuList|ergeDifferences|essageObject|essageOptions|essagesNotebook|etaCharacters|ethodOptions|inRecursion|inSize|ode|odular|onomialOrder|ouseAppearanceTag|ouseButtons|ousePointerNote|ultiLetterItalics|ultiLetterStyle|ultiplicity|ultiscriptBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`N(?:BernoulliB|ProductFactors|SumTerms|Values|amespaceBox|amespaceBoxOptions|estedScriptRules|etworkPacketRecordingDuring|ext|onAssociative|ormalGrouping|otebookDefault|otebookInterfaceObject)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`O(?:LEData|bjectExistsQ|pen|penFunctionInspectorPacket|penSpecialOptions|penerBox|penerBoxOptions|ptionQ|ptionValueBox|ptionValueBoxOptions|ptionsPacket|utputFormData|utputGrouping|utputMathEditExpression|ver|verlayBox|verlayBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`P(?:ackPaclet|ackage|acletDirectoryAdd|acletDirectoryRemove|acletInformation|acletObjectQ|acletUpdate|ageHeight|alettesMenuSettings|aneBox|aneBoxOptions|aneSelectorBox|aneSelectorBoxOptions|anelBox|anelBoxOptions|aperWidth|arameter|arameterVariables|arentConnect|arentForm|arentList|arenthesize|artialD|asteAutoQuoteCharacters|ausedTime|eriodicInterpolation|erpendicular|ickMode|ickedElements|ivoting|lotRangeClipPlanesStyle|oint3DBox|oint3DBoxOptions|ointBox|ointBoxOptions|olygon3DBox|olygon3DBoxOptions|olygonBox|olygonBoxOptions|olygonHoleScale|olygonScale|olyhedronBox|olyhedronBoxOptions|olynomialForm|olynomials|opupMenuBox|opupMenuBoxOptions|ostScript|recedence|redictionRoot|referencesSettings|revious|rimaryPlaceholder|rintForm|rismBox|rismBoxOptions|rivateFrontEndOptions|robabilityPr|rocessStateDomain|rocessTimeDomain|rogressIndicatorBox|rogressIndicatorBoxOptions|romptForm|yramidBox|yramidBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`R(?:adioButtonBox|adioButtonBoxOptions|andomSeed|angeSpecification|aster3DBox|aster3DBoxOptions|asterBox|asterBoxOptions|ationalFunctions|awArray|awMedium|ebuildPacletData|ectangleBox|ecurringDigitsForm|eferenceMarkerStyle|eferenceMarkers|einstall|emoved|epeatedString|esourceAcquire|esourceSubmissionObject|eturnCreatesNewCell|eturnEntersInput|eturnInputFormPacket|otationBox|otationBoxOptions|oundImplies|owBackgrounds|owHeights|uleCondition|uleForm)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`S(?:aveAutoDelete|caledMousePosition|cheduledTaskInformationData|criptForm|criptRules|ectionGrouping|electWithContents|election|electionCell|electionCellCreateCell|electionCellDefaultStyle|electionCellParentStyle|electionPlaceholder|elfLoops|erviceResponse|etOptionsPacket|etSecuredAuthenticationKey|etbacks|etterBox|etterBoxOptions|howAutoConvert|howCodeAssist|howControls|howGroupOpenCloseIcon|howInvisibleCharacters|howPredictiveInterface|howSyntaxStyles|hrinkWrapBoundingBox|ingleEvaluation|ingleLetterStyle|lider2DBox|lider2DBoxOptions|ocket|olveDelayed|oundAndGraphics|pace|paceForm|panningCharacters|phereBox|phereBoxOptions|tartupSound|tringBreak|tringByteCount|tripStyleOnPaste|trokeForm|tructuredArrayHeadQ|tyleKeyMapping|tyleNames|urfaceAppearance|yntax|ystemException|ystemGet|ystemInformationData|ystemStub|ystemTest)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`T(?:ab|abViewBox|abViewBoxOptions|ableViewBox|ableViewBoxAlignment|ableViewBoxBackground|ableViewBoxHeaders|ableViewBoxItemSize|ableViewBoxItemStyle|ableViewBoxOptions|agBoxNote|agStyle|emplateEvaluate|emplateSlotSequence|emplateUnevaluated|emplateVerbatim|emporaryVariable|ensorQ|etrahedronBox|etrahedronBoxOptions|ext3DBox|ext3DBoxOptions|extBand|extBoundingBox|extBox|extForm|extLine|extParagraph|hisLink|itleGrouping|oColor|oggle|oggleFalse|ogglerBox|ogglerBoxOptions|ooBig|ooltipBox|ooltipBoxOptions|otalHeight|raceAction|raceInternal|raceLevel|rackCellChangeTimes|raditionalNotation|raditionalOrder|ransparentColor|rapEnterKey|rapSelection|ubeBSplineCurveBox|ubeBSplineCurveBoxOptions|ubeBezierCurveBox|ubeBezierCurveBoxOptions|ubeBox|ubeBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`U(?:ntrackedVariables|p|seGraphicsRange|serDefinedWavelet|sing)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`V(?:2Get|alueBox|alueBoxOptions|alueForm|aluesData|ectorGlyphData|erbose|ertical|erticalForm|iewPointSelectorSettings|iewPort|irtualGroupData|isibleCell)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`W(?:aitUntil|ebPageMetaInformation|holeCellGroupOpener|indowPersistentStyles|indowSelected|indowWidth|olframAlphaDate|olframAlphaQuantity|olframAlphaResult|olframCloudSettings)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`\\\\\\\\$(?:ActivationGroupID|ActivationUserRegistered|AddOnsDirectory|BoxForms|CloudConnection|CloudVersionNumber|CloudWolframEngineVersionNumber|ConditionHold|DefaultMailbox|DefaultPath|FinancialDataSource|GeoEntityTypes|GeoLocationPrecision|HTMLExportRules|HTTPRequest|LaunchDirectory|LicenseProcesses|LicenseSubprocesses|LicenseType|LinkSupported|LoadedFiles|MaxLicenseProcesses|MaxLicenseSubprocesses|MinorReleaseNumber|NetworkLicense|Off|OutputForms|PatchLevelID|PermissionsGroupBase|PipeSupported|PreferencesDirectory|PrintForms|PrintLiteral|RegisteredDeviceClasses|RegisteredUserName|SecuredAuthenticationKeyTokens|SetParentLink|SoundDisplay|SuppressInputFormHeads|SystemMemory|TraceOff|TraceOn|TracePattern|TracePostAction|TracePreAction|UserAgentLanguages|UserAgentMachine|UserAgentName|UserAgentOperatingSystem|UserAgentVersion|UserName)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"System`A(?:ctiveClassification|ctiveClassificationObject|ctivePrediction|ctivePredictionObject|ddToSearchIndex|ggregatedEntityClass|ggregationLayer|ngleBisector|nimatedImage|nimationVideo|nomalyDetector|ppendLayer|pplication|pplyReaction|round|roundReplace|rrayReduce|sk|skAppend|skConfirm|skDisplay|skFunction|skState|skTemplateDisplay|skedQ|skedValue|ssessmentFunction|ssessmentResultObject|ssumeDeterministic|stroAngularSeparation|stroBackground|stroCenter|stroDistance|stroGraphics|stroGridLines|stroGridLinesStyle|stroPosition|stroProjection|stroRange|stroRangePadding|stroReferenceFrame|stroStyling|stroZoomLevel|tom|tomCoordinates|tomCount|tomDiagramCoordinates|tomLabelStyle|tomLabels|tomList|ttachCell|ttentionLayer|udioAnnotate|udioAnnotationLookup|udioIdentify|udioInstanceQ|udioPause|udioPlay|udioRecord|udioStop|udioStreams??|udioTrackApply|udioTrackSelection|utocomplete|utocompletionFunction|xiomaticTheory|xisLabel|xisObject|xisStyle)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`B(?:asicRecurrentLayer|atchNormalizationLayer|atchSize|ayesianMaximization|ayesianMaximizationObject|ayesianMinimization|ayesianMinimizationObject|esagL|innedVariogramList|inomialPointProcess|ioSequence|ioSequenceBackTranslateList|ioSequenceComplement|ioSequenceInstances|ioSequenceModify|ioSequencePlot|ioSequenceQ|ioSequenceReverseComplement|ioSequenceTranscribe|ioSequenceTranslate|itRate|lockDiagonalMatrix|lockLowerTriangularMatrix|lockUpperTriangularMatrix|lockchainAddressData|lockchainBase|lockchainBlockData|lockchainContractValue|lockchainData|lockchainGet|lockchainKeyEncode|lockchainPut|lockchainTokenData|lockchainTransaction|lockchainTransactionData|lockchainTransactionSign|lockchainTransactionSubmit|ond|ondCount|ondLabelStyle|ondLabels|ondList|ondQ|uildCompiledComponent)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`C(?:TCLossLayer|achePersistence|anvas|ast|ategoricalDistribution|atenateLayer|auchyPointProcess|hannelBase|hannelBrokerAction|hannelHistoryLength|hannelListen|hannelListeners??|hannelObject|hannelReceiverFunction|hannelSend|hannelSubscribers|haracterNormalize|hemicalConvert|hemicalFormula|hemicalInstance|hemicalReaction|loudExpressions??|loudRenderingMethod|ombinatorB|ombinatorC|ombinatorI|ombinatorK|ombinatorS|ombinatorW|ombinatorY|ombinedEntityClass|ompiledCodeFunction|ompiledComponent|ompiledExpressionDeclaration|ompiledLayer|ompilerCallback|ompilerEnvironment|ompilerEnvironmentAppendTo|ompilerEnvironmentObject|ompilerOptions|omplementedEntityClass|omputeUncertainty|onfirmQuiet|onformationMethod|onnectSystemModelComponents|onnectSystemModelController|onnectedMoleculeComponents|onnectedMoleculeQ|onnectionSettings|ontaining|ontentDetectorFunction|ontentFieldOptions|ontentLocationFunction|ontentObject|ontrastiveLossLayer|onvolutionLayer|reateChannel|reateCloudExpression|reateCompilerEnvironment|reateDataStructure|reateDataSystemModel|reateLicenseEntitlement|reateSearchIndex|reateSystemModel|reateTypeInstance|rossEntropyLossLayer|urrentNotebookImage|urrentScreenImage|urryApplied)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`D(?:SolveChangeVariables|ataStructureQ??|atabaseConnect|atabaseDisconnect|atabaseReference|atabinSubmit|ateInterval|eclareCompiledComponent|econvolutionLayer|ecryptFile|eleteChannel|eleteCloudExpression|eleteElements|eleteSearchIndex|erivedKey|iggleGatesPointProcess|iggleGrattonPointProcess|igitalSignature|isableFormatting|ocumentWeightingRules|otLayer|ownValuesFunction|ropoutLayer|ynamicImage)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:choTiming|lementwiseLayer|mbeddedSQLEntityClass|mbeddedSQLExpression|mbeddingLayer|mptySpaceF|ncryptFile|ntityFunction|ntityStore|stimatedPointProcess|stimatedVariogramModel|valuationEnvironment|valuationPrivileges|xpirationDate|xpressionTree|xtendedEntityClass|xternalEvaluate|xternalFunction|xternalIdentifier|xternalObject|xternalSessionObject|xternalSessions|xternalStorageBase|xternalStorageDownload|xternalStorageGet|xternalStorageObject|xternalStoragePut|xternalStorageUpload|xternalValue|xtractLayer)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`F(?:aceRecognize|eatureDistance|eatureExtract|eatureExtraction|eatureExtractor|eatureExtractorFunction|ileConvert|ileFormatProperties|ileNameToFormatList|ileSystemTree|ilteredEntityClass|indChannels|indEquationalProof|indExternalEvaluators|indGeometricConjectures|indImageText|indIsomers|indMoleculeSubstructure|indPointProcessParameters|indSystemModelEquilibrium|indTextualAnswer|lattenLayer|orAllType|ormControl|orwardCloudCredentials|oxHReduce|rameListVideo|romRawPointer|unctionCompile|unctionCompileExport|unctionCompileExportByteArray|unctionCompileExportLibrary|unctionCompileExportString|unctionDeclaration|unctionLayer|unctionPoles)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`G(?:alleryView|atedRecurrentLayer|enerateDerivedKey|enerateDigitalSignature|enerateFileSignature|enerateSecuredAuthenticationKey|eneratedAssetFormat|eneratedAssetLocation|eoGraphValuePlot|eoOrientationData|eometricAssertion|eometricScene|eometricStep|eometricStylingRules|eometricTest|ibbsPointProcess|raphTree|ridVideo)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`H(?:andlerFunctions|andlerFunctionsKeys|ardcorePointProcess|istogramPointDensity)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`I(?:gnoreIsotopes|gnoreStereochemistry|mageAugmentationLayer|mageBoundingBoxes|mageCases|mageContainsQ|mageContents|mageGraphics|magePosition|magePyramid|magePyramidApply|mageStitch|mportedObject|ncludeAromaticBonds|ncludeHydrogens|ncludeRelatedTables|nertEvaluate|nertExpression|nfiniteFuture|nfinitePast|nhomogeneousPoissonPointProcess|nitialEvaluationHistory|nitializationObjects??|nitializationValue|nitialize|nputPorts|ntegrateChangeVariables|nterfaceSwitched|ntersectedEntityClass|nverseImagePyramid)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`Kernel(?:Configura|Func)tion(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`L(?:earningRateMultipliers|ibraryFunctionDeclaration|icenseEntitlementObject|icenseEntitlements|icensingSettings|inearLayer|iteralType|oadCompiledComponent|ocalResponseNormalizationLayer|ongShortTermMemoryLayer|ossFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`M(?:IMETypeToFormatList|ailExecute|ailFolder|ailItem|ailSearch|ailServerConnect|ailServerConnection|aternPointProcess|axDisplayedChildren|axTrainingRounds|axWordGap|eanAbsoluteLossLayer|eanAround|eanPointDensity|eanSquaredLossLayer|ergingFunction|idpoint|issingValuePattern|issingValueSynthesis|olecule|oleculeAlign|oleculeContainsQ|oleculeDraw|oleculeFreeQ|oleculeGraph|oleculeMatchQ|oleculeMaximumCommonSubstructure|oleculeModify|oleculeName|oleculePattern|oleculePlot|oleculePlot3D|oleculeProperty|oleculeQ|oleculeRecognize|oleculeSubstructureCount|oleculeValue)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`N(?:BodySimulation|BodySimulationData|earestNeighborG|estTree|etAppend|etArray|etArrayLayer|etBidirectionalOperator|etChain|etDecoder|etDelete|etDrop|etEncoder|etEvaluationMode|etExternalObject|etExtract|etFlatten|etFoldOperator|etGANOperator|etGraph|etInitialize|etInsert|etInsertSharedArrays|etJoin|etMapOperator|etMapThreadOperator|etMeasurements|etModel|etNestOperator|etPairEmbeddingOperator|etPort|etPortGradient|etPrepend|etRename|etReplace|etReplacePart|etStateObject|etTake|etTrain|etTrainResultsObject|etUnfold|etworkPacketCapture|etworkPacketRecording|etworkPacketTrace|eymanScottPointProcess|ominalScale|ormalizationLayer|umericArrayQ??|umericArrayType)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`O(?:peratorApplied|rderingLayer|rdinalScale|utputPorts|verlayVideo)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`P(?:acletSymbol|addingLayer|agination|airCorrelationG|arametricRampLayer|arentEdgeLabel|arentEdgeLabelFunction|arentEdgeLabelStyle|arentEdgeShapeFunction|arentEdgeStyle|arentEdgeStyleFunction|artLayer|artProtection|atternFilling|atternReaction|enttinenPointProcess|erpendicularBisector|ersistenceLocation|ersistenceTime|ersistentObjects??|ersistentSymbol|itchRecognize|laceholderLayer|laybackSettings|ointCountDistribution|ointDensity|ointDensityFunction|ointProcessEstimator|ointProcessFitTest|ointProcessParameterAssumptions|ointProcessParameterQ|ointStatisticFunction|ointValuePlot|oissonPointProcess|oolingLayer|rependLayer|roofObject|ublisherID)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`Question(?:Generator|Interface|Object|Selector)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`R(?:andomArrayLayer|andomInstance|andomPointConfiguration|andomTree|eactionBalance|eactionBalancedQ|ecalibrationFunction|egisterExternalEvaluator|elationalDatabase|emoteAuthorizationCaching|emoteBatchJobAbort|emoteBatchJobObject|emoteBatchJobs|emoteBatchMapSubmit|emoteBatchSubmissionEnvironment|emoteBatchSubmit|emoteConnect|emoteConnectionObject|emoteEvaluate|emoteFile|emoteInputFiles|emoteProviderSettings|emoteRun|emoteRunProcess|emovalConditions|emoveAudioStream|emoveChannelListener|emoveChannelSubscribers|emoveVideoStream|eplicateLayer|eshapeLayer|esizeLayer|esourceFunction|esourceRegister|esourceRemove|esourceSubmit|esourceSystemBase|esourceSystemPath|esourceUpdate|esourceVersion|everseApplied|ipleyK|ipleyRassonRegion|ootTree|ulesTree)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`S(?:ameTestProperties|ampledEntityClass|earchAdjustment|earchIndexObject|earchIndices|earchQueryString|earchResultObject|ecuredAuthenticationKeys??|ecurityCertificate|equenceIndicesLayer|equenceLastLayer|equenceMostLayer|equencePredict|equencePredictorFunction|equenceRestLayer|equenceReverseLayer|erviceRequest|erviceSubmit|etFileFormatProperties|etSystemModel|lideShowVideo|moothPointDensity|nippet|nippetsVideo|nubPolyhedron|oftmaxLayer|olidBoundaryLoadValue|olidDisplacementCondition|olidFixedCondition|olidMechanicsPDEComponent|olidMechanicsStrain|olidMechanicsStress|ortedEntityClass|ourceLink|patialBinnedPointData|patialBoundaryCorrection|patialEstimate|patialEstimatorFunction|patialJ|patialNoiseLevel|patialObservationRegionQ|patialPointData|patialPointSelect|patialRandomnessTest|patialTransformationLayer|patialTrendFunction|peakerMatchQ|peechCases|peechInterpreter|peechRecognize|plice|tartExternalSession|tartWebSession|tereochemistryElements|traussHardcorePointProcess|traussPointProcess|ubsetCases|ubsetCount|ubsetPosition|ubsetReplace|ubtitleTrackSelection|ummationLayer|ymmetricDifference|ynthesizeMissingValues|ystemCredential|ystemCredentialData|ystemCredentialKeys??|ystemCredentialStoreObject|ystemInstall|ystemModel|ystemModelExamples|ystemModelLinearize|ystemModelMeasurements|ystemModelParametricSimulate|ystemModelPlot|ystemModelReliability|ystemModelSimulate|ystemModelSimulateSensitivity|ystemModelSimulationData|ystemModeler|ystemModels)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`T(?:ableView|argetDevice|argetSystem|ernaryListPlot|ernaryPlotCorners|extCases|extContents|extElement|extPosition|extSearch|extSearchReport|extStructure|homasPointProcess|hreaded|hreadingLayer|ickDirection|ickLabelOrientation|ickLabelPositioning|ickLabels|ickLengths|ickPositions|oRawPointer|otalLayer|ourVideo|rainImageContentDetector|rainTextContentDetector|rainingProgressCheckpointing|rainingProgressFunction|rainingProgressMeasurements|rainingProgressReporting|rainingStoppingCriterion|rainingUpdateSchedule|ransposeLayer|ree|reeCases|reeChildren|reeCount|reeData|reeDelete|reeDepth|reeElementCoordinates|reeElementLabel|reeElementLabelFunction|reeElementLabelStyle|reeElementShape|reeElementShapeFunction|reeElementSize|reeElementSizeFunction|reeElementStyle|reeElementStyleFunction|reeExpression|reeExtract|reeFold|reeInsert|reeLayout|reeLeafCount|reeLeafQ|reeLeaves|reeLevel|reeMap|reeMapAt|reeOutline|reePosition|reeQ|reeReplacePart|reeRules|reeScan|reeSelect|reeSize|reeTraversalOrder|riangleCenter|riangleConstruct|riangleMeasurement|ypeDeclaration|ypeEvaluate|ypeOf|ypeSpecifier|yped)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`U(?:RLDownloadSubmit|nconstrainedParameters|nionedEntityClass|niqueElements|nitVectorLayer|nlabeledTree|nmanageObject|nregisterExternalEvaluator|pdateSearchIndex|seEmbeddedLibrary)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`V(?:alenceErrorHandling|alenceFilling|aluePreprocessingFunction|andermondeMatrix|arianceGammaPointProcess|ariogramFunction|ariogramModel|ectorAround|erifyDerivedKey|erifyDigitalSignature|erifyFileSignature|erifyInterpretation|ideo|ideoCapture|ideoCombine|ideoDelete|ideoExtractFrames|ideoFrameList|ideoFrameMap|ideoGenerator|ideoInsert|ideoIntervals|ideoJoin|ideoMap|ideoMapList|ideoMapTimeSeries|ideoPadding|ideoPause|ideoPlay|ideoQ|ideoRecord|ideoReplace|ideoScreenCapture|ideoSplit|ideoStop|ideoStreams??|ideoTimeStretch|ideoTrackSelection|ideoTranscode|ideoTransparency|ideoTrim)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`W(?:ebAudioSearch|ebColumn|ebElementObject|ebExecute|ebImage|ebImageSearch|ebItem|ebRow|ebSearch|ebSessionObject|ebSessions|ebWindowObject|ikidataData|ikidataSearch|ikipediaSearch|ithCleanup|ithLock)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`Zoom(?:Center|Factor)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`\\\\\\\\$(?:AllowExternalChannelFunctions|AudioDecoders|AudioEncoders|BlockchainBase|ChannelBase|CompilerEnvironment|CookieStore|CryptographicEllipticCurveNames|CurrentWebSession|DataStructures|DefaultNetworkInterface|DefaultProxyRules|DefaultRemoteBatchSubmissionEnvironment|DefaultRemoteKernel|DefaultSystemCredentialStore|ExternalIdentifierTypes|ExternalStorageBase|GeneratedAssetLocation|IncomingMailSettings|Initialization|InitializationContexts|MaxDisplayedChildren|NetworkInterfaces|NoValue|PersistenceBase|PersistencePath|PreInitialization|PublisherID|ResourceSystemBase|ResourceSystemPath|SSHAuthentication|ServiceCreditsAvailable|SourceLink|SubtitleDecoders|SubtitleEncoders|SystemCredentialStore|TargetSystems|TestFileName|VideoDecoders|VideoEncoders|VoiceStyles)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"System`E(?:cho|xit)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"System`In(?:|String)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"System`Out(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"System`Print(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"System`Quit(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"System`\\\\\\\\$(?:HistoryLength|Line|Post|Pre|PrePrint|PreRead|SyntaxHandler)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"System`[$[:alpha:]][$[:alnum:]]*(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.illegal.system.wolfram\\\"},{\\\"match\\\":\\\"[$[:alpha:]][$[:alnum:]]*(?:`[$[:alpha:]][$[:alnum:]]*)+(?=\\\\\\\\s*(\\\\\\\\[(?!\\\\\\\\s*\\\\\\\\[)|@(?!@)))\\\",\\\"name\\\":\\\"variable.function.wolfram\\\"},{\\\"match\\\":\\\"[$[:alpha:]][$[:alnum:]]*(?:`[$[:alpha:]][$[:alnum:]]*)+\\\",\\\"name\\\":\\\"symbol.unrecognized.wolfram\\\"},{\\\"match\\\":\\\"[$[:alpha:]][$[:alnum:]]*`\\\",\\\"name\\\":\\\"invalid.illegal.wolfram\\\"},{\\\"match\\\":\\\"(?:`[$[:alpha:]][$[:alnum:]]*)+(?=\\\\\\\\s*(\\\\\\\\[(?!\\\\\\\\s*\\\\\\\\[)|@(?!@)))\\\",\\\"name\\\":\\\"variable.function.wolfram\\\"},{\\\"match\\\":\\\"(?:`[$[:alpha:]][$[:alnum:]]*)+\\\",\\\"name\\\":\\\"symbol.unrecognized.wolfram\\\"},{\\\"match\\\":\\\"`\\\",\\\"name\\\":\\\"invalid.illegal.wolfram\\\"},{\\\"match\\\":\\\"A(?:ASTriangle|PIFunction|RCHProcess|RIMAProcess|RMAProcess|RProcess|SATriangle|belianGroup|bort|bortKernels|bortProtect|bs|bsArg|bsArgPlot|bsoluteCorrelation|bsoluteCorrelationFunction|bsoluteCurrentValue|bsoluteDashing|bsoluteFileName|bsoluteOptions|bsolutePointSize|bsoluteThickness|bsoluteTime|bsoluteTiming|ccountingForm|ccumulate|ccuracy|cousticAbsorbingValue|cousticImpedanceValue|cousticNormalVelocityValue|cousticPDEComponent|cousticPressureCondition|cousticRadiationValue|cousticSoundHardValue|cousticSoundSoftCondition|ctionMenu|ctivate|cyclicGraphQ|ddSides|ddTo|ddUsers|djacencyGraph|djacencyList|djacencyMatrix|djacentMeshCells|djugate|djustTimeSeriesForecast|djustmentBox|dministrativeDivisionData|ffineHalfSpace|ffineSpace|ffineStateSpaceModel|ffineTransform|irPressureData|irSoundAttenuation|irTemperatureData|ircraftData|irportData|iryAi|iryAiPrime|iryAiZero|iryBi|iryBiPrime|iryBiZero|lgebraicIntegerQ|lgebraicNumber|lgebraicNumberDenominator|lgebraicNumberNorm|lgebraicNumberPolynomial|lgebraicNumberTrace|lgebraicUnitQ|llTrue|lphaChannel|lphabet|lphabeticOrder|lphabeticSort|lternatingFactorial|lternatingGroup|lternatives|mbientLight|mbiguityList|natomyData|natomyPlot3D|natomyStyling|nd|ndersonDarlingTest|ngerJ|ngleBracket|nglePath|nglePath3D|ngleVector|ngularGauge|nimate|nimator|nnotate|nnotation|nnotationDelete|nnotationKeys|nnotationValue|nnuity|nnuityDue|nnulus|nomalyDetection|nomalyDetectorFunction|ntihermitian|ntihermitianMatrixQ|ntisymmetric|ntisymmetricMatrixQ|ntonyms|nyOrder|nySubset|nyTrue|part|partSquareFree|ppellF1|ppend|ppendTo|pply|pplySides|pplyTo|rcCosh??|rcCoth??|rcCsch??|rcCurvature|rcLength|rcSech??|rcSin|rcSinDistribution|rcSinh|rcTanh??|rea|rg|rgMax|rgMin|rgumentsOptions|rithmeticGeometricMean|rray|rrayComponents|rrayDepth|rrayFilter|rrayFlatten|rrayMesh|rrayPad|rrayPlot|rrayPlot3D|rrayQ|rrayResample|rrayReshape|rrayRules|rrays|rrow|rrowheads|ssert|ssociateTo|ssociation|ssociationMap|ssociationQ|ssociationThread|ssuming|symptotic|symptoticDSolveValue|symptoticEqual|symptoticEquivalent|symptoticExpectation|symptoticGreater|symptoticGreaterEqual|symptoticIntegrate|symptoticLess|symptoticLessEqual|symptoticOutputTracker|symptoticProbability|symptoticProduct|symptoticRSolveValue|symptoticSolve|symptoticSum|tomQ|ttributes|udio|udioAmplify|udioBlockMap|udioCapture|udioChannelCombine|udioChannelMix|udioChannelSeparate|udioChannels|udioData|udioDelay|udioDelete|udioDistance|udioFade|udioFrequencyShift|udioGenerator|udioInsert|udioIntervals|udioJoin|udioLength|udioLocalMeasurements|udioLoudness|udioMeasurements|udioNormalize|udioOverlay|udioPad|udioPan|udioPartition|udioPitchShift|udioPlot|udioQ|udioReplace|udioResample|udioReverb|udioReverse|udioSampleRate|udioSpectralMap|udioSpectralTransformation|udioSplit|udioTimeStretch|udioTrim|udioType|ugmentedPolyhedron|ugmentedSymmetricPolynomial|uthenticationDialog|utoRefreshed|utoSubmitting|utocorrelationTest)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"B(?:SplineBasis|SplineCurve|SplineFunction|SplineSurface|abyMonsterGroupB|ackslash|all|and|andpassFilter|andstopFilter|arChart|arChart3D|arLegend|arabasiAlbertGraphDistribution|arcodeImage|arcodeRecognize|aringhausHenzeTest|arlowProschanImportance|arnesG|artlettHannWindow|artlettWindow|aseDecode|aseEncode|aseForm|atesDistribution|attleLemarieWavelet|ecause|eckmannDistribution|eep|egin|eginDialogPacket|eginPackage|ellB|ellY|enfordDistribution|eniniDistribution|enktanderGibratDistribution|enktanderWeibullDistribution|ernoulliB|ernoulliDistribution|ernoulliGraphDistribution|ernoulliProcess|ernsteinBasis|esselFilterModel|esselI|esselJ|esselJZero|esselK|esselY|esselYZero|eta|etaBinomialDistribution|etaDistribution|etaNegativeBinomialDistribution|etaPrimeDistribution|etaRegularized|etween|etweennessCentrality|eveledPolyhedron|ezierCurve|ezierFunction|ilateralFilter|ilateralLaplaceTransform|ilateralZTransform|inCounts|inLists|inarize|inaryDeserialize|inaryDistance|inaryImageQ|inaryRead|inaryReadList|inarySerialize|inaryWrite|inomial|inomialDistribution|inomialProcess|inormalDistribution|iorthogonalSplineWavelet|ipartiteGraphQ|iquadraticFilterModel|irnbaumImportance|irnbaumSaundersDistribution|itAnd|itClear|itGet|itLength|itNot|itOr|itSet|itShiftLeft|itShiftRight|itXor|iweightLocation|iweightMidvariance|lackmanHarrisWindow|lackmanNuttallWindow|lackmanWindow|lank|lankNullSequence|lankSequence|lend|lock|lockMap|lockRandom|lomqvistBeta|lomqvistBetaTest|lur|lurring|odePlot|ohmanWindow|oole|ooleanConsecutiveFunction|ooleanConvert|ooleanCountingFunction|ooleanFunction|ooleanGraph|ooleanMaxterms|ooleanMinimize|ooleanMinterms|ooleanQ|ooleanRegion|ooleanTable|ooleanVariables|orderDimensions|orelTannerDistribution|ottomHatTransform|oundaryDiscretizeGraphics|oundaryDiscretizeRegion|oundaryMesh|oundaryMeshRegionQ??|oundedRegionQ|oundingRegion|oxData|oxMatrix|oxObject|oxWhiskerChart|racketingBar|rayCurtisDistance|readthFirstScan|reak|ridgeData|rightnessEqualize|roadcastStationData|rownForsytheTest|rownianBridgeProcess|ubbleChart|ubbleChart3D|uckyballGraph|uildingData|ulletGauge|usinessDayQ|utterflyGraph|utterworthFilterModel|utton|uttonBar|uttonBox|uttonNotebook|yteArray|yteArrayFormatQ??|yteArrayQ|yteArrayToString|yteCount)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"C(?:|DF|DFDeploy|DFWavelet|Form|MYKColor|SGRegionQ??|SGRegionTree|alendarConvert|alendarData|allPacket|allout|anberraDistance|ancel|ancelButton|andlestickChart|anonicalGraph|anonicalName|anonicalWarpingCorrespondence|anonicalWarpingDistance|anonicalizePolygon|anonicalizePolyhedron|anonicalizeRegion|antorMesh|antorStaircase|ap|apForm|apitalDifferentialD|apitalize|apsuleShape|aputoD|arlemanLinearize|arlsonRC|arlsonRD|arlsonRE|arlsonRF|arlsonRG|arlsonRJ|arlsonRK|arlsonRM|armichaelLambda|aseSensitive|ases|ashflow|asoratian|atalanNumber|atch|atenate|auchyDistribution|auchyMatrix|auchyWindow|ayleyGraph|eiling|ell|ellGroup|ellGroupData|ellObject|ellPrint|ells|ellularAutomaton|ensoredDistribution|ensoring|enterArray|enterDot|enteredInterval|entralFeature|entralMoment|entralMomentGeneratingFunction|epstrogram|epstrogramArray|epstrumArray|hampernowneNumber|hanVeseBinarize|haracterCounts|haracterName|haracterRange|haracteristicFunction|haracteristicPolynomial|haracters|hebyshev1FilterModel|hebyshev2FilterModel|hebyshevT|hebyshevU|heck|heckAbort|heckArguments|heckbox|heckboxBar|hemicalData|hessboardDistance|hiDistribution|hiSquareDistribution|hineseRemainder|hoiceButtons|hoiceDialog|holeskyDecomposition|hop|hromaticPolynomial|hromaticityPlot|hromaticityPlot3D|ircle|ircleDot|ircleMinus|irclePlus|irclePoints|ircleThrough|ircleTimes|irculantGraph|ircularArcThrough|ircularOrthogonalMatrixDistribution|ircularQuaternionMatrixDistribution|ircularRealMatrixDistribution|ircularSymplecticMatrixDistribution|ircularUnitaryMatrixDistribution|ircumsphere|ityData|lassifierFunction|lassifierMeasurements|lassifierMeasurementsObject|lassify|lear|learAll|learAttributes|learCookies|learPermissions|learSystemCache|lebschGordan|lickPane|lickToCopy|lip|lock|lockGauge|lose|loseKernels|losenessCentrality|losing|loudAccountData|loudConnect|loudDeploy|loudDirectory|loudDisconnect|loudEvaluate|loudExport|loudFunction|loudGet|loudImport|loudLoggingData|loudObjects??|loudPublish|loudPut|loudSave|loudShare|loudSubmit|loudSymbol|loudUnshare|lusterClassify|lusteringComponents|lusteringMeasurements|lusteringTree|oefficient|oefficientArrays|oefficientList|oefficientRules|oifletWavelet|ollect|ollinearPoints|olon|olorBalance|olorCombine|olorConvert|olorData|olorDataFunction|olorDetect|olorDistance|olorNegate|olorProfileData|olorQ|olorQuantize|olorReplace|olorSeparate|olorSetter|olorSlider|olorToneMapping|olorize|olorsNear|olumn|ometData|ommonName|ommonUnits|ommonest|ommonestFilter|ommunityGraphPlot|ompanyData|ompatibleUnitQ|ompile|ompiledFunction|omplement|ompleteGraphQ??|ompleteIntegral|ompleteKaryTree|omplex|omplexArrayPlot|omplexContourPlot|omplexExpand|omplexListPlot|omplexPlot|omplexPlot3D|omplexRegionPlot|omplexStreamPlot|omplexVectorPlot|omponentMeasurements|omposeList|omposeSeries|ompositeQ|omposition|ompoundElement|ompoundExpression|ompoundPoissonDistribution|ompoundPoissonProcess|ompoundRenewalProcess|ompress|oncaveHullMesh|ondition|onditionalExpression|onditioned|one|onfirm|onfirmAssert|onfirmBy|onfirmMatch|onformAudio|onformImages|ongruent|onicGradientFilling|onicHullRegion|onicOptimization|onjugate|onjugateTranspose|onjunction|onnectLibraryCallbackFunction|onnectedComponents|onnectedGraphComponents|onnectedGraphQ|onnectedMeshComponents|onnesWindow|onoverTest|onservativeConvectionPDETerm|onstantArray|onstantImage|onstantRegionQ|onstellationData|onstruct|ontainsAll|ontainsAny|ontainsExactly|ontainsNone|ontainsOnly|ontext|ontextToFileName|ontexts|ontinue|ontinuedFractionK??|ontinuousMarkovProcess|ontinuousTask|ontinuousTimeModelQ|ontinuousWaveletData|ontinuousWaveletTransform|ontourDetect|ontourPlot|ontourPlot3D|ontraharmonicMean|ontrol|ontrolActive|ontrollabilityGramian|ontrollabilityMatrix|ontrollableDecomposition|ontrollableModelQ|ontrollerInformation|ontrollerManipulate|ontrollerState|onvectionPDETerm|onvergents|onvexHullMesh|onvexHullRegion|onvexOptimization|onvexPolygonQ|onvexPolyhedronQ|onvexRegionQ|onvolve|onwayGroupCo1|onwayGroupCo2|onwayGroupCo3|oordinateBoundingBox|oordinateBoundingBoxArray|oordinateBounds|oordinateBoundsArray|oordinateChartData|oordinateTransform|oordinateTransformData|oplanarPoints|oprimeQ|oproduct|opulaDistribution|opyDatabin|opyDirectory|opyFile|opyToClipboard|oreNilpotentDecomposition|ornerFilter|orrelation|orrelationDistance|orrelationFunction|orrelationTest|os|osIntegral|osh|oshIntegral|osineDistance|osineWindow|oth??|oulombF|oulombG|oulombH1|oulombH2|ount|ountDistinct|ountDistinctBy|ountRoots|ountryData|ounts|ountsBy|ovariance|ovarianceFunction|oxIngersollRossProcess|oxModel|oxModelFit|oxianDistribution|ramerVonMisesTest|reateArchive|reateDatabin|reateDialog|reateDirectory|reateDocument|reateFile|reateManagedLibraryExpression|reateNotebook|reatePacletArchive|reatePalette|reatePermissionsGroup|reateUUID|reateWindow|riticalSection|riticalityFailureImportance|riticalitySuccessImportance|ross|rossMatrix|rossingCount|rossingDetect|rossingPolygon|sch??|ube|ubeRoot|uboid|umulant|umulantGeneratingFunction|umulativeFeatureImpactPlot|up|upCap|url|urrencyConvert|urrentDate|urrentImage|urrentValue|urvatureFlowFilter|ycleGraph|ycleIndexPolynomial|ycles|yclicGroup|yclotomic|ylinder|ylindricalDecomposition|ylindricalDecompositionFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"D(?:|Eigensystem|Eigenvalues|GaussianWavelet|MSList|MSString|Solve|SolveValue|agumDistribution|amData|amerauLevenshteinDistance|arker|ashing|ataDistribution|atabin|atabinAdd|atabinUpload|atabins|ataset|ateBounds|ateDifference|ateHistogram|ateList|ateListLogPlot|ateListPlot|ateListStepPlot|ateObjectQ??|ateOverlapsQ|atePattern|atePlus|ateRange|ateScale|ateSelect|ateString|ateValue|ateWithinQ|ated|atedUnit|aubechiesWavelet|avisDistribution|awsonF|ayCount|ayHemisphere|ayMatchQ|ayName|ayNightTerminator|ayPlus|ayRange|ayRound|aylightQ|eBruijnGraph|eBruijnSequence|ecapitalize|ecimalForm|eclarePackage|ecompose|ecrement|ecrypt|edekindEta|eepSpaceProbeData|efault|efaultButton|efaultValues|efer|efineInputStreamMethod|efineOutputStreamMethod|efineResourceFunction|efinition|egreeCentrality|egreeGraphDistribution|el|elaunayMesh|elayed|elete|eleteAdjacentDuplicates|eleteAnomalies|eleteBorderComponents|eleteCases|eleteDirectory|eleteDuplicates|eleteDuplicatesBy|eleteFile|eleteMissing|eleteObject|eletePermissionsKey|eleteSmallComponents|eleteStopwords|elimitedSequence|endrogram|enominator|ensityHistogram|ensityPlot|ensityPlot3D|eploy|epth|epthFirstScan|erivative|erivativeFilter|erivativePDETerm|esignMatrix|et|eviceClose|eviceConfigure|eviceExecute|eviceExecuteAsynchronous|eviceObject|eviceOpen|eviceRead|eviceReadBuffer|eviceReadLatest|eviceReadList|eviceReadTimeSeries|eviceStreams|eviceWrite|eviceWriteBuffer|evices|iagonal|iagonalMatrixQ??|iagonalizableMatrixQ|ialog|ialogInput|ialogNotebook|ialogReturn|iamond|iamondMatrix|iceDissimilarity|ictionaryLookup|ictionaryWordQ|ifferenceDelta|ifferenceQuotient|ifferenceRoot|ifferenceRootReduce|ifferences|ifferentialD|ifferentialRoot|ifferentialRootReduce|ifferentiatorFilter|iffusionPDETerm|igitCount|igitQ|ihedralAngle|ihedralGroup|ilation|imensionReduce|imensionReducerFunction|imensionReduction|imensionalCombinations|imensionalMeshComponents|imensions|iracComb|iracDelta|irectedEdge|irectedGraphQ??|irectedInfinity|irectionalLight|irective|irectory|irectoryName|irectoryQ|irectoryStack|irichletBeta|irichletCharacter|irichletCondition|irichletConvolve|irichletDistribution|irichletEta|irichletL|irichletLambda|irichletTransform|irichletWindow|iscreteAsymptotic|iscreteChirpZTransform|iscreteConvolve|iscreteDelta|iscreteHadamardTransform|iscreteIndicator|iscreteInputOutputModel|iscreteLQEstimatorGains|iscreteLQRegulatorGains|iscreteLimit|iscreteLyapunovSolve|iscreteMarkovProcess|iscreteMaxLimit|iscreteMinLimit|iscretePlot|iscretePlot3D|iscreteRatio|iscreteRiccatiSolve|iscreteShift|iscreteTimeModelQ|iscreteUniformDistribution|iscreteWaveletData|iscreteWaveletPacketTransform|iscreteWaveletTransform|iscretizeGraphics|iscretizeRegion|iscriminant|isjointQ|isjunction|isk|iskMatrix|iskSegment|ispatch|isplayEndPacket|isplayForm|isplayPacket|istanceMatrix|istanceTransform|istribute|istributeDefinitions|istributed|istributionChart|istributionFitTest|istributionParameterAssumptions|istributionParameterQ|iv|ivide|ivideBy|ivideSides|ivisible|ivisorSigma|ivisorSum|ivisors|o|ocumentGenerator|ocumentGeneratorInformation|ocumentGenerators|ocumentNotebook|odecahedron|ominantColors|ominatorTreeGraph|ominatorVertexList|ot|otEqual|oubleBracketingBar|oubleDownArrow|oubleLeftArrow|oubleLeftRightArrow|oubleLeftTee|oubleLongLeftArrow|oubleLongLeftRightArrow|oubleLongRightArrow|oubleRightArrow|oubleRightTee|oubleUpArrow|oubleUpDownArrow|oubleVerticalBar|ownArrow|ownArrowBar|ownArrowUpArrow|ownLeftRightVector|ownLeftTeeVector|ownLeftVector|ownLeftVectorBar|ownRightTeeVector|ownRightVector|ownRightVectorBar|ownTee|ownTeeArrow|ownValues|ownsample|razinInverse|rop|ropShadowing|t|ualPlanarGraph|ualPolyhedron|ualSystemsModel|umpSave|uplicateFreeQ|uration|ynamic|ynamicGeoGraphics|ynamicModule|ynamicSetting|ynamicWrapper)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"E(?:arthImpactData|arthquakeData|ccentricityCentrality|choEvaluation|choFunction|choLabel|dgeAdd|dgeBetweennessCentrality|dgeChromaticNumber|dgeConnectivity|dgeContract|dgeCount|dgeCoverQ|dgeCycleMatrix|dgeDelete|dgeDetect|dgeForm|dgeIndex|dgeList|dgeQ|dgeRules|dgeTaggedGraphQ??|dgeTags|dgeTransitiveGraphQ|dgeWeightedGraphQ|ditDistance|ffectiveInterest|igensystem|igenvalues|igenvectorCentrality|igenvectors|lement|lementData|liminate|llipsoid|llipticE|llipticExp|llipticExpPrime|llipticF|llipticFilterModel|llipticK|llipticLog|llipticNomeQ|llipticPi|llipticTheta|llipticThetaPrime|mbedCode|mbeddedHTML|mbeddedService|mitSound|mpiricalDistribution|mptyGraphQ|mptyRegion|nclose|ncode|ncrypt|ncryptedObject|nd|ndDialogPacket|ndPackage|ngineeringForm|nterExpressionPacket|nterTextPacket|ntity|ntityClass|ntityClassList|ntityCopies|ntityGroup|ntityInstance|ntityList|ntityPrefetch|ntityProperties|ntityProperty|ntityPropertyClass|ntityRegister|ntityStores|ntityTypeName|ntityUnregister|ntityValue|ntropy|ntropyFilter|nvironment|qual|qualTilde|qualTo|quilibrium|quirippleFilterKernel|quivalent|rfc??|rfi|rlangB|rlangC|rlangDistribution|rosion|rrorBox|stimatedBackground|stimatedDistribution|stimatedPointNormals|stimatedProcess|stimatorGains|stimatorRegulator|uclideanDistance|ulerAngles|ulerCharacteristic|ulerE|ulerMatrix|ulerPhi|ulerianGraphQ|valuate|valuatePacket|valuationBox|valuationCell|valuationData|valuationNotebook|valuationObject|venQ|ventData|ventHandler|ventSeries|xactBlackmanWindow|xactNumberQ|xampleData|xcept|xists|xoplanetData|xp|xpGammaDistribution|xpIntegralEi??|xpToTrig|xpand|xpandAll|xpandDenominator|xpandFileName|xpandNumerator|xpectation|xponent|xponentialDistribution|xponentialGeneratingFunction|xponentialMovingAverage|xponentialPowerDistribution|xport|xportByteArray|xportForm|xportString|xpressionCell|xpressionGraph|xtendedGCD|xternalBundle|xtract|xtractArchive|xtractPacletArchive|xtremeValueDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"F(?:ARIMAProcess|RatioDistribution|aceAlign|aceForm|acialFeatures|actor|actorInteger|actorList|actorSquareFree|actorSquareFreeList|actorTerms|actorTermsList|actorial2??|actorialMoment|actorialMomentGeneratingFunction|actorialPower|ailure|ailureDistribution|ailureQ|areySequence|eatureImpactPlot|eatureNearest|eatureSpacePlot|eatureSpacePlot3D|eatureValueDependencyPlot|eatureValueImpactPlot|eedbackLinearize|etalGrowthData|ibonacci|ibonorial|ile|ileBaseName|ileByteCount|ileDate|ileExistsQ|ileExtension|ileFormatQ??|ileHash|ileNameDepth|ileNameDrop|ileNameJoin|ileNameSetter|ileNameSplit|ileNameTake|ileNames|ilePrint|ileSize|ileSystemMap|ileSystemScan|ileTemplate|ileTemplateApply|ileType|illedCurve|illedTorus|illingTransform|ilterRules|inancialBond|inancialData|inancialDerivative|inancialIndicator|ind|indAnomalies|indArgMax|indArgMin|indClique|indClusters|indCookies|indCurvePath|indCycle|indDevices|indDistribution|indDistributionParameters|indDivisions|indEdgeColoring|indEdgeCover|indEdgeCut|indEdgeIndependentPaths|indEulerianCycle|indFaces|indFile|indFit|indFormula|indFundamentalCycles|indGeneratingFunction|indGeoLocation|indGeometricTransform|indGraphCommunities|indGraphIsomorphism|indGraphPartition|indHamiltonianCycle|indHamiltonianPath|indHiddenMarkovStates|indIndependentEdgeSet|indIndependentVertexSet|indInstance|indIntegerNullVector|indIsomorphicSubgraph|indKClan|indKClique|indKClub|indKPlex|indLibrary|indLinearRecurrence|indList|indMatchingColor|indMaxValue|indMaximum|indMaximumCut|indMaximumFlow|indMeshDefects|indMinValue|indMinimum|indMinimumCostFlow|indMinimumCut|indPath|indPeaks|indPermutation|indPlanarColoring|indPostmanTour|indProcessParameters|indRegionTransform|indRepeat|indRoot|indSequenceFunction|indShortestPath|indShortestTour|indSpanningTree|indSubgraphIsomorphism|indThreshold|indTransientRepeat|indVertexColoring|indVertexCover|indVertexCut|indVertexIndependentPaths|inishDynamic|initeAbelianGroupCount|initeGroupCount|initeGroupData|irst|irstCase|irstPassageTimeDistribution|irstPosition|ischerGroupFi22|ischerGroupFi23|ischerGroupFi24Prime|isherHypergeometricDistribution|isherRatioTest|isherZDistribution|it|ittedModel|ixedOrder|ixedPoint|ixedPointList|latShading|latTopWindow|latten|lattenAt|lightData|lipView|loor|lowPolynomial|old|oldList|oldPair|oldPairList|oldWhile|oldWhileList|or|orAll|ormBox|ormFunction|ormObject|ormPage|ormat|ormulaData|ormulaLookup|ortranForm|ourier|ourierCoefficient|ourierCosCoefficient|ourierCosSeries|ourierCosTransform|ourierDCT|ourierDCTFilter|ourierDCTMatrix|ourierDST|ourierDSTMatrix|ourierMatrix|ourierSequenceTransform|ourierSeries|ourierSinCoefficient|ourierSinSeries|ourierSinTransform|ourierTransform|ourierTrigSeries|oxH|ractionBox|ractionalBrownianMotionProcess|ractionalD|ractionalGaussianNoiseProcess|ractionalPart|rameBox|ramed|rechetDistribution|reeQ|renetSerretSystem|requencySamplingFilterKernel|resnelC|resnelF|resnelG|resnelS|robeniusNumber|robeniusSolve|romAbsoluteTime|romCharacterCode|romCoefficientRules|romContinuedFraction|romDMS|romDateString|romDigits|romEntity|romJulianDate|romLetterNumber|romPolarCoordinates|romRomanNumeral|romSphericalCoordinates|romUnixTime|rontEndExecute|rontEndToken|rontEndTokenExecute|ullDefinition|ullForm|ullGraphics|ullInformationOutputRegulator|ullRegion|ullSimplify|unction|unctionAnalytic|unctionBijective|unctionContinuous|unctionConvexity|unctionDiscontinuities|unctionDomain|unctionExpand|unctionInjective|unctionInterpolation|unctionMeromorphic|unctionMonotonicity|unctionPeriod|unctionRange|unctionSign|unctionSingularities|unctionSurjective|ussellVeselyImportance)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"G(?:ARCHProcess|CD|aborFilter|aborMatrix|aborWavelet|ainMargins|ainPhaseMargins|alaxyData|amma|ammaDistribution|ammaRegularized|ather|atherBy|aussianFilter|aussianMatrix|aussianOrthogonalMatrixDistribution|aussianSymplecticMatrixDistribution|aussianUnitaryMatrixDistribution|aussianWindow|egenbauerC|eneralizedLinearModelFit|enerateAsymmetricKeyPair|enerateDocument|enerateHTTPResponse|enerateSymmetricKey|eneratingFunction|enericCylindricalDecomposition|enomeData|enomeLookup|eoAntipode|eoArea|eoBoundary|eoBoundingBox|eoBounds|eoBoundsRegion|eoBoundsRegionBoundary|eoBubbleChart|eoCircle|eoContourPlot|eoDensityPlot|eoDestination|eoDirection|eoDisk|eoDisplacement|eoDistance|eoDistanceList|eoElevationData|eoEntities|eoGraphPlot|eoGraphics|eoGridDirectionDifference|eoGridPosition|eoGridUnitArea|eoGridUnitDistance|eoGridVector|eoGroup|eoHemisphere|eoHemisphereBoundary|eoHistogram|eoIdentify|eoImage|eoLength|eoListPlot|eoMarker|eoNearest|eoPath|eoPolygon|eoPosition|eoPositionENU|eoPositionXYZ|eoProjectionData|eoRegionValuePlot|eoSmoothHistogram|eoStreamPlot|eoStyling|eoVariant|eoVector|eoVectorENU|eoVectorPlot|eoVectorXYZ|eoVisibleRegion|eoVisibleRegionBoundary|eoWithinQ|eodesicClosing|eodesicDilation|eodesicErosion|eodesicOpening|eodesicPolyhedron|eodesyData|eogravityModelData|eologicalPeriodData|eomagneticModelData|eometricBrownianMotionProcess|eometricDistribution|eometricMean|eometricMeanFilter|eometricOptimization|eometricTransformation|estureHandler|et|etEnvironment|lobalClusteringCoefficient|low|ompertzMakehamDistribution|oochShading|oodmanKruskalGamma|oodmanKruskalGammaTest|oto|ouraudShading|rad|radientFilter|radientFittedMesh|radientOrientationFilter|rammarApply|rammarRules|rammarToken|raph|raph3D|raphAssortativity|raphAutomorphismGroup|raphCenter|raphComplement|raphData|raphDensity|raphDiameter|raphDifference|raphDisjointUnion|raphDistance|raphDistanceMatrix|raphEmbedding|raphHub|raphIntersection|raphJoin|raphLinkEfficiency|raphPeriphery|raphPlot|raphPlot3D|raphPower|raphProduct|raphPropertyDistribution|raphQ|raphRadius|raphReciprocity|raphSum|raphUnion|raphics|raphics3D|raphicsColumn|raphicsComplex|raphicsGrid|raphicsGroup|raphicsRow|rayLevel|reater|reaterEqual|reaterEqualLess|reaterEqualThan|reaterFullEqual|reaterGreater|reaterLess|reaterSlantEqual|reaterThan|reaterTilde|reenFunction|rid|ridBox|ridGraph|roebnerBasis|roupBy|roupCentralizer|roupElementFromWord|roupElementPosition|roupElementQ|roupElementToWord|roupElements|roupGenerators|roupMultiplicationTable|roupOrbits|roupOrder|roupSetwiseStabilizer|roupStabilizer|roupStabilizerChain|roupings|rowCutComponents|udermannian|uidedFilter|umbelDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"H(?:ITSCentrality|TTPErrorResponse|TTPRedirect|TTPRequest|TTPRequestData|TTPResponse|aarWavelet|adamardMatrix|alfLine|alfNormalDistribution|alfPlane|alfSpace|alftoneShading|amiltonianGraphQ|ammingDistance|ammingWindow|ankelH1|ankelH2|ankelMatrix|ankelTransform|annPoissonWindow|annWindow|aradaNortonGroupHN|araryGraph|armonicMean|armonicMeanFilter|armonicNumber|ash|atchFilling|atchShading|aversine|azardFunction|ead|eatFluxValue|eatInsulationValue|eatOutflowValue|eatRadiationValue|eatSymmetryValue|eatTemperatureCondition|eatTransferPDEComponent|eatTransferValue|eavisideLambda|eavisidePi|eavisideTheta|eldGroupHe|elmholtzPDEComponent|ermiteDecomposition|ermiteH|ermitian|ermitianMatrixQ|essenbergDecomposition|eunB|eunBPrime|eunC|eunCPrime|eunD|eunDPrime|eunG|eunGPrime|eunT|eunTPrime|exahedron|iddenMarkovProcess|ighlightGraph|ighlightImage|ighlightMesh|ighlighted|ighpassFilter|igmanSimsGroupHS|ilbertCurve|ilbertFilter|ilbertMatrix|istogram|istogram3D|istogramDistribution|istogramList|istogramTransform|istogramTransformInterpolation|istoricalPeriodData|itMissTransform|jorthDistribution|odgeDual|oeffdingD|oeffdingDTest|old|oldComplete|oldForm|oldPattern|orizontalGauge|ornerForm|ostLookup|otellingTSquareDistribution|oytDistribution|ue|umanGrowthData|umpDownHump|umpEqual|urwitzLerchPhi|urwitzZeta|yperbolicDistribution|ypercubeGraph|yperexponentialDistribution|yperfactorial|ypergeometric0F1|ypergeometric0F1Regularized|ypergeometric1F1|ypergeometric1F1Regularized|ypergeometric2F1|ypergeometric2F1Regularized|ypergeometricDistribution|ypergeometricPFQ|ypergeometricPFQRegularized|ypergeometricU|yperlink|yperplane|ypoexponentialDistribution|ypothesisTestData)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"I(?:PAddress|conData|conize|cosahedron|dentity|dentityMatrix|f|fCompiled|gnoringInactive|m|mage|mage3D|mage3DProjection|mage3DSlices|mageAccumulate|mageAdd|mageAdjust|mageAlign|mageApply|mageApplyIndexed|mageAspectRatio|mageAssemble|mageCapture|mageChannels|mageClip|mageCollage|mageColorSpace|mageCompose|mageConvolve|mageCooccurrence|mageCorners|mageCorrelate|mageCorrespondingPoints|mageCrop|mageData|mageDeconvolve|mageDemosaic|mageDifference|mageDimensions|mageDisplacements|mageDistance|mageEffect|mageExposureCombine|mageFeatureTrack|mageFileApply|mageFileFilter|mageFileScan|mageFilter|mageFocusCombine|mageForestingComponents|mageForwardTransformation|mageHistogram|mageIdentify|mageInstanceQ|mageKeypoints|mageLevels|mageLines|mageMarker|mageMeasurements|mageMesh|mageMultiply|magePad|magePartition|magePeriodogram|magePerspectiveTransformation|mageQ|mageRecolor|mageReflect|mageResize|mageRestyle|mageRotate|mageSaliencyFilter|mageScaled|mageScan|mageSubtract|mageTake|mageTransformation|mageTrim|mageType|mageValue|mageValuePositions|mageVectorscopePlot|mageWaveformPlot|mplicitD|mplicitRegion|mplies|mport|mportByteArray|mportString|mprovementImportance|nactivate|nactive|ncidenceGraph|ncidenceList|ncidenceMatrix|ncrement|ndefiniteMatrixQ|ndependenceTest|ndependentEdgeSetQ|ndependentPhysicalQuantity|ndependentUnit|ndependentUnitDimension|ndependentVertexSetQ|ndexEdgeTaggedGraph|ndexGraph|ndexed|nexactNumberQ|nfiniteLine|nfiniteLineThrough|nfinitePlane|nfix|nflationAdjust|nformation|nhomogeneousPoissonProcess|nner|nnerPolygon|nnerPolyhedron|npaint|nput|nputField|nputForm|nputNamePacket|nputNotebook|nputPacket|nputStream|nputString|nputStringPacket|nsert|nsertLinebreaks|nset|nsphere|nstall|nstallService|ntegerDigits|ntegerExponent|ntegerLength|ntegerName|ntegerPart|ntegerPartitions|ntegerQ|ntegerReverse|ntegerString|ntegrate|nteractiveTradingChart|nternallyBalancedDecomposition|nterpolatingFunction|nterpolatingPolynomial|nterpolation|nterpretation|nterpretationBox|nterpreter|nterquartileRange|nterrupt|ntersectingQ|ntersection|nterval|ntervalIntersection|ntervalMemberQ|ntervalSlider|ntervalUnion|nverse|nverseBetaRegularized|nverseBilateralLaplaceTransform|nverseBilateralZTransform|nverseCDF|nverseChiSquareDistribution|nverseContinuousWaveletTransform|nverseDistanceTransform|nverseEllipticNomeQ|nverseErfc??|nverseFourier|nverseFourierCosTransform|nverseFourierSequenceTransform|nverseFourierSinTransform|nverseFourierTransform|nverseFunction|nverseGammaDistribution|nverseGammaRegularized|nverseGaussianDistribution|nverseGudermannian|nverseHankelTransform|nverseHaversine|nverseJacobiCD|nverseJacobiCN|nverseJacobiCS|nverseJacobiDC|nverseJacobiDN|nverseJacobiDS|nverseJacobiNC|nverseJacobiND|nverseJacobiNS|nverseJacobiSC|nverseJacobiSD|nverseJacobiSN|nverseLaplaceTransform|nverseMellinTransform|nversePermutation|nverseRadon|nverseRadonTransform|nverseSeries|nverseShortTimeFourier|nverseSpectrogram|nverseSurvivalFunction|nverseTransformedRegion|nverseWaveletTransform|nverseWeierstrassP|nverseWishartMatrixDistribution|nverseZTransform|nvisible|rreduciblePolynomialQ|slandData|solatingInterval|somorphicGraphQ|somorphicSubgraphQ|sotopeData|tem|toProcess)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"J(?:accardDissimilarity|acobiAmplitude|acobiCD|acobiCN|acobiCS|acobiDC|acobiDN|acobiDS|acobiEpsilon|acobiNC|acobiND|acobiNS|acobiP|acobiSC|acobiSD|acobiSN|acobiSymbol|acobiZN|acobiZeta|ankoGroupJ1|ankoGroupJ2|ankoGroupJ3|ankoGroupJ4|arqueBeraALMTest|ohnsonDistribution|oin|oinAcross|oinForm|oinedCurve|ordanDecomposition|ordanModelDecomposition|uliaSetBoettcher|uliaSetIterationCount|uliaSetPlot|uliaSetPoints|ulianDate)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"K(?:CoreComponents|Distribution|EdgeConnectedComponents|EdgeConnectedGraphQ|VertexConnectedComponents|VertexConnectedGraphQ|agiChart|aiserBesselWindow|aiserWindow|almanEstimator|almanFilter|arhunenLoeveDecomposition|aryTree|atzCentrality|elvinBei|elvinBer|elvinKei|elvinKer|endallTau|endallTauTest|ernelMixtureDistribution|ernelObject|ernels|ey|eyComplement|eyDrop|eyDropFrom|eyExistsQ|eyFreeQ|eyIntersection|eyMap|eyMemberQ|eySelect|eySort|eySortBy|eyTake|eyUnion|eyValueMap|eyValuePattern|eys|illProcess|irchhoffGraph|irchhoffMatrix|leinInvariantJ|napsackSolve|nightTourGraph|notData|nownUnitQ|ochCurve|olmogorovSmirnovTest|roneckerDelta|roneckerModelDecomposition|roneckerProduct|roneckerSymbol|uiperTest|umaraswamyDistribution|urtosis|uwaharaFilter)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"L(?:ABColor|CHColor|CM|QEstimatorGains|QGRegulator|QOutputRegulatorGains|QRegulatorGains|UDecomposition|UVColor|abel|abeled|aguerreL|akeData|ambdaComponents|ameC|ameCPrime|ameEigenvalueA|ameEigenvalueB|ameS|ameSPrime|aminaData|anczosWindow|andauDistribution|anguageData|anguageIdentify|aplaceDistribution|aplaceTransform|aplacian|aplacianFilter|aplacianGaussianFilter|aplacianPDETerm|ast|atitude|atitudeLongitude|atticeData|atticeReduce|aunchKernels|ayeredGraphPlot|ayeredGraphPlot3D|eafCount|eapVariant|eapYearQ|earnDistribution|earnedDistribution|eastSquares|eastSquaresFilterKernel|eftArrow|eftArrowBar|eftArrowRightArrow|eftDownTeeVector|eftDownVector|eftDownVectorBar|eftRightArrow|eftRightVector|eftTee|eftTeeArrow|eftTeeVector|eftTriangle|eftTriangleBar|eftTriangleEqual|eftUpDownVector|eftUpTeeVector|eftUpVector|eftUpVectorBar|eftVector|eftVectorBar|egended|egendreP|egendreQ|ength|engthWhile|erchPhi|ess|essEqual|essEqualGreater|essEqualThan|essFullEqual|essGreater|essLess|essSlantEqual|essThan|essTilde|etterCounts|etterNumber|etterQ|evel|eveneTest|eviCivitaTensor|evyDistribution|exicographicOrder|exicographicSort|ibraryDataType|ibraryFunction|ibraryFunctionError|ibraryFunctionInformation|ibraryFunctionLoad|ibraryFunctionUnload|ibraryLoad|ibraryUnload|iftingFilterData|iftingWaveletTransform|ighter|ikelihood|imit|indleyDistribution|ine|ineBreakChart|ineGraph|ineIntegralConvolutionPlot|ineLegend|inearFractionalOptimization|inearFractionalTransform|inearGradientFilling|inearGradientImage|inearModelFit|inearOptimization|inearRecurrence|inearSolve|inearSolveFunction|inearizingTransformationData|inkActivate|inkClose|inkConnect|inkCreate|inkInterrupt|inkLaunch|inkObject|inkPatterns|inkRankCentrality|inkRead|inkReadyQ|inkWrite|inks|iouvilleLambda|ist|istAnimate|istContourPlot|istContourPlot3D|istConvolve|istCorrelate|istCurvePathPlot|istDeconvolve|istDensityPlot|istDensityPlot3D|istFourierSequenceTransform|istInterpolation|istLineIntegralConvolutionPlot|istLinePlot|istLinePlot3D|istLogLinearPlot|istLogLogPlot|istLogPlot|istPicker|istPickerBox|istPlay|istPlot|istPlot3D|istPointPlot3D|istPolarPlot|istQ|istSliceContourPlot3D|istSliceDensityPlot3D|istSliceVectorPlot3D|istStepPlot|istStreamDensityPlot|istStreamPlot|istStreamPlot3D|istSurfacePlot3D|istVectorDensityPlot|istVectorDisplacementPlot|istVectorDisplacementPlot3D|istVectorPlot|istVectorPlot3D|istZTransform|ocalAdaptiveBinarize|ocalCache|ocalClusteringCoefficient|ocalEvaluate|ocalObjects??|ocalSubmit|ocalSymbol|ocalTime|ocalTimeZone|ocationEquivalenceTest|ocationTest|ocator|ocatorPane|og|og10|og2|ogBarnesG|ogGamma|ogGammaDistribution|ogIntegral|ogLikelihood|ogLinearPlot|ogLogPlot|ogLogisticDistribution|ogMultinormalDistribution|ogNormalDistribution|ogPlot|ogRankTest|ogSeriesDistribution|ogicalExpand|ogisticDistribution|ogisticSigmoid|ogitModelFit|ongLeftArrow|ongLeftRightArrow|ongRightArrow|ongest|ongestCommonSequence|ongestCommonSequencePositions|ongestCommonSubsequence|ongestCommonSubsequencePositions|ongestOrderedSequence|ongitude|ookup|oopFreeGraphQ|owerCaseQ|owerLeftArrow|owerRightArrow|owerTriangularMatrixQ??|owerTriangularize|owpassFilter|ucasL|uccioSamiComponents|unarEclipse|yapunovSolve|yonsGroupLy)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"M(?:AProcess|achineNumberQ|agnify|ailReceiverFunction|ajority|akeBoxes|akeExpression|anagedLibraryExpressionID|anagedLibraryExpressionQ|andelbrotSetBoettcher|andelbrotSetDistance|andelbrotSetIterationCount|andelbrotSetMemberQ|andelbrotSetPlot|angoldtLambda|anhattanDistance|anipulate|anipulator|annWhitneyTest|annedSpaceMissionData|antissaExponent|ap|apAll|apApply|apAt|apIndexed|apThread|archenkoPasturDistribution|arcumQ|ardiaCombinedTest|ardiaKurtosisTest|ardiaSkewnessTest|arginalDistribution|arkovProcessProperties|assConcentrationCondition|assFluxValue|assImpermeableBoundaryValue|assOutflowValue|assSymmetryValue|assTransferValue|assTransportPDEComponent|atchQ|atchingDissimilarity|aterialShading|athMLForm|athematicalFunctionData|athieuC|athieuCPrime|athieuCharacteristicA|athieuCharacteristicB|athieuCharacteristicExponent|athieuGroupM11|athieuGroupM12|athieuGroupM22|athieuGroupM23|athieuGroupM24|athieuS|athieuSPrime|atrices|atrixExp|atrixForm|atrixFunction|atrixLog|atrixNormalDistribution|atrixPlot|atrixPower|atrixPropertyDistribution|atrixQ|atrixRank|atrixTDistribution|ax|axDate|axDetect|axFilter|axLimit|axMemoryUsed|axStableDistribution|axValue|aximalBy|aximize|axwellDistribution|cLaughlinGroupMcL|ean|eanClusteringCoefficient|eanDegreeConnectivity|eanDeviation|eanFilter|eanGraphDistance|eanNeighborDegree|eanShift|eanShiftFilter|edian|edianDeviation|edianFilter|edicalTestData|eijerG|eijerGReduce|eixnerDistribution|ellinConvolve|ellinTransform|emberQ|emoryAvailable|emoryConstrained|emoryInUse|engerMesh|enuPacket|enuView|erge|ersennePrimeExponentQ??|eshCellCount|eshCellIndex|eshCells|eshConnectivityGraph|eshCoordinates|eshPrimitives|eshRegionQ??|essage|essageDialog|essageList|essageName|essagePacket|essages|eteorShowerData|exicanHatWavelet|eyerWavelet|in|inDate|inDetect|inFilter|inLimit|inMax|inStableDistribution|inValue|ineralData|inimalBy|inimalPolynomial|inimalStateSpaceModel|inimize|inimumTimeIncrement|inkowskiQuestionMark|inorPlanetData|inors|inus|inusPlus|issingQ??|ittagLefflerE|ixedFractionParts|ixedGraphQ|ixedMagnitude|ixedRadix|ixedRadixQuantity|ixedUnit|ixtureDistribution|od|odelPredictiveController|odularInverse|odularLambda|odule|oebiusMu|oment|omentConvert|omentEvaluate|omentGeneratingFunction|omentOfInertia|onitor|onomialList|onsterGroupM|oonPhase|oonPosition|orletWavelet|orphologicalBinarize|orphologicalBranchPoints|orphologicalComponents|orphologicalEulerNumber|orphologicalGraph|orphologicalPerimeter|orphologicalTransform|ortalityData|ost|ountainData|ouseAnnotation|ouseAppearance|ousePosition|ouseover|ovieData|ovingAverage|ovingMap|ovingMedian|oyalDistribution|ulticolumn|ultigraphQ|ultinomial|ultinomialDistribution|ultinormalDistribution|ultiplicativeOrder|ultiplySides|ultivariateHypergeometricDistribution|ultivariatePoissonDistribution|ultivariateTDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"N(?:|ArgMax|ArgMin|Cache|CaputoD|DEigensystem|DEigenvalues|DSolve|DSolveValue|Expectation|FractionalD|Integrate|MaxValue|Maximize|MinValue|Minimize|Probability|Product|Roots|Solve|SolveValues|Sum|akagamiDistribution|ameQ|ames|and|earest|earestFunction|earestMeshCells|earestNeighborGraph|earestTo|ebulaData|eedlemanWunschSimilarity|eeds|egative|egativeBinomialDistribution|egativeDefiniteMatrixQ|egativeMultinomialDistribution|egativeSemidefiniteMatrixQ|egativelyOrientedPoints|eighborhoodData|eighborhoodGraph|est|estGraph|estList|estWhile|estWhileList|estedGreaterGreater|estedLessLess|eumannValue|evilleThetaC|evilleThetaD|evilleThetaN|evilleThetaS|extCell|extDate|extPrime|icholsPlot|ightHemisphere|onCommutativeMultiply|onNegative|onPositive|oncentralBetaDistribution|oncentralChiSquareDistribution|oncentralFRatioDistribution|oncentralStudentTDistribution|ondimensionalizationTransform|oneTrue|onlinearModelFit|onlinearStateSpaceModel|onlocalMeansFilter|or|orlundB|orm|ormal|ormalDistribution|ormalMatrixQ|ormalize|ormalizedSquaredEuclideanDistance|ot|otCongruent|otCupCap|otDoubleVerticalBar|otElement|otEqualTilde|otExists|otGreater|otGreaterEqual|otGreaterFullEqual|otGreaterGreater|otGreaterLess|otGreaterSlantEqual|otGreaterTilde|otHumpDownHump|otHumpEqual|otLeftTriangle|otLeftTriangleBar|otLeftTriangleEqual|otLess|otLessEqual|otLessFullEqual|otLessGreater|otLessLess|otLessSlantEqual|otLessTilde|otNestedGreaterGreater|otNestedLessLess|otPrecedes|otPrecedesEqual|otPrecedesSlantEqual|otPrecedesTilde|otReverseElement|otRightTriangle|otRightTriangleBar|otRightTriangleEqual|otSquareSubset|otSquareSubsetEqual|otSquareSuperset|otSquareSupersetEqual|otSubset|otSubsetEqual|otSucceeds|otSucceedsEqual|otSucceedsSlantEqual|otSucceedsTilde|otSuperset|otSupersetEqual|otTilde|otTildeEqual|otTildeFullEqual|otTildeTilde|otVerticalBar|otebook|otebookApply|otebookClose|otebookDelete|otebookDirectory|otebookEvaluate|otebookFileName|otebookFind|otebookGet|otebookImport|otebookInformation|otebookLocate|otebookObject|otebookOpen|otebookPrint|otebookPut|otebookRead|otebookSave|otebookSelection|otebookTemplate|otebookWrite|otebooks|othing|uclearExplosionData|uclearReactorData|ullSpace|umberCompose|umberDecompose|umberDigit|umberExpand|umberFieldClassNumber|umberFieldDiscriminant|umberFieldFundamentalUnits|umberFieldIntegralBasis|umberFieldNormRepresentatives|umberFieldRegulator|umberFieldRootsOfUnity|umberFieldSignature|umberForm|umberLinePlot|umberQ|umerator|umeratorDenominator|umericQ|umericalOrder|umericalSort|uttallWindow|yquistPlot)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"O(?:|NanGroupON|bservabilityGramian|bservabilityMatrix|bservableDecomposition|bservableModelQ|ceanData|ctahedron|ddQ|ff|ffset|n|nce|pacity|penAppend|penRead|penWrite|pener|penerView|pening|perate|ptimumFlowData|ptionValue|ptional|ptionalElement|ptions|ptionsPattern|r|rder|rderDistribution|rderedQ|rdering|rderingBy|rderlessPatternSequence|rnsteinUhlenbeckProcess|rthogonalMatrixQ|rthogonalize|uter|uterPolygon|uterPolyhedron|utputControllabilityMatrix|utputControllableModelQ|utputForm|utputNamePacket|utputResponse|utputStream|verBar|verDot|verHat|verTilde|verVector|verflow|verlay|verscript|verscriptBox|wenT|wnValues)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"P(?:DF|ERTDistribution|IDTune|acletDataRebuild|acletDirectoryLoad|acletDirectoryUnload|acletDisable|acletEnable|acletFind|acletFindRemote|acletInstall|acletInstallSubmit|acletNewerQ|acletObject|acletSiteObject|acletSiteRegister|acletSiteUnregister|acletSiteUpdate|acletSites|acletUninstall|adLeft|adRight|addedForm|adeApproximant|ageRankCentrality|airedBarChart|airedHistogram|airedSmoothHistogram|airedTTest|airedZTest|aletteNotebook|alindromeQ|ane|aneSelector|anel|arabolicCylinderD|arallelArray|arallelAxisPlot|arallelCombine|arallelDo|arallelEvaluate|arallelKernels|arallelMap|arallelNeeds|arallelProduct|arallelSubmit|arallelSum|arallelTable|arallelTry|arallelepiped|arallelize|arallelogram|arameterMixtureDistribution|arametricConvexOptimization|arametricFunction|arametricNDSolve|arametricNDSolveValue|arametricPlot|arametricPlot3D|arametricRegion|arentBox|arentCell|arentDirectory|arentNotebook|aretoDistribution|aretoPickandsDistribution|arkData|art|artOfSpeech|artialCorrelationFunction|articleAcceleratorData|articleData|artition|artitionsP|artitionsQ|arzenWindow|ascalDistribution|aste|asteButton|athGraphQ??|attern|atternSequence|atternTest|aulWavelet|auliMatrix|ause|eakDetect|eanoCurve|earsonChiSquareTest|earsonCorrelationTest|earsonDistribution|ercentForm|erfectNumberQ??|erimeter|eriodicBoundaryCondition|eriodogram|eriodogramArray|ermanent|ermissionsGroup|ermissionsGroupMemberQ|ermissionsGroups|ermissionsKeys??|ermutationCyclesQ??|ermutationGroup|ermutationLength|ermutationListQ??|ermutationMatrix|ermutationMax|ermutationMin|ermutationOrder|ermutationPower|ermutationProduct|ermutationReplace|ermutationSupport|ermutations|ermute|eronaMalikFilter|ersonData|etersenGraph|haseMargins|hongShading|hysicalSystemData|ick|ieChart|ieChart3D|iecewise|iecewiseExpand|illaiTrace|illaiTraceTest|ingTime|ixelValue|ixelValuePositions|laced|laceholder|lanarAngle|lanarFaceList|lanarGraphQ??|lanckRadiationLaw|laneCurveData|lanetData|lanetaryMoonData|lantData|lay|lot|lot3D|luralize|lus|lusMinus|ochhammer|oint|ointFigureChart|ointLegend|ointLight|ointSize|oissonConsulDistribution|oissonDistribution|oissonPDEComponent|oissonProcess|oissonWindow|olarPlot|olyGamma|olyLog|olyaAeppliDistribution|olygon|olygonAngle|olygonCoordinates|olygonDecomposition|olygonalNumber|olyhedron|olyhedronAngle|olyhedronCoordinates|olyhedronData|olyhedronDecomposition|olyhedronGenus|olynomialExpressionQ|olynomialExtendedGCD|olynomialGCD|olynomialLCM|olynomialMod|olynomialQ|olynomialQuotient|olynomialQuotientRemainder|olynomialReduce|olynomialRemainder|olynomialSumOfSquaresList|opupMenu|opupView|opupWindow|osition|ositionIndex|ositionLargest|ositionSmallest|ositive|ositiveDefiniteMatrixQ|ositiveSemidefiniteMatrixQ|ositivelyOrientedPoints|ossibleZeroQ|ostfix|ower|owerDistribution|owerExpand|owerMod|owerModList|owerRange|owerSpectralDensity|owerSymmetricPolynomial|owersRepresentations|reDecrement|reIncrement|recedenceForm|recedes|recedesEqual|recedesSlantEqual|recedesTilde|recision|redict|redictorFunction|redictorMeasurements|redictorMeasurementsObject|reemptProtect|refix|repend|rependTo|reviousCell|reviousDate|riceGraphDistribution|rime|rimeNu|rimeOmega|rimePi|rimePowerQ|rimeQ|rimeZetaP|rimitivePolynomialQ|rimitiveRoot|rimitiveRootList|rincipalComponents|rintTemporary|rintableASCIIQ|rintout3D|rism|rivateKey|robability|robabilityDistribution|robabilityPlot|robabilityScalePlot|robitModelFit|rocessConnection|rocessInformation|rocessObject|rocessParameterAssumptions|rocessParameterQ|rocessStatus|rocesses|roduct|roductDistribution|roductLog|rogressIndicator|rojection|roportion|roportional|rotect|roteinData|runing|seudoInverse|sychrometricPropertyData|ublicKey|ulsarData|ut|utAppend|yramid)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"Q(?:Binomial|Factorial|Gamma|HypergeometricPFQ|Pochhammer|PolyGamma|RDecomposition|nDispersion|uadraticIrrationalQ|uadraticOptimization|uantile|uantilePlot|uantity|uantityArray|uantityDistribution|uantityForm|uantityMagnitude|uantityQ|uantityUnit|uantityVariable|uantityVariableCanonicalUnit|uantityVariableDimensions|uantityVariableIdentifier|uantityVariablePhysicalQuantity|uartileDeviation|uartileSkewness|uartiles|uery|ueueProperties|ueueingNetworkProcess|ueueingProcess|uiet|uietEcho|uotient|uotientRemainder)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"R(?:GBColor|Solve|SolveValue|adialAxisPlot|adialGradientFilling|adialGradientImage|adialityCentrality|adicalBox|adioButton|adioButtonBar|adon|adonTransform|amanujanTauL??|amanujanTauTheta|amanujanTauZ|amp|andomChoice|andomColor|andomComplex|andomDate|andomEntity|andomFunction|andomGeneratorState|andomGeoPosition|andomGraph|andomImage|andomInteger|andomPermutation|andomPoint|andomPolygon|andomPolyhedron|andomPrime|andomReal|andomSample|andomTime|andomVariate|andomWalkProcess|andomWord|ange|angeFilter|ankedMax|ankedMin|arerProbability|aster|aster3D|asterize|ational|ationalExpressionQ|ationalize|atios|awBoxes|awData|ayleighDistribution|e|eIm|eImPlot|eactionPDETerm|ead|eadByteArray|eadLine|eadList|eadString|ealAbs|ealDigits|ealExponent|ealSign|eap|econstructionMesh|ectangle|ectangleChart|ectangleChart3D|ectangularRepeatingElement|ecurrenceFilter|ecurrenceTable|educe|efine|eflectionMatrix|eflectionTransform|efresh|egion|egionBinarize|egionBoundary|egionBounds|egionCentroid|egionCongruent|egionConvert|egionDifference|egionDilation|egionDimension|egionDisjoint|egionDistance|egionDistanceFunction|egionEmbeddingDimension|egionEqual|egionErosion|egionFit|egionImage|egionIntersection|egionMeasure|egionMember|egionMemberFunction|egionMoment|egionNearest|egionNearestFunction|egionPlot|egionPlot3D|egionProduct|egionQ|egionResize|egionSimilar|egionSymmetricDifference|egionUnion|egionWithin|egularExpression|egularPolygon|egularlySampledQ|elationGraph|eleaseHold|eliabilityDistribution|eliefImage|eliefPlot|emove|emoveAlphaChannel|emoveBackground|emoveDiacritics|emoveInputStreamMethod|emoveOutputStreamMethod|emoveUsers|enameDirectory|enameFile|enewalProcess|enkoChart|epairMesh|epeated|epeatedNull|epeatedTiming|epeatingElement|eplace|eplaceAll|eplaceAt|eplaceImageValue|eplaceList|eplacePart|eplacePixelValue|eplaceRepeated|esamplingAlgorithmData|escale|escalingTransform|esetDirectory|esidue|esidueSum|esolve|esourceData|esourceObject|esourceSearch|esponseForm|est|estricted|esultant|eturn|eturnExpressionPacket|eturnPacket|eturnTextPacket|everse|everseBiorthogonalSplineWavelet|everseElement|everseEquilibrium|everseGraph|everseSort|everseSortBy|everseUpEquilibrium|evolutionPlot3D|iccatiSolve|iceDistribution|idgeFilter|iemannR|iemannSiegelTheta|iemannSiegelZ|iemannXi|iffle|ightArrow|ightArrowBar|ightArrowLeftArrow|ightComposition|ightCosetRepresentative|ightDownTeeVector|ightDownVector|ightDownVectorBar|ightTee|ightTeeArrow|ightTeeVector|ightTriangle|ightTriangleBar|ightTriangleEqual|ightUpDownVector|ightUpTeeVector|ightUpVector|ightUpVectorBar|ightVector|ightVectorBar|iskAchievementImportance|iskReductionImportance|obustConvexOptimization|ogersTanimotoDissimilarity|ollPitchYawAngles|ollPitchYawMatrix|omanNumeral|oot|ootApproximant|ootIntervals|ootLocusPlot|ootMeanSquare|ootOfUnityQ|ootReduce|ootSum|oots|otate|otateLeft|otateRight|otationMatrix|otationTransform|ound|ow|owBox|owReduce|udinShapiro|udvalisGroupRu|ule|uleDelayed|ulePlot|un|unProcess|unThrough|ussellRaoDissimilarity)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"S(?:ARIMAProcess|ARMAProcess|ASTriangle|SSTriangle|ameAs|ameQ|ampledSoundFunction|ampledSoundList|atelliteData|atisfiabilityCount|atisfiabilityInstances|atisfiableQ|ave|avitzkyGolayMatrix|awtoothWave|caled??|calingMatrix|calingTransform|can|cheduledTask|churDecomposition|cientificForm|corerGi|corerGiPrime|corerHi|corerHiPrime|ech??|echDistribution|econdOrderConeOptimization|ectorChart|ectorChart3D|eedRandom|elect|electComponents|electFirst|electedCells|electedNotebook|electionCreateCell|electionEvaluate|electionEvaluateCreateCell|electionMove|emanticImport|emanticImportString|emanticInterpretation|emialgebraicComponentInstances|emidefiniteOptimization|endMail|endMessage|equence|equenceAlignment|equenceCases|equenceCount|equenceFold|equenceFoldList|equencePosition|equenceReplace|equenceSplit|eries|eriesCoefficient|eriesData|erviceConnect|erviceDisconnect|erviceExecute|erviceObject|essionSubmit|essionTime|et|etAccuracy|etAlphaChannel|etAttributes|etCloudDirectory|etCookies|etDelayed|etDirectory|etEnvironment|etFileDate|etOptions|etPermissions|etPrecision|etSelectedNotebook|etSharedFunction|etSharedVariable|etStreamPosition|etSystemOptions|etUsers|etter|etterBar|etting|hallow|hannonWavelet|hapiroWilkTest|hare|harpen|hearingMatrix|hearingTransform|hellRegion|henCastanMatrix|hiftRegisterSequence|hiftedGompertzDistribution|hort|hortDownArrow|hortLeftArrow|hortRightArrow|hortTimeFourier|hortTimeFourierData|hortUpArrow|hortest|hortestPathFunction|how|iderealTime|iegelTheta|iegelTukeyTest|ierpinskiCurve|ierpinskiMesh|ign|ignTest|ignature|ignedRankTest|ignedRegionDistance|impleGraphQ??|implePolygonQ|implePolyhedronQ|implex|implify|in|inIntegral|inc|inghMaddalaDistribution|ingularValueDecomposition|ingularValueList|ingularValuePlot|inh|inhIntegral|ixJSymbol|keleton|keletonTransform|kellamDistribution|kewNormalDistribution|kewness|kip|liceContourPlot3D|liceDensityPlot3D|liceDistribution|liceVectorPlot3D|lideView|lider|lider2D|liderBox|lot|lotSequence|mallCircle|mithDecomposition|mithDelayCompensator|mithWatermanSimilarity|moothDensityHistogram|moothHistogram|moothHistogram3D|moothKernelDistribution|nDispersion|ocketConnect|ocketListen|ocketListener|ocketObject|ocketOpen|ocketReadMessage|ocketReadyQ|ocketWaitAll|ocketWaitNext|ockets|okalSneathDissimilarity|olarEclipse|olarSystemFeatureData|olarTime|olidAngle|olidData|olidRegionQ|olve|olveAlways|olveValues|ort|ortBy|ound|oundNote|ourcePDETerm|ow|paceCurveData|pacer|pan|parseArrayQ??|patialGraphDistribution|patialMedian|peak|pearmanRankTest|pearmanRho|peciesData|pectralLineData|pectrogram|pectrogramArray|pecularity|peechSynthesize|pellingCorrectionList|phere|pherePoints|phericalBesselJ|phericalBesselY|phericalHankelH1|phericalHankelH2|phericalHarmonicY|phericalPlot3D|phericalShell|pheroidalEigenvalue|pheroidalJoiningFactor|pheroidalPS|pheroidalPSPrime|pheroidalQS|pheroidalQSPrime|pheroidalRadialFactor|pheroidalS1|pheroidalS1Prime|pheroidalS2|pheroidalS2Prime|plicedDistribution|plit|plitBy|pokenString|potLight|qrt|qrtBox|quare|quareFreeQ|quareIntersection|quareMatrixQ|quareRepeatingElement|quareSubset|quareSubsetEqual|quareSuperset|quareSupersetEqual|quareUnion|quareWave|quaredEuclideanDistance|quaresR|tableDistribution|tack|tackBegin|tackComplete|tackInhibit|tackedDateListPlot|tackedListPlot|tadiumShape|tandardAtmosphereData|tandardDeviation|tandardDeviationFilter|tandardForm|tandardOceanData|tandardize|tandbyDistribution|tar|tarClusterData|tarData|tarGraph|tartProcess|tateFeedbackGains|tateOutputEstimator|tateResponse|tateSpaceModel|tateSpaceTransform|tateTransformationLinearize|tationaryDistribution|tationaryWaveletPacketTransform|tationaryWaveletTransform|tatusArea|tatusCentrality|tieltjesGamma|tippleShading|tirlingS1|tirlingS2|toppingPowerData|tratonovichProcess|treamDensityPlot|treamPlot|treamPlot3D|treamPosition|treams|tringCases|tringContainsQ|tringCount|tringDelete|tringDrop|tringEndsQ|tringExpression|tringExtract|tringForm|tringFormatQ??|tringFreeQ|tringInsert|tringJoin|tringLength|tringMatchQ|tringPadLeft|tringPadRight|tringPart|tringPartition|tringPosition|tringQ|tringRepeat|tringReplace|tringReplaceList|tringReplacePart|tringReverse|tringRiffle|tringRotateLeft|tringRotateRight|tringSkeleton|tringSplit|tringStartsQ|tringTake|tringTakeDrop|tringTemplate|tringToByteArray|tringToStream|tringTrim|tripBoxes|tructuralImportance|truveH|truveL|tudentTDistribution|tyle|tyleBox|tyleData|ubMinus|ubPlus|ubStar|ubValues|ubdivide|ubfactorial|ubgraph|ubresultantPolynomialRemainders|ubresultantPolynomials|ubresultants|ubscript|ubscriptBox|ubsequences|ubset|ubsetEqual|ubsetMap|ubsetQ|ubsets|ubstitutionSystem|ubsuperscript|ubsuperscriptBox|ubtract|ubtractFrom|ubtractSides|ucceeds|ucceedsEqual|ucceedsSlantEqual|ucceedsTilde|uccess|uchThat|um|umConvergence|unPosition|unrise|unset|uperDagger|uperMinus|uperPlus|uperStar|upernovaData|uperscript|uperscriptBox|uperset|upersetEqual|urd|urfaceArea|urfaceData|urvivalDistribution|urvivalFunction|urvivalModel|urvivalModelFit|uzukiDistribution|uzukiGroupSuz|watchLegend|witch|ymbol|ymbolName|ymletWavelet|ymmetric|ymmetricGroup|ymmetricKey|ymmetricMatrixQ|ymmetricPolynomial|ymmetricReduction|ymmetrize|ymmetrizedArray|ymmetrizedArrayRules|ymmetrizedDependentComponents|ymmetrizedIndependentComponents|ymmetrizedReplacePart|ynonyms|yntaxInformation|yntaxLength|yntaxPacket|yntaxQ|ystemDialogInput|ystemInformation|ystemOpen|ystemOptions|ystemProcessData|ystemProcesses|ystemsConnectionsModel|ystemsModelControllerData|ystemsModelDelay|ystemsModelDelayApproximate|ystemsModelDelete|ystemsModelDimensions|ystemsModelExtract|ystemsModelFeedbackConnect|ystemsModelLinearity|ystemsModelMerge|ystemsModelOrder|ystemsModelParallelConnect|ystemsModelSeriesConnect|ystemsModelStateFeedbackConnect|ystemsModelVectorRelativeOrders)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"T(?:Test|abView|able|ableForm|agBox|agSet|agSetDelayed|agUnset|ake|akeDrop|akeLargest|akeLargestBy|akeList|akeSmallest|akeSmallestBy|akeWhile|ally|anh??|askAbort|askExecute|askObject|askRemove|askResume|askSuspend|askWait|asks|autologyQ|eXForm|elegraphProcess|emplateApply|emplateBox|emplateExpression|emplateIf|emplateObject|emplateSequence|emplateSlot|emplateWith|emporalData|ensorContract|ensorDimensions|ensorExpand|ensorProduct|ensorRank|ensorReduce|ensorSymmetry|ensorTranspose|ensorWedge|erminatedEvaluation|estReport|estReportObject|estResultObject|etrahedron|ext|extCell|extData|extGrid|extPacket|extRecognize|extSentences|extString|extTranslation|extWords|exture|herefore|hermodynamicData|hermometerGauge|hickness|hinning|hompsonGroupTh|hread|hreeJSymbol|hreshold|hrough|hrow|hueMorse|humbnail|ideData|ilde|ildeEqual|ildeFullEqual|ildeTilde|imeConstrained|imeObjectQ??|imeRemaining|imeSeries|imeSeriesAggregate|imeSeriesForecast|imeSeriesInsert|imeSeriesInvertibility|imeSeriesMap|imeSeriesMapThread|imeSeriesModel|imeSeriesModelFit|imeSeriesResample|imeSeriesRescale|imeSeriesShift|imeSeriesThread|imeSeriesWindow|imeSystemConvert|imeUsed|imeValue|imeZoneConvert|imeZoneOffset|imelinePlot|imes|imesBy|iming|itsGroupT|oBoxes|oCharacterCode|oContinuousTimeModel|oDiscreteTimeModel|oEntity|oExpression|oInvertibleTimeSeries|oLowerCase|oNumberField|oPolarCoordinates|oRadicals|oRules|oSphericalCoordinates|oString|oUpperCase|oeplitzMatrix|ogether|oggler|ogglerBar|ooltip|oonShading|opHatTransform|opologicalSort|orus|orusGraph|otal|otalVariationFilter|ouchPosition|r|race|raceDialog|racePrint|raceScan|racyWidomDistribution|radingChart|raditionalForm|ransferFunctionCancel|ransferFunctionExpand|ransferFunctionFactor|ransferFunctionModel|ransferFunctionPoles|ransferFunctionTransform|ransferFunctionZeros|ransformationFunction|ransformationMatrix|ransformedDistribution|ransformedField|ransformedProcess|ransformedRegion|ransitiveClosureGraph|ransitiveReductionGraph|ranslate|ranslationTransform|ransliterate|ranspose|ravelDirections|ravelDirectionsData|ravelDistance|ravelDistanceList|ravelTime|reeForm|reeGraphQ??|reePlot|riangle|riangleWave|riangularDistribution|riangulateMesh|rigExpand|rigFactor|rigFactorList|rigReduce|rigToExp|rigger|rimmedMean|rimmedVariance|ropicalStormData|rueQ|runcatedDistribution|runcatedPolyhedron|sallisQExponentialDistribution|sallisQGaussianDistribution|ube|ukeyLambdaDistribution|ukeyWindow|unnelData|uples|uranGraph|uringMachine|uttePolynomial|woWayRule|ypeHint)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"U(?:RL|RLBuild|RLDecode|RLDispatcher|RLDownload|RLEncode|RLExecute|RLExpand|RLParse|RLQueryDecode|RLQueryEncode|RLRead|RLResponseTime|RLShorten|RLSubmit|nateQ|ncompress|nderBar|nderflow|nderoverscript|nderoverscriptBox|nderscript|nderscriptBox|nderseaFeatureData|ndirectedEdge|ndirectedGraphQ??|nequal|nequalTo|nevaluated|niformDistribution|niformGraphDistribution|niformPolyhedron|niformSumDistribution|ninstall|nion|nionPlus|nique|nitBox|nitConvert|nitDimensions|nitRootTest|nitSimplify|nitStep|nitTriangle|nitVector|nitaryMatrixQ|nitize|niverseModelData|niversityData|nixTime|nprotect|nsameQ|nset|nsetShared|ntil|pArrow|pArrowBar|pArrowDownArrow|pDownArrow|pEquilibrium|pSet|pSetDelayed|pTee|pTeeArrow|pTo|pValues|pdate|pperCaseQ|pperLeftArrow|pperRightArrow|pperTriangularMatrixQ??|pperTriangularize|psample|singFrontEnd)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"V(?:alueQ|alues|ariables|ariance|arianceEquivalenceTest|arianceGammaDistribution|arianceTest|ectorAngle|ectorDensityPlot|ectorDisplacementPlot|ectorDisplacementPlot3D|ectorGreater|ectorGreaterEqual|ectorLess|ectorLessEqual|ectorPlot|ectorPlot3D|ectorQ|ectors|ee|erbatim|erificationTest|ertexAdd|ertexChromaticNumber|ertexComponent|ertexConnectivity|ertexContract|ertexCorrelationSimilarity|ertexCosineSimilarity|ertexCount|ertexCoverQ|ertexDegree|ertexDelete|ertexDiceSimilarity|ertexEccentricity|ertexInComponent|ertexInComponentGraph|ertexInDegree|ertexIndex|ertexJaccardSimilarity|ertexList|ertexOutComponent|ertexOutComponentGraph|ertexOutDegree|ertexQ|ertexReplace|ertexTransitiveGraphQ|ertexWeightedGraphQ|erticalBar|erticalGauge|erticalSeparator|erticalSlider|erticalTilde|oiceStyleData|oigtDistribution|olcanoData|olume|onMisesDistribution|oronoiMesh)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"W(?:aitAll|aitNext|akebyDistribution|alleniusHypergeometricDistribution|aringYuleDistribution|arpingCorrespondence|arpingDistance|atershedComponents|atsonUSquareTest|attsStrogatzGraphDistribution|avePDEComponent|aveletBestBasis|aveletFilterCoefficients|aveletImagePlot|aveletListPlot|aveletMapIndexed|aveletMatrixPlot|aveletPhi|aveletPsi|aveletScalogram|aveletThreshold|eakStationarity|eaklyConnectedComponents|eaklyConnectedGraphComponents|eaklyConnectedGraphQ|eatherData|eatherForecastData|eberE|edge|eibullDistribution|eierstrassE1|eierstrassE2|eierstrassE3|eierstrassEta1|eierstrassEta2|eierstrassEta3|eierstrassHalfPeriodW1|eierstrassHalfPeriodW2|eierstrassHalfPeriodW3|eierstrassHalfPeriods|eierstrassInvariantG2|eierstrassInvariantG3|eierstrassInvariants|eierstrassP|eierstrassPPrime|eierstrassSigma|eierstrassZeta|eightedAdjacencyGraph|eightedAdjacencyMatrix|eightedData|eightedGraphQ|elchWindow|heelGraph|henEvent|hich|hile|hiteNoiseProcess|hittakerM|hittakerW|ienerFilter|ienerProcess|ignerD|ignerSemicircleDistribution|ikipediaData|ilksW|ilksWTest|indDirectionData|indSpeedData|indVectorData|indingCount|indingPolygon|insorizedMean|insorizedVariance|ishartMatrixDistribution|ith|olframAlpha|olframLanguageData|ordCloud|ordCounts??|ordData|ordDefinition|ordFrequency|ordFrequencyData|ordList|ordStem|ordTranslation|rite|riteLine|riteString|ronskian)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"X(?:MLElement|MLObject|MLTemplate|YZColor|nor|or)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"YuleDissimilarity(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"Z(?:IPCodeData|Test|Transform|ernikeR|eroSymmetric|eta|etaZero|ipfDistribution)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.builtin.wolfram\\\"},{\\\"match\\\":\\\"A(?:cceptanceThreshold|ccuracyGoal|ctiveStyle|ddOnHelpPath|djustmentBoxOptions|lignment|lignmentPoint|llowGroupClose|llowInlineCells|llowLooseGrammar|llowReverseGroupClose|llowScriptLevelChange|llowVersionUpdate|llowedCloudExtraParameters|llowedCloudParameterExtensions|llowedDimensions|llowedFrequencyRange|llowedHeads|lternativeHypothesis|ltitudeMethod|mbiguityFunction|natomySkinStyle|nchoredSearch|nimationDirection|nimationRate|nimationRepetitions|nimationRunTime|nimationRunning|nimationTimeIndex|nnotationRules|ntialiasing|ppearance|ppearanceElements|ppearanceRules|spectRatio|ssociationFormat|ssumptions|synchronous|ttachedCell|udioChannelAssignment|udioEncoding|udioInputDevice|udioLabel|udioOutputDevice|uthentication|utoAction|utoCopy|utoDelete|utoGeneratedPackage|utoIndent|utoItalicWords|utoMultiplicationSymbol|utoOpenNotebooks|utoOpenPalettes|utoOperatorRenderings|utoRemove|utoScroll|utoSpacing|utoloadPath|utorunSequencing|xes|xesEdge|xesLabel|xesOrigin|xesStyle)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"B(?:ackground|arOrigin|arSpacing|aseStyle|aselinePosition|inaryFormat|ookmarks|ooleanStrings|oundaryStyle|oxBaselineShift|oxFormFormatTypes|oxFrame|oxMargins|oxRatios|oxStyle|oxed|ubbleScale|ubbleSizes|uttonBoxOptions|uttonData|uttonFunction|uttonMinHeight|uttonSource|yteOrdering)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"C(?:alendarType|alloutMarker|alloutStyle|aptureRunning|aseOrdering|elestialSystem|ellAutoOverwrite|ellBaseline|ellBracketOptions|ellChangeTimes|ellContext|ellDingbat|ellDingbatMargin|ellDynamicExpression|ellEditDuplicate|ellEpilog|ellEvaluationDuplicate|ellEvaluationFunction|ellEventActions|ellFrame|ellFrameColor|ellFrameLabelMargins|ellFrameLabels|ellFrameMargins|ellGrouping|ellGroupingRules|ellHorizontalScrolling|ellID|ellLabel|ellLabelAutoDelete|ellLabelMargins|ellLabelPositioning|ellLabelStyle|ellLabelTemplate|ellMargins|ellOpen|ellProlog|ellSize|ellTags|haracterEncoding|haracterEncodingsPath|hartBaseStyle|hartElementFunction|hartElements|hartLabels|hartLayout|hartLegends|hartStyle|lassPriors|lickToCopyEnabled|lipPlanes|lipPlanesStyle|lipRange|lippingStyle|losingAutoSave|loudBase|loudObjectNameFormat|loudObjectURLType|lusterDissimilarityFunction|odeAssistOptions|olorCoverage|olorFunction|olorFunctionBinning|olorFunctionScaling|olorRules|olorSelectorSettings|olorSpace|olumnAlignments|olumnLines|olumnSpacings|olumnWidths|olumnsEqual|ombinerFunction|ommonDefaultFormatTypes|ommunityBoundaryStyle|ommunityLabels|ommunityRegionStyle|ompilationOptions|ompilationTarget|ompiled|omplexityFunction|ompressionLevel|onfidenceLevel|onfidenceRange|onfidenceTransform|onfigurationPath|onstants|ontentPadding|ontentSelectable|ontentSize|ontinuousAction|ontourLabels|ontourShading|ontourStyle|ontours|ontrolPlacement|ontrolType|ontrollerLinking|ontrollerMethod|ontrollerPath|ontrolsRendering|onversionRules|ookieFunction|oordinatesToolOptions|opyFunction|opyable|ornerNeighbors|ounterAssignments|ounterFunction|ounterIncrements|ounterStyleMenuListing|ovarianceEstimatorFunction|reateCellID|reateIntermediateDirectories|riterionFunction|ubics|urveClosed)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"D(?:ataRange|ataReversed|atasetTheme|ateFormat|ateFunction|ateGranularity|ateReduction|ateTicksFormat|ayCountConvention|efaultDuplicateCellStyle|efaultDuration|efaultElement|efaultFontProperties|efaultFormatType|efaultInlineFormatType|efaultNaturalLanguage|efaultNewCellStyle|efaultNewInlineCellStyle|efaultNotebook|efaultOptions|efaultPrintPrecision|efaultStyleDefinitions|einitialization|eletable|eleteContents|eletionWarning|elimiterAutoMatching|elimiterFlashTime|elimiterMatching|elimiters|eliveryFunction|ependentVariables|eployed|escriptorStateSpace|iacriticalPositioning|ialogProlog|ialogSymbols|igitBlock|irectedEdges|irection|iscreteVariables|ispersionEstimatorFunction|isplayAllSteps|isplayFunction|istanceFunction|istributedContexts|ithering|ividers|ockedCells??|ynamicEvaluationTimeout|ynamicModuleValues|ynamicUpdating)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"E(?:clipseType|dgeCapacity|dgeCost|dgeLabelStyle|dgeLabels|dgeShapeFunction|dgeStyle|dgeValueRange|dgeValueSizes|dgeWeight|ditCellTagsSettings|ditable|lidedForms|nabled|pilog|pilogFunction|scapeRadius|valuatable|valuationCompletionAction|valuationElements|valuationMonitor|valuator|valuatorNames|ventLabels|xcludePods|xcludedContexts|xcludedForms|xcludedLines|xcludedPhysicalQuantities|xclusions|xclusionsStyle|xponentFunction|xponentPosition|xponentStep|xponentialFamily|xportAutoReplacements|xpressionUUID|xtension|xtentElementFunction|xtentMarkers|xtentSize|xternalDataCharacterEncoding|xternalOptions|xternalTypeSignature)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"F(?:aceGrids|aceGridsStyle|ailureAction|eatureNames|eatureTypes|eedbackSector|eedbackSectorStyle|eedbackType|ieldCompletionFunction|ieldHint|ieldHintStyle|ieldMasked|ieldSize|ileNameDialogSettings|ileNameForms|illing|illingStyle|indSettings|itRegularization|ollowRedirects|ontColor|ontFamily|ontSize|ontSlant|ontSubstitutions|ontTracking|ontVariations|ontWeight|orceVersionInstall|ormBoxOptions|ormLayoutFunction|ormProtectionMethod|ormatType|ormatTypeAutoConvert|ourierParameters|ractionBoxOptions|ractionLine|rame|rameBoxOptions|rameLabel|rameMargins|rameRate|rameStyle|rameTicks|rameTicksStyle|rontEndEventActions|unctionSpace)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"G(?:apPenalty|augeFaceElementFunction|augeFaceStyle|augeFrameElementFunction|augeFrameSize|augeFrameStyle|augeLabels|augeMarkers|augeStyle|aussianIntegers|enerateConditions|eneratedCell|eneratedDocumentBinding|eneratedParameters|eneratedQuantityMagnitudes|eneratorDescription|eneratorHistoryLength|eneratorOutputType|eoArraySize|eoBackground|eoCenter|eoGridLines|eoGridLinesStyle|eoGridRange|eoGridRangePadding|eoLabels|eoLocation|eoModel|eoProjection|eoRange|eoRangePadding|eoResolution|eoScaleBar|eoServer|eoStylingImageFunction|eoZoomLevel|radient|raphHighlight|raphHighlightStyle|raphLayerStyle|raphLayers|raphLayout|ridCreationSettings|ridDefaultElement|ridFrame|ridFrameMargins|ridLines|ridLinesStyle|roupActionBase|roupPageBreakWithin)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"H(?:eaderAlignment|eaderBackground|eaderDisplayFunction|eaderLines|eaderSize|eaderStyle|eads|elpBrowserSettings|iddenItems|olidayCalendar|yperlinkAction|yphenation)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"I(?:conRules|gnoreCase|gnoreDiacritics|gnorePunctuation|mageCaptureFunction|mageFormattingWidth|mageLabels|mageLegends|mageMargins|magePadding|magePreviewFunction|mageRegion|mageResolution|mageSize|mageSizeAction|mageSizeMultipliers|magingDevice|mportAutoReplacements|mportOptions|ncludeConstantBasis|ncludeDefinitions|ncludeDirectories|ncludeFileExtension|ncludeGeneratorTasks|ncludeInflections|ncludeMetaInformation|ncludePods|ncludeQuantities|ncludeSingularSolutions|ncludeWindowTimes|ncludedContexts|ndeterminateThreshold|nflationMethod|nheritScope|nitialSeeding|nitialization|nitializationCell|nitializationCellEvaluation|nitializationCellWarning|nputAliases|nputAssumptions|nputAutoReplacements|nsertResults|nsertionFunction|nteractive|nterleaving|nterpolationOrder|nterpolationPoints|nterpretationBoxOptions|nterpretationFunction|ntervalMarkers|ntervalMarkersStyle|nverseFunctions|temAspectRatio|temDisplayFunction|temSize|temStyle)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Joined(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Ke(?:epExistingVersion|yCollisionFunction|ypointStrength)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"L(?:abelStyle|abelVisibility|abelingFunction|abelingSize|anguage|anguageCategory|ayerSizeFunction|eaderSize|earningRate|egendAppearance|egendFunction|egendLabel|egendLayout|egendMargins|egendMarkerSize|egendMarkers|ighting|ightingAngle|imitsPositioning|imitsPositioningTokens|ineBreakWithin|ineIndent|ineIndentMaxFraction|ineIntegralConvolutionScale|ineSpacing|inearOffsetFunction|inebreakAdjustments|inkFunction|inkProtocol|istFormat|istPickerBoxOptions|ocalizeVariables|ocatorAutoCreate|ocatorRegion|ooping)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"M(?:agnification|ailAddressValidation|ailResponseFunction|ailSettings|asking|atchLocalNames|axCellMeasure|axColorDistance|axDuration|axExtraBandwidths|axExtraConditions|axFeatureDisplacement|axFeatures|axItems|axIterations|axMixtureKernels|axOverlapFraction|axPlotPoints|axRecursion|axStepFraction|axStepSize|axSteps|emoryConstraint|enuCommandKey|enuSortingValue|enuStyle|esh|eshCellHighlight|eshCellLabel|eshCellMarker|eshCellShapeFunction|eshCellStyle|eshFunctions|eshQualityGoal|eshRefinementFunction|eshShading|eshStyle|etaInformation|ethod|inColorDistance|inIntervalSize|inPointSeparation|issingBehavior|issingDataMethod|issingDataRules|issingString|issingStyle|odal|odulus|ultiaxisArrangement|ultiedgeStyle|ultilaunchWarning|ultilineFunction|ultiselection)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"N(?:icholsGridLines|ominalVariables|onConstants|ormFunction|ormalized|ormalsFunction|otebookAutoSave|otebookBrowseDirectory|otebookConvertSettings|otebookDynamicExpression|otebookEventActions|otebookPath|otebooksMenu|otificationFunction|ullRecords|ullWords|umberFormat|umberMarks|umberMultiplier|umberPadding|umberPoint|umberSeparator|umberSigns|yquistGridLines)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"O(?:pacityFunction|pacityFunctionScaling|peratingSystem|ptionInspectorSettings|utputAutoOverwrite|utputSizeLimit|verlaps|verscriptBoxOptions|verwriteTarget)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"P(?:IDDerivativeFilter|IDFeedforward|acletSite|adding|addingSize|ageBreakAbove|ageBreakBelow|ageBreakWithin|ageFooterLines|ageFooters|ageHeaderLines|ageHeaders|ageTheme|ageWidth|alettePath|aneled|aragraphIndent|aragraphSpacing|arallelization|arameterEstimator|artBehavior|artitionGranularity|assEventsDown|assEventsUp|asteBoxFormInlineCells|ath|erformanceGoal|ermissions|haseRange|laceholderReplace|layRange|lotLabels??|lotLayout|lotLegends|lotMarkers|lotPoints|lotRange|lotRangeClipping|lotRangePadding|lotRegion|lotStyle|lotTheme|odStates|odWidth|olarAxes|olarAxesOrigin|olarGridLines|olarTicks|oleZeroMarkers|recisionGoal|referencesPath|reprocessingRules|reserveColor|reserveImageOptions|rincipalValue|rintAction|rintPrecision|rintingCopies|rintingOptions|rintingPageRange|rintingStartingPageNumber|rintingStyleEnvironment|rintout3DPreviewer|rivateCellOptions|rivateEvaluationOptions|rivateFontOptions|rivateNotebookOptions|rivatePaths|rocessDirectory|rocessEnvironment|rocessEstimator|rogressReporting|rolog|ropagateAborts)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Quartics(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"R(?:adicalBoxOptions|andomSeeding|asterSize|eImLabels|eImStyle|ealBlockDiagonalForm|ecognitionPrior|ecordLists|ecordSeparators|eferenceLineStyle|efreshRate|egionBoundaryStyle|egionFillingStyle|egionFunction|egionSize|egularization|enderingOptions|equiredPhysicalQuantities|esampling|esamplingMethod|esolveContextAliases|estartInterval|eturnReceiptFunction|evolutionAxis|otateLabel|otationAction|oundingRadius|owAlignments|owLines|owMinHeight|owSpacings|owsEqual|ulerUnits|untimeAttributes|untimeOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"S(?:ameTest|ampleDepth|ampleRate|amplingPeriod|aveConnection|aveDefinitions|aveable|caleDivisions|caleOrigin|calePadding|caleRangeStyle|caleRanges|calingFunctions|cientificNotationThreshold|creenStyleEnvironment|criptBaselineShifts|criptLevel|criptMinSize|criptSizeMultipliers|crollPosition|crollbars|crollingOptions|ectorOrigin|ectorSpacing|electable|elfLoopStyle|eriesTermGoal|haringList|howAutoSpellCheck|howAutoStyles|howCellBracket|howCellLabel|howCellTags|howClosedCellArea|howContents|howCursorTracker|howGroupOpener|howPageBreaks|howSelection|howShortBoxForm|howSpecialCharacters|howStringCharacters|hrinkingDelay|ignPadding|ignificanceLevel|imilarityRules|ingleLetterItalics|liderBoxOptions|ortedBy|oundVolume|pacings|panAdjustments|panCharacterRounding|panLineThickness|panMaxSize|panMinSize|panSymmetric|pecificityGoal|pellingCorrection|pellingDictionaries|pellingDictionariesPath|pellingOptions|phericalRegion|plineClosed|plineDegree|plineKnots|plineWeights|qrtBoxOptions|tabilityMargins|tabilityMarginsStyle|tandardized|tartingStepSize|tateSpaceRealization|tepMonitor|trataVariables|treamColorFunction|treamColorFunctionScaling|treamMarkers|treamPoints|treamScale|treamStyle|trictInequalities|tripOnInput|tripWrapperBoxes|tructuredSelection|tyleBoxAutoDelete|tyleDefinitions|tyleHints|tyleMenuListing|tyleNameDialogSettings|tyleSheetPath|ubscriptBoxOptions|ubsuperscriptBoxOptions|ubtitleEncoding|uperscriptBoxOptions|urdForm|ynchronousInitialization|ynchronousUpdating|yntaxForm|ystemHelpPath|ystemsModelLabels)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"T(?:abFilling|abSpacings|ableAlignments|ableDepth|ableDirections|ableHeadings|ableSpacing|agBoxOptions|aggingRules|argetFunctions|argetUnits|emplateBoxOptions|emporalRegularity|estID|extAlignment|extClipboardType|extJustification|extureCoordinateFunction|extureCoordinateScaling|icks|icksStyle|imeConstraint|imeDirection|imeFormat|imeGoal|imeSystem|imeZone|okenWords|olerance|ooltipDelay|ooltipStyle|otalWidth|ouchscreenAutoZoom|ouchscreenControlPlacement|raceAbove|raceBackward|raceDepth|raceForward|raceOff|raceOn|raceOriginal|rackedSymbols|rackingFunction|raditionalFunctionNotation|ransformationClass|ransformationFunctions|ransitionDirection|ransitionDuration|ransitionEffect|ranslationOptions|ravelMethod|rendStyle|rig)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"U(?:nderoverscriptBoxOptions|nderscriptBoxOptions|ndoOptions|ndoTrackedVariables|nitSystem|nityDimensions|nsavedVariables|pdateInterval|pdatePacletSites|tilityFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"V(?:alidationLength|alidationSet|alueDimensions|arianceEstimatorFunction|ectorAspectRatio|ectorColorFunction|ectorColorFunctionScaling|ectorMarkers|ectorPoints|ectorRange|ectorScaling|ectorSizes|ectorStyle|erifyConvergence|erifySecurityCertificates|erifySolutions|erifyTestAssumptions|ersionedPreferences|ertexCapacity|ertexColors|ertexCoordinates|ertexDataCoordinates|ertexLabelStyle|ertexLabels|ertexNormals|ertexShape|ertexShapeFunction|ertexSize|ertexStyle|ertexTextureCoordinates|ertexWeight|ideoEncoding|iewAngle|iewCenter|iewMatrix|iewPoint|iewProjection|iewRange|iewVector|iewVertical|isible)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"W(?:aveletScale|eights|hitePoint|indowClickSelect|indowElements|indowFloating|indowFrame|indowFrameElements|indowMargins|indowOpacity|indowSize|indowStatusArea|indowTitle|indowToolbars|ordOrientation|ordSearch|ordSelectionFunction|ordSeparators|ordSpacings|orkingPrecision|rapAround)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Zero(?:Test|WidthTimes)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"A(?:bove|fter|lgebraics|ll|nonymous|utomatic|xis)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"B(?:ack|ackward|aseline|efore|elow|lack|lue|old|ooleans|ottom|oxes|rown|yte)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"C(?:atalan|ellStyle|enter|haracter|omplexInfinity|omplexes|onstant|yan)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"D(?:ashed|efaultAxesStyle|efaultBaseStyle|efaultBoxStyle|efaultFaceGridsStyle|efaultFieldHintStyle|efaultFrameStyle|efaultFrameTicksStyle|efaultGridLinesStyle|efaultLabelStyle|efaultMenuStyle|efaultTicksStyle|efaultTooltipStyle|egree|elimiter|igitCharacter|otDashed|otted)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"E(?:|ndOfBuffer|ndOfFile|ndOfLine|ndOfString|ulerGamma|xpression)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"F(?:alse|lat|ontProperties|orward|orwardBackward|riday|ront|rontEndDynamicExpression|ull)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"G(?:eneral|laisher|oldenAngle|oldenRatio|ray|reen)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"H(?:ere|exadecimalCharacter|oldAll|oldAllComplete|oldFirst|oldRest)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"I(?:|ndeterminate|nfinity|nherited|ntegers??|talic)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Khinchin(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"L(?:arger??|eft|etterCharacter|ightBlue|ightBrown|ightCyan|ightGray|ightGreen|ightMagenta|ightOrange|ightPink|ightPurple|ightRed|ightYellow|istable|ocked)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"M(?:achinePrecision|agenta|anual|edium|eshCellCentroid|eshCellMeasure|eshCellQuality|onday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"N(?:HoldAll|HoldFirst|HoldRest|egativeIntegers|egativeRationals|egativeReals|oWhitespace|onNegativeIntegers|onNegativeRationals|onNegativeReals|onPositiveIntegers|onPositiveRationals|onPositiveReals|one|ow|ull|umber|umberString|umericFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"O(?:neIdentity|range|rderless)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"P(?:i|ink|lain|ositiveIntegers|ositiveRationals|ositiveReals|rimes|rotected|unctuationCharacter|urple)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"R(?:ationals|eadProtected|eals??|ecord|ed|ight)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"S(?:aturday|equenceHold|mall|maller|panFromAbove|panFromBoth|panFromLeft|tartOfLine|tartOfString|tring|truckthrough|tub|unday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"T(?:emporary|hick|hin|hursday|iny|oday|omorrow|op|ransparent|rue|uesday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Unde(?:f|rl)ined(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"W(?:ednesday|hite|hitespace|hitespaceCharacter|ord|ordBoundary|ordCharacter)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"Ye(?:llow|sterday)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:Aborted|ActivationKey|AllowDataUpdates|AllowInternet|AssertFunction|Assumptions|AudioInputDevices|AudioOutputDevices|BaseDirectory|BasePacletsDirectory|BatchInput|BatchOutput|ByteOrdering|CacheBaseDirectory|Canceled|CharacterEncodings??|CloudAccountName|CloudBase|CloudConnected|CloudCreditsAvailable|CloudEvaluation|CloudExpressionBase|CloudObjectNameFormat|CloudObjectURLType|CloudRootDirectory|CloudSymbolBase|CloudUserID|CloudUserUUID|CloudVersion|CommandLine|CompilationTarget|Context|ContextAliases|ContextPath|ControlActiveSetting|Cookies|CreationDate|CurrentLink|CurrentTask|DateStringFormat|DefaultAudioInputDevice|DefaultAudioOutputDevice|DefaultFrontEnd|DefaultImagingDevice|DefaultKernels|DefaultLocalBase|DefaultLocalKernel|Display|DisplayFunction|DistributedContexts|DynamicEvaluation|Echo|EmbedCodeEnvironments|EmbeddableServices|Epilog|EvaluationCloudBase|EvaluationCloudObject|EvaluationEnvironment|ExportFormats|Failed|FontFamilies|FrontEnd|FrontEndSession|GeoLocation|GeoLocationCity|GeoLocationCountry|GeoLocationSource|HomeDirectory|IgnoreEOF|ImageFormattingWidth|ImageResolution|ImagingDevices??|ImportFormats|InitialDirectory|Input|InputFileName|InputStreamMethods|Inspector|InstallationDirectory|InterpreterTypes|IterationLimit|KernelCount|KernelID|Language|LibraryPath|LicenseExpirationDate|LicenseID|LicenseServer|Linked|LocalBase|LocalSymbolBase|MachineAddresses|MachineDomains|MachineEpsilon|MachineID|MachineName|MachinePrecision|MachineType|MaxExtraPrecision|MaxMachineNumber|MaxNumber|MaxPiecewiseCases|MaxPrecision|MaxRootDegree|MessageGroups|MessageList|MessagePrePrint|Messages|MinMachineNumber|MinNumber|MinPrecision|MobilePhone|ModuleNumber|NetworkConnected|NewMessage|NewSymbol|NotebookInlineStorageLimit|Notebooks|NumberMarks|OperatingSystem|Output|OutputSizeLimit|OutputStreamMethods|Packages|ParentLink|ParentProcessID|PasswordFile|Path|PathnameSeparator|PerformanceGoal|Permissions|PlotTheme|Printout3DPreviewer|ProcessID|ProcessorCount|ProcessorType|ProgressReporting|RandomGeneratorState|RecursionLimit|ReleaseNumber|RequesterAddress|RequesterCloudUserID|RequesterCloudUserUUID|RequesterWolframID|RequesterWolframUUID|RootDirectory|ScriptCommandLine|ScriptInputString|Services|SessionID|SharedFunctions|SharedVariables|SoundDisplayFunction|SynchronousEvaluation|System|SystemCharacterEncoding|SystemID|SystemShell|SystemTimeZone|SystemWordLength|TemplatePath|TemporaryDirectory|TimeUnit|TimeZone|TimeZoneEntity|TimedOut|UnitSystem|Urgent|UserAgentString|UserBaseDirectory|UserBasePacletsDirectory|UserDocumentsDirectory|UserURLBase|Username|Version|VersionNumber|WolframDocumentsDirectory|WolframID|WolframUUID)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"constant.language.wolfram\\\"},{\\\"match\\\":\\\"A(?:bortScheduledTask|ctive|lgebraicRules|lternateImage|natomyForm|nimationCycleOffset|nimationCycleRepetitions|nimationDisplayTime|spectRatioFixed|stronomicalData|synchronousTaskObject|synchronousTasks|udioDevice|udioLooping)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"Button(?:Evaluator|Expandable|Frame|Margins|Note|Style)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"C(?:DFInformation|hebyshevDistance|lassifierInformation|lipFill|olorOutput|olumnForm|ompose|onstantArrayLayer|onstantPlusLayer|onstantTimesLayer|onstrainedMax|onstrainedMin|ontourGraphics|ontourLines|onversionOptions|reateScheduledTask|reateTemporary|urry)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"D(?:atabinRemove|ate|ebug|efaultColor|efaultFont|ensityGraphics|isplay|isplayString|otPlusLayer|ragAndDrop)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"E(?:dgeLabeling|dgeRenderingFunction|valuateScheduledTask|xpectedValue)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"F(?:actorComplete|ontForm|ormTheme|romDate|ullOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"Gr(?:aphStyle|aphicsArray|aphicsSpacing|idBaseline)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"H(?:TMLSave|eldPart|iddenSurface|omeDirectory)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"I(?:mageRotated|nstanceNormalizationLayer)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"L(?:UBackSubstitution|egendreType|ightSources|inearProgramming|inkOpen|iteral|ongestMatch)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"M(?:eshRange|oleculeEquivalentQ)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"N(?:etInformation|etSharedArray|extScheduledTaskTime|otebookCreate)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"OpenTemporary(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"P(?:IDData|ackingMethod|ersistentValue|ixelConstrained|lot3Matrix|lotDivision|lotJoined|olygonIntersections|redictorInformation|roperties|roperty|ropertyList|ropertyValue)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"R(?:andom|asterArray|ecognitionThreshold|elease|emoteKernelObject|emoveAsynchronousTask|emoveProperty|emoveScheduledTask|enderAll|eplaceHeldPart|esetScheduledTask|esumePacket|unScheduledTask)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"S(?:cheduledTaskActiveQ|cheduledTaskInformation|cheduledTaskObject|cheduledTasks|creenRectangle|electionAnimate|equenceAttentionLayer|equenceForm|etProperty|hading|hortestMatch|ingularValues|kinStyle|ocialMediaData|tartAsynchronousTask|tartScheduledTask|tateDimensions|topAsynchronousTask|topScheduledTask|tructuredArray|tyleForm|tylePrint|ubscripted|urfaceColor|urfaceGraphics|uspendPacket|ystemModelProgressReporting)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"T(?:eXSave|extStyle|imeWarpingCorrespondence|imeWarpingDistance|oDate|oFileName|oHeldExpression)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"URL(?:Fetch|FetchAsynchronous|Save|SaveAsynchronous)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"Ve(?:ctorScale|rtexCoordinateRules|rtexLabeling|rtexRenderingFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"W(?:aitAsynchronousTask|indowMovable)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:AsynchronousTask|ConfiguredKernels|DefaultFont|EntityStores|FormatType|HTTPCookies|InstallationDate|MachineDomain|ProductInformation|ProgramName|RandomState|ScheduledTask|SummaryBoxDataSizeLimit|TemporaryPrefix|TextStyle|TopDirectory|UserAddOnsDirectory)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.deprecated.wolfram\\\"},{\\\"match\\\":\\\"A(?:ctionDelay|ctionMenuBox|ctionMenuBoxOptions|ctiveItem|lgebraicRulesData|lignmentMarker|llowAdultContent|llowChatServices|llowIncomplete|nalytic|nimatorBox|nimatorBoxOptions|nimatorElements|ppendCheck|rgumentCountQ|rrow3DBox|rrowBox|uthenticate|utoEvaluateEvents|utoIndentSpacings|utoMatch|utoNumberFormatting|utoQuoteCharacters|utoScaling|utoStyleOptions|utoStyleWords|utomaticImageSize|xis3DBox|xis3DBoxOptions|xisBox|xisBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"B(?:SplineCurve3DBox|SplineCurve3DBoxOptions|SplineCurveBox|SplineCurveBoxOptions|SplineSurface3DBox|SplineSurface3DBoxOptions|ackFaceColor|ackFaceGlowColor|ackFaceOpacity|ackFaceSpecularColor|ackFaceSpecularExponent|ackFaceSurfaceAppearance|ackFaceTexture|ackgroundAppearance|ackgroundTasksSettings|acksubstitution|eveled|ezierCurve3DBox|ezierCurve3DBoxOptions|ezierCurveBox|ezierCurveBoxOptions|lankForm|ounds|ox|oxDimensions|oxForm|oxID|oxRotation|oxRotationPoint|ra|raKet|rowserCategory|uttonCell|uttonContents|uttonStyleMenuListing)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"C(?:acheGraphics|achedValue|ardinalBSplineBasis|ellBoundingBox|ellContents|ellElementSpacings|ellElementsBoundingBox|ellFrameStyle|ellInsertionPointCell|ellTrayPosition|ellTrayWidgets|hangeOptions|hannelDatabin|hannelListenerWait|hannelPreSendFunction|hartElementData|hartElementDataFunction|heckAll|heckboxBox|heckboxBoxOptions|ircleBox|lipboardNotebook|lockwiseContourIntegral|losed|losingEvent|loudConnections|loudObjectInformation|loudObjectInformationData|loudUserID|oarse|oefficientDomain|olonForm|olorSetterBox|olorSetterBoxOptions|olumnBackgrounds|ompilerEnvironmentAppend|ompletionsListPacket|omponentwiseContextMenu|ompressedData|oneBox|onicHullRegion3DBox|onicHullRegion3DBoxOptions|onicHullRegionBox|onicHullRegionBoxOptions|onnect|ontentsBoundingBox|ontextMenu|ontinuation|ontourIntegral|ontourSmoothing|ontrolAlignment|ontrollerDuration|ontrollerInformationData|onvertToPostScript|onvertToPostScriptPacket|ookies|opyTag|ounterBox|ounterBoxOptions|ounterClockwiseContourIntegral|ounterEvaluator|ounterStyle|uboidBox|uboidBoxOptions|urlyDoubleQuote|urlyQuote|ylinderBox|ylinderBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"D(?:OSTextFormat|ampingFactor|ataCompression|atasetDisplayPanel|ateDelimiters|ebugTag|ecimal|efault2DTool|efault3DTool|efaultAttachedCellStyle|efaultControlPlacement|efaultDockedCellStyle|efaultInputFormatType|efaultOutputFormatType|efaultStyle|efaultTextFormatType|efaultTextInlineFormatType|efaultValue|efineExternal|egreeLexicographic|egreeReverseLexicographic|eleteWithContents|elimitedArray|estroyAfterEvaluation|eviceOpenQ|ialogIndent|ialogLevel|ifferenceOrder|igitBlockMinimum|isableConsolePrintPacket|iskBox|iskBoxOptions|ispatchQ|isplayRules|isplayTemporary|istributionDomain|ivergence|ocumentGeneratorInformationData|omainRegistrationInformation|oubleContourIntegral|oublyInfinite|own|rawBackFaces|rawFrontFaces|rawHighlighted|ualLinearProgramming|umpGet|ynamicBox|ynamicBoxOptions|ynamicLocation|ynamicModuleBox|ynamicModuleBoxOptions|ynamicModuleParent|ynamicName|ynamicNamespace|ynamicReference|ynamicWrapperBox|ynamicWrapperBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"E(?:ditButtonSettings|liminationOrder|llipticReducedHalfPeriods|mbeddingObject|mphasizeSyntaxErrors|mpty|nableConsolePrintPacket|ndAdd|ngineEnvironment|nter|qualColumns|qualRows|quatedTo|rrorBoxOptions|rrorNorm|rrorPacket|rrorsDialogSettings|valuated|valuationMode|valuationOrder|valuationRateLimit|ventEvaluator|ventHandlerTag|xactRootIsolation|xitDialog|xpectationE|xportPacket|xpressionPacket|xternalCall|xternalFunctionName)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"F(?:EDisableConsolePrintPacket|EEnableConsolePrintPacket|ail|ileInformation|ileName|illForm|illedCurveBox|illedCurveBoxOptions|ine|itAll|lashSelection|ont|ontName|ontOpacity|ontPostScriptName|ontReencoding|ormatRules|ormatValues|rameInset|rameless|rontEndObject|rontEndResource|rontEndResourceString|rontEndStackSize|rontEndValueCache|rontEndVersion|rontFaceColor|rontFaceGlowColor|rontFaceOpacity|rontFaceSpecularColor|rontFaceSpecularExponent|rontFaceSurfaceAppearance|rontFaceTexture|ullAxes)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"G(?:eneratedCellStyles|eneric|eometricTransformation3DBox|eometricTransformation3DBoxOptions|eometricTransformationBox|eometricTransformationBoxOptions|estureHandlerTag|etContext|etFileName|etLinebreakInformationPacket|lobalPreferences|lobalSession|raphLayerLabels|raphRoot|raphics3DBox|raphics3DBoxOptions|raphicsBaseline|raphicsBox|raphicsBoxOptions|raphicsComplex3DBox|raphicsComplex3DBoxOptions|raphicsComplexBox|raphicsComplexBoxOptions|raphicsContents|raphicsData|raphicsGridBox|raphicsGroup3DBox|raphicsGroup3DBoxOptions|raphicsGroupBox|raphicsGroupBoxOptions|raphicsGrouping|raphicsStyle|reekStyle|ridBoxAlignment|ridBoxBackground|ridBoxDividers|ridBoxFrame|ridBoxItemSize|ridBoxItemStyle|ridBoxOptions|ridBoxSpacings|ridElementStyleOptions|roupOpenerColor|roupOpenerInsideFrame|roupTogetherGrouping|roupTogetherNestedGrouping)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"H(?:eadCompose|eaders|elpBrowserLookup|elpBrowserNotebook|elpViewerSettings|essian|exahedronBox|exahedronBoxOptions|ighlightString|omePage|orizontal|orizontalForm|orizontalScrollPosition|yperlinkCreationSettings|yphenationOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"I(?:conizedObject|gnoreSpellCheck|mageCache|mageCacheValid|mageEditMode|mageMarkers|mageOffset|mageRangeCache|mageSizeCache|mageSizeRaw|nactiveStyle|ncludeSingularTerm|ndent|ndentMaxFraction|ndentingNewlineSpacings|ndexCreationOptions|ndexTag|nequality|nexactNumbers|nformationData|nformationDataGrid|nlineCounterAssignments|nlineCounterIncrements|nlineRules|nputFieldBox|nputFieldBoxOptions|nputGrouping|nputSettings|nputToBoxFormPacket|nsertionPointObject|nset3DBox|nset3DBoxOptions|nsetBox|nsetBoxOptions|ntegral|nterlaced|nterpolationPrecision|nterpretTemplate|nterruptSettings|nto|nvisibleApplication|nvisibleTimes|temBox|temBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"J(?:acobian|oinedCurveBox|oinedCurveBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"K(?:|ernelExecute|et)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"L(?:abeledSlider|ambertW|anguageOptions|aunch|ayoutInformation|exicographic|icenseID|ine3DBox|ine3DBoxOptions|ineBox|ineBoxOptions|ineBreak|ineWrapParts|inearFilter|inebreakSemicolonWeighting|inkConnectedQ|inkError|inkFlush|inkHost|inkMode|inkOptions|inkReadHeld|inkService|inkWriteHeld|istPickerBoxBackground|isten|iteralSearch|ocalizeDefinitions|ocatorBox|ocatorBoxOptions|ocatorCentering|ocatorPaneBox|ocatorPaneBoxOptions|ongEqual|ongForm|oopback)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"M(?:achineID|achineName|acintoshSystemPageSetup|ainSolve|aintainDynamicCaches|akeRules|atchLocalNameQ|aterial|athMLText|athematicaNotation|axBend|axPoints|enu|enuAppearance|enuEvaluator|enuItem|enuList|ergeDifferences|essageObject|essageOptions|essagesNotebook|etaCharacters|ethodOptions|inRecursion|inSize|ode|odular|onomialOrder|ouseAppearanceTag|ouseButtons|ousePointerNote|ultiLetterItalics|ultiLetterStyle|ultiplicity|ultiscriptBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"N(?:BernoulliB|ProductFactors|SumTerms|Values|amespaceBox|amespaceBoxOptions|estedScriptRules|etworkPacketRecordingDuring|ext|onAssociative|ormalGrouping|otebookDefault|otebookInterfaceObject)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"O(?:LEData|bjectExistsQ|pen|penFunctionInspectorPacket|penSpecialOptions|penerBox|penerBoxOptions|ptionQ|ptionValueBox|ptionValueBoxOptions|ptionsPacket|utputFormData|utputGrouping|utputMathEditExpression|ver|verlayBox|verlayBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"P(?:ackPaclet|ackage|acletDirectoryAdd|acletDirectoryRemove|acletInformation|acletObjectQ|acletUpdate|ageHeight|alettesMenuSettings|aneBox|aneBoxOptions|aneSelectorBox|aneSelectorBoxOptions|anelBox|anelBoxOptions|aperWidth|arameter|arameterVariables|arentConnect|arentForm|arentList|arenthesize|artialD|asteAutoQuoteCharacters|ausedTime|eriodicInterpolation|erpendicular|ickMode|ickedElements|ivoting|lotRangeClipPlanesStyle|oint3DBox|oint3DBoxOptions|ointBox|ointBoxOptions|olygon3DBox|olygon3DBoxOptions|olygonBox|olygonBoxOptions|olygonHoleScale|olygonScale|olyhedronBox|olyhedronBoxOptions|olynomialForm|olynomials|opupMenuBox|opupMenuBoxOptions|ostScript|recedence|redictionRoot|referencesSettings|revious|rimaryPlaceholder|rintForm|rismBox|rismBoxOptions|rivateFrontEndOptions|robabilityPr|rocessStateDomain|rocessTimeDomain|rogressIndicatorBox|rogressIndicatorBoxOptions|romptForm|yramidBox|yramidBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"R(?:adioButtonBox|adioButtonBoxOptions|andomSeed|angeSpecification|aster3DBox|aster3DBoxOptions|asterBox|asterBoxOptions|ationalFunctions|awArray|awMedium|ebuildPacletData|ectangleBox|ecurringDigitsForm|eferenceMarkerStyle|eferenceMarkers|einstall|emoved|epeatedString|esourceAcquire|esourceSubmissionObject|eturnCreatesNewCell|eturnEntersInput|eturnInputFormPacket|otationBox|otationBoxOptions|oundImplies|owBackgrounds|owHeights|uleCondition|uleForm)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"S(?:aveAutoDelete|caledMousePosition|cheduledTaskInformationData|criptForm|criptRules|ectionGrouping|electWithContents|election|electionCell|electionCellCreateCell|electionCellDefaultStyle|electionCellParentStyle|electionPlaceholder|elfLoops|erviceResponse|etOptionsPacket|etSecuredAuthenticationKey|etbacks|etterBox|etterBoxOptions|howAutoConvert|howCodeAssist|howControls|howGroupOpenCloseIcon|howInvisibleCharacters|howPredictiveInterface|howSyntaxStyles|hrinkWrapBoundingBox|ingleEvaluation|ingleLetterStyle|lider2DBox|lider2DBoxOptions|ocket|olveDelayed|oundAndGraphics|pace|paceForm|panningCharacters|phereBox|phereBoxOptions|tartupSound|tringBreak|tringByteCount|tripStyleOnPaste|trokeForm|tructuredArrayHeadQ|tyleKeyMapping|tyleNames|urfaceAppearance|yntax|ystemException|ystemGet|ystemInformationData|ystemStub|ystemTest)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"T(?:ab|abViewBox|abViewBoxOptions|ableViewBox|ableViewBoxAlignment|ableViewBoxBackground|ableViewBoxHeaders|ableViewBoxItemSize|ableViewBoxItemStyle|ableViewBoxOptions|agBoxNote|agStyle|emplateEvaluate|emplateSlotSequence|emplateUnevaluated|emplateVerbatim|emporaryVariable|ensorQ|etrahedronBox|etrahedronBoxOptions|ext3DBox|ext3DBoxOptions|extBand|extBoundingBox|extBox|extForm|extLine|extParagraph|hisLink|itleGrouping|oColor|oggle|oggleFalse|ogglerBox|ogglerBoxOptions|ooBig|ooltipBox|ooltipBoxOptions|otalHeight|raceAction|raceInternal|raceLevel|rackCellChangeTimes|raditionalNotation|raditionalOrder|ransparentColor|rapEnterKey|rapSelection|ubeBSplineCurveBox|ubeBSplineCurveBoxOptions|ubeBezierCurveBox|ubeBezierCurveBoxOptions|ubeBox|ubeBoxOptions)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"U(?:ntrackedVariables|p|seGraphicsRange|serDefinedWavelet|sing)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"V(?:2Get|alueBox|alueBoxOptions|alueForm|aluesData|ectorGlyphData|erbose|ertical|erticalForm|iewPointSelectorSettings|iewPort|irtualGroupData|isibleCell)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"W(?:aitUntil|ebPageMetaInformation|holeCellGroupOpener|indowPersistentStyles|indowSelected|indowWidth|olframAlphaDate|olframAlphaQuantity|olframAlphaResult|olframCloudSettings)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:ActivationGroupID|ActivationUserRegistered|AddOnsDirectory|BoxForms|CloudConnection|CloudVersionNumber|CloudWolframEngineVersionNumber|ConditionHold|DefaultMailbox|DefaultPath|FinancialDataSource|GeoEntityTypes|GeoLocationPrecision|HTMLExportRules|HTTPRequest|LaunchDirectory|LicenseProcesses|LicenseSubprocesses|LicenseType|LinkSupported|LoadedFiles|MaxLicenseProcesses|MaxLicenseSubprocesses|MinorReleaseNumber|NetworkLicense|Off|OutputForms|PatchLevelID|PermissionsGroupBase|PipeSupported|PreferencesDirectory|PrintForms|PrintLiteral|RegisteredDeviceClasses|RegisteredUserName|SecuredAuthenticationKeyTokens|SetParentLink|SoundDisplay|SuppressInputFormHeads|SystemMemory|TraceOff|TraceOn|TracePattern|TracePostAction|TracePreAction|UserAgentLanguages|UserAgentMachine|UserAgentName|UserAgentOperatingSystem|UserAgentVersion|UserName)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.undocumented.wolfram\\\"},{\\\"match\\\":\\\"A(?:ctiveClassification|ctiveClassificationObject|ctivePrediction|ctivePredictionObject|ddToSearchIndex|ggregatedEntityClass|ggregationLayer|ngleBisector|nimatedImage|nimationVideo|nomalyDetector|ppendLayer|pplication|pplyReaction|round|roundReplace|rrayReduce|sk|skAppend|skConfirm|skDisplay|skFunction|skState|skTemplateDisplay|skedQ|skedValue|ssessmentFunction|ssessmentResultObject|ssumeDeterministic|stroAngularSeparation|stroBackground|stroCenter|stroDistance|stroGraphics|stroGridLines|stroGridLinesStyle|stroPosition|stroProjection|stroRange|stroRangePadding|stroReferenceFrame|stroStyling|stroZoomLevel|tom|tomCoordinates|tomCount|tomDiagramCoordinates|tomLabelStyle|tomLabels|tomList|ttachCell|ttentionLayer|udioAnnotate|udioAnnotationLookup|udioIdentify|udioInstanceQ|udioPause|udioPlay|udioRecord|udioStop|udioStreams??|udioTrackApply|udioTrackSelection|utocomplete|utocompletionFunction|xiomaticTheory|xisLabel|xisObject|xisStyle)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"B(?:asicRecurrentLayer|atchNormalizationLayer|atchSize|ayesianMaximization|ayesianMaximizationObject|ayesianMinimization|ayesianMinimizationObject|esagL|innedVariogramList|inomialPointProcess|ioSequence|ioSequenceBackTranslateList|ioSequenceComplement|ioSequenceInstances|ioSequenceModify|ioSequencePlot|ioSequenceQ|ioSequenceReverseComplement|ioSequenceTranscribe|ioSequenceTranslate|itRate|lockDiagonalMatrix|lockLowerTriangularMatrix|lockUpperTriangularMatrix|lockchainAddressData|lockchainBase|lockchainBlockData|lockchainContractValue|lockchainData|lockchainGet|lockchainKeyEncode|lockchainPut|lockchainTokenData|lockchainTransaction|lockchainTransactionData|lockchainTransactionSign|lockchainTransactionSubmit|ond|ondCount|ondLabelStyle|ondLabels|ondList|ondQ|uildCompiledComponent)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"C(?:TCLossLayer|achePersistence|anvas|ast|ategoricalDistribution|atenateLayer|auchyPointProcess|hannelBase|hannelBrokerAction|hannelHistoryLength|hannelListen|hannelListeners??|hannelObject|hannelReceiverFunction|hannelSend|hannelSubscribers|haracterNormalize|hemicalConvert|hemicalFormula|hemicalInstance|hemicalReaction|loudExpressions??|loudRenderingMethod|ombinatorB|ombinatorC|ombinatorI|ombinatorK|ombinatorS|ombinatorW|ombinatorY|ombinedEntityClass|ompiledCodeFunction|ompiledComponent|ompiledExpressionDeclaration|ompiledLayer|ompilerCallback|ompilerEnvironment|ompilerEnvironmentAppendTo|ompilerEnvironmentObject|ompilerOptions|omplementedEntityClass|omputeUncertainty|onfirmQuiet|onformationMethod|onnectSystemModelComponents|onnectSystemModelController|onnectedMoleculeComponents|onnectedMoleculeQ|onnectionSettings|ontaining|ontentDetectorFunction|ontentFieldOptions|ontentLocationFunction|ontentObject|ontrastiveLossLayer|onvolutionLayer|reateChannel|reateCloudExpression|reateCompilerEnvironment|reateDataStructure|reateDataSystemModel|reateLicenseEntitlement|reateSearchIndex|reateSystemModel|reateTypeInstance|rossEntropyLossLayer|urrentNotebookImage|urrentScreenImage|urryApplied)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"D(?:SolveChangeVariables|ataStructureQ??|atabaseConnect|atabaseDisconnect|atabaseReference|atabinSubmit|ateInterval|eclareCompiledComponent|econvolutionLayer|ecryptFile|eleteChannel|eleteCloudExpression|eleteElements|eleteSearchIndex|erivedKey|iggleGatesPointProcess|iggleGrattonPointProcess|igitalSignature|isableFormatting|ocumentWeightingRules|otLayer|ownValuesFunction|ropoutLayer|ynamicImage)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"E(?:choTiming|lementwiseLayer|mbeddedSQLEntityClass|mbeddedSQLExpression|mbeddingLayer|mptySpaceF|ncryptFile|ntityFunction|ntityStore|stimatedPointProcess|stimatedVariogramModel|valuationEnvironment|valuationPrivileges|xpirationDate|xpressionTree|xtendedEntityClass|xternalEvaluate|xternalFunction|xternalIdentifier|xternalObject|xternalSessionObject|xternalSessions|xternalStorageBase|xternalStorageDownload|xternalStorageGet|xternalStorageObject|xternalStoragePut|xternalStorageUpload|xternalValue|xtractLayer)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"F(?:aceRecognize|eatureDistance|eatureExtract|eatureExtraction|eatureExtractor|eatureExtractorFunction|ileConvert|ileFormatProperties|ileNameToFormatList|ileSystemTree|ilteredEntityClass|indChannels|indEquationalProof|indExternalEvaluators|indGeometricConjectures|indImageText|indIsomers|indMoleculeSubstructure|indPointProcessParameters|indSystemModelEquilibrium|indTextualAnswer|lattenLayer|orAllType|ormControl|orwardCloudCredentials|oxHReduce|rameListVideo|romRawPointer|unctionCompile|unctionCompileExport|unctionCompileExportByteArray|unctionCompileExportLibrary|unctionCompileExportString|unctionDeclaration|unctionLayer|unctionPoles)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"G(?:alleryView|atedRecurrentLayer|enerateDerivedKey|enerateDigitalSignature|enerateFileSignature|enerateSecuredAuthenticationKey|eneratedAssetFormat|eneratedAssetLocation|eoGraphValuePlot|eoOrientationData|eometricAssertion|eometricScene|eometricStep|eometricStylingRules|eometricTest|ibbsPointProcess|raphTree|ridVideo)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"H(?:andlerFunctions|andlerFunctionsKeys|ardcorePointProcess|istogramPointDensity)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"I(?:gnoreIsotopes|gnoreStereochemistry|mageAugmentationLayer|mageBoundingBoxes|mageCases|mageContainsQ|mageContents|mageGraphics|magePosition|magePyramid|magePyramidApply|mageStitch|mportedObject|ncludeAromaticBonds|ncludeHydrogens|ncludeRelatedTables|nertEvaluate|nertExpression|nfiniteFuture|nfinitePast|nhomogeneousPoissonPointProcess|nitialEvaluationHistory|nitializationObjects??|nitializationValue|nitialize|nputPorts|ntegrateChangeVariables|nterfaceSwitched|ntersectedEntityClass|nverseImagePyramid)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"Kernel(?:Configura|Func)tion(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"L(?:earningRateMultipliers|ibraryFunctionDeclaration|icenseEntitlementObject|icenseEntitlements|icensingSettings|inearLayer|iteralType|oadCompiledComponent|ocalResponseNormalizationLayer|ongShortTermMemoryLayer|ossFunction)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"M(?:IMETypeToFormatList|ailExecute|ailFolder|ailItem|ailSearch|ailServerConnect|ailServerConnection|aternPointProcess|axDisplayedChildren|axTrainingRounds|axWordGap|eanAbsoluteLossLayer|eanAround|eanPointDensity|eanSquaredLossLayer|ergingFunction|idpoint|issingValuePattern|issingValueSynthesis|olecule|oleculeAlign|oleculeContainsQ|oleculeDraw|oleculeFreeQ|oleculeGraph|oleculeMatchQ|oleculeMaximumCommonSubstructure|oleculeModify|oleculeName|oleculePattern|oleculePlot|oleculePlot3D|oleculeProperty|oleculeQ|oleculeRecognize|oleculeSubstructureCount|oleculeValue)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"N(?:BodySimulation|BodySimulationData|earestNeighborG|estTree|etAppend|etArray|etArrayLayer|etBidirectionalOperator|etChain|etDecoder|etDelete|etDrop|etEncoder|etEvaluationMode|etExternalObject|etExtract|etFlatten|etFoldOperator|etGANOperator|etGraph|etInitialize|etInsert|etInsertSharedArrays|etJoin|etMapOperator|etMapThreadOperator|etMeasurements|etModel|etNestOperator|etPairEmbeddingOperator|etPort|etPortGradient|etPrepend|etRename|etReplace|etReplacePart|etStateObject|etTake|etTrain|etTrainResultsObject|etUnfold|etworkPacketCapture|etworkPacketRecording|etworkPacketTrace|eymanScottPointProcess|ominalScale|ormalizationLayer|umericArrayQ??|umericArrayType)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"O(?:peratorApplied|rderingLayer|rdinalScale|utputPorts|verlayVideo)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"P(?:acletSymbol|addingLayer|agination|airCorrelationG|arametricRampLayer|arentEdgeLabel|arentEdgeLabelFunction|arentEdgeLabelStyle|arentEdgeShapeFunction|arentEdgeStyle|arentEdgeStyleFunction|artLayer|artProtection|atternFilling|atternReaction|enttinenPointProcess|erpendicularBisector|ersistenceLocation|ersistenceTime|ersistentObjects??|ersistentSymbol|itchRecognize|laceholderLayer|laybackSettings|ointCountDistribution|ointDensity|ointDensityFunction|ointProcessEstimator|ointProcessFitTest|ointProcessParameterAssumptions|ointProcessParameterQ|ointStatisticFunction|ointValuePlot|oissonPointProcess|oolingLayer|rependLayer|roofObject|ublisherID)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"Question(?:Generator|Interface|Object|Selector)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"R(?:andomArrayLayer|andomInstance|andomPointConfiguration|andomTree|eactionBalance|eactionBalancedQ|ecalibrationFunction|egisterExternalEvaluator|elationalDatabase|emoteAuthorizationCaching|emoteBatchJobAbort|emoteBatchJobObject|emoteBatchJobs|emoteBatchMapSubmit|emoteBatchSubmissionEnvironment|emoteBatchSubmit|emoteConnect|emoteConnectionObject|emoteEvaluate|emoteFile|emoteInputFiles|emoteProviderSettings|emoteRun|emoteRunProcess|emovalConditions|emoveAudioStream|emoveChannelListener|emoveChannelSubscribers|emoveVideoStream|eplicateLayer|eshapeLayer|esizeLayer|esourceFunction|esourceRegister|esourceRemove|esourceSubmit|esourceSystemBase|esourceSystemPath|esourceUpdate|esourceVersion|everseApplied|ipleyK|ipleyRassonRegion|ootTree|ulesTree)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"S(?:ameTestProperties|ampledEntityClass|earchAdjustment|earchIndexObject|earchIndices|earchQueryString|earchResultObject|ecuredAuthenticationKeys??|ecurityCertificate|equenceIndicesLayer|equenceLastLayer|equenceMostLayer|equencePredict|equencePredictorFunction|equenceRestLayer|equenceReverseLayer|erviceRequest|erviceSubmit|etFileFormatProperties|etSystemModel|lideShowVideo|moothPointDensity|nippet|nippetsVideo|nubPolyhedron|oftmaxLayer|olidBoundaryLoadValue|olidDisplacementCondition|olidFixedCondition|olidMechanicsPDEComponent|olidMechanicsStrain|olidMechanicsStress|ortedEntityClass|ourceLink|patialBinnedPointData|patialBoundaryCorrection|patialEstimate|patialEstimatorFunction|patialJ|patialNoiseLevel|patialObservationRegionQ|patialPointData|patialPointSelect|patialRandomnessTest|patialTransformationLayer|patialTrendFunction|peakerMatchQ|peechCases|peechInterpreter|peechRecognize|plice|tartExternalSession|tartWebSession|tereochemistryElements|traussHardcorePointProcess|traussPointProcess|ubsetCases|ubsetCount|ubsetPosition|ubsetReplace|ubtitleTrackSelection|ummationLayer|ymmetricDifference|ynthesizeMissingValues|ystemCredential|ystemCredentialData|ystemCredentialKeys??|ystemCredentialStoreObject|ystemInstall|ystemModel|ystemModelExamples|ystemModelLinearize|ystemModelMeasurements|ystemModelParametricSimulate|ystemModelPlot|ystemModelReliability|ystemModelSimulate|ystemModelSimulateSensitivity|ystemModelSimulationData|ystemModeler|ystemModels)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"T(?:ableView|argetDevice|argetSystem|ernaryListPlot|ernaryPlotCorners|extCases|extContents|extElement|extPosition|extSearch|extSearchReport|extStructure|homasPointProcess|hreaded|hreadingLayer|ickDirection|ickLabelOrientation|ickLabelPositioning|ickLabels|ickLengths|ickPositions|oRawPointer|otalLayer|ourVideo|rainImageContentDetector|rainTextContentDetector|rainingProgressCheckpointing|rainingProgressFunction|rainingProgressMeasurements|rainingProgressReporting|rainingStoppingCriterion|rainingUpdateSchedule|ransposeLayer|ree|reeCases|reeChildren|reeCount|reeData|reeDelete|reeDepth|reeElementCoordinates|reeElementLabel|reeElementLabelFunction|reeElementLabelStyle|reeElementShape|reeElementShapeFunction|reeElementSize|reeElementSizeFunction|reeElementStyle|reeElementStyleFunction|reeExpression|reeExtract|reeFold|reeInsert|reeLayout|reeLeafCount|reeLeafQ|reeLeaves|reeLevel|reeMap|reeMapAt|reeOutline|reePosition|reeQ|reeReplacePart|reeRules|reeScan|reeSelect|reeSize|reeTraversalOrder|riangleCenter|riangleConstruct|riangleMeasurement|ypeDeclaration|ypeEvaluate|ypeOf|ypeSpecifier|yped)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"U(?:RLDownloadSubmit|nconstrainedParameters|nionedEntityClass|niqueElements|nitVectorLayer|nlabeledTree|nmanageObject|nregisterExternalEvaluator|pdateSearchIndex|seEmbeddedLibrary)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"V(?:alenceErrorHandling|alenceFilling|aluePreprocessingFunction|andermondeMatrix|arianceGammaPointProcess|ariogramFunction|ariogramModel|ectorAround|erifyDerivedKey|erifyDigitalSignature|erifyFileSignature|erifyInterpretation|ideo|ideoCapture|ideoCombine|ideoDelete|ideoExtractFrames|ideoFrameList|ideoFrameMap|ideoGenerator|ideoInsert|ideoIntervals|ideoJoin|ideoMap|ideoMapList|ideoMapTimeSeries|ideoPadding|ideoPause|ideoPlay|ideoQ|ideoRecord|ideoReplace|ideoScreenCapture|ideoSplit|ideoStop|ideoStreams??|ideoTimeStretch|ideoTrackSelection|ideoTranscode|ideoTransparency|ideoTrim)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"W(?:ebAudioSearch|ebColumn|ebElementObject|ebExecute|ebImage|ebImageSearch|ebItem|ebRow|ebSearch|ebSessionObject|ebSessions|ebWindowObject|ikidataData|ikidataSearch|ikipediaSearch|ithCleanup|ithLock)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"Zoom(?:Center|Factor)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:AllowExternalChannelFunctions|AudioDecoders|AudioEncoders|BlockchainBase|ChannelBase|CompilerEnvironment|CookieStore|CryptographicEllipticCurveNames|CurrentWebSession|DataStructures|DefaultNetworkInterface|DefaultProxyRules|DefaultRemoteBatchSubmissionEnvironment|DefaultRemoteKernel|DefaultSystemCredentialStore|ExternalIdentifierTypes|ExternalStorageBase|GeneratedAssetLocation|IncomingMailSettings|Initialization|InitializationContexts|MaxDisplayedChildren|NetworkInterfaces|NoValue|PersistenceBase|PersistencePath|PreInitialization|PublisherID|ResourceSystemBase|ResourceSystemPath|SSHAuthentication|ServiceCreditsAvailable|SourceLink|SubtitleDecoders|SubtitleEncoders|SystemCredentialStore|TargetSystems|TestFileName|VideoDecoders|VideoEncoders|VoiceStyles)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"support.function.experimental.wolfram\\\"},{\\\"match\\\":\\\"A(?:ll|ny)False(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"Boolean(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"C(?:loudbase|omplexQ)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"DataSet(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"Exp(?:andFilename|ortPacket)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"Fa(?:iled|lseQ)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"Interpolation(?:Function|Polynomial)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"Match(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"Option(?:Pattern|sQ)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"R(?:ation|e)alQ(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"S(?:tringMatch|ymbolQ)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"U(?:nSameQ|rlExecute)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:PathNameSeparator|RegisteredUsername)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.bad.wolfram\\\"},{\\\"match\\\":\\\"E(?:cho|xit)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"In(?:|String)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"Out(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"Print(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"Quit(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:HistoryLength|Line|Post|Pre|PrePrint|PreRead|SyntaxHandler)(?![$`[:alnum:]])\\\",\\\"name\\\":\\\"invalid.session.wolfram\\\"},{\\\"match\\\":\\\"[$[:alpha:]][$[:alnum:]]*(?=\\\\\\\\s*(\\\\\\\\[(?!\\\\\\\\s*\\\\\\\\[)|@(?!@)))\\\",\\\"name\\\":\\\"variable.function.wolfram\\\"},{\\\"match\\\":\\\"[$[:alpha:]][$[:alnum:]]*\\\",\\\"name\\\":\\\"symbol.unrecognized.wolfram\\\"}]}},\\\"scopeName\\\":\\\"source.wolfram\\\",\\\"aliases\\\":[\\\"wl\\\"]}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "wolfram" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,urgQAA4npQ,CAAC,EAEpppQC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-leinZj1a.js b/src/webview-ui/build/assets/chunk-leinZj1a.js new file mode 100644 index 0000000000..725066346b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-leinZj1a.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.background":"#f2e5bc","activityBar.border":"#ebdbb2","activityBar.foreground":"#3c3836","activityBarBadge.background":"#458588","activityBarBadge.foreground":"#ebdbb2","activityBarTop.background":"#f2e5bc","activityBarTop.foreground":"#3c3836","badge.background":"#b16286","badge.foreground":"#ebdbb2","button.background":"#45858880","button.foreground":"#3c3836","button.hoverBackground":"#45858860","debugToolBar.background":"#f2e5bc","diffEditor.insertedTextBackground":"#79740e30","diffEditor.removedTextBackground":"#9d000630","dropdown.background":"#f2e5bc","dropdown.border":"#ebdbb2","dropdown.foreground":"#3c3836","editor.background":"#f2e5bc","editor.findMatchBackground":"#07667870","editor.findMatchHighlightBackground":"#af3a0330","editor.findRangeHighlightBackground":"#07667870","editor.foreground":"#3c3836","editor.hoverHighlightBackground":"#689d6a50","editor.lineHighlightBackground":"#ebdbb260","editor.lineHighlightBorder":"#0000","editor.selectionBackground":"#689d6a40","editor.selectionHighlightBackground":"#b5761440","editorBracketHighlight.foreground1":"#b16286","editorBracketHighlight.foreground2":"#458588","editorBracketHighlight.foreground3":"#689d6a","editorBracketHighlight.foreground4":"#98971a","editorBracketHighlight.foreground5":"#d79921","editorBracketHighlight.foreground6":"#d65d0e","editorBracketHighlight.unexpectedBracket.foreground":"#cc241d","editorBracketMatch.background":"#92837480","editorBracketMatch.border":"#0000","editorCodeLens.foreground":"#7c6f6490","editorCursor.foreground":"#3c3836","editorError.foreground":"#cc241d","editorGroup.border":"#ebdbb2","editorGroup.dropBackground":"#ebdbb260","editorGroupHeader.noTabsBackground":"#f2e5bc","editorGroupHeader.tabsBackground":"#f2e5bc","editorGroupHeader.tabsBorder":"#ebdbb2","editorGutter.addedBackground":"#79740e","editorGutter.background":"#0000","editorGutter.deletedBackground":"#9d0006","editorGutter.modifiedBackground":"#076678","editorHoverWidget.background":"#f2e5bc","editorHoverWidget.border":"#ebdbb2","editorInfo.foreground":"#458588","editorLineNumber.foreground":"#bdae93","editorLink.activeForeground":"#3c3836","editorOverviewRuler.addedForeground":"#076678","editorOverviewRuler.border":"#0000","editorOverviewRuler.commonContentForeground":"#928374","editorOverviewRuler.currentContentForeground":"#458588","editorOverviewRuler.deletedForeground":"#076678","editorOverviewRuler.errorForeground":"#9d0006","editorOverviewRuler.findMatchForeground":"#665c54","editorOverviewRuler.incomingContentForeground":"#689d6a","editorOverviewRuler.infoForeground":"#8f3f71","editorOverviewRuler.modifiedForeground":"#076678","editorOverviewRuler.rangeHighlightForeground":"#665c54","editorOverviewRuler.selectionHighlightForeground":"#bdae93","editorOverviewRuler.warningForeground":"#d79921","editorOverviewRuler.wordHighlightForeground":"#bdae93","editorOverviewRuler.wordHighlightStrongForeground":"#bdae93","editorRuler.foreground":"#7c6f6440","editorStickyScroll.shadow":"#d5c4a199","editorStickyScrollHover.background":"#ebdbb260","editorSuggestWidget.background":"#f2e5bc","editorSuggestWidget.border":"#ebdbb2","editorSuggestWidget.foreground":"#3c3836","editorSuggestWidget.highlightForeground":"#689d6a","editorSuggestWidget.selectedBackground":"#ebdbb260","editorWarning.foreground":"#d79921","editorWhitespace.foreground":"#7c6f6420","editorWidget.background":"#f2e5bc","editorWidget.border":"#ebdbb2","errorForeground":"#9d0006","extensionButton.prominentBackground":"#79740e80","extensionButton.prominentHoverBackground":"#79740e30","focusBorder":"#ebdbb2","foreground":"#3c3836","gitDecoration.addedResourceForeground":"#3c3836","gitDecoration.conflictingResourceForeground":"#b16286","gitDecoration.deletedResourceForeground":"#cc241d","gitDecoration.ignoredResourceForeground":"#a89984","gitDecoration.modifiedResourceForeground":"#d79921","gitDecoration.untrackedResourceForeground":"#98971a","gitlens.closedAutolinkedIssueIconColor":"#b16286","gitlens.closedPullRequestIconColor":"#cc241d","gitlens.decorations.branchAheadForegroundColor":"#98971a","gitlens.decorations.branchBehindForegroundColor":"#d65d0e","gitlens.decorations.branchDivergedForegroundColor":"#d79921","gitlens.decorations.branchMissingUpstreamForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#cc241d","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#d79921","gitlens.decorations.workspaceCurrentForegroundColor":"#98971a","gitlens.decorations.workspaceRepoMissingForegroundColor":"#a89984","gitlens.decorations.workspaceRepoOpenForegroundColor":"#98971a","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#928374","gitlens.decorations.worktreeMissingForegroundColor":"#cc241d","gitlens.graphChangesColumnAddedColor":"#98971a","gitlens.graphChangesColumnDeletedColor":"#cc241d","gitlens.graphLane10Color":"#98971a","gitlens.graphLane1Color":"#076678","gitlens.graphLane2Color":"#458588","gitlens.graphLane3Color":"#8f3f71","gitlens.graphLane4Color":"#b16286","gitlens.graphLane5Color":"#427b58","gitlens.graphLane6Color":"#689d6a","gitlens.graphLane7Color":"#b57614","gitlens.graphLane8Color":"#d79921","gitlens.graphLane9Color":"#79740e","gitlens.graphMinimapMarkerHeadColor":"#98971a","gitlens.graphMinimapMarkerHighlightsColor":"#79740e","gitlens.graphMinimapMarkerLocalBranchesColor":"#076678","gitlens.graphMinimapMarkerPullRequestsColor":"#af3a03","gitlens.graphMinimapMarkerRemoteBranchesColor":"#458588","gitlens.graphMinimapMarkerStashesColor":"#b16286","gitlens.graphMinimapMarkerTagsColor":"#a89984","gitlens.graphMinimapMarkerUpstreamColor":"#689d6a","gitlens.graphScrollMarkerHeadColor":"#79740e","gitlens.graphScrollMarkerHighlightsColor":"#d79921","gitlens.graphScrollMarkerLocalBranchesColor":"#076678","gitlens.graphScrollMarkerPullRequestsColor":"#af3a03","gitlens.graphScrollMarkerRemoteBranchesColor":"#458588","gitlens.graphScrollMarkerStashesColor":"#b16286","gitlens.graphScrollMarkerTagsColor":"#a89984","gitlens.graphScrollMarkerUpstreamColor":"#427b58","gitlens.gutterBackgroundColor":"#ebdbb2","gitlens.gutterForegroundColor":"#3c3836","gitlens.gutterUncommittedForegroundColor":"#458588","gitlens.launchpadIndicatorAttentionColor":"#b57614","gitlens.launchpadIndicatorAttentionHoverColor":"#d79921","gitlens.launchpadIndicatorBlockedColor":"#9d0006","gitlens.launchpadIndicatorBlockedHoverColor":"#cc241d","gitlens.launchpadIndicatorMergeableColor":"#79740e","gitlens.launchpadIndicatorMergeableHoverColor":"#98971a","gitlens.lineHighlightBackgroundColor":"#ebdbb2","gitlens.lineHighlightOverviewRulerColor":"#458588","gitlens.mergedPullRequestIconColor":"#b16286","gitlens.openAutolinkedIssueIconColor":"#98971a","gitlens.openPullRequestIconColor":"#98971a","gitlens.trailingLineBackgroundColor":"#f2e5bca0","gitlens.trailingLineForegroundColor":"#928374a0","gitlens.unpublishedChangesIconColor":"#98971a","gitlens.unpublishedCommitIconColor":"#98971a","gitlens.unpulledChangesIconColor":"#af3a03","icon.foreground":"#3c3836","input.background":"#f2e5bc","input.border":"#ebdbb2","input.foreground":"#3c3836","input.placeholderForeground":"#3c383660","inputOption.activeBorder":"#3c383660","inputValidation.errorBackground":"#cc241d","inputValidation.errorBorder":"#9d0006","inputValidation.infoBackground":"#45858880","inputValidation.infoBorder":"#076678","inputValidation.warningBackground":"#d79921","inputValidation.warningBorder":"#b57614","list.activeSelectionBackground":"#ebdbb280","list.activeSelectionForeground":"#427b58","list.dropBackground":"#ebdbb2","list.focusBackground":"#ebdbb2","list.focusForeground":"#3c3836","list.highlightForeground":"#689d6a","list.hoverBackground":"#ebdbb280","list.hoverForeground":"#504945","list.inactiveSelectionBackground":"#ebdbb280","list.inactiveSelectionForeground":"#689d6a","menu.border":"#ebdbb2","menu.separatorBackground":"#ebdbb2","merge.border":"#0000","merge.currentContentBackground":"#45858820","merge.currentHeaderBackground":"#45858840","merge.incomingContentBackground":"#689d6a20","merge.incomingHeaderBackground":"#689d6a40","notebook.cellBorderColor":"#d5c4a1","notebook.cellEditorBackground":"#ebdbb2","notebook.focusedCellBorder":"#7c6f64","notebook.focusedEditorBorder":"#d5c4a1","panel.border":"#ebdbb2","panelTitle.activeForeground":"#3c3836","peekView.border":"#ebdbb2","peekViewEditor.background":"#ebdbb270","peekViewEditor.matchHighlightBackground":"#d5c4a1","peekViewEditorGutter.background":"#ebdbb270","peekViewResult.background":"#ebdbb270","peekViewResult.fileForeground":"#3c3836","peekViewResult.lineForeground":"#3c3836","peekViewResult.matchHighlightBackground":"#d5c4a1","peekViewResult.selectionBackground":"#45858820","peekViewResult.selectionForeground":"#3c3836","peekViewTitle.background":"#ebdbb270","peekViewTitleDescription.foreground":"#665c54","peekViewTitleLabel.foreground":"#3c3836","progressBar.background":"#689d6a","scmGraph.historyItemHoverDefaultLabelForeground":"#ebdbb2","scmGraph.historyItemHoverLabelForeground":"#ebdbb2","scrollbar.shadow":"#f2e5bc","scrollbarSlider.activeBackground":"#689d6a","scrollbarSlider.background":"#d5c4a199","scrollbarSlider.hoverBackground":"#bdae93","selection.background":"#689d6a80","sideBar.background":"#f2e5bc","sideBar.border":"#ebdbb2","sideBar.foreground":"#504945","sideBarSectionHeader.background":"#0000","sideBarSectionHeader.foreground":"#3c3836","sideBarTitle.foreground":"#3c3836","statusBar.background":"#f2e5bc","statusBar.border":"#ebdbb2","statusBar.debuggingBackground":"#af3a03","statusBar.debuggingBorder":"#0000","statusBar.debuggingForeground":"#f2e5bc","statusBar.foreground":"#3c3836","statusBar.noFolderBackground":"#f2e5bc","statusBar.noFolderBorder":"#0000","tab.activeBackground":"#ebdbb2","tab.activeBorder":"#689d6a","tab.activeForeground":"#3c3836","tab.border":"#0000","tab.inactiveBackground":"#f2e5bc","tab.inactiveForeground":"#7c6f64","tab.unfocusedActiveBorder":"#0000","tab.unfocusedActiveForeground":"#7c6f64","tab.unfocusedInactiveForeground":"#928374","terminal.ansiBlack":"#ebdbb2","terminal.ansiBlue":"#458588","terminal.ansiBrightBlack":"#928374","terminal.ansiBrightBlue":"#076678","terminal.ansiBrightCyan":"#427b58","terminal.ansiBrightGreen":"#79740e","terminal.ansiBrightMagenta":"#8f3f71","terminal.ansiBrightRed":"#9d0006","terminal.ansiBrightWhite":"#3c3836","terminal.ansiBrightYellow":"#b57614","terminal.ansiCyan":"#689d6a","terminal.ansiGreen":"#98971a","terminal.ansiMagenta":"#b16286","terminal.ansiRed":"#cc241d","terminal.ansiWhite":"#7c6f64","terminal.ansiYellow":"#d79921","terminal.background":"#f2e5bc","terminal.foreground":"#3c3836","textLink.activeForeground":"#458588","textLink.foreground":"#076678","titleBar.activeBackground":"#f2e5bc","titleBar.activeForeground":"#3c3836","titleBar.inactiveBackground":"#f2e5bc","widget.border":"#ebdbb2","widget.shadow":"#f2e5bc30"},"displayName":"Gruvbox Light Soft","name":"gruvbox-light-soft","semanticHighlighting":true,"semanticTokenColors":{"component":"#af3a03","constant.builtin":"#8f3f71","function":"#427b58","function.builtin":"#af3a03","method":"#427b58","parameter":"#076678","property":"#076678","property:python":"#3c3836","variable":"#3c3836"},"tokenColors":[{"settings":{"foreground":"#3c3836"}},{"scope":"emphasis","settings":{"fontStyle":"italic"}},{"scope":"strong","settings":{"fontStyle":"bold"}},{"scope":"header","settings":{"foreground":"#458588"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#928374"}},{"scope":["constant","support.constant","variable.arguments"],"settings":{"foreground":"#8f3f71"}},{"scope":"constant.rgb-value","settings":{"foreground":"#3c3836"}},{"scope":"entity.name.selector","settings":{"foreground":"#427b58"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#b57614"}},{"scope":["entity.name.tag","punctuation.tag"],"settings":{"foreground":"#427b58"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#cc241d"}},{"scope":"invalid.deprecated","settings":{"foreground":"#b16286"}},{"scope":"meta.selector","settings":{"foreground":"#427b58"}},{"scope":"meta.preprocessor","settings":{"foreground":"#af3a03"}},{"scope":"meta.preprocessor.string","settings":{"foreground":"#79740e"}},{"scope":"meta.preprocessor.numeric","settings":{"foreground":"#79740e"}},{"scope":"meta.header.diff","settings":{"foreground":"#af3a03"}},{"scope":"storage","settings":{"foreground":"#9d0006"}},{"scope":["storage.type","storage.modifier"],"settings":{"foreground":"#af3a03"}},{"scope":"string","settings":{"foreground":"#79740e"}},{"scope":"string.tag","settings":{"foreground":"#79740e"}},{"scope":"string.value","settings":{"foreground":"#79740e"}},{"scope":"string.regexp","settings":{"foreground":"#af3a03"}},{"scope":"string.escape","settings":{"foreground":"#9d0006"}},{"scope":"string.quasi","settings":{"foreground":"#427b58"}},{"scope":"string.entity","settings":{"foreground":"#79740e"}},{"scope":"object","settings":{"foreground":"#3c3836"}},{"scope":"module.node","settings":{"foreground":"#076678"}},{"scope":"support.type.property-name","settings":{"foreground":"#689d6a"}},{"scope":"keyword","settings":{"foreground":"#9d0006"}},{"scope":"keyword.control","settings":{"foreground":"#9d0006"}},{"scope":"keyword.control.module","settings":{"foreground":"#427b58"}},{"scope":"keyword.control.less","settings":{"foreground":"#d79921"}},{"scope":"keyword.operator","settings":{"foreground":"#427b58"}},{"scope":"keyword.operator.new","settings":{"foreground":"#af3a03"}},{"scope":"keyword.other.unit","settings":{"foreground":"#79740e"}},{"scope":"metatag.php","settings":{"foreground":"#af3a03"}},{"scope":"support.function.git-rebase","settings":{"foreground":"#689d6a"}},{"scope":"constant.sha.git-rebase","settings":{"foreground":"#79740e"}},{"scope":["meta.type.name","meta.return.type","meta.return-type","meta.cast","meta.type.annotation","support.type","storage.type.cs","variable.class"],"settings":{"foreground":"#b57614"}},{"scope":["variable.this","support.variable"],"settings":{"foreground":"#8f3f71"}},{"scope":["entity.name","entity.static","entity.name.class.static.function","entity.name.function","entity.name.class","entity.name.type"],"settings":{"foreground":"#b57614"}},{"scope":["entity.function","entity.name.function.static"],"settings":{"foreground":"#427b58"}},{"scope":"entity.name.function.function-call","settings":{"foreground":"#427b58"}},{"scope":"support.function.builtin","settings":{"foreground":"#af3a03"}},{"scope":["entity.name.method","entity.name.method.function-call","entity.name.static.function-call"],"settings":{"foreground":"#689d6a"}},{"scope":"brace","settings":{"foreground":"#504945"}},{"scope":["meta.parameter.type.variable","variable.parameter","variable.name","variable.other","variable","string.constant.other.placeholder"],"settings":{"foreground":"#076678"}},{"scope":"prototype","settings":{"foreground":"#8f3f71"}},{"scope":["punctuation"],"settings":{"foreground":"#7c6f64"}},{"scope":"punctuation.quoted","settings":{"foreground":"#3c3836"}},{"scope":"punctuation.quasi","settings":{"foreground":"#9d0006"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["meta.function.python","entity.name.function.python"],"settings":{"foreground":"#427b58"}},{"scope":["storage.type.function.python","storage.modifier.declaration","storage.type.class.python","storage.type.string.python"],"settings":{"foreground":"#9d0006"}},{"scope":["storage.type.function.async.python"],"settings":{"foreground":"#9d0006"}},{"scope":"meta.function-call.generic","settings":{"foreground":"#076678"}},{"scope":"meta.function-call.arguments","settings":{"foreground":"#504945"}},{"scope":"entity.name.function.decorator","settings":{"fontStyle":"bold","foreground":"#b57614"}},{"scope":"constant.other.caps","settings":{"fontStyle":"bold"}},{"scope":"keyword.operator.logical","settings":{"foreground":"#9d0006"}},{"scope":"punctuation.definition.logical-expression","settings":{"foreground":"#af3a03"}},{"scope":["string.interpolated.dollar.shell","string.interpolated.backtick.shell"],"settings":{"foreground":"#427b58"}},{"scope":"keyword.control.directive","settings":{"foreground":"#427b58"}},{"scope":"support.function.C99","settings":{"foreground":"#b57614"}},{"scope":["meta.function.cs","entity.name.function.cs","entity.name.type.namespace.cs"],"settings":{"foreground":"#79740e"}},{"scope":["keyword.other.using.cs","entity.name.variable.field.cs","entity.name.variable.local.cs","variable.other.readwrite.cs"],"settings":{"foreground":"#427b58"}},{"scope":["keyword.other.this.cs","keyword.other.base.cs"],"settings":{"foreground":"#8f3f71"}},{"scope":"meta.scope.prerequisites","settings":{"foreground":"#b57614"}},{"scope":"entity.name.function.target","settings":{"fontStyle":"bold","foreground":"#79740e"}},{"scope":["storage.modifier.import.java","storage.modifier.package.java"],"settings":{"foreground":"#665c54"}},{"scope":["keyword.other.import.java","keyword.other.package.java"],"settings":{"foreground":"#427b58"}},{"scope":"storage.type.java","settings":{"foreground":"#b57614"}},{"scope":"storage.type.annotation","settings":{"fontStyle":"bold","foreground":"#076678"}},{"scope":"keyword.other.documentation.javadoc","settings":{"foreground":"#427b58"}},{"scope":"comment.block.javadoc variable.parameter.java","settings":{"fontStyle":"bold","foreground":"#79740e"}},{"scope":["source.java variable.other.object","source.java variable.other.definition.java"],"settings":{"foreground":"#3c3836"}},{"scope":"meta.function-parameters.lisp","settings":{"foreground":"#b57614"}},{"scope":"markup.underline","settings":{"fontStyle":"underline"}},{"scope":"string.other.link.title.markdown","settings":{"fontStyle":"underline","foreground":"#928374"}},{"scope":"markup.underline.link","settings":{"foreground":"#8f3f71"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#af3a03"}},{"scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#af3a03"}},{"scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.inserted","settings":{"foreground":"#79740e"}},{"scope":"markup.deleted","settings":{"foreground":"#d65d0e"}},{"scope":"markup.changed","settings":{"foreground":"#af3a03"}},{"scope":"markup.punctuation.quote.beginning","settings":{"foreground":"#98971a"}},{"scope":"markup.punctuation.list.beginning","settings":{"foreground":"#076678"}},{"scope":["markup.inline.raw","markup.fenced_code.block"],"settings":{"foreground":"#427b58"}},{"scope":"string.quoted.double.json","settings":{"foreground":"#076678"}},{"scope":"entity.other.attribute-name.css","settings":{"foreground":"#af3a03"}},{"scope":"source.css meta.selector","settings":{"foreground":"#3c3836"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#af3a03"}},{"scope":"entity.other.attribute-name.class","settings":{"foreground":"#79740e"}},{"scope":["source.css support.function.transform","source.css support.function.timing-function","source.css support.function.misc"],"settings":{"foreground":"#9d0006"}},{"scope":["support.property-value","constant.rgb-value","support.property-value.scss","constant.rgb-value.scss"],"settings":{"foreground":"#d65d0e"}},{"scope":["entity.name.tag.css"],"settings":{"fontStyle":""}},{"scope":["punctuation.definition.tag"],"settings":{"foreground":"#076678"}},{"scope":["text.html entity.name.tag","text.html punctuation.tag"],"settings":{"fontStyle":"bold","foreground":"#427b58"}},{"scope":["source.js variable.language"],"settings":{"foreground":"#af3a03"}},{"scope":["source.ts variable.language"],"settings":{"foreground":"#af3a03"}},{"scope":["source.go storage.type"],"settings":{"foreground":"#b57614"}},{"scope":["source.go entity.name.import"],"settings":{"foreground":"#79740e"}},{"scope":["source.go keyword.package","source.go keyword.import"],"settings":{"foreground":"#427b58"}},{"scope":["source.go keyword.interface","source.go keyword.struct"],"settings":{"foreground":"#076678"}},{"scope":["source.go entity.name.type"],"settings":{"foreground":"#3c3836"}},{"scope":["source.go entity.name.function"],"settings":{"foreground":"#8f3f71"}},{"scope":["keyword.control.cucumber.table"],"settings":{"foreground":"#076678"}},{"scope":["source.reason string.double","source.reason string.regexp"],"settings":{"foreground":"#79740e"}},{"scope":["source.reason keyword.control.less"],"settings":{"foreground":"#427b58"}},{"scope":["source.reason entity.name.function"],"settings":{"foreground":"#076678"}},{"scope":["source.reason support.property-value","source.reason entity.name.filename"],"settings":{"foreground":"#af3a03"}},{"scope":["source.powershell variable.other.member.powershell"],"settings":{"foreground":"#af3a03"}},{"scope":["source.powershell support.function.powershell"],"settings":{"foreground":"#b57614"}},{"scope":["source.powershell support.function.attribute.powershell"],"settings":{"foreground":"#665c54"}},{"scope":["source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell"],"settings":{"foreground":"#af3a03"}},{"scope":["support.function.be.latex","support.function.general.tex","support.function.section.latex","support.function.textbf.latex","support.function.textit.latex","support.function.texttt.latex","support.function.emph.latex","support.function.url.latex"],"settings":{"foreground":"#9d0006"}},{"scope":["support.class.math.block.tex","support.class.math.block.environment.latex"],"settings":{"foreground":"#af3a03"}},{"scope":["keyword.control.preamble.latex","keyword.control.include.latex"],"settings":{"foreground":"#8f3f71"}},{"scope":["support.class.latex"],"settings":{"foreground":"#427b58"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-leinZj1a.js.map diff --git a/src/webview-ui/build/assets/chunk-leinZj1a.js.map b/src/webview-ui/build/assets/chunk-leinZj1a.js.map new file mode 100644 index 0000000000..d038385898 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-leinZj1a.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-leinZj1a.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/gruvbox-light-soft.mjs" + ], + "sourcesContent": [ + "/* Theme: gruvbox-light-soft */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#f2e5bc\\\",\\\"activityBar.border\\\":\\\"#ebdbb2\\\",\\\"activityBar.foreground\\\":\\\"#3c3836\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#f2e5bc\\\",\\\"activityBarTop.foreground\\\":\\\"#3c3836\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#3c3836\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#f2e5bc\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#79740e30\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#9d000630\\\",\\\"dropdown.background\\\":\\\"#f2e5bc\\\",\\\"dropdown.border\\\":\\\"#ebdbb2\\\",\\\"dropdown.foreground\\\":\\\"#3c3836\\\",\\\"editor.background\\\":\\\"#f2e5bc\\\",\\\"editor.findMatchBackground\\\":\\\"#07667870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#af3a0330\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#07667870\\\",\\\"editor.foreground\\\":\\\"#3c3836\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ebdbb260\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#b5761440\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#7c6f6490\\\",\\\"editorCursor.foreground\\\":\\\"#3c3836\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGroup.border\\\":\\\"#ebdbb2\\\",\\\"editorGroup.dropBackground\\\":\\\"#ebdbb260\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#f2e5bc\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f2e5bc\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ebdbb2\\\",\\\"editorGutter.addedBackground\\\":\\\"#79740e\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9d0006\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#076678\\\",\\\"editorHoverWidget.background\\\":\\\"#f2e5bc\\\",\\\"editorHoverWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#bdae93\\\",\\\"editorLink.activeForeground\\\":\\\"#3c3836\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#9d0006\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8f3f71\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bdae93\\\",\\\"editorRuler.foreground\\\":\\\"#7c6f6440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#d5c4a199\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ebdbb260\\\",\\\"editorSuggestWidget.background\\\":\\\"#f2e5bc\\\",\\\"editorSuggestWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ebdbb260\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c6f6420\\\",\\\"editorWidget.background\\\":\\\"#f2e5bc\\\",\\\"editorWidget.border\\\":\\\"#ebdbb2\\\",\\\"errorForeground\\\":\\\"#9d0006\\\",\\\"extensionButton.prominentBackground\\\":\\\"#79740e80\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#79740e30\\\",\\\"focusBorder\\\":\\\"#ebdbb2\\\",\\\"foreground\\\":\\\"#3c3836\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3c3836\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#a89984\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a89984\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#076678\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8f3f71\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#427b58\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#b57614\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#79740e\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#427b58\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#b57614\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#9d0006\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#79740e\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#f2e5bca0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#af3a03\\\",\\\"icon.foreground\\\":\\\"#3c3836\\\",\\\"input.background\\\":\\\"#f2e5bc\\\",\\\"input.border\\\":\\\"#ebdbb2\\\",\\\"input.foreground\\\":\\\"#3c3836\\\",\\\"input.placeholderForeground\\\":\\\"#3c383660\\\",\\\"inputOption.activeBorder\\\":\\\"#3c383660\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#9d0006\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#076678\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#b57614\\\",\\\"list.activeSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.activeSelectionForeground\\\":\\\"#427b58\\\",\\\"list.dropBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusForeground\\\":\\\"#3c3836\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#ebdbb280\\\",\\\"list.hoverForeground\\\":\\\"#504945\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#ebdbb2\\\",\\\"menu.separatorBackground\\\":\\\"#ebdbb2\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#d5c4a1\\\",\\\"notebook.cellEditorBackground\\\":\\\"#ebdbb2\\\",\\\"notebook.focusedCellBorder\\\":\\\"#7c6f64\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#d5c4a1\\\",\\\"panel.border\\\":\\\"#ebdbb2\\\",\\\"panelTitle.activeForeground\\\":\\\"#3c3836\\\",\\\"peekView.border\\\":\\\"#ebdbb2\\\",\\\"peekViewEditor.background\\\":\\\"#ebdbb270\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewEditorGutter.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.fileForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.lineForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#3c3836\\\",\\\"peekViewTitle.background\\\":\\\"#ebdbb270\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#665c54\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#3c3836\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#f2e5bc\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#d5c4a199\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#bdae93\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#f2e5bc\\\",\\\"sideBar.border\\\":\\\"#ebdbb2\\\",\\\"sideBar.foreground\\\":\\\"#504945\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#3c3836\\\",\\\"sideBarTitle.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.background\\\":\\\"#f2e5bc\\\",\\\"statusBar.border\\\":\\\"#ebdbb2\\\",\\\"statusBar.debuggingBackground\\\":\\\"#af3a03\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#f2e5bc\\\",\\\"statusBar.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.noFolderBackground\\\":\\\"#f2e5bc\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#ebdbb2\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#3c3836\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#f2e5bc\\\",\\\"tab.inactiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#076678\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#427b58\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#79740e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#8f3f71\\\",\\\"terminal.ansiBrightRed\\\":\\\"#9d0006\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#3c3836\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b57614\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#7c6f64\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#f2e5bc\\\",\\\"terminal.foreground\\\":\\\"#3c3836\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#076678\\\",\\\"titleBar.activeBackground\\\":\\\"#f2e5bc\\\",\\\"titleBar.activeForeground\\\":\\\"#3c3836\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f2e5bc\\\",\\\"widget.border\\\":\\\"#ebdbb2\\\",\\\"widget.shadow\\\":\\\"#f2e5bc30\\\"},\\\"displayName\\\":\\\"Gruvbox Light Soft\\\",\\\"name\\\":\\\"gruvbox-light-soft\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#af3a03\\\",\\\"constant.builtin\\\":\\\"#8f3f71\\\",\\\"function\\\":\\\"#427b58\\\",\\\"function.builtin\\\":\\\"#af3a03\\\",\\\"method\\\":\\\"#427b58\\\",\\\"parameter\\\":\\\"#076678\\\",\\\"property\\\":\\\"#076678\\\",\\\"property:python\\\":\\\"#3c3836\\\",\\\"variable\\\":\\\"#3c3836\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c6f64\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "gruvboxLightSoft" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,wyqBAAwrvB,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-pO14Kfwb.js b/src/webview-ui/build/assets/chunk-pO14Kfwb.js new file mode 100644 index 0000000000..16cb9e494d --- /dev/null +++ b/src/webview-ui/build/assets/chunk-pO14Kfwb.js @@ -0,0 +1,1670 @@ +import { c as S, g as G } from "./mermaid-bundle.js" +function E(b, g) { + for (var r = 0; r < g.length; r++) { + const u = g[r] + if (typeof u != "string" && !Array.isArray(u)) { + for (const i in u) + if (i !== "default" && !(i in b)) { + const d = Object.getOwnPropertyDescriptor(u, i) + d && Object.defineProperty(b, i, d.get ? d : { enumerable: !0, get: () => u[i] }) + } + } + } + return Object.freeze(Object.defineProperty(b, Symbol.toStringTag, { value: "Module" })) +} +var O = {} +/*! + * howler.js v2.2.4 + * howlerjs.com + * + * (c) 2013-2020, James Simpson of GoldFire Studios + * goldfirestudios.com + * + * MIT License + */ var F +function V() { + return ( + F || + ((F = 1), + (function (b) { + ;(function () { + var g = function () { + this.init() + } + g.prototype = { + init: function () { + var e = this || r + return ( + (e._counter = 1e3), + (e._html5AudioPool = []), + (e.html5PoolSize = 10), + (e._codecs = {}), + (e._howls = []), + (e._muted = !1), + (e._volume = 1), + (e._canPlayEvent = "canplaythrough"), + (e._navigator = typeof window < "u" && window.navigator ? window.navigator : null), + (e.masterGain = null), + (e.noAudio = !1), + (e.usingWebAudio = !0), + (e.autoSuspend = !0), + (e.ctx = null), + (e.autoUnlock = !0), + e._setup(), + e + ) + }, + volume: function (e) { + var t = this || r + if (((e = parseFloat(e)), t.ctx || A(), typeof e < "u" && e >= 0 && e <= 1)) { + if (((t._volume = e), t._muted)) return t + t.usingWebAudio && t.masterGain.gain.setValueAtTime(e, r.ctx.currentTime) + for (var n = 0; n < t._howls.length; n++) + if (!t._howls[n]._webAudio) + for (var o = t._howls[n]._getSoundIds(), _ = 0; _ < o.length; _++) { + var l = t._howls[n]._soundById(o[_]) + l && l._node && (l._node.volume = l._volume * e) + } + return t + } + return t._volume + }, + mute: function (e) { + var t = this || r + t.ctx || A(), + (t._muted = e), + t.usingWebAudio && + t.masterGain.gain.setValueAtTime(e ? 0 : t._volume, r.ctx.currentTime) + for (var n = 0; n < t._howls.length; n++) + if (!t._howls[n]._webAudio) + for (var o = t._howls[n]._getSoundIds(), _ = 0; _ < o.length; _++) { + var l = t._howls[n]._soundById(o[_]) + l && l._node && (l._node.muted = e ? !0 : l._muted) + } + return t + }, + stop: function () { + for (var e = this || r, t = 0; t < e._howls.length; t++) e._howls[t].stop() + return e + }, + unload: function () { + for (var e = this || r, t = e._howls.length - 1; t >= 0; t--) e._howls[t].unload() + return ( + e.usingWebAudio && + e.ctx && + typeof e.ctx.close < "u" && + (e.ctx.close(), (e.ctx = null), A()), + e + ) + }, + codecs: function (e) { + return (this || r)._codecs[e.replace(/^x-/, "")] + }, + _setup: function () { + var e = this || r + if (((e.state = (e.ctx && e.ctx.state) || "suspended"), e._autoSuspend(), !e.usingWebAudio)) + if (typeof Audio < "u") + try { + var t = new Audio() + typeof t.oncanplaythrough > "u" && (e._canPlayEvent = "canplay") + } catch { + e.noAudio = !0 + } + else e.noAudio = !0 + try { + var t = new Audio() + t.muted && (e.noAudio = !0) + } catch {} + return e.noAudio || e._setupCodecs(), e + }, + _setupCodecs: function () { + var e = this || r, + t = null + try { + t = typeof Audio < "u" ? new Audio() : null + } catch { + return e + } + if (!t || typeof t.canPlayType != "function") return e + var n = t.canPlayType("audio/mpeg;").replace(/^no$/, ""), + o = e._navigator ? e._navigator.userAgent : "", + _ = o.match(/OPR\/(\d+)/g), + l = _ && parseInt(_[0].split("/")[1], 10) < 33, + a = o.indexOf("Safari") !== -1 && o.indexOf("Chrome") === -1, + f = o.match(/Version\/(.*?) /), + m = a && f && parseInt(f[1], 10) < 15 + return ( + (e._codecs = { + mp3: !!(!l && (n || t.canPlayType("audio/mp3;").replace(/^no$/, ""))), + mpeg: !!n, + opus: !!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""), + ogg: !!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), + oga: !!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), + wav: !!( + t.canPlayType('audio/wav; codecs="1"') || t.canPlayType("audio/wav") + ).replace(/^no$/, ""), + aac: !!t.canPlayType("audio/aac;").replace(/^no$/, ""), + caf: !!t.canPlayType("audio/x-caf;").replace(/^no$/, ""), + m4a: !!( + t.canPlayType("audio/x-m4a;") || + t.canPlayType("audio/m4a;") || + t.canPlayType("audio/aac;") + ).replace(/^no$/, ""), + m4b: !!( + t.canPlayType("audio/x-m4b;") || + t.canPlayType("audio/m4b;") || + t.canPlayType("audio/aac;") + ).replace(/^no$/, ""), + mp4: !!( + t.canPlayType("audio/x-mp4;") || + t.canPlayType("audio/mp4;") || + t.canPlayType("audio/aac;") + ).replace(/^no$/, ""), + weba: !!(!m && t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")), + webm: !!(!m && t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")), + dolby: !!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ""), + flac: !!(t.canPlayType("audio/x-flac;") || t.canPlayType("audio/flac;")).replace( + /^no$/, + "", + ), + }), + e + ) + }, + _unlockAudio: function () { + var e = this || r + if (!(e._audioUnlocked || !e.ctx)) { + ;(e._audioUnlocked = !1), + (e.autoUnlock = !1), + !e._mobileUnloaded && + e.ctx.sampleRate !== 44100 && + ((e._mobileUnloaded = !0), e.unload()), + (e._scratchBuffer = e.ctx.createBuffer(1, 1, 22050)) + var t = function (n) { + for (; e._html5AudioPool.length < e.html5PoolSize; ) + try { + var o = new Audio() + ;(o._unlocked = !0), e._releaseHtml5Audio(o) + } catch { + e.noAudio = !0 + break + } + for (var _ = 0; _ < e._howls.length; _++) + if (!e._howls[_]._webAudio) + for (var l = e._howls[_]._getSoundIds(), a = 0; a < l.length; a++) { + var f = e._howls[_]._soundById(l[a]) + f && + f._node && + !f._node._unlocked && + ((f._node._unlocked = !0), f._node.load()) + } + e._autoResume() + var m = e.ctx.createBufferSource() + ;(m.buffer = e._scratchBuffer), + m.connect(e.ctx.destination), + typeof m.start > "u" ? m.noteOn(0) : m.start(0), + typeof e.ctx.resume == "function" && e.ctx.resume(), + (m.onended = function () { + m.disconnect(0), + (e._audioUnlocked = !0), + document.removeEventListener("touchstart", t, !0), + document.removeEventListener("touchend", t, !0), + document.removeEventListener("click", t, !0), + document.removeEventListener("keydown", t, !0) + for (var y = 0; y < e._howls.length; y++) e._howls[y]._emit("unlock") + }) + } + return ( + document.addEventListener("touchstart", t, !0), + document.addEventListener("touchend", t, !0), + document.addEventListener("click", t, !0), + document.addEventListener("keydown", t, !0), + e + ) + } + }, + _obtainHtml5Audio: function () { + var e = this || r + if (e._html5AudioPool.length) return e._html5AudioPool.pop() + var t = new Audio().play() + return ( + t && + typeof Promise < "u" && + (t instanceof Promise || typeof t.then == "function") && + t.catch(function () { + console.warn( + "HTML5 Audio pool exhausted, returning potentially locked audio object.", + ) + }), + new Audio() + ) + }, + _releaseHtml5Audio: function (e) { + var t = this || r + return e._unlocked && t._html5AudioPool.push(e), t + }, + _autoSuspend: function () { + var e = this + if (!(!e.autoSuspend || !e.ctx || typeof e.ctx.suspend > "u" || !r.usingWebAudio)) { + for (var t = 0; t < e._howls.length; t++) + if (e._howls[t]._webAudio) { + for (var n = 0; n < e._howls[t]._sounds.length; n++) + if (!e._howls[t]._sounds[n]._paused) return e + } + return ( + e._suspendTimer && clearTimeout(e._suspendTimer), + (e._suspendTimer = setTimeout(function () { + if (e.autoSuspend) { + ;(e._suspendTimer = null), (e.state = "suspending") + var o = function () { + ;(e.state = "suspended"), + e._resumeAfterSuspend && + (delete e._resumeAfterSuspend, e._autoResume()) + } + e.ctx.suspend().then(o, o) + } + }, 3e4)), + e + ) + } + }, + _autoResume: function () { + var e = this + if (!(!e.ctx || typeof e.ctx.resume > "u" || !r.usingWebAudio)) + return ( + e.state === "running" && e.ctx.state !== "interrupted" && e._suspendTimer + ? (clearTimeout(e._suspendTimer), (e._suspendTimer = null)) + : e.state === "suspended" || + (e.state === "running" && e.ctx.state === "interrupted") + ? (e.ctx.resume().then(function () { + e.state = "running" + for (var t = 0; t < e._howls.length; t++) + e._howls[t]._emit("resume") + }), + e._suspendTimer && + (clearTimeout(e._suspendTimer), (e._suspendTimer = null))) + : e.state === "suspending" && (e._resumeAfterSuspend = !0), + e + ) + }, + } + var r = new g(), + u = function (e) { + var t = this + if (!e.src || e.src.length === 0) { + console.error("An array of source files must be passed with any new Howl.") + return + } + t.init(e) + } + u.prototype = { + init: function (e) { + var t = this + return ( + r.ctx || A(), + (t._autoplay = e.autoplay || !1), + (t._format = typeof e.format != "string" ? e.format : [e.format]), + (t._html5 = e.html5 || !1), + (t._muted = e.mute || !1), + (t._loop = e.loop || !1), + (t._pool = e.pool || 5), + (t._preload = + typeof e.preload == "boolean" || e.preload === "metadata" ? e.preload : !0), + (t._rate = e.rate || 1), + (t._sprite = e.sprite || {}), + (t._src = typeof e.src != "string" ? e.src : [e.src]), + (t._volume = e.volume !== void 0 ? e.volume : 1), + (t._xhr = { + method: e.xhr && e.xhr.method ? e.xhr.method : "GET", + headers: e.xhr && e.xhr.headers ? e.xhr.headers : null, + withCredentials: e.xhr && e.xhr.withCredentials ? e.xhr.withCredentials : !1, + }), + (t._duration = 0), + (t._state = "unloaded"), + (t._sounds = []), + (t._endTimers = {}), + (t._queue = []), + (t._playLock = !1), + (t._onend = e.onend ? [{ fn: e.onend }] : []), + (t._onfade = e.onfade ? [{ fn: e.onfade }] : []), + (t._onload = e.onload ? [{ fn: e.onload }] : []), + (t._onloaderror = e.onloaderror ? [{ fn: e.onloaderror }] : []), + (t._onplayerror = e.onplayerror ? [{ fn: e.onplayerror }] : []), + (t._onpause = e.onpause ? [{ fn: e.onpause }] : []), + (t._onplay = e.onplay ? [{ fn: e.onplay }] : []), + (t._onstop = e.onstop ? [{ fn: e.onstop }] : []), + (t._onmute = e.onmute ? [{ fn: e.onmute }] : []), + (t._onvolume = e.onvolume ? [{ fn: e.onvolume }] : []), + (t._onrate = e.onrate ? [{ fn: e.onrate }] : []), + (t._onseek = e.onseek ? [{ fn: e.onseek }] : []), + (t._onunlock = e.onunlock ? [{ fn: e.onunlock }] : []), + (t._onresume = []), + (t._webAudio = r.usingWebAudio && !t._html5), + typeof r.ctx < "u" && r.ctx && r.autoUnlock && r._unlockAudio(), + r._howls.push(t), + t._autoplay && + t._queue.push({ + event: "play", + action: function () { + t.play() + }, + }), + t._preload && t._preload !== "none" && t.load(), + t + ) + }, + load: function () { + var e = this, + t = null + if (r.noAudio) { + e._emit("loaderror", null, "No audio support.") + return + } + typeof e._src == "string" && (e._src = [e._src]) + for (var n = 0; n < e._src.length; n++) { + var o, _ + if (e._format && e._format[n]) o = e._format[n] + else { + if (((_ = e._src[n]), typeof _ != "string")) { + e._emit( + "loaderror", + null, + "Non-string found in selected audio sources - ignoring.", + ) + continue + } + ;(o = /^data:audio\/([^;,]+);/i.exec(_)), + o || (o = /\.([^.]+)$/.exec(_.split("?", 1)[0])), + o && (o = o[1].toLowerCase()) + } + if ( + (o || + console.warn( + 'No file extension was found. Consider using the "format" property or specify an extension.', + ), + o && r.codecs(o)) + ) { + t = e._src[n] + break + } + } + if (!t) { + e._emit("loaderror", null, "No codec support for selected audio sources.") + return + } + return ( + (e._src = t), + (e._state = "loading"), + window.location.protocol === "https:" && + t.slice(0, 5) === "http:" && + ((e._html5 = !0), (e._webAudio = !1)), + new i(e), + e._webAudio && c(e), + e + ) + }, + play: function (e, t) { + var n = this, + o = null + if (typeof e == "number") (o = e), (e = null) + else { + if (typeof e == "string" && n._state === "loaded" && !n._sprite[e]) return null + if (typeof e > "u" && ((e = "__default"), !n._playLock)) { + for (var _ = 0, l = 0; l < n._sounds.length; l++) + n._sounds[l]._paused && !n._sounds[l]._ended && (_++, (o = n._sounds[l]._id)) + _ === 1 ? (e = null) : (o = null) + } + } + var a = o ? n._soundById(o) : n._inactiveSound() + if (!a) return null + if ((o && !e && (e = a._sprite || "__default"), n._state !== "loaded")) { + ;(a._sprite = e), (a._ended = !1) + var f = a._id + return ( + n._queue.push({ + event: "play", + action: function () { + n.play(f) + }, + }), + f + ) + } + if (o && !a._paused) return t || n._loadQueue("play"), a._id + n._webAudio && r._autoResume() + var m = Math.max(0, a._seek > 0 ? a._seek : n._sprite[e][0] / 1e3), + y = Math.max(0, (n._sprite[e][0] + n._sprite[e][1]) / 1e3 - m), + w = (y * 1e3) / Math.abs(a._rate), + T = n._sprite[e][0] / 1e3, + k = (n._sprite[e][0] + n._sprite[e][1]) / 1e3 + ;(a._sprite = e), (a._ended = !1) + var I = function () { + ;(a._paused = !1), + (a._seek = m), + (a._start = T), + (a._stop = k), + (a._loop = !!(a._loop || n._sprite[e][2])) + } + if (m >= k) { + n._ended(a) + return + } + var v = a._node + if (n._webAudio) { + var H = function () { + ;(n._playLock = !1), I(), n._refreshBuffer(a) + var x = a._muted || n._muted ? 0 : a._volume + v.gain.setValueAtTime(x, r.ctx.currentTime), + (a._playStart = r.ctx.currentTime), + typeof v.bufferSource.start > "u" + ? a._loop + ? v.bufferSource.noteGrainOn(0, m, 86400) + : v.bufferSource.noteGrainOn(0, m, y) + : a._loop + ? v.bufferSource.start(0, m, 86400) + : v.bufferSource.start(0, m, y), + w !== 1 / 0 && (n._endTimers[a._id] = setTimeout(n._ended.bind(n, a), w)), + t || + setTimeout(function () { + n._emit("play", a._id), n._loadQueue() + }, 0) + } + r.state === "running" && r.ctx.state !== "interrupted" + ? H() + : ((n._playLock = !0), n.once("resume", H), n._clearTimer(a._id)) + } else { + var P = function () { + ;(v.currentTime = m), + (v.muted = a._muted || n._muted || r._muted || v.muted), + (v.volume = a._volume * r.volume()), + (v.playbackRate = a._rate) + try { + var x = v.play() + if ( + (x && + typeof Promise < "u" && + (x instanceof Promise || typeof x.then == "function") + ? ((n._playLock = !0), + I(), + x + .then(function () { + ;(n._playLock = !1), + (v._unlocked = !0), + t ? n._loadQueue() : n._emit("play", a._id) + }) + .catch(function () { + ;(n._playLock = !1), + n._emit( + "playerror", + a._id, + "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.", + ), + (a._ended = !0), + (a._paused = !0) + })) + : t || ((n._playLock = !1), I(), n._emit("play", a._id)), + (v.playbackRate = a._rate), + v.paused) + ) { + n._emit( + "playerror", + a._id, + "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.", + ) + return + } + e !== "__default" || a._loop + ? (n._endTimers[a._id] = setTimeout(n._ended.bind(n, a), w)) + : ((n._endTimers[a._id] = function () { + n._ended(a), v.removeEventListener("ended", n._endTimers[a._id], !1) + }), + v.addEventListener("ended", n._endTimers[a._id], !1)) + } catch (D) { + n._emit("playerror", a._id, D) + } + } + v.src === + "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA" && + ((v.src = n._src), v.load()) + var L = (window && window.ejecta) || (!v.readyState && r._navigator.isCocoonJS) + if (v.readyState >= 3 || L) P() + else { + ;(n._playLock = !0), (n._state = "loading") + var M = function () { + ;(n._state = "loaded"), P(), v.removeEventListener(r._canPlayEvent, M, !1) + } + v.addEventListener(r._canPlayEvent, M, !1), n._clearTimer(a._id) + } + } + return a._id + }, + pause: function (e) { + var t = this + if (t._state !== "loaded" || t._playLock) + return ( + t._queue.push({ + event: "pause", + action: function () { + t.pause(e) + }, + }), + t + ) + for (var n = t._getSoundIds(e), o = 0; o < n.length; o++) { + t._clearTimer(n[o]) + var _ = t._soundById(n[o]) + if ( + _ && + !_._paused && + ((_._seek = t.seek(n[o])), + (_._rateSeek = 0), + (_._paused = !0), + t._stopFade(n[o]), + _._node) + ) + if (t._webAudio) { + if (!_._node.bufferSource) continue + typeof _._node.bufferSource.stop > "u" + ? _._node.bufferSource.noteOff(0) + : _._node.bufferSource.stop(0), + t._cleanBuffer(_._node) + } else (!isNaN(_._node.duration) || _._node.duration === 1 / 0) && _._node.pause() + arguments[1] || t._emit("pause", _ ? _._id : null) + } + return t + }, + stop: function (e, t) { + var n = this + if (n._state !== "loaded" || n._playLock) + return ( + n._queue.push({ + event: "stop", + action: function () { + n.stop(e) + }, + }), + n + ) + for (var o = n._getSoundIds(e), _ = 0; _ < o.length; _++) { + n._clearTimer(o[_]) + var l = n._soundById(o[_]) + l && + ((l._seek = l._start || 0), + (l._rateSeek = 0), + (l._paused = !0), + (l._ended = !0), + n._stopFade(o[_]), + l._node && + (n._webAudio + ? l._node.bufferSource && + (typeof l._node.bufferSource.stop > "u" + ? l._node.bufferSource.noteOff(0) + : l._node.bufferSource.stop(0), + n._cleanBuffer(l._node)) + : (!isNaN(l._node.duration) || l._node.duration === 1 / 0) && + ((l._node.currentTime = l._start || 0), + l._node.pause(), + l._node.duration === 1 / 0 && n._clearSound(l._node))), + t || n._emit("stop", l._id)) + } + return n + }, + mute: function (e, t) { + var n = this + if (n._state !== "loaded" || n._playLock) + return ( + n._queue.push({ + event: "mute", + action: function () { + n.mute(e, t) + }, + }), + n + ) + if (typeof t > "u") + if (typeof e == "boolean") n._muted = e + else return n._muted + for (var o = n._getSoundIds(t), _ = 0; _ < o.length; _++) { + var l = n._soundById(o[_]) + l && + ((l._muted = e), + l._interval && n._stopFade(l._id), + n._webAudio && l._node + ? l._node.gain.setValueAtTime(e ? 0 : l._volume, r.ctx.currentTime) + : l._node && (l._node.muted = r._muted ? !0 : e), + n._emit("mute", l._id)) + } + return n + }, + volume: function () { + var e = this, + t = arguments, + n, + o + if (t.length === 0) return e._volume + if (t.length === 1 || (t.length === 2 && typeof t[1] > "u")) { + var _ = e._getSoundIds(), + l = _.indexOf(t[0]) + l >= 0 ? (o = parseInt(t[0], 10)) : (n = parseFloat(t[0])) + } else t.length >= 2 && ((n = parseFloat(t[0])), (o = parseInt(t[1], 10))) + var a + if (typeof n < "u" && n >= 0 && n <= 1) { + if (e._state !== "loaded" || e._playLock) + return ( + e._queue.push({ + event: "volume", + action: function () { + e.volume.apply(e, t) + }, + }), + e + ) + typeof o > "u" && (e._volume = n), (o = e._getSoundIds(o)) + for (var f = 0; f < o.length; f++) + (a = e._soundById(o[f])), + a && + ((a._volume = n), + t[2] || e._stopFade(o[f]), + e._webAudio && a._node && !a._muted + ? a._node.gain.setValueAtTime(n, r.ctx.currentTime) + : a._node && !a._muted && (a._node.volume = n * r.volume()), + e._emit("volume", a._id)) + } else return (a = o ? e._soundById(o) : e._sounds[0]), a ? a._volume : 0 + return e + }, + fade: function (e, t, n, o) { + var _ = this + if (_._state !== "loaded" || _._playLock) + return ( + _._queue.push({ + event: "fade", + action: function () { + _.fade(e, t, n, o) + }, + }), + _ + ) + ;(e = Math.min(Math.max(0, parseFloat(e)), 1)), + (t = Math.min(Math.max(0, parseFloat(t)), 1)), + (n = parseFloat(n)), + _.volume(e, o) + for (var l = _._getSoundIds(o), a = 0; a < l.length; a++) { + var f = _._soundById(l[a]) + if (f) { + if ((o || _._stopFade(l[a]), _._webAudio && !f._muted)) { + var m = r.ctx.currentTime, + y = m + n / 1e3 + ;(f._volume = e), + f._node.gain.setValueAtTime(e, m), + f._node.gain.linearRampToValueAtTime(t, y) + } + _._startFadeInterval(f, e, t, n, l[a], typeof o > "u") + } + } + return _ + }, + _startFadeInterval: function (e, t, n, o, _, l) { + var a = this, + f = t, + m = n - t, + y = Math.abs(m / 0.01), + w = Math.max(4, y > 0 ? o / y : o), + T = Date.now() + ;(e._fadeTo = n), + (e._interval = setInterval(function () { + var k = (Date.now() - T) / o + ;(T = Date.now()), + (f += m * k), + (f = Math.round(f * 100) / 100), + m < 0 ? (f = Math.max(n, f)) : (f = Math.min(n, f)), + a._webAudio ? (e._volume = f) : a.volume(f, e._id, !0), + l && (a._volume = f), + ((n < t && f <= n) || (n > t && f >= n)) && + (clearInterval(e._interval), + (e._interval = null), + (e._fadeTo = null), + a.volume(n, e._id), + a._emit("fade", e._id)) + }, w)) + }, + _stopFade: function (e) { + var t = this, + n = t._soundById(e) + return ( + n && + n._interval && + (t._webAudio && n._node.gain.cancelScheduledValues(r.ctx.currentTime), + clearInterval(n._interval), + (n._interval = null), + t.volume(n._fadeTo, e), + (n._fadeTo = null), + t._emit("fade", e)), + t + ) + }, + loop: function () { + var e = this, + t = arguments, + n, + o, + _ + if (t.length === 0) return e._loop + if (t.length === 1) + if (typeof t[0] == "boolean") (n = t[0]), (e._loop = n) + else return (_ = e._soundById(parseInt(t[0], 10))), _ ? _._loop : !1 + else t.length === 2 && ((n = t[0]), (o = parseInt(t[1], 10))) + for (var l = e._getSoundIds(o), a = 0; a < l.length; a++) + (_ = e._soundById(l[a])), + _ && + ((_._loop = n), + e._webAudio && + _._node && + _._node.bufferSource && + ((_._node.bufferSource.loop = n), + n && + ((_._node.bufferSource.loopStart = _._start || 0), + (_._node.bufferSource.loopEnd = _._stop), + e.playing(l[a]) && (e.pause(l[a], !0), e.play(l[a], !0))))) + return e + }, + rate: function () { + var e = this, + t = arguments, + n, + o + if (t.length === 0) o = e._sounds[0]._id + else if (t.length === 1) { + var _ = e._getSoundIds(), + l = _.indexOf(t[0]) + l >= 0 ? (o = parseInt(t[0], 10)) : (n = parseFloat(t[0])) + } else t.length === 2 && ((n = parseFloat(t[0])), (o = parseInt(t[1], 10))) + var a + if (typeof n == "number") { + if (e._state !== "loaded" || e._playLock) + return ( + e._queue.push({ + event: "rate", + action: function () { + e.rate.apply(e, t) + }, + }), + e + ) + typeof o > "u" && (e._rate = n), (o = e._getSoundIds(o)) + for (var f = 0; f < o.length; f++) + if (((a = e._soundById(o[f])), a)) { + e.playing(o[f]) && + ((a._rateSeek = e.seek(o[f])), + (a._playStart = e._webAudio ? r.ctx.currentTime : a._playStart)), + (a._rate = n), + e._webAudio && a._node && a._node.bufferSource + ? a._node.bufferSource.playbackRate.setValueAtTime(n, r.ctx.currentTime) + : a._node && (a._node.playbackRate = n) + var m = e.seek(o[f]), + y = (e._sprite[a._sprite][0] + e._sprite[a._sprite][1]) / 1e3 - m, + w = (y * 1e3) / Math.abs(a._rate) + ;(e._endTimers[o[f]] || !a._paused) && + (e._clearTimer(o[f]), + (e._endTimers[o[f]] = setTimeout(e._ended.bind(e, a), w))), + e._emit("rate", a._id) + } + } else return (a = e._soundById(o)), a ? a._rate : e._rate + return e + }, + seek: function () { + var e = this, + t = arguments, + n, + o + if (t.length === 0) e._sounds.length && (o = e._sounds[0]._id) + else if (t.length === 1) { + var _ = e._getSoundIds(), + l = _.indexOf(t[0]) + l >= 0 + ? (o = parseInt(t[0], 10)) + : e._sounds.length && ((o = e._sounds[0]._id), (n = parseFloat(t[0]))) + } else t.length === 2 && ((n = parseFloat(t[0])), (o = parseInt(t[1], 10))) + if (typeof o > "u") return 0 + if (typeof n == "number" && (e._state !== "loaded" || e._playLock)) + return ( + e._queue.push({ + event: "seek", + action: function () { + e.seek.apply(e, t) + }, + }), + e + ) + var a = e._soundById(o) + if (a) + if (typeof n == "number" && n >= 0) { + var f = e.playing(o) + f && e.pause(o, !0), + (a._seek = n), + (a._ended = !1), + e._clearTimer(o), + !e._webAudio && a._node && !isNaN(a._node.duration) && (a._node.currentTime = n) + var m = function () { + f && e.play(o, !0), e._emit("seek", o) + } + if (f && !e._webAudio) { + var y = function () { + e._playLock ? setTimeout(y, 0) : m() + } + setTimeout(y, 0) + } else m() + } else if (e._webAudio) { + var w = e.playing(o) ? r.ctx.currentTime - a._playStart : 0, + T = a._rateSeek ? a._rateSeek - a._seek : 0 + return a._seek + (T + w * Math.abs(a._rate)) + } else return a._node.currentTime + return e + }, + playing: function (e) { + var t = this + if (typeof e == "number") { + var n = t._soundById(e) + return n ? !n._paused : !1 + } + for (var o = 0; o < t._sounds.length; o++) if (!t._sounds[o]._paused) return !0 + return !1 + }, + duration: function (e) { + var t = this, + n = t._duration, + o = t._soundById(e) + return o && (n = t._sprite[o._sprite][1] / 1e3), n + }, + state: function () { + return this._state + }, + unload: function () { + for (var e = this, t = e._sounds, n = 0; n < t.length; n++) + t[n]._paused || e.stop(t[n]._id), + e._webAudio || + (e._clearSound(t[n]._node), + t[n]._node.removeEventListener("error", t[n]._errorFn, !1), + t[n]._node.removeEventListener(r._canPlayEvent, t[n]._loadFn, !1), + t[n]._node.removeEventListener("ended", t[n]._endFn, !1), + r._releaseHtml5Audio(t[n]._node)), + delete t[n]._node, + e._clearTimer(t[n]._id) + var o = r._howls.indexOf(e) + o >= 0 && r._howls.splice(o, 1) + var _ = !0 + for (n = 0; n < r._howls.length; n++) + if (r._howls[n]._src === e._src || e._src.indexOf(r._howls[n]._src) >= 0) { + _ = !1 + break + } + return ( + d && _ && delete d[e._src], + (r.noAudio = !1), + (e._state = "unloaded"), + (e._sounds = []), + (e = null), + null + ) + }, + on: function (e, t, n, o) { + var _ = this, + l = _["_on" + e] + return typeof t == "function" && l.push(o ? { id: n, fn: t, once: o } : { id: n, fn: t }), _ + }, + off: function (e, t, n) { + var o = this, + _ = o["_on" + e], + l = 0 + if ((typeof t == "number" && ((n = t), (t = null)), t || n)) + for (l = 0; l < _.length; l++) { + var a = n === _[l].id + if ((t === _[l].fn && a) || (!t && a)) { + _.splice(l, 1) + break + } + } + else if (e) o["_on" + e] = [] + else { + var f = Object.keys(o) + for (l = 0; l < f.length; l++) + f[l].indexOf("_on") === 0 && Array.isArray(o[f[l]]) && (o[f[l]] = []) + } + return o + }, + once: function (e, t, n) { + var o = this + return o.on(e, t, n, 1), o + }, + _emit: function (e, t, n) { + for (var o = this, _ = o["_on" + e], l = _.length - 1; l >= 0; l--) + (!_[l].id || _[l].id === t || e === "load") && + (setTimeout( + function (a) { + a.call(this, t, n) + }.bind(o, _[l].fn), + 0, + ), + _[l].once && o.off(e, _[l].fn, _[l].id)) + return o._loadQueue(e), o + }, + _loadQueue: function (e) { + var t = this + if (t._queue.length > 0) { + var n = t._queue[0] + n.event === e && (t._queue.shift(), t._loadQueue()), e || n.action() + } + return t + }, + _ended: function (e) { + var t = this, + n = e._sprite + if ( + !t._webAudio && + e._node && + !e._node.paused && + !e._node.ended && + e._node.currentTime < e._stop + ) + return setTimeout(t._ended.bind(t, e), 100), t + var o = !!(e._loop || t._sprite[n][2]) + if ( + (t._emit("end", e._id), + !t._webAudio && o && t.stop(e._id, !0).play(e._id), + t._webAudio && o) + ) { + t._emit("play", e._id), + (e._seek = e._start || 0), + (e._rateSeek = 0), + (e._playStart = r.ctx.currentTime) + var _ = ((e._stop - e._start) * 1e3) / Math.abs(e._rate) + t._endTimers[e._id] = setTimeout(t._ended.bind(t, e), _) + } + return ( + t._webAudio && + !o && + ((e._paused = !0), + (e._ended = !0), + (e._seek = e._start || 0), + (e._rateSeek = 0), + t._clearTimer(e._id), + t._cleanBuffer(e._node), + r._autoSuspend()), + !t._webAudio && !o && t.stop(e._id, !0), + t + ) + }, + _clearTimer: function (e) { + var t = this + if (t._endTimers[e]) { + if (typeof t._endTimers[e] != "function") clearTimeout(t._endTimers[e]) + else { + var n = t._soundById(e) + n && n._node && n._node.removeEventListener("ended", t._endTimers[e], !1) + } + delete t._endTimers[e] + } + return t + }, + _soundById: function (e) { + for (var t = this, n = 0; n < t._sounds.length; n++) + if (e === t._sounds[n]._id) return t._sounds[n] + return null + }, + _inactiveSound: function () { + var e = this + e._drain() + for (var t = 0; t < e._sounds.length; t++) + if (e._sounds[t]._ended) return e._sounds[t].reset() + return new i(e) + }, + _drain: function () { + var e = this, + t = e._pool, + n = 0, + o = 0 + if (!(e._sounds.length < t)) { + for (o = 0; o < e._sounds.length; o++) e._sounds[o]._ended && n++ + for (o = e._sounds.length - 1; o >= 0; o--) { + if (n <= t) return + e._sounds[o]._ended && + (e._webAudio && e._sounds[o]._node && e._sounds[o]._node.disconnect(0), + e._sounds.splice(o, 1), + n--) + } + } + }, + _getSoundIds: function (e) { + var t = this + if (typeof e > "u") { + for (var n = [], o = 0; o < t._sounds.length; o++) n.push(t._sounds[o]._id) + return n + } else return [e] + }, + _refreshBuffer: function (e) { + var t = this + return ( + (e._node.bufferSource = r.ctx.createBufferSource()), + (e._node.bufferSource.buffer = d[t._src]), + e._panner + ? e._node.bufferSource.connect(e._panner) + : e._node.bufferSource.connect(e._node), + (e._node.bufferSource.loop = e._loop), + e._loop && + ((e._node.bufferSource.loopStart = e._start || 0), + (e._node.bufferSource.loopEnd = e._stop || 0)), + e._node.bufferSource.playbackRate.setValueAtTime(e._rate, r.ctx.currentTime), + t + ) + }, + _cleanBuffer: function (e) { + var t = this, + n = r._navigator && r._navigator.vendor.indexOf("Apple") >= 0 + if (!e.bufferSource) return t + if ( + r._scratchBuffer && + e.bufferSource && + ((e.bufferSource.onended = null), e.bufferSource.disconnect(0), n) + ) + try { + e.bufferSource.buffer = r._scratchBuffer + } catch {} + return (e.bufferSource = null), t + }, + _clearSound: function (e) { + var t = /MSIE |Trident\//.test(r._navigator && r._navigator.userAgent) + t || + (e.src = + "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA") + }, + } + var i = function (e) { + ;(this._parent = e), this.init() + } + i.prototype = { + init: function () { + var e = this, + t = e._parent + return ( + (e._muted = t._muted), + (e._loop = t._loop), + (e._volume = t._volume), + (e._rate = t._rate), + (e._seek = 0), + (e._paused = !0), + (e._ended = !0), + (e._sprite = "__default"), + (e._id = ++r._counter), + t._sounds.push(e), + e.create(), + e + ) + }, + create: function () { + var e = this, + t = e._parent, + n = r._muted || e._muted || e._parent._muted ? 0 : e._volume + return ( + t._webAudio + ? ((e._node = + typeof r.ctx.createGain > "u" + ? r.ctx.createGainNode() + : r.ctx.createGain()), + e._node.gain.setValueAtTime(n, r.ctx.currentTime), + (e._node.paused = !0), + e._node.connect(r.masterGain)) + : r.noAudio || + ((e._node = r._obtainHtml5Audio()), + (e._errorFn = e._errorListener.bind(e)), + e._node.addEventListener("error", e._errorFn, !1), + (e._loadFn = e._loadListener.bind(e)), + e._node.addEventListener(r._canPlayEvent, e._loadFn, !1), + (e._endFn = e._endListener.bind(e)), + e._node.addEventListener("ended", e._endFn, !1), + (e._node.src = t._src), + (e._node.preload = t._preload === !0 ? "auto" : t._preload), + (e._node.volume = n * r.volume()), + e._node.load()), + e + ) + }, + reset: function () { + var e = this, + t = e._parent + return ( + (e._muted = t._muted), + (e._loop = t._loop), + (e._volume = t._volume), + (e._rate = t._rate), + (e._seek = 0), + (e._rateSeek = 0), + (e._paused = !0), + (e._ended = !0), + (e._sprite = "__default"), + (e._id = ++r._counter), + e + ) + }, + _errorListener: function () { + var e = this + e._parent._emit("loaderror", e._id, e._node.error ? e._node.error.code : 0), + e._node.removeEventListener("error", e._errorFn, !1) + }, + _loadListener: function () { + var e = this, + t = e._parent + ;(t._duration = Math.ceil(e._node.duration * 10) / 10), + Object.keys(t._sprite).length === 0 && + (t._sprite = { __default: [0, t._duration * 1e3] }), + t._state !== "loaded" && ((t._state = "loaded"), t._emit("load"), t._loadQueue()), + e._node.removeEventListener(r._canPlayEvent, e._loadFn, !1) + }, + _endListener: function () { + var e = this, + t = e._parent + t._duration === 1 / 0 && + ((t._duration = Math.ceil(e._node.duration * 10) / 10), + t._sprite.__default[1] === 1 / 0 && (t._sprite.__default[1] = t._duration * 1e3), + t._ended(e)), + e._node.removeEventListener("ended", e._endFn, !1) + }, + } + var d = {}, + c = function (e) { + var t = e._src + if (d[t]) { + ;(e._duration = d[t].duration), s(e) + return + } + if (/^data:[^;]+;base64,/.test(t)) { + for ( + var n = atob(t.split(",")[1]), o = new Uint8Array(n.length), _ = 0; + _ < n.length; + ++_ + ) + o[_] = n.charCodeAt(_) + p(o.buffer, e) + } else { + var l = new XMLHttpRequest() + l.open(e._xhr.method, t, !0), + (l.withCredentials = e._xhr.withCredentials), + (l.responseType = "arraybuffer"), + e._xhr.headers && + Object.keys(e._xhr.headers).forEach(function (a) { + l.setRequestHeader(a, e._xhr.headers[a]) + }), + (l.onload = function () { + var a = (l.status + "")[0] + if (a !== "0" && a !== "2" && a !== "3") { + e._emit( + "loaderror", + null, + "Failed loading audio file with status: " + l.status + ".", + ) + return + } + p(l.response, e) + }), + (l.onerror = function () { + e._webAudio && + ((e._html5 = !0), + (e._webAudio = !1), + (e._sounds = []), + delete d[t], + e.load()) + }), + h(l) + } + }, + h = function (e) { + try { + e.send() + } catch { + e.onerror() + } + }, + p = function (e, t) { + var n = function () { + t._emit("loaderror", null, "Decoding audio data failed.") + }, + o = function (_) { + _ && t._sounds.length > 0 ? ((d[t._src] = _), s(t, _)) : n() + } + typeof Promise < "u" && r.ctx.decodeAudioData.length === 1 + ? r.ctx.decodeAudioData(e).then(o).catch(n) + : r.ctx.decodeAudioData(e, o, n) + }, + s = function (e, t) { + t && !e._duration && (e._duration = t.duration), + Object.keys(e._sprite).length === 0 && + (e._sprite = { __default: [0, e._duration * 1e3] }), + e._state !== "loaded" && ((e._state = "loaded"), e._emit("load"), e._loadQueue()) + }, + A = function () { + if (r.usingWebAudio) { + try { + typeof AudioContext < "u" + ? (r.ctx = new AudioContext()) + : typeof webkitAudioContext < "u" + ? (r.ctx = new webkitAudioContext()) + : (r.usingWebAudio = !1) + } catch { + r.usingWebAudio = !1 + } + r.ctx || (r.usingWebAudio = !1) + var e = /iP(hone|od|ad)/.test(r._navigator && r._navigator.platform), + t = r._navigator && r._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/), + n = t ? parseInt(t[1], 10) : null + if (e && n && n < 9) { + var o = /safari/.test(r._navigator && r._navigator.userAgent.toLowerCase()) + r._navigator && !o && (r.usingWebAudio = !1) + } + r.usingWebAudio && + ((r.masterGain = + typeof r.ctx.createGain > "u" ? r.ctx.createGainNode() : r.ctx.createGain()), + r.masterGain.gain.setValueAtTime(r._muted ? 0 : r._volume, r.ctx.currentTime), + r.masterGain.connect(r.ctx.destination)), + r._setup() + } + } + ;(b.Howler = r), + (b.Howl = u), + typeof S < "u" + ? ((S.HowlerGlobal = g), (S.Howler = r), (S.Howl = u), (S.Sound = i)) + : typeof window < "u" && + ((window.HowlerGlobal = g), (window.Howler = r), (window.Howl = u), (window.Sound = i)) + })() + /*! + * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported. + * + * howler.js v2.2.4 + * howlerjs.com + * + * (c) 2013-2020, James Simpson of GoldFire Studios + * goldfirestudios.com + * + * MIT License + */ ;(function () { + ;(HowlerGlobal.prototype._pos = [0, 0, 0]), + (HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0]), + (HowlerGlobal.prototype.stereo = function (r) { + var u = this + if (!u.ctx || !u.ctx.listener) return u + for (var i = u._howls.length - 1; i >= 0; i--) u._howls[i].stereo(r) + return u + }), + (HowlerGlobal.prototype.pos = function (r, u, i) { + var d = this + if (!d.ctx || !d.ctx.listener) return d + if ( + ((u = typeof u != "number" ? d._pos[1] : u), + (i = typeof i != "number" ? d._pos[2] : i), + typeof r == "number") + ) + (d._pos = [r, u, i]), + typeof d.ctx.listener.positionX < "u" + ? (d.ctx.listener.positionX.setTargetAtTime( + d._pos[0], + Howler.ctx.currentTime, + 0.1, + ), + d.ctx.listener.positionY.setTargetAtTime( + d._pos[1], + Howler.ctx.currentTime, + 0.1, + ), + d.ctx.listener.positionZ.setTargetAtTime( + d._pos[2], + Howler.ctx.currentTime, + 0.1, + )) + : d.ctx.listener.setPosition(d._pos[0], d._pos[1], d._pos[2]) + else return d._pos + return d + }), + (HowlerGlobal.prototype.orientation = function (r, u, i, d, c, h) { + var p = this + if (!p.ctx || !p.ctx.listener) return p + var s = p._orientation + if ( + ((u = typeof u != "number" ? s[1] : u), + (i = typeof i != "number" ? s[2] : i), + (d = typeof d != "number" ? s[3] : d), + (c = typeof c != "number" ? s[4] : c), + (h = typeof h != "number" ? s[5] : h), + typeof r == "number") + ) + (p._orientation = [r, u, i, d, c, h]), + typeof p.ctx.listener.forwardX < "u" + ? (p.ctx.listener.forwardX.setTargetAtTime(r, Howler.ctx.currentTime, 0.1), + p.ctx.listener.forwardY.setTargetAtTime(u, Howler.ctx.currentTime, 0.1), + p.ctx.listener.forwardZ.setTargetAtTime(i, Howler.ctx.currentTime, 0.1), + p.ctx.listener.upX.setTargetAtTime(d, Howler.ctx.currentTime, 0.1), + p.ctx.listener.upY.setTargetAtTime(c, Howler.ctx.currentTime, 0.1), + p.ctx.listener.upZ.setTargetAtTime(h, Howler.ctx.currentTime, 0.1)) + : p.ctx.listener.setOrientation(r, u, i, d, c, h) + else return s + return p + }), + (Howl.prototype.init = (function (r) { + return function (u) { + var i = this + return ( + (i._orientation = u.orientation || [1, 0, 0]), + (i._stereo = u.stereo || null), + (i._pos = u.pos || null), + (i._pannerAttr = { + coneInnerAngle: typeof u.coneInnerAngle < "u" ? u.coneInnerAngle : 360, + coneOuterAngle: typeof u.coneOuterAngle < "u" ? u.coneOuterAngle : 360, + coneOuterGain: typeof u.coneOuterGain < "u" ? u.coneOuterGain : 0, + distanceModel: typeof u.distanceModel < "u" ? u.distanceModel : "inverse", + maxDistance: typeof u.maxDistance < "u" ? u.maxDistance : 1e4, + panningModel: typeof u.panningModel < "u" ? u.panningModel : "HRTF", + refDistance: typeof u.refDistance < "u" ? u.refDistance : 1, + rolloffFactor: typeof u.rolloffFactor < "u" ? u.rolloffFactor : 1, + }), + (i._onstereo = u.onstereo ? [{ fn: u.onstereo }] : []), + (i._onpos = u.onpos ? [{ fn: u.onpos }] : []), + (i._onorientation = u.onorientation ? [{ fn: u.onorientation }] : []), + r.call(this, u) + ) + } + })(Howl.prototype.init)), + (Howl.prototype.stereo = function (r, u) { + var i = this + if (!i._webAudio) return i + if (i._state !== "loaded") + return ( + i._queue.push({ + event: "stereo", + action: function () { + i.stereo(r, u) + }, + }), + i + ) + var d = typeof Howler.ctx.createStereoPanner > "u" ? "spatial" : "stereo" + if (typeof u > "u") + if (typeof r == "number") (i._stereo = r), (i._pos = [r, 0, 0]) + else return i._stereo + for (var c = i._getSoundIds(u), h = 0; h < c.length; h++) { + var p = i._soundById(c[h]) + if (p) + if (typeof r == "number") + (p._stereo = r), + (p._pos = [r, 0, 0]), + p._node && + ((p._pannerAttr.panningModel = "equalpower"), + (!p._panner || !p._panner.pan) && g(p, d), + d === "spatial" + ? typeof p._panner.positionX < "u" + ? (p._panner.positionX.setValueAtTime( + r, + Howler.ctx.currentTime, + ), + p._panner.positionY.setValueAtTime( + 0, + Howler.ctx.currentTime, + ), + p._panner.positionZ.setValueAtTime( + 0, + Howler.ctx.currentTime, + )) + : p._panner.setPosition(r, 0, 0) + : p._panner.pan.setValueAtTime(r, Howler.ctx.currentTime)), + i._emit("stereo", p._id) + else return p._stereo + } + return i + }), + (Howl.prototype.pos = function (r, u, i, d) { + var c = this + if (!c._webAudio) return c + if (c._state !== "loaded") + return ( + c._queue.push({ + event: "pos", + action: function () { + c.pos(r, u, i, d) + }, + }), + c + ) + if ( + ((u = typeof u != "number" ? 0 : u), + (i = typeof i != "number" ? -0.5 : i), + typeof d > "u") + ) + if (typeof r == "number") c._pos = [r, u, i] + else return c._pos + for (var h = c._getSoundIds(d), p = 0; p < h.length; p++) { + var s = c._soundById(h[p]) + if (s) + if (typeof r == "number") + (s._pos = [r, u, i]), + s._node && + ((!s._panner || s._panner.pan) && g(s, "spatial"), + typeof s._panner.positionX < "u" + ? (s._panner.positionX.setValueAtTime(r, Howler.ctx.currentTime), + s._panner.positionY.setValueAtTime(u, Howler.ctx.currentTime), + s._panner.positionZ.setValueAtTime(i, Howler.ctx.currentTime)) + : s._panner.setPosition(r, u, i)), + c._emit("pos", s._id) + else return s._pos + } + return c + }), + (Howl.prototype.orientation = function (r, u, i, d) { + var c = this + if (!c._webAudio) return c + if (c._state !== "loaded") + return ( + c._queue.push({ + event: "orientation", + action: function () { + c.orientation(r, u, i, d) + }, + }), + c + ) + if ( + ((u = typeof u != "number" ? c._orientation[1] : u), + (i = typeof i != "number" ? c._orientation[2] : i), + typeof d > "u") + ) + if (typeof r == "number") c._orientation = [r, u, i] + else return c._orientation + for (var h = c._getSoundIds(d), p = 0; p < h.length; p++) { + var s = c._soundById(h[p]) + if (s) + if (typeof r == "number") + (s._orientation = [r, u, i]), + s._node && + (s._panner || + (s._pos || (s._pos = c._pos || [0, 0, -0.5]), g(s, "spatial")), + typeof s._panner.orientationX < "u" + ? (s._panner.orientationX.setValueAtTime(r, Howler.ctx.currentTime), + s._panner.orientationY.setValueAtTime( + u, + Howler.ctx.currentTime, + ), + s._panner.orientationZ.setValueAtTime( + i, + Howler.ctx.currentTime, + )) + : s._panner.setOrientation(r, u, i)), + c._emit("orientation", s._id) + else return s._orientation + } + return c + }), + (Howl.prototype.pannerAttr = function () { + var r = this, + u = arguments, + i, + d, + c + if (!r._webAudio) return r + if (u.length === 0) return r._pannerAttr + if (u.length === 1) + if (typeof u[0] == "object") + (i = u[0]), + typeof d > "u" && + (i.pannerAttr || + (i.pannerAttr = { + coneInnerAngle: i.coneInnerAngle, + coneOuterAngle: i.coneOuterAngle, + coneOuterGain: i.coneOuterGain, + distanceModel: i.distanceModel, + maxDistance: i.maxDistance, + refDistance: i.refDistance, + rolloffFactor: i.rolloffFactor, + panningModel: i.panningModel, + }), + (r._pannerAttr = { + coneInnerAngle: + typeof i.pannerAttr.coneInnerAngle < "u" + ? i.pannerAttr.coneInnerAngle + : r._coneInnerAngle, + coneOuterAngle: + typeof i.pannerAttr.coneOuterAngle < "u" + ? i.pannerAttr.coneOuterAngle + : r._coneOuterAngle, + coneOuterGain: + typeof i.pannerAttr.coneOuterGain < "u" + ? i.pannerAttr.coneOuterGain + : r._coneOuterGain, + distanceModel: + typeof i.pannerAttr.distanceModel < "u" + ? i.pannerAttr.distanceModel + : r._distanceModel, + maxDistance: + typeof i.pannerAttr.maxDistance < "u" + ? i.pannerAttr.maxDistance + : r._maxDistance, + refDistance: + typeof i.pannerAttr.refDistance < "u" + ? i.pannerAttr.refDistance + : r._refDistance, + rolloffFactor: + typeof i.pannerAttr.rolloffFactor < "u" + ? i.pannerAttr.rolloffFactor + : r._rolloffFactor, + panningModel: + typeof i.pannerAttr.panningModel < "u" + ? i.pannerAttr.panningModel + : r._panningModel, + })) + else return (c = r._soundById(parseInt(u[0], 10))), c ? c._pannerAttr : r._pannerAttr + else u.length === 2 && ((i = u[0]), (d = parseInt(u[1], 10))) + for (var h = r._getSoundIds(d), p = 0; p < h.length; p++) + if (((c = r._soundById(h[p])), c)) { + var s = c._pannerAttr + s = { + coneInnerAngle: + typeof i.coneInnerAngle < "u" ? i.coneInnerAngle : s.coneInnerAngle, + coneOuterAngle: + typeof i.coneOuterAngle < "u" ? i.coneOuterAngle : s.coneOuterAngle, + coneOuterGain: typeof i.coneOuterGain < "u" ? i.coneOuterGain : s.coneOuterGain, + distanceModel: typeof i.distanceModel < "u" ? i.distanceModel : s.distanceModel, + maxDistance: typeof i.maxDistance < "u" ? i.maxDistance : s.maxDistance, + refDistance: typeof i.refDistance < "u" ? i.refDistance : s.refDistance, + rolloffFactor: typeof i.rolloffFactor < "u" ? i.rolloffFactor : s.rolloffFactor, + panningModel: typeof i.panningModel < "u" ? i.panningModel : s.panningModel, + } + var A = c._panner + A || + (c._pos || (c._pos = r._pos || [0, 0, -0.5]), g(c, "spatial"), (A = c._panner)), + (A.coneInnerAngle = s.coneInnerAngle), + (A.coneOuterAngle = s.coneOuterAngle), + (A.coneOuterGain = s.coneOuterGain), + (A.distanceModel = s.distanceModel), + (A.maxDistance = s.maxDistance), + (A.refDistance = s.refDistance), + (A.rolloffFactor = s.rolloffFactor), + (A.panningModel = s.panningModel) + } + return r + }), + (Sound.prototype.init = (function (r) { + return function () { + var u = this, + i = u._parent + ;(u._orientation = i._orientation), + (u._stereo = i._stereo), + (u._pos = i._pos), + (u._pannerAttr = i._pannerAttr), + r.call(this), + u._stereo + ? i.stereo(u._stereo) + : u._pos && i.pos(u._pos[0], u._pos[1], u._pos[2], u._id) + } + })(Sound.prototype.init)), + (Sound.prototype.reset = (function (r) { + return function () { + var u = this, + i = u._parent + return ( + (u._orientation = i._orientation), + (u._stereo = i._stereo), + (u._pos = i._pos), + (u._pannerAttr = i._pannerAttr), + u._stereo + ? i.stereo(u._stereo) + : u._pos + ? i.pos(u._pos[0], u._pos[1], u._pos[2], u._id) + : u._panner && + (u._panner.disconnect(0), (u._panner = void 0), i._refreshBuffer(u)), + r.call(this) + ) + } + })(Sound.prototype.reset)) + var g = function (r, u) { + ;(u = u || "spatial"), + u === "spatial" + ? ((r._panner = Howler.ctx.createPanner()), + (r._panner.coneInnerAngle = r._pannerAttr.coneInnerAngle), + (r._panner.coneOuterAngle = r._pannerAttr.coneOuterAngle), + (r._panner.coneOuterGain = r._pannerAttr.coneOuterGain), + (r._panner.distanceModel = r._pannerAttr.distanceModel), + (r._panner.maxDistance = r._pannerAttr.maxDistance), + (r._panner.refDistance = r._pannerAttr.refDistance), + (r._panner.rolloffFactor = r._pannerAttr.rolloffFactor), + (r._panner.panningModel = r._pannerAttr.panningModel), + typeof r._panner.positionX < "u" + ? (r._panner.positionX.setValueAtTime(r._pos[0], Howler.ctx.currentTime), + r._panner.positionY.setValueAtTime(r._pos[1], Howler.ctx.currentTime), + r._panner.positionZ.setValueAtTime(r._pos[2], Howler.ctx.currentTime)) + : r._panner.setPosition(r._pos[0], r._pos[1], r._pos[2]), + typeof r._panner.orientationX < "u" + ? (r._panner.orientationX.setValueAtTime( + r._orientation[0], + Howler.ctx.currentTime, + ), + r._panner.orientationY.setValueAtTime( + r._orientation[1], + Howler.ctx.currentTime, + ), + r._panner.orientationZ.setValueAtTime( + r._orientation[2], + Howler.ctx.currentTime, + )) + : r._panner.setOrientation( + r._orientation[0], + r._orientation[1], + r._orientation[2], + )) + : ((r._panner = Howler.ctx.createStereoPanner()), + r._panner.pan.setValueAtTime(r._stereo, Howler.ctx.currentTime)), + r._panner.connect(r._node), + r._paused || r._parent.pause(r._id, !0).play(r._id, !0) + } + })() + })(O)), + O + ) +} +var B = V() +const C = G(B), + q = E({ __proto__: null, default: C }, [B]) +export { q as h } +//# sourceMappingURL=chunk-pO14Kfwb.js.map diff --git a/src/webview-ui/build/assets/chunk-pO14Kfwb.js.map b/src/webview-ui/build/assets/chunk-pO14Kfwb.js.map new file mode 100644 index 0000000000..ec0ed56dd9 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-pO14Kfwb.js.map @@ -0,0 +1,138 @@ +{ + "version": 3, + "file": "chunk-pO14Kfwb.js", + "sources": [ + "../../../../node_modules/.pnpm/howler@2.2.4/node_modules/howler/dist/howler.js" + ], + "sourcesContent": [ + "/*!\n * howler.js v2.2.4\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Create the global controller. All contained methods and properties apply\n * to all sounds that are currently playing or will be in the future.\n */\n var HowlerGlobal = function() {\n this.init();\n };\n HowlerGlobal.prototype = {\n /**\n * Initialize the global Howler object.\n * @return {Howler}\n */\n init: function() {\n var self = this || Howler;\n\n // Create a global ID counter.\n self._counter = 1000;\n\n // Pool of unlocked HTML5 Audio objects.\n self._html5AudioPool = [];\n self.html5PoolSize = 10;\n\n // Internal properties.\n self._codecs = {};\n self._howls = [];\n self._muted = false;\n self._volume = 1;\n self._canPlayEvent = 'canplaythrough';\n self._navigator = (typeof window !== 'undefined' && window.navigator) ? window.navigator : null;\n\n // Public properties.\n self.masterGain = null;\n self.noAudio = false;\n self.usingWebAudio = true;\n self.autoSuspend = true;\n self.ctx = null;\n\n // Set to false to disable the auto audio unlocker.\n self.autoUnlock = true;\n\n // Setup the various state values for global tracking.\n self._setup();\n\n return self;\n },\n\n /**\n * Get/set the global volume for all sounds.\n * @param {Float} vol Volume from 0.0 to 1.0.\n * @return {Howler/Float} Returns self or current volume.\n */\n volume: function(vol) {\n var self = this || Howler;\n vol = parseFloat(vol);\n\n // If we don't have an AudioContext created yet, run the setup.\n if (!self.ctx) {\n setupAudioContext();\n }\n\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n self._volume = vol;\n\n // Don't update any of the nodes if we are muted.\n if (self._muted) {\n return self;\n }\n\n // When using Web Audio, we just need to adjust the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n }\n\n // Loop through and change volume for all HTML5 audio nodes.\n for (var i=0; i<self._howls.length; i++) {\n if (!self._howls[i]._webAudio) {\n // Get all of the sounds in this Howl group.\n var ids = self._howls[i]._getSoundIds();\n\n // Loop through all sounds and change the volumes.\n for (var j=0; j<ids.length; j++) {\n var sound = self._howls[i]._soundById(ids[j]);\n\n if (sound && sound._node) {\n sound._node.volume = sound._volume * vol;\n }\n }\n }\n }\n\n return self;\n }\n\n return self._volume;\n },\n\n /**\n * Handle muting and unmuting globally.\n * @param {Boolean} muted Is muted or not.\n */\n mute: function(muted) {\n var self = this || Howler;\n\n // If we don't have an AudioContext created yet, run the setup.\n if (!self.ctx) {\n setupAudioContext();\n }\n\n self._muted = muted;\n\n // With Web Audio, we just need to mute the master gain.\n if (self.usingWebAudio) {\n self.masterGain.gain.setValueAtTime(muted ? 0 : self._volume, Howler.ctx.currentTime);\n }\n\n // Loop through and mute all HTML5 Audio nodes.\n for (var i=0; i<self._howls.length; i++) {\n if (!self._howls[i]._webAudio) {\n // Get all of the sounds in this Howl group.\n var ids = self._howls[i]._getSoundIds();\n\n // Loop through all sounds and mark the audio node as muted.\n for (var j=0; j<ids.length; j++) {\n var sound = self._howls[i]._soundById(ids[j]);\n\n if (sound && sound._node) {\n sound._node.muted = (muted) ? true : sound._muted;\n }\n }\n }\n }\n\n return self;\n },\n\n /**\n * Handle stopping all sounds globally.\n */\n stop: function() {\n var self = this || Howler;\n\n // Loop through all Howls and stop them.\n for (var i=0; i<self._howls.length; i++) {\n self._howls[i].stop();\n }\n\n return self;\n },\n\n /**\n * Unload and destroy all currently loaded Howl objects.\n * @return {Howler}\n */\n unload: function() {\n var self = this || Howler;\n\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].unload();\n }\n\n // Create a new AudioContext to make sure it is fully reset.\n if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== 'undefined') {\n self.ctx.close();\n self.ctx = null;\n setupAudioContext();\n }\n\n return self;\n },\n\n /**\n * Check for codec support of specific extension.\n * @param {String} ext Audio file extention.\n * @return {Boolean}\n */\n codecs: function(ext) {\n return (this || Howler)._codecs[ext.replace(/^x-/, '')];\n },\n\n /**\n * Setup various state values for global tracking.\n * @return {Howler}\n */\n _setup: function() {\n var self = this || Howler;\n\n // Keeps track of the suspend/resume state of the AudioContext.\n self.state = self.ctx ? self.ctx.state || 'suspended' : 'suspended';\n\n // Automatically begin the 30-second suspend process\n self._autoSuspend();\n\n // Check if audio is available.\n if (!self.usingWebAudio) {\n // No audio is available on this system if noAudio is set to true.\n if (typeof Audio !== 'undefined') {\n try {\n var test = new Audio();\n\n // Check if the canplaythrough event is available.\n if (typeof test.oncanplaythrough === 'undefined') {\n self._canPlayEvent = 'canplay';\n }\n } catch(e) {\n self.noAudio = true;\n }\n } else {\n self.noAudio = true;\n }\n }\n\n // Test to make sure audio isn't disabled in Internet Explorer.\n try {\n var test = new Audio();\n if (test.muted) {\n self.noAudio = true;\n }\n } catch (e) {}\n\n // Check for supported codecs.\n if (!self.noAudio) {\n self._setupCodecs();\n }\n\n return self;\n },\n\n /**\n * Check for browser support for various codecs and cache the results.\n * @return {Howler}\n */\n _setupCodecs: function() {\n var self = this || Howler;\n var audioTest = null;\n\n // Must wrap in a try/catch because IE11 in server mode throws an error.\n try {\n audioTest = (typeof Audio !== 'undefined') ? new Audio() : null;\n } catch (err) {\n return self;\n }\n\n if (!audioTest || typeof audioTest.canPlayType !== 'function') {\n return self;\n }\n\n var mpegTest = audioTest.canPlayType('audio/mpeg;').replace(/^no$/, '');\n\n // Opera version <33 has mixed MP3 support, so we need to check for and block it.\n var ua = self._navigator ? self._navigator.userAgent : '';\n var checkOpera = ua.match(/OPR\\/(\\d+)/g);\n var isOldOpera = (checkOpera && parseInt(checkOpera[0].split('/')[1], 10) < 33);\n var checkSafari = ua.indexOf('Safari') !== -1 && ua.indexOf('Chrome') === -1;\n var safariVersion = ua.match(/Version\\/(.*?) /);\n var isOldSafari = (checkSafari && safariVersion && parseInt(safariVersion[1], 10) < 15);\n\n self._codecs = {\n mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType('audio/mp3;').replace(/^no$/, ''))),\n mpeg: !!mpegTest,\n opus: !!audioTest.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/, ''),\n ogg: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n oga: !!audioTest.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/, ''),\n wav: !!(audioTest.canPlayType('audio/wav; codecs=\"1\"') || audioTest.canPlayType('audio/wav')).replace(/^no$/, ''),\n aac: !!audioTest.canPlayType('audio/aac;').replace(/^no$/, ''),\n caf: !!audioTest.canPlayType('audio/x-caf;').replace(/^no$/, ''),\n m4a: !!(audioTest.canPlayType('audio/x-m4a;') || audioTest.canPlayType('audio/m4a;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n m4b: !!(audioTest.canPlayType('audio/x-m4b;') || audioTest.canPlayType('audio/m4b;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n mp4: !!(audioTest.canPlayType('audio/x-mp4;') || audioTest.canPlayType('audio/mp4;') || audioTest.canPlayType('audio/aac;')).replace(/^no$/, ''),\n weba: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n webm: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/, '')),\n dolby: !!audioTest.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/, ''),\n flac: !!(audioTest.canPlayType('audio/x-flac;') || audioTest.canPlayType('audio/flac;')).replace(/^no$/, '')\n };\n\n return self;\n },\n\n /**\n * Some browsers/devices will only allow audio to be played after a user interaction.\n * Attempt to automatically unlock audio on the first user interaction.\n * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/\n * @return {Howler}\n */\n _unlockAudio: function() {\n var self = this || Howler;\n\n // Only run this if Web Audio is supported and it hasn't already been unlocked.\n if (self._audioUnlocked || !self.ctx) {\n return;\n }\n\n self._audioUnlocked = false;\n self.autoUnlock = false;\n\n // Some mobile devices/platforms have distortion issues when opening/closing tabs and/or web views.\n // Bugs in the browser (especially Mobile Safari) can cause the sampleRate to change from 44100 to 48000.\n // By calling Howler.unload(), we create a new AudioContext with the correct sampleRate.\n if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {\n self._mobileUnloaded = true;\n self.unload();\n }\n\n // Scratch buffer for enabling iOS to dispose of web audio buffers correctly, as per:\n // http://stackoverflow.com/questions/24119684\n self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);\n\n // Call this method on touch start to create and play a buffer,\n // then check if the audio actually played to determine if\n // audio has now been unlocked on iOS, Android, etc.\n var unlock = function(e) {\n // Create a pool of unlocked HTML5 Audio objects that can\n // be used for playing sounds without user interaction. HTML5\n // Audio objects must be individually unlocked, as opposed\n // to the WebAudio API which only needs a single activation.\n // This must occur before WebAudio setup or the source.onended\n // event will not fire.\n while (self._html5AudioPool.length < self.html5PoolSize) {\n try {\n var audioNode = new Audio();\n\n // Mark this Audio object as unlocked to ensure it can get returned\n // to the unlocked pool when released.\n audioNode._unlocked = true;\n\n // Add the audio node to the pool.\n self._releaseHtml5Audio(audioNode);\n } catch (e) {\n self.noAudio = true;\n break;\n }\n }\n\n // Loop through any assigned audio nodes and unlock them.\n for (var i=0; i<self._howls.length; i++) {\n if (!self._howls[i]._webAudio) {\n // Get all of the sounds in this Howl group.\n var ids = self._howls[i]._getSoundIds();\n\n // Loop through all sounds and unlock the audio nodes.\n for (var j=0; j<ids.length; j++) {\n var sound = self._howls[i]._soundById(ids[j]);\n\n if (sound && sound._node && !sound._node._unlocked) {\n sound._node._unlocked = true;\n sound._node.load();\n }\n }\n }\n }\n\n // Fix Android can not play in suspend state.\n self._autoResume();\n\n // Create an empty buffer.\n var source = self.ctx.createBufferSource();\n source.buffer = self._scratchBuffer;\n source.connect(self.ctx.destination);\n\n // Play the empty buffer.\n if (typeof source.start === 'undefined') {\n source.noteOn(0);\n } else {\n source.start(0);\n }\n\n // Calling resume() on a stack initiated by user gesture is what actually unlocks the audio on Android Chrome >= 55.\n if (typeof self.ctx.resume === 'function') {\n self.ctx.resume();\n }\n\n // Setup a timeout to check that we are unlocked on the next event loop.\n source.onended = function() {\n source.disconnect(0);\n\n // Update the unlocked state and prevent this check from happening again.\n self._audioUnlocked = true;\n\n // Remove the touch start listener.\n document.removeEventListener('touchstart', unlock, true);\n document.removeEventListener('touchend', unlock, true);\n document.removeEventListener('click', unlock, true);\n document.removeEventListener('keydown', unlock, true);\n\n // Let all sounds know that audio has been unlocked.\n for (var i=0; i<self._howls.length; i++) {\n self._howls[i]._emit('unlock');\n }\n };\n };\n\n // Setup a touch start listener to attempt an unlock in.\n document.addEventListener('touchstart', unlock, true);\n document.addEventListener('touchend', unlock, true);\n document.addEventListener('click', unlock, true);\n document.addEventListener('keydown', unlock, true);\n\n return self;\n },\n\n /**\n * Get an unlocked HTML5 Audio object from the pool. If none are left,\n * return a new Audio object and throw a warning.\n * @return {Audio} HTML5 Audio object.\n */\n _obtainHtml5Audio: function() {\n var self = this || Howler;\n\n // Return the next object from the pool if one exists.\n if (self._html5AudioPool.length) {\n return self._html5AudioPool.pop();\n }\n\n //.Check if the audio is locked and throw a warning.\n var testPlay = new Audio().play();\n if (testPlay && typeof Promise !== 'undefined' && (testPlay instanceof Promise || typeof testPlay.then === 'function')) {\n testPlay.catch(function() {\n console.warn('HTML5 Audio pool exhausted, returning potentially locked audio object.');\n });\n }\n\n return new Audio();\n },\n\n /**\n * Return an activated HTML5 Audio object to the pool.\n * @return {Howler}\n */\n _releaseHtml5Audio: function(audio) {\n var self = this || Howler;\n\n // Don't add audio to the pool if we don't know if it has been unlocked.\n if (audio._unlocked) {\n self._html5AudioPool.push(audio);\n }\n\n return self;\n },\n\n /**\n * Automatically suspend the Web Audio AudioContext after no sound has played for 30 seconds.\n * This saves processing/energy and fixes various browser-specific bugs with audio getting stuck.\n * @return {Howler}\n */\n _autoSuspend: function() {\n var self = this;\n\n if (!self.autoSuspend || !self.ctx || typeof self.ctx.suspend === 'undefined' || !Howler.usingWebAudio) {\n return;\n }\n\n // Check if any sounds are playing.\n for (var i=0; i<self._howls.length; i++) {\n if (self._howls[i]._webAudio) {\n for (var j=0; j<self._howls[i]._sounds.length; j++) {\n if (!self._howls[i]._sounds[j]._paused) {\n return self;\n }\n }\n }\n }\n\n if (self._suspendTimer) {\n clearTimeout(self._suspendTimer);\n }\n\n // If no sound has played after 30 seconds, suspend the context.\n self._suspendTimer = setTimeout(function() {\n if (!self.autoSuspend) {\n return;\n }\n\n self._suspendTimer = null;\n self.state = 'suspending';\n\n // Handle updating the state of the audio context after suspending.\n var handleSuspension = function() {\n self.state = 'suspended';\n\n if (self._resumeAfterSuspend) {\n delete self._resumeAfterSuspend;\n self._autoResume();\n }\n };\n\n // Either the state gets suspended or it is interrupted.\n // Either way, we need to update the state to suspended.\n self.ctx.suspend().then(handleSuspension, handleSuspension);\n }, 30000);\n\n return self;\n },\n\n /**\n * Automatically resume the Web Audio AudioContext when a new sound is played.\n * @return {Howler}\n */\n _autoResume: function() {\n var self = this;\n\n if (!self.ctx || typeof self.ctx.resume === 'undefined' || !Howler.usingWebAudio) {\n return;\n }\n\n if (self.state === 'running' && self.ctx.state !== 'interrupted' && self._suspendTimer) {\n clearTimeout(self._suspendTimer);\n self._suspendTimer = null;\n } else if (self.state === 'suspended' || self.state === 'running' && self.ctx.state === 'interrupted') {\n self.ctx.resume().then(function() {\n self.state = 'running';\n\n // Emit to all Howls that the audio has resumed.\n for (var i=0; i<self._howls.length; i++) {\n self._howls[i]._emit('resume');\n }\n });\n\n if (self._suspendTimer) {\n clearTimeout(self._suspendTimer);\n self._suspendTimer = null;\n }\n } else if (self.state === 'suspending') {\n self._resumeAfterSuspend = true;\n }\n\n return self;\n }\n };\n\n // Setup the global audio controller.\n var Howler = new HowlerGlobal();\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Create an audio group controller.\n * @param {Object} o Passed in properties for this group.\n */\n var Howl = function(o) {\n var self = this;\n\n // Throw an error if no source is provided.\n if (!o.src || o.src.length === 0) {\n console.error('An array of source files must be passed with any new Howl.');\n return;\n }\n\n self.init(o);\n };\n Howl.prototype = {\n /**\n * Initialize a new Howl group object.\n * @param {Object} o Passed in properties for this group.\n * @return {Howl}\n */\n init: function(o) {\n var self = this;\n\n // If we don't have an AudioContext created yet, run the setup.\n if (!Howler.ctx) {\n setupAudioContext();\n }\n\n // Setup user-defined default properties.\n self._autoplay = o.autoplay || false;\n self._format = (typeof o.format !== 'string') ? o.format : [o.format];\n self._html5 = o.html5 || false;\n self._muted = o.mute || false;\n self._loop = o.loop || false;\n self._pool = o.pool || 5;\n self._preload = (typeof o.preload === 'boolean' || o.preload === 'metadata') ? o.preload : true;\n self._rate = o.rate || 1;\n self._sprite = o.sprite || {};\n self._src = (typeof o.src !== 'string') ? o.src : [o.src];\n self._volume = o.volume !== undefined ? o.volume : 1;\n self._xhr = {\n method: o.xhr && o.xhr.method ? o.xhr.method : 'GET',\n headers: o.xhr && o.xhr.headers ? o.xhr.headers : null,\n withCredentials: o.xhr && o.xhr.withCredentials ? o.xhr.withCredentials : false,\n };\n\n // Setup all other default properties.\n self._duration = 0;\n self._state = 'unloaded';\n self._sounds = [];\n self._endTimers = {};\n self._queue = [];\n self._playLock = false;\n\n // Setup event listeners.\n self._onend = o.onend ? [{fn: o.onend}] : [];\n self._onfade = o.onfade ? [{fn: o.onfade}] : [];\n self._onload = o.onload ? [{fn: o.onload}] : [];\n self._onloaderror = o.onloaderror ? [{fn: o.onloaderror}] : [];\n self._onplayerror = o.onplayerror ? [{fn: o.onplayerror}] : [];\n self._onpause = o.onpause ? [{fn: o.onpause}] : [];\n self._onplay = o.onplay ? [{fn: o.onplay}] : [];\n self._onstop = o.onstop ? [{fn: o.onstop}] : [];\n self._onmute = o.onmute ? [{fn: o.onmute}] : [];\n self._onvolume = o.onvolume ? [{fn: o.onvolume}] : [];\n self._onrate = o.onrate ? [{fn: o.onrate}] : [];\n self._onseek = o.onseek ? [{fn: o.onseek}] : [];\n self._onunlock = o.onunlock ? [{fn: o.onunlock}] : [];\n self._onresume = [];\n\n // Web Audio or HTML5 Audio?\n self._webAudio = Howler.usingWebAudio && !self._html5;\n\n // Automatically try to enable audio.\n if (typeof Howler.ctx !== 'undefined' && Howler.ctx && Howler.autoUnlock) {\n Howler._unlockAudio();\n }\n\n // Keep track of this Howl group in the global controller.\n Howler._howls.push(self);\n\n // If they selected autoplay, add a play event to the load queue.\n if (self._autoplay) {\n self._queue.push({\n event: 'play',\n action: function() {\n self.play();\n }\n });\n }\n\n // Load the source file unless otherwise specified.\n if (self._preload && self._preload !== 'none') {\n self.load();\n }\n\n return self;\n },\n\n /**\n * Load the audio file.\n * @return {Howler}\n */\n load: function() {\n var self = this;\n var url = null;\n\n // If no audio is available, quit immediately.\n if (Howler.noAudio) {\n self._emit('loaderror', null, 'No audio support.');\n return;\n }\n\n // Make sure our source is in an array.\n if (typeof self._src === 'string') {\n self._src = [self._src];\n }\n\n // Loop through the sources and pick the first one that is compatible.\n for (var i=0; i<self._src.length; i++) {\n var ext, str;\n\n if (self._format && self._format[i]) {\n // If an extension was specified, use that instead.\n ext = self._format[i];\n } else {\n // Make sure the source is a string.\n str = self._src[i];\n if (typeof str !== 'string') {\n self._emit('loaderror', null, 'Non-string found in selected audio sources - ignoring.');\n continue;\n }\n\n // Extract the file extension from the URL or base64 data URI.\n ext = /^data:audio\\/([^;,]+);/i.exec(str);\n if (!ext) {\n ext = /\\.([^.]+)$/.exec(str.split('?', 1)[0]);\n }\n\n if (ext) {\n ext = ext[1].toLowerCase();\n }\n }\n\n // Log a warning if no extension was found.\n if (!ext) {\n console.warn('No file extension was found. Consider using the \"format\" property or specify an extension.');\n }\n\n // Check if this extension is available.\n if (ext && Howler.codecs(ext)) {\n url = self._src[i];\n break;\n }\n }\n\n if (!url) {\n self._emit('loaderror', null, 'No codec support for selected audio sources.');\n return;\n }\n\n self._src = url;\n self._state = 'loading';\n\n // If the hosting page is HTTPS and the source isn't,\n // drop down to HTML5 Audio to avoid Mixed Content errors.\n if (window.location.protocol === 'https:' && url.slice(0, 5) === 'http:') {\n self._html5 = true;\n self._webAudio = false;\n }\n\n // Create a new sound object and add it to the pool.\n new Sound(self);\n\n // Load and decode the audio data for playback.\n if (self._webAudio) {\n loadBuffer(self);\n }\n\n return self;\n },\n\n /**\n * Play a sound or resume previous playback.\n * @param {String/Number} sprite Sprite name for sprite playback or sound id to continue previous.\n * @param {Boolean} internal Internal Use: true prevents event firing.\n * @return {Number} Sound ID.\n */\n play: function(sprite, internal) {\n var self = this;\n var id = null;\n\n // Determine if a sprite, sound id or nothing was passed\n if (typeof sprite === 'number') {\n id = sprite;\n sprite = null;\n } else if (typeof sprite === 'string' && self._state === 'loaded' && !self._sprite[sprite]) {\n // If the passed sprite doesn't exist, do nothing.\n return null;\n } else if (typeof sprite === 'undefined') {\n // Use the default sound sprite (plays the full audio length).\n sprite = '__default';\n\n // Check if there is a single paused sound that isn't ended.\n // If there is, play that sound. If not, continue as usual.\n if (!self._playLock) {\n var num = 0;\n for (var i=0; i<self._sounds.length; i++) {\n if (self._sounds[i]._paused && !self._sounds[i]._ended) {\n num++;\n id = self._sounds[i]._id;\n }\n }\n\n if (num === 1) {\n sprite = null;\n } else {\n id = null;\n }\n }\n }\n\n // Get the selected node, or get one from the pool.\n var sound = id ? self._soundById(id) : self._inactiveSound();\n\n // If the sound doesn't exist, do nothing.\n if (!sound) {\n return null;\n }\n\n // Select the sprite definition.\n if (id && !sprite) {\n sprite = sound._sprite || '__default';\n }\n\n // If the sound hasn't loaded, we must wait to get the audio's duration.\n // We also need to wait to make sure we don't run into race conditions with\n // the order of function calls.\n if (self._state !== 'loaded') {\n // Set the sprite value on this sound.\n sound._sprite = sprite;\n\n // Mark this sound as not ended in case another sound is played before this one loads.\n sound._ended = false;\n\n // Add the sound to the queue to be played on load.\n var soundId = sound._id;\n self._queue.push({\n event: 'play',\n action: function() {\n self.play(soundId);\n }\n });\n\n return soundId;\n }\n\n // Don't play the sound if an id was passed and it is already playing.\n if (id && !sound._paused) {\n // Trigger the play event, in order to keep iterating through queue.\n if (!internal) {\n self._loadQueue('play');\n }\n\n return sound._id;\n }\n\n // Make sure the AudioContext isn't suspended, and resume it if it is.\n if (self._webAudio) {\n Howler._autoResume();\n }\n\n // Determine how long to play for and where to start playing.\n var seek = Math.max(0, sound._seek > 0 ? sound._seek : self._sprite[sprite][0] / 1000);\n var duration = Math.max(0, ((self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000) - seek);\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n var start = self._sprite[sprite][0] / 1000;\n var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1000;\n sound._sprite = sprite;\n\n // Mark the sound as ended instantly so that this async playback\n // doesn't get grabbed by another call to play while this one waits to start.\n sound._ended = false;\n\n // Update the parameters of the sound.\n var setParams = function() {\n sound._paused = false;\n sound._seek = seek;\n sound._start = start;\n sound._stop = stop;\n sound._loop = !!(sound._loop || self._sprite[sprite][2]);\n };\n\n // End the sound instantly if seek is at the end.\n if (seek >= stop) {\n self._ended(sound);\n return;\n }\n\n // Begin the actual playback.\n var node = sound._node;\n if (self._webAudio) {\n // Fire this when the sound is ready to play to begin Web Audio playback.\n var playWebAudio = function() {\n self._playLock = false;\n setParams();\n self._refreshBuffer(sound);\n\n // Setup the playback params.\n var vol = (sound._muted || self._muted) ? 0 : sound._volume;\n node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n sound._playStart = Howler.ctx.currentTime;\n\n // Play the sound using the supported method.\n if (typeof node.bufferSource.start === 'undefined') {\n sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);\n } else {\n sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);\n }\n\n // Start a new timer if none is present.\n if (timeout !== Infinity) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n if (!internal) {\n setTimeout(function() {\n self._emit('play', sound._id);\n self._loadQueue();\n }, 0);\n }\n };\n\n if (Howler.state === 'running' && Howler.ctx.state !== 'interrupted') {\n playWebAudio();\n } else {\n self._playLock = true;\n\n // Wait for the audio context to resume before playing.\n self.once('resume', playWebAudio);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n } else {\n // Fire this when the sound is ready to play to begin HTML5 Audio playback.\n var playHtml5 = function() {\n node.currentTime = seek;\n node.muted = sound._muted || self._muted || Howler._muted || node.muted;\n node.volume = sound._volume * Howler.volume();\n node.playbackRate = sound._rate;\n\n // Some browsers will throw an error if this is called without user interaction.\n try {\n var play = node.play();\n\n // Support older browsers that don't support promises, and thus don't have this issue.\n if (play && typeof Promise !== 'undefined' && (play instanceof Promise || typeof play.then === 'function')) {\n // Implements a lock to prevent DOMException: The play() request was interrupted by a call to pause().\n self._playLock = true;\n\n // Set param values immediately.\n setParams();\n\n // Releases the lock and executes queued actions.\n play\n .then(function() {\n self._playLock = false;\n node._unlocked = true;\n if (!internal) {\n self._emit('play', sound._id);\n } else {\n self._loadQueue();\n }\n })\n .catch(function() {\n self._playLock = false;\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n\n // Reset the ended and paused values.\n sound._ended = true;\n sound._paused = true;\n });\n } else if (!internal) {\n self._playLock = false;\n setParams();\n self._emit('play', sound._id);\n }\n\n // Setting rate before playing won't work in IE, so we set it again here.\n node.playbackRate = sound._rate;\n\n // If the node is still paused, then we can assume there was a playback issue.\n if (node.paused) {\n self._emit('playerror', sound._id, 'Playback was unable to start. This is most commonly an issue ' +\n 'on mobile devices and Chrome where playback was not within a user interaction.');\n return;\n }\n\n // Setup the end timer on sprites or listen for the ended event.\n if (sprite !== '__default' || sound._loop) {\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n } else {\n self._endTimers[sound._id] = function() {\n // Fire ended on this audio node.\n self._ended(sound);\n\n // Clear this listener.\n node.removeEventListener('ended', self._endTimers[sound._id], false);\n };\n node.addEventListener('ended', self._endTimers[sound._id], false);\n }\n } catch (err) {\n self._emit('playerror', sound._id, err);\n }\n };\n\n // If this is streaming audio, make sure the src is set and load again.\n if (node.src === 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA') {\n node.src = self._src;\n node.load();\n }\n\n // Play immediately if ready, or wait for the 'canplaythrough'e vent.\n var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS);\n if (node.readyState >= 3 || loadedNoReadyState) {\n playHtml5();\n } else {\n self._playLock = true;\n self._state = 'loading';\n\n var listener = function() {\n self._state = 'loaded';\n \n // Begin playback.\n playHtml5();\n\n // Clear this listener.\n node.removeEventListener(Howler._canPlayEvent, listener, false);\n };\n node.addEventListener(Howler._canPlayEvent, listener, false);\n\n // Cancel the end timer.\n self._clearTimer(sound._id);\n }\n }\n\n return sound._id;\n },\n\n /**\n * Pause playback and save current position.\n * @param {Number} id The sound ID (empty to pause all in group).\n * @return {Howl}\n */\n pause: function(id) {\n var self = this;\n\n // If the sound hasn't loaded or a play() promise is pending, add it to the load queue to pause when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'pause',\n action: function() {\n self.pause(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be paused.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i<ids.length; i++) {\n // Clear the end timer.\n self._clearTimer(ids[i]);\n\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n if (sound && !sound._paused) {\n // Reset the seek position.\n sound._seek = self.seek(ids[i]);\n sound._rateSeek = 0;\n sound._paused = true;\n\n // Stop currently running fades.\n self._stopFade(ids[i]);\n\n if (sound._node) {\n if (self._webAudio) {\n // Make sure the sound has been created.\n if (!sound._node.bufferSource) {\n continue;\n }\n\n if (typeof sound._node.bufferSource.stop === 'undefined') {\n sound._node.bufferSource.noteOff(0);\n } else {\n sound._node.bufferSource.stop(0);\n }\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n } else if (!isNaN(sound._node.duration) || sound._node.duration === Infinity) {\n sound._node.pause();\n }\n }\n }\n\n // Fire the pause event, unless `true` is passed as the 2nd argument.\n if (!arguments[1]) {\n self._emit('pause', sound ? sound._id : null);\n }\n }\n\n return self;\n },\n\n /**\n * Stop playback and reset to start.\n * @param {Number} id The sound ID (empty to stop all in group).\n * @param {Boolean} internal Internal Use: true prevents event firing.\n * @return {Howl}\n */\n stop: function(id, internal) {\n var self = this;\n\n // If the sound hasn't loaded, add it to the load queue to stop when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'stop',\n action: function() {\n self.stop(id);\n }\n });\n\n return self;\n }\n\n // If no id is passed, get all ID's to be stopped.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i<ids.length; i++) {\n // Clear the end timer.\n self._clearTimer(ids[i]);\n\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n if (sound) {\n // Reset the seek position.\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._paused = true;\n sound._ended = true;\n\n // Stop currently running fades.\n self._stopFade(ids[i]);\n\n if (sound._node) {\n if (self._webAudio) {\n // Make sure the sound's AudioBufferSourceNode has been created.\n if (sound._node.bufferSource) {\n if (typeof sound._node.bufferSource.stop === 'undefined') {\n sound._node.bufferSource.noteOff(0);\n } else {\n sound._node.bufferSource.stop(0);\n }\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n }\n } else if (!isNaN(sound._node.duration) || sound._node.duration === Infinity) {\n sound._node.currentTime = sound._start || 0;\n sound._node.pause();\n\n // If this is a live stream, stop download once the audio is stopped.\n if (sound._node.duration === Infinity) {\n self._clearSound(sound._node);\n }\n }\n }\n\n if (!internal) {\n self._emit('stop', sound._id);\n }\n }\n }\n\n return self;\n },\n\n /**\n * Mute/unmute a single sound or all sounds in this Howl group.\n * @param {Boolean} muted Set to true to mute and false to unmute.\n * @param {Number} id The sound ID to update (omit to mute/unmute all).\n * @return {Howl}\n */\n mute: function(muted, id) {\n var self = this;\n\n // If the sound hasn't loaded, add it to the load queue to mute when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'mute',\n action: function() {\n self.mute(muted, id);\n }\n });\n\n return self;\n }\n\n // If applying mute/unmute to all sounds, update the group's value.\n if (typeof id === 'undefined') {\n if (typeof muted === 'boolean') {\n self._muted = muted;\n } else {\n return self._muted;\n }\n }\n\n // If no id is passed, get all ID's to be muted.\n var ids = self._getSoundIds(id);\n\n for (var i=0; i<ids.length; i++) {\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n if (sound) {\n sound._muted = muted;\n\n // Cancel active fade and set the volume to the end value.\n if (sound._interval) {\n self._stopFade(sound._id);\n }\n\n if (self._webAudio && sound._node) {\n sound._node.gain.setValueAtTime(muted ? 0 : sound._volume, Howler.ctx.currentTime);\n } else if (sound._node) {\n sound._node.muted = Howler._muted ? true : muted;\n }\n\n self._emit('mute', sound._id);\n }\n }\n\n return self;\n },\n\n /**\n * Get/set the volume of this sound or of the Howl group. This method can optionally take 0, 1 or 2 arguments.\n * volume() -> Returns the group's volume value.\n * volume(id) -> Returns the sound id's current volume.\n * volume(vol) -> Sets the volume of all sounds in this Howl group.\n * volume(vol, id) -> Sets the volume of passed sound id.\n * @return {Howl/Number} Returns self or current volume.\n */\n volume: function() {\n var self = this;\n var args = arguments;\n var vol, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the value of the groups' volume.\n return self._volume;\n } else if (args.length === 1 || args.length === 2 && typeof args[1] === 'undefined') {\n // First check if this is an ID, and if not, assume it is a new volume.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n vol = parseFloat(args[0]);\n }\n } else if (args.length >= 2) {\n vol = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the volume or return the current volume.\n var sound;\n if (typeof vol !== 'undefined' && vol >= 0 && vol <= 1) {\n // If the sound hasn't loaded, add it to the load queue to change volume when capable.\n if (self._state !== 'loaded'|| self._playLock) {\n self._queue.push({\n event: 'volume',\n action: function() {\n self.volume.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group volume.\n if (typeof id === 'undefined') {\n self._volume = vol;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i<id.length; i++) {\n // Get the sound.\n sound = self._soundById(id[i]);\n\n if (sound) {\n sound._volume = vol;\n\n // Stop currently running fades.\n if (!args[2]) {\n self._stopFade(id[i]);\n }\n\n if (self._webAudio && sound._node && !sound._muted) {\n sound._node.gain.setValueAtTime(vol, Howler.ctx.currentTime);\n } else if (sound._node && !sound._muted) {\n sound._node.volume = vol * Howler.volume();\n }\n\n self._emit('volume', sound._id);\n }\n }\n } else {\n sound = id ? self._soundById(id) : self._sounds[0];\n return sound ? sound._volume : 0;\n }\n\n return self;\n },\n\n /**\n * Fade a currently playing sound between two volumes (if no id is passed, all sounds will fade).\n * @param {Number} from The value to fade from (0.0 to 1.0).\n * @param {Number} to The volume to fade to (0.0 to 1.0).\n * @param {Number} len Time in milliseconds to fade.\n * @param {Number} id The sound id (omit to fade all sounds).\n * @return {Howl}\n */\n fade: function(from, to, len, id) {\n var self = this;\n\n // If the sound hasn't loaded, add it to the load queue to fade when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'fade',\n action: function() {\n self.fade(from, to, len, id);\n }\n });\n\n return self;\n }\n\n // Make sure the to/from/len values are numbers.\n from = Math.min(Math.max(0, parseFloat(from)), 1);\n to = Math.min(Math.max(0, parseFloat(to)), 1);\n len = parseFloat(len);\n\n // Set the volume to the start position.\n self.volume(from, id);\n\n // Fade the volume of one or all sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; i<ids.length; i++) {\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n // Create a linear fade or fall back to timeouts with HTML5 Audio.\n if (sound) {\n // Stop the previous fade if no sprite is being used (otherwise, volume handles this).\n if (!id) {\n self._stopFade(ids[i]);\n }\n\n // If we are using Web Audio, let the native methods do the actual fade.\n if (self._webAudio && !sound._muted) {\n var currentTime = Howler.ctx.currentTime;\n var end = currentTime + (len / 1000);\n sound._volume = from;\n sound._node.gain.setValueAtTime(from, currentTime);\n sound._node.gain.linearRampToValueAtTime(to, end);\n }\n\n self._startFadeInterval(sound, from, to, len, ids[i], typeof id === 'undefined');\n }\n }\n\n return self;\n },\n\n /**\n * Starts the internal interval to fade a sound.\n * @param {Object} sound Reference to sound to fade.\n * @param {Number} from The value to fade from (0.0 to 1.0).\n * @param {Number} to The volume to fade to (0.0 to 1.0).\n * @param {Number} len Time in milliseconds to fade.\n * @param {Number} id The sound id to fade.\n * @param {Boolean} isGroup If true, set the volume on the group.\n */\n _startFadeInterval: function(sound, from, to, len, id, isGroup) {\n var self = this;\n var vol = from;\n var diff = to - from;\n var steps = Math.abs(diff / 0.01);\n var stepLen = Math.max(4, (steps > 0) ? len / steps : len);\n var lastTick = Date.now();\n\n // Store the value being faded to.\n sound._fadeTo = to;\n\n // Update the volume value on each interval tick.\n sound._interval = setInterval(function() {\n // Update the volume based on the time since the last tick.\n var tick = (Date.now() - lastTick) / len;\n lastTick = Date.now();\n vol += diff * tick;\n\n // Round to within 2 decimal points.\n vol = Math.round(vol * 100) / 100;\n\n // Make sure the volume is in the right bounds.\n if (diff < 0) {\n vol = Math.max(to, vol);\n } else {\n vol = Math.min(to, vol);\n }\n\n // Change the volume.\n if (self._webAudio) {\n sound._volume = vol;\n } else {\n self.volume(vol, sound._id, true);\n }\n\n // Set the group's volume.\n if (isGroup) {\n self._volume = vol;\n }\n\n // When the fade is complete, stop it and fire event.\n if ((to < from && vol <= to) || (to > from && vol >= to)) {\n clearInterval(sound._interval);\n sound._interval = null;\n sound._fadeTo = null;\n self.volume(to, sound._id);\n self._emit('fade', sound._id);\n }\n }, stepLen);\n },\n\n /**\n * Internal method that stops the currently playing fade when\n * a new fade starts, volume is changed or the sound is stopped.\n * @param {Number} id The sound id.\n * @return {Howl}\n */\n _stopFade: function(id) {\n var self = this;\n var sound = self._soundById(id);\n\n if (sound && sound._interval) {\n if (self._webAudio) {\n sound._node.gain.cancelScheduledValues(Howler.ctx.currentTime);\n }\n\n clearInterval(sound._interval);\n sound._interval = null;\n self.volume(sound._fadeTo, id);\n sound._fadeTo = null;\n self._emit('fade', id);\n }\n\n return self;\n },\n\n /**\n * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.\n * loop() -> Returns the group's loop value.\n * loop(id) -> Returns the sound id's loop value.\n * loop(loop) -> Sets the loop value for all sounds in this Howl group.\n * loop(loop, id) -> Sets the loop value of passed sound id.\n * @return {Howl/Boolean} Returns self or current loop value.\n */\n loop: function() {\n var self = this;\n var args = arguments;\n var loop, id, sound;\n\n // Determine the values for loop and id.\n if (args.length === 0) {\n // Return the grou's loop value.\n return self._loop;\n } else if (args.length === 1) {\n if (typeof args[0] === 'boolean') {\n loop = args[0];\n self._loop = loop;\n } else {\n // Return this sound's loop value.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._loop : false;\n }\n } else if (args.length === 2) {\n loop = args[0];\n id = parseInt(args[1], 10);\n }\n\n // If no id is passed, get all ID's to be looped.\n var ids = self._getSoundIds(id);\n for (var i=0; i<ids.length; i++) {\n sound = self._soundById(ids[i]);\n\n if (sound) {\n sound._loop = loop;\n if (self._webAudio && sound._node && sound._node.bufferSource) {\n sound._node.bufferSource.loop = loop;\n if (loop) {\n sound._node.bufferSource.loopStart = sound._start || 0;\n sound._node.bufferSource.loopEnd = sound._stop;\n\n // If playing, restart playback to ensure looping updates.\n if (self.playing(ids[i])) {\n self.pause(ids[i], true);\n self.play(ids[i], true);\n }\n }\n }\n }\n }\n\n return self;\n },\n\n /**\n * Get/set the playback rate of a sound. This method can optionally take 0, 1 or 2 arguments.\n * rate() -> Returns the first sound node's current playback rate.\n * rate(id) -> Returns the sound id's current playback rate.\n * rate(rate) -> Sets the playback rate of all sounds in this Howl group.\n * rate(rate, id) -> Sets the playback rate of passed sound id.\n * @return {Howl/Number} Returns self or the current playback rate.\n */\n rate: function() {\n var self = this;\n var args = arguments;\n var rate, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current rate of the first node.\n id = self._sounds[0]._id;\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new rate value.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else {\n rate = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n rate = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // Update the playback rate or return the current value.\n var sound;\n if (typeof rate === 'number') {\n // If the sound hasn't loaded, add it to the load queue to change playback rate when capable.\n if (self._state !== 'loaded' || self._playLock) {\n self._queue.push({\n event: 'rate',\n action: function() {\n self.rate.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Set the group rate.\n if (typeof id === 'undefined') {\n self._rate = rate;\n }\n\n // Update one or all volumes.\n id = self._getSoundIds(id);\n for (var i=0; i<id.length; i++) {\n // Get the sound.\n sound = self._soundById(id[i]);\n\n if (sound) {\n // Keep track of our position when the rate changed and update the playback\n // start position so we can properly adjust the seek position for time elapsed.\n if (self.playing(id[i])) {\n sound._rateSeek = self.seek(id[i]);\n sound._playStart = self._webAudio ? Howler.ctx.currentTime : sound._playStart;\n }\n sound._rate = rate;\n\n // Change the playback rate.\n if (self._webAudio && sound._node && sound._node.bufferSource) {\n sound._node.bufferSource.playbackRate.setValueAtTime(rate, Howler.ctx.currentTime);\n } else if (sound._node) {\n sound._node.playbackRate = rate;\n }\n\n // Reset the timers.\n var seek = self.seek(id[i]);\n var duration = ((self._sprite[sound._sprite][0] + self._sprite[sound._sprite][1]) / 1000) - seek;\n var timeout = (duration * 1000) / Math.abs(sound._rate);\n\n // Start a new end timer if sound is already playing.\n if (self._endTimers[id[i]] || !sound._paused) {\n self._clearTimer(id[i]);\n self._endTimers[id[i]] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n self._emit('rate', sound._id);\n }\n }\n } else {\n sound = self._soundById(id);\n return sound ? sound._rate : self._rate;\n }\n\n return self;\n },\n\n /**\n * Get/set the seek position of a sound. This method can optionally take 0, 1 or 2 arguments.\n * seek() -> Returns the first sound node's current seek position.\n * seek(id) -> Returns the sound id's current seek position.\n * seek(seek) -> Sets the seek position of the first sound node.\n * seek(seek, id) -> Sets the seek position of passed sound id.\n * @return {Howl/Number} Returns self or the current seek position.\n */\n seek: function() {\n var self = this;\n var args = arguments;\n var seek, id;\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // We will simply return the current position of the first node.\n if (self._sounds.length) {\n id = self._sounds[0]._id;\n }\n } else if (args.length === 1) {\n // First check if this is an ID, and if not, assume it is a new seek position.\n var ids = self._getSoundIds();\n var index = ids.indexOf(args[0]);\n if (index >= 0) {\n id = parseInt(args[0], 10);\n } else if (self._sounds.length) {\n id = self._sounds[0]._id;\n seek = parseFloat(args[0]);\n }\n } else if (args.length === 2) {\n seek = parseFloat(args[0]);\n id = parseInt(args[1], 10);\n }\n\n // If there is no ID, bail out.\n if (typeof id === 'undefined') {\n return 0;\n }\n\n // If the sound hasn't loaded, add it to the load queue to seek when capable.\n if (typeof seek === 'number' && (self._state !== 'loaded' || self._playLock)) {\n self._queue.push({\n event: 'seek',\n action: function() {\n self.seek.apply(self, args);\n }\n });\n\n return self;\n }\n\n // Get the sound.\n var sound = self._soundById(id);\n\n if (sound) {\n if (typeof seek === 'number' && seek >= 0) {\n // Pause the sound and update position for restarting playback.\n var playing = self.playing(id);\n if (playing) {\n self.pause(id, true);\n }\n\n // Move the position of the track and cancel timer.\n sound._seek = seek;\n sound._ended = false;\n self._clearTimer(id);\n\n // Update the seek position for HTML5 Audio.\n if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {\n sound._node.currentTime = seek;\n }\n\n // Seek and emit when ready.\n var seekAndEmit = function() {\n // Restart the playback if the sound was playing.\n if (playing) {\n self.play(id, true);\n }\n\n self._emit('seek', id);\n };\n\n // Wait for the play lock to be unset before emitting (HTML5 Audio).\n if (playing && !self._webAudio) {\n var emitSeek = function() {\n if (!self._playLock) {\n seekAndEmit();\n } else {\n setTimeout(emitSeek, 0);\n }\n };\n setTimeout(emitSeek, 0);\n } else {\n seekAndEmit();\n }\n } else {\n if (self._webAudio) {\n var realTime = self.playing(id) ? Howler.ctx.currentTime - sound._playStart : 0;\n var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;\n return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));\n } else {\n return sound._node.currentTime;\n }\n }\n }\n\n return self;\n },\n\n /**\n * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.\n * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.\n * @return {Boolean} True if playing and false if not.\n */\n playing: function(id) {\n var self = this;\n\n // Check the passed sound ID (if any).\n if (typeof id === 'number') {\n var sound = self._soundById(id);\n return sound ? !sound._paused : false;\n }\n\n // Otherwise, loop through all sounds and check if any are playing.\n for (var i=0; i<self._sounds.length; i++) {\n if (!self._sounds[i]._paused) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Get the duration of this sound. Passing a sound id will return the sprite duration.\n * @param {Number} id The sound id to check. If none is passed, return full source duration.\n * @return {Number} Audio duration in seconds.\n */\n duration: function(id) {\n var self = this;\n var duration = self._duration;\n\n // If we pass an ID, get the sound and return the sprite length.\n var sound = self._soundById(id);\n if (sound) {\n duration = self._sprite[sound._sprite][1] / 1000;\n }\n\n return duration;\n },\n\n /**\n * Returns the current loaded state of this Howl.\n * @return {String} 'unloaded', 'loading', 'loaded'\n */\n state: function() {\n return this._state;\n },\n\n /**\n * Unload and destroy the current Howl object.\n * This will immediately stop all sound instances attached to this group.\n */\n unload: function() {\n var self = this;\n\n // Stop playing any active sounds.\n var sounds = self._sounds;\n for (var i=0; i<sounds.length; i++) {\n // Stop the sound if it is currently playing.\n if (!sounds[i]._paused) {\n self.stop(sounds[i]._id);\n }\n\n // Remove the source or disconnect.\n if (!self._webAudio) {\n // Set the source to 0-second silence to stop any downloading (except in IE).\n self._clearSound(sounds[i]._node);\n\n // Remove any event listeners.\n sounds[i]._node.removeEventListener('error', sounds[i]._errorFn, false);\n sounds[i]._node.removeEventListener(Howler._canPlayEvent, sounds[i]._loadFn, false);\n sounds[i]._node.removeEventListener('ended', sounds[i]._endFn, false);\n\n // Release the Audio object back to the pool.\n Howler._releaseHtml5Audio(sounds[i]._node);\n }\n\n // Empty out all of the nodes.\n delete sounds[i]._node;\n\n // Make sure all timers are cleared out.\n self._clearTimer(sounds[i]._id);\n }\n\n // Remove the references in the global Howler object.\n var index = Howler._howls.indexOf(self);\n if (index >= 0) {\n Howler._howls.splice(index, 1);\n }\n\n // Delete this sound from the cache (if no other Howl is using it).\n var remCache = true;\n for (i=0; i<Howler._howls.length; i++) {\n if (Howler._howls[i]._src === self._src || self._src.indexOf(Howler._howls[i]._src) >= 0) {\n remCache = false;\n break;\n }\n }\n\n if (cache && remCache) {\n delete cache[self._src];\n }\n\n // Clear global errors.\n Howler.noAudio = false;\n\n // Clear out `self`.\n self._state = 'unloaded';\n self._sounds = [];\n self = null;\n\n return null;\n },\n\n /**\n * Listen to a custom event.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @param {Number} once (INTERNAL) Marks event to fire only once.\n * @return {Howl}\n */\n on: function(event, fn, id, once) {\n var self = this;\n var events = self['_on' + event];\n\n if (typeof fn === 'function') {\n events.push(once ? {id: id, fn: fn, once: once} : {id: id, fn: fn});\n }\n\n return self;\n },\n\n /**\n * Remove a custom event. Call without parameters to remove all events.\n * @param {String} event Event name.\n * @param {Function} fn Listener to remove. Leave empty to remove all.\n * @param {Number} id (optional) Only remove events for this sound.\n * @return {Howl}\n */\n off: function(event, fn, id) {\n var self = this;\n var events = self['_on' + event];\n var i = 0;\n\n // Allow passing just an event and ID.\n if (typeof fn === 'number') {\n id = fn;\n fn = null;\n }\n\n if (fn || id) {\n // Loop through event store and remove the passed function.\n for (i=0; i<events.length; i++) {\n var isId = (id === events[i].id);\n if (fn === events[i].fn && isId || !fn && isId) {\n events.splice(i, 1);\n break;\n }\n }\n } else if (event) {\n // Clear out all events of this type.\n self['_on' + event] = [];\n } else {\n // Clear out all events of every type.\n var keys = Object.keys(self);\n for (i=0; i<keys.length; i++) {\n if ((keys[i].indexOf('_on') === 0) && Array.isArray(self[keys[i]])) {\n self[keys[i]] = [];\n }\n }\n }\n\n return self;\n },\n\n /**\n * Listen to a custom event and remove it once fired.\n * @param {String} event Event name.\n * @param {Function} fn Listener to call.\n * @param {Number} id (optional) Only listen to events for this sound.\n * @return {Howl}\n */\n once: function(event, fn, id) {\n var self = this;\n\n // Setup the event listener.\n self.on(event, fn, id, 1);\n\n return self;\n },\n\n /**\n * Emit all events of a specific type and pass the sound id.\n * @param {String} event Event name.\n * @param {Number} id Sound ID.\n * @param {Number} msg Message to go with event.\n * @return {Howl}\n */\n _emit: function(event, id, msg) {\n var self = this;\n var events = self['_on' + event];\n\n // Loop through event store and fire all functions.\n for (var i=events.length-1; i>=0; i--) {\n // Only fire the listener if the correct ID is used.\n if (!events[i].id || events[i].id === id || event === 'load') {\n setTimeout(function(fn) {\n fn.call(this, id, msg);\n }.bind(self, events[i].fn), 0);\n\n // If this event was setup with `once`, remove it.\n if (events[i].once) {\n self.off(event, events[i].fn, events[i].id);\n }\n }\n }\n\n // Pass the event type into load queue so that it can continue stepping.\n self._loadQueue(event);\n\n return self;\n },\n\n /**\n * Queue of actions initiated before the sound has loaded.\n * These will be called in sequence, with the next only firing\n * after the previous has finished executing (even if async like play).\n * @return {Howl}\n */\n _loadQueue: function(event) {\n var self = this;\n\n if (self._queue.length > 0) {\n var task = self._queue[0];\n\n // Remove this task if a matching event was passed.\n if (task.event === event) {\n self._queue.shift();\n self._loadQueue();\n }\n\n // Run the task if no event type is passed.\n if (!event) {\n task.action();\n }\n }\n\n return self;\n },\n\n /**\n * Fired when playback ends at the end of the duration.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _ended: function(sound) {\n var self = this;\n var sprite = sound._sprite;\n\n // If we are using IE and there was network latency we may be clipping\n // audio before it completes playing. Lets check the node to make sure it\n // believes it has completed, before ending the playback.\n if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {\n setTimeout(self._ended.bind(self, sound), 100);\n return self;\n }\n\n // Should this sound loop?\n var loop = !!(sound._loop || self._sprite[sprite][2]);\n\n // Fire the ended event.\n self._emit('end', sound._id);\n\n // Restart the playback for HTML5 Audio loop.\n if (!self._webAudio && loop) {\n self.stop(sound._id, true).play(sound._id);\n }\n\n // Restart this timer if on a Web Audio loop.\n if (self._webAudio && loop) {\n self._emit('play', sound._id);\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n sound._playStart = Howler.ctx.currentTime;\n\n var timeout = ((sound._stop - sound._start) * 1000) / Math.abs(sound._rate);\n self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);\n }\n\n // Mark the node as paused.\n if (self._webAudio && !loop) {\n sound._paused = true;\n sound._ended = true;\n sound._seek = sound._start || 0;\n sound._rateSeek = 0;\n self._clearTimer(sound._id);\n\n // Clean up the buffer source.\n self._cleanBuffer(sound._node);\n\n // Attempt to auto-suspend AudioContext if no sounds are still playing.\n Howler._autoSuspend();\n }\n\n // When using a sprite, end the track.\n if (!self._webAudio && !loop) {\n self.stop(sound._id, true);\n }\n\n return self;\n },\n\n /**\n * Clear the end timer for a sound playback.\n * @param {Number} id The sound ID.\n * @return {Howl}\n */\n _clearTimer: function(id) {\n var self = this;\n\n if (self._endTimers[id]) {\n // Clear the timeout or remove the ended listener.\n if (typeof self._endTimers[id] !== 'function') {\n clearTimeout(self._endTimers[id]);\n } else {\n var sound = self._soundById(id);\n if (sound && sound._node) {\n sound._node.removeEventListener('ended', self._endTimers[id], false);\n }\n }\n\n delete self._endTimers[id];\n }\n\n return self;\n },\n\n /**\n * Return the sound identified by this ID, or return null.\n * @param {Number} id Sound ID\n * @return {Object} Sound object or null.\n */\n _soundById: function(id) {\n var self = this;\n\n // Loop through all sounds and find the one with this ID.\n for (var i=0; i<self._sounds.length; i++) {\n if (id === self._sounds[i]._id) {\n return self._sounds[i];\n }\n }\n\n return null;\n },\n\n /**\n * Return an inactive sound from the pool or create a new one.\n * @return {Sound} Sound playback object.\n */\n _inactiveSound: function() {\n var self = this;\n\n self._drain();\n\n // Find the first inactive node to recycle.\n for (var i=0; i<self._sounds.length; i++) {\n if (self._sounds[i]._ended) {\n return self._sounds[i].reset();\n }\n }\n\n // If no inactive node was found, create a new one.\n return new Sound(self);\n },\n\n /**\n * Drain excess inactive sounds from the pool.\n */\n _drain: function() {\n var self = this;\n var limit = self._pool;\n var cnt = 0;\n var i = 0;\n\n // If there are less sounds than the max pool size, we are done.\n if (self._sounds.length < limit) {\n return;\n }\n\n // Count the number of inactive sounds.\n for (i=0; i<self._sounds.length; i++) {\n if (self._sounds[i]._ended) {\n cnt++;\n }\n }\n\n // Remove excess inactive sounds, going in reverse order.\n for (i=self._sounds.length - 1; i>=0; i--) {\n if (cnt <= limit) {\n return;\n }\n\n if (self._sounds[i]._ended) {\n // Disconnect the audio source when using Web Audio.\n if (self._webAudio && self._sounds[i]._node) {\n self._sounds[i]._node.disconnect(0);\n }\n\n // Remove sounds until we have the pool size.\n self._sounds.splice(i, 1);\n cnt--;\n }\n }\n },\n\n /**\n * Get all ID's from the sounds pool.\n * @param {Number} id Only return one ID if one is passed.\n * @return {Array} Array of IDs.\n */\n _getSoundIds: function(id) {\n var self = this;\n\n if (typeof id === 'undefined') {\n var ids = [];\n for (var i=0; i<self._sounds.length; i++) {\n ids.push(self._sounds[i]._id);\n }\n\n return ids;\n } else {\n return [id];\n }\n },\n\n /**\n * Load the sound back into the buffer source.\n * @param {Sound} sound The sound object to work with.\n * @return {Howl}\n */\n _refreshBuffer: function(sound) {\n var self = this;\n\n // Setup the buffer source for playback.\n sound._node.bufferSource = Howler.ctx.createBufferSource();\n sound._node.bufferSource.buffer = cache[self._src];\n\n // Connect to the correct node.\n if (sound._panner) {\n sound._node.bufferSource.connect(sound._panner);\n } else {\n sound._node.bufferSource.connect(sound._node);\n }\n\n // Setup looping and playback rate.\n sound._node.bufferSource.loop = sound._loop;\n if (sound._loop) {\n sound._node.bufferSource.loopStart = sound._start || 0;\n sound._node.bufferSource.loopEnd = sound._stop || 0;\n }\n sound._node.bufferSource.playbackRate.setValueAtTime(sound._rate, Howler.ctx.currentTime);\n\n return self;\n },\n\n /**\n * Prevent memory leaks by cleaning up the buffer source after playback.\n * @param {Object} node Sound's audio node containing the buffer source.\n * @return {Howl}\n */\n _cleanBuffer: function(node) {\n var self = this;\n var isIOS = Howler._navigator && Howler._navigator.vendor.indexOf('Apple') >= 0;\n\n if (!node.bufferSource) {\n return self;\n }\n\n if (Howler._scratchBuffer && node.bufferSource) {\n node.bufferSource.onended = null;\n node.bufferSource.disconnect(0);\n if (isIOS) {\n try { node.bufferSource.buffer = Howler._scratchBuffer; } catch(e) {}\n }\n }\n node.bufferSource = null;\n\n return self;\n },\n\n /**\n * Set the source to a 0-second silence to stop any downloading (except in IE).\n * @param {Object} node Audio node to clear.\n */\n _clearSound: function(node) {\n var checkIE = /MSIE |Trident\\//.test(Howler._navigator && Howler._navigator.userAgent);\n if (!checkIE) {\n node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA';\n }\n }\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Setup the sound object, which each node attached to a Howl group is contained in.\n * @param {Object} howl The Howl parent group.\n */\n var Sound = function(howl) {\n this._parent = howl;\n this.init();\n };\n Sound.prototype = {\n /**\n * Initialize a new Sound object.\n * @return {Sound}\n */\n init: function() {\n var self = this;\n var parent = self._parent;\n\n // Setup the default parameters.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a unique ID for this sound.\n self._id = ++Howler._counter;\n\n // Add itself to the parent's pool.\n parent._sounds.push(self);\n\n // Create the new node.\n self.create();\n\n return self;\n },\n\n /**\n * Create and setup a new sound object, whether HTML5 Audio or Web Audio.\n * @return {Sound}\n */\n create: function() {\n var self = this;\n var parent = self._parent;\n var volume = (Howler._muted || self._muted || self._parent._muted) ? 0 : self._volume;\n\n if (parent._webAudio) {\n // Create the gain node for controlling volume (the source will connect to this).\n self._node = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n self._node.gain.setValueAtTime(volume, Howler.ctx.currentTime);\n self._node.paused = true;\n self._node.connect(Howler.masterGain);\n } else if (!Howler.noAudio) {\n // Get an unlocked Audio object from the pool.\n self._node = Howler._obtainHtml5Audio();\n\n // Listen for errors (http://dev.w3.org/html5/spec-author-view/spec.html#mediaerror).\n self._errorFn = self._errorListener.bind(self);\n self._node.addEventListener('error', self._errorFn, false);\n\n // Listen for 'canplaythrough' event to let us know the sound is ready.\n self._loadFn = self._loadListener.bind(self);\n self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);\n\n // Listen for the 'ended' event on the sound to account for edge-case where\n // a finite sound has a duration of Infinity.\n self._endFn = self._endListener.bind(self);\n self._node.addEventListener('ended', self._endFn, false);\n\n // Setup the new audio node.\n self._node.src = parent._src;\n self._node.preload = parent._preload === true ? 'auto' : parent._preload;\n self._node.volume = volume * Howler.volume();\n\n // Begin loading the source.\n self._node.load();\n }\n\n return self;\n },\n\n /**\n * Reset the parameters of this sound to the original state (for recycle).\n * @return {Sound}\n */\n reset: function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all of the parameters of this sound.\n self._muted = parent._muted;\n self._loop = parent._loop;\n self._volume = parent._volume;\n self._rate = parent._rate;\n self._seek = 0;\n self._rateSeek = 0;\n self._paused = true;\n self._ended = true;\n self._sprite = '__default';\n\n // Generate a new ID so that it isn't confused with the previous sound.\n self._id = ++Howler._counter;\n\n return self;\n },\n\n /**\n * HTML5 Audio error listener callback.\n */\n _errorListener: function() {\n var self = this;\n\n // Fire an error event and pass back the code.\n self._parent._emit('loaderror', self._id, self._node.error ? self._node.error.code : 0);\n\n // Clear the event listener.\n self._node.removeEventListener('error', self._errorFn, false);\n },\n\n /**\n * HTML5 Audio canplaythrough listener callback.\n */\n _loadListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Setup a sprite if none is defined.\n if (Object.keys(parent._sprite).length === 0) {\n parent._sprite = {__default: [0, parent._duration * 1000]};\n }\n\n if (parent._state !== 'loaded') {\n parent._state = 'loaded';\n parent._emit('load');\n parent._loadQueue();\n }\n\n // Clear the event listener.\n self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);\n },\n\n /**\n * HTML5 Audio ended listener callback.\n */\n _endListener: function() {\n var self = this;\n var parent = self._parent;\n\n // Only handle the `ended`` event if the duration is Infinity.\n if (parent._duration === Infinity) {\n // Update the parent duration to match the real audio duration.\n // Round up the duration to account for the lower precision in HTML5 Audio.\n parent._duration = Math.ceil(self._node.duration * 10) / 10;\n\n // Update the sprite that corresponds to the real duration.\n if (parent._sprite.__default[1] === Infinity) {\n parent._sprite.__default[1] = parent._duration * 1000;\n }\n\n // Run the regular ended method.\n parent._ended(self);\n }\n\n // Clear the event listener since the duration is now correct.\n self._node.removeEventListener('ended', self._endFn, false);\n }\n };\n\n /** Helper Methods **/\n /***************************************************************************/\n\n var cache = {};\n\n /**\n * Buffer a sound from URL, Data URI or cache and decode to audio source (Web Audio API).\n * @param {Howl} self\n */\n var loadBuffer = function(self) {\n var url = self._src;\n\n // Check if the buffer has already been cached and use it instead.\n if (cache[url]) {\n // Set the duration from the cache.\n self._duration = cache[url].duration;\n\n // Load the sound into this Howl.\n loadSound(self);\n\n return;\n }\n\n if (/^data:[^;]+;base64,/.test(url)) {\n // Decode the base64 data URI without XHR, since some browsers don't support it.\n var data = atob(url.split(',')[1]);\n var dataView = new Uint8Array(data.length);\n for (var i=0; i<data.length; ++i) {\n dataView[i] = data.charCodeAt(i);\n }\n\n decodeAudioData(dataView.buffer, self);\n } else {\n // Load the buffer from the URL.\n var xhr = new XMLHttpRequest();\n xhr.open(self._xhr.method, url, true);\n xhr.withCredentials = self._xhr.withCredentials;\n xhr.responseType = 'arraybuffer';\n\n // Apply any custom headers to the request.\n if (self._xhr.headers) {\n Object.keys(self._xhr.headers).forEach(function(key) {\n xhr.setRequestHeader(key, self._xhr.headers[key]);\n });\n }\n\n xhr.onload = function() {\n // Make sure we get a successful response back.\n var code = (xhr.status + '')[0];\n if (code !== '0' && code !== '2' && code !== '3') {\n self._emit('loaderror', null, 'Failed loading audio file with status: ' + xhr.status + '.');\n return;\n }\n\n decodeAudioData(xhr.response, self);\n };\n xhr.onerror = function() {\n // If there is an error, switch to HTML5 Audio.\n if (self._webAudio) {\n self._html5 = true;\n self._webAudio = false;\n self._sounds = [];\n delete cache[url];\n self.load();\n }\n };\n safeXhrSend(xhr);\n }\n };\n\n /**\n * Send the XHR request wrapped in a try/catch.\n * @param {Object} xhr XHR to send.\n */\n var safeXhrSend = function(xhr) {\n try {\n xhr.send();\n } catch (e) {\n xhr.onerror();\n }\n };\n\n /**\n * Decode audio data from an array buffer.\n * @param {ArrayBuffer} arraybuffer The audio data.\n * @param {Howl} self\n */\n var decodeAudioData = function(arraybuffer, self) {\n // Fire a load error if something broke.\n var error = function() {\n self._emit('loaderror', null, 'Decoding audio data failed.');\n };\n\n // Load the sound on success.\n var success = function(buffer) {\n if (buffer && self._sounds.length > 0) {\n cache[self._src] = buffer;\n loadSound(self, buffer);\n } else {\n error();\n }\n };\n\n // Decode the buffer into an audio source.\n if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {\n Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);\n } else {\n Howler.ctx.decodeAudioData(arraybuffer, success, error);\n }\n }\n\n /**\n * Sound is now loaded, so finish setting everything up and fire the loaded event.\n * @param {Howl} self\n * @param {Object} buffer The decoded buffer sound source.\n */\n var loadSound = function(self, buffer) {\n // Set the duration.\n if (buffer && !self._duration) {\n self._duration = buffer.duration;\n }\n\n // Setup a sprite if none is defined.\n if (Object.keys(self._sprite).length === 0) {\n self._sprite = {__default: [0, self._duration * 1000]};\n }\n\n // Fire the loaded event.\n if (self._state !== 'loaded') {\n self._state = 'loaded';\n self._emit('load');\n self._loadQueue();\n }\n };\n\n /**\n * Setup the audio context when available, or switch to HTML5 Audio mode.\n */\n var setupAudioContext = function() {\n // If we have already detected that Web Audio isn't supported, don't run this step again.\n if (!Howler.usingWebAudio) {\n return;\n }\n\n // Check if we are using Web Audio and setup the AudioContext if we are.\n try {\n if (typeof AudioContext !== 'undefined') {\n Howler.ctx = new AudioContext();\n } else if (typeof webkitAudioContext !== 'undefined') {\n Howler.ctx = new webkitAudioContext();\n } else {\n Howler.usingWebAudio = false;\n }\n } catch(e) {\n Howler.usingWebAudio = false;\n }\n\n // If the audio context creation still failed, set using web audio to false.\n if (!Howler.ctx) {\n Howler.usingWebAudio = false;\n }\n\n // Check if a webview is being used on iOS8 or earlier (rather than the browser).\n // If it is, disable Web Audio as it causes crashing.\n var iOS = (/iP(hone|od|ad)/.test(Howler._navigator && Howler._navigator.platform));\n var appVersion = Howler._navigator && Howler._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n var version = appVersion ? parseInt(appVersion[1], 10) : null;\n if (iOS && version && version < 9) {\n var safari = /safari/.test(Howler._navigator && Howler._navigator.userAgent.toLowerCase());\n if (Howler._navigator && !safari) {\n Howler.usingWebAudio = false;\n }\n }\n\n // Create and expose the master GainNode when using Web Audio (useful for plugins or advanced usage).\n if (Howler.usingWebAudio) {\n Howler.masterGain = (typeof Howler.ctx.createGain === 'undefined') ? Howler.ctx.createGainNode() : Howler.ctx.createGain();\n Howler.masterGain.gain.setValueAtTime(Howler._muted ? 0 : Howler._volume, Howler.ctx.currentTime);\n Howler.masterGain.connect(Howler.ctx.destination);\n }\n\n // Re-run the setup on Howler.\n Howler._setup();\n };\n\n // Add support for AMD (Asynchronous Module Definition) libraries such as require.js.\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return {\n Howler: Howler,\n Howl: Howl\n };\n });\n }\n\n // Add support for CommonJS libraries such as browserify.\n if (typeof exports !== 'undefined') {\n exports.Howler = Howler;\n exports.Howl = Howl;\n }\n\n // Add to global in Node.js (for testing, etc).\n if (typeof global !== 'undefined') {\n global.HowlerGlobal = HowlerGlobal;\n global.Howler = Howler;\n global.Howl = Howl;\n global.Sound = Sound;\n } else if (typeof window !== 'undefined') { // Define globally in case AMD is not available or unused.\n window.HowlerGlobal = HowlerGlobal;\n window.Howler = Howler;\n window.Howl = Howl;\n window.Sound = Sound;\n }\n})();\n\n\n/*!\n * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.\n * \n * howler.js v2.2.4\n * howlerjs.com\n *\n * (c) 2013-2020, James Simpson of GoldFire Studios\n * goldfirestudios.com\n *\n * MIT License\n */\n\n(function() {\n\n 'use strict';\n\n // Setup default properties.\n HowlerGlobal.prototype._pos = [0, 0, 0];\n HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];\n\n /** Global Methods **/\n /***************************************************************************/\n\n /**\n * Helper method to update the stereo panning position of all current Howls.\n * Future Howls will not use this value unless explicitly set.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @return {Howler/Number} Self or current stereo panning value.\n */\n HowlerGlobal.prototype.stereo = function(pan) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Loop through all Howls and update their stereo panning.\n for (var i=self._howls.length-1; i>=0; i--) {\n self._howls[i].stereo(pan);\n }\n\n return self;\n };\n\n /**\n * Get/set the position of the listener in 3D cartesian space. Sounds using\n * 3D position will be relative to the listener's position.\n * @param {Number} x The x-position of the listener.\n * @param {Number} y The y-position of the listener.\n * @param {Number} z The z-position of the listener.\n * @return {Howler/Array} Self or current listener position.\n */\n HowlerGlobal.prototype.pos = function(x, y, z) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._pos[1] : y;\n z = (typeof z !== 'number') ? self._pos[2] : z;\n\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n\n if (typeof self.ctx.listener.positionX !== 'undefined') {\n self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);\n self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);\n }\n } else {\n return self._pos;\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the listener is pointing in the 3D cartesian space.\n * A front and up vector must be provided. The front is the direction the\n * face of the listener is pointing, and up is the direction the top of the\n * listener is pointing. Thus, these values are expected to be at right angles\n * from each other.\n * @param {Number} x The x-orientation of the listener.\n * @param {Number} y The y-orientation of the listener.\n * @param {Number} z The z-orientation of the listener.\n * @param {Number} xUp The x-orientation of the top of the listener.\n * @param {Number} yUp The y-orientation of the top of the listener.\n * @param {Number} zUp The z-orientation of the top of the listener.\n * @return {Howler/Array} Returns self or the current orientation vectors.\n */\n HowlerGlobal.prototype.orientation = function(x, y, z, xUp, yUp, zUp) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self.ctx || !self.ctx.listener) {\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n var or = self._orientation;\n y = (typeof y !== 'number') ? or[1] : y;\n z = (typeof z !== 'number') ? or[2] : z;\n xUp = (typeof xUp !== 'number') ? or[3] : xUp;\n yUp = (typeof yUp !== 'number') ? or[4] : yUp;\n zUp = (typeof zUp !== 'number') ? or[5] : zUp;\n\n if (typeof x === 'number') {\n self._orientation = [x, y, z, xUp, yUp, zUp];\n\n if (typeof self.ctx.listener.forwardX !== 'undefined') {\n self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardY.setTargetAtTime(y, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);\n self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);\n } else {\n self.ctx.listener.setOrientation(x, y, z, xUp, yUp, zUp);\n }\n } else {\n return or;\n }\n\n return self;\n };\n\n /** Group Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core init.\n * @param {Function} _super Core init method.\n * @return {Howl}\n */\n Howl.prototype.init = (function(_super) {\n return function(o) {\n var self = this;\n\n // Setup user-defined default properties.\n self._orientation = o.orientation || [1, 0, 0];\n self._stereo = o.stereo || null;\n self._pos = o.pos || null;\n self._pannerAttr = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : 360,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : 360,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : 0,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : 'inverse',\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : 10000,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : 'HRTF',\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : 1,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : 1\n };\n\n // Setup event listeners.\n self._onstereo = o.onstereo ? [{fn: o.onstereo}] : [];\n self._onpos = o.onpos ? [{fn: o.onpos}] : [];\n self._onorientation = o.onorientation ? [{fn: o.onorientation}] : [];\n\n // Complete initilization with howler.js core's init function.\n return _super.call(this, o);\n };\n })(Howl.prototype.init);\n\n /**\n * Get/set the stereo panning of the audio source for this sound or all in the group.\n * @param {Number} pan A value of -1.0 is all the way left and 1.0 is all the way right.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Number} Returns self or the current stereo panning value.\n */\n Howl.prototype.stereo = function(pan, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change stereo pan when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'stereo',\n action: function() {\n self.stereo(pan, id);\n }\n });\n\n return self;\n }\n\n // Check for PannerStereoNode support and fallback to PannerNode if it doesn't exist.\n var pannerType = (typeof Howler.ctx.createStereoPanner === 'undefined') ? 'spatial' : 'stereo';\n\n // Setup the group's stereo panning if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's stereo panning if no parameters are passed.\n if (typeof pan === 'number') {\n self._stereo = pan;\n self._pos = [pan, 0, 0];\n } else {\n return self._stereo;\n }\n }\n\n // Change the streo panning of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i<ids.length; i++) {\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n if (sound) {\n if (typeof pan === 'number') {\n sound._stereo = pan;\n sound._pos = [pan, 0, 0];\n\n if (sound._node) {\n // If we are falling back, make sure the panningModel is equalpower.\n sound._pannerAttr.panningModel = 'equalpower';\n\n // Check if there is a panner setup and create a new one if not.\n if (!sound._panner || !sound._panner.pan) {\n setupPanner(sound, pannerType);\n }\n\n if (pannerType === 'spatial') {\n if (typeof sound._panner.positionX !== 'undefined') {\n sound._panner.positionX.setValueAtTime(pan, Howler.ctx.currentTime);\n sound._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime);\n sound._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime);\n } else {\n sound._panner.setPosition(pan, 0, 0);\n }\n } else {\n sound._panner.pan.setValueAtTime(pan, Howler.ctx.currentTime);\n }\n }\n\n self._emit('stereo', sound._id);\n } else {\n return sound._stereo;\n }\n }\n }\n\n return self;\n };\n\n /**\n * Get/set the 3D spatial position of the audio source for this sound or group relative to the global listener.\n * @param {Number} x The x-position of the audio source.\n * @param {Number} y The y-position of the audio source.\n * @param {Number} z The z-position of the audio source.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Array} Returns self or the current 3D spatial position: [x, y, z].\n */\n Howl.prototype.pos = function(x, y, z, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change position when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'pos',\n action: function() {\n self.pos(x, y, z, id);\n }\n });\n\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? 0 : y;\n z = (typeof z !== 'number') ? -0.5 : z;\n\n // Setup the group's spatial position if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's spatial position if no parameters are passed.\n if (typeof x === 'number') {\n self._pos = [x, y, z];\n } else {\n return self._pos;\n }\n }\n\n // Change the spatial position of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i<ids.length; i++) {\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n if (sound) {\n if (typeof x === 'number') {\n sound._pos = [x, y, z];\n\n if (sound._node) {\n // Check if there is a panner setup and create a new one if not.\n if (!sound._panner || sound._panner.pan) {\n setupPanner(sound, 'spatial');\n }\n\n if (typeof sound._panner.positionX !== 'undefined') {\n sound._panner.positionX.setValueAtTime(x, Howler.ctx.currentTime);\n sound._panner.positionY.setValueAtTime(y, Howler.ctx.currentTime);\n sound._panner.positionZ.setValueAtTime(z, Howler.ctx.currentTime);\n } else {\n sound._panner.setPosition(x, y, z);\n }\n }\n\n self._emit('pos', sound._id);\n } else {\n return sound._pos;\n }\n }\n }\n\n return self;\n };\n\n /**\n * Get/set the direction the audio source is pointing in the 3D cartesian coordinate\n * space. Depending on how direction the sound is, based on the `cone` attributes,\n * a sound pointing away from the listener can be quiet or silent.\n * @param {Number} x The x-orientation of the source.\n * @param {Number} y The y-orientation of the source.\n * @param {Number} z The z-orientation of the source.\n * @param {Number} id (optional) The sound ID. If none is passed, all in group will be updated.\n * @return {Howl/Array} Returns self or the current 3D spatial orientation: [x, y, z].\n */\n Howl.prototype.orientation = function(x, y, z, id) {\n var self = this;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // If the sound hasn't loaded, add it to the load queue to change orientation when capable.\n if (self._state !== 'loaded') {\n self._queue.push({\n event: 'orientation',\n action: function() {\n self.orientation(x, y, z, id);\n }\n });\n\n return self;\n }\n\n // Set the defaults for optional 'y' & 'z'.\n y = (typeof y !== 'number') ? self._orientation[1] : y;\n z = (typeof z !== 'number') ? self._orientation[2] : z;\n\n // Setup the group's spatial orientation if no ID is passed.\n if (typeof id === 'undefined') {\n // Return the group's spatial orientation if no parameters are passed.\n if (typeof x === 'number') {\n self._orientation = [x, y, z];\n } else {\n return self._orientation;\n }\n }\n\n // Change the spatial orientation of one or all sounds in group.\n var ids = self._getSoundIds(id);\n for (var i=0; i<ids.length; i++) {\n // Get the sound.\n var sound = self._soundById(ids[i]);\n\n if (sound) {\n if (typeof x === 'number') {\n sound._orientation = [x, y, z];\n\n if (sound._node) {\n // Check if there is a panner setup and create a new one if not.\n if (!sound._panner) {\n // Make sure we have a position to setup the node with.\n if (!sound._pos) {\n sound._pos = self._pos || [0, 0, -0.5];\n }\n\n setupPanner(sound, 'spatial');\n }\n\n if (typeof sound._panner.orientationX !== 'undefined') {\n sound._panner.orientationX.setValueAtTime(x, Howler.ctx.currentTime);\n sound._panner.orientationY.setValueAtTime(y, Howler.ctx.currentTime);\n sound._panner.orientationZ.setValueAtTime(z, Howler.ctx.currentTime);\n } else {\n sound._panner.setOrientation(x, y, z);\n }\n }\n\n self._emit('orientation', sound._id);\n } else {\n return sound._orientation;\n }\n }\n }\n\n return self;\n };\n\n /**\n * Get/set the panner node's attributes for a sound or group of sounds.\n * This method can optionall take 0, 1 or 2 arguments.\n * pannerAttr() -> Returns the group's values.\n * pannerAttr(id) -> Returns the sound id's values.\n * pannerAttr(o) -> Set's the values of all sounds in this Howl group.\n * pannerAttr(o, id) -> Set's the values of passed sound id.\n *\n * Attributes:\n * coneInnerAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * inside of which there will be no volume reduction.\n * coneOuterAngle - (360 by default) A parameter for directional audio sources, this is an angle, in degrees,\n * outside of which the volume will be reduced to a constant value of `coneOuterGain`.\n * coneOuterGain - (0 by default) A parameter for directional audio sources, this is the gain outside of the\n * `coneOuterAngle`. It is a linear value in the range `[0, 1]`.\n * distanceModel - ('inverse' by default) Determines algorithm used to reduce volume as audio moves away from\n * listener. Can be `linear`, `inverse` or `exponential.\n * maxDistance - (10000 by default) The maximum distance between source and listener, after which the volume\n * will not be reduced any further.\n * refDistance - (1 by default) A reference distance for reducing volume as source moves further from the listener.\n * This is simply a variable of the distance model and has a different effect depending on which model\n * is used and the scale of your coordinates. Generally, volume will be equal to 1 at this distance.\n * rolloffFactor - (1 by default) How quickly the volume reduces as source moves from listener. This is simply a\n * variable of the distance model and can be in the range of `[0, 1]` with `linear` and `[0, ∞]`\n * with `inverse` and `exponential`.\n * panningModel - ('HRTF' by default) Determines which spatialization algorithm is used to position audio.\n * Can be `HRTF` or `equalpower`.\n *\n * @return {Howl/Object} Returns self or current panner attributes.\n */\n Howl.prototype.pannerAttr = function() {\n var self = this;\n var args = arguments;\n var o, id, sound;\n\n // Stop right here if not using Web Audio.\n if (!self._webAudio) {\n return self;\n }\n\n // Determine the values based on arguments.\n if (args.length === 0) {\n // Return the group's panner attribute values.\n return self._pannerAttr;\n } else if (args.length === 1) {\n if (typeof args[0] === 'object') {\n o = args[0];\n\n // Set the grou's panner attribute values.\n if (typeof id === 'undefined') {\n if (!o.pannerAttr) {\n o.pannerAttr = {\n coneInnerAngle: o.coneInnerAngle,\n coneOuterAngle: o.coneOuterAngle,\n coneOuterGain: o.coneOuterGain,\n distanceModel: o.distanceModel,\n maxDistance: o.maxDistance,\n refDistance: o.refDistance,\n rolloffFactor: o.rolloffFactor,\n panningModel: o.panningModel\n };\n }\n\n self._pannerAttr = {\n coneInnerAngle: typeof o.pannerAttr.coneInnerAngle !== 'undefined' ? o.pannerAttr.coneInnerAngle : self._coneInnerAngle,\n coneOuterAngle: typeof o.pannerAttr.coneOuterAngle !== 'undefined' ? o.pannerAttr.coneOuterAngle : self._coneOuterAngle,\n coneOuterGain: typeof o.pannerAttr.coneOuterGain !== 'undefined' ? o.pannerAttr.coneOuterGain : self._coneOuterGain,\n distanceModel: typeof o.pannerAttr.distanceModel !== 'undefined' ? o.pannerAttr.distanceModel : self._distanceModel,\n maxDistance: typeof o.pannerAttr.maxDistance !== 'undefined' ? o.pannerAttr.maxDistance : self._maxDistance,\n refDistance: typeof o.pannerAttr.refDistance !== 'undefined' ? o.pannerAttr.refDistance : self._refDistance,\n rolloffFactor: typeof o.pannerAttr.rolloffFactor !== 'undefined' ? o.pannerAttr.rolloffFactor : self._rolloffFactor,\n panningModel: typeof o.pannerAttr.panningModel !== 'undefined' ? o.pannerAttr.panningModel : self._panningModel\n };\n }\n } else {\n // Return this sound's panner attribute values.\n sound = self._soundById(parseInt(args[0], 10));\n return sound ? sound._pannerAttr : self._pannerAttr;\n }\n } else if (args.length === 2) {\n o = args[0];\n id = parseInt(args[1], 10);\n }\n\n // Update the values of the specified sounds.\n var ids = self._getSoundIds(id);\n for (var i=0; i<ids.length; i++) {\n sound = self._soundById(ids[i]);\n\n if (sound) {\n // Merge the new values into the sound.\n var pa = sound._pannerAttr;\n pa = {\n coneInnerAngle: typeof o.coneInnerAngle !== 'undefined' ? o.coneInnerAngle : pa.coneInnerAngle,\n coneOuterAngle: typeof o.coneOuterAngle !== 'undefined' ? o.coneOuterAngle : pa.coneOuterAngle,\n coneOuterGain: typeof o.coneOuterGain !== 'undefined' ? o.coneOuterGain : pa.coneOuterGain,\n distanceModel: typeof o.distanceModel !== 'undefined' ? o.distanceModel : pa.distanceModel,\n maxDistance: typeof o.maxDistance !== 'undefined' ? o.maxDistance : pa.maxDistance,\n refDistance: typeof o.refDistance !== 'undefined' ? o.refDistance : pa.refDistance,\n rolloffFactor: typeof o.rolloffFactor !== 'undefined' ? o.rolloffFactor : pa.rolloffFactor,\n panningModel: typeof o.panningModel !== 'undefined' ? o.panningModel : pa.panningModel\n };\n\n // Create a new panner node if one doesn't already exist.\n var panner = sound._panner;\n if (!panner) {\n // Make sure we have a position to setup the node with.\n if (!sound._pos) {\n sound._pos = self._pos || [0, 0, -0.5];\n }\n\n // Create a new panner node.\n setupPanner(sound, 'spatial');\n panner = sound._panner\n }\n\n // Update the panner values or create a new panner if none exists.\n panner.coneInnerAngle = pa.coneInnerAngle;\n panner.coneOuterAngle = pa.coneOuterAngle;\n panner.coneOuterGain = pa.coneOuterGain;\n panner.distanceModel = pa.distanceModel;\n panner.maxDistance = pa.maxDistance;\n panner.refDistance = pa.refDistance;\n panner.rolloffFactor = pa.rolloffFactor;\n panner.panningModel = pa.panningModel;\n }\n }\n\n return self;\n };\n\n /** Single Sound Methods **/\n /***************************************************************************/\n\n /**\n * Add new properties to the core Sound init.\n * @param {Function} _super Core Sound init method.\n * @return {Sound}\n */\n Sound.prototype.init = (function(_super) {\n return function() {\n var self = this;\n var parent = self._parent;\n\n // Setup user-defined default properties.\n self._orientation = parent._orientation;\n self._stereo = parent._stereo;\n self._pos = parent._pos;\n self._pannerAttr = parent._pannerAttr;\n\n // Complete initilization with howler.js core Sound's init function.\n _super.call(this);\n\n // If a stereo or position was specified, set it up.\n if (self._stereo) {\n parent.stereo(self._stereo);\n } else if (self._pos) {\n parent.pos(self._pos[0], self._pos[1], self._pos[2], self._id);\n }\n };\n })(Sound.prototype.init);\n\n /**\n * Override the Sound.reset method to clean up properties from the spatial plugin.\n * @param {Function} _super Sound reset method.\n * @return {Sound}\n */\n Sound.prototype.reset = (function(_super) {\n return function() {\n var self = this;\n var parent = self._parent;\n\n // Reset all spatial plugin properties on this sound.\n self._orientation = parent._orientation;\n self._stereo = parent._stereo;\n self._pos = parent._pos;\n self._pannerAttr = parent._pannerAttr;\n\n // If a stereo or position was specified, set it up.\n if (self._stereo) {\n parent.stereo(self._stereo);\n } else if (self._pos) {\n parent.pos(self._pos[0], self._pos[1], self._pos[2], self._id);\n } else if (self._panner) {\n // Disconnect the panner.\n self._panner.disconnect(0);\n self._panner = undefined;\n parent._refreshBuffer(self);\n }\n\n // Complete resetting of the sound.\n return _super.call(this);\n };\n })(Sound.prototype.reset);\n\n /** Helper Methods **/\n /***************************************************************************/\n\n /**\n * Create a new panner node and save it on the sound.\n * @param {Sound} sound Specific sound to setup panning on.\n * @param {String} type Type of panner to create: 'stereo' or 'spatial'.\n */\n var setupPanner = function(sound, type) {\n type = type || 'spatial';\n\n // Create the new panner node.\n if (type === 'spatial') {\n sound._panner = Howler.ctx.createPanner();\n sound._panner.coneInnerAngle = sound._pannerAttr.coneInnerAngle;\n sound._panner.coneOuterAngle = sound._pannerAttr.coneOuterAngle;\n sound._panner.coneOuterGain = sound._pannerAttr.coneOuterGain;\n sound._panner.distanceModel = sound._pannerAttr.distanceModel;\n sound._panner.maxDistance = sound._pannerAttr.maxDistance;\n sound._panner.refDistance = sound._pannerAttr.refDistance;\n sound._panner.rolloffFactor = sound._pannerAttr.rolloffFactor;\n sound._panner.panningModel = sound._pannerAttr.panningModel;\n\n if (typeof sound._panner.positionX !== 'undefined') {\n sound._panner.positionX.setValueAtTime(sound._pos[0], Howler.ctx.currentTime);\n sound._panner.positionY.setValueAtTime(sound._pos[1], Howler.ctx.currentTime);\n sound._panner.positionZ.setValueAtTime(sound._pos[2], Howler.ctx.currentTime);\n } else {\n sound._panner.setPosition(sound._pos[0], sound._pos[1], sound._pos[2]);\n }\n\n if (typeof sound._panner.orientationX !== 'undefined') {\n sound._panner.orientationX.setValueAtTime(sound._orientation[0], Howler.ctx.currentTime);\n sound._panner.orientationY.setValueAtTime(sound._orientation[1], Howler.ctx.currentTime);\n sound._panner.orientationZ.setValueAtTime(sound._orientation[2], Howler.ctx.currentTime);\n } else {\n sound._panner.setOrientation(sound._orientation[0], sound._orientation[1], sound._orientation[2]);\n }\n } else {\n sound._panner = Howler.ctx.createStereoPanner();\n sound._panner.pan.setValueAtTime(sound._stereo, Howler.ctx.currentTime);\n }\n\n sound._panner.connect(sound._node);\n\n // Update the connections.\n if (!sound._paused) {\n sound._parent.pause(sound._id, true).play(sound._id, true);\n }\n };\n})();\n" + ], + "names": [ + "HowlerGlobal", + "self", + "Howler", + "vol", + "setupAudioContext", + "i", + "ids", + "j", + "sound", + "muted", + "ext", + "test", + "audioTest", + "mpegTest", + "ua", + "checkOpera", + "isOldOpera", + "checkSafari", + "safariVersion", + "isOldSafari", + "unlock", + "e", + "audioNode", + "source", + "testPlay", + "audio", + "handleSuspension", + "Howl", + "o", + "url", + "str", + "Sound", + "loadBuffer", + "sprite", + "internal", + "id", + "num", + "soundId", + "seek", + "duration", + "timeout", + "start", + "stop", + "setParams", + "node", + "playWebAudio", + "playHtml5", + "play", + "err", + "loadedNoReadyState", + "listener", + "args", + "index", + "from", + "to", + "len", + "currentTime", + "end", + "isGroup", + "diff", + "steps", + "stepLen", + "lastTick", + "tick", + "loop", + "rate", + "playing", + "seekAndEmit", + "emitSeek", + "realTime", + "rateSeek", + "sounds", + "remCache", + "cache", + "event", + "fn", + "once", + "events", + "isId", + "keys", + "msg", + "task", + "limit", + "cnt", + "isIOS", + "checkIE", + "howl", + "parent", + "volume", + "loadSound", + "data", + "dataView", + "decodeAudioData", + "xhr", + "key", + "code", + "safeXhrSend", + "arraybuffer", + "error", + "success", + "buffer", + "iOS", + "appVersion", + "version", + "safari", + "exports", + "global", + "pan", + "x", + "y", + "z", + "xUp", + "yUp", + "zUp", + "or", + "_super", + "pannerType", + "setupPanner", + "pa", + "panner", + "type" + ], + "mappings": "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", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-q-j0iyEw.js b/src/webview-ui/build/assets/chunk-q-j0iyEw.js new file mode 100644 index 0000000000..260835b957 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-q-j0iyEw.js @@ -0,0 +1,7 @@ +const e = Object.freeze( + JSON.parse( + '{"colors":{"activityBar.activeBackground":"#00000000","activityBar.activeBorder":"#00000000","activityBar.activeFocusBorder":"#00000000","activityBar.background":"#dce0e8","activityBar.border":"#00000000","activityBar.dropBorder":"#8839ef33","activityBar.foreground":"#8839ef","activityBar.inactiveForeground":"#9ca0b0","activityBarBadge.background":"#8839ef","activityBarBadge.foreground":"#dce0e8","activityBarTop.activeBorder":"#00000000","activityBarTop.dropBorder":"#8839ef33","activityBarTop.foreground":"#8839ef","activityBarTop.inactiveForeground":"#9ca0b0","badge.background":"#bcc0cc","badge.foreground":"#4c4f69","banner.background":"#bcc0cc","banner.foreground":"#4c4f69","banner.iconForeground":"#4c4f69","breadcrumb.activeSelectionForeground":"#8839ef","breadcrumb.background":"#eff1f5","breadcrumb.focusForeground":"#8839ef","breadcrumb.foreground":"#4c4f69cc","breadcrumbPicker.background":"#e6e9ef","button.background":"#8839ef","button.border":"#00000000","button.foreground":"#dce0e8","button.hoverBackground":"#9c5af2","button.secondaryBackground":"#acb0be","button.secondaryBorder":"#8839ef","button.secondaryForeground":"#4c4f69","button.secondaryHoverBackground":"#c0c3ce","button.separator":"#00000000","charts.blue":"#1e66f5","charts.foreground":"#4c4f69","charts.green":"#40a02b","charts.lines":"#5c5f77","charts.orange":"#fe640b","charts.purple":"#8839ef","charts.red":"#d20f39","charts.yellow":"#df8e1d","checkbox.background":"#bcc0cc","checkbox.border":"#00000000","checkbox.foreground":"#8839ef","commandCenter.activeBackground":"#acb0be33","commandCenter.activeBorder":"#8839ef","commandCenter.activeForeground":"#8839ef","commandCenter.background":"#e6e9ef","commandCenter.border":"#00000000","commandCenter.foreground":"#5c5f77","commandCenter.inactiveBorder":"#00000000","commandCenter.inactiveForeground":"#5c5f77","debugConsole.errorForeground":"#d20f39","debugConsole.infoForeground":"#1e66f5","debugConsole.sourceForeground":"#dc8a78","debugConsole.warningForeground":"#fe640b","debugConsoleInputIcon.foreground":"#4c4f69","debugExceptionWidget.background":"#dce0e8","debugExceptionWidget.border":"#8839ef","debugIcon.breakpointCurrentStackframeForeground":"#acb0be","debugIcon.breakpointDisabledForeground":"#d20f3999","debugIcon.breakpointForeground":"#d20f39","debugIcon.breakpointStackframeForeground":"#acb0be","debugIcon.breakpointUnverifiedForeground":"#bf607c","debugIcon.continueForeground":"#40a02b","debugIcon.disconnectForeground":"#acb0be","debugIcon.pauseForeground":"#1e66f5","debugIcon.restartForeground":"#179299","debugIcon.startForeground":"#40a02b","debugIcon.stepBackForeground":"#acb0be","debugIcon.stepIntoForeground":"#4c4f69","debugIcon.stepOutForeground":"#4c4f69","debugIcon.stepOverForeground":"#8839ef","debugIcon.stopForeground":"#d20f39","debugTokenExpression.boolean":"#8839ef","debugTokenExpression.error":"#d20f39","debugTokenExpression.number":"#fe640b","debugTokenExpression.string":"#40a02b","debugToolBar.background":"#dce0e8","debugToolBar.border":"#00000000","descriptionForeground":"#4c4f69","diffEditor.border":"#acb0be","diffEditor.diagonalFill":"#acb0be99","diffEditor.insertedLineBackground":"#40a02b26","diffEditor.insertedTextBackground":"#40a02b33","diffEditor.removedLineBackground":"#d20f3926","diffEditor.removedTextBackground":"#d20f3933","diffEditorOverview.insertedForeground":"#40a02bcc","diffEditorOverview.removedForeground":"#d20f39cc","disabledForeground":"#6c6f85","dropdown.background":"#e6e9ef","dropdown.border":"#8839ef","dropdown.foreground":"#4c4f69","dropdown.listBackground":"#acb0be","editor.background":"#eff1f5","editor.findMatchBackground":"#e6adbd","editor.findMatchBorder":"#d20f3933","editor.findMatchHighlightBackground":"#a9daf0","editor.findMatchHighlightBorder":"#04a5e533","editor.findRangeHighlightBackground":"#a9daf0","editor.findRangeHighlightBorder":"#04a5e533","editor.focusedStackFrameHighlightBackground":"#40a02b26","editor.foldBackground":"#04a5e540","editor.foreground":"#4c4f69","editor.hoverHighlightBackground":"#04a5e540","editor.lineHighlightBackground":"#4c4f6912","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#04a5e540","editor.rangeHighlightBorder":"#00000000","editor.selectionBackground":"#7c7f934d","editor.selectionHighlightBackground":"#7c7f9333","editor.selectionHighlightBorder":"#7c7f9333","editor.stackFrameHighlightBackground":"#df8e1d26","editor.wordHighlightBackground":"#7c7f9333","editor.wordHighlightStrongBackground":"#1e66f526","editorBracketHighlight.foreground1":"#d20f39","editorBracketHighlight.foreground2":"#fe640b","editorBracketHighlight.foreground3":"#df8e1d","editorBracketHighlight.foreground4":"#40a02b","editorBracketHighlight.foreground5":"#209fb5","editorBracketHighlight.foreground6":"#8839ef","editorBracketHighlight.unexpectedBracket.foreground":"#e64553","editorBracketMatch.background":"#7c7f931a","editorBracketMatch.border":"#7c7f93","editorCodeLens.foreground":"#8c8fa1","editorCursor.background":"#eff1f5","editorCursor.foreground":"#dc8a78","editorError.background":"#00000000","editorError.border":"#00000000","editorError.foreground":"#d20f39","editorGroup.border":"#acb0be","editorGroup.dropBackground":"#8839ef33","editorGroup.emptyBackground":"#eff1f5","editorGroupHeader.tabsBackground":"#dce0e8","editorGutter.addedBackground":"#40a02b","editorGutter.background":"#eff1f5","editorGutter.commentGlyphForeground":"#8839ef","editorGutter.commentRangeForeground":"#ccd0da","editorGutter.deletedBackground":"#d20f39","editorGutter.foldingControlForeground":"#7c7f93","editorGutter.modifiedBackground":"#df8e1d","editorHoverWidget.background":"#e6e9ef","editorHoverWidget.border":"#acb0be","editorHoverWidget.foreground":"#4c4f69","editorIndentGuide.activeBackground":"#acb0be","editorIndentGuide.background":"#bcc0cc","editorInfo.background":"#00000000","editorInfo.border":"#00000000","editorInfo.foreground":"#1e66f5","editorInlayHint.background":"#e6e9efbf","editorInlayHint.foreground":"#acb0be","editorInlayHint.parameterBackground":"#e6e9efbf","editorInlayHint.parameterForeground":"#6c6f85","editorInlayHint.typeBackground":"#e6e9efbf","editorInlayHint.typeForeground":"#5c5f77","editorLightBulb.foreground":"#df8e1d","editorLineNumber.activeForeground":"#8839ef","editorLineNumber.foreground":"#8c8fa1","editorLink.activeForeground":"#8839ef","editorMarkerNavigation.background":"#e6e9ef","editorMarkerNavigationError.background":"#d20f39","editorMarkerNavigationInfo.background":"#1e66f5","editorMarkerNavigationWarning.background":"#fe640b","editorOverviewRuler.background":"#e6e9ef","editorOverviewRuler.border":"#4c4f6912","editorOverviewRuler.modifiedForeground":"#df8e1d","editorRuler.foreground":"#acb0be","editorStickyScrollHover.background":"#ccd0da","editorSuggestWidget.background":"#e6e9ef","editorSuggestWidget.border":"#acb0be","editorSuggestWidget.foreground":"#4c4f69","editorSuggestWidget.highlightForeground":"#8839ef","editorSuggestWidget.selectedBackground":"#ccd0da","editorWarning.background":"#00000000","editorWarning.border":"#00000000","editorWarning.foreground":"#fe640b","editorWhitespace.foreground":"#7c7f9366","editorWidget.background":"#e6e9ef","editorWidget.foreground":"#4c4f69","editorWidget.resizeBorder":"#acb0be","errorForeground":"#d20f39","errorLens.errorBackground":"#d20f3926","errorLens.errorBackgroundLight":"#d20f3926","errorLens.errorForeground":"#d20f39","errorLens.errorForegroundLight":"#d20f39","errorLens.errorMessageBackground":"#d20f3926","errorLens.hintBackground":"#40a02b26","errorLens.hintBackgroundLight":"#40a02b26","errorLens.hintForeground":"#40a02b","errorLens.hintForegroundLight":"#40a02b","errorLens.hintMessageBackground":"#40a02b26","errorLens.infoBackground":"#1e66f526","errorLens.infoBackgroundLight":"#1e66f526","errorLens.infoForeground":"#1e66f5","errorLens.infoForegroundLight":"#1e66f5","errorLens.infoMessageBackground":"#1e66f526","errorLens.statusBarErrorForeground":"#d20f39","errorLens.statusBarHintForeground":"#40a02b","errorLens.statusBarIconErrorForeground":"#d20f39","errorLens.statusBarIconWarningForeground":"#fe640b","errorLens.statusBarInfoForeground":"#1e66f5","errorLens.statusBarWarningForeground":"#fe640b","errorLens.warningBackground":"#fe640b26","errorLens.warningBackgroundLight":"#fe640b26","errorLens.warningForeground":"#fe640b","errorLens.warningForegroundLight":"#fe640b","errorLens.warningMessageBackground":"#fe640b26","extensionBadge.remoteBackground":"#1e66f5","extensionBadge.remoteForeground":"#dce0e8","extensionButton.prominentBackground":"#8839ef","extensionButton.prominentForeground":"#dce0e8","extensionButton.prominentHoverBackground":"#9c5af2","extensionButton.separator":"#eff1f5","extensionIcon.preReleaseForeground":"#acb0be","extensionIcon.sponsorForeground":"#ea76cb","extensionIcon.starForeground":"#df8e1d","extensionIcon.verifiedForeground":"#40a02b","focusBorder":"#8839ef","foreground":"#4c4f69","gitDecoration.addedResourceForeground":"#40a02b","gitDecoration.conflictingResourceForeground":"#8839ef","gitDecoration.deletedResourceForeground":"#d20f39","gitDecoration.ignoredResourceForeground":"#9ca0b0","gitDecoration.modifiedResourceForeground":"#df8e1d","gitDecoration.stageDeletedResourceForeground":"#d20f39","gitDecoration.stageModifiedResourceForeground":"#df8e1d","gitDecoration.submoduleResourceForeground":"#1e66f5","gitDecoration.untrackedResourceForeground":"#40a02b","gitlens.closedAutolinkedIssueIconColor":"#8839ef","gitlens.closedPullRequestIconColor":"#d20f39","gitlens.decorations.branchAheadForegroundColor":"#40a02b","gitlens.decorations.branchBehindForegroundColor":"#fe640b","gitlens.decorations.branchDivergedForegroundColor":"#df8e1d","gitlens.decorations.branchMissingUpstreamForegroundColor":"#fe640b","gitlens.decorations.branchUnpublishedForegroundColor":"#40a02b","gitlens.decorations.statusMergingOrRebasingConflictForegroundColor":"#e64553","gitlens.decorations.statusMergingOrRebasingForegroundColor":"#df8e1d","gitlens.decorations.workspaceCurrentForegroundColor":"#8839ef","gitlens.decorations.workspaceRepoMissingForegroundColor":"#6c6f85","gitlens.decorations.workspaceRepoOpenForegroundColor":"#8839ef","gitlens.decorations.worktreeHasUncommittedChangesForegroundColor":"#fe640b","gitlens.decorations.worktreeMissingForegroundColor":"#e64553","gitlens.graphChangesColumnAddedColor":"#40a02b","gitlens.graphChangesColumnDeletedColor":"#d20f39","gitlens.graphLane10Color":"#ea76cb","gitlens.graphLane1Color":"#8839ef","gitlens.graphLane2Color":"#df8e1d","gitlens.graphLane3Color":"#1e66f5","gitlens.graphLane4Color":"#dd7878","gitlens.graphLane5Color":"#40a02b","gitlens.graphLane6Color":"#7287fd","gitlens.graphLane7Color":"#dc8a78","gitlens.graphLane8Color":"#d20f39","gitlens.graphLane9Color":"#179299","gitlens.graphMinimapMarkerHeadColor":"#40a02b","gitlens.graphMinimapMarkerHighlightsColor":"#df8e1d","gitlens.graphMinimapMarkerLocalBranchesColor":"#1e66f5","gitlens.graphMinimapMarkerRemoteBranchesColor":"#0b57ef","gitlens.graphMinimapMarkerStashesColor":"#8839ef","gitlens.graphMinimapMarkerTagsColor":"#dd7878","gitlens.graphMinimapMarkerUpstreamColor":"#388c26","gitlens.graphScrollMarkerHeadColor":"#40a02b","gitlens.graphScrollMarkerHighlightsColor":"#df8e1d","gitlens.graphScrollMarkerLocalBranchesColor":"#1e66f5","gitlens.graphScrollMarkerRemoteBranchesColor":"#0b57ef","gitlens.graphScrollMarkerStashesColor":"#8839ef","gitlens.graphScrollMarkerTagsColor":"#dd7878","gitlens.graphScrollMarkerUpstreamColor":"#388c26","gitlens.gutterBackgroundColor":"#ccd0da4d","gitlens.gutterForegroundColor":"#4c4f69","gitlens.gutterUncommittedForegroundColor":"#8839ef","gitlens.lineHighlightBackgroundColor":"#8839ef26","gitlens.lineHighlightOverviewRulerColor":"#8839efcc","gitlens.mergedPullRequestIconColor":"#8839ef","gitlens.openAutolinkedIssueIconColor":"#40a02b","gitlens.openPullRequestIconColor":"#40a02b","gitlens.trailingLineBackgroundColor":"#00000000","gitlens.trailingLineForegroundColor":"#4c4f694d","gitlens.unpublishedChangesIconColor":"#40a02b","gitlens.unpublishedCommitIconColor":"#40a02b","gitlens.unpulledChangesIconColor":"#fe640b","icon.foreground":"#8839ef","input.background":"#ccd0da","input.border":"#00000000","input.foreground":"#4c4f69","input.placeholderForeground":"#4c4f6973","inputOption.activeBackground":"#acb0be","inputOption.activeBorder":"#8839ef","inputOption.activeForeground":"#4c4f69","inputValidation.errorBackground":"#d20f39","inputValidation.errorBorder":"#dce0e833","inputValidation.errorForeground":"#dce0e8","inputValidation.infoBackground":"#1e66f5","inputValidation.infoBorder":"#dce0e833","inputValidation.infoForeground":"#dce0e8","inputValidation.warningBackground":"#fe640b","inputValidation.warningBorder":"#dce0e833","inputValidation.warningForeground":"#dce0e8","issues.closed":"#8839ef","issues.newIssueDecoration":"#dc8a78","issues.open":"#40a02b","list.activeSelectionBackground":"#ccd0da","list.activeSelectionForeground":"#4c4f69","list.dropBackground":"#8839ef33","list.focusAndSelectionBackground":"#bcc0cc","list.focusBackground":"#ccd0da","list.focusForeground":"#4c4f69","list.focusOutline":"#00000000","list.highlightForeground":"#8839ef","list.hoverBackground":"#ccd0da80","list.hoverForeground":"#4c4f69","list.inactiveSelectionBackground":"#ccd0da","list.inactiveSelectionForeground":"#4c4f69","list.warningForeground":"#fe640b","listFilterWidget.background":"#bcc0cc","listFilterWidget.noMatchesOutline":"#d20f39","listFilterWidget.outline":"#00000000","menu.background":"#eff1f5","menu.border":"#eff1f580","menu.foreground":"#4c4f69","menu.selectionBackground":"#acb0be","menu.selectionBorder":"#00000000","menu.selectionForeground":"#4c4f69","menu.separatorBackground":"#acb0be","menubar.selectionBackground":"#bcc0cc","menubar.selectionForeground":"#4c4f69","merge.commonContentBackground":"#bcc0cc","merge.commonHeaderBackground":"#acb0be","merge.currentContentBackground":"#40a02b33","merge.currentHeaderBackground":"#40a02b66","merge.incomingContentBackground":"#1e66f533","merge.incomingHeaderBackground":"#1e66f566","minimap.background":"#e6e9ef80","minimap.errorHighlight":"#d20f39bf","minimap.findMatchHighlight":"#04a5e54d","minimap.selectionHighlight":"#acb0bebf","minimap.selectionOccurrenceHighlight":"#acb0bebf","minimap.warningHighlight":"#fe640bbf","minimapGutter.addedBackground":"#40a02bbf","minimapGutter.deletedBackground":"#d20f39bf","minimapGutter.modifiedBackground":"#df8e1dbf","minimapSlider.activeBackground":"#8839ef99","minimapSlider.background":"#8839ef33","minimapSlider.hoverBackground":"#8839ef66","notificationCenter.border":"#8839ef","notificationCenterHeader.background":"#e6e9ef","notificationCenterHeader.foreground":"#4c4f69","notificationLink.foreground":"#1e66f5","notificationToast.border":"#8839ef","notifications.background":"#e6e9ef","notifications.border":"#8839ef","notifications.foreground":"#4c4f69","notificationsErrorIcon.foreground":"#d20f39","notificationsInfoIcon.foreground":"#1e66f5","notificationsWarningIcon.foreground":"#fe640b","panel.background":"#eff1f5","panel.border":"#acb0be","panelSection.border":"#acb0be","panelSection.dropBackground":"#8839ef33","panelTitle.activeBorder":"#8839ef","panelTitle.activeForeground":"#4c4f69","panelTitle.inactiveForeground":"#6c6f85","peekView.border":"#8839ef","peekViewEditor.background":"#e6e9ef","peekViewEditor.matchHighlightBackground":"#04a5e54d","peekViewEditor.matchHighlightBorder":"#00000000","peekViewEditorGutter.background":"#e6e9ef","peekViewResult.background":"#e6e9ef","peekViewResult.fileForeground":"#4c4f69","peekViewResult.lineForeground":"#4c4f69","peekViewResult.matchHighlightBackground":"#04a5e54d","peekViewResult.selectionBackground":"#ccd0da","peekViewResult.selectionForeground":"#4c4f69","peekViewTitle.background":"#eff1f5","peekViewTitleDescription.foreground":"#5c5f77b3","peekViewTitleLabel.foreground":"#4c4f69","pickerGroup.border":"#8839ef","pickerGroup.foreground":"#8839ef","problemsErrorIcon.foreground":"#d20f39","problemsInfoIcon.foreground":"#1e66f5","problemsWarningIcon.foreground":"#fe640b","progressBar.background":"#8839ef","pullRequests.closed":"#d20f39","pullRequests.draft":"#7c7f93","pullRequests.merged":"#8839ef","pullRequests.notification":"#4c4f69","pullRequests.open":"#40a02b","sash.hoverBorder":"#8839ef","scrollbar.shadow":"#dce0e8","scrollbarSlider.activeBackground":"#ccd0da66","scrollbarSlider.background":"#acb0be80","scrollbarSlider.hoverBackground":"#9ca0b0","selection.background":"#8839ef66","settings.dropdownBackground":"#bcc0cc","settings.dropdownListBorder":"#00000000","settings.focusedRowBackground":"#acb0be33","settings.headerForeground":"#4c4f69","settings.modifiedItemIndicator":"#8839ef","settings.numberInputBackground":"#bcc0cc","settings.numberInputBorder":"#00000000","settings.textInputBackground":"#bcc0cc","settings.textInputBorder":"#00000000","sideBar.background":"#e6e9ef","sideBar.border":"#00000000","sideBar.dropBackground":"#8839ef33","sideBar.foreground":"#4c4f69","sideBarSectionHeader.background":"#e6e9ef","sideBarSectionHeader.foreground":"#4c4f69","sideBarTitle.foreground":"#8839ef","statusBar.background":"#dce0e8","statusBar.border":"#00000000","statusBar.debuggingBackground":"#fe640b","statusBar.debuggingBorder":"#00000000","statusBar.debuggingForeground":"#dce0e8","statusBar.foreground":"#4c4f69","statusBar.noFolderBackground":"#dce0e8","statusBar.noFolderBorder":"#00000000","statusBar.noFolderForeground":"#4c4f69","statusBarItem.activeBackground":"#acb0be66","statusBarItem.errorBackground":"#00000000","statusBarItem.errorForeground":"#d20f39","statusBarItem.hoverBackground":"#acb0be33","statusBarItem.prominentBackground":"#00000000","statusBarItem.prominentForeground":"#8839ef","statusBarItem.prominentHoverBackground":"#acb0be33","statusBarItem.remoteBackground":"#1e66f5","statusBarItem.remoteForeground":"#dce0e8","statusBarItem.warningBackground":"#00000000","statusBarItem.warningForeground":"#fe640b","symbolIcon.arrayForeground":"#fe640b","symbolIcon.booleanForeground":"#8839ef","symbolIcon.classForeground":"#df8e1d","symbolIcon.colorForeground":"#ea76cb","symbolIcon.constantForeground":"#fe640b","symbolIcon.constructorForeground":"#7287fd","symbolIcon.enumeratorForeground":"#df8e1d","symbolIcon.enumeratorMemberForeground":"#df8e1d","symbolIcon.eventForeground":"#ea76cb","symbolIcon.fieldForeground":"#4c4f69","symbolIcon.fileForeground":"#8839ef","symbolIcon.folderForeground":"#8839ef","symbolIcon.functionForeground":"#1e66f5","symbolIcon.interfaceForeground":"#df8e1d","symbolIcon.keyForeground":"#179299","symbolIcon.keywordForeground":"#8839ef","symbolIcon.methodForeground":"#1e66f5","symbolIcon.moduleForeground":"#4c4f69","symbolIcon.namespaceForeground":"#df8e1d","symbolIcon.nullForeground":"#e64553","symbolIcon.numberForeground":"#fe640b","symbolIcon.objectForeground":"#df8e1d","symbolIcon.operatorForeground":"#179299","symbolIcon.packageForeground":"#dd7878","symbolIcon.propertyForeground":"#e64553","symbolIcon.referenceForeground":"#df8e1d","symbolIcon.snippetForeground":"#dd7878","symbolIcon.stringForeground":"#40a02b","symbolIcon.structForeground":"#179299","symbolIcon.textForeground":"#4c4f69","symbolIcon.typeParameterForeground":"#e64553","symbolIcon.unitForeground":"#4c4f69","symbolIcon.variableForeground":"#4c4f69","tab.activeBackground":"#eff1f5","tab.activeBorder":"#00000000","tab.activeBorderTop":"#8839ef","tab.activeForeground":"#8839ef","tab.activeModifiedBorder":"#df8e1d","tab.border":"#e6e9ef","tab.hoverBackground":"#ffffff","tab.hoverBorder":"#00000000","tab.hoverForeground":"#8839ef","tab.inactiveBackground":"#e6e9ef","tab.inactiveForeground":"#9ca0b0","tab.inactiveModifiedBorder":"#df8e1d4d","tab.lastPinnedBorder":"#8839ef","tab.unfocusedActiveBackground":"#e6e9ef","tab.unfocusedActiveBorder":"#00000000","tab.unfocusedActiveBorderTop":"#8839ef4d","tab.unfocusedInactiveBackground":"#d6dbe5","table.headerBackground":"#ccd0da","table.headerForeground":"#4c4f69","terminal.ansiBlack":"#5c5f77","terminal.ansiBlue":"#1e66f5","terminal.ansiBrightBlack":"#6c6f85","terminal.ansiBrightBlue":"#456eff","terminal.ansiBrightCyan":"#2d9fa8","terminal.ansiBrightGreen":"#49af3d","terminal.ansiBrightMagenta":"#fe85d8","terminal.ansiBrightRed":"#de293e","terminal.ansiBrightWhite":"#bcc0cc","terminal.ansiBrightYellow":"#eea02d","terminal.ansiCyan":"#179299","terminal.ansiGreen":"#40a02b","terminal.ansiMagenta":"#ea76cb","terminal.ansiRed":"#d20f39","terminal.ansiWhite":"#acb0be","terminal.ansiYellow":"#df8e1d","terminal.border":"#acb0be","terminal.dropBackground":"#8839ef33","terminal.foreground":"#4c4f69","terminal.inactiveSelectionBackground":"#acb0be80","terminal.selectionBackground":"#acb0be","terminal.tab.activeBorder":"#8839ef","terminalCommandDecoration.defaultBackground":"#acb0be","terminalCommandDecoration.errorBackground":"#d20f39","terminalCommandDecoration.successBackground":"#40a02b","terminalCursor.background":"#eff1f5","terminalCursor.foreground":"#dc8a78","testing.coverCountBadgeBackground":"#00000000","testing.coverCountBadgeForeground":"#8839ef","testing.coveredBackground":"#40a02b4d","testing.coveredBorder":"#00000000","testing.coveredGutterBackground":"#40a02b4d","testing.iconErrored":"#d20f39","testing.iconErrored.retired":"#d20f39","testing.iconFailed":"#d20f39","testing.iconFailed.retired":"#d20f39","testing.iconPassed":"#40a02b","testing.iconPassed.retired":"#40a02b","testing.iconQueued":"#1e66f5","testing.iconQueued.retired":"#1e66f5","testing.iconSkipped":"#6c6f85","testing.iconSkipped.retired":"#6c6f85","testing.iconUnset":"#4c4f69","testing.iconUnset.retired":"#4c4f69","testing.message.error.lineBackground":"#d20f3926","testing.message.info.decorationForeground":"#40a02bcc","testing.message.info.lineBackground":"#40a02b26","testing.messagePeekBorder":"#8839ef","testing.messagePeekHeaderBackground":"#acb0be","testing.peekBorder":"#8839ef","testing.peekHeaderBackground":"#acb0be","testing.runAction":"#8839ef","testing.uncoveredBackground":"#d20f3933","testing.uncoveredBorder":"#00000000","testing.uncoveredBranchBackground":"#d20f3933","testing.uncoveredGutterBackground":"#d20f3940","textBlockQuote.background":"#e6e9ef","textBlockQuote.border":"#dce0e8","textCodeBlock.background":"#e6e9ef","textLink.activeForeground":"#04a5e5","textLink.foreground":"#1e66f5","textPreformat.foreground":"#4c4f69","textSeparator.foreground":"#8839ef","titleBar.activeBackground":"#dce0e8","titleBar.activeForeground":"#4c4f69","titleBar.border":"#00000000","titleBar.inactiveBackground":"#dce0e8","titleBar.inactiveForeground":"#4c4f6980","tree.inactiveIndentGuidesStroke":"#bcc0cc","tree.indentGuidesStroke":"#7c7f93","walkThrough.embeddedEditorBackground":"#eff1f54d","welcomePage.progress.background":"#dce0e8","welcomePage.progress.foreground":"#8839ef","welcomePage.tileBackground":"#e6e9ef","widget.shadow":"#e6e9ef80","window.activeBorder":"#00000000","window.inactiveBorder":"#00000000"},"displayName":"Catppuccin Latte","name":"catppuccin-latte","semanticHighlighting":true,"semanticTokenColors":{"boolean":{"foreground":"#fe640b"},"builtinAttribute.attribute.library:rust":{"foreground":"#1e66f5"},"class.builtin:python":{"foreground":"#8839ef"},"class:python":{"foreground":"#df8e1d"},"constant.builtin.readonly:nix":{"foreground":"#8839ef"},"enumMember":{"foreground":"#179299"},"function.decorator:python":{"foreground":"#fe640b"},"generic.attribute:rust":{"foreground":"#4c4f69"},"heading":{"foreground":"#d20f39"},"number":{"foreground":"#fe640b"},"pol":{"foreground":"#dd7878"},"property.readonly:javascript":{"foreground":"#4c4f69"},"property.readonly:javascriptreact":{"foreground":"#4c4f69"},"property.readonly:typescript":{"foreground":"#4c4f69"},"property.readonly:typescriptreact":{"foreground":"#4c4f69"},"selfKeyword":{"foreground":"#d20f39"},"text.emph":{"fontStyle":"italic","foreground":"#d20f39"},"text.math":{"foreground":"#dd7878"},"text.strong":{"fontStyle":"bold","foreground":"#d20f39"},"tomlArrayKey":{"fontStyle":"","foreground":"#1e66f5"},"tomlTableKey":{"fontStyle":"","foreground":"#1e66f5"},"type.defaultLibrary:go":{"foreground":"#8839ef"},"variable.defaultLibrary":{"foreground":"#e64553"},"variable.readonly.defaultLibrary:go":{"foreground":"#8839ef"},"variable.readonly:javascript":{"foreground":"#4c4f69"},"variable.readonly:javascriptreact":{"foreground":"#4c4f69"},"variable.readonly:scala":{"foreground":"#4c4f69"},"variable.readonly:typescript":{"foreground":"#4c4f69"},"variable.readonly:typescriptreact":{"foreground":"#4c4f69"},"variable.typeHint:python":{"foreground":"#df8e1d"}},"tokenColors":[{"scope":["text","source","variable.other.readwrite","punctuation.definition.variable"],"settings":{"foreground":"#4c4f69"}},{"scope":"punctuation","settings":{"fontStyle":"","foreground":"#7c7f93"}},{"scope":["comment","punctuation.definition.comment"],"settings":{"fontStyle":"italic","foreground":"#7c7f93"}},{"scope":["string","punctuation.definition.string"],"settings":{"foreground":"#40a02b"}},{"scope":"constant.character.escape","settings":{"foreground":"#ea76cb"}},{"scope":["constant.numeric","variable.other.constant","entity.name.constant","constant.language.boolean","constant.language.false","constant.language.true","keyword.other.unit.user-defined","keyword.other.unit.suffix.floating-point"],"settings":{"foreground":"#fe640b"}},{"scope":["keyword","keyword.operator.word","keyword.operator.new","variable.language.super","support.type.primitive","storage.type","storage.modifier","punctuation.definition.keyword"],"settings":{"fontStyle":"","foreground":"#8839ef"}},{"scope":"entity.name.tag.documentation","settings":{"foreground":"#8839ef"}},{"scope":["keyword.operator","punctuation.accessor","punctuation.definition.generic","meta.function.closure punctuation.section.parameters","punctuation.definition.tag","punctuation.separator.key-value"],"settings":{"foreground":"#179299"}},{"scope":["entity.name.function","meta.function-call.method","support.function","support.function.misc","variable.function"],"settings":{"fontStyle":"italic","foreground":"#1e66f5"}},{"scope":["entity.name.class","entity.other.inherited-class","support.class","meta.function-call.constructor","entity.name.struct"],"settings":{"fontStyle":"italic","foreground":"#df8e1d"}},{"scope":"entity.name.enum","settings":{"fontStyle":"italic","foreground":"#df8e1d"}},{"scope":["meta.enum variable.other.readwrite","variable.other.enummember"],"settings":{"foreground":"#179299"}},{"scope":"meta.property.object","settings":{"foreground":"#179299"}},{"scope":["meta.type","meta.type-alias","support.type","entity.name.type"],"settings":{"fontStyle":"italic","foreground":"#df8e1d"}},{"scope":["meta.annotation variable.function","meta.annotation variable.annotation.function","meta.annotation punctuation.definition.annotation","meta.decorator","punctuation.decorator"],"settings":{"foreground":"#fe640b"}},{"scope":["variable.parameter","meta.function.parameters"],"settings":{"fontStyle":"italic","foreground":"#e64553"}},{"scope":["constant.language","support.function.builtin"],"settings":{"foreground":"#d20f39"}},{"scope":"entity.other.attribute-name.documentation","settings":{"foreground":"#d20f39"}},{"scope":["keyword.control.directive","punctuation.definition.directive"],"settings":{"foreground":"#df8e1d"}},{"scope":"punctuation.definition.typeparameters","settings":{"foreground":"#04a5e5"}},{"scope":"entity.name.namespace","settings":{"foreground":"#df8e1d"}},{"scope":"support.type.property-name.css","settings":{"fontStyle":"","foreground":"#1e66f5"}},{"scope":["variable.language.this","variable.language.this punctuation.definition.variable"],"settings":{"foreground":"#d20f39"}},{"scope":"variable.object.property","settings":{"foreground":"#4c4f69"}},{"scope":["string.template variable","string variable"],"settings":{"foreground":"#4c4f69"}},{"scope":"keyword.operator.new","settings":{"fontStyle":"bold"}},{"scope":"storage.modifier.specifier.extern.cpp","settings":{"foreground":"#8839ef"}},{"scope":["entity.name.scope-resolution.template.call.cpp","entity.name.scope-resolution.parameter.cpp","entity.name.scope-resolution.cpp","entity.name.scope-resolution.function.definition.cpp"],"settings":{"foreground":"#df8e1d"}},{"scope":"storage.type.class.doxygen","settings":{"fontStyle":""}},{"scope":["storage.modifier.reference.cpp"],"settings":{"foreground":"#179299"}},{"scope":"meta.interpolation.cs","settings":{"foreground":"#4c4f69"}},{"scope":"comment.block.documentation.cs","settings":{"foreground":"#4c4f69"}},{"scope":["source.css entity.other.attribute-name.class.css","entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css"],"settings":{"foreground":"#df8e1d"}},{"scope":"punctuation.separator.operator.css","settings":{"foreground":"#179299"}},{"scope":"source.css entity.other.attribute-name.pseudo-class","settings":{"foreground":"#179299"}},{"scope":"source.css constant.other.unicode-range","settings":{"foreground":"#fe640b"}},{"scope":"source.css variable.parameter.url","settings":{"fontStyle":"","foreground":"#40a02b"}},{"scope":["support.type.vendored.property-name"],"settings":{"foreground":"#04a5e5"}},{"scope":["source.css meta.property-value variable","source.css meta.property-value variable.other.less","source.css meta.property-value variable.other.less punctuation.definition.variable.less","meta.definition.variable.scss"],"settings":{"foreground":"#e64553"}},{"scope":["source.css meta.property-list variable","meta.property-list variable.other.less","meta.property-list variable.other.less punctuation.definition.variable.less"],"settings":{"foreground":"#1e66f5"}},{"scope":"keyword.other.unit.percentage.css","settings":{"foreground":"#fe640b"}},{"scope":"source.css meta.attribute-selector","settings":{"foreground":"#40a02b"}},{"scope":["keyword.other.definition.ini","punctuation.support.type.property-name.json","support.type.property-name.json","punctuation.support.type.property-name.toml","support.type.property-name.toml","entity.name.tag.yaml","punctuation.support.type.property-name.yaml","support.type.property-name.yaml"],"settings":{"fontStyle":"","foreground":"#1e66f5"}},{"scope":["constant.language.json","constant.language.yaml"],"settings":{"foreground":"#fe640b"}},{"scope":["entity.name.type.anchor.yaml","variable.other.alias.yaml"],"settings":{"fontStyle":"","foreground":"#df8e1d"}},{"scope":["support.type.property-name.table","entity.name.section.group-title.ini"],"settings":{"foreground":"#df8e1d"}},{"scope":"constant.other.time.datetime.offset.toml","settings":{"foreground":"#ea76cb"}},{"scope":["punctuation.definition.anchor.yaml","punctuation.definition.alias.yaml"],"settings":{"foreground":"#ea76cb"}},{"scope":"entity.other.document.begin.yaml","settings":{"foreground":"#ea76cb"}},{"scope":"markup.changed.diff","settings":{"foreground":"#fe640b"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#1e66f5"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#40a02b"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#d20f39"}},{"scope":["variable.other.env"],"settings":{"foreground":"#1e66f5"}},{"scope":["string.quoted variable.other.env"],"settings":{"foreground":"#4c4f69"}},{"scope":"support.function.builtin.gdscript","settings":{"foreground":"#1e66f5"}},{"scope":"constant.language.gdscript","settings":{"foreground":"#fe640b"}},{"scope":"comment meta.annotation.go","settings":{"foreground":"#e64553"}},{"scope":"comment meta.annotation.parameters.go","settings":{"foreground":"#fe640b"}},{"scope":"constant.language.go","settings":{"foreground":"#fe640b"}},{"scope":"variable.graphql","settings":{"foreground":"#4c4f69"}},{"scope":"string.unquoted.alias.graphql","settings":{"foreground":"#dd7878"}},{"scope":"constant.character.enum.graphql","settings":{"foreground":"#179299"}},{"scope":"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql","settings":{"foreground":"#dd7878"}},{"scope":["keyword.other.doctype","meta.tag.sgml.doctype punctuation.definition.tag","meta.tag.metadata.doctype entity.name.tag","meta.tag.metadata.doctype punctuation.definition.tag"],"settings":{"foreground":"#8839ef"}},{"scope":["entity.name.tag"],"settings":{"fontStyle":"","foreground":"#1e66f5"}},{"scope":["text.html constant.character.entity","text.html constant.character.entity punctuation","constant.character.entity.xml","constant.character.entity.xml punctuation","constant.character.entity.js.jsx","constant.charactger.entity.js.jsx punctuation","constant.character.entity.tsx","constant.character.entity.tsx punctuation"],"settings":{"foreground":"#d20f39"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#df8e1d"}},{"scope":["support.class.component","support.class.component.jsx","support.class.component.tsx","support.class.component.vue"],"settings":{"fontStyle":"","foreground":"#ea76cb"}},{"scope":["punctuation.definition.annotation","storage.type.annotation"],"settings":{"foreground":"#fe640b"}},{"scope":"constant.other.enum.java","settings":{"foreground":"#179299"}},{"scope":"storage.modifier.import.java","settings":{"foreground":"#4c4f69"}},{"scope":"comment.block.javadoc.java keyword.other.documentation.javadoc.java","settings":{"fontStyle":""}},{"scope":"meta.export variable.other.readwrite.js","settings":{"foreground":"#e64553"}},{"scope":["variable.other.constant.js","variable.other.constant.ts","variable.other.property.js","variable.other.property.ts"],"settings":{"foreground":"#4c4f69"}},{"scope":["variable.other.jsdoc","comment.block.documentation variable.other"],"settings":{"fontStyle":"","foreground":"#e64553"}},{"scope":"storage.type.class.jsdoc","settings":{"fontStyle":""}},{"scope":"support.type.object.console.js","settings":{"foreground":"#4c4f69"}},{"scope":["support.constant.node","support.type.object.module.js"],"settings":{"foreground":"#8839ef"}},{"scope":"storage.modifier.implements","settings":{"foreground":"#8839ef"}},{"scope":["constant.language.null.js","constant.language.null.ts","constant.language.undefined.js","constant.language.undefined.ts","support.type.builtin.ts"],"settings":{"foreground":"#8839ef"}},{"scope":"variable.parameter.generic","settings":{"foreground":"#df8e1d"}},{"scope":["keyword.declaration.function.arrow.js","storage.type.function.arrow.ts"],"settings":{"foreground":"#179299"}},{"scope":"punctuation.decorator.ts","settings":{"fontStyle":"italic","foreground":"#1e66f5"}},{"scope":["keyword.operator.expression.in.js","keyword.operator.expression.in.ts","keyword.operator.expression.infer.ts","keyword.operator.expression.instanceof.js","keyword.operator.expression.instanceof.ts","keyword.operator.expression.is","keyword.operator.expression.keyof.ts","keyword.operator.expression.of.js","keyword.operator.expression.of.ts","keyword.operator.expression.typeof.ts"],"settings":{"foreground":"#8839ef"}},{"scope":"support.function.macro.julia","settings":{"fontStyle":"italic","foreground":"#179299"}},{"scope":"constant.language.julia","settings":{"foreground":"#fe640b"}},{"scope":"constant.other.symbol.julia","settings":{"foreground":"#e64553"}},{"scope":"text.tex keyword.control.preamble","settings":{"foreground":"#179299"}},{"scope":"text.tex support.function.be","settings":{"foreground":"#04a5e5"}},{"scope":"constant.other.general.math.tex","settings":{"foreground":"#dd7878"}},{"scope":"variable.language.liquid","settings":{"foreground":"#ea76cb"}},{"scope":"comment.line.double-dash.documentation.lua storage.type.annotation.lua","settings":{"fontStyle":"","foreground":"#8839ef"}},{"scope":["comment.line.double-dash.documentation.lua entity.name.variable.lua","comment.line.double-dash.documentation.lua variable.lua"],"settings":{"foreground":"#4c4f69"}},{"scope":["heading.1.markdown punctuation.definition.heading.markdown","heading.1.markdown","heading.1.quarto punctuation.definition.heading.quarto","heading.1.quarto","markup.heading.atx.1.mdx","markup.heading.atx.1.mdx punctuation.definition.heading.mdx","markup.heading.setext.1.markdown","markup.heading.heading-0.asciidoc"],"settings":{"foreground":"#d20f39"}},{"scope":["heading.2.markdown punctuation.definition.heading.markdown","heading.2.markdown","heading.2.quarto punctuation.definition.heading.quarto","heading.2.quarto","markup.heading.atx.2.mdx","markup.heading.atx.2.mdx punctuation.definition.heading.mdx","markup.heading.setext.2.markdown","markup.heading.heading-1.asciidoc"],"settings":{"foreground":"#fe640b"}},{"scope":["heading.3.markdown punctuation.definition.heading.markdown","heading.3.markdown","heading.3.quarto punctuation.definition.heading.quarto","heading.3.quarto","markup.heading.atx.3.mdx","markup.heading.atx.3.mdx punctuation.definition.heading.mdx","markup.heading.heading-2.asciidoc"],"settings":{"foreground":"#df8e1d"}},{"scope":["heading.4.markdown punctuation.definition.heading.markdown","heading.4.markdown","heading.4.quarto punctuation.definition.heading.quarto","heading.4.quarto","markup.heading.atx.4.mdx","markup.heading.atx.4.mdx punctuation.definition.heading.mdx","markup.heading.heading-3.asciidoc"],"settings":{"foreground":"#40a02b"}},{"scope":["heading.5.markdown punctuation.definition.heading.markdown","heading.5.markdown","heading.5.quarto punctuation.definition.heading.quarto","heading.5.quarto","markup.heading.atx.5.mdx","markup.heading.atx.5.mdx punctuation.definition.heading.mdx","markup.heading.heading-4.asciidoc"],"settings":{"foreground":"#209fb5"}},{"scope":["heading.6.markdown punctuation.definition.heading.markdown","heading.6.markdown","heading.6.quarto punctuation.definition.heading.quarto","heading.6.quarto","markup.heading.atx.6.mdx","markup.heading.atx.6.mdx punctuation.definition.heading.mdx","markup.heading.heading-5.asciidoc"],"settings":{"foreground":"#7287fd"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#d20f39"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#d20f39"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough","foreground":"#6c6f85"}},{"scope":["punctuation.definition.link","markup.underline.link"],"settings":{"foreground":"#1e66f5"}},{"scope":["text.html.markdown punctuation.definition.link.title","text.html.quarto punctuation.definition.link.title","string.other.link.title.markdown","string.other.link.title.quarto","markup.link","punctuation.definition.constant.markdown","punctuation.definition.constant.quarto","constant.other.reference.link.markdown","constant.other.reference.link.quarto","markup.substitution.attribute-reference"],"settings":{"foreground":"#7287fd"}},{"scope":["punctuation.definition.raw.markdown","punctuation.definition.raw.quarto","markup.inline.raw.string.markdown","markup.inline.raw.string.quarto","markup.raw.block.markdown","markup.raw.block.quarto"],"settings":{"foreground":"#40a02b"}},{"scope":"fenced_code.block.language","settings":{"foreground":"#04a5e5"}},{"scope":["markup.fenced_code.block punctuation.definition","markup.raw support.asciidoc"],"settings":{"foreground":"#7c7f93"}},{"scope":["markup.quote","punctuation.definition.quote.begin"],"settings":{"foreground":"#ea76cb"}},{"scope":"meta.separator.markdown","settings":{"foreground":"#179299"}},{"scope":["punctuation.definition.list.begin.markdown","punctuation.definition.list.begin.quarto","markup.list.bullet"],"settings":{"foreground":"#179299"}},{"scope":"markup.heading.quarto","settings":{"fontStyle":"bold"}},{"scope":["entity.other.attribute-name.multipart.nix","entity.other.attribute-name.single.nix"],"settings":{"foreground":"#1e66f5"}},{"scope":"variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#4c4f69"}},{"scope":"meta.embedded variable.parameter.name.nix","settings":{"fontStyle":"","foreground":"#7287fd"}},{"scope":"string.unquoted.path.nix","settings":{"fontStyle":"","foreground":"#ea76cb"}},{"scope":["support.attribute.builtin","meta.attribute.php"],"settings":{"foreground":"#df8e1d"}},{"scope":"meta.function.parameters.php punctuation.definition.variable.php","settings":{"foreground":"#e64553"}},{"scope":"constant.language.php","settings":{"foreground":"#8839ef"}},{"scope":"text.html.php support.function","settings":{"foreground":"#04a5e5"}},{"scope":"keyword.other.phpdoc.php","settings":{"fontStyle":""}},{"scope":["support.variable.magic.python","meta.function-call.arguments.python"],"settings":{"foreground":"#4c4f69"}},{"scope":["support.function.magic.python"],"settings":{"fontStyle":"italic","foreground":"#04a5e5"}},{"scope":["variable.parameter.function.language.special.self.python","variable.language.special.self.python"],"settings":{"fontStyle":"italic","foreground":"#d20f39"}},{"scope":["keyword.control.flow.python","keyword.operator.logical.python"],"settings":{"foreground":"#8839ef"}},{"scope":"storage.type.function.python","settings":{"foreground":"#8839ef"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#04a5e5"}},{"scope":["meta.function-call.python"],"settings":{"foreground":"#1e66f5"}},{"scope":["entity.name.function.decorator.python","punctuation.definition.decorator.python"],"settings":{"fontStyle":"italic","foreground":"#fe640b"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#ea76cb"}},{"scope":["support.type.exception.python","support.function.builtin.python"],"settings":{"foreground":"#fe640b"}},{"scope":["support.type.python"],"settings":{"foreground":"#8839ef"}},{"scope":"constant.language.python","settings":{"foreground":"#fe640b"}},{"scope":["meta.indexed-name.python","meta.item-access.python"],"settings":{"fontStyle":"italic","foreground":"#e64553"}},{"scope":"storage.type.string.python","settings":{"fontStyle":"italic","foreground":"#40a02b"}},{"scope":"meta.function.parameters.python","settings":{"fontStyle":""}},{"scope":["string.regexp punctuation.definition.string.begin","string.regexp punctuation.definition.string.end"],"settings":{"foreground":"#ea76cb"}},{"scope":"keyword.control.anchor.regexp","settings":{"foreground":"#8839ef"}},{"scope":"string.regexp.ts","settings":{"foreground":"#4c4f69"}},{"scope":["punctuation.definition.group.regexp","keyword.other.back-reference.regexp"],"settings":{"foreground":"#40a02b"}},{"scope":"punctuation.definition.character-class.regexp","settings":{"foreground":"#df8e1d"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#ea76cb"}},{"scope":"constant.other.character-class.range.regexp","settings":{"foreground":"#dc8a78"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#179299"}},{"scope":"constant.character.numeric.regexp","settings":{"foreground":"#fe640b"}},{"scope":["punctuation.definition.group.no-capture.regexp","meta.assertion.look-ahead.regexp","meta.assertion.negative-look-ahead.regexp"],"settings":{"foreground":"#1e66f5"}},{"scope":["meta.annotation.rust","meta.annotation.rust punctuation","meta.attribute.rust","punctuation.definition.attribute.rust"],"settings":{"fontStyle":"italic","foreground":"#df8e1d"}},{"scope":["meta.attribute.rust string.quoted.double.rust","meta.attribute.rust string.quoted.single.char.rust"],"settings":{"fontStyle":""}},{"scope":["entity.name.function.macro.rules.rust","storage.type.module.rust","storage.modifier.rust","storage.type.struct.rust","storage.type.enum.rust","storage.type.trait.rust","storage.type.union.rust","storage.type.impl.rust","storage.type.rust","storage.type.function.rust","storage.type.type.rust"],"settings":{"fontStyle":"","foreground":"#8839ef"}},{"scope":"entity.name.type.numeric.rust","settings":{"fontStyle":"","foreground":"#8839ef"}},{"scope":"meta.generic.rust","settings":{"foreground":"#fe640b"}},{"scope":"entity.name.impl.rust","settings":{"fontStyle":"italic","foreground":"#df8e1d"}},{"scope":"entity.name.module.rust","settings":{"foreground":"#fe640b"}},{"scope":"entity.name.trait.rust","settings":{"fontStyle":"italic","foreground":"#df8e1d"}},{"scope":"storage.type.source.rust","settings":{"foreground":"#df8e1d"}},{"scope":"entity.name.union.rust","settings":{"foreground":"#df8e1d"}},{"scope":"meta.enum.rust storage.type.source.rust","settings":{"foreground":"#179299"}},{"scope":["support.macro.rust","meta.macro.rust support.function.rust","entity.name.function.macro.rust"],"settings":{"fontStyle":"italic","foreground":"#1e66f5"}},{"scope":["storage.modifier.lifetime.rust","entity.name.type.lifetime"],"settings":{"fontStyle":"italic","foreground":"#1e66f5"}},{"scope":"string.quoted.double.rust constant.other.placeholder.rust","settings":{"foreground":"#ea76cb"}},{"scope":"meta.function.return-type.rust meta.generic.rust storage.type.rust","settings":{"foreground":"#4c4f69"}},{"scope":"meta.function.call.rust","settings":{"foreground":"#1e66f5"}},{"scope":"punctuation.brackets.angle.rust","settings":{"foreground":"#04a5e5"}},{"scope":"constant.other.caps.rust","settings":{"foreground":"#fe640b"}},{"scope":["meta.function.definition.rust variable.other.rust"],"settings":{"foreground":"#e64553"}},{"scope":"meta.function.call.rust variable.other.rust","settings":{"foreground":"#4c4f69"}},{"scope":"variable.language.self.rust","settings":{"foreground":"#d20f39"}},{"scope":["variable.other.metavariable.name.rust","meta.macro.metavariable.rust keyword.operator.macro.dollar.rust"],"settings":{"foreground":"#ea76cb"}},{"scope":["comment.line.shebang","comment.line.shebang punctuation.definition.comment","comment.line.shebang","punctuation.definition.comment.shebang.shell","meta.shebang.shell"],"settings":{"fontStyle":"italic","foreground":"#ea76cb"}},{"scope":"comment.line.shebang constant.language","settings":{"fontStyle":"italic","foreground":"#179299"}},{"scope":["meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation","meta.function-call.arguments.shell punctuation.definition.variable.shell","meta.function-call.arguments.shell punctuation.section.interpolation"],"settings":{"foreground":"#d20f39"}},{"scope":"meta.string meta.interpolation.parameter.shell variable.other.readwrite","settings":{"fontStyle":"italic","foreground":"#fe640b"}},{"scope":["source.shell punctuation.section.interpolation","punctuation.definition.evaluation.backticks.shell"],"settings":{"foreground":"#179299"}},{"scope":"entity.name.tag.heredoc.shell","settings":{"foreground":"#8839ef"}},{"scope":"string.quoted.double.shell variable.other.normal.shell","settings":{"foreground":"#4c4f69"}},{"scope":["markup.heading.typst"],"settings":{"foreground":"#d20f39"}}],"type":"light"}', + ), +) +export { e as default } +//# sourceMappingURL=chunk-q-j0iyEw.js.map diff --git a/src/webview-ui/build/assets/chunk-q-j0iyEw.js.map b/src/webview-ui/build/assets/chunk-q-j0iyEw.js.map new file mode 100644 index 0000000000..dc6bdac21b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-q-j0iyEw.js.map @@ -0,0 +1,18 @@ +{ + "version": 3, + "file": "chunk-q-j0iyEw.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+themes@3.4.1/node_modules/@shikijs/themes/dist/catppuccin-latte.mjs" + ], + "sourcesContent": [ + "/* Theme: catppuccin-latte */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#dce0e8\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#8839ef33\\\",\\\"activityBar.foreground\\\":\\\"#8839ef\\\",\\\"activityBar.inactiveForeground\\\":\\\"#9ca0b0\\\",\\\"activityBarBadge.background\\\":\\\"#8839ef\\\",\\\"activityBarBadge.foreground\\\":\\\"#dce0e8\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#8839ef33\\\",\\\"activityBarTop.foreground\\\":\\\"#8839ef\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#9ca0b0\\\",\\\"badge.background\\\":\\\"#bcc0cc\\\",\\\"badge.foreground\\\":\\\"#4c4f69\\\",\\\"banner.background\\\":\\\"#bcc0cc\\\",\\\"banner.foreground\\\":\\\"#4c4f69\\\",\\\"banner.iconForeground\\\":\\\"#4c4f69\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#8839ef\\\",\\\"breadcrumb.background\\\":\\\"#eff1f5\\\",\\\"breadcrumb.focusForeground\\\":\\\"#8839ef\\\",\\\"breadcrumb.foreground\\\":\\\"#4c4f69cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#e6e9ef\\\",\\\"button.background\\\":\\\"#8839ef\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#dce0e8\\\",\\\"button.hoverBackground\\\":\\\"#9c5af2\\\",\\\"button.secondaryBackground\\\":\\\"#acb0be\\\",\\\"button.secondaryBorder\\\":\\\"#8839ef\\\",\\\"button.secondaryForeground\\\":\\\"#4c4f69\\\",\\\"button.secondaryHoverBackground\\\":\\\"#c0c3ce\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#1e66f5\\\",\\\"charts.foreground\\\":\\\"#4c4f69\\\",\\\"charts.green\\\":\\\"#40a02b\\\",\\\"charts.lines\\\":\\\"#5c5f77\\\",\\\"charts.orange\\\":\\\"#fe640b\\\",\\\"charts.purple\\\":\\\"#8839ef\\\",\\\"charts.red\\\":\\\"#d20f39\\\",\\\"charts.yellow\\\":\\\"#df8e1d\\\",\\\"checkbox.background\\\":\\\"#bcc0cc\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#8839ef\\\",\\\"commandCenter.activeBackground\\\":\\\"#acb0be33\\\",\\\"commandCenter.activeBorder\\\":\\\"#8839ef\\\",\\\"commandCenter.activeForeground\\\":\\\"#8839ef\\\",\\\"commandCenter.background\\\":\\\"#e6e9ef\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#5c5f77\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#5c5f77\\\",\\\"debugConsole.errorForeground\\\":\\\"#d20f39\\\",\\\"debugConsole.infoForeground\\\":\\\"#1e66f5\\\",\\\"debugConsole.sourceForeground\\\":\\\"#dc8a78\\\",\\\"debugConsole.warningForeground\\\":\\\"#fe640b\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#4c4f69\\\",\\\"debugExceptionWidget.background\\\":\\\"#dce0e8\\\",\\\"debugExceptionWidget.border\\\":\\\"#8839ef\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#d20f3999\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#d20f39\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#bf607c\\\",\\\"debugIcon.continueForeground\\\":\\\"#40a02b\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.pauseForeground\\\":\\\"#1e66f5\\\",\\\"debugIcon.restartForeground\\\":\\\"#179299\\\",\\\"debugIcon.startForeground\\\":\\\"#40a02b\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#4c4f69\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#4c4f69\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#8839ef\\\",\\\"debugIcon.stopForeground\\\":\\\"#d20f39\\\",\\\"debugTokenExpression.boolean\\\":\\\"#8839ef\\\",\\\"debugTokenExpression.error\\\":\\\"#d20f39\\\",\\\"debugTokenExpression.number\\\":\\\"#fe640b\\\",\\\"debugTokenExpression.string\\\":\\\"#40a02b\\\",\\\"debugToolBar.background\\\":\\\"#dce0e8\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#4c4f69\\\",\\\"diffEditor.border\\\":\\\"#acb0be\\\",\\\"diffEditor.diagonalFill\\\":\\\"#acb0be99\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#40a02b26\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#40a02b33\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#d20f3926\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d20f3933\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#40a02bcc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#d20f39cc\\\",\\\"disabledForeground\\\":\\\"#6c6f85\\\",\\\"dropdown.background\\\":\\\"#e6e9ef\\\",\\\"dropdown.border\\\":\\\"#8839ef\\\",\\\"dropdown.foreground\\\":\\\"#4c4f69\\\",\\\"dropdown.listBackground\\\":\\\"#acb0be\\\",\\\"editor.background\\\":\\\"#eff1f5\\\",\\\"editor.findMatchBackground\\\":\\\"#e6adbd\\\",\\\"editor.findMatchBorder\\\":\\\"#d20f3933\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#a9daf0\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#04a5e533\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#a9daf0\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#04a5e533\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#40a02b26\\\",\\\"editor.foldBackground\\\":\\\"#04a5e540\\\",\\\"editor.foreground\\\":\\\"#4c4f69\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#04a5e540\\\",\\\"editor.lineHighlightBackground\\\":\\\"#4c4f6912\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#04a5e540\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#7c7f934d\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#7c7f9333\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#7c7f9333\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#df8e1d26\\\",\\\"editor.wordHighlightBackground\\\":\\\"#7c7f9333\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#1e66f526\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#d20f39\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#fe640b\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#df8e1d\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#40a02b\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#209fb5\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#8839ef\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#e64553\\\",\\\"editorBracketMatch.background\\\":\\\"#7c7f931a\\\",\\\"editorBracketMatch.border\\\":\\\"#7c7f93\\\",\\\"editorCodeLens.foreground\\\":\\\"#8c8fa1\\\",\\\"editorCursor.background\\\":\\\"#eff1f5\\\",\\\"editorCursor.foreground\\\":\\\"#dc8a78\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#d20f39\\\",\\\"editorGroup.border\\\":\\\"#acb0be\\\",\\\"editorGroup.dropBackground\\\":\\\"#8839ef33\\\",\\\"editorGroup.emptyBackground\\\":\\\"#eff1f5\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#dce0e8\\\",\\\"editorGutter.addedBackground\\\":\\\"#40a02b\\\",\\\"editorGutter.background\\\":\\\"#eff1f5\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#8839ef\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#ccd0da\\\",\\\"editorGutter.deletedBackground\\\":\\\"#d20f39\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#7c7f93\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#df8e1d\\\",\\\"editorHoverWidget.background\\\":\\\"#e6e9ef\\\",\\\"editorHoverWidget.border\\\":\\\"#acb0be\\\",\\\"editorHoverWidget.foreground\\\":\\\"#4c4f69\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#acb0be\\\",\\\"editorIndentGuide.background\\\":\\\"#bcc0cc\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#1e66f5\\\",\\\"editorInlayHint.background\\\":\\\"#e6e9efbf\\\",\\\"editorInlayHint.foreground\\\":\\\"#acb0be\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#e6e9efbf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#6c6f85\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#e6e9efbf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#5c5f77\\\",\\\"editorLightBulb.foreground\\\":\\\"#df8e1d\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#8839ef\\\",\\\"editorLineNumber.foreground\\\":\\\"#8c8fa1\\\",\\\"editorLink.activeForeground\\\":\\\"#8839ef\\\",\\\"editorMarkerNavigation.background\\\":\\\"#e6e9ef\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#d20f39\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#1e66f5\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fe640b\\\",\\\"editorOverviewRuler.background\\\":\\\"#e6e9ef\\\",\\\"editorOverviewRuler.border\\\":\\\"#4c4f6912\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#df8e1d\\\",\\\"editorRuler.foreground\\\":\\\"#acb0be\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ccd0da\\\",\\\"editorSuggestWidget.background\\\":\\\"#e6e9ef\\\",\\\"editorSuggestWidget.border\\\":\\\"#acb0be\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#4c4f69\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#8839ef\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ccd0da\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#fe640b\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c7f9366\\\",\\\"editorWidget.background\\\":\\\"#e6e9ef\\\",\\\"editorWidget.foreground\\\":\\\"#4c4f69\\\",\\\"editorWidget.resizeBorder\\\":\\\"#acb0be\\\",\\\"errorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.errorBackground\\\":\\\"#d20f3926\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#d20f3926\\\",\\\"errorLens.errorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#d20f39\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#d20f3926\\\",\\\"errorLens.hintBackground\\\":\\\"#40a02b26\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#40a02b26\\\",\\\"errorLens.hintForeground\\\":\\\"#40a02b\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#40a02b\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#40a02b26\\\",\\\"errorLens.infoBackground\\\":\\\"#1e66f526\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#1e66f526\\\",\\\"errorLens.infoForeground\\\":\\\"#1e66f5\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#1e66f5\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#1e66f526\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#40a02b\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#fe640b\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#1e66f5\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#fe640b\\\",\\\"errorLens.warningBackground\\\":\\\"#fe640b26\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#fe640b26\\\",\\\"errorLens.warningForeground\\\":\\\"#fe640b\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#fe640b\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#fe640b26\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#1e66f5\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#dce0e8\\\",\\\"extensionButton.prominentBackground\\\":\\\"#8839ef\\\",\\\"extensionButton.prominentForeground\\\":\\\"#dce0e8\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#9c5af2\\\",\\\"extensionButton.separator\\\":\\\"#eff1f5\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#acb0be\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#ea76cb\\\",\\\"extensionIcon.starForeground\\\":\\\"#df8e1d\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#40a02b\\\",\\\"focusBorder\\\":\\\"#8839ef\\\",\\\"foreground\\\":\\\"#4c4f69\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#40a02b\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#8839ef\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#d20f39\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#9ca0b0\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#df8e1d\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#d20f39\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#df8e1d\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#1e66f5\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#40a02b\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#8839ef\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#d20f39\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#40a02b\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#fe640b\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#df8e1d\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#fe640b\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#40a02b\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#e64553\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#df8e1d\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#8839ef\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#6c6f85\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#8839ef\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#fe640b\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#e64553\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#40a02b\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#d20f39\\\",\\\"gitlens.graphLane10Color\\\":\\\"#ea76cb\\\",\\\"gitlens.graphLane1Color\\\":\\\"#8839ef\\\",\\\"gitlens.graphLane2Color\\\":\\\"#df8e1d\\\",\\\"gitlens.graphLane3Color\\\":\\\"#1e66f5\\\",\\\"gitlens.graphLane4Color\\\":\\\"#dd7878\\\",\\\"gitlens.graphLane5Color\\\":\\\"#40a02b\\\",\\\"gitlens.graphLane6Color\\\":\\\"#7287fd\\\",\\\"gitlens.graphLane7Color\\\":\\\"#dc8a78\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d20f39\\\",\\\"gitlens.graphLane9Color\\\":\\\"#179299\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#40a02b\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#df8e1d\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#1e66f5\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#0b57ef\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#8839ef\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#dd7878\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#388c26\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#40a02b\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#df8e1d\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#1e66f5\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#0b57ef\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#8839ef\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#dd7878\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#388c26\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ccd0da4d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#4c4f69\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#8839ef\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#8839ef26\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#8839efcc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#8839ef\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#4c4f694d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fe640b\\\",\\\"icon.foreground\\\":\\\"#8839ef\\\",\\\"input.background\\\":\\\"#ccd0da\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#4c4f69\\\",\\\"input.placeholderForeground\\\":\\\"#4c4f6973\\\",\\\"inputOption.activeBackground\\\":\\\"#acb0be\\\",\\\"inputOption.activeBorder\\\":\\\"#8839ef\\\",\\\"inputOption.activeForeground\\\":\\\"#4c4f69\\\",\\\"inputValidation.errorBackground\\\":\\\"#d20f39\\\",\\\"inputValidation.errorBorder\\\":\\\"#dce0e833\\\",\\\"inputValidation.errorForeground\\\":\\\"#dce0e8\\\",\\\"inputValidation.infoBackground\\\":\\\"#1e66f5\\\",\\\"inputValidation.infoBorder\\\":\\\"#dce0e833\\\",\\\"inputValidation.infoForeground\\\":\\\"#dce0e8\\\",\\\"inputValidation.warningBackground\\\":\\\"#fe640b\\\",\\\"inputValidation.warningBorder\\\":\\\"#dce0e833\\\",\\\"inputValidation.warningForeground\\\":\\\"#dce0e8\\\",\\\"issues.closed\\\":\\\"#8839ef\\\",\\\"issues.newIssueDecoration\\\":\\\"#dc8a78\\\",\\\"issues.open\\\":\\\"#40a02b\\\",\\\"list.activeSelectionBackground\\\":\\\"#ccd0da\\\",\\\"list.activeSelectionForeground\\\":\\\"#4c4f69\\\",\\\"list.dropBackground\\\":\\\"#8839ef33\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#bcc0cc\\\",\\\"list.focusBackground\\\":\\\"#ccd0da\\\",\\\"list.focusForeground\\\":\\\"#4c4f69\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#8839ef\\\",\\\"list.hoverBackground\\\":\\\"#ccd0da80\\\",\\\"list.hoverForeground\\\":\\\"#4c4f69\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ccd0da\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#4c4f69\\\",\\\"list.warningForeground\\\":\\\"#fe640b\\\",\\\"listFilterWidget.background\\\":\\\"#bcc0cc\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d20f39\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#eff1f5\\\",\\\"menu.border\\\":\\\"#eff1f580\\\",\\\"menu.foreground\\\":\\\"#4c4f69\\\",\\\"menu.selectionBackground\\\":\\\"#acb0be\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#4c4f69\\\",\\\"menu.separatorBackground\\\":\\\"#acb0be\\\",\\\"menubar.selectionBackground\\\":\\\"#bcc0cc\\\",\\\"menubar.selectionForeground\\\":\\\"#4c4f69\\\",\\\"merge.commonContentBackground\\\":\\\"#bcc0cc\\\",\\\"merge.commonHeaderBackground\\\":\\\"#acb0be\\\",\\\"merge.currentContentBackground\\\":\\\"#40a02b33\\\",\\\"merge.currentHeaderBackground\\\":\\\"#40a02b66\\\",\\\"merge.incomingContentBackground\\\":\\\"#1e66f533\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#1e66f566\\\",\\\"minimap.background\\\":\\\"#e6e9ef80\\\",\\\"minimap.errorHighlight\\\":\\\"#d20f39bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#04a5e54d\\\",\\\"minimap.selectionHighlight\\\":\\\"#acb0bebf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#acb0bebf\\\",\\\"minimap.warningHighlight\\\":\\\"#fe640bbf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#40a02bbf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#d20f39bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#df8e1dbf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8839ef99\\\",\\\"minimapSlider.background\\\":\\\"#8839ef33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8839ef66\\\",\\\"notificationCenter.border\\\":\\\"#8839ef\\\",\\\"notificationCenterHeader.background\\\":\\\"#e6e9ef\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#4c4f69\\\",\\\"notificationLink.foreground\\\":\\\"#1e66f5\\\",\\\"notificationToast.border\\\":\\\"#8839ef\\\",\\\"notifications.background\\\":\\\"#e6e9ef\\\",\\\"notifications.border\\\":\\\"#8839ef\\\",\\\"notifications.foreground\\\":\\\"#4c4f69\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#d20f39\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#1e66f5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#fe640b\\\",\\\"panel.background\\\":\\\"#eff1f5\\\",\\\"panel.border\\\":\\\"#acb0be\\\",\\\"panelSection.border\\\":\\\"#acb0be\\\",\\\"panelSection.dropBackground\\\":\\\"#8839ef33\\\",\\\"panelTitle.activeBorder\\\":\\\"#8839ef\\\",\\\"panelTitle.activeForeground\\\":\\\"#4c4f69\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#6c6f85\\\",\\\"peekView.border\\\":\\\"#8839ef\\\",\\\"peekViewEditor.background\\\":\\\"#e6e9ef\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#04a5e54d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#e6e9ef\\\",\\\"peekViewResult.background\\\":\\\"#e6e9ef\\\",\\\"peekViewResult.fileForeground\\\":\\\"#4c4f69\\\",\\\"peekViewResult.lineForeground\\\":\\\"#4c4f69\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#04a5e54d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#ccd0da\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#4c4f69\\\",\\\"peekViewTitle.background\\\":\\\"#eff1f5\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#5c5f77b3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#4c4f69\\\",\\\"pickerGroup.border\\\":\\\"#8839ef\\\",\\\"pickerGroup.foreground\\\":\\\"#8839ef\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#d20f39\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#1e66f5\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#fe640b\\\",\\\"progressBar.background\\\":\\\"#8839ef\\\",\\\"pullRequests.closed\\\":\\\"#d20f39\\\",\\\"pullRequests.draft\\\":\\\"#7c7f93\\\",\\\"pullRequests.merged\\\":\\\"#8839ef\\\",\\\"pullRequests.notification\\\":\\\"#4c4f69\\\",\\\"pullRequests.open\\\":\\\"#40a02b\\\",\\\"sash.hoverBorder\\\":\\\"#8839ef\\\",\\\"scrollbar.shadow\\\":\\\"#dce0e8\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#ccd0da66\\\",\\\"scrollbarSlider.background\\\":\\\"#acb0be80\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#9ca0b0\\\",\\\"selection.background\\\":\\\"#8839ef66\\\",\\\"settings.dropdownBackground\\\":\\\"#bcc0cc\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#acb0be33\\\",\\\"settings.headerForeground\\\":\\\"#4c4f69\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#8839ef\\\",\\\"settings.numberInputBackground\\\":\\\"#bcc0cc\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#bcc0cc\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#e6e9ef\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#8839ef33\\\",\\\"sideBar.foreground\\\":\\\"#4c4f69\\\",\\\"sideBarSectionHeader.background\\\":\\\"#e6e9ef\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#4c4f69\\\",\\\"sideBarTitle.foreground\\\":\\\"#8839ef\\\",\\\"statusBar.background\\\":\\\"#dce0e8\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fe640b\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#dce0e8\\\",\\\"statusBar.foreground\\\":\\\"#4c4f69\\\",\\\"statusBar.noFolderBackground\\\":\\\"#dce0e8\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#4c4f69\\\",\\\"statusBarItem.activeBackground\\\":\\\"#acb0be66\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#d20f39\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#acb0be33\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#8839ef\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#acb0be33\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#1e66f5\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#dce0e8\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.classForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.colorForeground\\\":\\\"#ea76cb\\\",\\\"symbolIcon.constantForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#7287fd\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.eventForeground\\\":\\\"#ea76cb\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.fileForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.folderForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.functionForeground\\\":\\\"#1e66f5\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.keyForeground\\\":\\\"#179299\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.methodForeground\\\":\\\"#1e66f5\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.nullForeground\\\":\\\"#e64553\\\",\\\"symbolIcon.numberForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.objectForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#179299\\\",\\\"symbolIcon.packageForeground\\\":\\\"#dd7878\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#e64553\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#dd7878\\\",\\\"symbolIcon.stringForeground\\\":\\\"#40a02b\\\",\\\"symbolIcon.structForeground\\\":\\\"#179299\\\",\\\"symbolIcon.textForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#e64553\\\",\\\"symbolIcon.unitForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.variableForeground\\\":\\\"#4c4f69\\\",\\\"tab.activeBackground\\\":\\\"#eff1f5\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#8839ef\\\",\\\"tab.activeForeground\\\":\\\"#8839ef\\\",\\\"tab.activeModifiedBorder\\\":\\\"#df8e1d\\\",\\\"tab.border\\\":\\\"#e6e9ef\\\",\\\"tab.hoverBackground\\\":\\\"#ffffff\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#8839ef\\\",\\\"tab.inactiveBackground\\\":\\\"#e6e9ef\\\",\\\"tab.inactiveForeground\\\":\\\"#9ca0b0\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#df8e1d4d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#8839ef\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#e6e9ef\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#8839ef4d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#d6dbe5\\\",\\\"table.headerBackground\\\":\\\"#ccd0da\\\",\\\"table.headerForeground\\\":\\\"#4c4f69\\\",\\\"terminal.ansiBlack\\\":\\\"#5c5f77\\\",\\\"terminal.ansiBlue\\\":\\\"#1e66f5\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#6c6f85\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#456eff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#2d9fa8\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#49af3d\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#fe85d8\\\",\\\"terminal.ansiBrightRed\\\":\\\"#de293e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#bcc0cc\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#eea02d\\\",\\\"terminal.ansiCyan\\\":\\\"#179299\\\",\\\"terminal.ansiGreen\\\":\\\"#40a02b\\\",\\\"terminal.ansiMagenta\\\":\\\"#ea76cb\\\",\\\"terminal.ansiRed\\\":\\\"#d20f39\\\",\\\"terminal.ansiWhite\\\":\\\"#acb0be\\\",\\\"terminal.ansiYellow\\\":\\\"#df8e1d\\\",\\\"terminal.border\\\":\\\"#acb0be\\\",\\\"terminal.dropBackground\\\":\\\"#8839ef33\\\",\\\"terminal.foreground\\\":\\\"#4c4f69\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#acb0be80\\\",\\\"terminal.selectionBackground\\\":\\\"#acb0be\\\",\\\"terminal.tab.activeBorder\\\":\\\"#8839ef\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#acb0be\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#d20f39\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#40a02b\\\",\\\"terminalCursor.background\\\":\\\"#eff1f5\\\",\\\"terminalCursor.foreground\\\":\\\"#dc8a78\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#8839ef\\\",\\\"testing.coveredBackground\\\":\\\"#40a02b4d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#40a02b4d\\\",\\\"testing.iconErrored\\\":\\\"#d20f39\\\",\\\"testing.iconErrored.retired\\\":\\\"#d20f39\\\",\\\"testing.iconFailed\\\":\\\"#d20f39\\\",\\\"testing.iconFailed.retired\\\":\\\"#d20f39\\\",\\\"testing.iconPassed\\\":\\\"#40a02b\\\",\\\"testing.iconPassed.retired\\\":\\\"#40a02b\\\",\\\"testing.iconQueued\\\":\\\"#1e66f5\\\",\\\"testing.iconQueued.retired\\\":\\\"#1e66f5\\\",\\\"testing.iconSkipped\\\":\\\"#6c6f85\\\",\\\"testing.iconSkipped.retired\\\":\\\"#6c6f85\\\",\\\"testing.iconUnset\\\":\\\"#4c4f69\\\",\\\"testing.iconUnset.retired\\\":\\\"#4c4f69\\\",\\\"testing.message.error.lineBackground\\\":\\\"#d20f3926\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#40a02bcc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#40a02b26\\\",\\\"testing.messagePeekBorder\\\":\\\"#8839ef\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#acb0be\\\",\\\"testing.peekBorder\\\":\\\"#8839ef\\\",\\\"testing.peekHeaderBackground\\\":\\\"#acb0be\\\",\\\"testing.runAction\\\":\\\"#8839ef\\\",\\\"testing.uncoveredBackground\\\":\\\"#d20f3933\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#d20f3933\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#d20f3940\\\",\\\"textBlockQuote.background\\\":\\\"#e6e9ef\\\",\\\"textBlockQuote.border\\\":\\\"#dce0e8\\\",\\\"textCodeBlock.background\\\":\\\"#e6e9ef\\\",\\\"textLink.activeForeground\\\":\\\"#04a5e5\\\",\\\"textLink.foreground\\\":\\\"#1e66f5\\\",\\\"textPreformat.foreground\\\":\\\"#4c4f69\\\",\\\"textSeparator.foreground\\\":\\\"#8839ef\\\",\\\"titleBar.activeBackground\\\":\\\"#dce0e8\\\",\\\"titleBar.activeForeground\\\":\\\"#4c4f69\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#dce0e8\\\",\\\"titleBar.inactiveForeground\\\":\\\"#4c4f6980\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#bcc0cc\\\",\\\"tree.indentGuidesStroke\\\":\\\"#7c7f93\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#eff1f54d\\\",\\\"welcomePage.progress.background\\\":\\\"#dce0e8\\\",\\\"welcomePage.progress.foreground\\\":\\\"#8839ef\\\",\\\"welcomePage.tileBackground\\\":\\\"#e6e9ef\\\",\\\"widget.shadow\\\":\\\"#e6e9ef80\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Latte\\\",\\\"name\\\":\\\"catppuccin-latte\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#fe640b\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#179299\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#fe640b\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#d20f39\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#fe640b\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#dd7878\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#d20f39\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d20f39\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#dd7878\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d20f39\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#e64553\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7c7f93\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7c7f93\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dd7878\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dd7878\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dd7878\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#209fb5\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7287fd\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#6c6f85\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7287fd\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c7f93\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7287fd\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dc8a78\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n" + ], + "names": [ + "catppuccinLatte" + ], + "mappings": "AACA,MAAeA,EAAA,OAAO,OAAO,KAAK,MAAM,ks7CAAo2kD,CAAC", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-sVvOI5da.js b/src/webview-ui/build/assets/chunk-sVvOI5da.js new file mode 100644 index 0000000000..652e88db4b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-sVvOI5da.js @@ -0,0 +1,10 @@ +import e from "./chunk-DXETW7eA.js" +import "./chunk-BIGW1oBm.js" +const a = Object.freeze( + JSON.parse( + `{"displayName":"Elm","fileTypes":["elm"],"name":"elm","patterns":[{"include":"#import"},{"include":"#module"},{"include":"#debug"},{"include":"#comments"},{"match":"\\\\b(_)\\\\b","name":"keyword.unused.elm"},{"include":"#type-signature"},{"include":"#type-declaration"},{"include":"#type-alias-declaration"},{"include":"#string-triple"},{"include":"#string-quote"},{"include":"#char"},{"match":"\\\\b([0-9]+\\\\.[0-9]+([Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+)\\\\b","name":"constant.numeric.float.elm"},{"match":"\\\\b([0-9]+)\\\\b","name":"constant.numeric.elm"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.numeric.elm"},{"include":"#glsl"},{"include":"#record-prefix"},{"include":"#module-prefix"},{"include":"#constructor"},{"captures":{"1":{"name":"punctuation.bracket.elm"},"2":{"name":"record.name.elm"},"3":{"name":"keyword.pipe.elm"},"4":{"name":"entity.name.record.field.elm"}},"match":"(\\\\{)\\\\s+([a-z][0-9A-Z_a-z]*)\\\\s+(\\\\|)\\\\s+([a-z][0-9A-Z_a-z]*)","name":"meta.record.field.update.elm"},{"captures":{"1":{"name":"keyword.pipe.elm"},"2":{"name":"entity.name.record.field.elm"},"3":{"name":"keyword.operator.assignment.elm"}},"match":"(\\\\|)\\\\s+([a-z][0-9A-Z_a-z]*)\\\\s+(=)","name":"meta.record.field.update.elm"},{"captures":{"1":{"name":"punctuation.bracket.elm"},"2":{"name":"record.name.elm"}},"match":"(\\\\{)\\\\s+([a-z][0-9A-Z_a-z]*)\\\\s+$","name":"meta.record.field.update.elm"},{"captures":{"1":{"name":"punctuation.bracket.elm"},"2":{"name":"entity.name.record.field.elm"},"3":{"name":"keyword.operator.assignment.elm"}},"match":"(\\\\{)\\\\s+([a-z][0-9A-Z_a-z]*)\\\\s+(=)","name":"meta.record.field.elm"},{"captures":{"1":{"name":"punctuation.separator.comma.elm"},"2":{"name":"entity.name.record.field.elm"},"3":{"name":"keyword.operator.assignment.elm"}},"match":"(,)\\\\s+([a-z][0-9A-Z_a-z]*)\\\\s+(=)","name":"meta.record.field.elm"},{"match":"([{}])","name":"punctuation.bracket.elm"},{"include":"#unit"},{"include":"#comma"},{"include":"#parens"},{"match":"(->)","name":"keyword.operator.arrow.elm"},{"include":"#infix_op"},{"match":"([:=\\\\\\\\|])","name":"keyword.other.elm"},{"match":"\\\\b(type|as|port|exposing|alias|infixl|infixr?)\\\\s+","name":"keyword.other.elm"},{"match":"\\\\b(if|then|else|case|of|let|in)\\\\s+","name":"keyword.control.elm"},{"include":"#record-accessor"},{"include":"#top_level_value"},{"include":"#value"},{"include":"#period"},{"include":"#square_brackets"}],"repository":{"block_comment":{"applyEndPatternLast":1,"begin":"\\\\{-(?!#)","captures":{"0":{"name":"punctuation.definition.comment.elm"}},"end":"-}","name":"comment.block.elm","patterns":[{"include":"#block_comment"}]},"char":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.char.begin.elm"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.char.end.elm"}},"name":"string.quoted.single.elm","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&'\\\\\\\\abfnrtv]|x\\\\h{1,5})","name":"constant.character.escape.elm"},{"match":"\\\\^[@-_]","name":"constant.character.escape.control.elm"}]},"comma":{"match":"(,)","name":"punctuation.separator.comma.elm"},"comments":{"patterns":[{"begin":"--","captures":{"1":{"name":"punctuation.definition.comment.elm"}},"end":"$","name":"comment.line.double-dash.elm"},{"include":"#block_comment"}]},"constructor":{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"constant.type-constructor.elm"},"debug":{"match":"\\\\b(Debug)\\\\b","name":"invalid.illegal.debug.elm"},"glsl":{"begin":"(\\\\[)(glsl)(\\\\|)","beginCaptures":{"1":{"name":"entity.glsl.bracket.elm"},"2":{"name":"entity.glsl.name.elm"},"3":{"name":"entity.glsl.bracket.elm"}},"end":"(\\\\|])","endCaptures":{"1":{"name":"entity.glsl.bracket.elm"}},"name":"meta.embedded.block.glsl","patterns":[{"include":"source.glsl"}]},"import":{"begin":"^\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.elm"}},"end":"\\\\n(?!\\\\s)","name":"meta.import.elm","patterns":[{"match":"(as|exposing)","name":"keyword.control.elm"},{"include":"#module_chunk"},{"include":"#period"},{"match":"\\\\s+","name":"punctuation.spaces.elm"},{"include":"#module-exports"}]},"infix_op":{"match":"(</>|<\\\\?>|<\\\\||<=|\\\\|\\\\||&&|>=|\\\\|>|\\\\|=|\\\\|\\\\.|\\\\+\\\\+|::|/=|==|//|>>|<<|[-*+/<>^])","name":"keyword.operator.elm"},"module":{"begin":"^\\\\b((port |effect )?module)\\\\s+","beginCaptures":{"1":{"name":"keyword.other.elm"}},"end":"\\\\n(?!\\\\s)","endCaptures":{"1":{"name":"keyword.other.elm"}},"name":"meta.declaration.module.elm","patterns":[{"include":"#module_chunk"},{"include":"#period"},{"match":"(exposing)","name":"keyword.other.elm"},{"match":"\\\\s+","name":"punctuation.spaces.elm"},{"include":"#module-exports"}]},"module-exports":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parens.module-export.elm"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parens.module-export.elm"}},"name":"meta.declaration.exports.elm","patterns":[{"match":"\\\\b[a-z]['0-9A-Z_a-z]*","name":"entity.name.function.elm"},{"match":"\\\\b[A-Z]['0-9A-Z_a-z]*","name":"storage.type.elm"},{"match":",","name":"punctuation.separator.comma.elm"},{"match":"\\\\s+","name":"punctuation.spaces.elm"},{"include":"#comma"},{"match":"\\\\(\\\\.\\\\.\\\\)","name":"punctuation.parens.ellipses.elm"},{"match":"\\\\.\\\\.","name":"punctuation.parens.ellipses.elm"},{"include":"#infix_op"},{"match":"\\\\(.*?\\\\)","name":"meta.other.unknown.elm"}]},"module-prefix":{"captures":{"1":{"name":"support.module.elm"},"2":{"name":"keyword.other.period.elm"}},"match":"([A-Z][0-9A-Z_a-z]*)(\\\\.)","name":"meta.module.name.elm"},"module_chunk":{"match":"[A-Z][0-9A-Z_a-z]*","name":"support.module.elm"},"parens":{"match":"([()])","name":"punctuation.parens.elm"},"period":{"match":"\\\\.","name":"keyword.other.period.elm"},"record-accessor":{"captures":{"1":{"name":"keyword.other.period.elm"},"2":{"name":"entity.name.record.field.accessor.elm"}},"match":"(\\\\.)([a-z][0-9A-Z_a-z]*)","name":"meta.record.accessor"},"record-prefix":{"captures":{"1":{"name":"record.name.elm"},"2":{"name":"keyword.other.period.elm"},"3":{"name":"entity.name.record.field.accessor.elm"}},"match":"([a-z][0-9A-Z_a-z]*)(\\\\.)([a-z][0-9A-Z_a-z]*)","name":"record.accessor.elm"},"square_brackets":{"match":"[]\\\\[]","name":"punctuation.definition.list.elm"},"string-quote":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elm"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elm"}},"name":"string.quoted.double.elm","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&'\\\\\\\\abfnrtv]|x\\\\h{1,5})","name":"constant.character.escape.elm"},{"match":"\\\\^[@-_]","name":"constant.character.escape.control.elm"}]},"string-triple":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.elm"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.elm"}},"name":"string.quoted.triple.elm","patterns":[{"match":"\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\"\\\\&'\\\\\\\\abfnrtv]|x\\\\h{1,5})","name":"constant.character.escape.elm"},{"match":"\\\\^[@-_]","name":"constant.character.escape.control.elm"}]},"top_level_value":{"match":"^[a-z][0-9A-Z_a-z]*\\\\b","name":"entity.name.function.top_level.elm"},"type-alias-declaration":{"begin":"^(type\\\\s+)(alias\\\\s+)([A-Z]['0-9A-Z_a-z]*)\\\\s+","beginCaptures":{"1":{"name":"keyword.type.elm"},"2":{"name":"keyword.type-alias.elm"},"3":{"name":"storage.type.elm"}},"end":"^(?=\\\\S)","name":"meta.function.type-declaration.elm","patterns":[{"match":"\\\\n\\\\s+","name":"punctuation.spaces.elm"},{"match":"=","name":"keyword.operator.assignment.elm"},{"include":"#module-prefix"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"storage.type.elm"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*\\\\b","name":"variable.type.elm"},{"include":"#comments"},{"include":"#type-record"}]},"type-declaration":{"begin":"^(type\\\\s+)([A-Z]['0-9A-Z_a-z]*)\\\\s+","beginCaptures":{"1":{"name":"keyword.type.elm"},"2":{"name":"storage.type.elm"}},"end":"^(?=\\\\S)","name":"meta.function.type-declaration.elm","patterns":[{"captures":{"1":{"name":"constant.type-constructor.elm"}},"match":"^\\\\s*([A-Z][0-9A-Z_a-z]*)\\\\b","name":"meta.record.field.elm"},{"match":"\\\\s+","name":"punctuation.spaces.elm"},{"captures":{"1":{"name":"keyword.operator.assignment.elm"},"2":{"name":"constant.type-constructor.elm"}},"match":"([=|])\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\b","name":"meta.record.field.elm"},{"match":"=","name":"keyword.operator.assignment.elm"},{"match":"->","name":"keyword.operator.arrow.elm"},{"include":"#module-prefix"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*\\\\b","name":"variable.type.elm"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"storage.type.elm"},{"include":"#comments"},{"include":"#type-record"}]},"type-record":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.section.braces.begin"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.section.braces.end"}},"name":"meta.function.type-record.elm","patterns":[{"match":"\\\\s+","name":"punctuation.spaces.elm"},{"match":"->","name":"keyword.operator.arrow.elm"},{"captures":{"1":{"name":"entity.name.record.field.elm"},"2":{"name":"keyword.other.elm"}},"match":"([a-z][0-9A-Z_a-z]*)\\\\s+(:)","name":"meta.record.field.elm"},{"match":",","name":"punctuation.separator.comma.elm"},{"include":"#module-prefix"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*\\\\b","name":"variable.type.elm"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"storage.type.elm"},{"include":"#comments"},{"include":"#type-record"}]},"type-signature":{"begin":"^(port\\\\s+)?([_a-z]['0-9A-Z_a-z]*)\\\\s+(:)","beginCaptures":{"1":{"name":"keyword.other.port.elm"},"2":{"name":"entity.name.function.elm"},"3":{"name":"keyword.other.colon.elm"}},"end":"^(((?=[a-z]))|$)","name":"meta.function.type-declaration.elm","patterns":[{"include":"#type-signature-chunk"}]},"type-signature-chunk":{"patterns":[{"match":"->","name":"keyword.operator.arrow.elm"},{"match":"\\\\s+","name":"punctuation.spaces.elm"},{"include":"#module-prefix"},{"match":"\\\\b[a-z][0-9A-Z_a-z]*\\\\b","name":"variable.type.elm"},{"match":"\\\\b[A-Z][0-9A-Z_a-z]*\\\\b","name":"storage.type.elm"},{"match":"\\\\(\\\\)","name":"constant.unit.elm"},{"include":"#comma"},{"include":"#parens"},{"include":"#comments"},{"include":"#type-record"}]},"unit":{"match":"\\\\(\\\\)","name":"constant.unit.elm"},"value":{"match":"\\\\b[a-z][0-9A-Z_a-z]*\\\\b","name":"meta.value.elm"}},"scopeName":"source.elm","embeddedLangs":["glsl"]}`, + ), + ), + m = [...e, a] +export { m as default } +//# sourceMappingURL=chunk-sVvOI5da.js.map diff --git a/src/webview-ui/build/assets/chunk-sVvOI5da.js.map b/src/webview-ui/build/assets/chunk-sVvOI5da.js.map new file mode 100644 index 0000000000..57cda24d88 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-sVvOI5da.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-sVvOI5da.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/elm.mjs" + ], + "sourcesContent": [ + "import glsl from './glsl.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Elm\\\",\\\"fileTypes\\\":[\\\"elm\\\"],\\\"name\\\":\\\"elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"include\\\":\\\"#debug\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b(_)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.unused.elm\\\"},{\\\"include\\\":\\\"#type-signature\\\"},{\\\"include\\\":\\\"#type-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#string-triple\\\"},{\\\"include\\\":\\\"#string-quote\\\"},{\\\"include\\\":\\\"#char\\\"},{\\\"match\\\":\\\"\\\\\\\\b([0-9]+\\\\\\\\.[0-9]+([Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b([0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b(0x\\\\\\\\h+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.elm\\\"},{\\\"include\\\":\\\"#glsl\\\"},{\\\"include\\\":\\\"#record-prefix\\\"},{\\\"include\\\":\\\"#module-prefix\\\"},{\\\"include\\\":\\\"#constructor\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.bracket.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"record.name.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.pipe.elm\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.record.field.elm\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\s+([a-z][0-9A-Z_a-z]*)\\\\\\\\s+(\\\\\\\\|)\\\\\\\\s+([a-z][0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"meta.record.field.update.elm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.pipe.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.record.field.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.elm\\\"}},\\\"match\\\":\\\"(\\\\\\\\|)\\\\\\\\s+([a-z][0-9A-Z_a-z]*)\\\\\\\\s+(=)\\\",\\\"name\\\":\\\"meta.record.field.update.elm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.bracket.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"record.name.elm\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\s+([a-z][0-9A-Z_a-z]*)\\\\\\\\s+$\\\",\\\"name\\\":\\\"meta.record.field.update.elm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.bracket.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.record.field.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.elm\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\s+([a-z][0-9A-Z_a-z]*)\\\\\\\\s+(=)\\\",\\\"name\\\":\\\"meta.record.field.elm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.record.field.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.elm\\\"}},\\\"match\\\":\\\"(,)\\\\\\\\s+([a-z][0-9A-Z_a-z]*)\\\\\\\\s+(=)\\\",\\\"name\\\":\\\"meta.record.field.elm\\\"},{\\\"match\\\":\\\"([{}])\\\",\\\"name\\\":\\\"punctuation.bracket.elm\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"match\\\":\\\"(->)\\\",\\\"name\\\":\\\"keyword.operator.arrow.elm\\\"},{\\\"include\\\":\\\"#infix_op\\\"},{\\\"match\\\":\\\"([:=\\\\\\\\\\\\\\\\|])\\\",\\\"name\\\":\\\"keyword.other.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b(type|as|port|exposing|alias|infixl|infixr?)\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.other.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b(if|then|else|case|of|let|in)\\\\\\\\s+\\\",\\\"name\\\":\\\"keyword.control.elm\\\"},{\\\"include\\\":\\\"#record-accessor\\\"},{\\\"include\\\":\\\"#top_level_value\\\"},{\\\"include\\\":\\\"#value\\\"},{\\\"include\\\":\\\"#period\\\"},{\\\"include\\\":\\\"#square_brackets\\\"}],\\\"repository\\\":{\\\"block_comment\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\{-(?!#)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.elm\\\"}},\\\"end\\\":\\\"-}\\\",\\\"name\\\":\\\"comment.block.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"}]},\\\"char\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.char.begin.elm\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.char.end.elm\\\"}},\\\"name\\\":\\\"string.quoted.single.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\\\\\\"\\\\\\\\&'\\\\\\\\\\\\\\\\abfnrtv]|x\\\\\\\\h{1,5})\\\",\\\"name\\\":\\\"constant.character.escape.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\^[@-_]\\\",\\\"name\\\":\\\"constant.character.escape.control.elm\\\"}]},\\\"comma\\\":{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.separator.comma.elm\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"--\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.elm\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-dash.elm\\\"},{\\\"include\\\":\\\"#block_comment\\\"}]},\\\"constructor\\\":{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.type-constructor.elm\\\"},\\\"debug\\\":{\\\"match\\\":\\\"\\\\\\\\b(Debug)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.debug.elm\\\"},\\\"glsl\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)(glsl)(\\\\\\\\|)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.glsl.bracket.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.glsl.name.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.glsl.bracket.elm\\\"}},\\\"end\\\":\\\"(\\\\\\\\|])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.glsl.bracket.elm\\\"}},\\\"name\\\":\\\"meta.embedded.block.glsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.glsl\\\"}]},\\\"import\\\":{\\\"begin\\\":\\\"^\\\\\\\\b(import)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.elm\\\"}},\\\"end\\\":\\\"\\\\\\\\n(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.import.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(as|exposing)\\\",\\\"name\\\":\\\"keyword.control.elm\\\"},{\\\"include\\\":\\\"#module_chunk\\\"},{\\\"include\\\":\\\"#period\\\"},{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"include\\\":\\\"#module-exports\\\"}]},\\\"infix_op\\\":{\\\"match\\\":\\\"(</>|<\\\\\\\\?>|<\\\\\\\\||<=|\\\\\\\\|\\\\\\\\||&&|>=|\\\\\\\\|>|\\\\\\\\|=|\\\\\\\\|\\\\\\\\.|\\\\\\\\+\\\\\\\\+|::|/=|==|//|>>|<<|[-*+/<>^])\\\",\\\"name\\\":\\\"keyword.operator.elm\\\"},\\\"module\\\":{\\\"begin\\\":\\\"^\\\\\\\\b((port |effect )?module)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.elm\\\"}},\\\"end\\\":\\\"\\\\\\\\n(?!\\\\\\\\s)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.elm\\\"}},\\\"name\\\":\\\"meta.declaration.module.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#module_chunk\\\"},{\\\"include\\\":\\\"#period\\\"},{\\\"match\\\":\\\"(exposing)\\\",\\\"name\\\":\\\"keyword.other.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"include\\\":\\\"#module-exports\\\"}]},\\\"module-exports\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parens.module-export.elm\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.parens.module-export.elm\\\"}},\\\"name\\\":\\\"meta.declaration.exports.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[a-z]['0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.name.function.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]['0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"storage.type.elm\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\.\\\\\\\\.\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.parens.ellipses.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.parens.ellipses.elm\\\"},{\\\"include\\\":\\\"#infix_op\\\"},{\\\"match\\\":\\\"\\\\\\\\(.*?\\\\\\\\)\\\",\\\"name\\\":\\\"meta.other.unknown.elm\\\"}]},\\\"module-prefix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.module.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.period.elm\\\"}},\\\"match\\\":\\\"([A-Z][0-9A-Z_a-z]*)(\\\\\\\\.)\\\",\\\"name\\\":\\\"meta.module.name.elm\\\"},\\\"module_chunk\\\":{\\\"match\\\":\\\"[A-Z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"support.module.elm\\\"},\\\"parens\\\":{\\\"match\\\":\\\"([()])\\\",\\\"name\\\":\\\"punctuation.parens.elm\\\"},\\\"period\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.other.period.elm\\\"},\\\"record-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.period.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.record.field.accessor.elm\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)([a-z][0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"meta.record.accessor\\\"},\\\"record-prefix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"record.name.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.period.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.record.field.accessor.elm\\\"}},\\\"match\\\":\\\"([a-z][0-9A-Z_a-z]*)(\\\\\\\\.)([a-z][0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"record.accessor.elm\\\"},\\\"square_brackets\\\":{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.definition.list.elm\\\"},\\\"string-quote\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elm\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elm\\\"}},\\\"name\\\":\\\"string.quoted.double.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\\\\\\"\\\\\\\\&'\\\\\\\\\\\\\\\\abfnrtv]|x\\\\\\\\h{1,5})\\\",\\\"name\\\":\\\"constant.character.escape.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\^[@-_]\\\",\\\"name\\\":\\\"constant.character.escape.control.elm\\\"}]},\\\"string-triple\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.elm\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.elm\\\"}},\\\"name\\\":\\\"string.quoted.triple.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[\\\\\\\"\\\\\\\\&'\\\\\\\\\\\\\\\\abfnrtv]|x\\\\\\\\h{1,5})\\\",\\\"name\\\":\\\"constant.character.escape.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\^[@-_]\\\",\\\"name\\\":\\\"constant.character.escape.control.elm\\\"}]},\\\"top_level_value\\\":{\\\"match\\\":\\\"^[a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.top_level.elm\\\"},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"^(type\\\\\\\\s+)(alias\\\\\\\\s+)([A-Z]['0-9A-Z_a-z]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.type-alias.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.elm\\\"}},\\\"end\\\":\\\"^(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.function.type-declaration.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\n\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.elm\\\"},{\\\"include\\\":\\\"#module-prefix\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.type.elm\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#type-record\\\"}]},\\\"type-declaration\\\":{\\\"begin\\\":\\\"^(type\\\\\\\\s+)([A-Z]['0-9A-Z_a-z]*)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.elm\\\"}},\\\"end\\\":\\\"^(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.function.type-declaration.elm\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.type-constructor.elm\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*([A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.record.field.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.type-constructor.elm\\\"}},\\\"match\\\":\\\"([=|])\\\\\\\\s+([A-Z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.record.field.elm\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.elm\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.elm\\\"},{\\\"include\\\":\\\"#module-prefix\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.type.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.elm\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#type-record\\\"}]},\\\"type-record\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.braces.end\\\"}},\\\"name\\\":\\\"meta.function.type-record.elm\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.elm\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.record.field.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.elm\\\"}},\\\"match\\\":\\\"([a-z][0-9A-Z_a-z]*)\\\\\\\\s+(:)\\\",\\\"name\\\":\\\"meta.record.field.elm\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.elm\\\"},{\\\"include\\\":\\\"#module-prefix\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.type.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.elm\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#type-record\\\"}]},\\\"type-signature\\\":{\\\"begin\\\":\\\"^(port\\\\\\\\s+)?([_a-z]['0-9A-Z_a-z]*)\\\\\\\\s+(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.port.elm\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.elm\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.colon.elm\\\"}},\\\"end\\\":\\\"^(((?=[a-z]))|$)\\\",\\\"name\\\":\\\"meta.function.type-declaration.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-signature-chunk\\\"}]},\\\"type-signature-chunk\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"punctuation.spaces.elm\\\"},{\\\"include\\\":\\\"#module-prefix\\\"},{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.type.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.elm\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\)\\\",\\\"name\\\":\\\"constant.unit.elm\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#type-record\\\"}]},\\\"unit\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\)\\\",\\\"name\\\":\\\"constant.unit.elm\\\"},\\\"value\\\":{\\\"match\\\":\\\"\\\\\\\\b[a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"meta.value.elm\\\"}},\\\"scopeName\\\":\\\"source.elm\\\",\\\"embeddedLangs\\\":[\\\"glsl\\\"]}\"))\n\nexport default [\n...glsl,\nlang\n]\n" + ], + "names": [ + "lang", + "elm", + "glsl" + ], + "mappings": "+DAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ylVAA48X,CAAC,EAEp+XC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-sYKpKAhk.js b/src/webview-ui/build/assets/chunk-sYKpKAhk.js new file mode 100644 index 0000000000..61ee38fe7c --- /dev/null +++ b/src/webview-ui/build/assets/chunk-sYKpKAhk.js @@ -0,0 +1,34 @@ +import n from "./chunk-CXhxxCfG.js" +const a = Object.freeze( + JSON.parse( + '{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}', + ), + ), + e = [a], + s = Object.freeze( + JSON.parse( + '{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}', + ), + ), + r = [...e, s], + i = Object.freeze( + JSON.parse( + '{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}', + ), + ), + t = [...e, i], + o = Object.freeze( + JSON.parse( + '{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}', + ), + ), + m = [...e, ...t, o], + p = Object.freeze( + JSON.parse( + '{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}', + ), + ), + l = [...n, ...e, ...r, ...t, ...m, p], + u = Object.freeze(Object.defineProperty({ __proto__: null, default: l }, Symbol.toStringTag, { value: "Module" })) +export { l as a, t as b, e as c, r as d, m as e, u as f } +//# sourceMappingURL=chunk-sYKpKAhk.js.map diff --git a/src/webview-ui/build/assets/chunk-sYKpKAhk.js.map b/src/webview-ui/build/assets/chunk-sYKpKAhk.js.map new file mode 100644 index 0000000000..4b7b93c8d8 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-sYKpKAhk.js.map @@ -0,0 +1,36 @@ +{ + "version": 3, + "file": "chunk-sYKpKAhk.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/angular-expression.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/angular-let-declaration.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/angular-template.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/angular-template-blocks.mjs", + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/angular-html.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"injectionSelector\\\":\\\"L:text.html -comment\\\",\\\"name\\\":\\\"angular-expression\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}],\\\"repository\\\":{\\\"arrayLiteral\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"booleanLiteral\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$.])\\\\\\\\btrue\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.boolean.true.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bfalse\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.boolean.false.ts\\\"}]},\\\"expressionOperator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.pipe.ng\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\|)\\\\\\\\|(?!\\\\\\\\|))\\\\\\\\s?([-$0-9A-Z_a-z]*)\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(let)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"storage.type.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(await)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.flow.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bdelete\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bin\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.of.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bif\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.if.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\belse\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.else.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bthen\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.then.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\binstanceof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bnew\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.new.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bvoid\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.void.ts\\\"},{\\\"begin\\\":\\\"(?<![$.])\\\\\\\\bas\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.as.ts\\\"}},\\\"end\\\":\\\"(?=$|[]\\\\\\\"'),:;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\?\\\\\\\\?|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])\\\\\\\\s*(/)(?![*/])\\\"},{\\\"include\\\":\\\"#typeofOperator\\\"}]},\\\"functionCall\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"punctuation.accessor.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.ts\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},{\\\"include\\\":\\\"#parenExpression\\\"}]},\\\"functionParameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ts\\\"}},\\\"name\\\":\\\"meta.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#parameterName\\\"},{\\\"include\\\":\\\"#variableInitializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.object.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.object.property.ts\\\"}},\\\"match\\\":\\\"([!?]?\\\\\\\\.)\\\\\\\\s*(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:([!?]?\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*((async\\\\\\\\s+)|(function\\\\\\\\s*[(<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*(.)*)?\\\\\\\\s*=>)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.property.ts\\\"}},\\\"match\\\":\\\"([!?]?\\\\\\\\.)\\\\\\\\s*(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"([!?]?\\\\\\\\.)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.object.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"constant.character.other\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"literal\\\":{\\\"name\\\":\\\"literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numericLiteral\\\"},{\\\"include\\\":\\\"#booleanLiteral\\\"},{\\\"include\\\":\\\"#nullLiteral\\\"},{\\\"include\\\":\\\"#undefinedLiteral\\\"},{\\\"include\\\":\\\"#numericConstantLiteral\\\"},{\\\"include\\\":\\\"#arrayLiteral\\\"},{\\\"include\\\":\\\"#thisLiteral\\\"}]},\\\"ngExpression\\\":{\\\"name\\\":\\\"meta.expression.ng\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#ternaryExpression\\\"},{\\\"include\\\":\\\"#expressionOperator\\\"},{\\\"include\\\":\\\"#functionCall\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#parenExpression\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"},{\\\"include\\\":\\\"#punctuationSemicolon\\\"},{\\\"include\\\":\\\"#punctuationAccessor\\\"}]},\\\"nullLiteral\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bnull\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.null.ts\\\"},\\\"numericConstantLiteral\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bNaN\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.nan.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bInfinity\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.infinity.ts\\\"}]},\\\"numericLiteral\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Xx])\\\\\\\\h+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Bb])[01]+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\b(?<!\\\\\\\\$)0([Oo])?[0-7]+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9]+(\\\\\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(\\\\\\\\.)[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(\\\\\\\\.)\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"parameterName\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\s*\\\\\\\\b(readonly)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*((async\\\\\\\\s+)|(function\\\\\\\\s*[(<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*(.)*)?\\\\\\\\s*=>)))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\s*\\\\\\\\b(readonly)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parenExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"punctuationAccessor\\\":{\\\"match\\\":\\\"(?:\\\\\\\\?|!?)\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"punctuationComma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"},\\\"punctuationSemicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ts\\\"},\\\"qstringDouble\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.double.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringCharacterEscape\\\"}]},\\\"qstringSingle\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.single.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringCharacterEscape\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstringSingle\\\"},{\\\"include\\\":\\\"#qstringDouble\\\"},{\\\"include\\\":\\\"#templateLiteral\\\"}]},\\\"stringCharacterEscape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.ts\\\"},\\\"templateLiteral\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#templateLiteralCall\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#templateLiteralSubstitutionElement\\\"},{\\\"include\\\":\\\"#stringCharacterEscape\\\"}]}]},\\\"templateLiteralCall\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#typeArguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typeArguments\\\"}]}]},\\\"templateLiteralSubstitutionElement\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}]},\\\"ternaryExpression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}]},\\\"thisLiteral\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bthis\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.ts\\\"},\\\"type\\\":{\\\"name\\\":\\\"meta.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numericLiteral\\\"},{\\\"include\\\":\\\"#typeBuiltinLiterals\\\"},{\\\"include\\\":\\\"#typeTuple\\\"},{\\\"include\\\":\\\"#typeObject\\\"},{\\\"include\\\":\\\"#typeOperators\\\"},{\\\"include\\\":\\\"#typeFnTypeParameters\\\"},{\\\"include\\\":\\\"#typeParenOrFunctionParameters\\\"},{\\\"include\\\":\\\"#typeName\\\"}]},\\\"typeAnnotation\\\":{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=$|[]),;}]|//|\\\\\\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"typeArguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typeArgumentsBody\\\"}]},\\\"typeArgumentsBody\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"typeBuiltinLiterals\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(this|true|false|undefined|null)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.type.builtin.ts\\\"},\\\"typeFnTypeParameters\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\"},{\\\"begin\\\":\\\"(?<![$.])\\\\\\\\b(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionParameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"include\\\":\\\"#typeofOperator\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionParameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionParameters\\\"}]}]},\\\"typeName\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*([!?]?\\\\\\\\.)\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"typeObject\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typeObjectMembers\\\"}]},\\\"typeObjectMembers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeAnnotation\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"},{\\\"include\\\":\\\"#punctuationSemicolon\\\"}]},\\\"typeOperators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeofOperator\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"keyword.operator.type.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bkeyof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.ts\\\"}]},\\\"typeParenOrFunctionParameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#functionParameters\\\"}]},\\\"typeTuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.type.tuple.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"typeofOperator\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\btypeof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.typeof.ts\\\"},\\\"undefinedLiteral\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bundefined\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.undefined.ts\\\"},\\\"variableInitializer\\\":{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|[]),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}]}},\\\"scopeName\\\":\\\"expression.ng\\\"}\"))\n\nexport default [\nlang\n]\n", + "import angular_expression from './angular-expression.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"text.html.derivative\\\",\\\"text.html.derivative.ng\\\",\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:text.html -comment -expression.ng -meta.tag -source.css -source.js\\\",\\\"name\\\":\\\"angular-let-declaration\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#letDeclaration\\\"}],\\\"repository\\\":{\\\"letDeclaration\\\":{\\\"begin\\\":\\\"(@let)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.ng\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.ng\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ng\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"name\\\":\\\"meta.definition.variable.ng\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#letInitializer\\\"}]},\\\"letInitializer\\\":{\\\"begin\\\":\\\"\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ng\\\"}},\\\"contentName\\\":\\\"meta.definition.variable.initializer.ng\\\",\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.ng\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]}},\\\"scopeName\\\":\\\"template.let.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\"]}\"))\n\nexport default [\n...angular_expression,\nlang\n]\n", + "import angular_expression from './angular-expression.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"text.html.derivative\\\",\\\"text.html.derivative.ng\\\",\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:text.html -comment\\\",\\\"name\\\":\\\"angular-template\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}],\\\"repository\\\":{\\\"interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"expression.ng\\\",\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]}},\\\"scopeName\\\":\\\"template.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\"]}\"))\n\nexport default [\n...angular_expression,\nlang\n]\n", + "import angular_expression from './angular-expression.mjs'\nimport angular_template from './angular-template.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"text.html.derivative\\\",\\\"text.html.derivative.ng\\\",\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:text.html -comment -expression.ng -meta.tag -source.css -source.js\\\",\\\"name\\\":\\\"angular-template-blocks\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"block\\\":{\\\"begin\\\":\\\"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.block.kind.ng\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"control.block.ng\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#blockExpression\\\"},{\\\"include\\\":\\\"#blockBody\\\"}]},\\\"blockBody\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"control.block.body.ng\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative.ng\\\"},{\\\"include\\\":\\\"template.ng\\\"}]},\\\"blockExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"contentName\\\":\\\"control.block.expression.ng\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#blockExpressionOfClause\\\"},{\\\"include\\\":\\\"#blockExpressionLetBinding\\\"},{\\\"include\\\":\\\"#blockExpressionTrackClause\\\"},{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"blockExpressionLetBinding\\\":{\\\"begin\\\":\\\"\\\\\\\\blet\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.ng\\\"}},\\\"end\\\":\\\"(?=[$)])|(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"blockExpressionOfClause\\\":{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(of)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.ng\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.expression.of.ng\\\"}},\\\"end\\\":\\\"(?=[$)])|(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"blockExpressionTrackClause\\\":{\\\"begin\\\":\\\"\\\\\\\\btrack\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.track.ng\\\"}},\\\"end\\\":\\\"(?=[$)])|(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"transition\\\":{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.control.block.transition.ng\\\"}},\\\"scopeName\\\":\\\"template.blocks.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\",\\\"angular-template\\\"]}\"))\n\nexport default [\n...angular_expression,\n...angular_template,\nlang\n]\n", + "import html from './html.mjs'\nimport angular_expression from './angular-expression.mjs'\nimport angular_let_declaration from './angular-let-declaration.mjs'\nimport angular_template from './angular-template.mjs'\nimport angular_template_blocks from './angular-template-blocks.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Angular HTML\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"angular-html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#core-minus-invalid\\\"},{\\\"begin\\\":\\\"(</?)(\\\\\\\\w[^>\\\\\\\\s]*)(?<!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.unrecognized.html.derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]}],\\\"scopeName\\\":\\\"text.html.derivative.ng\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"angular-expression\\\",\\\"angular-let-declaration\\\",\\\"angular-template\\\",\\\"angular-template-blocks\\\"]}\"))\n\nexport default [\n...html,\n...angular_expression,\n...angular_let_declaration,\n...angular_template,\n...angular_template_blocks,\nlang\n]\n" + ], + "names": [ + "lang", + "angular_expression", + "angular_let_declaration", + "angular_template", + "angular_template_blocks", + "angular_html", + "html" + ], + "mappings": "mCAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,8pmBAAiypB,CAAC,EAEzzpBC,EAAA,CACfD,CACA,ECFMA,EAAO,OAAO,OAAO,KAAK,MAAM,s5BAAkgC,CAAC,EAE1hCE,EAAA,CACf,GAAGD,EACHD,CACA,ECLMA,EAAO,OAAO,OAAO,KAAK,MAAM,wgBAA4kB,CAAC,EAEpmBG,EAAA,CACf,GAAGF,EACHD,CACA,ECJMA,EAAO,OAAO,OAAO,KAAK,MAAM,w8DAAksE,CAAC,EAE1tEI,EAAA,CACf,GAAGH,EACH,GAAGE,EACHH,CACA,ECHMA,EAAO,OAAO,OAAO,KAAK,MAAM,wzBAA44B,CAAC,EAEp6BK,EAAA,CACf,GAAGC,EACH,GAAGL,EACH,GAAGC,EACH,GAAGC,EACH,GAAGC,EACHJ,CACA", + "x_google_ignoreList": [ + 0, + 1, + 2, + 3, + 4 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-vGWfd6FD.js b/src/webview-ui/build/assets/chunk-vGWfd6FD.js new file mode 100644 index 0000000000..810adb03d0 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-vGWfd6FD.js @@ -0,0 +1,8 @@ +const n = Object.freeze( + JSON.parse( + `{"displayName":"TOML","fileTypes":["toml"],"name":"toml","patterns":[{"include":"#comments"},{"include":"#groups"},{"include":"#key_pair"},{"include":"#invalid"}],"repository":{"comments":{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.toml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.toml"}},"end":"\\\\n","name":"comment.line.number-sign.toml"}]},"groups":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[)([^]\\\\[]*)(])","name":"meta.group.toml"},{"captures":{"1":{"name":"punctuation.definition.section.begin.toml"},"2":{"patterns":[{"match":"[^.\\\\s]+","name":"entity.name.section.toml"}]},"3":{"name":"punctuation.definition.section.begin.toml"}},"match":"^\\\\s*(\\\\[\\\\[)([^]\\\\[]*)(]])","name":"meta.group.double.toml"}]},"invalid":{"match":"\\\\S+(\\\\s*(?=\\\\S))?","name":"invalid.illegal.not-allowed-here.toml"},"key_pair":{"patterns":[{"begin":"([-0-9A-Z_a-z]+)\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"((\\")(.*?)(\\"))\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.definition.variable.begin.toml"},"3":{"patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"},{"match":"\\"","name":"invalid.illegal.not-allowed-here.toml"}]},"4":{"name":"punctuation.definition.variable.end.toml"},"5":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"((')([^']*)('))\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml"},"2":{"name":"punctuation.definition.variable.begin.toml"},"4":{"name":"punctuation.definition.variable.end.toml"},"5":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]},{"begin":"(((?:[-0-9A-Z_a-z]+|\\"(?:[^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'[^']*')(?:\\\\s*\\\\.\\\\s*|(?=\\\\s*=))){2,})\\\\s*(=)\\\\s*","captures":{"1":{"name":"variable.other.key.toml","patterns":[{"match":"\\\\.","name":"punctuation.separator.variable.toml"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.toml"},"2":{"patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},"3":{"name":"punctuation.definition.variable.end.toml"}},"match":"(\\")((?:[^\\"\\\\\\\\]|\\\\\\\\.)*)(\\")"},{"captures":{"1":{"name":"punctuation.definition.variable.begin.toml"},"2":{"name":"punctuation.definition.variable.end.toml"}},"match":"(')[^']*(')"}]},"3":{"name":"punctuation.separator.key-value.toml"}},"end":"(?<=\\\\S)(?<!=)|$","patterns":[{"include":"#primatives"}]}]},"primatives":{"patterns":[{"begin":"\\\\G\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"\\"{3,5}","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.triple.double.toml","patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\\\n\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},{"begin":"\\\\G\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.double.toml","patterns":[{"match":"\\\\\\\\([\\"\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.toml"},{"match":"\\\\\\\\[^\\"\\\\\\\\bfnrt]","name":"invalid.illegal.escape.toml"}]},{"begin":"\\\\G'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"'{3,5}","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.triple.single.toml"},{"begin":"\\\\G'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.toml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.toml"}},"name":"string.quoted.single.toml"},{"match":"\\\\G[0-9]{4}-(0[1-9]|1[012])-(?!00|3[2-9])[0-3][0-9]([ Tt](?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\\\.[0-9]+)?(Z|[-+](?!2[5-9])[012][0-9]:[0-5][0-9])?)?","name":"constant.other.date.toml"},{"match":"\\\\G(?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\\\.[0-9]+)?","name":"constant.other.time.toml"},{"match":"\\\\G(true|false)","name":"constant.language.boolean.toml"},{"match":"\\\\G0x\\\\h(_??\\\\h)*","name":"constant.numeric.hex.toml"},{"match":"\\\\G0o[0-7]([0-7]|_[0-7])*","name":"constant.numeric.octal.toml"},{"match":"\\\\G0b[01]([01]|_[01])*","name":"constant.numeric.binary.toml"},{"match":"\\\\G[-+]?(inf|nan)","name":"constant.numeric.toml"},{"match":"\\\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?=[.Ee])(\\\\.([0-9](([0-9]|_[0-9])+)?))?([Ee]([-+]?[0-9](([0-9]|_[0-9])+)?))?","name":"constant.numeric.float.toml"},{"match":"\\\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))","name":"constant.numeric.integer.toml"},{"begin":"\\\\G\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.toml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.toml"}},"name":"meta.array.toml","patterns":[{"begin":"(?=[\\"']|[-+]?[0-9]|[-+]?(inf|nan)|true|false|[\\\\[{])","end":",|(?=])","endCaptures":{"0":{"name":"punctuation.separator.array.toml"}},"patterns":[{"include":"#primatives"},{"include":"#comments"},{"include":"#invalid"}]},{"include":"#comments"},{"include":"#invalid"}]},{"begin":"\\\\G\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.inline-table.begin.toml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.inline-table.end.toml"}},"name":"meta.inline-table.toml","patterns":[{"begin":"(?=\\\\S)","end":",|(?=})","endCaptures":{"0":{"name":"punctuation.separator.inline-table.toml"}},"patterns":[{"include":"#key_pair"}]},{"include":"#comments"}]}]}},"scopeName":"source.toml"}`, + ), + ), + e = [n] +export { e as default } +//# sourceMappingURL=chunk-vGWfd6FD.js.map diff --git a/src/webview-ui/build/assets/chunk-vGWfd6FD.js.map b/src/webview-ui/build/assets/chunk-vGWfd6FD.js.map new file mode 100644 index 0000000000..928a2f9547 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-vGWfd6FD.js.map @@ -0,0 +1,19 @@ +{ + "version": 3, + "file": "chunk-vGWfd6FD.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/toml.mjs" + ], + "sourcesContent": [ + "const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TOML\\\",\\\"fileTypes\\\":[\\\"toml\\\"],\\\"name\\\":\\\"toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#groups\\\"},{\\\"include\\\":\\\"#key_pair\\\"},{\\\"include\\\":\\\"#invalid\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.toml\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.toml\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.toml\\\"}]},\\\"groups\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.section.begin.toml\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[^.\\\\\\\\s]+\\\",\\\"name\\\":\\\"entity.name.section.toml\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.section.begin.toml\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\[)([^]\\\\\\\\[]*)(])\\\",\\\"name\\\":\\\"meta.group.toml\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.section.begin.toml\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[^.\\\\\\\\s]+\\\",\\\"name\\\":\\\"entity.name.section.toml\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.section.begin.toml\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\[\\\\\\\\[)([^]\\\\\\\\[]*)(]])\\\",\\\"name\\\":\\\"meta.group.double.toml\\\"}]},\\\"invalid\\\":{\\\"match\\\":\\\"\\\\\\\\S+(\\\\\\\\s*(?=\\\\\\\\S))?\\\",\\\"name\\\":\\\"invalid.illegal.not-allowed-here.toml\\\"},\\\"key_pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([-0-9A-Z_a-z]+)\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.key.toml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.toml\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?<!=)|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#primatives\\\"}]},{\\\"begin\\\":\\\"((\\\\\\\")(.*?)(\\\\\\\"))\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.key.toml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.toml\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]\\\",\\\"name\\\":\\\"invalid.illegal.escape.toml\\\"},{\\\"match\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"invalid.illegal.not-allowed-here.toml\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.end.toml\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.toml\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?<!=)|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#primatives\\\"}]},{\\\"begin\\\":\\\"((')([^']*)('))\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.key.toml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.toml\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.end.toml\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.toml\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?<!=)|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#primatives\\\"}]},{\\\"begin\\\":\\\"(((?:[-0-9A-Z_a-z]+|\\\\\\\"(?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\"|'[^']*')(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*|(?=\\\\\\\\s*=))){2,})\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.key.toml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.variable.toml\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.toml\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]\\\",\\\"name\\\":\\\"invalid.illegal.escape.toml\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.end.toml\\\"}},\\\"match\\\":\\\"(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*)(\\\\\\\")\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.begin.toml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.end.toml\\\"}},\\\"match\\\":\\\"(')[^']*(')\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.toml\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?<!=)|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#primatives\\\"}]}]},\\\"primatives\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.toml\\\"}},\\\"end\\\":\\\"\\\\\\\"{3,5}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.toml\\\"}},\\\"name\\\":\\\"string.quoted.triple.double.toml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]\\\",\\\"name\\\":\\\"invalid.illegal.escape.toml\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.toml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.toml\\\"}},\\\"name\\\":\\\"string.quoted.double.toml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^\\\\\\\"\\\\\\\\\\\\\\\\bfnrt]\\\",\\\"name\\\":\\\"invalid.illegal.escape.toml\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.toml\\\"}},\\\"end\\\":\\\"'{3,5}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.toml\\\"}},\\\"name\\\":\\\"string.quoted.triple.single.toml\\\"},{\\\"begin\\\":\\\"\\\\\\\\G'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.toml\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.toml\\\"}},\\\"name\\\":\\\"string.quoted.single.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G[0-9]{4}-(0[1-9]|1[012])-(?!00|3[2-9])[0-3][0-9]([ Tt](?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\\\\\\\.[0-9]+)?(Z|[-+](?!2[5-9])[012][0-9]:[0-5][0-9])?)?\\\",\\\"name\\\":\\\"constant.other.date.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G(?!2[5-9])[012][0-9]:[0-5][0-9]:(?!6[1-9])[0-6][0-9](\\\\\\\\.[0-9]+)?\\\",\\\"name\\\":\\\"constant.other.time.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G(true|false)\\\",\\\"name\\\":\\\"constant.language.boolean.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G0x\\\\\\\\h(_??\\\\\\\\h)*\\\",\\\"name\\\":\\\"constant.numeric.hex.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G0o[0-7]([0-7]|_[0-7])*\\\",\\\"name\\\":\\\"constant.numeric.octal.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G0b[01]([01]|_[01])*\\\",\\\"name\\\":\\\"constant.numeric.binary.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G[-+]?(inf|nan)\\\",\\\"name\\\":\\\"constant.numeric.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?=[.Ee])(\\\\\\\\.([0-9](([0-9]|_[0-9])+)?))?([Ee]([-+]?[0-9](([0-9]|_[0-9])+)?))?\\\",\\\"name\\\":\\\"constant.numeric.float.toml\\\"},{\\\"match\\\":\\\"\\\\\\\\G([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))\\\",\\\"name\\\":\\\"constant.numeric.integer.toml\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.toml\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.toml\\\"}},\\\"name\\\":\\\"meta.array.toml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[\\\\\\\"']|[-+]?[0-9]|[-+]?(inf|nan)|true|false|[\\\\\\\\[{])\\\",\\\"end\\\":\\\",|(?=])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.array.toml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#primatives\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.inline-table.begin.toml\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.inline-table.end.toml\\\"}},\\\"name\\\":\\\"meta.inline-table.toml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\S)\\\",\\\"end\\\":\\\",|(?=})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.inline-table.toml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#key_pair\\\"}]},{\\\"include\\\":\\\"#comments\\\"}]}]}},\\\"scopeName\\\":\\\"source.toml\\\"}\"))\n\nexport default [\nlang\n]\n" + ], + "names": [ + "lang", + "toml" + ], + "mappings": "AAAA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,0tMAAs9N,CAAC,EAE9+NC,EAAA,CACfD,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/chunk-vbB5lEOJ.js b/src/webview-ui/build/assets/chunk-vbB5lEOJ.js new file mode 100644 index 0000000000..b83ce12e96 --- /dev/null +++ b/src/webview-ui/build/assets/chunk-vbB5lEOJ.js @@ -0,0 +1,9 @@ +import e from "./chunk-DPfMkruS.js" +const n = Object.freeze( + JSON.parse( + `{"displayName":"SCSS","name":"scss","patterns":[{"include":"#variable_setting"},{"include":"#at_rule_forward"},{"include":"#at_rule_use"},{"include":"#at_rule_include"},{"include":"#at_rule_import"},{"include":"#general"},{"include":"#flow_control"},{"include":"#rules"},{"include":"#property_list"},{"include":"#at_rule_mixin"},{"include":"#at_rule_media"},{"include":"#at_rule_function"},{"include":"#at_rule_charset"},{"include":"#at_rule_option"},{"include":"#at_rule_namespace"},{"include":"#at_rule_fontface"},{"include":"#at_rule_page"},{"include":"#at_rule_keyframes"},{"include":"#at_rule_at_root"},{"include":"#at_rule_supports"},{"match":";","name":"punctuation.terminator.rule.css"}],"repository":{"at_rule_at_root":{"begin":"\\\\s*((@)(at-root))(\\\\s+|$)","beginCaptures":{"1":{"name":"keyword.control.at-rule.at-root.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.at-root.scss","patterns":[{"include":"#function_attributes"},{"include":"#functions"},{"include":"#selectors"}]},"at_rule_charset":{"begin":"\\\\s*((@)charset)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.at-rule.charset.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*((?=;|$))","name":"meta.at-rule.charset.scss","patterns":[{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"}]},"at_rule_content":{"begin":"\\\\s*((@)content)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.content.scss"}},"end":"\\\\s*((?=;))","name":"meta.content.scss","patterns":[{"include":"#variable"},{"include":"#selectors"},{"include":"#property_values"}]},"at_rule_each":{"begin":"\\\\s*((@)each)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.each.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*((?=}))","name":"meta.at-rule.each.scss","patterns":[{"match":"\\\\b(in|,)\\\\b","name":"keyword.control.operator"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}]},"at_rule_else":{"begin":"\\\\s*((@)else(\\\\s*(if)?))\\\\s*","captures":{"1":{"name":"keyword.control.else.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.else.scss","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"}]},"at_rule_extend":{"begin":"\\\\s*((@)extend)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.at-rule.extend.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=;)","name":"meta.at-rule.extend.scss","patterns":[{"include":"#variable"},{"include":"#selectors"},{"include":"#property_values"}]},"at_rule_fontface":{"patterns":[{"begin":"^\\\\s*((@)font-face)\\\\b","beginCaptures":{"1":{"name":"keyword.control.at-rule.fontface.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.fontface.scss","patterns":[{"include":"#function_attributes"}]}]},"at_rule_for":{"begin":"\\\\s*((@)for)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.for.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.for.scss","patterns":[{"match":"(==|!=|<=|>=|[<>]|from|to|through)","name":"keyword.control.operator"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}]},"at_rule_forward":{"begin":"\\\\s*((@)forward)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.at-rule.forward.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=;)","name":"meta.at-rule.forward.scss","patterns":[{"match":"\\\\b(as|hide|show)\\\\b","name":"keyword.control.operator"},{"captures":{"1":{"name":"entity.other.attribute-name.module.scss"},"2":{"name":"punctuation.definition.wildcard.scss"}},"match":"\\\\b([-\\\\w]+)(\\\\*)"},{"match":"\\\\b[-\\\\w]+\\\\b","name":"entity.name.function.scss"},{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#comment_line"},{"include":"#comment_block"}]},"at_rule_function":{"patterns":[{"begin":"\\\\s*((@)function)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.at-rule.function.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.function.scss","patterns":[{"include":"#function_attributes"}]},{"captures":{"1":{"name":"keyword.control.at-rule.function.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}},"match":"\\\\s*((@)function)\\\\b\\\\s*","name":"meta.at-rule.function.scss"}]},"at_rule_if":{"begin":"\\\\s*((@)if)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.if.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.if.scss","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"}]},"at_rule_import":{"begin":"\\\\s*((@)import)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.at-rule.import.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*((?=;)|(?=}))","name":"meta.at-rule.import.scss","patterns":[{"include":"#variable"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#functions"},{"include":"#comment_line"}]},"at_rule_include":{"patterns":[{"begin":"(?<=@include)\\\\s+(?:([-\\\\w]+)\\\\s*(\\\\.))?([-\\\\w]+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"entity.name.function.scss"},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}},"name":"meta.at-rule.include.scss","patterns":[{"include":"#function_attributes"}]},{"captures":{"0":{"name":"meta.at-rule.include.scss"},"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"entity.name.function.scss"}},"match":"(?<=@include)\\\\s+(?:([-\\\\w]+)\\\\s*(\\\\.))?([-\\\\w]+)"},{"captures":{"0":{"name":"meta.at-rule.include.scss"},"1":{"name":"keyword.control.at-rule.include.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"((@)include)\\\\b"}]},"at_rule_keyframes":{"begin":"(?<=^|\\\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\\\b","beginCaptures":{"0":{"name":"keyword.control.at-rule.keyframes.scss"},"1":{"name":"punctuation.definition.keyword.scss"}},"end":"(?<=})","name":"meta.at-rule.keyframes.scss","patterns":[{"captures":{"1":{"name":"entity.name.function.scss"}},"match":"(?<=@keyframes)\\\\s+((?:[A-Z_a-z][-\\\\w]|-[A-Z_a-z])[-\\\\w]*)"},{"begin":"(?<=@keyframes)\\\\s+(\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"contentName":"entity.name.function.scss","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.double.scss","patterns":[{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},{"begin":"(?<=@keyframes)\\\\s+(')","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.scss"}},"contentName":"entity.name.function.scss","end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.single.scss","patterns":[{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.keyframes.begin.scss"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.keyframes.end.scss"}},"patterns":[{"match":"\\\\b(?:(?:100|[1-9]\\\\d|\\\\d)%|from|to)(?=\\\\s*\\\\{)","name":"entity.other.attribute-name.scss"},{"include":"#flow_control"},{"include":"#interpolation"},{"include":"#property_list"},{"include":"#rules"}]}]},"at_rule_media":{"patterns":[{"begin":"^\\\\s*((@)media)\\\\b","beginCaptures":{"1":{"name":"keyword.control.at-rule.media.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.media.scss","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"match":"\\\\b(only)\\\\b","name":"keyword.control.operator.css.scss"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.media-query.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.media-query.end.bracket.round.scss"}},"name":"meta.property-list.media-query.scss","patterns":[{"begin":"(?<![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","name":"meta.property-name.media-query.scss","patterns":[{"include":"source.css#media-features"},{"include":"source.css#property-names"}]},{"begin":"(:)\\\\s*(?!(\\\\s*\\\\{))","beginCaptures":{"1":{"name":"punctuation.separator.key-value.scss"}},"contentName":"meta.property-value.media-query.scss","end":"\\\\s*(;|(?=[)}]))","endCaptures":{"1":{"name":"punctuation.terminator.rule.scss"}},"patterns":[{"include":"#general"},{"include":"#property_values"}]}]},{"include":"#variable"},{"include":"#conditional_operators"},{"include":"source.css#media-types"}]}]},"at_rule_mixin":{"patterns":[{"begin":"(?<=@mixin)\\\\s+([-\\\\w]+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.scss"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}},"name":"meta.at-rule.mixin.scss","patterns":[{"include":"#function_attributes"}]},{"captures":{"1":{"name":"entity.name.function.scss"}},"match":"(?<=@mixin)\\\\s+([-\\\\w]+)","name":"meta.at-rule.mixin.scss"},{"captures":{"1":{"name":"keyword.control.at-rule.mixin.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"((@)mixin)\\\\b","name":"meta.at-rule.mixin.scss"}]},"at_rule_namespace":{"patterns":[{"begin":"(?<=@namespace)\\\\s+(?=url)","end":"(?=;|$)","name":"meta.at-rule.namespace.scss","patterns":[{"include":"#property_values"},{"include":"#string_single"},{"include":"#string_double"}]},{"begin":"(?<=@namespace)\\\\s+([-\\\\w]*)","captures":{"1":{"name":"entity.name.namespace-prefix.scss"}},"end":"(?=;|$)","name":"meta.at-rule.namespace.scss","patterns":[{"include":"#variables"},{"include":"#property_values"},{"include":"#string_single"},{"include":"#string_double"}]},{"captures":{"1":{"name":"keyword.control.at-rule.namespace.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"((@)namespace)\\\\b","name":"meta.at-rule.namespace.scss"}]},"at_rule_option":{"captures":{"1":{"name":"keyword.control.at-rule.charset.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"match":"^\\\\s*((@)option)\\\\b\\\\s*","name":"meta.at-rule.option.scss"},"at_rule_page":{"patterns":[{"begin":"^\\\\s*((@)page)(?=[:\\\\s])\\\\s*([-:\\\\w]*)","captures":{"1":{"name":"keyword.control.at-rule.page.scss"},"2":{"name":"punctuation.definition.keyword.scss"},"3":{"name":"entity.name.function.scss"}},"end":"\\\\s*(?=\\\\{)","name":"meta.at-rule.page.scss"}]},"at_rule_return":{"begin":"\\\\s*((@)(return))\\\\b","captures":{"1":{"name":"keyword.control.return.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*((?=;))","name":"meta.at-rule.return.scss","patterns":[{"include":"#variable"},{"include":"#property_values"}]},"at_rule_supports":{"begin":"(?<=^|\\\\s)(@)supports\\\\b","captures":{"0":{"name":"keyword.control.at-rule.supports.scss"},"1":{"name":"punctuation.definition.keyword.scss"}},"end":"(?=\\\\{)|$","name":"meta.at-rule.supports.scss","patterns":[{"include":"#logical_operators"},{"include":"#properties"},{"match":"\\\\(","name":"punctuation.definition.condition.begin.bracket.round.scss"},{"match":"\\\\)","name":"punctuation.definition.condition.end.bracket.round.scss"}]},"at_rule_use":{"begin":"\\\\s*((@)use)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.at-rule.use.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=;)","name":"meta.at-rule.use.scss","patterns":[{"match":"\\\\b(as|with)\\\\b","name":"keyword.control.operator"},{"match":"\\\\b[-\\\\w]+\\\\b","name":"variable.scss"},{"match":"\\\\*","name":"variable.language.expanded-namespace.scss"},{"include":"#string_single"},{"include":"#string_double"},{"include":"#comment_line"},{"include":"#comment_block"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.scss"}},"patterns":[{"include":"#function_attributes"}]}]},"at_rule_warn":{"begin":"\\\\s*((@)(warn|debug|error))\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.warn.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=;)","name":"meta.at-rule.warn.scss","patterns":[{"include":"#variable"},{"include":"#string_double"},{"include":"#string_single"}]},"at_rule_while":{"begin":"\\\\s*((@)while)\\\\b\\\\s*","captures":{"1":{"name":"keyword.control.while.scss"},"2":{"name":"punctuation.definition.keyword.scss"}},"end":"\\\\s*(?=})","name":"meta.at-rule.while.scss","patterns":[{"include":"#conditional_operators"},{"include":"#variable"},{"include":"#property_values"},{"include":"$self"}]},"comment_block":{"begin":"/\\\\*","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"name":"comment.block.scss"},"comment_docblock":{"begin":"///","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"end":"(?=$)","name":"comment.block.documentation.scss","patterns":[{"include":"source.sassdoc"}]},"comment_line":{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.scss"}},"end":"\\\\n","name":"comment.line.scss"},"comparison_operators":{"match":"==|!=|<=|>=|[<>]","name":"keyword.operator.comparison.scss"},"conditional_operators":{"patterns":[{"include":"#comparison_operators"},{"include":"#logical_operators"}]},"constant_default":{"match":"!default","name":"keyword.other.default.scss"},"constant_functions":{"begin":"(?:([-\\\\w]+)(\\\\.))?([-\\\\w]+)(\\\\()","beginCaptures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"support.function.misc.scss"},"4":{"name":"punctuation.section.function.scss"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.scss"}},"patterns":[{"include":"#parameters"}]},"constant_important":{"match":"!important","name":"keyword.other.important.scss"},"constant_mathematical_symbols":{"match":"\\\\b([-*+/])\\\\b","name":"support.constant.mathematical-symbols.scss"},"constant_optional":{"match":"!optional","name":"keyword.other.optional.scss"},"constant_sass_functions":{"begin":"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:|svg-)gradient|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate[XY])(\\\\()","beginCaptures":{"1":{"name":"support.function.misc.scss"},"2":{"name":"punctuation.section.function.scss"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.scss"}},"patterns":[{"include":"#parameters"}]},"flow_control":{"patterns":[{"include":"#at_rule_if"},{"include":"#at_rule_else"},{"include":"#at_rule_warn"},{"include":"#at_rule_for"},{"include":"#at_rule_while"},{"include":"#at_rule_each"},{"include":"#at_rule_return"}]},"function_attributes":{"patterns":[{"match":":","name":"punctuation.separator.key-value.scss"},{"include":"#general"},{"include":"#property_values"},{"match":"[;=?@{}]","name":"invalid.illegal.scss"}]},"functions":{"patterns":[{"begin":"([-\\\\w]+)(\\\\()\\\\s*","beginCaptures":{"1":{"name":"support.function.misc.scss"},"2":{"name":"punctuation.section.function.scss"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.section.function.scss"}},"patterns":[{"include":"#parameters"}]},{"match":"([-\\\\w]+)","name":"support.function.misc.scss"}]},"general":{"patterns":[{"include":"#variable"},{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"}]},"interpolation":{"begin":"#\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.interpolation.begin.bracket.curly.scss"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.interpolation.end.bracket.curly.scss"}},"name":"variable.interpolation.scss","patterns":[{"include":"#variable"},{"include":"#property_values"}]},"logical_operators":{"match":"\\\\b(not|or|and)\\\\b","name":"keyword.operator.logical.scss"},"map":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.map.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.map.end.bracket.round.scss"}},"name":"meta.definition.variable.map.scss","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"captures":{"1":{"name":"support.type.map.key.scss"},"2":{"name":"punctuation.separator.key-value.scss"}},"match":"\\\\b([-\\\\w]+)\\\\s*(:)"},{"match":",","name":"punctuation.separator.delimiter.scss"},{"include":"#map"},{"include":"#variable"},{"include":"#property_values"}]},"operators":{"match":"[-*+/](?!\\\\s*[-*+/])","name":"keyword.operator.css"},"parameters":{"patterns":[{"include":"#variable"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.scss"}},"patterns":[{"include":"#function_attributes"}]},{"include":"#property_values"},{"include":"#comment_block"},{"match":"[^\\\\t \\"'),]+","name":"variable.parameter.url.scss"},{"match":",","name":"punctuation.separator.delimiter.scss"}]},"parent_selector_suffix":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.identifier.scss"}]}},"match":"(?<=&)((?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|#\\\\{|[$}])+)(?=$|[#)+,.:>\\\\[{|~\\\\s]|/\\\\*)","name":"entity.other.attribute-name.parent-selector-suffix.css"},"properties":{"patterns":[{"begin":"(?<![-a-z])(?=[-a-z])","end":"$|(?![-a-z])","name":"meta.property-name.scss","patterns":[{"include":"source.css#property-names"},{"include":"#at_rule_include"}]},{"begin":"(:)\\\\s*(?!(\\\\s*\\\\{))","beginCaptures":{"1":{"name":"punctuation.separator.key-value.scss"}},"contentName":"meta.property-value.scss","end":"\\\\s*(;|(?=[)}]))","endCaptures":{"1":{"name":"punctuation.terminator.rule.scss"}},"patterns":[{"include":"#general"},{"include":"#property_values"}]}]},"property_list":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.property-list.begin.bracket.curly.scss"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.property-list.end.bracket.curly.scss"}},"name":"meta.property-list.scss","patterns":[{"include":"#flow_control"},{"include":"#rules"},{"include":"#properties"},{"include":"$self"}]},"property_values":{"patterns":[{"include":"#string_single"},{"include":"#string_double"},{"include":"#constant_functions"},{"include":"#constant_sass_functions"},{"include":"#constant_important"},{"include":"#constant_default"},{"include":"#constant_optional"},{"include":"source.css#numeric-values"},{"include":"source.css#property-keywords"},{"include":"source.css#color-keywords"},{"include":"source.css#property-names"},{"include":"#constant_mathematical_symbols"},{"include":"#operators"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.scss"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.scss"}},"patterns":[{"include":"#general"},{"include":"#property_values"}]}]},"rules":{"patterns":[{"include":"#general"},{"include":"#at_rule_extend"},{"include":"#at_rule_content"},{"include":"#at_rule_include"},{"include":"#at_rule_media"},{"include":"#selectors"}]},"selector_attribute":{"captures":{"1":{"name":"punctuation.definition.attribute-selector.begin.bracket.square.scss"},"2":{"name":"entity.other.attribute-name.attribute.scss","patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"3":{"name":"keyword.operator.scss"},"4":{"name":"string.unquoted.attribute-value.scss","patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"5":{"name":"string.quoted.double.attribute-value.scss"},"6":{"name":"punctuation.definition.string.begin.scss"},"7":{"patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"8":{"name":"punctuation.definition.string.end.scss"},"9":{"name":"string.quoted.single.attribute-value.scss"},"10":{"name":"punctuation.definition.string.begin.scss"},"11":{"patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]},"12":{"name":"punctuation.definition.string.end.scss"},"13":{"name":"punctuation.definition.attribute-selector.end.bracket.square.scss"}},"match":"(?i)(\\\\[)\\\\s*((?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|#\\\\{|\\\\.?\\\\$|})+?)(?:\\\\s*([$*^|~]?=)\\\\s*(?:((?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|#\\\\{|\\\\.?\\\\$|})+)|((\\")(.*?)(\\"))|((')(.*?)('))))?\\\\s*(])","name":"meta.attribute-selector.scss"},"selector_class":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.scss"}]}},"match":"(\\\\.)((?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|#\\\\{|\\\\.?\\\\$|})+)(?=$|[#)+,:>\\\\[{|~\\\\s]|\\\\.[^$]|/\\\\*|;)","name":"entity.other.attribute-name.class.css"},"selector_custom":{"match":"\\\\b([0-9A-Za-z]+(-[0-9A-Za-z]+)+)(?=\\\\.|\\\\s++[^:]|\\\\s*[,\\\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-((?:|last-)(?:child|of-type))|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\\\([0-9A-Za-z]*\\\\))?)","name":"entity.name.tag.custom.scss"},"selector_id":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.identifier.scss"}]}},"match":"(#)((?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|#\\\\{|\\\\.?\\\\$|})+)(?=$|[#)+,:>\\\\[{|~\\\\s]|\\\\.[^$]|/\\\\*)","name":"entity.other.attribute-name.id.css"},"selector_placeholder":{"captures":{"1":{"name":"punctuation.definition.entity.css"},"2":{"patterns":[{"include":"#interpolation"},{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"match":"[$}]","name":"invalid.illegal.identifier.scss"}]}},"match":"(%)((?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.)|#\\\\{|\\\\.\\\\$|[$}])+)(?=;|$|[#)+,:>\\\\[{|~\\\\s]|\\\\.[^$]|/\\\\*)","name":"entity.other.attribute-name.placeholder.css"},"selector_pseudo_class":{"patterns":[{"begin":"((:)\\\\bnth-(?:|last-)(?:child|of-type))(\\\\()","beginCaptures":{"1":{"name":"entity.other.attribute-name.pseudo-class.css"},"2":{"name":"punctuation.definition.entity.css"},"3":{"name":"punctuation.definition.pseudo-class.begin.bracket.round.css"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.pseudo-class.end.bracket.round.css"}},"patterns":[{"include":"#interpolation"},{"match":"\\\\d+","name":"constant.numeric.css"},{"match":"(?:(?<=\\\\d)n|\\\\b(n|even|odd))\\\\b","name":"constant.other.scss"},{"match":"\\\\w+","name":"invalid.illegal.scss"}]},{"include":"source.css#pseudo-classes"},{"include":"source.css#pseudo-elements"},{"include":"source.css#functional-pseudo-classes"}]},"selectors":{"patterns":[{"include":"source.css#tag-names"},{"include":"#selector_custom"},{"include":"#selector_class"},{"include":"#selector_id"},{"include":"#selector_pseudo_class"},{"include":"#tag_wildcard"},{"include":"#tag_parent_reference"},{"include":"source.css#pseudo-elements"},{"include":"#selector_attribute"},{"include":"#selector_placeholder"},{"include":"#parent_selector_suffix"}]},"string_double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scss"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.double.scss","patterns":[{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},"string_single":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scss"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.scss"}},"name":"string.quoted.single.scss","patterns":[{"match":"\\\\\\\\(\\\\h{1,6}|.)","name":"constant.character.escape.scss"},{"include":"#interpolation"}]},"tag_parent_reference":{"match":"&","name":"entity.name.tag.reference.scss"},"tag_wildcard":{"match":"\\\\*","name":"entity.name.tag.wildcard.scss"},"variable":{"patterns":[{"include":"#variables"},{"include":"#interpolation"}]},"variable_setting":{"begin":"(?=\\\\$[-\\\\w]+\\\\s*:)","contentName":"meta.definition.variable.scss","end":";","endCaptures":{"0":{"name":"punctuation.terminator.rule.scss"}},"patterns":[{"match":"\\\\$[-\\\\w]+(?=\\\\s*:)","name":"variable.scss"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.key-value.scss"}},"end":"(?=;)","patterns":[{"include":"#comment_docblock"},{"include":"#comment_block"},{"include":"#comment_line"},{"include":"#map"},{"include":"#property_values"},{"include":"#variable"},{"match":",","name":"punctuation.separator.delimiter.scss"}]}]},"variables":{"patterns":[{"captures":{"1":{"name":"variable.scss"},"2":{"name":"punctuation.access.module.scss"},"3":{"name":"variable.scss"}},"match":"\\\\b([-\\\\w]+)(\\\\.)(\\\\$[-\\\\w]+)\\\\b"},{"match":"(\\\\$|--)[-0-9A-Z_a-z]+\\\\b","name":"variable.scss"}]}},"scopeName":"source.css.scss","embeddedLangs":["css"]}`, + ), + ), + s = [...e, n] +export { s as default } +//# sourceMappingURL=chunk-vbB5lEOJ.js.map diff --git a/src/webview-ui/build/assets/chunk-vbB5lEOJ.js.map b/src/webview-ui/build/assets/chunk-vbB5lEOJ.js.map new file mode 100644 index 0000000000..f2ac9c2d2b --- /dev/null +++ b/src/webview-ui/build/assets/chunk-vbB5lEOJ.js.map @@ -0,0 +1,20 @@ +{ + "version": 3, + "file": "chunk-vbB5lEOJ.js", + "sources": [ + "../../../../node_modules/.pnpm/@shikijs+langs@3.4.1/node_modules/@shikijs/langs/dist/scss.mjs" + ], + "sourcesContent": [ + "import css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SCSS\\\",\\\"name\\\":\\\"scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable_setting\\\"},{\\\"include\\\":\\\"#at_rule_forward\\\"},{\\\"include\\\":\\\"#at_rule_use\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"},{\\\"include\\\":\\\"#at_rule_import\\\"},{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#rules\\\"},{\\\"include\\\":\\\"#property_list\\\"},{\\\"include\\\":\\\"#at_rule_mixin\\\"},{\\\"include\\\":\\\"#at_rule_media\\\"},{\\\"include\\\":\\\"#at_rule_function\\\"},{\\\"include\\\":\\\"#at_rule_charset\\\"},{\\\"include\\\":\\\"#at_rule_option\\\"},{\\\"include\\\":\\\"#at_rule_namespace\\\"},{\\\"include\\\":\\\"#at_rule_fontface\\\"},{\\\"include\\\":\\\"#at_rule_page\\\"},{\\\"include\\\":\\\"#at_rule_keyframes\\\"},{\\\"include\\\":\\\"#at_rule_at_root\\\"},{\\\"include\\\":\\\"#at_rule_supports\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}],\\\"repository\\\":{\\\"at_rule_at_root\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(at-root))(\\\\\\\\s+|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.at-root.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.at-root.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},\\\"at_rule_charset\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$))\\\",\\\"name\\\":\\\"meta.at-rule.charset.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},\\\"at_rule_content\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)content)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.content.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;))\\\",\\\"name\\\":\\\"meta.content.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_each\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)each)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.each.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=}))\\\",\\\"name\\\":\\\"meta.at-rule.each.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(in|,)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"at_rule_else\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)else(\\\\\\\\s*(if)?))\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.else.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.else.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_extend\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)extend)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.extend.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.extend.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_fontface\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)font-face)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.fontface.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.fontface.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]}]},\\\"at_rule_for\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)for)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.for.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(==|!=|<=|>=|[<>]|from|to|through)\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"at_rule_forward\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)forward)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.forward.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.forward.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|hide|show)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.module.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.wildcard.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([-\\\\\\\\w]+)(\\\\\\\\*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-\\\\\\\\w]+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.scss\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#comment_block\\\"}]},\\\"at_rule_function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)function)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.function.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)function)\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.at-rule.function.scss\\\"}]},\\\"at_rule_if\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)if)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.if.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_import\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)import)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;)|(?=}))\\\",\\\"name\\\":\\\"meta.at-rule.import.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"at_rule_include\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@include)\\\\\\\\s+(?:([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\.))?([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.at-rule.include.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.at-rule.include.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@include)\\\\\\\\s+(?:([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\.))?([-\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.at-rule.include.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.include.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)include)\\\\\\\\b\\\"}]},\\\"at_rule_keyframes\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.scss\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@keyframes)\\\\\\\\s+((?:[A-Z_a-z][-\\\\\\\\w]|-[A-Z_a-z])[-\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"(?<=@keyframes)\\\\\\\\s+(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"contentName\\\":\\\"entity.name.function.scss\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.double.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(?<=@keyframes)\\\\\\\\s+(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"contentName\\\":\\\"entity.name.function.scss\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.single.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.begin.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.end.scss\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:(?:100|[1-9]\\\\\\\\d|\\\\\\\\d)%|from|to)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"entity.other.attribute-name.scss\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#property_list\\\"},{\\\"include\\\":\\\"#rules\\\"}]}]},\\\"at_rule_media\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)media)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.media.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"match\\\":\\\"\\\\\\\\b(only)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator.css.scss\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.media-query.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.media-query.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.property-list.media-query.scss\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![-a-z])(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"name\\\":\\\"meta.property-name.media-query.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#media-features\\\"},{\\\"include\\\":\\\"source.css#property-names\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(?!(\\\\\\\\s*\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"contentName\\\":\\\"meta.property-value.media-query.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(;|(?=[)}]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"source.css#media-types\\\"}]}]},\\\"at_rule_mixin\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@mixin)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@mixin)\\\\\\\\s+([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.mixin.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)mixin)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\"}]},\\\"at_rule_namespace\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@namespace)\\\\\\\\s+(?=url)\\\",\\\"end\\\":\\\"(?=;|$)\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},{\\\"begin\\\":\\\"(?<=@namespace)\\\\\\\\s+([-\\\\\\\\w]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace-prefix.scss\\\"}},\\\"end\\\":\\\"(?=;|$)\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)namespace)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\"}]},\\\"at_rule_option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)option)\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.at-rule.option.scss\\\"},\\\"at_rule_page\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)page)(?=[:\\\\\\\\s])\\\\\\\\s*([-:\\\\\\\\w]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.page.scss\\\"}]},\\\"at_rule_return\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(return))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.return.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;))\\\",\\\"name\\\":\\\"meta.at-rule.return.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_supports\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(@)supports\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|$\\\",\\\"name\\\":\\\"meta.at-rule.supports.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.definition.condition.begin.bracket.round.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.definition.condition.end.bracket.round.scss\\\"}]},\\\"at_rule_use\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)use)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.use.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.use.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-\\\\\\\\w]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.expanded-namespace.scss\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]}]},\\\"at_rule_warn\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(warn|debug|error))\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.warn.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.warn.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#string_single\\\"}]},\\\"at_rule_while\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)while)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=})\\\",\\\"name\\\":\\\"meta.at-rule.while.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"comment_block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"name\\\":\\\"comment.block.scss\\\"},\\\"comment_docblock\\\":{\\\"begin\\\":\\\"///\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.block.documentation.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sassdoc\\\"}]},\\\"comment_line\\\":{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.scss\\\"},\\\"comparison_operators\\\":{\\\"match\\\":\\\"==|!=|<=|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.scss\\\"},\\\"conditional_operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comparison_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"}]},\\\"constant_default\\\":{\\\"match\\\":\\\"!default\\\",\\\"name\\\":\\\"keyword.other.default.scss\\\"},\\\"constant_functions\\\":{\\\"begin\\\":\\\"(?:([-\\\\\\\\w]+)(\\\\\\\\.))?([-\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},\\\"constant_important\\\":{\\\"match\\\":\\\"!important\\\",\\\"name\\\":\\\"keyword.other.important.scss\\\"},\\\"constant_mathematical_symbols\\\":{\\\"match\\\":\\\"\\\\\\\\b([-*+/])\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.mathematical-symbols.scss\\\"},\\\"constant_optional\\\":{\\\"match\\\":\\\"!optional\\\",\\\"name\\\":\\\"keyword.other.optional.scss\\\"},\\\"constant_sass_functions\\\":{\\\"begin\\\":\\\"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:|svg-)gradient|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate[XY])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},\\\"flow_control\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#at_rule_if\\\"},{\\\"include\\\":\\\"#at_rule_else\\\"},{\\\"include\\\":\\\"#at_rule_warn\\\"},{\\\"include\\\":\\\"#at_rule_for\\\"},{\\\"include\\\":\\\"#at_rule_while\\\"},{\\\"include\\\":\\\"#at_rule_each\\\"},{\\\"include\\\":\\\"#at_rule_return\\\"}]},\\\"function_attributes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"},{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"match\\\":\\\"[;=?@{}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([-\\\\\\\\w]+)(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},{\\\"match\\\":\\\"([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"support.function.misc.scss\\\"}]},\\\"general\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.begin.bracket.curly.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.end.bracket.curly.scss\\\"}},\\\"name\\\":\\\"variable.interpolation.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"logical_operators\\\":{\\\"match\\\":\\\"\\\\\\\\b(not|or|and)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.scss\\\"},\\\"map\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.map.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.map.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.definition.variable.map.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.map.key.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([-\\\\\\\\w]+)\\\\\\\\s*(:)\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"},{\\\"include\\\":\\\"#map\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"operators\\\":{\\\"match\\\":\\\"[-*+/](?!\\\\\\\\s*[-*+/])\\\",\\\"name\\\":\\\"keyword.operator.css\\\"},\\\"parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"match\\\":\\\"[^\\\\\\\\t \\\\\\\"'),]+\\\",\\\"name\\\":\\\"variable.parameter.url.scss\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"}]},\\\"parent_selector_suffix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(?<=&)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|[$}])+)(?=$|[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.parent-selector-suffix.css\\\"},\\\"properties\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![-a-z])(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"name\\\":\\\"meta.property-name.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#property-names\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(?!(\\\\\\\\s*\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"contentName\\\":\\\"meta.property-value.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(;|(?=[)}]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},\\\"property_list\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.scss\\\"}},\\\"name\\\":\\\"meta.property-list.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#rules\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"property_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#constant_functions\\\"},{\\\"include\\\":\\\"#constant_sass_functions\\\"},{\\\"include\\\":\\\"#constant_important\\\"},{\\\"include\\\":\\\"#constant_default\\\"},{\\\"include\\\":\\\"#constant_optional\\\"},{\\\"include\\\":\\\"source.css#numeric-values\\\"},{\\\"include\\\":\\\"source.css#property-keywords\\\"},{\\\"include\\\":\\\"source.css#color-keywords\\\"},{\\\"include\\\":\\\"source.css#property-names\\\"},{\\\"include\\\":\\\"#constant_mathematical_symbols\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},\\\"rules\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#at_rule_extend\\\"},{\\\"include\\\":\\\"#at_rule_content\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"},{\\\"include\\\":\\\"#at_rule_media\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},\\\"selector_attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.attribute-selector.begin.bracket.square.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.attribute.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.attribute-value.scss\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"},\\\"9\\\":{\\\"name\\\":\\\"string.quoted.single.attribute-value.scss\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.attribute-selector.end.bracket.square.scss\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\[)\\\\\\\\s*((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+?)(?:\\\\\\\\s*([$*^|~]?=)\\\\\\\\s*(?:((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)|((\\\\\\\")(.*?)(\\\\\\\"))|((')(.*?)('))))?\\\\\\\\s*(])\\\",\\\"name\\\":\\\"meta.attribute-selector.scss\\\"},\\\"selector_class\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\.)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)(?=$|[#)+,:>\\\\\\\\[{|~\\\\\\\\s]|\\\\\\\\.[^$]|/\\\\\\\\*|;)\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},\\\"selector_custom\\\":{\\\"match\\\":\\\"\\\\\\\\b([0-9A-Za-z]+(-[0-9A-Za-z]+)+)(?=\\\\\\\\.|\\\\\\\\s++[^:]|\\\\\\\\s*[,\\\\\\\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-((?:|last-)(?:child|of-type))|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\\\\\\\([0-9A-Za-z]*\\\\\\\\))?)\\\",\\\"name\\\":\\\"entity.name.tag.custom.scss\\\"},\\\"selector_id\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(#)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)(?=$|[#)+,:>\\\\\\\\[{|~\\\\\\\\s]|\\\\\\\\.[^$]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},\\\"selector_placeholder\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(%)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.\\\\\\\\$|[$}])+)(?=;|$|[#)+,:>\\\\\\\\[{|~\\\\\\\\s]|\\\\\\\\.[^$]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.placeholder.css\\\"},\\\"selector_pseudo_class\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((:)\\\\\\\\bnth-(?:|last-)(?:child|of-type))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.pseudo-class.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.pseudo-class.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.css\\\"},{\\\"match\\\":\\\"(?:(?<=\\\\\\\\d)n|\\\\\\\\b(n|even|odd))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},{\\\"include\\\":\\\"source.css#pseudo-classes\\\"},{\\\"include\\\":\\\"source.css#pseudo-elements\\\"},{\\\"include\\\":\\\"source.css#functional-pseudo-classes\\\"}]},\\\"selectors\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#tag-names\\\"},{\\\"include\\\":\\\"#selector_custom\\\"},{\\\"include\\\":\\\"#selector_class\\\"},{\\\"include\\\":\\\"#selector_id\\\"},{\\\"include\\\":\\\"#selector_pseudo_class\\\"},{\\\"include\\\":\\\"#tag_wildcard\\\"},{\\\"include\\\":\\\"#tag_parent_reference\\\"},{\\\"include\\\":\\\"source.css#pseudo-elements\\\"},{\\\"include\\\":\\\"#selector_attribute\\\"},{\\\"include\\\":\\\"#selector_placeholder\\\"},{\\\"include\\\":\\\"#parent_selector_suffix\\\"}]},\\\"string_double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.double.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string_single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.single.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"tag_parent_reference\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.reference.scss\\\"},\\\"tag_wildcard\\\":{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.scss\\\"},\\\"variable\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"variable_setting\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\$[-\\\\\\\\w]+\\\\\\\\s*:)\\\",\\\"contentName\\\":\\\"meta.definition.variable.scss\\\",\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[-\\\\\\\\w]+(?=\\\\\\\\s*:)\\\",\\\"name\\\":\\\"variable.scss\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#map\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"}]}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([-\\\\\\\\w]+)(\\\\\\\\.)(\\\\\\\\$[-\\\\\\\\w]+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(\\\\\\\\$|--)[-0-9A-Z_a-z]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.scss\\\"}]}},\\\"scopeName\\\":\\\"source.css.scss\\\",\\\"embeddedLangs\\\":[\\\"css\\\"]}\"))\n\nexport default [\n...css,\nlang\n]\n" + ], + "names": [ + "lang", + "scss", + "css" + ], + "mappings": "mCAEA,MAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,890BAA+j7B,CAAC,EAEvl7BC,EAAA,CACf,GAAGC,EACHF,CACA", + "x_google_ignoreList": [ + 0 + ], + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c6f9a5e7c03f9e64e9c7b4773a8e37ade8eaf406 GIT binary patch literal 63632 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 Rr6XQ~=0w<rz!|so{{kP0^UDAL literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..b804d7b33a3fa5b2587d2d1d55006aed678e3eb2 GIT binary patch literal 33516 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0acaaff03d4bb7606de02a827aeee338e5a86910 GIT binary patch literal 28076 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 L=iyOmB@LKNp8<1V literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9ff4a5e04421e5107f74c28e27354e0b2a4e7ef8 GIT binary patch literal 12368 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 SI)A#mdsjEif#E%%`~LuLuweQC literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.woff b/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..9759710d1d3e16eb10012d56babb73f2479ba9f0 GIT binary patch literal 7716 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 T)f2#Y9^(|*uYwQ=0PlYQ=R`P_ literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f390922eceffe1f6dfb81a3dc086a92d98171b02 GIT binary patch literal 6912 zcmV+b8~@~YPew8T0RR9102=@R4gdfE05EI-02-|T0RR9100000000000000000000 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 G2<`xUL{2yW literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f522294ff0f3f8c52dfdaef7ebfaa06ebfcfaabf GIT binary patch literal 12344 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 J;k}^#e*sv&Q4RnA literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bdd534fd2beb9b878f0219da9d63ffba56677e2 GIT binary patch literal 7656 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 Mepdy)y#Y}F4=Hd9=l}o! literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75344a1f98e37e2c631e178065854c3a81fb842f GIT binary patch literal 6908 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 CFgb+) literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4e98259c3b54076d684bf3459baeaeae8dbce97a GIT binary patch literal 19584 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 F{|oFozGeUb literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.woff b/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..e7730f66275c87c28f26530d89264cffecf90be0 GIT binary patch literal 13296 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..395f28beac23c7b0f7f3a1e714bd8dac253dd3bc GIT binary patch literal 11348 zcmV-aEUVLZPew8T0RR9104!7h4gdfE08HQj04x0f0RR9100000000000000000000 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 Wg04?dcHtp;<B|99v$cK}<F^66KJX*} literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b8461b275fae76efd0d21fd0f1aaa696a5b10f9a GIT binary patch literal 19572 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..acab069f90b6fe6301a004e6f8beaf6a0db48bce GIT binary patch literal 13208 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 L0O<Q0fbf3+nYBJ! literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..735f6948d63c8cc7f8233735bb9c8d843c83d804 GIT binary patch literal 11316 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4060e627dc341c1854260cbc3f7386e222a4d297 GIT binary patch literal 51336 zcmdSCcYs`1eJ?)e+<x!$nLBsdPA^+$cc*ThEn1b8R=vyW#gb*omL<72VYz|97`NEq z*v8laObOr^6RI&agqY+Jhyy=U@{+(KKuExpfM(z4oI9&xY{L7MKYkv0c5az_zUSN9 zIpZJ>hr{hS<q#aZSFi6cFZt2B4>%l8&*1FteMk2kyY`uxci{L*heH_Kch$)h{buBZ z!|}<-aedpx#||FdTRL-t!|{Rd;UUh0drlm~d9TCq<x}{p9z1gG#qP)hF?{~9!|}x2 zp#yvN9|$bE$KiPD%{W&-gcG```~uHU;W&5b=*esPQqAw+`sW=Ear=?W_w6Z?R=>mX zt}PA+Eg#);%`x&<?l0kZ2=}Kh+jI25&ir-H0iNIC{)>-Ye&Xc4AKU&7hvT#R9S$XO z?D&CW2VS7JI~<?D_>PY_sH2R(U#2Ezt2i7LU&U9f__E~(_m|7mJo9g5@?qSw)j^0z zKkEoM5)Sp*c*sp@xhGJqSIQwPWCp1sD{?kdEKqhXgfnucuyrt<DXFARi6jOhB5jbt zLbktu`2f8#)tin9s;Bi9QJ_>2$?-Ek&JWQ3Tz&u(qmBZZB|oMgb;KMEj8;q-Y&1U~ z%?z@kFjB4Bs5k2MY?TdM{{z<wrF^-rMdl3Ma2b;!DiY0a<-YxzXX)6o^6H^vZr7M< zxD;9I+oT1Fs13g6SqACkd{ej)knV9@0Z1?1*AJ5PSQ$VUsAf5kl}3{`+Mm<xGsBrF zE5S;IP2jvkhDb%pDnXfFT{yH+Yd<loup?5<p1liCeA($=w_}H8y(khhL{FWvED{v7 zo;20GF2A^H_Z~sXcZ!OS9qiaC`a_2fiXq(i27J8hO=5R9kxe{e_a6R{T#OI6jCVZl z1;0}V;fWsfxm;xVQc8*8_j-)@U6%?@pF8ktYJ{#iExH0Od=!*mz#uNNVhN>!8ua7y zop%zi->DLr@{iO>?aS<05Fg<0%cMnr>R9F2;@IoZpWCs0)9RU|0Nw(Ug0hlPG9hr7 z6{?hLwPJx`l%cFrtC$sj9ybBc{B)y^>&2|ezQEbU%+|7nEWa3#%^)6Q)vEq#p=egh z!2IpWV%$=|otk83J5=J^KA2fHoC^z0smp&TC>BzFt0NlHNKi`k%WDp*<V2y^q|~{3 zPyX$@6l+3wY^aMWp{Sq8#Y7}8Q`L}6r+VVJ7@RGS%^Wb@)rzd7_xJ+oZYt*^;T%Tu zOQ!M_*U>r2{kDcrtX8P=z?yWCTos%Ry8B&Z=gyX}W<>i3)i5Exj;Z-CgTH?2=yyyw zRy%e%T$B3NwX;*hgWVyq+(Vem6|G>%<P&BB$i$*jwlQY&76it@WCT|Ng=|LQm|zH~ zRSCb9;i~=BS6!#Kl*{Yp3_{dxvE<A^y*{wGtGIDb(7JBc<8}EcJ@Xk!btdRtq3%%7 z?e;~I;TWk6ELq%@v%m0@^DfXm?vzBq37O*CdRznb{rl<z@o^8`6!5u3Svq4%N<x+B zgM*Rqfs4c8ROhP6))xoH>znSi@22Nn0Ot(Mzaq>)Bdv5?<hTT!b8zR@HDem%9FBu} zqYOo4F;xVSQ5fw(@<z5+0V_2sW>#@iMFCG#%3!D(_zCwhG!z*!IHTeIdZWrw!jaaf z3qkf}#)bvl_SFJ)Z)sA$9QCEU&CF&|>OE}eBP&u%H1FX}PI*_VD?OO@ChL{Npe8q| zvaPvyx2131x8|sqMxE2uucu-ztzgiociVS+dS`0JmT^&`Qi817x+UgnuG0w7yfdYI zs<uop)?RLCBggxjg3#<A?`vkgqS+boJ2gQR_5R5Lr(9psbh^4TzFOB0vJKJGuSQpn zx!1NnI=U>SF1bWD1SRKi5XW-pRtXv_?vS4`D7jFtGB&XFYNJ+Vh*-|mq&4f2CEcx0 zg^0kl=YpQxKI+umZnb}d?3N@bN<9DIyh2WcV`F%JK)~|@^?HMGB-32LqnCZkLMj=r z9`Rkb)8iGKGIjRHSG`+y3SQ67>wFT~c={hEsBDPNYUQ49wZ8mr+|hjLbg^2&2u+Nz z86%`If{%{?8kQ?CJ8ij_70&G-pU=yPRV>U>D#`+Xv=qIur|5~g6M;ilg$*aA^e2Qp zx>7Cv&F#HWx8zC1A0UMI9*R3%qJi;d$sl<J<4s|_lmjy&Ousj3m<>3E3mn%=T<mH% z0jXkaX958GlbmIc;cmdfL{%nfGi_cjs%j`<T~BVXlBTAJmz$}enS71Y2{IV-o0pIc zRLGhMy|>rdVP*unfm~wxqmjUCU-88mwI}Cq5XR}Xjtrv)VXy-v0Ar>(u9Pfed!{yO zwzX=cp%tD`gQiN!a@dEbo}yZ(N}qbt@=Iiv?l*(dlkc+i{JWl%g6xQBK~oXl^(01H zKHntN@jgciqd6IGH5e`ysB)IMV6&JW0`ivk7rG;<P;A&K$(mae-Q7Vd3q%n8W}$y$ zVIZBI9xYGzYmCXLyEv*?UO_EmB$wmQNRx!12jpi6qe-KdHeF=!&yF2qaNz$}0EZ7( zU7`(#trnS0;dEGDOo&=F>`KQqPs&PeOu|#?3P$368V!UQ<|gK4G7qYI@eF+db6{Qg zD-7~R-9bL5!R!(8-Y@$#KR!@$ihe5?bZV^wt$4}rce{kAn2*pm|4ZtlcRNf+AAE$2 zr86IaaBkt+iQ%PIWuAdmV0e)gW~)NnMpdDuiv^;)3+jhWDLee&M@s%cY5kaVGBQ!@ z2x>%?2XpnPml7(_yGiVCdm48yx$4Q0L$k-W*JW~esKcDOvHVa^s;3k^sxFUQo*Ba2 z)?k7^rEhgaFgG8=Ub>J{pc-q{EJU-0k-5bBd=-;?Kh*kY&~=&)E%W*Am^0iVk=_O! z^q>FfYYwS~*!phkyG@3#VN6xRESq>{r-5e%Y=&p@!I@xz4HTt4vpSS6n=Dw4`$fzm zaRitU<bUYN4p^!uw109*eJt5C9Gi--XiVPi(sWU1(l}|YCv@*|?|@&Q9Sg`wK}wNU zzNga@%?FG9zHq)Wy=XXA3XJwjLJzgz#EIXfVk9aE`%VTLwT{H-3ZjUDU;=Vj66yvv zmICqs<Jxn6EwdY(Mx19L*<7$~v%$fIKy&Ibb5pO>+cU6*y|CuQ>J3+V>8+kM`LrCk z{o*U8ilw<yry5UmP6gCJ!dEWJvYu4D2F>MDJ;mNiZ#vUMel@dUY*_anD~skp&p^mp zwrZ-_$PEnS2P{ccjbUqesNquyl>&YR{+M%lt+yBs)^c4vjN4LpOVE29Nk<OcmQHyX zx1||g8G+NaMty>o%Wdv6VF>Ym(I+bw4ft+*!0$TN`oRZ2AjqQVk|Uxd(5+jye(V0( z%RurS&42ty=zofffB*OFh?pPSj!+4-2L>hjHpdEJa8WmtH;yNnSyzyju`rY{=WWjH zHCW<0zle8kpc#HMrrCh40JF65$Hbz3I^A6nq~dTj;e@%Osxy>c)2(Q33%-O194y_i zdX-mJw3Sx}I${=tP^SIO1E(H1vFKvI*7Gmj>AH`I$%Lyr-<dax31_gOiH7j>MH`@I z<XBu51=H)?=@W$EVS?GkuGqEjim7tUN^xv1@J7io4Q!4MWWr2#F%_s07&Ab7o?c;- zU?4NsgKIsUz_D`nb}$p;{aT?w?n{Jv7W>??APB)&Bzwb1DxS`*ow#;v=-%6jS2~hZ z^Qn$*V&)<-w^vh%8g5K_6<F>$S5GQ6-W?XisLQppe`S4fDwDWq<HPrV$VoPYt#oH0 z)$?`J?GL3B<8#4UPw47dZuciaqY`}*o}~N?xW3#Y*|v*&MVN~WZ@KQTR^SMM>B|7r zvV9`kZX@b&q>98i>RKi2dz-BInk17<YWkp>k;ntLQu<D<qzQyjuhEtDXpi0N-v(01 z(|%C^nFLKzL`uV9LHej`*^P<CHF?nX;UIZ;JMxaIV-b9~v06_dM41l<VFCv6f_Y-z z+ky~+jhI4dzzM5WC9WJ9TXC2JWqu57vlF2`*3QWuV_gZl!8N8CrKaS$Y1ig!g1Tlc zSM_DY7~ZU=C!)Tny42lVo+nRGIaFFnd;01`FXgHcUp+4=(e3p>WckMNMmU>_P821j zzM=0#&(K_uM17%{UoN(e_m=WevOUy0HUd3J+uG!AM=$&Z_1Uq(R0tf?;B*JvHNa*Y zAnrHtIWhs@jDk6{c?JNy#R3$2Iz|4KkHpfwnSdUVh-5}1#i^c)_cm7csBbNL-a5H@ z>Gnb@(V6zd2K@4{SCExrM=|7;jZq`)@#L-zC{dR)Hgen5<2e$3Y;4W9HWp?klHJ8r zw~rj}AFop4-skUG<&UJOM|WFn7Tki8Pr}Y7F^ic0Tm;SpmQO+9k(kZrZJRonE!!5g zvvi?(C5vY&ZR`4}S6Nz&HQ#jnnvYe&SW#$0V2nrmXUCFlKf)fG3t0`W1(&`?9X2bo z{Jf$2^KLDftMs~b-AyD#DEOQbp_Vgu9u(hOHYn(eD-$QX4b80(0a2hT6#AlBL54ot zJ^wzTgU%t>AwL7t3R!_I%jR=7^W}1tHl<`q3W=f>5;}Y?we^YC#|2Fj$zn21WXb8% z#MZZ3-}aLn0!VGh>3hc`g64E-;v)|Wrs34YH@{iG>$Ic++mnu?!Z>-O!|4bE1Adpp zbhaJGq-{q{;%v_jg34wqD3OEYAl$Pv0~oyhnXJ?UaND?Z_C3vnZy=}z=D*srS;0Mi zZtZz~g7H_rP~>w$q~x#_u_WE>@&{@67s&c+?{9rZQ2cI<-XUt5(E51mlN)_5uagFL zJ~6WN?V{>*`AF+4qUJ&n@(2=Q6dX^;cjzY_6-2Ax{d!nol(h8>7ie48GZAP@K>?<K zGx~yoV7A{33ZOU7B0(;m94k`S;n_EplhZ@V7-Aw=J~0p!q5ma+GfZ7BPdZ~}2u-GW zekot*CqFNyd@}Szs&BG0T}&5*Lfk;6NpPl1p|vxSQaBipBndi=__~s<(eraplk@*2 zOwmukN7{ioY+ILQ8b4p=t_gsKY%aJ*wj{STk{#o4;1{M=%<@m|8@N8J*meO#YilWP z5a?%{?|<ORM-!fB9=zjpB$pEnna1D$!9V+JFQwk+?zL*JH+|4UMn^@@@?IhmB8Pg* zJFj$;-tikl+NQp^+sESSJG+|YnAsOi4tIa($+!O5;hh7Gw>(}_sbWaZnWye|M<d?5 zp3sTs@jKMqma7etfwhyJ=7EiBeErB;>RqM^r%nqAk{cZ9TeNr38e|mhWI0ayaYxBf z12)S27kCpuil0%BP0DW~p=Bc7!u^bLtxzmxfgpC0DeJ6kl1|sv2i#h<`fEv$C96Y~ zeqF5^{<plt@9OK-ouT<qi1hYtxVT!T2jFeM)*k_lsV1JepHLR|l4xS6(ZJ`QkehEh zLtsCO0P$z^gN_bI7kEy8uD>szi4bN#;KN#H<3VOem|_Jvm=olakOC@X;rIY{s|rAU z>{Idk|Eg^~>88ZIowz3knnur`i1WWWLLTqRDLc2XTd(boZNB7^z5BF_=&>e|<|fsU zPu`s()JP94>c}4U5z?gP%ln5V`k#abzi~1|T0bYqtFkEU722YI=@^GTK|1t2`-U7~ z*#dYbz~g~faX}CeCv!g;Mu6SJ;fFLZ6*L|A#?z~(U12x_qF*Euk%?Fm6(Wyy7Kh%v zq+Vb0mbkiOAfX7|f-<x1uJ`@}+}hLky(_1Br3rY9G?jkS6#h_2ukQ|r*G{#*Gqsj@ zm-P=CFw&xX^USuV?hRUD&>t8U27%!q_a-ADFJYPqNtE+Y+D0lc%JB$PGKa7DgCC1O zYdDv=JC<Kz{OAWq$bh<H$?9z#D^^OhqmQAGBwnfv-m)za9`SJ05pw25BKvl2%4Oa# zw2k?djJ{u|?}2w9Ka=eM-UxI)2$+Qjg%L0wOWt5S1QL`566{ji1mWS#;0~M2WX*Ul zZ8oVH_Z3r1_wC9geR`Ah&@;CjIYN&jmO#*|kI%$6E<pfS7zwmq3UqaA5^4P|P{^%p zAh2rvkboh3o1*Y@DvH#-X00avs14t{0ADxY)9pCQ=KphGv|V4uZ0A5{J~w%9@WYRo zPJpn3bdaX1SNc<XCObyEg=SOe9__e;$v}HZt#@?7P=7^>L&4Td!J#7kRg-hoFNKxh zs&yFM#Uj)^3?a~Bdq|K<Fc8Ruyw~fnm<&Gy_b>$3AQ$W-i(*(zz)d{xNADcE`LTn? zEn00}vwWrC7S~TkHSv75lLc*}x7c^fl1xWOX31@x6EeBS)A4@iV7$u|j5SmeBxBlB z8d|>Y?Lq6%hW*7DDR?w`0Urv%;q6vnS@z(Q2eZo(F`-s&!j&Y=0~^B7+8tV(7liHL zMCQM~8rKUsJ#c_M50>CV@VcOmd}$WR-V=QLBLN`X8F=LFLFW;YJ>pzAWB+Zve1st# zgA2_c|Cqg>d66p~we@Qr<3<3;+qpEz&mh-zHf{#F7eHVGy(Q3kKIl4r+!cKMG4}WD zL-9D!O@%h_;3<r2k}f=@5rl`!g#8>HK#KDS!8{&2`21kPhzDl^B6*7^_Fm_J%MB#! zYl+zN>C*#ddAfW&pP<sDd+H0nurc_`=f^x(k4Fn?x~C^?bF8odV=wvxSoGBw@}vvw z0KJ(>&?G&FQ7Cu{^QJIHeidHDC!bhs_;1%z{wPwchfiLr6Dd|1xV6-;`>%f>>dIxw z3nUooK8NepKhd|o#fEqPc3mwjp8g2oc&9}11#&NN+%sKp8jwc;Ig(S*1wvck&!L_> z&B$HQ)5$ZR1EI}FK4iM@7^umcyAlS(yrcC4u}xp78g067KlAqRWHF8>m+|B_Rk;yk zLTo{o1Rx+lNxIEaJX7L>pU9nFWU_dgWW@bbw|3+R(Iqvu^;l(mYfP1i3K)E?Z~DM& zr1e`#HACue47xCJY2?M${K>bxI3k^8G>e$z%u|x8(siw$w|>UBg=t{M_l#R!1sx>Z zg5$=ykLR>~UPW%}06}1!*oNxX+f;bCmyshHhms09{3pRD{OCJvSda;6Eg|F%hV|Ch zT7N4dS|dS`#EJ9FZ=1|Ro&TkfpdUlVs2_enG4AGepnkrU<pa01k5qso0CUUZGS1q} zDE#NT-Gk0Mo`j+FtUUO1(YWI&FOBt)|K;4fVf|jGEc&ia$D--0eImWPn|R)NyPnJH zH?H1KypNm?M%FGmasS4H2RG)X>Z$h^b-nohRDH^}Q1tJBpEx2e<U5i)yS9+;V5nh8 zvdt$m|6tevw;UiUg9!jL27U(=!jW%&bZO$QoSq!KJaJ&xk$!d6isc)vlG~*RLbeD~ zIesJ+tMx5|1OELcy$n?S0g;W4$XKoB_1pEV2_X+WRUPXcJK>RR-!xTE%J4|?2<_Zp z7N(yI#o~Y+F}2Zkp7RJ86@XiTZ&kOQMDBB17EUyv6PPOJfEVG^0?7(bvIqe~q4|-{ z#aZMbp*lU8Qo%-V?oW@0Y@{a!jvAqmCqHZaaA3t?&p<TYRZ)myR5Q)8LEQSN=se*{ z#k-ucY;^Yd-M-4k-o??Sq6-ncyg-ACj=+Otlvy`>X+??~YE;$f@_eMDI(>TIjaf-{ zdBcebH*x999vtjF)e6L7meXl6I-y>(4Ro47txtV+@l;8NCvgFt&XS2aZuYBf-<kWf z5HT?G#*oOo4Un>jayJg@5rlkG;NgduhX344>04&9BzQBDL5n=1q{{w*V1(77d*M>n zilX^szphBKx8$A~IdW-cePL{7mAPKlY%+`P6+N|pytNN;VRq6rFyX5vOq7FV*;O1; z$fPIWn{4_Az0$m+Nw<XOiR9iK8t{c7t<2MF!X|Hkw9fdMO>QS8Ky^;Q28$gnR*Paz zU1%X4jmr=i7WlKt<Dc!WGJb&@jraDq87AN-Z*7b%6CW3*FEWDrmZ++<cT$PQD4an! z%#vUR;SB2g*OkYLN$C+`a+5(lJvVEa6H66Zw{N1V--M7~Q>j;%M`@P$FP%;2MwdvW zUkXRy84A&lL|}S>iA{s0WS>DZ#J_9W9qjBsVv;^-5O+kj9u*LGP|-KH3N!D5e*PtW z7jiiZSyYyiN2P&#VxZUs2APFMc$wKQlfKJr>SnO)8|r=78-D&XVeiAeL%wp*gp>B( zU&!*$kw&^WlXgku%s(>yM2kdnr85`H+$#WAt!!&Y#JaEwA+8A-`nW=3mh+r-X3?ds zj&PFN+L37YAOFnSqD;;@21J`%@u3JIN9YGJ-dF!t-GAb6WnB5%U$f!A{jxqa{8sJj ze`k9H^S=>RV0<=fr#(IlIqakWepOgyx+t6*p3%L|j4NGZUcS$%?z`;>N}d&2O&qyx zpAop@5x;B8uH8;&+1#~-kKOv~-%K--PXC6~*x)aJD;7UF_-$qv!t=io-;9yhFnlkJ zykM{eH${s95CB1eqM$&vn`XH7sa^<D#tbwXAkJ9_1}DmXU`MzwaFv?z$30ZJ=wxgx zDXCJ((o`z<9Xr-1Bi*ZOs0C<Jax8XYyWzj(zKE-@@3Cex<T`gm9zB3*Fi)=aw@V*g zO?8QiF2Q##$+lj;)+eZ7S4pR<A6-fY*z8Da_Y+Uli|vo(al+=AhFV>Od9v!8$M(5w zAA5opis!)%+@dYw>@=V?nH(X9x!?q1mMHkbyCqAlTTXiPsmXo&N<#;Z8vZvw?sv_O zj9%N<XL#Ot(yP5;{W_1k89RBz@ZW_?`P`CKD_8cF7=*XqIlbm>48RTRp5i{r6;}{5 zxV7+Z4)nfbmmCJrfI0xE*8=L^1-@9&bO=k%0m&h3TmUy@qGHk=frlQ3B0GBhrAFY* z?+m(D7)B|$Wy_X)LHD27?@}*4a^q0|@r@@w!N&FamLzVy^;QnglOO+khP6pZ<82tf zg7MRK#MwxvxLOH1OlyQ96H&J<ATWad9W$L`nziAmpa#Tb(=^w}GSP`H>ZEl_pdP2o zyJjvE_7;;#<b8hH`l*O~{EgzGRnZ#|eSGlngH*D-h~d6Sh+%ocqx*?UTmOryR0_kQ zk0NamxmQ*x!_Fzx*7B&WDS(bw?=0wYrXNl{b?DH42|pbF-M!=NKD!3@6JCSkwdz2D zY0r?~Z-tn2R~?fCB{<dp<@XZecLlZ9&GbdL&sS>2TL&~(AV`FFv*$$SWyh!6<AEJ{ z1j}3lU*xH$4$%*f|1LZ(T!#B@qAGbFwQ)D#lK6cMrlK*D-4$@tJLzLcn~Y6Nj0q$| zM{Xe3(LpBT$d#ZFGXFW+od4yynxqK@NSou83W(uI&HooIkuQKEEH6A>&#>GW8l<TG zXjV3W8(>$!vQYnAc<r<&*u;e9;>lq-9}F?du}}e2BL9)fb_NBbzJ2+j!JgG`@DJ28 zLCKR(C-ZdQ_BV`~szltmpk@fITYH+rZmJ492Rj8l9MG$aN3x^-v>Y6+305ds%ykU+ zH?5dEyZdT4(L%^BT$}8RnPPw(RgwwJpaV15!aE0;r<G6GJzz-xRD7Tc1DR=@BGY@U z?havOg%ZRF%$)(qwQB03i-^2r^MPxJ`bXAoo-sqoB$WnT<S}d2=%6ZhP4$kW!1_T^ zZ2ix!8xKwIjb}&WVM6*~aeU3zdmBB<&y`xKGq#KsFyT@B7x@k_$~@yli0S^e1qE*d zL5xw(ngM2eD`kMllabj1DNgqn%7M5x+99FZEhu7O&$4afyPJ!y`bd7V;F7%L?)4ky z)_asGCo5l2y*k=8cJsl}#rxB!)kXZ^W9ldXBYS|69%OdZXNUW|0%%HD_0-4GHxR5W z^Z9Buj+nLyXMizp1^BW1abWfnl;H@;tzG1zi=bSAlhlq0mFSbp?jN!g@4h)LwsDM| zpBP-)ldxQ(HxrWsOG*mI*4J8JlYGe}+?7yB$zMI#3}u&WGDv>cE{3-c4aS4hlRblj zQH9hIOLJZ%KP8`c6dVJ9yT3Deo;S}>hTPcM)Br~tQwZ(klLVUL2x{u;iEZ8L`mMV7 z@I%eTvXLKkO1dveyw$PUBX@Wx*=1~x^&4K{YvjQaaUS00lc~09g-i-5L-N86OJ**) z$Q!tF`ld)QT6HmsBHKtlkNh#yn%t%>XiX-pHPj4wX)VO)+9o6qGN3V;@*q{$^+(;> z;zf&4g}Q7N4a+0pQ0GXeTj;7v<oJ<IOo2}}M@RJ$Bq@YcB$F)UlQC3brQv$B^?Vck zR*Crrr1VRuf3R+=<E-E6@Sd$}SFV`yqTi~)NXSc1jGHWry)B3;Isz0{sY#%EZ_9y= zLqN;f&{nUQ0U0P}Or?N(k@VwahhzkbnJjbW&z>k24rIfMTI_BdnH_MJ8Uc4M9tuR^ z%OW2oMOa=`f%`?fhfYkFlu$t4yhq)zy)e`IA2S7_<Sg<gLHHB>O&al=or`rUBvV#D zBJ%X$ie23SE8^+xFJ*P5I6P9Uh2^Xq=rTKkK0gxTM4^IPaw#sSM;*`C;JpVEaPx@1 zbY*X9Xein1mdu<&ZYN}<URMf6-5aR8Q_0rjNG3yl6oRH@xIoK180~V%#t@?=w?Ji< z(cqr19g{J#F$KYB3wb!pS7*<*wMZv<76FLbxxpD;vJ7TmvF18<8R$#|D^^*ivlH&i zF2@NbAM}IjJKw35eRN>Rc;lVSI^KGxl1eoDwaboj8|@};2nCY@#%%@qoI{6?p+1WW z&O%QsuRLT53X|hk!<eltYj?3mw{4S~s`KDc7Xu{{anijDb%a}>!ERuq-S>d#lo3DA z|K<D;@$<1*jVtK<{js1dm{>6}gDv3tRN<KoX!;U`vN*Ib?x&INmAqqDj%+9<JG#7r zZVbaolY(g4JO_c=`m0HIFtnmtN^}*HfjFJ>fAt%hC~@zk1Jhpt+KhrWaZVdsi?`e3 z7Q9G+6FT34f)!-m$pX>Z<l##FP&KJ}4l7Z&X%KnSsB>iK*fQ05(P6*l@eB=H=3>=# z>0!6pCK1pxyP?O<_zY+ROYh;7S&9ym%Pyditr7YFX$X)iyw{6s*WUx8hv`i)#?d37 zhRp|}c!txTEKr>Dr0_xV0?(LQ+`coG<gyGIWq%>9)_GHWZN7Z{vmjIFhY@s6Tz)WV z=#9fmmY>I-=ke<wU|{lbbt7Fr3}tC7eH|XYkfZOvpYwBD;xM~9aD^NTt1>WwgXR4{ zm{)rSq_FRgkv0I^(>)P<Jz=v!WA^5^Gy!{KLgtX8v5X5kpg7ZW=M$i|TcEh^<QdUw zfoSed<<UOZ_LaHv-r@b#kt6cevFWakkjHSxuZp`3oqV47Z|lx)yxi0Zqc?AzSZt7u z8Phkqd{NVv$@rR!CWpEIf@mH1$syCHKHFC?xx6#ZH!%`$Wb5tXtLP7mFq_By7~I$P zVyL=k!~Ux#7af@y*3Q>I<mOm*NgsTfn{p=kxF~i>xtqQ+Ihm3FjB)lWuYgv|V?D}$ zDAk$XMf<o9(WH9-Rf2bi<&z;le2BaqyfUYdnHX4_3sh0D+(0ulQ<xl2<Q-jOrM;7r z$M<-W-lhHU-G&x)<PB>FCC_l7Invi9c1Nt{=p`3lsZ-~mmhL?BaR$*x)_%~)4(y#< zyu%4k9F;T&`8c3qK2_Qa9&*^#Tf1+;{C(6^5bRoZeTv-Q%qxPbPw8Z{?z(}QVkU{g z2PBfaKj|g;VuueNk{G;6-M*QP&DlfE<(75_W4v1t{uFr>9^Dd*KIp;d4P?Do1j}Bw z3ui$o10!b>CpCr!W=EOiLWsEoinl^xp*;bY{&j!JRbLce>Lj7g>nrG>({yG#?M#VK z?K@DB4oC;0^kZ}RSV(8rkSYqAqA0t^O3i{-M%_N!l#K37(}xgP@NUCAkQ_;7YSAF{ zdU%^2yg%-7QNe%AF9^7y59tu%Fz0_uZlc#Chbuo5ZO0u9g>dE<41EoHU*Wj|z|2z> zjO(9h-gOteId{CMqNpfW3a-fYVQIOTP9+QUsQWX`w?3c|G1icBsZ3tU*9>8!|Gqa? zENct1yzojd2MxzCYPYT3K_nYRJnTcDQLW*{eNZ^c+zr7y_-VmeE%a0Sa_7!na0(RN zo%7`CSPFpR`=HBuH=;WDsDXz9#28&Ox88+3kb>@YF#Ly~ReVlS?nzPSq##ATN5Sz# zdG0yppvuXlQR%80x1LhnEJ}^epP@78{9yhbkL^jw&Ym!guz!q>?B4}3a|M)Tp+0$= zYwc21Ug8%=gOz|Pl|(I2366^XC8~4ZF_$(_s|W{4I7~hXUh7nE>pPKWM9-h-yG`w6 z{CCv}@-Nhm*CX@46Y_wB)zU(*&ZYnox0I1HNT3vo2-r~8kl}waz|M>1A)}28&ScC` zsDhJ7_Z)L=lq1YGN|WJz5!MhzMF9;6V$da1Uo~!3!bEm;8Y-?%DbC%nVgtRssC{6; z#Dt=4+3Qy$5weqnVgtjN4$G)Cf7N8qVO3m%_TI91_~tQUNRp28Y;H%7b`EZp<1+h9 z#UItCujQ5>iwfv+%yV)9;}xdbFbnX+1!*8V9yvEX?hBmf3?OkXqcN*u{!iDA4Vtn$ z-jU5sFIlfT_Z;$T@oa|BTsE(|x8vHb>bNkuv8$_nZ4C*Adjb%XW+vU;y><(Ou&2AX zi~Sv6Cak^KuKnyIp?H~RfUNl;&Ls`T&rWCsEO-E3Uj=Z6S-SK4`@ufUn_`NC8$dI= zAr@-n)Sz$pBsgUM<t{C3T@vo74k$Js9XdjCW0~AsRL*up^1{r;W>ly;`|_t+9Etx@ zojA!p{OgZ}MIF8=x0%SMA}Y8T9hc-q;FRTB60F-8{i9e=&<;P*?h07(uf}@o&}L`a zFtKxucB&<q%?>!9e_k{QJ$<@oD3s4B62dv(m%bzzRJdhoy1V8bbFx!1eXpQGg*vJD z{tuw^FgOs$>J#!6ilEVS3DO5PZ6uOsu@&ZdmL<ru{2F<WwScUPX#xTt+zwe7a$r4d z9GMnVsa6O<E8cmy!hr0jV?v=?Ygf{_Ld86=GN4)?qi7^0Pt$}N6BWg`57`1@Ol6#e zI5U}?OsG6l_bG}PzNJ|}Cpda`oQq37S@x9{^Fs?=_f$j!E0G3`%)wLgcm^(u&)=Pu z=N(cakIJ7vAkxlomwtyQ8IAbeqDa&X)R~$=>uWdOMA7Y!L{pwS4uS@6XlHnI%v52T z)`ITvd6`+aKCO3a6hXfJeaO(a$+tx_f^RI~hUHIt+TIedU|De?6lCcZjtb_JGe$Cl zK{-xM^k|&rDPV&2`{Ip_Qe%C<#RBpkOfS^xtAxlKCc4l#{_2@iXMW-h9U?lb_A;c& zxr~jqDG*<tsR1MO$Fwune}^aa2d16$+@W`cJ7wSii>n4W3bWmQhQrJ_S~cYkpiuQA z4T=6Q$5)Ui*@`IVtY3(EhFHFVP10&liMcoo`Xc7@EvGw>>asFfXF${i+Eg;BXyN?h z4y?dHy&;@+`UFj&OO&K_?sJqyR~OI!TJX`oa_n<l3UBL@1IQq;m2tHi@P*b=CJ(l3 z0(%uS^D#Vf_nUiROlT4B1D5~`03va_z_(e}S7g`7*q7LOP9rF10I$gGD{`<>e{QY3 zb~xn~h3+9yf#u4jNKvqESl3etWra@DiX`(<84b1GMl<Q^2$JqzqG?pD^aV{CkVpHw z5+zm8tqxHXJi8}kS9~PamDDE!azqUpF10Kd2L-`+J1U`w#0yjwr3cidSYBu4nyaJk zm=*1Z;lwJfvB(wZRVP%Fa-y_yt=cVnJjIwHO0u)MQYD7!GUWUu)j&1s*i9{T&^_lc z5b>zb2GD#5toeB|ko!L&%kDv!vxUNZe=1WNQ{Abf{nMrXT(Xb8ai-Ll9SKspDpM+D za=o;V(SOo0PCrdfpoa$)WSi5|X)pka#atED(s`hJgG4$>(Feaq37HCQ{afqbEOG^P zDN^fqY@x@oV^{>p%!lJ~8YYj@Pa`Xv0*oCY{ap5FAqR-(S*(|zk%D;_@M+#1*?b_T zRPsiAIFoxmoRhsY9C8`!3>Uql(QtW_Ju)?|g4Y{&5x*7HWSOldnw)<b>sS7fdr*F6 zmn}RRwRqpz<tkjn&s)&qvl}Ki^93vIbt?q*Zf#*f3t!ig<%?EG)?U2w)Kj5z>sneb z^A<{mxtr$)$!F$&#n&?Nh{{5JA;f|z=4yfsvr3KC^SG1xoruz}cM@a6+q)|x9+4*B zZuo0s6|9>T1Z#4Y2aS6b((f?>0&ocTQ1}nz=U2evP@i2n=Q_Vjzft$YkX_Knlxa7q zL2P)F6Z48u%LZQg3tnWq0jid@iyQ$T|3JE2*Bo@J)k^W<!X&-HZgw(;my_kwxsuOv zxth&Ee_w8VYq}Oo`zdXbUUXrtea`^gj}M_Cd?^eb*+H(}(G=;=vDA#ZH_vIb^&8aW zLgA9L^^$X=OC~?jT$$n}Xens7O8w-jtI%z62~kd;Mp~RW-aY?4`b~7g4S)lS7Na6t zjR*l}DwBO;dY4V4jn=cvE^r+Z4L<!s2NjQ>Jb5KzXxSs4#3#Y&0=)Qil2X6RDO`E- z<Z+D(aTL_#<0npDO_97{8M2cnPFx9S6;n_p_C56Z231rxt~_z_3JK7$HK@;n$9@Vg zbR6{1pIb6DRO+=*v$x=8a;?rl<cbEg2h?av2f#K5a1km(bt2cztT~U!pjiur09+); z!cvj?`^sp$8%?GLN>5+Cdnpzn6PG7isyMF+iOapIgO9FT=0njnMwazVdruCSE`OXp z@+j@VqK4KNNvvn);j&xJtR~jr^pZ`NY*@27PDsG&PKa~rns-D}Z`f(ZR%1m(cQ^eD zpL1h=`?^iL^RN7Zcw67!dN|vPQo$9vHoJ_`q64vb75%NNK#P<cv}i0eyC4hKp5_7> zFiDG-KR_hRpUs##GrVg8!p&*Oj+l=2`IrLE6dp#8=i<eSW$z_(72~cLguJAy{zKC7 z?bQw|9SNs=O21!?=aU&-mPG&N&e8@2VTI<^O~z}J&E_)Szz_-S(ENSbtObvD$y>J{ z!0L!dDiyJUV%4gz+T39pZa<uP<&yrsB}(git$&80Wwb<<1ud*!fX<u6x={VO&2uwT zDc%uUWrl(&3){V6%Y>QuaI!L42BnLP)3{LrFIJe_gNZHFV)7Z}zL=n+cZq$GeZ<rm zcTPTk*%Xy0cI>@G7aw{^TCr+2j7+$R=J49_L(9a<&Qjv8j8Iwr0Ta#pa|JJ}&!h@8 zc&YkgEZpkq!7}Bd=%(6(VM_My8>CX{=mF$^T&q_u#=1B`^Csu&Vviy2a=Oduik#_m zkMfF5arKRcIMS7FeLs~CSt(5|L=YP26R3<cu6`VyyBlFi!pL~&&!uBNWF5iPq)kdp zwQ#Pj94L^^yFj*#_4E!;6njTn^LD%W#b`Hgm52Mf#z%XK6Xf5!$Jo{8k6;v#F;=kh z`yV=+!+o925t|P8(gf{+g(x{jF#6CyPc|g7(aTn&!AJlRTCf&HMPa<ev+H$kH;@}= z0dk`*0M`uF#j323%wT^u+nq{l`&lYzFz?J}ds6A6)umsoxHm`Lx-4wjcze7!G3gO2 zdGZC%=t!8*Mnj&wnPrAFadea)FS>E-#JXu&8_%p=oigveyY(se<YgBnHL`IW^1-vh zh@M%-QC^6iUn31%dUg7j1-}<&eI4uPUlEU?8)(L{30i*jQoqXTLrhaMi2?p??Z-13 zuqtrI%!O_VXcOMpvY_vAYuf}c0jv;+n!=O~uw>WPFi<!B&W{`GBM*Khq7^rO*D9^5 z|MNFV96FsE*;r?C&va!-?#wou*-m+=vTB1ex5R5S&wN`OJl4}(v~g(Ta20AS!Mj~0 z`R<##ySJ};k57^oH2?NOOjCb?WI%a9Z@r`sl;LQ@5)ggms)j@Y1DR0jO?y7Hek9wU z{Pd^VvbY1X*oC!$)8K*ekxGy301vcR9zh_X^#71R$^w(X_ADWjRp_d=5azCYYpD6Y z%a^L^%q6cSch@goOgxuwjOhO4iUR?OyuyV|zV_%)|4pNcGWvTGhWl%KmnRl&%Z=;` zS4VHMMGG3!&fS9}vS<A#mQI1(a}u7@jJ8^^ll7}!KS__A=^x6?|39lipGHRD6Z9co z!N#@=h(#OqBxIm&L6K()r$Zu{nw*@HO!5x;4!XT8BR>)jOCywS-ps7S8h8jlrMp1A zc4a;QKV%Kuz4)R<?D~(%ugF*F3w&iQVqYfDT%Rfk9Y7!!3z0kGT~U2@4%K(5Tnf2$ z`a&t%;l~~n=q!?&!y$>srpNK5b$F5oBiXfmrhed9RYL4x#lrFKm>C!zA|x1?o7JQA zx_Ga5W-*C`JM)T<!E!PA1$haz0k(=&XK^>8TXcsrWe(XYA_`*%2xrkSl^mLtDn?-U zsOcNqT!BC=q0{3fO~OLZrK0=d#gazRn@~Wd9;=6`%kc~N;2g4cJkR))D=hY4tQ{7# znE)L?c}$~w)4d9rlHJ(5#OI)-Lc?_M)!y;KMhl!}n9#r4J0>IlH{4^ux|??Lc;Wxm z*p5E?-^6yek$LhH`W0|l2lSfhk?r+LMHa=`c!GK_TyXgDU^+*AFmuDc>OJRuCi8lT z+$eQYt2^o|_nd#gXkmB#z6W;X_q)Cq9Awtf#9zE6@LXU0IP-RqdoVJ|T4cI*enY)T z6sNc~n^eRzXqSOMUWd`T6YE?8d`7V_k7+=)3S1y8jZ#>543>O1>H!vHVzq3gL0%A} zQM5CW<AUUD?Q887R9N4Wg7mh~I<4pG!&iL&3i>hZgCd?es<6H(S)dPzT5EOTKJVO1 ze+hSm+2~)w^ZXd<BHe&Mf3CMDV|mV7|A@gEH$%_x>T#ZHL#_^)+Gp~HMUY@}wjBzb z2=iFqd#)%Or`{dWxlh@e-;tut#yt`5u60_+&CzTodUJ=?x~chvX7dZww{jbC-*uvE z;FgQvJiY+8a^ndx^x&zPzI#)OlDfBV=E|48n#tfF=m4uo&j3H2paZJA=Q=kLs<er2 zh5YB`2OA7aEI&v({8#L9Di@LO36h&cLb4_a-y;_p{#*YP3x7&;b9DJ!sSmE7KzCsm z2?AuQXWoTFID=pPYx>t;K@JeRePH|-(OnpFWVk<(&xWye3v5ZCQBARQI`Y9RCc-*) zo?%0v#=66Sm9!}oiqHehW4A&n1})H5!^SLijh<2{l4_DO*s2Hp$>iZCnQk^)pMDBi zcOn=<TqhqfV)%gd8HD`Z-x2ceZh|#_!^qu=%Z0!FOgfE!^Nz0@g078d=$S?`03USW z>qeV<(YyT~@YHK@?*$E!7pzbaYG@q4U`;}Avk6WGPG~RZSQgbgXbTbK1fC7Q5!w&^ z@Tp>EkncdzXq34~Fc&@D7L-gokq56Dm_S1ymTY0oI`GjzYLd2+t&g>yL9cJ_ihIf0 zsr#TL1?&~F3?2k<L|kh&<geUz;xa{)$US%7c8{>D*z00fJgrxdn-euTv;UUeb046B z4|y%_GZ0zXv|bVKI1T<MH(rO@fm-O@>}GW)Ko8FUOYH9?Ka=5JRvnrnWLfrlK=v`H zWT7aT{f7Y9m8bS51w|(Ctm=b1CZ%mtb5}(L#TeWjOE20Y8YN>*P#T_*$Q|xb>ru;n z2a#rmrQjM|puH2Tj_*@wJaS_~Uq9ki70n{@iB;;u_cPqy|FF91giI_=QMm`*#&8#8 za|+TqHqz4_Wd6%SR|?;d2ncR8YUdK==yqa@G{O94#mw38+npeJ1cVvnu^RO{-4p!a z2e353eaBp_Hitj%R~@&0K%L=UB*+swQR?GxvJ%~CfOwb~<9)~b#tm|qL45w<w|}j= z%ZPH^+6~RB{%g(6_Q|mEY<Gzk&X-#bI};e@d9(T*UR*|y%{Xs1z6JxAi44D~?e;L0 z#GD^S75WAnbp6LV@hQ5Y8p3r-pGN3_-v@7FVP;r!Fwl#&XIh_fov5pZuK0*_O?PKE z=)@<|@%1{(ed;`}b1so{hX(wL@ue@ZX||3NDX?XEPFaHeS|mSQ3Z#b{ZyQGxQLFK~ z1`Ib+<sWlw13!(&Aq}h)1NmpuVlSSe!EEi2m9ZCIwr&M;K@RLGGWUVy3eHA>IFEww zg7#ov$Y!^o^^YwXld0?)EJmb7&Y4R(d#5*Sy0WpufZC{c_C|_>DD239vx&~>BS!>O ze)4feZQZLX@w`L~0q4kzR1k=_VqiTayy~pB!+l`&vBgotj3vhoNbZnldR2Kk3ol#7 z8mfwyAieS;s)AzBtxcWU(OJrW;uHB&=Z;fTnmZ^`P}|}74a?x1^WJK_1MxSk1Cd`9 zZ+!Jt@y7Pm5i;v|1ro`070P+-tYe!$&Sqv1awtJ&<X;)cnSqYX`mj@TowqR%d12Y0 z=3dl&)%vh3xm=2>oWD2F|F?S&QO9N2qNa*D*!#wHC0s0fO6&|qoAg{Z!Mw7?^bK3r z%{@gX#q|rXk*;#q^mk-7m>$jJ^mX*I?G2(KtS&ZQ@4}<`0Y3Q+rY3p~r`ufCX*h|i zl6{@?P%w`FzwC7fT{7QCJ`K;7RZNCWa7ci+D%mbyr4CkM@&&Zok_9BQT?~L_8_8K2 z@oih?dawzYeRs7fV(BfE{Ha7H>{mR|?u0}XqS0Wwqt8QwRKt;!=#F({G99t*4w?9Z z$fbL937tinq<f%gki=K0NoDMpaZ@I4rezxRk`5uRPNtLDZpD|LRO3Pi@dmT?Y|u+b zrxkDJ$nh6URW)BYe#Gf_xmAx6k|!l^kWplEzRu^l#BnFQ+p9NL1K=XQCrkoq7b|3E ze$LL5H4gD<LOG&`kIjqe3wzQ`->{vunBK?~u&Dvpv{hz_&tXalE<D2iQV~sb995h- zxyq{A&&W*XVyfGt2Ba{SOSMtt6XkH970+clWPjhQ&->+$49V8J<5=123UQo<AQoc0 zCmPFU<I&&0&>fAFmt$FUM`)-%Q!4jXQprrW;!Rb0vHKBqnjl0L6-a)m$q<}uUkPSg zBO`1dCRX)I4ma7ilEX<}@pGB!k<8gk2~L>A*=x++V$TWj3w+n6ELNNA&kc4aLs)zS zU4AaEV2A{Y^MAydSMBgbe)y^_DPDDa;SNw;7wl4T;StlNSx1_zpcQ!T?NxaJI}WA{ zKF-<PFaBAvDkz_)x+;!}!mXmGTcnk8T6g+er(|Ck`rJuAtYi#$L}&hqlKJn_zel9w z5EjIUi3?`TpUK&vVV6A~2>P9-?kxtL-cmk@eHhTA?0WzEEsMS}=69k3<um+lr{c>8 z{7yI4bfcd;=;s}_ee=Jjw;*QT;c#FTcLT5%GN{t90UONDLwJ$nHL+YDEV&@b41xt4 ziIC`=d@q>Eb_!Two*J?YwQ8WT<`65`x^yHVkaiS9Q?qWr;Ct@N8Et4TAJ|8Yl2;(E zP%z<<6t9d1Y=2;J-l^piHP2WuQt!zI;p=L}-qg|xat~M_PSBOwAxMHCdgSRvcVcsk z9?{(D_l{iE<CheJ1QPvTnTo0}Qyh`0Ct42V{<IMdBhM`TN)AP1K_}_>DwpnGV<qFK zu>$s9;DFV`k#S&RoutrK?1lMptg~(yCe6H{$S`0r1;#blxzt@9O?F(SnQvgzp51TX ze$L5Qcv6wohJjhjVlCf@;&>Pb$B@5j)&C+cN%RP_t9mChsvejKndtUqi~F5&bgh)r zubZ@D14bfUUZPW~@1OA?taNU_%T3e$JH^k{5BKZ)nbp&SNK6oCY?)umc>U#)r>oLY zF7DlI4(_UTBs)A<_b1G)aCTJCJ`~Ct#Fs0HF0ZS1C=jKeB1A341|kxIWXVAF7Y;{6 zii@P%8y`@u*|O8)a@LpPsxKf4duP?yXnEF4T3@ciFq$FML8;{QIAhc|683t60X^E+ zEQZ~h<ebVmodT;$V=*dKqLFyQ13XlMrc?8U0#=UgxHR9I{|VQ=Q`p(jv5+@m9O$7S z0ng?DXH9|A%$5xxPtM9fEn;-&Te#!w9WRT!--^OMlRct7?xl*a+Pg6-pbjdTp^<gK z12Bj^OsLwNob1o``X{kv49pISF-cFz<MlN*Wflj+0W+30_QzCUXWR&<B1_gxZ;twE zImxBbXlyZSnnvj7^ef(cE|!|B!_$q5ibSobJD~P0S~2+4;@Ik3chBy-j4LiqGApxe zzC^!C{sz``m&1|A(gb@YCj-@vdcZ<w4Jl`zDg=us$#Dx?%b;*^16#81fQ{RCgEwnc z!CrP)EDQp3W{|u&Z&9k|m*u@)_p+;w7ILv&0mVJmW%vSW(@7F?c>fY?z9@*2ma9{B z&E*@nPHsbiIQ*7F{Uh(OlEP9dD60HeHW<LBqsuZ=qw&dIsez1qX(AU$)|P@zeCq_* z(AC~z{{d|N=avlS0pDJcoX$%cJ+=NwDjUA&s(NWr>$AggLs^TBB+Kc@QedKc{%67v z{gUI&j>jDi=z6AuLU>~{;)S+G9Vmfs!QOa5nbY3n(gsR1eS|X%acE&;stjMoQF|M% z1tcn99*7+7=UNqeL~@Q{O?M2Jz$VACg42wDFj|cinItn9crKp7Q5a34z=-BMgxlDN zMF>=Uii+85o{mUT4|HHJmdzbGbOUsYG6iFy(&y|btr*!f6fVx*AtmIHDAl(p@(Deq zpmQS?i@9^|;$R}F4NmLCb%-d<aDQ%jmnDj-?siEu(Ukm&jY%m;_8f8&(I~`kkW=7L z5)x3GFRCEfP@*dm*>KH!LdEV5w<nN{B?tecFX?8@ZeDP*+c0~Q@oc59J~tEgB+;BB z?0XE%DNbOO%hBUfK4pbXU2?`U)R-9*|4I=Dht!)UEHh`u(0i+3=N#-YLdn~YDXwl~ zYz~<QXk#y|AM*+4=}pL$UJG4nNASS0SYh~M=@^Dc#+o>Zf9%DUB{ISlibaz#FwR+R z)oJU%-1*9r)5T_f#^UX#a{931F{oX{7|SIK7M2J(k(7uLl#040o0`M~J1Ys{q6&Xf z4rypdLhvMqskYjU4aq{fg!+z<lUx6Yrbb23QrPH{x))0;mkUfkdTKh22C%}>IS5^= z3Ue-j-sw&oo~fkxBU-r#3f5PM^~Zf3z>u64sqXRWneGl>++$)Ozj>>sj5mx#Iqpp= zf_Ew@{Y$d5KkW3!vvD~p_M?qS2m~eS5;U_jX#_%UtG*ID{>Z{e-PwUnxfyo<T^yq_ zTT4Nh-H}+^2KHiLn8H7fT`v3~w7}pciAB?F?QQM7G$iXGKX%m(UcJTb-g0#iWyC;8 zmjfd?FFI@^@DUWU?TP@JR|NltYb??260K`CV4WUu2i7ks>MTd&o}WM_`(s$~@8F(3 z8>!x4{yHNh{xQk2g{CO@*ayMKz(^Y^3cG7=G{G~1D9D;DMXp=x!_pPQUEJH$iPIlq zOPjEd`J0^{lU0FFt_FfJxG0L=HOB+!jWMy_FgxpPJ<)ms>HD2zr*k&TJ(wxrWE?mF zR8aP4U17*znBZ2JLltymYbOB0nq(Nz>@I9w`={j5K)Mmavc()WAPQW$(a-!;wm}Kq zcx6CROpc&f1PI(0`mG;<TW%Wn7~p-uzwSB{1p*lxB0|v<^SX7|50#;+!z8Q+&^_M- zu0Dz$g0=<=Sr%_UV}DVD;R?E~X4)<y2i(nYvS(7KYAAs94SI8L(aq53TYFtZ@al?a z-na&<x>wrR03No>0qPZ7?`%E65MrY*aC}WjcdkB(8`*vqjB6N%mU8>qW(_ONbYrmq zt$3DtzmF%N@Aue?jGbkj_mT}y2h!u-Hgml`3eRl)eGWuUaDlmi+1WKV^SwS^UxPiF zOt@RWpo4+~_5Jg?k|~*2^Q7Wiu#B&P_;#QQ>YT^2*N0VIQ^gCp^+KZ9H(b9OxNeh< zGx9giQo_<*7jW>0T91F|0#d#D2Kqc_ZAP~yr2QLMm4iebcQchNcN4)wXC=*n#s#*8 zFoU|tlt5e6Vm|ODp&`i!w77fwRpHB`w|`;j+!Nhh*!W$R#eX_;C&Vl3gfxmFN|kg) z4;V`q?OWxg--xN2zF625I{EbY^jmUS)#=8z%Acbt2yY<2X*Pnt*il~8-4k=WXZ@0< z$?0L9-)0bx)0f!ZuLQMO<a?QFXTnHOD?xO@A>^@z4V>+^@bFk+63RGI_@YeCOuPea zq%I_6N&j|I?YKTNGZ`NfX-IZ?RvlbCEz5qrl2#}UiI{*hOa8fJoq6nbBKTa$Boc8o z(ISUq&YX%i*a*^cBWWlk&x)OM6K?Dmi)Fx~5COvw?5Car#BAl0gGcm`1xKZbc$@*v z6dSk*xMdJRw=s8vO^IW<QDME`KzXq+<#j5G@Xz$>*Ffpi{xwcT^|;TYL07jz|HS17 zPS1Rg;k2-6*=yl+L~|Sd3kbm=o@_%59Alp#a!!*F>_DSfkY<3)_<@0GgUjZ^%rE}% zIa#6SWctN>by0QsRHgNI+go2fi(w=a6l2}~-$$`8G(h*?q)@*T7;gP;b?aA=ONfnP z&2Ve4g<;-bw4k5S2Es!l^N&^0N(L<tY!*|R>2;H<|9EYEAG~b|22>?aheB`rW7Rgf zCxlLat}S1HwyXl#c5sJO&3|iX)669W^VX_j@5E-=wWcOx*XRGv?mpU8uXkn0Z^XG~ z*xxn!hb^$snaA!XXlS$f_TR<N0!rlb16Z2-$Kv#CoLaAN9+7WsbdpE@c+4J@N~^t2 z*|n~b&UDqu;cPGcW6?X9i=-@n&xjC@31|djn0EYM+?z==OoL-3Ues(#Oz@a}WPQAN zwY?a#6~J#rfUtrrymdMADDVRTf|BW-(8>GS9t;r!EXaaQrpxcgCWx}CMjNwLl~<UU z??fW#dS39InB8MzuuL2jPf2ESlIAYc#@0rCvL}P*OQz&j)#Y!+sLba@3G65B!PNS) zMpQ-Xp#T2md`K+cz?hsmm>ILU$lY+CgsC;eqAXX!#!TRM1DJ%`ZphQ*efmT%#&QaN zHrBHHkZ2Q$i?)I-llvWNb+!@3uB5X6-j%SL0`ue0Fv$E2Zrkly1?u*O4swvKM^WJI zFb%+w$s8Wu(fe=YM_5!KQcbvTnW|#tE=OU{q~6-t+GG*LgknI#7RVT7<-LBH<8N6V zyA7KmI}^%0i5D@iX{Imn*w>$##7T<g+t)%eystkzZQ)<xxc*@(d=4Jj>tW`8?$G`L z3Qf%a56mRX<j28TjayJS)LeH;X~uVUO2%U6n5%ukJlX_pK%tV4slJdT>Pd9>&+=yC z)&s2v-CZ>-%Epfj4EK7-VR9+!miuVyIkhK^Fe4<nRBi6A;n9SE|IADOqDGV0{2!Yg zHu_O9QcV0*ijj=E;f@L<p3(Wvtwb9f^C6P)-Z|UhkyS<2#PAz;fCm!r%O8ggL*Yxp zA_tI!iw*YhwvB+#YcDHd=9OEu1@U4t0vmD~X4qa~<ZA&#FQTrP$gy8}QM_#1e?crX zJ9TvRV$rzidiS*KbV)0oPa+7EU3%wOKdQK&wdnQE-Vsr%b~#&-M?~~jtJo_nB?zf> z5bNS-P82<wy7yVP`>WeMqL`y@5efYQYt&TvnuJNvqiNIQEMIXj&-rnTr`hW)U)x-b zcif2G@>%n65sW@*fef>HR}%XMGl>MMYkzSmnn^LOH(yfDX{t*K;pZ#TJ!<Q@)^qrE z9FWJ|H;fpa(nzh#-FmR~AWnKc#OTMy>L}yO-W_iYiyCk)XD=yFVEv!&8ynR4uiy|p z8$%I}5O*{Qs&RTWIXzZG6*RHAy%q9#7Yd3T;d~x$F;fya>cLAO3m24fJ4OIuOdrlL zP1qnG#`BTqM9jwMfu9vAcROu*+_%oeZhC?wqjwhiNjKNsXA{QRT^|HtEEnQnx<FF; z7<vtvdL#k0_0KK%9@!Xv{|Mv}B+t^j3o*eZD}tcNE+JO9d#OhfIH5uvog_u#DrzsH z<iEWYSs*oXHT|I5D$tGn>I$-Rw$4`4_PkhX1+FT4aq;3Y*g2hKU%{e2AOPxD!fzfR zmV~d!=m;F)dK%(&M95&zF>lo%-!(!$Q^i3>Q{CJC9H|U++w6X@OVQXJQWV=Ax6-N^ zh)Vn(rR%}nD3v12U_rD-|9o4Bo*3;l&iuL5y~vrLqH9NbX&Ox8DlhVQ;>mQxrGV7& zCnjKWB)E|zbK5o#x-(tg{!~oYW2t^GyTh~f_6$-U0+P?71Xoxf6HoNDUd|LWu~1aZ zdO5;$Wuo;8xL}_59rL`Uo#1WzW|(lX9gna8%tjATVIz(iq6+*tI~ZBWKr!5)i;4*W zzS?FEAK4-b_>~x$?0O#SQ}G)q=H4g@F0MpwEP#E3v2p(kdlbL2=Y_LZ-R^VOp5G;J z%x6R~o;8ek4`eHB&@<5fI{ENY7@Cj|`%6>;+MTVR-Km-WBvmC8@ddi<IbDBl*?Bk6 z)cKc}e8lxku3wZp)5e+Wj95d~dMyLLF@~D-{Lknq=&Cq+kQY2|%rnjA22pSSG!cRT zK|(tLt~7|(h5ZlR`4ZXEmD7!YGeBtTWl2SmPQ344^0l|!lP)fsr4PA$f*9FwaM!Ac ziJ#m!a|~Y+3D!0ICt1GriFYxIjLrW$eH;BEYDp`=t6)v$4c7|XNoG>YlNa3aw^v!8 zr3$m7c03^Pb`1tB{Av6`0Z4%txvVy35hu}vrIQm~PW%Ltr<}A>qJRHNPnUY|q_1=B z`crc7@{yVm*|KKlqRIZSC#*=5B(kXBQ@ufxyx7@Is(PurIoaiOx~+77M@Vxn-mDPM zO-IW!@49Hafz0>Pbn%kuvDV{@`>oFLe6VASMGHP}a{YSlOJN^m;5Eyz3NgaQr#8&2 zV-1!d%_hK>$zUpLAr2rgdH5UOKr8nTe}K@{*Xn2MW1jw-zY+c9B1r`!N$Bb0z1*7j z%ng3oULWJ2yc4E0{~Yzw7CNtHS>>o5oq{b{Nd#!*b_Ze&yW<w^2#_!B01!YOv$sHD zqpkq;xR(W2(2oJ$+s$yxGKEzvGz6=YN1Z_(uu!GmHM(MOq%$d?<_MW)3(FNFsOwY- z^d!w>bkAh5B(hDs`>meNVM#~Xp;+2*DxS~PbaaCv8&3!VwwA{wClwExn8p5wuD$c! zSqn`WhD!|M$Ax@OEJ%h2H1NjD_FYx&tGU>J-kXB;V*O3Kb~jGkMI2{7ZuO*MoBTiY z_FBjk5qkVB;H<{{4~5&&d*#D!q>ezLkq*K1GAAqx)kcergitK|8^cr=Ms>P<$EUD} zp$?7xsqOc91}<Ji$Uh16PYrCd_@4K)-Ur<yN($Ndo@#8%UtS}Sw<|!fW6%84^ijG3 zyQi>xQlrfFPT^|9=0J|cg)`@tzgz8lKy(1I=M%S)+;HqNxFW}|Qo_dE<w5lqui)sF zU#R}=lL<3&<#8NcdYyIXk+|{OJ3q->5%vpiY{^pK;L;8!wU4Q@qq!$+2uQJVS4H&P zx`(fC-`$3CA=W!j^@AliLpE$n$R%ju%tA8`$j<ILDIK}Wx?<xd>?h^kxZ|{T`C;(p z@hg?Ea|MI=7dZOG0>me=74a+;J!>|e^aexjD>rOIB?p_`BX`DtKC}ct+sEgCw%4tp zSJv?|x&R{BW#3^hHAvgu-_>k^!&0&oxOn;8Y6eDy$@w_C)FSB4L@e9B8=G6%U$cKZ z2?ADZ%ihAOG_0hvcjtfVsk6VKgfbXuFGj;3YPB)jUTa3!Zz)+%KGmK{b^+pZzd^(; z3e+X67eZv#iu%X>`q24%sDV?t>+ARbpY5JD>xh$A$V)t*s9;}WuDOA7$TC}o$<%0; z**E0&nQccRh#7uc4WJ`?p(eu(9IBs8?~`@dMRL@oDP~8AOeB-n$f39?W5v&~NfU(x zech|1!wjUzpP$a48z&p=Ff7CP-_?D2d>qA<e^>Y1m*yTxW63=;mPW_uK1Qb{&FJ!p zd`n<#jV0L@$Op27Ic+evF?S%4gOG$fA!*qhhJ-*!LKYH|4Zmy-2(mYu1Sh{uNU{(X zVvY9us%K=$$YA#K`{(CztE#K2tKNI{>ecn?Rgnaf$RV6NF52OBWM(>ymz^Qfp5;T^ zZ3Q+-_9ogcx@}gAU8b}E<1*h_osZL_-b!YYe1jJcY_NN_G`H@_e|!DCYuDY&el3cZ z4Q|?<AvQJ+-%;yIzH#sR_4lsl@;IIAJb9j$*Xg+sr>&e`F8xNTfkm#AbalhLFa`p! z{F5dn=#EYcKWHK2V9fJ22b+3ZGB|Ks+6BWbFJB847X5v86OLlE53<^uJUF>q<FZ0% zom?&%u!HmJD_PlIJ?utpg?wCe_4DGw_ZI0*)Kj+MtnOm=J*<JyA{pO2gUt5uo>G<9 zkl2;cN)NVd_$)I_Vu(+pF>)b>fZ3K1bi-7uVX6KypE(}iwCwyqLC9gifzC}Gj@rdb ztZoOa3c4~f#(NjKbPcOZ%a`wR;yRi0+co;l6|JVqcw?o}>oZYmKl|Pd1KB2By(HQ< z`Lw!@bv8)~hegfuoLs|7*|}v&b}T2>XJ(g%4XYYkdNXic0#BC*Z4%&w`TzH!vAh_z zc-6Hi>V|j|P)A_EfJBgr3w)db)XM>QPtU0h#PJcSUUQ+#34s7g{#Ll?k?nT<h8>~Y z?$#v^CT3i9-qzKnMQYH}#Rw`bl6J4GwVR5<tJ?Ie#@f}HVXs<YH%{dmU3F_r;>u8| z!@YeSMJ;8|STA)MhBEb~(ai>5u5sNCY{RDl`t`n^=DHUbZ#0S-xoZsKV%rLvR8!!6 zP>hx7J&97U<hYPRd%#Q3Wfvd9$!m<b^4#i3AU{eXLv6U&=Ro7dnt|jC;M}ZNd@y6` zFzouHo7IbT7zh}x%&cLZH?>W@gPzjlwqj)#S_oP#O#R+0;lMJ+6X?xY&;3i2$C%Mf zV}#i!@P$t}doK!iOdHrYaN^Pet2anZ)sUJ9RV~)i(2ORh2z|{&a+4XnPV<9M^1|&` z8W(1HCMVAF`*5h|P4))%MZK8zVPD2=N){)JOfKAC!`Df~7sZXxW)xDloe=hDJ&YEB zP#&{s^t#PxLq3*)&0DM9$QELu#b+{UlOIF}YYOe6!H$)4u>?018AZKu>c@JE8`cz) z7reA}RgQ{tD@M0e3M2_mdt$It>0`Cd6p!(-ElO%*j%*_{*WA*nF`0Z=Z1E-kCK?tP zjA9KeH`pA;spMAXyg_4dTl6JUe-{k~V;Y0+i09Fck~fG=PEs4;sv|T*#t6#i&Jk(; zfPpE51m{;&>u3SlXvyB&-sQYP$%NNbfPG5cIU}u?b;ESA=*W5{xBMDha<RE&!8#mE z&lu5Xtb8TQt^Mxzb!Bb-vb?D7``^{7<^NUu4sb(9FF+Q!v2m+c<vUm(Mj>d*!Uxel zFUbait~x3n;^ljv_|LEVP&n?2r5UX8GlQ2brP9TXYVp!JeZ4*D!Zo;45T$o?m8S}) z+A9$+fkpsU>A4=AhnIjN=!gG&kw6{3(`J7S8Yf_*c1(Y0eu=uMs{C<&j@D?a&ILu? z)lf<3Di3586&R%O!rX${QMN3(Zb?ZIk0@#=WX^6^)y5Z&*Xn9k+s(D*86LTy@KkWT zRj$Jg1vZ3oI^ph~CUyhlj1Z;04-Vdp<ftK7VdszY9LWrb5sz-Y(YmG6ZY-+_wlwFK zmBiK=EJpM2`l?ELFD;F&)9>)RHeP2G7r1Mxoc_TjnORoz`G?fEp(QB}|AvqhyI^}# zomWw#<|I&sFj$=%LsB8)^Ot-Sp5N+sbS`Jw@`Wao?9~}O7ER>5LYr4E(K3%Q%b1ZZ zRsgt_c5T(UO>*wS!e!9dv1l~jjp4|mcvEkg)>0F8z<?L^q|;Nlwdfy^ud7nHqjG>Q zSEtG~aJe~yzuM};rBJ)j>D@L>b+oEMs)Zd|$RG$QP(*JV>cR<;`fhEpCfDS*W?{~2 zsp-LN&|<JOm*o|AuGSZ6LZ*eb1s=Z@5s*oS1wLr<E-WmK*0srOn->=%edu>)=C<`R zU8$5Sd2~*l75Y4lMFqHg%xY>G@VRRco~d^sT+>h_`7#{FcZ&?nZgX1DYqU=P9wWYe zsLdMa{Hr^RXH%nk&^ekOBAz-`>(+mARhwz}sSX(DT<0|Su`KYVc`tk7;~N<mSil$O zf<4LPDT%uj>+uFc@4S5wm*PLQUc9?hm7-5h4SFECl<&K6ZFW}lycK!*fvQy)yfeKO zw+3E#PHuMX`OWc=-r89fFq=Il$L9Egtm=)+3i5-erK{@a=}LMW2CHZ(IcHF3sVTNv zN`o4|CR1b1<pCkTmW6Zuww&a<<vISExXxTtWV6mrV~SFm{DpS2GmG=(aZtbmtqIxz zhx)PFF4Bl`)N^rbSGp_5b*`v8`c+{#s5ad+)l|VM<w8uG3q~(4DJd<vc(lN5#FfQZ zGtwBP0|#;!<m4VW;G0^;(;T`*XVUm1h2wiDmCfWka3C`j%tQjw<H|IebJt}V3|Z@P z&A2uT`Ue`=M;>u&weAt;)Q@=lHt1xCM&Ej*$aFbJ+!_tyh%@PqF!5*TGc);o<V*~Q z<K1b=3~@k6Z<wFKlJV0NV&}a-Otj6>ge5&)wcUS!^N|a<Zb%A}TnKXgDb~l!>5V)M z2*$%Yk?t-##rRntX~*n&liLdg9qh>%v`+K!Q!}$)rkgA3x_`PJH?=*7T^@{j@=$A` z^et_v(GEsBTG~=V&reK0N9xSFw#{h~_h6d^m$r%V;VZ7(CI@hjd5cy*b*|5f1$=i- zUQuOrV-D-`dZQL6zsb#M(!p2;zsgMvR5do0+cU1dS7%7RZ}b?ke{ONQxRg{Od=|9^ zV=TOfz-Tg0z#1^dBRE<}VjHU%9|3MZ*ohXj*wj(Ian3Dl_K$#+Wyc+C+WRkO9=$Pp z_N8pN2W~bjt<#6F3vvNQMd(?v1On~|=Px2@Ff%#?G*(gL``Acv(qT2~K6`KSHJuSA zbGBeX(&}_rl7CPBiDk2FNHdDR_p`I&Ev{MdOEaC)nzdik&~11+wi>3pF|yL#^SLj4 zUTZjW6mQwH;7^U~N<@wTIv##flgNpwQ$STim_Kr})ro-|AWi-$`FD#0qdXX<-(WTx z%~OwIDQ3gRMvpnH7K8TlU-;ZTI-|>i>n)Q{8|ex>WAbU-x$-e_7?t)<KL&1HO6@nb zh6d3@b7*xI&E@ndg{IV{xZ;%6rSooBafQp){Kg`k)8f|}O9qnvUOVhF7>x$s&95FV z&c!b1Qm4hVV0#BF^)uJ9Cl+AoG|*i;MmDAl1RvDR{3}{Z8UnN6z-%*h&!VblLd4T! zT&&LBNhGRDL*agh)sO4hix0ng$n6UMU^MxDrq*w9s$kh0)-`YNigKni&`{F4!jCOt zdoGi*8=ebbdr1XJbmo+HYzNviw-HinKznQu>FRFY3{)`<p+yUXL=-hR0J5O}>i_n2 z%oB>#`M-g6n!`^TJkHJwy;hy`rat47hY^(g!}^7*uMNs`*ReFtEwTKPg$vf~#Tq$Z zz0x@bmUM799+wtig$?6t=qaE$UJ0qLf;WlTOII9()N0j{!x<Oe@5hxX>(}hbJo-46 zrzYltGeK)qOtjvZC@js@jjvnjfPE9tmeeM-1W;+N3Xr<ala^x7LPF4(<I_;Zg{~_- zkm5u<TQb#ny;_~izo?+RqTbKyKtMJ;X9e&KluKqBaNM1*3(^>nq}u|VxQft9<)@-! z`g%(efMeRTpeZaEXjvVr^LWH(&YHR>Z{q!i1zSa2ex&C#-JfPw1KlQW8;7_AM;-}c zEdFunNlSm9FzHD~eYcBx9}G0z?(uYYTOH6->F)NO)m$j~7kfrmr`9bxwOyTNm&Zs- zE8X1;Genj4P5i_jPDi7mI$U$RH*LVd2iK=}!~1cMFmwTQ-kfl8b!~GlTkZ8GUr4?v zUgh;nHJ~H*<c5oDY8U6S^$1v%rE#-*Ru3MwVm60MSZsE$f%;%_362==gXz>APV1BY zg9E#=r`R&JAHfZGVT4T7i}}R;$rqC^da*Bi3JThnnCkOlM?u5Zqik;!y>gflzhO_} z4yVp=!r%o2e5j5V+=;@EVulK%WKpUN3FiK23{C}-E^6Q!s}suyq83-j1X;kTvE<__ z3mDS$F)RaUV4@4z{sM0}y-bp+Q(!zlT;xPMn|v3AXNs=H5fCqj89@N}EjxC`$(kT6 zE5@_3rhWmn2|LfwlQs1rw&XEBx&oGWE)jfK-6+5asYaD_)Ip_WOln|;b4-p9rmV0X z1=}us6BSTXDh47}Eoy!K0Z*0rj>pKV-xGJ*bGEK~6qgwFi&x%*HTv-kY?H{)7;pX> zR$)wcUC9Pm@;G)*K78~QSZ00fc5{B7`L-wQV&R(Cy$wt@-*ttK<%me5yK_a^)GaKa zzx)mx%ho541=LYp8tMSe`AIg<3o*?isn-e!GP(yqJ1>;t^Oi?%{@VI#oX*>ytYz-U z&1~vwW}XkW)@wgI+A*k0K5*Xwz5ePs^b10+GzuMOh6YBr01V$Z)P~ibqc)1QI>6_n z!-u2=Cxug1^`rAc+I7yQ7p}}IYZ!h#dEW&NTPW6bh?Q$udHwM4us$;sGCwx_v+Q%W zU(#cm4|*mymfOYhhV8H4J?!&$o_kqe=b<0zk=yp+iun1P;@;$w!#~s5%Nq53<eaAQ zB3KJOBaI0w6&duuK7qE&XbqCK$@1sNq2`?JTkp&Z#r}B0)0V6Nv_p4?0J%*&FUXOy z^-BrT6MxKTN>%{44NE%@cVnJ3mk&a!j`bP%fUJJef-gYhV;L;{)A)LR_+I$NU3Y)& ziM#IkTJpK-*2P;EM+@fzY{4Dhc;fEczxj3Cuu@gg+*Vq+nD2$5PZY1jUME)Bs-W+} zM|vJl0JD1xSLmt=y>64sq?-8q6SLufxaPh0FohCtf>pme@4z;#S?@N8ciyRWqm@Gg z2qzYv#_UDNgO~`{1R$#dHMF=c?&A`|2Rk(<m?_@^NpaU*rULU_cX`QTD89rD>}lMH zjW0>ws744$=!&%sQdN3eh`q(-4)%F6pe=T4bpn0tLl2Sksld<RF*~4Z!}r^ecbmX? z-cXLgYFlcDi8gVu+!b)R*w^wcd@pIL+-uMpq3|L;oi+6U|J>*?SaE>7g3)<@*g=)< z!OE(i)>UULpgPhk69Er^#B$4wNmSfCs$L|$SbPcaO)WlUBQ<$M1@A$AjWp!EdHQX! z61H*Nw5p1o6Ov|pL4gmBqJY$gHi+RYlsGbV8QKqEFHrh#U4|Jxy<YrKGdfrj9k@0g zzZM&#TIqd*#ccS8MyC@$&{-|o55&g?N@@qMjm5479!rIXh4)wwEX+_VAwiVdrO97f z9;{X`84s8JGf<tnRh)3g{cB=A)}t^J#2Bgu6$-UGfJG~Cv|Hr?z&szC_K?n;I?M&r z(r^#SPUP#ny8P0z%^JPY#J<7`TrLKM8u7Nwcqtt%w6f*WS4~EY<I1EbwPv&SNz%kI z>&)8onY5v}NR+UOe2urcNXL*!WRL1LX%S1UDlq+P>4)M1+;|iga9L1Zbx5OkYbw>X z??qwi1c;?LbJKB|+C_X4uf^VO<s#BFl@7Ax7a1E6n=z%+YLbtyDE;~Rb-1$LU~yuL z=dqtvu4KKicjz^o{4Deqw@mc?^R*u{_F7}6#C}lfzpSDH+J0UyOI(^$_Oi&b8ejX# zYs|8(1h6fg{tw|j=^5;Z(YaeLm1a{MYx5w{Cxx7L+IH^J!rZs$oD~K3y}7T?&Uq!; zffqDC;JlDSqxIAH0Y`ynv&U(#v$=(xn8iACUS{!8=oCxM@&byhg(1!3(zY~}Xp}y? zVC*QIMab22DZyU&_;<-MhZxDJk9$Q6cxhS>yG(z9l^nJ8ljyFbMb^{=E0lzQGuSke z)#=O3we3TT-!XDL%O^dTfeUf?-ac}1AQ!TS2_swDS#l2OVgSsVxo{g9!DxK{KBop> zvsc)wY1I)LN4<pI9fAVKb)1l8YT3|?aQrym@@o`14XxR~WS!i_3)DKK=XjY0UMAW* z$v@Jhz@h{$J%EAve2dmGjak;O7=5-Zt()>HdzDIS6GpJlcefA(XHXYJV?bgE^*6Kp znc5-PjI+|wriXvoRQ|+)T-fel4r@ln*zdxzc=#eEnlWO}u-Lnct}x_`WR@&6Xp9+l z*L^uUo$dT(xQ_@uz&=egyHVBpfXF~G0hx*;0fQc!rmErmxa7*txDx`o{7zej#U<&o zk0#$*-S*1<Y_`#$vpO7K{<6abts%4js5N|THY6+Nqtdg`RB{P2u;55IohlmY3Xw$n z>-l;eEXf9<=XoXe%1<>0Cn@{g&qVLv!kf{uHO7YzA7O)sG1bH|2-eKHbXJ3QYD}ZU zrWsq)d`~EZD|(V2;xcQpGz^IZ3yli|Csy&WN0#bWQwvg9L2=E9o)%TcXxI;M^h29$ zHHx?)k|a!+OBA}<mKGSa$s~4s-bu?9QD~nom7ZnqVjN7mUsbiK4w9B<AnNk51O^gn zYl9*5Nlwh}oYC{dAN`7bRpZ1cbqmC;%^)SWY9*UwXIH+R{Jfa`TvylOKK5Twk97m9 zsWIq$N#gZJo!;zdWSYX{Z+7pNSSD%c1g76eVV9laVzs=~I+ssM31Bf-6{oEloN8e& z7)gLOrzEWnq7&M%gc~WtvaIBPbCF7Op0?={=(7J1oWR!)WZoHq2fze`8~r#ZrZ2*! z6%BO|_sfIqxkGg;u%}{KUVrPGZyn5auXJiO&XsPdqVP9gedMiTuea!}uRb_g>=jp! zkC)xiv!Hjus@u!P$9?|(eemz=_dk8v%{N`qaj4_6n-5;zafn($>-2t%AAU;fdfI#_ zq+m$Qd6IzPZGztxN1BDHceE1v@utGt3h!UV&+a!?N?yHFQ&6aJ>b+8>WS7@v8PA2P ztFfVEZAEt3LLKaym~%Snw-r`*H5(n8WrmDci(3!dmbg?@?{0}@1RVj1+4h!}I`qpr zYg)q#qn&nZcC0tDs=j;8+AEDrrQq9`CH)X<VJrE{0X114AX0@nwI=$d=*bD1f}KX4 zP^qWngaHlm5zR-;Ko8z4Yuf$p{wjU8+}vGXy-Kt+!<KnZQHjflRRC8Byt1p=A|7pO zW!i!zP33htM$^LR%J7cjd{=HuuTfjAHFi}Q#Jej*d%H2@4a<#J2TZG$XUc_bfx3vt zQ(PBpEs`^ruQCNjD$niA&=;**QIlU1vDr!@E#Vzo>sMvyV--0$#fyO|?UQW<rvHjr zRgA_>Y2lRKmzd$0Qcd+@i4dywQFE{66yU3as#PqY#-7Av(<;|)zut#)0p9Dk*UDID zw#c=^H$XQQ+Ce(WD!z23#jr@ionK(z%N{ambdOx3HOo8i*6O}2z9#wVm)v@R(}csJ z&I@i`Qt$E9FS%t0-6m!*8T2@>{P|zFjiXxh5u}Cp{2`N8d&{@=%vSluE411hz-cl# z?R;<=R#0d~owE=a2m%mu0jdvfQbCo65c>17A{2#)6{-F63TLs^qIvhK)w|7XRTdO& zv%-=~+ddF3iu;0>8s;*jwyiPbUA%r-)b6e;V&e_{8J3Rz&7E3re*?pDnM{MYV|8my z)S;b+F%5-_a3p$rXU8_1Cd_N*9d;#psw|rEV)Y6;>%7%uka-%cCaBEl!o({Sge@A{ zD2vwaYl<|ju!s#UHyIs%sE|u0I~G~TaM^tmmi@8#xgIKLFK4&b8hw2|y-)@-X~f@Z z43b%MDEVQX4cDgMajWCPK^w}ipAN9=#NT753M)7+wK#hfblYoH6$q6za3Lp}fvO_G z@RA|ozM^Q07!+algRzUR)LKyUqB}!N@6zv_^oqTAR#vx-v2EMMpNknLP4Xm*Ho|&~ zCV4fk^VAz)r|UWC0s{irL+n9~m|T31*I#kZJrx+9inw`mA=@YZLKqgtsdp%qFrX%Z z7Uk!BRgn_q>Ii7J9vWpwVReD3AD~mnsdlVS&Df}i#61eB7F~lo5&1iDId9oDIu~6% zs(0|rR^xOHkPyWTt3e06w4%kTaoRD~77fOrtqnV8c9#)074-%fIHA}XkJfQ28O-}* zYXQ9c1D3O>m4A6NCL=bpTVE&Xa7B9rT2gh5TFeIS#%j7z+t#MhIP~(;Mp)D`qULm( zSewSEQIjNpKI4sN8<Ad<pU0DzR%%5fZjaVU2w*qeli`q&mNG(%*^lwmK5!Xr+tWxv zay!$*l5h=Q<i}Ns?iXLgE{IV|^!NKJvtj?}FLtvrSs^BCO;(57_=i8*Ped<m7WoVo z`L&3DrulGQsRmT%62%AIEaDf`jT3e=m*?f0pgV1_^!4}mS&UAL>&1U=e!6#Awq&(C z7QTMM{>RrBI-OP{22s>|yrX*!=a;Z1pZCc}-zs4)Euc<zHQ}>3ZGJz_N?-+%>sNmK zkvCeRhXN`f>IX!B21GappVrkpwJ}0n1?EWjee?u#-d<WJ?h=1@_J`aCRISgmJ=mtw z3meutVfk6n>+AqO8&XP*XN}ccpFrueJKGLiadJv;!HJKh7@5y%)HolNW`e-!$ESD% zRvFIv43%idg6}q3f2f%6EETh}4e98!JX4k8q`9Z65NOE9K;{hRs&FO=YH=Z~1E1nK z2((j2jkr=hkmIM|NYtt4`#2}^&KeC+)sG}e8OYn<!$^Ib__L25H%je&i^``sxU>UX zNKkg3bNq-afzYufC-geccx;Kw^Vbc8+d0C{)9dkUvH6(VJncx<9DbN{Tu!{}Qy~0t z=jX7@_irC1>*>rh`;^@$QfYp^NPb~1#piGo1UhB{s-(gyC5<3pDaKbx^6~6ieO@3) zOPDliXrp7#xOEx_=@xz}@ilc7jwH=G|BS;xXJ@z~bpjf@Hn39r4O(ZXGx1)`Q&KZp z7*tk|knm2%J3E~E9Q0-2cruOLEMjngd!YGrBW&~(?#aC%6V^aAWo4|etPBgV4)@lT zTit3<Ss8B3k@TA6SaOeKHcMsr2kV`;d0=P7imPnJsh?n>QR5*)b?J8vtgC><ap#a8 zvlG~Lgb#e3)~*Qi^V{ip_{^R<pNr9{eLm}<fmIa8&1fW(>cD1iuAj(eIjLRlo3XWC zklI+Ex{LQHy#ErPowdon>N^@kAid>nFj{icJM1T~I;E^K3&wm}^Pj!n&dG=Ec6FFX zu%-9g)0?AwI67<dJ?wJ-D*3yXT)jRMij|^00j&Ua``s}M$lFfs#OK<rOj>$Aw*4_f zyL1_p1Js@Pli!~OBDnYgSfhFivoWkcr}Qdj^k-<k{=CJ35hhOMIC0;TJ}F7Y*Im$p zkfd`ZD|9`y){|eCuqTO$9m^EHj6EFsC*sKzZo%JNn}q`K&zbry5$?yz^H0R{#P_AJ z)GOUC{Y8_fIaf2RxmlxVKG24=S83nY1$4LS{!8Die*|-rR>Mt(?;8GU%ro9#vYE~| zO_*)w73MFRe`8r=x!ZEo@(=48>s8jD+MKq{wudvSG9I>v?3?WO+uwAY<9OWhCuhBL zh4Uikb<PK!M_g{#M%NczAGkZ**L#XRS9lJ4KJc#ej(dOStMHBaUdYsCc4R)0c_OPh z>p<2&vU{>0$o{i`i~n-}Ul$bP_ws_j=49rq%(*4!x!j7}t8(98xOL(Gm5byX<R=1= z!0mw_2L2G#1--$>;KtyM!AF9Vp{&r#(1FnNi=2yAFM49pn|Td+hw}cCza{_or~Tdy zOW~UEQ22!ccfpN??S-E!{9fTdiuM+F6@M$zT9RAxTB)UUL+MvaPn2ya`+j*&`Nicw ztq51_uXw$(y7I!xFIWDe%33vA^{eWJ>IZ7PHD9eQtsSX-BkG9W7k#xZr*5q7mb%yK z-l@0O@2&qz{Ywq3;lhR!jiJW+#tRz1*!ZI+bJLQhFEzc{yrB8|=C>DbU;KYsGFvva ze6!`f)^)8<wSLeRZM(efyRqEZc<eWEIleJ|ZT!)8slB`XsSbTdPsiSl&vd-h@rO=# z=hDu>&cj_oS5MbnUBB-(bQg5Tx;J;<-TmF}e=dnExnRlXmi%^U<5FdrZ`qa0o?mWS zt}Or63btbDiu+b(th{#R-_Q9{kI=KJM_DDVf_@6|6g@-Ee~E6+XnIe`kWLUI&Hgv_ z+vK|j8&<Fdfp+=Te;?A=5udKWA8gCAO+p{Esq>}p2(4m^&<eLr+9#B=7GWuSLD+_8 zF~XN1td)oD7oY%!y8v2*7Ca?*dhpcaDaRwv@>6~krsjojkVik|L$0`xm(wZ@2?bK6 z5SFOyQ6Vh8i|6NfzY*`(3Ssu7kR{?SDCs(cKPiMY?TACT)Q@;)%H4#x{dkv!LTMaf zLqeA3At4iP0FO(2fx~_kU}*vDS#bB^5yUdUyI;s*)BO8<F+-5qW}yIaxd_ig+5)zD z`dM)^(!dYe<WV@{`F9A<XKx_xWw<X09v-(@$ObN1i1Xm_A#b8dC%(U$Ts-|mcfhrk z{5Tm)bb5f(cUssF>0Jo_BlIq=6LOH3%>8hYM}g)JVGZ5^C*V@?xCSoO!GGcz#j_RZ zmP$joae?x05w0V;0rpzTN6H6&(?U6?A<>+|PPtWBmlUM8Pw|KF2>67aHJ}%0rrC$M z7NLR40N?B+-T{uS^k_4{Gria?5n#3R3qlFy%ifqyioX-O;V+_k!1si&4Q^Y?O~3Ov z3a2#W!iYpGp7c8pOU04D1^MODd&(^%7j?kIF`)@A<y#88qrf+Trysb|L*c}`^en+c z@5J{j5l3aUiLVQ_z>n(d4qiXgNRxi*Rhl7Qr5*C)G@R@5veK}o%H?6R{gh|wJqCX# zJ@e#6__g6lm(wQwgu`a$b<hGnKOqFjPxRLo3s<8qUc%!@yMz<LA|-_m;1qz{PA-L~ z%1gU4__!5MJ)Rak`{`Y8#ZxHs8&<+yF0|<3!ry|hHqJ+&D}E1<Jd&PCzAKz-SUL6E z>CYQ%TuOm?(*KwjH-VfGzb&9A6c54`ghQ&!jte-bPwAjL!~b0+2=Ca1|NL|6Rp{B; zF(|YO@^M*`r|X1srDvE$7KGb2N#MwrFisN$nU_boAPoDl5`T9K8mR#9FAG-*I?Q4= z3;O`;SA|D~uL~2xQH1|WI41l-_-|}YtP!K)55*seZ-{S6pONmBJ}=!bJs^EmdRTf) z*2yN>EoaF&GH$7oE9GAXGN97q3S<Tr1Zo2J1s)DO9(X?R-N26n{}vR2QcxQ-1kFKL zFgutVl!KvQUa&aW6l@K~gB`){;EG^RFcBOIUKqSQcunwz;H|;?f)52B4Za-wm*6|W zzlF?D**%i?Y~J&E-^+U^e;|KX_>bWa!zYVcij?E>^fbpdF@uM~@%Saj<9*<<8hE@c zz9Rlg{Ec+iEIb~P9+h!MU3STt@&Z|&2anr<$76wS2VMjo{|Y=r-~m&-L1z&5jZ=7p zKZ3_#@PgoF!2`kTfyW)euK<tl1CPG|4+9WCg-3t>j_`@_dmN8%5+2k4G5y==?@qrk z{jKSv(@#x*bNVaOcTOLgzJB`R>BZBz$;PQCroKM)z|@yc{^{h~Cx3tPKTiJk<nfco zPEH=b{`j@WuQ-0`@x8~#k6(0r>#>)P-F)oev73%vckIBi3y#^3X^x4Lf17+~^7oU! zojf}E%;eLPPfZ?~d}8wJlaEh6Hu=cp!;=q9-aUEe<n5EUP2Mtj)8q}4dnd;yFPa>f zJb&`M$#s)!CYMbvnJk?wnKVr5-}>8IZ@#(w&8|1w-)wo){l<fDeE!#=UuXW>_ltk~ z#a8)!&Sj{O|KI;9LPS=Cb-f*Zvb^l5U|Y3J(XBbRSE=?Z1%3Tn<%8>b6)`XItO0Fw zU?8-`9|$NypCZIV?T0~wcz>)!VG%{{-&&%Gkx(EMC{d({Ja|OH1(~t9;)=`t{jmwr z9gj`qNpVGtuf0T8EFpN}i9tovbID<hrjd;j7+MgZ(8D$li!G4h4aE+-m<w?sMd;}r z>O1UZl(Iz8L=>r5@x*(nJjEN2rxN((L0NgRN73Y;d$@pE;~fJXimszKph$UrtIz92 zV*kNjS?TFPP-~xGR_e%C*ViXcsHp)_0fJI*vQkd*<&^Tpo?aQ$IGB(XQ%`R{LS%|F zk*}6~wf+A7zP>&`sHIrq1B$S^R}q#`;sD<L%amO5<t|GcwF?83;;2^G($_bb=u=p6 zUtbD?K6w!MgkpUqiZ&v5$ciQ}0i5*lo?b;CiYbOr3^jmH`b!iYCpRb|4^HT}#AJ#j zbp0y$^j8u4I|dYOQ2>!~`Jj9dWlfZ8^FX0hz5PA@#Ol7@P+y==R$ABeBF;~ANr6(L z=p%|TUVIqCNKSPFUPG}E*d-K8DB_l_3L5|*ioU2sF-By9)&{gR!WJX}ysiCxl%&6% zLu-m0Hrj-EN319?!#L*1Tt>2}xv*k@5C`i0a>v0?f-030TkunbD6$_wrlCaDh7#>+ z5!N$&t}Mb=_;?1j*&o@6|3k4ORvdZiKo$8zfxaRzaYkf96g!l`M0<&1j{pT(Rx;vC z2{U+5LyDc=R^!di>&t<R?3^evXfOc46-T^ZKG-iS4v?)xaYmM{?VZpJw)ZVktV5wo zN)%UQ*{a@UYt%r00O2kk?v6|d&iK0C38yozutZF86jPG}YsDrq=#L$L6y`-;NO?WI z6VwhtuGm4;Fp9Mo1w!~N?FT<lJbi+eOtF2yqzmwOA#`qKouLXRupANsk>iT6_%N1b zI6rtI=t{+owY`cn6q7p?s0%7qH0=JE-2V)&nupSaONhl{L;*MASYpC$C{}JR_6Nb< zUf}2{E>V1u2}W)v=uK``WI`f0J2Igm*B_bClDi->p(8gZGNC6oH!@)$cVT40NN#Zi z)KKZK==wqFkX)*;^QpCzD3Mu_-kHdY)X0)qk@+)`qiUoa5tNMLGvW!Po>EaIJZIw< z0Ddyy3IacJL%@&RMZk~TJm5!eKJX(q4E)F~0Dj~a0zYz#fFHS~5xI#sq_T+IuVnVi z5PGbicp?E;DJ7mQk0@ouN*UT?1)4$^ICkC!8A{ZJNU(ow3b12|Qkkye37f8iI8Lc3 zn!xGEj$Q~ws>P~V<T+EC>WEy!A+JGhYCatw6%&v?^FmAEg7-<@&$cfP)lF1058+x1 zdH{iWzv)L~Nz|1n(MYMUsYI#!q@-Z%0VJ<S6$#!vxm4~VkpR*zIe4%u)CCdLi;fRc z7d;X#;q$mb;ReVqui`^84a8|4Pc~r@Vv0FlJan)$B+E?)k!R!FWOAvRpP~!J(y3*o zpJYnws@@|SSu6XGX!5n$eKC@>CJ1em4+uh?{fZ8?J-4}{WwBzlSJK4$2SbV$ohpQ# zCZ6!a-`@xMaQZh1fCl*=>P*!6LnxsWc*5bOAisGE0U#ujbr2$`3@sQAJ;-U0Ajbst zRs@8EzbQ$2sw^-|Q<@eSgeuzn6fHtcAXD>9lwyJ~k>$=%7ZpmixHuihkx?nF2y1&w z<tB9K1ih#RBGZ|wP;_~CTY{*Wv5Q)XALYFMP^z{d`Ad|RbZMOWsp{&d0nX_tr>nRX z@}rcf*s1v9y*+;Psd7_a=|nkmqusX6iCyjQnG+kE6Px~ac7CUS5sxSh#j_KnKS~$a z9#I;L4}$%O#}1;Up9wZpXsJ>T5IZ=^#K!q5<r5g7#Z=UZokM78rD%C7LY<Kb6Z#tB ze$M%yj-|WiW3c}X7Zbfnjx~kq{DE2g66j08*#!aIP@JYpH{KeH15{^3mlQTLBv=9x zc+_T((Ft0(t5m5)D_?qs@MXvjmvJglq*)$O>fx*)Dt3U}awj_BG__Vnh@q7gAoDqq z!-CKWPY*ndJgXvyanu5y)$s6;HI$|cA!{iOdDc-H@~o#c<k=880%;hBuNOY_?eO(Q zj$k5AzH{MI!_K30jKVfjI_^84(sAD=O2>Vhsmu-}>!&iwlb|xmvxUke&j6+AhG&q{ zkY|X}kY_8UA<s4rS37*$Ib7r$=5Uek0uC4XF63~LZ-m1|z8xGc^6lhsk#84h+%!{x zyZM{aiinF;ZyUU$M084~#PGHUeJ#9{W=!=`nsJ_nA}Gzp__%o{*S-9We{qTGr7td3 zy_Ebi<kPHXdAaJP1XrkDN^m98E}qG6AAjTd?N_~&{3_K;$*;zji`D!Ns9s8Njq0TY z*CK7pOn%q#H=f`1s+W@Apn56!jrg)f&F?1FO9>9DUP^Ft<gl5KY!#jVFchUaFlj<x z))y;Q3`2^vsOOS&hh8FJ0{AbhF`Q(#qOVh@e7h$Eee6g9<^V<Hd&+OXSs|0^&(nEe zfCPSH>|1&P=Z2sck2iDdTS6;-^!6;R%Ct``VmGeBgy6<rdLL|`D4_SF20;xF+WY(y zVG4TAa1|~-YQ1q_El-IE`u9|h0oM3!MMv56b&BQ|bkgldw1YaKy`7H=&h#e}J1+R) z&Pf3$;Bh```XA&9x8YYURMYB__%y?M6ztVg{4>+<iO;YfOn*3C$J0^1Mqv~XL!T7> zui#Pr4C_o^N%=)gjGs>VCD?!XPRg$la)pyAzgCE`?37<OE8Hp$vW=;5n@}yiD8z+b z!fxCkF$!&?ZNhe84C`A3!T@x#WUS$r<5v&O6!KNzk#U>$kg$iR-HEp~NI8s<op6Vs zjVZ&15&266(<kO!0h*+9uEUqhP<jGi%R(D+NC<<-aR(q<2LD?4d$Fdr0{&s7i2>>n zr09gZ6EKrI3iyZcbtOtCNE>*bAN{su=Ii-#J{7wjxs7sMsSFwTm*Q!JZw$Y!fMgu* zE<jBXsdT%Tr>aBBDp2s#(Uz!pw$!CMY7+MHUn!`RK>6E+3*cUYvQ=6v1_b}_YGH1P z7pCeeF{h?xmmERadqEk3OBPmxmU}ooFUH?NgrsXuh6ZW^7*Ng4S0BVlCe%MsdC#2h z)&S3~$bT=sALZYxDMpZzxN#>hk;)o}pSWoheu9U}S_4j94)+{zKc$@w(egPtP`%90 z3k2IK$mW(S1FDPh41-S-!WR6cQcqDN!Aop|^%hDwM)&FhGUBY=@R#AY2Ut+6+>Nk3 zs8wopBQv#I2FN>s!T;tPh#nF(kVDs?waoJm`^f0XkxGJ))nYwc51C^Ggl1U4u;N@$ zhG55J+llG68z(?vNda;%3;Ni8=(FcQ-Yf)G0U;=apnaYPyJ}(ZYaz6aiy<RQfI}IV zCzWU=)j0J6<5)PsTo1e(!PU)>X)TcEZD^<M(2MAVC6R8_)>81ta!7!cz`O@^Ta7wg zE38A^Y=CU&gT<BegpII}xe0QjUr1n`|2pAT;X&aV;VxlPxLx?GaEEXc*0PTZUlx8T zC;|-qVom<vnFiL`bi$j$Z-lpmUkk@@<Dr4U+Avf&aR~{O=Q5a`Ihd2Vn45WU*3<{; z92Sm120tS_DLf?{5MB~s6CEZE{LmiBVYzG}lUaZTS%@uSc`ToWSph3#MXVSmD@t%n zP8lo5>UkxrV%4mM)v_o~R@V#nvIf@3ns9btvG5LSVXdr<#aNuR3lFgl;ZD{GGl|_~ z^qMVW%Y`qn6>KFthxG`LuvIYQutxZda5r1a)<KzT1M6jd>|Ayp+sMwxwI!QbKTEJJ zIHNkqhS*lvyV=f$84NMA5w?TvWV_gIb`cw8d)OEoXBWfz|0V2Fb{V^zUBRwo``CVV z6}y@pVArr~*>&uCb_2VS-NX*Eo7o|D3%ixw#%|Y-?;I{KZ!70+WmQyl<Mk=GE#=0v zU5On#68x>IzFNC>`_NcIw>+_9%V0w69Tt0rwQGjAA;G%cdxl4L?UZ`94@*6JhSd++ zcy^WL<(2dfw<_gUr`(#9Tbpvz>DzQWhIfvS4XMHH9J<Pi@=n8&t)qzx$Hqr_L`6lF zdGFBh(CD7A(ZrrThSjM^ZDM3-_jY4qbadC=k)f?)dhQ$FZQ}0e@V4z^YUJRqy*pLk zmR)1155{*7?o@NHSD~t?PZeKZmkL**tY}Ncr?9MO<3y{hh{e@(v3Avsb0Sw(#4A$o zaSI1zaLWimr$U97@!i&RIEQg26@fYPLXfKYwAUCx)r*0CV#GXj$?%@Bp`ByHi4nul zj@@II?im_0Y#U7s4kJ)MG%~aUu3^vk!1l52i7}o*WrbQDl@)3=R94hl63Aq9c+Z79 z5~)%uD^#p2E9xz~M|bVsH99uDYiD9ao7lN+M6I97%2Ym;HKvhW+lB`cBZ-}Z#*}y0 zsAYI3GTk#YKwoMB@~)lwJ;OVOM-pl^R#vM7!gb8Xfn7VdjgAw@#4wfBDhVrV%FRO; zjSpXpirqPoDz#Q6cV%r%O&d+UM`IjNlsLWxM6eOm^g@4z#w?>lTSta2NyVjK)HpSt zx(?N?SF5YCUS;0O`V^M+)uw^r(E+g7$oQUA(psAuv}1f^Y<Ty`rK#W)>FQO6sccK- z)RxMrt=fu$cMt6x93B{-p+;Nkt9Z43aM#$WiioT1RvAylcckF#=u}JVRN<{ESL3V7 z)l#d<Rk~D_t8~H{H=e#KRckdd6`Goun!YB*wl(ooct@vp&+f#aO7+@WwUpZ0O3lE? z_!gd3ZLL~OwY4fpwY4fp(GC@qXos40v{PlYXs3!wv{P+a(au!5&U88z<Y=eblG>`& Y{My=5Zj3WbM|mX<0#Lulu=APmKiR?A3IG5A literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.woff b/src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..f38136ac1cc2dcdc9d9b10b8521487468b1f768c GIT binary patch literal 29912 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 bnfbLfgSm6Day;iB;wah|00962|Nj6Fv8wea literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ab2ad21da6fbe6c171bb869240954d0ead8f68fd GIT binary patch literal 25324 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 PaX<W`)*!_C5C8xGh1v`w literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dc007977ee709a236d9e82719cf7d4e5577a81b9 GIT binary patch literal 32968 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.woff b/src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..67807b0bd4f867853271f5917fb3adf377f93f53 GIT binary patch literal 19412 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5931794de4a2a485fa70099bf2659b145976d043 GIT binary patch literal 16780 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0e9b0f354ad460202bba554359f5adcc8da666b7 GIT binary patch literal 33580 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.woff b/src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..6f43b594b6c1d863a0e3f93b001f8dd503316464 GIT binary patch literal 19676 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b50920e138807f385d0b0359f4f0f09891f18406 GIT binary patch literal 16988 zcmV(>K-j-`Pew8T0RR91076^<4gdfE0E4su073x(0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dd45e1ed2e18b32c516d9b481ebed3cb8bffa711 GIT binary patch literal 53580 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..21f5812968c42392a3eaea9b0c6320870b6b8b38 GIT binary patch literal 30772 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�q{iqW@P3>Beq0%EJjvF(<Oy+|ZOV_T% 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb24a7ba282b03d830fa6c63ee897d92a5188736 GIT binary patch literal 26272 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�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 bkH82T%!~T~dOL3iZSfI!+IWoKhyte*`46Vs literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..728ce7a1e2cb689df32c3a6c26e1bd072dcf2acb GIT binary patch literal 31196 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 T)YS6}E-Q5R&CfXgJ?`xQe`ny2 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.woff b/src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..0ae390d74c9f665cf8b1e5ea5483395da7513444 GIT binary patch literal 18668 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�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 J00IC101u*7EU^Fp literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..29657023adc09956249f6295746c8ce4469b50d3 GIT binary patch literal 16400 zcmV+rK<~eIPew8T0RR9106-7`4gdfE0D43K06(+<0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..70d559b4e937ca1b805eb39f544cbebe3c58ca6f GIT binary patch literal 31308 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 G#ECDig^RoZ literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.woff b/src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..eb5159d4c1ca83fb92b3190223698427df0e010c GIT binary patch literal 18748 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..215c143fd7805a5c2b222bd7892a1a2b09610020 GIT binary patch literal 16440 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 U-*4>v&?)=hdHw#v3!DrL0I>S<od5s; literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.ttf b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2f65a8a3a6d3628d11ea9c26c9077cef672fe427 GIT binary patch literal 24504 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≺+t?Nf`n5qwz%jcm`8_u4N8ib7Ypto#Q^B#WkY(z z=eQ~ju8oE-*PJoErzm?B<A$4=%~xpi8M@4GxrK9nk{pJB^K%1~<x^Xe4`}dy0Cqsr zTn{~Q)4PK3z75@`-f-hnPb#wRC43_@!uJ5eZa|o|lh>)FAnK53i>CoC>0f}=2*V-v z{wm%Uq|Bnr5NG$7Plw#Fu`qbQc||o)bHLdbFWAZgHHJ%8f{31=7vA{2b%+1;U-6Z4 zZ8ApQ9`hJ-z|`c|Zn$1yU>1szAPICin9`Iteg_!WV;6D=yFc}S5vfcot7pNLO8G3w ztBM1Bn7zu(B{rYW$TT!$44=<-$+YEVVJ}jpZ7KEC)7FvvC;9W1A6$bubj(qQImA9! z0E$Hjx#jwhPQewFC6Icli7LmfK?CZ{#g)ktN|b*srDLsr?bHS2=vdRp{n!R$(q3N6 zz6?x@{W*m&4dqGJOfUhh0=NeCv8@z<RmBFaU6uE6UhLs)m!{cMjcg;|f$9#suH8!6 z(VGn$T*NV=qO@=yPcQuP%r0GsV6A#eLQ_PQ*S_9In{>Tje@%^!SetaQsI^IlU5SO) z+4Jnju*1t>hX;Ey0m{r+dp{|S7GLZpzrTuY!Z*_EJt9*kw(WZhdT~%FCaY$H4ac&Z zmpNoR1P0L_U%&mS0O<oIR~w9IHCtK-rv`GPd)<)7s{*`HbM>&Ee0IpejZJnLIb$p_ zbGz-M9}ym-5%l}a+_vG?rS7oyV6Z-t;I^fPy~8iVhbS(*!5zSC3>FNvM)fW$`=5mZ z0D48lY^g)UE?7V)m=24KH7qrf)ogfK5yds_Z6ZWyYZW%bHn{1t<*znm2SZ+0V8G1T zTcc-33tr>e>$Rre{L7Js=7x<M%xn}iNCSi41O_QW%@KWJnkrjkQ~&{BATX(<Ted10 zgz+kZ=$6S!KgT2bszNI~6<yX;Z$qKAHWhHlzPK-7pB#2FC#tKMfAYdtUVhQff&o?2 zS~9fB9t(IP%}w#45x3C}d9usXNYA07Nx<{(z)Dh7U}aN4KKv8G3zl0FiO}(FT%PUf z?IFAXVC=Mq+0Mc7nfC6Dt%EC;*kMAI>1yQMmRF)1bD4NkdyPlcQcZ>4r8hp%SJ$W? zJwj&mtms6KHDz9p)Sw1oEIK>{*y0Osuou}2h;>^*v6jX-<+y>bDtFOd7^LAXID)rt z0TwF6f9Pv9J`+`s9jo=%wQiiyRNx1W&eVnPdJh{_Gx_?OsQvgae(qtBr!v?MX&iP3 zdysUn%bR3XPhWSkt1S>7K-nIHR*~4dknf;ft`3LLE@FR`)N--1@j@z(?7Bb;{QIi% zsi;CQSr+?s_1qhDX!Un9L-QytDOB6222#*1ZP;dwr|dqTJyB0iNLvohr>%+odC1Rm z{k8j1je)w0&Muf4qrO2K8npDr=RaR@jK1(!Z~`RXLKhFS?@LQX-HrW`EvttIa!l;g z03a|n5C*t3(jZx(w4tf2eJxz4TO#2m6j@P}O5jge?0>?I3kBt~>XR@67$EhX>7uiH zDK-=|joV~<WT<X=_od@KJfm&fZA`9lX;*IYcOD*Hor-I&px*rH3nI1cnQ&{aw`n>a z)|`F%){SZn%YDw&qS)APOlUe%^0v(KnbuUqsWiLDH*4?kM}|jr9#5{$F2$x=eJWw( zYFmp-vTcQ8`P=b?t=1QHI-~F)tZITD(CZZVn(|XE<RQ==k60eDENN$GD||sLVquDr z-l_(kS+;$ALO3T%zD*H6q86!b?zViyGn#-h1h=p6U1s~_$AuO`YU2JsQ~j>)jC#vW z)o{&9TKKg)!Pj}@gT8}3y{Oa%zHW}Y#a>2S4TggP5aJ;+t#D;ffN5#dNO&>0KFRGI z5fX>V+!w?ix5Hx?G1nwqS*RrdQ)M3h2zVXLqQYydw>j;0r;4CLX61jYB(KVcE6_=N z;jx8+^fF)yi2dfgDRS-s%eD#R2#i4!$U@!_6;^FOg2Yhpj7v?mS+j3RoN@J<mRJ^n zgi!3AaITStV1f6p8girlj-MngpbiO>ZZ%Gw3I&b+zx_So6OK05Rs<8bzHYnS)OC57 zBYzG1BeCCtzLb%AOZEl&y9yi7se@sKAfgTqJ_`vUwCovzF9Y7vje@*ON1QHwNv~#? zA6P$aa8!KNIucPgUp}No0E1s`OjeRClz#fm7y5?`P(gL+%Khw$qYhc~sm#H)ZdSwE zz|tye0c#QT{w84kWBI@0+sRkWF`kqE17FMSknahs+b4G0!Pk+<Im}IK1PfKP^CD}X z?;7&Nq^E$OZ!F!vuU1~VXXQBjKdhDb8@{BiwWAI^^Uhb)a7#`Y!&^5_8k>8U>koXq zvh)Z3Ol?R;<7b56Z5P;|dL6XUTuT~ONG$uF@G+w<A+c51LP7`tr643p>O0CW_IWIL zYTTV8?Zr?7q!r%8I|wj4SpgtY?`Uxb>X-a68HVJV*hSG`ksPScpnXu)@*&8xvDAIG zJ1-O77Y$R9`G0r$RlYXc(;wybP&&5EV|RK(sFU_O9j{z_y}@c;eC4&qY%b*Pj887@ z^@Kv6UO3zER))BP{XjB>j>sfx4A?$3nLWd}Rnif!qjW*&ayhA^j@EKpGHi53SCwvR zIM=3zG~3cON?=vC<zsb&>1M62u`?RUIC9&!SGCj@phJsm8SLlu^}pwDv4{Gen%C86 zQ+n-+wFFgqVTk=ZxGw`L87Fhu8p<<OJs9CASlm>J|1B!@So8{5RtA1Uo~P0$xI-E3 zwEK)sOJ{*b@D!kAjpA6odH1h32ZQbTjLTCWdgX^c)^2mcBPU;>{J+ZIt7_Sum+84c z2V3TR-$b^#^*esAi}(oA#&!b6Mo5TByE_PMD?A?RrD8!67;>lZ{|q*ZYPeZAb$VcV zhB;-;ZnGEHKx1JtVTmi8QeS6pXhUXvx5nfp&Fa1@&XRNTSMCOPkdM$p9E_b0c#jZ8 zD=HxSbGDNw5E7vTPlcmNcM_=K7lt$PX0>xP)4X-*aI1lM4Bno*p|>?2OXzEQS04<w zT(sUQUe=Vv@Wx!7lli!3vKvo0gR*XUeU50z6OP#xmwR*X&0)0}8__6J)>4hYQV_5n z;cEq~ox(mMoGT)7A;Tkp07sqU!vL%TZjlh8SdAdY!g_i}qCxJj^&_a`Elp&8I{Oe# z8GX?5PERIoR}AC<Wt+TarqF>RqeG$Eh`+nLVu8B4EGK5qyX(D98MTi*-Jq#l;px7f zhId~LIJ@C5pF-sU#l~LJca+d2juK(zS+D{u;`?Q^&s1H2Wir{vq9JA!cPtx6y$Ha} zw+Vfv7%d^a8@VKqn0SvYC&eB9T90jjx3mYp_&{Z&;V-{rb8>gT{q8%f9xE&-EE92C z6n}mM_-I!yN&Y<QVJg!DQ<3T>h~;`{`l9oZ&C5}zrlhk<$O+6w94#giC2F(R>(cmO zLxUrt3@uY44wthrUCU1BF4{W{PE4#^nYw+C6KNo-Dz<%VZo9|`g_@cVU9*+op<Kdq zfM+S-F=(GxWP%o_1<43|*2mJKl|)cD5}-5#u^*Oz7TWxY0J~hahqOVmj9N{d!sK|3 zVnnp&7A<6#FAvIQ&NRl2A;r<v=~5;$S#GaU((GBgS1VtuVILjo8|U2ROYE-vb(d&X z_DW-SsIV>0Sow|QuWhlIQGSKJ|Cka&YDd7&eg^oL1AdnUKZysl8VC%s6U>=xmUfhA z739Xk6&d2$YW@c-+!cv)xVl&Xd(@}g+tjp?+gx^6rrof4(m5n<>@GcH=yv$h9>zAT zW2+}Q>aRN*VlM7zj;><5y_Y@faH{%atg~yk>~?9g99%Lc%Pw!oG33xubt;4Y%ATE! zU3iHiYaR`T-%~Vq!U-lS)GrhSS5UshUR?z#9Q>yhz+hD37R$x1xaFk8LzJ!*p8|V2 zuy!*GuIundSE_c89?xV$Hizxvi+yrSiyCrxTaoQiiY^&A&j9Cs<u_%yFyT-<7ppc^ z3&owOy6^qaKmjtGVqeYGb6Jf!d%lnbT|^cQHHLWq=2>WSWGrcyj8%X;t9Xxxz!HlZ z%JTY{^HZ*f=8MUwsL_%CW<NjfiUp(Um;PEs{OeiGj&cp}h@ff(n5+%yy!-;=foP+S zQj2uR#shPNqYI^{5eZL=s%NFjsRDqC>mpKIz0gTu$qKgE*EF`Q%k6GR*SRAQW~v}p z6m4l+O*m3#U1HOQR$M0=b-@-pJQ>9Zwv8ILaInQ@kOkYuH?eQQ&kc!~G8@HvA0jqD zT!hkH#6Fe88nj4cQIf^_K|D$v9#XqH!wPeFJDa^aUWee?x3Ov2(XOFVTviO-*WBTC z!liY2m{*Mis5()zDIJO@7Y+j+IF5m^X6T3+)F9w_j7Qm*gl||6iy8}6;ju!>s%7Zu z4pWka+=@cim;KYSOX-R=Z7`DE4NZ^Mn+@^0M2g?o&)k9BkOzO;9H|bsCsN}9o_~Oh z(zBRBR7F!>3_HdJh>~DM=mTLAQKdRIiUQP6$}Cw2oH{q4$Qr3am%{IW7pUs~qg*Dc z-L<fs4K2JZM)Q!qTf~xOOQ`@YbJxYHoJ`4DgKqa|-33K{Nc$6LR}`JC@<mVpErZ^c zR}Aj^uX)AnOK%HaBxXe~7%L4<hDck{9_e2aC@Xa$^aQQdVkHs4>{oK<1S6=^&{VCy z0Xa2LiaqnT*dq~hFvTA<mQrYfHT>Vq)?LP4V^8pV;b~&0Ut|K|xtv8h@FKE;NVgXI zIcir5c$G=y10ngl81E@^zDL$wT-I%NyWIxa;}feGY7B1%J^8KJKVhVA*YFNhkALV) z)jjM5s_rWxDCT3|rAoo4_H9MF6~%jB;U7}u3s85Da-NnJtL}b^H?bdp!)Ui%)D|&h z&#H=!q?h(#M3x3p#lFzGAv?J?y&)ThV)6#oOa{CR_VwZPM8x5UtjOAIsF%Y#AgHLd z5y!3Mo26fgXc@F6JrRf_rW4#IptS7$b6iKgG@O0BT;snI+X-CrsyzsS$(v9W4GC?( z&8z7iEgVuk8f-V0{uQ$K%m13}z42d@y$g9GDhesPrk(gdsN?v<Z`E=6k+XE%en|W? zLgKT~DUDIDMmi2JBalfHTOrs(fEA)m@V8vr??z-kHmYTtIZrjp>LYJC=Z(%AsgTQ1 zw2>7+Hpi=VZ@EA;qYA4qYL((xceJ`Ex420NB@bnG_AVjqfwP;eTsdAB&DU&d$&lww z6-xYLmc&zGlpAS@@^8z(tvcNt`@xbtjkP9_RWVLxlU}P<P~>_dVF~VbDw)(;G*oV3 zm!~N86eDn6gM}_i{$$y^)Rp~VhX=K5VeWT2nu}vAH?7;Wa;(_waH3W-;@PIH-KIWt zg7t5SioH19r=I?Z3%&}20p?fnn)kX(-$o%0yX{G&BxI^dkZZBmtHTp(M@3*d>Otia z<=?ys(}ypr6Hvl-COQvSDn~8#NzQ?#sfO4U>_GX0<@?zFLzhlnVR*N8H~1nKDatDr znoz`bjn!hC+0pWy<qvOr?|Y8j=V1A|T>q8Fj<HKcZndS=ikAFZYm2pq(G1#9-3ocE zUSSV<`;pXvh>F@u5Qjj(h9T)qebG$xbo(K^y2F`_C&R4PE<a||e62llja_NmVAs0G z9o(%tIvU-Y?J?O-yG&|GKm9?6TbR0#em{$Bwe>%KI;^@OsH*OE@O?VHql|1A|7+|g z$6*mR17oXubEa3kCz#A&@1ueda*57tGb5LysTIediZ}wA(q=N5PTV`Yo-dJx&nOfH zKNR}T^5?=XuM-<|v=hbZSWMti6zY|0<sW>%is0{mzKdRnMEOtn>6H1yunkqjh){_! z%Repuy?E6b{0UL9*$gd{saU4QH0t^oHeV2Cq#6nRsJYf`ZE1h`W!l;HYv^IU2c6DP zeNk0no`S@fpvq#6n2;DNmKH?u`4VS#)=6e~rUI*#a679&ts*p9`5Wb@s~o_BEKvSU z`IV~lSo?ZZfk_c-ir$DxWB=|gh!gHLVs?StvphqhK`KoaR@2!CTT$ykd{#xz-<6+> z$^6>G?wc+`u96_#UPZFzbCy5wWg|F#qg4Qz5a8%_Hcfs1o!oopZrRpYcShuaO8GgP z#}V5Ey)pz5tHnE66dknDn{w5+h%Fy6BK&5-7X%fV2Phii;tG?1MM%03kK>lOGwpF? zJ7?Ur-W4golgs|5P+Q}!fvm$b7sZRBp;{l@m8vF!lrvkOY%j<xijdqL=*f0FxMx+e zfY7@o99Wj^3AlB4C=m3ej<~=6SOw4DJ}}2Ln|##8vLUz75#V^jdcU+1Z$;Z5S-WOn zX@Yb_wU$r3yCXzWz@3EWc~&7y7H>gk7EK?j{3vGUURq8iqYyz6EjF}(jc#@!?`$X3 z<2?kOf47eJ4_=3tDd60JD>^$6hbc%Wf47b;!F4+fD2S=}n^S=>_KC`_HF_=&ul1y0 zX1o{8YD?bGrNhhdHdqF{E8eimHsSKTQMY}FE;lv#%gE;I-jTs&sWkRmzP>rY%inXg z=WXMlAa;`RuH(aae?dDjB&t{|;RR7ie9l>^P(`2>sD|ZKs0>v_{>0gt3K8yEVH5wK zkyKq2?|d_+)!lE$zD{+eo^K$4Wtwb6nbXtR?@Zx+5~jLyJ{*u20G=qxuMK#h-F0WX z!Vh}t6E^0KtX`J<Tnnn5vXvD#HS^Th8<wn!pq4Tf@aUSq&)hs&x3<Cki(d%N^&0>9 z3%Tx++R4r4m_x)`C{N`t!!B&Vx-)KYF7|b42b4ZUWZHtXG!*cGLM*XlXsiU>C(GH< zP|+?}+j_uyL?o7I-C$~V_snLSy*1-<N7d_(g0e_w0N^IyRIoekULu<;_koSw{SBeM zUf+}tZ-P}{tGoWF&){K4L${8y=p$=4H>O%H-kk4fO%OIh4dT5amKo~^ZJi1RzTXkQ zd~|TIW!0*LV2bLCc5cnzz04fnU$iH-Op->Eq~G#1n>e%E?89=fI17AXX3pJhW_9Oo zH(O(%pnC$p-GMlo{0JHYT9Gi8FteGcqPW#)R6YHN({HL#F#y+-w7X7w=^NM+61`0w z#?#`B(m-~RXD|Z&Km(jzP2Z})+%5ia1gee|_Jnp@Z!ZMj`i%&@55vVS;Qx*Hv$=E( ze!d~#r2U|JyaYl1+WBEEod5C%-nN9jZ@Y57MV)7v$nyUG_E$NGt8S1E<5v~v9}FkF ztoP%u>2}fu{PR~nTcl61arU=-l>Zb}h<)-N`FX{yEK#;8H!7b}ey?__cdIXHz1rQ{ zKj|&{J^JsAX5(_>6UHBGv$m56m^Rx#VE?tF%keJ9GmclC&CXk#CtMA#!>-3&e{k=0 zKjUflT<dwl^9S$M-sgSIz8idB^!>fx>2LGj<^O*I;lR$o=L6;7t-<evqM?JKXF{)r zw}rnLeksxxxjFLX8h_31nulx3wU^X>H5!a=ir$0I4`O;OAKMhWE_O2Zk9Fa?zPiim zK2-OOdZ~W6{+jxy;-2`{_zMl8hJ6j+G1r;TCPovx61OG3n0P*ECie?T0d78f=ktk6 zJp->x9+`ei=A3_sku_x!wJZ3|8i6^w`=<D<7>Oadk2ZcyM%vHwQd<77G{`ejr-EOv zke5mAtP8(P@K@4$eChhAJS`21Ygb7~9ZOTVM%P>MU4w59-#oqz_@*muIu~E@9G;;u zAf<!+r{dd!<3;={m@kUst@!T17x(C#O-ftPH_uPu+6w6+`MdbyI=(}AX7Pw;I`K@C z==W18rg)?poTu@v;SU1ltysfWv@?j@GhiSWVC<BN?3d`%3BF&D;%rK)$2}j;dw|kB zi!VIJ1JW|Ii}DVshpywkNzaLA4&(Vx<GBw>Fd<SmdrgY+m!%pU>08f!BJgk_;TO+s z!+ZXZ;rIj0c^8c-#<$?P4A%*NQ^3(m!2GXhUx@F1vE~m;1Hjo3*3pc6NFR%J57ITl z1K|_LPV|?QHK1h|^dHeCFCC+LIpPui>VhU+sH_1m{4Zrva1C)m_22aphbH<mNf$qc zqa@vJ9odUgCl$RD>sbHZElL0Em0tNx<y4y5y<#W4GSjS=&4oTd{i^h)DM^2F2_=mv z`y@%Gn2$!mHN5jfm2Y%Zq<_P)ANLhx)0e_S*d|>nT`%1vJt%!vDoGDXkFrkQ%m0>t zlfM9I{*e4J`F{BU`9b+p@~7p`nL)GGtY28b7$%-wCS5Gez3thj@$B>bC-Mi+diF2n z&zb?V#;jXdSop_<mll4u@Z!QhEc|5QiG_z2zPRxDh0iRsms?JM;`IHe-+%h<Q$IZQ zy;I*k^_^4Co%*{|-#+!N7q`E7>5CVO6=353&Oa2;nk8w=^okkNoP1PrZ<s7;n=YI# zb;n9gGqbzRV_T+6JU#cA0i5sHk=h<hBuexXP@}1_<Cu4JcBHMuawT(icUy_)Qi)We ztt98nohRgANE#U}1xC%;*^zl3937cY%cCVey7{PCa;DH2o!ePbrj8y*N(jT061(aW zboID9#762&G*ctT11x}hsgg7`y=&%pm{HHRl9DUQt)<ZDG|g8EkB(M4#LS&$>2Ib= zO6J1jP0TgAV#kV-wqiO_lG8IAw@ssS?AWwfnwr9;<ufs})JLtpnHh85>J5mRaH(=; zmOAKu2lf1$sc93~I5uaN>{HXTxMI>hJGF|`D$d4cXJ%$%z*fmQx}zj*oGwX|)H#9k z*kmbAt@z~Jqh4tT^>|d3w$IG$oSP}J)|r{g3TDimSWjwXrmdvr%oS!yNzY+T`smbj zNl%TGjMNAyfJbKAN}517Fk$YT*SC+Dbd#1Fv%sgnB|f`iM@el-;O3}#%shs<<~!6h zFtlNMb}BZvab`L-lbA6}%QsEqUX1Wk0i~^^=SsHGR{AL~fpr6?sgV@eB{ecv;@fwZ z*bV?v(p%a}wwy`Oy0I)p+Kw)OclqoLb(tL#(AsmyZEk6F#YjtHk#QWka~a8Ljlx<1 z!YGzLYpyt!nj@kLWJ@t3NXd)=$SRZ|ZE9}Jn!@!CkCz(p6dqn&+Sw1eiT_h0CtOZR zUI7xtQi+)sFtH~$&-sed&bhI+k~fDXm}bc{x|&vo1}IeW(%D9wc?G?E7|1J-Vgd&{ z0C>qaI%^)AHA_CAt*zwGO>Ul^S9XrgG?rYuQb*fLf!ySV>B&vj#aIH@1LArxH!t}| zw@lCb{i7u|H&XJolE{IzM&>>A$BRED76vWk^wjh`$sy1+atsv4wBD9P3XfIW;0L-- zk3f>??hIBk0r)3y^;}}T0}1CPDUbq^M@!PsafF|OA3`|^KjF4w^K{9d8ZlRt++aT! z1bcSGoPDIGhQZ|yNFyU7gn=OLvAOx6(OSBzHI@W>hq1;`Yg;Ljn`d;a0lw*2o12&E z7|qQqbd2TZRXWz?<~2Ij=jL@f#&h!q9UF4<HafQEfDH@(C2ba%PMP@<yO^Y<t&}_K zW_a=D)z;0nvu<V<ZyvO6nmMWDX?@3aVo@iprP4ajUS9(1GXYl;>!V`|>!V{M)<?%Q z)<?$-)<?%I)<?%CtdEY(SRWl*us%BGbLM~$r1qRSTdJ8gq4d}+@x&aCr9AO$N3PV~ zT55+pc0v>;z_I5Q$kbe4iWK`F?E!XdD|J;#Jnz<45XY4|Tjo_3S}_f!NK`DGg`Rin z)15PW1mry!%^GLL+tmcL&v~Jx>r(h3VcW)rQhoE?EJSN90v}kwd7qhuu*~(fm3nje z$Us}E??37a#@>PMOF$wioHq031gQj|cGa<C6R8QPplKLBXkA#OKE^^pV7MQ;D_n}8 zn*w#37TxBZ(n!fM+PdplK4qE%$1vv7bGw;&YrK+{8maa+OS7a?mT#Cop_r-}JE3IM z=*$RdT04|B<_83+@!66FYM(2vkSx|}StVt3c4w-j!l**oDWh{Sv}b3aAKv=R96*Eq zPmRy@#Zs7I9P7kE%!2XGGYJ48m8?ODfEX$m4i@AskYL0)vQ`9yjK394dS)&#%Rm(u zCLmBV6<nkSfTqF4TO~V`iD{0fCTLQk;!yRTSd4|~lC*g`Zw|nq6ZG7=h(Q-gQPR>l zTZLPTzKcb~w{zZXszNPj{<hMx>TCl06>`mzgY(uUS4q4a`Xf(R94|#ir>A1Dsph~; ze!hbRA-BWl+}#+PI_K`lId`kio;}`MpBT-R`diQLP<^O6;aIM;wDlO+k9h1DB>kOW z13~kp4uH5qEScCiV_|*{4%&#dbYkZeBrOlgvlcX-o43Q(5cdnt|F5z1#Q7NPzr)3Z zZ_;A}slHg^EPhGMRN$O|0`70EVr3=HmbNB{W`vi@Y8Fwj3MdF!Vh`^G5+2BxijeZv z?{Iw*!=bRf)QdiAa-}6WtR*b20J_a_7~v|m*5!zyOKXAV^||AcG>*m;8jKnna>tpt zvJnk&WfS$8z^%>HhZ<X`4>c~JKGfKnI{|Gtiq<q*u<dBg<W3-rq1J_HS=Y8vKStLs zqJE-vG4&IzOQ@e{T}pGVK(|?%lNxh0CpEUyoYdGseO98ello9&7xkgWZt6pg%LH6w zXzdYjQERV&i&~cpxTtl7fQwpJ3b?4XPrya3{Q@p(T?HHuEE4d5I4dp3jjOHZFq#Jm z>C~+>g0n-gwP;eG!&Z~}91(r!2KBiH4-YPmdaXDUPaL(H^u%>mle%AzaR#j+Z?Kxw z;YO=T9o~h$LyP0xB+kTmH(O2W{%)&D-EYB@L)Lh=T21Qk9;-<mZbRQ?i{rgloQd&n zx0=-beO8mY-+?EWS>xSlHL1fft4SU1${lwI&$gt+jw@VVfuIStY-XgjWb7)*jZ;Uf z2E9!}0Qk&CxRdN2*g7lZJ1{TlBPW^=1GG@<WX$j&Q*X7?cp+W1Z6i<U2%FK#fjf?o zC#2>0(Ai@YWsl7_vO6{)Ah=_i&UcQ@H_`c{hGbok#%5ykS-SMN@otGJ%kS8+S@gsW z`ggJ(zsJShEswH=_m-6R!$^;vP<Lw5*qHDN-sw*bvU2!fH%r2=5KH{qctaCM>7)2u zh};0O0sLW9Ye=YZrTbsS{jahY7T#DWh<-G#O*%*!0tF=i(*MBMYBTH-{*OwVBQXA( zN?XQG$}^R=A~i8@rL9UMtgq76&bsd6``PuC>u#wV*|JgTD(Qf99cJAtU54NMJ&bHZ zle9x>#<2_UJ9XeU!`eiv6Kzu(!*7}%5`FjMY!iC!#g+Xy?!wNhDXkLiJbv}{KN=Z1 zqs5W?@Z=<BpTpCpG>p;aq@5UXA0V4Vdo$Y8$c}6hJr3cxOF+C^8Ug%QqVG74`vE;2 z4`L;|FisctSP5pzvHbB-+7`$8&-S}OKtPzFc}=`;k;iu_T8Hu34LFbBcoo*PSHMMB zy+-uvL(c;6`yb)wT+9=0|FgKKxdx<b#U~FO&H<7=(&acF#oQKth5*6;IU1ci;}sQ3 z&YeTYvuDm>?rVV=g3H8SAn_DY^cwu#i7QoVn$kKzy$@IaBMK77*}*4-??dN|un8;P zjhU{+NC(A8R*x&ulel)jn44xjf;Ms8L9_`nnspO6dJT^2AtluJY}nSEGXhcQ{9Hk> zoq_D!c}+ld4ZeH9#dFej{H0mX;AT$DIE?)>>UkKvYzJh-V+YV~$LA1MLDG8w*A9Wc z#FJMp(zzXwk7EV@ooAq;NF_mEy$7;%zJE91B7ROC8bv|&R73TL0S#uydjd}ULYrIi zpuWl{`4N@}QF(~66zIoVWIJPcle8W>%|wMz3Ki>V)M94Awas{&y%l<-4e+-^b~`a| z0eYebH4?p2A9PVaWNZNW&LQagVMy&5-i02=TOlh!r`3@1HPTw}%zEszZUA3x0^YZP zDqEpFW}t(&p+X0FQsi{+k=}zHl)smL$Ykkx>1Rxlek}b&`l<9I=^q%qrK970Li|z# z%3Gbx#oWw;Uzk53JuE$fyzEK+$o{<@9m5^s*j4DYj-yM|iMf6I=EPZHNw>Or&#uFB x+M2n2+jq|K>AievuexdPW$3Wwz@fcYUbSDI+Ot=lI<(h%V0a1Pk|Cq(`QM)rcFX_( literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.woff b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..8d47c02d9408d34b2a9d566c0fe0d42bf82fb735 GIT binary patch literal 14408 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cfaa3bda59246b49e94298478d6de3b3208066c8 GIT binary patch literal 12216 zcmV;pFGtXKPew8T0RR91057-z4gdfE0AMHp054wv0RR9100000000000000000000 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 G>;nKVNojrn literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.ttf b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d5850df98ec19de2eee9ff922ef59586efe471d0 GIT binary patch literal 22364 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.woff b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..7e02df963621a5e26d53d510f0b4992eebde1c60 GIT binary patch literal 14112 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 ZM6wWJ<I(}?-tpJ|Bm@Wm^!*J$_&+7*r^x^S literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..349c06dc609f896392fd5bc8b364d3bc3efc9330 GIT binary patch literal 12028 zcmV<YE(6hbPew8T0RR91051Fh4gdfE09Vie04}5e0RR9100000000000000000000 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 aFC_WKl&sooIA2}*^<C=LGg3Tbu?qlSkMcDD literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..537279f6bd2184ed32f1a5168850609147d58ee6 GIT binary patch literal 19436 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..31b84829b42edae20d0148eeec0d922dad2108c4 GIT binary patch literal 12316 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 DqysK0 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a90eea85f6f7bded69ff5d40114447a6d8b48cfe GIT binary patch literal 10344 zcmV-uD3{lFPew8T0RR9104Qhx4gdfE08C&204NXu0RR9100000000000000000000 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 GG{*pT{>~Tx literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fd679bf374af72f2a183b97b40c9c7e9e51fbe5e GIT binary patch literal 16648 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..0e7da821eee0dd05a0a6f0b16c2c1345dc573a84 GIT binary patch literal 10588 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b3048fc115681ee6c1bc86b0aa158cfbbf59daa3 GIT binary patch literal 9644 zcmV;dB~#jWPew8T0RR91041yd4gdfE06`=G03}%f0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..871fd7d19d8658f64d8696ed9cdfc82c821ed76d GIT binary patch literal 12228 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..7f292d91184f257054ef77cc1cd3443db757c9cc GIT binary patch literal 6496 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5 GIT binary patch literal 5468 zcmV-i6{G5RPew8T0RR9102N#S4gdfE059|a02KrP0RR9100000000000000000000 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 S<RjG9al%SJ@d7lsRsaAXDTTNI literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7a212caf91c0007e826fee2d622bf48acbd30dde GIT binary patch literal 11508 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 a^|k5z`r34UeQg~YeP3G~_EX$#+W!Ytlnjvo literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d241d9be2d317f7b39b401d96c8b18836acea0fa GIT binary patch literal 6188 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e1bccfe2403a4ed770c1697ae7c15b9e1cd9bc4e GIT binary patch literal 5208 zcmV-e6sPNVPew8T0RR9102EjN4gdfE04)>%02BcL0RR9100000000000000000000 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 SX7z~8F|1R2%jjc5VHE(*y!0&q literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size3-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..00bff3495fa9d2f98c1c9ce436add6a1bcfe87fb GIT binary patch literal 7588 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 CPy?p` literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size3-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..e6e9b658dcf1cd031ac82b6b8f312444c55d4fc0 GIT binary patch literal 4420 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..74f08921f00f71f413ca42c9d1c90202e672ef38 GIT binary patch literal 10364 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..e1ec5457664f438ce5a1cc6dd8409bf60ca7804b GIT binary patch literal 5980 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..680c13085076a2f6c5a7e695935ec3f21cddb65f GIT binary patch literal 4928 zcmV-G6Tj?tPew8T0RR91024p}4gdfE04S^g021l|0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.ttf b/src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c83252c5714c71a3e0ec62195884167339a0129b GIT binary patch literal 27556 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 MzaRX}iWL5T03x1QQ2+n{ literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.woff b/src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..2432419f28936aff53ddfa2a732d027e6a6648fd GIT binary patch literal 16028 zcmY*<V|XS_(C!o4wr$(CZQI^>W81cE+qS*2ooqJA$@`t}$2ry4J>7Rrb@xp5kLj8& z4+U{?01)6u__G1<|J63d|Cj&Q{{KZmg@G9WV3GaNs{FuEOeSW)#Lmd^N0<M@Gk>uC zTO6m;#NCw;0N{!L;oLva1~$d;Gk3JG0{~cg0RZrB0017=nEunp!pP;PFMsln4dnj< z(Zbft8~^|k1ppX^001Q)?SV2@OEV)=0DzhC$A<ks7;y@>TK*`1=B54N1V11JqXfdT zv~%_Rv9tW)gFj=yqUs|6Y#mH~?3gHjIQW0yxF<QZGxGeIm+8Mb3I78S8+@U?k)7Gk zGf)566aoOC<z{<9f{qR@t^fevk1Y`C4~lDvAf+9h&3-ud+fTprA2gZ`0*88T?)ZQO z;EtuZ_g&Ohnui)~=V*lv9HZ4*f~CSDH60Ga-V<yYotQx5g}O8harN#CrJtu~46R<& zT@<AJG2z$2cGFmM?R&lGsq6jq{0o$H8C2*^4HdFb5Uk*4Imdd3YR&IXxF+=Xl)rvZ zTN8gCBIx?>8&p{$vhmv&I<$h#_ASemq4~1pc;yo9=Rw9hsSZ^ucI`aM(n4PH;fzKo zE3$_WRb~Ux3~iu?mRtYj<cjCB(YzvEX0>sOC9pug1EO_=y{H>xU88h9A`HuaQ2Iq` zCLCr6`B$SW(k0qf276D6_OuESlvBMFQ^W-heJ8jze=}SSvw3oh8)cKm<}%l^A5RgO z;J#6FFm4d>&FB30YjISr-mga^*K0X+YRrpt&3?7$JpZbi`Kl93Pyp`pR<8@mS<)UB zD>@Ds#&Ai7(WZwWFWhEa5$|$(#!@j%=NS2X4+=#@bJGN|Feb)IIJc5gPGByOR4<xE zSn0n@NSTcnt<(j!@ByYIE(|6VDlH4BG~OPl<p3XZA^pv3<M_50hnNz{9DW!D6o_9+ zIf+nbG`Cd4b9W*_O5xkIB`1uDBwJh@jcBV!QZ4gWeceY=Al6gkYoOcmU~+4p<&1Bz z^A7YNJHPjJIRfOP&1`s+)3v8a&ukZ2R0&fjYCbkadc`_PuUr-T*)w2>GIGwO$%SR? z<a7_}jlwFq0|wL&b+t&mWU^+@e!zmcg3&~JmKNxF-E%#2otoM?z9_##-@63=q`I8m zdSY7kl6*lhq`TadR||=NdeR>v!YZRx__@ryQt(sk&5=7T#wQG&&GjJ|^QuDjsxl5c zp1#64eS(nGn`18v;W}ULU<nduA#j3(F5mFbHnW|uYNXkN*li4_B++I)iRzPNB-806 zIu)f}vG-wVdTn>er-zU=nC*akV6$+q-ec>ZCKE~~=2+}rty}YRSL|+WG7X;Z)->M8 zdORJGJHNd^ATm1kKi5YO>=o$_Q78`NCixC-(9CrB&@h+AT$oS=sepK^hQ3xTfMB@l zo-qWDKRLBSEqsJCIVKjhBHvLQ?*b?xDv>l0EGtWo0T8OXhup3Dh~*zYtO$K8<>S1L zsWK205-49p?|%RTeWII3i&tty)ff5e)dYhL9%Er?EG6ZA$Y}#+jb3p7(R#BwN7?q2 z_o<O24uW(MVh-VIxizW5a2}wg@beYZ%m*1K*ZU}40dq8anA%@0*b<nx<9#SNh1%3< z#vk|LXf!Lx=UPp^<`vhW8_HCaTYqU|oC~1|i8iurkk-g1lJ#U%yvmEuMS4SY-0w(5 zsu<MLWZ4u$nT?-(rIbXmK+Y$VVJoDO#R?OYdxXLH8y?%OZ)(^qV9YEm;}*C@T>zjw zx$<J%5+nB*GZ&MVqqALKfz8|VEhp2WOgt)XQ&_%h1z;fLDa)!N8CZ$z_&IrU(g$aa zBZm330e6sp4oHWpk_C4wNDM8v+tAwt8EiAj%){d_lsi-CY3H;nGvT03h!s(Z%GCQe zC*Lkgs)4a$xXxRhP}Xw{<_=$Xrg>nlX4&g`O!{;$#Eda+4~fpP8KDn$&}5hsCFJp| zri<AoDhVgNtb!YlFsjYbjr@<(?EP1Qnnd`;wIa$lD-7<EB;5D9#L(84?2Qz<hI3O* z6kJFRi)QnN*v?~k2`0q<ZIip4^1zl@M`)jnM?7!r<l?nQ-e<#N5r`m6WoC*f_v61r zdb`hE*q2X?`8P89eVxhu<KhW6xvP>yzcHP&g4x!`ZLYXQ5!hc}IQ;c&o=O>Zkuy=v z9WqI_I)LyQ@UD)~hEpS+Gy_#KOS{~{b~^>XVfXfGQ!P@oXsMoAQ-?+j3a~U*SB}W3 zFK%M2qM)lM)=7BYXdGt{PsP(;k>MrL--DUR&6t^tEr=i{&FD?Qu`Gw8GN$gl6-S;3 zC5+5G7~iNqeqVEkSF<b}yS8<vQ47Y|k4vEVlaZp!|1yMUcmj_&=Qo3C^xN-lp!^aP z9G6?PFdUZ~RD8eviZsEHqOC+Z41r`b|LpES^`b0ZHwnpmRHu#?Y!;dUCGiRi+<cDG z8N@wWq0?#WzKNZ3<igRuxnWf`JXL5MwCK#lr9HilUf!PTB+_a|3CIR2`*?9K2rMrs z3v}{EmYZpTo|!A^QHwKa%I+T~DR!iG)aT77a6fmFu!*nPZrct@Ak^KLbSI<w3`Xdh zGf9eYFY|O?L%(9yoDKd*=pY~EFI-rDvk%At{mM}D0K+4`Mt4$1GOQwxbRok?=3bwE zXwE&%t_Qa_KG(2)maM5;c?fRD-l3Q+5MO+kZAK&_A&h=4(E8Q~9dQa3Q@_Juy|4*P zD}@|QZzb=K`SstwPupr&<v@1gf$aV+EAYO-;~WMx2~=A$aJm}J8O{6uIr}=z@Ijqr z`4s4XQ%|u<V)oi*>f$)UB5m~@|Kr#hT)K|u&3>%>V7x|J>L5*nHWRNam7*he7>bh@ zqq}GuNEtJTqc#L<8(bX}7>qbLd+ZR-nzV=->UsNZMmlP;f(YmxR`gHc^AC5=-SgtL zP}$*()<Uwmo&z2M!rN~(443a{$W0!<sYXy6dHw))8@HL|^SMvtDN+m$@3=P>5n7}u zDw*eM?a2|*#`dF3v%PkSd0w$~>PWGX%^Aq=s1=?WL}Z6#*TYH5bJsa~fA}{`b=4jL zo8<9(M!9e1Pfy@PmRje-X#POi`4{dA-_;Di-rRoB8eW&OTN8LU(Wp}G$Wl?Y>k@T> z(qSML!TIARX2uE-7Q*gZ@CRBlT+nZ3*QEv`voThDIunHf^M-Q<&Wsdy^z=%vw-Mn= zCJK;!-;m!o_IdFro~E(wP+nvA*Dl-<n0ZQ{1$z3%zo0-0wG4=e6PIzD<QBjHjwys= zJ}fkVe{7vP>1dnN92wBSr-OJ)W3h^{dQCgdCTn$TUA2ouU3?g&YGEShc`P3&A*$lJ zAG$as`F(U)+|VmXQS#CE=We#f#e=m`2MB0+I=m1K?`X8S0ONgA>7XV}5No?`>13To zPvK$PZ05;5k*fO$Zbt!QrzbLYgxV%2t?4_?+GpAs*s19q6QF0X<;s=L;%ucSZSQ`1 z$!Lcj#+QsYgRCwucg?mniSnCH%_Km02pP}#pU`X#ATi7czyV7x{KcDa%d#%WvlWFt zW6kLxAp;3cTAO`d-fm@h6ScT%iv9=o#4rF;ig=)LxcL_iJni=(d(u^xD>YBjRB$ah zkq&hFGeuXfI)*#bB?H^2iRoDoibmPx2d}W@{6Y}~j@}6dh(v@UI4%>%MW?|rpN<DZ ztp#!?t7v27u|iE3w585Vm%DdyZIP^BW6mVc)4%f`0Zjo)a^@yzm&fv}-~q->{@!_M z)BbY9C`nKo2yGF~M2Q4$<-L<o6`FUcq=5I()9hdG7AIw+rP|=mMF-}+*x>AO1nlyC zK{qI)8=PWzPgjc(%xzx&`R&Xjf%HDV;m5~DB`>~^-s4cY&SkL0!&5WhUU`TI-3Pqc zfGStX$^G9~*tA^Gu#E5&WTgXZrc|3$tK#1}`p7zA!DiVhGI0B1ZVa7SL-3;Q=-Vz- zCaN~b&qJLVQe{%~r$?vcUYNGalQG#tT2eKmiqd1mVHaT#a4{1-^0aaUiE%E@)xhHK z`*8>u5zDtO!;_?aU7_8pbGCZEf}hJ~Z^t$_pZ)=rz!GdZqc@vGp={9sg5$f~g4+|i zkJcOToQI7~v&M!{lpI<(m&?_}ty^LUw%AK}hFEw?g&i;+Gb?J>WFfcG*QOQ7;7-^O zj}S5Z>sj;l2s+SnH;FweG^28-?v6ozwq4tAx}~Ke#9hyW2OXc|T%3GqRQQ$VjY`BK z%?H|6aXK`ys>&azX3H>(CR=n^@$iSX%z9h$NljB5J1`KtD8X}@dCgc`cyWy#iY?8u zkMaS9T3qP}|CF>UPNw^nTkkrUa<dMQ*f}J4w+ttDbOrtW-0>Z1Z$4oZE@U@TV#fY9 zaUkOxRUd`E<(j$AjrZQ<?)KwvbMsAdwflGRW!I>mR$0xksx_S{THO`DTEo0wEItLg zuQV%DyG52lGLax{-f^*Fx!}P#@vlG~6r{_;J!gQ768X@xhRd?=5?f`0O4QS46~wal zf|~qgn!*@ikk*z*>7$hHHM=-F^;bI8RtrWLBp8Z=Y20V2kqsHvcGFTIyC|i7Bcayv z6ryi&GN8_qlO%X|q=uN2WTG#o6euW8gx2&^-XV4PJy8XPD<`8ne{euw2Umi5OeP(R z6Bue}dIXbcF`3*imsl%<<3QAWeacFnYrcVxp*?rDh#{6R(K!hF0QE#_By0JgWwv-7 z*WXWPm1g{^j-3OQsAn!T-W8fNl)~fC-o~b_))Ryeyb&v`GO!?$`diV{%0jeBWy1nZ zh4ylJe87O-E`xS<7S+toM{44fHY2m6(cf8(y*?(4WC`-2BSvOII6L|<gECZgFLck$ zncd{yP6H!}6Bh@>yrFa4x)APPr|~E6Cqd704kWi<_3$VRzlfO%_d{eznx1<~e?3}{ zvRN^^{FxYYpAxdsR0vD7V13a{h{$_WZg0vSt)wb@IBrgkXIAunQ;HdRN`Xifhi8o< zfgn)!z4BX|z{ztcNQ^9ZID^vzy|$CE*H=j}y~4z^_$H3ANkIa9h2Hm=8Rb~D*vJGC zp2X;RFnHY8%+yzFmy!}bYxhL?`xYD8j$QxhT?gZc_DQH2F){npPCADokm9a&y%P)% zKha9|<0v5{o>_u~hR09Vr8pPz)*q(N80saRZ9Av|oCmwMB}>+A8EK2NT1a6Z3u=s? z!axG8kkZhQaN%u2;)6)FdO{B-a^QQzBL2e#%k-KUk`;MAz;LnkNRRCsYws_vC%iIQ z@3m`T$Admp+a5WeVf{xNZQjW^htwy-U7>kETe?!Pg&+1WedP{)RsH%dgD?`f(6|`$ zZZYk$nbm@;g{h`jqNP>ATB_4zYZ97HP8EGY7U_1QL#9C+Jbc4BZ?9iMtXjHt$}2ED zc|x~=we!UI`NW-_t+$-;Pmu?(^2NyZ@@QNPt>GJHeeMOUL<&;qvwwem??7Sl1La5w z|KKC7)E-<Hqro)^PtY^{Bogq%R^Im$N^7^W2Gb)mOEOZTtpF8`e(z59b`x(CcgI;6 zlt!n)$9@n(pNs^WFq+2mUBi)P8T86x%JGDrLYIY|-&V4X=D}aP={Z}VeS{56(_o|% z3lTA%lUUjC-uo`EZhos5?1qpWZj^51&E-d5jaCuQ6PD!bC7Uku)=H1+xun0cMIFr$ zmh=TqTUHUcV1la`5oz6TCuArC!wVSY^$VbnMD|2+Qul7I{N|TiRCjOJD1tBhLc#1= zww7J%?3TA|uRA?WFNU9gwLOVoE@aJ2$^RCU5C^kGXvG%p`9)?qMud9PO{(;c#*QO8 z99AXp5iLk2ONtH)P04}<9hMp6kz`=MFLqsxqit+V9io#p3UIT}!i(*`5ZfYh+291* z5Y!oplpf_V;k`PZd^oHyg|*+N)hW~csWhV@X^NP$SHFHG=oW8*SW^{7Jv!1Y5v5M? z<W2EA*G}=vkW3xu{<7Aio-X<hJq38l=cjp`E!D2q*{uC_b7N_B*U&U8rJsWfZBWmd z0JX2P*YlPxzC0MAYvmP?6I720Y@3o~U20<1-|XYO3_Ge|%wj_w@pQ5D=4J~TA6LEQ z(K1M{+jDLE9ZEKJ0~R2=V{DJ#oVMqBw;|QSuLjyLE><SK*tS4YS`CFLF=S#JEzj7K zuAm<$n$tdBa8o=0VGU5s+RPC$&hPdjLWkYtVl)za`Q4v{N3iD^921Ml;S;bUcA)rN z>Zh_z+?e_%vwZtvL?;V1m%t54M)8Px57Y!{<9W)n;X#($eZ^tNs)f?9?)lRD+z|Jy z{nmbC{?|YJTwt)t+xN3>1s}rCK%#cSO2lpA;o^eX3FI8EP9icK=vg~Gc-VE(nbv?? z0tiVoTzZi?DYT`XJ0=6;bm(e=Eq5>9iQcjvR5S;o(Sq+wxo5<<=<j6#>4iIDY0L+z zG%lAcz+Jwk8gE6B9NJmg$&@UpKwadW3_4g7TclK>x4}%7PBspSCu2rD(khmkrS2P) z(Mz|t)cgVWP-|r!c@2m7D&n}Vur}v!qcZl1l81Qh@GesfBwQyF6E+tv2j7KgeJ?}3 z*;-gp8)vD^s=L#{2H;kgCJxV$?<#nX8Fh$;&P>}1zIlLLc4jiaY<;5VBWypntKpob z$eoSnm#f?N6d*ozoYJ-$L`JvM#l6PW{~ukcK_b?tLg&jY;K^AlC$I-ynySgGdxZrO zRGx+6E-80h1^D=&?tyI^an)r0-?ARe5vYn%u{2QzEv2d`YK~ap_Mr$rySyhyH41zJ zK(f$Ts1%i7dIM-R!}f{+Io+0nX=7B9VGK9vR{l=3Maa4f$5eir?E|KSU8Mk9Wf}e< zp0K?&NCn1@pe@yxSWO)0L^ztwu0%?gr@4CGy~J*d%n!DiQ}&502Nr|Mwl{#-6ih49 zHHZJvtQS=IuZ8<1HQ96p2#g);#!7RvqR)$WUV(`RpN<r1vc(>oxWJ=#R^5O^#w<Th zoP+x#vE40!P_F!Le+=>Iy-=9H`;*wp1vw=4Z2|b@`5Www2wDljs%R)Lw0PtD1*U~3 zgceyvcCw=7Tl_480RJ%Is>$A{O)1;k{xf0_?kW<+C!M3a`j+O!5DfCky7rgL89cg< zNwf{>kUo5ie%G(_Sel^gTp{ja?G9F-h3ys^Hnx=Y=WM+Qs`5*dqDvG|E7lx2QfxM{ zA<P<#7RLvMZ)@iHXTyiOFXq#8%ZGaZuYw8PP|1vhiLe_Qc}Plg+`geJJ~CQnEp52I zG4I+&&mMJ~m2}S*{aMCV7lud^a@A|+xdk8<NHZ=yOt+@3QKKGxu}!+I@mafwaPEVx z%_37TE31s?RwKqDaxRX-Eo>cJm#G=(Zsk8hFam6?#mx5L`Sc^L-h{1sQtLxavStKK zUQ7@ey*xPn@<ilLbD0eaqDCzXGK;}Pc}W_G9Hf_eh2$3-82rYz1*m3?Ej1A({fzUf zYx99xGsk|t)&;`yzXey~%P%3N?2|hLm}lN7Io<<G2_w<b0X8NTNnP&$j!k)iBi87n zd7`2m!a$Z21%r|1#$I|;N}i{s^_GZTe5WP@m#y`p)<#}Z>WJ9Hx0YnPvSO#b&;CN5 z(JbzTnTPFszlSO!G<IsWS<7;=&$a9O*B?G@vZ37BDagsyWw4sMpczV*GqG=I0tc&! zL)x+G@SPJP&RFqst!DY+JPg0R1!rd{T7Le`&@{k$Wl=fKmH=XuKIuLNBfBPTAdet^ zE^FPT=Gb}&hwj^kLH<MZMkd&fsky62H`~?ZbuVL!=gBe@l0rHLR%+8d9~;(Skz5`X z!i4;Uf%J*jH+!R72TsCRvM&5dyA*XcHHKV7(n`dqlWAb!AV-j~KpPZKDh6rPK~BT! zRJf_0P~*8epy%uz=4p)MHp?JMC=*E^#*7@1C_6rh!{F5c!zCxo#ps~l+mOJph%ChK z$48!6sJL<mulCTG3MnV&hPS}e>$XM(MvW{?uSAAGfM3Cgs`Lh%f(-bIeIMqP7)D*{ zMk{jf=+nV3YyMV(zJBU>XhJhN%?WpRNg&J$4&InNvpsalI)BK)bN{y$s<E(Psyd0o zIx9<G$GNzI>s7RIJggZ&la_J1DLdJMuMhyFQ?PR_Zhv7jLDGj`9}mmp6}nE<m9viI z(<NavUaQ_)f2t47RNsGJ^ba@&xnEWwg$yh)Cy^|?&UjL|oaeLe7^(Bu?Ak4_FoBm0 zgkdKJzFf?XO+<+n|NC_6)gc1kBs~uKfDfAcvCbV`=@fhElxgN%7k?5<7_t7=f^{qA zujZ+en`#pGa9=IaPc3!Sjg`PmgH~b~Ecjdupkc2Gws<t{#&_vRD&gU~?G-gqx$fU` zk?I<}bA*(^pO?0n^UkIRFZ#DON7PZt4gQX=GbS_-uGCBpDzs8%I2!EqCMYDs{DPqQ zou*D?WKoY{G<%WnLv-0ADE#ClyH6A6>5`KERe>@(<e#)QT(Q&*+hdslI)wZ8D9s;$ zp_u`N%)6)LqeKft4vI7u<_1MXLp}5qXhAU~Gdu{O#_(*asSd%-!SVVeXxKSJWN-A< zHCJ0NV#C$n#5Bg+F-&2N?N0BHa+QEVa6E5UP4JF~RwiphP-r_p{PdWN+-eh3DV{x# zE&d%nzK%IaV3WNGHH{zs;VwN5oI&r+H%W^KU2kQ6#I0Hd;t)O7@FxscXfwyn%)mkV zlh>HyGg&1It87xk(TJi+!p3J2rYM9w#GD42Gx}z4Zj6JbOiqO*Nm_{MwGL%XPNHRF zg-&T4z61nf5EtgxoXbw5sICfAXVSrt2hL$ln|nVCzV(ToT&wa->u{sVc*APjE;Zj1 z>%J-S0`8uvfTr0u9;jgJZMtZ92kNk2w@3b`A=Id9J2|?H5U;>;`|lX%5|lu`*72%T zb~&QkGp33=N}GIlNQf7jWK`6MD{-67Lu^`TgPJOMGY&p%{jvOA*2ga`_8yO;2GYRF zPffze0~!@wKm4#|SIzX<UjGw0-xJV5*rhX%4Dl-2qHXe+VD}G#p`q;Mjl<Hc37@O8 zE?F?3Xrs?I_8{U>{YF)MgxxS!QNX|`M*Y`XmJ3n8@aib0UqZV^5J_QS^~BZUDEpzj z>=QE~&sx1u`jvqp8cAQ=F3K9^xUPF@u$wLYV*X)m7v6gsyV!ca$Ii-DgUdt#jy<R7 z_Fes-Av?z|Q>pSky0n7B<6Gm{eEqJiI+8Ps%8>FlI0{u7m|Q$d)EDAESqan*-4KX> z`Fj`q-vM2DNZ{zdAWmH7D3dxyZqOfm17fGw=)Q=<=IN9ag!81XrPsNpJ!Tg8h-XZx zl&_|W=-URc-q<{8aQcAz3_M!U#JQHI_+8+~`jb_?xss;}Wj(gk5LCsK<ls(D_UY$k z{m6SkbHo@)A*c~`TJU6{{yf$TQ@XEn33YK_o)d)4>AfEb*@=0|*^SKPEJ7pVheSC- z_ehOD=)&JZHT3)?TC(UBimB^2l;JY6Iv<Rcl}>b<I$NPgIcTZiT~!}bxEZ&Eq*b|2 zr9=ZGoz{J4Up(j;^vN#TYt<yB+)db%J?AX9om|tX+)>U!8=l$OA~_+0Q%dp&_p>m& zi)O_5<B*w#;gDdI{HOd-S_FlpRZ>Wgzx{LlE%y_}1U;9Qh76oN(emr}zpM9rwT$gj zMzcqw)w!U~)t?0j6jJYLjy9D^4usulRJA|RlNz2tf<|0?atRwYTAGMSW(jstkGSUf z2Zpo6WE6Y8oc#nk%+j@@&l)N3)vwjz_gUmQE|ql)HAb6y2{g2YV~iWiZ9ar0R^K=d zqF{Aft1uTLo8faZzB&88_?v2D$s{Jol(?9g*a-@AURNC)-?dDkDNNx?L4$cQwc%pf zfqs`cyA(lzHO?__eU$VIwp$_HoTTREasHlg%;r*`&#_7S!s6m0>(Nt@|7GxGn+{p* zW*c2#zw4B`IAy%rfvc_L2ASrLR3V3Wj?=~Rk{wR)^|x*M92h3R3IbgnfrA!I$>33e z@#8o{VSL&zW!>+2p)jITjnDSijxBfD?%tZE`@3Ejjb_(|4E4!vuUSdy6KvUJl~H>m zb%(T#P0RYG`_b&*SRy5G3oQ>;-lk_6i98KLhKr1u4MB0{B0?_Zv-F&9-`7F9t_TYL zmXk<A0%Yzlm^|ZD93*Sm)rke&ZfCn!c0JEf(!-&3u+14VvTCwQ*OKBrRW;`&E$GUx zNdlxA6PYMK*!o&@+`O$<#mQ}U4ZkX8URmU(m1OW+FxN{uRS#L{i>HU|P%)*KWkcJS z(Cd<g6dvZ;tkE*m@=|GA+bQ7wu7#w-zu8h`;^~}FgA#QDjVto|!;c#)RNaSaUcF9= z(L51u)@IDEje%KW)=R<HI$pIFmoFn=xyxH`WGYS*gT`HAx}Ft96CIU2{1oKfl;gpz z!DGd`?6n!&Z%gutahUW9z~Y6p;leM{*z`kl%%vR$oKx<8xsHx|vz^;}D{-4ylN6J| zP&<4Tqx2h*)-9N{e^Z*6xFQ6qe46^UcdpBV*c1gK>VJN9n~o@!j!rFE3D`wIl3qxh zzQn-OB-$v!s_*XQY&zeq>P;N7c)-t@Ox#O?w(~RdvUnS!|LKyUqM2-YX_=)QhwtBU znk*t!8~?k33Kl=5vNgM|nUcdw2$0%qXl|^P+M-#~xlGK)laIDaX-LS>F5zZ*<PfZ( z#Cab%fE`H4+GnEviM>YP*<**W@4_wD>V%N<sFwKdgYr@EKthL7qI+h9du)`O8=;ir zJ7!dwF^FMlCH)$j_)fwI%^$9ff{1tjo|h-C?iYdRa(Q?Do>#hcT=fnQlXlR!y7_P- zXF4ZeRw?sjIc^wq8P5~M0HxbisuW$j-j2#~(`^%G3LOo^`T9kLlq#dt_=Y>;dEQ!M z1ZknbL#(YInRD|@lo{*%PB?waao8RnKtG~`S?8@cHe-ofgXKw`Bp8!mW*+VgMVOjT z0!Sha=U&*fc5f){i@geQ(B)aQ1d1htPAVaYYjkE3D}#geehn_5v@SiRc%opwulF|h zw;L#pk2uDm`NPo1N`Ne=K4ks5JSI5n&aVA+b{k~pt(4w6Z5kNYN(Ar;i+Mp}-}HXy zNs-P=Q<>!-qP)m<Tleb1PIBBtI8=VdwqJCMp)^d!=j|2tI!xlEK!_Ccn9)*hqaC$y zfTL5$TS&yMhy<IRV&GFUM$)HzU?H_x^og=egp8tb<k!y~PR`~EZrb58-CpJ^;@Sh! zWRq#srL7+A#+|6K@7x;<1uZO=isSEW?tiLb@$DOYqGR?Ax_s&9mU)>S)msz00AcA` ze5FYa#+gH4QtOM05$yIZS;q-iIgci`;PN$>r(v1We}@241l~of3sB~q%?kF#Y1Huu zSGT3Kuk}+xhshA)eb$5+i}(LG_(;OzsbxxmJ2oQE$}J45%P>nearWSdsRRhq`}Pk_ zEC{ERZ=lxOtB;+I*GZ%ZBFSx1upxGOQ1N8NS}8u|XX%|buBF}ea9XZEkr<ySid$P9 zLMVNOUgA;iLO)qRTlr=SU$`oS7lB9j0?1UgA>091tsRL)Gu|1Kx8v?NR3!*2|AgMS zLurtn&Ft&jf63U}LI)9}R(%%RI~!ZmmLhs^U+ekA`#;(U((yXZ3jSOr*|{`0jSESJ z*>!Er?AW+$q-KObXaxNQY3*WkTNNo8CG#HF@8k4;8-01GFlJpia5Q^^@oZxxqOG@R zE0dwd)}%Fbc{fLDkNIr_7hGrTgy%wajgjNbWun8KH+w*3))eArh!PStBjzhRIo9fq zxg|$ENg%MmF~1hz_e~BS7QC3kOwH^yc3AD^%^b*+U7>e5Paf+ObU5pW<XN;_we-?O zTC(w{LrGZL16Q=PxrwSPqMsNK^GzB8EWW$`Xde$8mutECPf0fLdsfQoE(5;5VxUrC zN3FHq*EHd_LLTvv2X4FyjYNFIm1$8%(-T0VJs5B|CVR;JI2Jkj$rR>mu0w8_m*P0N zeM+VWI8*qQCz{i;AKO#~l?c_H40<Hg5^6L>?GzMa5L4*V)T9I&2LPf)u0-@0Yp-B& zzKGC#bXQ2Mp@EI?^ek}=5BMJP;Lce4<nCsu<<x8rTwA?kJfrJx7di@lKjFLjLVqEw zz;<P5c+o#>3F{-0RG<;>TKk>!enCfBL|clMU%9h09;*wO%d$IB5jXxTds81&@Am7p z)(T5hDbLWiJQ3DZxTs}he1T1m{t9a@uD)v8L=|Dpyg?qTCzVa+6>g-oHBl!8PwTnt z!YW#7|KPZEDw=3x>)oDU=_PF;y?$O~=zzcHf`Y=Ncb)7*x54kYhQKWc+>g>KZ?Bh8 zmz<GDPFFFyNziWZr1)^bFX0*`7vO571R~}ahh)pgt*cM;x=lZ+C6Q#~CURhF?C$Pj zcb#<GuY=I3dUED=%p+;8=5H6P51rN|@~`T%`^KCc6|BKDh^w37SGcMCH(d3!y-9z_ z-zy1ZA^nZCXdTaL<_V1<X>p<9fr=gV=ZU!sXMCw7{pZQ;>Qug8ICq++#w@W$j&Z#Y znEybM8YWoaoJKjKuTjeottwP&-CIp-XI@9KT7^Pi+Xfj^tefKxt12rhdw*-ks4_p? zCy+SZtig~|1Pz<+k45Nt1_uFm-#jNq0oBv=e7Ol?RS51h-^dtrHhz}`$=1%8`b1B7 zrcSg+3HsOUoWcs(mZ^6=e&-WrtmUwplx`oR?NFBR6M>MLzZR12(*@g1;ZWDi!x!T? z5Hh(-av~6hGA9zxm2}c3fbz`EV;YWM9`UWpq9f_O2)mPzfd&N22DuKBrKS`(?m~HH zvXCQJ49<aLHV+mgQ)U$wFYS*KVG$9_cYBFmJss%O!uMb9Qd)_ME=%RgC{jyr$b?b_ z74En`UII9=M^Ya2x}ry`ipzKQ4STt;MpS7+oDNyA6+^XI%=He)(fdJ4cMh+EcGmsG zpO>DoGF>L%Bz`#!%rLXSbf|WzhF_lU;bP~q8!h_atIWaf+ENCWZ)wj^>Y4Cymsm@{ zyHt)|IoXfFBThvJ+0FXd?L>-8cNOTEFj)BF46qyIWB{3hF>x`{MqF)xbQIWqUbNWj zr|6Klk)e1q?^*0^YT4Xfow=#eCy!_`fbE_&PUp5@Vi&fne3#@0U@=B}Y<v~=?#P!F zLjG!@TXsWIF3u5MZiUFT4RgTNq(}h%hs@f@13AUA!8qO_DcYQnoCsj>bnQk-`IIvU z2opbBNNZ+&yX|k4T$pzedLNnlFj1}1D6!*(r}LReX`N!Hfd<qu$Gl%uuFn-cw1w*Q z48B~VRB+zOm6AlTRAhNgWK)4KG8Ii7lqJh;$*jwug^~ZxlZYJ020&8VTlUpaLbaty zkC+QmrKaC37=#Lys(=Wv3?)@)l8P2pQY$ySX=rzrkA`np8V5PTS<}wFt3Bm%qUatc z#B{M0$X-}2{~3IxV5&uBKt3jD@jFwQG%IUBSAukq>B6UvHg$MJ3SZ@~2vLnjR9BMO zw20X6OPu3tEF90^p%dH;r;W3Ogza@Mfh6@V`*n{zOGEg(+<0w(ng>9pK(Eg&FQg=n zO6Gshn;~tOn4UbRN6Coy6=0?zkpU0A6!>DJfXnay1>{d8r%dkpbfJ3jz<Hlo{cWpp zs#pE3DBwM*mpC`n@)cSi@kV;Jgc<R{qr|39J|#EbAmehUJSShFIYVDf3HVFIlqFm{ zzASGx0zwXWaF~iVg`Gs}+d=L)OdMv#sM%tf#s=+)qN<aPP1e`MR!0O*Y@t%YBQgtT ztKhNA#n1pYP+xo-<nm$`ice1`K4p-$5_<s&x$~e3`8e1K2w~nUyVxkuNuNgetr-V@ zOgSdpbpNk8atceN(cD%<Sq`MI=E$VtO*f6zuNRgW`+3xEiM7SDYF$7VHQte?@Q%Bc zc{POgC{D_tqp~zhpjd{Sr)2A@+u4Tv;ogzG_&QFUeGu@Am_uTS);bhwUfR!kQYsR+ zcc|jYe*$F}&L5#Ie+yJZvYx{8q(#BdJ<>Xd!#<p#w@ba8JX_m{)Y-ls1!_sYWL~v2 z-Emu%>D;olV#|H<B;mP|2IUUE0KM-%G1BEr#qx2=W`)YBzH_!{U~(UinhcsPO#NYK zh)OL9DxCd=b_0C=1Q;vC!|X&LtikM!Sqz}+Zi^5o`E0D!%!s_An6&N0b3V@FR-qB{ z3Kgo1MK2XS^{qN;`g%kmP5mwTOEf^<FL=j4@iaYAcgbH)_|IS;DV*~^gT&9bx;->5 zh}$rZqMG{;WO;$Z&Z_SjGRYcmwUAm`Iy$8w>Ch71HD97u*JX7SCDaLHdAJ5vF0w<# ziTjTmqsKFd4PUw5En-*d)yg2Lr|4SXszA>iVN1yG0J$<r#F5t2gAWD*LpFYa=vjna zm1pT7GRfPXN`ZP_880TvLY#}pb`Oq!2l3ZR%+QoZHny;X;XCJk?qxk!^7Iy^nC#!Q zLU~tvx0!@d0^u8<%RAm9fEk?v(4+KUFN&z{mEH)090wQ+@9W==(~dT{k)uju>^s(X z+F`td2pWoBZ|xSfwd8tp3MdPX2IttY(ooz6*zS64cZs!B+Q^CP1bV37Xk9AbUJHIO zKH$4Cv)>XX4BQ`Y>mUA}=$C4Vvy459dOfvuqvuO;V>Kk7Pi5?BhdyrY(`is?_VP=Y zm6CN8!x0+-gKIxWmwi-YeF!c;N9NRzS<b8I9ec|*OhR$OX<429aA%_*EHjg~vQZbZ z-2wyag<8eP(1$p-%}&r84u~n_;j$e$iyTI#Fr6p?(xQp<{@coC0Ie29y~dj)+Wx}l zvpwoFGXvCNx#!rUL7~>E1~cm0OG19X8IwBVxNlUTy@%)|=jJwVmCKbr@SZeL>7JZL zn=0a@&%^EtaW`hFsDF1m>yN%-LXp{!uo;;`!Z+EPYihF8L5JOn1exiQc>84D4veUV z<l^DVFV8Tg+dK(!Cm>wCwZ^Nvvp)Shx(>=Vt-2igM(){zZb9`~N>m<7u_N}jfz)f^ zS@}Fite$oeM}ynllwFuxtQeA(M)0~i?t=tTsF_c$8rHz9WE!uDs!&~Oq>zAs7$Wc_ zX`H={bpWb{Dm9iu3XsrI{bLR_5Oendu00^q!&faZMkB%M{`5ZfM*n~qrw-*KGbxnt zA(MUq!ME=<)4xgU&uHJ5nOTEM99G*MSEk;jm~e&!5S*6H{RPIKE)^Uf?PM`p;>oIO z_P-9Zk;{afk_Z~5MS4mj35bc=(oczUVXqSK$$uT@@;D+Ohs95kgfxjWOB>J9%tlhp zx|${pWgJz4V>~=FtB+7L)7TJ>W+()p%=7OtuDpVcUOaP>LrF!@*?R~YJ`Mi*4IlME z9N60TmBK!@`CslmE)G3AaMsfYvDXekE*&7G!%xYEX?H{1$6+9i-pN||s;JkoSl_2R z&EW|Fk^7bE=0FQHVh!~wQQAs?3LMoT;Z=XI-#{V#9Uu_0WTP|CQ(3p%rpNl5Ce4*J zdf5|}evl$Kdd5WS8&qT)BK0Y8HmiA2xtg=ZMfl_oSprdeFV0dRWPv)lBP!N3*f#l2 z7R#AZB2~gw0~~6p;5##*zbHKZf~G$XO4mE{Amfu(67h%V@K6x6%Y4XSrgnlSl`KzJ z(}5J#R5Ya95|2UPAt~$C!0!R+ykZ*uudOL2Z>f03cHdmJuOcVe_N?*6U<L}uG$Oi+ zeOqT|-wN6?NpIB_0|ymTno-PW4MVMH$MjRxlX0jE&aP%m=BMwjC$t57IER!8qOa9B zIHgiE{cx9l2d*$=QO6Rv@MwjXd-%Mv&v8+KF>NCY)XW%$!d#O`u=9r4pBWlxw-Z$; zJwyM5u6<<+znJ1S5_f1peS9Ta9ell1Ao=IlQQV{l8yS;EJE|g?f7t&Pgq2rZ)#NG; zdkzPU7dh6MUZ;(6X)Ic~Cq_Lj`p42^>IlG%s?l7=gnZmsnsSICa~pB~y{XnE-)lph z^{Y|njs3kPphhm09!wz2ffnI(iA3<`hAYf+L?RyfNo9uB@4Uu<r^d8<fv(1-eZ#fD z!_&H3(S<5mnaHf^Jw(H+-E)HU9HCM5c9)hbQieAj@vyUfr%A!<^)zo9%l<ipNJ%M{ zY`BI%Zxay$yuqAYj%DCML)N~VRea4w+gek5ygdH3X_*<B<3fG@7|!k<jqk|2BJeu7 zH~lpyCWWt1Re1}?1sxOQIftJ_m~}6%w!vJ5GqY1!UXHca+NEI!EGd=htDv^jgt`9_ z$B(1)x)UFceX8y}-MFdv4}^@jzk#0XT~7str%I&bg&(YD7E|87ywk<mM`GasFPu+z z;46MKI#;K|A_MvxO-<{&qEG5sixcn|jR1NzYwi!)MeM<a@bS1|o8CqyJPaRrRKd`U zYTndXkjIsKh8R73j}!9tN|_7XN8+QBjtq*ckhOAxY~7G}htIqwoHtifozT+ab;!MY z6}*=a6Z36>1P~;q3@w!;97IP%QbvXzybB;vdYox%pAcND2Zclxdw>@4f0D2tTr-{S zsQ+CIRYv*GKZ_Zj^(VdmC!7B_zy|>KQv(3NKfnaU{9Fm)VgFP72=f0H5kL?SB~S;j zAn+ClB!~cr3n(}!C#V^yH)t|w7w88V4_Fd76u1HSI0OrX2gDJi6r>AeE#xi~I20>X zIMgGw8T1AW1&lS!HmopgEgU_Z4O|mE3A_{hC4wG85yA(eHR3ChE7BM;9dZH+GD-r< zUsO%hDAY#OO*9lVN;GY>VRSrnQ}j*@7>u9XUQ9*I1k4jGeXJyG1Z+#}QtU4r4V)re zY+QTXemrEnTzoS8T>NhWBLXjiV?umFg`W~YSWS3OL_}mpluI;8bVdwE%tUNV>_J>a zyiFoWl0>pXDot8L#!r?{_Cc;eeof&-@kmKVsZ8lj+56*#|NQiW%#NoA0|ee@00PL_ zf6n=T<@@Oy2bc)B^+yN!Kc4()cy8iNu?VyMwDxa}J`(J<T5IlOuplfisITd?AUv<J zD9#}1wD!Kdln?@`et$a}i4?elF<);XGnKE$vMXIr(pjrg$rMqiRH{a8u9a$L*{3j% zP@&NXH5xaFw?w3!)QQ$0H%G2eem?5`?qepae9qU);Ie~XhQ3TIQV*mxDzg4ux_c+B zR?_TMEm{mNiA*8W>-`mXAzE!TQ!%s0W-*Y?a%tYog{DLy7pT7RFifphEt{YV@v>9- z4>+Nm)bPJ|FflYWG~9eK$Rvu4c>PZMc1TAJBrXpC17wSUi~P@h<3qFT{{G4S{^gP8 zu)x3q2w@g}Lq=0mV?kgzSlC-I%-!ygdyqw46--=ARMq4Rv@ab-Q6@VR&&vM(d4e(6 z<(^zBta8!7KqSDzB*Nm)n5xoj#=n(dXY*Wdl=rM{c4F6fmUr}=@*K6C(ro@9;lnS? z0RYd5yH>t2vv~pKUzhde3#7P%AU*+5x})g$hM*|vW5_x4V0ue<eDf?l3#W&Jhc6eA zkO11);~~r;TJ&>I(r;;ksK=ddR#HO#hN-+Oj<)5dU&<C2$yK_Cz^9y3R`O0Z8u-P0 zcU>qDu6R-aK<lTl<$wODR$u$IB@2&N*`bkwS{jfse#sUVxwHc_*37>1{4rirOm^z` zN<G)_i=}w(@nH!QpXmLbrN$V<+|SiNFI)f^>AeL5IQWGxTytn{epbcJ$!5b3#v$H* zq*qA@e2Dc~w)_dS(xL=L)wXvHCUQOFwxkTcD+=NwqqE{l*O>pxu2T)EYN#fH-67Rj zuveb5nLh7P2pCF4=e9O6x>TV^n_6J9#M^Dq+`_8CzQM~capf^9l4XxDo)Uol$#CJr zqothQ(p=#`9m-tQgFx8~_}&^ETsGiY8V!HZ#!uzl8}#8@f6r2wHNOI}w@a{&>2`|M za1jDXoyeidB~^BTWSf1^dM#G)BjPxLa<(6b6$7=xJzRj*=?9x*f(A<29@N_xtlukj z8(BoXoZxhiRe3uU5*!td;0r_^5<+e&1%%>(>VX0^L&dp*Ktw^8{}$#Wmi7HLHO7B# z+~-;Wf{M(oDSb{(o}crC*WNE4YGZ!<$Z;ZE7czns6^(5iPNl)DQ;j0B<=1W|&J)N0 zLIcp<dY&*xX6RAIy;9-Kzm6R@v%4v)aV5)-w-4?JinDAkN4&~%aufv8;E}F}J_Njh z>cW7yLvbuxL#SC8s#?zFG{k~iNao-dA6%ghr50115qUO5=kJi|q;DgFqO8S27OhTN zlE^SQOL6iSQwk|zfW=gz&Yvb2CA?BbQPmiRhI-19b!3NKTMi94iPZu)OAQ`@n)Bfg zIB(r8IdWfYgcqpEz`}#j%|@Z{gmHo85$)jRD>=OVlr0@V5uE-g`Z?EE@7jJixU-a4 zCG=)r&`={K{n}F?r(nZQh(dAik9T(Cz&fgP`YT*S9vE-?4z(oVxx)!A&%<vb1$|jF zGc8Z_B*g|qWTpHmx0q|cN=7FeOeu3HQ>1y08Jgf;RVhmByqg=Bv<QYEQ4&RxC_Wo< z_c4<dnvQ68&`HmtNR)*{mg0x=ZIgu%UW;v1y$Qdo7%}iben0b&D*Zs~P*vQ&s4A6k zjF*zExvM5cFy&2sZsBD>2108`=KarvinNrBb^Z-v4;^9!%H(?d?RNSsn^7JQ>pKZc z2nx4}VMHpw*IW_nRLTea0HpE~=)i;uieM@%IL<8Rt|6P)hxS|aO;a9)Kh>Yyht>j; zU@G)?iK`(2m9#etD4kVRM+s@e01HpmT|!LU89%=|K(4(wi#aptpJCtPkm-}cFFJW~ z8T_BvJ69@FeC5$12=#a=I+w;bm&!9&{Yy8ZHqL{e0-Jrsxj}!q7xHUMGr?torD#&q z0Fhw6yVwtvJJaQ^#CluP+3|*3gVi-^`?Nx=P(2KsRY|g!uI{j%DvKHTJK#-Fq%((W zs9Zh#08Gs60M40a`8=nSY-n(V$c|tX4yqn?DI=<ECqE%4jO_fS8%V^jwA$_?4@MF6 z(Z#6JlgCjHinE+3)hc)!wxM`Ve+@A__o`1>D9kQG46kKEcRoStGCt4M!h{&=4<8vv z#aJS<EwVhaRVpIAG%;5csf;9Y)N?q$Mb4Qhec`OwpYyH{QodQSp!($_U`d_q3umIV z@Y3Vl2*$D(xs5-?+aoEtbYMwLF~)Na{fW)8i%-d}XG%2ns%1M>Nqu^a<oc}FJN8oe z?<*)NXZl^jUx6;@&UGU;(!xPn+rv1Ud(0ld1gXEpnQc_hc5Cw*Z_;(js&7IXG{h`J zU|!UqI8f;~nN~(w#PjLhN<!HkQ;B&)vu96LM}2~a7H9Gw1Ee*7hh|^q_EjVf2=A1{ z?=dgV2v|pAsfeDXlJZr`Pe-A-UfNcQ(ysHVe+hSqZ6)gI|Jk;J)<*(cx!Uvq-Me!J zF_@?G_l@|1!?RGGd`nz)K$}hS9Hadu%3(Xoe9`c%e=m6S?Ohwyyk0;UFxZxxFJm|v zT@Spy)8b^a-Qx5*(rg#ctwz-JeZu2Jpa?G(g2;_F1Pw%@Bm|7928mg8t{lA-0ENvc z1yWjQ3|Sz@R)efUO&zI_r4(V6DnE~#W0gDGENG!^nu8Zf77}2#3Z;$;tZvnbX2VJ- z2eN9_4}J-AT`8B6-l~~rr9)PV$1T+5TFS@0#Gi9680X~c42)oxY@?3PrIS2{>x$EI zaYi~Rvz;yMFk79_&b5|-lUSn9_`t<Hf7%|LYjEy-xR3qI5rnUOrIkr*7msA_w%`<D z{!t=_1wJ<)Vs1VN!!9fFxQF@SAKb4mc)ss>uA_aFUw2@9Z?VuRFJ@UZ71aMe9@|9x zGoP5!t!pMyN?iP_!dUtkE;k8GWPv0+H;wOh2ONPFi&$|v5knU^R<YAYtTI@UKEZ}L z=TPI}jf+y5ykW!%@-lsc3S&WXphd$K!@z?ppAoP}Fu86I`DCW3z77n|L1k7X0Z}%R z9n2-z1wPm5V1@u=AC*gS1BSW}rnT^U0v7{O>Hyf?m_AMD5hlvkZuPAWq_jsW{>CT0 zg|b<g96n6e@DVFs$PPfkAWi(w9-|+QlrWwuBQQZKIWUmw_L~E71`#-zAC}+n-gNXC zHu^hd;DPG9kGX{L=I#5k4>lYDpwbHW_}}-~*wAp_l+xJH+|cv@v=IY{DR^c)AMi(L zT^7~{HjL1g5Ubx2Xwuw>(NHy@Q41>@6C~f3ozzLc6nIohk)0q23I-)#tx+)nGa&G6 zzurLUX?tg92Z3)@@6z8tuHL;in01LUCs?Ybs1rLfLt9lJ%u5zqRa<1)N)A~Dn}t=3 zds9ul*2$)Or=NDQLa7P6#KqK8H=-_iA?uo&VUZ^=iFJieQ_4)S`r#Am4gFs^g>^MJ zC##x*)&<*Kw~t!#AG^E?HZOIZrzUp0ZFd9mK4l#5idU1b9yh1)7f03-CugufNL-x! zEw#YW+FMEeno)nEL;XAx76`UM@oK1>F~_!wd7osKC6Da-R@t87+Pt|Mw#~^txERRe zsDYX+y}3@RZT!G_SzI^Qz;cQdOFo{(-Z3I{T(*4+oIoZ6g}ZRI?ZiVOJ?gh#bPd?3 ztqt8-Zs2-zl^JY}uR|WrVZiL~2K<@6jGNM2@W{~O#Xg#pdC#9alA0rQI+?Gmu;}Q; zSo=|eqp<n!ZUV=onmhdz>fd|i{U2vo?p?d&|63#5fh8kS04kv0%jVK{%Uj)c%a-gT z@4;9-ku@F*YQM1LoLUDGN{Y$~ON+}3OpMG7O^wYBZcW!?NUm+$eN69l`?X&rj`w9) zWsdiCP^PZ?WmM<3`*lDf&*w#KNn_9Fbx5J_-^-Z6_rJALy)b#b&gZk0vb_Kyk<b`S zHuLRZDV5ThbT*6K-(oVUHJUBvJE1d@qKmDmC|wDSr@V^^5!E6RvDZ8?x_^ogM<~U( zsFh;0mx~UZw=i2-pjjg8(@xB=G1I$*EG0k~?M!Xq3v%cRnn{w~jolQcXXHR1qv_-{ zMVOUkkT-mgU6PcMGl-cpfSI*|Se62zg<&FDTpk|NL715{Kq6U)uyN@&oLL^FWt4?< WNl-{k0Dy1Nv!D0^==&Rh@P7crHc6ZS literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.woff2 b/src/webview-ui/build/assets/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..771f1af705f5cef5f578b3a1e7d8eff66f9b76b0 GIT binary patch literal 13568 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 G0ssIW<OAyf literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/fonts/codicon.ttf b/src/webview-ui/build/assets/fonts/codicon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..807c949a277cad7db9d0a9c0834a5289da2c3155 GIT binary patch literal 80188 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 kKk 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 F{sY@<aaRBU literal 0 HcmV?d00001 diff --git a/src/webview-ui/build/assets/index.css b/src/webview-ui/build/assets/index.css new file mode 100644 index 0000000000..59013c99b7 --- /dev/null +++ b/src/webview-ui/build/assets/index.css @@ -0,0 +1,6416 @@ +/*! tailwindcss v4.1.6 | MIT License | https://tailwindcss.com */ +@layer properties { + @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or + ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) { + *, + :before, + :after, + ::backdrop { + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-translate-z: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-scale-z: 1; + --tw-rotate-x: initial; + --tw-rotate-y: initial; + --tw-rotate-z: initial; + --tw-skew-x: initial; + --tw-skew-y: initial; + --tw-space-y-reverse: 0; + --tw-space-x-reverse: 0; + --tw-divide-y-reverse: 0; + --tw-border-style: solid; + --tw-leading: initial; + --tw-font-weight: initial; + --tw-tracking: initial; + --tw-shadow: 0 0 #0000; + --tw-shadow-color: initial; + --tw-shadow-alpha: 100%; + --tw-inset-shadow: 0 0 #0000; + --tw-inset-shadow-color: initial; + --tw-inset-shadow-alpha: 100%; + --tw-ring-color: initial; + --tw-ring-shadow: 0 0 #0000; + --tw-inset-ring-color: initial; + --tw-inset-ring-shadow: 0 0 #0000; + --tw-ring-inset: initial; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-offset-shadow: 0 0 #0000; + --tw-outline-style: solid; + --tw-blur: initial; + --tw-brightness: initial; + --tw-contrast: initial; + --tw-grayscale: initial; + --tw-hue-rotate: initial; + --tw-invert: initial; + --tw-opacity: initial; + --tw-saturate: initial; + --tw-sepia: initial; + --tw-drop-shadow: initial; + --tw-drop-shadow-color: initial; + --tw-drop-shadow-alpha: 100%; + --tw-drop-shadow-size: initial; + --tw-duration: initial; + --tw-ease: initial; + } + } +} +@layer theme { + :root, + :host { + --font-sans: + ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", + "Noto Color Emoji"; + --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --color-red-400: oklch(70.4% 0.191 22.216); + --color-red-500: oklch(63.7% 0.237 25.331); + --color-red-800: oklch(44.4% 0.177 26.899); + --color-yellow-500: oklch(79.5% 0.184 86.047); + --color-lime-400: oklch(84.1% 0.238 128.85); + --color-green-400: oklch(79.2% 0.209 151.711); + --color-green-500: oklch(72.3% 0.219 149.579); + --color-green-600: oklch(62.7% 0.194 149.214); + --color-green-800: oklch(44.8% 0.119 151.328); + --color-emerald-500: oklch(69.6% 0.17 162.48); + --color-blue-400: oklch(70.7% 0.165 254.624); + --color-gray-400: oklch(70.7% 0.022 261.325); + --color-gray-500: oklch(55.1% 0.027 264.364); + --color-black: #000; + --color-white: #fff; + --spacing: 0.25rem; + --container-xs: 20rem; + --container-sm: 24rem; + --container-md: 28rem; + --container-lg: 32rem; + --text-xs: calc(var(--vscode-font-size) * 0.85); + --text-xs--line-height: calc(1 / 0.75); + --text-sm: calc(var(--vscode-font-size) * 0.9); + --text-sm--line-height: calc(1.25 / 0.875); + --text-base: var(--vscode-font-size); + --text-base--line-height: 1.5; + --text-lg: calc(var(--vscode-font-size) * 1.1); + --text-lg--line-height: calc(1.75 / 1.125); + --text-xl: 1.25rem; + --text-xl--line-height: calc(1.75 / 1.25); + --text-3xl: 1.875rem; + --text-3xl--line-height: 1.2; + --text-4xl: 2.25rem; + --text-4xl--line-height: calc(2.5 / 2.25); + --font-weight-normal: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + --tracking-widest: 0.1em; + --leading-tight: 1.25; + --leading-relaxed: 1.625; + --radius-xs: 0.125rem; + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --drop-shadow-md: 0 3px 3px #0000001f; + --ease-out: cubic-bezier(0, 0, 0.2, 1); + --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); + --animate-spin: spin 1s linear infinite; + --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + --default-transition-duration: 0.15s; + --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + --default-font-family: var(--font-sans); + --default-mono-font-family: var(--font-mono); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-border: var(--border); + --color-ring: var(--ring); + --color-vscode-foreground: var(--vscode-foreground); + --color-vscode-editor-foreground: var(--vscode-editor-foreground); + --color-vscode-editor-background: var(--vscode-editor-background); + --color-vscode-editorGroup-border: var(--vscode-editorGroup-border); + --color-vscode-editorWarning-foreground: var(--vscode-editorWarning-foreground); + --color-vscode-button-foreground: var(--vscode-button-foreground); + --color-vscode-button-background: var(--vscode-button-background); + --color-vscode-button-secondaryForeground: var(--vscode-button-secondaryForeground); + --color-vscode-button-secondaryBackground: var(--vscode-button-secondaryBackground); + --color-vscode-dropdown-foreground: var(--vscode-dropdown-foreground); + --color-vscode-dropdown-background: var(--vscode-dropdown-background); + --color-vscode-dropdown-border: var(--vscode-dropdown-border); + --color-vscode-input-foreground: var(--vscode-input-foreground); + --color-vscode-input-background: var(--vscode-input-background); + --color-vscode-input-border: var(--vscode-input-border, transparent); + --color-vscode-focusBorder: var(--vscode-focusBorder); + --color-vscode-badge-foreground: var(--vscode-badge-foreground); + --color-vscode-badge-background: var(--vscode-badge-background); + --color-vscode-notifications-foreground: var(--vscode-notifications-foreground); + --color-vscode-notifications-background: var(--vscode-notifications-background); + --color-vscode-notifications-border: var(--vscode-notifications-border); + --color-vscode-descriptionForeground: var(--vscode-descriptionForeground); + --color-vscode-errorForeground: var(--vscode-errorForeground); + --color-vscode-list-hoverBackground: var(--vscode-list-hoverBackground); + --color-vscode-list-activeSelectionBackground: var(--vscode-list-activeSelectionBackground); + --color-vscode-list-activeSelectionForeground: var(--vscode-list-activeSelectionForeground); + --color-vscode-toolbar-hoverBackground: var(--vscode-toolbar-hoverBackground); + --color-vscode-panel-border: var(--vscode-panel-border); + --color-vscode-sideBar-foreground: var(--vscode-sideBar-foreground); + --color-vscode-sideBar-background: var(--vscode-sideBar-background); + --color-vscode-charts-green: var(--vscode-charts-green); + --color-vscode-widget-border: var(--vscode-widget-border); + --color-vscode-textLink-foreground: var(--vscode-textLink-foreground); + --color-vscode-textCodeBlock-background: var(--vscode-textCodeBlock-background); + --color-vscode-button-hoverBackground: var(--vscode-button-hoverBackground); + } +} +@layer base { + *, + :after, + :before, + ::backdrop { + box-sizing: border-box; + border: 0 solid; + padding: 0; + } + ::file-selector-button { + box-sizing: border-box; + border: 0 solid; + padding: 0; + } + html, + :host { + -webkit-text-size-adjust: 100%; + -moz-tab-size: 4; + tab-size: 4; + line-height: 1.5; + font-family: var( + --default-font-family, + ui-sans-serif, + system-ui, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji" + ); + font-feature-settings: var(--default-font-feature-settings, normal); + font-variation-settings: var(--default-font-variation-settings, normal); + -webkit-tap-highlight-color: transparent; + } + body { + line-height: inherit; + } + hr { + height: 0; + color: inherit; + border-top-width: 1px; + } + abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + } + a { + color: inherit; + -webkit-text-decoration: inherit; + text-decoration: inherit; + } + b, + strong { + font-weight: bolder; + } + code, + kbd, + samp, + pre { + font-family: var( + --default-mono-font-family, + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + "Liberation Mono", + "Courier New", + monospace + ); + font-feature-settings: var(--default-mono-font-feature-settings, normal); + font-variation-settings: var(--default-mono-font-variation-settings, normal); + font-size: 1em; + } + small { + font-size: 80%; + } + sub, + sup { + vertical-align: baseline; + font-size: 75%; + line-height: 0; + position: relative; + } + sub { + bottom: -0.25em; + } + sup { + top: -0.5em; + } + table { + text-indent: 0; + border-color: inherit; + border-collapse: collapse; + } + :-moz-focusring { + outline: auto; + } + progress { + vertical-align: baseline; + } + summary { + display: list-item; + } + ol, + ul, + menu { + list-style: none; + } + img, + svg, + video, + canvas, + audio, + iframe, + embed, + object { + vertical-align: middle; + display: block; + } + img, + video { + max-width: 100%; + height: auto; + } + button, + input, + select, + optgroup, + textarea { + font: inherit; + font-feature-settings: inherit; + font-variation-settings: inherit; + letter-spacing: inherit; + color: inherit; + opacity: 1; + background-color: #0000; + border-radius: 0; + } + ::file-selector-button { + font: inherit; + font-feature-settings: inherit; + font-variation-settings: inherit; + letter-spacing: inherit; + color: inherit; + opacity: 1; + background-color: #0000; + border-radius: 0; + } + :where(select:is([multiple], [size])) optgroup { + font-weight: bolder; + } + :where(select:is([multiple], [size])) optgroup option { + padding-inline-start: 20px; + } + ::file-selector-button { + margin-inline-end: 4px; + } + ::placeholder { + opacity: 1; + color: currentColor; + } + @supports (color: color-mix(in lab, red, red)) { + ::placeholder { + color: color-mix(in oklab, currentColor 50%, transparent); + } + } + textarea { + resize: vertical; + } + ::-webkit-search-decoration { + -webkit-appearance: none; + } + ::-webkit-date-and-time-value { + min-height: 1lh; + text-align: inherit; + } + ::-webkit-datetime-edit { + display: inline-flex; + } + ::-webkit-datetime-edit-fields-wrapper { + padding: 0; + } + ::-webkit-datetime-edit { + padding-block: 0; + } + ::-webkit-datetime-edit-year-field { + padding-block: 0; + } + ::-webkit-datetime-edit-month-field { + padding-block: 0; + } + ::-webkit-datetime-edit-day-field { + padding-block: 0; + } + ::-webkit-datetime-edit-hour-field { + padding-block: 0; + } + ::-webkit-datetime-edit-minute-field { + padding-block: 0; + } + ::-webkit-datetime-edit-second-field { + padding-block: 0; + } + ::-webkit-datetime-edit-millisecond-field { + padding-block: 0; + } + ::-webkit-datetime-edit-meridiem-field { + padding-block: 0; + } + :-moz-ui-invalid { + box-shadow: none; + } + button, + input:where([type="button"], [type="reset"], [type="submit"]) { + -webkit-appearance: button; + -moz-appearance: button; + appearance: button; + } + ::file-selector-button { + -webkit-appearance: button; + -moz-appearance: button; + appearance: button; + } + ::-webkit-inner-spin-button { + height: auto; + } + ::-webkit-outer-spin-button { + height: auto; + } + [hidden]:where(:not([hidden="until-found"])) { + display: none !important; + } + :root { + --background: var(--vscode-editor-background); + --foreground: var(--vscode-editor-foreground); + --card: var(--vscode-editor-background); + --card-foreground: var(--vscode-editor-foreground); + --popover: var(--vscode-menu-background, var(--vscode-editor-background)); + --popover-foreground: var(--vscode-menu-foreground, var(--vscode-editor-foreground)); + --primary: var(--vscode-button-background); + --primary-foreground: var(--vscode-button-foreground); + --secondary: var(--vscode-button-secondaryBackground); + --secondary-foreground: var(--vscode-button-secondaryForeground); + --muted: var(--vscode-disabledForeground); + --muted-foreground: var(--vscode-descriptionForeground); + --accent: var(--vscode-list-hoverBackground); + --accent-foreground: var(--vscode-list-hoverForeground); + --destructive: var(--vscode-errorForeground); + --destructive-foreground: var(--vscode-button-foreground); + --border: var(--vscode-input-border, transparent); + --input: var(--vscode-input-background); + --ring: var(--vscode-input-border); + --chart-1: var(--vscode-charts-red); + --chart-2: var(--vscode-charts-blue); + --chart-3: var(--vscode-charts-yellow); + --chart-4: var(--vscode-charts-orange); + --chart-5: var(--vscode-charts-green); + --radius: 0.5rem; + } + body { + --vscode-input-border: var(--border); + } +} +@layer components { + .border, + .border-r, + .border-l, + .border-t, + .border-b, + .border-x, + .border-y { + border-color: var(--border); + } + pre, + code { + background-color: var(--vscode-textCodeBlock-background); + } + .history-item-highlight { + text-decoration-line: underline; + } +} +@layer utilities { + .pointer-events-none { + pointer-events: none; + } + .collapse { + visibility: collapse; + } + .invisible { + visibility: hidden; + } + .visible { + visibility: visible; + } + .sr-only { + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + position: absolute; + overflow: hidden; + } + .absolute { + position: absolute; + } + .fixed { + position: fixed; + } + .relative { + position: relative; + } + .static { + position: static; + } + .sticky { + position: sticky; + } + .inset-0 { + inset: calc(var(--spacing) * 0); + } + .top-0 { + top: calc(var(--spacing) * 0); + } + .top-1 { + top: calc(var(--spacing) * 1); + } + .top-1\/2 { + top: 50%; + } + .top-2 { + top: calc(var(--spacing) * 2); + } + .top-4 { + top: calc(var(--spacing) * 4); + } + .top-5 { + top: calc(var(--spacing) * 5); + } + .top-\[50\%\] { + top: 50%; + } + .top-full { + top: 100%; + } + .right-0 { + right: calc(var(--spacing) * 0); + } + .right-1 { + right: calc(var(--spacing) * 1); + } + .right-2 { + right: calc(var(--spacing) * 2); + } + .right-3 { + right: calc(var(--spacing) * 3); + } + .right-4 { + right: calc(var(--spacing) * 4); + } + .right-5 { + right: calc(var(--spacing) * 5); + } + .-bottom-\[2px\] { + bottom: -2px; + } + .bottom-0 { + bottom: calc(var(--spacing) * 0); + } + .bottom-1 { + bottom: calc(var(--spacing) * 1); + } + .bottom-2 { + bottom: calc(var(--spacing) * 2); + } + .bottom-4 { + bottom: calc(var(--spacing) * 4); + } + .bottom-full { + bottom: 100%; + } + .left-0 { + left: calc(var(--spacing) * 0); + } + .left-1\/2 { + left: 50%; + } + .left-2 { + left: calc(var(--spacing) * 2); + } + .left-4 { + left: calc(var(--spacing) * 4); + } + .left-\[50\%\] { + left: 50%; + } + .z-1 { + z-index: 1; + } + .z-10 { + z-index: 10; + } + .z-30 { + z-index: 30; + } + .z-50 { + z-index: 50; + } + .z-\[2\] { + z-index: 2; + } + .z-\[1000\] { + z-index: 1000; + } + .container { + width: 100%; + } + @media (min-width: 40rem) { + .container { + max-width: 40rem; + } + } + @media (min-width: 48rem) { + .container { + max-width: 48rem; + } + } + @media (min-width: 64rem) { + .container { + max-width: 64rem; + } + } + @media (min-width: 80rem) { + .container { + max-width: 80rem; + } + } + @media (min-width: 96rem) { + .container { + max-width: 96rem; + } + } + .m-0 { + margin: calc(var(--spacing) * 0); + } + .m-2 { + margin: calc(var(--spacing) * 2); + } + .m-auto { + margin: auto; + } + .-mx-1 { + margin-inline: calc(var(--spacing) * -1); + } + .mx-1 { + margin-inline: calc(var(--spacing) * 1); + } + .mx-auto { + margin-inline: auto; + } + .-my-0\.5 { + margin-block: calc(var(--spacing) * -0.5); + } + .my-0 { + margin-block: calc(var(--spacing) * 0); + } + .my-1 { + margin-block: calc(var(--spacing) * 1); + } + .my-2 { + margin-block: calc(var(--spacing) * 2); + } + .my-3 { + margin-block: calc(var(--spacing) * 3); + } + .my-5 { + margin-block: calc(var(--spacing) * 5); + } + .my-\[1px\] { + margin-block: 1px; + } + .-mt-0\.5 { + margin-top: calc(var(--spacing) * -0.5); + } + .-mt-2 { + margin-top: calc(var(--spacing) * -2); + } + .-mt-3 { + margin-top: calc(var(--spacing) * -3); + } + .-mt-4 { + margin-top: calc(var(--spacing) * -4); + } + .mt-0 { + margin-top: calc(var(--spacing) * 0); + } + .mt-0\.5 { + margin-top: calc(var(--spacing) * 0.5); + } + .mt-1 { + margin-top: calc(var(--spacing) * 1); + } + .mt-1\.5 { + margin-top: calc(var(--spacing) * 1.5); + } + .mt-2 { + margin-top: calc(var(--spacing) * 2); + } + .mt-4 { + margin-top: calc(var(--spacing) * 4); + } + .mt-6 { + margin-top: calc(var(--spacing) * 6); + } + .mt-8 { + margin-top: calc(var(--spacing) * 8); + } + .mt-auto { + margin-top: auto; + } + .mr-0 { + margin-right: calc(var(--spacing) * 0); + } + .mr-1 { + margin-right: calc(var(--spacing) * 1); + } + .mr-1\.5 { + margin-right: calc(var(--spacing) * 1.5); + } + .mr-2 { + margin-right: calc(var(--spacing) * 2); + } + .mr-4 { + margin-right: calc(var(--spacing) * 4); + } + .mr-\[6px\] { + margin-right: 6px; + } + .mr-auto { + margin-right: auto; + } + .-mb-0\.5 { + margin-bottom: calc(var(--spacing) * -0.5); + } + .mb-0 { + margin-bottom: calc(var(--spacing) * 0); + } + .mb-1 { + margin-bottom: calc(var(--spacing) * 1); + } + .mb-2 { + margin-bottom: calc(var(--spacing) * 2); + } + .mb-2\.5 { + margin-bottom: calc(var(--spacing) * 2.5); + } + .mb-3 { + margin-bottom: calc(var(--spacing) * 3); + } + .mb-4 { + margin-bottom: calc(var(--spacing) * 4); + } + .mb-5 { + margin-bottom: calc(var(--spacing) * 5); + } + .mb-6 { + margin-bottom: calc(var(--spacing) * 6); + } + .-ml-0\.5 { + margin-left: calc(var(--spacing) * -0.5); + } + .ml-0 { + margin-left: calc(var(--spacing) * 0); + } + .ml-1 { + margin-left: calc(var(--spacing) * 1); + } + .ml-1\.5 { + margin-left: calc(var(--spacing) * 1.5); + } + .ml-2 { + margin-left: calc(var(--spacing) * 2); + } + .ml-5 { + margin-left: calc(var(--spacing) * 5); + } + .ml-6 { + margin-left: calc(var(--spacing) * 6); + } + .ml-8 { + margin-left: calc(var(--spacing) * 8); + } + .ml-\[6px\] { + margin-left: 6px; + } + .ml-auto { + margin-left: auto; + } + .box-border { + box-sizing: border-box; + } + .line-clamp-2 { + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden; + } + .line-clamp-3 { + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden; + } + .block { + display: block; + } + .contents { + display: contents; + } + .flex { + display: flex; + } + .grid { + display: grid; + } + .hidden { + display: none; + } + .inline { + display: inline; + } + .inline-block { + display: inline-block; + } + .inline-flex { + display: inline-flex; + } + .table { + display: table; + } + .size-1\.5 { + width: calc(var(--spacing) * 1.5); + height: calc(var(--spacing) * 1.5); + } + .size-3 { + width: calc(var(--spacing) * 3); + height: calc(var(--spacing) * 3); + } + .size-3\.5 { + width: calc(var(--spacing) * 3.5); + height: calc(var(--spacing) * 3.5); + } + .size-4 { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + } + .size-5 { + width: calc(var(--spacing) * 5); + height: calc(var(--spacing) * 5); + } + .size-6 { + width: calc(var(--spacing) * 6); + height: calc(var(--spacing) * 6); + } + .size-\[1em\] { + width: 1em; + height: 1em; + } + .size-full { + width: 100%; + height: 100%; + } + .h-0 { + height: calc(var(--spacing) * 0); + } + .h-1 { + height: calc(var(--spacing) * 1); + } + .h-1\.5 { + height: calc(var(--spacing) * 1.5); + } + .h-2 { + height: calc(var(--spacing) * 2); + } + .h-3 { + height: calc(var(--spacing) * 3); + } + .h-3\.5 { + height: calc(var(--spacing) * 3.5); + } + .h-4 { + height: calc(var(--spacing) * 4); + } + .h-5 { + height: calc(var(--spacing) * 5); + } + .h-6 { + height: calc(var(--spacing) * 6); + } + .h-7 { + height: calc(var(--spacing) * 7); + } + .h-8 { + height: calc(var(--spacing) * 8); + } + .h-9 { + height: calc(var(--spacing) * 9); + } + .h-10 { + height: calc(var(--spacing) * 10); + } + .h-12 { + height: calc(var(--spacing) * 12); + } + .h-16 { + height: calc(var(--spacing) * 16); + } + .h-64 { + height: calc(var(--spacing) * 64); + } + .h-\[1px\] { + height: 1px; + } + .h-\[2px\] { + height: 2px; + } + .h-\[8px\] { + height: 8px; + } + .h-\[20px\] { + height: 20px; + } + .h-\[90\%\] { + height: 90%; + } + .h-\[var\(--radix-select-trigger-height\)\] { + height: var(--radix-select-trigger-height); + } + .h-auto { + height: auto; + } + .h-full { + height: 100%; + } + .h-px { + height: 1px; + } + .max-h-0 { + max-height: calc(var(--spacing) * 0); + } + .max-h-72 { + max-height: calc(var(--spacing) * 72); + } + .max-h-80 { + max-height: calc(var(--spacing) * 80); + } + .max-h-96 { + max-height: calc(var(--spacing) * 96); + } + .max-h-\[80vh\] { + max-height: 80vh; + } + .max-h-\[100\%\] { + max-height: 100%; + } + .max-h-\[160px\] { + max-height: 160px; + } + .max-h-\[200px\] { + max-height: 200px; + } + .max-h-\[300px\] { + max-height: 300px; + } + .min-h-0 { + min-height: calc(var(--spacing) * 0); + } + .min-h-\[16px\] { + min-height: 16px; + } + .min-h-\[20px\] { + min-height: 20px; + } + .min-h-\[28px\] { + min-height: 28px; + } + .min-h-\[60px\] { + min-height: 60px; + } + .min-h-\[90px\] { + min-height: 90px; + } + .min-h-\[150px\] { + min-height: 150px; + } + .min-h-\[200px\] { + min-height: 200px; + } + .w-0 { + width: calc(var(--spacing) * 0); + } + .w-1\.5 { + width: calc(var(--spacing) * 1.5); + } + .w-1\/2 { + width: 50%; + } + .w-2 { + width: calc(var(--spacing) * 2); + } + .w-3 { + width: calc(var(--spacing) * 3); + } + .w-3\.5 { + width: calc(var(--spacing) * 3.5); + } + .w-4 { + width: calc(var(--spacing) * 4); + } + .w-5 { + width: calc(var(--spacing) * 5); + } + .w-6 { + width: calc(var(--spacing) * 6); + } + .w-7 { + width: calc(var(--spacing) * 7); + } + .w-10 { + width: calc(var(--spacing) * 10); + } + .w-12 { + width: calc(var(--spacing) * 12); + } + .w-16 { + width: calc(var(--spacing) * 16); + } + .w-20 { + width: calc(var(--spacing) * 20); + } + .w-24 { + width: calc(var(--spacing) * 24); + } + .w-28 { + width: calc(var(--spacing) * 28); + } + .w-48 { + width: calc(var(--spacing) * 48); + } + .w-56 { + width: calc(var(--spacing) * 56); + } + .w-72 { + width: calc(var(--spacing) * 72); + } + .w-\[1px\] { + width: 1px; + } + .w-\[90\%\] { + width: 90%; + } + .w-\[200px\] { + width: 200px; + } + .w-\[300px\] { + width: 300px; + } + .w-\[calc\(100\%-16px\)\] { + width: calc(100% - 16px); + } + .w-\[calc\(100vw-32px\)\] { + width: calc(100vw - 32px); + } + .w-\[calc\(100vw-100px\)\] { + width: calc(100vw - 100px); + } + .w-\[var\(--radix-popover-trigger-width\)\] { + width: var(--radix-popover-trigger-width); + } + .w-auto { + width: auto; + } + .w-fit { + width: fit-content; + } + .w-full { + width: 100%; + } + .max-w-9\/10 { + max-width: 90%; + } + .max-w-96 { + max-width: calc(var(--spacing) * 96); + } + .max-w-\[250px\] { + max-width: 250px; + } + .max-w-\[300px\] { + max-width: 300px; + } + .max-w-\[380px\] { + max-width: 380px; + } + .max-w-\[450px\] { + max-width: 450px; + } + .max-w-\[1200px\] { + max-width: 1200px; + } + .max-w-\[calc\(100\%-2rem\)\] { + max-width: calc(100% - 2rem); + } + .max-w-full { + max-width: 100%; + } + .max-w-md { + max-width: var(--container-md); + } + .max-w-sm { + max-width: var(--container-sm); + } + .max-w-xs { + max-width: var(--container-xs); + } + .min-w-0 { + min-width: calc(var(--spacing) * 0); + } + .min-w-80 { + min-width: calc(var(--spacing) * 80); + } + .min-w-\[8rem\] { + min-width: 8rem; + } + .min-w-\[20px\] { + min-width: 20px; + } + .min-w-\[28px\] { + min-width: 28px; + } + .min-w-\[50px\] { + min-width: 50px; + } + .min-w-\[var\(--radix-select-trigger-width\)\] { + min-width: var(--radix-select-trigger-width); + } + .flex-1 { + flex: 1; + } + .flex-\[2\] { + flex: 2; + } + .flex-initial { + flex: 0 auto; + } + .flex-none { + flex: none; + } + .flex-shrink { + flex-shrink: 1; + } + .flex-shrink-0 { + flex-shrink: 0; + } + .shrink { + flex-shrink: 1; + } + .shrink-0 { + flex-shrink: 0; + } + .flex-grow, + .flex-grow-1, + .grow { + flex-grow: 1; + } + .border-collapse { + border-collapse: collapse; + } + .-translate-x-1\/2 { + --tw-translate-x: -50%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .translate-x-\[-50\%\] { + --tw-translate-x: -50%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .-translate-y-1\/2 { + --tw-translate-y: -50%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .translate-y-\[-50\%\] { + --tw-translate-y: -50%; + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .scale-75 { + --tw-scale-x: 75%; + --tw-scale-y: 75%; + --tw-scale-z: 75%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .scale-80 { + --tw-scale-x: 80%; + --tw-scale-y: 80%; + --tw-scale-z: 80%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .scale-90 { + --tw-scale-x: 90%; + --tw-scale-y: 90%; + --tw-scale-z: 90%; + scale: var(--tw-scale-x) var(--tw-scale-y); + } + .-rotate-90 { + rotate: -90deg; + } + .rotate-180 { + rotate: 180deg; + } + .transform { + transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); + } + .animate-pulse { + animation: var(--animate-pulse); + } + .animate-spin { + animation: var(--animate-spin); + } + .cursor-default { + cursor: default; + } + .cursor-help { + cursor: help; + } + .cursor-not-allowed { + cursor: not-allowed; + } + .cursor-pointer { + cursor: pointer; + } + .cursor-text { + cursor: text; + } + .touch-none { + touch-action: none; + } + .resize { + resize: both; + } + .resize-none { + resize: none; + } + .resize-y { + resize: vertical; + } + .scroll-my-1 { + scroll-margin-block: calc(var(--spacing) * 1); + } + .list-inside { + list-style-position: inside; + } + .list-disc { + list-style-type: disc; + } + .\[appearance\:textfield\] { + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; + } + .grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .grid-cols-\[1rem_1fr\] { + grid-template-columns: 1rem 1fr; + } + .grid-cols-\[auto_1fr\] { + grid-template-columns: auto 1fr; + } + .grid-cols-\[repeat\(auto-fill\,minmax\(200px\,1fr\)\)\] { + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + } + .flex-col { + flex-direction: column; + } + .flex-col-reverse { + flex-direction: column-reverse; + } + .flex-row { + flex-direction: row; + } + .flex-wrap { + flex-wrap: wrap; + } + .items-baseline { + align-items: baseline; + } + .items-center { + align-items: center; + } + .items-start { + align-items: flex-start; + } + .justify-between { + justify-content: space-between; + } + .justify-center { + justify-content: center; + } + .justify-end { + justify-content: flex-end; + } + .justify-start { + justify-content: flex-start; + } + .gap-0 { + gap: calc(var(--spacing) * 0); + } + .gap-0\.5 { + gap: calc(var(--spacing) * 0.5); + } + .gap-1 { + gap: calc(var(--spacing) * 1); + } + .gap-1\.5 { + gap: calc(var(--spacing) * 1.5); + } + .gap-2 { + gap: calc(var(--spacing) * 2); + } + .gap-3 { + gap: calc(var(--spacing) * 3); + } + .gap-4 { + gap: calc(var(--spacing) * 4); + } + .gap-5 { + gap: calc(var(--spacing) * 5); + } + .gap-6 { + gap: calc(var(--spacing) * 6); + } + :where(.space-y-1 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse))); + } + :where(.space-y-2 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); + } + :where(.space-y-3 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))); + } + :where(.space-y-4 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); + } + :where(.space-y-6 > :not(:last-child)) { + --tw-space-y-reverse: 0; + margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); + margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); + } + .gap-x-2 { + column-gap: calc(var(--spacing) * 2); + } + :where(.space-x-2 > :not(:last-child)) { + --tw-space-x-reverse: 0; + margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse)); + margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse))); + } + .gap-y-2 { + row-gap: calc(var(--spacing) * 2); + } + :where(.divide-y > :not(:last-child)) { + --tw-divide-y-reverse: 0; + border-bottom-style: var(--tw-border-style); + border-top-style: var(--tw-border-style); + border-top-width: calc(1px * var(--tw-divide-y-reverse)); + border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + } + :where(.divide-vscode-panel-border > :not(:last-child)) { + border-color: var(--color-vscode-panel-border); + } + .truncate { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + .overflow-auto { + overflow: auto; + } + .overflow-hidden { + overflow: hidden; + } + .overflow-x-auto { + overflow-x: auto; + } + .overflow-x-hidden { + overflow-x: hidden; + } + .overflow-y-auto { + overflow-y: auto; + } + .overflow-y-hidden { + overflow-y: hidden; + } + .overflow-y-scroll { + overflow-y: scroll; + } + .rounded { + border-radius: 0.25rem; + } + .rounded-\[2px\] { + border-radius: 2px; + } + .rounded-\[3px\] { + border-radius: 3px; + } + .rounded-\[calc\(var\(--corner-radius-round\)\*1px\)\] { + border-radius: calc(var(--corner-radius-round) * 1px); + } + .rounded-full { + border-radius: 3.40282e38px; + } + .rounded-lg { + border-radius: var(--radius-lg); + } + .rounded-md { + border-radius: var(--radius-md); + } + .rounded-sm { + border-radius: var(--radius-sm); + } + .rounded-xs { + border-radius: var(--radius-xs); + } + .rounded-t-xs { + border-top-left-radius: var(--radius-xs); + border-top-right-radius: var(--radius-xs); + } + .rounded-b { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .rounded-b-xs { + border-bottom-right-radius: var(--radius-xs); + border-bottom-left-radius: var(--radius-xs); + } + .border { + border-style: var(--tw-border-style); + border-width: 1px; + } + .border-2 { + border-style: var(--tw-border-style); + border-width: 2px; + } + .border-t { + border-top-style: var(--tw-border-style); + border-top-width: 1px; + } + .border-t-0 { + border-top-style: var(--tw-border-style); + border-top-width: 0; + } + .border-t-4 { + border-top-style: var(--tw-border-style); + border-top-width: 4px; + } + .border-r { + border-right-style: var(--tw-border-style); + border-right-width: 1px; + } + .border-r-4 { + border-right-style: var(--tw-border-style); + border-right-width: 4px; + } + .border-b { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 1px; + } + .border-b-0 { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 0; + } + .border-b-2 { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 2px; + } + .border-l-2 { + border-left-style: var(--tw-border-style); + border-left-width: 2px; + } + .border-l-4 { + border-left-style: var(--tw-border-style); + border-left-width: 4px; + } + .border-dashed { + --tw-border-style: dashed; + border-style: dashed; + } + .border-none { + --tw-border-style: none; + border-style: none; + } + .border-solid { + --tw-border-style: solid; + border-style: solid; + } + .\!border-vscode-errorForeground { + border-color: var(--color-vscode-errorForeground) !important; + } + .border-\[rgba\(255\,255\,255\,0\.08\)\] { + border-color: #ffffff14; + } + .border-\[var\(--vscode-editorGroup-border\)\] { + border-color: var(--vscode-editorGroup-border); + } + .border-\[var\(--vscode-input-border\,var\(--vscode-input-background\)\)\] { + border-color: var(--vscode-input-border, var(--vscode-input-background)); + } + .border-border, + .border-border\/25 { + border-color: var(--color-border); + } + @supports (color: color-mix(in lab, red, red)) { + .border-border\/25 { + border-color: color-mix(in oklab, var(--color-border) 25%, transparent); + } + } + .border-green-600\/30 { + border-color: #00a5444d; + } + @supports (color: color-mix(in lab, red, red)) { + .border-green-600\/30 { + border-color: color-mix(in oklab, var(--color-green-600) 30%, transparent); + } + } + .border-muted\/20 { + border-color: var(--color-muted); + } + @supports (color: color-mix(in lab, red, red)) { + .border-muted\/20 { + border-color: color-mix(in oklab, var(--color-muted) 20%, transparent); + } + } + .border-primary, + .border-primary\/50 { + border-color: var(--color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .border-primary\/50 { + border-color: color-mix(in oklab, var(--color-primary) 50%, transparent); + } + } + .border-red-500 { + border-color: var(--color-red-500); + } + .border-red-500\/20 { + border-color: #fb2c3633; + } + @supports (color: color-mix(in lab, red, red)) { + .border-red-500\/20 { + border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent); + } + } + .border-transparent { + border-color: #0000; + } + .border-vscode-badge-background { + border-color: var(--color-vscode-badge-background); + } + .border-vscode-button-background { + border-color: var(--color-vscode-button-background); + } + .border-vscode-descriptionForeground { + border-color: var(--color-vscode-descriptionForeground); + } + .border-vscode-dropdown-border { + border-color: var(--color-vscode-dropdown-border); + } + .border-vscode-editorGroup-border { + border-color: var(--color-vscode-editorGroup-border); + } + .border-vscode-focusBorder { + border-color: var(--color-vscode-focusBorder); + } + .border-vscode-foreground { + border-color: var(--color-vscode-foreground); + } + .border-vscode-input-border { + border-color: var(--color-vscode-input-border); + } + .border-vscode-notifications-border { + border-color: var(--color-vscode-notifications-border); + } + .border-vscode-panel-border, + .border-vscode-panel-border\/80 { + border-color: var(--color-vscode-panel-border); + } + @supports (color: color-mix(in lab, red, red)) { + .border-vscode-panel-border\/80 { + border-color: color-mix(in oklab, var(--color-vscode-panel-border) 80%, transparent); + } + } + .border-vscode-sideBar-background { + border-color: var(--color-vscode-sideBar-background); + } + .border-vscode-widget-border { + border-color: var(--color-vscode-widget-border); + } + .border-t-vscode-panel-border { + border-top-color: var(--color-vscode-panel-border); + } + .border-r-transparent { + border-right-color: #0000; + } + .border-l-transparent { + border-left-color: #0000; + } + .bg-\[color-mix\(in_srgb\,var\(--vscode-foreground\)_20\%\,transparent\)\] { + background-color: var(--vscode-foreground); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[color-mix\(in_srgb\,var\(--vscode-foreground\)_20\%\,transparent\)\] { + background-color: color-mix(in srgb, var(--vscode-foreground) 20%, transparent); + } + } + .bg-\[color-mix\(in_srgb\,var\(--vscode-foreground\)_30\%\,transparent\)\] { + background-color: var(--vscode-foreground); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[color-mix\(in_srgb\,var\(--vscode-foreground\)_30\%\,transparent\)\] { + background-color: color-mix(in srgb, var(--vscode-foreground) 30%, transparent); + } + } + .bg-\[color-mix\(in_srgb\,var\(--vscode-input-background\)_95\%\,var\(--vscode-focusBorder\)\)\] { + background-color: var(--vscode-input-background); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-\[color-mix\(in_srgb\,var\(--vscode-input-background\)_95\%\,var\(--vscode-focusBorder\)\)\] { + background-color: color-mix(in srgb, var(--vscode-input-background) 95%, var(--vscode-focusBorder)); + } + } + .bg-\[var\(--input-background\)\] { + background-color: var(--input-background); + } + .bg-\[var\(--vscode-editor-background\)\] { + background-color: var(--vscode-editor-background); + } + .bg-\[var\(--vscode-foreground\)\] { + background-color: var(--vscode-foreground); + } + .bg-accent { + background-color: var(--color-accent); + } + .bg-black\/50 { + background-color: #00000080; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/50 { + background-color: color-mix(in oklab, var(--color-black) 50%, transparent); + } + } + .bg-black\/70 { + background-color: #000000b3; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-black\/70 { + background-color: color-mix(in oklab, var(--color-black) 70%, transparent); + } + } + .bg-card { + background-color: var(--color-card); + } + .bg-destructive { + background-color: var(--color-destructive); + } + .bg-gray-400 { + background-color: var(--color-gray-400); + } + .bg-green-500 { + background-color: var(--color-green-500); + } + .bg-green-500\/20 { + background-color: #00c75833; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-green-500\/20 { + background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent); + } + } + .bg-green-600\/20 { + background-color: #00a54433; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-green-600\/20 { + background-color: color-mix(in oklab, var(--color-green-600) 20%, transparent); + } + } + .bg-green-800\/20 { + background-color: #01663033; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-green-800\/20 { + background-color: color-mix(in oklab, var(--color-green-800) 20%, transparent); + } + } + .bg-lime-400 { + background-color: var(--color-lime-400); + } + .bg-popover { + background-color: var(--color-popover); + } + .bg-primary { + background-color: var(--color-primary); + } + .bg-red-400 { + background-color: var(--color-red-400); + } + .bg-red-500 { + background-color: var(--color-red-500); + } + .bg-red-500\/10 { + background-color: #fb2c361a; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-red-500\/10 { + background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent); + } + } + .bg-red-500\/20 { + background-color: #fb2c3633; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-red-500\/20 { + background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent); + } + } + .bg-red-800\/20 { + background-color: #9f071233; + } + @supports (color: color-mix(in lab, red, red)) { + .bg-red-800\/20 { + background-color: color-mix(in oklab, var(--color-red-800) 20%, transparent); + } + } + .bg-secondary { + background-color: var(--color-secondary); + } + .bg-transparent { + background-color: #0000; + } + .bg-vscode-badge-background { + background-color: var(--color-vscode-badge-background); + } + .bg-vscode-button-background { + background-color: var(--color-vscode-button-background); + } + .bg-vscode-button-secondaryBackground { + background-color: var(--color-vscode-button-secondaryBackground); + } + .bg-vscode-descriptionForeground\/60 { + background-color: var(--color-vscode-descriptionForeground); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-vscode-descriptionForeground\/60 { + background-color: color-mix(in oklab, var(--color-vscode-descriptionForeground) 60%, transparent); + } + } + .bg-vscode-descriptionForeground\/80 { + background-color: var(--color-vscode-descriptionForeground); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-vscode-descriptionForeground\/80 { + background-color: color-mix(in oklab, var(--color-vscode-descriptionForeground) 80%, transparent); + } + } + .bg-vscode-dropdown-background { + background-color: var(--color-vscode-dropdown-background); + } + .bg-vscode-dropdown-border { + background-color: var(--color-vscode-dropdown-border); + } + .bg-vscode-dropdown-foreground\/10 { + background-color: var(--color-vscode-dropdown-foreground); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-vscode-dropdown-foreground\/10 { + background-color: color-mix(in oklab, var(--color-vscode-dropdown-foreground) 10%, transparent); + } + } + .bg-vscode-editor-background, + .bg-vscode-editor-background\/90 { + background-color: var(--color-vscode-editor-background); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-vscode-editor-background\/90 { + background-color: color-mix(in oklab, var(--color-vscode-editor-background) 90%, transparent); + } + } + .bg-vscode-editorWarning-foreground { + background-color: var(--color-vscode-editorWarning-foreground); + } + .bg-vscode-foreground { + background-color: var(--color-vscode-foreground); + } + .bg-vscode-input-background { + background-color: var(--color-vscode-input-background); + } + .bg-vscode-input-border { + background-color: var(--color-vscode-input-border); + } + .bg-vscode-list-activeSelectionBackground { + background-color: var(--color-vscode-list-activeSelectionBackground); + } + .bg-vscode-notifications-background { + background-color: var(--color-vscode-notifications-background); + } + .bg-vscode-panel-border { + background-color: var(--color-vscode-panel-border); + } + .bg-vscode-sideBar-background, + .bg-vscode-sideBar-background\/30 { + background-color: var(--color-vscode-sideBar-background); + } + @supports (color: color-mix(in lab, red, red)) { + .bg-vscode-sideBar-background\/30 { + background-color: color-mix(in oklab, var(--color-vscode-sideBar-background) 30%, transparent); + } + } + .bg-vscode-textCodeBlock-background { + background-color: var(--color-vscode-textCodeBlock-background); + } + .bg-vscode-toolbar-hoverBackground { + background-color: var(--color-vscode-toolbar-hoverBackground); + } + .bg-yellow-500 { + background-color: var(--color-yellow-500); + } + .fill-current { + fill: currentColor; + } + .object-contain { + object-fit: contain; + } + .object-cover { + object-fit: cover; + } + .p-0 { + padding: calc(var(--spacing) * 0); + } + .p-0\.5 { + padding: calc(var(--spacing) * 0.5); + } + .p-1 { + padding: calc(var(--spacing) * 1); + } + .p-1\.5 { + padding: calc(var(--spacing) * 1.5); + } + .p-2 { + padding: calc(var(--spacing) * 2); + } + .p-2\.5 { + padding: calc(var(--spacing) * 2.5); + } + .p-3 { + padding: calc(var(--spacing) * 3); + } + .p-4 { + padding: calc(var(--spacing) * 4); + } + .p-5 { + padding: calc(var(--spacing) * 5); + } + .p-6 { + padding: calc(var(--spacing) * 6); + } + .p-16 { + padding: calc(var(--spacing) * 16); + } + .p-\[2px\] { + padding: 2px; + } + .px-0 { + padding-inline: calc(var(--spacing) * 0); + } + .px-0\.5 { + padding-inline: calc(var(--spacing) * 0.5); + } + .px-1 { + padding-inline: calc(var(--spacing) * 1); + } + .px-1\.5 { + padding-inline: calc(var(--spacing) * 1.5); + } + .px-2 { + padding-inline: calc(var(--spacing) * 2); + } + .px-3 { + padding-inline: calc(var(--spacing) * 3); + } + .px-3\.5 { + padding-inline: calc(var(--spacing) * 3.5); + } + .px-4 { + padding-inline: calc(var(--spacing) * 4); + } + .px-5 { + padding-inline: calc(var(--spacing) * 5); + } + .px-6 { + padding-inline: calc(var(--spacing) * 6); + } + .px-8 { + padding-inline: calc(var(--spacing) * 8); + } + .px-\[8px\] { + padding-inline: 8px; + } + .px-\[15px\] { + padding-inline: 15px; + } + .py-0 { + padding-block: calc(var(--spacing) * 0); + } + .py-0\.5 { + padding-block: calc(var(--spacing) * 0.5); + } + .py-1 { + padding-block: calc(var(--spacing) * 1); + } + .py-1\.5 { + padding-block: calc(var(--spacing) * 1.5); + } + .py-2 { + padding-block: calc(var(--spacing) * 2); + } + .py-2\.5 { + padding-block: calc(var(--spacing) * 2.5); + } + .py-3 { + padding-block: calc(var(--spacing) * 3); + } + .py-4 { + padding-block: calc(var(--spacing) * 4); + } + .py-6 { + padding-block: calc(var(--spacing) * 6); + } + .py-\[10px\] { + padding-block: 10px; + } + .pt-1 { + padding-top: calc(var(--spacing) * 1); + } + .pt-1\.5 { + padding-top: calc(var(--spacing) * 1.5); + } + .pt-2 { + padding-top: calc(var(--spacing) * 2); + } + .pt-3 { + padding-top: calc(var(--spacing) * 3); + } + .pt-4 { + padding-top: calc(var(--spacing) * 4); + } + .pt-5 { + padding-top: calc(var(--spacing) * 5); + } + .pt-6 { + padding-top: calc(var(--spacing) * 6); + } + .pt-\[5px\] { + padding-top: 5px; + } + .pr-1 { + padding-right: calc(var(--spacing) * 1); + } + .pr-2 { + padding-right: calc(var(--spacing) * 2); + } + .pr-3 { + padding-right: calc(var(--spacing) * 3); + } + .pr-4 { + padding-right: calc(var(--spacing) * 4); + } + .pr-8 { + padding-right: calc(var(--spacing) * 8); + } + .pr-9 { + padding-right: calc(var(--spacing) * 9); + } + .pr-12 { + padding-right: calc(var(--spacing) * 12); + } + .pr-\[6px\] { + padding-right: 6px; + } + .pb-1 { + padding-bottom: calc(var(--spacing) * 1); + } + .pb-2 { + padding-bottom: calc(var(--spacing) * 2); + } + .pb-3 { + padding-bottom: calc(var(--spacing) * 3); + } + .pb-4 { + padding-bottom: calc(var(--spacing) * 4); + } + .pb-5 { + padding-bottom: calc(var(--spacing) * 5); + } + .pb-10 { + padding-bottom: calc(var(--spacing) * 10); + } + .pb-\[60px\] { + padding-bottom: 60px; + } + .pl-2 { + padding-left: calc(var(--spacing) * 2); + } + .pl-3 { + padding-left: calc(var(--spacing) * 3); + } + .pl-5 { + padding-left: calc(var(--spacing) * 5); + } + .pl-8 { + padding-left: calc(var(--spacing) * 8); + } + .text-center { + text-align: center; + } + .text-left { + text-align: left; + } + .text-right { + text-align: right; + } + .align-middle { + vertical-align: middle; + } + .font-mono { + font-family: var(--font-mono); + } + .text-3xl { + font-size: var(--text-3xl); + line-height: var(--tw-leading, var(--text-3xl--line-height)); + } + .text-4xl { + font-size: var(--text-4xl); + line-height: var(--tw-leading, var(--text-4xl--line-height)); + } + .text-base { + font-size: var(--text-base); + line-height: var(--tw-leading, var(--text-base--line-height)); + } + .text-lg { + font-size: var(--text-lg); + line-height: var(--tw-leading, var(--text-lg--line-height)); + } + .text-sm { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + } + .text-sm\! { + font-size: var(--text-sm) !important; + line-height: var(--tw-leading, var(--text-sm--line-height)) !important; + } + .text-xl { + font-size: var(--text-xl); + line-height: var(--tw-leading, var(--text-xl--line-height)); + } + .text-xl\! { + font-size: var(--text-xl) !important; + line-height: var(--tw-leading, var(--text-xl--line-height)) !important; + } + .text-xs { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + } + .text-\[10px\] { + font-size: 10px; + } + .text-\[11px\] { + font-size: 11px; + } + .text-\[13\.5px\] { + font-size: 13.5px; + } + .text-\[13px\] { + font-size: 13px; + } + .leading-none { + --tw-leading: 1; + line-height: 1; + } + .leading-relaxed { + --tw-leading: var(--leading-relaxed); + line-height: var(--leading-relaxed); + } + .leading-tight { + --tw-leading: var(--leading-tight); + line-height: var(--leading-tight); + } + .font-bold { + --tw-font-weight: var(--font-weight-bold); + font-weight: var(--font-weight-bold); + } + .font-medium { + --tw-font-weight: var(--font-weight-medium); + font-weight: var(--font-weight-medium); + } + .font-normal { + --tw-font-weight: var(--font-weight-normal); + font-weight: var(--font-weight-normal); + } + .font-semibold { + --tw-font-weight: var(--font-weight-semibold); + font-weight: var(--font-weight-semibold); + } + .tracking-widest { + --tw-tracking: var(--tracking-widest); + letter-spacing: var(--tracking-widest); + } + .text-balance { + text-wrap: balance; + } + .break-words { + overflow-wrap: break-word; + } + .wrap-anywhere { + overflow-wrap: anywhere; + } + .break-all { + word-break: break-all; + } + .text-ellipsis { + text-overflow: ellipsis; + } + .whitespace-normal { + white-space: normal; + } + .whitespace-nowrap { + white-space: nowrap; + } + .whitespace-pre-line { + white-space: pre-line; + } + .whitespace-pre-wrap { + white-space: pre-wrap; + } + .text-\[var\(--input-foreground\)\] { + color: var(--input-foreground); + } + .text-blue-400 { + color: var(--color-blue-400); + } + .text-current { + color: currentColor; + } + .text-destructive { + color: var(--color-destructive); + } + .text-destructive-foreground { + color: var(--color-destructive-foreground); + } + .text-emerald-500 { + color: var(--color-emerald-500); + } + .text-foreground { + color: var(--color-foreground); + } + .text-gray-400 { + color: var(--color-gray-400); + } + .text-gray-500 { + color: var(--color-gray-500); + } + .text-green-400 { + color: var(--color-green-400); + } + .text-green-500 { + color: var(--color-green-500); + } + .text-green-600 { + color: var(--color-green-600); + } + .text-inherit { + color: inherit; + } + .text-muted { + color: var(--color-muted); + } + .text-muted-foreground { + color: var(--color-muted-foreground); + } + .text-popover-foreground { + color: var(--color-popover-foreground); + } + .text-primary { + color: var(--color-primary); + } + .text-primary-foreground { + color: var(--color-primary-foreground); + } + .text-red-400 { + color: var(--color-red-400); + } + .text-red-500 { + color: var(--color-red-500); + } + .text-secondary-foreground { + color: var(--color-secondary-foreground); + } + .text-transparent { + color: #0000; + } + .text-vscode-badge-foreground { + color: var(--color-vscode-badge-foreground); + } + .text-vscode-button-foreground { + color: var(--color-vscode-button-foreground); + } + .text-vscode-button-secondaryForeground { + color: var(--color-vscode-button-secondaryForeground); + } + .text-vscode-charts-green { + color: var(--color-vscode-charts-green); + } + .text-vscode-descriptionForeground { + color: var(--color-vscode-descriptionForeground); + } + .text-vscode-dropdown-foreground { + color: var(--color-vscode-dropdown-foreground); + } + .text-vscode-editor-background { + color: var(--color-vscode-editor-background); + } + .text-vscode-editor-foreground { + color: var(--color-vscode-editor-foreground); + } + .text-vscode-editorWarning-foreground { + color: var(--color-vscode-editorWarning-foreground); + } + .text-vscode-errorForeground { + color: var(--color-vscode-errorForeground); + } + .text-vscode-foreground, + .text-vscode-foreground\/70 { + color: var(--color-vscode-foreground); + } + @supports (color: color-mix(in lab, red, red)) { + .text-vscode-foreground\/70 { + color: color-mix(in oklab, var(--color-vscode-foreground) 70%, transparent); + } + } + .text-vscode-foreground\/80 { + color: var(--color-vscode-foreground); + } + @supports (color: color-mix(in lab, red, red)) { + .text-vscode-foreground\/80 { + color: color-mix(in oklab, var(--color-vscode-foreground) 80%, transparent); + } + } + .text-vscode-input-foreground { + color: var(--color-vscode-input-foreground); + } + .text-vscode-list-activeSelectionForeground { + color: var(--color-vscode-list-activeSelectionForeground); + } + .text-vscode-notifications-foreground { + color: var(--color-vscode-notifications-foreground); + } + .text-vscode-sideBar-foreground { + color: var(--color-vscode-sideBar-foreground); + } + .text-vscode-textLink-foreground { + color: var(--color-vscode-textLink-foreground); + } + .text-yellow-500 { + color: var(--color-yellow-500); + } + .capitalize { + text-transform: capitalize; + } + .lowercase { + text-transform: lowercase; + } + .uppercase { + text-transform: uppercase; + } + .italic { + font-style: italic; + } + .no-underline { + text-decoration-line: none; + } + .underline { + text-decoration-line: underline; + } + .underline-offset-4 { + text-underline-offset: 4px; + } + .opacity-0 { + opacity: 0; + } + .opacity-20 { + opacity: 0.2; + } + .opacity-40 { + opacity: 0.4; + } + .opacity-50 { + opacity: 0.5; + } + .opacity-60 { + opacity: 0.6; + } + .opacity-70 { + opacity: 0.7; + } + .opacity-80 { + opacity: 0.8; + } + .opacity-85 { + opacity: 0.85; + } + .opacity-90 { + opacity: 0.9; + } + .opacity-100 { + opacity: 1; + } + .shadow { + --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .shadow-\[0_5px_15px_rgba\(0\,0\,0\,0\.5\)\] { + --tw-shadow: 0 5px 15px var(--tw-shadow-color, #00000080); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .shadow-lg { + --tw-shadow: + 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .shadow-md { + --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .shadow-none { + --tw-shadow: 0 0 #0000; + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .shadow-xs { + --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .ring { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) + var(--tw-ring-color, currentcolor); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .ring-offset-background { + --tw-ring-offset-color: var(--color-background); + } + .outline-hidden { + --tw-outline-style: none; + outline-style: none; + } + @media (forced-colors: active) { + .outline-hidden { + outline-offset: 2px; + outline: 2px solid #0000; + } + } + .outline { + outline-style: var(--tw-outline-style); + outline-width: 1px; + } + .outline-vscode-focusBorder { + outline-color: var(--color-vscode-focusBorder); + } + .blur { + --tw-blur: blur(8px); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) + var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .brightness-90 { + --tw-brightness: brightness(90%); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) + var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .drop-shadow-md { + --tw-drop-shadow-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, #0000001f)); + --tw-drop-shadow: drop-shadow(var(--drop-shadow-md)); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) + var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .grayscale-\[30\%\] { + --tw-grayscale: grayscale(30%); + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) + var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .filter { + filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) + var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); + } + .transition { + transition-property: + color, + background-color, + border-color, + outline-color, + text-decoration-color, + fill, + stroke, + --tw-gradient-from, + --tw-gradient-via, + --tw-gradient-to, + opacity, + box-shadow, + transform, + translate, + scale, + rotate, + filter, + -webkit-backdrop-filter, + backdrop-filter, + display, + visibility, + content-visibility, + overlay, + pointer-events; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-\[color\,box-shadow\] { + transition-property: color, box-shadow; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-all { + transition-property: all; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-colors { + transition-property: + color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, + --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-opacity { + transition-property: opacity; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .transition-transform { + transition-property: transform, translate, scale, rotate; + transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); + transition-duration: var(--tw-duration, var(--default-transition-duration)); + } + .duration-150 { + --tw-duration: 0.15s; + transition-duration: 0.15s; + } + .duration-200 { + --tw-duration: 0.2s; + transition-duration: 0.2s; + } + .duration-300 { + --tw-duration: 0.3s; + transition-duration: 0.3s; + } + .ease-in-out { + --tw-ease: var(--ease-in-out); + transition-timing-function: var(--ease-in-out); + } + .ease-out { + --tw-ease: var(--ease-out); + transition-timing-function: var(--ease-out); + } + .forced-color-adjust-none { + forced-color-adjust: none; + } + .animate-in { + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: 0.15s; + } + .outline-none { + --tw-outline-style: none; + outline-style: none; + } + .select-none { + -webkit-user-select: none; + user-select: none; + } + .\[--border-width\:0\] { + --border-width: 0; + } + .duration-150 { + animation-duration: 0.15s; + } + .duration-200 { + animation-duration: 0.2s; + } + .duration-300 { + animation-duration: 0.3s; + } + .ease-in-out { + animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + } + .ease-out { + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + .fade-in-0 { + --tw-enter-opacity: 0; + } + .running { + animation-play-state: running; + } + .zoom-in { + --tw-enter-scale: 0; + } + .zoom-in-95 { + --tw-enter-scale: 0.95; + } + .zoom-out { + --tw-exit-scale: 0; + } + .group-focus-within\:border-\[var\(--focus-border\)\]:is(:where(.group):focus-within *) { + border-color: var(--focus-border); + } + @media (hover: hover) { + .group-hover\:text-foreground:is(:where(.group):hover *) { + color: var(--color-foreground); + } + .group-hover\:opacity-50:is(:where(.group):hover *) { + opacity: 0.5; + } + .group-hover\:opacity-100:is(:where(.group):hover *) { + opacity: 1; + } + } + .file\:border-0::file-selector-button { + border-style: var(--tw-border-style); + border-width: 0; + } + .file\:bg-transparent::file-selector-button { + background-color: #0000; + } + .file\:text-sm::file-selector-button { + font-size: var(--text-sm); + line-height: var(--tw-leading, var(--text-sm--line-height)); + } + .file\:font-medium::file-selector-button { + --tw-font-weight: var(--font-weight-medium); + font-weight: var(--font-weight-medium); + } + .file\:text-foreground::file-selector-button { + color: var(--color-foreground); + } + .placeholder\:text-muted-foreground::placeholder { + color: var(--color-muted-foreground); + } + .last\:border-b-0:last-child { + border-bottom-style: var(--tw-border-style); + border-bottom-width: 0; + } + @media (hover: hover) { + .hover\:border-\[rgba\(255\,255\,255\,0\.08\)\]:hover { + border-color: #ffffff14; + } + .hover\:border-\[rgba\(255\,255\,255\,0\.15\)\]:hover { + border-color: #ffffff26; + } + .hover\:border-vscode-focusBorder:hover { + border-color: var(--color-vscode-focusBorder); + } + .hover\:border-vscode-toolbar-hoverBackground\/60:hover { + border-color: var(--color-vscode-toolbar-hoverBackground); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:border-vscode-toolbar-hoverBackground\/60:hover { + border-color: color-mix(in oklab, var(--color-vscode-toolbar-hoverBackground) 60%, transparent); + } + } + .hover\:bg-\[rgba\(255\,255\,255\,0\.03\)\]:hover { + background-color: #ffffff08; + } + .hover\:bg-accent:hover { + background-color: var(--color-accent); + } + .hover\:bg-destructive\/80:hover { + background-color: var(--color-destructive); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-destructive\/80:hover { + background-color: color-mix(in oklab, var(--color-destructive) 80%, transparent); + } + } + .hover\:bg-destructive\/90:hover { + background-color: var(--color-destructive); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-destructive\/90:hover { + background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent); + } + } + .hover\:bg-green-500\/10:hover { + background-color: #00c7581a; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-green-500\/10:hover { + background-color: color-mix(in oklab, var(--color-green-500) 10%, transparent); + } + } + .hover\:bg-green-500\/30:hover { + background-color: #00c7584d; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-green-500\/30:hover { + background-color: color-mix(in oklab, var(--color-green-500) 30%, transparent); + } + } + .hover\:bg-primary\/80:hover { + background-color: var(--color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-primary\/80:hover { + background-color: color-mix(in oklab, var(--color-primary) 80%, transparent); + } + } + .hover\:bg-primary\/90:hover { + background-color: var(--color-primary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-primary\/90:hover { + background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); + } + } + .hover\:bg-red-500\/10:hover { + background-color: #fb2c361a; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-red-500\/10:hover { + background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent); + } + } + .hover\:bg-red-500\/30:hover { + background-color: #fb2c364d; + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-red-500\/30:hover { + background-color: color-mix(in oklab, var(--color-red-500) 30%, transparent); + } + } + .hover\:bg-secondary:hover, + .hover\:bg-secondary\/80:hover { + background-color: var(--color-secondary); + } + @supports (color: color-mix(in lab, red, red)) { + .hover\:bg-secondary\/80:hover { + background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent); + } + } + .hover\:bg-transparent:hover { + background-color: #0000; + } + .hover\:bg-vscode-button-hoverBackground:hover { + background-color: var(--color-vscode-button-hoverBackground); + } + .hover\:bg-vscode-button-secondaryBackground:hover { + background-color: var(--color-vscode-button-secondaryBackground); + } + .hover\:bg-vscode-list-hoverBackground:hover { + background-color: var(--color-vscode-list-hoverBackground); + } + .hover\:bg-vscode-toolbar-hoverBackground:hover { + background-color: var(--color-vscode-toolbar-hoverBackground); + } + .hover\:text-accent-foreground:hover { + color: var(--color-accent-foreground); + } + .hover\:text-foreground:hover { + color: var(--color-foreground); + } + .hover\:text-green-500:hover { + color: var(--color-green-500); + } + .hover\:text-red-400:hover { + color: var(--color-red-400); + } + .hover\:text-red-500:hover { + color: var(--color-red-500); + } + .hover\:text-vscode-editor-foreground:hover { + color: var(--color-vscode-editor-foreground); + } + .hover\:text-vscode-foreground:hover { + color: var(--color-vscode-foreground); + } + .hover\:text-vscode-textLink-foreground:hover { + color: var(--color-vscode-textLink-foreground); + } + .hover\:text-white:hover { + color: var(--color-white); + } + .hover\:underline:hover { + text-decoration-line: underline; + } + .hover\:opacity-80:hover { + opacity: 0.8; + } + .hover\:opacity-100:hover { + opacity: 1; + } + } + .focus\:bg-vscode-list-activeSelectionBackground:focus { + background-color: var(--color-vscode-list-activeSelectionBackground); + } + .focus\:text-accent-foreground:focus { + color: var(--color-accent-foreground); + } + .focus\:text-vscode-list-activeSelectionForeground:focus { + color: var(--color-vscode-list-activeSelectionForeground); + } + .focus\:ring-0:focus { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) + var(--tw-ring-color, currentcolor); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .focus\:ring-1:focus { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) + var(--tw-ring-color, currentcolor); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .focus\:ring-2:focus { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) + var(--tw-ring-color, currentcolor); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .focus\:ring-ring:focus { + --tw-ring-color: var(--color-ring); + } + .focus\:ring-vscode-focusBorder:focus { + --tw-ring-color: var(--color-vscode-focusBorder); + } + .focus\:ring-offset-2:focus { + --tw-ring-offset-width: 2px; + --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + } + .focus\:outline-hidden:focus { + --tw-outline-style: none; + outline-style: none; + } + @media (forced-colors: active) { + .focus\:outline-hidden:focus { + outline-offset: 2px; + outline: 2px solid #0000; + } + } + .focus\:outline-0:focus { + outline-style: var(--tw-outline-style); + outline-width: 0; + } + .focus\:outline-none:focus { + --tw-outline-style: none; + outline-style: none; + } + .focus-visible\:border-vscode-focusBorder:focus-visible { + border-color: var(--color-vscode-focusBorder); + } + .focus-visible\:ring-1:focus-visible { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) + var(--tw-ring-color, currentcolor); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .focus-visible\:ring-2:focus-visible { + --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) + var(--tw-ring-color, currentcolor); + box-shadow: + var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), + var(--tw-shadow); + } + .focus-visible\:ring-ring:focus-visible { + --tw-ring-color: var(--color-ring); + } + .focus-visible\:ring-vscode-focusBorder:focus-visible { + --tw-ring-color: var(--color-vscode-focusBorder); + } + .focus-visible\:ring-offset-2:focus-visible { + --tw-ring-offset-width: 2px; + --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + } + .focus-visible\:outline-none:focus-visible { + --tw-outline-style: none; + outline-style: none; + } + .focus-visible\:ring-inset:focus-visible { + --tw-ring-inset: inset; + } + .active\:bg-\[rgba\(255\,255\,255\,0\.1\)\]:active { + background-color: #ffffff1a; + } + .active\:bg-transparent:active { + background-color: #0000; + } + .active\:opacity-80:active { + opacity: 0.8; + } + .active\:opacity-90:active { + opacity: 0.9; + } + .disabled\:pointer-events-none:disabled { + pointer-events: none; + } + .disabled\:cursor-not-allowed:disabled { + cursor: not-allowed; + } + .disabled\:opacity-50:disabled { + opacity: 0.5; + } + .aria-expanded\:border-vscode-focusBorder[aria-expanded="true"] { + border-color: var(--color-vscode-focusBorder); + } + .aria-invalid\:border-destructive[aria-invalid="true"] { + border-color: var(--color-destructive); + } + .data-\[compact\=true\]\:w-12[data-compact="true"] { + width: calc(var(--spacing) * 12); + } + .data-\[compact\=true\]\:p-4[data-compact="true"] { + padding: calc(var(--spacing) * 4); + } + .data-\[disabled\]\:pointer-events-none[data-disabled] { + pointer-events: none; + } + .data-\[disabled\]\:opacity-50[data-disabled] { + opacity: 0.5; + } + .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] { + pointer-events: none; + } + .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] { + opacity: 0.5; + } + .data-\[placeholder\]\:text-muted-foreground[data-placeholder] { + color: var(--color-muted-foreground); + } + .data-\[selected\=true\]\:bg-vscode-list-activeSelectionBackground[data-selected="true"] { + background-color: var(--color-vscode-list-activeSelectionBackground); + } + .data-\[selected\=true\]\:text-vscode-list-activeSelectionForeground[data-selected="true"] { + color: var(--color-vscode-list-activeSelectionForeground); + } + .data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] { + --tw-translate-y: calc(var(--spacing) * 1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] { + --tw-enter-translate-y: -0.5rem; + } + .data-\[side\=left\]\:-translate-x-1[data-side="left"] { + --tw-translate-x: calc(var(--spacing) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] { + --tw-enter-translate-x: 0.5rem; + } + .data-\[side\=right\]\:translate-x-1[data-side="right"] { + --tw-translate-x: calc(var(--spacing) * 1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] { + --tw-enter-translate-x: -0.5rem; + } + .data-\[side\=top\]\:-translate-y-1[data-side="top"] { + --tw-translate-y: calc(var(--spacing) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } + .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] { + --tw-enter-translate-y: 0.5rem; + } + :is(.\*\:data-\[slot\=select-value\]\:line-clamp-1 > *)[data-slot="select-value"] { + -webkit-line-clamp: 1; + -webkit-box-orient: vertical; + display: -webkit-box; + overflow: hidden; + } + :is(.\*\:data-\[slot\=select-value\]\:flex > *)[data-slot="select-value"] { + display: flex; + } + :is(.\*\:data-\[slot\=select-value\]\:items-center > *)[data-slot="select-value"] { + align-items: center; + } + :is(.\*\:data-\[slot\=select-value\]\:gap-2 > *)[data-slot="select-value"] { + gap: calc(var(--spacing) * 2); + } + .data-\[state\=checked\]\:bg-vscode-descriptionForeground[data-state="checked"] { + background-color: var(--color-vscode-descriptionForeground); + } + .data-\[state\=checked\]\:bg-vscode-foreground[data-state="checked"] { + background-color: var(--color-vscode-foreground); + } + .data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] { + color: var(--color-primary-foreground); + } + .data-\[state\=checked\]\:text-white[data-state="checked"] { + color: var(--color-white); + } + .data-\[state\=closed\]\:animate-out[data-state="closed"] { + --tw-exit-opacity: initial; + --tw-exit-scale: initial; + --tw-exit-rotate: initial; + --tw-exit-translate-x: initial; + --tw-exit-translate-y: initial; + animation-name: exit; + animation-duration: 0.15s; + } + .data-\[state\=closed\]\:fade-out-0[data-state="closed"] { + --tw-exit-opacity: 0; + } + .data-\[state\=closed\]\:zoom-out-95[data-state="closed"] { + --tw-exit-scale: 0.95; + } + .data-\[state\=open\]\:bg-accent[data-state="open"] { + background-color: var(--color-accent); + } + .data-\[state\=open\]\:text-muted-foreground[data-state="open"] { + color: var(--color-muted-foreground); + } + .data-\[state\=open\]\:animate-in[data-state="open"] { + --tw-enter-opacity: initial; + --tw-enter-scale: initial; + --tw-enter-rotate: initial; + --tw-enter-translate-x: initial; + --tw-enter-translate-y: initial; + animation-name: enter; + animation-duration: 0.15s; + } + .data-\[state\=open\]\:fade-in-0[data-state="open"] { + --tw-enter-opacity: 0; + } + .data-\[state\=open\]\:zoom-in-95[data-state="open"] { + --tw-enter-scale: 0.95; + } + @media (min-width: 370px) { + .min-\[370px\]\:px-10 { + padding-inline: calc(var(--spacing) * 10); + } + } + @media (min-width: 40rem) { + .sm\:max-w-\[500px\] { + max-width: 500px; + } + .sm\:max-w-\[600px\] { + max-width: 600px; + } + .sm\:max-w-lg { + max-width: var(--container-lg); + } + .sm\:max-w-md { + max-width: var(--container-md); + } + .sm\:flex-row { + flex-direction: row; + } + .sm\:justify-end { + justify-content: flex-end; + } + .sm\:text-left { + text-align: left; + } + } + @media (min-width: 48rem) { + .md\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } + @media (min-width: 64rem) { + .lg\:grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + } + @media (min-width: 80rem) { + .xl\:grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + } + @media (prefers-color-scheme: dark) { + .dark\:text-green-400 { + color: var(--color-green-400); + } + } + .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] { + padding-inline: calc(var(--spacing) * 2); + } + .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] { + padding-block: calc(var(--spacing) * 1.5); + } + .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] { + font-size: var(--text-xs); + line-height: var(--tw-leading, var(--text-xs--line-height)); + } + .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] { + --tw-font-weight: var(--font-weight-medium); + font-weight: var(--font-weight-medium); + } + .\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] { + color: var(--color-muted-foreground); + } + .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] { + padding-inline: calc(var(--spacing) * 2); + } + .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] { + padding-top: calc(var(--spacing) * 0); + } + .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg { + height: calc(var(--spacing) * 5); + } + .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg { + width: calc(var(--spacing) * 5); + } + .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] { + height: calc(var(--spacing) * 12); + } + .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] { + padding-inline: calc(var(--spacing) * 2); + } + .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] { + padding-block: calc(var(--spacing) * 3); + } + .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg { + height: calc(var(--spacing) * 5); + } + .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg { + width: calc(var(--spacing) * 5); + } + .\[\&_svg\]\:pointer-events-none svg { + pointer-events: none; + } + .\[\&_svg\]\:size-4 svg { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + } + .\[\&_svg\]\:shrink-0 svg { + flex-shrink: 0; + } + .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + } + .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*="text-"]) { + color: var(--color-muted-foreground); + } + .\[\&\.narrow_\.tab-label\]\:hidden.narrow .tab-label { + display: none; + } + .\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + .\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + :is(.\*\:\[span\]\:last\:flex > *):is(span):last-child { + display: flex; + } + :is(.\*\:\[span\]\:last\:items-center > *):is(span):last-child { + align-items: center; + } + :is(.\*\:\[span\]\:last\:gap-2 > *):is(span):last-child { + gap: calc(var(--spacing) * 2); + } + .\[\&\>svg\]\:size-4 > svg { + width: calc(var(--spacing) * 4); + height: calc(var(--spacing) * 4); + } + .\[\&\>svg\]\:shrink-0 > svg { + flex-shrink: 0; + } +} +@font-face { + font-family: KaTeX_AMS; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_AMS-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_AMS-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_AMS-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Caligraphic; + font-style: normal; + font-weight: 700; + src: + url(/assets/fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Caligraphic-Bold.woff) format("woff"), + url(/assets/fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Caligraphic; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Caligraphic-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Fraktur; + font-style: normal; + font-weight: 700; + src: + url(/assets/fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Fraktur-Bold.woff) format("woff"), + url(/assets/fonts/KaTeX_Fraktur-Bold.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Fraktur; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Fraktur-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Fraktur-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Main; + font-style: normal; + font-weight: 700; + src: + url(/assets/fonts/KaTeX_Main-Bold.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Main-Bold.woff) format("woff"), + url(/assets/fonts/KaTeX_Main-Bold.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Main; + font-style: italic; + font-weight: 700; + src: + url(/assets/fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Main-BoldItalic.woff) format("woff"), + url(/assets/fonts/KaTeX_Main-BoldItalic.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Main; + font-style: italic; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Main-Italic.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Main-Italic.woff) format("woff"), + url(/assets/fonts/KaTeX_Main-Italic.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Main; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Main-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Main-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Main-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Math; + font-style: italic; + font-weight: 700; + src: + url(/assets/fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Math-BoldItalic.woff) format("woff"), + url(/assets/fonts/KaTeX_Math-BoldItalic.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Math; + font-style: italic; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Math-Italic.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Math-Italic.woff) format("woff"), + url(/assets/fonts/KaTeX_Math-Italic.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_SansSerif; + font-style: normal; + font-weight: 700; + src: + url(/assets/fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"), + url(/assets/fonts/KaTeX_SansSerif-Bold.woff) format("woff"), + url(/assets/fonts/KaTeX_SansSerif-Bold.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_SansSerif; + font-style: italic; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"), + url(/assets/fonts/KaTeX_SansSerif-Italic.woff) format("woff"), + url(/assets/fonts/KaTeX_SansSerif-Italic.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_SansSerif; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_SansSerif-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_SansSerif-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Script; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Script-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Script-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Script-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Size1; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Size1-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Size1-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Size1-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Size2; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Size2-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Size2-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Size2-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Size3; + font-style: normal; + font-weight: 400; + src: + url(data:font/woff2;base64,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) + format("woff2"), + url(/assets/fonts/KaTeX_Size3-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Size3-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Size4; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Size4-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Size4-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Size4-Regular.ttf) format("truetype"); +} +@font-face { + font-family: KaTeX_Typewriter; + font-style: normal; + font-weight: 400; + src: + url(/assets/fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"), + url(/assets/fonts/KaTeX_Typewriter-Regular.woff) format("woff"), + url(/assets/fonts/KaTeX_Typewriter-Regular.ttf) format("truetype"); +} +.katex { + text-indent: 0; + text-rendering: auto; + font: + 1.21em/1.2 KaTeX_Main, + Times New Roman, + serif; +} +.katex * { + border-color: currentColor; + -ms-high-contrast-adjust: none !important; +} +.katex .katex-version:after { + content: "0.16.22"; +} +.katex .katex-mathml { + clip: rect(1px, 1px, 1px, 1px); + border: 0; + width: 1px; + height: 1px; + padding: 0; + position: absolute; + overflow: hidden; +} +.katex .katex-html > .newline { + display: block; +} +.katex .base { + white-space: nowrap; + width: min-content; + position: relative; +} +.katex .base, +.katex .strut { + display: inline-block; +} +.katex .textbf { + font-weight: 700; +} +.katex .textit { + font-style: italic; +} +.katex .textrm { + font-family: KaTeX_Main; +} +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .texttt { + font-family: KaTeX_Typewriter; +} +.katex .mathnormal { + font-family: KaTeX_Math; + font-style: italic; +} +.katex .mathit { + font-family: KaTeX_Main; + font-style: italic; +} +.katex .mathrm { + font-style: normal; +} +.katex .mathbf { + font-family: KaTeX_Main; + font-weight: 700; +} +.katex .boldsymbol { + font-family: KaTeX_Math; + font-style: italic; + font-weight: 700; +} +.katex .amsrm, +.katex .mathbb, +.katex .textbb { + font-family: KaTeX_AMS; +} +.katex .mathcal { + font-family: KaTeX_Caligraphic; +} +.katex .mathfrak, +.katex .textfrak { + font-family: KaTeX_Fraktur; +} +.katex .mathboldfrak, +.katex .textboldfrak { + font-family: KaTeX_Fraktur; + font-weight: 700; +} +.katex .mathtt { + font-family: KaTeX_Typewriter; +} +.katex .mathscr, +.katex .textscr { + font-family: KaTeX_Script; +} +.katex .mathsf, +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .mathboldsf, +.katex .textboldsf { + font-family: KaTeX_SansSerif; + font-weight: 700; +} +.katex .mathitsf, +.katex .mathsfit, +.katex .textitsf { + font-family: KaTeX_SansSerif; + font-style: italic; +} +.katex .mainrm { + font-family: KaTeX_Main; + font-style: normal; +} +.katex .vlist-t { + border-collapse: collapse; + table-layout: fixed; + display: inline-table; +} +.katex .vlist-r { + display: table-row; +} +.katex .vlist { + vertical-align: bottom; + display: table-cell; + position: relative; +} +.katex .vlist > span { + height: 0; + display: block; + position: relative; +} +.katex .vlist > span > span { + display: inline-block; +} +.katex .vlist > span > .pstrut { + width: 0; + overflow: hidden; +} +.katex .vlist-t2 { + margin-right: -2px; +} +.katex .vlist-s { + vertical-align: bottom; + width: 2px; + min-width: 2px; + font-size: 1px; + display: table-cell; +} +.katex .vbox { + flex-direction: column; + align-items: baseline; + display: inline-flex; +} +.katex .hbox { + width: 100%; +} +.katex .hbox, +.katex .thinbox { + flex-direction: row; + display: inline-flex; +} +.katex .thinbox { + width: 0; + max-width: 0; +} +.katex .msupsub { + text-align: left; +} +.katex .mfrac > span > span { + text-align: center; +} +.katex .mfrac .frac-line { + border-bottom-style: solid; + width: 100%; + display: inline-block; +} +.katex .hdashline, +.katex .hline, +.katex .mfrac .frac-line, +.katex .overline .overline-line, +.katex .rule, +.katex .underline .underline-line { + min-height: 1px; +} +.katex .mspace { + display: inline-block; +} +.katex .clap, +.katex .llap, +.katex .rlap { + width: 0; + position: relative; +} +.katex .clap > .inner, +.katex .llap > .inner, +.katex .rlap > .inner { + position: absolute; +} +.katex .clap > .fix, +.katex .llap > .fix, +.katex .rlap > .fix { + display: inline-block; +} +.katex .llap > .inner { + right: 0; +} +.katex .clap > .inner, +.katex .rlap > .inner { + left: 0; +} +.katex .clap > .inner > span { + margin-left: -50%; + margin-right: 50%; +} +.katex .rule { + border: 0 solid; + display: inline-block; + position: relative; +} +.katex .hline, +.katex .overline .overline-line, +.katex .underline .underline-line { + border-bottom-style: solid; + width: 100%; + display: inline-block; +} +.katex .hdashline { + border-bottom-style: dashed; + width: 100%; + display: inline-block; +} +.katex .sqrt > .root { + margin-left: 0.277778em; + margin-right: -0.555556em; +} +.katex .fontsize-ensurer.reset-size1.size1, +.katex .sizing.reset-size1.size1 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size1.size2, +.katex .sizing.reset-size1.size2 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size1.size3, +.katex .sizing.reset-size1.size3 { + font-size: 1.4em; +} +.katex .fontsize-ensurer.reset-size1.size4, +.katex .sizing.reset-size1.size4 { + font-size: 1.6em; +} +.katex .fontsize-ensurer.reset-size1.size5, +.katex .sizing.reset-size1.size5 { + font-size: 1.8em; +} +.katex .fontsize-ensurer.reset-size1.size6, +.katex .sizing.reset-size1.size6 { + font-size: 2em; +} +.katex .fontsize-ensurer.reset-size1.size7, +.katex .sizing.reset-size1.size7 { + font-size: 2.4em; +} +.katex .fontsize-ensurer.reset-size1.size8, +.katex .sizing.reset-size1.size8 { + font-size: 2.88em; +} +.katex .fontsize-ensurer.reset-size1.size9, +.katex .sizing.reset-size1.size9 { + font-size: 3.456em; +} +.katex .fontsize-ensurer.reset-size1.size10, +.katex .sizing.reset-size1.size10 { + font-size: 4.148em; +} +.katex .fontsize-ensurer.reset-size1.size11, +.katex .sizing.reset-size1.size11 { + font-size: 4.976em; +} +.katex .fontsize-ensurer.reset-size2.size1, +.katex .sizing.reset-size2.size1 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size2.size2, +.katex .sizing.reset-size2.size2 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size2.size3, +.katex .sizing.reset-size2.size3 { + font-size: 1.16667em; +} +.katex .fontsize-ensurer.reset-size2.size4, +.katex .sizing.reset-size2.size4 { + font-size: 1.33333em; +} +.katex .fontsize-ensurer.reset-size2.size5, +.katex .sizing.reset-size2.size5 { + font-size: 1.5em; +} +.katex .fontsize-ensurer.reset-size2.size6, +.katex .sizing.reset-size2.size6 { + font-size: 1.66667em; +} +.katex .fontsize-ensurer.reset-size2.size7, +.katex .sizing.reset-size2.size7 { + font-size: 2em; +} +.katex .fontsize-ensurer.reset-size2.size8, +.katex .sizing.reset-size2.size8 { + font-size: 2.4em; +} +.katex .fontsize-ensurer.reset-size2.size9, +.katex .sizing.reset-size2.size9 { + font-size: 2.88em; +} +.katex .fontsize-ensurer.reset-size2.size10, +.katex .sizing.reset-size2.size10 { + font-size: 3.45667em; +} +.katex .fontsize-ensurer.reset-size2.size11, +.katex .sizing.reset-size2.size11 { + font-size: 4.14667em; +} +.katex .fontsize-ensurer.reset-size3.size1, +.katex .sizing.reset-size3.size1 { + font-size: 0.714286em; +} +.katex .fontsize-ensurer.reset-size3.size2, +.katex .sizing.reset-size3.size2 { + font-size: 0.857143em; +} +.katex .fontsize-ensurer.reset-size3.size3, +.katex .sizing.reset-size3.size3 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size3.size4, +.katex .sizing.reset-size3.size4 { + font-size: 1.14286em; +} +.katex .fontsize-ensurer.reset-size3.size5, +.katex .sizing.reset-size3.size5 { + font-size: 1.28571em; +} +.katex .fontsize-ensurer.reset-size3.size6, +.katex .sizing.reset-size3.size6 { + font-size: 1.42857em; +} +.katex .fontsize-ensurer.reset-size3.size7, +.katex .sizing.reset-size3.size7 { + font-size: 1.71429em; +} +.katex .fontsize-ensurer.reset-size3.size8, +.katex .sizing.reset-size3.size8 { + font-size: 2.05714em; +} +.katex .fontsize-ensurer.reset-size3.size9, +.katex .sizing.reset-size3.size9 { + font-size: 2.46857em; +} +.katex .fontsize-ensurer.reset-size3.size10, +.katex .sizing.reset-size3.size10 { + font-size: 2.96286em; +} +.katex .fontsize-ensurer.reset-size3.size11, +.katex .sizing.reset-size3.size11 { + font-size: 3.55429em; +} +.katex .fontsize-ensurer.reset-size4.size1, +.katex .sizing.reset-size4.size1 { + font-size: 0.625em; +} +.katex .fontsize-ensurer.reset-size4.size2, +.katex .sizing.reset-size4.size2 { + font-size: 0.75em; +} +.katex .fontsize-ensurer.reset-size4.size3, +.katex .sizing.reset-size4.size3 { + font-size: 0.875em; +} +.katex .fontsize-ensurer.reset-size4.size4, +.katex .sizing.reset-size4.size4 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size4.size5, +.katex .sizing.reset-size4.size5 { + font-size: 1.125em; +} +.katex .fontsize-ensurer.reset-size4.size6, +.katex .sizing.reset-size4.size6 { + font-size: 1.25em; +} +.katex .fontsize-ensurer.reset-size4.size7, +.katex .sizing.reset-size4.size7 { + font-size: 1.5em; +} +.katex .fontsize-ensurer.reset-size4.size8, +.katex .sizing.reset-size4.size8 { + font-size: 1.8em; +} +.katex .fontsize-ensurer.reset-size4.size9, +.katex .sizing.reset-size4.size9 { + font-size: 2.16em; +} +.katex .fontsize-ensurer.reset-size4.size10, +.katex .sizing.reset-size4.size10 { + font-size: 2.5925em; +} +.katex .fontsize-ensurer.reset-size4.size11, +.katex .sizing.reset-size4.size11 { + font-size: 3.11em; +} +.katex .fontsize-ensurer.reset-size5.size1, +.katex .sizing.reset-size5.size1 { + font-size: 0.555556em; +} +.katex .fontsize-ensurer.reset-size5.size2, +.katex .sizing.reset-size5.size2 { + font-size: 0.666667em; +} +.katex .fontsize-ensurer.reset-size5.size3, +.katex .sizing.reset-size5.size3 { + font-size: 0.777778em; +} +.katex .fontsize-ensurer.reset-size5.size4, +.katex .sizing.reset-size5.size4 { + font-size: 0.888889em; +} +.katex .fontsize-ensurer.reset-size5.size5, +.katex .sizing.reset-size5.size5 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size5.size6, +.katex .sizing.reset-size5.size6 { + font-size: 1.11111em; +} +.katex .fontsize-ensurer.reset-size5.size7, +.katex .sizing.reset-size5.size7 { + font-size: 1.33333em; +} +.katex .fontsize-ensurer.reset-size5.size8, +.katex .sizing.reset-size5.size8 { + font-size: 1.6em; +} +.katex .fontsize-ensurer.reset-size5.size9, +.katex .sizing.reset-size5.size9 { + font-size: 1.92em; +} +.katex .fontsize-ensurer.reset-size5.size10, +.katex .sizing.reset-size5.size10 { + font-size: 2.30444em; +} +.katex .fontsize-ensurer.reset-size5.size11, +.katex .sizing.reset-size5.size11 { + font-size: 2.76444em; +} +.katex .fontsize-ensurer.reset-size6.size1, +.katex .sizing.reset-size6.size1 { + font-size: 0.5em; +} +.katex .fontsize-ensurer.reset-size6.size2, +.katex .sizing.reset-size6.size2 { + font-size: 0.6em; +} +.katex .fontsize-ensurer.reset-size6.size3, +.katex .sizing.reset-size6.size3 { + font-size: 0.7em; +} +.katex .fontsize-ensurer.reset-size6.size4, +.katex .sizing.reset-size6.size4 { + font-size: 0.8em; +} +.katex .fontsize-ensurer.reset-size6.size5, +.katex .sizing.reset-size6.size5 { + font-size: 0.9em; +} +.katex .fontsize-ensurer.reset-size6.size6, +.katex .sizing.reset-size6.size6 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size6.size7, +.katex .sizing.reset-size6.size7 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size6.size8, +.katex .sizing.reset-size6.size8 { + font-size: 1.44em; +} +.katex .fontsize-ensurer.reset-size6.size9, +.katex .sizing.reset-size6.size9 { + font-size: 1.728em; +} +.katex .fontsize-ensurer.reset-size6.size10, +.katex .sizing.reset-size6.size10 { + font-size: 2.074em; +} +.katex .fontsize-ensurer.reset-size6.size11, +.katex .sizing.reset-size6.size11 { + font-size: 2.488em; +} +.katex .fontsize-ensurer.reset-size7.size1, +.katex .sizing.reset-size7.size1 { + font-size: 0.416667em; +} +.katex .fontsize-ensurer.reset-size7.size2, +.katex .sizing.reset-size7.size2 { + font-size: 0.5em; +} +.katex .fontsize-ensurer.reset-size7.size3, +.katex .sizing.reset-size7.size3 { + font-size: 0.583333em; +} +.katex .fontsize-ensurer.reset-size7.size4, +.katex .sizing.reset-size7.size4 { + font-size: 0.666667em; +} +.katex .fontsize-ensurer.reset-size7.size5, +.katex .sizing.reset-size7.size5 { + font-size: 0.75em; +} +.katex .fontsize-ensurer.reset-size7.size6, +.katex .sizing.reset-size7.size6 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size7.size7, +.katex .sizing.reset-size7.size7 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size7.size8, +.katex .sizing.reset-size7.size8 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size7.size9, +.katex .sizing.reset-size7.size9 { + font-size: 1.44em; +} +.katex .fontsize-ensurer.reset-size7.size10, +.katex .sizing.reset-size7.size10 { + font-size: 1.72833em; +} +.katex .fontsize-ensurer.reset-size7.size11, +.katex .sizing.reset-size7.size11 { + font-size: 2.07333em; +} +.katex .fontsize-ensurer.reset-size8.size1, +.katex .sizing.reset-size8.size1 { + font-size: 0.347222em; +} +.katex .fontsize-ensurer.reset-size8.size2, +.katex .sizing.reset-size8.size2 { + font-size: 0.416667em; +} +.katex .fontsize-ensurer.reset-size8.size3, +.katex .sizing.reset-size8.size3 { + font-size: 0.486111em; +} +.katex .fontsize-ensurer.reset-size8.size4, +.katex .sizing.reset-size8.size4 { + font-size: 0.555556em; +} +.katex .fontsize-ensurer.reset-size8.size5, +.katex .sizing.reset-size8.size5 { + font-size: 0.625em; +} +.katex .fontsize-ensurer.reset-size8.size6, +.katex .sizing.reset-size8.size6 { + font-size: 0.694444em; +} +.katex .fontsize-ensurer.reset-size8.size7, +.katex .sizing.reset-size8.size7 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size8.size8, +.katex .sizing.reset-size8.size8 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size8.size9, +.katex .sizing.reset-size8.size9 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size8.size10, +.katex .sizing.reset-size8.size10 { + font-size: 1.44028em; +} +.katex .fontsize-ensurer.reset-size8.size11, +.katex .sizing.reset-size8.size11 { + font-size: 1.72778em; +} +.katex .fontsize-ensurer.reset-size9.size1, +.katex .sizing.reset-size9.size1 { + font-size: 0.289352em; +} +.katex .fontsize-ensurer.reset-size9.size2, +.katex .sizing.reset-size9.size2 { + font-size: 0.347222em; +} +.katex .fontsize-ensurer.reset-size9.size3, +.katex .sizing.reset-size9.size3 { + font-size: 0.405093em; +} +.katex .fontsize-ensurer.reset-size9.size4, +.katex .sizing.reset-size9.size4 { + font-size: 0.462963em; +} +.katex .fontsize-ensurer.reset-size9.size5, +.katex .sizing.reset-size9.size5 { + font-size: 0.520833em; +} +.katex .fontsize-ensurer.reset-size9.size6, +.katex .sizing.reset-size9.size6 { + font-size: 0.578704em; +} +.katex .fontsize-ensurer.reset-size9.size7, +.katex .sizing.reset-size9.size7 { + font-size: 0.694444em; +} +.katex .fontsize-ensurer.reset-size9.size8, +.katex .sizing.reset-size9.size8 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size9.size9, +.katex .sizing.reset-size9.size9 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size9.size10, +.katex .sizing.reset-size9.size10 { + font-size: 1.20023em; +} +.katex .fontsize-ensurer.reset-size9.size11, +.katex .sizing.reset-size9.size11 { + font-size: 1.43981em; +} +.katex .fontsize-ensurer.reset-size10.size1, +.katex .sizing.reset-size10.size1 { + font-size: 0.24108em; +} +.katex .fontsize-ensurer.reset-size10.size2, +.katex .sizing.reset-size10.size2 { + font-size: 0.289296em; +} +.katex .fontsize-ensurer.reset-size10.size3, +.katex .sizing.reset-size10.size3 { + font-size: 0.337512em; +} +.katex .fontsize-ensurer.reset-size10.size4, +.katex .sizing.reset-size10.size4 { + font-size: 0.385728em; +} +.katex .fontsize-ensurer.reset-size10.size5, +.katex .sizing.reset-size10.size5 { + font-size: 0.433944em; +} +.katex .fontsize-ensurer.reset-size10.size6, +.katex .sizing.reset-size10.size6 { + font-size: 0.48216em; +} +.katex .fontsize-ensurer.reset-size10.size7, +.katex .sizing.reset-size10.size7 { + font-size: 0.578592em; +} +.katex .fontsize-ensurer.reset-size10.size8, +.katex .sizing.reset-size10.size8 { + font-size: 0.694311em; +} +.katex .fontsize-ensurer.reset-size10.size9, +.katex .sizing.reset-size10.size9 { + font-size: 0.833173em; +} +.katex .fontsize-ensurer.reset-size10.size10, +.katex .sizing.reset-size10.size10 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size10.size11, +.katex .sizing.reset-size10.size11 { + font-size: 1.19961em; +} +.katex .fontsize-ensurer.reset-size11.size1, +.katex .sizing.reset-size11.size1 { + font-size: 0.200965em; +} +.katex .fontsize-ensurer.reset-size11.size2, +.katex .sizing.reset-size11.size2 { + font-size: 0.241158em; +} +.katex .fontsize-ensurer.reset-size11.size3, +.katex .sizing.reset-size11.size3 { + font-size: 0.281351em; +} +.katex .fontsize-ensurer.reset-size11.size4, +.katex .sizing.reset-size11.size4 { + font-size: 0.321543em; +} +.katex .fontsize-ensurer.reset-size11.size5, +.katex .sizing.reset-size11.size5 { + font-size: 0.361736em; +} +.katex .fontsize-ensurer.reset-size11.size6, +.katex .sizing.reset-size11.size6 { + font-size: 0.401929em; +} +.katex .fontsize-ensurer.reset-size11.size7, +.katex .sizing.reset-size11.size7 { + font-size: 0.482315em; +} +.katex .fontsize-ensurer.reset-size11.size8, +.katex .sizing.reset-size11.size8 { + font-size: 0.578778em; +} +.katex .fontsize-ensurer.reset-size11.size9, +.katex .sizing.reset-size11.size9 { + font-size: 0.694534em; +} +.katex .fontsize-ensurer.reset-size11.size10, +.katex .sizing.reset-size11.size10 { + font-size: 0.833601em; +} +.katex .fontsize-ensurer.reset-size11.size11, +.katex .sizing.reset-size11.size11 { + font-size: 1em; +} +.katex .delimsizing.size1 { + font-family: KaTeX_Size1; +} +.katex .delimsizing.size2 { + font-family: KaTeX_Size2; +} +.katex .delimsizing.size3 { + font-family: KaTeX_Size3; +} +.katex .delimsizing.size4 { + font-family: KaTeX_Size4; +} +.katex .delimsizing.mult .delim-size1 > span { + font-family: KaTeX_Size1; +} +.katex .delimsizing.mult .delim-size4 > span { + font-family: KaTeX_Size4; +} +.katex .nulldelimiter { + width: 0.12em; + display: inline-block; +} +.katex .delimcenter, +.katex .op-symbol { + position: relative; +} +.katex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.katex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.katex .accent > .vlist-t, +.katex .op-limits > .vlist-t { + text-align: center; +} +.katex .accent .accent-body { + position: relative; +} +.katex .accent .accent-body:not(.accent-full) { + width: 0; +} +.katex .overlay { + display: block; +} +.katex .mtable .vertical-separator { + min-width: 1px; + display: inline-block; +} +.katex .mtable .arraycolsep { + display: inline-block; +} +.katex .mtable .col-align-c > .vlist-t { + text-align: center; +} +.katex .mtable .col-align-l > .vlist-t { + text-align: left; +} +.katex .mtable .col-align-r > .vlist-t { + text-align: right; +} +.katex .svg-align { + text-align: left; +} +.katex svg { + fill: currentColor; + stroke: currentColor; + fill-rule: nonzero; + fill-opacity: 1; + stroke-width: 1px; + stroke-linecap: butt; + stroke-linejoin: miter; + stroke-miterlimit: 4; + stroke-dasharray: none; + stroke-dashoffset: 0; + stroke-opacity: 1; + height: inherit; + width: 100%; + display: block; + position: absolute; +} +.katex svg path { + stroke: none; +} +.katex img { + border-style: none; + min-width: 0; + max-width: none; + min-height: 0; + max-height: none; +} +.katex .stretchy { + width: 100%; + display: block; + position: relative; + overflow: hidden; +} +.katex .stretchy:after, +.katex .stretchy:before { + content: ""; +} +.katex .hide-tail { + width: 100%; + position: relative; + overflow: hidden; +} +.katex .halfarrow-left { + width: 50.2%; + position: absolute; + left: 0; + overflow: hidden; +} +.katex .halfarrow-right { + width: 50.2%; + position: absolute; + right: 0; + overflow: hidden; +} +.katex .brace-left { + width: 25.1%; + position: absolute; + left: 0; + overflow: hidden; +} +.katex .brace-center { + width: 50%; + position: absolute; + left: 25%; + overflow: hidden; +} +.katex .brace-right { + width: 25.1%; + position: absolute; + right: 0; + overflow: hidden; +} +.katex .x-arrow-pad { + padding: 0 0.5em; +} +.katex .cd-arrow-pad { + padding: 0 0.55556em 0 0.27778em; +} +.katex .mover, +.katex .munder, +.katex .x-arrow { + text-align: center; +} +.katex .boxpad { + padding: 0 0.3em; +} +.katex .fbox, +.katex .fcolorbox { + box-sizing: border-box; + border: 0.04em solid; +} +.katex .cancel-pad { + padding: 0 0.2em; +} +.katex .cancel-lap { + margin-left: -0.2em; + margin-right: -0.2em; +} +.katex .sout { + border-bottom-style: solid; + border-bottom-width: 0.08em; +} +.katex .angl { + box-sizing: border-box; + border-top: 0.049em solid; + border-right: 0.049em solid; + margin-right: 0.03889em; +} +.katex .anglpad { + padding: 0 0.03889em; +} +.katex .eqn-num:before { + content: "(" counter(katexEqnNo) ")"; + counter-increment: katexEqnNo; +} +.katex .mml-eqn-num:before { + content: "(" counter(mmlEqnNo) ")"; + counter-increment: mmlEqnNo; +} +.katex .mtr-glue { + width: 50%; +} +.katex .cd-vert-arrow { + display: inline-block; + position: relative; +} +.katex .cd-label-left { + text-align: left; + display: inline-block; + position: absolute; + right: calc(50% + 0.3em); +} +.katex .cd-label-right { + text-align: right; + display: inline-block; + position: absolute; + left: calc(50% + 0.3em); +} +.katex-display { + text-align: center; + margin: 1em 0; + display: block; +} +.katex-display > .katex { + text-align: center; + white-space: nowrap; + display: block; +} +.katex-display > .katex > .katex-html { + display: block; + position: relative; +} +.katex-display > .katex > .katex-html > .tag { + position: absolute; + right: 0; +} +.katex-display.leqno > .katex > .katex-html > .tag { + left: 0; + right: auto; +} +.katex-display.fleqn > .katex { + text-align: left; + padding-left: 2em; +} +body { + counter-reset: katexEqnNo mmlEqnNo; +} +textarea:focus { + outline: 1.5px solid var(--vscode-focusBorder, #007fd4); +} +.focus\:outline-0 { + outline: 0 !important; +} +html { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + height: 100%; +} +body { + margin: 0; + line-height: 1.25; +} +body.scrollable, +.scrollable, +body.code-block-scrollable, +.code-block-scrollable { + border-color: #0000; + transition: border-color 0.7s linear; +} +body:hover.scrollable, +body:hover .scrollable, +body:focus-within.scrollable, +body:focus-within .scrollable, +body:hover.code-block-scrollable, +body:hover .code-block-scrollable, +body:focus-within.code-block-scrollable, +body:focus-within .code-block-scrollable { + border-color: var(--vscode-scrollbarSlider-background); + transition: none; +} +.scrollable::-webkit-scrollbar-corner { + background-color: #0000 !important; +} +.scrollable::-webkit-scrollbar-thumb { + border-color: inherit; + background-color: #0000; + border-right-style: inset; + border-right-width: calc(100vw + 100vh); + border-radius: unset !important; +} +.scrollable::-webkit-scrollbar-thumb:hover { + border-color: var(--vscode-scrollbarSlider-hoverBackground); +} +.scrollable::-webkit-scrollbar-thumb:active { + border-color: var(--vscode-scrollbarSlider-activeBackground); +} +@supports selector(::-webkit-scrollbar) { + html { + scrollbar-color: unset; + } +} +.code-block-scrollable::-webkit-scrollbar-track { + background: 0 0; +} +.code-block-scrollable::-webkit-scrollbar-thumb { + background-color: var(--vscode-scrollbarSlider-background); + background-clip: content-box; + border: 2px solid #0000; + border-radius: 5px; +} +.code-block-scrollable::-webkit-scrollbar-thumb:hover { + background-color: var(--vscode-scrollbarSlider-hoverBackground); +} +.code-block-scrollable::-webkit-scrollbar-thumb:active { + background-color: var(--vscode-scrollbarSlider-activeBackground); +} +.code-block-scrollable::-webkit-scrollbar-corner { + background-color: #0000; +} +.scrollbar-hide { + -ms-overflow-style: none; + scrollbar-width: none; +} +.scrollbar-hide::-webkit-scrollbar { + display: none; +} +.dropdown-container { + box-sizing: border-box; + flex-flow: column; + justify-content: flex-start; + align-items: flex-start; + display: flex; +} +.dropdown-container label { + color: var(--vscode-foreground); + cursor: pointer; + font-size: var(--vscode-font-size); + margin-bottom: 2px; + line-height: normal; + display: block; +} +#api-provider > div > ul { + overflow: unset; +} +vscode-dropdown::part(listbox) { + border-color: var(--vscode-scrollbarSlider-background); + scrollbar-color: var(--vscode-scrollbarSlider-background) transparent; + transition: none; +} +.input-icon-button { + cursor: pointer; + opacity: 0.65; +} +.input-icon-button:hover { + opacity: 1; +} +.input-icon-button.disabled { + cursor: not-allowed; + opacity: 0.4; +} +.input-icon-button.disabled:hover { + opacity: 0.4; +} +.mention-context-textarea-highlight { + background-color: var(--vscode-badge-foreground); + box-shadow: 0 0 0 0.5px var(--vscode-badge-foreground); + color: #0000; + border-radius: 3px; +} +@supports (color: color-mix(in lab, red, red)) { + .mention-context-textarea-highlight { + background-color: color-mix(in srgb, var(--vscode-badge-foreground) 30%, transparent); + box-shadow: 0 0 0 0.5px color-mix(in srgb, var(--vscode-badge-foreground) 30%, transparent); + } +} +.mention-context-highlight { + background-color: var(--vscode-badge-foreground); + border-radius: 3px; +} +@supports (color: color-mix(in lab, red, red)) { + .mention-context-highlight { + background-color: color-mix(in srgb, var(--vscode-badge-foreground) 30%, transparent); + } +} +.mention-context-highlight-with-shadow { + background-color: var(--vscode-badge-foreground); + box-shadow: 0 0 0 0.5px var(--vscode-badge-foreground); + border-radius: 3px; +} +@supports (color: color-mix(in lab, red, red)) { + .mention-context-highlight-with-shadow { + background-color: color-mix(in srgb, var(--vscode-badge-foreground) 30%, transparent); + box-shadow: 0 0 0 0.5px color-mix(in srgb, var(--vscode-badge-foreground) 30%, transparent); + } +} +.vscrui-checkbox__listbox > ul { + max-height: unset !important; +} +.vscrui-checkbox svg { + min-width: 16px; + min-height: 16px; +} +input[cmdk-input]:focus { + outline: none; +} +.custom-markdown > pre { + background-color: #0000 !important; +} +.codicon[class*="codicon-"] { + text-rendering: geometricPrecision !important; +} +@keyframes slide-in-right { + 0% { + transform: translate(100%); + } + to { + transform: translate(0); + } +} +.animate-slide-in-right { + animation: 0.3s ease-out slide-in-right; +} +@keyframes fade-in { + 0% { + opacity: 0; + } + to { + opacity: 1; + } +} +.animate-fade-in { + animation: 0.2s ease-out fade-in; +} +@keyframes pulse { + 50% { + opacity: 0.5; + } +} +.animate-pulse { + animation: 1.5s ease-in-out infinite pulse; +} +.transition-all { + transition-property: all; + transition-duration: 0.15s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.transition-colors { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-duration: 0.15s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +@keyframes enter { + 0% { + opacity: var(--tw-enter-opacity, 1); + transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) + scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) + rotate(var(--tw-enter-rotate, 0)); + } +} +@keyframes exit { + to { + opacity: var(--tw-exit-opacity, 1); + transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) + scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) + rotate(var(--tw-exit-rotate, 0)); + } +} +@property --tw-translate-x { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-y { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-translate-z { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-scale-x { + syntax: "*"; + inherits: false; + initial-value: 1; +} +@property --tw-scale-y { + syntax: "*"; + inherits: false; + initial-value: 1; +} +@property --tw-scale-z { + syntax: "*"; + inherits: false; + initial-value: 1; +} +@property --tw-rotate-x { + syntax: "*"; + inherits: false; +} +@property --tw-rotate-y { + syntax: "*"; + inherits: false; +} +@property --tw-rotate-z { + syntax: "*"; + inherits: false; +} +@property --tw-skew-x { + syntax: "*"; + inherits: false; +} +@property --tw-skew-y { + syntax: "*"; + inherits: false; +} +@property --tw-space-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-space-x-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-divide-y-reverse { + syntax: "*"; + inherits: false; + initial-value: 0; +} +@property --tw-border-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-leading { + syntax: "*"; + inherits: false; +} +@property --tw-font-weight { + syntax: "*"; + inherits: false; +} +@property --tw-tracking { + syntax: "*"; + inherits: false; +} +@property --tw-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-shadow-alpha { + syntax: "<percentage>"; + inherits: false; + initial-value: 100%; +} +@property --tw-inset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-inset-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-inset-shadow-alpha { + syntax: "<percentage>"; + inherits: false; + initial-value: 100%; +} +@property --tw-ring-color { + syntax: "*"; + inherits: false; +} +@property --tw-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-inset-ring-color { + syntax: "*"; + inherits: false; +} +@property --tw-inset-ring-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-ring-inset { + syntax: "*"; + inherits: false; +} +@property --tw-ring-offset-width { + syntax: "<length>"; + inherits: false; + initial-value: 0; +} +@property --tw-ring-offset-color { + syntax: "*"; + inherits: false; + initial-value: #fff; +} +@property --tw-ring-offset-shadow { + syntax: "*"; + inherits: false; + initial-value: 0 0 #0000; +} +@property --tw-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} +@property --tw-blur { + syntax: "*"; + inherits: false; +} +@property --tw-brightness { + syntax: "*"; + inherits: false; +} +@property --tw-contrast { + syntax: "*"; + inherits: false; +} +@property --tw-grayscale { + syntax: "*"; + inherits: false; +} +@property --tw-hue-rotate { + syntax: "*"; + inherits: false; +} +@property --tw-invert { + syntax: "*"; + inherits: false; +} +@property --tw-opacity { + syntax: "*"; + inherits: false; +} +@property --tw-saturate { + syntax: "*"; + inherits: false; +} +@property --tw-sepia { + syntax: "*"; + inherits: false; +} +@property --tw-drop-shadow { + syntax: "*"; + inherits: false; +} +@property --tw-drop-shadow-color { + syntax: "*"; + inherits: false; +} +@property --tw-drop-shadow-alpha { + syntax: "<percentage>"; + inherits: false; + initial-value: 100%; +} +@property --tw-drop-shadow-size { + syntax: "*"; + inherits: false; +} +@property --tw-duration { + syntax: "*"; + inherits: false; +} +@property --tw-ease { + syntax: "*"; + inherits: false; +} +@keyframes spin { + to { + transform: rotate(360deg); + } +} +@font-face { + font-family: codicon; + font-display: block; + src: url(/assets/fonts/codicon.ttf?38dcd33a732ebca5a557e04831e9e235) format("truetype"); +} +.codicon[class*="codicon-"] { + font: 16px/1 codicon; + display: inline-block; + text-decoration: none; + text-rendering: auto; + text-align: center; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +@keyframes codicon-spin { + to { + transform: rotate(360deg); + } +} +.codicon-sync.codicon-modifier-spin, +.codicon-loading.codicon-modifier-spin, +.codicon-gear.codicon-modifier-spin { + animation: codicon-spin 1.5s steps(30) infinite; +} +.codicon-modifier-disabled { + opacity: 0.5; +} +.codicon-modifier-hidden { + opacity: 0; +} +.codicon-loading { + animation-duration: 1s !important; + animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important; +} +.codicon-add:before { + content: ""; +} +.codicon-plus:before { + content: ""; +} +.codicon-gist-new:before { + content: ""; +} +.codicon-repo-create:before { + content: ""; +} +.codicon-lightbulb:before { + content: ""; +} +.codicon-light-bulb:before { + content: ""; +} +.codicon-repo:before { + content: ""; +} +.codicon-repo-delete:before { + content: ""; +} +.codicon-gist-fork:before { + content: ""; +} +.codicon-repo-forked:before { + content: ""; +} +.codicon-git-pull-request:before { + content: ""; +} +.codicon-git-pull-request-abandoned:before { + content: ""; +} +.codicon-record-keys:before { + content: ""; +} +.codicon-keyboard:before { + content: ""; +} +.codicon-tag:before { + content: ""; +} +.codicon-git-pull-request-label:before { + content: ""; +} +.codicon-tag-add:before { + content: ""; +} +.codicon-tag-remove:before { + content: ""; +} +.codicon-person:before { + content: ""; +} +.codicon-person-follow:before { + content: ""; +} +.codicon-person-outline:before { + content: ""; +} +.codicon-person-filled:before { + content: ""; +} +.codicon-git-branch:before { + content: ""; +} +.codicon-git-branch-create:before { + content: ""; +} +.codicon-git-branch-delete:before { + content: ""; +} +.codicon-source-control:before { + content: ""; +} +.codicon-mirror:before { + content: ""; +} +.codicon-mirror-public:before { + content: ""; +} +.codicon-star:before { + content: ""; +} +.codicon-star-add:before { + content: ""; +} +.codicon-star-delete:before { + content: ""; +} +.codicon-star-empty:before { + content: ""; +} +.codicon-comment:before { + content: ""; +} +.codicon-comment-add:before { + content: ""; +} +.codicon-alert:before { + content: ""; +} +.codicon-warning:before { + content: ""; +} +.codicon-search:before { + content: ""; +} +.codicon-search-save:before { + content: ""; +} +.codicon-log-out:before { + content: ""; +} +.codicon-sign-out:before { + content: ""; +} +.codicon-log-in:before { + content: ""; +} +.codicon-sign-in:before { + content: ""; +} +.codicon-eye:before { + content: ""; +} +.codicon-eye-unwatch:before { + content: ""; +} +.codicon-eye-watch:before { + content: ""; +} +.codicon-circle-filled:before { + content: ""; +} +.codicon-primitive-dot:before { + content: ""; +} +.codicon-close-dirty:before { + content: ""; +} +.codicon-debug-breakpoint:before { + content: ""; +} +.codicon-debug-breakpoint-disabled:before { + content: ""; +} +.codicon-debug-hint:before { + content: ""; +} +.codicon-terminal-decoration-success:before { + content: ""; +} +.codicon-primitive-square:before { + content: ""; +} +.codicon-edit:before { + content: ""; +} +.codicon-pencil:before { + content: ""; +} +.codicon-info:before { + content: ""; +} +.codicon-issue-opened:before { + content: ""; +} +.codicon-gist-private:before { + content: ""; +} +.codicon-git-fork-private:before { + content: ""; +} +.codicon-lock:before { + content: ""; +} +.codicon-mirror-private:before { + content: ""; +} +.codicon-close:before { + content: ""; +} +.codicon-remove-close:before { + content: ""; +} +.codicon-x:before { + content: ""; +} +.codicon-repo-sync:before { + content: ""; +} +.codicon-sync:before { + content: ""; +} +.codicon-clone:before { + content: ""; +} +.codicon-desktop-download:before { + content: ""; +} +.codicon-beaker:before { + content: ""; +} +.codicon-microscope:before { + content: ""; +} +.codicon-vm:before { + content: ""; +} +.codicon-device-desktop:before { + content: ""; +} +.codicon-file:before { + content: ""; +} +.codicon-file-text:before { + content: ""; +} +.codicon-more:before { + content: ""; +} +.codicon-ellipsis:before { + content: ""; +} +.codicon-kebab-horizontal:before { + content: ""; +} +.codicon-mail-reply:before { + content: ""; +} +.codicon-reply:before { + content: ""; +} +.codicon-organization:before { + content: ""; +} +.codicon-organization-filled:before { + content: ""; +} +.codicon-organization-outline:before { + content: ""; +} +.codicon-new-file:before { + content: ""; +} +.codicon-file-add:before { + content: ""; +} +.codicon-new-folder:before { + content: ""; +} +.codicon-file-directory-create:before { + content: ""; +} +.codicon-trash:before { + content: ""; +} +.codicon-trashcan:before { + content: ""; +} +.codicon-history:before { + content: ""; +} +.codicon-clock:before { + content: ""; +} +.codicon-folder:before { + content: ""; +} +.codicon-file-directory:before { + content: ""; +} +.codicon-symbol-folder:before { + content: ""; +} +.codicon-logo-github:before { + content: ""; +} +.codicon-mark-github:before { + content: ""; +} +.codicon-github:before { + content: ""; +} +.codicon-terminal:before { + content: ""; +} +.codicon-console:before { + content: ""; +} +.codicon-repl:before { + content: ""; +} +.codicon-zap:before { + content: ""; +} +.codicon-symbol-event:before { + content: ""; +} +.codicon-error:before { + content: ""; +} +.codicon-stop:before { + content: ""; +} +.codicon-variable:before { + content: ""; +} +.codicon-symbol-variable:before { + content: ""; +} +.codicon-array:before { + content: ""; +} +.codicon-symbol-array:before { + content: ""; +} +.codicon-symbol-module:before { + content: ""; +} +.codicon-symbol-package:before { + content: ""; +} +.codicon-symbol-namespace:before { + content: ""; +} +.codicon-symbol-object:before { + content: ""; +} +.codicon-symbol-method:before { + content: ""; +} +.codicon-symbol-function:before { + content: ""; +} +.codicon-symbol-constructor:before { + content: ""; +} +.codicon-symbol-boolean:before { + content: ""; +} +.codicon-symbol-null:before { + content: ""; +} +.codicon-symbol-numeric:before { + content: ""; +} +.codicon-symbol-number:before { + content: ""; +} +.codicon-symbol-structure:before { + content: ""; +} +.codicon-symbol-struct:before { + content: ""; +} +.codicon-symbol-parameter:before { + content: ""; +} +.codicon-symbol-type-parameter:before { + content: ""; +} +.codicon-symbol-key:before { + content: ""; +} +.codicon-symbol-text:before { + content: ""; +} +.codicon-symbol-reference:before { + content: ""; +} +.codicon-go-to-file:before { + content: ""; +} +.codicon-symbol-enum:before { + content: ""; +} +.codicon-symbol-value:before { + content: ""; +} +.codicon-symbol-ruler:before { + content: ""; +} +.codicon-symbol-unit:before { + content: ""; +} +.codicon-activate-breakpoints:before { + content: ""; +} +.codicon-archive:before { + content: ""; +} +.codicon-arrow-both:before { + content: ""; +} +.codicon-arrow-down:before { + content: ""; +} +.codicon-arrow-left:before { + content: ""; +} +.codicon-arrow-right:before { + content: ""; +} +.codicon-arrow-small-down:before { + content: ""; +} +.codicon-arrow-small-left:before { + content: ""; +} +.codicon-arrow-small-right:before { + content: ""; +} +.codicon-arrow-small-up:before { + content: ""; +} +.codicon-arrow-up:before { + content: ""; +} +.codicon-bell:before { + content: ""; +} +.codicon-bold:before { + content: ""; +} +.codicon-book:before { + content: ""; +} +.codicon-bookmark:before { + content: ""; +} +.codicon-debug-breakpoint-conditional-unverified:before { + content: ""; +} +.codicon-debug-breakpoint-conditional:before { + content: ""; +} +.codicon-debug-breakpoint-conditional-disabled:before { + content: ""; +} +.codicon-debug-breakpoint-data-unverified:before { + content: ""; +} +.codicon-debug-breakpoint-data:before { + content: ""; +} +.codicon-debug-breakpoint-data-disabled:before { + content: ""; +} +.codicon-debug-breakpoint-log-unverified:before { + content: ""; +} +.codicon-debug-breakpoint-log:before { + content: ""; +} +.codicon-debug-breakpoint-log-disabled:before { + content: ""; +} +.codicon-briefcase:before { + content: ""; +} +.codicon-broadcast:before { + content: ""; +} +.codicon-browser:before { + content: ""; +} +.codicon-bug:before { + content: ""; +} +.codicon-calendar:before { + content: ""; +} +.codicon-case-sensitive:before { + content: ""; +} +.codicon-check:before { + content: ""; +} +.codicon-checklist:before { + content: ""; +} +.codicon-chevron-down:before { + content: ""; +} +.codicon-chevron-left:before { + content: ""; +} +.codicon-chevron-right:before { + content: ""; +} +.codicon-chevron-up:before { + content: ""; +} +.codicon-chrome-close:before { + content: ""; +} +.codicon-chrome-maximize:before { + content: ""; +} +.codicon-chrome-minimize:before { + content: ""; +} +.codicon-chrome-restore:before { + content: ""; +} +.codicon-circle-outline:before { + content: ""; +} +.codicon-circle:before { + content: ""; +} +.codicon-debug-breakpoint-unverified:before { + content: ""; +} +.codicon-terminal-decoration-incomplete:before { + content: ""; +} +.codicon-circle-slash:before { + content: ""; +} +.codicon-circuit-board:before { + content: ""; +} +.codicon-clear-all:before { + content: ""; +} +.codicon-clippy:before { + content: ""; +} +.codicon-close-all:before { + content: ""; +} +.codicon-cloud-download:before { + content: ""; +} +.codicon-cloud-upload:before { + content: ""; +} +.codicon-code:before { + content: ""; +} +.codicon-collapse-all:before { + content: ""; +} +.codicon-color-mode:before { + content: ""; +} +.codicon-comment-discussion:before { + content: ""; +} +.codicon-credit-card:before { + content: ""; +} +.codicon-dash:before { + content: ""; +} +.codicon-dashboard:before { + content: ""; +} +.codicon-database:before { + content: ""; +} +.codicon-debug-continue:before { + content: ""; +} +.codicon-debug-disconnect:before { + content: ""; +} +.codicon-debug-pause:before { + content: ""; +} +.codicon-debug-restart:before { + content: ""; +} +.codicon-debug-start:before { + content: ""; +} +.codicon-debug-step-into:before { + content: ""; +} +.codicon-debug-step-out:before { + content: ""; +} +.codicon-debug-step-over:before { + content: ""; +} +.codicon-debug-stop:before { + content: ""; +} +.codicon-debug:before { + content: ""; +} +.codicon-device-camera-video:before { + content: ""; +} +.codicon-device-camera:before { + content: ""; +} +.codicon-device-mobile:before { + content: ""; +} +.codicon-diff-added:before { + content: ""; +} +.codicon-diff-ignored:before { + content: ""; +} +.codicon-diff-modified:before { + content: ""; +} +.codicon-diff-removed:before { + content: ""; +} +.codicon-diff-renamed:before { + content: ""; +} +.codicon-diff:before { + content: ""; +} +.codicon-diff-sidebyside:before { + content: ""; +} +.codicon-discard:before { + content: ""; +} +.codicon-editor-layout:before { + content: ""; +} +.codicon-empty-window:before { + content: ""; +} +.codicon-exclude:before { + content: ""; +} +.codicon-extensions:before { + content: ""; +} +.codicon-eye-closed:before { + content: ""; +} +.codicon-file-binary:before { + content: ""; +} +.codicon-file-code:before { + content: ""; +} +.codicon-file-media:before { + content: ""; +} +.codicon-file-pdf:before { + content: ""; +} +.codicon-file-submodule:before { + content: ""; +} +.codicon-file-symlink-directory:before { + content: ""; +} +.codicon-file-symlink-file:before { + content: ""; +} +.codicon-file-zip:before { + content: ""; +} +.codicon-files:before { + content: ""; +} +.codicon-filter:before { + content: ""; +} +.codicon-flame:before { + content: ""; +} +.codicon-fold-down:before { + content: ""; +} +.codicon-fold-up:before { + content: ""; +} +.codicon-fold:before { + content: ""; +} +.codicon-folder-active:before { + content: ""; +} +.codicon-folder-opened:before { + content: ""; +} +.codicon-gear:before { + content: ""; +} +.codicon-gift:before { + content: ""; +} +.codicon-gist-secret:before { + content: ""; +} +.codicon-gist:before { + content: ""; +} +.codicon-git-commit:before { + content: ""; +} +.codicon-git-compare:before { + content: ""; +} +.codicon-compare-changes:before { + content: ""; +} +.codicon-git-merge:before { + content: ""; +} +.codicon-github-action:before { + content: ""; +} +.codicon-github-alt:before { + content: ""; +} +.codicon-globe:before { + content: ""; +} +.codicon-grabber:before { + content: ""; +} +.codicon-graph:before { + content: ""; +} +.codicon-gripper:before { + content: ""; +} +.codicon-heart:before { + content: ""; +} +.codicon-home:before { + content: ""; +} +.codicon-horizontal-rule:before { + content: ""; +} +.codicon-hubot:before { + content: ""; +} +.codicon-inbox:before { + content: ""; +} +.codicon-issue-reopened:before { + content: ""; +} +.codicon-issues:before { + content: ""; +} +.codicon-italic:before { + content: ""; +} +.codicon-jersey:before { + content: ""; +} +.codicon-json:before { + content: ""; +} +.codicon-kebab-vertical:before { + content: ""; +} +.codicon-key:before { + content: ""; +} +.codicon-law:before { + content: ""; +} +.codicon-lightbulb-autofix:before { + content: ""; +} +.codicon-link-external:before { + content: ""; +} +.codicon-link:before { + content: ""; +} +.codicon-list-ordered:before { + content: ""; +} +.codicon-list-unordered:before { + content: ""; +} +.codicon-live-share:before { + content: ""; +} +.codicon-loading:before { + content: ""; +} +.codicon-location:before { + content: ""; +} +.codicon-mail-read:before { + content: ""; +} +.codicon-mail:before { + content: ""; +} +.codicon-markdown:before { + content: ""; +} +.codicon-megaphone:before { + content: ""; +} +.codicon-mention:before { + content: ""; +} +.codicon-milestone:before { + content: ""; +} +.codicon-git-pull-request-milestone:before { + content: ""; +} +.codicon-mortar-board:before { + content: ""; +} +.codicon-move:before { + content: ""; +} +.codicon-multiple-windows:before { + content: ""; +} +.codicon-mute:before { + content: ""; +} +.codicon-no-newline:before { + content: ""; +} +.codicon-note:before { + content: ""; +} +.codicon-octoface:before { + content: ""; +} +.codicon-open-preview:before { + content: ""; +} +.codicon-package:before { + content: ""; +} +.codicon-paintcan:before { + content: ""; +} +.codicon-pin:before { + content: ""; +} +.codicon-play:before { + content: ""; +} +.codicon-run:before { + content: ""; +} +.codicon-plug:before { + content: ""; +} +.codicon-preserve-case:before { + content: ""; +} +.codicon-preview:before { + content: ""; +} +.codicon-project:before { + content: ""; +} +.codicon-pulse:before { + content: ""; +} +.codicon-question:before { + content: ""; +} +.codicon-quote:before { + content: ""; +} +.codicon-radio-tower:before { + content: ""; +} +.codicon-reactions:before { + content: ""; +} +.codicon-references:before { + content: ""; +} +.codicon-refresh:before { + content: ""; +} +.codicon-regex:before { + content: ""; +} +.codicon-remote-explorer:before { + content: ""; +} +.codicon-remote:before { + content: ""; +} +.codicon-remove:before { + content: ""; +} +.codicon-replace-all:before { + content: ""; +} +.codicon-replace:before { + content: ""; +} +.codicon-repo-clone:before { + content: ""; +} +.codicon-repo-force-push:before { + content: ""; +} +.codicon-repo-pull:before { + content: ""; +} +.codicon-repo-push:before { + content: ""; +} +.codicon-report:before { + content: ""; +} +.codicon-request-changes:before { + content: ""; +} +.codicon-rocket:before { + content: ""; +} +.codicon-root-folder-opened:before { + content: ""; +} +.codicon-root-folder:before { + content: ""; +} +.codicon-rss:before { + content: ""; +} +.codicon-ruby:before { + content: ""; +} +.codicon-save-all:before { + content: ""; +} +.codicon-save-as:before { + content: ""; +} +.codicon-save:before { + content: ""; +} +.codicon-screen-full:before { + content: ""; +} +.codicon-screen-normal:before { + content: ""; +} +.codicon-search-stop:before { + content: ""; +} +.codicon-server:before { + content: ""; +} +.codicon-settings-gear:before { + content: ""; +} +.codicon-settings:before { + content: ""; +} +.codicon-shield:before { + content: ""; +} +.codicon-smiley:before { + content: ""; +} +.codicon-sort-precedence:before { + content: ""; +} +.codicon-split-horizontal:before { + content: ""; +} +.codicon-split-vertical:before { + content: ""; +} +.codicon-squirrel:before { + content: ""; +} +.codicon-star-full:before { + content: ""; +} +.codicon-star-half:before { + content: ""; +} +.codicon-symbol-class:before { + content: ""; +} +.codicon-symbol-color:before { + content: ""; +} +.codicon-symbol-constant:before { + content: ""; +} +.codicon-symbol-enum-member:before { + content: ""; +} +.codicon-symbol-field:before { + content: ""; +} +.codicon-symbol-file:before { + content: ""; +} +.codicon-symbol-interface:before { + content: ""; +} +.codicon-symbol-keyword:before { + content: ""; +} +.codicon-symbol-misc:before { + content: ""; +} +.codicon-symbol-operator:before { + content: ""; +} +.codicon-symbol-property:before { + content: ""; +} +.codicon-wrench:before { + content: ""; +} +.codicon-wrench-subaction:before { + content: ""; +} +.codicon-symbol-snippet:before { + content: ""; +} +.codicon-tasklist:before { + content: ""; +} +.codicon-telescope:before { + content: ""; +} +.codicon-text-size:before { + content: ""; +} +.codicon-three-bars:before { + content: ""; +} +.codicon-thumbsdown:before { + content: ""; +} +.codicon-thumbsup:before { + content: ""; +} +.codicon-tools:before { + content: ""; +} +.codicon-triangle-down:before { + content: ""; +} +.codicon-triangle-left:before { + content: ""; +} +.codicon-triangle-right:before { + content: ""; +} +.codicon-triangle-up:before { + content: ""; +} +.codicon-twitter:before { + content: ""; +} +.codicon-unfold:before { + content: ""; +} +.codicon-unlock:before { + content: ""; +} +.codicon-unmute:before { + content: ""; +} +.codicon-unverified:before { + content: ""; +} +.codicon-verified:before { + content: ""; +} +.codicon-versions:before { + content: ""; +} +.codicon-vm-active:before { + content: ""; +} +.codicon-vm-outline:before { + content: ""; +} +.codicon-vm-running:before { + content: ""; +} +.codicon-watch:before { + content: ""; +} +.codicon-whitespace:before { + content: ""; +} +.codicon-whole-word:before { + content: ""; +} +.codicon-window:before { + content: ""; +} +.codicon-word-wrap:before { + content: ""; +} +.codicon-zoom-in:before { + content: ""; +} +.codicon-zoom-out:before { + content: ""; +} +.codicon-list-filter:before { + content: ""; +} +.codicon-list-flat:before { + content: ""; +} +.codicon-list-selection:before { + content: ""; +} +.codicon-selection:before { + content: ""; +} +.codicon-list-tree:before { + content: ""; +} +.codicon-debug-breakpoint-function-unverified:before { + content: ""; +} +.codicon-debug-breakpoint-function:before { + content: ""; +} +.codicon-debug-breakpoint-function-disabled:before { + content: ""; +} +.codicon-debug-stackframe-active:before { + content: ""; +} +.codicon-circle-small-filled:before { + content: ""; +} +.codicon-debug-stackframe-dot:before { + content: ""; +} +.codicon-terminal-decoration-mark:before { + content: ""; +} +.codicon-debug-stackframe:before { + content: ""; +} +.codicon-debug-stackframe-focused:before { + content: ""; +} +.codicon-debug-breakpoint-unsupported:before { + content: ""; +} +.codicon-symbol-string:before { + content: ""; +} +.codicon-debug-reverse-continue:before { + content: ""; +} +.codicon-debug-step-back:before { + content: ""; +} +.codicon-debug-restart-frame:before { + content: ""; +} +.codicon-debug-alt:before { + content: ""; +} +.codicon-call-incoming:before { + content: ""; +} +.codicon-call-outgoing:before { + content: ""; +} +.codicon-menu:before { + content: ""; +} +.codicon-expand-all:before { + content: ""; +} +.codicon-feedback:before { + content: ""; +} +.codicon-git-pull-request-reviewer:before { + content: ""; +} +.codicon-group-by-ref-type:before { + content: ""; +} +.codicon-ungroup-by-ref-type:before { + content: ""; +} +.codicon-account:before { + content: ""; +} +.codicon-git-pull-request-assignee:before { + content: ""; +} +.codicon-bell-dot:before { + content: ""; +} +.codicon-debug-console:before { + content: ""; +} +.codicon-library:before { + content: ""; +} +.codicon-output:before { + content: ""; +} +.codicon-run-all:before { + content: ""; +} +.codicon-sync-ignored:before { + content: ""; +} +.codicon-pinned:before { + content: ""; +} +.codicon-github-inverted:before { + content: ""; +} +.codicon-server-process:before { + content: ""; +} +.codicon-server-environment:before { + content: ""; +} +.codicon-pass:before { + content: ""; +} +.codicon-issue-closed:before { + content: ""; +} +.codicon-stop-circle:before { + content: ""; +} +.codicon-play-circle:before { + content: ""; +} +.codicon-record:before { + content: ""; +} +.codicon-debug-alt-small:before { + content: ""; +} +.codicon-vm-connect:before { + content: ""; +} +.codicon-cloud:before { + content: ""; +} +.codicon-merge:before { + content: ""; +} +.codicon-export:before { + content: ""; +} +.codicon-graph-left:before { + content: ""; +} +.codicon-magnet:before { + content: ""; +} +.codicon-notebook:before { + content: ""; +} +.codicon-redo:before { + content: ""; +} +.codicon-check-all:before { + content: ""; +} +.codicon-pinned-dirty:before { + content: ""; +} +.codicon-pass-filled:before { + content: ""; +} +.codicon-circle-large-filled:before { + content: ""; +} +.codicon-circle-large:before { + content: ""; +} +.codicon-circle-large-outline:before { + content: ""; +} +.codicon-combine:before { + content: ""; +} +.codicon-gather:before { + content: ""; +} +.codicon-table:before { + content: ""; +} +.codicon-variable-group:before { + content: ""; +} +.codicon-type-hierarchy:before { + content: ""; +} +.codicon-type-hierarchy-sub:before { + content: ""; +} +.codicon-type-hierarchy-super:before { + content: ""; +} +.codicon-git-pull-request-create:before { + content: ""; +} +.codicon-run-above:before { + content: ""; +} +.codicon-run-below:before { + content: ""; +} +.codicon-notebook-template:before { + content: ""; +} +.codicon-debug-rerun:before { + content: ""; +} +.codicon-workspace-trusted:before { + content: ""; +} +.codicon-workspace-untrusted:before { + content: ""; +} +.codicon-workspace-unknown:before { + content: ""; +} +.codicon-terminal-cmd:before { + content: ""; +} +.codicon-terminal-debian:before { + content: ""; +} +.codicon-terminal-linux:before { + content: ""; +} +.codicon-terminal-powershell:before { + content: ""; +} +.codicon-terminal-tmux:before { + content: ""; +} +.codicon-terminal-ubuntu:before { + content: ""; +} +.codicon-terminal-bash:before { + content: ""; +} +.codicon-arrow-swap:before { + content: ""; +} +.codicon-copy:before { + content: ""; +} +.codicon-person-add:before { + content: ""; +} +.codicon-filter-filled:before { + content: ""; +} +.codicon-wand:before { + content: ""; +} +.codicon-debug-line-by-line:before { + content: ""; +} +.codicon-inspect:before { + content: ""; +} +.codicon-layers:before { + content: ""; +} +.codicon-layers-dot:before { + content: ""; +} +.codicon-layers-active:before { + content: ""; +} +.codicon-compass:before { + content: ""; +} +.codicon-compass-dot:before { + content: ""; +} +.codicon-compass-active:before { + content: ""; +} +.codicon-azure:before { + content: ""; +} +.codicon-issue-draft:before { + content: ""; +} +.codicon-git-pull-request-closed:before { + content: ""; +} +.codicon-git-pull-request-draft:before { + content: ""; +} +.codicon-debug-all:before { + content: ""; +} +.codicon-debug-coverage:before { + content: ""; +} +.codicon-run-errors:before { + content: ""; +} +.codicon-folder-library:before { + content: ""; +} +.codicon-debug-continue-small:before { + content: ""; +} +.codicon-beaker-stop:before { + content: ""; +} +.codicon-graph-line:before { + content: ""; +} +.codicon-graph-scatter:before { + content: ""; +} +.codicon-pie-chart:before { + content: ""; +} +.codicon-bracket:before { + content: ""; +} +.codicon-bracket-dot:before { + content: ""; +} +.codicon-bracket-error:before { + content: ""; +} +.codicon-lock-small:before { + content: ""; +} +.codicon-azure-devops:before { + content: ""; +} +.codicon-verified-filled:before { + content: ""; +} +.codicon-newline:before { + content: ""; +} +.codicon-layout:before { + content: ""; +} +.codicon-layout-activitybar-left:before { + content: ""; +} +.codicon-layout-activitybar-right:before { + content: ""; +} +.codicon-layout-panel-left:before { + content: ""; +} +.codicon-layout-panel-center:before { + content: ""; +} +.codicon-layout-panel-justify:before { + content: ""; +} +.codicon-layout-panel-right:before { + content: ""; +} +.codicon-layout-panel:before { + content: ""; +} +.codicon-layout-sidebar-left:before { + content: ""; +} +.codicon-layout-sidebar-right:before { + content: ""; +} +.codicon-layout-statusbar:before { + content: ""; +} +.codicon-layout-menubar:before { + content: ""; +} +.codicon-layout-centered:before { + content: ""; +} +.codicon-target:before { + content: ""; +} +.codicon-indent:before { + content: ""; +} +.codicon-record-small:before { + content: ""; +} +.codicon-error-small:before { + content: ""; +} +.codicon-terminal-decoration-error:before { + content: ""; +} +.codicon-arrow-circle-down:before { + content: ""; +} +.codicon-arrow-circle-left:before { + content: ""; +} +.codicon-arrow-circle-right:before { + content: ""; +} +.codicon-arrow-circle-up:before { + content: ""; +} +.codicon-layout-sidebar-right-off:before { + content: ""; +} +.codicon-layout-panel-off:before { + content: ""; +} +.codicon-layout-sidebar-left-off:before { + content: ""; +} +.codicon-blank:before { + content: ""; +} +.codicon-heart-filled:before { + content: ""; +} +.codicon-map:before { + content: ""; +} +.codicon-map-horizontal:before { + content: ""; +} +.codicon-fold-horizontal:before { + content: ""; +} +.codicon-map-filled:before { + content: ""; +} +.codicon-map-horizontal-filled:before { + content: ""; +} +.codicon-fold-horizontal-filled:before { + content: ""; +} +.codicon-circle-small:before { + content: ""; +} +.codicon-bell-slash:before { + content: ""; +} +.codicon-bell-slash-dot:before { + content: ""; +} +.codicon-comment-unresolved:before { + content: ""; +} +.codicon-git-pull-request-go-to-changes:before { + content: ""; +} +.codicon-git-pull-request-new-changes:before { + content: ""; +} +.codicon-search-fuzzy:before { + content: ""; +} +.codicon-comment-draft:before { + content: ""; +} +.codicon-send:before { + content: ""; +} +.codicon-sparkle:before { + content: ""; +} +.codicon-insert:before { + content: ""; +} +.codicon-mic:before { + content: ""; +} +.codicon-thumbsdown-filled:before { + content: ""; +} +.codicon-thumbsup-filled:before { + content: ""; +} +.codicon-coffee:before { + content: ""; +} +.codicon-snake:before { + content: ""; +} +.codicon-game:before { + content: ""; +} +.codicon-vr:before { + content: ""; +} +.codicon-chip:before { + content: ""; +} +.codicon-piano:before { + content: ""; +} +.codicon-music:before { + content: ""; +} +.codicon-mic-filled:before { + content: ""; +} +.codicon-repo-fetch:before { + content: ""; +} +.codicon-copilot:before { + content: ""; +} +.codicon-lightbulb-sparkle:before { + content: ""; +} +.codicon-robot:before { + content: ""; +} +.codicon-sparkle-filled:before { + content: ""; +} +.codicon-diff-single:before { + content: ""; +} +.codicon-diff-multiple:before { + content: ""; +} +.codicon-surround-with:before { + content: ""; +} +.codicon-share:before { + content: ""; +} +.codicon-git-stash:before { + content: ""; +} +.codicon-git-stash-apply:before { + content: ""; +} +.codicon-git-stash-pop:before { + content: ""; +} +.codicon-vscode:before { + content: ""; +} +.codicon-vscode-insiders:before { + content: ""; +} +.codicon-code-oss:before { + content: ""; +} +.codicon-run-coverage:before { + content: ""; +} +.codicon-run-all-coverage:before { + content: ""; +} +.codicon-coverage:before { + content: ""; +} +.codicon-github-project:before { + content: ""; +} +.codicon-map-vertical:before { + content: ""; +} +.codicon-fold-vertical:before { + content: ""; +} +.codicon-map-vertical-filled:before { + content: ""; +} +.codicon-fold-vertical-filled:before { + content: ""; +} +.codicon-go-to-search:before { + content: ""; +} +.codicon-percentage:before { + content: ""; +} +.codicon-sort-percentage:before { + content: ""; +} +.codicon-git-fetch:before { + content: ""; +} diff --git a/src/webview-ui/build/assets/index.js b/src/webview-ui/build/assets/index.js new file mode 100644 index 0000000000..b2e86b6c3f --- /dev/null +++ b/src/webview-ui/build/assets/index.js @@ -0,0 +1,149027 @@ +const __vite__mapDeps = ( + i, + m = __vite__mapDeps, + d = m.f || + (m.f = [ + "assets/chunk-pO14Kfwb.js", + "assets/mermaid-bundle.js", + "assets/chunk-sYKpKAhk.js", + "assets/chunk-CXhxxCfG.js", + "assets/chunk-BMMyXqK5.js", + "assets/chunk-DPfMkruS.js", + "assets/chunk-Cno5XSCQ.js", + "assets/chunk-vbB5lEOJ.js", + "assets/chunk-DbjXokdF.js", + "assets/chunk-B_vNuMnf.js", + "assets/chunk-CylS5w8V.js", + "assets/chunk-Cp-IABpG.js", + "assets/chunk-BrYkhBEK.js", + "assets/chunk-DlfHMoPT.js", + "assets/chunk-CXtECtnM.js", + "assets/chunk-CLIx6TIR.js", + "assets/chunk-C3rowuyE.js", + "assets/chunk-B9xm8XSJ.js", + "assets/chunk-CDuzWNpe.js", + "assets/chunk-DVxCFoDh.js", + "assets/chunk-DP8w0yq8.js", + "assets/chunk-B6aJPvgy.js", + "assets/chunk-OpcvBqEo.js", + "assets/chunk-C-C_nZcE.js", + "assets/chunk-CzjqYRUi.js", + "assets/chunk-CDVJQ6XC.js", + "assets/chunk-DXETW7eA.js", + "assets/chunk-BIGW1oBm.js", + "assets/chunk-BnD7D7ah.js", + "assets/chunk-Yzrsuije.js", + "assets/chunk-DNNlxIVo.js", + "assets/chunk-DRBVVfo7.js", + "assets/chunk-sVvOI5da.js", + "assets/chunk-DouSy6O5.js", + "assets/chunk-3mfGJbgy.js", + "assets/chunk-Cne5dW8M.js", + "assets/chunk-C-HMFfM3.js", + "assets/chunk-g9-lgVsj.js", + "assets/chunk-COt5Ahok.js", + "assets/chunk-Colysff4.js", + "assets/chunk-Buea-lGh.js", + "assets/chunk-CSPye00a.js", + "assets/chunk-D22FLkUw.js", + "assets/chunk--Ycre7K_.js", + "assets/chunk-RrBGtqGR.js", + "assets/chunk-DEd0xgAf.js", + "assets/chunk-DkwncUOv.js", + "assets/chunk-Bty6elJm.js", + "assets/chunk-CdTSL8YE.js", + "assets/chunk-D97Zzqfu.js", + "assets/chunk-DjjNbUIW.js", + "assets/chunk-BaML1QMV.js", + "assets/chunk-Bc2xwClX.js", + "assets/chunk-CUz34qUM.js", + "assets/chunk-C9dXKwCe.js", + "assets/chunk-CUBwRw-F.js", + "assets/chunk-C9tDr53Z.js", + "assets/chunk-BP3HzMA6.js", + "assets/chunk-25uR9ifH.js", + "assets/chunk-B5tOyCc9.js", + "assets/chunk-DSnTR2wu.js", + "assets/chunk-C2tOF0e5.js", + "assets/chunk-Du0Ki9n9.js", + "assets/chunk-jQY0bNUL.js", + "assets/chunk-BgEskmCb.js", + "assets/chunk-DO0LZyKx.js", + "assets/chunk-B1dDrJ26.js", + "assets/chunk-B0YXbBSa.js", + "assets/chunk-Cu1ofpgu.js", + "assets/chunk-DWkon8Hs.js", + "assets/chunk-BgfZh1f1.js", + "assets/chunk-Cf4Oy6XI.js", + "assets/chunk-Jcf2cZT6.js", + "assets/chunk-DXHVBXt-.js", + "assets/chunk-BSCcYQo-.js", + "assets/chunk-CHadp7IV.js", + "assets/chunk-BAAX8Kh4.js", + "assets/chunk-D1j8_8rp.js", + "assets/chunk-D1K3uGbs.js", + "assets/chunk-C3IMAYVA.js", + "assets/chunk-D3lLCCz7.js", + "assets/chunk-D9kx8fwg.js", + "assets/chunk-3ipgsugG.js", + "assets/chunk-CrJ-YhoI.js", + "assets/chunk-BsS91CYL.js", + "assets/chunk-CiIkovmz.js", + "assets/chunk-CMUws-av.js", + "assets/chunk-B47ASqzZ.js", + "assets/chunk-PEFJdsE-.js", + "assets/chunk-DIHx2sdZ.js", + "assets/chunk-T7J2jLj3.js", + "assets/chunk-DQ46CBc_.js", + "assets/chunk-D1_LrSGp.js", + "assets/chunk-CJOTNe-S.js", + ]), +) => i.map((i) => d[i]) +var Lmt = Object.defineProperty +var aN = (t) => { + throw TypeError(t) +} +var Dmt = (t, e, n) => (e in t ? Lmt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : (t[e] = n)) +var we = (t, e, n) => Dmt(t, typeof e != "symbol" ? e + "" : e, n), + KS = (t, e, n) => e.has(t) || aN("Cannot " + n) +var O = (t, e, n) => (KS(t, e, "read from private field"), n ? n.call(t) : e.get(t)), + Je = (t, e, n) => + e.has(t) + ? aN("Cannot add the same private member more than once") + : e instanceof WeakSet + ? e.add(t) + : e.set(t, n), + je = (t, e, n, o) => (KS(t, e, "write to private field"), o ? o.call(t, n) : e.set(t, n), n), + Ne = (t, e, n) => (KS(t, e, "access private method"), n) +var Bu = (t, e, n, o) => ({ + set _(r) { + je(t, e, r, n) + }, + get _() { + return O(t, e, o) + }, +}) +import { + g as ps, + _ as ne, + k as lN, + m as BI, + c as cN, + I as Nmt, + a as Omt, + P as Fmt, + b as Bmt, + d as Umt, + e as qmt, + A as Wmt, + f as Kmt, + G as Vmt, + h as Hmt, + R as Gmt, + i as Qmt, +} from "./mermaid-bundle.js" +function Zmt(t, e) { + for (var n = 0; n < e.length; n++) { + const o = e[n] + if (typeof o != "string" && !Array.isArray(o)) { + for (const r in o) + if (r !== "default" && !(r in t)) { + const i = Object.getOwnPropertyDescriptor(o, r) + i && Object.defineProperty(t, r, i.get ? i : { enumerable: !0, get: () => o[r] }) + } + } + } + return Object.freeze(Object.defineProperty(t, Symbol.toStringTag, { value: "Module" })) +} +;(function () { + const e = document.createElement("link").relList + if (e && e.supports && e.supports("modulepreload")) return + for (const r of document.querySelectorAll('link[rel="modulepreload"]')) o(r) + new MutationObserver((r) => { + for (const i of r) + if (i.type === "childList") + for (const s of i.addedNodes) s.tagName === "LINK" && s.rel === "modulepreload" && o(s) + }).observe(document, { childList: !0, subtree: !0 }) + function n(r) { + const i = {} + return ( + r.integrity && (i.integrity = r.integrity), + r.referrerPolicy && (i.referrerPolicy = r.referrerPolicy), + r.crossOrigin === "use-credentials" + ? (i.credentials = "include") + : r.crossOrigin === "anonymous" + ? (i.credentials = "omit") + : (i.credentials = "same-origin"), + i + ) + } + function o(r) { + if (r.ep) return + r.ep = !0 + const i = n(r) + fetch(r.href, i) + } +})() +var VS = { exports: {} }, + Ig = {}, + HS = { exports: {} }, + Cn = {} +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ var dN +function Ymt() { + if (dN) return Cn + dN = 1 + var t = Symbol.for("react.element"), + e = Symbol.for("react.portal"), + n = Symbol.for("react.fragment"), + o = Symbol.for("react.strict_mode"), + r = Symbol.for("react.profiler"), + i = Symbol.for("react.provider"), + s = Symbol.for("react.context"), + a = Symbol.for("react.forward_ref"), + c = Symbol.for("react.suspense"), + d = Symbol.for("react.memo"), + u = Symbol.for("react.lazy"), + m = Symbol.iterator + function f(D) { + return D === null || typeof D != "object" + ? null + : ((D = (m && D[m]) || D["@@iterator"]), typeof D == "function" ? D : null) + } + var g = { + isMounted: function () { + return !1 + }, + enqueueForceUpdate: function () {}, + enqueueReplaceState: function () {}, + enqueueSetState: function () {}, + }, + b = Object.assign, + v = {} + function w(D, F, N) { + ;(this.props = D), (this.context = F), (this.refs = v), (this.updater = N || g) + } + ;(w.prototype.isReactComponent = {}), + (w.prototype.setState = function (D, F) { + if (typeof D != "object" && typeof D != "function" && D != null) + throw Error( + "setState(...): takes an object of state variables to update or a function which returns an object of state variables.", + ) + this.updater.enqueueSetState(this, D, F, "setState") + }), + (w.prototype.forceUpdate = function (D) { + this.updater.enqueueForceUpdate(this, D, "forceUpdate") + }) + function _() {} + _.prototype = w.prototype + function y(D, F, N) { + ;(this.props = D), (this.context = F), (this.refs = v), (this.updater = N || g) + } + var C = (y.prototype = new _()) + ;(C.constructor = y), b(C, w.prototype), (C.isPureReactComponent = !0) + var S = Array.isArray, + P = Object.prototype.hasOwnProperty, + R = { current: null }, + T = { key: !0, ref: !0, __self: !0, __source: !0 } + function E(D, F, N) { + var J, + oe = {}, + ae = null, + Q = null + if (F != null) + for (J in (F.ref !== void 0 && (Q = F.ref), F.key !== void 0 && (ae = "" + F.key), F)) + P.call(F, J) && !T.hasOwnProperty(J) && (oe[J] = F[J]) + var ee = arguments.length - 2 + if (ee === 1) oe.children = N + else if (1 < ee) { + for (var q = Array(ee), me = 0; me < ee; me++) q[me] = arguments[me + 2] + oe.children = q + } + if (D && D.defaultProps) for (J in ((ee = D.defaultProps), ee)) oe[J] === void 0 && (oe[J] = ee[J]) + return { $$typeof: t, type: D, key: ae, ref: Q, props: oe, _owner: R.current } + } + function $(D, F) { + return { $$typeof: t, type: D.type, key: F, ref: D.ref, props: D.props, _owner: D._owner } + } + function j(D) { + return typeof D == "object" && D !== null && D.$$typeof === t + } + function L(D) { + var F = { "=": "=0", ":": "=2" } + return ( + "$" + + D.replace(/[=:]/g, function (N) { + return F[N] + }) + ) + } + var W = /\/+/g + function G(D, F) { + return typeof D == "object" && D !== null && D.key != null ? L("" + D.key) : F.toString(36) + } + function U(D, F, N, J, oe) { + var ae = typeof D + ;(ae === "undefined" || ae === "boolean") && (D = null) + var Q = !1 + if (D === null) Q = !0 + else + switch (ae) { + case "string": + case "number": + Q = !0 + break + case "object": + switch (D.$$typeof) { + case t: + case e: + Q = !0 + } + } + if (Q) + return ( + (Q = D), + (oe = oe(Q)), + (D = J === "" ? "." + G(Q, 0) : J), + S(oe) + ? ((N = ""), + D != null && (N = D.replace(W, "$&/") + "/"), + U(oe, F, N, "", function (me) { + return me + })) + : oe != null && + (j(oe) && + (oe = $( + oe, + N + + (!oe.key || (Q && Q.key === oe.key) ? "" : ("" + oe.key).replace(W, "$&/") + "/") + + D, + )), + F.push(oe)), + 1 + ) + if (((Q = 0), (J = J === "" ? "." : J + ":"), S(D))) + for (var ee = 0; ee < D.length; ee++) { + ae = D[ee] + var q = J + G(ae, ee) + Q += U(ae, F, N, q, oe) + } + else if (((q = f(D)), typeof q == "function")) + for (D = q.call(D), ee = 0; !(ae = D.next()).done; ) + (ae = ae.value), (q = J + G(ae, ee++)), (Q += U(ae, F, N, q, oe)) + else if (ae === "object") + throw ( + ((F = String(D)), + Error( + "Objects are not valid as a React child (found: " + + (F === "[object Object]" ? "object with keys {" + Object.keys(D).join(", ") + "}" : F) + + "). If you meant to render a collection of children, use an array instead.", + )) + ) + return Q + } + function Z(D, F, N) { + if (D == null) return D + var J = [], + oe = 0 + return ( + U(D, J, "", "", function (ae) { + return F.call(N, ae, oe++) + }), + J + ) + } + function V(D) { + if (D._status === -1) { + var F = D._result + ;(F = F()), + F.then( + function (N) { + ;(D._status === 0 || D._status === -1) && ((D._status = 1), (D._result = N)) + }, + function (N) { + ;(D._status === 0 || D._status === -1) && ((D._status = 2), (D._result = N)) + }, + ), + D._status === -1 && ((D._status = 0), (D._result = F)) + } + if (D._status === 1) return D._result.default + throw D._result + } + var X = { current: null }, + H = { transition: null }, + B = { ReactCurrentDispatcher: X, ReactCurrentBatchConfig: H, ReactCurrentOwner: R } + function M() { + throw Error("act(...) is not supported in production builds of React.") + } + return ( + (Cn.Children = { + map: Z, + forEach: function (D, F, N) { + Z( + D, + function () { + F.apply(this, arguments) + }, + N, + ) + }, + count: function (D) { + var F = 0 + return ( + Z(D, function () { + F++ + }), + F + ) + }, + toArray: function (D) { + return ( + Z(D, function (F) { + return F + }) || [] + ) + }, + only: function (D) { + if (!j(D)) throw Error("React.Children.only expected to receive a single React element child.") + return D + }, + }), + (Cn.Component = w), + (Cn.Fragment = n), + (Cn.Profiler = r), + (Cn.PureComponent = y), + (Cn.StrictMode = o), + (Cn.Suspense = c), + (Cn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = B), + (Cn.act = M), + (Cn.cloneElement = function (D, F, N) { + if (D == null) + throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + D + ".") + var J = b({}, D.props), + oe = D.key, + ae = D.ref, + Q = D._owner + if (F != null) { + if ( + (F.ref !== void 0 && ((ae = F.ref), (Q = R.current)), + F.key !== void 0 && (oe = "" + F.key), + D.type && D.type.defaultProps) + ) + var ee = D.type.defaultProps + for (q in F) + P.call(F, q) && !T.hasOwnProperty(q) && (J[q] = F[q] === void 0 && ee !== void 0 ? ee[q] : F[q]) + } + var q = arguments.length - 2 + if (q === 1) J.children = N + else if (1 < q) { + ee = Array(q) + for (var me = 0; me < q; me++) ee[me] = arguments[me + 2] + J.children = ee + } + return { $$typeof: t, type: D.type, key: oe, ref: ae, props: J, _owner: Q } + }), + (Cn.createContext = function (D) { + return ( + (D = { + $$typeof: s, + _currentValue: D, + _currentValue2: D, + _threadCount: 0, + Provider: null, + Consumer: null, + _defaultValue: null, + _globalName: null, + }), + (D.Provider = { $$typeof: i, _context: D }), + (D.Consumer = D) + ) + }), + (Cn.createElement = E), + (Cn.createFactory = function (D) { + var F = E.bind(null, D) + return (F.type = D), F + }), + (Cn.createRef = function () { + return { current: null } + }), + (Cn.forwardRef = function (D) { + return { $$typeof: a, render: D } + }), + (Cn.isValidElement = j), + (Cn.lazy = function (D) { + return { $$typeof: u, _payload: { _status: -1, _result: D }, _init: V } + }), + (Cn.memo = function (D, F) { + return { $$typeof: d, type: D, compare: F === void 0 ? null : F } + }), + (Cn.startTransition = function (D) { + var F = H.transition + H.transition = {} + try { + D() + } finally { + H.transition = F + } + }), + (Cn.unstable_act = M), + (Cn.useCallback = function (D, F) { + return X.current.useCallback(D, F) + }), + (Cn.useContext = function (D) { + return X.current.useContext(D) + }), + (Cn.useDebugValue = function () {}), + (Cn.useDeferredValue = function (D) { + return X.current.useDeferredValue(D) + }), + (Cn.useEffect = function (D, F) { + return X.current.useEffect(D, F) + }), + (Cn.useId = function () { + return X.current.useId() + }), + (Cn.useImperativeHandle = function (D, F, N) { + return X.current.useImperativeHandle(D, F, N) + }), + (Cn.useInsertionEffect = function (D, F) { + return X.current.useInsertionEffect(D, F) + }), + (Cn.useLayoutEffect = function (D, F) { + return X.current.useLayoutEffect(D, F) + }), + (Cn.useMemo = function (D, F) { + return X.current.useMemo(D, F) + }), + (Cn.useReducer = function (D, F, N) { + return X.current.useReducer(D, F, N) + }), + (Cn.useRef = function (D) { + return X.current.useRef(D) + }), + (Cn.useState = function (D) { + return X.current.useState(D) + }), + (Cn.useSyncExternalStore = function (D, F, N) { + return X.current.useSyncExternalStore(D, F, N) + }), + (Cn.useTransition = function () { + return X.current.useTransition() + }), + (Cn.version = "18.3.1"), + Cn + ) +} +var uN +function Ij() { + return uN || ((uN = 1), (HS.exports = Ymt())), HS.exports +} +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ var pN +function Xmt() { + if (pN) return Ig + pN = 1 + var t = Ij(), + e = Symbol.for("react.element"), + n = Symbol.for("react.fragment"), + o = Object.prototype.hasOwnProperty, + r = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, + i = { key: !0, ref: !0, __self: !0, __source: !0 } + function s(a, c, d) { + var u, + m = {}, + f = null, + g = null + d !== void 0 && (f = "" + d), c.key !== void 0 && (f = "" + c.key), c.ref !== void 0 && (g = c.ref) + for (u in c) o.call(c, u) && !i.hasOwnProperty(u) && (m[u] = c[u]) + if (a && a.defaultProps) for (u in ((c = a.defaultProps), c)) m[u] === void 0 && (m[u] = c[u]) + return { $$typeof: e, type: a, key: f, ref: g, props: m, _owner: r.current } + } + return (Ig.Fragment = n), (Ig.jsx = s), (Ig.jsxs = s), Ig +} +var mN +function Jmt() { + return mN || ((mN = 1), (VS.exports = Xmt())), VS.exports +} +var l = Jmt(), + k = Ij() +const Ie = ps(k), + Mj = Zmt({ __proto__: null, default: Ie }, [k]) +var vk = {}, + GS = { exports: {} }, + Zi = {}, + QS = { exports: {} }, + ZS = {} +/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ var hN +function eht() { + return ( + hN || + ((hN = 1), + (function (t) { + function e(H, B) { + var M = H.length + H.push(B) + e: for (; 0 < M; ) { + var D = (M - 1) >>> 1, + F = H[D] + if (0 < r(F, B)) (H[D] = B), (H[M] = F), (M = D) + else break e + } + } + function n(H) { + return H.length === 0 ? null : H[0] + } + function o(H) { + if (H.length === 0) return null + var B = H[0], + M = H.pop() + if (M !== B) { + H[0] = M + e: for (var D = 0, F = H.length, N = F >>> 1; D < N; ) { + var J = 2 * (D + 1) - 1, + oe = H[J], + ae = J + 1, + Q = H[ae] + if (0 > r(oe, M)) + ae < F && 0 > r(Q, oe) + ? ((H[D] = Q), (H[ae] = M), (D = ae)) + : ((H[D] = oe), (H[J] = M), (D = J)) + else if (ae < F && 0 > r(Q, M)) (H[D] = Q), (H[ae] = M), (D = ae) + else break e + } + } + return B + } + function r(H, B) { + var M = H.sortIndex - B.sortIndex + return M !== 0 ? M : H.id - B.id + } + if (typeof performance == "object" && typeof performance.now == "function") { + var i = performance + t.unstable_now = function () { + return i.now() + } + } else { + var s = Date, + a = s.now() + t.unstable_now = function () { + return s.now() - a + } + } + var c = [], + d = [], + u = 1, + m = null, + f = 3, + g = !1, + b = !1, + v = !1, + w = typeof setTimeout == "function" ? setTimeout : null, + _ = typeof clearTimeout == "function" ? clearTimeout : null, + y = typeof setImmediate < "u" ? setImmediate : null + typeof navigator < "u" && + navigator.scheduling !== void 0 && + navigator.scheduling.isInputPending !== void 0 && + navigator.scheduling.isInputPending.bind(navigator.scheduling) + function C(H) { + for (var B = n(d); B !== null; ) { + if (B.callback === null) o(d) + else if (B.startTime <= H) o(d), (B.sortIndex = B.expirationTime), e(c, B) + else break + B = n(d) + } + } + function S(H) { + if (((v = !1), C(H), !b)) + if (n(c) !== null) (b = !0), V(P) + else { + var B = n(d) + B !== null && X(S, B.startTime - H) + } + } + function P(H, B) { + ;(b = !1), v && ((v = !1), _(E), (E = -1)), (g = !0) + var M = f + try { + for (C(B), m = n(c); m !== null && (!(m.expirationTime > B) || (H && !L())); ) { + var D = m.callback + if (typeof D == "function") { + ;(m.callback = null), (f = m.priorityLevel) + var F = D(m.expirationTime <= B) + ;(B = t.unstable_now()), + typeof F == "function" ? (m.callback = F) : m === n(c) && o(c), + C(B) + } else o(c) + m = n(c) + } + if (m !== null) var N = !0 + else { + var J = n(d) + J !== null && X(S, J.startTime - B), (N = !1) + } + return N + } finally { + ;(m = null), (f = M), (g = !1) + } + } + var R = !1, + T = null, + E = -1, + $ = 5, + j = -1 + function L() { + return !(t.unstable_now() - j < $) + } + function W() { + if (T !== null) { + var H = t.unstable_now() + j = H + var B = !0 + try { + B = T(!0, H) + } finally { + B ? G() : ((R = !1), (T = null)) + } + } else R = !1 + } + var G + if (typeof y == "function") + G = function () { + y(W) + } + else if (typeof MessageChannel < "u") { + var U = new MessageChannel(), + Z = U.port2 + ;(U.port1.onmessage = W), + (G = function () { + Z.postMessage(null) + }) + } else + G = function () { + w(W, 0) + } + function V(H) { + ;(T = H), R || ((R = !0), G()) + } + function X(H, B) { + E = w(function () { + H(t.unstable_now()) + }, B) + } + ;(t.unstable_IdlePriority = 5), + (t.unstable_ImmediatePriority = 1), + (t.unstable_LowPriority = 4), + (t.unstable_NormalPriority = 3), + (t.unstable_Profiling = null), + (t.unstable_UserBlockingPriority = 2), + (t.unstable_cancelCallback = function (H) { + H.callback = null + }), + (t.unstable_continueExecution = function () { + b || g || ((b = !0), V(P)) + }), + (t.unstable_forceFrameRate = function (H) { + 0 > H || 125 < H + ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported", + ) + : ($ = 0 < H ? Math.floor(1e3 / H) : 5) + }), + (t.unstable_getCurrentPriorityLevel = function () { + return f + }), + (t.unstable_getFirstCallbackNode = function () { + return n(c) + }), + (t.unstable_next = function (H) { + switch (f) { + case 1: + case 2: + case 3: + var B = 3 + break + default: + B = f + } + var M = f + f = B + try { + return H() + } finally { + f = M + } + }), + (t.unstable_pauseExecution = function () {}), + (t.unstable_requestPaint = function () {}), + (t.unstable_runWithPriority = function (H, B) { + switch (H) { + case 1: + case 2: + case 3: + case 4: + case 5: + break + default: + H = 3 + } + var M = f + f = H + try { + return B() + } finally { + f = M + } + }), + (t.unstable_scheduleCallback = function (H, B, M) { + var D = t.unstable_now() + switch ( + (typeof M == "object" && M !== null + ? ((M = M.delay), (M = typeof M == "number" && 0 < M ? D + M : D)) + : (M = D), + H) + ) { + case 1: + var F = -1 + break + case 2: + F = 250 + break + case 5: + F = 1073741823 + break + case 4: + F = 1e4 + break + default: + F = 5e3 + } + return ( + (F = M + F), + (H = { + id: u++, + callback: B, + priorityLevel: H, + startTime: M, + expirationTime: F, + sortIndex: -1, + }), + M > D + ? ((H.sortIndex = M), + e(d, H), + n(c) === null && H === n(d) && (v ? (_(E), (E = -1)) : (v = !0), X(S, M - D))) + : ((H.sortIndex = F), e(c, H), b || g || ((b = !0), V(P))), + H + ) + }), + (t.unstable_shouldYield = L), + (t.unstable_wrapCallback = function (H) { + var B = f + return function () { + var M = f + f = B + try { + return H.apply(this, arguments) + } finally { + f = M + } + } + }) + })(ZS)), + ZS + ) +} +var fN +function tht() { + return fN || ((fN = 1), (QS.exports = eht())), QS.exports +} +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ var gN +function nht() { + if (gN) return Zi + gN = 1 + var t = Ij(), + e = tht() + function n(p) { + for (var h = "https://reactjs.org/docs/error-decoder.html?invariant=" + p, x = 1; x < arguments.length; x++) + h += "&args[]=" + encodeURIComponent(arguments[x]) + return ( + "Minified React error #" + + p + + "; visit " + + h + + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." + ) + } + var o = new Set(), + r = {} + function i(p, h) { + s(p, h), s(p + "Capture", h) + } + function s(p, h) { + for (r[p] = h, p = 0; p < h.length; p++) o.add(h[p]) + } + var a = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), + c = Object.prototype.hasOwnProperty, + d = + /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, + u = {}, + m = {} + function f(p) { + return c.call(m, p) ? !0 : c.call(u, p) ? !1 : d.test(p) ? (m[p] = !0) : ((u[p] = !0), !1) + } + function g(p, h, x, A) { + if (x !== null && x.type === 0) return !1 + switch (typeof h) { + case "function": + case "symbol": + return !0 + case "boolean": + return A + ? !1 + : x !== null + ? !x.acceptsBooleans + : ((p = p.toLowerCase().slice(0, 5)), p !== "data-" && p !== "aria-") + default: + return !1 + } + } + function b(p, h, x, A) { + if (h === null || typeof h > "u" || g(p, h, x, A)) return !0 + if (A) return !1 + if (x !== null) + switch (x.type) { + case 3: + return !h + case 4: + return h === !1 + case 5: + return isNaN(h) + case 6: + return isNaN(h) || 1 > h + } + return !1 + } + function v(p, h, x, A, I, z, K) { + ;(this.acceptsBooleans = h === 2 || h === 3 || h === 4), + (this.attributeName = A), + (this.attributeNamespace = I), + (this.mustUseProperty = x), + (this.propertyName = p), + (this.type = h), + (this.sanitizeURL = z), + (this.removeEmptyString = K) + } + var w = {} + "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style" + .split(" ") + .forEach(function (p) { + w[p] = new v(p, 0, !1, p, null, !1, !1) + }), + [ + ["acceptCharset", "accept-charset"], + ["className", "class"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"], + ].forEach(function (p) { + var h = p[0] + w[h] = new v(h, 1, !1, p[1], null, !1, !1) + }), + ["contentEditable", "draggable", "spellCheck", "value"].forEach(function (p) { + w[p] = new v(p, 2, !1, p.toLowerCase(), null, !1, !1) + }), + ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function (p) { + w[p] = new v(p, 2, !1, p, null, !1, !1) + }), + "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope" + .split(" ") + .forEach(function (p) { + w[p] = new v(p, 3, !1, p.toLowerCase(), null, !1, !1) + }), + ["checked", "multiple", "muted", "selected"].forEach(function (p) { + w[p] = new v(p, 3, !0, p, null, !1, !1) + }), + ["capture", "download"].forEach(function (p) { + w[p] = new v(p, 4, !1, p, null, !1, !1) + }), + ["cols", "rows", "size", "span"].forEach(function (p) { + w[p] = new v(p, 6, !1, p, null, !1, !1) + }), + ["rowSpan", "start"].forEach(function (p) { + w[p] = new v(p, 5, !1, p.toLowerCase(), null, !1, !1) + }) + var _ = /[\-:]([a-z])/g + function y(p) { + return p[1].toUpperCase() + } + "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height" + .split(" ") + .forEach(function (p) { + var h = p.replace(_, y) + w[h] = new v(h, 1, !1, p, null, !1, !1) + }), + "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function (p) { + var h = p.replace(_, y) + w[h] = new v(h, 1, !1, p, "http://www.w3.org/1999/xlink", !1, !1) + }), + ["xml:base", "xml:lang", "xml:space"].forEach(function (p) { + var h = p.replace(_, y) + w[h] = new v(h, 1, !1, p, "http://www.w3.org/XML/1998/namespace", !1, !1) + }), + ["tabIndex", "crossOrigin"].forEach(function (p) { + w[p] = new v(p, 1, !1, p.toLowerCase(), null, !1, !1) + }), + (w.xlinkHref = new v("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1)), + ["src", "href", "action", "formAction"].forEach(function (p) { + w[p] = new v(p, 1, !1, p.toLowerCase(), null, !0, !0) + }) + function C(p, h, x, A) { + var I = w.hasOwnProperty(h) ? w[h] : null + ;(I !== null + ? I.type !== 0 + : A || !(2 < h.length) || (h[0] !== "o" && h[0] !== "O") || (h[1] !== "n" && h[1] !== "N")) && + (b(h, x, I, A) && (x = null), + A || I === null + ? f(h) && (x === null ? p.removeAttribute(h) : p.setAttribute(h, "" + x)) + : I.mustUseProperty + ? (p[I.propertyName] = x === null ? (I.type === 3 ? !1 : "") : x) + : ((h = I.attributeName), + (A = I.attributeNamespace), + x === null + ? p.removeAttribute(h) + : ((I = I.type), + (x = I === 3 || (I === 4 && x === !0) ? "" : "" + x), + A ? p.setAttributeNS(A, h, x) : p.setAttribute(h, x)))) + } + var S = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, + P = Symbol.for("react.element"), + R = Symbol.for("react.portal"), + T = Symbol.for("react.fragment"), + E = Symbol.for("react.strict_mode"), + $ = Symbol.for("react.profiler"), + j = Symbol.for("react.provider"), + L = Symbol.for("react.context"), + W = Symbol.for("react.forward_ref"), + G = Symbol.for("react.suspense"), + U = Symbol.for("react.suspense_list"), + Z = Symbol.for("react.memo"), + V = Symbol.for("react.lazy"), + X = Symbol.for("react.offscreen"), + H = Symbol.iterator + function B(p) { + return p === null || typeof p != "object" + ? null + : ((p = (H && p[H]) || p["@@iterator"]), typeof p == "function" ? p : null) + } + var M = Object.assign, + D + function F(p) { + if (D === void 0) + try { + throw Error() + } catch (x) { + var h = x.stack.trim().match(/\n( *(at )?)/) + D = (h && h[1]) || "" + } + return ( + ` +` + + D + + p + ) + } + var N = !1 + function J(p, h) { + if (!p || N) return "" + N = !0 + var x = Error.prepareStackTrace + Error.prepareStackTrace = void 0 + try { + if (h) + if ( + ((h = function () { + throw Error() + }), + Object.defineProperty(h.prototype, "props", { + set: function () { + throw Error() + }, + }), + typeof Reflect == "object" && Reflect.construct) + ) { + try { + Reflect.construct(h, []) + } catch (ye) { + var A = ye + } + Reflect.construct(p, [], h) + } else { + try { + h.call() + } catch (ye) { + A = ye + } + p.call(h.prototype) + } + else { + try { + throw Error() + } catch (ye) { + A = ye + } + p() + } + } catch (ye) { + if (ye && A && typeof ye.stack == "string") { + for ( + var I = ye.stack.split(` +`), + z = A.stack.split(` +`), + K = I.length - 1, + ie = z.length - 1; + 1 <= K && 0 <= ie && I[K] !== z[ie]; + + ) + ie-- + for (; 1 <= K && 0 <= ie; K--, ie--) + if (I[K] !== z[ie]) { + if (K !== 1 || ie !== 1) + do + if ((K--, ie--, 0 > ie || I[K] !== z[ie])) { + var le = + ` +` + I[K].replace(" at new ", " at ") + return ( + p.displayName && + le.includes("<anonymous>") && + (le = le.replace("<anonymous>", p.displayName)), + le + ) + } + while (1 <= K && 0 <= ie) + break + } + } + } finally { + ;(N = !1), (Error.prepareStackTrace = x) + } + return (p = p ? p.displayName || p.name : "") ? F(p) : "" + } + function oe(p) { + switch (p.tag) { + case 5: + return F(p.type) + case 16: + return F("Lazy") + case 13: + return F("Suspense") + case 19: + return F("SuspenseList") + case 0: + case 2: + case 15: + return (p = J(p.type, !1)), p + case 11: + return (p = J(p.type.render, !1)), p + case 1: + return (p = J(p.type, !0)), p + default: + return "" + } + } + function ae(p) { + if (p == null) return null + if (typeof p == "function") return p.displayName || p.name || null + if (typeof p == "string") return p + switch (p) { + case T: + return "Fragment" + case R: + return "Portal" + case $: + return "Profiler" + case E: + return "StrictMode" + case G: + return "Suspense" + case U: + return "SuspenseList" + } + if (typeof p == "object") + switch (p.$$typeof) { + case L: + return (p.displayName || "Context") + ".Consumer" + case j: + return (p._context.displayName || "Context") + ".Provider" + case W: + var h = p.render + return ( + (p = p.displayName), + p || + ((p = h.displayName || h.name || ""), + (p = p !== "" ? "ForwardRef(" + p + ")" : "ForwardRef")), + p + ) + case Z: + return (h = p.displayName || null), h !== null ? h : ae(p.type) || "Memo" + case V: + ;(h = p._payload), (p = p._init) + try { + return ae(p(h)) + } catch {} + } + return null + } + function Q(p) { + var h = p.type + switch (p.tag) { + case 24: + return "Cache" + case 9: + return (h.displayName || "Context") + ".Consumer" + case 10: + return (h._context.displayName || "Context") + ".Provider" + case 18: + return "DehydratedFragment" + case 11: + return ( + (p = h.render), + (p = p.displayName || p.name || ""), + h.displayName || (p !== "" ? "ForwardRef(" + p + ")" : "ForwardRef") + ) + case 7: + return "Fragment" + case 5: + return h + case 4: + return "Portal" + case 3: + return "Root" + case 6: + return "Text" + case 16: + return ae(h) + case 8: + return h === E ? "StrictMode" : "Mode" + case 22: + return "Offscreen" + case 12: + return "Profiler" + case 21: + return "Scope" + case 13: + return "Suspense" + case 19: + return "SuspenseList" + case 25: + return "TracingMarker" + case 1: + case 0: + case 17: + case 2: + case 14: + case 15: + if (typeof h == "function") return h.displayName || h.name || null + if (typeof h == "string") return h + } + return null + } + function ee(p) { + switch (typeof p) { + case "boolean": + case "number": + case "string": + case "undefined": + return p + case "object": + return p + default: + return "" + } + } + function q(p) { + var h = p.type + return (p = p.nodeName) && p.toLowerCase() === "input" && (h === "checkbox" || h === "radio") + } + function me(p) { + var h = q(p) ? "checked" : "value", + x = Object.getOwnPropertyDescriptor(p.constructor.prototype, h), + A = "" + p[h] + if (!p.hasOwnProperty(h) && typeof x < "u" && typeof x.get == "function" && typeof x.set == "function") { + var I = x.get, + z = x.set + return ( + Object.defineProperty(p, h, { + configurable: !0, + get: function () { + return I.call(this) + }, + set: function (K) { + ;(A = "" + K), z.call(this, K) + }, + }), + Object.defineProperty(p, h, { enumerable: x.enumerable }), + { + getValue: function () { + return A + }, + setValue: function (K) { + A = "" + K + }, + stopTracking: function () { + ;(p._valueTracker = null), delete p[h] + }, + } + ) + } + } + function Ce(p) { + p._valueTracker || (p._valueTracker = me(p)) + } + function ue(p) { + if (!p) return !1 + var h = p._valueTracker + if (!h) return !0 + var x = h.getValue(), + A = "" + return p && (A = q(p) ? (p.checked ? "true" : "false") : p.value), (p = A), p !== x ? (h.setValue(p), !0) : !1 + } + function Te(p) { + if (((p = p || (typeof document < "u" ? document : void 0)), typeof p > "u")) return null + try { + return p.activeElement || p.body + } catch { + return p.body + } + } + function dt(p, h) { + var x = h.checked + return M({}, h, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: x ?? p._wrapperState.initialChecked, + }) + } + function Y(p, h) { + var x = h.defaultValue == null ? "" : h.defaultValue, + A = h.checked != null ? h.checked : h.defaultChecked + ;(x = ee(h.value != null ? h.value : x)), + (p._wrapperState = { + initialChecked: A, + initialValue: x, + controlled: h.type === "checkbox" || h.type === "radio" ? h.checked != null : h.value != null, + }) + } + function Ke(p, h) { + ;(h = h.checked), h != null && C(p, "checked", h, !1) + } + function jt(p, h) { + Ke(p, h) + var x = ee(h.value), + A = h.type + if (x != null) + A === "number" + ? ((x === 0 && p.value === "") || p.value != x) && (p.value = "" + x) + : p.value !== "" + x && (p.value = "" + x) + else if (A === "submit" || A === "reset") { + p.removeAttribute("value") + return + } + h.hasOwnProperty("value") + ? Bt(p, h.type, x) + : h.hasOwnProperty("defaultValue") && Bt(p, h.type, ee(h.defaultValue)), + h.checked == null && h.defaultChecked != null && (p.defaultChecked = !!h.defaultChecked) + } + function Ye(p, h, x) { + if (h.hasOwnProperty("value") || h.hasOwnProperty("defaultValue")) { + var A = h.type + if (!((A !== "submit" && A !== "reset") || (h.value !== void 0 && h.value !== null))) return + ;(h = "" + p._wrapperState.initialValue), x || h === p.value || (p.value = h), (p.defaultValue = h) + } + ;(x = p.name), + x !== "" && (p.name = ""), + (p.defaultChecked = !!p._wrapperState.initialChecked), + x !== "" && (p.name = x) + } + function Bt(p, h, x) { + ;(h !== "number" || Te(p.ownerDocument) !== p) && + (x == null + ? (p.defaultValue = "" + p._wrapperState.initialValue) + : p.defaultValue !== "" + x && (p.defaultValue = "" + x)) + } + var nn = Array.isArray + function Xe(p, h, x, A) { + if (((p = p.options), h)) { + h = {} + for (var I = 0; I < x.length; I++) h["$" + x[I]] = !0 + for (x = 0; x < p.length; x++) + (I = h.hasOwnProperty("$" + p[x].value)), + p[x].selected !== I && (p[x].selected = I), + I && A && (p[x].defaultSelected = !0) + } else { + for (x = "" + ee(x), h = null, I = 0; I < p.length; I++) { + if (p[I].value === x) { + ;(p[I].selected = !0), A && (p[I].defaultSelected = !0) + return + } + h !== null || p[I].disabled || (h = p[I]) + } + h !== null && (h.selected = !0) + } + } + function Tt(p, h) { + if (h.dangerouslySetInnerHTML != null) throw Error(n(91)) + return M({}, h, { value: void 0, defaultValue: void 0, children: "" + p._wrapperState.initialValue }) + } + function Vt(p, h) { + var x = h.value + if (x == null) { + if (((x = h.children), (h = h.defaultValue), x != null)) { + if (h != null) throw Error(n(92)) + if (nn(x)) { + if (1 < x.length) throw Error(n(93)) + x = x[0] + } + h = x + } + h == null && (h = ""), (x = h) + } + p._wrapperState = { initialValue: ee(x) } + } + function zt(p, h) { + var x = ee(h.value), + A = ee(h.defaultValue) + x != null && + ((x = "" + x), + x !== p.value && (p.value = x), + h.defaultValue == null && p.defaultValue !== x && (p.defaultValue = x)), + A != null && (p.defaultValue = "" + A) + } + function _n(p) { + var h = p.textContent + h === p._wrapperState.initialValue && h !== "" && h !== null && (p.value = h) + } + function ge(p) { + switch (p) { + case "svg": + return "http://www.w3.org/2000/svg" + case "math": + return "http://www.w3.org/1998/Math/MathML" + default: + return "http://www.w3.org/1999/xhtml" + } + } + function Re(p, h) { + return p == null || p === "http://www.w3.org/1999/xhtml" + ? ge(h) + : p === "http://www.w3.org/2000/svg" && h === "foreignObject" + ? "http://www.w3.org/1999/xhtml" + : p + } + var tt, + lt = (function (p) { + return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction + ? function (h, x, A, I) { + MSApp.execUnsafeLocalFunction(function () { + return p(h, x, A, I) + }) + } + : p + })(function (p, h) { + if (p.namespaceURI !== "http://www.w3.org/2000/svg" || "innerHTML" in p) p.innerHTML = h + else { + for ( + tt = tt || document.createElement("div"), + tt.innerHTML = "<svg>" + h.valueOf().toString() + "</svg>", + h = tt.firstChild; + p.firstChild; + + ) + p.removeChild(p.firstChild) + for (; h.firstChild; ) p.appendChild(h.firstChild) + } + }) + function _t(p, h) { + if (h) { + var x = p.firstChild + if (x && x === p.lastChild && x.nodeType === 3) { + x.nodeValue = h + return + } + } + p.textContent = h + } + var Kt = { + animationIterationCount: !0, + aspectRatio: !0, + borderImageOutset: !0, + borderImageSlice: !0, + borderImageWidth: !0, + boxFlex: !0, + boxFlexGroup: !0, + boxOrdinalGroup: !0, + columnCount: !0, + columns: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + flexOrder: !0, + gridArea: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowSpan: !0, + gridRowStart: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnSpan: !0, + gridColumnStart: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + floodOpacity: !0, + stopOpacity: !0, + strokeDasharray: !0, + strokeDashoffset: !0, + strokeMiterlimit: !0, + strokeOpacity: !0, + strokeWidth: !0, + }, + Wn = ["Webkit", "ms", "Moz", "O"] + Object.keys(Kt).forEach(function (p) { + Wn.forEach(function (h) { + ;(h = h + p.charAt(0).toUpperCase() + p.substring(1)), (Kt[h] = Kt[p]) + }) + }) + function on(p, h, x) { + return h == null || typeof h == "boolean" || h === "" + ? "" + : x || typeof h != "number" || h === 0 || (Kt.hasOwnProperty(p) && Kt[p]) + ? ("" + h).trim() + : h + "px" + } + function Eo(p, h) { + p = p.style + for (var x in h) + if (h.hasOwnProperty(x)) { + var A = x.indexOf("--") === 0, + I = on(x, h[x], A) + x === "float" && (x = "cssFloat"), A ? p.setProperty(x, I) : (p[x] = I) + } + } + var Fo = M( + { menuitem: !0 }, + { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + keygen: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0, + }, + ) + function Bn(p, h) { + if (h) { + if (Fo[p] && (h.children != null || h.dangerouslySetInnerHTML != null)) throw Error(n(137, p)) + if (h.dangerouslySetInnerHTML != null) { + if (h.children != null) throw Error(n(60)) + if (typeof h.dangerouslySetInnerHTML != "object" || !("__html" in h.dangerouslySetInnerHTML)) + throw Error(n(61)) + } + if (h.style != null && typeof h.style != "object") throw Error(n(62)) + } + } + function Yn(p, h) { + if (p.indexOf("-") === -1) return typeof h.is == "string" + switch (p) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return !1 + default: + return !0 + } + } + var Kn = null + function Nr(p) { + return ( + (p = p.target || p.srcElement || window), + p.correspondingUseElement && (p = p.correspondingUseElement), + p.nodeType === 3 ? p.parentNode : p + ) + } + var Or = null, + uo = null, + Jo = null + function xe(p) { + if ((p = fg(p))) { + if (typeof Or != "function") throw Error(n(280)) + var h = p.stateNode + h && ((h = jy(h)), Or(p.stateNode, p.type, h)) + } + } + function $t(p) { + uo ? (Jo ? Jo.push(p) : (Jo = [p])) : (uo = p) + } + function gn() { + if (uo) { + var p = uo, + h = Jo + if (((Jo = uo = null), xe(p), h)) for (p = 0; p < h.length; p++) xe(h[p]) + } + } + function an(p, h) { + return p(h) + } + function no() {} + var vn = !1 + function oo(p, h, x) { + if (vn) return p(h, x) + vn = !0 + try { + return an(p, h, x) + } finally { + ;(vn = !1), (uo !== null || Jo !== null) && (no(), gn()) + } + } + function Bo(p, h) { + var x = p.stateNode + if (x === null) return null + var A = jy(x) + if (A === null) return null + x = A[h] + e: switch (h) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + ;(A = !A.disabled) || + ((p = p.type), (A = !(p === "button" || p === "input" || p === "select" || p === "textarea"))), + (p = !A) + break e + default: + p = !1 + } + if (p) return null + if (x && typeof x != "function") throw Error(n(231, h, typeof x)) + return x + } + var ro = !1 + if (a) + try { + var bo = {} + Object.defineProperty(bo, "passive", { + get: function () { + ro = !0 + }, + }), + window.addEventListener("test", bo, bo), + window.removeEventListener("test", bo, bo) + } catch { + ro = !1 + } + function Ln(p, h, x, A, I, z, K, ie, le) { + var ye = Array.prototype.slice.call(arguments, 3) + try { + h.apply(x, ye) + } catch (De) { + this.onError(De) + } + } + var yo = !1, + ko = null, + Vn = !1, + Go = null, + Me = { + onError: function (p) { + ;(yo = !0), (ko = p) + }, + } + function Et(p, h, x, A, I, z, K, ie, le) { + ;(yo = !1), (ko = null), Ln.apply(Me, arguments) + } + function At(p, h, x, A, I, z, K, ie, le) { + if ((Et.apply(this, arguments), yo)) { + if (yo) { + var ye = ko + ;(yo = !1), (ko = null) + } else throw Error(n(198)) + Vn || ((Vn = !0), (Go = ye)) + } + } + function ln(p) { + var h = p, + x = p + if (p.alternate) for (; h.return; ) h = h.return + else { + p = h + do (h = p), (h.flags & 4098) !== 0 && (x = h.return), (p = h.return) + while (p) + } + return h.tag === 3 ? x : null + } + function Qe(p) { + if (p.tag === 13) { + var h = p.memoizedState + if ((h === null && ((p = p.alternate), p !== null && (h = p.memoizedState)), h !== null)) + return h.dehydrated + } + return null + } + function pn(p) { + if (ln(p) !== p) throw Error(n(188)) + } + function Xt(p) { + var h = p.alternate + if (!h) { + if (((h = ln(p)), h === null)) throw Error(n(188)) + return h !== p ? null : p + } + for (var x = p, A = h; ; ) { + var I = x.return + if (I === null) break + var z = I.alternate + if (z === null) { + if (((A = I.return), A !== null)) { + x = A + continue + } + break + } + if (I.child === z.child) { + for (z = I.child; z; ) { + if (z === x) return pn(I), p + if (z === A) return pn(I), h + z = z.sibling + } + throw Error(n(188)) + } + if (x.return !== A.return) (x = I), (A = z) + else { + for (var K = !1, ie = I.child; ie; ) { + if (ie === x) { + ;(K = !0), (x = I), (A = z) + break + } + if (ie === A) { + ;(K = !0), (A = I), (x = z) + break + } + ie = ie.sibling + } + if (!K) { + for (ie = z.child; ie; ) { + if (ie === x) { + ;(K = !0), (x = z), (A = I) + break + } + if (ie === A) { + ;(K = !0), (A = z), (x = I) + break + } + ie = ie.sibling + } + if (!K) throw Error(n(189)) + } + } + if (x.alternate !== A) throw Error(n(190)) + } + if (x.tag !== 3) throw Error(n(188)) + return x.stateNode.current === x ? p : h + } + function Ve(p) { + return (p = Xt(p)), p !== null ? te(p) : null + } + function te(p) { + if (p.tag === 5 || p.tag === 6) return p + for (p = p.child; p !== null; ) { + var h = te(p) + if (h !== null) return h + p = p.sibling + } + return null + } + var Se = e.unstable_scheduleCallback, + ze = e.unstable_cancelCallback, + ot = e.unstable_shouldYield, + Ut = e.unstable_requestPaint, + qt = e.unstable_now, + io = e.unstable_getCurrentPriorityLevel, + or = e.unstable_ImmediatePriority, + qi = e.unstable_UserBlockingPriority, + rr = e.unstable_NormalPriority, + Hc = e.unstable_LowPriority, + Hs = e.unstable_IdlePriority, + hl = null, + Wi = null + function m0(p) { + if (Wi && typeof Wi.onCommitFiberRoot == "function") + try { + Wi.onCommitFiberRoot(hl, p, void 0, (p.current.flags & 128) === 128) + } catch {} + } + var Si = Math.clz32 ? Math.clz32 : g0, + h0 = Math.log, + f0 = Math.LN2 + function g0(p) { + return (p >>>= 0), p === 0 ? 32 : (31 - ((h0(p) / f0) | 0)) | 0 + } + var Cu = 64, + Su = 4194304 + function fl(p) { + switch (p & -p) { + case 1: + return 1 + case 2: + return 2 + case 4: + return 4 + case 8: + return 8 + case 16: + return 16 + case 32: + return 32 + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return p & 4194240 + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return p & 130023424 + case 134217728: + return 134217728 + case 268435456: + return 268435456 + case 536870912: + return 536870912 + case 1073741824: + return 1073741824 + default: + return p + } + } + function Au(p, h) { + var x = p.pendingLanes + if (x === 0) return 0 + var A = 0, + I = p.suspendedLanes, + z = p.pingedLanes, + K = x & 268435455 + if (K !== 0) { + var ie = K & ~I + ie !== 0 ? (A = fl(ie)) : ((z &= K), z !== 0 && (A = fl(z))) + } else (K = x & ~I), K !== 0 ? (A = fl(K)) : z !== 0 && (A = fl(z)) + if (A === 0) return 0 + if ( + h !== 0 && + h !== A && + (h & I) === 0 && + ((I = A & -A), (z = h & -h), I >= z || (I === 16 && (z & 4194240) !== 0)) + ) + return h + if (((A & 4) !== 0 && (A |= x & 16), (h = p.entangledLanes), h !== 0)) + for (p = p.entanglements, h &= A; 0 < h; ) (x = 31 - Si(h)), (I = 1 << x), (A |= p[x]), (h &= ~I) + return A + } + function em(p, h) { + switch (p) { + case 1: + case 2: + case 4: + return h + 250 + case 8: + case 16: + case 32: + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return h + 5e3 + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + return -1 + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1 + default: + return -1 + } + } + function Yf(p, h) { + for (var x = p.suspendedLanes, A = p.pingedLanes, I = p.expirationTimes, z = p.pendingLanes; 0 < z; ) { + var K = 31 - Si(z), + ie = 1 << K, + le = I[K] + le === -1 ? ((ie & x) === 0 || (ie & A) !== 0) && (I[K] = em(ie, h)) : le <= h && (p.expiredLanes |= ie), + (z &= ~ie) + } + } + function tm(p) { + return (p = p.pendingLanes & -1073741825), p !== 0 ? p : p & 1073741824 ? 1073741824 : 0 + } + function Xf() { + var p = Cu + return (Cu <<= 1), (Cu & 4194240) === 0 && (Cu = 64), p + } + function Jf(p) { + for (var h = [], x = 0; 31 > x; x++) h.push(p) + return h + } + function Gc(p, h, x) { + ;(p.pendingLanes |= h), + h !== 536870912 && ((p.suspendedLanes = 0), (p.pingedLanes = 0)), + (p = p.eventTimes), + (h = 31 - Si(h)), + (p[h] = x) + } + function Zl(p, h) { + var x = p.pendingLanes & ~h + ;(p.pendingLanes = h), + (p.suspendedLanes = 0), + (p.pingedLanes = 0), + (p.expiredLanes &= h), + (p.mutableReadLanes &= h), + (p.entangledLanes &= h), + (h = p.entanglements) + var A = p.eventTimes + for (p = p.expirationTimes; 0 < x; ) { + var I = 31 - Si(x), + z = 1 << I + ;(h[I] = 0), (A[I] = -1), (p[I] = -1), (x &= ~z) + } + } + function eg(p, h) { + var x = (p.entangledLanes |= h) + for (p = p.entanglements; x; ) { + var A = 31 - Si(x), + I = 1 << A + ;(I & h) | (p[A] & h) && (p[A] |= h), (x &= ~I) + } + } + var jn = 0 + function Gs(p) { + return (p &= -p), 1 < p ? (4 < p ? ((p & 268435455) !== 0 ? 16 : 536870912) : 4) : 1 + } + var nm, + om, + tg, + rm, + vy, + ng = !1, + _a = [], + xs = null, + Ca = null, + Sa = null, + Pu = new Map(), + Qc = new Map(), + Aa = [], + og = + "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split( + " ", + ) + function by(p, h) { + switch (p) { + case "focusin": + case "focusout": + xs = null + break + case "dragenter": + case "dragleave": + Ca = null + break + case "mouseover": + case "mouseout": + Sa = null + break + case "pointerover": + case "pointerout": + Pu.delete(h.pointerId) + break + case "gotpointercapture": + case "lostpointercapture": + Qc.delete(h.pointerId) + } + } + function Zc(p, h, x, A, I, z) { + return p === null || p.nativeEvent !== z + ? ((p = { blockedOn: h, domEventName: x, eventSystemFlags: A, nativeEvent: z, targetContainers: [I] }), + h !== null && ((h = fg(h)), h !== null && om(h)), + p) + : ((p.eventSystemFlags |= A), (h = p.targetContainers), I !== null && h.indexOf(I) === -1 && h.push(I), p) + } + function ce(p, h, x, A, I) { + switch (h) { + case "focusin": + return (xs = Zc(xs, p, h, x, A, I)), !0 + case "dragenter": + return (Ca = Zc(Ca, p, h, x, A, I)), !0 + case "mouseover": + return (Sa = Zc(Sa, p, h, x, A, I)), !0 + case "pointerover": + var z = I.pointerId + return Pu.set(z, Zc(Pu.get(z) || null, p, h, x, A, I)), !0 + case "gotpointercapture": + return (z = I.pointerId), Qc.set(z, Zc(Qc.get(z) || null, p, h, x, A, I)), !0 + } + return !1 + } + function ve(p) { + var h = Tu(p.target) + if (h !== null) { + var x = ln(h) + if (x !== null) { + if (((h = x.tag), h === 13)) { + if (((h = Qe(x)), h !== null)) { + ;(p.blockedOn = h), + vy(p.priority, function () { + tg(x) + }) + return + } + } else if (h === 3 && x.stateNode.current.memoizedState.isDehydrated) { + p.blockedOn = x.tag === 3 ? x.stateNode.containerInfo : null + return + } + } + } + p.blockedOn = null + } + function it(p) { + if (p.blockedOn !== null) return !1 + for (var h = p.targetContainers; 0 < h.length; ) { + var x = b0(p.domEventName, p.eventSystemFlags, h[0], p.nativeEvent) + if (x === null) { + x = p.nativeEvent + var A = new x.constructor(x.type, x) + ;(Kn = A), x.target.dispatchEvent(A), (Kn = null) + } else return (h = fg(x)), h !== null && om(h), (p.blockedOn = x), !1 + h.shift() + } + return !0 + } + function Nt(p, h, x) { + it(p) && x.delete(h) + } + function kn() { + ;(ng = !1), + xs !== null && it(xs) && (xs = null), + Ca !== null && it(Ca) && (Ca = null), + Sa !== null && it(Sa) && (Sa = null), + Pu.forEach(Nt), + Qc.forEach(Nt) + } + function lo(p, h) { + p.blockedOn === h && + ((p.blockedOn = null), ng || ((ng = !0), e.unstable_scheduleCallback(e.unstable_NormalPriority, kn))) + } + function ws(p) { + function h(I) { + return lo(I, p) + } + if (0 < _a.length) { + lo(_a[0], p) + for (var x = 1; x < _a.length; x++) { + var A = _a[x] + A.blockedOn === p && (A.blockedOn = null) + } + } + for ( + xs !== null && lo(xs, p), + Ca !== null && lo(Ca, p), + Sa !== null && lo(Sa, p), + Pu.forEach(h), + Qc.forEach(h), + x = 0; + x < Aa.length; + x++ + ) + (A = Aa[x]), A.blockedOn === p && (A.blockedOn = null) + for (; 0 < Aa.length && ((x = Aa[0]), x.blockedOn === null); ) ve(x), x.blockedOn === null && Aa.shift() + } + var Ru = S.ReactCurrentBatchConfig, + yy = !0 + function apt(p, h, x, A) { + var I = jn, + z = Ru.transition + Ru.transition = null + try { + ;(jn = 1), v0(p, h, x, A) + } finally { + ;(jn = I), (Ru.transition = z) + } + } + function lpt(p, h, x, A) { + var I = jn, + z = Ru.transition + Ru.transition = null + try { + ;(jn = 4), v0(p, h, x, A) + } finally { + ;(jn = I), (Ru.transition = z) + } + } + function v0(p, h, x, A) { + if (yy) { + var I = b0(p, h, x, A) + if (I === null) $0(p, h, A, ky, x), by(p, A) + else if (ce(I, p, h, x, A)) A.stopPropagation() + else if ((by(p, A), h & 4 && -1 < og.indexOf(p))) { + for (; I !== null; ) { + var z = fg(I) + if ((z !== null && nm(z), (z = b0(p, h, x, A)), z === null && $0(p, h, A, ky, x), z === I)) break + I = z + } + I !== null && A.stopPropagation() + } else $0(p, h, A, null, x) + } + } + var ky = null + function b0(p, h, x, A) { + if (((ky = null), (p = Nr(A)), (p = Tu(p)), p !== null)) + if (((h = ln(p)), h === null)) p = null + else if (((x = h.tag), x === 13)) { + if (((p = Qe(h)), p !== null)) return p + p = null + } else if (x === 3) { + if (h.stateNode.current.memoizedState.isDehydrated) + return h.tag === 3 ? h.stateNode.containerInfo : null + p = null + } else h !== p && (p = null) + return (ky = p), null + } + function H$(p) { + switch (p) { + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return 1 + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "toggle": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return 4 + case "message": + switch (io()) { + case or: + return 1 + case qi: + return 4 + case rr: + case Hc: + return 16 + case Hs: + return 536870912 + default: + return 16 + } + default: + return 16 + } + } + var Yc = null, + y0 = null, + xy = null + function G$() { + if (xy) return xy + var p, + h = y0, + x = h.length, + A, + I = "value" in Yc ? Yc.value : Yc.textContent, + z = I.length + for (p = 0; p < x && h[p] === I[p]; p++); + var K = x - p + for (A = 1; A <= K && h[x - A] === I[z - A]; A++); + return (xy = I.slice(p, 1 < A ? 1 - A : void 0)) + } + function wy(p) { + var h = p.keyCode + return ( + "charCode" in p ? ((p = p.charCode), p === 0 && h === 13 && (p = 13)) : (p = h), + p === 10 && (p = 13), + 32 <= p || p === 13 ? p : 0 + ) + } + function _y() { + return !0 + } + function Q$() { + return !1 + } + function _s(p) { + function h(x, A, I, z, K) { + ;(this._reactName = x), + (this._targetInst = I), + (this.type = A), + (this.nativeEvent = z), + (this.target = K), + (this.currentTarget = null) + for (var ie in p) p.hasOwnProperty(ie) && ((x = p[ie]), (this[ie] = x ? x(z) : z[ie])) + return ( + (this.isDefaultPrevented = (z.defaultPrevented != null ? z.defaultPrevented : z.returnValue === !1) + ? _y + : Q$), + (this.isPropagationStopped = Q$), + this + ) + } + return ( + M(h.prototype, { + preventDefault: function () { + this.defaultPrevented = !0 + var x = this.nativeEvent + x && + (x.preventDefault + ? x.preventDefault() + : typeof x.returnValue != "unknown" && (x.returnValue = !1), + (this.isDefaultPrevented = _y)) + }, + stopPropagation: function () { + var x = this.nativeEvent + x && + (x.stopPropagation + ? x.stopPropagation() + : typeof x.cancelBubble != "unknown" && (x.cancelBubble = !0), + (this.isPropagationStopped = _y)) + }, + persist: function () {}, + isPersistent: _y, + }), + h + ) + } + var im = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function (p) { + return p.timeStamp || Date.now() + }, + defaultPrevented: 0, + isTrusted: 0, + }, + k0 = _s(im), + rg = M({}, im, { view: 0, detail: 0 }), + cpt = _s(rg), + x0, + w0, + ig, + Cy = M({}, rg, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: C0, + button: 0, + buttons: 0, + relatedTarget: function (p) { + return p.relatedTarget === void 0 + ? p.fromElement === p.srcElement + ? p.toElement + : p.fromElement + : p.relatedTarget + }, + movementX: function (p) { + return "movementX" in p + ? p.movementX + : (p !== ig && + (ig && p.type === "mousemove" + ? ((x0 = p.screenX - ig.screenX), (w0 = p.screenY - ig.screenY)) + : (w0 = x0 = 0), + (ig = p)), + x0) + }, + movementY: function (p) { + return "movementY" in p ? p.movementY : w0 + }, + }), + Z$ = _s(Cy), + dpt = M({}, Cy, { dataTransfer: 0 }), + upt = _s(dpt), + ppt = M({}, rg, { relatedTarget: 0 }), + _0 = _s(ppt), + mpt = M({}, im, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), + hpt = _s(mpt), + fpt = M({}, im, { + clipboardData: function (p) { + return "clipboardData" in p ? p.clipboardData : window.clipboardData + }, + }), + gpt = _s(fpt), + vpt = M({}, im, { data: 0 }), + Y$ = _s(vpt), + bpt = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified", + }, + ypt = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta", + }, + kpt = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" } + function xpt(p) { + var h = this.nativeEvent + return h.getModifierState ? h.getModifierState(p) : (p = kpt[p]) ? !!h[p] : !1 + } + function C0() { + return xpt + } + var wpt = M({}, rg, { + key: function (p) { + if (p.key) { + var h = bpt[p.key] || p.key + if (h !== "Unidentified") return h + } + return p.type === "keypress" + ? ((p = wy(p)), p === 13 ? "Enter" : String.fromCharCode(p)) + : p.type === "keydown" || p.type === "keyup" + ? ypt[p.keyCode] || "Unidentified" + : "" + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: C0, + charCode: function (p) { + return p.type === "keypress" ? wy(p) : 0 + }, + keyCode: function (p) { + return p.type === "keydown" || p.type === "keyup" ? p.keyCode : 0 + }, + which: function (p) { + return p.type === "keypress" ? wy(p) : p.type === "keydown" || p.type === "keyup" ? p.keyCode : 0 + }, + }), + _pt = _s(wpt), + Cpt = M({}, Cy, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0, + }), + X$ = _s(Cpt), + Spt = M({}, rg, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: C0, + }), + Apt = _s(Spt), + Ppt = M({}, im, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), + Rpt = _s(Ppt), + Tpt = M({}, Cy, { + deltaX: function (p) { + return "deltaX" in p ? p.deltaX : "wheelDeltaX" in p ? -p.wheelDeltaX : 0 + }, + deltaY: function (p) { + return "deltaY" in p + ? p.deltaY + : "wheelDeltaY" in p + ? -p.wheelDeltaY + : "wheelDelta" in p + ? -p.wheelDelta + : 0 + }, + deltaZ: 0, + deltaMode: 0, + }), + Ipt = _s(Tpt), + Mpt = [9, 13, 27, 32], + S0 = a && "CompositionEvent" in window, + sg = null + a && "documentMode" in document && (sg = document.documentMode) + var jpt = a && "TextEvent" in window && !sg, + J$ = a && (!S0 || (sg && 8 < sg && 11 >= sg)), + eL = " ", + tL = !1 + function nL(p, h) { + switch (p) { + case "keyup": + return Mpt.indexOf(h.keyCode) !== -1 + case "keydown": + return h.keyCode !== 229 + case "keypress": + case "mousedown": + case "focusout": + return !0 + default: + return !1 + } + } + function oL(p) { + return (p = p.detail), typeof p == "object" && "data" in p ? p.data : null + } + var sm = !1 + function Ept(p, h) { + switch (p) { + case "compositionend": + return oL(h) + case "keypress": + return h.which !== 32 ? null : ((tL = !0), eL) + case "textInput": + return (p = h.data), p === eL && tL ? null : p + default: + return null + } + } + function zpt(p, h) { + if (sm) + return p === "compositionend" || (!S0 && nL(p, h)) + ? ((p = G$()), (xy = y0 = Yc = null), (sm = !1), p) + : null + switch (p) { + case "paste": + return null + case "keypress": + if (!(h.ctrlKey || h.altKey || h.metaKey) || (h.ctrlKey && h.altKey)) { + if (h.char && 1 < h.char.length) return h.char + if (h.which) return String.fromCharCode(h.which) + } + return null + case "compositionend": + return J$ && h.locale !== "ko" ? null : h.data + default: + return null + } + } + var $pt = { + color: !0, + date: !0, + datetime: !0, + "datetime-local": !0, + email: !0, + month: !0, + number: !0, + password: !0, + range: !0, + search: !0, + tel: !0, + text: !0, + time: !0, + url: !0, + week: !0, + } + function rL(p) { + var h = p && p.nodeName && p.nodeName.toLowerCase() + return h === "input" ? !!$pt[p.type] : h === "textarea" + } + function iL(p, h, x, A) { + $t(A), + (h = Ty(h, "onChange")), + 0 < h.length && ((x = new k0("onChange", "change", null, x, A)), p.push({ event: x, listeners: h })) + } + var ag = null, + lg = null + function Lpt(p) { + _L(p, 0) + } + function Sy(p) { + var h = um(p) + if (ue(h)) return p + } + function Dpt(p, h) { + if (p === "change") return h + } + var sL = !1 + if (a) { + var A0 + if (a) { + var P0 = "oninput" in document + if (!P0) { + var aL = document.createElement("div") + aL.setAttribute("oninput", "return;"), (P0 = typeof aL.oninput == "function") + } + A0 = P0 + } else A0 = !1 + sL = A0 && (!document.documentMode || 9 < document.documentMode) + } + function lL() { + ag && (ag.detachEvent("onpropertychange", cL), (lg = ag = null)) + } + function cL(p) { + if (p.propertyName === "value" && Sy(lg)) { + var h = [] + iL(h, lg, p, Nr(p)), oo(Lpt, h) + } + } + function Npt(p, h, x) { + p === "focusin" ? (lL(), (ag = h), (lg = x), ag.attachEvent("onpropertychange", cL)) : p === "focusout" && lL() + } + function Opt(p) { + if (p === "selectionchange" || p === "keyup" || p === "keydown") return Sy(lg) + } + function Fpt(p, h) { + if (p === "click") return Sy(h) + } + function Bpt(p, h) { + if (p === "input" || p === "change") return Sy(h) + } + function Upt(p, h) { + return (p === h && (p !== 0 || 1 / p === 1 / h)) || (p !== p && h !== h) + } + var Pa = typeof Object.is == "function" ? Object.is : Upt + function cg(p, h) { + if (Pa(p, h)) return !0 + if (typeof p != "object" || p === null || typeof h != "object" || h === null) return !1 + var x = Object.keys(p), + A = Object.keys(h) + if (x.length !== A.length) return !1 + for (A = 0; A < x.length; A++) { + var I = x[A] + if (!c.call(h, I) || !Pa(p[I], h[I])) return !1 + } + return !0 + } + function dL(p) { + for (; p && p.firstChild; ) p = p.firstChild + return p + } + function uL(p, h) { + var x = dL(p) + p = 0 + for (var A; x; ) { + if (x.nodeType === 3) { + if (((A = p + x.textContent.length), p <= h && A >= h)) return { node: x, offset: h - p } + p = A + } + e: { + for (; x; ) { + if (x.nextSibling) { + x = x.nextSibling + break e + } + x = x.parentNode + } + x = void 0 + } + x = dL(x) + } + } + function pL(p, h) { + return p && h + ? p === h + ? !0 + : p && p.nodeType === 3 + ? !1 + : h && h.nodeType === 3 + ? pL(p, h.parentNode) + : "contains" in p + ? p.contains(h) + : p.compareDocumentPosition + ? !!(p.compareDocumentPosition(h) & 16) + : !1 + : !1 + } + function mL() { + for (var p = window, h = Te(); h instanceof p.HTMLIFrameElement; ) { + try { + var x = typeof h.contentWindow.location.href == "string" + } catch { + x = !1 + } + if (x) p = h.contentWindow + else break + h = Te(p.document) + } + return h + } + function R0(p) { + var h = p && p.nodeName && p.nodeName.toLowerCase() + return ( + h && + ((h === "input" && + (p.type === "text" || + p.type === "search" || + p.type === "tel" || + p.type === "url" || + p.type === "password")) || + h === "textarea" || + p.contentEditable === "true") + ) + } + function qpt(p) { + var h = mL(), + x = p.focusedElem, + A = p.selectionRange + if (h !== x && x && x.ownerDocument && pL(x.ownerDocument.documentElement, x)) { + if (A !== null && R0(x)) { + if (((h = A.start), (p = A.end), p === void 0 && (p = h), "selectionStart" in x)) + (x.selectionStart = h), (x.selectionEnd = Math.min(p, x.value.length)) + else if (((p = ((h = x.ownerDocument || document) && h.defaultView) || window), p.getSelection)) { + p = p.getSelection() + var I = x.textContent.length, + z = Math.min(A.start, I) + ;(A = A.end === void 0 ? z : Math.min(A.end, I)), + !p.extend && z > A && ((I = A), (A = z), (z = I)), + (I = uL(x, z)) + var K = uL(x, A) + I && + K && + (p.rangeCount !== 1 || + p.anchorNode !== I.node || + p.anchorOffset !== I.offset || + p.focusNode !== K.node || + p.focusOffset !== K.offset) && + ((h = h.createRange()), + h.setStart(I.node, I.offset), + p.removeAllRanges(), + z > A + ? (p.addRange(h), p.extend(K.node, K.offset)) + : (h.setEnd(K.node, K.offset), p.addRange(h))) + } + } + for (h = [], p = x; (p = p.parentNode); ) + p.nodeType === 1 && h.push({ element: p, left: p.scrollLeft, top: p.scrollTop }) + for (typeof x.focus == "function" && x.focus(), x = 0; x < h.length; x++) + (p = h[x]), (p.element.scrollLeft = p.left), (p.element.scrollTop = p.top) + } + } + var Wpt = a && "documentMode" in document && 11 >= document.documentMode, + am = null, + T0 = null, + dg = null, + I0 = !1 + function hL(p, h, x) { + var A = x.window === x ? x.document : x.nodeType === 9 ? x : x.ownerDocument + I0 || + am == null || + am !== Te(A) || + ((A = am), + "selectionStart" in A && R0(A) + ? (A = { start: A.selectionStart, end: A.selectionEnd }) + : ((A = ((A.ownerDocument && A.ownerDocument.defaultView) || window).getSelection()), + (A = { + anchorNode: A.anchorNode, + anchorOffset: A.anchorOffset, + focusNode: A.focusNode, + focusOffset: A.focusOffset, + })), + (dg && cg(dg, A)) || + ((dg = A), + (A = Ty(T0, "onSelect")), + 0 < A.length && + ((h = new k0("onSelect", "select", null, h, x)), + p.push({ event: h, listeners: A }), + (h.target = am)))) + } + function Ay(p, h) { + var x = {} + return (x[p.toLowerCase()] = h.toLowerCase()), (x["Webkit" + p] = "webkit" + h), (x["Moz" + p] = "moz" + h), x + } + var lm = { + animationend: Ay("Animation", "AnimationEnd"), + animationiteration: Ay("Animation", "AnimationIteration"), + animationstart: Ay("Animation", "AnimationStart"), + transitionend: Ay("Transition", "TransitionEnd"), + }, + M0 = {}, + fL = {} + a && + ((fL = document.createElement("div").style), + "AnimationEvent" in window || + (delete lm.animationend.animation, + delete lm.animationiteration.animation, + delete lm.animationstart.animation), + "TransitionEvent" in window || delete lm.transitionend.transition) + function Py(p) { + if (M0[p]) return M0[p] + if (!lm[p]) return p + var h = lm[p], + x + for (x in h) if (h.hasOwnProperty(x) && x in fL) return (M0[p] = h[x]) + return p + } + var gL = Py("animationend"), + vL = Py("animationiteration"), + bL = Py("animationstart"), + yL = Py("transitionend"), + kL = new Map(), + xL = + "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split( + " ", + ) + function Xc(p, h) { + kL.set(p, h), i(h, [p]) + } + for (var j0 = 0; j0 < xL.length; j0++) { + var E0 = xL[j0], + Kpt = E0.toLowerCase(), + Vpt = E0[0].toUpperCase() + E0.slice(1) + Xc(Kpt, "on" + Vpt) + } + Xc(gL, "onAnimationEnd"), + Xc(vL, "onAnimationIteration"), + Xc(bL, "onAnimationStart"), + Xc("dblclick", "onDoubleClick"), + Xc("focusin", "onFocus"), + Xc("focusout", "onBlur"), + Xc(yL, "onTransitionEnd"), + s("onMouseEnter", ["mouseout", "mouseover"]), + s("onMouseLeave", ["mouseout", "mouseover"]), + s("onPointerEnter", ["pointerout", "pointerover"]), + s("onPointerLeave", ["pointerout", "pointerover"]), + i("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), + i( + "onSelect", + "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "), + ), + i("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), + i("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), + i("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), + i("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")) + var ug = + "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split( + " ", + ), + Hpt = new Set("cancel close invalid load scroll toggle".split(" ").concat(ug)) + function wL(p, h, x) { + var A = p.type || "unknown-event" + ;(p.currentTarget = x), At(A, h, void 0, p), (p.currentTarget = null) + } + function _L(p, h) { + h = (h & 4) !== 0 + for (var x = 0; x < p.length; x++) { + var A = p[x], + I = A.event + A = A.listeners + e: { + var z = void 0 + if (h) + for (var K = A.length - 1; 0 <= K; K--) { + var ie = A[K], + le = ie.instance, + ye = ie.currentTarget + if (((ie = ie.listener), le !== z && I.isPropagationStopped())) break e + wL(I, ie, ye), (z = le) + } + else + for (K = 0; K < A.length; K++) { + if ( + ((ie = A[K]), + (le = ie.instance), + (ye = ie.currentTarget), + (ie = ie.listener), + le !== z && I.isPropagationStopped()) + ) + break e + wL(I, ie, ye), (z = le) + } + } + } + if (Vn) throw ((p = Go), (Vn = !1), (Go = null), p) + } + function xo(p, h) { + var x = h[B0] + x === void 0 && (x = h[B0] = new Set()) + var A = p + "__bubble" + x.has(A) || (CL(h, p, 2, !1), x.add(A)) + } + function z0(p, h, x) { + var A = 0 + h && (A |= 4), CL(x, p, A, h) + } + var Ry = "_reactListening" + Math.random().toString(36).slice(2) + function pg(p) { + if (!p[Ry]) { + ;(p[Ry] = !0), + o.forEach(function (x) { + x !== "selectionchange" && (Hpt.has(x) || z0(x, !1, p), z0(x, !0, p)) + }) + var h = p.nodeType === 9 ? p : p.ownerDocument + h === null || h[Ry] || ((h[Ry] = !0), z0("selectionchange", !1, h)) + } + } + function CL(p, h, x, A) { + switch (H$(h)) { + case 1: + var I = apt + break + case 4: + I = lpt + break + default: + I = v0 + } + ;(x = I.bind(null, h, x, p)), + (I = void 0), + !ro || (h !== "touchstart" && h !== "touchmove" && h !== "wheel") || (I = !0), + A + ? I !== void 0 + ? p.addEventListener(h, x, { capture: !0, passive: I }) + : p.addEventListener(h, x, !0) + : I !== void 0 + ? p.addEventListener(h, x, { passive: I }) + : p.addEventListener(h, x, !1) + } + function $0(p, h, x, A, I) { + var z = A + if ((h & 1) === 0 && (h & 2) === 0 && A !== null) + e: for (;;) { + if (A === null) return + var K = A.tag + if (K === 3 || K === 4) { + var ie = A.stateNode.containerInfo + if (ie === I || (ie.nodeType === 8 && ie.parentNode === I)) break + if (K === 4) + for (K = A.return; K !== null; ) { + var le = K.tag + if ( + (le === 3 || le === 4) && + ((le = K.stateNode.containerInfo), + le === I || (le.nodeType === 8 && le.parentNode === I)) + ) + return + K = K.return + } + for (; ie !== null; ) { + if (((K = Tu(ie)), K === null)) return + if (((le = K.tag), le === 5 || le === 6)) { + A = z = K + continue e + } + ie = ie.parentNode + } + } + A = A.return + } + oo(function () { + var ye = z, + De = Nr(x), + Oe = [] + e: { + var $e = kL.get(p) + if ($e !== void 0) { + var ut = k0, + kt = p + switch (p) { + case "keypress": + if (wy(x) === 0) break e + case "keydown": + case "keyup": + ut = _pt + break + case "focusin": + ;(kt = "focus"), (ut = _0) + break + case "focusout": + ;(kt = "blur"), (ut = _0) + break + case "beforeblur": + case "afterblur": + ut = _0 + break + case "click": + if (x.button === 2) break e + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + ut = Z$ + break + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + ut = upt + break + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + ut = Apt + break + case gL: + case vL: + case bL: + ut = hpt + break + case yL: + ut = Rpt + break + case "scroll": + ut = cpt + break + case "wheel": + ut = Ipt + break + case "copy": + case "cut": + case "paste": + ut = gpt + break + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + ut = X$ + } + var Ct = (h & 4) !== 0, + er = !Ct && p === "scroll", + pe = Ct ? ($e !== null ? $e + "Capture" : null) : $e + Ct = [] + for (var de = ye, fe; de !== null; ) { + fe = de + var He = fe.stateNode + if ( + (fe.tag === 5 && + He !== null && + ((fe = He), pe !== null && ((He = Bo(de, pe)), He != null && Ct.push(mg(de, He, fe)))), + er) + ) + break + de = de.return + } + 0 < Ct.length && (($e = new ut($e, kt, null, x, De)), Oe.push({ event: $e, listeners: Ct })) + } + } + if ((h & 7) === 0) { + e: { + if ( + (($e = p === "mouseover" || p === "pointerover"), + (ut = p === "mouseout" || p === "pointerout"), + $e && x !== Kn && (kt = x.relatedTarget || x.fromElement) && (Tu(kt) || kt[Yl])) + ) + break e + if ( + (ut || $e) && + (($e = + De.window === De + ? De + : ($e = De.ownerDocument) + ? $e.defaultView || $e.parentWindow + : window), + ut + ? ((kt = x.relatedTarget || x.toElement), + (ut = ye), + (kt = kt ? Tu(kt) : null), + kt !== null && + ((er = ln(kt)), kt !== er || (kt.tag !== 5 && kt.tag !== 6)) && + (kt = null)) + : ((ut = null), (kt = ye)), + ut !== kt) + ) { + if ( + ((Ct = Z$), + (He = "onMouseLeave"), + (pe = "onMouseEnter"), + (de = "mouse"), + (p === "pointerout" || p === "pointerover") && + ((Ct = X$), (He = "onPointerLeave"), (pe = "onPointerEnter"), (de = "pointer")), + (er = ut == null ? $e : um(ut)), + (fe = kt == null ? $e : um(kt)), + ($e = new Ct(He, de + "leave", ut, x, De)), + ($e.target = er), + ($e.relatedTarget = fe), + (He = null), + Tu(De) === ye && + ((Ct = new Ct(pe, de + "enter", kt, x, De)), + (Ct.target = fe), + (Ct.relatedTarget = er), + (He = Ct)), + (er = He), + ut && kt) + ) + t: { + for (Ct = ut, pe = kt, de = 0, fe = Ct; fe; fe = cm(fe)) de++ + for (fe = 0, He = pe; He; He = cm(He)) fe++ + for (; 0 < de - fe; ) (Ct = cm(Ct)), de-- + for (; 0 < fe - de; ) (pe = cm(pe)), fe-- + for (; de--; ) { + if (Ct === pe || (pe !== null && Ct === pe.alternate)) break t + ;(Ct = cm(Ct)), (pe = cm(pe)) + } + Ct = null + } + else Ct = null + ut !== null && SL(Oe, $e, ut, Ct, !1), kt !== null && er !== null && SL(Oe, er, kt, Ct, !0) + } + } + e: { + if ( + (($e = ye ? um(ye) : window), + (ut = $e.nodeName && $e.nodeName.toLowerCase()), + ut === "select" || (ut === "input" && $e.type === "file")) + ) + var Pt = Dpt + else if (rL($e)) + if (sL) Pt = Bpt + else { + Pt = Opt + var Ot = Npt + } + else + (ut = $e.nodeName) && + ut.toLowerCase() === "input" && + ($e.type === "checkbox" || $e.type === "radio") && + (Pt = Fpt) + if (Pt && (Pt = Pt(p, ye))) { + iL(Oe, Pt, x, De) + break e + } + Ot && Ot(p, $e, ye), + p === "focusout" && + (Ot = $e._wrapperState) && + Ot.controlled && + $e.type === "number" && + Bt($e, "number", $e.value) + } + switch (((Ot = ye ? um(ye) : window), p)) { + case "focusin": + ;(rL(Ot) || Ot.contentEditable === "true") && ((am = Ot), (T0 = ye), (dg = null)) + break + case "focusout": + dg = T0 = am = null + break + case "mousedown": + I0 = !0 + break + case "contextmenu": + case "mouseup": + case "dragend": + ;(I0 = !1), hL(Oe, x, De) + break + case "selectionchange": + if (Wpt) break + case "keydown": + case "keyup": + hL(Oe, x, De) + } + var Ft + if (S0) + e: { + switch (p) { + case "compositionstart": + var Ht = "onCompositionStart" + break e + case "compositionend": + Ht = "onCompositionEnd" + break e + case "compositionupdate": + Ht = "onCompositionUpdate" + break e + } + Ht = void 0 + } + else + sm + ? nL(p, x) && (Ht = "onCompositionEnd") + : p === "keydown" && x.keyCode === 229 && (Ht = "onCompositionStart") + Ht && + (J$ && + x.locale !== "ko" && + (sm || Ht !== "onCompositionStart" + ? Ht === "onCompositionEnd" && sm && (Ft = G$()) + : ((Yc = De), (y0 = "value" in Yc ? Yc.value : Yc.textContent), (sm = !0))), + (Ot = Ty(ye, Ht)), + 0 < Ot.length && + ((Ht = new Y$(Ht, p, null, x, De)), + Oe.push({ event: Ht, listeners: Ot }), + Ft ? (Ht.data = Ft) : ((Ft = oL(x)), Ft !== null && (Ht.data = Ft)))), + (Ft = jpt ? Ept(p, x) : zpt(p, x)) && + ((ye = Ty(ye, "onBeforeInput")), + 0 < ye.length && + ((De = new Y$("onBeforeInput", "beforeinput", null, x, De)), + Oe.push({ event: De, listeners: ye }), + (De.data = Ft))) + } + _L(Oe, h) + }) + } + function mg(p, h, x) { + return { instance: p, listener: h, currentTarget: x } + } + function Ty(p, h) { + for (var x = h + "Capture", A = []; p !== null; ) { + var I = p, + z = I.stateNode + I.tag === 5 && + z !== null && + ((I = z), + (z = Bo(p, x)), + z != null && A.unshift(mg(p, z, I)), + (z = Bo(p, h)), + z != null && A.push(mg(p, z, I))), + (p = p.return) + } + return A + } + function cm(p) { + if (p === null) return null + do p = p.return + while (p && p.tag !== 5) + return p || null + } + function SL(p, h, x, A, I) { + for (var z = h._reactName, K = []; x !== null && x !== A; ) { + var ie = x, + le = ie.alternate, + ye = ie.stateNode + if (le !== null && le === A) break + ie.tag === 5 && + ye !== null && + ((ie = ye), + I + ? ((le = Bo(x, z)), le != null && K.unshift(mg(x, le, ie))) + : I || ((le = Bo(x, z)), le != null && K.push(mg(x, le, ie)))), + (x = x.return) + } + K.length !== 0 && p.push({ event: h, listeners: K }) + } + var Gpt = /\r\n?/g, + Qpt = /\u0000|\uFFFD/g + function AL(p) { + return (typeof p == "string" ? p : "" + p) + .replace( + Gpt, + ` +`, + ) + .replace(Qpt, "") + } + function Iy(p, h, x) { + if (((h = AL(h)), AL(p) !== h && x)) throw Error(n(425)) + } + function My() {} + var L0 = null, + D0 = null + function N0(p, h) { + return ( + p === "textarea" || + p === "noscript" || + typeof h.children == "string" || + typeof h.children == "number" || + (typeof h.dangerouslySetInnerHTML == "object" && + h.dangerouslySetInnerHTML !== null && + h.dangerouslySetInnerHTML.__html != null) + ) + } + var O0 = typeof setTimeout == "function" ? setTimeout : void 0, + Zpt = typeof clearTimeout == "function" ? clearTimeout : void 0, + PL = typeof Promise == "function" ? Promise : void 0, + Ypt = + typeof queueMicrotask == "function" + ? queueMicrotask + : typeof PL < "u" + ? function (p) { + return PL.resolve(null).then(p).catch(Xpt) + } + : O0 + function Xpt(p) { + setTimeout(function () { + throw p + }) + } + function F0(p, h) { + var x = h, + A = 0 + do { + var I = x.nextSibling + if ((p.removeChild(x), I && I.nodeType === 8)) + if (((x = I.data), x === "/$")) { + if (A === 0) { + p.removeChild(I), ws(h) + return + } + A-- + } else (x !== "$" && x !== "$?" && x !== "$!") || A++ + x = I + } while (x) + ws(h) + } + function Jc(p) { + for (; p != null; p = p.nextSibling) { + var h = p.nodeType + if (h === 1 || h === 3) break + if (h === 8) { + if (((h = p.data), h === "$" || h === "$!" || h === "$?")) break + if (h === "/$") return null + } + } + return p + } + function RL(p) { + p = p.previousSibling + for (var h = 0; p; ) { + if (p.nodeType === 8) { + var x = p.data + if (x === "$" || x === "$!" || x === "$?") { + if (h === 0) return p + h-- + } else x === "/$" && h++ + } + p = p.previousSibling + } + return null + } + var dm = Math.random().toString(36).slice(2), + gl = "__reactFiber$" + dm, + hg = "__reactProps$" + dm, + Yl = "__reactContainer$" + dm, + B0 = "__reactEvents$" + dm, + Jpt = "__reactListeners$" + dm, + emt = "__reactHandles$" + dm + function Tu(p) { + var h = p[gl] + if (h) return h + for (var x = p.parentNode; x; ) { + if ((h = x[Yl] || x[gl])) { + if (((x = h.alternate), h.child !== null || (x !== null && x.child !== null))) + for (p = RL(p); p !== null; ) { + if ((x = p[gl])) return x + p = RL(p) + } + return h + } + ;(p = x), (x = p.parentNode) + } + return null + } + function fg(p) { + return (p = p[gl] || p[Yl]), !p || (p.tag !== 5 && p.tag !== 6 && p.tag !== 13 && p.tag !== 3) ? null : p + } + function um(p) { + if (p.tag === 5 || p.tag === 6) return p.stateNode + throw Error(n(33)) + } + function jy(p) { + return p[hg] || null + } + var U0 = [], + pm = -1 + function ed(p) { + return { current: p } + } + function wo(p) { + 0 > pm || ((p.current = U0[pm]), (U0[pm] = null), pm--) + } + function go(p, h) { + pm++, (U0[pm] = p.current), (p.current = h) + } + var td = {}, + ti = ed(td), + Ki = ed(!1), + Iu = td + function mm(p, h) { + var x = p.type.contextTypes + if (!x) return td + var A = p.stateNode + if (A && A.__reactInternalMemoizedUnmaskedChildContext === h) return A.__reactInternalMemoizedMaskedChildContext + var I = {}, + z + for (z in x) I[z] = h[z] + return ( + A && + ((p = p.stateNode), + (p.__reactInternalMemoizedUnmaskedChildContext = h), + (p.__reactInternalMemoizedMaskedChildContext = I)), + I + ) + } + function Vi(p) { + return (p = p.childContextTypes), p != null + } + function Ey() { + wo(Ki), wo(ti) + } + function TL(p, h, x) { + if (ti.current !== td) throw Error(n(168)) + go(ti, h), go(Ki, x) + } + function IL(p, h, x) { + var A = p.stateNode + if (((h = h.childContextTypes), typeof A.getChildContext != "function")) return x + A = A.getChildContext() + for (var I in A) if (!(I in h)) throw Error(n(108, Q(p) || "Unknown", I)) + return M({}, x, A) + } + function zy(p) { + return ( + (p = ((p = p.stateNode) && p.__reactInternalMemoizedMergedChildContext) || td), + (Iu = ti.current), + go(ti, p), + go(Ki, Ki.current), + !0 + ) + } + function ML(p, h, x) { + var A = p.stateNode + if (!A) throw Error(n(169)) + x ? ((p = IL(p, h, Iu)), (A.__reactInternalMemoizedMergedChildContext = p), wo(Ki), wo(ti), go(ti, p)) : wo(Ki), + go(Ki, x) + } + var Xl = null, + $y = !1, + q0 = !1 + function jL(p) { + Xl === null ? (Xl = [p]) : Xl.push(p) + } + function tmt(p) { + ;($y = !0), jL(p) + } + function nd() { + if (!q0 && Xl !== null) { + q0 = !0 + var p = 0, + h = jn + try { + var x = Xl + for (jn = 1; p < x.length; p++) { + var A = x[p] + do A = A(!0) + while (A !== null) + } + ;(Xl = null), ($y = !1) + } catch (I) { + throw (Xl !== null && (Xl = Xl.slice(p + 1)), Se(or, nd), I) + } finally { + ;(jn = h), (q0 = !1) + } + } + return null + } + var hm = [], + fm = 0, + Ly = null, + Dy = 0, + Qs = [], + Zs = 0, + Mu = null, + Jl = 1, + ec = "" + function ju(p, h) { + ;(hm[fm++] = Dy), (hm[fm++] = Ly), (Ly = p), (Dy = h) + } + function EL(p, h, x) { + ;(Qs[Zs++] = Jl), (Qs[Zs++] = ec), (Qs[Zs++] = Mu), (Mu = p) + var A = Jl + p = ec + var I = 32 - Si(A) - 1 + ;(A &= ~(1 << I)), (x += 1) + var z = 32 - Si(h) + I + if (30 < z) { + var K = I - (I % 5) + ;(z = (A & ((1 << K) - 1)).toString(32)), + (A >>= K), + (I -= K), + (Jl = (1 << (32 - Si(h) + I)) | (x << I) | A), + (ec = z + p) + } else (Jl = (1 << z) | (x << I) | A), (ec = p) + } + function W0(p) { + p.return !== null && (ju(p, 1), EL(p, 1, 0)) + } + function K0(p) { + for (; p === Ly; ) (Ly = hm[--fm]), (hm[fm] = null), (Dy = hm[--fm]), (hm[fm] = null) + for (; p === Mu; ) + (Mu = Qs[--Zs]), (Qs[Zs] = null), (ec = Qs[--Zs]), (Qs[Zs] = null), (Jl = Qs[--Zs]), (Qs[Zs] = null) + } + var Cs = null, + Ss = null, + zo = !1, + Ra = null + function zL(p, h) { + var x = ea(5, null, null, 0) + ;(x.elementType = "DELETED"), + (x.stateNode = h), + (x.return = p), + (h = p.deletions), + h === null ? ((p.deletions = [x]), (p.flags |= 16)) : h.push(x) + } + function $L(p, h) { + switch (p.tag) { + case 5: + var x = p.type + return ( + (h = h.nodeType !== 1 || x.toLowerCase() !== h.nodeName.toLowerCase() ? null : h), + h !== null ? ((p.stateNode = h), (Cs = p), (Ss = Jc(h.firstChild)), !0) : !1 + ) + case 6: + return ( + (h = p.pendingProps === "" || h.nodeType !== 3 ? null : h), + h !== null ? ((p.stateNode = h), (Cs = p), (Ss = null), !0) : !1 + ) + case 13: + return ( + (h = h.nodeType !== 8 ? null : h), + h !== null + ? ((x = Mu !== null ? { id: Jl, overflow: ec } : null), + (p.memoizedState = { dehydrated: h, treeContext: x, retryLane: 1073741824 }), + (x = ea(18, null, null, 0)), + (x.stateNode = h), + (x.return = p), + (p.child = x), + (Cs = p), + (Ss = null), + !0) + : !1 + ) + default: + return !1 + } + } + function V0(p) { + return (p.mode & 1) !== 0 && (p.flags & 128) === 0 + } + function H0(p) { + if (zo) { + var h = Ss + if (h) { + var x = h + if (!$L(p, h)) { + if (V0(p)) throw Error(n(418)) + h = Jc(x.nextSibling) + var A = Cs + h && $L(p, h) ? zL(A, x) : ((p.flags = (p.flags & -4097) | 2), (zo = !1), (Cs = p)) + } + } else { + if (V0(p)) throw Error(n(418)) + ;(p.flags = (p.flags & -4097) | 2), (zo = !1), (Cs = p) + } + } + } + function LL(p) { + for (p = p.return; p !== null && p.tag !== 5 && p.tag !== 3 && p.tag !== 13; ) p = p.return + Cs = p + } + function Ny(p) { + if (p !== Cs) return !1 + if (!zo) return LL(p), (zo = !0), !1 + var h + if ( + ((h = p.tag !== 3) && + !(h = p.tag !== 5) && + ((h = p.type), (h = h !== "head" && h !== "body" && !N0(p.type, p.memoizedProps))), + h && (h = Ss)) + ) { + if (V0(p)) throw (DL(), Error(n(418))) + for (; h; ) zL(p, h), (h = Jc(h.nextSibling)) + } + if ((LL(p), p.tag === 13)) { + if (((p = p.memoizedState), (p = p !== null ? p.dehydrated : null), !p)) throw Error(n(317)) + e: { + for (p = p.nextSibling, h = 0; p; ) { + if (p.nodeType === 8) { + var x = p.data + if (x === "/$") { + if (h === 0) { + Ss = Jc(p.nextSibling) + break e + } + h-- + } else (x !== "$" && x !== "$!" && x !== "$?") || h++ + } + p = p.nextSibling + } + Ss = null + } + } else Ss = Cs ? Jc(p.stateNode.nextSibling) : null + return !0 + } + function DL() { + for (var p = Ss; p; ) p = Jc(p.nextSibling) + } + function gm() { + ;(Ss = Cs = null), (zo = !1) + } + function G0(p) { + Ra === null ? (Ra = [p]) : Ra.push(p) + } + var nmt = S.ReactCurrentBatchConfig + function gg(p, h, x) { + if (((p = x.ref), p !== null && typeof p != "function" && typeof p != "object")) { + if (x._owner) { + if (((x = x._owner), x)) { + if (x.tag !== 1) throw Error(n(309)) + var A = x.stateNode + } + if (!A) throw Error(n(147, p)) + var I = A, + z = "" + p + return h !== null && h.ref !== null && typeof h.ref == "function" && h.ref._stringRef === z + ? h.ref + : ((h = function (K) { + var ie = I.refs + K === null ? delete ie[z] : (ie[z] = K) + }), + (h._stringRef = z), + h) + } + if (typeof p != "string") throw Error(n(284)) + if (!x._owner) throw Error(n(290, p)) + } + return p + } + function Oy(p, h) { + throw ( + ((p = Object.prototype.toString.call(h)), + Error(n(31, p === "[object Object]" ? "object with keys {" + Object.keys(h).join(", ") + "}" : p))) + ) + } + function NL(p) { + var h = p._init + return h(p._payload) + } + function OL(p) { + function h(pe, de) { + if (p) { + var fe = pe.deletions + fe === null ? ((pe.deletions = [de]), (pe.flags |= 16)) : fe.push(de) + } + } + function x(pe, de) { + if (!p) return null + for (; de !== null; ) h(pe, de), (de = de.sibling) + return null + } + function A(pe, de) { + for (pe = new Map(); de !== null; ) + de.key !== null ? pe.set(de.key, de) : pe.set(de.index, de), (de = de.sibling) + return pe + } + function I(pe, de) { + return (pe = dd(pe, de)), (pe.index = 0), (pe.sibling = null), pe + } + function z(pe, de, fe) { + return ( + (pe.index = fe), + p + ? ((fe = pe.alternate), + fe !== null ? ((fe = fe.index), fe < de ? ((pe.flags |= 2), de) : fe) : ((pe.flags |= 2), de)) + : ((pe.flags |= 1048576), de) + ) + } + function K(pe) { + return p && pe.alternate === null && (pe.flags |= 2), pe + } + function ie(pe, de, fe, He) { + return de === null || de.tag !== 6 + ? ((de = OS(fe, pe.mode, He)), (de.return = pe), de) + : ((de = I(de, fe)), (de.return = pe), de) + } + function le(pe, de, fe, He) { + var Pt = fe.type + return Pt === T + ? De(pe, de, fe.props.children, He, fe.key) + : de !== null && + (de.elementType === Pt || + (typeof Pt == "object" && Pt !== null && Pt.$$typeof === V && NL(Pt) === de.type)) + ? ((He = I(de, fe.props)), (He.ref = gg(pe, de, fe)), (He.return = pe), He) + : ((He = ck(fe.type, fe.key, fe.props, null, pe.mode, He)), + (He.ref = gg(pe, de, fe)), + (He.return = pe), + He) + } + function ye(pe, de, fe, He) { + return de === null || + de.tag !== 4 || + de.stateNode.containerInfo !== fe.containerInfo || + de.stateNode.implementation !== fe.implementation + ? ((de = FS(fe, pe.mode, He)), (de.return = pe), de) + : ((de = I(de, fe.children || [])), (de.return = pe), de) + } + function De(pe, de, fe, He, Pt) { + return de === null || de.tag !== 7 + ? ((de = Fu(fe, pe.mode, He, Pt)), (de.return = pe), de) + : ((de = I(de, fe)), (de.return = pe), de) + } + function Oe(pe, de, fe) { + if ((typeof de == "string" && de !== "") || typeof de == "number") + return (de = OS("" + de, pe.mode, fe)), (de.return = pe), de + if (typeof de == "object" && de !== null) { + switch (de.$$typeof) { + case P: + return ( + (fe = ck(de.type, de.key, de.props, null, pe.mode, fe)), + (fe.ref = gg(pe, null, de)), + (fe.return = pe), + fe + ) + case R: + return (de = FS(de, pe.mode, fe)), (de.return = pe), de + case V: + var He = de._init + return Oe(pe, He(de._payload), fe) + } + if (nn(de) || B(de)) return (de = Fu(de, pe.mode, fe, null)), (de.return = pe), de + Oy(pe, de) + } + return null + } + function $e(pe, de, fe, He) { + var Pt = de !== null ? de.key : null + if ((typeof fe == "string" && fe !== "") || typeof fe == "number") + return Pt !== null ? null : ie(pe, de, "" + fe, He) + if (typeof fe == "object" && fe !== null) { + switch (fe.$$typeof) { + case P: + return fe.key === Pt ? le(pe, de, fe, He) : null + case R: + return fe.key === Pt ? ye(pe, de, fe, He) : null + case V: + return (Pt = fe._init), $e(pe, de, Pt(fe._payload), He) + } + if (nn(fe) || B(fe)) return Pt !== null ? null : De(pe, de, fe, He, null) + Oy(pe, fe) + } + return null + } + function ut(pe, de, fe, He, Pt) { + if ((typeof He == "string" && He !== "") || typeof He == "number") + return (pe = pe.get(fe) || null), ie(de, pe, "" + He, Pt) + if (typeof He == "object" && He !== null) { + switch (He.$$typeof) { + case P: + return (pe = pe.get(He.key === null ? fe : He.key) || null), le(de, pe, He, Pt) + case R: + return (pe = pe.get(He.key === null ? fe : He.key) || null), ye(de, pe, He, Pt) + case V: + var Ot = He._init + return ut(pe, de, fe, Ot(He._payload), Pt) + } + if (nn(He) || B(He)) return (pe = pe.get(fe) || null), De(de, pe, He, Pt, null) + Oy(de, He) + } + return null + } + function kt(pe, de, fe, He) { + for (var Pt = null, Ot = null, Ft = de, Ht = (de = 0), Rr = null; Ft !== null && Ht < fe.length; Ht++) { + Ft.index > Ht ? ((Rr = Ft), (Ft = null)) : (Rr = Ft.sibling) + var Un = $e(pe, Ft, fe[Ht], He) + if (Un === null) { + Ft === null && (Ft = Rr) + break + } + p && Ft && Un.alternate === null && h(pe, Ft), + (de = z(Un, de, Ht)), + Ot === null ? (Pt = Un) : (Ot.sibling = Un), + (Ot = Un), + (Ft = Rr) + } + if (Ht === fe.length) return x(pe, Ft), zo && ju(pe, Ht), Pt + if (Ft === null) { + for (; Ht < fe.length; Ht++) + (Ft = Oe(pe, fe[Ht], He)), + Ft !== null && ((de = z(Ft, de, Ht)), Ot === null ? (Pt = Ft) : (Ot.sibling = Ft), (Ot = Ft)) + return zo && ju(pe, Ht), Pt + } + for (Ft = A(pe, Ft); Ht < fe.length; Ht++) + (Rr = ut(Ft, pe, Ht, fe[Ht], He)), + Rr !== null && + (p && Rr.alternate !== null && Ft.delete(Rr.key === null ? Ht : Rr.key), + (de = z(Rr, de, Ht)), + Ot === null ? (Pt = Rr) : (Ot.sibling = Rr), + (Ot = Rr)) + return ( + p && + Ft.forEach(function (ud) { + return h(pe, ud) + }), + zo && ju(pe, Ht), + Pt + ) + } + function Ct(pe, de, fe, He) { + var Pt = B(fe) + if (typeof Pt != "function") throw Error(n(150)) + if (((fe = Pt.call(fe)), fe == null)) throw Error(n(151)) + for ( + var Ot = (Pt = null), Ft = de, Ht = (de = 0), Rr = null, Un = fe.next(); + Ft !== null && !Un.done; + Ht++, Un = fe.next() + ) { + Ft.index > Ht ? ((Rr = Ft), (Ft = null)) : (Rr = Ft.sibling) + var ud = $e(pe, Ft, Un.value, He) + if (ud === null) { + Ft === null && (Ft = Rr) + break + } + p && Ft && ud.alternate === null && h(pe, Ft), + (de = z(ud, de, Ht)), + Ot === null ? (Pt = ud) : (Ot.sibling = ud), + (Ot = ud), + (Ft = Rr) + } + if (Un.done) return x(pe, Ft), zo && ju(pe, Ht), Pt + if (Ft === null) { + for (; !Un.done; Ht++, Un = fe.next()) + (Un = Oe(pe, Un.value, He)), + Un !== null && ((de = z(Un, de, Ht)), Ot === null ? (Pt = Un) : (Ot.sibling = Un), (Ot = Un)) + return zo && ju(pe, Ht), Pt + } + for (Ft = A(pe, Ft); !Un.done; Ht++, Un = fe.next()) + (Un = ut(Ft, pe, Ht, Un.value, He)), + Un !== null && + (p && Un.alternate !== null && Ft.delete(Un.key === null ? Ht : Un.key), + (de = z(Un, de, Ht)), + Ot === null ? (Pt = Un) : (Ot.sibling = Un), + (Ot = Un)) + return ( + p && + Ft.forEach(function ($mt) { + return h(pe, $mt) + }), + zo && ju(pe, Ht), + Pt + ) + } + function er(pe, de, fe, He) { + if ( + (typeof fe == "object" && fe !== null && fe.type === T && fe.key === null && (fe = fe.props.children), + typeof fe == "object" && fe !== null) + ) { + switch (fe.$$typeof) { + case P: + e: { + for (var Pt = fe.key, Ot = de; Ot !== null; ) { + if (Ot.key === Pt) { + if (((Pt = fe.type), Pt === T)) { + if (Ot.tag === 7) { + x(pe, Ot.sibling), + (de = I(Ot, fe.props.children)), + (de.return = pe), + (pe = de) + break e + } + } else if ( + Ot.elementType === Pt || + (typeof Pt == "object" && + Pt !== null && + Pt.$$typeof === V && + NL(Pt) === Ot.type) + ) { + x(pe, Ot.sibling), + (de = I(Ot, fe.props)), + (de.ref = gg(pe, Ot, fe)), + (de.return = pe), + (pe = de) + break e + } + x(pe, Ot) + break + } else h(pe, Ot) + Ot = Ot.sibling + } + fe.type === T + ? ((de = Fu(fe.props.children, pe.mode, He, fe.key)), (de.return = pe), (pe = de)) + : ((He = ck(fe.type, fe.key, fe.props, null, pe.mode, He)), + (He.ref = gg(pe, de, fe)), + (He.return = pe), + (pe = He)) + } + return K(pe) + case R: + e: { + for (Ot = fe.key; de !== null; ) { + if (de.key === Ot) + if ( + de.tag === 4 && + de.stateNode.containerInfo === fe.containerInfo && + de.stateNode.implementation === fe.implementation + ) { + x(pe, de.sibling), (de = I(de, fe.children || [])), (de.return = pe), (pe = de) + break e + } else { + x(pe, de) + break + } + else h(pe, de) + de = de.sibling + } + ;(de = FS(fe, pe.mode, He)), (de.return = pe), (pe = de) + } + return K(pe) + case V: + return (Ot = fe._init), er(pe, de, Ot(fe._payload), He) + } + if (nn(fe)) return kt(pe, de, fe, He) + if (B(fe)) return Ct(pe, de, fe, He) + Oy(pe, fe) + } + return (typeof fe == "string" && fe !== "") || typeof fe == "number" + ? ((fe = "" + fe), + de !== null && de.tag === 6 + ? (x(pe, de.sibling), (de = I(de, fe)), (de.return = pe), (pe = de)) + : (x(pe, de), (de = OS(fe, pe.mode, He)), (de.return = pe), (pe = de)), + K(pe)) + : x(pe, de) + } + return er + } + var vm = OL(!0), + FL = OL(!1), + Fy = ed(null), + By = null, + bm = null, + Q0 = null + function Z0() { + Q0 = bm = By = null + } + function Y0(p) { + var h = Fy.current + wo(Fy), (p._currentValue = h) + } + function X0(p, h, x) { + for (; p !== null; ) { + var A = p.alternate + if ( + ((p.childLanes & h) !== h + ? ((p.childLanes |= h), A !== null && (A.childLanes |= h)) + : A !== null && (A.childLanes & h) !== h && (A.childLanes |= h), + p === x) + ) + break + p = p.return + } + } + function ym(p, h) { + ;(By = p), + (Q0 = bm = null), + (p = p.dependencies), + p !== null && p.firstContext !== null && ((p.lanes & h) !== 0 && (Hi = !0), (p.firstContext = null)) + } + function Ys(p) { + var h = p._currentValue + if (Q0 !== p) + if (((p = { context: p, memoizedValue: h, next: null }), bm === null)) { + if (By === null) throw Error(n(308)) + ;(bm = p), (By.dependencies = { lanes: 0, firstContext: p }) + } else bm = bm.next = p + return h + } + var Eu = null + function J0(p) { + Eu === null ? (Eu = [p]) : Eu.push(p) + } + function BL(p, h, x, A) { + var I = h.interleaved + return I === null ? ((x.next = x), J0(h)) : ((x.next = I.next), (I.next = x)), (h.interleaved = x), tc(p, A) + } + function tc(p, h) { + p.lanes |= h + var x = p.alternate + for (x !== null && (x.lanes |= h), x = p, p = p.return; p !== null; ) + (p.childLanes |= h), (x = p.alternate), x !== null && (x.childLanes |= h), (x = p), (p = p.return) + return x.tag === 3 ? x.stateNode : null + } + var od = !1 + function eS(p) { + p.updateQueue = { + baseState: p.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null, interleaved: null, lanes: 0 }, + effects: null, + } + } + function UL(p, h) { + ;(p = p.updateQueue), + h.updateQueue === p && + (h.updateQueue = { + baseState: p.baseState, + firstBaseUpdate: p.firstBaseUpdate, + lastBaseUpdate: p.lastBaseUpdate, + shared: p.shared, + effects: p.effects, + }) + } + function nc(p, h) { + return { eventTime: p, lane: h, tag: 0, payload: null, callback: null, next: null } + } + function rd(p, h, x) { + var A = p.updateQueue + if (A === null) return null + if (((A = A.shared), (On & 2) !== 0)) { + var I = A.pending + return I === null ? (h.next = h) : ((h.next = I.next), (I.next = h)), (A.pending = h), tc(p, x) + } + return ( + (I = A.interleaved), + I === null ? ((h.next = h), J0(A)) : ((h.next = I.next), (I.next = h)), + (A.interleaved = h), + tc(p, x) + ) + } + function Uy(p, h, x) { + if (((h = h.updateQueue), h !== null && ((h = h.shared), (x & 4194240) !== 0))) { + var A = h.lanes + ;(A &= p.pendingLanes), (x |= A), (h.lanes = x), eg(p, x) + } + } + function qL(p, h) { + var x = p.updateQueue, + A = p.alternate + if (A !== null && ((A = A.updateQueue), x === A)) { + var I = null, + z = null + if (((x = x.firstBaseUpdate), x !== null)) { + do { + var K = { + eventTime: x.eventTime, + lane: x.lane, + tag: x.tag, + payload: x.payload, + callback: x.callback, + next: null, + } + z === null ? (I = z = K) : (z = z.next = K), (x = x.next) + } while (x !== null) + z === null ? (I = z = h) : (z = z.next = h) + } else I = z = h + ;(x = { + baseState: A.baseState, + firstBaseUpdate: I, + lastBaseUpdate: z, + shared: A.shared, + effects: A.effects, + }), + (p.updateQueue = x) + return + } + ;(p = x.lastBaseUpdate), p === null ? (x.firstBaseUpdate = h) : (p.next = h), (x.lastBaseUpdate = h) + } + function qy(p, h, x, A) { + var I = p.updateQueue + od = !1 + var z = I.firstBaseUpdate, + K = I.lastBaseUpdate, + ie = I.shared.pending + if (ie !== null) { + I.shared.pending = null + var le = ie, + ye = le.next + ;(le.next = null), K === null ? (z = ye) : (K.next = ye), (K = le) + var De = p.alternate + De !== null && + ((De = De.updateQueue), + (ie = De.lastBaseUpdate), + ie !== K && (ie === null ? (De.firstBaseUpdate = ye) : (ie.next = ye), (De.lastBaseUpdate = le))) + } + if (z !== null) { + var Oe = I.baseState + ;(K = 0), (De = ye = le = null), (ie = z) + do { + var $e = ie.lane, + ut = ie.eventTime + if ((A & $e) === $e) { + De !== null && + (De = De.next = + { + eventTime: ut, + lane: 0, + tag: ie.tag, + payload: ie.payload, + callback: ie.callback, + next: null, + }) + e: { + var kt = p, + Ct = ie + switch ((($e = h), (ut = x), Ct.tag)) { + case 1: + if (((kt = Ct.payload), typeof kt == "function")) { + Oe = kt.call(ut, Oe, $e) + break e + } + Oe = kt + break e + case 3: + kt.flags = (kt.flags & -65537) | 128 + case 0: + if ( + ((kt = Ct.payload), + ($e = typeof kt == "function" ? kt.call(ut, Oe, $e) : kt), + $e == null) + ) + break e + Oe = M({}, Oe, $e) + break e + case 2: + od = !0 + } + } + ie.callback !== null && + ie.lane !== 0 && + ((p.flags |= 64), ($e = I.effects), $e === null ? (I.effects = [ie]) : $e.push(ie)) + } else + (ut = { + eventTime: ut, + lane: $e, + tag: ie.tag, + payload: ie.payload, + callback: ie.callback, + next: null, + }), + De === null ? ((ye = De = ut), (le = Oe)) : (De = De.next = ut), + (K |= $e) + if (((ie = ie.next), ie === null)) { + if (((ie = I.shared.pending), ie === null)) break + ;($e = ie), (ie = $e.next), ($e.next = null), (I.lastBaseUpdate = $e), (I.shared.pending = null) + } + } while (!0) + if ( + (De === null && (le = Oe), + (I.baseState = le), + (I.firstBaseUpdate = ye), + (I.lastBaseUpdate = De), + (h = I.shared.interleaved), + h !== null) + ) { + I = h + do (K |= I.lane), (I = I.next) + while (I !== h) + } else z === null && (I.shared.lanes = 0) + ;(Lu |= K), (p.lanes = K), (p.memoizedState = Oe) + } + } + function WL(p, h, x) { + if (((p = h.effects), (h.effects = null), p !== null)) + for (h = 0; h < p.length; h++) { + var A = p[h], + I = A.callback + if (I !== null) { + if (((A.callback = null), (A = x), typeof I != "function")) throw Error(n(191, I)) + I.call(A) + } + } + } + var vg = {}, + vl = ed(vg), + bg = ed(vg), + yg = ed(vg) + function zu(p) { + if (p === vg) throw Error(n(174)) + return p + } + function tS(p, h) { + switch ((go(yg, h), go(bg, p), go(vl, vg), (p = h.nodeType), p)) { + case 9: + case 11: + h = (h = h.documentElement) ? h.namespaceURI : Re(null, "") + break + default: + ;(p = p === 8 ? h.parentNode : h), (h = p.namespaceURI || null), (p = p.tagName), (h = Re(h, p)) + } + wo(vl), go(vl, h) + } + function km() { + wo(vl), wo(bg), wo(yg) + } + function KL(p) { + zu(yg.current) + var h = zu(vl.current), + x = Re(h, p.type) + h !== x && (go(bg, p), go(vl, x)) + } + function nS(p) { + bg.current === p && (wo(vl), wo(bg)) + } + var Uo = ed(0) + function Wy(p) { + for (var h = p; h !== null; ) { + if (h.tag === 13) { + var x = h.memoizedState + if (x !== null && ((x = x.dehydrated), x === null || x.data === "$?" || x.data === "$!")) return h + } else if (h.tag === 19 && h.memoizedProps.revealOrder !== void 0) { + if ((h.flags & 128) !== 0) return h + } else if (h.child !== null) { + ;(h.child.return = h), (h = h.child) + continue + } + if (h === p) break + for (; h.sibling === null; ) { + if (h.return === null || h.return === p) return null + h = h.return + } + ;(h.sibling.return = h.return), (h = h.sibling) + } + return null + } + var oS = [] + function rS() { + for (var p = 0; p < oS.length; p++) oS[p]._workInProgressVersionPrimary = null + oS.length = 0 + } + var Ky = S.ReactCurrentDispatcher, + iS = S.ReactCurrentBatchConfig, + $u = 0, + qo = null, + mr = null, + Ar = null, + Vy = !1, + kg = !1, + xg = 0, + omt = 0 + function ni() { + throw Error(n(321)) + } + function sS(p, h) { + if (h === null) return !1 + for (var x = 0; x < h.length && x < p.length; x++) if (!Pa(p[x], h[x])) return !1 + return !0 + } + function aS(p, h, x, A, I, z) { + if ( + (($u = z), + (qo = h), + (h.memoizedState = null), + (h.updateQueue = null), + (h.lanes = 0), + (Ky.current = p === null || p.memoizedState === null ? amt : lmt), + (p = x(A, I)), + kg) + ) { + z = 0 + do { + if (((kg = !1), (xg = 0), 25 <= z)) throw Error(n(301)) + ;(z += 1), (Ar = mr = null), (h.updateQueue = null), (Ky.current = cmt), (p = x(A, I)) + } while (kg) + } + if (((Ky.current = Qy), (h = mr !== null && mr.next !== null), ($u = 0), (Ar = mr = qo = null), (Vy = !1), h)) + throw Error(n(300)) + return p + } + function lS() { + var p = xg !== 0 + return (xg = 0), p + } + function bl() { + var p = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null } + return Ar === null ? (qo.memoizedState = Ar = p) : (Ar = Ar.next = p), Ar + } + function Xs() { + if (mr === null) { + var p = qo.alternate + p = p !== null ? p.memoizedState : null + } else p = mr.next + var h = Ar === null ? qo.memoizedState : Ar.next + if (h !== null) (Ar = h), (mr = p) + else { + if (p === null) throw Error(n(310)) + ;(mr = p), + (p = { + memoizedState: mr.memoizedState, + baseState: mr.baseState, + baseQueue: mr.baseQueue, + queue: mr.queue, + next: null, + }), + Ar === null ? (qo.memoizedState = Ar = p) : (Ar = Ar.next = p) + } + return Ar + } + function wg(p, h) { + return typeof h == "function" ? h(p) : h + } + function cS(p) { + var h = Xs(), + x = h.queue + if (x === null) throw Error(n(311)) + x.lastRenderedReducer = p + var A = mr, + I = A.baseQueue, + z = x.pending + if (z !== null) { + if (I !== null) { + var K = I.next + ;(I.next = z.next), (z.next = K) + } + ;(A.baseQueue = I = z), (x.pending = null) + } + if (I !== null) { + ;(z = I.next), (A = A.baseState) + var ie = (K = null), + le = null, + ye = z + do { + var De = ye.lane + if (($u & De) === De) + le !== null && + (le = le.next = + { + lane: 0, + action: ye.action, + hasEagerState: ye.hasEagerState, + eagerState: ye.eagerState, + next: null, + }), + (A = ye.hasEagerState ? ye.eagerState : p(A, ye.action)) + else { + var Oe = { + lane: De, + action: ye.action, + hasEagerState: ye.hasEagerState, + eagerState: ye.eagerState, + next: null, + } + le === null ? ((ie = le = Oe), (K = A)) : (le = le.next = Oe), (qo.lanes |= De), (Lu |= De) + } + ye = ye.next + } while (ye !== null && ye !== z) + le === null ? (K = A) : (le.next = ie), + Pa(A, h.memoizedState) || (Hi = !0), + (h.memoizedState = A), + (h.baseState = K), + (h.baseQueue = le), + (x.lastRenderedState = A) + } + if (((p = x.interleaved), p !== null)) { + I = p + do (z = I.lane), (qo.lanes |= z), (Lu |= z), (I = I.next) + while (I !== p) + } else I === null && (x.lanes = 0) + return [h.memoizedState, x.dispatch] + } + function dS(p) { + var h = Xs(), + x = h.queue + if (x === null) throw Error(n(311)) + x.lastRenderedReducer = p + var A = x.dispatch, + I = x.pending, + z = h.memoizedState + if (I !== null) { + x.pending = null + var K = (I = I.next) + do (z = p(z, K.action)), (K = K.next) + while (K !== I) + Pa(z, h.memoizedState) || (Hi = !0), + (h.memoizedState = z), + h.baseQueue === null && (h.baseState = z), + (x.lastRenderedState = z) + } + return [z, A] + } + function VL() {} + function HL(p, h) { + var x = qo, + A = Xs(), + I = h(), + z = !Pa(A.memoizedState, I) + if ( + (z && ((A.memoizedState = I), (Hi = !0)), + (A = A.queue), + uS(ZL.bind(null, x, A, p), [p]), + A.getSnapshot !== h || z || (Ar !== null && Ar.memoizedState.tag & 1)) + ) { + if (((x.flags |= 2048), _g(9, QL.bind(null, x, A, I, h), void 0, null), Pr === null)) throw Error(n(349)) + ;($u & 30) !== 0 || GL(x, h, I) + } + return I + } + function GL(p, h, x) { + ;(p.flags |= 16384), + (p = { getSnapshot: h, value: x }), + (h = qo.updateQueue), + h === null + ? ((h = { lastEffect: null, stores: null }), (qo.updateQueue = h), (h.stores = [p])) + : ((x = h.stores), x === null ? (h.stores = [p]) : x.push(p)) + } + function QL(p, h, x, A) { + ;(h.value = x), (h.getSnapshot = A), YL(h) && XL(p) + } + function ZL(p, h, x) { + return x(function () { + YL(h) && XL(p) + }) + } + function YL(p) { + var h = p.getSnapshot + p = p.value + try { + var x = h() + return !Pa(p, x) + } catch { + return !0 + } + } + function XL(p) { + var h = tc(p, 1) + h !== null && ja(h, p, 1, -1) + } + function JL(p) { + var h = bl() + return ( + typeof p == "function" && (p = p()), + (h.memoizedState = h.baseState = p), + (p = { + pending: null, + interleaved: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: wg, + lastRenderedState: p, + }), + (h.queue = p), + (p = p.dispatch = smt.bind(null, qo, p)), + [h.memoizedState, p] + ) + } + function _g(p, h, x, A) { + return ( + (p = { tag: p, create: h, destroy: x, deps: A, next: null }), + (h = qo.updateQueue), + h === null + ? ((h = { lastEffect: null, stores: null }), (qo.updateQueue = h), (h.lastEffect = p.next = p)) + : ((x = h.lastEffect), + x === null + ? (h.lastEffect = p.next = p) + : ((A = x.next), (x.next = p), (p.next = A), (h.lastEffect = p))), + p + ) + } + function eD() { + return Xs().memoizedState + } + function Hy(p, h, x, A) { + var I = bl() + ;(qo.flags |= p), (I.memoizedState = _g(1 | h, x, void 0, A === void 0 ? null : A)) + } + function Gy(p, h, x, A) { + var I = Xs() + A = A === void 0 ? null : A + var z = void 0 + if (mr !== null) { + var K = mr.memoizedState + if (((z = K.destroy), A !== null && sS(A, K.deps))) { + I.memoizedState = _g(h, x, z, A) + return + } + } + ;(qo.flags |= p), (I.memoizedState = _g(1 | h, x, z, A)) + } + function tD(p, h) { + return Hy(8390656, 8, p, h) + } + function uS(p, h) { + return Gy(2048, 8, p, h) + } + function nD(p, h) { + return Gy(4, 2, p, h) + } + function oD(p, h) { + return Gy(4, 4, p, h) + } + function rD(p, h) { + if (typeof h == "function") + return ( + (p = p()), + h(p), + function () { + h(null) + } + ) + if (h != null) + return ( + (p = p()), + (h.current = p), + function () { + h.current = null + } + ) + } + function iD(p, h, x) { + return (x = x != null ? x.concat([p]) : null), Gy(4, 4, rD.bind(null, h, p), x) + } + function pS() {} + function sD(p, h) { + var x = Xs() + h = h === void 0 ? null : h + var A = x.memoizedState + return A !== null && h !== null && sS(h, A[1]) ? A[0] : ((x.memoizedState = [p, h]), p) + } + function aD(p, h) { + var x = Xs() + h = h === void 0 ? null : h + var A = x.memoizedState + return A !== null && h !== null && sS(h, A[1]) ? A[0] : ((p = p()), (x.memoizedState = [p, h]), p) + } + function lD(p, h, x) { + return ($u & 21) === 0 + ? (p.baseState && ((p.baseState = !1), (Hi = !0)), (p.memoizedState = x)) + : (Pa(x, h) || ((x = Xf()), (qo.lanes |= x), (Lu |= x), (p.baseState = !0)), h) + } + function rmt(p, h) { + var x = jn + ;(jn = x !== 0 && 4 > x ? x : 4), p(!0) + var A = iS.transition + iS.transition = {} + try { + p(!1), h() + } finally { + ;(jn = x), (iS.transition = A) + } + } + function cD() { + return Xs().memoizedState + } + function imt(p, h, x) { + var A = ld(p) + if (((x = { lane: A, action: x, hasEagerState: !1, eagerState: null, next: null }), dD(p))) uD(h, x) + else if (((x = BL(p, h, x, A)), x !== null)) { + var I = Pi() + ja(x, p, A, I), pD(x, h, A) + } + } + function smt(p, h, x) { + var A = ld(p), + I = { lane: A, action: x, hasEagerState: !1, eagerState: null, next: null } + if (dD(p)) uD(h, I) + else { + var z = p.alternate + if (p.lanes === 0 && (z === null || z.lanes === 0) && ((z = h.lastRenderedReducer), z !== null)) + try { + var K = h.lastRenderedState, + ie = z(K, x) + if (((I.hasEagerState = !0), (I.eagerState = ie), Pa(ie, K))) { + var le = h.interleaved + le === null ? ((I.next = I), J0(h)) : ((I.next = le.next), (le.next = I)), (h.interleaved = I) + return + } + } catch { + } finally { + } + ;(x = BL(p, h, I, A)), x !== null && ((I = Pi()), ja(x, p, A, I), pD(x, h, A)) + } + } + function dD(p) { + var h = p.alternate + return p === qo || (h !== null && h === qo) + } + function uD(p, h) { + kg = Vy = !0 + var x = p.pending + x === null ? (h.next = h) : ((h.next = x.next), (x.next = h)), (p.pending = h) + } + function pD(p, h, x) { + if ((x & 4194240) !== 0) { + var A = h.lanes + ;(A &= p.pendingLanes), (x |= A), (h.lanes = x), eg(p, x) + } + } + var Qy = { + readContext: Ys, + useCallback: ni, + useContext: ni, + useEffect: ni, + useImperativeHandle: ni, + useInsertionEffect: ni, + useLayoutEffect: ni, + useMemo: ni, + useReducer: ni, + useRef: ni, + useState: ni, + useDebugValue: ni, + useDeferredValue: ni, + useTransition: ni, + useMutableSource: ni, + useSyncExternalStore: ni, + useId: ni, + unstable_isNewReconciler: !1, + }, + amt = { + readContext: Ys, + useCallback: function (p, h) { + return (bl().memoizedState = [p, h === void 0 ? null : h]), p + }, + useContext: Ys, + useEffect: tD, + useImperativeHandle: function (p, h, x) { + return (x = x != null ? x.concat([p]) : null), Hy(4194308, 4, rD.bind(null, h, p), x) + }, + useLayoutEffect: function (p, h) { + return Hy(4194308, 4, p, h) + }, + useInsertionEffect: function (p, h) { + return Hy(4, 2, p, h) + }, + useMemo: function (p, h) { + var x = bl() + return (h = h === void 0 ? null : h), (p = p()), (x.memoizedState = [p, h]), p + }, + useReducer: function (p, h, x) { + var A = bl() + return ( + (h = x !== void 0 ? x(h) : h), + (A.memoizedState = A.baseState = h), + (p = { + pending: null, + interleaved: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: p, + lastRenderedState: h, + }), + (A.queue = p), + (p = p.dispatch = imt.bind(null, qo, p)), + [A.memoizedState, p] + ) + }, + useRef: function (p) { + var h = bl() + return (p = { current: p }), (h.memoizedState = p) + }, + useState: JL, + useDebugValue: pS, + useDeferredValue: function (p) { + return (bl().memoizedState = p) + }, + useTransition: function () { + var p = JL(!1), + h = p[0] + return (p = rmt.bind(null, p[1])), (bl().memoizedState = p), [h, p] + }, + useMutableSource: function () {}, + useSyncExternalStore: function (p, h, x) { + var A = qo, + I = bl() + if (zo) { + if (x === void 0) throw Error(n(407)) + x = x() + } else { + if (((x = h()), Pr === null)) throw Error(n(349)) + ;($u & 30) !== 0 || GL(A, h, x) + } + I.memoizedState = x + var z = { value: x, getSnapshot: h } + return ( + (I.queue = z), + tD(ZL.bind(null, A, z, p), [p]), + (A.flags |= 2048), + _g(9, QL.bind(null, A, z, x, h), void 0, null), + x + ) + }, + useId: function () { + var p = bl(), + h = Pr.identifierPrefix + if (zo) { + var x = ec, + A = Jl + ;(x = (A & ~(1 << (32 - Si(A) - 1))).toString(32) + x), + (h = ":" + h + "R" + x), + (x = xg++), + 0 < x && (h += "H" + x.toString(32)), + (h += ":") + } else (x = omt++), (h = ":" + h + "r" + x.toString(32) + ":") + return (p.memoizedState = h) + }, + unstable_isNewReconciler: !1, + }, + lmt = { + readContext: Ys, + useCallback: sD, + useContext: Ys, + useEffect: uS, + useImperativeHandle: iD, + useInsertionEffect: nD, + useLayoutEffect: oD, + useMemo: aD, + useReducer: cS, + useRef: eD, + useState: function () { + return cS(wg) + }, + useDebugValue: pS, + useDeferredValue: function (p) { + var h = Xs() + return lD(h, mr.memoizedState, p) + }, + useTransition: function () { + var p = cS(wg)[0], + h = Xs().memoizedState + return [p, h] + }, + useMutableSource: VL, + useSyncExternalStore: HL, + useId: cD, + unstable_isNewReconciler: !1, + }, + cmt = { + readContext: Ys, + useCallback: sD, + useContext: Ys, + useEffect: uS, + useImperativeHandle: iD, + useInsertionEffect: nD, + useLayoutEffect: oD, + useMemo: aD, + useReducer: dS, + useRef: eD, + useState: function () { + return dS(wg) + }, + useDebugValue: pS, + useDeferredValue: function (p) { + var h = Xs() + return mr === null ? (h.memoizedState = p) : lD(h, mr.memoizedState, p) + }, + useTransition: function () { + var p = dS(wg)[0], + h = Xs().memoizedState + return [p, h] + }, + useMutableSource: VL, + useSyncExternalStore: HL, + useId: cD, + unstable_isNewReconciler: !1, + } + function Ta(p, h) { + if (p && p.defaultProps) { + ;(h = M({}, h)), (p = p.defaultProps) + for (var x in p) h[x] === void 0 && (h[x] = p[x]) + return h + } + return h + } + function mS(p, h, x, A) { + ;(h = p.memoizedState), + (x = x(A, h)), + (x = x == null ? h : M({}, h, x)), + (p.memoizedState = x), + p.lanes === 0 && (p.updateQueue.baseState = x) + } + var Zy = { + isMounted: function (p) { + return (p = p._reactInternals) ? ln(p) === p : !1 + }, + enqueueSetState: function (p, h, x) { + p = p._reactInternals + var A = Pi(), + I = ld(p), + z = nc(A, I) + ;(z.payload = h), + x != null && (z.callback = x), + (h = rd(p, z, I)), + h !== null && (ja(h, p, I, A), Uy(h, p, I)) + }, + enqueueReplaceState: function (p, h, x) { + p = p._reactInternals + var A = Pi(), + I = ld(p), + z = nc(A, I) + ;(z.tag = 1), + (z.payload = h), + x != null && (z.callback = x), + (h = rd(p, z, I)), + h !== null && (ja(h, p, I, A), Uy(h, p, I)) + }, + enqueueForceUpdate: function (p, h) { + p = p._reactInternals + var x = Pi(), + A = ld(p), + I = nc(x, A) + ;(I.tag = 2), h != null && (I.callback = h), (h = rd(p, I, A)), h !== null && (ja(h, p, A, x), Uy(h, p, A)) + }, + } + function mD(p, h, x, A, I, z, K) { + return ( + (p = p.stateNode), + typeof p.shouldComponentUpdate == "function" + ? p.shouldComponentUpdate(A, z, K) + : h.prototype && h.prototype.isPureReactComponent + ? !cg(x, A) || !cg(I, z) + : !0 + ) + } + function hD(p, h, x) { + var A = !1, + I = td, + z = h.contextType + return ( + typeof z == "object" && z !== null + ? (z = Ys(z)) + : ((I = Vi(h) ? Iu : ti.current), (A = h.contextTypes), (z = (A = A != null) ? mm(p, I) : td)), + (h = new h(x, z)), + (p.memoizedState = h.state !== null && h.state !== void 0 ? h.state : null), + (h.updater = Zy), + (p.stateNode = h), + (h._reactInternals = p), + A && + ((p = p.stateNode), + (p.__reactInternalMemoizedUnmaskedChildContext = I), + (p.__reactInternalMemoizedMaskedChildContext = z)), + h + ) + } + function fD(p, h, x, A) { + ;(p = h.state), + typeof h.componentWillReceiveProps == "function" && h.componentWillReceiveProps(x, A), + typeof h.UNSAFE_componentWillReceiveProps == "function" && h.UNSAFE_componentWillReceiveProps(x, A), + h.state !== p && Zy.enqueueReplaceState(h, h.state, null) + } + function hS(p, h, x, A) { + var I = p.stateNode + ;(I.props = x), (I.state = p.memoizedState), (I.refs = {}), eS(p) + var z = h.contextType + typeof z == "object" && z !== null + ? (I.context = Ys(z)) + : ((z = Vi(h) ? Iu : ti.current), (I.context = mm(p, z))), + (I.state = p.memoizedState), + (z = h.getDerivedStateFromProps), + typeof z == "function" && (mS(p, h, z, x), (I.state = p.memoizedState)), + typeof h.getDerivedStateFromProps == "function" || + typeof I.getSnapshotBeforeUpdate == "function" || + (typeof I.UNSAFE_componentWillMount != "function" && typeof I.componentWillMount != "function") || + ((h = I.state), + typeof I.componentWillMount == "function" && I.componentWillMount(), + typeof I.UNSAFE_componentWillMount == "function" && I.UNSAFE_componentWillMount(), + h !== I.state && Zy.enqueueReplaceState(I, I.state, null), + qy(p, x, I, A), + (I.state = p.memoizedState)), + typeof I.componentDidMount == "function" && (p.flags |= 4194308) + } + function xm(p, h) { + try { + var x = "", + A = h + do (x += oe(A)), (A = A.return) + while (A) + var I = x + } catch (z) { + I = + ` +Error generating stack: ` + + z.message + + ` +` + + z.stack + } + return { value: p, source: h, stack: I, digest: null } + } + function fS(p, h, x) { + return { value: p, source: null, stack: x ?? null, digest: h ?? null } + } + function gS(p, h) { + try { + console.error(h.value) + } catch (x) { + setTimeout(function () { + throw x + }) + } + } + var dmt = typeof WeakMap == "function" ? WeakMap : Map + function gD(p, h, x) { + ;(x = nc(-1, x)), (x.tag = 3), (x.payload = { element: null }) + var A = h.value + return ( + (x.callback = function () { + ok || ((ok = !0), (MS = A)), gS(p, h) + }), + x + ) + } + function vD(p, h, x) { + ;(x = nc(-1, x)), (x.tag = 3) + var A = p.type.getDerivedStateFromError + if (typeof A == "function") { + var I = h.value + ;(x.payload = function () { + return A(I) + }), + (x.callback = function () { + gS(p, h) + }) + } + var z = p.stateNode + return ( + z !== null && + typeof z.componentDidCatch == "function" && + (x.callback = function () { + gS(p, h), typeof A != "function" && (sd === null ? (sd = new Set([this])) : sd.add(this)) + var K = h.stack + this.componentDidCatch(h.value, { componentStack: K !== null ? K : "" }) + }), + x + ) + } + function bD(p, h, x) { + var A = p.pingCache + if (A === null) { + A = p.pingCache = new dmt() + var I = new Set() + A.set(h, I) + } else (I = A.get(h)), I === void 0 && ((I = new Set()), A.set(h, I)) + I.has(x) || (I.add(x), (p = Cmt.bind(null, p, h, x)), h.then(p, p)) + } + function yD(p) { + do { + var h + if (((h = p.tag === 13) && ((h = p.memoizedState), (h = h !== null ? h.dehydrated !== null : !0)), h)) + return p + p = p.return + } while (p !== null) + return null + } + function kD(p, h, x, A, I) { + return (p.mode & 1) === 0 + ? (p === h + ? (p.flags |= 65536) + : ((p.flags |= 128), + (x.flags |= 131072), + (x.flags &= -52805), + x.tag === 1 && + (x.alternate === null ? (x.tag = 17) : ((h = nc(-1, 1)), (h.tag = 2), rd(x, h, 1))), + (x.lanes |= 1)), + p) + : ((p.flags |= 65536), (p.lanes = I), p) + } + var umt = S.ReactCurrentOwner, + Hi = !1 + function Ai(p, h, x, A) { + h.child = p === null ? FL(h, null, x, A) : vm(h, p.child, x, A) + } + function xD(p, h, x, A, I) { + x = x.render + var z = h.ref + return ( + ym(h, I), + (A = aS(p, h, x, A, z, I)), + (x = lS()), + p !== null && !Hi + ? ((h.updateQueue = p.updateQueue), (h.flags &= -2053), (p.lanes &= ~I), oc(p, h, I)) + : (zo && x && W0(h), (h.flags |= 1), Ai(p, h, A, I), h.child) + ) + } + function wD(p, h, x, A, I) { + if (p === null) { + var z = x.type + return typeof z == "function" && + !NS(z) && + z.defaultProps === void 0 && + x.compare === null && + x.defaultProps === void 0 + ? ((h.tag = 15), (h.type = z), _D(p, h, z, A, I)) + : ((p = ck(x.type, null, A, h, h.mode, I)), (p.ref = h.ref), (p.return = h), (h.child = p)) + } + if (((z = p.child), (p.lanes & I) === 0)) { + var K = z.memoizedProps + if (((x = x.compare), (x = x !== null ? x : cg), x(K, A) && p.ref === h.ref)) return oc(p, h, I) + } + return (h.flags |= 1), (p = dd(z, A)), (p.ref = h.ref), (p.return = h), (h.child = p) + } + function _D(p, h, x, A, I) { + if (p !== null) { + var z = p.memoizedProps + if (cg(z, A) && p.ref === h.ref) + if (((Hi = !1), (h.pendingProps = A = z), (p.lanes & I) !== 0)) (p.flags & 131072) !== 0 && (Hi = !0) + else return (h.lanes = p.lanes), oc(p, h, I) + } + return vS(p, h, x, A, I) + } + function CD(p, h, x) { + var A = h.pendingProps, + I = A.children, + z = p !== null ? p.memoizedState : null + if (A.mode === "hidden") + if ((h.mode & 1) === 0) + (h.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }), go(_m, As), (As |= x) + else { + if ((x & 1073741824) === 0) + return ( + (p = z !== null ? z.baseLanes | x : x), + (h.lanes = h.childLanes = 1073741824), + (h.memoizedState = { baseLanes: p, cachePool: null, transitions: null }), + (h.updateQueue = null), + go(_m, As), + (As |= p), + null + ) + ;(h.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }), + (A = z !== null ? z.baseLanes : x), + go(_m, As), + (As |= A) + } + else z !== null ? ((A = z.baseLanes | x), (h.memoizedState = null)) : (A = x), go(_m, As), (As |= A) + return Ai(p, h, I, x), h.child + } + function SD(p, h) { + var x = h.ref + ;((p === null && x !== null) || (p !== null && p.ref !== x)) && ((h.flags |= 512), (h.flags |= 2097152)) + } + function vS(p, h, x, A, I) { + var z = Vi(x) ? Iu : ti.current + return ( + (z = mm(h, z)), + ym(h, I), + (x = aS(p, h, x, A, z, I)), + (A = lS()), + p !== null && !Hi + ? ((h.updateQueue = p.updateQueue), (h.flags &= -2053), (p.lanes &= ~I), oc(p, h, I)) + : (zo && A && W0(h), (h.flags |= 1), Ai(p, h, x, I), h.child) + ) + } + function AD(p, h, x, A, I) { + if (Vi(x)) { + var z = !0 + zy(h) + } else z = !1 + if ((ym(h, I), h.stateNode === null)) Xy(p, h), hD(h, x, A), hS(h, x, A, I), (A = !0) + else if (p === null) { + var K = h.stateNode, + ie = h.memoizedProps + K.props = ie + var le = K.context, + ye = x.contextType + typeof ye == "object" && ye !== null ? (ye = Ys(ye)) : ((ye = Vi(x) ? Iu : ti.current), (ye = mm(h, ye))) + var De = x.getDerivedStateFromProps, + Oe = typeof De == "function" || typeof K.getSnapshotBeforeUpdate == "function" + Oe || + (typeof K.UNSAFE_componentWillReceiveProps != "function" && + typeof K.componentWillReceiveProps != "function") || + ((ie !== A || le !== ye) && fD(h, K, A, ye)), + (od = !1) + var $e = h.memoizedState + ;(K.state = $e), + qy(h, A, K, I), + (le = h.memoizedState), + ie !== A || $e !== le || Ki.current || od + ? (typeof De == "function" && (mS(h, x, De, A), (le = h.memoizedState)), + (ie = od || mD(h, x, ie, A, $e, le, ye)) + ? (Oe || + (typeof K.UNSAFE_componentWillMount != "function" && + typeof K.componentWillMount != "function") || + (typeof K.componentWillMount == "function" && K.componentWillMount(), + typeof K.UNSAFE_componentWillMount == "function" && K.UNSAFE_componentWillMount()), + typeof K.componentDidMount == "function" && (h.flags |= 4194308)) + : (typeof K.componentDidMount == "function" && (h.flags |= 4194308), + (h.memoizedProps = A), + (h.memoizedState = le)), + (K.props = A), + (K.state = le), + (K.context = ye), + (A = ie)) + : (typeof K.componentDidMount == "function" && (h.flags |= 4194308), (A = !1)) + } else { + ;(K = h.stateNode), + UL(p, h), + (ie = h.memoizedProps), + (ye = h.type === h.elementType ? ie : Ta(h.type, ie)), + (K.props = ye), + (Oe = h.pendingProps), + ($e = K.context), + (le = x.contextType), + typeof le == "object" && le !== null + ? (le = Ys(le)) + : ((le = Vi(x) ? Iu : ti.current), (le = mm(h, le))) + var ut = x.getDerivedStateFromProps + ;(De = typeof ut == "function" || typeof K.getSnapshotBeforeUpdate == "function") || + (typeof K.UNSAFE_componentWillReceiveProps != "function" && + typeof K.componentWillReceiveProps != "function") || + ((ie !== Oe || $e !== le) && fD(h, K, A, le)), + (od = !1), + ($e = h.memoizedState), + (K.state = $e), + qy(h, A, K, I) + var kt = h.memoizedState + ie !== Oe || $e !== kt || Ki.current || od + ? (typeof ut == "function" && (mS(h, x, ut, A), (kt = h.memoizedState)), + (ye = od || mD(h, x, ye, A, $e, kt, le) || !1) + ? (De || + (typeof K.UNSAFE_componentWillUpdate != "function" && + typeof K.componentWillUpdate != "function") || + (typeof K.componentWillUpdate == "function" && K.componentWillUpdate(A, kt, le), + typeof K.UNSAFE_componentWillUpdate == "function" && + K.UNSAFE_componentWillUpdate(A, kt, le)), + typeof K.componentDidUpdate == "function" && (h.flags |= 4), + typeof K.getSnapshotBeforeUpdate == "function" && (h.flags |= 1024)) + : (typeof K.componentDidUpdate != "function" || + (ie === p.memoizedProps && $e === p.memoizedState) || + (h.flags |= 4), + typeof K.getSnapshotBeforeUpdate != "function" || + (ie === p.memoizedProps && $e === p.memoizedState) || + (h.flags |= 1024), + (h.memoizedProps = A), + (h.memoizedState = kt)), + (K.props = A), + (K.state = kt), + (K.context = le), + (A = ye)) + : (typeof K.componentDidUpdate != "function" || + (ie === p.memoizedProps && $e === p.memoizedState) || + (h.flags |= 4), + typeof K.getSnapshotBeforeUpdate != "function" || + (ie === p.memoizedProps && $e === p.memoizedState) || + (h.flags |= 1024), + (A = !1)) + } + return bS(p, h, x, A, z, I) + } + function bS(p, h, x, A, I, z) { + SD(p, h) + var K = (h.flags & 128) !== 0 + if (!A && !K) return I && ML(h, x, !1), oc(p, h, z) + ;(A = h.stateNode), (umt.current = h) + var ie = K && typeof x.getDerivedStateFromError != "function" ? null : A.render() + return ( + (h.flags |= 1), + p !== null && K ? ((h.child = vm(h, p.child, null, z)), (h.child = vm(h, null, ie, z))) : Ai(p, h, ie, z), + (h.memoizedState = A.state), + I && ML(h, x, !0), + h.child + ) + } + function PD(p) { + var h = p.stateNode + h.pendingContext ? TL(p, h.pendingContext, h.pendingContext !== h.context) : h.context && TL(p, h.context, !1), + tS(p, h.containerInfo) + } + function RD(p, h, x, A, I) { + return gm(), G0(I), (h.flags |= 256), Ai(p, h, x, A), h.child + } + var yS = { dehydrated: null, treeContext: null, retryLane: 0 } + function kS(p) { + return { baseLanes: p, cachePool: null, transitions: null } + } + function TD(p, h, x) { + var A = h.pendingProps, + I = Uo.current, + z = !1, + K = (h.flags & 128) !== 0, + ie + if ( + ((ie = K) || (ie = p !== null && p.memoizedState === null ? !1 : (I & 2) !== 0), + ie ? ((z = !0), (h.flags &= -129)) : (p === null || p.memoizedState !== null) && (I |= 1), + go(Uo, I & 1), + p === null) + ) + return ( + H0(h), + (p = h.memoizedState), + p !== null && ((p = p.dehydrated), p !== null) + ? ((h.mode & 1) === 0 ? (h.lanes = 1) : p.data === "$!" ? (h.lanes = 8) : (h.lanes = 1073741824), + null) + : ((K = A.children), + (p = A.fallback), + z + ? ((A = h.mode), + (z = h.child), + (K = { mode: "hidden", children: K }), + (A & 1) === 0 && z !== null + ? ((z.childLanes = 0), (z.pendingProps = K)) + : (z = dk(K, A, 0, null)), + (p = Fu(p, A, x, null)), + (z.return = h), + (p.return = h), + (z.sibling = p), + (h.child = z), + (h.child.memoizedState = kS(x)), + (h.memoizedState = yS), + p) + : xS(h, K)) + ) + if (((I = p.memoizedState), I !== null && ((ie = I.dehydrated), ie !== null))) return pmt(p, h, K, A, ie, I, x) + if (z) { + ;(z = A.fallback), (K = h.mode), (I = p.child), (ie = I.sibling) + var le = { mode: "hidden", children: A.children } + return ( + (K & 1) === 0 && h.child !== I + ? ((A = h.child), (A.childLanes = 0), (A.pendingProps = le), (h.deletions = null)) + : ((A = dd(I, le)), (A.subtreeFlags = I.subtreeFlags & 14680064)), + ie !== null ? (z = dd(ie, z)) : ((z = Fu(z, K, x, null)), (z.flags |= 2)), + (z.return = h), + (A.return = h), + (A.sibling = z), + (h.child = A), + (A = z), + (z = h.child), + (K = p.child.memoizedState), + (K = K === null ? kS(x) : { baseLanes: K.baseLanes | x, cachePool: null, transitions: K.transitions }), + (z.memoizedState = K), + (z.childLanes = p.childLanes & ~x), + (h.memoizedState = yS), + A + ) + } + return ( + (z = p.child), + (p = z.sibling), + (A = dd(z, { mode: "visible", children: A.children })), + (h.mode & 1) === 0 && (A.lanes = x), + (A.return = h), + (A.sibling = null), + p !== null && ((x = h.deletions), x === null ? ((h.deletions = [p]), (h.flags |= 16)) : x.push(p)), + (h.child = A), + (h.memoizedState = null), + A + ) + } + function xS(p, h) { + return (h = dk({ mode: "visible", children: h }, p.mode, 0, null)), (h.return = p), (p.child = h) + } + function Yy(p, h, x, A) { + return ( + A !== null && G0(A), + vm(h, p.child, null, x), + (p = xS(h, h.pendingProps.children)), + (p.flags |= 2), + (h.memoizedState = null), + p + ) + } + function pmt(p, h, x, A, I, z, K) { + if (x) + return h.flags & 256 + ? ((h.flags &= -257), (A = fS(Error(n(422)))), Yy(p, h, K, A)) + : h.memoizedState !== null + ? ((h.child = p.child), (h.flags |= 128), null) + : ((z = A.fallback), + (I = h.mode), + (A = dk({ mode: "visible", children: A.children }, I, 0, null)), + (z = Fu(z, I, K, null)), + (z.flags |= 2), + (A.return = h), + (z.return = h), + (A.sibling = z), + (h.child = A), + (h.mode & 1) !== 0 && vm(h, p.child, null, K), + (h.child.memoizedState = kS(K)), + (h.memoizedState = yS), + z) + if ((h.mode & 1) === 0) return Yy(p, h, K, null) + if (I.data === "$!") { + if (((A = I.nextSibling && I.nextSibling.dataset), A)) var ie = A.dgst + return (A = ie), (z = Error(n(419))), (A = fS(z, A, void 0)), Yy(p, h, K, A) + } + if (((ie = (K & p.childLanes) !== 0), Hi || ie)) { + if (((A = Pr), A !== null)) { + switch (K & -K) { + case 4: + I = 2 + break + case 16: + I = 8 + break + case 64: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + case 67108864: + I = 32 + break + case 536870912: + I = 268435456 + break + default: + I = 0 + } + ;(I = (I & (A.suspendedLanes | K)) !== 0 ? 0 : I), + I !== 0 && I !== z.retryLane && ((z.retryLane = I), tc(p, I), ja(A, p, I, -1)) + } + return DS(), (A = fS(Error(n(421)))), Yy(p, h, K, A) + } + return I.data === "$?" + ? ((h.flags |= 128), (h.child = p.child), (h = Smt.bind(null, p)), (I._reactRetry = h), null) + : ((p = z.treeContext), + (Ss = Jc(I.nextSibling)), + (Cs = h), + (zo = !0), + (Ra = null), + p !== null && + ((Qs[Zs++] = Jl), (Qs[Zs++] = ec), (Qs[Zs++] = Mu), (Jl = p.id), (ec = p.overflow), (Mu = h)), + (h = xS(h, A.children)), + (h.flags |= 4096), + h) + } + function ID(p, h, x) { + p.lanes |= h + var A = p.alternate + A !== null && (A.lanes |= h), X0(p.return, h, x) + } + function wS(p, h, x, A, I) { + var z = p.memoizedState + z === null + ? (p.memoizedState = { + isBackwards: h, + rendering: null, + renderingStartTime: 0, + last: A, + tail: x, + tailMode: I, + }) + : ((z.isBackwards = h), + (z.rendering = null), + (z.renderingStartTime = 0), + (z.last = A), + (z.tail = x), + (z.tailMode = I)) + } + function MD(p, h, x) { + var A = h.pendingProps, + I = A.revealOrder, + z = A.tail + if ((Ai(p, h, A.children, x), (A = Uo.current), (A & 2) !== 0)) (A = (A & 1) | 2), (h.flags |= 128) + else { + if (p !== null && (p.flags & 128) !== 0) + e: for (p = h.child; p !== null; ) { + if (p.tag === 13) p.memoizedState !== null && ID(p, x, h) + else if (p.tag === 19) ID(p, x, h) + else if (p.child !== null) { + ;(p.child.return = p), (p = p.child) + continue + } + if (p === h) break e + for (; p.sibling === null; ) { + if (p.return === null || p.return === h) break e + p = p.return + } + ;(p.sibling.return = p.return), (p = p.sibling) + } + A &= 1 + } + if ((go(Uo, A), (h.mode & 1) === 0)) h.memoizedState = null + else + switch (I) { + case "forwards": + for (x = h.child, I = null; x !== null; ) + (p = x.alternate), p !== null && Wy(p) === null && (I = x), (x = x.sibling) + ;(x = I), + x === null ? ((I = h.child), (h.child = null)) : ((I = x.sibling), (x.sibling = null)), + wS(h, !1, I, x, z) + break + case "backwards": + for (x = null, I = h.child, h.child = null; I !== null; ) { + if (((p = I.alternate), p !== null && Wy(p) === null)) { + h.child = I + break + } + ;(p = I.sibling), (I.sibling = x), (x = I), (I = p) + } + wS(h, !0, x, null, z) + break + case "together": + wS(h, !1, null, null, void 0) + break + default: + h.memoizedState = null + } + return h.child + } + function Xy(p, h) { + ;(h.mode & 1) === 0 && p !== null && ((p.alternate = null), (h.alternate = null), (h.flags |= 2)) + } + function oc(p, h, x) { + if ((p !== null && (h.dependencies = p.dependencies), (Lu |= h.lanes), (x & h.childLanes) === 0)) return null + if (p !== null && h.child !== p.child) throw Error(n(153)) + if (h.child !== null) { + for (p = h.child, x = dd(p, p.pendingProps), h.child = x, x.return = h; p.sibling !== null; ) + (p = p.sibling), (x = x.sibling = dd(p, p.pendingProps)), (x.return = h) + x.sibling = null + } + return h.child + } + function mmt(p, h, x) { + switch (h.tag) { + case 3: + PD(h), gm() + break + case 5: + KL(h) + break + case 1: + Vi(h.type) && zy(h) + break + case 4: + tS(h, h.stateNode.containerInfo) + break + case 10: + var A = h.type._context, + I = h.memoizedProps.value + go(Fy, A._currentValue), (A._currentValue = I) + break + case 13: + if (((A = h.memoizedState), A !== null)) + return A.dehydrated !== null + ? (go(Uo, Uo.current & 1), (h.flags |= 128), null) + : (x & h.child.childLanes) !== 0 + ? TD(p, h, x) + : (go(Uo, Uo.current & 1), (p = oc(p, h, x)), p !== null ? p.sibling : null) + go(Uo, Uo.current & 1) + break + case 19: + if (((A = (x & h.childLanes) !== 0), (p.flags & 128) !== 0)) { + if (A) return MD(p, h, x) + h.flags |= 128 + } + if ( + ((I = h.memoizedState), + I !== null && ((I.rendering = null), (I.tail = null), (I.lastEffect = null)), + go(Uo, Uo.current), + A) + ) + break + return null + case 22: + case 23: + return (h.lanes = 0), CD(p, h, x) + } + return oc(p, h, x) + } + var jD, _S, ED, zD + ;(jD = function (p, h) { + for (var x = h.child; x !== null; ) { + if (x.tag === 5 || x.tag === 6) p.appendChild(x.stateNode) + else if (x.tag !== 4 && x.child !== null) { + ;(x.child.return = x), (x = x.child) + continue + } + if (x === h) break + for (; x.sibling === null; ) { + if (x.return === null || x.return === h) return + x = x.return + } + ;(x.sibling.return = x.return), (x = x.sibling) + } + }), + (_S = function () {}), + (ED = function (p, h, x, A) { + var I = p.memoizedProps + if (I !== A) { + ;(p = h.stateNode), zu(vl.current) + var z = null + switch (x) { + case "input": + ;(I = dt(p, I)), (A = dt(p, A)), (z = []) + break + case "select": + ;(I = M({}, I, { value: void 0 })), (A = M({}, A, { value: void 0 })), (z = []) + break + case "textarea": + ;(I = Tt(p, I)), (A = Tt(p, A)), (z = []) + break + default: + typeof I.onClick != "function" && typeof A.onClick == "function" && (p.onclick = My) + } + Bn(x, A) + var K + x = null + for (ye in I) + if (!A.hasOwnProperty(ye) && I.hasOwnProperty(ye) && I[ye] != null) + if (ye === "style") { + var ie = I[ye] + for (K in ie) ie.hasOwnProperty(K) && (x || (x = {}), (x[K] = "")) + } else + ye !== "dangerouslySetInnerHTML" && + ye !== "children" && + ye !== "suppressContentEditableWarning" && + ye !== "suppressHydrationWarning" && + ye !== "autoFocus" && + (r.hasOwnProperty(ye) ? z || (z = []) : (z = z || []).push(ye, null)) + for (ye in A) { + var le = A[ye] + if ( + ((ie = I != null ? I[ye] : void 0), + A.hasOwnProperty(ye) && le !== ie && (le != null || ie != null)) + ) + if (ye === "style") + if (ie) { + for (K in ie) + !ie.hasOwnProperty(K) || + (le && le.hasOwnProperty(K)) || + (x || (x = {}), (x[K] = "")) + for (K in le) le.hasOwnProperty(K) && ie[K] !== le[K] && (x || (x = {}), (x[K] = le[K])) + } else x || (z || (z = []), z.push(ye, x)), (x = le) + else + ye === "dangerouslySetInnerHTML" + ? ((le = le ? le.__html : void 0), + (ie = ie ? ie.__html : void 0), + le != null && ie !== le && (z = z || []).push(ye, le)) + : ye === "children" + ? (typeof le != "string" && typeof le != "number") || + (z = z || []).push(ye, "" + le) + : ye !== "suppressContentEditableWarning" && + ye !== "suppressHydrationWarning" && + (r.hasOwnProperty(ye) + ? (le != null && ye === "onScroll" && xo("scroll", p), + z || ie === le || (z = [])) + : (z = z || []).push(ye, le)) + } + x && (z = z || []).push("style", x) + var ye = z + ;(h.updateQueue = ye) && (h.flags |= 4) + } + }), + (zD = function (p, h, x, A) { + x !== A && (h.flags |= 4) + }) + function Cg(p, h) { + if (!zo) + switch (p.tailMode) { + case "hidden": + h = p.tail + for (var x = null; h !== null; ) h.alternate !== null && (x = h), (h = h.sibling) + x === null ? (p.tail = null) : (x.sibling = null) + break + case "collapsed": + x = p.tail + for (var A = null; x !== null; ) x.alternate !== null && (A = x), (x = x.sibling) + A === null ? (h || p.tail === null ? (p.tail = null) : (p.tail.sibling = null)) : (A.sibling = null) + } + } + function oi(p) { + var h = p.alternate !== null && p.alternate.child === p.child, + x = 0, + A = 0 + if (h) + for (var I = p.child; I !== null; ) + (x |= I.lanes | I.childLanes), + (A |= I.subtreeFlags & 14680064), + (A |= I.flags & 14680064), + (I.return = p), + (I = I.sibling) + else + for (I = p.child; I !== null; ) + (x |= I.lanes | I.childLanes), (A |= I.subtreeFlags), (A |= I.flags), (I.return = p), (I = I.sibling) + return (p.subtreeFlags |= A), (p.childLanes = x), h + } + function hmt(p, h, x) { + var A = h.pendingProps + switch ((K0(h), h.tag)) { + case 2: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return oi(h), null + case 1: + return Vi(h.type) && Ey(), oi(h), null + case 3: + return ( + (A = h.stateNode), + km(), + wo(Ki), + wo(ti), + rS(), + A.pendingContext && ((A.context = A.pendingContext), (A.pendingContext = null)), + (p === null || p.child === null) && + (Ny(h) + ? (h.flags |= 4) + : p === null || + (p.memoizedState.isDehydrated && (h.flags & 256) === 0) || + ((h.flags |= 1024), Ra !== null && (zS(Ra), (Ra = null)))), + _S(p, h), + oi(h), + null + ) + case 5: + nS(h) + var I = zu(yg.current) + if (((x = h.type), p !== null && h.stateNode != null)) + ED(p, h, x, A, I), p.ref !== h.ref && ((h.flags |= 512), (h.flags |= 2097152)) + else { + if (!A) { + if (h.stateNode === null) throw Error(n(166)) + return oi(h), null + } + if (((p = zu(vl.current)), Ny(h))) { + ;(A = h.stateNode), (x = h.type) + var z = h.memoizedProps + switch (((A[gl] = h), (A[hg] = z), (p = (h.mode & 1) !== 0), x)) { + case "dialog": + xo("cancel", A), xo("close", A) + break + case "iframe": + case "object": + case "embed": + xo("load", A) + break + case "video": + case "audio": + for (I = 0; I < ug.length; I++) xo(ug[I], A) + break + case "source": + xo("error", A) + break + case "img": + case "image": + case "link": + xo("error", A), xo("load", A) + break + case "details": + xo("toggle", A) + break + case "input": + Y(A, z), xo("invalid", A) + break + case "select": + ;(A._wrapperState = { wasMultiple: !!z.multiple }), xo("invalid", A) + break + case "textarea": + Vt(A, z), xo("invalid", A) + } + Bn(x, z), (I = null) + for (var K in z) + if (z.hasOwnProperty(K)) { + var ie = z[K] + K === "children" + ? typeof ie == "string" + ? A.textContent !== ie && + (z.suppressHydrationWarning !== !0 && Iy(A.textContent, ie, p), + (I = ["children", ie])) + : typeof ie == "number" && + A.textContent !== "" + ie && + (z.suppressHydrationWarning !== !0 && Iy(A.textContent, ie, p), + (I = ["children", "" + ie])) + : r.hasOwnProperty(K) && ie != null && K === "onScroll" && xo("scroll", A) + } + switch (x) { + case "input": + Ce(A), Ye(A, z, !0) + break + case "textarea": + Ce(A), _n(A) + break + case "select": + case "option": + break + default: + typeof z.onClick == "function" && (A.onclick = My) + } + ;(A = I), (h.updateQueue = A), A !== null && (h.flags |= 4) + } else { + ;(K = I.nodeType === 9 ? I : I.ownerDocument), + p === "http://www.w3.org/1999/xhtml" && (p = ge(x)), + p === "http://www.w3.org/1999/xhtml" + ? x === "script" + ? ((p = K.createElement("div")), + (p.innerHTML = "<script><\/script>"), + (p = p.removeChild(p.firstChild))) + : typeof A.is == "string" + ? (p = K.createElement(x, { is: A.is })) + : ((p = K.createElement(x)), + x === "select" && + ((K = p), A.multiple ? (K.multiple = !0) : A.size && (K.size = A.size))) + : (p = K.createElementNS(p, x)), + (p[gl] = h), + (p[hg] = A), + jD(p, h, !1, !1), + (h.stateNode = p) + e: { + switch (((K = Yn(x, A)), x)) { + case "dialog": + xo("cancel", p), xo("close", p), (I = A) + break + case "iframe": + case "object": + case "embed": + xo("load", p), (I = A) + break + case "video": + case "audio": + for (I = 0; I < ug.length; I++) xo(ug[I], p) + I = A + break + case "source": + xo("error", p), (I = A) + break + case "img": + case "image": + case "link": + xo("error", p), xo("load", p), (I = A) + break + case "details": + xo("toggle", p), (I = A) + break + case "input": + Y(p, A), (I = dt(p, A)), xo("invalid", p) + break + case "option": + I = A + break + case "select": + ;(p._wrapperState = { wasMultiple: !!A.multiple }), + (I = M({}, A, { value: void 0 })), + xo("invalid", p) + break + case "textarea": + Vt(p, A), (I = Tt(p, A)), xo("invalid", p) + break + default: + I = A + } + Bn(x, I), (ie = I) + for (z in ie) + if (ie.hasOwnProperty(z)) { + var le = ie[z] + z === "style" + ? Eo(p, le) + : z === "dangerouslySetInnerHTML" + ? ((le = le ? le.__html : void 0), le != null && lt(p, le)) + : z === "children" + ? typeof le == "string" + ? (x !== "textarea" || le !== "") && _t(p, le) + : typeof le == "number" && _t(p, "" + le) + : z !== "suppressContentEditableWarning" && + z !== "suppressHydrationWarning" && + z !== "autoFocus" && + (r.hasOwnProperty(z) + ? le != null && z === "onScroll" && xo("scroll", p) + : le != null && C(p, z, le, K)) + } + switch (x) { + case "input": + Ce(p), Ye(p, A, !1) + break + case "textarea": + Ce(p), _n(p) + break + case "option": + A.value != null && p.setAttribute("value", "" + ee(A.value)) + break + case "select": + ;(p.multiple = !!A.multiple), + (z = A.value), + z != null + ? Xe(p, !!A.multiple, z, !1) + : A.defaultValue != null && Xe(p, !!A.multiple, A.defaultValue, !0) + break + default: + typeof I.onClick == "function" && (p.onclick = My) + } + switch (x) { + case "button": + case "input": + case "select": + case "textarea": + A = !!A.autoFocus + break e + case "img": + A = !0 + break e + default: + A = !1 + } + } + A && (h.flags |= 4) + } + h.ref !== null && ((h.flags |= 512), (h.flags |= 2097152)) + } + return oi(h), null + case 6: + if (p && h.stateNode != null) zD(p, h, p.memoizedProps, A) + else { + if (typeof A != "string" && h.stateNode === null) throw Error(n(166)) + if (((x = zu(yg.current)), zu(vl.current), Ny(h))) { + if ( + ((A = h.stateNode), + (x = h.memoizedProps), + (A[gl] = h), + (z = A.nodeValue !== x) && ((p = Cs), p !== null)) + ) + switch (p.tag) { + case 3: + Iy(A.nodeValue, x, (p.mode & 1) !== 0) + break + case 5: + p.memoizedProps.suppressHydrationWarning !== !0 && + Iy(A.nodeValue, x, (p.mode & 1) !== 0) + } + z && (h.flags |= 4) + } else + (A = (x.nodeType === 9 ? x : x.ownerDocument).createTextNode(A)), (A[gl] = h), (h.stateNode = A) + } + return oi(h), null + case 13: + if ( + (wo(Uo), + (A = h.memoizedState), + p === null || (p.memoizedState !== null && p.memoizedState.dehydrated !== null)) + ) { + if (zo && Ss !== null && (h.mode & 1) !== 0 && (h.flags & 128) === 0) + DL(), gm(), (h.flags |= 98560), (z = !1) + else if (((z = Ny(h)), A !== null && A.dehydrated !== null)) { + if (p === null) { + if (!z) throw Error(n(318)) + if (((z = h.memoizedState), (z = z !== null ? z.dehydrated : null), !z)) throw Error(n(317)) + z[gl] = h + } else gm(), (h.flags & 128) === 0 && (h.memoizedState = null), (h.flags |= 4) + oi(h), (z = !1) + } else Ra !== null && (zS(Ra), (Ra = null)), (z = !0) + if (!z) return h.flags & 65536 ? h : null + } + return (h.flags & 128) !== 0 + ? ((h.lanes = x), h) + : ((A = A !== null), + A !== (p !== null && p.memoizedState !== null) && + A && + ((h.child.flags |= 8192), + (h.mode & 1) !== 0 && (p === null || (Uo.current & 1) !== 0 ? hr === 0 && (hr = 3) : DS())), + h.updateQueue !== null && (h.flags |= 4), + oi(h), + null) + case 4: + return km(), _S(p, h), p === null && pg(h.stateNode.containerInfo), oi(h), null + case 10: + return Y0(h.type._context), oi(h), null + case 17: + return Vi(h.type) && Ey(), oi(h), null + case 19: + if ((wo(Uo), (z = h.memoizedState), z === null)) return oi(h), null + if (((A = (h.flags & 128) !== 0), (K = z.rendering), K === null)) + if (A) Cg(z, !1) + else { + if (hr !== 0 || (p !== null && (p.flags & 128) !== 0)) + for (p = h.child; p !== null; ) { + if (((K = Wy(p)), K !== null)) { + for ( + h.flags |= 128, + Cg(z, !1), + A = K.updateQueue, + A !== null && ((h.updateQueue = A), (h.flags |= 4)), + h.subtreeFlags = 0, + A = x, + x = h.child; + x !== null; + + ) + (z = x), + (p = A), + (z.flags &= 14680066), + (K = z.alternate), + K === null + ? ((z.childLanes = 0), + (z.lanes = p), + (z.child = null), + (z.subtreeFlags = 0), + (z.memoizedProps = null), + (z.memoizedState = null), + (z.updateQueue = null), + (z.dependencies = null), + (z.stateNode = null)) + : ((z.childLanes = K.childLanes), + (z.lanes = K.lanes), + (z.child = K.child), + (z.subtreeFlags = 0), + (z.deletions = null), + (z.memoizedProps = K.memoizedProps), + (z.memoizedState = K.memoizedState), + (z.updateQueue = K.updateQueue), + (z.type = K.type), + (p = K.dependencies), + (z.dependencies = + p === null + ? null + : { lanes: p.lanes, firstContext: p.firstContext })), + (x = x.sibling) + return go(Uo, (Uo.current & 1) | 2), h.child + } + p = p.sibling + } + z.tail !== null && qt() > Cm && ((h.flags |= 128), (A = !0), Cg(z, !1), (h.lanes = 4194304)) + } + else { + if (!A) + if (((p = Wy(K)), p !== null)) { + if ( + ((h.flags |= 128), + (A = !0), + (x = p.updateQueue), + x !== null && ((h.updateQueue = x), (h.flags |= 4)), + Cg(z, !0), + z.tail === null && z.tailMode === "hidden" && !K.alternate && !zo) + ) + return oi(h), null + } else + 2 * qt() - z.renderingStartTime > Cm && + x !== 1073741824 && + ((h.flags |= 128), (A = !0), Cg(z, !1), (h.lanes = 4194304)) + z.isBackwards + ? ((K.sibling = h.child), (h.child = K)) + : ((x = z.last), x !== null ? (x.sibling = K) : (h.child = K), (z.last = K)) + } + return z.tail !== null + ? ((h = z.tail), + (z.rendering = h), + (z.tail = h.sibling), + (z.renderingStartTime = qt()), + (h.sibling = null), + (x = Uo.current), + go(Uo, A ? (x & 1) | 2 : x & 1), + h) + : (oi(h), null) + case 22: + case 23: + return ( + LS(), + (A = h.memoizedState !== null), + p !== null && (p.memoizedState !== null) !== A && (h.flags |= 8192), + A && (h.mode & 1) !== 0 + ? (As & 1073741824) !== 0 && (oi(h), h.subtreeFlags & 6 && (h.flags |= 8192)) + : oi(h), + null + ) + case 24: + return null + case 25: + return null + } + throw Error(n(156, h.tag)) + } + function fmt(p, h) { + switch ((K0(h), h.tag)) { + case 1: + return Vi(h.type) && Ey(), (p = h.flags), p & 65536 ? ((h.flags = (p & -65537) | 128), h) : null + case 3: + return ( + km(), + wo(Ki), + wo(ti), + rS(), + (p = h.flags), + (p & 65536) !== 0 && (p & 128) === 0 ? ((h.flags = (p & -65537) | 128), h) : null + ) + case 5: + return nS(h), null + case 13: + if ((wo(Uo), (p = h.memoizedState), p !== null && p.dehydrated !== null)) { + if (h.alternate === null) throw Error(n(340)) + gm() + } + return (p = h.flags), p & 65536 ? ((h.flags = (p & -65537) | 128), h) : null + case 19: + return wo(Uo), null + case 4: + return km(), null + case 10: + return Y0(h.type._context), null + case 22: + case 23: + return LS(), null + case 24: + return null + default: + return null + } + } + var Jy = !1, + ri = !1, + gmt = typeof WeakSet == "function" ? WeakSet : Set, + gt = null + function wm(p, h) { + var x = p.ref + if (x !== null) + if (typeof x == "function") + try { + x(null) + } catch (A) { + Qo(p, h, A) + } + else x.current = null + } + function CS(p, h, x) { + try { + x() + } catch (A) { + Qo(p, h, A) + } + } + var $D = !1 + function vmt(p, h) { + if (((L0 = yy), (p = mL()), R0(p))) { + if ("selectionStart" in p) var x = { start: p.selectionStart, end: p.selectionEnd } + else + e: { + x = ((x = p.ownerDocument) && x.defaultView) || window + var A = x.getSelection && x.getSelection() + if (A && A.rangeCount !== 0) { + x = A.anchorNode + var I = A.anchorOffset, + z = A.focusNode + A = A.focusOffset + try { + x.nodeType, z.nodeType + } catch { + x = null + break e + } + var K = 0, + ie = -1, + le = -1, + ye = 0, + De = 0, + Oe = p, + $e = null + t: for (;;) { + for ( + var ut; + Oe !== x || (I !== 0 && Oe.nodeType !== 3) || (ie = K + I), + Oe !== z || (A !== 0 && Oe.nodeType !== 3) || (le = K + A), + Oe.nodeType === 3 && (K += Oe.nodeValue.length), + (ut = Oe.firstChild) !== null; + + ) + ($e = Oe), (Oe = ut) + for (;;) { + if (Oe === p) break t + if ( + ($e === x && ++ye === I && (ie = K), + $e === z && ++De === A && (le = K), + (ut = Oe.nextSibling) !== null) + ) + break + ;(Oe = $e), ($e = Oe.parentNode) + } + Oe = ut + } + x = ie === -1 || le === -1 ? null : { start: ie, end: le } + } else x = null + } + x = x || { start: 0, end: 0 } + } else x = null + for (D0 = { focusedElem: p, selectionRange: x }, yy = !1, gt = h; gt !== null; ) + if (((h = gt), (p = h.child), (h.subtreeFlags & 1028) !== 0 && p !== null)) (p.return = h), (gt = p) + else + for (; gt !== null; ) { + h = gt + try { + var kt = h.alternate + if ((h.flags & 1024) !== 0) + switch (h.tag) { + case 0: + case 11: + case 15: + break + case 1: + if (kt !== null) { + var Ct = kt.memoizedProps, + er = kt.memoizedState, + pe = h.stateNode, + de = pe.getSnapshotBeforeUpdate( + h.elementType === h.type ? Ct : Ta(h.type, Ct), + er, + ) + pe.__reactInternalSnapshotBeforeUpdate = de + } + break + case 3: + var fe = h.stateNode.containerInfo + fe.nodeType === 1 + ? (fe.textContent = "") + : fe.nodeType === 9 && fe.documentElement && fe.removeChild(fe.documentElement) + break + case 5: + case 6: + case 4: + case 17: + break + default: + throw Error(n(163)) + } + } catch (He) { + Qo(h, h.return, He) + } + if (((p = h.sibling), p !== null)) { + ;(p.return = h.return), (gt = p) + break + } + gt = h.return + } + return (kt = $D), ($D = !1), kt + } + function Sg(p, h, x) { + var A = h.updateQueue + if (((A = A !== null ? A.lastEffect : null), A !== null)) { + var I = (A = A.next) + do { + if ((I.tag & p) === p) { + var z = I.destroy + ;(I.destroy = void 0), z !== void 0 && CS(h, x, z) + } + I = I.next + } while (I !== A) + } + } + function ek(p, h) { + if (((h = h.updateQueue), (h = h !== null ? h.lastEffect : null), h !== null)) { + var x = (h = h.next) + do { + if ((x.tag & p) === p) { + var A = x.create + x.destroy = A() + } + x = x.next + } while (x !== h) + } + } + function SS(p) { + var h = p.ref + if (h !== null) { + var x = p.stateNode + switch (p.tag) { + case 5: + p = x + break + default: + p = x + } + typeof h == "function" ? h(p) : (h.current = p) + } + } + function LD(p) { + var h = p.alternate + h !== null && ((p.alternate = null), LD(h)), + (p.child = null), + (p.deletions = null), + (p.sibling = null), + p.tag === 5 && + ((h = p.stateNode), + h !== null && (delete h[gl], delete h[hg], delete h[B0], delete h[Jpt], delete h[emt])), + (p.stateNode = null), + (p.return = null), + (p.dependencies = null), + (p.memoizedProps = null), + (p.memoizedState = null), + (p.pendingProps = null), + (p.stateNode = null), + (p.updateQueue = null) + } + function DD(p) { + return p.tag === 5 || p.tag === 3 || p.tag === 4 + } + function ND(p) { + e: for (;;) { + for (; p.sibling === null; ) { + if (p.return === null || DD(p.return)) return null + p = p.return + } + for (p.sibling.return = p.return, p = p.sibling; p.tag !== 5 && p.tag !== 6 && p.tag !== 18; ) { + if (p.flags & 2 || p.child === null || p.tag === 4) continue e + ;(p.child.return = p), (p = p.child) + } + if (!(p.flags & 2)) return p.stateNode + } + } + function AS(p, h, x) { + var A = p.tag + if (A === 5 || A === 6) + (p = p.stateNode), + h + ? x.nodeType === 8 + ? x.parentNode.insertBefore(p, h) + : x.insertBefore(p, h) + : (x.nodeType === 8 ? ((h = x.parentNode), h.insertBefore(p, x)) : ((h = x), h.appendChild(p)), + (x = x._reactRootContainer), + x != null || h.onclick !== null || (h.onclick = My)) + else if (A !== 4 && ((p = p.child), p !== null)) + for (AS(p, h, x), p = p.sibling; p !== null; ) AS(p, h, x), (p = p.sibling) + } + function PS(p, h, x) { + var A = p.tag + if (A === 5 || A === 6) (p = p.stateNode), h ? x.insertBefore(p, h) : x.appendChild(p) + else if (A !== 4 && ((p = p.child), p !== null)) + for (PS(p, h, x), p = p.sibling; p !== null; ) PS(p, h, x), (p = p.sibling) + } + var Fr = null, + Ia = !1 + function id(p, h, x) { + for (x = x.child; x !== null; ) OD(p, h, x), (x = x.sibling) + } + function OD(p, h, x) { + if (Wi && typeof Wi.onCommitFiberUnmount == "function") + try { + Wi.onCommitFiberUnmount(hl, x) + } catch {} + switch (x.tag) { + case 5: + ri || wm(x, h) + case 6: + var A = Fr, + I = Ia + ;(Fr = null), + id(p, h, x), + (Fr = A), + (Ia = I), + Fr !== null && + (Ia + ? ((p = Fr), + (x = x.stateNode), + p.nodeType === 8 ? p.parentNode.removeChild(x) : p.removeChild(x)) + : Fr.removeChild(x.stateNode)) + break + case 18: + Fr !== null && + (Ia + ? ((p = Fr), + (x = x.stateNode), + p.nodeType === 8 ? F0(p.parentNode, x) : p.nodeType === 1 && F0(p, x), + ws(p)) + : F0(Fr, x.stateNode)) + break + case 4: + ;(A = Fr), (I = Ia), (Fr = x.stateNode.containerInfo), (Ia = !0), id(p, h, x), (Fr = A), (Ia = I) + break + case 0: + case 11: + case 14: + case 15: + if (!ri && ((A = x.updateQueue), A !== null && ((A = A.lastEffect), A !== null))) { + I = A = A.next + do { + var z = I, + K = z.destroy + ;(z = z.tag), K !== void 0 && ((z & 2) !== 0 || (z & 4) !== 0) && CS(x, h, K), (I = I.next) + } while (I !== A) + } + id(p, h, x) + break + case 1: + if (!ri && (wm(x, h), (A = x.stateNode), typeof A.componentWillUnmount == "function")) + try { + ;(A.props = x.memoizedProps), (A.state = x.memoizedState), A.componentWillUnmount() + } catch (ie) { + Qo(x, h, ie) + } + id(p, h, x) + break + case 21: + id(p, h, x) + break + case 22: + x.mode & 1 ? ((ri = (A = ri) || x.memoizedState !== null), id(p, h, x), (ri = A)) : id(p, h, x) + break + default: + id(p, h, x) + } + } + function FD(p) { + var h = p.updateQueue + if (h !== null) { + p.updateQueue = null + var x = p.stateNode + x === null && (x = p.stateNode = new gmt()), + h.forEach(function (A) { + var I = Amt.bind(null, p, A) + x.has(A) || (x.add(A), A.then(I, I)) + }) + } + } + function Ma(p, h) { + var x = h.deletions + if (x !== null) + for (var A = 0; A < x.length; A++) { + var I = x[A] + try { + var z = p, + K = h, + ie = K + e: for (; ie !== null; ) { + switch (ie.tag) { + case 5: + ;(Fr = ie.stateNode), (Ia = !1) + break e + case 3: + ;(Fr = ie.stateNode.containerInfo), (Ia = !0) + break e + case 4: + ;(Fr = ie.stateNode.containerInfo), (Ia = !0) + break e + } + ie = ie.return + } + if (Fr === null) throw Error(n(160)) + OD(z, K, I), (Fr = null), (Ia = !1) + var le = I.alternate + le !== null && (le.return = null), (I.return = null) + } catch (ye) { + Qo(I, h, ye) + } + } + if (h.subtreeFlags & 12854) for (h = h.child; h !== null; ) BD(h, p), (h = h.sibling) + } + function BD(p, h) { + var x = p.alternate, + A = p.flags + switch (p.tag) { + case 0: + case 11: + case 14: + case 15: + if ((Ma(h, p), yl(p), A & 4)) { + try { + Sg(3, p, p.return), ek(3, p) + } catch (Ct) { + Qo(p, p.return, Ct) + } + try { + Sg(5, p, p.return) + } catch (Ct) { + Qo(p, p.return, Ct) + } + } + break + case 1: + Ma(h, p), yl(p), A & 512 && x !== null && wm(x, x.return) + break + case 5: + if ((Ma(h, p), yl(p), A & 512 && x !== null && wm(x, x.return), p.flags & 32)) { + var I = p.stateNode + try { + _t(I, "") + } catch (Ct) { + Qo(p, p.return, Ct) + } + } + if (A & 4 && ((I = p.stateNode), I != null)) { + var z = p.memoizedProps, + K = x !== null ? x.memoizedProps : z, + ie = p.type, + le = p.updateQueue + if (((p.updateQueue = null), le !== null)) + try { + ie === "input" && z.type === "radio" && z.name != null && Ke(I, z), Yn(ie, K) + var ye = Yn(ie, z) + for (K = 0; K < le.length; K += 2) { + var De = le[K], + Oe = le[K + 1] + De === "style" + ? Eo(I, Oe) + : De === "dangerouslySetInnerHTML" + ? lt(I, Oe) + : De === "children" + ? _t(I, Oe) + : C(I, De, Oe, ye) + } + switch (ie) { + case "input": + jt(I, z) + break + case "textarea": + zt(I, z) + break + case "select": + var $e = I._wrapperState.wasMultiple + I._wrapperState.wasMultiple = !!z.multiple + var ut = z.value + ut != null + ? Xe(I, !!z.multiple, ut, !1) + : $e !== !!z.multiple && + (z.defaultValue != null + ? Xe(I, !!z.multiple, z.defaultValue, !0) + : Xe(I, !!z.multiple, z.multiple ? [] : "", !1)) + } + I[hg] = z + } catch (Ct) { + Qo(p, p.return, Ct) + } + } + break + case 6: + if ((Ma(h, p), yl(p), A & 4)) { + if (p.stateNode === null) throw Error(n(162)) + ;(I = p.stateNode), (z = p.memoizedProps) + try { + I.nodeValue = z + } catch (Ct) { + Qo(p, p.return, Ct) + } + } + break + case 3: + if ((Ma(h, p), yl(p), A & 4 && x !== null && x.memoizedState.isDehydrated)) + try { + ws(h.containerInfo) + } catch (Ct) { + Qo(p, p.return, Ct) + } + break + case 4: + Ma(h, p), yl(p) + break + case 13: + Ma(h, p), + yl(p), + (I = p.child), + I.flags & 8192 && + ((z = I.memoizedState !== null), + (I.stateNode.isHidden = z), + !z || (I.alternate !== null && I.alternate.memoizedState !== null) || (IS = qt())), + A & 4 && FD(p) + break + case 22: + if ( + ((De = x !== null && x.memoizedState !== null), + p.mode & 1 ? ((ri = (ye = ri) || De), Ma(h, p), (ri = ye)) : Ma(h, p), + yl(p), + A & 8192) + ) { + if (((ye = p.memoizedState !== null), (p.stateNode.isHidden = ye) && !De && (p.mode & 1) !== 0)) + for (gt = p, De = p.child; De !== null; ) { + for (Oe = gt = De; gt !== null; ) { + switch ((($e = gt), (ut = $e.child), $e.tag)) { + case 0: + case 11: + case 14: + case 15: + Sg(4, $e, $e.return) + break + case 1: + wm($e, $e.return) + var kt = $e.stateNode + if (typeof kt.componentWillUnmount == "function") { + ;(A = $e), (x = $e.return) + try { + ;(h = A), + (kt.props = h.memoizedProps), + (kt.state = h.memoizedState), + kt.componentWillUnmount() + } catch (Ct) { + Qo(A, x, Ct) + } + } + break + case 5: + wm($e, $e.return) + break + case 22: + if ($e.memoizedState !== null) { + WD(Oe) + continue + } + } + ut !== null ? ((ut.return = $e), (gt = ut)) : WD(Oe) + } + De = De.sibling + } + e: for (De = null, Oe = p; ; ) { + if (Oe.tag === 5) { + if (De === null) { + De = Oe + try { + ;(I = Oe.stateNode), + ye + ? ((z = I.style), + typeof z.setProperty == "function" + ? z.setProperty("display", "none", "important") + : (z.display = "none")) + : ((ie = Oe.stateNode), + (le = Oe.memoizedProps.style), + (K = le != null && le.hasOwnProperty("display") ? le.display : null), + (ie.style.display = on("display", K))) + } catch (Ct) { + Qo(p, p.return, Ct) + } + } + } else if (Oe.tag === 6) { + if (De === null) + try { + Oe.stateNode.nodeValue = ye ? "" : Oe.memoizedProps + } catch (Ct) { + Qo(p, p.return, Ct) + } + } else if ( + ((Oe.tag !== 22 && Oe.tag !== 23) || Oe.memoizedState === null || Oe === p) && + Oe.child !== null + ) { + ;(Oe.child.return = Oe), (Oe = Oe.child) + continue + } + if (Oe === p) break e + for (; Oe.sibling === null; ) { + if (Oe.return === null || Oe.return === p) break e + De === Oe && (De = null), (Oe = Oe.return) + } + De === Oe && (De = null), (Oe.sibling.return = Oe.return), (Oe = Oe.sibling) + } + } + break + case 19: + Ma(h, p), yl(p), A & 4 && FD(p) + break + case 21: + break + default: + Ma(h, p), yl(p) + } + } + function yl(p) { + var h = p.flags + if (h & 2) { + try { + e: { + for (var x = p.return; x !== null; ) { + if (DD(x)) { + var A = x + break e + } + x = x.return + } + throw Error(n(160)) + } + switch (A.tag) { + case 5: + var I = A.stateNode + A.flags & 32 && (_t(I, ""), (A.flags &= -33)) + var z = ND(p) + PS(p, z, I) + break + case 3: + case 4: + var K = A.stateNode.containerInfo, + ie = ND(p) + AS(p, ie, K) + break + default: + throw Error(n(161)) + } + } catch (le) { + Qo(p, p.return, le) + } + p.flags &= -3 + } + h & 4096 && (p.flags &= -4097) + } + function bmt(p, h, x) { + ;(gt = p), UD(p) + } + function UD(p, h, x) { + for (var A = (p.mode & 1) !== 0; gt !== null; ) { + var I = gt, + z = I.child + if (I.tag === 22 && A) { + var K = I.memoizedState !== null || Jy + if (!K) { + var ie = I.alternate, + le = (ie !== null && ie.memoizedState !== null) || ri + ie = Jy + var ye = ri + if (((Jy = K), (ri = le) && !ye)) + for (gt = I; gt !== null; ) + (K = gt), + (le = K.child), + K.tag === 22 && K.memoizedState !== null + ? KD(I) + : le !== null + ? ((le.return = K), (gt = le)) + : KD(I) + for (; z !== null; ) (gt = z), UD(z), (z = z.sibling) + ;(gt = I), (Jy = ie), (ri = ye) + } + qD(p) + } else (I.subtreeFlags & 8772) !== 0 && z !== null ? ((z.return = I), (gt = z)) : qD(p) + } + } + function qD(p) { + for (; gt !== null; ) { + var h = gt + if ((h.flags & 8772) !== 0) { + var x = h.alternate + try { + if ((h.flags & 8772) !== 0) + switch (h.tag) { + case 0: + case 11: + case 15: + ri || ek(5, h) + break + case 1: + var A = h.stateNode + if (h.flags & 4 && !ri) + if (x === null) A.componentDidMount() + else { + var I = h.elementType === h.type ? x.memoizedProps : Ta(h.type, x.memoizedProps) + A.componentDidUpdate(I, x.memoizedState, A.__reactInternalSnapshotBeforeUpdate) + } + var z = h.updateQueue + z !== null && WL(h, z, A) + break + case 3: + var K = h.updateQueue + if (K !== null) { + if (((x = null), h.child !== null)) + switch (h.child.tag) { + case 5: + x = h.child.stateNode + break + case 1: + x = h.child.stateNode + } + WL(h, K, x) + } + break + case 5: + var ie = h.stateNode + if (x === null && h.flags & 4) { + x = ie + var le = h.memoizedProps + switch (h.type) { + case "button": + case "input": + case "select": + case "textarea": + le.autoFocus && x.focus() + break + case "img": + le.src && (x.src = le.src) + } + } + break + case 6: + break + case 4: + break + case 12: + break + case 13: + if (h.memoizedState === null) { + var ye = h.alternate + if (ye !== null) { + var De = ye.memoizedState + if (De !== null) { + var Oe = De.dehydrated + Oe !== null && ws(Oe) + } + } + } + break + case 19: + case 17: + case 21: + case 22: + case 23: + case 25: + break + default: + throw Error(n(163)) + } + ri || (h.flags & 512 && SS(h)) + } catch ($e) { + Qo(h, h.return, $e) + } + } + if (h === p) { + gt = null + break + } + if (((x = h.sibling), x !== null)) { + ;(x.return = h.return), (gt = x) + break + } + gt = h.return + } + } + function WD(p) { + for (; gt !== null; ) { + var h = gt + if (h === p) { + gt = null + break + } + var x = h.sibling + if (x !== null) { + ;(x.return = h.return), (gt = x) + break + } + gt = h.return + } + } + function KD(p) { + for (; gt !== null; ) { + var h = gt + try { + switch (h.tag) { + case 0: + case 11: + case 15: + var x = h.return + try { + ek(4, h) + } catch (le) { + Qo(h, x, le) + } + break + case 1: + var A = h.stateNode + if (typeof A.componentDidMount == "function") { + var I = h.return + try { + A.componentDidMount() + } catch (le) { + Qo(h, I, le) + } + } + var z = h.return + try { + SS(h) + } catch (le) { + Qo(h, z, le) + } + break + case 5: + var K = h.return + try { + SS(h) + } catch (le) { + Qo(h, K, le) + } + } + } catch (le) { + Qo(h, h.return, le) + } + if (h === p) { + gt = null + break + } + var ie = h.sibling + if (ie !== null) { + ;(ie.return = h.return), (gt = ie) + break + } + gt = h.return + } + } + var ymt = Math.ceil, + tk = S.ReactCurrentDispatcher, + RS = S.ReactCurrentOwner, + Js = S.ReactCurrentBatchConfig, + On = 0, + Pr = null, + ir = null, + Br = 0, + As = 0, + _m = ed(0), + hr = 0, + Ag = null, + Lu = 0, + nk = 0, + TS = 0, + Pg = null, + Gi = null, + IS = 0, + Cm = 1 / 0, + rc = null, + ok = !1, + MS = null, + sd = null, + rk = !1, + ad = null, + ik = 0, + Rg = 0, + jS = null, + sk = -1, + ak = 0 + function Pi() { + return (On & 6) !== 0 ? qt() : sk !== -1 ? sk : (sk = qt()) + } + function ld(p) { + return (p.mode & 1) === 0 + ? 1 + : (On & 2) !== 0 && Br !== 0 + ? Br & -Br + : nmt.transition !== null + ? (ak === 0 && (ak = Xf()), ak) + : ((p = jn), p !== 0 || ((p = window.event), (p = p === void 0 ? 16 : H$(p.type))), p) + } + function ja(p, h, x, A) { + if (50 < Rg) throw ((Rg = 0), (jS = null), Error(n(185))) + Gc(p, x, A), + ((On & 2) === 0 || p !== Pr) && + (p === Pr && ((On & 2) === 0 && (nk |= x), hr === 4 && cd(p, Br)), + Qi(p, A), + x === 1 && On === 0 && (h.mode & 1) === 0 && ((Cm = qt() + 500), $y && nd())) + } + function Qi(p, h) { + var x = p.callbackNode + Yf(p, h) + var A = Au(p, p === Pr ? Br : 0) + if (A === 0) x !== null && ze(x), (p.callbackNode = null), (p.callbackPriority = 0) + else if (((h = A & -A), p.callbackPriority !== h)) { + if ((x != null && ze(x), h === 1)) + p.tag === 0 ? tmt(HD.bind(null, p)) : jL(HD.bind(null, p)), + Ypt(function () { + ;(On & 6) === 0 && nd() + }), + (x = null) + else { + switch (Gs(A)) { + case 1: + x = or + break + case 4: + x = qi + break + case 16: + x = rr + break + case 536870912: + x = Hs + break + default: + x = rr + } + x = tN(x, VD.bind(null, p)) + } + ;(p.callbackPriority = h), (p.callbackNode = x) + } + } + function VD(p, h) { + if (((sk = -1), (ak = 0), (On & 6) !== 0)) throw Error(n(327)) + var x = p.callbackNode + if (Sm() && p.callbackNode !== x) return null + var A = Au(p, p === Pr ? Br : 0) + if (A === 0) return null + if ((A & 30) !== 0 || (A & p.expiredLanes) !== 0 || h) h = lk(p, A) + else { + h = A + var I = On + On |= 2 + var z = QD() + ;(Pr !== p || Br !== h) && ((rc = null), (Cm = qt() + 500), Nu(p, h)) + do + try { + wmt() + break + } catch (ie) { + GD(p, ie) + } + while (!0) + Z0(), (tk.current = z), (On = I), ir !== null ? (h = 0) : ((Pr = null), (Br = 0), (h = hr)) + } + if (h !== 0) { + if ((h === 2 && ((I = tm(p)), I !== 0 && ((A = I), (h = ES(p, I)))), h === 1)) + throw ((x = Ag), Nu(p, 0), cd(p, A), Qi(p, qt()), x) + if (h === 6) cd(p, A) + else { + if ( + ((I = p.current.alternate), + (A & 30) === 0 && + !kmt(I) && + ((h = lk(p, A)), h === 2 && ((z = tm(p)), z !== 0 && ((A = z), (h = ES(p, z)))), h === 1)) + ) + throw ((x = Ag), Nu(p, 0), cd(p, A), Qi(p, qt()), x) + switch (((p.finishedWork = I), (p.finishedLanes = A), h)) { + case 0: + case 1: + throw Error(n(345)) + case 2: + Ou(p, Gi, rc) + break + case 3: + if ((cd(p, A), (A & 130023424) === A && ((h = IS + 500 - qt()), 10 < h))) { + if (Au(p, 0) !== 0) break + if (((I = p.suspendedLanes), (I & A) !== A)) { + Pi(), (p.pingedLanes |= p.suspendedLanes & I) + break + } + p.timeoutHandle = O0(Ou.bind(null, p, Gi, rc), h) + break + } + Ou(p, Gi, rc) + break + case 4: + if ((cd(p, A), (A & 4194240) === A)) break + for (h = p.eventTimes, I = -1; 0 < A; ) { + var K = 31 - Si(A) + ;(z = 1 << K), (K = h[K]), K > I && (I = K), (A &= ~z) + } + if ( + ((A = I), + (A = qt() - A), + (A = + (120 > A + ? 120 + : 480 > A + ? 480 + : 1080 > A + ? 1080 + : 1920 > A + ? 1920 + : 3e3 > A + ? 3e3 + : 4320 > A + ? 4320 + : 1960 * ymt(A / 1960)) - A), + 10 < A) + ) { + p.timeoutHandle = O0(Ou.bind(null, p, Gi, rc), A) + break + } + Ou(p, Gi, rc) + break + case 5: + Ou(p, Gi, rc) + break + default: + throw Error(n(329)) + } + } + } + return Qi(p, qt()), p.callbackNode === x ? VD.bind(null, p) : null + } + function ES(p, h) { + var x = Pg + return ( + p.current.memoizedState.isDehydrated && (Nu(p, h).flags |= 256), + (p = lk(p, h)), + p !== 2 && ((h = Gi), (Gi = x), h !== null && zS(h)), + p + ) + } + function zS(p) { + Gi === null ? (Gi = p) : Gi.push.apply(Gi, p) + } + function kmt(p) { + for (var h = p; ; ) { + if (h.flags & 16384) { + var x = h.updateQueue + if (x !== null && ((x = x.stores), x !== null)) + for (var A = 0; A < x.length; A++) { + var I = x[A], + z = I.getSnapshot + I = I.value + try { + if (!Pa(z(), I)) return !1 + } catch { + return !1 + } + } + } + if (((x = h.child), h.subtreeFlags & 16384 && x !== null)) (x.return = h), (h = x) + else { + if (h === p) break + for (; h.sibling === null; ) { + if (h.return === null || h.return === p) return !0 + h = h.return + } + ;(h.sibling.return = h.return), (h = h.sibling) + } + } + return !0 + } + function cd(p, h) { + for (h &= ~TS, h &= ~nk, p.suspendedLanes |= h, p.pingedLanes &= ~h, p = p.expirationTimes; 0 < h; ) { + var x = 31 - Si(h), + A = 1 << x + ;(p[x] = -1), (h &= ~A) + } + } + function HD(p) { + if ((On & 6) !== 0) throw Error(n(327)) + Sm() + var h = Au(p, 0) + if ((h & 1) === 0) return Qi(p, qt()), null + var x = lk(p, h) + if (p.tag !== 0 && x === 2) { + var A = tm(p) + A !== 0 && ((h = A), (x = ES(p, A))) + } + if (x === 1) throw ((x = Ag), Nu(p, 0), cd(p, h), Qi(p, qt()), x) + if (x === 6) throw Error(n(345)) + return (p.finishedWork = p.current.alternate), (p.finishedLanes = h), Ou(p, Gi, rc), Qi(p, qt()), null + } + function $S(p, h) { + var x = On + On |= 1 + try { + return p(h) + } finally { + ;(On = x), On === 0 && ((Cm = qt() + 500), $y && nd()) + } + } + function Du(p) { + ad !== null && ad.tag === 0 && (On & 6) === 0 && Sm() + var h = On + On |= 1 + var x = Js.transition, + A = jn + try { + if (((Js.transition = null), (jn = 1), p)) return p() + } finally { + ;(jn = A), (Js.transition = x), (On = h), (On & 6) === 0 && nd() + } + } + function LS() { + ;(As = _m.current), wo(_m) + } + function Nu(p, h) { + ;(p.finishedWork = null), (p.finishedLanes = 0) + var x = p.timeoutHandle + if ((x !== -1 && ((p.timeoutHandle = -1), Zpt(x)), ir !== null)) + for (x = ir.return; x !== null; ) { + var A = x + switch ((K0(A), A.tag)) { + case 1: + ;(A = A.type.childContextTypes), A != null && Ey() + break + case 3: + km(), wo(Ki), wo(ti), rS() + break + case 5: + nS(A) + break + case 4: + km() + break + case 13: + wo(Uo) + break + case 19: + wo(Uo) + break + case 10: + Y0(A.type._context) + break + case 22: + case 23: + LS() + } + x = x.return + } + if ( + ((Pr = p), + (ir = p = dd(p.current, null)), + (Br = As = h), + (hr = 0), + (Ag = null), + (TS = nk = Lu = 0), + (Gi = Pg = null), + Eu !== null) + ) { + for (h = 0; h < Eu.length; h++) + if (((x = Eu[h]), (A = x.interleaved), A !== null)) { + x.interleaved = null + var I = A.next, + z = x.pending + if (z !== null) { + var K = z.next + ;(z.next = I), (A.next = K) + } + x.pending = A + } + Eu = null + } + return p + } + function GD(p, h) { + do { + var x = ir + try { + if ((Z0(), (Ky.current = Qy), Vy)) { + for (var A = qo.memoizedState; A !== null; ) { + var I = A.queue + I !== null && (I.pending = null), (A = A.next) + } + Vy = !1 + } + if ( + (($u = 0), + (Ar = mr = qo = null), + (kg = !1), + (xg = 0), + (RS.current = null), + x === null || x.return === null) + ) { + ;(hr = 1), (Ag = h), (ir = null) + break + } + e: { + var z = p, + K = x.return, + ie = x, + le = h + if ( + ((h = Br), + (ie.flags |= 32768), + le !== null && typeof le == "object" && typeof le.then == "function") + ) { + var ye = le, + De = ie, + Oe = De.tag + if ((De.mode & 1) === 0 && (Oe === 0 || Oe === 11 || Oe === 15)) { + var $e = De.alternate + $e + ? ((De.updateQueue = $e.updateQueue), + (De.memoizedState = $e.memoizedState), + (De.lanes = $e.lanes)) + : ((De.updateQueue = null), (De.memoizedState = null)) + } + var ut = yD(K) + if (ut !== null) { + ;(ut.flags &= -257), kD(ut, K, ie, z, h), ut.mode & 1 && bD(z, ye, h), (h = ut), (le = ye) + var kt = h.updateQueue + if (kt === null) { + var Ct = new Set() + Ct.add(le), (h.updateQueue = Ct) + } else kt.add(le) + break e + } else { + if ((h & 1) === 0) { + bD(z, ye, h), DS() + break e + } + le = Error(n(426)) + } + } else if (zo && ie.mode & 1) { + var er = yD(K) + if (er !== null) { + ;(er.flags & 65536) === 0 && (er.flags |= 256), kD(er, K, ie, z, h), G0(xm(le, ie)) + break e + } + } + ;(z = le = xm(le, ie)), hr !== 4 && (hr = 2), Pg === null ? (Pg = [z]) : Pg.push(z), (z = K) + do { + switch (z.tag) { + case 3: + ;(z.flags |= 65536), (h &= -h), (z.lanes |= h) + var pe = gD(z, le, h) + qL(z, pe) + break e + case 1: + ie = le + var de = z.type, + fe = z.stateNode + if ( + (z.flags & 128) === 0 && + (typeof de.getDerivedStateFromError == "function" || + (fe !== null && + typeof fe.componentDidCatch == "function" && + (sd === null || !sd.has(fe)))) + ) { + ;(z.flags |= 65536), (h &= -h), (z.lanes |= h) + var He = vD(z, ie, h) + qL(z, He) + break e + } + } + z = z.return + } while (z !== null) + } + YD(x) + } catch (Pt) { + ;(h = Pt), ir === x && x !== null && (ir = x = x.return) + continue + } + break + } while (!0) + } + function QD() { + var p = tk.current + return (tk.current = Qy), p === null ? Qy : p + } + function DS() { + ;(hr === 0 || hr === 3 || hr === 2) && (hr = 4), + Pr === null || ((Lu & 268435455) === 0 && (nk & 268435455) === 0) || cd(Pr, Br) + } + function lk(p, h) { + var x = On + On |= 2 + var A = QD() + ;(Pr !== p || Br !== h) && ((rc = null), Nu(p, h)) + do + try { + xmt() + break + } catch (I) { + GD(p, I) + } + while (!0) + if ((Z0(), (On = x), (tk.current = A), ir !== null)) throw Error(n(261)) + return (Pr = null), (Br = 0), hr + } + function xmt() { + for (; ir !== null; ) ZD(ir) + } + function wmt() { + for (; ir !== null && !ot(); ) ZD(ir) + } + function ZD(p) { + var h = eN(p.alternate, p, As) + ;(p.memoizedProps = p.pendingProps), h === null ? YD(p) : (ir = h), (RS.current = null) + } + function YD(p) { + var h = p + do { + var x = h.alternate + if (((p = h.return), (h.flags & 32768) === 0)) { + if (((x = hmt(x, h, As)), x !== null)) { + ir = x + return + } + } else { + if (((x = fmt(x, h)), x !== null)) { + ;(x.flags &= 32767), (ir = x) + return + } + if (p !== null) (p.flags |= 32768), (p.subtreeFlags = 0), (p.deletions = null) + else { + ;(hr = 6), (ir = null) + return + } + } + if (((h = h.sibling), h !== null)) { + ir = h + return + } + ir = h = p + } while (h !== null) + hr === 0 && (hr = 5) + } + function Ou(p, h, x) { + var A = jn, + I = Js.transition + try { + ;(Js.transition = null), (jn = 1), _mt(p, h, x, A) + } finally { + ;(Js.transition = I), (jn = A) + } + return null + } + function _mt(p, h, x, A) { + do Sm() + while (ad !== null) + if ((On & 6) !== 0) throw Error(n(327)) + x = p.finishedWork + var I = p.finishedLanes + if (x === null) return null + if (((p.finishedWork = null), (p.finishedLanes = 0), x === p.current)) throw Error(n(177)) + ;(p.callbackNode = null), (p.callbackPriority = 0) + var z = x.lanes | x.childLanes + if ( + (Zl(p, z), + p === Pr && ((ir = Pr = null), (Br = 0)), + ((x.subtreeFlags & 2064) === 0 && (x.flags & 2064) === 0) || + rk || + ((rk = !0), + tN(rr, function () { + return Sm(), null + })), + (z = (x.flags & 15990) !== 0), + (x.subtreeFlags & 15990) !== 0 || z) + ) { + ;(z = Js.transition), (Js.transition = null) + var K = jn + jn = 1 + var ie = On + ;(On |= 4), + (RS.current = null), + vmt(p, x), + BD(x, p), + qpt(D0), + (yy = !!L0), + (D0 = L0 = null), + (p.current = x), + bmt(x), + Ut(), + (On = ie), + (jn = K), + (Js.transition = z) + } else p.current = x + if ( + (rk && ((rk = !1), (ad = p), (ik = I)), + (z = p.pendingLanes), + z === 0 && (sd = null), + m0(x.stateNode), + Qi(p, qt()), + h !== null) + ) + for (A = p.onRecoverableError, x = 0; x < h.length; x++) + (I = h[x]), A(I.value, { componentStack: I.stack, digest: I.digest }) + if (ok) throw ((ok = !1), (p = MS), (MS = null), p) + return ( + (ik & 1) !== 0 && p.tag !== 0 && Sm(), + (z = p.pendingLanes), + (z & 1) !== 0 ? (p === jS ? Rg++ : ((Rg = 0), (jS = p))) : (Rg = 0), + nd(), + null + ) + } + function Sm() { + if (ad !== null) { + var p = Gs(ik), + h = Js.transition, + x = jn + try { + if (((Js.transition = null), (jn = 16 > p ? 16 : p), ad === null)) var A = !1 + else { + if (((p = ad), (ad = null), (ik = 0), (On & 6) !== 0)) throw Error(n(331)) + var I = On + for (On |= 4, gt = p.current; gt !== null; ) { + var z = gt, + K = z.child + if ((gt.flags & 16) !== 0) { + var ie = z.deletions + if (ie !== null) { + for (var le = 0; le < ie.length; le++) { + var ye = ie[le] + for (gt = ye; gt !== null; ) { + var De = gt + switch (De.tag) { + case 0: + case 11: + case 15: + Sg(8, De, z) + } + var Oe = De.child + if (Oe !== null) (Oe.return = De), (gt = Oe) + else + for (; gt !== null; ) { + De = gt + var $e = De.sibling, + ut = De.return + if ((LD(De), De === ye)) { + gt = null + break + } + if ($e !== null) { + ;($e.return = ut), (gt = $e) + break + } + gt = ut + } + } + } + var kt = z.alternate + if (kt !== null) { + var Ct = kt.child + if (Ct !== null) { + kt.child = null + do { + var er = Ct.sibling + ;(Ct.sibling = null), (Ct = er) + } while (Ct !== null) + } + } + gt = z + } + } + if ((z.subtreeFlags & 2064) !== 0 && K !== null) (K.return = z), (gt = K) + else + e: for (; gt !== null; ) { + if (((z = gt), (z.flags & 2048) !== 0)) + switch (z.tag) { + case 0: + case 11: + case 15: + Sg(9, z, z.return) + } + var pe = z.sibling + if (pe !== null) { + ;(pe.return = z.return), (gt = pe) + break e + } + gt = z.return + } + } + var de = p.current + for (gt = de; gt !== null; ) { + K = gt + var fe = K.child + if ((K.subtreeFlags & 2064) !== 0 && fe !== null) (fe.return = K), (gt = fe) + else + e: for (K = de; gt !== null; ) { + if (((ie = gt), (ie.flags & 2048) !== 0)) + try { + switch (ie.tag) { + case 0: + case 11: + case 15: + ek(9, ie) + } + } catch (Pt) { + Qo(ie, ie.return, Pt) + } + if (ie === K) { + gt = null + break e + } + var He = ie.sibling + if (He !== null) { + ;(He.return = ie.return), (gt = He) + break e + } + gt = ie.return + } + } + if (((On = I), nd(), Wi && typeof Wi.onPostCommitFiberRoot == "function")) + try { + Wi.onPostCommitFiberRoot(hl, p) + } catch {} + A = !0 + } + return A + } finally { + ;(jn = x), (Js.transition = h) + } + } + return !1 + } + function XD(p, h, x) { + ;(h = xm(x, h)), (h = gD(p, h, 1)), (p = rd(p, h, 1)), (h = Pi()), p !== null && (Gc(p, 1, h), Qi(p, h)) + } + function Qo(p, h, x) { + if (p.tag === 3) XD(p, p, x) + else + for (; h !== null; ) { + if (h.tag === 3) { + XD(h, p, x) + break + } else if (h.tag === 1) { + var A = h.stateNode + if ( + typeof h.type.getDerivedStateFromError == "function" || + (typeof A.componentDidCatch == "function" && (sd === null || !sd.has(A))) + ) { + ;(p = xm(x, p)), + (p = vD(h, p, 1)), + (h = rd(h, p, 1)), + (p = Pi()), + h !== null && (Gc(h, 1, p), Qi(h, p)) + break + } + } + h = h.return + } + } + function Cmt(p, h, x) { + var A = p.pingCache + A !== null && A.delete(h), + (h = Pi()), + (p.pingedLanes |= p.suspendedLanes & x), + Pr === p && + (Br & x) === x && + (hr === 4 || (hr === 3 && (Br & 130023424) === Br && 500 > qt() - IS) ? Nu(p, 0) : (TS |= x)), + Qi(p, h) + } + function JD(p, h) { + h === 0 && ((p.mode & 1) === 0 ? (h = 1) : ((h = Su), (Su <<= 1), (Su & 130023424) === 0 && (Su = 4194304))) + var x = Pi() + ;(p = tc(p, h)), p !== null && (Gc(p, h, x), Qi(p, x)) + } + function Smt(p) { + var h = p.memoizedState, + x = 0 + h !== null && (x = h.retryLane), JD(p, x) + } + function Amt(p, h) { + var x = 0 + switch (p.tag) { + case 13: + var A = p.stateNode, + I = p.memoizedState + I !== null && (x = I.retryLane) + break + case 19: + A = p.stateNode + break + default: + throw Error(n(314)) + } + A !== null && A.delete(h), JD(p, x) + } + var eN + eN = function (p, h, x) { + if (p !== null) + if (p.memoizedProps !== h.pendingProps || Ki.current) Hi = !0 + else { + if ((p.lanes & x) === 0 && (h.flags & 128) === 0) return (Hi = !1), mmt(p, h, x) + Hi = (p.flags & 131072) !== 0 + } + else (Hi = !1), zo && (h.flags & 1048576) !== 0 && EL(h, Dy, h.index) + switch (((h.lanes = 0), h.tag)) { + case 2: + var A = h.type + Xy(p, h), (p = h.pendingProps) + var I = mm(h, ti.current) + ym(h, x), (I = aS(null, h, A, p, I, x)) + var z = lS() + return ( + (h.flags |= 1), + typeof I == "object" && I !== null && typeof I.render == "function" && I.$$typeof === void 0 + ? ((h.tag = 1), + (h.memoizedState = null), + (h.updateQueue = null), + Vi(A) ? ((z = !0), zy(h)) : (z = !1), + (h.memoizedState = I.state !== null && I.state !== void 0 ? I.state : null), + eS(h), + (I.updater = Zy), + (h.stateNode = I), + (I._reactInternals = h), + hS(h, A, p, x), + (h = bS(null, h, A, !0, z, x))) + : ((h.tag = 0), zo && z && W0(h), Ai(null, h, I, x), (h = h.child)), + h + ) + case 16: + A = h.elementType + e: { + switch ( + (Xy(p, h), + (p = h.pendingProps), + (I = A._init), + (A = I(A._payload)), + (h.type = A), + (I = h.tag = Rmt(A)), + (p = Ta(A, p)), + I) + ) { + case 0: + h = vS(null, h, A, p, x) + break e + case 1: + h = AD(null, h, A, p, x) + break e + case 11: + h = xD(null, h, A, p, x) + break e + case 14: + h = wD(null, h, A, Ta(A.type, p), x) + break e + } + throw Error(n(306, A, "")) + } + return h + case 0: + return (A = h.type), (I = h.pendingProps), (I = h.elementType === A ? I : Ta(A, I)), vS(p, h, A, I, x) + case 1: + return (A = h.type), (I = h.pendingProps), (I = h.elementType === A ? I : Ta(A, I)), AD(p, h, A, I, x) + case 3: + e: { + if ((PD(h), p === null)) throw Error(n(387)) + ;(A = h.pendingProps), (z = h.memoizedState), (I = z.element), UL(p, h), qy(h, A, null, x) + var K = h.memoizedState + if (((A = K.element), z.isDehydrated)) + if ( + ((z = { + element: A, + isDehydrated: !1, + cache: K.cache, + pendingSuspenseBoundaries: K.pendingSuspenseBoundaries, + transitions: K.transitions, + }), + (h.updateQueue.baseState = z), + (h.memoizedState = z), + h.flags & 256) + ) { + ;(I = xm(Error(n(423)), h)), (h = RD(p, h, A, x, I)) + break e + } else if (A !== I) { + ;(I = xm(Error(n(424)), h)), (h = RD(p, h, A, x, I)) + break e + } else + for ( + Ss = Jc(h.stateNode.containerInfo.firstChild), + Cs = h, + zo = !0, + Ra = null, + x = FL(h, null, A, x), + h.child = x; + x; + + ) + (x.flags = (x.flags & -3) | 4096), (x = x.sibling) + else { + if ((gm(), A === I)) { + h = oc(p, h, x) + break e + } + Ai(p, h, A, x) + } + h = h.child + } + return h + case 5: + return ( + KL(h), + p === null && H0(h), + (A = h.type), + (I = h.pendingProps), + (z = p !== null ? p.memoizedProps : null), + (K = I.children), + N0(A, I) ? (K = null) : z !== null && N0(A, z) && (h.flags |= 32), + SD(p, h), + Ai(p, h, K, x), + h.child + ) + case 6: + return p === null && H0(h), null + case 13: + return TD(p, h, x) + case 4: + return ( + tS(h, h.stateNode.containerInfo), + (A = h.pendingProps), + p === null ? (h.child = vm(h, null, A, x)) : Ai(p, h, A, x), + h.child + ) + case 11: + return (A = h.type), (I = h.pendingProps), (I = h.elementType === A ? I : Ta(A, I)), xD(p, h, A, I, x) + case 7: + return Ai(p, h, h.pendingProps, x), h.child + case 8: + return Ai(p, h, h.pendingProps.children, x), h.child + case 12: + return Ai(p, h, h.pendingProps.children, x), h.child + case 10: + e: { + if ( + ((A = h.type._context), + (I = h.pendingProps), + (z = h.memoizedProps), + (K = I.value), + go(Fy, A._currentValue), + (A._currentValue = K), + z !== null) + ) + if (Pa(z.value, K)) { + if (z.children === I.children && !Ki.current) { + h = oc(p, h, x) + break e + } + } else + for (z = h.child, z !== null && (z.return = h); z !== null; ) { + var ie = z.dependencies + if (ie !== null) { + K = z.child + for (var le = ie.firstContext; le !== null; ) { + if (le.context === A) { + if (z.tag === 1) { + ;(le = nc(-1, x & -x)), (le.tag = 2) + var ye = z.updateQueue + if (ye !== null) { + ye = ye.shared + var De = ye.pending + De === null + ? (le.next = le) + : ((le.next = De.next), (De.next = le)), + (ye.pending = le) + } + } + ;(z.lanes |= x), + (le = z.alternate), + le !== null && (le.lanes |= x), + X0(z.return, x, h), + (ie.lanes |= x) + break + } + le = le.next + } + } else if (z.tag === 10) K = z.type === h.type ? null : z.child + else if (z.tag === 18) { + if (((K = z.return), K === null)) throw Error(n(341)) + ;(K.lanes |= x), + (ie = K.alternate), + ie !== null && (ie.lanes |= x), + X0(K, x, h), + (K = z.sibling) + } else K = z.child + if (K !== null) K.return = z + else + for (K = z; K !== null; ) { + if (K === h) { + K = null + break + } + if (((z = K.sibling), z !== null)) { + ;(z.return = K.return), (K = z) + break + } + K = K.return + } + z = K + } + Ai(p, h, I.children, x), (h = h.child) + } + return h + case 9: + return ( + (I = h.type), + (A = h.pendingProps.children), + ym(h, x), + (I = Ys(I)), + (A = A(I)), + (h.flags |= 1), + Ai(p, h, A, x), + h.child + ) + case 14: + return (A = h.type), (I = Ta(A, h.pendingProps)), (I = Ta(A.type, I)), wD(p, h, A, I, x) + case 15: + return _D(p, h, h.type, h.pendingProps, x) + case 17: + return ( + (A = h.type), + (I = h.pendingProps), + (I = h.elementType === A ? I : Ta(A, I)), + Xy(p, h), + (h.tag = 1), + Vi(A) ? ((p = !0), zy(h)) : (p = !1), + ym(h, x), + hD(h, A, I), + hS(h, A, I, x), + bS(null, h, A, !0, p, x) + ) + case 19: + return MD(p, h, x) + case 22: + return CD(p, h, x) + } + throw Error(n(156, h.tag)) + } + function tN(p, h) { + return Se(p, h) + } + function Pmt(p, h, x, A) { + ;(this.tag = p), + (this.key = x), + (this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null), + (this.index = 0), + (this.ref = null), + (this.pendingProps = h), + (this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null), + (this.mode = A), + (this.subtreeFlags = this.flags = 0), + (this.deletions = null), + (this.childLanes = this.lanes = 0), + (this.alternate = null) + } + function ea(p, h, x, A) { + return new Pmt(p, h, x, A) + } + function NS(p) { + return (p = p.prototype), !(!p || !p.isReactComponent) + } + function Rmt(p) { + if (typeof p == "function") return NS(p) ? 1 : 0 + if (p != null) { + if (((p = p.$$typeof), p === W)) return 11 + if (p === Z) return 14 + } + return 2 + } + function dd(p, h) { + var x = p.alternate + return ( + x === null + ? ((x = ea(p.tag, h, p.key, p.mode)), + (x.elementType = p.elementType), + (x.type = p.type), + (x.stateNode = p.stateNode), + (x.alternate = p), + (p.alternate = x)) + : ((x.pendingProps = h), (x.type = p.type), (x.flags = 0), (x.subtreeFlags = 0), (x.deletions = null)), + (x.flags = p.flags & 14680064), + (x.childLanes = p.childLanes), + (x.lanes = p.lanes), + (x.child = p.child), + (x.memoizedProps = p.memoizedProps), + (x.memoizedState = p.memoizedState), + (x.updateQueue = p.updateQueue), + (h = p.dependencies), + (x.dependencies = h === null ? null : { lanes: h.lanes, firstContext: h.firstContext }), + (x.sibling = p.sibling), + (x.index = p.index), + (x.ref = p.ref), + x + ) + } + function ck(p, h, x, A, I, z) { + var K = 2 + if (((A = p), typeof p == "function")) NS(p) && (K = 1) + else if (typeof p == "string") K = 5 + else + e: switch (p) { + case T: + return Fu(x.children, I, z, h) + case E: + ;(K = 8), (I |= 8) + break + case $: + return (p = ea(12, x, h, I | 2)), (p.elementType = $), (p.lanes = z), p + case G: + return (p = ea(13, x, h, I)), (p.elementType = G), (p.lanes = z), p + case U: + return (p = ea(19, x, h, I)), (p.elementType = U), (p.lanes = z), p + case X: + return dk(x, I, z, h) + default: + if (typeof p == "object" && p !== null) + switch (p.$$typeof) { + case j: + K = 10 + break e + case L: + K = 9 + break e + case W: + K = 11 + break e + case Z: + K = 14 + break e + case V: + ;(K = 16), (A = null) + break e + } + throw Error(n(130, p == null ? p : typeof p, "")) + } + return (h = ea(K, x, h, I)), (h.elementType = p), (h.type = A), (h.lanes = z), h + } + function Fu(p, h, x, A) { + return (p = ea(7, p, A, h)), (p.lanes = x), p + } + function dk(p, h, x, A) { + return (p = ea(22, p, A, h)), (p.elementType = X), (p.lanes = x), (p.stateNode = { isHidden: !1 }), p + } + function OS(p, h, x) { + return (p = ea(6, p, null, h)), (p.lanes = x), p + } + function FS(p, h, x) { + return ( + (h = ea(4, p.children !== null ? p.children : [], p.key, h)), + (h.lanes = x), + (h.stateNode = { containerInfo: p.containerInfo, pendingChildren: null, implementation: p.implementation }), + h + ) + } + function Tmt(p, h, x, A, I) { + ;(this.tag = h), + (this.containerInfo = p), + (this.finishedWork = this.pingCache = this.current = this.pendingChildren = null), + (this.timeoutHandle = -1), + (this.callbackNode = this.pendingContext = this.context = null), + (this.callbackPriority = 0), + (this.eventTimes = Jf(0)), + (this.expirationTimes = Jf(-1)), + (this.entangledLanes = + this.finishedLanes = + this.mutableReadLanes = + this.expiredLanes = + this.pingedLanes = + this.suspendedLanes = + this.pendingLanes = + 0), + (this.entanglements = Jf(0)), + (this.identifierPrefix = A), + (this.onRecoverableError = I), + (this.mutableSourceEagerHydrationData = null) + } + function BS(p, h, x, A, I, z, K, ie, le) { + return ( + (p = new Tmt(p, h, x, ie, le)), + h === 1 ? ((h = 1), z === !0 && (h |= 8)) : (h = 0), + (z = ea(3, null, null, h)), + (p.current = z), + (z.stateNode = p), + (z.memoizedState = { + element: A, + isDehydrated: x, + cache: null, + transitions: null, + pendingSuspenseBoundaries: null, + }), + eS(z), + p + ) + } + function Imt(p, h, x) { + var A = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null + return { $$typeof: R, key: A == null ? null : "" + A, children: p, containerInfo: h, implementation: x } + } + function nN(p) { + if (!p) return td + p = p._reactInternals + e: { + if (ln(p) !== p || p.tag !== 1) throw Error(n(170)) + var h = p + do { + switch (h.tag) { + case 3: + h = h.stateNode.context + break e + case 1: + if (Vi(h.type)) { + h = h.stateNode.__reactInternalMemoizedMergedChildContext + break e + } + } + h = h.return + } while (h !== null) + throw Error(n(171)) + } + if (p.tag === 1) { + var x = p.type + if (Vi(x)) return IL(p, x, h) + } + return h + } + function oN(p, h, x, A, I, z, K, ie, le) { + return ( + (p = BS(x, A, !0, p, I, z, K, ie, le)), + (p.context = nN(null)), + (x = p.current), + (A = Pi()), + (I = ld(x)), + (z = nc(A, I)), + (z.callback = h ?? null), + rd(x, z, I), + (p.current.lanes = I), + Gc(p, I, A), + Qi(p, A), + p + ) + } + function uk(p, h, x, A) { + var I = h.current, + z = Pi(), + K = ld(I) + return ( + (x = nN(x)), + h.context === null ? (h.context = x) : (h.pendingContext = x), + (h = nc(z, K)), + (h.payload = { element: p }), + (A = A === void 0 ? null : A), + A !== null && (h.callback = A), + (p = rd(I, h, K)), + p !== null && (ja(p, I, K, z), Uy(p, I, K)), + K + ) + } + function pk(p) { + if (((p = p.current), !p.child)) return null + switch (p.child.tag) { + case 5: + return p.child.stateNode + default: + return p.child.stateNode + } + } + function rN(p, h) { + if (((p = p.memoizedState), p !== null && p.dehydrated !== null)) { + var x = p.retryLane + p.retryLane = x !== 0 && x < h ? x : h + } + } + function US(p, h) { + rN(p, h), (p = p.alternate) && rN(p, h) + } + function Mmt() { + return null + } + var iN = + typeof reportError == "function" + ? reportError + : function (p) { + console.error(p) + } + function qS(p) { + this._internalRoot = p + } + ;(mk.prototype.render = qS.prototype.render = + function (p) { + var h = this._internalRoot + if (h === null) throw Error(n(409)) + uk(p, h, null, null) + }), + (mk.prototype.unmount = qS.prototype.unmount = + function () { + var p = this._internalRoot + if (p !== null) { + this._internalRoot = null + var h = p.containerInfo + Du(function () { + uk(null, p, null, null) + }), + (h[Yl] = null) + } + }) + function mk(p) { + this._internalRoot = p + } + mk.prototype.unstable_scheduleHydration = function (p) { + if (p) { + var h = rm() + p = { blockedOn: null, target: p, priority: h } + for (var x = 0; x < Aa.length && h !== 0 && h < Aa[x].priority; x++); + Aa.splice(x, 0, p), x === 0 && ve(p) + } + } + function WS(p) { + return !(!p || (p.nodeType !== 1 && p.nodeType !== 9 && p.nodeType !== 11)) + } + function hk(p) { + return !( + !p || + (p.nodeType !== 1 && + p.nodeType !== 9 && + p.nodeType !== 11 && + (p.nodeType !== 8 || p.nodeValue !== " react-mount-point-unstable ")) + ) + } + function sN() {} + function jmt(p, h, x, A, I) { + if (I) { + if (typeof A == "function") { + var z = A + A = function () { + var ye = pk(K) + z.call(ye) + } + } + var K = oN(h, A, p, 0, null, !1, !1, "", sN) + return (p._reactRootContainer = K), (p[Yl] = K.current), pg(p.nodeType === 8 ? p.parentNode : p), Du(), K + } + for (; (I = p.lastChild); ) p.removeChild(I) + if (typeof A == "function") { + var ie = A + A = function () { + var ye = pk(le) + ie.call(ye) + } + } + var le = BS(p, 0, !1, null, null, !1, !1, "", sN) + return ( + (p._reactRootContainer = le), + (p[Yl] = le.current), + pg(p.nodeType === 8 ? p.parentNode : p), + Du(function () { + uk(h, le, x, A) + }), + le + ) + } + function fk(p, h, x, A, I) { + var z = x._reactRootContainer + if (z) { + var K = z + if (typeof I == "function") { + var ie = I + I = function () { + var le = pk(K) + ie.call(le) + } + } + uk(h, K, p, I) + } else K = jmt(x, h, p, I, A) + return pk(K) + } + ;(nm = function (p) { + switch (p.tag) { + case 3: + var h = p.stateNode + if (h.current.memoizedState.isDehydrated) { + var x = fl(h.pendingLanes) + x !== 0 && (eg(h, x | 1), Qi(h, qt()), (On & 6) === 0 && ((Cm = qt() + 500), nd())) + } + break + case 13: + Du(function () { + var A = tc(p, 1) + if (A !== null) { + var I = Pi() + ja(A, p, 1, I) + } + }), + US(p, 1) + } + }), + (om = function (p) { + if (p.tag === 13) { + var h = tc(p, 134217728) + if (h !== null) { + var x = Pi() + ja(h, p, 134217728, x) + } + US(p, 134217728) + } + }), + (tg = function (p) { + if (p.tag === 13) { + var h = ld(p), + x = tc(p, h) + if (x !== null) { + var A = Pi() + ja(x, p, h, A) + } + US(p, h) + } + }), + (rm = function () { + return jn + }), + (vy = function (p, h) { + var x = jn + try { + return (jn = p), h() + } finally { + jn = x + } + }), + (Or = function (p, h, x) { + switch (h) { + case "input": + if ((jt(p, x), (h = x.name), x.type === "radio" && h != null)) { + for (x = p; x.parentNode; ) x = x.parentNode + for ( + x = x.querySelectorAll("input[name=" + JSON.stringify("" + h) + '][type="radio"]'), h = 0; + h < x.length; + h++ + ) { + var A = x[h] + if (A !== p && A.form === p.form) { + var I = jy(A) + if (!I) throw Error(n(90)) + ue(A), jt(A, I) + } + } + } + break + case "textarea": + zt(p, x) + break + case "select": + ;(h = x.value), h != null && Xe(p, !!x.multiple, h, !1) + } + }), + (an = $S), + (no = Du) + var Emt = { usingClientEntryPoint: !1, Events: [fg, um, jy, $t, gn, $S] }, + Tg = { findFiberByHostInstance: Tu, bundleType: 0, version: "18.3.1", rendererPackageName: "react-dom" }, + zmt = { + bundleType: Tg.bundleType, + version: Tg.version, + rendererPackageName: Tg.rendererPackageName, + rendererConfig: Tg.rendererConfig, + overrideHookState: null, + overrideHookStateDeletePath: null, + overrideHookStateRenamePath: null, + overrideProps: null, + overridePropsDeletePath: null, + overridePropsRenamePath: null, + setErrorHandler: null, + setSuspenseHandler: null, + scheduleUpdate: null, + currentDispatcherRef: S.ReactCurrentDispatcher, + findHostInstanceByFiber: function (p) { + return (p = Ve(p)), p === null ? null : p.stateNode + }, + findFiberByHostInstance: Tg.findFiberByHostInstance || Mmt, + findHostInstancesForRefresh: null, + scheduleRefresh: null, + scheduleRoot: null, + setRefreshHandler: null, + getCurrentFiber: null, + reconcilerVersion: "18.3.1-next-f1338f8080-20240426", + } + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") { + var gk = __REACT_DEVTOOLS_GLOBAL_HOOK__ + if (!gk.isDisabled && gk.supportsFiber) + try { + ;(hl = gk.inject(zmt)), (Wi = gk) + } catch {} + } + return ( + (Zi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Emt), + (Zi.createPortal = function (p, h) { + var x = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null + if (!WS(h)) throw Error(n(200)) + return Imt(p, h, null, x) + }), + (Zi.createRoot = function (p, h) { + if (!WS(p)) throw Error(n(299)) + var x = !1, + A = "", + I = iN + return ( + h != null && + (h.unstable_strictMode === !0 && (x = !0), + h.identifierPrefix !== void 0 && (A = h.identifierPrefix), + h.onRecoverableError !== void 0 && (I = h.onRecoverableError)), + (h = BS(p, 1, !1, null, null, x, !1, A, I)), + (p[Yl] = h.current), + pg(p.nodeType === 8 ? p.parentNode : p), + new qS(h) + ) + }), + (Zi.findDOMNode = function (p) { + if (p == null) return null + if (p.nodeType === 1) return p + var h = p._reactInternals + if (h === void 0) + throw typeof p.render == "function" ? Error(n(188)) : ((p = Object.keys(p).join(",")), Error(n(268, p))) + return (p = Ve(h)), (p = p === null ? null : p.stateNode), p + }), + (Zi.flushSync = function (p) { + return Du(p) + }), + (Zi.hydrate = function (p, h, x) { + if (!hk(h)) throw Error(n(200)) + return fk(null, p, h, !0, x) + }), + (Zi.hydrateRoot = function (p, h, x) { + if (!WS(p)) throw Error(n(405)) + var A = (x != null && x.hydratedSources) || null, + I = !1, + z = "", + K = iN + if ( + (x != null && + (x.unstable_strictMode === !0 && (I = !0), + x.identifierPrefix !== void 0 && (z = x.identifierPrefix), + x.onRecoverableError !== void 0 && (K = x.onRecoverableError)), + (h = oN(h, null, p, 1, x ?? null, I, !1, z, K)), + (p[Yl] = h.current), + pg(p), + A) + ) + for (p = 0; p < A.length; p++) + (x = A[p]), + (I = x._getVersion), + (I = I(x._source)), + h.mutableSourceEagerHydrationData == null + ? (h.mutableSourceEagerHydrationData = [x, I]) + : h.mutableSourceEagerHydrationData.push(x, I) + return new mk(h) + }), + (Zi.render = function (p, h, x) { + if (!hk(h)) throw Error(n(200)) + return fk(null, p, h, !1, x) + }), + (Zi.unmountComponentAtNode = function (p) { + if (!hk(p)) throw Error(n(40)) + return p._reactRootContainer + ? (Du(function () { + fk(null, null, p, !1, function () { + ;(p._reactRootContainer = null), (p[Yl] = null) + }) + }), + !0) + : !1 + }), + (Zi.unstable_batchedUpdates = $S), + (Zi.unstable_renderSubtreeIntoContainer = function (p, h, x, A) { + if (!hk(x)) throw Error(n(200)) + if (p == null || p._reactInternals === void 0) throw Error(n(38)) + return fk(p, h, x, !1, A) + }), + (Zi.version = "18.3.1-next-f1338f8080-20240426"), + Zi + ) +} +var vN +function RW() { + if (vN) return GS.exports + vN = 1 + function t() { + if ( + !( + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || + typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function" + ) + ) + try { + __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t) + } catch (e) { + console.error(e) + } + } + return t(), (GS.exports = nht()), GS.exports +} +var bN +function oht() { + if (bN) return vk + bN = 1 + var t = RW() + return (vk.createRoot = t.createRoot), (vk.hydrateRoot = t.hydrateRoot), vk +} +var rht = oht(), + zl = function () { + return ( + (zl = + Object.assign || + function (e) { + for (var n, o = 1, r = arguments.length; o < r; o++) { + n = arguments[o] + for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) + } + return e + }), + zl.apply(this, arguments) + ) + } +function TW(t, e) { + var n = {} + for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && e.indexOf(o) < 0 && (n[o] = t[o]) + if (t != null && typeof Object.getOwnPropertySymbols == "function") + for (var r = 0, o = Object.getOwnPropertySymbols(t); r < o.length; r++) + e.indexOf(o[r]) < 0 && Object.prototype.propertyIsEnumerable.call(t, o[r]) && (n[o[r]] = t[o[r]]) + return n +} +function iht(t, e, n, o) { + var r = arguments.length, + i = r < 3 ? e : o === null ? (o = Object.getOwnPropertyDescriptor(e, n)) : o, + s + if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(t, e, n, o) + else for (var a = t.length - 1; a >= 0; a--) (s = t[a]) && (i = (r < 3 ? s(i) : r > 3 ? s(e, n, i) : s(e, n)) || i) + return r > 3 && i && Object.defineProperty(e, n, i), i +} +function yN() { + for (var t = 0, e = 0, n = arguments.length; e < n; e++) t += arguments[e].length + for (var o = Array(t), r = 0, e = 0; e < n; e++) + for (var i = arguments[e], s = 0, a = i.length; s < a; s++, r++) o[r] = i[s] + return o +} +function sht(t, e, n) { + if (n || arguments.length === 2) + for (var o = 0, r = e.length, i; o < r; o++) + (i || !(o in e)) && (i || (i = Array.prototype.slice.call(e, 0, o)), (i[o] = e[o])) + return t.concat(i || Array.prototype.slice.call(e)) +} +var aht = function () {} +function ow(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] + t && t.addEventListener && t.addEventListener.apply(t, e) +} +function rw(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] + t && t.removeEventListener && t.removeEventListener.apply(t, e) +} +var fv = typeof window < "u", + YS, + kN +function lht() { + return ( + kN || + ((kN = 1), + (YS = function t(e, n) { + if (e === n) return !0 + if (e && n && typeof e == "object" && typeof n == "object") { + if (e.constructor !== n.constructor) return !1 + var o, r, i + if (Array.isArray(e)) { + if (((o = e.length), o != n.length)) return !1 + for (r = o; r-- !== 0; ) if (!t(e[r], n[r])) return !1 + return !0 + } + if (e.constructor === RegExp) return e.source === n.source && e.flags === n.flags + if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === n.valueOf() + if (e.toString !== Object.prototype.toString) return e.toString() === n.toString() + if (((i = Object.keys(e)), (o = i.length), o !== Object.keys(n).length)) return !1 + for (r = o; r-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(n, i[r])) return !1 + for (r = o; r-- !== 0; ) { + var s = i[r] + if (!(s === "_owner" && e.$$typeof) && !t(e[s], n[s])) return !1 + } + return !0 + } + return e !== e && n !== n + })), + YS + ) +} +var cht = lht() +const dht = ps(cht) +var uht = function (t, e, n) { + var o = k.useRef(void 0) + ;(!o.current || !n(e, o.current)) && (o.current = e), k.useEffect(t, o.current) +} +function pht(t, e) { + e === void 0 && (e = 0) + var n = k.useRef(!1), + o = k.useRef(), + r = k.useRef(t), + i = k.useCallback(function () { + return n.current + }, []), + s = k.useCallback( + function () { + ;(n.current = !1), + o.current && clearTimeout(o.current), + (o.current = setTimeout(function () { + ;(n.current = !0), r.current() + }, e)) + }, + [e], + ), + a = k.useCallback(function () { + ;(n.current = null), o.current && clearTimeout(o.current) + }, []) + return ( + k.useEffect( + function () { + r.current = t + }, + [t], + ), + k.useEffect( + function () { + return s(), a + }, + [e], + ), + [i, a, s] + ) +} +function UI(t, e, n) { + e === void 0 && (e = 0), n === void 0 && (n = []) + var o = pht(t, e), + r = o[0], + i = o[1], + s = o[2] + return k.useEffect(s, n), [r, i] +} +var mht = function (t, e) { + uht(t, e, dht) + }, + IW = function (t) { + k.useEffect(t, []) + }, + hht = fv ? window : null, + xN = function (t) { + return !!t.addEventListener + }, + wN = function (t) { + return !!t.on + }, + Ws = function (t, e, n, o) { + n === void 0 && (n = hht), + k.useEffect( + function () { + if (e && n) + return ( + xN(n) ? ow(n, t, e, o) : wN(n) && n.on(t, e, o), + function () { + xN(n) ? rw(n, t, e, o) : wN(n) && n.off(t, e, o) + } + ) + }, + [t, e, n, JSON.stringify(o)], + ) + }, + fht = function (t) { + return function (e) { + return e.key === t + } + }, + _N = function (t, e, n, o) { + e === void 0 && (e = aht), n === void 0 && (n = {}), o === void 0 && (o = [t]) + var r = n.event, + i = r === void 0 ? "keydown" : r, + s = n.target, + a = n.options, + c = k.useMemo(function () { + var d = fht(t), + u = function (m) { + if (d(m)) return e(m) + } + return u + }, o) + Ws(i, c, s, a) + }, + ght = function (t) { + var e = k.useState([!1, null]), + n = e[0], + o = e[1] + return ( + _N( + t, + function (r) { + return o([!0, r]) + }, + { event: "keydown" }, + [n], + ), + _N( + t, + function (r) { + return o([!1, r]) + }, + { event: "keyup" }, + [n], + ), + n + ) + }, + L_ = function (t) { + IW(function () { + t() + }) + }, + vht = function (t) { + var e = k.useRef(t) + ;(e.current = t), + IW(function () { + return function () { + return e.current() + } + }) + }, + bht = function (t) { + var e = k.useRef(0), + n = k.useState(t), + o = n[0], + r = n[1], + i = k.useCallback(function (s) { + cancelAnimationFrame(e.current), + (e.current = requestAnimationFrame(function () { + r(s) + })) + }, []) + return ( + vht(function () { + cancelAnimationFrame(e.current) + }), + [o, i] + ) + }, + yht = k.useState, + kht = k.useEffect, + xht = k.useRef, + wht = function (t) { + return setTimeout(t, 35) + }, + qI = function (t, e) { + var n = e === void 0 ? {} : e, + o = n.width, + r = o === void 0 ? 1 / 0 : o, + i = n.height, + s = i === void 0 ? 1 / 0 : i + if (!fv) return [typeof t == "function" ? t({ width: r, height: s }) : t, { width: r, height: s }] + var a = yht({ width: r, height: s }), + c = a[0], + d = a[1] + typeof t == "function" && (t = t(c)) + var u = t.props.style || {}, + m = xht(null), + f = null, + g = function () { + var w = m.current, + _ = w ? { width: w.offsetWidth, height: w.offsetHeight } : { width: r, height: s } + d(_) + }, + b = function (w) { + ow(w, "resize", g), wht(g) + } + kht(function () { + var w = m.current + if (w) { + if (w.contentWindow) (f = w.contentWindow), b(f) + else { + var _ = function () { + ow(w, "load", _), (f = w.contentWindow), b(f) + } + rw(w, "load", _) + } + return function () { + f && f.removeEventListener && rw(f, "resize", g) + } + } + }, []), + (u.position = "relative") + var v = k.cloneElement.apply( + Mj, + yN( + [t, { style: u }], + yN( + [ + k.createElement("iframe", { + ref: m, + style: { + background: "transparent", + border: "none", + height: "100%", + left: 0, + position: "absolute", + top: 0, + width: "100%", + zIndex: -1, + }, + }), + ], + k.Children.toArray(t.props.children), + ), + ), + ) + return [v, c] + }, + MW = function (t) { + var e = {}, + n = e.initialWidth, + o = n === void 0 ? 1 / 0 : n, + r = e.initialHeight, + i = r === void 0 ? 1 / 0 : r, + s = e.onChange, + a = bht({ width: fv ? window.innerWidth : o, height: fv ? window.innerHeight : i }), + c = a[0], + d = a[1] + return ( + k.useEffect(function () { + if (fv) { + var u = function () { + var m = window.innerWidth, + f = window.innerHeight + d({ width: m, height: f }), s && s(m, f) + } + return ( + ow(window, "resize", u), + function () { + rw(window, "resize", u) + } + ) + } + }, []), + c + ) + }, + Eb = class { + constructor() { + ;(this.listeners = new Set()), (this.subscribe = this.subscribe.bind(this)) + } + subscribe(t) { + return ( + this.listeners.add(t), + this.onSubscribe(), + () => { + this.listeners.delete(t), this.onUnsubscribe() + } + ) + } + hasListeners() { + return this.listeners.size > 0 + } + onSubscribe() {} + onUnsubscribe() {} + }, + Rp = typeof window > "u" || "Deno" in globalThis +function es() {} +function _ht(t, e) { + return typeof t == "function" ? t(e) : t +} +function WI(t) { + return typeof t == "number" && t >= 0 && t !== 1 / 0 +} +function jW(t, e) { + return Math.max(t + (e || 0) - Date.now(), 0) +} +function sh(t, e) { + return typeof t == "function" ? t(e) : t +} +function Ha(t, e) { + return typeof t == "function" ? t(e) : t +} +function CN(t, e) { + const { type: n = "all", exact: o, fetchStatus: r, predicate: i, queryKey: s, stale: a } = t + if (s) { + if (o) { + if (e.queryHash !== jj(s, e.options)) return !1 + } else if (!Lv(e.queryKey, s)) return !1 + } + if (n !== "all") { + const c = e.isActive() + if ((n === "active" && !c) || (n === "inactive" && c)) return !1 + } + return !((typeof a == "boolean" && e.isStale() !== a) || (r && r !== e.state.fetchStatus) || (i && !i(e))) +} +function SN(t, e) { + const { exact: n, status: o, predicate: r, mutationKey: i } = t + if (i) { + if (!e.options.mutationKey) return !1 + if (n) { + if ($v(e.options.mutationKey) !== $v(i)) return !1 + } else if (!Lv(e.options.mutationKey, i)) return !1 + } + return !((o && e.state.status !== o) || (r && !r(e))) +} +function jj(t, e) { + return ((e == null ? void 0 : e.queryKeyHashFn) || $v)(t) +} +function $v(t) { + return JSON.stringify(t, (e, n) => + VI(n) + ? Object.keys(n) + .sort() + .reduce((o, r) => ((o[r] = n[r]), o), {}) + : n, + ) +} +function Lv(t, e) { + return t === e + ? !0 + : typeof t != typeof e + ? !1 + : t && e && typeof t == "object" && typeof e == "object" + ? Object.keys(e).every((n) => Lv(t[n], e[n])) + : !1 +} +function EW(t, e) { + if (t === e) return t + const n = AN(t) && AN(e) + if (n || (VI(t) && VI(e))) { + const o = n ? t : Object.keys(t), + r = o.length, + i = n ? e : Object.keys(e), + s = i.length, + a = n ? [] : {} + let c = 0 + for (let d = 0; d < s; d++) { + const u = n ? d : i[d] + ;((!n && o.includes(u)) || n) && t[u] === void 0 && e[u] === void 0 + ? ((a[u] = void 0), c++) + : ((a[u] = EW(t[u], e[u])), a[u] === t[u] && t[u] !== void 0 && c++) + } + return r === s && c === r ? t : a + } + return e +} +function KI(t, e) { + if (!e || Object.keys(t).length !== Object.keys(e).length) return !1 + for (const n in t) if (t[n] !== e[n]) return !1 + return !0 +} +function AN(t) { + return Array.isArray(t) && t.length === Object.keys(t).length +} +function VI(t) { + if (!PN(t)) return !1 + const e = t.constructor + if (e === void 0) return !0 + const n = e.prototype + return !(!PN(n) || !n.hasOwnProperty("isPrototypeOf") || Object.getPrototypeOf(t) !== Object.prototype) +} +function PN(t) { + return Object.prototype.toString.call(t) === "[object Object]" +} +function Cht(t) { + return new Promise((e) => { + setTimeout(e, t) + }) +} +function HI(t, e, n) { + return typeof n.structuralSharing == "function" + ? n.structuralSharing(t, e) + : n.structuralSharing !== !1 + ? EW(t, e) + : e +} +function Sht(t, e, n = 0) { + const o = [...t, e] + return n && o.length > n ? o.slice(1) : o +} +function Aht(t, e, n = 0) { + const o = [e, ...t] + return n && o.length > n ? o.slice(0, -1) : o +} +var Ej = Symbol() +function zW(t, e) { + return !t.queryFn && e != null && e.initialPromise + ? () => e.initialPromise + : !t.queryFn || t.queryFn === Ej + ? () => Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)) + : t.queryFn +} +function Pht(t, e) { + return typeof t == "function" ? t(...e) : !!t +} +var up, + Md, + wh, + gW, + Rht = + ((gW = class extends Eb { + constructor() { + super() + Je(this, up) + Je(this, Md) + Je(this, wh) + je(this, wh, (e) => { + if (!Rp && window.addEventListener) { + const n = () => e() + return ( + window.addEventListener("visibilitychange", n, !1), + () => { + window.removeEventListener("visibilitychange", n) + } + ) + } + }) + } + onSubscribe() { + O(this, Md) || this.setEventListener(O(this, wh)) + } + onUnsubscribe() { + var e + this.hasListeners() || ((e = O(this, Md)) == null || e.call(this), je(this, Md, void 0)) + } + setEventListener(e) { + var n + je(this, wh, e), + (n = O(this, Md)) == null || n.call(this), + je( + this, + Md, + e((o) => { + typeof o == "boolean" ? this.setFocused(o) : this.onFocus() + }), + ) + } + setFocused(e) { + O(this, up) !== e && (je(this, up, e), this.onFocus()) + } + onFocus() { + const e = this.isFocused() + this.listeners.forEach((n) => { + n(e) + }) + } + isFocused() { + var e + return typeof O(this, up) == "boolean" + ? O(this, up) + : ((e = globalThis.document) == null ? void 0 : e.visibilityState) !== "hidden" + } + }), + (up = new WeakMap()), + (Md = new WeakMap()), + (wh = new WeakMap()), + gW), + zj = new Rht(), + _h, + jd, + Ch, + vW, + Tht = + ((vW = class extends Eb { + constructor() { + super() + Je(this, _h, !0) + Je(this, jd) + Je(this, Ch) + je(this, Ch, (e) => { + if (!Rp && window.addEventListener) { + const n = () => e(!0), + o = () => e(!1) + return ( + window.addEventListener("online", n, !1), + window.addEventListener("offline", o, !1), + () => { + window.removeEventListener("online", n), window.removeEventListener("offline", o) + } + ) + } + }) + } + onSubscribe() { + O(this, jd) || this.setEventListener(O(this, Ch)) + } + onUnsubscribe() { + var e + this.hasListeners() || ((e = O(this, jd)) == null || e.call(this), je(this, jd, void 0)) + } + setEventListener(e) { + var n + je(this, Ch, e), (n = O(this, jd)) == null || n.call(this), je(this, jd, e(this.setOnline.bind(this))) + } + setOnline(e) { + O(this, _h) !== e && + (je(this, _h, e), + this.listeners.forEach((o) => { + o(e) + })) + } + isOnline() { + return O(this, _h) + } + }), + (_h = new WeakMap()), + (jd = new WeakMap()), + (Ch = new WeakMap()), + vW), + iw = new Tht() +function GI() { + let t, e + const n = new Promise((r, i) => { + ;(t = r), (e = i) + }) + ;(n.status = "pending"), n.catch(() => {}) + function o(r) { + Object.assign(n, r), delete n.resolve, delete n.reject + } + return ( + (n.resolve = (r) => { + o({ status: "fulfilled", value: r }), t(r) + }), + (n.reject = (r) => { + o({ status: "rejected", reason: r }), e(r) + }), + n + ) +} +function Iht(t) { + return Math.min(1e3 * 2 ** t, 3e4) +} +function $W(t) { + return (t ?? "online") === "online" ? iw.isOnline() : !0 +} +var LW = class extends Error { + constructor(t) { + super("CancelledError"), + (this.revert = t == null ? void 0 : t.revert), + (this.silent = t == null ? void 0 : t.silent) + } +} +function XS(t) { + return t instanceof LW +} +function DW(t) { + let e = !1, + n = 0, + o = !1, + r + const i = GI(), + s = (v) => { + var w + o || (f(new LW(v)), (w = t.abort) == null || w.call(t)) + }, + a = () => { + e = !0 + }, + c = () => { + e = !1 + }, + d = () => zj.isFocused() && (t.networkMode === "always" || iw.isOnline()) && t.canRun(), + u = () => $W(t.networkMode) && t.canRun(), + m = (v) => { + var w + o || ((o = !0), (w = t.onSuccess) == null || w.call(t, v), r == null || r(), i.resolve(v)) + }, + f = (v) => { + var w + o || ((o = !0), (w = t.onError) == null || w.call(t, v), r == null || r(), i.reject(v)) + }, + g = () => + new Promise((v) => { + var w + ;(r = (_) => { + ;(o || d()) && v(_) + }), + (w = t.onPause) == null || w.call(t) + }).then(() => { + var v + ;(r = void 0), o || (v = t.onContinue) == null || v.call(t) + }), + b = () => { + if (o) return + let v + const w = n === 0 ? t.initialPromise : void 0 + try { + v = w ?? t.fn() + } catch (_) { + v = Promise.reject(_) + } + Promise.resolve(v) + .then(m) + .catch((_) => { + var R + if (o) return + const y = t.retry ?? (Rp ? 0 : 3), + C = t.retryDelay ?? Iht, + S = typeof C == "function" ? C(n, _) : C, + P = y === !0 || (typeof y == "number" && n < y) || (typeof y == "function" && y(n, _)) + if (e || !P) { + f(_) + return + } + n++, + (R = t.onFail) == null || R.call(t, n, _), + Cht(S) + .then(() => (d() ? void 0 : g())) + .then(() => { + e ? f(_) : b() + }) + }) + } + return { + promise: i, + cancel: s, + continue: () => (r == null || r(), i), + cancelRetry: a, + continueRetry: c, + canStart: u, + start: () => (u() ? b() : g().then(b), i), + } +} +var Mht = (t) => setTimeout(t, 0) +function jht() { + let t = [], + e = 0, + n = (a) => { + a() + }, + o = (a) => { + a() + }, + r = Mht + const i = (a) => { + e + ? t.push(a) + : r(() => { + n(a) + }) + }, + s = () => { + const a = t + ;(t = []), + a.length && + r(() => { + o(() => { + a.forEach((c) => { + n(c) + }) + }) + }) + } + return { + batch: (a) => { + let c + e++ + try { + c = a() + } finally { + e--, e || s() + } + return c + }, + batchCalls: + (a) => + (...c) => { + i(() => { + a(...c) + }) + }, + schedule: i, + setNotifyFunction: (a) => { + n = a + }, + setBatchNotifyFunction: (a) => { + o = a + }, + setScheduler: (a) => { + r = a + }, + } +} +var Kr = jht(), + pp, + bW, + NW = + ((bW = class { + constructor() { + Je(this, pp) + } + destroy() { + this.clearGcTimeout() + } + scheduleGc() { + this.clearGcTimeout(), + WI(this.gcTime) && + je( + this, + pp, + setTimeout(() => { + this.optionalRemove() + }, this.gcTime), + ) + } + updateGcTime(t) { + this.gcTime = Math.max(this.gcTime || 0, t ?? (Rp ? 1 / 0 : 5 * 60 * 1e3)) + } + clearGcTimeout() { + O(this, pp) && (clearTimeout(O(this, pp)), je(this, pp, void 0)) + } + }), + (pp = new WeakMap()), + bW), + Sh, + Ah, + oa, + mp, + li, + Pb, + hp, + Da, + lc, + yW, + Eht = + ((yW = class extends NW { + constructor(e) { + super() + Je(this, Da) + Je(this, Sh) + Je(this, Ah) + Je(this, oa) + Je(this, mp) + Je(this, li) + Je(this, Pb) + Je(this, hp) + je(this, hp, !1), + je(this, Pb, e.defaultOptions), + this.setOptions(e.options), + (this.observers = []), + je(this, mp, e.client), + je(this, oa, O(this, mp).getQueryCache()), + (this.queryKey = e.queryKey), + (this.queryHash = e.queryHash), + je(this, Sh, zht(this.options)), + (this.state = e.state ?? O(this, Sh)), + this.scheduleGc() + } + get meta() { + return this.options.meta + } + get promise() { + var e + return (e = O(this, li)) == null ? void 0 : e.promise + } + setOptions(e) { + ;(this.options = { ...O(this, Pb), ...e }), this.updateGcTime(this.options.gcTime) + } + optionalRemove() { + !this.observers.length && this.state.fetchStatus === "idle" && O(this, oa).remove(this) + } + setData(e, n) { + const o = HI(this.state.data, e, this.options) + return ( + Ne(this, Da, lc).call(this, { + data: o, + type: "success", + dataUpdatedAt: n == null ? void 0 : n.updatedAt, + manual: n == null ? void 0 : n.manual, + }), + o + ) + } + setState(e, n) { + Ne(this, Da, lc).call(this, { type: "setState", state: e, setStateOptions: n }) + } + cancel(e) { + var o, r + const n = (o = O(this, li)) == null ? void 0 : o.promise + return (r = O(this, li)) == null || r.cancel(e), n ? n.then(es).catch(es) : Promise.resolve() + } + destroy() { + super.destroy(), this.cancel({ silent: !0 }) + } + reset() { + this.destroy(), this.setState(O(this, Sh)) + } + isActive() { + return this.observers.some((e) => Ha(e.options.enabled, this) !== !1) + } + isDisabled() { + return this.getObserversCount() > 0 + ? !this.isActive() + : this.options.queryFn === Ej || this.state.dataUpdateCount + this.state.errorUpdateCount === 0 + } + isStale() { + return this.state.isInvalidated + ? !0 + : this.getObserversCount() > 0 + ? this.observers.some((e) => e.getCurrentResult().isStale) + : this.state.data === void 0 + } + isStaleByTime(e = 0) { + return this.state.isInvalidated || this.state.data === void 0 || !jW(this.state.dataUpdatedAt, e) + } + onFocus() { + var n + const e = this.observers.find((o) => o.shouldFetchOnWindowFocus()) + e == null || e.refetch({ cancelRefetch: !1 }), (n = O(this, li)) == null || n.continue() + } + onOnline() { + var n + const e = this.observers.find((o) => o.shouldFetchOnReconnect()) + e == null || e.refetch({ cancelRefetch: !1 }), (n = O(this, li)) == null || n.continue() + } + addObserver(e) { + this.observers.includes(e) || + (this.observers.push(e), + this.clearGcTimeout(), + O(this, oa).notify({ type: "observerAdded", query: this, observer: e })) + } + removeObserver(e) { + this.observers.includes(e) && + ((this.observers = this.observers.filter((n) => n !== e)), + this.observers.length || + (O(this, li) && (O(this, hp) ? O(this, li).cancel({ revert: !0 }) : O(this, li).cancelRetry()), + this.scheduleGc()), + O(this, oa).notify({ type: "observerRemoved", query: this, observer: e })) + } + getObserversCount() { + return this.observers.length + } + invalidate() { + this.state.isInvalidated || Ne(this, Da, lc).call(this, { type: "invalidate" }) + } + fetch(e, n) { + var c, d, u + if (this.state.fetchStatus !== "idle") { + if (this.state.data !== void 0 && n != null && n.cancelRefetch) this.cancel({ silent: !0 }) + else if (O(this, li)) return O(this, li).continueRetry(), O(this, li).promise + } + if ((e && this.setOptions(e), !this.options.queryFn)) { + const m = this.observers.find((f) => f.options.queryFn) + m && this.setOptions(m.options) + } + const o = new AbortController(), + r = (m) => { + Object.defineProperty(m, "signal", { enumerable: !0, get: () => (je(this, hp, !0), o.signal) }) + }, + i = () => { + const m = zW(this.options, n), + f = { client: O(this, mp), queryKey: this.queryKey, meta: this.meta } + return ( + r(f), je(this, hp, !1), this.options.persister ? this.options.persister(m, f, this) : m(f) + ) + }, + s = { + fetchOptions: n, + options: this.options, + queryKey: this.queryKey, + client: O(this, mp), + state: this.state, + fetchFn: i, + } + r(s), + (c = this.options.behavior) == null || c.onFetch(s, this), + je(this, Ah, this.state), + (this.state.fetchStatus === "idle" || + this.state.fetchMeta !== ((d = s.fetchOptions) == null ? void 0 : d.meta)) && + Ne(this, Da, lc).call(this, { + type: "fetch", + meta: (u = s.fetchOptions) == null ? void 0 : u.meta, + }) + const a = (m) => { + var f, g, b, v + ;(XS(m) && m.silent) || Ne(this, Da, lc).call(this, { type: "error", error: m }), + XS(m) || + ((g = (f = O(this, oa).config).onError) == null || g.call(f, m, this), + (v = (b = O(this, oa).config).onSettled) == null || v.call(b, this.state.data, m, this)), + this.scheduleGc() + } + return ( + je( + this, + li, + DW({ + initialPromise: n == null ? void 0 : n.initialPromise, + fn: s.fetchFn, + abort: o.abort.bind(o), + onSuccess: (m) => { + var f, g, b, v + if (m === void 0) { + a(new Error(`${this.queryHash} data is undefined`)) + return + } + try { + this.setData(m) + } catch (w) { + a(w) + return + } + ;(g = (f = O(this, oa).config).onSuccess) == null || g.call(f, m, this), + (v = (b = O(this, oa).config).onSettled) == null || + v.call(b, m, this.state.error, this), + this.scheduleGc() + }, + onError: a, + onFail: (m, f) => { + Ne(this, Da, lc).call(this, { type: "failed", failureCount: m, error: f }) + }, + onPause: () => { + Ne(this, Da, lc).call(this, { type: "pause" }) + }, + onContinue: () => { + Ne(this, Da, lc).call(this, { type: "continue" }) + }, + retry: s.options.retry, + retryDelay: s.options.retryDelay, + networkMode: s.options.networkMode, + canRun: () => !0, + }), + ), + O(this, li).start() + ) + } + }), + (Sh = new WeakMap()), + (Ah = new WeakMap()), + (oa = new WeakMap()), + (mp = new WeakMap()), + (li = new WeakMap()), + (Pb = new WeakMap()), + (hp = new WeakMap()), + (Da = new WeakSet()), + (lc = function (e) { + const n = (o) => { + switch (e.type) { + case "failed": + return { ...o, fetchFailureCount: e.failureCount, fetchFailureReason: e.error } + case "pause": + return { ...o, fetchStatus: "paused" } + case "continue": + return { ...o, fetchStatus: "fetching" } + case "fetch": + return { ...o, ...OW(o.data, this.options), fetchMeta: e.meta ?? null } + case "success": + return { + ...o, + data: e.data, + dataUpdateCount: o.dataUpdateCount + 1, + dataUpdatedAt: e.dataUpdatedAt ?? Date.now(), + error: null, + isInvalidated: !1, + status: "success", + ...(!e.manual && { fetchStatus: "idle", fetchFailureCount: 0, fetchFailureReason: null }), + } + case "error": + const r = e.error + return XS(r) && r.revert && O(this, Ah) + ? { ...O(this, Ah), fetchStatus: "idle" } + : { + ...o, + error: r, + errorUpdateCount: o.errorUpdateCount + 1, + errorUpdatedAt: Date.now(), + fetchFailureCount: o.fetchFailureCount + 1, + fetchFailureReason: r, + fetchStatus: "idle", + status: "error", + } + case "invalidate": + return { ...o, isInvalidated: !0 } + case "setState": + return { ...o, ...e.state } + } + } + ;(this.state = n(this.state)), + Kr.batch(() => { + this.observers.forEach((o) => { + o.onQueryUpdate() + }), + O(this, oa).notify({ query: this, type: "updated", action: e }) + }) + }), + yW) +function OW(t, e) { + return { + fetchFailureCount: 0, + fetchFailureReason: null, + fetchStatus: $W(e.networkMode) ? "fetching" : "paused", + ...(t === void 0 && { error: null, status: "pending" }), + } +} +function zht(t) { + const e = typeof t.initialData == "function" ? t.initialData() : t.initialData, + n = e !== void 0, + o = n ? (typeof t.initialDataUpdatedAt == "function" ? t.initialDataUpdatedAt() : t.initialDataUpdatedAt) : 0 + return { + data: e, + dataUpdateCount: 0, + dataUpdatedAt: n ? (o ?? Date.now()) : 0, + error: null, + errorUpdateCount: 0, + errorUpdatedAt: 0, + fetchFailureCount: 0, + fetchFailureReason: null, + fetchMeta: null, + isInvalidated: !1, + status: n ? "success" : "pending", + fetchStatus: "idle", + } +} +var Pl, + kW, + $ht = + ((kW = class extends Eb { + constructor(e = {}) { + super() + Je(this, Pl) + ;(this.config = e), je(this, Pl, new Map()) + } + build(e, n, o) { + const r = n.queryKey, + i = n.queryHash ?? jj(r, n) + let s = this.get(i) + return ( + s || + ((s = new Eht({ + client: e, + queryKey: r, + queryHash: i, + options: e.defaultQueryOptions(n), + state: o, + defaultOptions: e.getQueryDefaults(r), + })), + this.add(s)), + s + ) + } + add(e) { + O(this, Pl).has(e.queryHash) || + (O(this, Pl).set(e.queryHash, e), this.notify({ type: "added", query: e })) + } + remove(e) { + const n = O(this, Pl).get(e.queryHash) + n && + (e.destroy(), + n === e && O(this, Pl).delete(e.queryHash), + this.notify({ type: "removed", query: e })) + } + clear() { + Kr.batch(() => { + this.getAll().forEach((e) => { + this.remove(e) + }) + }) + } + get(e) { + return O(this, Pl).get(e) + } + getAll() { + return [...O(this, Pl).values()] + } + find(e) { + const n = { exact: !0, ...e } + return this.getAll().find((o) => CN(n, o)) + } + findAll(e = {}) { + const n = this.getAll() + return Object.keys(e).length > 0 ? n.filter((o) => CN(e, o)) : n + } + notify(e) { + Kr.batch(() => { + this.listeners.forEach((n) => { + n(e) + }) + }) + } + onFocus() { + Kr.batch(() => { + this.getAll().forEach((e) => { + e.onFocus() + }) + }) + } + onOnline() { + Kr.batch(() => { + this.getAll().forEach((e) => { + e.onOnline() + }) + }) + } + }), + (Pl = new WeakMap()), + kW), + Rl, + Mi, + fp, + Tl, + bd, + xW, + Lht = + ((xW = class extends NW { + constructor(e) { + super() + Je(this, Tl) + Je(this, Rl) + Je(this, Mi) + Je(this, fp) + ;(this.mutationId = e.mutationId), + je(this, Mi, e.mutationCache), + je(this, Rl, []), + (this.state = e.state || Dht()), + this.setOptions(e.options), + this.scheduleGc() + } + setOptions(e) { + ;(this.options = e), this.updateGcTime(this.options.gcTime) + } + get meta() { + return this.options.meta + } + addObserver(e) { + O(this, Rl).includes(e) || + (O(this, Rl).push(e), + this.clearGcTimeout(), + O(this, Mi).notify({ type: "observerAdded", mutation: this, observer: e })) + } + removeObserver(e) { + je( + this, + Rl, + O(this, Rl).filter((n) => n !== e), + ), + this.scheduleGc(), + O(this, Mi).notify({ type: "observerRemoved", mutation: this, observer: e }) + } + optionalRemove() { + O(this, Rl).length || (this.state.status === "pending" ? this.scheduleGc() : O(this, Mi).remove(this)) + } + continue() { + var e + return ((e = O(this, fp)) == null ? void 0 : e.continue()) ?? this.execute(this.state.variables) + } + async execute(e) { + var i, s, a, c, d, u, m, f, g, b, v, w, _, y, C, S, P, R, T, E + const n = () => { + Ne(this, Tl, bd).call(this, { type: "continue" }) + } + je( + this, + fp, + DW({ + fn: () => + this.options.mutationFn + ? this.options.mutationFn(e) + : Promise.reject(new Error("No mutationFn found")), + onFail: ($, j) => { + Ne(this, Tl, bd).call(this, { type: "failed", failureCount: $, error: j }) + }, + onPause: () => { + Ne(this, Tl, bd).call(this, { type: "pause" }) + }, + onContinue: n, + retry: this.options.retry ?? 0, + retryDelay: this.options.retryDelay, + networkMode: this.options.networkMode, + canRun: () => O(this, Mi).canRun(this), + }), + ) + const o = this.state.status === "pending", + r = !O(this, fp).canStart() + try { + if (o) n() + else { + Ne(this, Tl, bd).call(this, { type: "pending", variables: e, isPaused: r }), + await ((s = (i = O(this, Mi).config).onMutate) == null ? void 0 : s.call(i, e, this)) + const j = await ((c = (a = this.options).onMutate) == null ? void 0 : c.call(a, e)) + j !== this.state.context && + Ne(this, Tl, bd).call(this, { type: "pending", context: j, variables: e, isPaused: r }) + } + const $ = await O(this, fp).start() + return ( + await ((u = (d = O(this, Mi).config).onSuccess) == null + ? void 0 + : u.call(d, $, e, this.state.context, this)), + await ((f = (m = this.options).onSuccess) == null + ? void 0 + : f.call(m, $, e, this.state.context)), + await ((b = (g = O(this, Mi).config).onSettled) == null + ? void 0 + : b.call(g, $, null, this.state.variables, this.state.context, this)), + await ((w = (v = this.options).onSettled) == null + ? void 0 + : w.call(v, $, null, e, this.state.context)), + Ne(this, Tl, bd).call(this, { type: "success", data: $ }), + $ + ) + } catch ($) { + try { + throw ( + (await ((y = (_ = O(this, Mi).config).onError) == null + ? void 0 + : y.call(_, $, e, this.state.context, this)), + await ((S = (C = this.options).onError) == null + ? void 0 + : S.call(C, $, e, this.state.context)), + await ((R = (P = O(this, Mi).config).onSettled) == null + ? void 0 + : R.call(P, void 0, $, this.state.variables, this.state.context, this)), + await ((E = (T = this.options).onSettled) == null + ? void 0 + : E.call(T, void 0, $, e, this.state.context)), + $) + ) + } finally { + Ne(this, Tl, bd).call(this, { type: "error", error: $ }) + } + } finally { + O(this, Mi).runNext(this) + } + } + }), + (Rl = new WeakMap()), + (Mi = new WeakMap()), + (fp = new WeakMap()), + (Tl = new WeakSet()), + (bd = function (e) { + const n = (o) => { + switch (e.type) { + case "failed": + return { ...o, failureCount: e.failureCount, failureReason: e.error } + case "pause": + return { ...o, isPaused: !0 } + case "continue": + return { ...o, isPaused: !1 } + case "pending": + return { + ...o, + context: e.context, + data: void 0, + failureCount: 0, + failureReason: null, + error: null, + isPaused: e.isPaused, + status: "pending", + variables: e.variables, + submittedAt: Date.now(), + } + case "success": + return { + ...o, + data: e.data, + failureCount: 0, + failureReason: null, + error: null, + status: "success", + isPaused: !1, + } + case "error": + return { + ...o, + data: void 0, + error: e.error, + failureCount: o.failureCount + 1, + failureReason: e.error, + isPaused: !1, + status: "error", + } + } + } + ;(this.state = n(this.state)), + Kr.batch(() => { + O(this, Rl).forEach((o) => { + o.onMutationUpdate(e) + }), + O(this, Mi).notify({ mutation: this, type: "updated", action: e }) + }) + }), + xW) +function Dht() { + return { + context: void 0, + data: void 0, + error: null, + failureCount: 0, + failureReason: null, + isPaused: !1, + status: "idle", + variables: void 0, + submittedAt: 0, + } +} +var bc, + Na, + Rb, + wW, + Nht = + ((wW = class extends Eb { + constructor(e = {}) { + super() + Je(this, bc) + Je(this, Na) + Je(this, Rb) + ;(this.config = e), je(this, bc, new Set()), je(this, Na, new Map()), je(this, Rb, 0) + } + build(e, n, o) { + const r = new Lht({ + mutationCache: this, + mutationId: ++Bu(this, Rb)._, + options: e.defaultMutationOptions(n), + state: o, + }) + return this.add(r), r + } + add(e) { + O(this, bc).add(e) + const n = bk(e) + if (typeof n == "string") { + const o = O(this, Na).get(n) + o ? o.push(e) : O(this, Na).set(n, [e]) + } + this.notify({ type: "added", mutation: e }) + } + remove(e) { + if (O(this, bc).delete(e)) { + const n = bk(e) + if (typeof n == "string") { + const o = O(this, Na).get(n) + if (o) + if (o.length > 1) { + const r = o.indexOf(e) + r !== -1 && o.splice(r, 1) + } else o[0] === e && O(this, Na).delete(n) + } + } + this.notify({ type: "removed", mutation: e }) + } + canRun(e) { + const n = bk(e) + if (typeof n == "string") { + const o = O(this, Na).get(n), + r = o == null ? void 0 : o.find((i) => i.state.status === "pending") + return !r || r === e + } else return !0 + } + runNext(e) { + var o + const n = bk(e) + if (typeof n == "string") { + const r = (o = O(this, Na).get(n)) == null ? void 0 : o.find((i) => i !== e && i.state.isPaused) + return (r == null ? void 0 : r.continue()) ?? Promise.resolve() + } else return Promise.resolve() + } + clear() { + Kr.batch(() => { + O(this, bc).forEach((e) => { + this.notify({ type: "removed", mutation: e }) + }), + O(this, bc).clear(), + O(this, Na).clear() + }) + } + getAll() { + return Array.from(O(this, bc)) + } + find(e) { + const n = { exact: !0, ...e } + return this.getAll().find((o) => SN(n, o)) + } + findAll(e = {}) { + return this.getAll().filter((n) => SN(e, n)) + } + notify(e) { + Kr.batch(() => { + this.listeners.forEach((n) => { + n(e) + }) + }) + } + resumePausedMutations() { + const e = this.getAll().filter((n) => n.state.isPaused) + return Kr.batch(() => Promise.all(e.map((n) => n.continue().catch(es)))) + } + }), + (bc = new WeakMap()), + (Na = new WeakMap()), + (Rb = new WeakMap()), + wW) +function bk(t) { + var e + return (e = t.options.scope) == null ? void 0 : e.id +} +function RN(t) { + return { + onFetch: (e, n) => { + var u, m, f, g, b + const o = e.options, + r = + (f = (m = (u = e.fetchOptions) == null ? void 0 : u.meta) == null ? void 0 : m.fetchMore) == null + ? void 0 + : f.direction, + i = ((g = e.state.data) == null ? void 0 : g.pages) || [], + s = ((b = e.state.data) == null ? void 0 : b.pageParams) || [] + let a = { pages: [], pageParams: [] }, + c = 0 + const d = async () => { + let v = !1 + const w = (C) => { + Object.defineProperty(C, "signal", { + enumerable: !0, + get: () => ( + e.signal.aborted + ? (v = !0) + : e.signal.addEventListener("abort", () => { + v = !0 + }), + e.signal + ), + }) + }, + _ = zW(e.options, e.fetchOptions), + y = async (C, S, P) => { + if (v) return Promise.reject() + if (S == null && C.pages.length) return Promise.resolve(C) + const R = { + client: e.client, + queryKey: e.queryKey, + pageParam: S, + direction: P ? "backward" : "forward", + meta: e.options.meta, + } + w(R) + const T = await _(R), + { maxPages: E } = e.options, + $ = P ? Aht : Sht + return { pages: $(C.pages, T, E), pageParams: $(C.pageParams, S, E) } + } + if (r && i.length) { + const C = r === "backward", + S = C ? Oht : TN, + P = { pages: i, pageParams: s }, + R = S(o, P) + a = await y(P, R, C) + } else { + const C = t ?? i.length + do { + const S = c === 0 ? (s[0] ?? o.initialPageParam) : TN(o, a) + if (c > 0 && S == null) break + ;(a = await y(a, S)), c++ + } while (c < C) + } + return a + } + e.options.persister + ? (e.fetchFn = () => { + var v, w + return (w = (v = e.options).persister) == null + ? void 0 + : w.call( + v, + d, + { client: e.client, queryKey: e.queryKey, meta: e.options.meta, signal: e.signal }, + n, + ) + }) + : (e.fetchFn = d) + }, + } +} +function TN(t, { pages: e, pageParams: n }) { + const o = e.length - 1 + return e.length > 0 ? t.getNextPageParam(e[o], e, n[o], n) : void 0 +} +function Oht(t, { pages: e, pageParams: n }) { + var o + return e.length > 0 ? ((o = t.getPreviousPageParam) == null ? void 0 : o.call(t, e[0], e, n[0], n)) : void 0 +} +var Zo, + Ed, + zd, + Ph, + Rh, + $d, + Th, + Ih, + _W, + Fht = + ((_W = class { + constructor(t = {}) { + Je(this, Zo) + Je(this, Ed) + Je(this, zd) + Je(this, Ph) + Je(this, Rh) + Je(this, $d) + Je(this, Th) + Je(this, Ih) + je(this, Zo, t.queryCache || new $ht()), + je(this, Ed, t.mutationCache || new Nht()), + je(this, zd, t.defaultOptions || {}), + je(this, Ph, new Map()), + je(this, Rh, new Map()), + je(this, $d, 0) + } + mount() { + Bu(this, $d)._++, + O(this, $d) === 1 && + (je( + this, + Th, + zj.subscribe(async (t) => { + t && (await this.resumePausedMutations(), O(this, Zo).onFocus()) + }), + ), + je( + this, + Ih, + iw.subscribe(async (t) => { + t && (await this.resumePausedMutations(), O(this, Zo).onOnline()) + }), + )) + } + unmount() { + var t, e + Bu(this, $d)._--, + O(this, $d) === 0 && + ((t = O(this, Th)) == null || t.call(this), + je(this, Th, void 0), + (e = O(this, Ih)) == null || e.call(this), + je(this, Ih, void 0)) + } + isFetching(t) { + return O(this, Zo).findAll({ ...t, fetchStatus: "fetching" }).length + } + isMutating(t) { + return O(this, Ed).findAll({ ...t, status: "pending" }).length + } + getQueryData(t) { + var n + const e = this.defaultQueryOptions({ queryKey: t }) + return (n = O(this, Zo).get(e.queryHash)) == null ? void 0 : n.state.data + } + ensureQueryData(t) { + const e = this.defaultQueryOptions(t), + n = O(this, Zo).build(this, e), + o = n.state.data + return o === void 0 + ? this.fetchQuery(t) + : (t.revalidateIfStale && n.isStaleByTime(sh(e.staleTime, n)) && this.prefetchQuery(e), + Promise.resolve(o)) + } + getQueriesData(t) { + return O(this, Zo) + .findAll(t) + .map(({ queryKey: e, state: n }) => { + const o = n.data + return [e, o] + }) + } + setQueryData(t, e, n) { + const o = this.defaultQueryOptions({ queryKey: t }), + r = O(this, Zo).get(o.queryHash), + i = r == null ? void 0 : r.state.data, + s = _ht(e, i) + if (s !== void 0) + return O(this, Zo) + .build(this, o) + .setData(s, { ...n, manual: !0 }) + } + setQueriesData(t, e, n) { + return Kr.batch(() => + O(this, Zo) + .findAll(t) + .map(({ queryKey: o }) => [o, this.setQueryData(o, e, n)]), + ) + } + getQueryState(t) { + var n + const e = this.defaultQueryOptions({ queryKey: t }) + return (n = O(this, Zo).get(e.queryHash)) == null ? void 0 : n.state + } + removeQueries(t) { + const e = O(this, Zo) + Kr.batch(() => { + e.findAll(t).forEach((n) => { + e.remove(n) + }) + }) + } + resetQueries(t, e) { + const n = O(this, Zo) + return Kr.batch( + () => ( + n.findAll(t).forEach((o) => { + o.reset() + }), + this.refetchQueries({ type: "active", ...t }, e) + ), + ) + } + cancelQueries(t, e = {}) { + const n = { revert: !0, ...e }, + o = Kr.batch(() => + O(this, Zo) + .findAll(t) + .map((r) => r.cancel(n)), + ) + return Promise.all(o).then(es).catch(es) + } + invalidateQueries(t, e = {}) { + return Kr.batch( + () => ( + O(this, Zo) + .findAll(t) + .forEach((n) => { + n.invalidate() + }), + (t == null ? void 0 : t.refetchType) === "none" + ? Promise.resolve() + : this.refetchQueries( + { + ...t, + type: + (t == null ? void 0 : t.refetchType) ?? + (t == null ? void 0 : t.type) ?? + "active", + }, + e, + ) + ), + ) + } + refetchQueries(t, e = {}) { + const n = { ...e, cancelRefetch: e.cancelRefetch ?? !0 }, + o = Kr.batch(() => + O(this, Zo) + .findAll(t) + .filter((r) => !r.isDisabled()) + .map((r) => { + let i = r.fetch(void 0, n) + return ( + n.throwOnError || (i = i.catch(es)), + r.state.fetchStatus === "paused" ? Promise.resolve() : i + ) + }), + ) + return Promise.all(o).then(es) + } + fetchQuery(t) { + const e = this.defaultQueryOptions(t) + e.retry === void 0 && (e.retry = !1) + const n = O(this, Zo).build(this, e) + return n.isStaleByTime(sh(e.staleTime, n)) ? n.fetch(e) : Promise.resolve(n.state.data) + } + prefetchQuery(t) { + return this.fetchQuery(t).then(es).catch(es) + } + fetchInfiniteQuery(t) { + return (t.behavior = RN(t.pages)), this.fetchQuery(t) + } + prefetchInfiniteQuery(t) { + return this.fetchInfiniteQuery(t).then(es).catch(es) + } + ensureInfiniteQueryData(t) { + return (t.behavior = RN(t.pages)), this.ensureQueryData(t) + } + resumePausedMutations() { + return iw.isOnline() ? O(this, Ed).resumePausedMutations() : Promise.resolve() + } + getQueryCache() { + return O(this, Zo) + } + getMutationCache() { + return O(this, Ed) + } + getDefaultOptions() { + return O(this, zd) + } + setDefaultOptions(t) { + je(this, zd, t) + } + setQueryDefaults(t, e) { + O(this, Ph).set($v(t), { queryKey: t, defaultOptions: e }) + } + getQueryDefaults(t) { + const e = [...O(this, Ph).values()], + n = {} + return ( + e.forEach((o) => { + Lv(t, o.queryKey) && Object.assign(n, o.defaultOptions) + }), + n + ) + } + setMutationDefaults(t, e) { + O(this, Rh).set($v(t), { mutationKey: t, defaultOptions: e }) + } + getMutationDefaults(t) { + const e = [...O(this, Rh).values()], + n = {} + return ( + e.forEach((o) => { + Lv(t, o.mutationKey) && Object.assign(n, o.defaultOptions) + }), + n + ) + } + defaultQueryOptions(t) { + if (t._defaulted) return t + const e = { ...O(this, zd).queries, ...this.getQueryDefaults(t.queryKey), ...t, _defaulted: !0 } + return ( + e.queryHash || (e.queryHash = jj(e.queryKey, e)), + e.refetchOnReconnect === void 0 && (e.refetchOnReconnect = e.networkMode !== "always"), + e.throwOnError === void 0 && (e.throwOnError = !!e.suspense), + !e.networkMode && e.persister && (e.networkMode = "offlineFirst"), + e.queryFn === Ej && (e.enabled = !1), + e + ) + } + defaultMutationOptions(t) { + return t != null && t._defaulted + ? t + : { + ...O(this, zd).mutations, + ...((t == null ? void 0 : t.mutationKey) && this.getMutationDefaults(t.mutationKey)), + ...t, + _defaulted: !0, + } + } + clear() { + O(this, Zo).clear(), O(this, Ed).clear() + } + }), + (Zo = new WeakMap()), + (Ed = new WeakMap()), + (zd = new WeakMap()), + (Ph = new WeakMap()), + (Rh = new WeakMap()), + ($d = new WeakMap()), + (Th = new WeakMap()), + (Ih = new WeakMap()), + _W), + Xi, + $n, + Tb, + ji, + gp, + Mh, + Ld, + Dd, + Ib, + jh, + Eh, + vp, + bp, + Nd, + zh, + eo, + ev, + QI, + ZI, + YI, + XI, + JI, + e1, + t1, + FW, + CW, + Bht = + ((CW = class extends Eb { + constructor(e, n) { + super() + Je(this, eo) + Je(this, Xi) + Je(this, $n) + Je(this, Tb) + Je(this, ji) + Je(this, gp) + Je(this, Mh) + Je(this, Ld) + Je(this, Dd) + Je(this, Ib) + Je(this, jh) + Je(this, Eh) + Je(this, vp) + Je(this, bp) + Je(this, Nd) + Je(this, zh, new Set()) + ;(this.options = n), + je(this, Xi, e), + je(this, Dd, null), + je(this, Ld, GI()), + this.options.experimental_prefetchInRender || + O(this, Ld).reject(new Error("experimental_prefetchInRender feature flag is not enabled")), + this.bindMethods(), + this.setOptions(n) + } + bindMethods() { + this.refetch = this.refetch.bind(this) + } + onSubscribe() { + this.listeners.size === 1 && + (O(this, $n).addObserver(this), + IN(O(this, $n), this.options) ? Ne(this, eo, ev).call(this) : this.updateResult(), + Ne(this, eo, XI).call(this)) + } + onUnsubscribe() { + this.hasListeners() || this.destroy() + } + shouldFetchOnReconnect() { + return n1(O(this, $n), this.options, this.options.refetchOnReconnect) + } + shouldFetchOnWindowFocus() { + return n1(O(this, $n), this.options, this.options.refetchOnWindowFocus) + } + destroy() { + ;(this.listeners = new Set()), + Ne(this, eo, JI).call(this), + Ne(this, eo, e1).call(this), + O(this, $n).removeObserver(this) + } + setOptions(e) { + const n = this.options, + o = O(this, $n) + if ( + ((this.options = O(this, Xi).defaultQueryOptions(e)), + this.options.enabled !== void 0 && + typeof this.options.enabled != "boolean" && + typeof this.options.enabled != "function" && + typeof Ha(this.options.enabled, O(this, $n)) != "boolean") + ) + throw new Error("Expected enabled to be a boolean or a callback that returns a boolean") + Ne(this, eo, t1).call(this), + O(this, $n).setOptions(this.options), + n._defaulted && + !KI(this.options, n) && + O(this, Xi) + .getQueryCache() + .notify({ type: "observerOptionsUpdated", query: O(this, $n), observer: this }) + const r = this.hasListeners() + r && MN(O(this, $n), o, this.options, n) && Ne(this, eo, ev).call(this), + this.updateResult(), + r && + (O(this, $n) !== o || + Ha(this.options.enabled, O(this, $n)) !== Ha(n.enabled, O(this, $n)) || + sh(this.options.staleTime, O(this, $n)) !== sh(n.staleTime, O(this, $n))) && + Ne(this, eo, QI).call(this) + const i = Ne(this, eo, ZI).call(this) + r && + (O(this, $n) !== o || + Ha(this.options.enabled, O(this, $n)) !== Ha(n.enabled, O(this, $n)) || + i !== O(this, Nd)) && + Ne(this, eo, YI).call(this, i) + } + getOptimisticResult(e) { + const n = O(this, Xi).getQueryCache().build(O(this, Xi), e), + o = this.createResult(n, e) + return qht(this, o) && (je(this, ji, o), je(this, Mh, this.options), je(this, gp, O(this, $n).state)), o + } + getCurrentResult() { + return O(this, ji) + } + trackResult(e, n) { + return new Proxy(e, { get: (o, r) => (this.trackProp(r), n == null || n(r), Reflect.get(o, r)) }) + } + trackProp(e) { + O(this, zh).add(e) + } + getCurrentQuery() { + return O(this, $n) + } + refetch({ ...e } = {}) { + return this.fetch({ ...e }) + } + fetchOptimistic(e) { + const n = O(this, Xi).defaultQueryOptions(e), + o = O(this, Xi).getQueryCache().build(O(this, Xi), n) + return o.fetch().then(() => this.createResult(o, n)) + } + fetch(e) { + return Ne(this, eo, ev) + .call(this, { ...e, cancelRefetch: e.cancelRefetch ?? !0 }) + .then(() => (this.updateResult(), O(this, ji))) + } + createResult(e, n) { + var $ + const o = O(this, $n), + r = this.options, + i = O(this, ji), + s = O(this, gp), + a = O(this, Mh), + d = e !== o ? e.state : O(this, Tb), + { state: u } = e + let m = { ...u }, + f = !1, + g + if (n._optimisticResults) { + const j = this.hasListeners(), + L = !j && IN(e, n), + W = j && MN(e, o, n, r) + ;(L || W) && (m = { ...m, ...OW(u.data, e.options) }), + n._optimisticResults === "isRestoring" && (m.fetchStatus = "idle") + } + let { error: b, errorUpdatedAt: v, status: w } = m + g = m.data + let _ = !1 + if (n.placeholderData !== void 0 && g === void 0 && w === "pending") { + let j + i != null && i.isPlaceholderData && n.placeholderData === (a == null ? void 0 : a.placeholderData) + ? ((j = i.data), (_ = !0)) + : (j = + typeof n.placeholderData == "function" + ? n.placeholderData(($ = O(this, Eh)) == null ? void 0 : $.state.data, O(this, Eh)) + : n.placeholderData), + j !== void 0 && ((w = "success"), (g = HI(i == null ? void 0 : i.data, j, n)), (f = !0)) + } + if (n.select && g !== void 0 && !_) + if (i && g === (s == null ? void 0 : s.data) && n.select === O(this, Ib)) g = O(this, jh) + else + try { + je(this, Ib, n.select), + (g = n.select(g)), + (g = HI(i == null ? void 0 : i.data, g, n)), + je(this, jh, g), + je(this, Dd, null) + } catch (j) { + je(this, Dd, j) + } + O(this, Dd) && ((b = O(this, Dd)), (g = O(this, jh)), (v = Date.now()), (w = "error")) + const y = m.fetchStatus === "fetching", + C = w === "pending", + S = w === "error", + P = C && y, + R = g !== void 0, + E = { + status: w, + fetchStatus: m.fetchStatus, + isPending: C, + isSuccess: w === "success", + isError: S, + isInitialLoading: P, + isLoading: P, + data: g, + dataUpdatedAt: m.dataUpdatedAt, + error: b, + errorUpdatedAt: v, + failureCount: m.fetchFailureCount, + failureReason: m.fetchFailureReason, + errorUpdateCount: m.errorUpdateCount, + isFetched: m.dataUpdateCount > 0 || m.errorUpdateCount > 0, + isFetchedAfterMount: + m.dataUpdateCount > d.dataUpdateCount || m.errorUpdateCount > d.errorUpdateCount, + isFetching: y, + isRefetching: y && !C, + isLoadingError: S && !R, + isPaused: m.fetchStatus === "paused", + isPlaceholderData: f, + isRefetchError: S && R, + isStale: $j(e, n), + refetch: this.refetch, + promise: O(this, Ld), + } + if (this.options.experimental_prefetchInRender) { + const j = (G) => { + E.status === "error" ? G.reject(E.error) : E.data !== void 0 && G.resolve(E.data) + }, + L = () => { + const G = je(this, Ld, (E.promise = GI())) + j(G) + }, + W = O(this, Ld) + switch (W.status) { + case "pending": + e.queryHash === o.queryHash && j(W) + break + case "fulfilled": + ;(E.status === "error" || E.data !== W.value) && L() + break + case "rejected": + ;(E.status !== "error" || E.error !== W.reason) && L() + break + } + } + return E + } + updateResult() { + const e = O(this, ji), + n = this.createResult(O(this, $n), this.options) + if ( + (je(this, gp, O(this, $n).state), + je(this, Mh, this.options), + O(this, gp).data !== void 0 && je(this, Eh, O(this, $n)), + KI(n, e)) + ) + return + je(this, ji, n) + const o = () => { + if (!e) return !0 + const { notifyOnChangeProps: r } = this.options, + i = typeof r == "function" ? r() : r + if (i === "all" || (!i && !O(this, zh).size)) return !0 + const s = new Set(i ?? O(this, zh)) + return ( + this.options.throwOnError && s.add("error"), + Object.keys(O(this, ji)).some((a) => { + const c = a + return O(this, ji)[c] !== e[c] && s.has(c) + }) + ) + } + Ne(this, eo, FW).call(this, { listeners: o() }) + } + onQueryUpdate() { + this.updateResult(), this.hasListeners() && Ne(this, eo, XI).call(this) + } + }), + (Xi = new WeakMap()), + ($n = new WeakMap()), + (Tb = new WeakMap()), + (ji = new WeakMap()), + (gp = new WeakMap()), + (Mh = new WeakMap()), + (Ld = new WeakMap()), + (Dd = new WeakMap()), + (Ib = new WeakMap()), + (jh = new WeakMap()), + (Eh = new WeakMap()), + (vp = new WeakMap()), + (bp = new WeakMap()), + (Nd = new WeakMap()), + (zh = new WeakMap()), + (eo = new WeakSet()), + (ev = function (e) { + Ne(this, eo, t1).call(this) + let n = O(this, $n).fetch(this.options, e) + return (e != null && e.throwOnError) || (n = n.catch(es)), n + }), + (QI = function () { + Ne(this, eo, JI).call(this) + const e = sh(this.options.staleTime, O(this, $n)) + if (Rp || O(this, ji).isStale || !WI(e)) return + const o = jW(O(this, ji).dataUpdatedAt, e) + 1 + je( + this, + vp, + setTimeout(() => { + O(this, ji).isStale || this.updateResult() + }, o), + ) + }), + (ZI = function () { + return ( + (typeof this.options.refetchInterval == "function" + ? this.options.refetchInterval(O(this, $n)) + : this.options.refetchInterval) ?? !1 + ) + }), + (YI = function (e) { + Ne(this, eo, e1).call(this), + je(this, Nd, e), + !(Rp || Ha(this.options.enabled, O(this, $n)) === !1 || !WI(O(this, Nd)) || O(this, Nd) === 0) && + je( + this, + bp, + setInterval( + () => { + ;(this.options.refetchIntervalInBackground || zj.isFocused()) && + Ne(this, eo, ev).call(this) + }, + O(this, Nd), + ), + ) + }), + (XI = function () { + Ne(this, eo, QI).call(this), Ne(this, eo, YI).call(this, Ne(this, eo, ZI).call(this)) + }), + (JI = function () { + O(this, vp) && (clearTimeout(O(this, vp)), je(this, vp, void 0)) + }), + (e1 = function () { + O(this, bp) && (clearInterval(O(this, bp)), je(this, bp, void 0)) + }), + (t1 = function () { + const e = O(this, Xi).getQueryCache().build(O(this, Xi), this.options) + if (e === O(this, $n)) return + const n = O(this, $n) + je(this, $n, e), + je(this, Tb, e.state), + this.hasListeners() && (n == null || n.removeObserver(this), e.addObserver(this)) + }), + (FW = function (e) { + Kr.batch(() => { + e.listeners && + this.listeners.forEach((n) => { + n(O(this, ji)) + }), + O(this, Xi) + .getQueryCache() + .notify({ query: O(this, $n), type: "observerResultsUpdated" }) + }) + }), + CW) +function Uht(t, e) { + return Ha(e.enabled, t) !== !1 && t.state.data === void 0 && !(t.state.status === "error" && e.retryOnMount === !1) +} +function IN(t, e) { + return Uht(t, e) || (t.state.data !== void 0 && n1(t, e, e.refetchOnMount)) +} +function n1(t, e, n) { + if (Ha(e.enabled, t) !== !1) { + const o = typeof n == "function" ? n(t) : n + return o === "always" || (o !== !1 && $j(t, e)) + } + return !1 +} +function MN(t, e, n, o) { + return (t !== e || Ha(o.enabled, t) === !1) && (!n.suspense || t.state.status !== "error") && $j(t, n) +} +function $j(t, e) { + return Ha(e.enabled, t) !== !1 && t.isStaleByTime(sh(e.staleTime, t)) +} +function qht(t, e) { + return !KI(t.getCurrentResult(), e) +} +var BW = k.createContext(void 0), + UW = (t) => { + const e = k.useContext(BW) + if (!e) throw new Error("No QueryClient set, use QueryClientProvider to set one") + return e + }, + Wht = ({ client: t, children: e }) => ( + k.useEffect( + () => ( + t.mount(), + () => { + t.unmount() + } + ), + [t], + ), + l.jsx(BW.Provider, { value: t, children: e }) + ), + qW = k.createContext(!1), + Kht = () => k.useContext(qW) +qW.Provider +function Vht() { + let t = !1 + return { + clearReset: () => { + t = !1 + }, + reset: () => { + t = !0 + }, + isReset: () => t, + } +} +var Hht = k.createContext(Vht()), + Ght = () => k.useContext(Hht), + Qht = (t, e) => { + ;(t.suspense || t.throwOnError || t.experimental_prefetchInRender) && (e.isReset() || (t.retryOnMount = !1)) + }, + Zht = (t) => { + k.useEffect(() => { + t.clearReset() + }, [t]) + }, + Yht = ({ result: t, errorResetBoundary: e, throwOnError: n, query: o, suspense: r }) => + t.isError && !e.isReset() && !t.isFetching && o && ((r && t.data === void 0) || Pht(n, [t.error, o])), + Xht = (t) => { + const e = t.staleTime + t.suspense && + ((t.staleTime = typeof e == "function" ? (...n) => Math.max(e(...n), 1e3) : Math.max(e ?? 1e3, 1e3)), + typeof t.gcTime == "number" && (t.gcTime = Math.max(t.gcTime, 1e3))) + }, + Jht = (t, e) => t.isLoading && t.isFetching && !e, + eft = (t, e) => (t == null ? void 0 : t.suspense) && e.isPending, + jN = (t, e, n) => + e.fetchOptimistic(t).catch(() => { + n.clearReset() + }) +function tft(t, e, n) { + var m, f, g, b, v + const o = UW(), + r = Kht(), + i = Ght(), + s = o.defaultQueryOptions(t) + ;(f = (m = o.getDefaultOptions().queries) == null ? void 0 : m._experimental_beforeQuery) == null || f.call(m, s), + (s._optimisticResults = r ? "isRestoring" : "optimistic"), + Xht(s), + Qht(s, i), + Zht(i) + const a = !o.getQueryCache().get(s.queryHash), + [c] = k.useState(() => new e(o, s)), + d = c.getOptimisticResult(s), + u = !r && t.subscribed !== !1 + if ( + (k.useSyncExternalStore( + k.useCallback( + (w) => { + const _ = u ? c.subscribe(Kr.batchCalls(w)) : es + return c.updateResult(), _ + }, + [c, u], + ), + () => c.getCurrentResult(), + () => c.getCurrentResult(), + ), + k.useEffect(() => { + c.setOptions(s) + }, [s, c]), + eft(s, d)) + ) + throw jN(s, c, i) + if ( + Yht({ + result: d, + errorResetBoundary: i, + throwOnError: s.throwOnError, + query: o.getQueryCache().get(s.queryHash), + suspense: s.suspense, + }) + ) + throw d.error + if ( + ((b = (g = o.getDefaultOptions().queries) == null ? void 0 : g._experimental_afterQuery) == null || + b.call(g, s, d), + s.experimental_prefetchInRender && !Rp && Jht(d, r)) + ) { + const w = a ? jN(s, c, i) : (v = o.getQueryCache().get(s.queryHash)) == null ? void 0 : v.promise + w == null || + w.catch(es).finally(() => { + c.updateResult() + }) + } + return s.notifyOnChangeProps ? d : c.trackResult(d) +} +function zb(t, e) { + return tft(t, Bht) +} +var JS, EN +function nft() { + return ( + EN || + ((EN = 1), + (JS = { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0, + })), + JS + ) +} +var oft = nft() +const rft = ps(oft) +var ift = /\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g +function zN(t) { + var e = { type: "tag", name: "", voidElement: !1, attrs: {}, children: [] }, + n = t.match(/<\/?([^\s]+?)[/\s>]/) + if ( + n && + ((e.name = n[1]), + (rft[n[1]] || t.charAt(t.length - 2) === "/") && (e.voidElement = !0), + e.name.startsWith("!--")) + ) { + var o = t.indexOf("-->") + return { type: "comment", comment: o !== -1 ? t.slice(4, o) : "" } + } + for (var r = new RegExp(ift), i = null; (i = r.exec(t)) !== null; ) + if (i[0].trim()) + if (i[1]) { + var s = i[1].trim(), + a = [s, ""] + s.indexOf("=") > -1 && (a = s.split("=")), (e.attrs[a[0]] = a[1]), r.lastIndex-- + } else i[2] && (e.attrs[i[2]] = i[3].trim().substring(1, i[3].length - 1)) + return e +} +var sft = /<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g, + aft = /^\s*$/, + lft = Object.create(null) +function WW(t, e) { + switch (e.type) { + case "text": + return t + e.content + case "tag": + return ( + (t += + "<" + + e.name + + (e.attrs + ? (function (n) { + var o = [] + for (var r in n) o.push(r + '="' + n[r] + '"') + return o.length ? " " + o.join(" ") : "" + })(e.attrs) + : "") + + (e.voidElement ? "/>" : ">")), + e.voidElement ? t : t + e.children.reduce(WW, "") + "</" + e.name + ">" + ) + case "comment": + return t + "<!--" + e.comment + "-->" + } +} +var cft = { + parse: function (t, e) { + e || (e = {}), e.components || (e.components = lft) + var n, + o = [], + r = [], + i = -1, + s = !1 + if (t.indexOf("<") !== 0) { + var a = t.indexOf("<") + o.push({ type: "text", content: a === -1 ? t : t.substring(0, a) }) + } + return ( + t.replace(sft, function (c, d) { + if (s) { + if (c !== "</" + n.name + ">") return + s = !1 + } + var u, + m = c.charAt(1) !== "/", + f = c.startsWith("<!--"), + g = d + c.length, + b = t.charAt(g) + if (f) { + var v = zN(c) + return i < 0 ? (o.push(v), o) : ((u = r[i]).children.push(v), o) + } + if ( + (m && + (i++, + (n = zN(c)).type === "tag" && e.components[n.name] && ((n.type = "component"), (s = !0)), + n.voidElement || + s || + !b || + b === "<" || + n.children.push({ type: "text", content: t.slice(g, t.indexOf("<", g)) }), + i === 0 && o.push(n), + (u = r[i - 1]) && u.children.push(n), + (r[i] = n)), + (!m || n.voidElement) && + (i > -1 && (n.voidElement || n.name === c.slice(2, -1)) && (i--, (n = i === -1 ? o : r[i])), + !s && b !== "<" && b)) + ) { + u = i === -1 ? o : r[i].children + var w = t.indexOf("<", g), + _ = t.slice(g, w === -1 ? void 0 : w) + aft.test(_) && (_ = " "), + ((w > -1 && i + u.length >= 0) || _ !== " ") && u.push({ type: "text", content: _ }) + } + }), + o + ) + }, + stringify: function (t) { + return t.reduce(function (e, n) { + return e + WW("", n) + }, "") + }, +} +const vx = (t, e, n, o) => { + var i, s, a, c + const r = [n, { code: e, ...(o || {}) }] + if ((s = (i = t == null ? void 0 : t.services) == null ? void 0 : i.logger) != null && s.forward) + return t.services.logger.forward(r, "warn", "react-i18next::", !0) + Os(r[0]) && (r[0] = `react-i18next:: ${r[0]}`), + (c = (a = t == null ? void 0 : t.services) == null ? void 0 : a.logger) != null && c.warn + ? t.services.logger.warn(...r) + : console != null && console.warn && console.warn(...r) + }, + $N = {}, + Dv = (t, e, n, o) => { + ;(Os(n) && $N[n]) || (Os(n) && ($N[n] = new Date()), vx(t, e, n, o)) + }, + KW = (t, e) => () => { + if (t.isInitialized) e() + else { + const n = () => { + setTimeout(() => { + t.off("initialized", n) + }, 0), + e() + } + t.on("initialized", n) + } + }, + o1 = (t, e, n) => { + t.loadNamespaces(e, KW(t, n)) + }, + LN = (t, e, n, o) => { + if ((Os(n) && (n = [n]), t.options.preload && t.options.preload.indexOf(e) > -1)) return o1(t, n, o) + n.forEach((r) => { + t.options.ns.indexOf(r) < 0 && t.options.ns.push(r) + }), + t.loadLanguages(e, KW(t, o)) + }, + dft = (t, e, n = {}) => + !e.languages || !e.languages.length + ? (Dv(e, "NO_LANGUAGES", "i18n.languages were undefined or empty", { languages: e.languages }), !0) + : e.hasLoadedNamespace(t, { + lng: n.lng, + precheck: (o, r) => { + var i + if ( + ((i = n.bindI18n) == null ? void 0 : i.indexOf("languageChanging")) > -1 && + o.services.backendConnector.backend && + o.isLanguageChangingTo && + !r(o.isLanguageChangingTo, t) + ) + return !1 + }, + }), + uft = (t) => t.displayName || t.name || (Os(t) && t.length > 0 ? t : "Unknown"), + Os = (t) => typeof t == "string", + np = (t) => typeof t == "object" && t !== null, + pft = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g, + mft = { + "&": "&", + "&": "&", + "<": "<", + "<": "<", + ">": ">", + ">": ">", + "'": "'", + "'": "'", + """: '"', + """: '"', + " ": " ", + " ": " ", + "©": "©", + "©": "©", + "®": "®", + "®": "®", + "…": "…", + "…": "…", + "/": "/", + "/": "/", + }, + hft = (t) => mft[t], + fft = (t) => t.replace(pft, hft) +let r1 = { + bindI18n: "languageChanged", + bindI18nStore: "", + transEmptyNodeValue: "", + transSupportBasicHtmlNodes: !0, + transWrapTextNodes: "", + transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"], + useSuspense: !0, + unescape: fft, +} +const gft = (t = {}) => { + r1 = { ...r1, ...t } + }, + VW = () => r1 +let HW +const vft = (t) => { + HW = t + }, + Lj = () => HW, + eA = (t, e) => { + var o + if (!t) return !1 + const n = ((o = t.props) == null ? void 0 : o.children) ?? t.children + return e ? n.length > 0 : !!n + }, + tA = (t) => { + var n, o + if (!t) return [] + const e = ((n = t.props) == null ? void 0 : n.children) ?? t.children + return (o = t.props) != null && o.i18nIsDynamicList ? Gm(e) : e + }, + bft = (t) => Array.isArray(t) && t.every(k.isValidElement), + Gm = (t) => (Array.isArray(t) ? t : [t]), + yft = (t, e) => { + const n = { ...e } + return (n.props = Object.assign(t.props, e.props)), n + }, + GW = (t, e, n, o) => { + if (!t) return "" + let r = "" + const i = Gm(t), + s = e != null && e.transSupportBasicHtmlNodes ? (e.transKeepBasicHtmlNodesFor ?? []) : [] + return ( + i.forEach((a, c) => { + if (Os(a)) { + r += `${a}` + return + } + if (k.isValidElement(a)) { + const { props: d, type: u } = a, + m = Object.keys(d).length, + f = s.indexOf(u) > -1, + g = d.children + if (!g && f && !m) { + r += `<${u}/>` + return + } + if ((!g && (!f || m)) || d.i18nIsDynamicList) { + r += `<${c}></${c}>` + return + } + if (f && m === 1 && Os(g)) { + r += `<${u}>${g}</${u}>` + return + } + const b = GW(g, e, n, o) + r += `<${c}>${b}</${c}>` + return + } + if (a === null) { + vx(n, "TRANS_NULL_VALUE", "Passed in a null value as child", { i18nKey: o }) + return + } + if (np(a)) { + const { format: d, ...u } = a, + m = Object.keys(u) + if (m.length === 1) { + const f = d ? `${m[0]}, ${d}` : m[0] + r += `{{${f}}}` + return + } + vx( + n, + "TRANS_INVALID_OBJ", + "Invalid child - Object should only have keys {{ value, format }} (format is optional).", + { i18nKey: o, child: a }, + ) + return + } + vx( + n, + "TRANS_INVALID_VAR", + "Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.", + { i18nKey: o, child: a }, + ) + }), + r + ) + }, + kft = (t, e, n, o, r, i) => { + if (e === "") return [] + const s = o.transKeepBasicHtmlNodesFor || [], + a = e && new RegExp(s.map((w) => `<${w}`).join("|")).test(e) + if (!t && !a && !i) return [e] + const c = {}, + d = (w) => { + Gm(w).forEach((y) => { + Os(y) || (eA(y) ? d(tA(y)) : np(y) && !k.isValidElement(y) && Object.assign(c, y)) + }) + } + d(t) + const u = cft.parse(`<0>${e}</0>`), + m = { ...c, ...r }, + f = (w, _, y) => { + var P + const C = tA(w), + S = b(C, _.children, y) + return (bft(C) && S.length === 0) || ((P = w.props) != null && P.i18nIsDynamicList) ? C : S + }, + g = (w, _, y, C, S) => { + w.dummy + ? ((w.children = _), y.push(k.cloneElement(w, { key: C }, S ? void 0 : _))) + : y.push( + ...k.Children.map([w], (P) => { + const R = { ...P.props } + return ( + delete R.i18nIsDynamicList, + k.createElement(P.type, { ...R, key: C, ref: P.ref }, S ? null : _) + ) + }), + ) + }, + b = (w, _, y) => { + const C = Gm(w) + return Gm(_).reduce((P, R, T) => { + var $, j + const E = + ((j = ($ = R.children) == null ? void 0 : $[0]) == null ? void 0 : j.content) && + n.services.interpolator.interpolate(R.children[0].content, m, n.language) + if (R.type === "tag") { + let L = C[parseInt(R.name, 10)] + y.length === 1 && !L && (L = y[0][R.name]), L || (L = {}) + const W = Object.keys(R.attrs).length !== 0 ? yft({ props: R.attrs }, L) : L, + G = k.isValidElement(W), + U = G && eA(R, !0) && !R.voidElement, + Z = a && np(W) && W.dummy && !G, + V = np(t) && Object.hasOwnProperty.call(t, R.name) + if (Os(W)) { + const X = n.services.interpolator.interpolate(W, m, n.language) + P.push(X) + } else if (eA(W) || U) { + const X = f(W, R, y) + g(W, X, P, T) + } else if (Z) { + const X = b(C, R.children, y) + g(W, X, P, T) + } else if (Number.isNaN(parseFloat(R.name))) + if (V) { + const X = f(W, R, y) + g(W, X, P, T, R.voidElement) + } else if (o.transSupportBasicHtmlNodes && s.indexOf(R.name) > -1) + if (R.voidElement) P.push(k.createElement(R.name, { key: `${R.name}-${T}` })) + else { + const X = b(C, R.children, y) + P.push(k.createElement(R.name, { key: `${R.name}-${T}` }, X)) + } + else if (R.voidElement) P.push(`<${R.name} />`) + else { + const X = b(C, R.children, y) + P.push(`<${R.name}>${X}</${R.name}>`) + } + else if (np(W) && !G) { + const X = R.children[0] ? E : null + X && P.push(X) + } else g(W, E, P, T, R.children.length !== 1 || !E) + } else if (R.type === "text") { + const L = o.transWrapTextNodes, + W = i + ? o.unescape(n.services.interpolator.interpolate(R.content, m, n.language)) + : n.services.interpolator.interpolate(R.content, m, n.language) + L ? P.push(k.createElement(L, { key: `${R.name}-${T}` }, W)) : P.push(W) + } + return P + }, []) + }, + v = b([{ dummy: !0, children: t || [] }], u, Gm(t || [])) + return tA(v[0]) + }, + QW = (t, e, n) => { + const o = t.key || e, + r = k.cloneElement(t, { key: o }) + if (!r.props || !r.props.children || (n.indexOf(`${e}/>`) < 0 && n.indexOf(`${e} />`) < 0)) return r + function i() { + return k.createElement(k.Fragment, null, r) + } + return k.createElement(i, { key: o }) + }, + xft = (t, e) => t.map((n, o) => QW(n, o, e)), + wft = (t, e) => { + const n = {} + return ( + Object.keys(t).forEach((o) => { + Object.assign(n, { [o]: QW(t[o], o, e) }) + }), + n + ) + }, + _ft = (t, e, n, o) => + t + ? Array.isArray(t) + ? xft(t, e) + : np(t) + ? wft(t, e) + : (Dv(n, "TRANS_INVALID_COMPONENTS", '<Trans /> "components" prop expects an object or array', { + i18nKey: o, + }), + null) + : null +function Cft({ + children: t, + count: e, + parent: n, + i18nKey: o, + context: r, + tOptions: i = {}, + values: s, + defaults: a, + components: c, + ns: d, + i18n: u, + t: m, + shouldUnescape: f, + ...g +}) { + var W, G, U, Z, V, X + const b = u || Lj() + if (!b) + return ( + Dv(b, "NO_I18NEXT_INSTANCE", "Trans: You need to pass in an i18next instance using i18nextReactModule", { + i18nKey: o, + }), + t + ) + const v = m || b.t.bind(b) || ((H) => H), + w = { ...VW(), ...((W = b.options) == null ? void 0 : W.react) } + let _ = d || v.ns || ((G = b.options) == null ? void 0 : G.defaultNS) + _ = Os(_) ? [_] : _ || ["translation"] + const y = GW(t, w, b, o), + C = a || y || w.transEmptyNodeValue || o, + { hashTransKey: S } = w, + P = o || (S ? S(y || C) : y || C) + ;(Z = (U = b.options) == null ? void 0 : U.interpolation) != null && + Z.defaultVariables && + (s = + s && Object.keys(s).length > 0 + ? { ...s, ...b.options.interpolation.defaultVariables } + : { ...b.options.interpolation.defaultVariables }) + const R = + s || + (e !== void 0 && !((X = (V = b.options) == null ? void 0 : V.interpolation) != null && X.alwaysFormat)) || + !t + ? i.interpolation + : { interpolation: { ...i.interpolation, prefix: "#$?", suffix: "?$#" } }, + T = { ...i, context: r || i.context, count: e, ...s, ...R, defaultValue: C, ns: _ }, + E = P ? v(P, T) : C, + $ = _ft(c, E, b, o), + j = kft($ || t, E, b, w, T, f), + L = n ?? w.defaultTransParent + return L ? k.createElement(L, g, j) : j +} +const Sft = { + type: "3rdParty", + init(t) { + gft(t.options.react), vft(t) + }, + }, + ZW = k.createContext() +class Aft { + constructor() { + this.usedNamespaces = {} + } + addUsedNamespaces(e) { + e.forEach((n) => { + this.usedNamespaces[n] || (this.usedNamespaces[n] = !0) + }) + } + getUsedNamespaces() { + return Object.keys(this.usedNamespaces) + } +} +function Dt({ + children: t, + count: e, + parent: n, + i18nKey: o, + context: r, + tOptions: i = {}, + values: s, + defaults: a, + components: c, + ns: d, + i18n: u, + t: m, + shouldUnescape: f, + ...g +}) { + var y + const { i18n: b, defaultNS: v } = k.useContext(ZW) || {}, + w = u || b || Lj(), + _ = m || (w == null ? void 0 : w.t.bind(w)) + return Cft({ + children: t, + count: e, + parent: n, + i18nKey: o, + context: r, + tOptions: i, + values: s, + defaults: a, + components: c, + ns: + d || + (_ == null ? void 0 : _.ns) || + v || + ((y = w == null ? void 0 : w.options) == null ? void 0 : y.defaultNS), + i18n: w, + t: m, + shouldUnescape: f, + ...g, + }) +} +const Pft = (t, e) => { + const n = k.useRef() + return ( + k.useEffect(() => { + n.current = t + }, [t, e]), + n.current + ) + }, + YW = (t, e, n, o) => t.getFixedT(e, n, o), + Rft = (t, e, n, o) => k.useCallback(YW(t, e, n, o), [t, e, n, o]), + to = (t, e = {}) => { + var S, P, R, T + const { i18n: n } = e, + { i18n: o, defaultNS: r } = k.useContext(ZW) || {}, + i = n || o || Lj() + if ((i && !i.reportNamespaces && (i.reportNamespaces = new Aft()), !i)) { + Dv( + i, + "NO_I18NEXT_INSTANCE", + "useTranslation: You will need to pass in an i18next instance by using initReactI18next", + ) + const E = (j, L) => + Os(L) ? L : np(L) && Os(L.defaultValue) ? L.defaultValue : Array.isArray(j) ? j[j.length - 1] : j, + $ = [E, {}, !1] + return ($.t = E), ($.i18n = {}), ($.ready = !1), $ + } + ;(S = i.options.react) != null && + S.wait && + Dv( + i, + "DEPRECATED_OPTION", + "useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.", + ) + const s = { ...VW(), ...i.options.react, ...e }, + { useSuspense: a, keyPrefix: c } = s + let d = t || r || ((P = i.options) == null ? void 0 : P.defaultNS) + ;(d = Os(d) ? [d] : d || ["translation"]), + (T = (R = i.reportNamespaces).addUsedNamespaces) == null || T.call(R, d) + const u = (i.isInitialized || i.initializedStoreOnce) && d.every((E) => dft(E, i, s)), + m = Rft(i, e.lng || null, s.nsMode === "fallback" ? d : d[0], c), + f = () => m, + g = () => YW(i, e.lng || null, s.nsMode === "fallback" ? d : d[0], c), + [b, v] = k.useState(f) + let w = d.join() + e.lng && (w = `${e.lng}${w}`) + const _ = Pft(w), + y = k.useRef(!0) + k.useEffect(() => { + const { bindI18n: E, bindI18nStore: $ } = s + ;(y.current = !0), + !u && + !a && + (e.lng + ? LN(i, e.lng, d, () => { + y.current && v(g) + }) + : o1(i, d, () => { + y.current && v(g) + })), + u && _ && _ !== w && y.current && v(g) + const j = () => { + y.current && v(g) + } + return ( + E && (i == null || i.on(E, j)), + $ && (i == null || i.store.on($, j)), + () => { + ;(y.current = !1), + i && (E == null || E.split(" ").forEach((L) => i.off(L, j))), + $ && i && $.split(" ").forEach((L) => i.store.off(L, j)) + } + ) + }, [i, w]), + k.useEffect(() => { + y.current && u && v(f) + }, [i, c, u]) + const C = [b, i, u] + if (((C.t = b), (C.i18n = i), (C.ready = u), u || (!u && !a))) return C + throw new Promise((E) => { + e.lng ? LN(i, e.lng, d, () => E()) : o1(i, d, () => E()) + }) + }, + Tft = (t, e = {}) => + function (o) { + function r({ forwardedRef: s, ...a }) { + const [c, d, u] = to(t, { ...a, keyPrefix: e.keyPrefix }), + m = { ...a, t: c, i18n: d, tReady: u } + return e.withRef && s ? (m.ref = s) : !e.withRef && s && (m.forwardedRef = s), k.createElement(o, m) + } + ;(r.displayName = `withI18nextTranslation(${uft(o)})`), (r.WrappedComponent = o) + const i = (s, a) => k.createElement(r, Object.assign({}, s, { forwardedRef: a })) + return e.withRef ? k.forwardRef(i) : r + }, + XW = "Compte", + JW = "Imatge de perfil", + eK = "Tancar sessió", + tK = "Provar autenticació d'API", + nK = "Connecta't a Roo Code Cloud", + oK = "Connecta", + rK = "Connecta't a Roo Code Cloud", + iK = "Sincronitza els teus prompts i telemetria per habilitar:", + sK = "Historial de tasques en línia", + aK = "Funcions de compartició i col·laboració", + lK = "Mètriques d'ús basades en tasques, tokens i costos", + cK = "Segueix i controla tasques des de qualsevol lloc amb Roomote Control", + dK = "Roomote Control", + uK = "Permet seguir i interactuar amb tasques en aquest espai de treball amb Roo Code Cloud", + pK = "Visita Roo Code Cloud", + Ift = { + title: XW, + profilePicture: JW, + logOut: eK, + testApiAuthentication: tK, + signIn: nK, + connect: oK, + cloudBenefitsTitle: rK, + cloudBenefitsSubtitle: iK, + cloudBenefitHistory: sK, + cloudBenefitSharing: aK, + cloudBenefitMetrics: lK, + cloudBenefitWalkaway: cK, + remoteControl: dK, + remoteControlDescription: uK, + visitCloudWebsite: pK, + }, + Mft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: sK, + cloudBenefitMetrics: lK, + cloudBenefitSharing: aK, + cloudBenefitWalkaway: cK, + cloudBenefitsSubtitle: iK, + cloudBenefitsTitle: rK, + connect: oK, + default: Ift, + logOut: eK, + profilePicture: JW, + remoteControl: dK, + remoteControlDescription: uK, + signIn: nK, + testApiAuthentication: tK, + title: XW, + visitCloudWebsite: pK, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + mK = "Benvingut a Roo Code", + hK = { + title: "Tasca", + seeMore: "Veure més", + seeLess: "Veure menys", + tokens: "Tokens:", + cache: "Caché:", + apiCost: "Cost d'API:", + contextWindow: "Finestra de context:", + closeAndStart: "Tancar tasca i iniciar-ne una de nova", + export: "Exportar historial de tasques", + delete: "Eliminar tasca (Shift + Clic per ometre confirmació)", + condenseContext: "Condensar context de forma intel·ligent", + share: "Compartir tasca", + shareWithOrganization: "Compartir amb l'organització", + shareWithOrganizationDescription: "Només els membres de la teva organització poden accedir", + sharePublicly: "Compartir públicament", + sharePubliclyDescription: "Qualsevol amb l'enllaç pot accedir", + connectToCloud: "Connecta al núvol", + connectToCloudDescription: "Inicia sessió a Roo Code Cloud per compartir tasques", + sharingDisabledByOrganization: "Compartició deshabilitada per l'organització", + shareSuccessOrganization: "Enllaç d'organització copiat al porta-retalls", + shareSuccessPublic: "Enllaç públic copiat al porta-retalls", + }, + fK = "Desfixar", + gK = "Fixar", + vK = { + availableSpace: "Espai disponible: {{amount}} tokens", + tokensUsed: "Tokens utilitzats: {{used}} de {{total}}", + reservedForResponse: "Reservat per a resposta del model: {{amount}} tokens", + }, + bK = { title: "Tornar a intentar", tooltip: "Torna a provar l'operació" }, + yK = { title: "Començar una nova tasca", tooltip: "Comença una nova tasca" }, + kK = { title: "Continuar de totes maneres", tooltip: "Continua mentre s'executa l'ordre" }, + xK = { title: "Desar", tooltip: "Desa els canvis del missatge" }, + wK = { title: "Rebutjar", tooltip: "Rebutja aquesta acció" }, + _K = "Completar la subtasca i tornar", + CK = { title: "Aprovar", tooltip: "Aprova aquesta acció" }, + SK = { title: "Executar ordre", tooltip: "Executa aquesta ordre" }, + AK = { title: "Continuar mentre s'executa", tooltip: "Continua malgrat els advertiments" }, + PK = { title: "Atura l'ordre", tooltip: "Atura l'ordre actual" }, + RK = { title: "Reprendre la tasca", tooltip: "Repren la tasca actual" }, + TK = { title: "Finalitzar", tooltip: "Finalitza la tasca actual" }, + IK = { title: "Cancel·lar", tooltip: "Cancel·la l'operació actual" }, + MK = "Desplaça't al final del xat", + jK = + "Genera, refactoritza i depura codi amb l'ajuda de la IA. Consulta la nostra <DocsLink>documentació</DocsLink> per obtenir més informació.", + EK = `<strong> La vostra llista de tasques en aquest espai de treball està buida. </strong> Comença escrivint una tasca a continuació. +No esteu segur per on començar? +Més informació sobre què pot fer Roo als documents.`, + zK = { + boomerangTasks: { + title: "Orquestració de Tasques", + description: "Divideix les tasques en parts més petites i manejables.", + }, + stickyModels: { title: "Modes persistents", description: "Cada mode recorda el vostre darrer model utilitzat" }, + tools: { + title: "Eines", + description: "Permet que la IA resolgui problemes navegant per la web, executant ordres i molt més.", + }, + customizableModes: { + title: "Modes personalitzables", + description: "Personalitats especialitzades amb comportaments propis i models assignats", + }, + }, + $K = "Selecciona el mode d'interacció", + LK = "Seleccioneu la configuració de l'API", + DK = "Millora la sol·licitud amb context addicional", + NK = "Afegeix imatges al missatge", + OK = "Envia el missatge", + FK = "Atura la síntesi de veu", + BK = "Escriu un missatge...", + UK = "Escriu la teva tasca aquí...", + qK = "@ per afegir context, / per a comandes", + WK = "manté premut shift per arrossegar fitxers", + KK = "manté premut shift per arrossegar fitxers/imatges", + VK = + "El botó 'Millora la sol·licitud' ajuda a millorar la teva sol·licitud proporcionant context addicional, aclariments o reformulacions. Prova d'escriure una sol·licitud aquí i fes clic al botó de nou per veure com funciona.", + HK = { + title: "Modes", + marketplace: "Marketplace de Modes", + settings: "Configuració de Modes", + description: "Personalitats especialitzades que adapten el comportament de Roo.", + searchPlaceholder: "Cerca modes...", + noResults: "No s'han trobat resultats", + }, + GK = "Error en llegir el fitxer:", + QK = "No s'ha processat cap imatge vàlida", + ZK = "Separador", + YK = "Edita...", + XK = "per al següent mode", + JK = "per al mode anterior", + eV = "Error", + tV = { title: "Edició fallida" }, + nV = "Roo està tenint problemes...", + oV = { + title: "Sol·licitud API", + failed: "Sol·licitud API ha fallat", + streaming: "Sol·licitud API...", + cancelled: "Sol·licitud API cancel·lada", + streamingFailed: "Transmissió API ha fallat", + }, + rV = { + regular: "Punt de control", + initializingWarning: + "Encara s'està inicialitzant el punt de control... Si això triga massa, pots desactivar els punts de control a la <settingsLink>configuració</settingsLink> i reiniciar la teva tasca.", + menu: { + viewDiff: "Veure diferències", + restore: "Restaurar punt de control", + restoreFiles: "Restaurar arxius", + restoreFilesDescription: "Restaura els arxius del teu projecte a una instantània presa en aquest punt.", + restoreFilesAndTask: "Restaurar arxius i tasca", + confirm: "Confirmar", + cancel: "Cancel·lar", + cannotUndo: "Aquesta acció no es pot desfer.", + restoreFilesAndTaskDescription: + "Restaura els arxius del teu projecte a una instantània presa en aquest punt i elimina tots els missatges posteriors a aquest punt.", + }, + current: "Actual", + }, + iV = { wantsToFetch: "Roo vol obtenir instruccions detallades per ajudar amb la tasca actual." }, + sV = { + wantsToRead: "Roo vol llegir aquest fitxer:", + wantsToReadOutsideWorkspace: "Roo vol llegir aquest fitxer fora de l'espai de treball:", + didRead: "Roo ha llegit aquest fitxer:", + wantsToEdit: "Roo vol editar aquest fitxer:", + wantsToEditOutsideWorkspace: "Roo vol editar aquest fitxer fora de l'espai de treball:", + wantsToEditProtected: "Roo vol editar un fitxer de configuració protegit:", + wantsToCreate: "Roo vol crear un nou fitxer:", + wantsToSearchReplace: "Roo vol realitzar cerca i substitució en aquest fitxer:", + didSearchReplace: "Roo ha realitzat cerca i substitució en aquest fitxer:", + wantsToInsert: "Roo vol inserir contingut en aquest fitxer:", + wantsToInsertWithLineNumber: "Roo vol inserir contingut a la línia {{lineNumber}} d'aquest fitxer:", + wantsToInsertAtEnd: "Roo vol afegir contingut al final d'aquest fitxer:", + wantsToReadAndXMore: "En Roo vol llegir aquest fitxer i {{count}} més:", + wantsToReadMultiple: "Roo vol llegir diversos fitxers:", + wantsToApplyBatchChanges: "Roo vol aplicar canvis a múltiples fitxers:", + }, + aV = { + wantsToViewTopLevel: "Roo vol veure els fitxers de nivell superior en aquest directori:", + didViewTopLevel: "Roo ha vist els fitxers de nivell superior en aquest directori:", + wantsToViewRecursive: "Roo vol veure recursivament tots els fitxers en aquest directori:", + didViewRecursive: "Roo ha vist recursivament tots els fitxers en aquest directori:", + wantsToViewDefinitions: "Roo vol veure noms de definicions de codi font utilitzats en aquest directori:", + didViewDefinitions: "Roo ha vist noms de definicions de codi font utilitzats en aquest directori:", + wantsToSearch: "Roo vol cercar en aquest directori <code>{{regex}}</code>:", + didSearch: "Roo ha cercat en aquest directori <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo vol cercar en aquest directori (fora de l'espai de treball) <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo ha cercat en aquest directori (fora de l'espai de treball) <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo vol veure els fitxers de nivell superior en aquest directori (fora de l'espai de treball):", + didViewTopLevelOutsideWorkspace: + "Roo ha vist els fitxers de nivell superior en aquest directori (fora de l'espai de treball):", + wantsToViewRecursiveOutsideWorkspace: + "Roo vol veure recursivament tots els fitxers en aquest directori (fora de l'espai de treball):", + didViewRecursiveOutsideWorkspace: + "Roo ha vist recursivament tots els fitxers en aquest directori (fora de l'espai de treball):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo vol veure noms de definicions de codi font utilitzats en aquest directori (fora de l'espai de treball):", + didViewDefinitionsOutsideWorkspace: + "Roo ha vist noms de definicions de codi font utilitzats en aquest directori (fora de l'espai de treball):", + }, + lV = "Sortida de l'ordre", + cV = { + running: "Executant", + pid: "PID: {{pid}}", + exited: "Finalitzat ({{exitCode}})", + manageCommands: "Gestiona els permisos de les ordres", + commandManagementDescription: + "Gestiona els permisos de les ordres: Fes clic a ✓ per permetre l'execució automàtica, ✗ per denegar l'execució. Els patrons es poden activar/desactivar o eliminar de les llistes. <settingsLink>Mostra tots els paràmetres</settingsLink>", + addToAllowed: "Afegeix a la llista de permesos", + removeFromAllowed: "Elimina de la llista de permesos", + addToDenied: "Afegeix a la llista de denegats", + removeFromDenied: "Elimina de la llista de denegats", + abortCommand: "Interromp l'execució de l'ordre", + expandOutput: "Amplia la sortida", + collapseOutput: "Redueix la sortida", + expandManagement: "Amplia la secció de gestió d'ordres", + collapseManagement: "Redueix la secció de gestió d'ordres", + }, + dV = "Resposta", + uV = { + wantsToUseTool: "Roo vol utilitzar una eina al servidor MCP {{serverName}}:", + wantsToAccessResource: "Roo vol accedir a un recurs al servidor MCP {{serverName}}:", + }, + pV = { + wantsToSwitch: "Roo vol canviar a mode <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo vol canviar a mode <code>{{mode}}</code> perquè: {{reason}}", + didSwitch: "Roo ha canviat a mode <code>{{mode}}</code>", + didSwitchWithReason: "Roo ha canviat a mode <code>{{mode}}</code> perquè: {{reason}}", + }, + mV = { + wantsToCreate: "Roo vol crear una nova subtasca en mode <code>{{mode}}</code>:", + wantsToFinish: "Roo vol finalitzar aquesta subtasca", + newTaskContent: "Instruccions de la subtasca", + completionContent: "Subtasca completada", + resultContent: "Resultats de la subtasca", + defaultResult: "Si us plau, continua amb la següent tasca.", + completionInstructions: + "Subtasca completada! Pots revisar els resultats i suggerir correccions o següents passos. Si tot sembla correcte, confirma per tornar el resultat a la tasca principal.", + }, + hV = { hasQuestion: "Roo té una pregunta:" }, + fV = "Tasca completada", + gV = { + issues: "Sembla que estàs tenint problemes amb Windows PowerShell, si us plau consulta aquesta documentació per a més informació.", + }, + vV = { + title: "Aprovació automàtica:", + none: "Cap", + description: + "L'aprovació automàtica permet a Roo Code realitzar accions sense demanar permís. Activa-la només per a accions en les que confies plenament. Configuració més detallada disponible a la <settingsLink>Configuració</settingsLink>.", + selectOptionsFirst: "Selecciona almenys una opció a continuació per activar l'aprovació automàtica", + toggleAriaLabel: "Commuta l'aprovació automàtica", + disabledAriaLabel: "Aprovació automàtica desactivada: seleccioneu primer les opcions", + }, + bV = { thinking: "Pensant", seconds: "{{count}}s" }, + yV = { + title: "Context condensat", + condensing: "Condensant context...", + errorHeader: "Error en condensar el context", + tokens: "tokens", + }, + kV = { + copyToInput: "Copiar a l'entrada (o Shift + clic)", + autoSelectCountdown: "Selecció automàtica en {{count}}s", + countdownDisplay: "{{count}}s", + }, + xV = { + title: "🎉 Roo Code {{version}} Llançat", + description: + "Roo Code {{version}} porta noves funcions potents i millores significatives per millorar el vostre flux de treball de desenvolupament.", + whatsNew: "Novetats", + feature1: + "<bold>Cua de Missatges</bold>: Posa en cua múltiples missatges mentre Roo està treballant, permetent-te continuar planificant el teu flux de treball sense interrupcions.", + feature2: + "<bold>Comandaments de Barra Personalitzats</bold>: Crea comandaments de barra personalitzats per a accés ràpid a prompts i fluxos de treball utilitzats freqüentment, amb gestió completa de la interfície d'usuari.", + feature3: + "<bold>Eines Gemini Millorades</bold>: Noves capacitats de context d'URL i fonamentació de cerca de Google proporcionen als models Gemini informació web en temps real i capacitats de recerca millorades.", + hideButton: "Amaga l'anunci", + detailsDiscussLinks: + "Obtén més detalls i uneix-te a les discussions a <discordLink>Discord</discordLink> i <redditLink>Reddit</redditLink> 🚀", + }, + wV = { + rooWantsToUse: "Roo vol utilitzar el navegador:", + consoleLogs: "Registres de consola", + noNewLogs: "(Cap registre nou)", + screenshot: "Captura de pantalla del navegador", + cursor: "cursor", + navigation: { step: "Pas {{current}} de {{total}}", previous: "Anterior", next: "Següent" }, + sessionStarted: "Sessió de navegador iniciada", + actions: { + title: "Acció de navegació: ", + launch: "Iniciar navegador a {{url}}", + click: "Clic ({{coordinate}})", + type: 'Escriure "{{text}}"', + scrollDown: "Desplaçar avall", + scrollUp: "Desplaçar amunt", + close: "Tancar navegador", + }, + }, + _V = { + tooltips: { + expand: "Expandir bloc de codi", + collapse: "Contraure bloc de codi", + enable_wrap: "Activar ajustament de línia", + disable_wrap: "Desactivar ajustament de línia", + copy_code: "Copiar codi", + }, + }, + CV = + "ADVERTÈNCIA: S'ha activat una substitució personalitzada d'instruccions del sistema. Això pot trencar greument la funcionalitat i causar un comportament impredictible.", + SV = "El perfil actual no és compatible amb la configuració de la teva organització", + AV = { + title: "Advertència d'execució d'ordres", + description: + "La teva ordre s'està executant sense la integració de shell del terminal VSCode. Per suprimir aquest advertiment, pots desactivar la integració de shell a la secció <strong>Terminal</strong> de la <settingsLink>configuració de Roo Code</settingsLink> o solucionar problemes d'integració del terminal VSCode utilitzant l'enllaç a continuació.", + troubleshooting: "Fes clic aquí per a la documentació d'integració de shell.", + }, + PV = { + autoApprovedRequestLimitReached: { + title: "S'ha arribat al límit de sol·licituds aprovades automàticament", + description: + "Roo ha arribat al límit aprovat automàticament de {{count}} sol·licitud(s) d'API. Vols reiniciar el comptador i continuar amb la tasca?", + button: "Reiniciar i continuar", + }, + autoApprovedCostLimitReached: { + title: "S'ha arribat al límit de cost d'aprovació automàtica", + button: "Restableix i continua", + description: + "Roo ha arribat al límit de cost aprovat automàticament de ${{count}}. Vols restablir el cost i continuar amb la tasca?", + }, + }, + RV = { + wantsToSearch: "Roo vol cercar a la base de codi <code>{{query}}</code>:", + wantsToSearchWithPath: "Roo vol cercar a la base de codi <code>{{query}}</code> a <code>{{path}}</code>:", + didSearch_one: "S'ha trobat 1 resultat", + didSearch_other: "S'han trobat {{count}} resultats", + resultTooltip: "Puntuació de similitud: {{score}} (fes clic per obrir el fitxer)", + }, + TV = { + ready: "Índex preparat", + indexing: "Indexant {{percentage}}%", + indexed: "Indexat", + error: "Error d'índex", + status: "Estat de l'índex", + }, + IV = { ariaLabel: "Versió {{version}} - Feu clic per veure les notes de llançament" }, + MV = { + title: "Roo Code Cloud arribarà aviat!", + description: + "Executa agents remots al núvol, accedeix a les teves tasques des de qualsevol lloc, col·labora amb altres i molt més.", + joinWaitlist: "Uneix-te a la llista d'espera per obtenir accés anticipat.", + }, + jV = { placeholder: "Edita el teu missatge..." }, + EV = { triggerDescription: "Activa la comanda {{name}}" }, + zV = { + tooltip: "Gestionar ordres de barra", + title: "Ordres de Barra", + description: + "Crea ordres de barra personalitzades per accedir ràpidament a indicacions i fluxos de treball utilitzats amb freqüència. <DocsLink>Documentació</DocsLink>", + globalCommands: "Ordres Globals", + workspaceCommands: "Ordres de l'Espai de Treball", + globalCommand: "Ordre global", + editCommand: "Editar ordre", + deleteCommand: "Eliminar ordre", + newGlobalCommandPlaceholder: "Nova ordre global...", + newWorkspaceCommandPlaceholder: "Nova ordre de l'espai de treball...", + deleteDialog: { + title: "Eliminar Ordre", + description: `Estàs segur que vols eliminar l'ordre "{{name}}"? Aquesta acció no es pot desfer.`, + cancel: "Cancel·lar", + confirm: "Eliminar", + }, + }, + $V = { title: "Missatges en cua:", clickToEdit: "Feu clic per editar el missatge" }, + jft = { + greeting: mK, + task: hK, + unpin: fK, + pin: gK, + tokenProgress: vK, + retry: bK, + startNewTask: yK, + proceedAnyways: kK, + save: xK, + reject: wK, + completeSubtaskAndReturn: _K, + approve: CK, + runCommand: SK, + proceedWhileRunning: AK, + killCommand: PK, + resumeTask: RK, + terminate: TK, + cancel: IK, + scrollToBottom: MK, + about: jK, + onboarding: EK, + rooTips: zK, + selectMode: $K, + selectApiConfig: LK, + enhancePrompt: DK, + addImages: NK, + sendMessage: OK, + stopTts: FK, + typeMessage: BK, + typeTask: UK, + addContext: qK, + dragFiles: WK, + dragFilesImages: KK, + enhancePromptDescription: VK, + modeSelector: HK, + errorReadingFile: GK, + noValidImages: QK, + separator: ZK, + edit: YK, + forNextMode: XK, + forPreviousMode: JK, + error: eV, + diffError: tV, + troubleMessage: nV, + apiRequest: oV, + checkpoint: rV, + instructions: iV, + fileOperations: sV, + directoryOperations: aV, + commandOutput: lV, + commandExecution: cV, + response: dV, + arguments: "Arguments", + mcp: uV, + modes: pV, + subtasks: mV, + questions: hV, + taskCompleted: fV, + powershell: gV, + autoApprove: vV, + reasoning: bV, + contextCondense: yV, + followUpSuggest: kV, + announcement: xV, + browser: wV, + codeblock: _V, + systemPromptWarning: CV, + profileViolationWarning: SV, + shellIntegration: AV, + ask: PV, + codebaseSearch: RV, + "read-batch": { approve: { title: "Aprovar tot" }, deny: { title: "Denegar tot" } }, + indexingStatus: TV, + versionIndicator: IV, + rooCloudCTA: MV, + editMessage: jV, + command: EV, + slashCommands: zV, + queuedMessages: $V, + }, + Eft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: jK, + addContext: qK, + addImages: NK, + announcement: xV, + apiRequest: oV, + approve: CK, + ask: PV, + autoApprove: vV, + browser: wV, + cancel: IK, + checkpoint: rV, + codebaseSearch: RV, + codeblock: _V, + command: EV, + commandExecution: cV, + commandOutput: lV, + completeSubtaskAndReturn: _K, + contextCondense: yV, + default: jft, + diffError: tV, + directoryOperations: aV, + dragFiles: WK, + dragFilesImages: KK, + edit: YK, + editMessage: jV, + enhancePrompt: DK, + enhancePromptDescription: VK, + error: eV, + errorReadingFile: GK, + fileOperations: sV, + followUpSuggest: kV, + forNextMode: XK, + forPreviousMode: JK, + greeting: mK, + indexingStatus: TV, + instructions: iV, + killCommand: PK, + mcp: uV, + modeSelector: HK, + modes: pV, + noValidImages: QK, + onboarding: EK, + pin: gK, + powershell: gV, + proceedAnyways: kK, + proceedWhileRunning: AK, + profileViolationWarning: SV, + questions: hV, + queuedMessages: $V, + reasoning: bV, + reject: wK, + response: dV, + resumeTask: RK, + retry: bK, + rooCloudCTA: MV, + rooTips: zK, + runCommand: SK, + save: xK, + scrollToBottom: MK, + selectApiConfig: LK, + selectMode: $K, + sendMessage: OK, + separator: ZK, + shellIntegration: AV, + slashCommands: zV, + startNewTask: yK, + stopTts: FK, + subtasks: mV, + systemPromptWarning: CV, + task: hK, + taskCompleted: fV, + terminate: TK, + tokenProgress: vK, + troubleMessage: nV, + typeMessage: BK, + typeTask: UK, + unpin: fK, + versionIndicator: IV, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + LV = { + title: "Alguna cosa ha anat malament", + reportText: "Si us plau, ajuda'ns a millorar informant d'aquest error a", + githubText: "la nostra pàgina d'incidències de GitHub", + copyInstructions: + "Copia i enganxa el següent missatge d'error per incloure'l com a part de la teva presentació:", + errorStack: "Pila d'errors:", + componentStack: "Pila de components:", + }, + DV = { yes: "Sí", no: "No", cancel: "Cancel·lar", remove: "Eliminar", keep: "Mantenir" }, + NV = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + OV = { search_placeholder: "Cerca...", no_results: "No s'han trobat resultats" }, + FV = { + loading: "Generant diagrama mermaid...", + render_error: "No es pot renderitzar el diagrama", + buttons: { + zoom: "Zoom", + zoomIn: "Ampliar", + zoomOut: "Reduir", + copy: "Copiar", + save: "Desar imatge", + viewCode: "Veure codi", + viewDiagram: "Veure diagrama", + close: "Tancar", + }, + modal: { codeTitle: "Codi Mermaid" }, + tabs: { diagram: "Diagrama", code: "Codi" }, + feedback: { imageCopied: "Imatge copiada al porta-retalls", copyError: "Error copiant la imatge" }, + }, + BV = { + errors: { + invalidDataUri: "Format d'URI de dades no vàlid", + copyingImage: "Error copiant la imatge: {{error}}", + openingImage: "Error obrint la imatge: {{error}}", + pathNotExists: "El camí no existeix: {{path}}", + couldNotOpen: "No s'ha pogut obrir el fitxer: {{error}}", + couldNotOpenGeneric: "No s'ha pogut obrir el fitxer!", + }, + success: { imageDataUriCopied: "URI de dades de la imatge copiada al porta-retalls" }, + }, + UV = { + deleteMessage: "Eliminar missatge", + deleteWarning: + "Eliminar aquest missatge eliminarà tots els missatges posteriors de la conversa. Vols continuar?", + editMessage: "Editar missatge", + editWarning: "Editar aquest missatge eliminarà tots els missatges posteriors de la conversa. Vols continuar?", + proceed: "Continuar", + }, + zft = { errorBoundary: LV, answers: DV, number_format: NV, ui: OV, mermaid: FV, file: BV, confirmation: UV }, + $ft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: DV, + confirmation: UV, + default: zft, + errorBoundary: LV, + file: BV, + mermaid: FV, + number_format: NV, + ui: OV, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + qV = "Tasques", + WV = "Veure tot", + KV = "Tokens: ↑{{in}} ↓{{out}}", + VV = "Cau: +{{writes}} → {{reads}}", + HV = "Cost d'API: ${{cost}}", + GV = "Historial", + QV = "Sortir del mode de selecció", + ZV = "Entrar en mode de selecció", + YV = "Fet", + XV = "Cerca a l'historial...", + JV = "Més recents", + e6 = "Més antigues", + t6 = "Més cares", + n6 = "Més tokens", + o6 = "Més rellevants", + r6 = "Eliminar tasca (Maj + Clic per ometre confirmació)", + i6 = "Tokens:", + s6 = "Cau:", + a6 = "Cost d'API:", + l6 = "Copiar prompt", + c6 = "Exportar tasca", + d6 = "Eliminar tasca", + u6 = "Estàs segur que vols eliminar aquesta tasca? Aquesta acció no es pot desfer.", + p6 = "Cancel·lar", + m6 = "Sortir de la selecció", + h6 = "Mode de selecció", + f6 = "Desseleccionar tot", + g6 = "Seleccionar tot", + v6 = "{{selected}}/{{total}} elements seleccionats", + b6 = "Netejar selecció", + y6 = "Eliminar seleccionats", + k6 = "Eliminar tasques", + x6 = "Estàs segur que vols eliminar {{count}} tasques?", + w6 = "Les tasques eliminades no es poden recuperar. Si us plau, assegura't que vols continuar.", + _6 = "Eliminar {{count}} elements", + C6 = { prefix: "Espai de treball:", current: "Actual", all: "Tots" }, + S6 = { + prefix: "Ordenar:", + newest: "Més recents", + oldest: "Més antigues", + mostExpensive: "Més cares", + mostTokens: "Més tokens", + mostRelevant: "Més rellevants", + }, + A6 = "Veure totes les tasques", + Lft = { + recentTasks: qV, + viewAll: WV, + tokens: KV, + cache: VV, + apiCost: HV, + history: GV, + exitSelectionMode: QV, + enterSelectionMode: ZV, + done: YV, + searchPlaceholder: XV, + newest: JV, + oldest: e6, + mostExpensive: t6, + mostTokens: n6, + mostRelevant: o6, + deleteTaskTitle: r6, + tokensLabel: i6, + cacheLabel: s6, + apiCostLabel: a6, + copyPrompt: l6, + exportTask: c6, + deleteTask: d6, + deleteTaskMessage: u6, + cancel: p6, + delete: "Eliminar", + exitSelection: m6, + selectionMode: h6, + deselectAll: f6, + selectAll: g6, + selectedItems: v6, + clearSelection: b6, + deleteSelected: y6, + deleteTasks: k6, + confirmDeleteTasks: x6, + deleteTasksWarning: w6, + deleteItems: _6, + workspace: C6, + sort: S6, + viewAllHistory: A6, + }, + Dft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + apiCost: HV, + apiCostLabel: a6, + cache: VV, + cacheLabel: s6, + cancel: p6, + clearSelection: b6, + confirmDeleteTasks: x6, + copyPrompt: l6, + default: Lft, + deleteItems: _6, + deleteSelected: y6, + deleteTask: d6, + deleteTaskMessage: u6, + deleteTaskTitle: r6, + deleteTasks: k6, + deleteTasksWarning: w6, + deselectAll: f6, + done: YV, + enterSelectionMode: ZV, + exitSelection: m6, + exitSelectionMode: QV, + exportTask: c6, + history: GV, + mostExpensive: t6, + mostRelevant: o6, + mostTokens: n6, + newest: JV, + oldest: e6, + recentTasks: qV, + searchPlaceholder: XV, + selectAll: g6, + selectedItems: v6, + selectionMode: h6, + sort: S6, + tokens: KV, + tokensLabel: i6, + viewAll: WV, + viewAllHistory: A6, + workspace: C6, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + P6 = "Relé Humà - Si us plau, ajudeu a copiar/enganxar informació", + R6 = + "Si us plau, copieu el següent prompt a la IA web, després enganxeu la resposta de la IA al quadre d'entrada de sota.", + T6 = "Copiat al porta-retalls", + I6 = { label: "Si us plau, introduïu la resposta de la IA:", placeholder: "Enganxeu aquí la resposta de la IA..." }, + M6 = { cancel: "Cancel·lar", submit: "Enviar" }, + Nft = { dialogTitle: P6, dialogDescription: R6, copiedToClipboard: T6, aiResponse: I6, actions: M6 }, + Oft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: M6, + aiResponse: I6, + copiedToClipboard: T6, + default: Nft, + dialogDescription: R6, + dialogTitle: P6, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + j6 = "Roo Marketplace", + E6 = { installed: "Instal·lat", settings: "Configuració", browse: "Navegar" }, + z6 = "Fet", + $6 = "Actualitzar", + L6 = { + search: { + placeholder: "Cercar elements del marketplace...", + placeholderMcp: "Cercar MCPs...", + placeholderMode: "Cercar modes...", + }, + type: { label: "Filtrar per tipus:", all: "Tots els tipus", mode: "Mode", mcpServer: "Servidor MCP" }, + sort: { label: "Ordenar per:", name: "Nom", author: "Autor", lastUpdated: "Última actualització" }, + tags: { + label: "Filtrar per etiquetes:", + clear: "Netejar etiquetes", + placeholder: "Escriu per cercar i seleccionar etiquetes...", + noResults: "No s'han trobat etiquetes coincidents", + selected: "Mostrant elements amb qualsevol de les etiquetes seleccionades", + clickToFilter: "Feu clic a les etiquetes per filtrar elements", + }, + none: "Cap", + }, + D6 = { organizationMcps: "MCPs de {{organization}}", marketplace: "Mercat" }, + N6 = { + empty: { + noItems: "No s'han trobat elements del marketplace", + withFilters: "Prova d'ajustar els filtres", + noSources: "Prova d'afegir una font a la pestanya Fonts", + adjustFilters: "Prova d'ajustar els filtres o termes de cerca", + clearAllFilters: "Netejar tots els filtres", + }, + count: "{{count}} elements trobats", + components: "{{count}} components", + matched: "{{count}} coincidents", + refresh: { button: "Actualitzar", refreshing: "Actualitzant...", mayTakeMoment: "Això pot trigar un moment." }, + card: { + by: "per {{author}}", + from: "de {{source}}", + install: "Instal·lar", + installProject: "Instal·lar", + installGlobal: "Instal·lar (Global)", + remove: "Eliminar", + removeProject: "Eliminar", + removeGlobal: "Eliminar (Global)", + viewSource: "Veure", + viewOnSource: "Veure a {{source}}", + noWorkspaceTooltip: "Obre un espai de treball per instal·lar elements del marketplace", + installed: "Instal·lat", + removeProjectTooltip: "Eliminar del projecte actual", + removeGlobalTooltip: "Eliminar de la configuració global", + actionsMenuLabel: "Més accions", + official: "Oficial", + verified: "Verificat", + }, + removeFailed: "No s'ha pogut eliminar l'element: {{error}}", + unknownError: "S'ha produït un error desconegut", + }, + O6 = { + title: "Instal·lar {{name}}", + titleMode: "Instal·lar mode {{name}}", + titleMcp: "Instal·lar MCP {{name}}", + scope: "Àmbit d'instal·lació", + project: "Projecte (espai de treball actual)", + global: "Global (tots els espais de treball)", + method: "Mètode d'instal·lació", + configuration: "Configuració", + configurationDescription: "Configura els paràmetres necessaris per a aquest servidor MCP", + button: "Instal·lar", + successTitle: "{{name}} instal·lat", + successDescription: "Instal·lació completada amb èxit", + installed: "Instal·lat amb èxit!", + whatNextMcp: + "Ara pots configurar i utilitzar aquest servidor MCP. Feu clic a la icona MCP de la barra lateral per canviar de pestanya.", + whatNextMode: + "Ara pots utilitzar aquest mode. Feu clic a la icona Modes de la barra lateral per canviar de pestanya.", + done: "Fet", + goToMcp: "Anar a la pestanya MCP", + goToModes: "Anar a la configuració de Modes", + moreInfoMcp: "Veure documentació MCP de {{name}}", + validationRequired: "Si us plau, proporciona un valor per a {{paramName}}", + prerequisites: "Prerequisits", + }, + F6 = { + title: "Configurar fonts del marketplace", + description: + "Afegeix repositoris Git que continguin elements del marketplace. Aquests repositoris es recuperaran quan navegueu pel marketplace.", + add: { + title: "Afegir nova font", + urlPlaceholder: "URL del repositori Git (p. ex., https://github.com/username/repo)", + urlFormats: + "Formats compatibles: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), o protocol Git (git://github.com/username/repo.git)", + namePlaceholder: "Nom de visualització (màx. 20 caràcters)", + button: "Afegir font", + }, + current: { + title: "Fonts actuals", + empty: "No hi ha fonts configurades. Afegeix una font per començar.", + refresh: "Actualitzar aquesta font", + remove: "Eliminar font", + }, + errors: { + emptyUrl: "La URL no pot estar buida", + invalidUrl: "Format d'URL no vàlid", + nonVisibleChars: "La URL conté caràcters no visibles a part dels espais", + invalidGitUrl: + "La URL ha de ser una URL de repositori Git vàlida (p. ex., https://github.com/username/repo)", + duplicateUrl: "Aquesta URL ja és a la llista (coincidència insensible a majúscules i espais)", + nameTooLong: "El nom ha de tenir 20 caràcters o menys", + nonVisibleCharsName: "El nom conté caràcters no visibles a part dels espais", + duplicateName: "Aquest nom ja s'està utilitzant (coincidència insensible a majúscules i espais)", + emojiName: "Els caràcters emoji poden causar problemes de visualització", + maxSources: "Màxim de {{max}} fonts permeses", + }, + }, + B6 = { + mode: { + title: "Eliminar el mode", + message: 'Estàs segur que vols eliminar el mode "{{modeName}}"?', + rulesWarning: "Això també eliminarà qualsevol fitxer de regles associat per a aquest mode.", + }, + mcp: { + title: "Eliminar el servidor MCP", + message: 'Estàs segur que vols eliminar el servidor MCP "{{mcpName}}"?', + }, + cancel: "Cancel·lar", + confirm: "Eliminar", + }, + U6 = { + issueText: + "Has trobat un problema amb un element del marketplace o tens suggeriments per a nous elements? <0>Obre una incidència de GitHub</0> per fer-nos-ho saber!", + }, + Fft = { + title: j6, + tabs: E6, + done: z6, + refresh: $6, + filters: L6, + sections: D6, + "type-group": { modes: "Modes", mcps: "Servidors MCP" }, + items: N6, + install: O6, + sources: F6, + removeConfirm: B6, + footer: U6, + }, + Bft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Fft, + done: z6, + filters: L6, + footer: U6, + install: O6, + items: N6, + refresh: $6, + removeConfirm: B6, + sections: D6, + sources: F6, + tabs: E6, + title: j6, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + q6 = "Servidors MCP", + W6 = "Fet", + K6 = "Mercat de MCP", + V6 = `El <0>Model Context Protocol</0> permet la comunicació amb servidors MCP que s'executen localment i proporcionen eines i recursos addicionals per ampliar les capacitats de Roo. Pots utilitzar <1>servidors creats per la comunitat</1> o demanar a Roo que creï noves eines específiques per al teu flux de treball (per exemple, "afegir una eina que obtingui la documentació més recent de npm").`, + H6 = "Instruccions", + G6 = { + title: "Activa els servidors MCP", + description: + "Activa-ho perquè Roo pugui utilitzar eines dels servidors MCP connectats. Això dóna més capacitats a Roo. Si no vols utilitzar aquestes eines addicionals, desactiva-ho per ajudar a reduir el cost dels tokens API.", + }, + Q6 = { + title: "Activa la creació de servidors MCP", + description: + "Activa-ho perquè Roo t'ajudi a crear <1>nous</1> servidors MCP personalitzats. <0>Més informació sobre la creació de servidors</0>", + hint: "Consell: Per reduir el cost dels tokens API, desactiva aquesta opció quan no demanis a Roo que creï un nou servidor MCP.", + }, + Z6 = "Edita MCP global", + Y6 = "Edita MCP del projecte", + X6 = "Més informació sobre com editar fitxers de configuració MCP", + J6 = { + alwaysAllow: "Permet sempre", + parameters: "Paràmetres", + noDescription: "Sense descripció", + togglePromptInclusion: "Canviar inclusió al prompt", + }, + eH = { tools: "Eines", resources: "Recursos", errors: "Errors" }, + tH = { + noTools: "No s'han trobat eines", + noResources: "No s'han trobat recursos", + noErrors: "No s'han trobat errors", + }, + nH = { + label: "Temps d'espera de xarxa", + description: "Temps màxim d'espera per a les respostes del servidor", + options: { + "15seconds": "15 segons", + "30seconds": "30 segons", + "1minute": "1 minut", + "5minutes": "5 minuts", + "10minutes": "10 minuts", + "15minutes": "15 minuts", + "30minutes": "30 minuts", + "60minutes": "60 minuts", + }, + }, + oH = { + title: "Elimina el servidor MCP", + description: 'Segur que vols eliminar el servidor MCP "{{serverName}}"? Aquesta acció no es pot desfer.', + cancel: "Cancel·la", + delete: "Elimina", + }, + rH = { retrying: "Tornant a intentar...", retryConnection: "Torna a intentar la connexió" }, + iH = "Actualitza els servidors MCP", + sH = { running: "En execució", completed: "Completat", error: "Error" }, + Uft = { + title: q6, + done: W6, + marketplace: K6, + description: V6, + instructions: H6, + enableToggle: G6, + enableServerCreation: Q6, + editGlobalMCP: Z6, + editProjectMCP: Y6, + learnMoreEditingSettings: X6, + tool: J6, + tabs: eH, + emptyState: tH, + networkTimeout: nH, + deleteDialog: oH, + serverStatus: rH, + refreshMCP: iH, + execution: sH, + }, + qft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Uft, + deleteDialog: oH, + description: V6, + done: W6, + editGlobalMCP: Z6, + editProjectMCP: Y6, + emptyState: tH, + enableServerCreation: Q6, + enableToggle: G6, + execution: sH, + instructions: H6, + learnMoreEditingSettings: X6, + marketplace: K6, + networkTimeout: nH, + refreshMCP: iH, + serverStatus: rH, + tabs: eH, + title: q6, + tool: J6, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + aH = "Modes", + lH = "Fet", + cH = { + title: "Modes", + createNewMode: "Crear nou mode", + importMode: "Importar mode", + noMatchFound: "No s'han trobat modes", + editModesConfig: "Editar configuració de modes", + editGlobalModes: "Editar modes globals", + editProjectModes: "Editar modes de projecte (.roomodes)", + createModeHelpText: + "Els modes són persones especialitzades que adapten el comportament de Roo. <0>Aprèn sobre l'ús de modes</0> o <1>Personalització de modes.</1>", + selectMode: "Cerqueu modes", + }, + dH = { title: "Configuració d'API", select: "Seleccioneu quina configuració d'API utilitzar per a aquest mode" }, + uH = { + title: "Eines disponibles", + builtInModesText: "Les eines per a modes integrats no es poden modificar", + editTools: "Editar eines", + doneEditing: "Finalitzar edició", + allowedFiles: "Fitxers permesos:", + toolNames: { + read: "Llegir fitxers", + edit: "Editar fitxers", + browser: "Utilitzar navegador", + command: "Executar comandes", + mcp: "Utilitzar MCP", + }, + noTools: "Cap", + }, + pH = { + title: "Definició de rol", + resetToDefault: "Restablir a valors predeterminats", + description: + "Definiu l'experiència i personalitat de Roo per a aquest mode. Aquesta descripció determina com Roo es presenta i aborda les tasques.", + }, + mH = { + title: "Descripció curta (per a humans)", + resetToDefault: "Restablir a la descripció predeterminada", + description: "Una breu descripció que es mostra al desplegable del selector de mode.", + }, + hH = { + title: "Quan utilitzar (opcional)", + description: + "Descriviu quan s'hauria d'utilitzar aquest mode. Això ajuda l'Orchestrator a escollir el mode correcte per a una tasca.", + resetToDefault: "Restablir la descripció 'Quan utilitzar' a valors predeterminats", + }, + fH = { + title: "Instruccions personalitzades específiques del mode (opcional)", + resetToDefault: "Restablir a valors predeterminats", + description: "Afegiu directrius de comportament específiques per al mode {{modeName}}.", + loadFromFile: + "Les instruccions personalitzades específiques per al mode {{mode}} també es poden carregar des de la carpeta <span>.roo/rules-{{slug}}/</span> al vostre espai de treball (.roorules-{{slug}} i .clinerules-{{slug}} estan obsolets i deixaran de funcionar aviat).", + }, + gH = { + title: "Exportar mode", + description: + "Exporta aquest mode a un fitxer YAML amb totes les regles incloses per compartir fàcilment amb altres.", + export: "Exportar mode", + exporting: "Exportant...", + }, + vH = { + selectLevel: "Tria on importar aquest mode:", + import: "Importar", + importing: "Important...", + global: { + label: "Nivell global", + description: + "Disponible a tots els projectes. Les regles es fusionaran amb les instruccions personalitzades.", + }, + project: { + label: "Nivell de projecte", + description: + "Només disponible en aquest espai de treball. Si el mode exportat contenia fitxers de regles, es tornaran a crear a la carpeta .roo/rules-{slug}/.", + }, + }, + bH = { title: "Avançat" }, + yH = { + title: "Instruccions personalitzades per a tots els modes", + description: + "Aquestes instruccions s'apliquen a tots els modes. Proporcionen un conjunt bàsic de comportaments que es poden millorar amb instruccions específiques de cada mode a continuació. <0>Més informació</0>", + loadFromFile: + "Les instruccions també es poden carregar des de la carpeta <span>.roo/rules/</span> al vostre espai de treball (.roorules i .clinerules estan obsolets i deixaran de funcionar aviat).", + }, + kH = { + preview: "Previsualització del prompt del sistema", + copy: "Copiar prompt del sistema al portapapers", + title: "Prompt del sistema (mode {{modeName}})", + }, + xH = { + title: "Prompts de suport", + resetPrompt: "Restablir el prompt {{promptType}} a valors predeterminats", + prompt: "Prompt", + enhance: { + apiConfiguration: "Configuració d'API", + apiConfigDescription: + "Podeu seleccionar una configuració d'API per utilitzar sempre per millorar els prompts, o simplement utilitzar la que està seleccionada actualment", + useCurrentConfig: "Utilitzar la configuració d'API seleccionada actualment", + testPromptPlaceholder: "Introduïu un prompt per provar la millora", + previewButton: "Previsualització de la millora del prompt", + testEnhancement: "Prova la millora", + includeTaskHistory: "Inclou l'historial de tasques com a context", + includeTaskHistoryDescription: + "Quan està activat, els últims 10 missatges de la conversa actual s'inclouran com a context en millorar els prompts, ajudant a generar suggeriments més rellevants i conscients del context.", + }, + condense: { + apiConfiguration: "Configuració de l'API per a la condensació de context", + apiConfigDescription: + "Seleccioneu quina configuració d'API voleu utilitzar per a les operacions de condensació de context. Deixeu-ho sense seleccionar per utilitzar la configuració activa actual.", + useCurrentConfig: "Utilitza la configuració de l'API seleccionada actualment", + }, + types: { + ENHANCE: { + label: "Millorar prompt", + description: + "Utilitzeu la millora de prompts per obtenir suggeriments o millores personalitzades per a les vostres entrades. Això assegura que Roo entengui la vostra intenció i proporcioni les millors respostes possibles. Disponible a través de la icona ✨ al xat.", + }, + CONDENSE: { + label: "Condensació de context", + description: + "Configureu com es condensa el context de la conversa per gestionar els límits de testimonis. Aquest indicador s'utilitza tant per a les operacions de condensació de context manuals com automàtiques.", + }, + EXPLAIN: { + label: "Explicar codi", + description: + "Obtingueu explicacions detallades de fragments de codi, funcions o fitxers sencers. Útil per entendre codi complex o aprendre nous patrons. Disponible a les accions de codi (icona de bombeta a l'editor) i al menú contextual de l'editor (clic dret al codi seleccionat).", + }, + FIX: { + label: "Corregir problemes", + description: + "Obtingueu ajuda per identificar i resoldre errors, fallades o problemes de qualitat del codi. Proporciona una guia pas a pas per solucionar problemes. Disponible a les accions de codi (icona de bombeta a l'editor) i al menú contextual de l'editor (clic dret al codi seleccionat).", + }, + IMPROVE: { + label: "Millorar codi", + description: + "Rebeu suggeriments per optimitzar el codi, millors pràctiques i millores arquitectòniques mentre es manté la funcionalitat. Disponible a les accions de codi (icona de bombeta a l'editor) i al menú contextual de l'editor (clic dret al codi seleccionat).", + }, + ADD_TO_CONTEXT: { + label: "Afegir al context", + description: + "Afegiu context a la vostra tasca o conversa actual. Útil per proporcionar informació addicional o aclariments. Disponible a les accions de codi (icona de bombeta a l'editor) i al menú contextual de l'editor (clic dret al codi seleccionat).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Afegir contingut del terminal al context", + description: + "Afegiu la sortida del terminal a la vostra tasca o conversa actual. Útil per proporcionar sortides de comandes o registres. Disponible al menú contextual del terminal (clic dret al contingut seleccionat del terminal).", + }, + TERMINAL_FIX: { + label: "Corregir comanda del terminal", + description: + "Obtingueu ajuda per corregir comandes del terminal que han fallat o necessiten millores. Disponible al menú contextual del terminal (clic dret al contingut seleccionat del terminal).", + }, + TERMINAL_EXPLAIN: { + label: "Explicar comanda del terminal", + description: + "Obtingueu explicacions detallades de les comandes del terminal i les seves sortides. Disponible al menú contextual del terminal (clic dret al contingut seleccionat del terminal).", + }, + NEW_TASK: { + label: "Iniciar nova tasca", + description: "Inicieu una nova tasca amb l'entrada proporcionada. Disponible a la paleta de comandes.", + }, + }, + }, + wH = { + title: "Avançat: Sobreescriure prompt del sistema", + description: + "<2>⚠️ Avís:</2> Aquesta funcionalitat avançada eludeix les salvaguardes. <1>LLEGIU AIXÒ ABANS D'UTILITZAR!</1>Sobreescriviu el prompt del sistema per defecte creant un fitxer a <span>.roo/system-prompt-{{slug}}</span>.", + }, + _H = { + title: "Crear nou mode", + close: "Tancar", + name: { label: "Nom", placeholder: "Introduïu nom del mode" }, + slug: { + label: "Slug", + description: + "El slug s'utilitza en URLs i noms de fitxers. Ha d'estar en minúscules i contenir només lletres, números i guions.", + }, + saveLocation: { + label: "Ubicació per desar", + description: + "Trieu on desar aquest mode. Els modes específics del projecte tenen prioritat sobre els modes globals.", + global: { label: "Global", description: "Disponible a tots els espais de treball" }, + project: { + label: "Específic del projecte (.roomodes)", + description: "Només disponible en aquest espai de treball, té prioritat sobre el global", + }, + }, + roleDefinition: { + label: "Definició de rol", + description: "Definiu l'experiència i personalitat de Roo per a aquest mode.", + }, + whenToUse: { + label: "Quan utilitzar (opcional)", + description: + "Proporcioneu una descripció clara de quan aquest mode és més efectiu i per a quins tipus de tasques excel·leix.", + }, + tools: { label: "Eines disponibles", description: "Seleccioneu quines eines pot utilitzar aquest mode." }, + description: { + label: "Descripció curta (per a humans)", + description: "Una breu descripció que es mostra al desplegable del selector de mode.", + }, + customInstructions: { + label: "Instruccions personalitzades (opcional)", + description: "Afegiu directrius de comportament específiques per a aquest mode.", + }, + buttons: { cancel: "Cancel·lar", create: "Crear mode" }, + deleteMode: "Eliminar mode", + }, + CH = "tots els fitxers", + SH = { + title: "Suprimeix el mode", + message: 'Estàs segur que vols suprimir el mode "{{modeName}}"?', + rulesFolder: "Aquest mode té una carpeta de regles a {{folderPath}} que també se suprimirà.", + descriptionNoRules: "Esteu segur que voleu suprimir aquest mode personalitzat?", + confirm: "Suprimeix", + cancel: "Cancel·la", + }, + Wft = { + title: aH, + done: lH, + modes: cH, + apiConfiguration: dH, + tools: uH, + roleDefinition: pH, + description: mH, + whenToUse: hH, + customInstructions: fH, + exportMode: gH, + importMode: vH, + advanced: bH, + globalCustomInstructions: yH, + systemPrompt: kH, + supportPrompts: xH, + advancedSystemPrompt: wH, + createModeDialog: _H, + allFiles: CH, + deleteMode: SH, + }, + Kft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: bH, + advancedSystemPrompt: wH, + allFiles: CH, + apiConfiguration: dH, + createModeDialog: _H, + customInstructions: fH, + default: Wft, + deleteMode: SH, + description: mH, + done: lH, + exportMode: gH, + globalCustomInstructions: yH, + importMode: vH, + modes: cH, + roleDefinition: pH, + supportPrompts: xH, + systemPrompt: kH, + title: aH, + tools: uH, + whenToUse: hH, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + AH = { + save: "Desar", + done: "Fet", + cancel: "Cancel·lar", + reset: "Restablir", + select: "Seleccionar", + add: "Afegir capçalera", + remove: "Eliminar", + }, + PH = { + title: "Configuració", + saveButtonTooltip: "Desar canvis", + nothingChangedTooltip: "No s'ha canviat res", + doneButtonTooltip: "Descartar els canvis no desats i tancar el panell de configuració", + }, + RH = { + title: "Canvis no desats", + description: "Voleu descartar els canvis i continuar?", + cancelButton: "Cancel·lar", + discardButton: "Descartar canvis", + }, + TH = { + providers: "Proveïdors", + autoApprove: "Auto-aprovació", + browser: "Accés a l'ordinador", + checkpoints: "Punts de control", + notifications: "Notificacions", + contextManagement: "Context", + terminal: "Terminal", + prompts: "Indicacions", + experimental: "Experimental", + language: "Idioma", + about: "Sobre Roo Code", + }, + IH = { + description: + "Configura les indicacions de suport utilitzades per a accions ràpides com millorar indicacions, explicar codi i solucionar problemes. Aquestes indicacions ajuden Roo a proporcionar millor assistència per a tasques comunes de desenvolupament.", + }, + MH = { + title: "Indexació de codi", + enableLabel: "Habilitar indexació de codi", + enableDescription: "Habilita la indexació de codi per millorar la cerca i la comprensió del context", + providerLabel: "Proveïdor d'embeddings", + selectProviderPlaceholder: "Seleccionar proveïdor", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Clau API:", + geminiApiKeyPlaceholder: "Introduïu la vostra clau d'API de Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Clau de l'API:", + mistralApiKeyPlaceholder: "Introduïu la vostra clau de l'API de Mistral", + openaiCompatibleProvider: "Compatible amb OpenAI", + openAiKeyLabel: "Clau API OpenAI", + openAiKeyPlaceholder: "Introduïu la vostra clau API OpenAI", + openAiCompatibleBaseUrlLabel: "URL base", + openAiCompatibleApiKeyLabel: "Clau API", + openAiCompatibleApiKeyPlaceholder: "Introduïu la vostra clau API", + openAiCompatibleModelDimensionLabel: "Dimensió d'Embedding:", + modelDimensionLabel: "Dimensió del model", + openAiCompatibleModelDimensionPlaceholder: "p. ex., 1536", + openAiCompatibleModelDimensionDescription: + "La dimensió d'embedding (mida de sortida) per al teu model. Consulta la documentació del teu proveïdor per a aquest valor. Valors comuns: 384, 768, 1536, 3072.", + modelLabel: "Model", + selectModelPlaceholder: "Seleccionar model", + ollamaUrlLabel: "URL d'Ollama:", + qdrantUrlLabel: "URL de Qdrant", + qdrantKeyLabel: "Clau de Qdrant:", + startIndexingButton: "Iniciar", + clearIndexDataButton: "Esborrar índex", + unsavedSettingsMessage: "Si us plau, deseu la configuració abans d'iniciar el procés d'indexació.", + clearDataDialog: { + title: "Esteu segur?", + description: + "Aquesta acció no es pot desfer. Eliminarà permanentment les dades d'índex de la vostra base de codi.", + cancelButton: "Cancel·lar", + confirmButton: "Esborrar dades", + }, + description: + "Configureu la configuració d'indexació de la base de codi per habilitar la cerca semàntica del vostre projecte. <0>Més informació</0>", + statusTitle: "Estat", + settingsTitle: "Configuració d'indexació", + disabledMessage: + "La indexació de la base de codi està actualment deshabilitada. Habiliteu-la a la configuració global per configurar les opcions d'indexació.", + embedderProviderLabel: "Proveïdor d'embeddings", + modelPlaceholder: "Introduïu el nom del model", + selectModel: "Seleccioneu un model", + ollamaBaseUrlLabel: "URL base d'Ollama", + qdrantApiKeyLabel: "Clau API de Qdrant", + qdrantApiKeyPlaceholder: "Introduïu la vostra clau API de Qdrant (opcional)", + setupConfigLabel: "Configuració", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Error en desar la configuració", + modelDimensions: "({{dimension}} dimensions)", + saveSuccess: "Configuració desada correctament", + saving: "Desant...", + saveSettings: "Desar", + indexingStatuses: { standby: "En espera", indexing: "Indexant", indexed: "Indexat", error: "Error" }, + close: "Tancar", + validation: { + invalidQdrantUrl: "URL de Qdrant no vàlida", + invalidOllamaUrl: "URL d'Ollama no vàlida", + invalidBaseUrl: "URL de base no vàlida", + qdrantUrlRequired: "Cal una URL de Qdrant", + openaiApiKeyRequired: "Cal una clau d'API d'OpenAI", + modelSelectionRequired: "Cal seleccionar un model", + apiKeyRequired: "Cal una clau d'API", + modelIdRequired: "Cal un ID de model", + modelDimensionRequired: "Cal una dimensió de model", + geminiApiKeyRequired: "Cal una clau d'API de Gemini", + mistralApiKeyRequired: "La clau de l'API de Mistral és requerida", + ollamaBaseUrlRequired: "Cal una URL base d'Ollama", + baseUrlRequired: "Cal una URL base", + modelDimensionMinValue: "La dimensió del model ha de ser superior a 0", + }, + advancedConfigLabel: "Configuració avançada", + searchMinScoreLabel: "Llindar de puntuació de cerca", + searchMinScoreDescription: + "Puntuació mínima de similitud (0.0-1.0) requerida per als resultats de la cerca. Valors més baixos retornen més resultats però poden ser menys rellevants. Valors més alts retornen menys resultats però més rellevants.", + searchMinScoreResetTooltip: "Restablir al valor per defecte (0.4)", + searchMaxResultsLabel: "Màxim de resultats de cerca", + searchMaxResultsDescription: + "Nombre màxim de resultats de cerca a retornar quan es consulta l'índex de la base de codi. Els valors més alts proporcionen més context però poden incloure resultats menys rellevants.", + resetToDefault: "Restablir al valor per defecte", + }, + jH = { + description: + "Permet que Roo realitzi operacions automàticament sense requerir aprovació. Activeu aquesta configuració només si confieu plenament en la IA i enteneu els riscos de seguretat associats.", + enabled: "Auto-aprovació activada", + toggleAriaLabel: "Commuta l'aprovació automàtica", + disabledAriaLabel: "Aprovació automàtica desactivada: seleccioneu primer les opcions", + readOnly: { + label: "Llegir", + description: + "Quan està activat, Roo veurà automàticament el contingut del directori i llegirà fitxers sense que calgui fer clic al botó Aprovar.", + outsideWorkspace: { + label: "Incloure fitxers fora de l'espai de treball", + description: + "Permetre a Roo llegir fitxers fora de l'espai de treball actual sense requerir aprovació.", + }, + }, + write: { + label: "Escriure", + description: "Crear i editar fitxers automàticament sense requerir aprovació", + delayLabel: "Retard després d'escriptura per permetre que els diagnòstics detectin possibles problemes", + outsideWorkspace: { + label: "Incloure fitxers fora de l'espai de treball", + description: + "Permetre a Roo crear i editar fitxers fora de l'espai de treball actual sense requerir aprovació.", + }, + protected: { + label: "Incloure fitxers protegits", + description: + "Permetre a Roo crear i editar fitxers protegits (com .rooignore i fitxers de configuració .roo/) sense requerir aprovació.", + }, + }, + browser: { + label: "Navegador", + description: + "Realitzar accions del navegador automàticament sense requerir aprovació. Nota: Només s'aplica quan el model admet l'ús de l'ordinador", + }, + retry: { + label: "Reintentar", + description: + "Tornar a intentar sol·licituds d'API fallides automàticament quan el servidor retorna una resposta d'error", + delayLabel: "Retard abans de tornar a intentar la sol·licitud", + }, + mcp: { + label: "MCP", + description: `Habilitar l'aprovació automàtica d'eines MCP individuals a la vista de Servidors MCP (requereix tant aquesta configuració com la casella "Permetre sempre" de l'eina)`, + }, + modeSwitch: { + label: "Mode", + description: "Canviar automàticament entre diferents modes sense requerir aprovació", + }, + subtasks: { + label: "Subtasques", + description: "Permetre la creació i finalització de subtasques sense requerir aprovació", + }, + followupQuestions: { + label: "Pregunta", + description: + "Seleccionar automàticament la primera resposta suggerida per a preguntes de seguiment després del temps d'espera configurat", + timeoutLabel: "Temps d'espera abans de seleccionar automàticament la primera resposta", + }, + execute: { + label: "Executar", + description: "Executar automàticament comandes de terminal permeses sense requerir aprovació", + allowedCommands: "Comandes d'auto-execució permeses", + allowedCommandsDescription: `Prefixos de comandes que poden ser executats automàticament quan "Aprovar sempre operacions d'execució" està habilitat. Afegeix * per permetre totes les comandes (usar amb precaució).`, + deniedCommands: "Comandes denegades", + deniedCommandsDescription: + "Prefixos de comandes que es rebutjaran automàticament sense requerir aprovació. En cas de conflicte amb comandes permeses, la coincidència de prefix més llarga té prioritat. Afegeix * per denegar totes les comandes.", + commandPlaceholder: "Introduïu prefix de comanda (ex. 'git ')", + deniedCommandPlaceholder: "Introduïu prefix de comanda a denegar (ex. 'rm -rf')", + addButton: "Afegir", + autoDenied: + "Les comandes amb el prefix `{{prefix}}` han estat prohibides per l'usuari. No eludeixis aquesta restricció executant una altra comanda.", + }, + updateTodoList: { + label: "Todo", + description: "La llista de tasques es actualitza automàticament sense aprovació", + }, + apiRequestLimit: { + title: "Màximes Sol·licituds", + description: + "Fes aquesta quantitat de sol·licituds API automàticament abans de demanar aprovació per continuar amb la tasca.", + unlimited: "Il·limitat", + }, + selectOptionsFirst: "Seleccioneu almenys una opció a continuació per activar l'aprovació automàtica", + apiCostLimit: { title: "Cost Màxim", unlimited: "Il·limitat" }, + maxLimits: { + description: + "Fes sol·licituds automàticament fins a aquests límits abans de demanar aprovació per continuar.", + }, + }, + EH = JSON.parse( + `{"providerDocumentation":"Documentació de {{provider}}","configProfile":"Perfil de configuració","description":"Deseu diferents configuracions d'API per canviar ràpidament entre proveïdors i configuracions.","apiProvider":"Proveïdor d'API","model":"Model","nameEmpty":"El nom no pot estar buit","nameExists":"Ja existeix un perfil amb aquest nom","deleteProfile":"Esborrar perfil","invalidArnFormat":"Format ARN no vàlid. Comprova els exemples anteriors.","enterNewName":"Introduïu un nou nom","addProfile":"Afegeix perfil","renameProfile":"Canvia el nom del perfil","newProfile":"Nou perfil de configuració","enterProfileName":"Introduïu el nom del perfil","createProfile":"Crea perfil","cannotDeleteOnlyProfile":"No es pot eliminar l'únic perfil","searchPlaceholder":"Cerca perfils","searchProviderPlaceholder":"Cerca proveïdors","noProviderMatchFound":"No s'han trobat proveïdors","noMatchFound":"No s'han trobat perfils coincidents","vscodeLmDescription":"L'API del model de llenguatge de VS Code us permet executar models proporcionats per altres extensions de VS Code (incloent-hi, però no limitat a, GitHub Copilot). La manera més senzilla de començar és instal·lar les extensions Copilot i Copilot Chat des del VS Code Marketplace.","awsCustomArnUse":"Introduïu un ARN vàlid d'Amazon Bedrock per al model que voleu utilitzar. Exemples de format:","awsCustomArnDesc":"Assegureu-vos que la regió a l'ARN coincideix amb la regió d'AWS seleccionada anteriorment.","openRouterApiKey":"Clau API d'OpenRouter","getOpenRouterApiKey":"Obtenir clau API d'OpenRouter","apiKeyStorageNotice":"Les claus API s'emmagatzemen de forma segura a l'Emmagatzematge Secret de VSCode","glamaApiKey":"Clau API de Glama","getGlamaApiKey":"Obtenir clau API de Glama","useCustomBaseUrl":"Utilitzar URL base personalitzada","useReasoning":"Activar raonament","useHostHeader":"Utilitzar capçalera Host personalitzada","useLegacyFormat":"Utilitzar el format d'API OpenAI antic","customHeaders":"Capçaleres personalitzades","headerName":"Nom de la capçalera","headerValue":"Valor de la capçalera","noCustomHeaders":"No hi ha capçaleres personalitzades definides. Feu clic al botó + per afegir-ne una.","requestyApiKey":"Clau API de Requesty","refreshModels":{"label":"Actualitzar models","hint":"Si us plau, torneu a obrir la configuració per veure els models més recents.","loading":"Actualitzant la llista de models...","success":"Llista de models actualitzada correctament!","error":"No s'ha pogut actualitzar la llista de models. Si us plau, torneu-ho a provar."},"getRequestyApiKey":"Obtenir clau API de Requesty","openRouterTransformsText":"Comprimir prompts i cadenes de missatges a la mida del context (<a>Transformacions d'OpenRouter</a>)","anthropicApiKey":"Clau API d'Anthropic","getAnthropicApiKey":"Obtenir clau API d'Anthropic","anthropicUseAuthToken":"Passar la clau API d'Anthropic com a capçalera d'autorització en lloc de X-Api-Key","cerebrasApiKey":"Clau API de Cerebras","getCerebrasApiKey":"Obtenir clau API de Cerebras","chutesApiKey":"Clau API de Chutes","getChutesApiKey":"Obtenir clau API de Chutes","fireworksApiKey":"Clau API de Fireworks","getFireworksApiKey":"Obtenir clau API de Fireworks","deepSeekApiKey":"Clau API de DeepSeek","getDeepSeekApiKey":"Obtenir clau API de DeepSeek","doubaoApiKey":"Clau API de Doubao","getDoubaoApiKey":"Obtenir clau API de Doubao","moonshotApiKey":"Clau API de Moonshot","getMoonshotApiKey":"Obtenir clau API de Moonshot","moonshotBaseUrl":"Punt d'entrada de Moonshot","zaiApiKey":"Clau API de Z AI","getZaiApiKey":"Obtenir clau API de Z AI","zaiEntrypoint":"Punt d'entrada de Z AI","zaiEntrypointDescription":"Si us plau, seleccioneu el punt d'entrada de l'API apropiat segons la vostra ubicació. Si sou a la Xina, trieu open.bigmodel.cn. Altrament, trieu api.z.ai.","geminiApiKey":"Clau API de Gemini","getGroqApiKey":"Obtenir clau API de Groq","groqApiKey":"Clau API de Groq","getSambaNovaApiKey":"Obtenir clau API de SambaNova","sambaNovaApiKey":"Clau API de SambaNova","getHuggingFaceApiKey":"Obtenir clau API de Hugging Face","huggingFaceApiKey":"Clau API de Hugging Face","huggingFaceModelId":"ID del model","huggingFaceLoading":"Carregant...","huggingFaceModelsCount":"({{count}} models)","huggingFaceSelectModel":"Selecciona un model...","huggingFaceSearchModels":"Cerca models...","huggingFaceNoModelsFound":"No s'han trobat models","huggingFaceProvider":"Proveïdor","huggingFaceProviderAuto":"Automàtic","huggingFaceSelectProvider":"Selecciona un proveïdor...","huggingFaceSearchProviders":"Cerca proveïdors...","huggingFaceNoProvidersFound":"No s'han trobat proveïdors","getGeminiApiKey":"Obtenir clau API de Gemini","openAiApiKey":"Clau API d'OpenAI","apiKey":"Clau API","openAiBaseUrl":"URL base","getOpenAiApiKey":"Obtenir clau API d'OpenAI","mistralApiKey":"Clau API de Mistral","getMistralApiKey":"Obtenir clau API de Mistral / Codestral","codestralBaseUrl":"URL base de Codestral (opcional)","codestralBaseUrlDesc":"Establir una URL alternativa per al model Codestral.","xaiApiKey":"Clau API de xAI","getXaiApiKey":"Obtenir clau API de xAI","litellmApiKey":"Clau API de LiteLLM","litellmBaseUrl":"URL base de LiteLLM","awsCredentials":"Credencials d'AWS","awsProfile":"Perfil d'AWS","awsApiKey":"Clau d'API d'Amazon Bedrock","awsProfileName":"Nom del perfil d'AWS","awsAccessKey":"Clau d'accés d'AWS","awsSecretKey":"Clau secreta d'AWS","awsSessionToken":"Token de sessió d'AWS","awsRegion":"Regió d'AWS","awsCrossRegion":"Utilitzar inferència entre regions","awsBedrockVpc":{"useCustomVpcEndpoint":"Utilitzar punt final VPC personalitzat","vpcEndpointUrlPlaceholder":"Introduïu l'URL del punt final VPC (opcional)","examples":"Exemples:"},"enablePromptCaching":"Habilitar emmagatzematge en caché de prompts","enablePromptCachingTitle":"Habilitar l'emmagatzematge en caché de prompts per millorar el rendiment i reduir els costos per als models compatibles.","cacheUsageNote":"Nota: Si no veieu l'ús de la caché, proveu de seleccionar un model diferent i després tornar a seleccionar el model desitjat.","vscodeLmModel":"Model de llenguatge","vscodeLmWarning":"Nota: Aquesta és una integració molt experimental i el suport del proveïdor variarà. Si rebeu un error sobre un model no compatible, és un problema del proveïdor.","geminiParameters":{"urlContext":{"title":"Activa el context d'URL","description":"Permet a Gemini llegir pàgines enllaçades per extreure, comparar i sintetitzar el seu contingut en respostes informades."},"groundingSearch":{"title":"Activa la Fonamentació amb la Cerca de Google","description":"Connecta Gemini a dades web en temps real per a respostes precises i actualitzades amb citacions verificables."}},"googleCloudSetup":{"title":"Per utilitzar Google Cloud Vertex AI, necessiteu:","step1":"1. Crear un compte de Google Cloud, habilitar l'API de Vertex AI i habilitar els models Claude necessaris.","step2":"2. Instal·lar Google Cloud CLI i configurar les credencials d'aplicació per defecte.","step3":"3. O crear un compte de servei amb credencials."},"googleCloudCredentials":"Credencials de Google Cloud","googleCloudKeyFile":"Ruta del fitxer de clau de Google Cloud","googleCloudProjectId":"ID del projecte de Google Cloud","googleCloudRegion":"Regió de Google Cloud","lmStudio":{"baseUrl":"URL base (opcional)","modelId":"ID del model","speculativeDecoding":"Habilitar descodificació especulativa","draftModelId":"ID del model d'esborrany","draftModelDesc":"El model d'esborrany ha de ser de la mateixa família de models perquè la descodificació especulativa funcioni correctament.","selectDraftModel":"Seleccionar model d'esborrany","noModelsFound":"No s'han trobat models d'esborrany. Assegureu-vos que LM Studio s'està executant amb el mode servidor habilitat.","description":"LM Studio permet executar models localment al vostre ordinador. Per a instruccions sobre com començar, consulteu la seva <a>Guia d'inici ràpid</a>. També necessitareu iniciar la funció de <b>Servidor Local</b> de LM Studio per utilitzar-la amb aquesta extensió. <span>Nota:</span> Roo Code utilitza prompts complexos i funciona millor amb models Claude. Els models menys capaços poden no funcionar com s'espera."},"ollama":{"baseUrl":"URL base (opcional)","modelId":"ID del model","description":"Ollama permet executar models localment al vostre ordinador. Per a instruccions sobre com començar, consulteu la Guia d'inici ràpid.","warning":"Nota: Roo Code utilitza prompts complexos i funciona millor amb models Claude. Els models menys capaços poden no funcionar com s'espera."},"unboundApiKey":"Clau API d'Unbound","getUnboundApiKey":"Obtenir clau API d'Unbound","unboundRefreshModelsSuccess":"Llista de models actualitzada! Ara podeu seleccionar entre els últims models.","unboundInvalidApiKey":"Clau API no vàlida. Si us plau, comproveu la vostra clau API i torneu-ho a provar.","humanRelay":{"description":"No es requereix clau API, però l'usuari necessita ajuda per copiar i enganxar informació al xat d'IA web.","instructions":"Durant l'ús, apareixerà un diàleg i el missatge actual es copiarà automàticament al porta-retalls. Necessiteu enganxar-lo a les versions web d'IA (com ChatGPT o Claude), després copiar la resposta de l'IA de nou al diàleg i fer clic al botó de confirmació."},"openRouter":{"providerRouting":{"title":"Encaminament de Proveïdors d'OpenRouter","description":"OpenRouter dirigeix les sol·licituds als millors proveïdors disponibles per al vostre model. Per defecte, les sol·licituds s'equilibren entre els principals proveïdors per maximitzar el temps de funcionament. No obstant això, podeu triar un proveïdor específic per utilitzar amb aquest model.","learnMore":"Més informació sobre l'encaminament de proveïdors"}},"customModel":{"capabilities":"Configureu les capacitats i preus per al vostre model personalitzat compatible amb OpenAI. Tingueu cura en especificar les capacitats del model, ja que poden afectar com funciona Roo Code.","maxTokens":{"label":"Màxim de tokens de sortida","description":"El nombre màxim de tokens que el model pot generar en una resposta. (Establiu -1 per permetre que el servidor estableixi el màxim de tokens.)"},"contextWindow":{"label":"Mida de la finestra de context","description":"Total de tokens (entrada + sortida) que el model pot processar."},"imageSupport":{"label":"Suport d'imatges","description":"Aquest model és capaç de processar i entendre imatges?"},"computerUse":{"label":"Ús de l'ordinador","description":"Aquest model és capaç d'interactuar amb un navegador? (com Claude 3.7 Sonnet)"},"promptCache":{"label":"Emmagatzematge en caché de prompts","description":"Aquest model és capaç d'emmagatzemar prompts en caché?"},"pricing":{"input":{"label":"Preu d'entrada","description":"Cost per milió de tokens en l'entrada/prompt. Això afecta el cost d'enviar context i instruccions al model."},"output":{"label":"Preu de sortida","description":"Cost per milió de tokens en la resposta del model. Això afecta el cost del contingut generat i les completions."},"cacheReads":{"label":"Preu de lectures de caché","description":"Cost per milió de tokens per llegir de la caché. Aquest és el preu cobrat quan es recupera una resposta emmagatzemada en caché."},"cacheWrites":{"label":"Preu d'escriptures de caché","description":"Cost per milió de tokens per escriure a la caché. Aquest és el preu cobrat quan s'emmagatzema un prompt per primera vegada."}},"resetDefaults":"Restablir als valors per defecte"},"rateLimitSeconds":{"label":"Límit de freqüència","description":"Temps mínim entre sol·licituds d'API."},"consecutiveMistakeLimit":{"label":"Límit d'errors i repeticions","description":"Nombre d'errors consecutius o accions repetides abans de mostrar el diàleg 'En Roo està tenint problemes'","unlimitedDescription":"Reintents il·limitats habilitats (procediment automàtic). El diàleg no apareixerà mai.","warning":"⚠️ Establir a 0 permet reintents il·limitats que poden consumir un ús significatiu de l'API"},"reasoningEffort":{"label":"Esforç de raonament del model","high":"Alt","medium":"Mitjà","low":"Baix"},"setReasoningLevel":"Activa l'esforç de raonament","claudeCode":{"pathLabel":"Ruta del Codi Claude","description":"Ruta opcional al teu CLI de Claude Code. Per defecte, 'claude' si no s'estableix.","placeholder":"Per defecte: claude","maxTokensLabel":"Tokens màxims de sortida","maxTokensDescription":"Nombre màxim de tokens de sortida per a les respostes de Claude Code. El valor per defecte és 8000."}}`, + ), + zH = { + enable: { + label: "Habilitar eina de navegador", + description: + "Quan està habilitat, Roo pot utilitzar un navegador per interactuar amb llocs web quan s'utilitzen models que admeten l'ús de l'ordinador. <0>Més informació</0>", + }, + viewport: { + label: "Mida del viewport", + description: + "Seleccioneu la mida del viewport per a interaccions del navegador. Això afecta com es mostren i interactuen els llocs web.", + options: { + largeDesktop: "Escriptori gran (1280x800)", + smallDesktop: "Escriptori petit (900x600)", + tablet: "Tauleta (768x1024)", + mobile: "Mòbil (360x640)", + }, + }, + screenshotQuality: { + label: "Qualitat de captures de pantalla", + description: + "Ajusteu la qualitat WebP de les captures de pantalla del navegador. Valors més alts proporcionen captures més clares però augmenten l'ús de token.", + }, + remote: { + label: "Utilitzar connexió remota del navegador", + description: + "Connectar a un navegador Chrome que s'executa amb depuració remota habilitada (--remote-debugging-port=9222).", + urlPlaceholder: "URL personalitzada (ex. http://localhost:9222)", + testButton: "Provar connexió", + testingButton: "Provant...", + instructions: + "Introduïu l'adreça d'amfitrió del protocol DevTools o deixeu-la buida per descobrir automàticament instàncies locals de Chrome. El botó Provar Connexió provarà la URL personalitzada si es proporciona, o descobrirà automàticament si el camp està buit.", + }, + }, + $H = { + enable: { + label: "Habilitar punts de control automàtics", + description: + "Quan està habilitat, Roo crearà automàticament punts de control durant l'execució de tasques, facilitant la revisió de canvis o la reversió a estats anteriors. <0>Més informació</0>", + }, + }, + LH = { + sound: { + label: "Habilitar efectes de so", + description: "Quan està habilitat, Roo reproduirà efectes de so per a notificacions i esdeveniments.", + volumeLabel: "Volum", + }, + tts: { + label: "Habilitar text a veu", + description: "Quan està habilitat, Roo llegirà en veu alta les seves respostes utilitzant text a veu.", + speedLabel: "Velocitat", + }, + }, + DH = { + description: + "Controleu quina informació s'inclou a la finestra de context de la IA, afectant l'ús de token i la qualitat de resposta", + autoCondenseContextPercent: { + label: "Llindar per activar la condensació intel·ligent de context", + description: "Quan la finestra de context assoleix aquest llindar, Roo la condensarà automàticament.", + }, + condensingApiConfiguration: { + label: "Configuració d'API per a la condensació de context", + description: + "Seleccioneu quina configuració d'API utilitzar per a les operacions de condensació de context. Deixeu-ho sense seleccionar per utilitzar la configuració activa actual.", + useCurrentConfig: "Per defecte", + }, + customCondensingPrompt: { + label: "Indicació personalitzada de condensació de context", + description: + "Personalitzeu la indicació del sistema utilitzada per a la condensació de context. Deixeu-ho buit per utilitzar la indicació per defecte.", + placeholder: `Introduïu aquí la vostra indicació de condensació personalitzada... + +Podeu utilitzar la mateixa estructura que la indicació per defecte: +- Conversa anterior +- Treball actual +- Conceptes tècnics clau +- Fitxers i codi rellevants +- Resolució de problemes +- Tasques pendents i següents passos`, + reset: "Restablir als valors per defecte", + hint: "Buit = utilitzar indicació per defecte", + }, + autoCondenseContext: { + name: "Activar automàticament la condensació intel·ligent de context", + description: + "Quan està activat, Roo condensarà automàticament el context quan s'assoleixi el llindar. Quan està desactivat, encara pots activar manualment la condensació de context.", + }, + openTabs: { + label: "Límit de context de pestanyes obertes", + description: + "Nombre màxim de pestanyes obertes de VSCode a incloure al context. Valors més alts proporcionen més context però augmenten l'ús de token.", + }, + workspaceFiles: { + label: "Límit de context de fitxers de l'espai de treball", + description: + "Nombre màxim de fitxers a incloure als detalls del directori de treball actual. Valors més alts proporcionen més context però augmenten l'ús de token.", + }, + rooignore: { + label: "Mostrar fitxers .rooignore en llistes i cerques", + description: + "Quan està habilitat, els fitxers que coincideixen amb els patrons a .rooignore es mostraran en llistes amb un símbol de cadenat. Quan està deshabilitat, aquests fitxers s'ocultaran completament de les llistes de fitxers i cerques.", + }, + maxReadFile: { + label: "Llindar d'auto-truncament de lectura de fitxers", + description: + "Roo llegeix aquest nombre de línies quan el model omet els valors d'inici/final. Si aquest nombre és menor que el total del fitxer, Roo genera un índex de números de línia de les definicions de codi. Casos especials: -1 indica a Roo que llegeixi tot el fitxer (sense indexació), i 0 indica que no llegeixi cap línia i proporcioni només índexs de línia per a un context mínim. Valors més baixos minimitzen l'ús inicial de context, permetent lectures posteriors de rangs de línies precisos. Les sol·licituds amb inici/final explícits no estan limitades per aquesta configuració.", + lines: "línies", + always_full_read: "Llegeix sempre el fitxer sencer", + }, + maxConcurrentFileReads: { + label: "Límit de lectures simultànies", + description: + "Nombre màxim de fitxers que l'eina 'read_file' pot processar simultàniament. Els valors més alts poden accelerar la lectura de múltiples fitxers petits però augmenten l'ús de memòria.", + }, + diagnostics: { + includeMessages: { + label: "Inclou automàticament diagnòstics al context", + description: + "Quan està activat, els missatges de diagnòstic (errors) dels fitxers editats s'inclouran automàticament al context. Sempre pots incloure manualment tots els diagnòstics de l'espai de treball utilitzant @problems.", + }, + maxMessages: { + label: "Màxim de missatges de diagnòstic", + description: + "Nombre màxim de missatges de diagnòstic a incloure per fitxer. Aquest límit s'aplica tant a la inclusió automàtica (quan la casella està activada) com a les mencions manuals de @problems. Valors més alts proporcionen més context però augmenten l'ús de tokens.", + resetTooltip: "Restablir al valor per defecte (50)", + unlimitedLabel: "Il·limitat", + }, + delayAfterWrite: { + label: "Retard després d'escriptures per permetre que els diagnòstics detectin possibles problemes", + description: + "Temps d'espera després d'escriptures de fitxers abans de continuar, permetent que les eines de diagnòstic processin els canvis i detectin problemes.", + }, + }, + condensingThreshold: { + label: "Llindar d'activació de condensació", + selectProfile: "Configura el llindar per al perfil", + defaultProfile: "Per defecte global (tots els perfils)", + defaultDescription: + "Quan el context arribi a aquest percentatge, es condensarà automàticament per a tots els perfils tret que tinguin configuracions personalitzades", + profileDescription: "Llindar personalitzat només per a aquest perfil (substitueix el per defecte global)", + inheritDescription: "Aquest perfil hereta el llindar per defecte global ({{threshold}}%)", + usesGlobal: "(utilitza global {{threshold}}%)", + }, + maxImageFileSize: { + label: "Mida màxima d'arxiu d'imatge", + mb: "MB", + description: + "Mida màxima (en MB) per a arxius d'imatge que poden ser processats per l'eina de lectura d'arxius.", + }, + maxTotalImageSize: { + label: "Mida total màxima d'imatges", + mb: "MB", + description: + "Límit de mida acumulativa màxima (en MB) per a totes les imatges processades en una sola operació read_file. Quan es llegeixen múltiples imatges, la mida de cada imatge s'afegeix al total. Si incloure una altra imatge excediria aquest límit, serà omesa.", + }, + }, + NH = { + basic: { label: "Configuració del terminal: Bàsica", description: "Configuració bàsica del terminal" }, + advanced: { + label: "Configuració del terminal: Avançada", + description: "Les següents opcions poden requerir reiniciar el terminal per aplicar la configuració.", + }, + outputLineLimit: { + label: "Límit de sortida de terminal", + description: + "Nombre màxim de línies a incloure a la sortida del terminal en executar comandes. Quan s'excedeix, s'eliminaran línies del mig, estalviant token. <0>Més informació</0>", + }, + outputCharacterLimit: { + label: "Límit de caràcters del terminal", + description: + "Nombre màxim de caràcters a incloure en la sortida del terminal en executar ordres. Aquest límit té precedència sobre el límit de línies per evitar problemes de memòria amb línies extremadament llargues. Quan se superi, la sortida es truncarà. <0>Més informació</0>", + }, + shellIntegrationTimeout: { + label: "Temps d'espera d'integració de shell del terminal", + description: `Temps màxim d'espera per a la inicialització de la integració de shell abans d'executar comandes. Per a usuaris amb temps d'inici de shell llargs, aquest valor pot necessitar ser augmentat si veieu errors "Shell Integration Unavailable" al terminal. <0>Més informació</0>`, + }, + shellIntegrationDisabled: { + label: "Desactiva la integració de l'intèrpret d'ordres del terminal", + description: + "Activa això si les ordres del terminal no funcionen correctament o si veus errors de 'Shell Integration Unavailable'. Això utilitza un mètode més senzill per executar ordres, evitant algunes funcions avançades del terminal. <0>Més informació</0>", + }, + commandDelay: { + label: "Retard de comanda del terminal", + description: + "Retard en mil·lisegons a afegir després de l'execució de la comanda. La configuració predeterminada de 0 desactiva completament el retard. Això pot ajudar a assegurar que la sortida de la comanda es capturi completament en terminals amb problemes de temporització. En la majoria de terminals s'implementa establint `PROMPT_COMMAND='sleep N'` i Powershell afegeix `start-sleep` al final de cada comanda. Originalment era una solució per al error VSCode#237208 i pot no ser necessari. <0>Més informació</0>", + }, + compressProgressBar: { + label: "Comprimir sortida de barra de progrés", + description: + "Quan està habilitat, processa la sortida del terminal amb retorns de carro (\\r) per simular com un terminal real mostraria el contingut. Això elimina els estats intermedis de les barres de progrés, mantenint només l'estat final, la qual cosa conserva espai de context per a informació més rellevant. <0>Més informació</0>", + }, + powershellCounter: { + label: "Habilita la solució temporal del comptador PowerShell", + description: + "Quan està habilitat, afegeix un comptador a les comandes PowerShell per assegurar l'execució correcta de les comandes. Això ajuda amb els terminals PowerShell que poden tenir problemes amb la captura de sortida. <0>Més informació</0>", + }, + zshClearEolMark: { + label: "Neteja la marca EOL de ZSH", + description: + "Quan està habilitat, neteja la marca de final de línia de ZSH establint PROMPT_EOL_MARK=''. Això evita problemes amb la interpretació de la sortida de comandes quan acaba amb caràcters especials com '%'. <0>Més informació</0>", + }, + zshOhMy: { + label: "Habilita la integració Oh My Zsh", + description: + "Quan està habilitat, estableix ITERM_SHELL_INTEGRATION_INSTALLED=Yes per habilitar les característiques d'integració del shell Oh My Zsh. Aplicar aquesta configuració pot requerir reiniciar l'IDE. <0>Més informació</0>", + }, + zshP10k: { + label: "Habilita la integració Powerlevel10k", + description: + "Quan està habilitat, estableix POWERLEVEL9K_TERM_SHELL_INTEGRATION=true per habilitar les característiques d'integració del shell Powerlevel10k. <0>Més informació</0>", + }, + zdotdir: { + label: "Habilitar gestió de ZDOTDIR", + description: + "Quan està habilitat, crea un directori temporal per a ZDOTDIR per gestionar correctament la integració del shell zsh. Això assegura que la integració del shell de VSCode funcioni correctament amb zsh mentre es preserva la teva configuració de zsh. <0>Més informació</0>", + }, + inheritEnv: { + label: "Hereta variables d'entorn", + description: + "Quan està habilitat, el terminal hereta les variables d'entorn del procés pare de VSCode, com ara la configuració d'integració del shell definida al perfil d'usuari. Això commuta directament la configuració global de VSCode `terminal.integrated.inheritEnv`. <0>Més informació</0>", + }, + }, + OH = { title: "Configuració avançada" }, + FH = { + diff: { + label: "Habilitar edició mitjançant diffs", + description: + "Quan està habilitat, Roo podrà editar fitxers més ràpidament i rebutjarà automàticament escriptures completes de fitxers truncats. Funciona millor amb l'últim model Claude 3.7 Sonnet.", + strategy: { + label: "Estratègia de diff", + options: { + standard: "Estàndard (Bloc únic)", + multiBlock: "Experimental: Diff multi-bloc", + unified: "Experimental: Diff unificat", + }, + descriptions: { + standard: "L'estratègia de diff estàndard aplica canvis a un sol bloc de codi alhora.", + unified: + "L'estratègia de diff unificat pren múltiples enfocaments per aplicar diffs i tria el millor enfocament.", + multiBlock: + "L'estratègia de diff multi-bloc permet actualitzar múltiples blocs de codi en un fitxer en una sola sol·licitud.", + }, + }, + matchPrecision: { + label: "Precisió de coincidència", + description: + "Aquest control lliscant controla amb quina precisió han de coincidir les seccions de codi en aplicar diffs. Valors més baixos permeten coincidències més flexibles però augmenten el risc de reemplaçaments incorrectes. Utilitzeu valors per sota del 100% amb extrema precaució.", + }, + }, + todoList: { + label: "Habilitar eina de llista de tasques", + description: + "Quan està habilitat, Roo pot crear i gestionar llistes de tasques per fer el seguiment del progrés de les tasques. Això ajuda a organitzar tasques complexes en passos manejables.", + }, + }, + BH = { + DIFF_STRATEGY_UNIFIED: { + name: "Utilitzar estratègia diff unificada experimental", + description: + "Activar l'estratègia diff unificada experimental. Aquesta estratègia podria reduir el nombre de reintents causats per errors del model, però pot causar comportaments inesperats o edicions incorrectes. Activeu-la només si enteneu els riscos i esteu disposats a revisar acuradament tots els canvis.", + }, + SEARCH_AND_REPLACE: { + name: "Utilitzar eina de cerca i reemplaçament experimental", + description: + "Activar l'eina de cerca i reemplaçament experimental, permetent a Roo reemplaçar múltiples instàncies d'un terme de cerca en una sola petició.", + }, + INSERT_BLOCK: { + name: "Utilitzar eina d'inserció de contingut experimental", + description: + "Activar l'eina d'inserció de contingut experimental, permetent a Roo inserir contingut a números de línia específics sense necessitat de crear un diff.", + }, + POWER_STEERING: { + name: 'Utilitzar mode "direcció assistida" experimental', + description: + "Quan està activat, Roo recordarà al model els detalls de la seva definició de mode actual amb més freqüència. Això portarà a una adherència més forta a les definicions de rol i instruccions personalitzades, però utilitzarà més tokens per missatge.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Utilitzar eina diff de blocs múltiples experimental", + description: + "Quan està activat, Roo utilitzarà l'eina diff de blocs múltiples. Això intentarà actualitzar múltiples blocs de codi a l'arxiu en una sola petició.", + }, + CONCURRENT_FILE_READS: { + name: "Habilitar lectura concurrent de fitxers", + description: + "Quan està habilitat, Roo pot llegir múltiples fitxers en una sola sol·licitud. Quan està deshabilitat, Roo ha de llegir fitxers un per un. Deshabilitar-ho pot ajudar quan es treballa amb models menys capaços o quan voleu més control sobre l'accés als fitxers.", + }, + MARKETPLACE: { + name: "Habilitar Marketplace", + description: "Quan està habilitat, pots instal·lar MCP i modes personalitzats del Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Habilita edicions de fitxers concurrents", + description: + "Quan està activat, Roo pot editar múltiples fitxers en una sola petició. Quan està desactivat, Roo ha d'editar fitxers d'un en un. Desactivar això pot ajudar quan es treballa amb models menys capaços o quan vols més control sobre les modificacions de fitxers.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Edició en segon pla", + description: + "Quan s'activa, evita la interrupció del focus de l'editor. Les edicions de fitxers es produeixen en segon pla sense obrir la vista diff o robar el focus. Pots continuar treballant sense interrupcions mentre Roo fa canvis. Els fitxers poden obrir-se sense focus per capturar diagnòstics o romandre completament tancats.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Utilitza el nou analitzador de missatges", + description: + "Activa l'analitzador de missatges en streaming experimental que millora el rendiment en respostes llargues processant els missatges de manera més eficient.", + }, + }, + UH = { + label: "Desactivar la memòria cau de prompts", + description: "Quan està marcat, Roo no utilitzarà la memòria cau de prompts per a aquest model.", + }, + qH = { + useCustom: "Utilitzar temperatura personalitzada", + description: "Controla l'aleatorietat en les respostes del model.", + rangeDescription: + "Valors més alts fan que la sortida sigui més aleatòria, valors més baixos la fan més determinista.", + }, + WH = { + supportsImages: "Suporta imatges", + noImages: "No suporta imatges", + supportsComputerUse: "Suporta ús de l'ordinador", + noComputerUse: "No suporta ús de l'ordinador", + supportsPromptCache: "Suporta emmagatzematge en caché de prompts", + noPromptCache: "No suporta emmagatzematge en caché de prompts", + maxOutput: "Sortida màxima", + inputPrice: "Preu d'entrada", + outputPrice: "Preu de sortida", + cacheReadsPrice: "Preu de lectures de caché", + cacheWritesPrice: "Preu d'escriptures de caché", + enableStreaming: "Habilitar streaming", + enableR1Format: "Activar els paràmetres del model R1", + enableR1FormatTips: "S'ha d'activat quan s'utilitzen models R1 com el QWQ per evitar errors 400", + useAzure: "Utilitzar Azure", + azureApiVersion: "Establir versió de l'API d'Azure", + gemini: { + freeRequests: + "* Gratuït fins a {{count}} sol·licituds per minut. Després d'això, la facturació depèn de la mida del prompt.", + pricingDetails: "Per a més informació, consulteu els detalls de preus.", + billingEstimate: "* La facturació és una estimació - el cost exacte depèn de la mida del prompt.", + }, + }, + KH = { + automaticFetch: `L'extensió obté automàticament la llista més recent de models disponibles a <serviceLink>{{serviceName}}</serviceLink>. Si no esteu segur de quin model triar, Roo Code funciona millor amb <defaultModelLink>{{defaultModelId}}</defaultModelLink>. També podeu cercar "free" per a opcions gratuïtes actualment disponibles.`, + label: "Model", + searchPlaceholder: "Cerca", + noMatchFound: "No s'ha trobat cap coincidència", + useCustomModel: "Utilitzar personalitzat: {{modelId}}", + }, + VH = { + feedback: + "Si teniu qualsevol pregunta o comentari, no dubteu a obrir un issue a <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> o unir-vos a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Permetre informes anònims d'errors i ús", + description: + "Ajudeu a millorar Roo Code enviant dades d'ús anònimes i informes d'errors. Mai s'envia codi, prompts o informació personal. Vegeu la nostra política de privacitat per a més detalls.", + }, + settings: { import: "Importar", export: "Exportar", reset: "Restablir" }, + }, + HH = { maxTokens: "Tokens màxims", maxThinkingTokens: "Tokens de pensament màxims" }, + GH = { + apiKey: "Heu de proporcionar una clau API vàlida.", + awsRegion: "Heu de triar una regió per utilitzar Amazon Bedrock.", + googleCloud: "Heu de proporcionar un ID de projecte i regió de Google Cloud vàlids.", + modelId: "Heu de proporcionar un ID de model vàlid.", + modelSelector: "Heu de proporcionar un selector de model vàlid.", + openAi: "Heu de proporcionar una URL base, clau API i ID de model vàlids.", + arn: { + invalidFormat: "Format ARN no vàlid. Si us plau, comproveu els requisits del format.", + regionMismatch: + "Avís: La regió del vostre ARN ({{arnRegion}}) no coincideix amb la regió seleccionada ({{region}}). Això pot causar problemes d'accés. El proveïdor utilitzarà la regió de l'ARN.", + }, + modelAvailability: + "L'ID de model ({{modelId}}) que heu proporcionat no està disponible. Si us plau, trieu un altre model.", + providerNotAllowed: "El proveïdor '{{provider}}' no està permès per la vostra organització", + modelNotAllowed: + "El model '{{model}}' no està permès per al proveïdor '{{provider}}' per la vostra organització", + profileInvalid: "Aquest perfil conté un proveïdor o model que no està permès per la vostra organització", + }, + QH = { + apiKey: "Introduïu la clau API...", + profileName: "Introduïu el nom del perfil", + accessKey: "Introduïu la clau d'accés...", + secretKey: "Introduïu la clau secreta...", + sessionToken: "Introduïu el token de sessió...", + credentialsJson: "Introduïu el JSON de credencials...", + keyFilePath: "Introduïu la ruta del fitxer de clau...", + projectId: "Introduïu l'ID del projecte...", + customArn: "Introduïu l'ARN (p. ex. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Introduïu l'URL base...", + modelId: { + lmStudio: "p. ex. meta-llama-3.1-8b-instruct", + lmStudioDraft: "p. ex. lmstudio-community/llama-3.2-1b-instruct", + ollama: "p. ex. llama3.1", + }, + numbers: { + maxTokens: "p. ex. 4096", + contextWindow: "p. ex. 128000", + inputPrice: "p. ex. 0.0001", + outputPrice: "p. ex. 0.0002", + cacheWritePrice: "p. ex. 0.00005", + }, + }, + ZH = { + ollamaUrl: "Per defecte: http://localhost:11434", + lmStudioUrl: "Per defecte: http://localhost:1234", + geminiUrl: "Per defecte: https://generativelanguage.googleapis.com", + }, + YH = { customArn: "ARN personalitzat", useCustomArn: "Utilitza ARN personalitzat..." }, + XH = "Incloure tokens màxims de sortida", + JH = + "Enviar el paràmetre de tokens màxims de sortida a les sol·licituds API. Alguns proveïdors poden no admetre això.", + eG = "Limitar el nombre màxim de tokens en la resposta", + tG = "Tokens màxims de sortida", + nG = "Tokens màxims a generar en la resposta", + Vft = { + common: AH, + header: PH, + unsavedChangesDialog: RH, + sections: TH, + prompts: IH, + codeIndex: MH, + autoApprove: jH, + providers: EH, + browser: zH, + checkpoints: $H, + notifications: LH, + contextManagement: DH, + terminal: NH, + advancedSettings: OH, + advanced: FH, + experimental: BH, + promptCaching: UH, + temperature: qH, + modelInfo: WH, + modelPicker: KH, + footer: VH, + thinkingBudget: HH, + validation: GH, + placeholders: QH, + defaults: ZH, + labels: YH, + includeMaxOutputTokens: XH, + includeMaxOutputTokensDescription: JH, + limitMaxTokensDescription: eG, + maxOutputTokensLabel: tG, + maxTokensGenerateDescription: nG, + }, + Hft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: FH, + advancedSettings: OH, + autoApprove: jH, + browser: zH, + checkpoints: $H, + codeIndex: MH, + common: AH, + contextManagement: DH, + default: Vft, + defaults: ZH, + experimental: BH, + footer: VH, + header: PH, + includeMaxOutputTokens: XH, + includeMaxOutputTokensDescription: JH, + labels: YH, + limitMaxTokensDescription: eG, + maxOutputTokensLabel: tG, + maxTokensGenerateDescription: nG, + modelInfo: WH, + modelPicker: KH, + notifications: LH, + placeholders: QH, + promptCaching: UH, + prompts: IH, + providers: EH, + sections: TH, + temperature: qH, + terminal: NH, + thinkingBudget: HH, + unsavedChangesDialog: RH, + validation: GH, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + oG = "Benvingut a Roo Code!", + rG = + "Amb una gamma de Modes integrats i ampliables, Roo Code et permet planificar, arquitectar, codificar, depurar i augmentar la teva productivitat com mai abans.", + iG = "Per començar, aquesta extensió necessita un proveïdor d'API.", + sG = "Som-hi!", + aG = { + requesty: { description: "El teu router LLM optimitzat", incentive: "$1 de crèdit gratuït" }, + openrouter: { description: "Una interfície unificada per a LLMs" }, + }, + lG = "Per fer la seva màgia, Roo necessita una clau API.", + cG = "Recomanem utilitzar un router LLM:", + dG = "O pots utilitzar la teva pròpia clau API:", + uG = { + title: "Ajuda a millorar Roo Code", + anonymousTelemetry: + "Envia dades d'ús i errors anònims per ajudar-nos a corregir errors i millorar l'extensió. No s'envia mai cap codi, text o informació personal.", + changeSettings: "Sempre pots canviar això a la part inferior de la <settingsLink>configuració</settingsLink>", + settings: "configuració", + allow: "Permetre", + deny: "Denegar", + }, + pG = "Importar configuració", + Gft = { + greeting: oG, + introduction: rG, + notice: iG, + start: sG, + routers: aG, + chooseProvider: lG, + startRouter: cG, + startCustom: dG, + telemetry: uG, + importSettings: pG, + }, + Qft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: lG, + default: Gft, + greeting: oG, + importSettings: pG, + introduction: rG, + notice: iG, + routers: aG, + start: sG, + startCustom: dG, + startRouter: cG, + telemetry: uG, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + mG = "Konto", + hG = "Profilbild", + fG = "Abmelden", + gG = "API-Authentifizierung testen", + vG = "Mit Roo Code Cloud verbinden", + bG = "Verbinden", + yG = "Mit Roo Code Cloud verbinden", + kG = "Synchronisiere deine Prompts und Telemetrie, um folgendes zu aktivieren:", + xG = "Online-Aufgabenverlauf", + wG = "Freigabe- und Kollaborationsfunktionen", + _G = "Aufgaben-, Token- und kostenbasierte Nutzungsmetriken", + CG = "Verfolge und steuere Aufgaben von überall mit Roomote Control", + SG = "Roomote Control", + AG = "Ermöglicht das Verfolgen und Interagieren mit Aufgaben in diesem Arbeitsbereich mit Roo Code Cloud", + PG = "Roo Code Cloud besuchen", + Zft = { + title: mG, + profilePicture: hG, + logOut: fG, + testApiAuthentication: gG, + signIn: vG, + connect: bG, + cloudBenefitsTitle: yG, + cloudBenefitsSubtitle: kG, + cloudBenefitHistory: xG, + cloudBenefitSharing: wG, + cloudBenefitMetrics: _G, + cloudBenefitWalkaway: CG, + remoteControl: SG, + remoteControlDescription: AG, + visitCloudWebsite: PG, + }, + Yft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: xG, + cloudBenefitMetrics: _G, + cloudBenefitSharing: wG, + cloudBenefitWalkaway: CG, + cloudBenefitsSubtitle: kG, + cloudBenefitsTitle: yG, + connect: bG, + default: Zft, + logOut: fG, + profilePicture: hG, + remoteControl: SG, + remoteControlDescription: AG, + signIn: vG, + testApiAuthentication: gG, + title: mG, + visitCloudWebsite: PG, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + RG = "Willkommen bei Roo Code", + TG = { + title: "Aufgabe", + seeMore: "Mehr anzeigen", + seeLess: "Weniger anzeigen", + tokens: "Tokens:", + cache: "Cache:", + apiCost: "API-Kosten:", + contextWindow: "Kontextfenster:", + closeAndStart: "Aufgabe schließen und neue starten", + export: "Aufgabenverlauf exportieren", + delete: "Aufgabe löschen (Shift + Klick zum Überspringen der Bestätigung)", + share: "Aufgabe teilen", + condenseContext: "Kontext intelligent komprimieren", + shareWithOrganization: "Mit Organisation teilen", + shareWithOrganizationDescription: "Nur Mitglieder deiner Organisation können zugreifen", + sharePublicly: "Öffentlich teilen", + sharePubliclyDescription: "Jeder mit dem Link kann zugreifen", + connectToCloud: "Mit Cloud verbinden", + connectToCloudDescription: "Melde dich bei Roo Code Cloud an, um Aufgaben zu teilen", + sharingDisabledByOrganization: "Freigabe von der Organisation deaktiviert", + shareSuccessOrganization: "Organisationslink in die Zwischenablage kopiert", + shareSuccessPublic: "Öffentlicher Link in die Zwischenablage kopiert", + }, + IG = "Lösen von oben", + MG = "Anheften", + jG = { + availableSpace: "Verfügbarer Speicher: {{amount}} Tokens", + tokensUsed: "Verwendete Tokens: {{used}} von {{total}}", + reservedForResponse: "Reserviert für Modellantwort: {{amount}} Tokens", + }, + EG = { title: "Wiederholen", tooltip: "Versuch erneut starten" }, + zG = { title: "Neue Aufgabe starten", tooltip: "Beginne eine neue Aufgabe" }, + $G = { title: "Trotzdem fortfahren", tooltip: "Während der Befehlsausführung fortfahren" }, + LG = { title: "Speichern", tooltip: "Nachrichtenänderungen speichern" }, + DG = { title: "Ablehnen", tooltip: "Diese Aktion ablehnen" }, + NG = "Teilaufgabe abschließen und zurückkehren", + OG = { title: "Genehmigen", tooltip: "Diese Aktion genehmigen" }, + FG = { title: "Befehl ausführen", tooltip: "Diesen Befehl ausführen" }, + BG = { title: "Während Ausführung fortfahren", tooltip: "Trotz Warnungen fortfahren" }, + UG = { title: "Befehl abbrechen", tooltip: "Aktuellen Befehl abbrechen" }, + qG = { title: "Aufgabe fortsetzen", tooltip: "Aktuelle Aufgabe fortsetzen" }, + WG = { title: "Beenden", tooltip: "Aktuelle Aufgabe beenden" }, + KG = { title: "Abbrechen", tooltip: "Aktuelle Operation abbrechen" }, + VG = "Zum Chat-Ende scrollen", + HG = + "Generiere, überarbeite und debugge Code mit KI-Unterstützung. Weitere Informationen findest du in unserer <DocsLink>Dokumentation</DocsLink>.", + GG = + "<strong>Deine Aufgabenliste in diesem Arbeitsbereich ist leer.</strong> Beginne mit der Eingabe einer Aufgabe unten. Du bist dir nicht sicher, wie du anfangen sollst? Lies mehr darüber, was Roo für dich tun kann, in <DocsLink>den Dokumenten</DocsLink>.", + QG = { + boomerangTasks: { + title: "Aufgaben-Orchestrierung", + description: "Teile Aufgaben in kleinere, überschaubare Teile auf.", + }, + stickyModels: { title: "Sticky Modi", description: "Jeder Modus merkt sich dein zuletzt verwendetes Modell" }, + tools: { + title: "Tools", + description: "Erlaube der KI, Probleme durch Surfen im Web, Ausführen von Befehlen und mehr zu lösen.", + }, + customizableModes: { + title: "Anpassbare Modi", + description: "Spezialisierte Personas mit eigenem Verhalten und zugewiesenen Modellen", + }, + }, + ZG = "Interaktionsmodus auswählen", + YG = "API-Konfiguration auswählen", + XG = "Prompt mit zusätzlichem Kontext verbessern", + JG = "Bilder zur Nachricht hinzufügen", + e8 = "Nachricht senden", + t8 = "Text-in-Sprache beenden", + n8 = "Nachricht eingeben...", + o8 = "Gib deine Aufgabe hier ein...", + r8 = "@ für Kontext, / für Befehle", + i8 = "Shift halten, um Dateien einzufügen", + s8 = "Shift halten, um Dateien/Bilder einzufügen", + a8 = + "Die Schaltfläche 'Prompt verbessern' hilft, deine Anfrage durch zusätzlichen Kontext, Klarstellungen oder Umformulierungen zu verbessern. Versuche, hier eine Anfrage einzugeben und klicke erneut auf die Schaltfläche, um zu sehen, wie es funktioniert.", + l8 = { + title: "Modi", + marketplace: "Modus-Marketplace", + settings: "Modus-Einstellungen", + description: "Spezialisierte Personas, die Roos Verhalten anpassen.", + searchPlaceholder: "Modi suchen...", + noResults: "Keine Ergebnisse gefunden", + }, + c8 = "Fehler beim Lesen der Datei:", + d8 = "Keine gültigen Bilder wurden verarbeitet", + u8 = "Trennlinie", + p8 = "Bearbeiten...", + m8 = "für nächsten Modus", + h8 = "für vorherigen Modus", + f8 = "Fehler", + g8 = { title: "Bearbeitung fehlgeschlagen" }, + v8 = "Roo hat Probleme...", + b8 = { + title: "API-Anfrage", + failed: "API-Anfrage fehlgeschlagen", + streaming: "API-Anfrage...", + cancelled: "API-Anfrage abgebrochen", + streamingFailed: "API-Streaming fehlgeschlagen", + }, + y8 = { + regular: "Checkpoint", + initializingWarning: + "Checkpoint wird noch initialisiert... Falls dies zu lange dauert, kannst du Checkpoints in den <settingsLink>Einstellungen</settingsLink> deaktivieren und deine Aufgabe neu starten.", + menu: { + viewDiff: "Unterschiede anzeigen", + restore: "Checkpoint wiederherstellen", + restoreFiles: "Dateien wiederherstellen", + restoreFilesDescription: + "Stellt die Dateien deines Projekts auf einen Snapshot zurück, der an diesem Punkt erstellt wurde.", + restoreFilesAndTask: "Dateien & Aufgabe wiederherstellen", + confirm: "Bestätigen", + cancel: "Abbrechen", + cannotUndo: "Diese Aktion kann nicht rückgängig gemacht werden.", + restoreFilesAndTaskDescription: + "Stellt die Dateien deines Projekts auf einen Snapshot zurück, der an diesem Punkt erstellt wurde, und löscht alle Nachrichten nach diesem Punkt.", + }, + current: "Aktuell", + }, + k8 = { wantsToFetch: "Roo möchte detaillierte Anweisungen abrufen, um bei der aktuellen Aufgabe zu helfen" }, + x8 = { + wantsToRead: "Roo möchte diese Datei lesen:", + wantsToReadAndXMore: "Roo möchte diese Datei und {{count}} weitere lesen:", + wantsToReadOutsideWorkspace: "Roo möchte diese Datei außerhalb des Arbeitsbereichs lesen:", + didRead: "Roo hat diese Datei gelesen:", + wantsToEdit: "Roo möchte diese Datei bearbeiten:", + wantsToEditOutsideWorkspace: "Roo möchte diese Datei außerhalb des Arbeitsbereichs bearbeiten:", + wantsToEditProtected: "Roo möchte eine geschützte Konfigurationsdatei bearbeiten:", + wantsToCreate: "Roo möchte eine neue Datei erstellen:", + wantsToSearchReplace: "Roo möchte in dieser Datei suchen und ersetzen:", + didSearchReplace: "Roo hat Suchen und Ersetzen in dieser Datei durchgeführt:", + wantsToInsert: "Roo möchte Inhalte in diese Datei einfügen:", + wantsToInsertWithLineNumber: "Roo möchte Inhalte in diese Datei in Zeile {{lineNumber}} einfügen:", + wantsToInsertAtEnd: "Roo möchte Inhalte am Ende dieser Datei anhängen:", + wantsToReadMultiple: "Roo möchte mehrere Dateien lesen:", + wantsToApplyBatchChanges: "Roo möchte Änderungen an mehreren Dateien vornehmen:", + }, + w8 = { + wantsToViewTopLevel: "Roo möchte die Dateien auf oberster Ebene in diesem Verzeichnis anzeigen:", + didViewTopLevel: "Roo hat die Dateien auf oberster Ebene in diesem Verzeichnis angezeigt:", + wantsToViewRecursive: "Roo möchte rekursiv alle Dateien in diesem Verzeichnis anzeigen:", + didViewRecursive: "Roo hat rekursiv alle Dateien in diesem Verzeichnis angezeigt:", + wantsToViewDefinitions: "Roo möchte Quellcode-Definitionsnamen in diesem Verzeichnis anzeigen:", + didViewDefinitions: "Roo hat Quellcode-Definitionsnamen in diesem Verzeichnis angezeigt:", + wantsToSearch: "Roo möchte dieses Verzeichnis nach <code>{{regex}}</code> durchsuchen:", + didSearch: "Roo hat dieses Verzeichnis nach <code>{{regex}}</code> durchsucht:", + wantsToSearchOutsideWorkspace: + "Roo möchte dieses Verzeichnis (außerhalb des Arbeitsbereichs) nach <code>{{regex}}</code> durchsuchen:", + didSearchOutsideWorkspace: + "Roo hat dieses Verzeichnis (außerhalb des Arbeitsbereichs) nach <code>{{regex}}</code> durchsucht:", + wantsToViewTopLevelOutsideWorkspace: + "Roo möchte die Dateien auf oberster Ebene in diesem Verzeichnis (außerhalb des Arbeitsbereichs) anzeigen:", + didViewTopLevelOutsideWorkspace: + "Roo hat die Dateien auf oberster Ebene in diesem Verzeichnis (außerhalb des Arbeitsbereichs) angezeigt:", + wantsToViewRecursiveOutsideWorkspace: + "Roo möchte rekursiv alle Dateien in diesem Verzeichnis (außerhalb des Arbeitsbereichs) anzeigen:", + didViewRecursiveOutsideWorkspace: + "Roo hat rekursiv alle Dateien in diesem Verzeichnis (außerhalb des Arbeitsbereichs) angezeigt:", + wantsToViewDefinitionsOutsideWorkspace: + "Roo möchte Quellcode-Definitionsnamen in diesem Verzeichnis (außerhalb des Arbeitsbereichs) anzeigen:", + didViewDefinitionsOutsideWorkspace: + "Roo hat Quellcode-Definitionsnamen in diesem Verzeichnis (außerhalb des Arbeitsbereichs) angezeigt:", + }, + _8 = "Befehlsausgabe", + C8 = { + running: "Wird ausgeführt", + pid: "PID: {{pid}}", + exited: "Beendet ({{exitCode}})", + manageCommands: "Befehlsberechtigungen verwalten", + commandManagementDescription: + "Befehlsberechtigungen verwalten: Klicke auf ✓, um die automatische Ausführung zu erlauben, ✗, um die Ausführung zu verweigern. Muster können ein-/ausgeschaltet oder aus Listen entfernt werden. <settingsLink>Alle Einstellungen anzeigen</settingsLink>", + addToAllowed: "Zur Liste der erlaubten Befehle hinzufügen", + removeFromAllowed: "Von der Liste der erlaubten Befehle entfernen", + addToDenied: "Zur Liste der verweigerten Befehle hinzufügen", + removeFromDenied: "Von der Liste der verweigerten Befehle entfernen", + abortCommand: "Befehlsausführung abbrechen", + expandOutput: "Ausgabe erweitern", + collapseOutput: "Ausgabe einklappen", + expandManagement: "Befehlsverwaltungsbereich erweitern", + collapseManagement: "Befehlsverwaltungsbereich einklappen", + }, + S8 = "Antwort", + A8 = { + wantsToUseTool: "Roo möchte ein Tool auf dem {{serverName}} MCP-Server verwenden:", + wantsToAccessResource: "Roo möchte auf eine Ressource auf dem {{serverName}} MCP-Server zugreifen:", + }, + P8 = { + wantsToSwitch: "Roo möchte zum <code>{{mode}}</code>-Modus wechseln", + wantsToSwitchWithReason: "Roo möchte zum <code>{{mode}}</code>-Modus wechseln, weil: {{reason}}", + didSwitch: "Roo hat zum <code>{{mode}}</code>-Modus gewechselt", + didSwitchWithReason: "Roo hat zum <code>{{mode}}</code>-Modus gewechselt, weil: {{reason}}", + }, + R8 = { + wantsToCreate: "Roo möchte eine neue Teilaufgabe im <code>{{mode}}</code>-Modus erstellen:", + wantsToFinish: "Roo möchte diese Teilaufgabe abschließen", + newTaskContent: "Teilaufgabenanweisungen", + completionContent: "Teilaufgabe abgeschlossen", + resultContent: "Teilaufgabenergebnisse", + defaultResult: "Bitte fahre mit der nächsten Aufgabe fort.", + completionInstructions: + "Teilaufgabe abgeschlossen! Du kannst die Ergebnisse überprüfen und Korrekturen oder nächste Schritte vorschlagen. Wenn alles gut aussieht, bestätige, um das Ergebnis an die übergeordnete Aufgabe zurückzugeben.", + }, + T8 = { hasQuestion: "Roo hat eine Frage:" }, + I8 = "Aufgabe abgeschlossen", + M8 = { issues: "Es scheint, dass du Probleme mit Windows PowerShell hast, bitte sieh dir dies an" }, + j8 = { + title: "Automatische Genehmigung:", + none: "Keine", + description: + "Automatische Genehmigung erlaubt Roo Code, Aktionen ohne Nachfrage auszuführen. Aktiviere dies nur für Aktionen, denen du vollständig vertraust. Detailliertere Konfiguration verfügbar in den <settingsLink>Einstellungen</settingsLink>.", + selectOptionsFirst: + "Wähle mindestens eine der folgenden Optionen aus, um die automatische Genehmigung zu aktivieren", + toggleAriaLabel: "Automatische Genehmigung umschalten", + disabledAriaLabel: "Automatische Genehmigung deaktiviert - zuerst Optionen auswählen", + }, + E8 = { thinking: "Denke nach", seconds: "{{count}}s" }, + z8 = { + title: "Kontext komprimiert", + condensing: "Kontext wird komprimiert...", + errorHeader: "Kontext konnte nicht komprimiert werden", + tokens: "Tokens", + }, + $8 = { + copyToInput: "In Eingabefeld kopieren (oder Shift + Klick)", + autoSelectCountdown: "Automatische Auswahl in {{count}}s", + countdownDisplay: "{{count}}s", + }, + L8 = { + title: "🎉 Roo Code {{version}} veröffentlicht", + description: + "Roo Code {{version}} bringt mächtige neue Funktionen und bedeutende Verbesserungen, um deinen Entwicklungsworkflow zu verbessern.", + whatsNew: "Was ist neu", + feature1: + "<bold>Nachrichten-Warteschlange</bold>: Stelle mehrere Nachrichten in die Warteschlange, während Roo arbeitet, damit du deinen Workflow ohne Unterbrechung weiter planen kannst.", + feature2: + "<bold>Benutzerdefinierte Slash-Befehle</bold>: Erstelle personalisierte Slash-Befehle für schnellen Zugriff auf häufig verwendete Prompts und Workflows mit vollständiger UI-Verwaltung.", + feature3: + "<bold>Erweiterte Gemini-Tools</bold>: Neue URL-Kontext- und Google-Such-Grundlagen-Funktionen bieten Gemini-Modellen Echtzeit-Web-Informationen und erweiterte Recherche-Fähigkeiten.", + hideButton: "Ankündigung ausblenden", + detailsDiscussLinks: + "Erhalte mehr Details und diskutiere auf <discordLink>Discord</discordLink> und <redditLink>Reddit</redditLink> 🚀", + }, + D8 = { + rooWantsToUse: "Roo möchte den Browser verwenden:", + consoleLogs: "Konsolenprotokolle", + noNewLogs: "(Keine neuen Protokolle)", + screenshot: "Browser-Screenshot", + cursor: "Cursor", + navigation: { step: "Schritt {{current}} von {{total}}", previous: "Zurück", next: "Weiter" }, + sessionStarted: "Browser-Sitzung gestartet", + actions: { + title: "Browser-Aktion: ", + launch: "Browser starten auf {{url}}", + click: "Klicken ({{coordinate}})", + type: 'Eingeben "{{text}}"', + scrollDown: "Nach unten scrollen", + scrollUp: "Nach oben scrollen", + close: "Browser schließen", + }, + }, + N8 = { + tooltips: { + expand: "Code-Block erweitern", + collapse: "Code-Block reduzieren", + enable_wrap: "Zeilenumbruch aktivieren", + disable_wrap: "Zeilenumbruch deaktivieren", + copy_code: "Code kopieren", + }, + }, + O8 = + "WARNUNG: Benutzerdefinierte Systemaufforderung aktiv. Dies kann die Funktionalität erheblich beeinträchtigen und zu unvorhersehbarem Verhalten führen.", + F8 = "Das aktuelle Profil ist nicht kompatibel mit den Einstellungen deiner Organisation", + B8 = { + title: "Befehlsausführungswarnung", + description: + "Dein Befehl wird ohne VSCode Terminal-Shell-Integration ausgeführt. Um diese Warnung zu unterdrücken, kannst du die Shell-Integration im Abschnitt <strong>Terminal</strong> der <settingsLink>Roo Code Einstellungen</settingsLink> deaktivieren oder die VSCode Terminal-Integration mit dem Link unten beheben.", + troubleshooting: "Klicke hier für die Shell-Integrationsdokumentation.", + }, + U8 = { + autoApprovedRequestLimitReached: { + title: "Limit für automatisch genehmigte Anfragen erreicht", + description: + "Roo hat das automatisch genehmigte Limit von {{count}} API-Anfrage(n) erreicht. Möchtest du den Zähler zurücksetzen und mit der Aufgabe fortfahren?", + button: "Zurücksetzen und fortfahren", + }, + autoApprovedCostLimitReached: { + description: + "Roo hat das automatisch genehmigte Kostenlimit von ${{count}} erreicht. Möchten Sie die Kosten zurücksetzen und mit der Aufgabe fortfahren?", + title: "Kostengrenze für automatische Genehmigung erreicht", + button: "Zurücksetzen und Fortfahren", + }, + }, + q8 = { + wantsToSearch: "Roo möchte den Codebase nach <code>{{query}}</code> durchsuchen:", + wantsToSearchWithPath: + "Roo möchte den Codebase nach <code>{{query}}</code> in <code>{{path}}</code> durchsuchen:", + didSearch_one: "1 Ergebnis gefunden", + didSearch_other: "{{count}} Ergebnisse gefunden", + resultTooltip: "Ähnlichkeitswert: {{score}} (klicken zum Öffnen der Datei)", + }, + W8 = { + ready: "Index bereit", + indexing: "Indizierung {{percentage}}%", + indexed: "Indiziert", + error: "Index-Fehler", + status: "Index-Status", + }, + K8 = { ariaLabel: "Version {{version}} - Klicken Sie, um die Versionshinweise anzuzeigen" }, + V8 = { + title: "Roo Code Cloud kommt bald!", + description: + "Führe Remote-Agenten in der Cloud aus, greife von überall auf deine Aufgaben zu, arbeite mit anderen zusammen und vieles mehr.", + joinWaitlist: "Tritt der Warteliste bei, um frühen Zugang zu erhalten.", + }, + H8 = { triggerDescription: "Starte den {{name}} Befehl" }, + G8 = { placeholder: "Bearbeite deine Nachricht..." }, + Q8 = { + tooltip: "Slash-Befehle verwalten", + title: "Slash-Befehle", + description: + "Erstelle benutzerdefinierte Slash-Befehle für schnellen Zugriff auf häufig verwendete Prompts und Workflows. <DocsLink>Dokumentation</DocsLink>", + globalCommands: "Globale Befehle", + workspaceCommands: "Arbeitsbereich-Befehle", + globalCommand: "Globaler Befehl", + editCommand: "Befehl bearbeiten", + deleteCommand: "Befehl löschen", + newGlobalCommandPlaceholder: "Neuer globaler Befehl...", + newWorkspaceCommandPlaceholder: "Neuer Arbeitsbereich-Befehl...", + deleteDialog: { + title: "Befehl löschen", + description: + 'Bist du sicher, dass du den Befehl "{{name}}" löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.', + cancel: "Abbrechen", + confirm: "Löschen", + }, + }, + Z8 = { title: "Warteschlange Nachrichten:", clickToEdit: "Klicken zum Bearbeiten der Nachricht" }, + Xft = { + greeting: RG, + task: TG, + unpin: IG, + pin: MG, + tokenProgress: jG, + retry: EG, + startNewTask: zG, + proceedAnyways: $G, + save: LG, + reject: DG, + completeSubtaskAndReturn: NG, + approve: OG, + runCommand: FG, + proceedWhileRunning: BG, + killCommand: UG, + resumeTask: qG, + terminate: WG, + cancel: KG, + scrollToBottom: VG, + about: HG, + onboarding: GG, + rooTips: QG, + selectMode: ZG, + selectApiConfig: YG, + enhancePrompt: XG, + addImages: JG, + sendMessage: e8, + stopTts: t8, + typeMessage: n8, + typeTask: o8, + addContext: r8, + dragFiles: i8, + dragFilesImages: s8, + enhancePromptDescription: a8, + modeSelector: l8, + errorReadingFile: c8, + noValidImages: d8, + separator: u8, + edit: p8, + forNextMode: m8, + forPreviousMode: h8, + error: f8, + diffError: g8, + troubleMessage: v8, + apiRequest: b8, + checkpoint: y8, + instructions: k8, + fileOperations: x8, + directoryOperations: w8, + commandOutput: _8, + commandExecution: C8, + response: S8, + arguments: "Argumente", + mcp: A8, + modes: P8, + subtasks: R8, + questions: T8, + taskCompleted: I8, + powershell: M8, + autoApprove: j8, + reasoning: E8, + contextCondense: z8, + followUpSuggest: $8, + announcement: L8, + browser: D8, + codeblock: N8, + systemPromptWarning: O8, + profileViolationWarning: F8, + shellIntegration: B8, + ask: U8, + codebaseSearch: q8, + "read-batch": { approve: { title: "Alle genehmigen" }, deny: { title: "Alle ablehnen" } }, + indexingStatus: W8, + versionIndicator: K8, + rooCloudCTA: V8, + command: H8, + editMessage: G8, + slashCommands: Q8, + queuedMessages: Z8, + }, + Jft = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: HG, + addContext: r8, + addImages: JG, + announcement: L8, + apiRequest: b8, + approve: OG, + ask: U8, + autoApprove: j8, + browser: D8, + cancel: KG, + checkpoint: y8, + codebaseSearch: q8, + codeblock: N8, + command: H8, + commandExecution: C8, + commandOutput: _8, + completeSubtaskAndReturn: NG, + contextCondense: z8, + default: Xft, + diffError: g8, + directoryOperations: w8, + dragFiles: i8, + dragFilesImages: s8, + edit: p8, + editMessage: G8, + enhancePrompt: XG, + enhancePromptDescription: a8, + error: f8, + errorReadingFile: c8, + fileOperations: x8, + followUpSuggest: $8, + forNextMode: m8, + forPreviousMode: h8, + greeting: RG, + indexingStatus: W8, + instructions: k8, + killCommand: UG, + mcp: A8, + modeSelector: l8, + modes: P8, + noValidImages: d8, + onboarding: GG, + pin: MG, + powershell: M8, + proceedAnyways: $G, + proceedWhileRunning: BG, + profileViolationWarning: F8, + questions: T8, + queuedMessages: Z8, + reasoning: E8, + reject: DG, + response: S8, + resumeTask: qG, + retry: EG, + rooCloudCTA: V8, + rooTips: QG, + runCommand: FG, + save: LG, + scrollToBottom: VG, + selectApiConfig: YG, + selectMode: ZG, + sendMessage: e8, + separator: u8, + shellIntegration: B8, + slashCommands: Q8, + startNewTask: zG, + stopTts: t8, + subtasks: R8, + systemPromptWarning: O8, + task: TG, + taskCompleted: I8, + terminate: WG, + tokenProgress: jG, + troubleMessage: v8, + typeMessage: n8, + typeTask: o8, + unpin: IG, + versionIndicator: K8, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Y8 = { + title: "Etwas ist schiefgelaufen", + reportText: "Bitte hilf uns, besser zu werden, indem du diesen Fehler meldest auf", + githubText: "unserer GitHub Issues-Seite", + copyInstructions: "Kopiere die folgende Fehlermeldung und füge sie deiner Meldung bei:", + errorStack: "Fehler-Stack:", + componentStack: "Komponenten-Stack:", + }, + X8 = { yes: "Ja", no: "Nein", cancel: "Abbrechen", remove: "Entfernen", keep: "Behalten" }, + J8 = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + e9 = { search_placeholder: "Suchen...", no_results: "Keine Ergebnisse gefunden" }, + t9 = { + loading: "Mermaid-Diagramm wird generiert...", + render_error: "Diagramm kann nicht gerendert werden", + buttons: { + zoom: "Zoom", + zoomIn: "Vergrößern", + zoomOut: "Verkleinern", + copy: "Kopieren", + save: "Bild speichern", + viewCode: "Code anzeigen", + viewDiagram: "Diagramm anzeigen", + close: "Schließen", + }, + modal: { codeTitle: "Mermaid-Code" }, + tabs: { diagram: "Diagramm", code: "Code" }, + feedback: { imageCopied: "Bild in die Zwischenablage kopiert", copyError: "Fehler beim Kopieren des Bildes" }, + }, + n9 = { + errors: { + invalidDataUri: "Ungültiges Daten-URI-Format", + copyingImage: "Fehler beim Kopieren des Bildes: {{error}}", + openingImage: "Fehler beim Öffnen des Bildes: {{error}}", + pathNotExists: "Pfad existiert nicht: {{path}}", + couldNotOpen: "Datei konnte nicht geöffnet werden: {{error}}", + couldNotOpenGeneric: "Datei konnte nicht geöffnet werden!", + }, + success: { imageDataUriCopied: "Bild-Daten-URI in die Zwischenablage kopiert" }, + }, + o9 = { + deleteMessage: "Nachricht löschen", + deleteWarning: + "Das Löschen dieser Nachricht wird alle nachfolgenden Nachrichten in der Unterhaltung löschen. Möchtest du fortfahren?", + editMessage: "Nachricht bearbeiten", + editWarning: + "Das Bearbeiten dieser Nachricht wird alle nachfolgenden Nachrichten in der Unterhaltung löschen. Möchtest du fortfahren?", + proceed: "Fortfahren", + }, + egt = { errorBoundary: Y8, answers: X8, number_format: J8, ui: e9, mermaid: t9, file: n9, confirmation: o9 }, + tgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: X8, + confirmation: o9, + default: egt, + errorBoundary: Y8, + file: n9, + mermaid: t9, + number_format: J8, + ui: e9, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + r9 = "Aufgaben", + i9 = "Alle anzeigen", + s9 = "Tokens: ↑{{in}} ↓{{out}}", + a9 = "Cache: +{{writes}} → {{reads}}", + l9 = "API-Kosten: ${{cost}}", + c9 = "Verlauf", + d9 = "Auswahlmodus beenden", + u9 = "Auswahlmodus starten", + p9 = "Fertig", + m9 = "Verlauf durchsuchen...", + h9 = "Neueste", + f9 = "Älteste", + g9 = "Teuerste", + v9 = "Meiste Tokens", + b9 = "Relevanteste", + y9 = "Aufgabe löschen (Umschalt + Klick um Bestätigung zu überspringen)", + k9 = "Tokens:", + x9 = "Cache:", + w9 = "API-Kosten:", + _9 = "Prompt kopieren", + C9 = "Aufgabe exportieren", + S9 = "Aufgabe löschen", + A9 = "Bist du sicher, dass du diese Aufgabe löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.", + P9 = "Abbrechen", + R9 = "Auswahl beenden", + T9 = "Auswahlmodus", + I9 = "Alle abwählen", + M9 = "Alle auswählen", + j9 = "{{selected}}/{{total}} Elemente ausgewählt", + E9 = "Auswahl aufheben", + z9 = "Ausgewählte löschen", + $9 = "Aufgaben löschen", + L9 = "Bist du sicher, dass du {{count}} Aufgaben löschen möchtest?", + D9 = + "Gelöschte Aufgaben können nicht wiederhergestellt werden. Bitte vergewissere dich, dass du fortfahren möchtest.", + N9 = "{{count}} Elemente löschen", + O9 = { prefix: "Arbeitsbereich:", current: "Aktuell", all: "Alle" }, + F9 = { + prefix: "Sortieren:", + newest: "Neueste", + oldest: "Älteste", + mostExpensive: "Teuerste", + mostTokens: "Meiste Tokens", + mostRelevant: "Relevanteste", + }, + B9 = "Gesamten Verlauf anzeigen", + ngt = { + recentTasks: r9, + viewAll: i9, + tokens: s9, + cache: a9, + apiCost: l9, + history: c9, + exitSelectionMode: d9, + enterSelectionMode: u9, + done: p9, + searchPlaceholder: m9, + newest: h9, + oldest: f9, + mostExpensive: g9, + mostTokens: v9, + mostRelevant: b9, + deleteTaskTitle: y9, + tokensLabel: k9, + cacheLabel: x9, + apiCostLabel: w9, + copyPrompt: _9, + exportTask: C9, + deleteTask: S9, + deleteTaskMessage: A9, + cancel: P9, + delete: "Löschen", + exitSelection: R9, + selectionMode: T9, + deselectAll: I9, + selectAll: M9, + selectedItems: j9, + clearSelection: E9, + deleteSelected: z9, + deleteTasks: $9, + confirmDeleteTasks: L9, + deleteTasksWarning: D9, + deleteItems: N9, + workspace: O9, + sort: F9, + viewAllHistory: B9, + }, + ogt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + apiCost: l9, + apiCostLabel: w9, + cache: a9, + cacheLabel: x9, + cancel: P9, + clearSelection: E9, + confirmDeleteTasks: L9, + copyPrompt: _9, + default: ngt, + deleteItems: N9, + deleteSelected: z9, + deleteTask: S9, + deleteTaskMessage: A9, + deleteTaskTitle: y9, + deleteTasks: $9, + deleteTasksWarning: D9, + deselectAll: I9, + done: p9, + enterSelectionMode: u9, + exitSelection: R9, + exitSelectionMode: d9, + exportTask: C9, + history: c9, + mostExpensive: g9, + mostRelevant: b9, + mostTokens: v9, + newest: h9, + oldest: f9, + recentTasks: r9, + searchPlaceholder: m9, + selectAll: M9, + selectedItems: j9, + selectionMode: T9, + sort: F9, + tokens: s9, + tokensLabel: k9, + viewAll: i9, + viewAllHistory: B9, + workspace: O9, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + U9 = "Menschliche Weiterleitung - Bitte hilf beim Kopieren/Einfügen von Informationen", + q9 = + "Bitte kopiere den folgenden Prompt in die Web-KI und füge dann die Antwort der KI in das Eingabefeld unten ein.", + W9 = "In die Zwischenablage kopiert", + K9 = { label: "Bitte gib die KI-Antwort ein:", placeholder: "KI-Antwort hier einfügen..." }, + V9 = { cancel: "Abbrechen", submit: "Absenden" }, + rgt = { dialogTitle: U9, dialogDescription: q9, copiedToClipboard: W9, aiResponse: K9, actions: V9 }, + igt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: V9, + aiResponse: K9, + copiedToClipboard: W9, + default: rgt, + dialogDescription: q9, + dialogTitle: U9, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + H9 = "Roo Marketplace", + G9 = { installed: "Installiert", settings: "Einstellungen", browse: "Durchsuchen" }, + Q9 = "Fertig", + Z9 = "Aktualisieren", + Y9 = { + search: { + placeholder: "Marketplace-Elemente durchsuchen...", + placeholderMcp: "MCPs durchsuchen...", + placeholderMode: "Modi durchsuchen...", + }, + type: { label: "Nach Typ filtern:", all: "Alle Typen", mode: "Modus", mcpServer: "MCP-Server" }, + sort: { label: "Sortieren nach:", name: "Name", author: "Autor", lastUpdated: "Zuletzt aktualisiert" }, + tags: { + label: "Nach Tags filtern:", + clear: "Tags löschen", + placeholder: "Zum Suchen und Auswählen von Tags eingeben...", + noResults: "Keine passenden Tags gefunden", + selected: "Zeige Elemente mit einem der ausgewählten Tags", + clickToFilter: "Klicke auf Tags, um Elemente zu filtern", + }, + none: "Keine", + }, + X9 = { organizationMcps: "MCPs von {{organization}}", marketplace: "Marktplatz" }, + J9 = { + empty: { + noItems: "Keine Marketplace-Elemente gefunden", + withFilters: "Versuche deine Filter anzupassen", + noSources: "Versuche eine Quelle im Quellen-Tab hinzuzufügen", + adjustFilters: "Versuche deine Filter oder Suchbegriffe anzupassen", + clearAllFilters: "Alle Filter löschen", + }, + count: "{{count}} Elemente gefunden", + components: "{{count}} Komponenten", + matched: "{{count}} gefunden", + refresh: { + button: "Aktualisieren", + refreshing: "Wird aktualisiert...", + mayTakeMoment: "Dies kann einen Moment dauern.", + }, + card: { + by: "von {{author}}", + from: "von {{source}}", + install: "Installieren", + installProject: "Installieren", + installGlobal: "Installieren (Global)", + remove: "Entfernen", + removeProject: "Entfernen", + removeGlobal: "Entfernen (Global)", + viewSource: "Anzeigen", + viewOnSource: "Auf {{source}} anzeigen", + noWorkspaceTooltip: "Öffne einen Arbeitsbereich, um Marketplace-Elemente zu installieren", + installed: "Installiert", + removeProjectTooltip: "Aus aktuellem Projekt entfernen", + removeGlobalTooltip: "Aus globaler Konfiguration entfernen", + actionsMenuLabel: "Weitere Aktionen", + official: "Offiziell", + verified: "Verifiziert", + }, + removeFailed: "Element konnte nicht entfernt werden: {{error}}", + unknownError: "Unbekannter Fehler aufgetreten", + }, + e7 = { + title: "{{name}} installieren", + titleMode: "{{name}} Modus installieren", + titleMcp: "{{name}} MCP installieren", + scope: "Installationsbereich", + project: "Projekt (aktueller Arbeitsbereich)", + global: "Global (alle Arbeitsbereiche)", + method: "Installationsmethode", + configuration: "Konfiguration", + configurationDescription: "Konfiguriere die für diesen MCP-Server erforderlichen Parameter", + button: "Installieren", + successTitle: "{{name}} installiert", + successDescription: "Installation erfolgreich abgeschlossen", + installed: "Erfolgreich installiert!", + whatNextMcp: + "Du kannst diesen MCP-Server jetzt konfigurieren und verwenden. Klicke auf das MCP-Symbol in der Seitenleiste, um die Tabs zu wechseln.", + whatNextMode: + "Du kannst diesen Modus jetzt verwenden. Klicke auf das Modi-Symbol in der Seitenleiste, um die Tabs zu wechseln.", + done: "Fertig", + goToMcp: "Zum MCP-Tab gehen", + goToModes: "Zu den Modi-Einstellungen gehen", + moreInfoMcp: "{{name}} MCP-Dokumentation anzeigen", + validationRequired: "Bitte gib einen Wert für {{paramName}} an", + prerequisites: "Voraussetzungen", + }, + t7 = { + title: "Marketplace-Quellen konfigurieren", + description: + "Füge Git-Repositories hinzu, die Marketplace-Elemente enthalten. Diese Repositories werden beim Durchsuchen des Marketplace abgerufen.", + add: { + title: "Neue Quelle hinzufügen", + urlPlaceholder: "Git-Repository-URL (z.B. https://github.com/username/repo)", + urlFormats: + "Unterstützte Formate: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git) oder Git-Protokoll (git://github.com/username/repo.git)", + namePlaceholder: "Anzeigename (max. 20 Zeichen)", + button: "Quelle hinzufügen", + }, + current: { + title: "Aktuelle Quellen", + empty: "Keine Quellen konfiguriert. Füge eine Quelle hinzu, um zu beginnen.", + refresh: "Diese Quelle aktualisieren", + remove: "Quelle entfernen", + }, + errors: { + emptyUrl: "URL darf nicht leer sein", + invalidUrl: "Ungültiges URL-Format", + nonVisibleChars: "URL enthält nicht sichtbare Zeichen außer Leerzeichen", + invalidGitUrl: "URL muss eine gültige Git-Repository-URL sein (z.B. https://github.com/username/repo)", + duplicateUrl: "Diese URL ist bereits in der Liste (Groß-/Kleinschreibung und Leerzeichen werden ignoriert)", + nameTooLong: "Name muss 20 Zeichen oder weniger haben", + nonVisibleCharsName: "Name enthält nicht sichtbare Zeichen außer Leerzeichen", + duplicateName: + "Dieser Name wird bereits verwendet (Groß-/Kleinschreibung und Leerzeichen werden ignoriert)", + emojiName: "Emoji-Zeichen können Anzeigefehler verursachen", + maxSources: "Maximal {{max}} Quellen erlaubt", + }, + }, + n7 = { + mode: { + title: "Modus entfernen", + message: "Bist du sicher, dass du den Modus „{{modeName}}“ entfernen möchtest?", + rulesWarning: "Dadurch werden auch alle zugehörigen Regeldateien für diesen Modus entfernt.", + }, + mcp: { + title: "MCP-Server entfernen", + message: "Bist du sicher, dass du den MCP-Server „{{mcpName}}“ entfernen möchtest?", + }, + cancel: "Abbrechen", + confirm: "Entfernen", + }, + o7 = { + issueText: + "Problem mit einem Marketplace-Element gefunden oder Vorschläge für neue? <0>Öffne ein GitHub-Issue</0>, um es uns mitzuteilen!", + }, + sgt = { + title: H9, + tabs: G9, + done: Q9, + refresh: Z9, + filters: Y9, + sections: X9, + "type-group": { modes: "Modi", mcps: "MCP-Server" }, + items: J9, + install: e7, + sources: t7, + removeConfirm: n7, + footer: o7, + }, + agt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: sgt, + done: Q9, + filters: Y9, + footer: o7, + install: e7, + items: J9, + refresh: Z9, + removeConfirm: n7, + sections: X9, + sources: t7, + tabs: G9, + title: H9, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + r7 = "MCP-Server", + i7 = "Fertig", + s7 = "MCP-Marktplatz", + a7 = + 'Das <0>Model Context Protocol</0> ermöglicht die Kommunikation mit lokal laufenden MCP-Servern, die zusätzliche Tools und Ressourcen zur Erweiterung der Fähigkeiten von Roo bereitstellen. Du kannst <1>von der Community erstellte Server</1> verwenden oder Roo bitten, neue Tools speziell für deinen Workflow zu erstellen (z.B. "ein Tool hinzufügen, das die neueste npm-Dokumentation abruft").', + l7 = "Anweisungen", + c7 = { + title: "MCP-Server aktivieren", + description: + "Schalte dies EIN, damit Roo Tools von verbundenen MCP-Servern verwenden kann. Dies gibt Roo mehr Möglichkeiten. Wenn du diese zusätzlichen Tools nicht verwenden möchtest, schalte es AUS, um API-Token-Kosten zu senken.", + }, + d7 = { + title: "MCP-Server-Erstellung aktivieren", + description: + "Aktiviere dies, damit Roo dir helfen kann, <1>neue</1> benutzerdefinierte MCP-Server zu erstellen. <0>Erfahre mehr über Server-Erstellung</0>", + hint: "Hinweis: Um API-Token-Kosten zu senken, deaktiviere diese Einstellung, wenn du Roo nicht aktiv darum bittest, einen neuen MCP-Server zu erstellen.", + }, + u7 = "Globale MCP bearbeiten", + p7 = "Projekt-MCP bearbeiten", + m7 = "Mehr über das Bearbeiten von MCP-Einstellungsdateien erfahren", + h7 = { + alwaysAllow: "Immer erlauben", + parameters: "Parameter", + noDescription: "Keine Beschreibung", + togglePromptInclusion: "Einbeziehung in Prompt umschalten", + }, + f7 = { tools: "Tools", resources: "Ressourcen", errors: "Fehler" }, + g7 = { + noTools: "Keine Tools gefunden", + noResources: "Keine Ressourcen gefunden", + noErrors: "Keine Fehler gefunden", + }, + v7 = { + label: "Netzwerk-Timeout", + description: "Maximale Wartezeit für Serverantworten", + options: { + "15seconds": "15 Sekunden", + "30seconds": "30 Sekunden", + "1minute": "1 Minute", + "5minutes": "5 Minuten", + "10minutes": "10 Minuten", + "15minutes": "15 Minuten", + "30minutes": "30 Minuten", + "60minutes": "60 Minuten", + }, + }, + b7 = { + title: "MCP-Server löschen", + description: + 'Bist du sicher, dass du den MCP-Server "{{serverName}}" löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.', + cancel: "Abbrechen", + delete: "Löschen", + }, + y7 = { retrying: "Wiederhole...", retryConnection: "Verbindung wiederholen" }, + k7 = "MCP-Server aktualisieren", + x7 = { running: "Wird ausgeführt", completed: "Abgeschlossen", error: "Fehler" }, + lgt = { + title: r7, + done: i7, + marketplace: s7, + description: a7, + instructions: l7, + enableToggle: c7, + enableServerCreation: d7, + editGlobalMCP: u7, + editProjectMCP: p7, + learnMoreEditingSettings: m7, + tool: h7, + tabs: f7, + emptyState: g7, + networkTimeout: v7, + deleteDialog: b7, + serverStatus: y7, + refreshMCP: k7, + execution: x7, + }, + cgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: lgt, + deleteDialog: b7, + description: a7, + done: i7, + editGlobalMCP: u7, + editProjectMCP: p7, + emptyState: g7, + enableServerCreation: d7, + enableToggle: c7, + execution: x7, + instructions: l7, + learnMoreEditingSettings: m7, + marketplace: s7, + networkTimeout: v7, + refreshMCP: k7, + serverStatus: y7, + tabs: f7, + title: r7, + tool: h7, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + w7 = "Modi", + _7 = "Fertig", + C7 = { + title: "Modi", + createNewMode: "Neuen Modus erstellen", + importMode: "Modus importieren", + noMatchFound: "Keine Modi gefunden", + editModesConfig: "Moduskonfiguration bearbeiten", + editGlobalModes: "Globale Modi bearbeiten", + editProjectModes: "Projektmodi bearbeiten (.roomodes)", + createModeHelpText: + "Modi sind spezialisierte Personas, die Roos Verhalten anpassen. <0>Erfahre mehr über die Verwendung von Modi</0> oder <1>die Anpassung von Modi.</1>", + selectMode: "Modi suchen", + }, + S7 = { + title: "API-Konfiguration", + select: "Wähle, welche API-Konfiguration für diesen Modus verwendet werden soll", + }, + A7 = { + title: "Verfügbare Werkzeuge", + builtInModesText: "Werkzeuge für eingebaute Modi können nicht geändert werden", + editTools: "Werkzeuge bearbeiten", + doneEditing: "Bearbeitung abschließen", + allowedFiles: "Erlaubte Dateien:", + toolNames: { + read: "Dateien lesen", + edit: "Dateien bearbeiten", + browser: "Browser verwenden", + command: "Befehle ausführen", + mcp: "MCP verwenden", + }, + noTools: "Keine", + }, + P7 = { + title: "Rollendefinition", + resetToDefault: "Auf Standardwerte zurücksetzen", + description: + "Definiere Roos Expertise und Persönlichkeit für diesen Modus. Diese Beschreibung prägt, wie Roo sich präsentiert und an Aufgaben herangeht.", + }, + R7 = { + title: "Kurzbeschreibung (für Menschen)", + resetToDefault: "Auf Standardbeschreibung zurücksetzen", + description: "Eine kurze Beschreibung, die im Dropdown-Menü der Modusauswahl angezeigt wird.", + }, + T7 = { + title: "Wann zu verwenden (optional)", + description: + "Beschreibe, wann dieser Modus verwendet werden sollte. Dies hilft dem Orchestrator, den richtigen Modus für eine Aufgabe auszuwählen.", + resetToDefault: "Beschreibung 'Wann zu verwenden' auf Standardwerte zurücksetzen", + }, + I7 = { + title: "Modusspezifische benutzerdefinierte Anweisungen (optional)", + resetToDefault: "Auf Standardwerte zurücksetzen", + description: "Fügen Sie verhaltensspezifische Richtlinien für den Modus {{modeName}} hinzu.", + loadFromFile: + "Benutzerdefinierte Anweisungen für den Modus {{mode}} können auch aus dem Ordner <span>.roo/rules-{{slug}}/</span> in deinem Arbeitsbereich geladen werden (.roorules-{{slug}} und .clinerules-{{slug}} sind veraltet und werden bald nicht mehr funktionieren).", + }, + M7 = { + title: "Modus exportieren", + description: + "Exportiert diesen Modus in eine YAML-Datei mit allen enthaltenen Regeln zum einfachen Teilen mit anderen.", + export: "Modus exportieren", + exporting: "Exportieren...", + }, + j7 = { + selectLevel: "Wähle, wo dieser Modus importiert werden soll:", + import: "Importieren", + importing: "Importiere...", + global: { + label: "Globale Ebene", + description: + "Verfügbar in allen Projekten. Wenn der exportierte Modus Regeldateien enthielt, werden diese im globalen Ordner .roo/rules-{slug}/ neu erstellt.", + }, + project: { + label: "Projektebene", + description: + "Nur in diesem Arbeitsbereich verfügbar. Wenn der exportierte Modus Regeldateien enthielt, werden diese im Ordner .roo/rules-{slug}/ neu erstellt.", + }, + }, + E7 = { title: "Erweitert" }, + z7 = { + title: "Benutzerdefinierte Anweisungen für alle Modi", + description: + "Diese Anweisungen gelten für alle Modi. Sie bieten einen grundlegenden Satz von Verhaltensweisen, die durch modusspezifische Anweisungen unten erweitert werden können. <0>Mehr erfahren</0>", + loadFromFile: + "Anweisungen können auch aus dem Ordner <span>.roo/rules/</span> in deinem Arbeitsbereich geladen werden (.roorules und .clinerules sind veraltet und werden bald nicht mehr funktionieren).", + }, + $7 = { + preview: "System-Prompt Vorschau", + copy: "System-Prompt in Zwischenablage kopieren", + title: "System-Prompt (Modus {{modeName}})", + }, + L7 = { + title: "Support-Prompts", + resetPrompt: "{{promptType}}-Prompt auf Standardwerte zurücksetzen", + prompt: "Prompt", + enhance: { + apiConfiguration: "API-Konfiguration", + apiConfigDescription: + "Du kannst eine API-Konfiguration auswählen, die immer zur Verbesserung von Prompts verwendet wird, oder einfach die aktuell ausgewählte verwenden", + useCurrentConfig: "Aktuell ausgewählte API-Konfiguration verwenden", + testPromptPlaceholder: "Gib einen Prompt ein, um die Verbesserung zu testen", + previewButton: "Vorschau der Prompt-Verbesserung", + testEnhancement: "Verbesserung testen", + includeTaskHistory: "Aufgabenverlauf als Kontext einbeziehen", + includeTaskHistoryDescription: + "Wenn aktiviert, werden die letzten 10 Nachrichten aus der aktuellen Unterhaltung als Kontext beim Verbessern von Prompts einbezogen, um relevantere und kontextbewusste Vorschläge zu generieren.", + }, + condense: { + apiConfiguration: "API-Konfiguration für die Kontextverdichtung", + apiConfigDescription: + "Wählen Sie aus, welche API-Konfiguration für Kontextverdichtungsvorgänge verwendet werden soll. Lassen Sie die Auswahl leer, um die aktuell aktive Konfiguration zu verwenden.", + useCurrentConfig: "Derzeit ausgewählte API-Konfiguration verwenden", + }, + types: { + ENHANCE: { + label: "Prompt verbessern", + description: + "Verwenden Sie die Prompt-Verbesserung, um maßgeschneiderte Vorschläge oder Verbesserungen für Ihre Eingaben zu erhalten. Dies stellt sicher, dass Roo Ihre Absicht versteht und die bestmöglichen Antworten liefert. Verfügbar über das ✨-Symbol im Chat.", + }, + CONDENSE: { + label: "Kontextverdichtung", + description: + "Konfigurieren Sie, wie der Konversationskontext verdichtet wird, um Token-Limits zu verwalten. Dieser Prompt wird sowohl für manuelle als auch für automatische Kontextverdichtungsvorgänge verwendet.", + }, + EXPLAIN: { + label: "Code erklären", + description: + "Erhalten Sie detaillierte Erklärungen zu Code-Schnipseln, Funktionen oder ganzen Dateien. Nützlich zum Verständnis komplexen Codes oder zum Erlernen neuer Muster. Verfügbar in Code-Aktionen (Glühbirnen-Symbol im Editor) und im Kontextmenü des Editors (Rechtsklick auf ausgewählten Code).", + }, + FIX: { + label: "Probleme beheben", + description: + "Erhalten Sie Hilfe beim Identifizieren und Lösen von Bugs, Fehlern oder Problemen mit der Code-Qualität. Bietet Schritt-für-Schritt-Anleitungen zur Problemlösung. Verfügbar in Code-Aktionen (Glühbirnen-Symbol im Editor) und im Kontextmenü des Editors (Rechtsklick auf ausgewählten Code).", + }, + IMPROVE: { + label: "Code verbessern", + description: + "Erhalten Sie Vorschläge zur Code-Optimierung, bessere Praktiken und architektonische Verbesserungen bei gleichzeitiger Beibehaltung der Funktionalität. Verfügbar in Code-Aktionen (Glühbirnen-Symbol im Editor) und im Kontextmenü des Editors (Rechtsklick auf ausgewählten Code).", + }, + ADD_TO_CONTEXT: { + label: "Zum Kontext hinzufügen", + description: + "Fügen Sie Kontext zu Ihrer aktuellen Aufgabe oder Konversation hinzu. Nützlich für die Bereitstellung zusätzlicher Informationen oder Klarstellungen. Verfügbar in Code-Aktionen (Glühbirnen-Symbol im Editor) und im Kontextmenü des Editors (Rechtsklick auf ausgewählten Code).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Terminal-Inhalt zum Kontext hinzufügen", + description: + "Fügen Sie Terminal-Ausgaben zu Ihrer aktuellen Aufgabe oder Konversation hinzu. Nützlich für die Bereitstellung von Befehlsausgaben oder Protokollen. Verfügbar im Kontextmenü des Terminals (Rechtsklick auf ausgewählten Terminal-Inhalt).", + }, + TERMINAL_FIX: { + label: "Terminal-Befehl korrigieren", + description: + "Erhalten Sie Hilfe bei der Korrektur fehlgeschlagener Terminal-Befehle oder solcher, die Verbesserungen benötigen. Verfügbar im Kontextmenü des Terminals (Rechtsklick auf ausgewählten Terminal-Inhalt).", + }, + TERMINAL_EXPLAIN: { + label: "Terminal-Befehl erklären", + description: + "Erhalten Sie detaillierte Erklärungen zu Terminal-Befehlen und deren Ausgaben. Verfügbar im Kontextmenü des Terminals (Rechtsklick auf ausgewählten Terminal-Inhalt).", + }, + NEW_TASK: { + label: "Neue Aufgabe starten", + description: "Starte eine neue Aufgabe mit deiner Eingabe. Verfügbar in der Befehlspalette.", + }, + }, + }, + D7 = { + title: "Erweitert: System-Prompt überschreiben", + description: + "<2>⚠️ Warnung:</2> Diese erweiterte Funktion umgeht Sicherheitsvorkehrungen. <1>LESEN SIE DIES VOR DER VERWENDUNG!</1>Überschreiben Sie den Standard-System-Prompt, indem Sie eine Datei unter <span>.roo/system-prompt-{{slug}}</span> erstellen.", + }, + N7 = { + title: "Neuen Modus erstellen", + close: "Schließen", + name: { label: "Name", placeholder: "Modusnamen eingeben" }, + slug: { + label: "Slug", + description: + "Der Slug wird in URLs und Dateinamen verwendet. Er sollte in Kleinbuchstaben sein und nur Buchstaben, Zahlen und Bindestriche enthalten.", + }, + saveLocation: { + label: "Speicherort", + description: + "Wähle, wo dieser Modus gespeichert werden soll. Projektspezifische Modi haben Vorrang vor globalen Modi.", + global: { label: "Global", description: "Verfügbar in allen Arbeitsbereichen" }, + project: { + label: "Projektspezifisch (.roomodes)", + description: "Nur in diesem Arbeitsbereich verfügbar, hat Vorrang vor global", + }, + }, + roleDefinition: { + label: "Rollendefinition", + description: "Definiere Roos Expertise und Persönlichkeit für diesen Modus.", + }, + whenToUse: { + label: "Wann zu verwenden (optional)", + description: + "Gib eine klare Beschreibung, wann dieser Modus am effektivsten ist und für welche Arten von Aufgaben er sich besonders eignet.", + }, + tools: { label: "Verfügbare Werkzeuge", description: "Wähle, welche Werkzeuge dieser Modus verwenden kann." }, + description: { + label: "Kurzbeschreibung (für Menschen)", + description: "Eine kurze Beschreibung, die im Dropdown-Menü der Modusauswahl angezeigt wird.", + }, + customInstructions: { + label: "Benutzerdefinierte Anweisungen (optional)", + description: "Fügen Sie verhaltensspezifische Richtlinien für diesen Modus hinzu.", + }, + buttons: { cancel: "Abbrechen", create: "Modus erstellen" }, + deleteMode: "Modus löschen", + }, + O7 = "alle Dateien", + F7 = { + title: "Modus löschen", + message: 'Möchten Sie den Modus "{{modeName}}" wirklich löschen?', + rulesFolder: "Dieser Modus hat einen Regelordner unter {{folderPath}}, der ebenfalls gelöscht wird.", + descriptionNoRules: "Möchten Sie diesen benutzerdefinierten Modus wirklich löschen?", + confirm: "Löschen", + cancel: "Abbrechen", + }, + dgt = { + title: w7, + done: _7, + modes: C7, + apiConfiguration: S7, + tools: A7, + roleDefinition: P7, + description: R7, + whenToUse: T7, + customInstructions: I7, + exportMode: M7, + importMode: j7, + advanced: E7, + globalCustomInstructions: z7, + systemPrompt: $7, + supportPrompts: L7, + advancedSystemPrompt: D7, + createModeDialog: N7, + allFiles: O7, + deleteMode: F7, + }, + ugt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: E7, + advancedSystemPrompt: D7, + allFiles: O7, + apiConfiguration: S7, + createModeDialog: N7, + customInstructions: I7, + default: dgt, + deleteMode: F7, + description: R7, + done: _7, + exportMode: M7, + globalCustomInstructions: z7, + importMode: j7, + modes: C7, + roleDefinition: P7, + supportPrompts: L7, + systemPrompt: $7, + title: w7, + tools: A7, + whenToUse: T7, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + B7 = { + save: "Speichern", + done: "Fertig", + cancel: "Abbrechen", + reset: "Zurücksetzen", + select: "Auswählen", + add: "Header hinzufügen", + remove: "Entfernen", + }, + U7 = { + title: "Einstellungen", + saveButtonTooltip: "Änderungen speichern", + nothingChangedTooltip: "Nichts geändert", + doneButtonTooltip: "Ungespeicherte Änderungen verwerfen und Einstellungsbereich schließen", + }, + q7 = { + title: "Ungespeicherte Änderungen", + description: "Möchtest du die Änderungen verwerfen und fortfahren?", + cancelButton: "Abbrechen", + discardButton: "Änderungen verwerfen", + }, + W7 = { + providers: "Anbieter", + autoApprove: "Auto-Genehmigung", + browser: "Computerzugriff", + checkpoints: "Kontrollpunkte", + notifications: "Benachrichtigungen", + contextManagement: "Kontext", + terminal: "Terminal", + prompts: "Eingabeaufforderungen", + experimental: "Experimentell", + language: "Sprache", + about: "Über Roo Code", + }, + K7 = { + description: + "Konfiguriere Support-Prompts, die für schnelle Aktionen wie das Verbessern von Prompts, das Erklären von Code und das Beheben von Problemen verwendet werden. Diese Prompts helfen Roo dabei, bessere Unterstützung für häufige Entwicklungsaufgaben zu bieten.", + }, + V7 = { + title: "Codebase-Indexierung", + description: + "Konfiguriere Codebase-Indexierungseinstellungen, um semantische Suche in deinem Projekt zu aktivieren. <0>Mehr erfahren</0>", + statusTitle: "Status", + enableLabel: "Codebase-Indexierung aktivieren", + enableDescription: + "Aktiviere die Code-Indizierung für eine verbesserte Suche und ein besseres Kontextverständnis", + settingsTitle: "Indexierungseinstellungen", + disabledMessage: + "Codebase-Indexierung ist derzeit deaktiviert. Aktiviere sie in den globalen Einstellungen, um Indexierungsoptionen zu konfigurieren.", + providerLabel: "Embeddings-Anbieter", + embedderProviderLabel: "Embedder-Anbieter", + selectProviderPlaceholder: "Anbieter auswählen", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API-Schlüssel:", + geminiApiKeyPlaceholder: "Geben Sie Ihren Gemini-API-Schlüssel ein", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API-Schlüssel:", + mistralApiKeyPlaceholder: "Gib deinen Mistral-API-Schlüssel ein", + openaiCompatibleProvider: "OpenAI-kompatibel", + openAiKeyLabel: "OpenAI API-Schlüssel", + openAiKeyPlaceholder: "Gib deinen OpenAI API-Schlüssel ein", + openAiCompatibleBaseUrlLabel: "Basis-URL", + openAiCompatibleApiKeyLabel: "API-Schlüssel", + openAiCompatibleApiKeyPlaceholder: "Gib deinen API-Schlüssel ein", + openAiCompatibleModelDimensionLabel: "Embedding-Dimension:", + modelDimensionLabel: "Modell-Dimension", + openAiCompatibleModelDimensionPlaceholder: "z.B. 1536", + openAiCompatibleModelDimensionDescription: + "Die Embedding-Dimension (Ausgabegröße) für Ihr Modell. Überprüfen Sie die Dokumentation Ihres Anbieters für diesen Wert. Übliche Werte: 384, 768, 1536, 3072.", + modelLabel: "Modell", + modelPlaceholder: "Modellname eingeben", + selectModel: "Modell auswählen", + selectModelPlaceholder: "Modell auswählen", + ollamaUrlLabel: "Ollama-URL:", + ollamaBaseUrlLabel: "Ollama Basis-URL", + qdrantUrlLabel: "Qdrant-URL", + qdrantKeyLabel: "Qdrant-Schlüssel:", + qdrantApiKeyLabel: "Qdrant API-Schlüssel", + qdrantApiKeyPlaceholder: "Gib deinen Qdrant API-Schlüssel ein (optional)", + setupConfigLabel: "Einrichtung", + startIndexingButton: "Start", + clearIndexDataButton: "Index löschen", + unsavedSettingsMessage: "Bitte speichere deine Einstellungen, bevor du den Indexierungsprozess startest.", + clearDataDialog: { + title: "Sind Sie sicher?", + description: + "Diese Aktion kann nicht rückgängig gemacht werden. Dies wird Ihre Codebase-Indexdaten dauerhaft löschen.", + cancelButton: "Abbrechen", + confirmButton: "Daten löschen", + }, + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Fehler beim Speichern der Einstellungen", + modelDimensions: "({{dimension}} Dimensionen)", + saveSuccess: "Einstellungen erfolgreich gespeichert", + saving: "Speichern...", + saveSettings: "Speichern", + indexingStatuses: { standby: "Bereitschaft", indexing: "Indexierung", indexed: "Indexiert", error: "Fehler" }, + close: "Schließen", + validation: { + invalidQdrantUrl: "Ungültige Qdrant-URL", + invalidOllamaUrl: "Ungültige Ollama-URL", + invalidBaseUrl: "Ungültige Basis-URL", + qdrantUrlRequired: "Qdrant-URL ist erforderlich", + openaiApiKeyRequired: "OpenAI-API-Schlüssel ist erforderlich", + modelSelectionRequired: "Modellauswahl ist erforderlich", + apiKeyRequired: "API-Schlüssel ist erforderlich", + modelIdRequired: "Modell-ID ist erforderlich", + modelDimensionRequired: "Modellabmessung ist erforderlich", + geminiApiKeyRequired: "Gemini-API-Schlüssel ist erforderlich", + mistralApiKeyRequired: "Mistral-API-Schlüssel ist erforderlich", + ollamaBaseUrlRequired: "Ollama-Basis-URL ist erforderlich", + baseUrlRequired: "Basis-URL ist erforderlich", + modelDimensionMinValue: "Modellabmessung muss größer als 0 sein", + }, + advancedConfigLabel: "Erweiterte Konfiguration", + searchMinScoreLabel: "Suchergebnis-Schwellenwert", + searchMinScoreDescription: + "Mindestähnlichkeitswert (0.0-1.0), der für Suchergebnisse erforderlich ist. Niedrigere Werte liefern mehr Ergebnisse, die jedoch möglicherweise weniger relevant sind. Höhere Werte liefern weniger, aber relevantere Ergebnisse.", + searchMinScoreResetTooltip: "Auf Standardwert zurücksetzen (0.4)", + searchMaxResultsLabel: "Maximale Suchergebnisse", + searchMaxResultsDescription: + "Maximale Anzahl von Suchergebnissen, die bei der Abfrage des Codebase-Index zurückgegeben werden. Höhere Werte bieten mehr Kontext, können aber weniger relevante Ergebnisse enthalten.", + resetToDefault: "Auf Standard zurücksetzen", + }, + H7 = { + description: + "Erlaubt Roo, Operationen automatisch ohne Genehmigung durchzuführen. Aktiviere diese Einstellungen nur, wenn du der KI vollständig vertraust und die damit verbundenen Sicherheitsrisiken verstehst.", + enabled: "Auto-Genehmigung aktiviert", + toggleAriaLabel: "Automatische Genehmigung umschalten", + disabledAriaLabel: "Automatische Genehmigung deaktiviert - zuerst Optionen auswählen", + readOnly: { + label: "Lesen", + description: + "Wenn aktiviert, wird Roo automatisch Verzeichnisinhalte anzeigen und Dateien lesen, ohne dass du auf die Genehmigen-Schaltfläche klicken musst.", + outsideWorkspace: { + label: "Dateien außerhalb des Arbeitsbereichs einbeziehen", + description: "Roo erlauben, Dateien außerhalb des aktuellen Arbeitsbereichs ohne Genehmigung zu lesen.", + }, + }, + write: { + label: "Schreiben", + description: "Dateien automatisch erstellen und bearbeiten ohne Genehmigung", + delayLabel: + "Verzögerung nach Schreibvorgängen, damit Diagnosefunktionen potenzielle Probleme erkennen können", + outsideWorkspace: { + label: "Dateien außerhalb des Arbeitsbereichs einbeziehen", + description: + "Roo erlauben, Dateien außerhalb des aktuellen Arbeitsbereichs ohne Genehmigung zu erstellen und zu bearbeiten.", + }, + protected: { + label: "Geschützte Dateien einbeziehen", + description: + "Roo erlauben, geschützte Dateien (wie .rooignore und .roo/ Konfigurationsdateien) ohne Genehmigung zu erstellen und zu bearbeiten.", + }, + }, + browser: { + label: "Browser", + description: + "Browser-Aktionen automatisch ohne Genehmigung durchführen. Hinweis: Gilt nur, wenn das Modell Computer-Nutzung unterstützt", + }, + retry: { + label: "Wiederholung", + description: + "Fehlgeschlagene API-Anfragen automatisch wiederholen, wenn der Server eine Fehlerantwort zurückgibt", + delayLabel: "Verzögerung vor dem Wiederholen der Anfrage", + }, + mcp: { + label: "MCP", + description: + "Automatische Genehmigung einzelner MCP-Tools in der MCP-Server-Ansicht aktivieren (erfordert sowohl diese Einstellung als auch das 'Immer erlauben'-Kontrollkästchen des Tools)", + }, + modeSwitch: { + label: "Modus", + description: "Automatisch zwischen verschiedenen Modi wechseln ohne Genehmigung", + }, + subtasks: { + label: "Teilaufgaben", + description: "Erstellung und Abschluss von Unteraufgaben ohne Genehmigung erlauben", + }, + followupQuestions: { + label: "Frage", + description: + "Automatisch die erste vorgeschlagene Antwort für Folgefragen nach der konfigurierten Zeitüberschreitung auswählen", + timeoutLabel: "Wartezeit vor der automatischen Auswahl der ersten Antwort", + }, + execute: { + label: "Ausführen", + description: "Erlaubte Terminal-Befehle automatisch ohne Genehmigung ausführen", + allowedCommands: "Erlaubte Auto-Ausführungsbefehle", + allowedCommandsDescription: + "Befehlspräfixe, die automatisch ausgeführt werden können, wenn 'Ausführungsoperationen immer genehmigen' aktiviert ist. Fügen Sie * hinzu, um alle Befehle zu erlauben (mit Vorsicht verwenden).", + deniedCommands: "Verweigerte Befehle", + deniedCommandsDescription: + "Befehlspräfixe, die automatisch verweigert werden, ohne nach Genehmigung zu fragen. Bei Konflikten mit erlaubten Befehlen hat die längste Präfix-Übereinstimmung Vorrang. Fügen Sie * hinzu, um alle Befehle zu verweigern.", + commandPlaceholder: "Befehlspräfix eingeben (z.B. 'git ')", + deniedCommandPlaceholder: "Befehlspräfix zum Verweigern eingeben (z.B. 'rm -rf')", + addButton: "Hinzufügen", + autoDenied: + "Befehle mit dem Präfix `{{prefix}}` wurden vom Benutzer verboten. Umgehe diese Beschränkung nicht durch das Ausführen eines anderen Befehls.", + }, + updateTodoList: { + label: "Todo", + description: "To-Do-Liste wird automatisch aktualisiert, ohne dass du zustimmen musst", + }, + apiRequestLimit: { + title: "Maximale Anfragen", + description: + "Automatisch so viele API-Anfragen stellen, bevor du um die Erlaubnis gebeten wirst, mit der Aufgabe fortzufahren.", + unlimited: "Unbegrenzt", + }, + selectOptionsFirst: "Wähle mindestens eine Option unten aus, um die automatische Genehmigung zu aktivieren", + apiCostLimit: { title: "Maximale Kosten", unlimited: "Unbegrenzt" }, + maxLimits: { + description: + "Anfragen bis zu diesen Grenzwerten automatisch stellen, bevor um Genehmigung zur Fortsetzung gebeten wird.", + }, + }, + G7 = JSON.parse( + `{"providerDocumentation":"{{provider}}-Dokumentation","configProfile":"Konfigurationsprofil","description":"Speichern Sie verschiedene API-Konfigurationen, um schnell zwischen Anbietern und Einstellungen zu wechseln.","apiProvider":"API-Anbieter","model":"Modell","nameEmpty":"Name darf nicht leer sein","nameExists":"Ein Profil mit diesem Namen existiert bereits","deleteProfile":"Profil löschen","invalidArnFormat":"Ungültiges ARN-Format. Überprüfen Sie die obigen Beispiele.","enterNewName":"Neuen Namen eingeben","addProfile":"Profil hinzufügen","renameProfile":"Profil umbenennen","newProfile":"Neues Konfigurationsprofil","enterProfileName":"Profilnamen eingeben","createProfile":"Profil erstellen","cannotDeleteOnlyProfile":"Das einzige Profil kann nicht gelöscht werden","searchPlaceholder":"Profile durchsuchen","searchProviderPlaceholder":"Suchanbieter durchsuchen","noProviderMatchFound":"Keine Anbieter gefunden","noMatchFound":"Keine passenden Profile gefunden","vscodeLmDescription":"Die VS Code Language Model API ermöglicht das Ausführen von Modellen, die von anderen VS Code-Erweiterungen bereitgestellt werden (einschließlich, aber nicht beschränkt auf GitHub Copilot). Der einfachste Weg, um zu starten, besteht darin, die Erweiterungen Copilot und Copilot Chat aus dem VS Code Marketplace zu installieren.","awsCustomArnUse":"Geben Sie eine gültige Amazon Bedrock ARN für das Modell ein, das Sie verwenden möchten. Formatbeispiele:","awsCustomArnDesc":"Stellen Sie sicher, dass die Region in der ARN mit Ihrer oben ausgewählten AWS-Region übereinstimmt.","openRouterApiKey":"OpenRouter API-Schlüssel","getOpenRouterApiKey":"OpenRouter API-Schlüssel erhalten","doubaoApiKey":"Doubao API-Schlüssel","getDoubaoApiKey":"Doubao API-Schlüssel erhalten","apiKeyStorageNotice":"API-Schlüssel werden sicher im VSCode Secret Storage gespeichert","glamaApiKey":"Glama API-Schlüssel","getGlamaApiKey":"Glama API-Schlüssel erhalten","useCustomBaseUrl":"Benutzerdefinierte Basis-URL verwenden","useReasoning":"Reasoning aktivieren","useHostHeader":"Benutzerdefinierten Host-Header verwenden","useLegacyFormat":"Altes OpenAI API-Format verwenden","customHeaders":"Benutzerdefinierte Headers","headerName":"Header-Name","headerValue":"Header-Wert","noCustomHeaders":"Keine benutzerdefinierten Headers definiert. Klicke auf die + Schaltfläche, um einen hinzuzufügen.","requestyApiKey":"Requesty API-Schlüssel","refreshModels":{"label":"Modelle aktualisieren","hint":"Bitte öffne die Einstellungen erneut, um die neuesten Modelle zu sehen.","loading":"Modellliste wird aktualisiert...","success":"Modellliste erfolgreich aktualisiert!","error":"Fehler beim Aktualisieren der Modellliste. Bitte versuche es erneut."},"getRequestyApiKey":"Requesty API-Schlüssel erhalten","openRouterTransformsText":"Prompts und Nachrichtenketten auf Kontextgröße komprimieren (<a>OpenRouter Transformationen</a>)","anthropicApiKey":"Anthropic API-Schlüssel","getAnthropicApiKey":"Anthropic API-Schlüssel erhalten","anthropicUseAuthToken":"Anthropic API-Schlüssel als Authorization-Header anstelle von X-Api-Key übergeben","cerebrasApiKey":"Cerebras API-Schlüssel","getCerebrasApiKey":"Cerebras API-Schlüssel erhalten","chutesApiKey":"Chutes API-Schlüssel","getChutesApiKey":"Chutes API-Schlüssel erhalten","fireworksApiKey":"Fireworks API-Schlüssel","getFireworksApiKey":"Fireworks API-Schlüssel erhalten","deepSeekApiKey":"DeepSeek API-Schlüssel","getDeepSeekApiKey":"DeepSeek API-Schlüssel erhalten","moonshotApiKey":"Moonshot API-Schlüssel","getMoonshotApiKey":"Moonshot API-Schlüssel erhalten","moonshotBaseUrl":"Moonshot-Einstiegspunkt","zaiApiKey":"Z AI API-Schlüssel","getZaiApiKey":"Z AI API-Schlüssel erhalten","zaiEntrypoint":"Z AI Einstiegspunkt","zaiEntrypointDescription":"Bitte wählen Sie den entsprechenden API-Einstiegspunkt basierend auf Ihrem Standort. Wenn Sie sich in China befinden, wählen Sie open.bigmodel.cn. Andernfalls wählen Sie api.z.ai.","geminiApiKey":"Gemini API-Schlüssel","getGroqApiKey":"Groq API-Schlüssel erhalten","groqApiKey":"Groq API-Schlüssel","getSambaNovaApiKey":"SambaNova API-Schlüssel erhalten","sambaNovaApiKey":"SambaNova API-Schlüssel","getHuggingFaceApiKey":"Hugging Face API-Schlüssel erhalten","huggingFaceApiKey":"Hugging Face API-Schlüssel","huggingFaceModelId":"Modell-ID","huggingFaceLoading":"Lädt...","huggingFaceModelsCount":"({{count}} Modelle)","huggingFaceSelectModel":"Modell auswählen...","huggingFaceSearchModels":"Modelle durchsuchen...","huggingFaceNoModelsFound":"Keine Modelle gefunden","huggingFaceProvider":"Anbieter","huggingFaceProviderAuto":"Automatisch","huggingFaceSelectProvider":"Anbieter auswählen...","huggingFaceSearchProviders":"Anbieter durchsuchen...","huggingFaceNoProvidersFound":"Keine Anbieter gefunden","getGeminiApiKey":"Gemini API-Schlüssel erhalten","openAiApiKey":"OpenAI API-Schlüssel","apiKey":"API-Schlüssel","openAiBaseUrl":"Basis-URL","getOpenAiApiKey":"OpenAI API-Schlüssel erhalten","mistralApiKey":"Mistral API-Schlüssel","getMistralApiKey":"Mistral / Codestral API-Schlüssel erhalten","codestralBaseUrl":"Codestral Basis-URL (Optional)","codestralBaseUrlDesc":"Legen Sie eine alternative URL für das Codestral-Modell fest.","xaiApiKey":"xAI API-Schlüssel","getXaiApiKey":"xAI API-Schlüssel erhalten","litellmApiKey":"LiteLLM API-Schlüssel","litellmBaseUrl":"LiteLLM Basis-URL","awsCredentials":"AWS Anmeldedaten","awsProfile":"AWS Profil","awsApiKey":"Amazon Bedrock API-Schlüssel","awsProfileName":"AWS Profilname","awsAccessKey":"AWS Zugangsschlüssel","awsSecretKey":"AWS Geheimschlüssel","awsSessionToken":"AWS Sitzungstoken","awsRegion":"AWS Region","awsCrossRegion":"Regionsübergreifende Inferenz verwenden","awsBedrockVpc":{"useCustomVpcEndpoint":"Benutzerdefinierten VPC-Endpunkt verwenden","vpcEndpointUrlPlaceholder":"VPC-Endpunkt-URL eingeben (optional)","examples":"Beispiele:"},"enablePromptCaching":"Prompt-Caching aktivieren","enablePromptCachingTitle":"Prompt-Caching aktivieren, um die Leistung zu verbessern und Kosten für unterstützte Modelle zu reduzieren.","cacheUsageNote":"Hinweis: Wenn Sie keine Cache-Nutzung sehen, versuchen Sie ein anderes Modell auszuwählen und dann Ihr gewünschtes Modell erneut auszuwählen.","vscodeLmModel":"Sprachmodell","vscodeLmWarning":"Hinweis: Dies ist eine sehr experimentelle Integration und die Anbieterunterstützung variiert. Wenn Sie einen Fehler über ein nicht unterstütztes Modell erhalten, liegt das Problem auf Anbieterseite.","geminiParameters":{"urlContext":{"title":"URL-Kontext aktivieren","description":"Ermöglicht Gemini, verlinkte Seiten zu lesen, um deren Inhalt zu extrahieren, zu vergleichen und in fundierte Antworten zu synthetisieren."},"groundingSearch":{"title":"Grounding mit Google Suche aktivieren","description":"Verbindet Gemini mit Echtzeit-Webdaten für genaue, aktuelle Antworten mit überprüfbaren Zitaten."}},"googleCloudSetup":{"title":"Um Google Cloud Vertex AI zu verwenden, müssen Sie:","step1":"1. Ein Google Cloud-Konto erstellen, die Vertex AI API aktivieren & die gewünschten Claude-Modelle aktivieren.","step2":"2. Die Google Cloud CLI installieren & Standardanmeldeinformationen für die Anwendung konfigurieren.","step3":"3. Oder ein Servicekonto mit Anmeldeinformationen erstellen."},"googleCloudCredentials":"Google Cloud Anmeldedaten","googleCloudKeyFile":"Google Cloud Schlüsseldateipfad","googleCloudProjectId":"Google Cloud Projekt-ID","googleCloudRegion":"Google Cloud Region","lmStudio":{"baseUrl":"Basis-URL (optional)","modelId":"Modell-ID","speculativeDecoding":"Spekulatives Dekodieren aktivieren","draftModelId":"Entwurfsmodell-ID","draftModelDesc":"Das Entwurfsmodell muss aus derselben Modellfamilie stammen, damit das spekulative Dekodieren korrekt funktioniert.","selectDraftModel":"Entwurfsmodell auswählen","noModelsFound":"Keine Entwurfsmodelle gefunden. Bitte stelle sicher, dass LM Studio mit aktiviertem Servermodus läuft.","description":"LM Studio ermöglicht es dir, Modelle lokal auf deinem Computer auszuführen. Eine Anleitung zum Einstieg findest du in ihrem <a>Schnellstart-Guide</a>. Du musst auch die <b>lokale Server</b>-Funktion von LM Studio starten, um es mit dieser Erweiterung zu verwenden. <span>Hinweis:</span> Roo Code verwendet komplexe Prompts und funktioniert am besten mit Claude-Modellen. Weniger leistungsfähige Modelle funktionieren möglicherweise nicht wie erwartet."},"ollama":{"baseUrl":"Basis-URL (optional)","modelId":"Modell-ID","description":"Ollama ermöglicht es dir, Modelle lokal auf deinem Computer auszuführen. Eine Anleitung zum Einstieg findest du im Schnellstart-Guide.","warning":"Hinweis: Roo Code verwendet komplexe Prompts und funktioniert am besten mit Claude-Modellen. Weniger leistungsfähige Modelle funktionieren möglicherweise nicht wie erwartet."},"unboundApiKey":"Unbound API-Schlüssel","getUnboundApiKey":"Unbound API-Schlüssel erhalten","unboundRefreshModelsSuccess":"Modellliste aktualisiert! Sie können jetzt aus den neuesten Modellen auswählen.","unboundInvalidApiKey":"Ungültiger API-Schlüssel. Bitte überprüfen Sie Ihren API-Schlüssel und versuchen Sie es erneut.","humanRelay":{"description":"Es ist kein API-Schlüssel erforderlich, aber der Benutzer muss beim Kopieren und Einfügen der Informationen in den Web-Chat-KI helfen.","instructions":"Während der Verwendung wird ein Dialogfeld angezeigt und die aktuelle Nachricht wird automatisch in die Zwischenablage kopiert. Du musst diese in Web-Versionen von KI (wie ChatGPT oder Claude) einfügen, dann die Antwort der KI zurück in das Dialogfeld kopieren und auf die Bestätigungsschaltfläche klicken."},"openRouter":{"providerRouting":{"title":"OpenRouter Anbieter-Routing","description":"OpenRouter leitet Anfragen an die besten verfügbaren Anbieter für dein Modell weiter. Standardmäßig werden Anfragen über die Top-Anbieter lastverteilt, um maximale Verfügbarkeit zu gewährleisten. Du kannst jedoch einen bestimmten Anbieter für dieses Modell auswählen.","learnMore":"Mehr über Anbieter-Routing erfahren"}},"customModel":{"capabilities":"Konfiguriere die Fähigkeiten und Preise für dein benutzerdefiniertes OpenAI-kompatibles Modell. Sei vorsichtig bei der Angabe der Modellfähigkeiten, da diese beeinflussen können, wie Roo Code funktioniert.","maxTokens":{"label":"Maximale Ausgabe-Tokens","description":"Maximale Anzahl von Tokens, die das Modell in einer Antwort generieren kann. (Geben Sie -1 an, damit der Server die maximalen Tokens festlegt.)"},"contextWindow":{"label":"Kontextfenstergröße","description":"Gesamte Tokens (Eingabe + Ausgabe), die das Modell verarbeiten kann."},"imageSupport":{"label":"Bildunterstützung","description":"Ist dieses Modell in der Lage, Bilder zu verarbeiten und zu verstehen?"},"computerUse":{"label":"Computer-Nutzung","description":"Ist dieses Modell in der Lage, mit einem Browser zu interagieren? (z.B. Claude 3.7 Sonnet)"},"promptCache":{"label":"Prompt-Caching","description":"Ist dieses Modell in der Lage, Prompts zu cachen?"},"pricing":{"input":{"label":"Eingabepreis","description":"Kosten pro Million Tokens in der Eingabe/Prompt. Dies beeinflusst die Kosten für das Senden von Kontext und Anweisungen an das Modell."},"output":{"label":"Ausgabepreis","description":"Kosten pro Million Tokens in der Modellantwort. Dies beeinflusst die Kosten für generierte Inhalte und Vervollständigungen."},"cacheReads":{"label":"Cache-Lesepreis","description":"Kosten pro Million Tokens für das Lesen aus dem Cache. Dies ist der Preis, der beim Abrufen einer gecachten Antwort berechnet wird."},"cacheWrites":{"label":"Cache-Schreibpreis","description":"Kosten pro Million Tokens für das Schreiben in den Cache. Dies ist der Preis, der beim ersten Cachen eines Prompts berechnet wird."}},"resetDefaults":"Auf Standardwerte zurücksetzen"},"rateLimitSeconds":{"label":"Ratenbegrenzung","description":"Minimale Zeit zwischen API-Anfragen."},"consecutiveMistakeLimit":{"label":"Fehler- & Wiederholungslimit","description":"Anzahl aufeinanderfolgender Fehler oder wiederholter Aktionen, bevor der Dialog 'Roo hat Probleme' angezeigt wird","unlimitedDescription":"Unbegrenzte Wiederholungen aktiviert (automatisches Fortfahren). Der Dialog wird niemals angezeigt.","warning":"⚠️ Das Setzen auf 0 erlaubt unbegrenzte Wiederholungen, was zu erheblichem API-Verbrauch führen kann"},"reasoningEffort":{"label":"Modell-Denkaufwand","high":"Hoch","medium":"Mittel","low":"Niedrig"},"setReasoningLevel":"Denkaufwand aktivieren","claudeCode":{"pathLabel":"Claude-Code-Pfad","description":"Optionaler Pfad zu Ihrer Claude Code CLI. Standard ist 'claude', wenn nicht festgelegt.","placeholder":"Standard: claude","maxTokensLabel":"Maximale Ausgabe-Tokens","maxTokensDescription":"Maximale Anzahl an Ausgabe-Tokens für Claude Code-Antworten. Standard ist 8000."}}`, + ), + Q7 = { + enable: { + label: "Browser-Tool aktivieren", + description: + "Wenn aktiviert, kann Roo einen Browser verwenden, um mit Websites zu interagieren, wenn Modelle verwendet werden, die Computer-Nutzung unterstützen. <0>Mehr erfahren</0>", + }, + viewport: { + label: "Viewport-Größe", + description: + "Wählen Sie die Viewport-Größe für Browser-Interaktionen. Dies beeinflusst, wie Websites angezeigt und mit ihnen interagiert wird.", + options: { + largeDesktop: "Großer Desktop (1280x800)", + smallDesktop: "Kleiner Desktop (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Mobil (360x640)", + }, + }, + screenshotQuality: { + label: "Screenshot-Qualität", + description: + "Passen Sie die WebP-Qualität von Browser-Screenshots an. Höhere Werte bieten klarere Screenshots, erhöhen aber den Token-Verbrauch.", + }, + remote: { + label: "Remote-Browser-Verbindung verwenden", + description: + "Verbindung zu einem Chrome-Browser herstellen, der mit aktiviertem Remote-Debugging läuft (--remote-debugging-port=9222).", + urlPlaceholder: "Benutzerdefinierte URL (z.B. http://localhost:9222)", + testButton: "Verbindung testen", + testingButton: "Teste...", + instructions: + "Geben Sie die DevTools-Protokoll-Host-Adresse ein oder lassen Sie das Feld leer, um Chrome lokale Instanzen automatisch zu erkennen. Die Schaltfläche 'Verbindung testen' versucht die benutzerdefinierte URL, wenn angegeben, oder erkennt automatisch, wenn das Feld leer ist.", + }, + }, + Z7 = { + enable: { + label: "Automatische Kontrollpunkte aktivieren", + description: + "Wenn aktiviert, erstellt Roo automatisch Kontrollpunkte während der Aufgabenausführung, was die Überprüfung von Änderungen oder die Rückkehr zu früheren Zuständen erleichtert. <0>Mehr erfahren</0>", + }, + }, + Y7 = { + sound: { + label: "Soundeffekte aktivieren", + description: "Wenn aktiviert, spielt Roo Soundeffekte für Benachrichtigungen und Ereignisse ab.", + volumeLabel: "Lautstärke", + }, + tts: { + label: "Text-zu-Sprache aktivieren", + description: "Wenn aktiviert, liest Roo seine Antworten mit Text-zu-Sprache laut vor.", + speedLabel: "Geschwindigkeit", + }, + }, + X7 = { + description: + "Steuern Sie, welche Informationen im KI-Kontextfenster enthalten sind, was den Token-Verbrauch und die Antwortqualität beeinflusst", + autoCondenseContextPercent: { + label: "Schwellenwert für intelligente Kontextkomprimierung", + description: "Wenn das Kontextfenster diesen Schwellenwert erreicht, wird Roo es automatisch komprimieren.", + }, + condensingApiConfiguration: { + label: "API-Konfiguration für Kontextkomprimierung", + description: + "Wählen Sie, welche API-Konfiguration für Kontextkomprimierungsoperationen verwendet werden soll. Lassen Sie unausgewählt, um die aktuelle aktive Konfiguration zu verwenden.", + useCurrentConfig: "Aktuelle Konfiguration verwenden", + }, + customCondensingPrompt: { + label: "Benutzerdefinierter Kontextkomprimierungs-Prompt", + description: + "Passen Sie den System-Prompt an, der für die Kontextkomprimierung verwendet wird. Lassen Sie leer, um den Standard-Prompt zu verwenden.", + placeholder: `Geben Sie hier Ihren benutzerdefinierten Komprimierungs-Prompt ein... + +Sie können die gleiche Struktur wie der Standard-Prompt verwenden: +- Vorherige Konversation +- Aktuelle Arbeit +- Wichtige technische Konzepte +- Relevante Dateien und Code +- Problemlösung +- Ausstehende Aufgaben und nächste Schritte`, + reset: "Auf Standard zurücksetzen", + hint: "Leer = Standard-Prompt verwenden", + }, + autoCondenseContext: { + name: "Intelligente Kontextkomprimierung automatisch auslösen", + description: + "Wenn aktiviert, wird Roo automatisch den Kontext komprimieren, wenn der Schwellenwert erreicht wird. Wenn deaktiviert, können Sie die Kontextkomprimierung weiterhin manuell auslösen.", + }, + openTabs: { + label: "Geöffnete Tabs Kontextlimit", + description: + "Maximale Anzahl von geöffneten VSCode-Tabs, die im Kontext enthalten sein sollen. Höhere Werte bieten mehr Kontext, erhöhen aber den Token-Verbrauch.", + }, + workspaceFiles: { + label: "Workspace-Dateien Kontextlimit", + description: + "Maximale Anzahl von Dateien, die in den Details des aktuellen Arbeitsverzeichnisses enthalten sein sollen. Höhere Werte bieten mehr Kontext, erhöhen aber den Token-Verbrauch.", + }, + rooignore: { + label: ".rooignore-Dateien in Listen und Suchen anzeigen", + description: + "Wenn aktiviert, werden Dateien, die mit Mustern in .rooignore übereinstimmen, in Listen mit einem Schlosssymbol angezeigt. Wenn deaktiviert, werden diese Dateien vollständig aus Dateilisten und Suchen ausgeblendet.", + }, + maxConcurrentFileReads: { + label: "Concurrent file reads limit", + description: + "Maximum number of files the 'read_file' tool can process concurrently. Higher values may speed up reading multiple small files but increase memory usage.", + }, + maxReadFile: { + label: "Schwellenwert für automatische Dateilesekürzung", + description: + "Roo liest diese Anzahl von Zeilen, wenn das Modell keine Start-/Endwerte angibt. Wenn diese Zahl kleiner als die Gesamtzahl der Zeilen ist, erstellt Roo einen Zeilennummernindex der Codedefinitionen. Spezialfälle: -1 weist Roo an, die gesamte Datei zu lesen (ohne Indexierung), und 0 weist an, keine Zeilen zu lesen und nur Zeilenindizes für minimalen Kontext bereitzustellen. Niedrigere Werte minimieren die anfängliche Kontextnutzung und ermöglichen präzise nachfolgende Zeilenbereich-Lesungen. Explizite Start-/End-Anfragen sind von dieser Einstellung nicht begrenzt.", + lines: "Zeilen", + always_full_read: "Immer die gesamte Datei lesen", + }, + diagnostics: { + includeMessages: { + label: "Diagnosen automatisch in den Kontext aufnehmen", + description: + "Wenn aktiviert, werden Diagnosenachrichten (Fehler) aus bearbeiteten Dateien automatisch in den Kontext aufgenommen. Sie können jederzeit alle Workspace-Diagnosen manuell mit @problems einbeziehen.", + }, + maxMessages: { + label: "Maximale Anzahl von Diagnosenachrichten", + description: + "Maximale Anzahl von Diagnosenachrichten, die pro Datei eingeschlossen werden. Dieses Limit gilt sowohl für die automatische Einbeziehung (wenn das Kontrollkästchen aktiviert ist) als auch für manuelle @problems-Erwähnungen. Höhere Werte bieten mehr Kontext, erhöhen aber den Token-Verbrauch.", + resetTooltip: "Auf Standardwert zurücksetzen (50)", + unlimitedLabel: "Unbegrenzt", + }, + delayAfterWrite: { + label: "Verzögerung nach Schreibvorgängen, damit Diagnosen potenzielle Probleme erkennen können", + description: + "Wartezeit nach Dateischreibvorgängen vor dem Fortfahren, damit Diagnosetools Änderungen verarbeiten und Probleme erkennen können.", + }, + }, + condensingThreshold: { + label: "Schwellenwert für Kontextkomprimierung", + selectProfile: "Profil für Schwellenwert konfigurieren", + defaultProfile: "Globaler Standard (alle Profile)", + defaultDescription: + "Wenn der Kontext diesen Prozentsatz erreicht, wird er automatisch für alle Profile komprimiert, es sei denn, sie haben benutzerdefinierte Einstellungen", + profileDescription: + "Benutzerdefinierter Schwellenwert nur für dieses Profil (überschreibt globalen Standard)", + inheritDescription: "Dieses Profil erbt den globalen Standard-Schwellenwert ({{threshold}}%)", + usesGlobal: "(verwendet global {{threshold}}%)", + }, + maxImageFileSize: { + label: "Maximale Bilddateigröße", + mb: "MB", + description: "Maximale Größe (in MB) für Bilddateien, die vom read file Tool verarbeitet werden können.", + }, + maxTotalImageSize: { + label: "Maximale Gesamtbildgröße", + mb: "MB", + description: + "Maximales kumulatives Größenlimit (in MB) für alle Bilder, die in einer einzelnen read_file-Operation verarbeitet werden. Beim Lesen mehrerer Bilder wird die Größe jedes Bildes zur Gesamtsumme addiert. Wenn das Einbeziehen eines weiteren Bildes dieses Limit überschreiten würde, wird es übersprungen.", + }, + }, + J7 = { + basic: { label: "Terminal-Einstellungen: Grundlegend", description: "Grundlegende Terminal-Einstellungen" }, + advanced: { + label: "Terminal-Einstellungen: Erweitert", + description: + "Die folgenden Optionen erfordern möglicherweise einen Terminal-Neustart, um die Einstellung zu übernehmen.", + }, + outputLineLimit: { + label: "Terminal-Ausgabelimit", + description: + "Maximale Anzahl von Zeilen, die in der Terminal-Ausgabe bei der Ausführung von Befehlen enthalten sein sollen. Bei Überschreitung werden Zeilen aus der Mitte entfernt, wodurch Token gespart werden. <0>Mehr erfahren</0>", + }, + outputCharacterLimit: { + label: "Terminal-Zeichenlimit", + description: + "Maximale Anzahl von Zeichen, die in die Terminalausgabe bei der Ausführung von Befehlen aufgenommen werden sollen. Dieses Limit hat Vorrang vor dem Zeilenlimit, um Speicherprobleme durch extrem lange Zeilen zu vermeiden. Bei Überschreitung wird die Ausgabe abgeschnitten. <0>Mehr erfahren</0>", + }, + shellIntegrationTimeout: { + label: "Terminal-Shell-Integrationszeit-Limit", + description: + 'Maximale Wartezeit für die Shell-Integration, bevor Befehle ausgeführt werden. Für Benutzer mit langen Shell-Startzeiten musst du diesen Wert möglicherweise erhöhen, wenn du Fehler vom Typ "Shell Integration Unavailable" im Terminal siehst. <0>Mehr erfahren</0>', + }, + shellIntegrationDisabled: { + label: "Terminal-Shell-Integration deaktivieren", + description: + "Aktiviere dies, wenn Terminalbefehle nicht korrekt funktionieren oder du Fehler wie 'Shell Integration Unavailable' siehst. Dies verwendet eine einfachere Methode zur Ausführung von Befehlen und umgeht einige erweiterte Terminalfunktionen. <0>Mehr erfahren</0>", + }, + commandDelay: { + label: "Terminal-Befehlsverzögerung", + description: + "Verzögerung in Millisekunden, die nach der Befehlsausführung hinzugefügt wird. Die Standardeinstellung von 0 deaktiviert die Verzögerung vollständig. Dies kann dazu beitragen, dass die Befehlsausgabe in Terminals mit Timing-Problemen vollständig erfasst wird. In den meisten Terminals wird dies durch Setzen von `PROMPT_COMMAND='sleep N'` und Powershell fügt `start-sleep` am Ende jedes Befehls hinzu. Ursprünglich war dies eine Lösung für VSCode-Bug#237208 und ist möglicherweise nicht mehr erforderlich. <0>Mehr erfahren</0>", + }, + compressProgressBar: { + label: "Fortschrittsbalken-Ausgabe komprimieren", + description: + "Wenn aktiviert, verarbeitet diese Option Terminal-Ausgaben mit Wagenrücklaufzeichen (\\r), um zu simulieren, wie ein echtes Terminal Inhalte anzeigen würde. Dies entfernt Zwischenzustände von Fortschrittsbalken und behält nur den Endzustand bei, wodurch Kontextraum für relevantere Informationen gespart wird. <0>Mehr erfahren</0>", + }, + powershellCounter: { + label: "PowerShell-Zähler-Workaround aktivieren", + description: + "Wenn aktiviert, fügt einen Zähler zu PowerShell-Befehlen hinzu, um die korrekte Befehlsausführung sicherzustellen. Dies hilft bei PowerShell-Terminals, die Probleme mit der Ausgabeerfassung haben könnten. <0>Mehr erfahren</0>", + }, + zshClearEolMark: { + label: "ZSH-Zeilenende-Markierung löschen", + description: + "Wenn aktiviert, wird die ZSH-Zeilenende-Markierung durch Setzen von PROMPT_EOL_MARK='' gelöscht. Dies verhindert Probleme bei der Interpretation der Befehlsausgabe, wenn diese mit Sonderzeichen wie '%' endet. <0>Mehr erfahren</0>", + }, + zshOhMy: { + label: "Oh My Zsh-Integration aktivieren", + description: + "Wenn aktiviert, wird ITERM_SHELL_INTEGRATION_INSTALLED=Yes gesetzt, um die Shell-Integrationsfunktionen von Oh My Zsh zu aktivieren. Das Anwenden dieser Einstellung erfordert möglicherweise einen Neustart der IDE. <0>Mehr erfahren</0>", + }, + zshP10k: { + label: "Powerlevel10k-Integration aktivieren", + description: + "Wenn aktiviert, wird POWERLEVEL9K_INSTANT_PROMPT=quiet gesetzt, um die Powerlevel10k-Integration zu aktivieren. Dies kann die Leistung verbessern, indem der Prompt sofort angezeigt wird. <0>Mehr erfahren</0>", + }, + zdotdir: { + label: "ZDOTDIR Handhabung aktivieren", + description: + "Wenn aktiviert, wird ein temporäres Verzeichnis für ZDOTDIR erstellt, um die Zsh-Shell-Integration ordnungsgemäß zu handhaben. Dies stellt sicher, dass die VSCode-Shell-Integration mit Zsh korrekt funktioniert, während deine Zsh-Konfiguration erhalten bleibt. <0>Mehr erfahren</0>", + }, + inheritEnv: { + label: "Umgebungsvariablen erben", + description: + "Wenn aktiviert, erbt das Terminal Umgebungsvariablen aus dem übergeordneten Prozess von VSCode, wie z.B. benutzerdefinierte Shell-Integrationseinstellungen. Dies schaltet direkt die globale VSCode-Einstellung `terminal.integrated.inheritEnv` um. <0>Mehr erfahren</0>", + }, + }, + eQ = { title: "Erweiterte Einstellungen" }, + tQ = { + diff: { + label: "Bearbeitung durch Diffs aktivieren", + description: + "Wenn aktiviert, kann Roo Dateien schneller bearbeiten und lehnt automatisch abgeschnittene vollständige Dateischreibvorgänge ab. Funktioniert am besten mit dem neuesten Claude 3.7 Sonnet-Modell.", + strategy: { + label: "Diff-Strategie", + options: { + standard: "Standard (Einzelblock)", + multiBlock: "Experimentell: Mehrblock-Diff", + unified: "Experimentell: Einheitliches Diff", + }, + descriptions: { + standard: "Die Standard-Diff-Strategie wendet Änderungen jeweils auf einen einzelnen Codeblock an.", + unified: + "Die einheitliche Diff-Strategie wendet mehrere Ansätze zur Anwendung von Diffs an und wählt den besten Ansatz.", + multiBlock: + "Die Mehrblock-Diff-Strategie ermöglicht das Aktualisieren mehrerer Codeblöcke in einer Datei in einer Anfrage.", + }, + }, + matchPrecision: { + label: "Übereinstimmungspräzision", + description: + "Dieser Schieberegler steuert, wie genau Codeabschnitte bei der Anwendung von Diffs übereinstimmen müssen. Niedrigere Werte ermöglichen eine flexiblere Übereinstimmung, erhöhen aber das Risiko falscher Ersetzungen. Verwenden Sie Werte unter 100 % mit äußerster Vorsicht.", + }, + }, + todoList: { + label: "Todo-Listen-Tool aktivieren", + description: + "Wenn aktiviert, kann Roo Todo-Listen erstellen und verwalten, um den Aufgabenfortschritt zu verfolgen. Dies hilft, komplexe Aufgaben in überschaubare Schritte zu organisieren.", + }, + }, + nQ = { + DIFF_STRATEGY_UNIFIED: { + name: "Experimentelle einheitliche Diff-Strategie verwenden", + description: + "Aktiviere die experimentelle einheitliche Diff-Strategie. Diese Strategie könnte die Anzahl der durch Modellfehler verursachten Wiederholungsversuche reduzieren, kann aber zu unerwartetem Verhalten oder falschen Bearbeitungen führen. Aktiviere sie nur, wenn du die Risiken verstehst und bereit bist, alle Änderungen sorgfältig zu überprüfen.", + }, + SEARCH_AND_REPLACE: { + name: "Experimentelles Such- und Ersetzungswerkzeug verwenden", + description: + "Aktiviere das experimentelle Such- und Ersetzungswerkzeug, mit dem Roo mehrere Instanzen eines Suchbegriffs in einer Anfrage ersetzen kann.", + }, + INSERT_BLOCK: { + name: "Experimentelles Inhalts-Einfügewerkzeug verwenden", + description: + "Aktiviere das experimentelle Inhalts-Einfügewerkzeug, mit dem Roo Inhalte an bestimmten Zeilennummern einfügen kann, ohne einen Diff erstellen zu müssen.", + }, + POWER_STEERING: { + name: 'Experimentellen "Power Steering"-Modus verwenden', + description: + "Wenn aktiviert, erinnert Roo das Modell häufiger an die Details seiner aktuellen Modusdefinition. Dies führt zu einer stärkeren Einhaltung von Rollendefinitionen und benutzerdefinierten Anweisungen, verbraucht aber mehr Token pro Nachricht.", + }, + CONCURRENT_FILE_READS: { + name: "Gleichzeitiges Lesen von Dateien aktivieren", + description: + "Wenn aktiviert, kann Roo mehrere Dateien in einer einzigen Anfrage lesen. Wenn deaktiviert, muss Roo Dateien einzeln lesen. Das Deaktivieren kann hilfreich sein, wenn mit weniger fähigen Modellen gearbeitet wird oder wenn du mehr Kontrolle über den Dateizugriff haben möchtest.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Experimentelles Multi-Block-Diff-Tool verwenden", + description: + "Wenn aktiviert, wird Roo das Multi-Block-Diff-Tool verwenden. Dies wird versuchen, mehrere Codeblöcke in der Datei in einer Anfrage zu aktualisieren.", + }, + MARKETPLACE: { + name: "Marktplatz aktivieren", + description: + "Wenn aktiviert, können Sie MCPs und benutzerdefinierte Modi aus dem Marketplace installieren.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Gleichzeitige Dateibearbeitungen aktivieren", + description: + "Wenn aktiviert, kann Roo mehrere Dateien in einer einzigen Anfrage bearbeiten. Wenn deaktiviert, muss Roo Dateien einzeln bearbeiten. Das Deaktivieren kann hilfreich sein, wenn mit weniger fähigen Modellen gearbeitet wird oder wenn du mehr Kontrolle über Dateiänderungen haben möchtest.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Hintergrundbearbeitung", + description: + "Verhindert Editor-Fokus-Störungen wenn aktiviert. Dateibearbeitungen erfolgen im Hintergrund ohne Öffnung von Diff-Ansichten oder Fokus-Diebstahl. Du kannst ungestört weiterarbeiten, während Roo Änderungen vornimmt. Dateien können ohne Fokus geöffnet werden, um Diagnosen zu erfassen oder vollständig geschlossen bleiben.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Neuen Nachrichtenparser verwenden", + description: + "Aktiviere den experimentellen Streaming-Nachrichtenparser, der lange Antworten durch effizientere Verarbeitung spürbar schneller macht.", + }, + }, + oQ = { + label: "Prompt-Caching deaktivieren", + description: "Wenn aktiviert, wird Roo für dieses Modell kein Prompt-Caching verwenden.", + }, + rQ = { + useCustom: "Benutzerdefinierte Temperatur verwenden", + description: "Steuert die Zufälligkeit der Modellantworten.", + rangeDescription: "Höhere Werte machen die Ausgabe zufälliger, niedrigere Werte machen sie deterministischer.", + }, + iQ = { + supportsImages: "Unterstützt Bilder", + noImages: "Unterstützt keine Bilder", + supportsComputerUse: "Unterstützt Computernutzung", + noComputerUse: "Unterstützt keine Computernutzung", + supportsPromptCache: "Unterstützt Prompt-Cache", + noPromptCache: "Unterstützt keinen Prompt-Cache", + maxOutput: "Maximale Ausgabe", + inputPrice: "Eingabepreis", + outputPrice: "Ausgabepreis", + cacheReadsPrice: "Cache-Lesepreis", + cacheWritesPrice: "Cache-Schreibpreis", + enableStreaming: "Streaming aktivieren", + enableR1Format: "R1-Modellparameter aktivieren", + enableR1FormatTips: + "Muss bei Verwendung von R1-Modellen wie QWQ aktiviert werden, um 400er-Fehler zu vermeiden", + useAzure: "Azure verwenden", + azureApiVersion: "Azure API-Version festlegen", + gemini: { + freeRequests: + "* Kostenlos bis zu {{count}} Anfragen pro Minute. Danach hängt die Abrechnung von der Prompt-Größe ab.", + pricingDetails: "Weitere Informationen finden Sie unter Preisdetails.", + billingEstimate: "* Die Abrechnung ist eine Schätzung - die genauen Kosten hängen von der Prompt-Größe ab.", + }, + }, + sQ = { + automaticFetch: + 'Die Erweiterung ruft automatisch die neueste Liste der auf <serviceLink>{{serviceName}}</serviceLink> verfügbaren Modelle ab. Wenn du dir nicht sicher bist, welches Modell du wählen sollst, funktioniert Roo Code am besten mit <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Du kannst auch versuchen, nach "kostenlos" zu suchen, um die derzeit verfügbaren kostenlosen Optionen zu finden.', + label: "Modell", + searchPlaceholder: "Suchen", + noMatchFound: "Keine Übereinstimmung gefunden", + useCustomModel: "Benutzerdefiniert verwenden: {{modelId}}", + }, + aQ = { + feedback: + "Wenn du Fragen oder Feedback hast, kannst du gerne ein Issue auf <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> eröffnen oder <redditLink>reddit.com/r/RooCode</redditLink> oder <discordLink>discord.gg/roocode</discordLink> beitreten", + telemetry: { + label: "Anonyme Fehler- und Nutzungsberichte zulassen", + description: + "Hilf mit, Roo Code zu verbessern, indem du anonyme Nutzungsdaten und Fehlerberichte sendest. Es werden niemals Code, Prompts oder persönliche Informationen gesendet (es sei denn, du verbindest dich mit Roo Code Cloud). Weitere Einzelheiten findest du in unserer <privacyLink>Datenschutzrichtlinie</privacyLink>.", + }, + settings: { import: "Importieren", export: "Exportieren", reset: "Zurücksetzen" }, + }, + lQ = { maxTokens: "Max Tokens", maxThinkingTokens: "Max Thinking Tokens" }, + cQ = { + apiKey: "Du musst einen gültigen API-Schlüssel angeben.", + awsRegion: "Du musst eine Region für die Verwendung mit Amazon Bedrock auswählen.", + googleCloud: "Du musst eine gültige Google Cloud Projekt-ID und Region angeben.", + modelId: "Du musst eine gültige Modell-ID angeben.", + modelSelector: "Du musst einen gültigen Modellselektor angeben.", + openAi: "Du musst eine gültige Basis-URL, einen API-Schlüssel und eine Modell-ID angeben.", + arn: { + invalidFormat: "Ungültiges ARN-Format. Bitte überprüfe die Formatanforderungen.", + regionMismatch: + "Warnung: Die Region in deiner ARN ({{arnRegion}}) stimmt nicht mit deiner ausgewählten Region ({{region}}) überein. Dies kann zu Zugriffsproblemen führen. Der Anbieter wird die Region aus der ARN verwenden.", + }, + modelAvailability: + "Die von dir angegebene Modell-ID ({{modelId}}) ist nicht verfügbar. Bitte wähle ein anderes Modell.", + providerNotAllowed: "Anbieter '{{provider}}' ist von deiner Organisation nicht erlaubt", + modelNotAllowed: "Modell '{{model}}' ist für Anbieter '{{provider}}' von deiner Organisation nicht erlaubt", + profileInvalid: + "Dieses Profil enthält einen Anbieter oder ein Modell, das von deiner Organisation nicht erlaubt ist", + }, + dQ = { + apiKey: "API-Schlüssel eingeben...", + profileName: "Profilnamen eingeben", + accessKey: "Zugriffsschlüssel eingeben...", + secretKey: "Geheimschlüssel eingeben...", + sessionToken: "Sitzungstoken eingeben...", + credentialsJson: "Anmeldeinformationen JSON eingeben...", + keyFilePath: "Schlüsseldateipfad eingeben...", + projectId: "Projekt-ID eingeben...", + customArn: "ARN eingeben (z.B. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Basis-URL eingeben...", + modelId: { + lmStudio: "z.B. meta-llama-3.1-8b-instruct", + lmStudioDraft: "z.B. lmstudio-community/llama-3.2-1b-instruct", + ollama: "z.B. llama3.1", + }, + numbers: { + maxTokens: "z.B. 4096", + contextWindow: "z.B. 128000", + inputPrice: "z.B. 0.0001", + outputPrice: "z.B. 0.0002", + cacheWritePrice: "z.B. 0.00005", + }, + }, + uQ = { + ollamaUrl: "Standard: http://localhost:11434", + lmStudioUrl: "Standard: http://localhost:1234", + geminiUrl: "Standard: https://generativelanguage.googleapis.com", + }, + pQ = { customArn: "Benutzerdefinierte ARN", useCustomArn: "Benutzerdefinierte ARN verwenden..." }, + mQ = "Maximale Ausgabe-Tokens einbeziehen", + hQ = + "Senden Sie den Parameter für maximale Ausgabe-Tokens in API-Anfragen. Einige Anbieter unterstützen dies möglicherweise nicht.", + fQ = "Begrenze die maximale Anzahl von Tokens in der Antwort", + gQ = "Maximale Ausgabe-Tokens", + vQ = "Maximale Tokens, die in der Antwort generiert werden", + pgt = { + common: B7, + header: U7, + unsavedChangesDialog: q7, + sections: W7, + prompts: K7, + codeIndex: V7, + autoApprove: H7, + providers: G7, + browser: Q7, + checkpoints: Z7, + notifications: Y7, + contextManagement: X7, + terminal: J7, + advancedSettings: eQ, + advanced: tQ, + experimental: nQ, + promptCaching: oQ, + temperature: rQ, + modelInfo: iQ, + modelPicker: sQ, + footer: aQ, + thinkingBudget: lQ, + validation: cQ, + placeholders: dQ, + defaults: uQ, + labels: pQ, + includeMaxOutputTokens: mQ, + includeMaxOutputTokensDescription: hQ, + limitMaxTokensDescription: fQ, + maxOutputTokensLabel: gQ, + maxTokensGenerateDescription: vQ, + }, + mgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: tQ, + advancedSettings: eQ, + autoApprove: H7, + browser: Q7, + checkpoints: Z7, + codeIndex: V7, + common: B7, + contextManagement: X7, + default: pgt, + defaults: uQ, + experimental: nQ, + footer: aQ, + header: U7, + includeMaxOutputTokens: mQ, + includeMaxOutputTokensDescription: hQ, + labels: pQ, + limitMaxTokensDescription: fQ, + maxOutputTokensLabel: gQ, + maxTokensGenerateDescription: vQ, + modelInfo: iQ, + modelPicker: sQ, + notifications: Y7, + placeholders: dQ, + promptCaching: oQ, + prompts: K7, + providers: G7, + sections: W7, + temperature: rQ, + terminal: J7, + thinkingBudget: lQ, + unsavedChangesDialog: q7, + validation: cQ, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + bQ = "Willkommen bei Roo Code!", + yQ = + "Mit einer Reihe von integrierten und erweiterbaren Modi ermöglicht dir Roo Code, zu planen, zu architektieren, zu coden, zu debuggen und deine Produktivität wie nie zuvor zu steigern.", + kQ = "Um loszulegen, benötigt diese Erweiterung einen API-Anbieter.", + xQ = "Los geht's!", + wQ = { + requesty: { description: "Dein optimierter LLM-Router", incentive: "$1 Guthaben gratis" }, + openrouter: { description: "Eine einheitliche Schnittstelle für LLMs" }, + }, + _Q = "Um seine Magie zu entfalten, benötigt Roo einen API-Schlüssel.", + CQ = "Wir empfehlen die Verwendung eines LLM-Routers:", + SQ = "Oder du kannst deinen eigenen API-Schlüssel verwenden:", + AQ = { + title: "Hilf, Roo Code zu verbessern", + anonymousTelemetry: + "Sende anonyme Fehler- und Nutzungsdaten, um uns bei der Fehlerbehebung und Verbesserung der Erweiterung zu helfen. Es werden niemals Code, Texte oder persönliche Informationen gesendet.", + changeSettings: "Du kannst dies jederzeit unten in den <settingsLink>Einstellungen</settingsLink> ändern", + settings: "Einstellungen", + allow: "Erlauben", + deny: "Ablehnen", + }, + PQ = "Einstellungen importieren", + hgt = { + greeting: bQ, + introduction: yQ, + notice: kQ, + start: xQ, + routers: wQ, + chooseProvider: _Q, + startRouter: CQ, + startCustom: SQ, + telemetry: AQ, + importSettings: PQ, + }, + fgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: _Q, + default: hgt, + greeting: bQ, + importSettings: PQ, + introduction: yQ, + notice: kQ, + routers: wQ, + start: xQ, + startCustom: SQ, + startRouter: CQ, + telemetry: AQ, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + RQ = "Account", + TQ = "Profile picture", + IQ = "Log out", + MQ = "Test API Authentication", + jQ = "Connect to Roo Code Cloud", + EQ = "Connect Now", + zQ = "Connect to Roo Code Cloud", + $Q = "Follow and control tasks from anywhere with Roomote Control", + LQ = "Share tasks with others", + DQ = "Access your task history", + NQ = "Get a holistic view of your token consumption", + OQ = "Visit Roo Code Cloud", + FQ = "Roomote Control", + BQ = "Enable following and interacting with tasks in this workspace with Roo Code Cloud", + ggt = { + title: RQ, + profilePicture: TQ, + logOut: IQ, + testApiAuthentication: MQ, + signIn: jQ, + connect: EQ, + cloudBenefitsTitle: zQ, + cloudBenefitWalkaway: $Q, + cloudBenefitSharing: LQ, + cloudBenefitHistory: DQ, + cloudBenefitMetrics: NQ, + visitCloudWebsite: OQ, + remoteControl: FQ, + remoteControlDescription: BQ, + }, + vgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: DQ, + cloudBenefitMetrics: NQ, + cloudBenefitSharing: LQ, + cloudBenefitWalkaway: $Q, + cloudBenefitsTitle: zQ, + connect: EQ, + default: ggt, + logOut: IQ, + profilePicture: TQ, + remoteControl: FQ, + remoteControlDescription: BQ, + signIn: jQ, + testApiAuthentication: MQ, + title: RQ, + visitCloudWebsite: OQ, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + UQ = "Welcome to Roo Code!", + qQ = { + title: "Task", + seeMore: "See more", + seeLess: "See less", + tokens: "Tokens:", + cache: "Cache:", + apiCost: "API Cost:", + condenseContext: "Intelligently condense context", + contextWindow: "Context Length:", + closeAndStart: "Close task and start a new one", + export: "Export task history", + share: "Share task", + delete: "Delete Task (Shift + Click to skip confirmation)", + shareWithOrganization: "Share with Organization", + shareWithOrganizationDescription: "Only members of your organization can access", + sharePublicly: "Share Publicly", + sharePubliclyDescription: "Anyone with the link can access", + connectToCloud: "Connect to Cloud", + connectToCloudDescription: "Sign in to Roo Code Cloud to share tasks", + sharingDisabledByOrganization: "Sharing disabled by organization", + shareSuccessOrganization: "Organization link copied to clipboard", + shareSuccessPublic: "Public link copied to clipboard", + }, + WQ = "Unpin", + KQ = "Pin", + VQ = { title: "Retry", tooltip: "Try the operation again" }, + HQ = { title: "Start New Task", tooltip: "Begin a new task" }, + GQ = { title: "Proceed Anyways", tooltip: "Continue while command executes" }, + QQ = { title: "Save", tooltip: "Save the message changes" }, + ZQ = { + availableSpace: "Available space: {{amount}} tokens", + tokensUsed: "Tokens used: {{used}} of {{total}}", + reservedForResponse: "Reserved for model response: {{amount}} tokens", + }, + YQ = { title: "Reject", tooltip: "Reject this action" }, + XQ = "Complete Subtask and Return", + JQ = { title: "Approve", tooltip: "Approve this action" }, + eZ = { title: "Run Command", tooltip: "Execute this command" }, + tZ = { title: "Proceed While Running", tooltip: "Continue despite warnings" }, + nZ = { title: "Kill Command", tooltip: "Kill the current command" }, + oZ = { title: "Resume Task", tooltip: "Continue the current task" }, + rZ = { title: "Terminate", tooltip: "End the current task" }, + iZ = { title: "Cancel", tooltip: "Cancel the current operation" }, + sZ = { placeholder: "Edit your message..." }, + aZ = "Scroll to bottom of chat", + lZ = + "Generate, refactor, and debug code with AI assistance. Check out our <DocsLink>documentation</DocsLink> to learn more.", + cZ = "Your task list in this workspace is empty.", + dZ = { + boomerangTasks: { title: "Task Orchestration", description: "Split tasks into smaller, manageable parts" }, + stickyModels: { title: "Sticky Models", description: "Each mode remembers your last used model" }, + tools: { + title: "Tools", + description: "Allow the AI to solve problems by browsing the web, running commands, and more", + }, + customizableModes: { + title: "Customizable Modes", + description: "Specialized personas with their own behaviors and assigned models", + }, + }, + uZ = "Select mode for interaction", + pZ = "Select API configuration", + mZ = "Enhance prompt with additional context", + hZ = { + title: "Modes", + marketplace: "Mode Marketplace", + settings: "Mode Settings", + description: "Specialized personas that tailor Roo's behavior.", + searchPlaceholder: "Search modes...", + noResults: "No results found", + }, + fZ = + "The 'Enhance Prompt' button helps improve your prompt by providing additional context, clarification, or rephrasing. Try typing a prompt in here and clicking the button again to see how it works.", + gZ = "Add images to message", + vZ = "Send message", + bZ = "Stop text-to-speech", + yZ = "Type a message...", + kZ = "Type your task here...", + xZ = "@ to add context, / for commands", + wZ = "hold shift to drag in files", + _Z = "hold shift to drag in files/images", + CZ = "Error reading file:", + SZ = "No valid images were processed", + AZ = "Separator", + PZ = "Edit...", + RZ = "for next mode", + TZ = "for previous mode", + IZ = { + title: "API Request", + failed: "API Request Failed", + streaming: "API Request...", + cancelled: "API Request Cancelled", + streamingFailed: "API Streaming Failed", + }, + MZ = { + regular: "Checkpoint", + initializingWarning: + "Still initializing checkpoint... If this takes too long, you can disable checkpoints in <settingsLink>settings</settingsLink> and restart your task.", + menu: { + viewDiff: "View Diff", + restore: "Restore Checkpoint", + restoreFiles: "Restore Files", + restoreFilesDescription: "Restores your project's files back to a snapshot taken at this point.", + restoreFilesAndTask: "Restore Files & Task", + confirm: "Confirm", + cancel: "Cancel", + cannotUndo: "This action cannot be undone.", + restoreFilesAndTaskDescription: + "Restores your project's files back to a snapshot taken at this point and deletes all messages after this point.", + }, + current: "Current", + }, + jZ = { + title: "Context Condensed", + condensing: "Condensing context...", + errorHeader: "Failed to condense context", + tokens: "tokens", + }, + EZ = { wantsToFetch: "Roo wants to fetch detailed instructions to assist with the current task" }, + zZ = { + wantsToRead: "Roo wants to read this file:", + wantsToReadMultiple: "Roo wants to read multiple files:", + wantsToReadAndXMore: "Roo wants to read this file and {{count}} more:", + wantsToReadOutsideWorkspace: "Roo wants to read this file outside of the workspace:", + didRead: "Roo read this file:", + wantsToEdit: "Roo wants to edit this file:", + wantsToEditOutsideWorkspace: "Roo wants to edit this file outside of the workspace:", + wantsToEditProtected: "Roo wants to edit a protected configuration file:", + wantsToApplyBatchChanges: "Roo wants to apply changes to multiple files:", + wantsToCreate: "Roo wants to create a new file:", + wantsToSearchReplace: "Roo wants to search and replace in this file:", + didSearchReplace: "Roo performed search and replace on this file:", + wantsToInsert: "Roo wants to insert content into this file:", + wantsToInsertWithLineNumber: "Roo wants to insert content into this file at line {{lineNumber}}:", + wantsToInsertAtEnd: "Roo wants to append content to the end of this file:", + }, + $Z = { + wantsToViewTopLevel: "Roo wants to view the top level files in this directory:", + didViewTopLevel: "Roo viewed the top level files in this directory:", + wantsToViewTopLevelOutsideWorkspace: + "Roo wants to view the top level files in this directory (outside workspace):", + didViewTopLevelOutsideWorkspace: "Roo viewed the top level files in this directory (outside workspace):", + wantsToViewRecursive: "Roo wants to recursively view all files in this directory:", + didViewRecursive: "Roo recursively viewed all files in this directory:", + wantsToViewRecursiveOutsideWorkspace: + "Roo wants to recursively view all files in this directory (outside workspace):", + didViewRecursiveOutsideWorkspace: "Roo recursively viewed all files in this directory (outside workspace):", + wantsToViewDefinitions: "Roo wants to view source code definition names used in this directory:", + didViewDefinitions: "Roo viewed source code definition names used in this directory:", + wantsToViewDefinitionsOutsideWorkspace: + "Roo wants to view source code definition names used in this directory (outside workspace):", + didViewDefinitionsOutsideWorkspace: + "Roo viewed source code definition names used in this directory (outside workspace):", + wantsToSearch: "Roo wants to search this directory for <code>{{regex}}</code>:", + didSearch: "Roo searched this directory for <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo wants to search this directory (outside workspace) for <code>{{regex}}</code>:", + didSearchOutsideWorkspace: "Roo searched this directory (outside workspace) for <code>{{regex}}</code>:", + }, + LZ = { + wantsToSearch: "Roo wants to search the codebase for <code>{{query}}</code>:", + wantsToSearchWithPath: "Roo wants to search the codebase for <code>{{query}}</code> in <code>{{path}}</code>:", + didSearch_one: "Found 1 result", + didSearch_other: "Found {{count}} results", + resultTooltip: "Similarity score: {{score}} (click to open file)", + }, + DZ = "Command Output", + NZ = { + running: "Running", + pid: "PID: {{pid}}", + exited: "Exited ({{exitCode}})", + manageCommands: "Manage Command Permissions", + commandManagementDescription: + "Manage command permissions: Click ✓ to allow auto-execution, ✗ to deny execution. Patterns can be toggled on/off or removed from lists. <settingsLink>View all settings</settingsLink>", + addToAllowed: "Add to allowed list", + removeFromAllowed: "Remove from allowed list", + addToDenied: "Add to denied list", + removeFromDenied: "Remove from denied list", + abortCommand: "Abort command execution", + expandOutput: "Expand output", + collapseOutput: "Collapse output", + expandManagement: "Expand command management section", + collapseManagement: "Collapse command management section", + }, + OZ = "Response", + FZ = { + wantsToUseTool: "Roo wants to use a tool on the {{serverName}} MCP server:", + wantsToAccessResource: "Roo wants to access a resource on the {{serverName}} MCP server:", + }, + BZ = { + wantsToSwitch: "Roo wants to switch to {{mode}} mode", + wantsToSwitchWithReason: "Roo wants to switch to {{mode}} mode because: {{reason}}", + didSwitch: "Roo switched to {{mode}} mode", + didSwitchWithReason: "Roo switched to {{mode}} mode because: {{reason}}", + }, + UZ = { + wantsToCreate: "Roo wants to create a new subtask in {{mode}} mode:", + wantsToFinish: "Roo wants to finish this subtask", + newTaskContent: "Subtask Instructions", + completionContent: "Subtask Completed", + resultContent: "Subtask Results", + defaultResult: "Please continue to the next task.", + completionInstructions: + "Subtask completed! You can review the results and suggest any corrections or next steps. If everything looks good, confirm to return the result to the parent task.", + }, + qZ = { hasQuestion: "Roo has a question:" }, + WZ = "Task Completed", + KZ = "Error", + VZ = { title: "Edit Unsuccessful" }, + HZ = "Roo is having trouble...", + GZ = { issues: "It seems like you're having Windows PowerShell issues, please see this" }, + QZ = { + title: "Auto-approve:", + none: "None", + description: + "Auto-approve allows Roo Code to perform actions without asking for permission. Only enable for actions you fully trust. More detailed configuration available in <settingsLink>Settings</settingsLink>.", + selectOptionsFirst: "Select at least one option below to enable auto-approval", + toggleAriaLabel: "Toggle auto-approval", + disabledAriaLabel: "Auto-approval disabled - select options first", + }, + ZZ = { + title: "🎉 Roo Code {{version}} Released", + description: + "Roo Code {{version}} brings powerful new features and significant improvements to enhance your development workflow.", + whatsNew: "What's New", + feature1: + "<bold>Message Queueing</bold>: Queue multiple messages while Roo is working, allowing you to continue planning your workflow without interruption.", + feature2: + "<bold>Custom Slash Commands</bold>: Create personalized slash commands for quick access to frequently used prompts and workflows, with full UI management.", + feature3: + "<bold>Enhanced Gemini Tools</bold>: New URL context and Google Search grounding capabilities provide Gemini models with real-time web information and enhanced research abilities.", + hideButton: "Hide announcement", + detailsDiscussLinks: + "Get more details and discuss in <discordLink>Discord</discordLink> and <redditLink>Reddit</redditLink> 🚀", + }, + YZ = { thinking: "Thinking", seconds: "{{count}}s" }, + XZ = { + copyToInput: "Copy to input (same as shift + click)", + autoSelectCountdown: "Auto-selecting in {{count}}s", + countdownDisplay: "{{count}}s", + }, + JZ = { + rooWantsToUse: "Roo wants to use the browser:", + consoleLogs: "Console Logs", + noNewLogs: "(No new logs)", + screenshot: "Browser screenshot", + cursor: "cursor", + navigation: { step: "Step {{current}} of {{total}}", previous: "Previous", next: "Next" }, + sessionStarted: "Browser Session Started", + actions: { + title: "Browse Action: ", + launch: "Launch browser at {{url}}", + click: "Click ({{coordinate}})", + type: 'Type "{{text}}"', + scrollDown: "Scroll down", + scrollUp: "Scroll up", + close: "Close browser", + }, + }, + eY = { + tooltips: { + expand: "Expand code block", + collapse: "Collapse code block", + enable_wrap: "Enable word wrap", + disable_wrap: "Disable word wrap", + copy_code: "Copy code", + }, + }, + tY = + "WARNING: Custom system prompt override active. This can severely break functionality and cause unpredictable behavior.", + nY = "The current profile isn't compatible with your organization's settings", + oY = { + title: "Command Execution Warning", + description: + "Your command is being executed without VSCode terminal shell integration. To suppress this warning you can disable shell integration in the <strong>Terminal</strong> section of the <settingsLink>Roo Code settings</settingsLink> or troubleshoot VSCode terminal integration using the link below.", + troubleshooting: "Click here for shell integration documentation.", + }, + rY = { + autoApprovedRequestLimitReached: { + title: "Auto-Approved Request Limit Reached", + description: + "Roo has reached the auto-approved limit of {{count}} API request(s). Would you like to reset the count and proceed with the task?", + button: "Reset and Continue", + }, + autoApprovedCostLimitReached: { + title: "Auto-Approved Cost Limit Reached", + description: + "Roo has reached the auto-approved cost limit of ${{count}}. Would you like to reset the cost and proceed with the task?", + button: "Reset and Continue", + }, + }, + iY = { + ready: "Index ready", + indexing: "Indexing {{percentage}}%", + indexed: "Indexed", + error: "Index error", + status: "Index status", + }, + sY = { ariaLabel: "Version {{version}} - Click to view release notes" }, + aY = { + title: "Roo Code Cloud is coming soon!", + description: + "Run Roomote agents in the cloud, access your tasks from anywhere, collaborate with others, and more.", + joinWaitlist: "Join the waitlist to get early access.", + }, + lY = { triggerDescription: "Trigger the {{name}} command" }, + cY = { + tooltip: "Manage slash commands", + title: "Slash Commands", + description: + "Create custom slash commands for quick access to frequently used prompts and workflows. <DocsLink>Docs</DocsLink>", + globalCommands: "Global Commands", + workspaceCommands: "Workspace Commands", + globalCommand: "Global command", + editCommand: "Edit command", + deleteCommand: "Delete command", + newGlobalCommandPlaceholder: "New global command...", + newWorkspaceCommandPlaceholder: "New workspace command...", + deleteDialog: { + title: "Delete Command", + description: 'Are you sure you want to delete the command "{{name}}"? This action cannot be undone.', + cancel: "Cancel", + confirm: "Delete", + }, + }, + dY = { title: "Queued Messages:", clickToEdit: "Click to edit message" }, + bgt = { + greeting: UQ, + task: qQ, + unpin: WQ, + pin: KQ, + retry: VQ, + startNewTask: HQ, + proceedAnyways: GQ, + save: QQ, + tokenProgress: ZQ, + reject: YQ, + completeSubtaskAndReturn: XQ, + approve: JQ, + "read-batch": { approve: { title: "Approve All" }, deny: { title: "Deny All" } }, + runCommand: eZ, + proceedWhileRunning: tZ, + killCommand: nZ, + resumeTask: oZ, + terminate: rZ, + cancel: iZ, + editMessage: sZ, + scrollToBottom: aZ, + about: lZ, + onboarding: cZ, + rooTips: dZ, + selectMode: uZ, + selectApiConfig: pZ, + enhancePrompt: mZ, + modeSelector: hZ, + enhancePromptDescription: fZ, + addImages: gZ, + sendMessage: vZ, + stopTts: bZ, + typeMessage: yZ, + typeTask: kZ, + addContext: xZ, + dragFiles: wZ, + dragFilesImages: _Z, + errorReadingFile: CZ, + noValidImages: SZ, + separator: AZ, + edit: PZ, + forNextMode: RZ, + forPreviousMode: TZ, + apiRequest: IZ, + checkpoint: MZ, + contextCondense: jZ, + instructions: EZ, + fileOperations: zZ, + directoryOperations: $Z, + codebaseSearch: LZ, + commandOutput: DZ, + commandExecution: NZ, + response: OZ, + arguments: "Arguments", + mcp: FZ, + modes: BZ, + subtasks: UZ, + questions: qZ, + taskCompleted: WZ, + error: KZ, + diffError: VZ, + troubleMessage: HZ, + powershell: GZ, + autoApprove: QZ, + announcement: ZZ, + reasoning: YZ, + followUpSuggest: XZ, + browser: JZ, + codeblock: eY, + systemPromptWarning: tY, + profileViolationWarning: nY, + shellIntegration: oY, + ask: rY, + indexingStatus: iY, + versionIndicator: sY, + rooCloudCTA: aY, + command: lY, + slashCommands: cY, + queuedMessages: dY, + }, + ygt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: lZ, + addContext: xZ, + addImages: gZ, + announcement: ZZ, + apiRequest: IZ, + approve: JQ, + ask: rY, + autoApprove: QZ, + browser: JZ, + cancel: iZ, + checkpoint: MZ, + codebaseSearch: LZ, + codeblock: eY, + command: lY, + commandExecution: NZ, + commandOutput: DZ, + completeSubtaskAndReturn: XQ, + contextCondense: jZ, + default: bgt, + diffError: VZ, + directoryOperations: $Z, + dragFiles: wZ, + dragFilesImages: _Z, + edit: PZ, + editMessage: sZ, + enhancePrompt: mZ, + enhancePromptDescription: fZ, + error: KZ, + errorReadingFile: CZ, + fileOperations: zZ, + followUpSuggest: XZ, + forNextMode: RZ, + forPreviousMode: TZ, + greeting: UQ, + indexingStatus: iY, + instructions: EZ, + killCommand: nZ, + mcp: FZ, + modeSelector: hZ, + modes: BZ, + noValidImages: SZ, + onboarding: cZ, + pin: KQ, + powershell: GZ, + proceedAnyways: GQ, + proceedWhileRunning: tZ, + profileViolationWarning: nY, + questions: qZ, + queuedMessages: dY, + reasoning: YZ, + reject: YQ, + response: OZ, + resumeTask: oZ, + retry: VQ, + rooCloudCTA: aY, + rooTips: dZ, + runCommand: eZ, + save: QQ, + scrollToBottom: aZ, + selectApiConfig: pZ, + selectMode: uZ, + sendMessage: vZ, + separator: AZ, + shellIntegration: oY, + slashCommands: cY, + startNewTask: HQ, + stopTts: bZ, + subtasks: UZ, + systemPromptWarning: tY, + task: qQ, + taskCompleted: WZ, + terminate: rZ, + tokenProgress: ZQ, + troubleMessage: HZ, + typeMessage: yZ, + typeTask: kZ, + unpin: WQ, + versionIndicator: sY, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + uY = { + title: "Something went wrong", + reportText: "Please help us improve by reporting this error on", + githubText: "our GitHub Issues page", + copyInstructions: "Copy and paste the following error message to include it as part of your submission:", + errorStack: "Error Stack:", + componentStack: "Component Stack:", + }, + pY = { yes: "Yes", no: "No", cancel: "Cancel", remove: "Remove", keep: "Keep" }, + mY = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + hY = { search_placeholder: "Search...", no_results: "No results found" }, + fY = { + loading: "Generating mermaid diagram...", + render_error: "Unable to Render Diagram", + buttons: { + zoom: "Zoom", + zoomIn: "Zoom In", + zoomOut: "Zoom Out", + copy: "Copy", + save: "Save Image", + viewCode: "View Code", + viewDiagram: "View Diagram", + close: "Close", + }, + modal: { codeTitle: "Mermaid Code" }, + tabs: { diagram: "Diagram", code: "Code" }, + feedback: { imageCopied: "Image copied to clipboard", copyError: "Error copying image" }, + }, + gY = { + errors: { + invalidDataUri: "Invalid data URI format", + copyingImage: "Error copying image: {{error}}", + openingImage: "Error opening image: {{error}}", + pathNotExists: "Path does not exist: {{path}}", + couldNotOpen: "Could not open file: {{error}}", + couldNotOpenGeneric: "Could not open file!", + }, + success: { imageDataUriCopied: "Image data URI copied to clipboard" }, + }, + vY = { + deleteMessage: "Delete Message", + deleteWarning: + "Deleting this message will delete all subsequent messages in the conversation. Do you want to proceed?", + editMessage: "Edit Message", + editWarning: + "Editing this message will delete all subsequent messages in the conversation. Do you want to proceed?", + proceed: "Proceed", + }, + kgt = { errorBoundary: uY, answers: pY, number_format: mY, ui: hY, mermaid: fY, file: gY, confirmation: vY }, + xgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: pY, + confirmation: vY, + default: kgt, + errorBoundary: uY, + file: gY, + mermaid: fY, + number_format: mY, + ui: hY, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + bY = "Recent Tasks", + yY = "History", + kY = "Exit Selection Mode", + xY = "Enter Selection Mode", + wY = "Done", + _Y = "Fuzzy search history...", + CY = "Newest", + SY = "Oldest", + AY = "Most Expensive", + PY = "Most Tokens", + RY = "Most Relevant", + TY = "Delete Task (Shift + Click to skip confirmation)", + IY = "Copy Prompt", + MY = "Export Task", + jY = "Delete Task", + EY = "Are you sure you want to delete this task? This action cannot be undone.", + zY = "Cancel", + $Y = "Exit Selection", + LY = "Selection Mode", + DY = "Deselect all", + NY = "Select all", + OY = "Selected {{selected}}/{{total}} items", + FY = "Clear Selection", + BY = "Delete Selected", + UY = "Delete Tasks", + qY = "Are you sure you want to delete {{count}} tasks?", + WY = "Deleted tasks cannot be recovered. Please make sure you want to proceed.", + KY = "Delete {{count}} Items", + VY = { prefix: "Workspace:", current: "Current", all: "All" }, + HY = { + prefix: "Sort:", + newest: "Newest", + oldest: "Oldest", + mostExpensive: "Most Expensive", + mostTokens: "Most Tokens", + mostRelevant: "Most Relevant", + }, + GY = "View all tasks", + wgt = { + recentTasks: bY, + history: yY, + exitSelectionMode: kY, + enterSelectionMode: xY, + done: wY, + searchPlaceholder: _Y, + newest: CY, + oldest: SY, + mostExpensive: AY, + mostTokens: PY, + mostRelevant: RY, + deleteTaskTitle: TY, + copyPrompt: IY, + exportTask: MY, + deleteTask: jY, + deleteTaskMessage: EY, + cancel: zY, + delete: "Delete", + exitSelection: $Y, + selectionMode: LY, + deselectAll: DY, + selectAll: NY, + selectedItems: OY, + clearSelection: FY, + deleteSelected: BY, + deleteTasks: UY, + confirmDeleteTasks: qY, + deleteTasksWarning: WY, + deleteItems: KY, + workspace: VY, + sort: HY, + viewAllHistory: GY, + }, + _gt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: zY, + clearSelection: FY, + confirmDeleteTasks: qY, + copyPrompt: IY, + default: wgt, + deleteItems: KY, + deleteSelected: BY, + deleteTask: jY, + deleteTaskMessage: EY, + deleteTaskTitle: TY, + deleteTasks: UY, + deleteTasksWarning: WY, + deselectAll: DY, + done: wY, + enterSelectionMode: xY, + exitSelection: $Y, + exitSelectionMode: kY, + exportTask: MY, + history: yY, + mostExpensive: AY, + mostRelevant: RY, + mostTokens: PY, + newest: CY, + oldest: SY, + recentTasks: bY, + searchPlaceholder: _Y, + selectAll: NY, + selectedItems: OY, + selectionMode: LY, + sort: HY, + viewAllHistory: GY, + workspace: VY, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + QY = "Human Relay - Please Help Copy/Paste Information", + ZY = "Please copy the following prompt to the web AI, then paste the AI's response in the input box below.", + YY = "Copied to clipboard", + XY = { label: "Please enter AI's response:", placeholder: "Paste AI's response here..." }, + JY = { cancel: "Cancel", submit: "Submit" }, + Cgt = { dialogTitle: QY, dialogDescription: ZY, copiedToClipboard: YY, aiResponse: XY, actions: JY }, + Sgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: JY, + aiResponse: XY, + copiedToClipboard: YY, + default: Cgt, + dialogDescription: ZY, + dialogTitle: QY, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + eX = "Roo Marketplace", + tX = { installed: "Installed", settings: "Settings", browse: "Browse" }, + nX = "Done", + oX = "Refresh", + rX = { + search: { + placeholder: "Search marketplace items...", + placeholderMcp: "Search MCPs...", + placeholderMode: "Search Modes...", + }, + type: { label: "Filter by type:", all: "All types", mode: "Mode", mcpServer: "MCP Server" }, + sort: { label: "Sort by:", name: "Name", author: "Author", lastUpdated: "Last Updated" }, + tags: { + label: "Filter by tags:", + clear: "Clear tags", + placeholder: "Type to search and select tags...", + noResults: "No matching tags found", + selected: "Showing items with any of the selected tags", + clickToFilter: "Click tags to filter items", + }, + none: "None", + }, + iX = { organizationMcps: "{{organization}} MCPs", marketplace: "Marketplace" }, + sX = { + empty: { + noItems: "No marketplace items found", + withFilters: "Try adjusting your filters", + noSources: "Try adding a source in the Sources tab", + adjustFilters: "Try adjusting your filters or search terms", + clearAllFilters: "Clear all filters", + }, + count: "{{count}} items found", + components: "{{count}} components", + matched: "{{count}} matched", + refresh: { button: "Refresh", refreshing: "Refreshing...", mayTakeMoment: "This may take a moment." }, + card: { + by: "by {{author}}", + from: "from {{source}}", + install: "Install", + installProject: "Install", + installGlobal: "Install (Global)", + remove: "Remove", + removeProject: "Remove", + removeGlobal: "Remove (Global)", + viewSource: "View", + viewOnSource: "View on {{source}}", + noWorkspaceTooltip: "Open a workspace to install marketplace items", + installed: "Installed", + removeProjectTooltip: "Remove from current project", + removeGlobalTooltip: "Remove from global configuration", + actionsMenuLabel: "More actions", + }, + removeFailed: "Failed to remove item: {{error}}", + unknownError: "Unknown error occurred", + }, + aX = { + title: "Install {{name}}", + titleMode: "Install {{name}} Mode", + titleMcp: "Install {{name}} MCP", + scope: "Installation Scope", + project: "Project (current workspace)", + global: "Global (all workspaces)", + method: "Installation Method", + prerequisites: "Prerequisites", + configuration: "Configuration", + configurationDescription: "Configure the parameters required for this MCP server", + button: "Install", + successTitle: "{{name}} Installed", + successDescription: "Installation completed successfully", + installed: "Successfully installed!", + whatNextMcp: "You can now configure and use this MCP server. Click the MCP icon in the sidebar to switch tabs.", + whatNextMode: "You can now use this mode. Click the Modes icon in the sidebar to switch tabs.", + done: "Done", + goToMcp: "Go to MCP Tab", + goToModes: "Go to Modes Settings", + moreInfoMcp: "View {{name}} MCP documentation", + validationRequired: "Please provide a value for {{paramName}}", + }, + lX = { + title: "Configure Marketplace Sources", + description: + "Add Git repositories that contain marketplace items. These repositories will be fetched when browsing the marketplace.", + add: { + title: "Add New Source", + urlPlaceholder: "Git repository URL (e.g., https://github.com/username/repo)", + urlFormats: + "Supported formats: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), or Git protocol (git://github.com/username/repo.git)", + namePlaceholder: "Display name (max 20 chars)", + button: "Add Source", + }, + current: { + title: "Current Sources", + empty: "No sources configured. Add a source to get started.", + refresh: "Refresh this source", + remove: "Remove source", + }, + errors: { + emptyUrl: "URL cannot be empty", + invalidUrl: "Invalid URL format", + nonVisibleChars: "URL contains non-visible characters other than spaces", + invalidGitUrl: "URL must be a valid Git repository URL (e.g., https://github.com/username/repo)", + duplicateUrl: "This URL is already in the list (case and whitespace insensitive match)", + nameTooLong: "Name must be 20 characters or less", + nonVisibleCharsName: "Name contains non-visible characters other than spaces", + duplicateName: "This name is already in use (case and whitespace insensitive match)", + emojiName: "Emoji characters may cause display issues", + maxSources: "Maximum of {{max}} sources allowed", + }, + }, + cX = { + mode: { + title: "Remove Mode", + message: 'Are you sure you want to remove the mode "{{modeName}}"?', + rulesWarning: "This will also remove any associated rules files for this mode.", + }, + mcp: { title: "Remove MCP Server", message: 'Are you sure you want to remove the MCP server "{{mcpName}}"?' }, + cancel: "Cancel", + confirm: "Remove", + }, + dX = { + issueText: + "Found a problem with a marketplace item or have suggestions for new ones? <0>Open a GitHub issue</0> to let us know!", + }, + Agt = { + title: eX, + tabs: tX, + done: nX, + refresh: oX, + filters: rX, + sections: iX, + "type-group": { modes: "Modes", mcps: "MCP Servers" }, + items: sX, + install: aX, + sources: lX, + removeConfirm: cX, + footer: dX, + }, + Pgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Agt, + done: nX, + filters: rX, + footer: dX, + install: aX, + items: sX, + refresh: oX, + removeConfirm: cX, + sections: iX, + sources: lX, + tabs: tX, + title: eX, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + uX = "MCP Servers", + pX = "Done", + mX = "MCP Marketplace", + hX = `The <0>Model Context Protocol</0> enables communication with locally running MCP servers that provide additional tools and resources to extend Roo's capabilities. You can use <1>community-made servers</1> or ask Roo to create new tools specific to your workflow (e.g., "add a tool that gets the latest npm docs").`, + fX = "Instructions", + gX = { + title: "Enable MCP Servers", + description: + "Turn this ON to let Roo use tools from connected MCP servers. This gives Roo more capabilities. If you don't plan to use these extra tools, turn it OFF to help reduce API token costs.", + }, + vX = { + title: "Enable MCP Server Creation", + description: + "Enable this to have Roo help you build <1>new</1> custom MCP servers. <0>Learn about server creation</0>", + hint: "Hint: To reduce API token costs, disable this setting when you are not actively asking Roo to create a new MCP server.", + }, + bX = "Edit Global MCP", + yX = "Edit Project MCP", + kX = "Refresh MCP Servers", + xX = "Learn more about editing MCP settings files", + wX = { + alwaysAllow: "Always allow", + parameters: "Parameters", + noDescription: "No description", + togglePromptInclusion: "Toggle inclusion in prompt", + }, + _X = { tools: "Tools", resources: "Resources", errors: "Errors" }, + CX = { noTools: "No tools found", noResources: "No resources found", noErrors: "No errors found" }, + SX = { + label: "Network Timeout", + description: "Maximum time to wait for server responses", + options: { + "15seconds": "15 seconds", + "30seconds": "30 seconds", + "1minute": "1 minute", + "5minutes": "5 minutes", + "10minutes": "10 minutes", + "15minutes": "15 minutes", + "30minutes": "30 minutes", + "60minutes": "60 minutes", + }, + }, + AX = { + title: "Delete MCP Server", + description: 'Are you sure you want to delete the MCP server "{{serverName}}"? This action cannot be undone.', + cancel: "Cancel", + delete: "Delete", + }, + PX = { retrying: "Retrying...", retryConnection: "Retry Connection" }, + RX = { running: "Running", completed: "Completed", error: "Error" }, + Rgt = { + title: uX, + done: pX, + marketplace: mX, + description: hX, + instructions: fX, + enableToggle: gX, + enableServerCreation: vX, + editGlobalMCP: bX, + editProjectMCP: yX, + refreshMCP: kX, + learnMoreEditingSettings: xX, + tool: wX, + tabs: _X, + emptyState: CX, + networkTimeout: SX, + deleteDialog: AX, + serverStatus: PX, + execution: RX, + }, + Tgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Rgt, + deleteDialog: AX, + description: hX, + done: pX, + editGlobalMCP: bX, + editProjectMCP: yX, + emptyState: CX, + enableServerCreation: vX, + enableToggle: gX, + execution: RX, + instructions: fX, + learnMoreEditingSettings: xX, + marketplace: mX, + networkTimeout: SX, + refreshMCP: kX, + serverStatus: PX, + tabs: _X, + title: uX, + tool: wX, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + TX = "Modes", + IX = "Done", + MX = { + title: "Modes", + createNewMode: "Create new mode", + importMode: "Import Mode", + editModesConfig: "Edit modes configuration", + editGlobalModes: "Edit Global Modes", + editProjectModes: "Edit Project Modes (.roomodes)", + createModeHelpText: + "Modes are specialized personas that tailor Roo's behavior. <0>Learn about Using Modes</0> or <1>Customizing Modes.</1>", + selectMode: "Search modes", + noMatchFound: "No modes found", + }, + jX = { title: "API Configuration", select: "Select which API configuration to use for this mode" }, + EX = { + title: "Available Tools", + builtInModesText: "Tools for built-in modes cannot be modified", + editTools: "Edit tools", + doneEditing: "Done editing", + allowedFiles: "Allowed files:", + toolNames: { + read: "Read Files", + edit: "Edit Files", + browser: "Use Browser", + command: "Run Commands", + mcp: "Use MCP", + }, + noTools: "None", + }, + zX = { + title: "Role Definition", + resetToDefault: "Reset to default", + description: + "Define Roo's expertise and personality for this mode. This description shapes how Roo presents itself and approaches tasks.", + }, + $X = { + title: "Short description (for humans)", + resetToDefault: "Reset to default description", + description: "A brief description shown in the mode selector dropdown.", + }, + LX = { + title: "When to Use (optional)", + description: + "Guidance for Roo for when this mode should be used. This helps the Orchestrator choose the right mode for a task.", + resetToDefault: "Reset to default 'When to Use' description", + }, + DX = { + title: "Mode-specific Custom Instructions (optional)", + resetToDefault: "Reset to default", + description: "Add behavioral guidelines specific to {{modeName}} mode.", + loadFromFile: + "Custom instructions specific to {{mode}} mode can also be loaded from the <span>.roo/rules-{{slug}}/</span> folder in your workspace (.roorules-{{slug}} and .clinerules-{{slug}} are deprecated and will stop working soon).", + }, + NX = { + title: "Export Mode", + description: + "Export this mode with rules from the .roo/rules-{{slug}}/ folder combined into a shareable YAML file. The original files remain unchanged.", + exporting: "Exporting...", + }, + OX = { + selectLevel: "Choose where to import this mode:", + import: "Import", + importing: "Importing...", + global: { + label: "Global Level", + description: + "Available across all projects. If the exported mode contained rules files, they will be recreated in the global .roo/rules-{slug}/ folder.", + }, + project: { + label: "Project Level", + description: + "Only available in this workspace. If the exported mode contained rules files, they will be recreated in .roo/rules-{slug}/ folder.", + }, + }, + FX = { title: "Advanced: Override System Prompt" }, + BX = { + title: "Custom Instructions for All Modes", + description: + "These instructions apply to all modes. They provide a base set of behaviors that can be enhanced by mode-specific instructions below. <0>Learn more</0>", + loadFromFile: + "Instructions can also be loaded from the <span>.roo/rules/</span> folder in your workspace (.roorules and .clinerules are deprecated and will stop working soon).", + }, + UX = { + preview: "Preview System Prompt", + copy: "Copy system prompt to clipboard", + title: "System Prompt ({{modeName}} mode)", + }, + qX = { + title: "Support Prompts", + resetPrompt: "Reset {{promptType}} prompt to default", + prompt: "Prompt", + enhance: { + apiConfiguration: "API Configuration", + apiConfigDescription: + "You can select an API configuration to always use for enhancing prompts, or just use whatever is currently selected", + useCurrentConfig: "Use currently selected API configuration", + testPromptPlaceholder: "Enter a prompt to test the enhancement", + previewButton: "Preview Prompt Enhancement", + testEnhancement: "Test Enhancement", + includeTaskHistory: "Include task history as context", + includeTaskHistoryDescription: + "When enabled, the last 10 messages from the current conversation will be included as context when enhancing prompts, helping to generate more relevant and context-aware suggestions.", + }, + condense: { + apiConfiguration: "API Configuration for Context Condensing", + apiConfigDescription: + "Select which API configuration to use for context condensing operations. Leave unselected to use the current active configuration.", + useCurrentConfig: "Use currently selected API configuration", + }, + types: { + ENHANCE: { + label: "Enhance Prompt", + description: + "Use prompt enhancement to get tailored suggestions or improvements for your inputs. This ensures Roo understands your intent and provides the best possible responses. Available via the ✨ icon in chat.", + }, + CONDENSE: { + label: "Context Condensing", + description: + "Configure how conversation context is condensed to manage token limits. This prompt is used for both manual and automatic context condensing operations.", + }, + EXPLAIN: { + label: "Explain Code", + description: + "Get detailed explanations of code snippets, functions, or entire files. Useful for understanding complex code or learning new patterns. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).", + }, + FIX: { + label: "Fix Issues", + description: + "Get help identifying and resolving bugs, errors, or code quality issues. Provides step-by-step guidance for fixing problems. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).", + }, + IMPROVE: { + label: "Improve Code", + description: + "Receive suggestions for code optimization, better practices, and architectural improvements while maintaining functionality. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).", + }, + ADD_TO_CONTEXT: { + label: "Add to Context", + description: + "Add context to your current task or conversation. Useful for providing additional information or clarifications. Available in code actions (lightbulb icon in the editor) and the editor context menu (right-click on selected code).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Add Terminal Content to Context", + description: + "Add terminal output to your current task or conversation. Useful for providing command outputs or logs. Available in the terminal context menu (right-click on selected terminal content).", + }, + TERMINAL_FIX: { + label: "Fix Terminal Command", + description: + "Get help fixing terminal commands that failed or need improvement. Available in the terminal context menu (right-click on selected terminal content).", + }, + TERMINAL_EXPLAIN: { + label: "Explain Terminal Command", + description: + "Get detailed explanations of terminal commands and their outputs. Available in the terminal context menu (right-click on selected terminal content).", + }, + NEW_TASK: { + label: "Start New Task", + description: "Start a new task with user input. Available in the Command Palette.", + }, + }, + }, + WX = { + title: "Advanced: Override System Prompt", + description: + "<2>⚠️ Warning:</2> This advanced feature bypasses safeguards. <1>READ THIS BEFORE USING!</1>Override the default system prompt by creating a file at <span>.roo/system-prompt-{{slug}}</span>.", + }, + KX = { + title: "Create New Mode", + close: "Close", + name: { label: "Name", placeholder: "Enter mode name" }, + slug: { + label: "Slug", + description: + "The slug is used in URLs and file names. It should be lowercase and contain only letters, numbers, and hyphens.", + }, + saveLocation: { + label: "Save Location", + description: "Choose where to save this mode. Project-specific modes take precedence over global modes.", + global: { label: "Global", description: "Available in all workspaces" }, + project: { + label: "Project-specific (.roomodes)", + description: "Only available in this workspace, takes precedence over global", + }, + }, + roleDefinition: { + label: "Role Definition", + description: "Define Roo's expertise and personality for this mode.", + }, + description: { + label: "Short description (for humans)", + description: "A brief description shown in the mode selector dropdown.", + }, + whenToUse: { + label: "When to Use (optional)", + description: + "Guidance for Roo for when this mode should be used. This helps the Orchestrator choose the right mode for a task.", + }, + tools: { label: "Available Tools", description: "Select which tools this mode can use." }, + customInstructions: { + label: "Custom Instructions (optional)", + description: "Add behavioral guidelines specific to this mode.", + }, + buttons: { cancel: "Cancel", create: "Create Mode" }, + deleteMode: "Delete mode", + }, + VX = "all files", + HX = { + title: "Delete Mode", + message: 'Are you sure you want to delete the mode "{{modeName}}"?', + rulesFolder: "This mode has a rules folder at {{folderPath}} that will also be deleted.", + descriptionNoRules: "Are you sure you want to delete this custom mode?", + confirm: "Delete", + cancel: "Cancel", + }, + Igt = { + title: TX, + done: IX, + modes: MX, + apiConfiguration: jX, + tools: EX, + roleDefinition: zX, + description: $X, + whenToUse: LX, + customInstructions: DX, + exportMode: NX, + importMode: OX, + advanced: FX, + globalCustomInstructions: BX, + systemPrompt: UX, + supportPrompts: qX, + advancedSystemPrompt: WX, + createModeDialog: KX, + allFiles: VX, + deleteMode: HX, + }, + Mgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: FX, + advancedSystemPrompt: WX, + allFiles: VX, + apiConfiguration: jX, + createModeDialog: KX, + customInstructions: DX, + default: Igt, + deleteMode: HX, + description: $X, + done: IX, + exportMode: NX, + globalCustomInstructions: BX, + importMode: OX, + modes: MX, + roleDefinition: zX, + supportPrompts: qX, + systemPrompt: UX, + title: TX, + tools: EX, + whenToUse: LX, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + GX = { + save: "Save", + done: "Done", + cancel: "Cancel", + reset: "Reset", + select: "Select", + add: "Add Header", + remove: "Remove", + }, + QX = { + title: "Settings", + saveButtonTooltip: "Save changes", + nothingChangedTooltip: "Nothing changed", + doneButtonTooltip: "Discard unsaved changes and close settings panel", + }, + ZX = { + title: "Unsaved Changes", + description: "Do you want to discard changes and continue?", + cancelButton: "Cancel", + discardButton: "Discard changes", + }, + YX = { + providers: "Providers", + autoApprove: "Auto-Approve", + browser: "Browser", + checkpoints: "Checkpoints", + notifications: "Notifications", + contextManagement: "Context", + terminal: "Terminal", + prompts: "Prompts", + experimental: "Experimental", + language: "Language", + about: "About Roo Code", + }, + XX = { + description: + "Configure support prompts that are used for quick actions like enhancing prompts, explaining code, and fixing issues. These prompts help Roo provide better assistance for common development tasks.", + }, + JX = { + title: "Codebase Indexing", + description: + "Configure codebase indexing settings to enable semantic search of your project. <0>Learn more</0>", + statusTitle: "Status", + enableLabel: "Enable Codebase Indexing", + enableDescription: "Enable code indexing for improved search and context understanding", + settingsTitle: "Indexing Settings", + disabledMessage: + "Codebase indexing is currently disabled. Enable it in the global settings to configure indexing options.", + providerLabel: "Embeddings Provider", + embedderProviderLabel: "Embedder Provider", + selectProviderPlaceholder: "Select provider", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API Key:", + geminiApiKeyPlaceholder: "Enter your Gemini API key", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API Key:", + mistralApiKeyPlaceholder: "Enter your Mistral API key", + openaiCompatibleProvider: "OpenAI Compatible", + openAiKeyLabel: "OpenAI API Key", + openAiKeyPlaceholder: "Enter your OpenAI API key", + openAiCompatibleBaseUrlLabel: "Base URL", + openAiCompatibleApiKeyLabel: "API Key", + openAiCompatibleApiKeyPlaceholder: "Enter your API key", + openAiCompatibleModelDimensionLabel: "Embedding Dimension:", + modelDimensionLabel: "Model Dimension", + openAiCompatibleModelDimensionPlaceholder: "e.g., 1536", + openAiCompatibleModelDimensionDescription: + "The embedding dimension (output size) for your model. Check your provider's documentation for this value. Common values: 384, 768, 1536, 3072.", + modelLabel: "Model", + modelPlaceholder: "Enter model name", + selectModel: "Select a model", + selectModelPlaceholder: "Select model", + ollamaUrlLabel: "Ollama URL:", + ollamaBaseUrlLabel: "Ollama Base URL", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant Key:", + qdrantApiKeyLabel: "Qdrant API Key", + qdrantApiKeyPlaceholder: "Enter your Qdrant API key (optional)", + setupConfigLabel: "Setup", + advancedConfigLabel: "Advanced Configuration", + searchMinScoreLabel: "Search Score Threshold", + searchMinScoreDescription: + "Minimum similarity score (0.0-1.0) required for search results. Lower values return more results but may be less relevant. Higher values return fewer but more relevant results.", + searchMinScoreResetTooltip: "Reset to default value (0.4)", + searchMaxResultsLabel: "Maximum Search Results", + searchMaxResultsDescription: + "Maximum number of search results to return when querying the codebase index. Higher values provide more context but may include less relevant results.", + resetToDefault: "Reset to default", + startIndexingButton: "Start Indexing", + clearIndexDataButton: "Clear Index Data", + unsavedSettingsMessage: "Please save your settings before starting the indexing process.", + clearDataDialog: { + title: "Are you sure?", + description: "This action cannot be undone. This will permanently delete your codebase index data.", + cancelButton: "Cancel", + confirmButton: "Clear Data", + }, + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Failed to save settings", + modelDimensions: "({{dimension}} dimensions)", + saveSuccess: "Settings saved successfully", + saving: "Saving...", + saveSettings: "Save", + indexingStatuses: { standby: "Standby", indexing: "Indexing", indexed: "Indexed", error: "Error" }, + close: "Close", + validation: { + qdrantUrlRequired: "Qdrant URL is required", + invalidQdrantUrl: "Invalid Qdrant URL", + invalidOllamaUrl: "Invalid Ollama URL", + invalidBaseUrl: "Invalid base URL", + openaiApiKeyRequired: "OpenAI API key is required", + modelSelectionRequired: "Model selection is required", + apiKeyRequired: "API key is required", + modelIdRequired: "Model ID is required", + modelDimensionRequired: "Model dimension is required", + geminiApiKeyRequired: "Gemini API key is required", + mistralApiKeyRequired: "Mistral API key is required", + ollamaBaseUrlRequired: "Ollama base URL is required", + baseUrlRequired: "Base URL is required", + modelDimensionMinValue: "Model dimension must be greater than 0", + }, + }, + eJ = { + description: + "Allow Roo to automatically perform operations without requiring approval. Enable these settings only if you fully trust the AI and understand the associated security risks.", + enabled: "Auto-Approve Enabled", + readOnly: { + label: "Read", + description: + "When enabled, Roo will automatically view directory contents and read files without requiring you to click the Approve button.", + outsideWorkspace: { + label: "Include files outside workspace", + description: "Allow Roo to read files outside the current workspace without requiring approval.", + }, + }, + write: { + label: "Write", + description: "Automatically create and edit files without requiring approval", + delayLabel: "Delay after writes to allow diagnostics to detect potential problems", + outsideWorkspace: { + label: "Include files outside workspace", + description: + "Allow Roo to create and edit files outside the current workspace without requiring approval.", + }, + protected: { + label: "Include protected files", + description: + "Allow Roo to create and edit protected files (like .rooignore and .roo/ configuration files) without requiring approval.", + }, + }, + browser: { + label: "Browser", + description: + "Automatically perform browser actions without requiring approval. Note: Only applies when the model supports computer use", + }, + retry: { + label: "Retry", + description: "Automatically retry failed API requests when server returns an error response", + delayLabel: "Delay before retrying the request", + }, + mcp: { + label: "MCP", + description: `Enable auto-approval of individual MCP tools in the MCP Servers view (requires both this setting and the tool's individual "Always allow" checkbox)`, + }, + modeSwitch: { + label: "Mode", + description: "Automatically switch between different modes without requiring approval", + }, + subtasks: { + label: "Subtasks", + description: "Allow creation and completion of subtasks without requiring approval", + }, + followupQuestions: { + label: "Question", + description: + "Automatically select the first suggested answer for follow-up questions after the configured timeout", + timeoutLabel: "Time to wait before auto-selecting the first answer", + }, + execute: { + label: "Execute", + description: "Automatically execute allowed terminal commands without requiring approval", + allowedCommands: "Allowed Auto-Execute Commands", + allowedCommandsDescription: + 'Command prefixes that can be auto-executed when "Always approve execute operations" is enabled. Add * to allow all commands (use with caution).', + deniedCommands: "Denied Commands", + deniedCommandsDescription: + "Command prefixes that will be automatically denied without asking for approval. In case of conflicts with allowed commands, the longest prefix match takes precedence. Add * to deny all commands.", + commandPlaceholder: "Enter command prefix (e.g., 'git ')", + deniedCommandPlaceholder: "Enter command prefix to deny (e.g., 'rm -rf')", + addButton: "Add", + autoDenied: + "Commands with the prefix `{{prefix}}` have been forbidden by the user. Do not bypass this restriction by running another command.", + }, + updateTodoList: { + label: "Todo", + description: "Automatically update the to-do list without requiring approval", + }, + apiRequestLimit: { title: "Max Count", unlimited: "Unlimited" }, + apiCostLimit: { title: "Max Cost", unlimited: "Unlimited" }, + maxLimits: { + description: "Automatically make requests up to these limits before asking for approval to continue.", + }, + toggleAriaLabel: "Toggle auto-approval", + disabledAriaLabel: "Auto-approval disabled - select options first", + selectOptionsFirst: "Select at least one option below to enable auto-approval", + }, + tJ = JSON.parse( + `{"providerDocumentation":"{{provider}} documentation","configProfile":"Configuration Profile","description":"Save different API configurations to quickly switch between providers and settings.","apiProvider":"API Provider","model":"Model","nameEmpty":"Name cannot be empty","nameExists":"A profile with this name already exists","deleteProfile":"Delete Profile","invalidArnFormat":"Invalid ARN format. Please check the examples above.","enterNewName":"Enter new name","addProfile":"Add Profile","renameProfile":"Rename Profile","newProfile":"New Configuration Profile","enterProfileName":"Enter profile name","createProfile":"Create Profile","cannotDeleteOnlyProfile":"Cannot delete the only profile","searchPlaceholder":"Search profiles","searchProviderPlaceholder":"Search providers","noProviderMatchFound":"No providers found","noMatchFound":"No matching profiles found","vscodeLmDescription":" The VS Code Language Model API allows you to run models provided by other VS Code extensions (including but not limited to GitHub Copilot). The easiest way to get started is to install the Copilot and Copilot Chat extensions from the VS Code Marketplace.","awsCustomArnUse":"Enter a valid Amazon Bedrock ARN for the model you want to use. Format examples:","awsCustomArnDesc":"Make sure the region in the ARN matches your selected AWS Region above.","openRouterApiKey":"OpenRouter API Key","getOpenRouterApiKey":"Get OpenRouter API Key","apiKeyStorageNotice":"API keys are stored securely in VSCode's Secret Storage","glamaApiKey":"Glama API Key","getGlamaApiKey":"Get Glama API Key","useCustomBaseUrl":"Use custom base URL","useReasoning":"Enable reasoning","useHostHeader":"Use custom Host header","useLegacyFormat":"Use legacy OpenAI API format","customHeaders":"Custom Headers","headerName":"Header name","headerValue":"Header value","noCustomHeaders":"No custom headers defined. Click the + button to add one.","requestyApiKey":"Requesty API Key","refreshModels":{"label":"Refresh Models","hint":"Please reopen the settings to see the latest models.","loading":"Refreshing models list...","success":"Models list refreshed successfully!","error":"Failed to refresh models list. Please try again."},"getRequestyApiKey":"Get Requesty API Key","openRouterTransformsText":"Compress prompts and message chains to the context size (<a>OpenRouter Transforms</a>)","anthropicApiKey":"Anthropic API Key","getAnthropicApiKey":"Get Anthropic API Key","anthropicUseAuthToken":"Pass Anthropic API Key as Authorization header instead of X-Api-Key","cerebrasApiKey":"Cerebras API Key","getCerebrasApiKey":"Get Cerebras API Key","chutesApiKey":"Chutes API Key","getChutesApiKey":"Get Chutes API Key","fireworksApiKey":"Fireworks API Key","getFireworksApiKey":"Get Fireworks API Key","deepSeekApiKey":"DeepSeek API Key","getDeepSeekApiKey":"Get DeepSeek API Key","doubaoApiKey":"Doubao API Key","getDoubaoApiKey":"Get Doubao API Key","moonshotApiKey":"Moonshot API Key","getMoonshotApiKey":"Get Moonshot API Key","moonshotBaseUrl":"Moonshot Entrypoint","zaiApiKey":"Z AI API Key","getZaiApiKey":"Get Z AI API Key","zaiEntrypoint":"Z AI Entrypoint","zaiEntrypointDescription":"Please select the appropriate API entrypoint based on your location. If you are in China, choose open.bigmodel.cn. Otherwise, choose api.z.ai.","geminiApiKey":"Gemini API Key","getGroqApiKey":"Get Groq API Key","groqApiKey":"Groq API Key","getSambaNovaApiKey":"Get SambaNova API Key","sambaNovaApiKey":"SambaNova API Key","getHuggingFaceApiKey":"Get Hugging Face API Key","huggingFaceApiKey":"Hugging Face API Key","huggingFaceModelId":"Model ID","huggingFaceLoading":"Loading...","huggingFaceModelsCount":"({{count}} models)","huggingFaceSelectModel":"Select a model...","huggingFaceSearchModels":"Search models...","huggingFaceNoModelsFound":"No models found","huggingFaceProvider":"Provider","huggingFaceProviderAuto":"Auto","huggingFaceSelectProvider":"Select a provider...","huggingFaceSearchProviders":"Search providers...","huggingFaceNoProvidersFound":"No providers found","getGeminiApiKey":"Get Gemini API Key","openAiApiKey":"OpenAI API Key","apiKey":"API Key","openAiBaseUrl":"Base URL","getOpenAiApiKey":"Get OpenAI API Key","mistralApiKey":"Mistral API Key","getMistralApiKey":"Get Mistral / Codestral API Key","codestralBaseUrl":"Codestral Base URL (Optional)","codestralBaseUrlDesc":"Set an alternative URL for the Codestral model.","xaiApiKey":"xAI API Key","getXaiApiKey":"Get xAI API Key","litellmApiKey":"LiteLLM API Key","litellmBaseUrl":"LiteLLM Base URL","awsCredentials":"AWS Credentials","awsProfile":"AWS Profile","awsApiKey":"Amazon Bedrock API Key","awsProfileName":"AWS Profile Name","awsAccessKey":"AWS Access Key","awsSecretKey":"AWS Secret Key","awsSessionToken":"AWS Session Token","awsRegion":"AWS Region","awsCrossRegion":"Use cross-region inference","awsBedrockVpc":{"useCustomVpcEndpoint":"Use custom VPC endpoint","vpcEndpointUrlPlaceholder":"Enter VPC Endpoint URL (optional)","examples":"Examples:"},"enablePromptCaching":"Enable prompt caching","enablePromptCachingTitle":"Enable prompt caching to improve performance and reduce costs for supported models.","cacheUsageNote":"Note: If you don't see cache usage, try selecting a different model and then selecting your desired model again.","vscodeLmModel":"Language Model","vscodeLmWarning":"Note: This is a very experimental integration and provider support will vary. If you get an error about a model not being supported, that's an issue on the provider's end.","geminiParameters":{"urlContext":{"title":"Enable URL context","description":"Lets Gemini read linked pages to extract, compare, and synthesize their content into informed responses."},"groundingSearch":{"title":"Enable Grounding with Google search","description":"Connects Gemini to real‑time web data for accurate, up‑to‑date answers with verifiable citations."}},"googleCloudSetup":{"title":"To use Google Cloud Vertex AI, you need to:","step1":"1. Create a Google Cloud account, enable the Vertex AI API & enable the desired Claude models.","step2":"2. Install the Google Cloud CLI & configure application default credentials.","step3":"3. Or create a service account with credentials."},"googleCloudCredentials":"Google Cloud Credentials","googleCloudKeyFile":"Google Cloud Key File Path","googleCloudProjectId":"Google Cloud Project ID","googleCloudRegion":"Google Cloud Region","lmStudio":{"baseUrl":"Base URL (optional)","modelId":"Model ID","speculativeDecoding":"Enable Speculative Decoding","draftModelId":"Draft Model ID","draftModelDesc":"Draft model must be from the same model family for speculative decoding to work correctly.","selectDraftModel":"Select Draft Model","noModelsFound":"No draft models found. Please ensure LM Studio is running with Server Mode enabled.","description":"LM Studio allows you to run models locally on your computer. For instructions on how to get started, see their <a>quickstart guide</a>. You will also need to start LM Studio's <b>local server</b> feature to use it with this extension. <span>Note:</span> Roo Code uses complex prompts and works best with Claude models. Less capable models may not work as expected."},"ollama":{"baseUrl":"Base URL (optional)","modelId":"Model ID","description":"Ollama allows you to run models locally on your computer. For instructions on how to get started, see their quickstart guide.","warning":"Note: Roo Code uses complex prompts and works best with Claude models. Less capable models may not work as expected."},"unboundApiKey":"Unbound API Key","getUnboundApiKey":"Get Unbound API Key","unboundRefreshModelsSuccess":"Models list updated! You can now select from the latest models.","unboundInvalidApiKey":"Invalid API key. Please check your API key and try again.","humanRelay":{"description":"No API key is required, but the user needs to help copy and paste the information to the web chat AI.","instructions":"During use, a dialog box will pop up and the current message will be copied to the clipboard automatically. You need to paste these to web versions of AI (such as ChatGPT or Claude), then copy the AI's reply back to the dialog box and click the confirm button."},"openRouter":{"providerRouting":{"title":"OpenRouter Provider Routing","description":"OpenRouter routes requests to the best available providers for your model. By default, requests are load balanced across the top providers to maximize uptime. However, you can choose a specific provider to use for this model.","learnMore":"Learn more about provider routing"}},"customModel":{"capabilities":"Configure the capabilities and pricing for your custom OpenAI-compatible model. Be careful when specifying the model capabilities, as they can affect how Roo Code performs.","maxTokens":{"label":"Max Output Tokens","description":"Maximum number of tokens the model can generate in a response. (Specify -1 to allow the server to set the max tokens.)"},"contextWindow":{"label":"Context Window Size","description":"Total tokens (input + output) the model can process."},"imageSupport":{"label":"Image Support","description":"Is this model capable of processing and understanding images?"},"computerUse":{"label":"Computer Use","description":"Is this model capable of interacting with a browser? (e.g. Claude 3.7 Sonnet)."},"promptCache":{"label":"Prompt Caching","description":"Is this model capable of caching prompts?"},"pricing":{"input":{"label":"Input Price","description":"Cost per million tokens in the input/prompt. This affects the cost of sending context and instructions to the model."},"output":{"label":"Output Price","description":"Cost per million tokens in the model's response. This affects the cost of generated content and completions."},"cacheReads":{"label":"Cache Reads Price","description":"Cost per million tokens for reading from the cache. This is the price charged when a cached response is retrieved."},"cacheWrites":{"label":"Cache Writes Price","description":"Cost per million tokens for writing to the cache. This is the price charged when a prompt is cached for the first time."}},"resetDefaults":"Reset to Defaults"},"rateLimitSeconds":{"label":"Rate limit","description":"Minimum time between API requests."},"consecutiveMistakeLimit":{"label":"Error & Repetition Limit","description":"Number of consecutive errors or repeated actions before showing 'Roo is having trouble' dialog","unlimitedDescription":"Unlimited retries enabled (auto-proceed). The dialog will never appear.","warning":"⚠️ Setting to 0 allows unlimited retries which may consume significant API usage"},"reasoningEffort":{"label":"Model Reasoning Effort","high":"High","medium":"Medium","low":"Low"},"setReasoningLevel":"Enable Reasoning Effort","claudeCode":{"pathLabel":"Claude Code Path","description":"Optional path to your Claude Code CLI. Defaults to 'claude' if not set.","placeholder":"Default: claude","maxTokensLabel":"Max Output Tokens","maxTokensDescription":"Maximum number of output tokens for Claude Code responses. Default is 8000."}}`, + ), + nJ = { + enable: { + label: "Enable browser tool", + description: + "When enabled, Roo can use a browser to interact with websites when using models that support computer use. <0>Learn more</0>", + }, + viewport: { + label: "Viewport size", + description: + "Select the viewport size for browser interactions. This affects how websites are displayed and interacted with.", + options: { + largeDesktop: "Large Desktop (1280x800)", + smallDesktop: "Small Desktop (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Mobile (360x640)", + }, + }, + screenshotQuality: { + label: "Screenshot quality", + description: + "Adjust the WebP quality of browser screenshots. Higher values provide clearer screenshots but increase token usage.", + }, + remote: { + label: "Use remote browser connection", + description: + "Connect to a Chrome browser running with remote debugging enabled (--remote-debugging-port=9222).", + urlPlaceholder: "Custom URL (e.g., http://localhost:9222)", + testButton: "Test Connection", + testingButton: "Testing...", + instructions: + "Enter the DevTools Protocol host address or leave empty to auto-discover Chrome local instances. The Test Connection button will try the custom URL if provided, or auto-discover if the field is empty.", + }, + }, + oJ = { + enable: { + label: "Enable automatic checkpoints", + description: + "When enabled, Roo will automatically create checkpoints during task execution, making it easy to review changes or revert to earlier states. <0>Learn more</0>", + }, + }, + rJ = { + sound: { + label: "Enable sound effects", + description: "When enabled, Roo will play sound effects for notifications and events.", + volumeLabel: "Volume", + }, + tts: { + label: "Enable text-to-speech", + description: "When enabled, Roo will read aloud its responses using text-to-speech.", + speedLabel: "Speed", + }, + }, + iJ = { + description: + "Control what information is included in the AI's context window, affecting token usage and response quality", + autoCondenseContextPercent: { + label: "Threshold to trigger intelligent context condensing", + description: "When the context window reaches this threshold, Roo will automatically condense it.", + }, + condensingApiConfiguration: { + label: "API Configuration for Context Condensing", + description: + "Select which API configuration to use for context condensing operations. Leave unselected to use the current active configuration.", + useCurrentConfig: "Default", + }, + customCondensingPrompt: { + label: "Custom Context Condensing Prompt", + description: + "Customize the system prompt used for context condensing. Leave empty to use the default prompt.", + placeholder: `Enter your custom condensing prompt here... + +You can use the same structure as the default prompt: +- Previous Conversation +- Current Work +- Key Technical Concepts +- Relevant Files and Code +- Problem Solving +- Pending Tasks and Next Steps`, + reset: "Reset to Default", + hint: "Empty = use default prompt", + }, + autoCondenseContext: { + name: "Automatically trigger intelligent context condensing", + description: + "When enabled, Roo will automatically condense the context when the threshold is reached. When disabled, you can still manually trigger context condensing.", + }, + openTabs: { + label: "Open tabs context limit", + description: + "Maximum number of VSCode open tabs to include in context. Higher values provide more context but increase token usage.", + }, + workspaceFiles: { + label: "Workspace files context limit", + description: + "Maximum number of files to include in current working directory details. Higher values provide more context but increase token usage.", + }, + rooignore: { + label: "Show .rooignore'd files in lists and searches", + description: + "When enabled, files matching patterns in .rooignore will be shown in lists with a lock symbol. When disabled, these files will be completely hidden from file lists and searches.", + }, + maxConcurrentFileReads: { + label: "Concurrent file reads limit", + description: + "Maximum number of files the 'read_file' tool can process concurrently. Higher values may speed up reading multiple small files but increase memory usage.", + }, + maxReadFile: { + label: "File read auto-truncate threshold", + description: + "Roo reads this number of lines when the model omits start/end values. If this number is less than the file's total, Roo generates a line number index of code definitions. Special cases: -1 instructs Roo to read the entire file (without indexing), and 0 instructs it to read no lines and provides line indexes only for minimal context. Lower values minimize initial context usage, enabling precise subsequent line-range reads. Explicit start/end requests are not limited by this setting.", + lines: "lines", + always_full_read: "Always read entire file", + }, + maxImageFileSize: { + label: "Max image file size", + mb: "MB", + description: "Maximum size (in MB) for image files that can be processed by the read file tool.", + }, + maxTotalImageSize: { + label: "Max total image size", + mb: "MB", + description: + "Maximum cumulative size limit (in MB) for all images processed in a single read_file operation. When reading multiple images, each image's size is added to the total. If including another image would exceed this limit, it will be skipped.", + }, + diagnostics: { + includeMessages: { + label: "Automatically include diagnostics in context", + description: + "When enabled, diagnostic messages (errors) from edited files will be automatically included in the context. You can always manually include all workspace diagnostics using @problems.", + }, + maxMessages: { + label: "Maximum diagnostic messages", + description: + "Limits the number of diagnostic messages (errors, warnings) included in the context. When set, only this many diagnostics will be shown, prioritizing errors over warnings. Set to 0 for unlimited diagnostics.", + resetTooltip: "Reset to default value (50)", + unlimitedLabel: "Unlimited", + }, + delayAfterWrite: { + label: "Delay after writes to allow diagnostics to detect potential problems", + description: + "Time to wait after file writes before proceeding, allowing diagnostic tools to process changes and detect issues.", + }, + }, + condensingThreshold: { + label: "Condensing Trigger Threshold", + selectProfile: "Configure threshold for profile", + defaultProfile: "Global Default (all profiles)", + defaultDescription: + "When context reaches this percentage, it will be automatically condensed for all profiles unless they have custom settings", + profileDescription: "Custom threshold for this profile only (overrides global default)", + inheritDescription: "This profile inherits the global default threshold ({{threshold}}%)", + usesGlobal: "(uses global {{threshold}}%)", + }, + }, + sJ = { + basic: { label: "Terminal Settings: Basic", description: "Basic terminal settings" }, + advanced: { + label: "Terminal Settings: Advanced", + description: "The following options may require a terminal restart to apply the setting.", + }, + outputLineLimit: { + label: "Terminal output limit", + description: + "Maximum number of lines to include in terminal output when executing commands. When exceeded lines will be removed from the middle, saving tokens. <0>Learn more</0>", + }, + outputCharacterLimit: { + label: "Terminal character limit", + description: + "Maximum number of characters to include in terminal output when executing commands. This limit takes precedence over the line limit to prevent memory issues from extremely long lines. When exceeded, output will be truncated. <0>Learn more</0>", + }, + shellIntegrationTimeout: { + label: "Terminal shell integration timeout", + description: + 'Maximum time to wait for shell integration to initialize before executing commands. For users with long shell startup times, this value may need to be increased if you see "Shell Integration Unavailable" errors in the terminal. <0>Learn more</0>', + }, + shellIntegrationDisabled: { + label: "Disable terminal shell integration", + description: + "Enable this if terminal commands aren't working correctly or you see 'Shell Integration Unavailable' errors. This uses a simpler method to run commands, bypassing some advanced terminal features. <0>Learn more</0>", + }, + commandDelay: { + label: "Terminal command delay", + description: + "Delay in milliseconds to add after command execution. The default setting of 0 disables the delay completely. This can help ensure command output is fully captured in terminals with timing issues. In most terminals it is implemented by setting `PROMPT_COMMAND='sleep N'` and Powershell appends `start-sleep` to the end of each command. Originally was workaround for VSCode bug#237208 and may not be needed. <0>Learn more</0>", + }, + compressProgressBar: { + label: "Compress progress bar output", + description: + "When enabled, processes terminal output with carriage returns (\\r) to simulate how a real terminal would display content. This removes intermediate progress bar states, retaining only the final state, which conserves context space for more relevant information. <0>Learn more</0>", + }, + powershellCounter: { + label: "Enable PowerShell counter workaround", + description: + "When enabled, adds a counter to PowerShell commands to ensure proper command execution. This helps with PowerShell terminals that might have issues with command output capture. <0>Learn more</0>", + }, + zshClearEolMark: { + label: "Clear ZSH EOL mark", + description: + "When enabled, clears the ZSH end-of-line mark by setting PROMPT_EOL_MARK=''. This prevents issues with command output interpretation when output ends with special characters like '%'. <0>Learn more</0>", + }, + zshOhMy: { + label: "Enable Oh My Zsh integration", + description: + "When enabled, sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes to enable Oh My Zsh shell integration features. Applying this setting might require restarting the IDE. <0>Learn more</0>", + }, + zshP10k: { + label: "Enable Powerlevel10k integration", + description: + "When enabled, sets POWERLEVEL9K_TERM_SHELL_INTEGRATION=true to enable Powerlevel10k shell integration features. <0>Learn more</0>", + }, + zdotdir: { + label: "Enable ZDOTDIR handling", + description: + "When enabled, creates a temporary directory for ZDOTDIR to handle zsh shell integration properly. This ensures VSCode shell integration works correctly with zsh while preserving your zsh configuration. <0>Learn more</0>", + }, + inheritEnv: { + label: "Inherit environment variables", + description: + "When enabled, the terminal will inherit environment variables from VSCode's parent process, such as user-profile-defined shell integration settings. This directly toggles VSCode global setting `terminal.integrated.inheritEnv`. <0>Learn more</0>", + }, + }, + aJ = { title: "Advanced settings" }, + lJ = { + diff: { + label: "Enable editing through diffs", + description: + "When enabled, Roo will be able to edit files more quickly and will automatically reject truncated full-file writes. Works best with the latest Claude 3.7 Sonnet model.", + strategy: { + label: "Diff strategy", + options: { + standard: "Standard (Single block)", + multiBlock: "Experimental: Multi-block diff", + unified: "Experimental: Unified diff", + }, + descriptions: { + standard: "Standard diff strategy applies changes to a single code block at a time.", + unified: + "Unified diff strategy takes multiple approaches to applying diffs and chooses the best approach.", + multiBlock: + "Multi-block diff strategy allows updating multiple code blocks in a file in one request.", + }, + }, + matchPrecision: { + label: "Match precision", + description: + "This slider controls how precisely code sections must match when applying diffs. Lower values allow more flexible matching but increase the risk of incorrect replacements. Use values below 100% with extreme caution.", + }, + }, + todoList: { + label: "Enable todo list tool", + description: + "When enabled, Roo can create and manage todo lists to track task progress. This helps organize complex tasks into manageable steps.", + }, + }, + cJ = { + DIFF_STRATEGY_UNIFIED: { + name: "Use experimental unified diff strategy", + description: + "Enable the experimental unified diff strategy. This strategy might reduce the number of retries caused by model errors but may cause unexpected behavior or incorrect edits. Only enable if you understand the risks and are willing to carefully review all changes.", + }, + SEARCH_AND_REPLACE: { + name: "Use experimental search and replace tool", + description: + "Enable the experimental search and replace tool, allowing Roo to replace multiple instances of a search term in one request.", + }, + INSERT_BLOCK: { + name: "Use experimental insert content tool", + description: + "Enable the experimental insert content tool, allowing Roo to insert content at specific line numbers without needing to create a diff.", + }, + POWER_STEERING: { + name: 'Use experimental "power steering" mode', + description: + "When enabled, Roo will remind the model about the details of its current mode definition more frequently. This will lead to stronger adherence to role definitions and custom instructions, but will use more tokens per message.", + }, + CONCURRENT_FILE_READS: { + name: "Enable concurrent file reads", + description: + "When enabled, Roo can read multiple files in a single request. When disabled, Roo must read files one at a time. Disabling this can help when working with less capable models or when you want more control over file access.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Use experimental multi block diff tool", + description: + "When enabled, Roo will use multi block diff tool. This will try to update multiple code blocks in the file in one request.", + }, + MARKETPLACE: { + name: "Enable Marketplace", + description: "When enabled, you can install MCPs and custom modes from the Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Enable concurrent file edits", + description: + "When enabled, Roo can edit multiple files in a single request. When disabled, Roo must edit files one at a time. Disabling this can help when working with less capable models or when you want more control over file modifications.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Background editing", + description: + "Prevent editor focus disruption when enabled. File edits happen in the background without opening diff views or stealing focus. You can continue working uninterrupted while Roo makes changes. Files can be opened without focus to capture diagnostics or kept closed entirely.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Use new message parser", + description: + "Enable the experimental streaming message parser that provides significant performance improvements for long assistant responses by processing messages more efficiently.", + }, + }, + dJ = { + label: "Disable prompt caching", + description: "When checked, Roo will not use prompt caching for this model.", + }, + uJ = { + useCustom: "Use custom temperature", + description: "Controls randomness in the model's responses.", + rangeDescription: "Higher values make output more random, lower values make it more deterministic.", + }, + pJ = { + supportsImages: "Supports images", + noImages: "Does not support images", + supportsComputerUse: "Supports computer use", + noComputerUse: "Does not support computer use", + supportsPromptCache: "Supports prompt caching", + noPromptCache: "Does not support prompt caching", + maxOutput: "Max output", + inputPrice: "Input price", + outputPrice: "Output price", + cacheReadsPrice: "Cache reads price", + cacheWritesPrice: "Cache writes price", + enableStreaming: "Enable streaming", + enableR1Format: "Enable R1 model parameters", + enableR1FormatTips: "Must be enabled when using R1 models such as QWQ to prevent 400 errors", + useAzure: "Use Azure", + azureApiVersion: "Set Azure API version", + gemini: { + freeRequests: "* Free up to {{count}} requests per minute. After that, billing depends on prompt size.", + pricingDetails: "For more info, see pricing details.", + billingEstimate: "* Billing is an estimate - exact cost depends on prompt size.", + }, + }, + mJ = { + automaticFetch: `The extension automatically fetches the latest list of models available on <serviceLink>{{serviceName}}</serviceLink>. If you're unsure which model to choose, Roo Code works best with <defaultModelLink>{{defaultModelId}}</defaultModelLink>. You can also try searching "free" for no-cost options currently available.`, + label: "Model", + searchPlaceholder: "Search", + noMatchFound: "No match found", + useCustomModel: "Use custom: {{modelId}}", + }, + hJ = { + feedback: + "If you have any questions or feedback, feel free to open an issue at <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> or join <redditLink>reddit.com/r/RooCode</redditLink> or <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Allow anonymous error and usage reporting", + description: + "Help improve Roo Code by sending anonymous usage data and error reports. No code, prompts, or personal information is ever sent (unless you connect to Roo Code Cloud). See our <privacyLink>privacy policy</privacyLink> for more details.", + }, + settings: { import: "Import", export: "Export", reset: "Reset" }, + }, + fJ = { maxTokens: "Max Tokens", maxThinkingTokens: "Max Thinking Tokens" }, + gJ = { + apiKey: "You must provide a valid API key.", + awsRegion: "You must choose a region to use with Amazon Bedrock.", + googleCloud: "You must provide a valid Google Cloud Project ID and Region.", + modelId: "You must provide a valid model ID.", + modelSelector: "You must provide a valid model selector.", + openAi: "You must provide a valid base URL, API key, and model ID.", + arn: { + invalidFormat: "Invalid ARN format. Please check the format requirements.", + regionMismatch: + "Warning: The region in your ARN ({{arnRegion}}) does not match your selected region ({{region}}). This may cause access issues. The provider will use the region from the ARN.", + }, + modelAvailability: "The model ID ({{modelId}}) you provided is not available. Please choose a different model.", + providerNotAllowed: "Provider '{{provider}}' is not allowed by your organization", + modelNotAllowed: "Model '{{model}}' is not allowed for provider '{{provider}}' by your organization", + profileInvalid: "This profile contains a provider or model that is not allowed by your organization", + }, + vJ = { + apiKey: "Enter API Key...", + profileName: "Enter profile name", + accessKey: "Enter Access Key...", + secretKey: "Enter Secret Key...", + sessionToken: "Enter Session Token...", + credentialsJson: "Enter Credentials JSON...", + keyFilePath: "Enter Key File Path...", + projectId: "Enter Project ID...", + customArn: "Enter ARN (e.g. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Enter base URL...", + modelId: { + lmStudio: "e.g. meta-llama-3.1-8b-instruct", + lmStudioDraft: "e.g. lmstudio-community/llama-3.2-1b-instruct", + ollama: "e.g. llama3.1", + }, + numbers: { + maxTokens: "e.g. 4096", + contextWindow: "e.g. 128000", + inputPrice: "e.g. 0.0001", + outputPrice: "e.g. 0.0002", + cacheWritePrice: "e.g. 0.00005", + }, + }, + bJ = { + ollamaUrl: "Default: http://localhost:11434", + lmStudioUrl: "Default: http://localhost:1234", + geminiUrl: "Default: https://generativelanguage.googleapis.com", + }, + yJ = { customArn: "Custom ARN", useCustomArn: "Use custom ARN..." }, + kJ = "Include max output tokens", + xJ = "Send max output tokens parameter in API requests. Some providers may not support this.", + wJ = "Limit the maximum number of tokens in the response", + _J = "Max output tokens", + CJ = "Maximum tokens to generate in response", + jgt = { + common: GX, + header: QX, + unsavedChangesDialog: ZX, + sections: YX, + prompts: XX, + codeIndex: JX, + autoApprove: eJ, + providers: tJ, + browser: nJ, + checkpoints: oJ, + notifications: rJ, + contextManagement: iJ, + terminal: sJ, + advancedSettings: aJ, + advanced: lJ, + experimental: cJ, + promptCaching: dJ, + temperature: uJ, + modelInfo: pJ, + modelPicker: mJ, + footer: hJ, + thinkingBudget: fJ, + validation: gJ, + placeholders: vJ, + defaults: bJ, + labels: yJ, + includeMaxOutputTokens: kJ, + includeMaxOutputTokensDescription: xJ, + limitMaxTokensDescription: wJ, + maxOutputTokensLabel: _J, + maxTokensGenerateDescription: CJ, + }, + Egt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: lJ, + advancedSettings: aJ, + autoApprove: eJ, + browser: nJ, + checkpoints: oJ, + codeIndex: JX, + common: GX, + contextManagement: iJ, + default: jgt, + defaults: bJ, + experimental: cJ, + footer: hJ, + header: QX, + includeMaxOutputTokens: kJ, + includeMaxOutputTokensDescription: xJ, + labels: yJ, + limitMaxTokensDescription: wJ, + maxOutputTokensLabel: _J, + maxTokensGenerateDescription: CJ, + modelInfo: pJ, + modelPicker: mJ, + notifications: rJ, + placeholders: vJ, + promptCaching: dJ, + prompts: XX, + providers: tJ, + sections: YX, + temperature: uJ, + terminal: sJ, + thinkingBudget: fJ, + unsavedChangesDialog: ZX, + validation: gJ, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + SJ = "Welcome to Roo Code!", + AJ = + "With a range of built-in and extensible Modes, Roo Code lets you plan, architect, code, debug and boost your productivity like never before.", + PJ = "To get started, this extension needs an API provider.", + RJ = "Let's go!", + TJ = { + requesty: { description: "Your optimized LLM router", incentive: "$1 free credit" }, + openrouter: { description: "A unified interface for LLMs" }, + }, + IJ = "To do its magic, Roo needs an API key.", + MJ = "We recommend using an LLM Router:", + jJ = "Or you can bring your provider API key:", + EJ = { + title: "Help Improve Roo Code", + anonymousTelemetry: + "Send anonymous error and usage data to help us fix bugs and improve the extension. No code, prompts, or personal information is ever sent (unless you connect to Roo Code Cloud). See our <privacyLink>privacy policy</privacyLink> for more details.", + changeSettings: "You can always change this at the bottom of the <settingsLink>settings</settingsLink>", + settings: "settings", + allow: "Allow", + deny: "Deny", + }, + zJ = "Import Settings", + zgt = { + greeting: SJ, + introduction: AJ, + notice: PJ, + start: RJ, + routers: TJ, + chooseProvider: IJ, + startRouter: MJ, + startCustom: jJ, + telemetry: EJ, + importSettings: zJ, + }, + $gt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: IJ, + default: zgt, + greeting: SJ, + importSettings: zJ, + introduction: AJ, + notice: PJ, + routers: TJ, + start: RJ, + startCustom: jJ, + startRouter: MJ, + telemetry: EJ, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + $J = "Cuenta", + LJ = "Foto de perfil", + DJ = "Cerrar sesión", + NJ = "Probar autenticación de API", + OJ = "Conectar a Roo Code Cloud", + FJ = "Conectar", + BJ = "Conectar a Roo Code Cloud", + UJ = "Sincroniza tus prompts y telemetría para habilitar:", + qJ = "Historial de tareas en línea", + WJ = "Funciones de compartir y colaboración", + KJ = "Métricas de uso basadas en tareas, tokens y costos", + VJ = "Sigue y controla tareas desde cualquier lugar con Roomote Control", + HJ = "Roomote Control", + GJ = "Permite seguir e interactuar con tareas en este espacio de trabajo con Roo Code Cloud", + QJ = "Visitar Roo Code Cloud", + Lgt = { + title: $J, + profilePicture: LJ, + logOut: DJ, + testApiAuthentication: NJ, + signIn: OJ, + connect: FJ, + cloudBenefitsTitle: BJ, + cloudBenefitsSubtitle: UJ, + cloudBenefitHistory: qJ, + cloudBenefitSharing: WJ, + cloudBenefitMetrics: KJ, + cloudBenefitWalkaway: VJ, + remoteControl: HJ, + remoteControlDescription: GJ, + visitCloudWebsite: QJ, + }, + Dgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: qJ, + cloudBenefitMetrics: KJ, + cloudBenefitSharing: WJ, + cloudBenefitWalkaway: VJ, + cloudBenefitsSubtitle: UJ, + cloudBenefitsTitle: BJ, + connect: FJ, + default: Lgt, + logOut: DJ, + profilePicture: LJ, + remoteControl: HJ, + remoteControlDescription: GJ, + signIn: OJ, + testApiAuthentication: NJ, + title: $J, + visitCloudWebsite: QJ, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ZJ = "Bienvenido a Roo Code", + YJ = { + title: "Tarea", + seeMore: "Ver más", + seeLess: "Ver menos", + tokens: "Tokens:", + cache: "Caché:", + apiCost: "Costo de API:", + contextWindow: "Longitud del contexto:", + closeAndStart: "Cerrar tarea e iniciar una nueva", + export: "Exportar historial de tareas", + delete: "Eliminar tarea (Shift + Clic para omitir confirmación)", + condenseContext: "Condensar contexto de forma inteligente", + share: "Compartir tarea", + shareWithOrganization: "Compartir con organización", + shareWithOrganizationDescription: "Solo los miembros de tu organización pueden acceder", + sharePublicly: "Compartir públicamente", + sharePubliclyDescription: "Cualquiera con el enlace puede acceder", + connectToCloud: "Conectar al Cloud", + connectToCloudDescription: "Inicia sesión en Roo Code Cloud para compartir tareas", + sharingDisabledByOrganization: "Compartir deshabilitado por la organización", + shareSuccessOrganization: "Enlace de organización copiado al portapapeles", + shareSuccessPublic: "Enlace público copiado al portapapeles", + }, + XJ = "Desfijar", + JJ = "Fijar", + eee = { title: "Reintentar", tooltip: "Intenta la operación de nuevo" }, + tee = { title: "Iniciar nueva tarea", tooltip: "Comienza una nueva tarea" }, + nee = { title: "Continuar de todos modos", tooltip: "Continuar mientras se ejecuta el comando" }, + oee = { title: "Guardar", tooltip: "Guardar los cambios del mensaje" }, + ree = { + availableSpace: "Espacio disponible: {{amount}} tokens", + tokensUsed: "Tokens utilizados: {{used}} de {{total}}", + reservedForResponse: "Reservado para respuesta del modelo: {{amount}} tokens", + }, + iee = { title: "Rechazar", tooltip: "Rechazar esta acción" }, + see = "Completar subtarea y regresar", + aee = { title: "Aprobar", tooltip: "Aprobar esta acción" }, + lee = { title: "Ejecutar comando", tooltip: "Ejecutar este comando" }, + cee = { title: "Continuar mientras se ejecuta", tooltip: "Continuar a pesar de las advertencias" }, + dee = { title: "Terminar comando", tooltip: "Terminar el comando actual" }, + uee = { title: "Reanudar tarea", tooltip: "Reanudar la tarea actual" }, + pee = { title: "Terminar", tooltip: "Terminar la tarea actual" }, + mee = { title: "Cancelar", tooltip: "Cancelar la operación actual" }, + hee = "Desplazarse al final del chat", + fee = + "Genera, refactoriza y depura código con asistencia de IA. Consulta nuestra <DocsLink>documentación</DocsLink> para obtener más información.", + gee = + "<strong>Tu lista de tareas en este espacio de trabajo está vacía.</strong> Comienza escribiendo una tarea abajo. ¿No estás seguro cómo empezar? Lee más sobre lo que Roo puede hacer por ti en <DocsLink>la documentación</DocsLink>.", + vee = { + boomerangTasks: { + title: "Orquestación de Tareas", + description: "Divide las tareas en partes más pequeñas y manejables.", + }, + stickyModels: { title: "Modos persistentes", description: "Cada modo recuerda tu último modelo utilizado" }, + tools: { + title: "Herramientas", + description: "Permite que la IA resuelva problemas navegando por la web, ejecutando comandos y mucho más.", + }, + customizableModes: { + title: "Modos personalizables", + description: "Personalidades especializadas con sus propios comportamientos y modelos asignados", + }, + }, + bee = "Seleccionar modo de interacción", + yee = "Seleccionar configuración de API", + kee = "Mejorar el mensaje con contexto adicional", + xee = "Agregar imágenes al mensaje", + wee = "Enviar mensaje", + _ee = "Detener texto a voz", + Cee = "Escribe un mensaje...", + See = "Escribe tu tarea aquí...", + Aee = "@ para agregar contexto, / para comandos", + Pee = "mantén shift para arrastrar archivos", + Ree = "mantén shift para arrastrar archivos/imágenes", + Tee = + "El botón 'Mejorar el mensaje' ayuda a mejorar tu petición proporcionando contexto adicional, aclaraciones o reformulaciones. Intenta escribir una petición aquí y haz clic en el botón nuevamente para ver cómo funciona.", + Iee = { + title: "Modos", + marketplace: "Marketplace de Modos", + settings: "Configuración de Modos", + description: "Personalidades especializadas que adaptan el comportamiento de Roo.", + searchPlaceholder: "Buscar modos...", + noResults: "No se encontraron resultados", + }, + Mee = "Error al leer el archivo:", + jee = "No se procesaron imágenes válidas", + Eee = "Separador", + zee = "Editar...", + $ee = "para el siguiente modo", + Lee = "para el modo anterior", + Dee = "Error", + Nee = { title: "Edición fallida" }, + Oee = "Roo está teniendo problemas...", + Fee = { + title: "Solicitud API", + failed: "Solicitud API falló", + streaming: "Solicitud API...", + cancelled: "Solicitud API cancelada", + streamingFailed: "Transmisión API falló", + }, + Bee = { + regular: "Punto de control", + initializingWarning: + "Todavía inicializando el punto de control... Si esto tarda demasiado, puedes desactivar los puntos de control en la <settingsLink>configuración</settingsLink> y reiniciar tu tarea.", + menu: { + viewDiff: "Ver diferencias", + restore: "Restaurar punto de control", + restoreFiles: "Restaurar archivos", + restoreFilesDescription: "Restaura los archivos de tu proyecto a una instantánea tomada en este punto.", + restoreFilesAndTask: "Restaurar archivos y tarea", + confirm: "Confirmar", + cancel: "Cancelar", + cannotUndo: "Esta acción no se puede deshacer.", + restoreFilesAndTaskDescription: + "Restaura los archivos de tu proyecto a una instantánea tomada en este punto y elimina todos los mensajes posteriores a este punto.", + }, + current: "Actual", + }, + Uee = { wantsToFetch: "Roo quiere obtener instrucciones detalladas para ayudar con la tarea actual" }, + qee = { + wantsToRead: "Roo quiere leer este archivo:", + wantsToReadOutsideWorkspace: "Roo quiere leer este archivo fuera del espacio de trabajo:", + didRead: "Roo leyó este archivo:", + wantsToEdit: "Roo quiere editar este archivo:", + wantsToEditOutsideWorkspace: "Roo quiere editar este archivo fuera del espacio de trabajo:", + wantsToEditProtected: "Roo quiere editar un archivo de configuración protegido:", + wantsToCreate: "Roo quiere crear un nuevo archivo:", + wantsToSearchReplace: "Roo quiere realizar búsqueda y reemplazo en este archivo:", + didSearchReplace: "Roo realizó búsqueda y reemplazo en este archivo:", + wantsToInsert: "Roo quiere insertar contenido en este archivo:", + wantsToInsertWithLineNumber: "Roo quiere insertar contenido en este archivo en la línea {{lineNumber}}:", + wantsToInsertAtEnd: "Roo quiere añadir contenido al final de este archivo:", + wantsToReadAndXMore: "Roo quiere leer este archivo y {{count}} más:", + wantsToReadMultiple: "Roo quiere leer varios archivos:", + wantsToApplyBatchChanges: "Roo quiere aplicar cambios a múltiples archivos:", + }, + Wee = { + wantsToViewTopLevel: "Roo quiere ver los archivos de nivel superior en este directorio:", + didViewTopLevel: "Roo vio los archivos de nivel superior en este directorio:", + wantsToViewRecursive: "Roo quiere ver recursivamente todos los archivos en este directorio:", + didViewRecursive: "Roo vio recursivamente todos los archivos en este directorio:", + wantsToViewDefinitions: + "Roo quiere ver nombres de definiciones de código fuente utilizados en este directorio:", + didViewDefinitions: "Roo vio nombres de definiciones de código fuente utilizados en este directorio:", + wantsToSearch: "Roo quiere buscar en este directorio <code>{{regex}}</code>:", + didSearch: "Roo buscó en este directorio <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo quiere buscar en este directorio (fuera del espacio de trabajo) <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo buscó en este directorio (fuera del espacio de trabajo) <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo quiere ver los archivos de nivel superior en este directorio (fuera del espacio de trabajo):", + didViewTopLevelOutsideWorkspace: + "Roo vio los archivos de nivel superior en este directorio (fuera del espacio de trabajo):", + wantsToViewRecursiveOutsideWorkspace: + "Roo quiere ver recursivamente todos los archivos en este directorio (fuera del espacio de trabajo):", + didViewRecursiveOutsideWorkspace: + "Roo vio recursivamente todos los archivos en este directorio (fuera del espacio de trabajo):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo quiere ver nombres de definiciones de código fuente utilizados en este directorio (fuera del espacio de trabajo):", + didViewDefinitionsOutsideWorkspace: + "Roo vio nombres de definiciones de código fuente utilizados en este directorio (fuera del espacio de trabajo):", + }, + Kee = "Salida del comando", + Vee = { + running: "Ejecutando", + pid: "PID: {{pid}}", + exited: "Finalizado ({{exitCode}})", + manageCommands: "Gestionar permisos de comandos", + commandManagementDescription: + "Gestionar permisos de comandos: Haz clic en ✓ para permitir la ejecución automática, ✗ para denegar la ejecución. Los patrones se pueden activar/desactivar o eliminar de las listas. <settingsLink>Ver todos los ajustes</settingsLink>", + addToAllowed: "Añadir a la lista de permitidos", + removeFromAllowed: "Eliminar de la lista de permitidos", + addToDenied: "Añadir a la lista de denegados", + removeFromDenied: "Eliminar de la lista de denegados", + abortCommand: "Abortar ejecución del comando", + expandOutput: "Expandir salida", + collapseOutput: "Contraer salida", + expandManagement: "Expandir sección de gestión de comandos", + collapseManagement: "Contraer sección de gestión de comandos", + }, + Hee = "Respuesta", + Gee = { + wantsToUseTool: "Roo quiere usar una herramienta en el servidor MCP {{serverName}}:", + wantsToAccessResource: "Roo quiere acceder a un recurso en el servidor MCP {{serverName}}:", + }, + Qee = { + wantsToSwitch: "Roo quiere cambiar a modo <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo quiere cambiar a modo <code>{{mode}}</code> porque: {{reason}}", + didSwitch: "Roo cambió a modo <code>{{mode}}</code>", + didSwitchWithReason: "Roo cambió a modo <code>{{mode}}</code> porque: {{reason}}", + }, + Zee = { + wantsToCreate: "Roo quiere crear una nueva subtarea en modo <code>{{mode}}</code>:", + wantsToFinish: "Roo quiere finalizar esta subtarea", + newTaskContent: "Instrucciones de la subtarea", + completionContent: "Subtarea completada", + resultContent: "Resultados de la subtarea", + defaultResult: "Por favor, continúa con la siguiente tarea.", + completionInstructions: + "¡Subtarea completada! Puedes revisar los resultados y sugerir correcciones o próximos pasos. Si todo se ve bien, confirma para devolver el resultado a la tarea principal.", + }, + Yee = { hasQuestion: "Roo tiene una pregunta:" }, + Xee = "Tarea completada", + Jee = { issues: "Parece que estás teniendo problemas con Windows PowerShell, por favor consulta esta" }, + ete = { + title: "Auto-aprobar:", + none: "Ninguno", + description: + "Auto-aprobar permite a Roo Code realizar acciones sin pedir permiso. Habilita solo para acciones en las que confíes plenamente. Configuración más detallada disponible en <settingsLink>Configuración</settingsLink>.", + selectOptionsFirst: "Selecciona al menos una opción a continuación para habilitar la aprobación automática", + toggleAriaLabel: "Alternar aprobación automática", + disabledAriaLabel: "Aprobación automática desactivada: seleccione primero las opciones", + }, + tte = { thinking: "Pensando", seconds: "{{count}}s" }, + nte = { + title: "Contexto condensado", + condensing: "Condensando contexto...", + errorHeader: "Error al condensar el contexto", + tokens: "tokens", + }, + ote = { + copyToInput: "Copiar a la entrada (o Shift + clic)", + autoSelectCountdown: "Selección automática en {{count}}s", + countdownDisplay: "{{count}}s", + }, + rte = { + title: "🎉 Roo Code {{version}} publicado", + description: + "Roo Code {{version}} trae poderosas nuevas funcionalidades y mejoras significativas para mejorar tu flujo de trabajo de desarrollo.", + whatsNew: "Novedades", + feature1: + "<bold>Cola de Mensajes</bold>: Pon en cola múltiples mensajes mientras Roo está trabajando, permitiéndote continuar planificando tu flujo de trabajo sin interrupciones.", + feature2: + "<bold>Comandos de Barra Personalizados</bold>: Crea comandos de barra personalizados para acceso rápido a prompts y flujos de trabajo utilizados frecuentemente, con gestión completa de la interfaz de usuario.", + feature3: + "<bold>Herramientas Gemini Mejoradas</bold>: Nuevas capacidades de contexto de URL y fundamentación de búsqueda de Google proporcionan a los modelos Gemini información web en tiempo real y capacidades de investigación mejoradas.", + hideButton: "Ocultar anuncio", + detailsDiscussLinks: + "Obtén más detalles y participa en <discordLink>Discord</discordLink> y <redditLink>Reddit</redditLink> 🚀", + }, + ite = { + rooWantsToUse: "Roo quiere usar el navegador:", + consoleLogs: "Registros de la consola", + noNewLogs: "(No hay nuevos registros)", + screenshot: "Captura de pantalla del navegador", + cursor: "cursor", + navigation: { step: "Paso {{current}} de {{total}}", previous: "Anterior", next: "Siguiente" }, + sessionStarted: "Sesión de navegador iniciada", + actions: { + title: "Acción de navegación: ", + launch: "Iniciar navegador en {{url}}", + click: "Clic ({{coordinate}})", + type: 'Escribir "{{text}}"', + scrollDown: "Desplazar hacia abajo", + scrollUp: "Desplazar hacia arriba", + close: "Cerrar navegador", + }, + }, + ste = { + tooltips: { + expand: "Expandir bloque de código", + collapse: "Contraer bloque de código", + enable_wrap: "Activar ajuste de línea", + disable_wrap: "Desactivar ajuste de línea", + copy_code: "Copiar código", + }, + }, + ate = + "ADVERTENCIA: Anulación de instrucciones del sistema personalizada activa. Esto puede romper gravemente la funcionalidad y causar un comportamiento impredecible.", + lte = "El perfil actual no es compatible con la configuración de tu organización", + cte = { + title: "Advertencia de ejecución de comandos", + description: + "Tu comando se está ejecutando sin la integración de shell de terminal de VSCode. Para suprimir esta advertencia, puedes desactivar la integración de shell en la sección <strong>Terminal</strong> de la <settingsLink>configuración de Roo Code</settingsLink> o solucionar problemas de integración de terminal de VSCode usando el enlace de abajo.", + troubleshooting: "Haz clic aquí para ver la documentación de integración de shell.", + }, + dte = { + autoApprovedRequestLimitReached: { + title: "Límite de Solicitudes Auto-aprobadas Alcanzado", + description: + "Roo ha alcanzado el límite auto-aprobado de {{count}} solicitud(es) API. ¿Deseas reiniciar el contador y continuar con la tarea?", + button: "Reiniciar y Continuar", + }, + autoApprovedCostLimitReached: { + title: "Límite de Costo Auto-Aprobado Alcanzado", + description: + "Roo ha alcanzado el límite de costo autoaprobado de ${{count}}. ¿Le gustaría reiniciar el costo y continuar con la tarea?", + button: "Reiniciar y continuar", + }, + }, + ute = { + wantsToSearch: "Roo quiere buscar en la base de código <code>{{query}}</code>:", + wantsToSearchWithPath: + "Roo quiere buscar en la base de código <code>{{query}}</code> en <code>{{path}}</code>:", + didSearch_one: "Se encontró 1 resultado", + didSearch_other: "Se encontraron {{count}} resultados", + resultTooltip: "Puntuación de similitud: {{score}} (haz clic para abrir el archivo)", + }, + pte = { + ready: "Índice listo", + indexing: "Indexando {{percentage}}%", + indexed: "Indexado", + error: "Error de índice", + status: "Estado del índice", + }, + mte = { ariaLabel: "Versión {{version}} - Haz clic para ver las notas de la versión" }, + hte = { + title: "¡Roo Code Cloud llegará pronto!", + description: + "Ejecuta agentes remotos en la nube, accede a tus tareas desde cualquier lugar, colabora con otros y mucho más.", + joinWaitlist: "Únete a la lista de espera para obtener acceso anticipado.", + }, + fte = { placeholder: "Edita tu mensaje..." }, + gte = { triggerDescription: "Activar el comando {{name}}" }, + vte = { + tooltip: "Gestionar comandos de barra", + title: "Comandos de Barra", + description: + "Crea comandos de barra personalizados para acceder rápidamente a prompts y flujos de trabajo utilizados con frecuencia. <DocsLink>Documentación</DocsLink>", + globalCommands: "Comandos Globales", + workspaceCommands: "Comandos del Espacio de Trabajo", + globalCommand: "Comando global", + editCommand: "Editar comando", + deleteCommand: "Eliminar comando", + newGlobalCommandPlaceholder: "Nuevo comando global...", + newWorkspaceCommandPlaceholder: "Nuevo comando del espacio de trabajo...", + deleteDialog: { + title: "Eliminar Comando", + description: + '¿Estás seguro de que quieres eliminar el comando "{{name}}"? Esta acción no se puede deshacer.', + cancel: "Cancelar", + confirm: "Eliminar", + }, + }, + bte = { title: "Mensajes en cola:", clickToEdit: "Haz clic para editar el mensaje" }, + Ngt = { + greeting: ZJ, + task: YJ, + unpin: XJ, + pin: JJ, + retry: eee, + startNewTask: tee, + proceedAnyways: nee, + save: oee, + tokenProgress: ree, + reject: iee, + completeSubtaskAndReturn: see, + approve: aee, + runCommand: lee, + proceedWhileRunning: cee, + killCommand: dee, + resumeTask: uee, + terminate: pee, + cancel: mee, + scrollToBottom: hee, + about: fee, + onboarding: gee, + rooTips: vee, + selectMode: bee, + selectApiConfig: yee, + enhancePrompt: kee, + addImages: xee, + sendMessage: wee, + stopTts: _ee, + typeMessage: Cee, + typeTask: See, + addContext: Aee, + dragFiles: Pee, + dragFilesImages: Ree, + enhancePromptDescription: Tee, + modeSelector: Iee, + errorReadingFile: Mee, + noValidImages: jee, + separator: Eee, + edit: zee, + forNextMode: $ee, + forPreviousMode: Lee, + error: Dee, + diffError: Nee, + troubleMessage: Oee, + apiRequest: Fee, + checkpoint: Bee, + instructions: Uee, + fileOperations: qee, + directoryOperations: Wee, + commandOutput: Kee, + commandExecution: Vee, + response: Hee, + arguments: "Argumentos", + mcp: Gee, + modes: Qee, + subtasks: Zee, + questions: Yee, + taskCompleted: Xee, + powershell: Jee, + autoApprove: ete, + reasoning: tte, + contextCondense: nte, + followUpSuggest: ote, + announcement: rte, + browser: ite, + codeblock: ste, + systemPromptWarning: ate, + profileViolationWarning: lte, + shellIntegration: cte, + ask: dte, + codebaseSearch: ute, + "read-batch": { approve: { title: "Aprobar todo" }, deny: { title: "Denegar todo" } }, + indexingStatus: pte, + versionIndicator: mte, + rooCloudCTA: hte, + editMessage: fte, + command: gte, + slashCommands: vte, + queuedMessages: bte, + }, + Ogt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: fee, + addContext: Aee, + addImages: xee, + announcement: rte, + apiRequest: Fee, + approve: aee, + ask: dte, + autoApprove: ete, + browser: ite, + cancel: mee, + checkpoint: Bee, + codebaseSearch: ute, + codeblock: ste, + command: gte, + commandExecution: Vee, + commandOutput: Kee, + completeSubtaskAndReturn: see, + contextCondense: nte, + default: Ngt, + diffError: Nee, + directoryOperations: Wee, + dragFiles: Pee, + dragFilesImages: Ree, + edit: zee, + editMessage: fte, + enhancePrompt: kee, + enhancePromptDescription: Tee, + error: Dee, + errorReadingFile: Mee, + fileOperations: qee, + followUpSuggest: ote, + forNextMode: $ee, + forPreviousMode: Lee, + greeting: ZJ, + indexingStatus: pte, + instructions: Uee, + killCommand: dee, + mcp: Gee, + modeSelector: Iee, + modes: Qee, + noValidImages: jee, + onboarding: gee, + pin: JJ, + powershell: Jee, + proceedAnyways: nee, + proceedWhileRunning: cee, + profileViolationWarning: lte, + questions: Yee, + queuedMessages: bte, + reasoning: tte, + reject: iee, + response: Hee, + resumeTask: uee, + retry: eee, + rooCloudCTA: hte, + rooTips: vee, + runCommand: lee, + save: oee, + scrollToBottom: hee, + selectApiConfig: yee, + selectMode: bee, + sendMessage: wee, + separator: Eee, + shellIntegration: cte, + slashCommands: vte, + startNewTask: tee, + stopTts: _ee, + subtasks: Zee, + systemPromptWarning: ate, + task: YJ, + taskCompleted: Xee, + terminate: pee, + tokenProgress: ree, + troubleMessage: Oee, + typeMessage: Cee, + typeTask: See, + unpin: XJ, + versionIndicator: mte, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + yte = { + title: "Algo salió mal", + reportText: "Ayúdanos a mejorar informando de este error en", + githubText: "nuestra página de Issues de GitHub", + copyInstructions: "Copia y pega el siguiente mensaje de error para incluirlo como parte de tu informe:", + errorStack: "Pila de errores:", + componentStack: "Pila de componentes:", + }, + kte = { yes: "Sí", no: "No", cancel: "Cancelar", remove: "Eliminar", keep: "Mantener" }, + xte = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + wte = { search_placeholder: "Buscar...", no_results: "No se encontraron resultados" }, + _te = { + loading: "Generando diagrama mermaid...", + render_error: "No se puede renderizar el diagrama", + buttons: { + zoom: "Zoom", + zoomIn: "Ampliar", + zoomOut: "Reducir", + copy: "Copiar", + save: "Guardar imagen", + viewCode: "Ver código", + viewDiagram: "Ver diagrama", + close: "Cerrar", + }, + modal: { codeTitle: "Código Mermaid" }, + tabs: { diagram: "Diagrama", code: "Código" }, + feedback: { imageCopied: "Imagen copiada al portapapeles", copyError: "Error copiando la imagen" }, + }, + Cte = { + errors: { + invalidDataUri: "Formato de URI de datos inválido", + copyingImage: "Error copiando la imagen: {{error}}", + openingImage: "Error abriendo la imagen: {{error}}", + pathNotExists: "La ruta no existe: {{path}}", + couldNotOpen: "No se pudo abrir el archivo: {{error}}", + couldNotOpenGeneric: "¡No se pudo abrir el archivo!", + }, + success: { imageDataUriCopied: "URI de datos de imagen copiada al portapapeles" }, + }, + Ste = { + deleteMessage: "Eliminar mensaje", + deleteWarning: + "Eliminar este mensaje eliminará todos los mensajes posteriores en la conversación. ¿Deseas continuar?", + editMessage: "Editar mensaje", + editWarning: + "Editar este mensaje eliminará todos los mensajes posteriores en la conversación. ¿Deseas continuar?", + proceed: "Continuar", + }, + Fgt = { errorBoundary: yte, answers: kte, number_format: xte, ui: wte, mermaid: _te, file: Cte, confirmation: Ste }, + Bgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: kte, + confirmation: Ste, + default: Fgt, + errorBoundary: yte, + file: Cte, + mermaid: _te, + number_format: xte, + ui: wte, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Ate = "Tareas", + Pte = "Ver todas", + Rte = "Tokens: ↑{{in}} ↓{{out}}", + Tte = "Caché: +{{writes}} → {{reads}}", + Ite = "Costo de API: ${{cost}}", + Mte = "Historial", + jte = "Salir del modo selección", + Ete = "Entrar en modo selección", + zte = "Listo", + $te = "Buscar en el historial...", + Lte = "Más recientes", + Dte = "Más antiguas", + Nte = "Más costosas", + Ote = "Más tokens", + Fte = "Más relevantes", + Bte = "Eliminar tarea (Shift + Clic para omitir confirmación)", + Ute = "Tokens:", + qte = "Caché:", + Wte = "Costo de API:", + Kte = "Copiar prompt", + Vte = "Exportar tarea", + Hte = "Eliminar tarea", + Gte = "¿Estás seguro de que quieres eliminar esta tarea? Esta acción no se puede deshacer.", + Qte = "Cancelar", + Zte = "Salir de la selección", + Yte = "Modo selección", + Xte = "Deseleccionar todo", + Jte = "Seleccionar todo", + ene = "{{selected}}/{{total}} elementos seleccionados", + tne = "Limpiar selección", + nne = "Eliminar seleccionados", + one = "Eliminar tareas", + rne = "¿Estás seguro de que quieres eliminar {{count}} tareas?", + ine = "Las tareas eliminadas no se pueden recuperar. Por favor, asegúrate de que quieres continuar.", + sne = "Eliminar {{count}} elementos", + ane = { prefix: "Espacio de trabajo:", current: "Actual", all: "Todos" }, + lne = { + prefix: "Ordenar:", + newest: "Más recientes", + oldest: "Más antiguas", + mostExpensive: "Más costosas", + mostTokens: "Más tokens", + mostRelevant: "Más relevantes", + }, + cne = "Ver todo el historial", + Ugt = { + recentTasks: Ate, + viewAll: Pte, + tokens: Rte, + cache: Tte, + apiCost: Ite, + history: Mte, + exitSelectionMode: jte, + enterSelectionMode: Ete, + done: zte, + searchPlaceholder: $te, + newest: Lte, + oldest: Dte, + mostExpensive: Nte, + mostTokens: Ote, + mostRelevant: Fte, + deleteTaskTitle: Bte, + tokensLabel: Ute, + cacheLabel: qte, + apiCostLabel: Wte, + copyPrompt: Kte, + exportTask: Vte, + deleteTask: Hte, + deleteTaskMessage: Gte, + cancel: Qte, + delete: "Eliminar", + exitSelection: Zte, + selectionMode: Yte, + deselectAll: Xte, + selectAll: Jte, + selectedItems: ene, + clearSelection: tne, + deleteSelected: nne, + deleteTasks: one, + confirmDeleteTasks: rne, + deleteTasksWarning: ine, + deleteItems: sne, + workspace: ane, + sort: lne, + viewAllHistory: cne, + }, + qgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + apiCost: Ite, + apiCostLabel: Wte, + cache: Tte, + cacheLabel: qte, + cancel: Qte, + clearSelection: tne, + confirmDeleteTasks: rne, + copyPrompt: Kte, + default: Ugt, + deleteItems: sne, + deleteSelected: nne, + deleteTask: Hte, + deleteTaskMessage: Gte, + deleteTaskTitle: Bte, + deleteTasks: one, + deleteTasksWarning: ine, + deselectAll: Xte, + done: zte, + enterSelectionMode: Ete, + exitSelection: Zte, + exitSelectionMode: jte, + exportTask: Vte, + history: Mte, + mostExpensive: Nte, + mostRelevant: Fte, + mostTokens: Ote, + newest: Lte, + oldest: Dte, + recentTasks: Ate, + searchPlaceholder: $te, + selectAll: Jte, + selectedItems: ene, + selectionMode: Yte, + sort: lne, + tokens: Rte, + tokensLabel: Ute, + viewAll: Pte, + viewAllHistory: cne, + workspace: ane, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + dne = "Relevo Humano - Por favor ayude a copiar/pegar información", + une = + "Por favor copie el siguiente mensaje en la IA web, luego pegue la respuesta de la IA en el cuadro de entrada a continuación.", + pne = "Copiado al portapapeles", + mne = { label: "Por favor ingrese la respuesta de la IA:", placeholder: "Pegue la respuesta de la IA aquí..." }, + hne = { cancel: "Cancelar", submit: "Enviar" }, + Wgt = { dialogTitle: dne, dialogDescription: une, copiedToClipboard: pne, aiResponse: mne, actions: hne }, + Kgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: hne, + aiResponse: mne, + copiedToClipboard: pne, + default: Wgt, + dialogDescription: une, + dialogTitle: dne, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + fne = "Roo Marketplace", + gne = { installed: "Instalado", settings: "Configuración", browse: "Explorar" }, + vne = "Hecho", + bne = "Actualizar", + yne = { + search: { + placeholder: "Buscar elementos del marketplace...", + placeholderMcp: "Buscar MCPs...", + placeholderMode: "Buscar modos...", + }, + type: { label: "Filtrar por tipo:", all: "Todos los tipos", mode: "Modo", mcpServer: "Servidor MCP" }, + sort: { label: "Ordenar por:", name: "Nombre", author: "Autor", lastUpdated: "Última actualización" }, + tags: { + label: "Filtrar por etiquetas:", + clear: "Limpiar etiquetas", + placeholder: "Escribe para buscar y seleccionar etiquetas...", + noResults: "No se encontraron etiquetas coincidentes", + selected: "Mostrando elementos con cualquiera de las etiquetas seleccionadas", + clickToFilter: "Haz clic en las etiquetas para filtrar elementos", + }, + none: "Ninguno", + }, + kne = { organizationMcps: "MCPs de {{organization}}", marketplace: "Mercado" }, + xne = { + empty: { + noItems: "No se encontraron elementos del marketplace", + withFilters: "Intenta ajustar tus filtros", + noSources: "Intenta agregar una fuente en la pestaña Fuentes", + adjustFilters: "Intenta ajustar tus filtros o términos de búsqueda", + clearAllFilters: "Limpiar todos los filtros", + }, + count: "{{count}} elementos encontrados", + components: "{{count}} componentes", + matched: "{{count}} coincidentes", + refresh: { button: "Actualizar", refreshing: "Actualizando...", mayTakeMoment: "Esto puede tomar un momento." }, + card: { + by: "por {{author}}", + from: "de {{source}}", + install: "Instalar", + installProject: "Instalar", + installGlobal: "Instalar (Global)", + remove: "Eliminar", + removeProject: "Eliminar", + removeGlobal: "Eliminar (Global)", + viewSource: "Ver", + viewOnSource: "Ver en {{source}}", + noWorkspaceTooltip: "Abre un espacio de trabajo para instalar elementos del marketplace", + installed: "Instalado", + removeProjectTooltip: "Eliminar del proyecto actual", + removeGlobalTooltip: "Eliminar de la configuración global", + actionsMenuLabel: "Más acciones", + official: "Oficial", + verified: "Verificado", + }, + removeFailed: "No se pudo eliminar el elemento: {{error}}", + unknownError: "Ocurrió un error desconocido", + }, + wne = { + title: "Instalar {{name}}", + titleMode: "Instalar modo {{name}}", + titleMcp: "Instalar MCP {{name}}", + scope: "Ámbito de instalación", + project: "Proyecto (espacio de trabajo actual)", + global: "Global (todos los espacios de trabajo)", + method: "Método de instalación", + configuration: "Configuración", + configurationDescription: "Configura los parámetros requeridos para este servidor MCP", + button: "Instalar", + successTitle: "{{name}} instalado", + successDescription: "Instalación completada exitosamente", + installed: "¡Instalado exitosamente!", + whatNextMcp: + "Ahora puedes configurar y usar este servidor MCP. Haz clic en el icono MCP en la barra lateral para cambiar de pestaña.", + whatNextMode: + "Ahora puedes usar este modo. Haz clic en el icono Modos en la barra lateral para cambiar de pestaña.", + done: "Hecho", + goToMcp: "Ir a la pestaña MCP", + goToModes: "Ir a la configuración de Modos", + moreInfoMcp: "Ver documentación MCP de {{name}}", + validationRequired: "Por favor proporciona un valor para {{paramName}}", + prerequisites: "Requisitos previos", + }, + _ne = { + title: "Configurar fuentes del marketplace", + description: + "Agrega repositorios Git que contengan elementos del marketplace. Estos repositorios se obtendrán al navegar por el marketplace.", + add: { + title: "Agregar nueva fuente", + urlPlaceholder: "URL del repositorio Git (ej., https://github.com/username/repo)", + urlFormats: + "Formatos soportados: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), o protocolo Git (git://github.com/username/repo.git)", + namePlaceholder: "Nombre para mostrar (máx. 20 caracteres)", + button: "Agregar fuente", + }, + current: { + title: "Fuentes actuales", + empty: "No hay fuentes configuradas. Agrega una fuente para comenzar.", + refresh: "Actualizar esta fuente", + remove: "Eliminar fuente", + }, + errors: { + emptyUrl: "La URL no puede estar vacía", + invalidUrl: "Formato de URL inválido", + nonVisibleChars: "La URL contiene caracteres no visibles además de espacios", + invalidGitUrl: "La URL debe ser una URL de repositorio Git válida (ej., https://github.com/username/repo)", + duplicateUrl: "Esta URL ya está en la lista (coincidencia insensible a mayúsculas y espacios)", + nameTooLong: "El nombre debe tener 20 caracteres o menos", + nonVisibleCharsName: "El nombre contiene caracteres no visibles además de espacios", + duplicateName: "Este nombre ya está en uso (coincidencia insensible a mayúsculas y espacios)", + emojiName: "Los caracteres emoji pueden causar problemas de visualización", + maxSources: "Máximo de {{max}} fuentes permitidas", + }, + }, + Cne = { + mode: { + title: "Eliminar modo", + message: '¿Estás seguro de que quieres eliminar el modo "{{modeName}}"?', + rulesWarning: "Esto también eliminará cualquier archivo de reglas asociado para este modo.", + }, + mcp: { + title: "Eliminar servidor MCP", + message: '¿Estás seguro de que quieres eliminar el servidor MCP "{{mcpName}}"?', + }, + cancel: "Cancelar", + confirm: "Eliminar", + }, + Sne = { + issueText: + "¿Encontraste un problema con un elemento del marketplace o tienes sugerencias para nuevos? ¡<0>Abre un issue en GitHub</0> para hacérnoslo saber!", + }, + Vgt = { + title: fne, + tabs: gne, + done: vne, + refresh: bne, + filters: yne, + sections: kne, + "type-group": { modes: "Modos", mcps: "Servidores MCP" }, + items: xne, + install: wne, + sources: _ne, + removeConfirm: Cne, + footer: Sne, + }, + Hgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Vgt, + done: vne, + filters: yne, + footer: Sne, + install: wne, + items: xne, + refresh: bne, + removeConfirm: Cne, + sections: kne, + sources: _ne, + tabs: gne, + title: fne, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Ane = "Servidores MCP", + Pne = "Listo", + Rne = "Mercado MCP", + Tne = + 'El <0>Model Context Protocol</0> permite la comunicación con servidores MCP que se ejecutan localmente y proporcionan herramientas y recursos adicionales para extender las capacidades de Roo. Puedes usar <1>servidores creados por la comunidad</1> o pedir a Roo que cree nuevas herramientas específicas para tu flujo de trabajo (por ejemplo, "añadir una herramienta que obtenga la documentación más reciente de npm").', + Ine = "Instrucciones", + Mne = { + title: "Activar servidores MCP", + description: + "Actívalo para que Roo pueda usar herramientas de servidores MCP conectados. Esto le da más capacidades a Roo. Si no planeas usar estas herramientas extra, desactívalo para ayudar a reducir los costes de tokens API.", + }, + jne = { + title: "Activar creación de servidores MCP", + description: + "Actívalo para que Roo te ayude a crear <1>nuevos</1> servidores MCP personalizados. <0>Más información sobre la creación de servidores</0>", + hint: "Consejo: Para reducir los costes de tokens API, desactiva esta opción cuando no le pidas a Roo que cree un nuevo servidor MCP.", + }, + Ene = "Editar MCP global", + zne = "Editar MCP del proyecto", + $ne = "Más información sobre cómo editar archivos de configuración MCP", + Lne = { + alwaysAllow: "Permitir siempre", + parameters: "Parámetros", + noDescription: "Sin descripción", + togglePromptInclusion: "Alternar inclusión en el prompt", + }, + Dne = { tools: "Herramientas", resources: "Recursos", errors: "Errores" }, + Nne = { + noTools: "No se encontraron herramientas", + noResources: "No se encontraron recursos", + noErrors: "No se encontraron errores", + }, + One = { + label: "Tiempo de espera de red", + description: "Tiempo máximo de espera para respuestas del servidor", + options: { + "15seconds": "15 segundos", + "30seconds": "30 segundos", + "1minute": "1 minuto", + "5minutes": "5 minutos", + "10minutes": "10 minutos", + "15minutes": "15 minutos", + "30minutes": "30 minutos", + "60minutes": "60 minutos", + }, + }, + Fne = { + title: "Eliminar servidor MCP", + description: '¿Seguro que quieres eliminar el servidor MCP "{{serverName}}"? Esta acción no se puede deshacer.', + cancel: "Cancelar", + delete: "Eliminar", + }, + Bne = { retrying: "Reintentando...", retryConnection: "Reintentar conexión" }, + Une = "Actualizar Servidores MCP", + qne = { running: "Ejecutando", completed: "Completado", error: "Error" }, + Ggt = { + title: Ane, + done: Pne, + marketplace: Rne, + description: Tne, + instructions: Ine, + enableToggle: Mne, + enableServerCreation: jne, + editGlobalMCP: Ene, + editProjectMCP: zne, + learnMoreEditingSettings: $ne, + tool: Lne, + tabs: Dne, + emptyState: Nne, + networkTimeout: One, + deleteDialog: Fne, + serverStatus: Bne, + refreshMCP: Une, + execution: qne, + }, + Qgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Ggt, + deleteDialog: Fne, + description: Tne, + done: Pne, + editGlobalMCP: Ene, + editProjectMCP: zne, + emptyState: Nne, + enableServerCreation: jne, + enableToggle: Mne, + execution: qne, + instructions: Ine, + learnMoreEditingSettings: $ne, + marketplace: Rne, + networkTimeout: One, + refreshMCP: Une, + serverStatus: Bne, + tabs: Dne, + title: Ane, + tool: Lne, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Wne = "Modos", + Kne = "Listo", + Vne = { + title: "Modos", + createNewMode: "Crear nuevo modo", + importMode: "Importar modo", + noMatchFound: "No se encontraron modos", + editModesConfig: "Editar configuración de modos", + editGlobalModes: "Editar modos globales", + editProjectModes: "Editar modos del proyecto (.roomodes)", + createModeHelpText: + "Los modos son personas especializadas que adaptan el comportamiento de Roo. <0>Aprende sobre el uso de modos</0> o <1>Personalización de modos.</1>", + selectMode: "Buscar modos", + }, + Hne = { title: "Configuración de API", select: "Selecciona qué configuración de API usar para este modo" }, + Gne = { + title: "Herramientas disponibles", + builtInModesText: "Las herramientas para modos integrados no se pueden modificar", + editTools: "Editar herramientas", + doneEditing: "Terminar edición", + allowedFiles: "Archivos permitidos:", + toolNames: { + read: "Leer archivos", + edit: "Editar archivos", + browser: "Usar navegador", + command: "Ejecutar comandos", + mcp: "Usar MCP", + }, + noTools: "Ninguna", + }, + Qne = { + title: "Definición de rol", + resetToDefault: "Restablecer a valores predeterminados", + description: + "Define la experiencia y personalidad de Roo para este modo. Esta descripción determina cómo Roo se presenta y aborda las tareas.", + }, + Zne = { + title: "Descripción breve (para humanos)", + resetToDefault: "Restablecer a la descripción predeterminada", + description: "Una breve descripción que se muestra en el menú desplegable del selector de modo.", + }, + Yne = { + title: "Cuándo usar (opcional)", + description: + "Describe cuándo se debe usar este modo. Esto ayuda al Orchestrator a elegir el modo correcto para una tarea.", + resetToDefault: "Restablecer a valores predeterminados la descripción 'Cuándo usar'", + }, + Xne = { + title: "Instrucciones personalizadas para el modo (opcional)", + resetToDefault: "Restablecer a valores predeterminados", + description: "Agrega directrices de comportamiento específicas para el modo {{modeName}}.", + loadFromFile: + "Las instrucciones personalizadas para el modo {{mode}} también se pueden cargar desde la carpeta <span>.roo/rules-{{slug}}/</span> en tu espacio de trabajo (.roorules-{{slug}} y .clinerules-{{slug}} están obsoletos y dejarán de funcionar pronto).", + }, + Jne = { + title: "Exportar modo", + description: + "Exporta este modo a un archivo YAML con todas las reglas incluidas para compartir fácilmente con otros.", + export: "Exportar modo", + exporting: "Exportando...", + }, + eoe = { + selectLevel: "Elige dónde importar este modo:", + import: "Importar", + importing: "Importando...", + global: { + label: "Nivel global", + description: + "Disponible en todos los proyectos. Si el modo exportado contenía archivos de reglas, se volverán a crear en la carpeta global .roo/rules-{slug}/.", + }, + project: { + label: "Nivel de proyecto", + description: + "Solo disponible en este espacio de trabajo. Si el modo exportado contenía archivos de reglas, se volverán a crear en la carpeta .roo/rules-{slug}/.", + }, + }, + toe = { title: "Avanzado" }, + noe = { + title: "Instrucciones personalizadas para todos los modos", + description: + "Estas instrucciones se aplican a todos los modos. Proporcionan un conjunto base de comportamientos que pueden ser mejorados por instrucciones específicas de cada modo a continuación. <0>Más información</0>", + loadFromFile: + "Las instrucciones también se pueden cargar desde la carpeta <span>.roo/rules/</span> en tu espacio de trabajo (.roorules y .clinerules están obsoletos y dejarán de funcionar pronto).", + }, + ooe = { + preview: "Vista previa de la solicitud del sistema", + copy: "Copiar solicitud del sistema al portapapeles", + title: "Solicitud del sistema (modo {{modeName}})", + }, + roe = { + title: "Solicitudes de soporte", + resetPrompt: "Restablecer la solicitud {{promptType}} a valores predeterminados", + prompt: "Solicitud", + enhance: { + apiConfiguration: "Configuración de API", + apiConfigDescription: + "Puedes seleccionar una configuración de API para usar siempre en la mejora de solicitudes, o simplemente usar la que esté seleccionada actualmente", + useCurrentConfig: "Usar la configuración de API actualmente seleccionada", + testPromptPlaceholder: "Ingresa una solicitud para probar la mejora", + previewButton: "Vista previa de la mejora de solicitud", + testEnhancement: "Probar mejora", + includeTaskHistory: "Incluir historial de tareas como contexto", + includeTaskHistoryDescription: + "Cuando está habilitado, los últimos 10 mensajes de la conversación actual se incluirán como contexto al mejorar solicitudes, ayudando a generar sugerencias más relevantes y conscientes del contexto.", + }, + condense: { + apiConfiguration: "Configuración de API para la condensación de contexto", + apiConfigDescription: + "Selecciona qué configuración de API usar para las operaciones de condensación de contexto. Deja sin seleccionar para usar la configuración activa actual.", + useCurrentConfig: "Usar la configuración de API actualmente seleccionada", + }, + types: { + ENHANCE: { + label: "Mejorar solicitud", + description: + "Utiliza la mejora de solicitudes para obtener sugerencias o mejoras personalizadas para tus entradas. Esto asegura que Roo entienda tu intención y proporcione las mejores respuestas posibles. Disponible a través del icono ✨ en el chat.", + }, + CONDENSE: { + label: "Condensación de contexto", + description: + "Configura cómo se condensa el contexto de la conversación para gestionar los límites de tokens. Este prompt se utiliza tanto para operaciones de condensación de contexto manuales como automáticas.", + }, + EXPLAIN: { + label: "Explicar código", + description: + "Obtén explicaciones detalladas de fragmentos de código, funciones o archivos completos. Útil para entender código complejo o aprender nuevos patrones. Disponible en acciones de código (icono de bombilla en el editor) y en el menú contextual del editor (clic derecho en el código seleccionado).", + }, + FIX: { + label: "Corregir problemas", + description: + "Obtén ayuda para identificar y resolver errores, fallos o problemas de calidad del código. Proporciona una guía paso a paso para solucionar problemas. Disponible en acciones de código (icono de bombilla en el editor) y en el menú contextual del editor (clic derecho en el código seleccionado).", + }, + IMPROVE: { + label: "Mejorar código", + description: + "Recibe sugerencias para optimización de código, mejores prácticas y mejoras arquitectónicas manteniendo la funcionalidad. Disponible en acciones de código (icono de bombilla en el editor) y en el menú contextual del editor (clic derecho en el código seleccionado).", + }, + ADD_TO_CONTEXT: { + label: "Añadir al contexto", + description: + "Añade contexto a tu tarea o conversación actual. Útil para proporcionar información adicional o aclaraciones. Disponible en acciones de código (icono de bombilla en el editor) y en el menú contextual del editor (clic derecho en el código seleccionado).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Añadir contenido de terminal al contexto", + description: + "Añade la salida de la terminal a tu tarea o conversación actual. Útil para proporcionar salidas de comandos o registros. Disponible en el menú contextual de la terminal (clic derecho en el contenido seleccionado de la terminal).", + }, + TERMINAL_FIX: { + label: "Corregir comando de terminal", + description: + "Obtén ayuda para corregir comandos de terminal que fallaron o necesitan mejoras. Disponible en el menú contextual de la terminal (clic derecho en el contenido seleccionado de la terminal).", + }, + TERMINAL_EXPLAIN: { + label: "Explicar comando de terminal", + description: + "Obtén explicaciones detalladas de comandos de terminal y sus salidas. Disponible en el menú contextual de la terminal (clic derecho en el contenido seleccionado de la terminal).", + }, + NEW_TASK: { + label: "Iniciar nueva tarea", + description: "Inicia una nueva tarea con entrada del usuario. Disponible en la Paleta de comandos.", + }, + }, + }, + ioe = { + title: "Avanzado: Anular solicitud del sistema", + description: + "<2>⚠️ Advertencia:</2> Esta función avanzada omite las medidas de seguridad. <1>¡LEE ESTO ANTES DE USAR!</1>Anula la solicitud del sistema predeterminada creando un archivo en <span>.roo/system-prompt-{{slug}}</span>.", + }, + soe = { + title: "Crear nuevo modo", + close: "Cerrar", + name: { label: "Nombre", placeholder: "Ingresa nombre del modo" }, + slug: { + label: "Slug", + description: + "El slug se usa en URLs y nombres de archivos. Debe estar en minúscula y contener solo letras, números y guiones.", + }, + saveLocation: { + label: "Ubicación para guardar", + description: + "Elige dónde guardar este modo. Los modos específicos del proyecto tienen prioridad sobre los modos globales.", + global: { label: "Global", description: "Disponible en todos los espacios de trabajo" }, + project: { + label: "Específico del proyecto (.roomodes)", + description: "Solo disponible en este espacio de trabajo, tiene prioridad sobre el global", + }, + }, + roleDefinition: { + label: "Definición de rol", + description: "Define la experiencia y personalidad de Roo para este modo.", + }, + whenToUse: { + label: "Cuándo usar (opcional)", + description: + "Proporciona una descripción clara de cuándo este modo es más efectivo y para qué tipos de tareas es más adecuado.", + }, + tools: { label: "Herramientas disponibles", description: "Selecciona qué herramientas puede usar este modo." }, + description: { + label: "Descripción breve (para humanos)", + description: "Una breve descripción que se muestra en el menú desplegable del selector de modo.", + }, + customInstructions: { + label: "Instrucciones personalizadas (opcional)", + description: "Agrega directrices de comportamiento específicas para este modo.", + }, + buttons: { cancel: "Cancelar", create: "Crear modo" }, + deleteMode: "Eliminar modo", + }, + aoe = "todos los archivos", + loe = { + title: "Eliminar modo", + message: '¿Estás seguro de que quieres eliminar el modo "{{modeName}}"?', + rulesFolder: "Este modo tiene una carpeta de reglas en {{folderPath}} que también se eliminará.", + descriptionNoRules: "¿Estás seguro de que quieres eliminar este modo personalizado?", + confirm: "Eliminar", + cancel: "Cancelar", + }, + Zgt = { + title: Wne, + done: Kne, + modes: Vne, + apiConfiguration: Hne, + tools: Gne, + roleDefinition: Qne, + description: Zne, + whenToUse: Yne, + customInstructions: Xne, + exportMode: Jne, + importMode: eoe, + advanced: toe, + globalCustomInstructions: noe, + systemPrompt: ooe, + supportPrompts: roe, + advancedSystemPrompt: ioe, + createModeDialog: soe, + allFiles: aoe, + deleteMode: loe, + }, + Ygt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: toe, + advancedSystemPrompt: ioe, + allFiles: aoe, + apiConfiguration: Hne, + createModeDialog: soe, + customInstructions: Xne, + default: Zgt, + deleteMode: loe, + description: Zne, + done: Kne, + exportMode: Jne, + globalCustomInstructions: noe, + importMode: eoe, + modes: Vne, + roleDefinition: Qne, + supportPrompts: roe, + systemPrompt: ooe, + title: Wne, + tools: Gne, + whenToUse: Yne, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + coe = { + save: "Guardar", + done: "Hecho", + cancel: "Cancelar", + reset: "Restablecer", + select: "Seleccionar", + add: "Añadir encabezado", + remove: "Eliminar", + }, + doe = { + title: "Configuración", + saveButtonTooltip: "Guardar cambios", + nothingChangedTooltip: "Nada ha cambiado", + doneButtonTooltip: "Descartar cambios no guardados y cerrar el panel de configuración", + }, + uoe = { + title: "Cambios no guardados", + description: "¿Desea descartar los cambios y continuar?", + cancelButton: "Cancelar", + discardButton: "Descartar cambios", + }, + poe = { + providers: "Proveedores", + autoApprove: "Auto-aprobación", + browser: "Acceso al ordenador", + checkpoints: "Puntos de control", + notifications: "Notificaciones", + contextManagement: "Contexto", + terminal: "Terminal", + prompts: "Indicaciones", + experimental: "Experimental", + language: "Idioma", + about: "Acerca de Roo Code", + }, + moe = { + description: + "Configura indicaciones de soporte que se utilizan para acciones rápidas como mejorar indicaciones, explicar código y solucionar problemas. Estas indicaciones ayudan a Roo a brindar mejor asistencia para tareas comunes de desarrollo.", + }, + hoe = { + title: "Indexación de código", + description: + "Configura los ajustes de indexación de código para habilitar búsqueda semántica en tu proyecto. <0>Más información</0>", + statusTitle: "Estado", + enableLabel: "Habilitar indexación de código", + enableDescription: "Habilita la indexación de código para mejorar la búsqueda y la comprensión del contexto", + settingsTitle: "Configuración de indexación", + disabledMessage: + "La indexación de código está actualmente deshabilitada. Habilítala en la configuración global para configurar las opciones de indexación.", + providerLabel: "Proveedor de embeddings", + embedderProviderLabel: "Proveedor de embedder", + selectProviderPlaceholder: "Seleccionar proveedor", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Clave API:", + geminiApiKeyPlaceholder: "Introduce tu clave de API de Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Clave API:", + mistralApiKeyPlaceholder: "Introduce tu clave de API de Mistral", + openaiCompatibleProvider: "Compatible con OpenAI", + openAiKeyLabel: "Clave API de OpenAI", + openAiKeyPlaceholder: "Introduce tu clave API de OpenAI", + openAiCompatibleBaseUrlLabel: "URL base", + openAiCompatibleApiKeyLabel: "Clave API", + openAiCompatibleApiKeyPlaceholder: "Introduce tu clave API", + openAiCompatibleModelDimensionLabel: "Dimensión de Embedding:", + modelDimensionLabel: "Dimensión del modelo", + openAiCompatibleModelDimensionPlaceholder: "ej., 1536", + openAiCompatibleModelDimensionDescription: + "La dimensión de embedding (tamaño de salida) para tu modelo. Consulta la documentación de tu proveedor para este valor. Valores comunes: 384, 768, 1536, 3072.", + modelLabel: "Modelo", + modelPlaceholder: "Introduce el nombre del modelo", + selectModel: "Seleccionar un modelo", + selectModelPlaceholder: "Seleccionar modelo", + ollamaUrlLabel: "URL de Ollama:", + ollamaBaseUrlLabel: "URL base de Ollama", + qdrantUrlLabel: "URL de Qdrant", + qdrantKeyLabel: "Clave de Qdrant:", + qdrantApiKeyLabel: "Clave API de Qdrant", + qdrantApiKeyPlaceholder: "Introduce tu clave API de Qdrant (opcional)", + setupConfigLabel: "Configuración", + startIndexingButton: "Iniciar", + clearIndexDataButton: "Borrar índice", + unsavedSettingsMessage: "Por favor guarda tus ajustes antes de iniciar el proceso de indexación.", + clearDataDialog: { + title: "¿Estás seguro?", + description: + "Esta acción no se puede deshacer. Esto eliminará permanentemente los datos de índice de tu base de código.", + cancelButton: "Cancelar", + confirmButton: "Borrar datos", + }, + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Error al guardar la configuración", + modelDimensions: "({{dimension}} dimensiones)", + saveSuccess: "Configuración guardada exitosamente", + saving: "Guardando...", + saveSettings: "Guardar", + indexingStatuses: { standby: "En espera", indexing: "Indexando", indexed: "Indexado", error: "Error" }, + close: "Cerrar", + validation: { + invalidQdrantUrl: "URL de Qdrant no válida", + invalidOllamaUrl: "URL de Ollama no válida", + invalidBaseUrl: "URL base no válida", + qdrantUrlRequired: "Se requiere la URL de Qdrant", + openaiApiKeyRequired: "Se requiere la clave API de OpenAI", + modelSelectionRequired: "Se requiere la selección de un modelo", + apiKeyRequired: "Se requiere la clave API", + modelIdRequired: "Se requiere el ID del modelo", + modelDimensionRequired: "Se requiere la dimensión del modelo", + geminiApiKeyRequired: "Se requiere la clave API de Gemini", + mistralApiKeyRequired: "Se requiere la clave de API de Mistral", + ollamaBaseUrlRequired: "Se requiere la URL base de Ollama", + baseUrlRequired: "Se requiere la URL base", + modelDimensionMinValue: "La dimensión del modelo debe ser mayor que 0", + }, + advancedConfigLabel: "Configuración avanzada", + searchMinScoreLabel: "Umbral de puntuación de búsqueda", + searchMinScoreDescription: + "Puntuación mínima de similitud (0.0-1.0) requerida para los resultados de búsqueda. Valores más bajos devuelven más resultados pero pueden ser menos relevantes. Valores más altos devuelven menos resultados pero más relevantes.", + searchMinScoreResetTooltip: "Restablecer al valor predeterminado (0.4)", + searchMaxResultsLabel: "Resultados máximos de búsqueda", + searchMaxResultsDescription: + "Número máximo de resultados de búsqueda a devolver al consultar el índice de código. Valores más altos proporcionan más contexto pero pueden incluir resultados menos relevantes.", + resetToDefault: "Restablecer al valor predeterminado", + }, + foe = { + description: + "Permitir que Roo realice operaciones automáticamente sin requerir aprobación. Habilite esta configuración solo si confía plenamente en la IA y comprende los riesgos de seguridad asociados.", + enabled: "Auto-aprobación habilitada", + toggleAriaLabel: "Alternar aprobación automática", + disabledAriaLabel: "Aprobación automática desactivada: seleccione primero las opciones", + readOnly: { + label: "Lectura", + description: + "Cuando está habilitado, Roo verá automáticamente el contenido del directorio y leerá archivos sin que necesite hacer clic en el botón Aprobar.", + outsideWorkspace: { + label: "Incluir archivos fuera del espacio de trabajo", + description: + "Permitir a Roo leer archivos fuera del espacio de trabajo actual sin requerir aprobación.", + }, + }, + write: { + label: "Escritura", + description: "Crear y editar archivos automáticamente sin requerir aprobación", + delayLabel: "Retraso después de escritura para permitir que los diagnósticos detecten posibles problemas", + outsideWorkspace: { + label: "Incluir archivos fuera del espacio de trabajo", + description: + "Permitir a Roo crear y editar archivos fuera del espacio de trabajo actual sin requerir aprobación.", + }, + protected: { + label: "Incluir archivos protegidos", + description: + "Permitir a Roo crear y editar archivos protegidos (como .rooignore y archivos de configuración .roo/) sin requerir aprobación.", + }, + }, + browser: { + label: "Navegador", + description: + "Realizar acciones del navegador automáticamente sin requerir aprobación. Nota: Solo se aplica cuando el modelo admite el uso del ordenador", + }, + retry: { + label: "Reintentar", + description: + "Reintentar automáticamente solicitudes de API fallidas cuando el servidor devuelve una respuesta de error", + delayLabel: "Retraso antes de reintentar la solicitud", + }, + mcp: { + label: "MCP", + description: + 'Habilitar la aprobación automática de herramientas MCP individuales en la vista de Servidores MCP (requiere tanto esta configuración como la casilla "Permitir siempre" de la herramienta)', + }, + modeSwitch: { + label: "Modo", + description: "Cambiar automáticamente entre diferentes modos sin requerir aprobación", + }, + subtasks: { + label: "Subtareas", + description: "Permitir la creación y finalización de subtareas sin requerir aprobación", + }, + followupQuestions: { + label: "Pregunta", + description: + "Seleccionar automáticamente la primera respuesta sugerida para preguntas de seguimiento después del tiempo de espera configurado", + timeoutLabel: "Tiempo de espera antes de seleccionar automáticamente la primera respuesta", + }, + execute: { + label: "Ejecutar", + description: "Ejecutar automáticamente comandos de terminal permitidos sin requerir aprobación", + allowedCommands: "Comandos de auto-ejecución permitidos", + allowedCommandsDescription: + 'Prefijos de comandos que pueden ser ejecutados automáticamente cuando "Aprobar siempre operaciones de ejecución" está habilitado. Añade * para permitir todos los comandos (usar con precaución).', + deniedCommands: "Comandos denegados", + deniedCommandsDescription: + "Prefijos de comandos que serán automáticamente denegados sin pedir aprobación. En caso de conflictos con comandos permitidos, la coincidencia de prefijo más larga tiene prioridad. Añade * para denegar todos los comandos.", + commandPlaceholder: "Ingrese prefijo de comando (ej. 'git ')", + deniedCommandPlaceholder: "Ingrese prefijo de comando a denegar (ej. 'rm -rf')", + addButton: "Añadir", + autoDenied: + "Los comandos con el prefijo `{{prefix}}` han sido prohibidos por el usuario. No eludes esta restricción ejecutando otro comando.", + }, + updateTodoList: { + label: "Todo", + description: "La lista de tareas se actualiza automáticamente sin aprobación", + }, + apiRequestLimit: { + title: "Solicitudes máximas", + description: + "Realizar automáticamente esta cantidad de solicitudes a la API antes de pedir aprobación para continuar con la tarea.", + unlimited: "Ilimitado", + }, + selectOptionsFirst: "Selecciona al menos una opción a continuación para habilitar la aprobación automática", + apiCostLimit: { title: "Costo Máximo", unlimited: "Ilimitado" }, + maxLimits: { + description: + "Realizar automáticamente solicitudes hasta estos límites antes de pedir aprobación para continuar.", + }, + }, + goe = JSON.parse( + `{"providerDocumentation":"Documentación de {{provider}}","configProfile":"Perfil de configuración","description":"Guarde diferentes configuraciones de API para cambiar rápidamente entre proveedores y ajustes.","apiProvider":"Proveedor de API","model":"Modelo","nameEmpty":"El nombre no puede estar vacío","nameExists":"Ya existe un perfil con este nombre","deleteProfile":"Eliminar perfil","invalidArnFormat":"Formato de ARN no válido. Verifica los ejemplos anteriores.","enterNewName":"Ingrese un nuevo nombre","addProfile":"Agregar perfil","renameProfile":"Renombrar perfil","newProfile":"Nuevo perfil de configuración","enterProfileName":"Ingrese el nombre del perfil","createProfile":"Crear perfil","cannotDeleteOnlyProfile":"No se puede eliminar el único perfil","searchPlaceholder":"Buscar perfiles","searchProviderPlaceholder":"Buscar proveedores","noProviderMatchFound":"No se encontraron proveedores","noMatchFound":"No se encontraron perfiles coincidentes","vscodeLmDescription":"La API del Modelo de Lenguaje de VS Code le permite ejecutar modelos proporcionados por otras extensiones de VS Code (incluido, entre otros, GitHub Copilot). La forma más sencilla de empezar es instalar las extensiones Copilot y Copilot Chat desde el VS Code Marketplace.","awsCustomArnUse":"Ingrese un ARN de Amazon Bedrock válido para el modelo que desea utilizar. Ejemplos de formato:","awsCustomArnDesc":"Asegúrese de que la región en el ARN coincida con la región de AWS seleccionada anteriormente.","openRouterApiKey":"Clave API de OpenRouter","getOpenRouterApiKey":"Obtener clave API de OpenRouter","apiKeyStorageNotice":"Las claves API se almacenan de forma segura en el Almacenamiento Secreto de VSCode","glamaApiKey":"Clave API de Glama","getGlamaApiKey":"Obtener clave API de Glama","useCustomBaseUrl":"Usar URL base personalizada","useReasoning":"Habilitar razonamiento","useHostHeader":"Usar encabezado Host personalizado","useLegacyFormat":"Usar formato API de OpenAI heredado","customHeaders":"Encabezados personalizados","headerName":"Nombre del encabezado","headerValue":"Valor del encabezado","noCustomHeaders":"No hay encabezados personalizados definidos. Haga clic en el botón + para añadir uno.","requestyApiKey":"Clave API de Requesty","refreshModels":{"label":"Actualizar modelos","hint":"Por favor, vuelve a abrir la configuración para ver los modelos más recientes.","loading":"Actualizando lista de modelos...","success":"¡Lista de modelos actualizada correctamente!","error":"Error al actualizar la lista de modelos. Por favor, inténtalo de nuevo."},"getRequestyApiKey":"Obtener clave API de Requesty","openRouterTransformsText":"Comprimir prompts y cadenas de mensajes al tamaño del contexto (<a>Transformaciones de OpenRouter</a>)","anthropicApiKey":"Clave API de Anthropic","getAnthropicApiKey":"Obtener clave API de Anthropic","anthropicUseAuthToken":"Pasar la clave API de Anthropic como encabezado de autorización en lugar de X-Api-Key","cerebrasApiKey":"Clave API de Cerebras","getCerebrasApiKey":"Obtener clave API de Cerebras","chutesApiKey":"Clave API de Chutes","getChutesApiKey":"Obtener clave API de Chutes","fireworksApiKey":"Clave API de Fireworks","getFireworksApiKey":"Obtener clave API de Fireworks","deepSeekApiKey":"Clave API de DeepSeek","getDeepSeekApiKey":"Obtener clave API de DeepSeek","doubaoApiKey":"Clave API de Doubao","getDoubaoApiKey":"Obtener clave API de Doubao","moonshotApiKey":"Clave API de Moonshot","getMoonshotApiKey":"Obtener clave API de Moonshot","moonshotBaseUrl":"Punto de entrada de Moonshot","zaiApiKey":"Clave API de Z AI","getZaiApiKey":"Obtener clave API de Z AI","zaiEntrypoint":"Punto de entrada de Z AI","zaiEntrypointDescription":"Por favor, seleccione el punto de entrada de API apropiado según su ubicación. Si está en China, elija open.bigmodel.cn. De lo contrario, elija api.z.ai.","geminiApiKey":"Clave API de Gemini","getGroqApiKey":"Obtener clave API de Groq","groqApiKey":"Clave API de Groq","getSambaNovaApiKey":"Obtener clave API de SambaNova","sambaNovaApiKey":"Clave API de SambaNova","getHuggingFaceApiKey":"Obtener clave API de Hugging Face","huggingFaceApiKey":"Clave API de Hugging Face","huggingFaceModelId":"ID del modelo","huggingFaceLoading":"Cargando...","huggingFaceModelsCount":"({{count}} modelos)","huggingFaceSelectModel":"Seleccionar un modelo...","huggingFaceSearchModels":"Buscar modelos...","huggingFaceNoModelsFound":"No se encontraron modelos","huggingFaceProvider":"Proveedor","huggingFaceProviderAuto":"Automático","huggingFaceSelectProvider":"Seleccionar un proveedor...","huggingFaceSearchProviders":"Buscar proveedores...","huggingFaceNoProvidersFound":"No se encontraron proveedores","getGeminiApiKey":"Obtener clave API de Gemini","openAiApiKey":"Clave API de OpenAI","apiKey":"Clave API","openAiBaseUrl":"URL base","getOpenAiApiKey":"Obtener clave API de OpenAI","mistralApiKey":"Clave API de Mistral","getMistralApiKey":"Obtener clave API de Mistral / Codestral","codestralBaseUrl":"URL base de Codestral (Opcional)","codestralBaseUrlDesc":"Establecer una URL alternativa para el modelo Codestral.","xaiApiKey":"Clave API de xAI","getXaiApiKey":"Obtener clave API de xAI","litellmApiKey":"Clave API de LiteLLM","litellmBaseUrl":"URL base de LiteLLM","awsCredentials":"Credenciales de AWS","awsProfile":"Perfil de AWS","awsApiKey":"Clave de API de Amazon Bedrock","awsProfileName":"Nombre del perfil de AWS","awsAccessKey":"Clave de acceso de AWS","awsSecretKey":"Clave secreta de AWS","awsSessionToken":"Token de sesión de AWS","awsRegion":"Región de AWS","awsCrossRegion":"Usar inferencia entre regiones","awsBedrockVpc":{"useCustomVpcEndpoint":"Usar punto de conexión VPC personalizado","vpcEndpointUrlPlaceholder":"Ingrese URL del punto de conexión VPC (opcional)","examples":"Ejemplos:"},"enablePromptCaching":"Habilitar caché de prompts","enablePromptCachingTitle":"Habilitar el caché de prompts para mejorar el rendimiento y reducir costos para modelos compatibles.","cacheUsageNote":"Nota: Si no ve el uso del caché, intente seleccionar un modelo diferente y luego seleccionar nuevamente su modelo deseado.","vscodeLmModel":"Modelo de lenguaje","vscodeLmWarning":"Nota: Esta es una integración muy experimental y el soporte del proveedor variará. Si recibe un error sobre un modelo no compatible, es un problema del proveedor.","geminiParameters":{"urlContext":{"title":"Habilitar contexto de URL","description":"Permite que Gemini acceda y procese URLs para contexto adicional al generar respuestas. Útil para tareas que requieren análisis de contenido web."},"groundingSearch":{"title":"Habilitar grounding con búsqueda en Google","description":"Permite que Gemini busque en Google información actual y fundamente las respuestas en datos en tiempo real. Útil para consultas que requieren información actualizada."}},"googleCloudSetup":{"title":"Para usar Google Cloud Vertex AI, necesita:","step1":"1. Crear una cuenta de Google Cloud, habilitar la API de Vertex AI y habilitar los modelos Claude deseados.","step2":"2. Instalar Google Cloud CLI y configurar las credenciales predeterminadas de la aplicación.","step3":"3. O crear una cuenta de servicio con credenciales."},"googleCloudCredentials":"Credenciales de Google Cloud","googleCloudKeyFile":"Ruta del archivo de clave de Google Cloud","googleCloudProjectId":"ID del proyecto de Google Cloud","googleCloudRegion":"Región de Google Cloud","lmStudio":{"baseUrl":"URL base (opcional)","modelId":"ID del modelo","speculativeDecoding":"Habilitar decodificación especulativa","draftModelId":"ID del modelo borrador","draftModelDesc":"El modelo borrador debe ser de la misma familia de modelos para que la decodificación especulativa funcione correctamente.","selectDraftModel":"Seleccionar modelo borrador","noModelsFound":"No se encontraron modelos borrador. Asegúrese de que LM Studio esté ejecutándose con el Modo Servidor habilitado.","description":"LM Studio le permite ejecutar modelos localmente en su computadora. Para obtener instrucciones sobre cómo comenzar, consulte su <a>guía de inicio rápido</a>. También necesitará iniciar la función de <b>servidor local</b> de LM Studio para usarlo con esta extensión. <span>Nota:</span> Roo Code utiliza prompts complejos y funciona mejor con modelos Claude. Los modelos menos capaces pueden no funcionar como se espera."},"ollama":{"baseUrl":"URL base (opcional)","modelId":"ID del modelo","description":"Ollama le permite ejecutar modelos localmente en su computadora. Para obtener instrucciones sobre cómo comenzar, consulte la guía de inicio rápido.","warning":"Nota: Roo Code utiliza prompts complejos y funciona mejor con modelos Claude. Los modelos menos capaces pueden no funcionar como se espera."},"unboundApiKey":"Clave API de Unbound","getUnboundApiKey":"Obtener clave API de Unbound","unboundRefreshModelsSuccess":"¡Lista de modelos actualizada! Ahora puede seleccionar entre los últimos modelos.","unboundInvalidApiKey":"Clave API inválida. Por favor, verifique su clave API e inténtelo de nuevo.","humanRelay":{"description":"No se requiere clave API, pero el usuario necesita ayudar a copiar y pegar la información en el chat web de IA.","instructions":"Durante el uso, aparecerá un cuadro de diálogo y el mensaje actual se copiará automáticamente al portapapeles. Debe pegarlo en las versiones web de IA (como ChatGPT o Claude), luego copiar la respuesta de la IA de vuelta al cuadro de diálogo y hacer clic en el botón de confirmar."},"openRouter":{"providerRouting":{"title":"Enrutamiento de Proveedores de OpenRouter","description":"OpenRouter dirige las solicitudes a los mejores proveedores disponibles para su modelo. Por defecto, las solicitudes se equilibran entre los principales proveedores para maximizar el tiempo de actividad. Sin embargo, puede elegir un proveedor específico para este modelo.","learnMore":"Más información sobre el enrutamiento de proveedores"}},"customModel":{"capabilities":"Configure las capacidades y precios para su modelo personalizado compatible con OpenAI. Tenga cuidado al especificar las capacidades del modelo, ya que pueden afectar cómo funciona Roo Code.","maxTokens":{"label":"Tokens máximos de salida","description":"Número máximo de tokens que el modelo puede generar en una respuesta. (Especifique -1 para permitir que el servidor establezca los tokens máximos.)"},"contextWindow":{"label":"Tamaño de ventana de contexto","description":"Total de tokens (entrada + salida) que el modelo puede procesar."},"imageSupport":{"label":"Soporte de imágenes","description":"¿Es este modelo capaz de procesar y entender imágenes?"},"computerUse":{"label":"Uso del ordenador","description":"¿Es este modelo capaz de interactuar con un navegador? (ej. Claude 3.7 Sonnet)"},"promptCache":{"label":"Caché de prompts","description":"¿Es este modelo capaz de almacenar prompts en caché?"},"pricing":{"input":{"label":"Precio de entrada","description":"Costo por millón de tokens en la entrada/prompt. Esto afecta el costo de enviar contexto e instrucciones al modelo."},"output":{"label":"Precio de salida","description":"Costo por millón de tokens en la respuesta del modelo. Esto afecta el costo del contenido generado y las completaciones."},"cacheReads":{"label":"Precio de lecturas de caché","description":"Costo por millón de tokens para leer del caché. Este es el precio que se cobra cuando se recupera una respuesta almacenada en caché."},"cacheWrites":{"label":"Precio de escrituras de caché","description":"Costo por millón de tokens para escribir en el caché. Este es el precio que se cobra cuando se almacena un prompt en caché por primera vez."}},"resetDefaults":"Restablecer valores predeterminados"},"rateLimitSeconds":{"label":"Límite de tasa","description":"Tiempo mínimo entre solicitudes de API."},"consecutiveMistakeLimit":{"label":"Límite de errores y repeticiones","description":"Número de errores consecutivos o acciones repetidas antes de mostrar el diálogo 'Roo está teniendo problemas'","unlimitedDescription":"Reintentos ilimitados habilitados (proceder automáticamente). El diálogo nunca aparecerá.","warning":"⚠️ Establecer en 0 permite reintentos ilimitados que pueden consumir un uso significativo de la API"},"reasoningEffort":{"label":"Esfuerzo de razonamiento del modelo","high":"Alto","medium":"Medio","low":"Bajo"},"setReasoningLevel":"Habilitar esfuerzo de razonamiento","claudeCode":{"pathLabel":"Ruta de Claude Code","description":"Ruta opcional a su CLI de Claude Code. Por defecto, es 'claude' si no se establece.","placeholder":"Por defecto: claude","maxTokensLabel":"Tokens máximos de salida","maxTokensDescription":"Número máximo de tokens de salida para las respuestas de Claude Code. El valor predeterminado es 8000."}}`, + ), + voe = { + enable: { + label: "Habilitar herramienta de navegador", + description: + "Cuando está habilitado, Roo puede usar un navegador para interactuar con sitios web cuando se utilizan modelos que admiten el uso del ordenador. <0>Más información</0>", + }, + viewport: { + label: "Tamaño del viewport", + description: + "Seleccione el tamaño del viewport para interacciones del navegador. Esto afecta cómo se muestran e interactúan los sitios web.", + options: { + largeDesktop: "Escritorio grande (1280x800)", + smallDesktop: "Escritorio pequeño (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Móvil (360x640)", + }, + }, + screenshotQuality: { + label: "Calidad de capturas de pantalla", + description: + "Ajuste la calidad WebP de las capturas de pantalla del navegador. Valores más altos proporcionan capturas más claras pero aumentan el uso de token.", + }, + remote: { + label: "Usar conexión remota del navegador", + description: + "Conectarse a un navegador Chrome que se ejecuta con depuración remota habilitada (--remote-debugging-port=9222).", + urlPlaceholder: "URL personalizada (ej. http://localhost:9222)", + testButton: "Probar conexión", + testingButton: "Probando...", + instructions: + "Ingrese la dirección del host del protocolo DevTools o déjelo vacío para descubrir automáticamente instancias locales de Chrome. El botón Probar Conexión intentará usar la URL personalizada si se proporciona, o descubrirá automáticamente si el campo está vacío.", + }, + }, + boe = { + enable: { + label: "Habilitar puntos de control automáticos", + description: + "Cuando está habilitado, Roo creará automáticamente puntos de control durante la ejecución de tareas, facilitando la revisión de cambios o la reversión a estados anteriores. <0>Más información</0>", + }, + }, + yoe = { + sound: { + label: "Habilitar efectos de sonido", + description: "Cuando está habilitado, Roo reproducirá efectos de sonido para notificaciones y eventos.", + volumeLabel: "Volumen", + }, + tts: { + label: "Habilitar texto a voz", + description: "Cuando está habilitado, Roo leerá en voz alta sus respuestas usando texto a voz.", + speedLabel: "Velocidad", + }, + }, + koe = { + description: + "Controle qué información se incluye en la ventana de contexto de la IA, afectando el uso de token y la calidad de respuesta", + autoCondenseContextPercent: { + label: "Umbral para activar la condensación inteligente de contexto", + description: "Cuando la ventana de contexto alcanza este umbral, Roo la condensará automáticamente.", + }, + condensingApiConfiguration: { + label: "Configuración de API para condensación de contexto", + description: + "Seleccione qué configuración de API usar para operaciones de condensación de contexto. Deje sin seleccionar para usar la configuración activa actual.", + useCurrentConfig: "Usar configuración actual", + }, + customCondensingPrompt: { + label: "Prompt personalizado para condensación de contexto", + description: + "Personalice el prompt del sistema utilizado para la condensación de contexto. Deje vacío para usar el prompt predeterminado.", + placeholder: `Ingrese su prompt de condensación personalizado aquí... + +Puede usar la misma estructura que el prompt predeterminado: +- Conversación anterior +- Trabajo actual +- Conceptos técnicos clave +- Archivos y código relevantes +- Resolución de problemas +- Tareas pendientes y próximos pasos`, + reset: "Restablecer a predeterminado", + hint: "Vacío = usar prompt predeterminado", + }, + autoCondenseContext: { + name: "Activar automáticamente la condensación inteligente de contexto", + description: + "Cuando está habilitado, Roo condensará automáticamente el contexto cuando se alcance el umbral. Cuando está deshabilitado, aún puedes activar manualmente la condensación de contexto.", + }, + openTabs: { + label: "Límite de contexto de pestañas abiertas", + description: + "Número máximo de pestañas abiertas de VSCode a incluir en el contexto. Valores más altos proporcionan más contexto pero aumentan el uso de token.", + }, + workspaceFiles: { + label: "Límite de contexto de archivos del espacio de trabajo", + description: + "Número máximo de archivos a incluir en los detalles del directorio de trabajo actual. Valores más altos proporcionan más contexto pero aumentan el uso de token.", + }, + rooignore: { + label: "Mostrar archivos .rooignore en listas y búsquedas", + description: + "Cuando está habilitado, los archivos que coinciden con los patrones en .rooignore se mostrarán en listas con un símbolo de candado. Cuando está deshabilitado, estos archivos se ocultarán completamente de las listas de archivos y búsquedas.", + }, + maxReadFile: { + label: "Umbral de auto-truncado de lectura de archivos", + description: + "Roo lee este número de líneas cuando el modelo omite valores de inicio/fin. Si este número es menor que el total del archivo, Roo genera un índice de números de línea de las definiciones de código. Casos especiales: -1 indica a Roo que lea el archivo completo (sin indexación), y 0 indica que no lea líneas y proporcione solo índices de línea para un contexto mínimo. Valores más bajos minimizan el uso inicial de contexto, permitiendo lecturas posteriores de rangos de líneas precisos. Las solicitudes con inicio/fin explícitos no están limitadas por esta configuración.", + lines: "líneas", + always_full_read: "Siempre leer el archivo completo", + }, + maxConcurrentFileReads: { + label: "Límite de lecturas simultáneas", + description: + "Número máximo de archivos que la herramienta 'read_file' puede procesar simultáneamente. Valores más altos pueden acelerar la lectura de múltiples archivos pequeños pero aumentan el uso de memoria.", + }, + maxImageFileSize: { + label: "Tamaño máximo de archivo de imagen", + mb: "MB", + description: + "Tamaño máximo (en MB) para archivos de imagen que pueden ser procesados por la herramienta de lectura de archivos.", + }, + maxTotalImageSize: { + label: "Tamaño total máximo de imágenes", + mb: "MB", + description: + "Límite de tamaño acumulativo máximo (en MB) para todas las imágenes procesadas en una sola operación read_file. Al leer múltiples imágenes, el tamaño de cada imagen se suma al total. Si incluir otra imagen excedería este límite, será omitida.", + }, + diagnostics: { + includeMessages: { + label: "Incluir automáticamente diagnósticos en el contexto", + description: + "Cuando está habilitado, los mensajes de diagnóstico (errores) de los archivos editados se incluirán automáticamente en el contexto. Siempre puedes incluir manualmente todos los diagnósticos del espacio de trabajo usando @problems.", + }, + maxMessages: { + label: "Máximo de mensajes de diagnóstico", + description: + "Número máximo de mensajes de diagnóstico a incluir por archivo. Este límite se aplica tanto a la inclusión automática (cuando la casilla está habilitada) como a las menciones manuales de @problems. Valores más altos proporcionan más contexto pero aumentan el uso de tokens.", + resetTooltip: "Restablecer al valor predeterminado (50)", + unlimitedLabel: "Ilimitado", + }, + delayAfterWrite: { + label: "Retraso después de escrituras para permitir que los diagnósticos detecten problemas potenciales", + description: + "Tiempo de espera después de escrituras de archivos antes de continuar, permitiendo que las herramientas de diagnóstico procesen cambios y detecten problemas.", + }, + }, + condensingThreshold: { + label: "Umbral de condensación de contexto", + selectProfile: "Configurar umbral para perfil", + defaultProfile: "Predeterminado global (todos los perfiles)", + defaultDescription: + "Cuando el contexto alcance este porcentaje, se condensará automáticamente para todos los perfiles a menos que tengan configuraciones personalizadas", + profileDescription: "Umbral personalizado solo para este perfil (anula el predeterminado global)", + inheritDescription: "Este perfil hereda el umbral predeterminado global ({{threshold}}%)", + usesGlobal: "(usa global {{threshold}}%)", + }, + }, + xoe = { + basic: { label: "Configuración del terminal: Básica", description: "Configuración básica del terminal" }, + advanced: { + label: "Configuración del terminal: Avanzada", + description: "Las siguientes opciones pueden requerir reiniciar el terminal para aplicar la configuración.", + }, + outputLineLimit: { + label: "Límite de salida de terminal", + description: + "Número máximo de líneas a incluir en la salida del terminal al ejecutar comandos. Cuando se excede, se eliminarán líneas del medio, ahorrando token. <0>Más información</0>", + }, + outputCharacterLimit: { + label: "Límite de caracteres del terminal", + description: + "Número máximo de caracteres a incluir en la salida del terminal al ejecutar comandos. Este límite tiene prioridad sobre el límite de líneas para evitar problemas de memoria con líneas extremadamente largas. Cuando se excede, la salida se truncará. <0>Aprende más</0>", + }, + shellIntegrationTimeout: { + label: "Tiempo de espera de integración del shell del terminal", + description: + 'Tiempo máximo de espera para la inicialización de la integración del shell antes de ejecutar comandos. Para usuarios con tiempos de inicio de shell largos, este valor puede necesitar ser aumentado si ve errores "Shell Integration Unavailable" en el terminal. <0>Más información</0>', + }, + shellIntegrationDisabled: { + label: "Desactivar la integración del shell del terminal", + description: + "Activa esto si los comandos del terminal no funcionan correctamente o si ves errores de 'Shell Integration Unavailable'. Esto utiliza un método más simple para ejecutar comandos, omitiendo algunas funciones avanzadas del terminal. <0>Más información</0>", + }, + commandDelay: { + label: "Retraso de comando del terminal", + description: + "Retraso en milisegundos para añadir después de la ejecución del comando. La configuración predeterminada de 0 desactiva completamente el retraso. Esto puede ayudar a asegurar que la salida del comando se capture completamente en terminales con problemas de temporización. En la mayoría de terminales se implementa estableciendo `PROMPT_COMMAND='sleep N'` y Powershell añade `start-sleep` al final de cada comando. Originalmente era una solución para el error VSCode#237208 y puede no ser necesario. <0>Más información</0>", + }, + compressProgressBar: { + label: "Comprimir salida de barras de progreso", + description: + "Cuando está habilitado, procesa la salida del terminal con retornos de carro (\\r) para simular cómo un terminal real mostraría el contenido. Esto elimina los estados intermedios de las barras de progreso, conservando solo el estado final, lo que ahorra espacio de contexto para información más relevante. <0>Más información</0>", + }, + powershellCounter: { + label: "Habilitar solución temporal del contador de PowerShell", + description: + "Cuando está habilitado, agrega un contador a los comandos de PowerShell para garantizar la ejecución correcta de los comandos. Esto ayuda con las terminales PowerShell que pueden tener problemas con la captura de salida de comandos. <0>Más información</0>", + }, + zshClearEolMark: { + label: "Limpiar marca de fin de línea de ZSH", + description: + "Cuando está habilitado, limpia la marca de fin de línea de ZSH estableciendo PROMPT_EOL_MARK=''. Esto evita problemas con la interpretación de la salida de comandos cuando termina con caracteres especiales como '%'. <0>Más información</0>", + }, + zshOhMy: { + label: "Habilitar integración Oh My Zsh", + description: + "Cuando está habilitado, establece ITERM_SHELL_INTEGRATION_INSTALLED=Yes para habilitar las características de integración del shell Oh My Zsh. Aplicar esta configuración puede requerir reiniciar el IDE. <0>Más información</0>", + }, + zshP10k: { + label: "Habilitar integración Powerlevel10k", + description: + "Cuando está habilitado, establece POWERLEVEL9K_TERM_SHELL_INTEGRATION=true para habilitar las características de integración del shell Powerlevel10k. <0>Más información</0>", + }, + zdotdir: { + label: "Habilitar gestión de ZDOTDIR", + description: + "Cuando está habilitado, crea un directorio temporal para ZDOTDIR para manejar correctamente la integración del shell zsh. Esto asegura que la integración del shell de VSCode funcione correctamente con zsh mientras preserva tu configuración de zsh. <0>Más información</0>", + }, + inheritEnv: { + label: "Heredar variables de entorno", + description: + "Cuando está habilitado, el terminal hereda las variables de entorno del proceso padre de VSCode, como la configuración de integración del shell definida en el perfil del usuario. Esto alterna directamente la configuración global de VSCode `terminal.integrated.inheritEnv`. <0>Más información</0>", + }, + }, + woe = { title: "Configuración avanzada" }, + _oe = { + diff: { + label: "Habilitar edición a través de diffs", + description: + "Cuando está habilitado, Roo podrá editar archivos más rápidamente y rechazará automáticamente escrituras completas de archivos truncados. Funciona mejor con el último modelo Claude 3.7 Sonnet.", + strategy: { + label: "Estrategia de diff", + options: { + standard: "Estándar (Bloque único)", + multiBlock: "Experimental: Diff multi-bloque", + unified: "Experimental: Diff unificado", + }, + descriptions: { + standard: "La estrategia de diff estándar aplica cambios a un solo bloque de código a la vez.", + unified: + "La estrategia de diff unificado toma múltiples enfoques para aplicar diffs y elige el mejor enfoque.", + multiBlock: + "La estrategia de diff multi-bloque permite actualizar múltiples bloques de código en un archivo en una sola solicitud.", + }, + }, + matchPrecision: { + label: "Precisión de coincidencia", + description: + "Este control deslizante controla cuán precisamente deben coincidir las secciones de código al aplicar diffs. Valores más bajos permiten coincidencias más flexibles pero aumentan el riesgo de reemplazos incorrectos. Use valores por debajo del 100% con extrema precaución.", + }, + }, + todoList: { + label: "Habilitar herramienta de lista de tareas", + description: + "Cuando está habilitado, Roo puede crear y gestionar listas de tareas para hacer seguimiento del progreso. Esto ayuda a organizar tareas complejas en pasos manejables.", + }, + }, + Coe = { + DIFF_STRATEGY_UNIFIED: { + name: "Usar estrategia de diff unificada experimental", + description: + "Habilitar la estrategia de diff unificada experimental. Esta estrategia podría reducir el número de reintentos causados por errores del modelo, pero puede causar comportamientos inesperados o ediciones incorrectas. Habilítela solo si comprende los riesgos y está dispuesto a revisar cuidadosamente todos los cambios.", + }, + SEARCH_AND_REPLACE: { + name: "Usar herramienta experimental de búsqueda y reemplazo", + description: + "Habilitar la herramienta experimental de búsqueda y reemplazo, permitiendo a Roo reemplazar múltiples instancias de un término de búsqueda en una sola solicitud.", + }, + INSERT_BLOCK: { + name: "Usar herramienta experimental de inserción de contenido", + description: + "Habilitar la herramienta experimental de inserción de contenido, permitiendo a Roo insertar contenido en números de línea específicos sin necesidad de crear un diff.", + }, + POWER_STEERING: { + name: 'Usar modo experimental de "dirección asistida"', + description: + "Cuando está habilitado, Roo recordará al modelo los detalles de su definición de modo actual con más frecuencia. Esto llevará a una mayor adherencia a las definiciones de roles e instrucciones personalizadas, pero usará más tokens por mensaje.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Usar herramienta experimental de diff de bloques múltiples", + description: + "Cuando está habilitado, Roo usará la herramienta de diff de bloques múltiples. Esto intentará actualizar múltiples bloques de código en el archivo en una sola solicitud.", + }, + CONCURRENT_FILE_READS: { + name: "Habilitar lectura concurrente de archivos", + description: + "Cuando está habilitado, Roo puede leer múltiples archivos en una sola solicitud. Cuando está deshabilitado, Roo debe leer archivos uno a la vez. Deshabilitarlo puede ayudar cuando se trabaja con modelos menos capaces o cuando deseas más control sobre el acceso a archivos.", + }, + MARKETPLACE: { + name: "Habilitar Marketplace", + description: "Cuando está habilitado, puedes instalar MCP y modos personalizados del Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Habilitar ediciones de archivos concurrentes", + description: + "Cuando está habilitado, Roo puede editar múltiples archivos en una sola solicitud. Cuando está deshabilitado, Roo debe editar archivos de uno en uno. Deshabilitar esto puede ayudar cuando trabajas con modelos menos capaces o cuando quieres más control sobre las modificaciones de archivos.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Edición en segundo plano", + description: + "Previene la interrupción del foco del editor cuando está habilitado. Las ediciones de archivos ocurren en segundo plano sin abrir vistas de diferencias o robar el foco. Puedes continuar trabajando sin interrupciones mientras Roo realiza cambios. Los archivos pueden abrirse sin foco para capturar diagnósticos o mantenerse completamente cerrados.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Usar el nuevo analizador de mensajes", + description: + "Activa el analizador de mensajes en streaming experimental que mejora el rendimiento en respuestas largas procesando los mensajes de forma más eficiente.", + }, + }, + Soe = { + label: "Desactivar caché de prompts", + description: "Cuando está marcado, Roo no utilizará el caché de prompts para este modelo.", + }, + Aoe = { + useCustom: "Usar temperatura personalizada", + description: "Controla la aleatoriedad en las respuestas del modelo.", + rangeDescription: + "Valores más altos hacen que la salida sea más aleatoria, valores más bajos la hacen más determinista.", + }, + Poe = { + supportsImages: "Soporta imágenes", + noImages: "No soporta imágenes", + supportsComputerUse: "Soporta uso del ordenador", + noComputerUse: "No soporta uso del ordenador", + supportsPromptCache: "Soporta caché de prompts", + noPromptCache: "No soporta caché de prompts", + maxOutput: "Salida máxima", + inputPrice: "Precio de entrada", + outputPrice: "Precio de salida", + cacheReadsPrice: "Precio de lecturas de caché", + cacheWritesPrice: "Precio de escrituras de caché", + enableStreaming: "Habilitar streaming", + enableR1Format: "Habilitar parámetros del modelo R1", + enableR1FormatTips: "Debe habilitarse al utilizar modelos R1 como QWQ, para evitar el error 400", + useAzure: "Usar Azure", + azureApiVersion: "Establecer versión de API de Azure", + gemini: { + freeRequests: + "* Gratis hasta {{count}} solicitudes por minuto. Después de eso, la facturación depende del tamaño del prompt.", + pricingDetails: "Para más información, consulte los detalles de precios.", + billingEstimate: "* La facturación es una estimación - el costo exacto depende del tamaño del prompt.", + }, + }, + Roe = { + automaticFetch: + 'La extensión obtiene automáticamente la lista más reciente de modelos disponibles en <serviceLink>{{serviceName}}</serviceLink>. Si no está seguro de qué modelo elegir, Roo Code funciona mejor con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. También puede buscar "free" para opciones sin costo actualmente disponibles.', + label: "Modelo", + searchPlaceholder: "Buscar", + noMatchFound: "No se encontraron coincidencias", + useCustomModel: "Usar personalizado: {{modelId}}", + }, + Toe = { + feedback: + "Si tiene alguna pregunta o comentario, no dude en abrir un issue en <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> o unirse a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Permitir informes anónimos de errores y uso", + description: + "Ayude a mejorar Roo Code enviando datos de uso anónimos e informes de errores. Nunca se envía código, prompts o información personal. Consulte nuestra política de privacidad para más detalles.", + }, + settings: { import: "Importar", export: "Exportar", reset: "Restablecer" }, + }, + Ioe = { maxTokens: "Tokens máximos", maxThinkingTokens: "Tokens máximos de pensamiento" }, + Moe = { + apiKey: "Debe proporcionar una clave API válida.", + awsRegion: "Debe elegir una región para usar con Amazon Bedrock.", + googleCloud: "Debe proporcionar un ID de proyecto y región de Google Cloud válidos.", + modelId: "Debe proporcionar un ID de modelo válido.", + modelSelector: "Debe proporcionar un selector de modelo válido.", + openAi: "Debe proporcionar una URL base, clave API y ID de modelo válidos.", + arn: { + invalidFormat: "Formato de ARN no válido. Por favor, verifique los requisitos de formato.", + regionMismatch: + "Advertencia: La región en su ARN ({{arnRegion}}) no coincide con su región seleccionada ({{region}}). Esto puede causar problemas de acceso. El proveedor usará la región del ARN.", + }, + modelAvailability: + "El ID de modelo ({{modelId}}) que proporcionó no está disponible. Por favor, elija un modelo diferente.", + providerNotAllowed: "El proveedor '{{provider}}' no está permitido por su organización", + modelNotAllowed: "El modelo '{{model}}' no está permitido para el proveedor '{{provider}}' por su organización", + profileInvalid: "Este perfil contiene un proveedor o modelo que no está permitido por su organización", + }, + joe = { + apiKey: "Ingrese clave API...", + profileName: "Ingrese nombre del perfil", + accessKey: "Ingrese clave de acceso...", + secretKey: "Ingrese clave secreta...", + sessionToken: "Ingrese token de sesión...", + credentialsJson: "Ingrese JSON de credenciales...", + keyFilePath: "Ingrese ruta del archivo de clave...", + projectId: "Ingrese ID del proyecto...", + customArn: "Ingrese ARN (ej. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Ingrese URL base...", + modelId: { + lmStudio: "ej. meta-llama-3.1-8b-instruct", + lmStudioDraft: "ej. lmstudio-community/llama-3.2-1b-instruct", + ollama: "ej. llama3.1", + }, + numbers: { + maxTokens: "ej. 4096", + contextWindow: "ej. 128000", + inputPrice: "ej. 0.0001", + outputPrice: "ej. 0.0002", + cacheWritePrice: "ej. 0.00005", + }, + }, + Eoe = { + ollamaUrl: "Predeterminado: http://localhost:11434", + lmStudioUrl: "Predeterminado: http://localhost:1234", + geminiUrl: "Predeterminado: https://generativelanguage.googleapis.com", + }, + zoe = { customArn: "ARN personalizado", useCustomArn: "Usar ARN personalizado..." }, + $oe = "Incluir tokens máximos de salida", + Loe = + "Enviar parámetro de tokens máximos de salida en solicitudes API. Algunos proveedores pueden no soportar esto.", + Doe = "Limitar el número máximo de tokens en la respuesta", + Noe = "Tokens máximos de salida", + Ooe = "Tokens máximos a generar en la respuesta", + Xgt = { + common: coe, + header: doe, + unsavedChangesDialog: uoe, + sections: poe, + prompts: moe, + codeIndex: hoe, + autoApprove: foe, + providers: goe, + browser: voe, + checkpoints: boe, + notifications: yoe, + contextManagement: koe, + terminal: xoe, + advancedSettings: woe, + advanced: _oe, + experimental: Coe, + promptCaching: Soe, + temperature: Aoe, + modelInfo: Poe, + modelPicker: Roe, + footer: Toe, + thinkingBudget: Ioe, + validation: Moe, + placeholders: joe, + defaults: Eoe, + labels: zoe, + includeMaxOutputTokens: $oe, + includeMaxOutputTokensDescription: Loe, + limitMaxTokensDescription: Doe, + maxOutputTokensLabel: Noe, + maxTokensGenerateDescription: Ooe, + }, + Jgt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: _oe, + advancedSettings: woe, + autoApprove: foe, + browser: voe, + checkpoints: boe, + codeIndex: hoe, + common: coe, + contextManagement: koe, + default: Xgt, + defaults: Eoe, + experimental: Coe, + footer: Toe, + header: doe, + includeMaxOutputTokens: $oe, + includeMaxOutputTokensDescription: Loe, + labels: zoe, + limitMaxTokensDescription: Doe, + maxOutputTokensLabel: Noe, + maxTokensGenerateDescription: Ooe, + modelInfo: Poe, + modelPicker: Roe, + notifications: yoe, + placeholders: joe, + promptCaching: Soe, + prompts: moe, + providers: goe, + sections: poe, + temperature: Aoe, + terminal: xoe, + thinkingBudget: Ioe, + unsavedChangesDialog: uoe, + validation: Moe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Foe = "¡Bienvenido a Roo Code!", + Boe = + "Con una variedad de Modos integrados y extensibles, Roo Code te permite planificar, arquitectar, codificar, depurar y aumentar tu productividad como nunca antes.", + Uoe = "Para comenzar, esta extensión necesita un proveedor de API.", + qoe = "¡Vamos!", + Woe = { + requesty: { description: "Tu router LLM optimizado", incentive: "$1 de crédito gratis" }, + openrouter: { description: "Una interfaz unificada para LLMs" }, + }, + Koe = "Para hacer su magia, Roo necesita una clave API.", + Voe = "Recomendamos usar un router LLM:", + Hoe = "O puedes traer tu propia clave API:", + Goe = { + title: "Ayuda a mejorar Roo Code", + anonymousTelemetry: + "Envía datos de uso y errores anónimos para ayudarnos a corregir errores y mejorar la extensión. Nunca se envía código, texto o información personal.", + changeSettings: + "Siempre puedes cambiar esto en la parte inferior de la <settingsLink>configuración</settingsLink>", + settings: "configuración", + allow: "Permitir", + deny: "Denegar", + }, + Qoe = "Importar configuración", + evt = { + greeting: Foe, + introduction: Boe, + notice: Uoe, + start: qoe, + routers: Woe, + chooseProvider: Koe, + startRouter: Voe, + startCustom: Hoe, + telemetry: Goe, + importSettings: Qoe, + }, + tvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: Koe, + default: evt, + greeting: Foe, + importSettings: Qoe, + introduction: Boe, + notice: Uoe, + routers: Woe, + start: qoe, + startCustom: Hoe, + startRouter: Voe, + telemetry: Goe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Zoe = "Compte", + Yoe = "Photo de profil", + Xoe = "Déconnexion", + Joe = "Tester l'authentification API", + ere = "Se connecter à Roo Code Cloud", + tre = "Se connecter", + nre = "Se connecter à Roo Code Cloud", + ore = "Synchronise tes prompts et télémétrie pour activer :", + rre = "Historique des tâches en ligne", + ire = "Fonctionnalités de partage et collaboration", + sre = "Métriques d'utilisation basées sur les tâches, tokens et coûts", + are = "Suivez et contrôlez les tâches depuis n'importe où avec Roomote Control", + lre = "Roomote Control", + cre = "Permet de suivre et d'interagir avec les tâches dans cet espace de travail avec Roo Code Cloud", + dre = "Visiter Roo Code Cloud", + nvt = { + title: Zoe, + profilePicture: Yoe, + logOut: Xoe, + testApiAuthentication: Joe, + signIn: ere, + connect: tre, + cloudBenefitsTitle: nre, + cloudBenefitsSubtitle: ore, + cloudBenefitHistory: rre, + cloudBenefitSharing: ire, + cloudBenefitMetrics: sre, + cloudBenefitWalkaway: are, + remoteControl: lre, + remoteControlDescription: cre, + visitCloudWebsite: dre, + }, + ovt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: rre, + cloudBenefitMetrics: sre, + cloudBenefitSharing: ire, + cloudBenefitWalkaway: are, + cloudBenefitsSubtitle: ore, + cloudBenefitsTitle: nre, + connect: tre, + default: nvt, + logOut: Xoe, + profilePicture: Yoe, + remoteControl: lre, + remoteControlDescription: cre, + signIn: ere, + testApiAuthentication: Joe, + title: Zoe, + visitCloudWebsite: dre, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ure = "Bienvenue sur Roo Code", + pre = { + title: "Tâche", + seeMore: "Voir plus", + seeLess: "Voir moins", + tokens: "Tokens :", + cache: "Cache :", + apiCost: "Coût API :", + contextWindow: "Durée du contexte :", + closeAndStart: "Fermer la tâche et en commencer une nouvelle", + export: "Exporter l'historique des tâches", + delete: "Supprimer la tâche (Shift + Clic pour ignorer la confirmation)", + condenseContext: "Condenser intelligemment le contexte", + share: "Partager la tâche", + shareWithOrganization: "Partager avec l'organisation", + shareWithOrganizationDescription: "Seuls les membres de ton organisation peuvent accéder", + sharePublicly: "Partager publiquement", + sharePubliclyDescription: "Toute personne avec le lien peut accéder", + connectToCloud: "Se connecter au Cloud", + connectToCloudDescription: "Connecte-toi à Roo Code Cloud pour partager des tâches", + sharingDisabledByOrganization: "Partage désactivé par l'organisation", + shareSuccessOrganization: "Lien d'organisation copié dans le presse-papiers", + shareSuccessPublic: "Lien public copié dans le presse-papiers", + }, + mre = "Désépingler", + hre = "Épingler", + fre = { + availableSpace: "Espace disponible : {{amount}} tokens", + tokensUsed: "Tokens utilisés : {{used}} sur {{total}}", + reservedForResponse: "Réservé pour la réponse du modèle : {{amount}} tokens", + }, + gre = { title: "Réessayer", tooltip: "Tenter à nouveau l'opération" }, + vre = { title: "Commencer une nouvelle tâche", tooltip: "Démarrer une nouvelle tâche" }, + bre = { title: "Continuer quand même", tooltip: "Continuer pendant l'exécution de la commande" }, + yre = { title: "Enregistrer", tooltip: "Enregistrer les modifications du message" }, + kre = { title: "Rejeter", tooltip: "Rejeter cette action" }, + xre = "Terminer la sous-tâche et revenir", + wre = { title: "Approuver", tooltip: "Approuver cette action" }, + _re = { title: "Exécuter la commande", tooltip: "Exécuter cette commande" }, + Cre = { title: "Continuer pendant l'exécution", tooltip: "Continuer malgré les avertissements" }, + Sre = { title: "Arrêter la commande", tooltip: "Arrêter la commande actuelle" }, + Are = { title: "Reprendre la tâche", tooltip: "Continuer la tâche actuelle" }, + Pre = { title: "Terminer", tooltip: "Terminer la tâche actuelle" }, + Rre = { title: "Annuler", tooltip: "Annuler l'opération actuelle" }, + Tre = "Défiler jusqu'au bas du chat", + Ire = + "Générer, refactoriser et déboguer du code avec l'assistance de l'IA. Consultez notre <DocsLink>documentation</DocsLink> pour en savoir plus.", + Mre = + "Grâce aux dernières avancées en matière de capacités de codage agent, je peux gérer des tâches complexes de développement logiciel étape par étape. Avec des outils qui me permettent de créer et d'éditer des fichiers, d'explorer des projets complexes, d'utiliser le navigateur et d'exécuter des commandes de terminal (après votre autorisation), je peux vous aider de manières qui vont au-delà de la complétion de code ou du support technique. Je peux même utiliser MCP pour créer de nouveaux outils et étendre mes propres capacités.", + jre = { + boomerangTasks: { + title: "Orchestration de Tâches", + description: "Divisez les tâches en parties plus petites et gérables.", + }, + stickyModels: { + title: "Modes persistants", + description: "Chaque mode se souvient de votre dernier modèle utilisé", + }, + tools: { + title: "Outils", + description: + "Permettez à l'IA de résoudre des problèmes en naviguant sur le Web, en exécutant des commandes, et plus encore.", + }, + customizableModes: { + title: "Modes personnalisables", + description: "Des personas spécialisés avec leurs propres comportements et modèles assignés", + }, + }, + Ere = "Sélectionner le mode d'interaction", + zre = "Sélectionner la configuration de l'API", + $re = "Améliorer la requête avec un contexte supplémentaire", + Lre = "Ajouter des images au message", + Dre = "Envoyer le message", + Nre = "Arrêter la synthèse vocale", + Ore = "Écrivez un message...", + Fre = "Écrivez votre tâche ici...", + Bre = "@ pour ajouter du contexte, / pour les commandes", + Ure = "maintenir Maj pour glisser des fichiers", + qre = "maintenir Maj pour glisser des fichiers/images", + Wre = + "Le bouton 'Améliorer la requête' aide à améliorer votre demande en fournissant un contexte supplémentaire, des clarifications ou des reformulations. Essayez de taper une demande ici et cliquez à nouveau sur le bouton pour voir comment cela fonctionne.", + Kre = { + title: "Modes", + marketplace: "Marketplace de Modes", + settings: "Paramètres des Modes", + description: "Personas spécialisés qui adaptent le comportement de Roo.", + searchPlaceholder: "Rechercher des modes...", + noResults: "Aucun résultat trouvé", + }, + Vre = "Erreur lors de la lecture du fichier :", + Hre = "Aucune image valide n'a été traitée", + Gre = "Séparateur", + Qre = "Éditer...", + Zre = "pour le prochain mode", + Yre = "pour le mode précédent", + Xre = "Erreur", + Jre = { title: "Modification échouée" }, + eie = "Roo rencontre des difficultés...", + tie = { + title: "Requête API", + failed: "Échec de la requête API", + streaming: "Requête API...", + cancelled: "Requête API annulée", + streamingFailed: "Échec du streaming API", + }, + nie = { + regular: "Point de contrôle", + initializingWarning: + "Initialisation du point de contrôle en cours... Si cela prend trop de temps, tu peux désactiver les points de contrôle dans les <settingsLink>paramètres</settingsLink> et redémarrer ta tâche.", + menu: { + viewDiff: "Voir les différences", + restore: "Restaurer le point de contrôle", + restoreFiles: "Restaurer les fichiers", + restoreFilesDescription: "Restaure les fichiers de votre projet à un instantané pris à ce moment.", + restoreFilesAndTask: "Restaurer fichiers et tâche", + confirm: "Confirmer", + cancel: "Annuler", + cannotUndo: "Cette action ne peut pas être annulée.", + restoreFilesAndTaskDescription: + "Restaure les fichiers de votre projet à un instantané pris à ce moment et supprime tous les messages après ce point.", + }, + current: "Actuel", + }, + oie = { + wantsToRead: "Roo veut lire ce fichier :", + wantsToReadOutsideWorkspace: "Roo veut lire ce fichier en dehors de l'espace de travail :", + didRead: "Roo a lu ce fichier :", + wantsToEdit: "Roo veut éditer ce fichier :", + wantsToEditOutsideWorkspace: "Roo veut éditer ce fichier en dehors de l'espace de travail :", + wantsToEditProtected: "Roo veut éditer un fichier de configuration protégé :", + wantsToCreate: "Roo veut créer un nouveau fichier :", + wantsToSearchReplace: "Roo veut effectuer une recherche et remplacement sur ce fichier :", + didSearchReplace: "Roo a effectué une recherche et remplacement sur ce fichier :", + wantsToInsert: "Roo veut insérer du contenu dans ce fichier :", + wantsToInsertWithLineNumber: "Roo veut insérer du contenu dans ce fichier à la ligne {{lineNumber}} :", + wantsToInsertAtEnd: "Roo veut ajouter du contenu à la fin de ce fichier :", + wantsToReadAndXMore: "Roo veut lire ce fichier et {{count}} de plus :", + wantsToReadMultiple: "Roo souhaite lire plusieurs fichiers :", + wantsToApplyBatchChanges: "Roo veut appliquer des modifications à plusieurs fichiers :", + }, + rie = { wantsToFetch: "Roo veut récupérer des instructions détaillées pour aider à la tâche actuelle" }, + iie = { + wantsToViewTopLevel: "Roo veut voir les fichiers de premier niveau dans ce répertoire :", + didViewTopLevel: "Roo a vu les fichiers de premier niveau dans ce répertoire :", + wantsToViewRecursive: "Roo veut voir récursivement tous les fichiers dans ce répertoire :", + didViewRecursive: "Roo a vu récursivement tous les fichiers dans ce répertoire :", + wantsToViewDefinitions: "Roo veut voir les noms de définitions de code source utilisés dans ce répertoire :", + didViewDefinitions: "Roo a vu les noms de définitions de code source utilisés dans ce répertoire :", + wantsToSearch: "Roo veut rechercher dans ce répertoire <code>{{regex}}</code> :", + didSearch: "Roo a recherché dans ce répertoire <code>{{regex}}</code> :", + wantsToSearchOutsideWorkspace: + "Roo veut rechercher dans ce répertoire (hors espace de travail) <code>{{regex}}</code> :", + didSearchOutsideWorkspace: + "Roo a recherché dans ce répertoire (hors espace de travail) <code>{{regex}}</code> :", + wantsToViewTopLevelOutsideWorkspace: + "Roo veut voir les fichiers de premier niveau dans ce répertoire (hors espace de travail) :", + didViewTopLevelOutsideWorkspace: + "Roo a vu les fichiers de premier niveau dans ce répertoire (hors espace de travail) :", + wantsToViewRecursiveOutsideWorkspace: + "Roo veut voir récursivement tous les fichiers dans ce répertoire (hors espace de travail) :", + didViewRecursiveOutsideWorkspace: + "Roo a vu récursivement tous les fichiers dans ce répertoire (hors espace de travail) :", + wantsToViewDefinitionsOutsideWorkspace: + "Roo veut voir les noms de définitions de code source utilisés dans ce répertoire (hors espace de travail) :", + didViewDefinitionsOutsideWorkspace: + "Roo a vu les noms de définitions de code source utilisés dans ce répertoire (hors espace de travail) :", + }, + sie = "Sortie de commande", + aie = { + running: "En cours d'exécution", + pid: "PID : {{pid}}", + exited: "Terminé ({{exitCode}})", + manageCommands: "Gérer les autorisations de commande", + commandManagementDescription: + "Gérer les autorisations de commande : Cliquez sur ✓ pour autoriser l'exécution automatique, ✗ pour refuser l'exécution. Les modèles peuvent être activés/désactivés ou supprimés des listes. <settingsLink>Voir tous les paramètres</settingsLink>", + addToAllowed: "Ajouter à la liste autorisée", + removeFromAllowed: "Retirer de la liste autorisée", + addToDenied: "Ajouter à la liste refusée", + removeFromDenied: "Retirer de la liste refusée", + abortCommand: "Abandonner l'exécution de la commande", + expandOutput: "Développer la sortie", + collapseOutput: "Réduire la sortie", + expandManagement: "Développer la section de gestion des commandes", + collapseManagement: "Réduire la section de gestion des commandes", + }, + lie = "Réponse", + cie = { + wantsToUseTool: "Roo veut utiliser un outil sur le serveur MCP {{serverName}} :", + wantsToAccessResource: "Roo veut accéder à une ressource sur le serveur MCP {{serverName}} :", + }, + die = { + wantsToSwitch: "Roo veut passer au mode <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo veut passer au mode <code>{{mode}}</code> car : {{reason}}", + didSwitch: "Roo est passé au mode <code>{{mode}}</code>", + didSwitchWithReason: "Roo est passé au mode <code>{{mode}}</code> car : {{reason}}", + }, + uie = { + wantsToCreate: "Roo veut créer une nouvelle sous-tâche en mode <code>{{mode}}</code> :", + wantsToFinish: "Roo veut terminer cette sous-tâche", + newTaskContent: "Instructions de la sous-tâche", + completionContent: "Sous-tâche terminée", + resultContent: "Résultats de la sous-tâche", + defaultResult: "Veuillez continuer avec la tâche suivante.", + completionInstructions: + "Sous-tâche terminée ! Vous pouvez examiner les résultats et suggérer des corrections ou les prochaines étapes. Si tout semble bon, confirmez pour retourner le résultat à la tâche parente.", + }, + pie = { hasQuestion: "Roo a une question :" }, + mie = "Tâche terminée", + hie = { issues: "Il semble que vous rencontriez des problèmes avec Windows PowerShell, veuillez consulter ce" }, + fie = { + title: "Auto-approbation :", + none: "Aucune", + description: + "L'auto-approbation permet à Roo Code d'effectuer des actions sans demander d'autorisation. Activez-la uniquement pour les actions auxquelles vous faites entièrement confiance. Configuration plus détaillée disponible dans les <settingsLink>Paramètres</settingsLink>.", + selectOptionsFirst: "Sélectionnez au moins une option ci-dessous pour activer l'auto-approbation", + toggleAriaLabel: "Activer/désactiver l'approbation automatique", + disabledAriaLabel: "Approbation automatique désactivée - sélectionnez d'abord les options", + }, + gie = { thinking: "Réflexion", seconds: "{{count}}s" }, + vie = { + title: "Contexte condensé", + condensing: "Condensation du contexte...", + errorHeader: "Échec de la condensation du contexte", + tokens: "tokens", + }, + bie = { + copyToInput: "Copier vers l'entrée (ou Shift + clic)", + autoSelectCountdown: "Sélection automatique dans {{count}}s", + countdownDisplay: "{{count}}s", + }, + yie = { + title: "🎉 Roo Code {{version}} est sortie", + description: + "Roo Code {{version}} apporte de puissantes nouvelles fonctionnalités et des améliorations significatives pour améliorer ton flux de travail de développement.", + whatsNew: "Quoi de neuf", + feature1: + "<bold>File d'Attente de Messages</bold> : Mettez en file d'attente plusieurs messages pendant que Roo travaille, vous permettant de continuer à planifier votre flux de travail sans interruption.", + feature2: + "<bold>Commandes Slash Personnalisées</bold> : Créez des commandes slash personnalisées pour un accès rapide aux prompts et flux de travail fréquemment utilisés, avec une gestion complète de l'interface utilisateur.", + feature3: + "<bold>Outils Gemini Améliorés</bold> : De nouvelles capacités de contexte d'URL et de fondation de recherche Google fournissent aux modèles Gemini des informations web en temps réel et des capacités de recherche améliorées.", + hideButton: "Masquer l'annonce", + detailsDiscussLinks: + "Obtenez plus de détails et participez aux discussions sur <discordLink>Discord</discordLink> et <redditLink>Reddit</redditLink> 🚀", + }, + kie = { + rooWantsToUse: "Roo veut utiliser le navigateur :", + consoleLogs: "Journaux de console", + noNewLogs: "(Pas de nouveaux journaux)", + screenshot: "Capture d'écran du navigateur", + cursor: "curseur", + navigation: { step: "Étape {{current}} sur {{total}}", previous: "Précédent", next: "Suivant" }, + sessionStarted: "Session de navigateur démarrée", + actions: { + title: "Action de navigation : ", + launch: "Lancer le navigateur sur {{url}}", + click: "Cliquer ({{coordinate}})", + type: 'Saisir "{{text}}"', + scrollDown: "Défiler vers le bas", + scrollUp: "Défiler vers le haut", + close: "Fermer le navigateur", + }, + }, + xie = { + tooltips: { + expand: "Développer le bloc de code", + collapse: "Réduire le bloc de code", + enable_wrap: "Activer le retour à la ligne", + disable_wrap: "Désactiver le retour à la ligne", + copy_code: "Copier le code", + }, + }, + wie = + "AVERTISSEMENT : Remplacement d'instructions système personnalisées actif. Cela peut gravement perturber la fonctionnalité et provoquer un comportement imprévisible.", + _ie = "Le profil actuel n'est pas compatible avec les paramètres de votre organisation", + Cie = { + title: "Avertissement d'exécution de commande", + description: + "Votre commande est exécutée sans l'intégration shell du terminal VSCode. Pour supprimer cet avertissement, vous pouvez désactiver l'intégration shell dans la section <strong>Terminal</strong> des <settingsLink>paramètres de Roo Code</settingsLink> ou résoudre les problèmes d'intégration du terminal VSCode en utilisant le lien ci-dessous.", + troubleshooting: "Cliquez ici pour la documentation d'intégration shell.", + }, + Sie = { + autoApprovedRequestLimitReached: { + title: "Limite de requêtes auto-approuvées atteinte", + description: + "Roo a atteint la limite auto-approuvée de {{count}} requête(s) API. Souhaitez-vous réinitialiser le compteur et poursuivre la tâche ?", + button: "Réinitialiser et continuer", + }, + autoApprovedCostLimitReached: { + title: "Limite de coût en auto-approbation atteinte", + description: + "Roo a atteint la limite de coût auto-approuvée de ${{count}}. Souhaitez-vous réinitialiser le coût et poursuivre la tâche ?", + button: "Réinitialiser et Continuer", + }, + }, + Aie = { + wantsToSearch: "Roo veut rechercher dans la base de code <code>{{query}}</code> :", + wantsToSearchWithPath: + "Roo veut rechercher dans la base de code <code>{{query}}</code> dans <code>{{path}}</code> :", + didSearch_one: "1 résultat trouvé", + didSearch_other: "{{count}} résultats trouvés", + resultTooltip: "Score de similarité : {{score}} (cliquer pour ouvrir le fichier)", + }, + Pie = { + ready: "Index prêt", + indexing: "Indexation {{percentage}}%", + indexed: "Indexé", + error: "Erreur d'index", + status: "Statut de l'index", + }, + Rie = { ariaLabel: "Version {{version}} - Cliquez pour voir les notes de version" }, + Tie = { + title: "Roo Code Cloud arrive bientôt !", + description: + "Exécutez des agents distants dans le cloud, accédez à vos tâches de n'importe où, collaborez avec d'autres et bien plus encore.", + joinWaitlist: "Rejoignez la liste d'attente pour obtenir un accès anticipé.", + }, + Iie = { placeholder: "Modifiez votre message..." }, + Mie = { triggerDescription: "Déclencher la commande {{name}}" }, + jie = { + tooltip: "Gérer les commandes slash", + title: "Commandes Slash", + description: + "Créez des commandes slash personnalisées pour accéder rapidement aux prompts et flux de travail fréquemment utilisés. <DocsLink>Documentation</DocsLink>", + globalCommands: "Commandes Globales", + workspaceCommands: "Commandes de l'Espace de Travail", + globalCommand: "Commande globale", + editCommand: "Modifier la commande", + deleteCommand: "Supprimer la commande", + newGlobalCommandPlaceholder: "Nouvelle commande globale...", + newWorkspaceCommandPlaceholder: "Nouvelle commande de l'espace de travail...", + deleteDialog: { + title: "Supprimer la commande", + description: + 'Êtes-vous sûr de vouloir supprimer la commande "{{name}}" ? Cette action ne peut pas être annulée.', + cancel: "Annuler", + confirm: "Supprimer", + }, + }, + Eie = { title: "Messages en file d'attente :", clickToEdit: "Cliquez pour modifier le message" }, + rvt = { + greeting: ure, + task: pre, + unpin: mre, + pin: hre, + tokenProgress: fre, + retry: gre, + startNewTask: vre, + proceedAnyways: bre, + save: yre, + reject: kre, + completeSubtaskAndReturn: xre, + approve: wre, + runCommand: _re, + proceedWhileRunning: Cre, + killCommand: Sre, + resumeTask: Are, + terminate: Pre, + cancel: Rre, + scrollToBottom: Tre, + about: Ire, + onboarding: Mre, + rooTips: jre, + selectMode: Ere, + selectApiConfig: zre, + enhancePrompt: $re, + addImages: Lre, + sendMessage: Dre, + stopTts: Nre, + typeMessage: Ore, + typeTask: Fre, + addContext: Bre, + dragFiles: Ure, + dragFilesImages: qre, + enhancePromptDescription: Wre, + modeSelector: Kre, + errorReadingFile: Vre, + noValidImages: Hre, + separator: Gre, + edit: Qre, + forNextMode: Zre, + forPreviousMode: Yre, + error: Xre, + diffError: Jre, + troubleMessage: eie, + apiRequest: tie, + checkpoint: nie, + fileOperations: oie, + instructions: rie, + directoryOperations: iie, + commandOutput: sie, + commandExecution: aie, + response: lie, + arguments: "Arguments", + mcp: cie, + modes: die, + subtasks: uie, + questions: pie, + taskCompleted: mie, + powershell: hie, + autoApprove: fie, + reasoning: gie, + contextCondense: vie, + followUpSuggest: bie, + announcement: yie, + browser: kie, + codeblock: xie, + systemPromptWarning: wie, + profileViolationWarning: _ie, + shellIntegration: Cie, + ask: Sie, + codebaseSearch: Aie, + "read-batch": { approve: { title: "Tout approuver" }, deny: { title: "Tout refuser" } }, + indexingStatus: Pie, + versionIndicator: Rie, + rooCloudCTA: Tie, + editMessage: Iie, + command: Mie, + slashCommands: jie, + queuedMessages: Eie, + }, + ivt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: Ire, + addContext: Bre, + addImages: Lre, + announcement: yie, + apiRequest: tie, + approve: wre, + ask: Sie, + autoApprove: fie, + browser: kie, + cancel: Rre, + checkpoint: nie, + codebaseSearch: Aie, + codeblock: xie, + command: Mie, + commandExecution: aie, + commandOutput: sie, + completeSubtaskAndReturn: xre, + contextCondense: vie, + default: rvt, + diffError: Jre, + directoryOperations: iie, + dragFiles: Ure, + dragFilesImages: qre, + edit: Qre, + editMessage: Iie, + enhancePrompt: $re, + enhancePromptDescription: Wre, + error: Xre, + errorReadingFile: Vre, + fileOperations: oie, + followUpSuggest: bie, + forNextMode: Zre, + forPreviousMode: Yre, + greeting: ure, + indexingStatus: Pie, + instructions: rie, + killCommand: Sre, + mcp: cie, + modeSelector: Kre, + modes: die, + noValidImages: Hre, + onboarding: Mre, + pin: hre, + powershell: hie, + proceedAnyways: bre, + proceedWhileRunning: Cre, + profileViolationWarning: _ie, + questions: pie, + queuedMessages: Eie, + reasoning: gie, + reject: kre, + response: lie, + resumeTask: Are, + retry: gre, + rooCloudCTA: Tie, + rooTips: jre, + runCommand: _re, + save: yre, + scrollToBottom: Tre, + selectApiConfig: zre, + selectMode: Ere, + sendMessage: Dre, + separator: Gre, + shellIntegration: Cie, + slashCommands: jie, + startNewTask: vre, + stopTts: Nre, + subtasks: uie, + systemPromptWarning: wie, + task: pre, + taskCompleted: mie, + terminate: Pre, + tokenProgress: fre, + troubleMessage: eie, + typeMessage: Ore, + typeTask: Fre, + unpin: mre, + versionIndicator: Rie, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + zie = { + title: "Une erreur s'est produite", + reportText: "Aidez-nous à nous améliorer en signalant cette erreur sur", + githubText: "notre page GitHub Issues", + copyInstructions: "Copiez et collez le message d'erreur suivant pour l'inclure dans votre rapport :", + errorStack: "Pile d'erreurs :", + componentStack: "Pile de composants :", + }, + $ie = { yes: "Oui", no: "Non", cancel: "Annuler", remove: "Supprimer", keep: "Conserver" }, + Lie = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + Die = { search_placeholder: "Rechercher...", no_results: "Aucun résultat trouvé" }, + Nie = { + loading: "Génération du diagramme mermaid...", + render_error: "Impossible de rendre le diagramme", + buttons: { + zoom: "Zoom", + zoomIn: "Agrandir", + zoomOut: "Réduire", + copy: "Copier", + save: "Enregistrer l'image", + viewCode: "Voir le code", + viewDiagram: "Voir le diagramme", + close: "Fermer", + }, + modal: { codeTitle: "Code Mermaid" }, + tabs: { diagram: "Diagramme", code: "Code" }, + feedback: { + imageCopied: "Image copiée dans le presse-papiers", + copyError: "Erreur lors de la copie de l'image", + }, + }, + Oie = { + errors: { + invalidDataUri: "Format d'URI de données invalide", + copyingImage: "Erreur lors de la copie de l'image : {{error}}", + openingImage: "Erreur lors de l'ouverture de l'image : {{error}}", + pathNotExists: "Le chemin n'existe pas : {{path}}", + couldNotOpen: "Impossible d'ouvrir le fichier : {{error}}", + couldNotOpenGeneric: "Impossible d'ouvrir le fichier !", + }, + success: { imageDataUriCopied: "URI de données d'image copiée dans le presse-papiers" }, + }, + Fie = { + deleteMessage: "Supprimer le message", + deleteWarning: + "Supprimer ce message supprimera tous les messages suivants dans la conversation. Voulez-vous continuer ?", + editMessage: "Modifier le message", + editWarning: + "Modifier ce message supprimera tous les messages suivants dans la conversation. Voulez-vous continuer ?", + proceed: "Continuer", + }, + svt = { errorBoundary: zie, answers: $ie, number_format: Lie, ui: Die, mermaid: Nie, file: Oie, confirmation: Fie }, + avt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: $ie, + confirmation: Fie, + default: svt, + errorBoundary: zie, + file: Oie, + mermaid: Nie, + number_format: Lie, + ui: Die, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Bie = "Tâches", + Uie = "Voir tout", + qie = "Tokens: ↑{{in}} ↓{{out}}", + Wie = "Cache: +{{writes}} → {{reads}}", + Kie = "Coût API: ${{cost}}", + Vie = "Historique", + Hie = "Quitter le mode sélection", + Gie = "Entrer en mode sélection", + Qie = "Terminé", + Zie = "Rechercher dans l'historique...", + Yie = "Plus récentes", + Xie = "Plus anciennes", + Jie = "Plus coûteuses", + ese = "Plus de tokens", + tse = "Plus pertinentes", + nse = "Supprimer la tâche (Maj + Clic pour ignorer la confirmation)", + ose = "Tokens:", + rse = "Cache:", + ise = "Coût API:", + sse = "Copier le prompt", + ase = "Exporter la tâche", + lse = "Supprimer la tâche", + cse = "Êtes-vous sûr de vouloir supprimer cette tâche ? Cette action ne peut pas être annulée.", + dse = "Annuler", + use = "Quitter la sélection", + pse = "Mode sélection", + mse = "Tout désélectionner", + hse = "Tout sélectionner", + fse = "{{selected}}/{{total}} éléments sélectionnés", + gse = "Effacer la sélection", + vse = "Supprimer les éléments sélectionnés", + bse = "Supprimer les tâches", + yse = "Êtes-vous sûr de vouloir supprimer {{count}} tâches ?", + kse = "Les tâches supprimées ne peuvent pas être récupérées. Veuillez confirmer que vous souhaitez continuer.", + xse = "Supprimer {{count}} éléments", + wse = { prefix: "Espace de travail :", current: "Actuel", all: "Tous" }, + _se = { + prefix: "Trier :", + newest: "Plus récentes", + oldest: "Plus anciennes", + mostExpensive: "Plus coûteuses", + mostTokens: "Plus de tokens", + mostRelevant: "Plus pertinentes", + }, + Cse = "Voir tout l'historique", + lvt = { + recentTasks: Bie, + viewAll: Uie, + tokens: qie, + cache: Wie, + apiCost: Kie, + history: Vie, + exitSelectionMode: Hie, + enterSelectionMode: Gie, + done: Qie, + searchPlaceholder: Zie, + newest: Yie, + oldest: Xie, + mostExpensive: Jie, + mostTokens: ese, + mostRelevant: tse, + deleteTaskTitle: nse, + tokensLabel: ose, + cacheLabel: rse, + apiCostLabel: ise, + copyPrompt: sse, + exportTask: ase, + deleteTask: lse, + deleteTaskMessage: cse, + cancel: dse, + delete: "Supprimer", + exitSelection: use, + selectionMode: pse, + deselectAll: mse, + selectAll: hse, + selectedItems: fse, + clearSelection: gse, + deleteSelected: vse, + deleteTasks: bse, + confirmDeleteTasks: yse, + deleteTasksWarning: kse, + deleteItems: xse, + workspace: wse, + sort: _se, + viewAllHistory: Cse, + }, + cvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + apiCost: Kie, + apiCostLabel: ise, + cache: Wie, + cacheLabel: rse, + cancel: dse, + clearSelection: gse, + confirmDeleteTasks: yse, + copyPrompt: sse, + default: lvt, + deleteItems: xse, + deleteSelected: vse, + deleteTask: lse, + deleteTaskMessage: cse, + deleteTaskTitle: nse, + deleteTasks: bse, + deleteTasksWarning: kse, + deselectAll: mse, + done: Qie, + enterSelectionMode: Gie, + exitSelection: use, + exitSelectionMode: Hie, + exportTask: ase, + history: Vie, + mostExpensive: Jie, + mostRelevant: tse, + mostTokens: ese, + newest: Yie, + oldest: Xie, + recentTasks: Bie, + searchPlaceholder: Zie, + selectAll: hse, + selectedItems: fse, + selectionMode: pse, + sort: _se, + tokens: qie, + tokensLabel: ose, + viewAll: Uie, + viewAllHistory: Cse, + workspace: wse, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Sse = "Relais Humain - Veuillez aider à copier/coller les informations", + Ase = + "Veuillez copier le texte suivant dans l'IA web, puis collez la réponse de l'IA dans la zone de saisie ci-dessous.", + Pse = "Copié dans le presse-papiers", + Rse = { label: "Veuillez saisir la réponse de l'IA :", placeholder: "Collez la réponse de l'IA ici..." }, + Tse = { cancel: "Annuler", submit: "Envoyer" }, + dvt = { dialogTitle: Sse, dialogDescription: Ase, copiedToClipboard: Pse, aiResponse: Rse, actions: Tse }, + uvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: Tse, + aiResponse: Rse, + copiedToClipboard: Pse, + default: dvt, + dialogDescription: Ase, + dialogTitle: Sse, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Ise = "Roo Marketplace", + Mse = { installed: "Installé", settings: "Paramètres", browse: "Parcourir" }, + jse = "Terminé", + Ese = "Actualiser", + zse = { + search: { + placeholder: "Rechercher des éléments du marketplace...", + placeholderMcp: "Rechercher des MCPs...", + placeholderMode: "Rechercher des modes...", + }, + type: { label: "Filtrer par type :", all: "Tous les types", mode: "Mode", mcpServer: "Serveur MCP" }, + sort: { label: "Trier par :", name: "Nom", author: "Auteur", lastUpdated: "Dernière mise à jour" }, + tags: { + label: "Filtrer par étiquettes :", + clear: "Cliquez pour supprimer '{{count}}' des filtres", + placeholder: "Tapez pour rechercher et sélectionner des étiquettes...", + noResults: "Aucune étiquette correspondante trouvée", + selected: "Affichage des éléments avec l'une des étiquettes sélectionnées", + clickToFilter: "Cliquez sur les étiquettes pour filtrer les éléments", + }, + none: "Aucun", + }, + $se = { organizationMcps: "MCPs de {{organization}}", marketplace: "Marché" }, + Lse = { + empty: { + noItems: "Aucun élément du marketplace trouvé", + withFilters: "Essayez d'ajuster vos filtres", + noSources: "Essayez d'ajouter une source dans l'onglet Sources", + adjustFilters: "Essayez d'ajuster vos filtres ou termes de recherche", + clearAllFilters: "Effacer tous les filtres", + }, + count: "{{count}} éléments trouvés", + components: "{{count}} composants", + matched: "{{count}} correspondants", + refresh: { + button: "Actualiser", + refreshing: "Actualisation...", + mayTakeMoment: "Cela peut prendre un moment.", + }, + card: { + by: "par {{author}}", + from: "de {{source}}", + install: "Installer", + installProject: "Installer", + installGlobal: "Installer (Global)", + remove: "Supprimer", + removeProject: "Supprimer", + removeGlobal: "Supprimer (Global)", + viewSource: "Voir", + viewOnSource: "Voir sur {{source}}", + noWorkspaceTooltip: "Ouvrez un espace de travail pour installer des éléments du marketplace", + installed: "Installé", + removeProjectTooltip: "Supprimer du projet actuel", + removeGlobalTooltip: "Supprimer de la configuration globale", + actionsMenuLabel: "Plus d'actions", + official: "Officiel", + verified: "Vérifié", + }, + removeFailed: "Échec de la suppression de l'élément : {{error}}", + unknownError: "Une erreur inconnue est survenue", + }, + Dse = { + title: "Installer {{name}}", + titleMode: "Installer le mode {{name}}", + titleMcp: "Installer le MCP {{name}}", + scope: "Portée d'installation", + project: "Projet (espace de travail actuel)", + global: "Global (tous les espaces de travail)", + method: "Méthode d'installation", + configuration: "Configuration", + configurationDescription: "Configurez les paramètres requis pour ce serveur MCP", + button: "Installer", + successTitle: "{{name}} installé", + successDescription: "Installation terminée avec succès", + installed: "Installé avec succès !", + whatNextMcp: + "Vous pouvez maintenant configurer et utiliser ce serveur MCP. Cliquez sur l'icône MCP dans la barre latérale pour changer d'onglet.", + whatNextMode: + "Vous pouvez maintenant utiliser ce mode. Cliquez sur l'icône Modes dans la barre latérale pour changer d'onglet.", + done: "Terminé", + goToMcp: "Aller à l'onglet MCP", + goToModes: "Aller aux paramètres des Modes", + moreInfoMcp: "Voir la documentation MCP de {{name}}", + validationRequired: "Veuillez fournir une valeur pour {{paramName}}", + prerequisites: "Prérequis", + }, + Nse = { + title: "Configurer les sources du marketplace", + description: + "Ajoutez des dépôts Git qui contiennent des éléments du marketplace. Ces dépôts seront récupérés lors de la navigation dans le marketplace.", + add: { + title: "Ajouter une nouvelle source", + urlPlaceholder: "URL du dépôt Git (ex., https://github.com/username/repo)", + urlFormats: + "Formats pris en charge : HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), ou protocole Git (git://github.com/username/repo.git)", + namePlaceholder: "Nom d'affichage (max. 20 caractères)", + button: "Ajouter une source", + }, + current: { + title: "Sources actuelles", + empty: "Aucune source configurée. Ajoutez une source pour commencer.", + refresh: "Actualiser cette source", + remove: "Supprimer la source", + }, + errors: { + emptyUrl: "L'URL ne peut pas être vide", + invalidUrl: "Format d'URL invalide", + nonVisibleChars: "L'URL contient des caractères non visibles autres que des espaces", + invalidGitUrl: "L'URL doit être une URL de dépôt Git valide (ex., https://github.com/username/repo)", + duplicateUrl: "Cette URL est déjà dans la liste (correspondance insensible à la casse et aux espaces)", + nameTooLong: "Le nom doit faire 20 caractères ou moins", + nonVisibleCharsName: "Le nom contient des caractères non visibles autres que des espaces", + duplicateName: "Ce nom est déjà utilisé (correspondance insensible à la casse et aux espaces)", + emojiName: "Les caractères emoji peuvent causer des problèmes d'affichage", + maxSources: "Maximum de {{max}} sources autorisées", + }, + }, + Ose = { + mode: { + title: "Supprimer le mode", + message: "Êtes-vous sûr de vouloir supprimer le mode « {{modeName}} » ?", + rulesWarning: "Cela supprimera également tous les fichiers de règles associés à ce mode.", + }, + mcp: { + title: "Supprimer le serveur MCP", + message: "Êtes-vous sûr de vouloir supprimer le serveur MCP « {{mcpName}} » ?", + }, + cancel: "Annuler", + confirm: "Supprimer", + }, + Fse = { + issueText: + "Vous avez trouvé un problème avec un élément du marketplace ou avez des suggestions pour de nouveaux éléments ? <0>Ouvrez une issue GitHub</0> pour nous le faire savoir !", + }, + pvt = { + title: Ise, + tabs: Mse, + done: jse, + refresh: Ese, + filters: zse, + sections: $se, + "type-group": { modes: "Modes", mcps: "Serveurs MCP" }, + items: Lse, + install: Dse, + sources: Nse, + removeConfirm: Ose, + footer: Fse, + }, + mvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: pvt, + done: jse, + filters: zse, + footer: Fse, + install: Dse, + items: Lse, + refresh: Ese, + removeConfirm: Ose, + sections: $se, + sources: Nse, + tabs: Mse, + title: Ise, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Bse = "Serveurs MCP", + Use = "Terminé", + qse = "Marché MCP", + Wse = + 'Le <0>Model Context Protocol</0> permet la communication avec des serveurs MCP exécutés localement qui fournissent des outils et des ressources supplémentaires pour étendre les capacités de Roo. Vous pouvez utiliser <1>des serveurs créés par la communauté</1> ou demander à Roo de créer de nouveaux outils spécifiques à votre flux de travail (par exemple, "ajouter un outil qui récupère la dernière documentation npm").', + Kse = "Instructions", + Vse = { + title: "Activer les serveurs MCP", + description: + "Active cette option pour que Roo puisse utiliser des outils provenant de serveurs MCP connectés. Cela donne plus de capacités à Roo. Si tu ne comptes pas utiliser ces outils supplémentaires, désactive-la pour réduire les coûts de tokens API.", + }, + Hse = { + title: "Activer la création de serveurs MCP", + description: + "Active cette option pour que Roo t'aide à créer de <1>nouveaux</1> serveurs MCP personnalisés. <0>En savoir plus sur la création de serveurs</0>", + hint: "Astuce : Pour réduire les coûts de tokens API, désactive cette option quand tu ne demandes pas à Roo de créer un nouveau serveur MCP.", + }, + Gse = "Modifier le MCP global", + Qse = "Modifier le MCP du projet", + Zse = "En savoir plus sur la modification des fichiers de configuration MCP", + Yse = { + alwaysAllow: "Toujours autoriser", + parameters: "Paramètres", + noDescription: "Aucune description", + togglePromptInclusion: "Basculer l'inclusion dans le prompt", + }, + Xse = { tools: "Outils", resources: "Ressources", errors: "Erreurs" }, + Jse = { noTools: "Aucun outil trouvé", noResources: "Aucune ressource trouvée", noErrors: "Aucune erreur trouvée" }, + eae = { + label: "Délai d'attente réseau", + description: "Temps d'attente maximal pour les réponses du serveur", + options: { + "15seconds": "15 secondes", + "30seconds": "30 secondes", + "1minute": "1 minute", + "5minutes": "5 minutes", + "10minutes": "10 minutes", + "15minutes": "15 minutes", + "30minutes": "30 minutes", + "60minutes": "60 minutes", + }, + }, + tae = { + title: "Supprimer le serveur MCP", + description: 'Es-tu sûr de vouloir supprimer le serveur MCP "{{serverName}}" ? Cette action est irréversible.', + cancel: "Annuler", + delete: "Supprimer", + }, + nae = { retrying: "Nouvelle tentative...", retryConnection: "Réessayer la connexion" }, + oae = "Rafraîchir les serveurs MCP", + rae = { running: "En cours", completed: "Terminé", error: "Erreur" }, + hvt = { + title: Bse, + done: Use, + marketplace: qse, + description: Wse, + instructions: Kse, + enableToggle: Vse, + enableServerCreation: Hse, + editGlobalMCP: Gse, + editProjectMCP: Qse, + learnMoreEditingSettings: Zse, + tool: Yse, + tabs: Xse, + emptyState: Jse, + networkTimeout: eae, + deleteDialog: tae, + serverStatus: nae, + refreshMCP: oae, + execution: rae, + }, + fvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: hvt, + deleteDialog: tae, + description: Wse, + done: Use, + editGlobalMCP: Gse, + editProjectMCP: Qse, + emptyState: Jse, + enableServerCreation: Hse, + enableToggle: Vse, + execution: rae, + instructions: Kse, + learnMoreEditingSettings: Zse, + marketplace: qse, + networkTimeout: eae, + refreshMCP: oae, + serverStatus: nae, + tabs: Xse, + title: Bse, + tool: Yse, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + iae = "Modes", + sae = "Terminé", + aae = { + title: "Modes", + createNewMode: "Créer un nouveau mode", + importMode: "Importer le mode", + noMatchFound: "Aucun mode trouvé", + editModesConfig: "Modifier la configuration des modes", + editGlobalModes: "Modifier les modes globaux", + editProjectModes: "Modifier les modes du projet (.roomodes)", + createModeHelpText: + "Les modes sont des personas spécialisés qui adaptent le comportement de Roo. <0>En savoir plus sur l'utilisation des modes</0> ou <1>la personnalisation des modes.</1>", + selectMode: "Rechercher les modes", + }, + lae = { title: "Configuration API", select: "Sélectionnez la configuration API à utiliser pour ce mode" }, + cae = { + title: "Outils disponibles", + builtInModesText: "Les outils pour les modes intégrés ne peuvent pas être modifiés", + editTools: "Modifier les outils", + doneEditing: "Terminer la modification", + allowedFiles: "Fichiers autorisés :", + toolNames: { + read: "Lire les fichiers", + edit: "Modifier les fichiers", + browser: "Utiliser le navigateur", + command: "Exécuter des commandes", + mcp: "Utiliser MCP", + }, + noTools: "Aucun", + }, + dae = { + title: "Définition du rôle", + resetToDefault: "Réinitialiser aux valeurs par défaut", + description: + "Définissez l'expertise et la personnalité de Roo pour ce mode. Cette description façonne la manière dont Roo se présente et aborde les tâches.", + }, + uae = { + title: "Description courte (pour humains)", + resetToDefault: "Réinitialiser à la description par défaut", + description: "Une brève description affichée dans le menu déroulant du sélecteur de mode.", + }, + pae = { + title: "Quand utiliser (optionnel)", + description: + "Décrivez quand ce mode doit être utilisé. Cela aide l'Orchestrateur à choisir le mode approprié pour une tâche.", + resetToDefault: "Réinitialiser la description 'Quand utiliser' aux valeurs par défaut", + }, + mae = { + title: "Instructions personnalisées spécifiques au mode (optionnel)", + resetToDefault: "Réinitialiser aux valeurs par défaut", + description: "Ajoutez des directives comportementales spécifiques au mode {{modeName}}.", + loadFromFile: + "Les instructions personnalisées spécifiques au mode {{mode}} peuvent également être chargées depuis le dossier <span>.roo/rules-{{slug}}/</span> dans votre espace de travail (.roorules-{{slug}} et .clinerules-{{slug}} sont obsolètes et cesseront de fonctionner bientôt).", + }, + hae = { + title: "Exporter le mode", + description: + "Exporte ce mode vers un fichier YAML avec toutes les règles incluses pour un partage facile avec d'autres.", + export: "Exporter le mode", + exporting: "Exportation...", + }, + fae = { + selectLevel: "Choisissez où importer ce mode :", + import: "Importer", + importing: "Importation...", + global: { + label: "Niveau global", + description: + "Disponible dans tous les projets. Si le mode exporté contenait des fichiers de règles, ils seront recréés dans le dossier global .roo/rules-{slug}/.", + }, + project: { + label: "Niveau projet", + description: + "Disponible uniquement dans cet espace de travail. Si le mode exporté contenait des fichiers de règles, ils seront recréés dans le dossier .roo/rules-{slug}/.", + }, + }, + gae = { title: "Avancé" }, + vae = { + title: "Instructions personnalisées pour tous les modes", + description: + "Ces instructions s'appliquent à tous les modes. Elles fournissent un ensemble de comportements de base qui peuvent être améliorés par des instructions spécifiques au mode ci-dessous. <0>En savoir plus</0>", + loadFromFile: + "Les instructions peuvent également être chargées depuis le dossier <span>.roo/rules/</span> dans votre espace de travail (.roorules et .clinerules sont obsolètes et cesseront de fonctionner bientôt).", + }, + bae = { + preview: "Aperçu du prompt système", + copy: "Copier le prompt système dans le presse-papiers", + title: "Prompt système (mode {{modeName}})", + }, + yae = { + title: "Prompts de support", + resetPrompt: "Réinitialiser le prompt {{promptType}} aux valeurs par défaut", + prompt: "Prompt", + enhance: { + apiConfiguration: "Configuration API", + apiConfigDescription: + "Vous pouvez sélectionner une configuration API à toujours utiliser pour améliorer les prompts, ou simplement utiliser celle qui est actuellement sélectionnée", + useCurrentConfig: "Utiliser la configuration API actuellement sélectionnée", + testPromptPlaceholder: "Entrez un prompt pour tester l'amélioration", + previewButton: "Aperçu de l'amélioration du prompt", + testEnhancement: "Tester l'amélioration", + includeTaskHistory: "Inclure l'historique des tâches comme contexte", + includeTaskHistoryDescription: + "Lorsque activé, les 10 derniers messages de la conversation actuelle seront inclus comme contexte lors de l'amélioration des prompts, aidant à générer des suggestions plus pertinentes et conscientes du contexte.", + }, + condense: { + apiConfiguration: "Configuration de l'API pour la condensation du contexte", + apiConfigDescription: + "Sélectionnez la configuration d'API à utiliser pour les opérations de condensation de contexte. Laissez non sélectionné pour utiliser la configuration active actuelle.", + useCurrentConfig: "Utiliser la configuration d'API actuellement sélectionnée", + }, + types: { + ENHANCE: { + label: "Améliorer le prompt", + description: + "Utilisez l'amélioration de prompt pour obtenir des suggestions ou des améliorations personnalisées pour vos entrées. Cela garantit que Roo comprend votre intention et fournit les meilleures réponses possibles. Disponible via l'icône ✨ dans le chat.", + }, + CONDENSE: { + label: "Condensation du contexte", + description: + "Configurez la manière dont le contexte de la conversation est condensé pour gérer les limites de jetons. Ce prompt est utilisé pour les opérations de condensation de contexte manuelles et automatiques.", + }, + EXPLAIN: { + label: "Expliquer le code", + description: + "Obtenez des explications détaillées sur des extraits de code, des fonctions ou des fichiers entiers. Utile pour comprendre un code complexe ou apprendre de nouveaux modèles. Disponible dans les actions de code (icône d'ampoule dans l'éditeur) et dans le menu contextuel de l'éditeur (clic droit sur le code sélectionné).", + }, + FIX: { + label: "Corriger les problèmes", + description: + "Obtenez de l'aide pour identifier et résoudre les bugs, les erreurs ou les problèmes de qualité du code. Fournit des conseils étape par étape pour résoudre les problèmes. Disponible dans les actions de code (icône d'ampoule dans l'éditeur) et dans le menu contextuel de l'éditeur (clic droit sur le code sélectionné).", + }, + IMPROVE: { + label: "Améliorer le code", + description: + "Recevez des suggestions pour l'optimisation du code, de meilleures pratiques et des améliorations architecturales tout en maintenant la fonctionnalité. Disponible dans les actions de code (icône d'ampoule dans l'éditeur) et dans le menu contextuel de l'éditeur (clic droit sur le code sélectionné).", + }, + ADD_TO_CONTEXT: { + label: "Ajouter au contexte", + description: + "Ajoutez du contexte à votre tâche ou conversation actuelle. Utile pour fournir des informations supplémentaires ou des clarifications. Disponible dans les actions de code (icône d'ampoule dans l'éditeur) et dans le menu contextuel de l'éditeur (clic droit sur le code sélectionné).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Ajouter le contenu du terminal au contexte", + description: + "Ajoutez la sortie du terminal à votre tâche ou conversation actuelle. Utile pour fournir des sorties de commandes ou des journaux. Disponible dans le menu contextuel du terminal (clic droit sur le contenu sélectionné du terminal).", + }, + TERMINAL_FIX: { + label: "Corriger la commande du terminal", + description: + "Obtenez de l'aide pour corriger les commandes du terminal qui ont échoué ou qui nécessitent des améliorations. Disponible dans le menu contextuel du terminal (clic droit sur le contenu sélectionné du terminal).", + }, + TERMINAL_EXPLAIN: { + label: "Expliquer la commande du terminal", + description: + "Obtenez des explications détaillées sur les commandes du terminal et leurs sorties. Disponible dans le menu contextuel du terminal (clic droit sur le contenu sélectionné du terminal).", + }, + NEW_TASK: { + label: "Démarrer une nouvelle tâche", + description: "Démarre une nouvelle tâche avec ton entrée. Disponible dans la palette de commandes.", + }, + }, + }, + kae = { + title: "Avancé : Remplacer le prompt système", + description: + "<2>⚠️ Attention :</2> Cette fonctionnalité avancée contourne les mesures de protection. <1>LISEZ CECI AVANT UTILISATION !</1>Remplacez le prompt système par défaut en créant un fichier à l'emplacement <span>.roo/system-prompt-{{slug}}</span>.", + }, + xae = { + title: "Créer un nouveau mode", + close: "Fermer", + name: { label: "Nom", placeholder: "Entrez le nom du mode" }, + slug: { + label: "Slug", + description: + "Le slug est utilisé dans les URL et les noms de fichiers. Il doit être en minuscules et ne contenir que des lettres, des chiffres et des tirets.", + }, + saveLocation: { + label: "Emplacement d'enregistrement", + description: + "Choisissez où enregistrer ce mode. Les modes spécifiques au projet ont priorité sur les modes globaux.", + global: { label: "Global", description: "Disponible dans tous les espaces de travail" }, + project: { + label: "Spécifique au projet (.roomodes)", + description: "Disponible uniquement dans cet espace de travail, a priorité sur le global", + }, + }, + roleDefinition: { + label: "Définition du rôle", + description: "Définissez l'expertise et la personnalité de Roo pour ce mode.", + }, + whenToUse: { + label: "Quand utiliser (optionnel)", + description: + "Fournissez une description claire de quand ce mode est le plus efficace et pour quels types de tâches il excelle.", + }, + tools: { label: "Outils disponibles", description: "Sélectionnez quels outils ce mode peut utiliser." }, + description: { + label: "Description courte (pour humains)", + description: "Une brève description affichée dans le menu déroulant du sélecteur de mode.", + }, + customInstructions: { + label: "Instructions personnalisées (optionnel)", + description: "Ajoutez des directives comportementales spécifiques à ce mode.", + }, + buttons: { cancel: "Annuler", create: "Créer le mode" }, + deleteMode: "Supprimer le mode", + }, + wae = "tous les fichiers", + _ae = { + title: "Supprimer le mode", + message: 'Êtes-vous sûr de vouloir supprimer le mode "{{modeName}}" ?', + rulesFolder: "Ce mode a un dossier de règles à {{folderPath}} qui sera également supprimé.", + descriptionNoRules: "Êtes-vous sûr de vouloir supprimer ce mode personnalisé ?", + confirm: "Supprimer", + cancel: "Annuler", + }, + gvt = { + title: iae, + done: sae, + modes: aae, + apiConfiguration: lae, + tools: cae, + roleDefinition: dae, + description: uae, + whenToUse: pae, + customInstructions: mae, + exportMode: hae, + importMode: fae, + advanced: gae, + globalCustomInstructions: vae, + systemPrompt: bae, + supportPrompts: yae, + advancedSystemPrompt: kae, + createModeDialog: xae, + allFiles: wae, + deleteMode: _ae, + }, + vvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: gae, + advancedSystemPrompt: kae, + allFiles: wae, + apiConfiguration: lae, + createModeDialog: xae, + customInstructions: mae, + default: gvt, + deleteMode: _ae, + description: uae, + done: sae, + exportMode: hae, + globalCustomInstructions: vae, + importMode: fae, + modes: aae, + roleDefinition: dae, + supportPrompts: yae, + systemPrompt: bae, + title: iae, + tools: cae, + whenToUse: pae, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Cae = { + save: "Enregistrer", + done: "Terminé", + cancel: "Annuler", + reset: "Réinitialiser", + select: "Sélectionner", + add: "Ajouter un en-tête", + remove: "Supprimer", + }, + Sae = { + title: "Paramètres", + saveButtonTooltip: "Enregistrer les modifications", + nothingChangedTooltip: "Rien n'a changé", + doneButtonTooltip: "Ignorer les modifications non enregistrées et fermer le panneau des paramètres", + }, + Aae = { + title: "Modifications non enregistrées", + description: "Voulez-vous ignorer les modifications et continuer ?", + cancelButton: "Annuler", + discardButton: "Ignorer les modifications", + }, + Pae = { + providers: "Fournisseurs", + autoApprove: "Auto-approbation", + browser: "Accès ordinateur", + checkpoints: "Points de contrôle", + notifications: "Notifications", + contextManagement: "Contexte", + terminal: "Terminal", + prompts: "Invites", + experimental: "Expérimental", + language: "Langue", + about: "À propos de Roo Code", + }, + Rae = { + description: + "Configurez les invites de support utilisées pour les actions rapides comme l'amélioration des invites, l'explication du code et la résolution des problèmes. Ces invites aident Roo à fournir une meilleure assistance pour les tâches de développement courantes.", + }, + Tae = { + title: "Indexation de la base de code", + description: + "Configurez les paramètres d'indexation de la base de code pour activer la recherche sémantique dans votre projet. <0>En savoir plus</0>", + statusTitle: "Statut", + enableLabel: "Activer l'indexation de la base de code", + enableDescription: + "Activer l'indexation du code pour une recherche et une compréhension du contexte améliorées", + settingsTitle: "Paramètres d'indexation", + disabledMessage: + "L'indexation de la base de code est actuellement désactivée. Activez-la dans les paramètres globaux pour configurer les options d'indexation.", + providerLabel: "Fournisseur d'embeddings", + embedderProviderLabel: "Fournisseur d'embedder", + selectProviderPlaceholder: "Sélectionner un fournisseur", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Clé API :", + geminiApiKeyPlaceholder: "Entrez votre clé API Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Clé d'API:", + mistralApiKeyPlaceholder: "Entrez votre clé d'API Mistral", + openaiCompatibleProvider: "Compatible OpenAI", + openAiKeyLabel: "Clé API OpenAI", + openAiKeyPlaceholder: "Entrez votre clé API OpenAI", + openAiCompatibleBaseUrlLabel: "URL de base", + openAiCompatibleApiKeyLabel: "Clé API", + openAiCompatibleApiKeyPlaceholder: "Entrez votre clé API", + openAiCompatibleModelDimensionLabel: "Dimension d'Embedding :", + modelDimensionLabel: "Dimension du modèle", + openAiCompatibleModelDimensionPlaceholder: "ex., 1536", + openAiCompatibleModelDimensionDescription: + "La dimension d'embedding (taille de sortie) pour votre modèle. Consultez la documentation de votre fournisseur pour cette valeur. Valeurs courantes : 384, 768, 1536, 3072.", + modelLabel: "Modèle", + modelPlaceholder: "Entrez le nom du modèle", + selectModel: "Sélectionner un modèle", + selectModelPlaceholder: "Sélectionner un modèle", + ollamaUrlLabel: "URL Ollama :", + ollamaBaseUrlLabel: "URL de base Ollama", + qdrantUrlLabel: "URL Qdrant", + qdrantKeyLabel: "Clé Qdrant :", + qdrantApiKeyLabel: "Clé API Qdrant", + qdrantApiKeyPlaceholder: "Entrez votre clé API Qdrant (optionnel)", + setupConfigLabel: "Configuration", + startIndexingButton: "Démarrer", + clearIndexDataButton: "Effacer l'index", + unsavedSettingsMessage: "Merci d'enregistrer tes paramètres avant de démarrer le processus d'indexation.", + clearDataDialog: { + title: "Êtes-vous sûr ?", + description: + "Cette action ne peut pas être annulée. Cela supprimera définitivement les données d'index de votre base de code.", + cancelButton: "Annuler", + confirmButton: "Effacer les données", + }, + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Échec de la sauvegarde des paramètres", + modelDimensions: "({{dimension}} dimensions)", + saveSuccess: "Paramètres sauvegardés avec succès", + saving: "Sauvegarde...", + saveSettings: "Sauvegarder", + indexingStatuses: { standby: "En attente", indexing: "Indexation", indexed: "Indexé", error: "Erreur" }, + close: "Fermer", + validation: { + invalidQdrantUrl: "URL Qdrant invalide", + invalidOllamaUrl: "URL Ollama invalide", + invalidBaseUrl: "URL de base invalide", + qdrantUrlRequired: "L'URL Qdrant est requise", + openaiApiKeyRequired: "La clé API OpenAI est requise", + modelSelectionRequired: "La sélection du modèle est requise", + apiKeyRequired: "La clé API est requise", + modelIdRequired: "L'ID du modèle est requis", + modelDimensionRequired: "La dimension du modèle est requise", + geminiApiKeyRequired: "La clé API Gemini est requise", + mistralApiKeyRequired: "La clé API Mistral est requise", + ollamaBaseUrlRequired: "L'URL de base Ollama est requise", + baseUrlRequired: "L'URL de base est requise", + modelDimensionMinValue: "La dimension du modèle doit être supérieure à 0", + }, + advancedConfigLabel: "Configuration avancée", + searchMinScoreLabel: "Seuil de score de recherche", + searchMinScoreDescription: + "Score de similarité minimum (0.0-1.0) requis pour les résultats de recherche. Des valeurs plus faibles renvoient plus de résultats mais peuvent être moins pertinents. Des valeurs plus élevées renvoient moins de résultats mais plus pertinents.", + searchMinScoreResetTooltip: "Réinitialiser à la valeur par défaut (0.4)", + searchMaxResultsLabel: "Résultats de recherche maximum", + searchMaxResultsDescription: + "Nombre maximum de résultats de recherche à retourner lors de l'interrogation de l'index de code. Des valeurs plus élevées fournissent plus de contexte mais peuvent inclure des résultats moins pertinents.", + resetToDefault: "Réinitialiser par défaut", + }, + Iae = { + description: + "Permettre à Roo d'effectuer automatiquement des opérations sans requérir d'approbation. Activez ces paramètres uniquement si vous faites entièrement confiance à l'IA et que vous comprenez les risques de sécurité associés.", + enabled: "Auto-approbation activée", + toggleAriaLabel: "Activer/désactiver l'approbation automatique", + disabledAriaLabel: "Approbation automatique désactivée - sélectionnez d'abord les options", + selectOptionsFirst: "Sélectionnez au moins une option ci-dessous pour activer l'approbation automatique", + readOnly: { + label: "Lecture", + description: + "Lorsque cette option est activée, Roo affichera automatiquement le contenu des répertoires et lira les fichiers sans que vous ayez à cliquer sur le bouton Approuver.", + outsideWorkspace: { + label: "Inclure les fichiers en dehors de l'espace de travail", + description: + "Permettre à Roo de lire des fichiers en dehors de l'espace de travail actuel sans nécessiter d'approbation.", + }, + }, + write: { + label: "Écriture", + description: "Créer et modifier automatiquement des fichiers sans nécessiter d'approbation", + delayLabel: "Délai après les écritures pour permettre aux diagnostics de détecter les problèmes potentiels", + outsideWorkspace: { + label: "Inclure les fichiers en dehors de l'espace de travail", + description: + "Permettre à Roo de créer et modifier des fichiers en dehors de l'espace de travail actuel sans nécessiter d'approbation.", + }, + protected: { + label: "Inclure les fichiers protégés", + description: + "Permettre à Roo de créer et modifier des fichiers protégés (comme .rooignore et les fichiers de configuration .roo/) sans nécessiter d'approbation.", + }, + }, + browser: { + label: "Navigateur", + description: + "Effectuer automatiquement des actions du navigateur sans nécessiter d'approbation. Remarque : S'applique uniquement lorsque le modèle prend en charge l'utilisation de l'ordinateur", + }, + retry: { + label: "Réessayer", + description: + "Réessayer automatiquement les requêtes API échouées lorsque le serveur renvoie une réponse d'erreur", + delayLabel: "Délai avant de réessayer la requête", + }, + mcp: { + label: "MCP", + description: `Activer l'approbation automatique des outils MCP individuels dans la vue des serveurs MCP (nécessite à la fois ce paramètre et la case à cocher "Toujours autoriser" de l'outil)`, + }, + modeSwitch: { + label: "Mode", + description: "Basculer automatiquement entre différents modes sans nécessiter d'approbation", + }, + subtasks: { + label: "Sous-tâches", + description: "Permettre la création et l'achèvement des sous-tâches sans nécessiter d'approbation", + }, + followupQuestions: { + label: "Question", + description: + "Sélectionner automatiquement la première réponse suggérée pour les questions de suivi après le délai configuré", + timeoutLabel: "Temps d'attente avant la sélection automatique de la première réponse", + }, + execute: { + label: "Exécuter", + description: "Exécuter automatiquement les commandes de terminal autorisées sans nécessiter d'approbation", + allowedCommands: "Commandes auto-exécutables autorisées", + allowedCommandsDescription: `Préfixes de commandes qui peuvent être auto-exécutés lorsque "Toujours approuver les opérations d'exécution" est activé. Ajoutez * pour autoriser toutes les commandes (à utiliser avec précaution).`, + deniedCommands: "Commandes refusées", + deniedCommandsDescription: + "Préfixes de commandes qui seront automatiquement refusés sans demander d'approbation. En cas de conflit avec les commandes autorisées, la correspondance de préfixe la plus longue prend la priorité. Ajoutez * pour refuser toutes les commandes.", + commandPlaceholder: "Entrez le préfixe de commande (ex. 'git ')", + deniedCommandPlaceholder: "Entrez le préfixe de commande à refuser (ex. 'rm -rf')", + addButton: "Ajouter", + autoDenied: + "Les commandes avec le préfixe `{{prefix}}` ont été interdites par l'utilisateur. Ne contourne pas cette restriction en exécutant une autre commande.", + }, + updateTodoList: { + label: "Todo", + description: "La liste de tâches est mise à jour automatiquement sans approbation", + }, + apiRequestLimit: { + title: "Requêtes maximales", + description: + "Effectuer automatiquement ce nombre de requêtes API avant de demander l'approbation pour continuer la tâche.", + unlimited: "Illimité", + }, + apiCostLimit: { unlimited: "Illimité", title: "Coût maximum" }, + maxLimits: { + description: + "Effectuer automatiquement des requêtes jusqu'à ces limites avant de demander une autorisation pour continuer.", + }, + }, + Mae = JSON.parse( + `{"providerDocumentation":"Documentation {{provider}}","configProfile":"Profil de configuration","description":"Enregistrez différentes configurations d'API pour basculer rapidement entre les fournisseurs et les paramètres.","apiProvider":"Fournisseur d'API","model":"Modèle","nameEmpty":"Le nom ne peut pas être vide","nameExists":"Un profil avec ce nom existe déjà","deleteProfile":"Supprimer le profil","invalidArnFormat":"Format ARN invalide. Veuillez vérifier les exemples ci-dessus.","enterNewName":"Entrez un nouveau nom","addProfile":"Ajouter un profil","renameProfile":"Renommer le profil","newProfile":"Nouveau profil de configuration","enterProfileName":"Entrez le nom du profil","createProfile":"Créer un profil","cannotDeleteOnlyProfile":"Impossible de supprimer le seul profil","searchPlaceholder":"Rechercher des profils","searchProviderPlaceholder":"Rechercher des fournisseurs","noProviderMatchFound":"Aucun fournisseur trouvé","noMatchFound":"Aucun profil correspondant trouvé","vscodeLmDescription":"L'API du modèle de langage VS Code vous permet d'exécuter des modèles fournis par d'autres extensions VS Code (y compris, mais sans s'y limiter, GitHub Copilot). Le moyen le plus simple de commencer est d'installer les extensions Copilot et Copilot Chat depuis le VS Code Marketplace.","awsCustomArnUse":"Entrez un ARN Amazon Bedrock valide pour le modèle que vous souhaitez utiliser. Exemples de format :","awsCustomArnDesc":"Assurez-vous que la région dans l'ARN correspond à la région AWS sélectionnée ci-dessus.","openRouterApiKey":"Clé API OpenRouter","getOpenRouterApiKey":"Obtenir la clé API OpenRouter","apiKeyStorageNotice":"Les clés API sont stockées en toute sécurité dans le stockage sécurisé de VSCode","glamaApiKey":"Clé API Glama","getGlamaApiKey":"Obtenir la clé API Glama","useCustomBaseUrl":"Utiliser une URL de base personnalisée","useReasoning":"Activer le raisonnement","useHostHeader":"Utiliser un en-tête Host personnalisé","useLegacyFormat":"Utiliser le format API OpenAI hérité","customHeaders":"En-têtes personnalisés","headerName":"Nom de l'en-tête","headerValue":"Valeur de l'en-tête","noCustomHeaders":"Aucun en-tête personnalisé défini. Cliquez sur le bouton + pour en ajouter un.","requestyApiKey":"Clé API Requesty","refreshModels":{"label":"Actualiser les modèles","hint":"Veuillez rouvrir les paramètres pour voir les modèles les plus récents.","loading":"Actualisation de la liste des modèles...","success":"Liste des modèles actualisée avec succès !","error":"Échec de l'actualisation de la liste des modèles. Veuillez réessayer."},"getRequestyApiKey":"Obtenir la clé API Requesty","openRouterTransformsText":"Compresser les prompts et chaînes de messages à la taille du contexte (<a>Transformations OpenRouter</a>)","anthropicApiKey":"Clé API Anthropic","getAnthropicApiKey":"Obtenir la clé API Anthropic","anthropicUseAuthToken":"Passer la clé API Anthropic comme en-tête d'autorisation au lieu de X-Api-Key","cerebrasApiKey":"Clé API Cerebras","getCerebrasApiKey":"Obtenir la clé API Cerebras","chutesApiKey":"Clé API Chutes","getChutesApiKey":"Obtenir la clé API Chutes","fireworksApiKey":"Clé API Fireworks","getFireworksApiKey":"Obtenir la clé API Fireworks","deepSeekApiKey":"Clé API DeepSeek","getDeepSeekApiKey":"Obtenir la clé API DeepSeek","doubaoApiKey":"Clé API Doubao","getDoubaoApiKey":"Obtenir la clé API Doubao","moonshotApiKey":"Clé API Moonshot","getMoonshotApiKey":"Obtenir la clé API Moonshot","moonshotBaseUrl":"Point d'entrée Moonshot","zaiApiKey":"Clé API Z AI","getZaiApiKey":"Obtenir la clé API Z AI","zaiEntrypoint":"Point d'entrée Z AI","zaiEntrypointDescription":"Veuillez sélectionner le point d'entrée API approprié en fonction de votre emplacement. Si vous êtes en Chine, choisissez open.bigmodel.cn. Sinon, choisissez api.z.ai.","geminiApiKey":"Clé API Gemini","getGroqApiKey":"Obtenir la clé API Groq","groqApiKey":"Clé API Groq","getSambaNovaApiKey":"Obtenir la clé API SambaNova","sambaNovaApiKey":"Clé API SambaNova","getHuggingFaceApiKey":"Obtenir la clé API Hugging Face","huggingFaceApiKey":"Clé API Hugging Face","huggingFaceModelId":"ID du modèle","huggingFaceLoading":"Chargement...","huggingFaceModelsCount":"({{count}} modèles)","huggingFaceSelectModel":"Sélectionner un modèle...","huggingFaceSearchModels":"Rechercher des modèles...","huggingFaceNoModelsFound":"Aucun modèle trouvé","huggingFaceProvider":"Fournisseur","huggingFaceProviderAuto":"Automatique","huggingFaceSelectProvider":"Sélectionner un fournisseur...","huggingFaceSearchProviders":"Rechercher des fournisseurs...","huggingFaceNoProvidersFound":"Aucun fournisseur trouvé","getGeminiApiKey":"Obtenir la clé API Gemini","openAiApiKey":"Clé API OpenAI","apiKey":"Clé API","openAiBaseUrl":"URL de base","getOpenAiApiKey":"Obtenir la clé API OpenAI","mistralApiKey":"Clé API Mistral","getMistralApiKey":"Obtenir la clé API Mistral / Codestral","codestralBaseUrl":"URL de base Codestral (Optionnel)","codestralBaseUrlDesc":"Définir une URL alternative pour le modèle Codestral.","xaiApiKey":"Clé API xAI","getXaiApiKey":"Obtenir la clé API xAI","litellmApiKey":"Clé API LiteLLM","litellmBaseUrl":"URL de base LiteLLM","awsCredentials":"Identifiants AWS","awsProfile":"Profil AWS","awsApiKey":"Clé API Amazon Bedrock","awsProfileName":"Nom du profil AWS","awsAccessKey":"Clé d'accès AWS","awsSecretKey":"Clé secrète AWS","awsSessionToken":"Jeton de session AWS","awsRegion":"Région AWS","awsCrossRegion":"Utiliser l'inférence inter-régions","awsBedrockVpc":{"useCustomVpcEndpoint":"Utiliser un point de terminaison VPC personnalisé","vpcEndpointUrlPlaceholder":"Entrer l'URL du point de terminaison VPC (optionnel)","examples":"Exemples :"},"enablePromptCaching":"Activer la mise en cache des prompts","enablePromptCachingTitle":"Activer la mise en cache des prompts pour améliorer les performances et réduire les coûts pour les modèles pris en charge.","cacheUsageNote":"Remarque : Si vous ne voyez pas l'utilisation du cache, essayez de sélectionner un modèle différent puis de sélectionner à nouveau votre modèle souhaité.","vscodeLmModel":"Modèle de langage","vscodeLmWarning":"Remarque : Il s'agit d'une intégration très expérimentale et le support des fournisseurs variera. Si vous recevez une erreur concernant un modèle non pris en charge, c'est un problème du côté du fournisseur.","geminiParameters":{"urlContext":{"title":"Activer le contexte d'URL","description":"Permet à Gemini d'accéder et de traiter les URL pour un contexte supplémentaire lors de la génération des réponses. Utile pour les tâches nécessitant l'analyse de contenu web."},"groundingSearch":{"title":"Activer la mise en contexte via la recherche Google","description":"Permet à Gemini d'effectuer des recherches sur Google pour obtenir des informations actuelles et fonder les réponses sur des données en temps réel. Utile pour les requêtes nécessitant des informations à jour."}},"googleCloudSetup":{"title":"Pour utiliser Google Cloud Vertex AI, vous devez :","step1":"1. Créer un compte Google Cloud, activer l'API Vertex AI et activer les modèles Claude souhaités.","step2":"2. Installer Google Cloud CLI et configurer les identifiants par défaut de l'application.","step3":"3. Ou créer un compte de service avec des identifiants."},"googleCloudCredentials":"Identifiants Google Cloud","googleCloudKeyFile":"Chemin du fichier de clé Google Cloud","googleCloudProjectId":"ID du projet Google Cloud","googleCloudRegion":"Région Google Cloud","lmStudio":{"baseUrl":"URL de base (optionnel)","modelId":"ID du modèle","speculativeDecoding":"Activer le décodage spéculatif","draftModelId":"ID du modèle brouillon","draftModelDesc":"Le modèle brouillon doit être de la même famille de modèles pour que le décodage spéculatif fonctionne correctement.","selectDraftModel":"Sélectionner le modèle brouillon","noModelsFound":"Aucun modèle brouillon trouvé. Veuillez vous assurer que LM Studio est en cours d'exécution avec le mode serveur activé.","description":"LM Studio vous permet d'exécuter des modèles localement sur votre ordinateur. Pour obtenir des instructions sur la mise en route, consultez leur <a>guide de démarrage rapide</a>. Vous devrez également démarrer la fonction <b>serveur local</b> de LM Studio pour l'utiliser avec cette extension. <span>Remarque :</span> Roo Code utilise des prompts complexes et fonctionne mieux avec les modèles Claude. Les modèles moins performants peuvent ne pas fonctionner comme prévu."},"ollama":{"baseUrl":"URL de base (optionnel)","modelId":"ID du modèle","description":"Ollama vous permet d'exécuter des modèles localement sur votre ordinateur. Pour obtenir des instructions sur la mise en route, consultez le guide de démarrage rapide.","warning":"Remarque : Roo Code utilise des prompts complexes et fonctionne mieux avec les modèles Claude. Les modèles moins performants peuvent ne pas fonctionner comme prévu."},"unboundApiKey":"Clé API Unbound","getUnboundApiKey":"Obtenir la clé API Unbound","unboundRefreshModelsSuccess":"Liste des modèles mise à jour ! Vous pouvez maintenant sélectionner parmi les derniers modèles.","unboundInvalidApiKey":"Clé API invalide. Veuillez vérifier votre clé API et réessayer.","humanRelay":{"description":"Aucune clé API n'est requise, mais l'utilisateur doit aider à copier et coller les informations dans le chat web de l'IA.","instructions":"Pendant l'utilisation, une boîte de dialogue apparaîtra et le message actuel sera automatiquement copié dans le presse-papiers. Vous devez le coller dans les versions web de l'IA (comme ChatGPT ou Claude), puis copier la réponse de l'IA dans la boîte de dialogue et cliquer sur le bouton de confirmation."},"openRouter":{"providerRouting":{"title":"Routage des fournisseurs OpenRouter","description":"OpenRouter dirige les requêtes vers les meilleurs fournisseurs disponibles pour votre modèle. Par défaut, les requêtes sont équilibrées entre les principaux fournisseurs pour maximiser la disponibilité. Cependant, vous pouvez choisir un fournisseur spécifique à utiliser pour ce modèle.","learnMore":"En savoir plus sur le routage des fournisseurs"}},"customModel":{"capabilities":"Configurez les capacités et les prix pour votre modèle personnalisé compatible OpenAI. Soyez prudent lors de la spécification des capacités du modèle, car elles peuvent affecter le fonctionnement de Roo Code.","maxTokens":{"label":"Tokens de sortie maximum","description":"Nombre maximum de tokens que le modèle peut générer dans une réponse. (Spécifiez -1 pour permettre au serveur de définir les tokens maximum.)"},"contextWindow":{"label":"Taille de la fenêtre de contexte","description":"Total des tokens (entrée + sortie) que le modèle peut traiter."},"imageSupport":{"label":"Support des images","description":"Ce modèle est-il capable de traiter et de comprendre les images ?"},"computerUse":{"label":"Utilisation de l'ordinateur","description":"Ce modèle est-il capable d'interagir avec un navigateur ? (ex. Claude 3.7 Sonnet)"},"promptCache":{"label":"Mise en cache des prompts","description":"Ce modèle est-il capable de mettre en cache les prompts ?"},"pricing":{"input":{"label":"Prix d'entrée","description":"Coût par million de tokens dans l'entrée/prompt. Cela affecte le coût d'envoi du contexte et des instructions au modèle."},"output":{"label":"Prix de sortie","description":"Coût par million de tokens dans la réponse du modèle. Cela affecte le coût du contenu généré et des complétions."},"cacheReads":{"label":"Prix des lectures de cache","description":"Coût par million de tokens pour la lecture depuis le cache. C'est le prix facturé lors de la récupération d'une réponse mise en cache."},"cacheWrites":{"label":"Prix des écritures de cache","description":"Coût par million de tokens pour l'écriture dans le cache. C'est le prix facturé lors de la première mise en cache d'un prompt."}},"resetDefaults":"Réinitialiser les valeurs par défaut"},"rateLimitSeconds":{"label":"Limite de débit","description":"Temps minimum entre les requêtes API."},"consecutiveMistakeLimit":{"label":"Limite d'erreurs et de répétitions","description":"Nombre d'erreurs consécutives ou d'actions répétées avant d'afficher la boîte de dialogue 'Roo a des difficultés'","unlimitedDescription":"Réessais illimités activés (poursuite automatique). La boîte de dialogue n'apparaîtra jamais.","warning":"⚠️ Mettre à 0 autorise des réessais illimités, ce qui peut consommer une utilisation importante de l'API"},"reasoningEffort":{"label":"Effort de raisonnement du modèle","high":"Élevé","medium":"Moyen","low":"Faible"},"setReasoningLevel":"Activer l'effort de raisonnement","claudeCode":{"pathLabel":"Chemin du code Claude","description":"Chemin facultatif vers votre CLI Claude Code. La valeur par défaut est 'claude' si non défini.","placeholder":"Défaut : claude","maxTokensLabel":"Jetons de sortie max","maxTokensDescription":"Nombre maximum de jetons de sortie pour les réponses de Claude Code. La valeur par défaut est 8000."}}`, + ), + jae = { + enable: { + label: "Activer l'outil de navigateur", + description: + "Lorsque cette option est activée, Roo peut utiliser un navigateur pour interagir avec des sites web lors de l'utilisation de modèles qui prennent en charge l'utilisation de l'ordinateur. <0>En savoir plus</0>", + }, + viewport: { + label: "Taille de la fenêtre d'affichage", + description: + "Sélectionnez la taille de la fenêtre d'affichage pour les interactions du navigateur. Cela affecte la façon dont les sites web sont affichés et dont on interagit avec eux.", + options: { + largeDesktop: "Grand bureau (1280x800)", + smallDesktop: "Petit bureau (900x600)", + tablet: "Tablette (768x1024)", + mobile: "Mobile (360x640)", + }, + }, + screenshotQuality: { + label: "Qualité des captures d'écran", + description: + "Ajustez la qualité WebP des captures d'écran du navigateur. Des valeurs plus élevées fournissent des captures plus claires mais augmentent l'utilisation de token.", + }, + remote: { + label: "Utiliser une connexion de navigateur distant", + description: + "Se connecter à un navigateur Chrome exécuté avec le débogage à distance activé (--remote-debugging-port=9222).", + urlPlaceholder: "URL personnalisée (ex. http://localhost:9222)", + testButton: "Tester la connexion", + testingButton: "Test en cours...", + instructions: + "Entrez l'adresse hôte du protocole DevTools ou laissez vide pour découvrir automatiquement les instances Chrome locales. Le bouton Tester la connexion essaiera l'URL personnalisée si fournie, ou découvrira automatiquement si le champ est vide.", + }, + }, + Eae = { + enable: { + label: "Activer les points de contrôle automatiques", + description: + "Lorsque cette option est activée, Roo créera automatiquement des points de contrôle pendant l'exécution des tâches, facilitant la révision des modifications ou le retour à des états antérieurs. <0>En savoir plus</0>", + }, + }, + zae = { + sound: { + label: "Activer les effets sonores", + description: + "Lorsque cette option est activée, Roo jouera des effets sonores pour les notifications et les événements.", + volumeLabel: "Volume", + }, + tts: { + label: "Activer la synthèse vocale", + description: + "Lorsque cette option est activée, Roo lira ses réponses à haute voix en utilisant la synthèse vocale.", + speedLabel: "Vitesse", + }, + }, + $ae = { + description: + "Contrôlez quelles informations sont incluses dans la fenêtre de contexte de l'IA, affectant l'utilisation de token et la qualité des réponses", + autoCondenseContextPercent: { + label: "Seuil de déclenchement de la condensation intelligente du contexte", + description: "Lorsque la fenêtre de contexte atteint ce seuil, Roo la condensera automatiquement.", + }, + condensingApiConfiguration: { + label: "Configuration API pour la condensation du contexte", + description: + "Sélectionnez quelle configuration API utiliser pour les opérations de condensation du contexte. Laissez non sélectionné pour utiliser la configuration active actuelle.", + useCurrentConfig: "Par défaut", + }, + customCondensingPrompt: { + label: "Prompt personnalisé de condensation du contexte", + description: + "Personnalisez le prompt système utilisé pour la condensation du contexte. Laissez vide pour utiliser le prompt par défaut.", + placeholder: `Entrez votre prompt de condensation personnalisé ici... + +Vous pouvez utiliser la même structure que le prompt par défaut : +- Conversation précédente +- Travail en cours +- Concepts techniques clés +- Fichiers et code pertinents +- Résolution de problèmes +- Tâches en attente et prochaines étapes`, + reset: "Réinitialiser par défaut", + hint: "Vide = utiliser le prompt par défaut", + }, + autoCondenseContext: { + name: "Déclencher automatiquement la condensation intelligente du contexte", + description: + "Lorsque cette option est activée, Roo condensera automatiquement le contexte lorsque le seuil est atteint. Lorsqu'elle est désactivée, vous pouvez toujours déclencher manuellement la condensation du contexte.", + }, + openTabs: { + label: "Limite de contexte des onglets ouverts", + description: + "Nombre maximum d'onglets VSCode ouverts à inclure dans le contexte. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation de token.", + }, + workspaceFiles: { + label: "Limite de contexte des fichiers de l'espace de travail", + description: + "Nombre maximum de fichiers à inclure dans les détails du répertoire de travail actuel. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation de token.", + }, + rooignore: { + label: "Afficher les fichiers .rooignore dans les listes et recherches", + description: + "Lorsque cette option est activée, les fichiers correspondant aux modèles dans .rooignore seront affichés dans les listes avec un symbole de cadenas. Lorsqu'elle est désactivée, ces fichiers seront complètement masqués des listes de fichiers et des recherches.", + }, + maxReadFile: { + label: "Seuil d'auto-troncature de lecture de fichier", + description: + "Roo lit ce nombre de lignes lorsque le modèle omet les valeurs de début/fin. Si ce nombre est inférieur au total du fichier, Roo génère un index des numéros de ligne des définitions de code. Cas spéciaux : -1 indique à Roo de lire le fichier entier (sans indexation), et 0 indique de ne lire aucune ligne et de fournir uniquement les index de ligne pour un contexte minimal. Des valeurs plus basses minimisent l'utilisation initiale du contexte, permettant des lectures ultérieures de plages de lignes précises. Les requêtes avec début/fin explicites ne sont pas limitées par ce paramètre.", + lines: "lignes", + always_full_read: "Toujours lire le fichier entier", + }, + maxConcurrentFileReads: { + label: "Limite de lectures simultanées", + description: + "Nombre maximum de fichiers que l'outil 'read_file' peut traiter simultanément. Des valeurs plus élevées peuvent accélérer la lecture de plusieurs petits fichiers mais augmentent l'utilisation de la mémoire.", + }, + maxImageFileSize: { + label: "Taille maximale des fichiers d'image", + mb: "MB", + description: + "Taille maximale (en MB) pour les fichiers d'image qui peuvent être traités par l'outil de lecture de fichier.", + }, + maxTotalImageSize: { + label: "Taille totale maximale des images", + mb: "MB", + description: + "Limite de taille cumulée maximale (en MB) pour toutes les images traitées dans une seule opération read_file. Lors de la lecture de plusieurs images, la taille de chaque image est ajoutée au total. Si l'inclusion d'une autre image dépasserait cette limite, elle sera ignorée.", + }, + diagnostics: { + includeMessages: { + label: "Inclure automatiquement les diagnostics dans le contexte", + description: + "Lorsque cette option est activée, les messages de diagnostic (erreurs) des fichiers modifiés seront automatiquement inclus dans le contexte. Vous pouvez toujours inclure manuellement tous les diagnostics de l'espace de travail en utilisant @problems.", + }, + maxMessages: { + label: "Nombre maximum de messages de diagnostic", + description: + "Nombre maximum de messages de diagnostic à inclure par fichier. Cette limite s'applique à la fois à l'inclusion automatique (lorsque la case est cochée) et aux mentions manuelles @problems. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation des jetons.", + resetTooltip: "Réinitialiser à la valeur par défaut (50)", + unlimitedLabel: "Illimité", + }, + delayAfterWrite: { + label: "Délai après les écritures pour permettre aux diagnostics de détecter les problèmes potentiels", + description: + "Temps d'attente après les écritures de fichiers avant de continuer, permettant aux outils de diagnostic de traiter les modifications et de détecter les problèmes.", + }, + }, + condensingThreshold: { + label: "Seuil de condensation du contexte", + selectProfile: "Configurer le seuil pour le profil", + defaultProfile: "Par défaut global (tous les profils)", + defaultDescription: + "Lorsque le contexte atteint ce pourcentage, il sera automatiquement condensé pour tous les profils sauf s'ils ont des paramètres personnalisés", + profileDescription: "Seuil personnalisé pour ce profil uniquement (remplace le défaut global)", + inheritDescription: "Ce profil hérite du seuil par défaut global ({{threshold}}%)", + usesGlobal: "(utilise global {{threshold}}%)", + }, + }, + Lae = { + basic: { label: "Paramètres du terminal : Base", description: "Paramètres de base du terminal" }, + advanced: { + label: "Paramètres du terminal : Avancé", + description: + "Les options suivantes peuvent nécessiter un redémarrage du terminal pour appliquer le paramètre.", + }, + outputLineLimit: { + label: "Limite de sortie du terminal", + description: + "Nombre maximum de lignes à inclure dans la sortie du terminal lors de l'exécution de commandes. Lorsque ce nombre est dépassé, les lignes seront supprimées du milieu, économisant des token. <0>En savoir plus</0>", + }, + outputCharacterLimit: { + label: "Limite de caractères du terminal", + description: + "Nombre maximum de caractères à inclure dans la sortie du terminal lors de l'exécution de commandes. Cette limite prévaut sur la limite de lignes pour éviter les problèmes de mémoire avec des lignes extrêmement longues. Lorsque cette limite est dépassée, la sortie sera tronquée. <0>En savoir plus</0>", + }, + shellIntegrationTimeout: { + label: "Délai d'intégration du shell du terminal", + description: `Temps maximum d'attente pour l'initialisation de l'intégration du shell avant d'exécuter des commandes. Pour les utilisateurs avec des temps de démarrage de shell longs, cette valeur peut nécessiter d'être augmentée si vous voyez des erreurs "Shell Integration Unavailable" dans le terminal. <0>En savoir plus</0>`, + }, + shellIntegrationDisabled: { + label: "Désactiver l'intégration du shell du terminal", + description: + "Active ceci si les commandes du terminal ne fonctionnent pas correctement ou si tu vois des erreurs 'Shell Integration Unavailable'. Cela utilise une méthode plus simple pour exécuter les commandes, en contournant certaines fonctionnalités avancées du terminal. <0>En savoir plus</0>", + }, + commandDelay: { + label: "Délai de commande du terminal", + description: + "Délai en millisecondes à ajouter après l'exécution de la commande. Le paramètre par défaut de 0 désactive complètement le délai. Cela peut aider à garantir que la sortie de la commande est entièrement capturée dans les terminaux avec des problèmes de synchronisation. Dans la plupart des terminaux, cela est implémenté en définissant `PROMPT_COMMAND='sleep N'` et Powershell ajoute `start-sleep` à la fin de chaque commande. À l'origine, c'était une solution pour le bug VSCode#237208 et peut ne pas être nécessaire. <0>En savoir plus</0>", + }, + compressProgressBar: { + label: "Compresser la sortie des barres de progression", + description: + "Lorsque activé, traite la sortie du terminal avec des retours chariot (\\r) pour simuler l'affichage d'un terminal réel. Cela supprime les états intermédiaires des barres de progression, ne conservant que l'état final, ce qui économise de l'espace de contexte pour des informations plus pertinentes. <0>En savoir plus</0>", + }, + powershellCounter: { + label: "Activer le contournement du compteur PowerShell", + description: + "Lorsqu'activé, ajoute un compteur aux commandes PowerShell pour assurer une exécution correcte des commandes. Cela aide avec les terminaux PowerShell qui peuvent avoir des problèmes de capture de sortie. <0>En savoir plus</0>", + }, + zshClearEolMark: { + label: "Effacer la marque de fin de ligne ZSH", + description: + "Lorsqu'activé, efface la marque de fin de ligne ZSH en définissant PROMPT_EOL_MARK=''. Cela évite les problèmes d'interprétation de la sortie des commandes lorsqu'elle se termine par des caractères spéciaux comme '%'. <0>En savoir plus</0>", + }, + zshOhMy: { + label: "Activer l'intégration Oh My Zsh", + description: + "Lorsqu'activé, définit ITERM_SHELL_INTEGRATION_INSTALLED=Yes pour activer les fonctionnalités d'intégration du shell Oh My Zsh. L'application de ce paramètre peut nécessiter le redémarrage de l'IDE. <0>En savoir plus</0>", + }, + zshP10k: { + label: "Activer l'intégration Powerlevel10k", + description: + "Lorsqu'activé, définit POWERLEVEL9K_TERM_SHELL_INTEGRATION=true pour activer les fonctionnalités d'intégration du shell Powerlevel10k. <0>En savoir plus</0>", + }, + zdotdir: { + label: "Activer la gestion ZDOTDIR", + description: + "Lorsque activé, crée un répertoire temporaire pour ZDOTDIR afin de gérer correctement l'intégration du shell zsh. Cela garantit le bon fonctionnement de l'intégration du shell VSCode avec zsh tout en préservant votre configuration zsh. <0>En savoir plus</0>", + }, + inheritEnv: { + label: "Hériter des variables d'environnement", + description: + "Lorsqu'activé, le terminal hérite des variables d'environnement du processus parent VSCode, comme les paramètres d'intégration du shell définis dans le profil utilisateur. Cela bascule directement le paramètre global VSCode `terminal.integrated.inheritEnv`. <0>En savoir plus</0>", + }, + }, + Dae = { title: "Paramètres avancés" }, + Nae = { + diff: { + label: "Activer l'édition via des diffs", + description: + "Lorsque cette option est activée, Roo pourra éditer des fichiers plus rapidement et rejettera automatiquement les écritures de fichiers complets tronqués. Fonctionne mieux avec le dernier modèle Claude 3.7 Sonnet.", + strategy: { + label: "Stratégie de diff", + options: { + standard: "Standard (Bloc unique)", + multiBlock: "Expérimental : Diff multi-blocs", + unified: "Expérimental : Diff unifié", + }, + descriptions: { + standard: + "La stratégie de diff standard applique les modifications à un seul bloc de code à la fois.", + unified: + "La stratégie de diff unifié prend plusieurs approches pour appliquer les diffs et choisit la meilleure approche.", + multiBlock: + "La stratégie de diff multi-blocs permet de mettre à jour plusieurs blocs de code dans un fichier en une seule requête.", + }, + }, + matchPrecision: { + label: "Précision de correspondance", + description: + "Ce curseur contrôle la précision avec laquelle les sections de code doivent correspondre lors de l'application des diffs. Des valeurs plus basses permettent des correspondances plus flexibles mais augmentent le risque de remplacements incorrects. Utilisez des valeurs inférieures à 100 % avec une extrême prudence.", + }, + }, + todoList: { + label: "Activer l'outil de liste de tâches", + description: + "Lorsqu'activé, Roo peut créer et gérer des listes de tâches pour suivre la progression. Cela aide à organiser les tâches complexes en étapes gérables.", + }, + }, + Oae = { + DIFF_STRATEGY_UNIFIED: { + name: "Utiliser la stratégie diff unifiée expérimentale", + description: + "Activer la stratégie diff unifiée expérimentale. Cette stratégie pourrait réduire le nombre de tentatives causées par des erreurs de modèle, mais peut provoquer des comportements inattendus ou des modifications incorrectes. Activez-la uniquement si vous comprenez les risques et êtes prêt à examiner attentivement tous les changements.", + }, + SEARCH_AND_REPLACE: { + name: "Utiliser l'outil de recherche et remplacement expérimental", + description: + "Activer l'outil de recherche et remplacement expérimental, permettant à Roo de remplacer plusieurs occurrences d'un terme de recherche en une seule requête.", + }, + INSERT_BLOCK: { + name: "Utiliser l'outil d'insertion de contenu expérimental", + description: + "Activer l'outil d'insertion de contenu expérimental, permettant à Roo d'insérer du contenu à des numéros de ligne spécifiques sans avoir besoin de créer un diff.", + }, + POWER_STEERING: { + name: 'Utiliser le mode "direction assistée" expérimental', + description: + "Lorsqu'il est activé, Roo rappellera plus fréquemment au modèle les détails de sa définition de mode actuelle. Cela conduira à une adhérence plus forte aux définitions de rôles et aux instructions personnalisées, mais utilisera plus de tokens par message.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Utiliser l'outil diff multi-blocs expérimental", + description: + "Lorsqu'il est activé, Roo utilisera l'outil diff multi-blocs. Cela tentera de mettre à jour plusieurs blocs de code dans le fichier en une seule requête.", + }, + CONCURRENT_FILE_READS: { + name: "Activer la lecture simultanée de fichiers", + description: + "Lorsqu'activé, Roo peut lire plusieurs fichiers dans une seule requête. Lorsque désactivé, Roo doit lire les fichiers un par un. La désactivation peut aider lors du travail avec des modèles moins performants ou lorsque tu souhaites plus de contrôle sur l'accès aux fichiers.", + }, + MARKETPLACE: { + name: "Activer le Marketplace", + description: + "Lorsque cette option est activée, tu peux installer des MCP et des modes personnalisés depuis le Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Activer les éditions de fichiers concurrentes", + description: + "Lorsque cette option est activée, Roo peut éditer plusieurs fichiers en une seule requête. Lorsqu'elle est désactivée, Roo doit éditer les fichiers un par un. Désactiver cette option peut aider lorsque tu travailles avec des modèles moins capables ou lorsque tu veux plus de contrôle sur les modifications de fichiers.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Édition en arrière-plan", + description: + "Empêche la perturbation du focus de l'éditeur lorsqu'activé. Les modifications de fichiers se font en arrière-plan sans ouvrir de vues de différences ou voler le focus. Vous pouvez continuer à travailler sans interruption pendant que Roo effectue des changements. Les fichiers peuvent être ouverts sans focus pour capturer les diagnostics ou rester complètement fermés.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Utiliser le nouveau parseur de messages", + description: + "Active le parseur de messages en streaming expérimental qui accélère nettement les longues réponses en traitant les messages plus efficacement.", + }, + }, + Fae = { + label: "Désactiver la mise en cache des prompts", + description: + "Lorsque cette option est cochée, Roo n'utilisera pas la mise en cache des prompts pour ce modèle.", + }, + Bae = { + useCustom: "Utiliser une température personnalisée", + description: "Contrôle l'aléatoire dans les réponses du modèle.", + rangeDescription: + "Des valeurs plus élevées rendent la sortie plus aléatoire, des valeurs plus basses la rendent plus déterministe.", + }, + Uae = { + supportsImages: "Prend en charge les images", + noImages: "Ne prend pas en charge les images", + supportsComputerUse: "Prend en charge l'utilisation de l'ordinateur", + noComputerUse: "Ne prend pas en charge l'utilisation de l'ordinateur", + supportsPromptCache: "Prend en charge la mise en cache des prompts", + noPromptCache: "Ne prend pas en charge la mise en cache des prompts", + maxOutput: "Sortie maximale", + inputPrice: "Prix d'entrée", + outputPrice: "Prix de sortie", + cacheReadsPrice: "Prix des lectures de cache", + cacheWritesPrice: "Prix des écritures de cache", + enableStreaming: "Activer le streaming", + enableR1Format: "Activer les paramètres du modèle R1", + enableR1FormatTips: + "Doit être activé lors de l'utilisation de modèles R1 tels que QWQ, pour éviter l'erreur 400", + useAzure: "Utiliser Azure", + azureApiVersion: "Définir la version de l'API Azure", + gemini: { + freeRequests: + "* Gratuit jusqu'à {{count}} requêtes par minute. Après cela, la facturation dépend de la taille du prompt.", + pricingDetails: "Pour plus d'informations, voir les détails de tarification.", + billingEstimate: "* La facturation est une estimation - le coût exact dépend de la taille du prompt.", + }, + }, + qae = { + automaticFetch: `L'extension récupère automatiquement la liste la plus récente des modèles disponibles sur <serviceLink>{{serviceName}}</serviceLink>. Si vous ne savez pas quel modèle choisir, Roo Code fonctionne mieux avec <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Vous pouvez également rechercher "free" pour les options gratuites actuellement disponibles.`, + label: "Modèle", + searchPlaceholder: "Rechercher", + noMatchFound: "Aucune correspondance trouvée", + useCustomModel: "Utiliser personnalisé : {{modelId}}", + }, + Wae = { + feedback: + "Si vous avez des questions ou des commentaires, n'hésitez pas à ouvrir un problème sur <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> ou à rejoindre <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Autoriser les rapports anonymes d'erreurs et d'utilisation", + description: + "Aidez à améliorer Roo Code en envoyant des données d'utilisation anonymes et des rapports d'erreurs. Aucun code, prompt ou information personnelle n'est jamais envoyé. Consultez notre politique de confidentialité pour plus de détails.", + }, + settings: { import: "Importer", export: "Exporter", reset: "Réinitialiser" }, + }, + Kae = { maxTokens: "Tokens maximum", maxThinkingTokens: "Tokens de réflexion maximum" }, + Vae = { + apiKey: "Vous devez fournir une clé API valide.", + awsRegion: "Vous devez choisir une région pour utiliser Amazon Bedrock.", + googleCloud: "Vous devez fournir un ID de projet et une région Google Cloud valides.", + modelId: "Vous devez fournir un ID de modèle valide.", + modelSelector: "Vous devez fournir un sélecteur de modèle valide.", + openAi: "Vous devez fournir une URL de base, une clé API et un ID de modèle valides.", + arn: { + invalidFormat: "Format ARN invalide. Veuillez vérifier les exigences de format.", + regionMismatch: + "Attention : La région dans votre ARN ({{arnRegion}}) ne correspond pas à votre région sélectionnée ({{region}}). Cela peut causer des problèmes d'accès. Le fournisseur utilisera la région de l'ARN.", + }, + modelAvailability: + "L'ID de modèle ({{modelId}}) que vous avez fourni n'est pas disponible. Veuillez choisir un modèle différent.", + providerNotAllowed: "Le fournisseur '{{provider}}' n'est pas autorisé par votre organisation", + modelNotAllowed: + "Le modèle '{{model}}' n'est pas autorisé pour le fournisseur '{{provider}}' par votre organisation", + profileInvalid: "Ce profil contient un fournisseur ou un modèle qui n'est pas autorisé par votre organisation", + }, + Hae = { + apiKey: "Saisissez la clé API...", + profileName: "Saisissez le nom du profil", + accessKey: "Saisissez la clé d'accès...", + secretKey: "Saisissez la clé secrète...", + sessionToken: "Saisissez le jeton de session...", + credentialsJson: "Saisissez le JSON des identifiants...", + keyFilePath: "Saisissez le chemin du fichier de clé...", + projectId: "Saisissez l'ID du projet...", + customArn: "Saisissez l'ARN (ex. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Saisissez l'URL de base...", + modelId: { + lmStudio: "ex. meta-llama-3.1-8b-instruct", + lmStudioDraft: "ex. lmstudio-community/llama-3.2-1b-instruct", + ollama: "ex. llama3.1", + }, + numbers: { + maxTokens: "ex. 4096", + contextWindow: "ex. 128000", + inputPrice: "ex. 0.0001", + outputPrice: "ex. 0.0002", + cacheWritePrice: "ex. 0.00005", + }, + }, + Gae = { + ollamaUrl: "Par défaut : http://localhost:11434", + lmStudioUrl: "Par défaut : http://localhost:1234", + geminiUrl: "Par défaut : https://generativelanguage.googleapis.com", + }, + Qae = { customArn: "ARN personnalisé", useCustomArn: "Utiliser un ARN personnalisé..." }, + Zae = "Inclure les tokens de sortie maximum", + Yae = + "Envoyer le paramètre de tokens de sortie maximum dans les requêtes API. Certains fournisseurs peuvent ne pas supporter cela.", + Xae = "Limiter le nombre maximum de tokens dans la réponse", + Jae = "Tokens de sortie maximum", + ele = "Tokens maximum à générer dans la réponse", + bvt = { + common: Cae, + header: Sae, + unsavedChangesDialog: Aae, + sections: Pae, + prompts: Rae, + codeIndex: Tae, + autoApprove: Iae, + providers: Mae, + browser: jae, + checkpoints: Eae, + notifications: zae, + contextManagement: $ae, + terminal: Lae, + advancedSettings: Dae, + advanced: Nae, + experimental: Oae, + promptCaching: Fae, + temperature: Bae, + modelInfo: Uae, + modelPicker: qae, + footer: Wae, + thinkingBudget: Kae, + validation: Vae, + placeholders: Hae, + defaults: Gae, + labels: Qae, + includeMaxOutputTokens: Zae, + includeMaxOutputTokensDescription: Yae, + limitMaxTokensDescription: Xae, + maxOutputTokensLabel: Jae, + maxTokensGenerateDescription: ele, + }, + yvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: Nae, + advancedSettings: Dae, + autoApprove: Iae, + browser: jae, + checkpoints: Eae, + codeIndex: Tae, + common: Cae, + contextManagement: $ae, + default: bvt, + defaults: Gae, + experimental: Oae, + footer: Wae, + header: Sae, + includeMaxOutputTokens: Zae, + includeMaxOutputTokensDescription: Yae, + labels: Qae, + limitMaxTokensDescription: Xae, + maxOutputTokensLabel: Jae, + maxTokensGenerateDescription: ele, + modelInfo: Uae, + modelPicker: qae, + notifications: zae, + placeholders: Hae, + promptCaching: Fae, + prompts: Rae, + providers: Mae, + sections: Pae, + temperature: Bae, + terminal: Lae, + thinkingBudget: Kae, + unsavedChangesDialog: Aae, + validation: Vae, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + tle = "Bienvenue sur Roo Code !", + nle = + "Avec une gamme de Modes intégrés et extensibles, Roo Code te permet de planifier, architecturer, coder, déboguer et augmenter ta productivité comme jamais auparavant.", + ole = "Pour commencer, cette extension a besoin d'un fournisseur d'API.", + rle = "C'est parti !", + ile = { + requesty: { description: "Ton routeur LLM optimisé", incentive: "1$ de crédit gratuit" }, + openrouter: { description: "Une interface unifiée pour les LLMs" }, + }, + sle = "Pour faire sa magie, Roo a besoin d'une clé API.", + ale = "Nous recommandons d'utiliser un routeur LLM :", + lle = "Ou tu peux apporter ta propre clé API :", + cle = { + title: "Aide à améliorer Roo Code", + anonymousTelemetry: + "Envoie des données d'utilisation et d'erreurs anonymes pour nous aider à corriger les bugs et améliorer l'extension. Aucun code, texte ou information personnelle n'est jamais envoyé.", + changeSettings: "Tu peux toujours modifier cela en bas des <settingsLink>paramètres</settingsLink>", + settings: "paramètres", + allow: "Autoriser", + deny: "Refuser", + }, + dle = "Importer les paramètres", + kvt = { + greeting: tle, + introduction: nle, + notice: ole, + start: rle, + routers: ile, + chooseProvider: sle, + startRouter: ale, + startCustom: lle, + telemetry: cle, + importSettings: dle, + }, + xvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: sle, + default: kvt, + greeting: tle, + importSettings: dle, + introduction: nle, + notice: ole, + routers: ile, + start: rle, + startCustom: lle, + startRouter: ale, + telemetry: cle, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ule = "खाता", + ple = "प्रोफाइल चित्र", + mle = "लॉग आउट", + hle = "API प्रमाणीकरण का परीक्षण करें", + fle = "Roo Code Cloud से कनेक्ट करें", + gle = "कनेक्ट करें", + vle = "Roo Code Cloud से कनेक्ट करें", + ble = "निम्नलिखित को सक्षम करने के लिए अपने prompts और telemetry को sync करें:", + yle = "ऑनलाइन कार्य इतिहास", + kle = "साझाकरण और सहयोग सुविधाएं", + xle = "कार्य, token और लागत आधारित उपयोग मेट्रिक्स", + wle = "Roomote Control के साथ कहीं से भी कार्यों को फॉलो और नियंत्रित करें", + _le = "Roomote Control", + Cle = "Roo Code Cloud के साथ इस वर्कस्पेस में कार्यों को फॉलो और इंटरैक्ट करने की सुविधा दें", + Sle = "Roo Code Cloud पर जाएं", + wvt = { + title: ule, + profilePicture: ple, + logOut: mle, + testApiAuthentication: hle, + signIn: fle, + connect: gle, + cloudBenefitsTitle: vle, + cloudBenefitsSubtitle: ble, + cloudBenefitHistory: yle, + cloudBenefitSharing: kle, + cloudBenefitMetrics: xle, + cloudBenefitWalkaway: wle, + remoteControl: _le, + remoteControlDescription: Cle, + visitCloudWebsite: Sle, + }, + _vt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: yle, + cloudBenefitMetrics: xle, + cloudBenefitSharing: kle, + cloudBenefitWalkaway: wle, + cloudBenefitsSubtitle: ble, + cloudBenefitsTitle: vle, + connect: gle, + default: wvt, + logOut: mle, + profilePicture: ple, + remoteControl: _le, + remoteControlDescription: Cle, + signIn: fle, + testApiAuthentication: hle, + title: ule, + visitCloudWebsite: Sle, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Ale = "Roo Code में आपका स्वागत है", + Ple = { + title: "कार्य", + seeMore: "अधिक देखें", + seeLess: "कम देखें", + tokens: "Tokens:", + cache: "कैश:", + apiCost: "API लागत:", + contextWindow: "संदर्भ लंबाई:", + closeAndStart: "कार्य बंद करें और नया शुरू करें", + export: "कार्य इतिहास निर्यात करें", + delete: "कार्य हटाएं (पुष्टि को छोड़ने के लिए Shift + क्लिक)", + condenseContext: "संदर्भ को बुद्धिमानी से संघनित करें", + share: "कार्य साझा करें", + shareWithOrganization: "संगठन के साथ साझा करें", + shareWithOrganizationDescription: "केवल आपके संगठन के सदस्य पहुंच सकते हैं", + sharePublicly: "सार्वजनिक रूप से साझा करें", + sharePubliclyDescription: "लिंक वाला कोई भी व्यक्ति पहुंच सकता है", + connectToCloud: "Cloud से कनेक्ट करें", + connectToCloudDescription: "कार्य साझा करने के लिए Roo Code Cloud में साइन इन करें", + sharingDisabledByOrganization: "संगठन द्वारा साझाकरण अक्षम किया गया", + shareSuccessOrganization: "संगठन लिंक क्लिपबोर्ड में कॉपी किया गया", + shareSuccessPublic: "सार्वजनिक लिंक क्लिपबोर्ड में कॉपी किया गया", + }, + Rle = "पिन करें", + Tle = "अवपिन करें", + Ile = { + availableSpace: "उपलब्ध स्थान: {{amount}} tokens", + tokensUsed: "प्रयुक्त tokens: {{used}} / {{total}}", + reservedForResponse: "मॉडल प्रतिक्रिया के लिए आरक्षित: {{amount}} tokens", + }, + Mle = { title: "पुनः प्रयास करें", tooltip: "ऑपरेशन फिर से प्रयास करें" }, + jle = { title: "नया कार्य शुरू करें", tooltip: "नया कार्य शुरू करें" }, + Ele = { title: "फिर भी आगे बढ़ें", tooltip: "कमांड निष्पादन के दौरान जारी रखें" }, + zle = { title: "सहेजें", tooltip: "संदेश के बदलाव सहेजें" }, + $le = { title: "अस्वीकार करें", tooltip: "इस क्रिया को अस्वीकार करें" }, + Lle = "उपकार्य पूरा करें और वापस लौटें", + Dle = { title: "स्वीकृत करें", tooltip: "इस क्रिया को स्वीकृत करें" }, + Nle = { title: "कमांड चलाएँ", tooltip: "इस कमांड को निष्पादित करें" }, + Ole = { title: "चलते समय आगे बढ़ें", tooltip: "चेतावनियों के बावजूद जारी रखें" }, + Fle = { title: "कमांड रोकें", tooltip: "वर्तमान कमांड रोकें" }, + Ble = { title: "कार्य जारी रखें", tooltip: "वर्तमान कार्य जारी रखें" }, + Ule = { title: "समाप्त करें", tooltip: "वर्तमान कार्य समाप्त करें" }, + qle = { title: "रद्द करें", tooltip: "वर्तमान ऑपरेशन रद्द करें" }, + Wle = "चैट के निचले हिस्से तक स्क्रॉल करें", + Kle = + "एआई सहायता से कोड जेनरेट करें, रिफैक्टर करें और डिबग करें। अधिक जानने के लिए हमारे <DocsLink>दस्तावेज़</DocsLink> देखें।", + Vle = + "एजेंटिक कोडिंग क्षमताओं में नवीनतम प्रगति के कारण, मैं जटिल सॉफ्टवेयर विकास कार्यों को चरण-दर-चरण संभाल सकता हूं। ऐसे उपकरणों के साथ जो मुझे फ़ाइलें बनाने और संपादित करने, जटिल प्रोजेक्ट का अन्वेषण करने, ब्राउज़र का उपयोग करने और टर्मिनल कमांड (आपकी अनुमति के बाद) निष्पादित करने की अनुमति देते हैं, मैं आपकी मदद कोड पूर्णता या तकनीकी समर्थन से परे तरीकों से कर सकता हूं। मैं अपनी क्षमताओं का विस्तार करने और नए उपकरण बनाने के लिए MCP का भी उपयोग कर सकता हूं।", + Hle = { + boomerangTasks: { title: "कार्य संयोजन", description: "कार्यों को छोटे, प्रबंधनीय भागों में विभाजित करें।" }, + stickyModels: { title: "स्टिकी मोड", description: "प्रत्येक मोड आपके अंतिम उपयोग किए गए मॉडल को याद रखता है" }, + tools: { + title: "उपकरण", + description: "एआई को वेब ब्राउज़ करके, कमांड चलाकर और अधिक समस्याओं को हल करने की अनुमति दें।", + }, + customizableModes: { + title: "अनुकूलन योग्य मोड", + description: "विशिष्ट प्रोफाइल अपने व्यवहार और निर्धारित मॉडल के साथ", + }, + }, + Gle = "इंटरैक्शन मोड चुनें", + Qle = "एपीआई कॉन्फ़िगरेशन का चयन करें", + Zle = "अतिरिक्त संदर्भ के साथ प्रॉम्प्ट बढ़ाएँ", + Yle = "संदेश में चित्र जोड़ें", + Xle = "संदेश भेजें", + Jle = "टेक्स्ट-टू-स्पीच बंद करें", + ece = "एक संदेश लिखें...", + tce = "अपना कार्य यहां लिखें...", + nce = "संदर्भ जोड़ने के लिए @, कमांड के लिए /", + oce = "फ़ाइलें खींचने के लिए shift दबाकर रखें", + rce = "फ़ाइलें/चित्र खींचने के लिए shift दबाकर रखें", + ice = + "'प्रॉम्प्ट बढ़ाएँ' बटन अतिरिक्त संदर्भ, स्पष्टीकरण या पुनर्विचार प्रदान करके आपके अनुरोध को बेहतर बनाने में मदद करता है। यहां अनुरोध लिखकर देखें और यह कैसे काम करता है यह देखने के लिए बटन पर फिर से क्लिक करें।", + sce = { + title: "मोड्स", + marketplace: "मोड मार्केटप्लेस", + settings: "मोड सेटिंग्स", + description: "विशेष व्यक्तित्व जो Roo के व्यवहार को अनुकूलित करते हैं।", + searchPlaceholder: "मोड खोजें...", + noResults: "कोई परिणाम नहीं मिला", + }, + ace = "फ़ाइल पढ़ने में त्रुटि:", + lce = "कोई मान्य चित्र प्रोसेस नहीं किया गया", + cce = "विभाजक", + dce = "संपादित करें...", + uce = "अगले मोड के लिए", + pce = "पिछले मोड के लिए", + mce = "त्रुटि", + hce = { title: "संपादन असफल" }, + fce = "Roo को समस्या हो रही है...", + gce = { + title: "API अनुरोध", + failed: "API अनुरोध विफल हुआ", + streaming: "API अनुरोध...", + cancelled: "API अनुरोध रद्द किया गया", + streamingFailed: "API स्ट्रीमिंग विफल हुई", + }, + vce = { + regular: "चेकपॉइंट", + initializingWarning: + "चेकपॉइंट अभी भी आरंभ हो रहा है... अगर यह बहुत समय ले रहा है, तो आप <settingsLink>सेटिंग्स</settingsLink> में चेकपॉइंट को अक्षम कर सकते हैं और अपने कार्य को पुनः आरंभ कर सकते हैं।", + menu: { + viewDiff: "अंतर देखें", + restore: "चेकपॉइंट पुनर्स्थापित करें", + restoreFiles: "फ़ाइलें पुनर्स्थापित करें", + restoreFilesDescription: + "आपके प्रोजेक्ट की फ़ाइलों को इस बिंदु पर लिए गए स्नैपशॉट पर पुनर्स्थापित करता है।", + restoreFilesAndTask: "फ़ाइलें और कार्य पुनर्स्थापित करें", + confirm: "पुष्टि करें", + cancel: "रद्द करें", + cannotUndo: "इस क्रिया को पूर्ववत नहीं किया जा सकता।", + restoreFilesAndTaskDescription: + "आपके प्रोजेक्ट की फ़ाइलों को इस बिंदु पर लिए गए स्नैपशॉट पर पुनर्स्थापित करता है और इस बिंदु के बाद के सभी संदेशों को हटा देता है।", + }, + current: "वर्तमान", + }, + bce = { wantsToFetch: "Roo को वर्तमान कार्य में सहायता के लिए विस्तृत निर्देश प्राप्त करना है" }, + yce = { + wantsToRead: "Roo इस फ़ाइल को पढ़ना चाहता है:", + wantsToReadOutsideWorkspace: "Roo कार्यक्षेत्र के बाहर इस फ़ाइल को पढ़ना चाहता है:", + didRead: "Roo ने इस फ़ाइल को पढ़ा:", + wantsToEdit: "Roo इस फ़ाइल को संपादित करना चाहता है:", + wantsToEditOutsideWorkspace: "Roo कार्यक्षेत्र के बाहर इस फ़ाइल को संपादित करना चाहता है:", + wantsToEditProtected: "Roo एक सुरक्षित कॉन्फ़िगरेशन फ़ाइल को संपादित करना चाहता है:", + wantsToCreate: "Roo एक नई फ़ाइल बनाना चाहता है:", + wantsToSearchReplace: "Roo इस फ़ाइल में खोज और प्रतिस्थापन करना चाहता है:", + didSearchReplace: "Roo ने इस फ़ाइल में खोज और प्रतिस्थापन किया:", + wantsToInsert: "Roo इस फ़ाइल में सामग्री डालना चाहता है:", + wantsToInsertWithLineNumber: "Roo इस फ़ाइल की {{lineNumber}} लाइन पर सामग्री डालना चाहता है:", + wantsToInsertAtEnd: "Roo इस फ़ाइल के अंत में सामग्री जोड़ना चाहता है:", + wantsToReadAndXMore: "रू इस फ़ाइल को और {{count}} अन्य को पढ़ना चाहता है:", + wantsToReadMultiple: "Roo कई फ़ाइलें पढ़ना चाहता है:", + wantsToApplyBatchChanges: "Roo कई फ़ाइलों में परिवर्तन लागू करना चाहता है:", + }, + kce = { + wantsToViewTopLevel: "Roo इस निर्देशिका में शीर्ष स्तर की फ़ाइलें देखना चाहता है:", + didViewTopLevel: "Roo ने इस निर्देशिका में शीर्ष स्तर की फ़ाइलें देखीं:", + wantsToViewRecursive: "Roo इस निर्देशिका में सभी फ़ाइलों को पुनरावर्ती रूप से देखना चाहता है:", + didViewRecursive: "Roo ने इस निर्देशिका में सभी फ़ाइलों को पुनरावर्ती रूप से देखा:", + wantsToViewDefinitions: "Roo इस निर्देशिका में उपयोग किए गए सोर्स कोड परिभाषा नामों को देखना चाहता है:", + didViewDefinitions: "Roo ने इस निर्देशिका में उपयोग किए गए सोर्स कोड परिभाषा नामों को देखा:", + wantsToSearch: "Roo इस निर्देशिका में <code>{{regex}}</code> के लिए खोज करना चाहता है:", + didSearch: "Roo ने इस निर्देशिका में <code>{{regex}}</code> के लिए खोज की:", + wantsToSearchOutsideWorkspace: + "Roo इस निर्देशिका (कार्यक्षेत्र के बाहर) में <code>{{regex}}</code> के लिए खोज करना चाहता है:", + didSearchOutsideWorkspace: + "Roo ने इस निर्देशिका (कार्यक्षेत्र के बाहर) में <code>{{regex}}</code> के लिए खोज की:", + wantsToViewTopLevelOutsideWorkspace: + "Roo इस निर्देशिका (कार्यक्षेत्र के बाहर) में शीर्ष स्तर की फ़ाइलें देखना चाहता है:", + didViewTopLevelOutsideWorkspace: "Roo ने इस निर्देशिका (कार्यक्षेत्र के बाहर) में शीर्ष स्तर की फ़ाइलें देखीं:", + wantsToViewRecursiveOutsideWorkspace: + "Roo इस निर्देशिका (कार्यक्षेत्र के बाहर) में सभी फ़ाइलों को पुनरावर्ती रूप से देखना चाहता है:", + didViewRecursiveOutsideWorkspace: + "Roo ने इस निर्देशिका (कार्यक्षेत्र के बाहर) में सभी फ़ाइलों को पुनरावर्ती रूप से देखा:", + wantsToViewDefinitionsOutsideWorkspace: + "Roo इस निर्देशिका (कार्यक्षेत्र के बाहर) में उपयोग किए गए सोर्स कोड परिभाषा नामों को देखना चाहता है:", + didViewDefinitionsOutsideWorkspace: + "Roo ने इस निर्देशिका (कार्यक्षेत्र के बाहर) में उपयोग किए गए सोर्स कोड परिभाषा नामों को देखा:", + }, + xce = "कमांड आउटपुट", + wce = { + running: "चलाया जा रहा है", + pid: "पीआईडी: {{pid}}", + exited: "बाहर निकल गया ({{exitCode}})", + manageCommands: "कमांड अनुमतियाँ प्रबंधित करें", + commandManagementDescription: + "कमांड अनुमतियों का प्रबंधन करें: स्वतः-निष्पादन की अनुमति देने के लिए ✓ पर क्लिक करें, निष्पादन से इनकार करने के लिए ✗ पर क्लिक करें। पैटर्न को चालू/बंद किया जा सकता है या सूचियों से हटाया जा सकता है। <settingsLink>सभी सेटिंग्स देखें</settingsLink>", + addToAllowed: "अनुमत सूची में जोड़ें", + removeFromAllowed: "अनुमत सूची से हटाएं", + addToDenied: "अस्वीकृत सूची में जोड़ें", + removeFromDenied: "अस्वीकृत सूची से हटाएं", + abortCommand: "कमांड निष्पादन रद्द करें", + expandOutput: "आउटपुट का विस्तार करें", + collapseOutput: "आउटपुट संक्षिप्त करें", + expandManagement: "कमांड प्रबंधन अनुभाग का विस्तार करें", + collapseManagement: "कमांड प्रबंधन अनुभाग संक्षिप्त करें", + }, + _ce = "प्रतिक्रिया", + Cce = { + wantsToUseTool: "Roo {{serverName}} MCP सर्वर पर एक टूल का उपयोग करना चाहता है:", + wantsToAccessResource: "Roo {{serverName}} MCP सर्वर पर एक संसाधन का उपयोग करना चाहता है:", + }, + Sce = { + wantsToSwitch: "Roo <code>{{mode}}</code> मोड में स्विच करना चाहता है", + wantsToSwitchWithReason: "Roo <code>{{mode}}</code> मोड में स्विच करना चाहता है क्योंकि: {{reason}}", + didSwitch: "Roo <code>{{mode}}</code> मोड में स्विच कर गया", + didSwitchWithReason: "Roo <code>{{mode}}</code> मोड में स्विच कर गया क्योंकि: {{reason}}", + }, + Ace = { + wantsToCreate: "Roo <code>{{mode}}</code> मोड में एक नया उपकार्य बनाना चाहता है:", + wantsToFinish: "Roo इस उपकार्य को समाप्त करना चाहता है", + newTaskContent: "उपकार्य निर्देश", + completionContent: "उपकार्य पूर्ण", + resultContent: "उपकार्य परिणाम", + defaultResult: "कृपया अगले कार्य पर जारी रखें।", + completionInstructions: + "उपकार्य पूर्ण! आप परिणामों की समीक्षा कर सकते हैं और सुधार या अगले चरण सुझा सकते हैं। यदि सब कुछ ठीक लगता है, तो मुख्य कार्य को परिणाम वापस करने के लिए पुष्टि करें।", + }, + Pce = { hasQuestion: "Roo का एक प्रश्न है:" }, + Rce = "कार्य पूरा हुआ", + Tce = { issues: "ऐसा लगता है कि आपको Windows PowerShell के साथ समस्याएँ हो रही हैं, कृपया इसे देखें" }, + Ice = { + title: "स्वत:-स्वीकृति:", + none: "कोई नहीं", + description: + "स्वत:-स्वीकृति Roo Code को अनुमति मांगे बिना क्रियाएँ करने की अनुमति देती है। केवल उन क्रियाओं के लिए सक्षम करें जिन पर आप पूरी तरह से विश्वास करते हैं। अधिक विस्तृत कॉन्फ़िगरेशन <settingsLink>सेटिंग्स</settingsLink> में उपलब्ध है।", + selectOptionsFirst: "स्वतः-अनुमोदन सक्षम करने के लिए नीचे दिए گئے विकल्पों में से कम से कम एक का चयन करें", + toggleAriaLabel: "स्वतः-अनुमोदन टॉगल करें", + disabledAriaLabel: "स्वतः-अनुमोदन अक्षम - पहले विकल्प चुनें", + }, + Mce = { thinking: "विचार कर रहा है", seconds: "{{count}} सेकंड" }, + jce = { + title: "संदर्भ संक्षिप्त किया गया", + condensing: "संदर्भ संघनित कर रहा है...", + errorHeader: "संदर्भ संघनित करने में विफल", + tokens: "टोकन", + }, + Ece = { + copyToInput: "इनपुट में कॉपी करें (या Shift + क्लिक)", + autoSelectCountdown: "{{count}}s में स्वचालित रूप से चयन हो रहा है", + countdownDisplay: "{{count}}सेकंड", + }, + zce = { + title: "🎉 Roo Code {{version}} रिलीज़ हुआ", + description: + "Roo Code {{version}} आपके विकास वर्कफ़्लो को बेहतर बनाने के लिए शक्तिशाली नई सुविधाएं और महत्वपूर्ण सुधार लेकर आया है।", + whatsNew: "नया क्या है", + feature1: + "<bold>संदेश कतार</bold>: Roo के काम करते समय कई संदेशों को कतार में रखें, जिससे आप बिना रुकावट के अपने वर्कफ़्लो की योजना बना सकते हैं।", + feature2: + "<bold>कस्टम स्लैश कमांड</bold>: अक्सर उपयोग किए जाने वाले प्रॉम्प्ट और वर्कफ़्लो तक त्वरित पहुंच के लिए व्यक्तिगत स्लैश कमांड बनाएं, पूर्ण UI प्रबंधन के साथ।", + feature3: + "<bold>उन्नत Gemini उपकरण</bold>: नए URL संदर्भ और Google खोज आधार क्षमताएं Gemini मॉडल को वास्तविक समय वेब जानकारी और बेहतर अनुसंधान क्षमताएं प्रदान करती हैं।", + hideButton: "घोषणा छुपाएं", + detailsDiscussLinks: + "<discordLink>Discord</discordLink> और <redditLink>Reddit</redditLink> पर अधिक विवरण प्राप्त करें और चर्चाओं में शामिल हों 🚀", + }, + $ce = { + rooWantsToUse: "Roo ब्राउज़र का उपयोग करना चाहता है:", + consoleLogs: "कंसोल लॉग", + noNewLogs: "(कोई नया लॉग नहीं)", + screenshot: "ब्राउज़र स्क्रीनशॉट", + cursor: "कर्सर", + navigation: { step: "चरण {{current}} / {{total}}", previous: "पिछला", next: "अगला" }, + sessionStarted: "ब्राउज़र सत्र शुरू हुआ", + actions: { + title: "ब्राउज़र क्रिया: ", + launch: "{{url}} पर ब्राउज़र लॉन्च करें", + click: "क्लिक करें ({{coordinate}})", + type: 'टाइप करें "{{text}}"', + scrollDown: "नीचे स्क्रॉल करें", + scrollUp: "ऊपर स्क्रॉल करें", + close: "ब्राउज़र बंद करें", + }, + }, + Lce = { + tooltips: { + expand: "कोड ब्लॉक का विस्तार करें", + collapse: "कोड ब्लॉक को संकुचित करें", + enable_wrap: "वर्ड रैप सक्षम करें", + disable_wrap: "वर्ड रैप अक्षम करें", + copy_code: "कोड कॉपी करें", + }, + }, + Dce = + "चेतावनी: कस्टम सिस्टम प्रॉम्प्ट ओवरराइड सक्रिय है। यह कार्यक्षमता को गंभीर रूप से बाधित कर सकता है और अनियमित व्यवहार का कारण बन सकता है.", + Nce = "वर्तमान प्रोफ़ाइल आपके संगठन की सेटिंग्स के साथ संगत नहीं है", + Oce = { + title: "कमांड निष्पादन चेतावनी", + description: + "आपका कमांड VSCode टर्मिनल शेल इंटीग्रेशन के बिना निष्पादित हो रहा है। इस चेतावनी को दबाने के लिए आप <settingsLink>Roo Code सेटिंग्स</settingsLink> के <strong>Terminal</strong> अनुभाग में शेल इंटीग्रेशन को अक्षम कर सकते हैं या नीचे दिए गए लिंक का उपयोग करके VSCode टर्मिनल इंटीग्रेशन की समस्या का समाधान कर सकते हैं।", + troubleshooting: "शेल इंटीग्रेशन दस्तावेज़ के लिए यहां क्लिक करें।", + }, + Fce = { + autoApprovedRequestLimitReached: { + title: "स्वत:-स्वीकृत अनुरोध सीमा पहुंची", + description: + "Roo {{count}} API अनुरोध(धों) की स्वत:-स्वीकृत सीमा तक पहुंच गया है। क्या आप गणना को रीसेट करके कार्य जारी रखना चाहते हैं?", + button: "रीसेट करें और जारी रखें", + }, + autoApprovedCostLimitReached: { + title: "स्वत:-अनुमोदित लागत सीमा पहुँच गई", + button: "रीसेट करें और जारी रखें", + description: + "Roo ने स्वचालित-स्वीकृत लागत सीमा ${{count}} तक पहुंच गई है। क्या आप लागत को रीसेट करके कार्य जारी रखना चाहेंगे?", + }, + }, + Bce = { + wantsToSearch: "Roo कोडबेस में <code>{{query}}</code> खोजना चाहता है:", + wantsToSearchWithPath: "Roo <code>{{path}}</code> में कोडबेस में <code>{{query}}</code> खोजना चाहता है:", + didSearch_one: "1 परिणाम मिला", + didSearch_other: "{{count}} परिणाम मिले", + resultTooltip: "समानता स्कोर: {{score}} (फ़ाइल खोलने के लिए क्लिक करें)", + }, + Uce = { + ready: "इंडेक्स तैयार", + indexing: "इंडेक्सिंग {{percentage}}%", + indexed: "इंडेक्स किया गया", + error: "इंडेक्स त्रुटि", + status: "इंडेक्स स्थिति", + }, + qce = { ariaLabel: "संस्करण {{version}} - रिलीज़ नोट्स देखने के लिए क्लिक करें" }, + Wce = { + title: "Roo Code Cloud जल्द आ रहा है!", + description: + "क्लाउड में रिमोट एजेंट चलाएं, कहीं से भी अपने कार्यों तक पहुंचें, दूसरों के साथ सहयोग करें, और बहुत कुछ।", + joinWaitlist: "जल्दी पहुंच पाने के लिए प्रतीक्षा सूची में शामिल हों।", + }, + Kce = { placeholder: "अपना संदेश संपादित करें..." }, + Vce = { triggerDescription: "{{name}} कमांड को ट्रिगर करें" }, + Hce = { + tooltip: "स्लैश कमांड प्रबंधित करें", + title: "स्लैश कमांड", + description: + "बार-बार उपयोग किए जाने वाले प्रॉम्प्ट और वर्कफ़्लो तक त्वरित पहुंच के लिए कस्टम स्लैश कमांड बनाएं। <DocsLink>दस्तावेज़</DocsLink>", + globalCommands: "वैश्विक कमांड", + workspaceCommands: "कार्यक्षेत्र कमांड", + globalCommand: "वैश्विक कमांड", + editCommand: "कमांड संपादित करें", + deleteCommand: "कमांड हटाएं", + newGlobalCommandPlaceholder: "नया वैश्विक कमांड...", + newWorkspaceCommandPlaceholder: "नया कार्यक्षेत्र कमांड...", + deleteDialog: { + title: "कमांड हटाएं", + description: 'क्या आप वाकई "{{name}}" कमांड को हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।', + cancel: "रद्द करें", + confirm: "हटाएं", + }, + }, + Gce = { title: "कतार में संदेश:", clickToEdit: "संदेश संपादित करने के लिए क्लिक करें" }, + Cvt = { + greeting: Ale, + task: Ple, + unpin: Rle, + pin: Tle, + tokenProgress: Ile, + retry: Mle, + startNewTask: jle, + proceedAnyways: Ele, + save: zle, + reject: $le, + completeSubtaskAndReturn: Lle, + approve: Dle, + runCommand: Nle, + proceedWhileRunning: Ole, + killCommand: Fle, + resumeTask: Ble, + terminate: Ule, + cancel: qle, + scrollToBottom: Wle, + about: Kle, + onboarding: Vle, + rooTips: Hle, + selectMode: Gle, + selectApiConfig: Qle, + enhancePrompt: Zle, + addImages: Yle, + sendMessage: Xle, + stopTts: Jle, + typeMessage: ece, + typeTask: tce, + addContext: nce, + dragFiles: oce, + dragFilesImages: rce, + enhancePromptDescription: ice, + modeSelector: sce, + errorReadingFile: ace, + noValidImages: lce, + separator: cce, + edit: dce, + forNextMode: uce, + forPreviousMode: pce, + error: mce, + diffError: hce, + troubleMessage: fce, + apiRequest: gce, + checkpoint: vce, + instructions: bce, + fileOperations: yce, + directoryOperations: kce, + commandOutput: xce, + commandExecution: wce, + response: _ce, + arguments: "आर्ग्युमेंट्स", + mcp: Cce, + modes: Sce, + subtasks: Ace, + questions: Pce, + taskCompleted: Rce, + powershell: Tce, + autoApprove: Ice, + reasoning: Mce, + contextCondense: jce, + followUpSuggest: Ece, + announcement: zce, + browser: $ce, + codeblock: Lce, + systemPromptWarning: Dce, + profileViolationWarning: Nce, + shellIntegration: Oce, + ask: Fce, + codebaseSearch: Bce, + "read-batch": { approve: { title: "सभी स्वीकृत करें" }, deny: { title: "सभी अस्वीकार करें" } }, + indexingStatus: Uce, + versionIndicator: qce, + rooCloudCTA: Wce, + editMessage: Kce, + command: Vce, + slashCommands: Hce, + queuedMessages: Gce, + }, + Svt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: Kle, + addContext: nce, + addImages: Yle, + announcement: zce, + apiRequest: gce, + approve: Dle, + ask: Fce, + autoApprove: Ice, + browser: $ce, + cancel: qle, + checkpoint: vce, + codebaseSearch: Bce, + codeblock: Lce, + command: Vce, + commandExecution: wce, + commandOutput: xce, + completeSubtaskAndReturn: Lle, + contextCondense: jce, + default: Cvt, + diffError: hce, + directoryOperations: kce, + dragFiles: oce, + dragFilesImages: rce, + edit: dce, + editMessage: Kce, + enhancePrompt: Zle, + enhancePromptDescription: ice, + error: mce, + errorReadingFile: ace, + fileOperations: yce, + followUpSuggest: Ece, + forNextMode: uce, + forPreviousMode: pce, + greeting: Ale, + indexingStatus: Uce, + instructions: bce, + killCommand: Fle, + mcp: Cce, + modeSelector: sce, + modes: Sce, + noValidImages: lce, + onboarding: Vle, + pin: Tle, + powershell: Tce, + proceedAnyways: Ele, + proceedWhileRunning: Ole, + profileViolationWarning: Nce, + questions: Pce, + queuedMessages: Gce, + reasoning: Mce, + reject: $le, + response: _ce, + resumeTask: Ble, + retry: Mle, + rooCloudCTA: Wce, + rooTips: Hle, + runCommand: Nle, + save: zle, + scrollToBottom: Wle, + selectApiConfig: Qle, + selectMode: Gle, + sendMessage: Xle, + separator: cce, + shellIntegration: Oce, + slashCommands: Hce, + startNewTask: jle, + stopTts: Jle, + subtasks: Ace, + systemPromptWarning: Dce, + task: Ple, + taskCompleted: Rce, + terminate: Ule, + tokenProgress: Ile, + troubleMessage: fce, + typeMessage: ece, + typeTask: tce, + unpin: Rle, + versionIndicator: qce, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Qce = { + title: "कुछ गलत हो गया", + reportText: "कृपया इस त्रुटि की रिपोर्ट करके हमें सुधारने में मदद करें", + githubText: "हमारे GitHub Issues पेज पर", + copyInstructions: + "अपनी सबमिशन के हिस्से के रूप में शामिल करने के लिए निम्नलिखित त्रुटि संदेश को कॉपी और पेस्ट करें:", + errorStack: "त्रुटि स्टैक:", + componentStack: "कंपोनेंट स्टैक:", + }, + Zce = { yes: "हाँ", no: "नहीं", cancel: "रद्द करें", remove: "हटाएं", keep: "रखें" }, + Yce = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + Xce = { search_placeholder: "खोजें...", no_results: "कोई परिणाम नहीं मिला" }, + Jce = { + loading: "मरमेड डायग्राम जनरेट हो रहा है...", + render_error: "डायग्राम रेंडर नहीं किया जा सकता", + buttons: { + zoom: "ज़ूम", + zoomIn: "बड़ा करें", + zoomOut: "छोटा करें", + copy: "कॉपी करें", + save: "छवि सहेजें", + viewCode: "कोड देखें", + viewDiagram: "डायग्राम देखें", + close: "बंद करें", + }, + modal: { codeTitle: "मरमेड कोड" }, + tabs: { diagram: "डायग्राम", code: "कोड" }, + feedback: { imageCopied: "इमेज क्लिपबोर्ड में कॉपी हो गई", copyError: "इमेज कॉपी करने में त्रुटि" }, + }, + ede = { + errors: { + invalidDataUri: "अमान्य डेटा URI फॉर्मेट", + copyingImage: "इमेज कॉपी करने में त्रुटि: {{error}}", + openingImage: "इमेज खोलने में त्रुटि: {{error}}", + pathNotExists: "पथ मौजूद नहीं है: {{path}}", + couldNotOpen: "फ़ाइल नहीं खोली जा सकी: {{error}}", + couldNotOpenGeneric: "फ़ाइल नहीं खोली जा सकी!", + }, + success: { imageDataUriCopied: "इमेज डेटा URI क्लिपबोर्ड में कॉपी हो गया" }, + }, + tde = { + deleteMessage: "संदेश हटाएं", + deleteWarning: "इस संदेश को हटाने से बातचीत के सभी बाद के संदेश हट जाएंगे। क्या आप जारी रखना चाहते हैं?", + editMessage: "संदेश संपादित करें", + editWarning: "इस संदेश को संपादित करने से बातचीत के सभी बाद के संदेश हट जाएंगे। क्या आप जारी रखना चाहते हैं?", + proceed: "जारी रखें", + }, + Avt = { errorBoundary: Qce, answers: Zce, number_format: Yce, ui: Xce, mermaid: Jce, file: ede, confirmation: tde }, + Pvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: Zce, + confirmation: tde, + default: Avt, + errorBoundary: Qce, + file: ede, + mermaid: Jce, + number_format: Yce, + ui: Xce, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + nde = "हाल के कार्य", + ode = "इतिहास", + rde = "चयन मोड से बाहर निकलें", + ide = "चयन मोड में प्रवेश करें", + sde = "पूर्ण", + ade = "इतिहास खोजें...", + lde = "नवीनतम", + cde = "सबसे पुराना", + dde = "सबसे महंगा", + ude = "सबसे अधिक टोकन", + pde = "सबसे प्रासंगिक", + mde = "कार्य हटाएं (Shift + क्लिक पुष्टि छोड़ने के लिए)", + hde = "प्रॉम्प्ट कॉपी करें", + fde = "कार्य निर्यात करें", + gde = "कार्य हटाएं", + vde = "क्या आप वाकई इस कार्य को हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती है।", + bde = "रद्द करें", + yde = "चयन से बाहर निकलें", + kde = "चयन मोड", + xde = "सभी चयन हटाएं", + wde = "सभी चुनें", + _de = "{{selected}}/{{total}} आइटम चयनित", + Cde = "चयन साफ़ करें", + Sde = "चयनित हटाएं", + Ade = "कार्य हटाएं", + Pde = "क्या आप वाकई {{count}} कार्य हटाना चाहते हैं?", + Rde = "हटाए गए कार्य पुनर्प्राप्त नहीं किए जा सकते। कृपया सुनिश्चित करें कि आप आगे बढ़ना चाहते हैं।", + Tde = "{{count}} आइटम हटाएं", + Ide = { prefix: "कार्यस्थान:", current: "वर्तमान", all: "सभी" }, + Mde = { + prefix: "क्रमबद्ध करें:", + newest: "नवीनतम", + oldest: "सबसे पुराना", + mostExpensive: "सबसे महंगा", + mostTokens: "सबसे अधिक टोकन", + mostRelevant: "सबसे प्रासंगिक", + }, + jde = "सभी कार्य देखें", + Rvt = { + recentTasks: nde, + history: ode, + exitSelectionMode: rde, + enterSelectionMode: ide, + done: sde, + searchPlaceholder: ade, + newest: lde, + oldest: cde, + mostExpensive: dde, + mostTokens: ude, + mostRelevant: pde, + deleteTaskTitle: mde, + copyPrompt: hde, + exportTask: fde, + deleteTask: gde, + deleteTaskMessage: vde, + cancel: bde, + delete: "हटाएं", + exitSelection: yde, + selectionMode: kde, + deselectAll: xde, + selectAll: wde, + selectedItems: _de, + clearSelection: Cde, + deleteSelected: Sde, + deleteTasks: Ade, + confirmDeleteTasks: Pde, + deleteTasksWarning: Rde, + deleteItems: Tde, + workspace: Ide, + sort: Mde, + viewAllHistory: jde, + }, + Tvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: bde, + clearSelection: Cde, + confirmDeleteTasks: Pde, + copyPrompt: hde, + default: Rvt, + deleteItems: Tde, + deleteSelected: Sde, + deleteTask: gde, + deleteTaskMessage: vde, + deleteTaskTitle: mde, + deleteTasks: Ade, + deleteTasksWarning: Rde, + deselectAll: xde, + done: sde, + enterSelectionMode: ide, + exitSelection: yde, + exitSelectionMode: rde, + exportTask: fde, + history: ode, + mostExpensive: dde, + mostRelevant: pde, + mostTokens: ude, + newest: lde, + oldest: cde, + recentTasks: nde, + searchPlaceholder: ade, + selectAll: wde, + selectedItems: _de, + selectionMode: kde, + sort: Mde, + viewAllHistory: jde, + workspace: Ide, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Ede = "मानव रिले - कृपया जानकारी कॉपी-पेस्ट करने में सहायता करें", + zde = + "कृपया निम्नलिखित प्रॉम्प्ट को वेब AI में कॉपी करें, फिर AI की प्रतिक्रिया को नीचे दिए गए इनपुट बॉक्स में पेस्ट करें।", + $de = "क्लिपबोर्ड पर कॉपी किया गया", + Lde = { label: "कृपया AI की प्रतिक्रिया दर्ज करें:", placeholder: "यहाँ AI की प्रतिक्रिया पेस्ट करें..." }, + Dde = { cancel: "रद्द करें", submit: "जमा करें" }, + Ivt = { dialogTitle: Ede, dialogDescription: zde, copiedToClipboard: $de, aiResponse: Lde, actions: Dde }, + Mvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: Dde, + aiResponse: Lde, + copiedToClipboard: $de, + default: Ivt, + dialogDescription: zde, + dialogTitle: Ede, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Nde = "Roo Marketplace", + Ode = { installed: "इंस्टॉल किया गया", settings: "सेटिंग्स", browse: "ब्राउज़ करें" }, + Fde = "पूर्ण", + Bde = "रिफ्रेश करें", + Ude = { + search: { + placeholder: "Marketplace आइटम खोजें...", + placeholderMcp: "MCP खोजें...", + placeholderMode: "मोड खोजें...", + }, + type: { label: "प्रकार के अनुसार फ़िल्टर करें:", all: "सभी प्रकार", mode: "मोड", mcpServer: "MCP सर्वर" }, + sort: { label: "इसके अनुसार क्रमबद्ध करें:", name: "नाम", author: "लेखक", lastUpdated: "अंतिम अपडेट" }, + tags: { + label: "टैग के अनुसार फ़िल्टर करें:", + clear: "टैग साफ़ करें", + placeholder: "टैग खोजने और चुनने के लिए टाइप करें...", + noResults: "कोई मिलान टैग नहीं मिला", + selected: "चयनित टैग में से किसी एक के साथ आइटम दिखाएं", + clickToFilter: "आइटम फ़िल्टर करने के लिए टैग पर क्लिक करें", + }, + none: "कोई नहीं", + }, + qde = { organizationMcps: "{{organization}} MCPs", marketplace: "मार्केटप्लेस" }, + Wde = { + empty: { + noItems: "कोई Marketplace आइटम नहीं मिला", + withFilters: "अपने फ़िल्टर समायोजित करने का प्रयास करें", + noSources: "स्रोत टैब में एक स्रोत जोड़ने का प्रयास करें", + adjustFilters: "अपने फ़िल्टर या खोज शब्दों को समायोजित करने का प्रयास करें", + clearAllFilters: "सभी फ़िल्टर साफ़ करें", + }, + count: "{{count}} आइटम मिले", + components: "{{count}} घटक", + matched: "{{count}} मिले", + refresh: { + button: "रिफ्रेश करें", + refreshing: "रिफ्रेश हो रहा है...", + mayTakeMoment: "इसमें कुछ समय लग सकता है।", + }, + card: { + by: "{{author}} द्वारा", + from: "{{source}} से", + install: "इंस्टॉल करें", + installProject: "इंस्टॉल करें", + installGlobal: "इंस्टॉल करें (ग्लोबल)", + remove: "हटाएं", + removeProject: "हटाएं", + removeGlobal: "हटाएं (ग्लोबल)", + viewSource: "देखें", + viewOnSource: "{{source}} पर देखें", + noWorkspaceTooltip: "Marketplace आइटम इंस्टॉल करने के लिए एक वर्कस्पेस खोलें", + installed: "इंस्टॉल किया गया", + removeProjectTooltip: "वर्तमान प्रोजेक्ट से हटाएं", + removeGlobalTooltip: "ग्लोबल कॉन्फ़िगरेशन से हटाएं", + actionsMenuLabel: "अधिक क्रियाएं", + }, + removeFailed: "आइटम हटाने में विफल: {{error}}", + unknownError: "अज्ञात त्रुटि हुई", + }, + Kde = { + title: "{{name}} इंस्टॉल करें", + titleMode: "{{name}} मोड इंस्टॉल करें", + titleMcp: "{{name}} MCP इंस्टॉल करें", + scope: "इंस्टॉलेशन स्कोप", + project: "प्रोजेक्ट (वर्तमान वर्कस्पेस)", + global: "ग्लोबल (सभी वर्कस्पेस)", + method: "इंस्टॉलेशन विधि", + configuration: "कॉन्फ़िगरेशन", + configurationDescription: "इस MCP सर्वर के लिए आवश्यक पैरामीटर कॉन्फ़िगर करें", + button: "इंस्टॉल करें", + successTitle: "{{name}} इंस्टॉल किया गया", + successDescription: "इंस्टॉलेशन सफलतापूर्वक पूर्ण", + installed: "सफलतापूर्वक इंस्टॉल किया गया!", + whatNextMcp: + "अब आप इस MCP सर्वर को कॉन्फ़िगर और उपयोग कर सकते हैं। टैब स्विच करने के लिए साइडबार में MCP आइकन पर क्लिक करें।", + whatNextMode: "अब आप इस मोड का उपयोग कर सकते हैं। टैब स्विच करने के लिए साइडबार में मोड आइकन पर क्लिक करें।", + done: "पूर्ण", + goToMcp: "MCP टैब पर जाएं", + goToModes: "मोड सेटिंग्स पर जाएं", + moreInfoMcp: "{{name}} MCP दस्तावेज़ देखें", + validationRequired: "कृपया {{paramName}} के लिए एक मान प्रदान करें", + prerequisites: "आवश्यकताएं", + }, + Vde = { + title: "Marketplace स्रोत कॉन्फ़िगर करें", + description: + "Git रिपॉजिटरी जोड़ें जिनमें Marketplace आइटम हैं। Marketplace ब्राउज़ करते समय इन रिपॉजिटरी को प्राप्त किया जाएगा।", + add: { + title: "नया स्रोत जोड़ें", + urlPlaceholder: "Git रिपॉजिटरी URL (जैसे https://github.com/username/repo)", + urlFormats: + "समर्थित प्रारूप: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git) या Git प्रोटोकॉल (git://github.com/username/repo.git)", + namePlaceholder: "प्रदर्शन नाम (अधिकतम 20 वर्ण)", + button: "स्रोत जोड़ें", + }, + current: { + title: "वर्तमान स्रोत", + empty: "कोई स्रोत कॉन्फ़िगर नहीं किया गया। शुरू करने के लिए एक स्रोत जोड़ें।", + refresh: "इस स्रोत को रिफ्रेश करें", + remove: "स्रोत हटाएं", + }, + errors: { + emptyUrl: "URL खाली नहीं हो सकता", + invalidUrl: "अमान्य URL प्रारूप", + nonVisibleChars: "URL में स्पेस के अलावा अदृश्य वर्ण हैं", + invalidGitUrl: "URL एक वैध Git रिपॉजिटरी URL होना चाहिए (जैसे https://github.com/username/repo)", + duplicateUrl: "यह URL पहले से सूची में है (केस और स्पेस को नजरअंदाज किया गया)", + nameTooLong: "नाम 20 वर्ण या उससे कम होना चाहिए", + nonVisibleCharsName: "नाम में स्पेस के अलावा अदृश्य वर्ण हैं", + duplicateName: "यह नाम पहले से उपयोग में है (केस और स्पेस को नजरअंदाज किया गया)", + emojiName: "इमोजी वर्ण प्रदर्शन समस्याएं पैदा कर सकते हैं", + maxSources: "अधिकतम {{max}} स्रोतों की अनुमति है", + }, + }, + Hde = { + mode: { + title: "मोड हटाएं", + message: 'क्या आप वाकई मोड "{{modeName}}" को हटाना चाहते हैं?', + rulesWarning: "यह इस मोड के लिए किसी भी संबंधित नियम फ़ाइल को भी हटा देगा।", + }, + mcp: { title: "MCP सर्वर हटाएं", message: 'क्या आप वाकई MCP सर्वर "{{mcpName}}" को हटाना चाहते हैं?' }, + cancel: "रद्द करें", + confirm: "हटाएं", + }, + Gde = { + issueText: + "कोई marketplace आइटम के साथ समस्या है या नए आइटम के लिए सुझाव हैं? <0>GitHub issue खोलें</0> हमें बताने के लिए!", + }, + jvt = { + title: Nde, + tabs: Ode, + done: Fde, + refresh: Bde, + filters: Ude, + sections: qde, + "type-group": { modes: "मोड", mcps: "MCP सर्वर" }, + items: Wde, + install: Kde, + sources: Vde, + removeConfirm: Hde, + footer: Gde, + }, + Evt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: jvt, + done: Fde, + filters: Ude, + footer: Gde, + install: Kde, + items: Wde, + refresh: Bde, + removeConfirm: Hde, + sections: qde, + sources: Vde, + tabs: Ode, + title: Nde, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Qde = "MCP सर्वर", + Zde = "हो गया", + Yde = "MCP मार्केटप्लेस", + Xde = + '<0>मॉडल कॉन्टेक्स्ट प्रोटोकॉल</0> स्थानीय रूप से चल रहे MCP सर्वरों के साथ संचार को सक्षम बनाता है जो Roo की क्षमताओं का विस्तार करने के लिए अतिरिक्त उपकरण और संसाधन प्रदान करते हैं। आप <1>समुदाय द्वारा बनाए गए सर्वरों</1> का उपयोग कर सकते हैं या Roo से अपने कार्यप्रवाह के लिए विशिष्ट नए उपकरण बनाने के लिए कह सकते हैं (जैसे, "नवीनतम npm दस्तावेज़ प्राप्त करने वाला उपकरण जोड़ें")।', + Jde = "निर्देश", + eue = { + title: "MCP सर्वर सक्षम करें", + description: + "इसे ON करो ताकि Roo जुड़े हुए MCP सर्वरों से टूल्स इस्तेमाल कर सके। इससे Roo को और क्षमताएँ मिलती हैं। अगर तुम ये अतिरिक्त टूल्स इस्तेमाल नहीं करना चाहते, तो इसे OFF करो ताकि API टोकन लागत कम हो सके।", + }, + tue = { + title: "MCP सर्वर बनाना सक्षम करें", + description: "इसे ON करो ताकि Roo तुम्हारी मदद से <1>नए</1> कस्टम MCP सर्वर बना सके। <0>सर्वर बनाना जानें</0>", + hint: "टिप: API टोकन लागत कम करने के लिए, जब Roo से नया MCP सर्वर नहीं बनवा रहे हो तो इस सेटिंग को बंद कर दो।", + }, + nue = "ग्लोबल MCP एडिट करें", + oue = "प्रोजेक्ट MCP एडिट करें", + rue = "MCP सेटिंग्स फाइल एडिट करने के बारे में जानें", + iue = { + alwaysAllow: "हमेशा अनुमति दें", + parameters: "पैरामीटर", + noDescription: "कोई विवरण नहीं", + togglePromptInclusion: "प्रॉम्प्ट में शामिल करना टॉगल करें", + }, + sue = { tools: "टूल्स", resources: "संसाधन", errors: "त्रुटियाँ" }, + aue = { noTools: "कोई टूल नहीं मिला", noResources: "कोई संसाधन नहीं मिला", noErrors: "कोई त्रुटि नहीं मिली" }, + lue = { + label: "नेटवर्क टाइमआउट", + description: "सर्वर रिस्पॉन्स के लिए अधिकतम प्रतीक्षा समय", + options: { + "15seconds": "15 सेकंड", + "30seconds": "30 सेकंड", + "1minute": "1 मिनट", + "5minutes": "5 मिनट", + "10minutes": "10 मिनट", + "15minutes": "15 मिनट", + "30minutes": "30 मिनट", + "60minutes": "60 मिनट", + }, + }, + cue = { + title: "MCP सर्वर हटाएँ", + description: 'क्या तुम वाकई MCP सर्वर "{{serverName}}" हटाना चाहते हो? यह क्रिया वापस नहीं ली जा सकती।', + cancel: "रद्द करें", + delete: "हटाएँ", + }, + due = { retrying: "फिर से कोशिश कर रहा है...", retryConnection: "कनेक्शन फिर से आज़माएँ" }, + uue = "एमसीपी सर्वर रीफ्रेश करें", + pue = { running: "चल रहा है", completed: "पूरा हुआ", error: "त्रुटि" }, + zvt = { + title: Qde, + done: Zde, + marketplace: Yde, + description: Xde, + instructions: Jde, + enableToggle: eue, + enableServerCreation: tue, + editGlobalMCP: nue, + editProjectMCP: oue, + learnMoreEditingSettings: rue, + tool: iue, + tabs: sue, + emptyState: aue, + networkTimeout: lue, + deleteDialog: cue, + serverStatus: due, + refreshMCP: uue, + execution: pue, + }, + $vt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: zvt, + deleteDialog: cue, + description: Xde, + done: Zde, + editGlobalMCP: nue, + editProjectMCP: oue, + emptyState: aue, + enableServerCreation: tue, + enableToggle: eue, + execution: pue, + instructions: Jde, + learnMoreEditingSettings: rue, + marketplace: Yde, + networkTimeout: lue, + refreshMCP: uue, + serverStatus: due, + tabs: sue, + title: Qde, + tool: iue, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + mue = "मोड्स", + hue = "हो गया", + fue = { + title: "मोड्स", + createNewMode: "नया मोड बनाएँ", + importMode: "मोड आयात करें", + noMatchFound: "कोई मोड नहीं मिला", + editModesConfig: "मोड कॉन्फ़िगरेशन संपादित करें", + editGlobalModes: "ग्लोबल मोड्स संपादित करें", + editProjectModes: "प्रोजेक्ट मोड्स संपादित करें (.roomodes)", + createModeHelpText: + "मोड विशेष व्यक्तित्व हैं जो Roo के व्यवहार को अनुकूलित करते हैं। <0>मोड का उपयोग करने के बारे में जानें</0> या <1>मोड को अनुकूलित करना।</1>", + selectMode: "मोड खोजें", + }, + gue = { title: "API कॉन्फ़िगरेशन", select: "इस मोड के लिए किस API कॉन्फ़िगरेशन का उपयोग करना है, चुनें" }, + vue = { + title: "उपलब्ध टूल्स", + builtInModesText: "अंतर्निहित मोड्स के लिए टूल्स को संशोधित नहीं किया जा सकता", + editTools: "टूल्स संपादित करें", + doneEditing: "संपादन पूरा हुआ", + allowedFiles: "अनुमत फाइलें:", + toolNames: { + read: "फाइलें पढ़ें", + edit: "फाइलें संपादित करें", + browser: "ब्राउज़र का उपयोग करें", + command: "कमांड्स चलाएँ", + mcp: "MCP का उपयोग करें", + }, + noTools: "कोई नहीं", + }, + bue = { + title: "भूमिका परिभाषा", + resetToDefault: "डिफ़ॉल्ट पर रीसेट करें", + description: + "इस मोड के लिए Roo की विशेषज्ञता और व्यक्तित्व परिभाषित करें। यह विवरण Roo के स्वयं को प्रस्तुत करने और कार्यों से निपटने के तरीके को आकार देता है।", + }, + yue = { + title: "संक्षिप्त विवरण (मनुष्यों के लिए)", + resetToDefault: "डिफ़ॉल्ट विवरण पर रीसेट करें", + description: "मोड सेलेक्टर ड्रॉपडाउन में दिखाया गया संक्षिप्त विवरण।", + }, + kue = { + title: "कब उपयोग करें (वैकल्पिक)", + description: + "बताएं कि इस मोड का उपयोग कब किया जाना चाहिए। यह Orchestrator को किसी कार्य के लिए सही मोड चुनने में मदद करता है।", + resetToDefault: "'कब उपयोग करें' विवरण को डिफ़ॉल्ट पर रीसेट करें", + }, + xue = { + title: "मोड-विशिष्ट कस्टम निर्देश (वैकल्पिक)", + resetToDefault: "डिफ़ॉल्ट पर रीसेट करें", + description: "{{modeName}} मोड के लिए विशिष्ट व्यवहार दिशानिर्देश जोड़ें।", + loadFromFile: + "{{mode}} मोड के लिए विशिष्ट कस्टम निर्देश आपके वर्कस्पेस में <span>.roo/rules-{{slug}}/</span> फ़ोल्डर से भी लोड किए जा सकते हैं (.roorules-{{slug}} और .clinerules-{{slug}} पुराने हो गए हैं और जल्द ही काम करना बंद कर देंगे)।", + }, + wue = { + title: "मोड निर्यात करें", + description: + "इस मोड को सभी नियमों के साथ एक YAML फ़ाइल में निर्यात करें ताकि दूसरों के साथ आसानी से साझा किया जा सके।", + export: "मोड निर्यात करें", + exporting: "निर्यात हो रहा है...", + }, + _ue = { + selectLevel: "चुनें कि इस मोड को कहाँ आयात करना है:", + import: "आयात करें", + importing: "आयात कर रहे हैं...", + global: { + label: "वैश्विक स्तर", + description: "सभी परियोजनाओं में उपलब्ध। नियम कस्टम निर्देशों में विलय कर दिए जाएंगे।", + }, + project: { + label: "परियोजना स्तर", + description: + "केवल इस कार्यक्षेत्र में उपलब्ध। यदि निर्यात किए गए मोड में नियम फाइलें थीं, तो उन्हें .roo/rules-{slug}/ फ़ोल्डर में फिर से बनाया जाएगा।", + }, + }, + Cue = { title: "उन्नत" }, + Sue = { + title: "सभी मोड्स के लिए कस्टम निर्देश", + description: + "ये निर्देश सभी मोड्स पर लागू होते हैं। वे व्यवहारों का एक आधार सेट प्रदान करते हैं जिन्हें नीचे दिए गए मोड-विशिष्ट निर्देशों द्वारा बढ़ाया जा सकता है। <0>और जानें</0>", + loadFromFile: + "निर्देश आपके वर्कस्पेस में <span>.roo/rules/</span> फ़ोल्डर से भी लोड किए जा सकते हैं (.roorules और .clinerules पुराने हो गए हैं और जल्द ही काम करना बंद कर देंगे)।", + }, + Aue = { + preview: "सिस्टम प्रॉम्प्ट का पूर्वावलोकन", + copy: "सिस्टम प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें", + title: "सिस्टम प्रॉम्प्ट ({{modeName}} मोड)", + }, + Pue = { + title: "सहायता प्रॉम्प्ट्स", + resetPrompt: "{{promptType}} प्रॉम्प्ट को डिफ़ॉल्ट पर रीसेट करें", + prompt: "प्रॉम्प्ट", + enhance: { + apiConfiguration: "API कॉन्फ़िगरेशन", + apiConfigDescription: + "आप प्रॉम्प्ट्स को बढ़ाने के लिए हमेशा उपयोग करने के लिए एक API कॉन्फ़िगरेशन चुन सकते हैं, या बस वर्तमान में चयनित का उपयोग कर सकते हैं", + useCurrentConfig: "वर्तमान में चयनित API कॉन्फ़िगरेशन का उपयोग करें", + testPromptPlaceholder: "वृद्धि का परीक्षण करने के लिए एक प्रॉम्प्ट दर्ज करें", + previewButton: "प्रॉम्प्ट वृद्धि का पूर्वावलोकन", + testEnhancement: "वृद्धि का परीक्षण करें", + includeTaskHistory: "कार्य इतिहास को संदर्भ के रूप में शामिल करें", + includeTaskHistoryDescription: + "जब सक्षम किया जाता है, तो वर्तमान बातचीत के अंतिम 10 संदेश प्रॉम्प्ट को बेहतर बनाते समय संदर्भ के रूप में शामिल किए जाएंगे, जो अधिक प्रासंगिक और संदर्भ-जागरूक सुझाव उत्पन्न करने में मदद करेगा।", + }, + condense: { + apiConfiguration: "संदर्भ संघनन के लिए API कॉन्फ़िगरेशन", + apiConfigDescription: + "संदर्भ संघनन कार्यों के लिए कौन सा API कॉन्फ़िgerेशन उपयोग करना है, इसका चयन करें। वर्तमान सक्रिय कॉन्फ़िगरेशन का उपयोग करने के लिए अचयनित छोड़ दें।", + useCurrentConfig: "वर्तमान में चयनित API कॉन्फ़िगरेशन का उपयोग करें", + }, + types: { + ENHANCE: { + label: "प्रॉम्प्ट बढ़ाएँ", + description: + "अपने इनपुट के लिए अनुकूलित सुझाव या सुधार प्राप्त करने के लिए प्रॉम्प्ट वृद्धि का उपयोग करें। यह सुनिश्चित करता है कि Roo आपके इरादे को समझता है और सर्वोत्तम संभव प्रतिक्रियाएँ प्रदान करता है। चैट में ✨ आइकन के माध्यम से उपलब्ध है।", + }, + CONDENSE: { + label: "संदर्भ संघनन", + description: + "टोकन सीमाओं का प्रबंधन करने के लिए बातचीत के संदर्भ को कैसे संघनित किया जाता है, इसे कॉन्फ़iger करें। इस प्रॉम्प्ट का उपयोग मैनुअल और स्वचालित दोनों संदर्भ संघनन संचालन के लिए किया जाता है।", + }, + EXPLAIN: { + label: "कोड समझाएँ", + description: + "कोड स्निपेट, फंक्शन या पूरी फाइलों के विस्तृत स्पष्टीकरण प्राप्त करें। जटिल कोड को समझने या नए पैटर्न सीखने के लिए उपयोगी। कोड कार्रवाइयों (एडिटर में बल्ब आइकन) और एडिटर के कंटेक्स्ट मेनू (चयनित कोड पर राइट-क्लिक) में उपलब्ध है।", + }, + FIX: { + label: "समस्याएँ ठीक करें", + description: + "बग्स, त्रुटियों या कोड गुणवत्ता के मुद्दों की पहचान और समाधान में मदद प्राप्त करें। समस्याओं को ठीक करने के लिए चरण-दर-चरण मार्गदर्शन प्रदान करता है। कोड कार्रवाइयों (एडिटर में बल्ब आइकन) और एडिटर के कंटेक्स्ट मेनू (चयनित कोड पर राइट-क्लिक) में उपलब्ध है।", + }, + IMPROVE: { + label: "कोड में सुधार करें", + description: + "कार्यक्षमता बनाए रखते हुए कोड अनुकूलन, बेहतर प्रथाओं और वास्तुकला सुधारों के लिए सुझाव प्राप्त करें। कोड कार्रवाइयों (एडिटर में बल्ब आइकन) और एडिटर के कंटेक्स्ट मेनू (चयनित कोड पर राइट-क्लिक) में उपलब्ध है।", + }, + ADD_TO_CONTEXT: { + label: "संदर्भ में जोड़ें", + description: + "अपने वर्तमान कार्य या वार्तालाप में संदर्भ जोड़ें। अतिरिक्त जानकारी या स्पष्टीकरण प्रदान करने के लिए उपयोगी। कोड कार्रवाइयों (एडिटर में बल्ब आइकन) और एडिटर के कंटेक्स्ट मेनू (चयनित कोड पर राइट-क्लिक) में उपलब्ध है।", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "टर्मिनल सामग्री को संदर्भ में जोड़ें", + description: + "अपने वर्तमान कार्य या वार्तालाप में टर्मिनल आउटपुट जोड़ें। कमांड आउटपुट या लॉग प्रदान करने के लिए उपयोगी। टर्मिनल के कंटेक्स्ट मेनू (चयनित टर्मिनल सामग्री पर राइट-क्लिक) में उपलब्ध है।", + }, + TERMINAL_FIX: { + label: "टर्मिनल कमांड ठीक करें", + description: + "विफल हुए या सुधार की आवश्यकता वाले टर्मिनल कमांड को ठीक करने में मदद प्राप्त करें। टर्मिनल के कंटेक्स्ट मेनू (चयनित टर्मिनल सामग्री पर राइट-क्लिक) में उपलब्ध है।", + }, + TERMINAL_EXPLAIN: { + label: "टर्मिनल कमांड समझाएँ", + description: + "टर्मिनल कमांड और उनके आउटपुट के विस्तृत स्पष्टीकरण प्राप्त करें। टर्मिनल के कंटेक्स्ट मेनू (चयनित टर्मिनल सामग्री पर राइट-क्लिक) में उपलब्ध है।", + }, + NEW_TASK: { + label: "नया कार्य शुरू करें", + description: "इनपुट के साथ नया कार्य शुरू करें। कमांड पैलेट में उपलब्ध है।", + }, + }, + }, + Rue = { + title: "उन्नत: सिस्टम प्रॉम्प्ट ओवरराइड करें", + description: + "<2>⚠️ चेतावनी:</2> यह उन्नत सुविधा सुरक्षा उपायों को दरकिनार करती है। <1>उपयोग करने से पहले इसे पढ़ें!</1>अपने वर्कस्पेस में <span>.roo/system-prompt-{{slug}}</span> पर एक फ़ाइल बनाकर डिफ़ॉल्ट सिस्टम प्रॉम्प्ट को ओवरराइड करें।", + }, + Tue = { + title: "नया मोड बनाएँ", + close: "बंद करें", + name: { label: "नाम", placeholder: "मोड का नाम दर्ज करें" }, + slug: { + label: "स्लग", + description: + "स्लग URL और फाइल नामों में उपयोग किया जाता है। यह लोअरकेस में होना चाहिए और केवल अक्षर, संख्याएँ और हाइफन शामिल होने चाहिए।", + }, + saveLocation: { + label: "सहेजने का स्थान", + description: + "इस मोड को कहां सहेजना है, चुनें। प्रोजेक्ट-विशिष्ट मोड्स को ग्लोबल मोड्स पर प्राथमिकता मिलती है।", + global: { label: "ग्लोबल", description: "सभी वर्कस्पेस में उपलब्ध" }, + project: { + label: "प्रोजेक्ट-विशिष्ट (.roomodes)", + description: "केवल इस वर्कस्पेस में उपलब्ध, ग्लोबल पर प्राथमिकता रखता है", + }, + }, + roleDefinition: { + label: "भूमिका परिभाषा", + description: "इस मोड के लिए Roo की विशेषज्ञता और व्यक्तित्व परिभाषित करें।", + }, + whenToUse: { + label: "कब उपयोग करें (वैकल्पिक)", + description: + "स्पष्ट रूप से बताएं कि यह मोड कब सबसे प्रभावी है और किस प्रकार के कार्यों में यह उत्कृष्ट है।", + }, + tools: { label: "उपलब्ध टूल्स", description: "चुनें कि यह मोड कौन से टूल्स उपयोग कर सकता है।" }, + description: { + label: "संक्षिप्त विवरण (मनुष्यों के लिए)", + description: "मोड सेलेक्टर ड्रॉपडाउन में दिखाया गया संक्षिप्त विवरण।", + }, + customInstructions: { + label: "कस्टम निर्देश (वैकल्पिक)", + description: "इस मोड के लिए विशिष्ट व्यवहार दिशानिर्देश जोड़ें।", + }, + buttons: { cancel: "रद्द करें", create: "मोड बनाएँ" }, + deleteMode: "मोड हटाएँ", + }, + Iue = "सभी फाइलें", + Mue = { + title: "मोड हटाएं", + message: 'क्या आप वाकई मोड "{{modeName}}" को हटाना चाहते हैं?', + rulesFolder: "इस मोड में {{folderPath}} पर एक नियम फ़ोल्डर है जिसे भी हटा दिया जाएगा।", + descriptionNoRules: "क्या आप वाकई इस कस्टम मोड को हटाना चाहते हैं?", + confirm: "हटाएं", + cancel: "रद्द करें", + }, + Lvt = { + title: mue, + done: hue, + modes: fue, + apiConfiguration: gue, + tools: vue, + roleDefinition: bue, + description: yue, + whenToUse: kue, + customInstructions: xue, + exportMode: wue, + importMode: _ue, + advanced: Cue, + globalCustomInstructions: Sue, + systemPrompt: Aue, + supportPrompts: Pue, + advancedSystemPrompt: Rue, + createModeDialog: Tue, + allFiles: Iue, + deleteMode: Mue, + }, + Dvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: Cue, + advancedSystemPrompt: Rue, + allFiles: Iue, + apiConfiguration: gue, + createModeDialog: Tue, + customInstructions: xue, + default: Lvt, + deleteMode: Mue, + description: yue, + done: hue, + exportMode: wue, + globalCustomInstructions: Sue, + importMode: _ue, + modes: fue, + roleDefinition: bue, + supportPrompts: Pue, + systemPrompt: Aue, + title: mue, + tools: vue, + whenToUse: kue, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + jue = { + save: "सहेजें", + done: "पूर्ण", + cancel: "रद्द करें", + reset: "रीसेट करें", + select: "चुनें", + add: "हेडर जोड़ें", + remove: "हटाएं", + }, + Eue = { + title: "सेटिंग्स", + saveButtonTooltip: "परिवर्तन सहेजें", + nothingChangedTooltip: "कुछ भी नहीं बदला", + doneButtonTooltip: "असहेजे परिवर्तनों को छोड़ें और सेटिंग्स पैनल बंद करें", + }, + zue = { + title: "असहेजे परिवर्तन", + description: "क्या आप परिवर्तनों को छोड़कर जारी रखना चाहते हैं?", + cancelButton: "रद्द करें", + discardButton: "परिवर्तन छोड़ें", + }, + $ue = { + providers: "प्रदाता", + autoApprove: "अनुमोदन", + browser: "ब्राउज़र", + checkpoints: "चेकपॉइंट", + notifications: "सूचनाएँ", + contextManagement: "संदर्भ", + terminal: "टर्मिनल", + prompts: "प्रॉम्प्ट्स", + experimental: "प्रायोगिक", + language: "भाषा", + about: "परिचय", + }, + Lue = { + description: + "प्रॉम्प्ट्स को बेहतर बनाना, कोड की व्याख्या करना और समस्याओं को ठीक करना जैसी त्वरित कार्रवाइयों के लिए उपयोग किए जाने वाले सहायक प्रॉम्प्ट्स को कॉन्फ़िगर करें। ये प्रॉम्प्ट्स Roo को सामान्य विकास कार्यों के लिए बेहतर सहायता प्रदान करने में मदद करते हैं।", + }, + Due = { + title: "कोडबेस इंडेक्सिंग", + enableLabel: "कोडबेस इंडेक्सिंग सक्षम करें", + enableDescription: "बेहतर खोज और संदर्भ समझने के लिए कोड इंडेक्सिंग सक्षम करें", + providerLabel: "एम्बेडिंग प्रदाता", + selectProviderPlaceholder: "प्रदाता चुनें", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API कुंजी:", + geminiApiKeyPlaceholder: "अपना जेमिनी एपीआई कुंजी दर्ज करें", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API कुंजी:", + mistralApiKeyPlaceholder: "अपनी मिस्ट्रल एपीआई कुंजी दर्ज करें", + openaiCompatibleProvider: "OpenAI संगत", + openAiKeyLabel: "OpenAI API कुंजी", + openAiKeyPlaceholder: "अपना OpenAI API कुंजी दर्ज करें", + openAiCompatibleBaseUrlLabel: "आधार URL", + openAiCompatibleApiKeyLabel: "API कुंजी", + openAiCompatibleApiKeyPlaceholder: "अपना API कुंजी दर्ज करें", + openAiCompatibleModelDimensionLabel: "एम्बेडिंग आयाम:", + modelDimensionLabel: "मॉडल आयाम", + openAiCompatibleModelDimensionPlaceholder: "उदा., 1536", + openAiCompatibleModelDimensionDescription: + "आपके मॉडल के लिए एम्बेडिंग आयाम (आउटपुट साइज)। इस मान के लिए अपने प्रदाता के दस्तावेज़ीकरण की जांच करें। सामान्य मान: 384, 768, 1536, 3072।", + modelLabel: "मॉडल", + selectModelPlaceholder: "मॉडल चुनें", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant कुंजी:", + startIndexingButton: "शुरू करें", + clearIndexDataButton: "इंडेक्स साफ़ करें", + unsavedSettingsMessage: "इंडेक्सिंग प्रक्रिया शुरू करने से पहले कृपया अपनी सेटिंग्स सहेजें।", + clearDataDialog: { + title: "क्या आप सुनिश्चित हैं?", + description: "यह क्रिया पूर्ववत नहीं की जा सकती। यह आपके कोडबेस इंडेक्स डेटा को स्थायी रूप से हटा देगी।", + cancelButton: "रद्द करें", + confirmButton: "डेटा साफ़ करें", + }, + description: + "अपने प्रोजेक्ट की सिमेंटिक खोज को सक्षम करने के लिए कोडबेस इंडेक्सिंग सेटिंग्स कॉन्फ़िगर करें। <0>और जानें</0>", + statusTitle: "स्थिति", + settingsTitle: "इंडेक्सिंग सेटिंग्स", + disabledMessage: + "कोडबेस इंडेक्सिंग वर्तमान में अक्षम है। इंडेक्सिंग विकल्पों को कॉन्फ़िगर करने के लिए इसे ग्लोबल सेटिंग्स में सक्षम करें।", + embedderProviderLabel: "एम्बेडर प्रदाता", + modelPlaceholder: "मॉडल नाम दर्ज करें", + selectModel: "एक मॉडल चुनें", + ollamaBaseUrlLabel: "Ollama आधार URL", + qdrantApiKeyLabel: "Qdrant API कुंजी", + qdrantApiKeyPlaceholder: "अपनी Qdrant API कुंजी दर्ज करें (वैकल्पिक)", + setupConfigLabel: "सेटअप", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "सेटिंग्स सहेजने में विफल", + modelDimensions: "({{dimension}} आयाम)", + saveSuccess: "सेटिंग्स सफलतापूर्वक सहेजी गईं", + saving: "सहेज रहे हैं...", + saveSettings: "सहेजें", + indexingStatuses: { + standby: "स्टैंडबाई", + indexing: "इंडेक्सिंग", + indexed: "इंडेक्स किया गया", + error: "त्रुटि", + }, + close: "बंद करें", + validation: { + invalidQdrantUrl: "अमान्य Qdrant URL", + invalidOllamaUrl: "अमान्य Ollama URL", + invalidBaseUrl: "अमान्य बेस URL", + qdrantUrlRequired: "Qdrant URL आवश्यक है", + openaiApiKeyRequired: "OpenAI API कुंजी आवश्यक है", + modelSelectionRequired: "मॉडल चयन आवश्यक है", + apiKeyRequired: "API कुंजी आवश्यक है", + modelIdRequired: "मॉडल आईडी आवश्यक है", + modelDimensionRequired: "मॉडल आयाम आवश्यक है", + geminiApiKeyRequired: "Gemini API कुंजी आवश्यक है", + mistralApiKeyRequired: "मिस्ट्रल एपीआई कुंजी आवश्यक है", + ollamaBaseUrlRequired: "Ollama आधार URL आवश्यक है", + baseUrlRequired: "आधार URL आवश्यक है", + modelDimensionMinValue: "मॉडल आयाम 0 से बड़ा होना चाहिए", + }, + advancedConfigLabel: "उन्नत कॉन्फ़िगरेशन", + searchMinScoreLabel: "खोज स्कोर थ्रेसहोल्ड", + searchMinScoreDescription: + "खोज परिणामों के लिए आवश्यक न्यूनतम समानता स्कोर (0.0-1.0)। कम मान अधिक परिणाम लौटाते हैं लेकिन कम प्रासंगिक हो सकते हैं। उच्च मान कम लेकिन अधिक प्रासंगिक परिणाम लौटाते हैं।", + searchMinScoreResetTooltip: "डिफ़ॉल्ट मान पर रीसेट करें (0.4)", + searchMaxResultsLabel: "अधिकतम खोज परिणाम", + searchMaxResultsDescription: + "कोडबेस इंडेक्स को क्वेरी करते समय वापस करने के लिए खोज परिणामों की अधिकतम संख्या। उच्च मान अधिक संदर्भ प्रदान करते हैं लेकिन कम प्रासंगिक परिणाम शामिल कर सकते हैं।", + resetToDefault: "डिफ़ॉल्ट पर रीसेट करें", + }, + Nue = { + description: + "Roo को अनुमोदन की आवश्यकता के बिना स्वचालित रूप से ऑपरेशन करने की अनुमति दें। इन सेटिंग्स को केवल तभी सक्षम करें जब आप AI पर पूरी तरह से भरोसा करते हों और संबंधित सुरक्षा जोखिमों को समझते हों।", + enabled: "स्वत:-अनुमोदन सक्षम", + toggleAriaLabel: "स्वतः-अनुमोदन टॉगल करें", + disabledAriaLabel: "स्वतः-अनुमोदन अक्षम - पहले विकल्प चुनें", + readOnly: { + label: "पढ़ें", + description: + "जब सक्षम होता है, तो Roo आपके अनुमोदित बटन पर क्लिक किए बिना स्वचालित रूप से निर्देशिका सामग्री देखेगा और फाइलें पढ़ेगा।", + outsideWorkspace: { + label: "वर्कस्पेस के बाहर की फाइलें शामिल करें", + description: + "Roo को अनुमोदन की आवश्यकता के बिना वर्तमान वर्कस्पेस के बाहर की फाइलें पढ़ने की अनुमति दें।", + }, + }, + write: { + label: "लिखें", + description: "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से फाइलें बनाएँ और संपादित करें", + delayLabel: "लिखने के बाद विलंब ताकि डायग्नोस्टिक संभावित समस्याओं का पता लगा सकें", + outsideWorkspace: { + label: "वर्कस्पेस के बाहर की फाइलें शामिल करें", + description: + "Roo को अनुमोदन की आवश्यकता के बिना वर्तमान वर्कस्पेस के बाहर फाइलें बनाने और संपादित करने की अनुमति दें।", + }, + protected: { + label: "संरक्षित फाइलें शामिल करें", + description: + "Roo को अनुमोदन की आवश्यकता के बिना संरक्षित फाइलें (.rooignore और .roo/ कॉन्फ़िगरेशन फाइलें जैसी) बनाने और संपादित करने की अनुमति दें।", + }, + }, + browser: { + label: "ब्राउज़र", + description: + "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से ब्राउज़र क्रियाएँ करें — नोट: केवल तभी लागू होता है जब मॉडल कंप्यूटर उपयोग का समर्थन करता है", + }, + retry: { + label: "पुनः प्रयास", + description: "जब सर्वर त्रुटि प्रतिक्रिया देता है तो स्वचालित रूप से विफल API अनुरोधों को पुनः प्रयास करें", + delayLabel: "अनुरोध को पुनः प्रयास करने से पहले विलंब", + }, + mcp: { + label: "MCP", + description: + 'MCP सर्वर व्यू में व्यक्तिगत MCP टूल्स के स्वतः अनुमोदन को सक्षम करें (इस सेटिंग और टूल के "हमेशा अनुमति दें" चेकबॉक्स दोनों की आवश्यकता है)', + }, + modeSwitch: { + label: "मोड", + description: "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से विभिन्न मोड के बीच स्विच करें", + }, + subtasks: { + label: "उप-कार्य", + description: "अनुमोदन की आवश्यकता के बिना उप-कार्यों के निर्माण और पूर्णता की अनुमति दें", + }, + followupQuestions: { + label: "प्रश्न", + description: + "कॉन्फ़िगर किए गए टाइमआउट के बाद अनुवर्ती प्रश्नों के लिए पहले सुझाए गए उत्तर को स्वचालित रूप से चुनें", + timeoutLabel: "पहले उत्तर को स्वचालित रूप से चुनने से पहले प्रतीक्षा करने का समय", + }, + execute: { + label: "निष्पादित करें", + description: "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से अनुमत टर्मिनल कमांड निष्पादित करें", + allowedCommands: "अनुमत स्वतः-निष्पादन कमांड", + allowedCommandsDescription: + 'कमांड प्रीफिक्स जो स्वचालित रूप से निष्पादित किए जा सकते हैं जब "निष्पादन ऑपरेशन हमेशा अनुमोदित करें" सक्षम है। सभी कमांड की अनुमति देने के लिए * जोड़ें (सावधानी से उपयोग करें)।', + deniedCommands: "अस्वीकृत कमांड", + deniedCommandsDescription: + "कमांड प्रीफिक्स जो स्वचालित रूप से अस्वीकार हो जाएंगे बिना अनुमोदन की आवश्यकता के। अनुमत कमांड के साथ संघर्ष के मामले में, सबसे लंबा प्रीफिक्स मैच प्राथमिकता लेता है। सभी कमांड अस्वीकार करने के लिए * जोड़ें।", + commandPlaceholder: "कमांड प्रीफिक्स दर्ज करें (उदा. 'git ')", + deniedCommandPlaceholder: "अस्वीकार करने के लिए कमांड प्रीफिक्स दर्ज करें (उदा. 'rm -rf')", + addButton: "जोड़ें", + autoDenied: + "प्रीफिक्स `{{prefix}}` वाले कमांड उपयोगकर्ता द्वारा प्रतिबंधित किए गए हैं। दूसरा कमांड चलाकर इस प्रतिबंध को दरकिनार न करें।", + }, + updateTodoList: { + label: "टूडू", + description: "अनुमोदन की आवश्यकता के बिना स्वचालित रूप से टूडू सूची अपडेट करें", + }, + apiRequestLimit: { + title: "अधिकतम अनुरोध", + description: "कार्य जारी रखने के लिए अनुमति मांगने से पहले स्वचालित रूप से इतने API अनुरोध करें।", + unlimited: "असीमित", + }, + selectOptionsFirst: "स्वतः-अनुमोदन सक्षम करने के लिए नीचे से कम से कम एक विकल्प चुनें", + apiCostLimit: { unlimited: "असीमित", title: "अधिकतम लागत" }, + maxLimits: { description: "स्वचालित रूप से जारी रखने के लिए अनुमोदन माँगने से पहले इन सीमाओं तक अनुरोध करें।" }, + }, + Oue = JSON.parse( + `{"providerDocumentation":"{{provider}} दस्तावेज़ीकरण","configProfile":"कॉन्फिगरेशन प्रोफाइल","description":"विभिन्न API कॉन्फ़िगरेशन सहेजें ताकि प्रदाताओं और सेटिंग्स के बीच त्वरित रूप से स्विच कर सकें।","apiProvider":"API प्रदाता","model":"मॉडल","nameEmpty":"नाम खाली नहीं हो सकता","nameExists":"इस नाम वाला प्रोफ़ाइल पहले से मौजूद है","deleteProfile":"प्रोफ़ाइल हटाएं","invalidArnFormat":"अमान्य ARN प्रारूप। कृपया ऊपर दिए गए उदाहरण देखें।","enterNewName":"नया नाम दर्ज करें","addProfile":"प्रोफ़ाइल जोड़ें","renameProfile":"प्रोफ़ाइल का नाम बदलें","newProfile":"नया कॉन्फ़िगरेशन प्रोफ़ाइल","enterProfileName":"प्रोफ़ाइल नाम दर्ज करें","createProfile":"प्रोफ़ाइल बनाएं","cannotDeleteOnlyProfile":"केवल एकमात्र प्रोफ़ाइल को हटाया नहीं जा सकता","searchPlaceholder":"प्रोफ़ाइल खोजें","searchProviderPlaceholder":"प्रदाता खोजें","noProviderMatchFound":"कोई प्रदाता नहीं मिला","noMatchFound":"कोई मिलान प्रोफ़ाइल नहीं मिला","vscodeLmDescription":"VS कोड भाषा मॉडल API आपको अन्य VS कोड एक्सटेंशन (जैसे GitHub Copilot) द्वारा प्रदान किए गए मॉडल चलाने की अनुमति देता है। शुरू करने का सबसे आसान तरीका VS कोड मार्केटप्लेस से Copilot और Copilot चैट एक्सटेंशन इंस्टॉल करना है।","awsCustomArnUse":"आप जिस मॉडल का उपयोग करना चाहते हैं, उसके लिए एक वैध Amazon बेडरॉक ARN दर्ज करें। प्रारूप उदाहरण:","awsCustomArnDesc":"सुनिश्चित करें कि ARN में क्षेत्र ऊपर चयनित AWS क्षेत्र से मेल खाता है।","openRouterApiKey":"OpenRouter API कुंजी","getOpenRouterApiKey":"OpenRouter API कुंजी प्राप्त करें","apiKeyStorageNotice":"API कुंजियाँ VSCode के सुरक्षित स्टोरेज में सुरक्षित रूप से संग्रहीत हैं","glamaApiKey":"Glama API कुंजी","getGlamaApiKey":"Glama API कुंजी प्राप्त करें","useCustomBaseUrl":"कस्टम बेस URL का उपयोग करें","useReasoning":"तर्क सक्षम करें","useHostHeader":"कस्टम होस्ट हेडर का उपयोग करें","useLegacyFormat":"पुराने OpenAI API प्रारूप का उपयोग करें","customHeaders":"कस्टम हेडर्स","headerName":"हेडर नाम","headerValue":"हेडर मूल्य","noCustomHeaders":"कोई कस्टम हेडर परिभाषित नहीं है। एक जोड़ने के लिए + बटन पर क्लिक करें।","requestyApiKey":"Requesty API कुंजी","refreshModels":{"label":"मॉडल रिफ्रेश करें","hint":"नवीनतम मॉडल देखने के लिए कृपया सेटिंग्स को फिर से खोलें।","loading":"मॉडल सूची अपडेट हो रही है...","success":"मॉडल सूची सफलतापूर्वक अपडेट की गई!","error":"मॉडल सूची अपडेट करने में विफल। कृपया पुनः प्रयास करें।"},"getRequestyApiKey":"Requesty API कुंजी प्राप्त करें","openRouterTransformsText":"संदर्भ आकार के लिए प्रॉम्प्ट और संदेश श्रृंखलाओं को संपीड़ित करें (<a>OpenRouter ट्रांसफॉर्म</a>)","anthropicApiKey":"Anthropic API कुंजी","getAnthropicApiKey":"Anthropic API कुंजी प्राप्त करें","anthropicUseAuthToken":"X-Api-Key के बजाय Anthropic API कुंजी को Authorization हेडर के रूप में पास करें","cerebrasApiKey":"Cerebras API कुंजी","getCerebrasApiKey":"Cerebras API कुंजी प्राप्त करें","chutesApiKey":"Chutes API कुंजी","getChutesApiKey":"Chutes API कुंजी प्राप्त करें","fireworksApiKey":"Fireworks API कुंजी","getFireworksApiKey":"Fireworks API कुंजी प्राप्त करें","deepSeekApiKey":"DeepSeek API कुंजी","getDeepSeekApiKey":"DeepSeek API कुंजी प्राप्त करें","doubaoApiKey":"डौबाओ API कुंजी","getDoubaoApiKey":"डौबाओ API कुंजी प्राप्त करें","moonshotApiKey":"Moonshot API कुंजी","getMoonshotApiKey":"Moonshot API कुंजी प्राप्त करें","moonshotBaseUrl":"Moonshot प्रवेश बिंदु","zaiApiKey":"Z AI API कुंजी","getZaiApiKey":"Z AI API कुंजी प्राप्त करें","zaiEntrypoint":"Z AI प्रवेश बिंदु","zaiEntrypointDescription":"कृपया अपने स्थान के आधार पर उपयुक्त API प्रवेश बिंदु का चयन करें। यदि आप चीन में हैं, तो open.bigmodel.cn चुनें। अन्यथा, api.z.ai चुनें।","geminiApiKey":"Gemini API कुंजी","getGroqApiKey":"Groq API कुंजी प्राप्त करें","groqApiKey":"Groq API कुंजी","getSambaNovaApiKey":"SambaNova API कुंजी प्राप्त करें","sambaNovaApiKey":"SambaNova API कुंजी","getHuggingFaceApiKey":"Hugging Face API कुंजी प्राप्त करें","huggingFaceApiKey":"Hugging Face API कुंजी","huggingFaceModelId":"मॉडल ID","huggingFaceLoading":"लोड हो रहा है...","huggingFaceModelsCount":"({{count}} मॉडल)","huggingFaceSelectModel":"एक मॉडल चुनें...","huggingFaceSearchModels":"मॉडल खोजें...","huggingFaceNoModelsFound":"कोई मॉडल नहीं मिला","huggingFaceProvider":"प्रदाता","huggingFaceProviderAuto":"स्वचालित","huggingFaceSelectProvider":"एक प्रदाता चुनें...","huggingFaceSearchProviders":"प्रदाता खोजें...","huggingFaceNoProvidersFound":"कोई प्रदाता नहीं मिला","getGeminiApiKey":"Gemini API कुंजी प्राप्त करें","openAiApiKey":"OpenAI API कुंजी","apiKey":"API कुंजी","openAiBaseUrl":"बेस URL","getOpenAiApiKey":"OpenAI API कुंजी प्राप्त करें","mistralApiKey":"Mistral API कुंजी","getMistralApiKey":"Mistral / Codestral API कुंजी प्राप्त करें","codestralBaseUrl":"Codestral बेस URL (वैकल्पिक)","codestralBaseUrlDesc":"Codestral मॉडल के लिए वैकल्पिक URL सेट करें।","xaiApiKey":"xAI API कुंजी","getXaiApiKey":"xAI API कुंजी प्राप्त करें","litellmApiKey":"LiteLLM API कुंजी","litellmBaseUrl":"LiteLLM आधार URL","awsCredentials":"AWS क्रेडेंशियल्स","awsProfile":"AWS प्रोफाइल","awsApiKey":"Amazon बेडरॉक API कुंजी","awsProfileName":"AWS प्रोफाइल नाम","awsAccessKey":"AWS एक्सेस कुंजी","awsSecretKey":"AWS सीक्रेट कुंजी","awsSessionToken":"AWS सत्र टोकन","awsRegion":"AWS क्षेत्र","awsCrossRegion":"क्रॉस-क्षेत्र अनुमान का उपयोग करें","awsBedrockVpc":{"useCustomVpcEndpoint":"कस्टम VPC एंडपॉइंट का उपयोग करें","vpcEndpointUrlPlaceholder":"VPC एंडपॉइंट URL दर्ज करें (वैकल्पिक)","examples":"उदाहरण:"},"enablePromptCaching":"प्रॉम्प्ट कैशिंग सक्षम करें","enablePromptCachingTitle":"समर्थित मॉडल के लिए प्रदर्शन में सुधार और लागत को कम करने के लिए प्रॉम्प्ट कैशिंग सक्षम करें।","cacheUsageNote":"नोट: यदि आप कैश उपयोग नहीं देखते हैं, तो एक अलग मॉडल चुनने का प्रयास करें और फिर अपने वांछित मॉडल को पुनः चुनें।","vscodeLmModel":"भाषा मॉडल","vscodeLmWarning":"नोट: यह एक बहुत ही प्रायोगिक एकीकरण है और प्रदाता समर्थन भिन्न होगा। यदि आपको किसी मॉडल के समर्थित न होने की त्रुटि मिलती है, तो यह प्रदाता की ओर से एक समस्या है।","geminiParameters":{"urlContext":{"title":"URL संदर्भ सक्षम करें","description":"जब प्रतिक्रिया उत्पन्न होती है, अतिरिक्त संदर्भ के लिए Gemini को URL तक पहुंचने और संसाधित करने की अनुमति देता है। वेब सामग्री विश्लेषण वाली कार्यों के लिए उपयोगी।"},"groundingSearch":{"title":"Google खोज के साथ ग्राउंडिंग सक्षम करें","description":"Gemini को वास्तविक समय के डेटा पर आधारित उत्तर प्रदान करने के लिए Google पर जानकारी खोजने और उत्तरों को ग्राउंड करने की अनुमति देता है। अद्यतित जानकारी की आवश्यकता वाली क्वेरीज़ के लिए उपयोगी।"}},"googleCloudSetup":{"title":"Google Cloud Vertex AI का उपयोग करने के लिए, आपको आवश्यकता है:","step1":"1. Google Cloud खाता बनाएं, Vertex AI API सक्षम करें और वांछित Claude मॉडल सक्षम करें।","step2":"2. Google Cloud CLI इंस्टॉल करें और एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल्स कॉन्फ़िगर करें।","step3":"3. या क्रेडेंशियल्स के साथ एक सर्विस अकाउंट बनाएं।"},"googleCloudCredentials":"Google Cloud क्रेडेंशियल्स","googleCloudKeyFile":"Google Cloud कुंजी फ़ाइल पथ","googleCloudProjectId":"Google Cloud प्रोजेक्ट ID","googleCloudRegion":"Google Cloud क्षेत्र","lmStudio":{"baseUrl":"बेस URL (वैकल्पिक)","modelId":"मॉडल ID","speculativeDecoding":"स्पेक्युलेटिव डिकोडिंग सक्षम करें","draftModelId":"ड्राफ्ट मॉडल ID","draftModelDesc":"स्पेक्युलेटिव डिकोडिंग के सही काम करने के लिए ड्राफ्ट मॉडल को समान मॉडल परिवार से होना चाहिए।","selectDraftModel":"ड्राफ्ट मॉडल चुनें","noModelsFound":"कोई ड्राफ्ट मॉडल नहीं मिला। कृपया सुनिश्चित करें कि LM Studio सर्वर मोड सक्षम के साथ चल रहा है।","description":"LM Studio आपको अपने कंप्यूटर पर स्थानीय रूप से मॉडल चलाने की अनुमति देता है। आरंभ करने के निर्देशों के लिए, उनकी <a>क्विकस्टार्ट गाइड</a> देखें। आपको इस एक्सटेंशन के साथ उपयोग करने के लिए LM Studio की <b>स्थानीय सर्वर</b> सुविधा भी शुरू करनी होगी। <span>नोट:</span> Roo Code जटिल प्रॉम्प्ट्स का उपयोग करता है और Claude मॉडल के साथ सबसे अच्छा काम करता है। कम क्षमता वाले मॉडल अपेक्षित रूप से काम नहीं कर सकते हैं।"},"ollama":{"baseUrl":"बेस URL (वैकल्पिक)","modelId":"मॉडल ID","description":"Ollama आपको अपने कंप्यूटर पर स्थानीय रूप से मॉडल चलाने की अनुमति देता है। आरंभ करने के निर्देशों के लिए, उनकी क्विकस्टार्ट गाइड देखें।","warning":"नोट: Roo Code जटिल प्रॉम्प्ट्स का उपयोग करता है और Claude मॉडल के साथ सबसे अच्छा काम करता है। कम क्षमता वाले मॉडल अपेक्षित रूप से काम नहीं कर सकते हैं।"},"unboundApiKey":"Unbound API कुंजी","getUnboundApiKey":"Unbound API कुंजी प्राप्त करें","unboundRefreshModelsSuccess":"मॉडल सूची अपडेट हो गई है! अब आप नवीनतम मॉडलों में से चुन सकते हैं।","unboundInvalidApiKey":"अमान्य API कुंजी। कृपया अपनी API कुंजी की जांच करें और पुनः प्रयास करें।","humanRelay":{"description":"कोई API कुंजी आवश्यक नहीं है, लेकिन उपयोगकर्ता को वेब चैट AI में जानकारी कॉपी और पेस्ट करने में मदद करनी होगी।","instructions":"उपयोग के दौरान, एक डायलॉग बॉक्स पॉप अप होगा और वर्तमान संदेश स्वचालित रूप से क्लिपबोर्ड पर कॉपी हो जाएगा। आपको इन्हें AI के वेब संस्करणों (जैसे ChatGPT या Claude) में पेस्ट करना होगा, फिर AI की प्रतिक्रिया को डायलॉग बॉक्स में वापस कॉपी करें और पुष्टि बटन पर क्लिक करें।"},"openRouter":{"providerRouting":{"title":"OpenRouter प्रदाता रूटिंग","description":"OpenRouter आपके मॉडल के लिए सर्वोत्तम उपलब्ध प्रदाताओं को अनुरोध भेजता है। डिफ़ॉल्ट रूप से, अपटाइम को अधिकतम करने के लिए अनुरोधों को शीर्ष प्रदाताओं के बीच संतुलित किया जाता है। हालांकि, आप इस मॉडल के लिए उपयोग करने के लिए एक विशिष्ट प्रदाता चुन सकते हैं।","learnMore":"प्रदाता रूटिंग के बारे में अधिक जानें"}},"customModel":{"capabilities":"अपने कस्टम OpenAI-संगत मॉडल के लिए क्षमताओं और मूल्य निर्धारण को कॉन्फ़िगर करें। मॉडल क्षमताओं को निर्दिष्ट करते समय सावधान रहें, क्योंकि वे Roo Code के प्रदर्शन को प्रभावित कर सकती हैं।","maxTokens":{"label":"अधिकतम आउटपुट टोकन","description":"मॉडल एक प्रतिक्रिया में अधिकतम कितने टोकन जनरेट कर सकता है। (सर्वर को अधिकतम टोकन सेट करने की अनुमति देने के लिए -1 निर्दिष्ट करें।)"},"contextWindow":{"label":"संदर्भ विंडो आकार","description":"कुल टोकन (इनपुट + आउटपुट) जो मॉडल प्रोसेस कर सकता है।"},"imageSupport":{"label":"छवि समर्थन","description":"क्या यह मॉडल छवियों को प्रोसेस और समझने में सक्षम है?"},"computerUse":{"label":"कंप्यूटर उपयोग","description":"क्या यह मॉडल ब्राउज़र के साथ इंटरैक्ट करने में सक्षम है? (उदा. Claude 3.7 Sonnet)।"},"promptCache":{"label":"प्रॉम्प्ट कैशिंग","description":"क्या यह मॉडल प्रॉम्प्ट्स को कैश करने में सक्षम है?"},"pricing":{"input":{"label":"इनपुट मूल्य","description":"इनपुट/प्रॉम्प्ट में प्रति मिलियन टोकन की लागत। यह मॉडल को संदर्भ और निर्देश भेजने की लागत को प्रभावित करता है।"},"output":{"label":"आउटपुट मूल्य","description":"मॉडल की प्रतिक्रिया में प्रति मिलियन टोकन की लागत। यह जनरेट की गई सामग्री और पूर्णताओं की लागत को प्रभावित करता है।"},"cacheReads":{"label":"कैश रीड्स मूल्य","description":"कैश से पढ़ने के लिए प्रति मिलियन टोकन की लागत। यह वह मूल्य है जो कैश की गई प्रतिक्रिया प्राप्त करने पर लगाया जाता है।"},"cacheWrites":{"label":"कैश राइट्स मूल्य","description":"कैश में लिखने के लिए प्रति मिलियन टोकन की लागत। यह वह मूल्य है जो पहली बार प्रॉम्प्ट को कैश करने पर लगाया जाता है।"}},"resetDefaults":"डिफ़ॉल्ट पर रीसेट करें"},"rateLimitSeconds":{"label":"दर सीमा","description":"API अनुरोधों के बीच न्यूनतम समय।"},"consecutiveMistakeLimit":{"label":"त्रुटि और पुनरावृत्ति सीमा","description":"'रू को समस्या हो रही है' संवाद दिखाने से पहले लगातार त्रुटियों या दोहराए गए कार्यों की संख्या","unlimitedDescription":"असीमित पुनः प्रयास सक्षम (स्वतः आगे बढ़ें)। संवाद कभी नहीं दिखाई देगा।","warning":"⚠️ 0 पर सेट करने से असीमित पुनः प्रयास की अनुमति मिलती है जिससे महत्वपूर्ण एपीआई उपयोग हो सकता है"},"reasoningEffort":{"label":"मॉडल तर्क प्रयास","high":"उच्च","medium":"मध्यम","low":"निम्न"},"setReasoningLevel":"तर्क प्रयास सक्षम करें","claudeCode":{"pathLabel":"क्लाउड कोड पथ","description":"आपके क्लाउड कोड सीएलआई का वैकल्पिक पथ। यदि सेट नहीं है तो डिफ़ॉल्ट 'claude' है।","placeholder":"डिफ़ॉल्ट: claude","maxTokensLabel":"अधिकतम आउटपुट टोकन","maxTokensDescription":"Claude Code प्रतिक्रियाओं के लिए आउटपुट टोकन की अधिकतम संख्या। डिफ़ॉल्ट 8000 है।"}}`, + ), + Fue = { + enable: { + label: "ब्राउज़र टूल सक्षम करें", + description: + "जब सक्षम होता है, तो Roo कंप्यूटर उपयोग का समर्थन करने वाले मॉडल का उपयोग करते समय वेबसाइटों के साथ बातचीत करने के लिए ब्राउज़र का उपयोग कर सकता है। <0>अधिक जानें</0>", + }, + viewport: { + label: "व्यूपोर्ट आकार", + description: + "ब्राउज़र इंटरैक्शन के लिए व्यूपोर्ट आकार चुनें। यह वेबसाइटों के प्रदर्शन और उनके साथ बातचीत को प्रभावित करता है।", + options: { + largeDesktop: "बड़ा डेस्कटॉप (1280x800)", + smallDesktop: "छोटा डेस्कटॉप (900x600)", + tablet: "टैबलेट (768x1024)", + mobile: "मोबाइल (360x640)", + }, + }, + screenshotQuality: { + label: "स्क्रीनशॉट गुणवत्ता", + description: + "ब्राउज़र स्क्रीनशॉट की WebP गुणवत्ता समायोजित करें। उच्च मान स्पष्ट स्क्रीनशॉट प्रदान करते हैं लेकिन token उपयोग बढ़ाते हैं।", + }, + remote: { + label: "दूरस्थ ब्राउज़र कनेक्शन का उपयोग करें", + description: + "रिमोट डीबगिंग सक्षम के साथ चल रहे Chrome ब्राउज़र से कनेक्ट करें (--remote-debugging-port=9222)।", + urlPlaceholder: "कस्टम URL (उदा. http://localhost:9222)", + testButton: "कनेक्शन का परीक्षण करें", + testingButton: "परीक्षण हो रहा है...", + instructions: + "DevTools प्रोटोकॉल होस्ट पता दर्ज करें या Chrome स्थानीय इंस्टेंस स्वतः खोजने के लिए खाली छोड़ दें। टेस्ट कनेक्शन बटन यदि प्रदान किया गया है तो कस्टम URL का प्रयास करेगा, या यदि फ़ील्ड खाली है तो स्वतः खोज करेगा।", + }, + }, + Bue = { + enable: { + label: "स्वचालित चेकपॉइंट सक्षम करें", + description: + "जब सक्षम होता है, तो Roo कार्य निष्पादन के दौरान स्वचालित रूप से चेकपॉइंट बनाएगा, जिससे परिवर्तनों की समीक्षा करना या पहले की स्थितियों पर वापस जाना आसान हो जाएगा। <0>अधिक जानें</0>", + }, + }, + Uue = { + sound: { + label: "ध्वनि प्रभाव सक्षम करें", + description: "जब सक्षम होता है, तो Roo सूचनाओं और घटनाओं के लिए ध्वनि प्रभाव चलाएगा।", + volumeLabel: "वॉल्यूम", + }, + tts: { + label: "टेक्स्ट-टू-स्पीच सक्षम करें", + description: "जब सक्षम होता है, तो Roo टेक्स्ट-टू-स्पीच का उपयोग करके अपनी प्रतिक्रियाओं को बोलकर पढ़ेगा।", + speedLabel: "गति", + }, + }, + que = { + description: + "AI के संदर्भ विंडो में शामिल जानकारी को नियंत्रित करें, जो token उपयोग और प्रतिक्रिया गुणवत्ता को प्रभावित करता है", + autoCondenseContextPercent: { + label: "बुद्धिमान संदर्भ संघनन को ट्रिगर करने की सीमा", + description: "जब संदर्भ विंडो इस सीमा तक पहुंचती है, तो Roo इसे स्वचालित रूप से संघनित कर देगा।", + }, + condensingApiConfiguration: { + label: "संदर्भ संघनन के लिए API कॉन्फ़िगरेशन", + description: + "संदर्भ संघनन कार्यों के लिए किस API कॉन्फ़िगरेशन का उपयोग करना है, यह चुनें। वर्तमान सक्रिय कॉन्फ़िगरेशन का उपयोग करने के लिए अचयनित छोड़ें।", + useCurrentConfig: "डिफ़ॉल्ट", + }, + customCondensingPrompt: { + label: "कस्टम संदर्भ संघनन प्रॉम्प्ट", + description: + "संदर्भ संघनन के लिए कस्टम सिस्टम प्रॉम्प्ट। डिफ़ॉल्ट प्रॉम्प्ट का उपयोग करने के लिए खाली छोड़ें।", + placeholder: `अपना कस्टम संघनन प्रॉम्प्ट यहाँ दर्ज करें... + +आप डिफ़ॉल्ट प्रॉम्प्ट जैसी ही संरचना का उपयोग कर सकते हैं: +- पिछली बातचीत +- वर्तमान कार्य +- प्रमुख तकनीकी अवधारणाएँ +- प्रासंगिक फ़ाइलें और कोड +- समस्या समाधान +- लंबित कार्य और अगले चरण`, + reset: "डिफ़ॉल्ट पर रीसेट करें", + hint: "खाली = डिफ़ॉल्ट प्रॉम्प्ट का उपयोग करें", + }, + autoCondenseContext: { + name: "बुद्धिमान संदर्भ संघनन को स्वचालित रूप से ट्रिगर करें", + description: + "जब सक्षम हो, तो Roo स्वचालित रूप से संदर्भ को संघनित करेगा जब सीमा पहुंच जाएगी। जब अक्षम हो, तो आप अभी भी मैन्युअल रूप से संदर्भ संघनन को ट्रिगर कर सकते हैं।", + }, + openTabs: { + label: "खुले टैब संदर्भ सीमा", + description: + "संदर्भ में शामिल करने के लिए VSCode खुले टैब की अधिकतम संख्या। उच्च मान अधिक संदर्भ प्रदान करते हैं लेकिन token उपयोग बढ़ाते हैं।", + }, + workspaceFiles: { + label: "वर्कस्पेस फाइल संदर्भ सीमा", + description: + "वर्तमान कार्य निर्देशिका विवरण में शामिल करने के लिए फाइलों की अधिकतम संख्या। उच्च मान अधिक संदर्भ प्रदान करते हैं लेकिन token उपयोग बढ़ाते हैं।", + }, + rooignore: { + label: "सूचियों और खोजों में .rooignore फाइलें दिखाएँ", + description: + "जब सक्षम होता है, .rooignore में पैटर्न से मेल खाने वाली फाइलें लॉक प्रतीक के साथ सूचियों में दिखाई जाएंगी। जब अक्षम होता है, ये फाइलें फाइल सूचियों और खोजों से पूरी तरह छिपा दी जाएंगी।", + }, + maxReadFile: { + label: "फ़ाइल पढ़ने का स्वचालित काटने की सीमा", + description: + "जब मॉडल प्रारंभ/अंत मान नहीं देता है, तो Roo इतनी पंक्तियाँ पढ़ता है। यदि यह संख्या फ़ाइल की कुल पंक्तियों से कम है, तो Roo कोड परिभाषाओं का पंक्ति क्रमांक इंडेक्स बनाता है। विशेष मामले: -1 Roo को पूरी फ़ाइल पढ़ने का निर्देश देता है (इंडेक्सिंग के बिना), और 0 कोई पंक्ति न पढ़ने और न्यूनतम संदर्भ के लिए केवल पंक्ति इंडेक्स प्रदान करने का निर्देश देता है। कम मान प्रारंभिक संदर्भ उपयोग को कम करते हैं, जो बाद में सटीक पंक्ति श्रेणी पढ़ने की अनुमति देता है। स्पष्ट प्रारंभ/अंत अनुरोध इस सेटिंग से सीमित नहीं हैं।", + lines: "पंक्तियाँ", + always_full_read: "हमेशा पूरी फ़ाइल पढ़ें", + }, + maxConcurrentFileReads: { + label: "एक साथ फ़ाइल पढ़ने की सीमा", + description: + "'read_file' टूल द्वारा एक साथ प्रोसेस की जा सकने वाली अधिकतम फ़ाइलों की संख्या। उच्च मान कई छोटी फ़ाइलों को पढ़ने की गति बढ़ा सकते हैं लेकिन मेमोरी उपयोग बढ़ा देते हैं।", + }, + diagnostics: { + includeMessages: { + label: "स्वचालित रूप से संदर्भ में डायग्नोस्टिक शामिल करें", + description: + "जब सक्षम होता है, तो संपादित फ़ाइलों से डायग्नोस्टिक संदेश (त्रुटियां) स्वचालित रूप से संदर्भ में शामिल किए जाएंगे। आप हमेशा @problems का उपयोग करके सभी कार्यक्षेत्र डायग्नोस्टिक को मैन्युअल रूप से शामिल कर सकते हैं।", + }, + maxMessages: { + label: "अधिकतम डायग्नोस्टिक संदेश", + description: + "प्रति फ़ाइल शामिल किए जाने वाले डायग्नोस्टिक संदेशों की अधिकतम संख्या। यह सीमा स्वचालित समावेशन (जब चेकबॉक्स सक्षम है) और मैन्युअल @problems उल्लेख दोनों पर लागू होती है। उच्च मान अधिक संदर्भ प्रदान करते हैं लेकिन टोकन उपयोग बढ़ाते हैं।", + resetTooltip: "डिफ़ॉल्ट मान पर रीसेट करें (50)", + unlimited: "असीमित डायग्नोस्टिक संदेश", + unlimitedLabel: "असीमित", + }, + delayAfterWrite: { + label: "संभावित समस्याओं का पता लगाने के लिए डायग्नोस्टिक्स को अनुमति देने के लिए लिखने के बाद देरी", + description: + "फ़ाइल लिखने के बाद आगे बढ़ने से पहले प्रतीक्षा करने का समय, डायग्नोस्टिक टूल को परिवर्तनों को संसाधित करने और समस्याओं का पता लगाने की अनुमति देता है।", + }, + }, + condensingThreshold: { + label: "संघनन ट्रिगर सीमा", + selectProfile: "प्रोफ़ाइल के लिए सीमा कॉन्फ़िगर करें", + defaultProfile: "वैश्विक डिफ़ॉल्ट (सभी प्रोफ़ाइल)", + defaultDescription: + "जब संदर्भ इस प्रतिशत तक पहुंचता है, तो यह सभी प्रोफ़ाइल के लिए स्वचालित रूप से संघनित हो जाएगा जब तक कि उनकी कस्टम सेटिंग्स न हों", + profileDescription: "केवल इस प्रोफ़ाइल के लिए कस्टम सीमा (वैश्विक डिफ़ॉल्ट को ओवरराइड करता है)", + inheritDescription: "यह प्रोफ़ाइल वैश्विक डिफ़ॉल्ट सीमा को इनहेरिट करता है ({{threshold}}%)", + usesGlobal: "(वैश्विक {{threshold}}% का उपयोग करता है)", + }, + maxImageFileSize: { + label: "अधिकतम छवि फ़ाइल आकार", + mb: "MB", + description: "छवि फ़ाइलों के लिए अधिकतम आकार (MB में) जो read file tool द्वारा प्रसंस्कृत किया जा सकता है।", + }, + maxTotalImageSize: { + label: "अधिकतम कुल छवि आकार", + mb: "MB", + description: + "एकल read_file ऑपरेशन में संसाधित सभी छवियों के लिए अधिकतम संचयी आकार सीमा (MB में)। कई छवियों को पढ़ते समय, प्रत्येक छवि का आकार कुल में जोड़ा जाता है। यदि किसी अन्य छवि को शामिल करने से यह सीमा पार हो जाएगी, तो उसे छोड़ दिया जाएगा।", + }, + }, + Wue = { + basic: { label: "टर्मिनल सेटिंग्स: मूल", description: "मूल टर्मिनल सेटिंग्स" }, + advanced: { + label: "टर्मिनल सेटिंग्स: उन्नत", + description: "निम्नलिखित विकल्पों को लागू करने के लिए टर्मिनल को पुनरारंभ करने की आवश्यकता हो सकती है", + }, + outputLineLimit: { + label: "टर्मिनल आउटपुट सीमा", + description: + "कमांड निष्पादित करते समय टर्मिनल आउटपुट में शामिल करने के लिए पंक्तियों की अधिकतम संख्या। पार होने पर पंक्तियाँ मध्य से हटा दी जाएंगी, token बचाते हुए। <0>अधिक जानें</0>", + }, + outputCharacterLimit: { + label: "टर्मिनल वर्ण सीमा", + description: + "कमांड निष्पादित करते समय टर्मिनल आउटपुट में शामिल किए जाने वाले वर्णों की अधिकतम संख्या। यह सीमा अत्यधिक लंबी लाइनों से मेमोरी समस्याओं को रोकने के लिए लाइन सीमा पर पूर्वता लेती है। जब यह सीमा पार हो जाती है, तो आउटपुट छोटा कर दिया जाएगा। <0>और जानें</0>", + }, + shellIntegrationTimeout: { + label: "टर्मिनल शेल एकीकरण टाइमआउट", + description: + 'कमांड निष्पादित करने से पहले शेल एकीकरण के आरंभ होने के लिए प्रतीक्षा का अधिकतम समय। लंबे शेल स्टार्टअप समय वाले उपयोगकर्ताओं के लिए, यदि आप टर्मिनल में "Shell Integration Unavailable" त्रुटियाँ देखते हैं तो इस मान को बढ़ाने की आवश्यकता हो सकती है। <0>अधिक जानें</0>', + }, + shellIntegrationDisabled: { + label: "टर्मिनल शेल एकीकरण अक्षम करें", + description: + "इसे सक्षम करें यदि टर्मिनल कमांड सही ढंग से काम नहीं कर रहे हैं या आपको 'शेल एकीकरण अनुपलब्ध' त्रुटियाँ दिखाई देती हैं। यह कमांड चलाने के लिए एक सरल विधि का उपयोग करता है, कुछ उन्नत टर्मिनल सुविधाओं को दरकिनार करते हुए। <0>अधिक जानें</0>", + }, + commandDelay: { + label: "टर्मिनल कमांड विलंब", + description: + "कमांड निष्पादन के बाद जोड़ने के लिए मिलीसेकंड में विलंब। 0 का डिफ़ॉल्ट सेटिंग विलंब को पूरी तरह से अक्षम कर देता है। यह टाइमिंग समस्याओं वाले टर्मिनलों में कमांड आउटपुट को पूरी तरह से कैप्चर करने में मदद कर सकता है। अधिकांश टर्मिनलों में यह `PROMPT_COMMAND='sleep N'` सेट करके कार्यान्वित किया जाता है और Powershell प्रत्येक कमांड के अंत में `start-sleep` जोड़ता है। मूल रूप से यह VSCode बग#237208 के लिए एक समाधान था और इसकी आवश्यकता नहीं हो सकती है। <0>अधिक जानें</0>", + }, + compressProgressBar: { + label: "प्रगति बार आउटपुट संपीड़ित करें", + description: + "जब सक्षम किया जाता है, तो कैरिज रिटर्न (\\r) के साथ टर्मिनल आउटपुट को संसाधित करता है, जो वास्तविक टर्मिनल द्वारा सामग्री प्रदर्शित करने के तरीके का अनुकरण करता है। यह प्रगति बार के मध्यवर्ती स्थितियों को हटाता है, केवल अंतिम स्थिति को बनाए रखता है, जिससे अधिक प्रासंगिक जानकारी के लिए संदर्भ स्थान संरक्षित होता है। <0>अधिक जानें</0>", + }, + powershellCounter: { + label: "PowerShell काउंटर समाधान सक्षम करें", + description: + "सक्षम होने पर, कमांड के सही निष्पादन को सुनिश्चित करने के लिए PowerShell कमांड में एक काउंटर जोड़ता है। यह उन PowerShell टर्मिनलों के साथ मदद करता है जिनमें आउटपुट कैप्चर करने में समस्याएं हो सकती हैं। <0>अधिक जानें</0>", + }, + zshClearEolMark: { + label: "ZSH EOL मार्क साफ़ करें", + description: + "सक्षम होने पर, PROMPT_EOL_MARK='' सेट करके ZSH लाइन-समाप्ति मार्क को साफ़ करता है। यह कमांड आउटपुट की व्याख्या में समस्याओं को रोकता है जब आउटपुट '%' जैसे विशेष वर्णों के साथ समाप्त होता है। <0>अधिक जानें</0>", + }, + zshOhMy: { + label: "Oh My Zsh एकीकरण सक्षम करें", + description: + "सक्षम होने पर, Oh My Zsh शेल एकीकरण सुविधाओं को सक्षम करने के लिए ITERM_SHELL_INTEGRATION_INSTALLED=Yes सेट करता है। इस सेटिंग को लागू करने के लिए IDE को पुनरारंभ करने की आवश्यकता हो सकती है। <0>अधिक जानें</0>", + }, + zshP10k: { + label: "Powerlevel10k एकीकरण सक्षम करें", + description: + "सक्षम होने पर, Powerlevel10k शेल एकीकरण सुविधाओं को सक्षम करने के लिए POWERLEVEL9K_TERM_SHELL_INTEGRATION=true सेट करता है। <0>अधिक जानें</0>", + }, + zdotdir: { + label: "ZDOTDIR प्रबंधन सक्षम करें", + description: + "सक्षम होने पर, zsh शेल एकीकरण को सही ढंग से संभालने के लिए ZDOTDIR के लिए एक अस्थायी डायरेक्टरी बनाता है। यह आपके zsh कॉन्फ़िगरेशन को बनाए रखते हुए VSCode शेल एकीकरण को zsh के साथ सही ढंग से काम करने की सुनिश्चितता करता है। <0>अधिक जानें</0>", + }, + inheritEnv: { + label: "पर्यावरण चर विरासत में लें", + description: + "सक्षम होने पर, टर्मिनल VSCode के मूल प्रक्रिया से पर्यावरण चर विरासत में लेता है, जैसे उपयोगकर्ता प्रोफ़ाइल में परिभाषित शेल एकीकरण सेटिंग्स। यह VSCode की वैश्विक सेटिंग `terminal.integrated.inheritEnv` को सीधे टॉगल करता है। <0>अधिक जानें</0>", + }, + }, + Kue = { title: "उन्नत सेटिंग्स" }, + Vue = { + diff: { + label: "diffs के माध्यम से संपादन सक्षम करें", + description: + "जब सक्षम होता है, Roo फाइलों को तेजी से संपादित कर सकेगा और स्वचालित रूप से काटे गए पूर्ण-फाइल लेखन को अस्वीकार करेगा। नवीनतम Claude 3.7 Sonnet मॉडल के साथ सबसे अच्छा काम करता है।", + strategy: { + label: "Diff रणनीति", + options: { + standard: "मानक (एकल ब्लॉक)", + multiBlock: "प्रायोगिक: मल्टी-ब्लॉक diff", + unified: "प्रायोगिक: एकीकृत diff", + }, + descriptions: { + standard: "मानक diff रणनीति एक समय में एक कोड ब्लॉक पर परिवर्तन लागू करती है।", + unified: + "एकीकृत diff रणनीति diffs लागू करने के लिए कई दृष्टिकोण लेती है और सर्वोत्तम दृष्टिकोण चुनती है।", + multiBlock: + "मल्टी-ब्लॉक diff रणनीति एक अनुरोध में एक फाइल में कई कोड ब्लॉक अपडेट करने की अनुमति देती है।", + }, + }, + matchPrecision: { + label: "मिलान सटीकता", + description: + "यह स्लाइडर नियंत्रित करता है कि diffs लागू करते समय कोड अनुभागों को कितनी सटीकता से मेल खाना चाहिए। निम्न मान अधिक लचीले मिलान की अनुमति देते हैं लेकिन गलत प्रतिस्थापन का जोखिम बढ़ाते हैं। 100% से नीचे के मानों का उपयोग अत्यधिक सावधानी के साथ करें।", + }, + }, + todoList: { + label: "टूडू सूची टूल सक्षम करें", + description: + "जब सक्षम हो, तो Roo कार्य प्रगति को ट्रैक करने के लिए टूडू सूचियाँ बना और प्रबंधित कर सकता है। यह जटिल कार्यों को प्रबंधनीय चरणों में व्यवस्थित करने में मदद करता है।", + }, + }, + Hue = { + DIFF_STRATEGY_UNIFIED: { + name: "प्रायोगिक एकीकृत diff रणनीति का उपयोग करें", + description: + "प्रायोगिक एकीकृत diff रणनीति सक्षम करें। यह रणनीति मॉडल त्रुटियों के कारण पुनः प्रयासों की संख्या को कम कर सकती है, लेकिन अप्रत्याशित व्यवहार या गलत संपादन का कारण बन सकती है। केवल तभी सक्षम करें जब आप जोखिमों को समझते हों और सभी परिवर्तनों की सावधानीपूर्वक समीक्षा करने के लिए तैयार हों।", + }, + SEARCH_AND_REPLACE: { + name: "प्रायोगिक खोज और प्रतिस्थापन उपकरण का उपयोग करें", + description: + "प्रायोगिक खोज और प्रतिस्थापन उपकरण सक्षम करें, जो Roo को एक अनुरोध में खोज शब्द के कई उदाहरणों को बदलने की अनुमति देता है।", + }, + INSERT_BLOCK: { + name: "प्रायोगिक सामग्री सम्मिलित करने के उपकरण का उपयोग करें", + description: + "प्रायोगिक सामग्री सम्मिलित करने के उपकरण को सक्षम करें, जो Roo को diff बनाए बिना विशिष्ट लाइन नंबरों पर सामग्री सम्मिलित करने की अनुमति देता है।", + }, + POWER_STEERING: { + name: 'प्रायोगिक "पावर स्टीयरिंग" मोड का उपयोग करें', + description: + "जब सक्षम किया जाता है, तो Roo मॉडल को उसके वर्तमान मोड परिभाषा के विवरण के बारे में अधिक बार याद दिलाएगा। इससे भूमिका परिभाषाओं और कस्टम निर्देशों के प्रति अधिक मजबूत अनुपालन होगा, लेकिन प्रति संदेश अधिक token का उपयोग होगा।", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "प्रायोगिक मल्टी ब्लॉक diff उपकरण का उपयोग करें", + description: + "जब सक्षम किया जाता है, तो Roo मल्टी ब्लॉक diff उपकरण का उपयोग करेगा। यह एक अनुरोध में फ़ाइल में कई कोड ब्लॉक अपडेट करने का प्रयास करेगा।", + }, + CONCURRENT_FILE_READS: { + name: "समवर्ती फ़ाइल पढ़ना सक्षम करें", + description: + "सक्षम होने पर, Roo एक ही अनुरोध में कई फ़ाइलें पढ़ सकता है अक्षम होने पर, Roo को एक बार में एक फ़ाइल पढ़नी होगी। कम सक्षम मॉडल के साथ काम करते समय या जब आप फ़ाइल एक्सेस पर अधिक नियंत्रण चाहते हैं तो इसे अक्षम करना मददगार हो सकता है।", + }, + MARKETPLACE: { + name: "Marketplace सक्षम करें", + description: "जब सक्षम होता है, तो आप Marketplace से MCP और कस्टम मोड इंस्टॉल कर सकते हैं।", + }, + MULTI_FILE_APPLY_DIFF: { + name: "समानांतर फ़ाइल संपादन सक्षम करें", + description: + "जब सक्षम किया जाता है, तो Roo एक ही अनुरोध में कई फ़ाइलों को संपादित कर सकता है। जब अक्षम किया जाता है, तो Roo को एक समय में एक फ़ाइल संपादित करनी होगी। इसे अक्षम करना तब मदद कर सकता है जब आप कम सक्षम मॉडल के साथ काम कर रहे हों या जब आप फ़ाइल संशोधनों पर अधिक नियंत्रण चाहते हों।", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "बैकग्राउंड संपादन", + description: + "सक्षम होने पर एडिटर फोकस व्यवधान को रोकता है। फ़ाइल संपादन diff व्यू खोले बिना या फोकस चुराए बिना बैकग्राउंड में होता है। आप Roo के बदलाव करते समय बिना किसी बाधा के काम जारी रख सकते हैं। फ़ाइलें डायग्नोस्टिक्स कैप्चर करने के लिए बिना फोकस के खुल सकती हैं या पूरी तरह बंद रह सकती हैं।", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "नए मैसेज पार्सर का उपयोग करें", + description: + "प्रायोगिक स्ट्रीमिंग मैसेज पार्सर सक्षम करें, जो लंबे उत्तरों के लिए संदेशों को अधिक कुशलता से प्रोसेस करके प्रदर्शन को बेहतर बनाता है।", + }, + }, + Gue = { + label: "प्रॉम्प्ट कैशिंग अक्षम करें", + description: "जब चेक किया जाता है, तो Roo इस मॉडल के लिए प्रॉम्प्ट कैशिंग का उपयोग नहीं करेगा।", + }, + Que = { + useCustom: "कस्टम तापमान का उपयोग करें", + description: "मॉडल की प्रतिक्रियाओं में यादृच्छिकता को नियंत्रित करता है।", + rangeDescription: "उच्च मान आउटपुट को अधिक यादृच्छिक बनाते हैं, निम्न मान इसे अधिक निर्धारित बनाते हैं।", + }, + Zue = { + supportsImages: "छवियों का समर्थन करता है", + noImages: "छवियों का समर्थन नहीं करता है", + supportsComputerUse: "कंप्यूटर उपयोग का समर्थन करता है", + noComputerUse: "कंप्यूटर उपयोग का समर्थन नहीं करता है", + supportsPromptCache: "प्रॉम्प्ट कैशिंग का समर्थन करता है", + noPromptCache: "प्रॉम्प्ट कैशिंग का समर्थन नहीं करता है", + maxOutput: "अधिकतम आउटपुट", + inputPrice: "इनपुट मूल्य", + outputPrice: "आउटपुट मूल्य", + cacheReadsPrice: "कैश रीड्स मूल्य", + cacheWritesPrice: "कैश राइट्स मूल्य", + enableStreaming: "स्ट्रीमिंग सक्षम करें", + enableR1Format: "R1 मॉडल पैरामीटर सक्षम करें", + enableR1FormatTips: + "QWQ जैसी R1 मॉडलों का उपयोग करते समय इसे सक्षम करना आवश्यक है, ताकि 400 त्रुटि से बचा जा सके", + useAzure: "Azure का उपयोग करें", + azureApiVersion: "Azure API संस्करण सेट करें", + gemini: { + freeRequests: + "* प्रति मिनट {{count}} अनुरोधों तक मुफ्त। उसके बाद, बिलिंग प्रॉम्प्ट आकार पर निर्भर करती है।", + pricingDetails: "अधिक जानकारी के लिए, मूल्य निर्धारण विवरण देखें।", + billingEstimate: "* बिलिंग एक अनुमान है - सटीक लागत प्रॉम्प्ट आकार पर निर्भर करती है।", + }, + }, + Yue = { + automaticFetch: + 'एक्सटेंशन <serviceLink>{{serviceName}}</serviceLink> पर उपलब्ध मॉडलों की नवीनतम सूची स्वचालित रूप से प्राप्त करता है। यदि आप अनिश्चित हैं कि कौन सा मॉडल चुनना है, तो Roo Code <defaultModelLink>{{defaultModelId}}</defaultModelLink> के साथ सबसे अच्छा काम करता है। आप वर्तमान में उपलब्ध निःशुल्क विकल्पों के लिए "free" भी खोज सकते हैं।', + label: "मॉडल", + searchPlaceholder: "खोजें", + noMatchFound: "कोई मिलान नहीं मिला", + useCustomModel: "कस्टम उपयोग करें: {{modelId}}", + }, + Xue = { + feedback: + "यदि आपके कोई प्रश्न या प्रतिक्रिया है, तो <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> पर एक मुद्दा खोलने या <redditLink>reddit.com/r/RooCode</redditLink> या <discordLink>discord.gg/roocode</discordLink> में शामिल होने में संकोच न करें", + telemetry: { + label: "गुमनाम त्रुटि और उपयोग रिपोर्टिंग की अनुमति दें", + description: + "गुमनाम उपयोग डेटा और त्रुटि रिपोर्ट भेजकर Roo Code को बेहतर बनाने में मदद करें। कोड, प्रॉम्प्ट, या व्यक्तिगत जानकारी कभी भी नहीं भेजी जाती है। अधिक विवरण के लिए हमारी गोपनीयता नीति देखें।", + }, + settings: { import: "इम्पोर्ट", export: "एक्सपोर्ट", reset: "रीसेट करें" }, + }, + Jue = { maxTokens: "अधिकतम tokens", maxThinkingTokens: "अधिकतम thinking tokens" }, + epe = { + apiKey: "आपको एक मान्य API कुंजी प्रदान करनी होगी।", + awsRegion: "Amazon Bedrock का उपयोग करने के लिए आपको एक क्षेत्र चुनना होगा।", + googleCloud: "आपको एक मान्य Google Cloud प्रोजेक्ट ID और क्षेत्र प्रदान करना होगा।", + modelId: "आपको एक मान्य मॉडल ID प्रदान करनी होगी।", + modelSelector: "आपको एक मान्य मॉडल चयनकर्ता प्रदान करना होगा।", + openAi: "आपको एक मान्य बेस URL, API कुंजी और मॉडल ID प्रदान करनी होगी।", + arn: { + invalidFormat: "अमान्य ARN प्रारूप। कृपया प्रारूप आवश्यकताएं जांचें।", + regionMismatch: + "चेतावनी: आपके ARN में क्षेत्र ({{arnRegion}}) आपके चयनित क्षेत्र ({{region}}) से मेल नहीं खाता। इससे पहुंच संबंधी समस्याएं हो सकती हैं। प्रदाता ARN से क्षेत्र का उपयोग करेगा।", + }, + modelAvailability: "आपके द्वारा प्रदान की गई मॉडल ID ({{modelId}}) उपलब्ध नहीं है। कृपया कोई अन्य मॉडल चुनें।", + providerNotAllowed: "प्रदाता '{{provider}}' आपके संगठन द्वारा अनुमत नहीं है", + modelNotAllowed: "मॉडल '{{model}}' प्रदाता '{{provider}}' के लिए आपके संगठन द्वारा अनुमत नहीं है", + profileInvalid: "इस प्रोफ़ाइल में एक प्रदाता या मॉडल शामिल है जो आपके संगठन द्वारा अनुमत नहीं है", + }, + tpe = { + apiKey: "API कुंजी दर्ज करें...", + profileName: "प्रोफ़ाइल नाम दर्ज करें", + accessKey: "एक्सेस कुंजी दर्ज करें...", + secretKey: "गुप्त कुंजी दर्ज करें...", + sessionToken: "सत्र टोकन दर्ज करें...", + credentialsJson: "क्रेडेंशियल्स JSON दर्ज करें...", + keyFilePath: "कुंजी फ़ाइल पथ दर्ज करें...", + projectId: "प्रोजेक्ट ID दर्ज करें...", + customArn: "ARN दर्ज करें (उदा. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "बेस URL दर्ज करें...", + modelId: { + lmStudio: "उदा. meta-llama-3.1-8b-instruct", + lmStudioDraft: "उदा. lmstudio-community/llama-3.2-1b-instruct", + ollama: "उदा. llama3.1", + }, + numbers: { + maxTokens: "उदा. 4096", + contextWindow: "उदा. 128000", + inputPrice: "उदा. 0.0001", + outputPrice: "उदा. 0.0002", + cacheWritePrice: "उदा. 0.00005", + }, + }, + npe = { + ollamaUrl: "डिफ़ॉल्ट: http://localhost:11434", + lmStudioUrl: "डिफ़ॉल्ट: http://localhost:1234", + geminiUrl: "डिफ़ॉल्ट: https://generativelanguage.googleapis.com", + }, + ope = { customArn: "कस्टम ARN", useCustomArn: "कस्टम ARN का उपयोग करें..." }, + rpe = "अधिकतम आउटपुट टोकन शामिल करें", + ipe = "API अनुरोधों में अधिकतम आउटपुट टोकन पैरामीटर भेजें। कुछ प्रदाता इसका समर्थन नहीं कर सकते हैं।", + spe = "प्रतिक्रिया में टोकन की अधिकतम संख्या सीमित करें", + ape = "अधिकतम आउटपुट टोकन", + lpe = "प्रतिक्रिया में उत्पन्न करने के लिए अधिकतम टोकन", + Nvt = { + common: jue, + header: Eue, + unsavedChangesDialog: zue, + sections: $ue, + prompts: Lue, + codeIndex: Due, + autoApprove: Nue, + providers: Oue, + browser: Fue, + checkpoints: Bue, + notifications: Uue, + contextManagement: que, + terminal: Wue, + advancedSettings: Kue, + advanced: Vue, + experimental: Hue, + promptCaching: Gue, + temperature: Que, + modelInfo: Zue, + modelPicker: Yue, + footer: Xue, + thinkingBudget: Jue, + validation: epe, + placeholders: tpe, + defaults: npe, + labels: ope, + includeMaxOutputTokens: rpe, + includeMaxOutputTokensDescription: ipe, + limitMaxTokensDescription: spe, + maxOutputTokensLabel: ape, + maxTokensGenerateDescription: lpe, + }, + Ovt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: Vue, + advancedSettings: Kue, + autoApprove: Nue, + browser: Fue, + checkpoints: Bue, + codeIndex: Due, + common: jue, + contextManagement: que, + default: Nvt, + defaults: npe, + experimental: Hue, + footer: Xue, + header: Eue, + includeMaxOutputTokens: rpe, + includeMaxOutputTokensDescription: ipe, + labels: ope, + limitMaxTokensDescription: spe, + maxOutputTokensLabel: ape, + maxTokensGenerateDescription: lpe, + modelInfo: Zue, + modelPicker: Yue, + notifications: Uue, + placeholders: tpe, + promptCaching: Gue, + prompts: Lue, + providers: Oue, + sections: $ue, + temperature: Que, + terminal: Wue, + thinkingBudget: Jue, + unsavedChangesDialog: zue, + validation: epe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + cpe = "Roo Code में आपका स्वागत है!", + dpe = + "अंतर्निहित और विस्तारित मोड्स की एक श्रृंखला के साथ, Roo Code आपको पहले कभी न देखे गए तरीके से योजना बनाने, आर्किटेक्ट करने, कोड करने, डीबग करने और अपनी उत्पादकता बढ़ाने की अनुमति देता है।", + upe = "शुरू करने के लिए, इस एक्सटेंशन को एक API प्रदाता की आवश्यकता है।", + ppe = "चलो शुरू करें!", + mpe = { + requesty: { description: "आपका अनुकूलित LLM राउटर", incentive: "$1 मुफ्त क्रेडिट" }, + openrouter: { description: "LLMs के लिए एक एकीकृत इंटरफेस" }, + }, + hpe = "अपना जादू दिखाने के लिए, Roo को एक API कुंजी की आवश्यकता है।", + fpe = "हम एक LLM राउटर का उपयोग करने की सलाह देते हैं:", + gpe = "या आप अपनी खुद की API कुंजी ला सकते हैं:", + vpe = { + title: "Roo Code को बेहतर बनाने में मदद करें", + anonymousTelemetry: + "बग ठीक करने और एक्सटेंशन को बेहतर बनाने में हमारी मदद करने के लिए गुमनाम त्रुटि और उपयोग डेटा भेजें। कोड, संकेत या व्यक्तिगत जानकारी कभी नहीं भेजी जाती है।", + changeSettings: "आप इसे हमेशा <settingsLink>सेटिंग्स</settingsLink> के निचले भाग में बदल सकते हैं", + settings: "सेटिंग्स", + allow: "अनुमति दें", + deny: "अस्वीकार करें", + }, + bpe = "सेटिंग्स आयात करें", + Fvt = { + greeting: cpe, + introduction: dpe, + notice: upe, + start: ppe, + routers: mpe, + chooseProvider: hpe, + startRouter: fpe, + startCustom: gpe, + telemetry: vpe, + importSettings: bpe, + }, + Bvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: hpe, + default: Fvt, + greeting: cpe, + importSettings: bpe, + introduction: dpe, + notice: upe, + routers: mpe, + start: ppe, + startCustom: gpe, + startRouter: fpe, + telemetry: vpe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ype = "Akun", + kpe = "Foto profil", + xpe = "Keluar", + wpe = "Uji Autentikasi API", + _pe = "Hubungkan ke Roo Code Cloud", + Cpe = "Hubungkan", + Spe = "Hubungkan ke Roo Code Cloud", + Ape = "Sinkronkan prompt dan telemetri kamu untuk mengaktifkan:", + Ppe = "Riwayat tugas online", + Rpe = "Fitur berbagi dan kolaborasi", + Tpe = "Metrik penggunaan berdasarkan tugas, token, dan biaya", + Ipe = "Ikuti dan kontrol tugas dari mana saja dengan Roomote Control", + Mpe = "Roomote Control", + jpe = "Memungkinkan mengikuti dan berinteraksi dengan tugas di workspace ini dengan Roo Code Cloud", + Epe = "Kunjungi Roo Code Cloud", + Uvt = { + title: ype, + profilePicture: kpe, + logOut: xpe, + testApiAuthentication: wpe, + signIn: _pe, + connect: Cpe, + cloudBenefitsTitle: Spe, + cloudBenefitsSubtitle: Ape, + cloudBenefitHistory: Ppe, + cloudBenefitSharing: Rpe, + cloudBenefitMetrics: Tpe, + cloudBenefitWalkaway: Ipe, + remoteControl: Mpe, + remoteControlDescription: jpe, + visitCloudWebsite: Epe, + }, + qvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: Ppe, + cloudBenefitMetrics: Tpe, + cloudBenefitSharing: Rpe, + cloudBenefitWalkaway: Ipe, + cloudBenefitsSubtitle: Ape, + cloudBenefitsTitle: Spe, + connect: Cpe, + default: Uvt, + logOut: xpe, + profilePicture: kpe, + remoteControl: Mpe, + remoteControlDescription: jpe, + signIn: _pe, + testApiAuthentication: wpe, + title: ype, + visitCloudWebsite: Epe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + zpe = "Selamat datang di Roo Code", + $pe = { + title: "Tugas", + seeMore: "Lihat lebih banyak", + seeLess: "Lihat lebih sedikit", + tokens: "Token:", + cache: "Cache:", + apiCost: "Biaya API:", + condenseContext: "Kondensasi konteks secara cerdas", + contextWindow: "Panjang Konteks:", + closeAndStart: "Tutup tugas dan mulai yang baru", + export: "Ekspor riwayat tugas", + share: "Bagikan tugas", + delete: "Hapus Tugas (Shift + Klik untuk lewati konfirmasi)", + shareWithOrganization: "Bagikan dengan organisasi", + shareWithOrganizationDescription: "Hanya anggota organisasi Anda yang dapat mengakses", + sharePublicly: "Bagikan secara publik", + sharePubliclyDescription: "Siapa pun dengan tautan dapat mengakses", + connectToCloud: "Hubungkan ke Cloud", + connectToCloudDescription: "Masuk ke Roo Code Cloud untuk berbagi tugas", + sharingDisabledByOrganization: "Berbagi dinonaktifkan oleh organisasi", + shareSuccessOrganization: "Tautan organisasi disalin ke clipboard", + shareSuccessPublic: "Tautan publik disalin ke clipboard", + }, + Lpe = { title: "Riwayat" }, + Dpe = "Lepas Pin", + Npe = "Pin", + Ope = { title: "Coba Lagi", tooltip: "Coba operasi lagi" }, + Fpe = { title: "Mulai Tugas Baru", tooltip: "Mulai tugas baru" }, + Bpe = { title: "Laporkan Bug" }, + Upe = { title: "Lanjutkan Saja", tooltip: "Lanjutkan saat perintah dijalankan" }, + qpe = { title: "Simpan", tooltip: "Simpan perubahan pesan" }, + Wpe = { + availableSpace: "Ruang tersedia: {{amount}} token", + tokensUsed: "Token digunakan: {{used}} dari {{total}}", + reservedForResponse: "Dicadangkan untuk respons model: {{amount}} token", + }, + Kpe = { title: "Tolak", tooltip: "Tolak aksi ini" }, + Vpe = "Selesaikan Subtugas dan Kembali", + Hpe = { title: "Setujui", tooltip: "Setujui aksi ini" }, + Gpe = { title: "Jalankan Perintah", tooltip: "Eksekusi perintah ini" }, + Qpe = { title: "Lanjutkan Saat Berjalan", tooltip: "Lanjutkan meskipun ada peringatan" }, + Zpe = { title: "Hentikan Perintah", tooltip: "Hentikan perintah saat ini" }, + Ype = { title: "Lanjutkan Tugas", tooltip: "Lanjutkan tugas saat ini" }, + Xpe = { title: "Hentikan", tooltip: "Akhiri tugas saat ini" }, + Jpe = { title: "Batal", tooltip: "Batalkan operasi saat ini" }, + eme = "Gulir ke bawah chat", + tme = + "Buat, refaktor, dan debug kode dengan bantuan AI.<br />Lihat <DocsLink>dokumentasi</DocsLink> kami untuk mempelajari lebih lanjut.", + nme = "Daftar tugas di workspace ini kosong.", + ome = { + boomerangTasks: { + title: "Orkestrasi Tugas", + description: "Bagi tugas menjadi bagian-bagian kecil yang dapat dikelola", + }, + stickyModels: { title: "Model Sticky", description: "Setiap mode mengingat model terakhir yang kamu gunakan" }, + tools: { + title: "Tools", + description: "Izinkan AI menyelesaikan masalah dengan browsing web, menjalankan perintah, dan lainnya", + }, + customizableModes: { + title: "Mode yang Dapat Disesuaikan", + description: "Persona khusus dengan perilaku dan model yang ditugaskan sendiri", + }, + }, + rme = "Pilih mode untuk interaksi", + ime = "Pilih konfigurasi API", + sme = "Tingkatkan prompt dengan konteks tambahan", + ame = + "Tombol 'Tingkatkan Prompt' membantu memperbaiki prompt kamu dengan memberikan konteks tambahan, klarifikasi, atau penyusunan ulang. Coba ketik prompt di sini dan klik tombol lagi untuk melihat cara kerjanya.", + lme = { + title: "Mode", + marketplace: "Marketplace Mode", + settings: "Pengaturan Mode", + description: "Persona khusus yang menyesuaikan perilaku Roo.", + searchPlaceholder: "Cari mode...", + noResults: "Tidak ada hasil yang ditemukan", + }, + cme = "Tambahkan gambar ke pesan", + dme = "Kirim pesan", + ume = "Hentikan text-to-speech", + pme = "Ketik pesan...", + mme = "Bangun, cari, tanya sesuatu", + hme = "@ untuk menambah konteks, / untuk perintah", + fme = "tahan shift untuk drag file", + gme = "tahan shift untuk drag file/gambar", + vme = "Error membaca file:", + bme = "Tidak ada gambar valid yang diproses", + yme = "Pemisah", + kme = "Edit...", + xme = "untuk mode selanjutnya", + wme = "untuk mode sebelumnya", + _me = { + title: "Permintaan API", + failed: "Permintaan API Gagal", + streaming: "Permintaan API...", + cancelled: "Permintaan API Dibatalkan", + streamingFailed: "Streaming API Gagal", + }, + Cme = { + regular: "Checkpoint", + initializingWarning: + "Masih menginisialisasi checkpoint... Jika ini terlalu lama, kamu bisa menonaktifkan checkpoint di <settingsLink>pengaturan</settingsLink> dan restart tugas.", + menu: { + viewDiff: "Lihat Diff", + restore: "Pulihkan Checkpoint", + restoreFiles: "Pulihkan File", + restoreFilesDescription: "Mengembalikan file proyek kamu ke snapshot yang diambil pada titik ini.", + restoreFilesAndTask: "Pulihkan File & Tugas", + confirm: "Konfirmasi", + cancel: "Batal", + cannotUndo: "Aksi ini tidak dapat dibatalkan.", + restoreFilesAndTaskDescription: + "Mengembalikan file proyek kamu ke snapshot yang diambil pada titik ini dan menghapus semua pesan setelah titik ini.", + }, + current: "Saat Ini", + }, + Sme = { + title: "Konteks Dikondensasi", + condensing: "Mengondensasi konteks...", + errorHeader: "Gagal mengondensasi konteks", + tokens: "token", + }, + Ame = { wantsToFetch: "Roo ingin mengambil instruksi detail untuk membantu tugas saat ini" }, + Pme = { + wantsToRead: "Roo ingin membaca file ini:", + wantsToReadMultiple: "Roo ingin membaca beberapa file:", + wantsToReadAndXMore: "Roo ingin membaca file ini dan {{count}} lainnya:", + wantsToReadOutsideWorkspace: "Roo ingin membaca file ini di luar workspace:", + didRead: "Roo membaca file ini:", + wantsToEdit: "Roo ingin mengedit file ini:", + wantsToEditOutsideWorkspace: "Roo ingin mengedit file ini di luar workspace:", + wantsToEditProtected: "Roo ingin mengedit file konfigurasi yang dilindungi:", + wantsToApplyBatchChanges: "Roo ingin menerapkan perubahan ke beberapa file:", + wantsToCreate: "Roo ingin membuat file baru:", + wantsToSearchReplace: "Roo ingin mencari dan mengganti di file ini:", + didSearchReplace: "Roo melakukan pencarian dan penggantian pada file ini:", + wantsToInsert: "Roo ingin menyisipkan konten ke file ini:", + wantsToInsertWithLineNumber: "Roo ingin menyisipkan konten ke file ini di baris {{lineNumber}}:", + wantsToInsertAtEnd: "Roo ingin menambahkan konten ke akhir file ini:", + }, + Rme = { + wantsToViewTopLevel: "Roo ingin melihat file tingkat atas di direktori ini:", + didViewTopLevel: "Roo melihat file tingkat atas di direktori ini:", + wantsToViewRecursive: "Roo ingin melihat semua file secara rekursif di direktori ini:", + didViewRecursive: "Roo melihat semua file secara rekursif di direktori ini:", + wantsToViewDefinitions: "Roo ingin melihat nama definisi source code yang digunakan di direktori ini:", + didViewDefinitions: "Roo melihat nama definisi source code yang digunakan di direktori ini:", + wantsToSearch: "Roo ingin mencari direktori ini untuk <code>{{regex}}</code>:", + didSearch: "Roo mencari direktori ini untuk <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo ingin mencari direktori ini (di luar workspace) untuk <code>{{regex}}</code>:", + didSearchOutsideWorkspace: "Roo mencari direktori ini (di luar workspace) untuk <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo ingin melihat file tingkat atas di direktori ini (di luar workspace):", + didViewTopLevelOutsideWorkspace: "Roo melihat file tingkat atas di direktori ini (di luar workspace):", + wantsToViewRecursiveOutsideWorkspace: + "Roo ingin melihat semua file secara rekursif di direktori ini (di luar workspace):", + didViewRecursiveOutsideWorkspace: + "Roo melihat semua file secara rekursif di direktori ini (di luar workspace):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo ingin melihat nama definisi source code yang digunakan di direktori ini (di luar workspace):", + didViewDefinitionsOutsideWorkspace: + "Roo melihat nama definisi source code yang digunakan di direktori ini (di luar workspace):", + }, + Tme = { + wantsToSearch: "Roo ingin mencari codebase untuk <code>{{query}}</code>:", + wantsToSearchWithPath: "Roo ingin mencari codebase untuk <code>{{query}}</code> di <code>{{path}}</code>:", + didSearch_one: "Ditemukan 1 hasil", + didSearch_other: "Ditemukan {{count}} hasil", + resultTooltip: "Skor kemiripan: {{score}} (klik untuk membuka file)", + }, + Ime = "Output Perintah", + Mme = { + running: "Menjalankan", + pid: "PID: {{pid}}", + exited: "Keluar ({{exitCode}})", + manageCommands: "Kelola Izin Perintah", + commandManagementDescription: + "Kelola izin perintah: Klik ✓ untuk mengizinkan eksekusi otomatis, ✗ untuk menolak eksekusi. Pola dapat diaktifkan/dinonaktifkan atau dihapus dari daftar. <settingsLink>Lihat semua pengaturan</settingsLink>", + addToAllowed: "Tambahkan ke daftar yang diizinkan", + removeFromAllowed: "Hapus dari daftar yang diizinkan", + addToDenied: "Tambahkan ke daftar yang ditolak", + removeFromDenied: "Hapus dari daftar yang ditolak", + abortCommand: "Batalkan eksekusi perintah", + expandOutput: "Perluas output", + collapseOutput: "Ciutkan output", + expandManagement: "Perluas bagian manajemen perintah", + collapseManagement: "Ciutkan bagian manajemen perintah", + }, + jme = "Respons", + Eme = { + wantsToUseTool: "Roo ingin menggunakan tool di server MCP {{serverName}}:", + wantsToAccessResource: "Roo ingin mengakses resource di server MCP {{serverName}}:", + }, + zme = { + wantsToSwitch: "Roo ingin beralih ke mode {{mode}}", + wantsToSwitchWithReason: "Roo ingin beralih ke mode {{mode}} karena: {{reason}}", + didSwitch: "Roo beralih ke mode {{mode}}", + didSwitchWithReason: "Roo beralih ke mode {{mode}} karena: {{reason}}", + }, + $me = { + wantsToCreate: "Roo ingin membuat subtugas baru dalam mode {{mode}}:", + wantsToFinish: "Roo ingin menyelesaikan subtugas ini", + newTaskContent: "Instruksi Subtugas", + completionContent: "Subtugas Selesai", + resultContent: "Hasil Subtugas", + defaultResult: "Silakan lanjutkan ke tugas berikutnya.", + completionInstructions: + "Subtugas selesai! Kamu bisa meninjau hasilnya dan menyarankan koreksi atau langkah selanjutnya. Jika semuanya terlihat baik, konfirmasi untuk mengembalikan hasil ke tugas induk.", + }, + Lme = { hasQuestion: "Roo punya pertanyaan:" }, + Dme = "Tugas Selesai", + Nme = "Error", + Ome = { title: "Edit Tidak Berhasil" }, + Fme = "Roo mengalami masalah...", + Bme = { issues: "Sepertinya kamu mengalami masalah Windows PowerShell, silakan lihat ini" }, + Ume = { + title: "Auto-approve:", + none: "Tidak Ada", + description: + "Auto-approve memungkinkan Roo Code melakukan aksi tanpa meminta izin. Hanya aktifkan untuk aksi yang benar-benar kamu percayai. Konfigurasi lebih detail tersedia di <settingsLink>Pengaturan</settingsLink>.", + selectOptionsFirst: "Pilih setidaknya satu opsi di bawah untuk mengaktifkan persetujuan otomatis", + toggleAriaLabel: "Beralih persetujuan otomatis", + disabledAriaLabel: "Persetujuan otomatis dinonaktifkan - pilih opsi terlebih dahulu", + }, + qme = { + title: "🎉 Roo Code {{version}} Dirilis", + description: + "Roo Code {{version}} menghadirkan fitur-fitur baru yang kuat dan peningkatan signifikan untuk meningkatkan alur kerja pengembangan Anda.", + whatsNew: "Yang Baru", + feature1: + "<bold>Antrian Pesan</bold>: Antrikan beberapa pesan saat Roo sedang bekerja, memungkinkan Anda melanjutkan perencanaan alur kerja tanpa gangguan.", + feature2: + "<bold>Perintah Slash Kustom</bold>: Buat perintah slash yang dipersonalisasi untuk akses cepat ke prompt dan alur kerja yang sering digunakan, dengan manajemen UI lengkap.", + feature3: + "<bold>Alat Gemini yang Ditingkatkan</bold>: Kemampuan konteks URL baru dan dasar pencarian Google memberikan model Gemini informasi web real-time dan kemampuan penelitian yang ditingkatkan.", + hideButton: "Sembunyikan pengumuman", + detailsDiscussLinks: + "Dapatkan detail lebih lanjut dan bergabung dalam diskusi di <discordLink>Discord</discordLink> dan <redditLink>Reddit</redditLink> 🚀", + }, + Wme = { thinking: "Berpikir", seconds: "{{count}}d" }, + Kme = { + copyToInput: "Salin ke input (sama dengan shift + klik)", + autoSelectCountdown: "Pemilihan otomatis dalam {{count}}dtk", + countdownDisplay: "{{count}}dtk", + }, + Vme = { + rooWantsToUse: "Roo ingin menggunakan browser:", + consoleLogs: "Log Konsol", + noNewLogs: "(Tidak ada log baru)", + screenshot: "Screenshot browser", + cursor: "kursor", + navigation: { step: "Langkah {{current}} dari {{total}}", previous: "Sebelumnya", next: "Selanjutnya" }, + sessionStarted: "Sesi Browser Dimulai", + actions: { + title: "Aksi Browse: ", + launch: "Luncurkan browser di {{url}}", + click: "Klik ({{coordinate}})", + type: 'Ketik "{{text}}"', + scrollDown: "Gulir ke bawah", + scrollUp: "Gulir ke atas", + close: "Tutup browser", + }, + }, + Hme = { + tooltips: { + expand: "Perluas blok kode", + collapse: "Tutup blok kode", + enable_wrap: "Aktifkan word wrap", + disable_wrap: "Nonaktifkan word wrap", + copy_code: "Salin kode", + }, + }, + Gme = + "PERINGATAN: Override system prompt kustom aktif. Ini dapat merusak fungsionalitas secara serius dan menyebabkan perilaku yang tidak terduga.", + Qme = "Profil saat ini tidak kompatibel dengan pengaturan organisasi kamu", + Zme = { + title: "Peringatan Eksekusi Perintah", + description: + "Perintah kamu dijalankan tanpa integrasi shell terminal VSCode. Untuk menekan peringatan ini kamu bisa menonaktifkan integrasi shell di bagian <strong>Terminal</strong> dari <settingsLink>pengaturan Roo Code</settingsLink> atau troubleshoot integrasi terminal VSCode menggunakan link di bawah.", + troubleshooting: "Klik di sini untuk dokumentasi integrasi shell.", + }, + Yme = { + autoApprovedRequestLimitReached: { + title: "Batas Permintaan yang Disetujui Otomatis Tercapai", + description: + "Roo telah mencapai batas {{count}} permintaan API yang disetujui otomatis. Apakah kamu ingin mengatur ulang hitungan dan melanjutkan tugas?", + button: "Atur Ulang dan Lanjutkan", + }, + autoApprovedCostLimitReached: { + description: + "Roo telah mencapai batas biaya yang disetujui secara otomatis sebesar ${{count}}. Apakah Anda ingin mengatur ulang biaya dan melanjutkan tugas ini?", + button: "Reset dan Lanjutkan", + title: "Batas Biaya Otomatis-Disetujui Tercapai", + }, + }, + Xme = { + ready: "Indeks siap", + indexing: "Mengindeks {{percentage}}%", + indexed: "Terindeks", + error: "Error indeks", + status: "Status indeks", + }, + Jme = { ariaLabel: "Versi {{version}} - Klik untuk melihat catatan rilis" }, + ehe = { + title: "Roo Code Cloud segera hadir!", + description: + "Jalankan agen jarak jauh di cloud, akses tugas Anda dari mana saja, berkolaborasi dengan orang lain, dan banyak lagi.", + joinWaitlist: "Bergabunglah dengan daftar tunggu untuk mendapatkan akses awal.", + }, + the = { placeholder: "Edit pesan Anda..." }, + nhe = { triggerDescription: "Jalankan perintah {{name}}" }, + ohe = { + tooltip: "Kelola perintah slash", + title: "Perintah Slash", + description: + "Buat perintah slash kustom untuk akses cepat ke prompt dan alur kerja yang sering digunakan. <DocsLink>Dokumentasi</DocsLink>", + globalCommands: "Perintah Global", + workspaceCommands: "Perintah Workspace", + globalCommand: "Perintah global", + editCommand: "Edit perintah", + deleteCommand: "Hapus perintah", + newGlobalCommandPlaceholder: "Perintah global baru...", + newWorkspaceCommandPlaceholder: "Perintah workspace baru...", + deleteDialog: { + title: "Hapus Perintah", + description: 'Apakah Anda yakin ingin menghapus perintah "{{name}}"? Tindakan ini tidak dapat dibatalkan.', + cancel: "Batal", + confirm: "Hapus", + }, + }, + rhe = { title: "Pesan Antrian:", clickToEdit: "Klik untuk mengedit pesan" }, + Wvt = { + greeting: zpe, + task: $pe, + history: Lpe, + unpin: Dpe, + pin: Npe, + retry: Ope, + startNewTask: Fpe, + reportBug: Bpe, + proceedAnyways: Upe, + save: qpe, + tokenProgress: Wpe, + reject: Kpe, + completeSubtaskAndReturn: Vpe, + approve: Hpe, + "read-batch": { approve: { title: "Setujui Semua" }, deny: { title: "Tolak Semua" } }, + runCommand: Gpe, + proceedWhileRunning: Qpe, + killCommand: Zpe, + resumeTask: Ype, + terminate: Xpe, + cancel: Jpe, + scrollToBottom: eme, + about: tme, + onboarding: nme, + rooTips: ome, + selectMode: rme, + selectApiConfig: ime, + enhancePrompt: sme, + enhancePromptDescription: ame, + modeSelector: lme, + addImages: cme, + sendMessage: dme, + stopTts: ume, + typeMessage: pme, + typeTask: mme, + addContext: hme, + dragFiles: fme, + dragFilesImages: gme, + errorReadingFile: vme, + noValidImages: bme, + separator: yme, + edit: kme, + forNextMode: xme, + forPreviousMode: wme, + apiRequest: _me, + checkpoint: Cme, + contextCondense: Sme, + instructions: Ame, + fileOperations: Pme, + directoryOperations: Rme, + codebaseSearch: Tme, + commandOutput: Ime, + commandExecution: Mme, + response: jme, + arguments: "Argumen", + mcp: Eme, + modes: zme, + subtasks: $me, + questions: Lme, + taskCompleted: Dme, + error: Nme, + diffError: Ome, + troubleMessage: Fme, + powershell: Bme, + autoApprove: Ume, + announcement: qme, + reasoning: Wme, + followUpSuggest: Kme, + browser: Vme, + codeblock: Hme, + systemPromptWarning: Gme, + profileViolationWarning: Qme, + shellIntegration: Zme, + ask: Yme, + indexingStatus: Xme, + versionIndicator: Jme, + rooCloudCTA: ehe, + editMessage: the, + command: nhe, + slashCommands: ohe, + queuedMessages: rhe, + }, + Kvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: tme, + addContext: hme, + addImages: cme, + announcement: qme, + apiRequest: _me, + approve: Hpe, + ask: Yme, + autoApprove: Ume, + browser: Vme, + cancel: Jpe, + checkpoint: Cme, + codebaseSearch: Tme, + codeblock: Hme, + command: nhe, + commandExecution: Mme, + commandOutput: Ime, + completeSubtaskAndReturn: Vpe, + contextCondense: Sme, + default: Wvt, + diffError: Ome, + directoryOperations: Rme, + dragFiles: fme, + dragFilesImages: gme, + edit: kme, + editMessage: the, + enhancePrompt: sme, + enhancePromptDescription: ame, + error: Nme, + errorReadingFile: vme, + fileOperations: Pme, + followUpSuggest: Kme, + forNextMode: xme, + forPreviousMode: wme, + greeting: zpe, + history: Lpe, + indexingStatus: Xme, + instructions: Ame, + killCommand: Zpe, + mcp: Eme, + modeSelector: lme, + modes: zme, + noValidImages: bme, + onboarding: nme, + pin: Npe, + powershell: Bme, + proceedAnyways: Upe, + proceedWhileRunning: Qpe, + profileViolationWarning: Qme, + questions: Lme, + queuedMessages: rhe, + reasoning: Wme, + reject: Kpe, + reportBug: Bpe, + response: jme, + resumeTask: Ype, + retry: Ope, + rooCloudCTA: ehe, + rooTips: ome, + runCommand: Gpe, + save: qpe, + scrollToBottom: eme, + selectApiConfig: ime, + selectMode: rme, + sendMessage: dme, + separator: yme, + shellIntegration: Zme, + slashCommands: ohe, + startNewTask: Fpe, + stopTts: ume, + subtasks: $me, + systemPromptWarning: Gme, + task: $pe, + taskCompleted: Dme, + terminate: Xpe, + tokenProgress: Wpe, + troubleMessage: Fme, + typeMessage: pme, + typeTask: mme, + unpin: Dpe, + versionIndicator: Jme, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ihe = { + title: "Terjadi kesalahan", + reportText: "Bantu kami meningkatkan dengan melaporkan kesalahan ini di", + githubText: "halaman GitHub Issues kami", + copyInstructions: + "Salin dan tempel pesan kesalahan berikut untuk menyertakannya sebagai bagian dari laporan Anda:", + errorStack: "Stack Error:", + componentStack: "Stack Komponen:", + }, + she = { yes: "Ya", no: "Tidak", cancel: "Batal", remove: "Hapus", keep: "Simpan" }, + ahe = { thousand_suffix: "rb", million_suffix: "jt", billion_suffix: "m" }, + lhe = { search_placeholder: "Cari...", no_results: "Tidak ada hasil yang ditemukan" }, + che = { + loading: "Membuat diagram mermaid...", + render_error: "Tidak Dapat Merender Diagram", + buttons: { + zoom: "Zoom", + zoomIn: "Perbesar", + zoomOut: "Perkecil", + copy: "Salin", + save: "Simpan Gambar", + viewCode: "Lihat Kode", + viewDiagram: "Lihat Diagram", + close: "Tutup", + }, + modal: { codeTitle: "Kode Mermaid" }, + tabs: { diagram: "Diagram", code: "Kode" }, + feedback: { imageCopied: "Gambar disalin ke clipboard", copyError: "Error menyalin gambar" }, + }, + dhe = { + errors: { + invalidDataUri: "Format data URI tidak valid", + copyingImage: "Error menyalin gambar: {{error}}", + openingImage: "Error membuka gambar: {{error}}", + pathNotExists: "Path tidak ada: {{path}}", + couldNotOpen: "Tidak dapat membuka file: {{error}}", + couldNotOpenGeneric: "Tidak dapat membuka file!", + }, + success: { imageDataUriCopied: "Data URI gambar disalin ke clipboard" }, + }, + uhe = { + deleteMessage: "Hapus Pesan", + deleteWarning: + "Menghapus pesan ini akan menghapus semua pesan selanjutnya dalam percakapan. Apakah kamu ingin melanjutkan?", + editMessage: "Edit Pesan", + editWarning: + "Mengedit pesan ini akan menghapus semua pesan selanjutnya dalam percakapan. Apakah kamu ingin melanjutkan?", + proceed: "Lanjutkan", + }, + Vvt = { errorBoundary: ihe, answers: she, number_format: ahe, ui: lhe, mermaid: che, file: dhe, confirmation: uhe }, + Hvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: she, + confirmation: uhe, + default: Vvt, + errorBoundary: ihe, + file: dhe, + mermaid: che, + number_format: ahe, + ui: lhe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + phe = "Tugas", + mhe = "Lihat Semua Tugas", + hhe = "Token: ↑{{in}} ↓{{out}}", + fhe = "Cache: +{{writes}} → {{reads}}", + ghe = "Biaya API: ${{cost}}", + vhe = "Riwayat", + bhe = "Keluar Mode Seleksi", + yhe = "Masuk Mode Seleksi", + khe = "Selesai", + xhe = "Pencarian fuzzy riwayat...", + whe = "Terbaru", + _he = "Terlama", + Che = "Termahal", + She = "Token Terbanyak", + Ahe = "Paling Relevan", + Phe = "Hapus Tugas (Shift + Klik untuk lewati konfirmasi)", + Rhe = "Token:", + The = "Cache:", + Ihe = "Biaya API:", + Mhe = "Salin Prompt", + jhe = "Ekspor Tugas", + Ehe = "Hapus Tugas", + zhe = "Apakah kamu yakin ingin menghapus tugas ini? Aksi ini tidak dapat dibatalkan.", + $he = "Batal", + Lhe = "Keluar Seleksi", + Dhe = "Mode Seleksi", + Nhe = "Batalkan pilihan semua", + Ohe = "Pilih semua", + Fhe = "Dipilih {{selected}}/{{total}} item", + Bhe = "Hapus Seleksi", + Uhe = "Hapus yang Dipilih", + qhe = "Hapus Tugas", + Whe = "Apakah kamu yakin ingin menghapus {{count}} tugas?", + Khe = "Tugas yang dihapus tidak dapat dipulihkan. Pastikan kamu ingin melanjutkan.", + Vhe = "Tugas ini telah ditandai sebagai favorit. Apakah kamu yakin ingin menghapusnya?", + Hhe = "{{count}} tugas yang dipilih telah ditandai sebagai favorit. Apakah kamu yakin ingin menghapusnya?", + Ghe = "Hapus {{count}} Item", + Qhe = { prefix: "Ruang Kerja:", current: "Saat Ini", all: "Semua" }, + Zhe = { + prefix: "Urutkan:", + newest: "Terbaru", + oldest: "Terlama", + mostExpensive: "Termahal", + mostTokens: "Token Terbanyak", + mostRelevant: "Paling Relevan", + }, + Yhe = "Lihat semua tugas", + Gvt = { + recentTasks: phe, + viewAll: mhe, + tokens: hhe, + cache: fhe, + apiCost: ghe, + history: vhe, + exitSelectionMode: bhe, + enterSelectionMode: yhe, + done: khe, + searchPlaceholder: xhe, + newest: whe, + oldest: _he, + mostExpensive: Che, + mostTokens: She, + mostRelevant: Ahe, + deleteTaskTitle: Phe, + tokensLabel: Rhe, + cacheLabel: The, + apiCostLabel: Ihe, + copyPrompt: Mhe, + exportTask: jhe, + deleteTask: Ehe, + deleteTaskMessage: zhe, + cancel: $he, + delete: "Hapus", + exitSelection: Lhe, + selectionMode: Dhe, + deselectAll: Nhe, + selectAll: Ohe, + selectedItems: Fhe, + clearSelection: Bhe, + deleteSelected: Uhe, + deleteTasks: qhe, + confirmDeleteTasks: Whe, + deleteTasksWarning: Khe, + deleteTaskFavoritedWarning: Vhe, + deleteTasksFavoritedWarning: Hhe, + deleteItems: Ghe, + workspace: Qhe, + sort: Zhe, + viewAllHistory: Yhe, + }, + Qvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + apiCost: ghe, + apiCostLabel: Ihe, + cache: fhe, + cacheLabel: The, + cancel: $he, + clearSelection: Bhe, + confirmDeleteTasks: Whe, + copyPrompt: Mhe, + default: Gvt, + deleteItems: Ghe, + deleteSelected: Uhe, + deleteTask: Ehe, + deleteTaskFavoritedWarning: Vhe, + deleteTaskMessage: zhe, + deleteTaskTitle: Phe, + deleteTasks: qhe, + deleteTasksFavoritedWarning: Hhe, + deleteTasksWarning: Khe, + deselectAll: Nhe, + done: khe, + enterSelectionMode: yhe, + exitSelection: Lhe, + exitSelectionMode: bhe, + exportTask: jhe, + history: vhe, + mostExpensive: Che, + mostRelevant: Ahe, + mostTokens: She, + newest: whe, + oldest: _he, + recentTasks: phe, + searchPlaceholder: xhe, + selectAll: Ohe, + selectedItems: Fhe, + selectionMode: Dhe, + sort: Zhe, + tokens: hhe, + tokensLabel: Rhe, + viewAll: mhe, + viewAllHistory: Yhe, + workspace: Qhe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Xhe = "Human Relay - Mohon Bantu Salin/Tempel Informasi", + Jhe = "Silakan salin prompt berikut ke web AI, lalu tempel respons AI di kotak input di bawah.", + efe = "Disalin ke clipboard", + tfe = { label: "Silakan masukkan respons AI:", placeholder: "Tempel respons AI di sini..." }, + nfe = { cancel: "Batal", submit: "Kirim" }, + Zvt = { dialogTitle: Xhe, dialogDescription: Jhe, copiedToClipboard: efe, aiResponse: tfe, actions: nfe }, + Yvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: nfe, + aiResponse: tfe, + copiedToClipboard: efe, + default: Zvt, + dialogDescription: Jhe, + dialogTitle: Xhe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ofe = "Roo Marketplace", + rfe = { installed: "Terinstal", settings: "Pengaturan", browse: "Jelajahi" }, + ife = "Selesai", + sfe = "Refresh", + afe = { + search: { + placeholder: "Cari item marketplace...", + placeholderMcp: "Cari MCP...", + placeholderMode: "Cari Mode...", + }, + type: { label: "Filter berdasarkan tipe:", all: "Semua tipe", mode: "Mode", mcpServer: "Server MCP" }, + sort: { label: "Urutkan berdasarkan:", name: "Nama", author: "Penulis", lastUpdated: "Terakhir Diperbarui" }, + tags: { + label: "Filter berdasarkan tag:", + clear: "Hapus tag", + placeholder: "Ketik untuk mencari dan memilih tag...", + noResults: "Tidak ada tag yang cocok", + selected: "Menampilkan item dengan tag yang dipilih", + clickToFilter: "Klik tag untuk memfilter item", + }, + none: "Tidak Ada", + }, + lfe = { organizationMcps: "MCP {{organization}}", marketplace: "Marketplace" }, + cfe = { + empty: { + noItems: "Tidak ada item marketplace ditemukan", + withFilters: "Coba sesuaikan filter Anda", + noSources: "Coba tambahkan sumber di tab Sumber", + adjustFilters: "Coba sesuaikan filter atau kata kunci pencarian Anda", + clearAllFilters: "Hapus semua filter", + }, + count: "{{count}} item ditemukan", + components: "{{count}} komponen", + matched: "{{count}} cocok", + refresh: { + button: "Refresh", + refreshing: "Merefresh...", + mayTakeMoment: "Ini mungkin membutuhkan waktu sebentar.", + }, + card: { + by: "oleh {{author}}", + from: "dari {{source}}", + install: "Instal", + installProject: "Instal", + installGlobal: "Instal (Global)", + remove: "Hapus", + removeProject: "Hapus", + removeGlobal: "Hapus (Global)", + viewSource: "Lihat", + viewOnSource: "Lihat di {{source}}", + noWorkspaceTooltip: "Buka workspace untuk menginstal item marketplace", + installed: "Terinstal", + removeProjectTooltip: "Hapus dari proyek saat ini", + removeGlobalTooltip: "Hapus dari konfigurasi global", + actionsMenuLabel: "Aksi lainnya", + }, + removeFailed: "Gagal menghapus item: {{error}}", + unknownError: "Terjadi kesalahan yang tidak diketahui", + }, + dfe = { + title: "Instal {{name}}", + titleMode: "Instal Mode {{name}}", + titleMcp: "Instal MCP {{name}}", + scope: "Cakupan Instalasi", + project: "Proyek (workspace saat ini)", + global: "Global (semua workspace)", + method: "Metode Instalasi", + prerequisites: "Prasyarat", + configuration: "Konfigurasi", + configurationDescription: "Konfigurasi parameter yang diperlukan untuk server MCP ini", + button: "Instal", + successTitle: "{{name}} Terinstal", + successDescription: "Instalasi berhasil diselesaikan", + installed: "Berhasil diinstal!", + whatNextMcp: + "Anda sekarang dapat mengkonfigurasi dan menggunakan server MCP ini. Klik ikon MCP di sidebar untuk beralih tab.", + whatNextMode: "Anda sekarang dapat menggunakan mode ini. Klik ikon Mode di sidebar untuk beralih tab.", + done: "Selesai", + goToMcp: "Ke Tab MCP", + goToModes: "Ke Pengaturan Mode", + moreInfoMcp: "Lihat dokumentasi MCP {{name}}", + validationRequired: "Silakan berikan nilai untuk {{paramName}}", + }, + ufe = { + title: "Konfigurasi Sumber Marketplace", + description: + "Tambahkan repositori Git yang berisi item marketplace. Repositori ini akan diambil saat menjelajahi marketplace.", + add: { + title: "Tambah Sumber Baru", + urlPlaceholder: "URL repositori Git (misalnya, https://github.com/username/repo)", + urlFormats: + "Format yang didukung: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), atau protokol Git (git://github.com/username/repo.git)", + namePlaceholder: "Nama tampilan (maks 20 karakter)", + button: "Tambah Sumber", + }, + current: { + title: "Sumber Saat Ini", + empty: "Tidak ada sumber yang dikonfigurasi. Tambahkan sumber untuk memulai.", + refresh: "Refresh sumber ini", + remove: "Hapus sumber", + }, + errors: { + emptyUrl: "URL tidak boleh kosong", + invalidUrl: "Format URL tidak valid", + nonVisibleChars: "URL mengandung karakter tidak terlihat selain spasi", + invalidGitUrl: + "URL harus berupa URL repositori Git yang valid (misalnya, https://github.com/username/repo)", + duplicateUrl: "URL ini sudah ada dalam daftar (pencocokan tidak peka huruf besar/kecil dan spasi)", + nameTooLong: "Nama harus 20 karakter atau kurang", + nonVisibleCharsName: "Nama mengandung karakter tidak terlihat selain spasi", + duplicateName: "Nama ini sudah digunakan (pencocokan tidak peka huruf besar/kecil dan spasi)", + emojiName: "Karakter emoji dapat menyebabkan masalah tampilan", + maxSources: "Maksimal {{max}} sumber diizinkan", + }, + }, + pfe = { + mode: { + title: "Hapus Mode", + message: 'Apakah Anda yakin ingin menghapus mode "{{modeName}}"?', + rulesWarning: "Ini juga akan menghapus semua file aturan terkait untuk mode ini.", + }, + mcp: { title: "Hapus Server MCP", message: 'Apakah Anda yakin ingin menghapus server MCP "{{mcpName}}"?' }, + cancel: "Batal", + confirm: "Hapus", + }, + mfe = { + issueText: + "Menemukan masalah dengan item marketplace atau punya saran untuk yang baru? <0>Buka GitHub issue</0> untuk memberi tahu kami!", + }, + Xvt = { + title: ofe, + tabs: rfe, + done: ife, + refresh: sfe, + filters: afe, + sections: lfe, + "type-group": { modes: "Mode", mcps: "Server MCP" }, + items: cfe, + install: dfe, + sources: ufe, + removeConfirm: pfe, + footer: mfe, + }, + Jvt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Xvt, + done: ife, + filters: afe, + footer: mfe, + install: dfe, + items: cfe, + refresh: sfe, + removeConfirm: pfe, + sections: lfe, + sources: ufe, + tabs: rfe, + title: ofe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + hfe = "Server MCP", + ffe = "Selesai", + gfe = "Marketplace MCP", + vfe = + '<0>Model Context Protocol</0> memungkinkan komunikasi dengan server MCP yang berjalan secara lokal yang menyediakan tools dan resources tambahan untuk memperluas kemampuan Roo Code. Anda dapat menggunakan <1>server buatan komunitas</1> atau meminta Roo membuat tools baru yang spesifik untuk workflow Anda (misalnya, "tambahkan tool yang mendapatkan dokumentasi npm terbaru").', + bfe = "Instruksi", + yfe = { + title: "Aktifkan Server MCP", + description: + "Nyalakan ini untuk membiarkan Roo menggunakan tools dari server MCP yang terhubung. Ini memberikan Roo lebih banyak kemampuan. Jika Anda tidak berencana menggunakan tools tambahan ini, matikan untuk membantu mengurangi biaya token API.", + }, + kfe = { + title: "Aktifkan Pembuatan Server MCP", + description: + "Aktifkan ini agar Roo membantu Anda membangun server MCP kustom <1>baru</1>. <0>Pelajari tentang pembuatan server</0>", + hint: "Petunjuk: Untuk mengurangi biaya token API, nonaktifkan pengaturan ini ketika Anda tidak secara aktif meminta Roo untuk membuat server MCP baru.", + }, + xfe = "Edit MCP Global", + wfe = "Edit MCP Proyek", + _fe = "Refresh Server MCP", + Cfe = "Pelajari lebih lanjut tentang mengedit file pengaturan MCP", + Sfe = { + alwaysAllow: "Selalu izinkan", + parameters: "Parameter", + noDescription: "Tidak ada deskripsi", + togglePromptInclusion: "Aktifkan daya untuk meminta", + }, + Afe = { tools: "Tools", resources: "Resources", errors: "Error" }, + Pfe = { + noTools: "Tidak ada tools ditemukan", + noResources: "Tidak ada resources ditemukan", + noErrors: "Tidak ada error ditemukan", + }, + Rfe = { + label: "Network Timeout", + description: "Waktu maksimum untuk menunggu respons server", + options: { + "15seconds": "15 detik", + "30seconds": "30 detik", + "1minute": "1 menit", + "5minutes": "5 menit", + "10minutes": "10 menit", + "15minutes": "15 menit", + "30minutes": "30 menit", + "60minutes": "60 menit", + }, + }, + Tfe = { + title: "Hapus Server MCP", + description: 'Apakah Anda yakin ingin menghapus server MCP "{{serverName}}"? Aksi ini tidak dapat dibatalkan.', + cancel: "Batal", + delete: "Hapus", + }, + Ife = { retrying: "Mencoba lagi...", retryConnection: "Coba Koneksi Lagi" }, + Mfe = { running: "Berjalan", completed: "Selesai", error: "Error" }, + ebt = { + title: hfe, + done: ffe, + marketplace: gfe, + description: vfe, + instructions: bfe, + enableToggle: yfe, + enableServerCreation: kfe, + editGlobalMCP: xfe, + editProjectMCP: wfe, + refreshMCP: _fe, + learnMoreEditingSettings: Cfe, + tool: Sfe, + tabs: Afe, + emptyState: Pfe, + networkTimeout: Rfe, + deleteDialog: Tfe, + serverStatus: Ife, + execution: Mfe, + }, + tbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: ebt, + deleteDialog: Tfe, + description: vfe, + done: ffe, + editGlobalMCP: xfe, + editProjectMCP: wfe, + emptyState: Pfe, + enableServerCreation: kfe, + enableToggle: yfe, + execution: Mfe, + instructions: bfe, + learnMoreEditingSettings: Cfe, + marketplace: gfe, + networkTimeout: Rfe, + refreshMCP: _fe, + serverStatus: Ife, + tabs: Afe, + title: hfe, + tool: Sfe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + jfe = "Mode", + Efe = "Selesai", + zfe = { + title: "Mode", + createNewMode: "Buat mode baru", + importMode: "Impor mode", + noMatchFound: "Tidak ada mode yang ditemukan", + editModesConfig: "Edit konfigurasi mode", + editGlobalModes: "Edit Mode Global", + editProjectModes: "Edit Mode Proyek (.roomodes)", + createModeHelpText: + "Mode adalah persona khusus yang menyesuaikan perilaku Roo Code. <0>Pelajari tentang Menggunakan Mode</0> atau <1>Menyesuaikan Mode.</1>", + selectMode: "Cari mode", + }, + $fe = { title: "Konfigurasi API", select: "Pilih konfigurasi API mana yang akan digunakan untuk mode ini" }, + Lfe = { + title: "Tools yang Tersedia", + builtInModesText: "Tools untuk mode bawaan tidak dapat dimodifikasi", + editTools: "Edit tools", + doneEditing: "Selesai mengedit", + allowedFiles: "File yang diizinkan:", + toolNames: { + read: "Baca File", + edit: "Edit File", + browser: "Gunakan Browser", + command: "Jalankan Perintah", + mcp: "Gunakan MCP", + }, + noTools: "Tidak Ada", + }, + Dfe = { + title: "Definisi Peran", + resetToDefault: "Reset ke default", + description: + "Tentukan keahlian dan kepribadian Roo untuk mode ini. Deskripsi ini membentuk bagaimana Roo mempresentasikan dirinya dan mendekati tugas.", + }, + Nfe = { + title: "Deskripsi singkat (untuk manusia)", + resetToDefault: "Setel ulang ke deskripsi default", + description: "Deskripsi singkat yang ditampilkan di dropdown pemilih mode.", + }, + Ofe = { + title: "Kapan Menggunakan (opsional)", + description: + "Jelaskan kapan mode ini harus digunakan. Ini membantu Orchestrator memilih mode yang tepat untuk suatu tugas.", + resetToDefault: "Reset ke deskripsi default 'Kapan Menggunakan'", + }, + Ffe = { + title: "Instruksi Kustom Khusus Mode (opsional)", + resetToDefault: "Reset ke default", + description: "Tambahkan panduan perilaku khusus untuk mode {{modeName}}.", + loadFromFile: + "Instruksi kustom khusus untuk mode {{mode}} juga dapat dimuat dari folder <span>.roo/rules-{{slug}}/</span> di workspace Anda (.roomodes-{{slug}} dan .clinerules-{{slug}} sudah deprecated dan akan segera berhenti bekerja).", + }, + Bfe = { + title: "Ekspor Mode", + description: + "Ekspor mode ini ke file YAML dengan semua aturan yang disertakan untuk berbagi dengan mudah dengan orang lain.", + export: "Ekspor Mode", + exporting: "Mengekspor...", + }, + Ufe = { + selectLevel: "Pilih di mana akan mengimpor mode ini:", + import: "Impor", + importing: "Mengimpor...", + global: { + label: "Tingkat Global", + description: "Tersedia di semua proyek. Aturan akan digabungkan ke dalam instruksi kustom.", + }, + project: { + label: "Tingkat Proyek", + description: + "Hanya tersedia di ruang kerja ini. Jika mode yang diekspor berisi file aturan, file tersebut akan dibuat ulang di folder .roo/rules-{slug}/.", + }, + }, + qfe = { title: "Lanjutan" }, + Wfe = { + title: "Instruksi Kustom untuk Semua Mode", + description: + "Instruksi ini berlaku untuk semua mode. Mereka menyediakan set dasar perilaku yang dapat ditingkatkan oleh instruksi khusus mode di bawah. <0>Pelajari lebih lanjut</0>", + loadFromFile: + "Instruksi juga dapat dimuat dari folder <span>.roo/rules/</span> di workspace Anda (.roorules dan .clinerules sudah deprecated dan akan segera berhenti bekerja).", + }, + Kfe = { + preview: "Pratinjau System Prompt", + copy: "Salin system prompt ke clipboard", + title: "System Prompt (mode {{modeName}})", + }, + Vfe = { + title: "Support Prompts", + resetPrompt: "Reset prompt {{promptType}} ke default", + prompt: "Prompt", + enhance: { + apiConfiguration: "Konfigurasi API", + apiConfigDescription: + "Anda dapat memilih konfigurasi API untuk selalu digunakan untuk meningkatkan prompt, atau gunakan yang sedang dipilih saat ini", + useCurrentConfig: "Gunakan konfigurasi API yang sedang dipilih", + testPromptPlaceholder: "Masukkan prompt untuk menguji peningkatan", + previewButton: "Pratinjau Peningkatan Prompt", + testEnhancement: "Uji Peningkatan", + includeTaskHistory: "Sertakan riwayat tugas sebagai konteks", + includeTaskHistoryDescription: + "Ketika diaktifkan, 10 pesan terakhir dari percakapan saat ini akan disertakan sebagai konteks saat meningkatkan prompt, membantu menghasilkan saran yang lebih relevan dan sadar konteks.", + }, + condense: { + apiConfiguration: "Konfigurasi API untuk Peringkasan Konteks", + apiConfigDescription: + "Pilih konfigurasi API mana yang akan digunakan untuk operasi peringkasan konteks. Biarkan tidak dipilih untuk menggunakan konfigurasi aktif saat ini.", + useCurrentConfig: "Gunakan konfigurasi API yang saat ini dipilih", + }, + types: { + ENHANCE: { + label: "Tingkatkan Prompt", + description: + "Gunakan peningkatan prompt untuk mendapatkan saran atau perbaikan yang disesuaikan untuk input Anda. Ini memastikan Roo memahami maksud Anda dan memberikan respons terbaik. Tersedia melalui ikon ✨ di chat.", + }, + CONDENSE: { + label: "Peringkasan Konteks", + description: + "Konfigurasikan bagaimana konteks percakapan diringkas untuk mengelola batas token. Prompt ini digunakan untuk operasi peringkasan konteks manual dan otomatis.", + }, + EXPLAIN: { + label: "Jelaskan Kode", + description: + "Dapatkan penjelasan detail tentang snippet kode, fungsi, atau seluruh file. Berguna untuk memahami kode kompleks atau mempelajari pola baru. Tersedia di code actions (ikon lightbulb di editor) dan menu konteks editor (klik kanan pada kode yang dipilih).", + }, + FIX: { + label: "Perbaiki Masalah", + description: + "Dapatkan bantuan mengidentifikasi dan menyelesaikan bug, error, atau masalah kualitas kode. Memberikan panduan langkah demi langkah untuk memperbaiki masalah. Tersedia di code actions (ikon lightbulb di editor) dan menu konteks editor (klik kanan pada kode yang dipilih).", + }, + IMPROVE: { + label: "Tingkatkan Kode", + description: + "Terima saran untuk optimisasi kode, praktik yang lebih baik, dan perbaikan arsitektur sambil mempertahankan fungsionalitas. Tersedia di code actions (ikon lightbulb di editor) dan menu konteks editor (klik kanan pada kode yang dipilih).", + }, + ADD_TO_CONTEXT: { + label: "Tambahkan ke Konteks", + description: + "Tambahkan konteks ke tugas atau percakapan saat ini. Berguna untuk memberikan informasi tambahan atau klarifikasi. Tersedia di code actions (ikon lightbulb di editor) dan menu konteks editor (klik kanan pada kode yang dipilih).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Tambahkan Konten Terminal ke Konteks", + description: + "Tambahkan output terminal ke tugas atau percakapan saat ini. Berguna untuk memberikan output perintah atau log. Tersedia di menu konteks terminal (klik kanan pada konten terminal yang dipilih).", + }, + TERMINAL_FIX: { + label: "Perbaiki Perintah Terminal", + description: + "Dapatkan bantuan memperbaiki perintah terminal yang gagal atau perlu perbaikan. Tersedia di menu konteks terminal (klik kanan pada konten terminal yang dipilih).", + }, + TERMINAL_EXPLAIN: { + label: "Jelaskan Perintah Terminal", + description: + "Dapatkan penjelasan detail tentang perintah terminal dan outputnya. Tersedia di menu konteks terminal (klik kanan pada konten terminal yang dipilih).", + }, + NEW_TASK: { + label: "Mulai Tugas Baru", + description: "Mulai tugas baru dengan input pengguna. Tersedia di Command Palette.", + }, + }, + }, + Hfe = { + title: "Lanjutan: Override System Prompt", + description: + "<2>⚠️ Peringatan:</2> Fitur lanjutan ini melewati pengamanan. <1>BACA INI SEBELUM MENGGUNAKAN!</1>Override system prompt default dengan membuat file di <span>.roo/system-prompt-{{slug}}</span>.", + }, + Gfe = { + title: "Buat Mode Baru", + close: "Tutup", + name: { label: "Nama", placeholder: "Masukkan nama mode" }, + slug: { + label: "Slug", + description: + "Slug digunakan dalam URL dan nama file. Harus huruf kecil dan hanya berisi huruf, angka, dan tanda hubung.", + }, + saveLocation: { + label: "Lokasi Penyimpanan", + description: "Pilih di mana menyimpan mode ini. Mode khusus proyek lebih diutamakan daripada mode global.", + global: { label: "Global", description: "Tersedia di semua workspace" }, + project: { + label: "Khusus proyek (.roomodes)", + description: "Hanya tersedia di workspace ini, lebih diutamakan daripada global", + }, + }, + roleDefinition: { + label: "Definisi Peran", + description: "Tentukan keahlian dan kepribadian Roo untuk mode ini.", + }, + whenToUse: { + label: "Kapan Menggunakan (opsional)", + description: + "Berikan deskripsi yang jelas tentang kapan mode ini paling efektif dan jenis tugas apa yang unggul.", + }, + tools: { label: "Tools yang Tersedia", description: "Pilih tools mana yang dapat digunakan mode ini." }, + description: { + label: "Deskripsi singkat (untuk manusia)", + description: "Deskripsi singkat yang ditampilkan di dropdown pemilih mode.", + }, + customInstructions: { + label: "Instruksi Kustom (opsional)", + description: "Tambahkan panduan perilaku khusus untuk mode ini.", + }, + buttons: { cancel: "Batal", create: "Buat Mode" }, + deleteMode: "Hapus mode", + }, + Qfe = "semua file", + Zfe = { + title: "Hapus Mode", + message: 'Anda yakin ingin menghapus mode "{{modeName}}"?', + rulesFolder: "Mode ini memiliki folder aturan di {{folderPath}} yang juga akan dihapus.", + descriptionNoRules: "Apakah Anda yakin ingin menghapus mode kustom ini?", + confirm: "Hapus", + cancel: "Batal", + }, + nbt = { + title: jfe, + done: Efe, + modes: zfe, + apiConfiguration: $fe, + tools: Lfe, + roleDefinition: Dfe, + description: Nfe, + whenToUse: Ofe, + customInstructions: Ffe, + exportMode: Bfe, + importMode: Ufe, + advanced: qfe, + globalCustomInstructions: Wfe, + systemPrompt: Kfe, + supportPrompts: Vfe, + advancedSystemPrompt: Hfe, + createModeDialog: Gfe, + allFiles: Qfe, + deleteMode: Zfe, + }, + obt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: qfe, + advancedSystemPrompt: Hfe, + allFiles: Qfe, + apiConfiguration: $fe, + createModeDialog: Gfe, + customInstructions: Ffe, + default: nbt, + deleteMode: Zfe, + description: Nfe, + done: Efe, + exportMode: Bfe, + globalCustomInstructions: Wfe, + importMode: Ufe, + modes: zfe, + roleDefinition: Dfe, + supportPrompts: Vfe, + systemPrompt: Kfe, + title: jfe, + tools: Lfe, + whenToUse: Ofe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Yfe = { + save: "Simpan", + done: "Selesai", + cancel: "Batal", + reset: "Reset", + select: "Pilih", + add: "Tambah Header", + remove: "Hapus", + }, + Xfe = { + title: "Pengaturan", + saveButtonTooltip: "Simpan perubahan", + nothingChangedTooltip: "Tidak ada yang berubah", + doneButtonTooltip: "Buang perubahan yang belum disimpan dan tutup panel pengaturan", + }, + Jfe = { + title: "Perubahan Belum Disimpan", + description: "Apakah kamu ingin membuang perubahan dan melanjutkan?", + cancelButton: "Batal", + discardButton: "Buang perubahan", + }, + ege = { + providers: "Provider", + autoApprove: "Auto-Approve", + browser: "Browser", + checkpoints: "Checkpoint", + notifications: "Notifikasi", + contextManagement: "Konteks", + terminal: "Terminal", + prompts: "Prompt", + experimental: "Eksperimental", + language: "Bahasa", + about: "Tentang Roo Code", + }, + tge = { + description: + "Konfigurasi support prompt yang digunakan untuk aksi cepat seperti meningkatkan prompt, menjelaskan kode, dan memperbaiki masalah. Prompt ini membantu Roo memberikan bantuan yang lebih baik untuk tugas pengembangan umum.", + }, + nge = { + title: "Pengindeksan Codebase", + enableLabel: "Aktifkan Pengindeksan Codebase", + enableDescription: "Aktifkan pengindeksan kode untuk pencarian dan pemahaman konteks yang lebih baik", + providerLabel: "Provider Embeddings", + selectProviderPlaceholder: "Pilih provider", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API Key:", + geminiApiKeyPlaceholder: "Masukkan kunci API Gemini Anda", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Kunci API:", + mistralApiKeyPlaceholder: "Masukkan kunci API Mistral Anda", + openaiCompatibleProvider: "OpenAI Compatible", + openAiKeyLabel: "OpenAI API Key", + openAiKeyPlaceholder: "Masukkan kunci API OpenAI kamu", + openAiCompatibleBaseUrlLabel: "Base URL", + openAiCompatibleApiKeyLabel: "API Key", + openAiCompatibleApiKeyPlaceholder: "Masukkan kunci API kamu", + openAiCompatibleModelDimensionLabel: "Dimensi Embedding:", + modelDimensionLabel: "Dimensi Model", + openAiCompatibleModelDimensionPlaceholder: "misalnya, 1536", + openAiCompatibleModelDimensionDescription: + "Dimensi embedding (ukuran output) untuk model kamu. Periksa dokumentasi provider kamu untuk nilai ini. Nilai umum: 384, 768, 1536, 3072.", + modelLabel: "Model", + selectModelPlaceholder: "Pilih model", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant Key:", + startIndexingButton: "Mulai", + clearIndexDataButton: "Hapus Indeks", + unsavedSettingsMessage: "Silakan simpan pengaturan kamu sebelum memulai proses pengindeksan.", + clearDataDialog: { + title: "Apakah kamu yakin?", + description: + "Tindakan ini tidak dapat dibatalkan. Ini akan menghapus data indeks codebase kamu secara permanen.", + cancelButton: "Batal", + confirmButton: "Hapus Data", + }, + description: + "Konfigurasi pengaturan pengindeksan codebase untuk mengaktifkan pencarian semantik proyek kamu. <0>Pelajari lebih lanjut</0>", + statusTitle: "Status", + settingsTitle: "Pengaturan Pengindeksan", + disabledMessage: + "Pengindeksan codebase saat ini dinonaktifkan. Aktifkan di pengaturan global untuk mengkonfigurasi opsi pengindeksan.", + embedderProviderLabel: "Provider Embedder", + modelPlaceholder: "Masukkan nama model", + selectModel: "Pilih model", + ollamaBaseUrlLabel: "URL Dasar Ollama", + qdrantApiKeyLabel: "Kunci API Qdrant", + qdrantApiKeyPlaceholder: "Masukkan kunci API Qdrant kamu (opsional)", + setupConfigLabel: "Pengaturan", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Gagal menyimpan pengaturan", + modelDimensions: "({{dimension}} dimensi)", + saveSuccess: "Pengaturan berhasil disimpan", + saving: "Menyimpan...", + saveSettings: "Simpan", + indexingStatuses: { standby: "Siaga", indexing: "Mengindeks", indexed: "Terindeks", error: "Error" }, + close: "Tutup", + validation: { + invalidQdrantUrl: "URL Qdrant tidak valid", + invalidOllamaUrl: "URL Ollama tidak valid", + invalidBaseUrl: "URL dasar tidak valid", + qdrantUrlRequired: "URL Qdrant diperlukan", + openaiApiKeyRequired: "Kunci API OpenAI diperlukan", + modelSelectionRequired: "Pemilihan model diperlukan", + apiKeyRequired: "Kunci API diperlukan", + modelIdRequired: "ID Model diperlukan", + modelDimensionRequired: "Dimensi model diperlukan", + geminiApiKeyRequired: "Kunci API Gemini diperlukan", + mistralApiKeyRequired: "Kunci API Mistral diperlukan", + ollamaBaseUrlRequired: "URL dasar Ollama diperlukan", + baseUrlRequired: "URL dasar diperlukan", + modelDimensionMinValue: "Dimensi model harus lebih besar dari 0", + }, + advancedConfigLabel: "Konfigurasi Lanjutan", + searchMinScoreLabel: "Ambang Batas Skor Pencarian", + searchMinScoreDescription: + "Skor kesamaan minimum (0.0-1.0) yang diperlukan untuk hasil pencarian. Nilai yang lebih rendah mengembalikan lebih banyak hasil tetapi mungkin kurang relevan. Nilai yang lebih tinggi mengembalikan lebih sedikit hasil tetapi lebih relevan.", + searchMinScoreResetTooltip: "Reset ke nilai default (0.4)", + searchMaxResultsLabel: "Hasil Pencarian Maksimum", + searchMaxResultsDescription: + "Jumlah maksimum hasil pencarian yang dikembalikan saat melakukan query indeks basis kode. Nilai yang lebih tinggi memberikan lebih banyak konteks tetapi mungkin menyertakan hasil yang kurang relevan.", + resetToDefault: "Reset ke default", + }, + oge = { + description: + "Izinkan Roo untuk secara otomatis melakukan operasi tanpa memerlukan persetujuan. Aktifkan pengaturan ini hanya jika kamu sepenuhnya mempercayai AI dan memahami risiko keamanan yang terkait.", + enabled: "Auto-Approve Diaktifkan", + toggleAriaLabel: "Beralih persetujuan otomatis", + disabledAriaLabel: "Persetujuan otomatis dinonaktifkan - pilih opsi terlebih dahulu", + readOnly: { + label: "Baca", + description: + "Ketika diaktifkan, Roo akan secara otomatis melihat konten direktori dan membaca file tanpa memerlukan kamu mengklik tombol Setujui.", + outsideWorkspace: { + label: "Sertakan file di luar workspace", + description: "Izinkan Roo membaca file di luar workspace saat ini tanpa memerlukan persetujuan.", + }, + }, + write: { + label: "Tulis", + description: "Secara otomatis membuat dan mengedit file tanpa memerlukan persetujuan", + delayLabel: "Delay setelah menulis untuk memungkinkan diagnostik mendeteksi masalah potensial", + outsideWorkspace: { + label: "Sertakan file di luar workspace", + description: + "Izinkan Roo membuat dan mengedit file di luar workspace saat ini tanpa memerlukan persetujuan.", + }, + protected: { + label: "Sertakan file yang dilindungi", + description: + "Izinkan Roo membuat dan mengedit file yang dilindungi (seperti .rooignore dan file konfigurasi .roo/) tanpa memerlukan persetujuan.", + }, + }, + browser: { + label: "Browser", + description: + "Secara otomatis melakukan aksi browser tanpa memerlukan persetujuan. Catatan: Hanya berlaku ketika model mendukung computer use", + }, + retry: { + label: "Coba Lagi", + description: + "Secara otomatis mencoba ulang permintaan API yang gagal ketika server mengembalikan respons error", + delayLabel: "Delay sebelum mencoba ulang permintaan", + }, + mcp: { + label: "MCP", + description: + 'Aktifkan auto-approval tool MCP individual di tampilan Server MCP (memerlukan pengaturan ini dan checkbox "Selalu izinkan" tool tersebut)', + }, + modeSwitch: { + label: "Mode", + description: "Secara otomatis beralih antara mode yang berbeda tanpa memerlukan persetujuan", + }, + subtasks: { + label: "Subtugas", + description: "Izinkan pembuatan dan penyelesaian subtugas tanpa memerlukan persetujuan", + }, + followupQuestions: { + label: "Pertanyaan", + description: + "Secara otomatis memilih jawaban pertama yang disarankan untuk pertanyaan lanjutan setelah batas waktu yang dikonfigurasi", + timeoutLabel: "Waktu tunggu sebelum otomatis memilih jawaban pertama", + }, + execute: { + label: "Eksekusi", + description: "Secara otomatis mengeksekusi perintah terminal yang diizinkan tanpa memerlukan persetujuan", + allowedCommands: "Perintah Auto-Execute yang Diizinkan", + allowedCommandsDescription: + 'Prefix perintah yang dapat di-auto-execute ketika "Selalu setujui operasi eksekusi" diaktifkan. Tambahkan * untuk mengizinkan semua perintah (gunakan dengan hati-hati).', + deniedCommands: "Perintah yang ditolak", + deniedCommandsDescription: + "Prefix perintah yang akan ditolak secara otomatis tanpa memerlukan persetujuan. Dalam kasus konflik dengan perintah yang diizinkan, pencocokan prefix terpanjang diprioritaskan. Tambahkan * untuk menolak semua perintah.", + commandPlaceholder: "Masukkan prefix perintah (misalnya, 'git ')", + deniedCommandPlaceholder: "Masukkan prefix perintah untuk ditolak (misalnya, 'rm -rf')", + addButton: "Tambah", + autoDenied: + "Perintah dengan awalan `{{prefix}}` telah dilarang oleh pengguna. Jangan menghindari pembatasan ini dengan menjalankan perintah lain.", + }, + showMenu: { + label: "Tampilkan menu auto-approve di tampilan chat", + description: + "Ketika diaktifkan, menu auto-approve akan ditampilkan di bagian bawah tampilan chat, memungkinkan akses cepat ke pengaturan auto-approve", + }, + updateTodoList: { label: "Todo", description: "Daftar tugas diperbarui secara otomatis tanpa persetujuan" }, + apiRequestLimit: { + title: "Permintaan Maks", + description: + "Secara otomatis membuat sejumlah permintaan API ini sebelum meminta persetujuan untuk melanjutkan tugas.", + unlimited: "Tidak terbatas", + }, + selectOptionsFirst: "Pilih setidaknya satu opsi di bawah ini untuk mengaktifkan persetujuan otomatis", + apiCostLimit: { title: "Biaya Maksimal", unlimited: "Tidak Terbatas" }, + maxLimits: { + description: + "Secara otomatis membuat permintaan hingga batas ini sebelum meminta persetujuan untuk melanjutkan.", + }, + }, + rge = JSON.parse( + `{"providerDocumentation":"Dokumentasi {{provider}}","configProfile":"Profil Konfigurasi","description":"Simpan konfigurasi API yang berbeda untuk beralih dengan cepat antara provider dan pengaturan.","apiProvider":"Provider API","model":"Model","nameEmpty":"Nama tidak boleh kosong","nameExists":"Profil dengan nama ini sudah ada","deleteProfile":"Hapus Profil","invalidArnFormat":"Format ARN tidak valid. Silakan periksa contoh di atas.","enterNewName":"Masukkan nama baru","addProfile":"Tambah Profil","renameProfile":"Ganti Nama Profil","newProfile":"Profil Konfigurasi Baru","enterProfileName":"Masukkan nama profil","createProfile":"Buat Profil","cannotDeleteOnlyProfile":"Tidak dapat menghapus satu-satunya profil","searchPlaceholder":"Cari profil","searchProviderPlaceholder":"Cari penyedia","noProviderMatchFound":"Tidak ada penyedia ditemukan","noMatchFound":"Tidak ada profil yang cocok ditemukan","vscodeLmDescription":" API Model Bahasa VS Code memungkinkan kamu menjalankan model yang disediakan oleh ekstensi VS Code lainnya (termasuk namun tidak terbatas pada GitHub Copilot). Cara termudah untuk memulai adalah menginstal ekstensi Copilot dan Copilot Chat dari VS Code Marketplace.","awsCustomArnUse":"Masukkan ARN Amazon Bedrock yang valid untuk model yang ingin kamu gunakan. Contoh format:","awsCustomArnDesc":"Pastikan region di ARN cocok dengan AWS Region yang kamu pilih di atas.","openRouterApiKey":"OpenRouter API Key","getOpenRouterApiKey":"Dapatkan OpenRouter API Key","apiKeyStorageNotice":"API key disimpan dengan aman di Secret Storage VSCode","glamaApiKey":"Glama API Key","getGlamaApiKey":"Dapatkan Glama API Key","useCustomBaseUrl":"Gunakan base URL kustom","useReasoning":"Aktifkan reasoning","useHostHeader":"Gunakan Host header kustom","useLegacyFormat":"Gunakan format API OpenAI legacy","customHeaders":"Header Kustom","headerName":"Nama header","headerValue":"Nilai header","noCustomHeaders":"Tidak ada header kustom yang didefinisikan. Klik tombol + untuk menambahkan satu.","requestyApiKey":"Requesty API Key","refreshModels":{"label":"Refresh Model","hint":"Silakan buka kembali pengaturan untuk melihat model terbaru.","loading":"Merefresh daftar model...","success":"Daftar model berhasil direfresh!","error":"Gagal merefresh daftar model. Silakan coba lagi."},"getRequestyApiKey":"Dapatkan Requesty API Key","openRouterTransformsText":"Kompres prompt dan rantai pesan ke ukuran konteks (<a>OpenRouter Transforms</a>)","anthropicApiKey":"Anthropic API Key","getAnthropicApiKey":"Dapatkan Anthropic API Key","anthropicUseAuthToken":"Kirim Anthropic API Key sebagai Authorization header alih-alih X-Api-Key","cerebrasApiKey":"Cerebras API Key","getCerebrasApiKey":"Dapatkan Cerebras API Key","chutesApiKey":"Chutes API Key","getChutesApiKey":"Dapatkan Chutes API Key","fireworksApiKey":"Fireworks API Key","getFireworksApiKey":"Dapatkan Fireworks API Key","deepSeekApiKey":"DeepSeek API Key","getDeepSeekApiKey":"Dapatkan DeepSeek API Key","doubaoApiKey":"Kunci API Doubao","getDoubaoApiKey":"Dapatkan Kunci API Doubao","moonshotApiKey":"Kunci API Moonshot","getMoonshotApiKey":"Dapatkan Kunci API Moonshot","moonshotBaseUrl":"Titik Masuk Moonshot","zaiApiKey":"Kunci API Z AI","getZaiApiKey":"Dapatkan Kunci API Z AI","zaiEntrypoint":"Titik Masuk Z AI","zaiEntrypointDescription":"Silakan pilih titik masuk API yang sesuai berdasarkan lokasi Anda. Jika Anda berada di China, pilih open.bigmodel.cn. Jika tidak, pilih api.z.ai.","geminiApiKey":"Gemini API Key","getGroqApiKey":"Dapatkan Groq API Key","groqApiKey":"Groq API Key","getSambaNovaApiKey":"Dapatkan SambaNova API Key","sambaNovaApiKey":"SambaNova API Key","getHuggingFaceApiKey":"Dapatkan Kunci API Hugging Face","huggingFaceApiKey":"Kunci API Hugging Face","huggingFaceModelId":"ID Model","getGeminiApiKey":"Dapatkan Gemini API Key","huggingFaceLoading":"Memuat...","huggingFaceModelsCount":"({{count}} model)","huggingFaceSelectModel":"Pilih model...","huggingFaceSearchModels":"Cari model...","huggingFaceNoModelsFound":"Tidak ada model ditemukan","huggingFaceProvider":"Penyedia","huggingFaceProviderAuto":"Otomatis","huggingFaceSelectProvider":"Pilih penyedia...","huggingFaceSearchProviders":"Cari penyedia...","huggingFaceNoProvidersFound":"Tidak ada penyedia ditemukan","openAiApiKey":"OpenAI API Key","apiKey":"API Key","openAiBaseUrl":"Base URL","getOpenAiApiKey":"Dapatkan OpenAI API Key","mistralApiKey":"Mistral API Key","getMistralApiKey":"Dapatkan Mistral / Codestral API Key","codestralBaseUrl":"Codestral Base URL (Opsional)","codestralBaseUrlDesc":"Atur URL alternatif untuk model Codestral.","xaiApiKey":"xAI API Key","getXaiApiKey":"Dapatkan xAI API Key","litellmApiKey":"LiteLLM API Key","litellmBaseUrl":"LiteLLM Base URL","awsCredentials":"AWS Credentials","awsProfile":"AWS Profile","awsApiKey":"Kunci API Amazon Bedrock","awsProfileName":"Nama AWS Profile","awsAccessKey":"AWS Access Key","awsSecretKey":"AWS Secret Key","awsSessionToken":"AWS Session Token","awsRegion":"AWS Region","awsCrossRegion":"Gunakan cross-region inference","awsBedrockVpc":{"useCustomVpcEndpoint":"Gunakan VPC endpoint kustom","vpcEndpointUrlPlaceholder":"Masukkan VPC Endpoint URL (opsional)","examples":"Contoh:"},"enablePromptCaching":"Aktifkan prompt caching","enablePromptCachingTitle":"Aktifkan prompt caching untuk meningkatkan performa dan mengurangi biaya untuk model yang didukung.","cacheUsageNote":"Catatan: Jika kamu tidak melihat penggunaan cache, coba pilih model yang berbeda lalu pilih model yang kamu inginkan lagi.","vscodeLmModel":"Model Bahasa","vscodeLmWarning":"Catatan: Ini adalah integrasi yang sangat eksperimental dan dukungan provider akan bervariasi. Jika kamu mendapat error tentang model yang tidak didukung, itu adalah masalah di sisi provider.","geminiParameters":{"urlContext":{"title":"Aktifkan konteks URL","description":"Memungkinkan Gemini mengakses dan memproses URL untuk konteks tambahan saat menghasilkan respons. Berguna untuk tugas yang memerlukan analisis konten web."},"groundingSearch":{"title":"Aktifkan Grounding dengan Pencarian Google","description":"Memungkinkan Gemini mencari informasi terkini di Google dan mendasarkan respons pada data waktu nyata. Berguna untuk kueri yang memerlukan informasi terkini."}},"googleCloudSetup":{"title":"Untuk menggunakan Google Cloud Vertex AI, kamu perlu:","step1":"1. Buat akun Google Cloud, aktifkan Vertex AI API & aktifkan model Claude yang diinginkan.","step2":"2. Instal Google Cloud CLI & konfigurasi application default credentials.","step3":"3. Atau buat service account dengan credentials."},"googleCloudCredentials":"Google Cloud Credentials","googleCloudKeyFile":"Path File Key Google Cloud","googleCloudProjectId":"Google Cloud Project ID","googleCloudRegion":"Google Cloud Region","lmStudio":{"baseUrl":"Base URL (opsional)","modelId":"Model ID","speculativeDecoding":"Aktifkan Speculative Decoding","draftModelId":"Draft Model ID","draftModelDesc":"Draft model harus dari keluarga model yang sama agar speculative decoding bekerja dengan benar.","selectDraftModel":"Pilih Draft Model","noModelsFound":"Tidak ada draft model ditemukan. Pastikan LM Studio berjalan dengan Server Mode diaktifkan.","description":"LM Studio memungkinkan kamu menjalankan model secara lokal di komputer. Untuk instruksi cara memulai, lihat <a>panduan quickstart</a> mereka. Kamu juga perlu memulai fitur <b>local server</b> LM Studio untuk menggunakannya dengan ekstensi ini. <span>Catatan:</span> Roo Code menggunakan prompt kompleks dan bekerja terbaik dengan model Claude. Model yang kurang mampu mungkin tidak bekerja seperti yang diharapkan."},"ollama":{"baseUrl":"Base URL (opsional)","modelId":"Model ID","description":"Ollama memungkinkan kamu menjalankan model secara lokal di komputer. Untuk instruksi cara memulai, lihat panduan quickstart mereka.","warning":"Catatan: Roo Code menggunakan prompt kompleks dan bekerja terbaik dengan model Claude. Model yang kurang mampu mungkin tidak bekerja seperti yang diharapkan."},"unboundApiKey":"Unbound API Key","getUnboundApiKey":"Dapatkan Unbound API Key","unboundRefreshModelsSuccess":"Daftar model diperbarui! Kamu sekarang dapat memilih dari model terbaru.","unboundInvalidApiKey":"API key tidak valid. Silakan periksa API key kamu dan coba lagi.","humanRelay":{"description":"Tidak diperlukan API key, tetapi pengguna perlu membantu menyalin dan menempel informasi ke web chat AI.","instructions":"Selama penggunaan, kotak dialog akan muncul dan pesan saat ini akan disalin ke clipboard secara otomatis. Kamu perlu menempel ini ke versi web AI (seperti ChatGPT atau Claude), lalu salin balasan AI kembali ke kotak dialog dan klik tombol konfirmasi."},"openRouter":{"providerRouting":{"title":"OpenRouter Provider Routing","description":"OpenRouter mengarahkan permintaan ke provider terbaik yang tersedia untuk model kamu. Secara default, permintaan diseimbangkan beban di seluruh provider teratas untuk memaksimalkan uptime. Namun, kamu dapat memilih provider spesifik untuk digunakan untuk model ini.","learnMore":"Pelajari lebih lanjut tentang provider routing"}},"customModel":{"capabilities":"Konfigurasi kemampuan dan harga untuk model kustom yang kompatibel dengan OpenAI. Hati-hati saat menentukan kemampuan model, karena dapat mempengaruhi performa Roo Code.","maxTokens":{"label":"Token Output Maksimum","description":"Jumlah maksimum token yang dapat dihasilkan model dalam respons. (Tentukan -1 untuk membiarkan server mengatur token maksimum.)"},"contextWindow":{"label":"Ukuran Context Window","description":"Total token (input + output) yang dapat diproses model."},"imageSupport":{"label":"Dukungan Gambar","description":"Apakah model ini mampu memproses dan memahami gambar?"},"computerUse":{"label":"Computer Use","description":"Apakah model ini mampu berinteraksi dengan browser? (misalnya Claude 3.7 Sonnet)."},"promptCache":{"label":"Prompt Caching","description":"Apakah model ini mampu melakukan caching prompt?"},"pricing":{"input":{"label":"Harga Input","description":"Biaya per juta token dalam input/prompt. Ini mempengaruhi biaya mengirim konteks dan instruksi ke model."},"output":{"label":"Harga Output","description":"Biaya per juta token dalam respons model. Ini mempengaruhi biaya konten yang dihasilkan dan completion."},"cacheReads":{"label":"Harga Cache Reads","description":"Biaya per juta token untuk membaca dari cache. Ini adalah harga yang dikenakan ketika respons yang di-cache diambil."},"cacheWrites":{"label":"Harga Cache Writes","description":"Biaya per juta token untuk menulis ke cache. Ini adalah harga yang dikenakan ketika prompt di-cache untuk pertama kalinya."}},"resetDefaults":"Reset ke Default"},"rateLimitSeconds":{"label":"Rate limit","description":"Waktu minimum antara permintaan API."},"consecutiveMistakeLimit":{"label":"Batas Kesalahan & Pengulangan","description":"Jumlah kesalahan berturut-turut atau tindakan berulang sebelum menampilkan dialog 'Roo mengalami masalah'","unlimitedDescription":"Percobaan ulang tak terbatas diaktifkan (lanjut otomatis). Dialog tidak akan pernah muncul.","warning":"⚠️ Mengatur ke 0 memungkinkan percobaan ulang tak terbatas yang dapat menghabiskan penggunaan API yang signifikan"},"reasoningEffort":{"label":"Upaya Reasoning Model","high":"Tinggi","medium":"Sedang","low":"Rendah"},"setReasoningLevel":"Aktifkan Upaya Reasoning","claudeCode":{"pathLabel":"Jalur Kode Claude","description":"Jalur opsional ke Claude Code CLI Anda. Defaultnya adalah 'claude' jika tidak diatur.","placeholder":"Default: claude","maxTokensLabel":"Token Output Maks","maxTokensDescription":"Jumlah maksimum token output untuk respons Claude Code. Default adalah 8000."}}`, + ), + ige = { + enable: { + label: "Aktifkan tool browser", + description: + "Ketika diaktifkan, Roo dapat menggunakan browser untuk berinteraksi dengan website ketika menggunakan model yang mendukung computer use. <0>Pelajari lebih lanjut</0>", + }, + viewport: { + label: "Ukuran viewport", + description: + "Pilih ukuran viewport untuk interaksi browser. Ini mempengaruhi bagaimana website ditampilkan dan berinteraksi.", + options: { + largeDesktop: "Desktop Besar (1280x800)", + smallDesktop: "Desktop Kecil (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Mobile (360x640)", + }, + }, + screenshotQuality: { + label: "Kualitas screenshot", + description: + "Sesuaikan kualitas WebP screenshot browser. Nilai yang lebih tinggi memberikan screenshot yang lebih jelas tetapi meningkatkan penggunaan token.", + }, + remote: { + label: "Gunakan koneksi browser remote", + description: + "Hubungkan ke browser Chrome yang berjalan dengan remote debugging diaktifkan (--remote-debugging-port=9222).", + urlPlaceholder: "URL Kustom (misalnya, http://localhost:9222)", + testButton: "Test Koneksi", + testingButton: "Testing...", + instructions: + "Masukkan alamat host DevTools Protocol atau biarkan kosong untuk auto-discover instance Chrome lokal. Tombol Test Koneksi akan mencoba URL kustom jika disediakan, atau auto-discover jika field kosong.", + }, + }, + sge = { + enable: { + label: "Aktifkan checkpoint otomatis", + description: + "Ketika diaktifkan, Roo akan secara otomatis membuat checkpoint selama eksekusi tugas, memudahkan untuk meninjau perubahan atau kembali ke state sebelumnya. <0>Pelajari lebih lanjut</0>", + }, + }, + age = { + sound: { + label: "Aktifkan efek suara", + description: "Ketika diaktifkan, Roo akan memutar efek suara untuk notifikasi dan event.", + volumeLabel: "Volume", + }, + tts: { + label: "Aktifkan text-to-speech", + description: "Ketika diaktifkan, Roo akan membacakan responnya menggunakan text-to-speech.", + speedLabel: "Kecepatan", + }, + }, + lge = { + description: + "Kontrol informasi apa yang disertakan dalam context window AI, mempengaruhi penggunaan token dan kualitas respons", + autoCondenseContextPercent: { + label: "Ambang batas untuk memicu kondensasi konteks cerdas", + description: + "Ketika context window mencapai ambang batas ini, Roo akan secara otomatis mengondensasikannya.", + }, + condensingApiConfiguration: { + label: "Konfigurasi API untuk Kondensasi Konteks", + description: + "Pilih konfigurasi API mana yang akan digunakan untuk operasi kondensasi konteks. Biarkan tidak dipilih untuk menggunakan konfigurasi aktif saat ini.", + useCurrentConfig: "Default", + }, + customCondensingPrompt: { + label: "Prompt Kondensasi Konteks Kustom", + description: + "Kustomisasi system prompt yang digunakan untuk kondensasi konteks. Biarkan kosong untuk menggunakan prompt default.", + placeholder: `Masukkan prompt kondensasi kustom kamu di sini... + +Kamu dapat menggunakan struktur yang sama dengan prompt default: +- Previous Conversation +- Current Work +- Key Technical Concepts +- Relevant Files and Code +- Problem Solving +- Pending Tasks and Next Steps`, + reset: "Reset ke Default", + hint: "Kosong = gunakan prompt default", + }, + autoCondenseContext: { + name: "Secara otomatis memicu kondensasi konteks cerdas", + description: + "Ketika diaktifkan, Roo akan secara otomatis mengondensasi konteks ketika ambang batas tercapai. Ketika dinonaktifkan, kamu masih dapat memicu kondensasi konteks secara manual.", + }, + diagnostics: { + includeMessages: { + label: "Secara otomatis sertakan diagnostik dalam konteks", + description: + "Ketika diaktifkan, pesan diagnostik (error) dari file yang diedit akan secara otomatis disertakan dalam konteks. Kamu selalu dapat menyertakan semua diagnostik workspace secara manual menggunakan @problems.", + }, + maxMessages: { + label: "Pesan diagnostik maksimum", + description: + "Jumlah maksimum pesan diagnostik yang akan disertakan per file. Batas ini berlaku untuk penyertaan otomatis (ketika checkbox diaktifkan) dan penyebutan manual @problems. Nilai yang lebih tinggi memberikan lebih banyak konteks tetapi meningkatkan penggunaan token.", + resetTooltip: "Reset ke nilai default (50)", + unlimited: "Pesan diagnostik tidak terbatas", + unlimitedLabel: "Tak terbatas", + }, + delayAfterWrite: { + label: "Tunda setelah penulisan untuk memungkinkan diagnostik mendeteksi potensi masalah", + description: + "Waktu tunggu setelah penulisan file sebelum melanjutkan, memungkinkan alat diagnostik untuk memproses perubahan dan mendeteksi masalah.", + }, + }, + condensingThreshold: { + label: "Ambang Batas Pemicu Kondensasi", + selectProfile: "Konfigurasi ambang batas untuk profil", + defaultProfile: "Default Global (semua profil)", + defaultDescription: + "Ketika konteks mencapai persentase ini, akan secara otomatis dikondensasi untuk semua profil kecuali mereka memiliki pengaturan kustom", + profileDescription: "Ambang batas kustom untuk profil ini saja (menimpa default global)", + inheritDescription: "Profil ini mewarisi ambang batas default global ({{threshold}}%)", + usesGlobal: "(menggunakan global {{threshold}}%)", + }, + openTabs: { + label: "Batas konteks tab terbuka", + description: + "Jumlah maksimum tab VSCode terbuka yang disertakan dalam konteks. Nilai yang lebih tinggi memberikan lebih banyak konteks tetapi meningkatkan penggunaan token.", + }, + workspaceFiles: { + label: "Batas konteks file workspace", + description: + "Jumlah maksimum file yang disertakan dalam detail direktori kerja saat ini. Nilai yang lebih tinggi memberikan lebih banyak konteks tetapi meningkatkan penggunaan token.", + }, + rooignore: { + label: "Tampilkan file .rooignore'd dalam daftar dan pencarian", + description: + "Ketika diaktifkan, file yang cocok dengan pola di .rooignore akan ditampilkan dalam daftar dengan simbol kunci. Ketika dinonaktifkan, file ini akan sepenuhnya disembunyikan dari daftar file dan pencarian.", + }, + maxConcurrentFileReads: { + label: "Batas pembacaan file bersamaan", + description: + "Jumlah maksimum file yang dapat diproses oleh tool 'read_file' secara bersamaan. Nilai yang lebih tinggi dapat mempercepat pembacaan beberapa file kecil tetapi meningkatkan penggunaan memori.", + }, + maxReadFile: { + label: "Ambang batas auto-truncate pembacaan file", + description: + "Roo membaca sejumlah baris ini ketika model menghilangkan nilai start/end. Jika angka ini kurang dari total file, Roo menghasilkan indeks nomor baris dari definisi kode. Kasus khusus: -1 menginstruksikan Roo untuk membaca seluruh file (tanpa indexing), dan 0 menginstruksikannya untuk tidak membaca baris dan hanya menyediakan indeks baris untuk konteks minimal. Nilai yang lebih rendah meminimalkan penggunaan konteks awal, memungkinkan pembacaan rentang baris yang tepat selanjutnya. Permintaan start/end eksplisit tidak dibatasi oleh pengaturan ini.", + lines: "baris", + always_full_read: "Selalu baca seluruh file", + }, + maxImageFileSize: { + label: "Ukuran file gambar maksimum", + mb: "MB", + description: "Ukuran maksimum (dalam MB) untuk file gambar yang dapat diproses oleh alat baca file.", + }, + maxTotalImageSize: { + label: "Ukuran total gambar maksimum", + mb: "MB", + description: + "Batas ukuran kumulatif maksimum (dalam MB) untuk semua gambar yang diproses dalam satu operasi read_file. Saat membaca beberapa gambar, ukuran setiap gambar ditambahkan ke total. Jika menyertakan gambar lain akan melebihi batas ini, gambar tersebut akan dilewati.", + }, + }, + cge = { + basic: { label: "Pengaturan Terminal: Dasar", description: "Pengaturan terminal dasar" }, + advanced: { + label: "Pengaturan Terminal: Lanjutan", + description: "Opsi berikut mungkin memerlukan restart terminal untuk menerapkan pengaturan.", + }, + outputLineLimit: { + label: "Batas output terminal", + description: + "Jumlah maksimum baris yang disertakan dalam output terminal saat mengeksekusi perintah. Ketika terlampaui, baris akan dihapus dari tengah, menghemat token. <0>Pelajari lebih lanjut</0>", + }, + outputCharacterLimit: { + label: "Batas karakter terminal", + description: + "Jumlah maksimum karakter yang akan disertakan dalam output terminal saat menjalankan perintah. Batas ini lebih diutamakan daripada batas baris untuk mencegah masalah memori dari baris yang sangat panjang. Ketika terlampaui, output akan dipotong. <0>Pelajari lebih lanjut</0>", + }, + shellIntegrationTimeout: { + label: "Timeout integrasi shell terminal", + description: + 'Waktu maksimum untuk menunggu integrasi shell menginisialisasi sebelum mengeksekusi perintah. Untuk pengguna dengan waktu startup shell yang lama, nilai ini mungkin perlu ditingkatkan jika kamu melihat error "Shell Integration Unavailable" di terminal. <0>Pelajari lebih lanjut</0>', + }, + shellIntegrationDisabled: { + label: "Nonaktifkan integrasi shell terminal", + description: + "Aktifkan ini jika perintah terminal tidak bekerja dengan benar atau kamu melihat error 'Shell Integration Unavailable'. Ini menggunakan metode yang lebih sederhana untuk menjalankan perintah, melewati beberapa fitur terminal lanjutan. <0>Pelajari lebih lanjut</0>", + }, + commandDelay: { + label: "Delay perintah terminal", + description: + "Delay dalam milidetik untuk ditambahkan setelah eksekusi perintah. Pengaturan default 0 menonaktifkan delay sepenuhnya. Ini dapat membantu memastikan output perintah sepenuhnya ditangkap di terminal dengan masalah timing. Di sebagian besar terminal ini diimplementasikan dengan mengatur `PROMPT_COMMAND='sleep N'` dan Powershell menambahkan `start-sleep` di akhir setiap perintah. Awalnya adalah workaround untuk VSCode bug#237208 dan mungkin tidak diperlukan. <0>Pelajari lebih lanjut</0>", + }, + compressProgressBar: { + label: "Kompres output progress bar", + description: + "Ketika diaktifkan, memproses output terminal dengan carriage return (\\r) untuk mensimulasikan bagaimana terminal nyata akan menampilkan konten. Ini menghapus state progress bar intermediate, hanya mempertahankan state final, yang menghemat ruang konteks untuk informasi yang lebih relevan. <0>Pelajari lebih lanjut</0>", + }, + powershellCounter: { + label: "Aktifkan workaround counter PowerShell", + description: + "Ketika diaktifkan, menambahkan counter ke perintah PowerShell untuk memastikan eksekusi perintah yang tepat. Ini membantu dengan terminal PowerShell yang mungkin memiliki masalah dengan penangkapan output perintah. <0>Pelajari lebih lanjut</0>", + }, + zshClearEolMark: { + label: "Hapus ZSH EOL mark", + description: + "Ketika diaktifkan, menghapus ZSH end-of-line mark dengan mengatur PROMPT_EOL_MARK=''. Ini mencegah masalah dengan interpretasi output perintah ketika output berakhir dengan karakter khusus seperti '%'. <0>Pelajari lebih lanjut</0>", + }, + zshOhMy: { + label: "Aktifkan integrasi Oh My Zsh", + description: + "Ketika diaktifkan, mengatur ITERM_SHELL_INTEGRATION_INSTALLED=Yes untuk mengaktifkan fitur integrasi shell Oh My Zsh. Menerapkan pengaturan ini mungkin memerlukan restart IDE. <0>Pelajari lebih lanjut</0>", + }, + zshP10k: { + label: "Aktifkan integrasi Powerlevel10k", + description: + "Ketika diaktifkan, mengatur POWERLEVEL9K_TERM_SHELL_INTEGRATION=true untuk mengaktifkan fitur integrasi shell Powerlevel10k. <0>Pelajari lebih lanjut</0>", + }, + zdotdir: { + label: "Aktifkan penanganan ZDOTDIR", + description: + "Ketika diaktifkan, membuat direktori sementara untuk ZDOTDIR untuk menangani integrasi shell zsh dengan benar. Ini memastikan integrasi shell VSCode bekerja dengan benar dengan zsh sambil mempertahankan konfigurasi zsh kamu. <0>Pelajari lebih lanjut</0>", + }, + inheritEnv: { + label: "Warisi variabel environment", + description: + "Ketika diaktifkan, terminal akan mewarisi variabel environment dari proses parent VSCode, seperti pengaturan integrasi shell yang didefinisikan user-profile. Ini secara langsung mengalihkan pengaturan global VSCode `terminal.integrated.inheritEnv`. <0>Pelajari lebih lanjut</0>", + }, + }, + dge = { title: "Pengaturan lanjutan" }, + uge = { + diff: { + label: "Aktifkan editing melalui diff", + description: + "Ketika diaktifkan, Roo akan dapat mengedit file lebih cepat dan akan secara otomatis menolak penulisan file penuh yang terpotong. Bekerja terbaik dengan model Claude 3.7 Sonnet terbaru.", + strategy: { + label: "Strategi diff", + options: { + standard: "Standard (Single block)", + multiBlock: "Eksperimental: Multi-block diff", + unified: "Eksperimental: Unified diff", + }, + descriptions: { + standard: "Strategi diff standard menerapkan perubahan ke satu blok kode pada satu waktu.", + unified: + "Strategi unified diff mengambil beberapa pendekatan untuk menerapkan diff dan memilih pendekatan terbaik.", + multiBlock: + "Strategi multi-block diff memungkinkan memperbarui beberapa blok kode dalam file dalam satu permintaan.", + }, + }, + matchPrecision: { + label: "Presisi pencocokan", + description: + "Slider ini mengontrol seberapa tepat bagian kode harus cocok saat menerapkan diff. Nilai yang lebih rendah memungkinkan pencocokan yang lebih fleksibel tetapi meningkatkan risiko penggantian yang salah. Gunakan nilai di bawah 100% dengan sangat hati-hati.", + }, + }, + todoList: { + label: "Aktifkan alat daftar tugas", + description: + "Saat diaktifkan, Roo dapat membuat dan mengelola daftar tugas untuk melacak kemajuan tugas. Ini membantu mengatur tugas kompleks menjadi langkah-langkah yang dapat dikelola.", + }, + }, + pge = { + warning: "⚠️", + autoCondenseContextPercent: { + label: "Ambang batas untuk memicu kondensasi konteks cerdas", + description: + "Ketika context window mencapai ambang batas ini, Roo akan secara otomatis mengondensasikannya.", + }, + condensingApiConfiguration: { + label: "Konfigurasi API untuk Kondensasi Konteks", + description: + "Pilih konfigurasi API mana yang akan digunakan untuk operasi kondensasi konteks. Biarkan tidak dipilih untuk menggunakan konfigurasi aktif saat ini.", + useCurrentConfig: "Default", + }, + customCondensingPrompt: { + label: "Prompt Kondensasi Konteks Kustom", + description: + "Kustomisasi system prompt yang digunakan untuk kondensasi konteks. Biarkan kosong untuk menggunakan prompt default.", + placeholder: `Masukkan prompt kondensasi kustom kamu di sini... + +Kamu dapat menggunakan struktur yang sama dengan prompt default: +- Previous Conversation +- Current Work +- Key Technical Concepts +- Relevant Files and Code +- Problem Solving +- Pending Tasks and Next Steps`, + reset: "Reset ke Default", + hint: "Kosong = gunakan prompt default", + }, + AUTO_CONDENSE_CONTEXT: { + name: "Secara cerdas mengondensasi context window", + description: + "Kondensasi konteks cerdas menggunakan panggilan LLM untuk merangkum percakapan masa lalu ketika context window tugas mencapai ambang batas yang telah ditetapkan, daripada menghapus pesan lama ketika konteks penuh.", + }, + DIFF_STRATEGY_UNIFIED: { + name: "Gunakan strategi unified diff eksperimental", + description: + "Aktifkan strategi unified diff eksperimental. Strategi ini mungkin mengurangi jumlah retry yang disebabkan oleh error model tetapi dapat menyebabkan perilaku yang tidak terduga atau edit yang salah. Hanya aktifkan jika kamu memahami risikonya dan bersedia meninjau semua perubahan dengan hati-hati.", + }, + SEARCH_AND_REPLACE: { + name: "Gunakan tool search and replace eksperimental", + description: + "Aktifkan tool search and replace eksperimental, memungkinkan Roo mengganti beberapa instance dari term pencarian dalam satu permintaan.", + }, + INSERT_BLOCK: { + name: "Gunakan tool insert content eksperimental", + description: + "Aktifkan tool insert content eksperimental, memungkinkan Roo menyisipkan konten pada nomor baris spesifik tanpa perlu membuat diff.", + }, + POWER_STEERING: { + name: 'Gunakan mode "power steering" eksperimental', + description: + "Ketika diaktifkan, Roo akan mengingatkan model tentang detail definisi mode saat ini lebih sering. Ini akan menghasilkan kepatuhan yang lebih kuat terhadap definisi peran dan instruksi kustom, tetapi akan menggunakan lebih banyak token per pesan.", + }, + AUTOCOMPLETE: { + name: 'Gunakan fitur "autocomplete" eksperimental', + description: + "Ketika diaktifkan, Roo akan memberikan saran kode inline saat kamu mengetik. Memerlukan Roo Code API Provider.", + }, + CONCURRENT_FILE_READS: { + name: "Aktifkan pembacaan file bersamaan", + description: + "Ketika diaktifkan, Roo dapat membaca beberapa file dalam satu permintaan. Ketika dinonaktifkan, Roo harus membaca file satu per satu. Menonaktifkan ini dapat membantu saat bekerja dengan model yang kurang mampu atau ketika kamu ingin kontrol lebih terhadap akses file.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Gunakan tool multi block diff eksperimental", + description: + "Ketika diaktifkan, Roo akan menggunakan tool multi block diff. Ini akan mencoba memperbarui beberapa blok kode dalam file dalam satu permintaan.", + }, + MARKETPLACE: { + name: "Aktifkan Marketplace", + description: "Ketika diaktifkan, kamu dapat menginstal MCP dan mode kustom dari Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Aktifkan edit file bersamaan", + description: + "Ketika diaktifkan, Roo dapat mengedit beberapa file dalam satu permintaan. Ketika dinonaktifkan, Roo harus mengedit file satu per satu. Menonaktifkan ini dapat membantu saat bekerja dengan model yang kurang mampu atau ketika kamu ingin kontrol lebih terhadap modifikasi file.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Pengeditan Latar Belakang", + description: + "Ketika diaktifkan, mencegah gangguan fokus editor. Pengeditan file terjadi di latar belakang tanpa membuka tampilan diff atau mencuri fokus. Anda dapat terus bekerja tanpa gangguan saat Roo melakukan perubahan. File mungkin dibuka tanpa fokus untuk menangkap diagnostik atau tetap tertutup sepenuhnya.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Gunakan parser pesan baru", + description: + "Aktifkan parser pesan streaming eksperimental yang meningkatkan kinerja untuk respons panjang dengan memproses pesan lebih efisien.", + }, + }, + mge = { + label: "Nonaktifkan prompt caching", + description: "Ketika dicentang, Roo tidak akan menggunakan prompt caching untuk model ini.", + }, + hge = { + useCustom: "Gunakan temperature kustom", + description: "Mengontrol keacakan dalam respons model.", + rangeDescription: + "Nilai yang lebih tinggi membuat output lebih acak, nilai yang lebih rendah membuatnya lebih deterministik.", + }, + fge = { + supportsImages: "Mendukung gambar", + noImages: "Tidak mendukung gambar", + supportsComputerUse: "Mendukung computer use", + noComputerUse: "Tidak mendukung computer use", + supportsPromptCache: "Mendukung prompt caching", + noPromptCache: "Tidak mendukung prompt caching", + maxOutput: "Output maksimum", + inputPrice: "Harga input", + outputPrice: "Harga output", + cacheReadsPrice: "Harga cache reads", + cacheWritesPrice: "Harga cache writes", + enableStreaming: "Aktifkan streaming", + enableR1Format: "Aktifkan parameter model R1", + enableR1FormatTips: "Harus diaktifkan saat menggunakan model R1 seperti QWQ untuk mencegah error 400", + useAzure: "Gunakan Azure", + azureApiVersion: "Atur versi API Azure", + gemini: { + freeRequests: + "* Gratis hingga {{count}} permintaan per menit. Setelah itu, penagihan tergantung pada ukuran prompt.", + pricingDetails: "Untuk info lebih lanjut, lihat detail harga.", + billingEstimate: "* Penagihan adalah estimasi - biaya sebenarnya tergantung pada ukuran prompt.", + }, + }, + gge = { + automaticFetch: + 'Ekstensi secara otomatis mengambil daftar model terbaru yang tersedia di <serviceLink>{{serviceName}}</serviceLink>. Jika kamu tidak yakin model mana yang harus dipilih, Roo Code bekerja terbaik dengan <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Kamu juga dapat mencoba mencari "free" untuk opsi tanpa biaya yang saat ini tersedia.', + label: "Model", + searchPlaceholder: "Cari", + noMatchFound: "Tidak ada yang cocok ditemukan", + useCustomModel: "Gunakan kustom: {{modelId}}", + }, + vge = { + feedback: + "Jika kamu punya pertanyaan atau feedback, jangan ragu untuk membuka issue di <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> atau bergabung <redditLink>reddit.com/r/RooCode</redditLink> atau <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Izinkan pelaporan error dan penggunaan anonim", + description: + "Bantu tingkatkan Roo Code dengan mengirim data penggunaan anonim dan laporan error. Tidak ada kode, prompt, atau informasi pribadi yang pernah dikirim. Lihat kebijakan privasi kami untuk detail lebih lanjut.", + }, + settings: { import: "Impor", export: "Ekspor", reset: "Reset" }, + }, + bge = { maxTokens: "Token Maksimum", maxThinkingTokens: "Token Thinking Maksimum" }, + yge = { + apiKey: "Kamu harus menyediakan API key yang valid.", + awsRegion: "Kamu harus memilih region untuk digunakan dengan Amazon Bedrock.", + googleCloud: "Kamu harus menyediakan Google Cloud Project ID dan Region yang valid.", + modelId: "Kamu harus menyediakan model ID yang valid.", + modelSelector: "Kamu harus menyediakan model selector yang valid.", + openAi: "Kamu harus menyediakan base URL, API key, dan model ID yang valid.", + arn: { + invalidFormat: "Format ARN tidak valid. Silakan periksa persyaratan format.", + regionMismatch: + "Peringatan: Region di ARN kamu ({{arnRegion}}) tidak cocok dengan region yang kamu pilih ({{region}}). Ini dapat menyebabkan masalah akses. Provider akan menggunakan region dari ARN.", + }, + modelAvailability: "Model ID ({{modelId}}) yang kamu berikan tidak tersedia. Silakan pilih model yang berbeda.", + providerNotAllowed: "Provider '{{provider}}' tidak diizinkan oleh organisasi kamu", + modelNotAllowed: "Model '{{model}}' tidak diizinkan untuk provider '{{provider}}' oleh organisasi kamu", + profileInvalid: "Profil ini berisi provider atau model yang tidak diizinkan oleh organisasi kamu", + }, + kge = { + apiKey: "Masukkan API Key...", + profileName: "Masukkan nama profil", + accessKey: "Masukkan Access Key...", + secretKey: "Masukkan Secret Key...", + sessionToken: "Masukkan Session Token...", + credentialsJson: "Masukkan Credentials JSON...", + keyFilePath: "Masukkan Path File Key...", + projectId: "Masukkan Project ID...", + customArn: "Masukkan ARN (misalnya arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Masukkan base URL...", + modelId: { + lmStudio: "misalnya meta-llama-3.1-8b-instruct", + lmStudioDraft: "misalnya lmstudio-community/llama-3.2-1b-instruct", + ollama: "misalnya llama3.1", + }, + numbers: { + maxTokens: "misalnya 4096", + contextWindow: "misalnya 128000", + inputPrice: "misalnya 0.0001", + outputPrice: "misalnya 0.0002", + cacheWritePrice: "misalnya 0.00005", + }, + }, + xge = { + ollamaUrl: "Default: http://localhost:11434", + lmStudioUrl: "Default: http://localhost:1234", + geminiUrl: "Default: https://generativelanguage.googleapis.com", + }, + wge = { customArn: "ARN Kustom", useCustomArn: "Gunakan ARN kustom..." }, + _ge = "Sertakan token output maksimum", + Cge = "Kirim parameter token output maksimum dalam permintaan API. Beberapa provider mungkin tidak mendukung ini.", + Sge = "Batasi jumlah maksimum token dalam respons", + Age = "Token output maksimum", + Pge = "Token maksimum untuk dihasilkan dalam respons", + rbt = { + common: Yfe, + header: Xfe, + unsavedChangesDialog: Jfe, + sections: ege, + prompts: tge, + codeIndex: nge, + autoApprove: oge, + providers: rge, + browser: ige, + checkpoints: sge, + notifications: age, + contextManagement: lge, + terminal: cge, + advancedSettings: dge, + advanced: uge, + experimental: pge, + promptCaching: mge, + temperature: hge, + modelInfo: fge, + modelPicker: gge, + footer: vge, + thinkingBudget: bge, + validation: yge, + placeholders: kge, + defaults: xge, + labels: wge, + includeMaxOutputTokens: _ge, + includeMaxOutputTokensDescription: Cge, + limitMaxTokensDescription: Sge, + maxOutputTokensLabel: Age, + maxTokensGenerateDescription: Pge, + }, + ibt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: uge, + advancedSettings: dge, + autoApprove: oge, + browser: ige, + checkpoints: sge, + codeIndex: nge, + common: Yfe, + contextManagement: lge, + default: rbt, + defaults: xge, + experimental: pge, + footer: vge, + header: Xfe, + includeMaxOutputTokens: _ge, + includeMaxOutputTokensDescription: Cge, + labels: wge, + limitMaxTokensDescription: Sge, + maxOutputTokensLabel: Age, + maxTokensGenerateDescription: Pge, + modelInfo: fge, + modelPicker: gge, + notifications: age, + placeholders: kge, + promptCaching: mge, + prompts: tge, + providers: rge, + sections: ege, + temperature: hge, + terminal: cge, + thinkingBudget: bge, + unsavedChangesDialog: Jfe, + validation: yge, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Rge = "Selamat datang di Roo Code!", + Tge = + "Dengan berbagai Mode bawaan dan dapat diperluas, Roo Code memungkinkan Anda merencanakan, merancang, coding, debug, dan meningkatkan produktivitas seperti yang belum pernah terjadi sebelumnya.", + Ige = "Untuk memulai, ekstensi ini memerlukan provider API.", + Mge = "Ayo mulai!", + jge = { + requesty: { description: "Router LLM yang dioptimalkan", incentive: "Kredit gratis $1" }, + openrouter: { description: "Interface terpadu untuk LLM" }, + }, + Ege = "Untuk melakukan keajaibannya, Roo membutuhkan API key.", + zge = "Kami merekomendasikan menggunakan Router LLM:", + $ge = "Atau Anda dapat menggunakan API key Anda sendiri:", + Lge = { + title: "Bantu Tingkatkan Roo Code", + anonymousTelemetry: + "Kirim data error dan penggunaan anonim untuk membantu kami memperbaiki bug dan meningkatkan ekstensi. Tidak ada kode, prompt, atau informasi pribadi yang pernah dikirim.", + changeSettings: "Anda selalu dapat mengubah ini di bagian bawah <settingsLink>pengaturan</settingsLink>", + settings: "pengaturan", + allow: "Izinkan", + deny: "Tolak", + }, + Dge = "Impor Pengaturan", + sbt = { + greeting: Rge, + introduction: Tge, + notice: Ige, + start: Mge, + routers: jge, + chooseProvider: Ege, + startRouter: zge, + startCustom: $ge, + telemetry: Lge, + importSettings: Dge, + }, + abt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: Ege, + default: sbt, + greeting: Rge, + importSettings: Dge, + introduction: Tge, + notice: Ige, + routers: jge, + start: Mge, + startCustom: $ge, + startRouter: zge, + telemetry: Lge, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Nge = "Account", + Oge = "Immagine del profilo", + Fge = "Disconnetti", + Bge = "Verifica autenticazione API", + Uge = "Connetti a Roo Code Cloud", + qge = "Connetti", + Wge = "Connetti a Roo Code Cloud", + Kge = "Sincronizza i tuoi prompt e telemetria per abilitare:", + Vge = "Cronologia attività online", + Hge = "Funzionalità di condivisione e collaborazione", + Gge = "Metriche di utilizzo basate su attività, token e costi", + Qge = "Segui e controlla le attività da qualsiasi luogo con Roomote Control", + Zge = "Roomote Control", + Yge = "Abilita il monitoraggio e l'interazione con le attività in questo workspace con Roo Code Cloud", + Xge = "Visita Roo Code Cloud", + lbt = { + title: Nge, + profilePicture: Oge, + logOut: Fge, + testApiAuthentication: Bge, + signIn: Uge, + connect: qge, + cloudBenefitsTitle: Wge, + cloudBenefitsSubtitle: Kge, + cloudBenefitHistory: Vge, + cloudBenefitSharing: Hge, + cloudBenefitMetrics: Gge, + cloudBenefitWalkaway: Qge, + remoteControl: Zge, + remoteControlDescription: Yge, + visitCloudWebsite: Xge, + }, + cbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: Vge, + cloudBenefitMetrics: Gge, + cloudBenefitSharing: Hge, + cloudBenefitWalkaway: Qge, + cloudBenefitsSubtitle: Kge, + cloudBenefitsTitle: Wge, + connect: qge, + default: lbt, + logOut: Fge, + profilePicture: Oge, + remoteControl: Zge, + remoteControlDescription: Yge, + signIn: Uge, + testApiAuthentication: Bge, + title: Nge, + visitCloudWebsite: Xge, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Jge = "Benvenuto a Roo Code", + eve = { + title: "Attività", + seeMore: "Vedi altro", + seeLess: "Vedi meno", + tokens: "Tokens:", + cache: "Cache:", + apiCost: "Costo API:", + contextWindow: "Lunghezza del contesto:", + closeAndStart: "Chiudi attività e iniziane una nuova", + export: "Esporta cronologia attività", + delete: "Elimina attività (Shift + Clic per saltare la conferma)", + condenseContext: "Condensa contesto in modo intelligente", + share: "Condividi attività", + shareWithOrganization: "Condividi con l'organizzazione", + shareWithOrganizationDescription: "Solo i membri della tua organizzazione possono accedere", + sharePublicly: "Condividi pubblicamente", + sharePubliclyDescription: "Chiunque con il link può accedere", + connectToCloud: "Connetti al Cloud", + connectToCloudDescription: "Accedi a Roo Code Cloud per condividere attività", + sharingDisabledByOrganization: "Condivisione disabilitata dall'organizzazione", + shareSuccessOrganization: "Link organizzazione copiato negli appunti", + shareSuccessPublic: "Link pubblico copiato negli appunti", + }, + tve = "Rilascia", + nve = "Fissa", + ove = { + availableSpace: "Spazio disponibile: {{amount}} tokens", + tokensUsed: "Tokens utilizzati: {{used}} di {{total}}", + reservedForResponse: "Riservato per risposta del modello: {{amount}} tokens", + }, + rve = { title: "Riprova", tooltip: "Prova di nuovo l'operazione" }, + ive = { title: "Inizia nuova attività", tooltip: "Inizia una nuova attività" }, + sve = { title: "Procedi comunque", tooltip: "Continua mentre il comando è in esecuzione" }, + ave = { title: "Salva", tooltip: "Salva le modifiche del messaggio" }, + lve = { title: "Rifiuta", tooltip: "Rifiuta questa azione" }, + cve = "Completa sottoattività e torna indietro", + dve = { title: "Approva", tooltip: "Approva questa azione" }, + uve = { title: "Esegui comando", tooltip: "Esegui questo comando" }, + pve = { title: "Procedi durante l'esecuzione", tooltip: "Continua nonostante gli avvisi" }, + mve = { title: "Termina comando", tooltip: "Termina il comando corrente" }, + hve = { title: "Riprendi attività", tooltip: "Continua l'attività corrente" }, + fve = { title: "Termina", tooltip: "Termina l'attività corrente" }, + gve = { title: "Annulla", tooltip: "Annulla l'operazione corrente" }, + vve = "Scorri fino alla fine della chat", + bve = + "Genera, refactor e debug del codice con l'assistenza dell'IA. Consulta la nostra <DocsLink>documentazione</DocsLink> per saperne di più.", + yve = + "Grazie alle più recenti innovazioni nelle capacità di codifica agentica, posso gestire complesse attività di sviluppo software passo dopo passo. Con strumenti che mi permettono di creare e modificare file, esplorare progetti complessi, utilizzare il browser ed eseguire comandi da terminale (dopo la tua autorizzazione), posso aiutarti in modi che vanno oltre il completamento del codice o il supporto tecnico. Posso persino usare MCP per creare nuovi strumenti ed estendere le mie capacità.", + kve = { + boomerangTasks: { + title: "Orchestrazione di Attività", + description: "Dividi le attività in parti più piccole e gestibili.", + }, + stickyModels: { + title: "Modalità persistenti", + description: "Ogni modalità ricorda il tuo ultimo modello utilizzato", + }, + tools: { + title: "Strumenti", + description: "Consenti all'IA di risolvere i problemi navigando sul Web, eseguendo comandi e altro ancora.", + }, + customizableModes: { + title: "Modalità personalizzabili", + description: "Personalità specializzate con comportamenti propri e modelli assegnati", + }, + }, + xve = "Seleziona modalità di interazione", + wve = "Seleziona la configurazione API", + _ve = "Migliora prompt con contesto aggiuntivo", + Cve = "Aggiungi immagini al messaggio", + Sve = "Invia messaggio", + Ave = "Interrompi sintesi vocale", + Pve = "Scrivi un messaggio...", + Rve = "Scrivi la tua attività qui...", + Tve = "@ per aggiungere contesto, / per i comandi", + Ive = "tieni premuto shift per trascinare file", + Mve = "tieni premuto shift per trascinare file/immagini", + jve = + "Il pulsante 'Migliora prompt' aiuta a migliorare la tua richiesta fornendo contesto aggiuntivo, chiarimenti o riformulazioni. Prova a digitare una richiesta qui e fai di nuovo clic sul pulsante per vedere come funziona.", + Eve = { + title: "Modalità", + marketplace: "Marketplace delle Modalità", + settings: "Impostazioni Modalità", + description: "Personalità specializzate che adattano il comportamento di Roo.", + searchPlaceholder: "Cerca modalità...", + noResults: "Nessun risultato trovato", + }, + zve = "Errore nella lettura del file:", + $ve = "Nessuna immagine valida è stata elaborata", + Lve = "Separatore", + Dve = "Modifica...", + Nve = "per la prossima modalità", + Ove = "per la modalità precedente", + Fve = { wantsToFetch: "Roo vuole recuperare istruzioni dettagliate per aiutare con l'attività corrente" }, + Bve = "Errore", + Uve = { title: "Modifica non riuscita" }, + qve = "Roo sta avendo problemi...", + Wve = { + title: "Richiesta API", + failed: "Richiesta API fallita", + streaming: "Richiesta API...", + cancelled: "Richiesta API annullata", + streamingFailed: "Streaming API fallito", + }, + Kve = { + regular: "Checkpoint", + initializingWarning: + "Inizializzazione del checkpoint in corso... Se questa operazione richiede troppo tempo, puoi disattivare i checkpoint nelle <settingsLink>impostazioni</settingsLink> e riavviare l'attività.", + menu: { + viewDiff: "Visualizza differenze", + restore: "Ripristina checkpoint", + restoreFiles: "Ripristina file", + restoreFilesDescription: "Ripristina i file del tuo progetto a uno snapshot catturato in questo punto.", + restoreFilesAndTask: "Ripristina file e attività", + confirm: "Conferma", + cancel: "Annulla", + cannotUndo: "Questa azione non può essere annullata.", + restoreFilesAndTaskDescription: + "Ripristina i file del tuo progetto a uno snapshot catturato in questo punto ed elimina tutti i messaggi successivi a questo punto.", + }, + current: "Corrente", + }, + Vve = { + wantsToRead: "Roo vuole leggere questo file:", + wantsToReadOutsideWorkspace: "Roo vuole leggere questo file al di fuori dell'area di lavoro:", + didRead: "Roo ha letto questo file:", + wantsToEdit: "Roo vuole modificare questo file:", + wantsToEditOutsideWorkspace: "Roo vuole modificare questo file al di fuori dell'area di lavoro:", + wantsToEditProtected: "Roo vuole modificare un file di configurazione protetto:", + wantsToCreate: "Roo vuole creare un nuovo file:", + wantsToSearchReplace: "Roo vuole eseguire ricerca e sostituzione in questo file:", + didSearchReplace: "Roo ha eseguito ricerca e sostituzione in questo file:", + wantsToInsert: "Roo vuole inserire contenuto in questo file:", + wantsToInsertWithLineNumber: "Roo vuole inserire contenuto in questo file alla riga {{lineNumber}}:", + wantsToInsertAtEnd: "Roo vuole aggiungere contenuto alla fine di questo file:", + wantsToReadAndXMore: "Roo vuole leggere questo file e altri {{count}}:", + wantsToReadMultiple: "Roo vuole leggere più file:", + wantsToApplyBatchChanges: "Roo vuole applicare modifiche a più file:", + }, + Hve = { + wantsToViewTopLevel: "Roo vuole visualizzare i file di primo livello in questa directory:", + didViewTopLevel: "Roo ha visualizzato i file di primo livello in questa directory:", + wantsToViewRecursive: "Roo vuole visualizzare ricorsivamente tutti i file in questa directory:", + didViewRecursive: "Roo ha visualizzato ricorsivamente tutti i file in questa directory:", + wantsToViewDefinitions: + "Roo vuole visualizzare i nomi delle definizioni di codice sorgente utilizzate in questa directory:", + didViewDefinitions: + "Roo ha visualizzato i nomi delle definizioni di codice sorgente utilizzate in questa directory:", + wantsToSearch: "Roo vuole cercare in questa directory <code>{{regex}}</code>:", + didSearch: "Roo ha cercato in questa directory <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo vuole cercare in questa directory (fuori dall'area di lavoro) <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo ha cercato in questa directory (fuori dall'area di lavoro) <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo vuole visualizzare i file di primo livello in questa directory (fuori dall'area di lavoro):", + didViewTopLevelOutsideWorkspace: + "Roo ha visualizzato i file di primo livello in questa directory (fuori dall'area di lavoro):", + wantsToViewRecursiveOutsideWorkspace: + "Roo vuole visualizzare ricorsivamente tutti i file in questa directory (fuori dall'area di lavoro):", + didViewRecursiveOutsideWorkspace: + "Roo ha visualizzato ricorsivamente tutti i file in questa directory (fuori dall'area di lavoro):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo vuole visualizzare i nomi delle definizioni di codice sorgente utilizzate in questa directory (fuori dall'area di lavoro):", + didViewDefinitionsOutsideWorkspace: + "Roo ha visualizzato i nomi delle definizioni di codice sorgente utilizzate in questa directory (fuori dall'area di lavoro):", + }, + Gve = "Output del comando", + Qve = { + running: "In esecuzione", + pid: "PID: {{pid}}", + exited: "Terminato ({{exitCode}})", + manageCommands: "Gestisci autorizzazioni comandi", + commandManagementDescription: + "Gestisci le autorizzazioni dei comandi: fai clic su ✓ per consentire l'esecuzione automatica, ✗ per negare l'esecuzione. I pattern possono essere attivati/disattivati o rimossi dagli elenchi. <settingsLink>Visualizza tutte le impostazioni</settingsLink>", + addToAllowed: "Aggiungi all'elenco consentiti", + removeFromAllowed: "Rimuovi dall'elenco consentiti", + addToDenied: "Aggiungi all'elenco negati", + removeFromDenied: "Rimuovi dall'elenco negati", + abortCommand: "Interrompi esecuzione comando", + expandOutput: "Espandi output", + collapseOutput: "Comprimi output", + expandManagement: "Espandi la sezione di gestione dei comandi", + collapseManagement: "Comprimi la sezione di gestione dei comandi", + }, + Zve = "Risposta", + Yve = { + wantsToUseTool: "Roo vuole utilizzare uno strumento sul server MCP {{serverName}}:", + wantsToAccessResource: "Roo vuole accedere a una risorsa sul server MCP {{serverName}}:", + }, + Xve = { + wantsToSwitch: "Roo vuole passare alla modalità <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo vuole passare alla modalità <code>{{mode}}</code> perché: {{reason}}", + didSwitch: "Roo è passato alla modalità <code>{{mode}}</code>", + didSwitchWithReason: "Roo è passato alla modalità <code>{{mode}}</code> perché: {{reason}}", + }, + Jve = { + wantsToCreate: "Roo vuole creare una nuova sottoattività in modalità <code>{{mode}}</code>:", + wantsToFinish: "Roo vuole completare questa sottoattività", + newTaskContent: "Istruzioni sottoattività", + completionContent: "Sottoattività completata", + resultContent: "Risultati sottoattività", + defaultResult: "Per favore continua con la prossima attività.", + completionInstructions: + "Sottoattività completata! Puoi rivedere i risultati e suggerire correzioni o prossimi passi. Se tutto sembra a posto, conferma per restituire il risultato all'attività principale.", + }, + ebe = { hasQuestion: "Roo ha una domanda:" }, + tbe = "Attività completata", + nbe = { issues: "Sembra che tu stia avendo problemi con Windows PowerShell, consulta questa" }, + obe = { + title: "Auto-approvazione:", + none: "Nessuna", + description: + "L'auto-approvazione permette a Roo Code di eseguire azioni senza chiedere permesso. Abilita solo per azioni di cui ti fidi completamente. Configurazione più dettagliata disponibile nelle <settingsLink>Impostazioni</settingsLink>.", + selectOptionsFirst: "Seleziona almeno un'opzione qui sotto per abilitare l'auto-approvazione", + toggleAriaLabel: "Attiva/disattiva approvazione automatica", + disabledAriaLabel: "Approvazione automatica disabilitata - seleziona prima le opzioni", + }, + rbe = { thinking: "Sto pensando", seconds: "{{count}}s" }, + ibe = { + title: "Contesto condensato", + condensing: "Condensazione del contesto...", + errorHeader: "Impossibile condensare il contesto", + tokens: "token", + }, + sbe = { + copyToInput: "Copia nell'input (o Shift + clic)", + autoSelectCountdown: "Selezione automatica in {{count}}s", + countdownDisplay: "{{count}}s", + }, + abe = { + title: "🎉 Rilasciato Roo Code {{version}}", + description: + "Roo Code {{version}} porta nuove potenti funzionalità e miglioramenti significativi per potenziare il tuo flusso di lavoro di sviluppo.", + whatsNew: "Novità", + feature1: + "<bold>Coda Messaggi</bold>: Metti in coda più messaggi mentre Roo sta lavorando, permettendoti di continuare a pianificare il tuo flusso di lavoro senza interruzioni.", + feature2: + "<bold>Comandi Slash Personalizzati</bold>: Crea comandi slash personalizzati per accesso rapido a prompt e flussi di lavoro utilizzati frequentemente, con gestione completa dell'interfaccia utente.", + feature3: + "<bold>Strumenti Gemini Migliorati</bold>: Nuove capacità di contesto URL e fondamenta di ricerca Google forniscono ai modelli Gemini informazioni web in tempo reale e capacità di ricerca migliorate.", + hideButton: "Nascondi annuncio", + detailsDiscussLinks: + "Ottieni maggiori dettagli e partecipa alle discussioni su <discordLink>Discord</discordLink> e <redditLink>Reddit</redditLink> 🚀", + }, + lbe = { + rooWantsToUse: "Roo vuole utilizzare il browser:", + consoleLogs: "Log della console", + noNewLogs: "(Nessun nuovo log)", + screenshot: "Screenshot del browser", + cursor: "cursore", + navigation: { step: "Passo {{current}} di {{total}}", previous: "Precedente", next: "Successivo" }, + sessionStarted: "Sessione browser avviata", + actions: { + title: "Azione browser: ", + launch: "Avvia browser su {{url}}", + click: "Clic ({{coordinate}})", + type: 'Digita "{{text}}"', + scrollDown: "Scorri verso il basso", + scrollUp: "Scorri verso l'alto", + close: "Chiudi browser", + }, + }, + cbe = { + tooltips: { + expand: "Espandi blocco di codice", + collapse: "Comprimi blocco di codice", + enable_wrap: "Attiva a capo automatico", + disable_wrap: "Disattiva a capo automatico", + copy_code: "Copia codice", + }, + }, + dbe = + "ATTENZIONE: Sovrascrittura personalizzata delle istruzioni di sistema attiva. Questo può compromettere gravemente le funzionalità e causare comportamenti imprevedibili.", + ube = "Il profilo corrente non è compatibile con le impostazioni della tua organizzazione", + pbe = { + title: "Avviso di esecuzione comando", + description: + "Il tuo comando viene eseguito senza l'integrazione shell del terminale VSCode. Per sopprimere questo avviso puoi disattivare l'integrazione shell nella sezione <strong>Terminal</strong> delle <settingsLink>impostazioni di Roo Code</settingsLink> o risolvere i problemi di integrazione del terminale VSCode utilizzando il link qui sotto.", + troubleshooting: "Clicca qui per la documentazione sull'integrazione shell.", + }, + mbe = { + autoApprovedRequestLimitReached: { + title: "Limite di Richieste Auto-approvate Raggiunto", + description: + "Roo ha raggiunto il limite auto-approvato di {{count}} richiesta/e API. Vuoi reimpostare il contatore e procedere con l'attività?", + button: "Reimposta e Continua", + }, + autoApprovedCostLimitReached: { + title: "Limite di costo auto-approvato raggiunto", + button: "Reimposta e Continua", + description: + "Roo ha raggiunto il limite di costo approvato automaticamente di ${{count}}. Vuoi reimpostare il costo e procedere con l'attività?", + }, + }, + hbe = { + wantsToSearch: "Roo vuole cercare nella base di codice <code>{{query}}</code>:", + wantsToSearchWithPath: + "Roo vuole cercare nella base di codice <code>{{query}}</code> in <code>{{path}}</code>:", + didSearch_one: "Trovato 1 risultato", + didSearch_other: "Trovati {{count}} risultati", + resultTooltip: "Punteggio di somiglianza: {{score}} (clicca per aprire il file)", + }, + fbe = { + ready: "Indice pronto", + indexing: "Indicizzazione {{percentage}}%", + indexed: "Indicizzato", + error: "Errore indice", + status: "Stato indice", + }, + gbe = { ariaLabel: "Versione {{version}} - Clicca per visualizzare le note di rilascio" }, + vbe = { + title: "Roo Code Cloud arriva presto!", + description: + "Esegui agenti remoti nel cloud, accedi alle tue attività da qualsiasi luogo, collabora con altri e molto altro.", + joinWaitlist: "Unisciti alla lista d'attesa per ottenere l'accesso anticipato.", + }, + bbe = { placeholder: "Modifica il tuo messaggio..." }, + ybe = { triggerDescription: "Attiva il comando {{name}}" }, + kbe = { + tooltip: "Gestisci comandi slash", + title: "Comandi Slash", + description: + "Crea comandi slash personalizzati per accedere rapidamente a prompt e flussi di lavoro utilizzati frequentemente. <DocsLink>Documentazione</DocsLink>", + globalCommands: "Comandi Globali", + workspaceCommands: "Comandi dello Spazio di Lavoro", + globalCommand: "Comando globale", + editCommand: "Modifica comando", + deleteCommand: "Elimina comando", + newGlobalCommandPlaceholder: "Nuovo comando globale...", + newWorkspaceCommandPlaceholder: "Nuovo comando dello spazio di lavoro...", + deleteDialog: { + title: "Elimina Comando", + description: 'Sei sicuro di voler eliminare il comando "{{name}}"? Questa azione non può essere annullata.', + cancel: "Annulla", + confirm: "Elimina", + }, + }, + xbe = { title: "Messaggi in coda:", clickToEdit: "Clicca per modificare il messaggio" }, + dbt = { + greeting: Jge, + task: eve, + unpin: tve, + pin: nve, + tokenProgress: ove, + retry: rve, + startNewTask: ive, + proceedAnyways: sve, + save: ave, + reject: lve, + completeSubtaskAndReturn: cve, + approve: dve, + runCommand: uve, + proceedWhileRunning: pve, + killCommand: mve, + resumeTask: hve, + terminate: fve, + cancel: gve, + scrollToBottom: vve, + about: bve, + onboarding: yve, + rooTips: kve, + selectMode: xve, + selectApiConfig: wve, + enhancePrompt: _ve, + addImages: Cve, + sendMessage: Sve, + stopTts: Ave, + typeMessage: Pve, + typeTask: Rve, + addContext: Tve, + dragFiles: Ive, + dragFilesImages: Mve, + enhancePromptDescription: jve, + modeSelector: Eve, + errorReadingFile: zve, + noValidImages: $ve, + separator: Lve, + edit: Dve, + forNextMode: Nve, + forPreviousMode: Ove, + instructions: Fve, + error: Bve, + diffError: Uve, + troubleMessage: qve, + apiRequest: Wve, + checkpoint: Kve, + fileOperations: Vve, + directoryOperations: Hve, + commandOutput: Gve, + commandExecution: Qve, + response: Zve, + arguments: "Argomenti", + mcp: Yve, + modes: Xve, + subtasks: Jve, + questions: ebe, + taskCompleted: tbe, + powershell: nbe, + autoApprove: obe, + reasoning: rbe, + contextCondense: ibe, + followUpSuggest: sbe, + announcement: abe, + browser: lbe, + codeblock: cbe, + systemPromptWarning: dbe, + profileViolationWarning: ube, + shellIntegration: pbe, + ask: mbe, + codebaseSearch: hbe, + "read-batch": { approve: { title: "Approva tutto" }, deny: { title: "Nega tutto" } }, + indexingStatus: fbe, + versionIndicator: gbe, + rooCloudCTA: vbe, + editMessage: bbe, + command: ybe, + slashCommands: kbe, + queuedMessages: xbe, + }, + ubt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: bve, + addContext: Tve, + addImages: Cve, + announcement: abe, + apiRequest: Wve, + approve: dve, + ask: mbe, + autoApprove: obe, + browser: lbe, + cancel: gve, + checkpoint: Kve, + codebaseSearch: hbe, + codeblock: cbe, + command: ybe, + commandExecution: Qve, + commandOutput: Gve, + completeSubtaskAndReturn: cve, + contextCondense: ibe, + default: dbt, + diffError: Uve, + directoryOperations: Hve, + dragFiles: Ive, + dragFilesImages: Mve, + edit: Dve, + editMessage: bbe, + enhancePrompt: _ve, + enhancePromptDescription: jve, + error: Bve, + errorReadingFile: zve, + fileOperations: Vve, + followUpSuggest: sbe, + forNextMode: Nve, + forPreviousMode: Ove, + greeting: Jge, + indexingStatus: fbe, + instructions: Fve, + killCommand: mve, + mcp: Yve, + modeSelector: Eve, + modes: Xve, + noValidImages: $ve, + onboarding: yve, + pin: nve, + powershell: nbe, + proceedAnyways: sve, + proceedWhileRunning: pve, + profileViolationWarning: ube, + questions: ebe, + queuedMessages: xbe, + reasoning: rbe, + reject: lve, + response: Zve, + resumeTask: hve, + retry: rve, + rooCloudCTA: vbe, + rooTips: kve, + runCommand: uve, + save: ave, + scrollToBottom: vve, + selectApiConfig: wve, + selectMode: xve, + sendMessage: Sve, + separator: Lve, + shellIntegration: pbe, + slashCommands: kbe, + startNewTask: ive, + stopTts: Ave, + subtasks: Jve, + systemPromptWarning: dbe, + task: eve, + taskCompleted: tbe, + terminate: fve, + tokenProgress: ove, + troubleMessage: qve, + typeMessage: Pve, + typeTask: Rve, + unpin: tve, + versionIndicator: gbe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + wbe = { + title: "Qualcosa è andato storto", + reportText: "Aiutaci a migliorare segnalando questo errore su", + githubText: "la nostra pagina GitHub Issues", + copyInstructions: + "Copia e incolla il seguente messaggio di errore per includerlo come parte della tua segnalazione:", + errorStack: "Stack di errore:", + componentStack: "Stack dei componenti:", + }, + _be = { yes: "Sì", no: "No", cancel: "Annulla", remove: "Rimuovi", keep: "Mantieni" }, + Cbe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + Sbe = { search_placeholder: "Cerca...", no_results: "Nessun risultato trovato" }, + Abe = { + loading: "Generazione del diagramma mermaid...", + render_error: "Impossibile renderizzare il diagramma", + buttons: { + zoom: "Zoom", + zoomIn: "Ingrandisci", + zoomOut: "Riduci", + copy: "Copia", + save: "Salva immagine", + viewCode: "Visualizza codice", + viewDiagram: "Visualizza diagramma", + close: "Chiudi", + }, + modal: { codeTitle: "Codice Mermaid" }, + tabs: { diagram: "Diagramma", code: "Codice" }, + feedback: { imageCopied: "Immagine copiata negli appunti", copyError: "Errore nella copia dell'immagine" }, + }, + Pbe = { + errors: { + invalidDataUri: "Formato URI dati non valido", + copyingImage: "Errore nella copia dell'immagine: {{error}}", + openingImage: "Errore nell'apertura dell'immagine: {{error}}", + pathNotExists: "Il percorso non esiste: {{path}}", + couldNotOpen: "Impossibile aprire il file: {{error}}", + couldNotOpenGeneric: "Impossibile aprire il file!", + }, + success: { imageDataUriCopied: "URI dati immagine copiato negli appunti" }, + }, + Rbe = { + deleteMessage: "Elimina Messaggio", + deleteWarning: + "Eliminando questo messaggio verranno eliminati tutti i messaggi successivi nella conversazione. Vuoi procedere?", + editMessage: "Modifica Messaggio", + editWarning: + "Modificando questo messaggio verranno eliminati tutti i messaggi successivi nella conversazione. Vuoi procedere?", + proceed: "Procedi", + }, + pbt = { errorBoundary: wbe, answers: _be, number_format: Cbe, ui: Sbe, mermaid: Abe, file: Pbe, confirmation: Rbe }, + mbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: _be, + confirmation: Rbe, + default: pbt, + errorBoundary: wbe, + file: Pbe, + mermaid: Abe, + number_format: Cbe, + ui: Sbe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Tbe = "Attività recenti", + Ibe = "Cronologia", + Mbe = "Esci dalla modalità selezione", + jbe = "Entra in modalità selezione", + Ebe = "Fatto", + zbe = "Ricerca sfocata nella cronologia...", + $be = "Più recenti", + Lbe = "Più vecchie", + Dbe = "Più costose", + Nbe = "Più token", + Obe = "Più rilevanti", + Fbe = "Elimina attività (Shift + Clic per saltare conferma)", + Bbe = "Copia prompt", + Ube = "Esporta attività", + qbe = "Elimina attività", + Wbe = "Sei sicuro di voler eliminare questa attività? Questa azione non può essere annullata.", + Kbe = "Annulla", + Vbe = "Esci dalla selezione", + Hbe = "Modalità selezione", + Gbe = "Deseleziona tutto", + Qbe = "Seleziona tutto", + Zbe = "{{selected}}/{{total}} elementi selezionati", + Ybe = "Cancella selezione", + Xbe = "Elimina selezionati", + Jbe = "Elimina attività", + eye = "Sei sicuro di voler eliminare {{count}} attività?", + tye = "Le attività eliminate non possono essere recuperate. Assicurati di voler continuare.", + nye = "Elimina {{count}} elementi", + oye = { prefix: "Spazio di lavoro:", current: "Attuale", all: "Tutti" }, + rye = { + prefix: "Ordina:", + newest: "Più recenti", + oldest: "Più vecchie", + mostExpensive: "Più costose", + mostTokens: "Più token", + mostRelevant: "Più rilevanti", + }, + iye = "Visualizza tutta la cronologia", + hbt = { + recentTasks: Tbe, + history: Ibe, + exitSelectionMode: Mbe, + enterSelectionMode: jbe, + done: Ebe, + searchPlaceholder: zbe, + newest: $be, + oldest: Lbe, + mostExpensive: Dbe, + mostTokens: Nbe, + mostRelevant: Obe, + deleteTaskTitle: Fbe, + copyPrompt: Bbe, + exportTask: Ube, + deleteTask: qbe, + deleteTaskMessage: Wbe, + cancel: Kbe, + delete: "Elimina", + exitSelection: Vbe, + selectionMode: Hbe, + deselectAll: Gbe, + selectAll: Qbe, + selectedItems: Zbe, + clearSelection: Ybe, + deleteSelected: Xbe, + deleteTasks: Jbe, + confirmDeleteTasks: eye, + deleteTasksWarning: tye, + deleteItems: nye, + workspace: oye, + sort: rye, + viewAllHistory: iye, + }, + fbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: Kbe, + clearSelection: Ybe, + confirmDeleteTasks: eye, + copyPrompt: Bbe, + default: hbt, + deleteItems: nye, + deleteSelected: Xbe, + deleteTask: qbe, + deleteTaskMessage: Wbe, + deleteTaskTitle: Fbe, + deleteTasks: Jbe, + deleteTasksWarning: tye, + deselectAll: Gbe, + done: Ebe, + enterSelectionMode: jbe, + exitSelection: Vbe, + exitSelectionMode: Mbe, + exportTask: Ube, + history: Ibe, + mostExpensive: Dbe, + mostRelevant: Obe, + mostTokens: Nbe, + newest: $be, + oldest: Lbe, + recentTasks: Tbe, + searchPlaceholder: zbe, + selectAll: Qbe, + selectedItems: Zbe, + selectionMode: Hbe, + sort: rye, + viewAllHistory: iye, + workspace: oye, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + sye = "Relay Umano - Aiuta a copiare/incollare le informazioni", + aye = + "Copia il seguente prompt nell'AI web, quindi incolla la risposta dell'AI nella casella di input sottostante.", + lye = "Copiato negli appunti", + cye = { label: "Inserisci la risposta dell'AI:", placeholder: "Incolla qui la risposta dell'AI..." }, + dye = { cancel: "Annulla", submit: "Invia" }, + gbt = { dialogTitle: sye, dialogDescription: aye, copiedToClipboard: lye, aiResponse: cye, actions: dye }, + vbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: dye, + aiResponse: cye, + copiedToClipboard: lye, + default: gbt, + dialogDescription: aye, + dialogTitle: sye, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + uye = "Roo Marketplace", + pye = { installed: "Installati", settings: "Impostazioni", browse: "Sfoglia" }, + mye = "Fatto", + hye = "Aggiorna", + fye = { + search: { + placeholder: "Cerca elementi del Marketplace...", + placeholderMcp: "Cerca MCP...", + placeholderMode: "Cerca modalità...", + }, + type: { label: "Filtra per tipo:", all: "Tutti i tipi", mode: "Modalità", mcpServer: "Server MCP" }, + sort: { label: "Ordina per:", name: "Nome", author: "Autore", lastUpdated: "Ultimo aggiornamento" }, + tags: { + label: "Filtra per tag:", + clear: "Cancella tag", + placeholder: "Digita per cercare e selezionare tag...", + noResults: "Nessun tag corrispondente trovato", + selected: "Mostra elementi con uno qualsiasi dei tag selezionati", + clickToFilter: "Clicca sui tag per filtrare gli elementi", + }, + none: "Nessuno", + }, + gye = { organizationMcps: "MCP di {{organization}}", marketplace: "Mercato" }, + vye = { + empty: { + noItems: "Nessun elemento del Marketplace trovato", + withFilters: "Prova ad aggiustare i tuoi filtri", + noSources: "Prova ad aggiungere una fonte nella scheda Fonti", + adjustFilters: "Prova ad aggiustare i tuoi filtri o termini di ricerca", + clearAllFilters: "Cancella tutti i filtri", + }, + count: "{{count}} elementi trovati", + components: "{{count}} componenti", + matched: "{{count}} trovati", + refresh: { + button: "Aggiorna", + refreshing: "Aggiornamento in corso...", + mayTakeMoment: "Questo potrebbe richiedere un momento.", + }, + card: { + by: "di {{author}}", + from: "da {{source}}", + install: "Installa", + installProject: "Installa", + installGlobal: "Installa (Globale)", + remove: "Rimuovi", + removeProject: "Rimuovi", + removeGlobal: "Rimuovi (Globale)", + viewSource: "Visualizza", + viewOnSource: "Visualizza su {{source}}", + noWorkspaceTooltip: "Apri un'area di lavoro per installare elementi del Marketplace", + installed: "Installato", + removeProjectTooltip: "Rimuovi dal progetto corrente", + removeGlobalTooltip: "Rimuovi dalla configurazione globale", + actionsMenuLabel: "Altre azioni", + }, + removeFailed: "Impossibile rimuovere l'elemento: {{error}}", + unknownError: "Si è verificato un errore sconosciuto", + }, + bye = { + title: "Installa {{name}}", + titleMode: "Installa modalità {{name}}", + titleMcp: "Installa MCP {{name}}", + scope: "Ambito di installazione", + project: "Progetto (area di lavoro corrente)", + global: "Globale (tutte le aree di lavoro)", + method: "Metodo di installazione", + configuration: "Configurazione", + configurationDescription: "Configura i parametri richiesti per questo server MCP", + button: "Installa", + successTitle: "{{name}} installato", + successDescription: "Installazione completata con successo", + installed: "Installato con successo!", + whatNextMcp: + "Ora puoi configurare e utilizzare questo server MCP. Clicca sull'icona MCP nella barra laterale per cambiare scheda.", + whatNextMode: + "Ora puoi utilizzare questa modalità. Clicca sull'icona delle modalità nella barra laterale per cambiare scheda.", + done: "Fatto", + goToMcp: "Vai alla scheda MCP", + goToModes: "Vai alle impostazioni Modalità", + moreInfoMcp: "Visualizza documentazione MCP {{name}}", + validationRequired: "Fornisci un valore per {{paramName}}", + prerequisites: "Prerequisiti", + }, + yye = { + title: "Configura fonti del Marketplace", + description: + "Aggiungi repository Git che contengono elementi del Marketplace. Questi repository verranno recuperati quando si naviga nel Marketplace.", + add: { + title: "Aggiungi nuova fonte", + urlPlaceholder: "URL del repository Git (es. https://github.com/username/repo)", + urlFormats: + "Formati supportati: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git) o protocollo Git (git://github.com/username/repo.git)", + namePlaceholder: "Nome visualizzato (max 20 caratteri)", + button: "Aggiungi fonte", + }, + current: { + title: "Fonti correnti", + empty: "Nessuna fonte configurata. Aggiungi una fonte per iniziare.", + refresh: "Aggiorna questa fonte", + remove: "Rimuovi fonte", + }, + errors: { + emptyUrl: "L'URL non può essere vuoto", + invalidUrl: "Formato URL non valido", + nonVisibleChars: "L'URL contiene caratteri non visibili oltre agli spazi", + invalidGitUrl: "L'URL deve essere un URL di repository Git valido (es. https://github.com/username/repo)", + duplicateUrl: "Questo URL è già nell'elenco (maiuscole/minuscole e spazi ignorati)", + nameTooLong: "Il nome deve essere di 20 caratteri o meno", + nonVisibleCharsName: "Il nome contiene caratteri non visibili oltre agli spazi", + duplicateName: "Questo nome è già in uso (maiuscole/minuscole e spazi ignorati)", + emojiName: "I caratteri emoji possono causare problemi di visualizzazione", + maxSources: "Massimo {{max}} fonti consentite", + }, + }, + kye = { + mode: { + title: "Rimuovi modalità", + message: 'Sei sicuro di voler rimuovere la modalità "{{modeName}}"?', + rulesWarning: "Questo rimuoverà anche eventuali file di regole associati per questa modalità.", + }, + mcp: { title: "Rimuovi server MCP", message: 'Sei sicuro di voler rimuovere il server MCP "{{mcpName}}"?' }, + cancel: "Annulla", + confirm: "Rimuovi", + }, + xye = { + issueText: + "Hai trovato un problema con un elemento del marketplace o hai suggerimenti per nuovi elementi? <0>Apri un issue GitHub</0> per farcelo sapere!", + }, + bbt = { + title: uye, + tabs: pye, + done: mye, + refresh: hye, + filters: fye, + sections: gye, + "type-group": { modes: "Modalità", mcps: "Server MCP" }, + items: vye, + install: bye, + sources: yye, + removeConfirm: kye, + footer: xye, + }, + ybt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: bbt, + done: mye, + filters: fye, + footer: xye, + install: bye, + items: vye, + refresh: hye, + removeConfirm: kye, + sections: gye, + sources: yye, + tabs: pye, + title: uye, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + wye = "Server MCP", + _ye = "Fatto", + Cye = "Marketplace MCP", + Sye = + 'Il <0>Model Context Protocol</0> permette la comunicazione con server MCP in esecuzione locale che forniscono strumenti e risorse aggiuntive per estendere le capacità di Roo. Puoi utilizzare <1>server creati dalla comunità</1> o chiedere a Roo di creare nuovi strumenti specifici per il tuo flusso di lavoro (ad esempio, "aggiungi uno strumento che ottiene la documentazione npm più recente").', + Aye = "Istruzioni", + Pye = { + title: "Abilita server MCP", + description: + "Attiva questa opzione per permettere a Roo di usare strumenti dai server MCP collegati. Questo dà a Roo più capacità. Se non vuoi usare questi strumenti extra, disattiva per ridurre i costi dei token API.", + }, + Rye = { + title: "Abilita creazione server MCP", + description: + "Abilita questa opzione per farti aiutare da Roo a creare <1>nuovi</1> server MCP personalizzati. <0>Scopri di più sulla creazione di server</0>", + hint: "Suggerimento: Per ridurre i costi dei token API, disattiva questa impostazione quando non chiedi a Roo di creare un nuovo server MCP.", + }, + Tye = "Modifica MCP globale", + Iye = "Modifica MCP del progetto", + Mye = "Scopri di più sulla modifica dei file di configurazione MCP", + jye = { + alwaysAllow: "Consenti sempre", + parameters: "Parametri", + noDescription: "Nessuna descrizione", + togglePromptInclusion: "Attiva/disattiva inclusione nel prompt", + }, + Eye = { tools: "Strumenti", resources: "Risorse", errors: "Errori" }, + zye = { + noTools: "Nessuno strumento trovato", + noResources: "Nessuna risorsa trovata", + noErrors: "Nessun errore trovato", + }, + $ye = { + label: "Timeout di rete", + description: "Tempo massimo di attesa per le risposte del server", + options: { + "15seconds": "15 secondi", + "30seconds": "30 secondi", + "1minute": "1 minuto", + "5minutes": "5 minuti", + "10minutes": "10 minuti", + "15minutes": "15 minuti", + "30minutes": "30 minuti", + "60minutes": "60 minuti", + }, + }, + Lye = { + title: "Elimina server MCP", + description: + 'Sei sicuro di voler eliminare il server MCP "{{serverName}}"? Questa azione non può essere annullata.', + cancel: "Annulla", + delete: "Elimina", + }, + Dye = { retrying: "Riprovo...", retryConnection: "Riprova connessione" }, + Nye = "Aggiorna server MCP", + Oye = { running: "In esecuzione", completed: "Completato", error: "Errore" }, + kbt = { + title: wye, + done: _ye, + marketplace: Cye, + description: Sye, + instructions: Aye, + enableToggle: Pye, + enableServerCreation: Rye, + editGlobalMCP: Tye, + editProjectMCP: Iye, + learnMoreEditingSettings: Mye, + tool: jye, + tabs: Eye, + emptyState: zye, + networkTimeout: $ye, + deleteDialog: Lye, + serverStatus: Dye, + refreshMCP: Nye, + execution: Oye, + }, + xbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: kbt, + deleteDialog: Lye, + description: Sye, + done: _ye, + editGlobalMCP: Tye, + editProjectMCP: Iye, + emptyState: zye, + enableServerCreation: Rye, + enableToggle: Pye, + execution: Oye, + instructions: Aye, + learnMoreEditingSettings: Mye, + marketplace: Cye, + networkTimeout: $ye, + refreshMCP: Nye, + serverStatus: Dye, + tabs: Eye, + title: wye, + tool: jye, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Fye = "Modi", + Bye = "Fatto", + Uye = { + title: "Modalità", + createNewMode: "Crea nuova modalità", + importMode: "Importa modalità", + noMatchFound: "Nessuna modalità trovata", + editModesConfig: "Modifica configurazione modalità", + editGlobalModes: "Modifica modalità globali", + editProjectModes: "Modifica modalità di progetto (.roomodes)", + createModeHelpText: + "Le modalità sono personas specializzate che personalizzano il comportamento di Roo. <0>Scopri di più sull'uso delle modalità</0> o <1>sulla personalizzazione delle modalità.</1>", + selectMode: "Cerca modalità", + }, + qye = { title: "Configurazione API", select: "Seleziona quale configurazione API utilizzare per questa modalità" }, + Wye = { + title: "Strumenti disponibili", + builtInModesText: "Gli strumenti per le modalità integrate non possono essere modificati", + editTools: "Modifica strumenti", + doneEditing: "Modifica completata", + allowedFiles: "File consentiti:", + toolNames: { + read: "Leggi file", + edit: "Modifica file", + browser: "Usa browser", + command: "Esegui comandi", + mcp: "Usa MCP", + }, + noTools: "Nessuno", + }, + Kye = { + title: "Definizione del ruolo", + resetToDefault: "Ripristina predefiniti", + description: + "Definisci l'esperienza e la personalità di Roo per questa modalità. Questa descrizione modella come Roo si presenta e affronta i compiti.", + }, + Vye = { + title: "Descrizione breve (per umani)", + resetToDefault: "Ripristina alla descrizione predefinita", + description: "Una breve descrizione mostrata nel menu a discesa del selettore di modalità.", + }, + Hye = { + title: "Quando utilizzare (opzionale)", + description: + "Descrivi quando questa modalità dovrebbe essere utilizzata. Questo aiuta l'Orchestrator a scegliere la modalità giusta per un compito.", + resetToDefault: "Ripristina la descrizione 'Quando utilizzare' ai valori predefiniti", + }, + Gye = { + title: "Istruzioni personalizzate specifiche per la modalità (opzionale)", + resetToDefault: "Ripristina predefiniti", + description: "Aggiungi linee guida comportamentali specifiche per la modalità {{modeName}}.", + loadFromFile: + "Le istruzioni personalizzate specifiche per la modalità {{mode}} possono essere caricate anche dalla cartella <span>.roo/rules-{{slug}}/</span> nel tuo spazio di lavoro (.roorules-{{slug}} e .clinerules-{{slug}} sono obsoleti e smetteranno di funzionare presto).", + }, + Qye = { + title: "Esporta modalità", + description: + "Esporta questa modalità in un file YAML con tutte le regole incluse per una facile condivisione con altri.", + export: "Esporta modalità", + exporting: "Esportazione...", + }, + Zye = { + selectLevel: "Scegli dove importare questa modalità:", + import: "Importa", + importing: "Importazione...", + global: { + label: "Livello globale", + description: "Disponibile in tutti i progetti. Le regole verranno unite nelle istruzioni personalizzate.", + }, + project: { + label: "Livello di progetto", + description: + "Disponibile solo in questo spazio di lavoro. Se la modalità esportata conteneva file di regole, verranno ricreati nella cartella .roo/rules-{slug}/.", + }, + }, + Yye = { title: "Avanzato" }, + Xye = { + title: "Istruzioni personalizzate per tutte le modalità", + description: + "Queste istruzioni si applicano a tutte le modalità. Forniscono un insieme base di comportamenti che possono essere migliorati dalle istruzioni specifiche per modalità qui sotto. <0>Scopri di più</0>", + loadFromFile: + "Le istruzioni possono essere caricate anche dalla cartella <span>.roo/rules/</span> nel tuo spazio di lavoro (.roorules e .clinerules sono obsoleti e smetteranno di funzionare presto).", + }, + Jye = { + preview: "Anteprima prompt di sistema", + copy: "Copia prompt di sistema negli appunti", + title: "Prompt di sistema (modalità {{modeName}})", + }, + eke = { + title: "Prompt di supporto", + resetPrompt: "Ripristina il prompt {{promptType}} ai valori predefiniti", + prompt: "Prompt", + enhance: { + apiConfiguration: "Configurazione API", + apiConfigDescription: + "Puoi selezionare una configurazione API da usare sempre per migliorare i prompt, o semplicemente usare quella attualmente selezionata", + useCurrentConfig: "Usa la configurazione API attualmente selezionata", + testPromptPlaceholder: "Inserisci un prompt per testare il miglioramento", + previewButton: "Anteprima miglioramento prompt", + testEnhancement: "Testa miglioramento", + includeTaskHistory: "Includi cronologia attività come contesto", + includeTaskHistoryDescription: + "Quando abilitato, gli ultimi 10 messaggi della conversazione corrente verranno inclusi come contesto durante il miglioramento dei prompt, aiutando a generare suggerimenti più rilevanti e consapevoli del contesto.", + }, + condense: { + apiConfiguration: "Configurazione API per la condensazione del contesto", + apiConfigDescription: + "Seleziona quale configurazione API utilizzare per le operazioni di condensazione del contesto. Lascia deselezionato per utilizzare la configurazione attiva corrente.", + useCurrentConfig: "Usa la configurazione API currently selezionata", + }, + types: { + ENHANCE: { + label: "Migliora prompt", + description: + "Utilizza il miglioramento dei prompt per ottenere suggerimenti o miglioramenti personalizzati per i tuoi input. Questo assicura che Roo comprenda la tua intenzione e fornisca le migliori risposte possibili. Disponibile tramite l'icona ✨ nella chat.", + }, + CONDENSE: { + label: "Condensazione del contesto", + description: + "Configura come viene condensato il contesto della conversazione per gestire i limiti dei token. Questo prompt viene utilizzato sia per le operazioni di condensazione del contesto manuali che automatiche.", + }, + EXPLAIN: { + label: "Spiega codice", + description: + "Ottieni spiegazioni dettagliate di frammenti di codice, funzioni o file interi. Utile per comprendere codice complesso o imparare nuovi pattern. Disponibile nelle azioni di codice (icona della lampadina nell'editor) e nel menu contestuale dell'editor (clic destro sul codice selezionato).", + }, + FIX: { + label: "Risolvi problemi", + description: + "Ottieni aiuto per identificare e risolvere bug, errori o problemi di qualità del codice. Fornisce una guida passo-passo per risolvere i problemi. Disponibile nelle azioni di codice (icona della lampadina nell'editor) e nel menu contestuale dell'editor (clic destro sul codice selezionato).", + }, + IMPROVE: { + label: "Migliora codice", + description: + "Ricevi suggerimenti per l'ottimizzazione del codice, migliori pratiche e miglioramenti architetturali mantenendo la funzionalità. Disponibile nelle azioni di codice (icona della lampadina nell'editor) e nel menu contestuale dell'editor (clic destro sul codice selezionato).", + }, + ADD_TO_CONTEXT: { + label: "Aggiungi al contesto", + description: + "Aggiungi contesto al tuo compito o conversazione attuale. Utile per fornire informazioni aggiuntive o chiarimenti. Disponibile nelle azioni di codice (icona della lampadina nell'editor) e nel menu contestuale dell'editor (clic destro sul codice selezionato).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Aggiungi contenuto del terminale al contesto", + description: + "Aggiungi l'output del terminale al tuo compito o conversazione attuale. Utile per fornire output di comandi o log. Disponibile nel menu contestuale del terminale (clic destro sul contenuto selezionato del terminale).", + }, + TERMINAL_FIX: { + label: "Correggi comando del terminale", + description: + "Ottieni aiuto per correggere i comandi del terminale che hanno fallito o necessitano di miglioramenti. Disponibile nel menu contestuale del terminale (clic destro sul contenuto selezionato del terminale).", + }, + TERMINAL_EXPLAIN: { + label: "Spiega comando del terminale", + description: + "Ottieni spiegazioni dettagliate sui comandi del terminale e sui loro output. Disponibile nel menu contestuale del terminale (clic destro sul contenuto selezionato del terminale).", + }, + NEW_TASK: { + label: "Avvia nuova attività", + description: "Avvia una nuova attività con il tuo input. Disponibile nella palette dei comandi.", + }, + }, + }, + tke = { + title: "Avanzato: Sovrascrivi prompt di sistema", + description: + "<2>⚠️ Attenzione:</2> Questa funzionalità avanzata bypassa le misure di sicurezza. <1>LEGGI QUESTO PRIMA DI USARE!</1>Sovrascrivi il prompt di sistema predefinito creando un file in <span>.roo/system-prompt-{{slug}}</span>.", + }, + nke = { + title: "Crea nuova modalità", + close: "Chiudi", + name: { label: "Nome", placeholder: "Inserisci nome modalità" }, + slug: { + label: "Slug", + description: + "Lo slug viene utilizzato negli URL e nei nomi dei file. Deve essere in minuscolo e contenere solo lettere, numeri e trattini.", + }, + saveLocation: { + label: "Posizione di salvataggio", + description: + "Scegli dove salvare questa modalità. Le modalità specifiche del progetto hanno la precedenza sulle modalità globali.", + global: { label: "Globale", description: "Disponibile in tutti gli spazi di lavoro" }, + project: { + label: "Specifico del progetto (.roomodes)", + description: "Disponibile solo in questo spazio di lavoro, ha la precedenza sul globale", + }, + }, + roleDefinition: { + label: "Definizione del ruolo", + description: "Definisci l'esperienza e la personalità di Roo per questa modalità.", + }, + description: { + label: "Descrizione breve (per umani)", + description: "Una breve descrizione mostrata nel menu a discesa del selettore di modalità.", + }, + whenToUse: { + label: "Quando utilizzare (opzionale)", + description: + "Fornisci una chiara descrizione di quando questa modalità è più efficace e per quali tipi di compiti eccelle.", + }, + tools: { + label: "Strumenti disponibili", + description: "Seleziona quali strumenti questa modalità può utilizzare.", + }, + customInstructions: { + label: "Istruzioni personalizzate (opzionale)", + description: "Aggiungi linee guida comportamentali specifiche per questa modalità.", + }, + buttons: { cancel: "Annulla", create: "Crea modalità" }, + deleteMode: "Elimina modalità", + }, + oke = "tutti i file", + rke = { + title: "Elimina modalità", + message: 'Sei sicuro di voler eliminare la modalità "{{modeName}}"?', + rulesFolder: "Questa modalità ha una cartella di regole in {{folderPath}} che verrà eliminata.", + descriptionNoRules: "Sei sicuro di voler eliminare questa modalità personalizzata?", + confirm: "Elimina", + cancel: "Annulla", + }, + wbt = { + title: Fye, + done: Bye, + modes: Uye, + apiConfiguration: qye, + tools: Wye, + roleDefinition: Kye, + description: Vye, + whenToUse: Hye, + customInstructions: Gye, + exportMode: Qye, + importMode: Zye, + advanced: Yye, + globalCustomInstructions: Xye, + systemPrompt: Jye, + supportPrompts: eke, + advancedSystemPrompt: tke, + createModeDialog: nke, + allFiles: oke, + deleteMode: rke, + }, + _bt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: Yye, + advancedSystemPrompt: tke, + allFiles: oke, + apiConfiguration: qye, + createModeDialog: nke, + customInstructions: Gye, + default: wbt, + deleteMode: rke, + description: Vye, + done: Bye, + exportMode: Qye, + globalCustomInstructions: Xye, + importMode: Zye, + modes: Uye, + roleDefinition: Kye, + supportPrompts: eke, + systemPrompt: Jye, + title: Fye, + tools: Wye, + whenToUse: Hye, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ike = { + save: "Salva", + done: "Fatto", + cancel: "Annulla", + reset: "Ripristina", + select: "Seleziona", + add: "Aggiungi intestazione", + remove: "Rimuovi", + }, + ske = { + title: "Impostazioni", + saveButtonTooltip: "Salva modifiche", + nothingChangedTooltip: "Nessuna modifica", + doneButtonTooltip: "Scarta le modifiche non salvate e chiudi il pannello delle impostazioni", + }, + ake = { + title: "Modifiche non salvate", + description: "Vuoi scartare le modifiche e continuare?", + cancelButton: "Annulla", + discardButton: "Scarta modifiche", + }, + lke = { + providers: "Fornitori", + autoApprove: "Auto-approvazione", + browser: "Accesso computer", + checkpoints: "Punti di controllo", + notifications: "Notifiche", + contextManagement: "Contesto", + terminal: "Terminal", + prompts: "Prompt", + experimental: "Sperimentale", + language: "Lingua", + about: "Informazioni su Roo Code", + }, + cke = { + description: + "Configura i prompt di supporto utilizzati per azioni rapide come il miglioramento dei prompt, la spiegazione del codice e la risoluzione dei problemi. Questi prompt aiutano Roo a fornire una migliore assistenza per le attività di sviluppo comuni.", + }, + dke = { + title: "Indicizzazione del codice", + enableLabel: "Abilita indicizzazione del codice", + enableDescription: + "Abilita l'indicizzazione del codice per una ricerca e una comprensione del contesto migliorate", + providerLabel: "Fornitore di embedding", + selectProviderPlaceholder: "Seleziona fornitore", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Chiave API:", + geminiApiKeyPlaceholder: "Inserisci la tua chiave API Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Chiave API:", + mistralApiKeyPlaceholder: "Inserisci la tua chiave API Mistral", + openaiCompatibleProvider: "Compatibile con OpenAI", + openAiKeyLabel: "Chiave API OpenAI", + openAiKeyPlaceholder: "Inserisci la tua chiave API OpenAI", + openAiCompatibleBaseUrlLabel: "URL di base", + openAiCompatibleApiKeyLabel: "Chiave API", + openAiCompatibleApiKeyPlaceholder: "Inserisci la tua chiave API", + openAiCompatibleModelDimensionLabel: "Dimensione Embedding:", + modelDimensionLabel: "Dimensione del modello", + openAiCompatibleModelDimensionPlaceholder: "es., 1536", + openAiCompatibleModelDimensionDescription: + "La dimensione dell'embedding (dimensione di output) per il tuo modello. Controlla la documentazione del tuo provider per questo valore. Valori comuni: 384, 768, 1536, 3072.", + modelLabel: "Modello", + selectModelPlaceholder: "Seleziona modello", + ollamaUrlLabel: "URL Ollama:", + qdrantUrlLabel: "URL Qdrant", + qdrantKeyLabel: "Chiave Qdrant:", + startIndexingButton: "Avvia", + clearIndexDataButton: "Cancella indice", + unsavedSettingsMessage: "Per favore salva le tue impostazioni prima di avviare il processo di indicizzazione.", + clearDataDialog: { + title: "Sei sicuro?", + description: + "Questa azione non può essere annullata. Eliminerà permanentemente i dati di indice del tuo codice.", + cancelButton: "Annulla", + confirmButton: "Cancella dati", + }, + description: + "Configura le impostazioni di indicizzazione del codebase per abilitare la ricerca semantica del tuo progetto. <0>Scopri di più</0>", + statusTitle: "Stato", + settingsTitle: "Impostazioni di indicizzazione", + disabledMessage: + "L'indicizzazione del codebase è attualmente disabilitata. Abilitala nelle impostazioni globali per configurare le opzioni di indicizzazione.", + embedderProviderLabel: "Provider Embedder", + modelPlaceholder: "Inserisci il nome del modello", + selectModel: "Seleziona un modello", + ollamaBaseUrlLabel: "URL base Ollama", + qdrantApiKeyLabel: "Chiave API Qdrant", + qdrantApiKeyPlaceholder: "Inserisci la tua chiave API Qdrant (opzionale)", + setupConfigLabel: "Impostazione", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Impossibile salvare le impostazioni", + modelDimensions: "({{dimension}} dimensioni)", + saveSuccess: "Impostazioni salvate con successo", + saving: "Salvataggio...", + saveSettings: "Salva", + indexingStatuses: { standby: "In attesa", indexing: "Indicizzazione", indexed: "Indicizzato", error: "Errore" }, + close: "Chiudi", + validation: { + invalidQdrantUrl: "URL Qdrant non valido", + invalidOllamaUrl: "URL Ollama non valido", + invalidBaseUrl: "URL di base non valido", + qdrantUrlRequired: "È richiesto l'URL di Qdrant", + openaiApiKeyRequired: "È richiesta la chiave API di OpenAI", + modelSelectionRequired: "È richiesta la selezione del modello", + apiKeyRequired: "È richiesta la chiave API", + modelIdRequired: "È richiesto l'ID del modello", + modelDimensionRequired: "È richiesta la dimensione del modello", + geminiApiKeyRequired: "È richiesta la chiave API Gemini", + mistralApiKeyRequired: "La chiave API di Mistral è richiesta", + ollamaBaseUrlRequired: "È richiesto l'URL di base di Ollama", + baseUrlRequired: "È richiesto l'URL di base", + modelDimensionMinValue: "La dimensione del modello deve essere maggiore di 0", + }, + advancedConfigLabel: "Configurazione avanzata", + searchMinScoreLabel: "Soglia punteggio di ricerca", + searchMinScoreDescription: + "Punteggio minimo di somiglianza (0.0-1.0) richiesto per i risultati della ricerca. Valori più bassi restituiscono più risultati ma potrebbero essere meno pertinenti. Valori più alti restituiscono meno risultati ma più pertinenti.", + searchMinScoreResetTooltip: "Ripristina al valore predefinito (0.4)", + searchMaxResultsLabel: "Risultati di ricerca massimi", + searchMaxResultsDescription: + "Numero massimo di risultati di ricerca da restituire quando si interroga l'indice del codice. Valori più alti forniscono più contesto ma possono includere risultati meno pertinenti.", + resetToDefault: "Ripristina al valore predefinito", + }, + uke = { + description: + "Permetti a Roo di eseguire automaticamente operazioni senza richiedere approvazione. Abilita queste impostazioni solo se ti fidi completamente dell'IA e comprendi i rischi di sicurezza associati.", + enabled: "Auto-approvazione abilitata", + toggleAriaLabel: "Attiva/disattiva approvazione automatica", + disabledAriaLabel: "Approvazione automatica disabilitata - seleziona prima le opzioni", + readOnly: { + label: "Leggi", + description: + "Quando abilitato, Roo visualizzerà automaticamente i contenuti della directory e leggerà i file senza richiedere di cliccare sul pulsante Approva.", + outsideWorkspace: { + label: "Includi file al di fuori dell'area di lavoro", + description: + "Permetti a Roo di leggere file al di fuori dell'area di lavoro attuale senza richiedere approvazione.", + }, + }, + write: { + label: "Scrivi", + description: "Crea e modifica automaticamente i file senza richiedere approvazione", + delayLabel: "Ritardo dopo le scritture per consentire alla diagnostica di rilevare potenziali problemi", + outsideWorkspace: { + label: "Includi file al di fuori dell'area di lavoro", + description: + "Permetti a Roo di creare e modificare file al di fuori dell'area di lavoro attuale senza richiedere approvazione.", + }, + protected: { + label: "Includi file protetti", + description: + "Permetti a Roo di creare e modificare file protetti (come .rooignore e file di configurazione .roo/) senza richiedere approvazione.", + }, + }, + browser: { + label: "Browser", + description: + "Esegui automaticamente azioni del browser senza richiedere approvazione. Nota: Si applica solo quando il modello supporta l'uso del computer", + }, + retry: { + label: "Riprova", + description: + "Riprova automaticamente le richieste API fallite quando il server restituisce una risposta di errore", + delayLabel: "Ritardo prima di riprovare la richiesta", + }, + mcp: { + label: "MCP", + description: `Abilita l'approvazione automatica dei singoli strumenti MCP nella vista Server MCP (richiede sia questa impostazione che la casella "Consenti sempre" dello strumento)`, + }, + modeSwitch: { + label: "Modalità", + description: "Passa automaticamente tra diverse modalità senza richiedere approvazione", + }, + subtasks: { + label: "Sottoattività", + description: + "Consenti la creazione e il completamento di attività secondarie senza richiedere approvazione", + }, + followupQuestions: { + label: "Domanda", + description: + "Seleziona automaticamente la prima risposta suggerita per le domande di follow-up dopo il timeout configurato", + timeoutLabel: "Tempo di attesa prima di selezionare automaticamente la prima risposta", + }, + execute: { + label: "Esegui", + description: "Esegui automaticamente i comandi del terminale consentiti senza richiedere approvazione", + allowedCommands: "Comandi di auto-esecuzione consentiti", + allowedCommandsDescription: + 'Prefissi di comando che possono essere auto-eseguiti quando "Approva sempre operazioni di esecuzione" è abilitato. Aggiungi * per consentire tutti i comandi (usare con cautela).', + deniedCommands: "Comandi negati", + deniedCommandsDescription: + "Prefissi di comandi che verranno automaticamente negati senza richiedere approvazione. In caso di conflitti con comandi consentiti, la corrispondenza del prefisso più lungo ha la precedenza. Aggiungi * per negare tutti i comandi.", + commandPlaceholder: "Inserisci prefisso comando (es. 'git ')", + deniedCommandPlaceholder: "Inserisci prefisso comando da negare (es. 'rm -rf')", + addButton: "Aggiungi", + autoDenied: + "I comandi con il prefisso `{{prefix}}` sono stati vietati dall'utente. Non aggirare questa restrizione eseguendo un altro comando.", + }, + updateTodoList: { + label: "Todo", + description: "La lista delle cose da fare viene aggiornata automaticamente senza approvazione", + }, + apiRequestLimit: { + title: "Richieste massime", + description: + "Esegui automaticamente questo numero di richieste API prima di chiedere l'approvazione per continuare con l'attività.", + unlimited: "Illimitato", + }, + selectOptionsFirst: "Seleziona almeno un'opzione qui sotto per abilitare l'approvazione automatica", + apiCostLimit: { unlimited: "Illimitato", title: "Costo massimo" }, + maxLimits: { + description: + "Esegui automaticamente richieste fino a questi limiti prima di chiedere l'approvazione per continuare.", + }, + }, + pke = JSON.parse( + `{"providerDocumentation":"Documentazione {{provider}}","configProfile":"Profilo di configurazione","description":"Salva diverse configurazioni API per passare rapidamente tra fornitori e impostazioni.","apiProvider":"Fornitore API","model":"Modello","nameEmpty":"Il nome non può essere vuoto","nameExists":"Esiste già un profilo con questo nome","deleteProfile":"Elimina profilo","invalidArnFormat":"Formato ARN non valido. Controlla gli esempi sopra.","enterNewName":"Inserisci un nuovo nome","addProfile":"Aggiungi profilo","renameProfile":"Rinomina profilo","newProfile":"Nuovo profilo di configurazione","enterProfileName":"Inserisci il nome del profilo","createProfile":"Crea profilo","cannotDeleteOnlyProfile":"Impossibile eliminare l'unico profilo","searchPlaceholder":"Cerca profili","noMatchFound":"Nessun profilo corrispondente trovato","searchProviderPlaceholder":"Cerca fornitori","noProviderMatchFound":"Nessun fornitore trovato","vscodeLmDescription":"L'API del Modello di Linguaggio di VS Code consente di eseguire modelli forniti da altre estensioni di VS Code (incluso, ma non limitato a, GitHub Copilot). Il modo più semplice per iniziare è installare le estensioni Copilot e Copilot Chat dal VS Code Marketplace.","awsCustomArnUse":"Inserisci un ARN Amazon Bedrock valido per il modello che desideri utilizzare. Esempi di formato:","awsCustomArnDesc":"Assicurati che la regione nell'ARN corrisponda alla regione AWS selezionata sopra.","openRouterApiKey":"Chiave API OpenRouter","getOpenRouterApiKey":"Ottieni chiave API OpenRouter","apiKeyStorageNotice":"Le chiavi API sono memorizzate in modo sicuro nell'Archivio Segreto di VSCode","glamaApiKey":"Chiave API Glama","getGlamaApiKey":"Ottieni chiave API Glama","useCustomBaseUrl":"Usa URL base personalizzato","useReasoning":"Abilita ragionamento","useHostHeader":"Usa intestazione Host personalizzata","useLegacyFormat":"Usa formato API OpenAI legacy","customHeaders":"Intestazioni personalizzate","headerName":"Nome intestazione","headerValue":"Valore intestazione","noCustomHeaders":"Nessuna intestazione personalizzata definita. Fai clic sul pulsante + per aggiungerne una.","requestyApiKey":"Chiave API Requesty","refreshModels":{"label":"Aggiorna modelli","hint":"Riapri le impostazioni per vedere i modelli più recenti.","loading":"Aggiornamento dell'elenco dei modelli...","success":"Elenco dei modelli aggiornato con successo!","error":"Impossibile aggiornare l'elenco dei modelli. Riprova."},"getRequestyApiKey":"Ottieni chiave API Requesty","openRouterTransformsText":"Comprimi prompt e catene di messaggi alla dimensione del contesto (<a>Trasformazioni OpenRouter</a>)","anthropicApiKey":"Chiave API Anthropic","getAnthropicApiKey":"Ottieni chiave API Anthropic","anthropicUseAuthToken":"Passa la chiave API Anthropic come header di autorizzazione invece di X-Api-Key","cerebrasApiKey":"Chiave API Cerebras","getCerebrasApiKey":"Ottieni chiave API Cerebras","chutesApiKey":"Chiave API Chutes","getChutesApiKey":"Ottieni chiave API Chutes","fireworksApiKey":"Chiave API Fireworks","getFireworksApiKey":"Ottieni chiave API Fireworks","deepSeekApiKey":"Chiave API DeepSeek","getDeepSeekApiKey":"Ottieni chiave API DeepSeek","doubaoApiKey":"Chiave API Doubao","getDoubaoApiKey":"Ottieni chiave API Doubao","moonshotApiKey":"Chiave API Moonshot","getMoonshotApiKey":"Ottieni chiave API Moonshot","moonshotBaseUrl":"Punto di ingresso Moonshot","zaiApiKey":"Chiave API Z AI","getZaiApiKey":"Ottieni chiave API Z AI","zaiEntrypoint":"Punto di ingresso Z AI","zaiEntrypointDescription":"Si prega di selezionare il punto di ingresso API appropriato in base alla propria posizione. Se ti trovi in Cina, scegli open.bigmodel.cn. Altrimenti, scegli api.z.ai.","geminiApiKey":"Chiave API Gemini","getGroqApiKey":"Ottieni chiave API Groq","groqApiKey":"Chiave API Groq","getSambaNovaApiKey":"Ottieni chiave API SambaNova","sambaNovaApiKey":"Chiave API SambaNova","getHuggingFaceApiKey":"Ottieni chiave API Hugging Face","huggingFaceApiKey":"Chiave API Hugging Face","huggingFaceModelId":"ID modello","huggingFaceLoading":"Caricamento...","huggingFaceModelsCount":"({{count}} modelli)","huggingFaceSelectModel":"Seleziona un modello...","huggingFaceSearchModels":"Cerca modelli...","huggingFaceNoModelsFound":"Nessun modello trovato","huggingFaceProvider":"Provider","huggingFaceProviderAuto":"Automatico","huggingFaceSelectProvider":"Seleziona un provider...","huggingFaceSearchProviders":"Cerca provider...","huggingFaceNoProvidersFound":"Nessun provider trovato","getGeminiApiKey":"Ottieni chiave API Gemini","openAiApiKey":"Chiave API OpenAI","apiKey":"Chiave API","openAiBaseUrl":"URL base","getOpenAiApiKey":"Ottieni chiave API OpenAI","mistralApiKey":"Chiave API Mistral","getMistralApiKey":"Ottieni chiave API Mistral / Codestral","codestralBaseUrl":"URL base Codestral (opzionale)","codestralBaseUrlDesc":"Imposta un URL opzionale per i modelli Codestral.","xaiApiKey":"Chiave API xAI","getXaiApiKey":"Ottieni chiave API xAI","litellmApiKey":"Chiave API LiteLLM","litellmBaseUrl":"URL base LiteLLM","awsCredentials":"Credenziali AWS","awsProfile":"Profilo AWS","awsApiKey":"Chiave API Amazon Bedrock","awsProfileName":"Nome profilo AWS","awsAccessKey":"Chiave di accesso AWS","awsSecretKey":"Chiave segreta AWS","awsSessionToken":"Token di sessione AWS","awsRegion":"Regione AWS","awsCrossRegion":"Usa inferenza cross-regione","awsBedrockVpc":{"useCustomVpcEndpoint":"Usa endpoint VPC personalizzato","vpcEndpointUrlPlaceholder":"Inserisci URL endpoint VPC (opzionale)","examples":"Esempi:"},"enablePromptCaching":"Abilita cache dei prompt","enablePromptCachingTitle":"Abilita la cache dei prompt per migliorare le prestazioni e ridurre i costi per i modelli supportati.","cacheUsageNote":"Nota: Se non vedi l'utilizzo della cache, prova a selezionare un modello diverso e poi seleziona nuovamente il modello desiderato.","vscodeLmModel":"Modello linguistico","vscodeLmWarning":"Nota: Questa è un'integrazione molto sperimentale e il supporto del fornitore varierà. Se ricevi un errore relativo a un modello non supportato, si tratta di un problema del fornitore.","geminiParameters":{"urlContext":{"title":"Abilita contesto URL","description":"Consente a Gemini di accedere e processare URL per contesto aggiuntivo durante la generazione delle risposte. Utile per attività che richiedono analisi di contenuti web."},"groundingSearch":{"title":"Abilita grounding con ricerca Google","description":"Consente a Gemini di cercare informazioni aggiornate su Google e basare le risposte su dati in tempo reale. Utile per query che richiedono informazioni aggiornate."}},"googleCloudSetup":{"title":"Per utilizzare Google Cloud Vertex AI, è necessario:","step1":"1. Creare un account Google Cloud, abilitare l'API Vertex AI e abilitare i modelli Claude desiderati.","step2":"2. Installare Google Cloud CLI e configurare le credenziali predefinite dell'applicazione.","step3":"3. Oppure creare un account di servizio con credenziali."},"googleCloudCredentials":"Credenziali Google Cloud","googleCloudKeyFile":"Percorso file chiave Google Cloud","googleCloudProjectId":"ID progetto Google Cloud","googleCloudRegion":"Regione Google Cloud","lmStudio":{"baseUrl":"URL base (opzionale)","modelId":"ID modello","speculativeDecoding":"Abilita decodifica speculativa","draftModelId":"ID modello bozza","draftModelDesc":"Per un corretto funzionamento della decodifica speculativa, il modello bozza deve provenire dalla stessa famiglia di modelli.","selectDraftModel":"Seleziona modello bozza","noModelsFound":"Nessun modello bozza trovato. Assicurati che LM Studio sia in esecuzione con la modalità server abilitata.","description":"LM Studio ti permette di eseguire modelli localmente sul tuo computer. Per iniziare, consulta la loro <a>guida rapida</a>. Dovrai anche avviare la funzionalità <b>server locale</b> di LM Studio per utilizzarlo con questa estensione. <span>Nota:</span> Roo Code utilizza prompt complessi e funziona meglio con i modelli Claude. I modelli con capacità inferiori potrebbero non funzionare come previsto."},"ollama":{"baseUrl":"URL base (opzionale)","modelId":"ID modello","description":"Ollama ti permette di eseguire modelli localmente sul tuo computer. Per iniziare, consulta la guida rapida.","warning":"Nota: Roo Code utilizza prompt complessi e funziona meglio con i modelli Claude. I modelli con capacità inferiori potrebbero non funzionare come previsto."},"unboundApiKey":"Chiave API Unbound","getUnboundApiKey":"Ottieni chiave API Unbound","unboundRefreshModelsSuccess":"Lista dei modelli aggiornata! Ora puoi selezionare tra gli ultimi modelli.","unboundInvalidApiKey":"Chiave API non valida. Controlla la tua chiave API e riprova.","humanRelay":{"description":"Non è richiesta alcuna chiave API, ma l'utente dovrà aiutare a copiare e incollare le informazioni nella chat web AI.","instructions":"Durante l'uso, apparirà una finestra di dialogo e il messaggio corrente verrà automaticamente copiato negli appunti. Dovrai incollarlo nelle versioni web dell'AI (come ChatGPT o Claude), quindi copiare la risposta dell'AI nella finestra di dialogo e fare clic sul pulsante di conferma."},"openRouter":{"providerRouting":{"title":"Routing dei fornitori OpenRouter","description":"OpenRouter indirizza le richieste ai migliori fornitori disponibili per il tuo modello. Per impostazione predefinita, le richieste sono bilanciate tra i principali fornitori per massimizzare il tempo di attività. Tuttavia, puoi scegliere un fornitore specifico da utilizzare per questo modello.","learnMore":"Scopri di più sul routing dei fornitori"}},"customModel":{"capabilities":"Configura le capacità e i prezzi del tuo modello personalizzato compatibile con OpenAI. Fai attenzione quando specifichi le capacità del modello, poiché possono influenzare le prestazioni di Roo Code.","maxTokens":{"label":"Token di output massimi","description":"Numero massimo di token che il modello può generare in una risposta. (Specifica -1 per lasciare che il server imposti il massimo token.)"},"contextWindow":{"label":"Dimensione finestra di contesto","description":"Numero totale di token (input + output) che il modello può elaborare."},"imageSupport":{"label":"Supporto immagini","description":"Il modello è in grado di elaborare e comprendere le immagini?"},"computerUse":{"label":"Uso del computer","description":"Il modello è in grado di interagire con il browser? (es. Claude 3.7 Sonnet)."},"promptCache":{"label":"Cache dei prompt","description":"Il modello è in grado di memorizzare in cache i prompt?"},"pricing":{"input":{"label":"Prezzo input","description":"Costo per milione di token di input/prompt. Questo influisce sul costo di invio di contesto e istruzioni al modello."},"output":{"label":"Prezzo output","description":"Costo per milione di token della risposta del modello. Questo influisce sul costo del contenuto generato e dei completamenti."},"cacheReads":{"label":"Prezzo letture cache","description":"Costo per milione di token per leggere dalla cache. Questo prezzo viene applicato quando si riceve una risposta memorizzata nella cache."},"cacheWrites":{"label":"Prezzo scritture cache","description":"Costo per milione di token per scrivere nella cache. Questo prezzo viene applicato quando si memorizza un prompt nella cache per la prima volta."}},"resetDefaults":"Ripristina valori predefiniti"},"rateLimitSeconds":{"label":"Limite di frequenza","description":"Tempo minimo tra le richieste API."},"consecutiveMistakeLimit":{"label":"Limite di errori e ripetizioni","description":"Numero di errori consecutivi o azioni ripetute prima di mostrare la finestra di dialogo 'Roo sta riscontrando problemi'","unlimitedDescription":"Tentativi illimitati abilitati (procedi automaticamente). La finestra di dialogo non verrà mai visualizzata.","warning":"⚠️ L'impostazione a 0 consente tentativi illimitati che possono consumare un notevole utilizzo dell'API"},"reasoningEffort":{"label":"Sforzo di ragionamento del modello","high":"Alto","medium":"Medio","low":"Basso"},"setReasoningLevel":"Abilita sforzo di ragionamento","claudeCode":{"pathLabel":"Percorso Claude Code","description":"Percorso facoltativo per la tua CLI Claude Code. Predefinito 'claude' se non impostato.","placeholder":"Predefinito: claude","maxTokensLabel":"Token di output massimi","maxTokensDescription":"Numero massimo di token di output per le risposte di Claude Code. Il valore predefinito è 8000."}}`, + ), + mke = { + enable: { + label: "Abilita strumento browser", + description: + "Quando abilitato, Roo può utilizzare un browser per interagire con siti web quando si utilizzano modelli che supportano l'uso del computer. <0>Scopri di più</0>", + }, + viewport: { + label: "Dimensione viewport", + description: + "Seleziona la dimensione del viewport per le interazioni del browser. Questo influisce su come i siti web vengono visualizzati e su come vi si interagisce.", + options: { + largeDesktop: "Desktop grande (1280x800)", + smallDesktop: "Desktop piccolo (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Mobile (360x640)", + }, + }, + screenshotQuality: { + label: "Qualità screenshot", + description: + "Regola la qualità WebP degli screenshot del browser. Valori più alti forniscono screenshot più nitidi ma aumentano l'utilizzo di token.", + }, + remote: { + label: "Usa connessione browser remoto", + description: + "Connettiti a un browser Chrome in esecuzione con debug remoto abilitato (--remote-debugging-port=9222).", + urlPlaceholder: "URL personalizzato (es. http://localhost:9222)", + testButton: "Testa connessione", + testingButton: "Test in corso...", + instructions: + "Inserisci l'indirizzo host del protocollo DevTools o lascia vuoto per scoprire automaticamente le istanze Chrome locali. Il pulsante Test Connessione proverà l'URL personalizzato se fornito, o scoprirà automaticamente se il campo è vuoto.", + }, + }, + hke = { + enable: { + label: "Abilita punti di controllo automatici", + description: + "Quando abilitato, Roo creerà automaticamente punti di controllo durante l'esecuzione dei compiti, facilitando la revisione delle modifiche o il ritorno a stati precedenti. <0>Scopri di più</0>", + }, + }, + fke = { + sound: { + label: "Abilita effetti sonori", + description: "Quando abilitato, Roo riprodurrà effetti sonori per notifiche ed eventi.", + volumeLabel: "Volume", + }, + tts: { + label: "Abilita sintesi vocale", + description: "Quando abilitato, Roo leggerà ad alta voce le sue risposte utilizzando la sintesi vocale.", + speedLabel: "Velocità", + }, + }, + gke = { + description: + "Controlla quali informazioni sono incluse nella finestra di contesto dell'IA, influenzando l'utilizzo di token e la qualità delle risposte", + autoCondenseContextPercent: { + label: "Soglia per attivare la condensazione intelligente del contesto", + description: "Quando la finestra di contesto raggiunge questa soglia, Roo la condenserà automaticamente.", + }, + condensingApiConfiguration: { + label: "Configurazione API per la condensazione del contesto", + description: + "Seleziona quale configurazione API utilizzare per le operazioni di condensazione del contesto. Lascia deselezionato per utilizzare la configurazione attiva corrente.", + useCurrentConfig: "Predefinito", + }, + customCondensingPrompt: { + label: "Prompt personalizzato condensazione contesto", + description: + "Prompt di sistema personalizzato per la condensazione del contesto. Lascia vuoto per utilizzare il prompt predefinito.", + placeholder: `Inserisci qui il tuo prompt di condensazione personalizzato... + +Puoi utilizzare la stessa struttura del prompt predefinito: +- Conversazione precedente +- Lavoro attuale +- Concetti tecnici chiave +- File e codice pertinenti +- Risoluzione dei problemi +- Attività in sospeso e prossimi passi`, + reset: "Ripristina predefinito", + hint: "Vuoto = usa prompt predefinito", + }, + autoCondenseContext: { + name: "Attiva automaticamente la condensazione intelligente del contesto", + description: + "Quando abilitato, Roo condenserà automaticamente il contesto quando viene raggiunta la soglia. Quando disabilitato, puoi ancora attivare manualmente la condensazione del contesto.", + }, + openTabs: { + label: "Limite contesto schede aperte", + description: + "Numero massimo di schede VSCode aperte da includere nel contesto. Valori più alti forniscono più contesto ma aumentano l'utilizzo di token.", + }, + workspaceFiles: { + label: "Limite contesto file area di lavoro", + description: + "Numero massimo di file da includere nei dettagli della directory di lavoro corrente. Valori più alti forniscono più contesto ma aumentano l'utilizzo di token.", + }, + rooignore: { + label: "Mostra file .rooignore negli elenchi e nelle ricerche", + description: + "Quando abilitato, i file che corrispondono ai pattern in .rooignore verranno mostrati negli elenchi con un simbolo di blocco. Quando disabilitato, questi file saranno completamente nascosti dagli elenchi di file e dalle ricerche.", + }, + maxReadFile: { + label: "Soglia di auto-troncamento lettura file", + description: + "Roo legge questo numero di righe quando il modello omette i valori di inizio/fine. Se questo numero è inferiore al totale del file, Roo genera un indice dei numeri di riga delle definizioni di codice. Casi speciali: -1 indica a Roo di leggere l'intero file (senza indicizzazione), e 0 indica di non leggere righe e fornire solo indici di riga per un contesto minimo. Valori più bassi minimizzano l'utilizzo iniziale del contesto, permettendo successive letture precise di intervalli di righe. Le richieste con inizio/fine espliciti non sono limitate da questa impostazione.", + lines: "righe", + always_full_read: "Leggi sempre l'intero file", + }, + maxConcurrentFileReads: { + label: "Limite letture simultanee", + description: + "Numero massimo di file che lo strumento 'read_file' può elaborare contemporaneamente. Valori più alti possono velocizzare la lettura di più file piccoli ma aumentano l'utilizzo della memoria.", + }, + diagnostics: { + includeMessages: { + label: "Includi automaticamente la diagnostica nel contesto", + description: + "Quando abilitato, i messaggi diagnostici (errori) dai file modificati verranno automaticamente inclusi nel contesto. Puoi sempre includere manualmente tutta la diagnostica del workspace usando @problems.", + }, + maxMessages: { + label: "Numero massimo di messaggi diagnostici", + description: + "Numero massimo di messaggi diagnostici da includere per file. Questo limite si applica sia all'inclusione automatica (quando la casella è abilitata) che alle menzioni manuali di @problems. Valori più alti forniscono più contesto ma aumentano l'utilizzo dei token.", + resetTooltip: "Ripristina al valore predefinito (50)", + unlimited: "Messaggi diagnostici illimitati", + unlimitedLabel: "Illimitato", + }, + delayAfterWrite: { + label: "Ritardo dopo le scritture per consentire alla diagnostica di rilevare potenziali problemi", + description: + "Tempo di attesa dopo la scrittura dei file prima di procedere, consentendo agli strumenti di diagnostica di elaborare le modifiche e rilevare i problemi.", + }, + }, + condensingThreshold: { + label: "Soglia di attivazione condensazione", + selectProfile: "Configura soglia per profilo", + defaultProfile: "Predefinito globale (tutti i profili)", + defaultDescription: + "Quando il contesto raggiunge questa percentuale, verrà automaticamente condensato per tutti i profili a meno che non abbiano impostazioni personalizzate", + profileDescription: "Soglia personalizzata solo per questo profilo (sovrascrive il predefinito globale)", + inheritDescription: "Questo profilo eredita la soglia predefinita globale ({{threshold}}%)", + usesGlobal: "(usa globale {{threshold}}%)", + }, + maxImageFileSize: { + label: "Dimensione massima file immagine", + mb: "MB", + description: + "Dimensione massima (in MB) per i file immagine che possono essere elaborati dallo strumento di lettura file.", + }, + maxTotalImageSize: { + label: "Dimensione totale massima immagini", + mb: "MB", + description: + "Limite di dimensione cumulativa massima (in MB) per tutte le immagini elaborate in una singola operazione read_file. Durante la lettura di più immagini, la dimensione di ogni immagine viene aggiunta al totale. Se l'inclusione di un'altra immagine supererebbe questo limite, verrà saltata.", + }, + }, + vke = { + basic: { label: "Impostazioni terminale: Base", description: "Impostazioni base del terminale" }, + advanced: { + label: "Impostazioni terminale: Avanzate", + description: + "Le seguenti opzioni potrebbero richiedere il riavvio del terminale per applicare l'impostazione.", + }, + outputLineLimit: { + label: "Limite output terminale", + description: + "Numero massimo di righe da includere nell'output del terminale durante l'esecuzione dei comandi. Quando superato, le righe verranno rimosse dal centro, risparmiando token. <0>Scopri di più</0>", + }, + outputCharacterLimit: { + label: "Limite di caratteri del terminale", + description: + "Numero massimo di caratteri da includere nell'output del terminale durante l'esecuzione dei comandi. Questo limite ha la precedenza sul limite di righe per prevenire problemi di memoria causati da righe estremamente lunghe. Se superato, l'output verrà troncato. <0>Scopri di più</0>", + }, + shellIntegrationTimeout: { + label: "Timeout integrazione shell del terminale", + description: `Tempo massimo di attesa per l'inizializzazione dell'integrazione della shell prima di eseguire i comandi. Per gli utenti con tempi di avvio della shell lunghi, questo valore potrebbe dover essere aumentato se si vedono errori "Shell Integration Unavailable" nel terminale. <0>Scopri di più</0>`, + }, + shellIntegrationDisabled: { + label: "Disabilita l'integrazione della shell del terminale", + description: + "Abilita questa opzione se i comandi del terminale non funzionano correttamente o se vedi errori 'Shell Integration Unavailable'. Questo utilizza un metodo più semplice per eseguire i comandi, bypassando alcune funzionalità avanzate del terminale. <0>Scopri di più</0>", + }, + commandDelay: { + label: "Ritardo comando terminale", + description: + "Ritardo in millisecondi da aggiungere dopo l'esecuzione del comando. L'impostazione predefinita di 0 disabilita completamente il ritardo. Questo può aiutare a garantire che l'output del comando sia catturato completamente nei terminali con problemi di temporizzazione. Nella maggior parte dei terminali viene implementato impostando `PROMPT_COMMAND='sleep N'` e Powershell aggiunge `start-sleep` alla fine di ogni comando. In origine era una soluzione per il bug VSCode#237208 e potrebbe non essere necessario. <0>Scopri di più</0>", + }, + compressProgressBar: { + label: "Comprimi output barre di progresso", + description: + "Quando abilitato, elabora l'output del terminale con ritorni a capo (\\r) per simulare come un terminale reale visualizzerebbe il contenuto. Questo rimuove gli stati intermedi delle barre di progresso, mantenendo solo lo stato finale, il che conserva spazio di contesto per informazioni più rilevanti. <0>Scopri di più</0>", + }, + powershellCounter: { + label: "Abilita soluzione temporanea contatore PowerShell", + description: + "Quando abilitato, aggiunge un contatore ai comandi PowerShell per garantire la corretta esecuzione dei comandi. Questo aiuta con i terminali PowerShell che potrebbero avere problemi con la cattura dell'output. <0>Scopri di più</0>", + }, + zshClearEolMark: { + label: "Cancella marcatore fine riga ZSH", + description: + "Quando abilitato, cancella il marcatore di fine riga ZSH impostando PROMPT_EOL_MARK=''. Questo previene problemi con l'interpretazione dell'output dei comandi quando termina con caratteri speciali come '%'. <0>Scopri di più</0>", + }, + zshOhMy: { + label: "Abilita integrazione Oh My Zsh", + description: + "Quando abilitato, imposta ITERM_SHELL_INTEGRATION_INSTALLED=Yes per abilitare le funzionalità di integrazione della shell Oh My Zsh. L'applicazione di questa impostazione potrebbe richiedere il riavvio dell'IDE. <0>Scopri di più</0>", + }, + zshP10k: { + label: "Abilita integrazione Powerlevel10k", + description: + "Quando abilitato, imposta POWERLEVEL9K_TERM_SHELL_INTEGRATION=true per abilitare le funzionalità di integrazione della shell Powerlevel10k. <0>Scopri di più</0>", + }, + zdotdir: { + label: "Abilita gestione ZDOTDIR", + description: + "Quando abilitato, crea una directory temporanea per ZDOTDIR per gestire correttamente l'integrazione della shell zsh. Questo assicura che l'integrazione della shell VSCode funzioni correttamente con zsh mantenendo la tua configurazione zsh. <0>Scopri di più</0>", + }, + inheritEnv: { + label: "Eredita variabili d'ambiente", + description: + "Quando abilitato, il terminale eredita le variabili d'ambiente dal processo padre di VSCode, come le impostazioni di integrazione della shell definite nel profilo utente. Questo attiva direttamente l'impostazione globale di VSCode `terminal.integrated.inheritEnv`. <0>Scopri di più</0>", + }, + }, + bke = { title: "Impostazioni avanzate" }, + yke = { + diff: { + label: "Abilita modifica tramite diff", + description: + "Quando abilitato, Roo sarà in grado di modificare i file più velocemente e rifiuterà automaticamente scritture di file completi troncati. Funziona meglio con l'ultimo modello Claude 3.7 Sonnet.", + strategy: { + label: "Strategia diff", + options: { + standard: "Standard (Blocco singolo)", + multiBlock: "Sperimentale: Diff multi-blocco", + unified: "Sperimentale: Diff unificato", + }, + descriptions: { + standard: "La strategia diff standard applica modifiche a un singolo blocco di codice alla volta.", + unified: + "La strategia diff unificato adotta diversi approcci per applicare i diff e sceglie il migliore.", + multiBlock: + "La strategia diff multi-blocco consente di aggiornare più blocchi di codice in un file in una singola richiesta.", + }, + }, + matchPrecision: { + label: "Precisione corrispondenza", + description: + "Questo cursore controlla quanto precisamente le sezioni di codice devono corrispondere quando si applicano i diff. Valori più bassi consentono corrispondenze più flessibili ma aumentano il rischio di sostituzioni errate. Usa valori inferiori al 100% con estrema cautela.", + }, + }, + todoList: { + label: "Abilita strumento lista di cose da fare", + description: + "Quando abilitato, Roo può creare e gestire liste di cose da fare per tracciare il progresso delle attività. Questo aiuta a organizzare attività complesse in passaggi gestibili.", + }, + }, + kke = { + DIFF_STRATEGY_UNIFIED: { + name: "Usa strategia diff unificata sperimentale", + description: + "Abilita la strategia diff unificata sperimentale. Questa strategia potrebbe ridurre il numero di tentativi causati da errori del modello, ma può causare comportamenti imprevisti o modifiche errate. Abilitala solo se comprendi i rischi e sei disposto a rivedere attentamente tutte le modifiche.", + }, + SEARCH_AND_REPLACE: { + name: "Usa strumento di ricerca e sostituzione sperimentale", + description: + "Abilita lo strumento di ricerca e sostituzione sperimentale, consentendo a Roo di sostituire più istanze di un termine di ricerca in una singola richiesta.", + }, + INSERT_BLOCK: { + name: "Usa strumento di inserimento contenuti sperimentale", + description: + "Abilita lo strumento di inserimento contenuti sperimentale, consentendo a Roo di inserire contenuti a numeri di riga specifici senza dover creare un diff.", + }, + POWER_STEERING: { + name: 'Usa modalità "servosterzo" sperimentale', + description: + "Quando abilitato, Roo ricorderà al modello i dettagli della sua definizione di modalità corrente più frequentemente. Questo porterà a una maggiore aderenza alle definizioni dei ruoli e alle istruzioni personalizzate, ma utilizzerà più token per messaggio.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Usa strumento diff multi-blocco sperimentale", + description: + "Quando abilitato, Roo utilizzerà lo strumento diff multi-blocco. Questo tenterà di aggiornare più blocchi di codice nel file in una singola richiesta.", + }, + CONCURRENT_FILE_READS: { + name: "Abilita lettura simultanea dei file", + description: + "Quando abilitato, Roo può leggere più file in una singola richiesta. Quando disabilitato, Roo deve leggere i file uno alla volta. Disabilitarlo può aiutare quando si lavora con modelli meno capaci o quando si desidera maggiore controllo sull'accesso ai file.", + }, + MARKETPLACE: { + name: "Abilita Marketplace", + description: "Quando abilitato, puoi installare MCP e modalità personalizzate dal Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Abilita modifiche di file concorrenti", + description: + "Quando abilitato, Roo può modificare più file in una singola richiesta. Quando disabilitato, Roo deve modificare i file uno alla volta. Disabilitare questa opzione può aiutare quando lavori con modelli meno capaci o quando vuoi più controllo sulle modifiche dei file.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Modifica in background", + description: + "Previene l'interruzione del focus dell'editor quando abilitato. Le modifiche ai file avvengono in background senza aprire viste di differenze o rubare il focus. Puoi continuare a lavorare senza interruzioni mentre Roo effettua modifiche. I file possono essere aperti senza focus per catturare diagnostiche o rimanere completamente chiusi.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Usa il nuovo parser dei messaggi", + description: + "Abilita il parser di messaggi in streaming sperimentale che migliora nettamente le risposte lunghe elaborando i messaggi in modo più efficiente.", + }, + }, + xke = { + label: "Disattiva la cache dei prompt", + description: "Quando selezionato, Roo non utilizzerà la cache dei prompt per questo modello.", + }, + wke = { + useCustom: "Usa temperatura personalizzata", + description: "Controlla la casualità nelle risposte del modello.", + rangeDescription: + "Valori più alti rendono l'output più casuale, valori più bassi lo rendono più deterministico.", + }, + _ke = { + supportsImages: "Supporta immagini", + noImages: "Non supporta immagini", + supportsComputerUse: "Supporta uso del computer", + noComputerUse: "Non supporta uso del computer", + supportsPromptCache: "Supporta cache dei prompt", + noPromptCache: "Non supporta cache dei prompt", + maxOutput: "Output massimo", + inputPrice: "Prezzo input", + outputPrice: "Prezzo output", + cacheReadsPrice: "Prezzo letture cache", + cacheWritesPrice: "Prezzo scritture cache", + enableStreaming: "Abilita streaming", + enableR1Format: "Abilita i parametri del modello R1", + enableR1FormatTips: "Deve essere abilitato quando si utilizzano modelli R1 come QWQ, per evitare l'errore 400", + useAzure: "Usa Azure", + azureApiVersion: "Imposta versione API Azure", + gemini: { + freeRequests: + "* Gratuito fino a {{count}} richieste al minuto. Dopo, la fatturazione dipende dalla dimensione del prompt.", + pricingDetails: "Per maggiori informazioni, vedi i dettagli sui prezzi.", + billingEstimate: "* La fatturazione è una stima - il costo esatto dipende dalle dimensioni del prompt.", + }, + }, + Cke = { + automaticFetch: `L'estensione recupera automaticamente l'elenco più recente dei modelli disponibili su <serviceLink>{{serviceName}}</serviceLink>. Se non sei sicuro di quale modello scegliere, Roo Code funziona meglio con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Puoi anche cercare "free" per opzioni gratuite attualmente disponibili.`, + label: "Modello", + searchPlaceholder: "Cerca", + noMatchFound: "Nessuna corrispondenza trovata", + useCustomModel: "Usa personalizzato: {{modelId}}", + }, + Ske = { + feedback: + "Se hai domande o feedback, sentiti libero di aprire un issue su <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> o unirti a <redditLink>reddit.com/r/RooCode</redditLink> o <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Consenti segnalazioni anonime di errori e utilizzo", + description: + "Aiuta a migliorare Roo Code inviando dati di utilizzo anonimi e segnalazioni di errori. Non vengono mai inviati codice, prompt o informazioni personali. Consulta la nostra politica sulla privacy per maggiori dettagli.", + }, + settings: { import: "Importa", export: "Esporta", reset: "Ripristina" }, + }, + Ake = { maxTokens: "Token massimi", maxThinkingTokens: "Token massimi di pensiero" }, + Pke = { + apiKey: "È necessario fornire una chiave API valida.", + awsRegion: "È necessario scegliere una regione per utilizzare Amazon Bedrock.", + googleCloud: "È necessario fornire un ID progetto e una regione Google Cloud validi.", + modelId: "È necessario fornire un ID modello valido.", + modelSelector: "È necessario fornire un selettore di modello valido.", + openAi: "È necessario fornire un URL base, una chiave API e un ID modello validi.", + arn: { + invalidFormat: "Formato ARN non valido. Verificare i requisiti del formato.", + regionMismatch: + "Attenzione: La regione nel tuo ARN ({{arnRegion}}) non corrisponde alla regione selezionata ({{region}}). Questo potrebbe causare problemi di accesso. Il provider utilizzerà la regione dall'ARN.", + }, + modelAvailability: "L'ID modello ({{modelId}}) fornito non è disponibile. Seleziona un modello diverso.", + providerNotAllowed: "Il fornitore '{{provider}}' non è consentito dalla tua organizzazione", + modelNotAllowed: + "Il modello '{{model}}' non è consentito per il fornitore '{{provider}}' dalla tua organizzazione.", + profileInvalid: "Questo profilo contiene un fornitore o un modello non consentito dalla tua organizzazione.", + }, + Rke = { + apiKey: "Inserisci chiave API...", + profileName: "Inserisci nome profilo", + accessKey: "Inserisci chiave di accesso...", + secretKey: "Inserisci chiave segreta...", + sessionToken: "Inserisci token di sessione...", + credentialsJson: "Inserisci JSON delle credenziali...", + keyFilePath: "Inserisci percorso file chiave...", + projectId: "Inserisci ID progetto...", + customArn: "Inserisci ARN (es. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Inserisci URL base...", + modelId: { + lmStudio: "es. meta-llama-3.1-8b-instruct", + lmStudioDraft: "es. lmstudio-community/llama-3.2-1b-instruct", + ollama: "es. llama3.1", + }, + numbers: { + maxTokens: "es. 4096", + contextWindow: "es. 128000", + inputPrice: "es. 0.0001", + outputPrice: "es. 0.0002", + cacheWritePrice: "es. 0.00005", + }, + }, + Tke = { + ollamaUrl: "Predefinito: http://localhost:11434", + lmStudioUrl: "Predefinito: http://localhost:1234", + geminiUrl: "Predefinito: https://generativelanguage.googleapis.com", + }, + Ike = { customArn: "ARN personalizzato", useCustomArn: "Usa ARN personalizzato..." }, + Mke = "Includi token di output massimi", + jke = + "Invia il parametro dei token di output massimi nelle richieste API. Alcuni provider potrebbero non supportarlo.", + Eke = "Limita il numero massimo di token nella risposta", + zke = "Token di output massimi", + $ke = "Token massimi da generare nella risposta", + Cbt = { + common: ike, + header: ske, + unsavedChangesDialog: ake, + sections: lke, + prompts: cke, + codeIndex: dke, + autoApprove: uke, + providers: pke, + browser: mke, + checkpoints: hke, + notifications: fke, + contextManagement: gke, + terminal: vke, + advancedSettings: bke, + advanced: yke, + experimental: kke, + promptCaching: xke, + temperature: wke, + modelInfo: _ke, + modelPicker: Cke, + footer: Ske, + thinkingBudget: Ake, + validation: Pke, + placeholders: Rke, + defaults: Tke, + labels: Ike, + includeMaxOutputTokens: Mke, + includeMaxOutputTokensDescription: jke, + limitMaxTokensDescription: Eke, + maxOutputTokensLabel: zke, + maxTokensGenerateDescription: $ke, + }, + Sbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: yke, + advancedSettings: bke, + autoApprove: uke, + browser: mke, + checkpoints: hke, + codeIndex: dke, + common: ike, + contextManagement: gke, + default: Cbt, + defaults: Tke, + experimental: kke, + footer: Ske, + header: ske, + includeMaxOutputTokens: Mke, + includeMaxOutputTokensDescription: jke, + labels: Ike, + limitMaxTokensDescription: Eke, + maxOutputTokensLabel: zke, + maxTokensGenerateDescription: $ke, + modelInfo: _ke, + modelPicker: Cke, + notifications: fke, + placeholders: Rke, + promptCaching: xke, + prompts: cke, + providers: pke, + sections: lke, + temperature: wke, + terminal: vke, + thinkingBudget: Ake, + unsavedChangesDialog: ake, + validation: Pke, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Lke = "Benvenuto in Roo Code!", + Dke = + "Con una gamma di Modalità integrate ed estensibili, Roo Code ti permette di pianificare, architettare, codificare, debuggare e aumentare la tua produttività come mai prima d'ora.", + Nke = "Per iniziare, questa estensione necessita di un fornitore di API.", + Oke = "Andiamo!", + Fke = { + requesty: { description: "Il tuo router LLM ottimizzato", incentive: "$1 di credito gratuito" }, + openrouter: { description: "Un'interfaccia unificata per LLMs" }, + }, + Bke = "Per fare la sua magia, Roo ha bisogno di una chiave API.", + Uke = "Consigliamo di utilizzare un router LLM:", + qke = "Oppure puoi utilizzare la tua chiave API:", + Wke = { + title: "Aiuta a migliorare Roo Code", + anonymousTelemetry: + "Invia dati di utilizzo ed errori anonimi per aiutarci a correggere bug e migliorare l'estensione. Non viene mai inviato codice, testo o informazioni personali.", + changeSettings: "Puoi sempre cambiare questo in fondo alle <settingsLink>impostazioni</settingsLink>", + settings: "impostazioni", + allow: "Consenti", + deny: "Nega", + }, + Kke = "Importa impostazioni", + Abt = { + greeting: Lke, + introduction: Dke, + notice: Nke, + start: Oke, + routers: Fke, + chooseProvider: Bke, + startRouter: Uke, + startCustom: qke, + telemetry: Wke, + importSettings: Kke, + }, + Pbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: Bke, + default: Abt, + greeting: Lke, + importSettings: Kke, + introduction: Dke, + notice: Nke, + routers: Fke, + start: Oke, + startCustom: qke, + startRouter: Uke, + telemetry: Wke, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Vke = "アカウント", + Hke = "プロフィール画像", + Gke = "ログアウト", + Qke = "API認証をテスト", + Zke = "Roo Code Cloud に接続", + Yke = "接続", + Xke = "Roo Code Cloudに接続", + Jke = "プロンプトとテレメトリを同期して以下を有効にする:", + exe = "オンラインタスク履歴", + txe = "共有とコラボレーション機能", + nxe = "タスク、Token、コストベースの使用メトリクス", + oxe = "Roomote Controlでどこからでもタスクをフォローし制御", + rxe = "Roomote Control", + ixe = "Roo Code Cloudでこのワークスペースのタスクをフォローし操作することを有効にする", + sxe = "Roo Code Cloudを訪問", + Rbt = { + title: Vke, + profilePicture: Hke, + logOut: Gke, + testApiAuthentication: Qke, + signIn: Zke, + connect: Yke, + cloudBenefitsTitle: Xke, + cloudBenefitsSubtitle: Jke, + cloudBenefitHistory: exe, + cloudBenefitSharing: txe, + cloudBenefitMetrics: nxe, + cloudBenefitWalkaway: oxe, + remoteControl: rxe, + remoteControlDescription: ixe, + visitCloudWebsite: sxe, + }, + Tbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: exe, + cloudBenefitMetrics: nxe, + cloudBenefitSharing: txe, + cloudBenefitWalkaway: oxe, + cloudBenefitsSubtitle: Jke, + cloudBenefitsTitle: Xke, + connect: Yke, + default: Rbt, + logOut: Gke, + profilePicture: Hke, + remoteControl: rxe, + remoteControlDescription: ixe, + signIn: Zke, + testApiAuthentication: Qke, + title: Vke, + visitCloudWebsite: sxe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + axe = "Roo Code へようこそ", + lxe = { + title: "タスク", + seeMore: "もっと見る", + seeLess: "表示を減らす", + tokens: "トークン:", + cache: "キャッシュ:", + apiCost: "APIコスト:", + contextWindow: "コンテキストウィンドウ:", + closeAndStart: "タスクを閉じて新しいタスクを開始", + export: "タスク履歴をエクスポート", + delete: "タスクを削除(Shift + クリックで確認をスキップ)", + condenseContext: "コンテキストをインテリジェントに圧縮", + share: "タスクを共有", + shareWithOrganization: "組織と共有", + shareWithOrganizationDescription: "組織のメンバーのみがアクセスできます", + sharePublicly: "公開で共有", + sharePubliclyDescription: "リンクを持つ誰でもアクセスできます", + connectToCloud: "クラウドに接続", + connectToCloudDescription: "タスクを共有するためにRoo Code Cloudにサインイン", + sharingDisabledByOrganization: "組織により共有が無効化されています", + shareSuccessOrganization: "組織リンクをクリップボードにコピーしました", + shareSuccessPublic: "公開リンクをクリップボードにコピーしました", + }, + cxe = "ピン留めを解除", + dxe = "ピン留め", + uxe = { + availableSpace: "利用可能な空き容量: {{amount}} トークン", + tokensUsed: "使用トークン: {{used}} / {{total}}", + reservedForResponse: "モデル応答用に予約: {{amount}} トークン", + }, + pxe = { title: "再試行", tooltip: "操作を再試行" }, + mxe = { title: "新しいタスクを開始", tooltip: "新しいタスクを開始" }, + hxe = { title: "それでも続行", tooltip: "コマンド実行中でも続行" }, + fxe = { title: "保存", tooltip: "メッセージの変更を保存" }, + gxe = { title: "拒否", tooltip: "このアクションを拒否" }, + vxe = "サブタスクを完了して戻る", + bxe = { title: "承認", tooltip: "このアクションを承認" }, + yxe = { title: "コマンド実行", tooltip: "このコマンドを実行" }, + kxe = { title: "実行中も続行", tooltip: "警告にもかかわらず続行" }, + xxe = { title: "コマンドを強制終了", tooltip: "現在のコマンドを強制終了します" }, + wxe = { title: "タスクを再開", tooltip: "現在のタスクを続行" }, + _xe = { title: "終了", tooltip: "現在のタスクを終了" }, + Cxe = { title: "キャンセル", tooltip: "現在の操作をキャンセル" }, + Sxe = "チャットの最下部にスクロール", + Axe = + "AI支援でコードを生成、リファクタリング、デバッグします。詳細については、<DocsLink>ドキュメント</DocsLink>をご覧ください。", + Pxe = + "最新のエージェント型コーディング能力の進歩により、複雑なソフトウェア開発タスクをステップバイステップで処理できます。ファイルの作成や編集、複雑なプロジェクトの探索、ブラウザの使用、ターミナルコマンドの実行(許可後)を可能にするツールにより、コード補完や技術サポート以上の方法であなたをサポートできます。MCPを使用して新しいツールを作成し、自分の能力を拡張することもできます。", + Rxe = { + boomerangTasks: { + title: "タスクオーケストレーション", + description: "タスクをより小さく、管理しやすい部分に分割します。", + }, + stickyModels: { title: "スティッキーモード", description: "各モードは、最後に使用したモデルを記憶しています" }, + tools: { + title: "ツール", + description: "AIがWebの閲覧、コマンドの実行などによって問題を解決できるようにします。", + }, + customizableModes: { + title: "カスタマイズ可能なモード", + description: "独自の動作と割り当てられたモデルを持つ専門的なペルソナ", + }, + }, + Txe = "対話モードを選択", + Ixe = "API構成を選択", + Mxe = "追加コンテキストでプロンプトを強化", + jxe = "メッセージに画像を追加", + Exe = "メッセージを送信", + zxe = "テキスト読み上げを停止", + $xe = "メッセージを入力...", + Lxe = "ここにタスクを入力...", + Dxe = "コンテキスト追加は@、コマンドは/", + Nxe = "ファイルをドラッグするにはShiftキーを押したまま", + Oxe = "ファイル/画像をドラッグするにはShiftキーを押したまま", + Fxe = + "「プロンプトを強化」ボタンは、追加コンテキスト、説明、または言い換えを提供することで、リクエストを改善します。ここにリクエストを入力し、ボタンを再度クリックして動作を確認してください。", + Bxe = { + title: "モード", + marketplace: "モードマーケットプレイス", + settings: "モード設定", + description: "Rooの動作をカスタマイズする専門的なペルソナ。", + searchPlaceholder: "モードを検索...", + noResults: "結果が見つかりません", + }, + Uxe = "ファイル読み込みエラー:", + qxe = "有効な画像が処理されませんでした", + Wxe = "区切り", + Kxe = "編集...", + Vxe = "次のモード用", + Hxe = "前のモード用", + Gxe = "エラー", + Qxe = { title: "編集に失敗しました" }, + Zxe = "Rooに問題が発生しています...", + Yxe = { + title: "APIリクエスト", + failed: "APIリクエスト失敗", + streaming: "APIリクエスト...", + cancelled: "APIリクエストキャンセル", + streamingFailed: "APIストリーミング失敗", + }, + Xxe = { + regular: "チェックポイント", + initializingWarning: + "チェックポイントの初期化中... 時間がかかりすぎる場合は、<settingsLink>設定</settingsLink>でチェックポイントを無効にしてタスクを再開できます。", + menu: { + viewDiff: "差分を表示", + restore: "チェックポイントを復元", + restoreFiles: "ファイルを復元", + restoreFilesDescription: "この時点で撮影されたスナップショットにプロジェクトのファイルを復元します。", + restoreFilesAndTask: "ファイルとタスクを復元", + confirm: "確認", + cancel: "キャンセル", + cannotUndo: "このアクションは元に戻せません。", + restoreFilesAndTaskDescription: + "この時点で撮影されたスナップショットにプロジェクトのファイルを復元し、この時点以降のすべてのメッセージを削除します。", + }, + current: "現在", + }, + Jxe = { wantsToFetch: "Rooは現在のタスクを支援するための詳細な指示を取得したい" }, + ewe = { + wantsToRead: "Rooはこのファイルを読みたい:", + wantsToReadOutsideWorkspace: "Rooはワークスペース外のこのファイルを読みたい:", + didRead: "Rooはこのファイルを読みました:", + wantsToEdit: "Rooはこのファイルを編集したい:", + wantsToEditOutsideWorkspace: "Rooはワークスペース外のこのファイルを編集したい:", + wantsToEditProtected: "Rooは保護された設定ファイルを編集したい:", + wantsToCreate: "Rooは新しいファイルを作成したい:", + wantsToSearchReplace: "Rooはこのファイルで検索と置換を行う:", + didSearchReplace: "Rooはこのファイルで検索と置換を実行しました:", + wantsToInsert: "Rooはこのファイルにコンテンツを挿入したい:", + wantsToInsertWithLineNumber: "Rooはこのファイルの{{lineNumber}}行目にコンテンツを挿入したい:", + wantsToInsertAtEnd: "Rooはこのファイルの末尾にコンテンツを追加したい:", + wantsToReadAndXMore: "Roo はこのファイルと他に {{count}} 個のファイルを読み込もうとしています:", + wantsToReadMultiple: "Rooは複数のファイルを読み取ろうとしています:", + wantsToApplyBatchChanges: "Rooは複数のファイルに変更を適用したい:", + }, + twe = { + wantsToViewTopLevel: "Rooはこのディレクトリのトップレベルファイルを表示したい:", + didViewTopLevel: "Rooはこのディレクトリのトップレベルファイルを表示しました:", + wantsToViewRecursive: "Rooはこのディレクトリのすべてのファイルを再帰的に表示したい:", + didViewRecursive: "Rooはこのディレクトリのすべてのファイルを再帰的に表示しました:", + wantsToViewDefinitions: "Rooはこのディレクトリで使用されているソースコード定義名を表示したい:", + didViewDefinitions: "Rooはこのディレクトリで使用されているソースコード定義名を表示しました:", + wantsToSearch: "Rooはこのディレクトリで <code>{{regex}}</code> を検索したい:", + didSearch: "Rooはこのディレクトリで <code>{{regex}}</code> を検索しました:", + wantsToSearchOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)で <code>{{regex}}</code> を検索したい:", + didSearchOutsideWorkspace: "Rooはこのディレクトリ(ワークスペース外)で <code>{{regex}}</code> を検索しました:", + wantsToViewTopLevelOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)のトップレベルファイルを表示したい:", + didViewTopLevelOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)のトップレベルファイルを表示しました:", + wantsToViewRecursiveOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)のすべてのファイルを再帰的に表示したい:", + didViewRecursiveOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)のすべてのファイルを再帰的に表示しました:", + wantsToViewDefinitionsOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)で使用されているソースコード定義名を表示したい:", + didViewDefinitionsOutsideWorkspace: + "Rooはこのディレクトリ(ワークスペース外)で使用されているソースコード定義名を表示しました:", + }, + nwe = "コマンド出力", + owe = { + running: "実行中", + pid: "PID: {{pid}}", + exited: "終了しました ({{exitCode}})", + manageCommands: "コマンド権限の管理", + commandManagementDescription: + "コマンドの権限を管理します:✓ をクリックして自動実行を許可し、✗ をクリックして実行を拒否します。パターンはオン/オフの切り替えやリストからの削除が可能です。<settingsLink>すべての設定を表示</settingsLink>", + addToAllowed: "許可リストに追加", + removeFromAllowed: "許可リストから削除", + addToDenied: "拒否リストに追加", + removeFromDenied: "拒否リストから削除", + abortCommand: "コマンドの実行を中止", + expandOutput: "出力を展開", + collapseOutput: "出力を折りたたむ", + expandManagement: "コマンド管理セクションを展開", + collapseManagement: "コマンド管理セクションを折りたたむ", + }, + rwe = "応答", + iwe = { + wantsToUseTool: "RooはMCPサーバー{{serverName}}でツールを使用したい:", + wantsToAccessResource: "RooはMCPサーバー{{serverName}}のリソースにアクセスしたい:", + }, + swe = { + wantsToSwitch: "Rooは<code>{{mode}}</code>モードに切り替えたい", + wantsToSwitchWithReason: "Rooは次の理由で<code>{{mode}}</code>モードに切り替えたい: {{reason}}", + didSwitch: "Rooは<code>{{mode}}</code>モードに切り替えました", + didSwitchWithReason: "Rooは次の理由で<code>{{mode}}</code>モードに切り替えました: {{reason}}", + }, + awe = { + wantsToCreate: "Rooは<code>{{mode}}</code>モードで新しいサブタスクを作成したい:", + wantsToFinish: "Rooはこのサブタスクを終了したい", + newTaskContent: "サブタスク指示", + completionContent: "サブタスク完了", + resultContent: "サブタスク結果", + defaultResult: "次のタスクに進んでください。", + completionInstructions: + "サブタスク完了!結果を確認し、修正や次のステップを提案できます。問題なければ、親タスクに結果を返すために確認してください。", + }, + lwe = { hasQuestion: "Rooは質問があります:" }, + cwe = "タスク完了", + dwe = { issues: "Windows PowerShellに問題があるようです。こちらを参照してください" }, + uwe = { + title: "自動承認:", + none: "なし", + description: + "自動承認はRoo Codeに許可を求めずに操作を実行する権限を与えます。完全に信頼できる操作のみ有効にしてください。より詳細な設定は<settingsLink>設定</settingsLink>で利用できます。", + selectOptionsFirst: "自動承認を有効にするには、以下のオプションを少なくとも1つ選択してください", + toggleAriaLabel: "自動承認の切り替え", + disabledAriaLabel: "自動承認が無効です - 最初にオプションを選択してください", + }, + pwe = { thinking: "考え中", seconds: "{{count}}秒" }, + mwe = { + title: "コンテキスト要約", + condensing: "コンテキストを圧縮中...", + errorHeader: "コンテキストの圧縮に失敗しました", + tokens: "トークン", + }, + hwe = { + copyToInput: "入力欄にコピー(またはShift + クリック)", + autoSelectCountdown: "{{count}}秒後に自動選択します", + countdownDisplay: "{{count}}秒", + }, + fwe = { + title: "🎉 Roo Code {{version}} リリース", + description: "Roo Code {{version}}は、開発ワークフローを向上させる強力な新機能と重要な改善をもたらします。", + whatsNew: "新機能", + feature1: + "<bold>メッセージキュー</bold>: Rooが作業中に複数のメッセージをキューに入れ、ワークフローの計画を中断することなく続行できます。", + feature2: + "<bold>カスタムスラッシュコマンド</bold>: よく使用するプロンプトやワークフローへの迅速なアクセスのために、パーソナライズされたスラッシュコマンドを作成し、完全なUI管理を提供します。", + feature3: + "<bold>強化されたGeminiツール</bold>: 新しいURLコンテキストとGoogle検索グラウンディング機能により、Geminiモデルにリアルタイムのウェブ情報と強化された研究能力を提供します。", + hideButton: "通知を非表示", + detailsDiscussLinks: + "詳細は<discordLink>Discord</discordLink>と<redditLink>Reddit</redditLink>でご確認・ディスカッションください 🚀", + }, + gwe = { + rooWantsToUse: "Rooはブラウザを使用したい:", + consoleLogs: "コンソールログ", + noNewLogs: "(新しいログはありません)", + screenshot: "ブラウザのスクリーンショット", + cursor: "カーソル", + navigation: { step: "ステップ {{current}} / {{total}}", previous: "前へ", next: "次へ" }, + sessionStarted: "ブラウザセッション開始", + actions: { + title: "ブラウザアクション: ", + launch: "{{url}} でブラウザを起動", + click: "クリック ({{coordinate}})", + type: '入力 "{{text}}"', + scrollDown: "下にスクロール", + scrollUp: "上にスクロール", + close: "ブラウザを閉じる", + }, + }, + vwe = { + tooltips: { + expand: "コードブロックを展開", + collapse: "コードブロックを折りたたむ", + enable_wrap: "折り返しを有効化", + disable_wrap: "折り返しを無効化", + copy_code: "コードをコピー", + }, + }, + bwe = + "警告:カスタムシステムプロンプトの上書きが有効です。これにより機能が深刻に損なわれ、予測不可能な動作が発生する可能性があります。", + ywe = "現在のプロファイルは組織の設定と互換性がありません", + kwe = { + title: "コマンド実行警告", + description: + "コマンドはVSCodeターミナルシェル統合なしで実行されています。この警告を非表示にするには、<settingsLink>Roo Code設定</settingsLink>の<strong>Terminal</strong>セクションでシェル統合を無効にするか、以下のリンクを使用してVSCodeターミナル統合のトラブルシューティングを行ってください。", + troubleshooting: "シェル統合のドキュメントはこちらをクリック", + }, + xwe = { + autoApprovedRequestLimitReached: { + title: "自動承認リクエスト制限に達しました", + description: + "Rooは{{count}}件のAPI自動承認リクエスト制限に達しました。カウントをリセットしてタスクを続行しますか?", + button: "リセットして続行", + }, + autoApprovedCostLimitReached: { + title: "自動承認コスト制限に達しました", + description: + "Rooは自動承認されたコスト制限の${{count}}に達しました。コストをリセットしてタスクを続行しますか?", + button: "リセットして続ける", + }, + }, + wwe = { + wantsToSearch: "Rooはコードベースで <code>{{query}}</code> を検索したい:", + wantsToSearchWithPath: "Rooは <code>{{path}}</code> 内のコードベースで <code>{{query}}</code> を検索したい:", + didSearch_one: "1件の結果が見つかりました", + didSearch_other: "{{count}}件の結果が見つかりました", + resultTooltip: "類似度スコア: {{score}} (クリックしてファイルを開く)", + }, + _we = { + ready: "インデックス準備完了", + indexing: "インデックス作成中 {{percentage}}%", + indexed: "インデックス作成済み", + error: "インデックスエラー", + status: "インデックス状態", + }, + Cwe = { ariaLabel: "バージョン {{version}} - クリックしてリリースノートを表示" }, + Swe = { + title: "Roo Code Cloud が間もなく登場!", + description: + "クラウドでリモートエージェントを実行し、どこからでもタスクにアクセスし、他の人と協力し、その他多くの機能を利用できます。", + joinWaitlist: "早期アクセスを取得するためにウェイトリストに参加してください。", + }, + Awe = { placeholder: "メッセージを編集..." }, + Pwe = { triggerDescription: "{{name}}コマンドをトリガー" }, + Rwe = { + tooltip: "スラッシュコマンドを管理", + title: "スラッシュコマンド", + description: + "よく使用するプロンプトやワークフローに素早くアクセスするためのカスタムスラッシュコマンドを作成します。<DocsLink>ドキュメント</DocsLink>", + globalCommands: "グローバルコマンド", + workspaceCommands: "ワークスペースコマンド", + globalCommand: "グローバルコマンド", + editCommand: "コマンドを編集", + deleteCommand: "コマンドを削除", + newGlobalCommandPlaceholder: "新しいグローバルコマンド...", + newWorkspaceCommandPlaceholder: "新しいワークスペースコマンド...", + deleteDialog: { + title: "コマンドを削除", + description: '"{{name}}" コマンドを削除してもよろしいですか?この操作は元に戻せません。', + cancel: "キャンセル", + confirm: "削除", + }, + }, + Twe = { title: "キューメッセージ:", clickToEdit: "クリックしてメッセージを編集" }, + Ibt = { + greeting: axe, + task: lxe, + unpin: cxe, + pin: dxe, + tokenProgress: uxe, + retry: pxe, + startNewTask: mxe, + proceedAnyways: hxe, + save: fxe, + reject: gxe, + completeSubtaskAndReturn: vxe, + approve: bxe, + runCommand: yxe, + proceedWhileRunning: kxe, + killCommand: xxe, + resumeTask: wxe, + terminate: _xe, + cancel: Cxe, + scrollToBottom: Sxe, + about: Axe, + onboarding: Pxe, + rooTips: Rxe, + selectMode: Txe, + selectApiConfig: Ixe, + enhancePrompt: Mxe, + addImages: jxe, + sendMessage: Exe, + stopTts: zxe, + typeMessage: $xe, + typeTask: Lxe, + addContext: Dxe, + dragFiles: Nxe, + dragFilesImages: Oxe, + enhancePromptDescription: Fxe, + modeSelector: Bxe, + errorReadingFile: Uxe, + noValidImages: qxe, + separator: Wxe, + edit: Kxe, + forNextMode: Vxe, + forPreviousMode: Hxe, + error: Gxe, + diffError: Qxe, + troubleMessage: Zxe, + apiRequest: Yxe, + checkpoint: Xxe, + instructions: Jxe, + fileOperations: ewe, + directoryOperations: twe, + commandOutput: nwe, + commandExecution: owe, + response: rwe, + arguments: "引数", + mcp: iwe, + modes: swe, + subtasks: awe, + questions: lwe, + taskCompleted: cwe, + powershell: dwe, + autoApprove: uwe, + reasoning: pwe, + contextCondense: mwe, + followUpSuggest: hwe, + announcement: fwe, + browser: gwe, + codeblock: vwe, + systemPromptWarning: bwe, + profileViolationWarning: ywe, + shellIntegration: kwe, + ask: xwe, + codebaseSearch: wwe, + "read-batch": { approve: { title: "すべて承認" }, deny: { title: "すべて拒否" } }, + indexingStatus: _we, + versionIndicator: Cwe, + rooCloudCTA: Swe, + editMessage: Awe, + command: Pwe, + slashCommands: Rwe, + queuedMessages: Twe, + }, + Mbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: Axe, + addContext: Dxe, + addImages: jxe, + announcement: fwe, + apiRequest: Yxe, + approve: bxe, + ask: xwe, + autoApprove: uwe, + browser: gwe, + cancel: Cxe, + checkpoint: Xxe, + codebaseSearch: wwe, + codeblock: vwe, + command: Pwe, + commandExecution: owe, + commandOutput: nwe, + completeSubtaskAndReturn: vxe, + contextCondense: mwe, + default: Ibt, + diffError: Qxe, + directoryOperations: twe, + dragFiles: Nxe, + dragFilesImages: Oxe, + edit: Kxe, + editMessage: Awe, + enhancePrompt: Mxe, + enhancePromptDescription: Fxe, + error: Gxe, + errorReadingFile: Uxe, + fileOperations: ewe, + followUpSuggest: hwe, + forNextMode: Vxe, + forPreviousMode: Hxe, + greeting: axe, + indexingStatus: _we, + instructions: Jxe, + killCommand: xxe, + mcp: iwe, + modeSelector: Bxe, + modes: swe, + noValidImages: qxe, + onboarding: Pxe, + pin: dxe, + powershell: dwe, + proceedAnyways: hxe, + proceedWhileRunning: kxe, + profileViolationWarning: ywe, + questions: lwe, + queuedMessages: Twe, + reasoning: pwe, + reject: gxe, + response: rwe, + resumeTask: wxe, + retry: pxe, + rooCloudCTA: Swe, + rooTips: Rxe, + runCommand: yxe, + save: fxe, + scrollToBottom: Sxe, + selectApiConfig: Ixe, + selectMode: Txe, + sendMessage: Exe, + separator: Wxe, + shellIntegration: kwe, + slashCommands: Rwe, + startNewTask: mxe, + stopTts: zxe, + subtasks: awe, + systemPromptWarning: bwe, + task: lxe, + taskCompleted: cwe, + terminate: _xe, + tokenProgress: uxe, + troubleMessage: Zxe, + typeMessage: $xe, + typeTask: Lxe, + unpin: cxe, + versionIndicator: Cwe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Iwe = { + title: "問題が発生しました", + reportText: "このエラーを報告して改善にご協力ください", + githubText: "GitHub Issuesページ", + copyInstructions: "以下のエラーメッセージをコピーして報告に含めてください:", + errorStack: "エラースタック:", + componentStack: "コンポーネントスタック:", + }, + Mwe = { yes: "はい", no: "いいえ", cancel: "キャンセル", remove: "削除", keep: "保持" }, + jwe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + Ewe = { search_placeholder: "検索...", no_results: "結果が見つかりません" }, + zwe = { + loading: "Mermaidダイアグラムを生成中...", + render_error: "ダイアグラムをレンダリングできません", + buttons: { + zoom: "ズーム", + zoomIn: "拡大", + zoomOut: "縮小", + copy: "コピー", + save: "画像を保存", + viewCode: "コードを表示", + viewDiagram: "ダイアグラムを表示", + close: "閉じる", + }, + modal: { codeTitle: "Mermaidコード" }, + tabs: { diagram: "ダイアグラム", code: "コード" }, + feedback: { imageCopied: "画像をクリップボードにコピーしました", copyError: "画像のコピーエラー" }, + }, + $we = { + errors: { + invalidDataUri: "無効なデータURI形式", + copyingImage: "画像のコピーエラー: {{error}}", + openingImage: "画像を開く際のエラー: {{error}}", + pathNotExists: "パスが存在しません: {{path}}", + couldNotOpen: "ファイルを開けませんでした: {{error}}", + couldNotOpenGeneric: "ファイルを開けませんでした!", + }, + success: { imageDataUriCopied: "画像データURIをクリップボードにコピーしました" }, + }, + Lwe = { + deleteMessage: "メッセージを削除", + deleteWarning: "このメッセージを削除すると、会話内の後続のメッセージもすべて削除されます。続行しますか?", + editMessage: "メッセージを編集", + editWarning: "このメッセージを編集すると、会話内の後続のメッセージもすべて削除されます。続行しますか?", + proceed: "続行", + }, + jbt = { errorBoundary: Iwe, answers: Mwe, number_format: jwe, ui: Ewe, mermaid: zwe, file: $we, confirmation: Lwe }, + Ebt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: Mwe, + confirmation: Lwe, + default: jbt, + errorBoundary: Iwe, + file: $we, + mermaid: zwe, + number_format: jwe, + ui: Ewe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Dwe = "最近のタスク", + Nwe = "履歴", + Owe = "選択モードを終了", + Fwe = "選択モードに入る", + Bwe = "完了", + Uwe = "履歴をあいまい検索...", + qwe = "最新", + Wwe = "最古", + Kwe = "最も高価", + Vwe = "最多トークン", + Hwe = "最も関連性の高い", + Gwe = "タスクを削除(Shift + クリックで確認をスキップ)", + Qwe = "プロンプトをコピー", + Zwe = "タスクをエクスポート", + Ywe = "タスクを削除", + Xwe = "このタスクを削除してもよろしいですか?この操作は元に戻せません。", + Jwe = "キャンセル", + e_e = "選択を終了", + t_e = "選択モード", + n_e = "すべての選択を解除", + o_e = "すべて選択", + r_e = "{{selected}}/{{total}} 項目を選択中", + i_e = "選択をクリア", + s_e = "選択した項目を削除", + a_e = "タスクを削除", + l_e = "{{count}} 件のタスクを削除してもよろしいですか?", + c_e = "削除されたタスクは復元できません。続行してもよろしいですか?", + d_e = "{{count}} 項目を削除", + u_e = { prefix: "ワークスペース:", current: "現在", all: "すべて" }, + p_e = { + prefix: "ソート:", + newest: "最新", + oldest: "最古", + mostExpensive: "最も高価", + mostTokens: "最多トークン", + mostRelevant: "最も関連性の高い", + }, + m_e = "すべての履歴を表示", + zbt = { + recentTasks: Dwe, + history: Nwe, + exitSelectionMode: Owe, + enterSelectionMode: Fwe, + done: Bwe, + searchPlaceholder: Uwe, + newest: qwe, + oldest: Wwe, + mostExpensive: Kwe, + mostTokens: Vwe, + mostRelevant: Hwe, + deleteTaskTitle: Gwe, + copyPrompt: Qwe, + exportTask: Zwe, + deleteTask: Ywe, + deleteTaskMessage: Xwe, + cancel: Jwe, + delete: "削除", + exitSelection: e_e, + selectionMode: t_e, + deselectAll: n_e, + selectAll: o_e, + selectedItems: r_e, + clearSelection: i_e, + deleteSelected: s_e, + deleteTasks: a_e, + confirmDeleteTasks: l_e, + deleteTasksWarning: c_e, + deleteItems: d_e, + workspace: u_e, + sort: p_e, + viewAllHistory: m_e, + }, + $bt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: Jwe, + clearSelection: i_e, + confirmDeleteTasks: l_e, + copyPrompt: Qwe, + default: zbt, + deleteItems: d_e, + deleteSelected: s_e, + deleteTask: Ywe, + deleteTaskMessage: Xwe, + deleteTaskTitle: Gwe, + deleteTasks: a_e, + deleteTasksWarning: c_e, + deselectAll: n_e, + done: Bwe, + enterSelectionMode: Fwe, + exitSelection: e_e, + exitSelectionMode: Owe, + exportTask: Zwe, + history: Nwe, + mostExpensive: Kwe, + mostRelevant: Hwe, + mostTokens: Vwe, + newest: qwe, + oldest: Wwe, + recentTasks: Dwe, + searchPlaceholder: Uwe, + selectAll: o_e, + selectedItems: r_e, + selectionMode: t_e, + sort: p_e, + viewAllHistory: m_e, + workspace: u_e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + h_e = "ヒューマンリレー - 情報のコピー&ペーストにご協力ください", + f_e = "以下のプロンプトをウェブAIにコピーし、AIの応答を下の入力ボックスにペーストしてください。", + g_e = "クリップボードにコピーしました", + v_e = { label: "AIの応答を入力してください:", placeholder: "ここにAIの応答をペースト..." }, + b_e = { cancel: "キャンセル", submit: "送信" }, + Lbt = { dialogTitle: h_e, dialogDescription: f_e, copiedToClipboard: g_e, aiResponse: v_e, actions: b_e }, + Dbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: b_e, + aiResponse: v_e, + copiedToClipboard: g_e, + default: Lbt, + dialogDescription: f_e, + dialogTitle: h_e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + y_e = "Roo Marketplace", + k_e = { installed: "インストール済み", settings: "設定", browse: "参照" }, + x_e = "完了", + w_e = "更新", + __e = { + search: { + placeholder: "Marketplaceアイテムを検索...", + placeholderMcp: "MCPを検索...", + placeholderMode: "モードを検索...", + }, + type: { label: "タイプでフィルター:", all: "すべてのタイプ", mode: "モード", mcpServer: "MCPサーバー" }, + sort: { label: "並び順:", name: "名前", author: "作成者", lastUpdated: "最終更新" }, + tags: { + label: "タグでフィルター:", + clear: "タグをクリア", + placeholder: "タグを検索して選択するために入力...", + noResults: "一致するタグが見つかりません", + selected: "選択されたタグのいずれかを持つアイテムを表示", + clickToFilter: "タグをクリックしてアイテムをフィルター", + }, + none: "なし", + }, + C_e = { organizationMcps: "{{organization}} MCPs", marketplace: "マーケットプレイス" }, + S_e = { + empty: { + noItems: "Marketplaceアイテムが見つかりません", + withFilters: "フィルターを調整してみてください", + noSources: "ソースタブでソースを追加してみてください", + adjustFilters: "フィルターや検索語を調整してみてください", + clearAllFilters: "すべてのフィルターをクリア", + }, + count: "{{count}}個のアイテムが見つかりました", + components: "{{count}}個のコンポーネント", + matched: "{{count}}個が一致", + refresh: { button: "更新", refreshing: "更新中...", mayTakeMoment: "しばらく時間がかかる場合があります。" }, + card: { + by: "{{author}}による", + from: "{{source}}から", + install: "インストール", + installProject: "インストール", + installGlobal: "インストール(グローバル)", + remove: "削除", + removeProject: "削除", + removeGlobal: "削除(グローバル)", + viewSource: "表示", + viewOnSource: "{{source}}で表示", + noWorkspaceTooltip: "Marketplaceアイテムをインストールするにはワークスペースを開いてください", + installed: "インストール済み", + removeProjectTooltip: "現在のプロジェクトから削除", + removeGlobalTooltip: "グローバル設定から削除", + actionsMenuLabel: "その他のアクション", + }, + removeFailed: "アイテムの削除に失敗しました: {{error}}", + unknownError: "不明なエラーが発生しました", + }, + A_e = { + title: "{{name}}をインストール", + titleMode: "{{name}}モードをインストール", + titleMcp: "{{name}} MCPをインストール", + scope: "インストール範囲", + project: "プロジェクト(現在のワークスペース)", + global: "グローバル(すべてのワークスペース)", + method: "インストール方法", + configuration: "設定", + configurationDescription: "このMCPサーバーに必要なパラメーターを設定", + button: "インストール", + successTitle: "{{name}}がインストールされました", + successDescription: "インストールが正常に完了しました", + installed: "正常にインストールされました!", + whatNextMcp: + "このMCPサーバーを設定して使用できるようになりました。サイドバーのMCPアイコンをクリックしてタブを切り替えてください。", + whatNextMode: + "このモードを使用できるようになりました。サイドバーのモードアイコンをクリックしてタブを切り替えてください。", + done: "完了", + goToMcp: "MCPタブに移動", + goToModes: "モード設定に移動", + moreInfoMcp: "{{name}} MCPドキュメントを表示", + validationRequired: "{{paramName}}の値を入力してください", + prerequisites: "前提条件", + }, + P_e = { + title: "Marketplaceソースを設定", + description: + "Marketplaceアイテムを含むGitリポジトリを追加します。Marketplaceを閲覧する際にこれらのリポジトリが取得されます。", + add: { + title: "新しいソースを追加", + urlPlaceholder: "GitリポジトリURL(例:https://github.com/username/repo)", + urlFormats: + "サポートされている形式:HTTPS(https://github.com/username/repo)、SSH(git@github.com:username/repo.git)、またはGitプロトコル(git://github.com/username/repo.git)", + namePlaceholder: "表示名(最大20文字)", + button: "ソースを追加", + }, + current: { + title: "現在のソース", + empty: "ソースが設定されていません。開始するにはソースを追加してください。", + refresh: "このソースを更新", + remove: "ソースを削除", + }, + errors: { + emptyUrl: "URLを空にすることはできません", + invalidUrl: "無効なURL形式", + nonVisibleChars: "URLにスペース以外の見えない文字が含まれています", + invalidGitUrl: "URLは有効なGitリポジトリURLである必要があります(例:https://github.com/username/repo)", + duplicateUrl: "このURLは既にリストにあります(大文字小文字とスペースは無視されます)", + nameTooLong: "名前は20文字以下である必要があります", + nonVisibleCharsName: "名前にスペース以外の見えない文字が含まれています", + duplicateName: "この名前は既に使用されています(大文字小文字とスペースは無視されます)", + emojiName: "絵文字文字は表示の問題を引き起こす可能性があります", + maxSources: "最大{{max}}個のソースが許可されています", + }, + }, + R_e = { + mode: { + title: "モードを削除", + message: "モード「{{modeName}}」を本当に削除しますか?", + rulesWarning: "これにより、このモードに関連するルールファイルも削除されます。", + }, + mcp: { title: "MCPサーバーを削除", message: "MCPサーバー「{{mcpName}}」を本当に削除しますか?" }, + cancel: "キャンセル", + confirm: "削除", + }, + T_e = { + issueText: + "Marketplaceアイテムで問題を見つけた、または新しいアイテムの提案がありますか?<0>GitHub issueを開いて</0>お知らせください!", + }, + Nbt = { + title: y_e, + tabs: k_e, + done: x_e, + refresh: w_e, + filters: __e, + sections: C_e, + "type-group": { modes: "モード", mcps: "MCPサーバー" }, + items: S_e, + install: A_e, + sources: P_e, + removeConfirm: R_e, + footer: T_e, + }, + Obt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Nbt, + done: x_e, + filters: __e, + footer: T_e, + install: A_e, + items: S_e, + refresh: w_e, + removeConfirm: R_e, + sections: C_e, + sources: P_e, + tabs: k_e, + title: y_e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + I_e = "MCPサーバー", + M_e = "完了", + j_e = "MCPマーケットプレイス", + E_e = + "<0>Model Context Protocol</0>は、ローカルで実行されているMCPサーバーとの通信を可能にし、Rooの機能を拡張するための追加ツールやリソースを提供します。<1>コミュニティによって作成されたサーバー</1>を使用したり、Rooにワークフロー専用の新しいツールを作成するよう依頼したりできます(例:「最新のnpmドキュメントを取得するツールを追加する」)。", + z_e = "手順", + $_e = { + title: "MCPサーバーを有効化", + description: + "これをONにすると、Rooが接続されたMCPサーバーのツールを使えるようになるよ。Rooの機能が増える!追加ツールを使わないなら、APIトークンのコストを抑えるためにOFFにしてね。", + }, + L_e = { + title: "MCPサーバー作成を有効化", + description: + "これをONにすると、Rooが<1>新しい</1>カスタムMCPサーバーを作るのを手伝ってくれるよ。<0>サーバー作成について詳しく</0>", + hint: "ヒント: APIトークンのコストを抑えたいときは、Rooに新しいMCPサーバーを作らせないときにこの設定をOFFにしてね。", + }, + D_e = "グローバルMCPを編集", + N_e = "プロジェクトMCPを編集", + O_e = "MCP設定ファイルの編集方法を詳しく見る", + F_e = { + alwaysAllow: "常に許可", + parameters: "パラメータ", + noDescription: "説明なし", + togglePromptInclusion: "プロンプトへの含有を切り替える", + }, + B_e = { tools: "ツール", resources: "リソース", errors: "エラー" }, + U_e = { + noTools: "ツールが見つかりません", + noResources: "リソースが見つかりません", + noErrors: "エラーが見つかりません", + }, + q_e = { + label: "ネットワークタイムアウト", + description: "サーバー応答の最大待機時間", + options: { + "15seconds": "15秒", + "30seconds": "30秒", + "1minute": "1分", + "5minutes": "5分", + "10minutes": "10分", + "15minutes": "15分", + "30minutes": "30分", + "60minutes": "60分", + }, + }, + W_e = { + title: "MCPサーバーを削除", + description: "本当にMCPサーバー「{{serverName}}」を削除する?この操作は元に戻せないよ。", + cancel: "キャンセル", + delete: "削除", + }, + K_e = { retrying: "再試行中...", retryConnection: "再接続" }, + V_e = "MCPサーバーを更新", + H_e = { running: "実行中", completed: "完了", error: "エラー" }, + Fbt = { + title: I_e, + done: M_e, + marketplace: j_e, + description: E_e, + instructions: z_e, + enableToggle: $_e, + enableServerCreation: L_e, + editGlobalMCP: D_e, + editProjectMCP: N_e, + learnMoreEditingSettings: O_e, + tool: F_e, + tabs: B_e, + emptyState: U_e, + networkTimeout: q_e, + deleteDialog: W_e, + serverStatus: K_e, + refreshMCP: V_e, + execution: H_e, + }, + Bbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Fbt, + deleteDialog: W_e, + description: E_e, + done: M_e, + editGlobalMCP: D_e, + editProjectMCP: N_e, + emptyState: U_e, + enableServerCreation: L_e, + enableToggle: $_e, + execution: H_e, + instructions: z_e, + learnMoreEditingSettings: O_e, + marketplace: j_e, + networkTimeout: q_e, + refreshMCP: V_e, + serverStatus: K_e, + tabs: B_e, + title: I_e, + tool: F_e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + G_e = "モード", + Q_e = "完了", + Z_e = { + title: "モード", + createNewMode: "新しいモードを作成", + importMode: "モードをインポート", + noMatchFound: "モードが見つかりません", + editModesConfig: "モード設定を編集", + editGlobalModes: "グローバルモードを編集", + editProjectModes: "プロジェクトモードを編集 (.roomodes)", + createModeHelpText: + "モードはRooの振る舞いを調整する専門的なペルソナです。<0>モードの使用について学ぶ</0>か、<1>モードのカスタマイズについて学ぶ</1>。", + selectMode: "モードを検索", + }, + Y_e = { title: "API設定", select: "このモードで使用するAPI設定を選択してください" }, + X_e = { + title: "利用可能なツール", + builtInModesText: "組み込みモードのツールは変更できません", + editTools: "ツールを編集", + doneEditing: "編集完了", + allowedFiles: "許可されたファイル:", + toolNames: { + read: "ファイルを読み込む", + edit: "ファイルを編集", + browser: "ブラウザを使用", + command: "コマンドを実行", + mcp: "MCP を使用", + }, + noTools: "なし", + }, + J_e = { + title: "役割の定義", + resetToDefault: "デフォルトにリセット", + description: + "このモードのRooの専門知識と個性を定義します。この説明は、Rooが自身をどのように表現し、タスクにどのように取り組むかを形作ります。", + }, + eCe = { + title: "短い説明(人間向け)", + resetToDefault: "デフォルトの説明にリセット", + description: "モードセレクタのドロップダウンに表示される簡単な説明。", + }, + tCe = { + title: "使用タイミング(オプション)", + description: + "このモードをいつ使用すべきかを説明します。これはOrchestratorがタスクに適切なモードを選択するのに役立ちます。", + resetToDefault: "「使用タイミング」説明をデフォルトにリセット", + }, + nCe = { + title: "モード固有のカスタム指示(オプション)", + resetToDefault: "デフォルトにリセット", + description: "{{modeName}}モードに特化した行動ガイドラインを追加します。", + loadFromFile: + "{{mode}}モード固有のカスタム指示は、ワークスペースの<span>.roo/rules-{{slug}}/</span>フォルダからも読み込めます(.roorules-{{slug}}と.clinerules-{{slug}}は非推奨であり、まもなく機能しなくなります)。", + }, + oCe = { + title: "モードをエクスポート", + description: + "このモードをすべてのルールを含むYAMLファイルにエクスポートして、他のユーザーと簡単に共有できます。", + export: "モードをエクスポート", + exporting: "エクスポート中...", + }, + rCe = { + selectLevel: "このモードをインポートする場所を選択してください:", + import: "インポート", + importing: "インポート中...", + global: { + label: "グローバルレベル", + description: "すべてのプロジェクトで利用可能です。ルールはカスタム指示にマージされます。", + }, + project: { + label: "プロジェクトレベル", + description: + "このワークスペースでのみ利用可能です。エクスポートされたモードにルールファイルが含まれていた場合、それらは.roo/rules-{slug}/フォルダに再作成されます。", + }, + }, + iCe = { title: "詳細設定" }, + sCe = { + title: "すべてのモードのカスタム指示", + description: + "これらの指示はすべてのモードに適用されます。モード固有の指示で強化できる基本的な動作セットを提供します。<0>詳細はこちら</0>", + loadFromFile: + "指示はワークスペースの<span>.roo/rules/</span>フォルダからも読み込めます(.roorules と .clinerules は非推奨であり、まもなく機能しなくなります)。", + }, + aCe = { + preview: "システムプロンプトのプレビュー", + copy: "システムプロンプトをクリップボードにコピー", + title: "システムプロンプト({{modeName}}モード)", + }, + lCe = { + title: "サポートプロンプト", + resetPrompt: "{{promptType}}プロンプトをデフォルトにリセット", + prompt: "プロンプト", + enhance: { + apiConfiguration: "API設定", + apiConfigDescription: + "プロンプトの強化に常に使用するAPI設定を選択するか、現在選択されているものを使用できます", + useCurrentConfig: "現在選択されているAPI設定を使用", + testPromptPlaceholder: "強化をテストするプロンプトを入力してください", + previewButton: "プロンプト強化のプレビュー", + testEnhancement: "強化をテスト", + includeTaskHistory: "タスク履歴をコンテキストとして含める", + includeTaskHistoryDescription: + "有効にすると、現在の会話の最後の10メッセージがプロンプト強化時にコンテキストとして含まれ、より関連性が高くコンテキストを意識した提案の生成に役立ちます。", + }, + condense: { + apiConfiguration: "コンテキスト圧縮のためのAPI構成", + apiConfigDescription: + "コンテキスト圧縮操作に使用するAPI構成を選択します。現在アクティブな構成を使用するには、選択しないままにします。", + useCurrentConfig: "現在選択されているAPI構成を使用する", + }, + types: { + ENHANCE: { + label: "プロンプトを強化", + description: + "プロンプト強化を使用して、入力に合わせたカスタマイズされた提案や改善を得ることができます。これにより、Rooがあなたの意図を理解し、最適な回答を提供できます。チャットの✨アイコンから利用できます。", + }, + CONDENSE: { + label: "コンテキスト圧縮", + description: + "トークン制限を管理するために会話のコンテキストを圧縮する方法を設定します。このプロンプトは、手動および自動のコンテキスト圧縮操作の両方に使用されます。", + }, + EXPLAIN: { + label: "コードを説明", + description: + "コードスニペット、関数、またはファイル全体の詳細な説明を得ることができます。複雑なコードを理解したり、新しいパターンを学んだりするのに役立ちます。コードアクション(エディタの電球アイコン)やエディタのコンテキストメニュー(選択したコードで右クリック)から利用できます。", + }, + FIX: { + label: "問題を修正", + description: + "バグ、エラー、コード品質の問題を特定して解決するための支援を受けることができます。問題を修正するためのステップバイステップのガイダンスを提供します。コードアクション(エディタの電球アイコン)やエディタのコンテキストメニュー(選択したコードで右クリック)から利用できます。", + }, + IMPROVE: { + label: "コードを改善", + description: + "機能を維持しながらコードの最適化、より良い実践方法、アーキテクチャの改善に関する提案を受けることができます。コードアクション(エディタの電球アイコン)やエディタのコンテキストメニュー(選択したコードで右クリック)から利用できます。", + }, + ADD_TO_CONTEXT: { + label: "コンテキストに追加", + description: + "現在のタスクや会話にコンテキストを追加します。追加情報や説明を提供するのに役立ちます。コードアクション(エディタの電球アイコン)やエディタのコンテキストメニュー(選択したコードで右クリック)から利用できます。", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "ターミナルの内容をコンテキストに追加", + description: + "ターミナルの出力を現在のタスクや会話に追加します。コマンドの出力やログを提供するのに役立ちます。ターミナルのコンテキストメニュー(選択したターミナルの内容で右クリック)から利用できます。", + }, + TERMINAL_FIX: { + label: "ターミナルコマンドを修正", + description: + "失敗したり改善が必要なターミナルコマンドの修正を支援します。ターミナルのコンテキストメニュー(選択したターミナルの内容で右クリック)から利用できます。", + }, + TERMINAL_EXPLAIN: { + label: "ターミナルコマンドを説明", + description: + "ターミナルコマンドとその出力の詳細な説明を得ることができます。ターミナルのコンテキストメニュー(選択したターミナルの内容で右クリック)から利用できます。", + }, + NEW_TASK: { + label: "新しいタスクを開始", + description: "入力内容で新しいタスクを開始できます。コマンドパレットから利用できます。", + }, + }, + }, + cCe = { + title: "詳細設定:システムプロンプトの上書き", + description: + "<2>⚠️ 警告:</2> この高度な機能は安全対策をバイパスします。<1>使用前にこれを読んでください!</1>ワークスペースの<span>.roo/system-prompt-{{slug}}</span>にファイルを作成することで、デフォルトのシステムプロンプトを上書きします。", + }, + dCe = { + title: "新しいモードを作成", + close: "閉じる", + name: { label: "名前", placeholder: "モード名を入力" }, + slug: { + label: "スラッグ", + description: + "スラッグはURLやファイル名で使用されます。小文字で、文字、数字、ハイフンのみを含める必要があります。", + }, + saveLocation: { + label: "保存場所", + description: + "このモードの保存場所を選択してください。プロジェクト固有のモードはグローバルモードよりも優先されます。", + global: { label: "グローバル", description: "すべてのワークスペースで利用可能" }, + project: { + label: "プロジェクト固有 (.roomodes)", + description: "このワークスペースでのみ使用可能、グローバルよりも優先", + }, + }, + roleDefinition: { label: "役割の定義", description: "このモードのRooの専門知識と個性を定義します。" }, + whenToUse: { + label: "使用タイミング(オプション)", + description: + "このモードが最も効果的なタイミングと、どのようなタイプのタスクに適しているかを明確に説明します。", + }, + tools: { label: "利用可能なツール", description: "このモードが使用できるツールを選択します。" }, + description: { + label: "短い説明(人間向け)", + description: "モードセレクタのドロップダウンに表示される簡単な説明。", + }, + customInstructions: { + label: "カスタム指示(オプション)", + description: "このモードに特化した行動ガイドラインを追加します。", + }, + buttons: { cancel: "キャンセル", create: "モードを作成" }, + deleteMode: "モードを削除", + }, + uCe = "すべてのファイル", + pCe = { + title: "モードを削除", + message: "モード「{{modeName}}」を削除してもよろしいですか?", + rulesFolder: "このモードには{{folderPath}}にルールフォルダがあり、それも削除されます。", + descriptionNoRules: "このカスタムモードを削除してもよろしいですか?", + confirm: "削除", + cancel: "キャンセル", + }, + Ubt = { + title: G_e, + done: Q_e, + modes: Z_e, + apiConfiguration: Y_e, + tools: X_e, + roleDefinition: J_e, + description: eCe, + whenToUse: tCe, + customInstructions: nCe, + exportMode: oCe, + importMode: rCe, + advanced: iCe, + globalCustomInstructions: sCe, + systemPrompt: aCe, + supportPrompts: lCe, + advancedSystemPrompt: cCe, + createModeDialog: dCe, + allFiles: uCe, + deleteMode: pCe, + }, + qbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: iCe, + advancedSystemPrompt: cCe, + allFiles: uCe, + apiConfiguration: Y_e, + createModeDialog: dCe, + customInstructions: nCe, + default: Ubt, + deleteMode: pCe, + description: eCe, + done: Q_e, + exportMode: oCe, + globalCustomInstructions: sCe, + importMode: rCe, + modes: Z_e, + roleDefinition: J_e, + supportPrompts: lCe, + systemPrompt: aCe, + title: G_e, + tools: X_e, + whenToUse: tCe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + mCe = { + save: "保存", + done: "完了", + cancel: "キャンセル", + reset: "リセット", + select: "選択", + add: "ヘッダーを追加", + remove: "削除", + }, + hCe = { + title: "設定", + saveButtonTooltip: "変更を保存", + nothingChangedTooltip: "変更なし", + doneButtonTooltip: "未保存の変更を破棄して設定パネルを閉じる", + }, + fCe = { + title: "未保存の変更", + description: "変更を破棄して続行しますか?", + cancelButton: "キャンセル", + discardButton: "変更を破棄", + }, + gCe = { + providers: "プロバイダー", + autoApprove: "自動承認", + browser: "コンピューターアクセス", + checkpoints: "チェックポイント", + notifications: "通知", + contextManagement: "コンテキスト", + terminal: "ターミナル", + prompts: "プロンプト", + experimental: "実験的", + language: "言語", + about: "Roo Codeについて", + }, + vCe = { + description: + "プロンプトの強化、コードの説明、問題の修正などの迅速なアクションに使用されるサポートプロンプトを設定します。これらのプロンプトは、Rooが一般的な開発タスクでより良いサポートを提供するのに役立ちます。", + }, + bCe = { + title: "コードベースのインデックス作成", + enableLabel: "コードベースのインデックス作成を有効化", + enableDescription: "コードのインデックス作成を有効にして、検索とコンテキストの理解を向上させます", + providerLabel: "埋め込みプロバイダー", + selectProviderPlaceholder: "プロバイダーを選択", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "APIキー:", + geminiApiKeyPlaceholder: "Gemini APIキーを入力してください", + mistralProvider: "Mistral", + mistralApiKeyLabel: "APIキー:", + mistralApiKeyPlaceholder: "Mistral APIキーを入力してください", + openaiCompatibleProvider: "OpenAI互換", + openAiKeyLabel: "OpenAI APIキー", + openAiKeyPlaceholder: "OpenAI APIキーを入力してください", + openAiCompatibleBaseUrlLabel: "ベースURL", + openAiCompatibleApiKeyLabel: "APIキー", + openAiCompatibleApiKeyPlaceholder: "APIキーを入力してください", + openAiCompatibleModelDimensionLabel: "埋め込みディメンション:", + modelDimensionLabel: "モデルディメンション", + openAiCompatibleModelDimensionPlaceholder: "例:1536", + openAiCompatibleModelDimensionDescription: + "モデルの埋め込みディメンション(出力サイズ)。この値についてはプロバイダーのドキュメントを確認してください。一般的な値:384、768、1536、3072。", + modelLabel: "モデル", + selectModelPlaceholder: "モデルを選択", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrantキー:", + startIndexingButton: "開始", + clearIndexDataButton: "インデックスクリア", + unsavedSettingsMessage: "インデックス作成プロセスを開始する前に設定を保存してください。", + clearDataDialog: { + title: "本当によろしいですか?", + description: "この操作は元に戻せません。コードベースのインデックスデータが完全に削除されます。", + cancelButton: "キャンセル", + confirmButton: "データをクリア", + }, + description: + "プロジェクトのセマンティック検索を有効にするためのコードベースインデックス設定を構成します。<0>詳細はこちら</0>", + statusTitle: "ステータス", + settingsTitle: "インデックス設定", + disabledMessage: + "コードベースインデックスは現在無効になっています。グローバル設定で有効にしてインデックスオプションを構成してください。", + embedderProviderLabel: "エンベッダープロバイダー", + modelPlaceholder: "モデル名を入力", + selectModel: "モデルを選択", + ollamaBaseUrlLabel: "Ollama ベースURL", + qdrantApiKeyLabel: "Qdrant APIキー", + qdrantApiKeyPlaceholder: "Qdrant APIキーを入力(オプション)", + setupConfigLabel: "設定", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "設定の保存に失敗しました", + modelDimensions: "({{dimension}} 次元)", + saveSuccess: "設定が正常に保存されました", + saving: "保存中...", + saveSettings: "保存", + indexingStatuses: { + standby: "スタンバイ", + indexing: "インデックス中", + indexed: "インデックス済み", + error: "エラー", + }, + close: "閉じる", + validation: { + invalidQdrantUrl: "無効なQdrant URL", + invalidOllamaUrl: "無効なOllama URL", + invalidBaseUrl: "無効なベースURL", + qdrantUrlRequired: "Qdrant URL が必要です", + openaiApiKeyRequired: "OpenAI APIキーが必要です", + modelSelectionRequired: "モデルの選択が必要です", + apiKeyRequired: "APIキーが必要です", + modelIdRequired: "モデルIDが必要です", + modelDimensionRequired: "モデルの次元が必要です", + geminiApiKeyRequired: "Gemini APIキーが必要です", + mistralApiKeyRequired: "Mistral APIキーが必要です", + ollamaBaseUrlRequired: "OllamaのベースURLが必要です", + baseUrlRequired: "ベースURLが必要です", + modelDimensionMinValue: "モデルの次元は0より大きくなければなりません", + }, + advancedConfigLabel: "詳細設定", + searchMinScoreLabel: "検索スコアのしきい値", + searchMinScoreDescription: + "検索結果に必要な最小類似度スコア(0.0-1.0)。値を低くするとより多くの結果が返されますが、関連性が低くなる可能性があります。値を高くすると返される結果は少なくなりますが、より関連性が高くなります。", + searchMinScoreResetTooltip: "デフォルト値(0.4)にリセット", + searchMaxResultsLabel: "最大検索結果数", + searchMaxResultsDescription: + "コードベースインデックスをクエリする際に返される検索結果の最大数。値を高くするとより多くのコンテキストが提供されますが、関連性の低い結果が含まれる可能性があります。", + resetToDefault: "デフォルトにリセット", + }, + yCe = { + description: + "Rooが承認なしで自動的に操作を実行できるようにします。AIを完全に信頼し、関連するセキュリティリスクを理解している場合にのみ、これらの設定を有効にしてください。", + enabled: "自動承認が有効", + toggleAriaLabel: "自動承認の切り替え", + disabledAriaLabel: "自動承認が無効です - 最初にオプションを選択してください", + readOnly: { + label: "読み取り", + description: + "有効にすると、Rooは承認ボタンをクリックすることなく、自動的にディレクトリの内容を表示してファイルを読み取ります。", + outsideWorkspace: { + label: "ワークスペース外のファイルを含める", + description: "Rooが承認なしで現在のワークスペース外のファイルを読み取ることを許可します。", + }, + }, + write: { + label: "書き込み", + description: "承認なしで自動的にファイルを作成・編集", + delayLabel: "診断が潜在的な問題を検出できるよう、書き込み後に遅延を設ける", + outsideWorkspace: { + label: "ワークスペース外のファイルを含める", + description: "Rooが承認なしで現在のワークスペース外のファイルを作成・編集することを許可します。", + }, + protected: { + label: "保護されたファイルを含める", + description: + "Rooが保護されたファイル(.rooignoreや.roo/設定ファイルなど)を承認なしで作成・編集することを許可します。", + }, + }, + browser: { + label: "ブラウザ", + description: + "承認なしで自動的にブラウザアクションを実行 — 注意:コンピューター使用をサポートするモデルを使用している場合のみ適用されます", + }, + retry: { + label: "再試行", + description: "サーバーがエラーレスポンスを返した場合、自動的に失敗したAPIリクエストを再試行", + delayLabel: "リクエスト再試行前の遅延", + }, + mcp: { + label: "MCP", + description: + "MCPサーバービューで個々のMCPツールの自動承認を有効にします(この設定とツールの「常に許可」チェックボックスの両方が必要)", + }, + modeSwitch: { label: "モード", description: "承認なしで自動的に異なるモード間を切り替え" }, + subtasks: { label: "サブタスク", description: "承認なしでサブタスクの作成と完了を許可" }, + followupQuestions: { + label: "質問", + description: "設定された時間が経過すると、フォローアップ質問の最初の提案回答を自動的に選択します", + timeoutLabel: "最初の回答を自動選択するまでの待機時間", + }, + execute: { + label: "実行", + description: "承認なしで自動的に許可されたターミナルコマンドを実行", + allowedCommands: "許可された自動実行コマンド", + allowedCommandsDescription: + "「実行操作を常に承認」が有効な場合に自動実行できるコマンドプレフィックス。すべてのコマンドを許可するには * を追加します(注意して使用してください)。", + deniedCommands: "拒否されたコマンド", + deniedCommandsDescription: + "承認を求めることなく自動的に拒否されるコマンドプレフィックス。許可されたコマンドとの競合がある場合、最長プレフィックスマッチが優先されます。すべてのコマンドを拒否するには * を追加します。", + commandPlaceholder: "コマンドプレフィックスを入力(例:'git ')", + deniedCommandPlaceholder: "拒否するコマンドプレフィックスを入力(例:'rm -rf')", + addButton: "追加", + autoDenied: + "プレフィックス `{{prefix}}` を持つコマンドはユーザーによって禁止されています。別のコマンドを実行してこの制限を回避しないでください。", + }, + updateTodoList: { label: "Todo", description: "承認なしで自動的にToDoリストを更新" }, + apiRequestLimit: { + title: "最大リクエスト数", + description: "タスクを続行するための承認を求める前に、自動的にこの数のAPIリクエストを行います。", + unlimited: "無制限", + }, + selectOptionsFirst: "自動承認を有効にするには、以下のオプションを少なくとも1つ選択してください", + apiCostLimit: { unlimited: "無制限", title: "最大料金" }, + maxLimits: { description: "これらの上限まで自動的にリクエストを行い、その後継続の承認を求めます。" }, + }, + kCe = { + providerDocumentation: "{{provider}}のドキュメント", + configProfile: "設定プロファイル", + description: "異なるAPI設定を保存して、プロバイダーと設定をすばやく切り替えることができます。", + apiProvider: "APIプロバイダー", + model: "モデル", + nameEmpty: "名前を空にすることはできません", + nameExists: "この名前のプロファイルは既に存在します", + deleteProfile: "プロファイルを削除", + invalidArnFormat: "無効なARN形式です。上記の例を確認してください。", + enterNewName: "新しい名前を入力してください", + addProfile: "プロファイルを追加", + renameProfile: "プロファイル名を変更", + newProfile: "新しい構成プロファイル", + enterProfileName: "プロファイル名を入力", + createProfile: "プロファイルを作成", + cannotDeleteOnlyProfile: "唯一のプロファイルは削除できません", + searchPlaceholder: "プロファイルを検索", + searchProviderPlaceholder: "プロバイダーを検索", + noProviderMatchFound: "プロバイダーが見つかりません", + noMatchFound: "一致するプロファイルが見つかりません", + vscodeLmDescription: + "VS Code言語モデルAPIを使用すると、他のVS Code拡張機能(GitHub Copilotなど)が提供するモデルを実行できます。最も簡単な方法は、VS Code MarketplaceからCopilotおよびCopilot Chat拡張機能をインストールすることです。", + awsCustomArnUse: "使用したいモデルの有効なAmazon Bedrock ARNを入力してください。形式の例:", + awsCustomArnDesc: "ARN内のリージョンが上で選択したAWSリージョンと一致していることを確認してください。", + openRouterApiKey: "OpenRouter APIキー", + getOpenRouterApiKey: "OpenRouter APIキーを取得", + apiKeyStorageNotice: "APIキーはVSCodeのシークレットストレージに安全に保存されます", + glamaApiKey: "Glama APIキー", + getGlamaApiKey: "Glama APIキーを取得", + useCustomBaseUrl: "カスタムベースURLを使用", + useReasoning: "推論を有効化", + useHostHeader: "カスタムHostヘッダーを使用", + useLegacyFormat: "レガシーOpenAI API形式を使用", + customHeaders: "カスタムヘッダー", + headerName: "ヘッダー名", + headerValue: "ヘッダー値", + noCustomHeaders: "カスタムヘッダーが定義されていません。+ ボタンをクリックして追加してください。", + requestyApiKey: "Requesty APIキー", + refreshModels: { + label: "モデルを更新", + hint: "最新のモデルを表示するには設定を再度開いてください。", + loading: "モデルリストを更新中...", + success: "モデルリストが正常に更新されました!", + error: "モデルリストの更新に失敗しました。もう一度お試しください。", + }, + getRequestyApiKey: "Requesty APIキーを取得", + openRouterTransformsText: + "プロンプトとメッセージチェーンをコンテキストサイズに圧縮 (<a>OpenRouter Transforms</a>)", + anthropicApiKey: "Anthropic APIキー", + getAnthropicApiKey: "Anthropic APIキーを取得", + anthropicUseAuthToken: "Anthropic APIキーをX-Api-Keyの代わりにAuthorizationヘッダーとして渡す", + cerebrasApiKey: "Cerebras APIキー", + getCerebrasApiKey: "Cerebras APIキーを取得", + chutesApiKey: "Chutes APIキー", + getChutesApiKey: "Chutes APIキーを取得", + fireworksApiKey: "Fireworks APIキー", + getFireworksApiKey: "Fireworks APIキーを取得", + deepSeekApiKey: "DeepSeek APIキー", + getDeepSeekApiKey: "DeepSeek APIキーを取得", + doubaoApiKey: "Doubao APIキー", + getDoubaoApiKey: "Doubao APIキーを取得", + moonshotApiKey: "Moonshot APIキー", + getMoonshotApiKey: "Moonshot APIキーを取得", + moonshotBaseUrl: "Moonshot エントリーポイント", + zaiApiKey: "Z AI APIキー", + getZaiApiKey: "Z AI APIキーを取得", + zaiEntrypoint: "Z AI エントリーポイント", + zaiEntrypointDescription: + "お住まいの地域に応じて適切な API エントリーポイントを選択してください。中国にお住まいの場合は open.bigmodel.cn を選択してください。それ以外の場合は api.z.ai を選択してください。", + geminiApiKey: "Gemini APIキー", + getGroqApiKey: "Groq APIキーを取得", + groqApiKey: "Groq APIキー", + getSambaNovaApiKey: "SambaNova APIキーを取得", + sambaNovaApiKey: "SambaNova APIキー", + getHuggingFaceApiKey: "Hugging Face APIキーを取得", + huggingFaceApiKey: "Hugging Face APIキー", + huggingFaceModelId: "モデルID", + huggingFaceLoading: "読み込み中...", + huggingFaceModelsCount: "({{count}}個のモデル)", + huggingFaceSelectModel: "モデルを選択...", + huggingFaceSearchModels: "モデルを検索...", + huggingFaceNoModelsFound: "モデルが見つかりません", + huggingFaceProvider: "プロバイダー", + huggingFaceProviderAuto: "自動", + huggingFaceSelectProvider: "プロバイダーを選択...", + huggingFaceSearchProviders: "プロバイダーを検索...", + huggingFaceNoProvidersFound: "プロバイダーが見つかりません", + getGeminiApiKey: "Gemini APIキーを取得", + openAiApiKey: "OpenAI APIキー", + apiKey: "APIキー", + openAiBaseUrl: "ベースURL", + getOpenAiApiKey: "OpenAI APIキーを取得", + mistralApiKey: "Mistral APIキー", + getMistralApiKey: "Mistral / Codestral APIキーを取得", + codestralBaseUrl: "Codestral ベースURL(オプション)", + codestralBaseUrlDesc: "Codestralモデルの代替URLを設定します。", + xaiApiKey: "xAI APIキー", + getXaiApiKey: "xAI APIキーを取得", + litellmApiKey: "LiteLLM APIキー", + litellmBaseUrl: "LiteLLM ベースURL", + awsCredentials: "AWS認証情報", + awsProfile: "AWSプロファイル", + awsApiKey: "Amazon Bedrock APIキー", + awsProfileName: "AWSプロファイル名", + awsAccessKey: "AWSアクセスキー", + awsSecretKey: "AWSシークレットキー", + awsSessionToken: "AWSセッショントークン", + awsRegion: "AWSリージョン", + awsCrossRegion: "クロスリージョン推論を使用", + awsBedrockVpc: { + useCustomVpcEndpoint: "カスタムVPCエンドポイントを使用", + vpcEndpointUrlPlaceholder: "VPCエンドポイントURLを入力(任意)", + examples: "例:", + }, + enablePromptCaching: "プロンプトキャッシュを有効化", + enablePromptCachingTitle: + "サポートされているモデルのパフォーマンスを向上させ、コストを削減するためにプロンプトキャッシュを有効化します。", + cacheUsageNote: + "注意:キャッシュの使用が表示されない場合は、別のモデルを選択してから希望のモデルを再度選択してみてください。", + vscodeLmModel: "言語モデル", + vscodeLmWarning: + "注意:これは非常に実験的な統合であり、プロバイダーのサポートは異なります。モデルがサポートされていないというエラーが表示された場合、それはプロバイダー側の問題です。", + geminiParameters: { + urlContext: { + title: "URLコンテキストを有効にする", + description: + "応答を生成する際に、追加のコンテキストとしてGeminiがURLにアクセスして処理できるようにします。Webコンテンツの分析を必要とするタスクに役立ちます。", + }, + groundingSearch: { + title: "Google検索でのグラウンディングを有効にする", + description: + "GeminiがGoogleを検索して最新情報を取得し、リアルタイムデータに基づいて応答をグラウンディングできるようにします。最新情報が必要なクエリに便利です。", + }, + }, + googleCloudSetup: { + title: "Google Cloud Vertex AIを使用するには:", + step1: "1. Google Cloudアカウントを作成し、Vertex AI APIを有効にして、希望するClaudeモデルを有効にします。", + step2: "2. Google Cloud CLIをインストールし、アプリケーションのデフォルト認証情報を設定します。", + step3: "3. または、認証情報付きのサービスアカウントを作成します。", + }, + googleCloudCredentials: "Google Cloud認証情報", + googleCloudKeyFile: "Google Cloudキーファイルパス", + googleCloudProjectId: "Google Cloudプロジェクトid", + googleCloudRegion: "Google Cloudリージョン", + lmStudio: { + baseUrl: "ベースURL(オプション)", + modelId: "モデルID", + speculativeDecoding: "推論デコーディングを有効化", + draftModelId: "ドラフトモデルID", + draftModelDesc: + "推論デコーディングが正しく機能するには、ドラフトモデルは同じモデルファミリーから選択する必要があります。", + selectDraftModel: "ドラフトモデルを選択", + noModelsFound: + "ドラフトモデルが見つかりません。LM Studioがサーバーモードで実行されていることを確認してください。", + description: + "LM Studioを使用すると、ローカルコンピューターでモデルを実行できます。始め方については、<a>クイックスタートガイド</a>をご覧ください。また、この拡張機能で使用するには、LM Studioの<b>ローカルサーバー</b>機能を起動する必要があります。<span>注意:</span>Roo Codeは複雑なプロンプトを使用し、Claudeモデルで最適に動作します。能力の低いモデルは期待通りに動作しない場合があります。", + }, + ollama: { + baseUrl: "ベースURL(オプション)", + modelId: "モデルID", + description: + "Ollamaを使用すると、ローカルコンピューターでモデルを実行できます。始め方については、クイックスタートガイドをご覧ください。", + warning: + "注意:Roo Codeは複雑なプロンプトを使用し、Claudeモデルで最適に動作します。能力の低いモデルは期待通りに動作しない場合があります。", + }, + unboundApiKey: "Unbound APIキー", + getUnboundApiKey: "Unbound APIキーを取得", + unboundRefreshModelsSuccess: "モデルリストが更新されました!最新のモデルから選択できます。", + unboundInvalidApiKey: "無効なAPIキーです。APIキーを確認して、もう一度お試しください。", + humanRelay: { + description: "APIキーは不要ですが、ユーザーはウェブチャットAIに情報をコピー&ペーストする必要があります。", + instructions: + "使用中にダイアログボックスが表示され、現在のメッセージが自動的にクリップボードにコピーされます。これらをウェブ版のAI(ChatGPTやClaudeなど)に貼り付け、AIの返答をダイアログボックスにコピーして確認ボタンをクリックする必要があります。", + }, + openRouter: { + providerRouting: { + title: "OpenRouterプロバイダールーティング", + description: + "OpenRouterはあなたのモデルに最適な利用可能なプロバイダーにリクエストを転送します。デフォルトでは、稼働時間を最大化するために、リクエストはトッププロバイダー間でロードバランスされます。ただし、このモデルに使用する特定のプロバイダーを選択することもできます。", + learnMore: "プロバイダールーティングについて詳しく知る", + }, + }, + customModel: { + capabilities: + "カスタムOpenAI互換モデルの機能と価格を設定します。モデルの機能はRoo Codeのパフォーマンスに影響を与える可能性があるため、慎重に指定してください。", + maxTokens: { + label: "最大出力トークン", + description: + "モデルが生成できる応答の最大トークン数。(サーバーが最大トークンを設定できるようにするには-1を指定します。)", + }, + contextWindow: { + label: "コンテキストウィンドウサイズ", + description: "モデルが処理できる総トークン数(入力+出力)。", + }, + imageSupport: { label: "画像サポート", description: "このモデルは画像の処理と理解が可能ですか?" }, + computerUse: { + label: "コンピューター使用", + description: "このモデルはブラウザとの対話が可能ですか?(例:Claude 3.7 Sonnet)", + }, + promptCache: { + label: "プロンプトキャッシュ", + description: "このモデルはプロンプトのキャッシュが可能ですか?", + }, + pricing: { + input: { + label: "入力価格", + description: + "入力/プロンプトの100万トークンあたりのコスト。これはモデルにコンテキストと指示を送信するコストに影響します。", + }, + output: { + label: "出力価格", + description: + "モデルの応答の100万トークンあたりのコスト。これは生成されたコンテンツと補完のコストに影響します。", + }, + cacheReads: { + label: "キャッシュ読み取り価格", + description: + "キャッシュからの読み取りの100万トークンあたりのコスト。これはキャッシュされた応答を取得する際に課金される価格です。", + }, + cacheWrites: { + label: "キャッシュ書き込み価格", + description: + "キャッシュへの書き込みの100万トークンあたりのコスト。これはプロンプトが初めてキャッシュされる際に課金される価格です。", + }, + }, + resetDefaults: "デフォルトにリセット", + }, + rateLimitSeconds: { label: "レート制限", description: "APIリクエスト間の最小時間。" }, + consecutiveMistakeLimit: { + label: "エラーと繰り返しの制限", + description: "「Rooが問題を抱えています」ダイアログを表示するまでの連続エラーまたは繰り返しアクションの数", + unlimitedDescription: "無制限のリトライが有効です(自動進行)。ダイアログは表示されません。", + warning: "⚠️ 0に設定すると無制限のリトライが可能になり、API使用量が大幅に増加する可能性があります", + }, + reasoningEffort: { label: "モデル推論の労力", high: "高", medium: "中", low: "低" }, + setReasoningLevel: "推論労力を有効にする", + claudeCode: { + pathLabel: "クロードコードパス", + description: "Claude Code CLIへのオプションパス。設定されていない場合、デフォルトは「claude」です。", + placeholder: "デフォルト:claude", + maxTokensLabel: "最大出力トークン", + maxTokensDescription: "Claude Codeレスポンスの最大出力トークン数。デフォルトは8000です。", + }, + }, + xCe = { + enable: { + label: "ブラウザツールを有効化", + description: + "有効にすると、コンピューター使用をサポートするモデルを使用する際に、Rooはウェブサイトとのやり取りにブラウザを使用できます。 <0>詳細情報</0>", + }, + viewport: { + label: "ビューポートサイズ", + description: + "ブラウザインタラクションのビューポートサイズを選択します。これはウェブサイトの表示方法とインタラクション方法に影響します。", + options: { + largeDesktop: "大型デスクトップ (1280x800)", + smallDesktop: "小型デスクトップ (900x600)", + tablet: "タブレット (768x1024)", + mobile: "モバイル (360x640)", + }, + }, + screenshotQuality: { + label: "スクリーンショット品質", + description: + "ブラウザスクリーンショットのWebP品質を調整します。高い値はより鮮明なスクリーンショットを提供しますが、token使用量が増加します。", + }, + remote: { + label: "リモートブラウザ接続を使用", + description: + "リモートデバッグを有効にして実行しているChromeブラウザに接続します(--remote-debugging-port=9222)。", + urlPlaceholder: "カスタムURL(例:http://localhost:9222)", + testButton: "接続テスト", + testingButton: "テスト中...", + instructions: + "DevToolsプロトコルホストアドレスを入力するか、Chromeのローカルインスタンスを自動検出するために空のままにします。接続テストボタンは、提供されている場合はカスタムURLを試み、フィールドが空の場合は自動検出します。", + }, + }, + wCe = { + enable: { + label: "自動チェックポイントを有効化", + description: + "有効にすると、Rooはタスク実行中に自動的にチェックポイントを作成し、変更の確認や以前の状態への復帰を容易にします。 <0>詳細情報</0>", + }, + }, + _Ce = { + sound: { + label: "サウンドエフェクトを有効化", + description: "有効にすると、Rooは通知やイベントのためにサウンドエフェクトを再生します。", + volumeLabel: "音量", + }, + tts: { + label: "音声合成を有効化", + description: "有効にすると、Rooは音声合成を使用して応答を音声で読み上げます。", + speedLabel: "速度", + }, + }, + CCe = { + description: "AIのコンテキストウィンドウに含まれる情報を制御し、token使用量とレスポンスの品質に影響します", + autoCondenseContextPercent: { + label: "インテリジェントなコンテキスト圧縮をトリガーするしきい値", + description: "コンテキストウィンドウがこのしきい値に達すると、Rooは自動的に圧縮します。", + }, + condensingApiConfiguration: { + label: "コンテキスト圧縮用のAPI設定", + description: + "コンテキスト圧縮操作に使用するAPI設定を選択します。選択しない場合は現在のアクティブな設定が使用されます。", + useCurrentConfig: "現在の設定を使用", + }, + customCondensingPrompt: { + label: "カスタムコンテキスト圧縮プロンプト", + description: + "コンテキスト圧縮に使用するシステムプロンプトをカスタマイズします。空のままにするとデフォルトのプロンプトが使用されます。", + placeholder: `ここにカスタム圧縮プロンプトを入力してください... + +デフォルトプロンプトと同じ構造を使用できます: +- 過去の会話 +- 現在の作業 +- 重要な技術的概念 +- 関連するファイルとコード +- 問題解決 +- 保留中のタスクと次のステップ`, + reset: "デフォルトにリセット", + hint: "空 = デフォルトプロンプトを使用", + }, + autoCondenseContext: { + name: "インテリジェントなコンテキスト圧縮を自動的にトリガーする", + description: + "有効にすると、Rooは閾値に達したときに自動的にコンテキストを圧縮します。無効にすると、手動でコンテキスト圧縮をトリガーできます。", + }, + openTabs: { + label: "オープンタブコンテキスト制限", + description: + "コンテキストに含めるVSCodeオープンタブの最大数。高い値はより多くのコンテキストを提供しますが、token使用量が増加します。", + }, + workspaceFiles: { + label: "ワークスペースファイルコンテキスト制限", + description: + "現在の作業ディレクトリの詳細に含めるファイルの最大数。高い値はより多くのコンテキストを提供しますが、token使用量が増加します。", + }, + rooignore: { + label: "リストと検索で.rooignoreファイルを表示", + description: + "有効にすると、.rooignoreのパターンに一致するファイルがロックシンボル付きでリストに表示されます。無効にすると、これらのファイルはファイルリストや検索から完全に非表示になります。", + }, + maxReadFile: { + label: "ファイル読み込み自動切り詰めしきい値", + description: + "モデルが開始/終了の値を指定しない場合、Rooはこの行数を読み込みます。この数がファイルの総行数より少ない場合、Rooはコード定義の行番号インデックスを生成します。特殊なケース:-1はRooにファイル全体を読み込むよう指示し(インデックス作成なし)、0は行を読み込まず最小限のコンテキストのために行インデックスのみを提供するよう指示します。低い値は初期コンテキスト使用量を最小限に抑え、後続の正確な行範囲の読み込みを可能にします。明示的な開始/終了の要求はこの設定による制限を受けません。", + lines: "行", + always_full_read: "常にファイル全体を読み込む", + }, + maxConcurrentFileReads: { + label: "同時ファイル読み取り制限", + description: + "read_file ツールが同時に処理できるファイルの最大数。値を高くすると複数の小さなファイルの読み取りが速くなる可能性がありますが、メモリ使用量が増加します。", + }, + diagnostics: { + includeMessages: { + label: "診断を自動的にコンテキストに含める", + description: + "有効にすると、編集されたファイルからの診断メッセージ(エラー)が自動的にコンテキストに含まれます。@problemsを使用して、いつでも手動ですべてのワークスペース診断を含めることができます。", + }, + maxMessages: { + label: "最大診断メッセージ数", + description: + "ファイルごとに含める診断メッセージの最大数。この制限は、自動インクルード(チェックボックスが有効な場合)と手動の@problemsメンションの両方に適用されます。値を高くするとより多くのコンテキストが提供されますが、トークンの使用量が増加します。", + resetTooltip: "デフォルト値(50)にリセット", + unlimited: "無制限の診断メッセージ", + unlimitedLabel: "無制限", + }, + delayAfterWrite: { + label: "書き込み後に診断が潜在的な問題を検出できるように遅延させる", + description: + "ファイルの書き込み後に処理を続行するまでの待機時間。これにより、診断ツールが変更を処理して問題を検出できます。", + }, + }, + condensingThreshold: { + label: "圧縮トリガーしきい値", + selectProfile: "プロファイルのしきい値を設定", + defaultProfile: "グローバルデフォルト(全プロファイル)", + defaultDescription: + "コンテキストがこの割合に達すると、カスタム設定がない限り、すべてのプロファイルで自動的に圧縮されます", + profileDescription: "このプロファイルのみのカスタムしきい値(グローバルデフォルトを上書き)", + inheritDescription: "このプロファイルはグローバルデフォルトしきい値を継承します({{threshold}}%)", + usesGlobal: "(グローバル {{threshold}}% を使用)", + }, + maxImageFileSize: { + label: "最大画像ファイルサイズ", + mb: "MB", + description: "read fileツールで処理できる画像ファイルの最大サイズ(MB単位)。", + }, + maxTotalImageSize: { + label: "最大合計画像サイズ", + mb: "MB", + description: + "単一のread_file操作で処理されるすべての画像の累積サイズ制限(MB単位)。複数の画像を読み取る際、各画像のサイズが合計に加算されます。別の画像を含めるとこの制限を超える場合、その画像はスキップされます。", + }, + }, + SCe = { + basic: { label: "ターミナル設定:基本", description: "基本的なターミナル設定" }, + advanced: { + label: "ターミナル設定:詳細", + description: "以下のオプションは設定を適用するためにターミナルの再起動が必要な場合があります", + }, + outputLineLimit: { + label: "ターミナル出力制限", + description: + "コマンド実行時にターミナル出力に含める最大行数。超過すると中央から行が削除され、tokenを節約します。 <0>詳細情報</0>", + }, + outputCharacterLimit: { + label: "ターミナルの文字数制限", + description: + "コマンド実行時にターミナル出力に含める最大文字数。この制限は、非常に長い行によるメモリ問題を回避するため、行数制限よりも優先されます。超過した場合、出力は切り捨てられます。<0>詳細</0>", + }, + shellIntegrationTimeout: { + label: "ターミナルシェル統合タイムアウト", + description: + "コマンドを実行する前にシェル統合の初期化を待つ最大時間。シェルの起動時間が長いユーザーの場合、ターミナルで「Shell Integration Unavailable」エラーが表示される場合は、この値を増やす必要があるかもしれません。 <0>詳細情報</0>", + }, + shellIntegrationDisabled: { + label: "ターミナルシェル統合を無効にする", + description: + "ターミナルコマンドが正しく機能しない場合や、「シェル統合が利用できません」というエラーが表示される場合は、これを有効にします。これにより、一部の高度なターミナル機能をバイパスして、コマンドを実行するより簡単な方法が使用されます。 <0>詳細情報</0>", + }, + commandDelay: { + label: "ターミナルコマンド遅延", + description: + "コマンド実行後に追加する遅延時間(ミリ秒)。デフォルト設定の0は遅延を完全に無効にします。これはタイミングの問題があるターミナルでコマンド出力を完全にキャプチャするのに役立ちます。ほとんどのターミナルでは`PROMPT_COMMAND='sleep N'`を設定することで実装され、PowerShellは各コマンドの最後に`start-sleep`を追加します。元々はVSCodeバグ#237208の回避策で、必要ない場合があります。 <0>詳細情報</0>", + }, + compressProgressBar: { + label: "プログレスバー出力を圧縮", + description: + "有効にすると、キャリッジリターン(\\r)を含むターミナル出力を処理して、実際のターミナルがコンテンツを表示する方法をシミュレートします。これによりプログレスバーの中間状態が削除され、最終状態のみが保持されるため、より関連性の高い情報のためのコンテキスト空間が節約されます。 <0>詳細情報</0>", + }, + powershellCounter: { + label: "PowerShellカウンター回避策を有効化", + description: + "有効にすると、PowerShellコマンドにカウンターを追加して、コマンドの正しい実行を確保します。これは出力のキャプチャに問題がある可能性のあるPowerShellターミナルで役立ちます。 <0>詳細情報</0>", + }, + zshClearEolMark: { + label: "ZSH行末マークをクリア", + description: + "有効にすると、PROMPT_EOL_MARK=''を設定してZSHの行末マークをクリアします。これにより、'%'などの特殊文字で終わるコマンド出力の解釈に関する問題を防ぎます。 <0>詳細情報</0>", + }, + zshOhMy: { + label: "Oh My Zsh 統合を有効化", + description: + "有効にすると、ITERM_SHELL_INTEGRATION_INSTALLED=Yes を設定して Oh My Zsh シェル統合機能を有効にします。この設定を適用するには、IDEの再起動が必要な場合があります。 <0>詳細情報</0>", + }, + zshP10k: { + label: "Powerlevel10k 統合を有効化", + description: + "有効にすると、POWERLEVEL9K_TERM_SHELL_INTEGRATION=true を設定して Powerlevel10k シェル統合機能を有効にします。 <0>詳細情報</0>", + }, + zdotdir: { + label: "ZDOTDIR 処理を有効化", + description: + "有効にすると、zsh シェル統合を適切に処理するために ZDOTDIR 用の一時ディレクトリを作成します。これにより、zsh の設定を保持しながら VSCode のシェル統合が正しく機能します。 <0>詳細情報</0>", + }, + inheritEnv: { + label: "環境変数を継承", + description: + "有効にすると、ターミナルは VSCode の親プロセスから環境変数を継承します。ユーザープロファイルで定義されたシェル統合設定などが含まれます。これは VSCode のグローバル設定 `terminal.integrated.inheritEnv` を直接切り替えます。 <0>詳細情報</0>", + }, + }, + ACe = { title: "詳細設定" }, + PCe = { + diff: { + label: "diff経由の編集を有効化", + description: + "有効にすると、Rooはファイルをより迅速に編集でき、切り詰められた全ファイル書き込みを自動的に拒否します。最新のClaude 3.7 Sonnetモデルで最良に機能します。", + strategy: { + label: "Diff戦略", + options: { + standard: "標準(単一ブロック)", + multiBlock: "実験的:マルチブロックdiff", + unified: "実験的:統合diff", + }, + descriptions: { + standard: "標準diff戦略は一度に1つのコードブロックに変更を適用します。", + unified: "統合diff戦略はdiffを適用するための複数のアプローチを取り、最良のアプローチを選択します。", + multiBlock: + "マルチブロックdiff戦略は、1つのリクエストでファイル内の複数のコードブロックを更新できます。", + }, + }, + matchPrecision: { + label: "マッチ精度", + description: + "このスライダーは、diffを適用する際にコードセクションがどれだけ正確に一致する必要があるかを制御します。低い値はより柔軟なマッチングを可能にしますが、誤った置換のリスクが高まります。100%未満の値は細心の注意を払って使用してください。", + }, + }, + todoList: { + label: "ToDoリストツールを有効にする", + description: + "有効にすると、Rooはタスクの進捗を追跡するためのToDoリストを作成・管理できます。これにより、複雑なタスクを管理しやすいステップに整理できます。", + }, + }, + RCe = { + DIFF_STRATEGY_UNIFIED: { + name: "実験的な統合diff戦略を使用する", + description: + "実験的な統合diff戦略を有効にします。この戦略はモデルエラーによる再試行の回数を減らす可能性がありますが、予期しない動作や不正確な編集を引き起こす可能性があります。リスクを理解し、すべての変更を注意深く確認する準備がある場合にのみ有効にしてください。", + }, + SEARCH_AND_REPLACE: { + name: "実験的な検索と置換ツールを使用する", + description: + "実験的な検索と置換ツールを有効にし、Rooが1つのリクエストで検索語の複数のインスタンスを置き換えることを可能にします。", + }, + INSERT_BLOCK: { + name: "実験的なコンテンツ挿入ツールを使用する", + description: + "実験的なコンテンツ挿入ツールを有効にし、Rooがdiffを作成せずに特定の行番号にコンテンツを挿入できるようにします。", + }, + POWER_STEERING: { + name: "実験的な「パワーステアリング」モードを使用する", + description: + "有効にすると、Rooはより頻繁にモデルに現在のモード定義の詳細を思い出させます。これにより、役割定義とカスタム指示へのより強い遵守が実現しますが、メッセージごとにより多くのtokenを使用します。", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "実験的なマルチブロックdiffツールを使用する", + description: + "有効にすると、Rooはマルチブロックdiffツールを使用します。これにより、1つのリクエストでファイル内の複数のコードブロックを更新しようとします。", + }, + CONCURRENT_FILE_READS: { + name: "並行ファイル読み取りを有効にする", + description: + "有効にすると、Rooは1回のリクエストで複数のファイル を読み取ることができます。無効にすると、Rooはファイルを1つずつ読み取る必要があります。能力の低いモデルで作業する場合や、ファイルアクセスをより細かく制御したい場合は、無効にすると役立ちます。", + }, + MARKETPLACE: { + name: "Marketplaceを有効にする", + description: "有効にすると、MarketplaceからMCPとカスタムモードをインストールできます。", + }, + MULTI_FILE_APPLY_DIFF: { + name: "同時ファイル編集を有効にする", + description: + "有効にすると、Rooは単一のリクエストで複数のファイルを編集できます。無効にすると、Rooはファイルを一つずつ編集する必要があります。これを無効にすることで、能力の低いモデルで作業する場合や、ファイル変更をより細かく制御したい場合に役立ちます。", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "バックグラウンド編集", + description: + "有効にすると、エディターのフォーカス中断を防ぎます。ファイル編集は差分ビューを開いたりフォーカスを奪ったりすることなく、バックグラウンドで行われます。Rooが変更を行っている間も中断されることなく作業を続けることができます。ファイルは診断をキャプチャするためにフォーカスなしで開くか、完全に閉じたままにできます。", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "新しいメッセージパーサーを使う", + description: + "実験的なストリーミングメッセージパーサーを有効にします。長い回答をより効率的に処理し、遅延を減らします。", + }, + }, + TCe = { + label: "プロンプトキャッシュを無効化", + description: "チェックすると、Rooはこのモデルに対してプロンプトキャッシュを使用しません。", + }, + ICe = { + useCustom: "カスタム温度を使用", + description: "モデルの応答のランダム性を制御します。", + rangeDescription: "高い値は出力をよりランダムに、低い値はより決定論的にします。", + }, + MCe = { + supportsImages: "画像をサポート", + noImages: "画像をサポートしていません", + supportsComputerUse: "コンピュータ使用をサポート", + noComputerUse: "コンピュータ使用をサポートしていません", + supportsPromptCache: "プロンプトキャッシュをサポート", + noPromptCache: "プロンプトキャッシュをサポートしていません", + maxOutput: "最大出力", + inputPrice: "入力価格", + outputPrice: "出力価格", + cacheReadsPrice: "キャッシュ読み取り価格", + cacheWritesPrice: "キャッシュ書き込み価格", + enableStreaming: "ストリーミングを有効化", + enableR1Format: "R1モデルパラメータを有効にする", + enableR1FormatTips: "QWQなどのR1モデルを使用する際には、有効にする必要があります。400エラーを防ぐために", + useAzure: "Azureを使用", + azureApiVersion: "Azure APIバージョンを設定", + gemini: { + freeRequests: + "* 1分間あたり{{count}}リクエストまで無料。それ以降は、プロンプトサイズに応じて課金されます。", + pricingDetails: "詳細は価格情報をご覧ください。", + billingEstimate: "* 課金は見積もりです - 正確な費用はプロンプトのサイズによって異なります。", + }, + }, + jCe = { + automaticFetch: + "拡張機能は<serviceLink>{{serviceName}}</serviceLink>で利用可能な最新のモデルリストを自動的に取得します。どのモデルを選ぶべきか迷っている場合、Roo Codeは<defaultModelLink>{{defaultModelId}}</defaultModelLink>で最適に動作します。また、「free」で検索すると、現在利用可能な無料オプションを見つけることができます。", + label: "モデル", + searchPlaceholder: "検索", + noMatchFound: "一致するものが見つかりません", + useCustomModel: "カスタムを使用: {{modelId}}", + }, + ECe = { + feedback: + "質問やフィードバックがある場合は、<githubLink>github.com/RooCodeInc/Roo-Code</githubLink>で問題を開くか、<redditLink>reddit.com/r/RooCode</redditLink>や<discordLink>discord.gg/roocode</discordLink>に参加してください", + telemetry: { + label: "匿名のエラーと使用状況レポートを許可", + description: + "匿名の使用データとエラーレポートを送信してRoo Codeの改善にご協力ください。コード、プロンプト、個人情報が送信されることはありません。詳細については、プライバシーポリシーをご覧ください。", + }, + settings: { import: "インポート", export: "エクスポート", reset: "リセット" }, + }, + zCe = { maxTokens: "最大 tokens", maxThinkingTokens: "最大思考 tokens" }, + $Ce = { + apiKey: "有効なAPIキーを入力してください。", + awsRegion: "Amazon Bedrockを使用するにはリージョンを選択してください。", + googleCloud: "有効なGoogle CloudプロジェクトIDとリージョンを入力してください。", + modelId: "有効なモデルIDを入力してください。", + modelSelector: "有効なモデルセレクターを入力してください。", + openAi: "有効なベースURL、APIキー、モデルIDを入力してください。", + arn: { + invalidFormat: "ARNの形式が無効です。フォーマット要件を確認してください。", + regionMismatch: + "警告:ARN内のリージョン({{arnRegion}})が選択したリージョン({{region}})と一致しません。これによりアクセスの問題が発生する可能性があります。プロバイダーはARNのリージョンを使用します。", + }, + modelAvailability: "指定されたモデルID({{modelId}})は利用できません。別のモデルを選択してください。", + providerNotAllowed: "プロバイダー「{{provider}}」は組織によって許可されていません", + modelNotAllowed: "モデル「{{model}}」はプロバイダー「{{provider}}」に対して組織によって許可されていません", + profileInvalid: "このプロファイルには、組織によって許可されていないプロバイダーまたはモデルが含まれています", + }, + LCe = { + apiKey: "API キーを入力...", + profileName: "プロファイル名を入力", + accessKey: "アクセスキーを入力...", + secretKey: "シークレットキーを入力...", + sessionToken: "セッショントークンを入力...", + credentialsJson: "認証情報 JSON を入力...", + keyFilePath: "キーファイルのパスを入力...", + projectId: "プロジェクト ID を入力...", + customArn: "ARN を入力(例:arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "ベース URL を入力...", + modelId: { + lmStudio: "例:meta-llama-3.1-8b-instruct", + lmStudioDraft: "例:lmstudio-community/llama-3.2-1b-instruct", + ollama: "例:llama3.1", + }, + numbers: { + maxTokens: "例:4096", + contextWindow: "例:128000", + inputPrice: "例:0.0001", + outputPrice: "例:0.0002", + cacheWritePrice: "例:0.00005", + }, + }, + DCe = { + ollamaUrl: "デフォルト:http://localhost:11434", + lmStudioUrl: "デフォルト:http://localhost:1234", + geminiUrl: "デフォルト:https://generativelanguage.googleapis.com", + }, + NCe = { customArn: "カスタム ARN", useCustomArn: "カスタム ARN を使用..." }, + OCe = "最大出力トークンを含める", + FCe = + "APIリクエストで最大出力トークンパラメータを送信します。一部のプロバイダーはこれをサポートしていない場合があります。", + BCe = "レスポンスの最大トークン数を制限する", + UCe = "最大出力トークン", + qCe = "レスポンスで生成する最大トークン数", + Wbt = { + common: mCe, + header: hCe, + unsavedChangesDialog: fCe, + sections: gCe, + prompts: vCe, + codeIndex: bCe, + autoApprove: yCe, + providers: kCe, + browser: xCe, + checkpoints: wCe, + notifications: _Ce, + contextManagement: CCe, + terminal: SCe, + advancedSettings: ACe, + advanced: PCe, + experimental: RCe, + promptCaching: TCe, + temperature: ICe, + modelInfo: MCe, + modelPicker: jCe, + footer: ECe, + thinkingBudget: zCe, + validation: $Ce, + placeholders: LCe, + defaults: DCe, + labels: NCe, + includeMaxOutputTokens: OCe, + includeMaxOutputTokensDescription: FCe, + limitMaxTokensDescription: BCe, + maxOutputTokensLabel: UCe, + maxTokensGenerateDescription: qCe, + }, + Kbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: PCe, + advancedSettings: ACe, + autoApprove: yCe, + browser: xCe, + checkpoints: wCe, + codeIndex: bCe, + common: mCe, + contextManagement: CCe, + default: Wbt, + defaults: DCe, + experimental: RCe, + footer: ECe, + header: hCe, + includeMaxOutputTokens: OCe, + includeMaxOutputTokensDescription: FCe, + labels: NCe, + limitMaxTokensDescription: BCe, + maxOutputTokensLabel: UCe, + maxTokensGenerateDescription: qCe, + modelInfo: MCe, + modelPicker: jCe, + notifications: _Ce, + placeholders: LCe, + promptCaching: TCe, + prompts: vCe, + providers: kCe, + sections: gCe, + temperature: ICe, + terminal: SCe, + thinkingBudget: zCe, + unsavedChangesDialog: fCe, + validation: $Ce, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + WCe = "Roo Codeへようこそ!", + KCe = + "組み込みおよび拡張可能なモードを備えたRoo Codeは、計画、アーキテクチャ設計、コーディング、デバッグ、そして今までにない生産性向上を可能にします。", + VCe = "開始するには、この拡張機能にはAPIプロバイダーが必要です。", + HCe = "さあ、始めましょう!", + GCe = { + requesty: { description: "最適化されたLLMルーター", incentive: "$1の無料クレジット" }, + openrouter: { description: "LLMsのための統一インターフェース" }, + }, + QCe = "Rooが機能するには、APIキーが必要です。", + ZCe = "LLMルーターの使用をお勧めします:", + YCe = "または、あなた自身のAPIキーを使用できます:", + XCe = { + title: "Roo Codeの改善にご協力ください", + anonymousTelemetry: + "バグの修正と拡張機能の改善のため、匿名のエラーと使用データを送信してください。コード、プロンプト、個人情報は一切送信されません。", + changeSettings: "<settingsLink>設定</settingsLink>の下部でいつでも変更できます", + settings: "設定", + allow: "許可", + deny: "拒否", + }, + JCe = "設定をインポート", + Vbt = { + greeting: WCe, + introduction: KCe, + notice: VCe, + start: HCe, + routers: GCe, + chooseProvider: QCe, + startRouter: ZCe, + startCustom: YCe, + telemetry: XCe, + importSettings: JCe, + }, + Hbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: QCe, + default: Vbt, + greeting: WCe, + importSettings: JCe, + introduction: KCe, + notice: VCe, + routers: GCe, + start: HCe, + startCustom: YCe, + startRouter: ZCe, + telemetry: XCe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + e0e = "계정", + t0e = "프로필 사진", + n0e = "로그아웃", + o0e = "API 인증 테스트", + r0e = "Roo Code Cloud에 연결", + i0e = "연결", + s0e = "Roo Code Cloud에 연결", + a0e = "프롬프트와 텔레메트리를 동기화하여 다음을 활성화:", + l0e = "온라인 작업 기록", + c0e = "공유 및 협업 기능", + d0e = "작업, 토큰, 비용 기반 사용 메트릭", + u0e = "Roomote Control로 어디서나 작업을 팔로우하고 제어하세요", + p0e = "Roomote Control", + m0e = "Roo Code Cloud로 이 워크스페이스의 작업을 팔로우하고 상호작용할 수 있게 합니다", + h0e = "Roo Code Cloud 방문", + Gbt = { + title: e0e, + profilePicture: t0e, + logOut: n0e, + testApiAuthentication: o0e, + signIn: r0e, + connect: i0e, + cloudBenefitsTitle: s0e, + cloudBenefitsSubtitle: a0e, + cloudBenefitHistory: l0e, + cloudBenefitSharing: c0e, + cloudBenefitMetrics: d0e, + cloudBenefitWalkaway: u0e, + remoteControl: p0e, + remoteControlDescription: m0e, + visitCloudWebsite: h0e, + }, + Qbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: l0e, + cloudBenefitMetrics: d0e, + cloudBenefitSharing: c0e, + cloudBenefitWalkaway: u0e, + cloudBenefitsSubtitle: a0e, + cloudBenefitsTitle: s0e, + connect: i0e, + default: Gbt, + logOut: n0e, + profilePicture: t0e, + remoteControl: p0e, + remoteControlDescription: m0e, + signIn: r0e, + testApiAuthentication: o0e, + title: e0e, + visitCloudWebsite: h0e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + f0e = "Roo Code에 오신 것을 환영합니다", + g0e = { + title: "작업", + seeMore: "더 보기", + seeLess: "줄여보기", + tokens: "토큰:", + cache: "캐시:", + apiCost: "API 비용:", + contextWindow: "컨텍스트 창:", + closeAndStart: "작업 닫고 새 작업 시작", + export: "작업 기록 내보내기", + delete: "작업 삭제 (Shift + 클릭으로 확인 생략)", + condenseContext: "컨텍스트 지능적으로 압축", + share: "작업 공유", + shareWithOrganization: "조직과 공유", + shareWithOrganizationDescription: "조직 구성원만 액세스할 수 있습니다", + sharePublicly: "공개적으로 공유", + sharePubliclyDescription: "링크가 있는 누구나 액세스할 수 있습니다", + connectToCloud: "클라우드에 연결", + connectToCloudDescription: "작업을 공유하려면 Roo Code Cloud에 로그인하세요", + sharingDisabledByOrganization: "조직에서 공유가 비활성화됨", + shareSuccessOrganization: "조직 링크가 클립보드에 복사되었습니다", + shareSuccessPublic: "공개 링크가 클립보드에 복사되었습니다", + }, + v0e = "고정 해제하기", + b0e = "고정하기", + y0e = { + availableSpace: "사용 가능한 공간: {{amount}} 토큰", + tokensUsed: "사용된 토큰: {{used}} / {{total}}", + reservedForResponse: "모델 응답용 예약: {{amount}} 토큰", + }, + k0e = { title: "다시 시도", tooltip: "작업 다시 시도" }, + x0e = { title: "새 작업 시작", tooltip: "새 작업 시작하기" }, + w0e = { title: "그래도 계속", tooltip: "명령 실행 중에도 계속 진행" }, + _0e = { title: "저장", tooltip: "메시지 변경사항 저장" }, + C0e = { title: "거부", tooltip: "이 작업 거부" }, + S0e = "하위 작업 완료 후 돌아가기", + A0e = { title: "승인", tooltip: "이 작업 승인" }, + P0e = { title: "명령 실행", tooltip: "이 명령 실행" }, + R0e = { title: "실행 중에도 계속", tooltip: "경고에도 불구하고 계속 진행" }, + T0e = { title: "명령 종료", tooltip: "현재 명령 종료" }, + I0e = { title: "작업 재개", tooltip: "현재 작업 계속하기" }, + M0e = { title: "종료", tooltip: "현재 작업 종료" }, + j0e = { title: "취소", tooltip: "현재 작업 취소" }, + E0e = "채팅 하단으로 스크롤", + z0e = "AI 지원으로 코드를 생성, 리팩터링 및 디버깅합니다. 자세한 내용은 <DocsLink>문서</DocsLink>를 확인하세요.", + $0e = + "<strong>이 작업 공간의 작업 목록이 비어 있습니다.</strong> 아래에 작업을 입력하여 시작하세요. 어떻게 시작해야 할지 모르겠나요? Roo가 무엇을 할 수 있는지 <DocsLink>문서</DocsLink>에서 자세히 알아보세요.", + L0e = { + boomerangTasks: { + title: "작업 오케스트레이션", + description: "작업을 더 작고 관리하기 쉬운 부분으로 나눕니다.", + }, + stickyModels: { title: "스티키 모드", description: "각 모드는 마지막으로 사용한 모델을 기억합니다." }, + tools: { title: "도구", description: "AI가 웹 탐색, 명령 실행 등으로 문제를 해결하도록 허용합니다." }, + customizableModes: { title: "사용자 정의 모드", description: "고유한 동작과 할당된 모델을 가진 전문 페르소나" }, + }, + D0e = "상호작용 모드 선택", + N0e = "API 구성 선택", + O0e = "추가 컨텍스트로 프롬프트 향상", + F0e = "메시지에 이미지 추가", + B0e = "메시지 보내기", + U0e = "텍스트 음성 변환 중지", + q0e = "메시지 입력...", + W0e = "여기에 작업 입력...", + K0e = "컨텍스트 추가는 @, 명령어는 /", + V0e = "파일을 드래그하려면 shift 키 누르기", + H0e = "파일/이미지를 드래그하려면 shift 키 누르기", + G0e = + "'프롬프트 향상' 버튼은 추가 컨텍스트, 명확화 또는 재구성을 제공하여 요청을 개선합니다. 여기에 요청을 입력한 다음 버튼을 다시 클릭하여 작동 방식을 확인해보세요.", + Q0e = { + title: "모드", + marketplace: "모드 마켓플레이스", + settings: "모드 설정", + description: "Roo의 행동을 맞춤화하는 전문화된 페르소나.", + searchPlaceholder: "모드 검색...", + noResults: "결과를 찾을 수 없습니다", + }, + Z0e = "파일 읽기 오류:", + Y0e = "처리된 유효한 이미지가 없습니다", + X0e = "구분자", + J0e = "편집...", + eSe = "다음 모드용", + tSe = "이전 모드용", + nSe = "오류", + oSe = { title: "편집 실패" }, + rSe = "Roo에 문제가 발생했습니다...", + iSe = { + title: "API 요청", + failed: "API 요청 실패", + streaming: "API 요청...", + cancelled: "API 요청 취소됨", + streamingFailed: "API 스트리밍 실패", + }, + sSe = { + regular: "체크포인트", + initializingWarning: + "체크포인트 초기화 중... 시간이 너무 오래 걸리면 <settingsLink>설정</settingsLink>에서 체크포인트를 비활성화하고 작업을 다시 시작할 수 있습니다.", + menu: { + viewDiff: "차이점 보기", + restore: "체크포인트 복원", + restoreFiles: "파일 복원", + restoreFilesDescription: "프로젝트 파일을 이 시점에 찍힌 스냅샷으로 복원합니다.", + restoreFilesAndTask: "파일 및 작업 복원", + confirm: "확인", + cancel: "취소", + cannotUndo: "이 작업은 취소할 수 없습니다.", + restoreFilesAndTaskDescription: + "프로젝트 파일을 이 시점에 찍힌 스냅샷으로 복원하고 이 지점 이후의 모든 메시지를 삭제합니다.", + }, + current: "현재", + }, + aSe = { wantsToFetch: "Roo는 현재 작업을 지원하기 위해 자세한 지침을 가져오려고 합니다" }, + lSe = { + wantsToRead: "Roo가 이 파일을 읽고 싶어합니다:", + wantsToReadOutsideWorkspace: "Roo가 워크스페이스 외부의 이 파일을 읽고 싶어합니다:", + didRead: "Roo가 이 파일을 읽었습니다:", + wantsToEdit: "Roo가 이 파일을 편집하고 싶어합니다:", + wantsToEditOutsideWorkspace: "Roo가 워크스페이스 외부의 이 파일을 편집하고 싶어합니다:", + wantsToEditProtected: "Roo가 보호된 설정 파일을 편집하고 싶어합니다:", + wantsToCreate: "Roo가 새 파일을 만들고 싶어합니다:", + wantsToSearchReplace: "Roo가 이 파일에서 검색 및 바꾸기를 수행하고 싶어합니다:", + didSearchReplace: "Roo가 이 파일에서 검색 및 바꾸기를 수행했습니다:", + wantsToInsert: "Roo가 이 파일에 내용을 삽입하고 싶어합니다:", + wantsToInsertWithLineNumber: "Roo가 이 파일의 {{lineNumber}}번 줄에 내용을 삽입하고 싶어합니다:", + wantsToInsertAtEnd: "Roo가 이 파일의 끝에 내용을 추가하고 싶어합니다:", + wantsToReadAndXMore: "Roo가 이 파일과 {{count}}개의 파일을 더 읽으려고 합니다:", + wantsToReadMultiple: "Roo가 여러 파일을 읽으려고 합니다:", + wantsToApplyBatchChanges: "Roo가 여러 파일에 변경 사항을 적용하고 싶어합니다:", + }, + cSe = { + wantsToViewTopLevel: "Roo가 이 디렉토리의 최상위 파일을 보고 싶어합니다:", + didViewTopLevel: "Roo가 이 디렉토리의 최상위 파일을 보았습니다:", + wantsToViewRecursive: "Roo가 이 디렉토리의 모든 파일을 재귀적으로 보고 싶어합니다:", + didViewRecursive: "Roo가 이 디렉토리의 모든 파일을 재귀적으로 보았습니다:", + wantsToViewDefinitions: "Roo가 이 디렉토리에서 사용된 소스 코드 정의 이름을 보고 싶어합니다:", + didViewDefinitions: "Roo가 이 디렉토리에서 사용된 소스 코드 정의 이름을 보았습니다:", + wantsToSearch: "Roo가 이 디렉토리에서 <code>{{regex}}</code>을(를) 검색하고 싶어합니다:", + didSearch: "Roo가 이 디렉토리에서 <code>{{regex}}</code>을(를) 검색했습니다:", + wantsToSearchOutsideWorkspace: + "Roo가 이 디렉토리(워크스페이스 외부)에서 <code>{{regex}}</code>을(를) 검색하고 싶어합니다:", + didSearchOutsideWorkspace: + "Roo가 이 디렉토리(워크스페이스 외부)에서 <code>{{regex}}</code>을(를) 검색했습니다:", + wantsToViewTopLevelOutsideWorkspace: "Roo가 이 디렉토리(워크스페이스 외부)의 최상위 파일을 보고 싶어합니다:", + didViewTopLevelOutsideWorkspace: "Roo가 이 디렉토리(워크스페이스 외부)의 최상위 파일을 보았습니다:", + wantsToViewRecursiveOutsideWorkspace: + "Roo가 이 디렉토리(워크스페이스 외부)의 모든 파일을 재귀적으로 보고 싶어합니다:", + didViewRecursiveOutsideWorkspace: "Roo가 이 디렉토리(워크스페이스 외부)의 모든 파일을 재귀적으로 보았습니다:", + wantsToViewDefinitionsOutsideWorkspace: + "Roo가 이 디렉토리(워크스페이스 외부)에서 사용된 소스 코드 정의 이름을 보고 싶어합니다:", + didViewDefinitionsOutsideWorkspace: + "Roo가 이 디렉토리(워크스페이스 외부)에서 사용된 소스 코드 정의 이름을 보았습니다:", + }, + dSe = "명령 출력", + uSe = { + running: "실행 중", + pid: "PID: {{pid}}", + exited: "종료됨 ({{exitCode}})", + manageCommands: "명령 권한 관리", + commandManagementDescription: + "명령 권한 관리: 자동 실행을 허용하려면 ✓를 클릭하고 실행을 거부하려면 ✗를 클릭하십시오. 패턴은 켜거나 끄거나 목록에서 제거할 수 있습니다. <settingsLink>모든 설정 보기</settingsLink>", + addToAllowed: "허용 목록에 추가", + removeFromAllowed: "허용 목록에서 제거", + addToDenied: "거부 목록에 추가", + removeFromDenied: "거부 목록에서 제거", + abortCommand: "명령 실행 중단", + expandOutput: "출력 확장", + collapseOutput: "출력 축소", + expandManagement: "명령 관리 섹션 확장", + collapseManagement: "명령 관리 섹션 축소", + }, + pSe = "응답", + mSe = { + wantsToUseTool: "Roo가 {{serverName}} MCP 서버에서 도구를 사용하고 싶어합니다:", + wantsToAccessResource: "Roo가 {{serverName}} MCP 서버에서 리소스에 접근하고 싶어합니다:", + }, + hSe = { + wantsToSwitch: "Roo가 <code>{{mode}}</code> 모드로 전환하고 싶어합니다", + wantsToSwitchWithReason: "Roo가 다음 이유로 <code>{{mode}}</code> 모드로 전환하고 싶어합니다: {{reason}}", + didSwitch: "Roo가 <code>{{mode}}</code> 모드로 전환했습니다", + didSwitchWithReason: "Roo가 다음 이유로 <code>{{mode}}</code> 모드로 전환했습니다: {{reason}}", + }, + fSe = { + wantsToCreate: "Roo가 <code>{{mode}}</code> 모드에서 새 하위 작업을 만들고 싶어합니다:", + wantsToFinish: "Roo가 이 하위 작업을 완료하고 싶어합니다", + newTaskContent: "하위 작업 지침", + completionContent: "하위 작업 완료", + resultContent: "하위 작업 결과", + defaultResult: "다음 작업을 계속 진행해주세요.", + completionInstructions: + "하위 작업 완료! 결과를 검토하고 수정 사항이나 다음 단계를 제안할 수 있습니다. 모든 것이 괜찮아 보이면, 부모 작업에 결과를 반환하기 위해 확인해주세요.", + }, + gSe = { hasQuestion: "Roo에게 질문이 있습니다:" }, + vSe = "작업 완료", + bSe = { issues: "Windows PowerShell에 문제가 있는 것 같습니다. 다음을 참조하세요" }, + ySe = { + title: "자동 승인:", + none: "없음", + description: + "자동 승인을 사용하면 Roo Code가 권한을 요청하지 않고 작업을 수행할 수 있습니다. 완전히 신뢰할 수 있는 작업에만 활성화하세요. 더 자세한 구성은 <settingsLink>설정</settingsLink>에서 사용할 수 있습니다.", + selectOptionsFirst: "자동 승인을 활성화하려면 아래 옵션 중 하나 이상을 선택하세요", + toggleAriaLabel: "자동 승인 전환", + disabledAriaLabel: "자동 승인 비활성화됨 - 먼저 옵션을 선택하세요", + }, + kSe = { thinking: "생각 중", seconds: "{{count}}초" }, + xSe = { + title: "컨텍스트 요약됨", + condensing: "컨텍스트 압축 중...", + errorHeader: "컨텍스트 압축 실패", + tokens: "토큰", + }, + wSe = { + copyToInput: "입력창에 복사 (또는 Shift + 클릭)", + autoSelectCountdown: "{{count}}초 후 자동 선택", + countdownDisplay: "{{count}}초", + }, + _Se = { + title: "🎉 Roo Code {{version}} 출시", + description: + "Roo Code {{version}}은 개발 워크플로우를 향상시키는 강력한 새 기능과 중요한 개선사항을 제공합니다.", + whatsNew: "새로운 기능", + feature1: + "<bold>메시지 대기열</bold>: Roo가 작업하는 동안 여러 메시지를 대기열에 넣어 워크플로우 계획을 중단 없이 계속할 수 있습니다.", + feature2: + "<bold>사용자 정의 슬래시 명령</bold>: 자주 사용하는 프롬프트와 워크플로우에 빠르게 액세스할 수 있는 개인화된 슬래시 명령을 생성하고, 완전한 UI 관리를 제공합니다.", + feature3: + "<bold>향상된 Gemini 도구</bold>: 새로운 URL 컨텍스트 및 Google 검색 기반 기능으로 Gemini 모델에 실시간 웹 정보와 향상된 연구 기능을 제공합니다.", + hideButton: "공지 숨기기", + detailsDiscussLinks: + "<discordLink>Discord</discordLink>와 <redditLink>Reddit</redditLink>에서 자세한 내용을 확인하고 토론에 참여하세요 🚀", + }, + CSe = { + rooWantsToUse: "Roo가 브라우저를 사용하고 싶어합니다:", + consoleLogs: "콘솔 로그", + noNewLogs: "(새 로그 없음)", + screenshot: "브라우저 스크린샷", + cursor: "커서", + navigation: { step: "단계 {{current}} / {{total}}", previous: "이전", next: "다음" }, + sessionStarted: "브라우저 세션 시작됨", + actions: { + title: "브라우저 작업: ", + launch: "{{url}}에서 브라우저 실행", + click: "클릭 ({{coordinate}})", + type: '입력 "{{text}}"', + scrollDown: "아래로 스크롤", + scrollUp: "위로 스크롤", + close: "브라우저 닫기", + }, + }, + SSe = { + tooltips: { + expand: "코드 블록 확장", + collapse: "코드 블록 축소", + enable_wrap: "자동 줄바꿈 활성화", + disable_wrap: "자동 줄바꿈 비활성화", + copy_code: "코드 복사", + }, + }, + ASe = + "경고: 사용자 정의 시스템 프롬프트 재정의가 활성화되었습니다. 이로 인해 기능이 심각하게 손상되고 예측할 수 없는 동작이 발생할 수 있습니다.", + PSe = "현재 프로필이 조직 설정과 호환되지 않습니다", + RSe = { + title: "명령 실행 경고", + description: + "명령이 VSCode 터미널 쉘 통합 없이 실행되고 있습니다. 이 경고를 숨기려면 <settingsLink>Roo Code 설정</settingsLink>의 <strong>Terminal</strong> 섹션에서 쉘 통합을 비활성화하거나 아래 링크를 사용하여 VSCode 터미널 통합 문제를 해결하세요.", + troubleshooting: "쉘 통합 문서를 보려면 여기를 클릭하세요.", + }, + TSe = { + autoApprovedRequestLimitReached: { + title: "자동 승인 요청 한도 도달", + description: + "Roo가 {{count}}개의 API 요청(들)에 대한 자동 승인 한도에 도달했습니다. 카운트를 재설정하고 작업을 계속하시겠습니까?", + button: "재설정 후 계속", + }, + autoApprovedCostLimitReached: { + description: + "Roo가 자동 승인된 비용 한도인 ${{count}}에 도달했습니다. 비용을 초기화하고 작업을 계속하시겠습니까?", + title: "자동 승인 비용 한도에 도달함", + button: "재설정 후 계속하기", + }, + }, + ISe = { + wantsToSearch: "Roo가 코드베이스에서 <code>{{query}}</code>을(를) 검색하고 싶어합니다:", + wantsToSearchWithPath: "Roo가 <code>{{path}}</code>에서 <code>{{query}}</code>을(를) 검색하고 싶어합니다:", + didSearch_one: "1개의 결과를 찾았습니다", + didSearch_other: "{{count}}개의 결과를 찾았습니다", + resultTooltip: "유사도 점수: {{score}} (클릭하여 파일 열기)", + }, + MSe = { + ready: "인덱스 준비됨", + indexing: "인덱싱 중 {{percentage}}%", + indexed: "인덱싱 완료", + error: "인덱스 오류", + status: "인덱스 상태", + }, + jSe = { ariaLabel: "버전 {{version}} - 릴리스 노트를 보려면 클릭하세요" }, + ESe = { + title: "Roo Code Cloud가 곧 출시됩니다!", + description: + "클라우드에서 원격 에이전트를 실행하고, 어디서나 작업에 액세스하고, 다른 사람들과 협업하는 등 다양한 기능을 이용하세요.", + joinWaitlist: "얼리 액세스를 받으려면 대기 목록에 가입하세요.", + }, + zSe = { placeholder: "메시지 편집..." }, + $Se = { triggerDescription: "{{name}} 명령 트리거" }, + LSe = { + tooltip: "슬래시 명령 관리", + title: "슬래시 명령", + description: + "자주 사용하는 프롬프트와 워크플로우에 빠르게 액세스할 수 있는 사용자 정의 슬래시 명령을 만듭니다. <DocsLink>문서</DocsLink>", + globalCommands: "전역 명령", + workspaceCommands: "작업 공간 명령", + globalCommand: "전역 명령", + editCommand: "명령 편집", + deleteCommand: "명령 삭제", + newGlobalCommandPlaceholder: "새 전역 명령...", + newWorkspaceCommandPlaceholder: "새 작업 공간 명령...", + deleteDialog: { + title: "명령 삭제", + description: '"{{name}}" 명령을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.', + cancel: "취소", + confirm: "삭제", + }, + }, + DSe = { title: "대기열 메시지:", clickToEdit: "클릭하여 메시지 편집" }, + Zbt = { + greeting: f0e, + task: g0e, + unpin: v0e, + pin: b0e, + tokenProgress: y0e, + retry: k0e, + startNewTask: x0e, + proceedAnyways: w0e, + save: _0e, + reject: C0e, + completeSubtaskAndReturn: S0e, + approve: A0e, + runCommand: P0e, + proceedWhileRunning: R0e, + killCommand: T0e, + resumeTask: I0e, + terminate: M0e, + cancel: j0e, + scrollToBottom: E0e, + about: z0e, + onboarding: $0e, + rooTips: L0e, + selectMode: D0e, + selectApiConfig: N0e, + enhancePrompt: O0e, + addImages: F0e, + sendMessage: B0e, + stopTts: U0e, + typeMessage: q0e, + typeTask: W0e, + addContext: K0e, + dragFiles: V0e, + dragFilesImages: H0e, + enhancePromptDescription: G0e, + modeSelector: Q0e, + errorReadingFile: Z0e, + noValidImages: Y0e, + separator: X0e, + edit: J0e, + forNextMode: eSe, + forPreviousMode: tSe, + error: nSe, + diffError: oSe, + troubleMessage: rSe, + apiRequest: iSe, + checkpoint: sSe, + instructions: aSe, + fileOperations: lSe, + directoryOperations: cSe, + commandOutput: dSe, + commandExecution: uSe, + response: pSe, + arguments: "인수", + mcp: mSe, + modes: hSe, + subtasks: fSe, + questions: gSe, + taskCompleted: vSe, + powershell: bSe, + autoApprove: ySe, + reasoning: kSe, + contextCondense: xSe, + followUpSuggest: wSe, + announcement: _Se, + browser: CSe, + codeblock: SSe, + systemPromptWarning: ASe, + profileViolationWarning: PSe, + shellIntegration: RSe, + ask: TSe, + codebaseSearch: ISe, + "read-batch": { approve: { title: "모두 승인" }, deny: { title: "모두 거부" } }, + indexingStatus: MSe, + versionIndicator: jSe, + rooCloudCTA: ESe, + editMessage: zSe, + command: $Se, + slashCommands: LSe, + queuedMessages: DSe, + }, + Ybt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: z0e, + addContext: K0e, + addImages: F0e, + announcement: _Se, + apiRequest: iSe, + approve: A0e, + ask: TSe, + autoApprove: ySe, + browser: CSe, + cancel: j0e, + checkpoint: sSe, + codebaseSearch: ISe, + codeblock: SSe, + command: $Se, + commandExecution: uSe, + commandOutput: dSe, + completeSubtaskAndReturn: S0e, + contextCondense: xSe, + default: Zbt, + diffError: oSe, + directoryOperations: cSe, + dragFiles: V0e, + dragFilesImages: H0e, + edit: J0e, + editMessage: zSe, + enhancePrompt: O0e, + enhancePromptDescription: G0e, + error: nSe, + errorReadingFile: Z0e, + fileOperations: lSe, + followUpSuggest: wSe, + forNextMode: eSe, + forPreviousMode: tSe, + greeting: f0e, + indexingStatus: MSe, + instructions: aSe, + killCommand: T0e, + mcp: mSe, + modeSelector: Q0e, + modes: hSe, + noValidImages: Y0e, + onboarding: $0e, + pin: b0e, + powershell: bSe, + proceedAnyways: w0e, + proceedWhileRunning: R0e, + profileViolationWarning: PSe, + questions: gSe, + queuedMessages: DSe, + reasoning: kSe, + reject: C0e, + response: pSe, + resumeTask: I0e, + retry: k0e, + rooCloudCTA: ESe, + rooTips: L0e, + runCommand: P0e, + save: _0e, + scrollToBottom: E0e, + selectApiConfig: N0e, + selectMode: D0e, + sendMessage: B0e, + separator: X0e, + shellIntegration: RSe, + slashCommands: LSe, + startNewTask: x0e, + stopTts: U0e, + subtasks: fSe, + systemPromptWarning: ASe, + task: g0e, + taskCompleted: vSe, + terminate: M0e, + tokenProgress: y0e, + troubleMessage: rSe, + typeMessage: q0e, + typeTask: W0e, + unpin: v0e, + versionIndicator: jSe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + NSe = { + title: "문제가 발생했습니다", + reportText: "이 오류를 보고하여 개선에 도움을 주세요", + githubText: "GitHub 이슈 페이지", + copyInstructions: "다음 오류 메시지를 복사하여 보고서에 포함해 주세요:", + errorStack: "오류 스택:", + componentStack: "컴포넌트 스택:", + }, + OSe = { yes: "예", no: "아니오", cancel: "취소", remove: "삭제", keep: "유지" }, + FSe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + BSe = { search_placeholder: "검색...", no_results: "결과를 찾을 수 없습니다" }, + USe = { + loading: "머메이드 다이어그램 생성 중...", + render_error: "다이어그램을 렌더링할 수 없음", + buttons: { + zoom: "줌", + zoomIn: "확대", + zoomOut: "축소", + copy: "복사", + save: "이미지 저장", + viewCode: "코드 보기", + viewDiagram: "다이어그램 보기", + close: "닫기", + }, + modal: { codeTitle: "머메이드 코드" }, + tabs: { diagram: "다이어그램", code: "코드" }, + feedback: { imageCopied: "이미지가 클립보드에 복사됨", copyError: "이미지 복사 오류" }, + }, + qSe = { + errors: { + invalidDataUri: "잘못된 데이터 URI 형식", + copyingImage: "이미지 복사 오류: {{error}}", + openingImage: "이미지 열기 오류: {{error}}", + pathNotExists: "경로가 존재하지 않음: {{path}}", + couldNotOpen: "파일을 열 수 없음: {{error}}", + couldNotOpenGeneric: "파일을 열 수 없습니다!", + }, + success: { imageDataUriCopied: "이미지 데이터 URI가 클립보드에 복사됨" }, + }, + WSe = { + deleteMessage: "메시지 삭제", + deleteWarning: "이 메시지를 삭제하면 대화의 모든 후속 메시지가 삭제됩니다. 계속하시겠습니까?", + editMessage: "메시지 편집", + editWarning: "이 메시지를 편집하면 대화의 모든 후속 메시지가 삭제됩니다. 계속하시겠습니까?", + proceed: "계속", + }, + Xbt = { errorBoundary: NSe, answers: OSe, number_format: FSe, ui: BSe, mermaid: USe, file: qSe, confirmation: WSe }, + Jbt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: OSe, + confirmation: WSe, + default: Xbt, + errorBoundary: NSe, + file: qSe, + mermaid: USe, + number_format: FSe, + ui: BSe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + KSe = "최근 작업", + VSe = "기록", + HSe = "선택 모드 종료", + GSe = "선택 모드 진입", + QSe = "완료", + ZSe = "기록 검색...", + YSe = "최신순", + XSe = "오래된순", + JSe = "가장 비싼순", + eAe = "토큰 많은순", + tAe = "관련성 높은순", + nAe = "작업 삭제 (Shift + 클릭으로 확인 생략)", + oAe = "프롬프트 복사", + rAe = "작업 내보내기", + iAe = "작업 삭제", + sAe = "이 작업을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", + aAe = "취소", + lAe = "선택 종료", + cAe = "선택 모드", + dAe = "전체 선택 해제", + uAe = "전체 선택", + pAe = "{{selected}}/{{total}}개 선택됨", + mAe = "선택 초기화", + hAe = "선택 항목 삭제", + fAe = "작업 삭제", + gAe = "{{count}}개의 작업을 삭제하시겠습니까?", + vAe = "삭제된 작업은 복구할 수 없습니다. 계속 진행하시겠습니까?", + bAe = "{{count}}개 항목 삭제", + yAe = { prefix: "워크스페이스:", current: "현재", all: "모두" }, + kAe = { + prefix: "정렬:", + newest: "최신순", + oldest: "오래된순", + mostExpensive: "가장 비싼순", + mostTokens: "토큰 많은순", + mostRelevant: "관련성 높은순", + }, + xAe = "모든 기록 보기", + eyt = { + recentTasks: KSe, + history: VSe, + exitSelectionMode: HSe, + enterSelectionMode: GSe, + done: QSe, + searchPlaceholder: ZSe, + newest: YSe, + oldest: XSe, + mostExpensive: JSe, + mostTokens: eAe, + mostRelevant: tAe, + deleteTaskTitle: nAe, + copyPrompt: oAe, + exportTask: rAe, + deleteTask: iAe, + deleteTaskMessage: sAe, + cancel: aAe, + delete: "삭제", + exitSelection: lAe, + selectionMode: cAe, + deselectAll: dAe, + selectAll: uAe, + selectedItems: pAe, + clearSelection: mAe, + deleteSelected: hAe, + deleteTasks: fAe, + confirmDeleteTasks: gAe, + deleteTasksWarning: vAe, + deleteItems: bAe, + workspace: yAe, + sort: kAe, + viewAllHistory: xAe, + }, + tyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: aAe, + clearSelection: mAe, + confirmDeleteTasks: gAe, + copyPrompt: oAe, + default: eyt, + deleteItems: bAe, + deleteSelected: hAe, + deleteTask: iAe, + deleteTaskMessage: sAe, + deleteTaskTitle: nAe, + deleteTasks: fAe, + deleteTasksWarning: vAe, + deselectAll: dAe, + done: QSe, + enterSelectionMode: GSe, + exitSelection: lAe, + exitSelectionMode: HSe, + exportTask: rAe, + history: VSe, + mostExpensive: JSe, + mostRelevant: tAe, + mostTokens: eAe, + newest: YSe, + oldest: XSe, + recentTasks: KSe, + searchPlaceholder: ZSe, + selectAll: uAe, + selectedItems: pAe, + selectionMode: cAe, + sort: kAe, + viewAllHistory: xAe, + workspace: yAe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + wAe = "휴먼 릴레이 - 정보 복사/붙여넣기를 도와주세요", + _Ae = "다음 프롬프트를 웹 AI에 복사하고, AI의 응답을 아래 입력창에 붙여넣어 주세요.", + CAe = "클립보드에 복사됨", + SAe = { label: "AI의 응답을 입력해주세요:", placeholder: "여기에 AI의 응답을 붙여넣으세요..." }, + AAe = { cancel: "취소", submit: "제출" }, + nyt = { dialogTitle: wAe, dialogDescription: _Ae, copiedToClipboard: CAe, aiResponse: SAe, actions: AAe }, + oyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: AAe, + aiResponse: SAe, + copiedToClipboard: CAe, + default: nyt, + dialogDescription: _Ae, + dialogTitle: wAe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + PAe = "Roo Marketplace", + RAe = { installed: "설치됨", settings: "설정", browse: "찾아보기" }, + TAe = "완료", + IAe = "새로고침", + MAe = { + search: { + placeholder: "Marketplace 아이템 검색...", + placeholderMcp: "MCP 검색...", + placeholderMode: "모드 검색...", + }, + type: { label: "유형별 필터:", all: "모든 유형", mode: "모드", mcpServer: "MCP 서버" }, + sort: { label: "정렬 기준:", name: "이름", author: "작성자", lastUpdated: "마지막 업데이트" }, + tags: { + label: "태그별 필터:", + clear: "태그 지우기", + placeholder: "태그를 검색하고 선택하려면 입력하세요...", + noResults: "일치하는 태그가 없습니다", + selected: "선택된 태그 중 하나를 가진 아이템 표시", + clickToFilter: "태그를 클릭하여 아이템 필터링", + }, + none: "없음", + }, + jAe = { organizationMcps: "{{organization}} MCPs", marketplace: "마켓플레이스" }, + EAe = { + empty: { + noItems: "Marketplace 아이템을 찾을 수 없습니다", + withFilters: "필터를 조정해 보세요", + noSources: "소스 탭에서 소스를 추가해 보세요", + adjustFilters: "필터나 검색어를 조정해 보세요", + clearAllFilters: "모든 필터 지우기", + }, + count: "{{count}}개 아이템 발견", + components: "{{count}}개 구성 요소", + matched: "{{count}}개 일치", + refresh: { button: "새로고침", refreshing: "새로고침 중...", mayTakeMoment: "잠시 시간이 걸릴 수 있습니다." }, + card: { + by: "{{author}} 작성", + from: "{{source}}에서", + install: "설치", + installProject: "설치", + installGlobal: "설치 (전역)", + remove: "삭제", + removeProject: "삭제", + removeGlobal: "삭제 (전역)", + viewSource: "보기", + viewOnSource: "{{source}}에서 보기", + noWorkspaceTooltip: "Marketplace 아이템을 설치하려면 워크스페이스를 열어주세요", + installed: "설치됨", + removeProjectTooltip: "현재 프로젝트에서 삭제", + removeGlobalTooltip: "전역 설정에서 삭제", + actionsMenuLabel: "추가 작업", + }, + removeFailed: "항목을 제거하지 못했습니다: {{error}}", + unknownError: "알 수 없는 오류가 발생했습니다", + }, + zAe = { + title: "{{name}} 설치", + titleMode: "{{name}} 모드 설치", + titleMcp: "{{name}} MCP 설치", + scope: "설치 범위", + project: "프로젝트 (현재 워크스페이스)", + global: "전역 (모든 워크스페이스)", + method: "설치 방법", + configuration: "설정", + configurationDescription: "이 MCP 서버에 필요한 매개변수를 설정하세요", + button: "설치", + successTitle: "{{name}} 설치됨", + successDescription: "설치가 성공적으로 완료되었습니다", + installed: "성공적으로 설치되었습니다!", + whatNextMcp: + "이제 이 MCP 서버를 설정하고 사용할 수 있습니다. 사이드바의 MCP 아이콘을 클릭하여 탭을 전환하세요.", + whatNextMode: "이제 이 모드를 사용할 수 있습니다. 사이드바의 모드 아이콘을 클릭하여 탭을 전환하세요.", + done: "완료", + goToMcp: "MCP 탭으로 이동", + goToModes: "모드 설정으로 이동", + moreInfoMcp: "{{name}} MCP 문서 보기", + validationRequired: "{{paramName}}에 대한 값을 입력해주세요", + prerequisites: "전제 조건", + }, + $Ae = { + title: "Marketplace 소스 설정", + description: + "Marketplace 아이템이 포함된 Git 저장소를 추가하세요. Marketplace를 탐색할 때 이러한 저장소가 가져와집니다.", + add: { + title: "새 소스 추가", + urlPlaceholder: "Git 저장소 URL (예: https://github.com/username/repo)", + urlFormats: + "지원되는 형식: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git) 또는 Git 프로토콜 (git://github.com/username/repo.git)", + namePlaceholder: "표시 이름 (최대 20자)", + button: "소스 추가", + }, + current: { + title: "현재 소스", + empty: "설정된 소스가 없습니다. 시작하려면 소스를 추가하세요.", + refresh: "이 소스 새로고침", + remove: "소스 삭제", + }, + errors: { + emptyUrl: "URL은 비워둘 수 없습니다", + invalidUrl: "잘못된 URL 형식", + nonVisibleChars: "URL에 공백 외의 보이지 않는 문자가 포함되어 있습니다", + invalidGitUrl: "URL은 유효한 Git 저장소 URL이어야 합니다 (예: https://github.com/username/repo)", + duplicateUrl: "이 URL은 이미 목록에 있습니다 (대소문자 및 공백 무시됨)", + nameTooLong: "이름은 20자 이하여야 합니다", + nonVisibleCharsName: "이름에 공백 외의 보이지 않는 문자가 포함되어 있습니다", + duplicateName: "이 이름은 이미 사용 중입니다 (대소문자 및 공백 무시됨)", + emojiName: "이모지 문자는 표시 문제를 일으킬 수 있습니다", + maxSources: "최대 {{max}}개의 소스가 허용됩니다", + }, + }, + LAe = { + mode: { + title: "모드 제거", + message: "정말로 '{{modeName}}' 모드를 제거하시겠습니까?", + rulesWarning: "이렇게 하면 이 모드와 관련된 모든 규칙 파일도 제거됩니다.", + }, + mcp: { title: "MCP 서버 제거", message: "정말로 '{{mcpName}}' MCP 서버를 제거하시겠습니까?" }, + cancel: "취소", + confirm: "제거", + }, + DAe = { + issueText: + "Marketplace 아이템에 문제가 있거나 새로운 아이템에 대한 제안이 있나요? <0>GitHub issue를 열어서</0> 알려주세요!", + }, + ryt = { + title: PAe, + tabs: RAe, + done: TAe, + refresh: IAe, + filters: MAe, + sections: jAe, + "type-group": { modes: "모드", mcps: "MCP 서버" }, + items: EAe, + install: zAe, + sources: $Ae, + removeConfirm: LAe, + footer: DAe, + }, + iyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: ryt, + done: TAe, + filters: MAe, + footer: DAe, + install: zAe, + items: EAe, + refresh: IAe, + removeConfirm: LAe, + sections: jAe, + sources: $Ae, + tabs: RAe, + title: PAe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + NAe = "MCP 서버", + OAe = "완료", + FAe = "MCP 마켓플레이스", + BAe = + '<0>Model Context Protocol</0>은 로컬에서 실행되는 MCP 서버와 통신하여 Roo의 기능을 확장하는 추가 도구 및 리소스를 제공합니다. <1>커뮤니티에서 만든 서버</1>를 사용하거나 Roo에게 작업 흐름에 맞는 새로운 도구를 만들도록 요청할 수 있습니다 (예: "최신 npm 문서를 가져오는 도구 추가").', + UAe = "지침", + qAe = { + title: "MCP 서버 활성화", + description: + "이걸 켜면 Roo가 연결된 MCP 서버의 도구를 쓸 수 있어. Roo의 능력이 더 늘어나! 추가 도구를 쓸 생각이 없다면, API 토큰 비용을 줄이기 위해 꺼 두는 게 좋아.", + }, + WAe = { + title: "MCP 서버 생성 활성화", + description: + "이걸 켜면 Roo가 <1>새로운</1> 맞춤형 MCP 서버를 만드는 걸 도와줄 수 있어. <0>서버 생성에 대해 알아보기</0>", + hint: "팁: API 토큰 비용을 줄이고 싶으면, Roo에게 새 MCP 서버를 만들라고 하지 않을 때 이 설정을 꺼 둬.", + }, + KAe = "글로벌 MCP 편집", + VAe = "프로젝트 MCP 편집", + HAe = "MCP 설정 파일 편집 방법 더 알아보기", + GAe = { + alwaysAllow: "항상 허용", + parameters: "매개변수", + noDescription: "설명 없음", + togglePromptInclusion: "프롬프트 포함 여부 전환", + }, + QAe = { tools: "도구", resources: "리소스", errors: "오류" }, + ZAe = { noTools: "도구를 찾을 수 없음", noResources: "리소스를 찾을 수 없음", noErrors: "오류를 찾을 수 없음" }, + YAe = { + label: "네트워크 타임아웃", + description: "서버 응답을 기다리는 최대 시간", + options: { + "15seconds": "15초", + "30seconds": "30초", + "1minute": "1분", + "5minutes": "5분", + "10minutes": "10분", + "15minutes": "15분", + "30minutes": "30분", + "60minutes": "60분", + }, + }, + XAe = { + title: "MCP 서버 삭제", + description: '정말로 MCP 서버 "{{serverName}}"을(를) 삭제할까? 이 작업은 되돌릴 수 없어.', + cancel: "취소", + delete: "삭제", + }, + JAe = { retrying: "다시 시도 중...", retryConnection: "연결 다시 시도" }, + ePe = "MCP 서버 새로 고침", + tPe = { running: "실행 중", completed: "완료됨", error: "오류" }, + syt = { + title: NAe, + done: OAe, + marketplace: FAe, + description: BAe, + instructions: UAe, + enableToggle: qAe, + enableServerCreation: WAe, + editGlobalMCP: KAe, + editProjectMCP: VAe, + learnMoreEditingSettings: HAe, + tool: GAe, + tabs: QAe, + emptyState: ZAe, + networkTimeout: YAe, + deleteDialog: XAe, + serverStatus: JAe, + refreshMCP: ePe, + execution: tPe, + }, + ayt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: syt, + deleteDialog: XAe, + description: BAe, + done: OAe, + editGlobalMCP: KAe, + editProjectMCP: VAe, + emptyState: ZAe, + enableServerCreation: WAe, + enableToggle: qAe, + execution: tPe, + instructions: UAe, + learnMoreEditingSettings: HAe, + marketplace: FAe, + networkTimeout: YAe, + refreshMCP: ePe, + serverStatus: JAe, + tabs: QAe, + title: NAe, + tool: GAe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + nPe = "모드", + oPe = "완료", + rPe = { + title: "모드", + createNewMode: "새 모드 만들기", + importMode: "모드 가져오기", + noMatchFound: "모드를 찾을 수 없습니다", + editModesConfig: "모드 구성 편집", + editGlobalModes: "전역 모드 편집", + editProjectModes: "프로젝트 모드 편집 (.roomodes)", + createModeHelpText: + "모드는 Roo의 행동을 맞춤화하는 특화된 페르소나입니다. <0>모드 사용에 대해 알아보기</0> 또는 <1>모드 사용자 정의하기.</1>", + selectMode: "모드 검색", + }, + iPe = { title: "API 구성", select: "이 모드에 사용할 API 구성 선택" }, + sPe = { + title: "사용 가능한 도구", + builtInModesText: "내장 모드용 도구는 수정할 수 없습니다", + editTools: "도구 편집", + doneEditing: "편집 완료", + allowedFiles: "허용된 파일:", + toolNames: { + read: "파일 읽기", + edit: "파일 편집", + browser: "브라우저 사용", + command: "명령 실행", + mcp: "MCP 사용", + }, + noTools: "없음", + }, + aPe = { + title: "역할 정의", + resetToDefault: "기본값으로 재설정", + description: + "이 모드에 대한 Roo의 전문성과 성격을 정의하세요. 이 설명은 Roo가 자신을 어떻게 표현하고 작업에 접근하는지 형성합니다.", + }, + lPe = { + title: "짧은 설명 (사람용)", + resetToDefault: "기본 설명으로 재설정", + description: "모드 선택기 드롭다운에 표시되는 간단한 설명입니다.", + }, + cPe = { + title: "사용 시기 (선택 사항)", + description: + "이 모드를 언제 사용해야 하는지 설명합니다. 이는 Orchestrator가 작업에 적합한 모드를 선택하는 데 도움이 됩니다.", + resetToDefault: "'사용 시기' 설명을 기본값으로 재설정", + }, + dPe = { + title: "모드별 사용자 지정 지침 (선택 사항)", + resetToDefault: "기본값으로 재설정", + description: "{{modeName}} 모드에 대한 특정 행동 지침을 추가하세요.", + loadFromFile: + "{{mode}} 모드에 대한 사용자 지정 지침은 작업 공간의 <span>.roo/rules-{{slug}}/</span> 폴더에서도 로드할 수 있습니다(.roorules-{{slug}}와 .clinerules-{{slug}}는 더 이상 사용되지 않으며 곧 작동을 중단합니다).", + }, + uPe = { + title: "모드 내보내기", + description: "이 모드를 모든 규칙이 포함된 YAML 파일로 내보내어 다른 사람들과 쉽게 공유할 수 있습니다.", + export: "모드 내보내기", + exporting: "내보내는 중...", + }, + pPe = { + selectLevel: "이 모드를 가져올 위치를 선택하세요:", + import: "가져오기", + importing: "가져오는 중...", + global: { + label: "전역 수준", + description: "모든 프로젝트에서 사용 가능합니다. 규칙은 사용자 지정 지침에 병합됩니다.", + }, + project: { + label: "프로젝트 수준", + description: + "이 작업 공간에서만 사용할 수 있습니다. 내보낸 모드에 규칙 파일이 포함된 경우 .roo/rules-{slug}/ 폴더에 다시 생성됩니다.", + }, + }, + mPe = { title: "고급" }, + hPe = { + title: "모든 모드에 대한 사용자 지정 지침", + description: + "이 지침은 모든 모드에 적용됩니다. 아래의 모드별 지침으로 향상될 수 있는 기본 동작 세트를 제공합니다. <0>더 알아보기</0>", + loadFromFile: + "지침은 작업 공간의 <span>.roo/rules/</span> 폴더에서도 로드할 수 있습니다(.roorules와 .clinerules는 더 이상 사용되지 않으며 곧 작동을 중단합니다).", + }, + fPe = { + preview: "시스템 프롬프트 미리보기", + copy: "시스템 프롬프트를 클립보드에 복사", + title: "시스템 프롬프트 ({{modeName}} 모드)", + }, + gPe = { + title: "지원 프롬프트", + resetPrompt: "{{promptType}} 프롬프트를 기본값으로 재설정", + prompt: "프롬프트", + enhance: { + apiConfiguration: "API 구성", + apiConfigDescription: + "프롬프트 향상에 항상 사용할 API 구성을 선택하거나, 현재 선택된 구성을 사용할 수 있습니다", + useCurrentConfig: "현재 선택된 API 구성 사용", + testPromptPlaceholder: "향상을 테스트할 프롬프트 입력", + previewButton: "프롬프트 향상 미리보기", + testEnhancement: "향상 테스트", + includeTaskHistory: "작업 기록을 컨텍스트로 포함", + includeTaskHistoryDescription: + "활성화하면 현재 대화의 마지막 10개 메시지가 프롬프트 향상 시 컨텍스트로 포함되어 더 관련성 높고 컨텍스트를 인식하는 제안을 생성하는 데 도움이 됩니다.", + }, + condense: { + apiConfiguration: "컨텍스트 압축을 위한 API 구성", + apiConfigDescription: + "컨텍스트 압축 작업에 사용할 API 구성을 선택합니다. 현재 활성 구성을 사용하려면 선택하지 않은 상태로 둡니다.", + useCurrentConfig: "현재 선택된 API 구성 사용", + }, + types: { + ENHANCE: { + label: "프롬프트 향상", + description: + "입력에 맞춤화된 제안이나 개선을 얻기 위해 프롬프트 향상을 사용하세요. 이를 통해 Roo가 의도를 이해하고 최상의 응답을 제공할 수 있습니다. 채팅에서 ✨ 아이콘을 통해 이용 가능합니다.", + }, + CONDENSE: { + label: "컨텍스트 압축", + description: + "토큰 제한을 관리하기 위해 대화 컨텍스트를 압축하는 방법을 구성합니다. 이 프롬프트는 수동 및 자동 컨텍스트 압축 작업 모두에 사용됩니다.", + }, + EXPLAIN: { + label: "코드 설명", + description: + "코드 스니펫, 함수 또는 전체 파일에 대한 상세한 설명을 얻을 수 있습니다. 복잡한 코드를 이해하거나 새로운 패턴을 배우는 데 유용합니다. 코드 액션(에디터의 전구 아이콘)과 에디터 컨텍스트 메뉴(선택한 코드에서 우클릭)에서 이용 가능합니다.", + }, + FIX: { + label: "문제 해결", + description: + "버그, 오류 또는 코드 품질 문제를 식별하고 해결하는 데 도움을 받을 수 있습니다. 문제 해결을 위한 단계별 안내를 제공합니다. 코드 액션(에디터의 전구 아이콘)과 에디터 컨텍스트 메뉴(선택한 코드에서 우클릭)에서 이용 가능합니다.", + }, + IMPROVE: { + label: "코드 개선", + description: + "기능을 유지하면서 코드 최적화, 더 나은 관행 및 아키텍처 개선에 대한 제안을 받을 수 있습니다. 코드 액션(에디터의 전구 아이콘)과 에디터 컨텍스트 메뉴(선택한 코드에서 우클릭)에서 이용 가능합니다.", + }, + ADD_TO_CONTEXT: { + label: "컨텍스트에 추가", + description: + "현재 작업이나 대화에 컨텍스트를 추가합니다. 추가 정보나 명확한 설명을 제공하는 데 유용합니다. 코드 액션(에디터의 전구 아이콘)과 에디터 컨텍스트 메뉴(선택한 코드에서 우클릭)에서 이용 가능합니다.", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "터미널 콘텐츠를 컨텍스트에 추가", + description: + "현재 작업이나 대화에 터미널 출력을 추가합니다. 명령 출력이나 로그를 제공하는 데 유용합니다. 터미널 컨텍스트 메뉴(선택한 터미널 콘텐츠에서 우클릭)에서 이용 가능합니다.", + }, + TERMINAL_FIX: { + label: "터미널 명령 수정", + description: + "실패했거나 개선이 필요한 터미널 명령을 수정하는 데 도움을 받을 수 있습니다. 터미널 컨텍스트 메뉴(선택한 터미널 콘텐츠에서 우클릭)에서 이용 가능합니다.", + }, + TERMINAL_EXPLAIN: { + label: "터미널 명령 설명", + description: + "터미널 명령과 그 출력에 대한 상세한 설명을 얻을 수 있습니다. 터미널 컨텍스트 메뉴(선택한 터미널 콘텐츠에서 우클릭)에서 이용 가능합니다.", + }, + NEW_TASK: { + label: "새 작업 시작", + description: "입력한 내용으로 새 작업을 시작할 수 있습니다. 명령 팔레트에서 이용 가능합니다.", + }, + }, + }, + vPe = { + title: "고급: 시스템 프롬프트 재정의", + description: + "<2>⚠️ 경고:</2> 이 고급 기능은 안전 장치를 우회합니다. <1>사용하기 전에 이것을 읽으십시오!</1>작업 공간의 <span>.roo/system-prompt-{{slug}}</span>에 파일을 생성하여 기본 시스템 프롬프트를 재정의합니다.", + }, + bPe = { + title: "새 모드 만들기", + close: "닫기", + name: { label: "이름", placeholder: "모드 이름 입력" }, + slug: { + label: "슬러그", + description: + "슬러그는 URL 및 파일 이름에 사용됩니다. 소문자여야 하며 문자, 숫자 및 하이픈만 포함해야 합니다.", + }, + saveLocation: { + label: "저장 위치", + description: "이 모드를 저장할 위치를 선택하세요. 프로젝트별 모드는 전역 모드보다 우선합니다.", + global: { label: "전역", description: "모든 작업 공간에서 사용 가능" }, + project: { label: "프로젝트별 (.roomodes)", description: "이 작업 공간에서만 사용 가능, 전역보다 우선" }, + }, + roleDefinition: { label: "역할 정의", description: "이 모드에 대한 Roo의 전문성과 성격을 정의하세요." }, + whenToUse: { + label: "사용 시기 (선택 사항)", + description: "이 모드가 가장 효과적인 시기와 어떤 유형의 작업에 적합한지에 대한 명확한 설명을 제공하세요.", + }, + tools: { label: "사용 가능한 도구", description: "이 모드가 사용할 수 있는 도구를 선택하세요." }, + description: { label: "짧은 설명 (사람용)", description: "모드 선택기 드롭다운에 표시되는 간단한 설명입니다." }, + customInstructions: { + label: "사용자 지정 지침 (선택 사항)", + description: "이 모드에 대한 특정 행동 지침을 추가하세요.", + }, + buttons: { cancel: "취소", create: "모드 만들기" }, + deleteMode: "모드 삭제", + }, + yPe = "모든 파일", + kPe = { + title: "모드 삭제", + message: '"{{modeName}}" 모드를 삭제하시겠습니까?', + rulesFolder: "이 모드에는 {{folderPath}}에 규칙 폴더가 있으며 함께 삭제됩니다.", + descriptionNoRules: "이 사용자 정의 모드를 삭제하시겠습니까?", + confirm: "삭제", + cancel: "취소", + }, + lyt = { + title: nPe, + done: oPe, + modes: rPe, + apiConfiguration: iPe, + tools: sPe, + roleDefinition: aPe, + description: lPe, + whenToUse: cPe, + customInstructions: dPe, + exportMode: uPe, + importMode: pPe, + advanced: mPe, + globalCustomInstructions: hPe, + systemPrompt: fPe, + supportPrompts: gPe, + advancedSystemPrompt: vPe, + createModeDialog: bPe, + allFiles: yPe, + deleteMode: kPe, + }, + cyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: mPe, + advancedSystemPrompt: vPe, + allFiles: yPe, + apiConfiguration: iPe, + createModeDialog: bPe, + customInstructions: dPe, + default: lyt, + deleteMode: kPe, + description: lPe, + done: oPe, + exportMode: uPe, + globalCustomInstructions: hPe, + importMode: pPe, + modes: rPe, + roleDefinition: aPe, + supportPrompts: gPe, + systemPrompt: fPe, + title: nPe, + tools: sPe, + whenToUse: cPe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + xPe = { + save: "저장", + done: "완료", + cancel: "취소", + reset: "초기화", + select: "선택", + add: "헤더 추가", + remove: "삭제", + }, + wPe = { + title: "설정", + saveButtonTooltip: "변경 사항 저장", + nothingChangedTooltip: "변경 사항 없음", + doneButtonTooltip: "저장되지 않은 변경 사항을 버리고 설정 패널 닫기", + }, + _Pe = { + title: "저장되지 않은 변경 사항", + description: "변경 사항을 버리고 계속하시겠습니까?", + cancelButton: "취소", + discardButton: "변경 사항 버리기", + }, + CPe = { + providers: "공급자", + autoApprove: "자동 승인", + browser: "컴퓨터 접근", + checkpoints: "체크포인트", + notifications: "알림", + contextManagement: "컨텍스트", + terminal: "터미널", + prompts: "프롬프트", + experimental: "실험적", + language: "언어", + about: "Roo Code 정보", + }, + SPe = { + description: + "프롬프트 향상, 코드 설명, 문제 해결과 같은 빠른 작업에 사용되는 지원 프롬프트를 구성합니다. 이러한 프롬프트는 Roo가 일반적인 개발 작업에 대해 더 나은 지원을 제공하는 데 도움이 됩니다.", + }, + APe = { + title: "코드베이스 인덱싱", + enableLabel: "코드베이스 인덱싱 활성화", + enableDescription: "향상된 검색 및 컨텍스트 이해를 위해 코드 인덱싱 활성화", + providerLabel: "임베딩 제공자", + selectProviderPlaceholder: "제공자 선택", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API 키:", + geminiApiKeyPlaceholder: "Gemini API 키를 입력하세요", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API 키:", + mistralApiKeyPlaceholder: "Mistral API 키를 입력하세요", + openaiCompatibleProvider: "OpenAI 호환", + openAiKeyLabel: "OpenAI API 키", + openAiKeyPlaceholder: "OpenAI API 키를 입력하세요", + openAiCompatibleBaseUrlLabel: "기본 URL", + openAiCompatibleApiKeyLabel: "API 키", + openAiCompatibleApiKeyPlaceholder: "API 키를 입력하세요", + openAiCompatibleModelDimensionLabel: "임베딩 차원:", + modelDimensionLabel: "모델 차원", + openAiCompatibleModelDimensionPlaceholder: "예: 1536", + openAiCompatibleModelDimensionDescription: + "모델의 임베딩 차원(출력 크기)입니다. 이 값에 대해서는 제공업체의 문서를 확인하세요. 일반적인 값: 384, 768, 1536, 3072.", + modelLabel: "모델", + selectModelPlaceholder: "모델 선택", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant 키:", + startIndexingButton: "시작", + clearIndexDataButton: "인덱스 지우기", + unsavedSettingsMessage: "인덱싱 프로세스를 시작하기 전에 설정을 저장해 주세요.", + clearDataDialog: { + title: "확실합니까?", + description: "이 작업은 취소할 수 없습니다. 코드베이스 인덱스 데이터가 영구적으로 삭제됩니다.", + cancelButton: "취소", + confirmButton: "데이터 지우기", + }, + description: + "프로젝트의 시맨틱 검색을 활성화하기 위한 코드베이스 인덱싱 설정을 구성합니다. <0>자세히 알아보기</0>", + statusTitle: "상태", + settingsTitle: "인덱싱 설정", + disabledMessage: + "코드베이스 인덱싱이 현재 비활성화되어 있습니다. 인덱싱 옵션을 구성하려면 전역 설정에서 활성화하세요.", + embedderProviderLabel: "임베더 제공자", + modelPlaceholder: "모델 이름을 입력하세요", + selectModel: "모델 선택", + ollamaBaseUrlLabel: "Ollama 기본 URL", + qdrantApiKeyLabel: "Qdrant API 키", + qdrantApiKeyPlaceholder: "Qdrant API 키를 입력하세요 (선택사항)", + setupConfigLabel: "설정", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "설정을 저장하지 못했습니다", + modelDimensions: "({{dimension}} 차원)", + saveSuccess: "설정이 성공적으로 저장되었습니다", + saving: "저장 중...", + saveSettings: "저장", + indexingStatuses: { standby: "대기", indexing: "인덱싱 중", indexed: "인덱싱됨", error: "오류" }, + close: "닫기", + validation: { + invalidQdrantUrl: "잘못된 Qdrant URL", + invalidOllamaUrl: "잘못된 Ollama URL", + invalidBaseUrl: "잘못된 기본 URL", + qdrantUrlRequired: "Qdrant URL이 필요합니다", + openaiApiKeyRequired: "OpenAI API 키가 필요합니다", + modelSelectionRequired: "모델 선택이 필요합니다", + apiKeyRequired: "API 키가 필요합니다", + modelIdRequired: "모델 ID가 필요합니다", + modelDimensionRequired: "모델 차원이 필요합니다", + geminiApiKeyRequired: "Gemini API 키가 필요합니다", + mistralApiKeyRequired: "Mistral API 키가 필요합니다", + ollamaBaseUrlRequired: "Ollama 기본 URL이 필요합니다", + baseUrlRequired: "기본 URL이 필요합니다", + modelDimensionMinValue: "모델 차원은 0보다 커야 합니다", + }, + advancedConfigLabel: "고급 구성", + searchMinScoreLabel: "검색 점수 임계값", + searchMinScoreDescription: + "검색 결과에 필요한 최소 유사도 점수(0.0-1.0). 값이 낮을수록 더 많은 결과가 반환되지만 관련성이 떨어질 수 있습니다. 값이 높을수록 결과는 적지만 관련성이 높은 결과가 반환됩니다.", + searchMinScoreResetTooltip: "기본값(0.4)으로 재설정", + searchMaxResultsLabel: "최대 검색 결과", + searchMaxResultsDescription: + "코드베이스 인덱스를 쿼리할 때 반환할 최대 검색 결과 수입니다. 값이 높을수록 더 많은 컨텍스트를 제공하지만 관련성이 낮은 결과가 포함될 수 있습니다.", + resetToDefault: "기본값으로 재설정", + }, + PPe = { + description: + "Roo가 승인 없이 자동으로 작업을 수행할 수 있도록 허용합니다. AI를 완전히 신뢰하고 관련 보안 위험을 이해하는 경우에만 이러한 설정을 활성화하세요.", + enabled: "자동 승인 활성화됨", + toggleAriaLabel: "자동 승인 전환", + disabledAriaLabel: "자동 승인 비활성화됨 - 먼저 옵션을 선택하세요", + readOnly: { + label: "읽기", + description: "활성화되면 Roo는 승인 버튼을 클릭하지 않고도 자동으로 디렉토리 내용을 보고 파일을 읽습니다.", + outsideWorkspace: { + label: "워크스페이스 외부 파일 포함", + description: "Roo가 승인 없이 현재 워크스페이스 외부의 파일을 읽을 수 있도록 허용합니다.", + }, + }, + write: { + label: "쓰기", + description: "승인 없이 자동으로 파일 생성 및 편집", + delayLabel: "진단이 잠재적 문제를 감지할 수 있도록 쓰기 후 지연", + outsideWorkspace: { + label: "워크스페이스 외부 파일 포함", + description: "Roo가 승인 없이 현재 워크스페이스 외부의 파일을 생성하고 편집할 수 있도록 허용합니다.", + }, + protected: { + label: "보호된 파일 포함", + description: + "Roo가 보호된 파일(.rooignore 및 .roo/ 구성 파일 등)을 승인 없이 생성하고 편집할 수 있도록 허용합니다.", + }, + }, + browser: { + label: "브라우저", + description: "승인 없이 자동으로 브라우저 작업 수행 — 참고: 모델이 컴퓨터 사용을 지원할 때만 적용됩니다", + }, + retry: { + label: "재시도", + description: "서버가 오류 응답을 반환할 때 자동으로 실패한 API 요청 재시도", + delayLabel: "요청 재시도 전 지연", + }, + mcp: { + label: "MCP", + description: + 'MCP 서버 보기에서 개별 MCP 도구의 자동 승인 활성화(이 설정과 도구의 "항상 허용" 체크박스 모두 필요)', + }, + modeSwitch: { label: "모드", description: "승인 없이 자동으로 다양한 모드 간 전환" }, + subtasks: { label: "하위 작업", description: "승인 없이 하위 작업 생성 및 완료 허용" }, + followupQuestions: { + label: "질문", + description: "설정된 시간이 지나면 후속 질문에 대한 첫 번째 제안 답변을 자동으로 선택합니다", + timeoutLabel: "첫 번째 답변을 자동 선택하기 전 대기 시간", + }, + execute: { + label: "실행", + description: "승인 없이 자동으로 허용된 터미널 명령 실행", + allowedCommands: "허용된 자동 실행 명령", + allowedCommandsDescription: + '"실행 작업 항상 승인"이 활성화되었을 때 자동 실행될 수 있는 명령 접두사. 모든 명령을 허용하려면 * 추가(주의해서 사용)', + deniedCommands: "거부된 명령", + deniedCommandsDescription: + "승인을 요청하지 않고 자동으로 거부될 명령 접두사. 허용된 명령과 충돌하는 경우 가장 긴 접두사 일치가 우선됩니다. 모든 명령을 거부하려면 * 추가", + commandPlaceholder: "명령 접두사 입력(예: 'git ')", + deniedCommandPlaceholder: "거부할 명령 접두사 입력(예: 'rm -rf')", + addButton: "추가", + autoDenied: + "접두사 `{{prefix}}`를 가진 명령어는 사용자에 의해 금지되었습니다. 다른 명령어를 실행하여 이 제한을 우회하지 마세요.", + }, + updateTodoList: { label: "Todo", description: "승인 없이 자동으로 할 일 목록이 업데이트됩니다" }, + apiRequestLimit: { + title: "최대 요청 수", + description: "작업을 계속하기 위한 승인을 요청하기 전에 자동으로 이 수의 API 요청을 수행합니다.", + unlimited: "무제한", + }, + selectOptionsFirst: "자동 승인을 활성화하려면 아래에서 하나 이상의 옵션을 선택하세요", + apiCostLimit: { unlimited: "무제한", title: "최대 비용" }, + maxLimits: { description: "이러한 한도까지 자동으로 요청을 수행한 후, 계속 진행하기 위한 승인을 요청합니다." }, + }, + RPe = { + providerDocumentation: "{{provider}} 문서", + configProfile: "구성 프로필", + description: "다양한 API 구성을 저장하여 제공자와 설정 간에 빠르게 전환할 수 있습니다.", + apiProvider: "API 제공자", + model: "모델", + nameEmpty: "이름은 비워둘 수 없습니다", + nameExists: "이 이름의 프로필이 이미 존재합니다", + deleteProfile: "프로필 삭제", + invalidArnFormat: "잘못된 ARN 형식입니다. 위의 예시를 확인하세요.", + enterNewName: "새 이름 입력", + addProfile: "프로필 추가", + renameProfile: "프로필 이름 변경", + newProfile: "새 구성 프로필", + enterProfileName: "프로필 이름 입력", + createProfile: "프로필 생성", + cannotDeleteOnlyProfile: "유일한 프로필은 삭제할 수 없습니다", + searchPlaceholder: "프로필 검색", + searchProviderPlaceholder: "공급자 검색", + noProviderMatchFound: "공급자를 찾을 수 없습니다", + noMatchFound: "일치하는 프로필이 없습니다", + vscodeLmDescription: + "VS Code 언어 모델 API를 사용하면 GitHub Copilot을 포함한 기타 VS Code 확장 프로그램이 제공하는 모델을 실행할 수 있습니다. 시작하려면 VS Code 마켓플레이스에서 Copilot 및 Copilot Chat 확장 프로그램을 설치하는 것이 가장 쉽습니다.", + awsCustomArnUse: "사용하려는 모델의 유효한 Amazon Bedrock ARN을 입력하세요. 형식 예시:", + awsCustomArnDesc: "ARN의 리전이 위에서 선택한 AWS 리전과 일치하는지 확인하세요.", + openRouterApiKey: "OpenRouter API 키", + getOpenRouterApiKey: "OpenRouter API 키 받기", + apiKeyStorageNotice: "API 키는 VSCode의 보안 저장소에 안전하게 저장됩니다", + glamaApiKey: "Glama API 키", + getGlamaApiKey: "Glama API 키 받기", + useCustomBaseUrl: "사용자 정의 기본 URL 사용", + useReasoning: "추론 활성화", + useHostHeader: "사용자 정의 Host 헤더 사용", + useLegacyFormat: "레거시 OpenAI API 형식 사용", + customHeaders: "사용자 정의 헤더", + headerName: "헤더 이름", + headerValue: "헤더 값", + noCustomHeaders: "정의된 사용자 정의 헤더가 없습니다. + 버튼을 클릭하여 추가하세요.", + requestyApiKey: "Requesty API 키", + refreshModels: { + label: "모델 새로고침", + hint: "최신 모델을 보려면 설정을 다시 열어주세요.", + loading: "모델 목록 새로고침 중...", + success: "모델 목록이 성공적으로 새로고침되었습니다!", + error: "모델 목록 새로고침에 실패했습니다. 다시 시도해 주세요.", + }, + getRequestyApiKey: "Requesty API 키 받기", + openRouterTransformsText: "프롬프트와 메시지 체인을 컨텍스트 크기로 압축 (<a>OpenRouter Transforms</a>)", + anthropicApiKey: "Anthropic API 키", + getAnthropicApiKey: "Anthropic API 키 받기", + anthropicUseAuthToken: "X-Api-Key 대신 Authorization 헤더로 Anthropic API 키 전달", + cerebrasApiKey: "Cerebras API 키", + getCerebrasApiKey: "Cerebras API 키 가져오기", + chutesApiKey: "Chutes API 키", + getChutesApiKey: "Chutes API 키 받기", + fireworksApiKey: "Fireworks API 키", + getFireworksApiKey: "Fireworks API 키 받기", + deepSeekApiKey: "DeepSeek API 키", + getDeepSeekApiKey: "DeepSeek API 키 받기", + doubaoApiKey: "Doubao API 키", + getDoubaoApiKey: "Doubao API 키 받기", + moonshotApiKey: "Moonshot API 키", + getMoonshotApiKey: "Moonshot API 키 받기", + moonshotBaseUrl: "Moonshot 엔트리포인트", + zaiApiKey: "Z AI API 키", + getZaiApiKey: "Z AI API 키 받기", + zaiEntrypoint: "Z AI 엔트리포인트", + zaiEntrypointDescription: + "위치에 따라 적절한 API 엔트리포인트를 선택하세요. 중국에 있다면 open.bigmodel.cn을 선택하세요. 그렇지 않으면 api.z.ai를 선택하세요.", + geminiApiKey: "Gemini API 키", + getGroqApiKey: "Groq API 키 받기", + groqApiKey: "Groq API 키", + getSambaNovaApiKey: "SambaNova API 키 받기", + sambaNovaApiKey: "SambaNova API 키", + getGeminiApiKey: "Gemini API 키 받기", + getHuggingFaceApiKey: "Hugging Face API 키 받기", + huggingFaceApiKey: "Hugging Face API 키", + huggingFaceModelId: "모델 ID", + huggingFaceLoading: "로딩 중...", + huggingFaceModelsCount: "({{count}}개 모델)", + huggingFaceSelectModel: "모델 선택...", + huggingFaceSearchModels: "모델 검색...", + huggingFaceNoModelsFound: "모델을 찾을 수 없음", + huggingFaceProvider: "제공자", + huggingFaceProviderAuto: "자동", + huggingFaceSelectProvider: "제공자 선택...", + huggingFaceSearchProviders: "제공자 검색...", + huggingFaceNoProvidersFound: "제공자를 찾을 수 없음", + apiKey: "API 키", + openAiApiKey: "OpenAI API 키", + openAiBaseUrl: "기본 URL", + getOpenAiApiKey: "OpenAI API 키 받기", + mistralApiKey: "Mistral API 키", + getMistralApiKey: "Mistral / Codestral API 키 받기", + codestralBaseUrl: "Codestral 기본 URL (선택사항)", + codestralBaseUrlDesc: "Codestral 모델의 대체 URL을 설정합니다.", + xaiApiKey: "xAI API 키", + getXaiApiKey: "xAI API 키 받기", + litellmApiKey: "LiteLLM API 키", + litellmBaseUrl: "LiteLLM 기본 URL", + awsCredentials: "AWS 자격 증명", + awsProfile: "AWS 프로필", + awsApiKey: "Amazon Bedrock API 키", + awsProfileName: "AWS 프로필 이름", + awsAccessKey: "AWS 액세스 키", + awsSecretKey: "AWS 시크릿 키", + awsSessionToken: "AWS 세션 토큰", + awsRegion: "AWS 리전", + awsCrossRegion: "교차 리전 추론 사용", + awsBedrockVpc: { + useCustomVpcEndpoint: "사용자 지정 VPC 엔드포인트 사용", + vpcEndpointUrlPlaceholder: "VPC 엔드포인트 URL 입력 (선택사항)", + examples: "예시:", + }, + enablePromptCaching: "프롬프트 캐시 활성화", + enablePromptCachingTitle: + "지원되는 모델의 성능을 향상시키고 비용을 절감하기 위해 프롬프트 캐시를 활성화합니다.", + cacheUsageNote: + "참고: 캐시 사용이 표시되지 않는 경우, 다른 모델을 선택한 다음 원하는 모델을 다시 선택해 보세요.", + vscodeLmModel: "언어 모델", + vscodeLmWarning: + "참고: 이는 매우 실험적인 통합이며, 공급자 지원은 다를 수 있습니다. 모델이 지원되지 않는다는 오류가 발생하면, 이는 공급자 측의 문제입니다.", + geminiParameters: { + urlContext: { + title: "URL 컨텍스트 활성화", + description: + "응답을 생성할 때 추가 컨텍스트를 위해 Gemini가 URL에 액세스하고 처리할 수 있도록 합니다. 웹 콘텐츠 분석이 필요한 작업에 유용합니다.", + }, + groundingSearch: { + title: "Google 검색과 함께 근거 지정 활성화", + description: + "Gemini가 최신 정보를 얻기 위해 Google을 검색하고 응답을 실시간 데이터에 근거하도록 합니다. 최신 정보가 필요한 쿼리에 유용합니다.", + }, + }, + googleCloudSetup: { + title: "Google Cloud Vertex AI를 사용하려면:", + step1: "1. Google Cloud 계정을 만들고, Vertex AI API를 활성화하고, 원하는 Claude 모델을 활성화하세요.", + step2: "2. Google Cloud CLI를 설치하고 애플리케이션 기본 자격 증명을 구성하세요.", + step3: "3. 또는 자격 증명이 있는 서비스 계정을 만드세요.", + }, + googleCloudCredentials: "Google Cloud 자격 증명", + googleCloudKeyFile: "Google Cloud 키 파일 경로", + googleCloudProjectId: "Google Cloud 프로젝트 ID", + googleCloudRegion: "Google Cloud 리전", + lmStudio: { + baseUrl: "기본 URL (선택사항)", + modelId: "모델 ID", + speculativeDecoding: "추론 디코딩 활성화", + draftModelId: "초안 모델 ID", + draftModelDesc: "추론 디코딩이 올바르게 작동하려면 초안 모델이 동일한 모델 패밀리에서 와야 합니다.", + selectDraftModel: "초안 모델 선택", + noModelsFound: "초안 모델을 찾을 수 없습니다. LM Studio가 서버 모드로 실행 중인지 확인하세요.", + description: + "LM Studio를 사용하면 컴퓨터에서 로컬로 모델을 실행할 수 있습니다. 시작하는 방법은 <a>빠른 시작 가이드</a>를 참조하세요. 이 확장 프로그램과 함께 사용하려면 LM Studio의 <b>로컬 서버</b> 기능도 시작해야 합니다. <span>참고:</span> Roo Code는 복잡한 프롬프트를 사용하며 Claude 모델에서 가장 잘 작동합니다. 덜 강력한 모델은 예상대로 작동하지 않을 수 있습니다.", + }, + ollama: { + baseUrl: "기본 URL (선택사항)", + modelId: "모델 ID", + description: + "Ollama를 사용하면 컴퓨터에서 로컬로 모델을 실행할 수 있습니다. 시작하는 방법은 빠른 시작 가이드를 참조하세요.", + warning: + "참고: Roo Code는 복잡한 프롬프트를 사용하며 Claude 모델에서 가장 잘 작동합니다. 덜 강력한 모델은 예상대로 작동하지 않을 수 있습니다.", + }, + unboundApiKey: "Unbound API 키", + getUnboundApiKey: "Unbound API 키 받기", + unboundRefreshModelsSuccess: "모델 목록이 업데이트되었습니다! 이제 최신 모델에서 선택할 수 있습니다.", + unboundInvalidApiKey: "잘못된 API 키입니다. API 키를 확인하고 다시 시도해 주세요.", + humanRelay: { + description: "API 키가 필요하지 않지만, 사용자가 웹 채팅 AI에 정보를 복사하여 붙여넣어야 합니다.", + instructions: + "사용 중에 대화 상자가 나타나고 현재 메시지가 자동으로 클립보드에 복사됩니다. 이를 웹 버전 AI(예: ChatGPT 또는 Claude)에 붙여넣은 다음, AI의 응답을 대화 상자에 복사하고 확인 버튼을 클릭해야 합니다.", + }, + openRouter: { + providerRouting: { + title: "OpenRouter 제공자 라우팅", + description: + "OpenRouter는 귀하의 모델에 가장 적합한 사용 가능한 제공자에게 요청을 전달합니다. 기본적으로 요청은 가동 시간을 최대화하기 위해 상위 제공자 간에 부하 분산됩니다. 그러나 이 모델에 사용할 특정 제공자를 선택할 수 있습니다.", + learnMore: "제공자 라우팅에 대해 자세히 알아보기", + }, + }, + customModel: { + capabilities: + "사용자 정의 OpenAI 호환 모델의 기능과 가격을 구성하세요. 모델 기능이 Roo Code의 성능에 영향을 미칠 수 있으므로 신중하게 지정하세요.", + maxTokens: { + label: "최대 출력 토큰", + description: + "모델이 응답에서 생성할 수 있는 최대 토큰 수입니다. (서버가 최대 토큰을 설정하도록 하려면 -1을 지정하세요.)", + }, + contextWindow: { + label: "컨텍스트 창 크기", + description: "모델이 처리할 수 있는 총 토큰 수(입력 + 출력)입니다.", + }, + imageSupport: { label: "이미지 지원", description: "이 모델이 이미지를 처리하고 이해할 수 있습니까?" }, + computerUse: { + label: "컴퓨터 사용", + description: "이 모델이 브라우저와 상호 작용할 수 있습니까? (예: Claude 3.7 Sonnet)", + }, + promptCache: { label: "프롬프트 캐시", description: "이 모델이 프롬프트를 캐시할 수 있습니까?" }, + pricing: { + input: { + label: "입력 가격", + description: + "입력/프롬프트의 백만 토큰당 비용입니다. 이는 모델에 컨텍스트와 지침을 보내는 비용에 영향을 미칩니다.", + }, + output: { + label: "출력 가격", + description: + "모델 응답의 백만 토큰당 비용입니다. 이는 생성된 콘텐츠와 완성의 비용에 영향을 미칩니다.", + }, + cacheReads: { + label: "캐시 읽기 가격", + description: + "캐시에서 읽기의 백만 토큰당 비용입니다. 이는 캐시된 응답을 검색할 때 청구되는 가격입니다.", + }, + cacheWrites: { + label: "캐시 쓰기 가격", + description: + "캐시에 쓰기의 백만 토큰당 비용입니다. 이는 프롬프트가 처음 캐시될 때 청구되는 가격입니다.", + }, + }, + resetDefaults: "기본값으로 재설정", + }, + rateLimitSeconds: { label: "속도 제한", description: "API 요청 간 최소 시간." }, + consecutiveMistakeLimit: { + label: "오류 및 반복 제한", + description: "'Roo에 문제가 발생했습니다' 대화 상자를 표시하기 전의 연속 오류 또는 반복 작업 수", + unlimitedDescription: "무제한 재시도 활성화 (자동 진행). 대화 상자가 나타나지 않습니다.", + warning: "⚠️ 0으로 설정하면 무제한 재시도가 허용되어 상당한 API 사용량이 발생할 수 있습니다", + }, + reasoningEffort: { label: "모델 추론 노력", high: "높음", medium: "중간", low: "낮음" }, + setReasoningLevel: "추론 노력 활성화", + claudeCode: { + pathLabel: "클로드 코드 경로", + description: "Claude Code CLI의 선택적 경로입니다. 설정하지 않으면 'claude'가 기본값입니다.", + placeholder: "기본값: claude", + maxTokensLabel: "최대 출력 토큰", + maxTokensDescription: "Claude Code 응답의 최대 출력 토큰 수. 기본값은 8000입니다.", + }, + }, + TPe = { + enable: { + label: "브라우저 도구 활성화", + description: + "활성화되면 Roo는 컴퓨터 사용을 지원하는 모델을 사용할 때 웹사이트와 상호 작용하기 위해 브라우저를 사용할 수 있습니다. <0>더 알아보기</0>", + }, + viewport: { + label: "뷰포트 크기", + description: + "브라우저 상호 작용을 위한 뷰포트 크기를 선택하세요. 이는 웹사이트가 표시되고 상호 작용하는 방식에 영향을 미칩니다.", + options: { + largeDesktop: "대형 데스크톱 (1280x800)", + smallDesktop: "소형 데스크톱 (900x600)", + tablet: "태블릿 (768x1024)", + mobile: "모바일 (360x640)", + }, + }, + screenshotQuality: { + label: "스크린샷 품질", + description: + "브라우저 스크린샷의 WebP 품질을 조정합니다. 높은 값은 더 선명한 스크린샷을 제공하지만 token 사용량이 증가합니다.", + }, + remote: { + label: "원격 브라우저 연결 사용", + description: "원격 디버깅이 활성화된 Chrome 브라우저에 연결합니다(--remote-debugging-port=9222).", + urlPlaceholder: "사용자 정의 URL(예: http://localhost:9222)", + testButton: "연결 테스트", + testingButton: "테스트 중...", + instructions: + "DevTools 프로토콜 호스트 주소를 입력하거나 Chrome 로컬 인스턴스를 자동으로 발견하기 위해 비워두세요. 연결 테스트 버튼은 제공된 경우 사용자 정의 URL을 시도하거나, 필드가 비어 있으면 자동으로 발견합니다.", + }, + }, + IPe = { + enable: { + label: "자동 체크포인트 활성화", + description: + "활성화되면 Roo는 작업 실행 중에 자동으로 체크포인트를 생성하여 변경 사항을 검토하거나 이전 상태로 되돌리기 쉽게 합니다. <0>더 알아보기</0>", + }, + }, + MPe = { + sound: { + label: "사운드 효과 활성화", + description: "활성화되면 Roo는 알림 및 이벤트에 대한 사운드 효과를 재생합니다.", + volumeLabel: "볼륨", + }, + tts: { + label: "음성 합성 활성화", + description: "활성화되면 Roo는 음성 합성을 사용하여 응답을 소리내어 읽습니다.", + speedLabel: "속도", + }, + }, + jPe = { + description: "AI의 컨텍스트 창에 포함되는 정보를 제어하여 token 사용량과 응답 품질에 영향을 미칩니다", + autoCondenseContextPercent: { + label: "지능적 컨텍스트 압축을 트리거하는 임계값", + description: "컨텍스트 창이 이 임계값에 도달하면 Roo가 자동으로 압축합니다.", + }, + condensingApiConfiguration: { + label: "컨텍스트 압축을 위한 API 설정", + description: + "컨텍스트 압축 작업에 사용할 API 설정을 선택하세요. 선택하지 않으면 현재 활성화된 설정을 사용합니다.", + useCurrentConfig: "기본값", + }, + customCondensingPrompt: { + label: "사용자 지정 컨텍스트 압축 프롬프트", + description: + "컨텍스트 압축을 위한 사용자 지정 시스템 프롬프트입니다. 기본 프롬프트를 사용하려면 비워 두세요.", + placeholder: `여기에 사용자 정의 압축 프롬프트를 입력하세요... + +기본 프롬프트와 동일한 구조를 사용할 수 있습니다: +- 이전 대화 +- 현재 작업 +- 주요 기술 개념 +- 관련 파일 및 코드 +- 문제 해결 +- 보류 중인 작업 및 다음 단계`, + reset: "기본값으로 재설정", + hint: "비어있음 = 기본 프롬프트 사용", + }, + autoCondenseContext: { + name: "지능적 컨텍스트 압축 자동 트리거", + description: + "활성화되면 Roo는 임계값에 도달했을 때 자동으로 컨텍스트를 압축합니다. 비활성화되면 여전히 수동으로 컨텍스트 압축을 트리거할 수 있습니다.", + }, + openTabs: { + label: "열린 탭 컨텍스트 제한", + description: + "컨텍스트에 포함할 VSCode 열린 탭의 최대 수. 높은 값은 더 많은 컨텍스트를 제공하지만 token 사용량이 증가합니다.", + }, + workspaceFiles: { + label: "작업 공간 파일 컨텍스트 제한", + description: + "현재 작업 디렉토리 세부 정보에 포함할 파일의 최대 수. 높은 값은 더 많은 컨텍스트를 제공하지만 token 사용량이 증가합니다.", + }, + rooignore: { + label: "목록 및 검색에서 .rooignore 파일 표시", + description: + "활성화되면 .rooignore의 패턴과 일치하는 파일이 잠금 기호와 함께 목록에 표시됩니다. 비활성화되면 이러한 파일은 파일 목록 및 검색에서 완전히 숨겨집니다.", + }, + maxReadFile: { + label: "파일 읽기 자동 축소 임계값", + description: + "모델이 시작/끝 값을 지정하지 않을 때 Roo가 읽는 줄 수입니다. 이 수가 파일의 총 줄 수보다 적으면 Roo는 코드 정의의 줄 번호 인덱스를 생성합니다. 특수한 경우: -1은 Roo에게 전체 파일을 읽도록 지시하고(인덱싱 없이), 0은 줄을 읽지 않고 최소한의 컨텍스트를 위해 줄 인덱스만 제공하도록 지시합니다. 낮은 값은 초기 컨텍스트 사용을 최소화하고, 이후 정확한 줄 범위 읽기를 가능하게 합니다. 명시적 시작/끝 요청은 이 설정의 제한을 받지 않습니다.", + lines: "줄", + always_full_read: "항상 전체 파일 읽기", + }, + maxConcurrentFileReads: { + label: "동시 파일 읽기 제한", + description: + "read_file 도구가 동시에 처리할 수 있는 최대 파일 수입니다. 높은 값은 여러 작은 파일을 읽는 속도를 높일 수 있지만 메모리 사용량이 증가합니다.", + }, + diagnostics: { + includeMessages: { + label: "진단을 자동으로 컨텍스트에 포함", + description: + "활성화되면 편집된 파일의 진단 메시지(오류)가 자동으로 컨텍스트에 포함됩니다. @problems를 사용하여 언제든지 모든 워크스페이스 진단을 수동으로 포함할 수 있습니다.", + }, + maxMessages: { + label: "최대 진단 메시지", + description: + "파일당 포함할 최대 진단 메시지 수입니다. 이 제한은 자동 포함(체크박스가 활성화된 경우)과 수동 @problems 언급 모두에 적용됩니다. 값이 높을수록 더 많은 컨텍스트를 제공하지만 토큰 사용량이 증가합니다.", + resetTooltip: "기본값(50)으로 재설정", + unlimited: "무제한 진단 메시지", + unlimitedLabel: "무제한", + }, + delayAfterWrite: { + label: "진단이 잠재적인 문제를 감지할 수 있도록 쓰기 후 지연", + description: + "파일 쓰기 후 계속 진행하기 전에 대기하는 시간으로, 진단 도구가 변경 사항을 처리하고 문제를 감지할 수 있도록 합니다.", + }, + }, + condensingThreshold: { + label: "압축 트리거 임계값", + selectProfile: "프로필 임계값 구성", + defaultProfile: "글로벌 기본값 (모든 프로필)", + defaultDescription: + "컨텍스트가 이 비율에 도달하면 사용자 정의 설정이 없는 한 모든 프로필에 대해 자동으로 압축됩니다", + profileDescription: "이 프로필만을 위한 사용자 정의 임계값 (글로벌 기본값 재정의)", + inheritDescription: "이 프로필은 글로벌 기본 임계값을 상속합니다 ({{threshold}}%)", + usesGlobal: "(글로벌 {{threshold}}% 사용)", + }, + maxImageFileSize: { + label: "최대 이미지 파일 크기", + mb: "MB", + description: "read file 도구로 처리할 수 있는 이미지 파일의 최대 크기(MB 단위)입니다.", + }, + maxTotalImageSize: { + label: "최대 총 이미지 크기", + mb: "MB", + description: + "단일 read_file 작업에서 처리되는 모든 이미지의 최대 누적 크기 제한(MB 단위)입니다. 여러 이미지를 읽을 때 각 이미지의 크기가 총계에 추가됩니다. 다른 이미지를 포함하면 이 제한을 초과하는 경우 해당 이미지는 건너뜁니다.", + }, + }, + EPe = { + basic: { label: "터미널 설정: 기본", description: "기본 터미널 설정" }, + advanced: { + label: "터미널 설정: 고급", + description: "다음 옵션들은 설정을 적용하기 위해 터미널 재시작이 필요할 수 있습니다", + }, + outputLineLimit: { + label: "터미널 출력 제한", + description: + "명령 실행 시 터미널 출력에 포함할 최대 라인 수. 초과 시 중간에서 라인이 제거되어 token이 절약됩니다. <0>더 알아보기</0>", + }, + outputCharacterLimit: { + label: "터미널 문자 제한", + description: + "명령을 실행할 때 터미널 출력에 포함할 최대 문자 수입니다. 이 제한은 매우 긴 줄로 인한 메모리 문제를 방지하기 위해 줄 제한보다 우선합니다. 초과하면 출력이 잘립니다. <0>더 알아보기</0>", + }, + shellIntegrationTimeout: { + label: "터미널 쉘 통합 타임아웃", + description: + '명령을 실행하기 전에 쉘 통합이 초기화될 때까지 기다리는 최대 시간. 쉘 시작 시간이 긴 사용자의 경우, 터미널에서 "Shell Integration Unavailable" 오류가 표시되면 이 값을 늘려야 할 수 있습니다. <0>더 알아보기</0>', + }, + shellIntegrationDisabled: { + label: "터미널 셸 통합 비활성화", + description: + "터미널 명령이 올바르게 작동하지 않거나 '셸 통합을 사용할 수 없음' 오류가 표시되는 경우 이 옵션을 활성화합니다. 이렇게 하면 일부 고급 터미널 기능을 우회하여 명령을 실행하는 더 간단한 방법을 사용합니다. <0>더 알아보기</0>", + }, + commandDelay: { + label: "터미널 명령 지연", + description: + "명령 실행 후 추가할 지연 시간(밀리초). 기본값 0은 지연을 완전히 비활성화합니다. 이는 타이밍 문제가 있는 터미널에서 명령 출력을 완전히 캡처하는 데 도움이 될 수 있습니다. 대부분의 터미널에서는 `PROMPT_COMMAND='sleep N'`을 설정하여 구현되며, PowerShell은 각 명령 끝에 `start-sleep`을 추가합니다. 원래는 VSCode 버그#237208에 대한 해결책이었으며 필요하지 않을 수 있습니다. <0>더 알아보기</0>", + }, + compressProgressBar: { + label: "진행 표시줄 출력 압축", + description: + "활성화하면 캐리지 리턴(\\r)이 포함된 터미널 출력을 처리하여 실제 터미널이 콘텐츠를 표시하는 방식을 시뮬레이션합니다. 이는 진행 표시줄의 중간 상태를 제거하고 최종 상태만 유지하여 더 관련성 있는 정보를 위한 컨텍스트 공간을 절약합니다. <0>더 알아보기</0>", + }, + powershellCounter: { + label: "PowerShell 카운터 해결 방법 활성화", + description: + "활성화하면 PowerShell 명령에 카운터를 추가하여 명령이 올바르게 실행되도록 합니다. 이는 명령 출력 캡처에 문제가 있을 수 있는 PowerShell 터미널에서 도움이 됩니다. <0>더 알아보기</0>", + }, + zshClearEolMark: { + label: "ZSH 줄 끝 표시 지우기", + description: + "활성화하면 PROMPT_EOL_MARK=''를 설정하여 ZSH 줄 끝 표시를 지웁니다. 이는 '%'와 같은 특수 문자로 끝나는 명령 출력 해석의 문제를 방지합니다. <0>더 알아보기</0>", + }, + zshOhMy: { + label: "Oh My Zsh 통합 활성화", + description: + "활성화하면 ITERM_SHELL_INTEGRATION_INSTALLED=Yes를 설정하여 Oh My Zsh 셸 통합 기능을 활성화합니다. 이 설정을 적용하려면 IDE를 다시 시작해야 할 수 있습니다. <0>더 알아보기</0>", + }, + zshP10k: { + label: "Powerlevel10k 통합 활성화", + description: + "활성화하면 POWERLEVEL9K_TERM_SHELL_INTEGRATION=true를 설정하여 Powerlevel10k 셸 통합 기능을 활성화합니다. <0>더 알아보기</0>", + }, + zdotdir: { + label: "ZDOTDIR 처리 활성화", + description: + "활성화하면 zsh 셸 통합을 올바르게 처리하기 위한 ZDOTDIR용 임시 디렉터리를 생성합니다. 이를 통해 zsh 구성을 유지하면서 VSCode 셸 통합이 zsh와 올바르게 작동합니다. <0>더 알아보기</0>", + }, + inheritEnv: { + label: "환경 변수 상속", + description: + "활성화하면 터미널이 VSCode 부모 프로세스로부터 환경 변수를 상속받습니다. 사용자 프로필에 정의된 셸 통합 설정 등이 포함됩니다. 이는 VSCode 전역 설정 `terminal.integrated.inheritEnv`를 직접 전환합니다. <0>더 알아보기</0>", + }, + }, + zPe = { title: "고급 설정" }, + $Pe = { + diff: { + label: "diff를 통한 편집 활성화", + description: + "활성화되면 Roo는 파일을 더 빠르게 편집할 수 있으며 잘린 전체 파일 쓰기를 자동으로 거부합니다. 최신 Claude 3.7 Sonnet 모델에서 가장 잘 작동합니다.", + strategy: { + label: "Diff 전략", + options: { + standard: "표준(단일 블록)", + multiBlock: "실험적: 다중 블록 diff", + unified: "실험적: 통합 diff", + }, + descriptions: { + standard: "표준 diff 전략은 한 번에 하나의 코드 블록에 변경 사항을 적용합니다.", + unified: "통합 diff 전략은 diff를 적용하는 여러 접근 방식을 취하고 최상의 접근 방식을 선택합니다.", + multiBlock: "다중 블록 diff 전략은 하나의 요청으로 파일의 여러 코드 블록을 업데이트할 수 있습니다.", + }, + }, + matchPrecision: { + label: "일치 정확도", + description: + "이 슬라이더는 diff를 적용할 때 코드 섹션이 얼마나 정확하게 일치해야 하는지 제어합니다. 낮은 값은 더 유연한 일치를 허용하지만 잘못된 교체 위험이 증가합니다. 100% 미만의 값은 극도로 주의해서 사용하세요.", + }, + }, + todoList: { + label: "할 일 목록 도구 활성화", + description: + "활성화하면 Roo가 작업 진행 상황을 추적하기 위한 할 일 목록을 만들고 관리할 수 있습니다. 이는 복잡한 작업을 관리 가능한 단계로 구성하는 데 도움이 됩니다.", + }, + }, + LPe = { + DIFF_STRATEGY_UNIFIED: { + name: "실험적 통합 diff 전략 사용", + description: + "실험적 통합 diff 전략을 활성화합니다. 이 전략은 모델 오류로 인한 재시도 횟수를 줄일 수 있지만 예기치 않은 동작이나 잘못된 편집을 일으킬 수 있습니다. 위험을 이해하고 모든 변경 사항을 신중하게 검토할 의향이 있는 경우에만 활성화하십시오.", + }, + SEARCH_AND_REPLACE: { + name: "실험적 검색 및 바꾸기 도구 사용", + description: + "실험적 검색 및 바꾸기 도구를 활성화하여 Roo가 하나의 요청에서 검색어의 여러 인스턴스를 바꿀 수 있게 합니다.", + }, + INSERT_BLOCK: { + name: "실험적 콘텐츠 삽입 도구 사용", + description: + "실험적 콘텐츠 삽입 도구를 활성화하여 Roo가 diff를 만들 필요 없이 특정 줄 번호에 콘텐츠를 삽입할 수 있게 합니다.", + }, + POWER_STEERING: { + name: '실험적 "파워 스티어링" 모드 사용', + description: + "활성화하면 Roo가 현재 모드 정의의 세부 정보를 모델에 더 자주 상기시킵니다. 이로 인해 역할 정의 및 사용자 지정 지침에 대한 준수가 강화되지만 메시지당 더 많은 token이 사용됩니다.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "실험적 다중 블록 diff 도구 사용", + description: + "활성화하면 Roo가 다중 블록 diff 도구를 사용합니다. 이것은 하나의 요청에서 파일의 여러 코드 블록을 업데이트하려고 시도합니다.", + }, + CONCURRENT_FILE_READS: { + name: "동시 파일 읽기 활성화", + description: + "활성화하면 Roo가 한 번의 요청으로 여러 파일 을 읽을 수 있습니다. 비활성화하면 Roo는 파일을 하나씩 읽어야 합니다. 성능이 낮은 모델로 작업하거나 파일 액세스를 더 제어하려는 경우 비활성화하면 도움이 될 수 있습니다.", + }, + MARKETPLACE: { + name: "Marketplace 활성화", + description: "활성화하면 Marketplace에서 MCP와 사용자 정의 모드를 설치할 수 있습니다.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "동시 파일 편집 활성화", + description: + "활성화하면 Roo가 단일 요청으로 여러 파일을 편집할 수 있습니다. 비활성화하면 Roo는 파일을 하나씩 편집해야 합니다. 이 기능을 비활성화하면 덜 강력한 모델로 작업하거나 파일 수정에 대한 더 많은 제어가 필요할 때 도움이 됩니다.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "백그라운드 편집", + description: + "활성화하면 편집기 포커스 방해를 방지합니다. 파일 편집이 diff 뷰를 열거나 포커스를 빼앗지 않고 백그라운드에서 수행됩니다. Roo가 변경사항을 적용하는 동안 방해받지 않고 계속 작업할 수 있습니다. 파일은 진단을 캡처하기 위해 포커스 없이 열거나 완전히 닫힌 상태로 유지할 수 있습니다.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "새 메시지 파서 사용", + description: "실험적 스트리밍 메시지 파서를 활성화합니다. 긴 응답을 더 효율적으로 처리해 지연을 줄입니다.", + }, + }, + DPe = { + label: "프롬프트 캐싱 비활성화", + description: "체크하면 Roo가 이 모델에 대해 프롬프트 캐싱을 사용하지 않습니다.", + }, + NPe = { + useCustom: "사용자 정의 온도 사용", + description: "모델 응답의 무작위성을 제어합니다.", + rangeDescription: "높은 값은 출력을 더 무작위하게, 낮은 값은 더 결정적으로 만듭니다.", + }, + OPe = { + supportsImages: "이미지 지원", + noImages: "이미지 지원 안 함", + supportsComputerUse: "컴퓨터 사용 지원", + noComputerUse: "컴퓨터 사용 지원 안 함", + supportsPromptCache: "프롬프트 캐시 지원", + noPromptCache: "프롬프트 캐시 지원 안 함", + maxOutput: "최대 출력", + inputPrice: "입력 가격", + outputPrice: "출력 가격", + cacheReadsPrice: "캐시 읽기 가격", + cacheWritesPrice: "캐시 쓰기 가격", + enableStreaming: "스트리밍 활성화", + enableR1Format: "R1 모델 매개변수 활성화", + enableR1FormatTips: "QWQ와 같은 R1 모델을 사용할 때 활성화해야 하며, 400 오류를 방지합니다", + useAzure: "Azure 사용", + azureApiVersion: "Azure API 버전 설정", + gemini: { + freeRequests: "* 분당 {{count}}개의 요청까지 무료. 이후에는 프롬프트 크기에 따라 요금이 부과됩니다.", + pricingDetails: "자세한 내용은 가격 정보를 참조하세요.", + billingEstimate: "* 요금은 추정치입니다 - 정확한 비용은 프롬프트 크기에 따라 달라집니다.", + }, + }, + FPe = { + automaticFetch: + '확장 프로그램은 <serviceLink>{{serviceName}}</serviceLink>에서 사용 가능한 최신 모델 목록을 자동으로 가져옵니다. 어떤 모델을 선택해야 할지 확실하지 않다면, Roo Code는 <defaultModelLink>{{defaultModelId}}</defaultModelLink>로 가장 잘 작동합니다. 현재 사용 가능한 무료 옵션을 찾으려면 "free"를 검색해 볼 수도 있습니다.', + label: "모델", + searchPlaceholder: "검색", + noMatchFound: "일치하는 항목 없음", + useCustomModel: "사용자 정의 사용: {{modelId}}", + }, + BPe = { + feedback: + "질문이나 피드백이 있으시면 <githubLink>github.com/RooCodeInc/Roo-Code</githubLink>에서 이슈를 열거나 <redditLink>reddit.com/r/RooCode</redditLink> 또는 <discordLink>discord.gg/roocode</discordLink>에 가입하세요", + telemetry: { + label: "익명 오류 및 사용 보고 허용", + description: + "익명 사용 데이터 및 오류 보고서를 보내 Roo Code 개선에 도움을 주세요. 코드, 프롬프트 또는 개인 정보는 절대 전송되지 않습니다. 자세한 내용은 개인정보 보호정책을 참조하세요.", + }, + settings: { import: "가져오기", export: "내보내기", reset: "초기화" }, + }, + UPe = { maxTokens: "최대 tokens", maxThinkingTokens: "최대 사고 tokens" }, + qPe = { + apiKey: "유효한 API 키를 입력해야 합니다.", + awsRegion: "Amazon Bedrock을 사용하려면 리전을 선택해야 합니다.", + googleCloud: "유효한 Google Cloud 프로젝트 ID와 리전을 입력해야 합니다.", + modelId: "유효한 모델 ID를 입력해야 합니다.", + modelSelector: "유효한 모델 선택기를 입력해야 합니다.", + openAi: "유효한 기본 URL, API 키, 모델 ID를 입력해야 합니다.", + arn: { + invalidFormat: "ARN 형식이 잘못되었습니다. 형식 요구사항을 확인하세요.", + regionMismatch: + "경고: ARN의 리전({{arnRegion}})이 선택한 리전({{region}})과 일치하지 않습니다. 접근 문제가 발생할 수 있습니다. 제공자는 ARN의 리전을 사용합니다.", + }, + modelAvailability: "제공한 모델 ID({{modelId}})를 사용할 수 없습니다. 다른 모델을 선택하세요.", + providerNotAllowed: "제공자 '{{provider}}'는 조직에서 허용되지 않습니다", + modelNotAllowed: "모델 '{{model}}'은 제공자 '{{provider}}'에 대해 조직에서 허용되지 않습니다", + profileInvalid: "이 프로필에는 조직에서 허용되지 않는 제공자 또는 모델이 포함되어 있습니다", + }, + WPe = { + apiKey: "API 키 입력...", + profileName: "프로필 이름 입력", + accessKey: "액세스 키 입력...", + secretKey: "시크릿 키 입력...", + sessionToken: "세션 토큰 입력...", + credentialsJson: "인증 정보 JSON 입력...", + keyFilePath: "키 파일 경로 입력...", + projectId: "프로젝트 ID 입력...", + customArn: "ARN 입력 (예: arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "기본 URL 입력...", + modelId: { + lmStudio: "예: meta-llama-3.1-8b-instruct", + lmStudioDraft: "예: lmstudio-community/llama-3.2-1b-instruct", + ollama: "예: llama3.1", + }, + numbers: { + maxTokens: "예: 4096", + contextWindow: "예: 128000", + inputPrice: "예: 0.0001", + outputPrice: "예: 0.0002", + cacheWritePrice: "예: 0.00005", + }, + }, + KPe = { + ollamaUrl: "기본값: http://localhost:11434", + lmStudioUrl: "기본값: http://localhost:1234", + geminiUrl: "기본값: https://generativelanguage.googleapis.com", + }, + VPe = { customArn: "사용자 지정 ARN", useCustomArn: "사용자 지정 ARN 사용..." }, + HPe = "최대 출력 토큰 포함", + GPe = "API 요청에서 최대 출력 토큰 매개변수를 전송합니다. 일부 제공업체는 이를 지원하지 않을 수 있습니다.", + QPe = "응답에서 최대 토큰 수 제한", + ZPe = "최대 출력 토큰", + YPe = "응답에서 생성할 최대 토큰 수", + dyt = { + common: xPe, + header: wPe, + unsavedChangesDialog: _Pe, + sections: CPe, + prompts: SPe, + codeIndex: APe, + autoApprove: PPe, + providers: RPe, + browser: TPe, + checkpoints: IPe, + notifications: MPe, + contextManagement: jPe, + terminal: EPe, + advancedSettings: zPe, + advanced: $Pe, + experimental: LPe, + promptCaching: DPe, + temperature: NPe, + modelInfo: OPe, + modelPicker: FPe, + footer: BPe, + thinkingBudget: UPe, + validation: qPe, + placeholders: WPe, + defaults: KPe, + labels: VPe, + includeMaxOutputTokens: HPe, + includeMaxOutputTokensDescription: GPe, + limitMaxTokensDescription: QPe, + maxOutputTokensLabel: ZPe, + maxTokensGenerateDescription: YPe, + }, + uyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: $Pe, + advancedSettings: zPe, + autoApprove: PPe, + browser: TPe, + checkpoints: IPe, + codeIndex: APe, + common: xPe, + contextManagement: jPe, + default: dyt, + defaults: KPe, + experimental: LPe, + footer: BPe, + header: wPe, + includeMaxOutputTokens: HPe, + includeMaxOutputTokensDescription: GPe, + labels: VPe, + limitMaxTokensDescription: QPe, + maxOutputTokensLabel: ZPe, + maxTokensGenerateDescription: YPe, + modelInfo: OPe, + modelPicker: FPe, + notifications: MPe, + placeholders: WPe, + promptCaching: DPe, + prompts: SPe, + providers: RPe, + sections: CPe, + temperature: NPe, + terminal: EPe, + thinkingBudget: UPe, + unsavedChangesDialog: _Pe, + validation: qPe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + XPe = "Roo Code에 오신 것을 환영합니다!", + JPe = + "내장 및 확장 가능한 다양한 모드를 통해 Roo Code는 계획, 아키텍처 설계, 코딩, 디버깅 및 전례 없는 생산성 향상을 가능하게 합니다.", + eRe = "시작하려면 이 확장 프로그램에 API 공급자가 필요합니다.", + tRe = "시작해 봅시다!", + nRe = { + requesty: { description: "최적화된 LLM 라우터", incentive: "$1 무료 크레딧" }, + openrouter: { description: "LLM을 위한 통합 인터페이스" }, + }, + oRe = "Roo가 작동하려면 API 키가 필요합니다.", + rRe = "LLM 라우터 사용을 권장합니다:", + iRe = "또는 직접 API 키를 가져올 수 있습니다:", + sRe = { + title: "Roo Code 개선에 도움 주세요", + anonymousTelemetry: + "버그 수정 및 확장 기능 개선을 위해 익명의 오류 및 사용 데이터를 보내주세요. 코드, 프롬프트 또는 개인 정보는 절대 전송되지 않습니다.", + changeSettings: "<settingsLink>설정</settingsLink> 하단에서 언제든지 변경할 수 있습니다", + settings: "설정", + allow: "허용", + deny: "거부", + }, + aRe = "설정 가져오기", + pyt = { + greeting: XPe, + introduction: JPe, + notice: eRe, + start: tRe, + routers: nRe, + chooseProvider: oRe, + startRouter: rRe, + startCustom: iRe, + telemetry: sRe, + importSettings: aRe, + }, + myt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: oRe, + default: pyt, + greeting: XPe, + importSettings: aRe, + introduction: JPe, + notice: eRe, + routers: nRe, + start: tRe, + startCustom: iRe, + startRouter: rRe, + telemetry: sRe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + lRe = "Account", + cRe = "Profielfoto", + dRe = "Uitloggen", + uRe = "API-authenticatie testen", + pRe = "Verbind met Roo Code Cloud", + mRe = "Verbinden", + hRe = "Verbind met Roo Code Cloud", + fRe = "Synchroniseer je prompts en telemetrie om het volgende in te schakelen:", + gRe = "Online taakgeschiedenis", + vRe = "Deel- en samenwerkingsfuncties", + bRe = "Taak-, token- en kostengebaseerde gebruiksstatistieken", + yRe = "Volg en beheer taken van overal met Roomote Control", + kRe = "Roomote Control", + xRe = "Schakel het volgen en interacteren met taken in deze workspace in met Roo Code Cloud", + wRe = "Bezoek Roo Code Cloud", + hyt = { + title: lRe, + profilePicture: cRe, + logOut: dRe, + testApiAuthentication: uRe, + signIn: pRe, + connect: mRe, + cloudBenefitsTitle: hRe, + cloudBenefitsSubtitle: fRe, + cloudBenefitHistory: gRe, + cloudBenefitSharing: vRe, + cloudBenefitMetrics: bRe, + cloudBenefitWalkaway: yRe, + remoteControl: kRe, + remoteControlDescription: xRe, + visitCloudWebsite: wRe, + }, + fyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: gRe, + cloudBenefitMetrics: bRe, + cloudBenefitSharing: vRe, + cloudBenefitWalkaway: yRe, + cloudBenefitsSubtitle: fRe, + cloudBenefitsTitle: hRe, + connect: mRe, + default: hyt, + logOut: dRe, + profilePicture: cRe, + remoteControl: kRe, + remoteControlDescription: xRe, + signIn: pRe, + testApiAuthentication: uRe, + title: lRe, + visitCloudWebsite: wRe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + _Re = "Welkom bij Roo Code", + CRe = { + title: "Taak", + seeMore: "Meer weergeven", + seeLess: "Minder weergeven", + tokens: "Tokens:", + cache: "Cache:", + apiCost: "API-kosten:", + contextWindow: "Contextlengte:", + closeAndStart: "Taak sluiten en een nieuwe starten", + export: "Taakgeschiedenis exporteren", + delete: "Taak verwijderen (Shift + Klik om bevestiging over te slaan)", + condenseContext: "Context intelligent samenvatten", + share: "Taak delen", + shareWithOrganization: "Delen met organisatie", + shareWithOrganizationDescription: "Alleen leden van je organisatie kunnen toegang krijgen", + sharePublicly: "Openbaar delen", + sharePubliclyDescription: "Iedereen met de link kan toegang krijgen", + connectToCloud: "Verbind met Cloud", + connectToCloudDescription: "Meld je aan bij Roo Code Cloud om taken te delen", + sharingDisabledByOrganization: "Delen uitgeschakeld door organisatie", + shareSuccessOrganization: "Organisatielink gekopieerd naar klembord", + shareSuccessPublic: "Openbare link gekopieerd naar klembord", + }, + SRe = "Losmaken", + ARe = "Vastmaken", + PRe = { title: "Opnieuw proberen", tooltip: "Probeer de bewerking opnieuw" }, + RRe = { title: "Nieuwe taak starten", tooltip: "Begin een nieuwe taak" }, + TRe = { title: "Toch doorgaan", tooltip: "Ga door terwijl het commando wordt uitgevoerd" }, + IRe = { title: "Opslaan", tooltip: "Berichtwijzigingen opslaan" }, + MRe = { + availableSpace: "Beschikbare ruimte: {{amount}} tokens", + tokensUsed: "Gebruikte tokens: {{used}} van {{total}}", + reservedForResponse: "Gereserveerd voor modelantwoord: {{amount}} tokens", + }, + jRe = { title: "Weigeren", tooltip: "Deze actie weigeren" }, + ERe = "Subtaak voltooien en terugkeren", + zRe = { title: "Goedkeuren", tooltip: "Deze actie goedkeuren" }, + $Re = { title: "Commando uitvoeren", tooltip: "Voer dit commando uit" }, + LRe = { title: "Doorgaan tijdens uitvoeren", tooltip: "Ga door ondanks waarschuwingen" }, + DRe = { title: "Commando stoppen", tooltip: "Huidig commando stoppen" }, + NRe = { title: "Taak hervatten", tooltip: "Ga door met de huidige taak" }, + ORe = { title: "Beëindigen", tooltip: "Beëindig de huidige taak" }, + FRe = { title: "Annuleren", tooltip: "Annuleer de huidige bewerking" }, + BRe = "Scroll naar onderaan de chat", + URe = + "Genereer, refactor en debug code met AI-assistentie. Bekijk onze <DocsLink>documentatie</DocsLink> voor meer informatie.", + qRe = "Je takenlijst in deze werkruimte is leeg.", + WRe = { + boomerangTasks: { title: "Taak Orchestratie", description: "Splits taken op in kleinere, beheersbare delen" }, + stickyModels: { title: "Vastgezette modellen", description: "Elke modus onthoudt je laatst gebruikte model" }, + tools: { + title: "Tools", + description: "Laat de AI problemen oplossen door te browsen, commando's uit te voeren en meer", + }, + customizableModes: { + title: "Aanpasbare modi", + description: "Gespecialiseerde persona's met hun eigen gedrag en toegewezen modellen", + }, + }, + KRe = "Selecteer modus voor interactie", + VRe = "Selecteer API-configuratie", + HRe = "Prompt verbeteren met extra context", + GRe = + "De knop 'Prompt verbeteren' helpt je prompt te verbeteren door extra context, verduidelijking of herformulering te bieden. Probeer hier een prompt te typen en klik opnieuw op de knop om te zien hoe het werkt.", + QRe = { + title: "Modi", + marketplace: "Modus Marktplaats", + settings: "Modus Instellingen", + description: "Gespecialiseerde persona's die het gedrag van Roo aanpassen.", + searchPlaceholder: "Zoek modi...", + noResults: "Geen resultaten gevonden", + }, + ZRe = "Afbeeldingen toevoegen aan bericht", + YRe = "Bericht verzenden", + XRe = "Stop tekst-naar-spraak", + JRe = "Typ een bericht...", + eTe = "Typ hier je taak...", + tTe = "@ om context toe te voegen, / voor commando's", + nTe = "houd shift ingedrukt om bestanden te slepen", + oTe = "houd shift ingedrukt om bestanden/afbeeldingen te slepen", + rTe = "Fout bij het lezen van bestand:", + iTe = "Er zijn geen geldige afbeeldingen verwerkt", + sTe = "Scheidingsteken", + aTe = "Bewerken...", + lTe = "voor volgende modus", + cTe = "voor vorige modus", + dTe = { + title: "API-verzoek", + failed: "API-verzoek mislukt", + streaming: "API-verzoek...", + cancelled: "API-verzoek geannuleerd", + streamingFailed: "API-streaming mislukt", + }, + uTe = { + regular: "Checkpoint", + initializingWarning: + "Checkpoint wordt nog steeds geïnitialiseerd... Als dit te lang duurt, kun je checkpoints uitschakelen in de <settingsLink>instellingen</settingsLink> en je taak opnieuw starten.", + menu: { + viewDiff: "Bekijk verschil", + restore: "Herstel checkpoint", + restoreFiles: "Bestanden herstellen", + restoreFilesDescription: + "Herstelt de bestanden van je project naar een momentopname die op dit punt is gemaakt.", + restoreFilesAndTask: "Bestanden & taak herstellen", + confirm: "Bevestigen", + cancel: "Annuleren", + cannotUndo: "Deze actie kan niet ongedaan worden gemaakt.", + restoreFilesAndTaskDescription: + "Herstelt de bestanden van je project naar een momentopname die op dit punt is gemaakt en verwijdert alle berichten na dit punt.", + }, + current: "Huidig", + }, + pTe = { wantsToFetch: "Roo wil gedetailleerde instructies ophalen om te helpen met de huidige taak" }, + mTe = { + wantsToRead: "Roo wil dit bestand lezen:", + wantsToReadOutsideWorkspace: "Roo wil dit bestand buiten de werkruimte lezen:", + didRead: "Roo heeft dit bestand gelezen:", + wantsToEdit: "Roo wil dit bestand bewerken:", + wantsToEditOutsideWorkspace: "Roo wil dit bestand buiten de werkruimte bewerken:", + wantsToEditProtected: "Roo wil een beveiligd configuratiebestand bewerken:", + wantsToCreate: "Roo wil een nieuw bestand aanmaken:", + wantsToSearchReplace: "Roo wil zoeken en vervangen in dit bestand:", + didSearchReplace: "Roo heeft zoeken en vervangen uitgevoerd op dit bestand:", + wantsToInsert: "Roo wil inhoud invoegen in dit bestand:", + wantsToInsertWithLineNumber: "Roo wil inhoud invoegen in dit bestand op regel {{lineNumber}}:", + wantsToInsertAtEnd: "Roo wil inhoud toevoegen aan het einde van dit bestand:", + wantsToReadAndXMore: "Roo wil dit bestand en nog {{count}} andere lezen:", + wantsToReadMultiple: "Roo wil meerdere bestanden lezen:", + wantsToApplyBatchChanges: "Roo wil wijzigingen toepassen op meerdere bestanden:", + }, + hTe = { + wantsToViewTopLevel: "Roo wil de bovenliggende bestanden in deze map bekijken:", + didViewTopLevel: "Roo heeft de bovenliggende bestanden in deze map bekeken:", + wantsToViewRecursive: "Roo wil alle bestanden in deze map recursief bekijken:", + didViewRecursive: "Roo heeft alle bestanden in deze map recursief bekeken:", + wantsToViewDefinitions: "Roo wil broncode-definitienamen bekijken die in deze map worden gebruikt:", + didViewDefinitions: "Roo heeft broncode-definitienamen bekeken die in deze map worden gebruikt:", + wantsToSearch: "Roo wil deze map doorzoeken op <code>{{regex}}</code>:", + didSearch: "Roo heeft deze map doorzocht op <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: "Roo wil deze map (buiten werkruimte) doorzoeken op <code>{{regex}}</code>:", + didSearchOutsideWorkspace: "Roo heeft deze map (buiten werkruimte) doorzocht op <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo wil de bovenliggende bestanden in deze map (buiten werkruimte) bekijken:", + didViewTopLevelOutsideWorkspace: + "Roo heeft de bovenliggende bestanden in deze map (buiten werkruimte) bekeken:", + wantsToViewRecursiveOutsideWorkspace: + "Roo wil alle bestanden in deze map (buiten werkruimte) recursief bekijken:", + didViewRecursiveOutsideWorkspace: "Roo heeft alle bestanden in deze map (buiten werkruimte) recursief bekeken:", + wantsToViewDefinitionsOutsideWorkspace: + "Roo wil broncode-definitienamen bekijken die in deze map (buiten werkruimte) worden gebruikt:", + didViewDefinitionsOutsideWorkspace: + "Roo heeft broncode-definitienamen bekeken die in deze map (buiten werkruimte) worden gebruikt:", + }, + fTe = "Commando-uitvoer", + gTe = { + running: "Lopend", + pid: "PID: {{pid}}", + exited: "Afgesloten ({{exitCode}})", + manageCommands: "Beheer Commando Toestemmingen", + commandManagementDescription: + "Beheer commando toestemmingen: Klik op ✓ om automatische uitvoering toe te staan, ✗ om uitvoering te weigeren. Patronen kunnen worden in- of uitgeschakeld of uit lijsten worden verwijderd. <settingsLink>Bekijk alle instellingen</settingsLink>", + addToAllowed: "Toevoegen aan toegestane lijst", + removeFromAllowed: "Verwijderen van toegestane lijst", + addToDenied: "Toevoegen aan geweigerde lijst", + removeFromDenied: "Verwijderen van geweigerde lijst", + abortCommand: "Commando-uitvoering afbreken", + expandOutput: "Uitvoer uitvouwen", + collapseOutput: "Uitvoer samenvouwen", + expandManagement: "Beheersectie voor commando's uitvouwen", + collapseManagement: "Beheersectie voor commando's samenvouwen", + }, + vTe = "Antwoord", + bTe = { + wantsToUseTool: "Roo wil een tool gebruiken op de {{serverName}} MCP-server:", + wantsToAccessResource: "Roo wil een bron benaderen op de {{serverName}} MCP-server:", + }, + yTe = { + wantsToSwitch: "Roo wil overschakelen naar {{mode}} modus", + wantsToSwitchWithReason: "Roo wil overschakelen naar {{mode}} modus omdat: {{reason}}", + didSwitch: "Roo is overgeschakeld naar {{mode}} modus", + didSwitchWithReason: "Roo is overgeschakeld naar {{mode}} modus omdat: {{reason}}", + }, + kTe = { + wantsToCreate: "Roo wil een nieuwe subtaak aanmaken in {{mode}} modus:", + wantsToFinish: "Roo wil deze subtaak voltooien", + newTaskContent: "Subtaak-instructies", + completionContent: "Subtaak voltooid", + resultContent: "Subtaakresultaten", + defaultResult: "Ga verder met de volgende taak.", + completionInstructions: + "Subtaak voltooid! Je kunt de resultaten bekijken en eventuele correcties of volgende stappen voorstellen. Als alles goed is, bevestig dan om het resultaat terug te sturen naar de hoofdtaak.", + }, + xTe = { hasQuestion: "Roo heeft een vraag:" }, + wTe = "Taak voltooid", + _Te = "Fout", + CTe = { title: "Bewerking mislukt" }, + STe = "Roo ondervindt problemen...", + ATe = { issues: "Het lijkt erop dat je problemen hebt met Windows PowerShell, zie deze" }, + PTe = { + title: "Automatisch goedkeuren:", + none: "Geen", + description: + "Met automatisch goedkeuren kan Roo Code acties uitvoeren zonder om toestemming te vragen. Schakel dit alleen in voor acties die je volledig vertrouwt. Meer gedetailleerde configuratie beschikbaar in de <settingsLink>Instellingen</settingsLink>.", + selectOptionsFirst: "Selecteer hieronder minstens één optie om automatische goedkeuring in te schakelen", + toggleAriaLabel: "Automatisch goedkeuren in-/uitschakelen", + disabledAriaLabel: "Automatisch goedkeuren uitgeschakeld - selecteer eerst opties", + }, + RTe = { + title: "🎉 Roo Code {{version}} uitgebracht", + description: + "Roo Code {{version}} brengt krachtige nieuwe functies en significante verbeteringen om je ontwikkelingsworkflow te verbeteren.", + whatsNew: "Wat is er nieuw", + feature1: + "<bold>Berichtenwachtrij</bold>: Zet meerdere berichten in de wachtrij terwijl Roo werkt, zodat je je workflow kunt blijven plannen zonder onderbreking.", + feature2: + "<bold>Aangepaste Slash Commando's</bold>: Maak gepersonaliseerde slash commando's voor snelle toegang tot veelgebruikte prompts en workflows, met volledige UI-beheer.", + feature3: + "<bold>Verbeterde Gemini Tools</bold>: Nieuwe URL-context en Google Search grounding mogelijkheden bieden Gemini modellen realtime webinformatie en verbeterde onderzoeksmogelijkheden.", + hideButton: "Aankondiging verbergen", + detailsDiscussLinks: + "Krijg meer details en doe mee aan discussies op <discordLink>Discord</discordLink> en <redditLink>Reddit</redditLink> 🚀", + }, + TTe = { thinking: "Denkt na", seconds: "{{count}}s" }, + ITe = { + title: "Context samengevat", + condensing: "Context aan het samenvatten...", + errorHeader: "Context samenvatten mislukt", + tokens: "tokens", + }, + MTe = { + copyToInput: "Kopiëren naar invoer (zelfde als shift + klik)", + autoSelectCountdown: "Automatische selectie in {{count}}s", + countdownDisplay: "{{count}}s", + }, + jTe = { + rooWantsToUse: "Roo wil de browser gebruiken:", + consoleLogs: "Console-logboeken", + noNewLogs: "(Geen nieuwe logboeken)", + screenshot: "Browserschermopname", + cursor: "cursor", + navigation: { step: "Stap {{current}} van {{total}}", previous: "Vorige", next: "Volgende" }, + sessionStarted: "Browsersessie gestart", + actions: { + title: "Browse-actie: ", + launch: "Browser starten op {{url}}", + click: "Klik ({{coordinate}})", + type: 'Typ "{{text}}"', + scrollDown: "Scroll naar beneden", + scrollUp: "Scroll naar boven", + close: "Browser sluiten", + }, + }, + ETe = { + tooltips: { + expand: "Codeblok uitvouwen", + collapse: "Codeblok samenvouwen", + enable_wrap: "Regelafbreking inschakelen", + disable_wrap: "Regelafbreking uitschakelen", + copy_code: "Code kopiëren", + }, + }, + zTe = + "WAARSCHUWING: Aangepaste systeemprompt actief. Dit kan de functionaliteit ernstig verstoren en onvoorspelbaar gedrag veroorzaken.", + $Te = "Het huidige profiel is niet compatibel met de instellingen van uw organisatie", + LTe = { + title: "Waarschuwing commando-uitvoering", + description: + "Je commando wordt uitgevoerd zonder VSCode-terminal shell-integratie. Om deze waarschuwing te onderdrukken kun je shell-integratie uitschakelen in het gedeelte <strong>Terminal</strong> van de <settingsLink>Roo Code-instellingen</settingsLink> of de VSCode-terminalintegratie oplossen via de onderstaande link.", + troubleshooting: "Klik hier voor shell-integratie documentatie.", + }, + DTe = { + autoApprovedRequestLimitReached: { + title: "Limiet voor automatisch goedgekeurde verzoeken bereikt", + description: + "Roo heeft de automatisch goedgekeurde limiet van {{count}} API-verzoek(en) bereikt. Wil je de teller resetten en doorgaan met de taak?", + button: "Resetten en doorgaan", + }, + autoApprovedCostLimitReached: { + title: "Limiet voor automatisch goedgekeurde kosten bereikt", + button: "Resetten en doorgaan", + description: + "Roo heeft de automatisch goedgekeurde kostenlimiet van ${{count}} bereikt. Wilt u de kosten resetten en doorgaan met de taak?", + }, + }, + NTe = { + wantsToSearch: "Roo wil de codebase doorzoeken op <code>{{query}}</code>:", + wantsToSearchWithPath: "Roo wil de codebase doorzoeken op <code>{{query}}</code> in <code>{{path}}</code>:", + didSearch_one: "1 resultaat gevonden", + didSearch_other: "{{count}} resultaten gevonden", + resultTooltip: "Gelijkenisscore: {{score}} (klik om bestand te openen)", + }, + OTe = { + ready: "Index gereed", + indexing: "Indexeren {{percentage}}%", + indexed: "Geïndexeerd", + error: "Index fout", + status: "Index status", + }, + FTe = { ariaLabel: "Versie {{version}} - Klik om release notes te bekijken" }, + BTe = { + title: "Roo Code Cloud komt binnenkort!", + description: + "Voer externe agenten uit in de cloud, krijg overal toegang tot je taken, werk samen met anderen en nog veel meer.", + joinWaitlist: "Sluit je aan bij de wachtlijst voor vroege toegang.", + }, + UTe = { placeholder: "Bewerk je bericht..." }, + qTe = { triggerDescription: "Activeer de {{name}} opdracht" }, + WTe = { + tooltip: "Slash-opdrachten beheren", + title: "Slash-opdrachten", + description: + "Maak aangepaste slash-opdrachten voor snelle toegang tot veelgebruikte prompts en workflows. <DocsLink>Documentatie</DocsLink>", + globalCommands: "Globale Opdrachten", + workspaceCommands: "Werkruimte Opdrachten", + globalCommand: "Globale opdracht", + editCommand: "Opdracht bewerken", + deleteCommand: "Opdracht verwijderen", + newGlobalCommandPlaceholder: "Nieuwe globale opdracht...", + newWorkspaceCommandPlaceholder: "Nieuwe werkruimte opdracht...", + deleteDialog: { + title: "Opdracht Verwijderen", + description: + 'Weet je zeker dat je de opdracht "{{name}}" wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.', + cancel: "Annuleren", + confirm: "Verwijderen", + }, + }, + KTe = { title: "Berichten in wachtrij:", clickToEdit: "Klik om bericht te bewerken" }, + gyt = { + greeting: _Re, + task: CRe, + unpin: SRe, + pin: ARe, + retry: PRe, + startNewTask: RRe, + proceedAnyways: TRe, + save: IRe, + tokenProgress: MRe, + reject: jRe, + completeSubtaskAndReturn: ERe, + approve: zRe, + runCommand: $Re, + proceedWhileRunning: LRe, + killCommand: DRe, + resumeTask: NRe, + terminate: ORe, + cancel: FRe, + scrollToBottom: BRe, + about: URe, + onboarding: qRe, + rooTips: WRe, + selectMode: KRe, + selectApiConfig: VRe, + enhancePrompt: HRe, + enhancePromptDescription: GRe, + modeSelector: QRe, + addImages: ZRe, + sendMessage: YRe, + stopTts: XRe, + typeMessage: JRe, + typeTask: eTe, + addContext: tTe, + dragFiles: nTe, + dragFilesImages: oTe, + errorReadingFile: rTe, + noValidImages: iTe, + separator: sTe, + edit: aTe, + forNextMode: lTe, + forPreviousMode: cTe, + apiRequest: dTe, + checkpoint: uTe, + instructions: pTe, + fileOperations: mTe, + directoryOperations: hTe, + commandOutput: fTe, + commandExecution: gTe, + response: vTe, + arguments: "Argumenten", + mcp: bTe, + modes: yTe, + subtasks: kTe, + questions: xTe, + taskCompleted: wTe, + error: _Te, + diffError: CTe, + troubleMessage: STe, + powershell: ATe, + autoApprove: PTe, + announcement: RTe, + reasoning: TTe, + contextCondense: ITe, + followUpSuggest: MTe, + browser: jTe, + codeblock: ETe, + systemPromptWarning: zTe, + profileViolationWarning: $Te, + shellIntegration: LTe, + ask: DTe, + codebaseSearch: NTe, + "read-batch": { approve: { title: "Alles goedkeuren" }, deny: { title: "Alles weigeren" } }, + indexingStatus: OTe, + versionIndicator: FTe, + rooCloudCTA: BTe, + editMessage: UTe, + command: qTe, + slashCommands: WTe, + queuedMessages: KTe, + }, + vyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: URe, + addContext: tTe, + addImages: ZRe, + announcement: RTe, + apiRequest: dTe, + approve: zRe, + ask: DTe, + autoApprove: PTe, + browser: jTe, + cancel: FRe, + checkpoint: uTe, + codebaseSearch: NTe, + codeblock: ETe, + command: qTe, + commandExecution: gTe, + commandOutput: fTe, + completeSubtaskAndReturn: ERe, + contextCondense: ITe, + default: gyt, + diffError: CTe, + directoryOperations: hTe, + dragFiles: nTe, + dragFilesImages: oTe, + edit: aTe, + editMessage: UTe, + enhancePrompt: HRe, + enhancePromptDescription: GRe, + error: _Te, + errorReadingFile: rTe, + fileOperations: mTe, + followUpSuggest: MTe, + forNextMode: lTe, + forPreviousMode: cTe, + greeting: _Re, + indexingStatus: OTe, + instructions: pTe, + killCommand: DRe, + mcp: bTe, + modeSelector: QRe, + modes: yTe, + noValidImages: iTe, + onboarding: qRe, + pin: ARe, + powershell: ATe, + proceedAnyways: TRe, + proceedWhileRunning: LRe, + profileViolationWarning: $Te, + questions: xTe, + queuedMessages: KTe, + reasoning: TTe, + reject: jRe, + response: vTe, + resumeTask: NRe, + retry: PRe, + rooCloudCTA: BTe, + rooTips: WRe, + runCommand: $Re, + save: IRe, + scrollToBottom: BRe, + selectApiConfig: VRe, + selectMode: KRe, + sendMessage: YRe, + separator: sTe, + shellIntegration: LTe, + slashCommands: WTe, + startNewTask: RRe, + stopTts: XRe, + subtasks: kTe, + systemPromptWarning: zTe, + task: CRe, + taskCompleted: wTe, + terminate: ORe, + tokenProgress: MRe, + troubleMessage: STe, + typeMessage: JRe, + typeTask: eTe, + unpin: SRe, + versionIndicator: FTe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + VTe = { + title: "Er is iets misgegaan", + reportText: "Help ons te verbeteren door deze fout te melden op", + githubText: "onze GitHub Issues-pagina", + copyInstructions: "Kopieer en plak het volgende foutbericht om het als onderdeel van je melding op te nemen:", + errorStack: "Foutstack:", + componentStack: "Componentstack:", + }, + HTe = { yes: "Ja", no: "Nee", cancel: "Annuleren", remove: "Verwijderen", keep: "Behouden" }, + GTe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "mrd" }, + QTe = { search_placeholder: "Zoeken...", no_results: "Geen resultaten gevonden" }, + ZTe = { + loading: "Mermaid-diagram genereren...", + render_error: "Kan diagram niet weergeven", + buttons: { + zoom: "Zoom", + zoomIn: "Inzoomen", + zoomOut: "Uitzoomen", + copy: "Kopiëren", + save: "Afbeelding opslaan", + viewCode: "Code bekijken", + viewDiagram: "Diagram bekijken", + close: "Sluiten", + }, + modal: { codeTitle: "Mermaid-code" }, + tabs: { diagram: "Diagram", code: "Code" }, + feedback: { imageCopied: "Afbeelding gekopieerd naar klembord", copyError: "Fout bij kopiëren van afbeelding" }, + }, + YTe = { + errors: { + invalidDataUri: "Ongeldig data-URI-formaat", + copyingImage: "Fout bij kopiëren van afbeelding: {{error}}", + openingImage: "Fout bij openen van afbeelding: {{error}}", + pathNotExists: "Pad bestaat niet: {{path}}", + couldNotOpen: "Kon bestand niet openen: {{error}}", + couldNotOpenGeneric: "Kon bestand niet openen!", + }, + success: { imageDataUriCopied: "Afbeelding data-URI gekopieerd naar klembord" }, + }, + XTe = { + deleteMessage: "Bericht Verwijderen", + deleteWarning: + "Het verwijderen van dit bericht zal alle volgende berichten in het gesprek verwijderen. Wil je doorgaan?", + editMessage: "Bericht Bewerken", + editWarning: + "Het bewerken van dit bericht zal alle volgende berichten in het gesprek verwijderen. Wil je doorgaan?", + proceed: "Doorgaan", + }, + byt = { errorBoundary: VTe, answers: HTe, number_format: GTe, ui: QTe, mermaid: ZTe, file: YTe, confirmation: XTe }, + yyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: HTe, + confirmation: XTe, + default: byt, + errorBoundary: VTe, + file: YTe, + mermaid: ZTe, + number_format: GTe, + ui: QTe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + JTe = "Recente taken", + eIe = "Geschiedenis", + tIe = "Selectiemodus verlaten", + nIe = "Selectiemodus starten", + oIe = "Gereed", + rIe = "Geschiedenis doorzoeken...", + iIe = "Nieuwste", + sIe = "Oudste", + aIe = "Duurste", + lIe = "Meeste tokens", + cIe = "Meest relevant", + dIe = "Taak verwijderen (Shift + Klik om bevestiging over te slaan)", + uIe = "Prompt kopiëren", + pIe = "Taak exporteren", + mIe = "Taak verwijderen", + hIe = "Weet je zeker dat je deze taak wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.", + fIe = "Annuleren", + gIe = "Selectie verlaten", + vIe = "Selectiemodus", + bIe = "Alles deselecteren", + yIe = "Alles selecteren", + kIe = "Geselecteerd {{selected}}/{{total}} items", + xIe = "Selectie wissen", + wIe = "Geselecteerde verwijderen", + _Ie = "Taken verwijderen", + CIe = "Weet je zeker dat je {{count}} taken wilt verwijderen?", + SIe = "Verwijderde taken kunnen niet worden hersteld. Zorg ervoor dat je wilt doorgaan.", + AIe = "Verwijder {{count}} items", + PIe = { prefix: "Werkruimte:", current: "Huidig", all: "Alle" }, + RIe = { + prefix: "Sorteren:", + newest: "Nieuwste", + oldest: "Oudste", + mostExpensive: "Duurste", + mostTokens: "Meeste tokens", + mostRelevant: "Meest relevant", + }, + TIe = "Alle geschiedenis bekijken", + kyt = { + recentTasks: JTe, + history: eIe, + exitSelectionMode: tIe, + enterSelectionMode: nIe, + done: oIe, + searchPlaceholder: rIe, + newest: iIe, + oldest: sIe, + mostExpensive: aIe, + mostTokens: lIe, + mostRelevant: cIe, + deleteTaskTitle: dIe, + copyPrompt: uIe, + exportTask: pIe, + deleteTask: mIe, + deleteTaskMessage: hIe, + cancel: fIe, + delete: "Verwijderen", + exitSelection: gIe, + selectionMode: vIe, + deselectAll: bIe, + selectAll: yIe, + selectedItems: kIe, + clearSelection: xIe, + deleteSelected: wIe, + deleteTasks: _Ie, + confirmDeleteTasks: CIe, + deleteTasksWarning: SIe, + deleteItems: AIe, + workspace: PIe, + sort: RIe, + viewAllHistory: TIe, + }, + xyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: fIe, + clearSelection: xIe, + confirmDeleteTasks: CIe, + copyPrompt: uIe, + default: kyt, + deleteItems: AIe, + deleteSelected: wIe, + deleteTask: mIe, + deleteTaskMessage: hIe, + deleteTaskTitle: dIe, + deleteTasks: _Ie, + deleteTasksWarning: SIe, + deselectAll: bIe, + done: oIe, + enterSelectionMode: nIe, + exitSelection: gIe, + exitSelectionMode: tIe, + exportTask: pIe, + history: eIe, + mostExpensive: aIe, + mostRelevant: cIe, + mostTokens: lIe, + newest: iIe, + oldest: sIe, + recentTasks: JTe, + searchPlaceholder: rIe, + selectAll: yIe, + selectedItems: kIe, + selectionMode: vIe, + sort: RIe, + viewAllHistory: TIe, + workspace: PIe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + IIe = "Human Relay - Help alstublieft met kopiëren/plakken", + MIe = "Kopieer de volgende prompt naar de web-AI en plak het antwoord van de AI in het onderstaande invoerveld.", + jIe = "Gekopieerd naar klembord", + EIe = { label: "Voer het antwoord van de AI in:", placeholder: "Plak hier het antwoord van de AI..." }, + zIe = { cancel: "Annuleren", submit: "Verzenden" }, + wyt = { dialogTitle: IIe, dialogDescription: MIe, copiedToClipboard: jIe, aiResponse: EIe, actions: zIe }, + _yt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: zIe, + aiResponse: EIe, + copiedToClipboard: jIe, + default: wyt, + dialogDescription: MIe, + dialogTitle: IIe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + $Ie = "Roo Marketplace", + LIe = { installed: "Geïnstalleerd", settings: "Instellingen", browse: "Bladeren" }, + DIe = "Gereed", + NIe = "Vernieuwen", + OIe = { + search: { + placeholder: "Marketplace-items zoeken...", + placeholderMcp: "MCP's zoeken...", + placeholderMode: "Modi zoeken...", + }, + type: { label: "Filteren op type:", all: "Alle types", mode: "Modus", mcpServer: "MCP-server" }, + sort: { label: "Sorteren op:", name: "Naam", author: "Auteur", lastUpdated: "Laatst bijgewerkt" }, + tags: { + label: "Filteren op tags:", + clear: "Tags wissen", + placeholder: "Type om tags te zoeken en selecteren...", + noResults: "Geen overeenkomende tags gevonden", + selected: "Items tonen met een van de geselecteerde tags", + clickToFilter: "Klik op tags om items te filteren", + }, + none: "Geen", + }, + FIe = { organizationMcps: "MCP's van {{organization}}", marketplace: "Marktplaats" }, + BIe = { + empty: { + noItems: "Geen Marketplace-items gevonden", + withFilters: "Probeer je filters aan te passen", + noSources: "Probeer een bron toe te voegen in het Bronnen-tabblad", + adjustFilters: "Probeer je filters of zoektermen aan te passen", + clearAllFilters: "Alle filters wissen", + }, + count: "{{count}} items gevonden", + components: "{{count}} componenten", + matched: "{{count}} gevonden", + refresh: { button: "Vernieuwen", refreshing: "Vernieuwen...", mayTakeMoment: "Dit kan even duren." }, + card: { + by: "door {{author}}", + from: "van {{source}}", + install: "Installeren", + installProject: "Installeren", + installGlobal: "Installeren (Globaal)", + remove: "Verwijderen", + removeProject: "Verwijderen", + removeGlobal: "Verwijderen (Globaal)", + viewSource: "Bekijken", + viewOnSource: "Bekijken op {{source}}", + noWorkspaceTooltip: "Open een werkruimte om Marketplace-items te installeren", + installed: "Geïnstalleerd", + removeProjectTooltip: "Verwijderen uit huidig project", + removeGlobalTooltip: "Verwijderen uit globale configuratie", + actionsMenuLabel: "Meer acties", + }, + removeFailed: "Item verwijderen mislukt: {{error}}", + unknownError: "Onbekende fout opgetreden", + }, + UIe = { + title: "{{name}} installeren", + titleMode: "{{name}} modus installeren", + titleMcp: "{{name}} MCP installeren", + scope: "Installatiebereik", + project: "Project (huidige werkruimte)", + global: "Globaal (alle werkruimtes)", + method: "Installatiemethode", + configuration: "Configuratie", + configurationDescription: "Configureer de vereiste parameters voor deze MCP-server", + button: "Installeren", + successTitle: "{{name}} geïnstalleerd", + successDescription: "Installatie succesvol voltooid", + installed: "Succesvol geïnstalleerd!", + whatNextMcp: + "Je kunt deze MCP-server nu configureren en gebruiken. Klik op het MCP-pictogram in de zijbalk om van tabblad te wisselen.", + whatNextMode: + "Je kunt deze modus nu gebruiken. Klik op het modi-pictogram in de zijbalk om van tabblad te wisselen.", + done: "Gereed", + goToMcp: "Ga naar MCP-tabblad", + goToModes: "Ga naar Modi-instellingen", + moreInfoMcp: "{{name}} MCP-documentatie bekijken", + validationRequired: "Geef een waarde op voor {{paramName}}", + prerequisites: "Vereisten", + }, + qIe = { + title: "Marketplace-bronnen configureren", + description: + "Voeg Git-repositories toe die Marketplace-items bevatten. Deze repositories worden opgehaald bij het bladeren door de Marketplace.", + add: { + title: "Nieuwe bron toevoegen", + urlPlaceholder: "Git-repository URL (bijv. https://github.com/username/repo)", + urlFormats: + "Ondersteunde formaten: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git) of Git-protocol (git://github.com/username/repo.git)", + namePlaceholder: "Weergavenaam (max 20 tekens)", + button: "Bron toevoegen", + }, + current: { + title: "Huidige bronnen", + empty: "Geen bronnen geconfigureerd. Voeg een bron toe om te beginnen.", + refresh: "Deze bron vernieuwen", + remove: "Bron verwijderen", + }, + errors: { + emptyUrl: "URL mag niet leeg zijn", + invalidUrl: "Ongeldig URL-formaat", + nonVisibleChars: "URL bevat onzichtbare tekens anders dan spaties", + invalidGitUrl: "URL moet een geldige Git-repository URL zijn (bijv. https://github.com/username/repo)", + duplicateUrl: "Deze URL staat al in de lijst (hoofdletters en spaties genegeerd)", + nameTooLong: "Naam moet 20 tekens of minder zijn", + nonVisibleCharsName: "Naam bevat onzichtbare tekens anders dan spaties", + duplicateName: "Deze naam is al in gebruik (hoofdletters en spaties genegeerd)", + emojiName: "Emoji-tekens kunnen weergaveproblemen veroorzaken", + maxSources: "Maximaal {{max}} bronnen toegestaan", + }, + }, + WIe = { + mode: { + title: "Modus verwijderen", + message: 'Weet je zeker dat je de modus "{{modeName}}" wilt verwijderen?', + rulesWarning: "Dit verwijdert ook alle bijbehorende regelbestanden voor deze modus.", + }, + mcp: { + title: "MCP-server verwijderen", + message: 'Weet je zeker dat je de MCP-server "{{mcpName}}" wilt verwijderen?', + }, + cancel: "Annuleren", + confirm: "Verwijderen", + }, + KIe = { + issueText: + "Heb je een probleem gevonden met een marketplace-item of heb je suggesties voor nieuwe items? <0>Open een GitHub issue</0> om het ons te laten weten!", + }, + Cyt = { + title: $Ie, + tabs: LIe, + done: DIe, + refresh: NIe, + filters: OIe, + sections: FIe, + "type-group": { modes: "Modi", mcps: "MCP-servers" }, + items: BIe, + install: UIe, + sources: qIe, + removeConfirm: WIe, + footer: KIe, + }, + Syt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Cyt, + done: DIe, + filters: OIe, + footer: KIe, + install: UIe, + items: BIe, + refresh: NIe, + removeConfirm: WIe, + sections: FIe, + sources: qIe, + tabs: LIe, + title: $Ie, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + VIe = "MCP-servers", + HIe = "Gereed", + GIe = "MCP-marktplaats", + QIe = + "Het <0>Model Context Protocol</0> maakt communicatie mogelijk met lokaal draaiende MCP-servers die extra tools en bronnen bieden om Roo's mogelijkheden uit te breiden. Je kunt <1>community-servers</1> gebruiken of Roo vragen om nieuwe tools te maken die specifiek zijn voor jouw workflow (bijv. 'voeg een tool toe die de nieuwste npm-documentatie ophaalt').", + ZIe = "Instructies", + YIe = { + title: "MCP-servers inschakelen", + description: + "Indien ingeschakeld, kan Roo communiceren met MCP-servers voor geavanceerde functionaliteit. Gebruik je geen MCP, dan kun je dit uitschakelen om het tokengebruik te verminderen.", + }, + XIe = { + title: "Aanmaken van MCP-server inschakelen", + description: + "Indien ingeschakeld, kan Roo je helpen nieuwe MCP-servers te maken via commando's zoals 'voeg een nieuwe tool toe aan...'. Heb je dit niet nodig, schakel het dan uit om het tokengebruik te verminderen.", + hint: "Tip: Zet deze instelling uit als je Roo niet actief vraagt om een nieuwe MCP-server te maken, om API-tokenkosten te besparen.", + }, + JIe = "Globale MCP bewerken", + e1e = "Project-MCP bewerken", + t1e = "Meer over het bewerken van MCP-instellingen", + n1e = { + alwaysAllow: "Altijd toestaan", + parameters: "Parameters", + noDescription: "Geen beschrijving", + togglePromptInclusion: "Inclusie in prompt in-/uitschakelen", + }, + o1e = { tools: "Tools", resources: "Bronnen", errors: "Fouten" }, + r1e = { + noTools: "Geen tools gevonden", + noResources: "Geen bronnen gevonden", + noLogs: "Geen logboeken gevonden", + noErrors: "Geen fouten gevonden", + }, + i1e = { + label: "Netwerktime-out", + description: "Maximale wachttijd op serverantwoorden", + options: { + "15seconds": "15 seconden", + "30seconds": "30 seconden", + "1minute": "1 minuut", + "5minutes": "5 minuten", + "10minutes": "10 minuten", + "15minutes": "15 minuten", + "30minutes": "30 minuten", + "60minutes": "60 minuten", + }, + }, + s1e = { + title: "MCP-server verwijderen", + description: + "Weet je zeker dat je de MCP-server '{{serverName}}' wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.", + cancel: "Annuleren", + delete: "Verwijderen", + }, + a1e = { retrying: "Opnieuw proberen...", retryConnection: "Verbinding opnieuw proberen" }, + l1e = "MCP-servers vernieuwen", + c1e = { running: "Wordt uitgevoerd", completed: "Voltooid", error: "Fout" }, + Ayt = { + title: VIe, + done: HIe, + marketplace: GIe, + description: QIe, + instructions: ZIe, + enableToggle: YIe, + enableServerCreation: XIe, + editGlobalMCP: JIe, + editProjectMCP: e1e, + learnMoreEditingSettings: t1e, + tool: n1e, + tabs: o1e, + emptyState: r1e, + networkTimeout: i1e, + deleteDialog: s1e, + serverStatus: a1e, + refreshMCP: l1e, + execution: c1e, + }, + Pyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Ayt, + deleteDialog: s1e, + description: QIe, + done: HIe, + editGlobalMCP: JIe, + editProjectMCP: e1e, + emptyState: r1e, + enableServerCreation: XIe, + enableToggle: YIe, + execution: c1e, + instructions: ZIe, + learnMoreEditingSettings: t1e, + marketplace: GIe, + networkTimeout: i1e, + refreshMCP: l1e, + serverStatus: a1e, + tabs: o1e, + title: VIe, + tool: n1e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + d1e = "Modi", + u1e = "Gereed", + p1e = { + title: "Modi", + createNewMode: "Nieuwe modus aanmaken", + importMode: "Modus importeren", + noMatchFound: "Geen modi gevonden", + editModesConfig: "Modusconfiguratie bewerken", + editGlobalModes: "Globale modi bewerken", + editProjectModes: "Projectmodi bewerken (.roomodes)", + createModeHelpText: + "Modi zijn gespecialiseerde persona's die het gedrag van Roo aanpassen. <0>Meer informatie over het gebruik van modi</0> of <1>het aanpassen van modi.</1>", + selectMode: "Modus zoeken", + }, + m1e = { + title: "API-configuratie", + select: "Selecteer welke API-configuratie voor deze modus gebruikt moet worden", + }, + h1e = { + title: "Beschikbare tools", + builtInModesText: "Tools voor ingebouwde modi kunnen niet worden aangepast", + editTools: "Tools bewerken", + doneEditing: "Bewerken voltooid", + allowedFiles: "Toegestane bestanden:", + toolNames: { + read: "Bestanden lezen", + edit: "Bestanden bewerken", + browser: "Browser gebruiken", + command: "Commando's uitvoeren", + mcp: "MCP gebruiken", + }, + noTools: "Geen", + }, + f1e = { + title: "Roldefinitie", + resetToDefault: "Terugzetten naar standaard", + description: + "Definieer Roo's expertise en persoonlijkheid voor deze modus. Deze beschrijving bepaalt hoe Roo zich presenteert en taken benadert.", + }, + g1e = { + title: "Korte beschrijving (voor mensen)", + resetToDefault: "Terugzetten naar standaardbeschrijving", + description: "Een korte beschrijving die wordt getoond in de modusselectie dropdown.", + }, + v1e = { + title: "Wanneer te gebruiken (optioneel)", + description: + "Beschrijf wanneer deze modus gebruikt moet worden. Dit helpt de Orchestrator om de juiste modus voor een taak te kiezen.", + resetToDefault: "Beschrijving 'Wanneer te gebruiken' terugzetten naar standaard", + }, + b1e = { + title: "Modusspecifieke instructies (optioneel)", + resetToDefault: "Terugzetten naar standaard", + description: "Voeg gedragsrichtlijnen toe die specifiek zijn voor de modus {{modeName}}.", + loadFromFile: + "Modusspecifieke instructies voor {{mode}} kunnen ook worden geladen uit de map <span>.roo/rules-{{slug}}/</span> in je werkruimte (.roorules-{{slug}} en .clinerules-{{slug}} zijn verouderd en werken binnenkort niet meer).", + }, + y1e = { + title: "Modus exporteren", + description: + "Exporteer deze modus naar een YAML-bestand met alle regels inbegrepen voor eenvoudig delen met anderen.", + export: "Modus exporteren", + exporting: "Exporteren...", + }, + k1e = { + selectLevel: "Kies waar je deze modus wilt importeren:", + import: "Importeren", + importing: "Importeren...", + global: { + label: "Globaal niveau", + description: "Beschikbaar in alle projecten. Regels worden samengevoegd in aangepaste instructies.", + }, + project: { + label: "Projectniveau", + description: + "Alleen beschikbaar in deze werkruimte. Als de geëxporteerde modus regelbestanden bevatte, worden deze opnieuw gemaakt in de map .roo/rules-{slug}/.", + }, + }, + x1e = { title: "Geavanceerd" }, + w1e = { + title: "Aangepaste instructies voor alle modi", + description: + "Deze instructies gelden voor alle modi. Ze bieden een basisset aan gedragingen die kunnen worden uitgebreid met modusspecifieke instructies hieronder. <0>Meer informatie</0>", + loadFromFile: + "Instructies kunnen ook worden geladen uit de map <span>.roo/rules/</span> in je werkruimte (.roorules en .clinerules zijn verouderd en werken binnenkort niet meer).", + }, + _1e = { + preview: "Systeemprompt bekijken", + copy: "Systeemprompt kopiëren naar klembord", + title: "Systeemprompt ({{modeName}} modus)", + }, + C1e = { + title: "Ondersteuningsprompts", + resetPrompt: "Reset {{promptType}} prompt naar standaard", + prompt: "Prompt", + enhance: { + apiConfiguration: "API-configuratie", + apiConfigDescription: + "Je kunt een API-configuratie selecteren die altijd wordt gebruikt voor het verbeteren van prompts, of gewoon de huidige selectie gebruiken", + useCurrentConfig: "Huidige API-configuratie gebruiken", + testPromptPlaceholder: "Voer een prompt in om de verbetering te testen", + previewButton: "Voorbeeld promptverbetering", + testEnhancement: "Test verbetering", + includeTaskHistory: "Taakgeschiedenis als context opnemen", + includeTaskHistoryDescription: + "Wanneer ingeschakeld, worden de laatste 10 berichten van het huidige gesprek opgenomen als context bij het verbeteren van prompts, wat helpt bij het genereren van meer relevante en contextbewuste suggesties.", + }, + condense: { + apiConfiguration: "API-configuratie voor contextcondensatie", + apiConfigDescription: + "Selecteer welke API-configuratie moet worden gebruikt voor contextcondensatiebewerkingen. Laat leeg om de huidige actieve configuratie te gebruiken.", + useCurrentConfig: "Gebruik de momenteel geselecteerde API-configuratie", + }, + types: { + ENHANCE: { + label: "Prompt verbeteren", + description: + "Gebruik promptverbetering om op maat gemaakte suggesties of verbeteringen voor je invoer te krijgen. Zo begrijpt Roo je intentie en krijg je de best mogelijke antwoorden. Beschikbaar via het ✨-icoon in de chat.", + }, + CONDENSE: { + label: "Contextcondensatie", + description: + "Configureer hoe de gesprekscontext wordt gecondenseerd om tokenlimieten te beheren.Deze prompt wordt gebruikt voor zowel handmatige als automatische contextcondensatiebewerkingen.", + }, + EXPLAIN: { + label: "Code uitleggen", + description: + "Krijg gedetailleerde uitleg over codefragmenten, functies of hele bestanden. Handig om complexe code te begrijpen of nieuwe patronen te leren. Beschikbaar via codeacties (lampje in de editor) en het contextmenu (rechtsklik op geselecteerde code).", + }, + FIX: { + label: "Problemen oplossen", + description: + "Krijg hulp bij het identificeren en oplossen van bugs, fouten of codekwaliteitsproblemen. Biedt stapsgewijze begeleiding bij het oplossen van problemen. Beschikbaar via codeacties (lampje in de editor) en het contextmenu (rechtsklik op geselecteerde code).", + }, + IMPROVE: { + label: "Code verbeteren", + description: + "Ontvang suggesties voor codeoptimalisatie, betere praktijken en architecturale verbeteringen met behoud van functionaliteit. Beschikbaar via codeacties (lampje in de editor) en het contextmenu (rechtsklik op geselecteerde code).", + }, + ADD_TO_CONTEXT: { + label: "Aan context toevoegen", + description: + "Voeg context toe aan je huidige taak of gesprek. Handig voor extra informatie of verduidelijkingen. Beschikbaar via codeacties (lampje in de editor) en het contextmenu (rechtsklik op geselecteerde code).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Terminalinhoud aan context toevoegen", + description: + "Voeg terminaluitvoer toe aan je huidige taak of gesprek. Handig voor commando-uitvoer of logboeken. Beschikbaar in het terminalcontextmenu (rechtsklik op geselecteerde terminalinhoud).", + }, + TERMINAL_FIX: { + label: "Terminalcommando repareren", + description: + "Krijg hulp bij het repareren van terminalcommando's die zijn mislukt of verbetering nodig hebben. Beschikbaar in het terminalcontextmenu (rechtsklik op geselecteerde terminalinhoud).", + }, + TERMINAL_EXPLAIN: { + label: "Terminalcommando uitleggen", + description: + "Krijg gedetailleerde uitleg over terminalcommando's en hun uitvoer. Beschikbaar in het terminalcontextmenu (rechtsklik op geselecteerde terminalinhoud).", + }, + NEW_TASK: { + label: "Nieuwe taak starten", + description: "Start een nieuwe taak met gebruikersinvoer. Beschikbaar via de Command Palette.", + }, + }, + }, + S1e = { + title: "Geavanceerd: Systeemprompt overschrijven", + description: + "<2>⚠️ Waarschuwing:</2> Deze geavanceerde functie omzeilt beveiligingen. <1>LEES DIT VOOR GEBRUIK!</1>Overschrijf de standaard systeemprompt door een bestand aan te maken op <span>.roo/system-prompt-{{slug}}</span>.", + }, + A1e = { + title: "Nieuwe modus aanmaken", + close: "Sluiten", + name: { label: "Naam", placeholder: "Voer de naam van de modus in" }, + slug: { + label: "Slug", + description: + "De slug wordt gebruikt in URL's en bestandsnamen. Moet kleine letters, cijfers en koppeltekens bevatten.", + }, + saveLocation: { + label: "Opslaglocatie", + description: + "Kies waar je deze modus wilt opslaan. Projectspecifieke modi hebben voorrang op globale modi.", + global: { label: "Globaal", description: "Beschikbaar in alle werkruimtes" }, + project: { + label: "Projectspecifiek (.roomodes)", + description: "Alleen beschikbaar in deze werkruimte, heeft voorrang op globaal", + }, + }, + roleDefinition: { + label: "Roldefinitie", + description: "Definieer Roo's expertise en persoonlijkheid voor deze modus.", + }, + whenToUse: { + label: "Wanneer te gebruiken (optioneel)", + description: + "Geef een duidelijke beschrijving van wanneer deze modus het meest effectief is en voor welke soorten taken deze uitblinkt.", + }, + tools: { label: "Beschikbare tools", description: "Selecteer welke tools deze modus kan gebruiken." }, + description: { + label: "Korte beschrijving (voor mensen)", + description: "Een korte beschrijving die wordt getoond in de modusselectie dropdown.", + }, + customInstructions: { + label: "Aangepaste instructies (optioneel)", + description: "Voeg gedragsrichtlijnen toe die specifiek zijn voor deze modus.", + }, + buttons: { cancel: "Annuleren", create: "Modus aanmaken" }, + deleteMode: "Modus verwijderen", + }, + P1e = "alle bestanden", + R1e = { + title: "Modus verwijderen", + message: 'Weet je zeker dat je de modus "{{modeName}}" wilt verwijderen?', + rulesFolder: "Deze modus heeft een regelmap op {{folderPath}} die ook wordt verwijderd.", + descriptionNoRules: "Weet je zeker dat je deze aangepaste modus wilt verwijderen?", + confirm: "Verwijderen", + cancel: "Annuleren", + }, + Ryt = { + title: d1e, + done: u1e, + modes: p1e, + apiConfiguration: m1e, + tools: h1e, + roleDefinition: f1e, + description: g1e, + whenToUse: v1e, + customInstructions: b1e, + exportMode: y1e, + importMode: k1e, + advanced: x1e, + globalCustomInstructions: w1e, + systemPrompt: _1e, + supportPrompts: C1e, + advancedSystemPrompt: S1e, + createModeDialog: A1e, + allFiles: P1e, + deleteMode: R1e, + }, + Tyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: x1e, + advancedSystemPrompt: S1e, + allFiles: P1e, + apiConfiguration: m1e, + createModeDialog: A1e, + customInstructions: b1e, + default: Ryt, + deleteMode: R1e, + description: g1e, + done: u1e, + exportMode: y1e, + globalCustomInstructions: w1e, + importMode: k1e, + modes: p1e, + roleDefinition: f1e, + supportPrompts: C1e, + systemPrompt: _1e, + title: d1e, + tools: h1e, + whenToUse: v1e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + T1e = { + save: "Opslaan", + done: "Gereed", + cancel: "Annuleren", + reset: "Resetten", + select: "Selecteren", + add: "Header toevoegen", + remove: "Verwijderen", + }, + I1e = { + title: "Instellingen", + saveButtonTooltip: "Wijzigingen opslaan", + nothingChangedTooltip: "Niets gewijzigd", + doneButtonTooltip: "Niet-opgeslagen wijzigingen negeren en instellingen sluiten", + }, + M1e = { + title: "Niet-opgeslagen wijzigingen", + description: "Wil je de wijzigingen negeren en doorgaan?", + cancelButton: "Annuleren", + discardButton: "Wijzigingen negeren", + }, + j1e = { + providers: "Providers", + autoApprove: "Auto-goedkeuren", + browser: "Browser", + checkpoints: "Checkpoints", + notifications: "Meldingen", + contextManagement: "Context", + terminal: "Terminal", + prompts: "Prompts", + experimental: "Experimenteel", + language: "Taal", + about: "Over Roo Code", + }, + E1e = { + description: + "Configureer ondersteuningsprompts die worden gebruikt voor snelle acties zoals het verbeteren van prompts, het uitleggen van code en het oplossen van problemen. Deze prompts helpen Roo om betere ondersteuning te bieden voor veelvoorkomende ontwikkelingstaken.", + }, + z1e = { + title: "Codebase indexering", + enableLabel: "Codebase indexering inschakelen", + enableDescription: "Code-indexering inschakelen voor verbeterde zoekresultaten en contextbegrip", + providerLabel: "Embeddings provider", + selectProviderPlaceholder: "Selecteer provider", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API-sleutel:", + geminiApiKeyPlaceholder: "Voer uw Gemini API-sleutel in", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API-sleutel:", + mistralApiKeyPlaceholder: "Voer uw Mistral API-sleutel in", + openaiCompatibleProvider: "OpenAI-compatibel", + openAiKeyLabel: "OpenAI API-sleutel", + openAiKeyPlaceholder: "Voer uw OpenAI API-sleutel in", + openAiCompatibleBaseUrlLabel: "Basis-URL", + openAiCompatibleApiKeyLabel: "API-sleutel", + openAiCompatibleApiKeyPlaceholder: "Voer uw API-sleutel in", + openAiCompatibleModelDimensionLabel: "Embedding Dimensie:", + modelDimensionLabel: "Model Dimensie", + openAiCompatibleModelDimensionPlaceholder: "bijv., 1536", + openAiCompatibleModelDimensionDescription: + "De embedding dimensie (uitvoergrootte) voor uw model. Controleer de documentatie van uw provider voor deze waarde. Veelvoorkomende waarden: 384, 768, 1536, 3072.", + modelLabel: "Model", + selectModelPlaceholder: "Selecteer model", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant-sleutel:", + startIndexingButton: "Start", + clearIndexDataButton: "Index wissen", + unsavedSettingsMessage: "Sla je instellingen op voordat je het indexeringsproces start.", + clearDataDialog: { + title: "Weet je het zeker?", + description: + "Deze actie kan niet ongedaan worden gemaakt. Dit zal je codebase-indexgegevens permanent verwijderen.", + cancelButton: "Annuleren", + confirmButton: "Gegevens wissen", + }, + description: + "Configureer codebase-indexeringsinstellingen om semantisch zoeken voor je project in te schakelen. <0>Meer informatie</0>", + statusTitle: "Status", + settingsTitle: "Indexeringsinstellingen", + disabledMessage: + "Codebase-indexering is momenteel uitgeschakeld. Schakel het in de algemene instellingen in om indexeringsopties te configureren.", + embedderProviderLabel: "Embedder Provider", + modelPlaceholder: "Voer modelnaam in", + selectModel: "Selecteer een model", + ollamaBaseUrlLabel: "Ollama Basis-URL", + qdrantApiKeyLabel: "Qdrant API-sleutel", + qdrantApiKeyPlaceholder: "Voer je Qdrant API-sleutel in (optioneel)", + setupConfigLabel: "Instellen", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Kan instellingen niet opslaan", + modelDimensions: "({{dimension}} dimensies)", + saveSuccess: "Instellingen succesvol opgeslagen", + saving: "Opslaan...", + saveSettings: "Opslaan", + indexingStatuses: { standby: "Stand-by", indexing: "Indexeren", indexed: "Geïndexeerd", error: "Fout" }, + close: "Sluiten", + validation: { + invalidQdrantUrl: "Ongeldige Qdrant URL", + invalidOllamaUrl: "Ongeldige Ollama URL", + invalidBaseUrl: "Ongeldige basis-URL", + qdrantUrlRequired: "Qdrant URL is vereist", + openaiApiKeyRequired: "OpenAI API-sleutel is vereist", + modelSelectionRequired: "Modelselectie is vereist", + apiKeyRequired: "API-sleutel is vereist", + modelIdRequired: "Model-ID is vereist", + modelDimensionRequired: "Modelafmeting is vereist", + geminiApiKeyRequired: "Gemini API-sleutel is vereist", + mistralApiKeyRequired: "Mistral API-sleutel is vereist", + ollamaBaseUrlRequired: "Ollama basis-URL is vereist", + baseUrlRequired: "Basis-URL is vereist", + modelDimensionMinValue: "Modelafmeting moet groter zijn dan 0", + }, + advancedConfigLabel: "Geavanceerde configuratie", + searchMinScoreLabel: "Zoekscore drempel", + searchMinScoreDescription: + "Minimale overeenkomstscore (0.0-1.0) vereist voor zoekresultaten. Lagere waarden leveren meer resultaten op, maar zijn mogelijk minder relevant. Hogere waarden leveren minder, maar relevantere resultaten op.", + searchMinScoreResetTooltip: "Reset naar standaardwaarde (0.4)", + searchMaxResultsLabel: "Maximum Zoekresultaten", + searchMaxResultsDescription: + "Maximum aantal zoekresultaten dat wordt geretourneerd bij het doorzoeken van de codebase-index. Hogere waarden bieden meer context maar kunnen minder relevante resultaten bevatten.", + resetToDefault: "Reset naar standaard", + }, + $1e = { + description: + "Sta Roo toe om automatisch handelingen uit te voeren zonder goedkeuring. Schakel deze instellingen alleen in als je de AI volledig vertrouwt en de bijbehorende beveiligingsrisico's begrijpt.", + enabled: "Auto-goedkeuren ingeschakeld", + toggleAriaLabel: "Automatisch goedkeuren in-/uitschakelen", + disabledAriaLabel: "Automatisch goedkeuren uitgeschakeld - selecteer eerst opties", + readOnly: { + label: "Lezen", + description: + "Indien ingeschakeld, bekijkt Roo automatisch de inhoud van mappen en leest bestanden zonder dat je op de Goedkeuren-knop hoeft te klikken.", + outsideWorkspace: { + label: "Inclusief bestanden buiten werkruimte", + description: "Sta Roo toe om bestanden buiten de huidige werkruimte te lezen zonder goedkeuring.", + }, + }, + write: { + label: "Schrijven", + description: "Automatisch bestanden aanmaken en bewerken zonder goedkeuring", + delayLabel: "Vertraging na schrijven om diagnostiek de kans te geven mogelijke problemen te detecteren", + outsideWorkspace: { + label: "Inclusief bestanden buiten werkruimte", + description: + "Sta Roo toe om bestanden buiten de huidige werkruimte aan te maken en te bewerken zonder goedkeuring.", + }, + protected: { + label: "Inclusief beschermde bestanden", + description: + "Sta Roo toe om beschermde bestanden (zoals .rooignore en .roo/ configuratiebestanden) aan te maken en te bewerken zonder goedkeuring.", + }, + }, + browser: { + label: "Browser", + description: + "Automatisch browseracties uitvoeren zonder goedkeuring. Let op: geldt alleen als het model computergebruik ondersteunt.", + }, + retry: { + label: "Opnieuw proberen", + description: "Automatisch mislukte API-verzoeken opnieuw proberen wanneer de server een foutmelding geeft", + delayLabel: "Vertraging voordat het verzoek opnieuw wordt geprobeerd", + }, + mcp: { + label: "MCP", + description: + "Automatische goedkeuring van individuele MCP-tools in het MCP-serversoverzicht inschakelen (vereist zowel deze instelling als het selectievakje 'Altijd toestaan' bij de tool)", + }, + modeSwitch: { + label: "Modus", + description: "Automatisch tussen verschillende modi schakelen zonder goedkeuring", + }, + subtasks: { label: "Subtaken", description: "Subtaken aanmaken en afronden zonder goedkeuring" }, + followupQuestions: { + label: "Vraag", + description: + "Selecteer automatisch het eerste voorgestelde antwoord voor vervolgvragen na de geconfigureerde time-out", + timeoutLabel: "Wachttijd voordat het eerste antwoord automatisch wordt geselecteerd", + }, + execute: { + label: "Uitvoeren", + description: "Automatisch toegestane terminalcommando's uitvoeren zonder goedkeuring", + allowedCommands: "Toegestane automatisch uit te voeren commando's", + allowedCommandsDescription: + "Commando-prefixen die automatisch kunnen worden uitgevoerd als 'Altijd goedkeuren voor uitvoeren' is ingeschakeld. Voeg * toe om alle commando's toe te staan (gebruik met voorzichtigheid).", + deniedCommands: "Geweigerde commando's", + deniedCommandsDescription: + "Commando-prefixen die automatisch worden geweigerd zonder om goedkeuring te vragen. Bij conflicten met toegestane commando's heeft de langste prefixovereenkomst voorrang. Voeg * toe om alle commando's te weigeren.", + commandPlaceholder: "Voer commando-prefix in (bijv. 'git ')", + deniedCommandPlaceholder: "Voer te weigeren commando-prefix in (bijv. 'rm -rf')", + addButton: "Toevoegen", + autoDenied: + "Commando's met het prefix `{{prefix}}` zijn verboden door de gebruiker. Omzeil deze beperking niet door een ander commando uit te voeren.", + }, + updateTodoList: { label: "Todo", description: "De takenlijst wordt automatisch bijgewerkt zonder goedkeuring" }, + apiRequestLimit: { + title: "Maximale verzoeken", + description: + "Voer automatisch dit aantal API-verzoeken uit voordat om goedkeuring wordt gevraagd om door te gaan met de taak.", + unlimited: "Onbeperkt", + }, + selectOptionsFirst: "Selecteer ten minste één optie hieronder om automatische goedkeuring in te schakelen", + apiCostLimit: { title: "Max kosten", unlimited: "Onbeperkt" }, + maxLimits: { + description: + "Automatisch verzoeken indienen tot aan deze limieten voordat om goedkeuring wordt gevraagd om door te gaan.", + }, + }, + L1e = JSON.parse( + `{"providerDocumentation":"{{provider}} documentatie","configProfile":"Configuratieprofiel","description":"Sla verschillende API-configuraties op om snel te wisselen tussen providers en instellingen.","apiProvider":"API-provider","model":"Model","nameEmpty":"Naam mag niet leeg zijn","nameExists":"Er bestaat al een profiel met deze naam","deleteProfile":"Profiel verwijderen","invalidArnFormat":"Ongeldig ARN-formaat. Controleer de bovenstaande voorbeelden.","enterNewName":"Voer een nieuwe naam in","addProfile":"Profiel toevoegen","renameProfile":"Profiel hernoemen","newProfile":"Nieuw configuratieprofiel","enterProfileName":"Voer profielnaam in","createProfile":"Profiel aanmaken","cannotDeleteOnlyProfile":"Kan het enige profiel niet verwijderen","searchPlaceholder":"Zoek profielen","searchProviderPlaceholder":"Zoek providers","noProviderMatchFound":"Geen providers gevonden","noMatchFound":"Geen overeenkomende profielen gevonden","vscodeLmDescription":"De VS Code Language Model API stelt je in staat modellen te draaien die door andere VS Code-extensies worden geleverd (waaronder GitHub Copilot). De eenvoudigste manier om te beginnen is door de Copilot- en Copilot Chat-extensies te installeren vanuit de VS Code Marketplace.","awsCustomArnUse":"Voer een geldige Amazon Bedrock ARN in voor het model dat je wilt gebruiken. Voorbeeldformaten:","awsCustomArnDesc":"Zorg ervoor dat de regio in de ARN overeenkomt met je geselecteerde AWS-regio hierboven.","openRouterApiKey":"OpenRouter API-sleutel","getOpenRouterApiKey":"OpenRouter API-sleutel ophalen","apiKeyStorageNotice":"API-sleutels worden veilig opgeslagen in de geheime opslag van VSCode","glamaApiKey":"Glama API-sleutel","getGlamaApiKey":"Glama API-sleutel ophalen","useCustomBaseUrl":"Aangepaste basis-URL gebruiken","useReasoning":"Redenering inschakelen","useHostHeader":"Aangepaste Host-header gebruiken","useLegacyFormat":"Verouderd OpenAI API-formaat gebruiken","customHeaders":"Aangepaste headers","headerName":"Headernaam","headerValue":"Headerwaarde","noCustomHeaders":"Geen aangepaste headers gedefinieerd. Klik op de + knop om er een toe te voegen.","requestyApiKey":"Requesty API-sleutel","refreshModels":{"label":"Modellen verversen","hint":"Open de instellingen opnieuw om de nieuwste modellen te zien.","loading":"Modellenlijst wordt vernieuwd...","success":"Modellenlijst succesvol vernieuwd!","error":"Kan modellenlijst niet vernieuwen. Probeer het opnieuw."},"getRequestyApiKey":"Requesty API-sleutel ophalen","openRouterTransformsText":"Comprimeer prompts en berichtreeksen tot de contextgrootte (<a>OpenRouter Transforms</a>)","anthropicApiKey":"Anthropic API-sleutel","getAnthropicApiKey":"Anthropic API-sleutel ophalen","anthropicUseAuthToken":"Anthropic API-sleutel als Authorization-header doorgeven in plaats van X-Api-Key","cerebrasApiKey":"Cerebras API-sleutel","getCerebrasApiKey":"Cerebras API-sleutel verkrijgen","chutesApiKey":"Chutes API-sleutel","getChutesApiKey":"Chutes API-sleutel ophalen","fireworksApiKey":"Fireworks API-sleutel","getFireworksApiKey":"Fireworks API-sleutel ophalen","deepSeekApiKey":"DeepSeek API-sleutel","getDeepSeekApiKey":"DeepSeek API-sleutel ophalen","doubaoApiKey":"Doubao API-sleutel","getDoubaoApiKey":"Doubao API-sleutel ophalen","moonshotApiKey":"Moonshot API-sleutel","getMoonshotApiKey":"Moonshot API-sleutel ophalen","moonshotBaseUrl":"Moonshot-ingangspunt","zaiApiKey":"Z AI API-sleutel","getZaiApiKey":"Z AI API-sleutel ophalen","zaiEntrypoint":"Z AI-ingangspunt","zaiEntrypointDescription":"Selecteer het juiste API-ingangspunt op basis van uw locatie. Als u zich in China bevindt, kies dan open.bigmodel.cn. Anders kiest u api.z.ai.","geminiApiKey":"Gemini API-sleutel","getGroqApiKey":"Groq API-sleutel ophalen","groqApiKey":"Groq API-sleutel","getSambaNovaApiKey":"SambaNova API-sleutel ophalen","sambaNovaApiKey":"SambaNova API-sleutel","getGeminiApiKey":"Gemini API-sleutel ophalen","getHuggingFaceApiKey":"Hugging Face API-sleutel ophalen","huggingFaceApiKey":"Hugging Face API-sleutel","huggingFaceModelId":"Model ID","huggingFaceLoading":"Laden...","huggingFaceModelsCount":"({{count}} modellen)","huggingFaceSelectModel":"Selecteer een model...","huggingFaceSearchModels":"Zoek modellen...","huggingFaceNoModelsFound":"Geen modellen gevonden","huggingFaceProvider":"Provider","huggingFaceProviderAuto":"Automatisch","huggingFaceSelectProvider":"Selecteer een provider...","huggingFaceSearchProviders":"Zoek providers...","huggingFaceNoProvidersFound":"Geen providers gevonden","apiKey":"API-sleutel","openAiApiKey":"OpenAI API-sleutel","openAiBaseUrl":"Basis-URL","getOpenAiApiKey":"OpenAI API-sleutel ophalen","mistralApiKey":"Mistral API-sleutel","getMistralApiKey":"Mistral / Codestral API-sleutel ophalen","codestralBaseUrl":"Codestral basis-URL (optioneel)","codestralBaseUrlDesc":"Stel een alternatieve URL in voor het Codestral-model.","xaiApiKey":"xAI API-sleutel","getXaiApiKey":"xAI API-sleutel ophalen","litellmApiKey":"LiteLLM API-sleutel","litellmBaseUrl":"LiteLLM basis-URL","awsCredentials":"AWS-inloggegevens","awsProfile":"AWS-profiel","awsApiKey":"Amazon Bedrock API-sleutel","awsProfileName":"AWS-profielnaam","awsAccessKey":"AWS-toegangssleutel","awsSecretKey":"AWS-geheime sleutel","awsSessionToken":"AWS-sessietoken","awsRegion":"AWS-regio","awsCrossRegion":"Gebruik cross-region inference","awsBedrockVpc":{"useCustomVpcEndpoint":"Aangepast VPC-eindpunt gebruiken","vpcEndpointUrlPlaceholder":"Voer VPC-eindpunt URL in (optioneel)","examples":"Voorbeelden:"},"enablePromptCaching":"Prompt caching inschakelen","enablePromptCachingTitle":"Schakel prompt caching in om de prestaties te verbeteren en de kosten te verlagen voor ondersteunde modellen.","cacheUsageNote":"Let op: als je geen cachegebruik ziet, probeer dan een ander model te selecteren en vervolgens weer je gewenste model.","vscodeLmModel":"Taalmodel","vscodeLmWarning":"Let op: dit is een zeer experimentele integratie en ondersteuning door providers kan variëren. Krijg je een foutmelding dat een model niet wordt ondersteund, dan ligt dat aan de provider.","geminiParameters":{"urlContext":{"title":"URL-context inschakelen","description":"Staat Gemini toe om URL's te openen en te verwerken voor extra context bij het genereren van antwoorden. Handig voor taken die webinhoudsanalyse vereisen."},"groundingSearch":{"title":"Grounding met Google-zoekopdracht inschakelen","description":"Staat Gemini toe om Google te doorzoeken voor actuele informatie en antwoorden op realtime gegevens te baseren. Handig voor vragen die actuele informatie vereisen."}},"googleCloudSetup":{"title":"Om Google Cloud Vertex AI te gebruiken, moet je:","step1":"1. Maak een Google Cloud-account aan, schakel de Vertex AI API in en activeer de gewenste Claude-modellen.","step2":"2. Installeer de Google Cloud CLI en configureer standaardreferenties voor applicaties.","step3":"3. Of maak een serviceaccount met referenties."},"googleCloudCredentials":"Google Cloud-referenties","googleCloudKeyFile":"Google Cloud-sleutelbestandspad","googleCloudProjectId":"Google Cloud-project-ID","googleCloudRegion":"Google Cloud-regio","lmStudio":{"baseUrl":"Basis-URL (optioneel)","modelId":"Model-ID","speculativeDecoding":"Speculatieve decodering inschakelen","draftModelId":"Draft Model-ID","draftModelDesc":"Draft-model moet uit dezelfde modelfamilie komen voor correcte speculatieve decodering.","selectDraftModel":"Selecteer draft-model","noModelsFound":"Geen draft-modellen gevonden. Zorg dat LM Studio draait met Server Mode ingeschakeld.","description":"LM Studio laat je modellen lokaal op je computer draaien. Zie hun <a>quickstart-gids</a> voor instructies. Je moet ook de <b>lokale server</b>-functie van LM Studio starten om het met deze extensie te gebruiken. <span>Let op:</span> Roo Code gebruikt complexe prompts en werkt het beste met Claude-modellen. Minder krachtige modellen werken mogelijk niet zoals verwacht."},"ollama":{"baseUrl":"Basis-URL (optioneel)","modelId":"Model-ID","description":"Ollama laat je modellen lokaal op je computer draaien. Zie hun quickstart-gids voor instructies.","warning":"Let op: Roo Code gebruikt complexe prompts en werkt het beste met Claude-modellen. Minder krachtige modellen werken mogelijk niet zoals verwacht."},"unboundApiKey":"Unbound API-sleutel","getUnboundApiKey":"Unbound API-sleutel ophalen","unboundRefreshModelsSuccess":"Modellenlijst bijgewerkt! U kunt nu kiezen uit de nieuwste modellen.","unboundInvalidApiKey":"Ongeldige API-sleutel. Controleer uw API-sleutel en probeer het opnieuw.","humanRelay":{"description":"Geen API-sleutel vereist, maar de gebruiker moet helpen met kopiëren en plakken naar de webchat-AI.","instructions":"Tijdens gebruik verschijnt een dialoogvenster en wordt het huidige bericht automatisch naar het klembord gekopieerd. Je moet deze plakken in webversies van AI (zoals ChatGPT of Claude), vervolgens het antwoord van de AI terugkopiëren naar het dialoogvenster en op bevestigen klikken."},"openRouter":{"providerRouting":{"title":"OpenRouter-providerroutering","description":"OpenRouter stuurt verzoeken naar de best beschikbare providers voor je model. Standaard worden verzoeken gebalanceerd over de beste providers voor maximale uptime. Je kunt echter een specifieke provider kiezen voor dit model.","learnMore":"Meer informatie over providerroutering"}},"customModel":{"capabilities":"Stel de mogelijkheden en prijzen in voor je aangepaste OpenAI-compatibele model. Wees voorzichtig met het opgeven van de modelmogelijkheden, want deze kunnen de prestaties van Roo Code beïnvloeden.","maxTokens":{"label":"Maximaal aantal outputtokens","description":"Maximaal aantal tokens dat het model in een antwoord kan genereren. (Geef -1 op om de server het maximum te laten bepalen.)"},"contextWindow":{"label":"Contextvenstergrootte","description":"Totaal aantal tokens (input + output) dat het model kan verwerken."},"imageSupport":{"label":"Ondersteuning voor afbeeldingen","description":"Kan dit model afbeeldingen verwerken en begrijpen?"},"computerUse":{"label":"Computergebruik","description":"Kan dit model met een browser werken? (bijv. Claude 3.7 Sonnet)."},"promptCache":{"label":"Prompt caching","description":"Kan dit model prompts cachen?"},"pricing":{"input":{"label":"Invoerprijs","description":"Kosten per miljoen tokens in de input/prompt. Dit beïnvloedt de kosten van het verzenden van context en instructies naar het model."},"output":{"label":"Uitvoerprijs","description":"Kosten per miljoen tokens in het antwoord van het model. Dit beïnvloedt de kosten van gegenereerde inhoud en voltooiingen."},"cacheReads":{"label":"Cache-leesprijs","description":"Kosten per miljoen tokens voor het lezen uit de cache. Dit is de prijs die wordt gerekend wanneer een gecachte reactie wordt opgehaald."},"cacheWrites":{"label":"Cache-schrijfprijs","description":"Kosten per miljoen tokens voor het schrijven naar de cache. Dit is de prijs die wordt gerekend wanneer een prompt voor het eerst wordt gecachet."}},"resetDefaults":"Standaardwaarden herstellen"},"rateLimitSeconds":{"label":"Snelheidslimiet","description":"Minimale tijd tussen API-verzoeken."},"consecutiveMistakeLimit":{"label":"Fout- & Herhalingslimiet","description":"Aantal opeenvolgende fouten of herhaalde acties voordat het dialoogvenster 'Roo ondervindt problemen' wordt weergegeven","unlimitedDescription":"Onbeperkt aantal nieuwe pogingen ingeschakeld (automatisch doorgaan). Het dialoogvenster zal nooit verschijnen.","warning":"⚠️ Instellen op 0 staat onbeperkte nieuwe pogingen toe, wat aanzienlijk API-gebruik kan verbruiken"},"reasoningEffort":{"label":"Model redeneervermogen","high":"Hoog","medium":"Middel","low":"Laag"},"setReasoningLevel":"Redeneervermogen inschakelen","claudeCode":{"pathLabel":"Claude Code Pad","description":"Optioneel pad naar uw Claude Code CLI. Standaard 'claude' als niet ingesteld.","placeholder":"Standaard: claude","maxTokensLabel":"Max Output Tokens","maxTokensDescription":"Maximaal aantal output-tokens voor Claude Code-reacties. Standaard is 8000."}}`, + ), + D1e = { + enable: { + label: "Browserhulpmiddel inschakelen", + description: + "Indien ingeschakeld, kan Roo een browser gebruiken om te interageren met websites wanneer modellen computergebruik ondersteunen. <0>Meer informatie</0>", + }, + viewport: { + label: "Viewport-grootte", + description: + "Selecteer de viewport-grootte voor browserinteracties. Dit beïnvloedt hoe websites worden weergegeven en gebruikt.", + options: { + largeDesktop: "Groot bureaublad (1280x800)", + smallDesktop: "Klein bureaublad (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Mobiel (360x640)", + }, + }, + screenshotQuality: { + label: "Screenshotkwaliteit", + description: + "Pas de WebP-kwaliteit van browserscreenshots aan. Hogere waarden geven duidelijkere screenshots maar verhogen het tokengebruik.", + }, + remote: { + label: "Gebruik externe browserverbinding", + description: + "Verbind met een Chrome-browser die draait met remote debugging ingeschakeld (--remote-debugging-port=9222).", + urlPlaceholder: "Aangepaste URL (bijv. http://localhost:9222)", + testButton: "Verbinding testen", + testingButton: "Bezig met testen...", + instructions: + "Voer het DevTools Protocol hostadres in of laat leeg om lokale Chrome-instanties automatisch te detecteren. De knop Verbinding testen probeert de aangepaste URL als opgegeven, of detecteert automatisch als het veld leeg is.", + }, + }, + N1e = { + enable: { + label: "Automatische checkpoints inschakelen", + description: + "Indien ingeschakeld, maakt Roo automatisch checkpoints tijdens het uitvoeren van taken, zodat je eenvoudig wijzigingen kunt bekijken of terugzetten. <0>Meer informatie</0>", + }, + }, + O1e = { + sound: { + label: "Geluidseffecten inschakelen", + description: "Indien ingeschakeld, speelt Roo geluidseffecten af voor meldingen en gebeurtenissen.", + volumeLabel: "Volume", + }, + tts: { + label: "Tekst-naar-spraak inschakelen", + description: "Indien ingeschakeld, leest Roo zijn antwoorden hardop voor via tekst-naar-spraak.", + speedLabel: "Snelheid", + }, + }, + F1e = { + description: + "Bepaal welke informatie wordt opgenomen in het contextvenster van de AI, wat invloed heeft op tokengebruik en antwoordkwaliteit", + autoCondenseContextPercent: { + label: "Drempelwaarde om intelligente contextcompressie te activeren", + description: "Wanneer het contextvenster deze drempelwaarde bereikt, zal Roo het automatisch comprimeren.", + }, + condensingApiConfiguration: { + label: "API-configuratie voor contextcondensatie", + description: + "Selecteer welke API-configuratie gebruikt moet worden voor contextcondensatie. Laat leeg om de huidige actieve configuratie te gebruiken.", + useCurrentConfig: "Standaard", + }, + customCondensingPrompt: { + label: "Aangepaste contextcondensatieprompt", + description: + "Aangepaste systeemprompt voor contextcondensatie. Laat leeg om de standaardprompt te gebruiken.", + placeholder: `Voer hier je aangepaste condensatieprompt in... + +Je kunt dezelfde structuur gebruiken als de standaardprompt: +- Vorig gesprek +- Huidig werk +- Belangrijke technische concepten +- Relevante bestanden en code +- Probleemoplossing +- Openstaande taken en volgende stappen`, + reset: "Herstellen naar standaard", + hint: "Leeg = gebruik standaardprompt", + }, + autoCondenseContext: { + name: "Automatisch intelligente contextcompressie activeren", + description: + "Wanneer ingeschakeld, zal Roo automatisch de context comprimeren wanneer de drempel wordt bereikt. Wanneer uitgeschakeld, kun je nog steeds handmatig contextcompressie activeren.", + }, + openTabs: { + label: "Limiet geopende tabbladen in context", + description: + "Maximaal aantal geopende VSCode-tabbladen dat in de context wordt opgenomen. Hogere waarden geven meer context maar verhogen het tokengebruik.", + }, + workspaceFiles: { + label: "Limiet werkruimtebestanden in context", + description: + "Maximaal aantal bestanden dat wordt opgenomen in details van de huidige werkmap. Hogere waarden geven meer context maar verhogen het tokengebruik.", + }, + rooignore: { + label: ".rooignore-bestanden tonen in lijsten en zoekopdrachten", + description: + "Indien ingeschakeld, worden bestanden die overeenkomen met patronen in .rooignore getoond in lijsten met een slotje. Indien uitgeschakeld, worden deze bestanden volledig verborgen in lijsten en zoekopdrachten.", + }, + maxReadFile: { + label: "Automatisch afkappen bij bestandslezen", + description: + "Roo leest dit aantal regels wanneer het model geen begin/eindwaarden opgeeft. Als dit aantal lager is dan het totaal, genereert Roo een index van codelijnen. Speciale gevallen: -1 laat Roo het hele bestand lezen (zonder indexering), 0 leest geen regels en geeft alleen een minimale index. Lagere waarden minimaliseren het initiële contextgebruik en maken precieze vervolg-leesopdrachten mogelijk. Expliciete begin/eind-aanvragen worden niet door deze instelling beperkt.", + lines: "regels", + always_full_read: "Altijd volledig bestand lezen", + }, + maxConcurrentFileReads: { + label: "Limiet gelijktijdige bestandslezingen", + description: + "Maximum aantal bestanden dat de 'read_file' tool tegelijkertijd kan verwerken. Hogere waarden kunnen het lezen van meerdere kleine bestanden versnellen maar verhogen het geheugengebruik.", + }, + maxImageFileSize: { + label: "Maximum afbeeldingsbestandsgrootte", + mb: "MB", + description: + "Maximale grootte (in MB) voor afbeeldingsbestanden die kunnen worden verwerkt door de read file tool.", + }, + maxTotalImageSize: { + label: "Maximale totale afbeeldingsgrootte", + mb: "MB", + description: + "Maximale cumulatieve groottelimiet (in MB) voor alle afbeeldingen die in één read_file-bewerking worden verwerkt. Bij het lezen van meerdere afbeeldingen wordt de grootte van elke afbeelding bij het totaal opgeteld. Als het toevoegen van een andere afbeelding deze limiet zou overschrijden, wordt deze overgeslagen.", + }, + diagnostics: { + includeMessages: { + label: "Automatisch diagnostiek opnemen in context", + description: + "Indien ingeschakeld, worden diagnostische berichten (fouten) van bewerkte bestanden automatisch opgenomen in de context. Je kunt altijd handmatig alle werkruimte-diagnostiek opnemen met @problems.", + }, + maxMessages: { + label: "Maximale diagnostische berichten", + description: + "Maximaal aantal diagnostische berichten dat per bestand moet worden opgenomen. Deze limiet geldt voor zowel automatische opname (wanneer checkbox is ingeschakeld) als handmatige @problems vermeldingen. Hogere waarden bieden meer context maar verhogen het tokengebruik.", + resetTooltip: "Reset naar standaardwaarde (50)", + unlimited: "Onbeperkte diagnostische berichten", + unlimitedLabel: "Onbeperkt", + }, + delayAfterWrite: { + label: "Vertraging na het schrijven om diagnostiek potentiële problemen te laten detecteren", + description: + "Wachttijd na het schrijven van bestanden voordat u doorgaat, zodat diagnostische hulpmiddelen wijzigingen kunnen verwerken en problemen kunnen detecteren.", + }, + }, + condensingThreshold: { + label: "Compressie trigger drempelwaarde", + selectProfile: "Drempelwaarde voor profiel configureren", + defaultProfile: "Globale standaard (alle profielen)", + defaultDescription: + "Wanneer de context dit percentage bereikt, wordt het automatisch gecomprimeerd voor alle profielen tenzij ze aangepaste instellingen hebben", + profileDescription: "Aangepaste drempelwaarde alleen voor dit profiel (overschrijft globale standaard)", + inheritDescription: "Dit profiel erft de globale standaard drempelwaarde ({{threshold}}%)", + usesGlobal: "(gebruikt globaal {{threshold}}%)", + }, + }, + B1e = { + basic: { label: "Terminalinstellingen: Basis", description: "Basis terminalinstellingen" }, + advanced: { + label: "Terminalinstellingen: Geavanceerd", + description: + "De volgende opties vereisen mogelijk een herstart van de terminal om de instelling toe te passen.", + }, + outputLineLimit: { + label: "Terminaluitvoerlimiet", + description: + "Maximaal aantal regels dat wordt opgenomen in de terminaluitvoer bij het uitvoeren van commando's. Overtollige regels worden uit het midden verwijderd om tokens te besparen. <0>Meer informatie</0>", + }, + outputCharacterLimit: { + label: "Tekenlimiet terminal", + description: + "Maximaal aantal tekens dat moet worden opgenomen in de terminaluitvoer bij het uitvoeren van commando's. Deze limiet heeft voorrang op de regellimiet om geheugenproblemen door extreem lange regels te voorkomen. Bij overschrijding wordt de uitvoer afgekapt. <0>Meer informatie</0>", + }, + shellIntegrationTimeout: { + label: "Terminal shell-integratie timeout", + description: + "Maximale wachttijd voor het initialiseren van shell-integratie voordat commando's worden uitgevoerd. Voor gebruikers met lange shell-opstarttijden moet deze waarde mogelijk worden verhoogd als je 'Shell Integration Unavailable'-fouten ziet in de terminal. <0>Meer informatie</0>", + }, + shellIntegrationDisabled: { + label: "Terminal shell-integratie uitschakelen", + description: + "Schakel dit in als terminalcommando's niet correct werken of als je 'Shell Integration Unavailable'-fouten ziet. Dit gebruikt een eenvoudigere methode om commando's uit te voeren en omzeilt enkele geavanceerde terminalfuncties. <0>Meer informatie</0>", + }, + commandDelay: { + label: "Terminalcommando-vertraging", + description: + "Vertraging in milliseconden na het uitvoeren van een commando. De standaardinstelling van 0 schakelt de vertraging volledig uit. Dit kan helpen om te zorgen dat de uitvoer volledig wordt vastgelegd in terminals met timingproblemen. In de meeste terminals wordt dit geïmplementeerd door `PROMPT_COMMAND='sleep N'` te zetten en in Powershell wordt `start-sleep` toegevoegd aan het einde van elk commando. Oorspronkelijk was dit een workaround voor VSCode bug#237208 en is mogelijk niet meer nodig. <0>Meer informatie</0>", + }, + compressProgressBar: { + label: "Voortgangsbalk-uitvoer comprimeren", + description: + "Indien ingeschakeld, verwerkt Roo terminaluitvoer met carriage returns (\r) om te simuleren hoe een echte terminal inhoud weergeeft. Dit verwijdert tussenliggende voortgangsbalken en behoudt alleen de eindstatus, waardoor er meer contextruimte overblijft. <0>Meer informatie</0>", + }, + powershellCounter: { + label: "PowerShell-teller workaround inschakelen", + description: + "Indien ingeschakeld, voegt Roo een teller toe aan PowerShell-commando's om correcte uitvoering te garanderen. Dit helpt bij PowerShell-terminals die problemen hebben met het vastleggen van uitvoer. <0>Meer informatie</0>", + }, + zshClearEolMark: { + label: "ZSH EOL-markering wissen", + description: + "Indien ingeschakeld, wist Roo de ZSH end-of-line markering door PROMPT_EOL_MARK='' te zetten. Dit voorkomt problemen met de interpretatie van uitvoer die eindigt met speciale tekens zoals '%'. <0>Meer informatie</0>", + }, + zshOhMy: { + label: "Oh My Zsh-integratie inschakelen", + description: + "Indien ingeschakeld, zet Roo ITERM_SHELL_INTEGRATION_INSTALLED=Yes om Oh My Zsh shell-integratiefuncties te activeren. Het toepassen van deze instelling kan een herstart van de IDE vereisen. <0>Meer informatie</0>", + }, + zshP10k: { + label: "Powerlevel10k-integratie inschakelen", + description: + "Indien ingeschakeld, zet Roo POWERLEVEL9K_TERM_SHELL_INTEGRATION=true om Powerlevel10k shell-integratiefuncties te activeren. <0>Meer informatie</0>", + }, + zdotdir: { + label: "ZDOTDIR-afhandeling inschakelen", + description: + "Indien ingeschakeld, maakt Roo een tijdelijke map aan voor ZDOTDIR om zsh shell-integratie correct af te handelen. Dit zorgt ervoor dat VSCode shell-integratie goed werkt met zsh en je zsh-configuratie behouden blijft. <0>Meer informatie</0>", + }, + inheritEnv: { + label: "Omgevingsvariabelen overnemen", + description: + "Indien ingeschakeld, neemt de terminal omgevingsvariabelen over van het bovenliggende VSCode-proces, zoals shell-integratie-instellingen uit het gebruikersprofiel. Dit schakelt direct de VSCode-instelling `terminal.integrated.inheritEnv` om. <0>Meer informatie</0>", + }, + }, + U1e = { title: "Geavanceerde instellingen" }, + q1e = { + diff: { + label: "Bewerken via diffs inschakelen", + description: + "Indien ingeschakeld kan Roo sneller bestanden bewerken en worden afgekorte volledige-bestandswijzigingen automatisch geweigerd. Werkt het beste met het nieuwste Claude 3.7 Sonnet-model.", + strategy: { + label: "Diff-strategie", + options: { + standard: "Standaard (één blok)", + multiBlock: "Experimenteel: Multi-block diff", + unified: "Experimenteel: Unified diff", + }, + descriptions: { + standard: "Standaard diff-strategie past wijzigingen toe op één codeblok tegelijk.", + unified: + "Unified diff-strategie gebruikt meerdere methoden om diffs toe te passen en kiest de beste aanpak.", + multiBlock: + "Multi-block diff-strategie laat toe om meerdere codeblokken in één verzoek bij te werken.", + }, + }, + matchPrecision: { + label: "Matchnauwkeurigheid", + description: + "Deze schuifregelaar bepaalt hoe nauwkeurig codeblokken moeten overeenkomen bij het toepassen van diffs. Lagere waarden laten flexibelere matching toe maar verhogen het risico op verkeerde vervangingen. Gebruik waarden onder 100% met uiterste voorzichtigheid.", + }, + }, + todoList: { + label: "Takenlijst-tool inschakelen", + description: + "Wanneer ingeschakeld, kan Roo takenlijsten maken en beheren om de voortgang van taken bij te houden. Dit helpt complexe taken te organiseren in beheersbare stappen.", + }, + }, + W1e = { + DIFF_STRATEGY_UNIFIED: { + name: "Experimentele unified diff-strategie gebruiken", + description: + "Schakel de experimentele unified diff-strategie in. Deze strategie kan het aantal herhalingen door model fouten verminderen, maar kan onverwacht gedrag of onjuiste bewerkingen veroorzaken. Alleen inschakelen als je de risico's begrijpt en wijzigingen zorgvuldig wilt controleren.", + }, + SEARCH_AND_REPLACE: { + name: "Experimentele zoek-en-vervang-tool gebruiken", + description: + "Schakel de experimentele zoek-en-vervang-tool in, waarmee Roo meerdere instanties van een zoekterm in één verzoek kan vervangen.", + }, + INSERT_BLOCK: { + name: "Experimentele inhoud-invoeg-tool gebruiken", + description: + "Schakel de experimentele inhoud-invoeg-tool in, waarmee Roo inhoud op specifieke regelnummers kan invoegen zonder een diff te maken.", + }, + POWER_STEERING: { + name: "Experimentele 'power steering'-modus gebruiken", + description: + "Indien ingeschakeld, herinnert Roo het model vaker aan de details van de huidige modusdefinitie. Dit leidt tot sterkere naleving van roldefinities en aangepaste instructies, maar gebruikt meer tokens per bericht.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Experimentele multi-block diff-tool gebruiken", + description: + "Indien ingeschakeld, gebruikt Roo de multi-block diff-tool. Hiermee wordt geprobeerd meerdere codeblokken in het bestand in één verzoek bij te werken.", + }, + CONCURRENT_FILE_READS: { + name: "Gelijktijdig lezen van bestanden inschakelen", + description: + "Wanneer ingeschakeld, kan Roo meerdere bestanden in één verzoek lezen. Wanneer uitgeschakeld, moet Roo bestanden één voor één lezen. Uitschakelen kan helpen bij het werken met minder capabele modellen of wanneer u meer controle over bestandstoegang wilt.", + }, + MARKETPLACE: { + name: "Marketplace inschakelen", + description: "Wanneer ingeschakeld kun je MCP's en aangepaste modi uit de Marketplace installeren.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Gelijktijdige bestandsbewerkingen inschakelen", + description: + "Wanneer ingeschakeld, kan Roo meerdere bestanden in één verzoek bewerken. Wanneer uitgeschakeld, moet Roo bestanden één voor één bewerken. Het uitschakelen hiervan kan helpen wanneer je werkt met minder capabele modellen of wanneer je meer controle wilt over bestandswijzigingen.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Achtergrondbewerking", + description: + "Voorkomt editor focus verstoring wanneer ingeschakeld. Bestandsbewerkingen gebeuren op de achtergrond zonder diff-weergaven te openen of focus te stelen. Je kunt ononderbroken doorwerken terwijl Roo wijzigingen aanbrengt. Bestanden kunnen zonder focus worden geopend om diagnostiek vast te leggen of volledig gesloten blijven.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Nieuwe berichtparser gebruiken", + description: + "Schakel de experimentele streaming-berichtparser in die lange antwoorden sneller maakt door berichten efficiënter te verwerken.", + }, + }, + K1e = { + label: "Prompt caching inschakelen", + description: "Indien ingeschakeld, gebruikt Roo dit model met prompt caching om kosten te verlagen.", + }, + V1e = { + useCustom: "Aangepaste temperatuur gebruiken", + description: "Bepaalt de willekeurigheid in de antwoorden van het model.", + rangeDescription: "Hogere waarden maken de output willekeuriger, lagere waarden maken deze deterministischer.", + }, + H1e = { + supportsImages: "Ondersteunt afbeeldingen", + noImages: "Ondersteunt geen afbeeldingen", + supportsComputerUse: "Ondersteunt computergebruik", + noComputerUse: "Ondersteunt geen computergebruik", + supportsPromptCache: "Ondersteunt prompt caching", + noPromptCache: "Ondersteunt geen prompt caching", + maxOutput: "Maximale output", + inputPrice: "Invoerprijs", + outputPrice: "Uitvoerprijs", + cacheReadsPrice: "Cache-leesprijs", + cacheWritesPrice: "Cache-schrijfprijs", + enableStreaming: "Streaming inschakelen", + enableR1Format: "R1-modelparameters inschakelen", + enableR1FormatTips: "Moet ingeschakeld zijn bij gebruik van R1-modellen zoals QWQ om 400-fouten te voorkomen", + useAzure: "Azure gebruiken", + azureApiVersion: "Azure API-versie instellen", + gemini: { + freeRequests: + "* Gratis tot {{count}} verzoeken per minuut. Daarna is de prijs afhankelijk van de promptgrootte.", + pricingDetails: "Zie prijsdetails voor meer info.", + billingEstimate: "* Facturering is een schatting - de exacte kosten hangen af van de promptgrootte.", + }, + }, + G1e = { + automaticFetch: + "De extensie haalt automatisch de nieuwste lijst met modellen op van <serviceLink>{{serviceName}}</serviceLink>. Weet je niet welk model je moet kiezen? Roo Code werkt het beste met <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Je kunt ook zoeken op 'free' voor gratis opties die nu beschikbaar zijn.", + label: "Model", + searchPlaceholder: "Zoeken", + noMatchFound: "Geen overeenkomsten gevonden", + useCustomModel: "Aangepast gebruiken: {{modelId}}", + }, + Q1e = { + feedback: + "Heb je vragen of feedback? Open gerust een issue op <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> of sluit je aan bij <redditLink>reddit.com/r/RooCode</redditLink> of <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Anonieme fout- en gebruiksrapportage toestaan", + description: + "Help Roo Code te verbeteren door anonieme gebruiksgegevens en foutmeldingen te verzenden. Er worden nooit code, prompts of persoonlijke gegevens verzonden. Zie ons privacybeleid voor meer informatie.", + }, + settings: { import: "Importeren", export: "Exporteren", reset: "Resetten" }, + }, + Z1e = { maxTokens: "Max tokens", maxThinkingTokens: "Max denk-tokens" }, + Y1e = { + apiKey: "Je moet een geldige API-sleutel opgeven.", + awsRegion: "Je moet een regio kiezen om Amazon Bedrock te gebruiken.", + googleCloud: "Je moet een geldig Google Cloud Project-ID en regio opgeven.", + modelId: "Je moet een geldig model-ID opgeven.", + modelSelector: "Je moet een geldige modelselector opgeven.", + openAi: "Je moet een geldige basis-URL, API-sleutel en model-ID opgeven.", + arn: { + invalidFormat: "Ongeldig ARN-formaat. Controleer de formaatvereisten.", + regionMismatch: + "Waarschuwing: De regio in je ARN ({{arnRegion}}) komt niet overeen met je geselecteerde regio ({{region}}). Dit kan toegangsfouten veroorzaken. De provider gebruikt de regio uit de ARN.", + }, + modelAvailability: "Het opgegeven model-ID ({{modelId}}) is niet beschikbaar. Kies een ander model.", + providerNotAllowed: "Provider '{{provider}}' is niet toegestaan door je organisatie", + modelNotAllowed: "Model '{{model}}' is niet toegestaan voor provider '{{provider}}' door je organisatie", + profileInvalid: "Dit profiel bevat een provider of model dat niet is toegestaan door je organisatie", + }, + X1e = { + apiKey: "Voer API-sleutel in...", + profileName: "Voer profielnaam in", + accessKey: "Voer toegangssleutel in...", + secretKey: "Voer geheime sleutel in...", + sessionToken: "Voer sessietoken in...", + credentialsJson: "Voer Credentials JSON in...", + keyFilePath: "Voer pad naar sleutelbestand in...", + projectId: "Voer project-ID in...", + customArn: "Voer ARN in (bijv. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Voer basis-URL in...", + modelId: { + lmStudio: "bijv. meta-llama-3.1-8b-instruct", + lmStudioDraft: "bijv. lmstudio-community/llama-3.2-1b-instruct", + ollama: "bijv. llama3.1", + }, + numbers: { + maxTokens: "bijv. 4096", + contextWindow: "bijv. 128000", + inputPrice: "bijv. 0.0001", + outputPrice: "bijv. 0.0002", + cacheWritePrice: "bijv. 0.00005", + }, + }, + J1e = { + ollamaUrl: "Standaard: http://localhost:11434", + lmStudioUrl: "Standaard: http://localhost:1234", + geminiUrl: "Standaard: https://generativelanguage.googleapis.com", + }, + eMe = { customArn: "Aangepaste ARN", useCustomArn: "Aangepaste ARN gebruiken..." }, + tMe = "Maximale output tokens opnemen", + nMe = "Stuur maximale output tokens parameter in API-verzoeken. Sommige providers ondersteunen dit mogelijk niet.", + oMe = "Beperk het maximale aantal tokens in het antwoord", + rMe = "Maximale output tokens", + iMe = "Maximale tokens om te genereren in het antwoord", + Iyt = { + common: T1e, + header: I1e, + unsavedChangesDialog: M1e, + sections: j1e, + prompts: E1e, + codeIndex: z1e, + autoApprove: $1e, + providers: L1e, + browser: D1e, + checkpoints: N1e, + notifications: O1e, + contextManagement: F1e, + terminal: B1e, + advancedSettings: U1e, + advanced: q1e, + experimental: W1e, + promptCaching: K1e, + temperature: V1e, + modelInfo: H1e, + modelPicker: G1e, + footer: Q1e, + thinkingBudget: Z1e, + validation: Y1e, + placeholders: X1e, + defaults: J1e, + labels: eMe, + includeMaxOutputTokens: tMe, + includeMaxOutputTokensDescription: nMe, + limitMaxTokensDescription: oMe, + maxOutputTokensLabel: rMe, + maxTokensGenerateDescription: iMe, + }, + Myt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: q1e, + advancedSettings: U1e, + autoApprove: $1e, + browser: D1e, + checkpoints: N1e, + codeIndex: z1e, + common: T1e, + contextManagement: F1e, + default: Iyt, + defaults: J1e, + experimental: W1e, + footer: Q1e, + header: I1e, + includeMaxOutputTokens: tMe, + includeMaxOutputTokensDescription: nMe, + labels: eMe, + limitMaxTokensDescription: oMe, + maxOutputTokensLabel: rMe, + maxTokensGenerateDescription: iMe, + modelInfo: H1e, + modelPicker: G1e, + notifications: O1e, + placeholders: X1e, + promptCaching: K1e, + prompts: E1e, + providers: L1e, + sections: j1e, + temperature: V1e, + terminal: B1e, + thinkingBudget: Z1e, + unsavedChangesDialog: M1e, + validation: Y1e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + sMe = "Welkom bij Roo Code!", + aMe = + "Met een reeks ingebouwde en uitbreidbare Modi laat Roo Code je plannen, ontwerpen, coderen, debuggen en je productiviteit verhogen als nooit tevoren.", + lMe = "Om te beginnen heeft deze extensie een API-provider nodig.", + cMe = "Aan de slag!", + dMe = { + requesty: { description: "Jouw geoptimaliseerde LLM-router", incentive: "$1 gratis tegoed" }, + openrouter: { description: "Een uniforme interface voor LLM's" }, + }, + uMe = "Om zijn magie te doen, heeft Roo een API-sleutel nodig.", + pMe = "We raden aan om een LLM-router te gebruiken:", + mMe = "Of je kunt je eigen API-sleutel gebruiken:", + hMe = { + title: "Help Roo Code verbeteren", + anonymousTelemetry: + "Stuur anonieme fout- en gebruiksgegevens om ons te helpen bugs op te lossen en de extensie te verbeteren. Er worden nooit code, prompts of persoonlijke gegevens verzonden.", + changeSettings: "Je kunt dit altijd wijzigen onderaan de <settingsLink>instellingen</settingsLink>", + settings: "instellingen", + allow: "Toestaan", + deny: "Weigeren", + }, + fMe = "Instellingen importeren", + jyt = { + greeting: sMe, + introduction: aMe, + notice: lMe, + start: cMe, + routers: dMe, + chooseProvider: uMe, + startRouter: pMe, + startCustom: mMe, + telemetry: hMe, + importSettings: fMe, + }, + Eyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: uMe, + default: jyt, + greeting: sMe, + importSettings: fMe, + introduction: aMe, + notice: lMe, + routers: dMe, + start: cMe, + startCustom: mMe, + startRouter: pMe, + telemetry: hMe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + gMe = "Konto", + vMe = "Zdjęcie profilowe", + bMe = "Wyloguj", + yMe = "Testuj uwierzytelnianie API", + kMe = "Połącz z Roo Code Cloud", + xMe = "Połącz", + wMe = "Połącz z Roo Code Cloud", + _Me = "Synchronizuj swoje prompty i telemetrię, aby włączyć:", + CMe = "Historia zadań online", + SMe = "Funkcje udostępniania i współpracy", + AMe = "Metryki użycia oparte na zadaniach, tokenach i kosztach", + PMe = "Śledź i kontroluj zadania z dowolnego miejsca za pomocą Roomote Control", + RMe = "Roomote Control", + TMe = "Umożliwia śledzenie i interakcję z zadaniami w tym obszarze roboczym za pomocą Roo Code Cloud", + IMe = "Odwiedź Roo Code Cloud", + zyt = { + title: gMe, + profilePicture: vMe, + logOut: bMe, + testApiAuthentication: yMe, + signIn: kMe, + connect: xMe, + cloudBenefitsTitle: wMe, + cloudBenefitsSubtitle: _Me, + cloudBenefitHistory: CMe, + cloudBenefitSharing: SMe, + cloudBenefitMetrics: AMe, + cloudBenefitWalkaway: PMe, + remoteControl: RMe, + remoteControlDescription: TMe, + visitCloudWebsite: IMe, + }, + $yt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: CMe, + cloudBenefitMetrics: AMe, + cloudBenefitSharing: SMe, + cloudBenefitWalkaway: PMe, + cloudBenefitsSubtitle: _Me, + cloudBenefitsTitle: wMe, + connect: xMe, + default: zyt, + logOut: bMe, + profilePicture: vMe, + remoteControl: RMe, + remoteControlDescription: TMe, + signIn: kMe, + testApiAuthentication: yMe, + title: gMe, + visitCloudWebsite: IMe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + MMe = "Witamy w Roo Code", + jMe = { + title: "Zadanie", + seeMore: "Zobacz więcej", + seeLess: "Zobacz mniej", + tokens: "Tokeny:", + cache: "Pamięć podręczna:", + apiCost: "Koszt API:", + contextWindow: "Okno kontekstu:", + closeAndStart: "Zamknij zadanie i rozpocznij nowe", + export: "Eksportuj historię zadań", + delete: "Usuń zadanie (Shift + Kliknięcie, aby pominąć potwierdzenie)", + condenseContext: "Inteligentnie skondensuj kontekst", + share: "Udostępnij zadanie", + shareWithOrganization: "Udostępnij organizacji", + shareWithOrganizationDescription: "Tylko członkowie twojej organizacji mogą uzyskać dostęp", + sharePublicly: "Udostępnij publicznie", + sharePubliclyDescription: "Każdy z linkiem może uzyskać dostęp", + connectToCloud: "Połącz z chmurą", + connectToCloudDescription: "Zaloguj się do Roo Code Cloud, aby udostępniać zadania", + sharingDisabledByOrganization: "Udostępnianie wyłączone przez organizację", + shareSuccessOrganization: "Link organizacji skopiowany do schowka", + shareSuccessPublic: "Link publiczny skopiowany do schowka", + }, + EMe = "Odepnij", + zMe = "Przypnij", + $Me = { + availableSpace: "Dostępne miejsce: {{amount}} tokenów", + tokensUsed: "Wykorzystane tokeny: {{used}} z {{total}}", + reservedForResponse: "Zarezerwowane dla odpowiedzi modelu: {{amount}} tokenów", + }, + LMe = { title: "Ponów", tooltip: "Spróbuj ponownie wykonać operację" }, + DMe = { title: "Rozpocznij nowe zadanie", tooltip: "Rozpocznij nowe zadanie" }, + NMe = { title: "Kontynuuj mimo to", tooltip: "Kontynuuj podczas wykonywania polecenia" }, + OMe = { title: "Zapisz", tooltip: "Zapisz zmiany wiadomości" }, + FMe = { title: "Odrzuć", tooltip: "Odrzuć tę akcję" }, + BMe = "Zakończ podzadanie i wróć", + UMe = { title: "Zatwierdź", tooltip: "Zatwierdź tę akcję" }, + qMe = { title: "Uruchom polecenie", tooltip: "Wykonaj to polecenie" }, + WMe = { title: "Kontynuuj podczas wykonywania", tooltip: "Kontynuuj pomimo ostrzeżeń" }, + KMe = { title: "Zatrzymaj polecenie", tooltip: "Zatrzymaj bieżące polecenie" }, + VMe = { title: "Wznów zadanie", tooltip: "Kontynuuj bieżące zadanie" }, + HMe = { title: "Zakończ", tooltip: "Zakończ bieżące zadanie" }, + GMe = { title: "Anuluj", tooltip: "Anuluj bieżącą operację" }, + QMe = "Przewiń do dołu czatu", + ZMe = + "Generuj, refaktoryzuj i debuguj kod z pomocą sztucznej inteligencji. Sprawdź naszą <DocsLink>dokumentację</DocsLink>, aby dowiedzieć się więcej.", + YMe = + "<strong>Twoja lista zadań w tym obszarze roboczym jest pusta.</strong> Zacznij od wpisania zadania poniżej. Nie wiesz, jak zacząć? Przeczytaj więcej o tym, co Roo może dla Ciebie zrobić w <DocsLink>dokumentacji</DocsLink>.", + XMe = { + boomerangTasks: { + title: "Orkiestracja Zadań", + description: "Podziel zadania na mniejsze, łatwiejsze do zarządzania części.", + }, + stickyModels: { title: "Tryby trwałe", description: "Każdy tryb zapamiętuje ostatnio używany model" }, + tools: { + title: "Narzędzia", + description: + "Pozwól sztucznej inteligencji rozwiązywać problemy, przeglądając sieć, uruchamiając polecenia i nie tylko.", + }, + customizableModes: { + title: "Konfigurowalne tryby", + description: "Wyspecjalizowane persona z własnymi zachowaniami i przypisanymi modelami", + }, + }, + JMe = "Wybierz tryb interakcji", + eje = "Wybierz konfigurację API", + tje = "Ulepsz podpowiedź dodatkowym kontekstem", + nje = "Dodaj obrazy do wiadomości", + oje = "Wyślij wiadomość", + rje = "Zatrzymaj syntezę mowy", + ije = "Wpisz wiadomość...", + sje = "Wpisz swoje zadanie tutaj...", + aje = "@ aby dodać kontekst, / dla poleceń", + lje = "przytrzymaj shift, aby przeciągnąć pliki", + cje = "przytrzymaj shift, aby przeciągnąć pliki/obrazy", + dje = + "Przycisk 'Ulepsz podpowiedź' pomaga ulepszyć Twoją prośbę, dostarczając dodatkowy kontekst, wyjaśnienia lub przeformułowania. Spróbuj wpisać prośbę tutaj i kliknij przycisk ponownie, aby zobaczyć, jak to działa.", + uje = { + title: "Tryby", + marketplace: "Marketplace Trybów", + settings: "Ustawienia Trybów", + description: "Wyspecjalizowane persony, które dostosowują zachowanie Roo.", + searchPlaceholder: "Szukaj trybów...", + noResults: "Nie znaleziono wyników", + }, + pje = "Błąd odczytu pliku:", + mje = "Nie przetworzono żadnych prawidłowych obrazów", + hje = "Separator", + fje = "Edytuj...", + gje = "dla następnego trybu", + vje = "dla poprzedniego trybu", + bje = "Błąd", + yje = { title: "Edycja nieudana" }, + kje = "Roo ma problemy...", + xje = { + title: "Zapytanie API", + failed: "Zapytanie API nie powiodło się", + streaming: "Zapytanie API...", + cancelled: "Zapytanie API anulowane", + streamingFailed: "Strumieniowanie API nie powiodło się", + }, + wje = { + regular: "Punkt kontrolny", + initializingWarning: + "Trwa inicjalizacja punktu kontrolnego... Jeśli to trwa zbyt długo, możesz wyłączyć punkty kontrolne w <settingsLink>ustawieniach</settingsLink> i uruchomić zadanie ponownie.", + menu: { + viewDiff: "Zobacz różnice", + restore: "Przywróć punkt kontrolny", + restoreFiles: "Przywróć pliki", + restoreFilesDescription: "Przywraca pliki Twojego projektu do zrzutu wykonanego w tym punkcie.", + restoreFilesAndTask: "Przywróć pliki i zadanie", + confirm: "Potwierdź", + cancel: "Anuluj", + cannotUndo: "Tej akcji nie można cofnąć.", + restoreFilesAndTaskDescription: + "Przywraca pliki Twojego projektu do zrzutu wykonanego w tym punkcie i usuwa wszystkie wiadomości po tym punkcie.", + }, + current: "Bieżący", + }, + _je = { wantsToFetch: "Roo chce pobrać szczegółowe instrukcje, aby pomóc w bieżącym zadaniu" }, + Cje = { + wantsToRead: "Roo chce przeczytać ten plik:", + wantsToReadOutsideWorkspace: "Roo chce przeczytać ten plik poza obszarem roboczym:", + didRead: "Roo przeczytał ten plik:", + wantsToEdit: "Roo chce edytować ten plik:", + wantsToEditOutsideWorkspace: "Roo chce edytować ten plik poza obszarem roboczym:", + wantsToEditProtected: "Roo chce edytować chroniony plik konfiguracyjny:", + wantsToCreate: "Roo chce utworzyć nowy plik:", + wantsToSearchReplace: "Roo chce wykonać wyszukiwanie i zamianę w tym pliku:", + didSearchReplace: "Roo wykonał wyszukiwanie i zamianę w tym pliku:", + wantsToInsert: "Roo chce wstawić zawartość do tego pliku:", + wantsToInsertWithLineNumber: "Roo chce wstawić zawartość do tego pliku w linii {{lineNumber}}:", + wantsToInsertAtEnd: "Roo chce dodać zawartość na końcu tego pliku:", + wantsToReadAndXMore: "Roo chce przeczytać ten plik i {{count}} więcej:", + wantsToReadMultiple: "Roo chce odczytać wiele plików:", + wantsToApplyBatchChanges: "Roo chce zastosować zmiany do wielu plików:", + }, + Sje = { + wantsToViewTopLevel: "Roo chce zobaczyć pliki najwyższego poziomu w tym katalogu:", + didViewTopLevel: "Roo zobaczył pliki najwyższego poziomu w tym katalogu:", + wantsToViewRecursive: "Roo chce rekurencyjnie zobaczyć wszystkie pliki w tym katalogu:", + didViewRecursive: "Roo rekurencyjnie zobaczył wszystkie pliki w tym katalogu:", + wantsToViewDefinitions: "Roo chce zobaczyć nazwy definicji kodu źródłowego używane w tym katalogu:", + didViewDefinitions: "Roo zobaczył nazwy definicji kodu źródłowego używane w tym katalogu:", + wantsToSearch: "Roo chce przeszukać ten katalog w poszukiwaniu <code>{{regex}}</code>:", + didSearch: "Roo przeszukał ten katalog w poszukiwaniu <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo chce przeszukać ten katalog (poza obszarem roboczym) w poszukiwaniu <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo przeszukał ten katalog (poza obszarem roboczym) w poszukiwaniu <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo chce zobaczyć pliki najwyższego poziomu w tym katalogu (poza obszarem roboczym):", + didViewTopLevelOutsideWorkspace: + "Roo zobaczył pliki najwyższego poziomu w tym katalogu (poza obszarem roboczym):", + wantsToViewRecursiveOutsideWorkspace: + "Roo chce rekurencyjnie zobaczyć wszystkie pliki w tym katalogu (poza obszarem roboczym):", + didViewRecursiveOutsideWorkspace: + "Roo rekurencyjnie zobaczył wszystkie pliki w tym katalogu (poza obszarem roboczym):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo chce zobaczyć nazwy definicji kodu źródłowego używane w tym katalogu (poza obszarem roboczym):", + didViewDefinitionsOutsideWorkspace: + "Roo zobaczył nazwy definicji kodu źródłowego używane w tym katalogu (poza obszarem roboczym):", + }, + Aje = "Wyjście polecenia", + Pje = { + running: "Wykonywanie", + pid: "PID: {{pid}}", + exited: "Zakończono ({{exitCode}})", + manageCommands: "Zarządzaj uprawnieniami poleceń", + commandManagementDescription: + "Zarządzaj uprawnieniami poleceń: Kliknij ✓, aby zezwolić na automatyczne wykonanie, ✗, aby odmówić wykonania. Wzorce można włączać/wyłączać lub usuwać z listy. <settingsLink>Zobacz wszystkie ustawienia</settingsLink>", + addToAllowed: "Dodaj do listy dozwolonych", + removeFromAllowed: "Usuń z listy dozwolonych", + addToDenied: "Dodaj do listy odrzuconych", + removeFromDenied: "Usuń z listy odrzuconych", + abortCommand: "Przerwij wykonywanie polecenia", + expandOutput: "Rozwiń wyjście", + collapseOutput: "Zwiń wyjście", + expandManagement: "Rozwiń sekcję zarządzania poleceniami", + collapseManagement: "Zwiń sekcję zarządzania poleceniami", + }, + Rje = "Odpowiedź", + Tje = { + wantsToUseTool: "Roo chce użyć narzędzia na serwerze MCP {{serverName}}:", + wantsToAccessResource: "Roo chce uzyskać dostęp do zasobu na serwerze MCP {{serverName}}:", + }, + Ije = { + wantsToSwitch: "Roo chce przełączyć się na tryb <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo chce przełączyć się na tryb <code>{{mode}}</code> ponieważ: {{reason}}", + didSwitch: "Roo przełączył się na tryb <code>{{mode}}</code>", + didSwitchWithReason: "Roo przełączył się na tryb <code>{{mode}}</code> ponieważ: {{reason}}", + }, + Mje = { + wantsToCreate: "Roo chce utworzyć nowe podzadanie w trybie <code>{{mode}}</code>:", + wantsToFinish: "Roo chce zakończyć to podzadanie", + newTaskContent: "Instrukcje podzadania", + completionContent: "Podzadanie zakończone", + resultContent: "Wyniki podzadania", + defaultResult: "Proszę kontynuować następne zadanie.", + completionInstructions: + "Podzadanie zakończone! Możesz przejrzeć wyniki i zasugerować poprawki lub następne kroki. Jeśli wszystko wygląda dobrze, potwierdź, aby zwrócić wynik do zadania nadrzędnego.", + }, + jje = { hasQuestion: "Roo ma pytanie:" }, + Eje = "Zadanie zakończone", + zje = { issues: "Wygląda na to, że masz problemy z Windows PowerShell, proszę zapoznaj się z tym" }, + $je = { + title: "Automatyczne zatwierdzanie:", + none: "Brak", + description: + "Automatyczne zatwierdzanie pozwala Roo Code wykonywać działania bez pytania o pozwolenie. Włącz tylko dla działań, którym w pełni ufasz. Bardziej szczegółowa konfiguracja dostępna w <settingsLink>Ustawieniach</settingsLink>.", + selectOptionsFirst: "Wybierz co najmniej jedną opcję poniżej, aby włączyć automatyczne zatwierdzanie", + toggleAriaLabel: "Przełącz automatyczne zatwierdzanie", + disabledAriaLabel: "Automatyczne zatwierdzanie wyłączone - najpierw wybierz opcje", + }, + Lje = { thinking: "Myślenie", seconds: "{{count}} s" }, + Dje = { + title: "Kontekst skondensowany", + condensing: "Kondensowanie kontekstu...", + errorHeader: "Nie udało się skondensować kontekstu", + tokens: "tokeny", + }, + Nje = { + copyToInput: "Kopiuj do pola wprowadzania (lub Shift + kliknięcie)", + autoSelectCountdown: "Automatyczny wybór za {{count}}s", + countdownDisplay: "{{count}}s", + }, + Oje = { + title: "🎉 Roo Code {{version}} wydany", + description: + "Roo Code {{version}} wprowadza potężne nowe funkcje i znaczące ulepszenia, aby ulepszyć Twój przepływ pracy programistycznej.", + whatsNew: "Co nowego", + feature1: + "<bold>Kolejka Wiadomości</bold>: Umieszczaj wiele wiadomości w kolejce podczas pracy Roo, pozwalając na kontynuowanie planowania przepływu pracy bez przerw.", + feature2: + "<bold>Niestandardowe Polecenia Slash</bold>: Twórz spersonalizowane polecenia slash dla szybkiego dostępu do często używanych promptów i przepływów pracy, z pełnym zarządzaniem interfejsu użytkownika.", + feature3: + "<bold>Ulepszone Narzędzia Gemini</bold>: Nowe możliwości kontekstu URL i ugruntowania wyszukiwania Google zapewniają modelom Gemini informacje internetowe w czasie rzeczywistym i ulepszone możliwości badawcze.", + hideButton: "Ukryj ogłoszenie", + detailsDiscussLinks: + "Uzyskaj więcej szczegółów i dołącz do dyskusji na <discordLink>Discord</discordLink> i <redditLink>Reddit</redditLink> 🚀", + }, + Fje = { + rooWantsToUse: "Roo chce użyć przeglądarki:", + consoleLogs: "Logi konsoli", + noNewLogs: "(Brak nowych logów)", + screenshot: "Zrzut ekranu przeglądarki", + cursor: "kursor", + navigation: { step: "Krok {{current}} z {{total}}", previous: "Poprzedni", next: "Następny" }, + sessionStarted: "Sesja przeglądarki rozpoczęta", + actions: { + title: "Akcja przeglądarki: ", + launch: "Uruchom przeglądarkę na {{url}}", + click: "Kliknij ({{coordinate}})", + type: 'Wpisz "{{text}}"', + scrollDown: "Przewiń w dół", + scrollUp: "Przewiń w górę", + close: "Zamknij przeglądarkę", + }, + }, + Bje = { + tooltips: { + expand: "Rozwiń blok kodu", + collapse: "Zwiń blok kodu", + enable_wrap: "Włącz zawijanie wierszy", + disable_wrap: "Wyłącz zawijanie wierszy", + copy_code: "Kopiuj kod", + }, + }, + Uje = + "OSTRZEŻENIE: Aktywne niestandardowe zastąpienie instrukcji systemowych. Może to poważnie zakłócić funkcjonalność i powodować nieprzewidywalne zachowanie.", + qje = "Bieżący profil nie jest kompatybilny z ustawieniami Twojej organizacji", + Wje = { + title: "Ostrzeżenie wykonania polecenia", + description: + "Twoje polecenie jest wykonywane bez integracji powłoki terminala VSCode. Aby ukryć to ostrzeżenie, możesz wyłączyć integrację powłoki w sekcji <strong>Terminal</strong> w <settingsLink>ustawieniach Roo Code</settingsLink> lub rozwiązać problemy z integracją terminala VSCode korzystając z poniższego linku.", + troubleshooting: "Kliknij tutaj, aby zobaczyć dokumentację integracji powłoki.", + }, + Kje = { + autoApprovedRequestLimitReached: { + title: "Osiągnięto limit automatycznie zatwierdzonych żądań", + description: + "Roo osiągnął automatycznie zatwierdzony limit {{count}} żądania/żądań API. Czy chcesz zresetować licznik i kontynuować zadanie?", + button: "Zresetuj i kontynuuj", + }, + autoApprovedCostLimitReached: { + button: "Zresetuj i Kontynuuj", + title: "Osiągnięto limit kosztów z automatycznym zatwierdzaniem", + description: + "Roo osiągnął automatycznie zatwierdzony limit kosztów wynoszący ${{count}}. Czy chcesz zresetować koszt i kontynuować zadanie?", + }, + }, + Vje = { + wantsToSearch: "Roo chce przeszukać bazę kodu w poszukiwaniu <code>{{query}}</code>:", + wantsToSearchWithPath: + "Roo chce przeszukać bazę kodu w poszukiwaniu <code>{{query}}</code> w <code>{{path}}</code>:", + didSearch_one: "Znaleziono 1 wynik", + didSearch_other: "Znaleziono {{count}} wyników", + resultTooltip: "Wynik podobieństwa: {{score}} (kliknij, aby otworzyć plik)", + }, + Hje = { + ready: "Indeks gotowy", + indexing: "Indeksowanie {{percentage}}%", + indexed: "Zaindeksowane", + error: "Błąd indeksu", + status: "Status indeksu", + }, + Gje = { ariaLabel: "Wersja {{version}} - Kliknij, aby wyświetlić informacje o wydaniu" }, + Qje = { + title: "Roo Code Cloud już wkrótce!", + description: + "Uruchamiaj zdalne agenty w chmurze, uzyskuj dostęp do swoich zadań z dowolnego miejsca, współpracuj z innymi i wiele więcej.", + joinWaitlist: "Dołącz do listy oczekujących, aby uzyskać wczesny dostęp.", + }, + Zje = { placeholder: "Edytuj swoją wiadomość..." }, + Yje = { triggerDescription: "Uruchom polecenie {{name}}" }, + Xje = { + tooltip: "Zarządzaj poleceniami slash", + title: "Polecenia Slash", + description: + "Twórz niestandardowe polecenia slash dla szybkiego dostępu do często używanych promptów i przepływów pracy. <DocsLink>Dokumentacja</DocsLink>", + globalCommands: "Polecenia Globalne", + workspaceCommands: "Polecenia Obszaru Roboczego", + globalCommand: "Polecenie globalne", + editCommand: "Edytuj polecenie", + deleteCommand: "Usuń polecenie", + newGlobalCommandPlaceholder: "Nowe polecenie globalne...", + newWorkspaceCommandPlaceholder: "Nowe polecenie obszaru roboczego...", + deleteDialog: { + title: "Usuń Polecenie", + description: 'Czy na pewno chcesz usunąć polecenie "{{name}}"? Tej akcji nie można cofnąć.', + cancel: "Anuluj", + confirm: "Usuń", + }, + }, + Jje = { title: "Wiadomości w kolejce:", clickToEdit: "Kliknij, aby edytować wiadomość" }, + Lyt = { + greeting: MMe, + task: jMe, + unpin: EMe, + pin: zMe, + tokenProgress: $Me, + retry: LMe, + startNewTask: DMe, + proceedAnyways: NMe, + save: OMe, + reject: FMe, + completeSubtaskAndReturn: BMe, + approve: UMe, + runCommand: qMe, + proceedWhileRunning: WMe, + killCommand: KMe, + resumeTask: VMe, + terminate: HMe, + cancel: GMe, + scrollToBottom: QMe, + about: ZMe, + onboarding: YMe, + rooTips: XMe, + selectMode: JMe, + selectApiConfig: eje, + enhancePrompt: tje, + addImages: nje, + sendMessage: oje, + stopTts: rje, + typeMessage: ije, + typeTask: sje, + addContext: aje, + dragFiles: lje, + dragFilesImages: cje, + enhancePromptDescription: dje, + modeSelector: uje, + errorReadingFile: pje, + noValidImages: mje, + separator: hje, + edit: fje, + forNextMode: gje, + forPreviousMode: vje, + error: bje, + diffError: yje, + troubleMessage: kje, + apiRequest: xje, + checkpoint: wje, + instructions: _je, + fileOperations: Cje, + directoryOperations: Sje, + commandOutput: Aje, + commandExecution: Pje, + response: Rje, + arguments: "Argumenty", + mcp: Tje, + modes: Ije, + subtasks: Mje, + questions: jje, + taskCompleted: Eje, + powershell: zje, + autoApprove: $je, + reasoning: Lje, + contextCondense: Dje, + followUpSuggest: Nje, + announcement: Oje, + browser: Fje, + codeblock: Bje, + systemPromptWarning: Uje, + profileViolationWarning: qje, + shellIntegration: Wje, + ask: Kje, + codebaseSearch: Vje, + "read-batch": { approve: { title: "Zatwierdź wszystko" }, deny: { title: "Odrzuć wszystko" } }, + indexingStatus: Hje, + versionIndicator: Gje, + rooCloudCTA: Qje, + editMessage: Zje, + command: Yje, + slashCommands: Xje, + queuedMessages: Jje, + }, + Dyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: ZMe, + addContext: aje, + addImages: nje, + announcement: Oje, + apiRequest: xje, + approve: UMe, + ask: Kje, + autoApprove: $je, + browser: Fje, + cancel: GMe, + checkpoint: wje, + codebaseSearch: Vje, + codeblock: Bje, + command: Yje, + commandExecution: Pje, + commandOutput: Aje, + completeSubtaskAndReturn: BMe, + contextCondense: Dje, + default: Lyt, + diffError: yje, + directoryOperations: Sje, + dragFiles: lje, + dragFilesImages: cje, + edit: fje, + editMessage: Zje, + enhancePrompt: tje, + enhancePromptDescription: dje, + error: bje, + errorReadingFile: pje, + fileOperations: Cje, + followUpSuggest: Nje, + forNextMode: gje, + forPreviousMode: vje, + greeting: MMe, + indexingStatus: Hje, + instructions: _je, + killCommand: KMe, + mcp: Tje, + modeSelector: uje, + modes: Ije, + noValidImages: mje, + onboarding: YMe, + pin: zMe, + powershell: zje, + proceedAnyways: NMe, + proceedWhileRunning: WMe, + profileViolationWarning: qje, + questions: jje, + queuedMessages: Jje, + reasoning: Lje, + reject: FMe, + response: Rje, + resumeTask: VMe, + retry: LMe, + rooCloudCTA: Qje, + rooTips: XMe, + runCommand: qMe, + save: OMe, + scrollToBottom: QMe, + selectApiConfig: eje, + selectMode: JMe, + sendMessage: oje, + separator: hje, + shellIntegration: Wje, + slashCommands: Xje, + startNewTask: DMe, + stopTts: rje, + subtasks: Mje, + systemPromptWarning: Uje, + task: jMe, + taskCompleted: Eje, + terminate: HMe, + tokenProgress: $Me, + troubleMessage: kje, + typeMessage: ije, + typeTask: sje, + unpin: EMe, + versionIndicator: Gje, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + eEe = { + title: "Coś poszło nie tak", + reportText: "Pomóż nam ulepszyć aplikację, zgłaszając ten błąd na", + githubText: "naszej stronie GitHub Issues", + copyInstructions: "Skopiuj i wklej poniższy komunikat o błędzie, aby dołączyć go do zgłoszenia:", + errorStack: "Stos błędu:", + componentStack: "Stos komponentów:", + }, + tEe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + nEe = { yes: "Tak", no: "Nie", cancel: "Anuluj", remove: "Usuń", keep: "Zachowaj" }, + oEe = { search_placeholder: "Szukaj...", no_results: "Nie znaleziono wyników" }, + rEe = { + loading: "Generowanie diagramu mermaid...", + render_error: "Nie można renderować diagramu", + buttons: { + zoom: "Powiększenie", + zoomIn: "Powiększ", + zoomOut: "Pomniejsz", + copy: "Kopiuj", + save: "Zapisz obraz", + viewCode: "Zobacz kod", + viewDiagram: "Zobacz diagram", + close: "Zamknij", + }, + modal: { codeTitle: "Kod Mermaid" }, + tabs: { diagram: "Diagram", code: "Kod" }, + feedback: { imageCopied: "Obraz skopiowany do schowka", copyError: "Błąd kopiowania obrazu" }, + }, + iEe = { + errors: { + invalidDataUri: "Nieprawidłowy format URI danych", + copyingImage: "Błąd kopiowania obrazu: {{error}}", + openingImage: "Błąd otwierania obrazu: {{error}}", + pathNotExists: "Ścieżka nie istnieje: {{path}}", + couldNotOpen: "Nie można otworzyć pliku: {{error}}", + couldNotOpenGeneric: "Nie można otworzyć pliku!", + }, + success: { imageDataUriCopied: "URI danych obrazu skopiowane do schowka" }, + }, + sEe = { + deleteMessage: "Usuń Wiadomość", + deleteWarning: + "Usunięcie tej wiadomości spowoduje usunięcie wszystkich kolejnych wiadomości w rozmowie. Czy chcesz kontynuować?", + editMessage: "Edytuj Wiadomość", + editWarning: + "Edycja tej wiadomości spowoduje usunięcie wszystkich kolejnych wiadomości w rozmowie. Czy chcesz kontynuować?", + proceed: "Kontynuuj", + }, + Nyt = { errorBoundary: eEe, number_format: tEe, answers: nEe, ui: oEe, mermaid: rEe, file: iEe, confirmation: sEe }, + Oyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: nEe, + confirmation: sEe, + default: Nyt, + errorBoundary: eEe, + file: iEe, + mermaid: rEe, + number_format: tEe, + ui: oEe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + aEe = "Ostatnie zadania", + lEe = "Historia", + cEe = "Wyłącz tryb wyboru", + dEe = "Włącz tryb wyboru", + uEe = "Gotowe", + pEe = "Rozmyte wyszukiwanie historii...", + mEe = "Najnowsze", + hEe = "Najstarsze", + fEe = "Najdroższe", + gEe = "Najwięcej tokenów", + vEe = "Najbardziej trafne", + bEe = "Usuń zadanie (Shift + Klik, aby pominąć potwierdzenie)", + yEe = "Kopiuj prompt", + kEe = "Eksportuj zadanie", + xEe = "Usuń zadanie", + wEe = "Czy na pewno chcesz usunąć to zadanie? Tej akcji nie można cofnąć.", + _Ee = "Anuluj", + CEe = "Wyjdź z wyboru", + SEe = "Tryb wyboru", + AEe = "Odznacz wszystko", + PEe = "Zaznacz wszystko", + REe = "{{selected}}/{{total}} elementów wybranych", + TEe = "Wyczyść wybór", + IEe = "Usuń wybrane", + MEe = "Usuń zadania", + jEe = "Czy na pewno chcesz usunąć {{count}} zadań?", + EEe = "Usuniętych zadań nie można przywrócić. Upewnij się, że chcesz kontynuować.", + zEe = "Usuń {{count}} elementów", + $Ee = { prefix: "Obszar roboczy:", current: "Bieżący", all: "Wszystkie" }, + LEe = { + prefix: "Sortuj:", + newest: "Najnowsze", + oldest: "Najstarsze", + mostExpensive: "Najdroższe", + mostTokens: "Najwięcej tokenów", + mostRelevant: "Najbardziej trafne", + }, + DEe = "Zobacz wszystkie zadania", + Fyt = { + recentTasks: aEe, + history: lEe, + exitSelectionMode: cEe, + enterSelectionMode: dEe, + done: uEe, + searchPlaceholder: pEe, + newest: mEe, + oldest: hEe, + mostExpensive: fEe, + mostTokens: gEe, + mostRelevant: vEe, + deleteTaskTitle: bEe, + copyPrompt: yEe, + exportTask: kEe, + deleteTask: xEe, + deleteTaskMessage: wEe, + cancel: _Ee, + delete: "Usuń", + exitSelection: CEe, + selectionMode: SEe, + deselectAll: AEe, + selectAll: PEe, + selectedItems: REe, + clearSelection: TEe, + deleteSelected: IEe, + deleteTasks: MEe, + confirmDeleteTasks: jEe, + deleteTasksWarning: EEe, + deleteItems: zEe, + workspace: $Ee, + sort: LEe, + viewAllHistory: DEe, + }, + Byt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: _Ee, + clearSelection: TEe, + confirmDeleteTasks: jEe, + copyPrompt: yEe, + default: Fyt, + deleteItems: zEe, + deleteSelected: IEe, + deleteTask: xEe, + deleteTaskMessage: wEe, + deleteTaskTitle: bEe, + deleteTasks: MEe, + deleteTasksWarning: EEe, + deselectAll: AEe, + done: uEe, + enterSelectionMode: dEe, + exitSelection: CEe, + exitSelectionMode: cEe, + exportTask: kEe, + history: lEe, + mostExpensive: fEe, + mostRelevant: vEe, + mostTokens: gEe, + newest: mEe, + oldest: hEe, + recentTasks: aEe, + searchPlaceholder: pEe, + selectAll: PEe, + selectedItems: REe, + selectionMode: SEe, + sort: LEe, + viewAllHistory: DEe, + workspace: $Ee, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + NEe = "Przekaźnik Ludzki - Pomóż skopiować/wkleić informacje", + OEe = "Skopiuj poniższy prompt do AI w przeglądarce, a następnie wklej odpowiedź AI do pola wprowadzania poniżej.", + FEe = "Skopiowano do schowka", + BEe = { label: "Wprowadź odpowiedź AI:", placeholder: "Wklej tutaj odpowiedź AI..." }, + UEe = { cancel: "Anuluj", submit: "Wyślij" }, + Uyt = { dialogTitle: NEe, dialogDescription: OEe, copiedToClipboard: FEe, aiResponse: BEe, actions: UEe }, + qyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: UEe, + aiResponse: BEe, + copiedToClipboard: FEe, + default: Uyt, + dialogDescription: OEe, + dialogTitle: NEe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + qEe = "Roo Marketplace", + WEe = { installed: "Zainstalowane", settings: "Ustawienia", browse: "Przeglądaj" }, + KEe = "Gotowe", + VEe = "Odśwież", + HEe = { + search: { + placeholder: "Szukaj elementów marketplace...", + placeholderMcp: "Szukaj MCPs...", + placeholderMode: "Szukaj trybów...", + }, + type: { label: "Filtruj według typu:", all: "Wszystkie typy", mode: "Tryb", mcpServer: "Serwer MCP" }, + sort: { label: "Sortuj według:", name: "Nazwa", author: "Autor", lastUpdated: "Ostatnia aktualizacja" }, + tags: { + label: "Filtruj według tagów:", + clear: "Wyczyść tagi", + placeholder: "Wpisz, aby wyszukać i wybrać tagi...", + noResults: "Nie znaleziono pasujących tagów", + selected: "Pokazywanie elementów z dowolnym z wybranych tagów", + clickToFilter: "Kliknij tagi, aby filtrować elementy", + }, + none: "Brak", + }, + GEe = { organizationMcps: "MCPs {{organization}}", marketplace: "Rynek" }, + QEe = { + empty: { + noItems: "Nie znaleziono elementów marketplace", + withFilters: "Spróbuj dostosować swoje filtry", + noSources: "Spróbuj dodać źródło w zakładce Źródła", + adjustFilters: "Spróbuj dostosować swoje filtry lub terminy wyszukiwania", + clearAllFilters: "Wyczyść wszystkie filtry", + }, + count: "Znaleziono {{count}} elementów", + components: "{{count}} komponentów", + matched: "{{count}} dopasowanych", + refresh: { button: "Odśwież", refreshing: "Odświeżanie...", mayTakeMoment: "To może chwilę potrwać." }, + card: { + by: "przez {{author}}", + from: "z {{source}}", + install: "Zainstaluj", + installProject: "Zainstaluj", + installGlobal: "Zainstaluj (Globalnie)", + remove: "Usuń", + removeProject: "Usuń", + removeGlobal: "Usuń (Globalnie)", + viewSource: "Zobacz", + viewOnSource: "Zobacz na {{source}}", + noWorkspaceTooltip: "Otwórz obszar roboczy, aby zainstalować elementy marketplace", + installed: "Zainstalowane", + removeProjectTooltip: "Usuń z bieżącego projektu", + removeGlobalTooltip: "Usuń z konfiguracji globalnej", + actionsMenuLabel: "Więcej akcji", + }, + removeFailed: "Nie udało się usunąć elementu: {{error}}", + unknownError: "Wystąpił nieznany błąd", + }, + ZEe = { + title: "Zainstaluj {{name}}", + titleMode: "Zainstaluj tryb {{name}}", + titleMcp: "Zainstaluj MCP {{name}}", + scope: "Zakres instalacji", + project: "Projekt (bieżący obszar roboczy)", + global: "Globalnie (wszystkie obszary robocze)", + method: "Metoda instalacji", + configuration: "Konfiguracja", + configurationDescription: "Skonfiguruj parametry wymagane dla tego serwera MCP", + button: "Zainstaluj", + successTitle: "{{name}} zainstalowane", + successDescription: "Instalacja zakończona pomyślnie", + installed: "Zainstalowano pomyślnie!", + whatNextMcp: + "Możesz teraz skonfigurować i używać tego serwera MCP. Kliknij ikonę MCP na pasku bocznym, aby przełączyć zakładki.", + whatNextMode: "Możesz teraz używać tego trybu. Kliknij ikonę Tryby na pasku bocznym, aby przełączyć zakładki.", + done: "Gotowe", + goToMcp: "Przejdź do zakładki MCP", + goToModes: "Przejdź do ustawień Trybów", + moreInfoMcp: "Zobacz dokumentację MCP {{name}}", + validationRequired: "Podaj wartość dla {{paramName}}", + prerequisites: "Wymagania wstępne", + }, + YEe = { + title: "Konfiguruj źródła marketplace", + description: + "Dodaj repozytoria Git zawierające elementy marketplace. Te repozytoria będą pobierane podczas przeglądania marketplace.", + add: { + title: "Dodaj nowe źródło", + urlPlaceholder: "URL repozytorium Git (np. https://github.com/username/repo)", + urlFormats: + "Obsługiwane formaty: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git) lub protokół Git (git://github.com/username/repo.git)", + namePlaceholder: "Nazwa wyświetlana (maks. 20 znaków)", + button: "Dodaj źródło", + }, + current: { + title: "Bieżące źródła", + empty: "Brak skonfigurowanych źródeł. Dodaj źródło, aby rozpocząć.", + refresh: "Odśwież to źródło", + remove: "Usuń źródło", + }, + errors: { + emptyUrl: "URL nie może być pusty", + invalidUrl: "Nieprawidłowy format URL", + nonVisibleChars: "URL zawiera niewidoczne znaki inne niż spacje", + invalidGitUrl: "URL musi być prawidłowym URL repozytorium Git (np. https://github.com/username/repo)", + duplicateUrl: "Ten URL jest już na liście (dopasowanie bez uwzględniania wielkości liter i spacji)", + nameTooLong: "Nazwa musi mieć 20 znaków lub mniej", + nonVisibleCharsName: "Nazwa zawiera niewidoczne znaki inne niż spacje", + duplicateName: "Ta nazwa jest już używana (dopasowanie bez uwzględniania wielkości liter i spacji)", + emojiName: "Znaki emoji mogą powodować problemy z wyświetlaniem", + maxSources: "Maksymalnie {{max}} źródeł dozwolonych", + }, + }, + XEe = { + mode: { + title: "Usuń tryb", + message: "Czy na pewno chcesz usunąć tryb „{{modeName}}”?", + rulesWarning: "Spowoduje to również usunięcie wszelkich powiązanych plików reguł dla tego trybu.", + }, + mcp: { title: "Usuń serwer MCP", message: "Czy na pewno chcesz usunąć serwer MCP „{{mcpName}}”?" }, + cancel: "Anuluj", + confirm: "Usuń", + }, + JEe = { + issueText: + "Znalazłeś problem z elementem marketplace lub masz sugestie dotyczące nowych elementów? <0>Otwórz issue na GitHub</0>, aby nam o tym powiedzieć!", + }, + Wyt = { + title: qEe, + tabs: WEe, + done: KEe, + refresh: VEe, + filters: HEe, + sections: GEe, + "type-group": { modes: "Tryby", mcps: "Serwery MCP" }, + items: QEe, + install: ZEe, + sources: YEe, + removeConfirm: XEe, + footer: JEe, + }, + Kyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Wyt, + done: KEe, + filters: HEe, + footer: JEe, + install: ZEe, + items: QEe, + refresh: VEe, + removeConfirm: XEe, + sections: GEe, + sources: YEe, + tabs: WEe, + title: qEe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + eze = "Serwery MCP", + tze = "Gotowe", + nze = "Marketplace MCP", + oze = + '<0>Model Context Protocol</0> umożliwia komunikację z lokalnie uruchomionymi serwerami MCP, które zapewniają dodatkowe narzędzia i zasoby rozszerzające możliwości Roo. Możesz korzystać z <1>serwerów stworzonych przez społeczność</1> lub poprosić Roo o utworzenie nowych narzędzi specyficznych dla twojego przepływu pracy (np. "dodaj narzędzie, które pobiera najnowszą dokumentację npm").', + rze = "Instrukcje", + ize = { + title: "Włącz serwery MCP", + description: + "Włącz to, aby Roo mógł korzystać z narzędzi połączonych serwerów MCP. Daje to Roo więcej możliwości. Jeśli nie planujesz korzystać z tych dodatkowych narzędzi, wyłącz to, aby zmniejszyć koszty tokenów API.", + }, + sze = { + title: "Włącz tworzenie serwerów MCP", + description: + "Włącz to, aby Roo mógł pomóc ci tworzyć <1>nowe</1> niestandardowe serwery MCP. <0>Dowiedz się więcej o tworzeniu serwerów</0>", + hint: "Wskazówka: Aby zmniejszyć koszty tokenów API, wyłącz tę opcję, gdy nie prosisz Roo o utworzenie nowego serwera MCP.", + }, + aze = "Edytuj globalny MCP", + lze = "Edytuj MCP projektu", + cze = "Dowiedz się więcej o edycji plików ustawień MCP", + dze = { + alwaysAllow: "Zawsze pozwalaj", + parameters: "Parametry", + noDescription: "Brak opisu", + togglePromptInclusion: "Przełącz uwzględnianie w podpowiedzi", + }, + uze = { tools: "Narzędzia", resources: "Zasoby", errors: "Błędy" }, + pze = { + noTools: "Nie znaleziono narzędzi", + noResources: "Nie znaleziono zasobów", + noErrors: "Nie znaleziono błędów", + }, + mze = { + label: "Limit czasu sieci", + description: "Maksymalny czas oczekiwania na odpowiedzi serwera", + options: { + "15seconds": "15 sekund", + "30seconds": "30 sekund", + "1minute": "1 minuta", + "5minutes": "5 minut", + "10minutes": "10 minut", + "15minutes": "15 minut", + "30minutes": "30 minut", + "60minutes": "60 minut", + }, + }, + hze = { + title: "Usuń serwer MCP", + description: 'Czy na pewno chcesz usunąć serwer MCP "{{serverName}}"? Tej operacji nie można cofnąć.', + cancel: "Anuluj", + delete: "Usuń", + }, + fze = { retrying: "Ponawianie...", retryConnection: "Ponów połączenie" }, + gze = "Odśwież serwery MCP", + vze = { running: "Uruchomione", completed: "Zakończone", error: "Błąd" }, + Vyt = { + title: eze, + done: tze, + marketplace: nze, + description: oze, + instructions: rze, + enableToggle: ize, + enableServerCreation: sze, + editGlobalMCP: aze, + editProjectMCP: lze, + learnMoreEditingSettings: cze, + tool: dze, + tabs: uze, + emptyState: pze, + networkTimeout: mze, + deleteDialog: hze, + serverStatus: fze, + refreshMCP: gze, + execution: vze, + }, + Hyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Vyt, + deleteDialog: hze, + description: oze, + done: tze, + editGlobalMCP: aze, + editProjectMCP: lze, + emptyState: pze, + enableServerCreation: sze, + enableToggle: ize, + execution: vze, + instructions: rze, + learnMoreEditingSettings: cze, + marketplace: nze, + networkTimeout: mze, + refreshMCP: gze, + serverStatus: fze, + tabs: uze, + title: eze, + tool: dze, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + bze = "Tryby", + yze = "Gotowe", + kze = { + title: "Tryby", + createNewMode: "Utwórz nowy tryb", + importMode: "Importuj tryb", + noMatchFound: "Nie znaleziono trybów", + editModesConfig: "Edytuj konfigurację trybów", + editGlobalModes: "Edytuj tryby globalne", + editProjectModes: "Edytuj tryby projektu (.roomodes)", + createModeHelpText: + "Tryby to wyspecjalizowane persony, które dostosowują zachowanie Roo. <0>Dowiedz się o używaniu trybów</0> lub <1>dostosowywaniu trybów.</1>", + selectMode: "Szukaj trybów", + }, + xze = { title: "Konfiguracja API", select: "Wybierz, której konfiguracji API użyć dla tego trybu" }, + wze = { + title: "Dostępne narzędzia", + builtInModesText: "Narzędzia dla wbudowanych trybów nie mogą być modyfikowane", + editTools: "Edytuj narzędzia", + doneEditing: "Zakończ edycję", + allowedFiles: "Dozwolone pliki:", + toolNames: { + read: "Czytaj pliki", + edit: "Edytuj pliki", + browser: "Używaj przeglądarki", + command: "Uruchamiaj polecenia", + mcp: "Używaj MCP", + }, + noTools: "Brak", + }, + _ze = { + title: "Definicja roli", + resetToDefault: "Przywróć domyślne", + description: + "Zdefiniuj wiedzę specjalistyczną i osobowość Roo dla tego trybu. Ten opis kształtuje, jak Roo prezentuje się i podchodzi do zadań.", + }, + Cze = { + title: "Krótki opis (dla ludzi)", + resetToDefault: "Przywróć domyślny opis", + description: "Krótki opis wyświetlany w rozwijanej liście wyboru trybu.", + }, + Sze = { + title: "Kiedy używać (opcjonalne)", + description: + "Opisz, kiedy ten tryb powinien być używany. Pomaga to Orchestratorowi wybrać odpowiedni tryb dla zadania.", + resetToDefault: "Przywróć domyślny opis 'Kiedy używać'", + }, + Aze = { + title: "Niestandardowe instrukcje dla trybu (opcjonalne)", + resetToDefault: "Przywróć domyślne", + description: "Dodaj wytyczne dotyczące zachowania specyficzne dla trybu {{modeName}}.", + loadFromFile: + "Niestandardowe instrukcje dla trybu {{mode}} mogą być również ładowane z folderu <span>.roo/rules-{{slug}}/</span> w Twoim obszarze roboczym (.roorules-{{slug}} i .clinerules-{{slug}} są przestarzałe i wkrótce przestaną działać).", + }, + Pze = { + title: "Eksportuj tryb", + description: "Eksportuj ten tryb do pliku YAML ze wszystkimi regułami w celu łatwego udostępniania innym.", + export: "Eksportuj tryb", + exporting: "Eksportowanie...", + }, + Rze = { + selectLevel: "Wybierz, gdzie zaimportować ten tryb:", + import: "Importuj", + importing: "Importowanie...", + global: { + label: "Poziom globalny", + description: "Dostępne we wszystkich projektach. Reguły zostaną scalone z niestandardowymi instrukcjami.", + }, + project: { + label: "Poziom projektu", + description: + "Dostępne tylko w tym obszarze roboczym. Jeśli wyeksportowany tryb zawierał pliki reguł, zostaną one odtworzone w folderze .roo/rules-{slug}/.", + }, + }, + Tze = { title: "Zaawansowane" }, + Ize = { + title: "Niestandardowe instrukcje dla wszystkich trybów", + description: + "Te instrukcje dotyczą wszystkich trybów. Zapewniają podstawowy zestaw zachowań, które mogą być rozszerzone przez instrukcje specyficzne dla trybów poniżej. <0>Dowiedz się więcej</0>", + loadFromFile: + "Instrukcje mogą być również ładowane z folderu <span>.roo/rules/</span> w Twoim obszarze roboczym (.roorules i .clinerules są przestarzałe i wkrótce przestaną działać).", + }, + Mze = { + preview: "Podgląd podpowiedzi systemowej", + copy: "Kopiuj podpowiedź systemową do schowka", + title: "Podpowiedź systemowa (tryb {{modeName}})", + }, + jze = { + title: "Podpowiedzi pomocnicze", + resetPrompt: "Zresetuj podpowiedź {{promptType}} do domyślnej", + prompt: "Podpowiedź", + enhance: { + apiConfiguration: "Konfiguracja API", + apiConfigDescription: + "Możesz wybrać konfigurację API, która będzie zawsze używana do ulepszania podpowiedzi, lub po prostu użyć aktualnie wybranej", + useCurrentConfig: "Użyj aktualnie wybranej konfiguracji API", + testPromptPlaceholder: "Wprowadź podpowiedź, aby przetestować ulepszenie", + previewButton: "Podgląd ulepszenia podpowiedzi", + testEnhancement: "Testuj ulepszenie", + includeTaskHistory: "Uwzględnij historię zadań jako kontekst", + includeTaskHistoryDescription: + "Gdy włączone, ostatnie 10 wiadomości z bieżącej rozmowy zostanie uwzględnione jako kontekst podczas ulepszania podpowiedzi, pomagając generować bardziej trafne i świadome kontekstu sugestie.", + }, + condense: { + apiConfiguration: "Konfiguracja API do kondensacji kontekstu", + apiConfigDescription: + "Wybierz, której konfiguracji API użyć do operacji kondensacji kontekstu. Pozostaw niewybrane, aby użyć bieżącej aktywnej konfiguracji.", + useCurrentConfig: "Użyj aktualnie wybranej konfiguracji API", + }, + types: { + ENHANCE: { + label: "Ulepsz podpowiedź", + description: + "Użyj ulepszenia podpowiedzi, aby uzyskać dostosowane sugestie lub ulepszenia dla swoich danych wejściowych. Zapewnia to, że Roo rozumie Twoje intencje i dostarcza najlepsze możliwe odpowiedzi. Dostępne za pośrednictwem ikony ✨ w czacie.", + }, + CONDENSE: { + label: "Kondensacja kontekstu", + description: + "Skonfiguruj, w jaki sposób kontekst rozmowy jest kondensowany w celu zarządzania limitami tokenów. Ten monit jest używany zarówno do ręcznych, jak i automatycznych operacji kondensacji kontekstu.", + }, + EXPLAIN: { + label: "Wyjaśnij kod", + description: + "Uzyskaj szczegółowe wyjaśnienia fragmentów kodu, funkcji lub całych plików. Przydatne do zrozumienia złożonego kodu lub nauki nowych wzorców. Dostępne w akcjach kodu (ikona żarówki w edytorze) i w menu kontekstowym edytor (prawy przycisk myszy na wybranym kodzie).", + }, + FIX: { + label: "Napraw problemy", + description: + "Uzyskaj pomoc w identyfikowaniu i rozwiązywaniu błędów, usterek lub problemów z jakością kodu. Zapewnia krok po kroku wskazówki do naprawy problemów. Dostępne w akcjach kodu (ikona żarówki w edytorze) i w menu kontekstowym edytor (prawy przycisk myszy na wybranym kodzie).", + }, + IMPROVE: { + label: "Ulepsz kod", + description: + "Otrzymuj sugestie dotyczące optymalizacji kodu, lepszych praktyk i ulepszeń architektonicznych przy zachowaniu funkcjonalności. Dostępne w akcjach kodu (ikona żarówki w edytorze) i w menu kontekstowym edytor (prawy przycisk myszy na wybranym kodzie).", + }, + ADD_TO_CONTEXT: { + label: "Dodaj do kontekstu", + description: + "Dodaj kontekst do bieżącego zadania lub rozmowy. Przydatne do dostarczania dodatkowych informacji lub wyjaśnień. Dostępne w akcjach kodu (ikona żarówki w edytorze) i w menu kontekstowym edytor (prawy przycisk myszy na wybranym kodzie).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Dodaj zawartość terminala do kontekstu", + description: + "Dodaj wyjście terminala do bieżącego zadania lub rozmowy. Przydatne do dostarczania wyników poleceń lub logów. Dostępne w menu kontekstowym terminala (prawy przycisk myszy na wybranej zawartości terminala).", + }, + TERMINAL_FIX: { + label: "Napraw polecenie terminala", + description: + "Uzyskaj pomoc w naprawianiu poleceń terminala, które zawiodły lub wymagają ulepszeń. Dostępne w menu kontekstowym terminala (prawy przycisk myszy na wybranej zawartości terminala).", + }, + TERMINAL_EXPLAIN: { + label: "Wyjaśnij polecenie terminala", + description: + "Uzyskaj szczegółowe wyjaśnienia poleceń terminala i ich wyników. Dostępne w menu kontekstowym terminala (prawy przycisk myszy na wybranej zawartości terminala).", + }, + NEW_TASK: { + label: "Rozpocznij nowe zadanie", + description: "Rozpocznij nowe zadanie z wprowadzonymi danymi. Dostępne w palecie poleceń.", + }, + }, + }, + Eze = { + title: "Zaawansowane: Zastąp podpowiedź systemową", + description: + "<2>⚠️ Ostrzeżenie:</2> Ta zaawansowana funkcja omija zabezpieczenia. <1>PRZECZYTAJ TO PRZED UŻYCIEM!</1>Zastąp domyślną podpowiedź systemową, tworząc plik w <span>.roo/system-prompt-{{slug}}</span>.", + }, + zze = { + title: "Utwórz nowy tryb", + close: "Zamknij", + name: { label: "Nazwa", placeholder: "Wprowadź nazwę trybu" }, + slug: { + label: "Slug", + description: + "Slug jest używany w adresach URL i nazwach plików. Powinien być małymi literami i zawierać tylko litery, liczby i myślniki.", + }, + saveLocation: { + label: "Lokalizacja zapisu", + description: + "Wybierz, gdzie zapisać ten tryb. Tryby specyficzne dla projektu mają pierwszeństwo przed trybami globalnymi.", + global: { label: "Globalny", description: "Dostępny we wszystkich obszarach roboczych" }, + project: { + label: "Specyficzny dla projektu (.roomodes)", + description: "Dostępny tylko w tym obszarze roboczym, ma pierwszeństwo przed globalnym", + }, + }, + roleDefinition: { + label: "Definicja roli", + description: "Zdefiniuj wiedzę specjalistyczną i osobowość Roo dla tego trybu.", + }, + whenToUse: { + label: "Kiedy używać (opcjonalne)", + description: + "Podaj jasny opis, kiedy ten tryb jest najbardziej efektywny i w jakich typach zadań się sprawdza.", + }, + tools: { label: "Dostępne narzędzia", description: "Wybierz, których narzędzi może używać ten tryb." }, + description: { + label: "Krótki opis (dla ludzi)", + description: "Krótki opis wyświetlany w rozwijanej liście wyboru trybu.", + }, + customInstructions: { + label: "Niestandardowe instrukcje (opcjonalne)", + description: "Dodaj wytyczne dotyczące zachowania specyficzne dla tego trybu.", + }, + buttons: { cancel: "Anuluj", create: "Utwórz tryb" }, + deleteMode: "Usuń tryb", + }, + $ze = "wszystkie pliki", + Lze = { + title: "Usuń tryb", + message: 'Czy na pewno chcesz usunąć tryb "{{modeName}}"?', + rulesFolder: "Ten tryb ma folder z regułami w {{folderPath}}, który również zostanie usunięty.", + descriptionNoRules: "Czy na pewno chcesz usunąć ten niestandardowy tryb?", + confirm: "Usuń", + cancel: "Anuluj", + }, + Gyt = { + title: bze, + done: yze, + modes: kze, + apiConfiguration: xze, + tools: wze, + roleDefinition: _ze, + description: Cze, + whenToUse: Sze, + customInstructions: Aze, + exportMode: Pze, + importMode: Rze, + advanced: Tze, + globalCustomInstructions: Ize, + systemPrompt: Mze, + supportPrompts: jze, + advancedSystemPrompt: Eze, + createModeDialog: zze, + allFiles: $ze, + deleteMode: Lze, + }, + Qyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: Tze, + advancedSystemPrompt: Eze, + allFiles: $ze, + apiConfiguration: xze, + createModeDialog: zze, + customInstructions: Aze, + default: Gyt, + deleteMode: Lze, + description: Cze, + done: yze, + exportMode: Pze, + globalCustomInstructions: Ize, + importMode: Rze, + modes: kze, + roleDefinition: _ze, + supportPrompts: jze, + systemPrompt: Mze, + title: bze, + tools: wze, + whenToUse: Sze, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Dze = { + save: "Zapisz", + done: "Gotowe", + cancel: "Anuluj", + reset: "Resetuj", + select: "Wybierz", + add: "Dodaj nagłówek", + remove: "Usuń", + }, + Nze = { + title: "Ustawienia", + saveButtonTooltip: "Zapisz zmiany", + nothingChangedTooltip: "Nic się nie zmieniło", + doneButtonTooltip: "Odrzuć niezapisane zmiany i zamknij panel ustawień", + }, + Oze = { + title: "Niezapisane zmiany", + description: "Czy chcesz odrzucić zmiany i kontynuować?", + cancelButton: "Anuluj", + discardButton: "Odrzuć zmiany", + }, + Fze = { + providers: "Dostawcy", + autoApprove: "Auto-zatwierdzanie", + browser: "Dostęp komputera", + checkpoints: "Punkty kontrolne", + notifications: "Powiadomienia", + contextManagement: "Kontekst", + terminal: "Terminal", + prompts: "Podpowiedzi", + experimental: "Eksperymentalne", + language: "Język", + about: "O Roo Code", + }, + Bze = { + description: + "Skonfiguruj podpowiedzi wsparcia używane do szybkich działań, takich jak ulepszanie podpowiedzi, wyjaśnianie kodu i rozwiązywanie problemów. Te podpowiedzi pomagają Roo zapewnić lepsze wsparcie dla typowych zadań programistycznych.", + }, + Uze = { + title: "Indeksowanie kodu", + enableLabel: "Włącz indeksowanie kodu", + enableDescription: "Włącz indeksowanie kodu, aby poprawić wyszukiwanie i zrozumienie kontekstu", + providerLabel: "Dostawca osadzania", + selectProviderPlaceholder: "Wybierz dostawcę", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Klucz API:", + geminiApiKeyPlaceholder: "Wprowadź swój klucz API Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Klucz API:", + mistralApiKeyPlaceholder: "Wprowadź swój klucz API Mistral", + openaiCompatibleProvider: "Kompatybilny z OpenAI", + openAiKeyLabel: "Klucz API OpenAI", + openAiKeyPlaceholder: "Wprowadź swój klucz API OpenAI", + openAiCompatibleBaseUrlLabel: "Bazowy URL", + openAiCompatibleApiKeyLabel: "Klucz API", + openAiCompatibleApiKeyPlaceholder: "Wprowadź swój klucz API", + openAiCompatibleModelDimensionLabel: "Wymiar Embeddingu:", + modelDimensionLabel: "Wymiar modelu", + openAiCompatibleModelDimensionPlaceholder: "np., 1536", + openAiCompatibleModelDimensionDescription: + "Wymiar embeddingu (rozmiar wyjściowy) dla twojego modelu. Sprawdź dokumentację swojego dostawcy, aby uzyskać tę wartość. Typowe wartości: 384, 768, 1536, 3072.", + modelLabel: "Model", + selectModelPlaceholder: "Wybierz model", + ollamaUrlLabel: "URL Ollama:", + qdrantUrlLabel: "URL Qdrant", + qdrantKeyLabel: "Klucz Qdrant:", + startIndexingButton: "Rozpocznij", + clearIndexDataButton: "Wyczyść indeks", + unsavedSettingsMessage: "Zapisz swoje ustawienia przed rozpoczęciem procesu indeksowania.", + clearDataDialog: { + title: "Czy jesteś pewien?", + description: "Tej akcji nie można cofnąć. Spowoduje to trwałe usunięcie danych indeksu Twojego kodu.", + cancelButton: "Anuluj", + confirmButton: "Wyczyść dane", + }, + description: + "Skonfiguruj ustawienia indeksowania bazy kodu, aby włączyć wyszukiwanie semantyczne w swoim projekcie. <0>Dowiedz się więcej</0>", + statusTitle: "Status", + settingsTitle: "Ustawienia indeksowania", + disabledMessage: + "Indeksowanie bazy kodu jest obecnie wyłączone. Włącz je w ustawieniach globalnych, aby skonfigurować opcje indeksowania.", + embedderProviderLabel: "Dostawca Embeddera", + modelPlaceholder: "Wprowadź nazwę modelu", + selectModel: "Wybierz model", + ollamaBaseUrlLabel: "Bazowy URL Ollama", + qdrantApiKeyLabel: "Klucz API Qdrant", + qdrantApiKeyPlaceholder: "Wprowadź swój klucz API Qdrant (opcjonalnie)", + setupConfigLabel: "Konfiguracja", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Nie udało się zapisać ustawień", + modelDimensions: "({{dimension}} wymiarów)", + saveSuccess: "Ustawienia zapisane pomyślnie", + saving: "Zapisywanie...", + saveSettings: "Zapisz", + indexingStatuses: { standby: "Gotowość", indexing: "Indeksowanie", indexed: "Zaindeksowane", error: "Błąd" }, + close: "Zamknij", + validation: { + invalidQdrantUrl: "Nieprawidłowy URL Qdrant", + invalidOllamaUrl: "Nieprawidłowy URL Ollama", + invalidBaseUrl: "Nieprawidłowy podstawowy URL", + qdrantUrlRequired: "Wymagany jest URL Qdrant", + openaiApiKeyRequired: "Wymagany jest klucz API OpenAI", + modelSelectionRequired: "Wymagany jest wybór modelu", + apiKeyRequired: "Wymagany jest klucz API", + modelIdRequired: "Wymagane jest ID modelu", + modelDimensionRequired: "Wymagany jest wymiar modelu", + geminiApiKeyRequired: "Wymagany jest klucz API Gemini", + mistralApiKeyRequired: "Klucz API Mistral jest wymagany", + ollamaBaseUrlRequired: "Wymagany jest bazowy adres URL Ollama", + baseUrlRequired: "Wymagany jest bazowy adres URL", + modelDimensionMinValue: "Wymiar modelu musi być większy niż 0", + }, + advancedConfigLabel: "Konfiguracja zaawansowana", + searchMinScoreLabel: "Próg wyniku wyszukiwania", + searchMinScoreDescription: + "Minimalny wynik podobieństwa (0.0-1.0) wymagany dla wyników wyszukiwania. Niższe wartości zwracają więcej wyników, ale mogą być mniej trafne. Wyższe wartości zwracają mniej wyników, ale bardziej trafnych.", + searchMinScoreResetTooltip: "Zresetuj do wartości domyślnej (0.4)", + searchMaxResultsLabel: "Maksymalna liczba wyników wyszukiwania", + searchMaxResultsDescription: + "Maksymalna liczba wyników wyszukiwania zwracanych podczas zapytania do indeksu bazy kodu. Wyższe wartości zapewniają więcej kontekstu, ale mogą zawierać mniej istotne wyniki.", + resetToDefault: "Przywróć domyślne", + }, + qze = { + description: + "Pozwól Roo na automatyczne wykonywanie operacji bez wymagania zatwierdzenia. Włącz te ustawienia tylko jeśli w pełni ufasz AI i rozumiesz związane z tym zagrożenia bezpieczeństwa.", + enabled: "Auto-zatwierdzanie włączone", + toggleAriaLabel: "Przełącz automatyczne zatwierdzanie", + disabledAriaLabel: "Automatyczne zatwierdzanie wyłączone - najpierw wybierz opcje", + readOnly: { + label: "Odczyt", + description: + "Gdy włączone, Roo automatycznie będzie wyświetlać zawartość katalogów i czytać pliki bez konieczności klikania przycisku Zatwierdź.", + outsideWorkspace: { + label: "Uwzględnij pliki poza obszarem roboczym", + description: + "Pozwól Roo na odczyt plików poza bieżącym obszarem roboczym bez konieczności zatwierdzania.", + }, + }, + write: { + label: "Zapis", + description: "Automatycznie twórz i edytuj pliki bez konieczności zatwierdzania", + delayLabel: "Opóźnienie po zapisach, aby umożliwić diagnostyce wykrycie potencjalnych problemów", + outsideWorkspace: { + label: "Uwzględnij pliki poza obszarem roboczym", + description: + "Pozwól Roo na tworzenie i edycję plików poza bieżącym obszarem roboczym bez konieczności zatwierdzania.", + }, + protected: { + label: "Uwzględnij pliki chronione", + description: + "Pozwól Roo na tworzenie i edycję plików chronionych (takich jak .rooignore i pliki konfiguracyjne .roo/) bez konieczności zatwierdzania.", + }, + }, + browser: { + label: "Przeglądarka", + description: + "Automatycznie wykonuj akcje przeglądarki bez konieczności zatwierdzania. Uwaga: Dotyczy tylko gdy model obsługuje używanie komputera", + }, + retry: { + label: "Ponów", + description: "Automatycznie ponawiaj nieudane żądania API, gdy serwer zwraca odpowiedź z błędem", + delayLabel: "Opóźnienie przed ponowieniem żądania", + }, + mcp: { + label: "MCP", + description: + 'Włącz automatyczne zatwierdzanie poszczególnych narzędzi MCP w widoku Serwerów MCP (wymaga zarówno tego ustawienia, jak i pola wyboru "Zawsze zezwalaj" narzędzia)', + }, + modeSwitch: { + label: "Tryb", + description: "Automatycznie przełączaj między różnymi trybami bez konieczności zatwierdzania", + }, + subtasks: { + label: "Podzadania", + description: "Zezwalaj na tworzenie i ukończenie podzadań bez konieczności zatwierdzania", + }, + followupQuestions: { + label: "Pytanie", + description: + "Automatycznie wybierz pierwszą sugerowaną odpowiedź na pytania uzupełniające po skonfigurowanym limicie czasu", + timeoutLabel: "Czas oczekiwania przed automatycznym wybraniem pierwszej odpowiedzi", + }, + execute: { + label: "Wykonaj", + description: "Automatycznie wykonuj dozwolone polecenia terminala bez konieczności zatwierdzania", + allowedCommands: "Dozwolone polecenia auto-wykonania", + allowedCommandsDescription: + 'Prefiksy poleceń, które mogą być automatycznie wykonywane, gdy "Zawsze zatwierdzaj operacje wykonania" jest włączone. Dodaj * aby zezwolić na wszystkie polecenia (używaj z ostrożnością).', + deniedCommands: "Odrzucone polecenia", + deniedCommandsDescription: + "Prefiksy poleceń, które będą automatycznie odrzucane bez pytania o zatwierdzenie. W przypadku konfliktów z dozwolonymi poleceniami, najdłuższe dopasowanie prefiksu ma pierwszeństwo. Dodaj * aby odrzucić wszystkie polecenia.", + commandPlaceholder: "Wprowadź prefiks polecenia (np. 'git ')", + deniedCommandPlaceholder: "Wprowadź prefiks polecenia do odrzucenia (np. 'rm -rf')", + addButton: "Dodaj", + autoDenied: + "Polecenia z prefiksem `{{prefix}}` zostały zabronione przez użytkownika. Nie obchodź tego ograniczenia uruchamiając inne polecenie.", + }, + updateTodoList: { + label: "Todo", + description: "Lista zadań jest automatycznie aktualizowana bez zatwierdzenia", + }, + apiRequestLimit: { + title: "Maksymalna liczba żądań", + description: "Automatycznie wykonaj tyle żądań API przed poproszeniem o zgodę na kontynuowanie zadania.", + unlimited: "Bez limitu", + }, + selectOptionsFirst: "Wybierz co najmniej jedną opcję poniżej, aby włączyć automatyczne zatwierdzanie", + apiCostLimit: { title: "Maksymalny koszt", unlimited: "Bez limitu" }, + maxLimits: { + description: "Automatycznie składaj zapytania do tych limitów przed poproszeniem o zgodę na kontynuowanie.", + }, + }, + Wze = JSON.parse( + `{"providerDocumentation":"Dokumentacja {{provider}}","configProfile":"Profil konfiguracji","description":"Zapisz różne konfiguracje API, aby szybko przełączać się między dostawcami i ustawieniami.","apiProvider":"Dostawca API","model":"Model","nameEmpty":"Nazwa nie może być pusta","nameExists":"Profil o tej nazwie już istnieje","deleteProfile":"Usuń profil","invalidArnFormat":"Nieprawidłowy format ARN. Sprawdź powyższe przykłady.","enterNewName":"Wprowadź nową nazwę","addProfile":"Dodaj profil","renameProfile":"Zmień nazwę profilu","newProfile":"Nowy profil konfiguracji","enterProfileName":"Wprowadź nazwę profilu","createProfile":"Utwórz profil","cannotDeleteOnlyProfile":"Nie można usunąć jedynego profilu","searchPlaceholder":"Szukaj profili","searchProviderPlaceholder":"Szukaj dostawców","noProviderMatchFound":"Nie znaleziono dostawców","noMatchFound":"Nie znaleziono pasujących profili","vscodeLmDescription":"Interfejs API modelu językowego VS Code umożliwia uruchamianie modeli dostarczanych przez inne rozszerzenia VS Code (w tym, ale nie tylko, GitHub Copilot). Najłatwiejszym sposobem na rozpoczęcie jest zainstalowanie rozszerzeń Copilot i Copilot Chat z VS Code Marketplace.","awsCustomArnUse":"Wprowadź prawidłowy Amazon Bedrock ARN dla modelu, którego chcesz użyć. Przykłady formatu:","awsCustomArnDesc":"Upewnij się, że region w ARN odpowiada wybranemu powyżej regionowi AWS.","openRouterApiKey":"Klucz API OpenRouter","getOpenRouterApiKey":"Uzyskaj klucz API OpenRouter","apiKeyStorageNotice":"Klucze API są bezpiecznie przechowywane w Tajnym Magazynie VSCode","glamaApiKey":"Klucz API Glama","getGlamaApiKey":"Uzyskaj klucz API Glama","useCustomBaseUrl":"Użyj niestandardowego URL bazowego","useReasoning":"Włącz rozumowanie","useHostHeader":"Użyj niestandardowego nagłówka Host","useLegacyFormat":"Użyj starszego formatu API OpenAI","customHeaders":"Niestandardowe nagłówki","headerName":"Nazwa nagłówka","headerValue":"Wartość nagłówka","noCustomHeaders":"Brak zdefiniowanych niestandardowych nagłówków. Kliknij przycisk +, aby dodać.","requestyApiKey":"Klucz API Requesty","refreshModels":{"label":"Odśwież modele","hint":"Proszę ponownie otworzyć ustawienia, aby zobaczyć najnowsze modele.","loading":"Odświeżanie listy modeli...","success":"Lista modeli została pomyślnie odświeżona!","error":"Nie udało się odświeżyć listy modeli. Spróbuj ponownie."},"getRequestyApiKey":"Uzyskaj klucz API Requesty","openRouterTransformsText":"Kompresuj podpowiedzi i łańcuchy wiadomości do rozmiaru kontekstu (<a>Transformacje OpenRouter</a>)","anthropicApiKey":"Klucz API Anthropic","getAnthropicApiKey":"Uzyskaj klucz API Anthropic","anthropicUseAuthToken":"Przekaż klucz API Anthropic jako nagłówek Authorization zamiast X-Api-Key","cerebrasApiKey":"Klucz API Cerebras","getCerebrasApiKey":"Pobierz klucz API Cerebras","chutesApiKey":"Klucz API Chutes","getChutesApiKey":"Uzyskaj klucz API Chutes","fireworksApiKey":"Klucz API Fireworks","getFireworksApiKey":"Uzyskaj klucz API Fireworks","deepSeekApiKey":"Klucz API DeepSeek","getDeepSeekApiKey":"Uzyskaj klucz API DeepSeek","doubaoApiKey":"Klucz API Doubao","getDoubaoApiKey":"Uzyskaj klucz API Doubao","moonshotApiKey":"Klucz API Moonshot","getMoonshotApiKey":"Uzyskaj klucz API Moonshot","moonshotBaseUrl":"Punkt wejścia Moonshot","zaiApiKey":"Klucz API Z AI","getZaiApiKey":"Uzyskaj klucz API Z AI","zaiEntrypoint":"Punkt wejścia Z AI","zaiEntrypointDescription":"Wybierz odpowiedni punkt wejścia API w zależności od swojej lokalizacji. Jeśli jesteś w Chinach, wybierz open.bigmodel.cn. W przeciwnym razie wybierz api.z.ai.","geminiApiKey":"Klucz API Gemini","getGroqApiKey":"Uzyskaj klucz API Groq","groqApiKey":"Klucz API Groq","getSambaNovaApiKey":"Uzyskaj klucz API SambaNova","sambaNovaApiKey":"Klucz API SambaNova","getGeminiApiKey":"Uzyskaj klucz API Gemini","getHuggingFaceApiKey":"Uzyskaj klucz API Hugging Face","huggingFaceApiKey":"Klucz API Hugging Face","huggingFaceModelId":"ID modelu","huggingFaceLoading":"Ładowanie...","huggingFaceModelsCount":"({{count}} modeli)","huggingFaceSelectModel":"Wybierz model...","huggingFaceSearchModels":"Szukaj modeli...","huggingFaceNoModelsFound":"Nie znaleziono modeli","huggingFaceProvider":"Dostawca","huggingFaceProviderAuto":"Automatyczny","huggingFaceSelectProvider":"Wybierz dostawcę...","huggingFaceSearchProviders":"Szukaj dostawców...","huggingFaceNoProvidersFound":"Nie znaleziono dostawców","apiKey":"Klucz API","openAiApiKey":"Klucz API OpenAI","openAiBaseUrl":"URL bazowy","getOpenAiApiKey":"Uzyskaj klucz API OpenAI","mistralApiKey":"Klucz API Mistral","getMistralApiKey":"Uzyskaj klucz API Mistral / Codestral","codestralBaseUrl":"URL bazowy Codestral (opcjonalnie)","codestralBaseUrlDesc":"Ustaw opcjonalny URL dla modeli Codestral.","xaiApiKey":"Klucz API xAI","getXaiApiKey":"Uzyskaj klucz API xAI","litellmApiKey":"Klucz API LiteLLM","litellmBaseUrl":"URL bazowy LiteLLM","awsCredentials":"Poświadczenia AWS","awsProfile":"Profil AWS","awsApiKey":"Klucz API Amazon Bedrock","awsProfileName":"Nazwa profilu AWS","awsAccessKey":"Klucz dostępu AWS","awsSecretKey":"Klucz tajny AWS","awsSessionToken":"Token sesji AWS","awsRegion":"Region AWS","awsCrossRegion":"Użyj wnioskowania międzyregionalnego","awsBedrockVpc":{"useCustomVpcEndpoint":"Użyj niestandardowego punktu końcowego VPC","vpcEndpointUrlPlaceholder":"Wprowadź URL punktu końcowego VPC (opcjonalnie)","examples":"Przykłady:"},"enablePromptCaching":"Włącz buforowanie podpowiedzi","enablePromptCachingTitle":"Włącz buforowanie podpowiedzi, aby poprawić wydajność i zmniejszyć koszty dla obsługiwanych modeli.","cacheUsageNote":"Uwaga: Jeśli nie widzisz użycia bufora, spróbuj wybrać inny model, a następnie ponownie wybrać żądany model.","vscodeLmModel":"Model językowy","vscodeLmWarning":"Uwaga: To bardzo eksperymentalna integracja, a wsparcie dostawcy może się różnić. Jeśli otrzymasz błąd dotyczący nieobsługiwanego modelu, jest to problem po stronie dostawcy.","geminiParameters":{"urlContext":{"title":"Włącz kontekst URL","description":"Pozwala Gemini uzyskiwać dostęp i przetwarzać adresy URL w celu uzyskania dodatkowego kontekstu podczas generowania odpowiedzi. Przydatne w zadaniach wymagających analizy zawartości sieci Web."},"groundingSearch":{"title":"Włącz grounding przy użyciu wyszukiwarki Google","description":"Pozwala Gemini przeszukiwać Google w celu uzyskania aktualnych informacji i opierać odpowiedzi na danych w czasie rzeczywistym. Przydatne w zapytaniach wymagających najnowszych informacji."}},"googleCloudSetup":{"title":"Aby korzystać z Google Cloud Vertex AI, potrzebujesz:","step1":"1. Utworzyć konto Google Cloud, włączyć API Vertex AI i włączyć żądane modele Claude.","step2":"2. Zainstalować Google Cloud CLI i skonfigurować domyślne poświadczenia aplikacji.","step3":"3. Lub utworzyć konto usługi z poświadczeniami."},"googleCloudCredentials":"Poświadczenia Google Cloud","googleCloudKeyFile":"Ścieżka pliku klucza Google Cloud","googleCloudProjectId":"ID projektu Google Cloud","googleCloudRegion":"Region Google Cloud","lmStudio":{"baseUrl":"URL bazowy (opcjonalnie)","modelId":"ID modelu","speculativeDecoding":"Włącz dekodowanie spekulacyjne","draftModelId":"ID modelu szkicu","draftModelDesc":"Aby dekodowanie spekulacyjne działało poprawnie, model szkicu musi pochodzić z tej samej rodziny modeli.","selectDraftModel":"Wybierz model szkicu","noModelsFound":"Nie znaleziono modeli szkicu. Upewnij się, że LM Studio jest uruchomione z włączonym trybem serwera.","description":"LM Studio pozwala na lokalne uruchamianie modeli na twoim komputerze. Aby rozpocząć, zapoznaj się z ich <a>przewodnikiem szybkiego startu</a>. Będziesz również musiał uruchomić funkcję <b>serwera lokalnego</b> LM Studio, aby używać go z tym rozszerzeniem. <span>Uwaga:</span> Roo Code używa złożonych podpowiedzi i działa najlepiej z modelami Claude. Modele o niższych możliwościach mogą nie działać zgodnie z oczekiwaniami."},"ollama":{"baseUrl":"URL bazowy (opcjonalnie)","modelId":"ID modelu","description":"Ollama pozwala na lokalne uruchamianie modeli na twoim komputerze. Aby rozpocząć, zapoznaj się z przewodnikiem szybkiego startu.","warning":"Uwaga: Roo Code używa złożonych podpowiedzi i działa najlepiej z modelami Claude. Modele o niższych możliwościach mogą nie działać zgodnie z oczekiwaniami."},"unboundApiKey":"Klucz API Unbound","getUnboundApiKey":"Uzyskaj klucz API Unbound","unboundRefreshModelsSuccess":"Lista modeli zaktualizowana! Możesz teraz wybierać spośród najnowszych modeli.","unboundInvalidApiKey":"Nieprawidłowy klucz API. Sprawdź swój klucz API i spróbuj ponownie.","humanRelay":{"description":"Nie jest wymagany klucz API, ale użytkownik będzie musiał pomóc w kopiowaniu i wklejaniu informacji do czatu internetowego AI.","instructions":"Podczas użytkowania pojawi się okno dialogowe, a bieżąca wiadomość zostanie automatycznie skopiowana do schowka. Będziesz musiał wkleić ją do internetowych wersji AI (takich jak ChatGPT lub Claude), a następnie skopiować odpowiedź AI z powrotem do okna dialogowego i kliknąć przycisk potwierdzenia."},"openRouter":{"providerRouting":{"title":"Routing dostawców OpenRouter","description":"OpenRouter kieruje żądania do najlepszych dostępnych dostawców dla Twojego modelu. Domyślnie żądania są równoważone między najlepszymi dostawcami, aby zmaksymalizować czas działania. Możesz jednak wybrać konkretnego dostawcę do użycia z tym modelem.","learnMore":"Dowiedz się więcej o routingu dostawców"}},"customModel":{"capabilities":"Skonfiguruj możliwości i ceny swojego niestandardowego modelu zgodnego z OpenAI. Zachowaj ostrożność podczas określania możliwości modelu, ponieważ mogą one wpływać na wydajność Roo Code.","maxTokens":{"label":"Maksymalna liczba tokenów wyjściowych","description":"Maksymalna liczba tokenów, które model może wygenerować w odpowiedzi. (Określ -1, aby pozwolić serwerowi ustawić maksymalną liczbę tokenów.)"},"contextWindow":{"label":"Rozmiar okna kontekstu","description":"Całkowita liczba tokenów (wejście + wyjście), które model może przetworzyć."},"imageSupport":{"label":"Obsługa obrazów","description":"Czy model jest w stanie przetwarzać i rozumieć obrazy?"},"computerUse":{"label":"Użycie komputera","description":"Czy model jest w stanie wchodzić w interakcję z przeglądarką? (np. Claude 3.7 Sonnet)."},"promptCache":{"label":"Buforowanie podpowiedzi","description":"Czy model jest w stanie buforować podpowiedzi?"},"pricing":{"input":{"label":"Cena wejścia","description":"Koszt za milion tokenów wejściowych/podpowiedzi. Wpływa to na koszt wysyłania kontekstu i instrukcji do modelu."},"output":{"label":"Cena wyjścia","description":"Koszt za milion tokenów odpowiedzi modelu. Wpływa to na koszt generowanej treści i uzupełnień."},"cacheReads":{"label":"Cena odczytów bufora","description":"Koszt za milion tokenów za odczyt z bufora. Ta cena jest naliczana przy otrzymywaniu zbuforowanej odpowiedzi."},"cacheWrites":{"label":"Cena zapisów bufora","description":"Koszt za milion tokenów za zapis do bufora. Ta cena jest naliczana przy pierwszym buforowaniu podpowiedzi."}},"resetDefaults":"Przywróć domyślne"},"rateLimitSeconds":{"label":"Limit szybkości","description":"Minimalny czas między żądaniami API."},"consecutiveMistakeLimit":{"label":"Limit błędów i powtórzeń","description":"Liczba kolejnych błędów lub powtórzonych akcji przed wyświetleniem okna dialogowego 'Roo ma problemy'","unlimitedDescription":"Włączono nieograniczone próby (automatyczne kontynuowanie). Okno dialogowe nigdy się nie pojawi.","warning":"⚠️ Ustawienie na 0 pozwala na nieograniczone próby, co może zużyć znaczną ilość API"},"reasoningEffort":{"label":"Wysiłek rozumowania modelu","high":"Wysoki","medium":"Średni","low":"Niski"},"setReasoningLevel":"Włącz wysiłek rozumowania","claudeCode":{"pathLabel":"Ścieżka Claude Code","description":"Opcjonalna ścieżka do Twojego CLI Claude Code. Domyślnie 'claude', jeśli nie ustawiono.","placeholder":"Domyślnie: claude","maxTokensLabel":"Maksymalna liczba tokenów wyjściowych","maxTokensDescription":"Maksymalna liczba tokenów wyjściowych dla odpowiedzi Claude Code. Domyślnie 8000."}}`, + ), + Kze = { + enable: { + label: "Włącz narzędzie przeglądarki", + description: + "Gdy włączone, Roo może używać przeglądarki do interakcji ze stronami internetowymi podczas korzystania z modeli obsługujących używanie komputera. <0>Dowiedz się więcej</0>", + }, + viewport: { + label: "Rozmiar viewportu", + description: + "Wybierz rozmiar viewportu dla interakcji przeglądarki. Wpływa to na sposób wyświetlania stron internetowych i interakcji z nimi.", + options: { + largeDesktop: "Duży pulpit (1280x800)", + smallDesktop: "Mały pulpit (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Telefon (360x640)", + }, + }, + screenshotQuality: { + label: "Jakość zrzutów ekranu", + description: + "Dostosuj jakość WebP zrzutów ekranu przeglądarki. Wyższe wartości zapewniają wyraźniejsze zrzuty ekranu, ale zwiększają zużycie token.", + }, + remote: { + label: "Użyj zdalnego połączenia przeglądarki", + description: + "Połącz się z przeglądarką Chrome uruchomioną z włączonym zdalnym debugowaniem (--remote-debugging-port=9222).", + urlPlaceholder: "Niestandardowy URL (np. http://localhost:9222)", + testButton: "Testuj połączenie", + testingButton: "Testowanie...", + instructions: + "Wprowadź adres hosta protokołu DevTools lub pozostaw puste, aby automatycznie wykryć lokalne instancje Chrome. Przycisk Test Połączenia spróbuje użyć niestandardowego URL, jeśli podany, lub automatycznie wykryje, jeśli pole jest puste.", + }, + }, + Vze = { + enable: { + label: "Włącz automatyczne punkty kontrolne", + description: + "Gdy włączone, Roo automatycznie utworzy punkty kontrolne podczas wykonywania zadań, ułatwiając przeglądanie zmian lub powrót do wcześniejszych stanów. <0>Dowiedz się więcej</0>", + }, + }, + Hze = { + sound: { + label: "Włącz efekty dźwiękowe", + description: "Gdy włączone, Roo będzie odtwarzać efekty dźwiękowe dla powiadomień i zdarzeń.", + volumeLabel: "Głośność", + }, + tts: { + label: "Włącz syntezę mowy", + description: "Gdy włączone, Roo będzie czytać na głos swoje odpowiedzi za pomocą syntezy mowy.", + speedLabel: "Szybkość", + }, + }, + Gze = { + description: + "Kontroluj, jakie informacje są zawarte w oknie kontekstu AI, wpływając na zużycie token i jakość odpowiedzi", + autoCondenseContextPercent: { + label: "Próg wyzwalający inteligentną kondensację kontekstu", + description: "Gdy okno kontekstu osiągnie ten próg, Roo automatycznie je skondensuje.", + }, + condensingApiConfiguration: { + label: "Konfiguracja API dla kondensacji kontekstu", + description: + "Wybierz, którą konfigurację API używać do operacji kondensacji kontekstu. Pozostaw niewybrane, aby użyć aktualnej aktywnej konfiguracji.", + useCurrentConfig: "Domyślna", + }, + customCondensingPrompt: { + label: "Niestandardowy monit kondensacji kontekstu", + description: + "Niestandardowy monit systemowy dla kondensacji kontekstu. Pozostaw puste, aby użyć domyślnego monitu.", + placeholder: `Wprowadź tutaj swój niestandardowy monit kondensacji... + +Możesz użyć tej samej struktury co domyślny monit: +- Poprzednia rozmowa +- Aktualna praca +- Kluczowe koncepcje techniczne +- Istotne pliki i kod +- Rozwiązywanie problemów +- Oczekujące zadania i następne kroki`, + reset: "Przywróć domyślne", + hint: "Puste = użyj domyślnego monitu", + }, + autoCondenseContext: { + name: "Automatycznie wyzwalaj inteligentną kondensację kontekstu", + description: + "Gdy włączone, Roo automatycznie skondensuje kontekst po osiągnięciu progu. Gdy wyłączone, nadal możesz ręcznie wyzwolić kondensację kontekstu.", + }, + openTabs: { + label: "Limit kontekstu otwartych kart", + description: + "Maksymalna liczba otwartych kart VSCode do uwzględnienia w kontekście. Wyższe wartości zapewniają więcej kontekstu, ale zwiększają zużycie token.", + }, + workspaceFiles: { + label: "Limit kontekstu plików obszaru roboczego", + description: + "Maksymalna liczba plików do uwzględnienia w szczegółach bieżącego katalogu roboczego. Wyższe wartości zapewniają więcej kontekstu, ale zwiększają zużycie token.", + }, + rooignore: { + label: "Pokaż pliki .rooignore na listach i w wyszukiwaniach", + description: + "Gdy włączone, pliki pasujące do wzorców w .rooignore będą pokazywane na listach z symbolem kłódki. Gdy wyłączone, te pliki będą całkowicie ukryte z list plików i wyszukiwań.", + }, + maxReadFile: { + label: "Próg automatycznego skracania odczytu pliku", + description: + "Roo odczytuje tę liczbę linii, gdy model nie określa wartości początkowej/końcowej. Jeśli ta liczba jest mniejsza niż całkowita liczba linii pliku, Roo generuje indeks numerów linii definicji kodu. Przypadki specjalne: -1 nakazuje Roo odczytać cały plik (bez indeksowania), a 0 nakazuje nie czytać żadnych linii i dostarczyć tylko indeksy linii dla minimalnego kontekstu. Niższe wartości minimalizują początkowe użycie kontekstu, umożliwiając późniejsze precyzyjne odczyty zakresów linii. Jawne żądania początku/końca nie są ograniczone tym ustawieniem.", + lines: "linii", + always_full_read: "Zawsze czytaj cały plik", + }, + maxConcurrentFileReads: { + label: "Limit jednoczesnych odczytów", + description: + "Maksymalna liczba plików, które narzędzie 'read_file' może przetwarzać jednocześnie. Wyższe wartości mogą przyspieszyć odczyt wielu małych plików, ale zwiększają zużycie pamięci.", + }, + diagnostics: { + includeMessages: { + label: "Automatycznie dołączaj diagnostykę do kontekstu", + description: + "Gdy włączone, komunikaty diagnostyczne (błędy) z edytowanych plików będą automatycznie dołączane do kontekstu. Zawsze możesz ręcznie dołączyć całą diagnostykę obszaru roboczego używając @problems.", + }, + maxMessages: { + label: "Maksymalna liczba komunikatów diagnostycznych", + description: + "Maksymalna liczba komunikatów diagnostycznych dołączanych na plik. Ten limit dotyczy zarówno automatycznego dołączania (gdy pole wyboru jest włączone) jak i ręcznych wzmianek @problems. Wyższe wartości dostarczają więcej kontekstu, ale zwiększają zużycie tokenów.", + resetTooltip: "Resetuj do wartości domyślnej (50)", + unlimited: "Nieograniczone komunikaty diagnostyczne", + unlimitedLabel: "Nieograniczone", + }, + delayAfterWrite: { + label: "Opóźnienie po zapisie, aby umożliwić diagnostyce wykrycie potencjalnych problemów", + description: + "Czas oczekiwania po zapisie plików przed kontynuowaniem, aby narzędzia diagnostyczne mogły przetworzyć zmiany i wykryć problemy.", + }, + }, + condensingThreshold: { + label: "Próg wyzwalania kondensacji", + selectProfile: "Skonfiguruj próg dla profilu", + defaultProfile: "Globalny domyślny (wszystkie profile)", + defaultDescription: + "Gdy kontekst osiągnie ten procent, zostanie automatycznie skondensowany dla wszystkich profili, chyba że mają niestandardowe ustawienia", + profileDescription: "Niestandardowy próg tylko dla tego profilu (zastępuje globalny domyślny)", + inheritDescription: "Ten profil dziedziczy globalny domyślny próg ({{threshold}}%)", + usesGlobal: "(używa globalnego {{threshold}}%)", + }, + maxImageFileSize: { + label: "Maksymalny rozmiar pliku obrazu", + mb: "MB", + description: + "Maksymalny rozmiar (w MB) plików obrazów, które mogą być przetwarzane przez narzędzie do czytania plików.", + }, + maxTotalImageSize: { + label: "Maksymalny całkowity rozmiar obrazów", + mb: "MB", + description: + "Maksymalny skumulowany limit rozmiaru (w MB) dla wszystkich obrazów przetwarzanych w jednej operacji read_file. Podczas odczytu wielu obrazów rozmiar każdego obrazu jest dodawany do sumy. Jeśli dołączenie kolejnego obrazu przekroczyłoby ten limit, zostanie on pominięty.", + }, + }, + Qze = { + basic: { label: "Ustawienia terminala: Podstawowe", description: "Podstawowe ustawienia terminala" }, + advanced: { + label: "Ustawienia terminala: Zaawansowane", + description: "Poniższe opcje mogą wymagać ponownego uruchomienia terminala, aby zastosować ustawienie.", + }, + outputLineLimit: { + label: "Limit wyjścia terminala", + description: + "Maksymalna liczba linii do uwzględnienia w wyjściu terminala podczas wykonywania poleceń. Po przekroczeniu linie będą usuwane ze środka, oszczędzając token. <0>Dowiedz się więcej</0>", + }, + outputCharacterLimit: { + label: "Limit znaków w terminalu", + description: + "Maksymalna liczba znaków do uwzględnienia w danych wyjściowych terminala podczas wykonywania poleceń. Limit ten ma pierwszeństwo przed limitem linii, aby zapobiec problemom z pamięcią spowodowanym przez bardzo długie linie. Po przekroczeniu limitu dane wyjściowe zostaną obcięte. <0>Dowiedz się więcej</0>", + }, + shellIntegrationTimeout: { + label: "Limit czasu integracji powłoki terminala", + description: + 'Maksymalny czas oczekiwania na inicjalizację integracji powłoki przed wykonaniem poleceń. Dla użytkowników z długim czasem uruchamiania powłoki, ta wartość może wymagać zwiększenia, jeśli widzisz błędy "Shell Integration Unavailable" w terminalu. <0>Dowiedz się więcej</0>', + }, + shellIntegrationDisabled: { + label: "Wyłącz integrację powłoki terminala", + description: + "Włącz tę opcję, jeśli polecenia terminala nie działają poprawnie lub widzisz błędy 'Shell Integration Unavailable'. Używa to prostszej metody uruchamiania poleceń, omijając niektóre zaawansowane funkcje terminala. <0>Dowiedz się więcej</0>", + }, + commandDelay: { + label: "Opóźnienie poleceń terminala", + description: + "Opóźnienie w milisekundach dodawane po wykonaniu polecenia. Domyślne ustawienie 0 całkowicie wyłącza opóźnienie. Może to pomóc w zapewnieniu pełnego przechwytywania wyjścia poleceń w terminalach z problemami z synchronizacją. W większości terminali jest to implementowane przez ustawienie `PROMPT_COMMAND='sleep N'`, a PowerShell dodaje `start-sleep` na końcu każdego polecenia. Pierwotnie było to obejście błędu VSCode#237208 i może nie być potrzebne. <0>Dowiedz się więcej</0>", + }, + compressProgressBar: { + label: "Kompresuj wyjście pasków postępu", + description: + "Po włączeniu, przetwarza wyjście terminala z powrotami karetki (\\r), aby symulować sposób wyświetlania treści przez prawdziwy terminal. Usuwa to pośrednie stany pasków postępu, zachowując tylko stan końcowy, co oszczędza przestrzeń kontekstową dla bardziej istotnych informacji. <0>Dowiedz się więcej</0>", + }, + powershellCounter: { + label: "Włącz obejście licznika PowerShell", + description: + "Po włączeniu dodaje licznik do poleceń PowerShell, aby zapewnić prawidłowe wykonanie poleceń. Pomaga to w terminalach PowerShell, które mogą mieć problemy z przechwytywaniem wyjścia. <0>Dowiedz się więcej</0>", + }, + zshClearEolMark: { + label: "Wyczyść znacznik końca linii ZSH", + description: + "Po włączeniu czyści znacznik końca linii ZSH poprzez ustawienie PROMPT_EOL_MARK=''. Zapobiega to problemom z interpretacją wyjścia poleceń, gdy kończy się ono znakami specjalnymi jak '%'. <0>Dowiedz się więcej</0>", + }, + zshOhMy: { + label: "Włącz integrację Oh My Zsh", + description: + "Po włączeniu ustawia ITERM_SHELL_INTEGRATION_INSTALLED=Yes, aby włączyć funkcje integracji powłoki Oh My Zsh. Zastosowanie tego ustawienia może wymagać ponownego uruchomienia IDE. <0>Dowiedz się więcej</0>", + }, + zshP10k: { + label: "Włącz integrację Powerlevel10k", + description: + "Po włączeniu ustawia POWERLEVEL9K_TERM_SHELL_INTEGRATION=true, aby włączyć funkcje integracji powłoki Powerlevel10k. <0>Dowiedz się więcej</0>", + }, + zdotdir: { + label: "Włącz obsługę ZDOTDIR", + description: + "Po włączeniu tworzy tymczasowy katalog dla ZDOTDIR, aby poprawnie obsłużyć integrację powłoki zsh. Zapewnia to prawidłowe działanie integracji powłoki VSCode z zsh, zachowując twoją konfigurację zsh. <0>Dowiedz się więcej</0>", + }, + inheritEnv: { + label: "Dziedzicz zmienne środowiskowe", + description: + "Po włączeniu terminal dziedziczy zmienne środowiskowe z procesu nadrzędnego VSCode, takie jak ustawienia integracji powłoki zdefiniowane w profilu użytkownika. Przełącza to bezpośrednio globalne ustawienie VSCode `terminal.integrated.inheritEnv`. <0>Dowiedz się więcej</0>", + }, + }, + Zze = { title: "Ustawienia zaawansowane" }, + Yze = { + diff: { + label: "Włącz edycję przez różnice", + description: + "Gdy włączone, Roo będzie w stanie edytować pliki szybciej i automatycznie odrzuci obcięte pełne zapisy plików. Działa najlepiej z najnowszym modelem Claude 3.7 Sonnet.", + strategy: { + label: "Strategia diff", + options: { + standard: "Standardowa (Pojedynczy blok)", + multiBlock: "Eksperymentalna: Diff wieloblokowy", + unified: "Eksperymentalna: Diff ujednolicony", + }, + descriptions: { + standard: "Standardowa strategia diff stosuje zmiany do jednego bloku kodu na raz.", + unified: + "Strategia diff ujednoliconego stosuje wiele podejść do zastosowania różnic i wybiera najlepsze podejście.", + multiBlock: + "Strategia diff wieloblokowego pozwala na aktualizację wielu bloków kodu w pliku w jednym żądaniu.", + }, + }, + matchPrecision: { + label: "Precyzja dopasowania", + description: + "Ten suwak kontroluje, jak dokładnie sekcje kodu muszą pasować podczas stosowania różnic. Niższe wartości umożliwiają bardziej elastyczne dopasowywanie, ale zwiększają ryzyko nieprawidłowych zamian. Używaj wartości poniżej 100% z najwyższą ostrożnością.", + }, + }, + todoList: { + label: "Włącz narzędzie listy zadań", + description: + "Po włączeniu Roo może tworzyć i zarządzać listami zadań do śledzenia postępu zadań. Pomaga to organizować złożone zadania w łatwe do zarządzania kroki.", + }, + }, + Xze = { + DIFF_STRATEGY_UNIFIED: { + name: "Użyj eksperymentalnej ujednoliconej strategii diff", + description: + "Włącz eksperymentalną ujednoliconą strategię diff. Ta strategia może zmniejszyć liczbę ponownych prób spowodowanych błędami modelu, ale może powodować nieoczekiwane zachowanie lub nieprawidłowe edycje. Włącz tylko jeśli rozumiesz ryzyko i jesteś gotów dokładnie przeglądać wszystkie zmiany.", + }, + SEARCH_AND_REPLACE: { + name: "Użyj eksperymentalnego narzędzia do wyszukiwania i zamiany", + description: + "Włącz eksperymentalne narzędzie do wyszukiwania i zamiany, umożliwiając Roo zastąpienie wielu wystąpień wyszukiwanego terminu w jednym żądaniu.", + }, + INSERT_BLOCK: { + name: "Użyj eksperymentalnego narzędzia do wstawiania treści", + description: + "Włącz eksperymentalne narzędzie do wstawiania treści, umożliwiając Roo wstawianie treści w określonych numerach linii bez konieczności tworzenia diff.", + }, + POWER_STEERING: { + name: 'Użyj eksperymentalnego trybu "wspomagania kierownicy"', + description: + "Po włączeniu, Roo będzie częściej przypominać modelowi o szczegółach jego bieżącej definicji trybu. Doprowadzi to do silniejszego przestrzegania definicji ról i niestandardowych instrukcji, ale będzie używać więcej tokenów na wiadomość.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Użyj eksperymentalnego narzędzia diff wieloblokowego", + description: + "Po włączeniu, Roo użyje narzędzia diff wieloblokowego. Spróbuje to zaktualizować wiele bloków kodu w pliku w jednym żądaniu.", + }, + CONCURRENT_FILE_READS: { + name: "Włącz jednoczesne odczytywanie plików", + description: + "Po włączeniu Roo może odczytać wiele plików w jednym żądaniu. Po wyłączeniu Roo musi odczytywać pliki pojedynczo. Wyłączenie może pomóc podczas pracy z mniej wydajnymi modelami lub gdy chcesz mieć większą kontrolę nad dostępem do plików.", + }, + MARKETPLACE: { + name: "Włącz Marketplace", + description: "Gdy włączone, możesz instalować MCP i niestandardowe tryby z Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Włącz równoczesne edycje plików", + description: + "Gdy włączone, Roo może edytować wiele plików w jednym żądaniu. Gdy wyłączone, Roo musi edytować pliki jeden po drugim. Wyłączenie tego może pomóc podczas pracy z mniej zdolnymi modelami lub gdy chcesz mieć większą kontrolę nad modyfikacjami plików.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Edycja w tle", + description: + "Zapobiega zakłócaniu fokusa edytora gdy włączone. Edycje plików odbywają się w tle bez otwierania widoków różnic lub kradzieży fokusa. Możesz kontynuować pracę bez przeszkód podczas gdy Roo wprowadza zmiany. Pliki mogą być otwierane bez fokusa aby przechwycić diagnostykę lub pozostać całkowicie zamknięte.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Użyj nowego parsera wiadomości", + description: + "Włącz eksperymentalny parser wiadomości w strumieniu, który przyspiesza długie odpowiedzi dzięki bardziej wydajnemu przetwarzaniu wiadomości.", + }, + }, + Jze = { + label: "Wyłącz buforowanie promptów", + description: "Po zaznaczeniu, Roo nie będzie używać buforowania promptów dla tego modelu.", + }, + e$e = { + useCustom: "Użyj niestandardowej temperatury", + description: "Kontroluje losowość w odpowiedziach modelu.", + rangeDescription: + "Wyższe wartości sprawiają, że wyjście jest bardziej losowe, niższe wartości czynią je bardziej deterministycznym.", + }, + t$e = { + supportsImages: "Obsługuje obrazy", + noImages: "Nie obsługuje obrazów", + supportsComputerUse: "Obsługuje użycie komputera", + noComputerUse: "Nie obsługuje użycia komputera", + supportsPromptCache: "Obsługuje buforowanie podpowiedzi", + noPromptCache: "Nie obsługuje buforowania podpowiedzi", + maxOutput: "Maksymalne wyjście", + inputPrice: "Cena wejścia", + outputPrice: "Cena wyjścia", + cacheReadsPrice: "Cena odczytów bufora", + cacheWritesPrice: "Cena zapisów bufora", + enableStreaming: "Włącz strumieniowanie", + enableR1Format: "Włącz parametry modelu R1", + enableR1FormatTips: "Należy włączyć podczas korzystania z modeli R1, takich jak QWQ, aby uniknąć błędu 400", + useAzure: "Użyj Azure", + azureApiVersion: "Ustaw wersję API Azure", + gemini: { + freeRequests: + "* Darmowe do {{count}} zapytań na minutę. Po tym, rozliczanie zależy od rozmiaru podpowiedzi.", + pricingDetails: "Więcej informacji znajdziesz w szczegółach cennika.", + billingEstimate: "* Rozliczenie jest szacunkowe - dokładny koszt zależy od rozmiaru podpowiedzi.", + }, + }, + n$e = { + automaticFetch: + 'Rozszerzenie automatycznie pobiera najnowszą listę modeli dostępnych w <serviceLink>{{serviceName}}</serviceLink>. Jeśli nie jesteś pewien, który model wybrać, Roo Code działa najlepiej z <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Możesz również wyszukać "free", aby znaleźć obecnie dostępne opcje bezpłatne.', + label: "Model", + searchPlaceholder: "Wyszukaj", + noMatchFound: "Nie znaleziono dopasowań", + useCustomModel: "Użyj niestandardowy: {{modelId}}", + }, + o$e = { + feedback: + "Jeśli masz jakiekolwiek pytania lub opinie, śmiało otwórz zgłoszenie na <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> lub dołącz do <redditLink>reddit.com/r/RooCode</redditLink> lub <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Zezwól na anonimowe raportowanie błędów i użycia", + description: + "Pomóż ulepszyć Roo Code, wysyłając anonimowe dane o użytkowaniu i raporty o błędach. Nigdy nie są wysyłane kod, podpowiedzi ani informacje osobiste. Zobacz naszą politykę prywatności, aby uzyskać więcej szczegółów.", + }, + settings: { import: "Importuj", export: "Eksportuj", reset: "Resetuj" }, + }, + r$e = { maxTokens: "Maksymalna liczba tokenów", maxThinkingTokens: "Maksymalna liczba tokenów myślenia" }, + i$e = { + apiKey: "Musisz podać prawidłowy klucz API.", + awsRegion: "Musisz wybrać region, aby korzystać z Amazon Bedrock.", + googleCloud: "Musisz podać prawidłowe ID projektu i region Google Cloud.", + modelId: "Musisz podać prawidłowe ID modelu.", + modelSelector: "Musisz podać prawidłowy selektor modelu.", + openAi: "Musisz podać prawidłowy bazowy URL, klucz API i ID modelu.", + arn: { + invalidFormat: "Nieprawidłowy format ARN. Sprawdź wymagania dotyczące formatu.", + regionMismatch: + "Ostrzeżenie: Region w Twoim ARN ({{arnRegion}}) nie zgadza się z wybranym regionem ({{region}}). Może to powodować problemy z dostępem. Dostawca użyje regionu z ARN.", + }, + modelAvailability: "Podane ID modelu ({{modelId}}) jest niedostępne. Wybierz inny model.", + providerNotAllowed: "Dostawca '{{provider}}' nie jest dozwolony przez Twoją organizację", + modelNotAllowed: "Model '{{model}}' nie jest dozwolony dla dostawcy '{{provider}}' przez Twoją organizację", + profileInvalid: "Ten profil zawiera dostawcę lub model, który nie jest dozwolony przez Twoją organizację", + }, + s$e = { + apiKey: "Wprowadź klucz API...", + profileName: "Wprowadź nazwę profilu", + accessKey: "Wprowadź klucz dostępu...", + secretKey: "Wprowadź klucz tajny...", + sessionToken: "Wprowadź token sesji...", + credentialsJson: "Wprowadź JSON poświadczeń...", + keyFilePath: "Wprowadź ścieżkę pliku klucza...", + projectId: "Wprowadź ID projektu...", + customArn: "Wprowadź ARN (np. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Wprowadź podstawowy URL...", + modelId: { + lmStudio: "np. meta-llama-3.1-8b-instruct", + lmStudioDraft: "np. lmstudio-community/llama-3.2-1b-instruct", + ollama: "np. llama3.1", + }, + numbers: { + maxTokens: "np. 4096", + contextWindow: "np. 128000", + inputPrice: "np. 0.0001", + outputPrice: "np. 0.0002", + cacheWritePrice: "np. 0.00005", + }, + }, + a$e = { + ollamaUrl: "Domyślnie: http://localhost:11434", + lmStudioUrl: "Domyślnie: http://localhost:1234", + geminiUrl: "Domyślnie: https://generativelanguage.googleapis.com", + }, + l$e = { customArn: "Niestandardowy ARN", useCustomArn: "Użyj niestandardowego ARN..." }, + c$e = "Uwzględnij maksymalne tokeny wyjściowe", + d$e = + "Wyślij parametr maksymalnych tokenów wyjściowych w żądaniach API. Niektórzy dostawcy mogą tego nie obsługiwać.", + u$e = "Ogranicz maksymalną liczbę tokenów w odpowiedzi", + p$e = "Maksymalne tokeny wyjściowe", + m$e = "Maksymalne tokeny do wygenerowania w odpowiedzi", + Zyt = { + common: Dze, + header: Nze, + unsavedChangesDialog: Oze, + sections: Fze, + prompts: Bze, + codeIndex: Uze, + autoApprove: qze, + providers: Wze, + browser: Kze, + checkpoints: Vze, + notifications: Hze, + contextManagement: Gze, + terminal: Qze, + advancedSettings: Zze, + advanced: Yze, + experimental: Xze, + promptCaching: Jze, + temperature: e$e, + modelInfo: t$e, + modelPicker: n$e, + footer: o$e, + thinkingBudget: r$e, + validation: i$e, + placeholders: s$e, + defaults: a$e, + labels: l$e, + includeMaxOutputTokens: c$e, + includeMaxOutputTokensDescription: d$e, + limitMaxTokensDescription: u$e, + maxOutputTokensLabel: p$e, + maxTokensGenerateDescription: m$e, + }, + Yyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: Yze, + advancedSettings: Zze, + autoApprove: qze, + browser: Kze, + checkpoints: Vze, + codeIndex: Uze, + common: Dze, + contextManagement: Gze, + default: Zyt, + defaults: a$e, + experimental: Xze, + footer: o$e, + header: Nze, + includeMaxOutputTokens: c$e, + includeMaxOutputTokensDescription: d$e, + labels: l$e, + limitMaxTokensDescription: u$e, + maxOutputTokensLabel: p$e, + maxTokensGenerateDescription: m$e, + modelInfo: t$e, + modelPicker: n$e, + notifications: Hze, + placeholders: s$e, + promptCaching: Jze, + prompts: Bze, + providers: Wze, + sections: Fze, + temperature: e$e, + terminal: Qze, + thinkingBudget: r$e, + unsavedChangesDialog: Oze, + validation: i$e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + h$e = "Witaj w Roo Code!", + f$e = + "Dzięki szerokiej gamie wbudowanych i rozszerzalnych Trybów, Roo Code pozwala planować, projektować architekturę, kodować, debugować i zwiększać produktywność jak nigdy dotąd.", + g$e = "Aby rozpocząć, to rozszerzenie potrzebuje dostawcy API.", + v$e = "Zaczynajmy!", + b$e = { + requesty: { description: "Twój zoptymalizowany router LLM", incentive: "$1 darmowego kredytu" }, + openrouter: { description: "Ujednolicony interfejs dla LLMs" }, + }, + y$e = "Aby działać, Roo potrzebuje klucza API.", + k$e = "Zalecamy korzystanie z routera LLM:", + x$e = "Lub możesz użyć własnego klucza API:", + w$e = { + title: "Pomóż ulepszyć Roo Code", + anonymousTelemetry: + "Wyślij anonimowe dane o błędach i użyciu, aby pomóc nam w naprawianiu błędów i ulepszaniu rozszerzenia. Nigdy nie są wysyłane żadne kody, teksty ani informacje osobiste.", + changeSettings: "Zawsze możesz to zmienić na dole <settingsLink>ustawień</settingsLink>", + settings: "ustawienia", + allow: "Zezwól", + deny: "Odmów", + }, + _$e = "Importuj ustawienia", + Xyt = { + greeting: h$e, + introduction: f$e, + notice: g$e, + start: v$e, + routers: b$e, + chooseProvider: y$e, + startRouter: k$e, + startCustom: x$e, + telemetry: w$e, + importSettings: _$e, + }, + Jyt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: y$e, + default: Xyt, + greeting: h$e, + importSettings: _$e, + introduction: f$e, + notice: g$e, + routers: b$e, + start: v$e, + startCustom: x$e, + startRouter: k$e, + telemetry: w$e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + C$e = "Conta", + S$e = "Foto de perfil", + A$e = "Sair", + P$e = "Testar Autenticação de API", + R$e = "Conectar ao Roo Code Cloud", + T$e = "Conectar", + I$e = "Conectar ao Roo Code Cloud", + M$e = "Sincronize seus prompts e telemetria para habilitar:", + j$e = "Histórico de tarefas online", + E$e = "Recursos de compartilhamento e colaboração", + z$e = "Métricas de uso baseadas em tarefas, tokens e custos", + $$e = "Acompanhe e controle tarefas de qualquer lugar com Roomote Control", + L$e = "Roomote Control", + D$e = "Permite acompanhar e interagir com tarefas neste workspace com Roo Code Cloud", + N$e = "Visitar Roo Code Cloud", + ekt = { + title: C$e, + profilePicture: S$e, + logOut: A$e, + testApiAuthentication: P$e, + signIn: R$e, + connect: T$e, + cloudBenefitsTitle: I$e, + cloudBenefitsSubtitle: M$e, + cloudBenefitHistory: j$e, + cloudBenefitSharing: E$e, + cloudBenefitMetrics: z$e, + cloudBenefitWalkaway: $$e, + remoteControl: L$e, + remoteControlDescription: D$e, + visitCloudWebsite: N$e, + }, + tkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: j$e, + cloudBenefitMetrics: z$e, + cloudBenefitSharing: E$e, + cloudBenefitWalkaway: $$e, + cloudBenefitsSubtitle: M$e, + cloudBenefitsTitle: I$e, + connect: T$e, + default: ekt, + logOut: A$e, + profilePicture: S$e, + remoteControl: L$e, + remoteControlDescription: D$e, + signIn: R$e, + testApiAuthentication: P$e, + title: C$e, + visitCloudWebsite: N$e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + O$e = "Bem-vindo ao Roo Code", + F$e = { + title: "Tarefa", + seeMore: "Ver mais", + seeLess: "Ver menos", + tokens: "Tokens:", + cache: "Cache:", + apiCost: "Custo da API:", + contextWindow: "Janela de contexto:", + closeAndStart: "Fechar tarefa e iniciar nova", + export: "Exportar histórico de tarefas", + delete: "Excluir tarefa (Shift + Clique para pular confirmação)", + condenseContext: "Condensar contexto de forma inteligente", + share: "Compartilhar tarefa", + shareWithOrganization: "Compartilhar com organização", + shareWithOrganizationDescription: "Apenas membros da sua organização podem acessar", + sharePublicly: "Compartilhar publicamente", + sharePubliclyDescription: "Qualquer pessoa com o link pode acessar", + connectToCloud: "Conectar ao Cloud", + connectToCloudDescription: "Entre no Roo Code Cloud para compartilhar tarefas", + sharingDisabledByOrganization: "Compartilhamento desabilitado pela organização", + shareSuccessOrganization: "Link da organização copiado para a área de transferência", + shareSuccessPublic: "Link público copiado para a área de transferência", + }, + B$e = "Desfixar", + U$e = "Fixar", + q$e = { + availableSpace: "Espaço disponível: {{amount}} tokens", + tokensUsed: "Tokens usados: {{used}} de {{total}}", + reservedForResponse: "Reservado para resposta do modelo: {{amount}} tokens", + }, + W$e = { title: "Tentar novamente", tooltip: "Tentar a operação novamente" }, + K$e = { title: "Iniciar nova tarefa", tooltip: "Começar uma nova tarefa" }, + V$e = { title: "Prosseguir mesmo assim", tooltip: "Continuar enquanto o comando executa" }, + H$e = { title: "Salvar", tooltip: "Salvar as alterações da mensagem" }, + G$e = { title: "Rejeitar", tooltip: "Rejeitar esta ação" }, + Q$e = "Completar subtarefa e retornar", + Z$e = { title: "Aprovar", tooltip: "Aprovar esta ação" }, + Y$e = { title: "Executar comando", tooltip: "Executar este comando" }, + X$e = { title: "Prosseguir durante execução", tooltip: "Continuar apesar dos avisos" }, + J$e = { title: "Interromper Comando", tooltip: "Interromper o comando atual" }, + eLe = { title: "Retomar tarefa", tooltip: "Continuar a tarefa atual" }, + tLe = { title: "Terminar", tooltip: "Encerrar a tarefa atual" }, + nLe = { title: "Cancelar", tooltip: "Cancelar a operação atual" }, + oLe = "Rolar para o final do chat", + rLe = + "Gere, refatore e depure código com assistência de IA. Confira nossa <DocsLink>documentação</DocsLink> para saber mais.", + iLe = + "<strong>Sua lista de tarefas neste espaço de trabalho está vazia.</strong> Comece digitando uma tarefa abaixo. Não sabe como começar? Leia mais sobre o que o Roo pode fazer por você nos <DocsLink>documentos</DocsLink>.", + sLe = { + boomerangTasks: { + title: "Orquestração de Tarefas", + description: "Divida as tarefas em partes menores e gerenciáveis.", + }, + stickyModels: { title: "Modos Fixos", description: "Cada modo lembra o seu último modelo usado" }, + tools: { + title: "Ferramentas", + description: "Permita que a IA resolva problemas navegando na web, executando comandos e muito mais.", + }, + customizableModes: { + title: "Modos personalizáveis", + description: "Personas especializadas com comportamentos próprios e modelos atribuídos", + }, + }, + aLe = "Selecionar modo de interação", + lLe = "Selecionar configuração da API", + cLe = "Aprimorar prompt com contexto adicional", + dLe = "Adicionar imagens à mensagem", + uLe = "Enviar mensagem", + pLe = "Parar conversão de texto em fala", + mLe = "Digite uma mensagem...", + hLe = "Digite sua tarefa aqui...", + fLe = "@ para adicionar contexto, / para comandos", + gLe = "segure shift para arrastar arquivos", + vLe = "segure shift para arrastar arquivos/imagens", + bLe = + "O botão 'Aprimorar prompt' ajuda a melhorar seu pedido fornecendo contexto adicional, esclarecimentos ou reformulações. Tente digitar um pedido aqui e clique no botão novamente para ver como funciona.", + yLe = { + title: "Modos", + marketplace: "Marketplace de Modos", + settings: "Configurações de Modos", + description: "Personas especializadas que adaptam o comportamento do Roo.", + searchPlaceholder: "Pesquisar modos...", + noResults: "Nenhum resultado encontrado", + }, + kLe = "Erro ao ler arquivo:", + xLe = "Nenhuma imagem válida foi processada", + wLe = "Separador", + _Le = "Editar...", + CLe = "para o próximo modo", + SLe = "para o modo anterior", + ALe = "Erro", + PLe = { title: "Edição mal-sucedida" }, + RLe = "Roo está tendo problemas...", + TLe = { + title: "Requisição API", + failed: "Requisição API falhou", + streaming: "Requisição API...", + cancelled: "Requisição API cancelada", + streamingFailed: "Streaming API falhou", + }, + ILe = { + regular: "Ponto de verificação", + initializingWarning: + "Ainda inicializando ponto de verificação... Se isso demorar muito, você pode desativar os pontos de verificação nas <settingsLink>configurações</settingsLink> e reiniciar sua tarefa.", + menu: { + viewDiff: "Ver diferenças", + restore: "Restaurar ponto de verificação", + restoreFiles: "Restaurar arquivos", + restoreFilesDescription: "Restaura os arquivos do seu projeto para um snapshot feito neste ponto.", + restoreFilesAndTask: "Restaurar arquivos e tarefa", + confirm: "Confirmar", + cancel: "Cancelar", + cannotUndo: "Esta ação não pode ser desfeita.", + restoreFilesAndTaskDescription: + "Restaura os arquivos do seu projeto para um snapshot feito neste ponto e exclui todas as mensagens após este ponto.", + }, + current: "Atual", + }, + MLe = { wantsToFetch: "Roo quer buscar instruções detalhadas para ajudar com a tarefa atual" }, + jLe = { + wantsToRead: "Roo quer ler este arquivo:", + wantsToReadOutsideWorkspace: "Roo quer ler este arquivo fora do espaço de trabalho:", + didRead: "Roo leu este arquivo:", + wantsToEdit: "Roo quer editar este arquivo:", + wantsToEditOutsideWorkspace: "Roo quer editar este arquivo fora do espaço de trabalho:", + wantsToEditProtected: "Roo quer editar um arquivo de configuração protegido:", + wantsToCreate: "Roo quer criar um novo arquivo:", + wantsToSearchReplace: "Roo quer realizar busca e substituição neste arquivo:", + didSearchReplace: "Roo realizou busca e substituição neste arquivo:", + wantsToInsert: "Roo quer inserir conteúdo neste arquivo:", + wantsToInsertWithLineNumber: "Roo quer inserir conteúdo neste arquivo na linha {{lineNumber}}:", + wantsToInsertAtEnd: "Roo quer adicionar conteúdo ao final deste arquivo:", + wantsToReadAndXMore: "Roo quer ler este arquivo e mais {{count}}:", + wantsToReadMultiple: "Roo deseja ler múltiplos arquivos:", + wantsToApplyBatchChanges: "Roo quer aplicar alterações a múltiplos arquivos:", + }, + ELe = { + wantsToViewTopLevel: "Roo quer visualizar os arquivos de nível superior neste diretório:", + didViewTopLevel: "Roo visualizou os arquivos de nível superior neste diretório:", + wantsToViewRecursive: "Roo quer visualizar recursivamente todos os arquivos neste diretório:", + didViewRecursive: "Roo visualizou recursivamente todos os arquivos neste diretório:", + wantsToViewDefinitions: "Roo quer visualizar nomes de definição de código-fonte usados neste diretório:", + didViewDefinitions: "Roo visualizou nomes de definição de código-fonte usados neste diretório:", + wantsToSearch: "Roo quer pesquisar neste diretório por <code>{{regex}}</code>:", + didSearch: "Roo pesquisou neste diretório por <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo quer pesquisar neste diretório (fora do espaço de trabalho) por <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo pesquisou neste diretório (fora do espaço de trabalho) por <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo quer visualizar os arquivos de nível superior neste diretório (fora do espaço de trabalho):", + didViewTopLevelOutsideWorkspace: + "Roo visualizou os arquivos de nível superior neste diretório (fora do espaço de trabalho):", + wantsToViewRecursiveOutsideWorkspace: + "Roo quer visualizar recursivamente todos os arquivos neste diretório (fora do espaço de trabalho):", + didViewRecursiveOutsideWorkspace: + "Roo visualizou recursivamente todos os arquivos neste diretório (fora do espaço de trabalho):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo quer visualizar nomes de definição de código-fonte usados neste diretório (fora do espaço de trabalho):", + didViewDefinitionsOutsideWorkspace: + "Roo visualizou nomes de definição de código-fonte usados neste diretório (fora do espaço de trabalho):", + }, + zLe = "Saída do comando", + $Le = { + running: "Executando", + pid: "PID: {{pid}}", + exited: "Encerrado ({{exitCode}})", + manageCommands: "Gerenciar Permissões de Comando", + commandManagementDescription: + "Gerencie as permissões de comando: Clique em ✓ para permitir a execução automática, ✗ para negar a execução. Os padrões podem ser ativados/desativados ou removidos das listas. <settingsLink>Ver todas as configurações</settingsLink>", + addToAllowed: "Adicionar à lista de permitidos", + removeFromAllowed: "Remover da lista de permitidos", + addToDenied: "Adicionar à lista de negados", + removeFromDenied: "Remover da lista de negados", + abortCommand: "Abortar execução do comando", + expandOutput: "Expandir saída", + collapseOutput: "Recolher saída", + expandManagement: "Expandir seção de gerenciamento de comandos", + collapseManagement: "Recolher seção de gerenciamento de comandos", + }, + LLe = "Resposta", + DLe = { + wantsToUseTool: "Roo quer usar uma ferramenta no servidor MCP {{serverName}}:", + wantsToAccessResource: "Roo quer acessar um recurso no servidor MCP {{serverName}}:", + }, + NLe = { + wantsToSwitch: "Roo quer mudar para o modo <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo quer mudar para o modo <code>{{mode}}</code> porque: {{reason}}", + didSwitch: "Roo mudou para o modo <code>{{mode}}</code>", + didSwitchWithReason: "Roo mudou para o modo <code>{{mode}}</code> porque: {{reason}}", + }, + OLe = { + wantsToCreate: "Roo quer criar uma nova subtarefa no modo <code>{{mode}}</code>:", + wantsToFinish: "Roo quer finalizar esta subtarefa", + newTaskContent: "Instruções da subtarefa", + completionContent: "Subtarefa concluída", + resultContent: "Resultados da subtarefa", + defaultResult: "Por favor, continue com a próxima tarefa.", + completionInstructions: + "Subtarefa concluída! Você pode revisar os resultados e sugerir correções ou próximos passos. Se tudo parecer bom, confirme para retornar o resultado à tarefa principal.", + }, + FLe = { hasQuestion: "Roo tem uma pergunta:" }, + BLe = "Tarefa concluída", + ULe = { issues: "Parece que você está tendo problemas com o Windows PowerShell, por favor veja este" }, + qLe = { + title: "Aprovação automática:", + none: "Nenhuma", + description: + "A aprovação automática permite que o Roo Code execute ações sem pedir permissão. Ative apenas para ações nas quais você confia totalmente. Configuração mais detalhada disponível nas <settingsLink>Configurações</settingsLink>.", + selectOptionsFirst: "Selecione pelo menos uma opção abaixo para ativar a aprovação automática", + toggleAriaLabel: "Alternar aprovação automática", + disabledAriaLabel: "Aprovação automática desativada - selecione as opções primeiro", + }, + WLe = { thinking: "Pensando", seconds: "{{count}}s" }, + KLe = { + title: "Contexto condensado", + condensing: "Condensando contexto...", + errorHeader: "Falha ao condensar contexto", + tokens: "tokens", + }, + VLe = { + copyToInput: "Copiar para entrada (ou Shift + clique)", + autoSelectCountdown: "Seleção automática em {{count}}s", + countdownDisplay: "{{count}}s", + }, + HLe = { + title: "🎉 Roo Code {{version}} Lançado", + description: + "Roo Code {{version}} traz novos recursos poderosos e melhorias significativas para aprimorar seu fluxo de trabalho de desenvolvimento.", + whatsNew: "O que há de novo", + feature1: + "<bold>Fila de Mensagens</bold>: Coloque várias mensagens na fila enquanto o Roo está trabalhando, permitindo que você continue planejando seu fluxo de trabalho sem interrupção.", + feature2: + "<bold>Comandos de Barra Personalizados</bold>: Crie comandos de barra personalizados para acesso rápido a prompts e fluxos de trabalho usados frequentemente, com gerenciamento completo da interface do usuário.", + feature3: + "<bold>Ferramentas Gemini Aprimoradas</bold>: Novas capacidades de contexto de URL e fundamentação de pesquisa do Google fornecem aos modelos Gemini informações web em tempo real e capacidades de pesquisa aprimoradas.", + hideButton: "Ocultar anúncio", + detailsDiscussLinks: + "Obtenha mais detalhes e participe da discussão no <discordLink>Discord</discordLink> e <redditLink>Reddit</redditLink> 🚀", + }, + GLe = { + rooWantsToUse: "Roo quer usar o navegador:", + consoleLogs: "Logs do console", + noNewLogs: "(Sem novos logs)", + screenshot: "Captura de tela do navegador", + cursor: "cursor", + navigation: { step: "Passo {{current}} de {{total}}", previous: "Anterior", next: "Próximo" }, + sessionStarted: "Sessão do navegador iniciada", + actions: { + title: "Ação do navegador: ", + launch: "Iniciar navegador em {{url}}", + click: "Clique ({{coordinate}})", + type: 'Digitar "{{text}}"', + scrollDown: "Rolar para baixo", + scrollUp: "Rolar para cima", + close: "Fechar navegador", + }, + }, + QLe = { + tooltips: { + expand: "Expandir bloco de código", + collapse: "Recolher bloco de código", + enable_wrap: "Ativar quebra de linha", + disable_wrap: "Desativar quebra de linha", + copy_code: "Copiar código", + }, + }, + ZLe = + "AVISO: Substituição personalizada de instrução do sistema ativa. Isso pode comprometer gravemente a funcionalidade e causar comportamento imprevisível.", + YLe = "O perfil atual não é compatível com as configurações da sua organização", + XLe = { + title: "Aviso de execução de comando", + description: + "Seu comando está sendo executado sem a integração de shell do terminal VSCode. Para suprimir este aviso, você pode desativar a integração de shell na seção <strong>Terminal</strong> das <settingsLink>configurações do Roo Code</settingsLink> ou solucionar problemas de integração do terminal VSCode usando o link abaixo.", + troubleshooting: "Clique aqui para a documentação de integração de shell.", + }, + JLe = { + autoApprovedRequestLimitReached: { + title: "Limite de Solicitações Auto-aprovadas Atingido", + description: + "Roo atingiu o limite auto-aprovado de {{count}} solicitação(ões) de API. Deseja redefinir a contagem e prosseguir com a tarefa?", + button: "Redefinir e Continuar", + }, + autoApprovedCostLimitReached: { + title: "Limite de Custo com Aprovação Automática Atingido", + description: + "Roo atingiu o limite de custo com aprovação automática de US${{count}}. Você gostaria de redefinir o custo e prosseguir com a tarefa?", + button: "Redefinir e Continuar", + }, + }, + eDe = { + wantsToSearch: "Roo quer pesquisar na base de código por <code>{{query}}</code>:", + wantsToSearchWithPath: + "Roo quer pesquisar na base de código por <code>{{query}}</code> em <code>{{path}}</code>:", + didSearch_one: "Encontrado 1 resultado", + didSearch_other: "Encontrados {{count}} resultados", + resultTooltip: "Pontuação de similaridade: {{score}} (clique para abrir o arquivo)", + }, + tDe = { + ready: "Índice pronto", + indexing: "Indexando {{percentage}}%", + indexed: "Indexado", + error: "Erro do índice", + status: "Status do índice", + }, + nDe = { ariaLabel: "Versão {{version}} - Clique para ver as notas de lançamento" }, + oDe = { + title: "Roo Code Cloud chegará em breve!", + description: + "Execute agentes remotos na nuvem, acesse suas tarefas de qualquer lugar, colabore com outros e muito mais.", + joinWaitlist: "Junte-se à lista de espera para obter acesso antecipado.", + }, + rDe = { placeholder: "Edite sua mensagem..." }, + iDe = { triggerDescription: "Acionar o comando {{name}}" }, + sDe = { + tooltip: "Gerenciar comandos de barra", + title: "Comandos de Barra", + description: + "Crie comandos de barra personalizados para acesso rápido a prompts e fluxos de trabalho usados com frequência. <DocsLink>Documentação</DocsLink>", + globalCommands: "Comandos Globais", + workspaceCommands: "Comandos do Espaço de Trabalho", + globalCommand: "Comando global", + editCommand: "Editar comando", + deleteCommand: "Excluir comando", + newGlobalCommandPlaceholder: "Novo comando global...", + newWorkspaceCommandPlaceholder: "Novo comando do espaço de trabalho...", + deleteDialog: { + title: "Excluir Comando", + description: 'Tem certeza de que deseja excluir o comando "{{name}}"? Esta ação não pode ser desfeita.', + cancel: "Cancelar", + confirm: "Excluir", + }, + }, + aDe = { title: "Mensagens na fila:", clickToEdit: "Clique para editar a mensagem" }, + nkt = { + greeting: O$e, + task: F$e, + unpin: B$e, + pin: U$e, + tokenProgress: q$e, + retry: W$e, + startNewTask: K$e, + proceedAnyways: V$e, + save: H$e, + reject: G$e, + completeSubtaskAndReturn: Q$e, + approve: Z$e, + runCommand: Y$e, + proceedWhileRunning: X$e, + killCommand: J$e, + resumeTask: eLe, + terminate: tLe, + cancel: nLe, + scrollToBottom: oLe, + about: rLe, + onboarding: iLe, + rooTips: sLe, + selectMode: aLe, + selectApiConfig: lLe, + enhancePrompt: cLe, + addImages: dLe, + sendMessage: uLe, + stopTts: pLe, + typeMessage: mLe, + typeTask: hLe, + addContext: fLe, + dragFiles: gLe, + dragFilesImages: vLe, + enhancePromptDescription: bLe, + modeSelector: yLe, + errorReadingFile: kLe, + noValidImages: xLe, + separator: wLe, + edit: _Le, + forNextMode: CLe, + forPreviousMode: SLe, + error: ALe, + diffError: PLe, + troubleMessage: RLe, + apiRequest: TLe, + checkpoint: ILe, + instructions: MLe, + fileOperations: jLe, + directoryOperations: ELe, + commandOutput: zLe, + commandExecution: $Le, + response: LLe, + arguments: "Argumentos", + mcp: DLe, + modes: NLe, + subtasks: OLe, + questions: FLe, + taskCompleted: BLe, + powershell: ULe, + autoApprove: qLe, + reasoning: WLe, + contextCondense: KLe, + followUpSuggest: VLe, + announcement: HLe, + browser: GLe, + codeblock: QLe, + systemPromptWarning: ZLe, + profileViolationWarning: YLe, + shellIntegration: XLe, + ask: JLe, + codebaseSearch: eDe, + "read-batch": { approve: { title: "Aprovar tudo" }, deny: { title: "Negar tudo" } }, + indexingStatus: tDe, + versionIndicator: nDe, + rooCloudCTA: oDe, + editMessage: rDe, + command: iDe, + slashCommands: sDe, + queuedMessages: aDe, + }, + okt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: rLe, + addContext: fLe, + addImages: dLe, + announcement: HLe, + apiRequest: TLe, + approve: Z$e, + ask: JLe, + autoApprove: qLe, + browser: GLe, + cancel: nLe, + checkpoint: ILe, + codebaseSearch: eDe, + codeblock: QLe, + command: iDe, + commandExecution: $Le, + commandOutput: zLe, + completeSubtaskAndReturn: Q$e, + contextCondense: KLe, + default: nkt, + diffError: PLe, + directoryOperations: ELe, + dragFiles: gLe, + dragFilesImages: vLe, + edit: _Le, + editMessage: rDe, + enhancePrompt: cLe, + enhancePromptDescription: bLe, + error: ALe, + errorReadingFile: kLe, + fileOperations: jLe, + followUpSuggest: VLe, + forNextMode: CLe, + forPreviousMode: SLe, + greeting: O$e, + indexingStatus: tDe, + instructions: MLe, + killCommand: J$e, + mcp: DLe, + modeSelector: yLe, + modes: NLe, + noValidImages: xLe, + onboarding: iLe, + pin: U$e, + powershell: ULe, + proceedAnyways: V$e, + proceedWhileRunning: X$e, + profileViolationWarning: YLe, + questions: FLe, + queuedMessages: aDe, + reasoning: WLe, + reject: G$e, + response: LLe, + resumeTask: eLe, + retry: W$e, + rooCloudCTA: oDe, + rooTips: sLe, + runCommand: Y$e, + save: H$e, + scrollToBottom: oLe, + selectApiConfig: lLe, + selectMode: aLe, + sendMessage: uLe, + separator: wLe, + shellIntegration: XLe, + slashCommands: sDe, + startNewTask: K$e, + stopTts: pLe, + subtasks: OLe, + systemPromptWarning: ZLe, + task: F$e, + taskCompleted: BLe, + terminate: tLe, + tokenProgress: q$e, + troubleMessage: RLe, + typeMessage: mLe, + typeTask: hLe, + unpin: B$e, + versionIndicator: nDe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + lDe = { + title: "Algo deu errado", + reportText: "Ajude-nos a melhorar relatando este erro em", + githubText: "nossa página de Issues no GitHub", + copyInstructions: "Copie e cole a seguinte mensagem de erro para incluí-la como parte do seu relatório:", + errorStack: "Pilha de Erro:", + componentStack: "Pilha de Componentes:", + }, + cDe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + dDe = { yes: "Sim", no: "Não", cancel: "Cancelar", remove: "Remover", keep: "Manter" }, + uDe = { search_placeholder: "Pesquisar...", no_results: "Nenhum resultado encontrado" }, + pDe = { + loading: "Gerando diagrama mermaid...", + render_error: "Não foi possível renderizar o diagrama", + buttons: { + zoom: "Zoom", + zoomIn: "Ampliar", + zoomOut: "Reduzir", + copy: "Copiar", + save: "Salvar imagem", + viewCode: "Ver código", + viewDiagram: "Ver diagrama", + close: "Fechar", + }, + modal: { codeTitle: "Código Mermaid" }, + tabs: { diagram: "Diagrama", code: "Código" }, + feedback: { imageCopied: "Imagem copiada para a área de transferência", copyError: "Erro ao copiar imagem" }, + }, + mDe = { + errors: { + invalidDataUri: "Formato de URI de dados inválido", + copyingImage: "Erro ao copiar imagem: {{error}}", + openingImage: "Erro ao abrir imagem: {{error}}", + pathNotExists: "Caminho não existe: {{path}}", + couldNotOpen: "Não foi possível abrir o arquivo: {{error}}", + couldNotOpenGeneric: "Não foi possível abrir o arquivo!", + }, + success: { imageDataUriCopied: "URI de dados da imagem copiada para a área de transferência" }, + }, + hDe = { + deleteMessage: "Excluir Mensagem", + deleteWarning: + "Excluir esta mensagem irá excluir todas as mensagens subsequentes na conversa. Deseja prosseguir?", + editMessage: "Editar Mensagem", + editWarning: "Editar esta mensagem irá excluir todas as mensagens subsequentes na conversa. Deseja prosseguir?", + proceed: "Prosseguir", + }, + rkt = { errorBoundary: lDe, number_format: cDe, answers: dDe, ui: uDe, mermaid: pDe, file: mDe, confirmation: hDe }, + ikt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: dDe, + confirmation: hDe, + default: rkt, + errorBoundary: lDe, + file: mDe, + mermaid: pDe, + number_format: cDe, + ui: uDe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + fDe = "Tarefas recentes", + gDe = "Histórico", + vDe = "Sair do modo de seleção", + bDe = "Entrar no modo de seleção", + yDe = "Concluído", + kDe = "Pesquisar histórico...", + xDe = "Mais recentes", + wDe = "Mais antigas", + _De = "Mais caras", + CDe = "Mais tokens", + SDe = "Mais relevantes", + ADe = "Excluir tarefa (Shift + Clique para pular confirmação)", + PDe = "Copiar prompt", + RDe = "Exportar tarefa", + TDe = "Excluir tarefa", + IDe = "Tem certeza que deseja excluir esta tarefa? Esta ação não pode ser desfeita.", + MDe = "Cancelar", + jDe = "Sair da seleção", + EDe = "Modo de seleção", + zDe = "Desmarcar tudo", + $De = "Selecionar tudo", + LDe = "{{selected}}/{{total}} itens selecionados", + DDe = "Limpar seleção", + NDe = "Excluir selecionados", + ODe = "Excluir tarefas", + FDe = "Tem certeza que deseja excluir {{count}} tarefas?", + BDe = "As tarefas excluídas não podem ser recuperadas. Por favor, certifique-se de que deseja prosseguir.", + UDe = "Excluir {{count}} itens", + qDe = { prefix: "Espaço de trabalho:", current: "Atual", all: "Todos" }, + WDe = { + prefix: "Ordenar:", + newest: "Mais recentes", + oldest: "Mais antigas", + mostExpensive: "Mais caras", + mostTokens: "Mais tokens", + mostRelevant: "Mais relevantes", + }, + KDe = "Ver todo o histórico", + skt = { + recentTasks: fDe, + history: gDe, + exitSelectionMode: vDe, + enterSelectionMode: bDe, + done: yDe, + searchPlaceholder: kDe, + newest: xDe, + oldest: wDe, + mostExpensive: _De, + mostTokens: CDe, + mostRelevant: SDe, + deleteTaskTitle: ADe, + copyPrompt: PDe, + exportTask: RDe, + deleteTask: TDe, + deleteTaskMessage: IDe, + cancel: MDe, + delete: "Excluir", + exitSelection: jDe, + selectionMode: EDe, + deselectAll: zDe, + selectAll: $De, + selectedItems: LDe, + clearSelection: DDe, + deleteSelected: NDe, + deleteTasks: ODe, + confirmDeleteTasks: FDe, + deleteTasksWarning: BDe, + deleteItems: UDe, + workspace: qDe, + sort: WDe, + viewAllHistory: KDe, + }, + akt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: MDe, + clearSelection: DDe, + confirmDeleteTasks: FDe, + copyPrompt: PDe, + default: skt, + deleteItems: UDe, + deleteSelected: NDe, + deleteTask: TDe, + deleteTaskMessage: IDe, + deleteTaskTitle: ADe, + deleteTasks: ODe, + deleteTasksWarning: BDe, + deselectAll: zDe, + done: yDe, + enterSelectionMode: bDe, + exitSelection: jDe, + exitSelectionMode: vDe, + exportTask: RDe, + history: gDe, + mostExpensive: _De, + mostRelevant: SDe, + mostTokens: CDe, + newest: xDe, + oldest: wDe, + recentTasks: fDe, + searchPlaceholder: kDe, + selectAll: $De, + selectedItems: LDe, + selectionMode: EDe, + sort: WDe, + viewAllHistory: KDe, + workspace: qDe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + VDe = "Retransmissão Humana - Ajude a copiar/colar informações", + HDe = "Por favor, copie o seguinte prompt para a IA web e depois cole a resposta da IA na caixa de entrada abaixo.", + GDe = "Copiado para a área de transferência", + QDe = { label: "Digite a resposta da IA:", placeholder: "Cole a resposta da IA aqui..." }, + ZDe = { cancel: "Cancelar", submit: "Enviar" }, + lkt = { dialogTitle: VDe, dialogDescription: HDe, copiedToClipboard: GDe, aiResponse: QDe, actions: ZDe }, + ckt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: ZDe, + aiResponse: QDe, + copiedToClipboard: GDe, + default: lkt, + dialogDescription: HDe, + dialogTitle: VDe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + YDe = "Roo Marketplace", + XDe = { installed: "Instalado", settings: "Configurações", browse: "Navegar" }, + JDe = "Concluído", + eNe = "Atualizar", + tNe = { + search: { + placeholder: "Buscar itens do marketplace...", + placeholderMcp: "Buscar MCPs...", + placeholderMode: "Buscar modos...", + }, + type: { label: "Filtrar por tipo:", all: "Todos os tipos", mode: "Modo", mcpServer: "Servidor MCP" }, + sort: { label: "Ordenar por:", name: "Nome", author: "Autor", lastUpdated: "Última atualização" }, + tags: { + label: "Filtrar por tags:", + clear: "Limpar tags", + placeholder: "Digite para buscar e selecionar tags...", + noResults: "Nenhuma tag correspondente encontrada", + selected: "Mostrando itens com qualquer uma das tags selecionadas", + clickToFilter: "Clique nas tags para filtrar itens", + }, + none: "Nenhum", + }, + nNe = { organizationMcps: "MCPs da {{organization}}", marketplace: "Marketplace" }, + oNe = { + empty: { + noItems: "Nenhum item do marketplace encontrado", + withFilters: "Tente ajustar seus filtros", + noSources: "Tente adicionar uma fonte na aba Fontes", + adjustFilters: "Tente ajustar seus filtros ou termos de busca", + clearAllFilters: "Limpar todos os filtros", + }, + count: "{{count}} itens encontrados", + components: "{{count}} componentes", + matched: "{{count}} correspondentes", + refresh: { button: "Atualizar", refreshing: "Atualizando...", mayTakeMoment: "Isso pode levar um momento." }, + card: { + by: "por {{author}}", + from: "de {{source}}", + install: "Instalar", + installProject: "Instalar", + installGlobal: "Instalar (Global)", + remove: "Remover", + removeProject: "Remover", + removeGlobal: "Remover (Global)", + viewSource: "Ver", + viewOnSource: "Ver em {{source}}", + noWorkspaceTooltip: "Abra um workspace para instalar itens do marketplace", + installed: "Instalado", + removeProjectTooltip: "Remover do projeto atual", + removeGlobalTooltip: "Remover da configuração global", + actionsMenuLabel: "Mais ações", + }, + removeFailed: "Falha ao remover o item: {{error}}", + unknownError: "Ocorreu um erro desconhecido", + }, + rNe = { + title: "Instalar {{name}}", + titleMode: "Instalar modo {{name}}", + titleMcp: "Instalar MCP {{name}}", + scope: "Escopo da instalação", + project: "Projeto (workspace atual)", + global: "Global (todos os workspaces)", + method: "Método de instalação", + configuration: "Configuração", + configurationDescription: "Configure os parâmetros necessários para este servidor MCP", + button: "Instalar", + successTitle: "{{name}} instalado", + successDescription: "Instalação concluída com sucesso", + installed: "Instalado com sucesso!", + whatNextMcp: + "Agora você pode configurar e usar este servidor MCP. Clique no ícone MCP na barra lateral para trocar de aba.", + whatNextMode: "Agora você pode usar este modo. Clique no ícone Modos na barra lateral para trocar de aba.", + done: "Concluído", + goToMcp: "Ir para aba MCP", + goToModes: "Ir para configurações de Modos", + moreInfoMcp: "Ver documentação MCP do {{name}}", + validationRequired: "Por favor, forneça um valor para {{paramName}}", + prerequisites: "Pré-requisitos", + }, + iNe = { + title: "Configurar fontes do marketplace", + description: + "Adicione repositórios Git que contenham itens do marketplace. Estes repositórios serão buscados ao navegar pelo marketplace.", + add: { + title: "Adicionar nova fonte", + urlPlaceholder: "URL do repositório Git (ex: https://github.com/username/repo)", + urlFormats: + "Formatos suportados: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), ou protocolo Git (git://github.com/username/repo.git)", + namePlaceholder: "Nome de exibição (máx. 20 caracteres)", + button: "Adicionar fonte", + }, + current: { + title: "Fontes atuais", + empty: "Nenhuma fonte configurada. Adicione uma fonte para começar.", + refresh: "Atualizar esta fonte", + remove: "Remover fonte", + }, + errors: { + emptyUrl: "URL não pode estar vazia", + invalidUrl: "Formato de URL inválido", + nonVisibleChars: "URL contém caracteres não visíveis além de espaços", + invalidGitUrl: "URL deve ser uma URL de repositório Git válida (ex: https://github.com/username/repo)", + duplicateUrl: "Esta URL já está na lista (correspondência insensível a maiúsculas e espaços)", + nameTooLong: "Nome deve ter 20 caracteres ou menos", + nonVisibleCharsName: "Nome contém caracteres não visíveis além de espaços", + duplicateName: "Este nome já está em uso (correspondência insensível a maiúsculas e espaços)", + emojiName: "Caracteres emoji podem causar problemas de exibição", + maxSources: "Máximo de {{max}} fontes permitidas", + }, + }, + sNe = { + mode: { + title: "Remover Modo", + message: 'Tem certeza de que deseja remover o modo "{{modeName}}"?', + rulesWarning: "Isso também removerá todos os arquivos de regras associados a este modo.", + }, + mcp: { + title: "Remover Servidor MCP", + message: 'Tem certeza de que deseja remover o servidor MCP "{{mcpName}}"?', + }, + cancel: "Cancelar", + confirm: "Remover", + }, + aNe = { + issueText: + "Encontrou um problema com um item do marketplace ou tem sugestões para novos itens? <0>Abra um issue no GitHub</0> para nos avisar!", + }, + dkt = { + title: YDe, + tabs: XDe, + done: JDe, + refresh: eNe, + filters: tNe, + sections: nNe, + "type-group": { modes: "Modos", mcps: "Servidores MCP" }, + items: oNe, + install: rNe, + sources: iNe, + removeConfirm: sNe, + footer: aNe, + }, + ukt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: dkt, + done: JDe, + filters: tNe, + footer: aNe, + install: rNe, + items: oNe, + refresh: eNe, + removeConfirm: sNe, + sections: nNe, + sources: iNe, + tabs: XDe, + title: YDe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + lNe = "Servidores MCP", + cNe = "Concluído", + dNe = "Marketplace MCP", + uNe = + 'O <0>Model Context Protocol</0> permite a comunicação com servidores MCP em execução localmente que fornecem ferramentas e recursos adicionais para estender as capacidades do Roo. Você pode usar <1>servidores criados pela comunidade</1> ou pedir ao Roo para criar novas ferramentas específicas para seu fluxo de trabalho (por exemplo, "adicionar uma ferramenta que obtém a documentação mais recente do npm").', + pNe = "Instruções", + mNe = { + title: "Ativar servidores MCP", + description: + "Ative para que o Roo possa usar ferramentas de servidores MCP conectados. Isso dá mais capacidades ao Roo. Se você não pretende usar essas ferramentas extras, desative para ajudar a reduzir os custos de tokens da API.", + }, + hNe = { + title: "Ativar criação de servidores MCP", + description: + "Ative para que o Roo possa te ajudar a criar <1>novos</1> servidores MCP personalizados. <0>Saiba mais sobre criação de servidores</0>", + hint: "Dica: Para reduzir os custos de tokens da API, desative esta configuração quando não estiver pedindo ao Roo para criar um novo servidor MCP.", + }, + fNe = "Editar MCP global", + gNe = "Editar MCP do projeto", + vNe = "Saiba mais sobre como editar arquivos de configuração MCP", + bNe = { + alwaysAllow: "Sempre permitir", + parameters: "Parâmetros", + noDescription: "Sem descrição", + togglePromptInclusion: "Alternar inclusão no prompt", + }, + yNe = { tools: "Ferramentas", resources: "Recursos", errors: "Erros" }, + kNe = { + noTools: "Nenhuma ferramenta encontrada", + noResources: "Nenhum recurso encontrado", + noErrors: "Nenhum erro encontrado", + }, + xNe = { + label: "Tempo limite de rede", + description: "Tempo máximo de espera por respostas do servidor", + options: { + "15seconds": "15 segundos", + "30seconds": "30 segundos", + "1minute": "1 minuto", + "5minutes": "5 minutos", + "10minutes": "10 minutos", + "15minutes": "15 minutos", + "30minutes": "30 minutos", + "60minutes": "60 minutos", + }, + }, + wNe = { + title: "Excluir servidor MCP", + description: + 'Tem certeza de que deseja excluir o servidor MCP "{{serverName}}"? Esta ação não pode ser desfeita.', + cancel: "Cancelar", + delete: "Excluir", + }, + _Ne = { retrying: "Tentando novamente...", retryConnection: "Tentar reconectar" }, + CNe = "Atualizar Servidores MCP", + SNe = { running: "Em execução", completed: "Concluído", error: "Erro" }, + pkt = { + title: lNe, + done: cNe, + marketplace: dNe, + description: uNe, + instructions: pNe, + enableToggle: mNe, + enableServerCreation: hNe, + editGlobalMCP: fNe, + editProjectMCP: gNe, + learnMoreEditingSettings: vNe, + tool: bNe, + tabs: yNe, + emptyState: kNe, + networkTimeout: xNe, + deleteDialog: wNe, + serverStatus: _Ne, + refreshMCP: CNe, + execution: SNe, + }, + mkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: pkt, + deleteDialog: wNe, + description: uNe, + done: cNe, + editGlobalMCP: fNe, + editProjectMCP: gNe, + emptyState: kNe, + enableServerCreation: hNe, + enableToggle: mNe, + execution: SNe, + instructions: pNe, + learnMoreEditingSettings: vNe, + marketplace: dNe, + networkTimeout: xNe, + refreshMCP: CNe, + serverStatus: _Ne, + tabs: yNe, + title: lNe, + tool: bNe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ANe = "Modos", + PNe = "Concluído", + RNe = { + title: "Modos", + createNewMode: "Criar novo modo", + importMode: "Importar modo", + noMatchFound: "Nenhum modo encontrado", + editModesConfig: "Editar configuração de modos", + editGlobalModes: "Editar modos globais", + editProjectModes: "Editar modos do projeto (.roomodes)", + createModeHelpText: + "Modos são personas especializadas que adaptam o comportamento do Roo. <0>Saiba mais sobre o uso de modos</0> ou <1>Personalização de modos.</1>", + selectMode: "Buscar modos", + }, + TNe = { title: "Configuração de API", select: "Selecione qual configuração de API usar para este modo" }, + INe = { + title: "Ferramentas disponíveis", + builtInModesText: "Ferramentas para modos integrados não podem ser modificadas", + editTools: "Editar ferramentas", + doneEditing: "Concluir edição", + allowedFiles: "Arquivos permitidos:", + toolNames: { + read: "Ler arquivos", + edit: "Editar arquivos", + browser: "Usar navegador", + command: "Executar comandos", + mcp: "Usar MCP", + }, + noTools: "Nenhuma", + }, + MNe = { + title: "Definição de função", + resetToDefault: "Restaurar para padrão", + description: + "Defina a expertise e personalidade do Roo para este modo. Esta descrição molda como o Roo se apresenta e aborda tarefas.", + }, + jNe = { + title: "Descrição curta (para humanos)", + resetToDefault: "Redefinir para descrição padrão", + description: "Uma breve descrição exibida no menu suspenso do seletor de modo.", + }, + ENe = { + title: "Quando usar (opcional)", + description: + "Descreva quando este modo deve ser usado. Isso ajuda o Orchestrator a escolher o modo certo para uma tarefa.", + resetToDefault: "Restaurar descrição 'Quando usar' para padrão", + }, + zNe = { + title: "Instruções personalizadas específicas do modo (opcional)", + resetToDefault: "Restaurar para padrão", + description: "Adicione diretrizes comportamentais específicas para o modo {{modeName}}.", + loadFromFile: + "Instruções personalizadas específicas para o modo {{mode}} também podem ser carregadas da pasta <span>.roo/rules-{{slug}}/</span> no seu espaço de trabalho (.roorules-{{slug}} e .clinerules-{{slug}} estão obsoletos e deixarão de funcionar em breve).", + }, + $Ne = { + title: "Exportar modo", + description: + "Exporte este modo para um arquivo YAML com todas as regras incluídas para compartilhar facilmente com outros.", + export: "Exportar modo", + exporting: "Exportando...", + }, + LNe = { + selectLevel: "Escolha onde importar este modo:", + import: "Importar", + importing: "Importando...", + global: { + label: "Nível global", + description: "Disponível em todos os projetos. As regras serão mescladas nas instruções personalizadas.", + }, + project: { + label: "Nível do projeto", + description: + "Disponível apenas neste espaço de trabalho. Se o modo exportado continha arquivos de regras, eles serão recriados na pasta .roo/rules-{slug}/.", + }, + }, + DNe = { title: "Avançado" }, + NNe = { + title: "Instruções personalizadas para todos os modos", + description: + "Estas instruções se aplicam a todos os modos. Elas fornecem um conjunto base de comportamentos que podem ser aprimorados por instruções específicas do modo abaixo. <0>Saiba mais</0>", + loadFromFile: + "As instruções também podem ser carregadas da pasta <span>.roo/rules/</span> no seu espaço de trabalho (.roorules e .clinerules estão obsoletos e deixarão de funcionar em breve).", + }, + ONe = { + preview: "Visualizar prompt do sistema", + copy: "Copiar prompt do sistema para a área de transferência", + title: "Prompt do sistema (modo {{modeName}})", + }, + FNe = { + title: "Prompts de suporte", + resetPrompt: "Restaurar prompt {{promptType}} para padrão", + prompt: "Prompt", + enhance: { + apiConfiguration: "Configuração de API", + apiConfigDescription: + "Você pode selecionar uma configuração de API para usar sempre para aprimorar prompts, ou simplesmente use o que está atualmente selecionado", + useCurrentConfig: "Usar configuração de API atualmente selecionada", + testPromptPlaceholder: "Digite um prompt para testar o aprimoramento", + previewButton: "Visualizar aprimoramento do prompt", + testEnhancement: "Testar aprimoramento", + includeTaskHistory: "Incluir histórico de tarefas como contexto", + includeTaskHistoryDescription: + "Quando habilitado, as últimas 10 mensagens da conversa atual serão incluídas como contexto ao aprimorar prompts, ajudando a gerar sugestões mais relevantes e conscientes do contexto.", + }, + condense: { + apiConfiguration: "Configuração da API para condensação de contexto", + apiConfigDescription: + "Selecione qual configuração de API usar para operações de condensação de contexto. Deixe desmarcado para usar a configuração ativa atual.", + useCurrentConfig: "Usar a configuração de API selecionada no momento", + }, + types: { + ENHANCE: { + label: "Aprimorar Prompt", + description: + "Use o aprimoramento de prompt para obter sugestões ou melhorias personalizadas para suas entradas. Isso garante que o Roo entenda sua intenção e forneça as melhores respostas possíveis. Disponível através do ícone ✨ no chat.", + }, + CONDENSE: { + label: "Condensação de Contexto", + description: + "Configure como o contexto da conversa é condensado para gerenciar os limites de token. Este prompt é usado para operações de condensação de contexto manuais e automáticas.", + }, + EXPLAIN: { + label: "Explicar Código", + description: + "Obtenha explicações detalhadas de trechos de código, funções ou arquivos inteiros. Útil para entender código complexo ou aprender novos padrões. Disponível nas ações de código (ícone de lâmpada no editor) e no menu de contexto do editor (clique direito no código selecionado).", + }, + FIX: { + label: "Corrigir Problemas", + description: + "Obtenha ajuda para identificar e resolver bugs, erros ou problemas de qualidade de código. Fornece orientação passo a passo para corrigir problemas. Disponível nas ações de código (ícone de lâmpada no editor) e no menu de contexto do editor (clique direito no código selecionado).", + }, + IMPROVE: { + label: "Melhorar Código", + description: + "Receba sugestões para otimização de código, melhores práticas e melhorias arquitetônicas mantendo la funcionalidade. Disponível nas ações de código (ícone de lâmpada no editor) e no menu de contexto do editor (clique direito no código selecionado).", + }, + ADD_TO_CONTEXT: { + label: "Adicionar ao Contexto", + description: + "Adicione contexto à sua tarefa ou conversa atual. Útil para fornecer informações adicionais ou esclarecimentos. Disponível nas ações de código (ícone de lâmpada no editor) e no menu de contexto do editor (clique direito no código selecionado).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Adicionar Conteúdo do Terminal ao Contexto", + description: + "Adicione a saída do terminal à sua tarefa ou conversa atual. Útil para fornecer saídas de comandos ou logs. Disponível no menu de contexto do terminal (clique direito no conteúdo selecionado do terminal).", + }, + TERMINAL_FIX: { + label: "Corrigir Comando do Terminal", + description: + "Obtenha ajuda para corrigir comandos de terminal que falharam ou precisam de melhorias. Disponível no menu de contexto do terminal (clique direito no conteúdo selecionado do terminal).", + }, + TERMINAL_EXPLAIN: { + label: "Explicar Comando do Terminal", + description: + "Obtenha explicações detalhadas de comandos de terminal e suas saídas. Disponível no menu de contexto do terminal (clique direito no conteúdo selecionado do terminal).", + }, + NEW_TASK: { + label: "Iniciar Nova Tarefa", + description: "Inicie uma nova tarefa com a entrada fornecida. Disponível na paleta de comandos.", + }, + }, + }, + BNe = { + title: "Avançado: Substituir prompt do sistema", + description: + "<2>⚠️ Aviso:</2> Este recurso avançado ignora as proteções. <1>LEIA ISTO ANTES DE USAR!</1>Substitua o prompt do sistema padrão criando um arquivo em <span>.roo/system-prompt-{{slug}}</span>.", + }, + UNe = { + title: "Criar novo modo", + close: "Fechar", + name: { label: "Nome", placeholder: "Digite o nome do modo" }, + slug: { + label: "Slug", + description: + "O slug é usado em URLs e nomes de arquivos. Deve estar em minúsculas e conter apenas letras, números e hífens.", + }, + saveLocation: { + label: "Local de salvamento", + description: + "Escolha onde salvar este modo. Os modos específicos do projeto têm precedência sobre os modos globais.", + global: { label: "Global", description: "Disponível em todos os espaços de trabalho" }, + project: { + label: "Específico do projeto (.roomodes)", + description: "Disponível apenas neste espaço de trabalho, tem precedência sobre o global", + }, + }, + roleDefinition: { + label: "Definição de função", + description: "Defina a expertise e personalidade do Roo para este modo.", + }, + whenToUse: { + label: "Quando usar (opcional)", + description: + "Forneça uma descrição clara de quando este modo é mais eficaz e para quais tipos de tarefas ele se destaca.", + }, + tools: { label: "Ferramentas disponíveis", description: "Selecione quais ferramentas este modo pode usar." }, + description: { + label: "Descrição curta (para humanos)", + description: "Uma breve descrição exibida no menu suspenso do seletor de modo.", + }, + customInstructions: { + label: "Instruções personalizadas (opcional)", + description: "Adicione diretrizes comportamentais específicas para este modo.", + }, + buttons: { cancel: "Cancelar", create: "Criar Modo" }, + deleteMode: "Excluir modo", + }, + qNe = "todos os arquivos", + WNe = { + title: "Excluir Modo", + message: 'Tem certeza de que deseja excluir o modo "{{modeName}}"?', + rulesFolder: "Este modo tem uma pasta de regras em {{folderPath}} que também será excluída.", + descriptionNoRules: "Tem certeza de que deseja excluir este modo personalizado?", + confirm: "Excluir", + cancel: "Cancelar", + }, + hkt = { + title: ANe, + done: PNe, + modes: RNe, + apiConfiguration: TNe, + tools: INe, + roleDefinition: MNe, + description: jNe, + whenToUse: ENe, + customInstructions: zNe, + exportMode: $Ne, + importMode: LNe, + advanced: DNe, + globalCustomInstructions: NNe, + systemPrompt: ONe, + supportPrompts: FNe, + advancedSystemPrompt: BNe, + createModeDialog: UNe, + allFiles: qNe, + deleteMode: WNe, + }, + fkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: DNe, + advancedSystemPrompt: BNe, + allFiles: qNe, + apiConfiguration: TNe, + createModeDialog: UNe, + customInstructions: zNe, + default: hkt, + deleteMode: WNe, + description: jNe, + done: PNe, + exportMode: $Ne, + globalCustomInstructions: NNe, + importMode: LNe, + modes: RNe, + roleDefinition: MNe, + supportPrompts: FNe, + systemPrompt: ONe, + title: ANe, + tools: INe, + whenToUse: ENe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + KNe = { + save: "Salvar", + done: "Concluído", + cancel: "Cancelar", + reset: "Redefinir", + select: "Selecionar", + add: "Adicionar cabeçalho", + remove: "Remover", + }, + VNe = { + title: "Configurações", + saveButtonTooltip: "Salvar alterações", + nothingChangedTooltip: "Nada alterado", + doneButtonTooltip: "Descartar alterações não salvas e fechar o painel de configurações", + }, + HNe = { + title: "Alterações não salvas", + description: "Deseja descartar as alterações e continuar?", + cancelButton: "Cancelar", + discardButton: "Descartar alterações", + }, + GNe = { + providers: "Provedores", + autoApprove: "Aprovação", + browser: "Navegador", + checkpoints: "Checkpoints", + notifications: "Notificações", + contextManagement: "Contexto", + terminal: "Terminal", + prompts: "Prompts", + experimental: "Experimental", + language: "Idioma", + about: "Sobre", + }, + QNe = { + description: + "Configure prompts de suporte usados para ações rápidas como melhorar prompts, explicar código e corrigir problemas. Esses prompts ajudam o Roo a fornecer melhor assistência para tarefas comuns de desenvolvimento.", + }, + ZNe = { + title: "Indexação de Código", + enableLabel: "Ativar Indexação de Código", + enableDescription: "Ative a indexação de código para pesquisa e compreensão de contexto aprimoradas", + providerLabel: "Provedor de Embeddings", + selectProviderPlaceholder: "Selecionar provedor", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Chave de API:", + geminiApiKeyPlaceholder: "Digite sua chave de API do Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Chave de API:", + mistralApiKeyPlaceholder: "Digite sua chave de API da Mistral", + openaiCompatibleProvider: "Compatível com OpenAI", + openAiKeyLabel: "Chave de API OpenAI", + openAiKeyPlaceholder: "Digite sua chave de API OpenAI", + openAiCompatibleBaseUrlLabel: "URL Base", + openAiCompatibleApiKeyLabel: "Chave de API", + openAiCompatibleApiKeyPlaceholder: "Digite sua chave de API", + openAiCompatibleModelDimensionLabel: "Dimensão de Embedding:", + modelDimensionLabel: "Dimensão do Modelo", + openAiCompatibleModelDimensionPlaceholder: "ex., 1536", + openAiCompatibleModelDimensionDescription: + "A dimensão de embedding (tamanho de saída) para seu modelo. Verifique a documentação do seu provedor para este valor. Valores comuns: 384, 768, 1536, 3072.", + modelLabel: "Modelo", + selectModelPlaceholder: "Selecionar modelo", + ollamaUrlLabel: "URL Ollama:", + qdrantUrlLabel: "URL Qdrant", + qdrantKeyLabel: "Chave Qdrant:", + startIndexingButton: "Iniciar", + clearIndexDataButton: "Limpar Índice", + unsavedSettingsMessage: "Por favor, salve suas configurações antes de iniciar o processo de indexação.", + clearDataDialog: { + title: "Tem certeza?", + description: + "Esta ação não pode ser desfeita. Isso excluirá permanentemente os dados de índice da sua base de código.", + cancelButton: "Cancelar", + confirmButton: "Limpar Dados", + }, + description: + "Configure as configurações de indexação da base de código para habilitar a pesquisa semântica do seu projeto. <0>Saiba mais</0>", + statusTitle: "Status", + settingsTitle: "Configurações de Indexação", + disabledMessage: + "A indexação da base de código está atualmente desativada. Ative-a nas configurações globais para configurar as opções de indexação.", + embedderProviderLabel: "Provedor de Embedder", + modelPlaceholder: "Insira o nome do modelo", + selectModel: "Selecione um modelo", + ollamaBaseUrlLabel: "URL Base do Ollama", + qdrantApiKeyLabel: "Chave da API Qdrant", + qdrantApiKeyPlaceholder: "Insira sua chave da API Qdrant (opcional)", + setupConfigLabel: "Configuração", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Falha ao salvar configurações", + modelDimensions: "({{dimension}} dimensões)", + saveSuccess: "Configurações salvas com sucesso", + saving: "Salvando...", + saveSettings: "Salvar", + indexingStatuses: { standby: "Em espera", indexing: "Indexando", indexed: "Indexado", error: "Erro" }, + close: "Fechar", + validation: { + invalidQdrantUrl: "URL do Qdrant inválida", + invalidOllamaUrl: "URL do Ollama inválida", + invalidBaseUrl: "URL base inválida", + qdrantUrlRequired: "A URL do Qdrant é obrigatória", + openaiApiKeyRequired: "A chave de API da OpenAI é obrigatória", + modelSelectionRequired: "A seleção do modelo é obrigatória", + apiKeyRequired: "A chave de API é obrigatória", + modelIdRequired: "O ID do modelo é obrigatório", + modelDimensionRequired: "A dimensão do modelo é obrigatória", + geminiApiKeyRequired: "A chave de API do Gemini é obrigatória", + mistralApiKeyRequired: "A chave de API Mistral é obrigatória", + ollamaBaseUrlRequired: "A URL base do Ollama é obrigatória", + baseUrlRequired: "A URL base é obrigatória", + modelDimensionMinValue: "A dimensão do modelo deve ser maior que 0", + }, + advancedConfigLabel: "Configuração Avançada", + searchMinScoreLabel: "Limite de pontuação de busca", + searchMinScoreDescription: + "Pontuação mínima de similaridade (0.0-1.0) necessária para os resultados da busca. Valores mais baixos retornam mais resultados, mas podem ser menos relevantes. Valores mais altos retornam menos resultados, mas mais relevantes.", + searchMinScoreResetTooltip: "Redefinir para o valor padrão (0.4)", + searchMaxResultsLabel: "Resultados máximos de busca", + searchMaxResultsDescription: + "Número máximo de resultados de busca a retornar ao consultar o índice de código. Valores mais altos fornecem mais contexto, mas podem incluir resultados menos relevantes.", + resetToDefault: "Redefinir para o padrão", + }, + YNe = { + description: + "Permitir que o Roo realize operações automaticamente sem exigir aprovação. Ative essas configurações apenas se confiar totalmente na IA e compreender os riscos de segurança associados.", + enabled: "Aprovação automática habilitada", + toggleAriaLabel: "Alternar aprovação automática", + disabledAriaLabel: "Aprovação automática desativada - selecione as opções primeiro", + readOnly: { + label: "Leitura", + description: + "Quando ativado, o Roo visualizará automaticamente o conteúdo do diretório e lerá arquivos sem que você precise clicar no botão Aprovar.", + outsideWorkspace: { + label: "Incluir arquivos fora do espaço de trabalho", + description: "Permitir que o Roo leia arquivos fora do espaço de trabalho atual sem exigir aprovação.", + }, + }, + write: { + label: "Escrita", + description: "Criar e editar arquivos automaticamente sem exigir aprovação", + delayLabel: "Atraso após escritas para permitir que diagnósticos detectem problemas potenciais", + outsideWorkspace: { + label: "Incluir arquivos fora do espaço de trabalho", + description: + "Permitir que o Roo crie e edite arquivos fora do espaço de trabalho atual sem exigir aprovação.", + }, + protected: { + label: "Incluir arquivos protegidos", + description: + "Permitir que o Roo crie e edite arquivos protegidos (como .rooignore e arquivos de configuração .roo/) sem exigir aprovação.", + }, + }, + browser: { + label: "Navegador", + description: + "Realizar ações do navegador automaticamente sem exigir aprovação. Nota: Aplica-se apenas quando o modelo suporta uso do computador", + }, + retry: { + label: "Tentar novamente", + description: + "Tentar novamente automaticamente requisições de API com falha quando o servidor retorna uma resposta de erro", + delayLabel: "Atraso antes de tentar novamente a requisição", + }, + mcp: { + label: "MCP", + description: + 'Ativar aprovação automática de ferramentas MCP individuais na visualização de Servidores MCP (requer tanto esta configuração quanto a caixa de seleção "Permitir sempre" da ferramenta)', + }, + modeSwitch: { + label: "Modo", + description: "Alternar automaticamente entre diferentes modos sem exigir aprovação", + }, + subtasks: { + label: "Subtarefas", + description: "Permitir a criação e conclusão de subtarefas sem exigir aprovação", + }, + followupQuestions: { + label: "Pergunta", + description: + "Selecionar automaticamente a primeira resposta sugerida para perguntas de acompanhamento após o tempo limite configurado", + timeoutLabel: "Tempo de espera antes de selecionar automaticamente a primeira resposta", + }, + execute: { + label: "Executar", + description: "Executar automaticamente comandos de terminal permitidos sem exigir aprovação", + allowedCommands: "Comandos de auto-execução permitidos", + allowedCommandsDescription: + 'Prefixos de comando que podem ser auto-executados quando "Aprovar sempre operações de execução" está ativado. Adicione * para permitir todos os comandos (use com cautela).', + deniedCommands: "Comandos negados", + deniedCommandsDescription: + "Prefixos de comandos que serão automaticamente negados sem pedir aprovação. Em caso de conflitos com comandos permitidos, a correspondência de prefixo mais longa tem precedência. Adicione * para negar todos os comandos.", + commandPlaceholder: "Digite o prefixo do comando (ex. 'git ')", + deniedCommandPlaceholder: "Digite o prefixo do comando para negar (ex. 'rm -rf')", + addButton: "Adicionar", + autoDenied: + "Comandos com o prefixo `{{prefix}}` foram proibidos pelo usuário. Não contorne esta restrição executando outro comando.", + }, + updateTodoList: { label: "Todo", description: "A lista de tarefas é atualizada automaticamente sem aprovação" }, + apiRequestLimit: { + title: "Máximo de Solicitações", + description: + "Fazer automaticamente este número de requisições à API antes de pedir aprovação para continuar com a tarefa.", + unlimited: "Ilimitado", + }, + selectOptionsFirst: "Selecione pelo menos uma opção abaixo para habilitar a aprovação automática", + apiCostLimit: { title: "Custo máximo", unlimited: "Ilimitado" }, + maxLimits: { + description: + "Fazer solicitações automaticamente até estes limites antes de pedir aprovação para continuar.", + }, + }, + XNe = JSON.parse( + `{"providerDocumentation":"Documentação do {{provider}}","configProfile":"Perfil de configuração","description":"Salve diferentes configurações de API para alternar rapidamente entre provedores e configurações.","apiProvider":"Provedor de API","model":"Modelo","nameEmpty":"O nome não pode estar vazio","nameExists":"Já existe um perfil com este nome","deleteProfile":"Excluir perfil","invalidArnFormat":"Formato de ARN inválido. Verifique os exemplos acima.","enterNewName":"Digite um novo nome","addProfile":"Adicionar perfil","renameProfile":"Renomear perfil","newProfile":"Novo perfil de configuração","enterProfileName":"Digite o nome do perfil","createProfile":"Criar perfil","cannotDeleteOnlyProfile":"Não é possível excluir o único perfil","searchPlaceholder":"Pesquisar perfis","searchProviderPlaceholder":"Pesquisar provedores","noProviderMatchFound":"Nenhum provedor encontrado","noMatchFound":"Nenhum perfil correspondente encontrado","vscodeLmDescription":"A API do Modelo de Linguagem do VS Code permite executar modelos fornecidos por outras extensões do VS Code (incluindo, mas não se limitando, ao GitHub Copilot). A maneira mais fácil de começar é instalar as extensões Copilot e Copilot Chat no VS Code Marketplace.","awsCustomArnUse":"Insira um ARN Amazon Bedrock válido para o modelo que deseja usar. Exemplos de formato:","awsCustomArnDesc":"Certifique-se de que a região no ARN corresponde à região AWS selecionada acima.","openRouterApiKey":"Chave de API OpenRouter","getOpenRouterApiKey":"Obter chave de API OpenRouter","apiKeyStorageNotice":"As chaves de API são armazenadas com segurança no Armazenamento Secreto do VSCode","glamaApiKey":"Chave de API Glama","getGlamaApiKey":"Obter chave de API Glama","useCustomBaseUrl":"Usar URL base personalizado","useReasoning":"Habilitar raciocínio","useHostHeader":"Usar cabeçalho Host personalizado","useLegacyFormat":"Usar formato de API OpenAI legado","customHeaders":"Cabeçalhos personalizados","headerName":"Nome do cabeçalho","headerValue":"Valor do cabeçalho","noCustomHeaders":"Nenhum cabeçalho personalizado definido. Clique no botão + para adicionar um.","requestyApiKey":"Chave de API Requesty","refreshModels":{"label":"Atualizar modelos","hint":"Por favor, reabra as configurações para ver os modelos mais recentes.","loading":"Atualizando lista de modelos...","success":"Lista de modelos atualizada com sucesso!","error":"Falha ao atualizar a lista de modelos. Por favor, tente novamente."},"getRequestyApiKey":"Obter chave de API Requesty","openRouterTransformsText":"Comprimir prompts e cadeias de mensagens para o tamanho do contexto (<a>Transformações OpenRouter</a>)","anthropicApiKey":"Chave de API Anthropic","getAnthropicApiKey":"Obter chave de API Anthropic","anthropicUseAuthToken":"Passar a chave de API Anthropic como cabeçalho Authorization em vez de X-Api-Key","cerebrasApiKey":"Chave de API Cerebras","getCerebrasApiKey":"Obter chave de API Cerebras","chutesApiKey":"Chave de API Chutes","getChutesApiKey":"Obter chave de API Chutes","fireworksApiKey":"Chave de API Fireworks","getFireworksApiKey":"Obter chave de API Fireworks","deepSeekApiKey":"Chave de API DeepSeek","getDeepSeekApiKey":"Obter chave de API DeepSeek","doubaoApiKey":"Chave de API Doubao","getDoubaoApiKey":"Obter chave de API Doubao","moonshotApiKey":"Chave de API Moonshot","getMoonshotApiKey":"Obter chave de API Moonshot","moonshotBaseUrl":"Ponto de entrada Moonshot","zaiApiKey":"Chave de API Z AI","getZaiApiKey":"Obter chave de API Z AI","zaiEntrypoint":"Ponto de entrada Z AI","zaiEntrypointDescription":"Selecione o ponto de entrada da API apropriado com base na sua localização. Se você estiver na China, escolha open.bigmodel.cn. Caso contrário, escolha api.z.ai.","geminiApiKey":"Chave de API Gemini","getGroqApiKey":"Obter chave de API Groq","groqApiKey":"Chave de API Groq","getSambaNovaApiKey":"Obter chave de API SambaNova","sambaNovaApiKey":"Chave de API SambaNova","getGeminiApiKey":"Obter chave de API Gemini","getHuggingFaceApiKey":"Obter chave de API Hugging Face","huggingFaceApiKey":"Chave de API Hugging Face","huggingFaceModelId":"ID do modelo","huggingFaceLoading":"Carregando...","huggingFaceModelsCount":"({{count}} modelos)","huggingFaceSelectModel":"Selecionar um modelo...","huggingFaceSearchModels":"Buscar modelos...","huggingFaceNoModelsFound":"Nenhum modelo encontrado","huggingFaceProvider":"Provedor","huggingFaceProviderAuto":"Automático","huggingFaceSelectProvider":"Selecionar um provedor...","huggingFaceSearchProviders":"Buscar provedores...","huggingFaceNoProvidersFound":"Nenhum provedor encontrado","apiKey":"Chave de API","openAiApiKey":"Chave de API OpenAI","openAiBaseUrl":"URL Base","getOpenAiApiKey":"Obter chave de API OpenAI","mistralApiKey":"Chave de API Mistral","getMistralApiKey":"Obter chave de API Mistral / Codestral","codestralBaseUrl":"URL Base Codestral (Opcional)","codestralBaseUrlDesc":"Defina uma URL alternativa para o modelo Codestral.","xaiApiKey":"Chave de API xAI","getXaiApiKey":"Obter chave de API xAI","litellmApiKey":"Chave API LiteLLM","litellmBaseUrl":"URL base LiteLLM","awsCredentials":"Credenciais AWS","awsProfile":"Perfil AWS","awsApiKey":"Chave de API Amazon Bedrock","awsProfileName":"Nome do Perfil AWS","awsAccessKey":"Chave de Acesso AWS","awsSecretKey":"Chave Secreta AWS","awsSessionToken":"Token de Sessão AWS","awsRegion":"Região AWS","awsCrossRegion":"Usar inferência entre regiões","awsBedrockVpc":{"useCustomVpcEndpoint":"Usar endpoint VPC personalizado","vpcEndpointUrlPlaceholder":"Digite a URL do endpoint VPC (opcional)","examples":"Exemplos:"},"enablePromptCaching":"Ativar cache de prompts","enablePromptCachingTitle":"Ativar cache de prompts para melhorar o desempenho e reduzir custos para modelos suportados.","cacheUsageNote":"Nota: Se você não vir o uso do cache, tente selecionar um modelo diferente e depois selecionar novamente o modelo desejado.","vscodeLmModel":"Modelo de Linguagem","vscodeLmWarning":"Nota: Esta é uma integração muito experimental e o suporte do provedor pode variar. Se você receber um erro sobre um modelo não ser suportado, isso é um problema do lado do provedor.","geminiParameters":{"urlContext":{"title":"Ativar contexto de URL","description":"Permite que o Gemini acesse e processe URLs para contexto adicional ao gerar respostas. Útil para tarefas que exijam análise de conteúdo da web."},"groundingSearch":{"title":"Ativar grounding com pesquisa no Google","description":"Permite que o Gemini pesquise informações atuais no Google e fundamente as respostas em dados em tempo real. Útil para consultas que requerem informações atualizadas."}},"googleCloudSetup":{"title":"Para usar o Google Cloud Vertex AI, você precisa:","step1":"1. Criar uma conta Google Cloud, ativar a API Vertex AI e ativar os modelos Claude desejados.","step2":"2. Instalar o CLI do Google Cloud e configurar as credenciais padrão do aplicativo.","step3":"3. Ou criar uma conta de serviço com credenciais."},"googleCloudCredentials":"Credenciais Google Cloud","googleCloudKeyFile":"Caminho do Arquivo de Chave Google Cloud","googleCloudProjectId":"ID do Projeto Google Cloud","googleCloudRegion":"Região Google Cloud","lmStudio":{"baseUrl":"URL Base (opcional)","modelId":"ID do Modelo","speculativeDecoding":"Ativar Decodificação Especulativa","draftModelId":"ID do Modelo de Rascunho","draftModelDesc":"O modelo de rascunho deve ser da mesma família de modelos para que a decodificação especulativa funcione corretamente.","selectDraftModel":"Selecionar Modelo de Rascunho","noModelsFound":"Nenhum modelo de rascunho encontrado. Certifique-se de que o LM Studio esteja em execução com o Modo Servidor ativado.","description":"O LM Studio permite que você execute modelos localmente em seu computador. Para instruções sobre como começar, veja o <a>guia de início rápido</a> deles. Você também precisará iniciar o recurso de <b>servidor local</b> do LM Studio para usá-lo com esta extensão. <span>Nota:</span> O Roo Code usa prompts complexos e funciona melhor com modelos Claude. Modelos menos capazes podem não funcionar como esperado."},"ollama":{"baseUrl":"URL Base (opcional)","modelId":"ID do Modelo","description":"O Ollama permite que você execute modelos localmente em seu computador. Para instruções sobre como começar, veja o guia de início rápido deles.","warning":"Nota: O Roo Code usa prompts complexos e funciona melhor com modelos Claude. Modelos menos capazes podem não funcionar como esperado."},"unboundApiKey":"Chave de API Unbound","getUnboundApiKey":"Obter chave de API Unbound","unboundRefreshModelsSuccess":"Lista de modelos atualizada! Agora você pode selecionar entre os modelos mais recentes.","unboundInvalidApiKey":"Chave API inválida. Por favor, verifique sua chave API e tente novamente.","humanRelay":{"description":"Não é necessária chave de API, mas o usuário precisa ajudar a copiar e colar as informações para a IA do chat web.","instructions":"Durante o uso, uma caixa de diálogo será exibida e a mensagem atual será copiada para a área de transferência automaticamente. Você precisa colar isso nas versões web de IA (como ChatGPT ou Claude), depois copiar a resposta da IA de volta para a caixa de diálogo e clicar no botão confirmar."},"openRouter":{"providerRouting":{"title":"Roteamento de Provedores OpenRouter","description":"OpenRouter direciona solicitações para os melhores provedores disponíveis para seu modelo. Por padrão, as solicitações são balanceadas entre os principais provedores para maximizar o tempo de atividade. No entanto, você pode escolher um provedor específico para usar com este modelo.","learnMore":"Saiba mais sobre roteamento de provedores"}},"customModel":{"capabilities":"Configure as capacidades e preços para seu modelo personalizado compatível com OpenAI. Tenha cuidado ao especificar as capacidades do modelo, pois elas podem afetar como o Roo Code funciona.","maxTokens":{"label":"Máximo de Tokens de Saída","description":"Número máximo de tokens que o modelo pode gerar em uma resposta. (Especifique -1 para permitir que o servidor defina o máximo de tokens.)"},"contextWindow":{"label":"Tamanho da Janela de Contexto","description":"Total de tokens (entrada + saída) que o modelo pode processar."},"imageSupport":{"label":"Suporte a Imagens","description":"Este modelo é capaz de processar e entender imagens?"},"computerUse":{"label":"Uso do Computador","description":"Este modelo é capaz de interagir com um navegador? (ex. Claude 3.7 Sonnet)."},"promptCache":{"label":"Cache de Prompts","description":"Este modelo é capaz de fazer cache de prompts?"},"pricing":{"input":{"label":"Preço de Entrada","description":"Custo por milhão de tokens na entrada/prompt. Isso afeta o custo de enviar contexto e instruções para o modelo."},"output":{"label":"Preço de Saída","description":"Custo por milhão de tokens na resposta do modelo. Isso afeta o custo do conteúdo gerado e das conclusões."},"cacheReads":{"label":"Preço de Leituras de Cache","description":"Custo por milhão de tokens para leitura do cache. Este é o preço cobrado quando uma resposta em cache é recuperada."},"cacheWrites":{"label":"Preço de Escritas de Cache","description":"Custo por milhão de tokens para escrita no cache. Este é o preço cobrado quando um prompt é armazenado em cache pela primeira vez."}},"resetDefaults":"Restaurar Padrões"},"rateLimitSeconds":{"label":"Limite de taxa","description":"Tempo mínimo entre requisições de API."},"consecutiveMistakeLimit":{"label":"Limite de Erros e Repetições","description":"Número de erros consecutivos ou ações repetidas antes de exibir o diálogo 'Roo está com problemas'","unlimitedDescription":"Tentativas ilimitadas ativadas (prosseguimento automático). O diálogo nunca aparecerá.","warning":"⚠️ Definir como 0 permite tentativas ilimitadas, o que pode consumir um uso significativo da API"},"reasoningEffort":{"label":"Esforço de raciocínio do modelo","high":"Alto","medium":"Médio","low":"Baixo"},"setReasoningLevel":"Habilitar esforço de raciocínio","claudeCode":{"pathLabel":"Caminho do Claude Code","description":"Caminho opcional para o seu Claude Code CLI. O padrão é 'claude' se não for definido.","placeholder":"Padrão: claude","maxTokensLabel":"Tokens de saída máximos","maxTokensDescription":"Número máximo de tokens de saída para respostas do Claude Code. O padrão é 8000."}}`, + ), + JNe = { + enable: { + label: "Ativar ferramenta de navegador", + description: + "Quando ativado, o Roo pode usar um navegador para interagir com sites ao usar modelos que suportam o uso do computador. <0>Saiba mais</0>", + }, + viewport: { + label: "Tamanho da viewport", + description: + "Selecione o tamanho da viewport para interações do navegador. Isso afeta como os sites são exibidos e como se interage com eles.", + options: { + largeDesktop: "Desktop grande (1280x800)", + smallDesktop: "Desktop pequeno (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Móvel (360x640)", + }, + }, + screenshotQuality: { + label: "Qualidade das capturas de tela", + description: + "Ajuste a qualidade WebP das capturas de tela do navegador. Valores mais altos fornecem capturas mais nítidas, mas aumentam o uso de token.", + }, + remote: { + label: "Usar conexão remota de navegador", + description: + "Conectar a um navegador Chrome executando com depuração remota ativada (--remote-debugging-port=9222).", + urlPlaceholder: "URL personalizado (ex. http://localhost:9222)", + testButton: "Testar conexão", + testingButton: "Testando...", + instructions: + "Digite o endereço do host do protocolo DevTools ou deixe em branco para descobrir automaticamente instâncias locais do Chrome. O botão Testar Conexão tentará usar o URL personalizado, se fornecido, ou descobrirá automaticamente se o campo estiver vazio.", + }, + }, + eOe = { + enable: { + label: "Ativar pontos de verificação automáticos", + description: + "Quando ativado, o Roo criará automaticamente pontos de verificação durante a execução de tarefas, facilitando a revisão de alterações ou o retorno a estados anteriores. <0>Saiba mais</0>", + }, + }, + tOe = { + sound: { + label: "Ativar efeitos sonoros", + description: "Quando ativado, o Roo reproduzirá efeitos sonoros para notificações e eventos.", + volumeLabel: "Volume", + }, + tts: { + label: "Ativar texto para fala", + description: "Quando ativado, o Roo lerá em voz alta suas respostas usando texto para fala.", + speedLabel: "Velocidade", + }, + }, + nOe = { + description: + "Controle quais informações são incluídas na janela de contexto da IA, afetando o uso de token e a qualidade da resposta", + autoCondenseContextPercent: { + label: "Limite para acionar a condensação inteligente de contexto", + description: "Quando a janela de contexto atingir este limite, o Roo a condensará automaticamente.", + }, + condensingApiConfiguration: { + label: "Configuração de API para Condensação de Contexto", + description: + "Selecione qual configuração de API usar para operações de condensação de contexto. Deixe desmarcado para usar a configuração ativa atual.", + useCurrentConfig: "Padrão", + }, + customCondensingPrompt: { + label: "Prompt Personalizado de Condensação de Contexto", + description: + "Prompt de sistema personalizado para condensação de contexto. Deixe em branco para usar o prompt padrão.", + placeholder: `Digite seu prompt de condensação personalizado aqui... + +Você pode usar a mesma estrutura do prompt padrão: +- Conversa Anterior +- Trabalho Atual +- Conceitos Técnicos Principais +- Arquivos e Código Relevantes +- Resolução de Problemas +- Tarefas Pendentes e Próximos Passos`, + reset: "Restaurar Padrão", + hint: "Vazio = usar prompt padrão", + }, + autoCondenseContext: { + name: "Acionar automaticamente a condensação inteligente de contexto", + description: + "Quando habilitado, o Roo condensará automaticamente o contexto quando o limite for atingido. Quando desabilitado, você ainda pode acionar manualmente a condensação de contexto.", + }, + openTabs: { + label: "Limite de contexto de abas abertas", + description: + "Número máximo de abas abertas do VSCode a incluir no contexto. Valores mais altos fornecem mais contexto, mas aumentam o uso de token.", + }, + workspaceFiles: { + label: "Limite de contexto de arquivos do espaço de trabalho", + description: + "Número máximo de arquivos a incluir nos detalhes do diretório de trabalho atual. Valores mais altos fornecem mais contexto, mas aumentam o uso de token.", + }, + rooignore: { + label: "Mostrar arquivos .rooignore em listas e pesquisas", + description: + "Quando ativado, os arquivos que correspondem aos padrões em .rooignore serão mostrados em listas com um símbolo de cadeado. Quando desativado, esses arquivos serão completamente ocultos das listas de arquivos e pesquisas.", + }, + maxReadFile: { + label: "Limite de auto-truncamento de leitura de arquivo", + description: + "O Roo lê este número de linhas quando o modelo omite valores de início/fim. Se este número for menor que o total do arquivo, o Roo gera um índice de números de linha das definições de código. Casos especiais: -1 instrui o Roo a ler o arquivo inteiro (sem indexação), e 0 instrui a não ler linhas e fornecer apenas índices de linha para contexto mínimo. Valores mais baixos minimizam o uso inicial de contexto, permitindo leituras posteriores precisas de intervalos de linhas. Requisições com início/fim explícitos não são limitadas por esta configuração.", + lines: "linhas", + always_full_read: "Sempre ler o arquivo inteiro", + }, + maxConcurrentFileReads: { + label: "Limite de leituras simultâneas", + description: + "Número máximo de arquivos que a ferramenta 'read_file' pode processar simultaneamente. Valores mais altos podem acelerar a leitura de vários arquivos pequenos, mas aumentam o uso de memória.", + }, + diagnostics: { + includeMessages: { + label: "Incluir diagnósticos automaticamente no contexto", + description: + "Quando ativado, mensagens de diagnóstico (erros) de arquivos editados serão automaticamente incluídas no contexto. Você sempre pode incluir manualmente todos os diagnósticos do espaço de trabalho usando @problems.", + }, + maxMessages: { + label: "Máximo de mensagens de diagnóstico", + description: + "Número máximo de mensagens de diagnóstico a serem incluídas por arquivo. Este limite se aplica tanto à inclusão automática (quando a caixa de seleção está ativada) quanto às menções manuais de @problems. Valores mais altos fornecem mais contexto, mas aumentam o uso de tokens.", + resetTooltip: "Redefinir para o valor padrão (50)", + unlimited: "Mensagens de diagnóstico ilimitadas", + unlimitedLabel: "Ilimitado", + }, + delayAfterWrite: { + label: "Atraso após as gravações para permitir que os diagnósticos detectem possíveis problemas", + description: + "Tempo de espera após a gravação de arquivos antes de prosseguir, permitindo que as ferramentas de diagnóstico processem as alterações e detectem problemas.", + }, + }, + condensingThreshold: { + label: "Limite de Ativação de Condensação", + selectProfile: "Configurar limite para perfil", + defaultProfile: "Padrão Global (todos os perfis)", + defaultDescription: + "Quando o contexto atingir essa porcentagem, será automaticamente condensado para todos os perfis, a menos que tenham configurações personalizadas", + profileDescription: "Limite personalizado apenas para este perfil (substitui o padrão global)", + inheritDescription: "Este perfil herda o limite padrão global ({{threshold}}%)", + usesGlobal: "(usa global {{threshold}}%)", + }, + maxImageFileSize: { + label: "Tamanho máximo do arquivo de imagem", + mb: "MB", + description: + "Tamanho máximo (em MB) para arquivos de imagem que podem ser processados pela ferramenta de leitura de arquivos.", + }, + maxTotalImageSize: { + label: "Tamanho total máximo da imagem", + mb: "MB", + description: + "Limite máximo de tamanho cumulativo (em MB) para todas as imagens processadas em uma única operação read_file. Ao ler várias imagens, o tamanho de cada imagem é adicionado ao total. Se incluir outra imagem exceder esse limite, ela será ignorada.", + }, + }, + oOe = { + basic: { label: "Configurações do terminal: Básicas", description: "Configurações básicas do terminal" }, + advanced: { + label: "Configurações do terminal: Avançadas", + description: "As seguintes opções podem exigir reiniciar o terminal para aplicar a configuração.", + }, + outputLineLimit: { + label: "Limite de saída do terminal", + description: + "Número máximo de linhas a incluir na saída do terminal ao executar comandos. Quando excedido, as linhas serão removidas do meio, economizando token. <0>Saiba mais</0>", + }, + outputCharacterLimit: { + label: "Limite de caracteres do terminal", + description: + "Número máximo de caracteres a serem incluídos na saída do terminal ao executar comandos. Este limite tem precedência sobre o limite de linhas para evitar problemas de memória com linhas extremamente longas. Quando excedido, a saída será truncada. <0>Saiba mais</0>", + }, + shellIntegrationTimeout: { + label: "Tempo limite de integração do shell do terminal", + description: + 'Tempo máximo de espera para a inicialização da integração do shell antes de executar comandos. Para usuários com tempos de inicialização de shell longos, este valor pode precisar ser aumentado se você vir erros "Shell Integration Unavailable" no terminal. <0>Saiba mais</0>', + }, + shellIntegrationDisabled: { + label: "Desativar integração do shell do terminal", + description: + "Ative isso se os comandos do terminal não estiverem funcionando corretamente ou se você vir erros de 'Shell Integration Unavailable'. Isso usa um método mais simples para executar comandos, ignorando alguns recursos avançados do terminal. <0>Saiba mais</0>", + }, + commandDelay: { + label: "Atraso de comando do terminal", + description: + "Atraso em milissegundos para adicionar após a execução do comando. A configuração padrão de 0 desativa completamente o atraso. Isso pode ajudar a garantir que a saída do comando seja totalmente capturada em terminais com problemas de temporização. Na maioria dos terminais, isso é implementado definindo `PROMPT_COMMAND='sleep N'` e o PowerShell adiciona `start-sleep` ao final de cada comando. Originalmente era uma solução para o bug VSCode#237208 e pode não ser necessário. <0>Saiba mais</0>", + }, + compressProgressBar: { + label: "Comprimir saída de barras de progresso", + description: + "Quando ativado, processa a saída do terminal com retornos de carro (\\r) para simular como um terminal real exibiria o conteúdo. Isso remove os estados intermediários das barras de progresso, mantendo apenas o estado final, o que conserva espaço de contexto para informações mais relevantes. <0>Saiba mais</0>", + }, + powershellCounter: { + label: "Ativar solução alternativa do contador PowerShell", + description: + "Quando ativado, adiciona um contador aos comandos PowerShell para garantir a execução correta dos comandos. Isso ajuda com terminais PowerShell que podem ter problemas com a captura de saída. <0>Saiba mais</0>", + }, + zshClearEolMark: { + label: "Limpar marca de fim de linha do ZSH", + description: + "Quando ativado, limpa a marca de fim de linha do ZSH definindo PROMPT_EOL_MARK=''. Isso evita problemas com a interpretação da saída de comandos quando termina com caracteres especiais como '%'. <0>Saiba mais</0>", + }, + zshOhMy: { + label: "Ativar integração Oh My Zsh", + description: + "Quando ativado, define ITERM_SHELL_INTEGRATION_INSTALLED=Yes para habilitar os recursos de integração do shell Oh My Zsh. A aplicação desta configuração pode exigir a reinicialização do IDE. <0>Saiba mais</0>", + }, + zshP10k: { + label: "Ativar integração Powerlevel10k", + description: + "Quando ativado, define POWERLEVEL9K_TERM_SHELL_INTEGRATION=true para habilitar os recursos de integração do shell Powerlevel10k. <0>Saiba mais</0>", + }, + zdotdir: { + label: "Ativar gerenciamento do ZDOTDIR", + description: + "Quando ativado, cria um diretório temporário para o ZDOTDIR para lidar corretamente com a integração do shell zsh. Isso garante que a integração do shell do VSCode funcione corretamente com o zsh enquanto preserva sua configuração do zsh. <0>Saiba mais</0>", + }, + inheritEnv: { + label: "Herdar variáveis de ambiente", + description: + "Quando ativado, o terminal herda variáveis de ambiente do processo pai do VSCode, como configurações de integração do shell definidas no perfil do usuário. Isso alterna diretamente a configuração global do VSCode `terminal.integrated.inheritEnv`. <0>Saiba mais</0>", + }, + }, + rOe = { title: "Configurações avançadas" }, + iOe = { + diff: { + label: "Ativar edição através de diffs", + description: + "Quando ativado, o Roo poderá editar arquivos mais rapidamente e rejeitará automaticamente escritas completas de arquivos truncados. Funciona melhor com o modelo mais recente Claude 3.7 Sonnet.", + strategy: { + label: "Estratégia de diff", + options: { + standard: "Padrão (Bloco único)", + multiBlock: "Experimental: Diff multi-bloco", + unified: "Experimental: Diff unificado", + }, + descriptions: { + standard: "A estratégia de diff padrão aplica alterações a um único bloco de código por vez.", + unified: + "A estratégia de diff unificado adota várias abordagens para aplicar diffs e escolhe a melhor abordagem.", + multiBlock: + "A estratégia de diff multi-bloco permite atualizar vários blocos de código em um arquivo em uma única requisição.", + }, + }, + matchPrecision: { + label: "Precisão de correspondência", + description: + "Este controle deslizante controla quão precisamente as seções de código devem corresponder ao aplicar diffs. Valores mais baixos permitem correspondências mais flexíveis, mas aumentam o risco de substituições incorretas. Use valores abaixo de 100% com extrema cautela.", + }, + }, + todoList: { + label: "Habilitar ferramenta de lista de tarefas", + description: + "Quando habilitado, o Roo pode criar e gerenciar listas de tarefas para acompanhar o progresso das tarefas. Isso ajuda a organizar tarefas complexas em etapas gerenciáveis.", + }, + }, + sOe = { + DIFF_STRATEGY_UNIFIED: { + name: "Usar estratégia diff unificada experimental", + description: + "Ativar a estratégia diff unificada experimental. Esta estratégia pode reduzir o número de novas tentativas causadas por erros do modelo, mas pode causar comportamento inesperado ou edições incorretas. Ative apenas se compreender os riscos e estiver disposto a revisar cuidadosamente todas as alterações.", + }, + SEARCH_AND_REPLACE: { + name: "Usar ferramenta de busca e substituição experimental", + description: + "Ativar a ferramenta de busca e substituição experimental, permitindo que o Roo substitua várias instâncias de um termo de busca em uma única solicitação.", + }, + INSERT_BLOCK: { + name: "Usar ferramenta de inserção de conteúdo experimental", + description: + "Ativar a ferramenta de inserção de conteúdo experimental, permitindo que o Roo insira conteúdo em números de linha específicos sem precisar criar um diff.", + }, + POWER_STEERING: { + name: 'Usar modo "direção assistida" experimental', + description: + "Quando ativado, o Roo lembrará o modelo sobre os detalhes da sua definição de modo atual com mais frequência. Isso levará a uma adesão mais forte às definições de função e instruções personalizadas, mas usará mais tokens por mensagem.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Usar ferramenta diff de múltiplos blocos experimental", + description: + "Quando ativado, o Roo usará a ferramenta diff de múltiplos blocos. Isso tentará atualizar vários blocos de código no arquivo em uma única solicitação.", + }, + CONCURRENT_FILE_READS: { + name: "Habilitar leitura simultânea de arquivos", + description: + "Quando habilitado, o Roo pode ler vários arquivos em uma única solicitação. Quando desabilitado, o Roo deve ler arquivos um de cada vez. Desabilitar pode ajudar ao trabalhar com modelos menos capazes ou quando você deseja mais controle sobre o acesso aos arquivos.", + }, + MARKETPLACE: { + name: "Ativar Marketplace", + description: "Quando ativado, você pode instalar MCPs e modos personalizados do Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Habilitar edições de arquivos concorrentes", + description: + "Quando habilitado, o Roo pode editar múltiplos arquivos em uma única solicitação. Quando desabilitado, o Roo deve editar arquivos um de cada vez. Desabilitar isso pode ajudar ao trabalhar com modelos menos capazes ou quando você quer mais controle sobre modificações de arquivos.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Edição em segundo plano", + description: + "Previne a interrupção do foco do editor quando habilitado. As edições de arquivos acontecem em segundo plano sem abrir visualizações de diferenças ou roubar o foco. Você pode continuar trabalhando sem interrupções enquanto o Roo faz alterações. Os arquivos podem ser abertos sem foco para capturar diagnósticos ou permanecer completamente fechados.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Usar o novo parser de mensagens", + description: + "Ativa o parser de mensagens em streaming experimental que acelera respostas longas ao processar as mensagens de forma mais eficiente.", + }, + }, + aOe = { + label: "Desativar cache de prompts", + description: "Quando marcado, o Roo não usará o cache de prompts para este modelo.", + }, + lOe = { + useCustom: "Usar temperatura personalizada", + description: "Controla a aleatoriedade nas respostas do modelo.", + rangeDescription: + "Valores mais altos tornam a saída mais aleatória, valores mais baixos a tornam mais determinística.", + }, + cOe = { + supportsImages: "Suporta imagens", + noImages: "Não suporta imagens", + supportsComputerUse: "Suporta uso do computador", + noComputerUse: "Não suporta uso do computador", + supportsPromptCache: "Suporta cache de prompts", + noPromptCache: "Não suporta cache de prompts", + maxOutput: "Saída máxima", + inputPrice: "Preço de entrada", + outputPrice: "Preço de saída", + cacheReadsPrice: "Preço de leituras de cache", + cacheWritesPrice: "Preço de escritas de cache", + enableStreaming: "Ativar streaming", + enableR1Format: "Ativar parâmetros do modelo R1", + enableR1FormatTips: "Deve ser ativado ao usar modelos R1 como QWQ, para evitar erro 400", + useAzure: "Usar Azure", + azureApiVersion: "Definir versão da API Azure", + gemini: { + freeRequests: + "* Gratuito até {{count}} requisições por minuto. Depois disso, a cobrança depende do tamanho do prompt.", + pricingDetails: "Para mais informações, consulte os detalhes de preços.", + billingEstimate: "* A cobrança é uma estimativa - o custo exato depende do tamanho do prompt.", + }, + }, + dOe = { + automaticFetch: + 'A extensão busca automaticamente a lista mais recente de modelos disponíveis em <serviceLink>{{serviceName}}</serviceLink>. Se você não tem certeza sobre qual modelo escolher, o Roo Code funciona melhor com <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Você também pode pesquisar por "free" para encontrar opções gratuitas atualmente disponíveis.', + label: "Modelo", + searchPlaceholder: "Pesquisar", + noMatchFound: "Nenhuma correspondência encontrada", + useCustomModel: "Usar personalizado: {{modelId}}", + }, + uOe = { + feedback: + "Se tiver alguma dúvida ou feedback, sinta-se à vontade para abrir um problema em <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> ou juntar-se a <redditLink>reddit.com/r/RooCode</redditLink> ou <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Permitir relatórios anônimos de erros e uso", + description: + "Ajude a melhorar o Roo Code enviando dados de uso anônimos e relatórios de erros. Nunca são enviados código, prompts ou informações pessoais. Consulte nossa política de privacidade para mais detalhes.", + }, + settings: { import: "Importar", export: "Exportar", reset: "Redefinir" }, + }, + pOe = { maxTokens: "Tokens máximos", maxThinkingTokens: "Tokens máximos de pensamento" }, + mOe = { + apiKey: "Você deve fornecer uma chave de API válida.", + awsRegion: "Você deve escolher uma região para usar o Amazon Bedrock.", + googleCloud: "Você deve fornecer um ID de projeto e região do Google Cloud válidos.", + modelId: "Você deve fornecer um ID de modelo válido.", + modelSelector: "Você deve fornecer um seletor de modelo válido.", + openAi: "Você deve fornecer uma URL base, chave de API e ID de modelo válidos.", + arn: { + invalidFormat: "Formato de ARN inválido. Por favor, verifique os requisitos de formato.", + regionMismatch: + "Aviso: A região em seu ARN ({{arnRegion}}) não corresponde à região selecionada ({{region}}). Isso pode causar problemas de acesso. O provedor usará a região do ARN.", + }, + modelAvailability: + "O ID do modelo ({{modelId}}) que você forneceu não está disponível. Por favor, escolha outro modelo.", + providerNotAllowed: "O provedor '{{provider}}' não é permitido pela sua organização", + modelNotAllowed: "O modelo '{{model}}' não é permitido para o provedor '{{provider}}' pela sua organização", + profileInvalid: "Este perfil contém um provedor ou modelo que não é permitido pela sua organização", + }, + hOe = { + apiKey: "Digite a chave API...", + profileName: "Digite o nome do perfil", + accessKey: "Digite a chave de acesso...", + secretKey: "Digite a chave secreta...", + sessionToken: "Digite o token de sessão...", + credentialsJson: "Digite o JSON de credenciais...", + keyFilePath: "Digite o caminho do arquivo de chave...", + projectId: "Digite o ID do projeto...", + customArn: "Digite o ARN (ex: arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Digite a URL base...", + modelId: { + lmStudio: "ex: meta-llama-3.1-8b-instruct", + lmStudioDraft: "ex: lmstudio-community/llama-3.2-1b-instruct", + ollama: "ex: llama3.1", + }, + numbers: { + maxTokens: "ex: 4096", + contextWindow: "ex: 128000", + inputPrice: "ex: 0.0001", + outputPrice: "ex: 0.0002", + cacheWritePrice: "ex: 0.00005", + }, + }, + fOe = { + ollamaUrl: "Padrão: http://localhost:11434", + lmStudioUrl: "Padrão: http://localhost:1234", + geminiUrl: "Padrão: https://generativelanguage.googleapis.com", + }, + gOe = { customArn: "ARN personalizado", useCustomArn: "Usar ARN personalizado..." }, + vOe = "Incluir tokens máximos de saída", + bOe = + "Enviar parâmetro de tokens máximos de saída nas solicitações de API. Alguns provedores podem não suportar isso.", + yOe = "Limitar o número máximo de tokens na resposta", + kOe = "Tokens máximos de saída", + xOe = "Tokens máximos para gerar na resposta", + gkt = { + common: KNe, + header: VNe, + unsavedChangesDialog: HNe, + sections: GNe, + prompts: QNe, + codeIndex: ZNe, + autoApprove: YNe, + providers: XNe, + browser: JNe, + checkpoints: eOe, + notifications: tOe, + contextManagement: nOe, + terminal: oOe, + advancedSettings: rOe, + advanced: iOe, + experimental: sOe, + promptCaching: aOe, + temperature: lOe, + modelInfo: cOe, + modelPicker: dOe, + footer: uOe, + thinkingBudget: pOe, + validation: mOe, + placeholders: hOe, + defaults: fOe, + labels: gOe, + includeMaxOutputTokens: vOe, + includeMaxOutputTokensDescription: bOe, + limitMaxTokensDescription: yOe, + maxOutputTokensLabel: kOe, + maxTokensGenerateDescription: xOe, + }, + vkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: iOe, + advancedSettings: rOe, + autoApprove: YNe, + browser: JNe, + checkpoints: eOe, + codeIndex: ZNe, + common: KNe, + contextManagement: nOe, + default: gkt, + defaults: fOe, + experimental: sOe, + footer: uOe, + header: VNe, + includeMaxOutputTokens: vOe, + includeMaxOutputTokensDescription: bOe, + labels: gOe, + limitMaxTokensDescription: yOe, + maxOutputTokensLabel: kOe, + maxTokensGenerateDescription: xOe, + modelInfo: cOe, + modelPicker: dOe, + notifications: tOe, + placeholders: hOe, + promptCaching: aOe, + prompts: QNe, + providers: XNe, + sections: GNe, + temperature: lOe, + terminal: oOe, + thinkingBudget: pOe, + unsavedChangesDialog: HNe, + validation: mOe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + wOe = "Bem-vindo ao Roo Code!", + _Oe = + "Com uma variedade de Modos integrados e extensíveis, o Roo Code permite que você planeje, arquitete, codifique, depure e aumente sua produtividade como nunca antes.", + COe = "Para começar, esta extensão precisa de um provedor de API.", + SOe = "Vamos lá!", + AOe = { + requesty: { description: "Seu roteador LLM otimizado", incentive: "$1 de crédito grátis" }, + openrouter: { description: "Uma interface unificada para LLMs" }, + }, + POe = "Para fazer sua mágica, o Roo precisa de uma chave API.", + ROe = "Recomendamos usar um roteador LLM:", + TOe = "Ou você pode trazer sua própria chave API:", + IOe = { + title: "Ajude a melhorar o Roo Code", + anonymousTelemetry: + "Envie dados de uso e erros anônimos para nos ajudar a corrigir bugs e melhorar a extensão. Nenhum código, texto ou informação pessoal é enviado.", + changeSettings: "Você sempre pode mudar isso na parte inferior das <settingsLink>configurações</settingsLink>", + settings: "configurações", + allow: "Permitir", + deny: "Negar", + }, + MOe = "Importar configurações", + bkt = { + greeting: wOe, + introduction: _Oe, + notice: COe, + start: SOe, + routers: AOe, + chooseProvider: POe, + startRouter: ROe, + startCustom: TOe, + telemetry: IOe, + importSettings: MOe, + }, + ykt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: POe, + default: bkt, + greeting: wOe, + importSettings: MOe, + introduction: _Oe, + notice: COe, + routers: AOe, + start: SOe, + startCustom: TOe, + startRouter: ROe, + telemetry: IOe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + jOe = "Учетная запись", + EOe = "Фото профиля", + zOe = "Выход", + $Oe = "Проверить аутентификацию API", + LOe = "Подключиться к Roo Code Cloud", + DOe = "Подключиться", + NOe = "Подключиться к Roo Code Cloud", + OOe = "Синхронизируй свои промпты и телеметрию, чтобы включить:", + FOe = "Онлайн-история задач", + BOe = "Функции обмена и совместной работы", + UOe = "Метрики использования на основе задач, токенов и затрат", + qOe = "Отслеживайте и управляйте задачами откуда угодно с Roomote Control", + WOe = "Roomote Control", + KOe = "Позволяет отслеживать и взаимодействовать с задачами в этом рабочем пространстве с Roo Code Cloud", + VOe = "Посетить Roo Code Cloud", + kkt = { + title: jOe, + profilePicture: EOe, + logOut: zOe, + testApiAuthentication: $Oe, + signIn: LOe, + connect: DOe, + cloudBenefitsTitle: NOe, + cloudBenefitsSubtitle: OOe, + cloudBenefitHistory: FOe, + cloudBenefitSharing: BOe, + cloudBenefitMetrics: UOe, + cloudBenefitWalkaway: qOe, + remoteControl: WOe, + remoteControlDescription: KOe, + visitCloudWebsite: VOe, + }, + xkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: FOe, + cloudBenefitMetrics: UOe, + cloudBenefitSharing: BOe, + cloudBenefitWalkaway: qOe, + cloudBenefitsSubtitle: OOe, + cloudBenefitsTitle: NOe, + connect: DOe, + default: kkt, + logOut: zOe, + profilePicture: EOe, + remoteControl: WOe, + remoteControlDescription: KOe, + signIn: LOe, + testApiAuthentication: $Oe, + title: jOe, + visitCloudWebsite: VOe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + HOe = "Добро пожаловать в Roo Code", + GOe = { + title: "Задача", + seeMore: "Показать больше", + seeLess: "Показать меньше", + tokens: "Токенов:", + cache: "Кэш:", + apiCost: "Стоимость API:", + contextWindow: "Длина контекста:", + closeAndStart: "Закрыть задачу и начать новую", + export: "Экспортировать историю задач", + delete: "Удалить задачу (Shift + клик для пропуска подтверждения)", + condenseContext: "Интеллектуально сжать контекст", + share: "Поделиться задачей", + shareWithOrganization: "Поделиться с организацией", + shareWithOrganizationDescription: "Только члены вашей организации могут получить доступ", + sharePublicly: "Поделиться публично", + sharePubliclyDescription: "Любой, у кого есть ссылка, может получить доступ", + connectToCloud: "Подключиться к облаку", + connectToCloudDescription: "Войди в Roo Code Cloud, чтобы делиться задачами", + sharingDisabledByOrganization: "Обмен отключен организацией", + shareSuccessOrganization: "Ссылка организации скопирована в буфер обмена", + shareSuccessPublic: "Публичная ссылка скопирована в буфер обмена", + }, + QOe = "Открепить", + ZOe = "Закрепить", + YOe = { title: "Повторить", tooltip: "Попробовать выполнить операцию снова" }, + XOe = { title: "Начать новую задачу", tooltip: "Начать новую задачу" }, + JOe = { title: "Все равно продолжить", tooltip: "Продолжить выполнение команды" }, + e2e = { title: "Сохранить", tooltip: "Сохранить изменения сообщения" }, + t2e = { + availableSpace: "Доступно места: {{amount}} токенов", + tokensUsed: "Использовано токенов: {{used}} из {{total}}", + reservedForResponse: "Зарезервировано для ответа модели: {{amount}} токенов", + }, + n2e = { title: "Отклонить", tooltip: "Отклонить это действие" }, + o2e = "Завершить подзадачу и вернуться", + r2e = { title: "Одобрить", tooltip: "Одобрить это действие" }, + i2e = { title: "Выполнить команду", tooltip: "Выполнить эту команду" }, + s2e = { title: "Продолжить во время выполнения", tooltip: "Продолжить несмотря на предупреждения" }, + a2e = { title: "Возобновить задачу", tooltip: "Продолжить текущую задачу" }, + l2e = { title: "Завершить команду", tooltip: "Завершить текущую команду" }, + c2e = { title: "Завершить", tooltip: "Завершить текущую задачу" }, + d2e = { title: "Отмена", tooltip: "Отменить текущую операцию" }, + u2e = "Прокрутить чат вниз", + p2e = + "Создавайте, рефакторите и отлаживайте код с помощью ИИ. Подробнее см. в нашей <DocsLink>документации</DocsLink>.", + m2e = { + boomerangTasks: { + title: "Оркестрация задач", + description: "Разделяйте задачи на более мелкие, управляемые части", + }, + stickyModels: { + title: "Липкие режимы", + description: "Каждый режим запоминает вашу последнюю использованную модель", + }, + tools: { + title: "Инструменты", + description: "Разрешите ИИ решать проблемы, просматривая веб-страницы, выполняя команды и т. д.", + }, + customizableModes: { + title: "Настраиваемые режимы", + description: "Специализированные персонажи с собственным поведением и назначенными моделями", + }, + }, + h2e = + "<strong>Ваш список задач в этом рабочем пространстве пуст.</strong> Начните с ввода задачи ниже. Не знаете, с чего начать? Подробнее о возможностях Roo читайте в <DocsLink>документации</DocsLink>.", + f2e = "Выберите режим взаимодействия", + g2e = "Выберите конфигурацию API", + v2e = "Улучшить запрос с дополнительным контекстом", + b2e = + "Кнопка 'Улучшить запрос' помогает сделать ваш запрос лучше, предоставляя дополнительный контекст, уточнения или переформулировку. Попробуйте ввести запрос и снова нажать кнопку, чтобы увидеть, как это работает.", + y2e = { + title: "Режимы", + marketplace: "Маркетплейс режимов", + settings: "Настройки режимов", + description: "Специализированные персоны, которые настраивают поведение Roo.", + searchPlaceholder: "Поиск режимов...", + noResults: "Ничего не найдено", + }, + k2e = "Добавить изображения к сообщению", + x2e = "Отправить сообщение", + w2e = "Остановить синтез речи", + _2e = "Введите сообщение...", + C2e = "Введите вашу задачу здесь...", + S2e = "@ для добавления контекста, / для команд", + A2e = "удерживайте shift для перетаскивания файлов", + P2e = "удерживайте shift для перетаскивания файлов/изображений", + R2e = "Ошибка чтения файла:", + T2e = "Не удалось обработать ни одно изображение", + I2e = "Разделитель", + M2e = "Редактировать...", + j2e = "для следующего режима", + E2e = "для предыдущего режима", + z2e = { + title: "API-запрос", + failed: "API-запрос не выполнен", + streaming: "API-запрос...", + cancelled: "API-запрос отменен", + streamingFailed: "Ошибка потокового API-запроса", + }, + $2e = { + regular: "Точка сохранения", + initializingWarning: + "Точка сохранения еще инициализируется... Если это занимает слишком много времени, вы можете отключить точки сохранения в <settingsLink>настройках</settingsLink> и перезапустить задачу.", + menu: { + viewDiff: "Просмотреть различия", + restore: "Восстановить точку сохранения", + restoreFiles: "Восстановить файлы", + restoreFilesDescription: "Восстанавливает файлы вашего проекта до состояния на момент этой точки.", + restoreFilesAndTask: "Восстановить файлы и задачу", + confirm: "Подтвердить", + cancel: "Отмена", + cannotUndo: "Это действие нельзя отменить.", + restoreFilesAndTaskDescription: + "Восстанавливает файлы проекта до состояния на момент этой точки и удаляет все сообщения после нее.", + }, + current: "Текущая", + }, + L2e = { wantsToFetch: "Roo хочет получить подробные инструкции для помощи с текущей задачей" }, + D2e = { + wantsToRead: "Roo хочет прочитать этот файл:", + wantsToReadOutsideWorkspace: "Roo хочет прочитать этот файл вне рабочей области:", + didRead: "Roo прочитал этот файл:", + wantsToEdit: "Roo хочет отредактировать этот файл:", + wantsToEditOutsideWorkspace: "Roo хочет отредактировать этот файл вне рабочей области:", + wantsToEditProtected: "Roo хочет отредактировать защищённый файл конфигурации:", + wantsToCreate: "Roo хочет создать новый файл:", + wantsToSearchReplace: "Roo хочет выполнить поиск и замену в этом файле:", + didSearchReplace: "Roo выполнил поиск и замену в этом файле:", + wantsToInsert: "Roo хочет вставить содержимое в этот файл:", + wantsToInsertWithLineNumber: "Roo хочет вставить содержимое в этот файл на строку {{lineNumber}}:", + wantsToInsertAtEnd: "Roo хочет добавить содержимое в конец этого файла:", + wantsToReadAndXMore: "Roo хочет прочитать этот файл и еще {{count}}:", + wantsToReadMultiple: "Roo хочет прочитать несколько файлов:", + wantsToApplyBatchChanges: "Roo хочет применить изменения к нескольким файлам:", + }, + N2e = { + wantsToViewTopLevel: "Roo хочет просмотреть файлы верхнего уровня в этой директории:", + didViewTopLevel: "Roo просмотрел файлы верхнего уровня в этой директории:", + wantsToViewRecursive: "Roo хочет рекурсивно просмотреть все файлы в этой директории:", + didViewRecursive: "Roo рекурсивно просмотрел все файлы в этой директории:", + wantsToViewDefinitions: "Roo хочет просмотреть имена определений исходного кода в этой директории:", + didViewDefinitions: "Roo просмотрел имена определений исходного кода в этой директории:", + wantsToSearch: "Roo хочет выполнить поиск в этой директории по <code>{{regex}}</code>:", + didSearch: "Roo выполнил поиск в этой директории по <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo хочет выполнить поиск в этой директории (вне рабочего пространства) по <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo выполнил поиск в этой директории (вне рабочего пространства) по <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo хочет просмотреть файлы верхнего уровня в этой директории (вне рабочего пространства):", + didViewTopLevelOutsideWorkspace: + "Roo просмотрел файлы верхнего уровня в этой директории (вне рабочего пространства):", + wantsToViewRecursiveOutsideWorkspace: + "Roo хочет рекурсивно просмотреть все файлы в этой директории (вне рабочего пространства):", + didViewRecursiveOutsideWorkspace: + "Roo рекурсивно просмотрел все файлы в этой директории (вне рабочего пространства):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo хочет просмотреть имена определений исходного кода в этой директории (вне рабочего пространства):", + didViewDefinitionsOutsideWorkspace: + "Roo просмотрел имена определений исходного кода в этой директории (вне рабочего пространства):", + }, + O2e = "Вывод команды", + F2e = { + running: "Выполняется", + pid: "PID: {{pid}}", + exited: "Завершено ({{exitCode}})", + manageCommands: "Управление разрешениями команд", + commandManagementDescription: + "Управляйте разрешениями команд: Нажмите ✓, чтобы разрешить автоматическое выполнение, ✗, чтобы запретить выполнение. Шаблоны можно включать/выключать или удалять из списков. <settingsLink>Просмотреть все настройки</settingsLink>", + addToAllowed: "Добавить в список разрешенных", + removeFromAllowed: "Удалить из списка разрешенных", + addToDenied: "Добавить в список запрещенных", + removeFromDenied: "Удалить из списка запрещенных", + abortCommand: "Прервать выполнение команды", + expandOutput: "Развернуть вывод", + collapseOutput: "Свернуть вывод", + expandManagement: "Развернуть раздел управления командами", + collapseManagement: "Свернуть раздел управления командами", + }, + B2e = "Ответ", + U2e = { + wantsToUseTool: "Roo хочет использовать инструмент на сервере MCP {{serverName}}:", + wantsToAccessResource: "Roo хочет получить доступ к ресурсу на сервере MCP {{serverName}}:", + }, + q2e = { + wantsToSwitch: "Roo хочет переключиться в режим {{mode}}", + wantsToSwitchWithReason: "Roo хочет переключиться в режим {{mode}}, потому что: {{reason}}", + didSwitch: "Roo переключился в режим {{mode}}", + didSwitchWithReason: "Roo переключился в режим {{mode}}, потому что: {{reason}}", + }, + W2e = { + wantsToCreate: "Roo хочет создать новую подзадачу в режиме {{mode}}:", + wantsToFinish: "Roo хочет завершить эту подзадачу", + newTaskContent: "Инструкции по подзадаче", + completionContent: "Подзадача завершена", + resultContent: "Результаты подзадачи", + defaultResult: "Пожалуйста, переходите к следующей задаче.", + completionInstructions: + "Подзадача завершена! Вы можете просмотреть результаты и предложить исправления или следующие шаги. Если всё в порядке, подтвердите для возврата результата в родительскую задачу.", + }, + K2e = { hasQuestion: "У Roo есть вопрос:" }, + V2e = "Задача завершена", + H2e = "Ошибка", + G2e = { title: "Не удалось выполнить редактирование" }, + Q2e = "У Roo возникли проблемы...", + Z2e = { issues: "Похоже, у вас проблемы с Windows PowerShell, пожалуйста, ознакомьтесь с этим" }, + Y2e = { + title: "Автоодобрение:", + none: "Нет", + description: + "Автоодобрение позволяет Roo Code выполнять действия без запроса разрешения. Включайте только для полностью доверенных действий. Более подробная настройка доступна в <settingsLink>Настройках</settingsLink>.", + selectOptionsFirst: "Выберите хотя бы один параметр ниже, чтобы включить автоодобрение", + toggleAriaLabel: "Переключить автоодобрение", + disabledAriaLabel: "Автоодобрение отключено - сначала выберите опции", + }, + X2e = { + title: "🎉 Выпущен Roo Code {{version}}", + description: + "Roo Code {{version}} приносит мощные новые функции и значительные улучшения для совершенствования вашего рабочего процесса разработки.", + whatsNew: "Что нового", + feature1: + "<bold>Очередь сообщений</bold>: Ставьте несколько сообщений в очередь, пока Roo работает, позволяя вам продолжать планировать рабочий процесс без прерывания.", + feature2: + "<bold>Пользовательские слэш-команды</bold>: Создавайте персонализированные слэш-команды для быстрого доступа к часто используемым промптам и рабочим процессам с полным управлением пользовательского интерфейса.", + feature3: + "<bold>Улучшенные инструменты Gemini</bold>: Новые возможности контекста URL и основы поиска Google предоставляют моделям Gemini информацию в реальном времени и расширенные возможности исследования.", + hideButton: "Скрыть объявление", + detailsDiscussLinks: + "Подробнее и обсуждение в <discordLink>Discord</discordLink> и <redditLink>Reddit</redditLink> 🚀", + }, + J2e = { thinking: "Обдумывание", seconds: "{{count}}с" }, + eFe = { + title: "Контекст сжат", + condensing: "Сжатие контекста...", + errorHeader: "Не удалось сжать контекст", + tokens: "токены", + }, + tFe = { + copyToInput: "Скопировать во ввод (то же, что shift + клик)", + autoSelectCountdown: "Автовыбор через {{count}}с", + countdownDisplay: "{{count}}с", + }, + nFe = { + rooWantsToUse: "Roo хочет использовать браузер:", + consoleLogs: "Логи консоли", + noNewLogs: "(Новых логов нет)", + screenshot: "Скриншот браузера", + cursor: "курсор", + navigation: { step: "Шаг {{current}} из {{total}}", previous: "Предыдущий", next: "Следующий" }, + sessionStarted: "Сессия браузера запущена", + actions: { + title: "Действие в браузере: ", + launch: "Открыть браузер по адресу {{url}}", + click: "Клик ({{coordinate}})", + type: 'Ввести "{{text}}"', + scrollDown: "Прокрутить вниз", + scrollUp: "Прокрутить вверх", + close: "Закрыть браузер", + }, + }, + oFe = { + tooltips: { + expand: "Развернуть блок кода", + collapse: "Свернуть блок кода", + enable_wrap: "Включить перенос строк", + disable_wrap: "Отключить перенос строк", + copy_code: "Копировать код", + }, + }, + rFe = + "ПРЕДУПРЕЖДЕНИЕ: Активна пользовательская системная подсказка. Это может серьезно нарушить работу и вызвать непредсказуемое поведение.", + iFe = "Текущий профиль несовместим с настройками вашей организации", + sFe = { + title: "Предупреждение о выполнении команды", + description: + "Ваша команда выполняется без интеграции оболочки терминала VSCode. Чтобы скрыть это предупреждение, вы можете отключить интеграцию оболочки в разделе <strong>Terminal</strong> в <settingsLink>настройках Roo Code</settingsLink> или устранить проблемы с интеграцией терминала VSCode, используя ссылку ниже.", + troubleshooting: "Нажмите здесь для просмотра документации по интеграции оболочки.", + }, + aFe = { + autoApprovedRequestLimitReached: { + title: "Достигнут лимит автоматически одобренных запросов", + description: + "Roo достиг автоматически одобренного лимита в {{count}} API-запрос(ов). Хотите сбросить счетчик и продолжить задачу?", + button: "Сбросить и продолжить", + }, + autoApprovedCostLimitReached: { + title: "Достигнут лимит автоматически одобряемых расходов", + button: "Сбросить и продолжить", + description: + "Ру достиг автоматически утвержденного лимита расходов в размере ${{count}}. Хотите сбросить расходы и продолжить выполнение задачи?", + }, + }, + lFe = { + wantsToSearch: "Roo хочет выполнить поиск в кодовой базе по <code>{{query}}</code>:", + wantsToSearchWithPath: + "Roo хочет выполнить поиск в кодовой базе по <code>{{query}}</code> в <code>{{path}}</code>:", + didSearch_one: "Найден 1 результат", + didSearch_other: "Найдено {{count}} результатов", + resultTooltip: "Оценка схожести: {{score}} (нажмите, чтобы открыть файл)", + }, + cFe = { + ready: "Индекс готов", + indexing: "Индексация {{percentage}}%", + indexed: "Проиндексировано", + error: "Ошибка индекса", + status: "Статус индекса", + }, + dFe = { ariaLabel: "Версия {{version}} - Нажмите, чтобы просмотреть примечания к выпуску" }, + uFe = { + title: "Roo Code Cloud скоро появится!", + description: + "Запускайте удаленные агенты в облаке, получайте доступ к своим задачам из любого места, сотрудничайте с другими и многое другое.", + joinWaitlist: "Присоединитесь к списку ожидания для получения раннего доступа.", + }, + pFe = { placeholder: "Редактировать сообщение..." }, + mFe = { triggerDescription: "Запустить команду {{name}}" }, + hFe = { + tooltip: "Управление слэш-командами", + title: "Слэш-команды", + description: + "Создавайте пользовательские слэш-команды для быстрого доступа к часто используемым промптам и рабочим процессам. <DocsLink>Документация</DocsLink>", + globalCommands: "Глобальные команды", + workspaceCommands: "Команды рабочего пространства", + globalCommand: "Глобальная команда", + editCommand: "Редактировать команду", + deleteCommand: "Удалить команду", + newGlobalCommandPlaceholder: "Новая глобальная команда...", + newWorkspaceCommandPlaceholder: "Новая команда рабочего пространства...", + deleteDialog: { + title: "Удалить команду", + description: 'Вы уверены, что хотите удалить команду "{{name}}"? Это действие нельзя отменить.', + cancel: "Отмена", + confirm: "Удалить", + }, + }, + fFe = { title: "Сообщения в очереди:", clickToEdit: "Нажмите, чтобы редактировать сообщение" }, + wkt = { + greeting: HOe, + task: GOe, + unpin: QOe, + pin: ZOe, + retry: YOe, + startNewTask: XOe, + proceedAnyways: JOe, + save: e2e, + tokenProgress: t2e, + reject: n2e, + completeSubtaskAndReturn: o2e, + approve: r2e, + runCommand: i2e, + proceedWhileRunning: s2e, + resumeTask: a2e, + killCommand: l2e, + terminate: c2e, + cancel: d2e, + scrollToBottom: u2e, + about: p2e, + rooTips: m2e, + onboarding: h2e, + selectMode: f2e, + selectApiConfig: g2e, + enhancePrompt: v2e, + enhancePromptDescription: b2e, + modeSelector: y2e, + addImages: k2e, + sendMessage: x2e, + stopTts: w2e, + typeMessage: _2e, + typeTask: C2e, + addContext: S2e, + dragFiles: A2e, + dragFilesImages: P2e, + errorReadingFile: R2e, + noValidImages: T2e, + separator: I2e, + edit: M2e, + forNextMode: j2e, + forPreviousMode: E2e, + apiRequest: z2e, + checkpoint: $2e, + instructions: L2e, + fileOperations: D2e, + directoryOperations: N2e, + commandOutput: O2e, + commandExecution: F2e, + response: B2e, + arguments: "Аргументы", + mcp: U2e, + modes: q2e, + subtasks: W2e, + questions: K2e, + taskCompleted: V2e, + error: H2e, + diffError: G2e, + troubleMessage: Q2e, + powershell: Z2e, + autoApprove: Y2e, + announcement: X2e, + reasoning: J2e, + contextCondense: eFe, + followUpSuggest: tFe, + browser: nFe, + codeblock: oFe, + systemPromptWarning: rFe, + profileViolationWarning: iFe, + shellIntegration: sFe, + ask: aFe, + codebaseSearch: lFe, + "read-batch": { approve: { title: "Одобрить все" }, deny: { title: "Отклонить все" } }, + indexingStatus: cFe, + versionIndicator: dFe, + rooCloudCTA: uFe, + editMessage: pFe, + command: mFe, + slashCommands: hFe, + queuedMessages: fFe, + }, + _kt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: p2e, + addContext: S2e, + addImages: k2e, + announcement: X2e, + apiRequest: z2e, + approve: r2e, + ask: aFe, + autoApprove: Y2e, + browser: nFe, + cancel: d2e, + checkpoint: $2e, + codebaseSearch: lFe, + codeblock: oFe, + command: mFe, + commandExecution: F2e, + commandOutput: O2e, + completeSubtaskAndReturn: o2e, + contextCondense: eFe, + default: wkt, + diffError: G2e, + directoryOperations: N2e, + dragFiles: A2e, + dragFilesImages: P2e, + edit: M2e, + editMessage: pFe, + enhancePrompt: v2e, + enhancePromptDescription: b2e, + error: H2e, + errorReadingFile: R2e, + fileOperations: D2e, + followUpSuggest: tFe, + forNextMode: j2e, + forPreviousMode: E2e, + greeting: HOe, + indexingStatus: cFe, + instructions: L2e, + killCommand: l2e, + mcp: U2e, + modeSelector: y2e, + modes: q2e, + noValidImages: T2e, + onboarding: h2e, + pin: ZOe, + powershell: Z2e, + proceedAnyways: JOe, + proceedWhileRunning: s2e, + profileViolationWarning: iFe, + questions: K2e, + queuedMessages: fFe, + reasoning: J2e, + reject: n2e, + response: B2e, + resumeTask: a2e, + retry: YOe, + rooCloudCTA: uFe, + rooTips: m2e, + runCommand: i2e, + save: e2e, + scrollToBottom: u2e, + selectApiConfig: g2e, + selectMode: f2e, + sendMessage: x2e, + separator: I2e, + shellIntegration: sFe, + slashCommands: hFe, + startNewTask: XOe, + stopTts: w2e, + subtasks: W2e, + systemPromptWarning: rFe, + task: GOe, + taskCompleted: V2e, + terminate: c2e, + tokenProgress: t2e, + troubleMessage: Q2e, + typeMessage: _2e, + typeTask: C2e, + unpin: QOe, + versionIndicator: dFe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + gFe = { + title: "Что-то пошло не так", + reportText: "Пожалуйста, помогите нам улучшить приложение, сообщив об этой ошибке на", + githubText: "нашей странице GitHub Issues", + copyInstructions: "Скопируйте и вставьте следующее сообщение об ошибке, чтобы включить его в ваше сообщение:", + errorStack: "Стек ошибки:", + componentStack: "Стек компонентов:", + }, + vFe = { thousand_suffix: "тыс", million_suffix: "млн", billion_suffix: "млрд" }, + bFe = { yes: "Да", no: "Нет", cancel: "Отмена", remove: "Удалить", keep: "Оставить" }, + yFe = { search_placeholder: "Поиск...", no_results: "Результатов не найдено" }, + kFe = { + loading: "Создание диаграммы mermaid...", + render_error: "Не удалось отобразить диаграмму", + buttons: { + zoom: "Масштаб", + zoomIn: "Увеличить", + zoomOut: "Уменьшить", + copy: "Копировать", + save: "Сохранить изображение", + viewCode: "Посмотреть код", + viewDiagram: "Посмотреть диаграмму", + close: "Закрыть", + }, + modal: { codeTitle: "Код Mermaid" }, + tabs: { diagram: "Диаграмма", code: "Код" }, + feedback: { + imageCopied: "Изображение скопировано в буфер обмена", + copyError: "Ошибка копирования изображения", + }, + }, + xFe = { + errors: { + invalidDataUri: "Неверный формат URI данных", + copyingImage: "Ошибка копирования изображения: {{error}}", + openingImage: "Ошибка открытия изображения: {{error}}", + pathNotExists: "Путь не существует: {{path}}", + couldNotOpen: "Не удалось открыть файл: {{error}}", + couldNotOpenGeneric: "Не удалось открыть файл!", + }, + success: { imageDataUriCopied: "URI данных изображения скопирован в буфер обмена" }, + }, + wFe = { + deleteMessage: "Удалить Сообщение", + deleteWarning: + "Удаление этого сообщения приведет к удалению всех последующих сообщений в разговоре. Хотите продолжить?", + editMessage: "Редактировать Сообщение", + editWarning: + "Редактирование этого сообщения приведет к удалению всех последующих сообщений в разговоре. Хотите продолжить?", + proceed: "Продолжить", + }, + Ckt = { errorBoundary: gFe, number_format: vFe, answers: bFe, ui: yFe, mermaid: kFe, file: xFe, confirmation: wFe }, + Skt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: bFe, + confirmation: wFe, + default: Ckt, + errorBoundary: gFe, + file: xFe, + mermaid: kFe, + number_format: vFe, + ui: yFe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + _Fe = "Недавние задачи", + CFe = "История", + SFe = "Выйти из режима выбора", + AFe = "Войти в режим выбора", + PFe = "Готово", + RFe = "Нечеткий поиск по истории...", + TFe = "Самые новые", + IFe = "Самые старые", + MFe = "Самые дорогие", + jFe = "Больше всего токенов", + EFe = "Наиболее релевантные", + zFe = "Удалить задачу (Shift + клик для пропуска подтверждения)", + $Fe = "Скопировать запрос", + LFe = "Экспортировать задачу", + DFe = "Удалить задачу", + NFe = "Вы уверены, что хотите удалить эту задачу? Это действие нельзя отменить.", + OFe = "Отмена", + FFe = "Выйти из выбора", + BFe = "Режим выбора", + UFe = "Снять выделение со всех", + qFe = "Выделить все", + WFe = "Выбрано {{selected}} из {{total}} элементов", + KFe = "Очистить выбор", + VFe = "Удалить выбранные", + HFe = "Удалить задачи", + GFe = "Вы уверены, что хотите удалить {{count}} задач?", + QFe = "Удалённые задачи не могут быть восстановлены. Пожалуйста, убедитесь, что хотите продолжить.", + ZFe = "Удалить {{count}} элементов", + YFe = { prefix: "Рабочая область:", current: "Текущая", all: "Все" }, + XFe = { + prefix: "Сортировать:", + newest: "Самые новые", + oldest: "Самые старые", + mostExpensive: "Самые дорогие", + mostTokens: "Больше всего токенов", + mostRelevant: "Наиболее релевантные", + }, + JFe = "Просмотреть всю историю", + Akt = { + recentTasks: _Fe, + history: CFe, + exitSelectionMode: SFe, + enterSelectionMode: AFe, + done: PFe, + searchPlaceholder: RFe, + newest: TFe, + oldest: IFe, + mostExpensive: MFe, + mostTokens: jFe, + mostRelevant: EFe, + deleteTaskTitle: zFe, + copyPrompt: $Fe, + exportTask: LFe, + deleteTask: DFe, + deleteTaskMessage: NFe, + cancel: OFe, + delete: "Удалить", + exitSelection: FFe, + selectionMode: BFe, + deselectAll: UFe, + selectAll: qFe, + selectedItems: WFe, + clearSelection: KFe, + deleteSelected: VFe, + deleteTasks: HFe, + confirmDeleteTasks: GFe, + deleteTasksWarning: QFe, + deleteItems: ZFe, + workspace: YFe, + sort: XFe, + viewAllHistory: JFe, + }, + Pkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: OFe, + clearSelection: KFe, + confirmDeleteTasks: GFe, + copyPrompt: $Fe, + default: Akt, + deleteItems: ZFe, + deleteSelected: VFe, + deleteTask: DFe, + deleteTaskMessage: NFe, + deleteTaskTitle: zFe, + deleteTasks: HFe, + deleteTasksWarning: QFe, + deselectAll: UFe, + done: PFe, + enterSelectionMode: AFe, + exitSelection: FFe, + exitSelectionMode: SFe, + exportTask: LFe, + history: CFe, + mostExpensive: MFe, + mostRelevant: EFe, + mostTokens: jFe, + newest: TFe, + oldest: IFe, + recentTasks: _Fe, + searchPlaceholder: RFe, + selectAll: qFe, + selectedItems: WFe, + selectionMode: BFe, + sort: XFe, + viewAllHistory: JFe, + workspace: YFe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + eBe = "Человеческая эстафета — пожалуйста, помогите скопировать/вставить информацию", + tBe = "Пожалуйста, скопируйте следующий запрос в веб-ИИ, затем вставьте ответ ИИ в поле ввода ниже.", + nBe = "Скопировано в буфер обмена", + oBe = { label: "Пожалуйста, введите ответ ИИ:", placeholder: "Вставьте ответ ИИ сюда..." }, + rBe = { cancel: "Отмена", submit: "Отправить" }, + Rkt = { dialogTitle: eBe, dialogDescription: tBe, copiedToClipboard: nBe, aiResponse: oBe, actions: rBe }, + Tkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: rBe, + aiResponse: oBe, + copiedToClipboard: nBe, + default: Rkt, + dialogDescription: tBe, + dialogTitle: eBe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + iBe = "Roo Marketplace", + sBe = { installed: "Установлено", settings: "Настройки", browse: "Обзор" }, + aBe = "Готово", + lBe = "Обновить", + cBe = { + search: { + placeholder: "Поиск элементов marketplace...", + placeholderMcp: "Поиск MCPs...", + placeholderMode: "Поиск режимов...", + }, + type: { label: "Фильтр по типу:", all: "Все типы", mode: "Режим", mcpServer: "MCP сервер" }, + sort: { label: "Сортировать по:", name: "Название", author: "Автор", lastUpdated: "Последнее обновление" }, + tags: { + label: "Фильтр по тегам:", + clear: "Очистить теги", + placeholder: "Введите для поиска и выбора тегов...", + noResults: "Подходящие теги не найдены", + selected: "Показаны элементы с любым из выбранных тегов", + clickToFilter: "Нажмите на теги для фильтрации элементов", + }, + none: "Нет", + }, + dBe = { organizationMcps: "MCPs {{organization}}", marketplace: "Маркетплейс" }, + uBe = { + empty: { + noItems: "Элементы marketplace не найдены", + withFilters: "Попробуйте настроить фильтры", + noSources: "Попробуйте добавить источник во вкладке Источники", + adjustFilters: "Попробуйте настроить фильтры или поисковые запросы", + clearAllFilters: "Очистить все фильтры", + }, + count: "Найдено {{count}} элементов", + components: "{{count}} компонентов", + matched: "{{count}} совпадений", + refresh: { + button: "Обновить", + refreshing: "Обновление...", + mayTakeMoment: "Это может занять некоторое время.", + }, + card: { + by: "от {{author}}", + from: "из {{source}}", + install: "Установить", + installProject: "Установить", + installGlobal: "Установить (Глобально)", + remove: "Удалить", + removeProject: "Удалить", + removeGlobal: "Удалить (Глобально)", + viewSource: "Просмотр", + viewOnSource: "Просмотр на {{source}}", + noWorkspaceTooltip: "Откройте рабочую область для установки элементов marketplace", + installed: "Установлено", + removeProjectTooltip: "Удалить из текущего проекта", + removeGlobalTooltip: "Удалить из глобальной конфигурации", + actionsMenuLabel: "Дополнительные действия", + }, + removeFailed: "Не удалось удалить элемент: {{error}}", + unknownError: "Произошла неизвестная ошибка", + }, + pBe = { + title: "Установить {{name}}", + titleMode: "Установить режим {{name}}", + titleMcp: "Установить MCP {{name}}", + scope: "Область установки", + project: "Проект (текущая рабочая область)", + global: "Глобально (все рабочие области)", + method: "Метод установки", + configuration: "Конфигурация", + configurationDescription: "Настройте параметры, необходимые для этого MCP сервера", + button: "Установить", + successTitle: "{{name}} установлен", + successDescription: "Установка успешно завершена", + installed: "Успешно установлено!", + whatNextMcp: + "Теперь вы можете настроить и использовать этот MCP сервер. Нажмите на иконку MCP в боковой панели для переключения вкладок.", + whatNextMode: + "Теперь вы можете использовать этот режим. Нажмите на иконку Режимы в боковой панели для переключения вкладок.", + done: "Готово", + goToMcp: "Перейти во вкладку MCP", + goToModes: "Перейти в настройки Режимов", + moreInfoMcp: "Просмотреть документацию MCP {{name}}", + validationRequired: "Пожалуйста, укажите значение для {{paramName}}", + prerequisites: "Предварительные требования", + }, + mBe = { + title: "Настроить источники marketplace", + description: + "Добавьте Git репозитории, содержащие элементы marketplace. Эти репозитории будут загружены при просмотре marketplace.", + add: { + title: "Добавить новый источник", + urlPlaceholder: "URL Git репозитория (например, https://github.com/username/repo)", + urlFormats: + "Поддерживаемые форматы: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), или Git протокол (git://github.com/username/repo.git)", + namePlaceholder: "Отображаемое имя (макс. 20 символов)", + button: "Добавить источник", + }, + current: { + title: "Текущие источники", + empty: "Источники не настроены. Добавьте источник для начала работы.", + refresh: "Обновить этот источник", + remove: "Удалить источник", + }, + errors: { + emptyUrl: "URL не может быть пустым", + invalidUrl: "Неверный формат URL", + nonVisibleChars: "URL содержит невидимые символы кроме пробелов", + invalidGitUrl: + "URL должен быть действительным URL Git репозитория (например, https://github.com/username/repo)", + duplicateUrl: "Этот URL уже есть в списке (сравнение без учета регистра и пробелов)", + nameTooLong: "Имя должно содержать 20 символов или меньше", + nonVisibleCharsName: "Имя содержит невидимые символы кроме пробелов", + duplicateName: "Это имя уже используется (сравнение без учета регистра и пробелов)", + emojiName: "Символы эмодзи могут вызвать проблемы с отображением", + maxSources: "Максимум {{max}} источников разрешено", + }, + }, + hBe = { + mode: { + title: "Удалить режим", + message: "Вы уверены, что хотите удалить режим «{{modeName}}»?", + rulesWarning: "Это также удалит все связанные файлы правил для этого режима.", + }, + mcp: { title: "Удалить сервер MCP", message: "Вы уверены, что хотите удалить сервер MCP «{{mcpName}}»?" }, + cancel: "Отмена", + confirm: "Удалить", + }, + fBe = { + issueText: + "Нашли проблему с элементом marketplace или есть предложения для новых элементов? <0>Откройте issue на GitHub</0>, чтобы сообщить нам!", + }, + Ikt = { + title: iBe, + tabs: sBe, + done: aBe, + refresh: lBe, + filters: cBe, + sections: dBe, + "type-group": { modes: "Режимы", mcps: "MCP серверы" }, + items: uBe, + install: pBe, + sources: mBe, + removeConfirm: hBe, + footer: fBe, + }, + Mkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Ikt, + done: aBe, + filters: cBe, + footer: fBe, + install: pBe, + items: uBe, + refresh: lBe, + removeConfirm: hBe, + sections: dBe, + sources: mBe, + tabs: sBe, + title: iBe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + gBe = "Серверы MCP", + vBe = "Готово", + bBe = "Маркетплейс MCP", + yBe = + "<0>Model Context Protocol</0> обеспечивает связь с локально запущенными MCP-серверами, которые предоставляют дополнительные инструменты и ресурсы для расширения возможностей Roo. Вы можете использовать <1>серверы, созданные сообществом</1>, или попросить Roo создать новые инструменты, специфичные для вашего рабочего процесса (например, «добавь инструмент, который получает последние npm-документацию»).", + kBe = "Инструкции", + xBe = { + title: "Включить серверы MCP", + description: + "Включи, чтобы Roo мог использовать инструменты с подключённых серверов MCP. Это даст Roo больше возможностей. Если не планируешь использовать эти дополнительные инструменты, выключи для экономии токенов API.", + }, + wBe = { + title: "Включить создание серверов MCP", + description: + "Включи, чтобы Roo помогал создавать <1>новые</1> кастомные серверы MCP. <0>Подробнее о создании серверов</0>", + hint: "Совет: чтобы снизить расходы на токены API, отключай эту настройку, когда не просишь Roo создать новый сервер MCP.", + }, + _Be = "Редактировать глобальный MCP", + CBe = "Редактировать проектный MCP", + SBe = "Подробнее о редактировании файлов настроек MCP", + ABe = { + alwaysAllow: "Всегда разрешать", + parameters: "Параметры", + noDescription: "Нет описания", + togglePromptInclusion: "Переключить включение в промпт", + }, + PBe = { tools: "Инструменты", resources: "Ресурсы", errors: "Ошибки" }, + RBe = { noTools: "Инструменты не найдены", noResources: "Ресурсы не найдены", noErrors: "Ошибки не найдены" }, + TBe = { + label: "Тайм-аут сети", + description: "Максимальное время ожидания ответа сервера", + options: { + "15seconds": "15 секунд", + "30seconds": "30 секунд", + "1minute": "1 минута", + "5minutes": "5 минут", + "10minutes": "10 минут", + "15minutes": "15 минут", + "30minutes": "30 минут", + "60minutes": "60 минут", + }, + }, + IBe = { + title: "Удалить сервер MCP", + description: 'Ты уверен, что хочешь удалить сервер MCP "{{serverName}}"? Это действие нельзя отменить.', + cancel: "Отмена", + delete: "Удалить", + }, + MBe = { retrying: "Повторная попытка...", retryConnection: "Повторить подключение" }, + jBe = "Обновить MCP серверы", + EBe = { running: "Выполняется", completed: "Завершено", error: "Ошибка" }, + jkt = { + title: gBe, + done: vBe, + marketplace: bBe, + description: yBe, + instructions: kBe, + enableToggle: xBe, + enableServerCreation: wBe, + editGlobalMCP: _Be, + editProjectMCP: CBe, + learnMoreEditingSettings: SBe, + tool: ABe, + tabs: PBe, + emptyState: RBe, + networkTimeout: TBe, + deleteDialog: IBe, + serverStatus: MBe, + refreshMCP: jBe, + execution: EBe, + }, + Ekt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: jkt, + deleteDialog: IBe, + description: yBe, + done: vBe, + editGlobalMCP: _Be, + editProjectMCP: CBe, + emptyState: RBe, + enableServerCreation: wBe, + enableToggle: xBe, + execution: EBe, + instructions: kBe, + learnMoreEditingSettings: SBe, + marketplace: bBe, + networkTimeout: TBe, + refreshMCP: jBe, + serverStatus: MBe, + tabs: PBe, + title: gBe, + tool: ABe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + zBe = "Режимы", + $Be = "Готово", + LBe = { + title: "Режимы", + createNewMode: "Создать новый режим", + importMode: "Импортировать режим", + noMatchFound: "Режимы не найдены", + editModesConfig: "Редактировать конфигурацию режимов", + editGlobalModes: "Редактировать глобальные режимы", + editProjectModes: "Редактировать режимы проекта (.roomodes)", + createModeHelpText: + "Режимы — это специализированные персоны, которые адаптируют поведение Roo. <0>Узнайте об использовании режимов</0> или <1>настройке режимов.</1>", + selectMode: "Поиск режимов", + }, + DBe = { title: "Конфигурация API", select: "Выберите, какую конфигурацию API использовать для этого режима" }, + NBe = { + title: "Доступные инструменты", + builtInModesText: "Инструменты для встроенных режимов нельзя изменять", + editTools: "Редактировать инструменты", + doneEditing: "Завершить редактирование", + allowedFiles: "Разрешённые файлы:", + toolNames: { + read: "Чтение файлов", + edit: "Редактирование файлов", + browser: "Использовать браузер", + command: "Выполнять команды", + mcp: "Использовать MCP", + }, + noTools: "Отсутствуют", + }, + OBe = { + title: "Определение роли", + resetToDefault: "Сбросить по умолчанию", + description: + "Определите экспертность и личность Roo для этого режима. Это описание формирует, как Roo будет себя вести и выполнять задачи.", + }, + FBe = { + title: "Краткое описание (для людей)", + resetToDefault: "Сбросить до описания по умолчанию", + description: "Краткое описание, отображаемое в выпадающем списке выбора режима.", + }, + BBe = { + title: "Когда использовать (необязательно)", + description: + "Опишите, когда следует использовать этот режим. Это помогает Orchestrator выбрать правильный режим для задачи.", + resetToDefault: "Сбросить описание 'Когда использовать' по умолчанию", + }, + UBe = { + title: "Пользовательские инструкции для режима (необязательно)", + resetToDefault: "Сбросить по умолчанию", + description: "Добавьте рекомендации по поведению, специфичные для режима {{modeName}}.", + loadFromFile: + "Пользовательские инструкции для режима {{mode}} также можно загрузить из папки <span>.roo/rules-{{slug}}/</span> в вашем рабочем пространстве (.roorules-{{slug}} и .clinerules-{{slug}} устарели и скоро перестанут работать).", + }, + qBe = { + title: "Экспортировать режим", + description: + "Экспортировать этот режим в файл YAML со всеми включенными правилами для удобного обмена с другими.", + export: "Экспортировать режим", + exporting: "Экспорт...", + }, + WBe = { + title: "Пользовательские инструкции для всех режимов", + description: + "Эти инструкции применяются ко всем режимам. Они задают базовое поведение, которое можно расширить с помощью инструкций ниже. <0>Узнать больше</0>", + loadFromFile: + "Инструкции также можно загрузить из папки <span>.roo/rules/</span> в вашем рабочем пространстве (.roorules и .clinerules устарели и скоро перестанут работать).", + }, + KBe = { + selectLevel: "Выберите, куда импортировать этот режим:", + import: "Импорт", + importing: "Импортирование...", + global: { + label: "Глобальный уровень", + description: "Доступно во всех проектах. Правила будут объединены с пользовательскими инструкциями.", + }, + project: { + label: "Уровень проекта", + description: + "Доступно только в этом рабочем пространстве. Если экспортированный режим содержал файлы правил, они будут воссозданы в папке .roo/rules-{slug}/.", + }, + }, + VBe = { + preview: "Предпросмотр системного промпта", + copy: "Скопировать системный промпт в буфер обмена", + title: "Системный промпт (режим {{modeName}})", + }, + HBe = { + title: "Вспомогательные промпты", + resetPrompt: "Сбросить промпт {{promptType}} по умолчанию", + prompt: "Промпт", + enhance: { + apiConfiguration: "Конфигурация API", + apiConfigDescription: + "Вы можете выбрать конфигурацию API, которая всегда будет использоваться для улучшения промптов, или использовать текущую выбранную", + useCurrentConfig: "Использовать текущую конфигурацию API", + testPromptPlaceholder: "Введите промпт для тестирования улучшения", + previewButton: "Просмотреть улучшенный промпт", + testEnhancement: "Тестировать улучшение", + includeTaskHistory: "Включить историю задач как контекст", + includeTaskHistoryDescription: + "При включении последние 10 сообщений из текущего разговора будут включены как контекст при улучшении промптов, помогая генерировать более релевантные и контекстно-осведомленные предложения.", + }, + condense: { + apiConfiguration: "Конфигурация API для сжатия контекста", + apiConfigDescription: + "Выберите, какую конфигурацию API использовать для операций сжатия контекста. Оставьте невыбранным, чтобы использовать текущую активную конфигурацию.", + useCurrentConfig: "Использовать текущую выбранную конфигурацию API", + }, + types: { + ENHANCE: { + label: "Улучшить промпт", + description: + "Используйте улучшение промпта для получения индивидуальных предложений или улучшений ваших запросов. Это гарантирует, что Roo правильно поймет ваш запрос и даст лучший ответ. Доступно через ✨ в чате.", + }, + CONDENSE: { + label: "Сжатие контекста", + description: + "Настройте, как сжимается контекст беседы для управления лимитами токенов. Этот запрос используется как для ручных, так и для автоматических операций сжатия контекста.", + }, + EXPLAIN: { + label: "Объяснить код", + description: + "Получите подробные объяснения фрагментов кода, функций или целых файлов. Полезно для понимания сложного кода или изучения новых паттернов. Доступно в действиях с кодом (иконка лампочки в редакторе) и в контекстном меню редактора (ПКМ по выделенному коду).", + }, + FIX: { + label: "Исправить ошибки", + description: + "Получите помощь в выявлении и исправлении багов, ошибок или проблем с качеством кода. Пошаговое руководство по устранению проблем. Доступно в действиях с кодом (иконка лампочки в редакторе) и в контекстном меню редактора (ПКМ по выделенному коду).", + }, + IMPROVE: { + label: "Улучшить код", + description: + "Получите предложения по оптимизации кода, лучшим практикам и архитектурным улучшениям при сохранении функциональности. Доступно в действиях с кодом (иконка лампочки в редакторе) и в контекстном меню редактора (ПКМ по выделенному коду).", + }, + ADD_TO_CONTEXT: { + label: "Добавить в контекст", + description: + "Добавьте контекст к текущей задаче или беседе. Полезно для предоставления дополнительной информации или пояснений. Доступно в действиях с кодом (иконка лампочки в редакторе) и в контекстном меню редактора (ПКМ по выделенному коду).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Добавить содержимое терминала в контекст", + description: + "Добавьте вывод терминала к текущей задаче или беседе. Полезно для предоставления результатов команд или логов. Доступно в контекстном меню терминала (ПКМ по выделенному содержимому терминала).", + }, + TERMINAL_FIX: { + label: "Исправить команду терминала", + description: + "Получите помощь в исправлении команд терминала, которые не сработали или требуют улучшения. Доступно в контекстном меню терминала (ПКМ по выделенному содержимому терминала).", + }, + TERMINAL_EXPLAIN: { + label: "Объяснить команду терминала", + description: + "Получите подробные объяснения команд терминала и их вывода. Доступно в контекстном меню терминала (ПКМ по выделенному содержимому терминала).", + }, + NEW_TASK: { + label: "Начать новую задачу", + description: "Начать новую задачу с пользовательским вводом. Доступно в палитре команд.", + }, + }, + }, + GBe = { + title: "Дополнительно: переопределить системный промпт", + description: + "<2>⚠️ Внимание:</2> Эта расширенная функция обходит средства защиты. <1>ПРОЧТИТЕ ЭТО ПЕРЕД ИСПОЛЬЗОВАНИЕМ!</1>Переопределите системный промпт по умолчанию, создав файл в <span>.roo/system-prompt-{{slug}}</span>.", + }, + QBe = { + title: "Создать новый режим", + close: "Закрыть", + name: { label: "Название", placeholder: "Введите название режима" }, + slug: { + label: "Слаг", + description: + "Слаг используется в URL и именах файлов. Он должен быть в нижнем регистре и содержать только буквы, цифры и дефисы.", + }, + saveLocation: { + label: "Место сохранения", + description: "Выберите, где сохранить этот режим. Режимы проекта имеют приоритет над глобальными.", + global: { label: "Глобально", description: "Доступно во всех рабочих пространствах" }, + project: { + label: "Для проекта (.roomodes)", + description: "Доступно только в этом рабочем пространстве, имеет приоритет над глобальными", + }, + }, + roleDefinition: { + label: "Определение роли", + description: "Определите экспертность и личность Roo для этого режима.", + }, + whenToUse: { + label: "Когда использовать (необязательно)", + description: + "Предоставьте четкое описание, когда этот режим наиболее эффективен и для каких типов задач он лучше всего подходит.", + }, + tools: { + label: "Доступные инструменты", + description: "Выберите, какие инструменты может использовать этот режим.", + }, + description: { + label: "Краткое описание (для людей)", + description: "Краткое описание, отображаемое в выпадающем списке выбора режима.", + }, + customInstructions: { + label: "Пользовательские инструкции (необязательно)", + description: "Добавьте рекомендации по поведению, специфичные для этого режима.", + }, + buttons: { cancel: "Отмена", create: "Создать режим" }, + deleteMode: "Удалить режим", + }, + ZBe = "все файлы", + YBe = { title: "Дополнительно" }, + XBe = { + title: "Удалить режим", + message: 'Вы уверены, что хотите удалить режим "{{modeName}}"?', + rulesFolder: "У этого режима есть папка правил по адресу {{folderPath}}, которая также будет удалена.", + descriptionNoRules: "Вы уверены, что хотите удалить этот пользовательский режим?", + confirm: "Удалить", + cancel: "Отмена", + }, + zkt = { + title: zBe, + done: $Be, + modes: LBe, + apiConfiguration: DBe, + tools: NBe, + roleDefinition: OBe, + description: FBe, + whenToUse: BBe, + customInstructions: UBe, + exportMode: qBe, + globalCustomInstructions: WBe, + importMode: KBe, + systemPrompt: VBe, + supportPrompts: HBe, + advancedSystemPrompt: GBe, + createModeDialog: QBe, + allFiles: ZBe, + advanced: YBe, + deleteMode: XBe, + }, + $kt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: YBe, + advancedSystemPrompt: GBe, + allFiles: ZBe, + apiConfiguration: DBe, + createModeDialog: QBe, + customInstructions: UBe, + default: zkt, + deleteMode: XBe, + description: FBe, + done: $Be, + exportMode: qBe, + globalCustomInstructions: WBe, + importMode: KBe, + modes: LBe, + roleDefinition: OBe, + supportPrompts: HBe, + systemPrompt: VBe, + title: zBe, + tools: NBe, + whenToUse: BBe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + JBe = { + save: "Сохранить", + done: "Готово", + cancel: "Отмена", + reset: "Сбросить", + select: "Выбрать", + add: "Добавить заголовок", + remove: "Удалить", + }, + eUe = { + title: "Настройки", + saveButtonTooltip: "Сохранить изменения", + nothingChangedTooltip: "Изменений нет", + doneButtonTooltip: "Отменить несохранённые изменения и закрыть панель настроек", + }, + tUe = { + title: "Несохранённые изменения", + description: "Вы хотите отменить изменения и продолжить?", + cancelButton: "Отмена", + discardButton: "Отменить изменения", + }, + nUe = { + providers: "Провайдеры", + autoApprove: "Автоодобрение", + browser: "Доступ к компьютеру", + checkpoints: "Контрольные точки", + notifications: "Уведомления", + contextManagement: "Контекст", + terminal: "Терминал", + prompts: "Промпты", + experimental: "Экспериментальное", + language: "Язык", + about: "О Roo Code", + }, + oUe = { + description: + "Настройте промпты поддержки, используемые для быстрых действий, таких как улучшение промптов, объяснение кода и исправление проблем. Эти промпты помогают Roo обеспечить лучшую поддержку для общих задач разработки.", + }, + rUe = { + title: "Индексация кодовой базы", + enableLabel: "Включить индексацию кодовой базы", + enableDescription: "Включите индексацию кода для улучшения поиска и понимания контекста", + providerLabel: "Провайдер эмбеддингов", + selectProviderPlaceholder: "Выберите провайдера", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Ключ API:", + geminiApiKeyPlaceholder: "Введите свой API-ключ Gemini", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Ключ API:", + mistralApiKeyPlaceholder: "Введите свой API-ключ Mistral", + openaiCompatibleProvider: "OpenAI-совместимый", + openAiKeyLabel: "Ключ API OpenAI", + openAiKeyPlaceholder: "Введите ваш ключ API OpenAI", + openAiCompatibleBaseUrlLabel: "Базовый URL", + openAiCompatibleApiKeyLabel: "Ключ API", + openAiCompatibleApiKeyPlaceholder: "Введите ваш ключ API", + openAiCompatibleModelDimensionLabel: "Размерность эмбеддинга:", + modelDimensionLabel: "Размерность модели", + openAiCompatibleModelDimensionPlaceholder: "напр., 1536", + openAiCompatibleModelDimensionDescription: + "Размерность эмбеддинга (размер выходных данных) для вашей модели. Проверьте документацию вашего провайдера для этого значения. Распространенные значения: 384, 768, 1536, 3072.", + modelLabel: "Модель", + selectModelPlaceholder: "Выберите модель", + ollamaUrlLabel: "URL Ollama:", + qdrantUrlLabel: "URL Qdrant", + qdrantKeyLabel: "Ключ Qdrant:", + startIndexingButton: "Начать", + clearIndexDataButton: "Очистить индекс", + unsavedSettingsMessage: "Пожалуйста, сохрани настройки перед запуском процесса индексации.", + clearDataDialog: { + title: "Вы уверены?", + description: "Это действие нельзя отменить. Оно навсегда удалит данные индекса вашей кодовой базы.", + cancelButton: "Отмена", + confirmButton: "Очистить данные", + }, + description: + "Настройте параметры индексации кодовой базы для включения семантического поиска в вашем проекте. <0>Узнать больше</0>", + statusTitle: "Статус", + settingsTitle: "Настройки индексации", + disabledMessage: + "Индексация кодовой базы в настоящее время отключена. Включите ее в глобальных настройках для настройки параметров индексации.", + embedderProviderLabel: "Провайдер эмбеддера", + modelPlaceholder: "Введите название модели", + selectModel: "Выберите модель", + ollamaBaseUrlLabel: "Базовый URL Ollama", + qdrantApiKeyLabel: "API-ключ Qdrant", + qdrantApiKeyPlaceholder: "Введите ваш API-ключ Qdrant (необязательно)", + setupConfigLabel: "Настройка", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Не удалось сохранить настройки", + modelDimensions: "({{dimension}} измерений)", + saveSuccess: "Настройки успешно сохранены", + saving: "Сохранение...", + saveSettings: "Сохранить", + indexingStatuses: { standby: "Ожидание", indexing: "Индексация", indexed: "Проиндексировано", error: "Ошибка" }, + close: "Закрыть", + validation: { + invalidQdrantUrl: "Неверный URL Qdrant", + invalidOllamaUrl: "Неверный URL Ollama", + invalidBaseUrl: "Неверный базовый URL", + qdrantUrlRequired: "Требуется URL Qdrant", + openaiApiKeyRequired: "Требуется ключ API OpenAI", + modelSelectionRequired: "Требуется выбор модели", + apiKeyRequired: "Требуется ключ API", + modelIdRequired: "Требуется идентификатор модели", + modelDimensionRequired: "Требуется размерность модели", + geminiApiKeyRequired: "Требуется ключ API Gemini", + mistralApiKeyRequired: "Требуется API-ключ Mistral", + ollamaBaseUrlRequired: "Требуется базовый URL Ollama", + baseUrlRequired: "Требуется базовый URL", + modelDimensionMinValue: "Размерность модели должна быть больше 0", + }, + advancedConfigLabel: "Расширенная конфигурация", + searchMinScoreLabel: "Порог оценки поиска", + searchMinScoreDescription: + "Минимальный балл сходства (0.0-1.0), необходимый для результатов поиска. Более низкие значения возвращают больше результатов, но они могут быть менее релевантными. Более высокие значения возвращают меньше результатов, но более релевантных.", + searchMinScoreResetTooltip: "Сбросить к значению по умолчанию (0.4)", + searchMaxResultsLabel: "Максимальное количество результатов поиска", + searchMaxResultsDescription: + "Максимальное количество результатов поиска, возвращаемых при запросе индекса кодовой базы. Более высокие значения предоставляют больше контекста, но могут включать менее релевантные результаты.", + resetToDefault: "Сбросить к значению по умолчанию", + }, + iUe = { + description: + "Разрешить Roo автоматически выполнять операции без необходимости одобрения. Включайте эти параметры только если полностью доверяете ИИ и понимаете связанные с этим риски безопасности.", + enabled: "Автоодобрение включено", + toggleAriaLabel: "Переключить автоодобрение", + disabledAriaLabel: "Автоодобрение отключено - сначала выберите опции", + readOnly: { + label: "Чтение", + description: + 'Если включено, Roo будет автоматически просматривать содержимое каталогов и читать файлы без необходимости нажимать кнопку "Одобрить".', + outsideWorkspace: { + label: "Включая файлы вне рабочей области", + description: "Разрешить Roo читать файлы вне текущей рабочей области без необходимости одобрения.", + }, + }, + write: { + label: "Запись", + description: "Автоматически создавать и редактировать файлы без необходимости одобрения", + delayLabel: "Задержка после записи для диагностики возможных проблем", + outsideWorkspace: { + label: "Включая файлы вне рабочей области", + description: + "Разрешить Roo создавать и редактировать файлы вне текущей рабочей области без необходимости одобрения.", + }, + protected: { + label: "Включить защищенные файлы", + description: + "Разрешить Roo создавать и редактировать защищенные файлы (такие как .rooignore и файлы конфигурации .roo/) без необходимости одобрения.", + }, + }, + browser: { + label: "Браузер", + description: + "Автоматически выполнять действия в браузере без необходимости одобрения. Применяется только, если модель поддерживает использование компьютера", + }, + retry: { + label: "Повтор", + description: "Автоматически повторять неудачные запросы к API при ошибке сервера", + delayLabel: "Задержка перед повтором запроса", + }, + mcp: { + label: "MCP", + description: + 'Включить автоодобрение отдельных инструментов MCP в представлении MCP Servers (требуется включить как этот параметр, так и индивидуальный чекбокс инструмента "Всегда разрешать")', + }, + modeSwitch: { + label: "Режим", + description: "Автоматически переключаться между разными режимами без необходимости одобрения", + }, + subtasks: { + label: "Подзадачи", + description: "Разрешить создание и выполнение подзадач без необходимости одобрения", + }, + followupQuestions: { + label: "Вопрос", + description: + "Автоматически выбирать первый предложенный ответ на дополнительные вопросы после настроенного тайм-аута", + timeoutLabel: "Время ожидания перед автоматическим выбором первого ответа", + }, + execute: { + label: "Выполнение", + description: "Автоматически выполнять разрешённые команды терминала без необходимости одобрения", + allowedCommands: "Разрешённые авто-выполняемые команды", + allowedCommandsDescription: + 'Префиксы команд, которые могут быть автоматически выполнены при включённом параметре "Всегда одобрять выполнение операций". Добавьте * для разрешения всех команд (используйте с осторожностью).', + deniedCommands: "Запрещенные команды", + deniedCommandsDescription: + "Префиксы команд, которые будут автоматически отклонены без запроса одобрения. В случае конфликтов с разрешенными командами, приоритет имеет самое длинное совпадение префикса. Добавьте * чтобы запретить все команды.", + commandPlaceholder: "Введите префикс команды (например, 'git ')", + deniedCommandPlaceholder: "Введите префикс команды для запрета (например, 'rm -rf')", + addButton: "Добавить", + autoDenied: + "Команды с префиксом `{{prefix}}` были запрещены пользователем. Не обходи это ограничение, выполняя другую команду.", + }, + updateTodoList: { label: "Todo", description: "Список дел обновляется автоматически без подтверждения" }, + apiRequestLimit: { + title: "Максимум запросов", + description: + "Автоматически выполнять это количество API-запросов перед запросом разрешения на продолжение задачи.", + unlimited: "Без ограничений", + }, + selectOptionsFirst: "Выберите хотя бы один вариант ниже, чтобы включить автоодобрение", + apiCostLimit: { title: "Максимальная стоимость", unlimited: "Безлимитный" }, + maxLimits: { + description: + "Автоматически выполнять запросы до указанных лимитов, прежде чем запрашивать разрешение на продолжение.", + }, + }, + sUe = JSON.parse( + `{"providerDocumentation":"Документация {{provider}}","configProfile":"Профиль конфигурации","description":"Сохраняйте различные конфигурации API для быстрого переключения между провайдерами и настройками.","apiProvider":"Провайдер API","model":"Модель","nameEmpty":"Имя не может быть пустым","nameExists":"Профиль с таким именем уже существует","deleteProfile":"Удалить профиль","invalidArnFormat":"Неверный формат ARN. Пожалуйста, проверьте примеры выше.","enterNewName":"Введите новое имя","addProfile":"Добавить профиль","renameProfile":"Переименовать профиль","newProfile":"Новый профиль конфигурации","enterProfileName":"Введите имя профиля","createProfile":"Создать профиль","cannotDeleteOnlyProfile":"Нельзя удалить единственный профиль","searchPlaceholder":"Поиск профилей","searchProviderPlaceholder":"Поиск провайдеров","noProviderMatchFound":"Провайдеры не найдены","noMatchFound":"Совпадений не найдено","vscodeLmDescription":"API языковой модели VS Code позволяет запускать модели, предоставляемые другими расширениями VS Code (включая, но не ограничиваясь GitHub Copilot). Для начала установите расширения Copilot и Copilot Chat из VS Code Marketplace.","awsCustomArnUse":"Введите действительный Amazon Bedrock ARN для используемой модели. Примеры формата:","awsCustomArnDesc":"Убедитесь, что регион в ARN совпадает с выбранным выше регионом AWS.","openRouterApiKey":"OpenRouter API-ключ","getOpenRouterApiKey":"Получить OpenRouter API-ключ","apiKeyStorageNotice":"API-ключи хранятся безопасно в Secret Storage VSCode","glamaApiKey":"Glama API-ключ","getGlamaApiKey":"Получить Glama API-ключ","useCustomBaseUrl":"Использовать пользовательский базовый URL","useReasoning":"Включить рассуждения","useHostHeader":"Использовать пользовательский Host-заголовок","useLegacyFormat":"Использовать устаревший формат OpenAI API","customHeaders":"Пользовательские заголовки","headerName":"Имя заголовка","headerValue":"Значение заголовка","noCustomHeaders":"Пользовательские заголовки не определены. Нажмите кнопку +, чтобы добавить.","requestyApiKey":"Requesty API-ключ","refreshModels":{"label":"Обновить модели","hint":"Пожалуйста, откройте настройки заново, чтобы увидеть последние модели.","loading":"Обновление списка моделей...","success":"Список моделей успешно обновлен!","error":"Не удалось обновить список моделей. Пожалуйста, попробуйте снова."},"getRequestyApiKey":"Получить Requesty API-ключ","openRouterTransformsText":"Сжимать подсказки и цепочки сообщений до размера контекста (<a>OpenRouter Transforms</a>)","anthropicApiKey":"Anthropic API-ключ","getAnthropicApiKey":"Получить Anthropic API-ключ","anthropicUseAuthToken":"Передавать Anthropic API-ключ как Authorization-заголовок вместо X-Api-Key","cerebrasApiKey":"Cerebras API-ключ","getCerebrasApiKey":"Получить Cerebras API-ключ","chutesApiKey":"Chutes API-ключ","getChutesApiKey":"Получить Chutes API-ключ","fireworksApiKey":"Fireworks API-ключ","getFireworksApiKey":"Получить Fireworks API-ключ","deepSeekApiKey":"DeepSeek API-ключ","getDeepSeekApiKey":"Получить DeepSeek API-ключ","doubaoApiKey":"Doubao API-ключ","getDoubaoApiKey":"Получить Doubao API-ключ","moonshotApiKey":"Moonshot API-ключ","getMoonshotApiKey":"Получить Moonshot API-ключ","moonshotBaseUrl":"Точка входа Moonshot","zaiApiKey":"Z AI API-ключ","getZaiApiKey":"Получить Z AI API-ключ","zaiEntrypoint":"Точка входа Z AI","zaiEntrypointDescription":"Пожалуйста, выберите подходящую точку входа API в зависимости от вашего местоположения. Если вы находитесь в Китае, выберите open.bigmodel.cn. В противном случае выберите api.z.ai.","geminiApiKey":"Gemini API-ключ","getGroqApiKey":"Получить Groq API-ключ","groqApiKey":"Groq API-ключ","getSambaNovaApiKey":"Получить SambaNova API-ключ","sambaNovaApiKey":"SambaNova API-ключ","getGeminiApiKey":"Получить Gemini API-ключ","getHuggingFaceApiKey":"Получить Hugging Face API-ключ","huggingFaceApiKey":"Hugging Face API-ключ","huggingFaceModelId":"ID модели","huggingFaceLoading":"Загрузка...","huggingFaceModelsCount":"({{count}} моделей)","huggingFaceSelectModel":"Выберите модель...","huggingFaceSearchModels":"Поиск моделей...","huggingFaceNoModelsFound":"Модели не найдены","huggingFaceProvider":"Провайдер","huggingFaceProviderAuto":"Автоматически","huggingFaceSelectProvider":"Выберите провайдера...","huggingFaceSearchProviders":"Поиск провайдеров...","huggingFaceNoProvidersFound":"Провайдеры не найдены","apiKey":"API-ключ","openAiApiKey":"OpenAI API-ключ","openAiBaseUrl":"Базовый URL","getOpenAiApiKey":"Получить OpenAI API-ключ","mistralApiKey":"Mistral API-ключ","getMistralApiKey":"Получить Mistral / Codestral API-ключ","codestralBaseUrl":"Базовый URL Codestral (опционально)","codestralBaseUrlDesc":"Укажите альтернативный URL для модели Codestral.","xaiApiKey":"xAI API-ключ","getXaiApiKey":"Получить xAI API-ключ","litellmApiKey":"API-ключ LiteLLM","litellmBaseUrl":"Базовый URL LiteLLM","awsCredentials":"AWS-учётные данные","awsProfile":"Профиль AWS","awsApiKey":"Ключ API Amazon Bedrock","awsProfileName":"Имя профиля AWS","awsAccessKey":"AWS Access Key","awsSecretKey":"AWS Secret Key","awsSessionToken":"AWS Session Token","awsRegion":"Регион AWS","awsCrossRegion":"Использовать кросс-региональный вывод","awsBedrockVpc":{"useCustomVpcEndpoint":"Использовать пользовательскую конечную точку VPC","vpcEndpointUrlPlaceholder":"Введите URL конечной точки VPC (опционально)","examples":"Примеры:"},"enablePromptCaching":"Включить кэширование подсказок","enablePromptCachingTitle":"Включить кэширование подсказок для повышения производительности и снижения затрат для поддерживаемых моделей.","cacheUsageNote":"Примечание: если вы не видите использование кэша, попробуйте выбрать другую модель, а затем вернуться к нужной.","vscodeLmModel":"Языковая модель","vscodeLmWarning":"Внимание: это очень экспериментальная интеграция, поддержка провайдера может отличаться. Если возникает ошибка о неподдерживаемой модели — проблема на стороне провайдера.","geminiParameters":{"urlContext":{"title":"Включить контекст URL","description":"Позволяет Gemini получать доступ к URL-адресам и обрабатывать их для дополнительного контекста при генерации ответов. Полезно для задач, требующих анализа веб-контента."},"groundingSearch":{"title":"Включить grounding через поиск Google","description":"Позволяет Gemini искать актуальную информацию в Google и основывать ответы на данных в реальном времени. Полезно для запросов, требующих актуальной информации."}},"googleCloudSetup":{"title":"Для использования Google Cloud Vertex AI необходимо:","step1":"1. Создайте аккаунт Google Cloud, включите Vertex AI API и нужные модели Claude.","step2":"2. Установите Google Cloud CLI и настройте учетные данные по умолчанию.","step3":"3. Или создайте сервисный аккаунт с ключом."},"googleCloudCredentials":"Учётные данные Google Cloud","googleCloudKeyFile":"Путь к ключу Google Cloud","googleCloudProjectId":"ID проекта Google Cloud","googleCloudRegion":"Регион Google Cloud","lmStudio":{"baseUrl":"Базовый URL (опционально)","modelId":"ID модели","speculativeDecoding":"Включить speculative decoding","draftModelId":"ID черновой модели","draftModelDesc":"Черновая модель должна быть из той же семьи моделей для корректной работы speculative decoding.","selectDraftModel":"Выбрать черновую модель","noModelsFound":"Черновых моделей не найдено. Проверьте, что LM Studio запущен с включённым серверным режимом.","description":"LM Studio позволяет запускать модели локально на вашем компьютере. Для начала ознакомьтесь с <a>кратким руководством</a>. Также необходимо включить <b>локальный сервер</b> LM Studio для работы с этим расширением. <span>Примечание:</span> Roo Code использует сложные подсказки и лучше всего работает с моделями Claude. Менее мощные модели могут работать некорректно."},"ollama":{"baseUrl":"Базовый URL (опционально)","modelId":"ID модели","description":"Ollama позволяет запускать модели локально на вашем компьютере. Для начала ознакомьтесь с кратким руководством.","warning":"Примечание: Roo Code использует сложные подсказки и лучше всего работает с моделями Claude. Менее мощные модели могут работать некорректно."},"unboundApiKey":"Unbound API-ключ","getUnboundApiKey":"Получить Unbound API-ключ","unboundRefreshModelsSuccess":"Список моделей обновлен! Теперь вы можете выбрать из последних моделей.","unboundInvalidApiKey":"Недействительный API-ключ. Пожалуйста, проверьте ваш API-ключ и попробуйте снова.","humanRelay":{"description":"API-ключ не требуется, но пользователю нужно вручную копировать и вставлять информацию в веб-чат ИИ.","instructions":"Во время использования появится диалоговое окно, и текущее сообщение будет скопировано в буфер обмена автоматически. Вам нужно вставить его в веб-версию ИИ (например, ChatGPT или Claude), затем скопировать ответ ИИ обратно в диалоговое окно и нажать кнопку подтверждения."},"openRouter":{"providerRouting":{"title":"Маршрутизация провайдера OpenRouter","description":"OpenRouter направляет запросы к лучшим доступным провайдерам для вашей модели. По умолчанию запросы балансируются между топовыми провайдерами для максимальной доступности. Однако вы можете выбрать конкретного провайдера для этой модели.","learnMore":"Подробнее о маршрутизации провайдеров"}},"customModel":{"capabilities":"Настройте возможности и стоимость вашей пользовательской модели, совместимой с OpenAI. Будьте осторожны при указании возможностей модели, это может повлиять на работу Roo Code.","maxTokens":{"label":"Максимум токенов на вывод","description":"Максимальное количество токенов, которые модель может сгенерировать в ответе. (Укажите -1, чтобы сервер сам определил максимум.)"},"contextWindow":{"label":"Размер окна контекста","description":"Общее количество токенов (вход + выход), которые модель может обработать."},"imageSupport":{"label":"Поддержка изображений","description":"Может ли эта модель обрабатывать и понимать изображения?"},"computerUse":{"label":"Использование компьютера","description":"Может ли эта модель взаимодействовать с браузером? (например, Claude 3.7 Sonnet)."},"promptCache":{"label":"Кэширование подсказок","description":"Может ли эта модель кэшировать подсказки?"},"pricing":{"input":{"label":"Цена за вход","description":"Стоимость за миллион токенов во входном сообщении/подсказке. Влияет на стоимость отправки контекста и инструкций модели."},"output":{"label":"Цена за вывод","description":"Стоимость за миллион токенов в ответе модели. Влияет на стоимость генерируемого контента."},"cacheReads":{"label":"Цена чтения из кэша","description":"Стоимость за миллион токенов при чтении из кэша. Взимается при получении кэшированного ответа."},"cacheWrites":{"label":"Цена записи в кэш","description":"Стоимость за миллион токенов при записи в кэш. Взимается при первом кэшировании подсказки."}},"resetDefaults":"Сбросить к значениям по умолчанию"},"rateLimitSeconds":{"label":"Лимит скорости","description":"Минимальное время между запросами к API."},"consecutiveMistakeLimit":{"label":"Лимит ошибок и повторений","description":"Количество последовательных ошибок или повторных действий перед показом диалогового окна 'У Roo возникли проблемы'","unlimitedDescription":"Включены неограниченные повторные попытки (автоматическое продолжение). Диалоговое окно никогда не появится.","warning":"⚠️ Установка значения 0 разрешает неограниченные повторные попытки, что может значительно увеличить использование API"},"reasoningEffort":{"label":"Усилия по рассуждению модели","high":"Высокие","medium":"Средние","low":"Низкие"},"setReasoningLevel":"Включить усилие рассуждения","claudeCode":{"pathLabel":"Путь к Claude Code","description":"Необязательный путь к вашему Claude Code CLI. По умолчанию используется 'claude', если не установлено.","placeholder":"По умолчанию: claude","maxTokensLabel":"Макс. выходных токенов","maxTokensDescription":"Максимальное количество выходных токенов для ответов Claude Code. По умолчанию 8000."}}`, + ), + aUe = { + enable: { + label: "Включить инструмент браузера", + description: + "Если включено, Roo может использовать браузер для взаимодействия с сайтами при использовании моделей, поддерживающих работу с компьютером. <0>Подробнее</0>", + }, + viewport: { + label: "Размер окна просмотра", + description: + "Выберите размер окна для взаимодействия с браузером. Влияет на отображение и взаимодействие с сайтами.", + options: { + largeDesktop: "Большой рабочий стол (1280x800)", + smallDesktop: "Маленький рабочий стол (900x600)", + tablet: "Планшет (768x1024)", + mobile: "Мобильный (360x640)", + }, + }, + screenshotQuality: { + label: "Качество скриншота", + description: + "Настройте качество WebP для скриншотов браузера. Более высокие значения дают более чёткие изображения, но увеличивают расход токенов.", + }, + remote: { + label: "Использовать удалённое подключение к браузеру", + description: "Подключиться к Chrome с включённым удалённым дебагом (--remote-debugging-port=9222).", + urlPlaceholder: "Пользовательский URL (например, http://localhost:9222)", + testButton: "Проверить соединение", + testingButton: "Проверка...", + instructions: + "Введите адрес DevTools Protocol или оставьте поле пустым для автоматического поиска локальных экземпляров Chrome. Кнопка проверки попробует пользовательский URL, если он указан, или выполнит автопоиск.", + }, + }, + lUe = { + enable: { + label: "Включить автоматические контрольные точки", + description: + "Если включено, Roo будет автоматически создавать контрольные точки во время выполнения задач, что упрощает просмотр изменений или возврат к предыдущим состояниям. <0>Подробнее</0>", + }, + }, + cUe = { + sound: { + label: "Включить звуковые эффекты", + description: "Если включено, Roo будет воспроизводить звуковые эффекты для уведомлений и событий.", + volumeLabel: "Громкость", + }, + tts: { + label: "Включить озвучивание", + description: "Если включено, Roo будет озвучивать свои ответы с помощью преобразования текста в речь.", + speedLabel: "Скорость", + }, + }, + dUe = { + description: + "Управляйте, какая информация включается в окно контекста ИИ, что влияет на расход токенов и качество ответов", + autoCondenseContextPercent: { + label: "Порог для запуска интеллектуального сжатия контекста", + description: "Когда контекстное окно достигает этого порога, Roo автоматически его сожмёт.", + }, + condensingApiConfiguration: { + label: "Конфигурация API для сжатия контекста", + description: + "Выберите конфигурацию API для операций сжатия контекста. Оставьте невыбранным, чтобы использовать текущую активную конфигурацию.", + useCurrentConfig: "По умолчанию", + }, + customCondensingPrompt: { + label: "Пользовательская подсказка для сжатия контекста", + description: + "Пользовательская системная подсказка для сжатия контекста. Оставьте пустым, чтобы использовать подсказку по умолчанию.", + placeholder: `Введите здесь свой пользовательский промпт для сжатия... + +Вы можете использовать ту же структуру, что и в промпте по умолчанию: +- Предыдущий разговор +- Текущая работа +- Ключевые технические концепции +- Соответствующие файлы и код +- Решение проблем +- Ожидающие задачи и следующие шаги`, + reset: "Сбросить на значение по умолчанию", + hint: "Пусто = использовать промпт по умолчанию", + }, + autoCondenseContext: { + name: "Автоматически запускать интеллектуальное сжатие контекста", + description: + "Когда включено, Roo будет автоматически сжимать контекст при достижении порога. Когда отключено, вы все еще можете вручную запускать сжатие контекста.", + }, + openTabs: { + label: "Лимит контекста открытых вкладок", + description: + "Максимальное количество открытых вкладок VSCode, включаемых в контекст. Большее значение даёт больше контекста, но увеличивает расход токенов.", + }, + workspaceFiles: { + label: "Лимит контекста файлов рабочей области", + description: + "Максимальное количество файлов, включаемых в детали текущей рабочей директории. Большее значение даёт больше контекста, но увеличивает расход токенов.", + }, + rooignore: { + label: "Показывать .rooignore-файлы в списках и поиске", + description: + "Если включено, файлы, совпадающие с шаблонами в .rooignore, будут отображаться в списках с символом замка. Если выключено, такие файлы полностью скрываются из списков и поиска.", + }, + maxReadFile: { + label: "Порог автообрезки при чтении файла", + description: + "Roo читает столько строк, если модель не указала явно начало/конец. Если число меньше общего количества строк в файле, Roo создаёт индекс определений кода по строкам. Особые случаи: -1 — Roo читает весь файл (без индексации), 0 — не читает строки, а создаёт только минимальный индекс. Меньшие значения минимизируют начальный контекст, позволяя точнее читать нужные диапазоны строк. Явные запросы начала/конца не ограничиваются этим параметром.", + lines: "строк", + always_full_read: "Всегда читать весь файл", + }, + maxConcurrentFileReads: { + label: "Лимит одновременного чтения", + description: + "Максимальное количество файлов, которые инструмент 'read_file' может обрабатывать одновременно. Более высокие значения могут ускорить чтение нескольких небольших файлов, но увеличивают использование памяти.", + }, + diagnostics: { + includeMessages: { + label: "Автоматически включать диагностику в контекст", + description: + "Если включено, диагностические сообщения (ошибки) из редактируемых файлов будут автоматически включаться в контекст. Вы всегда можете вручную включить всю диагностику рабочей области, используя @problems.", + }, + maxMessages: { + label: "Максимальное количество диагностических сообщений", + description: + "Максимальное количество диагностических сообщений для включения в файл. Этот лимит применяется как к автоматическому включению (когда флажок включен), так и к ручным упоминаниям @problems. Более высокие значения предоставляют больше контекста, но увеличивают использование токенов.", + resetTooltip: "Сбросить к значению по умолчанию (50)", + unlimited: "Неограниченные диагностические сообщения", + unlimitedLabel: "Неограниченно", + }, + delayAfterWrite: { + label: "Задержка после записи, чтобы диагностика могла обнаружить потенциальные проблемы", + description: + "Время ожидания после записи файлов перед продолжением, чтобы средства диагностики могли обработать изменения и выявить проблемы.", + }, + }, + condensingThreshold: { + label: "Порог запуска сжатия", + selectProfile: "Настроить порог для профиля", + defaultProfile: "Глобальный по умолчанию (все профили)", + defaultDescription: + "Когда контекст достигнет этого процента, он будет автоматически сжат для всех профилей, если у них нет пользовательских настроек", + profileDescription: + "Пользовательский порог только для этого профиля (переопределяет глобальный по умолчанию)", + inheritDescription: "Этот профиль наследует глобальный порог по умолчанию ({{threshold}}%)", + usesGlobal: "(использует глобальный {{threshold}}%)", + }, + maxImageFileSize: { + label: "Максимальный размер файла изображения", + mb: "MB", + description: + "Максимальный размер (в МБ) для файлов изображений, которые могут быть обработаны инструментом чтения файлов.", + }, + maxTotalImageSize: { + label: "Максимальный общий размер изображений", + mb: "МБ", + description: + "Максимальный совокупный лимит размера (в МБ) для всех изображений, обрабатываемых в одной операции read_file. При чтении нескольких изображений размер каждого изображения добавляется к общему. Если включение другого изображения превысит этот лимит, оно будет пропущено.", + }, + }, + uUe = { + basic: { label: "Настройки терминала: Основные", description: "Основные настройки терминала" }, + advanced: { + label: "Настройки терминала: Расширенные", + description: "Следующие параметры могут потребовать перезапуск терминала для применения настроек.", + }, + outputLineLimit: { + label: "Лимит вывода терминала", + description: + "Максимальное количество строк, включаемых в вывод терминала при выполнении команд. При превышении строки из середины будут удаляться для экономии токенов. <0>Подробнее</0>", + }, + outputCharacterLimit: { + label: "Лимит символов терминала", + description: + "Максимальное количество символов для включения в вывод терминала при выполнении команд. Этот лимит имеет приоритет над лимитом строк, чтобы предотвратить проблемы с памятью из-за чрезвычайно длинных строк. При превышении лимита вывод будет усечен. <0>Узнать больше</0>", + }, + shellIntegrationTimeout: { + label: "Таймаут интеграции оболочки терминала", + description: + 'Максимальное время ожидания инициализации интеграции оболочки перед выполнением команд. Для пользователей с долгим стартом shell это значение можно увеличить, если появляются ошибки "Shell Integration Unavailable". <0>Подробнее</0>', + }, + shellIntegrationDisabled: { + label: "Отключить интеграцию оболочки терминала", + description: + "Включите это, если команды терминала не работают должным образом или вы видите ошибки 'Shell Integration Unavailable'. Это использует более простой метод выполнения команд, обходя некоторые расширенные функции терминала. <0>Подробнее</0>", + }, + commandDelay: { + label: "Задержка команды терминала", + description: + "Задержка в миллисекундах после выполнения команды. Значение по умолчанию 0 полностью отключает задержку. Это может помочь захватить весь вывод в терминалах с проблемами синхронизации. Обычно реализуется установкой `PROMPT_COMMAND='sleep N'`, в Powershell добавляется `start-sleep` в конец команды. Изначально было обходом бага VSCode #237208 и может не требоваться. <0>Подробнее</0>", + }, + compressProgressBar: { + label: "Сжимать вывод прогресс-бара", + description: + "Если включено, обрабатывает вывод терминала с возвратами каретки (\\r), имитируя отображение в реальном терминале. Промежуточные состояния прогресс-бара удаляются, остаётся только финальное, что экономит место в контексте. <0>Подробнее</0>", + }, + powershellCounter: { + label: "Включить обходчик счётчика PowerShell", + description: + "Если включено, добавляет счётчик к командам PowerShell для корректного выполнения. Помогает при проблемах с захватом вывода в терминалах PowerShell. <0>Подробнее</0>", + }, + zshClearEolMark: { + label: "Очищать метку конца строки ZSH", + description: + "Если включено, очищает PROMPT_EOL_MARK в zsh, чтобы избежать проблем с интерпретацией вывода, когда он заканчивается специальными символами типа '%'. <0>Подробнее</0>", + }, + zshOhMy: { + label: "Включить интеграцию Oh My Zsh", + description: + "Если включено, устанавливает ITERM_SHELL_INTEGRATION_INSTALLED=Yes для поддержки функций интеграции Oh My Zsh. Применение этой настройки может потребовать перезапуска IDE. <0>Подробнее</0>", + }, + zshP10k: { + label: "Включить интеграцию Powerlevel10k", + description: + "Если включено, устанавливает POWERLEVEL9K_TERM_SHELL_INTEGRATION=true для поддержки функций Powerlevel10k. <0>Подробнее</0>", + }, + zdotdir: { + label: "Включить обработку ZDOTDIR", + description: + "Если включено, создаёт временную директорию для ZDOTDIR для корректной интеграции zsh. Это обеспечивает корректную работу интеграции VSCode с zsh, сохраняя вашу конфигурацию. <0>Подробнее</0>", + }, + inheritEnv: { + label: "Наследовать переменные среды", + description: + "Если включено, терминал будет наследовать переменные среды от родительского процесса VSCode, такие как настройки интеграции оболочки, определённые в профиле пользователя. Напрямую переключает глобальную настройку VSCode `terminal.integrated.inheritEnv`. <0>Подробнее</0>", + }, + }, + pUe = { title: "Дополнительные настройки" }, + mUe = { + diff: { + label: "Включить редактирование через диффы", + description: + "Если включено, Roo сможет быстрее редактировать файлы и автоматически отклонять усечённые полные записи. Лучше всего работает с последней моделью Claude 3.7 Sonnet.", + strategy: { + label: "Стратегия диффа", + options: { + standard: "Стандартная (один блок)", + multiBlock: "Экспериментально: Мультиблочный дифф", + unified: "Экспериментально: Унифицированный дифф", + }, + descriptions: { + standard: "Стандартная стратегия применяет изменения к одному блоку кода за раз.", + unified: + "Унифицированная стратегия использует несколько подходов к применению диффов и выбирает лучший.", + multiBlock: + "Мультиблочная стратегия позволяет обновлять несколько блоков кода в файле за один запрос.", + }, + }, + matchPrecision: { + label: "Точность совпадения", + description: + "Этот ползунок управляет точностью совпадения секций кода при применении диффов. Меньшие значения позволяют более гибкое совпадение, но увеличивают риск неверной замены. Используйте значения ниже 100% с осторожностью.", + }, + }, + todoList: { + label: "Включить инструмент списка задач", + description: + "При включении Roo может создавать и управлять списками задач для отслеживания прогресса. Это помогает организовать сложные задачи в управляемые шаги.", + }, + }, + hUe = { + DIFF_STRATEGY_UNIFIED: { + name: "Использовать экспериментальную стратегию унифицированного диффа", + description: + "Включает экспериментальную стратегию унифицированного диффа. Может уменьшить количество повторных попыток из-за ошибок модели, но может привести к неожиданному поведению или неверным правкам. Включайте только если готовы внимательно проверять все изменения.", + }, + SEARCH_AND_REPLACE: { + name: "Использовать экспериментальный инструмент поиска и замены", + description: + "Включает экспериментальный инструмент поиска и замены, позволяя Roo заменять несколько вхождений за один запрос.", + }, + INSERT_BLOCK: { + name: "Использовать экспериментальный инструмент вставки контента", + description: + "Включает экспериментальный инструмент вставки контента, позволяя Roo вставлять контент по номеру строки без создания диффа.", + }, + POWER_STEERING: { + name: 'Использовать экспериментальный режим "power steering"', + description: + "Если включено, Roo будет чаще напоминать модели детали текущего режима. Это приведёт к более строгому следованию ролям и инструкциям, но увеличит расход токенов.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Использовать экспериментальный мультиблочный инструмент диффа", + description: + "Если включено, Roo будет использовать мультиблочный инструмент диффа, пытаясь обновить несколько блоков кода за один запрос.", + }, + CONCURRENT_FILE_READS: { + name: "Включить одновременное чтение файлов", + description: + "При включении Roo может читать несколько файлов в одном запросе. При отключении Roo должен читать файлы по одному. Отключение может помочь при работе с менее производительными моделями или когда вы хотите больше контроля над доступом к файлам.", + }, + MARKETPLACE: { + name: "Включить Marketplace", + description: "Когда включено, вы можете устанавливать MCP и пользовательские режимы из Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Включить одновременное редактирование файлов", + description: + "Когда включено, Roo может редактировать несколько файлов в одном запросе. Когда отключено, Roo должен редактировать файлы по одному. Отключение этой функции может помочь при работе с менее способными моделями или когда вы хотите больше контроля над изменениями файлов.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Фоновое редактирование", + description: + "Предотвращает нарушение фокуса редактора при включении. Редактирование файлов происходит в фоновом режиме без открытия представлений различий или кражи фокуса. Вы можете продолжать работать без перерывов, пока Roo вносит изменения. Файлы могут открываться без фокуса для захвата диагностики или оставаться полностью закрытыми.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Использовать новый парсер сообщений", + description: + "Включите экспериментальный потоковый парсер сообщений, который ускоряет длинные ответы благодаря более эффективной обработке сообщений.", + }, + }, + fUe = { + label: "Отключить кэширование промптов", + description: "Если отмечено, Roo не будет использовать кэширование промптов для этой модели.", + }, + gUe = { + useCustom: "Использовать пользовательскую температуру", + description: "Управляет случайностью ответов модели.", + rangeDescription: "Более высокие значения делают ответы более случайными, низкие — более детерминированными.", + }, + vUe = { + supportsImages: "Поддерживает изображения", + noImages: "Не поддерживает изображения", + supportsComputerUse: "Поддерживает использование компьютера", + noComputerUse: "Не поддерживает использование компьютера", + supportsPromptCache: "Поддерживает кэширование подсказок", + noPromptCache: "Не поддерживает кэширование подсказок", + maxOutput: "Максимум вывода", + inputPrice: "Цена за вход", + outputPrice: "Цена за вывод", + cacheReadsPrice: "Цена чтения из кэша", + cacheWritesPrice: "Цена записи в кэш", + enableStreaming: "Включить потоковую передачу", + enableR1Format: "Включить параметры модели R1", + enableR1FormatTips: + "Необходимо включить при использовании моделей R1 (например, QWQ), чтобы избежать ошибок 400", + useAzure: "Использовать Azure", + azureApiVersion: "Установить версию API Azure", + gemini: { + freeRequests: "* Бесплатно до {{count}} запросов в минуту. Далее тарификация зависит от размера подсказки.", + pricingDetails: "Подробнее о ценах.", + billingEstimate: "* Счёт — приблизительный, точная стоимость зависит от размера подсказки.", + }, + }, + bUe = { + automaticFetch: + 'Расширение автоматически получает актуальный список моделей на <serviceLink>{{serviceName}}</serviceLink>. Если не уверены, что выбрать, Roo Code лучше всего работает с <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Также попробуйте поискать "free" для бесплатных вариантов.', + label: "Модель", + searchPlaceholder: "Поиск", + noMatchFound: "Совпадений не найдено", + useCustomModel: "Использовать пользовательскую: {{modelId}}", + }, + yUe = { + feedback: + "Если у вас есть вопросы или предложения, откройте issue на <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> или присоединяйтесь к <redditLink>reddit.com/r/RooCode</redditLink> или <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Разрешить анонимную отправку ошибок и статистики использования", + description: + "Помогите улучшить Roo Code, отправляя анонимные данные об ошибках и использовании. Код, подсказки и личная информация не отправляются. Подробнее — в политике конфиденциальности.", + }, + settings: { import: "Импорт", export: "Экспорт", reset: "Сбросить" }, + }, + kUe = { maxTokens: "Максимум токенов", maxThinkingTokens: "Максимум токенов на размышления" }, + xUe = { + apiKey: "Вы должны указать действительный API-ключ.", + awsRegion: "Вы должны выбрать регион для использования с Amazon Bedrock.", + googleCloud: "Вы должны указать действительный Project ID и регион Google Cloud.", + modelId: "Вы должны указать действительный ID модели.", + modelSelector: "Вы должны указать действительный селектор модели.", + openAi: "Вы должны указать действительный базовый URL, API-ключ и ID модели.", + arn: { + invalidFormat: "Неверный формат ARN. Проверьте требования к формату.", + regionMismatch: + "Внимание: регион в вашем ARN ({{arnRegion}}) не совпадает с выбранным регионом ({{region}}). Это может вызвать проблемы с доступом. Провайдер будет использовать регион из ARN.", + }, + modelAvailability: + "ID модели ({{modelId}}), который вы указали, недоступен. Пожалуйста, выберите другую модель.", + providerNotAllowed: "Провайдер '{{provider}}' не разрешен вашей организацией", + modelNotAllowed: "Модель '{{model}}' не разрешена для провайдера '{{provider}}' вашей организацией", + profileInvalid: "Этот профиль содержит провайдера или модель, которые не разрешены вашей организацией", + }, + wUe = { + apiKey: "Введите API-ключ...", + profileName: "Введите имя профиля", + accessKey: "Введите Access Key...", + secretKey: "Введите Secret Key...", + sessionToken: "Введите Session Token...", + credentialsJson: "Введите Credentials JSON...", + keyFilePath: "Введите путь к ключу...", + projectId: "Введите Project ID...", + customArn: "Введите ARN (например, arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Введите базовый URL...", + modelId: { + lmStudio: "например, meta-llama-3.1-8b-instruct", + lmStudioDraft: "например, lmstudio-community/llama-3.2-1b-instruct", + ollama: "например, llama3.1", + }, + numbers: { + maxTokens: "например, 4096", + contextWindow: "например, 128000", + inputPrice: "например, 0.0001", + outputPrice: "например, 0.0002", + cacheWritePrice: "например, 0.00005", + }, + }, + _Ue = { + ollamaUrl: "По умолчанию: http://localhost:11434", + lmStudioUrl: "По умолчанию: http://localhost:1234", + geminiUrl: "По умолчанию: https://generativelanguage.googleapis.com", + }, + CUe = { customArn: "Пользовательский ARN", useCustomArn: "Использовать пользовательский ARN..." }, + SUe = "Включить максимальные выходные токены", + AUe = + "Отправлять параметр максимальных выходных токенов в API-запросах. Некоторые провайдеры могут не поддерживать это.", + PUe = "Ограничить максимальное количество токенов в ответе", + RUe = "Максимальные выходные токены", + TUe = "Максимальные токены для генерации в ответе", + Lkt = { + common: JBe, + header: eUe, + unsavedChangesDialog: tUe, + sections: nUe, + prompts: oUe, + codeIndex: rUe, + autoApprove: iUe, + providers: sUe, + browser: aUe, + checkpoints: lUe, + notifications: cUe, + contextManagement: dUe, + terminal: uUe, + advancedSettings: pUe, + advanced: mUe, + experimental: hUe, + promptCaching: fUe, + temperature: gUe, + modelInfo: vUe, + modelPicker: bUe, + footer: yUe, + thinkingBudget: kUe, + validation: xUe, + placeholders: wUe, + defaults: _Ue, + labels: CUe, + includeMaxOutputTokens: SUe, + includeMaxOutputTokensDescription: AUe, + limitMaxTokensDescription: PUe, + maxOutputTokensLabel: RUe, + maxTokensGenerateDescription: TUe, + }, + Dkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: mUe, + advancedSettings: pUe, + autoApprove: iUe, + browser: aUe, + checkpoints: lUe, + codeIndex: rUe, + common: JBe, + contextManagement: dUe, + default: Lkt, + defaults: _Ue, + experimental: hUe, + footer: yUe, + header: eUe, + includeMaxOutputTokens: SUe, + includeMaxOutputTokensDescription: AUe, + labels: CUe, + limitMaxTokensDescription: PUe, + maxOutputTokensLabel: RUe, + maxTokensGenerateDescription: TUe, + modelInfo: vUe, + modelPicker: bUe, + notifications: cUe, + placeholders: wUe, + promptCaching: fUe, + prompts: oUe, + providers: sUe, + sections: nUe, + temperature: gUe, + terminal: uUe, + thinkingBudget: kUe, + unsavedChangesDialog: tUe, + validation: xUe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + IUe = "Добро пожаловать в Roo Code!", + MUe = + "С набором встроенных и расширяемых Режимов, Roo Code позволяет вам планировать, проектировать, писать код, отлаживать и повышать продуктивность как никогда раньше.", + jUe = "Для начала работы этому расширению нужен провайдер API.", + EUe = "Поехали!", + zUe = { + requesty: { description: "Ваш оптимизированный маршрутизатор LLM", incentive: "$1 бесплатного кредита" }, + openrouter: { description: "Унифицированный интерфейс для LLM" }, + }, + $Ue = "Для своей магии Roo нуждается в API-ключе.", + LUe = "Мы рекомендуем использовать маршрутизатор LLM:", + DUe = "Или вы можете использовать свой собственный API-ключ:", + NUe = { + title: "Помогите улучшить Roo Code", + anonymousTelemetry: + "Отправлять анонимные данные об ошибках и использовании, чтобы помочь нам исправлять баги и совершенствовать расширение. Код, промпты и личная информация никогда не отправляются.", + changeSettings: "Вы всегда можете изменить это внизу страницы <settingsLink>настроек</settingsLink>", + settings: "настройки", + allow: "Разрешить", + deny: "Запретить", + }, + OUe = "Импорт настроек", + Nkt = { + greeting: IUe, + introduction: MUe, + notice: jUe, + start: EUe, + routers: zUe, + chooseProvider: $Ue, + startRouter: LUe, + startCustom: DUe, + telemetry: NUe, + importSettings: OUe, + }, + Okt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: $Ue, + default: Nkt, + greeting: IUe, + importSettings: OUe, + introduction: MUe, + notice: jUe, + routers: zUe, + start: EUe, + startCustom: DUe, + startRouter: LUe, + telemetry: NUe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + FUe = "Hesap", + BUe = "Profil resmi", + UUe = "Çıkış yap", + qUe = "API Kimlik Doğrulamayı Test Et", + WUe = "Roo Code Cloud'a bağlan", + KUe = "Bağlan", + VUe = "Roo Code Cloud'a bağlan", + HUe = "Aşağıdakileri etkinleştirmek için promptlarını ve telemetriyi senkronize et:", + GUe = "Çevrimiçi görev geçmişi", + QUe = "Paylaşım ve işbirliği özellikleri", + ZUe = "Görev, token ve maliyet tabanlı kullanım metrikleri", + YUe = "Roomote Control ile görevleri her yerden takip et ve kontrol et", + XUe = "Roomote Control", + JUe = "Bu çalışma alanındaki görevleri Roo Code Cloud ile takip etme ve etkileşim kurma imkanı sağlar", + eqe = "Roo Code Cloud'u ziyaret et", + Fkt = { + title: FUe, + profilePicture: BUe, + logOut: UUe, + testApiAuthentication: qUe, + signIn: WUe, + connect: KUe, + cloudBenefitsTitle: VUe, + cloudBenefitsSubtitle: HUe, + cloudBenefitHistory: GUe, + cloudBenefitSharing: QUe, + cloudBenefitMetrics: ZUe, + cloudBenefitWalkaway: YUe, + remoteControl: XUe, + remoteControlDescription: JUe, + visitCloudWebsite: eqe, + }, + Bkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: GUe, + cloudBenefitMetrics: ZUe, + cloudBenefitSharing: QUe, + cloudBenefitWalkaway: YUe, + cloudBenefitsSubtitle: HUe, + cloudBenefitsTitle: VUe, + connect: KUe, + default: Fkt, + logOut: UUe, + profilePicture: BUe, + remoteControl: XUe, + remoteControlDescription: JUe, + signIn: WUe, + testApiAuthentication: qUe, + title: FUe, + visitCloudWebsite: eqe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + tqe = "Roo Code'a Hoş Geldiniz", + nqe = { + title: "Görev", + seeMore: "Daha fazla gör", + seeLess: "Daha az gör", + tokens: "Tokenlar:", + cache: "Önbellek:", + apiCost: "API Maliyeti:", + contextWindow: "Bağlam Uzunluğu:", + closeAndStart: "Görevi kapat ve yeni bir görev başlat", + export: "Görev geçmişini dışa aktar", + delete: "Görevi sil (Onayı atlamak için Shift + Tıkla)", + condenseContext: "Bağlamı akıllıca yoğunlaştır", + share: "Görevi paylaş", + shareWithOrganization: "Kuruluşla paylaş", + shareWithOrganizationDescription: "Sadece kuruluşunuzun üyeleri erişebilir", + sharePublicly: "Herkese açık paylaş", + sharePubliclyDescription: "Bağlantıya sahip herkes erişebilir", + connectToCloud: "Buluta bağlan", + connectToCloudDescription: "Görevleri paylaşmak için Roo Code Cloud'a giriş yap", + sharingDisabledByOrganization: "Paylaşım kuruluş tarafından devre dışı bırakıldı", + shareSuccessOrganization: "Organizasyon bağlantısı panoya kopyalandı", + shareSuccessPublic: "Genel bağlantı panoya kopyalandı", + }, + oqe = "Sabitlemeyi iptal et", + rqe = "Sabitle", + iqe = { + availableSpace: "Kullanılabilir alan: {{amount}} token", + tokensUsed: "Kullanılan tokenlar: {{used}} / {{total}}", + reservedForResponse: "Model yanıtı için ayrılan: {{amount}} token", + }, + sqe = { title: "Yeniden Dene", tooltip: "İşlemi tekrar dene" }, + aqe = { title: "Yeni Görev Başlat", tooltip: "Yeni bir görev başlat" }, + lqe = { title: "Yine de Devam Et", tooltip: "Komut çalışırken devam et" }, + cqe = { title: "Kaydet", tooltip: "Mesaj değişikliklerini kaydet" }, + dqe = { title: "Reddet", tooltip: "Bu eylemi reddet" }, + uqe = "Alt görevi tamamla ve geri dön", + pqe = { title: "Onayla", tooltip: "Bu eylemi onayla" }, + mqe = { title: "Komutu Çalıştır", tooltip: "Bu komutu çalıştır" }, + hqe = { title: "Çalışırken Devam Et", tooltip: "Uyarılara rağmen devam et" }, + fqe = { title: "Komutu Durdur", tooltip: "Mevcut komutu durdur" }, + gqe = { title: "Göreve Devam Et", tooltip: "Mevcut göreve devam et" }, + vqe = { title: "Sonlandır", tooltip: "Mevcut görevi sonlandır" }, + bqe = { title: "İptal", tooltip: "Mevcut işlemi iptal et" }, + yqe = "Sohbetin altına kaydır", + kqe = + "AI yardımıyla kod oluşturun, yeniden düzenleyin ve hatalarını ayıklayın. Daha fazla bilgi edinmek için <DocsLink>belgelerimize</DocsLink> göz atın.", + xqe = + "<strong>Bu çalışma alanındaki görev listeniz boş.</strong> Aşağıya bir görev yazarak başlayın. Nasıl başlayacağınızdan emin değil misiniz? Roo'nun sizin için neler yapabileceği hakkında daha fazla bilgiyi <DocsLink>belgelerde</DocsLink> okuyun.", + wqe = { + boomerangTasks: { + title: "Görev Orkestrasyonu", + description: "Görevleri daha küçük, yönetilebilir parçalara ayırın.", + }, + stickyModels: { title: "Yapışkan Modlar", description: "Her mod, en son kullandığınız modeli hatırlar" }, + tools: { + title: "Araçlar", + description: + "AI'nın web'e göz atarak, komutlar çalıştırarak ve daha fazlasını yaparak sorunları çözmesine izin verin.", + }, + customizableModes: { + title: "Özelleştirilebilir Modlar", + description: "Kendi davranışları ve atanmış modelleri ile özelleştirilmiş kişilikler", + }, + }, + _qe = "Etkileşim modunu seçin", + Cqe = "API yapılandırmasını seçin", + Sqe = "Ek bağlamla istemi geliştir", + Aqe = "Mesaja resim ekle", + Pqe = "Mesaj gönder", + Rqe = "Metin okumayı durdur", + Tqe = "Bir mesaj yazın...", + Iqe = "Görevinizi buraya yazın...", + Mqe = "Bağlam eklemek için @, komutlar için /", + jqe = "dosyaları sürüklemek için shift tuşuna basılı tutun", + Eqe = "dosyaları/resimleri sürüklemek için shift tuşuna basılı tutun", + zqe = + "'İstemi geliştir' düğmesi, ek bağlam, açıklama veya yeniden ifade sağlayarak isteğinizi iyileştirmeye yardımcı olur. Buraya bir istek yazıp düğmeye tekrar tıklayarak nasıl çalıştığını görebilirsiniz.", + $qe = { + title: "Modlar", + marketplace: "Mod Pazaryeri", + settings: "Mod Ayarları", + description: "Roo'nun davranışını özelleştiren uzmanlaşmış kişilikler.", + searchPlaceholder: "Modları ara...", + noResults: "Sonuç bulunamadı", + }, + Lqe = "Dosya okuma hatası:", + Dqe = "Hiçbir geçerli resim işlenmedi", + Nqe = "Ayırıcı", + Oqe = "Düzenle...", + Fqe = "sonraki mod için", + Bqe = "önceki mod için", + Uqe = "Hata", + qqe = { title: "Düzenleme Başarısız" }, + Wqe = "Roo sorun yaşıyor...", + Kqe = { + title: "API İsteği", + failed: "API İsteği Başarısız", + streaming: "API İsteği...", + cancelled: "API İsteği İptal Edildi", + streamingFailed: "API Akışı Başarısız", + }, + Vqe = { + regular: "Kontrol Noktası", + initializingWarning: + "Kontrol noktası hala başlatılıyor... Bu çok uzun sürerse, <settingsLink>ayarlar</settingsLink> bölümünden kontrol noktalarını devre dışı bırakabilir ve görevinizi yeniden başlatabilirsiniz.", + menu: { + viewDiff: "Farkları Görüntüle", + restore: "Kontrol Noktasını Geri Yükle", + restoreFiles: "Dosyaları Geri Yükle", + restoreFilesDescription: "Projenizin dosyalarını bu noktada alınan bir anlık görüntüye geri yükler.", + restoreFilesAndTask: "Dosyaları ve Görevi Geri Yükle", + confirm: "Onayla", + cancel: "İptal", + cannotUndo: "Bu işlem geri alınamaz.", + restoreFilesAndTaskDescription: + "Projenizin dosyalarını bu noktada alınan bir anlık görüntüye geri yükler ve bu noktadan sonraki tüm mesajları siler.", + }, + current: "Mevcut", + }, + Hqe = { wantsToFetch: "Roo mevcut göreve yardımcı olmak için ayrıntılı talimatlar almak istiyor" }, + Gqe = { + wantsToRead: "Roo bu dosyayı okumak istiyor:", + wantsToReadOutsideWorkspace: "Roo çalışma alanı dışındaki bu dosyayı okumak istiyor:", + didRead: "Roo bu dosyayı okudu:", + wantsToEdit: "Roo bu dosyayı düzenlemek istiyor:", + wantsToEditOutsideWorkspace: "Roo çalışma alanı dışındaki bu dosyayı düzenlemek istiyor:", + wantsToEditProtected: "Roo korumalı bir yapılandırma dosyasını düzenlemek istiyor:", + wantsToCreate: "Roo yeni bir dosya oluşturmak istiyor:", + wantsToSearchReplace: "Roo bu dosyada arama ve değiştirme yapmak istiyor:", + didSearchReplace: "Roo bu dosyada arama ve değiştirme yaptı:", + wantsToInsert: "Roo bu dosyaya içerik eklemek istiyor:", + wantsToInsertWithLineNumber: "Roo bu dosyanın {{lineNumber}}. satırına içerik eklemek istiyor:", + wantsToInsertAtEnd: "Roo bu dosyanın sonuna içerik eklemek istiyor:", + wantsToReadAndXMore: "Roo bu dosyayı ve {{count}} tane daha okumak istiyor:", + wantsToReadMultiple: "Roo birden fazla dosya okumak istiyor:", + wantsToApplyBatchChanges: "Roo birden fazla dosyaya değişiklik uygulamak istiyor:", + }, + Qqe = { + wantsToViewTopLevel: "Roo bu dizindeki üst düzey dosyaları görüntülemek istiyor:", + didViewTopLevel: "Roo bu dizindeki üst düzey dosyaları görüntüledi:", + wantsToViewRecursive: "Roo bu dizindeki tüm dosyaları özyinelemeli olarak görüntülemek istiyor:", + didViewRecursive: "Roo bu dizindeki tüm dosyaları özyinelemeli olarak görüntüledi:", + wantsToViewDefinitions: "Roo bu dizinde kullanılan kaynak kod tanımlama isimlerini görüntülemek istiyor:", + didViewDefinitions: "Roo bu dizinde kullanılan kaynak kod tanımlama isimlerini görüntüledi:", + wantsToSearch: "Roo bu dizinde <code>{{regex}}</code> için arama yapmak istiyor:", + didSearch: "Roo bu dizinde <code>{{regex}}</code> için arama yaptı:", + wantsToSearchOutsideWorkspace: + "Roo bu dizinde (çalışma alanı dışında) <code>{{regex}}</code> için arama yapmak istiyor:", + didSearchOutsideWorkspace: "Roo bu dizinde (çalışma alanı dışında) <code>{{regex}}</code> için arama yaptı:", + wantsToViewTopLevelOutsideWorkspace: + "Roo bu dizindeki (çalışma alanı dışında) üst düzey dosyaları görüntülemek istiyor:", + didViewTopLevelOutsideWorkspace: "Roo bu dizindeki (çalışma alanı dışında) üst düzey dosyaları görüntüledi:", + wantsToViewRecursiveOutsideWorkspace: + "Roo bu dizindeki (çalışma alanı dışında) tüm dosyaları özyinelemeli olarak görüntülemek istiyor:", + didViewRecursiveOutsideWorkspace: + "Roo bu dizindeki (çalışma alanı dışında) tüm dosyaları özyinelemeli olarak görüntüledi:", + wantsToViewDefinitionsOutsideWorkspace: + "Roo bu dizinde (çalışma alanı dışında) kullanılan kaynak kod tanımlama isimlerini görüntülemek istiyor:", + didViewDefinitionsOutsideWorkspace: + "Roo bu dizinde (çalışma alanı dışında) kullanılan kaynak kod tanımlama isimlerini görüntüledi:", + }, + Zqe = "Komut Çıktısı", + Yqe = { + running: "Çalışıyor", + pid: "PID: {{pid}}", + exited: "Çıkıldı ({{exitCode}})", + manageCommands: "Komut İzinlerini Yönet", + commandManagementDescription: + "Komut izinlerini yönetin: Otomatik yürütmeye izin vermek için ✓'e, yürütmeyi reddetmek için ✗'e tıklayın. Desenler açılıp kapatılabilir veya listelerden kaldırılabilir. <settingsLink>Tüm ayarları görüntüle</settingsLink>", + addToAllowed: "İzin verilenler listesine ekle", + removeFromAllowed: "İzin verilenler listesinden kaldır", + addToDenied: "Reddedilenler listesine ekle", + removeFromDenied: "Reddedilenler listesinden kaldır", + abortCommand: "Komut yürütmeyi iptal et", + expandOutput: "Çıktıyı genişlet", + collapseOutput: "Çıktıyı daralt", + expandManagement: "Komut yönetimi bölümünü genişlet", + collapseManagement: "Komut yönetimi bölümünü daralt", + }, + Xqe = "Yanıt", + Jqe = { + wantsToUseTool: "Roo {{serverName}} MCP sunucusunda bir araç kullanmak istiyor:", + wantsToAccessResource: "Roo {{serverName}} MCP sunucusundaki bir kaynağa erişmek istiyor:", + }, + e3e = { + wantsToSwitch: "Roo <code>{{mode}}</code> moduna geçmek istiyor", + wantsToSwitchWithReason: "Roo <code>{{mode}}</code> moduna geçmek istiyor çünkü: {{reason}}", + didSwitch: "Roo <code>{{mode}}</code> moduna geçti", + didSwitchWithReason: "Roo <code>{{mode}}</code> moduna geçti çünkü: {{reason}}", + }, + t3e = { + wantsToCreate: "Roo <code>{{mode}}</code> modunda yeni bir alt görev oluşturmak istiyor:", + wantsToFinish: "Roo bu alt görevi bitirmek istiyor", + newTaskContent: "Alt Görev Talimatları", + completionContent: "Alt Görev Tamamlandı", + resultContent: "Alt Görev Sonuçları", + defaultResult: "Lütfen sonraki göreve devam edin.", + completionInstructions: + "Alt görev tamamlandı! Sonuçları inceleyebilir ve düzeltmeler veya sonraki adımlar önerebilirsiniz. Her şey iyi görünüyorsa, sonucu üst göreve döndürmek için onaylayın.", + }, + n3e = { hasQuestion: "Roo'nun bir sorusu var:" }, + o3e = "Görev Tamamlandı", + r3e = { issues: "Windows PowerShell ile ilgili sorunlar yaşıyor gibi görünüyorsunuz, lütfen şu konuya bakın" }, + i3e = { + title: "Otomatik-onay:", + none: "Hiçbiri", + description: + "Otomatik onay, Roo Code'un izin istemeden işlemler gerçekleştirmesine olanak tanır. Yalnızca tamamen güvendiğiniz eylemler için etkinleştirin. Daha detaylı yapılandırma <settingsLink>Ayarlar</settingsLink>'da mevcuttur.", + selectOptionsFirst: "Otomatik onayı etkinleştirmek için aşağıdan en az bir seçenek belirleyin", + toggleAriaLabel: "Otomatik onayı değiştir", + disabledAriaLabel: "Otomatik onay devre dışı - önce seçenekleri belirleyin", + }, + s3e = { thinking: "Düşünüyor", seconds: "{{count}}sn" }, + a3e = { + title: "Bağlam Özetlendi", + condensing: "Bağlam yoğunlaştırılıyor...", + errorHeader: "Bağlam yoğunlaştırılamadı", + tokens: "token", + }, + l3e = { + copyToInput: "Giriş alanına kopyala (veya Shift + tıklama)", + autoSelectCountdown: "{{count}}s içinde otomatik seçilecek", + countdownDisplay: "{{count}}sn", + }, + c3e = { + title: "🎉 Roo Code {{version}} Yayınlandı", + description: + "Roo Code {{version}}, geliştirme iş akışınızı geliştirmek için güçlü yeni özellikler ve önemli iyileştirmeler getiriyor.", + whatsNew: "Yenilikler", + feature1: + "<bold>Mesaj Kuyruğu</bold>: Roo çalışırken birden fazla mesajı kuyruğa alın, iş akışınızı kesintisiz olarak planlamaya devam etmenizi sağlar.", + feature2: + "<bold>Özel Slash Komutları</bold>: Sık kullanılan promptlara ve iş akışlarına hızlı erişim için kişiselleştirilmiş slash komutları oluşturun, tam UI yönetimi ile.", + feature3: + "<bold>Gelişmiş Gemini Araçları</bold>: Yeni URL bağlamı ve Google Arama temellendirilmesi yetenekleri, Gemini modellerine gerçek zamanlı web bilgileri ve gelişmiş araştırma yetenekleri sağlar.", + hideButton: "Duyuruyu gizle", + detailsDiscussLinks: + "<discordLink>Discord</discordLink> ve <redditLink>Reddit</redditLink>'te daha fazla ayrıntı alın ve tartışmalara katılın 🚀", + }, + d3e = { + rooWantsToUse: "Roo tarayıcıyı kullanmak istiyor:", + consoleLogs: "Konsol Kayıtları", + noNewLogs: "(Yeni kayıt yok)", + screenshot: "Tarayıcı ekran görüntüsü", + cursor: "imleç", + navigation: { step: "Adım {{current}} / {{total}}", previous: "Önceki", next: "Sonraki" }, + sessionStarted: "Tarayıcı Oturumu Başlatıldı", + actions: { + title: "Tarayıcı İşlemi: ", + launch: "{{url}} adresinde tarayıcı başlat", + click: "Tıkla ({{coordinate}})", + type: 'Yaz "{{text}}"', + scrollDown: "Aşağı kaydır", + scrollUp: "Yukarı kaydır", + close: "Tarayıcıyı kapat", + }, + }, + u3e = { + tooltips: { + expand: "Kod bloğunu genişlet", + collapse: "Kod bloğunu daralt", + enable_wrap: "Satır kaydırmayı etkinleştir", + disable_wrap: "Satır kaydırmayı devre dışı bırak", + copy_code: "Kodu kopyala", + }, + }, + p3e = + "UYARI: Özel sistem komut geçersiz kılma aktif. Bu işlevselliği ciddi şekilde bozabilir ve öngörülemeyen davranışlara neden olabilir.", + m3e = "Geçerli profil kuruluşunuzun ayarlarıyla uyumlu değil", + h3e = { + title: "Komut Çalıştırma Uyarısı", + description: + "Komutunuz VSCode terminal kabuk entegrasyonu olmadan çalıştırılıyor. Bu uyarıyı gizlemek için <settingsLink>Roo Code ayarları</settingsLink>'nın <strong>Terminal</strong> bölümünden kabuk entegrasyonunu devre dışı bırakabilir veya aşağıdaki bağlantıyı kullanarak VSCode terminal entegrasyonu sorunlarını giderebilirsiniz.", + troubleshooting: "Kabuk entegrasyonu belgelerini görmek için buraya tıklayın.", + }, + f3e = { + autoApprovedRequestLimitReached: { + title: "Otomatik Onaylanan İstek Limiti Aşıldı", + description: + "Roo, {{count}} API isteği/istekleri için otomatik onaylanan limite ulaştı. Sayacı sıfırlamak ve göreve devam etmek istiyor musunuz?", + button: "Sıfırla ve Devam Et", + }, + autoApprovedCostLimitReached: { + title: "Otomatik Onaylanan Maliyet Sınırına Ulaşıldı", + description: + "Roo otomatik olarak onaylanmış ${{count}} maliyet sınırına ulaştı. Maliyeti sıfırlamak ve göreve devam etmek ister misiniz?", + button: "Sıfırla ve Devam Et", + }, + }, + g3e = { + wantsToSearch: "Roo kod tabanında <code>{{query}}</code> aramak istiyor:", + wantsToSearchWithPath: "Roo <code>{{path}}</code> içinde kod tabanında <code>{{query}}</code> aramak istiyor:", + didSearch_one: "1 sonuç bulundu", + didSearch_other: "{{count}} sonuç bulundu", + resultTooltip: "Benzerlik puanı: {{score}} (dosyayı açmak için tıklayın)", + }, + v3e = { + ready: "İndeks hazır", + indexing: "İndeksleniyor {{percentage}}%", + indexed: "İndekslendi", + error: "İndeks hatası", + status: "İndeks durumu", + }, + b3e = { ariaLabel: "Sürüm {{version}} - Sürüm notlarını görüntülemek için tıklayın" }, + y3e = { + title: "Roo Code Cloud yakında geliyor!", + description: + "Bulutta uzak ajanlar çalıştırın, görevlerinize her yerden erişin, başkalarıyla işbirliği yapın ve daha fazlası.", + joinWaitlist: "Erken erişim için bekleme listesine katılın.", + }, + k3e = { placeholder: "Mesajını düzenle..." }, + x3e = { triggerDescription: "{{name}} komutunu tetikle" }, + w3e = { + tooltip: "Eğik çizgi komutlarını yönet", + title: "Eğik Çizgi Komutları", + description: + "Sık kullanılan komut istemleri ve iş akışlarına hızlı erişim için özel eğik çizgi komutları oluşturun. <DocsLink>Belgeler</DocsLink>", + globalCommands: "Genel Komutlar", + workspaceCommands: "Çalışma Alanı Komutları", + globalCommand: "Genel komut", + editCommand: "Komutu düzenle", + deleteCommand: "Komutu sil", + newGlobalCommandPlaceholder: "Yeni genel komut...", + newWorkspaceCommandPlaceholder: "Yeni çalışma alanı komutu...", + deleteDialog: { + title: "Komutu Sil", + description: '"{{name}}" komutunu silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.', + cancel: "İptal", + confirm: "Sil", + }, + }, + _3e = { title: "Sıradaki Mesajlar:", clickToEdit: "Mesajı düzenlemek için tıkla" }, + Ukt = { + greeting: tqe, + task: nqe, + unpin: oqe, + pin: rqe, + tokenProgress: iqe, + retry: sqe, + startNewTask: aqe, + proceedAnyways: lqe, + save: cqe, + reject: dqe, + completeSubtaskAndReturn: uqe, + approve: pqe, + runCommand: mqe, + proceedWhileRunning: hqe, + killCommand: fqe, + resumeTask: gqe, + terminate: vqe, + cancel: bqe, + scrollToBottom: yqe, + about: kqe, + onboarding: xqe, + rooTips: wqe, + selectMode: _qe, + selectApiConfig: Cqe, + enhancePrompt: Sqe, + addImages: Aqe, + sendMessage: Pqe, + stopTts: Rqe, + typeMessage: Tqe, + typeTask: Iqe, + addContext: Mqe, + dragFiles: jqe, + dragFilesImages: Eqe, + enhancePromptDescription: zqe, + modeSelector: $qe, + errorReadingFile: Lqe, + noValidImages: Dqe, + separator: Nqe, + edit: Oqe, + forNextMode: Fqe, + forPreviousMode: Bqe, + error: Uqe, + diffError: qqe, + troubleMessage: Wqe, + apiRequest: Kqe, + checkpoint: Vqe, + instructions: Hqe, + fileOperations: Gqe, + directoryOperations: Qqe, + commandOutput: Zqe, + commandExecution: Yqe, + response: Xqe, + arguments: "Argümanlar", + mcp: Jqe, + modes: e3e, + subtasks: t3e, + questions: n3e, + taskCompleted: o3e, + powershell: r3e, + autoApprove: i3e, + reasoning: s3e, + contextCondense: a3e, + followUpSuggest: l3e, + announcement: c3e, + browser: d3e, + codeblock: u3e, + systemPromptWarning: p3e, + profileViolationWarning: m3e, + shellIntegration: h3e, + ask: f3e, + codebaseSearch: g3e, + "read-batch": { approve: { title: "Tümünü Onayla" }, deny: { title: "Tümünü Reddet" } }, + indexingStatus: v3e, + versionIndicator: b3e, + rooCloudCTA: y3e, + editMessage: k3e, + command: x3e, + slashCommands: w3e, + queuedMessages: _3e, + }, + qkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: kqe, + addContext: Mqe, + addImages: Aqe, + announcement: c3e, + apiRequest: Kqe, + approve: pqe, + ask: f3e, + autoApprove: i3e, + browser: d3e, + cancel: bqe, + checkpoint: Vqe, + codebaseSearch: g3e, + codeblock: u3e, + command: x3e, + commandExecution: Yqe, + commandOutput: Zqe, + completeSubtaskAndReturn: uqe, + contextCondense: a3e, + default: Ukt, + diffError: qqe, + directoryOperations: Qqe, + dragFiles: jqe, + dragFilesImages: Eqe, + edit: Oqe, + editMessage: k3e, + enhancePrompt: Sqe, + enhancePromptDescription: zqe, + error: Uqe, + errorReadingFile: Lqe, + fileOperations: Gqe, + followUpSuggest: l3e, + forNextMode: Fqe, + forPreviousMode: Bqe, + greeting: tqe, + indexingStatus: v3e, + instructions: Hqe, + killCommand: fqe, + mcp: Jqe, + modeSelector: $qe, + modes: e3e, + noValidImages: Dqe, + onboarding: xqe, + pin: rqe, + powershell: r3e, + proceedAnyways: lqe, + proceedWhileRunning: hqe, + profileViolationWarning: m3e, + questions: n3e, + queuedMessages: _3e, + reasoning: s3e, + reject: dqe, + response: Xqe, + resumeTask: gqe, + retry: sqe, + rooCloudCTA: y3e, + rooTips: wqe, + runCommand: mqe, + save: cqe, + scrollToBottom: yqe, + selectApiConfig: Cqe, + selectMode: _qe, + sendMessage: Pqe, + separator: Nqe, + shellIntegration: h3e, + slashCommands: w3e, + startNewTask: aqe, + stopTts: Rqe, + subtasks: t3e, + systemPromptWarning: p3e, + task: nqe, + taskCompleted: o3e, + terminate: vqe, + tokenProgress: iqe, + troubleMessage: Wqe, + typeMessage: Tqe, + typeTask: Iqe, + unpin: oqe, + versionIndicator: b3e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + C3e = { + title: "Bir şeyler yanlış gitti", + reportText: "Bu hatayı bildirerek iyileştirmemize yardımcı olun", + githubText: "GitHub Issues sayfamızda", + copyInstructions: "Gönderiminize dahil etmek için aşağıdaki hata mesajını kopyalayıp yapıştırın:", + errorStack: "Hata Yığını:", + componentStack: "Bileşen Yığını:", + }, + S3e = { yes: "Evet", no: "Hayır", cancel: "İptal", remove: "Kaldır", keep: "Tut" }, + A3e = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + P3e = { search_placeholder: "Ara...", no_results: "Sonuç bulunamadı" }, + R3e = { + loading: "Mermaid diyagramı oluşturuluyor...", + render_error: "Diyagram render edilemiyor", + buttons: { + zoom: "Yakınlaştır", + zoomIn: "Büyüt", + zoomOut: "Küçült", + copy: "Kopyala", + save: "Resmi kaydet", + viewCode: "Kodu görüntüle", + viewDiagram: "Diyagramı görüntüle", + close: "Kapat", + }, + modal: { codeTitle: "Mermaid Kodu" }, + tabs: { diagram: "Diyagram", code: "Kod" }, + feedback: { imageCopied: "Görsel panoya kopyalandı", copyError: "Görsel kopyalama hatası" }, + }, + T3e = { + errors: { + invalidDataUri: "Geçersiz veri URI formatı", + copyingImage: "Görsel kopyalama hatası: {{error}}", + openingImage: "Görsel açma hatası: {{error}}", + pathNotExists: "Yol mevcut değil: {{path}}", + couldNotOpen: "Dosya açılamadı: {{error}}", + couldNotOpenGeneric: "Dosya açılamadı!", + }, + success: { imageDataUriCopied: "Görsel veri URI'si panoya kopyalandı" }, + }, + I3e = { + deleteMessage: "Mesajı Sil", + deleteWarning: "Bu mesajı silmek, konuşmadaki sonraki tüm mesajları da silecektir. Devam etmek istiyor musun?", + editMessage: "Mesajı Düzenle", + editWarning: + "Bu mesajı düzenlemek, konuşmadaki sonraki tüm mesajları da silecektir. Devam etmek istiyor musun?", + proceed: "Devam Et", + }, + Wkt = { errorBoundary: C3e, answers: S3e, number_format: A3e, ui: P3e, mermaid: R3e, file: T3e, confirmation: I3e }, + Kkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: S3e, + confirmation: I3e, + default: Wkt, + errorBoundary: C3e, + file: T3e, + mermaid: R3e, + number_format: A3e, + ui: P3e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + M3e = "Son görevler", + j3e = "Geçmiş", + E3e = "Seçim Modundan Çık", + z3e = "Seçim Moduna Gir", + $3e = "Tamam", + L3e = "Geçmişte ara...", + D3e = "En Yeni", + N3e = "En Eski", + O3e = "En Pahalı", + F3e = "En Çok Token", + B3e = "En İlgili", + U3e = "Görevi Sil (Onayı atlamak için Shift + Tıkla)", + q3e = "Promptu Kopyala", + W3e = "Görevi Dışa Aktar", + K3e = "Görevi Sil", + V3e = "Bu görevi silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.", + H3e = "İptal", + G3e = "Seçimden Çık", + Q3e = "Seçim Modu", + Z3e = "Tümünü Seçimi Kaldır", + Y3e = "Tümünü Seç", + X3e = "{{selected}}/{{total}} öğe seçildi", + J3e = "Seçimi Temizle", + e5e = "Seçilenleri Sil", + t5e = "Görevleri Sil", + n5e = "{{count}} görevi silmek istediğinizden emin misiniz?", + o5e = "Silinen görevler geri alınamaz. Lütfen devam etmek istediğinizden emin olun.", + r5e = "{{count}} Öğeyi Sil", + i5e = { prefix: "Çalışma Alanı:", current: "Mevcut", all: "Tümü" }, + s5e = { + prefix: "Sırala:", + newest: "En Yeni", + oldest: "En Eski", + mostExpensive: "En Pahalı", + mostTokens: "En Çok Token", + mostRelevant: "En İlgili", + }, + a5e = "Tüm görevleri görüntüle", + Vkt = { + recentTasks: M3e, + history: j3e, + exitSelectionMode: E3e, + enterSelectionMode: z3e, + done: $3e, + searchPlaceholder: L3e, + newest: D3e, + oldest: N3e, + mostExpensive: O3e, + mostTokens: F3e, + mostRelevant: B3e, + deleteTaskTitle: U3e, + copyPrompt: q3e, + exportTask: W3e, + deleteTask: K3e, + deleteTaskMessage: V3e, + cancel: H3e, + delete: "Sil", + exitSelection: G3e, + selectionMode: Q3e, + deselectAll: Z3e, + selectAll: Y3e, + selectedItems: X3e, + clearSelection: J3e, + deleteSelected: e5e, + deleteTasks: t5e, + confirmDeleteTasks: n5e, + deleteTasksWarning: o5e, + deleteItems: r5e, + workspace: i5e, + sort: s5e, + viewAllHistory: a5e, + }, + Hkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: H3e, + clearSelection: J3e, + confirmDeleteTasks: n5e, + copyPrompt: q3e, + default: Vkt, + deleteItems: r5e, + deleteSelected: e5e, + deleteTask: K3e, + deleteTaskMessage: V3e, + deleteTaskTitle: U3e, + deleteTasks: t5e, + deleteTasksWarning: o5e, + deselectAll: Z3e, + done: $3e, + enterSelectionMode: z3e, + exitSelection: G3e, + exitSelectionMode: E3e, + exportTask: W3e, + history: j3e, + mostExpensive: O3e, + mostRelevant: B3e, + mostTokens: F3e, + newest: D3e, + oldest: N3e, + recentTasks: M3e, + searchPlaceholder: L3e, + selectAll: Y3e, + selectedItems: X3e, + selectionMode: Q3e, + sort: s5e, + viewAllHistory: a5e, + workspace: i5e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + l5e = "İnsan Aktarımı - Lütfen bilgileri kopyalama/yapıştırmada yardımcı olun", + c5e = "Lütfen aşağıdaki metni web AI'ya kopyalayın, ardından AI'nın yanıtını aşağıdaki giriş kutusuna yapıştırın.", + d5e = "Panoya kopyalandı", + u5e = { label: "Lütfen AI yanıtını girin:", placeholder: "AI yanıtını buraya yapıştırın..." }, + p5e = { cancel: "İptal", submit: "Gönder" }, + Gkt = { dialogTitle: l5e, dialogDescription: c5e, copiedToClipboard: d5e, aiResponse: u5e, actions: p5e }, + Qkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: p5e, + aiResponse: u5e, + copiedToClipboard: d5e, + default: Gkt, + dialogDescription: c5e, + dialogTitle: l5e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + m5e = "Roo Marketplace", + h5e = { installed: "Yüklü", settings: "Ayarlar", browse: "Gözat" }, + f5e = "Tamamlandı", + g5e = "Yenile", + v5e = { + search: { + placeholder: "Marketplace öğelerini ara...", + placeholderMcp: "MCP'leri ara...", + placeholderMode: "Modları ara...", + }, + type: { label: "Türe göre filtrele:", all: "Tüm türler", mode: "Mod", mcpServer: "MCP Sunucusu" }, + sort: { label: "Sırala:", name: "İsim", author: "Yazar", lastUpdated: "Son Güncelleme" }, + tags: { + label: "Etiketlere göre filtrele:", + clear: "Etiketleri temizle", + placeholder: "Etiket aramak ve seçmek için yazın...", + noResults: "Eşleşen etiket bulunamadı", + selected: "Seçilen etiketlerden herhangi birine sahip öğeler gösteriliyor", + clickToFilter: "Öğeleri filtrelemek için etiketlere tıklayın", + }, + none: "Hiçbiri", + }, + b5e = { organizationMcps: "{{organization}} MCP'leri", marketplace: "Marketplace" }, + y5e = { + empty: { + noItems: "Marketplace öğesi bulunamadı", + withFilters: "Filtrelerinizi ayarlamayı deneyin", + noSources: "Kaynaklar sekmesinde kaynak eklemeyi deneyin", + adjustFilters: "Filtrelerinizi veya arama terimlerinizi ayarlamayı deneyin", + clearAllFilters: "Tüm filtreleri temizle", + }, + count: "{{count}} öğe bulundu", + components: "{{count}} bileşen", + matched: "{{count}} eşleşti", + refresh: { button: "Yenile", refreshing: "Yenileniyor...", mayTakeMoment: "Bu biraz zaman alabilir." }, + card: { + by: "{{author}} tarafından", + from: "{{source}} kaynağından", + install: "Yükle", + installProject: "Yükle", + installGlobal: "Yükle (Global)", + remove: "Kaldır", + removeProject: "Kaldır", + removeGlobal: "Kaldır (Global)", + viewSource: "Görüntüle", + viewOnSource: "{{source}} üzerinde görüntüle", + noWorkspaceTooltip: "Marketplace öğelerini yüklemek için bir çalışma alanı açın", + installed: "Yüklü", + removeProjectTooltip: "Mevcut projeden kaldır", + removeGlobalTooltip: "Global yapılandırmadan kaldır", + actionsMenuLabel: "Daha fazla eylem", + }, + removeFailed: "Öğe kaldırılamadı: {{error}}", + unknownError: "Bilinmeyen bir hata oluştu", + }, + k5e = { + title: "{{name}} Yükle", + titleMode: "{{name}} Modunu Yükle", + titleMcp: "{{name}} MCP'sini Yükle", + scope: "Yükleme Kapsamı", + project: "Proje (mevcut çalışma alanı)", + global: "Global (tüm çalışma alanları)", + method: "Yükleme Yöntemi", + configuration: "Yapılandırma", + configurationDescription: "Bu MCP sunucusu için gerekli parametreleri yapılandırın", + button: "Yükle", + successTitle: "{{name}} Yüklendi", + successDescription: "Yükleme başarıyla tamamlandı", + installed: "Başarıyla yüklendi!", + whatNextMcp: + "Artık bu MCP sunucusunu yapılandırabilir ve kullanabilirsiniz. Sekmeleri değiştirmek için kenar çubuğundaki MCP simgesine tıklayın.", + whatNextMode: + "Artık bu modu kullanabilirsiniz. Sekmeleri değiştirmek için kenar çubuğundaki Modlar simgesine tıklayın.", + done: "Tamamlandı", + goToMcp: "MCP Sekmesine Git", + goToModes: "Modlar Ayarlarına Git", + moreInfoMcp: "{{name}} MCP belgelerini görüntüle", + validationRequired: "Lütfen {{paramName}} için bir değer sağlayın", + prerequisites: "Ön koşullar", + }, + x5e = { + title: "Marketplace Kaynaklarını Yapılandır", + description: + "Marketplace öğeleri içeren Git depolarını ekleyin. Bu depolar marketplace'e göz atarken getirilecektir.", + add: { + title: "Yeni Kaynak Ekle", + urlPlaceholder: "Git deposu URL'si (örn., https://github.com/username/repo)", + urlFormats: + "Desteklenen formatlar: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), veya Git protokolü (git://github.com/username/repo.git)", + namePlaceholder: "Görüntüleme adı (maks 20 karakter)", + button: "Kaynak Ekle", + }, + current: { + title: "Mevcut Kaynaklar", + empty: "Yapılandırılmış kaynak yok. Başlamak için bir kaynak ekleyin.", + refresh: "Bu kaynağı yenile", + remove: "Kaynağı kaldır", + }, + errors: { + emptyUrl: "URL boş olamaz", + invalidUrl: "Geçersiz URL formatı", + nonVisibleChars: "URL boşluklar dışında görünmeyen karakterler içeriyor", + invalidGitUrl: "URL geçerli bir Git deposu URL'si olmalıdır (örn., https://github.com/username/repo)", + duplicateUrl: "Bu URL zaten listede var (büyük/küçük harf ve boşluk duyarsız eşleşme)", + nameTooLong: "İsim 20 karakter veya daha az olmalıdır", + nonVisibleCharsName: "İsim boşluklar dışında görünmeyen karakterler içeriyor", + duplicateName: "Bu isim zaten kullanılıyor (büyük/küçük harf ve boşluk duyarsız eşleşme)", + emojiName: "Emoji karakterleri görüntüleme sorunlarına neden olabilir", + maxSources: "Maksimum {{max}} kaynak izin verilir", + }, + }, + w5e = { + mode: { + title: "Modu Kaldır", + message: '"{{modeName}}" modunu kaldırmak istediğinizden emin misiniz?', + rulesWarning: "Bu, bu mod için ilişkili tüm kural dosyalarını da kaldıracaktır.", + }, + mcp: { + title: "MCP Sunucusunu Kaldır", + message: '"{{mcpName}}" MCP sunucusunu kaldırmak istediğinizden emin misiniz?', + }, + cancel: "İptal", + confirm: "Kaldır", + }, + _5e = { + issueText: + "Bir marketplace öğesi ile ilgili sorun bulduğun veya yeni öğeler için önerilerin var mı? <0>GitHub'da issue aç</0> ve bize bildir!", + }, + Zkt = { + title: m5e, + tabs: h5e, + done: f5e, + refresh: g5e, + filters: v5e, + sections: b5e, + "type-group": { modes: "Modlar", mcps: "MCP Sunucuları" }, + items: y5e, + install: k5e, + sources: x5e, + removeConfirm: w5e, + footer: _5e, + }, + Ykt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Zkt, + done: f5e, + filters: v5e, + footer: _5e, + install: k5e, + items: y5e, + refresh: g5e, + removeConfirm: w5e, + sections: b5e, + sources: x5e, + tabs: h5e, + title: m5e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + C5e = "MCP Sunucuları", + S5e = "Tamam", + A5e = "MCP Pazaryeri", + P5e = `<0>Model Context Protocol</0>, Roo'nun yeteneklerini genişletmek için ek araçlar ve kaynaklar sağlayan yerel olarak çalışan MCP sunucularıyla iletişim kurmanızı sağlar. <1>Topluluk tarafından oluşturulan sunucuları</1> kullanabilir veya Roo'dan iş akışınıza özel yeni araçlar oluşturmasını isteyebilirsiniz (örneğin, "en son npm belgelerini alan bir araç ekle").`, + R5e = "Talimatlar", + T5e = { + title: "MCP Sunucularını Etkinleştir", + description: + "Bunu AÇ, böylece Roo bağlı MCP sunucularından araçlar kullanabilir. Roo'ya daha fazla yetenek kazandırır. Ekstra araçları kullanmayacaksan, API token maliyetini azaltmak için bunu KAPAT.", + }, + I5e = { + title: "MCP Sunucu Oluşturmayı Etkinleştir", + description: + "Bunu AÇ, Roo'nun <1>yeni</1> özel MCP sunucuları oluşturmanda sana yardımcı olmasını sağlar. <0>Sunucu oluşturma hakkında bilgi al</0>", + hint: "İpucu: API token maliyetini azaltmak için Roo'dan yeni bir MCP sunucusu oluşturmasını istemediğinde bu ayarı kapat.", + }, + M5e = "Global MCP'yi Düzenle", + j5e = "Proje MCP'sini Düzenle", + E5e = "MCP ayar dosyalarını düzenleme hakkında daha fazla bilgi", + z5e = { + alwaysAllow: "Her zaman izin ver", + parameters: "Parametreler", + noDescription: "Açıklama yok", + togglePromptInclusion: "Komut isteminde dahil etmeyi aç/kapat", + }, + $5e = { tools: "Araçlar", resources: "Kaynaklar", errors: "Hatalar" }, + L5e = { noTools: "Araç bulunamadı", noResources: "Kaynak bulunamadı", noErrors: "Hata bulunamadı" }, + D5e = { + label: "Ağ Zaman Aşımı", + description: "Sunucu yanıtları için maksimum bekleme süresi", + options: { + "15seconds": "15 saniye", + "30seconds": "30 saniye", + "1minute": "1 dakika", + "5minutes": "5 dakika", + "10minutes": "10 dakika", + "15minutes": "15 dakika", + "30minutes": "30 dakika", + "60minutes": "60 dakika", + }, + }, + N5e = { + title: "MCP Sunucusunu Sil", + description: '"{{serverName}}" MCP sunucusunu silmek istediğine emin misin? Bu işlem geri alınamaz.', + cancel: "İptal", + delete: "Sil", + }, + O5e = { retrying: "Tekrar deneniyor...", retryConnection: "Bağlantıyı tekrar dene" }, + F5e = "MCP Sunucularını Yenile", + B5e = { running: "Çalışıyor", completed: "Tamamlandı", error: "Hata" }, + Xkt = { + title: C5e, + done: S5e, + marketplace: A5e, + description: P5e, + instructions: R5e, + enableToggle: T5e, + enableServerCreation: I5e, + editGlobalMCP: M5e, + editProjectMCP: j5e, + learnMoreEditingSettings: E5e, + tool: z5e, + tabs: $5e, + emptyState: L5e, + networkTimeout: D5e, + deleteDialog: N5e, + serverStatus: O5e, + refreshMCP: F5e, + execution: B5e, + }, + Jkt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Xkt, + deleteDialog: N5e, + description: P5e, + done: S5e, + editGlobalMCP: M5e, + editProjectMCP: j5e, + emptyState: L5e, + enableServerCreation: I5e, + enableToggle: T5e, + execution: B5e, + instructions: R5e, + learnMoreEditingSettings: E5e, + marketplace: A5e, + networkTimeout: D5e, + refreshMCP: F5e, + serverStatus: O5e, + tabs: $5e, + title: C5e, + tool: z5e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + U5e = "Modlar", + q5e = "Tamamlandı", + W5e = { + title: "Modlar", + createNewMode: "Yeni mod oluştur", + importMode: "Modu içe aktar", + noMatchFound: "Mod bulunamadı", + editModesConfig: "Mod yapılandırmasını düzenle", + editGlobalModes: "Global modları düzenle", + editProjectModes: "Proje modlarını düzenle (.roomodes)", + createModeHelpText: + "Modlar, Roo'nun davranışını uyarlayan özel kişiliklerdir. <0>Modları Kullanma Hakkında Bilgi Edinin</0> veya <1>Modları Özelleştirme.</1>", + selectMode: "Modları Ara", + }, + K5e = { title: "API Yapılandırması", select: "Bu mod için hangi API yapılandırmasının kullanılacağını seçin" }, + V5e = { + title: "Kullanılabilir Araçlar", + builtInModesText: "Yerleşik modlar için araçlar değiştirilemez", + editTools: "Araçları düzenle", + doneEditing: "Düzenlemeyi bitir", + allowedFiles: "İzin verilen dosyalar:", + toolNames: { + read: "Dosyaları Oku", + edit: "Dosyaları Düzenle", + browser: "Tarayıcı Kullan", + command: "Komutları Çalıştır", + mcp: "MCP Kullan", + }, + noTools: "Yok", + }, + H5e = { + title: "Rol Tanımı", + resetToDefault: "Varsayılana sıfırla", + description: + "Bu mod için Roo'nun uzmanlığını ve kişiliğini tanımlayın. Bu açıklama, Roo'nun kendini nasıl sunduğunu ve görevlere nasıl yaklaştığını şekillendirir.", + }, + G5e = { + title: "Kısa açıklama (insanlar için)", + resetToDefault: "Varsayılan açıklamaya sıfırla", + description: "Mod seçici açılır menüsünde gösterilen kısa bir açıklama.", + }, + Q5e = { + title: "Ne zaman kullanılmalı (isteğe bağlı)", + description: + "Bu modun ne zaman kullanılması gerektiğini açıklayın. Bu, Orchestrator'ın bir görev için doğru modu seçmesine yardımcı olur.", + resetToDefault: "'Ne zaman kullanılmalı' açıklamasını varsayılana sıfırla", + }, + Z5e = { + title: "Moda özgü özel talimatlar (isteğe bağlı)", + resetToDefault: "Varsayılana sıfırla", + description: "{{modeName}} modu için özel davranış yönergeleri ekleyin.", + loadFromFile: + "{{mode}} moduna özgü özel talimatlar ayrıca çalışma alanınızdaki <span>.roo/rules-{{slug}}/</span> klasöründen yüklenebilir (.roorules-{{slug}} ve .clinerules-{{slug}} kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaklardır).", + }, + Y5e = { + title: "Modu Dışa Aktar", + description: + "Bu modu tüm kurallar dahil olarak bir YAML dosyasına dışa aktararak başkalarıyla kolayca paylaşın.", + export: "Modu Dışa Aktar", + exporting: "Dışa aktarılıyor...", + }, + X5e = { + title: "Tüm Modlar için Özel Talimatlar", + description: + "Bu talimatlar tüm modlara uygulanır. Aşağıdaki moda özgü talimatlarla geliştirilebilen temel davranış seti sağlarlar. <0>Daha fazla bilgi edinin</0>", + loadFromFile: + "Talimatlar ayrıca çalışma alanınızdaki <span>.roo/rules/</span> klasöründen de yüklenebilir (.roorules ve .clinerules kullanımdan kaldırılmıştır ve yakında çalışmayı durduracaklardır).", + }, + J5e = { + selectLevel: "Bu modu nereye içe aktaracağınızı seçin:", + import: "İçe Aktar", + importing: "İçe aktarılıyor...", + global: { + label: "Genel Seviye", + description: "Tüm projelerde kullanılabilir. Kurallar özel talimatlarla birleştirilecektir.", + }, + project: { + label: "Proje Seviyesi", + description: + "Yalnızca bu çalışma alanında kullanılabilir. Dışa aktarılan mod kural dosyaları içeriyorsa, bunlar .roo/rules-{slug}/ klasöründe yeniden oluşturulur.", + }, + }, + e4e = { + preview: "Sistem promptunu önizle", + copy: "Sistem promptunu panoya kopyala", + title: "Sistem promptu ({{modeName}} modu)", + }, + t4e = { + title: "Destek Promptları", + resetPrompt: "{{promptType}} promptunu varsayılana sıfırla", + prompt: "Prompt", + enhance: { + apiConfiguration: "API Yapılandırması", + apiConfigDescription: + "Promptları geliştirmek için her zaman kullanılacak bir API yapılandırması seçebilir veya şu anda seçili olanı kullanabilirsiniz", + useCurrentConfig: "Şu anda seçili API yapılandırmasını kullan", + testPromptPlaceholder: "Geliştirmeyi test etmek için bir prompt girin", + previewButton: "Prompt geliştirmesini önizle", + testEnhancement: "Geliştirmeyi test et", + includeTaskHistory: "Görev geçmişini bağlam olarak dahil et", + includeTaskHistoryDescription: + "Etkinleştirildiğinde, mevcut konuşmanın son 10 mesajı promptları geliştirirken bağlam olarak dahil edilecek ve daha alakalı ve bağlam farkında öneriler üretmeye yardımcı olacaktır.", + }, + condense: { + apiConfiguration: "Bağlam Yoğunlaştırma için API Yapılandırması", + apiConfigDescription: + "Bağlam yoğunlaştırma işlemleri için hangi API yapılandırmasının kullanılacağını seçin. Geçerli etkin yapılandırmayı kullanmak için seçilmemiş bırakın.", + useCurrentConfig: "Şu anda seçili olan API yapılandırmasını kullan", + }, + types: { + ENHANCE: { + label: "Promptu Geliştir", + description: + "Girdileriniz için özel öneriler veya iyileştirmeler almak için prompt geliştirmeyi kullanın. Bu, Roo'nun niyetinizi anlamasını ve mümkün olan en iyi yanıtları sağlamasını garanti eder. Sohbetteki ✨ simgesi aracılığıyla kullanılabilir.", + }, + CONDENSE: { + label: "Bağlam Yoğunlaştırma", + description: + "Jeton sınırlarını yönetmek için konuşma bağlamının nasıl yoğunlaştırılacağını yapılandırın. Bu istem, hem manuel hem de otomatik bağlam yoğunlaştırma işlemleri için kullanılır.", + }, + EXPLAIN: { + label: "Kodu Açıkla", + description: + "Kod parçaları, fonksiyonlar veya tüm dosyalar hakkında ayrıntılı açıklamalar alın. Karmaşık kodu anlamak veya yeni kalıpları öğrenmek için faydalıdır. Kod eylemlerinde (editördeki ampul simgesi) ve editör bağlam menüsünde (seçili koda sağ tıklayın) kullanılabilir.", + }, + FIX: { + label: "Sorunları Düzelt", + description: + "Hataları, bugları veya kod kalitesi sorunlarını tanımlama ve çözme konusunda yardım alın. Sorunları çözmek için adım adım rehberlik sağlar. Kod eylemlerinde (editördeki ampul simgesi) ve editör bağlam menüsünde (seçili koda sağ tıklayın) kullanılabilir.", + }, + IMPROVE: { + label: "Kodu İyileştir", + description: + "İşlevselliği korurken kod optimizasyonu, daha iyi uygulamalar ve mimari iyileştirmeler için öneriler alın. Kod eylemlerinde (editördeki ampul simgesi) ve editör bağlam menüsünde (seçili koda sağ tıklayın) kullanılabilir.", + }, + ADD_TO_CONTEXT: { + label: "Bağlama Ekle", + description: + "Mevcut görevinize veya konuşmanıza bağlam ekleyin. Ek bilgi veya açıklamalar sağlamak için faydalıdır. Kod eylemlerinde (editördeki ampul simgesi) ve editör bağlam menüsünde (seçili koda sağ tıklayın) kullanılabilir.", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Terminal İçeriğini Bağlama Ekle", + description: + "Terminal çıktısını mevcut görevinize veya konuşmanıza ekleyin. Komut çıktılarını veya günlükleri sağlamak için faydalıdır. Terminal bağlam menüsünde (seçili terminal içeriğine sağ tıklayın) kullanılabilir.", + }, + TERMINAL_FIX: { + label: "Terminal Komutunu Düzelt", + description: + "Başarısız olan veya iyileştirme gerektiren terminal komutlarını düzeltme konusunda yardım alın. Terminal bağlam menüsünde (seçili terminal içeriğine sağ tıklayın) kullanılabilir.", + }, + TERMINAL_EXPLAIN: { + label: "Terminal Komutunu Açıkla", + description: + "Terminal komutları ve çıktıları hakkında ayrıntılı açıklamalar alın. Terminal bağlam menüsünde (seçili terminal içeriğine sağ tıklayın) kullanılabilir.", + }, + NEW_TASK: { + label: "Yeni Görev Başlat", + description: "Girdiyle yeni bir görev başlat. Komut paletinde kullanılabilir.", + }, + }, + }, + n4e = { + title: "Gelişmiş: Sistem Promptunu Geçersiz Kıl", + description: + "<2>⚠️ Uyarı:</2> Bu gelişmiş özellik güvenlik önlemlerini atlar. <1>KULLANMADAN ÖNCE BUNU OKUYUN!</1>Çalışma alanınızda <span>.roo/system-prompt-{{slug}}</span> adresinde bir dosya oluşturarak varsayılan sistem istemini geçersiz kılın.", + }, + o4e = { + title: "Yeni Mod Oluştur", + close: "Kapat", + name: { label: "İsim", placeholder: "Mod adını girin" }, + slug: { + label: "Slug", + description: + "Slug, URL'lerde ve dosya adlarında kullanılır. Küçük harflerle yazılmalı ve yalnızca harfler, sayılar ve kısa çizgiler içermelidir.", + }, + saveLocation: { + label: "Kaydetme Konumu", + description: "Bu modu nereye kaydedeceğinizi seçin. Projeye özgü modlar, global modlara göre önceliklidir.", + global: { label: "Global", description: "Tüm çalışma alanlarında kullanılabilir" }, + project: { + label: "Projeye özgü (.roomodes)", + description: "Yalnızca bu çalışma alanında kullanılabilir, globale göre önceliklidir", + }, + }, + roleDefinition: { + label: "Rol Tanımı", + description: "Bu mod için Roo'nun uzmanlığını ve kişiliğini tanımlayın.", + }, + whenToUse: { + label: "Ne zaman kullanılmalı (isteğe bağlı)", + description: + "Bu modun ne zaman en etkili olduğu ve hangi tür görevlerde üstün olduğu hakkında net bir açıklama sağlayın.", + }, + tools: { label: "Kullanılabilir Araçlar", description: "Bu modun hangi araçları kullanabileceğini seçin." }, + description: { + label: "Kısa açıklama (insanlar için)", + description: "Mod seçici açılır menüsünde gösterilen kısa bir açıklama.", + }, + customInstructions: { + label: "Özel Talimatlar (isteğe bağlı)", + description: "Bu mod için özel davranış yönergeleri ekleyin.", + }, + buttons: { cancel: "İptal", create: "Mod Oluştur" }, + deleteMode: "Modu sil", + }, + r4e = "tüm dosyalar", + i4e = { title: "Gelişmiş" }, + s4e = { + title: "Modu Sil", + message: '"{{modeName}}" modunu silmek istediğinizden emin misiniz?', + rulesFolder: "Bu modun {{folderPath}} konumunda bir kurallar klasörü var ve bu da silinecek.", + descriptionNoRules: "Bu özel modu silmek istediğinizden emin misiniz?", + confirm: "Sil", + cancel: "İptal", + }, + ext = { + title: U5e, + done: q5e, + modes: W5e, + apiConfiguration: K5e, + tools: V5e, + roleDefinition: H5e, + description: G5e, + whenToUse: Q5e, + customInstructions: Z5e, + exportMode: Y5e, + globalCustomInstructions: X5e, + importMode: J5e, + systemPrompt: e4e, + supportPrompts: t4e, + advancedSystemPrompt: n4e, + createModeDialog: o4e, + allFiles: r4e, + advanced: i4e, + deleteMode: s4e, + }, + txt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: i4e, + advancedSystemPrompt: n4e, + allFiles: r4e, + apiConfiguration: K5e, + createModeDialog: o4e, + customInstructions: Z5e, + default: ext, + deleteMode: s4e, + description: G5e, + done: q5e, + exportMode: Y5e, + globalCustomInstructions: X5e, + importMode: J5e, + modes: W5e, + roleDefinition: H5e, + supportPrompts: t4e, + systemPrompt: e4e, + title: U5e, + tools: V5e, + whenToUse: Q5e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + a4e = { + save: "Kaydet", + done: "Tamamlandı", + cancel: "İptal", + reset: "Sıfırla", + select: "Seç", + add: "Başlık Ekle", + remove: "Kaldır", + }, + l4e = { + title: "Ayarlar", + saveButtonTooltip: "Değişiklikleri kaydet", + nothingChangedTooltip: "Hiçbir şey değişmedi", + doneButtonTooltip: "Kaydedilmemiş değişiklikleri at ve ayarlar panelini kapat", + }, + c4e = { + title: "Kaydedilmemiş Değişiklikler", + description: "Değişiklikleri atmak ve devam etmek istiyor musunuz?", + cancelButton: "İptal", + discardButton: "Değişiklikleri At", + }, + d4e = { + providers: "Sağlayıcılar", + autoApprove: "Oto-Onay", + browser: "Bilgisayar Erişimi", + checkpoints: "Kontrol Noktaları", + notifications: "Bildirimler", + contextManagement: "Bağlam", + terminal: "Terminal", + prompts: "Promptlar", + experimental: "Deneysel", + language: "Dil", + about: "Roo Code Hakkında", + }, + u4e = { + description: + "Prompt geliştirme, kod açıklama ve sorun çözme gibi hızlı eylemler için kullanılan destek promptlarını yapılandırın. Bu promptlar, Roo'nun yaygın geliştirme görevleri için daha iyi destek sağlamasına yardımcı olur.", + }, + p4e = { + title: "Kod Tabanı İndeksleme", + enableLabel: "Kod Tabanı İndekslemeyi Etkinleştir", + enableDescription: "Geliştirilmiş arama ve bağlam anlayışı için kod indekslemeyi etkinleştirin", + providerLabel: "Gömme Sağlayıcısı", + selectProviderPlaceholder: "Sağlayıcı seç", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API Anahtarı:", + geminiApiKeyPlaceholder: "Gemini API anahtarınızı girin", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API Anahtarı:", + mistralApiKeyPlaceholder: "Mistral API anahtarınızı girin", + openaiCompatibleProvider: "OpenAI Uyumlu", + openAiKeyLabel: "OpenAI API Anahtarı", + openAiKeyPlaceholder: "OpenAI API anahtarınızı girin", + openAiCompatibleBaseUrlLabel: "Temel URL", + openAiCompatibleApiKeyLabel: "API Anahtarı", + openAiCompatibleApiKeyPlaceholder: "API anahtarınızı girin", + openAiCompatibleModelDimensionLabel: "Gömme Boyutu:", + modelDimensionLabel: "Model Boyutu", + openAiCompatibleModelDimensionPlaceholder: "örn., 1536", + openAiCompatibleModelDimensionDescription: + "Modeliniz için gömme boyutu (çıktı boyutu). Bu değer için sağlayıcınızın belgelerine bakın. Yaygın değerler: 384, 768, 1536, 3072.", + modelLabel: "Model", + selectModelPlaceholder: "Model seç", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant Anahtarı:", + startIndexingButton: "Başlat", + clearIndexDataButton: "İndeks Temizle", + unsavedSettingsMessage: "İndeksleme işlemini başlatmadan önce lütfen ayarlarını kaydet.", + clearDataDialog: { + title: "Emin misiniz?", + description: "Bu işlem geri alınamaz. Bu, kod tabanı indeks verilerinizi kalıcı olarak silecektir.", + cancelButton: "İptal", + confirmButton: "Verileri Temizle", + }, + description: + "Projenizin anlamsal aramasını etkinleştirmek için kod tabanı indeksleme ayarlarını yapılandırın. <0>Daha fazla bilgi</0>", + statusTitle: "Durum", + settingsTitle: "İndeksleme Ayarları", + disabledMessage: + "Kod tabanı indeksleme şu anda devre dışı. İndeksleme seçeneklerini yapılandırmak için genel ayarlarda etkinleştirin.", + embedderProviderLabel: "Gömücü Sağlayıcı", + modelPlaceholder: "Model adını girin", + selectModel: "Bir model seçin", + ollamaBaseUrlLabel: "Ollama Temel URL", + qdrantApiKeyLabel: "Qdrant API Anahtarı", + qdrantApiKeyPlaceholder: "Qdrant API anahtarınızı girin (isteğe bağlı)", + setupConfigLabel: "Kurulum", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Ayarlar kaydedilemedi", + modelDimensions: "({{dimension}} boyut)", + saveSuccess: "Ayarlar başarıyla kaydedildi", + saving: "Kaydediliyor...", + saveSettings: "Kaydet", + indexingStatuses: { standby: "Bekleme", indexing: "İndeksleniyor", indexed: "İndekslendi", error: "Hata" }, + close: "Kapat", + validation: { + invalidQdrantUrl: "Geçersiz Qdrant URL'si", + invalidOllamaUrl: "Geçersiz Ollama URL'si", + invalidBaseUrl: "Geçersiz temel URL'si", + qdrantUrlRequired: "Qdrant URL'si gereklidir", + openaiApiKeyRequired: "OpenAI API anahtarı gereklidir", + modelSelectionRequired: "Model seçimi gereklidir", + apiKeyRequired: "API anahtarı gereklidir", + modelIdRequired: "Model kimliği gereklidir", + modelDimensionRequired: "Model boyutu gereklidir", + geminiApiKeyRequired: "Gemini API anahtarı gereklidir", + mistralApiKeyRequired: "Mistral API anahtarı gereklidir", + ollamaBaseUrlRequired: "Ollama temel URL'si gereklidir", + baseUrlRequired: "Temel URL'si gereklidir", + modelDimensionMinValue: "Model boyutu 0'dan büyük olmalıdır", + }, + advancedConfigLabel: "Gelişmiş Yapılandırma", + searchMinScoreLabel: "Arama Skoru Eşiği", + searchMinScoreDescription: + "Arama sonuçları için gereken minimum benzerlik puanı (0.0-1.0). Düşük değerler daha fazla sonuç döndürür ancak daha az alakalı olabilir. Yüksek değerler daha az ancak daha alakalı sonuçlar döndürür.", + searchMinScoreResetTooltip: "Varsayılan değere sıfırla (0.4)", + searchMaxResultsLabel: "Maksimum Arama Sonuçları", + searchMaxResultsDescription: + "Kod tabanı dizinini sorgularken döndürülecek maksimum arama sonucu sayısı. Daha yüksek değerler daha fazla bağlam sağlar ancak daha az alakalı sonuçlar içerebilir.", + resetToDefault: "Varsayılana sıfırla", + }, + m4e = { + description: + "Roo'nun onay gerektirmeden otomatik olarak işlemler gerçekleştirmesine izin verin. Bu ayarları yalnızca yapay zekaya tamamen güveniyorsanız ve ilgili güvenlik risklerini anlıyorsanız etkinleştirin.", + enabled: "Oto-onay etkinleştirildi", + toggleAriaLabel: "Otomatik onayı değiştir", + disabledAriaLabel: "Otomatik onay devre dışı - önce seçenekleri belirleyin", + readOnly: { + label: "Okuma", + description: + "Etkinleştirildiğinde, Roo otomatik olarak dizin içeriğini görüntüleyecek ve Onayla düğmesine tıklamanıza gerek kalmadan dosyaları okuyacaktır.", + outsideWorkspace: { + label: "Çalışma alanı dışındaki dosyaları dahil et", + description: "Roo'nun onay gerektirmeden mevcut çalışma alanı dışındaki dosyaları okumasına izin ver.", + }, + }, + write: { + label: "Yazma", + description: "Onay gerektirmeden otomatik olarak dosya oluştur ve düzenle", + delayLabel: "Tanılamanın potansiyel sorunları tespit etmesine izin vermek için yazmalardan sonra gecikme", + outsideWorkspace: { + label: "Çalışma alanı dışındaki dosyaları dahil et", + description: + "Roo'nun onay gerektirmeden mevcut çalışma alanı dışında dosya oluşturmasına ve düzenlemesine izin ver.", + }, + protected: { + label: "Korumalı dosyaları dahil et", + description: + "Roo'nun korumalı dosyaları (.rooignore ve .roo/ yapılandırma dosyaları gibi) onay gerektirmeden oluşturmasına ve düzenlemesine izin ver.", + }, + }, + browser: { + label: "Tarayıcı", + description: + "Onay gerektirmeden otomatik olarak tarayıcı eylemleri gerçekleştir. Not: Yalnızca model bilgisayar kullanımını desteklediğinde geçerlidir", + }, + retry: { + label: "Yeniden Dene", + description: "Sunucu bir hata yanıtı döndürdüğünde başarısız API isteklerini otomatik olarak yeniden dene", + delayLabel: "İsteği yeniden denemeden önce gecikme", + }, + mcp: { + label: "MCP", + description: + 'MCP Sunucuları görünümünde bireysel MCP araçlarının otomatik onayını etkinleştir (hem bu ayar hem de aracın "Her zaman izin ver" onay kutusu gerekir)', + }, + modeSwitch: { + label: "Mod", + description: "Onay gerektirmeden otomatik olarak farklı modlar arasında geçiş yap", + }, + subtasks: { + label: "Alt Görevler", + description: "Onay gerektirmeden alt görevlerin oluşturulmasına ve tamamlanmasına izin ver", + }, + followupQuestions: { + label: "Soru", + description: + "Yapılandırılan zaman aşımından sonra takip sorularına ilişkin ilk önerilen yanıtı otomatik olarak seç", + timeoutLabel: "İlk yanıtı otomatik olarak seçmeden önce beklenecek süre", + }, + execute: { + label: "Yürüt", + description: "Onay gerektirmeden otomatik olarak izin verilen terminal komutlarını yürüt", + allowedCommands: "İzin Verilen Otomatik Yürütme Komutları", + allowedCommandsDescription: + '"Yürütme işlemlerini her zaman onayla" etkinleştirildiğinde otomatik olarak yürütülebilen komut önekleri. Tüm komutlara izin vermek için * ekleyin (dikkatli kullanın).', + deniedCommands: "Reddedilen komutlar", + deniedCommandsDescription: + "Onay istenmeden otomatik olarak reddedilecek komut önekleri. İzin verilen komutlarla çakışma durumunda, en uzun önek eşleşmesi öncelik alır. Tüm komutları reddetmek için * ekleyin.", + commandPlaceholder: "Komut öneki girin (örn. 'git ')", + deniedCommandPlaceholder: "Reddetmek için komut öneki girin (örn. 'rm -rf')", + addButton: "Ekle", + autoDenied: + "`{{prefix}}` önekli komutlar kullanıcı tarafından yasaklandı. Başka bir komut çalıştırarak bu kısıtlamayı aşma.", + }, + updateTodoList: { + label: "Todo", + description: "Yapılacaklar listesi onay gerektirmeden otomatik olarak güncellenir", + }, + apiRequestLimit: { + title: "Maksimum İstek", + description: "Göreve devam etmek için onay istemeden önce bu sayıda API isteği otomatik olarak yap.", + unlimited: "Sınırsız", + }, + selectOptionsFirst: "Otomatik onayı etkinleştirmek için aşağıdan en az bir seçenek seçin", + apiCostLimit: { unlimited: "Sınırsız", title: "Maksimum Maliyet" }, + maxLimits: { + description: + "Bu sınırlara ulaşana kadar otomatik olarak istekleri yap, sonrasında devam etmek için onay iste.", + }, + }, + h4e = JSON.parse( + `{"providerDocumentation":"{{provider}} Dokümantasyonu","configProfile":"Yapılandırma Profili","description":"Sağlayıcılar ve ayarlar arasında hızlıca geçiş yapmak için farklı API yapılandırmalarını kaydedin.","apiProvider":"API Sağlayıcı","model":"Model","nameEmpty":"İsim boş olamaz","nameExists":"Bu isme sahip bir profil zaten mevcut","deleteProfile":"Profili sil","invalidArnFormat":"Geçersiz ARN formatı. Yukarıdaki örnekleri kontrol edin.","enterNewName":"Yeni ad girin","addProfile":"Profil ekle","renameProfile":"Profili yeniden adlandır","newProfile":"Yeni yapılandırma profili","enterProfileName":"Profil adını girin","createProfile":"Profil oluştur","cannotDeleteOnlyProfile":"Yalnızca tek profili silemezsiniz","searchPlaceholder":"Profilleri ara","searchProviderPlaceholder":"Sağlayıcıları ara","noProviderMatchFound":"Eşleşen sağlayıcı bulunamadı","noMatchFound":"Eşleşen profil bulunamadı","vscodeLmDescription":"VS Code Dil Modeli API'si, diğer VS Code uzantıları tarafından sağlanan modelleri çalıştırmanıza olanak tanır (GitHub Copilot dahil ancak bunlarla sınırlı değildir). Başlamanın en kolay yolu, VS Code Marketplace'ten Copilot ve Copilot Chat uzantılarını yüklemektir.","awsCustomArnUse":"Kullanmak istediğiniz model için geçerli bir Amazon Bedrock ARN'si girin. Format örnekleri:","awsCustomArnDesc":"ARN içindeki bölgenin yukarıda seçilen AWS Bölgesiyle eşleştiğinden emin olun.","openRouterApiKey":"OpenRouter API Anahtarı","getOpenRouterApiKey":"OpenRouter API Anahtarı Al","apiKeyStorageNotice":"API anahtarları VSCode'un Gizli Depolamasında güvenli bir şekilde saklanır","glamaApiKey":"Glama API Anahtarı","getGlamaApiKey":"Glama API Anahtarı Al","useCustomBaseUrl":"Özel temel URL kullan","useReasoning":"Akıl yürütmeyi etkinleştir","useHostHeader":"Özel Host başlığı kullan","useLegacyFormat":"Eski OpenAI API formatını kullan","customHeaders":"Özel Başlıklar","headerName":"Başlık adı","headerValue":"Başlık değeri","noCustomHeaders":"Tanımlanmış özel başlık yok. Eklemek için + düğmesine tıklayın.","requestyApiKey":"Requesty API Anahtarı","refreshModels":{"label":"Modelleri Yenile","hint":"En son modelleri görmek için lütfen ayarları yeniden açın.","loading":"Model listesi yenileniyor...","success":"Model listesi başarıyla yenilendi!","error":"Model listesi yenilenemedi. Lütfen tekrar deneyin."},"getRequestyApiKey":"Requesty API Anahtarı Al","openRouterTransformsText":"İstem ve mesaj zincirlerini bağlam boyutuna sıkıştır (<a>OpenRouter Dönüşümleri</a>)","anthropicApiKey":"Anthropic API Anahtarı","getAnthropicApiKey":"Anthropic API Anahtarı Al","anthropicUseAuthToken":"Anthropic API Anahtarını X-Api-Key yerine Authorization başlığı olarak geçir","cerebrasApiKey":"Cerebras API Anahtarı","getCerebrasApiKey":"Cerebras API Anahtarını Al","chutesApiKey":"Chutes API Anahtarı","getChutesApiKey":"Chutes API Anahtarı Al","fireworksApiKey":"Fireworks API Anahtarı","getFireworksApiKey":"Fireworks API Anahtarı Al","deepSeekApiKey":"DeepSeek API Anahtarı","getDeepSeekApiKey":"DeepSeek API Anahtarı Al","doubaoApiKey":"Doubao API Anahtarı","getDoubaoApiKey":"Doubao API Anahtarı Al","moonshotApiKey":"Moonshot API Anahtarı","getMoonshotApiKey":"Moonshot API Anahtarı Al","moonshotBaseUrl":"Moonshot Giriş Noktası","zaiApiKey":"Z AI API Anahtarı","getZaiApiKey":"Z AI API Anahtarı Al","zaiEntrypoint":"Z AI Giriş Noktası","zaiEntrypointDescription":"Konumunuza göre uygun API giriş noktasını seçin. Çin'de iseniz open.bigmodel.cn'yi seçin. Aksi takdirde api.z.ai'yi seçin.","geminiApiKey":"Gemini API Anahtarı","getGroqApiKey":"Groq API Anahtarı Al","groqApiKey":"Groq API Anahtarı","getSambaNovaApiKey":"SambaNova API Anahtarı Al","sambaNovaApiKey":"SambaNova API Anahtarı","getHuggingFaceApiKey":"Hugging Face API Anahtarı Al","huggingFaceApiKey":"Hugging Face API Anahtarı","huggingFaceModelId":"Model ID","huggingFaceLoading":"Yükleniyor...","huggingFaceModelsCount":"({{count}} model)","huggingFaceSelectModel":"Bir model seç...","huggingFaceSearchModels":"Modelleri ara...","huggingFaceNoModelsFound":"Model bulunamadı","huggingFaceProvider":"Sağlayıcı","huggingFaceProviderAuto":"Otomatik","huggingFaceSelectProvider":"Bir sağlayıcı seç...","huggingFaceSearchProviders":"Sağlayıcıları ara...","huggingFaceNoProvidersFound":"Sağlayıcı bulunamadı","getGeminiApiKey":"Gemini API Anahtarı Al","openAiApiKey":"OpenAI API Anahtarı","apiKey":"API Anahtarı","openAiBaseUrl":"Temel URL","getOpenAiApiKey":"OpenAI API Anahtarı Al","mistralApiKey":"Mistral API Anahtarı","getMistralApiKey":"Mistral / Codestral API Anahtarı Al","codestralBaseUrl":"Codestral Temel URL (İsteğe bağlı)","codestralBaseUrlDesc":"Codestral modeli için alternatif URL ayarlayın.","xaiApiKey":"xAI API Anahtarı","getXaiApiKey":"xAI API Anahtarı Al","litellmApiKey":"LiteLLM API Anahtarı","litellmBaseUrl":"LiteLLM Temel URL","awsCredentials":"AWS Kimlik Bilgileri","awsProfile":"AWS Profili","awsApiKey":"Amazon Bedrock API Anahtarı","awsProfileName":"AWS Profil Adı","awsAccessKey":"AWS Erişim Anahtarı","awsSecretKey":"AWS Gizli Anahtarı","awsSessionToken":"AWS Oturum Belirteci","awsRegion":"AWS Bölgesi","awsCrossRegion":"Bölgeler arası çıkarım kullan","awsBedrockVpc":{"useCustomVpcEndpoint":"Özel VPC uç noktası kullan","vpcEndpointUrlPlaceholder":"VPC uç noktası URL'sini girin (isteğe bağlı)","examples":"Örnekler:"},"enablePromptCaching":"İstem önbelleğini etkinleştir","enablePromptCachingTitle":"Desteklenen modeller için performansı artırmak ve maliyetleri azaltmak için istem önbelleğini etkinleştir.","cacheUsageNote":"Not: Önbellek kullanımını görmüyorsanız, farklı bir model seçip ardından istediğiniz modeli tekrar seçmeyi deneyin.","vscodeLmModel":"Dil Modeli","vscodeLmWarning":"Not: Bu çok deneysel bir entegrasyondur ve sağlayıcı desteği değişebilir. Bir modelin desteklenmediğine dair bir hata alırsanız, bu sağlayıcı tarafındaki bir sorundur.","geminiParameters":{"urlContext":{"title":"URL bağlamını etkinleştir","description":"Yanıtlar oluşturulurken ek bağlam için Gemini'nin URL'lere erişmesine ve işlemesine izin verir. Web içeriği analizi gerektiren görevler için faydalıdır."},"groundingSearch":{"title":"Google Aramasıyla Grounding Etkinleştir","description":"Gemini'nin güncel bilgileri almak için Google'da arama yapmasına ve yanıtları gerçek zamanlı verilere dayandırmasına izin verir. Güncel bilgi gerektiren sorgular için kullanışlıdır."}},"googleCloudSetup":{"title":"Google Cloud Vertex AI'yi kullanmak için şunları yapmanız gerekir:","step1":"1. Google Cloud hesabı oluşturun, Vertex AI API'sini etkinleştirin ve istediğiniz Claude modellerini etkinleştirin.","step2":"2. Google Cloud CLI'yi yükleyin ve uygulama varsayılan kimlik bilgilerini yapılandırın.","step3":"3. Veya kimlik bilgileriyle bir hizmet hesabı oluşturun."},"googleCloudCredentials":"Google Cloud Kimlik Bilgileri","googleCloudKeyFile":"Google Cloud Anahtar Dosyası Yolu","googleCloudProjectId":"Google Cloud Proje Kimliği","googleCloudRegion":"Google Cloud Bölgesi","lmStudio":{"baseUrl":"Temel URL (İsteğe bağlı)","modelId":"Model Kimliği","speculativeDecoding":"Spekülatif Kod Çözmeyi Etkinleştir","draftModelId":"Taslak Model Kimliği","draftModelDesc":"Spekülatif kod çözmenin doğru çalışması için taslak model aynı model ailesinden olmalıdır.","selectDraftModel":"Taslak Model Seç","noModelsFound":"Taslak model bulunamadı. Lütfen LM Studio'nun Sunucu Modu etkinken çalıştığından emin olun.","description":"LM Studio, modelleri bilgisayarınızda yerel olarak çalıştırmanıza olanak tanır. Başlamak için <a>hızlı başlangıç kılavuzlarına</a> bakın. Bu uzantıyla kullanmak için LM Studio'nun <b>yerel sunucu</b> özelliğini de başlatmanız gerekecektir. <span>Not:</span> Roo Code karmaşık istemler kullanır ve Claude modelleriyle en iyi şekilde çalışır. Daha az yetenekli modeller beklendiği gibi çalışmayabilir."},"ollama":{"baseUrl":"Temel URL (İsteğe bağlı)","modelId":"Model Kimliği","description":"Ollama, modelleri bilgisayarınızda yerel olarak çalıştırmanıza olanak tanır. Başlamak için hızlı başlangıç kılavuzlarına bakın.","warning":"Not: Roo Code karmaşık istemler kullanır ve Claude modelleriyle en iyi şekilde çalışır. Daha az yetenekli modeller beklendiği gibi çalışmayabilir."},"unboundApiKey":"Unbound API Anahtarı","getUnboundApiKey":"Unbound API Anahtarı Al","unboundRefreshModelsSuccess":"Model listesi güncellendi! Artık en son modeller arasından seçim yapabilirsiniz.","unboundInvalidApiKey":"Geçersiz API anahtarı. Lütfen API anahtarınızı kontrol edin ve tekrar deneyin.","humanRelay":{"description":"API anahtarı gerekmez, ancak kullanıcının bilgileri web sohbet yapay zekasına kopyalayıp yapıştırması gerekir.","instructions":"Kullanım sırasında bir iletişim kutusu açılacak ve mevcut mesaj otomatik olarak panoya kopyalanacaktır. Bunları web yapay zekalarına (ChatGPT veya Claude gibi) yapıştırmanız, ardından yapay zekanın yanıtını iletişim kutusuna kopyalayıp onay düğmesine tıklamanız gerekir."},"openRouter":{"providerRouting":{"title":"OpenRouter Sağlayıcı Yönlendirmesi","description":"OpenRouter, modeliniz için mevcut en iyi sağlayıcılara istekleri yönlendirir. Varsayılan olarak, istekler çalışma süresini en üst düzeye çıkarmak için en iyi sağlayıcılar arasında dengelenir. Ancak, bu model için kullanılacak belirli bir sağlayıcı seçebilirsiniz.","learnMore":"Sağlayıcı yönlendirmesi hakkında daha fazla bilgi edinin"}},"customModel":{"capabilities":"Özel OpenAI uyumlu modelinizin yeteneklerini ve fiyatlandırmasını yapılandırın. Model yeteneklerini belirtirken dikkatli olun, çünkü bunlar Roo Code'un performansını etkileyebilir.","maxTokens":{"label":"Maksimum Çıktı Token'ları","description":"Modelin bir yanıtta üretebileceği maksimum token sayısı. (Sunucunun maksimum token'ları ayarlamasına izin vermek için -1 belirtin.)"},"contextWindow":{"label":"Bağlam Penceresi Boyutu","description":"Modelin işleyebileceği toplam token sayısı (giriş + çıkış)."},"imageSupport":{"label":"Görüntü Desteği","description":"Bu model görüntüleri işleyip anlayabilir mi?"},"computerUse":{"label":"Bilgisayar Kullanımı","description":"Bu model bir tarayıcıyla etkileşim kurabilir mi? (örn. Claude 3.7 Sonnet)"},"promptCache":{"label":"İstem Önbelleği","description":"Bu model istemleri önbelleğe alabilir mi?"},"pricing":{"input":{"label":"Giriş Fiyatı","description":"Giriş/istem başına milyon token maliyeti. Bu, modele bağlam ve talimatlar gönderme maliyetini etkiler."},"output":{"label":"Çıkış Fiyatı","description":"Model yanıtı başına milyon token maliyeti. Bu, oluşturulan içerik ve tamamlamaların maliyetini etkiler."},"cacheReads":{"label":"Önbellek Okuma Fiyatı","description":"Önbellekten okuma başına milyon token maliyeti. Bu, önbelleğe alınmış bir yanıt alındığında uygulanan fiyattır."},"cacheWrites":{"label":"Önbellek Yazma Fiyatı","description":"Önbelleğe yazma başına milyon token maliyeti. Bu, bir istem ilk kez önbelleğe alındığında uygulanan fiyattır."}},"resetDefaults":"Varsayılanlara Sıfırla"},"rateLimitSeconds":{"label":"Hız sınırı","description":"API istekleri arasındaki minimum süre."},"consecutiveMistakeLimit":{"label":"Hata ve Tekrar Limiti","description":"'Roo sorun yaşıyor' iletişim kutusunu göstermeden önceki ardışık hata veya tekrarlanan eylem sayısı","unlimitedDescription":"Sınırsız yeniden deneme etkin (otomatik devam et). Diyalog asla görünmeyecek.","warning":"⚠️ 0'a ayarlamak, önemli API kullanımına neden olabilecek sınırsız yeniden denemeye izin verir"},"reasoningEffort":{"label":"Model Akıl Yürütme Çabası","high":"Yüksek","medium":"Orta","low":"Düşük"},"setReasoningLevel":"Akıl Yürütme Çabasını Etkinleştir","claudeCode":{"pathLabel":"Claude Code Yolu","description":"Claude Code CLI'nize isteğe bağlı yol. Ayarlanmazsa varsayılan olarak 'claude' kullanılır.","placeholder":"Varsayılan: claude","maxTokensLabel":"Maksimum Çıktı Token sayısı","maxTokensDescription":"Claude Code yanıtları için maksimum çıktı token sayısı. Varsayılan 8000'dir."}}`, + ), + f4e = { + enable: { + label: "Tarayıcı aracını etkinleştir", + description: + "Etkinleştirildiğinde, Roo bilgisayar kullanımını destekleyen modeller kullanırken web siteleriyle etkileşim kurmak için bir tarayıcı kullanabilir. <0>Daha fazla bilgi</0>", + }, + viewport: { + label: "Görünüm alanı boyutu", + description: + "Tarayıcı etkileşimleri için görünüm alanı boyutunu seçin. Bu, web sitelerinin nasıl görüntülendiğini ve etkileşime girdiğini etkiler.", + options: { + largeDesktop: "Büyük Masaüstü (1280x800)", + smallDesktop: "Küçük Masaüstü (900x600)", + tablet: "Tablet (768x1024)", + mobile: "Mobil (360x640)", + }, + }, + screenshotQuality: { + label: "Ekran görüntüsü kalitesi", + description: + "Tarayıcı ekran görüntülerinin WebP kalitesini ayarlayın. Daha yüksek değerler daha net ekran görüntüleri sağlar ancak token kullanımını artırır.", + }, + remote: { + label: "Uzak tarayıcı bağlantısı kullan", + description: + "Uzaktan hata ayıklama etkinleştirilmiş olarak çalışan bir Chrome tarayıcısına bağlanın (--remote-debugging-port=9222).", + urlPlaceholder: "Özel URL (örn. http://localhost:9222)", + testButton: "Bağlantıyı Test Et", + testingButton: "Test Ediliyor...", + instructions: + "DevTools protokolü ana bilgisayar adresini girin veya yerel Chrome örneklerini otomatik olarak keşfetmek için boş bırakın. Bağlantıyı Test Et düğmesi, sağlanmışsa özel URL'yi deneyecek veya alan boşsa otomatik olarak keşfedecektir.", + }, + }, + g4e = { + enable: { + label: "Otomatik kontrol noktalarını etkinleştir", + description: + "Etkinleştirildiğinde, Roo görev yürütme sırasında otomatik olarak kontrol noktaları oluşturarak değişiklikleri gözden geçirmeyi veya önceki durumlara dönmeyi kolaylaştırır. <0>Daha fazla bilgi</0>", + }, + }, + v4e = { + sound: { + label: "Ses efektlerini etkinleştir", + description: "Etkinleştirildiğinde, Roo bildirimler ve olaylar için ses efektleri çalacaktır.", + volumeLabel: "Ses Düzeyi", + }, + tts: { + label: "Metinden sese özelliğini etkinleştir", + description: + "Etkinleştirildiğinde, Roo yanıtlarını metinden sese teknolojisi kullanarak sesli okuyacaktır.", + speedLabel: "Hız", + }, + }, + b4e = { + description: + "Yapay zekanın bağlam penceresine hangi bilgilerin dahil edileceğini kontrol edin, token kullanımını ve yanıt kalitesini etkiler", + autoCondenseContextPercent: { + label: "Akıllı bağlam sıkıştırmayı tetikleyecek eşik", + description: "Bağlam penceresi bu eşiğe ulaştığında, Roo otomatik olarak sıkıştıracaktır.", + }, + condensingApiConfiguration: { + label: "Bağlam Yoğunlaştırma için API Yapılandırması", + description: + "Bağlam yoğunlaştırma işlemleri için hangi API yapılandırmasının kullanılacağını seçin. Mevcut aktif yapılandırmayı kullanmak için seçimsiz bırakın.", + useCurrentConfig: "Varsayılan", + }, + customCondensingPrompt: { + label: "Özel Bağlam Yoğunlaştırma İstemcisi", + description: + "Bağlam yoğunlaştırma için özel sistem istemcisi. Varsayılan istemciyi kullanmak için boş bırakın.", + placeholder: `Özel yoğunlaştırma promptunuzu buraya girin... + +Varsayılan prompt ile aynı yapıyı kullanabilirsiniz: +- Önceki Konuşma +- Mevcut Çalışma +- Temel Teknik Kavramlar +- İlgili Dosyalar ve Kod +- Problem Çözme +- Bekleyen Görevler ve Sonraki Adımlar`, + reset: "Varsayılana Sıfırla", + hint: "Boş = varsayılan promptu kullan", + }, + autoCondenseContext: { + name: "Akıllı bağlam sıkıştırmayı otomatik olarak tetikle", + description: + "Etkinleştirildiğinde, Roo eşiğe ulaşıldığında bağlamı otomatik olarak sıkıştırır. Devre dışı bırakıldığında, bağlam sıkıştırmayı hala manuel olarak tetikleyebilirsiniz.", + }, + openTabs: { + label: "Açık sekmeler bağlam sınırı", + description: + "Bağlama dahil edilecek maksimum VSCode açık sekme sayısı. Daha yüksek değerler daha fazla bağlam sağlar ancak token kullanımını artırır.", + }, + workspaceFiles: { + label: "Çalışma alanı dosyaları bağlam sınırı", + description: + "Mevcut çalışma dizini ayrıntılarına dahil edilecek maksimum dosya sayısı. Daha yüksek değerler daha fazla bağlam sağlar ancak token kullanımını artırır.", + }, + rooignore: { + label: "Listelerde ve aramalarda .rooignore dosyalarını göster", + description: + "Etkinleştirildiğinde, .rooignore'daki desenlerle eşleşen dosyalar kilit sembolü ile listelerde gösterilecektir. Devre dışı bırakıldığında, bu dosyalar dosya listelerinden ve aramalardan tamamen gizlenecektir.", + }, + maxReadFile: { + label: "Dosya okuma otomatik kısaltma eşiği", + description: + "Model başlangıç/bitiş değerlerini belirtmediğinde Roo bu sayıda satırı okur. Bu sayı dosyanın toplam satır sayısından azsa, Roo kod tanımlamalarının satır numarası dizinini oluşturur. Özel durumlar: -1, Roo'ya tüm dosyayı okumasını (dizinleme olmadan), 0 ise hiç satır okumamasını ve minimum bağlam için yalnızca satır dizinleri sağlamasını belirtir. Düşük değerler başlangıç bağlam kullanımını en aza indirir ve sonraki hassas satır aralığı okumalarına olanak tanır. Açık başlangıç/bitiş istekleri bu ayarla sınırlı değildir.", + lines: "satır", + always_full_read: "Her zaman tüm dosyayı oku", + }, + maxConcurrentFileReads: { + label: "Eşzamanlı dosya okuma sınırı", + description: + "'read_file' aracının aynı anda işleyebileceği maksimum dosya sayısı. Daha yüksek değerler birden çok küçük dosyanın okunmasını hızlandırabilir ancak bellek kullanımını artırır.", + }, + diagnostics: { + includeMessages: { + label: "Tanı mesajlarını otomatik olarak bağlama dahil et", + description: + "Etkinleştirildiğinde, düzenlenen dosyalardan tanı mesajları (hatalar) otomatik olarak bağlama dahil edilecektir. @problems kullanarak tüm çalışma alanı tanı mesajlarını her zaman manuel olarak dahil edebilirsiniz.", + }, + maxMessages: { + label: "Maksimum tanı mesajı", + description: + "Dosya başına dahil edilecek maksimum tanı mesajı sayısı. Bu sınır hem otomatik dahil etme (onay kutusu etkinleştirildiğinde) hem de manuel @problems bahisleri için geçerlidir. Daha yüksek değerler daha fazla bağlam sağlar ancak jeton kullanımını artırır.", + resetTooltip: "Varsayılan değere sıfırla (50)", + unlimited: "Sınırsız tanı mesajları", + unlimitedLabel: "Sınırsız", + }, + delayAfterWrite: { + label: "Potansiyel sorunları tespit etmek için tanılamaya izin vermek üzere yazmalardan sonra gecikme", + description: + "Devam etmeden önce dosya yazımlarından sonra beklenecek süre, tanılama araçlarının değişiklikleri işlemesine ve sorunları tespit etmesine olanak tanır.", + }, + }, + condensingThreshold: { + label: "Sıkıştırma Tetikleme Eşiği", + selectProfile: "Profil için eşik yapılandır", + defaultProfile: "Küresel Varsayılan (tüm profiller)", + defaultDescription: + "Bağlam bu yüzdeye ulaştığında, özel ayarları olmadıkça tüm profiller için otomatik olarak sıkıştırılacak", + profileDescription: "Sadece bu profil için özel eşik (küresel varsayılanı geçersiz kılar)", + inheritDescription: "Bu profil küresel varsayılan eşiği miras alır ({{threshold}}%)", + usesGlobal: "(küresel {{threshold}}% kullanır)", + }, + maxImageFileSize: { + label: "Maksimum görüntü dosyası boyutu", + mb: "MB", + description: + "Dosya okuma aracı tarafından işlenebilecek görüntü dosyaları için maksimum boyut (MB cinsinden).", + }, + maxTotalImageSize: { + label: "Maksimum toplam görüntü boyutu", + mb: "MB", + description: + "Tek bir read_file işleminde işlenen tüm görüntüler için maksimum kümülatif boyut sınırı (MB cinsinden). Birden çok görüntü okurken, her görüntünün boyutu toplama eklenir. Başka bir görüntü eklemek bu sınırı aşacaksa, atlanacaktır.", + }, + }, + y4e = { + basic: { label: "Terminal Ayarları: Temel", description: "Temel terminal ayarları" }, + advanced: { + label: "Terminal Ayarları: Gelişmiş", + description: "Aşağıdaki seçeneklerin uygulanması için terminalin yeniden başlatılması gerekebilir.", + }, + outputLineLimit: { + label: "Terminal çıktısı sınırı", + description: + "Komutları yürütürken terminal çıktısına dahil edilecek maksimum satır sayısı. Aşıldığında, token tasarrufu sağlayarak satırlar ortadan kaldırılacaktır. <0>Daha fazla bilgi</0>", + }, + outputCharacterLimit: { + label: "Terminal karakter sınırı", + description: + "Komutları yürütürken terminal çıktısına dahil edilecek maksimum karakter sayısı. Bu sınır, aşırı uzun satırlardan kaynaklanan bellek sorunlarını önlemek için satır sınırına göre önceliklidir. Aşıldığında, çıktı kesilir. <0>Daha fazla bilgi edinin</0>", + }, + shellIntegrationTimeout: { + label: "Terminal kabuk entegrasyonu zaman aşımı", + description: + 'Komutları yürütmeden önce kabuk entegrasyonunun başlatılması için beklenecek maksimum süre. Kabuk başlatma süresi uzun olan kullanıcılar için, terminalde "Shell Integration Unavailable" hatalarını görürseniz bu değerin artırılması gerekebilir. <0>Daha fazla bilgi</0>', + }, + shellIntegrationDisabled: { + label: "Terminal kabuk entegrasyonunu devre dışı bırak", + description: + "Terminal komutları düzgün çalışmıyorsa veya 'Shell Integration Unavailable' hataları görüyorsanız bunu etkinleştirin. Bu, bazı gelişmiş terminal özelliklerini atlayarak komutları çalıştırmak için daha basit bir yöntem kullanır. <0>Daha fazla bilgi</0>", + }, + commandDelay: { + label: "Terminal komut gecikmesi", + description: + "Komut yürütmesinden sonra eklenecek gecikme süresi (milisaniye). 0 varsayılan ayarı gecikmeyi tamamen devre dışı bırakır. Bu, zamanlama sorunları olan terminallerde komut çıktısının tam olarak yakalanmasını sağlamaya yardımcı olabilir. Çoğu terminalde bu, `PROMPT_COMMAND='sleep N'` ayarlanarak uygulanır ve PowerShell her komutun sonuna `start-sleep` ekler. Başlangıçta VSCode hata#237208 için bir geçici çözümdü ve gerekli olmayabilir. <0>Daha fazla bilgi</0>", + }, + compressProgressBar: { + label: "İlerleme çubuğu çıktısını sıkıştır", + description: + "Etkinleştirildiğinde, satır başı karakteri (\\r) içeren terminal çıktısını işleyerek gerçek bir terminalin içeriği nasıl göstereceğini simüle eder. Bu, ilerleme çubuğunun ara durumlarını kaldırır, yalnızca son durumu korur ve daha alakalı bilgiler için bağlam alanından tasarruf sağlar. <0>Daha fazla bilgi</0>", + }, + powershellCounter: { + label: "PowerShell sayaç geçici çözümünü etkinleştir", + description: + "Etkinleştirildiğinde, komutların doğru şekilde yürütülmesini sağlamak için PowerShell komutlarına bir sayaç ekler. Bu, çıktı yakalama sorunları yaşayabilecek PowerShell terminallerinde yardımcı olur. <0>Daha fazla bilgi</0>", + }, + zshClearEolMark: { + label: "ZSH satır sonu işaretini temizle", + description: + "Etkinleştirildiğinde, PROMPT_EOL_MARK='' ayarlanarak ZSH satır sonu işaretini temizler. Bu, '%' gibi özel karakterlerle biten komut çıktılarının yorumlanmasında sorun yaşanmasını önler. <0>Daha fazla bilgi</0>", + }, + zshOhMy: { + label: "Oh My Zsh entegrasyonunu etkinleştir", + description: + "Etkinleştirildiğinde, Oh My Zsh kabuk entegrasyon özelliklerini etkinleştirmek için ITERM_SHELL_INTEGRATION_INSTALLED=Yes ayarlar. Bu ayarın uygulanması IDE'nin yeniden başlatılmasını gerektirebilir. <0>Daha fazla bilgi</0>", + }, + zshP10k: { + label: "Powerlevel10k entegrasyonunu etkinleştir", + description: + "Etkinleştirildiğinde, Powerlevel10k kabuk entegrasyon özelliklerini etkinleştirmek için POWERLEVEL9K_TERM_SHELL_INTEGRATION=true ayarlar. <0>Daha fazla bilgi</0>", + }, + zdotdir: { + label: "ZDOTDIR işlemeyi etkinleştir", + description: + "Etkinleştirildiğinde, zsh kabuğu entegrasyonunu düzgün şekilde işlemek için ZDOTDIR için geçici bir dizin oluşturur. Bu, zsh yapılandırmanızı korurken VSCode kabuk entegrasyonunun zsh ile düzgün çalışmasını sağlar. <0>Daha fazla bilgi</0>", + }, + inheritEnv: { + label: "Ortam değişkenlerini devral", + description: + "Etkinleştirildiğinde, terminal VSCode üst işleminden ortam değişkenlerini devralır, örneğin kullanıcı profilinde tanımlanan kabuk entegrasyon ayarları gibi. Bu, VSCode'un global ayarı olan `terminal.integrated.inheritEnv` değerini doğrudan değiştirir. <0>Daha fazla bilgi</0>", + }, + }, + k4e = { title: "Gelişmiş ayarlar" }, + x4e = { + diff: { + label: "Diff'ler aracılığıyla düzenlemeyi etkinleştir", + description: + "Etkinleştirildiğinde, Roo dosyaları daha hızlı düzenleyebilecek ve kesik tam dosya yazımlarını otomatik olarak reddedecektir. En son Claude 3.7 Sonnet modeliyle en iyi şekilde çalışır.", + strategy: { + label: "Diff stratejisi", + options: { + standard: "Standart (Tek blok)", + multiBlock: "Deneysel: Çoklu blok diff", + unified: "Deneysel: Birleştirilmiş diff", + }, + descriptions: { + standard: "Standart diff stratejisi, bir seferde tek bir kod bloğuna değişiklikler uygular.", + unified: + "Birleştirilmiş diff stratejisi, diff'leri uygulamak için birden çok yaklaşım benimser ve en iyi yaklaşımı seçer.", + multiBlock: + "Çoklu blok diff stratejisi, tek bir istekte bir dosyadaki birden çok kod bloğunu güncellemenize olanak tanır.", + }, + }, + matchPrecision: { + label: "Eşleşme hassasiyeti", + description: + "Bu kaydırıcı, diff'ler uygulanırken kod bölümlerinin ne kadar hassas bir şekilde eşleşmesi gerektiğini kontrol eder. Daha düşük değerler daha esnek eşleşmeye izin verir ancak yanlış değiştirme riskini artırır. %100'ün altındaki değerleri son derece dikkatli kullanın.", + }, + }, + todoList: { + label: "Yapılacaklar listesi aracını etkinleştir", + description: + "Etkinleştirildiğinde, Roo görev ilerlemesini takip etmek için yapılacaklar listeleri oluşturabilir ve yönetebilir. Bu, karmaşık görevleri yönetilebilir adımlara organize etmeye yardımcı olur.", + }, + }, + w4e = { + DIFF_STRATEGY_UNIFIED: { + name: "Deneysel birleştirilmiş diff stratejisini kullan", + description: + "Deneysel birleştirilmiş diff stratejisini etkinleştir. Bu strateji, model hatalarından kaynaklanan yeniden deneme sayısını azaltabilir, ancak beklenmeyen davranışlara veya hatalı düzenlemelere neden olabilir. Yalnızca riskleri anlıyorsanız ve tüm değişiklikleri dikkatlice incelemeye istekliyseniz etkinleştirin.", + }, + SEARCH_AND_REPLACE: { + name: "Deneysel arama ve değiştirme aracını kullan", + description: + "Deneysel arama ve değiştirme aracını etkinleştir, Roo'nun tek bir istekte bir arama teriminin birden fazla örneğini değiştirmesine olanak tanır.", + }, + INSERT_BLOCK: { + name: "Deneysel içerik ekleme aracını kullan", + description: + "Deneysel içerik ekleme aracını etkinleştir, Roo'nun bir diff oluşturma gereği duymadan belirli satır numaralarına içerik eklemesine olanak tanır.", + }, + POWER_STEERING: { + name: 'Deneysel "güç direksiyon" modunu kullan', + description: + "Etkinleştirildiğinde, Roo modele geçerli mod tanımının ayrıntılarını daha sık hatırlatacaktır. Bu, rol tanımlarına ve özel talimatlara daha güçlü uyum sağlayacak, ancak mesaj başına daha fazla token kullanacaktır.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Deneysel çoklu blok diff aracını kullan", + description: + "Etkinleştirildiğinde, Roo çoklu blok diff aracını kullanacaktır. Bu, tek bir istekte dosyadaki birden fazla kod bloğunu güncellemeye çalışacaktır.", + }, + CONCURRENT_FILE_READS: { + name: "Eşzamanlı dosya okumayı etkinleştir", + description: + "Etkinleştirildiğinde, Roo tek bir istekte birden fazla dosya okuyabilir. Devre dışı bırakıldığında, Roo dosyaları birer birer okumalıdır. Daha az yetenekli modellerle çalışırken veya dosya erişimi üzerinde daha fazla kontrol istediğinizde devre dışı bırakmak yardımcı olabilir.", + }, + MARKETPLACE: { + name: "Marketplace'i Etkinleştir", + description: "Etkinleştirildiğinde, Marketplace'ten MCP'leri ve özel modları yükleyebilirsiniz.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Eşzamanlı dosya düzenlemelerini etkinleştir", + description: + "Etkinleştirildiğinde, Roo tek bir istekte birden fazla dosyayı düzenleyebilir. Devre dışı bırakıldığında, Roo dosyaları tek tek düzenlemek zorundadır. Bunu devre dışı bırakmak, daha az yetenekli modellerle çalışırken veya dosya değişiklikleri üzerinde daha fazla kontrol istediğinde yardımcı olabilir.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Arka plan düzenleme", + description: + "Etkinleştirildiğinde editör odak kesintisini önler. Dosya düzenlemeleri diff görünümlerini açmadan veya odağı çalmadan arka planda gerçekleşir. Roo değişiklikler yaparken kesintisiz çalışmaya devam edebilirsiniz. Dosyalar tanılamayı yakalamak için odaksız açılabilir veya tamamen kapalı kalabilir.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Yeni mesaj ayrıştırıcıyı kullan", + description: + "Uzun yanıtları daha verimli işleyerek hızlandıran deneysel akış mesaj ayrıştırıcısını etkinleştir.", + }, + }, + _4e = { + label: "Prompt önbelleğini devre dışı bırak", + description: "İşaretlendiğinde, Roo bu model için prompt önbelleğini kullanmayacaktır.", + }, + C4e = { + useCustom: "Özel sıcaklık kullan", + description: "Model yanıtlarındaki rastgeleliği kontrol eder.", + rangeDescription: + "Daha yüksek değerler çıktıyı daha rastgele yapar, daha düşük değerler daha deterministik hale getirir.", + }, + S4e = { + supportsImages: "Görüntüleri destekler", + noImages: "Görüntüleri desteklemez", + supportsComputerUse: "Bilgisayar kullanımını destekler", + noComputerUse: "Bilgisayar kullanımını desteklemez", + supportsPromptCache: "İstem önbelleğini destekler", + noPromptCache: "İstem önbelleğini desteklemez", + maxOutput: "Maksimum çıktı", + inputPrice: "Giriş fiyatı", + outputPrice: "Çıkış fiyatı", + cacheReadsPrice: "Önbellek okuma fiyatı", + cacheWritesPrice: "Önbellek yazma fiyatı", + enableStreaming: "Akışı etkinleştir", + enableR1Format: "R1 model parametrelerini etkinleştir", + enableR1FormatTips: "QWQ gibi R1 modelleri kullanıldığında etkinleştirilmelidir, 400 hatası alınmaması için", + useAzure: "Azure kullan", + azureApiVersion: "Azure API sürümünü ayarla", + gemini: { + freeRequests: + "* Dakikada {{count}} isteğe kadar ücretsiz. Bundan sonra, ücretlendirme istem boyutuna bağlıdır.", + pricingDetails: "Daha fazla bilgi için fiyatlandırma ayrıntılarına bakın.", + billingEstimate: "* Ücretlendirme bir tahmindir - kesin maliyet istem boyutuna bağlıdır.", + }, + }, + A4e = { + automaticFetch: + 'Uzantı <serviceLink>{{serviceName}}</serviceLink> üzerinde bulunan mevcut modellerin en güncel listesini otomatik olarak alır. Hangi modeli seçeceğinizden emin değilseniz, Roo Code <defaultModelLink>{{defaultModelId}}</defaultModelLink> ile en iyi şekilde çalışır. Şu anda mevcut olan ücretsiz seçenekleri bulmak için "free" araması da yapabilirsiniz.', + label: "Model", + searchPlaceholder: "Ara", + noMatchFound: "Eşleşme bulunamadı", + useCustomModel: "Özel kullan: {{modelId}}", + }, + P4e = { + feedback: + "Herhangi bir sorunuz veya geri bildiriminiz varsa, <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> adresinde bir konu açmaktan veya <redditLink>reddit.com/r/RooCode</redditLink> ya da <discordLink>discord.gg/roocode</discordLink>'a katılmaktan çekinmeyin", + telemetry: { + label: "Anonim hata ve kullanım raporlamaya izin ver", + description: + "Anonim kullanım verileri ve hata raporları göndererek Roo Code'u geliştirmeye yardımcı olun. Hiçbir kod, istem veya kişisel bilgi asla gönderilmez. Daha fazla ayrıntı için gizlilik politikamıza bakın.", + }, + settings: { import: "İçe Aktar", export: "Dışa Aktar", reset: "Sıfırla" }, + }, + R4e = { maxTokens: "Maksimum token", maxThinkingTokens: "Maksimum düşünme tokeni" }, + T4e = { + apiKey: "Geçerli bir API anahtarı sağlamalısınız.", + awsRegion: "Amazon Bedrock kullanmak için bir bölge seçmelisiniz.", + googleCloud: "Geçerli bir Google Cloud proje kimliği ve bölge sağlamalısınız.", + modelId: "Geçerli bir model kimliği sağlamalısınız.", + modelSelector: "Geçerli bir model seçici sağlamalısınız.", + openAi: "Geçerli bir temel URL, API anahtarı ve model kimliği sağlamalısınız.", + arn: { + invalidFormat: "Geçersiz ARN formatı. Lütfen format gereksinimlerini kontrol edin.", + regionMismatch: + "Uyarı: ARN'nizdeki bölge ({{arnRegion}}) seçtiğiniz bölge ({{region}}) ile eşleşmiyor. Bu erişim sorunlarına neden olabilir. Sağlayıcı, ARN'deki bölgeyi kullanacak.", + }, + modelAvailability: "Sağladığınız model kimliği ({{modelId}}) kullanılamıyor. Lütfen başka bir model seçin.", + providerNotAllowed: "Sağlayıcı '{{provider}}' kuruluşunuz tarafından izin verilmiyor", + modelNotAllowed: "Model '{{model}}' sağlayıcı '{{provider}}' için kuruluşunuz tarafından izin verilmiyor", + profileInvalid: "Bu profil, kuruluşunuz tarafından izin verilmeyen bir sağlayıcı veya model içeriyor", + }, + I4e = { + apiKey: "API anahtarını girin...", + profileName: "Profil adını girin", + accessKey: "Erişim anahtarını girin...", + secretKey: "Gizli anahtarı girin...", + sessionToken: "Oturum belirtecini girin...", + credentialsJson: "Kimlik bilgileri JSON'ını girin...", + keyFilePath: "Anahtar dosyası yolunu girin...", + projectId: "Proje ID'sini girin...", + customArn: "ARN girin (örn. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Temel URL'yi girin...", + modelId: { + lmStudio: "örn. meta-llama-3.1-8b-instruct", + lmStudioDraft: "örn. lmstudio-community/llama-3.2-1b-instruct", + ollama: "örn. llama3.1", + }, + numbers: { + maxTokens: "örn. 4096", + contextWindow: "örn. 128000", + inputPrice: "örn. 0.0001", + outputPrice: "örn. 0.0002", + cacheWritePrice: "örn. 0.00005", + }, + }, + M4e = { + ollamaUrl: "Varsayılan: http://localhost:11434", + lmStudioUrl: "Varsayılan: http://localhost:1234", + geminiUrl: "Varsayılan: https://generativelanguage.googleapis.com", + }, + j4e = { customArn: "Özel ARN", useCustomArn: "Özel ARN kullan..." }, + E4e = "Maksimum çıktı tokenlerini dahil et", + z4e = "API isteklerinde maksimum çıktı token parametresini gönder. Bazı sağlayıcılar bunu desteklemeyebilir.", + $4e = "Yanıttaki maksimum token sayısını sınırla", + L4e = "Maksimum çıktı tokenları", + D4e = "Yanıtta oluşturulacak maksimum token sayısı", + nxt = { + common: a4e, + header: l4e, + unsavedChangesDialog: c4e, + sections: d4e, + prompts: u4e, + codeIndex: p4e, + autoApprove: m4e, + providers: h4e, + browser: f4e, + checkpoints: g4e, + notifications: v4e, + contextManagement: b4e, + terminal: y4e, + advancedSettings: k4e, + advanced: x4e, + experimental: w4e, + promptCaching: _4e, + temperature: C4e, + modelInfo: S4e, + modelPicker: A4e, + footer: P4e, + thinkingBudget: R4e, + validation: T4e, + placeholders: I4e, + defaults: M4e, + labels: j4e, + includeMaxOutputTokens: E4e, + includeMaxOutputTokensDescription: z4e, + limitMaxTokensDescription: $4e, + maxOutputTokensLabel: L4e, + maxTokensGenerateDescription: D4e, + }, + oxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: x4e, + advancedSettings: k4e, + autoApprove: m4e, + browser: f4e, + checkpoints: g4e, + codeIndex: p4e, + common: a4e, + contextManagement: b4e, + default: nxt, + defaults: M4e, + experimental: w4e, + footer: P4e, + header: l4e, + includeMaxOutputTokens: E4e, + includeMaxOutputTokensDescription: z4e, + labels: j4e, + limitMaxTokensDescription: $4e, + maxOutputTokensLabel: L4e, + maxTokensGenerateDescription: D4e, + modelInfo: S4e, + modelPicker: A4e, + notifications: v4e, + placeholders: I4e, + promptCaching: _4e, + prompts: u4e, + providers: h4e, + sections: d4e, + temperature: C4e, + terminal: y4e, + thinkingBudget: R4e, + unsavedChangesDialog: c4e, + validation: T4e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + N4e = "Roo Code'a Hoş Geldin!", + O4e = + "Yerleşik ve genişletilebilir Modlar yelpazesiyle Roo Code, daha önce hiç olmadığı gibi planlama, mimari tasarım, kodlama, hata ayıklama ve üretkenliğini artırmanı sağlar.", + F4e = "Başlamak için bu eklentinin bir API sağlayıcısına ihtiyacı var.", + B4e = "Hadi başlayalım!", + U4e = { + requesty: { description: "Optimize edilmiş LLM yönlendiricin", incentive: "$1 ücretsiz kredi" }, + openrouter: { description: "LLM'ler için birleşik bir arayüz" }, + }, + q4e = "Sihirini yapabilmesi için Roo'nun bir API anahtarına ihtiyacı var.", + W4e = "Bir LLM yönlendiricisi kullanmanı öneririz:", + K4e = "Veya kendi API anahtarını kullanabilirsin:", + V4e = { + title: "Roo Code'u Geliştirmeye Yardım Et", + anonymousTelemetry: + "Hataları düzeltmemize ve eklentiyi geliştirmemize yardımcı olmak için anonim hata ve kullanım verileri gönder. Hiçbir zaman kod, metin veya kişisel bilgi gönderilmez.", + changeSettings: "Bunu her zaman <settingsLink>ayarlar</settingsLink>ın altından değiştirebilirsin", + settings: "ayarlar", + allow: "İzin Ver", + deny: "Reddet", + }, + H4e = "Ayarları İçe Aktar", + rxt = { + greeting: N4e, + introduction: O4e, + notice: F4e, + start: B4e, + routers: U4e, + chooseProvider: q4e, + startRouter: W4e, + startCustom: K4e, + telemetry: V4e, + importSettings: H4e, + }, + ixt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: q4e, + default: rxt, + greeting: N4e, + importSettings: H4e, + introduction: O4e, + notice: F4e, + routers: U4e, + start: B4e, + startCustom: K4e, + startRouter: W4e, + telemetry: V4e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + G4e = "Tài khoản", + Q4e = "Ảnh hồ sơ", + Z4e = "Đăng xuất", + Y4e = "Kiểm tra xác thực API", + X4e = "Kết nối với Roo Code Cloud", + J4e = "Kết nối", + eWe = "Kết nối với Roo Code Cloud", + tWe = "Đồng bộ prompts và telemetry của bạn để kích hoạt:", + nWe = "Lịch sử tác vụ trực tuyến", + oWe = "Tính năng chia sẻ và cộng tác", + rWe = "Số liệu sử dụng dựa trên tác vụ, token và chi phí", + iWe = "Theo dõi và điều khiển tác vụ từ bất kỳ đâu với Roomote Control", + sWe = "Roomote Control", + aWe = "Cho phép theo dõi và tương tác với các tác vụ trong workspace này với Roo Code Cloud", + lWe = "Truy cập Roo Code Cloud", + sxt = { + title: G4e, + profilePicture: Q4e, + logOut: Z4e, + testApiAuthentication: Y4e, + signIn: X4e, + connect: J4e, + cloudBenefitsTitle: eWe, + cloudBenefitsSubtitle: tWe, + cloudBenefitHistory: nWe, + cloudBenefitSharing: oWe, + cloudBenefitMetrics: rWe, + cloudBenefitWalkaway: iWe, + remoteControl: sWe, + remoteControlDescription: aWe, + visitCloudWebsite: lWe, + }, + axt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: nWe, + cloudBenefitMetrics: rWe, + cloudBenefitSharing: oWe, + cloudBenefitWalkaway: iWe, + cloudBenefitsSubtitle: tWe, + cloudBenefitsTitle: eWe, + connect: J4e, + default: sxt, + logOut: Z4e, + profilePicture: Q4e, + remoteControl: sWe, + remoteControlDescription: aWe, + signIn: X4e, + testApiAuthentication: Y4e, + title: G4e, + visitCloudWebsite: lWe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + cWe = "Chào mừng đến với Roo Code", + dWe = { + title: "Nhiệm vụ", + seeMore: "Xem thêm", + seeLess: "Thu gọn", + tokens: "Tokens:", + cache: "Bộ nhớ đệm:", + apiCost: "Chi phí API:", + contextWindow: "Chiều dài bối cảnh:", + closeAndStart: "Đóng nhiệm vụ và bắt đầu nhiệm vụ mới", + export: "Xuất lịch sử nhiệm vụ", + delete: "Xóa nhiệm vụ (Shift + Click để bỏ qua xác nhận)", + condenseContext: "Cô đọng ngữ cảnh thông minh", + share: "Chia sẻ nhiệm vụ", + shareWithOrganization: "Chia sẻ với tổ chức", + shareWithOrganizationDescription: "Chỉ thành viên tổ chức của bạn mới có thể truy cập", + sharePublicly: "Chia sẻ công khai", + sharePubliclyDescription: "Bất kỳ ai có liên kết đều có thể truy cập", + connectToCloud: "Kết nối với Cloud", + connectToCloudDescription: "Đăng nhập vào Roo Code Cloud để chia sẻ tác vụ", + sharingDisabledByOrganization: "Chia sẻ bị tổ chức vô hiệu hóa", + shareSuccessOrganization: "Liên kết tổ chức đã được sao chép vào clipboard", + shareSuccessPublic: "Liên kết công khai đã được sao chép vào clipboard", + }, + uWe = "Bỏ ghim khỏi đầu", + pWe = "Ghim lên đầu", + mWe = { + availableSpace: "Không gian khả dụng: {{amount}} tokens", + tokensUsed: "Tokens đã sử dụng: {{used}} trong {{total}}", + reservedForResponse: "Dành riêng cho phản hồi mô hình: {{amount}} tokens", + }, + hWe = { title: "Thử lại", tooltip: "Thử lại thao tác" }, + fWe = { title: "Bắt đầu nhiệm vụ mới", tooltip: "Bắt đầu một nhiệm vụ mới" }, + gWe = { title: "Vẫn tiếp tục", tooltip: "Tiếp tục trong khi lệnh đang chạy" }, + vWe = { title: "Lưu", tooltip: "Lưu các thay đổi tin nhắn" }, + bWe = { title: "Từ chối", tooltip: "Từ chối hành động này" }, + yWe = "Hoàn thành nhiệm vụ phụ và quay lại", + kWe = { title: "Phê duyệt", tooltip: "Phê duyệt hành động này" }, + xWe = { title: "Chạy lệnh", tooltip: "Thực thi lệnh này" }, + wWe = { title: "Tiếp tục trong khi chạy", tooltip: "Tiếp tục bất chấp cảnh báo" }, + _We = { title: "Dừng lệnh", tooltip: "Dừng lệnh hiện tại" }, + CWe = { title: "Tiếp tục nhiệm vụ", tooltip: "Tiếp tục nhiệm vụ hiện tại" }, + SWe = { title: "Kết thúc", tooltip: "Kết thúc nhiệm vụ hiện tại" }, + AWe = { title: "Hủy", tooltip: "Hủy thao tác hiện tại" }, + PWe = "Cuộn xuống cuối cuộc trò chuyện", + RWe = + "Tạo, tái cấu trúc và gỡ lỗi mã bằng sự hỗ trợ của AI. Kiểm tra <DocsLink>tài liệu</DocsLink> của chúng tôi để tìm hiểu thêm.", + TWe = + "<strong>Danh sách nhiệm vụ của bạn trong không gian làm việc này trống.</strong> Bắt đầu bằng cách nhập nhiệm vụ bên dưới. Bạn không chắc chắn nên bắt đầu như thế nào? Đọc thêm về những gì Roo có thể làm cho bạn trong <DocsLink>tài liệu</DocsLink>.", + IWe = { + boomerangTasks: { + title: "Điều phối Nhiệm vụ", + description: "Chia nhỏ các nhiệm vụ thành các phần nhỏ hơn, dễ quản lý hơn.", + }, + stickyModels: { title: "Chế độ dính", description: "Mỗi chế độ ghi nhớ mô hình đã sử dụng cuối cùng của bạn" }, + tools: { title: "Công cụ", description: "Cho phép AI giải quyết vấn đề bằng cách duyệt web, chạy lệnh, v.v." }, + customizableModes: { + title: "Chế độ tùy chỉnh", + description: "Các nhân vật chuyên biệt với hành vi riêng và mô hình được chỉ định", + }, + }, + MWe = "Chọn chế độ tương tác", + jWe = "Chọn cấu hình API", + EWe = "Nâng cao yêu cầu với ngữ cảnh bổ sung", + zWe = "Thêm hình ảnh vào tin nhắn", + $We = "Gửi tin nhắn", + LWe = "Dừng chuyển văn bản thành giọng nói", + DWe = "Nhập tin nhắn...", + NWe = "Nhập nhiệm vụ của bạn tại đây...", + OWe = "@ để thêm ngữ cảnh, / cho lệnh", + FWe = "giữ shift để kéo tệp", + BWe = "giữ shift để kéo tệp/hình ảnh", + UWe = + "Nút 'Nâng cao yêu cầu' giúp cải thiện yêu cầu của bạn bằng cách cung cấp ngữ cảnh bổ sung, làm rõ hoặc diễn đạt lại. Hãy thử nhập yêu cầu tại đây và nhấp vào nút một lần nữa để xem cách thức hoạt động.", + qWe = { + title: "Chế độ", + marketplace: "Chợ Chế độ", + settings: "Cài đặt Chế độ", + description: "Các nhân cách chuyên biệt điều chỉnh hành vi của Roo.", + searchPlaceholder: "Tìm kiếm chế độ...", + noResults: "Không tìm thấy kết quả nào", + }, + WWe = "Lỗi khi đọc tệp:", + KWe = "Không có hình ảnh hợp lệ nào được xử lý", + VWe = "Dấu phân cách", + HWe = "Chỉnh sửa...", + GWe = "cho chế độ tiếp theo", + QWe = "cho chế độ trước đó", + ZWe = "Lỗi", + YWe = { title: "Chỉnh sửa không thành công" }, + XWe = "Roo đang gặp sự cố...", + JWe = { + title: "Yêu cầu API", + failed: "Yêu cầu API thất bại", + streaming: "Yêu cầu API...", + cancelled: "Yêu cầu API đã hủy", + streamingFailed: "Streaming API thất bại", + }, + eKe = { + regular: "Điểm kiểm tra", + initializingWarning: + "Đang khởi tạo điểm kiểm tra... Nếu quá trình này mất quá nhiều thời gian, bạn có thể vô hiệu hóa điểm kiểm tra trong <settingsLink>cài đặt</settingsLink> và khởi động lại tác vụ của bạn.", + menu: { + viewDiff: "Xem khác biệt", + restore: "Khôi phục điểm kiểm tra", + restoreFiles: "Khôi phục tệp", + restoreFilesDescription: "Khôi phục các tệp dự án của bạn về bản chụp được thực hiện tại thời điểm này.", + restoreFilesAndTask: "Khôi phục tệp & nhiệm vụ", + confirm: "Xác nhận", + cancel: "Hủy", + cannotUndo: "Hành động này không thể hoàn tác.", + restoreFilesAndTaskDescription: + "Khôi phục các tệp dự án của bạn về bản chụp được thực hiện tại thời điểm này và xóa tất cả tin nhắn sau điểm này.", + }, + current: "Hiện tại", + }, + tKe = { wantsToFetch: "Roo muốn lấy hướng dẫn chi tiết để hỗ trợ nhiệm vụ hiện tại" }, + nKe = { + wantsToRead: "Roo muốn đọc tệp này:", + wantsToReadOutsideWorkspace: "Roo muốn đọc tệp này bên ngoài không gian làm việc:", + didRead: "Roo đã đọc tệp này:", + wantsToEdit: "Roo muốn chỉnh sửa tệp này:", + wantsToEditOutsideWorkspace: "Roo muốn chỉnh sửa tệp này bên ngoài không gian làm việc:", + wantsToEditProtected: "Roo muốn chỉnh sửa tệp cấu hình được bảo vệ:", + wantsToCreate: "Roo muốn tạo một tệp mới:", + wantsToSearchReplace: "Roo muốn thực hiện tìm kiếm và thay thế trong tệp này:", + didSearchReplace: "Roo đã thực hiện tìm kiếm và thay thế trong tệp này:", + wantsToInsert: "Roo muốn chèn nội dung vào tệp này:", + wantsToInsertWithLineNumber: "Roo muốn chèn nội dung vào dòng {{lineNumber}} của tệp này:", + wantsToInsertAtEnd: "Roo muốn thêm nội dung vào cuối tệp này:", + wantsToReadAndXMore: "Roo muốn đọc tệp này và {{count}} tệp khác:", + wantsToReadMultiple: "Roo muốn đọc nhiều tệp:", + wantsToApplyBatchChanges: "Roo muốn áp dụng thay đổi cho nhiều tệp:", + }, + oKe = { + wantsToViewTopLevel: "Roo muốn xem các tệp cấp cao nhất trong thư mục này:", + didViewTopLevel: "Roo đã xem các tệp cấp cao nhất trong thư mục này:", + wantsToViewRecursive: "Roo muốn xem đệ quy tất cả các tệp trong thư mục này:", + didViewRecursive: "Roo đã xem đệ quy tất cả các tệp trong thư mục này:", + wantsToViewDefinitions: "Roo muốn xem tên định nghĩa mã nguồn được sử dụng trong thư mục này:", + didViewDefinitions: "Roo đã xem tên định nghĩa mã nguồn được sử dụng trong thư mục này:", + wantsToSearch: "Roo muốn tìm kiếm trong thư mục này cho <code>{{regex}}</code>:", + didSearch: "Roo đã tìm kiếm trong thư mục này cho <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: + "Roo muốn tìm kiếm trong thư mục này (ngoài không gian làm việc) cho <code>{{regex}}</code>:", + didSearchOutsideWorkspace: + "Roo đã tìm kiếm trong thư mục này (ngoài không gian làm việc) cho <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: + "Roo muốn xem các tệp cấp cao nhất trong thư mục này (ngoài không gian làm việc):", + didViewTopLevelOutsideWorkspace: + "Roo đã xem các tệp cấp cao nhất trong thư mục này (ngoài không gian làm việc):", + wantsToViewRecursiveOutsideWorkspace: + "Roo muốn xem đệ quy tất cả các tệp trong thư mục này (ngoài không gian làm việc):", + didViewRecursiveOutsideWorkspace: + "Roo đã xem đệ quy tất cả các tệp trong thư mục này (ngoài không gian làm việc):", + wantsToViewDefinitionsOutsideWorkspace: + "Roo muốn xem tên định nghĩa mã nguồn được sử dụng trong thư mục này (ngoài không gian làm việc):", + didViewDefinitionsOutsideWorkspace: + "Roo đã xem tên định nghĩa mã nguồn được sử dụng trong thư mục này (ngoài không gian làm việc):", + }, + rKe = "Kết quả lệnh", + iKe = { + running: "Đang chạy", + pid: "PID: {{pid}}", + exited: "Đã thoát ({{exitCode}})", + manageCommands: "Quản lý quyền lệnh", + commandManagementDescription: + "Quản lý quyền lệnh: Nhấp vào ✓ để cho phép tự động thực thi, ✗ để từ chối thực thi. Các mẫu có thể được bật/tắt hoặc xóa khỏi danh sách. <settingsLink>Xem tất cả cài đặt</settingsLink>", + addToAllowed: "Thêm vào danh sách cho phép", + removeFromAllowed: "Xóa khỏi danh sách cho phép", + addToDenied: "Thêm vào danh sách từ chối", + removeFromDenied: "Xóa khỏi danh sách từ chối", + abortCommand: "Hủy bỏ thực thi lệnh", + expandOutput: "Mở rộng kết quả", + collapseOutput: "Thu gọn kết quả", + expandManagement: "Mở rộng phần quản lý lệnh", + collapseManagement: "Thu gọn phần quản lý lệnh", + }, + sKe = "Phản hồi", + aKe = { + wantsToUseTool: "Roo muốn sử dụng một công cụ trên máy chủ MCP {{serverName}}:", + wantsToAccessResource: "Roo muốn truy cập một tài nguyên trên máy chủ MCP {{serverName}}:", + }, + lKe = { + wantsToSwitch: "Roo muốn chuyển sang chế độ <code>{{mode}}</code>", + wantsToSwitchWithReason: "Roo muốn chuyển sang chế độ <code>{{mode}}</code> vì: {{reason}}", + didSwitch: "Roo đã chuyển sang chế độ <code>{{mode}}</code>", + didSwitchWithReason: "Roo đã chuyển sang chế độ <code>{{mode}}</code> vì: {{reason}}", + }, + cKe = { + wantsToCreate: "Roo muốn tạo một nhiệm vụ phụ mới trong chế độ <code>{{mode}}</code>:", + wantsToFinish: "Roo muốn hoàn thành nhiệm vụ phụ này", + newTaskContent: "Hướng dẫn nhiệm vụ phụ", + completionContent: "Nhiệm vụ phụ đã hoàn thành", + resultContent: "Kết quả nhiệm vụ phụ", + defaultResult: "Vui lòng tiếp tục với nhiệm vụ tiếp theo.", + completionInstructions: + "Nhiệm vụ phụ đã hoàn thành! Bạn có thể xem lại kết quả và đề xuất các sửa đổi hoặc bước tiếp theo. Nếu mọi thứ có vẻ tốt, hãy xác nhận để trả kết quả về nhiệm vụ chính.", + }, + dKe = { hasQuestion: "Roo có một câu hỏi:" }, + uKe = "Nhiệm vụ hoàn thành", + pKe = { issues: "Có vẻ như bạn đang gặp vấn đề với Windows PowerShell, vui lòng xem" }, + mKe = { + title: "Tự động phê duyệt:", + none: "Không", + description: + "Tự động phê duyệt cho phép Roo Code thực hiện hành động mà không cần xin phép. Chỉ bật cho các hành động bạn hoàn toàn tin tưởng. Cấu hình chi tiết hơn có sẵn trong <settingsLink>Cài đặt</settingsLink>.", + selectOptionsFirst: "Chọn ít nhất một tùy chọn bên dưới để bật tự động phê duyệt", + toggleAriaLabel: "Chuyển đổi tự động phê duyệt", + disabledAriaLabel: "Tự động phê duyệt bị vô hiệu hóa - hãy chọn các tùy chọn trước", + }, + hKe = { thinking: "Đang suy nghĩ", seconds: "{{count}} giây" }, + fKe = { + title: "Ngữ cảnh đã tóm tắt", + condensing: "Đang cô đọng ngữ cảnh...", + errorHeader: "Không thể cô đọng ngữ cảnh", + tokens: "token", + }, + gKe = { + copyToInput: "Sao chép vào ô nhập liệu (hoặc Shift + nhấp chuột)", + autoSelectCountdown: "Tự động chọn sau {{count}}s", + countdownDisplay: "{{count}}s", + }, + vKe = { + title: "🎉 Roo Code {{version}} Đã phát hành", + description: + "Roo Code {{version}} mang đến các tính năng mạnh mẽ mới và cải tiến đáng kể để nâng cao quy trình phát triển của bạn.", + whatsNew: "Có gì mới", + feature1: + "<bold>Hàng đợi Tin nhắn</bold>: Xếp hàng nhiều tin nhắn trong khi Roo đang làm việc, cho phép bạn tiếp tục lập kế hoạch quy trình làm việc mà không bị gián đoạn.", + feature2: + "<bold>Lệnh Slash Tùy chỉnh</bold>: Tạo các lệnh slash được cá nhân hóa để truy cập nhanh vào các prompt và quy trình làm việc thường dùng, với quản lý UI đầy đủ.", + feature3: + "<bold>Công cụ Gemini Nâng cao</bold>: Khả năng ngữ cảnh URL mới và nền tảng tìm kiếm Google cung cấp cho các mô hình Gemini thông tin web thời gian thực và khả năng nghiên cứu nâng cao.", + hideButton: "Ẩn thông báo", + detailsDiscussLinks: + "Nhận thêm chi tiết và thảo luận tại <discordLink>Discord</discordLink> và <redditLink>Reddit</redditLink> 🚀", + }, + bKe = { + rooWantsToUse: "Roo muốn sử dụng trình duyệt:", + consoleLogs: "Nhật ký bảng điều khiển", + noNewLogs: "(Không có nhật ký mới)", + screenshot: "Ảnh chụp màn hình trình duyệt", + cursor: "con trỏ", + navigation: { step: "Bước {{current}} / {{total}}", previous: "Trước", next: "Tiếp" }, + sessionStarted: "Phiên trình duyệt đã bắt đầu", + actions: { + title: "Hành động trình duyệt: ", + launch: "Khởi chạy trình duyệt tại {{url}}", + click: "Nhấp ({{coordinate}})", + type: 'Gõ "{{text}}"', + scrollDown: "Cuộn xuống", + scrollUp: "Cuộn lên", + close: "Đóng trình duyệt", + }, + }, + yKe = { + tooltips: { + expand: "Mở rộng khối mã", + collapse: "Thu gọn khối mã", + enable_wrap: "Bật tự động xuống dòng", + disable_wrap: "Tắt tự động xuống dòng", + copy_code: "Sao chép mã", + }, + }, + kKe = + "CẢNH BÁO: Đã kích hoạt ghi đè lệnh nhắc hệ thống tùy chỉnh. Điều này có thể phá vỡ nghiêm trọng chức năng và gây ra hành vi không thể dự đoán.", + xKe = "Hồ sơ hiện tại không tương thích với cài đặt của tổ chức của bạn", + wKe = { + title: "Cảnh báo thực thi lệnh", + description: + "Lệnh của bạn đang được thực thi mà không có tích hợp shell terminal VSCode. Để ẩn cảnh báo này, bạn có thể vô hiệu hóa tích hợp shell trong phần <strong>Terminal</strong> của <settingsLink>cài đặt Roo Code</settingsLink> hoặc khắc phục sự cố tích hợp terminal VSCode bằng liên kết bên dưới.", + troubleshooting: "Nhấp vào đây để xem tài liệu tích hợp shell.", + }, + _Ke = { + autoApprovedRequestLimitReached: { + title: "Đã Đạt Giới Hạn Yêu Cầu Tự Động Phê Duyệt", + description: + "Roo đã đạt đến giới hạn tự động phê duyệt là {{count}} yêu cầu API. Bạn có muốn đặt lại bộ đếm và tiếp tục nhiệm vụ không?", + button: "Đặt lại và Tiếp tục", + }, + autoApprovedCostLimitReached: { + button: "Đặt lại và Tiếp tục", + title: "Đã Đạt Giới Hạn Chi Phí Tự Động Phê Duyệt", + description: + "Roo đã đạt đến giới hạn chi phí tự động phê duyệt là ${{count}}. Bạn có muốn đặt lại chi phí và tiếp tục với nhiệm vụ không?", + }, + }, + CKe = { + wantsToSearch: "Roo muốn tìm kiếm trong cơ sở mã cho <code>{{query}}</code>:", + wantsToSearchWithPath: + "Roo muốn tìm kiếm trong cơ sở mã cho <code>{{query}}</code> trong <code>{{path}}</code>:", + didSearch_one: "Đã tìm thấy 1 kết quả", + didSearch_other: "Đã tìm thấy {{count}} kết quả", + resultTooltip: "Điểm tương tự: {{score}} (nhấp để mở tệp)", + }, + SKe = { + ready: "Chỉ mục sẵn sàng", + indexing: "Đang lập chỉ mục {{percentage}}%", + indexed: "Đã lập chỉ mục", + error: "Lỗi chỉ mục", + status: "Trạng thái chỉ mục", + }, + AKe = { ariaLabel: "Phiên bản {{version}} - Nhấp để xem ghi chú phát hành" }, + PKe = { + title: "Roo Code Cloud sắp ra mắt!", + description: + "Chạy các agent từ xa trên cloud, truy cập các tác vụ của bạn từ mọi nơi, cộng tác với người khác và nhiều hơn nữa.", + joinWaitlist: "Tham gia danh sách chờ để được truy cập sớm.", + }, + RKe = { placeholder: "Chỉnh sửa tin nhắn của bạn..." }, + TKe = { triggerDescription: "Kích hoạt lệnh {{name}}" }, + IKe = { + tooltip: "Quản lý lệnh gạch chéo", + title: "Lệnh Gạch Chéo", + description: + "Tạo lệnh gạch chéo tùy chỉnh để truy cập nhanh vào các lời nhắc và quy trình làm việc thường dùng. <DocsLink>Tài liệu</DocsLink>", + globalCommands: "Lệnh Toàn Cục", + workspaceCommands: "Lệnh Không Gian Làm Việc", + globalCommand: "Lệnh toàn cục", + editCommand: "Chỉnh sửa lệnh", + deleteCommand: "Xóa lệnh", + newGlobalCommandPlaceholder: "Lệnh toàn cục mới...", + newWorkspaceCommandPlaceholder: "Lệnh không gian làm việc mới...", + deleteDialog: { + title: "Xóa Lệnh", + description: 'Bạn có chắc chắn muốn xóa lệnh "{{name}}" không? Hành động này không thể hoàn tác.', + cancel: "Hủy", + confirm: "Xóa", + }, + }, + MKe = { title: "Tin nhắn trong hàng đợi:", clickToEdit: "Nhấp để chỉnh sửa tin nhắn" }, + lxt = { + greeting: cWe, + task: dWe, + unpin: uWe, + pin: pWe, + tokenProgress: mWe, + retry: hWe, + startNewTask: fWe, + proceedAnyways: gWe, + save: vWe, + reject: bWe, + completeSubtaskAndReturn: yWe, + approve: kWe, + runCommand: xWe, + proceedWhileRunning: wWe, + killCommand: _We, + resumeTask: CWe, + terminate: SWe, + cancel: AWe, + scrollToBottom: PWe, + about: RWe, + onboarding: TWe, + rooTips: IWe, + selectMode: MWe, + selectApiConfig: jWe, + enhancePrompt: EWe, + addImages: zWe, + sendMessage: $We, + stopTts: LWe, + typeMessage: DWe, + typeTask: NWe, + addContext: OWe, + dragFiles: FWe, + dragFilesImages: BWe, + enhancePromptDescription: UWe, + modeSelector: qWe, + errorReadingFile: WWe, + noValidImages: KWe, + separator: VWe, + edit: HWe, + forNextMode: GWe, + forPreviousMode: QWe, + error: ZWe, + diffError: YWe, + troubleMessage: XWe, + apiRequest: JWe, + checkpoint: eKe, + instructions: tKe, + fileOperations: nKe, + directoryOperations: oKe, + commandOutput: rKe, + commandExecution: iKe, + response: sKe, + arguments: "Tham số", + mcp: aKe, + modes: lKe, + subtasks: cKe, + questions: dKe, + taskCompleted: uKe, + powershell: pKe, + autoApprove: mKe, + reasoning: hKe, + contextCondense: fKe, + followUpSuggest: gKe, + announcement: vKe, + browser: bKe, + codeblock: yKe, + systemPromptWarning: kKe, + profileViolationWarning: xKe, + shellIntegration: wKe, + ask: _Ke, + codebaseSearch: CKe, + "read-batch": { approve: { title: "Chấp nhận tất cả" }, deny: { title: "Từ chối tất cả" } }, + indexingStatus: SKe, + versionIndicator: AKe, + rooCloudCTA: PKe, + editMessage: RKe, + command: TKe, + slashCommands: IKe, + queuedMessages: MKe, + }, + cxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: RWe, + addContext: OWe, + addImages: zWe, + announcement: vKe, + apiRequest: JWe, + approve: kWe, + ask: _Ke, + autoApprove: mKe, + browser: bKe, + cancel: AWe, + checkpoint: eKe, + codebaseSearch: CKe, + codeblock: yKe, + command: TKe, + commandExecution: iKe, + commandOutput: rKe, + completeSubtaskAndReturn: yWe, + contextCondense: fKe, + default: lxt, + diffError: YWe, + directoryOperations: oKe, + dragFiles: FWe, + dragFilesImages: BWe, + edit: HWe, + editMessage: RKe, + enhancePrompt: EWe, + enhancePromptDescription: UWe, + error: ZWe, + errorReadingFile: WWe, + fileOperations: nKe, + followUpSuggest: gKe, + forNextMode: GWe, + forPreviousMode: QWe, + greeting: cWe, + indexingStatus: SKe, + instructions: tKe, + killCommand: _We, + mcp: aKe, + modeSelector: qWe, + modes: lKe, + noValidImages: KWe, + onboarding: TWe, + pin: pWe, + powershell: pKe, + proceedAnyways: gWe, + proceedWhileRunning: wWe, + profileViolationWarning: xKe, + questions: dKe, + queuedMessages: MKe, + reasoning: hKe, + reject: bWe, + response: sKe, + resumeTask: CWe, + retry: hWe, + rooCloudCTA: PKe, + rooTips: IWe, + runCommand: xWe, + save: vWe, + scrollToBottom: PWe, + selectApiConfig: jWe, + selectMode: MWe, + sendMessage: $We, + separator: VWe, + shellIntegration: wKe, + slashCommands: IKe, + startNewTask: fWe, + stopTts: LWe, + subtasks: cKe, + systemPromptWarning: kKe, + task: dWe, + taskCompleted: uKe, + terminate: SWe, + tokenProgress: mWe, + troubleMessage: XWe, + typeMessage: DWe, + typeTask: NWe, + unpin: uWe, + versionIndicator: AKe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + jKe = { + title: "Đã xảy ra lỗi", + reportText: "Vui lòng giúp chúng tôi cải thiện bằng cách báo cáo lỗi này trên", + githubText: "trang GitHub Issues của chúng tôi", + copyInstructions: "Sao chép và dán thông báo lỗi sau đây để đưa vào báo cáo của bạn:", + errorStack: "Stack lỗi:", + componentStack: "Stack thành phần:", + }, + EKe = { yes: "Có", no: "Không", cancel: "Hủy", remove: "Xóa", keep: "Giữ" }, + zKe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + $Ke = { search_placeholder: "Tìm kiếm...", no_results: "Không tìm thấy kết quả nào" }, + LKe = { + loading: "Đang tạo biểu đồ mermaid...", + render_error: "Không thể hiển thị biểu đồ", + buttons: { + zoom: "Thu phóng", + zoomIn: "Phóng to", + zoomOut: "Thu nhỏ", + copy: "Sao chép", + save: "Lưu hình ảnh", + viewCode: "Xem mã", + viewDiagram: "Xem biểu đồ", + close: "Đóng", + }, + modal: { codeTitle: "Mã Mermaid" }, + tabs: { diagram: "Biểu đồ", code: "Mã" }, + feedback: { imageCopied: "Hình ảnh đã được sao chép vào clipboard", copyError: "Lỗi sao chép hình ảnh" }, + }, + DKe = { + errors: { + invalidDataUri: "Định dạng URI dữ liệu không hợp lệ", + copyingImage: "Lỗi sao chép hình ảnh: {{error}}", + openingImage: "Lỗi mở hình ảnh: {{error}}", + pathNotExists: "Đường dẫn không tồn tại: {{path}}", + couldNotOpen: "Không thể mở tệp: {{error}}", + couldNotOpenGeneric: "Không thể mở tệp!", + }, + success: { imageDataUriCopied: "URI dữ liệu hình ảnh đã được sao chép vào clipboard" }, + }, + NKe = { + deleteMessage: "Xóa Tin Nhắn", + deleteWarning: + "Xóa tin nhắn này sẽ xóa tất cả các tin nhắn tiếp theo trong cuộc trò chuyện. Bạn có muốn tiếp tục không?", + editMessage: "Chỉnh Sửa Tin Nhắn", + editWarning: + "Chỉnh sửa tin nhắn này sẽ xóa tất cả các tin nhắn tiếp theo trong cuộc trò chuyện. Bạn có muốn tiếp tục không?", + proceed: "Tiếp Tục", + }, + dxt = { errorBoundary: jKe, answers: EKe, number_format: zKe, ui: $Ke, mermaid: LKe, file: DKe, confirmation: NKe }, + uxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: EKe, + confirmation: NKe, + default: dxt, + errorBoundary: jKe, + file: DKe, + mermaid: LKe, + number_format: zKe, + ui: $Ke, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + OKe = "Nhiệm vụ gần đây", + FKe = "Lịch sử", + BKe = "Thoát chế độ chọn", + UKe = "Vào chế độ chọn", + qKe = "Hoàn thành", + WKe = "Tìm kiếm lịch sử...", + KKe = "Mới nhất", + VKe = "Cũ nhất", + HKe = "Đắt nhất", + GKe = "Nhiều token nhất", + QKe = "Liên quan nhất", + ZKe = "Xóa nhiệm vụ (Shift + Click để bỏ qua xác nhận)", + YKe = "Sao chép lời nhắc", + XKe = "Xuất nhiệm vụ", + JKe = "Xóa nhiệm vụ", + eVe = "Bạn có chắc chắn muốn xóa nhiệm vụ này không? Hành động này không thể hoàn tác.", + tVe = "Hủy", + nVe = "Thoát chọn", + oVe = "Chế độ chọn", + rVe = "Bỏ chọn tất cả", + iVe = "Chọn tất cả", + sVe = "Đã chọn {{selected}}/{{total}} mục", + aVe = "Xóa chọn", + lVe = "Xóa các mục đã chọn", + cVe = "Xóa nhiệm vụ", + dVe = "Bạn có chắc chắn muốn xóa {{count}} nhiệm vụ không?", + uVe = "Các nhiệm vụ đã xóa không thể khôi phục. Vui lòng chắc chắn bạn muốn tiếp tục.", + pVe = "Xóa {{count}} mục", + mVe = { prefix: "Không gian làm việc:", current: "Hiện tại", all: "Tất cả" }, + hVe = { + prefix: "Sắp xếp:", + newest: "Mới nhất", + oldest: "Cũ nhất", + mostExpensive: "Đắt nhất", + mostTokens: "Nhiều token nhất", + mostRelevant: "Liên quan nhất", + }, + fVe = "Xem tất cả nhiệm vụ", + pxt = { + recentTasks: OKe, + history: FKe, + exitSelectionMode: BKe, + enterSelectionMode: UKe, + done: qKe, + searchPlaceholder: WKe, + newest: KKe, + oldest: VKe, + mostExpensive: HKe, + mostTokens: GKe, + mostRelevant: QKe, + deleteTaskTitle: ZKe, + copyPrompt: YKe, + exportTask: XKe, + deleteTask: JKe, + deleteTaskMessage: eVe, + cancel: tVe, + delete: "Xóa", + exitSelection: nVe, + selectionMode: oVe, + deselectAll: rVe, + selectAll: iVe, + selectedItems: sVe, + clearSelection: aVe, + deleteSelected: lVe, + deleteTasks: cVe, + confirmDeleteTasks: dVe, + deleteTasksWarning: uVe, + deleteItems: pVe, + workspace: mVe, + sort: hVe, + viewAllHistory: fVe, + }, + mxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: tVe, + clearSelection: aVe, + confirmDeleteTasks: dVe, + copyPrompt: YKe, + default: pxt, + deleteItems: pVe, + deleteSelected: lVe, + deleteTask: JKe, + deleteTaskMessage: eVe, + deleteTaskTitle: ZKe, + deleteTasks: cVe, + deleteTasksWarning: uVe, + deselectAll: rVe, + done: qKe, + enterSelectionMode: UKe, + exitSelection: nVe, + exitSelectionMode: BKe, + exportTask: XKe, + history: FKe, + mostExpensive: HKe, + mostRelevant: QKe, + mostTokens: GKe, + newest: KKe, + oldest: VKe, + recentTasks: OKe, + searchPlaceholder: WKe, + selectAll: iVe, + selectedItems: sVe, + selectionMode: oVe, + sort: hVe, + viewAllHistory: fVe, + workspace: mVe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + gVe = "Chuyển tiếp Thủ công - Vui lòng giúp Sao chép/Dán thông tin", + vVe = "Vui lòng sao chép đoạn nhắc sau vào AI web, sau đó dán phản hồi của AI vào hộp nhập liệu bên dưới.", + bVe = "Đã sao chép vào clipboard", + yVe = { label: "Vui lòng nhập phản hồi của AI:", placeholder: "Dán phản hồi của AI vào đây..." }, + kVe = { cancel: "Hủy", submit: "Gửi" }, + hxt = { dialogTitle: gVe, dialogDescription: vVe, copiedToClipboard: bVe, aiResponse: yVe, actions: kVe }, + fxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: kVe, + aiResponse: yVe, + copiedToClipboard: bVe, + default: hxt, + dialogDescription: vVe, + dialogTitle: gVe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + xVe = "Roo Marketplace", + wVe = { installed: "Đã cài đặt", settings: "Cài đặt", browse: "Duyệt" }, + _Ve = "Hoàn thành", + CVe = "Làm mới", + SVe = { + search: { + placeholder: "Tìm kiếm các mục marketplace...", + placeholderMcp: "Tìm kiếm MCP...", + placeholderMode: "Tìm kiếm Chế độ...", + }, + type: { label: "Lọc theo loại:", all: "Tất cả loại", mode: "Chế độ", mcpServer: "Máy chủ MCP" }, + sort: { label: "Sắp xếp theo:", name: "Tên", author: "Tác giả", lastUpdated: "Cập nhật lần cuối" }, + tags: { + label: "Lọc theo thẻ:", + clear: "Xóa thẻ", + placeholder: "Nhập để tìm kiếm và chọn thẻ...", + noResults: "Không tìm thấy thẻ phù hợp", + selected: "Hiển thị các mục có bất kỳ thẻ nào được chọn", + clickToFilter: "Nhấp vào thẻ để lọc mục", + }, + none: "Không có", + }, + AVe = { organizationMcps: "MCP của {{organization}}", marketplace: "Marketplace" }, + PVe = { + empty: { + noItems: "Không tìm thấy mục marketplace nào", + withFilters: "Thử điều chỉnh bộ lọc của bạn", + noSources: "Thử thêm nguồn trong tab Nguồn", + adjustFilters: "Thử điều chỉnh bộ lọc hoặc từ khóa tìm kiếm của bạn", + clearAllFilters: "Xóa tất cả bộ lọc", + }, + count: "Tìm thấy {{count}} mục", + components: "{{count}} thành phần", + matched: "{{count}} khớp", + refresh: { + button: "Làm mới", + refreshing: "Đang làm mới...", + mayTakeMoment: "Điều này có thể mất một chút thời gian.", + }, + card: { + by: "bởi {{author}}", + from: "từ {{source}}", + install: "Cài đặt", + installProject: "Cài đặt", + installGlobal: "Cài đặt (Toàn cục)", + remove: "Xóa", + removeProject: "Xóa", + removeGlobal: "Xóa (Toàn cục)", + viewSource: "Xem", + viewOnSource: "Xem trên {{source}}", + noWorkspaceTooltip: "Mở không gian làm việc để cài đặt các mục marketplace", + installed: "Đã cài đặt", + removeProjectTooltip: "Xóa khỏi dự án hiện tại", + removeGlobalTooltip: "Xóa khỏi cấu hình toàn cục", + actionsMenuLabel: "Thêm hành động", + }, + removeFailed: "Không thể xóa mục: {{error}}", + unknownError: "Đã xảy ra lỗi không xác định", + }, + RVe = { + title: "Cài đặt {{name}}", + titleMode: "Cài đặt Chế độ {{name}}", + titleMcp: "Cài đặt MCP {{name}}", + scope: "Phạm vi cài đặt", + project: "Dự án (không gian làm việc hiện tại)", + global: "Toàn cục (tất cả không gian làm việc)", + method: "Phương thức cài đặt", + configuration: "Cấu hình", + configurationDescription: "Cấu hình các tham số cần thiết cho máy chủ MCP này", + button: "Cài đặt", + successTitle: "{{name}} đã được cài đặt", + successDescription: "Cài đặt hoàn tất thành công", + installed: "Cài đặt thành công!", + whatNextMcp: + "Bây giờ bạn có thể cấu hình và sử dụng máy chủ MCP này. Nhấp vào biểu tượng MCP trong thanh bên để chuyển tab.", + whatNextMode: + "Bây giờ bạn có thể sử dụng chế độ này. Nhấp vào biểu tượng Chế độ trong thanh bên để chuyển tab.", + done: "Hoàn thành", + goToMcp: "Đi đến Tab MCP", + goToModes: "Đi đến Cài đặt Chế độ", + moreInfoMcp: "Xem tài liệu MCP {{name}}", + validationRequired: "Vui lòng cung cấp giá trị cho {{paramName}}", + prerequisites: "Điều kiện tiên quyết", + }, + TVe = { + title: "Cấu hình Nguồn Marketplace", + description: "Thêm các kho Git chứa các mục marketplace. Các kho này sẽ được tải khi duyệt marketplace.", + add: { + title: "Thêm Nguồn Mới", + urlPlaceholder: "URL kho Git (ví dụ: https://github.com/username/repo)", + urlFormats: + "Định dạng được hỗ trợ: HTTPS (https://github.com/username/repo), SSH (git@github.com:username/repo.git), hoặc giao thức Git (git://github.com/username/repo.git)", + namePlaceholder: "Tên hiển thị (tối đa 20 ký tự)", + button: "Thêm Nguồn", + }, + current: { + title: "Nguồn Hiện tại", + empty: "Chưa có nguồn nào được cấu hình. Thêm nguồn để bắt đầu.", + refresh: "Làm mới nguồn này", + remove: "Xóa nguồn", + }, + errors: { + emptyUrl: "URL không được để trống", + invalidUrl: "Định dạng URL không hợp lệ", + nonVisibleChars: "URL chứa các ký tự không hiển thị khác ngoài khoảng trắng", + invalidGitUrl: "URL phải là URL kho Git hợp lệ (ví dụ: https://github.com/username/repo)", + duplicateUrl: "URL này đã có trong danh sách (khớp không phân biệt chữ hoa thường và khoảng trắng)", + nameTooLong: "Tên phải có 20 ký tự hoặc ít hơn", + nonVisibleCharsName: "Tên chứa các ký tự không hiển thị khác ngoài khoảng trắng", + duplicateName: "Tên này đã được sử dụng (khớp không phân biệt chữ hoa thường và khoảng trắng)", + emojiName: "Ký tự emoji có thể gây ra vấn đề hiển thị", + maxSources: "Tối đa {{max}} nguồn được phép", + }, + }, + IVe = { + mode: { + title: "Xóa chế độ", + message: 'Bạn có chắc chắn muốn xóa chế độ "{{modeName}}" không?', + rulesWarning: "Thao tác này cũng sẽ xóa mọi tệp quy tắc được liên kết cho chế độ này.", + }, + mcp: { title: "Xóa máy chủ MCP", message: 'Bạn có chắc chắn muốn xóa máy chủ MCP "{{mcpName}}" không?' }, + cancel: "Hủy", + confirm: "Xóa", + }, + MVe = { + issueText: + "Bạn tìm thấy vấn đề với mục marketplace hoặc có đề xuất cho mục mới? <0>Mở issue GitHub</0> để cho chúng tôi biết!", + }, + gxt = { + title: xVe, + tabs: wVe, + done: _Ve, + refresh: CVe, + filters: SVe, + sections: AVe, + "type-group": { modes: "Chế độ", mcps: "Máy chủ MCP" }, + items: PVe, + install: RVe, + sources: TVe, + removeConfirm: IVe, + footer: MVe, + }, + vxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: gxt, + done: _Ve, + filters: SVe, + footer: MVe, + install: RVe, + items: PVe, + refresh: CVe, + removeConfirm: IVe, + sections: AVe, + sources: TVe, + tabs: wVe, + title: xVe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + jVe = "Máy chủ MCP", + EVe = "Hoàn thành", + zVe = "Chợ MCP", + $Ve = + '<0>Giao thức ngữ cảnh mô hình</0> cho phép giao tiếp với các máy chủ MCP đang chạy cục bộ, cung cấp các công cụ và tài nguyên bổ sung để mở rộng khả năng của Roo. Bạn có thể sử dụng <1>các máy chủ do cộng đồng tạo</1> hoặc yêu cầu Roo tạo các công cụ mới dành riêng cho quy trình làm việc của bạn (ví dụ: "thêm công cụ lấy tài liệu npm mới nhất").', + LVe = "Hướng dẫn", + DVe = { + title: "Bật máy chủ MCP", + description: + "Bật lên để Roo dùng công cụ từ các máy chủ MCP đã kết nối. Roo sẽ có nhiều khả năng hơn. Nếu không dùng các công cụ này, hãy tắt để tiết kiệm chi phí token API.", + }, + NVe = { + title: "Bật tạo máy chủ MCP", + description: "Bật lên để Roo giúp bạn tạo <1>máy chủ MCP mới</1> tuỳ chỉnh. <0>Tìm hiểu về tạo máy chủ</0>", + hint: "Mẹo: Để giảm chi phí token API, hãy tắt khi không cần Roo tạo máy chủ MCP mới.", + }, + OVe = "Chỉnh sửa MCP toàn cục", + FVe = "Chỉnh sửa MCP dự án", + BVe = "Tìm hiểu thêm về chỉnh sửa file cài đặt MCP", + UVe = { + alwaysAllow: "Luôn cho phép", + parameters: "Tham số", + noDescription: "Không có mô tả", + togglePromptInclusion: "Bật/tắt bao gồm trong lời nhắc", + }, + qVe = { tools: "Công cụ", resources: "Tài nguyên", errors: "Lỗi" }, + WVe = { + noTools: "Không tìm thấy công cụ", + noResources: "Không tìm thấy tài nguyên", + noErrors: "Không tìm thấy lỗi", + }, + KVe = { + label: "Thời gian chờ mạng", + description: "Thời gian tối đa chờ phản hồi từ máy chủ", + options: { + "15seconds": "15 giây", + "30seconds": "30 giây", + "1minute": "1 phút", + "5minutes": "5 phút", + "10minutes": "10 phút", + "15minutes": "15 phút", + "30minutes": "30 phút", + "60minutes": "60 phút", + }, + }, + VVe = { + title: "Xoá máy chủ MCP", + description: 'Bạn chắc chắn muốn xoá máy chủ MCP "{{serverName}}"? Hành động này không thể hoàn tác.', + cancel: "Huỷ", + delete: "Xoá", + }, + HVe = { retrying: "Đang thử lại...", retryConnection: "Thử kết nối lại" }, + GVe = "Làm mới Máy chủ MCP", + QVe = { running: "Đang chạy", completed: "Hoàn thành", error: "Lỗi" }, + bxt = { + title: jVe, + done: EVe, + marketplace: zVe, + description: $Ve, + instructions: LVe, + enableToggle: DVe, + enableServerCreation: NVe, + editGlobalMCP: OVe, + editProjectMCP: FVe, + learnMoreEditingSettings: BVe, + tool: UVe, + tabs: qVe, + emptyState: WVe, + networkTimeout: KVe, + deleteDialog: VVe, + serverStatus: HVe, + refreshMCP: GVe, + execution: QVe, + }, + yxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: bxt, + deleteDialog: VVe, + description: $Ve, + done: EVe, + editGlobalMCP: OVe, + editProjectMCP: FVe, + emptyState: WVe, + enableServerCreation: NVe, + enableToggle: DVe, + execution: QVe, + instructions: LVe, + learnMoreEditingSettings: BVe, + marketplace: zVe, + networkTimeout: KVe, + refreshMCP: GVe, + serverStatus: HVe, + tabs: qVe, + title: jVe, + tool: UVe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ZVe = "Chế độ", + YVe = "Hoàn thành", + XVe = { + title: "Chế độ", + createNewMode: "Tạo chế độ mới", + importMode: "Nhập chế độ", + noMatchFound: "Không tìm thấy chế độ nào", + editModesConfig: "Chỉnh sửa cấu hình chế độ", + editGlobalModes: "Chỉnh sửa chế độ toàn cục", + editProjectModes: "Chỉnh sửa chế độ dự án (.roomodes)", + createModeHelpText: + "Chế độ là các vai trò chuyên biệt điều chỉnh hành vi của Roo. <0>Tìm hiểu về Sử dụng Chế độ</0> hoặc <1>Tùy chỉnh Chế độ.</1>", + selectMode: "Tìm kiếm chế độ", + }, + JVe = { title: "Cấu hình API", select: "Chọn cấu hình API nào để sử dụng cho chế độ này" }, + e6e = { + title: "Công cụ có sẵn", + builtInModesText: "Công cụ cho các chế độ tích hợp sẵn không thể được sửa đổi", + editTools: "Chỉnh sửa công cụ", + doneEditing: "Hoàn thành chỉnh sửa", + allowedFiles: "Tệp được phép:", + toolNames: { + read: "Đọc tệp", + edit: "Chỉnh sửa tệp", + browser: "Sử dụng trình duyệt", + command: "Chạy lệnh", + mcp: "Sử dụng MCP", + }, + noTools: "Không có", + }, + t6e = { + title: "Định nghĩa vai trò", + resetToDefault: "Đặt lại về mặc định", + description: + "Xác định chuyên môn và tính cách của Roo cho chế độ này. Mô tả này định hình cách Roo giới thiệu bản thân và tiếp cận nhiệm vụ.", + }, + n6e = { + title: "Mô tả ngắn (cho con người)", + resetToDefault: "Đặt lại về mô tả mặc định", + description: "Mô tả ngắn gọn hiển thị trong menu thả xuống bộ chọn chế độ.", + }, + o6e = { + title: "Khi nào nên sử dụng (tùy chọn)", + description: + "Mô tả khi nào nên sử dụng chế độ này. Điều này giúp Orchestrator chọn chế độ phù hợp cho một nhiệm vụ.", + resetToDefault: "Đặt lại mô tả 'Khi nào nên sử dụng' về mặc định", + }, + r6e = { + title: "Hướng dẫn tùy chỉnh dành riêng cho chế độ (tùy chọn)", + resetToDefault: "Đặt lại về mặc định", + description: "Thêm hướng dẫn hành vi dành riêng cho chế độ {{modeName}}.", + loadFromFile: + "Hướng dẫn tùy chỉnh dành riêng cho chế độ {{mode}} cũng có thể được tải từ thư mục <span>.roo/rules-{{slug}}/</span> trong không gian làm việc của bạn (.roorules-{{slug}} và .clinerules-{{slug}} đã lỗi thời và sẽ sớm ngừng hoạt động).", + }, + i6e = { + title: "Xuất chế độ", + description: + "Xuất chế độ này sang tệp YAML với tất cả các quy tắc được bao gồm để dễ dàng chia sẻ với người khác.", + export: "Xuất chế độ", + exporting: "Đang xuất...", + }, + s6e = { + title: "Hướng dẫn tùy chỉnh cho tất cả các chế độ", + description: + "Những hướng dẫn này áp dụng cho tất cả các chế độ. Chúng cung cấp một bộ hành vi cơ bản có thể được nâng cao bởi hướng dẫn dành riêng cho chế độ bên dưới. <0>Tìm hiểu thêm</0>", + loadFromFile: + "Hướng dẫn cũng có thể được tải từ thư mục <span>.roo/rules/</span> trong không gian làm việc của bạn (.roorules và .clinerules đã lỗi thời và sẽ sớm ngừng hoạt động).", + }, + a6e = { + selectLevel: "Chọn nơi để nhập chế độ này:", + import: "Nhập", + importing: "Đang nhập...", + global: { + label: "Cấp độ toàn cục", + description: "Có sẵn trong tất cả các dự án. Các quy tắc sẽ được hợp nhất vào hướng dẫn tùy chỉnh.", + }, + project: { + label: "Cấp độ dự án", + description: + "Chỉ có sẵn trong không gian làm việc này. Nếu chế độ đã xuất có chứa tệp quy tắc, chúng sẽ được tạo lại trong thư mục .roo/rules-{slug}/.", + }, + }, + l6e = { + preview: "Xem trước lời nhắc hệ thống", + copy: "Sao chép lời nhắc hệ thống vào bộ nhớ tạm", + title: "Lời nhắc hệ thống (chế độ {{modeName}})", + }, + c6e = { + title: "Lời nhắc hỗ trợ", + resetPrompt: "Đặt lại lời nhắc {{promptType}} về mặc định", + prompt: "Lời nhắc", + enhance: { + apiConfiguration: "Cấu hình API", + apiConfigDescription: + "Bạn có thể chọn cấu hình API để luôn sử dụng cho việc nâng cao lời nhắc, hoặc chỉ sử dụng bất cứ cấu hình nào hiện đang được chọn", + useCurrentConfig: "Sử dụng cấu hình API hiện tại đã chọn", + testPromptPlaceholder: "Nhập lời nhắc để kiểm tra việc nâng cao", + previewButton: "Xem trước nâng cao lời nhắc", + testEnhancement: "Kiểm tra cải tiến", + includeTaskHistory: "Bao gồm lịch sử tác vụ làm ngữ cảnh", + includeTaskHistoryDescription: + "Khi được bật, 10 tin nhắn cuối cùng từ cuộc trò chuyện hiện tại sẽ được bao gồm làm ngữ cảnh khi nâng cao lời nhắc, giúp tạo ra các gợi ý phù hợp và nhận thức ngữ cảnh hơn.", + }, + condense: { + apiConfiguration: "Cấu hình API để cô đọng ngữ cảnh", + apiConfigDescription: + "Chọn cấu hình API nào sẽ sử dụng cho các hoạt động cô đọng ngữ cảnh. Để trống để sử dụng cấu hình hiện đang hoạt động.", + useCurrentConfig: "Sử dụng cấu hình API được chọn hiện tại", + }, + types: { + ENHANCE: { + label: "Nâng cao lời nhắc", + description: + "Sử dụng nâng cao lời nhắc để nhận đề xuất hoặc cải tiến phù hợp cho đầu vào của bạn. Điều này đảm bảo Roo hiểu ý định của bạn và cung cấp phản hồi tốt nhất có thể. Có sẵn thông qua biểu tượng ✨ trong chat.", + }, + CONDENSE: { + label: "Cô đọng ngữ cảnh", + description: + "Định cấu hình cách cô đọng ngữ cảnh cuộc trò chuyện để quản lý giới hạn token. Lời nhắc này được sử dụng cho cả hoạt động cô đọng ngữ cảnh thủ công và tự động.", + }, + EXPLAIN: { + label: "Giải thích mã", + description: + "Nhận giải thích chi tiết về đoạn mã, hàm hoặc toàn bộ tệp. Hữu ích để hiểu mã phức tạp hoặc học các mẫu mới. Có sẵn trong hành động mã (biểu tượng bóng đèn trong trình soạn thảo) và menu ngữ cảnh trình soạn thảo (nhấp chuột phải vào mã đã chọn).", + }, + FIX: { + label: "Sửa vấn đề", + description: + "Nhận trợ giúp xác định và giải quyết lỗi, sai sót hoặc vấn đề chất lượng mã. Cung cấp hướng dẫn từng bước để sửa chữa vấn đề. Có sẵn trong hành động mã (biểu tượng bóng đèn trong trình soạn thảo) và menu ngữ cảnh trình soạn thảo (nhấp chuột phải vào mã đã chọn).", + }, + IMPROVE: { + label: "Cải thiện mã", + description: + "Nhận đề xuất tối ưu hóa mã, thực hành tốt hơn và cải tiến kiến trúc trong khi duy trì chức năng. Có sẵn trong hành động mã (biểu tượng bóng đèn trong trình soạn thảo) và menu ngữ cảnh trình soạn thảo (nhấp chuột phải vào mã đã chọn).", + }, + ADD_TO_CONTEXT: { + label: "Thêm vào ngữ cảnh", + description: + "Thêm ngữ cảnh vào nhiệm vụ hoặc cuộc trò chuyện hiện tại của bạn. Hữu ích để cung cấp thông tin bổ sung hoặc làm rõ. Có sẵn trong hành động mã (biểu tượng bóng đèn trong trình soạn thảo) và menu ngữ cảnh trình soạn thảo (nhấp chuột phải vào mã đã chọn).", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "Thêm nội dung terminal vào ngữ cảnh", + description: + "Thêm đầu ra terminal vào nhiệm vụ hoặc cuộc trò chuyện hiện tại của bạn. Hữu ích để cung cấp đầu ra lệnh hoặc nhật ký. Có sẵn trong menu ngữ cảnh terminal (nhấp chuột phải vào nội dung terminal đã chọn).", + }, + TERMINAL_FIX: { + label: "Sửa lệnh terminal", + description: + "Nhận trợ giúp sửa lệnh terminal đã thất bại hoặc cần cải thiện. Có sẵn trong menu ngữ cảnh terminal (nhấp chuột phải vào nội dung terminal đã chọn).", + }, + TERMINAL_EXPLAIN: { + label: "Giải thích lệnh terminal", + description: + "Nhận giải thích chi tiết về lệnh terminal và đầu ra của chúng. Có sẵn trong menu ngữ cảnh terminal (nhấp chuột phải vào nội dung terminal đã chọn).", + }, + NEW_TASK: { + label: "Bắt đầu tác vụ mới", + description: "Bắt đầu tác vụ mới với nội dung đã nhập. Có sẵn trong bảng lệnh.", + }, + }, + }, + d6e = { + title: "Nâng cao: Ghi đè lời nhắc hệ thống", + description: + "<2>⚠️ Cảnh báo:</2> Tính năng nâng cao này bỏ qua các biện pháp bảo vệ. <1>ĐỌC KỸ TRƯỚC KHI SỬ DỤNG!</1>Ghi đè lời nhắc hệ thống mặc định bằng cách tạo một tệp tại <span>.roo/system-prompt-{{slug}}</span>.", + }, + u6e = { + title: "Tạo chế độ mới", + close: "Đóng", + name: { label: "Tên", placeholder: "Nhập tên chế độ" }, + slug: { + label: "Slug", + description: + "Slug được sử dụng trong URL và tên tệp. Nó nên viết thường và chỉ chứa chữ cái, số và dấu gạch ngang.", + }, + saveLocation: { + label: "Vị trí lưu", + description: "Chọn nơi lưu chế độ này. Chế độ dành riêng cho dự án được ưu tiên hơn chế độ toàn cục.", + global: { label: "Toàn cục", description: "Có sẵn trong tất cả các không gian làm việc" }, + project: { + label: "Dành riêng cho dự án (.roomodes)", + description: "Chỉ có sẵn trong không gian làm việc này, được ưu tiên hơn toàn cục", + }, + }, + roleDefinition: { + label: "Định nghĩa vai trò", + description: "Xác định chuyên môn và tính cách của Roo cho chế độ này.", + }, + whenToUse: { + label: "Khi nào nên sử dụng (tùy chọn)", + description: + "Cung cấp mô tả rõ ràng về thời điểm chế độ này hiệu quả nhất và những loại nhiệm vụ nào nó thực hiện tốt nhất.", + }, + tools: { label: "Công cụ có sẵn", description: "Chọn công cụ nào chế độ này có thể sử dụng." }, + description: { + label: "Mô tả ngắn (cho con người)", + description: "Mô tả ngắn gọn hiển thị trong menu thả xuống bộ chọn chế độ.", + }, + customInstructions: { + label: "Hướng dẫn tùy chỉnh (tùy chọn)", + description: "Thêm hướng dẫn hành vi dành riêng cho chế độ này.", + }, + buttons: { cancel: "Hủy", create: "Tạo chế độ" }, + deleteMode: "Xóa chế độ", + }, + p6e = "tất cả các tệp", + m6e = { title: "Nâng cao" }, + h6e = { + title: "Xóa chế độ", + message: 'Bạn có chắc chắn muốn xóa chế độ "{{modeName}}" không?', + rulesFolder: "Chế độ này có một thư mục quy tắc tại {{folderPath}} cũng sẽ bị xóa.", + descriptionNoRules: "Bạn có chắc chắn muốn xóa chế độ tùy chỉnh này không?", + confirm: "Xóa", + cancel: "Hủy", + }, + kxt = { + title: ZVe, + done: YVe, + modes: XVe, + apiConfiguration: JVe, + tools: e6e, + roleDefinition: t6e, + description: n6e, + whenToUse: o6e, + customInstructions: r6e, + exportMode: i6e, + globalCustomInstructions: s6e, + importMode: a6e, + systemPrompt: l6e, + supportPrompts: c6e, + advancedSystemPrompt: d6e, + createModeDialog: u6e, + allFiles: p6e, + advanced: m6e, + deleteMode: h6e, + }, + xxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: m6e, + advancedSystemPrompt: d6e, + allFiles: p6e, + apiConfiguration: JVe, + createModeDialog: u6e, + customInstructions: r6e, + default: kxt, + deleteMode: h6e, + description: n6e, + done: YVe, + exportMode: i6e, + globalCustomInstructions: s6e, + importMode: a6e, + modes: XVe, + roleDefinition: t6e, + supportPrompts: c6e, + systemPrompt: l6e, + title: ZVe, + tools: e6e, + whenToUse: o6e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + f6e = { + save: "Lưu", + done: "Hoàn thành", + cancel: "Hủy", + reset: "Đặt lại", + select: "Chọn", + add: "Thêm tiêu đề", + remove: "Xóa", + }, + g6e = { + title: "Cài đặt", + saveButtonTooltip: "Lưu thay đổi", + nothingChangedTooltip: "Không có gì thay đổi", + doneButtonTooltip: "Hủy thay đổi chưa lưu và đóng bảng cài đặt", + }, + v6e = { + title: "Thay đổi chưa lưu", + description: "Bạn có muốn hủy thay đổi và tiếp tục không?", + cancelButton: "Hủy", + discardButton: "Hủy thay đổi", + }, + b6e = { + providers: "Nhà cung cấp", + autoApprove: "Phê duyệt", + browser: "Trình duyệt", + checkpoints: "Điểm kiểm tra", + notifications: "Thông báo", + contextManagement: "Ngữ cảnh", + terminal: "Terminal", + prompts: "Lời nhắc", + experimental: "Thử nghiệm", + language: "Ngôn ngữ", + about: "Giới thiệu", + }, + y6e = { + description: + "Cấu hình các lời nhắc hỗ trợ được sử dụng cho các hành động nhanh như cải thiện lời nhắc, giải thích mã và khắc phục sự cố. Những lời nhắc này giúp Roo cung cấp hỗ trợ tốt hơn cho các tác vụ phát triển phổ biến.", + }, + k6e = { + title: "Lập chỉ mục mã nguồn", + enableLabel: "Bật lập chỉ mục mã nguồn", + enableDescription: "Bật lập chỉ mục mã để cải thiện tìm kiếm và sự hiểu biết về ngữ cảnh", + providerLabel: "Nhà cung cấp nhúng", + selectProviderPlaceholder: "Chọn nhà cung cấp", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "Khóa API:", + geminiApiKeyPlaceholder: "Nhập khóa API Gemini của bạn", + mistralProvider: "Mistral", + mistralApiKeyLabel: "Khóa API:", + mistralApiKeyPlaceholder: "Nhập khóa API Mistral của bạn", + openaiCompatibleProvider: "Tương thích OpenAI", + openAiKeyLabel: "Khóa API OpenAI", + openAiKeyPlaceholder: "Nhập khóa API OpenAI của bạn", + openAiCompatibleBaseUrlLabel: "URL cơ sở", + openAiCompatibleApiKeyLabel: "Khóa API", + openAiCompatibleApiKeyPlaceholder: "Nhập khóa API của bạn", + openAiCompatibleModelDimensionLabel: "Kích thước Embedding:", + modelDimensionLabel: "Kích thước mô hình", + openAiCompatibleModelDimensionPlaceholder: "vd., 1536", + openAiCompatibleModelDimensionDescription: + "Kích thước embedding (kích thước đầu ra) cho mô hình của bạn. Kiểm tra tài liệu của nhà cung cấp để biết giá trị này. Giá trị phổ biến: 384, 768, 1536, 3072.", + modelLabel: "Mô hình", + selectModelPlaceholder: "Chọn mô hình", + ollamaUrlLabel: "URL Ollama:", + qdrantUrlLabel: "URL Qdrant", + qdrantKeyLabel: "Khóa Qdrant:", + startIndexingButton: "Bắt đầu", + clearIndexDataButton: "Xóa chỉ mục", + unsavedSettingsMessage: "Vui lòng lưu cài đặt của bạn trước khi bắt đầu quá trình lập chỉ mục.", + clearDataDialog: { + title: "Bạn có chắc không?", + description: + "Hành động này không thể hoàn tác. Điều này sẽ xóa vĩnh viễn dữ liệu chỉ mục mã nguồn của bạn.", + cancelButton: "Hủy", + confirmButton: "Xóa dữ liệu", + }, + description: + "Cấu hình cài đặt lập chỉ mục mã nguồn để kích hoạt tìm kiếm ngữ nghĩa cho dự án của bạn. <0>Tìm hiểu thêm</0>", + statusTitle: "Trạng thái", + settingsTitle: "Cài đặt lập chỉ mục", + disabledMessage: + "Lập chỉ mục mã nguồn hiện đang bị tắt. Bật nó trong cài đặt chung để cấu hình các tùy chọn lập chỉ mục.", + embedderProviderLabel: "Nhà cung cấp Embedder", + modelPlaceholder: "Nhập tên mô hình", + selectModel: "Chọn một mô hình", + ollamaBaseUrlLabel: "URL cơ sở Ollama", + qdrantApiKeyLabel: "Khóa API Qdrant", + qdrantApiKeyPlaceholder: "Nhập khóa API Qdrant của bạn (tùy chọn)", + setupConfigLabel: "Cài đặt", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "Không thể lưu cài đặt", + modelDimensions: "({{dimension}} chiều)", + saveSuccess: "Cài đặt đã được lưu thành công", + saving: "Đang lưu...", + saveSettings: "Lưu", + indexingStatuses: { standby: "Chờ", indexing: "Đang lập chỉ mục", indexed: "Đã lập chỉ mục", error: "Lỗi" }, + close: "Đóng", + validation: { + invalidQdrantUrl: "URL Qdrant không hợp lệ", + invalidOllamaUrl: "URL Ollama không hợp lệ", + invalidBaseUrl: "URL cơ sở không hợp lệ", + qdrantUrlRequired: "Yêu cầu URL Qdrant", + openaiApiKeyRequired: "Yêu cầu khóa API OpenAI", + modelSelectionRequired: "Yêu cầu chọn mô hình", + apiKeyRequired: "Yêu cầu khóa API", + modelIdRequired: "Yêu cầu ID mô hình", + modelDimensionRequired: "Yêu cầu kích thước mô hình", + geminiApiKeyRequired: "Yêu cầu khóa API Gemini", + mistralApiKeyRequired: "Cần có khóa API của Mistral", + ollamaBaseUrlRequired: "Yêu cầu URL cơ sở Ollama", + baseUrlRequired: "Yêu cầu URL cơ sở", + modelDimensionMinValue: "Kích thước mô hình phải lớn hơn 0", + }, + advancedConfigLabel: "Cấu hình nâng cao", + searchMinScoreLabel: "Ngưỡng điểm tìm kiếm", + searchMinScoreDescription: + "Điểm tương đồng tối thiểu (0.0-1.0) cần thiết cho kết quả tìm kiếm. Giá trị thấp hơn trả về nhiều kết quả hơn nhưng có thể kém liên quan hơn. Giá trị cao hơn trả về ít kết quả hơn nhưng có liên quan hơn.", + searchMinScoreResetTooltip: "Đặt lại về giá trị mặc định (0.4)", + searchMaxResultsLabel: "Số Kết Quả Tìm Kiếm Tối Đa", + searchMaxResultsDescription: + "Số lượng kết quả tìm kiếm tối đa được trả về khi truy vấn chỉ mục cơ sở mã. Giá trị cao hơn cung cấp nhiều ngữ cảnh hơn nhưng có thể bao gồm các kết quả ít liên quan hơn.", + resetToDefault: "Đặt lại về mặc định", + }, + x6e = { + description: + "Cho phép Roo tự động thực hiện các hoạt động mà không cần phê duyệt. Chỉ bật những cài đặt này nếu bạn hoàn toàn tin tưởng AI và hiểu rõ các rủi ro bảo mật liên quan.", + enabled: "Phê duyệt tự động đã bật", + toggleAriaLabel: "Chuyển đổi tự động phê duyệt", + disabledAriaLabel: "Tự động phê duyệt bị vô hiệu hóa - hãy chọn các tùy chọn trước", + readOnly: { + label: "Đọc", + description: + "Khi được bật, Roo sẽ tự động xem nội dung thư mục và đọc tệp mà không yêu cầu bạn nhấp vào nút Phê duyệt.", + outsideWorkspace: { + label: "Bao gồm các tệp ngoài không gian làm việc", + description: + "Cho phép Roo đọc các tệp bên ngoài không gian làm việc hiện tại mà không yêu cầu phê duyệt.", + }, + }, + write: { + label: "Ghi", + description: "Tự động tạo và chỉnh sửa tệp mà không cần phê duyệt", + delayLabel: "Trì hoãn sau khi ghi để cho phép chẩn đoán phát hiện các vấn đề tiềm ẩn", + outsideWorkspace: { + label: "Bao gồm các tệp ngoài không gian làm việc", + description: + "Cho phép Roo tạo và chỉnh sửa các tệp bên ngoài không gian làm việc hiện tại mà không yêu cầu phê duyệt.", + }, + protected: { + label: "Bao gồm các tệp được bảo vệ", + description: + "Cho phép Roo tạo và chỉnh sửa các tệp được bảo vệ (như .rooignore và các tệp cấu hình .roo/) mà không yêu cầu phê duyệt.", + }, + }, + browser: { + label: "Trình duyệt", + description: + "Tự động thực hiện các hành động trình duyệt mà không cần phê duyệt. Lưu ý: Chỉ áp dụng khi mô hình hỗ trợ sử dụng máy tính", + }, + retry: { + label: "Thử lại", + description: "Tự động thử lại các yêu cầu API thất bại khi máy chủ trả về phản hồi lỗi", + delayLabel: "Trì hoãn trước khi thử lại yêu cầu", + }, + mcp: { + label: "MCP", + description: + 'Bật tự động phê duyệt các công cụ MCP riêng lẻ trong chế độ xem Máy chủ MCP (yêu cầu cả cài đặt này và hộp kiểm "Luôn cho phép" của công cụ)', + }, + modeSwitch: { + label: "Chế độ", + description: "Tự động chuyển đổi giữa các chế độ khác nhau mà không cần phê duyệt", + }, + subtasks: { + label: "Công việc phụ", + description: "Cho phép tạo và hoàn thành các công việc phụ mà không cần phê duyệt", + }, + followupQuestions: { + label: "Câu hỏi", + description: + "Tự động chọn câu trả lời đầu tiên được đề xuất cho các câu hỏi tiếp theo sau thời gian chờ đã cấu hình", + timeoutLabel: "Thời gian chờ trước khi tự động chọn câu trả lời đầu tiên", + }, + execute: { + label: "Thực thi", + description: "Tự động thực thi các lệnh terminal được phép mà không cần phê duyệt", + allowedCommands: "Các lệnh tự động thực thi được phép", + allowedCommandsDescription: + 'Tiền tố lệnh có thể được tự động thực thi khi "Luôn phê duyệt các hoạt động thực thi" được bật. Thêm * để cho phép tất cả các lệnh (sử dụng cẩn thận).', + deniedCommands: "Lệnh bị từ chối", + deniedCommandsDescription: + "Tiền tố lệnh sẽ được tự động từ chối mà không yêu cầu phê duyệt. Trong trường hợp xung đột với lệnh được phép, khớp tiền tố dài nhất sẽ được ưu tiên. Thêm * để từ chối tất cả lệnh.", + commandPlaceholder: "Nhập tiền tố lệnh (ví dụ: 'git ')", + deniedCommandPlaceholder: "Nhập tiền tố lệnh để từ chối (ví dụ: 'rm -rf')", + addButton: "Thêm", + autoDenied: + "Các lệnh có tiền tố `{{prefix}}` đã bị người dùng cấm. Đừng vượt qua hạn chế này bằng cách chạy lệnh khác.", + }, + updateTodoList: { + label: "Todo", + description: "Danh sách việc cần làm được cập nhật tự động mà không cần phê duyệt", + }, + apiRequestLimit: { + title: "Số lượng yêu cầu tối đa", + description: + "Tự động thực hiện số lượng API request này trước khi yêu cầu phê duyệt để tiếp tục với nhiệm vụ.", + unlimited: "Không giới hạn", + }, + selectOptionsFirst: "Chọn ít nhất một tùy chọn bên dưới để bật tự động phê duyệt", + apiCostLimit: { title: "Chi phí tối đa", unlimited: "Không giới hạn" }, + maxLimits: { + description: "Tự động thực hiện các yêu cầu lên đến các giới hạn này trước khi xin phê duyệt để tiếp tục.", + }, + }, + w6e = JSON.parse( + `{"providerDocumentation":"Tài liệu {{provider}}","configProfile":"Hồ sơ cấu hình","description":"Lưu các cấu hình API khác nhau để nhanh chóng chuyển đổi giữa các nhà cung cấp và cài đặt.","apiProvider":"Nhà cung cấp API","model":"Mẫu","nameEmpty":"Tên không được để trống","nameExists":"Đã tồn tại một hồ sơ với tên này","deleteProfile":"Xóa hồ sơ","invalidArnFormat":"Định dạng ARN không hợp lệ. Vui lòng kiểm tra các ví dụ ở trên.","enterNewName":"Nhập tên mới","addProfile":"Thêm hồ sơ","renameProfile":"Đổi tên hồ sơ","newProfile":"Hồ sơ cấu hình mới","enterProfileName":"Nhập tên hồ sơ","createProfile":"Tạo hồ sơ","cannotDeleteOnlyProfile":"Không thể xóa hồ sơ duy nhất","searchPlaceholder":"Tìm kiếm hồ sơ","searchProviderPlaceholder":"Tìm kiếm nhà cung cấp","noProviderMatchFound":"Không tìm thấy nhà cung cấp","noMatchFound":"Không tìm thấy hồ sơ phù hợp","vscodeLmDescription":"API Mô hình Ngôn ngữ VS Code cho phép bạn chạy các mô hình được cung cấp bởi các tiện ích mở rộng khác của VS Code (bao gồm nhưng không giới hạn ở GitHub Copilot). Cách dễ nhất để bắt đầu là cài đặt các tiện ích mở rộng Copilot và Copilot Chat từ VS Code Marketplace.","awsCustomArnUse":"Nhập một ARN Amazon Bedrock hợp lệ cho mô hình bạn muốn sử dụng. Ví dụ về định dạng:","awsCustomArnDesc":"Đảm bảo rằng vùng trong ARN khớp với vùng AWS đã chọn ở trên.","openRouterApiKey":"Khóa API OpenRouter","getOpenRouterApiKey":"Lấy khóa API OpenRouter","apiKeyStorageNotice":"Khóa API được lưu trữ an toàn trong Bộ lưu trữ bí mật của VSCode","glamaApiKey":"Khóa API Glama","getGlamaApiKey":"Lấy khóa API Glama","useCustomBaseUrl":"Sử dụng URL cơ sở tùy chỉnh","useReasoning":"Bật lý luận","useHostHeader":"Sử dụng tiêu đề Host tùy chỉnh","useLegacyFormat":"Sử dụng định dạng API OpenAI cũ","customHeaders":"Tiêu đề tùy chỉnh","headerName":"Tên tiêu đề","headerValue":"Giá trị tiêu đề","noCustomHeaders":"Chưa có tiêu đề tùy chỉnh nào được định nghĩa. Nhấp vào nút + để thêm.","requestyApiKey":"Khóa API Requesty","refreshModels":{"label":"Làm mới mô hình","hint":"Vui lòng mở lại cài đặt để xem các mô hình mới nhất.","loading":"Đang làm mới danh sách mô hình...","success":"Danh sách mô hình đã được làm mới thành công!","error":"Không thể làm mới danh sách mô hình. Vui lòng thử lại."},"getRequestyApiKey":"Lấy khóa API Requesty","openRouterTransformsText":"Nén lời nhắc và chuỗi tin nhắn theo kích thước ngữ cảnh (<a>OpenRouter Transforms</a>)","anthropicApiKey":"Khóa API Anthropic","getAnthropicApiKey":"Lấy khóa API Anthropic","anthropicUseAuthToken":"Truyền khóa API Anthropic dưới dạng tiêu đề Authorization thay vì X-Api-Key","cerebrasApiKey":"Khóa API Cerebras","getCerebrasApiKey":"Lấy khóa API Cerebras","chutesApiKey":"Khóa API Chutes","getChutesApiKey":"Lấy khóa API Chutes","fireworksApiKey":"Khóa API Fireworks","getFireworksApiKey":"Lấy khóa API Fireworks","deepSeekApiKey":"Khóa API DeepSeek","getDeepSeekApiKey":"Lấy khóa API DeepSeek","doubaoApiKey":"Khóa API Doubao","getDoubaoApiKey":"Lấy khóa API Doubao","moonshotApiKey":"Khóa API Moonshot","getMoonshotApiKey":"Lấy khóa API Moonshot","moonshotBaseUrl":"Điểm vào Moonshot","zaiApiKey":"Khóa API Z AI","getZaiApiKey":"Lấy khóa API Z AI","zaiEntrypoint":"Điểm vào Z AI","zaiEntrypointDescription":"Vui lòng chọn điểm vào API phù hợp dựa trên vị trí của bạn. Nếu bạn ở Trung Quốc, hãy chọn open.bigmodel.cn. Ngược lại, hãy chọn api.z.ai.","geminiApiKey":"Khóa API Gemini","getGroqApiKey":"Lấy khóa API Groq","groqApiKey":"Khóa API Groq","getSambaNovaApiKey":"Lấy khóa API SambaNova","sambaNovaApiKey":"Khóa API SambaNova","getHuggingFaceApiKey":"Lấy Khóa API Hugging Face","huggingFaceApiKey":"Khóa API Hugging Face","huggingFaceModelId":"ID Mô hình","huggingFaceLoading":"Đang tải...","huggingFaceModelsCount":"({{count}} mô hình)","huggingFaceSelectModel":"Chọn một mô hình...","huggingFaceSearchModels":"Tìm kiếm mô hình...","huggingFaceNoModelsFound":"Không tìm thấy mô hình","huggingFaceProvider":"Nhà cung cấp","huggingFaceProviderAuto":"Tự động","huggingFaceSelectProvider":"Chọn một nhà cung cấp...","huggingFaceSearchProviders":"Tìm kiếm nhà cung cấp...","huggingFaceNoProvidersFound":"Không tìm thấy nhà cung cấp","getGeminiApiKey":"Lấy khóa API Gemini","openAiApiKey":"Khóa API OpenAI","apiKey":"Khóa API","openAiBaseUrl":"URL cơ sở","getOpenAiApiKey":"Lấy khóa API OpenAI","mistralApiKey":"Khóa API Mistral","getMistralApiKey":"Lấy khóa API Mistral / Codestral","codestralBaseUrl":"URL cơ sở Codestral (Tùy chọn)","codestralBaseUrlDesc":"Đặt URL thay thế cho mô hình Codestral.","xaiApiKey":"Khóa API xAI","getXaiApiKey":"Lấy khóa API xAI","litellmApiKey":"Khóa API LiteLLM","litellmBaseUrl":"URL cơ sở LiteLLM","awsCredentials":"Thông tin xác thực AWS","awsProfile":"Hồ sơ AWS","awsApiKey":"Khóa API Amazon Bedrock","awsProfileName":"Tên hồ sơ AWS","awsAccessKey":"Khóa truy cập AWS","awsSecretKey":"Khóa bí mật AWS","awsSessionToken":"Token phiên AWS","awsRegion":"Vùng AWS","awsCrossRegion":"Sử dụng suy luận liên vùng","awsBedrockVpc":{"useCustomVpcEndpoint":"Sử dụng điểm cuối VPC tùy chỉnh","vpcEndpointUrlPlaceholder":"Nhập URL điểm cuối VPC (tùy chọn)","examples":"Ví dụ:"},"enablePromptCaching":"Bật bộ nhớ đệm lời nhắc","enablePromptCachingTitle":"Bật bộ nhớ đệm lời nhắc để cải thiện hiệu suất và giảm chi phí cho các mô hình được hỗ trợ.","cacheUsageNote":"Lưu ý: Nếu bạn không thấy việc sử dụng bộ nhớ đệm, hãy thử chọn một mô hình khác và sau đó chọn lại mô hình mong muốn của bạn.","vscodeLmModel":"Mô hình ngôn ngữ","vscodeLmWarning":"Lưu ý: Đây là tích hợp thử nghiệm và hỗ trợ nhà cung cấp có thể khác nhau. Nếu bạn nhận được lỗi về mô hình không được hỗ trợ, đó là vấn đề từ phía nhà cung cấp.","geminiParameters":{"urlContext":{"title":"Bật ngữ cảnh URL","description":"Cho phép Gemini truy cập và xử lý URL để có thêm ngữ cảnh khi tạo phản hồi. Hữu ích cho các tác vụ yêu cầu phân tích nội dung web."},"groundingSearch":{"title":"Bật grounding với tìm kiếm Google","description":"Cho phép Gemini tìm kiếm trên Google để lấy thông tin mới nhất và căn cứ phản hồi dựa trên dữ liệu thời gian thực. Hữu ích cho các truy vấn yêu cầu thông tin cập nhật."}},"googleCloudSetup":{"title":"Để sử dụng Google Cloud Vertex AI, bạn cần:","step1":"1. Tạo tài khoản Google Cloud, kích hoạt Vertex AI API và kích hoạt các mô hình Claude mong muốn.","step2":"2. Cài đặt Google Cloud CLI và cấu hình thông tin xác thực mặc định của ứng dụng.","step3":"3. Hoặc tạo tài khoản dịch vụ với thông tin xác thực."},"googleCloudCredentials":"Thông tin xác thực Google Cloud","googleCloudKeyFile":"Đường dẫn tệp khóa Google Cloud","googleCloudProjectId":"ID dự án Google Cloud","googleCloudRegion":"Vùng Google Cloud","lmStudio":{"baseUrl":"URL cơ sở (tùy chọn)","modelId":"ID mô hình","speculativeDecoding":"Bật giải mã suy đoán","draftModelId":"ID mô hình nháp","draftModelDesc":"Mô hình nháp phải từ cùng một họ mô hình để giải mã suy đoán hoạt động chính xác.","selectDraftModel":"Chọn mô hình nháp","noModelsFound":"Không tìm thấy mô hình nháp nào. Vui lòng đảm bảo LM Studio đang chạy với chế độ máy chủ được bật.","description":"LM Studio cho phép bạn chạy các mô hình cục bộ trên máy tính của bạn. Để biết hướng dẫn về cách bắt đầu, xem <a>hướng dẫn nhanh</a> của họ. Bạn cũng sẽ cần khởi động tính năng <b>máy chủ cục bộ</b> của LM Studio để sử dụng nó với tiện ích mở rộng này. <span>Lưu ý:</span> Roo Code sử dụng các lời nhắc phức tạp và hoạt động tốt nhất với các mô hình Claude. Các mô hình kém mạnh hơn có thể không hoạt động như mong đợi."},"ollama":{"baseUrl":"URL cơ sở (tùy chọn)","modelId":"ID mô hình","description":"Ollama cho phép bạn chạy các mô hình cục bộ trên máy tính của bạn. Để biết hướng dẫn về cách bắt đầu, xem hướng dẫn nhanh của họ.","warning":"Lưu ý: Roo Code sử dụng các lời nhắc phức tạp và hoạt động tốt nhất với các mô hình Claude. Các mô hình kém mạnh hơn có thể không hoạt động như mong đợi."},"unboundApiKey":"Khóa API Unbound","getUnboundApiKey":"Lấy khóa API Unbound","unboundRefreshModelsSuccess":"Đã cập nhật danh sách mô hình! Bây giờ bạn có thể chọn từ các mô hình mới nhất.","unboundInvalidApiKey":"Khóa API không hợp lệ. Vui lòng kiểm tra khóa API của bạn và thử lại.","humanRelay":{"description":"Không cần khóa API, nhưng người dùng cần giúp sao chép và dán thông tin vào AI trò chuyện web.","instructions":"Trong quá trình sử dụng, một hộp thoại sẽ xuất hiện và tin nhắn hiện tại sẽ được tự động sao chép vào clipboard. Bạn cần dán chúng vào các phiên bản web của AI (như ChatGPT hoặc Claude), sau đó sao chép phản hồi của AI trở lại hộp thoại và nhấp vào nút xác nhận."},"openRouter":{"providerRouting":{"title":"Định tuyến nhà cung cấp OpenRouter","description":"OpenRouter chuyển hướng yêu cầu đến các nhà cung cấp tốt nhất hiện có cho mô hình của bạn. Theo mặc định, các yêu cầu được cân bằng giữa các nhà cung cấp hàng đầu để tối đa hóa thời gian hoạt động. Tuy nhiên, bạn có thể chọn một nhà cung cấp cụ thể để sử dụng cho mô hình này.","learnMore":"Tìm hiểu thêm về định tuyến nhà cung cấp"}},"customModel":{"capabilities":"Cấu hình các khả năng và giá cả cho mô hình tương thích OpenAI tùy chỉnh của bạn. Hãy cẩn thận khi chỉ định khả năng của mô hình, vì chúng có thể ảnh hưởng đến cách Roo Code hoạt động.","maxTokens":{"label":"Số token đầu ra tối đa","description":"Số lượng token tối đa mà mô hình có thể tạo ra trong một phản hồi. (Chỉ định -1 để cho phép máy chủ đặt số token tối đa.)"},"contextWindow":{"label":"Kích thước cửa sổ ngữ cảnh","description":"Tổng số token (đầu vào + đầu ra) mà mô hình có thể xử lý."},"imageSupport":{"label":"Hỗ trợ hình ảnh","description":"Mô hình này có khả năng xử lý và hiểu hình ảnh không?"},"computerUse":{"label":"Sử dụng máy tính","description":"Mô hình này có khả năng tương tác với trình duyệt không? (ví dụ: Claude 3.7 Sonnet)."},"promptCache":{"label":"Bộ nhớ đệm lời nhắc","description":"Mô hình này có khả năng lưu trữ lời nhắc trong bộ nhớ đệm không?"},"pricing":{"input":{"label":"Giá đầu vào","description":"Chi phí cho mỗi triệu token trong đầu vào/lời nhắc. Điều này ảnh hưởng đến chi phí gửi ngữ cảnh và hướng dẫn đến mô hình."},"output":{"label":"Giá đầu ra","description":"Chi phí cho mỗi triệu token trong phản hồi của mô hình. Điều này ảnh hưởng đến chi phí của nội dung được tạo ra và hoàn thành."},"cacheReads":{"label":"Giá đọc bộ nhớ đệm","description":"Chi phí cho mỗi triệu token khi đọc từ bộ nhớ đệm. Đây là giá được tính khi một phản hồi được lưu trong bộ nhớ đệm được truy xuất."},"cacheWrites":{"label":"Giá ghi bộ nhớ đệm","description":"Chi phí cho mỗi triệu token khi ghi vào bộ nhớ đệm. Đây là giá được tính khi một lời nhắc được lưu vào bộ nhớ đệm lần đầu tiên."}},"resetDefaults":"Đặt lại về mặc định"},"rateLimitSeconds":{"label":"Giới hạn tốc độ","description":"Thời gian tối thiểu giữa các yêu cầu API."},"consecutiveMistakeLimit":{"label":"Giới hạn lỗi và lặp lại","description":"Số lỗi liên tiếp hoặc hành động lặp lại trước khi hiển thị hộp thoại 'Roo đang gặp sự cố'","unlimitedDescription":"Đã bật thử lại không giới hạn (tự động tiếp tục). Hộp thoại sẽ không bao giờ xuất hiện.","warning":"⚠️ Đặt thành 0 cho phép thử lại không giới hạn, điều này có thể tiêu tốn mức sử dụng API đáng kể"},"reasoningEffort":{"label":"Nỗ lực suy luận của mô hình","high":"Cao","medium":"Trung bình","low":"Thấp"},"setReasoningLevel":"Kích hoạt nỗ lực suy luận","claudeCode":{"pathLabel":"Đường dẫn Claude Code","description":"Đường dẫn tùy chọn đến Claude Code CLI của bạn. Mặc định là 'claude' nếu không được đặt.","placeholder":"Mặc định: claude","maxTokensLabel":"Số token đầu ra tối đa","maxTokensDescription":"Số lượng token đầu ra tối đa cho các phản hồi của Claude Code. Mặc định là 8000."}}`, + ), + _6e = { + enable: { + label: "Bật công cụ trình duyệt", + description: + "Khi được bật, Roo có thể sử dụng trình duyệt để tương tác với các trang web khi sử dụng các mô hình hỗ trợ sử dụng máy tính. <0>Tìm hiểu thêm</0>", + }, + viewport: { + label: "Kích thước khung nhìn", + description: + "Chọn kích thước khung nhìn cho tương tác trình duyệt. Điều này ảnh hưởng đến cách trang web được hiển thị và tương tác.", + options: { + largeDesktop: "Máy tính để bàn lớn (1280x800)", + smallDesktop: "Máy tính để bàn nhỏ (900x600)", + tablet: "Máy tính bảng (768x1024)", + mobile: "Di động (360x640)", + }, + }, + screenshotQuality: { + label: "Chất lượng ảnh chụp màn hình", + description: + "Điều chỉnh chất lượng WebP của ảnh chụp màn hình trình duyệt. Giá trị cao hơn cung cấp ảnh chụp màn hình rõ ràng hơn nhưng tăng sử dụng token.", + }, + remote: { + label: "Sử dụng kết nối trình duyệt từ xa", + description: + "Kết nối với trình duyệt Chrome đang chạy với tính năng gỡ lỗi từ xa được bật (--remote-debugging-port=9222).", + urlPlaceholder: "URL tùy chỉnh (ví dụ: http://localhost:9222)", + testButton: "Kiểm tra kết nối", + testingButton: "Đang kiểm tra...", + instructions: + "Nhập địa chỉ DevTools Protocol hoặc để trống để tự động phát hiện các instance Chrome cục bộ. Nút Kiểm tra kết nối sẽ thử URL tùy chỉnh nếu được cung cấp, hoặc tự động phát hiện nếu trường này trống.", + }, + }, + C6e = { + enable: { + label: "Bật điểm kiểm tra tự động", + description: + "Khi được bật, Roo sẽ tự động tạo các điểm kiểm tra trong quá trình thực hiện nhiệm vụ, giúp dễ dàng xem lại các thay đổi hoặc quay lại trạng thái trước đó. <0>Tìm hiểu thêm</0>", + }, + }, + S6e = { + sound: { + label: "Bật hiệu ứng âm thanh", + description: "Khi được bật, Roo sẽ phát hiệu ứng âm thanh cho thông báo và sự kiện.", + volumeLabel: "Âm lượng", + }, + tts: { + label: "Bật chuyển văn bản thành giọng nói", + description: + "Khi được bật, Roo sẽ đọc to các phản hồi của nó bằng chức năng chuyển văn bản thành giọng nói.", + speedLabel: "Tốc độ", + }, + }, + A6e = { + description: + "Kiểm soát thông tin nào được đưa vào cửa sổ ngữ cảnh của AI, ảnh hưởng đến việc sử dụng token và chất lượng phản hồi", + autoCondenseContextPercent: { + label: "Ngưỡng kích hoạt nén ngữ cảnh thông minh", + description: "Khi cửa sổ ngữ cảnh đạt đến ngưỡng này, Roo sẽ tự động nén nó.", + }, + condensingApiConfiguration: { + label: "Cấu hình API cho Tóm tắt Ngữ cảnh", + description: + "Chọn cấu hình API để sử dụng cho các thao tác tóm tắt ngữ cảnh. Để trống để sử dụng cấu hình đang hoạt động hiện tại.", + useCurrentConfig: "Mặc định", + }, + customCondensingPrompt: { + label: "Lời nhắc nén ngữ cảnh tùy chỉnh", + description: "Lời nhắc hệ thống tùy chỉnh cho việc nén ngữ cảnh. Để trống để sử dụng lời nhắc mặc định.", + placeholder: `Nhập prompt tóm tắt tùy chỉnh của bạn tại đây... + +Bạn có thể sử dụng cùng cấu trúc như prompt mặc định: +- Cuộc hội thoại trước +- Công việc hiện tại +- Khái niệm kỹ thuật chính +- Tệp và mã liên quan +- Giải quyết vấn đề +- Công việc đang chờ và các bước tiếp theo`, + reset: "Khôi phục mặc định", + hint: "Để trống = sử dụng prompt mặc định", + }, + autoCondenseContext: { + name: "Tự động kích hoạt nén ngữ cảnh thông minh", + description: + "Khi được bật, Roo sẽ tự động nén ngữ cảnh khi đạt đến ngưỡng. Khi bị tắt, bạn vẫn có thể kích hoạt nén ngữ cảnh thủ công.", + }, + openTabs: { + label: "Giới hạn ngữ cảnh tab đang mở", + description: + "Số lượng tab VSCode đang mở tối đa để đưa vào ngữ cảnh. Giá trị cao hơn cung cấp nhiều ngữ cảnh hơn nhưng tăng sử dụng token.", + }, + workspaceFiles: { + label: "Giới hạn ngữ cảnh tệp workspace", + description: + "Số lượng tệp tối đa để đưa vào chi tiết thư mục làm việc hiện tại. Giá trị cao hơn cung cấp nhiều ngữ cảnh hơn nhưng tăng sử dụng token.", + }, + rooignore: { + label: "Hiển thị tệp .rooignore trong danh sách và tìm kiếm", + description: + "Khi được bật, các tệp khớp với mẫu trong .rooignore sẽ được hiển thị trong danh sách với biểu tượng khóa. Khi bị tắt, các tệp này sẽ hoàn toàn bị ẩn khỏi danh sách tệp và tìm kiếm.", + }, + maxReadFile: { + label: "Ngưỡng tự động cắt ngắn khi đọc tệp", + description: + "Roo đọc số dòng này khi mô hình không chỉ định giá trị bắt đầu/kết thúc. Nếu số này nhỏ hơn tổng số dòng của tệp, Roo sẽ tạo một chỉ mục số dòng của các định nghĩa mã. Trường hợp đặc biệt: -1 chỉ thị Roo đọc toàn bộ tệp (không tạo chỉ mục), và 0 chỉ thị không đọc dòng nào và chỉ cung cấp chỉ mục dòng cho ngữ cảnh tối thiểu. Giá trị thấp hơn giảm thiểu việc sử dụng ngữ cảnh ban đầu, cho phép đọc chính xác các phạm vi dòng sau này. Các yêu cầu có chỉ định bắt đầu/kết thúc rõ ràng không bị giới hạn bởi cài đặt này.", + lines: "dòng", + always_full_read: "Luôn đọc toàn bộ tệp", + }, + maxConcurrentFileReads: { + label: "Giới hạn đọc file đồng thời", + description: + "Số lượng file tối đa mà công cụ 'read_file' có thể xử lý cùng lúc. Giá trị cao hơn có thể tăng tốc độ đọc nhiều file nhỏ nhưng sẽ tăng mức sử dụng bộ nhớ.", + }, + diagnostics: { + includeMessages: { + label: "Tự động bao gồm chẩn đoán trong ngữ cảnh", + description: + "Khi được bật, thông báo chẩn đoán (lỗi) từ các tệp đã chỉnh sửa sẽ tự động được bao gồm trong ngữ cảnh. Bạn luôn có thể bao gồm thủ công tất cả chẩn đoán của workspace bằng cách sử dụng @problems.", + }, + maxMessages: { + label: "Thông báo chẩn đoán tối đa", + description: + "Số lượng thông báo chẩn đoán tối đa được bao gồm cho mỗi tệp. Giới hạn này áp dụng cho cả việc bao gồm tự động (khi hộp kiểm được bật) và đề cập thủ công @problems. Giá trị cao hơn cung cấp nhiều ngữ cảnh hơn nhưng tăng mức sử dụng token.", + resetTooltip: "Đặt lại về giá trị mặc định (50)", + unlimited: "Thông báo chẩn đoán không giới hạn", + unlimitedLabel: "Không giới hạn", + }, + delayAfterWrite: { + label: "Trì hoãn sau khi ghi để cho phép chẩn đoán phát hiện các sự cố tiềm ẩn", + description: + "Thời gian chờ sau khi ghi tệp trước khi tiếp tục, cho phép các công cụ chẩn đoán xử lý các thay đổi và phát hiện sự cố.", + }, + }, + condensingThreshold: { + label: "Ngưỡng kích hoạt nén", + selectProfile: "Cấu hình ngưỡng cho hồ sơ", + defaultProfile: "Mặc định toàn cục (tất cả hồ sơ)", + defaultDescription: + "Khi ngữ cảnh đạt đến tỷ lệ phần trăm này, nó sẽ được tự động nén cho tất cả hồ sơ trừ khi chúng có cài đặt tùy chỉnh", + profileDescription: "Ngưỡng tùy chỉnh chỉ cho hồ sơ này (ghi đè mặc định toàn cục)", + inheritDescription: "Hồ sơ này kế thừa ngưỡng mặc định toàn cục ({{threshold}}%)", + usesGlobal: "(sử dụng toàn cục {{threshold}}%)", + }, + maxImageFileSize: { + label: "Kích thước tối đa của tệp hình ảnh", + mb: "MB", + description: "Kích thước tối đa (tính bằng MB) cho các tệp hình ảnh có thể được xử lý bởi công cụ đọc tệp.", + }, + maxTotalImageSize: { + label: "Kích thước tổng tối đa của hình ảnh", + mb: "MB", + description: + "Giới hạn kích thước tích lũy tối đa (tính bằng MB) cho tất cả hình ảnh được xử lý trong một thao tác read_file duy nhất. Khi đọc nhiều hình ảnh, kích thước của mỗi hình ảnh được cộng vào tổng. Nếu việc thêm một hình ảnh khác sẽ vượt quá giới hạn này, nó sẽ bị bỏ qua.", + }, + }, + P6e = { + basic: { label: "Cài đặt Terminal: Cơ bản", description: "Cài đặt cơ bản cho terminal" }, + advanced: { + label: "Cài đặt Terminal: Nâng cao", + description: "Các tùy chọn sau có thể yêu cầu khởi động lại terminal để áp dụng cài đặt.", + }, + outputLineLimit: { + label: "Giới hạn đầu ra terminal", + description: + "Số dòng tối đa để đưa vào đầu ra terminal khi thực hiện lệnh. Khi vượt quá, các dòng sẽ bị xóa khỏi phần giữa, tiết kiệm token. <0>Tìm hiểu thêm</0>", + }, + outputCharacterLimit: { + label: "Giới hạn ký tự của terminal", + description: + "Số ký tự tối đa để bao gồm trong đầu ra của terminal khi thực thi lệnh. Giới hạn này được ưu tiên hơn giới hạn dòng để ngăn chặn các vấn đề về bộ nhớ do các dòng quá dài. Khi vượt quá, đầu ra sẽ bị cắt bớt. <0>Tìm hiểu thêm</0>", + }, + shellIntegrationTimeout: { + label: "Thời gian chờ tích hợp shell terminal", + description: + 'Thời gian tối đa để chờ tích hợp shell khởi tạo trước khi thực hiện lệnh. Đối với người dùng có thời gian khởi động shell dài, giá trị này có thể cần được tăng lên nếu bạn thấy lỗi "Shell Integration Unavailable" trong terminal. <0>Tìm hiểu thêm</0>', + }, + shellIntegrationDisabled: { + label: "Tắt tích hợp shell terminal", + description: + "Bật tùy chọn này nếu lệnh terminal không hoạt động chính xác hoặc bạn thấy lỗi 'Shell Integration Unavailable'. Tùy chọn này sử dụng phương pháp đơn giản hơn để chạy lệnh, bỏ qua một số tính năng terminal nâng cao. <0>Tìm hiểu thêm</0>", + }, + commandDelay: { + label: "Độ trễ lệnh terminal", + description: + "Độ trễ tính bằng mili giây để thêm vào sau khi thực hiện lệnh. Cài đặt mặc định là 0 sẽ tắt hoàn toàn độ trễ. Điều này có thể giúp đảm bảo đầu ra lệnh được ghi lại đầy đủ trong các terminal có vấn đề về thời gian. Trong hầu hết các terminal, điều này được thực hiện bằng cách đặt `PROMPT_COMMAND='sleep N'` và PowerShell thêm `start-sleep` vào cuối mỗi lệnh. Ban đầu là giải pháp cho lỗi VSCode#237208 và có thể không cần thiết. <0>Tìm hiểu thêm</0>", + }, + compressProgressBar: { + label: "Nén đầu ra thanh tiến trình", + description: + "Khi được bật, xử lý đầu ra terminal với các ký tự carriage return (\\r) để mô phỏng cách terminal thật hiển thị nội dung. Điều này loại bỏ các trạng thái trung gian của thanh tiến trình, chỉ giữ lại trạng thái cuối cùng, giúp tiết kiệm không gian ngữ cảnh cho thông tin quan trọng hơn. <0>Tìm hiểu thêm</0>", + }, + powershellCounter: { + label: "Bật giải pháp bộ đếm PowerShell", + description: + "Khi được bật, thêm một bộ đếm vào các lệnh PowerShell để đảm bảo thực thi lệnh chính xác. Điều này giúp ích với các terminal PowerShell có thể gặp vấn đề về ghi lại đầu ra. <0>Tìm hiểu thêm</0>", + }, + zshClearEolMark: { + label: "Xóa dấu cuối dòng ZSH", + description: + "Khi được bật, xóa dấu cuối dòng ZSH bằng cách đặt PROMPT_EOL_MARK=''. Điều này ngăn chặn các vấn đề về diễn giải đầu ra lệnh khi kết thúc bằng các ký tự đặc biệt như '%'. <0>Tìm hiểu thêm</0>", + }, + zshOhMy: { + label: "Bật tích hợp Oh My Zsh", + description: + "Khi được bật, đặt ITERM_SHELL_INTEGRATION_INSTALLED=Yes để kích hoạt các tính năng tích hợp shell của Oh My Zsh. Việc áp dụng cài đặt này có thể yêu cầu khởi động lại IDE. <0>Tìm hiểu thêm</0>", + }, + zshP10k: { + label: "Bật tích hợp Powerlevel10k", + description: + "Khi được bật, đặt POWERLEVEL9K_TERM_SHELL_INTEGRATION=true để kích hoạt các tính năng tích hợp shell của Powerlevel10k. <0>Tìm hiểu thêm</0>", + }, + zdotdir: { + label: "Bật xử lý ZDOTDIR", + description: + "Khi được bật, tạo thư mục tạm thời cho ZDOTDIR để xử lý tích hợp shell zsh một cách chính xác. Điều này đảm bảo tích hợp shell VSCode hoạt động chính xác với zsh trong khi vẫn giữ nguyên cấu hình zsh của bạn. <0>Tìm hiểu thêm</0>", + }, + inheritEnv: { + label: "Kế thừa biến môi trường", + description: + "Khi được bật, terminal sẽ kế thừa các biến môi trường từ tiến trình cha của VSCode, như các cài đặt tích hợp shell được định nghĩa trong hồ sơ người dùng. Điều này trực tiếp chuyển đổi cài đặt toàn cục của VSCode `terminal.integrated.inheritEnv`. <0>Tìm hiểu thêm</0>", + }, + }, + R6e = { title: "Cài đặt nâng cao" }, + T6e = { + diff: { + label: "Bật chỉnh sửa qua diff", + description: + "Khi được bật, Roo sẽ có thể chỉnh sửa tệp nhanh hơn và sẽ tự động từ chối ghi toàn bộ tệp bị cắt ngắn. Hoạt động tốt nhất với mô hình Claude 3.7 Sonnet mới nhất.", + strategy: { + label: "Chiến lược diff", + options: { + standard: "Tiêu chuẩn (khối đơn)", + multiBlock: "Thử nghiệm: Diff đa khối", + unified: "Thử nghiệm: Diff thống nhất", + }, + descriptions: { + standard: "Chiến lược diff tiêu chuẩn áp dụng thay đổi cho một khối mã tại một thời điểm.", + unified: + "Chiến lược diff thống nhất thực hiện nhiều cách tiếp cận để áp dụng diff và chọn cách tiếp cận tốt nhất.", + multiBlock: + "Chiến lược diff đa khối cho phép cập nhật nhiều khối mã trong một tệp trong một yêu cầu.", + }, + }, + matchPrecision: { + label: "Độ chính xác khớp", + description: + "Thanh trượt này kiểm soát mức độ chính xác các phần mã phải khớp khi áp dụng diff. Giá trị thấp hơn cho phép khớp linh hoạt hơn nhưng tăng nguy cơ thay thế không chính xác. Sử dụng giá trị dưới 100% với sự thận trọng cao.", + }, + }, + todoList: { + label: "Bật công cụ danh sách việc cần làm", + description: + "Khi được bật, Roo có thể tạo và quản lý danh sách việc cần làm để theo dõi tiến độ công việc. Điều này giúp tổ chức các tác vụ phức tạp thành các bước có thể quản lý được.", + }, + }, + I6e = { + DIFF_STRATEGY_UNIFIED: { + name: "Sử dụng chiến lược diff thống nhất thử nghiệm", + description: + "Bật chiến lược diff thống nhất thử nghiệm. Chiến lược này có thể giảm số lần thử lại do lỗi mô hình nhưng có thể gây ra hành vi không mong muốn hoặc chỉnh sửa không chính xác. Chỉ bật nếu bạn hiểu rõ các rủi ro và sẵn sàng xem xét cẩn thận tất cả các thay đổi.", + }, + SEARCH_AND_REPLACE: { + name: "Sử dụng công cụ tìm kiếm và thay thế thử nghiệm", + description: + "Bật công cụ tìm kiếm và thay thế thử nghiệm, cho phép Roo thay thế nhiều phiên bản của một thuật ngữ tìm kiếm trong một yêu cầu.", + }, + INSERT_BLOCK: { + name: "Sử dụng công cụ chèn nội dung thử nghiệm", + description: + "Bật công cụ chèn nội dung thử nghiệm, cho phép Roo chèn nội dung tại số dòng cụ thể mà không cần tạo diff.", + }, + POWER_STEERING: { + name: 'Sử dụng chế độ "power steering" thử nghiệm', + description: + "Khi được bật, Roo sẽ nhắc nhở mô hình về chi tiết định nghĩa chế độ hiện tại thường xuyên hơn. Điều này sẽ dẫn đến việc tuân thủ chặt chẽ hơn các định nghĩa vai trò và hướng dẫn tùy chỉnh, nhưng sẽ sử dụng nhiều token hơn cho mỗi tin nhắn.", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "Sử dụng công cụ diff đa khối thử nghiệm", + description: + "Khi được bật, Roo sẽ sử dụng công cụ diff đa khối. Điều này sẽ cố gắng cập nhật nhiều khối mã trong tệp trong một yêu cầu.", + }, + CONCURRENT_FILE_READS: { + name: "Bật đọc tệp đồng thời", + description: + "Khi bật, Roo có thể đọc nhiều tệp trong một yêu cầu duy nhất. Khi tắt, Roo phải đọc từng tệp một. Việc tắt có thể hữu ích khi làm việc với các mô hình ít khả năng hơn hoặc khi bạn muốn kiểm soát nhiều hơn quyền truy cập tệp.", + }, + MARKETPLACE: { + name: "Bật Marketplace", + description: "Khi được bật, bạn có thể cài đặt MCP và chế độ tùy chỉnh từ Marketplace.", + }, + MULTI_FILE_APPLY_DIFF: { + name: "Bật chỉnh sửa tệp đồng thời", + description: + "Khi được bật, Roo có thể chỉnh sửa nhiều tệp trong một yêu cầu duy nhất. Khi bị tắt, Roo phải chỉnh sửa từng tệp một. Tắt tính năng này có thể hữu ích khi làm việc với các mô hình kém khả năng hơn hoặc khi bạn muốn kiểm soát nhiều hơn đối với các thay đổi tệp.", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "Chỉnh sửa nền", + description: + "Khi được bật, ngăn chặn gián đoạn tiêu điểm trình soạn thảo. Việc chỉnh sửa tệp diễn ra ở nền mà không mở chế độ xem diff hoặc chiếm tiêu điểm. Bạn có thể tiếp tục làm việc không bị gián đoạn trong khi Roo thực hiện thay đổi. Các tệp có thể được mở mà không có tiêu điểm để thu thập chẩn đoán hoặc giữ hoàn toàn đóng.", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "Dùng bộ phân tích tin nhắn mới", + description: + "Bật bộ phân tích tin nhắn streaming thử nghiệm. Tính năng này tăng tốc phản hồi dài bằng cách xử lý tin nhắn hiệu quả hơn.", + }, + }, + M6e = { + label: "Tắt bộ nhớ đệm prompt", + description: "Khi được chọn, Roo sẽ không sử dụng bộ nhớ đệm prompt cho mô hình này.", + }, + j6e = { + useCustom: "Sử dụng nhiệt độ tùy chỉnh", + description: "Kiểm soát tính ngẫu nhiên trong phản hồi của mô hình.", + rangeDescription: "Giá trị cao hơn làm cho đầu ra ngẫu nhiên hơn, giá trị thấp hơn làm cho nó xác định hơn.", + }, + E6e = { + supportsImages: "Hỗ trợ hình ảnh", + noImages: "Không hỗ trợ hình ảnh", + supportsComputerUse: "Hỗ trợ sử dụng máy tính", + noComputerUse: "Không hỗ trợ sử dụng máy tính", + supportsPromptCache: "Hỗ trợ bộ nhớ đệm lời nhắc", + noPromptCache: "Không hỗ trợ bộ nhớ đệm lời nhắc", + maxOutput: "Đầu ra tối đa", + inputPrice: "Giá đầu vào", + outputPrice: "Giá đầu ra", + cacheReadsPrice: "Giá đọc bộ nhớ đệm", + cacheWritesPrice: "Giá ghi bộ nhớ đệm", + enableStreaming: "Bật streaming", + enableR1Format: "Kích hoạt tham số mô hình R1", + enableR1FormatTips: "Cần kích hoạt khi sử dụng các mô hình R1 như QWQ, để tránh lỗi 400", + useAzure: "Sử dụng Azure", + azureApiVersion: "Đặt phiên bản API Azure", + gemini: { + freeRequests: + "* Miễn phí đến {{count}} yêu cầu mỗi phút. Sau đó, thanh toán phụ thuộc vào kích thước lời nhắc.", + pricingDetails: "Để biết thêm thông tin, xem chi tiết giá.", + billingEstimate: "* Thanh toán là ước tính - chi phí chính xác phụ thuộc vào kích thước lời nhắc.", + }, + }, + z6e = { + automaticFetch: + 'Tiện ích mở rộng tự động lấy danh sách mới nhất các mô hình có sẵn trên <serviceLink>{{serviceName}}</serviceLink>. Nếu bạn không chắc chắn nên chọn mô hình nào, Roo Code hoạt động tốt nhất với <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Bạn cũng có thể thử tìm kiếm "free" cho các tùy chọn miễn phí hiện có.', + label: "Mô hình", + searchPlaceholder: "Tìm kiếm", + noMatchFound: "Không tìm thấy kết quả", + useCustomModel: "Sử dụng tùy chỉnh: {{modelId}}", + }, + $6e = { + feedback: + "Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng mở một vấn đề tại <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> hoặc tham gia <redditLink>reddit.com/r/RooCode</redditLink> hoặc <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "Cho phép báo cáo lỗi và sử dụng ẩn danh", + description: + "Giúp cải thiện Roo Code bằng cách gửi dữ liệu sử dụng ẩn danh và báo cáo lỗi. Không bao giờ gửi mã, lời nhắc hoặc thông tin cá nhân. Xem chính sách bảo mật của chúng tôi để biết thêm chi tiết.", + }, + settings: { import: "Nhập", export: "Xuất", reset: "Đặt lại" }, + }, + L6e = { maxTokens: "Tokens tối đa", maxThinkingTokens: "Tokens suy nghĩ tối đa" }, + D6e = { + apiKey: "Bạn phải cung cấp khóa API hợp lệ.", + awsRegion: "Bạn phải chọn một vùng để sử dụng Amazon Bedrock.", + googleCloud: "Bạn phải cung cấp ID dự án và vùng Google Cloud hợp lệ.", + modelId: "Bạn phải cung cấp ID mô hình hợp lệ.", + modelSelector: "Bạn phải cung cấp bộ chọn mô hình hợp lệ.", + openAi: "Bạn phải cung cấp URL cơ sở, khóa API và ID mô hình hợp lệ.", + arn: { + invalidFormat: "Định dạng ARN không hợp lệ. Vui lòng kiểm tra yêu cầu về định dạng.", + regionMismatch: + "Cảnh báo: Vùng trong ARN của bạn ({{arnRegion}}) không khớp với vùng bạn đã chọn ({{region}}). Điều này có thể gây ra vấn đề truy cập. Nhà cung cấp sẽ sử dụng vùng từ ARN.", + }, + modelAvailability: "ID mô hình ({{modelId}}) bạn đã cung cấp không khả dụng. Vui lòng chọn một mô hình khác.", + providerNotAllowed: "Nhà cung cấp '{{provider}}' không được phép bởi tổ chức của bạn", + modelNotAllowed: "Mô hình '{{model}}' không được phép cho nhà cung cấp '{{provider}}' bởi tổ chức của bạn", + profileInvalid: "Hồ sơ này chứa một nhà cung cấp hoặc mô hình không được phép bởi tổ chức của bạn", + }, + N6e = { + apiKey: "Nhập khóa API...", + profileName: "Nhập tên hồ sơ", + accessKey: "Nhập khóa truy cập...", + secretKey: "Nhập khóa bí mật...", + sessionToken: "Nhập token phiên...", + credentialsJson: "Nhập JSON thông tin xác thực...", + keyFilePath: "Nhập đường dẫn tệp khóa...", + projectId: "Nhập ID dự án...", + customArn: "Nhập ARN (vd: arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "Nhập URL cơ sở...", + modelId: { + lmStudio: "vd: meta-llama-3.1-8b-instruct", + lmStudioDraft: "vd: lmstudio-community/llama-3.2-1b-instruct", + ollama: "vd: llama3.1", + }, + numbers: { + maxTokens: "vd: 4096", + contextWindow: "vd: 128000", + inputPrice: "vd: 0.0001", + outputPrice: "vd: 0.0002", + cacheWritePrice: "vd: 0.00005", + }, + }, + O6e = { + ollamaUrl: "Mặc định: http://localhost:11434", + lmStudioUrl: "Mặc định: http://localhost:1234", + geminiUrl: "Mặc định: https://generativelanguage.googleapis.com", + }, + F6e = { customArn: "ARN tùy chỉnh", useCustomArn: "Sử dụng ARN tùy chỉnh..." }, + B6e = "Bao gồm token đầu ra tối đa", + U6e = "Gửi tham số token đầu ra tối đa trong các yêu cầu API. Một số nhà cung cấp có thể không hỗ trợ điều này.", + q6e = "Giới hạn số lượng token tối đa trong phản hồi", + W6e = "Token đầu ra tối đa", + K6e = "Token tối đa để tạo trong phản hồi", + wxt = { + common: f6e, + header: g6e, + unsavedChangesDialog: v6e, + sections: b6e, + prompts: y6e, + codeIndex: k6e, + autoApprove: x6e, + providers: w6e, + browser: _6e, + checkpoints: C6e, + notifications: S6e, + contextManagement: A6e, + terminal: P6e, + advancedSettings: R6e, + advanced: T6e, + experimental: I6e, + promptCaching: M6e, + temperature: j6e, + modelInfo: E6e, + modelPicker: z6e, + footer: $6e, + thinkingBudget: L6e, + validation: D6e, + placeholders: N6e, + defaults: O6e, + labels: F6e, + includeMaxOutputTokens: B6e, + includeMaxOutputTokensDescription: U6e, + limitMaxTokensDescription: q6e, + maxOutputTokensLabel: W6e, + maxTokensGenerateDescription: K6e, + }, + _xt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: T6e, + advancedSettings: R6e, + autoApprove: x6e, + browser: _6e, + checkpoints: C6e, + codeIndex: k6e, + common: f6e, + contextManagement: A6e, + default: wxt, + defaults: O6e, + experimental: I6e, + footer: $6e, + header: g6e, + includeMaxOutputTokens: B6e, + includeMaxOutputTokensDescription: U6e, + labels: F6e, + limitMaxTokensDescription: q6e, + maxOutputTokensLabel: W6e, + maxTokensGenerateDescription: K6e, + modelInfo: E6e, + modelPicker: z6e, + notifications: S6e, + placeholders: N6e, + promptCaching: M6e, + prompts: y6e, + providers: w6e, + sections: b6e, + temperature: j6e, + terminal: P6e, + thinkingBudget: L6e, + unsavedChangesDialog: v6e, + validation: D6e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + V6e = "Chào mừng đến với Roo Code!", + H6e = + "Với nhiều Chế độ tích hợp và có thể mở rộng, Roo Code cho phép bạn lập kế hoạch, thiết kế kiến trúc, viết mã, gỡ lỗi và tăng năng suất như chưa từng có trước đây.", + G6e = "Để bắt đầu, tiện ích mở rộng này cần một nhà cung cấp API.", + Q6e = "Bắt đầu thôi!", + Z6e = { + requesty: { description: "Bộ định tuyến LLM được tối ưu hóa của bạn", incentive: "$1 tín dụng miễn phí" }, + openrouter: { description: "Giao diện thống nhất cho các LLM" }, + }, + Y6e = "Để thực hiện phép màu của mình, Roo cần một khóa API.", + X6e = "Chúng tôi khuyên bạn nên sử dụng bộ định tuyến LLM:", + J6e = "Hoặc bạn có thể sử dụng khóa API của riêng mình:", + eHe = { + title: "Giúp cải thiện Roo Code", + anonymousTelemetry: + "Gửi dữ liệu lỗi và sử dụng ẩn danh để giúp chúng tôi sửa lỗi và cải thiện tiện ích mở rộng. Không bao giờ gửi mã, lời nhắc hoặc thông tin cá nhân.", + changeSettings: "Bạn luôn có thể thay đổi điều này ở cuối phần <settingsLink>cài đặt</settingsLink>", + settings: "cài đặt", + allow: "Cho phép", + deny: "Từ chối", + }, + tHe = "Nhập cài đặt", + Cxt = { + greeting: V6e, + introduction: H6e, + notice: G6e, + start: Q6e, + routers: Z6e, + chooseProvider: Y6e, + startRouter: X6e, + startCustom: J6e, + telemetry: eHe, + importSettings: tHe, + }, + Sxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: Y6e, + default: Cxt, + greeting: V6e, + importSettings: tHe, + introduction: H6e, + notice: G6e, + routers: Z6e, + start: Q6e, + startCustom: J6e, + startRouter: X6e, + telemetry: eHe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + nHe = "账户", + oHe = "头像", + rHe = "退出登录", + iHe = "测试 API 认证", + sHe = "连接到 Roo Code Cloud", + aHe = "连接", + lHe = "连接到 Roo Code Cloud", + cHe = "同步你的提示词和遥测数据以启用:", + dHe = "在线任务历史", + uHe = "共享和协作功能", + pHe = "基于任务、Token 和成本的使用指标", + mHe = "使用 Roomote Control 随时随地跟踪和控制任务", + hHe = "Roomote Control", + fHe = "允许通过 Roo Code Cloud 跟踪和操作此工作区中的任务", + gHe = "访问 Roo Code Cloud", + Axt = { + title: nHe, + profilePicture: oHe, + logOut: rHe, + testApiAuthentication: iHe, + signIn: sHe, + connect: aHe, + cloudBenefitsTitle: lHe, + cloudBenefitsSubtitle: cHe, + cloudBenefitHistory: dHe, + cloudBenefitSharing: uHe, + cloudBenefitMetrics: pHe, + cloudBenefitWalkaway: mHe, + remoteControl: hHe, + remoteControlDescription: fHe, + visitCloudWebsite: gHe, + }, + Pxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: dHe, + cloudBenefitMetrics: pHe, + cloudBenefitSharing: uHe, + cloudBenefitWalkaway: mHe, + cloudBenefitsSubtitle: cHe, + cloudBenefitsTitle: lHe, + connect: aHe, + default: Axt, + logOut: rHe, + profilePicture: oHe, + remoteControl: hHe, + remoteControlDescription: fHe, + signIn: sHe, + testApiAuthentication: iHe, + title: nHe, + visitCloudWebsite: gHe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + vHe = "欢迎使用 Roo Code", + bHe = { + title: "任务", + seeMore: "展开", + seeLess: "收起", + tokens: "Token 用量:", + cache: "缓存:", + apiCost: "API 费用:", + contextWindow: "上下文长度:", + closeAndStart: "关闭任务并开始新任务", + export: "导出任务历史", + delete: "删除任务(Shift + 点击跳过确认)", + share: "分享任务", + condenseContext: "智能压缩上下文", + shareWithOrganization: "与组织分享", + shareWithOrganizationDescription: "仅组织成员可访问", + sharePublicly: "公开分享", + sharePubliclyDescription: "任何拥有链接的人都可访问", + connectToCloud: "连接到云端", + connectToCloudDescription: "登录 Roo Code Cloud 以分享任务", + sharingDisabledByOrganization: "组织已禁用分享功能", + shareSuccessOrganization: "组织链接已复制到剪贴板", + shareSuccessPublic: "公开链接已复制到剪贴板", + }, + yHe = "取消置顶", + kHe = "置顶", + xHe = { + availableSpace: "可用: {{amount}}", + tokensUsed: "已使用: {{used}} / {{total}}", + reservedForResponse: "已保留: {{amount}}", + }, + wHe = { title: "重试", tooltip: "再次尝试操作" }, + _He = { title: "开始新任务", tooltip: "开始一个新任务" }, + CHe = { title: "仍然继续", tooltip: "在命令执行时继续" }, + SHe = { title: "保存", tooltip: "保存消息更改" }, + AHe = { title: "拒绝", tooltip: "拒绝此操作" }, + PHe = "完成子任务并返回", + RHe = { title: "批准", tooltip: "批准此操作" }, + THe = { title: "运行命令", tooltip: "执行此命令" }, + IHe = { title: "强制继续", tooltip: "忽略运行中的命令并继续" }, + MHe = { title: "终止命令", tooltip: "终止当前命令" }, + jHe = { title: "恢复任务", tooltip: "继续当前任务" }, + EHe = { title: "结束", tooltip: "结束当前任务" }, + zHe = { title: "取消", tooltip: "取消当前操作" }, + $He = "滚动到聊天底部", + LHe = "通过 AI 辅助生成、重构和调试代码。查看我们的 <DocsLink>文档</DocsLink> 了解更多信息。", + DHe = + "<strong>此工作区中的任务列表为空。</strong> 请在下方输入任务开始。 不确定如何开始? 在 <DocsLink>文档</DocsLink> 中阅读更多关于 Roo 可以为您做什么的信息。", + NHe = { + boomerangTasks: { title: "任务编排", description: "将任务拆分为更小、更易于管理的部分。" }, + stickyModels: { title: "粘性模式", description: "每个模式 都会记住 您上次使用的模型" }, + tools: { title: "工具", description: "允许 AI 通过浏览网络、运行命令等方式解决问题。" }, + customizableModes: { title: "自定义模式", description: "具有专属行为和指定模型的特定角色" }, + }, + OHe = "选择交互模式", + FHe = "选择 API 配置", + BHe = "增强提示词", + UHe = "添加图片到消息", + qHe = "发送消息", + WHe = "停止文本转语音", + KHe = "输入消息...", + VHe = "在此处输入您的任务...", + HHe = "@添加上下文,/输入命令", + GHe = "Shift+拖拽文件", + QHe = "Shift+拖拽文件/图片", + ZHe = + "'增强提示'按钮通过提供额外上下文、澄清或重新表述来帮助改进您的请求。尝试在此处输入请求,然后再次点击按钮查看其工作原理。", + YHe = { + title: "模式", + marketplace: "模式市场", + settings: "模式设置", + description: "专门定制Roo行为的角色。", + searchPlaceholder: "搜索模式...", + noResults: "未找到结果", + }, + XHe = "读取文件时出错:", + JHe = "没有处理有效图片", + eGe = "分隔符", + tGe = "编辑...", + nGe = "用于下一个模式", + oGe = "用于上一个模式", + rGe = "错误", + iGe = { title: "编辑失败" }, + sGe = "Roo遇到问题...", + aGe = { + title: "API请求", + failed: "API请求失败", + streaming: "API请求...", + cancelled: "API请求已取消", + streamingFailed: "API流式传输失败", + }, + lGe = { + regular: "检查点", + initializingWarning: + "正在初始化检查点...如果耗时过长,你可以在<settingsLink>设置</settingsLink>中禁用检查点并重新启动任务。", + menu: { + viewDiff: "查看差异", + restore: "恢复检查点", + restoreFiles: "恢复文件", + restoreFilesDescription: "将项目文件恢复到此检查点状态", + restoreFilesAndTask: "恢复文件和任务", + confirm: "确认", + cancel: "取消", + cannotUndo: "此操作无法撤消。", + restoreFilesAndTaskDescription: "恢复文件至此时状态,并清除后续对话记录", + }, + current: "当前", + }, + cGe = { wantsToFetch: "Roo 想要获取详细指示以协助当前任务" }, + dGe = { + wantsToRead: "需要读取文件:", + wantsToReadOutsideWorkspace: "请求访问外部文件:", + didRead: "已读取文件:", + wantsToEdit: "需要编辑文件:", + wantsToEditOutsideWorkspace: "需要编辑外部文件:", + wantsToEditProtected: "需要编辑受保护的配置文件:", + wantsToCreate: "需要新建文件:", + wantsToSearchReplace: "需要在此文件中搜索和替换:", + didSearchReplace: "已完成搜索和替换:", + wantsToInsert: "需要在此文件中插入内容:", + wantsToInsertWithLineNumber: "需要在第 {{lineNumber}} 行插入内容:", + wantsToInsertAtEnd: "需要在文件末尾添加内容:", + wantsToReadAndXMore: "Roo 想读取此文件以及另外 {{count}} 个文件:", + wantsToReadMultiple: "Roo 想要读取多个文件:", + wantsToApplyBatchChanges: "Roo 想要对多个文件应用更改:", + }, + uGe = { + wantsToViewTopLevel: "需要查看目录文件列表:", + didViewTopLevel: "已查看目录文件列表:", + wantsToViewRecursive: "需要查看目录所有文件:", + didViewRecursive: "已查看目录所有文件:", + wantsToViewDefinitions: "Roo想查看此目录中使用的源代码定义名称:", + didViewDefinitions: "Roo已查看此目录中使用的源代码定义名称:", + wantsToSearch: "需要搜索内容: {{regex}}", + didSearch: "已完成内容搜索: {{regex}}", + wantsToSearchOutsideWorkspace: "需要搜索内容(工作区外): {{regex}}", + didSearchOutsideWorkspace: "已完成内容搜索(工作区外): {{regex}}", + wantsToViewTopLevelOutsideWorkspace: "需要查看目录文件列表(工作区外):", + didViewTopLevelOutsideWorkspace: "已查看目录文件列表(工作区外):", + wantsToViewRecursiveOutsideWorkspace: "需要查看目录所有文件(工作区外):", + didViewRecursiveOutsideWorkspace: "已查看目录所有文件(工作区外):", + wantsToViewDefinitionsOutsideWorkspace: "Roo想查看此目录中使用的源代码定义名称(工作区外):", + didViewDefinitionsOutsideWorkspace: "Roo已查看此目录中使用的源代码定义名称(工作区外):", + }, + pGe = "命令输出", + mGe = { + running: "正在运行", + pid: "PID: {{pid}}", + exited: "已退出 ({{exitCode}})", + manageCommands: "管理命令权限", + commandManagementDescription: + "管理命令权限:点击 ✓ 允许自动执行,点击 ✗ 拒绝执行。可以打开/关闭模式或从列表中删除。<settingsLink>查看所有设置</settingsLink>", + addToAllowed: "添加到允许列表", + removeFromAllowed: "从允许列表中删除", + addToDenied: "添加到拒绝列表", + removeFromDenied: "从拒绝列表中删除", + abortCommand: "中止命令执行", + expandOutput: "展开输出", + collapseOutput: "折叠输出", + expandManagement: "展开命令管理部分", + collapseManagement: "折叠命令管理部分", + }, + hGe = "响应", + fGe = { + wantsToUseTool: "Roo想在{{serverName}} MCP上使用工具:", + wantsToAccessResource: "Roo想访问{{serverName}} MCP服务上的资源:", + }, + gGe = { + wantsToSwitch: "即将切换至{{mode}}模式", + wantsToSwitchWithReason: "即将切换至{{mode}}模式(原因:{{reason}})", + didSwitch: "已切换至{{mode}}模式", + didSwitchWithReason: "已切换至{{mode}}模式(原因:{{reason}})", + }, + vGe = { + wantsToCreate: "Roo想在<code>{{mode}}</code>模式下创建新子任务:", + wantsToFinish: "Roo想完成此子任务", + newTaskContent: "子任务说明", + completionContent: "子任务已完成", + resultContent: "子任务结果", + defaultResult: "请继续下一个任务。", + completionInstructions: + "子任务已完成!您可以查看结果并提出修改或下一步建议。如果一切正常,请确认以将结果返回给主任务。", + }, + bGe = { hasQuestion: "Roo有一个问题:" }, + yGe = "任务完成", + kGe = { issues: "看起来您遇到了Windows PowerShell问题,请参阅此" }, + xGe = { + title: "自动批准:", + none: "无", + description: "允许直接执行操作无需确认,请谨慎启用。前往<settingsLink>设置</settingsLink>调整", + selectOptionsFirst: "选择至少一个下面的选项以启用自动批准", + toggleAriaLabel: "切换自动批准", + disabledAriaLabel: "自动批准已禁用 - 请先选择选项", + }, + wGe = { thinking: "思考中", seconds: "{{count}}秒" }, + _Ge = { title: "上下文已压缩", condensing: "正在压缩上下文...", errorHeader: "上下文压缩失败", tokens: "tokens" }, + CGe = { + copyToInput: "复制到输入框(或按住Shift点击)", + autoSelectCountdown: "{{count}}秒后自动选择", + countdownDisplay: "{{count}}秒", + }, + SGe = { + title: "🎉 Roo Code {{version}} 已发布", + description: "Roo Code {{version}} 带来强大的新功能和重大改进,提升您的开发工作流程。", + whatsNew: "新特性", + feature1: "<bold>消息队列</bold>: 在 Roo 工作时将多个消息排队,让你可以不间断地继续规划工作流程。", + feature2: + "<bold>自定义斜杠命令</bold>: 创建个性化斜杠命令,快速访问常用提示词和工作流程,具备完整的 UI 管理功能。", + feature3: + "<bold>增强的 Gemini 工具</bold>: 新的 URL 上下文和 Google 搜索基础功能为 Gemini 模型提供实时网络信息和增强的研究能力。", + hideButton: "隐藏公告", + detailsDiscussLinks: + "在 <discordLink>Discord</discordLink> 和 <redditLink>Reddit</redditLink> 获取更多详情并参与讨论 🚀", + }, + AGe = { + rooWantsToUse: "Roo想使用浏览器:", + consoleLogs: "控制台日志", + noNewLogs: "(没有新日志)", + screenshot: "浏览器截图", + cursor: "光标", + navigation: { step: "步骤 {{current}} / {{total}}", previous: "上一步", next: "下一步" }, + sessionStarted: "浏览器会话已启动", + actions: { + title: "浏览器操作: ", + launch: "访问 {{url}}", + click: "点击 ({{coordinate}})", + type: '输入 "{{text}}"', + scrollDown: "向下滚动", + scrollUp: "向上滚动", + close: "关闭浏览器", + }, + }, + PGe = { + tooltips: { + expand: "展开代码块", + collapse: "收起代码块", + enable_wrap: "启用自动换行", + disable_wrap: "禁用自动换行", + copy_code: "复制代码", + }, + }, + RGe = "警告:自定义系统提示词覆盖已激活。这可能严重破坏功能并导致不可预测的行为。", + TGe = "当前配置文件与您的组织设置不兼容", + IGe = { + title: "命令执行警告", + description: + "您的命令正在没有 VSCode 终端 shell 集成的情况下执行。要隐藏此警告,您可以在 <settingsLink>Roo Code 设置</settingsLink>的 <strong>Terminal</strong> 部分禁用 shell 集成,或使用下方链接排查 VSCode 终端集成问题。", + troubleshooting: "点击此处查看 shell 集成文档。", + }, + MGe = { + autoApprovedRequestLimitReached: { + title: "已达自动批准请求限制", + description: "Roo 已达到 {{count}} 次 API 请求的自动批准限制。您想重置计数并继续任务吗?", + button: "重置并继续", + }, + autoApprovedCostLimitReached: { + title: "已达到自动批准的费用限额", + description: "Roo已经达到了${{count}}的自动批准成本限制。您想重置成本并继续任务吗?", + button: "重置并继续", + }, + }, + jGe = { + wantsToSearch: "Roo 需要搜索代码库: <code>{{query}}</code>", + wantsToSearchWithPath: "Roo 需要在 <code>{{path}}</code> 中搜索: <code>{{query}}</code>", + didSearch_one: "找到 1 个结果", + didSearch_other: "找到 {{count}} 个结果", + resultTooltip: "相似度评分: {{score}} (点击打开文件)", + }, + EGe = { + ready: "索引就绪", + indexing: "索引中 {{percentage}}%", + indexed: "已索引", + error: "索引错误", + status: "索引状态", + }, + zGe = { ariaLabel: "版本 {{version}} - 点击查看发布说明" }, + $Ge = { + title: "Roo Code Cloud 即将推出!", + description: "在云端运行远程代理,随时随地访问任务,与他人协作等更多功能。", + joinWaitlist: "加入等待列表获取早期访问权限。", + }, + LGe = { triggerDescription: "触发 {{name}} 命令" }, + DGe = { placeholder: "编辑消息..." }, + NGe = { + tooltip: "管理斜杠命令", + title: "斜杠命令", + description: "创建自定义斜杠命令,快速访问常用提示词和工作流程。<DocsLink>文档</DocsLink>", + globalCommands: "全局命令", + workspaceCommands: "工作区命令", + globalCommand: "全局命令", + editCommand: "编辑命令", + deleteCommand: "删除命令", + newGlobalCommandPlaceholder: "新建全局命令...", + newWorkspaceCommandPlaceholder: "新建工作区命令...", + deleteDialog: { + title: "删除命令", + description: '确定要删除命令 "{{name}}" 吗?此操作无法撤销。', + cancel: "取消", + confirm: "删除", + }, + }, + OGe = { title: "队列消息:", clickToEdit: "点击编辑消息" }, + Rxt = { + greeting: vHe, + task: bHe, + unpin: yHe, + pin: kHe, + tokenProgress: xHe, + retry: wHe, + startNewTask: _He, + proceedAnyways: CHe, + save: SHe, + reject: AHe, + completeSubtaskAndReturn: PHe, + approve: RHe, + runCommand: THe, + proceedWhileRunning: IHe, + killCommand: MHe, + resumeTask: jHe, + terminate: EHe, + cancel: zHe, + scrollToBottom: $He, + about: LHe, + onboarding: DHe, + rooTips: NHe, + selectMode: OHe, + selectApiConfig: FHe, + enhancePrompt: BHe, + addImages: UHe, + sendMessage: qHe, + stopTts: WHe, + typeMessage: KHe, + typeTask: VHe, + addContext: HHe, + dragFiles: GHe, + dragFilesImages: QHe, + enhancePromptDescription: ZHe, + modeSelector: YHe, + errorReadingFile: XHe, + noValidImages: JHe, + separator: eGe, + edit: tGe, + forNextMode: nGe, + forPreviousMode: oGe, + error: rGe, + diffError: iGe, + troubleMessage: sGe, + apiRequest: aGe, + checkpoint: lGe, + instructions: cGe, + fileOperations: dGe, + directoryOperations: uGe, + commandOutput: pGe, + commandExecution: mGe, + response: hGe, + arguments: "参数", + mcp: fGe, + modes: gGe, + subtasks: vGe, + questions: bGe, + taskCompleted: yGe, + powershell: kGe, + autoApprove: xGe, + reasoning: wGe, + contextCondense: _Ge, + followUpSuggest: CGe, + announcement: SGe, + browser: AGe, + codeblock: PGe, + systemPromptWarning: RGe, + profileViolationWarning: TGe, + shellIntegration: IGe, + ask: MGe, + codebaseSearch: jGe, + "read-batch": { approve: { title: "全部批准" }, deny: { title: "全部拒绝" } }, + indexingStatus: EGe, + versionIndicator: zGe, + rooCloudCTA: $Ge, + command: LGe, + editMessage: DGe, + slashCommands: NGe, + queuedMessages: OGe, + }, + Txt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: LHe, + addContext: HHe, + addImages: UHe, + announcement: SGe, + apiRequest: aGe, + approve: RHe, + ask: MGe, + autoApprove: xGe, + browser: AGe, + cancel: zHe, + checkpoint: lGe, + codebaseSearch: jGe, + codeblock: PGe, + command: LGe, + commandExecution: mGe, + commandOutput: pGe, + completeSubtaskAndReturn: PHe, + contextCondense: _Ge, + default: Rxt, + diffError: iGe, + directoryOperations: uGe, + dragFiles: GHe, + dragFilesImages: QHe, + edit: tGe, + editMessage: DGe, + enhancePrompt: BHe, + enhancePromptDescription: ZHe, + error: rGe, + errorReadingFile: XHe, + fileOperations: dGe, + followUpSuggest: CGe, + forNextMode: nGe, + forPreviousMode: oGe, + greeting: vHe, + indexingStatus: EGe, + instructions: cGe, + killCommand: MHe, + mcp: fGe, + modeSelector: YHe, + modes: gGe, + noValidImages: JHe, + onboarding: DHe, + pin: kHe, + powershell: kGe, + proceedAnyways: CHe, + proceedWhileRunning: IHe, + profileViolationWarning: TGe, + questions: bGe, + queuedMessages: OGe, + reasoning: wGe, + reject: AHe, + response: hGe, + resumeTask: jHe, + retry: wHe, + rooCloudCTA: $Ge, + rooTips: NHe, + runCommand: THe, + save: SHe, + scrollToBottom: $He, + selectApiConfig: FHe, + selectMode: OHe, + sendMessage: qHe, + separator: eGe, + shellIntegration: IGe, + slashCommands: NGe, + startNewTask: _He, + stopTts: WHe, + subtasks: vGe, + systemPromptWarning: RGe, + task: bHe, + taskCompleted: yGe, + terminate: EHe, + tokenProgress: xHe, + troubleMessage: sGe, + typeMessage: KHe, + typeTask: VHe, + unpin: yHe, + versionIndicator: zGe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + FGe = { + title: "出现了错误", + reportText: "请通过在以下位置报告此错误来帮助我们改进", + githubText: "我们的 GitHub Issues 页面", + copyInstructions: "复制并粘贴以下错误信息,将其作为提交内容的一部分:", + errorStack: "错误堆栈:", + componentStack: "组件堆栈:", + }, + BGe = { yes: "是", no: "否", cancel: "取消", remove: "移除", keep: "保留" }, + UGe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + qGe = { search_placeholder: "搜索...", no_results: "未找到结果" }, + WGe = { + loading: "生成 Mermaid 图表中...", + render_error: "无法渲染图表", + buttons: { + zoom: "缩放", + zoomIn: "放大", + zoomOut: "缩小", + copy: "复制", + save: "保存图片", + viewCode: "查看代码", + viewDiagram: "查看图表", + close: "关闭", + }, + modal: { codeTitle: "Mermaid 代码" }, + tabs: { diagram: "图表", code: "代码" }, + feedback: { imageCopied: "图片已复制到剪贴板", copyError: "复制图片时出错" }, + }, + KGe = { + errors: { + invalidDataUri: "无效的数据 URI 格式", + copyingImage: "复制图片时出错: {{error}}", + openingImage: "打开图片时出错: {{error}}", + pathNotExists: "路径不存在: {{path}}", + couldNotOpen: "无法打开文件: {{error}}", + couldNotOpenGeneric: "无法打开文件!", + }, + success: { imageDataUriCopied: "图片数据 URI 已复制到剪贴板" }, + }, + VGe = { + deleteMessage: "删除消息", + deleteWarning: "删除此消息将删除对话中的所有后续消息。是否继续?", + editMessage: "编辑消息", + editWarning: "编辑此消息将删除对话中的所有后续消息。是否继续?", + proceed: "继续", + }, + Ixt = { errorBoundary: FGe, answers: BGe, number_format: UGe, ui: qGe, mermaid: WGe, file: KGe, confirmation: VGe }, + Mxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: BGe, + confirmation: VGe, + default: Ixt, + errorBoundary: FGe, + file: KGe, + mermaid: WGe, + number_format: UGe, + ui: qGe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + HGe = "最近任务", + GGe = "历史记录", + QGe = "退出多选模式", + ZGe = "进入多选模式", + YGe = "完成", + XGe = "模糊搜索历史记录...", + JGe = "最新", + e8e = "最旧", + t8e = "费用最高", + n8e = "最多 Token", + o8e = "最相关", + r8e = "删除任务(Shift + 点击跳过确认)", + i8e = "复制提示词", + s8e = "导出任务", + a8e = "删除任务", + l8e = "确认删除该任务?此操作不可逆。", + c8e = "取消", + d8e = "退出多选", + u8e = "多选模式", + p8e = "取消全选", + m8e = "全选", + h8e = "已选 {{selected}}/{{total}} 项", + f8e = "清除选择", + g8e = "删除选中项", + v8e = "删除任务", + b8e = "确认删除 {{count}} 项任务?", + y8e = "删除后将无法恢复,请谨慎操作。", + k8e = "删除 {{count}} 项", + x8e = { prefix: "工作区:", current: "当前", all: "所有" }, + w8e = { + prefix: "排序:", + newest: "最新", + oldest: "最旧", + mostExpensive: "费用最高", + mostTokens: "最多 Token", + mostRelevant: "最相关", + }, + _8e = "查看所有历史记录", + jxt = { + recentTasks: HGe, + history: GGe, + exitSelectionMode: QGe, + enterSelectionMode: ZGe, + done: YGe, + searchPlaceholder: XGe, + newest: JGe, + oldest: e8e, + mostExpensive: t8e, + mostTokens: n8e, + mostRelevant: o8e, + deleteTaskTitle: r8e, + copyPrompt: i8e, + exportTask: s8e, + deleteTask: a8e, + deleteTaskMessage: l8e, + cancel: c8e, + delete: "删除", + exitSelection: d8e, + selectionMode: u8e, + deselectAll: p8e, + selectAll: m8e, + selectedItems: h8e, + clearSelection: f8e, + deleteSelected: g8e, + deleteTasks: v8e, + confirmDeleteTasks: b8e, + deleteTasksWarning: y8e, + deleteItems: k8e, + workspace: x8e, + sort: w8e, + viewAllHistory: _8e, + }, + Ext = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: c8e, + clearSelection: f8e, + confirmDeleteTasks: b8e, + copyPrompt: i8e, + default: jxt, + deleteItems: k8e, + deleteSelected: g8e, + deleteTask: a8e, + deleteTaskMessage: l8e, + deleteTaskTitle: r8e, + deleteTasks: v8e, + deleteTasksWarning: y8e, + deselectAll: p8e, + done: YGe, + enterSelectionMode: ZGe, + exitSelection: d8e, + exitSelectionMode: QGe, + exportTask: s8e, + history: GGe, + mostExpensive: t8e, + mostRelevant: o8e, + mostTokens: n8e, + newest: JGe, + oldest: e8e, + recentTasks: HGe, + searchPlaceholder: XGe, + selectAll: m8e, + selectedItems: h8e, + selectionMode: u8e, + sort: w8e, + viewAllHistory: _8e, + workspace: x8e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + C8e = "人工辅助模式", + S8e = `操作指南: +1. 复制下方提示词到外部AI工具 +2. 将得到的结果粘贴至输入框`, + A8e = "已复制到剪贴板", + P8e = { label: "AI响应内容:", placeholder: "请在此处粘贴结果..." }, + R8e = { cancel: "取消", submit: "提交" }, + zxt = { dialogTitle: C8e, dialogDescription: S8e, copiedToClipboard: A8e, aiResponse: P8e, actions: R8e }, + $xt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: R8e, + aiResponse: P8e, + copiedToClipboard: A8e, + default: zxt, + dialogDescription: S8e, + dialogTitle: C8e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + T8e = "Roo Marketplace", + I8e = { installed: "已安装", settings: "设置", browse: "浏览" }, + M8e = "完成", + j8e = "刷新", + E8e = { + search: { + placeholder: "搜索 Marketplace 项目...", + placeholderMcp: "搜索 MCP...", + placeholderMode: "搜索模式...", + }, + type: { label: "按类型筛选:", all: "所有类型", mode: "模式", mcpServer: "MCP 服务" }, + sort: { label: "排序方式:", name: "名称", author: "作者", lastUpdated: "最后更新" }, + tags: { + label: "按标签筛选:", + clear: "清除标签", + placeholder: "输入搜索和选择标签...", + noResults: "未找到匹配的标签", + selected: "显示包含任何选定标签的项目", + clickToFilter: "点击标签筛选项目", + }, + none: "无", + }, + z8e = { organizationMcps: "{{organization}} MCPs", marketplace: "Marketplace" }, + $8e = { + empty: { + noItems: "未找到 Marketplace 项目", + withFilters: "尝试调整筛选条件", + noSources: "尝试在源标签页中添加源", + adjustFilters: "尝试调整筛选条件或搜索词", + clearAllFilters: "清除所有筛选条件", + }, + count: "找到 {{count}} 个项目", + components: "{{count}} 个组件", + matched: "{{count}} 个匹配", + refresh: { button: "刷新", refreshing: "刷新中...", mayTakeMoment: "这可能需要一些时间。" }, + card: { + by: "作者:{{author}}", + from: "来源:{{source}}", + install: "安装", + installProject: "安装", + installGlobal: "安装(全局)", + remove: "移除", + removeProject: "移除", + removeGlobal: "移除(全局)", + viewSource: "查看", + viewOnSource: "在 {{source}} 上查看", + noWorkspaceTooltip: "打开工作区以安装 Marketplace 项目", + installed: "已安装", + removeProjectTooltip: "从当前项目中移除", + removeGlobalTooltip: "从全局配置中移除", + actionsMenuLabel: "更多操作", + }, + removeFailed: "删除失败: {{error}}", + unknownError: "发生未知错误", + }, + L8e = { + title: "安装 {{name}}", + titleMode: "安装 {{name}} 模式", + titleMcp: "安装 {{name}} MCP", + scope: "安装范围", + project: "项目(当前工作区)", + global: "全局(所有工作区)", + method: "安装方法", + configuration: "配置", + configurationDescription: "配置此 MCP 服务所需的参数", + button: "安装", + successTitle: "{{name}} 已安装", + successDescription: "安装成功完成", + installed: "安装成功!", + whatNextMcp: "现在您可以配置和使用此 MCP 服务。点击侧边栏中的 MCP 图标切换标签页。", + whatNextMode: "现在您可以使用此模式。点击侧边栏中的模式图标切换标签页。", + done: "完成", + goToMcp: "转到 MCP 标签页", + goToModes: "转到模式设置", + moreInfoMcp: "查看 {{name}} MCP 文档", + validationRequired: "请为 {{paramName}} 提供值", + prerequisites: "前置条件", + }, + D8e = { + title: "配置 Marketplace 源", + description: "添加包含 Marketplace 项目的 Git 仓库。浏览 Marketplace 时将获取这些仓库。", + add: { + title: "添加新源", + urlPlaceholder: "Git 仓库 URL(例如:https://github.com/username/repo)", + urlFormats: + "支持的格式:HTTPS(https://github.com/username/repo)、SSH(git@github.com:username/repo.git)或 Git 协议(git://github.com/username/repo.git)", + namePlaceholder: "显示名称(最多 20 个字符)", + button: "添加源", + }, + current: { title: "当前源", empty: "未配置源。添加源以开始使用。", refresh: "刷新此源", remove: "移除源" }, + errors: { + emptyUrl: "URL 不能为空", + invalidUrl: "无效的 URL 格式", + nonVisibleChars: "URL 包含除空格外的不可见字符", + invalidGitUrl: "URL 必须是有效的 Git 仓库 URL(例如:https://github.com/username/repo)", + duplicateUrl: "此 URL 已在列表中(不区分大小写和空格的匹配)", + nameTooLong: "名称必须为 20 个字符或更少", + nonVisibleCharsName: "名称包含除空格外的不可见字符", + duplicateName: "此名称已被使用(不区分大小写和空格的匹配)", + emojiName: "表情符号字符可能导致显示问题", + maxSources: "最多允许 {{max}} 个源", + }, + }, + N8e = { + mode: { + title: "删除模式", + message: '您确定要删除"{{modeName}}"模式吗?', + rulesWarning: "这也将删除此模式的任何关联规则文件。", + }, + mcp: { title: "删除 MCP 服务器", message: '您确定要删除 MCP 服务器"{{mcpName}}"吗?' }, + cancel: "取消", + confirm: "删除", + }, + O8e = { issueText: "发现 marketplace 项目问题或有新项目建议?<0>在 GitHub 开启 issue</0> 告诉我们!" }, + Lxt = { + title: T8e, + tabs: I8e, + done: M8e, + refresh: j8e, + filters: E8e, + sections: z8e, + "type-group": { modes: "模式", mcps: "MCP 服务" }, + items: $8e, + install: L8e, + sources: D8e, + removeConfirm: N8e, + footer: O8e, + }, + Dxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Lxt, + done: M8e, + filters: E8e, + footer: O8e, + install: L8e, + items: $8e, + refresh: j8e, + removeConfirm: N8e, + sections: z8e, + sources: D8e, + tabs: I8e, + title: T8e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + F8e = "MCP 服务器", + B8e = "完成", + U8e = "MCP 市场", + q8e = + '<0>Model Context Protocol</0> 支持与本地MCP服务通信,提供扩展功能。您可以使用<1>社区服务器</1>,或通过指令创建定制工具(例如:"新增获取最新npm文档的工具")。', + W8e = "使用说明", + K8e = { + title: "启用 MCP 服务器", + description: "开启后 Roo 可用已连接 MCP 服务器的工具,能力更强。不用这些工具时建议关闭,节省 API Token 费用。", + }, + V8e = { + title: "启用 MCP 服务器创建", + description: "开启后 Roo 可帮你创建<1>新</1>自定义 MCP 服务器。<0>了解服务器创建</0>", + hint: "提示:不需要 Roo 创建新 MCP 服务器时建议关闭,减少 API Token 费用。", + }, + H8e = "编辑全局 MCP", + G8e = "编辑项目 MCP", + Q8e = "了解如何编辑 MCP 设置文件", + Z8e = { + alwaysAllow: "始终允许", + parameters: "参数", + noDescription: "无描述", + togglePromptInclusion: "切换在提示中的包含", + }, + Y8e = { tools: "工具", resources: "资源", errors: "错误" }, + X8e = { noTools: "未找到工具", noResources: "未找到资源", noErrors: "未找到错误" }, + J8e = { + label: "网络超时", + description: "服务器响应最大等待时间", + options: { + "15seconds": "15秒", + "30seconds": "30秒", + "1minute": "1分钟", + "5minutes": "5分钟", + "10minutes": "10分钟", + "15minutes": "15分钟", + "30minutes": "30分钟", + "60minutes": "60分钟", + }, + }, + e9e = { + title: "删除 MCP 服务器", + description: '确认删除 MCP 服务器 "{{serverName}}"?此操作不可逆。', + cancel: "取消", + delete: "删除", + }, + t9e = { retrying: "重试中...", retryConnection: "重试连接" }, + n9e = "刷新 MCP 服务器", + o9e = { running: "运行中", completed: "已完成", error: "错误" }, + Nxt = { + title: F8e, + done: B8e, + marketplace: U8e, + description: q8e, + instructions: W8e, + enableToggle: K8e, + enableServerCreation: V8e, + editGlobalMCP: H8e, + editProjectMCP: G8e, + learnMoreEditingSettings: Q8e, + tool: Z8e, + tabs: Y8e, + emptyState: X8e, + networkTimeout: J8e, + deleteDialog: e9e, + serverStatus: t9e, + refreshMCP: n9e, + execution: o9e, + }, + Oxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: Nxt, + deleteDialog: e9e, + description: q8e, + done: B8e, + editGlobalMCP: H8e, + editProjectMCP: G8e, + emptyState: X8e, + enableServerCreation: V8e, + enableToggle: K8e, + execution: o9e, + instructions: W8e, + learnMoreEditingSettings: Q8e, + marketplace: U8e, + networkTimeout: J8e, + refreshMCP: n9e, + serverStatus: t9e, + tabs: Y8e, + title: F8e, + tool: Z8e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + r9e = "模式", + i9e = "完成", + s9e = { + title: "模式配置", + createNewMode: "新建模式", + importMode: "导入模式", + noMatchFound: "未找到任何模式", + editModesConfig: "模式设置", + editGlobalModes: "修改全局模式", + editProjectModes: "编辑项目模式 (.roomodes)", + createModeHelpText: "模式是Roo的专属角色,用于定制其行为。<0>了解如何使用模式</0>或<1>自定义模式。</1>", + selectMode: "搜索模式", + }, + a9e = { title: "API配置", select: "选择要用于此模式的API配置" }, + l9e = { + title: "可用功能", + builtInModesText: "内置模式的可用功能不能被修改", + editTools: "编辑功能", + doneEditing: "完成编辑", + allowedFiles: "允许操作的文件:", + toolNames: { read: "读取文件", edit: "编辑文件", browser: "浏览器", command: "运行命令", mcp: "MCP服务" }, + noTools: "无", + }, + c9e = { title: "角色定义", resetToDefault: "重置为默认值", description: "设定专业领域和应答风格" }, + d9e = { + title: "简短描述(给人看的)", + resetToDefault: "重置为默认描述", + description: "在模式选择下拉菜单中显示的简短描述。", + }, + u9e = { + title: "使用场景(可选)", + description: "描述何时应该使用此模式。这有助于 Orchestrator 为任务选择合适的模式。", + resetToDefault: '重置"使用场景"描述为默认值', + }, + p9e = { + title: "模式专属规则(可选)", + resetToDefault: "重置为默认值", + description: "{{modeName}}模式的专属规则", + loadFromFile: + "支持从<span>.roo/rules-{{slug}}/</span>目录读取配置(.roorules-{{slug}}和.clinerules-{{slug}}已弃用并将很快停止工作)。", + }, + m9e = { + title: "导出模式", + description: "将此模式导出为包含所有规则的 YAML 文件,以便与他人轻松共享。", + export: "导出模式", + exporting: "正在导出...", + }, + h9e = { + selectLevel: "选择导入模式的位置:", + import: "导入", + importing: "导入中...", + global: { + label: "全局", + description: + "适用于所有项目。如果导出的模式包含规则文件,则将在全局 .roo/rules-{slug}/ 文件夹中重新创建这些文件。", + }, + project: { + label: "项目级", + description: + "仅在此工作区可用。如果导出的模式包含规则文件,则将在 .roo/rules-{slug}/ 文件夹中重新创建这些文件。", + }, + }, + f9e = { + title: "所有模式的自定义指令", + description: + "这些指令适用于所有模式。它们提供了一套基础行为,可以通过下面的模式特定指令进行增强。<0>了解更多</0>", + loadFromFile: + "支持从<span>.roo/rules/</span>目录读取全局配置(.roorules和.clinerules已弃用并将很快停止工作)。", + }, + g9e = { preview: "预览系统提示词", copy: "复制系统提示词", title: "系统提示词({{modeName}}模式)" }, + v9e = { + title: "功能提示词", + resetPrompt: "恢复{{promptType}}默认设置", + prompt: "提示词", + enhance: { + apiConfiguration: "API配置", + apiConfigDescription: "您可以选择一个固定的API配置用于增强提示词,或者使用当前选择的配置", + useCurrentConfig: "使用当前选择的API配置", + testPromptPlaceholder: "输入提示词以测试增强效果", + previewButton: "测试提示词增强", + testEnhancement: "测试增强", + includeTaskHistory: "包含任务历史作为上下文", + includeTaskHistoryDescription: + "启用后,当前对话的最后 10 条消息将作为上下文包含在增强提示词时,有助于生成更相关和上下文感知的建议。", + }, + condense: { + apiConfiguration: "用于上下文压缩的 API 配置", + apiConfigDescription: "选择用于上下文压缩操作的 API 配置。保留未选择状态以使用当前活动的配置。", + useCurrentConfig: "使用当前选中的 API 配置", + }, + types: { + ENHANCE: { label: "增强提示词", description: "优化提示获取更好回答(点击✨使用)" }, + CONDENSE: { + label: "上下文压缩", + description: "配置如何压缩对话上下文以管理令牌限制。此提示用于手动和自动上下文压缩操作。", + }, + EXPLAIN: { + label: "解释代码", + description: + "解读代码逻辑(支持文件/片段),可在代码操作(编辑器中的灯泡图标)和编辑器上下文菜单(右键点击选中的代码)中使用。", + }, + FIX: { + label: "修复问题", + description: + "查找修复代码问题,可在代码操作(编辑器中的灯泡图标)和编辑器上下文菜单(右键点击选中的代码)中使用。", + }, + IMPROVE: { + label: "改进代码", + description: + "提供优化建议(保留原功能),可在代码操作(编辑器中的灯泡图标)和编辑器上下文菜单(右键点击选中的代码)中使用。", + }, + ADD_TO_CONTEXT: { + label: "添加到上下文", + description: + "添加额外信息到对话,可在代码操作(编辑器中的灯泡图标)和编辑器上下文菜单(右键点击选中的代码)中使用。", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "添加终端内容到上下文", + description: "将终端输出内容加入对话。可在终端右键菜单(右键点击选中的终端内容)中使用。", + }, + TERMINAL_FIX: { + label: "修复终端命令", + description: "修复终端命令问题。可在终端右键菜单(右键点击选中的终端内容)中使用。", + }, + TERMINAL_EXPLAIN: { + label: "解释终端命令", + description: "获取对终端命令及其输出的详细解释。可在终端右键菜单(右键点击选中的终端内容)中使用。", + }, + NEW_TASK: { label: "新任务", description: "控制开始新任务时的用户提示词。可在首页对话框中使用。" }, + }, + }, + b9e = { + title: "高级:覆盖系统提示词", + description: + "<2>⚠️ 警告:</2> 此高级功能会绕过安全措施。<1>使用前请阅读!</1>通过在您的工作区中创建文件 <span>.roo/system-prompt-{{slug}}</span> 来覆盖默认系统提示。", + }, + y9e = { + title: "创建新模式", + close: "关闭", + name: { label: "名称", placeholder: "输入模式名称" }, + slug: { label: "标识符", description: "英文标识符(小写字母+数字+短横线)" }, + saveLocation: { + label: "保存位置", + description: "配置存储位置(当前项目配置优先)", + global: { label: "全局", description: "全局可用" }, + project: { label: "项目特定 (.roomodes)", description: "仅当前项目有效" }, + }, + roleDefinition: { label: "角色定义", description: "设定专业方向" }, + whenToUse: { label: "使用场景(可选)", description: "清晰描述此模式最适合的场景和任务类型" }, + tools: { label: "可用工具", description: "选择可用工具" }, + description: { label: "简短描述(给人看的)", description: "在模式选择下拉菜单中显示的简短描述。" }, + customInstructions: { label: "自定义指令(可选)", description: "设置专属规则" }, + buttons: { cancel: "取消", create: "创建模式" }, + deleteMode: "删除模式", + }, + k9e = "所有文件", + x9e = { title: "高级" }, + w9e = { + title: "删除模式", + message: '您确定要删除"{{modeName}}"模式吗?', + rulesFolder: "此模式在 {{folderPath}} 有一个规则文件夹,该文件夹也将被删除。", + descriptionNoRules: "您确定要删除此自定义模式吗?", + confirm: "删除", + cancel: "取消", + }, + Fxt = { + title: r9e, + done: i9e, + modes: s9e, + apiConfiguration: a9e, + tools: l9e, + roleDefinition: c9e, + description: d9e, + whenToUse: u9e, + customInstructions: p9e, + exportMode: m9e, + importMode: h9e, + globalCustomInstructions: f9e, + systemPrompt: g9e, + supportPrompts: v9e, + advancedSystemPrompt: b9e, + createModeDialog: y9e, + allFiles: k9e, + advanced: x9e, + deleteMode: w9e, + }, + Bxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: x9e, + advancedSystemPrompt: b9e, + allFiles: k9e, + apiConfiguration: a9e, + createModeDialog: y9e, + customInstructions: p9e, + default: Fxt, + deleteMode: w9e, + description: d9e, + done: i9e, + exportMode: m9e, + globalCustomInstructions: f9e, + importMode: h9e, + modes: s9e, + roleDefinition: c9e, + supportPrompts: v9e, + systemPrompt: g9e, + title: r9e, + tools: l9e, + whenToUse: u9e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + _9e = { + save: "保存", + done: "完成", + cancel: "取消", + reset: "恢复默认设置", + select: "选择", + add: "添加标头", + remove: "移除", + }, + C9e = { + title: "设置", + saveButtonTooltip: "保存更改", + nothingChangedTooltip: "暂无更改", + doneButtonTooltip: "放弃未保存的更改并关闭设置面板", + }, + S9e = { + title: "未保存的更改", + description: "是否放弃更改并继续?", + cancelButton: "取消", + discardButton: "放弃更改", + }, + A9e = { + providers: "提供商", + autoApprove: "自动批准", + browser: "计算机交互", + checkpoints: "存档点", + notifications: "通知", + contextManagement: "上下文", + terminal: "终端", + prompts: "提示词", + experimental: "实验性", + language: "语言", + about: "关于 Roo Code", + }, + P9e = { + description: + "配置用于快速操作的支持提示词,如增强提示词、解释代码和修复问题。这些提示词帮助 Roo 为常见开发任务提供更好的支持。", + }, + R9e = { + title: "代码库索引", + description: "配置代码库索引设置以启用项目的语义搜索。<0>了解更多</0>", + statusTitle: "状态", + enableLabel: "启用代码库索引", + enableDescription: "启用代码索引以改进搜索和上下文理解", + settingsTitle: "索引设置", + disabledMessage: "代码库索引当前已禁用。在全局设置中启用它以配置索引选项。", + providerLabel: "嵌入提供商", + embedderProviderLabel: "嵌入器提供商", + selectProviderPlaceholder: "选择提供商", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API 密钥:", + geminiApiKeyPlaceholder: "输入您的Gemini API密钥", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API 密钥:", + mistralApiKeyPlaceholder: "输入您的 Mistral API 密钥", + openaiCompatibleProvider: "OpenAI 兼容", + openAiKeyLabel: "OpenAI API 密钥", + openAiKeyPlaceholder: "输入你的 OpenAI API 密钥", + openAiCompatibleBaseUrlLabel: "基础 URL", + openAiCompatibleApiKeyLabel: "API 密钥", + openAiCompatibleApiKeyPlaceholder: "输入你的 API 密钥", + openAiCompatibleModelDimensionLabel: "嵌入维度:", + modelDimensionLabel: "模型维度", + openAiCompatibleModelDimensionPlaceholder: "例如,1536", + openAiCompatibleModelDimensionDescription: + "模型的嵌入维度(输出大小)。请查阅您的提供商文档获取此值。常见值:384、768、1536、3072。", + modelLabel: "模型", + modelPlaceholder: "输入模型名称", + selectModel: "选择模型", + selectModelPlaceholder: "选择模型", + ollamaUrlLabel: "Ollama URL:", + ollamaBaseUrlLabel: "Ollama 基础 URL", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant 密钥:", + qdrantApiKeyLabel: "Qdrant API 密钥", + qdrantApiKeyPlaceholder: "输入你的 Qdrant API 密钥(可选)", + setupConfigLabel: "设置", + startIndexingButton: "开始", + clearIndexDataButton: "清除索引", + unsavedSettingsMessage: "请先保存设置再开始索引过程。", + clearDataDialog: { + title: "确定要继续吗?", + description: "此操作无法撤消。这将永久删除您的代码库索引数据。", + cancelButton: "取消", + confirmButton: "清除数据", + }, + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "保存设置失败", + modelDimensions: "({{dimension}} 维度)", + saveSuccess: "设置保存成功", + saving: "保存中...", + saveSettings: "保存", + indexingStatuses: { standby: "待机", indexing: "索引中", indexed: "已索引", error: "错误" }, + close: "关闭", + validation: { + invalidQdrantUrl: "无效的 Qdrant URL", + invalidOllamaUrl: "无效的 Ollama URL", + invalidBaseUrl: "无效的基础 URL", + qdrantUrlRequired: "需要 Qdrant URL", + openaiApiKeyRequired: "需要 OpenAI API 密钥", + modelSelectionRequired: "需要选择模型", + apiKeyRequired: "需要 API 密钥", + modelIdRequired: "需要模型 ID", + modelDimensionRequired: "需要模型维度", + geminiApiKeyRequired: "需要 Gemini API 密钥", + mistralApiKeyRequired: "需要 Mistral API 密钥", + ollamaBaseUrlRequired: "需要 Ollama 基础 URL", + baseUrlRequired: "需要基础 URL", + modelDimensionMinValue: "模型维度必须大于 0", + }, + advancedConfigLabel: "高级配置", + searchMinScoreLabel: "搜索分数阈值", + searchMinScoreDescription: + "搜索结果所需的最低相似度分数(0.0-1.0)。较低的值返回更多结果,但可能不太相关。较高的值返回较少但更相关的结果。", + searchMinScoreResetTooltip: "恢复默认值 (0.4)", + searchMaxResultsLabel: "最大搜索结果数", + searchMaxResultsDescription: + "查询代码库索引时返回的最大搜索结果数。较高的值提供更多上下文,但可能包含相关性较低的结果。", + resetToDefault: "恢复默认值", + }, + T9e = { + description: "允许 Roo 自动执行操作而无需批准。只有在您完全信任 AI 并了解相关安全风险的情况下才启用这些设置。", + enabled: "自动批准已启用", + toggleAriaLabel: "切换自动批准", + disabledAriaLabel: "自动批准已禁用 - 请先选择选项", + readOnly: { + label: "读取", + description: "启用后,Roo 将自动浏览目录和读取文件内容,无需人工确认。", + outsideWorkspace: { + label: "包含工作区外的文件", + description: "允许 Roo 读取当前工作区外的文件,无需批准。", + }, + }, + write: { + label: "写入", + description: "自动创建和编辑文件,无需二次确认", + delayLabel: "延迟一段时间再自动批准写入,可以在期间检查模型输出是否有问题", + outsideWorkspace: { + label: "包含工作区外的文件", + description: "允许 Roo 创建和编辑当前工作区外的文件,无需批准。", + }, + protected: { + label: "包含受保护的文件", + description: "允许 Roo 创建和编辑受保护的文件(如 .rooignore 和 .roo/ 配置文件),无需批准。", + }, + }, + browser: { + label: "浏览器", + description: "自动执行浏览器操作而无需批准 — 注意:仅当模型支持计算机功能调用时适用", + }, + retry: { + label: "重试", + description: "当服务器返回错误响应时自动重试失败的 API 请求", + delayLabel: "重试请求前的延迟", + }, + mcp: { label: "MCP", description: "允许自动调用MCP服务而无需批准" }, + modeSwitch: { label: "模式", description: "自动在不同模式之间切换而无需批准" }, + subtasks: { label: "子任务", description: "允许创建和完成子任务而无需批准" }, + followupQuestions: { + label: "问题", + description: "在配置的超时时间后自动选择后续问题的第一个建议答案", + timeoutLabel: "自动选择第一个答案前的等待时间", + }, + execute: { + label: "执行", + description: "自动执行白名单中的命令而无需批准", + allowedCommands: "命令白名单", + allowedCommandsDescription: + '当"自动批准命令行操作"启用时可以自动执行的命令前缀。添加 * 以允许所有命令(谨慎使用)。', + deniedCommands: "拒绝的命令", + deniedCommandsDescription: + "将自动拒绝的命令前缀,无需用户批准。与允许命令冲突时,最长前缀匹配优先。添加 * 拒绝所有命令。", + commandPlaceholder: "输入命令前缀(例如 'git ')", + deniedCommandPlaceholder: "输入要拒绝的命令前缀(例如 'rm -rf')", + addButton: "添加", + autoDenied: "前缀为 `{{prefix}}` 的命令已被用户禁止。不要通过运行其他命令来绕过此限制。", + }, + updateTodoList: { label: "待办", description: "无需批准即可自动更新待办清单" }, + apiRequestLimit: { + title: "最大请求数", + description: "在请求批准以继续执行任务之前,自动发出此数量的 API 请求。", + unlimited: "无限制", + }, + selectOptionsFirst: "请至少选择以下一个选项以启用自动批准", + apiCostLimit: { title: "最高费用", unlimited: "无限" }, + maxLimits: { description: "在请求批准继续之前,自动发出请求,最多不超过这些限制。" }, + }, + I9e = { + providerDocumentation: "{{provider}} 文档", + configProfile: "配置文件", + description: "保存多组API配置便于快速切换", + apiProvider: "API提供商", + model: "模型", + nameEmpty: "名称不能为空", + nameExists: "已存在同名的配置文件", + deleteProfile: "删除配置文件", + invalidArnFormat: "无效的 ARN 格式。请检查上面的示例。", + enterNewName: "输入新名称", + addProfile: "添加配置文件", + renameProfile: "重命名配置文件", + newProfile: "新建配置文件", + enterProfileName: "输入新配置名称", + createProfile: "创建配置", + cannotDeleteOnlyProfile: "无法删除唯一的配置文件", + searchPlaceholder: "搜索配置文件", + searchProviderPlaceholder: "搜索提供商", + noProviderMatchFound: "未找到提供商", + noMatchFound: "未找到匹配的配置文件", + vscodeLmDescription: + "VS Code 语言模型 API 允许您运行由其他 VS Code 扩展(包括但不限于 GitHub Copilot)提供的模型。最简单的方法是从 VS Code 市场安装 Copilot 和 Copilot Chat 扩展。", + awsCustomArnUse: "请输入有效的 Amazon Bedrock ARN(Amazon资源名称),格式示例:", + awsCustomArnDesc: "请确保ARN中的区域与上方选择的AWS区域一致。", + openRouterApiKey: "OpenRouter API 密钥", + getOpenRouterApiKey: "获取 OpenRouter API 密钥", + apiKeyStorageNotice: "API 密钥安全存储在 VSCode 的密钥存储中", + glamaApiKey: "Glama API 密钥", + getGlamaApiKey: "获取 Glama API 密钥", + useCustomBaseUrl: "使用自定义基础 URL", + useReasoning: "启用推理", + useHostHeader: "使用自定义 Host 标头", + useLegacyFormat: "使用传统 OpenAI API 格式", + customHeaders: "自定义标头", + headerName: "标头名称", + headerValue: "标头值", + noCustomHeaders: "暂无自定义标头。点击 + 按钮添加。", + requestyApiKey: "Requesty API 密钥", + refreshModels: { + label: "刷新模型", + hint: "请重新打开设置以查看最新模型。", + loading: "正在刷新模型列表...", + success: "模型列表刷新成功!", + error: "刷新模型列表失败。请重试。", + }, + getRequestyApiKey: "获取 Requesty API 密钥", + openRouterTransformsText: "自动压缩提示词和消息链到上下文长度限制内 (<a>OpenRouter转换</a>)", + anthropicApiKey: "Anthropic API 密钥", + getAnthropicApiKey: "获取 Anthropic API 密钥", + anthropicUseAuthToken: "将 Anthropic API 密钥作为 Authorization 标头传递,而不是 X-Api-Key", + cerebrasApiKey: "Cerebras API 密钥", + getCerebrasApiKey: "获取 Cerebras API 密钥", + chutesApiKey: "Chutes API 密钥", + getChutesApiKey: "获取 Chutes API 密钥", + fireworksApiKey: "Fireworks API 密钥", + getFireworksApiKey: "获取 Fireworks API 密钥", + deepSeekApiKey: "DeepSeek API 密钥", + getDeepSeekApiKey: "获取 DeepSeek API 密钥", + doubaoApiKey: "豆包 API 密钥", + getDoubaoApiKey: "获取豆包 API 密钥", + moonshotApiKey: "Moonshot API 密钥", + getMoonshotApiKey: "获取 Moonshot API 密钥", + moonshotBaseUrl: "Moonshot 服务站点", + zaiApiKey: "Z AI API 密钥", + getZaiApiKey: "获取 Z AI API 密钥", + zaiEntrypoint: "Z AI 服务站点", + zaiEntrypointDescription: + "请根据您的位置选择适当的 API 服务站点。如果您在中国,请选择 open.bigmodel.cn。否则,请选择 api.z.ai。", + geminiApiKey: "Gemini API 密钥", + getGroqApiKey: "获取 Groq API 密钥", + groqApiKey: "Groq API 密钥", + getSambaNovaApiKey: "获取 SambaNova API 密钥", + sambaNovaApiKey: "SambaNova API 密钥", + getHuggingFaceApiKey: "获取 Hugging Face API 密钥", + huggingFaceApiKey: "Hugging Face API 密钥", + huggingFaceModelId: "模型 ID", + huggingFaceLoading: "加载中...", + huggingFaceModelsCount: "({{count}} 个模型)", + huggingFaceSelectModel: "选择模型...", + huggingFaceSearchModels: "搜索模型...", + huggingFaceNoModelsFound: "未找到模型", + huggingFaceProvider: "提供商", + huggingFaceProviderAuto: "自动", + huggingFaceSelectProvider: "选择提供商...", + huggingFaceSearchProviders: "搜索提供商...", + huggingFaceNoProvidersFound: "未找到提供商", + getGeminiApiKey: "获取 Gemini API 密钥", + openAiApiKey: "OpenAI API 密钥", + apiKey: "API 密钥", + openAiBaseUrl: "OpenAI 基础 URL", + getOpenAiApiKey: "获取 OpenAI API 密钥", + mistralApiKey: "Mistral API 密钥", + getMistralApiKey: "获取 Mistral / Codestral API 密钥", + codestralBaseUrl: "Codestral 基础 URL(可选)", + codestralBaseUrlDesc: "为 Codestral 模型设置替代 URL。", + xaiApiKey: "xAI API 密钥", + getXaiApiKey: "获取 xAI API 密钥", + litellmApiKey: "LiteLLM API 密钥", + litellmBaseUrl: "LiteLLM 基础 URL", + awsCredentials: "AWS 凭证", + awsProfile: "AWS 配置文件", + awsApiKey: "Amazon Bedrock API 密钥", + awsProfileName: "AWS 配置文件名称", + awsAccessKey: "AWS 访问密钥", + awsSecretKey: "AWS 密钥", + awsSessionToken: "AWS 会话Token", + awsRegion: "AWS 区域", + awsCrossRegion: "使用跨区域推理", + awsBedrockVpc: { + useCustomVpcEndpoint: "使用自定义 VPC 端点", + vpcEndpointUrlPlaceholder: "输入 VPC 端点 URL(可选)", + examples: "示例:", + }, + enablePromptCaching: "启用提示缓存", + enablePromptCachingTitle: "开启提示缓存可提升性能并节省成本", + cacheUsageNote: "提示:若未显示缓存使用情况,请切换模型后重新选择", + vscodeLmModel: "VSCode LM 模型", + vscodeLmWarning: + "注意:这是一个非常实验性的集成,提供商支持会有所不同。如果您收到有关不支持模型的错误,则这是提供商方面的问题。", + geminiParameters: { + urlContext: { + title: "启用 URL 上下文", + description: "让 Gemini 读取链接的页面以提取、比较和综合其内容,从而提供明智的答复。", + }, + groundingSearch: { + title: "启用 Google 搜索基础", + description: "将 Gemini 连接到实时网络数据,以获得包含可验证引用的准确、最新的答案。", + }, + }, + googleCloudSetup: { + title: "要使用 Google Cloud Vertex AI,您需要:", + step1: "1. 注册Google Cloud账号并启用Vertex AI API", + step2: "2. 安装配置Google Cloud CLI工具", + step3: "3. 创建服务账号获取凭证", + }, + googleCloudCredentials: "Google Cloud 凭证", + googleCloudKeyFile: "Google Cloud 密钥文件路径", + googleCloudProjectId: "Google Cloud 项目 ID", + googleCloudRegion: "Google Cloud 区域", + lmStudio: { + baseUrl: "基础 URL(可选)", + modelId: "模型 ID", + speculativeDecoding: "启用推测性解码", + draftModelId: "草稿模型 ID", + draftModelDesc: "草稿模型必须来自相同的模型系列,推测性解码才能正常工作。", + selectDraftModel: "选择草稿模型", + noModelsFound: "未找到草稿模型。请确保 LM Studio 已启用服务器模式运行。", + description: + "LM Studio 允许您在本地计算机上运行模型。要了解如何开始,请参阅他们的 <a>快速入门指南</a>。您还需要启动 LM Studio 的 <b>本地服务器</b> 功能,以便与此扩展一起使用。<span>注意:</span>Roo Code 使用复杂的提示,并且在 Claude 模型上效果最佳。功能较弱的模型可能无法正常工作。", + }, + ollama: { + baseUrl: "基础 URL(可选)", + modelId: "模型 ID", + description: "Ollama 允许您在本地计算机上运行模型。有关如何开始使用的说明,请参阅其快速入门指南。", + warning: "注意:Roo Code 使用复杂的提示,与 Claude 模型配合最佳。功能较弱的模型可能无法按预期工作。", + }, + unboundApiKey: "Unbound API 密钥", + getUnboundApiKey: "获取 Unbound API 密钥", + unboundRefreshModelsSuccess: "模型列表已更新!您现在可以从最新模型中选择。", + unboundInvalidApiKey: "无效的API密钥。请检查您的API密钥并重试。", + humanRelay: { + description: "不需要 API 密钥,但用户需要帮助将信息复制并粘贴到网页聊天 AI。", + instructions: + "使用期间,将弹出对话框并自动将当前消息复制到剪贴板。您需要将这些内容粘贴到 AI 的网页版本(如 ChatGPT 或 Claude),然后将 AI 的回复复制回对话框并点击确认按钮。", + }, + openRouter: { + providerRouting: { + title: "OpenRouter 提供商路由", + description: + "OpenRouter 将请求路由到适合您模型的最佳可用提供商。默认情况下,请求会在顶级提供商之间进行负载均衡以最大化正常运行时间。但是,您可以为此模型选择特定的提供商。", + learnMore: "了解更多", + }, + }, + customModel: { + capabilities: `自定义模型配置注意事项: +• 确保兼容OpenAI接口规范 +• 错误配置可能导致功能异常 +• 价格参数影响费用统计`, + maxTokens: { + label: "最大输出Token数", + description: "模型在响应中可以生成的最大Token数。(指定 -1 允许服务器设置最大Token数。)", + }, + contextWindow: { label: "上下文窗口大小", description: "模型可以处理的总Token数(输入 + 输出)。" }, + imageSupport: { label: "图像支持", description: "此模型是否能够处理和理解图像?" }, + computerUse: { + label: "计算机功能调用", + description: "此模型是否能够与浏览器交互?(例如 Claude 3.7 Sonnet)。", + }, + promptCache: { label: "提示缓存", description: "此模型是否能够缓存提示?" }, + pricing: { + input: { + label: "输入价格", + description: "输入/提示中每百万Token的成本。这会影响向模型发送上下文和指令的成本。", + }, + output: { + label: "输出价格", + description: "模型响应中每百万Token的成本。这会影响生成内容和补全的成本。", + }, + cacheReads: { + label: "缓存读取价格", + description: "从缓存读取每百万Token的成本。这是检索缓存响应时收取的费用。", + }, + cacheWrites: { + label: "缓存写入价格", + description: "向缓存写入每百万Token的成本。这是首次缓存提示时收取的费用。", + }, + }, + resetDefaults: "重置为默认值", + }, + rateLimitSeconds: { label: "API 请求频率限制", description: "设置API请求的最小间隔时间" }, + consecutiveMistakeLimit: { + label: "错误和重复限制", + description: "在显示“Roo遇到问题”对话框前允许的连续错误或重复操作次数", + unlimitedDescription: "已启用无限重试(自动继续)。对话框将永远不会出现。", + warning: "⚠️ 设置为 0 允许无限重试,这可能会消耗大量 API 使用量", + }, + reasoningEffort: { label: "模型推理强度", high: "高", medium: "中", low: "低" }, + setReasoningLevel: "启用推理工作量", + claudeCode: { + pathLabel: "Claude Code 路径", + description: "您的 Claude Code CLI 的可选路径。如果未设置,则默认为 “claude”。", + placeholder: "默认:claude", + maxTokensLabel: "最大输出 Token", + maxTokensDescription: "Claude Code 响应的最大输出 Token 数量。默认为 8000。", + }, + }, + M9e = { + enable: { + label: "启用浏览器工具", + description: "启用后,若模型支持计算机功能调用,Roo 可以使用浏览器与网站交互。 <0>了解更多</0>", + }, + viewport: { + label: "视口大小", + description: "选择浏览器交互的视口大小。这会影响网站的显示方式和交互方式。", + options: { + largeDesktop: "大桌面 (1280x800)", + smallDesktop: "小桌面 (900x600)", + tablet: "平板 (768x1024)", + mobile: "移动设备 (360x640)", + }, + }, + screenshotQuality: { + label: "截图质量", + description: "调整浏览器的截图质量。更高的值提供更清晰的截图,但会增加 token 消耗。", + }, + remote: { + label: "使用远程浏览器连接", + description: "连接到启用远程调试的 Chrome 浏览器 (--remote-debugging-port=9222)。", + urlPlaceholder: "自定义 URL(例如 http://localhost:9222)", + testButton: "测试连接", + testingButton: "测试中...", + instructions: + "输入 DevTools 协议主机地址或留空以自动发现本地 Chrome 实例。测试连接按钮将尝试使用自定义 URL(如果提供),或者如果字段为空则自动发现。", + }, + }, + j9e = { + enable: { label: "启用自动存档点", description: "开启后自动创建任务存档点,方便回溯修改。 <0>了解更多</0>" }, + }, + E9e = { + sound: { label: "启用声音通知", description: "启用后,Roo 将为通知和事件播放音效。", volumeLabel: "音量" }, + tts: { + label: "启用文本转语音", + description: "启用后,Roo 将使用文本转语音功能朗读其响应。", + speedLabel: "速度", + }, + }, + z9e = { + description: "管理AI上下文信息(影响token用量和回答质量)", + autoCondenseContextPercent: { + label: "触发智能上下文压缩的阈值", + description: "当上下文窗口达到此阈值时,Roo 将自动压缩它。", + }, + condensingApiConfiguration: { + label: "上下文压缩的API配置", + description: "选择用于上下文压缩操作的API配置。留空则使用当前活动的配置。", + useCurrentConfig: "使用当前配置", + }, + customCondensingPrompt: { + label: "自定义上下文压缩提示词", + description: "自定义用于上下文压缩的系统提示词。留空则使用默认提示词。", + placeholder: `在此输入您的自定义压缩提示词... + +您可以使用与默认提示词相同的结构: +- 之前的对话 +- 当前工作 +- 关键技术概念 +- 相关文件和代码 +- 问题解决 +- 待处理任务和下一步`, + reset: "重置为默认值", + hint: "留空 = 使用默认提示词", + }, + autoCondenseContext: { + name: "自动触发智能上下文压缩", + description: "启用时,Roo 将在达到阈值时自动压缩上下文。禁用时,您仍可以手动触发上下文压缩。", + }, + openTabs: { label: "标签页数量限制", description: "允许纳入上下文的最大标签页数(数值越大消耗token越多)" }, + workspaceFiles: { label: "工作区文件限制", description: "允许纳入上下文的最大文件数(值越大消耗token越多)" }, + rooignore: { + label: "在列表和搜索中显示 .rooignore 文件", + description: + "启用后,与 .rooignore 中模式匹配的文件将在列表中显示锁定符号。禁用时,这些文件将从文件列表和搜索中完全隐藏。", + }, + maxReadFile: { + label: "文件读取自动截断阈值", + description: + "自动读取文件行数设置:-1=完整读取 0=仅生成行号索引,较小值可节省token,支持后续使用行号进行读取。 <0>了解更多</0>", + lines: "行", + always_full_read: "始终读取整个文件", + }, + maxConcurrentFileReads: { + label: "并发文件读取限制", + description: + "read_file 工具可以同时处理的最大文件数。较高的值可能会加快读取多个小文件的速度,但会增加内存使用量。", + }, + diagnostics: { + includeMessages: { + label: "自动在上下文中包含诊断", + description: + "启用后,来自已编辑文件的诊断消息(错误)将自动包含在上下文中。您始终可以使用 @problems 手动包含所有工作区诊断。", + }, + maxMessages: { + label: "最大诊断消息数", + description: + "每个文件包含的最大诊断消息数。此限制适用于自动包含(启用复选框时)和手动 @problems 提及。较高的值提供更多上下文,但会增加令牌使用量。", + resetTooltip: "重置为默认值 (50)", + unlimited: "无限制诊断消息", + unlimitedLabel: "无限制", + }, + delayAfterWrite: { + label: "写入后延迟以允许诊断程序检测潜在问题", + description: "在继续之前写入文件后等待的时间,允许诊断工具处理更改并检测问题。", + }, + }, + condensingThreshold: { + label: "压缩触发阈值", + selectProfile: "配置配置文件阈值", + defaultProfile: "全局默认(所有配置文件)", + defaultDescription: "当上下文达到此百分比时,将自动为所有配置文件压缩,除非它们有自定义设置", + profileDescription: "仅此配置文件的自定义阈值(覆盖全局默认)", + inheritDescription: "此配置文件继承全局默认阈值({{threshold}}%)", + usesGlobal: "(使用全局 {{threshold}}%)", + }, + maxImageFileSize: { + label: "最大图像文件大小", + mb: "MB", + description: "read file工具可以处理的图像文件的最大大小(以MB为单位)。", + }, + maxTotalImageSize: { + label: "图片总大小上限", + mb: "MB", + description: + "单次 read_file 操作中处理的所有图片的最大累计大小限制(MB)。读取多张图片时,每张图片的大小会累加到总大小中。如果包含另一张图片会超过此限制,则会跳过该图片。", + }, + }, + $9e = { + basic: { label: "终端设置:基础", description: "基础终端设置" }, + advanced: { label: "终端设置:高级", description: "以下选项可能需要重启终端才能应用设置" }, + outputLineLimit: { + label: "终端输出限制", + description: "执行命令时在终端输出中包含的最大行数。超过时将从中间删除行,节省 token。 <0>了解更多</0>", + }, + outputCharacterLimit: { + label: "终端字符限制", + description: + "执行命令时在终端输出中包含的最大字符数。此限制优先于行数限制,以防止因行过长而导致的内存问题。超出后,输出将被截断。 <0>了解更多</0>", + }, + shellIntegrationTimeout: { + label: "终端初始化等待时间", + description: + '执行命令前等待 Shell 集成初始化的最长时间。对于 Shell 启动时间较长的用户,如果在终端中看到"Shell Integration Unavailable"错误,可能需要增加此值。 <0>了解更多</0>', + }, + shellIntegrationDisabled: { + label: "禁用终端 Shell 集成", + description: + "如果终端命令无法正常工作或看到 'Shell Integration Unavailable' 错误,请启用此项。这将使用更简单的方法运行命令,绕过一些高级终端功能。 <0>了解更多</0>", + }, + commandDelay: { + label: "终端命令延迟", + description: + "命令执行后添加的延迟时间(毫秒)。默认设置为 0 时完全禁用延迟。这可以帮助确保在有计时问题的终端中完全捕获命令输出。在大多数终端中,这是通过设置 `PROMPT_COMMAND='sleep N'` 实现的,而 PowerShell 会在每个命令末尾添加 `start-sleep`。最初是为了解决 VSCode 错误#237208,现在可能不再需要。 <0>了解更多</0>", + }, + compressProgressBar: { + label: "压缩进度条输出", + description: + "启用后,将处理包含回车符 (\\r) 的终端输出,模拟真实终端显示内容的方式。这会移除进度条的中间状态,只保留最终状态,为更重要的信息节省上下文空间。 <0>了解更多</0>", + }, + powershellCounter: { + label: "启用 PowerShell 计数器解决方案", + description: + "启用后,会在 PowerShell 命令中添加计数器以确保命令正确执行。这有助于解决可能存在输出捕获问题的 PowerShell 终端。 <0>了解更多</0>", + }, + zshClearEolMark: { + label: "清除 ZSH 行尾标记", + description: + "启用后,通过设置 PROMPT_EOL_MARK='' 清除 ZSH 行尾标记。这可以防止命令输出以特殊字符(如 '%')结尾时的解析问题。 <0>了解更多</0>", + }, + zshOhMy: { + label: "启用 Oh My Zsh 集成", + description: + "启用后,设置 ITERM_SHELL_INTEGRATION_INSTALLED=Yes 以启用 Oh My Zsh shell 集成功能。应用此设置可能需要重启 IDE。 <0>了解更多</0>", + }, + zshP10k: { + label: "启用 Powerlevel10k 集成", + description: + "启用后,设置 POWERLEVEL9K_TERM_SHELL_INTEGRATION=true 以启用 Powerlevel10k shell 集成功能。 <0>了解更多</0>", + }, + zdotdir: { + label: "启用 ZDOTDIR 处理", + description: + "启用后将创建临时目录用于 ZDOTDIR,以正确处理 zsh shell 集成。这确保 VSCode shell 集成能与 zsh 正常工作,同时保留您的 zsh 配置。 <0>了解更多</0>", + }, + inheritEnv: { + label: "继承环境变量", + description: + "启用后,终端将从 VSCode 父进程继承环境变量,如用户配置文件中定义的 shell 集成设置。这直接切换 VSCode 全局设置 `terminal.integrated.inheritEnv`。 <0>了解更多</0>", + }, + }, + L9e = { title: "高级设置" }, + D9e = { + diff: { + label: "启用diff更新", + description: + "启用后,Roo 将能够通过差异算法写入,避免模型输出完整文件,以降低Token消耗。与最新的 Claude 3.7 Sonnet 模型配合最佳。", + strategy: { + label: "Diff 策略", + options: { standard: "标准(单块)", multiBlock: "实验性:多块 diff", unified: "实验性:统一 diff" }, + descriptions: { + standard: "标准 diff 策略一次对一个代码块应用更改。", + unified: "统一 diff 策略采用多种方法应用差异并选择最佳方法。", + multiBlock: "多块 diff 策略允许在一个请求中更新文件中的多个代码块。", + }, + }, + matchPrecision: { + label: "匹配精度", + description: "控制代码匹配的精确程度。数值越低匹配越宽松(容错率高但风险大),建议保持100%以确保安全。", + }, + }, + todoList: { + label: "启用任务清单工具", + description: "启用后,Roo 可以创建和管理任务清单来跟踪任务进度。这有助于将复杂任务组织成可管理的步骤。", + }, + }, + N9e = { + DIFF_STRATEGY_UNIFIED: { + name: "启用diff更新工具", + description: + "可减少因模型错误导致的重复尝试,但可能引发意外操作。启用前请确保理解风险并会仔细检查所有修改。", + }, + SEARCH_AND_REPLACE: { + name: "启用搜索和替换工具", + description: "启用实验性搜索和替换工具,允许 Roo 在一个请求中替换搜索词的多个实例。", + }, + INSERT_BLOCK: { name: "启用插入内容工具", description: "允许 Roo 在特定行号插入内容,无需处理差异。" }, + POWER_STEERING: { + name: "启用增强导向模式", + description: + "开启后,Roo 将更频繁地向模型推送当前模式定义的详细信息,从而强化对角色设定和自定义指令的遵循力度。注意:此模式会提升每条消息的 token 消耗量。", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "允许批量搜索和替换", + description: "启用后,Roo 将尝试在一个请求中进行批量搜索和替换。", + }, + CONCURRENT_FILE_READS: { + name: "启用并发文件读取", + description: + "启用后,Roo 可以在单个请求中读取多个文件。禁用后,Roo 必须逐个读取文件。在使用能力较弱的模型或希望对文件访问有更多控制时,禁用此功能可能会有所帮助。", + }, + MARKETPLACE: { name: "启用 Marketplace", description: "启用后,你可以从 Marketplace 安装 MCP 和自定义模式。" }, + MULTI_FILE_APPLY_DIFF: { + name: "启用并发文件编辑", + description: + "启用后 Roo 可在单个请求中编辑多个文件。禁用后 Roo 必须逐个编辑文件。禁用此功能有助于使用能力较弱的模型或需要更精确控制文件修改时。", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "后台编辑", + description: + "启用后防止编辑器焦点干扰。文件编辑在后台进行,不会打开差异视图或抢夺焦点。你可以在 Roo 进行更改时继续不受干扰地工作。文件可以在不获取焦点的情况下打开以捕获诊断信息,或保持完全关闭状态。", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "使用新的消息解析器", + description: "启用实验性的流式消息解析器。通过更高效地处理消息,可显著提升长回复的性能。", + }, + }, + O9e = { label: "禁用提示词缓存", description: "选中后,Roo 将不会为此模型使用提示词缓存。" }, + F9e = { + useCustom: "使用自定义温度", + description: "控制模型响应的随机性", + rangeDescription: "值越高回答越多样,值越低越保守", + }, + B9e = { + supportsImages: "支持图像", + noImages: "不支持图像", + supportsComputerUse: "支持计算机功能调用", + noComputerUse: "不支持计算机功能调用", + supportsPromptCache: "支持提示缓存", + noPromptCache: "不支持提示缓存", + maxOutput: "最大输出", + inputPrice: "输入价格", + outputPrice: "输出价格", + cacheReadsPrice: "缓存读取价格", + cacheWritesPrice: "缓存写入价格", + enableStreaming: "启用流式传输", + enableR1Format: "启用 R1 模型参数", + enableR1FormatTips: "使用 QWQ 等 R1 系列模型时必须启用,避免出现 400 错误", + useAzure: "使用 Azure 服务", + azureApiVersion: "设置 Azure API 版本", + gemini: { + freeRequests: "* 每分钟免费 {{count}} 个请求。之后,计费取决于提示大小。", + pricingDetails: "有关更多信息,请参阅定价详情。", + billingEstimate: "* 计费为估计值 - 具体费用取决于提示大小。", + }, + }, + U9e = { + automaticFetch: + '自动获取 <serviceLink>{{serviceName}}</serviceLink> 上可用的最新模型列表。如果您不确定选择哪个模型,Roo Code 与 <defaultModelLink>{{defaultModelId}}</defaultModelLink> 配合最佳。您还可以搜索"free"以查找当前可用的免费选项。', + label: "模型", + searchPlaceholder: "搜索", + noMatchFound: "未找到匹配项", + useCustomModel: "使用自定义:{{modelId}}", + }, + q9e = { + feedback: + "如果您有任何问题或反馈,请随时在 <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> 上提出问题或加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink>", + telemetry: { + label: "允许匿名数据收集", + description: "匿名收集错误报告和使用数据(不含代码/提示/个人信息),详情见隐私政策", + }, + settings: { import: "导入", export: "导出", reset: "重置" }, + }, + W9e = { maxTokens: "最大Token数", maxThinkingTokens: "最大思考Token数" }, + K9e = { + apiKey: "您必须提供有效的 API 密钥。", + awsRegion: "您必须选择一个区域来使用 Amazon Bedrock。", + googleCloud: "您必须提供有效的 Google Cloud 项目 ID 和区域。", + modelId: "您必须提供有效的模型 ID。", + modelSelector: "您必须提供有效的模型选择器。", + openAi: "您必须提供有效的基础 URL、API 密钥和模型 ID。", + arn: { + invalidFormat: "ARN 格式无效。请检查格式要求。", + regionMismatch: + "警告:您的 ARN 中的区域 ({{arnRegion}}) 与您选择的区域 ({{region}}) 不匹配。这可能会导致访问问题。提供程序将使用 ARN 中的区域。", + }, + modelAvailability: "模型ID {{modelId}} 不可用,请重新选择", + providerNotAllowed: "提供商 '{{provider}}' 不允许用于您的组织", + modelNotAllowed: "模型 '{{model}}' 不允许用于提供商 '{{provider}}',您的组织不允许", + profileInvalid: "此配置文件包含您的组织不允许的提供商或模型", + }, + V9e = { + apiKey: "请输入 API 密钥...", + profileName: "请输入配置文件名称", + accessKey: "请输入访问密钥...", + secretKey: "请输入密钥...", + sessionToken: "请输入会话Token...", + credentialsJson: "请输入凭证 JSON...", + keyFilePath: "请输入密钥文件路径...", + projectId: "请输入项目 ID...", + customArn: "请输入 ARN(例:arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "请输入基础 URL...", + modelId: { + lmStudio: "例:meta-llama-3.1-8b-instruct", + lmStudioDraft: "例:lmstudio-community/llama-3.2-1b-instruct", + ollama: "例:llama3.1", + }, + numbers: { + maxTokens: "例:4096", + contextWindow: "例:128000", + inputPrice: "例:0.0001", + outputPrice: "例:0.0002", + cacheWritePrice: "例:0.00005", + }, + }, + H9e = { + ollamaUrl: "默认值:http://localhost:11434", + lmStudioUrl: "默认值:http://localhost:1234", + geminiUrl: "默认值:https://generativelanguage.googleapis.com", + }, + G9e = { customArn: "自定义 ARN", useCustomArn: "使用自定义 ARN..." }, + Q9e = "包含最大输出 Token 数", + Z9e = "在 API 请求中发送最大输出 Token 参数。某些提供商可能不支持此功能。", + Y9e = "限制响应中的最大 Token 数量", + X9e = "最大输出 Token 数", + J9e = "响应中生成的最大 Token 数", + Uxt = { + common: _9e, + header: C9e, + unsavedChangesDialog: S9e, + sections: A9e, + prompts: P9e, + codeIndex: R9e, + autoApprove: T9e, + providers: I9e, + browser: M9e, + checkpoints: j9e, + notifications: E9e, + contextManagement: z9e, + terminal: $9e, + advancedSettings: L9e, + advanced: D9e, + experimental: N9e, + promptCaching: O9e, + temperature: F9e, + modelInfo: B9e, + modelPicker: U9e, + footer: q9e, + thinkingBudget: W9e, + validation: K9e, + placeholders: V9e, + defaults: H9e, + labels: G9e, + includeMaxOutputTokens: Q9e, + includeMaxOutputTokensDescription: Z9e, + limitMaxTokensDescription: Y9e, + maxOutputTokensLabel: X9e, + maxTokensGenerateDescription: J9e, + }, + qxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: D9e, + advancedSettings: L9e, + autoApprove: T9e, + browser: M9e, + checkpoints: j9e, + codeIndex: R9e, + common: _9e, + contextManagement: z9e, + default: Uxt, + defaults: H9e, + experimental: N9e, + footer: q9e, + header: C9e, + includeMaxOutputTokens: Q9e, + includeMaxOutputTokensDescription: Z9e, + labels: G9e, + limitMaxTokensDescription: Y9e, + maxOutputTokensLabel: X9e, + maxTokensGenerateDescription: J9e, + modelInfo: B9e, + modelPicker: U9e, + notifications: E9e, + placeholders: V9e, + promptCaching: O9e, + prompts: P9e, + providers: I9e, + sections: A9e, + temperature: F9e, + terminal: $9e, + thinkingBudget: W9e, + unsavedChangesDialog: S9e, + validation: K9e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + e7e = "欢迎使用 Roo Code!", + t7e = + "通过一系列内置和可扩展的模式,Roo Code 让你能够以前所未有的方式进行规划、架构设计、编码、调试并提升工作效率。", + n7e = "请先配置大语言模型API提供商", + o7e = "开始吧!", + r7e = { + requesty: { description: "智能调度多个大语言模型", incentive: "$1 免费额度" }, + openrouter: { description: "统一了大语言模型的接口" }, + }, + i7e = "Roo 需要一个 API 密钥才能发挥魔力。", + s7e = "我们推荐使用 LLM 路由器:", + a7e = "或者你可以使用自己的 API 密钥:", + l7e = { + title: "帮助改进 Roo Code", + anonymousTelemetry: + "发送匿名的错误和使用数据,以帮助我们修复错误并改进扩展程序。不会涉及代码、提示词或个人隐私信息。", + changeSettings: "可以随时在<settingsLink>设置</settingsLink>页面底部更改此设置", + settings: "设置", + allow: "允许", + deny: "拒绝", + }, + c7e = "导入设置", + Wxt = { + greeting: e7e, + introduction: t7e, + notice: n7e, + start: o7e, + routers: r7e, + chooseProvider: i7e, + startRouter: s7e, + startCustom: a7e, + telemetry: l7e, + importSettings: c7e, + }, + Kxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: i7e, + default: Wxt, + greeting: e7e, + importSettings: c7e, + introduction: t7e, + notice: n7e, + routers: r7e, + start: o7e, + startCustom: a7e, + startRouter: s7e, + telemetry: l7e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + d7e = "帳戶", + u7e = "個人圖片", + p7e = "登出", + m7e = "測試 API 認證", + h7e = "連接到 Roo Code Cloud", + f7e = "連接", + g7e = "連接到 Roo Code Cloud", + v7e = "同步你的提示詞和遙測資料以啟用:", + b7e = "線上工作歷史", + y7e = "分享和協作功能", + k7e = "基於工作、Token 和成本的使用指標", + x7e = "使用 Roomote Control 隨時隨地追蹤和控制工作", + w7e = "Roomote Control", + _7e = "允許透過 Roo Code Cloud 追蹤和操作此工作區中的工作", + C7e = "造訪 Roo Code Cloud", + Vxt = { + title: d7e, + profilePicture: u7e, + logOut: p7e, + testApiAuthentication: m7e, + signIn: h7e, + connect: f7e, + cloudBenefitsTitle: g7e, + cloudBenefitsSubtitle: v7e, + cloudBenefitHistory: b7e, + cloudBenefitSharing: y7e, + cloudBenefitMetrics: k7e, + cloudBenefitWalkaway: x7e, + remoteControl: w7e, + remoteControlDescription: _7e, + visitCloudWebsite: C7e, + }, + Hxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cloudBenefitHistory: b7e, + cloudBenefitMetrics: k7e, + cloudBenefitSharing: y7e, + cloudBenefitWalkaway: x7e, + cloudBenefitsSubtitle: v7e, + cloudBenefitsTitle: g7e, + connect: f7e, + default: Vxt, + logOut: p7e, + profilePicture: u7e, + remoteControl: w7e, + remoteControlDescription: _7e, + signIn: h7e, + testApiAuthentication: m7e, + title: d7e, + visitCloudWebsite: C7e, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + S7e = "歡迎使用 Roo Code", + A7e = { + title: "工作", + seeMore: "顯示更多", + seeLess: "顯示較少", + tokens: "Tokens:", + cache: "快取:", + apiCost: "API 費用:", + contextWindow: "上下文長度:", + closeAndStart: "關閉現有工作並開始一項新的工作", + export: "匯出工作紀錄", + delete: "刪除工作(按住 Shift 並點選可跳過確認)", + condenseContext: "智慧壓縮上下文", + share: "分享工作", + shareWithOrganization: "與組織分享", + shareWithOrganizationDescription: "僅組織成員可存取", + sharePublicly: "公開分享", + sharePubliclyDescription: "任何擁有連結的人都可存取", + connectToCloud: "連接到雲端", + connectToCloudDescription: "登入 Roo Code Cloud 以分享工作", + sharingDisabledByOrganization: "組織已停用分享功能", + shareSuccessOrganization: "組織連結已複製到剪貼簿", + shareSuccessPublic: "公開連結已複製到剪貼簿", + }, + P7e = "取消置頂", + R7e = "置頂", + T7e = { + availableSpace: "可用空間:{{amount}} tokens", + tokensUsed: "已使用 tokens: {{used}} / {{total}}", + reservedForResponse: "為模型回應保留:{{amount}} tokens", + }, + I7e = { title: "重試", tooltip: "再次嘗試操作" }, + M7e = { title: "開始新工作", tooltip: "開始一項新工作" }, + j7e = { title: "仍要繼續", tooltip: "在命令執行時繼續" }, + E7e = { title: "儲存", tooltip: "儲存訊息變更" }, + z7e = { title: "拒絕", tooltip: "拒絕此操作" }, + $7e = "完成子工作並返回", + L7e = { title: "核准", tooltip: "核准此操作" }, + D7e = { title: "執行命令", tooltip: "執行此命令" }, + N7e = { title: "執行時繼續", tooltip: "儘管有警告仍繼續執行" }, + O7e = { title: "終止指令", tooltip: "終止目前的指令" }, + F7e = { title: "繼續工作", tooltip: "繼續目前的工作" }, + B7e = { title: "終止", tooltip: "結束目前的工作" }, + U7e = { title: "取消", tooltip: "取消目前操作" }, + q7e = "捲動至對話框底部", + W7e = "透過 AI 輔助產生、重構和偵錯程式碼。查看我們的 <DocsLink>說明文件</DocsLink> 以瞭解更多資訊。", + K7e = + "<strong>您在此工作區中的工作清單是空的。</strong> 請在下方輸入工作以開始。 不確定如何開始? 在 <DocsLink>說明文件</DocsLink> 中閱讀更多關於 Roo 能為您做什麼的資訊。", + V7e = { + boomerangTasks: { title: "任務編排", description: "將任務拆分為更小、更易於管理的部分。" }, + stickyModels: { title: "黏性模式", description: "每個模式都會記住您上次使用的模型" }, + tools: { title: "工具", description: "允許 AI 透過瀏覽網路、執行命令等方式解決問題。" }, + customizableModes: { title: "自訂模式", description: "具有專屬行為和指定模型的特定角色" }, + }, + H7e = "選擇互動模式", + G7e = "選取 API 設定", + Q7e = "使用額外內容增強提示", + Z7e = "新增圖片到訊息中", + Y7e = "傳送訊息", + X7e = "停止文字轉語音", + J7e = "輸入訊息...", + eQe = "在此處輸入您的工作...", + tQe = "輸入 @ 新增內容,輸入 / 執行指令", + nQe = "按住 Shift 鍵拖曳檔案", + oQe = "按住 Shift 鍵拖曳檔案/圖片", + rQe = + "「增強提示」按鈕透過提供額外內容、說明或重新表述來幫助改進您的請求。嘗試在此處輸入請求,然後再次點選按鈕以了解其運作方式。", + iQe = { + title: "模式", + marketplace: "模式市集", + settings: "模式設定", + description: "專門定制Roo行為的角色。", + searchPlaceholder: "搜尋模式...", + noResults: "沒有找到結果", + }, + sQe = "讀取檔案時發生錯誤:", + aQe = "未處理到任何有效圖片", + lQe = "分隔符號", + cQe = "編輯...", + dQe = "用於下一個模式", + uQe = "用於上一個模式", + pQe = "錯誤", + mQe = { title: "編輯失敗" }, + hQe = "Roo 遇到問題...", + fQe = { + title: "API 請求", + failed: "API 請求失敗", + streaming: "正在處理 API 請求...", + cancelled: "API 請求已取消", + streamingFailed: "API 串流處理失敗", + }, + gQe = { + regular: "檢查點", + initializingWarning: + "正在初始化檢查點...如果耗時過長,你可以在<settingsLink>設定</settingsLink>中停用檢查點並重新啟動任務。", + menu: { + viewDiff: "檢視差異", + restore: "還原檢查點", + restoreFiles: "還原檔案", + restoreFilesDescription: "將您的專案檔案還原到此時的快照。", + restoreFilesAndTask: "還原檔案和工作", + confirm: "確認", + cancel: "取消", + cannotUndo: "此操作無法復原。", + restoreFilesAndTaskDescription: "將您的專案檔案還原到此時的快照,並刪除此點之後的所有訊息。", + }, + current: "目前", + }, + vQe = { wantsToFetch: "Roo 想要取得詳細指示以協助目前任務" }, + bQe = { + wantsToRead: "Roo 想要讀取此檔案:", + wantsToReadOutsideWorkspace: "Roo 想要讀取此工作區外的檔案:", + didRead: "Roo 已讀取此檔案:", + wantsToEdit: "Roo 想要編輯此檔案:", + wantsToEditOutsideWorkspace: "Roo 想要編輯此工作區外的檔案:", + wantsToEditProtected: "Roo 想要編輯受保護的設定檔案:", + wantsToCreate: "Roo 想要建立新檔案:", + wantsToSearchReplace: "Roo 想要在此檔案中搜尋和取代:", + didSearchReplace: "Roo 已在此檔案執行搜尋和取代:", + wantsToInsert: "Roo 想要在此檔案中插入內容:", + wantsToInsertWithLineNumber: "Roo 想要在此檔案第 {{lineNumber}} 行插入內容:", + wantsToInsertAtEnd: "Roo 想要在此檔案末尾新增內容:", + wantsToReadAndXMore: "Roo 想要讀取此檔案以及另外 {{count}} 個檔案:", + wantsToReadMultiple: "Roo 想要讀取多個檔案:", + wantsToApplyBatchChanges: "Roo 想要對多個檔案套用變更:", + }, + yQe = { + wantsToViewTopLevel: "Roo 想要檢視此目錄中最上層的檔案:", + didViewTopLevel: "Roo 已檢視此目錄中最上層的檔案:", + wantsToViewRecursive: "Roo 想要遞迴檢視此目錄中的所有檔案:", + didViewRecursive: "Roo 已遞迴檢視此目錄中的所有檔案:", + wantsToViewDefinitions: "Roo 想要檢視此目錄中使用的原始碼定義名稱:", + didViewDefinitions: "Roo 已檢視此目錄中使用的原始碼定義名稱:", + wantsToSearch: "Roo 想要在此目錄中搜尋 <code>{{regex}}</code>:", + didSearch: "Roo 已在此目錄中搜尋 <code>{{regex}}</code>:", + wantsToSearchOutsideWorkspace: "Roo 想要在此目錄(工作區外)中搜尋 <code>{{regex}}</code>:", + didSearchOutsideWorkspace: "Roo 已在此目錄(工作區外)中搜尋 <code>{{regex}}</code>:", + wantsToViewTopLevelOutsideWorkspace: "Roo 想要檢視此目錄(工作區外)中最上層的檔案:", + didViewTopLevelOutsideWorkspace: "Roo 已檢視此目錄(工作區外)中最上層的檔案:", + wantsToViewRecursiveOutsideWorkspace: "Roo 想要遞迴檢視此目錄(工作區外)中的所有檔案:", + didViewRecursiveOutsideWorkspace: "Roo 已遞迴檢視此目錄(工作區外)中的所有檔案:", + wantsToViewDefinitionsOutsideWorkspace: "Roo 想要檢視此目錄(工作區外)中使用的原始碼定義名稱:", + didViewDefinitionsOutsideWorkspace: "Roo 已檢視此目錄(工作區外)中使用的原始碼定義名稱:", + }, + kQe = "命令輸出", + xQe = { + running: "正在執行", + pid: "PID: {{pid}}", + exited: "已退出 ({{exitCode}})", + manageCommands: "管理命令權限", + commandManagementDescription: + "管理命令權限:點擊 ✓ 允許自動執行,點擊 ✗ 拒絕執行。可以開啟/關閉模式或從清單中刪除。<settingsLink>檢視所有設定</settingsLink>", + addToAllowed: "新增至允許清單", + removeFromAllowed: "從允許清單中移除", + addToDenied: "新增至拒絕清單", + removeFromDenied: "從拒絕清單中移除", + abortCommand: "中止命令執行", + expandOutput: "展開輸出", + collapseOutput: "折疊輸出", + expandManagement: "展開命令管理部分", + collapseManagement: "折疊命令管理部分", + }, + wQe = "回應", + _Qe = { + wantsToUseTool: "Roo 想要在 {{serverName}} MCP 伺服器上使用工具:", + wantsToAccessResource: "Roo 想要存取 {{serverName}} MCP 伺服器上的資源:", + }, + CQe = { + wantsToSwitch: "Roo 想要切換至 <code>{{mode}}</code> 模式", + wantsToSwitchWithReason: "Roo 想要切換至 <code>{{mode}}</code> 模式,原因:{{reason}}", + didSwitch: "Roo 已切換至 <code>{{mode}}</code> 模式", + didSwitchWithReason: "Roo 已切換至 <code>{{mode}}</code> 模式,原因:{{reason}}", + }, + SQe = { + wantsToCreate: "Roo 想要在 <code>{{mode}}</code> 模式下建立新的子工作:", + wantsToFinish: "Roo 想要完成此子工作", + newTaskContent: "子工作指示", + completionContent: "子工作已完成", + resultContent: "子工作結果", + defaultResult: "請繼續下一個工作。", + completionInstructions: + "子工作已完成!您可以檢閱結果並提出修正或下一步建議。如果一切看起來良好,請確認以將結果傳回主工作。", + }, + AQe = { hasQuestion: "Roo 有一個問題:" }, + PQe = "工作完成", + RQe = { issues: "看起來您遇到了 Windows PowerShell 的問題,請參考此處" }, + TQe = { + title: "自動核准:", + none: "無", + description: + "自動核准讓 Roo Code 可以在無需徵求您同意的情況下執行動作。請僅對您完全信任的動作啟用此功能。您可以在<settingsLink>設定</settingsLink>中進行更詳細的調整。", + selectOptionsFirst: "請至少選擇以下一個選項以啟用自動核准", + toggleAriaLabel: "切換自動核准", + disabledAriaLabel: "自動核准已停用 - 請先選取選項", + }, + IQe = { thinking: "思考中", seconds: "{{count}}秒" }, + MQe = { title: "上下文已壓縮", condensing: "正在壓縮上下文...", errorHeader: "上下文壓縮失敗", tokens: "tokens" }, + jQe = { + copyToInput: "複製到輸入框(或按住 Shift 並點選)", + autoSelectCountdown: "{{count}}秒後自動選擇", + countdownDisplay: "{{count}}秒", + }, + EQe = { + title: "🎉 Roo Code {{version}} 已發布", + description: "Roo Code {{version}} 帶來強大的新功能和重大改進,提升您的開發工作流程。", + whatsNew: "新功能", + feature1: "<bold>訊息佇列</bold>:在 Roo 工作時將多個訊息排入佇列,讓您可以不間斷地繼續規劃工作流程。", + feature2: "<bold>自訂斜線命令</bold>:建立個人化斜線命令,快速存取常用提示和工作流程,具備完整的 UI 管理功能。", + feature3: + "<bold>增強的 Gemini 工具</bold>:新的 URL 上下文和 Google 搜尋基礎功能為 Gemini 模型提供即時網路資訊和增強的研究能力。", + hideButton: "隱藏公告", + detailsDiscussLinks: + "在 <discordLink>Discord</discordLink> 和 <redditLink>Reddit</redditLink> 取得更多詳細資訊並參與討論 🚀", + }, + zQe = { + rooWantsToUse: "Roo 想要使用瀏覽器:", + consoleLogs: "主控台記錄", + noNewLogs: "(沒有新記錄)", + screenshot: "瀏覽器螢幕擷圖", + cursor: "游標", + navigation: { step: "步驟 {{current}} / {{total}}", previous: "上一步", next: "下一步" }, + sessionStarted: "瀏覽器工作階段已啟動", + actions: { + title: "瀏覽器動作:", + launch: "在 {{url}} 啟動瀏覽器", + click: "點選 ({{coordinate}})", + type: "輸入「{{text}}」", + scrollDown: "向下捲動", + scrollUp: "向上捲動", + close: "關閉瀏覽器", + }, + }, + $Qe = { + tooltips: { + expand: "展開程式碼區塊", + collapse: "摺疊程式碼區塊", + enable_wrap: "啟用自動換行", + disable_wrap: "停用自動換行", + copy_code: "複製程式碼", + }, + }, + LQe = "警告:自訂系統提示詞覆蓋已啟用。這可能嚴重破壞功能並導致不可預測的行為。", + DQe = "目前設定檔與您的組織設定不相容", + NQe = { + title: "命令執行警告", + description: + "您的命令正在沒有 VSCode 終端機 shell 整合的情況下執行。要隱藏此警告,您可以在 <settingsLink>Roo Code 設定</settingsLink>的 <strong>Terminal</strong> 部分停用 shell 整合,或使用下方連結排查 VSCode 終端機整合問題。", + troubleshooting: "點擊此處查看 shell 整合文件。", + }, + OQe = { + autoApprovedRequestLimitReached: { + title: "已達自動核准請求限制", + description: "Roo 已達到 {{count}} 次 API 請求的自動核准限制。您想要重設計數並繼續工作嗎?", + button: "重設並繼續", + }, + autoApprovedCostLimitReached: { + title: "已达到自动批准成本上限", + button: "重置并继续", + description: "Roo已达到自动批准的成本限制${{count}}。您想要重置成本并继续任务吗?", + }, + }, + FQe = { + wantsToSearch: "Roo 想要搜尋程式碼庫:<code>{{query}}</code>", + wantsToSearchWithPath: "Roo 想要在 <code>{{path}}</code> 中搜尋:<code>{{query}}</code>", + didSearch_one: "找到 1 個結果", + didSearch_other: "找到 {{count}} 個結果", + resultTooltip: "相似度評分:{{score}} (點擊開啟檔案)", + }, + BQe = { + ready: "索引就緒", + indexing: "索引中 {{percentage}}%", + indexed: "已索引", + error: "索引錯誤", + status: "索引狀態", + }, + UQe = { ariaLabel: "版本 {{version}} - 點擊查看發布說明" }, + qQe = { + title: "Roo Code Cloud 即將推出!", + description: "在雲端執行遠端代理,隨時隨地存取您的工作,與他人協作等更多功能。", + joinWaitlist: "加入等候名單以獲得早期存取權限。", + }, + WQe = { placeholder: "編輯訊息..." }, + KQe = { triggerDescription: "觸發 {{name}} 命令" }, + VQe = { + tooltip: "管理斜線指令", + title: "斜線指令", + description: "建立自訂斜線指令,快速存取常用提示詞和工作流程。<DocsLink>說明文件</DocsLink>", + globalCommands: "全域指令", + workspaceCommands: "工作區指令", + globalCommand: "全域指令", + editCommand: "編輯指令", + deleteCommand: "刪除指令", + newGlobalCommandPlaceholder: "新增全域指令...", + newWorkspaceCommandPlaceholder: "新增工作區指令...", + deleteDialog: { + title: "刪除指令", + description: '確定要刪除指令 "{{name}}" 嗎?此動作無法復原。', + cancel: "取消", + confirm: "刪除", + }, + }, + HQe = { title: "佇列訊息:", clickToEdit: "點擊編輯訊息" }, + Gxt = { + greeting: S7e, + task: A7e, + unpin: P7e, + pin: R7e, + tokenProgress: T7e, + retry: I7e, + startNewTask: M7e, + proceedAnyways: j7e, + save: E7e, + reject: z7e, + completeSubtaskAndReturn: $7e, + approve: L7e, + runCommand: D7e, + proceedWhileRunning: N7e, + killCommand: O7e, + resumeTask: F7e, + terminate: B7e, + cancel: U7e, + scrollToBottom: q7e, + about: W7e, + onboarding: K7e, + rooTips: V7e, + selectMode: H7e, + selectApiConfig: G7e, + enhancePrompt: Q7e, + addImages: Z7e, + sendMessage: Y7e, + stopTts: X7e, + typeMessage: J7e, + typeTask: eQe, + addContext: tQe, + dragFiles: nQe, + dragFilesImages: oQe, + enhancePromptDescription: rQe, + modeSelector: iQe, + errorReadingFile: sQe, + noValidImages: aQe, + separator: lQe, + edit: cQe, + forNextMode: dQe, + forPreviousMode: uQe, + error: pQe, + diffError: mQe, + troubleMessage: hQe, + apiRequest: fQe, + checkpoint: gQe, + instructions: vQe, + fileOperations: bQe, + directoryOperations: yQe, + commandOutput: kQe, + commandExecution: xQe, + response: wQe, + arguments: "參數", + mcp: _Qe, + modes: CQe, + subtasks: SQe, + questions: AQe, + taskCompleted: PQe, + powershell: RQe, + autoApprove: TQe, + reasoning: IQe, + contextCondense: MQe, + followUpSuggest: jQe, + announcement: EQe, + browser: zQe, + codeblock: $Qe, + systemPromptWarning: LQe, + profileViolationWarning: DQe, + shellIntegration: NQe, + ask: OQe, + codebaseSearch: FQe, + "read-batch": { approve: { title: "全部核准" }, deny: { title: "全部拒絕" } }, + indexingStatus: BQe, + versionIndicator: UQe, + rooCloudCTA: qQe, + editMessage: WQe, + command: KQe, + slashCommands: VQe, + queuedMessages: HQe, + }, + Qxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + about: W7e, + addContext: tQe, + addImages: Z7e, + announcement: EQe, + apiRequest: fQe, + approve: L7e, + ask: OQe, + autoApprove: TQe, + browser: zQe, + cancel: U7e, + checkpoint: gQe, + codebaseSearch: FQe, + codeblock: $Qe, + command: KQe, + commandExecution: xQe, + commandOutput: kQe, + completeSubtaskAndReturn: $7e, + contextCondense: MQe, + default: Gxt, + diffError: mQe, + directoryOperations: yQe, + dragFiles: nQe, + dragFilesImages: oQe, + edit: cQe, + editMessage: WQe, + enhancePrompt: Q7e, + enhancePromptDescription: rQe, + error: pQe, + errorReadingFile: sQe, + fileOperations: bQe, + followUpSuggest: jQe, + forNextMode: dQe, + forPreviousMode: uQe, + greeting: S7e, + indexingStatus: BQe, + instructions: vQe, + killCommand: O7e, + mcp: _Qe, + modeSelector: iQe, + modes: CQe, + noValidImages: aQe, + onboarding: K7e, + pin: R7e, + powershell: RQe, + proceedAnyways: j7e, + proceedWhileRunning: N7e, + profileViolationWarning: DQe, + questions: AQe, + queuedMessages: HQe, + reasoning: IQe, + reject: z7e, + response: wQe, + resumeTask: F7e, + retry: I7e, + rooCloudCTA: qQe, + rooTips: V7e, + runCommand: D7e, + save: E7e, + scrollToBottom: q7e, + selectApiConfig: G7e, + selectMode: H7e, + sendMessage: Y7e, + separator: lQe, + shellIntegration: NQe, + slashCommands: VQe, + startNewTask: M7e, + stopTts: X7e, + subtasks: SQe, + systemPromptWarning: LQe, + task: A7e, + taskCompleted: PQe, + terminate: B7e, + tokenProgress: T7e, + troubleMessage: hQe, + typeMessage: J7e, + typeTask: eQe, + unpin: P7e, + versionIndicator: UQe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + GQe = { + title: "發生錯誤", + reportText: "請幫助我們改進,在以下位置回報此錯誤", + githubText: "我們的 GitHub Issues 頁面", + copyInstructions: "複製並貼上以下錯誤訊息,將其作為提交內容的一部分:", + errorStack: "錯誤堆疊:", + componentStack: "元件堆疊:", + }, + QQe = { yes: "是", no: "否", cancel: "取消", remove: "移除", keep: "保留" }, + ZQe = { thousand_suffix: "k", million_suffix: "m", billion_suffix: "b" }, + YQe = { search_placeholder: "搜尋...", no_results: "找不到結果" }, + XQe = { + loading: "產生 Mermaid 圖表中...", + render_error: "無法渲染圖表", + buttons: { + zoom: "縮放", + zoomIn: "放大", + zoomOut: "縮小", + copy: "複製", + save: "儲存圖片", + viewCode: "檢視程式碼", + viewDiagram: "檢視圖表", + close: "關閉", + }, + modal: { codeTitle: "Mermaid 程式碼" }, + tabs: { diagram: "圖表", code: "程式碼" }, + feedback: { imageCopied: "圖片已複製到剪貼簿", copyError: "複製圖片時發生錯誤" }, + }, + JQe = { + errors: { + invalidDataUri: "無效的資料 URI 格式", + copyingImage: "複製圖片時發生錯誤: {{error}}", + openingImage: "開啟圖片時發生錯誤: {{error}}", + pathNotExists: "路徑不存在: {{path}}", + couldNotOpen: "無法開啟檔案: {{error}}", + couldNotOpenGeneric: "無法開啟檔案!", + }, + success: { imageDataUriCopied: "圖片資料 URI 已複製到剪貼簿" }, + }, + eZe = { + deleteMessage: "刪除訊息", + deleteWarning: "刪除此訊息將刪除對話中的所有後續訊息。是否繼續?", + editMessage: "編輯訊息", + editWarning: "編輯此訊息將刪除對話中的所有後續訊息。是否繼續?", + proceed: "繼續", + }, + Zxt = { errorBoundary: GQe, answers: QQe, number_format: ZQe, ui: YQe, mermaid: XQe, file: JQe, confirmation: eZe }, + Yxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + answers: QQe, + confirmation: eZe, + default: Zxt, + errorBoundary: GQe, + file: JQe, + mermaid: XQe, + number_format: ZQe, + ui: YQe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + tZe = "最近工作", + nZe = "歷史記錄", + oZe = "離開選擇模式", + rZe = "進入選擇模式", + iZe = "完成", + sZe = "模糊搜尋歷史記錄...", + aZe = "最新", + lZe = "最舊", + cZe = "費用最高", + dZe = "最多 Token", + uZe = "最相關", + pZe = "刪除工作(按住 Shift 並點選可跳過確認)", + mZe = "複製提示詞", + hZe = "匯出工作", + fZe = "刪除工作", + gZe = "確定要刪除此工作嗎?此操作無法復原。", + vZe = "取消", + bZe = "結束選擇", + yZe = "選擇模式", + kZe = "取消全選", + xZe = "全選", + wZe = "已選擇 {{selected}}/{{total}} 個項目", + _Ze = "清除選擇", + CZe = "刪除所選項目", + SZe = "刪除工作", + AZe = "確定要刪除 {{count}} 個工作嗎?", + PZe = "已刪除的工作無法還原。請確認是否要繼續。", + RZe = "刪除 {{count}} 個項目", + TZe = { prefix: "工作區:", current: "目前", all: "所有" }, + IZe = { + prefix: "排序:", + newest: "最新", + oldest: "最舊", + mostExpensive: "費用最高", + mostTokens: "最多 Token", + mostRelevant: "最相關", + }, + MZe = "檢視所有工作", + Xxt = { + recentTasks: tZe, + history: nZe, + exitSelectionMode: oZe, + enterSelectionMode: rZe, + done: iZe, + searchPlaceholder: sZe, + newest: aZe, + oldest: lZe, + mostExpensive: cZe, + mostTokens: dZe, + mostRelevant: uZe, + deleteTaskTitle: pZe, + copyPrompt: mZe, + exportTask: hZe, + deleteTask: fZe, + deleteTaskMessage: gZe, + cancel: vZe, + delete: "刪除", + exitSelection: bZe, + selectionMode: yZe, + deselectAll: kZe, + selectAll: xZe, + selectedItems: wZe, + clearSelection: _Ze, + deleteSelected: CZe, + deleteTasks: SZe, + confirmDeleteTasks: AZe, + deleteTasksWarning: PZe, + deleteItems: RZe, + workspace: TZe, + sort: IZe, + viewAllHistory: MZe, + }, + Jxt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + cancel: vZe, + clearSelection: _Ze, + confirmDeleteTasks: AZe, + copyPrompt: mZe, + default: Xxt, + deleteItems: RZe, + deleteSelected: CZe, + deleteTask: fZe, + deleteTaskMessage: gZe, + deleteTaskTitle: pZe, + deleteTasks: SZe, + deleteTasksWarning: PZe, + deselectAll: kZe, + done: iZe, + enterSelectionMode: rZe, + exitSelection: bZe, + exitSelectionMode: oZe, + exportTask: hZe, + history: nZe, + mostExpensive: cZe, + mostRelevant: uZe, + mostTokens: dZe, + newest: aZe, + oldest: lZe, + recentTasks: tZe, + searchPlaceholder: sZe, + selectAll: xZe, + selectedItems: wZe, + selectionMode: yZe, + sort: IZe, + viewAllHistory: MZe, + workspace: TZe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + jZe = "人工中繼 - 請協助複製貼上訊息", + EZe = "請將以下提示詞複製到網頁 AI,然後將 AI 的回覆貼上到下方的輸入框中。", + zZe = "已複製到剪貼簿", + $Ze = { label: "請輸入 AI 的回覆:", placeholder: "在此貼上 AI 的回覆..." }, + LZe = { cancel: "取消", submit: "提交" }, + ewt = { dialogTitle: jZe, dialogDescription: EZe, copiedToClipboard: zZe, aiResponse: $Ze, actions: LZe }, + twt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + actions: LZe, + aiResponse: $Ze, + copiedToClipboard: zZe, + default: ewt, + dialogDescription: EZe, + dialogTitle: jZe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + DZe = "Roo Marketplace", + NZe = { installed: "已安裝", settings: "設定", browse: "瀏覽" }, + OZe = "完成", + FZe = "重新整理", + BZe = { + search: { + placeholder: "搜尋 Marketplace 項目...", + placeholderMcp: "搜尋 MCP...", + placeholderMode: "搜尋模式...", + }, + type: { label: "依類型篩選:", all: "所有類型", mode: "模式", mcpServer: "MCP 伺服器" }, + sort: { label: "排序方式:", name: "名稱", author: "作者", lastUpdated: "最後更新" }, + tags: { + label: "依標籤篩選:", + clear: "清除標籤", + placeholder: "輸入以搜尋和選擇標籤...", + noResults: "找不到符合的標籤", + selected: "顯示包含任何選定標籤的項目", + clickToFilter: "點擊標籤以篩選項目", + }, + none: "無", + }, + UZe = { organizationMcps: "{{organization}} MCPs", marketplace: "Marketplace" }, + qZe = { + empty: { + noItems: "找不到 Marketplace 項目", + withFilters: "嘗試調整您的篩選條件", + noSources: "嘗試在來源標籤頁中新增來源", + adjustFilters: "嘗試調整您的篩選條件或搜尋詞", + clearAllFilters: "清除所有篩選條件", + }, + count: "找到 {{count}} 個項目", + components: "{{count}} 個元件", + matched: "{{count}} 個符合", + refresh: { button: "重新整理", refreshing: "重新整理中...", mayTakeMoment: "這可能需要一些時間。" }, + card: { + by: "作者:{{author}}", + from: "來源:{{source}}", + install: "安裝", + installProject: "安裝", + installGlobal: "安裝(全域)", + remove: "移除", + removeProject: "移除", + removeGlobal: "移除(全域)", + viewSource: "檢視", + viewOnSource: "在 {{source}} 上檢視", + noWorkspaceTooltip: "開啟工作區以安裝 Marketplace 項目", + installed: "已安裝", + removeProjectTooltip: "從目前專案中移除", + removeGlobalTooltip: "從全域設定中移除", + actionsMenuLabel: "更多動作", + }, + removeFailed: "移除物品失敗: {{error}}", + unknownError: "發生未知錯誤", + }, + WZe = { + title: "安裝 {{name}}", + titleMode: "安裝 {{name}} 模式", + titleMcp: "安裝 {{name}} MCP", + scope: "安裝範圍", + project: "專案(目前工作區)", + global: "全域(所有工作區)", + method: "安裝方法", + configuration: "設定", + configurationDescription: "設定此 MCP 伺服器所需的參數", + button: "安裝", + successTitle: "{{name}} 已安裝", + successDescription: "安裝成功完成", + installed: "安裝成功!", + whatNextMcp: "現在您可以設定和使用此 MCP 伺服器。點擊側邊欄中的 MCP 圖示以切換標籤頁。", + whatNextMode: "現在您可以使用此模式。點擊側邊欄中的模式圖示以切換標籤頁。", + done: "完成", + goToMcp: "前往 MCP 標籤頁", + goToModes: "前往模式設定", + moreInfoMcp: "檢視 {{name}} MCP 文件", + validationRequired: "請為 {{paramName}} 提供值", + prerequisites: "前置條件", + }, + KZe = { + title: "設定 Marketplace 來源", + description: "新增包含 Marketplace 項目的 Git 儲存庫。瀏覽 Marketplace 時將會擷取這些儲存庫。", + add: { + title: "新增來源", + urlPlaceholder: "Git 儲存庫 URL(例如:https://github.com/username/repo)", + urlFormats: + "支援的格式:HTTPS(https://github.com/username/repo)、SSH(git@github.com:username/repo.git)或 Git 協定(git://github.com/username/repo.git)", + namePlaceholder: "顯示名稱(最多 20 個字元)", + button: "新增來源", + }, + current: { + title: "目前來源", + empty: "尚未設定來源。新增來源以開始使用。", + refresh: "重新整理此來源", + remove: "移除來源", + }, + errors: { + emptyUrl: "URL 不能為空", + invalidUrl: "無效的 URL 格式", + nonVisibleChars: "URL 包含除空格外的不可見字元", + invalidGitUrl: "URL 必須是有效的 Git 儲存庫 URL(例如:https://github.com/username/repo)", + duplicateUrl: "此 URL 已在清單中(不區分大小寫和空格的比對)", + nameTooLong: "名稱必須為 20 個字元或更少", + nonVisibleCharsName: "名稱包含除空格外的不可見字元", + duplicateName: "此名稱已被使用(不區分大小寫和空格的比對)", + emojiName: "表情符號字元可能導致顯示問題", + maxSources: "最多允許 {{max}} 個來源", + }, + }, + VZe = { + mode: { + title: "移除模式", + message: "您確定要移除「{{modeName}}」模式嗎?", + rulesWarning: "這也會移除此模式的任何相關規則檔案。", + }, + mcp: { title: "移除 MCP 伺服器", message: "您確定要移除 MCP 伺服器「{{mcpName}}」嗎?" }, + cancel: "取消", + confirm: "移除", + }, + HZe = { issueText: "發現 marketplace 項目問題或有新項目建議?<0>在 GitHub 開啟 issue</0> 告訴我們!" }, + nwt = { + title: DZe, + tabs: NZe, + done: OZe, + refresh: FZe, + filters: BZe, + sections: UZe, + "type-group": { modes: "模式", mcps: "MCP 伺服器" }, + items: qZe, + install: WZe, + sources: KZe, + removeConfirm: VZe, + footer: HZe, + }, + owt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: nwt, + done: OZe, + filters: BZe, + footer: HZe, + install: WZe, + items: qZe, + refresh: FZe, + removeConfirm: VZe, + sections: UZe, + sources: KZe, + tabs: NZe, + title: DZe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + GZe = "MCP 伺服器", + QZe = "完成", + ZZe = "MCP 市集", + YZe = + "<0>Model Context Protocol</0> 能與本機執行的 MCP 伺服器通訊,提供額外的工具和資源來擴展 Roo 的功能。您可以使用<1>社群開發的伺服器</1>,或請 Roo 為您的工作流程建立新工具(例如「新增一個取得最新 npm 文件的工具」)。", + XZe = "使用說明", + JZe = { + title: "啟用 MCP 伺服器", + description: "開啟後 Roo 可用已連接 MCP 伺服器的工具,能力更強。不用這些工具時建議關閉,節省 API Token 費用。", + }, + eYe = { + title: "啟用 MCP 伺服器建立", + description: "開啟後 Roo 可協助你建立<1>新</1>自訂 MCP 伺服器。<0>了解伺服器建立</0>", + hint: "提示:不需要 Roo 建立新 MCP 伺服器時建議關閉,減少 API Token 費用。", + }, + tYe = "編輯全域 MCP", + nYe = "編輯專案 MCP", + oYe = "了解如何編輯 MCP 設定檔", + rYe = { + alwaysAllow: "總是允許", + parameters: "參數", + noDescription: "無說明", + togglePromptInclusion: "切換在提示中的包含", + }, + iYe = { tools: "工具", resources: "資源", errors: "錯誤" }, + sYe = { noTools: "找不到工具", noResources: "找不到資源", noErrors: "找不到錯誤" }, + aYe = { + label: "網路逾時", + description: "伺服器回應最大等待時間", + options: { + "15seconds": "15 秒", + "30seconds": "30 秒", + "1minute": "1 分鐘", + "5minutes": "5 分鐘", + "10minutes": "10 分鐘", + "15minutes": "15 分鐘", + "30minutes": "30 分鐘", + "60minutes": "60 分鐘", + }, + }, + lYe = { + title: "刪除 MCP 伺服器", + description: "你確定要刪除 MCP 伺服器「{{serverName}}」嗎?此操作無法復原。", + cancel: "取消", + delete: "刪除", + }, + cYe = { retrying: "重試中...", retryConnection: "重試連線" }, + dYe = "重新整理 MCP 伺服器", + uYe = { running: "執行中", completed: "已完成", error: "錯誤" }, + rwt = { + title: GZe, + done: QZe, + marketplace: ZZe, + description: YZe, + instructions: XZe, + enableToggle: JZe, + enableServerCreation: eYe, + editGlobalMCP: tYe, + editProjectMCP: nYe, + learnMoreEditingSettings: oYe, + tool: rYe, + tabs: iYe, + emptyState: sYe, + networkTimeout: aYe, + deleteDialog: lYe, + serverStatus: cYe, + refreshMCP: dYe, + execution: uYe, + }, + iwt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + default: rwt, + deleteDialog: lYe, + description: YZe, + done: QZe, + editGlobalMCP: tYe, + editProjectMCP: nYe, + emptyState: sYe, + enableServerCreation: eYe, + enableToggle: JZe, + execution: uYe, + instructions: XZe, + learnMoreEditingSettings: oYe, + marketplace: ZZe, + networkTimeout: aYe, + refreshMCP: dYe, + serverStatus: cYe, + tabs: iYe, + title: GZe, + tool: rYe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + pYe = "模式", + mYe = "完成", + hYe = { + title: "模式", + createNewMode: "建立新模式", + importMode: "匯入模式", + noMatchFound: "找不到任何模式", + editModesConfig: "編輯模式設定", + editGlobalModes: "編輯全域模式", + editProjectModes: "編輯專案模式 (.roomodes)", + createModeHelpText: "模式是 Roo 的專屬角色,用於客製化其行為。<0>了解如何使用模式</0>或<1>自訂模式。</1>", + selectMode: "搜尋模式", + }, + fYe = { title: "API 設定", select: "選擇要用於此模式的 API 設定" }, + gYe = { + title: "可用工具", + builtInModesText: "內建模式的工具無法修改", + editTools: "編輯工具", + doneEditing: "完成編輯", + allowedFiles: "允許的檔案:", + toolNames: { read: "讀取檔案", edit: "編輯檔案", browser: "使用瀏覽器", command: "執行命令", mcp: "使用 MCP" }, + noTools: "無", + }, + vYe = { + title: "角色定義", + resetToDefault: "重設為預設值", + description: "定義此模式下 Roo 的專業知識和個性。此描述會形塑 Roo 如何展現自己並處理工作。", + }, + bYe = { + title: "簡短描述(給人看的)", + resetToDefault: "重置為預設描述", + description: "在模式選擇下拉選單中顯示的簡短描述。", + }, + yYe = { + title: "使用時機(選用)", + description: "描述何時應使用此模式。這有助於 Orchestrator 為任務選擇適當的模式。", + resetToDefault: "重設「使用時機」描述為預設值", + }, + kYe = { + title: "模式專屬自訂指令(選用)", + resetToDefault: "重設為預設值", + description: "為 {{modeName}} 模式新增專屬的行為指南。", + loadFromFile: + "{{mode}} 模式的自訂指令也可以從工作區的 <span>.roo/rules-{{slug}}/</span> 資料夾載入(.roorules-{{slug}} 和 .clinerules-{{slug}} 已棄用並將很快停止運作)。", + }, + xYe = { + title: "匯出模式", + description: "將此模式匯出為包含所有規則的 YAML 檔案,以便與他人輕鬆分享。", + export: "匯出模式", + exporting: "正在匯出...", + }, + wYe = { + selectLevel: "選擇匯入模式的位置:", + import: "匯入", + importing: "匯入中...", + global: { label: "全域", description: "適用於所有專案。規則將合併到自訂指令中。" }, + project: { + label: "專案級", + description: + "僅在此工作區可用。如果匯出的模式包含規則檔案,則將在 .roo/rules-{slug}/ 資料夾中重新建立這些檔案。", + }, + }, + _Ye = { + title: "所有模式的自訂指令", + description: + "這些指令適用於所有模式。它們提供了一組基本行為,可以透過下方的模式專屬自訂指令來強化。<0>了解更多</0>", + loadFromFile: + "指令也可以從工作區的 <span>.roo/rules/</span> 資料夾載入(.roorules 和 .clinerules 已棄用並將很快停止運作)。", + }, + CYe = { preview: "預覽系統提示詞", copy: "複製系統提示詞到剪貼簿", title: "系統提示詞({{modeName}} 模式)" }, + SYe = { + title: "輔助提示詞", + resetPrompt: "將 {{promptType}} 提示詞重設為預設值", + prompt: "提示詞", + enhance: { + apiConfiguration: "API 設定", + apiConfigDescription: "您可以選擇一個固定的 API 設定用於增強提示詞,或使用目前選擇的設定", + useCurrentConfig: "使用目前選擇的 API 設定", + testPromptPlaceholder: "輸入提示詞以測試增強效果", + previewButton: "預覽提示詞增強", + testEnhancement: "測試增強", + includeTaskHistory: "包含工作歷史作為內容", + includeTaskHistoryDescription: + "啟用後,目前對話的最後 10 則訊息將作為內容包含在增強提示詞時,有助於產生更相關和內容感知的建議。", + }, + condense: { + apiConfiguration: "用於上下文壓縮的 API 設定", + apiConfigDescription: "選取用於上下文壓縮作業的 API 設定。保留未選取狀態以使用目前作用中的設定。", + useCurrentConfig: "使用當前選取的 API 設定", + }, + types: { + ENHANCE: { + label: "增強提示詞", + description: + "使用提示詞增強功能取得針對您輸入的客製化建議或改進。這確保 Roo 能理解您的意圖並提供最佳的回應。可透過聊天中的 ✨ 圖示使用。", + }, + CONDENSE: { + label: "上下文壓縮", + description: "設定如何壓縮對話上下文以管理權杖限制。此提示用於手動和自動上下文壓縮作業。", + }, + EXPLAIN: { + label: "解釋程式碼", + description: + "取得程式碼片段、函式或整個檔案的詳細解釋。有助於理解複雜程式碼或學習新模式。可在程式碼操作(編輯器中的燈泡圖示)和編輯器右鍵選單中使用。", + }, + FIX: { + label: "修復問題", + description: + "協助識別和解決錯誤、程式臭蟲或程式碼品質問題。提供逐步修復問題的指引。可在程式碼操作(編輯器中的燈泡圖示)和編輯器右鍵選單中使用。", + }, + IMPROVE: { + label: "改進程式碼", + description: + "在維持功能的同時,提供程式碼最佳化、最佳實踐和架構改進的建議。可在程式碼操作(編輯器中的燈泡圖示)和編輯器右鍵選單中使用。", + }, + ADD_TO_CONTEXT: { + label: "新增至上下文", + description: + "為目前工作或對話新增上下文。用於提供額外資訊或說明。可在程式碼操作(編輯器中的燈泡圖示)和編輯器右鍵選單中使用。", + }, + TERMINAL_ADD_TO_CONTEXT: { + label: "新增終端機內容至上下文", + description: "將終端機輸出新增至目前工作或對話。用於提供命令輸出或記錄。可在終端機右鍵選單中使用。", + }, + TERMINAL_FIX: { + label: "修復終端機命令", + description: "協助修復失敗或需要改進的終端機命令。可在終端機右鍵選單中使用。", + }, + TERMINAL_EXPLAIN: { + label: "說明終端機命令", + description: "取得終端機命令及其輸出的詳細說明。可在終端機內容選單(選取終端機內容後按右鍵)使用。", + }, + NEW_TASK: { label: "開始新工作", description: "開始一個新的工作。可在命令選擇區使用。" }, + }, + }, + AYe = { + title: "進階:覆寫系統提示詞", + description: + "<2>⚠️ 警告:</2> 此進階功能會略過安全防護。<1>使用前請閱讀!</1>透過在您的工作區中建立檔案 <span>.roo/system-prompt-{{slug}}</span> 來覆寫預設的系統提示詞。", + }, + PYe = { + title: "建立新模式", + close: "關閉", + name: { label: "名稱", placeholder: "輸入模式名稱" }, + slug: { + label: "識別符號", + description: "識別符號用於 URL 和檔案名稱。應使用小寫字母,且只能包含字母、數字和連字號。", + }, + saveLocation: { + label: "儲存位置", + description: "選擇儲存此模式的位置。專案特定模式優先於全域模式。", + global: { label: "全域", description: "在所有工作區可用" }, + project: { label: "專案特定 (.roomodes)", description: "僅在此工作區可用,優先於全域模式" }, + }, + roleDefinition: { label: "角色定義", description: "定義此模式下 Roo 的專業知識和個性。" }, + whenToUse: { + label: "使用時機(選用)", + description: "提供清晰的描述,說明此模式最適合什麼時候使用,以及適合哪些類型的任務。", + }, + tools: { label: "可用工具", description: "選擇此模式可使用的工具。" }, + description: { label: "簡短描述(給人看的)", description: "在模式選擇下拉選單中顯示的簡短描述。" }, + customInstructions: { label: "自訂指令(選用)", description: "為此模式新增特定的行為指南。" }, + buttons: { cancel: "取消", create: "建立模式" }, + deleteMode: "刪除模式", + }, + RYe = "所有檔案", + TYe = { title: "進階" }, + IYe = { + title: "刪除模式", + message: "您確定要刪除「{{modeName}}」模式嗎?", + rulesFolder: "此模式在 {{folderPath}} 有一個規則資料夾,該資料夾也將被刪除。", + descriptionNoRules: "您確定要刪除此自訂模式嗎?", + confirm: "刪除", + cancel: "取消", + }, + swt = { + title: pYe, + done: mYe, + modes: hYe, + apiConfiguration: fYe, + tools: gYe, + roleDefinition: vYe, + description: bYe, + whenToUse: yYe, + customInstructions: kYe, + exportMode: xYe, + importMode: wYe, + globalCustomInstructions: _Ye, + systemPrompt: CYe, + supportPrompts: SYe, + advancedSystemPrompt: AYe, + createModeDialog: PYe, + allFiles: RYe, + advanced: TYe, + deleteMode: IYe, + }, + awt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: TYe, + advancedSystemPrompt: AYe, + allFiles: RYe, + apiConfiguration: fYe, + createModeDialog: PYe, + customInstructions: kYe, + default: swt, + deleteMode: IYe, + description: bYe, + done: mYe, + exportMode: xYe, + globalCustomInstructions: _Ye, + importMode: wYe, + modes: hYe, + roleDefinition: vYe, + supportPrompts: SYe, + systemPrompt: CYe, + title: pYe, + tools: gYe, + whenToUse: yYe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + MYe = { + save: "儲存", + done: "完成", + cancel: "取消", + reset: "重設", + select: "選擇", + add: "新增標頭", + remove: "移除", + }, + jYe = { + title: "設定", + saveButtonTooltip: "儲存變更", + nothingChangedTooltip: "無任何變更", + doneButtonTooltip: "捨棄未儲存的變更並關閉設定面板", + }, + EYe = { + title: "未儲存的變更", + description: "是否要取消變更並繼續?", + cancelButton: "取消", + discardButton: "取消變更", + }, + zYe = { + providers: "供應商", + autoApprove: "自動核准", + browser: "電腦存取", + checkpoints: "檢查點", + notifications: "通知", + contextManagement: "上下文", + terminal: "終端機", + prompts: "提示詞", + experimental: "實驗性", + language: "語言", + about: "關於 Roo Code", + }, + $Ye = { + description: + "設定用於快速操作的支援提示詞,如增強提示詞、解釋程式碼和修復問題。這些提示詞幫助 Roo 為常見開發工作提供更好的支援。", + }, + LYe = { + title: "程式碼庫索引", + enableLabel: "啟用程式碼庫索引", + enableDescription: "啟用程式碼索引以改進搜尋和上下文理解", + providerLabel: "嵌入提供者", + selectProviderPlaceholder: "選擇提供者", + openaiProvider: "OpenAI", + ollamaProvider: "Ollama", + geminiProvider: "Gemini", + geminiApiKeyLabel: "API 金鑰:", + geminiApiKeyPlaceholder: "輸入您的Gemini API金鑰", + mistralProvider: "Mistral", + mistralApiKeyLabel: "API 金鑰:", + mistralApiKeyPlaceholder: "輸入您的 Mistral API 金鑰", + openaiCompatibleProvider: "OpenAI 相容", + openAiKeyLabel: "OpenAI API 金鑰", + openAiKeyPlaceholder: "輸入您的 OpenAI API 金鑰", + openAiCompatibleBaseUrlLabel: "基礎 URL", + openAiCompatibleApiKeyLabel: "API 金鑰", + openAiCompatibleApiKeyPlaceholder: "輸入您的 API 金鑰", + openAiCompatibleModelDimensionLabel: "嵌入維度:", + modelDimensionLabel: "模型維度", + openAiCompatibleModelDimensionPlaceholder: "例如,1536", + openAiCompatibleModelDimensionDescription: + "模型的嵌入維度(輸出大小)。請查閱您的提供商文件獲取此值。常見值:384、768、1536、3072。", + modelLabel: "模型", + selectModelPlaceholder: "選擇模型", + ollamaUrlLabel: "Ollama URL:", + qdrantUrlLabel: "Qdrant URL", + qdrantKeyLabel: "Qdrant 金鑰:", + startIndexingButton: "開始", + clearIndexDataButton: "清除索引", + unsavedSettingsMessage: "請先儲存設定再開始索引程序。", + clearDataDialog: { + title: "確定要繼續嗎?", + description: "此操作無法復原。這將永久刪除您的程式碼庫索引資料。", + cancelButton: "取消", + confirmButton: "清除資料", + }, + description: "設定程式碼庫索引設定以啟用專案的語意搜尋。<0>了解更多</0>", + statusTitle: "狀態", + settingsTitle: "索引設定", + disabledMessage: "程式碼庫索引目前已停用。請在全域設定中啟用以設定索引選項。", + embedderProviderLabel: "嵌入器提供者", + modelPlaceholder: "輸入模型名稱", + selectModel: "選擇模型", + ollamaBaseUrlLabel: "Ollama 基礎 URL", + qdrantApiKeyLabel: "Qdrant API 金鑰", + qdrantApiKeyPlaceholder: "輸入您的 Qdrant API 金鑰(選用)", + setupConfigLabel: "設定", + ollamaUrlPlaceholder: "http://localhost:11434", + openAiCompatibleBaseUrlPlaceholder: "https://api.example.com", + modelDimensionPlaceholder: "1536", + qdrantUrlPlaceholder: "http://localhost:6333", + saveError: "無法儲存設定", + modelDimensions: "({{dimension}} 維度)", + saveSuccess: "設定已成功儲存", + saving: "儲存中...", + saveSettings: "儲存", + indexingStatuses: { standby: "待命", indexing: "索引中", indexed: "已索引", error: "錯誤" }, + close: "關閉", + validation: { + invalidQdrantUrl: "無效的 Qdrant URL", + invalidOllamaUrl: "無效的 Ollama URL", + invalidBaseUrl: "無效的基礎 URL", + qdrantUrlRequired: "需要 Qdrant URL", + openaiApiKeyRequired: "需要 OpenAI API 金鑰", + modelSelectionRequired: "需要選擇模型", + apiKeyRequired: "需要 API 金鑰", + modelIdRequired: "需要模型 ID", + modelDimensionRequired: "需要模型維度", + geminiApiKeyRequired: "需要 Gemini API 金鑰", + mistralApiKeyRequired: "需要 Mistral API 金鑰", + ollamaBaseUrlRequired: "需要 Ollama 基礎 URL", + baseUrlRequired: "需要基礎 URL", + modelDimensionMinValue: "模型維度必須大於 0", + }, + advancedConfigLabel: "進階設定", + searchMinScoreLabel: "搜尋分數閾值", + searchMinScoreDescription: + "搜尋結果所需的最低相似度分數(0.0-1.0)。較低的值會傳回更多結果,但可能較不相關。較高的值會傳回較少但更相關的結果。", + searchMinScoreResetTooltip: "重設為預設值 (0.4)", + searchMaxResultsLabel: "最大搜尋結果數", + searchMaxResultsDescription: + "查詢程式碼庫索引時傳回的最大搜尋結果數。較高的值提供更多上下文,但可能包含相關性較低的結果。", + resetToDefault: "重設為預設值", + }, + DYe = { + description: "允許 Roo 無需核准即執行操作。僅在您完全信任 AI 並了解相關安全風險時啟用這些設定。", + enabled: "自動核准已啟用", + toggleAriaLabel: "切換自動核准", + disabledAriaLabel: "自動核准已停用 - 請先選取選項", + readOnly: { + label: "讀取", + description: "啟用後,Roo 將自動檢視目錄內容並讀取檔案,無需點選核准按鈕。", + outsideWorkspace: { + label: "包含工作區外的檔案", + description: "允許 Roo 讀取目前工作區外的檔案,無需核准。", + }, + }, + write: { + label: "寫入", + description: "自動建立和編輯文件而無需核准", + delayLabel: "寫入後延遲以允許診斷偵測潛在問題", + outsideWorkspace: { + label: "包含工作區外的檔案", + description: "允許 Roo 在目前工作區外建立和編輯檔案,無需核准。", + }, + protected: { + label: "包含受保護的檔案", + description: "允許 Roo 建立和編輯受保護的檔案(如 .rooignore 和 .roo/ 設定檔),無需核准。", + }, + }, + browser: { label: "瀏覽器", description: "自動執行瀏覽器操作而無需核准 — 注意:僅適用於模型支援電腦使用時" }, + retry: { + label: "重試", + description: "當伺服器回傳錯誤回應時自動重試失敗的 API 請求", + delayLabel: "重試請求前的延遲", + }, + mcp: { + label: "MCP", + description: "在 MCP 伺服器檢視中啟用個別 MCP 工具的自動核准(需要此設定和工具的「始終允許」核取方塊)", + }, + modeSwitch: { label: "模式", description: "自動在不同模式之間切換而無需核准" }, + subtasks: { label: "子工作", description: "允許建立和完成子工作而無需核准" }, + followupQuestions: { + label: "問題", + description: "在設定的逾時時間後自動選擇後續問題的第一個建議答案", + timeoutLabel: "自動選擇第一個答案前的等待時間", + }, + execute: { + label: "執行", + description: "自動執行允許的終端機命令而無需核准", + allowedCommands: "允許自動執行的命令", + allowedCommandsDescription: + "當「始終核准執行操作」啟用時可以自動執行的命令前綴。新增 * 以允許所有命令(請謹慎使用)。", + deniedCommands: "拒絕的命令", + deniedCommandsDescription: + "將自動拒絕的命令前綴,無需使用者核准。與允許命令衝突時,最長前綴匹配優先。新增 * 拒絕所有命令。", + commandPlaceholder: "輸入命令前綴(例如 'git ')", + deniedCommandPlaceholder: "輸入要拒絕的命令前綴(例如 'rm -rf')", + addButton: "新增", + autoDenied: "前綴為 `{{prefix}}` 的命令已被使用者禁止。不要透過執行其他命令來繞過此限制。", + }, + updateTodoList: { label: "待辦", description: "自動更新待辦清單無需批准" }, + apiRequestLimit: { + title: "最大請求數", + description: "在請求批准以繼續執行工作之前,自動發出此數量的 API 請求。", + unlimited: "無限制", + }, + selectOptionsFirst: "請至少選擇以下一個選項以啟用自動核准", + apiCostLimit: { unlimited: "无限", title: "最高费用" }, + maxLimits: { description: "在请求获得继续操作的批准前,自动发送请求直至达到这些限制。" }, + }, + NYe = { + providerDocumentation: "{{provider}} 文件", + configProfile: "配置設定檔", + description: "儲存不同的 API 設定以快速切換供應商和設定。", + apiProvider: "API 供應商", + model: "模型", + nameEmpty: "名稱不能為空", + nameExists: "已存在同名的設定檔", + deleteProfile: "刪除設定檔", + invalidArnFormat: "ARN 格式無效。請檢查上方示例。", + enterNewName: "輸入新名稱", + addProfile: "新增設定檔", + renameProfile: "重新命名設定檔", + newProfile: "新建設定檔", + enterProfileName: "輸入設定檔名稱", + createProfile: "建立設定檔", + cannotDeleteOnlyProfile: "無法刪除唯一的設定檔", + searchPlaceholder: "搜尋設定檔", + searchProviderPlaceholder: "搜尋供應商", + noProviderMatchFound: "找不到供應商", + noMatchFound: "找不到符合的設定檔", + vscodeLmDescription: + "VS Code 語言模型 API 可以讓您使用其他擴充功能(如 GitHub Copilot)提供的模型。最簡單的方式是從 VS Code Marketplace 安裝 Copilot 和 Copilot Chat 擴充套件。", + awsCustomArnUse: "輸入您要使用的模型的有效 Amazon Bedrock ARN。格式範例:", + awsCustomArnDesc: "確保 ARN 中的區域與您上面選擇的 AWS 區域相符。", + openRouterApiKey: "OpenRouter API 金鑰", + getOpenRouterApiKey: "取得 OpenRouter API 金鑰", + apiKeyStorageNotice: "API 金鑰安全儲存於 VSCode 金鑰儲存中", + glamaApiKey: "Glama API 金鑰", + getGlamaApiKey: "取得 Glama API 金鑰", + useCustomBaseUrl: "使用自訂基礎 URL", + useReasoning: "啟用推理", + useHostHeader: "使用自訂 Host 標頭", + useLegacyFormat: "使用舊版 OpenAI API 格式", + customHeaders: "自訂標頭", + headerName: "標頭名稱", + headerValue: "標頭值", + noCustomHeaders: "尚未定義自訂標頭。點擊 + 按鈕以新增。", + requestyApiKey: "Requesty API 金鑰", + refreshModels: { + label: "重新整理模型", + hint: "請重新開啟設定以查看最新模型。", + loading: "正在重新整理模型列表...", + success: "模型列表重新整理成功!", + error: "重新整理模型列表失敗。請再試一次。", + }, + getRequestyApiKey: "取得 Requesty API 金鑰", + openRouterTransformsText: "將提示和訊息鏈壓縮到上下文大小 (<a>OpenRouter 轉換</a>)", + anthropicApiKey: "Anthropic API 金鑰", + getAnthropicApiKey: "取得 Anthropic API 金鑰", + anthropicUseAuthToken: "將 Anthropic API 金鑰作為 Authorization 標頭傳遞,而非使用 X-Api-Key", + cerebrasApiKey: "Cerebras API 金鑰", + getCerebrasApiKey: "取得 Cerebras API 金鑰", + chutesApiKey: "Chutes API 金鑰", + getChutesApiKey: "取得 Chutes API 金鑰", + fireworksApiKey: "Fireworks API 金鑰", + getFireworksApiKey: "取得 Fireworks API 金鑰", + deepSeekApiKey: "DeepSeek API 金鑰", + getDeepSeekApiKey: "取得 DeepSeek API 金鑰", + doubaoApiKey: "豆包 API 金鑰", + getDoubaoApiKey: "取得豆包 API 金鑰", + moonshotApiKey: "Moonshot API 金鑰", + getMoonshotApiKey: "取得 Moonshot API 金鑰", + moonshotBaseUrl: "Moonshot 服務站點", + zaiApiKey: "Z AI API 金鑰", + getZaiApiKey: "取得 Z AI API 金鑰", + zaiEntrypoint: "Z AI 服務站點", + zaiEntrypointDescription: + "請根據您的位置選擇適當的 API 服務站點。如果您在中國,請選擇 open.bigmodel.cn。否則,請選擇 api.z.ai。", + geminiApiKey: "Gemini API 金鑰", + getGroqApiKey: "取得 Groq API 金鑰", + groqApiKey: "Groq API 金鑰", + getSambaNovaApiKey: "取得 SambaNova API 金鑰", + sambaNovaApiKey: "SambaNova API 金鑰", + getHuggingFaceApiKey: "取得 Hugging Face API 金鑰", + huggingFaceApiKey: "Hugging Face API 金鑰", + huggingFaceModelId: "模型 ID", + huggingFaceLoading: "載入中...", + huggingFaceModelsCount: "({{count}} 個模型)", + huggingFaceSelectModel: "選擇模型...", + huggingFaceSearchModels: "搜尋模型...", + huggingFaceNoModelsFound: "找不到模型", + huggingFaceProvider: "提供者", + huggingFaceProviderAuto: "自動", + huggingFaceSelectProvider: "選擇提供者...", + huggingFaceSearchProviders: "搜尋提供者...", + huggingFaceNoProvidersFound: "找不到提供者", + getGeminiApiKey: "取得 Gemini API 金鑰", + openAiApiKey: "OpenAI API 金鑰", + apiKey: "API 金鑰", + openAiBaseUrl: "基礎 URL", + getOpenAiApiKey: "取得 OpenAI API 金鑰", + mistralApiKey: "Mistral API 金鑰", + getMistralApiKey: "取得 Mistral/Codestral API 金鑰", + codestralBaseUrl: "Codestral 基礎 URL(選用)", + codestralBaseUrlDesc: "設定 Codestral 模型的替代 URL。", + xaiApiKey: "xAI API 金鑰", + getXaiApiKey: "取得 xAI API 金鑰", + litellmApiKey: "LiteLLM API 金鑰", + litellmBaseUrl: "LiteLLM 基礎 URL", + awsCredentials: "AWS 認證", + awsProfile: "AWS Profile", + awsApiKey: "Amazon Bedrock API 金鑰", + awsProfileName: "AWS Profile 名稱", + awsAccessKey: "AWS Access Key", + awsSecretKey: "AWS Secret Key", + awsSessionToken: "AWS 工作階段權杖", + awsRegion: "AWS 區域", + awsCrossRegion: "使用跨區域推論", + awsBedrockVpc: { + useCustomVpcEndpoint: "使用自訂 VPC 端點", + vpcEndpointUrlPlaceholder: "輸入 VPC 端點 URL(選填)", + examples: "範例:", + }, + enablePromptCaching: "啟用提示快取", + enablePromptCachingTitle: "啟用提示快取以提升支援的模型效能並降低成本。", + cacheUsageNote: "注意:如果您沒有看到快取使用情況,請嘗試選擇其他模型,然後重新選擇您想要的模型。", + vscodeLmModel: "語言模型", + vscodeLmWarning: + "注意:此整合功能仍處於實驗階段,各供應商的支援程度可能不同。如果出現模型不支援的錯誤,通常是供應商方面的問題。", + geminiParameters: { + urlContext: { + title: "啟用 URL 上下文", + description: "讓 Gemini 讀取連結的頁面以提取、比較和綜合其內容,從而提供明智的答覆。", + }, + groundingSearch: { + title: "啟用 Google 搜尋基礎", + description: "將 Gemini 連接到即時網路數據,以獲得包含可驗證引用的準確、最新的答案。", + }, + }, + googleCloudSetup: { + title: "要使用 Google Cloud Vertex AI,您需要:", + step1: "1. 建立 Google Cloud 帳戶,啟用 Vertex AI API 並啟用所需的 Claude 模型。", + step2: "2. 安裝 Google Cloud CLI 並設定應用程式預設憑證。", + step3: "3. 或建立具有憑證的服務帳戶。", + }, + googleCloudCredentials: "Google Cloud 憑證", + googleCloudKeyFile: "Google Cloud 金鑰檔案路徑", + googleCloudProjectId: "Google Cloud 專案 ID", + googleCloudRegion: "Google Cloud 區域", + lmStudio: { + baseUrl: "基礎 URL(選用)", + modelId: "模型 ID", + speculativeDecoding: "啟用預測性解碼", + draftModelId: "草稿模型 ID", + draftModelDesc: "草稿模型必須來自相同模型系列才能正確運作。", + selectDraftModel: "選擇草稿模型", + noModelsFound: "未找到草稿模型。請確保 LM Studio 以伺服器模式執行。", + description: + "LM Studio 允許您在本機電腦執行模型。詳細資訊請參閱快速入門指南。您需要啟動 LM Studio 的本機伺服器功能才能與此擴充功能搭配使用。<span>注意:</span> Roo Code 使用複雜提示,與 Claude 模型搭配最佳。功能較弱的模型可能無法正常運作。", + }, + ollama: { + baseUrl: "基礎 URL(選用)", + modelId: "模型 ID", + description: "Ollama 允許您在本機電腦執行模型。請參閱快速入門指南。", + warning: "注意:Roo Code 使用複雜提示,與 Claude 模型搭配最佳。功能較弱的模型可能無法正常運作。", + }, + unboundApiKey: "Unbound API 金鑰", + getUnboundApiKey: "取得 Unbound API 金鑰", + unboundRefreshModelsSuccess: "模型列表已更新!您現在可以從最新模型中選擇。", + unboundInvalidApiKey: "無效的API金鑰。請檢查您的API金鑰並重試。", + humanRelay: { + description: "不需要 API 金鑰,但使用者需要協助將資訊複製並貼上到網頁聊天 AI。", + instructions: + "使用期間會彈出對話框,並自動將目前訊息複製到剪貼簿。您需要將這些內容貼上到網頁版 AI(如 ChatGPT 或 Claude),然後將 AI 的回覆複製回對話框並點選確認按鈕。", + }, + openRouter: { + providerRouting: { + title: "OpenRouter 供應商路由", + description: + "OpenRouter 會將請求路由到適合您模型的最佳可用供應商。預設情況下,請求會在頂尖供應商之間進行負載平衡以最大化正常運作時間。您也可以為此模型選擇特定的供應商。", + learnMore: "了解更多關於供應商路由的資訊", + }, + }, + customModel: { + capabilities: + "設定自訂 OpenAI 相容模型的功能和定價。請謹慎設定模型功能,因為這會影響 Roo Code 的運作方式。", + maxTokens: { + label: "最大輸出 Token", + description: "模型能在一則回應中產生的最大 Token 數量。(設為 -1 則由伺服器決定最大值)", + }, + contextWindow: { label: "上下文視窗大小", description: "模型能處理的總 Token 數量(包含輸入和輸出)" }, + imageSupport: { label: "影像支援", description: "此模型是否能夠處理和理解影像?" }, + computerUse: { label: "電腦使用", description: "此模型是否能夠與瀏覽器互動?(例如 Claude 3.7 Sonnet)" }, + promptCache: { label: "提示快取", description: "此模型是否能夠快取提示?" }, + pricing: { + input: { + label: "輸入價格", + description: "輸入/提示每百萬 Token 的費用。這會影響向模型傳送內容和指令時的費用。", + }, + output: { label: "輸出價格", description: "模型回應每百萬 Token 的費用。這會影響模型產生內容的費用。" }, + cacheReads: { + label: "快取讀取價格", + description: "每百萬 Token 的快取讀取費用。當從快取中取得已儲存的回應時,會收取此費用。", + }, + cacheWrites: { + label: "快取寫入價格", + description: "每百萬 Token 的快取寫入費用。當提示首次被儲存至快取時,會收取此費用。", + }, + }, + resetDefaults: "重設為預設值", + }, + rateLimitSeconds: { label: "速率限制", description: "API 請求間的最短時間" }, + consecutiveMistakeLimit: { + label: "錯誤和重複限制", + description: "在顯示「Roo 遇到問題」對話方塊前允許的連續錯誤或重複操作次數", + unlimitedDescription: "已啟用無限重試(自動繼續)。對話方塊將永遠不會出現。", + warning: "⚠️ 設定為 0 允許無限重試,這可能會消耗大量 API 使用量", + }, + reasoningEffort: { label: "模型推理強度", high: "高", medium: "中", low: "低" }, + setReasoningLevel: "啟用推理工作量", + claudeCode: { + pathLabel: "Claude Code 路徑", + description: "可選的 Claude Code CLI 路徑。如果未設定,則預設為 'claude'。", + placeholder: "預設:claude", + maxTokensLabel: "最大輸出 Token", + maxTokensDescription: "Claude Code 回應的最大輸出 Token 數量。預設為 8000。", + }, + }, + OYe = { + enable: { + label: "啟用瀏覽器工具", + description: "啟用後,Roo 可在使用支援電腦使用的模型時使用瀏覽器與網站互動。 <0>瞭解更多</0>", + }, + viewport: { + label: "視窗大小", + description: "選擇瀏覽器互動的視窗大小。這會影響網站的顯示方式和互動方式。", + options: { + largeDesktop: "大型桌面 (1280x800)", + smallDesktop: "小型桌面 (900x600)", + tablet: "平板 (768x1024)", + mobile: "行動裝置 (360x640)", + }, + }, + screenshotQuality: { + label: "截圖品質", + description: "調整瀏覽器截圖的 WebP 品質。數值越高截圖越清晰,但會增加 token 用量。", + }, + remote: { + label: "使用遠端瀏覽器連線", + description: "連線到啟用遠端除錯的 Chrome 瀏覽器(--remote-debugging-port=9222)。", + urlPlaceholder: "自訂 URL(例如 http://localhost:9222)", + testButton: "測試連線", + testingButton: "測試中...", + instructions: + "請輸入 DevTools Protocol 主機位址,或留空以自動偵測本機 Chrome 執行個體。「測試連線」按鈕將嘗試連線至您提供的自訂 URL,若未提供則會自動偵測。", + }, + }, + FYe = { + enable: { + label: "啟用自動檢查點", + description: + "啟用後,Roo 將在工作執行期間自動建立檢查點,使審核變更或回到早期狀態變得容易。 <0>瞭解更多</0>", + }, + }, + BYe = { + sound: { label: "啟用音效", description: "啟用後,Roo 將為通知和事件播放音效。", volumeLabel: "音量" }, + tts: { + label: "啟用文字轉語音", + description: "啟用後,Roo 將使用文字轉語音功能朗讀其回應。", + speedLabel: "速度", + }, + }, + UYe = { + description: "控制 AI 上下文視窗中要包含哪些資訊,會影響 token 用量和回應品質", + autoCondenseContextPercent: { + label: "觸發智慧上下文壓縮的閾值", + description: "當上下文視窗達到此閾值時,Roo 將自動壓縮它。", + }, + condensingApiConfiguration: { + label: "上下文壓縮的API配置", + description: "選擇用於上下文壓縮操作的API配置。留空則使用當前活動的配置。", + useCurrentConfig: "使用當前配置", + }, + customCondensingPrompt: { + label: "自訂上下文壓縮提示", + description: "自訂用於上下文壓縮的系統提示。留空則使用預設提示。", + placeholder: `請在此輸入您的自訂上下文壓縮提示... + +您可以參考預設提示的結構: +- 先前對話 +- 目前工作 +- 主要技術概念 +- 相關檔案與程式碼 +- 問題解決 +- 未完成的任務與後續步驟`, + reset: "重設為預設值", + hint: "留空 = 使用預設提示", + }, + autoCondenseContext: { + name: "自動觸發智慧上下文壓縮", + description: "啟用時,Roo 會在達到閾值時自動壓縮上下文。停用時,您仍可手動觸發上下文壓縮。", + }, + openTabs: { + label: "開啟分頁的上下文限制", + description: "上下文中最多包含多少個 VS Code 開啟的分頁。數值越高提供的上下文越多,但 token 用量也會增加。", + }, + workspaceFiles: { + label: "工作區檔案的上下文限制", + description: "目前工作目錄中最多包含多少個檔案。數值越高提供的上下文越多,但 token 用量也會增加。", + }, + rooignore: { + label: "在列表和搜尋中顯示被 .rooignore 排除的檔案", + description: + "啟用後,符合 .rooignore 規則的檔案會在列表中顯示並標示鎖定圖示。停用後,這些檔案將完全從檔案列表和搜尋結果中隱藏。", + }, + maxReadFile: { + label: "檔案讀取自動截斷閾值", + description: + "當模型未指定起始/結束值時,Roo 讀取的行數。如果此數值小於檔案總行數,Roo 將產生程式碼定義的行號索引。特殊情況:-1 指示 Roo 讀取整個檔案(不建立索引),0 指示不讀取任何行並僅提供行索引以取得最小上下文。較低的值可最小化初始上下文使用,允許後續精確的行範圍讀取。明確指定起始/結束的請求不受此設定限制。 <0>瞭解更多</0>", + lines: "行", + always_full_read: "始終讀取整個檔案", + }, + maxConcurrentFileReads: { + label: "並行檔案讀取限制", + description: + "read_file 工具可以同時處理的最大檔案數。較高的值可能會加快讀取多個小檔案的速度,但會增加記憶體使用量。", + }, + diagnostics: { + includeMessages: { + label: "自動在上下文中包含診斷", + description: + "啟用後,來自已編輯檔案的診斷訊息(錯誤)將自動包含在上下文中。您隨時可以使用 @problems 手動包含所有工作區診斷。", + }, + maxMessages: { + label: "最大診斷訊息數", + description: + "每個檔案包含的最大診斷訊息數。此限制適用於自動包含(當核取方塊啟用時)和手動 @problems 提及。較高的值提供更多上下文,但會增加權杖使用量。", + resetTooltip: "重設為預設值 (50)", + unlimited: "無限制診斷訊息", + unlimitedLabel: "無限制", + }, + delayAfterWrite: { + label: "寫入後延遲以允許診斷程式偵測潛在問題", + description: "在繼續之前寫入檔案後等待的時間,允許診斷工具處理變更並偵測問題。", + }, + }, + condensingThreshold: { + label: "壓縮觸發閾值", + selectProfile: "設定檔案閾值", + defaultProfile: "全域預設(所有檔案)", + defaultDescription: "當上下文達到此百分比時,將自動為所有檔案壓縮,除非它們有自訂設定", + profileDescription: "僅此檔案的自訂閾值(覆蓋全域預設)", + inheritDescription: "此檔案繼承全域預設閾值({{threshold}}%)", + usesGlobal: "(使用全域 {{threshold}}%)", + }, + maxImageFileSize: { + label: "最大圖像檔案大小", + mb: "MB", + description: "read file工具可以處理的圖像檔案的最大大小(以MB為單位)。", + }, + maxTotalImageSize: { + label: "圖片總大小上限", + mb: "MB", + description: + "單次 read_file 操作中處理的所有圖片的最大累計大小限制(MB)。讀取多張圖片時,每張圖片的大小會累加到總大小中。如果包含另一張圖片會超過此限制,則會跳過該圖片。", + }, + }, + qYe = { + basic: { label: "終端機設定:基本", description: "基本終端機設定" }, + advanced: { label: "終端機設定:進階", description: "以下選項可能需要重新啟動終端機才能套用設定" }, + outputLineLimit: { + label: "終端機輸出行數限制", + description: + "執行命令時終端機輸出的最大行數。超過此限制時,會從中間移除多餘的行數,以節省 token 用量。 <0>瞭解更多</0>", + }, + outputCharacterLimit: { + label: "終端機字元限制", + description: + "執行指令時在終端輸出中包含的最大字元數。此限制優先於行數限制,以防止因行過長而導致的記憶體問題。超過後,輸出將被截斷。 <0>了解更多</0>", + }, + shellIntegrationTimeout: { + label: "終端機 Shell 整合逾時", + description: + "執行命令前等待 Shell 整合初始化的最長時間。如果您的 Shell 啟動較慢,且終端機出現「Shell 整合無法使用」的錯誤訊息,可能需要提高此數值。 <0>瞭解更多</0>", + }, + shellIntegrationDisabled: { + label: "停用終端機 Shell 整合", + description: + "如果終端機指令無法正常運作或看到 'Shell Integration Unavailable' 錯誤,請啟用此項。這會使用較簡單的方法執行指令,繞過一些進階終端機功能。 <0>瞭解更多</0>", + }, + commandDelay: { + label: "終端機命令延遲", + description: + "命令執行後添加的延遲時間(毫秒)。預設值為 0 時完全停用延遲。這可以幫助確保在有計時問題的終端機中完整擷取命令輸出。在大多數終端機中,這是透過設定 `PROMPT_COMMAND='sleep N'` 實現的,而 PowerShell 會在每個命令結尾加入 `start-sleep`。最初是為了解決 VSCode 錯誤#237208,現在可能不再需要。 <0>瞭解更多</0>", + }, + compressProgressBar: { + label: "壓縮進度條輸出", + description: + "啟用後,將處理包含歸位字元 (\\r) 的終端機輸出,模擬真實終端機顯示內容的方式。這會移除進度條的中間狀態,只保留最終狀態,為更重要的資訊節省上下文空間。 <0>瞭解更多</0>", + }, + powershellCounter: { + label: "啟用 PowerShell 計數器解決方案", + description: + "啟用後,會在 PowerShell 命令中加入計數器以確保命令正確執行。這有助於解決可能存在輸出擷取問題的 PowerShell 終端機。 <0>瞭解更多</0>", + }, + zshClearEolMark: { + label: "清除 ZSH 行尾標記", + description: + "啟用後,透過設定 PROMPT_EOL_MARK='' 清除 ZSH 行尾標記。這可以防止命令輸出以特殊字元(如 '%')結尾時的解析問題。 <0>瞭解更多</0>", + }, + zshOhMy: { + label: "啟用 Oh My Zsh 整合", + description: + "啟用後,設定 ITERM_SHELL_INTEGRATION_INSTALLED=Yes 以啟用 Oh My Zsh shell 整合功能。套用此設定可能需要重新啟動 IDE。 <0>瞭解更多</0>", + }, + zshP10k: { + label: "啟用 Powerlevel10k 整合", + description: + "啟用後,設定 POWERLEVEL9K_TERM_SHELL_INTEGRATION=true 以啟用 Powerlevel10k shell 整合功能。 <0>瞭解更多</0>", + }, + zdotdir: { + label: "啟用 ZDOTDIR 處理", + description: + "啟用後將建立暫存目錄用於 ZDOTDIR,以正確處理 zsh shell 整合。這確保 VSCode shell 整合能與 zsh 正常運作,同時保留您的 zsh 設定。 <0>瞭解更多</0>", + }, + inheritEnv: { + label: "繼承環境變數", + description: + "啟用後,終端機將從 VSCode 父程序繼承環境變數,如使用者設定檔中定義的 shell 整合設定。這直接切換 VSCode 全域設定 `terminal.integrated.inheritEnv`。 <0>瞭解更多</0>", + }, + }, + WYe = { title: "進階設定" }, + KYe = { + diff: { + label: "透過差異比對編輯", + description: + "啟用後,Roo 可更快速地編輯檔案,並自動拒絕不完整的整檔覆寫。搭配最新的 Claude 3.7 Sonnet 模型效果最佳。", + strategy: { + label: "差異比對策略", + options: { + standard: "標準(單一區塊)", + multiBlock: "實驗性:多區塊差異", + unified: "實驗性:統一差異", + }, + descriptions: { + standard: "標準策略一次只修改一個程式碼區塊。", + unified: "統一差異策略會嘗試多種比對方式,並選擇最佳方案。", + multiBlock: "多區塊策略可在單一請求中更新檔案內的多個程式碼區塊。", + }, + }, + matchPrecision: { + label: "比對精確度", + description: + "此滑桿控制套用差異時程式碼區段的比對精確度。較低的數值允許更彈性的比對,但也會增加錯誤取代的風險。使用低於 100% 的數值時請特別謹慎。", + }, + }, + todoList: { + label: "啟用待辦事項清單工具", + description: "啟用後,Roo 可以建立和管理待辦事項清單來追蹤任務進度。這有助於將複雜任務組織成可管理的步驟。", + }, + }, + VYe = { + DIFF_STRATEGY_UNIFIED: { + name: "使用實驗性統一差異比對策略", + description: + "啟用實驗性的統一差異比對策略。此策略可能減少因模型錯誤而導致的重試次數,但也可能導致意外行為或錯誤的編輯。請務必了解風險,並願意仔細檢查所有變更後再啟用。", + }, + SEARCH_AND_REPLACE: { + name: "使用實驗性搜尋與取代工具", + description: "啟用實驗性的搜尋與取代工具,允許 Roo 在單一請求中取代多個符合的內容。", + }, + INSERT_BLOCK: { + name: "使用實驗性插入內容工具", + description: "啟用實驗性的插入內容工具,允許 Roo 直接在指定行號插入內容,而無需產生差異比對。", + }, + POWER_STEERING: { + name: "使用實驗性「動力輔助」模式", + description: + "啟用後,Roo 將更頻繁地提醒模型目前模式的詳細設定。這能讓模型更嚴格遵守角色定義和自訂指令,但每則訊息會使用更多 token。", + }, + MULTI_SEARCH_AND_REPLACE: { + name: "使用實驗性多區塊差異比對工具", + description: "啟用後,Roo 將使用多區塊差異比對工具,嘗試在單一請求中更新檔案內的多個程式碼區塊。", + }, + CONCURRENT_FILE_READS: { + name: "啟用並行檔案讀取", + description: + "啟用後,Roo 可以在單一請求中讀取多個檔案(最多 15 個檔案)。停用後,Roo 必須逐一讀取檔案。在使用能力較弱的模型或希望對檔案存取有更多控制時,停用此功能可能會有所幫助。", + }, + MARKETPLACE: { name: "啟用 Marketplace", description: "啟用後,您可以從 Marketplace 安裝 MCP 和自訂模式。" }, + MULTI_FILE_APPLY_DIFF: { + name: "啟用並行檔案編輯", + description: + "啟用後 Roo 可在單個請求中編輯多個檔案。停用後 Roo 必須逐個編輯檔案。停用此功能有助於使用能力較弱的模型或需要更精確控制檔案修改時。", + }, + PREVENT_FOCUS_DISRUPTION: { + name: "背景編輯", + description: + "啟用後可防止編輯器焦點中斷。檔案編輯會在背景進行,不會開啟 diff 檢視或搶奪焦點。您可以在 Roo 進行變更時繼續不受干擾地工作。檔案可能會在不獲得焦點的情況下開啟以捕獲診斷,或保持完全關閉。", + }, + ASSISTANT_MESSAGE_PARSER: { + name: "使用全新訊息解析器", + description: "啟用實驗性的串流訊息解析器。透過更有效率地處理訊息,能顯著提升長回覆的效能。", + }, + }, + HYe = { label: "停用提示詞快取", description: "勾選後,Roo 將不會為此模型使用提示詞快取。" }, + GYe = { + useCustom: "使用自訂溫度", + description: "控制模型回應的隨機性", + rangeDescription: "較高值使輸出更隨機,較低值更確定", + }, + QYe = { + supportsImages: "支援影像", + noImages: "不支援影像", + supportsComputerUse: "支援電腦使用", + noComputerUse: "不支援電腦使用", + supportsPromptCache: "支援提示快取", + noPromptCache: "不支援提示快取", + maxOutput: "最大輸出", + inputPrice: "輸入價格", + outputPrice: "輸出價格", + cacheReadsPrice: "快取讀取價格", + cacheWritesPrice: "快取寫入價格", + enableStreaming: "啟用串流輸出", + enableR1Format: "啟用 R1 模型參數", + enableR1FormatTips: "使用 QWQ 等 R1 模型時必須啟用,以避免發生 400 錯誤", + useAzure: "使用 Azure", + azureApiVersion: "設定 Azure API 版本", + gemini: { + freeRequests: "* 每分鐘可免費使用 {{count}} 次請求,超過後將依提示大小計費。", + pricingDetails: "詳細資訊請參閱定價說明。", + billingEstimate: "* 費用為估算值 - 實際費用取決於提示大小。", + }, + }, + ZYe = { + automaticFetch: + "此擴充功能會自動從 <serviceLink>{{serviceName}}</serviceLink> 取得最新的可用模型清單。如果不確定要選哪個模型,建議使用 <defaultModelLink>{{defaultModelId}}</defaultModelLink>,這是與 Roo Code 最佳搭配的模型。您也可以搜尋「free」來檢視目前可用的免費選項。", + label: "模型", + searchPlaceholder: "搜尋", + noMatchFound: "找不到符合的項目", + useCustomModel: "使用自訂模型:{{modelId}}", + }, + YYe = { + feedback: + "若您有任何問題或建議,歡迎至 <githubLink>github.com/RooCodeInc/Roo-Code</githubLink> 提出 issue,或加入 <redditLink>reddit.com/r/RooCode</redditLink> 或 <discordLink>discord.gg/roocode</discordLink> 討論。", + telemetry: { + label: "允許匿名錯誤與使用情況回報", + description: + "透過傳送匿名的使用資料與錯誤回報,協助改善 Roo Code。我們絕不會傳送您的程式碼、提示或個人資訊。詳細資訊請參閱我們的隱私權政策。", + }, + settings: { import: "匯入", export: "匯出", reset: "重設" }, + }, + XYe = { maxTokens: "最大 token 數", maxThinkingTokens: "最大思考 token 數" }, + JYe = { + apiKey: "請提供有效的 API 金鑰。", + awsRegion: "請選擇要用於 Amazon Bedrock 的區域。", + googleCloud: "請提供有效的 Google Cloud 專案 ID 和區域。", + modelId: "請提供有效的模型 ID。", + modelSelector: "請提供有效的模型選擇器。", + openAi: "請提供有效的基礎 URL、API 金鑰和模型 ID。", + arn: { + invalidFormat: "ARN 格式無效,請檢查格式要求。", + regionMismatch: + "警告:您 ARN 中的區域 ({{arnRegion}}) 與您選擇的區域 ({{region}}) 不符,可能導致存取問題。系統將使用 ARN 中指定的區域。", + }, + modelAvailability: "您指定的模型 ID ({{modelId}}) 目前無法使用,請選擇其他模型。", + providerNotAllowed: "供應商 '{{provider}}' 不允許用於您的組織。", + modelNotAllowed: "模型 '{{model}}' 不允許用於供應商 '{{provider}}',您的組織不允許", + profileInvalid: "此設定檔包含您的組織不允許的供應商或模型", + }, + eXe = { + apiKey: "請輸入 API 金鑰...", + profileName: "請輸入設定檔名稱", + accessKey: "請輸入存取金鑰...", + secretKey: "請輸入金鑰...", + sessionToken: "請輸入工作階段權杖...", + credentialsJson: "請輸入憑證 JSON...", + keyFilePath: "請輸入金鑰檔案路徑...", + projectId: "請輸入專案 ID...", + customArn: "請輸入 ARN(例:arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)", + baseUrl: "請輸入基礎 URL...", + modelId: { + lmStudio: "例:meta-llama-3.1-8b-instruct", + lmStudioDraft: "例:lmstudio-community/llama-3.2-1b-instruct", + ollama: "例:llama3.1", + }, + numbers: { + maxTokens: "例:4096", + contextWindow: "例:128000", + inputPrice: "例:0.0001", + outputPrice: "例:0.0002", + cacheWritePrice: "例:0.00005", + }, + }, + tXe = { + ollamaUrl: "預設:http://localhost:11434", + lmStudioUrl: "預設:http://localhost:1234", + geminiUrl: "預設:https://generativelanguage.googleapis.com", + }, + nXe = { customArn: "自訂 ARN", useCustomArn: "使用自訂 ARN..." }, + oXe = "包含最大輸出 Token 數", + rXe = "在 API 請求中傳送最大輸出 Token 參數。某些提供商可能不支援此功能。", + iXe = "限制回應中的最大 Token 數量", + sXe = "最大輸出 Token 數", + aXe = "回應中產生的最大 Token 數", + lwt = { + common: MYe, + header: jYe, + unsavedChangesDialog: EYe, + sections: zYe, + prompts: $Ye, + codeIndex: LYe, + autoApprove: DYe, + providers: NYe, + browser: OYe, + checkpoints: FYe, + notifications: BYe, + contextManagement: UYe, + terminal: qYe, + advancedSettings: WYe, + advanced: KYe, + experimental: VYe, + promptCaching: HYe, + temperature: GYe, + modelInfo: QYe, + modelPicker: ZYe, + footer: YYe, + thinkingBudget: XYe, + validation: JYe, + placeholders: eXe, + defaults: tXe, + labels: nXe, + includeMaxOutputTokens: oXe, + includeMaxOutputTokensDescription: rXe, + limitMaxTokensDescription: iXe, + maxOutputTokensLabel: sXe, + maxTokensGenerateDescription: aXe, + }, + cwt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + advanced: KYe, + advancedSettings: WYe, + autoApprove: DYe, + browser: OYe, + checkpoints: FYe, + codeIndex: LYe, + common: MYe, + contextManagement: UYe, + default: lwt, + defaults: tXe, + experimental: VYe, + footer: YYe, + header: jYe, + includeMaxOutputTokens: oXe, + includeMaxOutputTokensDescription: rXe, + labels: nXe, + limitMaxTokensDescription: iXe, + maxOutputTokensLabel: sXe, + maxTokensGenerateDescription: aXe, + modelInfo: QYe, + modelPicker: ZYe, + notifications: BYe, + placeholders: eXe, + promptCaching: HYe, + prompts: $Ye, + providers: NYe, + sections: zYe, + temperature: GYe, + terminal: qYe, + thinkingBudget: XYe, + unsavedChangesDialog: EYe, + validation: JYe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + lXe = "歡迎使用 Roo Code!", + cXe = + "透過一系列內建和可擴充的模式,Roo Code 讓您能夠以前所未有的方式進行規劃、架構設計、編碼、除錯並提升工作效率。", + dXe = "開始使用前,此擴充功能需要一個 API 提供者。", + uXe = "讓我們開始吧!", + pXe = { + requesty: { description: "您的最佳化 LLM 路由器", incentive: "$1 免費額度" }, + openrouter: { description: "LLM 的統一介面" }, + }, + mXe = "Roo 需要一個 API 金鑰才能發揮魔力。", + hXe = "我們建議使用 LLM 路由器:", + fXe = "或者您可以使用自己的 API 金鑰:", + gXe = { + title: "協助改進 Roo Code", + anonymousTelemetry: + "傳送匿名的錯誤和使用資料,以協助我們修復錯誤並改進擴充功能。我們絕不會傳送任何程式碼、提示或個人資訊。", + changeSettings: "您隨時可以在<settingsLink>設定</settingsLink>底端更改此選項", + settings: "設定", + allow: "允許", + deny: "拒絕", + }, + vXe = "匯入設定", + dwt = { + greeting: lXe, + introduction: cXe, + notice: dXe, + start: uXe, + routers: pXe, + chooseProvider: mXe, + startRouter: hXe, + startCustom: fXe, + telemetry: gXe, + importSettings: vXe, + }, + uwt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + chooseProvider: mXe, + default: dwt, + greeting: lXe, + importSettings: vXe, + introduction: cXe, + notice: dXe, + routers: pXe, + start: uXe, + startCustom: fXe, + startRouter: hXe, + telemetry: gXe, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + Jt = (t) => typeof t == "string", + Mg = () => { + let t, e + const n = new Promise((o, r) => { + ;(t = o), (e = r) + }) + return (n.resolve = t), (n.reject = e), n + }, + DN = (t) => (t == null ? "" : "" + t), + pwt = (t, e, n) => { + t.forEach((o) => { + e[o] && (n[o] = e[o]) + }) + }, + mwt = /###/g, + NN = (t) => (t && t.indexOf("###") > -1 ? t.replace(mwt, ".") : t), + ON = (t) => !t || Jt(t), + gv = (t, e, n) => { + const o = Jt(e) ? e.split(".") : e + let r = 0 + for (; r < o.length - 1; ) { + if (ON(t)) return {} + const i = NN(o[r]) + !t[i] && n && (t[i] = new n()), Object.prototype.hasOwnProperty.call(t, i) ? (t = t[i]) : (t = {}), ++r + } + return ON(t) ? {} : { obj: t, k: NN(o[r]) } + }, + FN = (t, e, n) => { + const { obj: o, k: r } = gv(t, e, Object) + if (o !== void 0 || e.length === 1) { + o[r] = n + return + } + let i = e[e.length - 1], + s = e.slice(0, e.length - 1), + a = gv(t, s, Object) + for (; a.obj === void 0 && s.length; ) + (i = `${s[s.length - 1]}.${i}`), + (s = s.slice(0, s.length - 1)), + (a = gv(t, s, Object)), + a != null && a.obj && typeof a.obj[`${a.k}.${i}`] < "u" && (a.obj = void 0) + a.obj[`${a.k}.${i}`] = n + }, + hwt = (t, e, n, o) => { + const { obj: r, k: i } = gv(t, e, Object) + ;(r[i] = r[i] || []), r[i].push(n) + }, + sw = (t, e) => { + const { obj: n, k: o } = gv(t, e) + if (n && Object.prototype.hasOwnProperty.call(n, o)) return n[o] + }, + fwt = (t, e, n) => { + const o = sw(t, n) + return o !== void 0 ? o : sw(e, n) + }, + bXe = (t, e, n) => { + for (const o in e) + o !== "__proto__" && + o !== "constructor" && + (o in t + ? Jt(t[o]) || t[o] instanceof String || Jt(e[o]) || e[o] instanceof String + ? n && (t[o] = e[o]) + : bXe(t[o], e[o], n) + : (t[o] = e[o])) + return t + }, + Am = (t) => t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&") +var gwt = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/" } +const vwt = (t) => (Jt(t) ? t.replace(/[&<>"'\/]/g, (e) => gwt[e]) : t) +class bwt { + constructor(e) { + ;(this.capacity = e), (this.regExpMap = new Map()), (this.regExpQueue = []) + } + getRegExp(e) { + const n = this.regExpMap.get(e) + if (n !== void 0) return n + const o = new RegExp(e) + return ( + this.regExpQueue.length === this.capacity && this.regExpMap.delete(this.regExpQueue.shift()), + this.regExpMap.set(e, o), + this.regExpQueue.push(e), + o + ) + } +} +const ywt = [" ", ",", "?", "!", ";"], + kwt = new bwt(20), + xwt = (t, e, n) => { + ;(e = e || ""), (n = n || "") + const o = ywt.filter((s) => e.indexOf(s) < 0 && n.indexOf(s) < 0) + if (o.length === 0) return !0 + const r = kwt.getRegExp(`(${o.map((s) => (s === "?" ? "\\?" : s)).join("|")})`) + let i = !r.test(t) + if (!i) { + const s = t.indexOf(n) + s > 0 && !r.test(t.substring(0, s)) && (i = !0) + } + return i + }, + i1 = (t, e, n = ".") => { + if (!t) return + if (t[e]) return Object.prototype.hasOwnProperty.call(t, e) ? t[e] : void 0 + const o = e.split(n) + let r = t + for (let i = 0; i < o.length; ) { + if (!r || typeof r != "object") return + let s, + a = "" + for (let c = i; c < o.length; ++c) + if ((c !== i && (a += n), (a += o[c]), (s = r[a]), s !== void 0)) { + if (["string", "number", "boolean"].indexOf(typeof s) > -1 && c < o.length - 1) continue + i += c - i + 1 + break + } + r = s + } + return r + }, + Nv = (t) => (t == null ? void 0 : t.replace("_", "-")), + wwt = { + type: "logger", + log(t) { + this.output("log", t) + }, + warn(t) { + this.output("warn", t) + }, + error(t) { + this.output("error", t) + }, + output(t, e) { + var n, o + ;(o = (n = console == null ? void 0 : console[t]) == null ? void 0 : n.apply) == null || + o.call(n, console, e) + }, + } +class aw { + constructor(e, n = {}) { + this.init(e, n) + } + init(e, n = {}) { + ;(this.prefix = n.prefix || "i18next:"), (this.logger = e || wwt), (this.options = n), (this.debug = n.debug) + } + log(...e) { + return this.forward(e, "log", "", !0) + } + warn(...e) { + return this.forward(e, "warn", "", !0) + } + error(...e) { + return this.forward(e, "error", "") + } + deprecate(...e) { + return this.forward(e, "warn", "WARNING DEPRECATED: ", !0) + } + forward(e, n, o, r) { + return r && !this.debug ? null : (Jt(e[0]) && (e[0] = `${o}${this.prefix} ${e[0]}`), this.logger[n](e)) + } + create(e) { + return new aw(this.logger, { prefix: `${this.prefix}:${e}:`, ...this.options }) + } + clone(e) { + return (e = e || this.options), (e.prefix = e.prefix || this.prefix), new aw(this.logger, e) + } +} +var $l = new aw() +class D_ { + constructor() { + this.observers = {} + } + on(e, n) { + return ( + e.split(" ").forEach((o) => { + this.observers[o] || (this.observers[o] = new Map()) + const r = this.observers[o].get(n) || 0 + this.observers[o].set(n, r + 1) + }), + this + ) + } + off(e, n) { + if (this.observers[e]) { + if (!n) { + delete this.observers[e] + return + } + this.observers[e].delete(n) + } + } + emit(e, ...n) { + this.observers[e] && + Array.from(this.observers[e].entries()).forEach(([r, i]) => { + for (let s = 0; s < i; s++) r(...n) + }), + this.observers["*"] && + Array.from(this.observers["*"].entries()).forEach(([r, i]) => { + for (let s = 0; s < i; s++) r.apply(r, [e, ...n]) + }) + } +} +class BN extends D_ { + constructor(e, n = { ns: ["translation"], defaultNS: "translation" }) { + super(), + (this.data = e || {}), + (this.options = n), + this.options.keySeparator === void 0 && (this.options.keySeparator = "."), + this.options.ignoreJSONStructure === void 0 && (this.options.ignoreJSONStructure = !0) + } + addNamespaces(e) { + this.options.ns.indexOf(e) < 0 && this.options.ns.push(e) + } + removeNamespaces(e) { + const n = this.options.ns.indexOf(e) + n > -1 && this.options.ns.splice(n, 1) + } + getResource(e, n, o, r = {}) { + var d, u + const i = r.keySeparator !== void 0 ? r.keySeparator : this.options.keySeparator, + s = r.ignoreJSONStructure !== void 0 ? r.ignoreJSONStructure : this.options.ignoreJSONStructure + let a + e.indexOf(".") > -1 + ? (a = e.split(".")) + : ((a = [e, n]), o && (Array.isArray(o) ? a.push(...o) : Jt(o) && i ? a.push(...o.split(i)) : a.push(o))) + const c = sw(this.data, a) + return ( + !c && !n && !o && e.indexOf(".") > -1 && ((e = a[0]), (n = a[1]), (o = a.slice(2).join("."))), + c || !s || !Jt(o) ? c : i1((u = (d = this.data) == null ? void 0 : d[e]) == null ? void 0 : u[n], o, i) + ) + } + addResource(e, n, o, r, i = { silent: !1 }) { + const s = i.keySeparator !== void 0 ? i.keySeparator : this.options.keySeparator + let a = [e, n] + o && (a = a.concat(s ? o.split(s) : o)), + e.indexOf(".") > -1 && ((a = e.split(".")), (r = n), (n = a[1])), + this.addNamespaces(n), + FN(this.data, a, r), + i.silent || this.emit("added", e, n, o, r) + } + addResources(e, n, o, r = { silent: !1 }) { + for (const i in o) (Jt(o[i]) || Array.isArray(o[i])) && this.addResource(e, n, i, o[i], { silent: !0 }) + r.silent || this.emit("added", e, n, o) + } + addResourceBundle(e, n, o, r, i, s = { silent: !1, skipCopy: !1 }) { + let a = [e, n] + e.indexOf(".") > -1 && ((a = e.split(".")), (r = o), (o = n), (n = a[1])), this.addNamespaces(n) + let c = sw(this.data, a) || {} + s.skipCopy || (o = JSON.parse(JSON.stringify(o))), + r ? bXe(c, o, i) : (c = { ...c, ...o }), + FN(this.data, a, c), + s.silent || this.emit("added", e, n, o) + } + removeResourceBundle(e, n) { + this.hasResourceBundle(e, n) && delete this.data[e][n], this.removeNamespaces(n), this.emit("removed", e, n) + } + hasResourceBundle(e, n) { + return this.getResource(e, n) !== void 0 + } + getResourceBundle(e, n) { + return n || (n = this.options.defaultNS), this.getResource(e, n) + } + getDataByLanguage(e) { + return this.data[e] + } + hasLanguageSomeTranslations(e) { + const n = this.getDataByLanguage(e) + return !!((n && Object.keys(n)) || []).find((r) => n[r] && Object.keys(n[r]).length > 0) + } + toJSON() { + return this.data + } +} +var yXe = { + processors: {}, + addPostProcessor(t) { + this.processors[t.name] = t + }, + handle(t, e, n, o, r) { + return ( + t.forEach((i) => { + var s + e = ((s = this.processors[i]) == null ? void 0 : s.process(e, n, o, r)) ?? e + }), + e + ) + }, +} +const UN = {}, + qN = (t) => !Jt(t) && typeof t != "boolean" && typeof t != "number" +class lw extends D_ { + constructor(e, n = {}) { + super(), + pwt( + [ + "resourceStore", + "languageUtils", + "pluralResolver", + "interpolator", + "backendConnector", + "i18nFormat", + "utils", + ], + e, + this, + ), + (this.options = n), + this.options.keySeparator === void 0 && (this.options.keySeparator = "."), + (this.logger = $l.create("translator")) + } + changeLanguage(e) { + e && (this.language = e) + } + exists(e, n = { interpolation: {} }) { + const o = { ...n } + if (e == null) return !1 + const r = this.resolve(e, o) + return (r == null ? void 0 : r.res) !== void 0 + } + extractFromKey(e, n) { + let o = n.nsSeparator !== void 0 ? n.nsSeparator : this.options.nsSeparator + o === void 0 && (o = ":") + const r = n.keySeparator !== void 0 ? n.keySeparator : this.options.keySeparator + let i = n.ns || this.options.defaultNS || [] + const s = o && e.indexOf(o) > -1, + a = + !this.options.userDefinedKeySeparator && + !n.keySeparator && + !this.options.userDefinedNsSeparator && + !n.nsSeparator && + !xwt(e, o, r) + if (s && !a) { + const c = e.match(this.interpolator.nestingRegexp) + if (c && c.length > 0) return { key: e, namespaces: Jt(i) ? [i] : i } + const d = e.split(o) + ;(o !== r || (o === r && this.options.ns.indexOf(d[0]) > -1)) && (i = d.shift()), (e = d.join(r)) + } + return { key: e, namespaces: Jt(i) ? [i] : i } + } + translate(e, n, o) { + let r = typeof n == "object" ? { ...n } : n + if ( + (typeof r != "object" && + this.options.overloadTranslationOptionHandler && + (r = this.options.overloadTranslationOptionHandler(arguments)), + typeof options == "object" && (r = { ...r }), + r || (r = {}), + e == null) + ) + return "" + Array.isArray(e) || (e = [String(e)]) + const i = r.returnDetails !== void 0 ? r.returnDetails : this.options.returnDetails, + s = r.keySeparator !== void 0 ? r.keySeparator : this.options.keySeparator, + { key: a, namespaces: c } = this.extractFromKey(e[e.length - 1], r), + d = c[c.length - 1] + let u = r.nsSeparator !== void 0 ? r.nsSeparator : this.options.nsSeparator + u === void 0 && (u = ":") + const m = r.lng || this.language, + f = r.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode + if ((m == null ? void 0 : m.toLowerCase()) === "cimode") + return f + ? i + ? { + res: `${d}${u}${a}`, + usedKey: a, + exactUsedKey: a, + usedLng: m, + usedNS: d, + usedParams: this.getUsedParamsDetails(r), + } + : `${d}${u}${a}` + : i + ? { + res: a, + usedKey: a, + exactUsedKey: a, + usedLng: m, + usedNS: d, + usedParams: this.getUsedParamsDetails(r), + } + : a + const g = this.resolve(e, r) + let b = g == null ? void 0 : g.res + const v = (g == null ? void 0 : g.usedKey) || a, + w = (g == null ? void 0 : g.exactUsedKey) || a, + _ = ["[object Number]", "[object Function]", "[object RegExp]"], + y = r.joinArrays !== void 0 ? r.joinArrays : this.options.joinArrays, + C = !this.i18nFormat || this.i18nFormat.handleAsObject, + S = r.count !== void 0 && !Jt(r.count), + P = lw.hasDefaultValue(r), + R = S ? this.pluralResolver.getSuffix(m, r.count, r) : "", + T = r.ordinal && S ? this.pluralResolver.getSuffix(m, r.count, { ordinal: !1 }) : "", + E = S && !r.ordinal && r.count === 0, + $ = + (E && r[`defaultValue${this.options.pluralSeparator}zero`]) || + r[`defaultValue${R}`] || + r[`defaultValue${T}`] || + r.defaultValue + let j = b + C && !b && P && (j = $) + const L = qN(j), + W = Object.prototype.toString.apply(j) + if (C && j && L && _.indexOf(W) < 0 && !(Jt(y) && Array.isArray(j))) { + if (!r.returnObjects && !this.options.returnObjects) { + this.options.returnedObjectHandler || + this.logger.warn("accessing an object - but returnObjects options is not enabled!") + const G = this.options.returnedObjectHandler + ? this.options.returnedObjectHandler(v, j, { ...r, ns: c }) + : `key '${a} (${this.language})' returned an object instead of string.` + return i ? ((g.res = G), (g.usedParams = this.getUsedParamsDetails(r)), g) : G + } + if (s) { + const G = Array.isArray(j), + U = G ? [] : {}, + Z = G ? w : v + for (const V in j) + if (Object.prototype.hasOwnProperty.call(j, V)) { + const X = `${Z}${s}${V}` + P && !b + ? (U[V] = this.translate(X, { + ...r, + defaultValue: qN($) ? $[V] : void 0, + joinArrays: !1, + ns: c, + })) + : (U[V] = this.translate(X, { ...r, joinArrays: !1, ns: c })), + U[V] === X && (U[V] = j[V]) + } + b = U + } + } else if (C && Jt(y) && Array.isArray(b)) (b = b.join(y)), b && (b = this.extendTranslation(b, e, r, o)) + else { + let G = !1, + U = !1 + !this.isValidLookup(b) && P && ((G = !0), (b = $)), this.isValidLookup(b) || ((U = !0), (b = a)) + const V = + (r.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey) && U ? void 0 : b, + X = P && $ !== b && this.options.updateMissing + if (U || G || X) { + if ((this.logger.log(X ? "updateKey" : "missingKey", m, d, a, X ? $ : b), s)) { + const D = this.resolve(a, { ...r, keySeparator: !1 }) + D && + D.res && + this.logger.warn( + "Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.", + ) + } + let H = [] + const B = this.languageUtils.getFallbackCodes(this.options.fallbackLng, r.lng || this.language) + if (this.options.saveMissingTo === "fallback" && B && B[0]) + for (let D = 0; D < B.length; D++) H.push(B[D]) + else + this.options.saveMissingTo === "all" + ? (H = this.languageUtils.toResolveHierarchy(r.lng || this.language)) + : H.push(r.lng || this.language) + const M = (D, F, N) => { + var oe + const J = P && N !== b ? N : V + this.options.missingKeyHandler + ? this.options.missingKeyHandler(D, d, F, J, X, r) + : (oe = this.backendConnector) != null && + oe.saveMissing && + this.backendConnector.saveMissing(D, d, F, J, X, r), + this.emit("missingKey", D, d, F, b) + } + this.options.saveMissing && + (this.options.saveMissingPlurals && S + ? H.forEach((D) => { + const F = this.pluralResolver.getSuffixes(D, r) + E && + r[`defaultValue${this.options.pluralSeparator}zero`] && + F.indexOf(`${this.options.pluralSeparator}zero`) < 0 && + F.push(`${this.options.pluralSeparator}zero`), + F.forEach((N) => { + M([D], a + N, r[`defaultValue${N}`] || $) + }) + }) + : M(H, a, $)) + } + ;(b = this.extendTranslation(b, e, r, g, o)), + U && b === a && this.options.appendNamespaceToMissingKey && (b = `${d}${u}${a}`), + (U || G) && + this.options.parseMissingKeyHandler && + (b = this.options.parseMissingKeyHandler( + this.options.appendNamespaceToMissingKey ? `${d}${u}${a}` : a, + G ? b : void 0, + r, + )) + } + return i ? ((g.res = b), (g.usedParams = this.getUsedParamsDetails(r)), g) : b + } + extendTranslation(e, n, o, r, i) { + var c, d + if ((c = this.i18nFormat) != null && c.parse) + e = this.i18nFormat.parse( + e, + { ...this.options.interpolation.defaultVariables, ...o }, + o.lng || this.language || r.usedLng, + r.usedNS, + r.usedKey, + { resolved: r }, + ) + else if (!o.skipInterpolation) { + o.interpolation && + this.interpolator.init({ ...o, interpolation: { ...this.options.interpolation, ...o.interpolation } }) + const u = + Jt(e) && + (((d = o == null ? void 0 : o.interpolation) == null ? void 0 : d.skipOnVariables) !== void 0 + ? o.interpolation.skipOnVariables + : this.options.interpolation.skipOnVariables) + let m + if (u) { + const g = e.match(this.interpolator.nestingRegexp) + m = g && g.length + } + let f = o.replace && !Jt(o.replace) ? o.replace : o + if ( + (this.options.interpolation.defaultVariables && + (f = { ...this.options.interpolation.defaultVariables, ...f }), + (e = this.interpolator.interpolate(e, f, o.lng || this.language || r.usedLng, o)), + u) + ) { + const g = e.match(this.interpolator.nestingRegexp), + b = g && g.length + m < b && (o.nest = !1) + } + !o.lng && r && r.res && (o.lng = this.language || r.usedLng), + o.nest !== !1 && + (e = this.interpolator.nest( + e, + (...g) => + (i == null ? void 0 : i[0]) === g[0] && !o.context + ? (this.logger.warn( + `It seems you are nesting recursively key: ${g[0]} in key: ${n[0]}`, + ), + null) + : this.translate(...g, n), + o, + )), + o.interpolation && this.interpolator.reset() + } + const s = o.postProcess || this.options.postProcess, + a = Jt(s) ? [s] : s + return ( + e != null && + a != null && + a.length && + o.applyPostProcessor !== !1 && + (e = yXe.handle( + a, + e, + n, + this.options && this.options.postProcessPassResolved + ? { i18nResolved: { ...r, usedParams: this.getUsedParamsDetails(o) }, ...o } + : o, + this, + )), + e + ) + } + resolve(e, n = {}) { + let o, r, i, s, a + return ( + Jt(e) && (e = [e]), + e.forEach((c) => { + if (this.isValidLookup(o)) return + const d = this.extractFromKey(c, n), + u = d.key + r = u + let m = d.namespaces + this.options.fallbackNS && (m = m.concat(this.options.fallbackNS)) + const f = n.count !== void 0 && !Jt(n.count), + g = f && !n.ordinal && n.count === 0, + b = n.context !== void 0 && (Jt(n.context) || typeof n.context == "number") && n.context !== "", + v = n.lngs ? n.lngs : this.languageUtils.toResolveHierarchy(n.lng || this.language, n.fallbackLng) + m.forEach((w) => { + var _, y + this.isValidLookup(o) || + ((a = w), + !UN[`${v[0]}-${w}`] && + (_ = this.utils) != null && + _.hasLoadedNamespace && + !((y = this.utils) != null && y.hasLoadedNamespace(a)) && + ((UN[`${v[0]}-${w}`] = !0), + this.logger.warn( + `key "${r}" for languages "${v.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`, + "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!", + )), + v.forEach((C) => { + var R + if (this.isValidLookup(o)) return + s = C + const S = [u] + if ((R = this.i18nFormat) != null && R.addLookupKeys) + this.i18nFormat.addLookupKeys(S, u, C, w, n) + else { + let T + f && (T = this.pluralResolver.getSuffix(C, n.count, n)) + const E = `${this.options.pluralSeparator}zero`, + $ = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}` + if ( + (f && + (S.push(u + T), + n.ordinal && + T.indexOf($) === 0 && + S.push(u + T.replace($, this.options.pluralSeparator)), + g && S.push(u + E)), + b) + ) { + const j = `${u}${this.options.contextSeparator}${n.context}` + S.push(j), + f && + (S.push(j + T), + n.ordinal && + T.indexOf($) === 0 && + S.push(j + T.replace($, this.options.pluralSeparator)), + g && S.push(j + E)) + } + } + let P + for (; (P = S.pop()); ) + this.isValidLookup(o) || ((i = P), (o = this.getResource(C, w, P, n))) + })) + }) + }), + { res: o, usedKey: r, exactUsedKey: i, usedLng: s, usedNS: a } + ) + } + isValidLookup(e) { + return ( + e !== void 0 && !(!this.options.returnNull && e === null) && !(!this.options.returnEmptyString && e === "") + ) + } + getResource(e, n, o, r = {}) { + var i + return (i = this.i18nFormat) != null && i.getResource + ? this.i18nFormat.getResource(e, n, o, r) + : this.resourceStore.getResource(e, n, o, r) + } + getUsedParamsDetails(e = {}) { + const n = [ + "defaultValue", + "ordinal", + "context", + "replace", + "lng", + "lngs", + "fallbackLng", + "ns", + "keySeparator", + "nsSeparator", + "returnObjects", + "returnDetails", + "joinArrays", + "postProcess", + "interpolation", + ], + o = e.replace && !Jt(e.replace) + let r = o ? e.replace : e + if ( + (o && typeof e.count < "u" && (r.count = e.count), + this.options.interpolation.defaultVariables && + (r = { ...this.options.interpolation.defaultVariables, ...r }), + !o) + ) { + r = { ...r } + for (const i of n) delete r[i] + } + return r + } + static hasDefaultValue(e) { + const n = "defaultValue" + for (const o in e) + if (Object.prototype.hasOwnProperty.call(e, o) && n === o.substring(0, n.length) && e[o] !== void 0) + return !0 + return !1 + } +} +class WN { + constructor(e) { + ;(this.options = e), + (this.supportedLngs = this.options.supportedLngs || !1), + (this.logger = $l.create("languageUtils")) + } + getScriptPartFromCode(e) { + if (((e = Nv(e)), !e || e.indexOf("-") < 0)) return null + const n = e.split("-") + return n.length === 2 || (n.pop(), n[n.length - 1].toLowerCase() === "x") + ? null + : this.formatLanguageCode(n.join("-")) + } + getLanguagePartFromCode(e) { + if (((e = Nv(e)), !e || e.indexOf("-") < 0)) return e + const n = e.split("-") + return this.formatLanguageCode(n[0]) + } + formatLanguageCode(e) { + if (Jt(e) && e.indexOf("-") > -1) { + let n + try { + n = Intl.getCanonicalLocales(e)[0] + } catch {} + return ( + n && this.options.lowerCaseLng && (n = n.toLowerCase()), + n || (this.options.lowerCaseLng ? e.toLowerCase() : e) + ) + } + return this.options.cleanCode || this.options.lowerCaseLng ? e.toLowerCase() : e + } + isSupportedCode(e) { + return ( + (this.options.load === "languageOnly" || this.options.nonExplicitSupportedLngs) && + (e = this.getLanguagePartFromCode(e)), + !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(e) > -1 + ) + } + getBestMatchFromCodes(e) { + if (!e) return null + let n + return ( + e.forEach((o) => { + if (n) return + const r = this.formatLanguageCode(o) + ;(!this.options.supportedLngs || this.isSupportedCode(r)) && (n = r) + }), + !n && + this.options.supportedLngs && + e.forEach((o) => { + if (n) return + const r = this.getScriptPartFromCode(o) + if (this.isSupportedCode(r)) return (n = r) + const i = this.getLanguagePartFromCode(o) + if (this.isSupportedCode(i)) return (n = i) + n = this.options.supportedLngs.find((s) => { + if (s === i) return s + if ( + !(s.indexOf("-") < 0 && i.indexOf("-") < 0) && + ((s.indexOf("-") > 0 && i.indexOf("-") < 0 && s.substring(0, s.indexOf("-")) === i) || + (s.indexOf(i) === 0 && i.length > 1)) + ) + return s + }) + }), + n || (n = this.getFallbackCodes(this.options.fallbackLng)[0]), + n + ) + } + getFallbackCodes(e, n) { + if (!e) return [] + if ((typeof e == "function" && (e = e(n)), Jt(e) && (e = [e]), Array.isArray(e))) return e + if (!n) return e.default || [] + let o = e[n] + return ( + o || (o = e[this.getScriptPartFromCode(n)]), + o || (o = e[this.formatLanguageCode(n)]), + o || (o = e[this.getLanguagePartFromCode(n)]), + o || (o = e.default), + o || [] + ) + } + toResolveHierarchy(e, n) { + const o = this.getFallbackCodes((n === !1 ? [] : n) || this.options.fallbackLng || [], e), + r = [], + i = (s) => { + s && + (this.isSupportedCode(s) + ? r.push(s) + : this.logger.warn(`rejecting language code not found in supportedLngs: ${s}`)) + } + return ( + Jt(e) && (e.indexOf("-") > -1 || e.indexOf("_") > -1) + ? (this.options.load !== "languageOnly" && i(this.formatLanguageCode(e)), + this.options.load !== "languageOnly" && + this.options.load !== "currentOnly" && + i(this.getScriptPartFromCode(e)), + this.options.load !== "currentOnly" && i(this.getLanguagePartFromCode(e))) + : Jt(e) && i(this.formatLanguageCode(e)), + o.forEach((s) => { + r.indexOf(s) < 0 && i(this.formatLanguageCode(s)) + }), + r + ) + } +} +const KN = { zero: 0, one: 1, two: 2, few: 3, many: 4, other: 5 }, + VN = { select: (t) => (t === 1 ? "one" : "other"), resolvedOptions: () => ({ pluralCategories: ["one", "other"] }) } +class _wt { + constructor(e, n = {}) { + ;(this.languageUtils = e), + (this.options = n), + (this.logger = $l.create("pluralResolver")), + (this.pluralRulesCache = {}) + } + addRule(e, n) { + this.rules[e] = n + } + clearCache() { + this.pluralRulesCache = {} + } + getRule(e, n = {}) { + const o = Nv(e === "dev" ? "en" : e), + r = n.ordinal ? "ordinal" : "cardinal", + i = JSON.stringify({ cleanedCode: o, type: r }) + if (i in this.pluralRulesCache) return this.pluralRulesCache[i] + let s + try { + s = new Intl.PluralRules(o, { type: r }) + } catch { + if (!Intl) return this.logger.error("No Intl support, please use an Intl polyfill!"), VN + if (!e.match(/-|_/)) return VN + const c = this.languageUtils.getLanguagePartFromCode(e) + s = this.getRule(c, n) + } + return (this.pluralRulesCache[i] = s), s + } + needsPlural(e, n = {}) { + let o = this.getRule(e, n) + return o || (o = this.getRule("dev", n)), (o == null ? void 0 : o.resolvedOptions().pluralCategories.length) > 1 + } + getPluralFormsOfKey(e, n, o = {}) { + return this.getSuffixes(e, o).map((r) => `${n}${r}`) + } + getSuffixes(e, n = {}) { + let o = this.getRule(e, n) + return ( + o || (o = this.getRule("dev", n)), + o + ? o + .resolvedOptions() + .pluralCategories.sort((r, i) => KN[r] - KN[i]) + .map((r) => `${this.options.prepend}${n.ordinal ? `ordinal${this.options.prepend}` : ""}${r}`) + : [] + ) + } + getSuffix(e, n, o = {}) { + const r = this.getRule(e, o) + return r + ? `${this.options.prepend}${o.ordinal ? `ordinal${this.options.prepend}` : ""}${r.select(n)}` + : (this.logger.warn(`no plural rule found for: ${e}`), this.getSuffix("dev", n, o)) + } +} +const HN = (t, e, n, o = ".", r = !0) => { + let i = fwt(t, e, n) + return !i && r && Jt(n) && ((i = i1(t, n, o)), i === void 0 && (i = i1(e, n, o))), i + }, + nA = (t) => t.replace(/\$/g, "$$$$") +class Cwt { + constructor(e = {}) { + var n + ;(this.logger = $l.create("interpolator")), + (this.options = e), + (this.format = ((n = e == null ? void 0 : e.interpolation) == null ? void 0 : n.format) || ((o) => o)), + this.init(e) + } + init(e = {}) { + e.interpolation || (e.interpolation = { escapeValue: !0 }) + const { + escape: n, + escapeValue: o, + useRawValueToEscape: r, + prefix: i, + prefixEscaped: s, + suffix: a, + suffixEscaped: c, + formatSeparator: d, + unescapeSuffix: u, + unescapePrefix: m, + nestingPrefix: f, + nestingPrefixEscaped: g, + nestingSuffix: b, + nestingSuffixEscaped: v, + nestingOptionsSeparator: w, + maxReplaces: _, + alwaysFormat: y, + } = e.interpolation + ;(this.escape = n !== void 0 ? n : vwt), + (this.escapeValue = o !== void 0 ? o : !0), + (this.useRawValueToEscape = r !== void 0 ? r : !1), + (this.prefix = i ? Am(i) : s || "{{"), + (this.suffix = a ? Am(a) : c || "}}"), + (this.formatSeparator = d || ","), + (this.unescapePrefix = u ? "" : m || "-"), + (this.unescapeSuffix = this.unescapePrefix ? "" : u || ""), + (this.nestingPrefix = f ? Am(f) : g || Am("$t(")), + (this.nestingSuffix = b ? Am(b) : v || Am(")")), + (this.nestingOptionsSeparator = w || ","), + (this.maxReplaces = _ || 1e3), + (this.alwaysFormat = y !== void 0 ? y : !1), + this.resetRegExp() + } + reset() { + this.options && this.init(this.options) + } + resetRegExp() { + const e = (n, o) => ((n == null ? void 0 : n.source) === o ? ((n.lastIndex = 0), n) : new RegExp(o, "g")) + ;(this.regexp = e(this.regexp, `${this.prefix}(.+?)${this.suffix}`)), + (this.regexpUnescape = e( + this.regexpUnescape, + `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`, + )), + (this.nestingRegexp = e(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`)) + } + interpolate(e, n, o, r) { + var g + let i, s, a + const c = (this.options && this.options.interpolation && this.options.interpolation.defaultVariables) || {}, + d = (b) => { + if (b.indexOf(this.formatSeparator) < 0) { + const y = HN(n, c, b, this.options.keySeparator, this.options.ignoreJSONStructure) + return this.alwaysFormat ? this.format(y, void 0, o, { ...r, ...n, interpolationkey: b }) : y + } + const v = b.split(this.formatSeparator), + w = v.shift().trim(), + _ = v.join(this.formatSeparator).trim() + return this.format(HN(n, c, w, this.options.keySeparator, this.options.ignoreJSONStructure), _, o, { + ...r, + ...n, + interpolationkey: w, + }) + } + this.resetRegExp() + const u = (r == null ? void 0 : r.missingInterpolationHandler) || this.options.missingInterpolationHandler, + m = + ((g = r == null ? void 0 : r.interpolation) == null ? void 0 : g.skipOnVariables) !== void 0 + ? r.interpolation.skipOnVariables + : this.options.interpolation.skipOnVariables + return ( + [ + { regex: this.regexpUnescape, safeValue: (b) => nA(b) }, + { regex: this.regexp, safeValue: (b) => (this.escapeValue ? nA(this.escape(b)) : nA(b)) }, + ].forEach((b) => { + for (a = 0; (i = b.regex.exec(e)); ) { + const v = i[1].trim() + if (((s = d(v)), s === void 0)) + if (typeof u == "function") { + const _ = u(e, i, r) + s = Jt(_) ? _ : "" + } else if (r && Object.prototype.hasOwnProperty.call(r, v)) s = "" + else if (m) { + s = i[0] + continue + } else this.logger.warn(`missed to pass in variable ${v} for interpolating ${e}`), (s = "") + else !Jt(s) && !this.useRawValueToEscape && (s = DN(s)) + const w = b.safeValue(s) + if ( + ((e = e.replace(i[0], w)), + m + ? ((b.regex.lastIndex += s.length), (b.regex.lastIndex -= i[0].length)) + : (b.regex.lastIndex = 0), + a++, + a >= this.maxReplaces) + ) + break + } + }), + e + ) + } + nest(e, n, o = {}) { + let r, i, s + const a = (c, d) => { + const u = this.nestingOptionsSeparator + if (c.indexOf(u) < 0) return c + const m = c.split(new RegExp(`${u}[ ]*{`)) + let f = `{${m[1]}` + ;(c = m[0]), (f = this.interpolate(f, s)) + const g = f.match(/'/g), + b = f.match(/"/g) + ;((((g == null ? void 0 : g.length) ?? 0) % 2 === 0 && !b) || b.length % 2 !== 0) && + (f = f.replace(/'/g, '"')) + try { + ;(s = JSON.parse(f)), d && (s = { ...d, ...s }) + } catch (v) { + return this.logger.warn(`failed parsing options string in nesting for key ${c}`, v), `${c}${u}${f}` + } + return s.defaultValue && s.defaultValue.indexOf(this.prefix) > -1 && delete s.defaultValue, c + } + for (; (r = this.nestingRegexp.exec(e)); ) { + let c = [] + ;(s = { ...o }), + (s = s.replace && !Jt(s.replace) ? s.replace : s), + (s.applyPostProcessor = !1), + delete s.defaultValue + let d = !1 + if (r[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(r[1])) { + const u = r[1].split(this.formatSeparator).map((m) => m.trim()) + ;(r[1] = u.shift()), (c = u), (d = !0) + } + if (((i = n(a.call(this, r[1].trim(), s), s)), i && r[0] === e && !Jt(i))) return i + Jt(i) || (i = DN(i)), + i || (this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`), (i = "")), + d && + (i = c.reduce( + (u, m) => this.format(u, m, o.lng, { ...o, interpolationkey: r[1].trim() }), + i.trim(), + )), + (e = e.replace(r[0], i)), + (this.regexp.lastIndex = 0) + } + return e + } +} +const Swt = (t) => { + let e = t.toLowerCase().trim() + const n = {} + if (t.indexOf("(") > -1) { + const o = t.split("(") + e = o[0].toLowerCase().trim() + const r = o[1].substring(0, o[1].length - 1) + e === "currency" && r.indexOf(":") < 0 + ? n.currency || (n.currency = r.trim()) + : e === "relativetime" && r.indexOf(":") < 0 + ? n.range || (n.range = r.trim()) + : r.split(";").forEach((s) => { + if (s) { + const [a, ...c] = s.split(":"), + d = c + .join(":") + .trim() + .replace(/^'+|'+$/g, ""), + u = a.trim() + n[u] || (n[u] = d), + d === "false" && (n[u] = !1), + d === "true" && (n[u] = !0), + isNaN(d) || (n[u] = parseInt(d, 10)) + } + }) + } + return { formatName: e, formatOptions: n } + }, + GN = (t) => { + const e = {} + return (n, o, r) => { + let i = r + r && + r.interpolationkey && + r.formatParams && + r.formatParams[r.interpolationkey] && + r[r.interpolationkey] && + (i = { ...i, [r.interpolationkey]: void 0 }) + const s = o + JSON.stringify(i) + let a = e[s] + return a || ((a = t(Nv(o), r)), (e[s] = a)), a(n) + } + }, + Awt = (t) => (e, n, o) => t(Nv(n), o)(e) +class Pwt { + constructor(e = {}) { + ;(this.logger = $l.create("formatter")), (this.options = e), this.init(e) + } + init(e, n = { interpolation: {} }) { + this.formatSeparator = n.interpolation.formatSeparator || "," + const o = n.cacheInBuiltFormats ? GN : Awt + this.formats = { + number: o((r, i) => { + const s = new Intl.NumberFormat(r, { ...i }) + return (a) => s.format(a) + }), + currency: o((r, i) => { + const s = new Intl.NumberFormat(r, { ...i, style: "currency" }) + return (a) => s.format(a) + }), + datetime: o((r, i) => { + const s = new Intl.DateTimeFormat(r, { ...i }) + return (a) => s.format(a) + }), + relativetime: o((r, i) => { + const s = new Intl.RelativeTimeFormat(r, { ...i }) + return (a) => s.format(a, i.range || "day") + }), + list: o((r, i) => { + const s = new Intl.ListFormat(r, { ...i }) + return (a) => s.format(a) + }), + } + } + add(e, n) { + this.formats[e.toLowerCase().trim()] = n + } + addCached(e, n) { + this.formats[e.toLowerCase().trim()] = GN(n) + } + format(e, n, o, r = {}) { + const i = n.split(this.formatSeparator) + if (i.length > 1 && i[0].indexOf("(") > 1 && i[0].indexOf(")") < 0 && i.find((a) => a.indexOf(")") > -1)) { + const a = i.findIndex((c) => c.indexOf(")") > -1) + i[0] = [i[0], ...i.splice(1, a)].join(this.formatSeparator) + } + return i.reduce((a, c) => { + var m + const { formatName: d, formatOptions: u } = Swt(c) + if (this.formats[d]) { + let f = a + try { + const g = + ((m = r == null ? void 0 : r.formatParams) == null ? void 0 : m[r.interpolationkey]) || {}, + b = g.locale || g.lng || r.locale || r.lng || o + f = this.formats[d](a, b, { ...u, ...r, ...g }) + } catch (g) { + this.logger.warn(g) + } + return f + } else this.logger.warn(`there was no format function for ${d}`) + return a + }, e) + } +} +const Rwt = (t, e) => { + t.pending[e] !== void 0 && (delete t.pending[e], t.pendingCount--) +} +class Twt extends D_ { + constructor(e, n, o, r = {}) { + var i, s + super(), + (this.backend = e), + (this.store = n), + (this.services = o), + (this.languageUtils = o.languageUtils), + (this.options = r), + (this.logger = $l.create("backendConnector")), + (this.waitingReads = []), + (this.maxParallelReads = r.maxParallelReads || 10), + (this.readingCalls = 0), + (this.maxRetries = r.maxRetries >= 0 ? r.maxRetries : 5), + (this.retryTimeout = r.retryTimeout >= 1 ? r.retryTimeout : 350), + (this.state = {}), + (this.queue = []), + (s = (i = this.backend) == null ? void 0 : i.init) == null || s.call(i, o, r.backend, r) + } + queueLoad(e, n, o, r) { + const i = {}, + s = {}, + a = {}, + c = {} + return ( + e.forEach((d) => { + let u = !0 + n.forEach((m) => { + const f = `${d}|${m}` + !o.reload && this.store.hasResourceBundle(d, m) + ? (this.state[f] = 2) + : this.state[f] < 0 || + (this.state[f] === 1 + ? s[f] === void 0 && (s[f] = !0) + : ((this.state[f] = 1), + (u = !1), + s[f] === void 0 && (s[f] = !0), + i[f] === void 0 && (i[f] = !0), + c[m] === void 0 && (c[m] = !0))) + }), + u || (a[d] = !0) + }), + (Object.keys(i).length || Object.keys(s).length) && + this.queue.push({ + pending: s, + pendingCount: Object.keys(s).length, + loaded: {}, + errors: [], + callback: r, + }), + { + toLoad: Object.keys(i), + pending: Object.keys(s), + toLoadLanguages: Object.keys(a), + toLoadNamespaces: Object.keys(c), + } + ) + } + loaded(e, n, o) { + const r = e.split("|"), + i = r[0], + s = r[1] + n && this.emit("failedLoading", i, s, n), + !n && o && this.store.addResourceBundle(i, s, o, void 0, void 0, { skipCopy: !0 }), + (this.state[e] = n ? -1 : 2), + n && o && (this.state[e] = 0) + const a = {} + this.queue.forEach((c) => { + hwt(c.loaded, [i], s), + Rwt(c, e), + n && c.errors.push(n), + c.pendingCount === 0 && + !c.done && + (Object.keys(c.loaded).forEach((d) => { + a[d] || (a[d] = {}) + const u = c.loaded[d] + u.length && + u.forEach((m) => { + a[d][m] === void 0 && (a[d][m] = !0) + }) + }), + (c.done = !0), + c.errors.length ? c.callback(c.errors) : c.callback()) + }), + this.emit("loaded", a), + (this.queue = this.queue.filter((c) => !c.done)) + } + read(e, n, o, r = 0, i = this.retryTimeout, s) { + if (!e.length) return s(null, {}) + if (this.readingCalls >= this.maxParallelReads) { + this.waitingReads.push({ lng: e, ns: n, fcName: o, tried: r, wait: i, callback: s }) + return + } + this.readingCalls++ + const a = (d, u) => { + if ((this.readingCalls--, this.waitingReads.length > 0)) { + const m = this.waitingReads.shift() + this.read(m.lng, m.ns, m.fcName, m.tried, m.wait, m.callback) + } + if (d && u && r < this.maxRetries) { + setTimeout(() => { + this.read.call(this, e, n, o, r + 1, i * 2, s) + }, i) + return + } + s(d, u) + }, + c = this.backend[o].bind(this.backend) + if (c.length === 2) { + try { + const d = c(e, n) + d && typeof d.then == "function" ? d.then((u) => a(null, u)).catch(a) : a(null, d) + } catch (d) { + a(d) + } + return + } + return c(e, n, a) + } + prepareLoading(e, n, o = {}, r) { + if (!this.backend) + return this.logger.warn("No backend was added via i18next.use. Will not load resources."), r && r() + Jt(e) && (e = this.languageUtils.toResolveHierarchy(e)), Jt(n) && (n = [n]) + const i = this.queueLoad(e, n, o, r) + if (!i.toLoad.length) return i.pending.length || r(), null + i.toLoad.forEach((s) => { + this.loadOne(s) + }) + } + load(e, n, o) { + this.prepareLoading(e, n, {}, o) + } + reload(e, n, o) { + this.prepareLoading(e, n, { reload: !0 }, o) + } + loadOne(e, n = "") { + const o = e.split("|"), + r = o[0], + i = o[1] + this.read(r, i, "read", void 0, void 0, (s, a) => { + s && this.logger.warn(`${n}loading namespace ${i} for language ${r} failed`, s), + !s && a && this.logger.log(`${n}loaded namespace ${i} for language ${r}`, a), + this.loaded(e, s, a) + }) + } + saveMissing(e, n, o, r, i, s = {}, a = () => {}) { + var c, d, u, m, f + if ( + (d = (c = this.services) == null ? void 0 : c.utils) != null && + d.hasLoadedNamespace && + !((m = (u = this.services) == null ? void 0 : u.utils) != null && m.hasLoadedNamespace(n)) + ) { + this.logger.warn( + `did not save key "${o}" as the namespace "${n}" was not yet loaded`, + "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!", + ) + return + } + if (!(o == null || o === "")) { + if ((f = this.backend) != null && f.create) { + const g = { ...s, isUpdate: i }, + b = this.backend.create.bind(this.backend) + if (b.length < 6) + try { + let v + b.length === 5 ? (v = b(e, n, o, r, g)) : (v = b(e, n, o, r)), + v && typeof v.then == "function" ? v.then((w) => a(null, w)).catch(a) : a(null, v) + } catch (v) { + a(v) + } + else b(e, n, o, r, a, g) + } + !e || !e[0] || this.store.addResource(e[0], n, o, r) + } + } +} +const QN = () => ({ + debug: !1, + initAsync: !0, + ns: ["translation"], + defaultNS: ["translation"], + fallbackLng: ["dev"], + fallbackNS: !1, + supportedLngs: !1, + nonExplicitSupportedLngs: !1, + load: "all", + preload: !1, + simplifyPluralSuffix: !0, + keySeparator: ".", + nsSeparator: ":", + pluralSeparator: "_", + contextSeparator: "_", + partialBundledLanguages: !1, + saveMissing: !1, + updateMissing: !1, + saveMissingTo: "fallback", + saveMissingPlurals: !0, + missingKeyHandler: !1, + missingInterpolationHandler: !1, + postProcess: !1, + postProcessPassResolved: !1, + returnNull: !1, + returnEmptyString: !0, + returnObjects: !1, + joinArrays: !1, + returnedObjectHandler: !1, + parseMissingKeyHandler: !1, + appendNamespaceToMissingKey: !1, + appendNamespaceToCIMode: !1, + overloadTranslationOptionHandler: (t) => { + let e = {} + if ( + (typeof t[1] == "object" && (e = t[1]), + Jt(t[1]) && (e.defaultValue = t[1]), + Jt(t[2]) && (e.tDescription = t[2]), + typeof t[2] == "object" || typeof t[3] == "object") + ) { + const n = t[3] || t[2] + Object.keys(n).forEach((o) => { + e[o] = n[o] + }) + } + return e + }, + interpolation: { + escapeValue: !0, + format: (t) => t, + prefix: "{{", + suffix: "}}", + formatSeparator: ",", + unescapePrefix: "-", + nestingPrefix: "$t(", + nestingSuffix: ")", + nestingOptionsSeparator: ",", + maxReplaces: 1e3, + skipOnVariables: !0, + }, + cacheInBuiltFormats: !0, + }), + ZN = (t) => { + var e, n + return ( + Jt(t.ns) && (t.ns = [t.ns]), + Jt(t.fallbackLng) && (t.fallbackLng = [t.fallbackLng]), + Jt(t.fallbackNS) && (t.fallbackNS = [t.fallbackNS]), + ((n = (e = t.supportedLngs) == null ? void 0 : e.indexOf) == null ? void 0 : n.call(e, "cimode")) < 0 && + (t.supportedLngs = t.supportedLngs.concat(["cimode"])), + typeof t.initImmediate == "boolean" && (t.initAsync = t.initImmediate), + t + ) + }, + yk = () => {}, + Iwt = (t) => { + Object.getOwnPropertyNames(Object.getPrototypeOf(t)).forEach((n) => { + typeof t[n] == "function" && (t[n] = t[n].bind(t)) + }) + } +class Ov extends D_ { + constructor(e = {}, n) { + if ( + (super(), + (this.options = ZN(e)), + (this.services = {}), + (this.logger = $l), + (this.modules = { external: [] }), + Iwt(this), + n && !this.isInitialized && !e.isClone) + ) { + if (!this.options.initAsync) return this.init(e, n), this + setTimeout(() => { + this.init(e, n) + }, 0) + } + } + init(e = {}, n) { + ;(this.isInitializing = !0), + typeof e == "function" && ((n = e), (e = {})), + e.defaultNS == null && + e.ns && + (Jt(e.ns) ? (e.defaultNS = e.ns) : e.ns.indexOf("translation") < 0 && (e.defaultNS = e.ns[0])) + const o = QN() + ;(this.options = { ...o, ...this.options, ...ZN(e) }), + (this.options.interpolation = { ...o.interpolation, ...this.options.interpolation }), + e.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = e.keySeparator), + e.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = e.nsSeparator) + const r = (d) => (d ? (typeof d == "function" ? new d() : d) : null) + if (!this.options.isClone) { + this.modules.logger ? $l.init(r(this.modules.logger), this.options) : $l.init(null, this.options) + let d + this.modules.formatter ? (d = this.modules.formatter) : (d = Pwt) + const u = new WN(this.options) + this.store = new BN(this.options.resources, this.options) + const m = this.services + ;(m.logger = $l), + (m.resourceStore = this.store), + (m.languageUtils = u), + (m.pluralResolver = new _wt(u, { + prepend: this.options.pluralSeparator, + simplifyPluralSuffix: this.options.simplifyPluralSuffix, + })), + d && + (!this.options.interpolation.format || + this.options.interpolation.format === o.interpolation.format) && + ((m.formatter = r(d)), + m.formatter.init(m, this.options), + (this.options.interpolation.format = m.formatter.format.bind(m.formatter))), + (m.interpolator = new Cwt(this.options)), + (m.utils = { hasLoadedNamespace: this.hasLoadedNamespace.bind(this) }), + (m.backendConnector = new Twt(r(this.modules.backend), m.resourceStore, m, this.options)), + m.backendConnector.on("*", (f, ...g) => { + this.emit(f, ...g) + }), + this.modules.languageDetector && + ((m.languageDetector = r(this.modules.languageDetector)), + m.languageDetector.init && m.languageDetector.init(m, this.options.detection, this.options)), + this.modules.i18nFormat && + ((m.i18nFormat = r(this.modules.i18nFormat)), m.i18nFormat.init && m.i18nFormat.init(this)), + (this.translator = new lw(this.services, this.options)), + this.translator.on("*", (f, ...g) => { + this.emit(f, ...g) + }), + this.modules.external.forEach((f) => { + f.init && f.init(this) + }) + } + if ( + ((this.format = this.options.interpolation.format), + n || (n = yk), + this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) + ) { + const d = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng) + d.length > 0 && d[0] !== "dev" && (this.options.lng = d[0]) + } + !this.services.languageDetector && + !this.options.lng && + this.logger.warn("init: no languageDetector is used and no lng is defined"), + ["getResource", "hasResourceBundle", "getResourceBundle", "getDataByLanguage"].forEach((d) => { + this[d] = (...u) => this.store[d](...u) + }), + ["addResource", "addResources", "addResourceBundle", "removeResourceBundle"].forEach((d) => { + this[d] = (...u) => (this.store[d](...u), this) + }) + const a = Mg(), + c = () => { + const d = (u, m) => { + ;(this.isInitializing = !1), + this.isInitialized && + !this.initializedStoreOnce && + this.logger.warn("init: i18next is already initialized. You should call init just once!"), + (this.isInitialized = !0), + this.options.isClone || this.logger.log("initialized", this.options), + this.emit("initialized", this.options), + a.resolve(m), + n(u, m) + } + if (this.languages && !this.isInitialized) return d(null, this.t.bind(this)) + this.changeLanguage(this.options.lng, d) + } + return this.options.resources || !this.options.initAsync ? c() : setTimeout(c, 0), a + } + loadResources(e, n = yk) { + var i, s + let o = n + const r = Jt(e) ? e : this.language + if ((typeof e == "function" && (o = e), !this.options.resources || this.options.partialBundledLanguages)) { + if ( + (r == null ? void 0 : r.toLowerCase()) === "cimode" && + (!this.options.preload || this.options.preload.length === 0) + ) + return o() + const a = [], + c = (d) => { + if (!d || d === "cimode") return + this.services.languageUtils.toResolveHierarchy(d).forEach((m) => { + m !== "cimode" && a.indexOf(m) < 0 && a.push(m) + }) + } + r ? c(r) : this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((u) => c(u)), + (s = (i = this.options.preload) == null ? void 0 : i.forEach) == null || s.call(i, (d) => c(d)), + this.services.backendConnector.load(a, this.options.ns, (d) => { + !d && !this.resolvedLanguage && this.language && this.setResolvedLanguage(this.language), o(d) + }) + } else o(null) + } + reloadResources(e, n, o) { + const r = Mg() + return ( + typeof e == "function" && ((o = e), (e = void 0)), + typeof n == "function" && ((o = n), (n = void 0)), + e || (e = this.languages), + n || (n = this.options.ns), + o || (o = yk), + this.services.backendConnector.reload(e, n, (i) => { + r.resolve(), o(i) + }), + r + ) + } + use(e) { + if (!e) + throw new Error( + "You are passing an undefined module! Please check the object you are passing to i18next.use()", + ) + if (!e.type) + throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()") + return ( + e.type === "backend" && (this.modules.backend = e), + (e.type === "logger" || (e.log && e.warn && e.error)) && (this.modules.logger = e), + e.type === "languageDetector" && (this.modules.languageDetector = e), + e.type === "i18nFormat" && (this.modules.i18nFormat = e), + e.type === "postProcessor" && yXe.addPostProcessor(e), + e.type === "formatter" && (this.modules.formatter = e), + e.type === "3rdParty" && this.modules.external.push(e), + this + ) + } + setResolvedLanguage(e) { + if (!(!e || !this.languages) && !(["cimode", "dev"].indexOf(e) > -1)) { + for (let n = 0; n < this.languages.length; n++) { + const o = this.languages[n] + if (!(["cimode", "dev"].indexOf(o) > -1) && this.store.hasLanguageSomeTranslations(o)) { + this.resolvedLanguage = o + break + } + } + !this.resolvedLanguage && + this.languages.indexOf(e) < 0 && + this.store.hasLanguageSomeTranslations(e) && + ((this.resolvedLanguage = e), this.languages.unshift(e)) + } + } + changeLanguage(e, n) { + this.isLanguageChangingTo = e + const o = Mg() + this.emit("languageChanging", e) + const r = (a) => { + ;(this.language = a), + (this.languages = this.services.languageUtils.toResolveHierarchy(a)), + (this.resolvedLanguage = void 0), + this.setResolvedLanguage(a) + }, + i = (a, c) => { + c + ? this.isLanguageChangingTo === e && + (r(c), + this.translator.changeLanguage(c), + (this.isLanguageChangingTo = void 0), + this.emit("languageChanged", c), + this.logger.log("languageChanged", c)) + : (this.isLanguageChangingTo = void 0), + o.resolve((...d) => this.t(...d)), + n && n(a, (...d) => this.t(...d)) + }, + s = (a) => { + var u, m + !e && !a && this.services.languageDetector && (a = []) + const c = Jt(a) ? a : a && a[0], + d = this.store.hasLanguageSomeTranslations(c) + ? c + : this.services.languageUtils.getBestMatchFromCodes(Jt(a) ? [a] : a) + d && + (this.language || r(d), + this.translator.language || this.translator.changeLanguage(d), + (m = (u = this.services.languageDetector) == null ? void 0 : u.cacheUserLanguage) == null || + m.call(u, d)), + this.loadResources(d, (f) => { + i(f, d) + }) + } + return ( + !e && this.services.languageDetector && !this.services.languageDetector.async + ? s(this.services.languageDetector.detect()) + : !e && this.services.languageDetector && this.services.languageDetector.async + ? this.services.languageDetector.detect.length === 0 + ? this.services.languageDetector.detect().then(s) + : this.services.languageDetector.detect(s) + : s(e), + o + ) + } + getFixedT(e, n, o) { + const r = (i, s, ...a) => { + let c + typeof s != "object" + ? (c = this.options.overloadTranslationOptionHandler([i, s].concat(a))) + : (c = { ...s }), + (c.lng = c.lng || r.lng), + (c.lngs = c.lngs || r.lngs), + (c.ns = c.ns || r.ns), + c.keyPrefix !== "" && (c.keyPrefix = c.keyPrefix || o || r.keyPrefix) + const d = this.options.keySeparator || "." + let u + return ( + c.keyPrefix && Array.isArray(i) + ? (u = i.map((m) => `${c.keyPrefix}${d}${m}`)) + : (u = c.keyPrefix ? `${c.keyPrefix}${d}${i}` : i), + this.t(u, c) + ) + } + return Jt(e) ? (r.lng = e) : (r.lngs = e), (r.ns = n), (r.keyPrefix = o), r + } + t(...e) { + var n + return (n = this.translator) == null ? void 0 : n.translate(...e) + } + exists(...e) { + var n + return (n = this.translator) == null ? void 0 : n.exists(...e) + } + setDefaultNamespace(e) { + this.options.defaultNS = e + } + hasLoadedNamespace(e, n = {}) { + if (!this.isInitialized) + return this.logger.warn("hasLoadedNamespace: i18next was not initialized", this.languages), !1 + if (!this.languages || !this.languages.length) + return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty", this.languages), !1 + const o = n.lng || this.resolvedLanguage || this.languages[0], + r = this.options ? this.options.fallbackLng : !1, + i = this.languages[this.languages.length - 1] + if (o.toLowerCase() === "cimode") return !0 + const s = (a, c) => { + const d = this.services.backendConnector.state[`${a}|${c}`] + return d === -1 || d === 0 || d === 2 + } + if (n.precheck) { + const a = n.precheck(this, s) + if (a !== void 0) return a + } + return !!( + this.hasResourceBundle(o, e) || + !this.services.backendConnector.backend || + (this.options.resources && !this.options.partialBundledLanguages) || + (s(o, e) && (!r || s(i, e))) + ) + } + loadNamespaces(e, n) { + const o = Mg() + return this.options.ns + ? (Jt(e) && (e = [e]), + e.forEach((r) => { + this.options.ns.indexOf(r) < 0 && this.options.ns.push(r) + }), + this.loadResources((r) => { + o.resolve(), n && n(r) + }), + o) + : (n && n(), Promise.resolve()) + } + loadLanguages(e, n) { + const o = Mg() + Jt(e) && (e = [e]) + const r = this.options.preload || [], + i = e.filter((s) => r.indexOf(s) < 0 && this.services.languageUtils.isSupportedCode(s)) + return i.length + ? ((this.options.preload = r.concat(i)), + this.loadResources((s) => { + o.resolve(), n && n(s) + }), + o) + : (n && n(), Promise.resolve()) + } + dir(e) { + var r, i + if ( + (e || + (e = + this.resolvedLanguage || + (((r = this.languages) == null ? void 0 : r.length) > 0 ? this.languages[0] : this.language)), + !e) + ) + return "rtl" + const n = [ + "ar", + "shu", + "sqr", + "ssh", + "xaa", + "yhd", + "yud", + "aao", + "abh", + "abv", + "acm", + "acq", + "acw", + "acx", + "acy", + "adf", + "ads", + "aeb", + "aec", + "afb", + "ajp", + "apc", + "apd", + "arb", + "arq", + "ars", + "ary", + "arz", + "auz", + "avl", + "ayh", + "ayl", + "ayn", + "ayp", + "bbz", + "pga", + "he", + "iw", + "ps", + "pbt", + "pbu", + "pst", + "prp", + "prd", + "ug", + "ur", + "ydd", + "yds", + "yih", + "ji", + "yi", + "hbo", + "men", + "xmn", + "fa", + "jpr", + "peo", + "pes", + "prs", + "dv", + "sam", + "ckb", + ], + o = ((i = this.services) == null ? void 0 : i.languageUtils) || new WN(QN()) + return n.indexOf(o.getLanguagePartFromCode(e)) > -1 || e.toLowerCase().indexOf("-arab") > 1 ? "rtl" : "ltr" + } + static createInstance(e = {}, n) { + return new Ov(e, n) + } + cloneInstance(e = {}, n = yk) { + const o = e.forkResourceStore + o && delete e.forkResourceStore + const r = { ...this.options, ...e, isClone: !0 }, + i = new Ov(r) + if ( + ((e.debug !== void 0 || e.prefix !== void 0) && (i.logger = i.logger.clone(e)), + ["store", "services", "language"].forEach((a) => { + i[a] = this[a] + }), + (i.services = { ...this.services }), + (i.services.utils = { hasLoadedNamespace: i.hasLoadedNamespace.bind(i) }), + o) + ) { + const a = Object.keys(this.store.data).reduce( + (c, d) => ( + (c[d] = { ...this.store.data[d] }), + (c[d] = Object.keys(c[d]).reduce((u, m) => ((u[m] = { ...c[d][m] }), u), c[d])), + c + ), + {}, + ) + ;(i.store = new BN(a, r)), (i.services.resourceStore = i.store) + } + return ( + (i.translator = new lw(i.services, r)), + i.translator.on("*", (a, ...c) => { + i.emit(a, ...c) + }), + i.init(r, n), + (i.translator.options = r), + (i.translator.backendConnector.services.utils = { hasLoadedNamespace: i.hasLoadedNamespace.bind(i) }), + i + ) + } + toJSON() { + return { + options: this.options, + store: this.store, + language: this.language, + languages: this.languages, + resolvedLanguage: this.resolvedLanguage, + } + } +} +const Gt = Ov.createInstance() +Gt.createInstance = Ov.createInstance +Gt.createInstance +Gt.dir +Gt.init +Gt.loadResources +Gt.reloadResources +Gt.use +Gt.changeLanguage +Gt.getFixedT +Gt.t +Gt.exists +Gt.setDefaultNamespace +Gt.hasLoadedNamespace +Gt.loadNamespaces +Gt.loadLanguages +const vv = {}, + Mwt = Object.assign({ + "./locales/ca/account.json": Mft, + "./locales/ca/chat.json": Eft, + "./locales/ca/common.json": $ft, + "./locales/ca/history.json": Dft, + "./locales/ca/humanRelay.json": Oft, + "./locales/ca/marketplace.json": Bft, + "./locales/ca/mcp.json": qft, + "./locales/ca/prompts.json": Kft, + "./locales/ca/settings.json": Hft, + "./locales/ca/welcome.json": Qft, + "./locales/de/account.json": Yft, + "./locales/de/chat.json": Jft, + "./locales/de/common.json": tgt, + "./locales/de/history.json": ogt, + "./locales/de/humanRelay.json": igt, + "./locales/de/marketplace.json": agt, + "./locales/de/mcp.json": cgt, + "./locales/de/prompts.json": ugt, + "./locales/de/settings.json": mgt, + "./locales/de/welcome.json": fgt, + "./locales/en/account.json": vgt, + "./locales/en/chat.json": ygt, + "./locales/en/common.json": xgt, + "./locales/en/history.json": _gt, + "./locales/en/humanRelay.json": Sgt, + "./locales/en/marketplace.json": Pgt, + "./locales/en/mcp.json": Tgt, + "./locales/en/prompts.json": Mgt, + "./locales/en/settings.json": Egt, + "./locales/en/welcome.json": $gt, + "./locales/es/account.json": Dgt, + "./locales/es/chat.json": Ogt, + "./locales/es/common.json": Bgt, + "./locales/es/history.json": qgt, + "./locales/es/humanRelay.json": Kgt, + "./locales/es/marketplace.json": Hgt, + "./locales/es/mcp.json": Qgt, + "./locales/es/prompts.json": Ygt, + "./locales/es/settings.json": Jgt, + "./locales/es/welcome.json": tvt, + "./locales/fr/account.json": ovt, + "./locales/fr/chat.json": ivt, + "./locales/fr/common.json": avt, + "./locales/fr/history.json": cvt, + "./locales/fr/humanRelay.json": uvt, + "./locales/fr/marketplace.json": mvt, + "./locales/fr/mcp.json": fvt, + "./locales/fr/prompts.json": vvt, + "./locales/fr/settings.json": yvt, + "./locales/fr/welcome.json": xvt, + "./locales/hi/account.json": _vt, + "./locales/hi/chat.json": Svt, + "./locales/hi/common.json": Pvt, + "./locales/hi/history.json": Tvt, + "./locales/hi/humanRelay.json": Mvt, + "./locales/hi/marketplace.json": Evt, + "./locales/hi/mcp.json": $vt, + "./locales/hi/prompts.json": Dvt, + "./locales/hi/settings.json": Ovt, + "./locales/hi/welcome.json": Bvt, + "./locales/id/account.json": qvt, + "./locales/id/chat.json": Kvt, + "./locales/id/common.json": Hvt, + "./locales/id/history.json": Qvt, + "./locales/id/humanRelay.json": Yvt, + "./locales/id/marketplace.json": Jvt, + "./locales/id/mcp.json": tbt, + "./locales/id/prompts.json": obt, + "./locales/id/settings.json": ibt, + "./locales/id/welcome.json": abt, + "./locales/it/account.json": cbt, + "./locales/it/chat.json": ubt, + "./locales/it/common.json": mbt, + "./locales/it/history.json": fbt, + "./locales/it/humanRelay.json": vbt, + "./locales/it/marketplace.json": ybt, + "./locales/it/mcp.json": xbt, + "./locales/it/prompts.json": _bt, + "./locales/it/settings.json": Sbt, + "./locales/it/welcome.json": Pbt, + "./locales/ja/account.json": Tbt, + "./locales/ja/chat.json": Mbt, + "./locales/ja/common.json": Ebt, + "./locales/ja/history.json": $bt, + "./locales/ja/humanRelay.json": Dbt, + "./locales/ja/marketplace.json": Obt, + "./locales/ja/mcp.json": Bbt, + "./locales/ja/prompts.json": qbt, + "./locales/ja/settings.json": Kbt, + "./locales/ja/welcome.json": Hbt, + "./locales/ko/account.json": Qbt, + "./locales/ko/chat.json": Ybt, + "./locales/ko/common.json": Jbt, + "./locales/ko/history.json": tyt, + "./locales/ko/humanRelay.json": oyt, + "./locales/ko/marketplace.json": iyt, + "./locales/ko/mcp.json": ayt, + "./locales/ko/prompts.json": cyt, + "./locales/ko/settings.json": uyt, + "./locales/ko/welcome.json": myt, + "./locales/nl/account.json": fyt, + "./locales/nl/chat.json": vyt, + "./locales/nl/common.json": yyt, + "./locales/nl/history.json": xyt, + "./locales/nl/humanRelay.json": _yt, + "./locales/nl/marketplace.json": Syt, + "./locales/nl/mcp.json": Pyt, + "./locales/nl/prompts.json": Tyt, + "./locales/nl/settings.json": Myt, + "./locales/nl/welcome.json": Eyt, + "./locales/pl/account.json": $yt, + "./locales/pl/chat.json": Dyt, + "./locales/pl/common.json": Oyt, + "./locales/pl/history.json": Byt, + "./locales/pl/humanRelay.json": qyt, + "./locales/pl/marketplace.json": Kyt, + "./locales/pl/mcp.json": Hyt, + "./locales/pl/prompts.json": Qyt, + "./locales/pl/settings.json": Yyt, + "./locales/pl/welcome.json": Jyt, + "./locales/pt-BR/account.json": tkt, + "./locales/pt-BR/chat.json": okt, + "./locales/pt-BR/common.json": ikt, + "./locales/pt-BR/history.json": akt, + "./locales/pt-BR/humanRelay.json": ckt, + "./locales/pt-BR/marketplace.json": ukt, + "./locales/pt-BR/mcp.json": mkt, + "./locales/pt-BR/prompts.json": fkt, + "./locales/pt-BR/settings.json": vkt, + "./locales/pt-BR/welcome.json": ykt, + "./locales/ru/account.json": xkt, + "./locales/ru/chat.json": _kt, + "./locales/ru/common.json": Skt, + "./locales/ru/history.json": Pkt, + "./locales/ru/humanRelay.json": Tkt, + "./locales/ru/marketplace.json": Mkt, + "./locales/ru/mcp.json": Ekt, + "./locales/ru/prompts.json": $kt, + "./locales/ru/settings.json": Dkt, + "./locales/ru/welcome.json": Okt, + "./locales/tr/account.json": Bkt, + "./locales/tr/chat.json": qkt, + "./locales/tr/common.json": Kkt, + "./locales/tr/history.json": Hkt, + "./locales/tr/humanRelay.json": Qkt, + "./locales/tr/marketplace.json": Ykt, + "./locales/tr/mcp.json": Jkt, + "./locales/tr/prompts.json": txt, + "./locales/tr/settings.json": oxt, + "./locales/tr/welcome.json": ixt, + "./locales/vi/account.json": axt, + "./locales/vi/chat.json": cxt, + "./locales/vi/common.json": uxt, + "./locales/vi/history.json": mxt, + "./locales/vi/humanRelay.json": fxt, + "./locales/vi/marketplace.json": vxt, + "./locales/vi/mcp.json": yxt, + "./locales/vi/prompts.json": xxt, + "./locales/vi/settings.json": _xt, + "./locales/vi/welcome.json": Sxt, + "./locales/zh-CN/account.json": Pxt, + "./locales/zh-CN/chat.json": Txt, + "./locales/zh-CN/common.json": Mxt, + "./locales/zh-CN/history.json": Ext, + "./locales/zh-CN/humanRelay.json": $xt, + "./locales/zh-CN/marketplace.json": Dxt, + "./locales/zh-CN/mcp.json": Oxt, + "./locales/zh-CN/prompts.json": Bxt, + "./locales/zh-CN/settings.json": qxt, + "./locales/zh-CN/welcome.json": Kxt, + "./locales/zh-TW/account.json": Hxt, + "./locales/zh-TW/chat.json": Qxt, + "./locales/zh-TW/common.json": Yxt, + "./locales/zh-TW/history.json": Jxt, + "./locales/zh-TW/humanRelay.json": twt, + "./locales/zh-TW/marketplace.json": owt, + "./locales/zh-TW/mcp.json": iwt, + "./locales/zh-TW/prompts.json": awt, + "./locales/zh-TW/settings.json": cwt, + "./locales/zh-TW/welcome.json": uwt, + }) +Object.entries(Mwt).forEach(([t, e]) => { + const n = t.match(/\.\/locales\/([^/]+)\/([^/]+)\.json/) + if (n) { + const [, o, r] = n + vv[o] || (vv[o] = {}), (vv[o][r] = e.default || e) + } +}) +console.log("Dynamically loaded translations:", Object.keys(vv)) +Gt.use(Sft).init({ lng: "en", fallbackLng: "en", debug: !1, interpolation: { escapeValue: !1 } }) +function jwt() { + Object.entries(vv).forEach(([t, e]) => { + try { + Object.entries(e).forEach(([n, o]) => { + Gt.addResourceBundle(t, n, o, !0, !0) + }) + } catch (n) { + console.warn(`Could not load ${t} translations:`, n) + } + }) +} +var Fn +;(function (t) { + t.assertEqual = (r) => {} + function e(r) {} + t.assertIs = e + function n(r) { + throw new Error() + } + ;(t.assertNever = n), + (t.arrayToEnum = (r) => { + const i = {} + for (const s of r) i[s] = s + return i + }), + (t.getValidEnumValues = (r) => { + const i = t.objectKeys(r).filter((a) => typeof r[r[a]] != "number"), + s = {} + for (const a of i) s[a] = r[a] + return t.objectValues(s) + }), + (t.objectValues = (r) => + t.objectKeys(r).map(function (i) { + return r[i] + })), + (t.objectKeys = + typeof Object.keys == "function" + ? (r) => Object.keys(r) + : (r) => { + const i = [] + for (const s in r) Object.prototype.hasOwnProperty.call(r, s) && i.push(s) + return i + }), + (t.find = (r, i) => { + for (const s of r) if (i(s)) return s + }), + (t.isInteger = + typeof Number.isInteger == "function" + ? (r) => Number.isInteger(r) + : (r) => typeof r == "number" && Number.isFinite(r) && Math.floor(r) === r) + function o(r, i = " | ") { + return r.map((s) => (typeof s == "string" ? `'${s}'` : s)).join(i) + } + ;(t.joinValues = o), (t.jsonStringifyReplacer = (r, i) => (typeof i == "bigint" ? i.toString() : i)) +})(Fn || (Fn = {})) +var YN +;(function (t) { + t.mergeShapes = (e, n) => ({ ...e, ...n }) +})(YN || (YN = {})) +const vt = Fn.arrayToEnum([ + "string", + "nan", + "number", + "integer", + "float", + "boolean", + "date", + "bigint", + "symbol", + "function", + "undefined", + "null", + "array", + "object", + "unknown", + "promise", + "void", + "never", + "map", + "set", + ]), + Pd = (t) => { + switch (typeof t) { + case "undefined": + return vt.undefined + case "string": + return vt.string + case "number": + return Number.isNaN(t) ? vt.nan : vt.number + case "boolean": + return vt.boolean + case "function": + return vt.function + case "bigint": + return vt.bigint + case "symbol": + return vt.symbol + case "object": + return Array.isArray(t) + ? vt.array + : t === null + ? vt.null + : t.then && typeof t.then == "function" && t.catch && typeof t.catch == "function" + ? vt.promise + : typeof Map < "u" && t instanceof Map + ? vt.map + : typeof Set < "u" && t instanceof Set + ? vt.set + : typeof Date < "u" && t instanceof Date + ? vt.date + : vt.object + default: + return vt.unknown + } + }, + qe = Fn.arrayToEnum([ + "invalid_type", + "invalid_literal", + "custom", + "invalid_union", + "invalid_union_discriminator", + "invalid_enum_value", + "unrecognized_keys", + "invalid_arguments", + "invalid_return_type", + "invalid_date", + "invalid_string", + "too_small", + "too_big", + "invalid_intersection_types", + "not_multiple_of", + "not_finite", + ]) +class el extends Error { + get errors() { + return this.issues + } + constructor(e) { + super(), + (this.issues = []), + (this.addIssue = (o) => { + this.issues = [...this.issues, o] + }), + (this.addIssues = (o = []) => { + this.issues = [...this.issues, ...o] + }) + const n = new.target.prototype + Object.setPrototypeOf ? Object.setPrototypeOf(this, n) : (this.__proto__ = n), + (this.name = "ZodError"), + (this.issues = e) + } + format(e) { + const n = + e || + function (i) { + return i.message + }, + o = { _errors: [] }, + r = (i) => { + for (const s of i.issues) + if (s.code === "invalid_union") s.unionErrors.map(r) + else if (s.code === "invalid_return_type") r(s.returnTypeError) + else if (s.code === "invalid_arguments") r(s.argumentsError) + else if (s.path.length === 0) o._errors.push(n(s)) + else { + let a = o, + c = 0 + for (; c < s.path.length; ) { + const d = s.path[c] + c === s.path.length - 1 + ? ((a[d] = a[d] || { _errors: [] }), a[d]._errors.push(n(s))) + : (a[d] = a[d] || { _errors: [] }), + (a = a[d]), + c++ + } + } + } + return r(this), o + } + static assert(e) { + if (!(e instanceof el)) throw new Error(`Not a ZodError: ${e}`) + } + toString() { + return this.message + } + get message() { + return JSON.stringify(this.issues, Fn.jsonStringifyReplacer, 2) + } + get isEmpty() { + return this.issues.length === 0 + } + flatten(e = (n) => n.message) { + const n = {}, + o = [] + for (const r of this.issues) + r.path.length > 0 ? ((n[r.path[0]] = n[r.path[0]] || []), n[r.path[0]].push(e(r))) : o.push(e(r)) + return { formErrors: o, fieldErrors: n } + } + get formErrors() { + return this.flatten() + } +} +el.create = (t) => new el(t) +const s1 = (t, e) => { + let n + switch (t.code) { + case qe.invalid_type: + t.received === vt.undefined ? (n = "Required") : (n = `Expected ${t.expected}, received ${t.received}`) + break + case qe.invalid_literal: + n = `Invalid literal value, expected ${JSON.stringify(t.expected, Fn.jsonStringifyReplacer)}` + break + case qe.unrecognized_keys: + n = `Unrecognized key(s) in object: ${Fn.joinValues(t.keys, ", ")}` + break + case qe.invalid_union: + n = "Invalid input" + break + case qe.invalid_union_discriminator: + n = `Invalid discriminator value. Expected ${Fn.joinValues(t.options)}` + break + case qe.invalid_enum_value: + n = `Invalid enum value. Expected ${Fn.joinValues(t.options)}, received '${t.received}'` + break + case qe.invalid_arguments: + n = "Invalid function arguments" + break + case qe.invalid_return_type: + n = "Invalid function return type" + break + case qe.invalid_date: + n = "Invalid date" + break + case qe.invalid_string: + typeof t.validation == "object" + ? "includes" in t.validation + ? ((n = `Invalid input: must include "${t.validation.includes}"`), + typeof t.validation.position == "number" && + (n = `${n} at one or more positions greater than or equal to ${t.validation.position}`)) + : "startsWith" in t.validation + ? (n = `Invalid input: must start with "${t.validation.startsWith}"`) + : "endsWith" in t.validation + ? (n = `Invalid input: must end with "${t.validation.endsWith}"`) + : Fn.assertNever(t.validation) + : t.validation !== "regex" + ? (n = `Invalid ${t.validation}`) + : (n = "Invalid") + break + case qe.too_small: + t.type === "array" + ? (n = `Array must contain ${t.exact ? "exactly" : t.inclusive ? "at least" : "more than"} ${t.minimum} element(s)`) + : t.type === "string" + ? (n = `String must contain ${t.exact ? "exactly" : t.inclusive ? "at least" : "over"} ${t.minimum} character(s)`) + : t.type === "number" + ? (n = `Number must be ${t.exact ? "exactly equal to " : t.inclusive ? "greater than or equal to " : "greater than "}${t.minimum}`) + : t.type === "date" + ? (n = `Date must be ${t.exact ? "exactly equal to " : t.inclusive ? "greater than or equal to " : "greater than "}${new Date(Number(t.minimum))}`) + : (n = "Invalid input") + break + case qe.too_big: + t.type === "array" + ? (n = `Array must contain ${t.exact ? "exactly" : t.inclusive ? "at most" : "less than"} ${t.maximum} element(s)`) + : t.type === "string" + ? (n = `String must contain ${t.exact ? "exactly" : t.inclusive ? "at most" : "under"} ${t.maximum} character(s)`) + : t.type === "number" + ? (n = `Number must be ${t.exact ? "exactly" : t.inclusive ? "less than or equal to" : "less than"} ${t.maximum}`) + : t.type === "bigint" + ? (n = `BigInt must be ${t.exact ? "exactly" : t.inclusive ? "less than or equal to" : "less than"} ${t.maximum}`) + : t.type === "date" + ? (n = `Date must be ${t.exact ? "exactly" : t.inclusive ? "smaller than or equal to" : "smaller than"} ${new Date(Number(t.maximum))}`) + : (n = "Invalid input") + break + case qe.custom: + n = "Invalid input" + break + case qe.invalid_intersection_types: + n = "Intersection results could not be merged" + break + case qe.not_multiple_of: + n = `Number must be a multiple of ${t.multipleOf}` + break + case qe.not_finite: + n = "Number must be finite" + break + default: + ;(n = e.defaultError), Fn.assertNever(t) + } + return { message: n } +} +let Ewt = s1 +function zwt() { + return Ewt +} +const $wt = (t) => { + const { data: e, path: n, errorMaps: o, issueData: r } = t, + i = [...n, ...(r.path || [])], + s = { ...r, path: i } + if (r.message !== void 0) return { ...r, path: i, message: r.message } + let a = "" + const c = o + .filter((d) => !!d) + .slice() + .reverse() + for (const d of c) a = d(s, { data: e, defaultError: a }).message + return { ...r, path: i, message: a } +} +function st(t, e) { + const n = zwt(), + o = $wt({ + issueData: e, + data: t.data, + path: t.path, + errorMaps: [t.common.contextualErrorMap, t.schemaErrorMap, n, n === s1 ? void 0 : s1].filter((r) => !!r), + }) + t.common.issues.push(o) +} +class Ni { + constructor() { + this.value = "valid" + } + dirty() { + this.value === "valid" && (this.value = "dirty") + } + abort() { + this.value !== "aborted" && (this.value = "aborted") + } + static mergeArray(e, n) { + const o = [] + for (const r of n) { + if (r.status === "aborted") return Qt + r.status === "dirty" && e.dirty(), o.push(r.value) + } + return { status: e.value, value: o } + } + static async mergeObjectAsync(e, n) { + const o = [] + for (const r of n) { + const i = await r.key, + s = await r.value + o.push({ key: i, value: s }) + } + return Ni.mergeObjectSync(e, o) + } + static mergeObjectSync(e, n) { + const o = {} + for (const r of n) { + const { key: i, value: s } = r + if (i.status === "aborted" || s.status === "aborted") return Qt + i.status === "dirty" && e.dirty(), + s.status === "dirty" && e.dirty(), + i.value !== "__proto__" && (typeof s.value < "u" || r.alwaysSet) && (o[i.value] = s.value) + } + return { status: e.value, value: o } + } +} +const Qt = Object.freeze({ status: "aborted" }), + tv = (t) => ({ status: "dirty", value: t }), + ya = (t) => ({ status: "valid", value: t }), + XN = (t) => t.status === "aborted", + JN = (t) => t.status === "dirty", + Fh = (t) => t.status === "valid", + cw = (t) => typeof Promise < "u" && t instanceof Promise +var Rt +;(function (t) { + ;(t.errToObj = (e) => (typeof e == "string" ? { message: e } : e || {})), + (t.toString = (e) => (typeof e == "string" ? e : e == null ? void 0 : e.message)) +})(Rt || (Rt = {})) +class Bl { + constructor(e, n, o, r) { + ;(this._cachedPath = []), (this.parent = e), (this.data = n), (this._path = o), (this._key = r) + } + get path() { + return ( + this._cachedPath.length || + (Array.isArray(this._key) + ? this._cachedPath.push(...this._path, ...this._key) + : this._cachedPath.push(...this._path, this._key)), + this._cachedPath + ) + } +} +const eO = (t, e) => { + if (Fh(e)) return { success: !0, data: e.value } + if (!t.common.issues.length) throw new Error("Validation failed but no issues detected.") + return { + success: !1, + get error() { + if (this._error) return this._error + const n = new el(t.common.issues) + return (this._error = n), this._error + }, + } +} +function fn(t) { + if (!t) return {} + const { errorMap: e, invalid_type_error: n, required_error: o, description: r } = t + if (e && (n || o)) + throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`) + return e + ? { errorMap: e, description: r } + : { + errorMap: (s, a) => { + const { message: c } = t + return s.code === "invalid_enum_value" + ? { message: c ?? a.defaultError } + : typeof a.data > "u" + ? { message: c ?? o ?? a.defaultError } + : s.code !== "invalid_type" + ? { message: a.defaultError } + : { message: c ?? n ?? a.defaultError } + }, + description: r, + } +} +class zn { + get description() { + return this._def.description + } + _getType(e) { + return Pd(e.data) + } + _getOrReturnCtx(e, n) { + return ( + n || { + common: e.parent.common, + data: e.data, + parsedType: Pd(e.data), + schemaErrorMap: this._def.errorMap, + path: e.path, + parent: e.parent, + } + ) + } + _processInputParams(e) { + return { + status: new Ni(), + ctx: { + common: e.parent.common, + data: e.data, + parsedType: Pd(e.data), + schemaErrorMap: this._def.errorMap, + path: e.path, + parent: e.parent, + }, + } + } + _parseSync(e) { + const n = this._parse(e) + if (cw(n)) throw new Error("Synchronous parse encountered promise.") + return n + } + _parseAsync(e) { + const n = this._parse(e) + return Promise.resolve(n) + } + parse(e, n) { + const o = this.safeParse(e, n) + if (o.success) return o.data + throw o.error + } + safeParse(e, n) { + const o = { + common: { + issues: [], + async: (n == null ? void 0 : n.async) ?? !1, + contextualErrorMap: n == null ? void 0 : n.errorMap, + }, + path: (n == null ? void 0 : n.path) || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data: e, + parsedType: Pd(e), + }, + r = this._parseSync({ data: e, path: o.path, parent: o }) + return eO(o, r) + } + "~validate"(e) { + var o, r + const n = { + common: { issues: [], async: !!this["~standard"].async }, + path: [], + schemaErrorMap: this._def.errorMap, + parent: null, + data: e, + parsedType: Pd(e), + } + if (!this["~standard"].async) + try { + const i = this._parseSync({ data: e, path: [], parent: n }) + return Fh(i) ? { value: i.value } : { issues: n.common.issues } + } catch (i) { + ;(r = (o = i == null ? void 0 : i.message) == null ? void 0 : o.toLowerCase()) != null && + r.includes("encountered") && + (this["~standard"].async = !0), + (n.common = { issues: [], async: !0 }) + } + return this._parseAsync({ data: e, path: [], parent: n }).then((i) => + Fh(i) ? { value: i.value } : { issues: n.common.issues }, + ) + } + async parseAsync(e, n) { + const o = await this.safeParseAsync(e, n) + if (o.success) return o.data + throw o.error + } + async safeParseAsync(e, n) { + const o = { + common: { issues: [], contextualErrorMap: n == null ? void 0 : n.errorMap, async: !0 }, + path: (n == null ? void 0 : n.path) || [], + schemaErrorMap: this._def.errorMap, + parent: null, + data: e, + parsedType: Pd(e), + }, + r = this._parse({ data: e, path: o.path, parent: o }), + i = await (cw(r) ? r : Promise.resolve(r)) + return eO(o, i) + } + refine(e, n) { + const o = (r) => (typeof n == "string" || typeof n > "u" ? { message: n } : typeof n == "function" ? n(r) : n) + return this._refinement((r, i) => { + const s = e(r), + a = () => i.addIssue({ code: qe.custom, ...o(r) }) + return typeof Promise < "u" && s instanceof Promise + ? s.then((c) => (c ? !0 : (a(), !1))) + : s + ? !0 + : (a(), !1) + }) + } + refinement(e, n) { + return this._refinement((o, r) => (e(o) ? !0 : (r.addIssue(typeof n == "function" ? n(o, r) : n), !1))) + } + _refinement(e) { + return new Mp({ schema: this, typeName: Yt.ZodEffects, effect: { type: "refinement", refinement: e } }) + } + superRefine(e) { + return this._refinement(e) + } + constructor(e) { + ;(this.spa = this.safeParseAsync), + (this._def = e), + (this.parse = this.parse.bind(this)), + (this.safeParse = this.safeParse.bind(this)), + (this.parseAsync = this.parseAsync.bind(this)), + (this.safeParseAsync = this.safeParseAsync.bind(this)), + (this.spa = this.spa.bind(this)), + (this.refine = this.refine.bind(this)), + (this.refinement = this.refinement.bind(this)), + (this.superRefine = this.superRefine.bind(this)), + (this.optional = this.optional.bind(this)), + (this.nullable = this.nullable.bind(this)), + (this.nullish = this.nullish.bind(this)), + (this.array = this.array.bind(this)), + (this.promise = this.promise.bind(this)), + (this.or = this.or.bind(this)), + (this.and = this.and.bind(this)), + (this.transform = this.transform.bind(this)), + (this.brand = this.brand.bind(this)), + (this.default = this.default.bind(this)), + (this.catch = this.catch.bind(this)), + (this.describe = this.describe.bind(this)), + (this.pipe = this.pipe.bind(this)), + (this.readonly = this.readonly.bind(this)), + (this.isNullable = this.isNullable.bind(this)), + (this.isOptional = this.isOptional.bind(this)), + (this["~standard"] = { version: 1, vendor: "zod", validate: (n) => this["~validate"](n) }) + } + optional() { + return Sc.create(this, this._def) + } + nullable() { + return jp.create(this, this._def) + } + nullish() { + return this.nullable().optional() + } + array() { + return Nl.create(this) + } + promise() { + return gw.create(this, this._def) + } + or(e) { + return pw.create([this, e], this._def) + } + and(e) { + return mw.create(this, e, this._def) + } + transform(e) { + return new Mp({ + ...fn(this._def), + schema: this, + typeName: Yt.ZodEffects, + effect: { type: "transform", transform: e }, + }) + } + default(e) { + const n = typeof e == "function" ? e : () => e + return new vw({ ...fn(this._def), innerType: this, defaultValue: n, typeName: Yt.ZodDefault }) + } + brand() { + return new _Xe({ typeName: Yt.ZodBranded, type: this, ...fn(this._def) }) + } + catch(e) { + const n = typeof e == "function" ? e : () => e + return new bw({ ...fn(this._def), innerType: this, catchValue: n, typeName: Yt.ZodCatch }) + } + describe(e) { + const n = this.constructor + return new n({ ...this._def, description: e }) + } + pipe(e) { + return Nj.create(this, e) + } + readonly() { + return yw.create(this) + } + isOptional() { + return this.safeParse(void 0).success + } + isNullable() { + return this.safeParse(null).success + } +} +const Lwt = /^c[^\s-]{8,}$/i, + Dwt = /^[0-9a-z]+$/, + Nwt = /^[0-9A-HJKMNP-TV-Z]{26}$/i, + Owt = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i, + Fwt = /^[a-z0-9_-]{21}$/i, + Bwt = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/, + Uwt = + /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/, + qwt = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i, + Wwt = "^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$" +let oA +const Kwt = + /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/, + Vwt = + /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/, + Hwt = + /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/, + Gwt = + /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/, + Qwt = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/, + Zwt = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/, + kXe = + "((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))", + Ywt = new RegExp(`^${kXe}$`) +function xXe(t) { + let e = "[0-5]\\d" + t.precision ? (e = `${e}\\.\\d{${t.precision}}`) : t.precision == null && (e = `${e}(\\.\\d+)?`) + const n = t.precision ? "+" : "?" + return `([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}` +} +function Xwt(t) { + return new RegExp(`^${xXe(t)}$`) +} +function Jwt(t) { + let e = `${kXe}T${xXe(t)}` + const n = [] + return ( + n.push(t.local ? "Z?" : "Z"), + t.offset && n.push("([+-]\\d{2}:?\\d{2})"), + (e = `${e}(${n.join("|")})`), + new RegExp(`^${e}$`) + ) +} +function e_t(t, e) { + return !!(((e === "v4" || !e) && Kwt.test(t)) || ((e === "v6" || !e) && Hwt.test(t))) +} +function t_t(t, e) { + if (!Bwt.test(t)) return !1 + try { + const [n] = t.split("."), + o = n + .replace(/-/g, "+") + .replace(/_/g, "/") + .padEnd(n.length + ((4 - (n.length % 4)) % 4), "="), + r = JSON.parse(atob(o)) + return !( + typeof r != "object" || + r === null || + ("typ" in r && (r == null ? void 0 : r.typ) !== "JWT") || + !r.alg || + (e && r.alg !== e) + ) + } catch { + return !1 + } +} +function n_t(t, e) { + return !!(((e === "v4" || !e) && Vwt.test(t)) || ((e === "v6" || !e) && Gwt.test(t))) +} +class xc extends zn { + _parse(e) { + if ((this._def.coerce && (e.data = String(e.data)), this._getType(e) !== vt.string)) { + const i = this._getOrReturnCtx(e) + return st(i, { code: qe.invalid_type, expected: vt.string, received: i.parsedType }), Qt + } + const o = new Ni() + let r + for (const i of this._def.checks) + if (i.kind === "min") + e.data.length < i.value && + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.too_small, + minimum: i.value, + type: "string", + inclusive: !0, + exact: !1, + message: i.message, + }), + o.dirty()) + else if (i.kind === "max") + e.data.length > i.value && + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.too_big, + maximum: i.value, + type: "string", + inclusive: !0, + exact: !1, + message: i.message, + }), + o.dirty()) + else if (i.kind === "length") { + const s = e.data.length > i.value, + a = e.data.length < i.value + ;(s || a) && + ((r = this._getOrReturnCtx(e, r)), + s + ? st(r, { + code: qe.too_big, + maximum: i.value, + type: "string", + inclusive: !0, + exact: !0, + message: i.message, + }) + : a && + st(r, { + code: qe.too_small, + minimum: i.value, + type: "string", + inclusive: !0, + exact: !0, + message: i.message, + }), + o.dirty()) + } else if (i.kind === "email") + qwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "email", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "emoji") + oA || (oA = new RegExp(Wwt, "u")), + oA.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "emoji", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "uuid") + Owt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "uuid", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "nanoid") + Fwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "nanoid", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "cuid") + Lwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "cuid", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "cuid2") + Dwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "cuid2", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "ulid") + Nwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "ulid", code: qe.invalid_string, message: i.message }), + o.dirty()) + else if (i.kind === "url") + try { + new URL(e.data) + } catch { + ;(r = this._getOrReturnCtx(e, r)), + st(r, { validation: "url", code: qe.invalid_string, message: i.message }), + o.dirty() + } + else + i.kind === "regex" + ? ((i.regex.lastIndex = 0), + i.regex.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { validation: "regex", code: qe.invalid_string, message: i.message }), + o.dirty())) + : i.kind === "trim" + ? (e.data = e.data.trim()) + : i.kind === "includes" + ? e.data.includes(i.value, i.position) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.invalid_string, + validation: { includes: i.value, position: i.position }, + message: i.message, + }), + o.dirty()) + : i.kind === "toLowerCase" + ? (e.data = e.data.toLowerCase()) + : i.kind === "toUpperCase" + ? (e.data = e.data.toUpperCase()) + : i.kind === "startsWith" + ? e.data.startsWith(i.value) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.invalid_string, + validation: { startsWith: i.value }, + message: i.message, + }), + o.dirty()) + : i.kind === "endsWith" + ? e.data.endsWith(i.value) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.invalid_string, + validation: { endsWith: i.value }, + message: i.message, + }), + o.dirty()) + : i.kind === "datetime" + ? Jwt(i).test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.invalid_string, + validation: "datetime", + message: i.message, + }), + o.dirty()) + : i.kind === "date" + ? Ywt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.invalid_string, + validation: "date", + message: i.message, + }), + o.dirty()) + : i.kind === "time" + ? Xwt(i).test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.invalid_string, + validation: "time", + message: i.message, + }), + o.dirty()) + : i.kind === "duration" + ? Uwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + validation: "duration", + code: qe.invalid_string, + message: i.message, + }), + o.dirty()) + : i.kind === "ip" + ? e_t(e.data, i.version) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + validation: "ip", + code: qe.invalid_string, + message: i.message, + }), + o.dirty()) + : i.kind === "jwt" + ? t_t(e.data, i.alg) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + validation: "jwt", + code: qe.invalid_string, + message: i.message, + }), + o.dirty()) + : i.kind === "cidr" + ? n_t(e.data, i.version) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + validation: "cidr", + code: qe.invalid_string, + message: i.message, + }), + o.dirty()) + : i.kind === "base64" + ? Qwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + validation: "base64", + code: qe.invalid_string, + message: i.message, + }), + o.dirty()) + : i.kind === "base64url" + ? Zwt.test(e.data) || + ((r = this._getOrReturnCtx(e, r)), + st(r, { + validation: "base64url", + code: qe.invalid_string, + message: i.message, + }), + o.dirty()) + : Fn.assertNever(i) + return { status: o.value, value: e.data } + } + _regex(e, n, o) { + return this.refinement((r) => e.test(r), { validation: n, code: qe.invalid_string, ...Rt.errToObj(o) }) + } + _addCheck(e) { + return new xc({ ...this._def, checks: [...this._def.checks, e] }) + } + email(e) { + return this._addCheck({ kind: "email", ...Rt.errToObj(e) }) + } + url(e) { + return this._addCheck({ kind: "url", ...Rt.errToObj(e) }) + } + emoji(e) { + return this._addCheck({ kind: "emoji", ...Rt.errToObj(e) }) + } + uuid(e) { + return this._addCheck({ kind: "uuid", ...Rt.errToObj(e) }) + } + nanoid(e) { + return this._addCheck({ kind: "nanoid", ...Rt.errToObj(e) }) + } + cuid(e) { + return this._addCheck({ kind: "cuid", ...Rt.errToObj(e) }) + } + cuid2(e) { + return this._addCheck({ kind: "cuid2", ...Rt.errToObj(e) }) + } + ulid(e) { + return this._addCheck({ kind: "ulid", ...Rt.errToObj(e) }) + } + base64(e) { + return this._addCheck({ kind: "base64", ...Rt.errToObj(e) }) + } + base64url(e) { + return this._addCheck({ kind: "base64url", ...Rt.errToObj(e) }) + } + jwt(e) { + return this._addCheck({ kind: "jwt", ...Rt.errToObj(e) }) + } + ip(e) { + return this._addCheck({ kind: "ip", ...Rt.errToObj(e) }) + } + cidr(e) { + return this._addCheck({ kind: "cidr", ...Rt.errToObj(e) }) + } + datetime(e) { + return typeof e == "string" + ? this._addCheck({ kind: "datetime", precision: null, offset: !1, local: !1, message: e }) + : this._addCheck({ + kind: "datetime", + precision: + typeof (e == null ? void 0 : e.precision) > "u" ? null : e == null ? void 0 : e.precision, + offset: (e == null ? void 0 : e.offset) ?? !1, + local: (e == null ? void 0 : e.local) ?? !1, + ...Rt.errToObj(e == null ? void 0 : e.message), + }) + } + date(e) { + return this._addCheck({ kind: "date", message: e }) + } + time(e) { + return typeof e == "string" + ? this._addCheck({ kind: "time", precision: null, message: e }) + : this._addCheck({ + kind: "time", + precision: + typeof (e == null ? void 0 : e.precision) > "u" ? null : e == null ? void 0 : e.precision, + ...Rt.errToObj(e == null ? void 0 : e.message), + }) + } + duration(e) { + return this._addCheck({ kind: "duration", ...Rt.errToObj(e) }) + } + regex(e, n) { + return this._addCheck({ kind: "regex", regex: e, ...Rt.errToObj(n) }) + } + includes(e, n) { + return this._addCheck({ + kind: "includes", + value: e, + position: n == null ? void 0 : n.position, + ...Rt.errToObj(n == null ? void 0 : n.message), + }) + } + startsWith(e, n) { + return this._addCheck({ kind: "startsWith", value: e, ...Rt.errToObj(n) }) + } + endsWith(e, n) { + return this._addCheck({ kind: "endsWith", value: e, ...Rt.errToObj(n) }) + } + min(e, n) { + return this._addCheck({ kind: "min", value: e, ...Rt.errToObj(n) }) + } + max(e, n) { + return this._addCheck({ kind: "max", value: e, ...Rt.errToObj(n) }) + } + length(e, n) { + return this._addCheck({ kind: "length", value: e, ...Rt.errToObj(n) }) + } + nonempty(e) { + return this.min(1, Rt.errToObj(e)) + } + trim() { + return new xc({ ...this._def, checks: [...this._def.checks, { kind: "trim" }] }) + } + toLowerCase() { + return new xc({ ...this._def, checks: [...this._def.checks, { kind: "toLowerCase" }] }) + } + toUpperCase() { + return new xc({ ...this._def, checks: [...this._def.checks, { kind: "toUpperCase" }] }) + } + get isDatetime() { + return !!this._def.checks.find((e) => e.kind === "datetime") + } + get isDate() { + return !!this._def.checks.find((e) => e.kind === "date") + } + get isTime() { + return !!this._def.checks.find((e) => e.kind === "time") + } + get isDuration() { + return !!this._def.checks.find((e) => e.kind === "duration") + } + get isEmail() { + return !!this._def.checks.find((e) => e.kind === "email") + } + get isURL() { + return !!this._def.checks.find((e) => e.kind === "url") + } + get isEmoji() { + return !!this._def.checks.find((e) => e.kind === "emoji") + } + get isUUID() { + return !!this._def.checks.find((e) => e.kind === "uuid") + } + get isNANOID() { + return !!this._def.checks.find((e) => e.kind === "nanoid") + } + get isCUID() { + return !!this._def.checks.find((e) => e.kind === "cuid") + } + get isCUID2() { + return !!this._def.checks.find((e) => e.kind === "cuid2") + } + get isULID() { + return !!this._def.checks.find((e) => e.kind === "ulid") + } + get isIP() { + return !!this._def.checks.find((e) => e.kind === "ip") + } + get isCIDR() { + return !!this._def.checks.find((e) => e.kind === "cidr") + } + get isBase64() { + return !!this._def.checks.find((e) => e.kind === "base64") + } + get isBase64url() { + return !!this._def.checks.find((e) => e.kind === "base64url") + } + get minLength() { + let e = null + for (const n of this._def.checks) n.kind === "min" && (e === null || n.value > e) && (e = n.value) + return e + } + get maxLength() { + let e = null + for (const n of this._def.checks) n.kind === "max" && (e === null || n.value < e) && (e = n.value) + return e + } +} +xc.create = (t) => + new xc({ checks: [], typeName: Yt.ZodString, coerce: (t == null ? void 0 : t.coerce) ?? !1, ...fn(t) }) +function o_t(t, e) { + const n = (t.toString().split(".")[1] || "").length, + o = (e.toString().split(".")[1] || "").length, + r = n > o ? n : o, + i = Number.parseInt(t.toFixed(r).replace(".", "")), + s = Number.parseInt(e.toFixed(r).replace(".", "")) + return (i % s) / 10 ** r +} +class Bh extends zn { + constructor() { + super(...arguments), (this.min = this.gte), (this.max = this.lte), (this.step = this.multipleOf) + } + _parse(e) { + if ((this._def.coerce && (e.data = Number(e.data)), this._getType(e) !== vt.number)) { + const i = this._getOrReturnCtx(e) + return st(i, { code: qe.invalid_type, expected: vt.number, received: i.parsedType }), Qt + } + let o + const r = new Ni() + for (const i of this._def.checks) + i.kind === "int" + ? Fn.isInteger(e.data) || + ((o = this._getOrReturnCtx(e, o)), + st(o, { code: qe.invalid_type, expected: "integer", received: "float", message: i.message }), + r.dirty()) + : i.kind === "min" + ? (i.inclusive ? e.data < i.value : e.data <= i.value) && + ((o = this._getOrReturnCtx(e, o)), + st(o, { + code: qe.too_small, + minimum: i.value, + type: "number", + inclusive: i.inclusive, + exact: !1, + message: i.message, + }), + r.dirty()) + : i.kind === "max" + ? (i.inclusive ? e.data > i.value : e.data >= i.value) && + ((o = this._getOrReturnCtx(e, o)), + st(o, { + code: qe.too_big, + maximum: i.value, + type: "number", + inclusive: i.inclusive, + exact: !1, + message: i.message, + }), + r.dirty()) + : i.kind === "multipleOf" + ? o_t(e.data, i.value) !== 0 && + ((o = this._getOrReturnCtx(e, o)), + st(o, { code: qe.not_multiple_of, multipleOf: i.value, message: i.message }), + r.dirty()) + : i.kind === "finite" + ? Number.isFinite(e.data) || + ((o = this._getOrReturnCtx(e, o)), + st(o, { code: qe.not_finite, message: i.message }), + r.dirty()) + : Fn.assertNever(i) + return { status: r.value, value: e.data } + } + gte(e, n) { + return this.setLimit("min", e, !0, Rt.toString(n)) + } + gt(e, n) { + return this.setLimit("min", e, !1, Rt.toString(n)) + } + lte(e, n) { + return this.setLimit("max", e, !0, Rt.toString(n)) + } + lt(e, n) { + return this.setLimit("max", e, !1, Rt.toString(n)) + } + setLimit(e, n, o, r) { + return new Bh({ + ...this._def, + checks: [...this._def.checks, { kind: e, value: n, inclusive: o, message: Rt.toString(r) }], + }) + } + _addCheck(e) { + return new Bh({ ...this._def, checks: [...this._def.checks, e] }) + } + int(e) { + return this._addCheck({ kind: "int", message: Rt.toString(e) }) + } + positive(e) { + return this._addCheck({ kind: "min", value: 0, inclusive: !1, message: Rt.toString(e) }) + } + negative(e) { + return this._addCheck({ kind: "max", value: 0, inclusive: !1, message: Rt.toString(e) }) + } + nonpositive(e) { + return this._addCheck({ kind: "max", value: 0, inclusive: !0, message: Rt.toString(e) }) + } + nonnegative(e) { + return this._addCheck({ kind: "min", value: 0, inclusive: !0, message: Rt.toString(e) }) + } + multipleOf(e, n) { + return this._addCheck({ kind: "multipleOf", value: e, message: Rt.toString(n) }) + } + finite(e) { + return this._addCheck({ kind: "finite", message: Rt.toString(e) }) + } + safe(e) { + return this._addCheck({ + kind: "min", + inclusive: !0, + value: Number.MIN_SAFE_INTEGER, + message: Rt.toString(e), + })._addCheck({ kind: "max", inclusive: !0, value: Number.MAX_SAFE_INTEGER, message: Rt.toString(e) }) + } + get minValue() { + let e = null + for (const n of this._def.checks) n.kind === "min" && (e === null || n.value > e) && (e = n.value) + return e + } + get maxValue() { + let e = null + for (const n of this._def.checks) n.kind === "max" && (e === null || n.value < e) && (e = n.value) + return e + } + get isInt() { + return !!this._def.checks.find((e) => e.kind === "int" || (e.kind === "multipleOf" && Fn.isInteger(e.value))) + } + get isFinite() { + let e = null, + n = null + for (const o of this._def.checks) { + if (o.kind === "finite" || o.kind === "int" || o.kind === "multipleOf") return !0 + o.kind === "min" + ? (n === null || o.value > n) && (n = o.value) + : o.kind === "max" && (e === null || o.value < e) && (e = o.value) + } + return Number.isFinite(n) && Number.isFinite(e) + } +} +Bh.create = (t) => + new Bh({ checks: [], typeName: Yt.ZodNumber, coerce: (t == null ? void 0 : t.coerce) || !1, ...fn(t) }) +class Fv extends zn { + constructor() { + super(...arguments), (this.min = this.gte), (this.max = this.lte) + } + _parse(e) { + if (this._def.coerce) + try { + e.data = BigInt(e.data) + } catch { + return this._getInvalidInput(e) + } + if (this._getType(e) !== vt.bigint) return this._getInvalidInput(e) + let o + const r = new Ni() + for (const i of this._def.checks) + i.kind === "min" + ? (i.inclusive ? e.data < i.value : e.data <= i.value) && + ((o = this._getOrReturnCtx(e, o)), + st(o, { + code: qe.too_small, + type: "bigint", + minimum: i.value, + inclusive: i.inclusive, + message: i.message, + }), + r.dirty()) + : i.kind === "max" + ? (i.inclusive ? e.data > i.value : e.data >= i.value) && + ((o = this._getOrReturnCtx(e, o)), + st(o, { + code: qe.too_big, + type: "bigint", + maximum: i.value, + inclusive: i.inclusive, + message: i.message, + }), + r.dirty()) + : i.kind === "multipleOf" + ? e.data % i.value !== BigInt(0) && + ((o = this._getOrReturnCtx(e, o)), + st(o, { code: qe.not_multiple_of, multipleOf: i.value, message: i.message }), + r.dirty()) + : Fn.assertNever(i) + return { status: r.value, value: e.data } + } + _getInvalidInput(e) { + const n = this._getOrReturnCtx(e) + return st(n, { code: qe.invalid_type, expected: vt.bigint, received: n.parsedType }), Qt + } + gte(e, n) { + return this.setLimit("min", e, !0, Rt.toString(n)) + } + gt(e, n) { + return this.setLimit("min", e, !1, Rt.toString(n)) + } + lte(e, n) { + return this.setLimit("max", e, !0, Rt.toString(n)) + } + lt(e, n) { + return this.setLimit("max", e, !1, Rt.toString(n)) + } + setLimit(e, n, o, r) { + return new Fv({ + ...this._def, + checks: [...this._def.checks, { kind: e, value: n, inclusive: o, message: Rt.toString(r) }], + }) + } + _addCheck(e) { + return new Fv({ ...this._def, checks: [...this._def.checks, e] }) + } + positive(e) { + return this._addCheck({ kind: "min", value: BigInt(0), inclusive: !1, message: Rt.toString(e) }) + } + negative(e) { + return this._addCheck({ kind: "max", value: BigInt(0), inclusive: !1, message: Rt.toString(e) }) + } + nonpositive(e) { + return this._addCheck({ kind: "max", value: BigInt(0), inclusive: !0, message: Rt.toString(e) }) + } + nonnegative(e) { + return this._addCheck({ kind: "min", value: BigInt(0), inclusive: !0, message: Rt.toString(e) }) + } + multipleOf(e, n) { + return this._addCheck({ kind: "multipleOf", value: e, message: Rt.toString(n) }) + } + get minValue() { + let e = null + for (const n of this._def.checks) n.kind === "min" && (e === null || n.value > e) && (e = n.value) + return e + } + get maxValue() { + let e = null + for (const n of this._def.checks) n.kind === "max" && (e === null || n.value < e) && (e = n.value) + return e + } +} +Fv.create = (t) => + new Fv({ checks: [], typeName: Yt.ZodBigInt, coerce: (t == null ? void 0 : t.coerce) ?? !1, ...fn(t) }) +class a1 extends zn { + _parse(e) { + if ((this._def.coerce && (e.data = !!e.data), this._getType(e) !== vt.boolean)) { + const o = this._getOrReturnCtx(e) + return st(o, { code: qe.invalid_type, expected: vt.boolean, received: o.parsedType }), Qt + } + return ya(e.data) + } +} +a1.create = (t) => new a1({ typeName: Yt.ZodBoolean, coerce: (t == null ? void 0 : t.coerce) || !1, ...fn(t) }) +class dw extends zn { + _parse(e) { + if ((this._def.coerce && (e.data = new Date(e.data)), this._getType(e) !== vt.date)) { + const i = this._getOrReturnCtx(e) + return st(i, { code: qe.invalid_type, expected: vt.date, received: i.parsedType }), Qt + } + if (Number.isNaN(e.data.getTime())) { + const i = this._getOrReturnCtx(e) + return st(i, { code: qe.invalid_date }), Qt + } + const o = new Ni() + let r + for (const i of this._def.checks) + i.kind === "min" + ? e.data.getTime() < i.value && + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.too_small, + message: i.message, + inclusive: !0, + exact: !1, + minimum: i.value, + type: "date", + }), + o.dirty()) + : i.kind === "max" + ? e.data.getTime() > i.value && + ((r = this._getOrReturnCtx(e, r)), + st(r, { + code: qe.too_big, + message: i.message, + inclusive: !0, + exact: !1, + maximum: i.value, + type: "date", + }), + o.dirty()) + : Fn.assertNever(i) + return { status: o.value, value: new Date(e.data.getTime()) } + } + _addCheck(e) { + return new dw({ ...this._def, checks: [...this._def.checks, e] }) + } + min(e, n) { + return this._addCheck({ kind: "min", value: e.getTime(), message: Rt.toString(n) }) + } + max(e, n) { + return this._addCheck({ kind: "max", value: e.getTime(), message: Rt.toString(n) }) + } + get minDate() { + let e = null + for (const n of this._def.checks) n.kind === "min" && (e === null || n.value > e) && (e = n.value) + return e != null ? new Date(e) : null + } + get maxDate() { + let e = null + for (const n of this._def.checks) n.kind === "max" && (e === null || n.value < e) && (e = n.value) + return e != null ? new Date(e) : null + } +} +dw.create = (t) => new dw({ checks: [], coerce: (t == null ? void 0 : t.coerce) || !1, typeName: Yt.ZodDate, ...fn(t) }) +class tO extends zn { + _parse(e) { + if (this._getType(e) !== vt.symbol) { + const o = this._getOrReturnCtx(e) + return st(o, { code: qe.invalid_type, expected: vt.symbol, received: o.parsedType }), Qt + } + return ya(e.data) + } +} +tO.create = (t) => new tO({ typeName: Yt.ZodSymbol, ...fn(t) }) +class uw extends zn { + _parse(e) { + if (this._getType(e) !== vt.undefined) { + const o = this._getOrReturnCtx(e) + return st(o, { code: qe.invalid_type, expected: vt.undefined, received: o.parsedType }), Qt + } + return ya(e.data) + } +} +uw.create = (t) => new uw({ typeName: Yt.ZodUndefined, ...fn(t) }) +class l1 extends zn { + _parse(e) { + if (this._getType(e) !== vt.null) { + const o = this._getOrReturnCtx(e) + return st(o, { code: qe.invalid_type, expected: vt.null, received: o.parsedType }), Qt + } + return ya(e.data) + } +} +l1.create = (t) => new l1({ typeName: Yt.ZodNull, ...fn(t) }) +class c1 extends zn { + constructor() { + super(...arguments), (this._any = !0) + } + _parse(e) { + return ya(e.data) + } +} +c1.create = (t) => new c1({ typeName: Yt.ZodAny, ...fn(t) }) +class d1 extends zn { + constructor() { + super(...arguments), (this._unknown = !0) + } + _parse(e) { + return ya(e.data) + } +} +d1.create = (t) => new d1({ typeName: Yt.ZodUnknown, ...fn(t) }) +class Hd extends zn { + _parse(e) { + const n = this._getOrReturnCtx(e) + return st(n, { code: qe.invalid_type, expected: vt.never, received: n.parsedType }), Qt + } +} +Hd.create = (t) => new Hd({ typeName: Yt.ZodNever, ...fn(t) }) +class nO extends zn { + _parse(e) { + if (this._getType(e) !== vt.undefined) { + const o = this._getOrReturnCtx(e) + return st(o, { code: qe.invalid_type, expected: vt.void, received: o.parsedType }), Qt + } + return ya(e.data) + } +} +nO.create = (t) => new nO({ typeName: Yt.ZodVoid, ...fn(t) }) +class Nl extends zn { + _parse(e) { + const { ctx: n, status: o } = this._processInputParams(e), + r = this._def + if (n.parsedType !== vt.array) + return st(n, { code: qe.invalid_type, expected: vt.array, received: n.parsedType }), Qt + if (r.exactLength !== null) { + const s = n.data.length > r.exactLength.value, + a = n.data.length < r.exactLength.value + ;(s || a) && + (st(n, { + code: s ? qe.too_big : qe.too_small, + minimum: a ? r.exactLength.value : void 0, + maximum: s ? r.exactLength.value : void 0, + type: "array", + inclusive: !0, + exact: !0, + message: r.exactLength.message, + }), + o.dirty()) + } + if ( + (r.minLength !== null && + n.data.length < r.minLength.value && + (st(n, { + code: qe.too_small, + minimum: r.minLength.value, + type: "array", + inclusive: !0, + exact: !1, + message: r.minLength.message, + }), + o.dirty()), + r.maxLength !== null && + n.data.length > r.maxLength.value && + (st(n, { + code: qe.too_big, + maximum: r.maxLength.value, + type: "array", + inclusive: !0, + exact: !1, + message: r.maxLength.message, + }), + o.dirty()), + n.common.async) + ) + return Promise.all([...n.data].map((s, a) => r.type._parseAsync(new Bl(n, s, n.path, a)))).then((s) => + Ni.mergeArray(o, s), + ) + const i = [...n.data].map((s, a) => r.type._parseSync(new Bl(n, s, n.path, a))) + return Ni.mergeArray(o, i) + } + get element() { + return this._def.type + } + min(e, n) { + return new Nl({ ...this._def, minLength: { value: e, message: Rt.toString(n) } }) + } + max(e, n) { + return new Nl({ ...this._def, maxLength: { value: e, message: Rt.toString(n) } }) + } + length(e, n) { + return new Nl({ ...this._def, exactLength: { value: e, message: Rt.toString(n) } }) + } + nonempty(e) { + return this.min(1, e) + } +} +Nl.create = (t, e) => + new Nl({ type: t, minLength: null, maxLength: null, exactLength: null, typeName: Yt.ZodArray, ...fn(e) }) +function Fm(t) { + if (t instanceof lr) { + const e = {} + for (const n in t.shape) { + const o = t.shape[n] + e[n] = Sc.create(Fm(o)) + } + return new lr({ ...t._def, shape: () => e }) + } else + return t instanceof Nl + ? new Nl({ ...t._def, type: Fm(t.element) }) + : t instanceof Sc + ? Sc.create(Fm(t.unwrap())) + : t instanceof jp + ? jp.create(Fm(t.unwrap())) + : t instanceof Tp + ? Tp.create(t.items.map((e) => Fm(e))) + : t +} +class lr extends zn { + constructor() { + super(...arguments), (this._cached = null), (this.nonstrict = this.passthrough), (this.augment = this.extend) + } + _getCached() { + if (this._cached !== null) return this._cached + const e = this._def.shape(), + n = Fn.objectKeys(e) + return (this._cached = { shape: e, keys: n }), this._cached + } + _parse(e) { + if (this._getType(e) !== vt.object) { + const d = this._getOrReturnCtx(e) + return st(d, { code: qe.invalid_type, expected: vt.object, received: d.parsedType }), Qt + } + const { status: o, ctx: r } = this._processInputParams(e), + { shape: i, keys: s } = this._getCached(), + a = [] + if (!(this._def.catchall instanceof Hd && this._def.unknownKeys === "strip")) + for (const d in r.data) s.includes(d) || a.push(d) + const c = [] + for (const d of s) { + const u = i[d], + m = r.data[d] + c.push({ + key: { status: "valid", value: d }, + value: u._parse(new Bl(r, m, r.path, d)), + alwaysSet: d in r.data, + }) + } + if (this._def.catchall instanceof Hd) { + const d = this._def.unknownKeys + if (d === "passthrough") + for (const u of a) + c.push({ key: { status: "valid", value: u }, value: { status: "valid", value: r.data[u] } }) + else if (d === "strict") a.length > 0 && (st(r, { code: qe.unrecognized_keys, keys: a }), o.dirty()) + else if (d !== "strip") throw new Error("Internal ZodObject error: invalid unknownKeys value.") + } else { + const d = this._def.catchall + for (const u of a) { + const m = r.data[u] + c.push({ + key: { status: "valid", value: u }, + value: d._parse(new Bl(r, m, r.path, u)), + alwaysSet: u in r.data, + }) + } + } + return r.common.async + ? Promise.resolve() + .then(async () => { + const d = [] + for (const u of c) { + const m = await u.key, + f = await u.value + d.push({ key: m, value: f, alwaysSet: u.alwaysSet }) + } + return d + }) + .then((d) => Ni.mergeObjectSync(o, d)) + : Ni.mergeObjectSync(o, c) + } + get shape() { + return this._def.shape() + } + strict(e) { + return ( + Rt.errToObj, + new lr({ + ...this._def, + unknownKeys: "strict", + ...(e !== void 0 + ? { + errorMap: (n, o) => { + var i, s + const r = + ((s = (i = this._def).errorMap) == null ? void 0 : s.call(i, n, o).message) ?? + o.defaultError + return n.code === "unrecognized_keys" + ? { message: Rt.errToObj(e).message ?? r } + : { message: r } + }, + } + : {}), + }) + ) + } + strip() { + return new lr({ ...this._def, unknownKeys: "strip" }) + } + passthrough() { + return new lr({ ...this._def, unknownKeys: "passthrough" }) + } + extend(e) { + return new lr({ ...this._def, shape: () => ({ ...this._def.shape(), ...e }) }) + } + merge(e) { + return new lr({ + unknownKeys: e._def.unknownKeys, + catchall: e._def.catchall, + shape: () => ({ ...this._def.shape(), ...e._def.shape() }), + typeName: Yt.ZodObject, + }) + } + setKey(e, n) { + return this.augment({ [e]: n }) + } + catchall(e) { + return new lr({ ...this._def, catchall: e }) + } + pick(e) { + const n = {} + for (const o of Fn.objectKeys(e)) e[o] && this.shape[o] && (n[o] = this.shape[o]) + return new lr({ ...this._def, shape: () => n }) + } + omit(e) { + const n = {} + for (const o of Fn.objectKeys(this.shape)) e[o] || (n[o] = this.shape[o]) + return new lr({ ...this._def, shape: () => n }) + } + deepPartial() { + return Fm(this) + } + partial(e) { + const n = {} + for (const o of Fn.objectKeys(this.shape)) { + const r = this.shape[o] + e && !e[o] ? (n[o] = r) : (n[o] = r.optional()) + } + return new lr({ ...this._def, shape: () => n }) + } + required(e) { + const n = {} + for (const o of Fn.objectKeys(this.shape)) + if (e && !e[o]) n[o] = this.shape[o] + else { + let i = this.shape[o] + for (; i instanceof Sc; ) i = i._def.innerType + n[o] = i + } + return new lr({ ...this._def, shape: () => n }) + } + keyof() { + return wXe(Fn.objectKeys(this.shape)) + } +} +lr.create = (t, e) => + new lr({ shape: () => t, unknownKeys: "strip", catchall: Hd.create(), typeName: Yt.ZodObject, ...fn(e) }) +lr.strictCreate = (t, e) => + new lr({ shape: () => t, unknownKeys: "strict", catchall: Hd.create(), typeName: Yt.ZodObject, ...fn(e) }) +lr.lazycreate = (t, e) => + new lr({ shape: t, unknownKeys: "strip", catchall: Hd.create(), typeName: Yt.ZodObject, ...fn(e) }) +class pw extends zn { + _parse(e) { + const { ctx: n } = this._processInputParams(e), + o = this._def.options + function r(i) { + for (const a of i) if (a.result.status === "valid") return a.result + for (const a of i) + if (a.result.status === "dirty") return n.common.issues.push(...a.ctx.common.issues), a.result + const s = i.map((a) => new el(a.ctx.common.issues)) + return st(n, { code: qe.invalid_union, unionErrors: s }), Qt + } + if (n.common.async) + return Promise.all( + o.map(async (i) => { + const s = { ...n, common: { ...n.common, issues: [] }, parent: null } + return { result: await i._parseAsync({ data: n.data, path: n.path, parent: s }), ctx: s } + }), + ).then(r) + { + let i + const s = [] + for (const c of o) { + const d = { ...n, common: { ...n.common, issues: [] }, parent: null }, + u = c._parseSync({ data: n.data, path: n.path, parent: d }) + if (u.status === "valid") return u + u.status === "dirty" && !i && (i = { result: u, ctx: d }), + d.common.issues.length && s.push(d.common.issues) + } + if (i) return n.common.issues.push(...i.ctx.common.issues), i.result + const a = s.map((c) => new el(c)) + return st(n, { code: qe.invalid_union, unionErrors: a }), Qt + } + } + get options() { + return this._def.options + } +} +pw.create = (t, e) => new pw({ options: t, typeName: Yt.ZodUnion, ...fn(e) }) +const cc = (t) => + t instanceof p1 + ? cc(t.schema) + : t instanceof Mp + ? cc(t.innerType()) + : t instanceof fw + ? [t.value] + : t instanceof Ip + ? t.options + : t instanceof m1 + ? Fn.objectValues(t.enum) + : t instanceof vw + ? cc(t._def.innerType) + : t instanceof uw + ? [void 0] + : t instanceof l1 + ? [null] + : t instanceof Sc + ? [void 0, ...cc(t.unwrap())] + : t instanceof jp + ? [null, ...cc(t.unwrap())] + : t instanceof _Xe || t instanceof yw + ? cc(t.unwrap()) + : t instanceof bw + ? cc(t._def.innerType) + : [] +class Dj extends zn { + _parse(e) { + const { ctx: n } = this._processInputParams(e) + if (n.parsedType !== vt.object) + return st(n, { code: qe.invalid_type, expected: vt.object, received: n.parsedType }), Qt + const o = this.discriminator, + r = n.data[o], + i = this.optionsMap.get(r) + return i + ? n.common.async + ? i._parseAsync({ data: n.data, path: n.path, parent: n }) + : i._parseSync({ data: n.data, path: n.path, parent: n }) + : (st(n, { code: qe.invalid_union_discriminator, options: Array.from(this.optionsMap.keys()), path: [o] }), + Qt) + } + get discriminator() { + return this._def.discriminator + } + get options() { + return this._def.options + } + get optionsMap() { + return this._def.optionsMap + } + static create(e, n, o) { + const r = new Map() + for (const i of n) { + const s = cc(i.shape[e]) + if (!s.length) + throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`) + for (const a of s) { + if (r.has(a)) throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`) + r.set(a, i) + } + } + return new Dj({ typeName: Yt.ZodDiscriminatedUnion, discriminator: e, options: n, optionsMap: r, ...fn(o) }) + } +} +function u1(t, e) { + const n = Pd(t), + o = Pd(e) + if (t === e) return { valid: !0, data: t } + if (n === vt.object && o === vt.object) { + const r = Fn.objectKeys(e), + i = Fn.objectKeys(t).filter((a) => r.indexOf(a) !== -1), + s = { ...t, ...e } + for (const a of i) { + const c = u1(t[a], e[a]) + if (!c.valid) return { valid: !1 } + s[a] = c.data + } + return { valid: !0, data: s } + } else if (n === vt.array && o === vt.array) { + if (t.length !== e.length) return { valid: !1 } + const r = [] + for (let i = 0; i < t.length; i++) { + const s = t[i], + a = e[i], + c = u1(s, a) + if (!c.valid) return { valid: !1 } + r.push(c.data) + } + return { valid: !0, data: r } + } else return n === vt.date && o === vt.date && +t == +e ? { valid: !0, data: t } : { valid: !1 } +} +class mw extends zn { + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e), + r = (i, s) => { + if (XN(i) || XN(s)) return Qt + const a = u1(i.value, s.value) + return a.valid + ? ((JN(i) || JN(s)) && n.dirty(), { status: n.value, value: a.data }) + : (st(o, { code: qe.invalid_intersection_types }), Qt) + } + return o.common.async + ? Promise.all([ + this._def.left._parseAsync({ data: o.data, path: o.path, parent: o }), + this._def.right._parseAsync({ data: o.data, path: o.path, parent: o }), + ]).then(([i, s]) => r(i, s)) + : r( + this._def.left._parseSync({ data: o.data, path: o.path, parent: o }), + this._def.right._parseSync({ data: o.data, path: o.path, parent: o }), + ) + } +} +mw.create = (t, e, n) => new mw({ left: t, right: e, typeName: Yt.ZodIntersection, ...fn(n) }) +class Tp extends zn { + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e) + if (o.parsedType !== vt.array) + return st(o, { code: qe.invalid_type, expected: vt.array, received: o.parsedType }), Qt + if (o.data.length < this._def.items.length) + return ( + st(o, { code: qe.too_small, minimum: this._def.items.length, inclusive: !0, exact: !1, type: "array" }), + Qt + ) + !this._def.rest && + o.data.length > this._def.items.length && + (st(o, { code: qe.too_big, maximum: this._def.items.length, inclusive: !0, exact: !1, type: "array" }), + n.dirty()) + const i = [...o.data] + .map((s, a) => { + const c = this._def.items[a] || this._def.rest + return c ? c._parse(new Bl(o, s, o.path, a)) : null + }) + .filter((s) => !!s) + return o.common.async ? Promise.all(i).then((s) => Ni.mergeArray(n, s)) : Ni.mergeArray(n, i) + } + get items() { + return this._def.items + } + rest(e) { + return new Tp({ ...this._def, rest: e }) + } +} +Tp.create = (t, e) => { + if (!Array.isArray(t)) throw new Error("You must pass an array of schemas to z.tuple([ ... ])") + return new Tp({ items: t, typeName: Yt.ZodTuple, rest: null, ...fn(e) }) +} +class hw extends zn { + get keySchema() { + return this._def.keyType + } + get valueSchema() { + return this._def.valueType + } + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e) + if (o.parsedType !== vt.object) + return st(o, { code: qe.invalid_type, expected: vt.object, received: o.parsedType }), Qt + const r = [], + i = this._def.keyType, + s = this._def.valueType + for (const a in o.data) + r.push({ + key: i._parse(new Bl(o, a, o.path, a)), + value: s._parse(new Bl(o, o.data[a], o.path, a)), + alwaysSet: a in o.data, + }) + return o.common.async ? Ni.mergeObjectAsync(n, r) : Ni.mergeObjectSync(n, r) + } + get element() { + return this._def.valueType + } + static create(e, n, o) { + return n instanceof zn + ? new hw({ keyType: e, valueType: n, typeName: Yt.ZodRecord, ...fn(o) }) + : new hw({ keyType: xc.create(), valueType: e, typeName: Yt.ZodRecord, ...fn(n) }) + } +} +class oO extends zn { + get keySchema() { + return this._def.keyType + } + get valueSchema() { + return this._def.valueType + } + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e) + if (o.parsedType !== vt.map) + return st(o, { code: qe.invalid_type, expected: vt.map, received: o.parsedType }), Qt + const r = this._def.keyType, + i = this._def.valueType, + s = [...o.data.entries()].map(([a, c], d) => ({ + key: r._parse(new Bl(o, a, o.path, [d, "key"])), + value: i._parse(new Bl(o, c, o.path, [d, "value"])), + })) + if (o.common.async) { + const a = new Map() + return Promise.resolve().then(async () => { + for (const c of s) { + const d = await c.key, + u = await c.value + if (d.status === "aborted" || u.status === "aborted") return Qt + ;(d.status === "dirty" || u.status === "dirty") && n.dirty(), a.set(d.value, u.value) + } + return { status: n.value, value: a } + }) + } else { + const a = new Map() + for (const c of s) { + const d = c.key, + u = c.value + if (d.status === "aborted" || u.status === "aborted") return Qt + ;(d.status === "dirty" || u.status === "dirty") && n.dirty(), a.set(d.value, u.value) + } + return { status: n.value, value: a } + } + } +} +oO.create = (t, e, n) => new oO({ valueType: e, keyType: t, typeName: Yt.ZodMap, ...fn(n) }) +class Bv extends zn { + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e) + if (o.parsedType !== vt.set) + return st(o, { code: qe.invalid_type, expected: vt.set, received: o.parsedType }), Qt + const r = this._def + r.minSize !== null && + o.data.size < r.minSize.value && + (st(o, { + code: qe.too_small, + minimum: r.minSize.value, + type: "set", + inclusive: !0, + exact: !1, + message: r.minSize.message, + }), + n.dirty()), + r.maxSize !== null && + o.data.size > r.maxSize.value && + (st(o, { + code: qe.too_big, + maximum: r.maxSize.value, + type: "set", + inclusive: !0, + exact: !1, + message: r.maxSize.message, + }), + n.dirty()) + const i = this._def.valueType + function s(c) { + const d = new Set() + for (const u of c) { + if (u.status === "aborted") return Qt + u.status === "dirty" && n.dirty(), d.add(u.value) + } + return { status: n.value, value: d } + } + const a = [...o.data.values()].map((c, d) => i._parse(new Bl(o, c, o.path, d))) + return o.common.async ? Promise.all(a).then((c) => s(c)) : s(a) + } + min(e, n) { + return new Bv({ ...this._def, minSize: { value: e, message: Rt.toString(n) } }) + } + max(e, n) { + return new Bv({ ...this._def, maxSize: { value: e, message: Rt.toString(n) } }) + } + size(e, n) { + return this.min(e, n).max(e, n) + } + nonempty(e) { + return this.min(1, e) + } +} +Bv.create = (t, e) => new Bv({ valueType: t, minSize: null, maxSize: null, typeName: Yt.ZodSet, ...fn(e) }) +class p1 extends zn { + get schema() { + return this._def.getter() + } + _parse(e) { + const { ctx: n } = this._processInputParams(e) + return this._def.getter()._parse({ data: n.data, path: n.path, parent: n }) + } +} +p1.create = (t, e) => new p1({ getter: t, typeName: Yt.ZodLazy, ...fn(e) }) +class fw extends zn { + _parse(e) { + if (e.data !== this._def.value) { + const n = this._getOrReturnCtx(e) + return st(n, { received: n.data, code: qe.invalid_literal, expected: this._def.value }), Qt + } + return { status: "valid", value: e.data } + } + get value() { + return this._def.value + } +} +fw.create = (t, e) => new fw({ value: t, typeName: Yt.ZodLiteral, ...fn(e) }) +function wXe(t, e) { + return new Ip({ values: t, typeName: Yt.ZodEnum, ...fn(e) }) +} +class Ip extends zn { + _parse(e) { + if (typeof e.data != "string") { + const n = this._getOrReturnCtx(e), + o = this._def.values + return st(n, { expected: Fn.joinValues(o), received: n.parsedType, code: qe.invalid_type }), Qt + } + if ((this._cache || (this._cache = new Set(this._def.values)), !this._cache.has(e.data))) { + const n = this._getOrReturnCtx(e), + o = this._def.values + return st(n, { received: n.data, code: qe.invalid_enum_value, options: o }), Qt + } + return ya(e.data) + } + get options() { + return this._def.values + } + get enum() { + const e = {} + for (const n of this._def.values) e[n] = n + return e + } + get Values() { + const e = {} + for (const n of this._def.values) e[n] = n + return e + } + get Enum() { + const e = {} + for (const n of this._def.values) e[n] = n + return e + } + extract(e, n = this._def) { + return Ip.create(e, { ...this._def, ...n }) + } + exclude(e, n = this._def) { + return Ip.create( + this.options.filter((o) => !e.includes(o)), + { ...this._def, ...n }, + ) + } +} +Ip.create = wXe +class m1 extends zn { + _parse(e) { + const n = Fn.getValidEnumValues(this._def.values), + o = this._getOrReturnCtx(e) + if (o.parsedType !== vt.string && o.parsedType !== vt.number) { + const r = Fn.objectValues(n) + return st(o, { expected: Fn.joinValues(r), received: o.parsedType, code: qe.invalid_type }), Qt + } + if ( + (this._cache || (this._cache = new Set(Fn.getValidEnumValues(this._def.values))), !this._cache.has(e.data)) + ) { + const r = Fn.objectValues(n) + return st(o, { received: o.data, code: qe.invalid_enum_value, options: r }), Qt + } + return ya(e.data) + } + get enum() { + return this._def.values + } +} +m1.create = (t, e) => new m1({ values: t, typeName: Yt.ZodNativeEnum, ...fn(e) }) +class gw extends zn { + unwrap() { + return this._def.type + } + _parse(e) { + const { ctx: n } = this._processInputParams(e) + if (n.parsedType !== vt.promise && n.common.async === !1) + return st(n, { code: qe.invalid_type, expected: vt.promise, received: n.parsedType }), Qt + const o = n.parsedType === vt.promise ? n.data : Promise.resolve(n.data) + return ya(o.then((r) => this._def.type.parseAsync(r, { path: n.path, errorMap: n.common.contextualErrorMap }))) + } +} +gw.create = (t, e) => new gw({ type: t, typeName: Yt.ZodPromise, ...fn(e) }) +class Mp extends zn { + innerType() { + return this._def.schema + } + sourceType() { + return this._def.schema._def.typeName === Yt.ZodEffects ? this._def.schema.sourceType() : this._def.schema + } + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e), + r = this._def.effect || null, + i = { + addIssue: (s) => { + st(o, s), s.fatal ? n.abort() : n.dirty() + }, + get path() { + return o.path + }, + } + if (((i.addIssue = i.addIssue.bind(i)), r.type === "preprocess")) { + const s = r.transform(o.data, i) + if (o.common.async) + return Promise.resolve(s).then(async (a) => { + if (n.value === "aborted") return Qt + const c = await this._def.schema._parseAsync({ data: a, path: o.path, parent: o }) + return c.status === "aborted" ? Qt : c.status === "dirty" || n.value === "dirty" ? tv(c.value) : c + }) + { + if (n.value === "aborted") return Qt + const a = this._def.schema._parseSync({ data: s, path: o.path, parent: o }) + return a.status === "aborted" ? Qt : a.status === "dirty" || n.value === "dirty" ? tv(a.value) : a + } + } + if (r.type === "refinement") { + const s = (a) => { + const c = r.refinement(a, i) + if (o.common.async) return Promise.resolve(c) + if (c instanceof Promise) + throw new Error( + "Async refinement encountered during synchronous parse operation. Use .parseAsync instead.", + ) + return a + } + if (o.common.async === !1) { + const a = this._def.schema._parseSync({ data: o.data, path: o.path, parent: o }) + return a.status === "aborted" + ? Qt + : (a.status === "dirty" && n.dirty(), s(a.value), { status: n.value, value: a.value }) + } else + return this._def.schema + ._parseAsync({ data: o.data, path: o.path, parent: o }) + .then((a) => + a.status === "aborted" + ? Qt + : (a.status === "dirty" && n.dirty(), + s(a.value).then(() => ({ status: n.value, value: a.value }))), + ) + } + if (r.type === "transform") + if (o.common.async === !1) { + const s = this._def.schema._parseSync({ data: o.data, path: o.path, parent: o }) + if (!Fh(s)) return Qt + const a = r.transform(s.value, i) + if (a instanceof Promise) + throw new Error( + "Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.", + ) + return { status: n.value, value: a } + } else + return this._def.schema + ._parseAsync({ data: o.data, path: o.path, parent: o }) + .then((s) => + Fh(s) + ? Promise.resolve(r.transform(s.value, i)).then((a) => ({ status: n.value, value: a })) + : Qt, + ) + Fn.assertNever(r) + } +} +Mp.create = (t, e, n) => new Mp({ schema: t, typeName: Yt.ZodEffects, effect: e, ...fn(n) }) +Mp.createWithPreprocess = (t, e, n) => + new Mp({ schema: e, effect: { type: "preprocess", transform: t }, typeName: Yt.ZodEffects, ...fn(n) }) +class Sc extends zn { + _parse(e) { + return this._getType(e) === vt.undefined ? ya(void 0) : this._def.innerType._parse(e) + } + unwrap() { + return this._def.innerType + } +} +Sc.create = (t, e) => new Sc({ innerType: t, typeName: Yt.ZodOptional, ...fn(e) }) +class jp extends zn { + _parse(e) { + return this._getType(e) === vt.null ? ya(null) : this._def.innerType._parse(e) + } + unwrap() { + return this._def.innerType + } +} +jp.create = (t, e) => new jp({ innerType: t, typeName: Yt.ZodNullable, ...fn(e) }) +class vw extends zn { + _parse(e) { + const { ctx: n } = this._processInputParams(e) + let o = n.data + return ( + n.parsedType === vt.undefined && (o = this._def.defaultValue()), + this._def.innerType._parse({ data: o, path: n.path, parent: n }) + ) + } + removeDefault() { + return this._def.innerType + } +} +vw.create = (t, e) => + new vw({ + innerType: t, + typeName: Yt.ZodDefault, + defaultValue: typeof e.default == "function" ? e.default : () => e.default, + ...fn(e), + }) +class bw extends zn { + _parse(e) { + const { ctx: n } = this._processInputParams(e), + o = { ...n, common: { ...n.common, issues: [] } }, + r = this._def.innerType._parse({ data: o.data, path: o.path, parent: { ...o } }) + return cw(r) + ? r.then((i) => ({ + status: "valid", + value: + i.status === "valid" + ? i.value + : this._def.catchValue({ + get error() { + return new el(o.common.issues) + }, + input: o.data, + }), + })) + : { + status: "valid", + value: + r.status === "valid" + ? r.value + : this._def.catchValue({ + get error() { + return new el(o.common.issues) + }, + input: o.data, + }), + } + } + removeCatch() { + return this._def.innerType + } +} +bw.create = (t, e) => + new bw({ + innerType: t, + typeName: Yt.ZodCatch, + catchValue: typeof e.catch == "function" ? e.catch : () => e.catch, + ...fn(e), + }) +class rO extends zn { + _parse(e) { + if (this._getType(e) !== vt.nan) { + const o = this._getOrReturnCtx(e) + return st(o, { code: qe.invalid_type, expected: vt.nan, received: o.parsedType }), Qt + } + return { status: "valid", value: e.data } + } +} +rO.create = (t) => new rO({ typeName: Yt.ZodNaN, ...fn(t) }) +class _Xe extends zn { + _parse(e) { + const { ctx: n } = this._processInputParams(e), + o = n.data + return this._def.type._parse({ data: o, path: n.path, parent: n }) + } + unwrap() { + return this._def.type + } +} +class Nj extends zn { + _parse(e) { + const { status: n, ctx: o } = this._processInputParams(e) + if (o.common.async) + return (async () => { + const i = await this._def.in._parseAsync({ data: o.data, path: o.path, parent: o }) + return i.status === "aborted" + ? Qt + : i.status === "dirty" + ? (n.dirty(), tv(i.value)) + : this._def.out._parseAsync({ data: i.value, path: o.path, parent: o }) + })() + { + const r = this._def.in._parseSync({ data: o.data, path: o.path, parent: o }) + return r.status === "aborted" + ? Qt + : r.status === "dirty" + ? (n.dirty(), { status: "dirty", value: r.value }) + : this._def.out._parseSync({ data: r.value, path: o.path, parent: o }) + } + } + static create(e, n) { + return new Nj({ in: e, out: n, typeName: Yt.ZodPipeline }) + } +} +class yw extends zn { + _parse(e) { + const n = this._def.innerType._parse(e), + o = (r) => (Fh(r) && (r.value = Object.freeze(r.value)), r) + return cw(n) ? n.then((r) => o(r)) : o(n) + } + unwrap() { + return this._def.innerType + } +} +yw.create = (t, e) => new yw({ innerType: t, typeName: Yt.ZodReadonly, ...fn(e) }) +var Yt +;(function (t) { + ;(t.ZodString = "ZodString"), + (t.ZodNumber = "ZodNumber"), + (t.ZodNaN = "ZodNaN"), + (t.ZodBigInt = "ZodBigInt"), + (t.ZodBoolean = "ZodBoolean"), + (t.ZodDate = "ZodDate"), + (t.ZodSymbol = "ZodSymbol"), + (t.ZodUndefined = "ZodUndefined"), + (t.ZodNull = "ZodNull"), + (t.ZodAny = "ZodAny"), + (t.ZodUnknown = "ZodUnknown"), + (t.ZodNever = "ZodNever"), + (t.ZodVoid = "ZodVoid"), + (t.ZodArray = "ZodArray"), + (t.ZodObject = "ZodObject"), + (t.ZodUnion = "ZodUnion"), + (t.ZodDiscriminatedUnion = "ZodDiscriminatedUnion"), + (t.ZodIntersection = "ZodIntersection"), + (t.ZodTuple = "ZodTuple"), + (t.ZodRecord = "ZodRecord"), + (t.ZodMap = "ZodMap"), + (t.ZodSet = "ZodSet"), + (t.ZodFunction = "ZodFunction"), + (t.ZodLazy = "ZodLazy"), + (t.ZodLiteral = "ZodLiteral"), + (t.ZodEnum = "ZodEnum"), + (t.ZodEffects = "ZodEffects"), + (t.ZodNativeEnum = "ZodNativeEnum"), + (t.ZodOptional = "ZodOptional"), + (t.ZodNullable = "ZodNullable"), + (t.ZodDefault = "ZodDefault"), + (t.ZodCatch = "ZodCatch"), + (t.ZodPromise = "ZodPromise"), + (t.ZodBranded = "ZodBranded"), + (t.ZodPipeline = "ZodPipeline"), + (t.ZodReadonly = "ZodReadonly") +})(Yt || (Yt = {})) +const se = xc.create, + Pe = Bh.create, + Ge = a1.create, + h1 = uw.create, + CXe = c1.create, + SXe = d1.create +Hd.create +const Do = Nl.create, + Ae = lr.create, + Tc = pw.create, + su = Dj.create +mw.create +const Ur = Tp.create, + Vr = hw.create, + et = fw.create, + Jr = Ip.create +gw.create +Sc.create +jp.create +const AXe = ["low", "medium", "high"], + PXe = Jr(AXe), + r_t = ["max_tokens", "temperature", "reasoning", "include_reasoning"], + i_t = Jr(r_t), + s_t = Ae({ + maxTokens: Pe().nullish(), + maxThinkingTokens: Pe().nullish(), + contextWindow: Pe(), + supportsImages: Ge().optional(), + supportsComputerUse: Ge().optional(), + supportsPromptCache: Ge(), + supportsReasoningBudget: Ge().optional(), + requiredReasoningBudget: Ge().optional(), + supportsReasoningEffort: Ge().optional(), + supportedParameters: Do(i_t).optional(), + inputPrice: Pe().optional(), + outputPrice: Pe().optional(), + cacheWritesPrice: Pe().optional(), + cacheReadsPrice: Pe().optional(), + description: se().optional(), + reasoningEffort: PXe.optional(), + minTokensPerCachePoint: Pe().optional(), + maxCachePoints: Pe().optional(), + cachableFields: Do(se()).optional(), + tiers: Do( + Ae({ + contextWindow: Pe(), + inputPrice: Pe().optional(), + outputPrice: Pe().optional(), + cacheWritesPrice: Pe().optional(), + cacheReadsPrice: Pe().optional(), + }), + ).optional(), + }), + Tr = { + MIN_SEARCH_RESULTS: 10, + MAX_SEARCH_RESULTS: 200, + DEFAULT_SEARCH_RESULTS: 50, + SEARCH_RESULTS_STEP: 10, + MIN_SEARCH_SCORE: 0, + MAX_SEARCH_SCORE: 1, + DEFAULT_SEARCH_MIN_SCORE: 0.4, + SEARCH_SCORE_STEP: 0.05, + }, + a_t = Ae({ + codebaseIndexEnabled: Ge().optional(), + codebaseIndexQdrantUrl: se().optional(), + codebaseIndexEmbedderProvider: Jr(["openai", "ollama", "openai-compatible", "gemini", "mistral"]).optional(), + codebaseIndexEmbedderBaseUrl: se().optional(), + codebaseIndexEmbedderModelId: se().optional(), + codebaseIndexEmbedderModelDimension: Pe().optional(), + codebaseIndexSearchMinScore: Pe().min(0).max(1).optional(), + codebaseIndexSearchMaxResults: Pe().min(Tr.MIN_SEARCH_RESULTS).max(Tr.MAX_SEARCH_RESULTS).optional(), + codebaseIndexOpenAiCompatibleBaseUrl: se().optional(), + codebaseIndexOpenAiCompatibleModelDimension: Pe().optional(), + }), + l_t = Ae({ + openai: Vr(se(), Ae({ dimension: Pe() })).optional(), + ollama: Vr(se(), Ae({ dimension: Pe() })).optional(), + "openai-compatible": Vr(se(), Ae({ dimension: Pe() })).optional(), + gemini: Vr(se(), Ae({ dimension: Pe() })).optional(), + mistral: Vr(se(), Ae({ dimension: Pe() })).optional(), + }), + c_t = Ae({ + codeIndexOpenAiKey: se().optional(), + codeIndexQdrantApiKey: se().optional(), + codebaseIndexOpenAiCompatibleBaseUrl: se().optional(), + codebaseIndexOpenAiCompatibleApiKey: se().optional(), + codebaseIndexOpenAiCompatibleModelDimension: Pe().optional(), + codebaseIndexGeminiApiKey: se().optional(), + codebaseIndexMistralApiKey: se().optional(), + }), + RXe = [ + "anthropic", + "claude-code", + "glama", + "openrouter", + "bedrock", + "vertex", + "openai", + "ollama", + "vscode-lm", + "lmstudio", + "gemini", + "gemini-cli", + "openai-native", + "mistral", + "moonshot", + "deepseek", + "doubao", + "unbound", + "requesty", + "human-relay", + "fake-ai", + "xai", + "groq", + "chutes", + "litellm", + "huggingface", + "cerebras", + "sambanova", + "zai", + "fireworks", + ], + TXe = Jr(RXe), + d_t = Ae({ id: se(), name: se(), apiProvider: TXe.optional() }), + bx = 3, + Ks = Ae({ + includeMaxTokens: Ge().optional(), + diffEnabled: Ge().optional(), + todoListEnabled: Ge().optional(), + fuzzyMatchThreshold: Pe().optional(), + modelTemperature: Pe().nullish(), + rateLimitSeconds: Pe().optional(), + consecutiveMistakeLimit: Pe().min(0).optional(), + enableReasoningEffort: Ge().optional(), + reasoningEffort: PXe.optional(), + modelMaxTokens: Pe().optional(), + modelMaxThinkingTokens: Pe().optional(), + }), + Dr = Ks.extend({ apiModelId: se().optional() }), + IXe = Dr.extend({ + apiKey: se().optional(), + anthropicBaseUrl: se().optional(), + anthropicUseAuthToken: Ge().optional(), + }), + MXe = Dr.extend({ + claudeCodePath: se().optional(), + claudeCodeMaxOutputTokens: Pe().int().min(1).max(2e5).optional(), + }), + jXe = Ks.extend({ glamaModelId: se().optional(), glamaApiKey: se().optional() }), + EXe = Ks.extend({ + openRouterApiKey: se().optional(), + openRouterModelId: se().optional(), + openRouterBaseUrl: se().optional(), + openRouterSpecificProvider: se().optional(), + openRouterUseMiddleOutTransform: Ge().optional(), + }), + zXe = Dr.extend({ + awsAccessKey: se().optional(), + awsSecretKey: se().optional(), + awsSessionToken: se().optional(), + awsRegion: se().optional(), + awsUseCrossRegionInference: Ge().optional(), + awsUsePromptCache: Ge().optional(), + awsProfile: se().optional(), + awsUseProfile: Ge().optional(), + awsApiKey: se().optional(), + awsUseApiKey: Ge().optional(), + awsCustomArn: se().optional(), + awsModelContextWindow: Pe().optional(), + awsBedrockEndpointEnabled: Ge().optional(), + awsBedrockEndpoint: se().optional(), + }), + $Xe = Dr.extend({ + vertexKeyFile: se().optional(), + vertexJsonCredentials: se().optional(), + vertexProjectId: se().optional(), + vertexRegion: se().optional(), + }), + LXe = Ks.extend({ + openAiBaseUrl: se().optional(), + openAiApiKey: se().optional(), + openAiLegacyFormat: Ge().optional(), + openAiR1FormatEnabled: Ge().optional(), + openAiModelId: se().optional(), + openAiCustomModelInfo: s_t.nullish(), + openAiUseAzure: Ge().optional(), + azureApiVersion: se().optional(), + openAiStreamingEnabled: Ge().optional(), + openAiHostHeader: se().optional(), + openAiHeaders: Vr(se(), se()).optional(), + }), + DXe = Ks.extend({ ollamaModelId: se().optional(), ollamaBaseUrl: se().optional() }), + NXe = Ks.extend({ + vsCodeLmModelSelector: Ae({ + vendor: se().optional(), + family: se().optional(), + version: se().optional(), + id: se().optional(), + }).optional(), + }), + OXe = Ks.extend({ + lmStudioModelId: se().optional(), + lmStudioBaseUrl: se().optional(), + lmStudioDraftModelId: se().optional(), + lmStudioSpeculativeDecodingEnabled: Ge().optional(), + }), + FXe = Dr.extend({ + geminiApiKey: se().optional(), + googleGeminiBaseUrl: se().optional(), + enableUrlContext: Ge().optional(), + enableGrounding: Ge().optional(), + }), + BXe = Dr.extend({ geminiCliOAuthPath: se().optional(), geminiCliProjectId: se().optional() }), + UXe = Dr.extend({ openAiNativeApiKey: se().optional(), openAiNativeBaseUrl: se().optional() }), + qXe = Dr.extend({ mistralApiKey: se().optional(), mistralCodestralUrl: se().optional() }), + WXe = Dr.extend({ deepSeekBaseUrl: se().optional(), deepSeekApiKey: se().optional() }), + KXe = Dr.extend({ doubaoBaseUrl: se().optional(), doubaoApiKey: se().optional() }), + VXe = Dr.extend({ + moonshotBaseUrl: Tc([et("https://api.moonshot.ai/v1"), et("https://api.moonshot.cn/v1")]).optional(), + moonshotApiKey: se().optional(), + }), + HXe = Ks.extend({ unboundApiKey: se().optional(), unboundModelId: se().optional() }), + GXe = Ks.extend({ requestyApiKey: se().optional(), requestyModelId: se().optional() }), + QXe = Ks, + ZXe = Ks.extend({ fakeAi: SXe().optional() }), + YXe = Dr.extend({ xaiApiKey: se().optional() }), + XXe = Dr.extend({ groqApiKey: se().optional() }), + JXe = Ks.extend({ + huggingFaceApiKey: se().optional(), + huggingFaceModelId: se().optional(), + huggingFaceInferenceProvider: se().optional(), + }), + eJe = Dr.extend({ chutesApiKey: se().optional() }), + tJe = Ks.extend({ + litellmBaseUrl: se().optional(), + litellmApiKey: se().optional(), + litellmModelId: se().optional(), + litellmUsePromptCache: Ge().optional(), + }), + nJe = Dr.extend({ cerebrasApiKey: se().optional() }), + oJe = Dr.extend({ sambaNovaApiKey: se().optional() }), + rJe = Dr.extend({ zaiApiKey: se().optional(), zaiApiLine: Tc([et("china"), et("international")]).optional() }), + iJe = Dr.extend({ fireworksApiKey: se().optional() }), + u_t = Ae({ apiProvider: h1() }), + p_t = su("apiProvider", [ + IXe.merge(Ae({ apiProvider: et("anthropic") })), + MXe.merge(Ae({ apiProvider: et("claude-code") })), + jXe.merge(Ae({ apiProvider: et("glama") })), + EXe.merge(Ae({ apiProvider: et("openrouter") })), + zXe.merge(Ae({ apiProvider: et("bedrock") })), + $Xe.merge(Ae({ apiProvider: et("vertex") })), + LXe.merge(Ae({ apiProvider: et("openai") })), + DXe.merge(Ae({ apiProvider: et("ollama") })), + NXe.merge(Ae({ apiProvider: et("vscode-lm") })), + OXe.merge(Ae({ apiProvider: et("lmstudio") })), + FXe.merge(Ae({ apiProvider: et("gemini") })), + BXe.merge(Ae({ apiProvider: et("gemini-cli") })), + UXe.merge(Ae({ apiProvider: et("openai-native") })), + qXe.merge(Ae({ apiProvider: et("mistral") })), + WXe.merge(Ae({ apiProvider: et("deepseek") })), + KXe.merge(Ae({ apiProvider: et("doubao") })), + VXe.merge(Ae({ apiProvider: et("moonshot") })), + HXe.merge(Ae({ apiProvider: et("unbound") })), + GXe.merge(Ae({ apiProvider: et("requesty") })), + QXe.merge(Ae({ apiProvider: et("human-relay") })), + ZXe.merge(Ae({ apiProvider: et("fake-ai") })), + YXe.merge(Ae({ apiProvider: et("xai") })), + XXe.merge(Ae({ apiProvider: et("groq") })), + JXe.merge(Ae({ apiProvider: et("huggingface") })), + eJe.merge(Ae({ apiProvider: et("chutes") })), + tJe.merge(Ae({ apiProvider: et("litellm") })), + nJe.merge(Ae({ apiProvider: et("cerebras") })), + oJe.merge(Ae({ apiProvider: et("sambanova") })), + rJe.merge(Ae({ apiProvider: et("zai") })), + iJe.merge(Ae({ apiProvider: et("fireworks") })), + u_t, + ]), + Oj = Ae({ + apiProvider: TXe.optional(), + ...IXe.shape, + ...MXe.shape, + ...jXe.shape, + ...EXe.shape, + ...zXe.shape, + ...$Xe.shape, + ...LXe.shape, + ...DXe.shape, + ...NXe.shape, + ...OXe.shape, + ...FXe.shape, + ...BXe.shape, + ...UXe.shape, + ...qXe.shape, + ...WXe.shape, + ...KXe.shape, + ...VXe.shape, + ...HXe.shape, + ...GXe.shape, + ...QXe.shape, + ...ZXe.shape, + ...YXe.shape, + ...XXe.shape, + ...JXe.shape, + ...eJe.shape, + ...tJe.shape, + ...nJe.shape, + ...oJe.shape, + ...rJe.shape, + ...iJe.shape, + ...c_t.shape, + }) +Oj.extend({ id: se().optional() }) +const m_t = p_t.and(Ae({ id: se().optional() })), + h_t = Oj.keyof().options, + f_t = Ae({ + id: se(), + number: Pe(), + ts: Pe(), + task: se(), + tokensIn: Pe(), + tokensOut: Pe(), + cacheWrites: Pe().optional(), + cacheReads: Pe().optional(), + totalCost: Pe(), + size: Pe().optional(), + workspace: se().optional(), + mode: se().optional(), + }), + g_t = ["powerSteering", "multiFileApplyDiff", "preventFocusDisruption", "assistantMessageParser"] +Jr(g_t) +const v_t = Ae({ + powerSteering: Ge().optional(), + multiFileApplyDiff: Ge().optional(), + preventFocusDisruption: Ge().optional(), + assistantMessageParser: Ge().optional(), + }), + b_t = [ + "followup", + "command", + "command_output", + "completion_result", + "tool", + "api_req_failed", + "resume_task", + "resume_completed_task", + "mistake_limit_reached", + "browser_action_launch", + "use_mcp_server", + "auto_approval_max_req_reached", + ], + y_t = Jr(b_t), + k_t = [ + "error", + "api_req_started", + "api_req_finished", + "api_req_retried", + "api_req_retry_delayed", + "api_req_deleted", + "text", + "reasoning", + "completion_result", + "user_feedback", + "user_feedback_diff", + "command_output", + "shell_integration_warning", + "browser_action", + "browser_action_result", + "mcp_server_request_started", + "mcp_server_response", + "subtask_result", + "checkpoint_saved", + "rooignore_error", + "diff_error", + "condense_context", + "condense_context_error", + "codebase_search_result", + "user_edit_todos", + ], + x_t = Jr(k_t), + w_t = Ae({ icon: se().optional(), text: se().optional() }), + __t = Ae({ cost: Pe(), prevContextTokens: Pe(), newContextTokens: Pe(), summary: se() }), + sJe = Ae({ + ts: Pe(), + type: Tc([et("ask"), et("say")]), + ask: y_t.optional(), + say: x_t.optional(), + text: se().optional(), + images: Do(se()).optional(), + partial: Ge().optional(), + reasoning: se().optional(), + conversationHistoryIndex: Pe().optional(), + checkpoint: Vr(se(), SXe()).optional(), + progressStatus: w_t.optional(), + contextCondense: __t.optional(), + isProtected: Ge().optional(), + apiProtocol: Tc([et("openai"), et("anthropic")]).optional(), + }), + iO = Ae({ + totalTokensIn: Pe(), + totalTokensOut: Pe(), + totalCacheWrites: Pe().optional(), + totalCacheReads: Pe().optional(), + totalCost: Pe(), + contextTokens: Pe(), + }), + C_t = ["unset", "enabled", "disabled"], + S_t = Jr(C_t) +var Ls = ((t) => ( + (t.TASK_CREATED = "Task Created"), + (t.TASK_RESTARTED = "Task Reopened"), + (t.TASK_COMPLETED = "Task Completed"), + (t.TASK_MESSAGE = "Task Message"), + (t.TASK_CONVERSATION_MESSAGE = "Conversation Message"), + (t.LLM_COMPLETION = "LLM Completion"), + (t.MODE_SWITCH = "Mode Switched"), + (t.MODE_SELECTOR_OPENED = "Mode Selector Opened"), + (t.TOOL_USED = "Tool Used"), + (t.CHECKPOINT_CREATED = "Checkpoint Created"), + (t.CHECKPOINT_RESTORED = "Checkpoint Restored"), + (t.CHECKPOINT_DIFFED = "Checkpoint Diffed"), + (t.TAB_SHOWN = "Tab Shown"), + (t.MODE_SETTINGS_CHANGED = "Mode Setting Changed"), + (t.CUSTOM_MODE_CREATED = "Custom Mode Created"), + (t.CONTEXT_CONDENSED = "Context Condensed"), + (t.SLIDING_WINDOW_TRUNCATION = "Sliding Window Truncation"), + (t.CODE_ACTION_USED = "Code Action Used"), + (t.PROMPT_ENHANCED = "Prompt Enhanced"), + (t.TITLE_BUTTON_CLICKED = "Title Button Clicked"), + (t.AUTHENTICATION_INITIATED = "Authentication Initiated"), + (t.MARKETPLACE_ITEM_INSTALLED = "Marketplace Item Installed"), + (t.MARKETPLACE_ITEM_REMOVED = "Marketplace Item Removed"), + (t.MARKETPLACE_TAB_VIEWED = "Marketplace Tab Viewed"), + (t.MARKETPLACE_INSTALL_BUTTON_CLICKED = "Marketplace Install Button Clicked"), + (t.SHARE_BUTTON_CLICKED = "Share Button Clicked"), + (t.SHARE_ORGANIZATION_CLICKED = "Share Organization Clicked"), + (t.SHARE_PUBLIC_CLICKED = "Share Public Clicked"), + (t.SHARE_CONNECT_TO_CLOUD_CLICKED = "Share Connect To Cloud Clicked"), + (t.ACCOUNT_CONNECT_CLICKED = "Account Connect Clicked"), + (t.ACCOUNT_CONNECT_SUCCESS = "Account Connect Success"), + (t.ACCOUNT_LOGOUT_CLICKED = "Account Logout Clicked"), + (t.ACCOUNT_LOGOUT_SUCCESS = "Account Logout Success"), + (t.SCHEMA_VALIDATION_ERROR = "Schema Validation Error"), + (t.DIFF_APPLICATION_ERROR = "Diff Application Error"), + (t.SHELL_INTEGRATION_ERROR = "Shell Integration Error"), + (t.CONSECUTIVE_MISTAKE_ERROR = "Consecutive Mistake Error"), + (t.CODE_INDEX_ERROR = "Code Index Error"), + t +))(Ls || {}) +const A_t = Ae({ + appName: se(), + appVersion: se(), + vscodeVersion: se(), + platform: se(), + editorName: se(), + language: se(), + mode: se(), + cloudIsAuthenticated: Ge().optional(), + }), + P_t = Ae({ + taskId: se().optional(), + apiProvider: Jr(RXe).optional(), + modelId: se().optional(), + diffStrategy: se().optional(), + isSubtask: Ge().optional(), + todos: Ae({ total: Pe(), completed: Pe(), inProgress: Pe(), pending: Pe() }).optional(), + }), + R_t = Ae({ repositoryUrl: se().optional(), repositoryName: se().optional(), defaultBranch: se().optional() }), + rA = Ae({ ...A_t.shape, ...P_t.shape, ...R_t.shape }) +su("type", [ + Ae({ + type: Jr([ + "Task Created", + "Task Reopened", + "Task Completed", + "Conversation Message", + "Mode Switched", + "Mode Selector Opened", + "Tool Used", + "Checkpoint Created", + "Checkpoint Restored", + "Checkpoint Diffed", + "Code Action Used", + "Prompt Enhanced", + "Title Button Clicked", + "Authentication Initiated", + "Marketplace Item Installed", + "Marketplace Item Removed", + "Marketplace Tab Viewed", + "Marketplace Install Button Clicked", + "Share Button Clicked", + "Share Organization Clicked", + "Share Public Clicked", + "Share Connect To Cloud Clicked", + "Account Connect Clicked", + "Account Connect Success", + "Account Logout Clicked", + "Account Logout Success", + "Schema Validation Error", + "Diff Application Error", + "Shell Integration Error", + "Consecutive Mistake Error", + "Code Index Error", + "Context Condensed", + "Sliding Window Truncation", + "Tab Shown", + "Mode Setting Changed", + "Custom Mode Created", + ]), + properties: rA, + }), + Ae({ type: et("Task Message"), properties: Ae({ ...rA.shape, taskId: se(), message: sJe }) }), + Ae({ + type: et("LLM Completion"), + properties: Ae({ + ...rA.shape, + inputTokens: Pe(), + outputTokens: Pe(), + cacheReadTokens: Pe().optional(), + cacheWriteTokens: Pe().optional(), + cost: Pe().optional(), + }), + }), +]) +const T_t = ["read", "edit", "browser", "command", "mcp", "modes"], + sO = Jr(T_t), + I_t = [ + "execute_command", + "read_file", + "write_to_file", + "apply_diff", + "insert_content", + "search_and_replace", + "search_files", + "list_files", + "list_code_definition_names", + "browser_action", + "use_mcp_tool", + "access_mcp_resource", + "ask_followup_question", + "attempt_completion", + "switch_mode", + "new_task", + "fetch_instructions", + "codebase_search", + "update_todo_list", + ], + aJe = Jr(I_t), + M_t = Vr(aJe, Ae({ attempts: Pe(), failures: Pe() })), + j_t = Ae({ + fileRegex: se() + .optional() + .refine( + (t) => { + if (!t) return !0 + try { + return new RegExp(t), !0 + } catch { + return !1 + } + }, + { message: "Invalid regular expression pattern" }, + ), + description: se().optional(), + }), + E_t = Tc([sO, Ur([sO, j_t])]), + z_t = Do(E_t).refine( + (t) => { + const e = new Set() + return t.every((n) => { + const o = Array.isArray(n) ? n[0] : n + return e.has(o) ? !1 : (e.add(o), !0) + }) + }, + { message: "Duplicate groups are not allowed" }, + ), + Fj = Ae({ + slug: se().regex(/^[a-zA-Z0-9-]+$/, "Slug must contain only letters numbers and dashes"), + name: se().min(1, "Name is required"), + roleDefinition: se().min(1, "Role definition is required"), + whenToUse: se().optional(), + description: se().optional(), + customInstructions: se().optional(), + groups: z_t, + source: Jr(["global", "project"]).optional(), + }) +Ae({ + customModes: Do(Fj).refine( + (t) => { + const e = new Set() + return t.every((n) => (e.has(n.slug) ? !1 : (e.add(n.slug), !0))) + }, + { message: "Duplicate mode slugs are not allowed" }, + ), +}) +const $_t = Ae({ + roleDefinition: se().optional(), + whenToUse: se().optional(), + description: se().optional(), + customInstructions: se().optional(), + }), + L_t = Vr(se(), $_t.optional()), + D_t = Vr(se(), se().optional()), + N_t = [ + { + slug: "architect", + name: "🏗️ Architect", + roleDefinition: + "You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.", + whenToUse: + "Use this mode when you need to plan, design, or strategize before implementation. Perfect for breaking down complex problems, creating technical specifications, designing system architecture, or brainstorming solutions before coding.", + description: "Plan and design before implementation", + groups: ["read", ["edit", { fileRegex: "\\.md$", description: "Markdown files only" }], "browser", "mcp"], + customInstructions: `1. Do some information gathering (using provided tools) to get more context about the task. + +2. You should also ask the user clarifying questions to get a better understanding of the task. + +3. Once you've gained more context about the user's request, break down the task into clear, actionable steps and create a todo list using the \`update_todo_list\` tool. Each todo item should be: + - Specific and actionable + - Listed in logical execution order + - Focused on a single, well-defined outcome + - Clear enough that another mode could execute it independently + + **Note:** If the \`update_todo_list\` tool is not available, write the plan to a markdown file (e.g., \`plan.md\` or \`todo.md\`) instead. + +4. As you gather more information or discover new requirements, update the todo list to reflect the current understanding of what needs to be accomplished. + +5. Ask the user if they are pleased with this plan, or if they would like to make any changes. Think of this as a brainstorming session where you can discuss the task and refine the todo list. + +6. Include Mermaid diagrams if they help clarify complex workflows or system architecture. Please avoid using double quotes ("") and parentheses () inside square brackets ([]) in Mermaid diagrams, as this can cause parsing errors. + +7. Use the switch_mode tool to request that the user switch to another mode to implement the solution. + +**IMPORTANT: Focus on creating clear, actionable todo lists rather than lengthy markdown documents. Use the todo list as your primary planning tool to track and organize the work that needs to be done.**`, + }, + { + slug: "code", + name: "💻 Code", + roleDefinition: + "You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.", + whenToUse: + "Use this mode when you need to write, modify, or refactor code. Ideal for implementing features, fixing bugs, creating new files, or making code improvements across any programming language or framework.", + description: "Write, modify, and refactor code", + groups: ["read", "edit", "browser", "command", "mcp"], + }, + { + slug: "ask", + name: "❓ Ask", + roleDefinition: + "You are Roo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.", + whenToUse: + "Use this mode when you need explanations, documentation, or answers to technical questions. Best for understanding concepts, analyzing existing code, getting recommendations, or learning about technologies without making changes.", + description: "Get answers and explanations", + groups: ["read", "browser", "mcp"], + customInstructions: + "You can analyze code, explain concepts, and access external resources. Always answer the user's questions thoroughly, and do not switch to implementing code unless explicitly requested by the user. Include Mermaid diagrams when they clarify your response.", + }, + { + slug: "debug", + name: "🪲 Debug", + roleDefinition: + "You are Roo, an expert software debugger specializing in systematic problem diagnosis and resolution.", + whenToUse: + "Use this mode when you're troubleshooting issues, investigating errors, or diagnosing problems. Specialized in systematic debugging, adding logging, analyzing stack traces, and identifying root causes before applying fixes.", + description: "Diagnose and fix software issues", + groups: ["read", "edit", "browser", "command", "mcp"], + customInstructions: + "Reflect on 5-7 different possible sources of the problem, distill those down to 1-2 most likely sources, and then add logs to validate your assumptions. Explicitly ask the user to confirm the diagnosis before fixing the problem.", + }, + { + slug: "orchestrator", + name: "🪃 Orchestrator", + roleDefinition: + "You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.", + whenToUse: + "Use this mode for complex, multi-step projects that require coordination across different specialties. Ideal when you need to break down large tasks into subtasks, manage workflows, or coordinate work that spans multiple domains or expertise areas.", + description: "Coordinate tasks across multiple modes", + groups: [], + customInstructions: `Your role is to coordinate complex workflows by delegating tasks to specialized modes. As an orchestrator, you should: + +1. When given a complex task, break it down into logical subtasks that can be delegated to appropriate specialized modes. + +2. For each subtask, use the \`new_task\` tool to delegate. Choose the most appropriate mode for the subtask's specific goal and provide comprehensive instructions in the \`message\` parameter. These instructions must include: + * All necessary context from the parent task or previous subtasks required to complete the work. + * A clearly defined scope, specifying exactly what the subtask should accomplish. + * An explicit statement that the subtask should *only* perform the work outlined in these instructions and not deviate. + * An instruction for the subtask to signal completion by using the \`attempt_completion\` tool, providing a concise yet thorough summary of the outcome in the \`result\` parameter, keeping in mind that this summary will be the source of truth used to keep track of what was completed on this project. + * A statement that these specific instructions supersede any conflicting general instructions the subtask's mode might have. + +3. Track and manage the progress of all subtasks. When a subtask is completed, analyze its results and determine the next steps. + +4. Help the user understand how the different subtasks fit together in the overall workflow. Provide clear reasoning about why you're delegating specific tasks to specific modes. + +5. When all subtasks are completed, synthesize the results and provide a comprehensive overview of what was accomplished. + +6. Ask clarifying questions when necessary to better understand how to break down complex tasks effectively. + +7. Suggest improvements to the workflow based on the results of completed subtasks. + +Use subtasks to maintain clarity. If a request significantly shifts focus or requires a different expertise (mode), consider creating a subtask rather than overloading the current one.`, + }, + ], + O_t = [ + "ca", + "de", + "en", + "es", + "fr", + "hi", + "id", + "it", + "ja", + "ko", + "nl", + "pl", + "pt-BR", + "ru", + "tr", + "vi", + "zh-CN", + "zh-TW", + ], + F_t = Jr(O_t), + Bj = Ae({ + currentApiConfigName: se().optional(), + listApiConfigMeta: Do(d_t).optional(), + pinnedApiConfigs: Vr(se(), Ge()).optional(), + lastShownAnnouncementId: se().optional(), + customInstructions: se().optional(), + taskHistory: Do(f_t).optional(), + condensingApiConfigId: se().optional(), + customCondensingPrompt: se().optional(), + autoApprovalEnabled: Ge().optional(), + alwaysAllowReadOnly: Ge().optional(), + alwaysAllowReadOnlyOutsideWorkspace: Ge().optional(), + alwaysAllowWrite: Ge().optional(), + alwaysAllowWriteOutsideWorkspace: Ge().optional(), + alwaysAllowWriteProtected: Ge().optional(), + writeDelayMs: Pe().min(0).optional(), + alwaysAllowBrowser: Ge().optional(), + alwaysApproveResubmit: Ge().optional(), + requestDelaySeconds: Pe().optional(), + alwaysAllowMcp: Ge().optional(), + alwaysAllowModeSwitch: Ge().optional(), + alwaysAllowSubtasks: Ge().optional(), + alwaysAllowExecute: Ge().optional(), + alwaysAllowFollowupQuestions: Ge().optional(), + followupAutoApproveTimeoutMs: Pe().optional(), + alwaysAllowUpdateTodoList: Ge().optional(), + allowedCommands: Do(se()).optional(), + deniedCommands: Do(se()).optional(), + commandExecutionTimeout: Pe().optional(), + commandTimeoutAllowlist: Do(se()).optional(), + preventCompletionWithOpenTodos: Ge().optional(), + allowedMaxRequests: Pe().nullish(), + allowedMaxCost: Pe().nullish(), + autoCondenseContext: Ge().optional(), + autoCondenseContextPercent: Pe().optional(), + maxConcurrentFileReads: Pe().optional(), + includeDiagnosticMessages: Ge().optional(), + maxDiagnosticMessages: Pe().optional(), + browserToolEnabled: Ge().optional(), + browserViewportSize: se().optional(), + screenshotQuality: Pe().optional(), + remoteBrowserEnabled: Ge().optional(), + remoteBrowserHost: se().optional(), + cachedChromeHostUrl: se().optional(), + enableCheckpoints: Ge().optional(), + ttsEnabled: Ge().optional(), + ttsSpeed: Pe().optional(), + soundEnabled: Ge().optional(), + soundVolume: Pe().optional(), + maxOpenTabsContext: Pe().optional(), + maxWorkspaceFiles: Pe().optional(), + showRooIgnoredFiles: Ge().optional(), + maxReadFileLine: Pe().optional(), + maxImageFileSize: Pe().optional(), + maxTotalImageSize: Pe().optional(), + terminalOutputLineLimit: Pe().optional(), + terminalOutputCharacterLimit: Pe().optional(), + terminalShellIntegrationTimeout: Pe().optional(), + terminalShellIntegrationDisabled: Ge().optional(), + terminalCommandDelay: Pe().optional(), + terminalPowershellCounter: Ge().optional(), + terminalZshClearEolMark: Ge().optional(), + terminalZshOhMy: Ge().optional(), + terminalZshP10k: Ge().optional(), + terminalZdotdir: Ge().optional(), + terminalCompressProgressBar: Ge().optional(), + diagnosticsEnabled: Ge().optional(), + rateLimitSeconds: Pe().optional(), + diffEnabled: Ge().optional(), + fuzzyMatchThreshold: Pe().optional(), + experiments: v_t.optional(), + codebaseIndexModels: l_t.optional(), + codebaseIndexConfig: a_t.optional(), + language: F_t.optional(), + telemetrySetting: S_t.optional(), + mcpEnabled: Ge().optional(), + enableMcpServerCreation: Ge().optional(), + remoteControlEnabled: Ge().optional(), + mode: se().optional(), + modeApiConfigs: Vr(se(), se()).optional(), + customModes: Do(Fj).optional(), + customModePrompts: L_t.optional(), + customSupportPrompts: D_t.optional(), + enhancementApiConfigId: se().optional(), + includeTaskHistoryInEnhance: Ge().optional(), + historyPreviewCollapsed: Ge().optional(), + profileThresholds: Vr(se(), Pe()).optional(), + hasOpenedModeSelector: Ge().optional(), + lastModeExportPath: se().optional(), + lastModeImportPath: se().optional(), + }), + B_t = Bj.keyof().options, + U_t = Oj.merge(Bj), + lJe = [ + "apiKey", + "glamaApiKey", + "openRouterApiKey", + "awsAccessKey", + "awsApiKey", + "awsSecretKey", + "awsSessionToken", + "openAiApiKey", + "geminiApiKey", + "openAiNativeApiKey", + "cerebrasApiKey", + "deepSeekApiKey", + "moonshotApiKey", + "mistralApiKey", + "unboundApiKey", + "requestyApiKey", + "xaiApiKey", + "groqApiKey", + "chutesApiKey", + "litellmApiKey", + "codeIndexOpenAiKey", + "codeIndexQdrantApiKey", + "codebaseIndexOpenAiCompatibleApiKey", + "codebaseIndexGeminiApiKey", + "codebaseIndexMistralApiKey", + "huggingFaceApiKey", + "sambaNovaApiKey", + "fireworksApiKey", + ] +;[...B_t, ...h_t].filter((t) => !lJe.includes(t)) +const cJe = Ae({ + name: se().min(1), + key: se().min(1), + placeholder: se().optional(), + optional: Ge().optional().default(!1), + }), + q_t = Ae({ + name: se().min(1), + content: se().min(1), + parameters: Do(cJe).optional(), + prerequisites: Do(se()).optional(), + }) +Jr(["mode", "mcp"]) +const dJe = Ae({ + id: se().min(1), + name: se().min(1, "Name is required"), + description: se(), + author: se().optional(), + authorUrl: se().url("Author URL must be a valid URL").optional(), + tags: Do(se()).optional(), + prerequisites: Do(se()).optional(), + }), + W_t = dJe.extend({ content: se().min(1) }), + uJe = dJe.extend({ url: se().url(), content: Tc([se().min(1), Do(q_t)]), parameters: Do(cJe).optional() }) +su("type", [W_t.extend({ type: et("mode") }), uJe.extend({ type: et("mcp") })]) +Ae({ target: Jr(["global", "project"]).optional().default("project"), parameters: Vr(se(), CXe()).optional() }) +const K_t = Ae({ allowAll: Ge(), providers: Vr(Ae({ allowAll: Ge(), models: Do(se()).optional() })) }), + V_t = Bj.pick({ + enableCheckpoints: !0, + fuzzyMatchThreshold: !0, + maxOpenTabsContext: !0, + maxReadFileLine: !0, + maxWorkspaceFiles: !0, + showRooIgnoredFiles: !0, + terminalCommandDelay: !0, + terminalCompressProgressBar: !0, + terminalOutputLineLimit: !0, + terminalShellIntegrationDisabled: !0, + terminalShellIntegrationTimeout: !0, + terminalZshClearEolMark: !0, + }).merge( + Ae({ + maxOpenTabsContext: Pe().int().nonnegative().optional(), + maxReadFileLine: Pe().int().gte(-1).optional(), + maxWorkspaceFiles: Pe().int().nonnegative().optional(), + terminalCommandDelay: Pe().int().nonnegative().optional(), + terminalOutputLineLimit: Pe().int().nonnegative().optional(), + terminalShellIntegrationTimeout: Pe().int().nonnegative().optional(), + }), + ), + H_t = Ae({ + recordTaskMessages: Ge().optional(), + enableTaskSharing: Ge().optional(), + taskShareExpirationDays: Pe().int().positive().optional(), + allowMembersViewAllTasks: Ge().optional(), + }) +Ae({ + version: Pe(), + cloudSettings: H_t.optional(), + defaultSettings: V_t, + allowList: K_t, + hiddenMcps: Do(se()).optional(), + hideMarketplaceMcps: Ge().optional(), + mcps: Do(uJe).optional(), + providerProfiles: Vr(se(), m_t).optional(), +}) +const G_t = { allowAll: !0, providers: {} } +Ae({ + success: Ge(), + shareUrl: se().optional(), + error: se().optional(), + isNewShare: Ge().optional(), + manageUrl: se().optional(), +}) +const ii = Ae({ + taskCreated: Ur([se()]), + taskStarted: Ur([se()]), + taskCompleted: Ur([se(), iO, M_t, Ae({ isSubtask: Ge() })]), + taskAborted: Ur([se()]), + taskFocused: Ur([se()]), + taskUnfocused: Ur([se()]), + taskActive: Ur([se()]), + taskIdle: Ur([se()]), + taskPaused: Ur([se()]), + taskUnpaused: Ur([se()]), + taskSpawned: Ur([se(), se()]), + message: Ur([Ae({ taskId: se(), action: Tc([et("created"), et("updated")]), message: sJe })]), + taskModeSwitched: Ur([se(), se()]), + taskAskResponded: Ur([se()]), + taskToolFailed: Ur([se(), aJe, se()]), + taskTokenUsageUpdated: Ur([se(), iO]), + }), + Q_t = su("eventName", [ + Ae({ eventName: et("taskCreated"), payload: ii.shape.taskCreated, taskId: Pe().optional() }), + Ae({ eventName: et("taskStarted"), payload: ii.shape.taskStarted, taskId: Pe().optional() }), + Ae({ eventName: et("taskCompleted"), payload: ii.shape.taskCompleted, taskId: Pe().optional() }), + Ae({ eventName: et("taskAborted"), payload: ii.shape.taskAborted, taskId: Pe().optional() }), + Ae({ eventName: et("taskFocused"), payload: ii.shape.taskFocused, taskId: Pe().optional() }), + Ae({ eventName: et("taskUnfocused"), payload: ii.shape.taskUnfocused, taskId: Pe().optional() }), + Ae({ eventName: et("taskActive"), payload: ii.shape.taskActive, taskId: Pe().optional() }), + Ae({ eventName: et("taskIdle"), payload: ii.shape.taskIdle, taskId: Pe().optional() }), + Ae({ eventName: et("taskPaused"), payload: ii.shape.taskPaused, taskId: Pe().optional() }), + Ae({ eventName: et("taskUnpaused"), payload: ii.shape.taskUnpaused, taskId: Pe().optional() }), + Ae({ eventName: et("taskSpawned"), payload: ii.shape.taskSpawned, taskId: Pe().optional() }), + Ae({ eventName: et("message"), payload: ii.shape.message, taskId: Pe().optional() }), + Ae({ eventName: et("taskModeSwitched"), payload: ii.shape.taskModeSwitched, taskId: Pe().optional() }), + Ae({ eventName: et("taskAskResponded"), payload: ii.shape.taskAskResponded, taskId: Pe().optional() }), + Ae({ eventName: et("taskToolFailed"), payload: ii.shape.taskToolFailed, taskId: Pe().optional() }), + Ae({ + eventName: et("taskTokenUsageUpdated"), + payload: ii.shape.taskTokenUsageUpdated, + taskId: Pe().optional(), + }), + Ae({ eventName: et("evalPass"), payload: h1(), taskId: Pe() }), + Ae({ eventName: et("evalFail"), payload: h1(), taskId: Pe() }), + ]), + Z_t = Ae({ answer: se(), mode: se().optional() }) +Ae({ question: se().optional(), suggest: Do(Z_t).optional() }) +const Y_t = Ae({ clientId: se(), pid: Pe(), ppid: Pe() }), + X_t = su("commandName", [ + Ae({ + commandName: et("StartNewTask"), + data: Ae({ configuration: U_t, text: se(), images: Do(se()).optional(), newTab: Ge().optional() }), + }), + Ae({ commandName: et("CancelTask"), data: se() }), + Ae({ commandName: et("CloseTask"), data: se() }), + ]) +su("type", [ + Ae({ type: et("Ack"), origin: et("server"), data: Y_t }), + Ae({ type: et("TaskCommand"), origin: et("client"), clientId: se(), data: X_t }), + Ae({ type: et("TaskEvent"), origin: et("server"), relayClientId: se().optional(), data: Q_t }), +]) +const J_t = su("status", [ + Ae({ executionId: se(), status: et("started"), serverName: se(), toolName: se() }), + Ae({ executionId: se(), status: et("output"), response: se() }), + Ae({ executionId: se(), status: et("completed"), response: se().optional() }), + Ae({ executionId: se(), status: et("error"), error: se().optional() }), + ]), + eCt = Jr(["pending", "in_progress", "completed"]) +Ae({ id: se(), content: se(), status: eCt }) +const tCt = su("status", [ + Ae({ executionId: se(), status: et("started"), pid: Pe().optional(), command: se() }), + Ae({ executionId: se(), status: et("output"), output: se() }), + Ae({ executionId: se(), status: et("exited"), exitCode: Pe().optional() }), + Ae({ executionId: se(), status: et("fallback") }), + Ae({ executionId: se(), status: et("timeout") }), + ]), + Uj = "claude-sonnet-4-20250514", + Xu = { + "claude-sonnet-4-20250514": { + maxTokens: 64e3, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + supportsReasoningBudget: !0, + }, + "claude-opus-4-20250514": { + maxTokens: 32e3, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 15, + outputPrice: 75, + cacheWritesPrice: 18.75, + cacheReadsPrice: 1.5, + supportsReasoningBudget: !0, + }, + "claude-3-7-sonnet-20250219:thinking": { + maxTokens: 128e3, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + }, + "claude-3-7-sonnet-20250219": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + }, + "claude-3-5-sonnet-20241022": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + }, + "claude-3-5-haiku-20241022": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 1, + outputPrice: 5, + cacheWritesPrice: 1.25, + cacheReadsPrice: 0.1, + }, + "claude-3-opus-20240229": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 15, + outputPrice: 75, + cacheWritesPrice: 18.75, + cacheReadsPrice: 1.5, + }, + "claude-3-haiku-20240307": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.25, + outputPrice: 1.25, + cacheWritesPrice: 0.3, + cacheReadsPrice: 0.03, + }, + }, + yx = 8192, + pJe = "anthropic.claude-sonnet-4-20250514-v1:0", + mJe = { + "amazon.nova-pro-v1:0": { + maxTokens: 5e3, + contextWindow: 3e5, + supportsImages: !0, + supportsComputerUse: !1, + supportsPromptCache: !0, + inputPrice: 0.8, + outputPrice: 3.2, + cacheWritesPrice: 0.8, + cacheReadsPrice: 0.2, + minTokensPerCachePoint: 1, + maxCachePoints: 1, + cachableFields: ["system"], + }, + "amazon.nova-pro-latency-optimized-v1:0": { + maxTokens: 5e3, + contextWindow: 3e5, + supportsImages: !0, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 1, + outputPrice: 4, + cacheWritesPrice: 1, + cacheReadsPrice: 0.25, + description: "Amazon Nova Pro with latency optimized inference", + }, + "amazon.nova-lite-v1:0": { + maxTokens: 5e3, + contextWindow: 3e5, + supportsImages: !0, + supportsComputerUse: !1, + supportsPromptCache: !0, + inputPrice: 0.06, + outputPrice: 0.24, + cacheWritesPrice: 0.06, + cacheReadsPrice: 0.015, + minTokensPerCachePoint: 1, + maxCachePoints: 1, + cachableFields: ["system"], + }, + "amazon.nova-micro-v1:0": { + maxTokens: 5e3, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !0, + inputPrice: 0.035, + outputPrice: 0.14, + cacheWritesPrice: 0.035, + cacheReadsPrice: 0.00875, + minTokensPerCachePoint: 1, + maxCachePoints: 1, + cachableFields: ["system"], + }, + "anthropic.claude-sonnet-4-20250514-v1:0": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + supportsReasoningBudget: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + minTokensPerCachePoint: 1024, + maxCachePoints: 4, + cachableFields: ["system", "messages", "tools"], + }, + "anthropic.claude-opus-4-20250514-v1:0": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + supportsReasoningBudget: !0, + inputPrice: 15, + outputPrice: 75, + cacheWritesPrice: 18.75, + cacheReadsPrice: 1.5, + minTokensPerCachePoint: 1024, + maxCachePoints: 4, + cachableFields: ["system", "messages", "tools"], + }, + "anthropic.claude-3-7-sonnet-20250219-v1:0": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + supportsReasoningBudget: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + minTokensPerCachePoint: 1024, + maxCachePoints: 4, + cachableFields: ["system", "messages", "tools"], + }, + "anthropic.claude-3-5-sonnet-20241022-v2:0": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + minTokensPerCachePoint: 1024, + maxCachePoints: 4, + cachableFields: ["system", "messages", "tools"], + }, + "anthropic.claude-3-5-haiku-20241022-v1:0": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.8, + outputPrice: 4, + cacheWritesPrice: 1, + cacheReadsPrice: 0.08, + minTokensPerCachePoint: 2048, + maxCachePoints: 4, + cachableFields: ["system", "messages", "tools"], + }, + "anthropic.claude-3-5-sonnet-20240620-v1:0": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 3, + outputPrice: 15, + }, + "anthropic.claude-3-opus-20240229-v1:0": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 15, + outputPrice: 75, + }, + "anthropic.claude-3-sonnet-20240229-v1:0": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 3, + outputPrice: 15, + }, + "anthropic.claude-3-haiku-20240307-v1:0": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.25, + outputPrice: 1.25, + }, + "anthropic.claude-2-1-v1:0": { + maxTokens: 4096, + contextWindow: 1e5, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 8, + outputPrice: 24, + description: "Claude 2.1", + }, + "anthropic.claude-2-0-v1:0": { + maxTokens: 4096, + contextWindow: 1e5, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 8, + outputPrice: 24, + description: "Claude 2.0", + }, + "anthropic.claude-instant-v1:0": { + maxTokens: 4096, + contextWindow: 1e5, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.8, + outputPrice: 2.4, + description: "Claude Instant", + }, + "deepseek.r1-v1:0": { + maxTokens: 32768, + contextWindow: 128e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 1.35, + outputPrice: 5.4, + }, + "meta.llama3-3-70b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.72, + outputPrice: 0.72, + description: "Llama 3.3 Instruct (70B)", + }, + "meta.llama3-2-90b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !0, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.72, + outputPrice: 0.72, + description: "Llama 3.2 Instruct (90B)", + }, + "meta.llama3-2-11b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !0, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.16, + outputPrice: 0.16, + description: "Llama 3.2 Instruct (11B)", + }, + "meta.llama3-2-3b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.15, + outputPrice: 0.15, + description: "Llama 3.2 Instruct (3B)", + }, + "meta.llama3-2-1b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.1, + outputPrice: 0.1, + description: "Llama 3.2 Instruct (1B)", + }, + "meta.llama3-1-405b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 2.4, + outputPrice: 2.4, + description: "Llama 3.1 Instruct (405B)", + }, + "meta.llama3-1-70b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.72, + outputPrice: 0.72, + description: "Llama 3.1 Instruct (70B)", + }, + "meta.llama3-1-70b-instruct-latency-optimized-v1:0": { + maxTokens: 8192, + contextWindow: 128e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.9, + outputPrice: 0.9, + description: "Llama 3.1 Instruct (70B) (w/ latency optimized inference)", + }, + "meta.llama3-1-8b-instruct-v1:0": { + maxTokens: 8192, + contextWindow: 8e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.22, + outputPrice: 0.22, + description: "Llama 3.1 Instruct (8B)", + }, + "meta.llama3-70b-instruct-v1:0": { + maxTokens: 2048, + contextWindow: 8e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 2.65, + outputPrice: 3.5, + }, + "meta.llama3-8b-instruct-v1:0": { + maxTokens: 2048, + contextWindow: 4e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.3, + outputPrice: 0.6, + }, + "amazon.titan-text-lite-v1:0": { + maxTokens: 4096, + contextWindow: 8e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.15, + outputPrice: 0.2, + description: "Amazon Titan Text Lite", + }, + "amazon.titan-text-express-v1:0": { + maxTokens: 4096, + contextWindow: 8e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.2, + outputPrice: 0.6, + description: "Amazon Titan Text Express", + }, + "amazon.titan-text-embeddings-v1:0": { + maxTokens: 8192, + contextWindow: 8e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.1, + description: "Amazon Titan Text Embeddings", + }, + "amazon.titan-text-embeddings-v2:0": { + maxTokens: 8192, + contextWindow: 8e3, + supportsImages: !1, + supportsComputerUse: !1, + supportsPromptCache: !1, + inputPrice: 0.02, + description: "Amazon Titan Text Embeddings V2", + }, + }, + nCt = [ + { value: "us-east-1", label: "us-east-1" }, + { value: "us-east-2", label: "us-east-2" }, + { value: "us-west-1", label: "us-west-1" }, + { value: "us-west-2", label: "us-west-2" }, + { value: "ap-northeast-1", label: "ap-northeast-1" }, + { value: "ap-northeast-2", label: "ap-northeast-2" }, + { value: "ap-northeast-3", label: "ap-northeast-3" }, + { value: "ap-south-1", label: "ap-south-1" }, + { value: "ap-south-2", label: "ap-south-2" }, + { value: "ap-southeast-1", label: "ap-southeast-1" }, + { value: "ap-southeast-2", label: "ap-southeast-2" }, + { value: "ap-east-1", label: "ap-east-1" }, + { value: "eu-central-1", label: "eu-central-1" }, + { value: "eu-central-2", label: "eu-central-2" }, + { value: "eu-west-1", label: "eu-west-1" }, + { value: "eu-west-2", label: "eu-west-2" }, + { value: "eu-west-3", label: "eu-west-3" }, + { value: "eu-north-1", label: "eu-north-1" }, + { value: "eu-south-1", label: "eu-south-1" }, + { value: "eu-south-2", label: "eu-south-2" }, + { value: "ca-central-1", label: "ca-central-1" }, + { value: "sa-east-1", label: "sa-east-1" }, + { value: "us-gov-east-1", label: "us-gov-east-1" }, + { value: "us-gov-west-1", label: "us-gov-west-1" }, + ].sort((t, e) => t.value.localeCompare(e.value)), + hJe = "qwen-3-coder-480b-free", + fJe = { + "qwen-3-coder-480b-free": { + maxTokens: 4e4, + contextWindow: 64e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: `SOTA coding model with ~2000 tokens/s ($0 free tier) + +• Use this if you don't have a Cerebras subscription +• 64K context window +• Rate limits: 150K TPM, 1M TPH/TPD, 10 RPM, 100 RPH/RPD + +Upgrade for higher limits: [https://cloud.cerebras.ai/?utm=roocode](https://cloud.cerebras.ai/?utm=roocode)`, + }, + "qwen-3-coder-480b": { + maxTokens: 4e4, + contextWindow: 128e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: `SOTA coding model with ~2000 tokens/s ($50/$250 paid tiers) + +• Use this if you have a Cerebras subscription +• 131K context window with higher rate limits`, + }, + "qwen-3-235b-a22b-instruct-2507": { + maxTokens: 64e3, + contextWindow: 64e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Intelligent model with ~1400 tokens/s", + }, + "llama-3.3-70b": { + maxTokens: 64e3, + contextWindow: 64e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Powerful model with ~2600 tokens/s", + }, + "qwen-3-32b": { + maxTokens: 64e3, + contextWindow: 64e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "SOTA coding performance with ~2500 tokens/s", + }, + "qwen-3-235b-a22b-thinking-2507": { + maxTokens: 4e4, + contextWindow: 65e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "SOTA performance with ~1500 tokens/s", + supportsReasoningEffort: !0, + }, + }, + gJe = "deepseek-ai/DeepSeek-R1-0528", + vJe = { + "deepseek-ai/DeepSeek-R1-0528": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "DeepSeek R1 0528 model.", + }, + "deepseek-ai/DeepSeek-R1": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "DeepSeek R1 model.", + }, + "deepseek-ai/DeepSeek-V3": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "DeepSeek V3 model.", + }, + "unsloth/Llama-3.3-70B-Instruct": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Unsloth Llama 3.3 70B Instruct model.", + }, + "chutesai/Llama-4-Scout-17B-16E-Instruct": { + maxTokens: 32768, + contextWindow: 512e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "ChutesAI Llama 4 Scout 17B Instruct model, 512K context.", + }, + "unsloth/Mistral-Nemo-Instruct-2407": { + maxTokens: 32768, + contextWindow: 128e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Unsloth Mistral Nemo Instruct model.", + }, + "unsloth/gemma-3-12b-it": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Unsloth Gemma 3 12B IT model.", + }, + "NousResearch/DeepHermes-3-Llama-3-8B-Preview": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Nous DeepHermes 3 Llama 3 8B Preview model.", + }, + "unsloth/gemma-3-4b-it": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Unsloth Gemma 3 4B IT model.", + }, + "nvidia/Llama-3_3-Nemotron-Super-49B-v1": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Nvidia Llama 3.3 Nemotron Super 49B model.", + }, + "nvidia/Llama-3_1-Nemotron-Ultra-253B-v1": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Nvidia Llama 3.1 Nemotron Ultra 253B model.", + }, + "chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8": { + maxTokens: 32768, + contextWindow: 256e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "ChutesAI Llama 4 Maverick 17B Instruct FP8 model.", + }, + "deepseek-ai/DeepSeek-V3-Base": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "DeepSeek V3 Base model.", + }, + "deepseek-ai/DeepSeek-R1-Zero": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "DeepSeek R1 Zero model.", + }, + "deepseek-ai/DeepSeek-V3-0324": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "DeepSeek V3 (0324) model.", + }, + "Qwen/Qwen3-235B-A22B-Instruct-2507": { + maxTokens: 32768, + contextWindow: 262144, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Qwen3 235B A22B Instruct 2507 model with 262K context window.", + }, + "Qwen/Qwen3-235B-A22B": { + maxTokens: 32768, + contextWindow: 40960, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Qwen3 235B A22B model.", + }, + "Qwen/Qwen3-32B": { + maxTokens: 32768, + contextWindow: 40960, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Qwen3 32B model.", + }, + "Qwen/Qwen3-30B-A3B": { + maxTokens: 32768, + contextWindow: 40960, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Qwen3 30B A3B model.", + }, + "Qwen/Qwen3-14B": { + maxTokens: 32768, + contextWindow: 40960, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Qwen3 14B model.", + }, + "Qwen/Qwen3-8B": { + maxTokens: 32768, + contextWindow: 40960, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Qwen3 8B model.", + }, + "microsoft/MAI-DS-R1-FP8": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "Microsoft MAI-DS-R1 FP8 model.", + }, + "tngtech/DeepSeek-R1T-Chimera": { + maxTokens: 32768, + contextWindow: 163840, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: "TNGTech DeepSeek R1T Chimera model.", + }, + "zai-org/GLM-4.5-Air": { + maxTokens: 32768, + contextWindow: 151329, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: + "GLM-4.5-Air model with 151,329 token context window and 106B total parameters with 12B activated.", + }, + "zai-org/GLM-4.5-FP8": { + maxTokens: 32768, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + description: + "GLM-4.5-FP8 model with 128k token context window, optimized for agent-based applications with MoE architecture.", + }, + }, + bJe = "claude-sonnet-4-20250514", + oCt = 16e3, + yJe = { + "claude-sonnet-4-20250514": { + ...Xu["claude-sonnet-4-20250514"], + supportsImages: !1, + supportsPromptCache: !0, + supportsReasoningEffort: !1, + supportsReasoningBudget: !1, + requiredReasoningBudget: !1, + }, + "claude-opus-4-20250514": { + ...Xu["claude-opus-4-20250514"], + supportsImages: !1, + supportsPromptCache: !0, + supportsReasoningEffort: !1, + supportsReasoningBudget: !1, + requiredReasoningBudget: !1, + }, + "claude-3-7-sonnet-20250219": { + ...Xu["claude-3-7-sonnet-20250219"], + supportsImages: !1, + supportsPromptCache: !0, + supportsReasoningEffort: !1, + supportsReasoningBudget: !1, + requiredReasoningBudget: !1, + }, + "claude-3-5-sonnet-20241022": { + ...Xu["claude-3-5-sonnet-20241022"], + supportsImages: !1, + supportsPromptCache: !0, + supportsReasoningEffort: !1, + supportsReasoningBudget: !1, + requiredReasoningBudget: !1, + }, + "claude-3-5-haiku-20241022": { + ...Xu["claude-3-5-haiku-20241022"], + supportsImages: !1, + supportsPromptCache: !0, + supportsReasoningEffort: !1, + supportsReasoningBudget: !1, + requiredReasoningBudget: !1, + }, + }, + kJe = "deepseek-chat", + xJe = { + "deepseek-chat": { + maxTokens: 8192, + contextWindow: 64e3, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.27, + outputPrice: 1.1, + cacheWritesPrice: 0.27, + cacheReadsPrice: 0.07, + description: + "DeepSeek-V3 achieves a significant breakthrough in inference speed over previous models. It tops the leaderboard among open-source models and rivals the most advanced closed-source models globally.", + }, + "deepseek-reasoner": { + maxTokens: 8192, + contextWindow: 64e3, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.55, + outputPrice: 2.19, + cacheWritesPrice: 0.55, + cacheReadsPrice: 0.14, + description: + "DeepSeek-R1 achieves performance comparable to OpenAI-o1 across math, code, and reasoning tasks. Supports Chain of Thought reasoning with up to 32K tokens.", + }, + }, + wJe = "gemini-2.0-flash-001", + _Je = { + "gemini-2.5-flash-preview-04-17:thinking": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.15, + outputPrice: 3.5, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + }, + "gemini-2.5-flash-preview-04-17": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.15, + outputPrice: 0.6, + }, + "gemini-2.5-flash-preview-05-20:thinking": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 3.5, + cacheReadsPrice: 0.0375, + cacheWritesPrice: 1, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + }, + "gemini-2.5-flash-preview-05-20": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 0.6, + cacheReadsPrice: 0.0375, + cacheWritesPrice: 1, + }, + "gemini-2.5-flash": { + maxTokens: 64e3, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.3, + outputPrice: 2.5, + cacheReadsPrice: 0.075, + cacheWritesPrice: 1, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + }, + "gemini-2.5-pro-exp-03-25": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.5-pro-preview-03-25": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + cacheReadsPrice: 0.625, + cacheWritesPrice: 4.5, + tiers: [ + { contextWindow: 2e5, inputPrice: 1.25, outputPrice: 10, cacheReadsPrice: 0.31 }, + { contextWindow: 1 / 0, inputPrice: 2.5, outputPrice: 15, cacheReadsPrice: 0.625 }, + ], + }, + "gemini-2.5-pro-preview-05-06": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + cacheReadsPrice: 0.625, + cacheWritesPrice: 4.5, + tiers: [ + { contextWindow: 2e5, inputPrice: 1.25, outputPrice: 10, cacheReadsPrice: 0.31 }, + { contextWindow: 1 / 0, inputPrice: 2.5, outputPrice: 15, cacheReadsPrice: 0.625 }, + ], + }, + "gemini-2.5-pro-preview-06-05": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + cacheReadsPrice: 0.625, + cacheWritesPrice: 4.5, + maxThinkingTokens: 32768, + supportsReasoningBudget: !0, + tiers: [ + { contextWindow: 2e5, inputPrice: 1.25, outputPrice: 10, cacheReadsPrice: 0.31 }, + { contextWindow: 1 / 0, inputPrice: 2.5, outputPrice: 15, cacheReadsPrice: 0.625 }, + ], + }, + "gemini-2.5-pro": { + maxTokens: 64e3, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + cacheReadsPrice: 0.625, + cacheWritesPrice: 4.5, + maxThinkingTokens: 32768, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + tiers: [ + { contextWindow: 2e5, inputPrice: 1.25, outputPrice: 10, cacheReadsPrice: 0.31 }, + { contextWindow: 1 / 0, inputPrice: 2.5, outputPrice: 15, cacheReadsPrice: 0.625 }, + ], + }, + "gemini-2.0-flash-001": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1, + }, + "gemini-2.0-flash-lite-preview-02-05": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.0-pro-exp-02-05": { + maxTokens: 8192, + contextWindow: 2097152, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.0-flash-thinking-exp-01-21": { + maxTokens: 65536, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.0-flash-thinking-exp-1219": { + maxTokens: 8192, + contextWindow: 32767, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.0-flash-exp": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-1.5-flash-002": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 0.6, + cacheReadsPrice: 0.0375, + cacheWritesPrice: 1, + tiers: [ + { contextWindow: 128e3, inputPrice: 0.075, outputPrice: 0.3, cacheReadsPrice: 0.01875 }, + { contextWindow: 1 / 0, inputPrice: 0.15, outputPrice: 0.6, cacheReadsPrice: 0.0375 }, + ], + }, + "gemini-1.5-flash-exp-0827": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-1.5-flash-8b-exp-0827": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-1.5-pro-002": { + maxTokens: 8192, + contextWindow: 2097152, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-1.5-pro-exp-0827": { + maxTokens: 8192, + contextWindow: 2097152, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-exp-1206": { + maxTokens: 8192, + contextWindow: 2097152, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.5-flash-lite-preview-06-17": { + maxTokens: 64e3, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1, + supportsReasoningBudget: !0, + maxThinkingTokens: 24576, + }, + }, + qj = "anthropic/claude-3-7-sonnet", + CJe = "llama-3.3-70b-versatile", + SJe = { + "llama-3.1-8b-instant": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.05, + outputPrice: 0.08, + description: "Meta Llama 3.1 8B Instant model, 128K context.", + }, + "llama-3.3-70b-versatile": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.59, + outputPrice: 0.79, + description: "Meta Llama 3.3 70B Versatile model, 128K context.", + }, + "meta-llama/llama-4-scout-17b-16e-instruct": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.11, + outputPrice: 0.34, + description: "Meta Llama 4 Scout 17B Instruct model, 128K context.", + }, + "meta-llama/llama-4-maverick-17b-128e-instruct": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.2, + outputPrice: 0.6, + description: "Meta Llama 4 Maverick 17B Instruct model, 128K context.", + }, + "mistral-saba-24b": { + maxTokens: 8192, + contextWindow: 32768, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.79, + outputPrice: 0.79, + description: "Mistral Saba 24B model, 32K context.", + }, + "qwen-qwq-32b": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.29, + outputPrice: 0.39, + description: "Alibaba Qwen QwQ 32B model, 128K context.", + }, + "qwen/qwen3-32b": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.29, + outputPrice: 0.59, + description: "Alibaba Qwen 3 32B model, 128K context.", + }, + "deepseek-r1-distill-llama-70b": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.75, + outputPrice: 0.99, + description: "DeepSeek R1 Distill Llama 70B model, 128K context.", + }, + "moonshotai/kimi-k2-instruct": { + maxTokens: 16384, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 1, + outputPrice: 3, + description: "Moonshot AI Kimi K2 Instruct 1T model, 128K context.", + }, + }, + kw = "claude-3-7-sonnet-20250219", + Wj = "codestral-latest", + AJe = { + "magistral-medium-latest": { + maxTokens: 41e3, + contextWindow: 41e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 2, + outputPrice: 5, + }, + "devstral-medium-latest": { + maxTokens: 131e3, + contextWindow: 131e3, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.4, + outputPrice: 2, + }, + "mistral-medium-latest": { + maxTokens: 131e3, + contextWindow: 131e3, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.4, + outputPrice: 2, + }, + "codestral-latest": { + maxTokens: 256e3, + contextWindow: 256e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.3, + outputPrice: 0.9, + }, + "mistral-large-latest": { + maxTokens: 131e3, + contextWindow: 131e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 2, + outputPrice: 6, + }, + "ministral-8b-latest": { + maxTokens: 131e3, + contextWindow: 131e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.1, + outputPrice: 0.1, + }, + "ministral-3b-latest": { + maxTokens: 131e3, + contextWindow: 131e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.04, + outputPrice: 0.04, + }, + "mistral-small-latest": { + maxTokens: 32e3, + contextWindow: 32e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.2, + outputPrice: 0.6, + }, + "pixtral-large-latest": { + maxTokens: 131e3, + contextWindow: 131e3, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 2, + outputPrice: 6, + }, + }, + PJe = "kimi-k2-0711-preview", + RJe = { + "kimi-k2-0711-preview": { + maxTokens: 32e3, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.6, + outputPrice: 2.5, + cacheWritesPrice: 0, + cacheReadsPrice: 0.15, + description: + "Kimi K2 is a state-of-the-art mixture-of-experts (MoE) language model with 32 billion activated parameters and 1 trillion total parameters.", + }, + }, + TJe = "gpt-4.1", + IJe = { + "gpt-4.1": { + maxTokens: 32768, + contextWindow: 1047576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2, + outputPrice: 8, + cacheReadsPrice: 0.5, + }, + "gpt-4.1-mini": { + maxTokens: 32768, + contextWindow: 1047576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.4, + outputPrice: 1.6, + cacheReadsPrice: 0.1, + }, + "gpt-4.1-nano": { + maxTokens: 32768, + contextWindow: 1047576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + }, + o3: { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2, + outputPrice: 8, + cacheReadsPrice: 0.5, + supportsReasoningEffort: !0, + reasoningEffort: "medium", + }, + "o3-high": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2, + outputPrice: 8, + cacheReadsPrice: 0.5, + reasoningEffort: "high", + }, + "o3-low": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2, + outputPrice: 8, + cacheReadsPrice: 0.5, + reasoningEffort: "low", + }, + "o4-mini": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.275, + supportsReasoningEffort: !0, + reasoningEffort: "medium", + }, + "o4-mini-high": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.275, + reasoningEffort: "high", + }, + "o4-mini-low": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.275, + reasoningEffort: "low", + }, + "o3-mini": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.55, + supportsReasoningEffort: !0, + reasoningEffort: "medium", + }, + "o3-mini-high": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.55, + reasoningEffort: "high", + }, + "o3-mini-low": { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.55, + reasoningEffort: "low", + }, + o1: { + maxTokens: 1e5, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 15, + outputPrice: 60, + cacheReadsPrice: 7.5, + }, + "o1-preview": { + maxTokens: 32768, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 15, + outputPrice: 60, + cacheReadsPrice: 7.5, + }, + "o1-mini": { + maxTokens: 65536, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 1.1, + outputPrice: 4.4, + cacheReadsPrice: 0.55, + }, + "gpt-4.5-preview": { + maxTokens: 16384, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 75, + outputPrice: 150, + cacheReadsPrice: 37.5, + }, + "gpt-4o": { + maxTokens: 16384, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 10, + cacheReadsPrice: 1.25, + }, + "gpt-4o-mini": { + maxTokens: 16384, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 0.6, + cacheReadsPrice: 0.075, + }, + }, + Ao = { + maxTokens: -1, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + rCt = "2024-08-01-preview", + Kj = "anthropic/claude-sonnet-4", + Vj = "coding/claude-4-sonnet", + MJe = "Meta-Llama-3.3-70B-Instruct", + jJe = { + "Meta-Llama-3.1-8B-Instruct": { + maxTokens: 8192, + contextWindow: 16384, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.1, + outputPrice: 0.2, + description: "Meta Llama 3.1 8B Instruct model with 16K context window.", + }, + "Meta-Llama-3.3-70B-Instruct": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.6, + outputPrice: 1.2, + description: "Meta Llama 3.3 70B Instruct model with 128K context window.", + }, + "DeepSeek-R1": { + maxTokens: 8192, + contextWindow: 32768, + supportsImages: !1, + supportsPromptCache: !1, + supportsReasoningBudget: !0, + inputPrice: 5, + outputPrice: 7, + description: "DeepSeek R1 reasoning model with 32K context window.", + }, + "DeepSeek-V3-0324": { + maxTokens: 8192, + contextWindow: 32768, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 3, + outputPrice: 4.5, + description: "DeepSeek V3 model with 32K context window.", + }, + "DeepSeek-R1-Distill-Llama-70B": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.7, + outputPrice: 1.4, + description: "DeepSeek R1 distilled Llama 70B model with 128K context window.", + }, + "Llama-4-Maverick-17B-128E-Instruct": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.63, + outputPrice: 1.8, + description: "Meta Llama 4 Maverick 17B 128E Instruct model with 128K context window.", + }, + "Llama-3.3-Swallow-70B-Instruct-v0.4": { + maxTokens: 8192, + contextWindow: 16384, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.6, + outputPrice: 1.2, + description: "Tokyotech Llama 3.3 Swallow 70B Instruct v0.4 model with 16K context window.", + }, + "Qwen3-32B": { + maxTokens: 8192, + contextWindow: 8192, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.4, + outputPrice: 0.8, + description: "Alibaba Qwen 3 32B model with 8K context window.", + }, + }, + Hj = "anthropic/claude-3-7-sonnet-20250219", + EJe = "claude-sonnet-4@20250514", + zJe = { + "gemini-2.5-flash-preview-05-20:thinking": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 3.5, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + }, + "gemini-2.5-flash-preview-05-20": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 0.6, + }, + "gemini-2.5-flash": { + maxTokens: 64e3, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.3, + outputPrice: 2.5, + cacheReadsPrice: 0.075, + cacheWritesPrice: 1, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + }, + "gemini-2.5-flash-preview-04-17:thinking": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.15, + outputPrice: 3.5, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + }, + "gemini-2.5-flash-preview-04-17": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.15, + outputPrice: 0.6, + }, + "gemini-2.5-pro-preview-03-25": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + }, + "gemini-2.5-pro-preview-05-06": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + }, + "gemini-2.5-pro-preview-06-05": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + maxThinkingTokens: 32768, + supportsReasoningBudget: !0, + }, + "gemini-2.5-pro": { + maxTokens: 64e3, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2.5, + outputPrice: 15, + maxThinkingTokens: 32768, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + tiers: [ + { contextWindow: 2e5, inputPrice: 1.25, outputPrice: 10, cacheReadsPrice: 0.31 }, + { contextWindow: 1 / 0, inputPrice: 2.5, outputPrice: 15, cacheReadsPrice: 0.625 }, + ], + }, + "gemini-2.5-pro-exp-03-25": { + maxTokens: 65535, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.0-pro-exp-02-05": { + maxTokens: 8192, + contextWindow: 2097152, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-2.0-flash-001": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.15, + outputPrice: 0.6, + }, + "gemini-2.0-flash-lite-001": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0.075, + outputPrice: 0.3, + }, + "gemini-2.0-flash-thinking-exp-01-21": { + maxTokens: 8192, + contextWindow: 32768, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + }, + "gemini-1.5-flash-002": { + maxTokens: 8192, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.075, + outputPrice: 0.3, + }, + "gemini-1.5-pro-002": { + maxTokens: 8192, + contextWindow: 2097152, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 1.25, + outputPrice: 5, + }, + "claude-sonnet-4@20250514": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + supportsReasoningBudget: !0, + }, + "claude-opus-4@20250514": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 15, + outputPrice: 75, + cacheWritesPrice: 18.75, + cacheReadsPrice: 1.5, + }, + "claude-3-7-sonnet@20250219:thinking": { + maxTokens: 64e3, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + supportsReasoningBudget: !0, + requiredReasoningBudget: !0, + }, + "claude-3-7-sonnet@20250219": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + }, + "claude-3-5-sonnet-v2@20241022": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsComputerUse: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + }, + "claude-3-5-sonnet@20240620": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 3.75, + cacheReadsPrice: 0.3, + }, + "claude-3-5-haiku@20241022": { + maxTokens: 8192, + contextWindow: 2e5, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 1, + outputPrice: 5, + cacheWritesPrice: 1.25, + cacheReadsPrice: 0.1, + }, + "claude-3-opus@20240229": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 15, + outputPrice: 75, + cacheWritesPrice: 18.75, + cacheReadsPrice: 1.5, + }, + "claude-3-haiku@20240307": { + maxTokens: 4096, + contextWindow: 2e5, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.25, + outputPrice: 1.25, + cacheWritesPrice: 0.3, + cacheReadsPrice: 0.03, + }, + "gemini-2.5-flash-lite-preview-06-17": { + maxTokens: 64e3, + contextWindow: 1048576, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1, + maxThinkingTokens: 24576, + supportsReasoningBudget: !0, + }, + "llama-4-maverick-17b-128e-instruct-maas": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.35, + outputPrice: 1.15, + description: "Meta Llama 4 Maverick 17B Instruct model, 128K context.", + }, + }, + iCt = [ + { value: "global", label: "global" }, + { value: "us-central1", label: "us-central1" }, + { value: "us-east1", label: "us-east1" }, + { value: "us-east4", label: "us-east4" }, + { value: "us-east5", label: "us-east5" }, + { value: "us-west1", label: "us-west1" }, + { value: "us-west2", label: "us-west2" }, + { value: "us-west3", label: "us-west3" }, + { value: "us-west4", label: "us-west4" }, + { value: "northamerica-northeast1", label: "northamerica-northeast1" }, + { value: "northamerica-northeast2", label: "northamerica-northeast2" }, + { value: "southamerica-east1", label: "southamerica-east1" }, + { value: "europe-west1", label: "europe-west1" }, + { value: "europe-west2", label: "europe-west2" }, + { value: "europe-west3", label: "europe-west3" }, + { value: "europe-west4", label: "europe-west4" }, + { value: "europe-west6", label: "europe-west6" }, + { value: "europe-central2", label: "europe-central2" }, + { value: "asia-east1", label: "asia-east1" }, + { value: "asia-east2", label: "asia-east2" }, + { value: "asia-northeast1", label: "asia-northeast1" }, + { value: "asia-northeast2", label: "asia-northeast2" }, + { value: "asia-northeast3", label: "asia-northeast3" }, + { value: "asia-south1", label: "asia-south1" }, + { value: "asia-south2", label: "asia-south2" }, + { value: "asia-southeast1", label: "asia-southeast1" }, + { value: "asia-southeast2", label: "asia-southeast2" }, + { value: "australia-southeast1", label: "australia-southeast1" }, + { value: "australia-southeast2", label: "australia-southeast2" }, + { value: "me-west1", label: "me-west1" }, + { value: "me-central1", label: "me-central1" }, + { value: "africa-south1", label: "africa-south1" }, + ], + aO = "claude-3.5-sonnet", + sCt = { + "gpt-3.5-turbo": { + contextWindow: 12114, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gpt-3.5-turbo", + version: "gpt-3.5-turbo-0613", + name: "GPT 3.5 Turbo", + supportsToolCalling: !0, + maxInputTokens: 12114, + }, + "gpt-4o-mini": { + contextWindow: 12115, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gpt-4o-mini", + version: "gpt-4o-mini-2024-07-18", + name: "GPT-4o mini", + supportsToolCalling: !0, + maxInputTokens: 12115, + }, + "gpt-4": { + contextWindow: 28501, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gpt-4", + version: "gpt-4-0613", + name: "GPT 4", + supportsToolCalling: !0, + maxInputTokens: 28501, + }, + "gpt-4-0125-preview": { + contextWindow: 63826, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gpt-4-turbo", + version: "gpt-4-0125-preview", + name: "GPT 4 Turbo", + supportsToolCalling: !0, + maxInputTokens: 63826, + }, + "gpt-4o": { + contextWindow: 63827, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gpt-4o", + version: "gpt-4o-2024-11-20", + name: "GPT-4o", + supportsToolCalling: !0, + maxInputTokens: 63827, + }, + o1: { + contextWindow: 19827, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "o1-ga", + version: "o1-2024-12-17", + name: "o1 (Preview)", + supportsToolCalling: !0, + maxInputTokens: 19827, + }, + "o3-mini": { + contextWindow: 63827, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "o3-mini", + version: "o3-mini-2025-01-31", + name: "o3-mini", + supportsToolCalling: !0, + maxInputTokens: 63827, + }, + "claude-3.5-sonnet": { + contextWindow: 81638, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "claude-3.5-sonnet", + version: "claude-3.5-sonnet", + name: "Claude 3.5 Sonnet", + supportsToolCalling: !0, + maxInputTokens: 81638, + }, + "gemini-2.0-flash-001": { + contextWindow: 127827, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gemini-2.0-flash", + version: "gemini-2.0-flash-001", + name: "Gemini 2.0 Flash", + supportsToolCalling: !1, + maxInputTokens: 127827, + }, + "gemini-2.5-pro": { + contextWindow: 63830, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gemini-2.5-pro", + version: "gemini-2.5-pro-preview-03-25", + name: "Gemini 2.5 Pro (Preview)", + supportsToolCalling: !0, + maxInputTokens: 63830, + }, + "o4-mini": { + contextWindow: 111446, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "o4-mini", + version: "o4-mini-2025-04-16", + name: "o4-mini (Preview)", + supportsToolCalling: !0, + maxInputTokens: 111446, + }, + "gpt-4.1": { + contextWindow: 111446, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 0, + outputPrice: 0, + family: "gpt-4.1", + version: "gpt-4.1-2025-04-14", + name: "GPT-4.1 (Preview)", + supportsToolCalling: !0, + maxInputTokens: 111446, + }, + }, + $Je = "grok-4", + LJe = { + "grok-4": { + maxTokens: 8192, + contextWindow: 256e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 0.75, + cacheReadsPrice: 0.75, + description: "xAI's Grok-4 model with 256K context window", + }, + "grok-3": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 3, + outputPrice: 15, + cacheWritesPrice: 0.75, + cacheReadsPrice: 0.75, + description: "xAI's Grok-3 model with 128K context window", + }, + "grok-3-fast": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 5, + outputPrice: 25, + cacheWritesPrice: 1.25, + cacheReadsPrice: 1.25, + description: "xAI's Grok-3 fast model with 128K context window", + }, + "grok-3-mini": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.3, + outputPrice: 0.5, + cacheWritesPrice: 0.07, + cacheReadsPrice: 0.07, + description: "xAI's Grok-3 mini model with 128K context window", + supportsReasoningEffort: !0, + }, + "grok-3-mini-fast": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.6, + outputPrice: 4, + cacheWritesPrice: 0.15, + cacheReadsPrice: 0.15, + description: "xAI's Grok-3 mini fast model with 128K context window", + supportsReasoningEffort: !0, + }, + "grok-2-1212": { + maxTokens: 8192, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 2, + outputPrice: 10, + description: "xAI's Grok-2 model (version 1212) with 128K context window", + }, + "grok-2-vision-1212": { + maxTokens: 8192, + contextWindow: 32768, + supportsImages: !0, + supportsPromptCache: !1, + inputPrice: 2, + outputPrice: 10, + description: "xAI's Grok-2 Vision model (version 1212) with image support and 32K context window", + }, + }, + Gj = "doubao-seed-1-6-250615", + Qj = { + "doubao-seed-1-6-250615": { + maxTokens: 32768, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 1e-4, + outputPrice: 4e-4, + cacheWritesPrice: 1e-4, + cacheReadsPrice: 2e-5, + description: + "Doubao Seed 1.6 is a powerful model designed for high-performance tasks with extensive context handling.", + }, + "doubao-seed-1-6-thinking-250715": { + maxTokens: 32768, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 2e-4, + outputPrice: 8e-4, + cacheWritesPrice: 2e-4, + cacheReadsPrice: 4e-5, + description: + "Doubao Seed 1.6 Thinking is optimized for reasoning tasks, providing enhanced performance in complex problem-solving scenarios.", + }, + "doubao-seed-1-6-flash-250715": { + maxTokens: 32768, + contextWindow: 128e3, + supportsImages: !0, + supportsPromptCache: !0, + inputPrice: 15e-5, + outputPrice: 6e-4, + cacheWritesPrice: 15e-5, + cacheReadsPrice: 3e-5, + description: + "Doubao Seed 1.6 Flash is tailored for speed and efficiency, making it ideal for applications requiring rapid responses.", + }, + } +Qj[Gj] +const DJe = "glm-4.5", + NJe = { + "glm-4.5": { + maxTokens: 98304, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.6, + outputPrice: 2.2, + cacheWritesPrice: 0, + cacheReadsPrice: 0.11, + description: + "GLM-4.5 is Zhipu's latest featured model. Its comprehensive capabilities in reasoning, coding, and agent reach the state-of-the-art (SOTA) level among open-source models, with a context length of up to 128k.", + }, + "glm-4.5-air": { + maxTokens: 98304, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.2, + outputPrice: 1.1, + cacheWritesPrice: 0, + cacheReadsPrice: 0.03, + description: + "GLM-4.5-Air is the lightweight version of GLM-4.5. It balances performance and cost-effectiveness, and can flexibly switch to hybrid thinking models.", + }, + }, + OJe = "glm-4.5", + aCt = { + "glm-4.5": { + maxTokens: 98304, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.29, + outputPrice: 1.14, + cacheWritesPrice: 0, + cacheReadsPrice: 0.057, + description: + "GLM-4.5 is Zhipu's latest featured model. Its comprehensive capabilities in reasoning, coding, and agent reach the state-of-the-art (SOTA) level among open-source models, with a context length of up to 128k.", + tiers: [ + { contextWindow: 32e3, inputPrice: 0.21, outputPrice: 1, cacheReadsPrice: 0.043 }, + { contextWindow: 128e3, inputPrice: 0.29, outputPrice: 1.14, cacheReadsPrice: 0.057 }, + { contextWindow: 1 / 0, inputPrice: 0.29, outputPrice: 1.14, cacheReadsPrice: 0.057 }, + ], + }, + "glm-4.5-air": { + maxTokens: 98304, + contextWindow: 131072, + supportsImages: !1, + supportsPromptCache: !0, + inputPrice: 0.1, + outputPrice: 0.6, + cacheWritesPrice: 0, + cacheReadsPrice: 0.02, + description: + "GLM-4.5-Air is the lightweight version of GLM-4.5. It balances performance and cost-effectiveness, and can flexibly switch to hybrid thinking models.", + tiers: [ + { contextWindow: 32e3, inputPrice: 0.07, outputPrice: 0.4, cacheReadsPrice: 0.014 }, + { contextWindow: 128e3, inputPrice: 0.1, outputPrice: 0.6, cacheReadsPrice: 0.02 }, + { contextWindow: 1 / 0, inputPrice: 0.1, outputPrice: 0.6, cacheReadsPrice: 0.02 }, + ], + }, + }, + FJe = "accounts/fireworks/models/kimi-k2-instruct", + BJe = { + "accounts/fireworks/models/kimi-k2-instruct": { + maxTokens: 16384, + contextWindow: 128e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.6, + outputPrice: 2.5, + description: + "Kimi K2 is a state-of-the-art mixture-of-experts (MoE) language model with 32 billion activated parameters and 1 trillion total parameters. Trained with the Muon optimizer, Kimi K2 achieves exceptional performance across frontier knowledge, reasoning, and coding tasks while being meticulously optimized for agentic capabilities.", + }, + "accounts/fireworks/models/qwen3-235b-a22b-instruct-2507": { + maxTokens: 32768, + contextWindow: 256e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.22, + outputPrice: 0.88, + description: "Latest Qwen3 thinking model, competitive against the best closed source models in Jul 2025.", + }, + "accounts/fireworks/models/qwen3-coder-480b-a35b-instruct": { + maxTokens: 32768, + contextWindow: 256e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.45, + outputPrice: 1.8, + description: "Qwen3's most agentic code model to date.", + }, + "accounts/fireworks/models/deepseek-r1-0528": { + maxTokens: 20480, + contextWindow: 16e4, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 3, + outputPrice: 8, + description: + "05/28 updated checkpoint of Deepseek R1. Its overall performance is now approaching that of leading models, such as O3 and Gemini 2.5 Pro. Compared to the previous version, the upgraded model shows significant improvements in handling complex reasoning tasks, and this version also offers a reduced hallucination rate, enhanced support for function calling, and better experience for vibe coding. Note that fine-tuning for this model is only available through contacting fireworks at https://fireworks.ai/company/contact-us.", + }, + "accounts/fireworks/models/deepseek-v3": { + maxTokens: 16384, + contextWindow: 128e3, + supportsImages: !1, + supportsPromptCache: !1, + inputPrice: 0.9, + outputPrice: 0.9, + description: + "A strong Mixture-of-Experts (MoE) language model with 671B total parameters with 37B activated for each token from Deepseek. Note that fine-tuning for this model is only available through contacting fireworks at https://fireworks.ai/company/contact-us.", + }, + } +function UJe(t, e) { + let n = t.length + for (; n--; ) if (e(t[n], n, t)) return n + return -1 +} +function lCt(t, e) { + const n = UJe(t, e) + return n === -1 ? void 0 : t[n] +} +function cCt(t) { + if (!t) return !1 + if (t.apiProvider && ["human-relay", "fake-ai", "claude-code"].includes(t.apiProvider)) return !0 + const e = lJe.some((o) => t[o] !== void 0), + n = [t.awsRegion, t.vertexProjectId, t.ollamaModelId, t.lmStudioModelId, t.vsCodeLmModelSelector].some( + (o) => o !== void 0, + ) + return e || n +} +const dCt = { + ca: "Català", + de: "Deutsch", + en: "English", + es: "Español", + fr: "Français", + hi: "हिन्दी", + id: "Bahasa Indonesia", + it: "Italiano", + ja: "日本語", + ko: "한국어", + nl: "Nederlands", + pl: "Polski", + "pt-BR": "Português", + ru: "Русский", + tr: "Türkçe", + vi: "Tiếng Việt", + "zh-CN": "简体中文", + "zh-TW": "繁體中文", + }, + Bm = { + MULTI_FILE_APPLY_DIFF: "multiFileApplyDiff", + POWER_STEERING: "powerSteering", + PREVENT_FOCUS_DISRUPTION: "preventFocusDisruption", + ASSISTANT_MESSAGE_PARSER: "assistantMessageParser", + }, + qJe = { + MULTI_FILE_APPLY_DIFF: { enabled: !1 }, + POWER_STEERING: { enabled: !1 }, + PREVENT_FOCUS_DISRUPTION: { enabled: !1 }, + ASSISTANT_MESSAGE_PARSER: { enabled: !1 }, + }, + uCt = Object.fromEntries(Object.entries(qJe).map(([t, e]) => [Bm[t], e.enabled])), + lO = { + read: { + tools: [ + "read_file", + "fetch_instructions", + "search_files", + "list_files", + "list_code_definition_names", + "codebase_search", + ], + }, + edit: { tools: ["apply_diff", "write_to_file", "insert_content", "search_and_replace"] }, + browser: { tools: ["browser_action"] }, + command: { tools: ["execute_command"] }, + mcp: { tools: ["use_mcp_tool", "access_mcp_resource"] }, + modes: { tools: ["switch_mode", "new_task"], alwaysAvailable: !0 }, + }, + Uv = N_t, + pCt = Uv[0].slug +function N_(t, e) { + const n = e == null ? void 0 : e.find((o) => o.slug === t) + return n || Uv.find((o) => o.slug === t) +} +function qv(t) { + if (!(t != null && t.length)) return [...Uv] + const e = [...Uv] + return ( + t.forEach((n) => { + const o = e.findIndex((r) => r.slug === n.slug) + o !== -1 ? (e[o] = n) : e.push(n) + }), + e + ) +} +function mCt(t, e) { + return e == null ? void 0 : e.find((n) => n.slug === t) +} +const hCt = Object.freeze( + Object.fromEntries( + Uv.map((t) => [ + t.slug, + { + roleDefinition: t.roleDefinition, + whenToUse: t.whenToUse, + customInstructions: t.customInstructions, + description: t.description, + }, + ]), + ), +) +function cO(t, e) { + const n = N_(t, e) + return n ? n.roleDefinition : (console.warn(`No mode found for slug: ${t}`), "") +} +function dO(t, e) { + const n = N_(t, e) + return n ? (n.description ?? "") : (console.warn(`No mode found for slug: ${t}`), "") +} +function uO(t, e) { + const n = N_(t, e) + return n ? (n.whenToUse ?? "") : (console.warn(`No mode found for slug: ${t}`), "") +} +function fCt(t, e) { + const n = N_(t, e) + return n ? (n.customInstructions ?? "") : (console.warn(`No mode found for slug: ${t}`), "") +} +class gCt { + constructor() { + typeof acquireVsCodeApi == "function" && (this.vsCodeApi = acquireVsCodeApi()) + } + postMessage(e) { + this.vsCodeApi ? this.vsCodeApi.postMessage(e) : console.log(e) + } + getState() { + if (this.vsCodeApi) return this.vsCodeApi.getState() + { + const e = localStorage.getItem("vscodeState") + return e ? JSON.parse(e) : void 0 + } + } + setState(e) { + return this.vsCodeApi ? this.vsCodeApi.setState(e) : (localStorage.setItem("vscodeState", JSON.stringify(e)), e) + } +} +const re = new gCt(), + pO = { + ".hljs-comment": ["comment"], + ".hljs-tag": ["tag"], + ".hljs-doctag": ["keyword"], + ".hljs-keyword": ["keyword"], + ".hljs-meta .hljs-keyword": ["keyword"], + ".hljs-template-tag": ["keyword"], + ".hljs-template-variable": ["keyword"], + ".hljs-type": ["keyword"], + ".hljs-variable.language_": ["keyword"], + ".hljs-title": ["title", "function", "class"], + ".hljs-title.class_": ["title", "function", "class", "variable"], + ".hljs-title.class_.inherited__": ["title", "function", "class", "variable"], + ".hljs-title.function_": ["support.function", "entity.name.function", "title", "function", "class"], + ".hljs-built_in": ["support.function", "entity.name.function", "title", "function", "class"], + ".hljs-name": ["constant"], + ".hljs-attr": ["variable", "operator", "number"], + ".hljs-attribute": ["attribute", "variable", "operator", "number"], + ".hljs-literal": ["variable", "operator", "number"], + ".hljs-meta": ["variable", "operator", "number"], + ".hljs-number": ["constant.numeric", "number", "variable", "operator"], + ".hljs-operator": ["variable", "operator", "number"], + ".hljs-variable": ["variable", "operator", "number"], + ".hljs-selector-attr": ["variable", "operator", "number"], + ".hljs-selector-class": ["variable", "operator", "number"], + ".hljs-selector-id": ["variable", "operator", "number"], + ".hljs-regexp": ["string"], + ".hljs-string": ["string"], + ".hljs-meta .hljs-string": ["string"], + ".hljs-params": ["variable", "operator", "number"], + } +function vCt(t) { + const e = t.rules || [], + n = {} + e.forEach(({ token: r, foreground: i }) => { + !i || !r || (n[r] = i) + }) + const o = {} + return ( + Object.keys(pO).forEach((r) => { + const i = pO[r] + for (const s of i) + if (n[s]) { + o[r] = n[s] + break + } + }), + Object.keys(o).length === 0 ? bCt() : o + ) +} +function bCt() { + const e = getComputedStyle(document.body).getPropertyValue("--vscode-editor-background"), + { r: n, g: o, b: r } = kCt(e) + return (n + o + r) / 3 >= 128 + ? { + ".hljs-comment": "#008000", + ".hljs-doctag": "#0000ff", + ".hljs-keyword": "#0000ff", + ".hljs-meta .hljs-keyword": "#0000ff", + ".hljs-template-tag": "#0000ff", + ".hljs-template-variable": "#0000ff", + ".hljs-type": "#0000ff", + ".hljs-variable.language_": "#0000ff", + ".hljs-title.class_": "#001080", + ".hljs-title.class_.inherited__": "#001080", + ".hljs-title.function_": "#795E26", + ".hljs-built_in": "#795E26", + ".hljs-attr": "#001080", + ".hljs-attribute": "#001080", + ".hljs-literal": "#001080", + ".hljs-meta": "#001080", + ".hljs-number": "#098658", + ".hljs-operator": "#001080", + ".hljs-variable": "#001080", + ".hljs-selector-attr": "#001080", + ".hljs-selector-class": "#001080", + ".hljs-selector-id": "#001080", + ".hljs-regexp": "#a31515", + ".hljs-string": "#a31515", + ".hljs-meta .hljs-string": "#a31515", + ".hljs-params": "#001080", + } + : { + ".hljs-comment": "#6A9955", + ".hljs-doctag": "#569cd6", + ".hljs-keyword": "#569cd6", + ".hljs-meta .hljs-keyword": "#569cd6", + ".hljs-template-tag": "#569cd6", + ".hljs-template-variable": "#569cd6", + ".hljs-type": "#569cd6", + ".hljs-variable.language_": "#569cd6", + ".hljs-title.class_": "#9CDCFE", + ".hljs-title.class_.inherited__": "#9CDCFE", + ".hljs-title.function_": "#DCDCAA", + ".hljs-built_in": "#DCDCAA", + ".hljs-attr": "#9CDCFE", + ".hljs-attribute": "#9CDCFE", + ".hljs-literal": "#9CDCFE", + ".hljs-meta": "#9CDCFE", + ".hljs-number": "#b5cea8", + ".hljs-operator": "#9CDCFE", + ".hljs-variable": "#9CDCFE", + ".hljs-selector-attr": "#9CDCFE", + ".hljs-selector-class": "#9CDCFE", + ".hljs-selector-id": "#9CDCFE", + ".hljs-regexp": "#ce9178", + ".hljs-string": "#ce9178", + ".hljs-meta .hljs-string": "#ce9178", + ".hljs-params": "#9CDCFE", + } +} +function yCt(t) { + return vCt(t || {}) +} +function kCt(t) { + t.startsWith("#") && (t = t.slice(1)), t.length > 6 && (t = t.slice(0, 6)) + const e = parseInt(t.substring(0, 2), 16), + n = parseInt(t.substring(2, 4), 16), + o = parseInt(t.substring(4, 6), 16) + return { r: e, g: n, b: o } +} +const Zj = k.createContext(void 0), + xCt = (t, e) => { + const { customModePrompts: n, experiments: o, ...r } = t, + { apiConfiguration: i, customModePrompts: s, customSupportPrompts: a, experiments: c, ...d } = e, + u = { ...n, ...s }, + m = { ...o, ...c } + return { ...{ ...r, ...d }, apiConfiguration: i, customModePrompts: u, customSupportPrompts: a, experiments: m } + }, + wCt = ({ children: t }) => { + const [e, n] = k.useState({ + version: "", + clineMessages: [], + taskHistory: [], + shouldShowAnnouncement: !1, + allowedCommands: [], + deniedCommands: [], + soundEnabled: !1, + soundVolume: 0.5, + ttsEnabled: !1, + ttsSpeed: 1, + diffEnabled: !1, + enableCheckpoints: !0, + fuzzyMatchThreshold: 1, + language: "en", + writeDelayMs: 1e3, + browserViewportSize: "900x600", + screenshotQuality: 75, + terminalOutputLineLimit: 500, + terminalOutputCharacterLimit: 5e4, + terminalShellIntegrationTimeout: 4e3, + mcpEnabled: !0, + enableMcpServerCreation: !1, + remoteControlEnabled: !1, + alwaysApproveResubmit: !1, + requestDelaySeconds: 5, + currentApiConfigName: "default", + listApiConfigMeta: [], + mode: pCt, + customModePrompts: hCt, + customSupportPrompts: {}, + experiments: uCt, + enhancementApiConfigId: "", + condensingApiConfigId: "", + customCondensingPrompt: "", + hasOpenedModeSelector: !1, + autoApprovalEnabled: !1, + customModes: [], + maxOpenTabsContext: 20, + maxWorkspaceFiles: 200, + cwd: "", + browserToolEnabled: !0, + telemetrySetting: "unset", + showRooIgnoredFiles: !0, + renderContext: "sidebar", + maxReadFileLine: -1, + maxImageFileSize: 5, + maxTotalImageSize: 20, + pinnedApiConfigs: {}, + terminalZshOhMy: !1, + maxConcurrentFileReads: 5, + terminalZshP10k: !1, + terminalZdotdir: !1, + terminalCompressProgressBar: !0, + historyPreviewCollapsed: !1, + cloudUserInfo: null, + cloudIsAuthenticated: !1, + sharingEnabled: !1, + organizationAllowList: G_t, + organizationSettingsVersion: -1, + autoCondenseContext: !0, + autoCondenseContextPercent: 100, + profileThresholds: {}, + codebaseIndexConfig: { + codebaseIndexEnabled: !0, + codebaseIndexQdrantUrl: "http://localhost:6333", + codebaseIndexEmbedderProvider: "openai", + codebaseIndexEmbedderBaseUrl: "", + codebaseIndexEmbedderModelId: "", + codebaseIndexSearchMaxResults: void 0, + codebaseIndexSearchMinScore: void 0, + }, + codebaseIndexModels: { ollama: {}, openai: {} }, + alwaysAllowUpdateTodoList: !0, + includeDiagnosticMessages: !0, + maxDiagnosticMessages: 50, + }), + [o, r] = k.useState(!1), + [i, s] = k.useState(!1), + [a, c] = k.useState(void 0), + [d, u] = k.useState([]), + [m, f] = k.useState([]), + [g, b] = k.useState([]), + [v, w] = k.useState([]), + [_, y] = k.useState(), + [C, S] = k.useState(void 0), + [P, R] = k.useState([]), + [T, E] = k.useState(!1), + [$, j] = k.useState(void 0), + [L, W] = k.useState({ project: {}, global: {} }), + [G, U] = k.useState(!1), + Z = k.useCallback((B) => n((M) => ({ ...M, listApiConfigMeta: B })), []), + V = k.useCallback((B) => { + n((M) => ({ ...M, apiConfiguration: { ...M.apiConfiguration, ...B } })) + }, []), + X = k.useCallback( + (B) => { + const M = B.data + switch (M.type) { + case "state": { + const D = M.state + n((F) => xCt(F, D)), + s(!cCt(D.apiConfiguration)), + r(!0), + D.alwaysAllowFollowupQuestions !== void 0 && E(D.alwaysAllowFollowupQuestions), + D.followupAutoApproveTimeoutMs !== void 0 && j(D.followupAutoApproveTimeoutMs), + D.includeTaskHistoryInEnhance !== void 0 && U(D.includeTaskHistoryInEnhance), + D.marketplaceItems !== void 0 && R(D.marketplaceItems), + D.marketplaceInstalledMetadata !== void 0 && W(D.marketplaceInstalledMetadata) + break + } + case "theme": { + M.text && c(yCt(JSON.parse(M.text))) + break + } + case "workspaceUpdated": { + const D = M.filePaths ?? [], + F = M.openedTabs ?? [] + u(D), f(F) + break + } + case "commands": { + b(M.commands ?? []) + break + } + case "messageUpdated": { + const D = M.clineMessage + n((F) => { + const N = UJe(F.clineMessages, (J) => J.ts === D.ts) + if (N !== -1) { + const J = [...F.clineMessages] + return (J[N] = D), { ...F, clineMessages: J } + } + return F + }) + break + } + case "mcpServers": { + w(M.mcpServers ?? []) + break + } + case "currentCheckpointUpdated": { + y(M.text) + break + } + case "listApiConfig": { + Z(M.listApiConfig ?? []) + break + } + case "routerModels": { + S(M.routerModels) + break + } + case "marketplaceData": { + M.marketplaceItems !== void 0 && R(M.marketplaceItems), + M.marketplaceInstalledMetadata !== void 0 && W(M.marketplaceInstalledMetadata) + break + } + } + }, + [Z], + ) + k.useEffect( + () => ( + window.addEventListener("message", X), + () => { + window.removeEventListener("message", X) + } + ), + [X], + ), + k.useEffect(() => { + re.postMessage({ type: "webviewDidLaunch" }) + }, []) + const H = { + ...e, + didHydrateState: o, + showWelcome: i, + theme: a, + mcpServers: v, + currentCheckpoint: _, + filePaths: d, + openedTabs: m, + commands: g, + soundVolume: e.soundVolume, + ttsSpeed: e.ttsSpeed, + fuzzyMatchThreshold: e.fuzzyMatchThreshold, + writeDelayMs: e.writeDelayMs, + screenshotQuality: e.screenshotQuality, + routerModels: C, + cloudIsAuthenticated: e.cloudIsAuthenticated ?? !1, + organizationSettingsVersion: e.organizationSettingsVersion ?? -1, + marketplaceItems: P, + marketplaceInstalledMetadata: L, + profileThresholds: e.profileThresholds ?? {}, + alwaysAllowFollowupQuestions: T, + followupAutoApproveTimeoutMs: $, + remoteControlEnabled: e.remoteControlEnabled ?? !1, + setExperimentEnabled: (B, M) => n((D) => ({ ...D, experiments: { ...D.experiments, [B]: M } })), + setApiConfiguration: V, + setCustomInstructions: (B) => n((M) => ({ ...M, customInstructions: B })), + setAlwaysAllowReadOnly: (B) => n((M) => ({ ...M, alwaysAllowReadOnly: B })), + setAlwaysAllowReadOnlyOutsideWorkspace: (B) => n((M) => ({ ...M, alwaysAllowReadOnlyOutsideWorkspace: B })), + setAlwaysAllowWrite: (B) => n((M) => ({ ...M, alwaysAllowWrite: B })), + setAlwaysAllowWriteOutsideWorkspace: (B) => n((M) => ({ ...M, alwaysAllowWriteOutsideWorkspace: B })), + setAlwaysAllowExecute: (B) => n((M) => ({ ...M, alwaysAllowExecute: B })), + setAlwaysAllowBrowser: (B) => n((M) => ({ ...M, alwaysAllowBrowser: B })), + setAlwaysAllowMcp: (B) => n((M) => ({ ...M, alwaysAllowMcp: B })), + setAlwaysAllowModeSwitch: (B) => n((M) => ({ ...M, alwaysAllowModeSwitch: B })), + setAlwaysAllowSubtasks: (B) => n((M) => ({ ...M, alwaysAllowSubtasks: B })), + setAlwaysAllowFollowupQuestions: E, + setFollowupAutoApproveTimeoutMs: (B) => n((M) => ({ ...M, followupAutoApproveTimeoutMs: B })), + setShowAnnouncement: (B) => n((M) => ({ ...M, shouldShowAnnouncement: B })), + setAllowedCommands: (B) => n((M) => ({ ...M, allowedCommands: B })), + setDeniedCommands: (B) => n((M) => ({ ...M, deniedCommands: B })), + setAllowedMaxRequests: (B) => n((M) => ({ ...M, allowedMaxRequests: B })), + setAllowedMaxCost: (B) => n((M) => ({ ...M, allowedMaxCost: B })), + setSoundEnabled: (B) => n((M) => ({ ...M, soundEnabled: B })), + setSoundVolume: (B) => n((M) => ({ ...M, soundVolume: B })), + setTtsEnabled: (B) => n((M) => ({ ...M, ttsEnabled: B })), + setTtsSpeed: (B) => n((M) => ({ ...M, ttsSpeed: B })), + setDiffEnabled: (B) => n((M) => ({ ...M, diffEnabled: B })), + setEnableCheckpoints: (B) => n((M) => ({ ...M, enableCheckpoints: B })), + setBrowserViewportSize: (B) => n((M) => ({ ...M, browserViewportSize: B })), + setFuzzyMatchThreshold: (B) => n((M) => ({ ...M, fuzzyMatchThreshold: B })), + setWriteDelayMs: (B) => n((M) => ({ ...M, writeDelayMs: B })), + setScreenshotQuality: (B) => n((M) => ({ ...M, screenshotQuality: B })), + setTerminalOutputLineLimit: (B) => n((M) => ({ ...M, terminalOutputLineLimit: B })), + setTerminalOutputCharacterLimit: (B) => n((M) => ({ ...M, terminalOutputCharacterLimit: B })), + setTerminalShellIntegrationTimeout: (B) => n((M) => ({ ...M, terminalShellIntegrationTimeout: B })), + setTerminalShellIntegrationDisabled: (B) => n((M) => ({ ...M, terminalShellIntegrationDisabled: B })), + setTerminalZdotdir: (B) => n((M) => ({ ...M, terminalZdotdir: B })), + setMcpEnabled: (B) => n((M) => ({ ...M, mcpEnabled: B })), + setEnableMcpServerCreation: (B) => n((M) => ({ ...M, enableMcpServerCreation: B })), + setRemoteControlEnabled: (B) => n((M) => ({ ...M, remoteControlEnabled: B })), + setAlwaysApproveResubmit: (B) => n((M) => ({ ...M, alwaysApproveResubmit: B })), + setRequestDelaySeconds: (B) => n((M) => ({ ...M, requestDelaySeconds: B })), + setCurrentApiConfigName: (B) => n((M) => ({ ...M, currentApiConfigName: B })), + setListApiConfigMeta: Z, + setMode: (B) => n((M) => ({ ...M, mode: B })), + setCustomModePrompts: (B) => n((M) => ({ ...M, customModePrompts: B })), + setCustomSupportPrompts: (B) => n((M) => ({ ...M, customSupportPrompts: B })), + setEnhancementApiConfigId: (B) => n((M) => ({ ...M, enhancementApiConfigId: B })), + setAutoApprovalEnabled: (B) => n((M) => ({ ...M, autoApprovalEnabled: B })), + setCustomModes: (B) => n((M) => ({ ...M, customModes: B })), + setMaxOpenTabsContext: (B) => n((M) => ({ ...M, maxOpenTabsContext: B })), + setMaxWorkspaceFiles: (B) => n((M) => ({ ...M, maxWorkspaceFiles: B })), + setBrowserToolEnabled: (B) => n((M) => ({ ...M, browserToolEnabled: B })), + setTelemetrySetting: (B) => n((M) => ({ ...M, telemetrySetting: B })), + setShowRooIgnoredFiles: (B) => n((M) => ({ ...M, showRooIgnoredFiles: B })), + setRemoteBrowserEnabled: (B) => n((M) => ({ ...M, remoteBrowserEnabled: B })), + setAwsUsePromptCache: (B) => n((M) => ({ ...M, awsUsePromptCache: B })), + setMaxReadFileLine: (B) => n((M) => ({ ...M, maxReadFileLine: B })), + setMaxImageFileSize: (B) => n((M) => ({ ...M, maxImageFileSize: B })), + setMaxTotalImageSize: (B) => n((M) => ({ ...M, maxTotalImageSize: B })), + setPinnedApiConfigs: (B) => n((M) => ({ ...M, pinnedApiConfigs: B })), + setTerminalCompressProgressBar: (B) => n((M) => ({ ...M, terminalCompressProgressBar: B })), + togglePinnedApiConfig: (B) => + n((M) => { + const D = M.pinnedApiConfigs || {}, + F = { ...D, [B]: !D[B] } + return F[B] || delete F[B], { ...M, pinnedApiConfigs: F } + }), + setHistoryPreviewCollapsed: (B) => n((M) => ({ ...M, historyPreviewCollapsed: B })), + setHasOpenedModeSelector: (B) => n((M) => ({ ...M, hasOpenedModeSelector: B })), + setAutoCondenseContext: (B) => n((M) => ({ ...M, autoCondenseContext: B })), + setAutoCondenseContextPercent: (B) => n((M) => ({ ...M, autoCondenseContextPercent: B })), + setCondensingApiConfigId: (B) => n((M) => ({ ...M, condensingApiConfigId: B })), + setCustomCondensingPrompt: (B) => n((M) => ({ ...M, customCondensingPrompt: B })), + setProfileThresholds: (B) => n((M) => ({ ...M, profileThresholds: B })), + alwaysAllowUpdateTodoList: e.alwaysAllowUpdateTodoList, + setAlwaysAllowUpdateTodoList: (B) => { + n((M) => ({ ...M, alwaysAllowUpdateTodoList: B })) + }, + includeDiagnosticMessages: e.includeDiagnosticMessages, + setIncludeDiagnosticMessages: (B) => { + n((M) => ({ ...M, includeDiagnosticMessages: B })) + }, + maxDiagnosticMessages: e.maxDiagnosticMessages, + setMaxDiagnosticMessages: (B) => { + n((M) => ({ ...M, maxDiagnosticMessages: B })) + }, + includeTaskHistoryInEnhance: G, + setIncludeTaskHistoryInEnhance: U, + } + return l.jsx(Zj.Provider, { value: H, children: t }) + }, + Qn = () => { + const t = k.useContext(Zj) + if (t === void 0) throw new Error("useExtensionState must be used within an ExtensionStateContextProvider") + return t + }, + WJe = k.createContext({ t: (t) => t, i18n: Gt }), + _Ct = ({ children: t }) => { + const { i18n: e } = to(), + n = Qn() + k.useEffect(() => { + try { + jwt() + } catch (r) { + console.error("Failed to load translations:", r) + } + }, []), + k.useEffect(() => { + e.changeLanguage(n.language) + }, [e, n.language]) + const o = k.useCallback((r, i) => e.t(r, i), [e]) + return l.jsx(WJe.Provider, { value: { t: o, i18n: e }, children: t }) + }, + Be = () => k.useContext(WJe) +class KJe { + constructor() { + ;(this.state = this.loadInitialState()), (this.stateChangeHandlers = new Set()) + } + loadInitialState() { + return this.getDefaultState() + } + getDefaultState() { + return { + allItems: [], + organizationMcps: [], + displayItems: [], + displayOrganizationMcps: [], + isFetching: !0, + activeTab: "mcp", + filters: { type: "", search: "", tags: [] }, + } + } + initialize() { + this.state = this.getDefaultState() + } + onStateChange(e) { + return this.stateChangeHandlers.add(e), () => this.stateChangeHandlers.delete(e) + } + cleanup() { + this.state.isFetching && ((this.state.isFetching = !1), this.notifyStateChange()), + this.stateChangeHandlers.clear() + } + getState() { + const e = this.state.allItems.length ? [...this.state.allItems] : [], + n = this.state.organizationMcps.length ? [...this.state.organizationMcps] : [], + o = this.state.displayItems ? [...this.state.displayItems] : [...e], + r = this.state.displayOrganizationMcps ? [...this.state.displayOrganizationMcps] : [...n], + i = this.state.filters.tags.length ? [...this.state.filters.tags] : [] + return { + ...this.state, + allItems: e, + organizationMcps: n, + displayItems: o, + displayOrganizationMcps: r, + filters: { ...this.state.filters, tags: i }, + } + } + notifyStateChange(e = !1) { + const n = this.getState() + e + ? this.stateChangeHandlers.forEach((o) => { + const r = n.activeTab, + i = { ...n, activeTab: r } + o(i) + }) + : this.stateChangeHandlers.forEach((o) => { + o(n) + }) + } + async transition(e) { + switch (e.type) { + case "FETCH_ITEMS": { + ;(this.state = { ...this.state, isFetching: !0 }), this.notifyStateChange() + break + } + case "FETCH_COMPLETE": { + const { items: n } = e.payload + if (JSON.stringify(n) === JSON.stringify(this.state.allItems)) { + ;(this.state.isFetching = !1), + this.stateChangeHandlers.forEach((i) => { + i({ ...this.getState(), isFetching: !1 }) + }) + break + } + let o, r + this.isFilterActive() + ? ((o = this.filterItems([...n])), (r = this.filterItems([...this.state.organizationMcps]))) + : ((o = [...n]), (r = [...this.state.organizationMcps])), + (this.state = { + ...this.state, + allItems: [...n], + displayItems: o, + displayOrganizationMcps: r, + isFetching: !1, + }), + this.notifyStateChange() + break + } + case "FETCH_ERROR": { + const { filters: n, activeTab: o, allItems: r, displayItems: i } = this.state + ;(this.state = { + ...this.getDefaultState(), + filters: n, + activeTab: o, + allItems: r, + displayItems: i, + isFetching: !1, + }), + this.notifyStateChange() + break + } + case "SET_ACTIVE_TAB": { + const { tab: n } = e.payload + ;(this.state = { ...this.state, activeTab: n }), this.notifyStateChange() + break + } + case "UPDATE_FILTERS": { + const { filters: n = {} } = e.payload || {}, + o = { + type: n.type !== void 0 ? n.type : this.state.filters.type, + search: n.search !== void 0 ? n.search : this.state.filters.search, + tags: n.tags !== void 0 ? n.tags : this.state.filters.tags, + } + this.state = { ...this.state, filters: o } + const r = this.filterItems(this.state.allItems), + i = this.filterItems(this.state.organizationMcps) + ;(this.state = { ...this.state, displayItems: r, displayOrganizationMcps: i }), + re.postMessage({ type: "filterMarketplaceItems", filters: o }), + this.notifyStateChange() + break + } + } + } + isFilterActive() { + return !!(this.state.filters.type || this.state.filters.search || this.state.filters.tags.length > 0) + } + filterItems(e) { + const { type: n, search: o, tags: r } = this.state.filters + return e + .map((i) => { + var g + const s = { ...i }, + a = !n || i.type === n, + c = o ? i.name.toLowerCase().includes(o.toLowerCase()) : !1, + d = o ? (i.description || "").toLowerCase().includes(o.toLowerCase()) : !1, + u = r.length > 0 ? ((g = i.tags) == null ? void 0 : g.some((b) => r.includes(b))) : !1 + return (a && (!o || c || d) && (!r.length || u)) || !1 ? s : null + }) + .filter((i) => i !== null) + } + async handleMessage(e) { + var n + if (!e || !e.type || e.type === "invalidType") { + ;(this.state = { ...this.getDefaultState() }), this.notifyStateChange() + return + } + if (e.type === "state") { + if (!e.state) { + ;(this.state = { ...this.getDefaultState() }), this.notifyStateChange() + return + } + const o = e.state.marketplaceItems + if (o !== void 0) { + const a = [...o] + let c, d + this.isFilterActive() + ? ((c = this.filterItems(a)), (d = this.filterItems(this.state.organizationMcps))) + : ((c = a), (d = this.state.organizationMcps)), + (this.state = { + ...this.state, + isFetching: !1, + allItems: a, + displayItems: c, + displayOrganizationMcps: d, + }) + } + const r = this.state.activeTab === "mcp", + i = (this.state.allItems || []).length > 0, + s = !r && i + this.notifyStateChange(s) + } + if ( + (e.type === "marketplaceButtonClicked" && + (e.text + ? this.transition({ type: "FETCH_ERROR" }) + : ((n = e.values) != null && + n.marketplaceTab && + (e.values.marketplaceTab === "mcp" || e.values.marketplaceTab === "mode") && + this.transition({ type: "SET_ACTIVE_TAB", payload: { tab: e.values.marketplaceTab } }), + this.transition({ type: "FETCH_ITEMS" }))), + e.type === "marketplaceData") + ) { + const o = e.marketplaceItems, + r = e.organizationMcps || [] + if (o !== void 0) { + const i = [...o], + s = [...r], + a = this.isFilterActive() ? this.filterItems(i) : i, + c = this.isFilterActive() ? this.filterItems(s) : s + this.state = { + ...this.state, + isFetching: !1, + allItems: i, + organizationMcps: s, + displayItems: a, + displayOrganizationMcps: c, + } + } + this.notifyStateChange() + } + } +} +var Ga, + ke = typeof window < "u" ? window : void 0, + rs = typeof globalThis < "u" ? globalThis : ke, + VJe = Array.prototype, + mO = VJe.forEach, + hO = VJe.indexOf, + Ns = rs == null ? void 0 : rs.navigator, + ht = rs == null ? void 0 : rs.document, + ts = rs == null ? void 0 : rs.location, + f1 = rs == null ? void 0 : rs.fetch, + g1 = rs != null && rs.XMLHttpRequest && "withCredentials" in new rs.XMLHttpRequest() ? rs.XMLHttpRequest : void 0, + fO = rs == null ? void 0 : rs.AbortController, + Ji = Ns == null ? void 0 : Ns.userAgent, + hn = ke ?? {}, + gc = { DEBUG: !1, LIB_VERSION: "1.242.1" }, + iA = "$copy_autocapture", + CCt = [ + "$snapshot", + "$pageview", + "$pageleave", + "$set", + "survey dismissed", + "survey sent", + "survey shown", + "$identify", + "$groupidentify", + "$create_alias", + "$$client_ingestion_warning", + "$web_experiment_applied", + "$feature_enrollment_update", + "$feature_flag_called", + ] +;(function (t) { + ;(t.GZipJS = "gzip-js"), (t.Base64 = "base64") +})(Ga || (Ga = {})) +var SCt = ["fatal", "error", "warning", "log", "info", "debug"] +function Rn(t, e) { + return t.indexOf(e) !== -1 +} +var O_ = function (t) { + return t.trim() + }, + v1 = function (t) { + return t.replace(/^\$/, "") + }, + ACt = Array.isArray, + HJe = Object.prototype, + GJe = HJe.hasOwnProperty, + F_ = HJe.toString, + Yo = + ACt || + function (t) { + return F_.call(t) === "[object Array]" + }, + da = (t) => typeof t == "function", + Xo = (t) => t === Object(t) && !Yo(t), + Qm = (t) => { + if (Xo(t)) { + for (var e in t) if (GJe.call(t, e)) return !1 + return !0 + } + return !1 + }, + at = (t) => t === void 0, + pr = (t) => F_.call(t) == "[object String]", + b1 = (t) => pr(t) && t.trim().length === 0, + au = (t) => t === null, + Hn = (t) => at(t) || au(t), + di = (t) => F_.call(t) == "[object Number]", + wc = (t) => F_.call(t) === "[object Boolean]", + PCt = (t) => t instanceof FormData, + RCt = (t) => Rn(CCt, t), + QJe = (t) => { + var e = { + t: function (n) { + if (ke && (gc.DEBUG || hn.POSTHOG_DEBUG) && !at(ke.console) && ke.console) { + for ( + var o = + ("__rrweb_original__" in ke.console[n]) + ? ke.console[n].__rrweb_original__ + : ke.console[n], + r = arguments.length, + i = new Array(r > 1 ? r - 1 : 0), + s = 1; + s < r; + s++ + ) + i[s - 1] = arguments[s] + o(t, ...i) + } + }, + info: function () { + for (var n = arguments.length, o = new Array(n), r = 0; r < n; r++) o[r] = arguments[r] + e.t("log", ...o) + }, + warn: function () { + for (var n = arguments.length, o = new Array(n), r = 0; r < n; r++) o[r] = arguments[r] + e.t("warn", ...o) + }, + error: function () { + for (var n = arguments.length, o = new Array(n), r = 0; r < n; r++) o[r] = arguments[r] + e.t("error", ...o) + }, + critical: function () { + for (var n = arguments.length, o = new Array(n), r = 0; r < n; r++) o[r] = arguments[r] + console.error(t, ...o) + }, + uninitializedWarning: (n) => { + e.error("You must initialize PostHog before calling " + n) + }, + createLogger: (n) => QJe(t + " " + n), + } + return e + }, + St = QJe("[PostHog.js]"), + ki = St.createLogger, + TCt = ki("[ExternalScriptsLoader]"), + gO = (t, e, n) => { + if (t.config.disable_external_dependency_loading) + return ( + TCt.warn(e + " was requested but loading of external scripts is disabled."), + n("Loading of external scripts is disabled") + ) + var o = ht == null ? void 0 : ht.querySelectorAll("script") + if (o) { + for (var r = 0; r < o.length; r++) if (o[r].src === e) return n() + } + var i = () => { + if (!ht) return n("document not found") + var s = ht.createElement("script") + if ( + ((s.type = "text/javascript"), + (s.crossOrigin = "anonymous"), + (s.src = e), + (s.onload = (d) => n(void 0, d)), + (s.onerror = (d) => n(d)), + t.config.prepare_external_dependency_script && (s = t.config.prepare_external_dependency_script(s)), + !s) + ) + return n("prepare_external_dependency_script returned null") + var a, + c = ht.querySelectorAll("body > script") + c.length > 0 ? (a = c[0].parentNode) == null || a.insertBefore(s, c[0]) : ht.body.appendChild(s) + } + ht != null && ht.body ? i() : ht == null || ht.addEventListener("DOMContentLoaded", i) + } +function mt() { + return ( + (mt = Object.assign + ? Object.assign.bind() + : function (t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e] + for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]) + } + return t + }), + mt.apply(this, arguments) + ) +} +function ZJe(t, e) { + if (t == null) return {} + var n, + o, + r = {}, + i = Object.keys(t) + for (o = 0; o < i.length; o++) (n = i[o]), e.indexOf(n) >= 0 || (r[n] = t[n]) + return r +} +;(hn.__PosthogExtensions__ = hn.__PosthogExtensions__ || {}), + (hn.__PosthogExtensions__.loadExternalDependency = (t, e, n) => { + var o = "/static/" + e + ".js?v=" + t.version + if ((e === "remote-config" && (o = "/array/" + t.config.token + "/config.js"), e === "toolbar")) { + var r = 3e5 + o = o + "&t=" + Math.floor(Date.now() / r) * r + } + var i = t.requestRouter.endpointFor("assets", o) + gO(t, i, n) + }), + (hn.__PosthogExtensions__.loadSiteApp = (t, e, n) => { + var o = t.requestRouter.endpointFor("api", e) + gO(t, o, n) + }) +var xw = {} +function Ud(t, e, n) { + if (Yo(t)) { + if (mO && t.forEach === mO) t.forEach(e, n) + else if ("length" in t && t.length === +t.length) { + for (var o = 0, r = t.length; o < r; o++) if (o in t && e.call(n, t[o], o) === xw) return + } + } +} +function po(t, e, n) { + if (!Hn(t)) { + if (Yo(t)) return Ud(t, e, n) + if (PCt(t)) { + for (var o of t.entries()) if (e.call(n, o[1], o[0]) === xw) return + } else for (var r in t) if (GJe.call(t, r) && e.call(n, t[r], r) === xw) return + } +} +var cr = function (t) { + for (var e = arguments.length, n = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++) n[o - 1] = arguments[o] + return ( + Ud(n, function (r) { + for (var i in r) r[i] !== void 0 && (t[i] = r[i]) + }), + t + ) + }, + B_ = function (t) { + for (var e = arguments.length, n = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++) n[o - 1] = arguments[o] + return ( + Ud(n, function (r) { + Ud(r, function (i) { + t.push(i) + }) + }), + t + ) + } +function kx(t) { + for (var e = Object.keys(t), n = e.length, o = new Array(n); n--; ) o[n] = [e[n], t[e[n]]] + return o +} +var vO = function (t) { + try { + return t() + } catch { + return + } + }, + ICt = function (t) { + return function () { + try { + for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o] + return t.apply(this, n) + } catch (r) { + St.critical( + "Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A.", + ), + St.critical(r) + } + } + }, + Yj = function (t) { + var e = {} + return ( + po(t, function (n, o) { + ;((pr(n) && n.length > 0) || di(n)) && (e[o] = n) + }), + e + ) + } +function MCt(t, e) { + return ( + (n = t), + (o = (i) => (pr(i) && !au(e) ? i.slice(0, e) : i)), + (r = new Set()), + (function i(s, a) { + return s !== Object(s) + ? o + ? o(s, a) + : s + : r.has(s) + ? void 0 + : (r.add(s), + Yo(s) + ? ((c = []), + Ud(s, (d) => { + c.push(i(d)) + })) + : ((c = {}), + po(s, (d, u) => { + r.has(d) || (c[u] = i(d, u)) + })), + c) + var c + })(n) + ) + var n, o, r +} +var jCt = ["herokuapp.com", "vercel.app", "netlify.app"] +function ECt(t) { + var e = t == null ? void 0 : t.hostname + if (!pr(e)) return !1 + var n = e.split(".").slice(-2).join(".") + for (var o of jCt) if (n === o) return !1 + return !0 +} +function YJe(t, e) { + for (var n = 0; n < t.length; n++) if (e(t[n])) return t[n] +} +function Ko(t, e, n, o) { + var { capture: r = !1, passive: i = !0 } = o ?? {} + t == null || t.addEventListener(e, n, { capture: r, passive: i }) +} +var XJe = "$people_distinct_id", + nv = "__alias", + ov = "__timers", + bO = "$autocapture_disabled_server_side", + y1 = "$heatmaps_enabled_server_side", + yO = "$exception_capture_enabled_server_side", + kO = "$web_vitals_enabled_server_side", + JJe = "$dead_clicks_enabled_server_side", + xO = "$web_vitals_allowed_metrics", + k1 = "$session_recording_enabled_server_side", + wO = "$console_log_recording_enabled_server_side", + _O = "$session_recording_network_payload_capture", + CO = "$session_recording_masking", + SO = "$session_recording_canvas_recording", + AO = "$replay_sample_rate", + PO = "$replay_minimum_duration", + RO = "$replay_script_config", + ww = "$sesid", + rv = "$session_is_sampled", + x1 = "$session_recording_url_trigger_activated_session", + w1 = "$session_recording_event_trigger_activated_session", + Zm = "$enabled_feature_flags", + xx = "$early_access_features", + _1 = "$feature_flag_details", + iv = "$stored_person_properties", + Zu = "$stored_group_properties", + C1 = "$surveys", + kk = "$surveys_activated", + _w = "$flag_call_reported", + dc = "$user_state", + S1 = "$client_session_props", + A1 = "$capture_rate_limit", + P1 = "$initial_campaign_params", + R1 = "$initial_referrer_info", + Cw = "$initial_person_info", + Sw = "$epp", + eet = "__POSTHOG_TOOLBAR__", + TO = "$posthog_cookieless", + zCt = [XJe, nv, "__cmpns", ov, k1, y1, ww, Zm, dc, xx, _1, Zu, iv, C1, _w, S1, A1, P1, R1, Sw, Cw] +function IO(t) { + return ( + t instanceof Element && (t.id === eet || !(t.closest == null || !t.closest(".toolbar-global-fade-container"))) + ) +} +function U_(t) { + return !!t && t.nodeType === 1 +} +function qd(t, e) { + return !!t && !!t.tagName && t.tagName.toLowerCase() === e.toLowerCase() +} +function tet(t) { + return !!t && t.nodeType === 3 +} +function net(t) { + return !!t && t.nodeType === 11 +} +function Xj(t) { + return t ? O_(t).split(/\s+/) : [] +} +function MO(t) { + var e = ke == null ? void 0 : ke.location.href + return !!(e && t && t.some((n) => e.match(n))) +} +function Aw(t) { + var e = "" + switch (typeof t.className) { + case "string": + e = t.className + break + case "object": + e = (t.className && "baseVal" in t.className ? t.className.baseVal : null) || t.getAttribute("class") || "" + break + default: + e = "" + } + return Xj(e) +} +function oet(t) { + return Hn(t) + ? null + : O_(t) + .split(/(\s+)/) + .filter((e) => Uh(e)) + .join("") + .replace(/[\r\n]/g, " ") + .replace(/[ ]+/g, " ") + .substring(0, 255) +} +function q_(t) { + var e = "" + return ( + I1(t) && + !set(t) && + t.childNodes && + t.childNodes.length && + po(t.childNodes, function (n) { + var o + tet(n) && n.textContent && (e += (o = oet(n.textContent)) !== null && o !== void 0 ? o : "") + }), + O_(e) + ) +} +function ret(t) { + return at(t.target) + ? t.srcElement || null + : (e = t.target) != null && e.shadowRoot + ? t.composedPath()[0] || null + : t.target || null + var e +} +var T1 = ["a", "button", "form", "input", "select", "textarea", "label"] +function iet(t) { + var e = t.parentNode + return !(!e || !U_(e)) && e +} +function $Ct(t, e, n, o, r) { + var i, s, a + if ( + (n === void 0 && (n = void 0), + !ke || + !t || + qd(t, "html") || + !U_(t) || + ((i = n) != null && i.url_allowlist && !MO(n.url_allowlist)) || + ((s = n) != null && s.url_ignorelist && MO(n.url_ignorelist))) + ) + return !1 + if ((a = n) != null && a.dom_event_allowlist) { + var c = n.dom_event_allowlist + if (c && !c.some((w) => e.type === w)) return !1 + } + for (var d = !1, u = [t], m = !0, f = t; f.parentNode && !qd(f, "body"); ) + if (net(f.parentNode)) u.push(f.parentNode.host), (f = f.parentNode.host) + else { + if (!(m = iet(f))) break + if (o || T1.indexOf(m.tagName.toLowerCase()) > -1) d = !0 + else { + var g = ke.getComputedStyle(m) + g && g.getPropertyValue("cursor") === "pointer" && (d = !0) + } + u.push(m), (f = m) + } + if ( + !(function (w, _) { + var y = _ == null ? void 0 : _.element_allowlist + if (at(y)) return !0 + var C = function (R) { + if (y.some((T) => R.tagName.toLowerCase() === T)) return { v: !0 } + } + for (var S of w) { + var P = C(S) + if (typeof P == "object") return P.v + } + return !1 + })(u, n) || + !(function (w, _) { + var y = _ == null ? void 0 : _.css_selector_allowlist + if (at(y)) return !0 + var C = function (R) { + if (y.some((T) => R.matches(T))) return { v: !0 } + } + for (var S of w) { + var P = C(S) + if (typeof P == "object") return P.v + } + return !1 + })(u, n) + ) + return !1 + var b = ke.getComputedStyle(t) + if (b && b.getPropertyValue("cursor") === "pointer" && e.type === "click") return !0 + var v = t.tagName.toLowerCase() + switch (v) { + case "html": + return !1 + case "form": + return (r || ["submit"]).indexOf(e.type) >= 0 + case "input": + case "select": + case "textarea": + return (r || ["change", "click"]).indexOf(e.type) >= 0 + default: + return d + ? (r || ["click"]).indexOf(e.type) >= 0 + : (r || ["click"]).indexOf(e.type) >= 0 && + (T1.indexOf(v) > -1 || t.getAttribute("contenteditable") === "true") + } +} +function I1(t) { + for (var e = t; e.parentNode && !qd(e, "body"); e = e.parentNode) { + var n = Aw(e) + if (Rn(n, "ph-sensitive") || Rn(n, "ph-no-capture")) return !1 + } + if (Rn(Aw(t), "ph-include")) return !0 + var o = t.type || "" + if (pr(o)) + switch (o.toLowerCase()) { + case "hidden": + case "password": + return !1 + } + var r = t.name || t.id || "" + return !( + pr(r) && + /^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test( + r.replace(/[^a-zA-Z0-9]/g, ""), + ) + ) +} +function set(t) { + return !!( + (qd(t, "input") && !["button", "checkbox", "submit", "reset"].includes(t.type)) || + qd(t, "select") || + qd(t, "textarea") || + t.getAttribute("contenteditable") === "true" + ) +} +var aet = + "(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})", + LCt = new RegExp("^(?:" + aet + ")$"), + DCt = new RegExp(aet), + cet = "\\d{3}-?\\d{2}-?\\d{4}", + NCt = new RegExp("^(" + cet + ")$"), + OCt = new RegExp("(" + cet + ")") +function Uh(t, e) { + return ( + e === void 0 && (e = !0), + !( + Hn(t) || + (pr(t) && ((t = O_(t)), (e ? LCt : DCt).test((t || "").replace(/[- ]/g, "")) || (e ? NCt : OCt).test(t))) + ) + ) +} +function det(t) { + var e = q_(t) + return Uh((e = (e + " " + uet(t)).trim())) ? e : "" +} +function uet(t) { + var e = "" + return ( + t && + t.childNodes && + t.childNodes.length && + po(t.childNodes, function (n) { + var o + if (n && ((o = n.tagName) == null ? void 0 : o.toLowerCase()) === "span") + try { + var r = q_(n) + ;(e = (e + " " + r).trim()), + n.childNodes && n.childNodes.length && (e = (e + " " + uet(n)).trim()) + } catch (i) { + St.error("[AutoCapture]", i) + } + }), + e + ) +} +function FCt(t) { + return (function (e) { + var n = e.map((o) => { + var r, + i, + s = "" + if ((o.tag_name && (s += o.tag_name), o.attr_class)) + for (var a of (o.attr_class.sort(), o.attr_class)) s += "." + a.replace(/"/g, "") + var c = mt( + {}, + o.text ? { text: o.text } : {}, + { + "nth-child": (r = o.nth_child) !== null && r !== void 0 ? r : 0, + "nth-of-type": (i = o.nth_of_type) !== null && i !== void 0 ? i : 0, + }, + o.href ? { href: o.href } : {}, + o.attr_id ? { attr_id: o.attr_id } : {}, + o.attributes, + ), + d = {} + return ( + kx(c) + .sort((u, m) => { + var [f] = u, + [g] = m + return f.localeCompare(g) + }) + .forEach((u) => { + var [m, f] = u + return (d[jO(m.toString())] = jO(f.toString())) + }), + (s += ":"), + (s += kx(c) + .map((u) => { + var [m, f] = u + return m + '="' + f + '"' + }) + .join("")) + ) + }) + return n.join(";") + })( + (function (e) { + return e.map((n) => { + var o, + r, + i = { + text: (o = n.$el_text) == null ? void 0 : o.slice(0, 400), + tag_name: n.tag_name, + href: (r = n.attr__href) == null ? void 0 : r.slice(0, 2048), + attr_class: BCt(n), + attr_id: n.attr__id, + nth_child: n.nth_child, + nth_of_type: n.nth_of_type, + attributes: {}, + } + return ( + kx(n) + .filter((s) => { + var [a] = s + return a.indexOf("attr__") === 0 + }) + .forEach((s) => { + var [a, c] = s + return (i.attributes[a] = c) + }), + i + ) + }) + })(t), + ) +} +function jO(t) { + return t.replace(/"|\\"/g, '\\"') +} +function BCt(t) { + var e = t.attr__class + return e ? (Yo(e) ? e : Xj(e)) : void 0 +} +class pet { + constructor() { + this.clicks = [] + } + isRageClick(e, n, o) { + var r = this.clicks[this.clicks.length - 1] + if (r && Math.abs(e - r.x) + Math.abs(n - r.y) < 30 && o - r.timestamp < 1e3) { + if ((this.clicks.push({ x: e, y: n, timestamp: o }), this.clicks.length === 3)) return !0 + } else this.clicks = [{ x: e, y: n, timestamp: o }] + return !1 + } +} +var UCt = ["localhost", "127.0.0.1"], + qh = (t) => { + var e = ht == null ? void 0 : ht.createElement("a") + return at(e) ? null : ((e.href = t), e) + }, + qCt = function (t, e) { + var n, o + e === void 0 && (e = "&") + var r = [] + return ( + po(t, function (i, s) { + at(i) || + at(s) || + s === "undefined" || + ((n = encodeURIComponent(((a) => a instanceof File)(i) ? i.name : i.toString())), + (o = encodeURIComponent(s)), + (r[r.length] = o + "=" + n)) + }), + r.join(e) + ) + }, + Pw = function (t, e) { + for ( + var n, o = ((t.split("#")[0] || "").split(/\?(.*)/)[1] || "").replace(/^\?+/g, "").split("&"), r = 0; + r < o.length; + r++ + ) { + var i = o[r].split("=") + if (i[0] === e) { + n = i + break + } + } + if (!Yo(n) || n.length < 2) return "" + var s = n[1] + try { + s = decodeURIComponent(s) + } catch { + St.error("Skipping decoding for malformed query param: " + s) + } + return s.replace(/\+/g, " ") + }, + Jj = function (t, e, n) { + if (!t || !e || !e.length) return t + for ( + var o = t.split("#"), + r = o[0] || "", + i = o[1], + s = r.split("?"), + a = s[1], + c = s[0], + d = (a || "").split("&"), + u = [], + m = 0; + m < d.length; + m++ + ) { + var f = d[m].split("=") + Yo(f) && (e.includes(f[0]) ? u.push(f[0] + "=" + n) : u.push(d[m])) + } + var g = c + return a != null && (g += "?" + u.join("&")), i != null && (g += "#" + i), g + }, + Rw = function (t, e) { + var n = t.match(new RegExp(e + "=([^&]*)")) + return n ? n[1] : null + }, + EO = ki("[AutoCapture]") +function sA(t, e) { + return e.length > t ? e.slice(0, t) + "..." : e +} +function WCt(t) { + if (t.previousElementSibling) return t.previousElementSibling + var e = t + do e = e.previousSibling + while (e && !U_(e)) + return e +} +function KCt(t, e, n, o) { + var r = t.tagName.toLowerCase(), + i = { tag_name: r } + T1.indexOf(r) > -1 && + !n && + (r.toLowerCase() === "a" || r.toLowerCase() === "button" + ? (i.$el_text = sA(1024, det(t))) + : (i.$el_text = sA(1024, q_(t)))) + var s = Aw(t) + s.length > 0 && + (i.classes = s.filter(function (u) { + return u !== "" + })), + po(t.attributes, function (u) { + var m + if ( + (!set(t) || ["name", "id", "class", "aria-label"].indexOf(u.name) !== -1) && + (o == null || !o.includes(u.name)) && + !e && + Uh(u.value) && + ((m = u.name), !pr(m) || (m.substring(0, 10) !== "_ngcontent" && m.substring(0, 7) !== "_nghost")) + ) { + var f = u.value + u.name === "class" && (f = Xj(f).join(" ")), (i["attr__" + u.name] = sA(1024, f)) + } + }) + for (var a = 1, c = 1, d = t; (d = WCt(d)); ) a++, d.tagName === t.tagName && c++ + return (i.nth_child = a), (i.nth_of_type = c), i +} +function VCt(t, e) { + for ( + var n, + o, + { + e: r, + maskAllElementAttributes: i, + maskAllText: s, + elementAttributeIgnoreList: a, + elementsChainAsString: c, + } = e, + d = [t], + u = t; + u.parentNode && !qd(u, "body"); + + ) + net(u.parentNode) + ? (d.push(u.parentNode.host), (u = u.parentNode.host)) + : (d.push(u.parentNode), (u = u.parentNode)) + var m, + f = [], + g = {}, + b = !1, + v = !1 + if ( + (po(d, (S) => { + var P = I1(S) + S.tagName.toLowerCase() === "a" && ((b = S.getAttribute("href")), (b = P && b && Uh(b) && b)), + Rn(Aw(S), "ph-no-capture") && (v = !0), + f.push(KCt(S, i, s, a)) + var R = (function (T) { + if (!I1(T)) return {} + var E = {} + return ( + po(T.attributes, function ($) { + if ($.name && $.name.indexOf("data-ph-capture-attribute") === 0) { + var j = $.name.replace("data-ph-capture-attribute-", ""), + L = $.value + j && L && Uh(L) && (E[j] = L) + } + }), + E + ) + })(S) + cr(g, R) + }), + v) + ) + return { props: {}, explicitNoCapture: v } + if ( + (s || + (t.tagName.toLowerCase() === "a" || t.tagName.toLowerCase() === "button" + ? (f[0].$el_text = det(t)) + : (f[0].$el_text = q_(t))), + b) + ) { + var w, _ + f[0].attr__href = b + var y = (w = qh(b)) == null ? void 0 : w.host, + C = ke == null || (_ = ke.location) == null ? void 0 : _.host + y && C && y !== C && (m = b) + } + return { + props: cr( + { $event_type: r.type, $ce_version: 1 }, + c ? {} : { $elements: f }, + { $elements_chain: FCt(f) }, + (n = f[0]) != null && n.$el_text ? { $el_text: (o = f[0]) == null ? void 0 : o.$el_text } : {}, + m && r.type === "click" ? { $external_click_url: m } : {}, + g, + ), + } +} +class HCt { + constructor(e) { + ;(this.i = !1), + (this.o = null), + (this.rageclicks = new pet()), + (this.h = !1), + (this.instance = e), + (this.m = null) + } + get S() { + var e, + n, + o = Xo(this.instance.config.autocapture) ? this.instance.config.autocapture : {} + return ( + (o.url_allowlist = (e = o.url_allowlist) == null ? void 0 : e.map((r) => new RegExp(r))), + (o.url_ignorelist = (n = o.url_ignorelist) == null ? void 0 : n.map((r) => new RegExp(r))), + o + ) + } + $() { + if (this.isBrowserSupported()) { + if (ke && ht) { + var e = (o) => { + o = o || (ke == null ? void 0 : ke.event) + try { + this.k(o) + } catch (r) { + EO.error("Failed to capture event", r) + } + } + if ( + (Ko(ht, "submit", e, { capture: !0 }), + Ko(ht, "change", e, { capture: !0 }), + Ko(ht, "click", e, { capture: !0 }), + this.S.capture_copied_text) + ) { + var n = (o) => { + ;(o = o || (ke == null ? void 0 : ke.event)), this.k(o, iA) + } + Ko(ht, "copy", n, { capture: !0 }), Ko(ht, "cut", n, { capture: !0 }) + } + } + } else EO.info("Disabling Automatic Event Collection because this browser is not supported") + } + startIfEnabled() { + this.isEnabled && !this.i && (this.$(), (this.i = !0)) + } + onRemoteConfig(e) { + e.elementsChainAsString && (this.h = e.elementsChainAsString), + this.instance.persistence && this.instance.persistence.register({ [bO]: !!e.autocapture_opt_out }), + (this.o = !!e.autocapture_opt_out), + this.startIfEnabled() + } + setElementSelectors(e) { + this.m = e + } + getElementSelectors(e) { + var n, + o = [] + return ( + (n = this.m) == null || + n.forEach((r) => { + var i = ht == null ? void 0 : ht.querySelectorAll(r) + i == null || + i.forEach((s) => { + e === s && o.push(r) + }) + }), + o + ) + } + get isEnabled() { + var e, + n, + o = (e = this.instance.persistence) == null ? void 0 : e.props[bO], + r = this.o + if (au(r) && !wc(o) && !this.instance.config.advanced_disable_decide) return !1 + var i = (n = this.o) !== null && n !== void 0 ? n : !!o + return !!this.instance.config.autocapture && !i + } + k(e, n) { + if ((n === void 0 && (n = "$autocapture"), this.isEnabled)) { + var o, + r = ret(e) + tet(r) && (r = r.parentNode || null), + n === "$autocapture" && + e.type === "click" && + e instanceof MouseEvent && + this.instance.config.rageclick && + (o = this.rageclicks) != null && + o.isRageClick(e.clientX, e.clientY, new Date().getTime()) && + this.k(e, "$rageclick") + var i = n === iA + if (r && $Ct(r, e, this.S, i, i ? ["copy", "cut"] : void 0)) { + var { props: s, explicitNoCapture: a } = VCt(r, { + e, + maskAllElementAttributes: this.instance.config.mask_all_element_attributes, + maskAllText: this.instance.config.mask_all_text, + elementAttributeIgnoreList: this.S.element_attribute_ignorelist, + elementsChainAsString: this.h, + }) + if (a) return !1 + var c = this.getElementSelectors(r) + if ((c && c.length > 0 && (s.$element_selectors = c), n === iA)) { + var d, + u = oet(ke == null || (d = ke.getSelection()) == null ? void 0 : d.toString()), + m = e.type || "clipboard" + if (!u) return !1 + ;(s.$selected_content = u), (s.$copy_type = m) + } + return this.instance.capture(n, s), !0 + } + } + } + isBrowserSupported() { + return da(ht == null ? void 0 : ht.querySelectorAll) + } +} +Math.trunc || + (Math.trunc = function (t) { + return t < 0 ? Math.ceil(t) : Math.floor(t) + }), + Number.isInteger || + (Number.isInteger = function (t) { + return di(t) && isFinite(t) && Math.floor(t) === t + }) +var zO = "0123456789abcdef" +class Tw { + constructor(e) { + if (((this.bytes = e), e.length !== 16)) throw new TypeError("not 128-bit length") + } + static fromFieldsV7(e, n, o, r) { + if ( + !Number.isInteger(e) || + !Number.isInteger(n) || + !Number.isInteger(o) || + !Number.isInteger(r) || + e < 0 || + n < 0 || + o < 0 || + r < 0 || + e > 0xffffffffffff || + n > 4095 || + o > 1073741823 || + r > 4294967295 + ) + throw new RangeError("invalid field value") + var i = new Uint8Array(16) + return ( + (i[0] = e / Math.pow(2, 40)), + (i[1] = e / Math.pow(2, 32)), + (i[2] = e / Math.pow(2, 24)), + (i[3] = e / Math.pow(2, 16)), + (i[4] = e / Math.pow(2, 8)), + (i[5] = e), + (i[6] = 112 | (n >>> 8)), + (i[7] = n), + (i[8] = 128 | (o >>> 24)), + (i[9] = o >>> 16), + (i[10] = o >>> 8), + (i[11] = o), + (i[12] = r >>> 24), + (i[13] = r >>> 16), + (i[14] = r >>> 8), + (i[15] = r), + new Tw(i) + ) + } + toString() { + for (var e = "", n = 0; n < this.bytes.length; n++) + (e = e + zO.charAt(this.bytes[n] >>> 4) + zO.charAt(15 & this.bytes[n])), + (n !== 3 && n !== 5 && n !== 7 && n !== 9) || (e += "-") + if (e.length !== 36) throw new Error("Invalid UUIDv7 was generated") + return e + } + clone() { + return new Tw(this.bytes.slice(0)) + } + equals(e) { + return this.compareTo(e) === 0 + } + compareTo(e) { + for (var n = 0; n < 16; n++) { + var o = this.bytes[n] - e.bytes[n] + if (o !== 0) return Math.sign(o) + } + return 0 + } +} +class GCt { + constructor() { + ;(this.I = 0), (this.P = 0), (this.R = new QCt()) + } + generate() { + var e = this.generateOrAbort() + if (at(e)) { + this.I = 0 + var n = this.generateOrAbort() + if (at(n)) throw new Error("Could not generate UUID after timestamp reset") + return n + } + return e + } + generateOrAbort() { + var e = Date.now() + if (e > this.I) (this.I = e), this.T() + else { + if (!(e + 1e4 > this.I)) return + this.P++, this.P > 4398046511103 && (this.I++, this.T()) + } + return Tw.fromFieldsV7( + this.I, + Math.trunc(this.P / Math.pow(2, 30)), + this.P & (Math.pow(2, 30) - 1), + this.R.nextUint32(), + ) + } + T() { + this.P = 1024 * this.R.nextUint32() + (1023 & this.R.nextUint32()) + } +} +var $O, + met = (t) => { + if (typeof UUIDV7_DENY_WEAK_RNG < "u" && UUIDV7_DENY_WEAK_RNG) + throw new Error("no cryptographically strong RNG available") + for (var e = 0; e < t.length; e++) + t[e] = 65536 * Math.trunc(65536 * Math.random()) + Math.trunc(65536 * Math.random()) + return t + } +ke && !at(ke.crypto) && crypto.getRandomValues && (met = (t) => crypto.getRandomValues(t)) +class QCt { + constructor() { + ;(this.M = new Uint32Array(8)), (this.C = 1 / 0) + } + nextUint32() { + return this.C >= this.M.length && (met(this.M), (this.C = 0)), this.M[this.C++] + } +} +var Fd = () => ZCt().toString(), + ZCt = () => ($O || ($O = new GCt())).generate(), + YCt = "Thu, 01 Jan 1970 00:00:00 GMT", + jg = "", + XCt = /[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i +function JCt(t, e) { + if (e) { + var n = (function (r, i) { + if ((i === void 0 && (i = ht), jg)) return jg + if (!i || ["localhost", "127.0.0.1"].includes(r)) return "" + for ( + var s = r.split("."), + a = Math.min(s.length, 8), + c = "dmn_chk_" + Fd(), + d = new RegExp("(^|;)\\s*" + c + "=1"); + !jg && a--; + + ) { + var u = s.slice(a).join("."), + m = c + "=1;domain=." + u + ;(i.cookie = m), d.test(i.cookie) && ((i.cookie = m + ";expires=" + YCt), (jg = u)) + } + return jg + })(t) + if (!n) { + var o = ((r) => { + var i = r.match(XCt) + return i ? i[0] : "" + })(t) + o !== n && St.info("Warning: cookie subdomain discovery mismatch", o, n), (n = o) + } + return n ? "; domain=." + n : "" + } + return "" +} +var Rd, + Ac = { + O: () => !!ht, + F: function (t) { + St.error("cookieStore error: " + t) + }, + A: function (t) { + if (ht) { + try { + for (var e = t + "=", n = ht.cookie.split(";").filter((i) => i.length), o = 0; o < n.length; o++) { + for (var r = n[o]; r.charAt(0) == " "; ) r = r.substring(1, r.length) + if (r.indexOf(e) === 0) return decodeURIComponent(r.substring(e.length, r.length)) + } + } catch {} + return null + } + }, + D: function (t) { + var e + try { + e = JSON.parse(Ac.A(t)) || {} + } catch {} + return e + }, + j: function (t, e, n, o, r) { + if (ht) + try { + var i = "", + s = "", + a = JCt(ht.location.hostname, o) + if (n) { + var c = new Date() + c.setTime(c.getTime() + 24 * n * 60 * 60 * 1e3), (i = "; expires=" + c.toUTCString()) + } + r && (s = "; secure") + var d = t + "=" + encodeURIComponent(JSON.stringify(e)) + i + "; SameSite=Lax; path=/" + a + s + return ( + d.length > 3686.4 && St.warn("cookieStore warning: large cookie, len=" + d.length), + (ht.cookie = d), + d + ) + } catch { + return + } + }, + L: function (t, e) { + try { + Ac.j(t, "", -1, e) + } catch { + return + } + }, + }, + aA = null, + kr = { + O: function () { + if (!au(aA)) return aA + var t = !0 + if (at(ke)) t = !1 + else + try { + var e = "__mplssupport__" + kr.j(e, "xyz"), kr.A(e) !== '"xyz"' && (t = !1), kr.L(e) + } catch { + t = !1 + } + return t || St.error("localStorage unsupported; falling back to cookie store"), (aA = t), t + }, + F: function (t) { + St.error("localStorage error: " + t) + }, + A: function (t) { + try { + return ke == null ? void 0 : ke.localStorage.getItem(t) + } catch (e) { + kr.F(e) + } + return null + }, + D: function (t) { + try { + return JSON.parse(kr.A(t)) || {} + } catch {} + return null + }, + j: function (t, e) { + try { + ke == null || ke.localStorage.setItem(t, JSON.stringify(e)) + } catch (n) { + kr.F(n) + } + }, + L: function (t) { + try { + ke == null || ke.localStorage.removeItem(t) + } catch (e) { + kr.F(e) + } + }, + }, + e0t = ["distinct_id", ww, rv, Sw, Cw], + xk = mt({}, kr, { + D: function (t) { + try { + var e = {} + try { + e = Ac.D(t) || {} + } catch {} + var n = cr(e, JSON.parse(kr.A(t) || "{}")) + return kr.j(t, n), n + } catch {} + return null + }, + j: function (t, e, n, o, r, i) { + try { + kr.j(t, e, void 0, void 0, i) + var s = {} + e0t.forEach((a) => { + e[a] && (s[a] = e[a]) + }), + Object.keys(s).length && Ac.j(t, s, n, o, r, i) + } catch (a) { + kr.F(a) + } + }, + L: function (t, e) { + try { + ke == null || ke.localStorage.removeItem(t), Ac.L(t, e) + } catch (n) { + kr.F(n) + } + }, + }), + wk = {}, + t0t = { + O: function () { + return !0 + }, + F: function (t) { + St.error("memoryStorage error: " + t) + }, + A: function (t) { + return wk[t] || null + }, + D: function (t) { + return wk[t] || null + }, + j: function (t, e) { + wk[t] = e + }, + L: function (t) { + delete wk[t] + }, + }, + Uu = null, + Wr = { + O: function () { + if (!au(Uu)) return Uu + if (((Uu = !0), at(ke))) Uu = !1 + else + try { + var t = "__support__" + Wr.j(t, "xyz"), Wr.A(t) !== '"xyz"' && (Uu = !1), Wr.L(t) + } catch { + Uu = !1 + } + return Uu + }, + F: function (t) { + St.error("sessionStorage error: ", t) + }, + A: function (t) { + try { + return ke == null ? void 0 : ke.sessionStorage.getItem(t) + } catch (e) { + Wr.F(e) + } + return null + }, + D: function (t) { + try { + return JSON.parse(Wr.A(t)) || null + } catch {} + return null + }, + j: function (t, e) { + try { + ke == null || ke.sessionStorage.setItem(t, JSON.stringify(e)) + } catch (n) { + Wr.F(n) + } + }, + L: function (t) { + try { + ke == null || ke.sessionStorage.removeItem(t) + } catch (e) { + Wr.F(e) + } + }, + } +;(function (t) { + ;(t[(t.PENDING = -1)] = "PENDING"), (t[(t.DENIED = 0)] = "DENIED"), (t[(t.GRANTED = 1)] = "GRANTED") +})(Rd || (Rd = {})) +class n0t { + constructor(e) { + this._instance = e + } + get S() { + return this._instance.config + } + get consent() { + return this.N() ? Rd.DENIED : this.U + } + isOptedOut() { + return this.consent === Rd.DENIED || (this.consent === Rd.PENDING && this.S.opt_out_capturing_by_default) + } + isOptedIn() { + return !this.isOptedOut() + } + optInOut(e) { + this.q.j(this.B, e ? 1 : 0, this.S.cookie_expiration, this.S.cross_subdomain_cookie, this.S.secure_cookie) + } + reset() { + this.q.L(this.B, this.S.cross_subdomain_cookie) + } + get B() { + var { token: e, opt_out_capturing_cookie_prefix: n } = this._instance.config + return (n || "__ph_opt_in_out_") + e + } + get U() { + var e = this.q.A(this.B) + return e === "1" ? Rd.GRANTED : e === "0" ? Rd.DENIED : Rd.PENDING + } + get q() { + if (!this.H) { + var e = this.S.opt_out_capturing_persistence_type + this.H = e === "localStorage" ? kr : Ac + var n = e === "localStorage" ? Ac : kr + n.A(this.B) && + (this.H.A(this.B) || this.optInOut(n.A(this.B) === "1"), n.L(this.B, this.S.cross_subdomain_cookie)) + } + return this.H + } + N() { + return ( + !!this.S.respect_dnt && + !!YJe([Ns == null ? void 0 : Ns.doNotTrack, Ns == null ? void 0 : Ns.msDoNotTrack, hn.doNotTrack], (e) => + Rn([!0, 1, "1", "yes"], e), + ) + ) + } +} +var _k = ki("[Dead Clicks]"), + o0t = () => !0, + r0t = (t) => { + var e, + n = !((e = t.instance.persistence) == null || !e.get_property(JJe)), + o = t.instance.config.capture_dead_clicks + return wc(o) ? o : n + } +let het = class { + get lazyLoadedDeadClicksAutocapture() { + return this.W + } + constructor(e, n, o) { + ;(this.instance = e), (this.isEnabled = n), (this.onCapture = o), this.startIfEnabled() + } + onRemoteConfig(e) { + this.instance.persistence && + this.instance.persistence.register({ [JJe]: e == null ? void 0 : e.captureDeadClicks }), + this.startIfEnabled() + } + startIfEnabled() { + this.isEnabled(this) && + this.G(() => { + this.J() + }) + } + G(e) { + var n, o + ;(n = hn.__PosthogExtensions__) != null && n.initDeadClicksAutocapture && e(), + (o = hn.__PosthogExtensions__) == null || + o.loadExternalDependency == null || + o.loadExternalDependency(this.instance, "dead-clicks-autocapture", (r) => { + r ? _k.error("failed to load script", r) : e() + }) + } + J() { + var e + if (ht) { + if (!this.W && (e = hn.__PosthogExtensions__) != null && e.initDeadClicksAutocapture) { + var n = Xo(this.instance.config.capture_dead_clicks) ? this.instance.config.capture_dead_clicks : {} + ;(n.__onCapture = this.onCapture), + (this.W = hn.__PosthogExtensions__.initDeadClicksAutocapture(this.instance, n)), + this.W.start(ht), + _k.info("starting...") + } + } else _k.error("`document` not found. Cannot start.") + } + stop() { + this.W && (this.W.stop(), (this.W = void 0), _k.info("stopping...")) + } +} +var lA = ki("[ExceptionAutocapture]") +let i0t = class { + constructor(e) { + var n + ;(this.V = () => { + var o + if (ke && this.isEnabled && (o = hn.__PosthogExtensions__) != null && o.errorWrappingFunctions) { + var r = hn.__PosthogExtensions__.errorWrappingFunctions.wrapOnError, + i = hn.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection, + s = hn.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError + try { + !this.K && this.S.capture_unhandled_errors && (this.K = r(this.captureException.bind(this))), + !this.Y && + this.S.capture_unhandled_rejections && + (this.Y = i(this.captureException.bind(this))), + !this.X && this.S.capture_console_errors && (this.X = s(this.captureException.bind(this))) + } catch (a) { + lA.error("failed to start", a), this.Z() + } + } + }), + (this._instance = e), + (this.tt = !((n = this._instance.persistence) == null || !n.props[yO])), + (this.S = this.it()), + this.startIfEnabled() + } + it() { + var e = this._instance.config.capture_exceptions, + n = { capture_unhandled_errors: !1, capture_unhandled_rejections: !1, capture_console_errors: !1 } + return ( + Xo(e) + ? (n = mt({}, n, e)) + : (at(e) ? this.tt : e) && + (n = mt({}, n, { capture_unhandled_errors: !0, capture_unhandled_rejections: !0 })), + n + ) + } + get isEnabled() { + return this.S.capture_console_errors || this.S.capture_unhandled_errors || this.S.capture_unhandled_rejections + } + startIfEnabled() { + this.isEnabled && (lA.info("enabled"), this.G(this.V)) + } + G(e) { + var n, o + ;(n = hn.__PosthogExtensions__) != null && n.errorWrappingFunctions && e(), + (o = hn.__PosthogExtensions__) == null || + o.loadExternalDependency == null || + o.loadExternalDependency(this._instance, "exception-autocapture", (r) => { + if (r) return lA.error("failed to load script", r) + e() + }) + } + Z() { + var e, n, o + ;(e = this.K) == null || e.call(this), + (this.K = void 0), + (n = this.Y) == null || n.call(this), + (this.Y = void 0), + (o = this.X) == null || o.call(this), + (this.X = void 0) + } + onRemoteConfig(e) { + var n = e.autocaptureExceptions + ;(this.tt = !!n || !1), + (this.S = this.it()), + this._instance.persistence && this._instance.persistence.register({ [yO]: this.tt }), + this.startIfEnabled() + } + captureException(e) { + var n = this._instance.requestRouter.endpointFor("ui") + ;(e.$exception_personURL = + n + "/project/" + this._instance.config.token + "/person/" + this._instance.get_distinct_id()), + this._instance.exceptions.sendExceptionEvent(e) + } +} +function fet(t) { + return !at(Event) && get(t, Event) +} +function get(t, e) { + try { + return t instanceof e + } catch { + return !1 + } +} +function vet(t) { + switch (Object.prototype.toString.call(t)) { + case "[object Error]": + case "[object Exception]": + case "[object DOMException]": + case "[object DOMError]": + return !0 + default: + return get(t, Error) + } +} +function wx(t, e) { + return Object.prototype.toString.call(t) === "[object " + e + "]" +} +function cA(t) { + return wx(t, "DOMError") +} +var LO = /\(error: (.*)\)/, + DO = 50, + Ym = "?" +function dA(t, e, n, o) { + var r = { platform: "web:javascript", filename: t, function: e === "<anonymous>" ? Ym : e, in_app: !0 } + return at(n) || (r.lineno = n), at(o) || (r.colno = o), r +} +var s0t = /^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i, + a0t = + /^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, + l0t = /\((\S*)(?::(\d+))(?::(\d+))\)/, + c0t = + /^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i, + d0t = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, + u0t = (function () { + for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n] + var o = e.sort((r, i) => r[0] - i[0]).map((r) => r[1]) + return function (r, i) { + i === void 0 && (i = 0) + for ( + var s = [], + a = r.split(` +`), + c = i; + c < a.length; + c++ + ) { + var d = a[c] + if (!(d.length > 1024)) { + var u = LO.test(d) ? d.replace(LO, "$1") : d + if (!u.match(/\S*Error: /)) { + for (var m of o) { + var f = m(u) + if (f) { + s.push(f) + break + } + } + if (s.length >= DO) break + } + } + } + return (function (g) { + if (!g.length) return [] + var b = Array.from(g) + return ( + b.reverse(), + b + .slice(0, DO) + .map((v) => mt({}, v, { filename: v.filename || p0t(b).filename, function: v.function || Ym })) + ) + })(s) + } + })( + [ + 30, + (t) => { + var e = s0t.exec(t) + if (e) { + var [, n, o, r] = e + return dA(n, Ym, +o, +r) + } + var i = a0t.exec(t) + if (i) { + if (i[2] && i[2].indexOf("eval") === 0) { + var s = l0t.exec(i[2]) + s && ((i[2] = s[1]), (i[3] = s[2]), (i[4] = s[3])) + } + var [a, c] = OO(i[1] || Ym, i[2]) + return dA(c, a, i[3] ? +i[3] : void 0, i[4] ? +i[4] : void 0) + } + }, + ], + [ + 50, + (t) => { + var e = c0t.exec(t) + if (e) { + if (e[3] && e[3].indexOf(" > eval") > -1) { + var n = d0t.exec(e[3]) + n && ((e[1] = e[1] || "eval"), (e[3] = n[1]), (e[4] = n[2]), (e[5] = "")) + } + var o = e[3], + r = e[1] || Ym + return ([r, o] = OO(r, o)), dA(o, r, e[4] ? +e[4] : void 0, e[5] ? +e[5] : void 0) + } + }, + ], + ) +function p0t(t) { + return t[t.length - 1] || {} +} +var Ck, + NO, + uA, + OO = (t, e) => { + var n = t.indexOf("safari-extension") !== -1, + o = t.indexOf("safari-web-extension") !== -1 + return n || o + ? [t.indexOf("@") !== -1 ? t.split("@")[0] : Ym, n ? "safari-extension:" + e : "safari-web-extension:" + e] + : [t, e] + }, + m0t = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i +function eE(t, e) { + e === void 0 && (e = 0) + var n = t.stacktrace || t.stack || "", + o = (function (s) { + return s && h0t.test(s.message) ? 1 : 0 + })(t) + try { + var r = u0t, + i = (function (s, a) { + var c = (function (d) { + var u = globalThis._posthogChunkIds + if (!u) return {} + var m = Object.keys(u) + return ( + (uA && m.length === NO) || + ((NO = m.length), + (uA = m.reduce((f, g) => { + Ck || (Ck = {}) + var b = Ck[g] + if (b) f[b[0]] = b[1] + else + for (var v = d(g), w = v.length - 1; w >= 0; w--) { + var _ = v[w], + y = _ == null ? void 0 : _.filename, + C = u[g] + if (y && C) { + ;(f[y] = C), (Ck[g] = [y, C]) + break + } + } + return f + }, {}))), + uA + ) + })(a) + return ( + s.forEach((d) => { + d.filename && (d.chunk_id = c[d.filename]) + }), + s + ) + })(r(n, o), r) + return i.slice(0, i.length - e) + } catch {} + return [] +} +var h0t = /Minified React error #\d+;/i +function f0t(t, e) { + var n, + o, + r = eE(t), + i = (n = e == null ? void 0 : e.handled) === null || n === void 0 || n, + s = (o = e == null ? void 0 : e.synthetic) !== null && o !== void 0 && o + return { + type: e != null && e.overrideExceptionType ? e.overrideExceptionType : t.name, + value: (function (a) { + var c = a.message + return c.error && typeof c.error.message == "string" ? String(c.error.message) : String(c) + })(t), + stacktrace: { frames: r, type: "raw" }, + mechanism: { handled: i, synthetic: s }, + } +} +function bet(t, e) { + var n = f0t(t, e) + return t.cause && vet(t.cause) && t.cause !== t + ? [n, ...bet(t.cause, { handled: e == null ? void 0 : e.handled, synthetic: e == null ? void 0 : e.synthetic })] + : [n] +} +function pA(t, e) { + return { $exception_list: bet(t, e), $exception_level: "error" } +} +function mA(t, e) { + var n, + o, + r, + i = (n = e == null ? void 0 : e.handled) === null || n === void 0 || n, + s = (o = e == null ? void 0 : e.synthetic) === null || o === void 0 || o, + a = { + type: + e != null && e.overrideExceptionType + ? e.overrideExceptionType + : (r = e == null ? void 0 : e.defaultExceptionType) !== null && r !== void 0 + ? r + : "Error", + value: t || (e == null ? void 0 : e.defaultExceptionMessage), + mechanism: { handled: i, synthetic: s }, + } + if (e != null && e.syntheticException) { + var c = eE(e.syntheticException, 1) + c.length && (a.stacktrace = { frames: c, type: "raw" }) + } + return { $exception_list: [a], $exception_level: "error" } +} +function g0t(t) { + return pr(t) && !b1(t) && SCt.indexOf(t) >= 0 +} +function v0t(t, e) { + var n, + o, + r = (n = e == null ? void 0 : e.handled) === null || n === void 0 || n, + i = (o = e == null ? void 0 : e.synthetic) === null || o === void 0 || o, + s = e != null && e.overrideExceptionType ? e.overrideExceptionType : fet(t) ? t.constructor.name : "Error", + a = + "Non-Error 'exception' captured with keys: " + + (function (u, m) { + m === void 0 && (m = 40) + var f = Object.keys(u) + if ((f.sort(), !f.length)) return "[object has no keys]" + for (var g = f.length; g > 0; g--) { + var b = f.slice(0, g).join(", ") + if (!(b.length > m)) return g === f.length || b.length <= m ? b : b.slice(0, m) + "..." + } + return "" + })(t), + c = { type: s, value: a, mechanism: { handled: r, synthetic: i } } + if (e != null && e.syntheticException) { + var d = eE(e == null ? void 0 : e.syntheticException, 1) + d.length && (c.stacktrace = { frames: d, type: "raw" }) + } + return { $exception_list: [c], $exception_level: g0t(t.level) ? t.level : "error" } +} +function b0t(t, e) { + var { error: n, event: o } = t, + r = { $exception_list: [] }, + i = n || o + if ( + cA(i) || + (function (f) { + return wx(f, "DOMException") + })(i) + ) { + var s = i + if ( + (function (f) { + return "stack" in f + })(i) + ) + r = pA(i, e) + else { + var a = s.name || (cA(s) ? "DOMError" : "DOMException"), + c = s.message ? a + ": " + s.message : a + r = mA( + c, + mt({}, e, { overrideExceptionType: cA(s) ? "DOMError" : "DOMException", defaultExceptionMessage: c }), + ) + } + return "code" in s && (r.$exception_DOMException_code = "" + s.code), r + } + if ( + (function (f) { + return wx(f, "ErrorEvent") + })(i) && + i.error + ) + return pA(i.error, e) + if (vet(i)) return pA(i, e) + if ( + (function (f) { + return wx(f, "Object") + })(i) || + fet(i) + ) + return v0t(i, e) + if (at(n) && pr(o)) { + var d = "Error", + u = o, + m = o.match(m0t) + return m && ((d = m[1]), (u = m[2])), mA(u, mt({}, e, { overrideExceptionType: d, defaultExceptionMessage: u })) + } + return mA(i, e) +} +function FO(t, e, n) { + try { + if (!(e in t)) return () => {} + var o = t[e], + r = n(o) + return ( + da(r) && + ((r.prototype = r.prototype || {}), + Object.defineProperties(r, { __posthog_wrapped__: { enumerable: !1, value: !0 } })), + (t[e] = r), + () => { + t[e] = o + } + ) + } catch { + return () => {} + } +} +let y0t = class { + constructor(e) { + var n + ;(this._instance = e), (this.et = (ke == null || (n = ke.location) == null ? void 0 : n.pathname) || "") + } + get isEnabled() { + return this._instance.config.capture_pageview === "history_change" + } + startIfEnabled() { + this.isEnabled && (St.info("History API monitoring enabled, starting..."), this.monitorHistoryChanges()) + } + stop() { + this.rt && this.rt(), (this.rt = void 0), St.info("History API monitoring stopped") + } + monitorHistoryChanges() { + var e, n + if (ke && ke.history) { + var o = this + ;((e = ke.history.pushState) != null && e.__posthog_wrapped__) || + FO( + ke.history, + "pushState", + (r) => + function (i, s, a) { + r.call(this, i, s, a), o.st("pushState") + }, + ), + ((n = ke.history.replaceState) != null && n.__posthog_wrapped__) || + FO( + ke.history, + "replaceState", + (r) => + function (i, s, a) { + r.call(this, i, s, a), o.st("replaceState") + }, + ), + this.nt() + } + } + st(e) { + try { + var n, + o = ke == null || (n = ke.location) == null ? void 0 : n.pathname + if (!o) return + o !== this.et && this.isEnabled && this._instance.capture("$pageview", { navigation_type: e }), + (this.et = o) + } catch (r) { + St.error("Error capturing " + e + " pageview", r) + } + } + nt() { + if (!this.rt) { + var e = () => { + this.st("popstate") + } + Ko(ke, "popstate", e), + (this.rt = () => { + ke && ke.removeEventListener("popstate", e) + }) + } + } +} +function Iw(t) { + var e, n + return ( + ((e = JSON.stringify( + t, + ((n = []), + function (o, r) { + if (Xo(r)) { + for (; n.length > 0 && n[n.length - 1] !== this; ) n.pop() + return n.includes(r) ? "[Circular]" : (n.push(r), r) + } + return r + }), + )) == null + ? void 0 + : e.length) || 0 + ) +} +function M1(t, e) { + if ((e === void 0 && (e = 66060288e-1), t.size >= e && t.data.length > 1)) { + var n = Math.floor(t.data.length / 2), + o = t.data.slice(0, n), + r = t.data.slice(n) + return [ + M1({ size: Iw(o), data: o, sessionId: t.sessionId, windowId: t.windowId }), + M1({ size: Iw(r), data: r, sessionId: t.sessionId, windowId: t.windowId }), + ].flatMap((i) => i) + } + return [t] +} +var uc = ((t) => ( + (t[(t.DomContentLoaded = 0)] = "DomContentLoaded"), + (t[(t.Load = 1)] = "Load"), + (t[(t.FullSnapshot = 2)] = "FullSnapshot"), + (t[(t.IncrementalSnapshot = 3)] = "IncrementalSnapshot"), + (t[(t.Meta = 4)] = "Meta"), + (t[(t.Custom = 5)] = "Custom"), + (t[(t.Plugin = 6)] = "Plugin"), + t + ))(uc || {}), + La = ((t) => ( + (t[(t.Mutation = 0)] = "Mutation"), + (t[(t.MouseMove = 1)] = "MouseMove"), + (t[(t.MouseInteraction = 2)] = "MouseInteraction"), + (t[(t.Scroll = 3)] = "Scroll"), + (t[(t.ViewportResize = 4)] = "ViewportResize"), + (t[(t.Input = 5)] = "Input"), + (t[(t.TouchMove = 6)] = "TouchMove"), + (t[(t.MediaInteraction = 7)] = "MediaInteraction"), + (t[(t.StyleSheetRule = 8)] = "StyleSheetRule"), + (t[(t.CanvasMutation = 9)] = "CanvasMutation"), + (t[(t.Font = 10)] = "Font"), + (t[(t.Log = 11)] = "Log"), + (t[(t.Drag = 12)] = "Drag"), + (t[(t.StyleDeclaration = 13)] = "StyleDeclaration"), + (t[(t.Selection = 14)] = "Selection"), + (t[(t.AdoptedStyleSheet = 15)] = "AdoptedStyleSheet"), + (t[(t.CustomElement = 16)] = "CustomElement"), + t + ))(La || {}), + j1 = "[SessionRecording]", + E1 = "redacted", + Sk = { + initiatorTypes: [ + "audio", + "beacon", + "body", + "css", + "early-hint", + "embed", + "fetch", + "frame", + "iframe", + "icon", + "image", + "img", + "input", + "link", + "navigation", + "object", + "ping", + "script", + "track", + "video", + "xmlhttprequest", + ], + maskRequestFn: (t) => t, + recordHeaders: !1, + recordBody: !1, + recordInitialRequests: !1, + recordPerformance: !1, + performanceEntryTypeToObserve: ["first-input", "navigation", "paint", "resource"], + payloadSizeLimitBytes: 1e6, + payloadHostDenyList: [".lr-ingest.io", ".ingest.sentry.io", ".clarity.ms", "analytics.google.com"], + }, + k0t = [ + "authorization", + "x-forwarded-for", + "authorization", + "cookie", + "set-cookie", + "x-api-key", + "x-real-ip", + "remote-addr", + "forwarded", + "proxy-authorization", + "x-csrf-token", + "x-csrftoken", + "x-xsrf-token", + ], + x0t = [ + "password", + "secret", + "passwd", + "api_key", + "apikey", + "auth", + "credentials", + "mysql_pwd", + "privatekey", + "private_key", + "token", + ], + w0t = ["/s/", "/e/", "/i/"] +function BO(t, e, n, o) { + if (Hn(t)) return t + var r = + (e == null ? void 0 : e["content-length"]) || + (function (i) { + return new Blob([i]).size + })(t) + return pr(r) && (r = parseInt(r)), r > n ? j1 + " " + o + " body too large to record (" + r + " bytes)" : t +} +function UO(t, e) { + if (Hn(t)) return t + var n = t + return ( + Uh(n, !1) || (n = j1 + " " + e + " body " + E1), + po(x0t, (o) => { + var r, i + ;(r = n) != null && + r.length && + ((i = n) == null ? void 0 : i.indexOf(o)) !== -1 && + (n = j1 + " " + e + " body " + E1 + " as might contain: " + o) + }), + n + ) +} +var _0t = (t, e) => { + var n, + o, + r, + i = { + payloadSizeLimitBytes: Sk.payloadSizeLimitBytes, + performanceEntryTypeToObserve: [...Sk.performanceEntryTypeToObserve], + payloadHostDenyList: [...(e.payloadHostDenyList || []), ...Sk.payloadHostDenyList], + }, + s = t.session_recording.recordHeaders !== !1 && e.recordHeaders, + a = t.session_recording.recordBody !== !1 && e.recordBody, + c = t.capture_performance !== !1 && e.recordPerformance, + d = + ((n = i), + (r = Math.min(1e6, (o = n.payloadSizeLimitBytes) !== null && o !== void 0 ? o : 1e6)), + (f) => ( + f != null && f.requestBody && (f.requestBody = BO(f.requestBody, f.requestHeaders, r, "Request")), + f != null && f.responseBody && (f.responseBody = BO(f.responseBody, f.responseHeaders, r, "Response")), + f + )), + u = (f) => { + return d( + ((v, w) => { + var _, + y = qh(v.name), + C = w.indexOf("http") === 0 ? ((_ = qh(w)) == null ? void 0 : _.pathname) : w + C === "/" && (C = "") + var S = y == null ? void 0 : y.pathname.replace(C || "", "") + if (!(y && S && w0t.some((P) => S.indexOf(P) === 0))) return v + })( + ((b = (g = f).requestHeaders), + Hn(b) || + po(Object.keys(b ?? {}), (v) => { + k0t.includes(v.toLowerCase()) && (b[v] = E1) + }), + g), + t.api_host, + ), + ) + var g, b + }, + m = da(t.session_recording.maskNetworkRequestFn) + return ( + m && + da(t.session_recording.maskCapturedNetworkRequestFn) && + St.warn( + "Both `maskNetworkRequestFn` and `maskCapturedNetworkRequestFn` are defined. `maskNetworkRequestFn` will be ignored.", + ), + m && + (t.session_recording.maskCapturedNetworkRequestFn = (f) => { + var g = t.session_recording.maskNetworkRequestFn({ url: f.name }) + return mt({}, f, { name: g == null ? void 0 : g.url }) + }), + (i.maskRequestFn = da(t.session_recording.maskCapturedNetworkRequestFn) + ? (f) => { + var g, + b = u(f) + return b && + (g = + t.session_recording.maskCapturedNetworkRequestFn == null + ? void 0 + : t.session_recording.maskCapturedNetworkRequestFn(b)) !== null && + g !== void 0 + ? g + : void 0 + } + : (f) => + (function (g) { + if (!at(g)) + return ( + (g.requestBody = UO(g.requestBody, "Request")), + (g.responseBody = UO(g.responseBody, "Response")), + g + ) + })(u(f))), + mt({}, Sk, i, { recordHeaders: s, recordBody: a, recordPerformance: c, recordInitialRequests: c }) + ) +} +function aa(t, e, n, o, r) { + return ( + e > n && (St.warn("min cannot be greater than max."), (e = n)), + di(t) + ? t > n + ? (o && St.warn(o + " cannot be greater than max: " + n + ". Using max value instead."), n) + : t < e + ? (o && St.warn(o + " cannot be less than min: " + e + ". Using min value instead."), e) + : t + : (o && St.warn(o + " must be a number. using max or fallback. max: " + n + ", fallback: " + r), + aa(r || n, e, n, o)) + ) +} +let C0t = class { + constructor(e, n) { + var o, r + n === void 0 && (n = {}), + (this.ot = 100), + (this.lt = 10), + (this.ht = {}), + (this.ut = {}), + (this.dt = () => { + Object.keys(this.ht).forEach((i) => { + ;(this.ht[i] = this.ht[i] + this.lt), this.ht[i] >= this.ot && delete this.ht[i] + }) + }), + (this.vt = (i) => { + var s = this._rrweb.mirror.getNode(i) + if ((s == null ? void 0 : s.nodeName) !== "svg" && s instanceof Element) { + var a = s.closest("svg") + if (a) return [this._rrweb.mirror.getId(a), a] + } + return [i, s] + }), + (this.ct = (i) => { + var s, a, c, d, u, m, f, g + return ( + ((s = (a = i.removes) == null ? void 0 : a.length) !== null && s !== void 0 ? s : 0) + + ((c = (d = i.attributes) == null ? void 0 : d.length) !== null && c !== void 0 ? c : 0) + + ((u = (m = i.texts) == null ? void 0 : m.length) !== null && u !== void 0 ? u : 0) + + ((f = (g = i.adds) == null ? void 0 : g.length) !== null && f !== void 0 ? f : 0) + ) + }), + (this.throttleMutations = (i) => { + if (i.type !== 3 || i.data.source !== 0) return i + var s = i.data, + a = this.ct(s) + s.attributes && + (s.attributes = s.attributes.filter((d) => { + var u, + m, + f, + [g, b] = this.vt(d.id) + return this.ht[g] === 0 + ? !1 + : ((this.ht[g] = (u = this.ht[g]) !== null && u !== void 0 ? u : this.ot), + (this.ht[g] = Math.max(this.ht[g] - 1, 0)), + this.ht[g] === 0 && + (this.ut[g] || + ((this.ut[g] = !0), + (m = (f = this.ft).onBlockedNode) == null || m.call(f, g, b))), + d) + })) + var c = this.ct(s) + return c !== 0 || a === c ? i : void 0 + }), + (this._rrweb = e), + (this.ft = n), + (this.lt = aa( + (o = this.ft.refillRate) !== null && o !== void 0 ? o : this.lt, + 0, + 100, + "mutation throttling refill rate", + )), + (this.ot = aa( + (r = this.ft.bucketSize) !== null && r !== void 0 ? r : this.ot, + 0, + 100, + "mutation throttling bucket size", + )), + setInterval(() => { + this.dt() + }, 1e3) + } +} +var ua = Uint8Array, + is = Uint16Array, + Wh = Uint32Array, + tE = new ua([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0, 0]), + nE = new ua([ + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 0, 0, + ]), + qO = new ua([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), + yet = function (t, e) { + for (var n = new is(31), o = 0; o < 31; ++o) n[o] = e += 1 << t[o - 1] + var r = new Wh(n[30]) + for (o = 1; o < 30; ++o) for (var i = n[o]; i < n[o + 1]; ++i) r[i] = ((i - n[o]) << 5) | o + return [n, r] + }, + ket = yet(tE, 2), + S0t = ket[0], + z1 = ket[1] +;(S0t[28] = 258), (z1[258] = 28) +for (var WO = yet(nE, 0)[1], xet = new is(32768), To = 0; To < 32768; ++To) { + var qu = ((43690 & To) >>> 1) | ((21845 & To) << 1) + ;(qu = ((61680 & (qu = ((52428 & qu) >>> 2) | ((13107 & qu) << 2))) >>> 4) | ((3855 & qu) << 4)), + (xet[To] = (((65280 & qu) >>> 8) | ((255 & qu) << 8)) >>> 1) +} +var bv = function (t, e, n) { + for (var o = t.length, r = 0, i = new is(e); r < o; ++r) ++i[t[r] - 1] + var s, + a = new is(e) + for (r = 0; r < e; ++r) a[r] = (a[r - 1] + i[r - 1]) << 1 + for (s = new is(o), r = 0; r < o; ++r) s[r] = xet[a[t[r] - 1]++] >>> (15 - t[r]) + return s + }, + Ep = new ua(288) +for (To = 0; To < 144; ++To) Ep[To] = 8 +for (To = 144; To < 256; ++To) Ep[To] = 9 +for (To = 256; To < 280; ++To) Ep[To] = 7 +for (To = 280; To < 288; ++To) Ep[To] = 8 +var Mw = new ua(32) +for (To = 0; To < 32; ++To) Mw[To] = 5 +var A0t = bv(Ep, 9), + P0t = bv(Mw, 5), + wet = function (t) { + return ((t / 8) >> 0) + (7 & t && 1) + }, + _et = function (t, e, n) { + ;(n == null || n > t.length) && (n = t.length) + var o = new (t instanceof is ? is : t instanceof Wh ? Wh : ua)(n - e) + return o.set(t.subarray(e, n)), o + }, + ic = function (t, e, n) { + n <<= 7 & e + var o = (e / 8) >> 0 + ;(t[o] |= n), (t[o + 1] |= n >>> 8) + }, + Eg = function (t, e, n) { + n <<= 7 & e + var o = (e / 8) >> 0 + ;(t[o] |= n), (t[o + 1] |= n >>> 8), (t[o + 2] |= n >>> 16) + }, + hA = function (t, e) { + for (var n = [], o = 0; o < t.length; ++o) t[o] && n.push({ s: o, f: t[o] }) + var r = n.length, + i = n.slice() + if (!r) return [new ua(0), 0] + if (r == 1) { + var s = new ua(n[0].s + 1) + return (s[n[0].s] = 1), [s, 1] + } + n.sort(function (P, R) { + return P.f - R.f + }), + n.push({ s: -1, f: 25001 }) + var a = n[0], + c = n[1], + d = 0, + u = 1, + m = 2 + for (n[0] = { s: -1, f: a.f + c.f, l: a, r: c }; u != r - 1; ) + (a = n[n[d].f < n[m].f ? d++ : m++]), + (c = n[d != u && n[d].f < n[m].f ? d++ : m++]), + (n[u++] = { s: -1, f: a.f + c.f, l: a, r: c }) + var f = i[0].s + for (o = 1; o < r; ++o) i[o].s > f && (f = i[o].s) + var g = new is(f + 1), + b = $1(n[u - 1], g, 0) + if (b > e) { + o = 0 + var v = 0, + w = b - e, + _ = 1 << w + for ( + i.sort(function (P, R) { + return g[R.s] - g[P.s] || P.f - R.f + }); + o < r; + ++o + ) { + var y = i[o].s + if (!(g[y] > e)) break + ;(v += _ - (1 << (b - g[y]))), (g[y] = e) + } + for (v >>>= w; v > 0; ) { + var C = i[o].s + g[C] < e ? (v -= 1 << (e - g[C]++ - 1)) : ++o + } + for (; o >= 0 && v; --o) { + var S = i[o].s + g[S] == e && (--g[S], ++v) + } + b = e + } + return [new ua(g), b] + }, + $1 = function (t, e, n) { + return t.s == -1 ? Math.max($1(t.l, e, n + 1), $1(t.r, e, n + 1)) : (e[t.s] = n) + }, + KO = function (t) { + for (var e = t.length; e && !t[--e]; ); + for ( + var n = new is(++e), + o = 0, + r = t[0], + i = 1, + s = function (c) { + n[o++] = c + }, + a = 1; + a <= e; + ++a + ) + if (t[a] == r && a != e) ++i + else { + if (!r && i > 2) { + for (; i > 138; i -= 138) s(32754) + i > 2 && (s(i > 10 ? ((i - 11) << 5) | 28690 : ((i - 3) << 5) | 12305), (i = 0)) + } else if (i > 3) { + for (s(r), --i; i > 6; i -= 6) s(8304) + i > 2 && (s(((i - 3) << 5) | 8208), (i = 0)) + } + for (; i--; ) s(r) + ;(i = 1), (r = t[a]) + } + return [n.subarray(0, o), e] + }, + zg = function (t, e) { + for (var n = 0, o = 0; o < e.length; ++o) n += t[o] * e[o] + return n + }, + L1 = function (t, e, n) { + var o = n.length, + r = wet(e + 2) + ;(t[r] = 255 & o), (t[r + 1] = o >>> 8), (t[r + 2] = 255 ^ t[r]), (t[r + 3] = 255 ^ t[r + 1]) + for (var i = 0; i < o; ++i) t[r + i + 4] = n[i] + return 8 * (r + 4 + o) + }, + VO = function (t, e, n, o, r, i, s, a, c, d, u) { + ic(e, u++, n), ++r[256] + for ( + var m = hA(r, 15), + f = m[0], + g = m[1], + b = hA(i, 15), + v = b[0], + w = b[1], + _ = KO(f), + y = _[0], + C = _[1], + S = KO(v), + P = S[0], + R = S[1], + T = new is(19), + E = 0; + E < y.length; + ++E + ) + T[31 & y[E]]++ + for (E = 0; E < P.length; ++E) T[31 & P[E]]++ + for (var $ = hA(T, 7), j = $[0], L = $[1], W = 19; W > 4 && !j[qO[W - 1]]; --W); + var G, + U, + Z, + V, + X = (d + 5) << 3, + H = zg(r, Ep) + zg(i, Mw) + s, + B = zg(r, f) + zg(i, v) + s + 14 + 3 * W + zg(T, j) + (2 * T[16] + 3 * T[17] + 7 * T[18]) + if (X <= H && X <= B) return L1(e, u, t.subarray(c, c + d)) + if ((ic(e, u, 1 + (B < H)), (u += 2), B < H)) { + ;(G = bv(f, g)), (U = f), (Z = bv(v, w)), (V = v) + var M = bv(j, L) + for (ic(e, u, C - 257), ic(e, u + 5, R - 1), ic(e, u + 10, W - 4), u += 14, E = 0; E < W; ++E) + ic(e, u + 3 * E, j[qO[E]]) + u += 3 * W + for (var D = [y, P], F = 0; F < 2; ++F) { + var N = D[F] + for (E = 0; E < N.length; ++E) { + var J = 31 & N[E] + ic(e, u, M[J]), (u += j[J]), J > 15 && (ic(e, u, (N[E] >>> 5) & 127), (u += N[E] >>> 12)) + } + } + } else (G = A0t), (U = Ep), (Z = P0t), (V = Mw) + for (E = 0; E < a; ++E) + if (o[E] > 255) { + ;(J = (o[E] >>> 18) & 31), + Eg(e, u, G[J + 257]), + (u += U[J + 257]), + J > 7 && (ic(e, u, (o[E] >>> 23) & 31), (u += tE[J])) + var oe = 31 & o[E] + Eg(e, u, Z[oe]), (u += V[oe]), oe > 3 && (Eg(e, u, (o[E] >>> 5) & 8191), (u += nE[oe])) + } else Eg(e, u, G[o[E]]), (u += U[o[E]]) + return Eg(e, u, G[256]), u + U[256] + }, + R0t = new Wh([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), + T0t = (function () { + for (var t = new Wh(256), e = 0; e < 256; ++e) { + for (var n = e, o = 9; --o; ) n = (1 & n && 3988292384) ^ (n >>> 1) + t[e] = n + } + return t + })(), + I0t = function () { + var t = 4294967295 + return { + p: function (e) { + for (var n = t, o = 0; o < e.length; ++o) n = T0t[(255 & n) ^ e[o]] ^ (n >>> 8) + t = n + }, + d: function () { + return 4294967295 ^ t + }, + } + }, + M0t = function (t, e, n, o, r) { + return (function (i, s, a, c, d, u) { + var m = i.length, + f = new ua(c + m + 5 * (1 + Math.floor(m / 7e3)) + d), + g = f.subarray(c, f.length - d), + b = 0 + if (!s || m < 8) + for (var v = 0; v <= m; v += 65535) { + var w = v + 65535 + w < m ? (b = L1(g, b, i.subarray(v, w))) : ((g[v] = u), (b = L1(g, b, i.subarray(v, m)))) + } + else { + for ( + var _ = R0t[s - 1], + y = _ >>> 13, + C = 8191 & _, + S = (1 << a) - 1, + P = new is(32768), + R = new is(S + 1), + T = Math.ceil(a / 3), + E = 2 * T, + $ = function (jt) { + return (i[jt] ^ (i[jt + 1] << T) ^ (i[jt + 2] << E)) & S + }, + j = new Wh(25e3), + L = new is(288), + W = new is(32), + G = 0, + U = 0, + Z = ((v = 0), 0), + V = 0, + X = 0; + v < m; + ++v + ) { + var H = $(v), + B = 32767 & v, + M = R[H] + if (((P[B] = M), (R[H] = B), V <= v)) { + var D = m - v + if ((G > 7e3 || Z > 24576) && D > 423) { + ;(b = VO(i, g, 0, j, L, W, U, Z, X, v - X, b)), (Z = G = U = 0), (X = v) + for (var F = 0; F < 286; ++F) L[F] = 0 + for (F = 0; F < 30; ++F) W[F] = 0 + } + var N = 2, + J = 0, + oe = C, + ae = (B - M) & 32767 + if (D > 2 && H == $(v - ae)) + for ( + var Q = Math.min(y, D) - 1, ee = Math.min(32767, v), q = Math.min(258, D); + ae <= ee && --oe && B != M; + + ) { + if (i[v + N] == i[v + N - ae]) { + for (var me = 0; me < q && i[v + me] == i[v + me - ae]; ++me); + if (me > N) { + if (((N = me), (J = ae), me > Q)) break + var Ce = Math.min(ae, me - 2), + ue = 0 + for (F = 0; F < Ce; ++F) { + var Te = (v - ae + F + 32768) & 32767, + dt = (Te - P[Te] + 32768) & 32767 + dt > ue && ((ue = dt), (M = Te)) + } + } + } + ae += ((B = M) - (M = P[B]) + 32768) & 32767 + } + if (J) { + j[Z++] = 268435456 | (z1[N] << 18) | WO[J] + var Y = 31 & z1[N], + Ke = 31 & WO[J] + ;(U += tE[Y] + nE[Ke]), ++L[257 + Y], ++W[Ke], (V = v + N), ++G + } else (j[Z++] = i[v]), ++L[i[v]] + } + } + b = VO(i, g, u, j, L, W, U, Z, X, v - X, b) + } + return _et(f, 0, c + wet(b) + d) + })( + t, + e.level == null ? 6 : e.level, + e.mem == null ? Math.ceil(1.5 * Math.max(8, Math.min(13, Math.log(t.length)))) : 12 + e.mem, + n, + o, + !0, + ) + }, + D1 = function (t, e, n) { + for (; n; ++e) (t[e] = n), (n >>>= 8) + }, + j0t = function (t, e) { + var n = e.filename + if ( + ((t[0] = 31), + (t[1] = 139), + (t[2] = 8), + (t[8] = e.level < 2 ? 4 : e.level == 9 ? 2 : 0), + (t[9] = 3), + e.mtime != 0 && D1(t, 4, Math.floor(new Date(e.mtime || Date.now()) / 1e3)), + n) + ) { + t[3] = 8 + for (var o = 0; o <= n.length; ++o) t[o + 10] = n.charCodeAt(o) + } + }, + E0t = function (t) { + return 10 + ((t.filename && t.filename.length + 1) || 0) + } +function Cet(t, e) { + e === void 0 && (e = {}) + var n = I0t(), + o = t.length + n.p(t) + var r = M0t(t, e, E0t(e), 8), + i = r.length + return j0t(r, e), D1(r, i - 8, n.d()), D1(r, i - 4, o), r +} +function Aet(t, e) { + var n = t.length + if (typeof TextEncoder < "u") return new TextEncoder().encode(t) + for ( + var o = new ua(t.length + (t.length >>> 1)), + r = 0, + i = function (d) { + o[r++] = d + }, + s = 0; + s < n; + ++s + ) { + if (r + 5 > o.length) { + var a = new ua(r + 8 + ((n - s) << 1)) + a.set(o), (o = a) + } + var c = t.charCodeAt(s) + c < 128 || e + ? i(c) + : c < 2048 + ? (i(192 | (c >>> 6)), i(128 | (63 & c))) + : c > 55295 && c < 57344 + ? (i(240 | ((c = (65536 + (1047552 & c)) | (1023 & t.charCodeAt(++s))) >>> 18)), + i(128 | ((c >>> 12) & 63)), + i(128 | ((c >>> 6) & 63)), + i(128 | (63 & c))) + : (i(224 | (c >>> 12)), i(128 | ((c >>> 6) & 63)), i(128 | (63 & c))) + } + return _et(o, 0, r) +} +function z0t(t, e) { + return ( + (function (n) { + for (var o = 0, r = 0; r < n.length; r++) (o = (o << 5) - o + n.charCodeAt(r)), (o |= 0) + return Math.abs(o) + })(t) % + 100 < + aa(100 * e, 0, 100) + ) +} +var Gd = "disabled", + oE = "sampled", + jw = "active", + zp = "buffering", + rE = "paused", + iE = "trigger", + Ol = iE + "_activated", + gi = iE + "_pending", + Ul = iE + "_" + Gd +function HO(t, e) { + return e.some((n) => n.matching === "regex" && new RegExp(n.url).test(t)) +} +let Pet = class { + constructor(e) { + this.gt = e + } + triggerStatus(e) { + var n = this.gt.map((o) => o.triggerStatus(e)) + return n.includes(Ol) ? Ol : n.includes(gi) ? gi : Ul + } + stop() { + this.gt.forEach((e) => e.stop()) + } + }, + Ret = class { + constructor(e) { + this.gt = e + } + triggerStatus(e) { + var n = new Set() + for (var o of this.gt) n.add(o.triggerStatus(e)) + switch ((n.delete(Ul), n.size)) { + case 0: + return Ul + case 1: + return Array.from(n)[0] + default: + return gi + } + } + stop() { + this.gt.forEach((e) => e.stop()) + } + } +class $0t { + triggerStatus() { + return gi + } + stop() {} +} +class L0t { + constructor(e) { + ;(this._t = []), (this.bt = []), (this.urlBlocked = !1), (this._instance = e) + } + onRemoteConfig(e) { + var n, o + ;(this._t = ((n = e.sessionRecording) == null ? void 0 : n.urlTriggers) || []), + (this.bt = ((o = e.sessionRecording) == null ? void 0 : o.urlBlocklist) || []) + } + wt(e) { + var n + return this._t.length === 0 ? Ul : ((n = this._instance) == null ? void 0 : n.get_property(x1)) === e ? Ol : gi + } + triggerStatus(e) { + var n = this.wt(e), + o = n === Ol ? Ol : n === gi ? gi : Ul + return this._instance.register_for_session({ $sdk_debug_replay_url_trigger_status: o }), o + } + checkUrlTriggerConditions(e, n, o) { + if (ke !== void 0 && ke.location.href) { + var r = ke.location.href, + i = this.urlBlocked, + s = HO(r, this.bt) + ;(i && s) || (s && !i ? e() : !s && i && n(), HO(r, this._t) && o("url")) + } + } + stop() {} +} +class D0t { + constructor(e) { + ;(this.linkedFlag = null), (this.linkedFlagSeen = !1), (this.yt = () => {}), (this._instance = e) + } + triggerStatus() { + var e = gi + return ( + Hn(this.linkedFlag) && (e = Ul), + this.linkedFlagSeen && (e = Ol), + this._instance.register_for_session({ $sdk_debug_replay_linked_flag_trigger_status: e }), + e + ) + } + onRemoteConfig(e, n) { + var o + if ( + ((this.linkedFlag = ((o = e.sessionRecording) == null ? void 0 : o.linkedFlag) || null), + !Hn(this.linkedFlag) && !this.linkedFlagSeen) + ) { + var r = pr(this.linkedFlag) ? this.linkedFlag : this.linkedFlag.flag, + i = pr(this.linkedFlag) ? null : this.linkedFlag.variant + this.yt = this._instance.onFeatureFlags((s, a) => { + var c = Xo(a) && r in a && (i ? a[r] === i : a[r] === !0) + c && n(r, i), (this.linkedFlagSeen = c) + }) + } + } + stop() { + this.yt() + } +} +class N0t { + constructor(e) { + ;(this.St = []), (this._instance = e) + } + onRemoteConfig(e) { + var n + this.St = ((n = e.sessionRecording) == null ? void 0 : n.eventTriggers) || [] + } + $t(e) { + var n + return this.St.length === 0 ? Ul : ((n = this._instance) == null ? void 0 : n.get_property(w1)) === e ? Ol : gi + } + triggerStatus(e) { + var n = this.$t(e), + o = n === Ol ? Ol : n === gi ? gi : Ul + return this._instance.register_for_session({ $sdk_debug_replay_event_trigger_status: o }), o + } + stop() {} +} +function O0t(t) { + return t.isRecordingEnabled ? zp : Gd +} +function F0t(t) { + if (!t.receivedDecide) return zp + if (!t.isRecordingEnabled) return Gd + if (t.urlTriggerMatching.urlBlocked) return rE + var e = t.isSampled === !0, + n = new Pet([t.eventTriggerMatching, t.urlTriggerMatching, t.linkedFlagMatching]).triggerStatus(t.sessionId) + return e ? oE : n === Ol ? jw : n === gi ? zp : t.isSampled === !1 ? Gd : jw +} +function B0t(t) { + if (!t.receivedDecide) return zp + if (!t.isRecordingEnabled) return Gd + if (t.urlTriggerMatching.urlBlocked) return rE + var e = new Ret([t.eventTriggerMatching, t.urlTriggerMatching, t.linkedFlagMatching]).triggerStatus(t.sessionId), + n = e !== Ul, + o = wc(t.isSampled) + return n && e === gi ? zp : (n && e === Ul) || (o && !t.isSampled) ? Gd : t.isSampled === !0 ? oE : jw +} +var sv = "[SessionRecording]", + si = ki(sv) +function Ak() { + var t, e + return hn == null || (t = hn.__PosthogExtensions__) == null || (e = t.rrweb) == null ? void 0 : e.record +} +var U0t = 3e5, + q0t = [ + La.MouseMove, + La.MouseInteraction, + La.Scroll, + La.ViewportResize, + La.Input, + La.TouchMove, + La.MediaInteraction, + La.Drag, + ], + GO = (t) => ({ rrwebMethod: t, enqueuedAt: Date.now(), attempt: 1 }) +function Wu(t) { + return (function (e, n) { + for (var o = "", r = 0; r < e.length; ) { + var i = e[r++] + o += String.fromCharCode(i) + } + return o + })(Cet(Aet(JSON.stringify(t)))) +} +function QO(t) { + return t.type === uc.Custom && t.data.tag === "sessionIdle" +} +class W0t { + get sessionId() { + return this.kt + } + get xt() { + return this._instance.config.session_recording.session_idle_threshold_ms || 3e5 + } + get started() { + return this.Et + } + get It() { + if (!this._instance.sessionManager) throw new Error(sv + " must be started with a valid sessionManager.") + return this._instance.sessionManager + } + get Pt() { + var e, n + return this.Rt.triggerStatus(this.sessionId) === gi + ? 6e4 + : (e = (n = this._instance.config.session_recording) == null ? void 0 : n.full_snapshot_interval_millis) !== + null && e !== void 0 + ? e + : U0t + } + get Tt() { + var e = this._instance.get_property(rv) + return wc(e) ? e : null + } + get Mt() { + var e, + n, + o = (e = this.M) == null ? void 0 : e.data[((n = this.M) == null ? void 0 : n.data.length) - 1], + { sessionStartTimestamp: r } = this.It.checkAndGetSessionAndWindowId(!0) + return o ? o.timestamp - r : null + } + get Ct() { + var e = !!this._instance.get_property(k1), + n = !this._instance.config.disable_session_recording + return ke && e && n + } + get Ot() { + var e = !!this._instance.get_property(wO), + n = this._instance.config.enable_recording_console_log + return n ?? e + } + get Ft() { + var e, + n, + o, + r, + i, + s, + a = this._instance.config.session_recording.captureCanvas, + c = this._instance.get_property(SO), + d = + (e = + (n = a == null ? void 0 : a.recordCanvas) !== null && n !== void 0 + ? n + : c == null + ? void 0 + : c.enabled) !== null && + e !== void 0 && + e, + u = + (o = + (r = a == null ? void 0 : a.canvasFps) !== null && r !== void 0 + ? r + : c == null + ? void 0 + : c.fps) !== null && o !== void 0 + ? o + : 4, + m = + (i = + (s = a == null ? void 0 : a.canvasQuality) !== null && s !== void 0 + ? s + : c == null + ? void 0 + : c.quality) !== null && i !== void 0 + ? i + : 0.4 + if (typeof m == "string") { + var f = parseFloat(m) + m = isNaN(f) ? 0.4 : f + } + return { + enabled: d, + fps: aa(u, 0, 12, "canvas recording fps", 4), + quality: aa(m, 0, 1, "canvas recording quality", 0.4), + } + } + get At() { + var e, + n, + o = this._instance.get_property(_O), + r = { + recordHeaders: (e = this._instance.config.session_recording) == null ? void 0 : e.recordHeaders, + recordBody: (n = this._instance.config.session_recording) == null ? void 0 : n.recordBody, + }, + i = (r == null ? void 0 : r.recordHeaders) || (o == null ? void 0 : o.recordHeaders), + s = (r == null ? void 0 : r.recordBody) || (o == null ? void 0 : o.recordBody), + a = Xo(this._instance.config.capture_performance) + ? this._instance.config.capture_performance.network_timing + : this._instance.config.capture_performance, + c = !!(wc(a) ? a : o != null && o.capturePerformance) + return i || s || c ? { recordHeaders: i, recordBody: s, recordPerformance: c } : void 0 + } + get Dt() { + var e, + n, + o, + r, + i, + s, + a = this._instance.get_property(CO), + c = { + maskAllInputs: (e = this._instance.config.session_recording) == null ? void 0 : e.maskAllInputs, + maskTextSelector: (n = this._instance.config.session_recording) == null ? void 0 : n.maskTextSelector, + blockSelector: (o = this._instance.config.session_recording) == null ? void 0 : o.blockSelector, + }, + d = + (r = c == null ? void 0 : c.maskAllInputs) !== null && r !== void 0 + ? r + : a == null + ? void 0 + : a.maskAllInputs, + u = + (i = c == null ? void 0 : c.maskTextSelector) !== null && i !== void 0 + ? i + : a == null + ? void 0 + : a.maskTextSelector, + m = + (s = c == null ? void 0 : c.blockSelector) !== null && s !== void 0 + ? s + : a == null + ? void 0 + : a.blockSelector + return at(d) && at(u) && at(m) + ? void 0 + : { maskAllInputs: d == null || d, maskTextSelector: u, blockSelector: m } + } + get jt() { + var e = this._instance.get_property(AO) + return di(e) ? e : null + } + get Lt() { + var e = this._instance.get_property(PO) + return di(e) ? e : null + } + get status() { + return this.Nt + ? this.zt({ + receivedDecide: this.Nt, + isRecordingEnabled: this.Ct, + isSampled: this.Tt, + urlTriggerMatching: this.Ut, + eventTriggerMatching: this.qt, + linkedFlagMatching: this.Bt, + sessionId: this.sessionId, + }) + : zp + } + constructor(e) { + if ( + ((this.zt = O0t), + (this.Nt = !1), + (this.Ht = []), + (this.Wt = "unknown"), + (this.Gt = Date.now()), + (this.Rt = new $0t()), + (this.Jt = void 0), + (this.Vt = void 0), + (this.Kt = void 0), + (this.Yt = void 0), + (this.Xt = void 0), + (this._forceAllowLocalhostNetworkCapture = !1), + (this.Qt = () => { + this.Zt() + }), + (this.ti = () => { + this.ii("browser offline", {}) + }), + (this.ei = () => { + this.ii("browser online", {}) + }), + (this.ri = () => { + if (ht != null && ht.visibilityState) { + var r = "window " + ht.visibilityState + this.ii(r, {}) + } + }), + (this._instance = e), + (this.Et = !1), + (this.si = "/s/"), + (this.ni = void 0), + (this.Nt = !1), + !this._instance.sessionManager) + ) + throw ( + (si.error("started without valid sessionManager"), + new Error(sv + " started without valid sessionManager. This is a bug.")) + ) + if (this._instance.config.__preview_experimental_cookieless_mode) + throw new Error(sv + " cannot be used with __preview_experimental_cookieless_mode.") + ;(this.Bt = new D0t(this._instance)), (this.Ut = new L0t(this._instance)), (this.qt = new N0t(this._instance)) + var { sessionId: n, windowId: o } = this.It.checkAndGetSessionAndWindowId() + ;(this.kt = n), + (this.oi = o), + (this.M = this.ai()), + this.xt >= this.It.sessionTimeoutMs && + si.warn( + "session_idle_threshold_ms (" + + this.xt + + ") is greater than the session timeout (" + + this.It.sessionTimeoutMs + + "). Session will never be detected as idle", + ) + } + startIfEnabledOrStop(e) { + this.Ct + ? (this.li(e), + Ko(ke, "beforeunload", this.Qt), + Ko(ke, "offline", this.ti), + Ko(ke, "online", this.ei), + Ko(ke, "visibilitychange", this.ri), + this.hi(), + this.ui(), + Hn(this.Jt) && + (this.Jt = this._instance.on("eventCaptured", (n) => { + try { + if (n.event === "$pageview") { + var o = + n != null && n.properties.$current_url + ? this.di(n == null ? void 0 : n.properties.$current_url) + : "" + if (!o) return + this.ii("$pageview", { href: o }) + } + } catch (r) { + si.error("Could not add $pageview to rrweb session", r) + } + })), + this.Vt || + (this.Vt = this.It.onSessionId((n, o, r) => { + var i, s, a, c + r && + (this.ii("$session_id_change", { sessionId: n, windowId: o, changeReason: r }), + (i = this._instance) == null || (s = i.persistence) == null || s.unregister(w1), + (a = this._instance) == null || (c = a.persistence) == null || c.unregister(x1)) + }))) + : this.stopRecording() + } + stopRecording() { + var e, n, o, r + this.Et && + this.ni && + (this.ni(), + (this.ni = void 0), + (this.Et = !1), + ke == null || ke.removeEventListener("beforeunload", this.Qt), + ke == null || ke.removeEventListener("offline", this.ti), + ke == null || ke.removeEventListener("online", this.ei), + ke == null || ke.removeEventListener("visibilitychange", this.ri), + this.ai(), + clearInterval(this.vi), + (e = this.Jt) == null || e.call(this), + (this.Jt = void 0), + (n = this.Xt) == null || n.call(this), + (this.Xt = void 0), + (o = this.Vt) == null || o.call(this), + (this.Vt = void 0), + (r = this.Yt) == null || r.call(this), + (this.Yt = void 0), + this.qt.stop(), + this.Ut.stop(), + this.Bt.stop(), + si.info("stopped")) + } + ci() { + var e + ;(e = this._instance.persistence) == null || e.unregister(rv) + } + fi(e) { + var n, + o = this.kt !== e, + r = this.jt + if (di(r)) { + var i = this.Tt, + s = o || !wc(i), + a = s ? z0t(e, r) : i + s && + (a + ? this.pi(oE) + : si.warn( + "Sample rate (" + + r + + ") has determined that this sessionId (" + + e + + ") will not be sent to the server.", + ), + this.ii("samplingDecisionMade", { sampleRate: r, isSampled: a })), + (n = this._instance.persistence) == null || n.register({ [rv]: a }) + } else this.ci() + } + onRemoteConfig(e) { + var n, o, r, i + this.ii("$remote_config_received", e), + this.gi(e), + (n = e.sessionRecording) != null && + n.endpoint && + (this.si = (i = e.sessionRecording) == null ? void 0 : i.endpoint), + this.hi(), + ((o = e.sessionRecording) == null ? void 0 : o.triggerMatchType) === "any" + ? ((this.zt = F0t), (this.Rt = new Pet([this.qt, this.Ut]))) + : ((this.zt = B0t), (this.Rt = new Ret([this.qt, this.Ut]))), + this._instance.register_for_session({ + $sdk_debug_replay_remote_trigger_matching_config: + (r = e.sessionRecording) == null ? void 0 : r.triggerMatchType, + }), + this.Ut.onRemoteConfig(e), + this.qt.onRemoteConfig(e), + this.Bt.onRemoteConfig(e, (s, a) => { + this.pi("linked_flag_matched", { flag: s, variant: a }) + }), + (this.Nt = !0), + this.startIfEnabledOrStop() + } + hi() { + di(this.jt) && + Hn(this.Yt) && + (this.Yt = this.It.onSessionId((e) => { + this.fi(e) + })) + } + gi(e) { + if (this._instance.persistence) { + var n, + o = this._instance.persistence, + r = () => { + var i, + s, + a, + c, + d, + u, + m, + f, + g, + b = (i = e.sessionRecording) == null ? void 0 : i.sampleRate, + v = Hn(b) ? null : parseFloat(b) + Hn(v) && this.ci() + var w = (s = e.sessionRecording) == null ? void 0 : s.minimumDurationMilliseconds + o.register({ + [k1]: !!e.sessionRecording, + [wO]: (a = e.sessionRecording) == null ? void 0 : a.consoleLogRecordingEnabled, + [_O]: mt( + { capturePerformance: e.capturePerformance }, + (c = e.sessionRecording) == null ? void 0 : c.networkPayloadCapture, + ), + [CO]: (d = e.sessionRecording) == null ? void 0 : d.masking, + [SO]: { + enabled: (u = e.sessionRecording) == null ? void 0 : u.recordCanvas, + fps: (m = e.sessionRecording) == null ? void 0 : m.canvasFps, + quality: (f = e.sessionRecording) == null ? void 0 : f.canvasQuality, + }, + [AO]: v, + [PO]: at(w) ? null : w, + [RO]: (g = e.sessionRecording) == null ? void 0 : g.scriptConfig, + }) + } + r(), (n = this.Kt) == null || n.call(this), (this.Kt = this.It.onSessionId(r)) + } + } + log(e, n) { + var o + n === void 0 && (n = "log"), + (o = this._instance.sessionRecording) == null || + o.onRRwebEmit({ + type: 6, + data: { plugin: "rrweb/console@1", payload: { level: n, trace: [], payload: [JSON.stringify(e)] } }, + timestamp: Date.now(), + }) + } + li(e) { + if ( + !at(Object.assign) && + !at(Array.from) && + !(this.Et || this._instance.config.disable_session_recording || this._instance.consent.isOptedOut()) + ) { + var n + ;(this.Et = !0), + this.It.checkAndGetSessionAndWindowId(), + Ak() + ? this.mi() + : (n = hn.__PosthogExtensions__) == null || + n.loadExternalDependency == null || + n.loadExternalDependency(this._instance, this.bi, (o) => { + if (o) return si.error("could not load recorder", o) + this.mi() + }), + si.info("starting"), + this.status === jw && this.pi(e || "recording_initialized") + } + } + get bi() { + var e, n, o + return ( + ((e = this._instance) == null || (n = e.persistence) == null || (o = n.get_property(RO)) == null + ? void 0 + : o.script) || "recorder" + ) + } + wi(e) { + var n + return e.type === 3 && q0t.indexOf((n = e.data) == null ? void 0 : n.source) !== -1 + } + yi(e) { + var n = this.wi(e) + n || + this.Wt || + (e.timestamp - this.Gt > this.xt && + ((this.Wt = !0), + clearInterval(this.vi), + this.ii("sessionIdle", { + eventTimestamp: e.timestamp, + lastActivityTimestamp: this.Gt, + threshold: this.xt, + bufferLength: this.M.data.length, + bufferSize: this.M.size, + }), + this.Zt())) + var o = !1 + if (n && ((this.Gt = e.timestamp), this.Wt)) { + var r = this.Wt === "unknown" + ;(this.Wt = !1), r || (this.ii("sessionNoLongerIdle", { reason: "user activity", type: e.type }), (o = !0)) + } + if (!this.Wt) { + var { windowId: i, sessionId: s } = this.It.checkAndGetSessionAndWindowId(!n, e.timestamp), + a = this.kt !== s, + c = this.oi !== i + ;(this.oi = i), + (this.kt = s), + a || c ? (this.stopRecording(), this.startIfEnabledOrStop("session_id_changed")) : o && this.Si() + } + } + $i(e) { + try { + return e.rrwebMethod(), !0 + } catch (n) { + return ( + this.Ht.length < 10 + ? this.Ht.push({ + enqueuedAt: e.enqueuedAt || Date.now(), + attempt: e.attempt++, + rrwebMethod: e.rrwebMethod, + }) + : si.warn("could not emit queued rrweb event.", n, e), + !1 + ) + } + } + ii(e, n) { + return this.$i(GO(() => Ak().addCustomEvent(e, n))) + } + ki() { + return this.$i(GO(() => Ak().takeFullSnapshot())) + } + mi() { + var e, + n, + o, + r, + i = { + blockClass: "ph-no-capture", + blockSelector: void 0, + ignoreClass: "ph-ignore-input", + maskTextClass: "ph-mask", + maskTextSelector: void 0, + maskTextFn: void 0, + maskAllInputs: !0, + maskInputOptions: { password: !0 }, + maskInputFn: void 0, + slimDOMOptions: {}, + collectFonts: !1, + inlineStylesheet: !0, + recordCrossOriginIframes: !1, + }, + s = this._instance.config.session_recording + for (var [a, c] of Object.entries(s || {})) + a in i && (a === "maskInputOptions" ? (i.maskInputOptions = mt({ password: !0 }, c)) : (i[a] = c)) + this.Ft && + this.Ft.enabled && + ((i.recordCanvas = !0), + (i.sampling = { canvas: this.Ft.fps }), + (i.dataURLOptions = { type: "image/webp", quality: this.Ft.quality })), + this.Dt && + ((i.maskAllInputs = (n = this.Dt.maskAllInputs) === null || n === void 0 || n), + (i.maskTextSelector = (o = this.Dt.maskTextSelector) !== null && o !== void 0 ? o : void 0), + (i.blockSelector = (r = this.Dt.blockSelector) !== null && r !== void 0 ? r : void 0)) + var d = Ak() + if (d) { + this.xi = + (e = this.xi) !== null && e !== void 0 + ? e + : new C0t(d, { + refillRate: this._instance.config.session_recording.__mutationRateLimiterRefillRate, + bucketSize: this._instance.config.session_recording.__mutationRateLimiterBucketSize, + onBlockedNode: (m, f) => { + var g = + "Too many mutations on node '" + + m + + "'. Rate limiting. This could be due to SVG animations or something similar" + si.info(g, { node: f }), this.log(sv + " " + g, "warn") + }, + }) + var u = this.Ei() + ;(this.ni = d( + mt( + { + emit: (m) => { + this.onRRwebEmit(m) + }, + plugins: u, + }, + i, + ), + )), + (this.Gt = Date.now()), + (this.Wt = wc(this.Wt) ? this.Wt : "unknown"), + this.ii("$session_options", { + sessionRecordingOptions: i, + activePlugins: u.map((m) => (m == null ? void 0 : m.name)), + }), + this.ii("$posthog_config", { config: this._instance.config }) + } else + si.error( + "onScriptLoaded was called but rrwebRecord is not available. This indicates something has gone wrong.", + ) + } + Si() { + if ((this.vi && clearInterval(this.vi), this.Wt !== !0)) { + var e = this.Pt + e && + (this.vi = setInterval(() => { + this.ki() + }, e)) + } + } + Ei() { + var e, + n, + o, + r, + i = [], + s = + (e = hn.__PosthogExtensions__) == null || (n = e.rrwebPlugins) == null + ? void 0 + : n.getRecordConsolePlugin + s && this.Ot && i.push(s()) + var a = + (o = hn.__PosthogExtensions__) == null || (r = o.rrwebPlugins) == null ? void 0 : r.getRecordNetworkPlugin + return ( + this.At && + da(a) && + (!UCt.includes(location.hostname) || this._forceAllowLocalhostNetworkCapture + ? i.push(a(_0t(this._instance.config, this.At))) + : si.info("NetworkCapture not started because we are on localhost.")), + i + ) + } + onRRwebEmit(e) { + var n + if ((this.Ii(), e && Xo(e))) { + if (e.type === uc.Meta) { + var o = this.di(e.data.href) + if (((this.Pi = o), !o)) return + e.data.href = o + } else this.Ri() + if ( + (this.Ut.checkUrlTriggerConditions( + () => this.Ti(), + () => this.Mi(), + (f) => this.Ci(f), + ), + !this.Ut.urlBlocked || ((r = e).type === uc.Custom && r.data.tag === "recording paused")) + ) { + var r + e.type === uc.FullSnapshot && this.Si(), + e.type === uc.FullSnapshot && this.Nt && this.Rt.triggerStatus(this.sessionId) === gi && this.ai() + var i = this.xi ? this.xi.throttleMutations(e) : e + if (i) { + var s = (function (f) { + var g = f + if (g && Xo(g) && g.type === 6 && Xo(g.data) && g.data.plugin === "rrweb/console@1") { + g.data.payload.payload.length > 10 && + ((g.data.payload.payload = g.data.payload.payload.slice(0, 10)), + g.data.payload.payload.push("...[truncated]")) + for (var b = [], v = 0; v < g.data.payload.payload.length; v++) + g.data.payload.payload[v] && g.data.payload.payload[v].length > 2e3 + ? b.push(g.data.payload.payload[v].slice(0, 2e3) + "...[truncated]") + : b.push(g.data.payload.payload[v]) + return (g.data.payload.payload = b), f + } + return f + })(i) + if ((this.yi(s), this.Wt !== !0 || QO(s))) { + if (QO(s)) { + var a = s.data.payload + if (a) { + var c = a.lastActivityTimestamp, + d = a.threshold + s.timestamp = c + d + } + } + var u = + (n = this._instance.config.session_recording.compress_events) === null || + n === void 0 || + n + ? (function (f) { + if (Iw(f) < 1024) return f + try { + if (f.type === uc.FullSnapshot) + return mt({}, f, { data: Wu(f.data), cv: "2024-10" }) + if (f.type === uc.IncrementalSnapshot && f.data.source === La.Mutation) + return mt({}, f, { + cv: "2024-10", + data: mt({}, f.data, { + texts: Wu(f.data.texts), + attributes: Wu(f.data.attributes), + removes: Wu(f.data.removes), + adds: Wu(f.data.adds), + }), + }) + if ( + f.type === uc.IncrementalSnapshot && + f.data.source === La.StyleSheetRule + ) + return mt({}, f, { + cv: "2024-10", + data: mt({}, f.data, { + adds: f.data.adds ? Wu(f.data.adds) : void 0, + removes: f.data.removes ? Wu(f.data.removes) : void 0, + }), + }) + } catch (g) { + si.error("could not compress event - will use uncompressed event", g) + } + return f + })(s) + : s, + m = { $snapshot_bytes: Iw(u), $snapshot_data: u, $session_id: this.kt, $window_id: this.oi } + this.status !== Gd ? this.Oi(m) : this.ai() + } + } + } + } + } + Ri() { + if (!this._instance.config.capture_pageview && ke) { + var e = this.di(ke.location.href) + this.Pi !== e && (this.ii("$url_changed", { href: e }), (this.Pi = e)) + } + } + Ii() { + if (this.Ht.length) { + var e = [...this.Ht] + ;(this.Ht = []), + e.forEach((n) => { + Date.now() - n.enqueuedAt <= 2e3 && this.$i(n) + }) + } + } + di(e) { + var n = this._instance.config.session_recording + if (n.maskNetworkRequestFn) { + var o, + r = { url: e } + return (o = r = n.maskNetworkRequestFn(r)) == null ? void 0 : o.url + } + return e + } + ai() { + return (this.M = { size: 0, data: [], sessionId: this.kt, windowId: this.oi }), this.M + } + Zt() { + this.Fi && (clearTimeout(this.Fi), (this.Fi = void 0)) + var e = this.Lt, + n = this.Mt, + o = di(n) && n >= 0, + r = di(e) && o && n < e + return this.status === zp || this.status === rE || this.status === Gd || r + ? ((this.Fi = setTimeout(() => { + this.Zt() + }, 2e3)), + this.M) + : (this.M.data.length > 0 && + M1(this.M).forEach((i) => { + this.Ai({ + $snapshot_bytes: i.size, + $snapshot_data: i.data, + $session_id: i.sessionId, + $window_id: i.windowId, + $lib: "web", + $lib_version: gc.LIB_VERSION, + }) + }), + this.ai()) + } + Oi(e) { + var n, + o = 2 + (((n = this.M) == null ? void 0 : n.data.length) || 0) + !this.Wt && + (this.M.size + e.$snapshot_bytes + o > 943718.4 || this.M.sessionId !== this.kt) && + (this.M = this.Zt()), + (this.M.size += e.$snapshot_bytes), + this.M.data.push(e.$snapshot_data), + this.Fi || + this.Wt || + (this.Fi = setTimeout(() => { + this.Zt() + }, 2e3)) + } + Ai(e) { + this._instance.capture("$snapshot", e, { + _url: this._instance.requestRouter.endpointFor("api", this.si), + _noTruncate: !0, + _batchKey: "recordings", + skip_client_rate_limiting: !0, + }) + } + Ci(e) { + var n, o + this.Rt.triggerStatus(this.sessionId) === gi && + ((n = this._instance) == null || + (o = n.persistence) == null || + o.register({ [e === "url" ? x1 : w1]: this.kt }), + this.Zt(), + this.pi(e + "_trigger_matched")) + } + Ti() { + this.Ut.urlBlocked || + ((this.Ut.urlBlocked = !0), + clearInterval(this.vi), + si.info("recording paused due to URL blocker"), + this.ii("recording paused", { reason: "url blocker" })) + } + Mi() { + this.Ut.urlBlocked && + ((this.Ut.urlBlocked = !1), + this.ki(), + this.Si(), + this.ii("recording resumed", { reason: "left blocked url" }), + si.info("recording resumed")) + } + ui() { + this.qt.St.length !== 0 && + Hn(this.Xt) && + (this.Xt = this._instance.on("eventCaptured", (e) => { + try { + this.qt.St.includes(e.event) && this.Ci("event") + } catch (n) { + si.error("Could not activate event trigger", n) + } + })) + } + overrideLinkedFlag() { + ;(this.Bt.linkedFlagSeen = !0), this.ki(), this.pi("linked_flag_overridden") + } + overrideSampling() { + var e + ;(e = this._instance.persistence) == null || e.register({ [rv]: !0 }), this.ki(), this.pi("sampling_overridden") + } + overrideTrigger(e) { + this.Ci(e) + } + pi(e, n) { + this._instance.register_for_session({ $session_recording_start_reason: e }), + si.info(e.replace("_", " "), n), + Rn(["recording_initialized", "session_id_changed"], e) || this.ii(e, n) + } + get sdkDebugProperties() { + var { sessionStartTimestamp: e } = this.It.checkAndGetSessionAndWindowId(!0) + return { + $recording_status: this.status, + $sdk_debug_replay_internal_buffer_length: this.M.data.length, + $sdk_debug_replay_internal_buffer_size: this.M.size, + $sdk_debug_current_session_duration: this.Mt, + $sdk_debug_session_start: e, + } + } +} +var fA = ki("[SegmentIntegration]") +function K0t(t, e) { + var n = t.config.segment + if (!n) return e() + ;(function (o, r) { + var i = o.config.segment + if (!i) return r() + var s = (c) => { + var d = () => c.anonymousId() || Fd() + ;(o.config.get_device_id = d), + c.id() && + (o.register({ distinct_id: c.id(), $device_id: d() }), + o.persistence.set_property(dc, "identified")), + r() + }, + a = i.user() + "then" in a && da(a.then) ? a.then((c) => s(c)) : s(a) + })(t, () => { + n.register( + ((o) => { + ;(Promise && Promise.resolve) || + fA.warn("This browser does not have Promise support, and can not use the segment integration") + var r = (i, s) => { + if (!s) return i + i.event.userId || + i.event.anonymousId === o.get_distinct_id() || + (fA.info("No userId set, resetting PostHog"), o.reset()), + i.event.userId && + i.event.userId !== o.get_distinct_id() && + (fA.info("UserId set, identifying with PostHog"), o.identify(i.event.userId)) + var a = o.calculateEventProperties(s, i.event.properties) + return (i.event.properties = Object.assign({}, a, i.event.properties)), i + } + return { + name: "PostHog JS", + type: "enrichment", + version: "1.0.0", + isLoaded: () => !0, + load: () => Promise.resolve(), + track: (i) => r(i, i.event.event), + page: (i) => r(i, "$pageview"), + identify: (i) => r(i, "$identify"), + screen: (i) => r(i, "$screen"), + } + })(t), + ).then(() => { + e() + }) + }) +} +var Tet = "posthog-js" +function Iet(t, e) { + var { organization: n, projectId: o, prefix: r, severityAllowList: i = ["error"] } = e === void 0 ? {} : e + return (s) => { + var a, c, d, u, m + if (!(i === "*" || i.includes(s.level)) || !t.__loaded) return s + s.tags || (s.tags = {}) + var f = t.requestRouter.endpointFor("ui", "/project/" + t.config.token + "/person/" + t.get_distinct_id()) + ;(s.tags["PostHog Person URL"] = f), + t.sessionRecordingStarted() && + (s.tags["PostHog Recording URL"] = t.get_session_replay_url({ withTimestamp: !0 })) + var g = ((a = s.exception) == null ? void 0 : a.values) || [], + b = g.map((w) => + mt({}, w, { + stacktrace: w.stacktrace + ? mt({}, w.stacktrace, { + type: "raw", + frames: (w.stacktrace.frames || []).map((_) => + mt({}, _, { platform: "web:javascript" }), + ), + }) + : void 0, + }), + ), + v = { + $exception_message: ((c = g[0]) == null ? void 0 : c.value) || s.message, + $exception_type: (d = g[0]) == null ? void 0 : d.type, + $exception_personURL: f, + $exception_level: s.level, + $exception_list: b, + $sentry_event_id: s.event_id, + $sentry_exception: s.exception, + $sentry_exception_message: ((u = g[0]) == null ? void 0 : u.value) || s.message, + $sentry_exception_type: (m = g[0]) == null ? void 0 : m.type, + $sentry_tags: s.tags, + } + return ( + n && + o && + (v.$sentry_url = + (r || "https://sentry.io/organizations/") + n + "/issues/?project=" + o + "&query=" + s.event_id), + t.exceptions.sendExceptionEvent(v), + s + ) + } +} +class V0t { + constructor(e, n, o, r, i) { + ;(this.name = Tet), + (this.setupOnce = function (s) { + s(Iet(e, { organization: n, projectId: o, prefix: r, severityAllowList: i })) + }) + } +} +var pc, + H0t = ke != null && ke.location ? Rw(ke.location.hash, "__posthog") || Rw(location.hash, "state") : null, + ZO = "_postHogToolbarParams", + YO = ki("[Toolbar]") +;(function (t) { + ;(t[(t.UNINITIALIZED = 0)] = "UNINITIALIZED"), (t[(t.LOADING = 1)] = "LOADING"), (t[(t.LOADED = 2)] = "LOADED") +})(pc || (pc = {})) +class G0t { + constructor(e) { + this.instance = e + } + Di(e) { + hn.ph_toolbar_state = e + } + ji() { + var e + return (e = hn.ph_toolbar_state) !== null && e !== void 0 ? e : pc.UNINITIALIZED + } + maybeLoadToolbar(e, n, o) { + var r, i + if ((e === void 0 && (e = void 0), n === void 0 && (n = void 0), o === void 0 && (o = void 0), !ke || !ht)) + return !1 + ;(e = (r = e) !== null && r !== void 0 ? r : ke.location), + (o = (i = o) !== null && i !== void 0 ? i : ke.history) + try { + if (!n) { + try { + ke.localStorage.setItem("test", "test"), ke.localStorage.removeItem("test") + } catch { + return !1 + } + n = ke == null ? void 0 : ke.localStorage + } + var s, + a = H0t || Rw(e.hash, "__posthog") || Rw(e.hash, "state"), + c = a + ? vO(() => JSON.parse(atob(decodeURIComponent(a)))) || vO(() => JSON.parse(decodeURIComponent(a))) + : null + return ( + c && c.action === "ph_authorize" + ? (((s = c).source = "url"), + s && + Object.keys(s).length > 0 && + (c.desiredHash + ? (e.hash = c.desiredHash) + : o + ? o.replaceState(o.state, "", e.pathname + e.search) + : (e.hash = ""))) + : (((s = JSON.parse(n.getItem(ZO) || "{}")).source = "localstorage"), delete s.userIntent), + !(!s.token || this.instance.config.token !== s.token) && (this.loadToolbar(s), !0) + ) + } catch { + return !1 + } + } + Li(e) { + var n = hn.ph_load_toolbar || hn.ph_load_editor + !Hn(n) && da(n) ? n(e, this.instance) : YO.warn("No toolbar load function found") + } + loadToolbar(e) { + var n = !(ht == null || !ht.getElementById(eet)) + if (!ke || n) return !1 + var o = + this.instance.requestRouter.region === "custom" && + this.instance.config.advanced_disable_toolbar_metrics, + r = mt( + { token: this.instance.config.token }, + e, + { apiURL: this.instance.requestRouter.endpointFor("ui") }, + o ? { instrument: !1 } : {}, + ) + if ((ke.localStorage.setItem(ZO, JSON.stringify(mt({}, r, { source: void 0 }))), this.ji() === pc.LOADED)) + this.Li(r) + else if (this.ji() === pc.UNINITIALIZED) { + var i + this.Di(pc.LOADING), + (i = hn.__PosthogExtensions__) == null || + i.loadExternalDependency == null || + i.loadExternalDependency(this.instance, "toolbar", (s) => { + if (s) return YO.error("[Toolbar] Failed to load", s), void this.Di(pc.UNINITIALIZED) + this.Di(pc.LOADED), this.Li(r) + }), + Ko(ke, "turbolinks:load", () => { + this.Di(pc.UNINITIALIZED), this.loadToolbar(r) + }) + } + return !0 + } + Ni(e) { + return this.loadToolbar(e) + } + maybeLoadEditor(e, n, o) { + return ( + e === void 0 && (e = void 0), + n === void 0 && (n = void 0), + o === void 0 && (o = void 0), + this.maybeLoadToolbar(e, n, o) + ) + } +} +var Q0t = ki("[TracingHeaders]") +class Z0t { + constructor(e) { + ;(this.zi = void 0), + (this.Ui = void 0), + (this.V = () => { + var n, o, r, i + at(this.zi) && + ((n = hn.__PosthogExtensions__) == null || + (o = n.tracingHeadersPatchFns) == null || + o._patchXHR(this._instance.sessionManager)), + at(this.Ui) && + ((r = hn.__PosthogExtensions__) == null || + (i = r.tracingHeadersPatchFns) == null || + i._patchFetch(this._instance.sessionManager)) + }), + (this._instance = e) + } + G(e) { + var n, o + ;(n = hn.__PosthogExtensions__) != null && n.tracingHeadersPatchFns && e(), + (o = hn.__PosthogExtensions__) == null || + o.loadExternalDependency == null || + o.loadExternalDependency(this._instance, "tracing-headers", (r) => { + if (r) return Q0t.error("failed to load script", r) + e() + }) + } + startIfEnabledOrStop() { + var e, n + this._instance.config.__add_tracing_headers + ? this.G(this.V) + : ((e = this.zi) == null || e.call(this), + (n = this.Ui) == null || n.call(this), + (this.zi = void 0), + (this.Ui = void 0)) + } +} +var pd = ki("[Web Vitals]"), + XO = 9e5 +class Y0t { + constructor(e) { + var n + ;(this.qi = !1), + (this.i = !1), + (this.M = { url: void 0, metrics: [], firstMetricTimestamp: void 0 }), + (this.Bi = () => { + clearTimeout(this.Hi), + this.M.metrics.length !== 0 && + (this._instance.capture( + "$web_vitals", + this.M.metrics.reduce( + (o, r) => + mt({}, o, { + ["$web_vitals_" + r.name + "_event"]: mt({}, r), + ["$web_vitals_" + r.name + "_value"]: r.value, + }), + {}, + ), + ), + (this.M = { url: void 0, metrics: [], firstMetricTimestamp: void 0 })) + }), + (this.Wi = (o) => { + var r, + i = (r = this._instance.sessionManager) == null ? void 0 : r.checkAndGetSessionAndWindowId(!0) + if (at(i)) pd.error("Could not read session ID. Dropping metrics!") + else { + this.M = this.M || { url: void 0, metrics: [], firstMetricTimestamp: void 0 } + var s = this.Gi() + at(s) || + (Hn(o == null ? void 0 : o.name) || Hn(o == null ? void 0 : o.value) + ? pd.error("Invalid metric received", o) + : this.Ji && o.value >= this.Ji + ? pd.error("Ignoring metric with value >= " + this.Ji, o) + : (this.M.url !== s && + (this.Bi(), (this.Hi = setTimeout(this.Bi, this.flushToCaptureTimeoutMs))), + at(this.M.url) && (this.M.url = s), + (this.M.firstMetricTimestamp = at(this.M.firstMetricTimestamp) + ? Date.now() + : this.M.firstMetricTimestamp), + o.attribution && + o.attribution.interactionTargetElement && + (o.attribution.interactionTargetElement = void 0), + this.M.metrics.push( + mt({}, o, { + $current_url: s, + $session_id: i.sessionId, + $window_id: i.windowId, + timestamp: Date.now(), + }), + ), + this.M.metrics.length === this.allowedMetrics.length && this.Bi())) + } + }), + (this.V = () => { + var o, + r, + i, + s, + a = hn.__PosthogExtensions__ + at(a) || + at(a.postHogWebVitalsCallbacks) || + ({ onLCP: o, onCLS: r, onFCP: i, onINP: s } = a.postHogWebVitalsCallbacks), + o && r && i && s + ? (this.allowedMetrics.indexOf("LCP") > -1 && o(this.Wi.bind(this)), + this.allowedMetrics.indexOf("CLS") > -1 && r(this.Wi.bind(this)), + this.allowedMetrics.indexOf("FCP") > -1 && i(this.Wi.bind(this)), + this.allowedMetrics.indexOf("INP") > -1 && s(this.Wi.bind(this)), + (this.i = !0)) + : pd.error("web vitals callbacks not loaded - not starting") + }), + (this._instance = e), + (this.qi = !((n = this._instance.persistence) == null || !n.props[kO])), + this.startIfEnabled() + } + get allowedMetrics() { + var e, + n, + o = Xo(this._instance.config.capture_performance) + ? (e = this._instance.config.capture_performance) == null + ? void 0 + : e.web_vitals_allowed_metrics + : void 0 + return at(o) + ? ((n = this._instance.persistence) == null ? void 0 : n.props[xO]) || ["CLS", "FCP", "INP", "LCP"] + : o + } + get flushToCaptureTimeoutMs() { + return ( + (Xo(this._instance.config.capture_performance) + ? this._instance.config.capture_performance.web_vitals_delayed_flush_ms + : void 0) || 5e3 + ) + } + get Ji() { + var e = + Xo(this._instance.config.capture_performance) && + di(this._instance.config.capture_performance.__web_vitals_max_value) + ? this._instance.config.capture_performance.__web_vitals_max_value + : XO + return 0 < e && e <= 6e4 ? XO : e + } + get isEnabled() { + var e = ts == null ? void 0 : ts.protocol + if (e !== "http:" && e !== "https:") return pd.info("Web Vitals are disabled on non-http/https protocols"), !1 + var n = Xo(this._instance.config.capture_performance) + ? this._instance.config.capture_performance.web_vitals + : wc(this._instance.config.capture_performance) + ? this._instance.config.capture_performance + : void 0 + return wc(n) ? n : this.qi + } + startIfEnabled() { + this.isEnabled && !this.i && (pd.info("enabled, starting..."), this.G(this.V)) + } + onRemoteConfig(e) { + var n = Xo(e.capturePerformance) && !!e.capturePerformance.web_vitals, + o = Xo(e.capturePerformance) ? e.capturePerformance.web_vitals_allowed_metrics : void 0 + this._instance.persistence && + (this._instance.persistence.register({ [kO]: n }), this._instance.persistence.register({ [xO]: o })), + (this.qi = n), + this.startIfEnabled() + } + G(e) { + var n, o + ;(n = hn.__PosthogExtensions__) != null && n.postHogWebVitalsCallbacks && e(), + (o = hn.__PosthogExtensions__) == null || + o.loadExternalDependency == null || + o.loadExternalDependency(this._instance, "web-vitals", (r) => { + r ? pd.error("failed to load script", r) : e() + }) + } + Gi() { + var e = ke ? ke.location.href : void 0 + return e || pd.error("Could not determine current URL"), e + } +} +var X0t = ki("[Heatmaps]") +function JO(t) { + return Xo(t) && "clientX" in t && "clientY" in t && di(t.clientX) && di(t.clientY) +} +class J0t { + constructor(e) { + var n + ;(this.rageclicks = new pet()), + (this.qi = !1), + (this.i = !1), + (this.Vi = null), + (this.instance = e), + (this.qi = !((n = this.instance.persistence) == null || !n.props[y1])) + } + get flushIntervalMilliseconds() { + var e = 5e3 + return ( + Xo(this.instance.config.capture_heatmaps) && + this.instance.config.capture_heatmaps.flush_interval_milliseconds && + (e = this.instance.config.capture_heatmaps.flush_interval_milliseconds), + e + ) + } + get isEnabled() { + return at(this.instance.config.capture_heatmaps) + ? at(this.instance.config.enable_heatmaps) + ? this.qi + : this.instance.config.enable_heatmaps + : this.instance.config.capture_heatmaps !== !1 + } + startIfEnabled() { + if (this.isEnabled) { + if (this.i) return + X0t.info("starting..."), + this.Ki(), + (this.Vi = setInterval(this.Yi.bind(this), this.flushIntervalMilliseconds)) + } else { + var e, n + clearInterval((e = this.Vi) !== null && e !== void 0 ? e : void 0), + (n = this.Xi) == null || n.stop(), + this.getAndClearBuffer() + } + } + onRemoteConfig(e) { + var n = !!e.heatmaps + this.instance.persistence && this.instance.persistence.register({ [y1]: n }), + (this.qi = n), + this.startIfEnabled() + } + getAndClearBuffer() { + var e = this.M + return (this.M = void 0), e + } + Qi(e) { + this.Zi(e.originalEvent, "deadclick") + } + Ki() { + ke && + ht && + (Ko(ke, "beforeunload", this.Yi.bind(this)), + Ko(ht, "click", (e) => this.Zi(e || (ke == null ? void 0 : ke.event)), { capture: !0 }), + Ko(ht, "mousemove", (e) => this.te(e || (ke == null ? void 0 : ke.event)), { capture: !0 }), + (this.Xi = new het(this.instance, o0t, this.Qi.bind(this))), + this.Xi.startIfEnabled(), + (this.i = !0)) + } + ie(e, n) { + var o = this.instance.scrollManager.scrollY(), + r = this.instance.scrollManager.scrollX(), + i = this.instance.scrollManager.scrollElement(), + s = (function (a, c, d) { + for (var u = a; u && U_(u) && !qd(u, "body"); ) { + if (u === d) return !1 + if (Rn(c, ke == null ? void 0 : ke.getComputedStyle(u).position)) return !0 + u = iet(u) + } + return !1 + })(ret(e), ["fixed", "sticky"], i) + return { x: e.clientX + (s ? 0 : r), y: e.clientY + (s ? 0 : o), target_fixed: s, type: n } + } + Zi(e, n) { + var o + if ((n === void 0 && (n = "click"), !IO(e.target) && JO(e))) { + var r = this.ie(e, n) + ;(o = this.rageclicks) != null && + o.isRageClick(e.clientX, e.clientY, new Date().getTime()) && + this.ee(mt({}, r, { type: "rageclick" })), + this.ee(r) + } + } + te(e) { + !IO(e.target) && + JO(e) && + (clearTimeout(this.re), + (this.re = setTimeout(() => { + this.ee(this.ie(e, "mousemove")) + }, 500))) + } + ee(e) { + if (ke) { + var n = ke.location.href + ;(this.M = this.M || {}), this.M[n] || (this.M[n] = []), this.M[n].push(e) + } + } + Yi() { + this.M && !Qm(this.M) && this.instance.capture("$$heatmap", { $heatmap_data: this.getAndClearBuffer() }) + } +} +class eSt { + constructor(e) { + this._instance = e + } + doPageView(e, n) { + var o, + r = this.se(e, n) + return ( + (this.ne = { + pathname: (o = ke == null ? void 0 : ke.location.pathname) !== null && o !== void 0 ? o : "", + pageViewId: n, + timestamp: e, + }), + this._instance.scrollManager.resetContext(), + r + ) + } + doPageLeave(e) { + var n + return this.se(e, (n = this.ne) == null ? void 0 : n.pageViewId) + } + doEvent() { + var e + return { $pageview_id: (e = this.ne) == null ? void 0 : e.pageViewId } + } + se(e, n) { + var o = this.ne + if (!o) return { $pageview_id: n } + var r = { $pageview_id: n, $prev_pageview_id: o.pageViewId }, + i = this._instance.scrollManager.getContext() + if (i && !this._instance.config.disable_scroll_properties) { + var { + maxScrollHeight: s, + lastScrollY: a, + maxScrollY: c, + maxContentHeight: d, + lastContentY: u, + maxContentY: m, + } = i + if (!(at(s) || at(a) || at(c) || at(d) || at(u) || at(m))) { + ;(s = Math.ceil(s)), + (a = Math.ceil(a)), + (c = Math.ceil(c)), + (d = Math.ceil(d)), + (u = Math.ceil(u)), + (m = Math.ceil(m)) + var f = s <= 1 ? 1 : aa(a / s, 0, 1), + g = s <= 1 ? 1 : aa(c / s, 0, 1), + b = d <= 1 ? 1 : aa(u / d, 0, 1), + v = d <= 1 ? 1 : aa(m / d, 0, 1) + r = cr(r, { + $prev_pageview_last_scroll: a, + $prev_pageview_last_scroll_percentage: f, + $prev_pageview_max_scroll: c, + $prev_pageview_max_scroll_percentage: g, + $prev_pageview_last_content: u, + $prev_pageview_last_content_percentage: b, + $prev_pageview_max_content: m, + $prev_pageview_max_content_percentage: v, + }) + } + } + return ( + o.pathname && (r.$prev_pageview_pathname = o.pathname), + o.timestamp && (r.$prev_pageview_duration = (e.getTime() - o.timestamp.getTime()) / 1e3), + r + ) + } +} +class tSt { + constructor(e) { + this._instance = e + } + sendExceptionEvent(e) { + this._instance.capture("$exception", e, { _noTruncate: !0, _batchKey: "exceptionEvent" }) + } +} +var pa = "Mobile", + Ew = "iOS", + Ll = "Android", + Wv = "Tablet", + Met = Ll + " " + Wv, + jet = "iPad", + Eet = "Apple", + zet = Eet + " Watch", + Kv = "Safari", + Kh = "BlackBerry", + $et = "Samsung", + Let = $et + "Browser", + Det = $et + " Internet", + $p = "Chrome", + nSt = $p + " OS", + Net = $p + " " + Ew, + sE = "Internet Explorer", + Oet = sE + " " + pa, + aE = "Opera", + oSt = aE + " Mini", + lE = "Edge", + Fet = "Microsoft " + lE, + ah = "Firefox", + Bet = ah + " " + Ew, + Vv = "Nintendo", + Hv = "PlayStation", + lh = "Xbox", + Uet = Ll + " " + pa, + qet = pa + " " + Kv, + av = "Windows", + N1 = av + " Phone", + e2 = "Nokia", + O1 = "Ouya", + Wet = "Generic", + rSt = Wet + " " + pa.toLowerCase(), + Ket = Wet + " " + Wv.toLowerCase(), + F1 = "Konqueror", + Ti = "(\\d+(\\.\\d+)?)", + gA = new RegExp("Version/" + Ti), + iSt = new RegExp(lh, "i"), + sSt = new RegExp(Hv + " \\w+", "i"), + aSt = new RegExp(Vv + " \\w+", "i"), + cE = new RegExp(Kh + "|PlayBook|BB10", "i"), + lSt = { + "NT3.51": "NT 3.11", + "NT4.0": "NT 4.0", + "5.0": "2000", + 5.1: "XP", + 5.2: "XP", + "6.0": "Vista", + 6.1: "7", + 6.2: "8", + 6.3: "8.1", + 6.4: "10", + "10.0": "10", + }, + cSt = (t, e) => + (e && Rn(e, Eet)) || + (function (n) { + return Rn(n, Kv) && !Rn(n, $p) && !Rn(n, Ll) + })(t), + Vet = function (t, e) { + return ( + (e = e || ""), + Rn(t, " OPR/") && Rn(t, "Mini") + ? oSt + : Rn(t, " OPR/") + ? aE + : cE.test(t) + ? Kh + : Rn(t, "IE" + pa) || Rn(t, "WPDesktop") + ? Oet + : Rn(t, Let) + ? Det + : Rn(t, lE) || Rn(t, "Edg/") + ? Fet + : Rn(t, "FBIOS") + ? "Facebook " + pa + : Rn(t, "UCWEB") || Rn(t, "UCBrowser") + ? "UC Browser" + : Rn(t, "CriOS") + ? Net + : Rn(t, "CrMo") || Rn(t, $p) + ? $p + : Rn(t, Ll) && Rn(t, Kv) + ? Uet + : Rn(t, "FxiOS") + ? Bet + : Rn(t.toLowerCase(), F1.toLowerCase()) + ? F1 + : cSt(t, e) + ? Rn(t, pa) + ? qet + : Kv + : Rn(t, ah) + ? ah + : Rn(t, "MSIE") || Rn(t, "Trident/") + ? sE + : Rn(t, "Gecko") + ? ah + : "" + ) + }, + dSt = { + [Oet]: [new RegExp("rv:" + Ti)], + [Fet]: [new RegExp(lE + "?\\/" + Ti)], + [$p]: [new RegExp("(" + $p + "|CrMo)\\/" + Ti)], + [Net]: [new RegExp("CriOS\\/" + Ti)], + "UC Browser": [new RegExp("(UCBrowser|UCWEB)\\/" + Ti)], + [Kv]: [gA], + [qet]: [gA], + [aE]: [new RegExp("(Opera|OPR)\\/" + Ti)], + [ah]: [new RegExp(ah + "\\/" + Ti)], + [Bet]: [new RegExp("FxiOS\\/" + Ti)], + [F1]: [new RegExp("Konqueror[:/]?" + Ti, "i")], + [Kh]: [new RegExp(Kh + " " + Ti), gA], + [Uet]: [new RegExp("android\\s" + Ti, "i")], + [Det]: [new RegExp(Let + "\\/" + Ti)], + [sE]: [new RegExp("(rv:|MSIE )" + Ti)], + Mozilla: [new RegExp("rv:" + Ti)], + }, + uSt = function (t, e) { + var n = Vet(t, e), + o = dSt[n] + if (at(o)) return null + for (var r = 0; r < o.length; r++) { + var i = o[r], + s = t.match(i) + if (s) return parseFloat(s[s.length - 2]) + } + return null + }, + t2 = [ + [new RegExp(lh + "; " + lh + " (.*?)[);]", "i"), (t) => [lh, (t && t[1]) || ""]], + [new RegExp(Vv, "i"), [Vv, ""]], + [new RegExp(Hv, "i"), [Hv, ""]], + [cE, [Kh, ""]], + [ + new RegExp(av, "i"), + (t, e) => { + if (/Phone/.test(e) || /WPDesktop/.test(e)) return [N1, ""] + if (new RegExp(pa).test(e) && !/IEMobile\b/.test(e)) return [av + " " + pa, ""] + var n = /Windows NT ([0-9.]+)/i.exec(e) + if (n && n[1]) { + var o = n[1], + r = lSt[o] || "" + return /arm/i.test(e) && (r = "RT"), [av, r] + } + return [av, ""] + }, + ], + [ + /((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/, + (t) => { + if (t && t[3]) { + var e = [t[3], t[4], t[5] || "0"] + return [Ew, e.join(".")] + } + return [Ew, ""] + }, + ], + [ + /(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i, + (t) => { + var e = "" + return t && t.length >= 3 && (e = at(t[2]) ? t[3] : t[2]), ["watchOS", e] + }, + ], + [ + new RegExp("(" + Ll + " (\\d+)\\.(\\d+)\\.?(\\d+)?|" + Ll + ")", "i"), + (t) => { + if (t && t[2]) { + var e = [t[2], t[3], t[4] || "0"] + return [Ll, e.join(".")] + } + return [Ll, ""] + }, + ], + [ + /Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i, + (t) => { + var e = ["Mac OS X", ""] + if (t && t[1]) { + var n = [t[1], t[2], t[3] || "0"] + e[1] = n.join(".") + } + return e + }, + ], + [/Mac/i, ["Mac OS X", ""]], + [/CrOS/, [nSt, ""]], + [/Linux|debian/i, ["Linux", ""]], + ], + n2 = function (t) { + return aSt.test(t) + ? Vv + : sSt.test(t) + ? Hv + : iSt.test(t) + ? lh + : new RegExp(O1, "i").test(t) + ? O1 + : new RegExp("(" + N1 + "|WPDesktop)", "i").test(t) + ? N1 + : /iPad/.test(t) + ? jet + : /iPod/.test(t) + ? "iPod Touch" + : /iPhone/.test(t) + ? "iPhone" + : /(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(t) + ? zet + : cE.test(t) + ? Kh + : /(kobo)\s(ereader|touch)/i.test(t) + ? "Kobo" + : new RegExp(e2, "i").test(t) + ? e2 + : /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(t) || + /(kf[a-z]+)( bui|\)).+silk\//i.test(t) + ? "Kindle Fire" + : /(Android|ZTE)/i.test(t) + ? !new RegExp(pa).test(t) || + /(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test( + t, + ) + ? (/pixel[\daxl ]{1,6}/i.test(t) && + !/pixel c/i.test(t)) || + /(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test( + t, + ) || + (/lmy47v/i.test(t) && !/QTAQZ3/i.test(t)) + ? Ll + : Met + : Ll + : new RegExp("(pda|" + pa + ")", "i").test(t) + ? rSt + : new RegExp(Wv, "i").test(t) && + !new RegExp(Wv + " pc", "i").test(t) + ? Ket + : "" + }, + Pk = "https?://(.*)", + W_ = [ + "gclid", + "gclsrc", + "dclid", + "gbraid", + "wbraid", + "fbclid", + "msclkid", + "twclid", + "li_fat_id", + "igshid", + "ttclid", + "rdt_cid", + "epik", + "qclid", + "sccid", + "irclid", + "_kx", + ], + pSt = B_(["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_term", "gad_source", "mc_cid"], W_), + dE = "<masked>" +function Het(t, e, n) { + if (!ht) return {} + var o = e ? B_([], W_, n || []) : [] + return Get(Jj(ht.URL, o, dE), t) +} +function Get(t, e) { + var n = pSt.concat(e || []), + o = {} + return ( + po(n, function (r) { + var i = Pw(t, r) + o[r] = i || null + }), + o + ) +} +function Qet(t) { + var e = (function (i) { + return i + ? i.search(Pk + "google.([^/?]*)") === 0 + ? "google" + : i.search(Pk + "bing.com") === 0 + ? "bing" + : i.search(Pk + "yahoo.com") === 0 + ? "yahoo" + : i.search(Pk + "duckduckgo.com") === 0 + ? "duckduckgo" + : null + : null + })(t), + n = e != "yahoo" ? "q" : "p", + o = {} + if (!au(e)) { + o.$search_engine = e + var r = ht ? Pw(ht.referrer, n) : "" + r.length && (o.ph_keyword = r) + } + return o +} +function o2() { + return navigator.language || navigator.userLanguage +} +function Zet() { + return (ht == null ? void 0 : ht.referrer) || "$direct" +} +function Yet(t, e) { + var n = t ? B_([], W_, e || []) : [], + o = ts == null ? void 0 : ts.href.substring(0, 1e3) + return { r: Zet().substring(0, 1e3), u: o ? Jj(o, n, dE) : void 0 } +} +function Xet(t) { + var e, + { r: n, u: o } = t, + r = { + $referrer: n, + $referring_domain: n == null ? void 0 : n == "$direct" ? "$direct" : (e = qh(n)) == null ? void 0 : e.host, + } + if (o) { + r.$current_url = o + var i = qh(o) + ;(r.$host = i == null ? void 0 : i.host), (r.$pathname = i == null ? void 0 : i.pathname) + var s = Get(o) + cr(r, s) + } + if (n) { + var a = Qet(n) + cr(r, a) + } + return r +} +function Jet() { + try { + return Intl.DateTimeFormat().resolvedOptions().timeZone + } catch { + return + } +} +function mSt() { + try { + return new Date().getTimezoneOffset() + } catch { + return + } +} +function hSt(t, e) { + if (!Ji) return {} + var n, + o, + r, + i = t ? B_([], W_, e || []) : [], + [s, a] = (function (c) { + for (var d = 0; d < t2.length; d++) { + var [u, m] = t2[d], + f = u.exec(c), + g = f && (da(m) ? m(f, c) : m) + if (g) return g + } + return ["", ""] + })(Ji) + return cr( + Yj({ + $os: s, + $os_version: a, + $browser: Vet(Ji, navigator.vendor), + $device: n2(Ji), + $device_type: + ((o = Ji), + (r = n2(o)), + r === jet || r === Met || r === "Kobo" || r === "Kindle Fire" || r === Ket + ? Wv + : r === Vv || r === lh || r === Hv || r === O1 + ? "Console" + : r === zet + ? "Wearable" + : r + ? pa + : "Desktop"), + $timezone: Jet(), + $timezone_offset: mSt(), + }), + { + $current_url: Jj(ts == null ? void 0 : ts.href, i, dE), + $host: ts == null ? void 0 : ts.host, + $pathname: ts == null ? void 0 : ts.pathname, + $raw_user_agent: Ji.length > 1e3 ? Ji.substring(0, 997) + "..." : Ji, + $browser_version: uSt(Ji, navigator.vendor), + $browser_language: o2(), + $browser_language_prefix: ((n = o2()), typeof n == "string" ? n.split("-")[0] : void 0), + $screen_height: ke == null ? void 0 : ke.screen.height, + $screen_width: ke == null ? void 0 : ke.screen.width, + $viewport_height: ke == null ? void 0 : ke.innerHeight, + $viewport_width: ke == null ? void 0 : ke.innerWidth, + $lib: "web", + $lib_version: gc.LIB_VERSION, + $insert_id: Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10), + $time: Date.now() / 1e3, + }, + ) +} +var B1, + xl = ki("[FeatureFlags]"), + vA = "$active_feature_flags", + Pm = "$override_feature_flags", + r2 = "$feature_flag_payloads", + $g = "$override_feature_flag_payloads", + i2 = "$feature_flag_request_id", + s2 = (t) => { + var e = {} + for (var [n, o] of kx(t || {})) o && (e[n] = o) + return e + }, + fSt = (t) => { + var e = t.flags + return ( + e + ? ((t.featureFlags = Object.fromEntries( + Object.keys(e).map((n) => { + var o + return [n, (o = e[n].variant) !== null && o !== void 0 ? o : e[n].enabled] + }), + )), + (t.featureFlagPayloads = Object.fromEntries( + Object.keys(e) + .filter((n) => e[n].enabled) + .filter((n) => { + var o + return (o = e[n].metadata) == null ? void 0 : o.payload + }) + .map((n) => { + var o + return [n, (o = e[n].metadata) == null ? void 0 : o.payload] + }), + ))) + : xl.warn( + "Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version", + ), + t + ) + } +;(function (t) { + ;(t.FeatureFlags = "feature_flags"), (t.Recordings = "recordings") +})(B1 || (B1 = {})) +let gSt = class { + constructor(e) { + ;(this.oe = !1), + (this.ae = !1), + (this.le = !1), + (this.he = !1), + (this.ue = !1), + (this.de = !1), + (this.ve = !1), + (this._instance = e), + (this.featureFlagEventHandlers = []) + } + decide() { + if (this._instance.config.__preview_remote_config) this.de = !0 + else { + var e = + !this.ce && + (this._instance.config.advanced_disable_feature_flags || + this._instance.config.advanced_disable_feature_flags_on_first_load) + this.fe({ disableFlags: e }) + } + } + get hasLoadedFlags() { + return this.ae + } + getFlags() { + return Object.keys(this.getFlagVariants()) + } + getFlagsWithDetails() { + var e = this._instance.get_property(_1), + n = this._instance.get_property(Pm), + o = this._instance.get_property($g) + if (!o && !n) return e || {} + var r = cr({}, e || {}), + i = [...new Set([...Object.keys(o || {}), ...Object.keys(n || {})])] + for (var s of i) { + var a, + c, + d = r[s], + u = n == null ? void 0 : n[s], + m = at(u) ? (a = d == null ? void 0 : d.enabled) !== null && a !== void 0 && a : !!u, + f = at(u) ? d.variant : typeof u == "string" ? u : void 0, + g = o == null ? void 0 : o[s], + b = mt({}, d, { enabled: m, variant: m ? (f ?? (d == null ? void 0 : d.variant)) : void 0 }) + m !== (d == null ? void 0 : d.enabled) && (b.original_enabled = d == null ? void 0 : d.enabled), + f !== (d == null ? void 0 : d.variant) && (b.original_variant = d == null ? void 0 : d.variant), + g && + (b.metadata = mt({}, d == null ? void 0 : d.metadata, { + payload: g, + original_payload: d == null || (c = d.metadata) == null ? void 0 : c.payload, + })), + (r[s] = b) + } + return ( + this.oe || + (xl.warn(" Overriding feature flag details!", { + flagDetails: e, + overriddenPayloads: o, + finalDetails: r, + }), + (this.oe = !0)), + r + ) + } + getFlagVariants() { + var e = this._instance.get_property(Zm), + n = this._instance.get_property(Pm) + if (!n) return e || {} + for (var o = cr({}, e), r = Object.keys(n), i = 0; i < r.length; i++) o[r[i]] = n[r[i]] + return ( + this.oe || + (xl.warn(" Overriding feature flags!", { enabledFlags: e, overriddenFlags: n, finalFlags: o }), + (this.oe = !0)), + o + ) + } + getFlagPayloads() { + var e = this._instance.get_property(r2), + n = this._instance.get_property($g) + if (!n) return e || {} + for (var o = cr({}, e || {}), r = Object.keys(n), i = 0; i < r.length; i++) o[r[i]] = n[r[i]] + return ( + this.oe || + (xl.warn(" Overriding feature flag payloads!", { + flagPayloads: e, + overriddenPayloads: n, + finalPayloads: o, + }), + (this.oe = !0)), + o + ) + } + reloadFeatureFlags() { + this.he || + this._instance.config.advanced_disable_feature_flags || + this.ce || + (this.ce = setTimeout(() => { + this.fe() + }, 5)) + } + pe() { + clearTimeout(this.ce), (this.ce = void 0) + } + ensureFlagsLoaded() { + this.ae || this.le || this.ce || this.reloadFeatureFlags() + } + setAnonymousDistinctId(e) { + this.$anon_distinct_id = e + } + setReloadingPaused(e) { + this.he = e + } + fe(e) { + var n + if ((this.pe(), !this._instance.config.advanced_disable_decide)) + if (this.le) this.ue = !0 + else { + var o = { + token: this._instance.config.token, + distinct_id: this._instance.get_distinct_id(), + groups: this._instance.getGroups(), + $anon_distinct_id: this.$anon_distinct_id, + person_properties: mt( + {}, + ((n = this._instance.persistence) == null ? void 0 : n.get_initial_props()) || {}, + this._instance.get_property(iv) || {}, + ), + group_properties: this._instance.get_property(Zu), + } + ;((e != null && e.disableFlags) || this._instance.config.advanced_disable_feature_flags) && + (o.disable_flags = !0) + var r = this._instance.config.__preview_flags_v2 && this._instance.config.__preview_remote_config + r && (o.timezone = Jet()), + (this.le = !0), + this._instance.ge({ + method: "POST", + url: this._instance.requestRouter.endpointFor("api", r ? "/flags/?v=2" : "/decide/?v=4"), + data: o, + compression: this._instance.config.disable_compression ? void 0 : Ga.Base64, + timeout: this._instance.config.feature_flag_request_timeout_ms, + callback: (i) => { + var s, + a, + c, + d = !0 + i.statusCode === 200 && (this.ue || (this.$anon_distinct_id = void 0), (d = !1)), + (this.le = !1), + this.de || + ((this.de = !0), this._instance._e((c = i.json) !== null && c !== void 0 ? c : {})), + (o.disable_flags && !this.ue) || + ((this.ve = !d), + i.json && (s = i.json.quotaLimited) != null && s.includes(B1.FeatureFlags) + ? xl.warn( + "You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.", + ) + : (this.receivedFeatureFlags((a = i.json) !== null && a !== void 0 ? a : {}, d), + this.ue && ((this.ue = !1), this.fe()))) + }, + }) + } + } + getFeatureFlag(e, n) { + if ((n === void 0 && (n = {}), this.ae || (this.getFlags() && this.getFlags().length > 0))) { + var o = this.getFlagVariants()[e], + r = "" + o, + i = this._instance.get_property(i2) || void 0, + s = this._instance.get_property(_w) || {} + if ((n.send_event || !("send_event" in n)) && (!(e in s) || !s[e].includes(r))) { + var a, c, d, u, m, f, g, b, v, w, _ + Yo(s[e]) ? s[e].push(r) : (s[e] = [r]), + (a = this._instance.persistence) == null || a.register({ [_w]: s }) + var y = this.getFeatureFlagDetails(e), + C = { + $feature_flag: e, + $feature_flag_response: o, + $feature_flag_payload: this.getFeatureFlagPayload(e) || null, + $feature_flag_request_id: i, + $feature_flag_bootstrapped_response: + ((c = this._instance.config.bootstrap) == null || (d = c.featureFlags) == null + ? void 0 + : d[e]) || null, + $feature_flag_bootstrapped_payload: + ((u = this._instance.config.bootstrap) == null || (m = u.featureFlagPayloads) == null + ? void 0 + : m[e]) || null, + $used_bootstrap_value: !this.ve, + } + at(y == null || (f = y.metadata) == null ? void 0 : f.version) || + (C.$feature_flag_version = y.metadata.version) + var S, + P = + (g = y == null || (b = y.reason) == null ? void 0 : b.description) !== null && g !== void 0 + ? g + : y == null || (v = y.reason) == null + ? void 0 + : v.code + P && (C.$feature_flag_reason = P), + y != null && (w = y.metadata) != null && w.id && (C.$feature_flag_id = y.metadata.id), + (at(y == null ? void 0 : y.original_variant) && at(y == null ? void 0 : y.original_enabled)) || + (C.$feature_flag_original_response = at(y.original_variant) + ? y.original_enabled + : y.original_variant), + y != null && + (_ = y.metadata) != null && + _.original_payload && + (C.$feature_flag_original_payload = + y == null || (S = y.metadata) == null ? void 0 : S.original_payload), + this._instance.capture("$feature_flag_called", C) + } + return o + } + xl.warn('getFeatureFlag for key "' + e + `" failed. Feature flags didn't load in time.`) + } + getFeatureFlagDetails(e) { + return this.getFlagsWithDetails()[e] + } + getFeatureFlagPayload(e) { + return this.getFlagPayloads()[e] + } + getRemoteConfigPayload(e, n) { + var o = this._instance.config.token + this._instance.ge({ + method: "POST", + url: this._instance.requestRouter.endpointFor("api", "/decide/?v=4"), + data: { distinct_id: this._instance.get_distinct_id(), token: o }, + compression: this._instance.config.disable_compression ? void 0 : Ga.Base64, + timeout: this._instance.config.feature_flag_request_timeout_ms, + callback: (r) => { + var i, + s = (i = r.json) == null ? void 0 : i.featureFlagPayloads + n((s == null ? void 0 : s[e]) || void 0) + }, + }) + } + isFeatureEnabled(e, n) { + if ((n === void 0 && (n = {}), this.ae || (this.getFlags() && this.getFlags().length > 0))) + return !!this.getFeatureFlag(e, n) + xl.warn('isFeatureEnabled for key "' + e + `" failed. Feature flags didn't load in time.`) + } + addFeatureFlagsHandler(e) { + this.featureFlagEventHandlers.push(e) + } + removeFeatureFlagsHandler(e) { + this.featureFlagEventHandlers = this.featureFlagEventHandlers.filter((n) => n !== e) + } + receivedFeatureFlags(e, n) { + if (this._instance.persistence) { + this.ae = !0 + var o = this.getFlagVariants(), + r = this.getFlagPayloads(), + i = this.getFlagsWithDetails() + ;(function (s, a, c, d, u) { + c === void 0 && (c = {}), d === void 0 && (d = {}), u === void 0 && (u = {}) + var m = fSt(s), + f = m.flags, + g = m.featureFlags, + b = m.featureFlagPayloads + if (g) { + var v = s.requestId + if (Yo(g)) { + xl.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.") + var w = {} + if (g) for (var _ = 0; _ < g.length; _++) w[g[_]] = !0 + a && a.register({ [vA]: g, [Zm]: w }) + } else { + var y = g, + C = b, + S = f + s.errorsWhileComputingFlags && ((y = mt({}, c, y)), (C = mt({}, d, C)), (S = mt({}, u, S))), + a && + a.register( + mt( + { [vA]: Object.keys(s2(y)), [Zm]: y || {}, [r2]: C || {}, [_1]: S || {} }, + v ? { [i2]: v } : {}, + ), + ) + } + } + })(e, this._instance.persistence, o, r, i), + this.me(n) + } + } + override(e, n) { + n === void 0 && (n = !1), + xl.warn("override is deprecated. Please use overrideFeatureFlags instead."), + this.overrideFeatureFlags({ flags: e, suppressWarning: n }) + } + overrideFeatureFlags(e) { + if (!this._instance.__loaded || !this._instance.persistence) + return xl.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags") + if (e === !1) + return this._instance.persistence.unregister(Pm), this._instance.persistence.unregister($g), void this.me() + if (e && typeof e == "object" && ("flags" in e || "payloads" in e)) { + var n, + o = e + if (((this.oe = !!((n = o.suppressWarning) !== null && n !== void 0 && n)), "flags" in o)) { + if (o.flags === !1) this._instance.persistence.unregister(Pm) + else if (o.flags) + if (Yo(o.flags)) { + for (var r = {}, i = 0; i < o.flags.length; i++) r[o.flags[i]] = !0 + this._instance.persistence.register({ [Pm]: r }) + } else this._instance.persistence.register({ [Pm]: o.flags }) + } + return ( + "payloads" in o && + (o.payloads === !1 + ? this._instance.persistence.unregister($g) + : o.payloads && this._instance.persistence.register({ [$g]: o.payloads })), + void this.me() + ) + } + this.me() + } + onFeatureFlags(e) { + if ((this.addFeatureFlagsHandler(e), this.ae)) { + var { flags: n, flagVariants: o } = this.be() + e(n, o) + } + return () => this.removeFeatureFlagsHandler(e) + } + updateEarlyAccessFeatureEnrollment(e, n) { + var o, + r = (this._instance.get_property(xx) || []).find((c) => c.flagKey === e), + i = { ["$feature_enrollment/" + e]: n }, + s = { $feature_flag: e, $feature_enrollment: n, $set: i } + r && (s.$early_access_feature_name = r.name), + this._instance.capture("$feature_enrollment_update", s), + this.setPersonPropertiesForFlags(i, !1) + var a = mt({}, this.getFlagVariants(), { [e]: n }) + ;(o = this._instance.persistence) == null || o.register({ [vA]: Object.keys(s2(a)), [Zm]: a }), this.me() + } + getEarlyAccessFeatures(e, n, o) { + n === void 0 && (n = !1) + var r = this._instance.get_property(xx), + i = o ? "&" + o.map((s) => "stage=" + s).join("&") : "" + if (r && !n) return e(r) + this._instance.ge({ + url: this._instance.requestRouter.endpointFor( + "api", + "/api/early_access_features/?token=" + this._instance.config.token + i, + ), + method: "GET", + callback: (s) => { + var a + if (s.json) { + var c = s.json.earlyAccessFeatures + return (a = this._instance.persistence) == null || a.register({ [xx]: c }), e(c) + } + }, + }) + } + be() { + var e = this.getFlags(), + n = this.getFlagVariants() + return { + flags: e.filter((o) => n[o]), + flagVariants: Object.keys(n) + .filter((o) => n[o]) + .reduce((o, r) => ((o[r] = n[r]), o), {}), + } + } + me(e) { + var { flags: n, flagVariants: o } = this.be() + this.featureFlagEventHandlers.forEach((r) => r(n, o, { errorsLoading: e })) + } + setPersonPropertiesForFlags(e, n) { + n === void 0 && (n = !0) + var o = this._instance.get_property(iv) || {} + this._instance.register({ [iv]: mt({}, o, e) }), n && this._instance.reloadFeatureFlags() + } + resetPersonPropertiesForFlags() { + this._instance.unregister(iv) + } + setGroupPropertiesForFlags(e, n) { + n === void 0 && (n = !0) + var o = this._instance.get_property(Zu) || {} + Object.keys(o).length !== 0 && + Object.keys(o).forEach((r) => { + ;(o[r] = mt({}, o[r], e[r])), delete e[r] + }), + this._instance.register({ [Zu]: mt({}, o, e) }), + n && this._instance.reloadFeatureFlags() + } + resetGroupPropertiesForFlags(e) { + if (e) { + var n = this._instance.get_property(Zu) || {} + this._instance.register({ [Zu]: mt({}, n, { [e]: {} }) }) + } else this._instance.unregister(Zu) + } +} +var vSt = ["cookie", "localstorage", "localstorage+cookie", "sessionstorage", "memory"] +let bA = class { + constructor(e) { + ;(this.S = e), + (this.props = {}), + (this.we = !1), + (this.ye = ((n) => { + var o = "" + return ( + n.token && (o = n.token.replace(/\+/g, "PL").replace(/\//g, "SL").replace(/=/g, "EQ")), + n.persistence_name ? "ph_" + n.persistence_name : "ph_" + o + "_posthog" + ) + })(e)), + (this.q = this.Se(e)), + this.load(), + e.debug && St.info("Persistence loaded", e.persistence, mt({}, this.props)), + this.update_config(e, e), + this.save() + } + Se(e) { + vSt.indexOf(e.persistence.toLowerCase()) === -1 && + (St.critical("Unknown persistence type " + e.persistence + "; falling back to localStorage+cookie"), + (e.persistence = "localStorage+cookie")) + var n = e.persistence.toLowerCase() + return n === "localstorage" && kr.O() + ? kr + : n === "localstorage+cookie" && xk.O() + ? xk + : n === "sessionstorage" && Wr.O() + ? Wr + : n === "memory" + ? t0t + : n === "cookie" + ? Ac + : xk.O() + ? xk + : Ac + } + properties() { + var e = {} + return ( + po(this.props, function (n, o) { + if (o === Zm && Xo(n)) + for (var r = Object.keys(n), i = 0; i < r.length; i++) e["$feature/" + r[i]] = n[r[i]] + else + (a = o), + (c = !1), + (au((s = zCt)) + ? c + : hO && s.indexOf === hO + ? s.indexOf(a) != -1 + : (po(s, function (d) { + if (c || (c = d === a)) return xw + }), + c)) || (e[o] = n) + var s, a, c + }), + e + ) + } + load() { + if (!this.$e) { + var e = this.q.D(this.ye) + e && (this.props = cr({}, e)) + } + } + save() { + this.$e || this.q.j(this.ye, this.props, this.ke, this.xe, this.Ee, this.S.debug) + } + remove() { + this.q.L(this.ye, !1), this.q.L(this.ye, !0) + } + clear() { + this.remove(), (this.props = {}) + } + register_once(e, n, o) { + if (Xo(e)) { + at(n) && (n = "None"), (this.ke = at(o) ? this.Ie : o) + var r = !1 + if ( + (po(e, (i, s) => { + ;(this.props.hasOwnProperty(s) && this.props[s] !== n) || ((this.props[s] = i), (r = !0)) + }), + r) + ) + return this.save(), !0 + } + return !1 + } + register(e, n) { + if (Xo(e)) { + this.ke = at(n) ? this.Ie : n + var o = !1 + if ( + (po(e, (r, i) => { + e.hasOwnProperty(i) && this.props[i] !== r && ((this.props[i] = r), (o = !0)) + }), + o) + ) + return this.save(), !0 + } + return !1 + } + unregister(e) { + e in this.props && (delete this.props[e], this.save()) + } + update_campaign_params() { + if (!this.we) { + var e = Het( + this.S.custom_campaign_params, + this.S.mask_personal_data_properties, + this.S.custom_personal_data_properties, + ) + Qm(Yj(e)) || this.register(e), (this.we = !0) + } + } + update_search_keyword() { + var e + this.register((e = ht == null ? void 0 : ht.referrer) ? Qet(e) : {}) + } + update_referrer_info() { + var e + this.register_once( + { + $referrer: Zet(), + $referring_domain: + (ht != null && ht.referrer && ((e = qh(ht.referrer)) == null ? void 0 : e.host)) || "$direct", + }, + void 0, + ) + } + set_initial_person_info() { + this.props[P1] || + this.props[R1] || + this.register_once( + { [Cw]: Yet(this.S.mask_personal_data_properties, this.S.custom_personal_data_properties) }, + void 0, + ) + } + get_initial_props() { + var e = {} + po([R1, P1], (s) => { + var a = this.props[s] + a && + po(a, function (c, d) { + e["$initial_" + v1(d)] = c + }) + }) + var n, + o, + r = this.props[Cw] + if (r) { + var i = + ((n = Xet(r)), + (o = {}), + po(n, function (s, a) { + o["$initial_" + v1(a)] = s + }), + o) + cr(e, i) + } + return e + } + safe_merge(e) { + return ( + po(this.props, function (n, o) { + o in e || (e[o] = n) + }), + e + ) + } + update_config(e, n) { + if ( + ((this.Ie = this.ke = e.cookie_expiration), + this.set_disabled(e.disable_persistence), + this.set_cross_subdomain(e.cross_subdomain_cookie), + this.set_secure(e.secure_cookie), + e.persistence !== n.persistence) + ) { + var o = this.Se(e), + r = this.props + this.clear(), (this.q = o), (this.props = r), this.save() + } + } + set_disabled(e) { + ;(this.$e = e), this.$e ? this.remove() : this.save() + } + set_cross_subdomain(e) { + e !== this.xe && ((this.xe = e), this.remove(), this.save()) + } + set_secure(e) { + e !== this.Ee && ((this.Ee = e), this.remove(), this.save()) + } + set_event_timer(e, n) { + var o = this.props[ov] || {} + ;(o[e] = n), (this.props[ov] = o), this.save() + } + remove_event_timer(e) { + var n = (this.props[ov] || {})[e] + return at(n) || (delete this.props[ov][e], this.save()), n + } + get_property(e) { + return this.props[e] + } + set_property(e, n) { + ;(this.props[e] = n), this.save() + } + }, + ett = class { + constructor() { + ;(this.Pe = {}), (this.Pe = {}) + } + on(e, n) { + return ( + this.Pe[e] || (this.Pe[e] = []), + this.Pe[e].push(n), + () => { + this.Pe[e] = this.Pe[e].filter((o) => o !== n) + } + ) + } + emit(e, n) { + for (var o of this.Pe[e] || []) o(n) + for (var r of this.Pe["*"] || []) r(e, n) + } + } +var zw = function (t, e) { + if ( + !(function (n) { + try { + new RegExp(n) + } catch { + return !1 + } + return !0 + })(e) + ) + return !1 + try { + return new RegExp(e).test(t) + } catch { + return !1 + } +} +let bSt = class Um { + constructor(e) { + ;(this.Re = new ett()), + (this.Te = (n, o) => this.Me(n, o) && this.Ce(n, o) && this.Oe(n, o)), + (this.Me = (n, o) => + o == null || !o.event || (n == null ? void 0 : n.event) === (o == null ? void 0 : o.event)), + (this._instance = e), + (this.Fe = new Set()), + (this.Ae = new Set()) + } + init() { + var e + if (!at((e = this._instance) == null ? void 0 : e.De)) { + var n + ;(n = this._instance) == null || + n.De((o, r) => { + this.on(o, r) + }) + } + } + register(e) { + var n, o + if ( + !at((n = this._instance) == null ? void 0 : n.De) && + (e.forEach((s) => { + var a, c + ;(a = this.Ae) == null || a.add(s), + (c = s.steps) == null || + c.forEach((d) => { + var u + ;(u = this.Fe) == null || u.add((d == null ? void 0 : d.event) || "") + }) + }), + (o = this._instance) != null && o.autocapture) + ) { + var r, + i = new Set() + e.forEach((s) => { + var a + ;(a = s.steps) == null || + a.forEach((c) => { + c != null && c.selector && i.add(c == null ? void 0 : c.selector) + }) + }), + (r = this._instance) == null || r.autocapture.setElementSelectors(i) + } + } + on(e, n) { + var o + n != null && + e.length != 0 && + (this.Fe.has(e) || this.Fe.has(n == null ? void 0 : n.event)) && + this.Ae && + ((o = this.Ae) == null ? void 0 : o.size) > 0 && + this.Ae.forEach((r) => { + this.je(n, r) && this.Re.emit("actionCaptured", r.name) + }) + } + Le(e) { + this.onAction("actionCaptured", (n) => e(n)) + } + je(e, n) { + if ((n == null ? void 0 : n.steps) == null) return !1 + for (var o of n.steps) if (this.Te(e, o)) return !0 + return !1 + } + onAction(e, n) { + return this.Re.on(e, n) + } + Ce(e, n) { + if (n != null && n.url) { + var o, + r = e == null || (o = e.properties) == null ? void 0 : o.$current_url + if ( + !r || + typeof r != "string" || + !Um.Ne(r, n == null ? void 0 : n.url, (n == null ? void 0 : n.url_matching) || "contains") + ) + return !1 + } + return !0 + } + static Ne(e, n, o) { + switch (o) { + case "regex": + return !!ke && zw(e, n) + case "exact": + return n === e + case "contains": + var r = Um.ze(n).replace(/_/g, ".").replace(/%/g, ".*") + return zw(e, r) + default: + return !1 + } + } + static ze(e) { + return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d") + } + Oe(e, n) { + if ( + ((n != null && n.href) || (n != null && n.tag_name) || (n != null && n.text)) && + !this.Ue(e).some( + (i) => + !( + n != null && + n.href && + !Um.Ne( + i.href || "", + n == null ? void 0 : n.href, + (n == null ? void 0 : n.href_matching) || "exact", + ) + ) && + (n == null || !n.tag_name || i.tag_name === (n == null ? void 0 : n.tag_name)) && + !( + n != null && + n.text && + !Um.Ne( + i.text || "", + n == null ? void 0 : n.text, + (n == null ? void 0 : n.text_matching) || "exact", + ) && + !Um.Ne( + i.$el_text || "", + n == null ? void 0 : n.text, + (n == null ? void 0 : n.text_matching) || "exact", + ) + ), + ) + ) + return !1 + if (n != null && n.selector) { + var o, + r = e == null || (o = e.properties) == null ? void 0 : o.$element_selectors + if (!r || !r.includes(n == null ? void 0 : n.selector)) return !1 + } + return !0 + } + Ue(e) { + return (e == null ? void 0 : e.properties.$elements) == null ? [] : e == null ? void 0 : e.properties.$elements + } +} +var gr = ki("[Surveys]") +let ySt = class { + constructor(e) { + ;(this._instance = e), (this.qe = new Map()), (this.Be = new Map()) + } + register(e) { + var n + at((n = this._instance) == null ? void 0 : n.De) || (this.He(e), this.We(e)) + } + We(e) { + var n = e.filter((o) => { + var r, i, s, a + return ( + ((r = o.conditions) == null ? void 0 : r.actions) && + ((i = o.conditions) == null || (s = i.actions) == null || (a = s.values) == null + ? void 0 + : a.length) > 0 + ) + }) + n.length !== 0 && + (this.Ge == null && + ((this.Ge = new bSt(this._instance)), + this.Ge.init(), + this.Ge.Le((o) => { + this.onAction(o) + })), + n.forEach((o) => { + var r, i, s, a, c, d, u, m, f, g + o.conditions && + (r = o.conditions) != null && + r.actions && + (i = o.conditions) != null && + (s = i.actions) != null && + s.values && + ((a = o.conditions) == null || (c = a.actions) == null || (d = c.values) == null + ? void 0 + : d.length) > 0 && + ((u = this.Ge) == null || u.register(o.conditions.actions.values), + (m = o.conditions) == null || + (f = m.actions) == null || + (g = f.values) == null || + g.forEach((b) => { + if (b && b.name) { + var v = this.Be.get(b.name) + v && v.push(o.id), this.Be.set(b.name, v || [o.id]) + } + })) + })) + } + He(e) { + var n + e.filter((o) => { + var r, i, s, a + return ( + ((r = o.conditions) == null ? void 0 : r.events) && + ((i = o.conditions) == null || (s = i.events) == null || (a = s.values) == null + ? void 0 + : a.length) > 0 + ) + }).length !== 0 && + ((n = this._instance) == null || + n.De((o, r) => { + this.onEvent(o, r) + }), + e.forEach((o) => { + var r, i, s + ;(r = o.conditions) == null || + (i = r.events) == null || + (s = i.values) == null || + s.forEach((a) => { + if (a && a.name) { + var c = this.qe.get(a.name) + c && c.push(o.id), this.qe.set(a.name, c || [o.id]) + } + }) + })) + } + onEvent(e, n) { + var o, + r, + i = ((o = this._instance) == null || (r = o.persistence) == null ? void 0 : r.props[kk]) || [] + if (e === "survey shown" && n && i.length > 0) { + var s + gr.info("survey event matched, removing survey from activated surveys", { + event: e, + eventPayload: n, + existingActivatedSurveys: i, + }) + var a = n == null || (s = n.properties) == null ? void 0 : s.$survey_id + if (a) { + var c = i.indexOf(a) + c >= 0 && (i.splice(c, 1), this.Je(i)) + } + } else + this.qe.has(e) && + (gr.info("survey event matched, updating activated surveys", { event: e, surveys: this.qe.get(e) }), + this.Je(i.concat(this.qe.get(e) || []))) + } + onAction(e) { + var n, + o, + r = ((n = this._instance) == null || (o = n.persistence) == null ? void 0 : o.props[kk]) || [] + this.Be.has(e) && this.Je(r.concat(this.Be.get(e) || [])) + } + Je(e) { + var n, o + ;(n = this._instance) == null || (o = n.persistence) == null || o.register({ [kk]: [...new Set(e)] }) + } + getSurveys() { + var e, + n, + o = (e = this._instance) == null || (n = e.persistence) == null ? void 0 : n.props[kk] + return o || [] + } + getEventToSurveys() { + return this.qe + } + Ve() { + return this.Ge + } + }, + kSt = class { + constructor(e) { + ;(this.Ke = null), + (this.Ye = !1), + (this.Xe = !1), + (this.Qe = []), + (this._instance = e), + (this._surveyEventReceiver = null) + } + onRemoteConfig(e) { + var n = e.surveys + if (Hn(n)) return gr.warn("Decide not loaded yet. Not loading surveys.") + var o = Yo(n) + ;(this.Ze = o ? n.length > 0 : n), + gr.info("decide response received, hasSurveys: " + this.Ze), + this.Ze && this.loadIfEnabled() + } + reset() { + localStorage.removeItem("lastSeenSurveyDate") + for (var e = [], n = 0; n < localStorage.length; n++) { + var o = localStorage.key(n) + ;((o != null && o.startsWith("seenSurvey_")) || (o != null && o.startsWith("inProgressSurvey_"))) && + e.push(o) + } + e.forEach((r) => localStorage.removeItem(r)) + } + loadIfEnabled() { + if (!this.Ke) + if (this.Xe) gr.info("Already initializing surveys, skipping...") + else if (this._instance.config.disable_surveys) gr.info("Disabled. Not loading surveys.") + else if (this.Ze) { + var e = hn == null ? void 0 : hn.__PosthogExtensions__ + if (e) { + this.Xe = !0 + try { + var n = e.generateSurveys + if (n) return void this.tr(n) + var o = e.loadExternalDependency + if (!o) return void this.ir("PostHog loadExternalDependency extension not found.") + o(this._instance, "surveys", (r) => { + r || !e.generateSurveys + ? this.ir("Could not load surveys script", r) + : this.tr(e.generateSurveys) + }) + } catch (r) { + throw (this.ir("Error initializing surveys", r), r) + } finally { + this.Xe = !1 + } + } else gr.error("PostHog Extensions not found.") + } else gr.info("No surveys to load.") + } + tr(e) { + ;(this.Ke = e(this._instance)), + (this._surveyEventReceiver = new ySt(this._instance)), + gr.info("Surveys loaded successfully"), + this.er({ isLoaded: !0 }) + } + ir(e, n) { + gr.error(e, n), this.er({ isLoaded: !1, error: e }) + } + onSurveysLoaded(e) { + return ( + this.Qe.push(e), + this.Ke && this.er({ isLoaded: !0 }), + () => { + this.Qe = this.Qe.filter((n) => n !== e) + } + ) + } + getSurveys(e, n) { + if ((n === void 0 && (n = !1), this._instance.config.disable_surveys)) + return gr.info("Disabled. Not loading surveys."), e([]) + var o = this._instance.get_property(C1) + if (o && !n) return e(o, { isLoaded: !0 }) + if (this.Ye) return e([], { isLoaded: !1, error: "Surveys are already being loaded" }) + try { + ;(this.Ye = !0), + this._instance.ge({ + url: this._instance.requestRouter.endpointFor( + "api", + "/api/surveys/?token=" + this._instance.config.token, + ), + method: "GET", + timeout: this._instance.config.surveys_request_timeout_ms, + callback: (r) => { + var i + this.Ye = !1 + var s = r.statusCode + if (s !== 200 || !r.json) { + var a = "Surveys API could not be loaded, status: " + s + return gr.error(a), e([], { isLoaded: !1, error: a }) + } + var c, + d = r.json.surveys || [], + u = d.filter( + (m) => + (function (f) { + return !(!f.start_date || f.end_date) + })(m) && + ((function (f) { + var g, b, v + return !( + (g = f.conditions) == null || + (b = g.events) == null || + (v = b.values) == null || + !v.length + ) + })(m) || + (function (f) { + var g, b, v + return !( + (g = f.conditions) == null || + (b = g.actions) == null || + (v = b.values) == null || + !v.length + ) + })(m)), + ) + return ( + u.length > 0 && ((c = this._surveyEventReceiver) == null || c.register(u)), + (i = this._instance.persistence) == null || i.register({ [C1]: d }), + e(d, { isLoaded: !0 }) + ) + }, + }) + } catch (r) { + throw ((this.Ye = !1), r) + } + } + er(e) { + for (var n of this.Qe) + try { + e.isLoaded ? this.getSurveys(n) : n([], e) + } catch (o) { + gr.error("Error in survey callback", o) + } + } + getActiveMatchingSurveys(e, n) { + if ((n === void 0 && (n = !1), !Hn(this.Ke))) return this.Ke.getActiveMatchingSurveys(e, n) + gr.warn("init was not called") + } + rr(e) { + var n = null + return ( + this.getSurveys((o) => { + var r + n = (r = o.find((i) => i.id === e)) !== null && r !== void 0 ? r : null + }), + n + ) + } + sr(e) { + if (Hn(this.Ke)) + return { eligible: !1, reason: "SDK is not enabled or survey functionality is not yet loaded" } + var n = typeof e == "string" ? this.rr(e) : e + return n ? this.Ke.checkSurveyEligibility(n) : { eligible: !1, reason: "Survey not found" } + } + canRenderSurvey(e) { + if (Hn(this.Ke)) + return ( + gr.warn("init was not called"), + { visible: !1, disabledReason: "SDK is not enabled or survey functionality is not yet loaded" } + ) + var n = this.sr(e) + return { visible: n.eligible, disabledReason: n.reason } + } + canRenderSurveyAsync(e, n) { + return Hn(this.Ke) + ? (gr.warn("init was not called"), + Promise.resolve({ + visible: !1, + disabledReason: "SDK is not enabled or survey functionality is not yet loaded", + })) + : new Promise((o) => { + this.getSurveys((r) => { + var i, + s = (i = r.find((c) => c.id === e)) !== null && i !== void 0 ? i : null + if (s) { + var a = this.sr(s) + o({ visible: a.eligible, disabledReason: a.reason }) + } else o({ visible: !1, disabledReason: "Survey not found" }) + }, n) + }) + } + renderSurvey(e, n) { + if (Hn(this.Ke)) gr.warn("init was not called") + else { + var o = this.rr(e), + r = ht == null ? void 0 : ht.querySelector(n) + o ? (r ? this.Ke.renderSurvey(o, r) : gr.warn("Survey element not found")) : gr.warn("Survey not found") + } + } + } +var a2 = ki("[RateLimiter]") +let xSt = class { + constructor(e) { + var n, o + ;(this.serverLimits = {}), + (this.lastEventRateLimited = !1), + (this.checkForLimiting = (r) => { + var i = r.text + if (i && i.length) + try { + ;(JSON.parse(i).quota_limited || []).forEach((s) => { + a2.info((s || "events") + " is quota limited."), + (this.serverLimits[s] = new Date().getTime() + 6e4) + }) + } catch (s) { + return void a2.warn( + 'could not rate limit - continuing. Error: "' + (s == null ? void 0 : s.message) + '"', + { text: i }, + ) + } + }), + (this.instance = e), + (this.captureEventsPerSecond = ((n = e.config.rate_limiting) == null ? void 0 : n.events_per_second) || 10), + (this.captureEventsBurstLimit = Math.max( + ((o = e.config.rate_limiting) == null ? void 0 : o.events_burst_limit) || + 10 * this.captureEventsPerSecond, + this.captureEventsPerSecond, + )), + (this.lastEventRateLimited = this.clientRateLimitContext(!0).isRateLimited) + } + clientRateLimitContext(e) { + var n, o, r + e === void 0 && (e = !1) + var i = new Date().getTime(), + s = + (n = (o = this.instance.persistence) == null ? void 0 : o.get_property(A1)) !== null && n !== void 0 + ? n + : { tokens: this.captureEventsBurstLimit, last: i } + ;(s.tokens += ((i - s.last) / 1e3) * this.captureEventsPerSecond), + (s.last = i), + s.tokens > this.captureEventsBurstLimit && (s.tokens = this.captureEventsBurstLimit) + var a = s.tokens < 1 + return ( + a || e || (s.tokens = Math.max(0, s.tokens - 1)), + !a || + this.lastEventRateLimited || + e || + this.instance.capture( + "$$client_ingestion_warning", + { + $$client_ingestion_warning_message: + "posthog-js client rate limited. Config is set to " + + this.captureEventsPerSecond + + " events per second and " + + this.captureEventsBurstLimit + + " events burst limit.", + }, + { skip_client_rate_limiting: !0 }, + ), + (this.lastEventRateLimited = a), + (r = this.instance.persistence) == null || r.set_property(A1, s), + { isRateLimited: a, remainingTokens: s.tokens } + ) + } + isServerRateLimited(e) { + var n = this.serverLimits[e || "events"] || !1 + return n !== !1 && new Date().getTime() < n + } +} +var Ku = ki("[RemoteConfig]") +let wSt = class { + constructor(e) { + this._instance = e + } + get remoteConfig() { + var e, n + return (e = hn._POSTHOG_REMOTE_CONFIG) == null || (n = e[this._instance.config.token]) == null + ? void 0 + : n.config + } + nr(e) { + var n, o + ;(n = hn.__PosthogExtensions__) != null && n.loadExternalDependency + ? (o = hn.__PosthogExtensions__) == null || + o.loadExternalDependency == null || + o.loadExternalDependency(this._instance, "remote-config", () => e(this.remoteConfig)) + : (Ku.error("PostHog Extensions not found. Cannot load remote config."), e()) + } + ar(e) { + this._instance.ge({ + method: "GET", + url: this._instance.requestRouter.endpointFor( + "assets", + "/array/" + this._instance.config.token + "/config", + ), + callback: (n) => { + e(n.json) + }, + }) + } + load() { + try { + if (this.remoteConfig) + return Ku.info("Using preloaded remote config", this.remoteConfig), void this._e(this.remoteConfig) + if (this._instance.config.advanced_disable_decide) + return void Ku.warn("Remote config is disabled. Falling back to local config.") + this.nr((e) => { + if (!e) + return ( + Ku.info("No config found after loading remote JS config. Falling back to JSON."), + void this.ar((n) => { + this._e(n) + }) + ) + this._e(e) + }) + } catch (e) { + Ku.error("Error loading remote config", e) + } + } + _e(e) { + e + ? this._instance.config.__preview_remote_config + ? (this._instance._e(e), e.hasFeatureFlags !== !1 && this._instance.featureFlags.ensureFlagsLoaded()) + : Ku.info("__preview_remote_config is disabled. Logging config instead", e) + : Ku.error("Failed to fetch remote config from PostHog.") + } +} +var _St = function (t) { + var e, + n, + o, + r, + i = "" + for ( + e = n = 0, + o = (t = (t + "") + .replace( + /\r\n/g, + ` +`, + ) + .replace( + /\r/g, + ` +`, + )).length, + r = 0; + r < o; + r++ + ) { + var s = t.charCodeAt(r), + a = null + s < 128 + ? n++ + : (a = + s > 127 && s < 2048 + ? String.fromCharCode((s >> 6) | 192, (63 & s) | 128) + : String.fromCharCode((s >> 12) | 224, ((s >> 6) & 63) | 128, (63 & s) | 128)), + au(a) || (n > e && (i += t.substring(e, n)), (i += a), (e = n = r + 1)) + } + return n > e && (i += t.substring(e, t.length)), i + }, + CSt = !!g1 || !!f1, + l2 = "text/plain", + $w = (t, e) => { + var [n, o] = t.split("?"), + r = mt({}, e) + o == null || + o.split("&").forEach((s) => { + var [a] = s.split("=") + delete r[a] + }) + var i = qCt(r) + return n + "?" + (i = i ? (o ? o + "&" : "") + i : o) + }, + lv = (t, e) => JSON.stringify(t, (n, o) => (typeof o == "bigint" ? o.toString() : o), e), + yA = (t) => { + var { data: e, compression: n } = t + if (e) { + if (n === Ga.GZipJS) { + var o = Cet(Aet(lv(e)), { mtime: 0 }), + r = new Blob([o], { type: l2 }) + return { contentType: l2, body: r, estimatedSize: r.size } + } + if (n === Ga.Base64) { + var i = (function (c) { + var d, + u, + m, + f, + g, + b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + v = 0, + w = 0, + _ = "", + y = [] + if (!c) return c + c = _St(c) + do + (d = + ((g = (c.charCodeAt(v++) << 16) | (c.charCodeAt(v++) << 8) | c.charCodeAt(v++)) >> 18) & + 63), + (u = (g >> 12) & 63), + (m = (g >> 6) & 63), + (f = 63 & g), + (y[w++] = b.charAt(d) + b.charAt(u) + b.charAt(m) + b.charAt(f)) + while (v < c.length) + switch (((_ = y.join("")), c.length % 3)) { + case 1: + _ = _.slice(0, -2) + "==" + break + case 2: + _ = _.slice(0, -1) + "=" + } + return _ + })(lv(e)), + s = ((c) => "data=" + encodeURIComponent(typeof c == "string" ? c : lv(c)))(i) + return { contentType: "application/x-www-form-urlencoded", body: s, estimatedSize: new Blob([s]).size } + } + var a = lv(e) + return { contentType: "application/json", body: a, estimatedSize: new Blob([a]).size } + } + }, + yv = [] +f1 && + yv.push({ + transport: "fetch", + method: (t) => { + var e, + n, + { contentType: o, body: r, estimatedSize: i } = (e = yA(t)) !== null && e !== void 0 ? e : {}, + s = new Headers() + po(t.headers, function (u, m) { + s.append(m, u) + }), + o && s.append("Content-Type", o) + var a = t.url, + c = null + if (fO) { + var d = new fO() + c = { signal: d.signal, timeout: setTimeout(() => d.abort(), t.timeout) } + } + f1( + a, + mt( + { + method: (t == null ? void 0 : t.method) || "GET", + headers: s, + keepalive: t.method === "POST" && (i || 0) < 52428.8, + body: r, + signal: (n = c) == null ? void 0 : n.signal, + }, + t.fetchOptions, + ), + ) + .then((u) => + u.text().then((m) => { + var f = { statusCode: u.status, text: m } + if (u.status === 200) + try { + f.json = JSON.parse(m) + } catch (g) { + St.error(g) + } + t.callback == null || t.callback(f) + }), + ) + .catch((u) => { + St.error(u), t.callback == null || t.callback({ statusCode: 0, text: u }) + }) + .finally(() => (c ? clearTimeout(c.timeout) : null)) + }, + }), + g1 && + yv.push({ + transport: "XHR", + method: (t) => { + var e, + n = new g1() + n.open(t.method || "GET", t.url, !0) + var { contentType: o, body: r } = (e = yA(t)) !== null && e !== void 0 ? e : {} + po(t.headers, function (i, s) { + n.setRequestHeader(s, i) + }), + o && n.setRequestHeader("Content-Type", o), + t.timeout && (n.timeout = t.timeout), + (n.withCredentials = !0), + (n.onreadystatechange = () => { + if (n.readyState === 4) { + var i = { statusCode: n.status, text: n.responseText } + if (n.status === 200) + try { + i.json = JSON.parse(n.responseText) + } catch {} + t.callback == null || t.callback(i) + } + }), + n.send(r) + }, + }), + Ns != null && + Ns.sendBeacon && + yv.push({ + transport: "sendBeacon", + method: (t) => { + var e = $w(t.url, { beacon: "1" }) + try { + var n, + { contentType: o, body: r } = (n = yA(t)) !== null && n !== void 0 ? n : {}, + i = typeof r == "string" ? new Blob([r], { type: o }) : r + Ns.sendBeacon(e, i) + } catch {} + }, + }) +var U1 = 3e3 +let SSt = class { + constructor(e, n) { + ;(this.lr = !0), + (this.hr = []), + (this.ur = aa((n == null ? void 0 : n.flush_interval_ms) || U1, 250, 5e3, "flush interval", U1)), + (this.dr = e) + } + enqueue(e) { + this.hr.push(e), this.vr || this.cr() + } + unload() { + this.pr() + var e = this.hr.length > 0 ? this.gr() : {}, + n = Object.values(e) + ;[...n.filter((o) => o.url.indexOf("/e") === 0), ...n.filter((o) => o.url.indexOf("/e") !== 0)].map((o) => { + this.dr(mt({}, o, { transport: "sendBeacon" })) + }) + } + enable() { + ;(this.lr = !1), this.cr() + } + cr() { + var e = this + this.lr || + (this.vr = setTimeout(() => { + if ((this.pr(), this.hr.length > 0)) { + var n = this.gr(), + o = function (i) { + var s = n[i], + a = new Date().getTime() + s.data && + Yo(s.data) && + po(s.data, (c) => { + ;(c.offset = Math.abs(c.timestamp - a)), delete c.timestamp + }), + e.dr(s) + } + for (var r in n) o(r) + } + }, this.ur)) + } + pr() { + clearTimeout(this.vr), (this.vr = void 0) + } + gr() { + var e = {} + return ( + po(this.hr, (n) => { + var o, + r = n, + i = (r ? r.batchKey : null) || r.url + at(e[i]) && (e[i] = mt({}, r, { data: [] })), (o = e[i].data) == null || o.push(r.data) + }), + (this.hr = []), + e + ) + } +} +var ASt = ["retriesPerformedSoFar"] +let PSt = class { + constructor(e) { + ;(this._r = !1), + (this.mr = 3e3), + (this.hr = []), + (this._instance = e), + (this.hr = []), + (this.br = !0), + !at(ke) && + "onLine" in ke.navigator && + ((this.br = ke.navigator.onLine), + Ko(ke, "online", () => { + ;(this.br = !0), this.Yi() + }), + Ko(ke, "offline", () => { + this.br = !1 + })) + } + get length() { + return this.hr.length + } + retriableRequest(e) { + var { retriesPerformedSoFar: n } = e, + o = ZJe(e, ASt) + di(n) && n > 0 && (o.url = $w(o.url, { retry_count: n })), + this._instance.ge( + mt({}, o, { + callback: (r) => { + r.statusCode !== 200 && (r.statusCode < 400 || r.statusCode >= 500) && (n ?? 0) < 10 + ? this.wr(mt({ retriesPerformedSoFar: n }, o)) + : o.callback == null || o.callback(r) + }, + }), + ) + } + wr(e) { + var n = e.retriesPerformedSoFar || 0 + e.retriesPerformedSoFar = n + 1 + var o = (function (s) { + var a = 3e3 * Math.pow(2, s), + c = a / 2, + d = Math.min(18e5, a), + u = (Math.random() - 0.5) * (d - c) + return Math.ceil(d + u) + })(n), + r = Date.now() + o + this.hr.push({ retryAt: r, requestOptions: e }) + var i = "Enqueued failed request for retry in " + o + navigator.onLine || (i += " (Browser is offline)"), St.warn(i), this._r || ((this._r = !0), this.yr()) + } + yr() { + this.Sr && clearTimeout(this.Sr), + (this.Sr = setTimeout(() => { + this.br && this.hr.length > 0 && this.Yi(), this.yr() + }, this.mr)) + } + Yi() { + var e = Date.now(), + n = [], + o = this.hr.filter((i) => i.retryAt < e || (n.push(i), !1)) + if (((this.hr = n), o.length > 0)) for (var { requestOptions: r } of o) this.retriableRequest(r) + } + unload() { + for (var { requestOptions: e } of (this.Sr && (clearTimeout(this.Sr), (this.Sr = void 0)), this.hr)) + try { + this._instance.ge(mt({}, e, { transport: "sendBeacon" })) + } catch (n) { + St.error(n) + } + this.hr = [] + } + }, + RSt = class { + constructor(e) { + ;(this.$r = () => { + var n, o, r, i + this.kr || (this.kr = {}) + var s = this.scrollElement(), + a = this.scrollY(), + c = s ? Math.max(0, s.scrollHeight - s.clientHeight) : 0, + d = a + ((s == null ? void 0 : s.clientHeight) || 0), + u = (s == null ? void 0 : s.scrollHeight) || 0 + ;(this.kr.lastScrollY = Math.ceil(a)), + (this.kr.maxScrollY = Math.max(a, (n = this.kr.maxScrollY) !== null && n !== void 0 ? n : 0)), + (this.kr.maxScrollHeight = Math.max( + c, + (o = this.kr.maxScrollHeight) !== null && o !== void 0 ? o : 0, + )), + (this.kr.lastContentY = d), + (this.kr.maxContentY = Math.max(d, (r = this.kr.maxContentY) !== null && r !== void 0 ? r : 0)), + (this.kr.maxContentHeight = Math.max( + u, + (i = this.kr.maxContentHeight) !== null && i !== void 0 ? i : 0, + )) + }), + (this._instance = e) + } + getContext() { + return this.kr + } + resetContext() { + var e = this.kr + return setTimeout(this.$r, 0), e + } + startMeasuringScrollPosition() { + Ko(ke, "scroll", this.$r, { capture: !0 }), + Ko(ke, "scrollend", this.$r, { capture: !0 }), + Ko(ke, "resize", this.$r) + } + scrollElement() { + if (!this._instance.config.scroll_root_selector) return ke == null ? void 0 : ke.document.documentElement + var e = Yo(this._instance.config.scroll_root_selector) + ? this._instance.config.scroll_root_selector + : [this._instance.config.scroll_root_selector] + for (var n of e) { + var o = ke == null ? void 0 : ke.document.querySelector(n) + if (o) return o + } + } + scrollY() { + if (this._instance.config.scroll_root_selector) { + var e = this.scrollElement() + return (e && e.scrollTop) || 0 + } + return (ke && (ke.scrollY || ke.pageYOffset || ke.document.documentElement.scrollTop)) || 0 + } + scrollX() { + if (this._instance.config.scroll_root_selector) { + var e = this.scrollElement() + return (e && e.scrollLeft) || 0 + } + return (ke && (ke.scrollX || ke.pageXOffset || ke.document.documentElement.scrollLeft)) || 0 + } + } +var TSt = (t) => + Yet( + t == null ? void 0 : t.config.mask_personal_data_properties, + t == null ? void 0 : t.config.custom_personal_data_properties, + ) +let ISt = class { + constructor(e, n, o, r) { + ;(this.Er = (i) => { + var s = this.Ir() + if (!s || s.sessionId !== i) { + var a = { sessionId: i, props: this.Pr(this._instance) } + this.Rr.register({ [S1]: a }) + } + }), + (this._instance = e), + (this.Tr = n), + (this.Rr = o), + (this.Pr = r || TSt), + this.Tr.onSessionId(this.Er) + } + Ir() { + return this.Rr.props[S1] + } + getSetOnceProps() { + var e, + n = (e = this.Ir()) == null ? void 0 : e.props + return n + ? "r" in n + ? Xet(n) + : { + $referring_domain: n.referringDomain, + $pathname: n.initialPathName, + utm_source: n.utm_source, + utm_campaign: n.utm_campaign, + utm_medium: n.utm_medium, + utm_content: n.utm_content, + utm_term: n.utm_term, + } + : {} + } + getSessionProps() { + var e = {} + return ( + po(Yj(this.getSetOnceProps()), (n, o) => { + o === "$current_url" && (o = "url"), (e["$session_entry_" + v1(o)] = n) + }), + e + ) + } +} +var c2 = ki("[SessionId]") +let MSt = class { + constructor(e, n, o) { + var r + if (((this.Mr = []), !e.persistence)) throw new Error("SessionIdManager requires a PostHogPersistence instance") + if (e.config.__preview_experimental_cookieless_mode) + throw new Error("SessionIdManager cannot be used with __preview_experimental_cookieless_mode") + ;(this.S = e.config), + (this.Rr = e.persistence), + (this.oi = void 0), + (this.kt = void 0), + (this._sessionStartTimestamp = null), + (this._sessionActivityTimestamp = null), + (this.Cr = n || Fd), + (this.Or = o || Fd) + var i = this.S.persistence_name || this.S.token, + s = this.S.session_idle_timeout_seconds || 1800 + if ( + ((this._sessionTimeoutMs = 1e3 * aa(s, 60, 36e3, "session_idle_timeout_seconds", 1800)), + e.register({ $configured_session_timeout_ms: this._sessionTimeoutMs }), + this.Fr(), + (this.Ar = "ph_" + i + "_window_id"), + (this.Dr = "ph_" + i + "_primary_window_exists"), + this.jr()) + ) { + var a = Wr.D(this.Ar), + c = Wr.D(this.Dr) + a && !c ? (this.oi = a) : Wr.L(this.Ar), Wr.j(this.Dr, !0) + } + if ((r = this.S.bootstrap) != null && r.sessionID) + try { + var d = ((u) => { + var m = u.replace(/-/g, "") + if (m.length !== 32) throw new Error("Not a valid UUID") + if (m[12] !== "7") throw new Error("Not a UUIDv7") + return parseInt(m.substring(0, 12), 16) + })(this.S.bootstrap.sessionID) + this.Lr(this.S.bootstrap.sessionID, new Date().getTime(), d) + } catch (u) { + c2.error("Invalid sessionID in bootstrap", u) + } + this.Nr() + } + get sessionTimeoutMs() { + return this._sessionTimeoutMs + } + onSessionId(e) { + return ( + at(this.Mr) && (this.Mr = []), + this.Mr.push(e), + this.kt && e(this.kt, this.oi), + () => { + this.Mr = this.Mr.filter((n) => n !== e) + } + ) + } + jr() { + return this.S.persistence !== "memory" && !this.Rr.$e && Wr.O() + } + zr(e) { + e !== this.oi && ((this.oi = e), this.jr() && Wr.j(this.Ar, e)) + } + Ur() { + return this.oi ? this.oi : this.jr() ? Wr.D(this.Ar) : null + } + Lr(e, n, o) { + ;(e === this.kt && n === this._sessionActivityTimestamp && o === this._sessionStartTimestamp) || + ((this._sessionStartTimestamp = o), + (this._sessionActivityTimestamp = n), + (this.kt = e), + this.Rr.register({ [ww]: [n, e, o] })) + } + qr() { + if (this.kt && this._sessionActivityTimestamp && this._sessionStartTimestamp) + return [this._sessionActivityTimestamp, this.kt, this._sessionStartTimestamp] + var e = this.Rr.props[ww] + return Yo(e) && e.length === 2 && e.push(e[0]), e || [0, null, 0] + } + resetSessionId() { + this.Lr(null, null, null) + } + Nr() { + Ko( + ke, + "beforeunload", + () => { + this.jr() && Wr.L(this.Dr) + }, + { capture: !1 }, + ) + } + checkAndGetSessionAndWindowId(e, n) { + if ((e === void 0 && (e = !1), n === void 0 && (n = null), this.S.__preview_experimental_cookieless_mode)) + throw new Error( + "checkAndGetSessionAndWindowId should not be called in __preview_experimental_cookieless_mode", + ) + var o = n || new Date().getTime(), + [r, i, s] = this.qr(), + a = this.Ur(), + c = di(s) && s > 0 && Math.abs(o - s) > 864e5, + d = !1, + u = !i, + m = !e && Math.abs(o - r) > this.sessionTimeoutMs + u || m || c + ? ((i = this.Cr()), + (a = this.Or()), + c2.info("new session ID generated", { + sessionId: i, + windowId: a, + changeReason: { noSessionId: u, activityTimeout: m, sessionPastMaximumLength: c }, + }), + (s = o), + (d = !0)) + : a || ((a = this.Or()), (d = !0)) + var f = r === 0 || !e || c ? o : r, + g = s === 0 ? new Date().getTime() : s + return ( + this.zr(a), + this.Lr(i, f, g), + e || this.Fr(), + d && + this.Mr.forEach((b) => + b(i, a, d ? { noSessionId: u, activityTimeout: m, sessionPastMaximumLength: c } : void 0), + ), + { + sessionId: i, + windowId: a, + sessionStartTimestamp: g, + changeReason: d ? { noSessionId: u, activityTimeout: m, sessionPastMaximumLength: c } : void 0, + lastActivityTimestamp: r, + } + ) + } + Fr() { + clearTimeout(this.Br), + (this.Br = setTimeout(() => { + this.resetSessionId() + }, 1.1 * this.sessionTimeoutMs)) + } +} +var jSt = ["$set_once", "$set"], + md = ki("[SiteApps]") +let ESt = class { + constructor(e) { + ;(this._instance = e), (this.Hr = []), (this.apps = {}) + } + get isEnabled() { + return !!this._instance.config.opt_in_site_apps + } + Wr(e, n) { + if (n) { + var o = this.globalsForEvent(n) + this.Hr.push(o), this.Hr.length > 1e3 && (this.Hr = this.Hr.slice(10)) + } + } + get siteAppLoaders() { + var e, n + return (e = hn._POSTHOG_REMOTE_CONFIG) == null || (n = e[this._instance.config.token]) == null + ? void 0 + : n.siteApps + } + init() { + if (this.isEnabled) { + var e = this._instance.De(this.Wr.bind(this)) + this.Gr = () => { + e(), (this.Hr = []), (this.Gr = void 0) + } + } + } + globalsForEvent(e) { + var n, o, r, i, s, a, c + if (!e) throw new Error("Event payload is required") + var d = {}, + u = this._instance.get_property("$groups") || [], + m = this._instance.get_property("$stored_group_properties") || {} + for (var [f, g] of Object.entries(m)) d[f] = { id: u[f], type: f, properties: g } + var { $set_once: b, $set: v } = e + return { + event: mt({}, ZJe(e, jSt), { + properties: mt( + {}, + e.properties, + v + ? { + $set: mt( + {}, + (n = (o = e.properties) == null ? void 0 : o.$set) !== null && n !== void 0 + ? n + : {}, + v, + ), + } + : {}, + b + ? { + $set_once: mt( + {}, + (r = (i = e.properties) == null ? void 0 : i.$set_once) !== null && r !== void 0 + ? r + : {}, + b, + ), + } + : {}, + ), + elements_chain: + (s = (a = e.properties) == null ? void 0 : a.$elements_chain) !== null && s !== void 0 ? s : "", + distinct_id: (c = e.properties) == null ? void 0 : c.distinct_id, + }), + person: { properties: this._instance.get_property("$stored_person_properties") }, + groups: d, + } + } + setupSiteApp(e) { + var n = this.apps[e.id], + o = () => { + var a + !n.errored && + this.Hr.length && + (md.info("Processing " + this.Hr.length + " events for site app with id " + e.id), + this.Hr.forEach((c) => (n.processEvent == null ? void 0 : n.processEvent(c))), + (n.processedBuffer = !0)), + Object.values(this.apps).every((c) => c.processedBuffer || c.errored) && + ((a = this.Gr) == null || a.call(this)) + }, + r = !1, + i = (a) => { + ;(n.errored = !a), + (n.loaded = !0), + md.info("Site app with id " + e.id + " " + (a ? "loaded" : "errored")), + r && o() + } + try { + var { processEvent: s } = e.init({ + posthog: this._instance, + callback: (a) => { + i(a) + }, + }) + s && (n.processEvent = s), (r = !0) + } catch (a) { + md.error("Error while initializing PostHog app with config id " + e.id, a), i(!1) + } + if (r && n.loaded) + try { + o() + } catch (a) { + md.error("Error while processing buffered events PostHog app with config id " + e.id, a), + (n.errored = !0) + } + } + Jr() { + var e = this.siteAppLoaders || [] + for (var n of e) this.apps[n.id] = { id: n.id, loaded: !1, errored: !1, processedBuffer: !1 } + for (var o of e) this.setupSiteApp(o) + } + Vr(e) { + if (Object.keys(this.apps).length !== 0) { + var n = this.globalsForEvent(e) + for (var o of Object.values(this.apps)) + try { + o.processEvent == null || o.processEvent(n) + } catch (r) { + md.error("Error while processing event " + e.event + " for site app " + o.id, r) + } + } + } + onRemoteConfig(e) { + var n, + o, + r, + i = this + if ((n = this.siteAppLoaders) != null && n.length) + return this.isEnabled + ? (this.Jr(), void this._instance.on("eventCaptured", (d) => this.Vr(d))) + : void md.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.') + if (((o = this.Gr) == null || o.call(this), (r = e.siteApps) != null && r.length)) + if (this.isEnabled) { + var s = function (d, u) { + var m + ;(hn["__$$ph_site_app_" + d] = i._instance), + (m = hn.__PosthogExtensions__) == null || + m.loadSiteApp == null || + m.loadSiteApp(i._instance, u, (f) => { + if (f) return md.error("Error while initializing PostHog app with config id " + d, f) + }) + } + for (var { id: a, url: c } of e.siteApps) s(a, c) + } else md.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.') + } +} +var op, + zSt = [ + "amazonbot", + "amazonproductbot", + "app.hypefactors.com", + "applebot", + "archive.org_bot", + "awariobot", + "backlinksextendedbot", + "baiduspider", + "bingbot", + "bingpreview", + "chrome-lighthouse", + "dataforseobot", + "deepscan", + "duckduckbot", + "facebookexternal", + "facebookcatalog", + "http://yandex.com/bots", + "hubspot", + "ia_archiver", + "linkedinbot", + "meta-externalagent", + "mj12bot", + "msnbot", + "nessus", + "petalbot", + "pinterest", + "prerender", + "rogerbot", + "screaming frog", + "sebot-wa", + "sitebulb", + "slackbot", + "slurp", + "trendictionbot", + "turnitin", + "twitterbot", + "vercelbot", + "yahoo! slurp", + "yandexbot", + "zoombot", + "bot.htm", + "bot.php", + "(bot;", + "bot/", + "crawler", + "ahrefsbot", + "ahrefssiteaudit", + "semrushbot", + "siteauditbot", + "splitsignalbot", + "gptbot", + "oai-searchbot", + "chatgpt-user", + "perplexitybot", + "better uptime bot", + "sentryuptimebot", + "uptimerobot", + "headlesschrome", + "cypress", + "google-hoteladsverifier", + "adsbot-google", + "apis-google", + "duplexweb-google", + "feedfetcher-google", + "google favicon", + "google web preview", + "google-read-aloud", + "googlebot", + "googleweblight", + "mediapartners-google", + "storebot-google", + "bytespider", + ], + d2 = function (t, e) { + if (!t) return !1 + var n = t.toLowerCase() + return zSt.concat(e || []).some((o) => { + var r = o.toLowerCase() + return n.indexOf(r) !== -1 + }) + }, + ttt = function (t, e) { + if (!t) return !1 + var n = t.userAgent + if (n && d2(n, e)) return !0 + try { + var o = t == null ? void 0 : t.userAgentData + if (o != null && o.brands && o.brands.some((r) => d2(r == null ? void 0 : r.brand, e))) return !0 + } catch {} + return !!t.webdriver + } +function u2(t, e, n) { + return lv({ distinct_id: t, userPropertiesToSet: e, userPropertiesToSetOnce: n }) +} +;(function (t) { + ;(t.US = "us"), (t.EU = "eu"), (t.CUSTOM = "custom") +})(op || (op = {})) +var p2 = "i.posthog.com" +let $St = class { + constructor(e) { + ;(this.Kr = {}), (this.instance = e) + } + get apiHost() { + var e = this.instance.config.api_host.trim().replace(/\/$/, "") + return e === "https://app.posthog.com" ? "https://us.i.posthog.com" : e + } + get uiHost() { + var e, + n = (e = this.instance.config.ui_host) == null ? void 0 : e.replace(/\/$/, "") + return ( + n || (n = this.apiHost.replace("." + p2, ".posthog.com")), + n === "https://app.posthog.com" ? "https://us.posthog.com" : n + ) + } + get region() { + return ( + this.Kr[this.apiHost] || + (/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost) + ? (this.Kr[this.apiHost] = op.US) + : /https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost) + ? (this.Kr[this.apiHost] = op.EU) + : (this.Kr[this.apiHost] = op.CUSTOM)), + this.Kr[this.apiHost] + ) + } + endpointFor(e, n) { + if ((n === void 0 && (n = ""), n && (n = n[0] === "/" ? n : "/" + n), e === "ui")) return this.uiHost + n + if (this.region === op.CUSTOM) return this.apiHost + n + var o = p2 + n + switch (e) { + case "assets": + return "https://" + this.region + "-assets." + o + case "api": + return "https://" + this.region + "." + o + } + } +} +var LSt = { + icontains: (t, e) => !!ke && e.href.toLowerCase().indexOf(t.toLowerCase()) > -1, + not_icontains: (t, e) => !!ke && e.href.toLowerCase().indexOf(t.toLowerCase()) === -1, + regex: (t, e) => !!ke && zw(e.href, t), + not_regex: (t, e) => !!ke && !zw(e.href, t), + exact: (t, e) => e.href === t, + is_not: (t, e) => e.href !== t, +} +let DSt = class Ii { + constructor(e) { + var n = this + ;(this.getWebExperimentsAndEvaluateDisplayLogic = function (o) { + o === void 0 && (o = !1), + n.getWebExperiments((r) => { + Ii.Yr("retrieved web experiments from the server"), + (n.Xr = new Map()), + r.forEach((i) => { + if (i.feature_flag_key) { + var s + n.Xr && + (Ii.Yr("setting flag key ", i.feature_flag_key, " to web experiment ", i), + (s = n.Xr) == null || s.set(i.feature_flag_key, i)) + var a = n._instance.getFeatureFlag(i.feature_flag_key) + pr(a) && i.variants[a] && n.Qr(i.name, a, i.variants[a].transforms) + } else if (i.variants) + for (var c in i.variants) { + var d = i.variants[c] + Ii.Zr(d) && n.Qr(i.name, c, d.transforms) + } + }) + }, o) + }), + (this._instance = e), + this._instance.onFeatureFlags((o) => { + this.onFeatureFlags(o) + }) + } + onFeatureFlags(e) { + if (this._is_bot()) Ii.Yr("Refusing to render web experiment since the viewer is a likely bot") + else if (!this._instance.config.disable_web_experiments) { + if (Hn(this.Xr)) return (this.Xr = new Map()), this.loadIfEnabled(), void this.previewWebExperiment() + Ii.Yr("applying feature flags", e), + e.forEach((n) => { + var o + if (this.Xr && (o = this.Xr) != null && o.has(n)) { + var r, + i = this._instance.getFeatureFlag(n), + s = (r = this.Xr) == null ? void 0 : r.get(n) + i && s != null && s.variants[i] && this.Qr(s.name, i, s.variants[i].transforms) + } + }) + } + } + previewWebExperiment() { + var e = Ii.getWindowLocation() + if (e != null && e.search) { + var n = Pw(e == null ? void 0 : e.search, "__experiment_id"), + o = Pw(e == null ? void 0 : e.search, "__experiment_variant") + n && + o && + (Ii.Yr("previewing web experiments " + n + " && " + o), + this.getWebExperiments( + (r) => { + this.ts(parseInt(n), o, r) + }, + !1, + !0, + )) + } + } + loadIfEnabled() { + this._instance.config.disable_web_experiments || this.getWebExperimentsAndEvaluateDisplayLogic() + } + getWebExperiments(e, n, o) { + if (this._instance.config.disable_web_experiments && !o) return e([]) + var r = this._instance.get_property("$web_experiments") + if (r && !n) return e(r) + this._instance.ge({ + url: this._instance.requestRouter.endpointFor( + "api", + "/api/web_experiments/?token=" + this._instance.config.token, + ), + method: "GET", + callback: (i) => { + if (i.statusCode !== 200 || !i.json) return e([]) + var s = i.json.experiments || [] + return e(s) + }, + }) + } + ts(e, n, o) { + var r = o.filter((i) => i.id === e) + r && + r.length > 0 && + (Ii.Yr("Previewing web experiment [" + r[0].name + "] with variant [" + n + "]"), + this.Qr(r[0].name, n, r[0].variants[n].transforms)) + } + static Zr(e) { + return !Hn(e.conditions) && Ii.es(e) && Ii.rs(e) + } + static es(e) { + var n + if (Hn(e.conditions) || Hn((n = e.conditions) == null ? void 0 : n.url)) return !0 + var o, + r, + i, + s = Ii.getWindowLocation() + return ( + !!s && + ((o = e.conditions) == null || + !o.url || + LSt[ + (r = (i = e.conditions) == null ? void 0 : i.urlMatchType) !== null && r !== void 0 + ? r + : "icontains" + ](e.conditions.url, s)) + ) + } + static getWindowLocation() { + return ke == null ? void 0 : ke.location + } + static rs(e) { + var n + if (Hn(e.conditions) || Hn((n = e.conditions) == null ? void 0 : n.utm)) return !0 + var o = Het() + if (o.utm_source) { + var r, + i, + s, + a, + c, + d, + u, + m, + f, + g, + b, + v, + w, + _, + y, + C, + S = + (r = e.conditions) == null || + (i = r.utm) == null || + !i.utm_campaign || + ((s = e.conditions) == null || (a = s.utm) == null ? void 0 : a.utm_campaign) == o.utm_campaign, + P = + (c = e.conditions) == null || + (d = c.utm) == null || + !d.utm_source || + ((u = e.conditions) == null || (m = u.utm) == null ? void 0 : m.utm_source) == o.utm_source, + R = + (f = e.conditions) == null || + (g = f.utm) == null || + !g.utm_medium || + ((b = e.conditions) == null || (v = b.utm) == null ? void 0 : v.utm_medium) == o.utm_medium, + T = + (w = e.conditions) == null || + (_ = w.utm) == null || + !_.utm_term || + ((y = e.conditions) == null || (C = y.utm) == null ? void 0 : C.utm_term) == o.utm_term + return S && R && T && P + } + return !1 + } + static Yr(e) { + for (var n = arguments.length, o = new Array(n > 1 ? n - 1 : 0), r = 1; r < n; r++) o[r - 1] = arguments[r] + St.info("[WebExperiments] " + e, o) + } + Qr(e, n, o) { + this._is_bot() + ? Ii.Yr("Refusing to render web experiment since the viewer is a likely bot") + : n !== "control" + ? o.forEach((r) => { + if (r.selector) { + var i + Ii.Yr("applying transform of variant " + n + " for experiment " + e + " ", r) + var s = (i = document) == null ? void 0 : i.querySelectorAll(r.selector) + s == null || + s.forEach((a) => { + var c = a + r.html && (c.innerHTML = r.html), r.css && c.setAttribute("style", r.css) + }) + } + }) + : Ii.Yr("Control variants leave the page unmodified.") + } + _is_bot() { + return Ns && this._instance ? ttt(Ns, this._instance.config.custom_blocked_useragents) : void 0 + } +} +var kv = {}, + q1 = () => {}, + qm = "posthog", + ntt = + !CSt && + (Ji == null ? void 0 : Ji.indexOf("MSIE")) === -1 && + (Ji == null ? void 0 : Ji.indexOf("Mozilla")) === -1, + m2 = () => { + var t + return { + api_host: "https://us.i.posthog.com", + ui_host: null, + token: "", + autocapture: !0, + rageclick: !0, + cross_subdomain_cookie: ECt(ht == null ? void 0 : ht.location), + persistence: "localStorage+cookie", + persistence_name: "", + loaded: q1, + save_campaign_params: !0, + custom_campaign_params: [], + custom_blocked_useragents: [], + save_referrer: !0, + capture_pageview: !0, + capture_pageleave: "if_capture_pageview", + debug: + (ts && pr(ts == null ? void 0 : ts.search) && ts.search.indexOf("__posthog_debug=true") !== -1) || !1, + cookie_expiration: 365, + upgrade: !1, + disable_session_recording: !1, + disable_persistence: !1, + disable_web_experiments: !0, + disable_surveys: !1, + disable_external_dependency_loading: !1, + enable_recording_console_log: void 0, + secure_cookie: (ke == null || (t = ke.location) == null ? void 0 : t.protocol) === "https:", + ip: !0, + opt_out_capturing_by_default: !1, + opt_out_persistence_by_default: !1, + opt_out_useragent_filter: !1, + opt_out_capturing_persistence_type: "localStorage", + opt_out_capturing_cookie_prefix: null, + opt_in_site_apps: !1, + property_denylist: [], + respect_dnt: !1, + sanitize_properties: null, + request_headers: {}, + request_batching: !0, + properties_string_max_length: 65535, + session_recording: {}, + mask_all_element_attributes: !1, + mask_all_text: !1, + mask_personal_data_properties: !1, + custom_personal_data_properties: [], + advanced_disable_decide: !1, + advanced_disable_feature_flags: !1, + advanced_disable_feature_flags_on_first_load: !1, + advanced_disable_toolbar_metrics: !1, + feature_flag_request_timeout_ms: 3e3, + surveys_request_timeout_ms: 1e4, + on_request_error: (e) => { + var n = "Bad HTTP status: " + e.statusCode + " " + e.text + St.error(n) + }, + get_device_id: (e) => e, + capture_performance: void 0, + name: "posthog", + bootstrap: {}, + disable_compression: !1, + session_idle_timeout_seconds: 1800, + person_profiles: "identified_only", + before_send: void 0, + request_queue_config: { flush_interval_ms: U1 }, + _onCapture: q1, + } + }, + h2 = (t) => { + var e = {} + at(t.process_person) || (e.person_profiles = t.process_person), + at(t.xhr_headers) || (e.request_headers = t.xhr_headers), + at(t.cookie_name) || (e.persistence_name = t.cookie_name), + at(t.disable_cookie) || (e.disable_persistence = t.disable_cookie), + at(t.store_google) || (e.save_campaign_params = t.store_google), + at(t.verbose) || (e.debug = t.verbose) + var n = cr({}, e, t) + return ( + Yo(t.property_blacklist) && + (at(t.property_denylist) + ? (n.property_denylist = t.property_blacklist) + : Yo(t.property_denylist) + ? (n.property_denylist = [...t.property_blacklist, ...t.property_denylist]) + : St.error("Invalid value for property_denylist config: " + t.property_denylist)), + n + ) + } +let NSt = class { + constructor() { + this.__forceAllowLocalhost = !1 + } + get ss() { + return this.__forceAllowLocalhost + } + set ss(e) { + St.error( + "WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`", + ), + (this.__forceAllowLocalhost = e) + } + }, + ott = class rtt { + get decideEndpointWasHit() { + var e, n + return (e = (n = this.featureFlags) == null ? void 0 : n.hasLoadedFlags) !== null && e !== void 0 && e + } + constructor() { + ;(this.webPerformance = new NSt()), + (this.ns = !1), + (this.version = gc.LIB_VERSION), + (this.os = new ett()), + (this._calculate_event_properties = this.calculateEventProperties.bind(this)), + (this.config = m2()), + (this.SentryIntegration = V0t), + (this.sentryIntegration = (e) => + (function (n, o) { + var r = Iet(n, o) + return { name: Tet, processEvent: (i) => r(i) } + })(this, e)), + (this.__request_queue = []), + (this.__loaded = !1), + (this.analyticsDefaultEndpoint = "/e/"), + (this.ls = !1), + (this.hs = null), + (this.us = null), + (this.ds = null), + (this.featureFlags = new gSt(this)), + (this.toolbar = new G0t(this)), + (this.scrollManager = new RSt(this)), + (this.pageViewManager = new eSt(this)), + (this.surveys = new kSt(this)), + (this.experiments = new DSt(this)), + (this.exceptions = new tSt(this)), + (this.rateLimiter = new xSt(this)), + (this.requestRouter = new $St(this)), + (this.consent = new n0t(this)), + (this.people = { + set: (e, n, o) => { + var r = pr(e) ? { [e]: n } : e + this.setPersonProperties(r), o == null || o({}) + }, + set_once: (e, n, o) => { + var r = pr(e) ? { [e]: n } : e + this.setPersonProperties(void 0, r), o == null || o({}) + }, + }), + this.on("eventCaptured", (e) => St.info('send "' + (e == null ? void 0 : e.event) + '"', e)) + } + init(e, n, o) { + if (o && o !== qm) { + var r, + i = (r = kv[o]) !== null && r !== void 0 ? r : new rtt() + return i._init(e, n, o), (kv[o] = i), (kv[qm][o] = i), i + } + return this._init(e, n, o) + } + _init(e, n, o) { + var r, i + if ((n === void 0 && (n = {}), at(e) || b1(e))) + return ( + St.critical( + "PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()", + ), + this + ) + if (this.__loaded) return St.warn("You have already initialized PostHog! Re-initializing is a no-op"), this + ;(this.__loaded = !0), + (this.config = {}), + (this.vs = []), + n.person_profiles && (this.us = n.person_profiles), + this.set_config(cr({}, m2(), h2(n), { name: o, token: e })), + this.config.on_xhr_error && St.error("on_xhr_error is deprecated. Use on_request_error instead"), + (this.compression = n.disable_compression ? void 0 : Ga.GZipJS), + (this.persistence = new bA(this.config)), + (this.sessionPersistence = + this.config.persistence === "sessionStorage" || this.config.persistence === "memory" + ? this.persistence + : new bA(mt({}, this.config, { persistence: "sessionStorage" }))) + var s = mt({}, this.persistence.props), + a = mt({}, this.sessionPersistence.props) + if ( + ((this.cs = new SSt((_) => this.fs(_), this.config.request_queue_config)), + (this.ps = new PSt(this)), + (this.__request_queue = []), + this.config.__preview_experimental_cookieless_mode || + ((this.sessionManager = new MSt(this)), + (this.sessionPropsManager = new ISt(this, this.sessionManager, this.persistence))), + new Z0t(this).startIfEnabledOrStop(), + (this.siteApps = new ESt(this)), + (r = this.siteApps) == null || r.init(), + this.config.__preview_experimental_cookieless_mode || + ((this.sessionRecording = new W0t(this)), this.sessionRecording.startIfEnabledOrStop()), + this.config.disable_scroll_properties || this.scrollManager.startMeasuringScrollPosition(), + (this.autocapture = new HCt(this)), + this.autocapture.startIfEnabled(), + this.surveys.loadIfEnabled(), + (this.heatmaps = new J0t(this)), + this.heatmaps.startIfEnabled(), + (this.webVitalsAutocapture = new Y0t(this)), + (this.exceptionObserver = new i0t(this)), + this.exceptionObserver.startIfEnabled(), + (this.deadClicksAutocapture = new het(this, r0t)), + this.deadClicksAutocapture.startIfEnabled(), + (this.historyAutocapture = new y0t(this)), + this.historyAutocapture.startIfEnabled(), + (gc.DEBUG = gc.DEBUG || this.config.debug), + gc.DEBUG && + St.info("Starting in debug mode", { + this: this, + config: n, + thisC: mt({}, this.config), + p: s, + s: a, + }), + this.gs(), + ((i = n.bootstrap) == null ? void 0 : i.distinctID) !== void 0) + ) { + var c, + d, + u = this.config.get_device_id(Fd()), + m = (c = n.bootstrap) != null && c.isIdentifiedID ? u : n.bootstrap.distinctID + this.persistence.set_property( + dc, + (d = n.bootstrap) != null && d.isIdentifiedID ? "identified" : "anonymous", + ), + this.register({ distinct_id: n.bootstrap.distinctID, $device_id: m }) + } + if (this._s()) { + var f, + g, + b = Object.keys(((f = n.bootstrap) == null ? void 0 : f.featureFlags) || {}) + .filter((_) => { + var y, C + return !((y = n.bootstrap) == null || (C = y.featureFlags) == null || !C[_]) + }) + .reduce((_, y) => { + var C, S + return ( + (_[y] = + ((C = n.bootstrap) == null || (S = C.featureFlags) == null ? void 0 : S[y]) || !1), + _ + ) + }, {}), + v = Object.keys(((g = n.bootstrap) == null ? void 0 : g.featureFlagPayloads) || {}) + .filter((_) => b[_]) + .reduce((_, y) => { + var C, S, P, R + return ( + (C = n.bootstrap) != null && + (S = C.featureFlagPayloads) != null && + S[y] && + (_[y] = + (P = n.bootstrap) == null || (R = P.featureFlagPayloads) == null + ? void 0 + : R[y]), + _ + ) + }, {}) + this.featureFlags.receivedFeatureFlags({ featureFlags: b, featureFlagPayloads: v }) + } + if (this.config.__preview_experimental_cookieless_mode) + this.register_once({ distinct_id: TO, $device_id: null }, "") + else if (!this.get_distinct_id()) { + var w = this.config.get_device_id(Fd()) + this.register_once({ distinct_id: w, $device_id: w }, ""), + this.persistence.set_property(dc, "anonymous") + } + return ( + Ko(ke, "onpagehide" in self ? "pagehide" : "unload", this._handle_unload.bind(this), { passive: !1 }), + this.toolbar.maybeLoadToolbar(), + n.segment ? K0t(this, () => this.bs()) : this.bs(), + da(this.config._onCapture) && + this.config._onCapture !== q1 && + (St.warn("onCapture is deprecated. Please use `before_send` instead"), + this.on("eventCaptured", (_) => this.config._onCapture(_.event, _))), + this + ) + } + _e(e) { + var n, o, r, i, s, a, c, d + if (!ht || !ht.body) + return ( + St.info("document not ready yet, trying again in 500 milliseconds..."), + void setTimeout(() => { + this._e(e) + }, 500) + ) + ;(this.compression = void 0), + e.supportedCompression && + !this.config.disable_compression && + (this.compression = Rn(e.supportedCompression, Ga.GZipJS) + ? Ga.GZipJS + : Rn(e.supportedCompression, Ga.Base64) + ? Ga.Base64 + : void 0), + (n = e.analytics) != null && n.endpoint && (this.analyticsDefaultEndpoint = e.analytics.endpoint), + this.set_config({ person_profiles: this.us ? this.us : "identified_only" }), + (o = this.siteApps) == null || o.onRemoteConfig(e), + (r = this.sessionRecording) == null || r.onRemoteConfig(e), + (i = this.autocapture) == null || i.onRemoteConfig(e), + (s = this.heatmaps) == null || s.onRemoteConfig(e), + this.surveys.onRemoteConfig(e), + (a = this.webVitalsAutocapture) == null || a.onRemoteConfig(e), + (c = this.exceptionObserver) == null || c.onRemoteConfig(e), + (d = this.deadClicksAutocapture) == null || d.onRemoteConfig(e) + } + bs() { + try { + this.config.loaded(this) + } catch (e) { + St.critical("`loaded` function failed", e) + } + this.ws(), + this.config.capture_pageview && + setTimeout(() => { + this.consent.isOptedIn() && this.ys() + }, 1), + new wSt(this).load(), + this.featureFlags.decide() + } + ws() { + var e + this.has_opted_out_capturing() || (this.config.request_batching && ((e = this.cs) == null || e.enable())) + } + _dom_loaded() { + this.has_opted_out_capturing() || Ud(this.__request_queue, (e) => this.fs(e)), + (this.__request_queue = []), + this.ws() + } + _handle_unload() { + var e, n + this.config.request_batching + ? (this.Ss() && this.capture("$pageleave"), + (e = this.cs) == null || e.unload(), + (n = this.ps) == null || n.unload()) + : this.Ss() && this.capture("$pageleave", null, { transport: "sendBeacon" }) + } + ge(e) { + this.__loaded && + (ntt + ? this.__request_queue.push(e) + : this.rateLimiter.isServerRateLimited(e.batchKey) || + ((e.transport = e.transport || this.config.api_transport), + (e.url = $w(e.url, { ip: this.config.ip ? 1 : 0 })), + (e.headers = mt({}, this.config.request_headers)), + (e.compression = e.compression === "best-available" ? this.compression : e.compression), + (e.fetchOptions = e.fetchOptions || this.config.fetch_options), + ((n) => { + var o, + r, + i, + s = mt({}, n) + ;(s.timeout = s.timeout || 6e4), + (s.url = $w(s.url, { + _: new Date().getTime().toString(), + ver: gc.LIB_VERSION, + compression: s.compression, + })) + var a = (o = s.transport) !== null && o !== void 0 ? o : "fetch", + c = + (r = (i = YJe(yv, (d) => d.transport === a)) == null ? void 0 : i.method) !== + null && r !== void 0 + ? r + : yv[0].method + if (!c) throw new Error("No available transport method") + c(s) + })( + mt({}, e, { + callback: (n) => { + var o, r + this.rateLimiter.checkForLimiting(n), + n.statusCode >= 400 && + ((o = (r = this.config).on_request_error) == null || o.call(r, n)), + e.callback == null || e.callback(n) + }, + }), + ))) + } + fs(e) { + this.ps ? this.ps.retriableRequest(e) : this.ge(e) + } + _execute_array(e) { + var n, + o = [], + r = [], + i = [] + Ud(e, (a) => { + a && + ((n = a[0]), + Yo(n) + ? i.push(a) + : da(a) + ? a.call(this) + : Yo(a) && n === "alias" + ? o.push(a) + : Yo(a) && n.indexOf("capture") !== -1 && da(this[n]) + ? i.push(a) + : r.push(a)) + }) + var s = function (a, c) { + Ud( + a, + function (d) { + if (Yo(d[0])) { + var u = c + po(d, function (m) { + u = u[m[0]].apply(u, m.slice(1)) + }) + } else this[d[0]].apply(this, d.slice(1)) + }, + c, + ) + } + s(o, this), s(r, this), s(i, this) + } + _s() { + var e, n + return ( + (((e = this.config.bootstrap) == null ? void 0 : e.featureFlags) && + Object.keys((n = this.config.bootstrap) == null ? void 0 : n.featureFlags).length > 0) || + !1 + ) + } + push(e) { + this._execute_array([e]) + } + capture(e, n, o) { + var r + if (this.__loaded && this.persistence && this.sessionPersistence && this.cs) { + if (!this.consent.isOptedOut()) + if (!at(e) && pr(e)) { + if (this.config.opt_out_useragent_filter || !this._is_bot()) { + var i = + o != null && o.skip_client_rate_limiting + ? void 0 + : this.rateLimiter.clientRateLimitContext() + if (i == null || !i.isRateLimited) { + n != null && + n.$current_url && + !pr(n == null ? void 0 : n.$current_url) && + (St.error( + "Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value.", + ), + n == null || delete n.$current_url), + this.sessionPersistence.update_search_keyword(), + this.config.save_campaign_params && + this.sessionPersistence.update_campaign_params(), + this.config.save_referrer && this.sessionPersistence.update_referrer_info(), + (this.config.save_campaign_params || this.config.save_referrer) && + this.persistence.set_initial_person_info() + var s = new Date(), + a = (o == null ? void 0 : o.timestamp) || s, + c = Fd(), + d = { + uuid: c, + event: e, + properties: this.calculateEventProperties(e, n || {}, a, c), + } + i && (d.properties.$lib_rate_limit_remaining_tokens = i.remainingTokens), + o != null && o.$set && (d.$set = o == null ? void 0 : o.$set) + var u = this.$s(o == null ? void 0 : o.$set_once) + u && (d.$set_once = u), + ((d = MCt( + d, + o != null && o._noTruncate ? null : this.config.properties_string_max_length, + )).timestamp = a), + at(o == null ? void 0 : o.timestamp) || + ((d.properties.$event_time_override_provided = !0), + (d.properties.$event_time_override_system_time = s)) + var m = mt({}, d.properties.$set, d.$set) + if ((Qm(m) || this.setPersonPropertiesForFlags(m), !Hn(this.config.before_send))) { + var f = this.ks(d) + if (!f) return + d = f + } + this.os.emit("eventCaptured", d) + var g = { + method: "POST", + url: + (r = o == null ? void 0 : o._url) !== null && r !== void 0 + ? r + : this.requestRouter.endpointFor("api", this.analyticsDefaultEndpoint), + data: d, + compression: "best-available", + batchKey: o == null ? void 0 : o._batchKey, + } + return ( + !this.config.request_batching || + (o && (o == null || !o._batchKey)) || + (o != null && o.send_instantly) + ? this.fs(g) + : this.cs.enqueue(g), + d + ) + } + St.critical("This capture call is ignored due to client rate limiting.") + } + } else St.error("No event name provided to posthog.capture") + } else St.uninitializedWarning("posthog.capture") + } + De(e) { + return this.on("eventCaptured", (n) => e(n.event, n)) + } + calculateEventProperties(e, n, o, r, i) { + if (((o = o || new Date()), !this.persistence || !this.sessionPersistence)) return n + var s = i ? void 0 : this.persistence.remove_event_timer(e), + a = mt({}, n) + if ( + ((a.token = this.config.token), + this.config.__preview_experimental_cookieless_mode && (a.$cookieless_mode = !0), + e === "$snapshot") + ) { + var c = mt({}, this.persistence.properties(), this.sessionPersistence.properties()) + return ( + (a.distinct_id = c.distinct_id), + ((!pr(a.distinct_id) && !di(a.distinct_id)) || b1(a.distinct_id)) && + St.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"), + a + ) + } + var d, + u = hSt(this.config.mask_personal_data_properties, this.config.custom_personal_data_properties) + if (this.sessionManager) { + var { sessionId: m, windowId: f } = this.sessionManager.checkAndGetSessionAndWindowId(i, o.getTime()) + ;(a.$session_id = m), (a.$window_id = f) + } + this.sessionPropsManager && cr(a, this.sessionPropsManager.getSessionProps()) + try { + var g + this.sessionRecording && cr(a, this.sessionRecording.sdkDebugProperties), + (a.$sdk_debug_retry_queue_size = (g = this.ps) == null ? void 0 : g.length) + } catch (_) { + a.$sdk_debug_error_capturing_properties = String(_) + } + if ( + (this.requestRouter.region === op.CUSTOM && (a.$lib_custom_api_host = this.config.api_host), + (d = + e !== "$pageview" || i + ? e !== "$pageleave" || i + ? this.pageViewManager.doEvent() + : this.pageViewManager.doPageLeave(o) + : this.pageViewManager.doPageView(o, r)), + (a = cr(a, d)), + e === "$pageview" && ht && (a.title = ht.title), + !at(s)) + ) { + var b = o.getTime() - s + a.$duration = parseFloat((b / 1e3).toFixed(3)) + } + Ji && this.config.opt_out_useragent_filter && (a.$browser_type = this._is_bot() ? "bot" : "browser"), + ((a = cr( + {}, + u, + this.persistence.properties(), + this.sessionPersistence.properties(), + a, + )).$is_identified = this._isIdentified()), + Yo(this.config.property_denylist) + ? po(this.config.property_denylist, function (_) { + delete a[_] + }) + : St.error( + "Invalid value for property_denylist config: " + + this.config.property_denylist + + " or property_blacklist config: " + + this.config.property_blacklist, + ) + var v = this.config.sanitize_properties + v && (St.error("sanitize_properties is deprecated. Use before_send instead"), (a = v(a, e))) + var w = this.xs() + return (a.$process_person_profile = w), w && !i && this.Es("_calculate_event_properties"), a + } + $s(e) { + var n + if (!this.persistence || !this.xs() || this.ns) return e + var o = this.persistence.get_initial_props(), + r = (n = this.sessionPropsManager) == null ? void 0 : n.getSetOnceProps(), + i = cr({}, o, r || {}, e || {}), + s = this.config.sanitize_properties + return ( + s && (St.error("sanitize_properties is deprecated. Use before_send instead"), (i = s(i, "$set_once"))), + (this.ns = !0), + Qm(i) ? void 0 : i + ) + } + register(e, n) { + var o + ;(o = this.persistence) == null || o.register(e, n) + } + register_once(e, n, o) { + var r + ;(r = this.persistence) == null || r.register_once(e, n, o) + } + register_for_session(e) { + var n + ;(n = this.sessionPersistence) == null || n.register(e) + } + unregister(e) { + var n + ;(n = this.persistence) == null || n.unregister(e) + } + unregister_for_session(e) { + var n + ;(n = this.sessionPersistence) == null || n.unregister(e) + } + Is(e, n) { + this.register({ [e]: n }) + } + getFeatureFlag(e, n) { + return this.featureFlags.getFeatureFlag(e, n) + } + getFeatureFlagPayload(e) { + var n = this.featureFlags.getFeatureFlagPayload(e) + try { + return JSON.parse(n) + } catch { + return n + } + } + isFeatureEnabled(e, n) { + return this.featureFlags.isFeatureEnabled(e, n) + } + reloadFeatureFlags() { + this.featureFlags.reloadFeatureFlags() + } + updateEarlyAccessFeatureEnrollment(e, n) { + this.featureFlags.updateEarlyAccessFeatureEnrollment(e, n) + } + getEarlyAccessFeatures(e, n, o) { + return n === void 0 && (n = !1), this.featureFlags.getEarlyAccessFeatures(e, n, o) + } + on(e, n) { + return this.os.on(e, n) + } + onFeatureFlags(e) { + return this.featureFlags.onFeatureFlags(e) + } + onSurveysLoaded(e) { + return this.surveys.onSurveysLoaded(e) + } + onSessionId(e) { + var n, o + return (n = (o = this.sessionManager) == null ? void 0 : o.onSessionId(e)) !== null && n !== void 0 + ? n + : () => {} + } + getSurveys(e, n) { + n === void 0 && (n = !1), this.surveys.getSurveys(e, n) + } + getActiveMatchingSurveys(e, n) { + n === void 0 && (n = !1), this.surveys.getActiveMatchingSurveys(e, n) + } + renderSurvey(e, n) { + this.surveys.renderSurvey(e, n) + } + canRenderSurvey(e) { + return this.surveys.canRenderSurvey(e) + } + canRenderSurveyAsync(e, n) { + return n === void 0 && (n = !1), this.surveys.canRenderSurveyAsync(e, n) + } + identify(e, n, o) { + if (!this.__loaded || !this.persistence) return St.uninitializedWarning("posthog.identify") + if ( + (di(e) && + ((e = e.toString()), + St.warn( + "The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.", + )), + e) + ) { + if (["distinct_id", "distinctid"].includes(e.toLowerCase())) + St.critical( + 'The string "' + + e + + '" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.', + ) + else if (this.Es("posthog.identify")) { + var r = this.get_distinct_id() + if ((this.register({ $user_id: e }), !this.get_property("$device_id"))) { + var i = r + this.register_once({ $had_persisted_distinct_id: !0, $device_id: i }, "") + } + e !== r && e !== this.get_property(nv) && (this.unregister(nv), this.register({ distinct_id: e })) + var s = (this.persistence.get_property(dc) || "anonymous") === "anonymous" + e !== r && s + ? (this.persistence.set_property(dc, "identified"), + this.setPersonPropertiesForFlags(mt({}, o || {}, n || {}), !1), + this.capture( + "$identify", + { distinct_id: e, $anon_distinct_id: r }, + { $set: n || {}, $set_once: o || {} }, + ), + (this.ds = u2(e, n, o)), + this.featureFlags.setAnonymousDistinctId(r)) + : (n || o) && this.setPersonProperties(n, o), + e !== r && (this.reloadFeatureFlags(), this.unregister(_w)) + } + } else St.error("Unique user id has not been set in posthog.identify") + } + setPersonProperties(e, n) { + if ((e || n) && this.Es("posthog.setPersonProperties")) { + var o = u2(this.get_distinct_id(), e, n) + this.ds !== o + ? (this.setPersonPropertiesForFlags(mt({}, n || {}, e || {})), + this.capture("$set", { $set: e || {}, $set_once: n || {} }), + (this.ds = o)) + : St.info( + "A duplicate setPersonProperties call was made with the same properties. It has been ignored.", + ) + } + } + group(e, n, o) { + if (e && n) { + if (this.Es("posthog.group")) { + var r = this.getGroups() + r[e] !== n && this.resetGroupPropertiesForFlags(e), + this.register({ $groups: mt({}, r, { [e]: n }) }), + o && + (this.capture("$groupidentify", { $group_type: e, $group_key: n, $group_set: o }), + this.setGroupPropertiesForFlags({ [e]: o })), + r[e] === n || o || this.reloadFeatureFlags() + } + } else St.error("posthog.group requires a group type and group key") + } + resetGroups() { + this.register({ $groups: {} }), this.resetGroupPropertiesForFlags(), this.reloadFeatureFlags() + } + setPersonPropertiesForFlags(e, n) { + n === void 0 && (n = !0), this.featureFlags.setPersonPropertiesForFlags(e, n) + } + resetPersonPropertiesForFlags() { + this.featureFlags.resetPersonPropertiesForFlags() + } + setGroupPropertiesForFlags(e, n) { + n === void 0 && (n = !0), + this.Es("posthog.setGroupPropertiesForFlags") && this.featureFlags.setGroupPropertiesForFlags(e, n) + } + resetGroupPropertiesForFlags(e) { + this.featureFlags.resetGroupPropertiesForFlags(e) + } + reset(e) { + var n, o, r, i + if ((St.info("reset"), !this.__loaded)) return St.uninitializedWarning("posthog.reset") + var s = this.get_property("$device_id") + if ( + (this.consent.reset(), + (n = this.persistence) == null || n.clear(), + (o = this.sessionPersistence) == null || o.clear(), + this.surveys.reset(), + (r = this.persistence) == null || r.set_property(dc, "anonymous"), + (i = this.sessionManager) == null || i.resetSessionId(), + (this.ds = null), + this.config.__preview_experimental_cookieless_mode) + ) + this.register_once({ distinct_id: TO, $device_id: null }, "") + else { + var a = this.config.get_device_id(Fd()) + this.register_once({ distinct_id: a, $device_id: e ? a : s }, "") + } + this.register({ $last_posthog_reset: new Date().toISOString() }, 1) + } + get_distinct_id() { + return this.get_property("distinct_id") + } + getGroups() { + return this.get_property("$groups") || {} + } + get_session_id() { + var e, n + return (e = (n = this.sessionManager) == null ? void 0 : n.checkAndGetSessionAndWindowId(!0).sessionId) !== + null && e !== void 0 + ? e + : "" + } + get_session_replay_url(e) { + if (!this.sessionManager) return "" + var { sessionId: n, sessionStartTimestamp: o } = this.sessionManager.checkAndGetSessionAndWindowId(!0), + r = this.requestRouter.endpointFor("ui", "/project/" + this.config.token + "/replay/" + n) + if (e != null && e.withTimestamp && o) { + var i, + s = (i = e.timestampLookBack) !== null && i !== void 0 ? i : 10 + if (!o) return r + r += "?t=" + Math.max(Math.floor((new Date().getTime() - o) / 1e3) - s, 0) + } + return r + } + alias(e, n) { + return e === this.get_property(XJe) + ? (St.critical("Attempting to create alias for existing People user - aborting."), -2) + : this.Es("posthog.alias") + ? (at(n) && (n = this.get_distinct_id()), + e !== n + ? (this.Is(nv, e), this.capture("$create_alias", { alias: e, distinct_id: n })) + : (St.warn("alias matches current distinct_id - skipping api call."), this.identify(e), -1)) + : void 0 + } + set_config(e) { + var n, + o, + r, + i, + s = mt({}, this.config) + Xo(e) && + (cr(this.config, h2(e)), + (n = this.persistence) == null || n.update_config(this.config, s), + (this.sessionPersistence = + this.config.persistence === "sessionStorage" || this.config.persistence === "memory" + ? this.persistence + : new bA(mt({}, this.config, { persistence: "sessionStorage" }))), + kr.O() && kr.A("ph_debug") === "true" && (this.config.debug = !0), + this.config.debug && + ((gc.DEBUG = !0), + St.info( + "set_config", + JSON.stringify({ config: e, oldConfig: s, newConfig: mt({}, this.config) }, null, 2), + )), + (o = this.sessionRecording) == null || o.startIfEnabledOrStop(), + (r = this.autocapture) == null || r.startIfEnabled(), + (i = this.heatmaps) == null || i.startIfEnabled(), + this.surveys.loadIfEnabled(), + this.gs()) + } + startSessionRecording(e) { + var n = e === !0, + o = { + sampling: n || !(e == null || !e.sampling), + linked_flag: n || !(e == null || !e.linked_flag), + url_trigger: n || !(e == null || !e.url_trigger), + event_trigger: n || !(e == null || !e.event_trigger), + } + if (Object.values(o).some(Boolean)) { + var r, i, s, a, c + ;(r = this.sessionManager) == null || r.checkAndGetSessionAndWindowId(), + o.sampling && ((i = this.sessionRecording) == null || i.overrideSampling()), + o.linked_flag && ((s = this.sessionRecording) == null || s.overrideLinkedFlag()), + o.url_trigger && ((a = this.sessionRecording) == null || a.overrideTrigger("url")), + o.event_trigger && ((c = this.sessionRecording) == null || c.overrideTrigger("event")) + } + this.set_config({ disable_session_recording: !1 }) + } + stopSessionRecording() { + this.set_config({ disable_session_recording: !0 }) + } + sessionRecordingStarted() { + var e + return !((e = this.sessionRecording) == null || !e.started) + } + captureException(e, n) { + var o = new Error("PostHog syntheticException") + this.exceptions.sendExceptionEvent( + mt( + {}, + b0t(((r) => r instanceof Error)(e) ? { error: e, event: e.message } : { event: e }, { + syntheticException: o, + }), + n, + ), + ) + } + loadToolbar(e) { + return this.toolbar.loadToolbar(e) + } + get_property(e) { + var n + return (n = this.persistence) == null ? void 0 : n.props[e] + } + getSessionProperty(e) { + var n + return (n = this.sessionPersistence) == null ? void 0 : n.props[e] + } + toString() { + var e, + n = (e = this.config.name) !== null && e !== void 0 ? e : qm + return n !== qm && (n = qm + "." + n), n + } + _isIdentified() { + var e, n + return ( + ((e = this.persistence) == null ? void 0 : e.get_property(dc)) === "identified" || + ((n = this.sessionPersistence) == null ? void 0 : n.get_property(dc)) === "identified" + ) + } + xs() { + var e, n, o, r + return !( + this.config.person_profiles === "never" || + (this.config.person_profiles === "identified_only" && + !this._isIdentified() && + Qm(this.getGroups()) && + ((e = this.persistence) == null || (n = e.props) == null || !n[nv]) && + ((o = this.persistence) == null || (r = o.props) == null || !r[Sw])) + ) + } + Ss() { + return ( + this.config.capture_pageleave === !0 || + (this.config.capture_pageleave === "if_capture_pageview" && + (this.config.capture_pageview === !0 || this.config.capture_pageview === "history_change")) + ) + } + createPersonProfile() { + this.xs() || (this.Es("posthog.createPersonProfile") && this.setPersonProperties({}, {})) + } + Es(e) { + return this.config.person_profiles === "never" + ? (St.error(e + ' was called, but process_person is set to "never". This call will be ignored.'), !1) + : (this.Is(Sw, !0), !0) + } + gs() { + var e, + n, + o, + r, + i = this.consent.isOptedOut(), + s = this.config.opt_out_persistence_by_default, + a = this.config.disable_persistence || (i && !!s) + ;((e = this.persistence) == null ? void 0 : e.$e) !== a && + ((o = this.persistence) == null || o.set_disabled(a)), + ((n = this.sessionPersistence) == null ? void 0 : n.$e) !== a && + ((r = this.sessionPersistence) == null || r.set_disabled(a)) + } + opt_in_capturing(e) { + var n + this.consent.optInOut(!0), + this.gs(), + (at(e == null ? void 0 : e.captureEventName) || (e != null && e.captureEventName)) && + this.capture( + (n = e == null ? void 0 : e.captureEventName) !== null && n !== void 0 ? n : "$opt_in", + e == null ? void 0 : e.captureProperties, + { send_instantly: !0 }, + ), + this.config.capture_pageview && this.ys() + } + opt_out_capturing() { + this.consent.optInOut(!1), this.gs() + } + has_opted_in_capturing() { + return this.consent.isOptedIn() + } + has_opted_out_capturing() { + return this.consent.isOptedOut() + } + clear_opt_in_out_capturing() { + this.consent.reset(), this.gs() + } + _is_bot() { + return Ns ? ttt(Ns, this.config.custom_blocked_useragents) : void 0 + } + ys() { + ht && + (ht.visibilityState === "visible" + ? this.ls || + ((this.ls = !0), + this.capture("$pageview", { title: ht.title }, { send_instantly: !0 }), + this.hs && (ht.removeEventListener("visibilitychange", this.hs), (this.hs = null))) + : this.hs || ((this.hs = this.ys.bind(this)), Ko(ht, "visibilitychange", this.hs))) + } + debug(e) { + e === !1 + ? (ke == null || ke.console.log("You've disabled debug mode."), + localStorage && localStorage.removeItem("ph_debug"), + this.set_config({ debug: !1 })) + : (ke == null || + ke.console.log( + "You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`.", + ), + localStorage && localStorage.setItem("ph_debug", "true"), + this.set_config({ debug: !0 })) + } + ks(e) { + if (Hn(this.config.before_send)) return e + var n = Yo(this.config.before_send) ? this.config.before_send : [this.config.before_send], + o = e + for (var r of n) { + if (((o = r(o)), Hn(o))) { + var i = "Event '" + e.event + "' was rejected in beforeSend function" + return RCt(e.event) ? St.warn(i + ". This can cause unexpected behavior.") : St.info(i), null + } + ;(o.properties && !Qm(o.properties)) || + St.warn( + "Event '" + e.event + "' has no properties after beforeSend function, this is likely an error.", + ) + } + return o + } + getPageViewId() { + var e + return (e = this.pageViewManager.ne) == null ? void 0 : e.pageViewId + } + captureTraceFeedback(e, n) { + this.capture("$ai_feedback", { $ai_trace_id: String(e), $ai_feedback_text: n }) + } + captureTraceMetric(e, n, o) { + this.capture("$ai_metric", { $ai_trace_id: String(e), $ai_metric_name: n, $ai_metric_value: String(o) }) + } + } +;(function (t, e) { + for (var n = 0; n < e.length; n++) t.prototype[e[n]] = ICt(t.prototype[e[n]]) +})(ott, ["identify"]) +var f2, g2, v2, b2, y2, k2 +;(function (t) { + ;(t.Button = "button"), (t.Tab = "tab"), (t.Selector = "selector") +})(f2 || (f2 = {})), + (function (t) { + ;(t.Left = "left"), (t.Center = "center"), (t.Right = "right"), (t.NextToTrigger = "next_to_trigger") + })(g2 || (g2 = {})), + (function (t) { + ;(t.Popover = "popover"), (t.API = "api"), (t.Widget = "widget") + })(v2 || (v2 = {})), + (function (t) { + ;(t.Open = "open"), + (t.MultipleChoice = "multiple_choice"), + (t.SingleChoice = "single_choice"), + (t.Rating = "rating"), + (t.Link = "link") + })(b2 || (b2 = {})), + (function (t) { + ;(t.NextQuestion = "next_question"), + (t.End = "end"), + (t.ResponseBased = "response_based"), + (t.SpecificQuestion = "specific_question") + })(y2 || (y2 = {})), + (function (t) { + ;(t.Once = "once"), (t.Recurring = "recurring"), (t.Always = "always") + })(k2 || (k2 = {})) +var x2, + Rk = + ((x2 = kv[qm] = new ott()), + (function () { + function t() { + t.done || + ((t.done = !0), + (ntt = !1), + po(kv, function (e) { + e._dom_loaded() + })) + } + ht != null && ht.addEventListener + ? ht.readyState === "complete" + ? t() + : Ko(ht, "DOMContentLoaded", t, { capture: !1 }) + : ke && + St.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized") + })(), + x2) +const Sl = class Sl { + updateTelemetryState(e, n, o) { + Rk.reset(), + e === "enabled" && n && o + ? ((Sl.telemetryEnabled = !0), + Rk.init(n, { + api_host: "https://us.i.posthog.com", + persistence: "localStorage", + loaded: () => Rk.identify(o), + capture_pageview: !1, + capture_pageleave: !1, + autocapture: !1, + })) + : (Sl.telemetryEnabled = !1) + } + static getInstance() { + return Sl.instance || (Sl.instance = new Sl()), Sl.instance + } + capture(e, n) { + if (Sl.telemetryEnabled) + try { + Rk.capture(e, n) + } catch {} + } +} +Sl.telemetryEnabled = !1 +let W1 = Sl +const os = W1.getInstance() +var _x = { exports: {} }, + Cx = { exports: {} }, + Sx = { exports: {} }, + OSt = Sx.exports, + w2 +function uE() { + return ( + w2 || + ((w2 = 1), + (function (t, e) { + ;(function (n, o) { + t.exports = o() + })(OSt, function () { + function n(v) { + return !isNaN(parseFloat(v)) && isFinite(v) + } + function o(v) { + return v.charAt(0).toUpperCase() + v.substring(1) + } + function r(v) { + return function () { + return this[v] + } + } + var i = ["isConstructor", "isEval", "isNative", "isToplevel"], + s = ["columnNumber", "lineNumber"], + a = ["fileName", "functionName", "source"], + c = ["args"], + d = ["evalOrigin"], + u = i.concat(s, a, c, d) + function m(v) { + if (v) for (var w = 0; w < u.length; w++) v[u[w]] !== void 0 && this["set" + o(u[w])](v[u[w]]) + } + ;(m.prototype = { + getArgs: function () { + return this.args + }, + setArgs: function (v) { + if (Object.prototype.toString.call(v) !== "[object Array]") + throw new TypeError("Args must be an Array") + this.args = v + }, + getEvalOrigin: function () { + return this.evalOrigin + }, + setEvalOrigin: function (v) { + if (v instanceof m) this.evalOrigin = v + else if (v instanceof Object) this.evalOrigin = new m(v) + else throw new TypeError("Eval Origin must be an Object or StackFrame") + }, + toString: function () { + var v = this.getFileName() || "", + w = this.getLineNumber() || "", + _ = this.getColumnNumber() || "", + y = this.getFunctionName() || "" + return this.getIsEval() + ? v + ? "[eval] (" + v + ":" + w + ":" + _ + ")" + : "[eval]:" + w + ":" + _ + : y + ? y + " (" + v + ":" + w + ":" + _ + ")" + : v + ":" + w + ":" + _ + }, + }), + (m.fromString = function (w) { + var _ = w.indexOf("("), + y = w.lastIndexOf(")"), + C = w.substring(0, _), + S = w.substring(_ + 1, y).split(","), + P = w.substring(y + 1) + if (P.indexOf("@") === 0) + var R = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(P, ""), + T = R[1], + E = R[2], + $ = R[3] + return new m({ + functionName: C, + args: S || void 0, + fileName: T, + lineNumber: E || void 0, + columnNumber: $ || void 0, + }) + }) + for (var f = 0; f < i.length; f++) + (m.prototype["get" + o(i[f])] = r(i[f])), + (m.prototype["set" + o(i[f])] = (function (v) { + return function (w) { + this[v] = !!w + } + })(i[f])) + for (var g = 0; g < s.length; g++) + (m.prototype["get" + o(s[g])] = r(s[g])), + (m.prototype["set" + o(s[g])] = (function (v) { + return function (w) { + if (!n(w)) throw new TypeError(v + " must be a Number") + this[v] = Number(w) + } + })(s[g])) + for (var b = 0; b < a.length; b++) + (m.prototype["get" + o(a[b])] = r(a[b])), + (m.prototype["set" + o(a[b])] = (function (v) { + return function (w) { + this[v] = String(w) + } + })(a[b])) + return m + }) + })(Sx)), + Sx.exports + ) +} +var FSt = Cx.exports, + _2 +function BSt() { + return ( + _2 || + ((_2 = 1), + (function (t, e) { + ;(function (n, o) { + t.exports = o(uE()) + })(FSt, function (o) { + var r = /(^|@)\S+:\d+/, + i = /^\s*at .*(\S+:\d+|\(native\))/m, + s = /^(eval@)?(\[native code])?$/ + return { + parse: function (c) { + if (typeof c.stacktrace < "u" || typeof c["opera#sourceloc"] < "u") + return this.parseOpera(c) + if (c.stack && c.stack.match(i)) return this.parseV8OrIE(c) + if (c.stack) return this.parseFFOrSafari(c) + throw new Error("Cannot parse given Error object") + }, + extractLocation: function (c) { + if (c.indexOf(":") === -1) return [c] + var d = /(.+?)(?::(\d+))?(?::(\d+))?$/, + u = d.exec(c.replace(/[()]/g, "")) + return [u[1], u[2] || void 0, u[3] || void 0] + }, + parseV8OrIE: function (c) { + var d = c.stack + .split( + ` +`, + ) + .filter(function (u) { + return !!u.match(i) + }, this) + return d.map(function (u) { + u.indexOf("(eval ") > -1 && + (u = u.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, "")) + var m = u + .replace(/^\s+/, "") + .replace(/\(eval code/g, "(") + .replace(/^.*?\s+/, ""), + f = m.match(/ (\(.+\)$)/) + m = f ? m.replace(f[0], "") : m + var g = this.extractLocation(f ? f[1] : m), + b = (f && m) || void 0, + v = ["eval", "<anonymous>"].indexOf(g[0]) > -1 ? void 0 : g[0] + return new o({ + functionName: b, + fileName: v, + lineNumber: g[1], + columnNumber: g[2], + source: u, + }) + }, this) + }, + parseFFOrSafari: function (c) { + var d = c.stack + .split( + ` +`, + ) + .filter(function (u) { + return !u.match(s) + }, this) + return d.map(function (u) { + if ( + (u.indexOf(" > eval") > -1 && + (u = u.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, ":$1")), + u.indexOf("@") === -1 && u.indexOf(":") === -1) + ) + return new o({ functionName: u }) + var m = /((.*".+"[^@]*)?[^@]*)(?:@)/, + f = u.match(m), + g = f && f[1] ? f[1] : void 0, + b = this.extractLocation(u.replace(m, "")) + return new o({ + functionName: g, + fileName: b[0], + lineNumber: b[1], + columnNumber: b[2], + source: u, + }) + }, this) + }, + parseOpera: function (c) { + return !c.stacktrace || + (c.message.indexOf(` +`) > -1 && + c.message.split(` +`).length > + c.stacktrace.split(` +`).length) + ? this.parseOpera9(c) + : c.stack + ? this.parseOpera11(c) + : this.parseOpera10(c) + }, + parseOpera9: function (c) { + for ( + var d = /Line (\d+).*script (?:in )?(\S+)/i, + u = c.message.split(` +`), + m = [], + f = 2, + g = u.length; + f < g; + f += 2 + ) { + var b = d.exec(u[f]) + b && m.push(new o({ fileName: b[2], lineNumber: b[1], source: u[f] })) + } + return m + }, + parseOpera10: function (c) { + for ( + var d = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i, + u = c.stacktrace.split(` +`), + m = [], + f = 0, + g = u.length; + f < g; + f += 2 + ) { + var b = d.exec(u[f]) + b && + m.push( + new o({ + functionName: b[3] || void 0, + fileName: b[2], + lineNumber: b[1], + source: u[f], + }), + ) + } + return m + }, + parseOpera11: function (c) { + var d = c.stack + .split( + ` +`, + ) + .filter(function (u) { + return !!u.match(r) && !u.match(/^Error created at/) + }, this) + return d.map(function (u) { + var m = u.split("@"), + f = this.extractLocation(m.pop()), + g = m.shift() || "", + b = + g.replace(/<anonymous function(: (\w+))?>/, "$2").replace(/\([^)]*\)/g, "") || + void 0, + v + g.match(/\(([^)]*)\)/) && (v = g.replace(/^[^(]+\(([^)]*)\)$/, "$1")) + var w = v === void 0 || v === "[arguments not available]" ? void 0 : v.split(",") + return new o({ + functionName: b, + args: w, + fileName: f[0], + lineNumber: f[1], + columnNumber: f[2], + source: u, + }) + }, this) + }, + } + }) + })(Cx)), + Cx.exports + ) +} +var Ax = { exports: {} }, + USt = Ax.exports, + C2 +function qSt() { + return ( + C2 || + ((C2 = 1), + (function (t, e) { + ;(function (n, o) { + t.exports = o(uE()) + })(USt, function (n) { + return { + backtrace: function (r) { + var i = [], + s = 10 + typeof r == "object" && typeof r.maxStackSize == "number" && (s = r.maxStackSize) + for (var a = arguments.callee; a && i.length < s && a.arguments; ) { + for (var c = new Array(a.arguments.length), d = 0; d < c.length; ++d) + c[d] = a.arguments[d] + ;/function(?:\s+([\w$]+))+\s*\(/.test(a.toString()) + ? i.push(new n({ functionName: RegExp.$1 || void 0, args: c })) + : i.push(new n({ args: c })) + try { + a = a.caller + } catch { + break + } + } + return i + }, + } + }) + })(Ax)), + Ax.exports + ) +} +var Px = { exports: {} }, + Lg = {}, + kA = {}, + S2 +function itt() { + return ( + S2 || + ((S2 = 1), + (function (t) { + function e(y, C, S) { + if (C in y) return y[C] + if (arguments.length === 3) return S + throw new Error('"' + C + '" is a required argument.') + } + t.getArg = e + var n = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/, + o = /^data:.+\,.+$/ + function r(y) { + var C = y.match(n) + return C ? { scheme: C[1], auth: C[2], host: C[3], port: C[4], path: C[5] } : null + } + t.urlParse = r + function i(y) { + var C = "" + return ( + y.scheme && (C += y.scheme + ":"), + (C += "//"), + y.auth && (C += y.auth + "@"), + y.host && (C += y.host), + y.port && (C += ":" + y.port), + y.path && (C += y.path), + C + ) + } + t.urlGenerate = i + function s(y) { + var C = y, + S = r(y) + if (S) { + if (!S.path) return y + C = S.path + } + for (var P = t.isAbsolute(C), R = C.split(/\/+/), T, E = 0, $ = R.length - 1; $ >= 0; $--) + (T = R[$]), + T === "." + ? R.splice($, 1) + : T === ".." + ? E++ + : E > 0 && (T === "" ? (R.splice($ + 1, E), (E = 0)) : (R.splice($, 2), E--)) + return (C = R.join("/")), C === "" && (C = P ? "/" : "."), S ? ((S.path = C), i(S)) : C + } + t.normalize = s + function a(y, C) { + y === "" && (y = "."), C === "" && (C = ".") + var S = r(C), + P = r(y) + if ((P && (y = P.path || "/"), S && !S.scheme)) return P && (S.scheme = P.scheme), i(S) + if (S || C.match(o)) return C + if (P && !P.host && !P.path) return (P.host = C), i(P) + var R = C.charAt(0) === "/" ? C : s(y.replace(/\/+$/, "") + "/" + C) + return P ? ((P.path = R), i(P)) : R + } + ;(t.join = a), + (t.isAbsolute = function (y) { + return y.charAt(0) === "/" || !!y.match(n) + }) + function c(y, C) { + y === "" && (y = "."), (y = y.replace(/\/$/, "")) + for (var S = 0; C.indexOf(y + "/") !== 0; ) { + var P = y.lastIndexOf("/") + if (P < 0 || ((y = y.slice(0, P)), y.match(/^([^\/]+:\/)?\/*$/))) return C + ++S + } + return Array(S + 1).join("../") + C.substr(y.length + 1) + } + t.relative = c + var d = (function () { + var y = Object.create(null) + return !("__proto__" in y) + })() + function u(y) { + return y + } + function m(y) { + return g(y) ? "$" + y : y + } + t.toSetString = d ? u : m + function f(y) { + return g(y) ? y.slice(1) : y + } + t.fromSetString = d ? u : f + function g(y) { + if (!y) return !1 + var C = y.length + if ( + C < 9 || + y.charCodeAt(C - 1) !== 95 || + y.charCodeAt(C - 2) !== 95 || + y.charCodeAt(C - 3) !== 111 || + y.charCodeAt(C - 4) !== 116 || + y.charCodeAt(C - 5) !== 111 || + y.charCodeAt(C - 6) !== 114 || + y.charCodeAt(C - 7) !== 112 || + y.charCodeAt(C - 8) !== 95 || + y.charCodeAt(C - 9) !== 95 + ) + return !1 + for (var S = C - 10; S >= 0; S--) if (y.charCodeAt(S) !== 36) return !1 + return !0 + } + function b(y, C, S) { + var P = y.source - C.source + return P !== 0 || + ((P = y.originalLine - C.originalLine), P !== 0) || + ((P = y.originalColumn - C.originalColumn), P !== 0 || S) || + ((P = y.generatedColumn - C.generatedColumn), P !== 0) || + ((P = y.generatedLine - C.generatedLine), P !== 0) + ? P + : y.name - C.name + } + t.compareByOriginalPositions = b + function v(y, C, S) { + var P = y.generatedLine - C.generatedLine + return P !== 0 || + ((P = y.generatedColumn - C.generatedColumn), P !== 0 || S) || + ((P = y.source - C.source), P !== 0) || + ((P = y.originalLine - C.originalLine), P !== 0) || + ((P = y.originalColumn - C.originalColumn), P !== 0) + ? P + : y.name - C.name + } + t.compareByGeneratedPositionsDeflated = v + function w(y, C) { + return y === C ? 0 : y > C ? 1 : -1 + } + function _(y, C) { + var S = y.generatedLine - C.generatedLine + return S !== 0 || + ((S = y.generatedColumn - C.generatedColumn), S !== 0) || + ((S = w(y.source, C.source)), S !== 0) || + ((S = y.originalLine - C.originalLine), S !== 0) || + ((S = y.originalColumn - C.originalColumn), S !== 0) + ? S + : w(y.name, C.name) + } + t.compareByGeneratedPositionsInflated = _ + })(kA)), + kA + ) +} +var xA = {}, + A2 +function WSt() { + return ( + A2 || + ((A2 = 1), + (function (t) { + ;(t.GREATEST_LOWER_BOUND = 1), (t.LEAST_UPPER_BOUND = 2) + function e(n, o, r, i, s, a) { + var c = Math.floor((o - n) / 2) + n, + d = s(r, i[c], !0) + return d === 0 + ? c + : d > 0 + ? o - c > 1 + ? e(c, o, r, i, s, a) + : a == t.LEAST_UPPER_BOUND + ? o < i.length + ? o + : -1 + : c + : c - n > 1 + ? e(n, c, r, i, s, a) + : a == t.LEAST_UPPER_BOUND + ? c + : n < 0 + ? -1 + : n + } + t.search = function (o, r, i, s) { + if (r.length === 0) return -1 + var a = e(-1, r.length, o, r, i, s || t.GREATEST_LOWER_BOUND) + if (a < 0) return -1 + for (; a - 1 >= 0 && i(r[a], r[a - 1], !0) === 0; ) --a + return a + } + })(xA)), + xA + ) +} +var wA = {}, + P2 +function KSt() { + if (P2) return wA + P2 = 1 + var t = itt(), + e = Object.prototype.hasOwnProperty + function n() { + ;(this._array = []), (this._set = Object.create(null)) + } + return ( + (n.fromArray = function (r, i) { + for (var s = new n(), a = 0, c = r.length; a < c; a++) s.add(r[a], i) + return s + }), + (n.prototype.size = function () { + return Object.getOwnPropertyNames(this._set).length + }), + (n.prototype.add = function (r, i) { + var s = t.toSetString(r), + a = e.call(this._set, s), + c = this._array.length + ;(!a || i) && this._array.push(r), a || (this._set[s] = c) + }), + (n.prototype.has = function (r) { + var i = t.toSetString(r) + return e.call(this._set, i) + }), + (n.prototype.indexOf = function (r) { + var i = t.toSetString(r) + if (e.call(this._set, i)) return this._set[i] + throw new Error('"' + r + '" is not in the set.') + }), + (n.prototype.at = function (r) { + if (r >= 0 && r < this._array.length) return this._array[r] + throw new Error("No element indexed by " + r) + }), + (n.prototype.toArray = function () { + return this._array.slice() + }), + (wA.ArraySet = n), + wA + ) +} +var Tk = {}, + Ik = {}, + R2 +function VSt() { + if (R2) return Ik + R2 = 1 + var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("") + return ( + (Ik.encode = function (e) { + if (0 <= e && e < t.length) return t[e] + throw new TypeError("Must be between 0 and 63: " + e) + }), + (Ik.decode = function (e) { + var n = 65, + o = 90, + r = 97, + i = 122, + s = 48, + a = 57, + c = 43, + d = 47, + u = 26, + m = 52 + return n <= e && e <= o + ? e - n + : r <= e && e <= i + ? e - r + u + : s <= e && e <= a + ? e - s + m + : e == c + ? 62 + : e == d + ? 63 + : -1 + }), + Ik + ) +} +var T2 +function HSt() { + if (T2) return Tk + T2 = 1 + var t = VSt(), + e = 5, + n = 1 << e, + o = n - 1, + r = n + function i(a) { + return a < 0 ? (-a << 1) + 1 : (a << 1) + 0 + } + function s(a) { + var c = (a & 1) === 1, + d = a >> 1 + return c ? -d : d + } + return ( + (Tk.encode = function (c) { + var d = "", + u, + m = i(c) + do (u = m & o), (m >>>= e), m > 0 && (u |= r), (d += t.encode(u)) + while (m > 0) + return d + }), + (Tk.decode = function (c, d, u) { + var m = c.length, + f = 0, + g = 0, + b, + v + do { + if (d >= m) throw new Error("Expected more digits in base 64 VLQ value.") + if (((v = t.decode(c.charCodeAt(d++))), v === -1)) + throw new Error("Invalid base64 digit: " + c.charAt(d - 1)) + ;(b = !!(v & r)), (v &= o), (f = f + (v << g)), (g += e) + } while (b) + ;(u.value = s(f)), (u.rest = d) + }), + Tk + ) +} +var _A = {}, + I2 +function GSt() { + if (I2) return _A + I2 = 1 + function t(o, r, i) { + var s = o[r] + ;(o[r] = o[i]), (o[i] = s) + } + function e(o, r) { + return Math.round(o + Math.random() * (r - o)) + } + function n(o, r, i, s) { + if (i < s) { + var a = e(i, s), + c = i - 1 + t(o, a, s) + for (var d = o[s], u = i; u < s; u++) r(o[u], d) <= 0 && ((c += 1), t(o, c, u)) + t(o, c + 1, u) + var m = c + 1 + n(o, r, i, m - 1), n(o, r, m + 1, s) + } + } + return ( + (_A.quickSort = function (o, r) { + n(o, r, 0, o.length - 1) + }), + _A + ) +} +var M2 +function QSt() { + if (M2) return Lg + M2 = 1 + var t = itt(), + e = WSt(), + n = KSt().ArraySet, + o = HSt(), + r = GSt().quickSort + function i(d) { + var u = d + return ( + typeof d == "string" && (u = JSON.parse(d.replace(/^\)\]\}'/, ""))), + u.sections != null ? new c(u) : new s(u) + ) + } + ;(i.fromSourceMap = function (d) { + return s.fromSourceMap(d) + }), + (i.prototype._version = 3), + (i.prototype.__generatedMappings = null), + Object.defineProperty(i.prototype, "_generatedMappings", { + get: function () { + return ( + this.__generatedMappings || this._parseMappings(this._mappings, this.sourceRoot), + this.__generatedMappings + ) + }, + }), + (i.prototype.__originalMappings = null), + Object.defineProperty(i.prototype, "_originalMappings", { + get: function () { + return ( + this.__originalMappings || this._parseMappings(this._mappings, this.sourceRoot), + this.__originalMappings + ) + }, + }), + (i.prototype._charIsMappingSeparator = function (u, m) { + var f = u.charAt(m) + return f === ";" || f === "," + }), + (i.prototype._parseMappings = function (u, m) { + throw new Error("Subclasses must implement _parseMappings") + }), + (i.GENERATED_ORDER = 1), + (i.ORIGINAL_ORDER = 2), + (i.GREATEST_LOWER_BOUND = 1), + (i.LEAST_UPPER_BOUND = 2), + (i.prototype.eachMapping = function (u, m, f) { + var g = m || null, + b = f || i.GENERATED_ORDER, + v + switch (b) { + case i.GENERATED_ORDER: + v = this._generatedMappings + break + case i.ORIGINAL_ORDER: + v = this._originalMappings + break + default: + throw new Error("Unknown order of iteration.") + } + var w = this.sourceRoot + v.map(function (_) { + var y = _.source === null ? null : this._sources.at(_.source) + return ( + y != null && w != null && (y = t.join(w, y)), + { + source: y, + generatedLine: _.generatedLine, + generatedColumn: _.generatedColumn, + originalLine: _.originalLine, + originalColumn: _.originalColumn, + name: _.name === null ? null : this._names.at(_.name), + } + ) + }, this).forEach(u, g) + }), + (i.prototype.allGeneratedPositionsFor = function (u) { + var m = t.getArg(u, "line"), + f = { source: t.getArg(u, "source"), originalLine: m, originalColumn: t.getArg(u, "column", 0) } + if ( + (this.sourceRoot != null && (f.source = t.relative(this.sourceRoot, f.source)), + !this._sources.has(f.source)) + ) + return [] + f.source = this._sources.indexOf(f.source) + var g = [], + b = this._findMapping( + f, + this._originalMappings, + "originalLine", + "originalColumn", + t.compareByOriginalPositions, + e.LEAST_UPPER_BOUND, + ) + if (b >= 0) { + var v = this._originalMappings[b] + if (u.column === void 0) + for (var w = v.originalLine; v && v.originalLine === w; ) + g.push({ + line: t.getArg(v, "generatedLine", null), + column: t.getArg(v, "generatedColumn", null), + lastColumn: t.getArg(v, "lastGeneratedColumn", null), + }), + (v = this._originalMappings[++b]) + else + for (var _ = v.originalColumn; v && v.originalLine === m && v.originalColumn == _; ) + g.push({ + line: t.getArg(v, "generatedLine", null), + column: t.getArg(v, "generatedColumn", null), + lastColumn: t.getArg(v, "lastGeneratedColumn", null), + }), + (v = this._originalMappings[++b]) + } + return g + }), + (Lg.SourceMapConsumer = i) + function s(d) { + var u = d + typeof d == "string" && (u = JSON.parse(d.replace(/^\)\]\}'/, ""))) + var m = t.getArg(u, "version"), + f = t.getArg(u, "sources"), + g = t.getArg(u, "names", []), + b = t.getArg(u, "sourceRoot", null), + v = t.getArg(u, "sourcesContent", null), + w = t.getArg(u, "mappings"), + _ = t.getArg(u, "file", null) + if (m != this._version) throw new Error("Unsupported version: " + m) + ;(f = f + .map(String) + .map(t.normalize) + .map(function (y) { + return b && t.isAbsolute(b) && t.isAbsolute(y) ? t.relative(b, y) : y + })), + (this._names = n.fromArray(g.map(String), !0)), + (this._sources = n.fromArray(f, !0)), + (this.sourceRoot = b), + (this.sourcesContent = v), + (this._mappings = w), + (this.file = _) + } + ;(s.prototype = Object.create(i.prototype)), + (s.prototype.consumer = i), + (s.fromSourceMap = function (u) { + var m = Object.create(s.prototype), + f = (m._names = n.fromArray(u._names.toArray(), !0)), + g = (m._sources = n.fromArray(u._sources.toArray(), !0)) + ;(m.sourceRoot = u._sourceRoot), + (m.sourcesContent = u._generateSourcesContent(m._sources.toArray(), m.sourceRoot)), + (m.file = u._file) + for ( + var b = u._mappings.toArray().slice(), + v = (m.__generatedMappings = []), + w = (m.__originalMappings = []), + _ = 0, + y = b.length; + _ < y; + _++ + ) { + var C = b[_], + S = new a() + ;(S.generatedLine = C.generatedLine), + (S.generatedColumn = C.generatedColumn), + C.source && + ((S.source = g.indexOf(C.source)), + (S.originalLine = C.originalLine), + (S.originalColumn = C.originalColumn), + C.name && (S.name = f.indexOf(C.name)), + w.push(S)), + v.push(S) + } + return r(m.__originalMappings, t.compareByOriginalPositions), m + }), + (s.prototype._version = 3), + Object.defineProperty(s.prototype, "sources", { + get: function () { + return this._sources.toArray().map(function (d) { + return this.sourceRoot != null ? t.join(this.sourceRoot, d) : d + }, this) + }, + }) + function a() { + ;(this.generatedLine = 0), + (this.generatedColumn = 0), + (this.source = null), + (this.originalLine = null), + (this.originalColumn = null), + (this.name = null) + } + ;(s.prototype._parseMappings = function (u, m) { + for ( + var f = 1, + g = 0, + b = 0, + v = 0, + w = 0, + _ = 0, + y = u.length, + C = 0, + S = {}, + P = {}, + R = [], + T = [], + E, + $, + j, + L, + W; + C < y; + + ) + if (u.charAt(C) === ";") f++, C++, (g = 0) + else if (u.charAt(C) === ",") C++ + else { + for (E = new a(), E.generatedLine = f, L = C; L < y && !this._charIsMappingSeparator(u, L); L++); + if ((($ = u.slice(C, L)), (j = S[$]), j)) C += $.length + else { + for (j = []; C < L; ) o.decode(u, C, P), (W = P.value), (C = P.rest), j.push(W) + if (j.length === 2) throw new Error("Found a source, but no line and column") + if (j.length === 3) throw new Error("Found a source and line, but no column") + S[$] = j + } + ;(E.generatedColumn = g + j[0]), + (g = E.generatedColumn), + j.length > 1 && + ((E.source = w + j[1]), + (w += j[1]), + (E.originalLine = b + j[2]), + (b = E.originalLine), + (E.originalLine += 1), + (E.originalColumn = v + j[3]), + (v = E.originalColumn), + j.length > 4 && ((E.name = _ + j[4]), (_ += j[4]))), + T.push(E), + typeof E.originalLine == "number" && R.push(E) + } + r(T, t.compareByGeneratedPositionsDeflated), + (this.__generatedMappings = T), + r(R, t.compareByOriginalPositions), + (this.__originalMappings = R) + }), + (s.prototype._findMapping = function (u, m, f, g, b, v) { + if (u[f] <= 0) throw new TypeError("Line must be greater than or equal to 1, got " + u[f]) + if (u[g] < 0) throw new TypeError("Column must be greater than or equal to 0, got " + u[g]) + return e.search(u, m, b, v) + }), + (s.prototype.computeColumnSpans = function () { + for (var u = 0; u < this._generatedMappings.length; ++u) { + var m = this._generatedMappings[u] + if (u + 1 < this._generatedMappings.length) { + var f = this._generatedMappings[u + 1] + if (m.generatedLine === f.generatedLine) { + m.lastGeneratedColumn = f.generatedColumn - 1 + continue + } + } + m.lastGeneratedColumn = 1 / 0 + } + }), + (s.prototype.originalPositionFor = function (u) { + var m = { generatedLine: t.getArg(u, "line"), generatedColumn: t.getArg(u, "column") }, + f = this._findMapping( + m, + this._generatedMappings, + "generatedLine", + "generatedColumn", + t.compareByGeneratedPositionsDeflated, + t.getArg(u, "bias", i.GREATEST_LOWER_BOUND), + ) + if (f >= 0) { + var g = this._generatedMappings[f] + if (g.generatedLine === m.generatedLine) { + var b = t.getArg(g, "source", null) + b !== null && + ((b = this._sources.at(b)), this.sourceRoot != null && (b = t.join(this.sourceRoot, b))) + var v = t.getArg(g, "name", null) + return ( + v !== null && (v = this._names.at(v)), + { + source: b, + line: t.getArg(g, "originalLine", null), + column: t.getArg(g, "originalColumn", null), + name: v, + } + ) + } + } + return { source: null, line: null, column: null, name: null } + }), + (s.prototype.hasContentsOfAllSources = function () { + return this.sourcesContent + ? this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (u) { + return u == null + }) + : !1 + }), + (s.prototype.sourceContentFor = function (u, m) { + if (!this.sourcesContent) return null + if ((this.sourceRoot != null && (u = t.relative(this.sourceRoot, u)), this._sources.has(u))) + return this.sourcesContent[this._sources.indexOf(u)] + var f + if (this.sourceRoot != null && (f = t.urlParse(this.sourceRoot))) { + var g = u.replace(/^file:\/\//, "") + if (f.scheme == "file" && this._sources.has(g)) return this.sourcesContent[this._sources.indexOf(g)] + if ((!f.path || f.path == "/") && this._sources.has("/" + u)) + return this.sourcesContent[this._sources.indexOf("/" + u)] + } + if (m) return null + throw new Error('"' + u + '" is not in the SourceMap.') + }), + (s.prototype.generatedPositionFor = function (u) { + var m = t.getArg(u, "source") + if ((this.sourceRoot != null && (m = t.relative(this.sourceRoot, m)), !this._sources.has(m))) + return { line: null, column: null, lastColumn: null } + m = this._sources.indexOf(m) + var f = { source: m, originalLine: t.getArg(u, "line"), originalColumn: t.getArg(u, "column") }, + g = this._findMapping( + f, + this._originalMappings, + "originalLine", + "originalColumn", + t.compareByOriginalPositions, + t.getArg(u, "bias", i.GREATEST_LOWER_BOUND), + ) + if (g >= 0) { + var b = this._originalMappings[g] + if (b.source === f.source) + return { + line: t.getArg(b, "generatedLine", null), + column: t.getArg(b, "generatedColumn", null), + lastColumn: t.getArg(b, "lastGeneratedColumn", null), + } + } + return { line: null, column: null, lastColumn: null } + }), + (Lg.BasicSourceMapConsumer = s) + function c(d) { + var u = d + typeof d == "string" && (u = JSON.parse(d.replace(/^\)\]\}'/, ""))) + var m = t.getArg(u, "version"), + f = t.getArg(u, "sections") + if (m != this._version) throw new Error("Unsupported version: " + m) + ;(this._sources = new n()), (this._names = new n()) + var g = { line: -1, column: 0 } + this._sections = f.map(function (b) { + if (b.url) throw new Error("Support for url field in sections not implemented.") + var v = t.getArg(b, "offset"), + w = t.getArg(v, "line"), + _ = t.getArg(v, "column") + if (w < g.line || (w === g.line && _ < g.column)) + throw new Error("Section offsets must be ordered and non-overlapping.") + return ( + (g = v), + { + generatedOffset: { generatedLine: w + 1, generatedColumn: _ + 1 }, + consumer: new i(t.getArg(b, "map")), + } + ) + }) + } + return ( + (c.prototype = Object.create(i.prototype)), + (c.prototype.constructor = i), + (c.prototype._version = 3), + Object.defineProperty(c.prototype, "sources", { + get: function () { + for (var d = [], u = 0; u < this._sections.length; u++) + for (var m = 0; m < this._sections[u].consumer.sources.length; m++) + d.push(this._sections[u].consumer.sources[m]) + return d + }, + }), + (c.prototype.originalPositionFor = function (u) { + var m = { generatedLine: t.getArg(u, "line"), generatedColumn: t.getArg(u, "column") }, + f = e.search(m, this._sections, function (b, v) { + var w = b.generatedLine - v.generatedOffset.generatedLine + return w || b.generatedColumn - v.generatedOffset.generatedColumn + }), + g = this._sections[f] + return g + ? g.consumer.originalPositionFor({ + line: m.generatedLine - (g.generatedOffset.generatedLine - 1), + column: + m.generatedColumn - + (g.generatedOffset.generatedLine === m.generatedLine + ? g.generatedOffset.generatedColumn - 1 + : 0), + bias: u.bias, + }) + : { source: null, line: null, column: null, name: null } + }), + (c.prototype.hasContentsOfAllSources = function () { + return this._sections.every(function (u) { + return u.consumer.hasContentsOfAllSources() + }) + }), + (c.prototype.sourceContentFor = function (u, m) { + for (var f = 0; f < this._sections.length; f++) { + var g = this._sections[f], + b = g.consumer.sourceContentFor(u, !0) + if (b) return b + } + if (m) return null + throw new Error('"' + u + '" is not in the SourceMap.') + }), + (c.prototype.generatedPositionFor = function (u) { + for (var m = 0; m < this._sections.length; m++) { + var f = this._sections[m] + if (f.consumer.sources.indexOf(t.getArg(u, "source")) !== -1) { + var g = f.consumer.generatedPositionFor(u) + if (g) { + var b = { + line: g.line + (f.generatedOffset.generatedLine - 1), + column: + g.column + + (f.generatedOffset.generatedLine === g.line + ? f.generatedOffset.generatedColumn - 1 + : 0), + } + return b + } + } + } + return { line: null, column: null } + }), + (c.prototype._parseMappings = function (u, m) { + ;(this.__generatedMappings = []), (this.__originalMappings = []) + for (var f = 0; f < this._sections.length; f++) + for (var g = this._sections[f], b = g.consumer._generatedMappings, v = 0; v < b.length; v++) { + var w = b[v], + _ = g.consumer._sources.at(w.source) + g.consumer.sourceRoot !== null && (_ = t.join(g.consumer.sourceRoot, _)), + this._sources.add(_), + (_ = this._sources.indexOf(_)) + var y = g.consumer._names.at(w.name) + this._names.add(y), (y = this._names.indexOf(y)) + var C = { + source: _, + generatedLine: w.generatedLine + (g.generatedOffset.generatedLine - 1), + generatedColumn: + w.generatedColumn + + (g.generatedOffset.generatedLine === w.generatedLine + ? g.generatedOffset.generatedColumn - 1 + : 0), + originalLine: w.originalLine, + originalColumn: w.originalColumn, + name: y, + } + this.__generatedMappings.push(C), + typeof C.originalLine == "number" && this.__originalMappings.push(C) + } + r(this.__generatedMappings, t.compareByGeneratedPositionsDeflated), + r(this.__originalMappings, t.compareByOriginalPositions) + }), + (Lg.IndexedSourceMapConsumer = c), + Lg + ) +} +var ZSt = Px.exports, + j2 +function YSt() { + return ( + j2 || + ((j2 = 1), + (function (t, e) { + ;(function (n, o) { + t.exports = o(QSt(), uE()) + })(ZSt, function (n, o) { + function r(f) { + return new Promise(function (g, b) { + var v = new XMLHttpRequest() + v.open("get", f), + (v.onerror = b), + (v.onreadystatechange = function () { + v.readyState === 4 && + ((v.status >= 200 && v.status < 300) || + (f.substr(0, 7) === "file://" && v.responseText) + ? g(v.responseText) + : b(new Error("HTTP status: " + v.status + " retrieving " + f))) + }), + v.send() + }) + } + function i(f) { + if (typeof window < "u" && window.atob) return window.atob(f) + throw new Error("You must supply a polyfill for window.atob in this environment") + } + function s(f) { + if (typeof JSON < "u" && JSON.parse) return JSON.parse(f) + throw new Error("You must supply a polyfill for JSON.parse in this environment") + } + function a(f, g) { + for ( + var b = [ + /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/, + /function\s+([^('"`]*?)\s*\(([^)]*)\)/, + /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/, + /\b(?!(?:if|for|switch|while|with|catch)\b)(?:(?:static)\s+)?(\S+)\s*\(.*?\)\s*\{/, + /['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*\(.*?\)\s*=>/, + ], + v = f.split(` +`), + w = "", + _ = Math.min(g, 20), + y = 0; + y < _; + ++y + ) { + var C = v[g - y - 1], + S = C.indexOf("//") + if ((S >= 0 && (C = C.substr(0, S)), C)) { + w = C + w + for (var P = b.length, R = 0; R < P; R++) { + var T = b[R].exec(w) + if (T && T[1]) return T[1] + } + } + } + } + function c() { + if (typeof Object.defineProperty != "function" || typeof Object.create != "function") + throw new Error("Unable to consume source maps in older browsers") + } + function d(f) { + if (typeof f != "object") throw new TypeError("Given StackFrame is not an object") + if (typeof f.fileName != "string") throw new TypeError("Given file name is not a String") + if (typeof f.lineNumber != "number" || f.lineNumber % 1 !== 0 || f.lineNumber < 1) + throw new TypeError("Given line number must be a positive integer") + if (typeof f.columnNumber != "number" || f.columnNumber % 1 !== 0 || f.columnNumber < 0) + throw new TypeError("Given column number must be a non-negative integer") + return !0 + } + function u(f) { + for (var g = /\/\/[#@] ?sourceMappingURL=([^\s'"]+)\s*$/gm, b, v; (v = g.exec(f)); ) b = v[1] + if (b) return b + throw new Error("sourceMappingURL not found") + } + function m(f, g, b) { + return new Promise(function (v, w) { + var _ = g.originalPositionFor({ line: f.lineNumber, column: f.columnNumber }) + if (_.source) { + var y = g.sourceContentFor(_.source) + y && (b[_.source] = y), + v( + new o({ + functionName: _.name || f.functionName, + args: f.args, + fileName: _.source, + lineNumber: _.line, + columnNumber: _.column, + }), + ) + } else w(new Error("Could not get original source for given stackframe and source map")) + }) + } + return function f(g) { + if (!(this instanceof f)) return new f(g) + ;(g = g || {}), + (this.sourceCache = g.sourceCache || {}), + (this.sourceMapConsumerCache = g.sourceMapConsumerCache || {}), + (this.ajax = g.ajax || r), + (this._atob = g.atob || i), + (this._get = function (v) { + return new Promise( + function (w, _) { + var y = v.substr(0, 5) === "data:" + if (this.sourceCache[v]) w(this.sourceCache[v]) + else if (g.offline && !y) + _(new Error("Cannot make network requests in offline mode")) + else if (y) { + var C = /^data:application\/json;([\w=:"-]+;)*base64,/, + S = v.match(C) + if (S) { + var P = S[0].length, + R = v.substr(P), + T = this._atob(R) + ;(this.sourceCache[v] = T), w(T) + } else _(new Error("The encoding of the inline sourcemap is not supported")) + } else { + var E = this.ajax(v, { method: "get" }) + ;(this.sourceCache[v] = E), E.then(w, _) + } + }.bind(this), + ) + }), + (this._getSourceMapConsumer = function (v, w) { + return new Promise( + function (_) { + if (this.sourceMapConsumerCache[v]) _(this.sourceMapConsumerCache[v]) + else { + var y = new Promise( + function (C, S) { + return this._get(v) + .then(function (P) { + typeof P == "string" && (P = s(P.replace(/^\)\]\}'/, ""))), + typeof P.sourceRoot > "u" && (P.sourceRoot = w), + C(new n.SourceMapConsumer(P)) + }) + .catch(S) + }.bind(this), + ) + ;(this.sourceMapConsumerCache[v] = y), _(y) + } + }.bind(this), + ) + }), + (this.pinpoint = function (v) { + return new Promise( + function (w, _) { + this.getMappedLocation(v).then( + function (y) { + function C() { + w(y) + } + this.findFunctionName(y).then(w, C).catch(C) + }.bind(this), + _, + ) + }.bind(this), + ) + }), + (this.findFunctionName = function (v) { + return new Promise( + function (w, _) { + d(v), + this._get(v.fileName) + .then(function (C) { + var S = v.lineNumber, + P = v.columnNumber, + R = a(C, S) + w( + R + ? new o({ + functionName: R, + args: v.args, + fileName: v.fileName, + lineNumber: S, + columnNumber: P, + }) + : v, + ) + }, _) + .catch(_) + }.bind(this), + ) + }), + (this.getMappedLocation = function (v) { + return new Promise( + function (w, _) { + c(), d(v) + var y = this.sourceCache, + C = v.fileName + this._get(C) + .then( + function (S) { + var P = u(S), + R = P.substr(0, 5) === "data:", + T = C.substring(0, C.lastIndexOf("/") + 1) + return ( + P[0] !== "/" && + !R && + !/^https?:\/\/|^\/\//i.test(P) && + (P = T + P), + this._getSourceMapConsumer(P, T).then(function (E) { + return m(v, E, y) + .then(w) + .catch(function () { + w(v) + }) + }) + ) + }.bind(this), + _, + ) + .catch(_) + }.bind(this), + ) + }) + } + }) + })(Px)), + Px.exports + ) +} +var XSt = _x.exports, + E2 +function JSt() { + return ( + E2 || + ((E2 = 1), + (function (t, e) { + ;(function (n, o) { + t.exports = o(BSt(), qSt(), YSt()) + })(XSt, function (o, r, i) { + var s = { + filter: function (m) { + return ( + (m.functionName || "").indexOf("StackTrace$$") === -1 && + (m.functionName || "").indexOf("ErrorStackParser$$") === -1 && + (m.functionName || "").indexOf("StackTraceGPS$$") === -1 && + (m.functionName || "").indexOf("StackGenerator$$") === -1 + ) + }, + sourceCache: {}, + }, + a = function () { + try { + throw new Error() + } catch (f) { + return f + } + } + function c(m, f) { + var g = {} + return ( + [m, f].forEach(function (b) { + for (var v in b) Object.prototype.hasOwnProperty.call(b, v) && (g[v] = b[v]) + return g + }), + g + ) + } + function d(m) { + return m.stack || m["opera#sourceloc"] + } + function u(m, f) { + return typeof f == "function" ? m.filter(f) : m + } + return { + get: function (f) { + var g = a() + return d(g) ? this.fromError(g, f) : this.generateArtificially(f) + }, + getSync: function (f) { + f = c(s, f) + var g = a(), + b = d(g) ? o.parse(g) : r.backtrace(f) + return u(b, f.filter) + }, + fromError: function (f, g) { + g = c(s, g) + var b = new i(g) + return new Promise( + function (v) { + var w = u(o.parse(f), g.filter) + v( + Promise.all( + w.map(function (_) { + return new Promise(function (y) { + function C() { + y(_) + } + b.pinpoint(_).then(y, C).catch(C) + }) + }), + ), + ) + }.bind(this), + ) + }, + generateArtificially: function (f) { + f = c(s, f) + var g = r.backtrace(f) + return typeof f.filter == "function" && (g = g.filter(f.filter)), Promise.resolve(g) + }, + instrument: function (f, g, b, v) { + if (typeof f != "function") throw new Error("Cannot instrument non-function object") + if (typeof f.__stacktraceOriginalFn == "function") return f + var w = function () { + try { + return this.get().then(g, b).catch(b), f.apply(v || this, arguments) + } catch (y) { + throw (d(y) && this.fromError(y).then(g, b).catch(b), y) + } + }.bind(this) + return (w.__stacktraceOriginalFn = f), w + }, + deinstrument: function (f) { + if (typeof f != "function") throw new Error("Cannot de-instrument non-function object") + return typeof f.__stacktraceOriginalFn == "function" ? f.__stacktraceOriginalFn : f + }, + report: function (f, g, b, v) { + return new Promise(function (w, _) { + var y = new XMLHttpRequest() + if ( + ((y.onerror = _), + (y.onreadystatechange = function () { + y.readyState === 4 && + (y.status >= 200 && y.status < 400 + ? w(y.responseText) + : _(new Error("POST to " + g + " failed with status: " + y.status))) + }), + y.open("post", g), + y.setRequestHeader("Content-Type", "application/json"), + v && typeof v.headers == "object") + ) { + var C = v.headers + for (var S in C) + Object.prototype.hasOwnProperty.call(C, S) && y.setRequestHeader(S, C[S]) + } + var P = { stack: f } + b != null && (P.message = b), y.send(JSON.stringify(P)) + }) + }, + } + }) + })(_x)), + _x.exports + ) +} +var stt = JSt() +async function eAt(t) { + if (!t) return console.debug("applySourceMapsToStack: Empty stack trace provided"), t + console.debug("Original stack trace:", t) + try { + const e = new Error() + e.stack = t + const n = t.split(` +`)[0] + console.debug("Error message:", n) + const o = await stt.fromError(e) + console.debug("StackTrace.js parsed frames:", o) + const r = o.map((s) => { + const a = s.functionName || "<anonymous>", + c = s.fileName || "unknown", + d = s.lineNumber || 0, + u = s.columnNumber || 0 + return ` at ${a} (${c}:${d}:${u})` + }), + i = [n, ...r].join(` +`) + return console.debug("Final mapped stack trace:", i), i + } catch (e) { + return console.error("Error applying source maps with StackTrace.js:", e), t + } +} +async function tAt(t) { + if (!t) return console.debug("applySourceMapsToComponentStack: Empty component stack provided"), t + console.debug("Original component stack:", t) + try { + const e = t.split(` +`), + o = ( + await Promise.all( + e.map(async (r) => { + if (!r.trim()) return r + const i = r.match(/at\s+(.+?)\s+\((.+?):(\d+):(\d+)\)/) + if (!i) return r + const [s, a, c, d, u] = i + console.debug("Processing component stack line:", { + componentName: a, + fileName: c, + lineNumber: d, + columnNumber: u, + }) + try { + const m = new Error() + m.stack = `Error + at ${a} (${c}:${d}:${u})` + const f = await stt.fromError(m) + if (f.length > 0) { + const g = f[0], + b = g.fileName || c, + v = g.lineNumber || parseInt(d, 10), + w = g.columnNumber || parseInt(u, 10) + return `at ${a} (${b}:${v}:${w})` + } + } catch (m) { + console.debug("Error processing component stack line with StackTrace.js:", m) + } + return r + }), + ) + ).join(` +`) + return console.debug("Final mapped component stack:", o), o + } catch (e) { + return console.error("Error applying source maps to component stack with StackTrace.js:", e), t + } +} +function Lw(t, e) { + return ( + console.debug("Enhancing error with source maps using StackTrace.js:", t), + new Promise((n) => { + if (!t.stack) { + console.debug("Error has no stack trace"), n(t) + return + } + const o = eAt(t.stack), + r = e ? tAt(e) : Promise.resolve(void 0) + Promise.all([o, r]) + .then(([i, s]) => { + console.debug("Source mapped stacks applied successfully with StackTrace.js"), + Object.defineProperty(t, "sourceMappedStack", { value: i, writable: !0, configurable: !0 }), + s && + Object.defineProperty(t, "sourceMappedComponentStack", { + value: s, + writable: !0, + configurable: !0, + }), + n(t) + }) + .catch((i) => { + console.error("Error applying source maps with StackTrace.js:", i), n(t) + }) + }) + ) +} +function nAt() { + console.debug("Initializing CSP-compatible source map support for production build"), + window.addEventListener("error", async (t) => { + if (t.error && t.error instanceof Error) + try { + const e = await Lw(t.error) + console.error("Source mapped error:", e) + } catch (e) { + console.error("Error enhancing error with source maps:", e) + } + }), + window.addEventListener("unhandledrejection", async (t) => { + if (t.reason && t.reason instanceof Error) + try { + const e = await Lw(t.reason) + console.error("Source mapped rejection:", e) + } catch (e) { + console.error("Error enhancing rejection with source maps:", e) + } + }) + try { + const t = document.getElementsByTagName("script") + for (let e = 0; e < t.length; e++) { + const n = t[e] + if (n.src) { + const o = [ + `${n.src}.map`, + `${n.src}?source-map=true`, + n.src.replace(/\.js$/, ".js.map"), + n.src.replace(/\.js$/, ".map.json"), + n.src.replace(/\.js$/, ".sourcemap"), + ] + for (const r of o) { + const i = document.createElement("link") + ;(i.rel = "preload"), + (i.as = "fetch"), + (i.href = r), + (i.crossOrigin = "anonymous"), + document.head.appendChild(i) + } + fetch(n.src) + .then((r) => r.text()) + .then((r) => { + const i = r.match(/\/\/[#@]\s*sourceMappingURL=([^\s]+)/) + if (i && i[1]) { + const s = i[1] + if (!s.startsWith("data:")) { + const a = new URL(n.src), + c = a.href.substring(0, a.href.lastIndexOf("/") + 1), + d = new URL(s, c).href, + u = document.createElement("link") + ;(u.rel = "preload"), + (u.as = "fetch"), + (u.href = d), + (u.crossOrigin = "anonymous"), + document.head.appendChild(u) + } + } + }) + .catch((r) => console.debug("Error checking for inline sourceMappingURL:", r)) + } + } + } catch (t) { + console.error("Error preloading source maps:", t) + } +} +function oAt() { + try { + ;(window.__applySourceMaps = async (t) => + t instanceof Error ? await Lw(t) : (console.error("Not an Error object:", t), t)), + (window.__testSourceMaps = () => { + try { + ;(void 0).nonExistentMethod() + } catch (t) { + t instanceof Error && + (console.log("Original error:", t), + window.__applySourceMaps(t).then((e) => { + console.log("Enhanced error:", e), + "sourceMappedStack" in e && console.log("Source mapped stack:", e.sourceMappedStack), + "sourceMappedComponentStack" in e && + console.log("Source mapped component stack:", e.sourceMappedComponentStack) + })) + } + }), + (window.__checkSourceMap = async (t) => { + try { + const e = await fetch(`${t}.map`) + if (e.ok) { + const n = await e.json(), + o = n.sources && n.sources.length > 0 ? n.sources[0] : "unknown" + return console.log(`Source map found for ${t}. Original file: ${o}`), !0 + } else return console.log(`No source map found for ${t}`), !1 + } catch (e) { + return console.error(`Error checking source map for ${t}:`, e), !1 + } + }), + console.debug("Source map debugging utilities exposed on window object") + } catch (t) { + console.error("Error exposing source maps for debugging:", t) + } +} +var Mk = { exports: {} }, + z2 +function rAt() { + if (z2) return Mk.exports + z2 = 1 + function t(e, n = 100, o = {}) { + if (typeof e != "function") + throw new TypeError(`Expected the first parameter to be a function, got \`${typeof e}\`.`) + if (n < 0) throw new RangeError("`wait` must not be negative.") + const { immediate: r } = typeof o == "boolean" ? { immediate: o } : o + let i, s, a, c, d + function u() { + const g = i, + b = s + return (i = void 0), (s = void 0), (d = e.apply(g, b)), d + } + function m() { + const g = Date.now() - c + g < n && g >= 0 ? (a = setTimeout(m, n - g)) : ((a = void 0), r || (d = u())) + } + const f = function (...g) { + if (i && this !== i && Object.getPrototypeOf(this) === Object.getPrototypeOf(i)) + throw new Error("Debounced method called with different contexts of the same prototype.") + ;(i = this), (s = g), (c = Date.now()) + const b = r && !a + return a || (a = setTimeout(m, n)), b && (d = u()), d + } + return ( + Object.defineProperty(f, "isPending", { + get() { + return a !== void 0 + }, + }), + (f.clear = () => { + a && (clearTimeout(a), (a = void 0)) + }), + (f.flush = () => { + a && f.trigger() + }), + (f.trigger = () => { + ;(d = u()), f.clear() + }), + f + ) + } + return (Mk.exports.debounce = t), (Mk.exports = t), Mk.exports +} +var iAt = rAt() +const sAt = ps(iAt) +var $b = RW() +const att = ps($b), + K_ = 0, + lu = 1, + mf = 2, + ltt = 4 +function $2(t) { + return () => t +} +function aAt(t) { + t() +} +function ctt(t, e) { + return (n) => t(e(n)) +} +function L2(t, e) { + return () => t(e) +} +function lAt(t, e) { + return (n) => t(e, n) +} +function pE(t) { + return t !== void 0 +} +function cAt(...t) { + return () => { + t.map(aAt) + } +} +function hf() {} +function V_(t, e) { + return e(t), t +} +function dAt(t, e) { + return e(t) +} +function jo(...t) { + return t +} +function ao(t, e) { + return t(lu, e) +} +function wn(t, e) { + t(K_, e) +} +function mE(t) { + t(mf) +} +function mi(t) { + return t(ltt) +} +function Lt(t, e) { + return ao(t, lAt(e, K_)) +} +function ql(t, e) { + const n = t(lu, (o) => { + n(), e(o) + }) + return n +} +function D2(t) { + let e, n + return (o) => (r) => { + ;(e = r), + n && clearTimeout(n), + (n = setTimeout(() => { + o(e) + }, t)) + } +} +function dtt(t, e) { + return t === e +} +function Io(t = dtt) { + let e + return (n) => (o) => { + t(e, o) || ((e = o), n(o)) + } +} +function en(t) { + return (e) => (n) => { + t(n) && e(n) + } +} +function bt(t) { + return (e) => ctt(e, t) +} +function Il(t) { + return (e) => () => { + e(t) + } +} +function Fe(t, ...e) { + const n = uAt(...e) + return (o, r) => { + switch (o) { + case mf: + mE(t) + return + case lu: + return ao(t, n(r)) + } + } +} +function Dl(t, e) { + return (n) => (o) => { + n((e = t(e, o))) + } +} +function Vh(t) { + return (e) => (n) => { + t > 0 ? t-- : e(n) + } +} +function Bd(t) { + let e = null, + n + return (o) => (r) => { + ;(e = r), + !n && + (n = setTimeout(() => { + ;(n = void 0), o(e) + }, t)) + } +} +function Sn(...t) { + const e = new Array(t.length) + let n = 0, + o = null + const r = Math.pow(2, t.length) - 1 + return ( + t.forEach((i, s) => { + const a = Math.pow(2, s) + ao(i, (c) => { + const d = n + ;(n = n | a), (e[s] = c), d !== r && n === r && o && (o(), (o = null)) + }) + }), + (i) => (s) => { + const a = () => { + i([s].concat(e)) + } + n === r ? a() : (o = a) + } + ) +} +function uAt(...t) { + return (e) => t.reduceRight(dAt, e) +} +function pAt(t) { + let e, n + const o = () => (e == null ? void 0 : e()) + return function (r, i) { + switch (r) { + case lu: + return i ? (n === i ? void 0 : (o(), (n = i), (e = ao(t, i)), e)) : (o(), hf) + case mf: + o(), (n = null) + return + } + } +} +function Ze(t) { + let e = t + const n = Dn() + return (o, r) => { + switch (o) { + case K_: + e = r + break + case lu: { + r(e) + break + } + case ltt: + return e + } + return n(o, r) + } +} +function hi(t, e) { + return V_(Ze(e), (n) => Lt(t, n)) +} +function Dn() { + const t = [] + return (e, n) => { + switch (e) { + case K_: + t.slice().forEach((o) => { + o(n) + }) + return + case mf: + t.splice(0, t.length) + return + case lu: + return ( + t.push(n), + () => { + const o = t.indexOf(n) + o > -1 && t.splice(o, 1) + } + ) + } + } +} +function Fs(t) { + return V_(Dn(), (e) => Lt(t, e)) +} +function Zn(t, e = [], { singleton: n } = { singleton: !0 }) { + return { constructor: t, dependencies: e, id: mAt(), singleton: n } +} +const mAt = () => Symbol() +function hAt(t) { + const e = new Map(), + n = ({ constructor: o, dependencies: r, id: i, singleton: s }) => { + if (s && e.has(i)) return e.get(i) + const a = o(r.map((c) => n(c))) + return s && e.set(i, a), a + } + return n(t) +} +function xr(...t) { + const e = Dn(), + n = new Array(t.length) + let o = 0 + const r = Math.pow(2, t.length) - 1 + return ( + t.forEach((i, s) => { + const a = Math.pow(2, s) + ao(i, (c) => { + ;(n[s] = c), (o = o | a), o === r && wn(e, n) + }) + }), + function (i, s) { + switch (i) { + case mf: { + mE(e) + return + } + case lu: + return o === r && s(n), ao(e, s) + } + } + ) +} +function tn(t, e = dtt) { + return Fe(t, Io(e)) +} +function N2(...t) { + return function (e, n) { + switch (e) { + case mf: + return + case lu: + return cAt(...t.map((o) => ao(o, n))) + } + } +} +var Bs = ((t) => ( + (t[(t.DEBUG = 0)] = "DEBUG"), + (t[(t.INFO = 1)] = "INFO"), + (t[(t.WARN = 2)] = "WARN"), + (t[(t.ERROR = 3)] = "ERROR"), + t +))(Bs || {}) +const fAt = { 0: "debug", 3: "error", 1: "log", 2: "warn" }, + gAt = () => (typeof globalThis > "u" ? window : globalThis), + cu = Zn( + () => { + const t = Ze(3) + return { + log: Ze((e, n, o = 1) => { + var r + const i = (r = gAt().VIRTUOSO_LOG_LEVEL) != null ? r : mi(t) + o >= i && + console[fAt[o]]( + "%creact-virtuoso: %c%s %o", + "color: #0253b3; font-weight: bold", + "color: initial", + e, + n, + ) + }), + logLevel: t, + } + }, + [], + { singleton: !0 }, + ) +function Wp(t, e, n) { + return hE(t, e, n).callbackRef +} +function hE(t, e, n) { + const o = Ie.useRef(null) + let r = (s) => {} + const i = Ie.useMemo( + () => + typeof ResizeObserver < "u" + ? new ResizeObserver((s) => { + const a = () => { + const c = s[0].target + c.offsetParent !== null && t(c) + } + n ? a() : requestAnimationFrame(a) + }) + : null, + [t, n], + ) + return ( + (r = (s) => { + s && e + ? (i == null || i.observe(s), (o.current = s)) + : (o.current && (i == null || i.unobserve(o.current)), (o.current = null)) + }), + { callbackRef: r, ref: o } + ) +} +function vAt(t, e, n, o, r, i, s, a, c) { + const d = Ie.useCallback( + (u) => { + const m = bAt(u.children, e, a ? "offsetWidth" : "offsetHeight", r) + let f = u.parentElement + for (; !f.dataset.virtuosoScroller; ) f = f.parentElement + const g = f.lastElementChild.dataset.viewportType === "window" + let b + g && (b = f.ownerDocument.defaultView) + const v = s + ? a + ? s.scrollLeft + : s.scrollTop + : g + ? a + ? b.scrollX || b.document.documentElement.scrollLeft + : b.scrollY || b.document.documentElement.scrollTop + : a + ? f.scrollLeft + : f.scrollTop, + w = s + ? a + ? s.scrollWidth + : s.scrollHeight + : g + ? a + ? b.document.documentElement.scrollWidth + : b.document.documentElement.scrollHeight + : a + ? f.scrollWidth + : f.scrollHeight, + _ = s + ? a + ? s.offsetWidth + : s.offsetHeight + : g + ? a + ? b.innerWidth + : b.innerHeight + : a + ? f.offsetWidth + : f.offsetHeight + o({ scrollHeight: w, scrollTop: Math.max(v, 0), viewportHeight: _ }), + i == null || + i( + a + ? O2("column-gap", getComputedStyle(u).columnGap, r) + : O2("row-gap", getComputedStyle(u).rowGap, r), + ), + m !== null && t(m) + }, + [t, e, r, i, s, o, a], + ) + return hE(d, n, c) +} +function bAt(t, e, n, o) { + const r = t.length + if (r === 0) return null + const i = [] + for (let s = 0; s < r; s++) { + const a = t.item(s) + if (a.dataset.index === void 0) continue + const c = parseInt(a.dataset.index), + d = parseFloat(a.dataset.knownSize), + u = e(a, n) + if ((u === 0 && o("Zero-sized element, this should not happen", { child: a }, Bs.ERROR), u === d)) continue + const m = i[i.length - 1] + i.length === 0 || m.size !== u || m.endIndex !== c - 1 + ? i.push({ endIndex: c, size: u, startIndex: c }) + : i[i.length - 1].endIndex++ + } + return i +} +function O2(t, e, n) { + return ( + e !== "normal" && + !(e != null && e.endsWith("px")) && + n(`${t} was not resolved to pixel value correctly`, e, Bs.WARN), + e === "normal" ? 0 : parseInt(e ?? "0", 10) + ) +} +function utt(t, e, n) { + const o = Ie.useRef(null), + r = Ie.useCallback( + (c) => { + if (!(c != null && c.offsetParent)) return + const d = c.getBoundingClientRect(), + u = d.width + let m, f + if (e) { + const g = e.getBoundingClientRect(), + b = d.top - g.top + ;(f = g.height - Math.max(0, b)), (m = b + e.scrollTop) + } else { + const g = s.current.ownerDocument.defaultView + ;(f = g.innerHeight - Math.max(0, d.top)), (m = d.top + g.scrollY) + } + ;(o.current = { offsetTop: m, visibleHeight: f, visibleWidth: u }), t(o.current) + }, + [t, e], + ), + { callbackRef: i, ref: s } = hE(r, !0, n), + a = Ie.useCallback(() => { + r(s.current) + }, [r, s]) + return ( + Ie.useEffect(() => { + var c + if (e) { + e.addEventListener("scroll", a) + const d = new ResizeObserver(() => { + requestAnimationFrame(a) + }) + return ( + d.observe(e), + () => { + e.removeEventListener("scroll", a), d.unobserve(e) + } + ) + } else { + const d = (c = s.current) == null ? void 0 : c.ownerDocument.defaultView + return ( + d == null || d.addEventListener("scroll", a), + d == null || d.addEventListener("resize", a), + () => { + d == null || d.removeEventListener("scroll", a), d == null || d.removeEventListener("resize", a) + } + ) + } + }, [a, e, s]), + i + ) +} +const Bi = Zn( + () => { + const t = Dn(), + e = Dn(), + n = Ze(0), + o = Dn(), + r = Ze(0), + i = Dn(), + s = Dn(), + a = Ze(0), + c = Ze(0), + d = Ze(0), + u = Ze(0), + m = Dn(), + f = Dn(), + g = Ze(!1), + b = Ze(!1), + v = Ze(!1) + return ( + Lt( + Fe( + t, + bt(({ scrollTop: w }) => w), + ), + e, + ), + Lt( + Fe( + t, + bt(({ scrollHeight: w }) => w), + ), + s, + ), + Lt(e, r), + { + deviation: n, + fixedFooterHeight: d, + fixedHeaderHeight: c, + footerHeight: u, + headerHeight: a, + horizontalDirection: b, + scrollBy: f, + scrollContainerState: t, + scrollHeight: s, + scrollingInProgress: g, + scrollTo: m, + scrollTop: e, + skipAnimationFrameInResizeObserver: v, + smoothScrollTargetReached: o, + statefulScrollTop: r, + viewportHeight: i, + } + ) + }, + [], + { singleton: !0 }, + ), + Gv = { lvl: 0 } +function ptt(t, e) { + const n = t.length + if (n === 0) return [] + let { index: o, value: r } = e(t[0]) + const i = [] + for (let s = 1; s < n; s++) { + const { index: a, value: c } = e(t[s]) + i.push({ end: a - 1, start: o, value: r }), (o = a), (r = c) + } + return i.push({ end: 1 / 0, start: o, value: r }), i +} +function mo(t) { + return t === Gv +} +function Qv(t, e) { + if (!mo(t)) return e === t.k ? t.v : e < t.k ? Qv(t.l, e) : Qv(t.r, e) +} +function tl(t, e, n = "k") { + if (mo(t)) return [-1 / 0, void 0] + if (Number(t[n]) === e) return [t.k, t.v] + if (Number(t[n]) < e) { + const o = tl(t.r, e, n) + return o[0] === -1 / 0 ? [t.k, t.v] : o + } + return tl(t.l, e, n) +} +function Ds(t, e, n) { + return mo(t) + ? ftt(e, n, 1) + : e === t.k + ? br(t, { k: e, v: n }) + : e < t.k + ? F2(br(t, { l: Ds(t.l, e, n) })) + : F2(br(t, { r: Ds(t.r, e, n) })) +} +function ch() { + return Gv +} +function H_(t, e, n) { + if (mo(t)) return [] + const o = tl(t, e)[0] + return yAt(V1(t, o, n)) +} +function K1(t, e) { + if (mo(t)) return Gv + const { k: n, l: o, r } = t + if (e === n) { + if (mo(o)) return r + if (mo(r)) return o + { + const [i, s] = htt(o) + return Rx(br(t, { k: i, l: mtt(o), v: s })) + } + } else return e < n ? Rx(br(t, { l: K1(o, e) })) : Rx(br(t, { r: K1(r, e) })) +} +function rp(t) { + return mo(t) ? [] : [...rp(t.l), { k: t.k, v: t.v }, ...rp(t.r)] +} +function V1(t, e, n) { + if (mo(t)) return [] + const { k: o, l: r, r: i, v: s } = t + let a = [] + return ( + o > e && (a = a.concat(V1(r, e, n))), + o >= e && o <= n && a.push({ k: o, v: s }), + o <= n && (a = a.concat(V1(i, e, n))), + a + ) +} +function Rx(t) { + const { l: e, lvl: n, r: o } = t + if (o.lvl >= n - 1 && e.lvl >= n - 1) return t + if (n > o.lvl + 1) { + if (CA(e)) return gtt(br(t, { lvl: n - 1 })) + if (!mo(e) && !mo(e.r)) return br(e.r, { l: br(e, { r: e.r.l }), lvl: n, r: br(t, { l: e.r.r, lvl: n - 1 }) }) + throw new Error("Unexpected empty nodes") + } else { + if (CA(t)) return H1(br(t, { lvl: n - 1 })) + if (!mo(o) && !mo(o.l)) { + const r = o.l, + i = CA(r) ? o.lvl - 1 : o.lvl + return br(r, { l: br(t, { lvl: n - 1, r: r.l }), lvl: r.lvl + 1, r: H1(br(o, { l: r.r, lvl: i })) }) + } else throw new Error("Unexpected empty nodes") + } +} +function br(t, e) { + return ftt( + e.k !== void 0 ? e.k : t.k, + e.v !== void 0 ? e.v : t.v, + e.lvl !== void 0 ? e.lvl : t.lvl, + e.l !== void 0 ? e.l : t.l, + e.r !== void 0 ? e.r : t.r, + ) +} +function mtt(t) { + return mo(t.r) ? t.l : Rx(br(t, { r: mtt(t.r) })) +} +function CA(t) { + return mo(t) || t.lvl > t.r.lvl +} +function htt(t) { + return mo(t.r) ? [t.k, t.v] : htt(t.r) +} +function ftt(t, e, n, o = Gv, r = Gv) { + return { k: t, l: o, lvl: n, r, v: e } +} +function F2(t) { + return H1(gtt(t)) +} +function gtt(t) { + const { l: e } = t + return !mo(e) && e.lvl === t.lvl ? br(e, { r: br(t, { l: e.r }) }) : t +} +function H1(t) { + const { lvl: e, r: n } = t + return !mo(n) && !mo(n.r) && n.lvl === e && n.r.lvl === e ? br(n, { l: br(t, { r: n.l }), lvl: e + 1 }) : t +} +function yAt(t) { + return ptt(t, ({ k: e, v: n }) => ({ index: e, value: n })) +} +function vtt(t, e) { + return !!(t && t.startIndex === e.startIndex && t.endIndex === e.endIndex) +} +function Zv(t, e) { + return !!(t && t[0] === e[0] && t[1] === e[1]) +} +const fE = Zn(() => ({ recalcInProgress: Ze(!1) }), [], { singleton: !0 }) +function btt(t, e, n) { + return t[Dw(t, e, n)] +} +function Dw(t, e, n, o = 0) { + let r = t.length - 1 + for (; o <= r; ) { + const i = Math.floor((o + r) / 2), + s = t[i], + a = n(s, e) + if (a === 0) return i + if (a === -1) { + if (r - o < 2) return i - 1 + r = i - 1 + } else { + if (r === o) return i + o = i + 1 + } + } + throw new Error(`Failed binary finding record in array - ${t.join(",")}, searched for ${e}`) +} +function kAt(t, e, n, o) { + const r = Dw(t, e, o), + i = Dw(t, n, o, r) + return t.slice(r, i + 1) +} +function Qd(t, e) { + return Math.round(t.getBoundingClientRect()[e]) +} +function G_(t) { + return !mo(t.groupOffsetTree) +} +function gE({ index: t }, e) { + return e === t ? 0 : e < t ? -1 : 1 +} +function xAt() { + return { + groupIndices: [], + groupOffsetTree: ch(), + lastIndex: 0, + lastOffset: 0, + lastSize: 0, + offsetTree: [], + sizeTree: ch(), + } +} +function wAt(t, e) { + let n = mo(t) ? 0 : 1 / 0 + for (const o of e) { + const { endIndex: r, size: i, startIndex: s } = o + if (((n = Math.min(n, s)), mo(t))) { + t = Ds(t, 0, i) + continue + } + const a = H_(t, s - 1, r + 1) + if (a.some(TAt(o))) continue + let c = !1, + d = !1 + for (const { end: u, start: m, value: f } of a) + c ? (r >= m || i === f) && (t = K1(t, m)) : ((d = f !== i), (c = !0)), + u > r && r >= m && f !== i && (t = Ds(t, r + 1, f)) + d && (t = Ds(t, s, i)) + } + return [t, n] +} +function _At(t) { + return typeof t.groupIndex < "u" +} +function CAt({ offset: t }, e) { + return e === t ? 0 : e < t ? -1 : 1 +} +function Yv(t, e, n) { + if (e.length === 0) return 0 + const { index: o, offset: r, size: i } = btt(e, t, gE), + s = t - o, + a = i * s + (s - 1) * n + r + return a > 0 ? a + n : a +} +function ytt(t, e) { + if (!G_(e)) return t + let n = 0 + for (; e.groupIndices[n] <= t + n; ) n++ + return t + n +} +function ktt(t, e, n) { + if (_At(t)) return e.groupIndices[t.groupIndex] + 1 + { + const o = t.index === "LAST" ? n : t.index + let r = ytt(o, e) + return (r = Math.max(0, r, Math.min(n, r))), r + } +} +function SAt(t, e, n, o = 0) { + return o > 0 && (e = Math.max(e, btt(t, o, gE).offset)), ptt(kAt(t, e, n, CAt), RAt) +} +function AAt(t, [e, n, o, r]) { + e.length > 0 && o("received item sizes", e, Bs.DEBUG) + const i = t.sizeTree + let s = i, + a = 0 + if (n.length > 0 && mo(i) && e.length === 2) { + const f = e[0].size, + g = e[1].size + s = n.reduce((b, v) => Ds(Ds(b, v, f), v + 1, g), s) + } else [s, a] = wAt(s, e) + if (s === i) return t + const { lastIndex: c, lastOffset: d, lastSize: u, offsetTree: m } = G1(t.offsetTree, a, s, r) + return { + groupIndices: n, + groupOffsetTree: n.reduce((f, g) => Ds(f, g, Yv(g, m, r)), ch()), + lastIndex: c, + lastOffset: d, + lastSize: u, + offsetTree: m, + sizeTree: s, + } +} +function PAt(t) { + return rp(t).map(({ k: e, v: n }, o, r) => { + const i = r[o + 1] + return { endIndex: i ? i.k - 1 : 1 / 0, size: n, startIndex: e } + }) +} +function B2(t, e) { + let n = 0, + o = 0 + for (; n < t; ) (n += e[o + 1] - e[o] - 1), o++ + return o - (n === t ? 0 : 1) +} +function G1(t, e, n, o) { + let r = t, + i = 0, + s = 0, + a = 0, + c = 0 + if (e !== 0) { + ;(c = Dw(r, e - 1, gE)), (a = r[c].offset) + const d = tl(n, e - 1) + ;(i = d[0]), (s = d[1]), r.length && r[c].size === tl(n, e)[1] && (c -= 1), (r = r.slice(0, c + 1)) + } else r = [] + for (const { start: d, value: u } of H_(n, e, 1 / 0)) { + const m = d - i, + f = m * s + a + m * o + r.push({ index: d, offset: f, size: u }), (i = d), (a = f), (s = u) + } + return { lastIndex: i, lastOffset: a, lastSize: s, offsetTree: r } +} +function RAt(t) { + return { index: t.index, value: t } +} +function TAt(t) { + const { endIndex: e, size: n, startIndex: o } = t + return (r) => r.start === o && (r.end === e || r.end === 1 / 0) && r.value === n +} +const IAt = { offsetHeight: "height", offsetWidth: "width" }, + Vl = Zn( + ([{ log: t }, { recalcInProgress: e }]) => { + const n = Dn(), + o = Dn(), + r = hi(o, 0), + i = Dn(), + s = Dn(), + a = Ze(0), + c = Ze([]), + d = Ze(void 0), + u = Ze(void 0), + m = Ze((P, R) => Qd(P, IAt[R])), + f = Ze(void 0), + g = Ze(0), + b = xAt(), + v = hi(Fe(n, Sn(c, t, g), Dl(AAt, b), Io()), b), + w = hi( + Fe( + c, + Io(), + Dl((P, R) => ({ current: R, prev: P.current }), { current: [], prev: [] }), + bt(({ prev: P }) => P), + ), + [], + ) + Lt( + Fe( + c, + en((P) => P.length > 0), + Sn(v, g), + bt(([P, R, T]) => { + const E = P.reduce(($, j, L) => Ds($, j, Yv(j, R.offsetTree, T) || L), ch()) + return { ...R, groupIndices: P, groupOffsetTree: E } + }), + ), + v, + ), + Lt( + Fe( + o, + Sn(v), + en(([P, { lastIndex: R }]) => P < R), + bt(([P, { lastIndex: R, lastSize: T }]) => [{ endIndex: R, size: T, startIndex: P }]), + ), + n, + ), + Lt(d, u) + const _ = hi( + Fe( + d, + bt((P) => P === void 0), + ), + !0, + ) + Lt( + Fe( + u, + en((P) => P !== void 0 && mo(mi(v).sizeTree)), + bt((P) => [{ endIndex: 0, size: P, startIndex: 0 }]), + ), + n, + ) + const y = Fs( + Fe( + n, + Sn(v), + Dl(({ sizes: P }, [R, T]) => ({ changed: T !== P, sizes: T }), { changed: !1, sizes: b }), + bt((P) => P.changed), + ), + ) + ao( + Fe( + a, + Dl((P, R) => ({ diff: P.prev - R, prev: R }), { diff: 0, prev: 0 }), + bt((P) => P.diff), + ), + (P) => { + const { groupIndices: R } = mi(v) + if (P > 0) wn(e, !0), wn(i, P + B2(P, R)) + else if (P < 0) { + const T = mi(w) + T.length > 0 && (P -= B2(-P, T)), wn(s, P) + } + }, + ), + ao(Fe(a, Sn(t)), ([P, R]) => { + P < 0 && + R( + "`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value", + { firstItemIndex: a }, + Bs.ERROR, + ) + }) + const C = Fs(i) + Lt( + Fe( + i, + Sn(v), + bt(([P, R]) => { + const T = R.groupIndices.length > 0, + E = [], + $ = R.lastSize + if (T) { + const j = Qv(R.sizeTree, 0) + let L = 0, + W = 0 + for (; L < P; ) { + const U = R.groupIndices[W], + Z = R.groupIndices.length === W + 1 ? 1 / 0 : R.groupIndices[W + 1] - U - 1 + E.push({ endIndex: U, size: j, startIndex: U }), + E.push({ endIndex: U + 1 + Z - 1, size: $, startIndex: U + 1 }), + W++, + (L += Z + 1) + } + const G = rp(R.sizeTree) + return ( + L !== P && G.shift(), + G.reduce( + (U, { k: Z, v: V }) => { + let X = U.ranges + return ( + U.prevSize !== 0 && + (X = [ + ...U.ranges, + { endIndex: Z + P - 1, size: U.prevSize, startIndex: U.prevIndex }, + ]), + { prevIndex: Z + P, prevSize: V, ranges: X } + ) + }, + { prevIndex: P, prevSize: 0, ranges: E }, + ).ranges + ) + } + return rp(R.sizeTree).reduce( + (j, { k: L, v: W }) => ({ + prevIndex: L + P, + prevSize: W, + ranges: [ + ...j.ranges, + { endIndex: L + P - 1, size: j.prevSize, startIndex: j.prevIndex }, + ], + }), + { prevIndex: 0, prevSize: $, ranges: [] }, + ).ranges + }), + ), + n, + ) + const S = Fs( + Fe( + s, + Sn(v, g), + bt(([P, { offsetTree: R }, T]) => { + const E = -P + return Yv(E, R, T) + }), + ), + ) + return ( + Lt( + Fe( + s, + Sn(v, g), + bt(([P, R, T]) => { + if (R.groupIndices.length > 0) { + if (mo(R.sizeTree)) return R + let E = ch() + const $ = mi(w) + let j = 0, + L = 0, + W = 0 + for (; j < -P; ) { + W = $[L] + const G = $[L + 1] - W - 1 + L++, (j += G + 1) + } + if ( + ((E = rp(R.sizeTree).reduce( + (G, { k: U, v: Z }) => Ds(G, Math.max(0, U + P), Z), + E, + )), + j !== -P) + ) { + const G = Qv(R.sizeTree, W) + E = Ds(E, 0, G) + const U = tl(R.sizeTree, -P + 1)[1] + E = Ds(E, 1, U) + } + return { ...R, sizeTree: E, ...G1(R.offsetTree, 0, E, T) } + } else { + const E = rp(R.sizeTree).reduce( + ($, { k: j, v: L }) => Ds($, Math.max(0, j + P), L), + ch(), + ) + return { ...R, sizeTree: E, ...G1(R.offsetTree, 0, E, T) } + } + }), + ), + v, + ), + { + beforeUnshiftWith: C, + data: f, + defaultItemSize: u, + firstItemIndex: a, + fixedItemSize: d, + gap: g, + groupIndices: c, + itemSize: m, + listRefresh: y, + shiftWith: s, + shiftWithOffset: S, + sizeRanges: n, + sizes: v, + statefulTotalCount: r, + totalCount: o, + trackItemSizes: _, + unshiftWith: i, + } + ) + }, + jo(cu, fE), + { singleton: !0 }, + ) +function MAt(t) { + return t.reduce((e, n) => (e.groupIndices.push(e.totalCount), (e.totalCount += n + 1), e), { + groupIndices: [], + totalCount: 0, + }) +} +const xtt = Zn( + ([{ groupIndices: t, sizes: e, totalCount: n }, { headerHeight: o, scrollTop: r }]) => { + const i = Dn(), + s = Dn(), + a = Fs(Fe(i, bt(MAt))) + return ( + Lt( + Fe( + a, + bt((c) => c.totalCount), + ), + n, + ), + Lt( + Fe( + a, + bt((c) => c.groupIndices), + ), + t, + ), + Lt( + Fe( + xr(r, e, o), + en(([c, d]) => G_(d)), + bt(([c, d, u]) => tl(d.groupOffsetTree, Math.max(c - u, 0), "v")[0]), + Io(), + bt((c) => [c]), + ), + s, + ), + { groupCounts: i, topItemsIndexes: s } + ) + }, + jo(Vl, Bi), + ), + du = Zn( + ([{ log: t }]) => { + const e = Ze(!1), + n = Fs( + Fe( + e, + en((o) => o), + Io(), + ), + ) + return ( + ao(e, (o) => { + o && mi(t)("props updated", {}, Bs.DEBUG) + }), + { didMount: n, propsReady: e } + ) + }, + jo(cu), + { singleton: !0 }, + ), + jAt = typeof document < "u" && "scrollBehavior" in document.documentElement.style +function wtt(t) { + const e = typeof t == "number" ? { index: t } : t + return e.align || (e.align = "start"), (!e.behavior || !jAt) && (e.behavior = "auto"), e.offset || (e.offset = 0), e +} +const Lb = Zn( + ([ + { gap: t, listRefresh: e, sizes: n, totalCount: o }, + { + fixedFooterHeight: r, + fixedHeaderHeight: i, + footerHeight: s, + headerHeight: a, + scrollingInProgress: c, + scrollTo: d, + smoothScrollTargetReached: u, + viewportHeight: m, + }, + { log: f }, + ]) => { + const g = Dn(), + b = Dn(), + v = Ze(0) + let w = null, + _ = null, + y = null + function C() { + w && (w(), (w = null)), y && (y(), (y = null)), _ && (clearTimeout(_), (_ = null)), wn(c, !1) + } + return ( + Lt( + Fe( + g, + Sn(n, m, o, v, a, s, f), + Sn(t, i, r), + bt(([[S, P, R, T, E, $, j, L], W, G, U]) => { + const Z = wtt(S), + { align: V, behavior: X, offset: H } = Z, + B = T - 1, + M = ktt(Z, P, B) + let D = Yv(M, P.offsetTree, W) + $ + V === "end" + ? ((D += G + tl(P.sizeTree, M)[1] - R + U), M === B && (D += j)) + : V === "center" + ? (D += (G + tl(P.sizeTree, M)[1] - R + U) / 2) + : (D -= E), + H && (D += H) + const F = (N) => { + C(), + N + ? (L("retrying to scroll to", { location: S }, Bs.DEBUG), wn(g, S)) + : (wn(b, !0), L("list did not change, scroll successful", {}, Bs.DEBUG)) + } + if ((C(), X === "smooth")) { + let N = !1 + ;(y = ao(e, (J) => { + N = N || J + })), + (w = ql(u, () => { + F(N) + })) + } else w = ql(Fe(e, EAt(150)), F) + return ( + (_ = setTimeout(() => { + C() + }, 1200)), + wn(c, !0), + L("scrolling from index to", { behavior: X, index: M, top: D }, Bs.DEBUG), + { behavior: X, top: D } + ) + }), + ), + d, + ), + { scrollTargetReached: b, scrollToIndex: g, topListHeight: v } + ) + }, + jo(Vl, Bi, cu), + { singleton: !0 }, +) +function EAt(t) { + return (e) => { + const n = setTimeout(() => { + e(!1) + }, t) + return (o) => { + o && (e(!0), clearTimeout(n)) + } + } +} +function vE(t, e) { + t == 0 + ? e() + : requestAnimationFrame(() => { + vE(t - 1, e) + }) +} +function bE(t, e) { + const n = e - 1 + return typeof t == "number" ? t : t.index === "LAST" ? n : t.index +} +const Db = Zn( + ([ + { defaultItemSize: t, listRefresh: e, sizes: n }, + { scrollTop: o }, + { scrollTargetReached: r, scrollToIndex: i }, + { didMount: s }, + ]) => { + const a = Ze(!0), + c = Ze(0), + d = Ze(!0) + return ( + Lt( + Fe( + s, + Sn(c), + en(([u, m]) => !!m), + Il(!1), + ), + a, + ), + Lt( + Fe( + s, + Sn(c), + en(([u, m]) => !!m), + Il(!1), + ), + d, + ), + ao( + Fe( + xr(e, s), + Sn(a, n, t, d), + en(([[, u], m, { sizeTree: f }, g, b]) => u && (!mo(f) || pE(g)) && !m && !b), + Sn(c), + ), + ([, u]) => { + ql(r, () => { + wn(d, !0) + }), + vE(4, () => { + ql(o, () => { + wn(a, !0) + }), + wn(i, u) + }) + }, + ), + { initialItemFinalLocationReached: d, initialTopMostItemIndex: c, scrolledToInitialItem: a } + ) + }, + jo(Vl, Bi, Lb, du), + { singleton: !0 }, +) +function _tt(t, e) { + return Math.abs(t - e) < 1.01 +} +const Xv = "up", + xv = "down", + zAt = "none", + $At = { + atBottom: !1, + notAtBottomBecause: "NOT_SHOWING_LAST_ITEM", + state: { offsetBottom: 0, scrollHeight: 0, scrollTop: 0, viewportHeight: 0 }, + }, + LAt = 0, + Nb = Zn( + ([ + { footerHeight: t, headerHeight: e, scrollBy: n, scrollContainerState: o, scrollTop: r, viewportHeight: i }, + ]) => { + const s = Ze(!1), + a = Ze(!0), + c = Dn(), + d = Dn(), + u = Ze(4), + m = Ze(LAt), + f = hi(Fe(N2(Fe(tn(r), Vh(1), Il(!0)), Fe(tn(r), Vh(1), Il(!1), D2(100))), Io()), !1), + g = hi(Fe(N2(Fe(n, Il(!0)), Fe(n, Il(!1), D2(200))), Io()), !1) + Lt( + Fe( + xr(tn(r), tn(m)), + bt(([y, C]) => y <= C), + Io(), + ), + a, + ), + Lt(Fe(a, Bd(50)), d) + const b = Fs( + Fe( + xr(o, tn(i), tn(e), tn(t), tn(u)), + Dl((y, [{ scrollHeight: C, scrollTop: S }, P, R, T, E]) => { + const $ = S + P - C > -E, + j = { scrollHeight: C, scrollTop: S, viewportHeight: P } + if ($) { + let W, G + return ( + S > y.state.scrollTop + ? ((W = "SCROLLED_DOWN"), (G = y.state.scrollTop - S)) + : ((W = "SIZE_DECREASED"), (G = y.state.scrollTop - S || y.scrollTopDelta)), + { atBottom: !0, atBottomBecause: W, scrollTopDelta: G, state: j } + ) + } + let L + return ( + j.scrollHeight > y.state.scrollHeight + ? (L = "SIZE_INCREASED") + : P < y.state.viewportHeight + ? (L = "VIEWPORT_HEIGHT_DECREASING") + : S < y.state.scrollTop + ? (L = "SCROLLING_UPWARDS") + : (L = "NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM"), + { atBottom: !1, notAtBottomBecause: L, state: j } + ) + }, $At), + Io((y, C) => y && y.atBottom === C.atBottom), + ), + ), + v = hi( + Fe( + o, + Dl( + (y, { scrollHeight: C, scrollTop: S, viewportHeight: P }) => { + if (_tt(y.scrollHeight, C)) + return { changed: !1, jump: 0, scrollHeight: C, scrollTop: S } + { + const R = C - (S + P) < 1 + return y.scrollTop !== S && R + ? { changed: !0, jump: y.scrollTop - S, scrollHeight: C, scrollTop: S } + : { changed: !0, jump: 0, scrollHeight: C, scrollTop: S } + } + }, + { changed: !1, jump: 0, scrollHeight: 0, scrollTop: 0 }, + ), + en((y) => y.changed), + bt((y) => y.jump), + ), + 0, + ) + Lt( + Fe( + b, + bt((y) => y.atBottom), + ), + s, + ), + Lt(Fe(s, Bd(50)), c) + const w = Ze(xv) + Lt( + Fe( + o, + bt(({ scrollTop: y }) => y), + Io(), + Dl( + (y, C) => + mi(g) + ? { direction: y.direction, prevScrollTop: C } + : { direction: C < y.prevScrollTop ? Xv : xv, prevScrollTop: C }, + { direction: xv, prevScrollTop: 0 }, + ), + bt((y) => y.direction), + ), + w, + ), + Lt(Fe(o, Bd(50), Il(zAt)), w) + const _ = Ze(0) + return ( + Lt( + Fe( + f, + en((y) => !y), + Il(0), + ), + _, + ), + Lt( + Fe( + r, + Bd(100), + Sn(f), + en(([y, C]) => !!C), + Dl(([y, C], [S]) => [C, S], [0, 0]), + bt(([y, C]) => C - y), + ), + _, + ), + { + atBottomState: b, + atBottomStateChange: c, + atBottomThreshold: u, + atTopStateChange: d, + atTopThreshold: m, + isAtBottom: s, + isAtTop: a, + isScrolling: f, + lastJumpDueToItemResize: v, + scrollDirection: w, + scrollVelocity: _, + } + ) + }, + jo(Bi), + ), + Nw = "top", + Ow = "bottom", + U2 = "none" +function q2(t, e, n) { + return typeof t == "number" + ? (n === Xv && e === Nw) || (n === xv && e === Ow) + ? t + : 0 + : n === Xv + ? e === Nw + ? t.main + : t.reverse + : e === Ow + ? t.main + : t.reverse +} +function W2(t, e) { + var n + return typeof t == "number" ? t : (n = t[e]) != null ? n : 0 +} +const yE = Zn( + ([{ deviation: t, fixedHeaderHeight: e, headerHeight: n, scrollTop: o, viewportHeight: r }]) => { + const i = Dn(), + s = Ze(0), + a = Ze(0), + c = Ze(0), + d = hi( + Fe( + xr(tn(o), tn(r), tn(n), tn(i, Zv), tn(c), tn(s), tn(e), tn(t), tn(a)), + bt(([u, m, f, [g, b], v, w, _, y, C]) => { + const S = u - y, + P = w + _, + R = Math.max(f - S, 0) + let T = U2 + const E = W2(C, Nw), + $ = W2(C, Ow) + return ( + (g -= y), + (g += f + _), + (b += f + _), + (b -= y), + g > u + P - E && (T = Xv), + b < u - R + m + $ && (T = xv), + T !== U2 ? [Math.max(S - f - q2(v, Nw, T) - E, 0), S - R - _ + m + q2(v, Ow, T) + $] : null + ) + }), + en((u) => u != null), + Io(Zv), + ), + [0, 0], + ) + return { increaseViewportBy: a, listBoundary: i, overscan: c, topListHeight: s, visibleRange: d } + }, + jo(Bi), + { singleton: !0 }, +) +function DAt(t, e, n) { + if (G_(e)) { + const o = ytt(t, e) + return [ + { index: tl(e.groupOffsetTree, o)[0], offset: 0, size: 0 }, + { data: n == null ? void 0 : n[0], index: o, offset: 0, size: 0 }, + ] + } + return [{ data: n == null ? void 0 : n[0], index: t, offset: 0, size: 0 }] +} +const SA = { + bottom: 0, + firstItemIndex: 0, + items: [], + offsetBottom: 0, + offsetTop: 0, + top: 0, + topItems: [], + topListHeight: 0, + totalCount: 0, +} +function Tx(t, e, n, o, r, i) { + const { lastIndex: s, lastOffset: a, lastSize: c } = r + let d = 0, + u = 0 + if (t.length > 0) { + d = t[0].offset + const v = t[t.length - 1] + u = v.offset + v.size + } + const m = n - s, + f = a + m * c + (m - 1) * o, + g = d, + b = f - u + return { + bottom: u, + firstItemIndex: i, + items: K2(t, r, i), + offsetBottom: b, + offsetTop: d, + top: g, + topItems: K2(e, r, i), + topListHeight: e.reduce((v, w) => w.size + v, 0), + totalCount: n, + } +} +function Ctt(t, e, n, o, r, i) { + let s = 0 + if (n.groupIndices.length > 0) + for (const u of n.groupIndices) { + if (u - s >= t) break + s++ + } + const a = t + s, + c = bE(e, a), + d = Array.from({ length: a }).map((u, m) => ({ data: i[m + c], index: m + c, offset: 0, size: 0 })) + return Tx(d, [], a, r, n, o) +} +function K2(t, e, n) { + if (t.length === 0) return [] + if (!G_(e)) return t.map((d) => ({ ...d, index: d.index + n, originalIndex: d.index })) + const o = t[0].index, + r = t[t.length - 1].index, + i = [], + s = H_(e.groupOffsetTree, o, r) + let a, + c = 0 + for (const d of t) { + ;(!a || a.end < d.index) && ((a = s.shift()), (c = e.groupIndices.indexOf(a.start))) + let u + d.index === a.start ? (u = { index: c, type: "group" }) : (u = { groupIndex: c, index: d.index - (c + 1) + n }), + i.push({ ...u, data: d.data, offset: d.offset, originalIndex: d.index, size: d.size }) + } + return i +} +const Kp = Zn( + ([ + { data: t, firstItemIndex: e, gap: n, sizes: o, totalCount: r }, + i, + { listBoundary: s, topListHeight: a, visibleRange: c }, + { initialTopMostItemIndex: d, scrolledToInitialItem: u }, + { topListHeight: m }, + f, + { didMount: g }, + { recalcInProgress: b }, + ]) => { + const v = Ze([]), + w = Ze(0), + _ = Dn() + Lt(i.topItemsIndexes, v) + const y = hi( + Fe( + xr(g, b, tn(c, Zv), tn(r), tn(o), tn(d), u, tn(v), tn(e), tn(n), t), + en(([R, T, , E, , , , , , , $]) => { + const j = $ && $.length !== E + return R && !T && !j + }), + bt(([, , [R, T], E, $, j, L, W, G, U, Z]) => { + const V = $, + { offsetTree: X, sizeTree: H } = V, + B = mi(w) + if (E === 0) return { ...SA, totalCount: E } + if (R === 0 && T === 0) return B === 0 ? { ...SA, totalCount: E } : Ctt(B, j, $, G, U, Z || []) + if (mo(H)) return B > 0 ? null : Tx(DAt(bE(j, E), V, Z), [], E, U, V, G) + const M = [] + if (W.length > 0) { + const oe = W[0], + ae = W[W.length - 1] + let Q = 0 + for (const ee of H_(H, oe, ae)) { + const q = ee.value, + me = Math.max(ee.start, oe), + Ce = Math.min(ee.end, ae) + for (let ue = me; ue <= Ce; ue++) + M.push({ data: Z == null ? void 0 : Z[ue], index: ue, offset: Q, size: q }), + (Q += q) + } + } + if (!L) return Tx([], M, E, U, V, G) + const D = W.length > 0 ? W[W.length - 1] + 1 : 0, + F = SAt(X, R, T, D) + if (F.length === 0) return null + const N = E - 1, + J = V_([], (oe) => { + for (const ae of F) { + const Q = ae.value + let ee = Q.offset, + q = ae.start + const me = Q.size + if (Q.offset < R) { + q += Math.floor((R - Q.offset + U) / (me + U)) + const ue = q - ae.start + ee += ue * me + ue * U + } + q < D && ((ee += (D - q) * me), (q = D)) + const Ce = Math.min(ae.end, N) + for (let ue = q; ue <= Ce && !(ee >= T); ue++) + oe.push({ data: Z == null ? void 0 : Z[ue], index: ue, offset: ee, size: me }), + (ee += me + U) + } + }) + return Tx(J, M, E, U, V, G) + }), + en((R) => R !== null), + Io(), + ), + SA, + ) + Lt( + Fe( + t, + en(pE), + bt((R) => (R == null ? void 0 : R.length)), + ), + r, + ), + Lt( + Fe( + y, + bt((R) => R.topListHeight), + ), + m, + ), + Lt(m, a), + Lt( + Fe( + y, + bt((R) => [R.top, R.bottom]), + ), + s, + ), + Lt( + Fe( + y, + bt((R) => R.items), + ), + _, + ) + const C = Fs( + Fe( + y, + en(({ items: R }) => R.length > 0), + Sn(r, t), + en(([{ items: R }, T]) => R[R.length - 1].originalIndex === T - 1), + bt(([, R, T]) => [R - 1, T]), + Io(Zv), + bt(([R]) => R), + ), + ), + S = Fs( + Fe( + y, + Bd(200), + en(({ items: R, topItems: T }) => R.length > 0 && R[0].originalIndex === T.length), + bt(({ items: R }) => R[0].index), + Io(), + ), + ), + P = Fs( + Fe( + y, + en(({ items: R }) => R.length > 0), + bt(({ items: R }) => { + let T = 0, + E = R.length - 1 + for (; R[T].type === "group" && T < E; ) T++ + for (; R[E].type === "group" && E > T; ) E-- + return { endIndex: R[E].index, startIndex: R[T].index } + }), + Io(vtt), + ), + ) + return { + endReached: C, + initialItemCount: w, + itemsRendered: _, + listState: y, + rangeChanged: P, + startReached: S, + topItemsIndexes: v, + ...f, + } + }, + jo(Vl, xtt, yE, Db, Lb, Nb, du, fE), + { singleton: !0 }, + ), + Stt = Zn( + ([{ fixedFooterHeight: t, fixedHeaderHeight: e, footerHeight: n, headerHeight: o }, { listState: r }]) => { + const i = Dn(), + s = hi( + Fe( + xr(n, t, o, e, r), + bt(([a, c, d, u, m]) => a + c + d + u + m.offsetBottom + m.bottom), + ), + 0, + ) + return Lt(tn(s), i), { totalListHeight: s, totalListHeightChanged: i } + }, + jo(Bi, Kp), + { singleton: !0 }, + ), + NAt = Zn( + ([{ viewportHeight: t }, { totalListHeight: e }]) => { + const n = Ze(!1), + o = hi( + Fe( + xr(n, t, e), + en(([r]) => r), + bt(([, r, i]) => Math.max(0, r - i)), + Bd(0), + Io(), + ), + 0, + ) + return { alignToBottom: n, paddingTopAddition: o } + }, + jo(Bi, Stt), + { singleton: !0 }, + ) +function V2(t) { + return t ? (t === "smooth" ? "smooth" : "auto") : !1 +} +const OAt = (t, e) => (typeof t == "function" ? V2(t(e)) : e && V2(t)), + FAt = Zn( + ([ + { listRefresh: t, totalCount: e }, + { atBottomState: n, isAtBottom: o }, + { scrollToIndex: r }, + { scrolledToInitialItem: i }, + { didMount: s, propsReady: a }, + { log: c }, + { scrollingInProgress: d }, + ]) => { + const u = Ze(!1), + m = Dn() + let f = null + function g(v) { + wn(r, { align: "end", behavior: v, index: "LAST" }) + } + ao( + Fe( + xr(Fe(tn(e), Vh(1)), s), + Sn(tn(u), o, i, d), + bt(([[v, w], _, y, C, S]) => { + let P = w && C, + R = "auto" + return ( + P && ((R = OAt(_, y || S)), (P = P && !!R)), + { followOutputBehavior: R, shouldFollow: P, totalCount: v } + ) + }), + en(({ shouldFollow: v }) => v), + ), + ({ followOutputBehavior: v, totalCount: w }) => { + f && (f(), (f = null)), + (f = ql(t, () => { + mi(c)("following output to ", { totalCount: w }, Bs.DEBUG), g(v), (f = null) + })) + }, + ) + function b(v) { + const w = ql(n, (_) => { + v && + !_.atBottom && + _.notAtBottomBecause === "SIZE_INCREASED" && + !f && + (mi(c)("scrolling to bottom due to increased size", {}, Bs.DEBUG), g("auto")) + }) + setTimeout(w, 100) + } + return ( + ao( + Fe( + xr(tn(u), e, a), + en(([v, , w]) => v && w), + Dl(({ value: v }, [, w]) => ({ refreshed: v === w, value: w }), { refreshed: !1, value: 0 }), + en(({ refreshed: v }) => v), + Sn(u, e), + ), + ([, v]) => { + mi(i) && b(v !== !1) + }, + ), + ao(m, () => { + b(mi(u) !== !1) + }), + ao(xr(tn(u), n), ([v, w]) => { + v && !w.atBottom && w.notAtBottomBecause === "VIEWPORT_HEIGHT_DECREASING" && g("auto") + }), + { autoscrollToBottom: m, followOutput: u } + ) + }, + jo(Vl, Nb, Lb, Db, du, cu, Bi), + ), + BAt = Zn( + ([ + { data: t, firstItemIndex: e, gap: n, sizes: o }, + { initialTopMostItemIndex: r }, + { initialItemCount: i, listState: s }, + { didMount: a }, + ]) => ( + Lt( + Fe( + a, + Sn(i), + en(([, c]) => c !== 0), + Sn(r, o, e, n, t), + bt(([[, c], d, u, m, f, g = []]) => Ctt(c, d, u, m, f, g)), + ), + s, + ), + {} + ), + jo(Vl, Db, Kp, du), + { singleton: !0 }, + ), + UAt = Zn( + ([{ didMount: t }, { scrollTo: e }, { listState: n }]) => { + const o = Ze(0) + return ( + ao( + Fe( + t, + Sn(o), + en(([, r]) => r !== 0), + bt(([, r]) => ({ top: r })), + ), + (r) => { + ql( + Fe( + n, + Vh(1), + en((i) => i.items.length > 1), + ), + () => { + requestAnimationFrame(() => { + wn(e, r) + }) + }, + ) + }, + ), + { initialScrollTop: o } + ) + }, + jo(du, Bi, Kp), + { singleton: !0 }, + ), + qAt = ({ + itemBottom: t, + itemTop: e, + locationParams: { align: n, behavior: o, ...r }, + viewportBottom: i, + viewportTop: s, + }) => + e < s ? { ...r, align: n ?? "start", behavior: o } : t > i ? { ...r, align: n ?? "end", behavior: o } : null, + WAt = Zn( + ([ + { gap: t, sizes: e, totalCount: n }, + { + fixedFooterHeight: o, + fixedHeaderHeight: r, + headerHeight: i, + scrollingInProgress: s, + scrollTop: a, + viewportHeight: c, + }, + { scrollToIndex: d }, + ]) => { + const u = Dn() + return ( + Lt( + Fe( + u, + Sn(e, c, n, i, r, o, a), + Sn(t), + bt(([[m, f, g, b, v, w, _, y], C]) => { + const { align: S, behavior: P, calculateViewLocation: R = qAt, done: T, ...E } = m, + $ = ktt(m, f, b - 1), + j = Yv($, f.offsetTree, C) + v + w, + L = j + tl(f.sizeTree, $)[1], + W = y + w, + G = y + g - _, + U = R({ + itemBottom: L, + itemTop: j, + locationParams: { align: S, behavior: P, ...E }, + viewportBottom: G, + viewportTop: W, + }) + return ( + U + ? T && + ql( + Fe( + s, + en((Z) => !Z), + Vh(mi(s) ? 1 : 2), + ), + T, + ) + : T && T(), + U + ) + }), + en((m) => m !== null), + ), + d, + ), + { scrollIntoView: u } + ) + }, + jo(Vl, Bi, Lb, Kp, cu), + { singleton: !0 }, + ), + Att = Zn( + ([{ scrollVelocity: t }]) => { + const e = Ze(!1), + n = Dn(), + o = Ze(!1) + return ( + Lt( + Fe( + t, + Sn(o, e, n), + en(([r, i]) => !!i), + bt(([r, i, s, a]) => { + const { enter: c, exit: d } = i + if (s) { + if (d(r, a)) return !1 + } else if (c(r, a)) return !0 + return s + }), + Io(), + ), + e, + ), + ao(Fe(xr(e, t, n), Sn(o)), ([[r, i, s], a]) => { + r && a && a.change && a.change(i, s) + }), + { isSeeking: e, scrollSeekConfiguration: o, scrollSeekRangeChanged: n, scrollVelocity: t } + ) + }, + jo(Nb), + { singleton: !0 }, + ), + kE = Zn(([{ scrollContainerState: t, scrollTo: e }]) => { + const n = Dn(), + o = Dn(), + r = Dn(), + i = Ze(!1), + s = Ze(void 0) + return ( + Lt( + Fe( + xr(n, o), + bt(([{ scrollHeight: a, scrollTop: c, viewportHeight: d }, { offsetTop: u }]) => ({ + scrollHeight: a, + scrollTop: Math.max(0, c - u), + viewportHeight: d, + })), + ), + t, + ), + Lt( + Fe( + e, + Sn(o), + bt(([a, { offsetTop: c }]) => ({ ...a, top: a.top + c })), + ), + r, + ), + { + customScrollParent: s, + useWindowScroll: i, + windowScrollContainerState: n, + windowScrollTo: r, + windowViewportRect: o, + } + ) + }, jo(Bi)), + KAt = Zn( + ([ + { sizeRanges: t, sizes: e }, + { headerHeight: n, scrollTop: o }, + { initialTopMostItemIndex: r }, + { didMount: i }, + { useWindowScroll: s, windowScrollContainerState: a, windowViewportRect: c }, + ]) => { + const d = Dn(), + u = Ze(void 0), + m = Ze(null), + f = Ze(null) + return ( + Lt(a, m), + Lt(c, f), + ao(Fe(d, Sn(e, o, s, m, f, n)), ([g, b, v, w, _, y, C]) => { + const S = PAt(b.sizeTree) + w && _ !== null && y !== null && (v = _.scrollTop - y.offsetTop), + (v -= C), + g({ ranges: S, scrollTop: v }) + }), + Lt(Fe(u, en(pE), bt(VAt)), r), + Lt( + Fe( + i, + Sn(u), + en(([, g]) => g !== void 0), + Io(), + bt(([, g]) => g.ranges), + ), + t, + ), + { getState: d, restoreStateFrom: u } + ) + }, + jo(Vl, Bi, Db, du, kE), + ) +function VAt(t) { + return { align: "start", index: 0, offset: t.scrollTop } +} +const HAt = Zn(([{ topItemsIndexes: t }]) => { + const e = Ze(0) + return ( + Lt( + Fe( + e, + en((n) => n >= 0), + bt((n) => Array.from({ length: n }).map((o, r) => r)), + ), + t, + ), + { topItemCount: e } + ) +}, jo(Kp)) +function Ptt(t) { + let e = !1, + n + return () => (e || ((e = !0), (n = t())), n) +} +const GAt = Ptt(() => /iP(ad|od|hone)/i.test(navigator.userAgent) && /WebKit/i.test(navigator.userAgent)), + QAt = Zn( + ([ + { deviation: t, scrollBy: e, scrollingInProgress: n, scrollTop: o }, + { isAtBottom: r, isScrolling: i, lastJumpDueToItemResize: s, scrollDirection: a }, + { listState: c }, + { beforeUnshiftWith: d, gap: u, shiftWithOffset: m, sizes: f }, + { log: g }, + { recalcInProgress: b }, + ]) => { + const v = Fs( + Fe( + c, + Sn(s), + Dl( + ([, _, y, C], [{ bottom: S, items: P, offsetBottom: R, totalCount: T }, E]) => { + const $ = S + R + let j = 0 + return ( + y === T && + _.length > 0 && + P.length > 0 && + ((P[0].originalIndex === 0 && _[0].originalIndex === 0) || + ((j = $ - C), j !== 0 && (j += E))), + [j, P, T, $] + ) + }, + [0, [], 0, 0], + ), + en(([_]) => _ !== 0), + Sn(o, a, n, r, g, b), + en(([, _, y, C, , , S]) => !S && !C && _ !== 0 && y === Xv), + bt(([[_], , , , , y]) => (y("Upward scrolling compensation", { amount: _ }, Bs.DEBUG), _)), + ), + ) + function w(_) { + _ > 0 + ? (wn(e, { behavior: "auto", top: -_ }), wn(t, 0)) + : (wn(t, 0), wn(e, { behavior: "auto", top: -_ })) + } + return ( + ao(Fe(v, Sn(t, i)), ([_, y, C]) => { + C && GAt() ? wn(t, y - _) : w(-_) + }), + ao( + Fe( + xr(hi(i, !1), t, b), + en(([_, y, C]) => !_ && !C && y !== 0), + bt(([_, y]) => y), + Bd(1), + ), + w, + ), + Lt( + Fe( + m, + bt((_) => ({ top: -_ })), + ), + e, + ), + ao( + Fe( + d, + Sn(f, u), + bt(([_, { groupIndices: y, lastSize: C, sizeTree: S }, P]) => { + function R(T) { + return T * (C + P) + } + if (y.length === 0) return R(_) + { + let T = 0 + const E = Qv(S, 0) + let $ = 0, + j = 0 + for (; $ < _; ) { + $++, (T += E) + let L = y.length === j + 1 ? 1 / 0 : y[j + 1] - y[j] - 1 + $ + L > _ && ((T -= E), (L = _ - $ + 1)), ($ += L), (T += R(L)), j++ + } + return T + } + }), + ), + (_) => { + wn(t, _), + requestAnimationFrame(() => { + wn(e, { top: _ }), + requestAnimationFrame(() => { + wn(t, 0), wn(b, !1) + }) + }) + }, + ), + { deviation: t } + ) + }, + jo(Bi, Nb, Kp, Vl, cu, fE), + ), + ZAt = Zn( + ([t, e, n, o, r, i, s, a, c, d]) => ({ ...t, ...e, ...n, ...o, ...r, ...i, ...s, ...a, ...c, ...d }), + jo(yE, BAt, du, Att, Stt, UAt, NAt, kE, WAt, cu), + ), + Rtt = Zn( + ([ + { + data: t, + defaultItemSize: e, + firstItemIndex: n, + fixedItemSize: o, + gap: r, + groupIndices: i, + itemSize: s, + sizeRanges: a, + sizes: c, + statefulTotalCount: d, + totalCount: u, + trackItemSizes: m, + }, + { initialItemFinalLocationReached: f, initialTopMostItemIndex: g, scrolledToInitialItem: b }, + v, + w, + _, + { listState: y, topItemsIndexes: C, ...S }, + { scrollToIndex: P }, + R, + { topItemCount: T }, + { groupCounts: E }, + $, + ]) => ( + Lt(S.rangeChanged, $.scrollSeekRangeChanged), + Lt( + Fe( + $.windowViewportRect, + bt((j) => j.visibleHeight), + ), + v.viewportHeight, + ), + { + data: t, + defaultItemHeight: e, + firstItemIndex: n, + fixedItemHeight: o, + gap: r, + groupCounts: E, + initialItemFinalLocationReached: f, + initialTopMostItemIndex: g, + scrolledToInitialItem: b, + sizeRanges: a, + topItemCount: T, + topItemsIndexes: C, + totalCount: u, + ..._, + groupIndices: i, + itemSize: s, + listState: y, + scrollToIndex: P, + statefulTotalCount: d, + trackItemSizes: m, + ...S, + ...$, + ...v, + sizes: c, + ...w, + } + ), + jo(Vl, Db, Bi, KAt, FAt, Kp, Lb, QAt, HAt, xtt, ZAt), + ) +function YAt(t, e) { + const n = {}, + o = {} + let r = 0 + const i = t.length + for (; r < i; ) (o[t[r]] = 1), (r += 1) + for (const s in e) Object.hasOwn(o, s) || (n[s] = e[s]) + return n +} +const jk = typeof document < "u" ? Ie.useLayoutEffect : Ie.useEffect +function Ttt(t, e, n) { + const o = Object.keys(e.required || {}), + r = Object.keys(e.optional || {}), + i = Object.keys(e.methods || {}), + s = Object.keys(e.events || {}), + a = Ie.createContext({}) + function c(w, _) { + w.propsReady && wn(w.propsReady, !1) + for (const y of o) { + const C = w[e.required[y]] + wn(C, _[y]) + } + for (const y of r) + if (y in _) { + const C = w[e.optional[y]] + wn(C, _[y]) + } + w.propsReady && wn(w.propsReady, !0) + } + function d(w) { + return i.reduce( + (_, y) => ( + (_[y] = (C) => { + const S = w[e.methods[y]] + wn(S, C) + }), + _ + ), + {}, + ) + } + function u(w) { + return s.reduce((_, y) => ((_[y] = pAt(w[e.events[y]])), _), {}) + } + const m = Ie.forwardRef((w, _) => { + const { children: y, ...C } = w, + [S] = Ie.useState(() => + V_(hAt(t), (T) => { + c(T, C) + }), + ), + [P] = Ie.useState(L2(u, S)) + jk(() => { + for (const T of s) T in C && ao(P[T], C[T]) + return () => { + Object.values(P).map(mE) + } + }, [C, P, S]), + jk(() => { + c(S, C) + }), + Ie.useImperativeHandle(_, $2(d(S))) + const R = n + return l.jsx(a.Provider, { + value: S, + children: n ? l.jsx(R, { ...YAt([...o, ...r, ...s], C), children: y }) : y, + }) + }), + f = (w) => { + const _ = Ie.useContext(a) + return Ie.useCallback( + (y) => { + wn(_[w], y) + }, + [_, w], + ) + }, + g = (w) => { + const _ = Ie.useContext(a)[w], + y = Ie.useCallback((C) => ao(_, C), [_]) + return Ie.useSyncExternalStore( + y, + () => mi(_), + () => mi(_), + ) + }, + b = (w) => { + const _ = Ie.useContext(a)[w], + [y, C] = Ie.useState(L2(mi, _)) + return ( + jk( + () => + ao(_, (S) => { + S !== y && C($2(S)) + }), + [_, y], + ), + y + ) + }, + v = Ie.version.startsWith("18") ? g : b + return { + Component: m, + useEmitter: (w, _) => { + const y = Ie.useContext(a)[w] + jk(() => ao(y, _), [_, y]) + }, + useEmitterValue: v, + usePublisher: f, + } +} +const Itt = Ie.createContext(void 0), + Mtt = Ie.createContext(void 0), + jtt = typeof document < "u" ? Ie.useLayoutEffect : Ie.useEffect +function AA(t) { + return "self" in t +} +function XAt(t) { + return "body" in t +} +function Ett(t, e, n, o = hf, r, i) { + const s = Ie.useRef(null), + a = Ie.useRef(null), + c = Ie.useRef(null), + d = Ie.useCallback( + (f) => { + let g, b, v + const w = f.target + if (XAt(w) || AA(w)) { + const y = AA(w) ? w : w.defaultView + ;(v = i ? y.scrollX : y.scrollY), + (g = i ? y.document.documentElement.scrollWidth : y.document.documentElement.scrollHeight), + (b = i ? y.innerWidth : y.innerHeight) + } else + (v = i ? w.scrollLeft : w.scrollTop), + (g = i ? w.scrollWidth : w.scrollHeight), + (b = i ? w.offsetWidth : w.offsetHeight) + const _ = () => { + t({ scrollHeight: g, scrollTop: Math.max(v, 0), viewportHeight: b }) + } + f.suppressFlushSync ? _() : att.flushSync(_), + a.current !== null && + (v === a.current || v <= 0 || v === g - b) && + ((a.current = null), e(!0), c.current && (clearTimeout(c.current), (c.current = null))) + }, + [t, e, i], + ) + Ie.useEffect(() => { + const f = r || s.current + return ( + o(r || s.current), + d({ suppressFlushSync: !0, target: f }), + f.addEventListener("scroll", d, { passive: !0 }), + () => { + o(null), f.removeEventListener("scroll", d) + } + ) + }, [s, d, n, o, r]) + function u(f) { + const g = s.current + if (!g || (i ? "offsetWidth" in g && g.offsetWidth === 0 : "offsetHeight" in g && g.offsetHeight === 0)) return + const b = f.behavior === "smooth" + let v, w, _ + AA(g) + ? ((w = Math.max( + Qd(g.document.documentElement, i ? "width" : "height"), + i ? g.document.documentElement.scrollWidth : g.document.documentElement.scrollHeight, + )), + (v = i ? g.innerWidth : g.innerHeight), + (_ = i ? window.scrollX : window.scrollY)) + : ((w = g[i ? "scrollWidth" : "scrollHeight"]), + (v = Qd(g, i ? "width" : "height")), + (_ = g[i ? "scrollLeft" : "scrollTop"])) + const y = w - v + if (((f.top = Math.ceil(Math.max(Math.min(y, f.top), 0))), _tt(v, w) || f.top === _)) { + t({ scrollHeight: w, scrollTop: _, viewportHeight: v }), b && e(!0) + return + } + b + ? ((a.current = f.top), + c.current && clearTimeout(c.current), + (c.current = setTimeout(() => { + ;(c.current = null), (a.current = null), e(!0) + }, 1e3))) + : (a.current = null), + i && (f = { behavior: f.behavior, left: f.top }), + g.scrollTo(f) + } + function m(f) { + i && (f = { behavior: f.behavior, left: f.top }), s.current.scrollBy(f) + } + return { scrollByCallback: m, scrollerRef: s, scrollToCallback: u } +} +const PA = "-webkit-sticky", + H2 = "sticky", + ztt = Ptt(() => { + if (typeof document > "u") return H2 + const t = document.createElement("div") + return (t.style.position = PA), t.style.position === PA ? PA : H2 + }) +function xE(t) { + return t +} +const JAt = Zn(() => { + const t = Ze((c) => `Item ${c}`), + e = Ze(null), + n = Ze((c) => `Group ${c}`), + o = Ze({}), + r = Ze(xE), + i = Ze("div"), + s = Ze(hf), + a = (c, d = null) => + hi( + Fe( + o, + bt((u) => u[c]), + Io(), + ), + d, + ) + return { + components: o, + computeItemKey: r, + context: e, + EmptyPlaceholder: a("EmptyPlaceholder"), + FooterComponent: a("Footer"), + GroupComponent: a("Group", "div"), + groupContent: n, + HeaderComponent: a("Header"), + HeaderFooterTag: i, + ItemComponent: a("Item", "div"), + itemContent: t, + ListComponent: a("List", "div"), + ScrollerComponent: a("Scroller", "div"), + scrollerRef: s, + ScrollSeekPlaceholder: a("ScrollSeekPlaceholder"), + TopItemListComponent: a("TopItemList"), + } + }), + ePt = Zn(([t, e]) => ({ ...t, ...e }), jo(Rtt, JAt)), + tPt = ({ height: t }) => l.jsx("div", { style: { height: t } }), + nPt = { overflowAnchor: "none", position: ztt(), zIndex: 1 }, + $tt = { overflowAnchor: "none" }, + oPt = { ...$tt, display: "inline-block", height: "100%" }, + G2 = Ie.memo(function ({ showTopList: t = !1 }) { + const e = sn("listState"), + n = la("sizeRanges"), + o = sn("useWindowScroll"), + r = sn("customScrollParent"), + i = la("windowScrollContainerState"), + s = la("scrollContainerState"), + a = r || o ? i : s, + c = sn("itemContent"), + d = sn("context"), + u = sn("groupContent"), + m = sn("trackItemSizes"), + f = sn("itemSize"), + g = sn("log"), + b = la("gap"), + v = sn("horizontalDirection"), + { callbackRef: w } = vAt(n, f, m, t ? hf : a, g, b, r, v, sn("skipAnimationFrameInResizeObserver")), + [_, y] = Ie.useState(0) + wE("deviation", (U) => { + _ !== U && y(U) + }) + const C = sn("EmptyPlaceholder"), + S = sn("ScrollSeekPlaceholder") || tPt, + P = sn("ListComponent"), + R = sn("ItemComponent"), + T = sn("GroupComponent"), + E = sn("computeItemKey"), + $ = sn("isSeeking"), + j = sn("groupIndices").length > 0, + L = sn("alignToBottom"), + W = sn("initialItemFinalLocationReached"), + G = t + ? {} + : { + boxSizing: "border-box", + ...(v + ? { + display: "inline-block", + height: "100%", + marginLeft: _ !== 0 ? _ : L ? "auto" : 0, + paddingLeft: e.offsetTop, + paddingRight: e.offsetBottom, + whiteSpace: "nowrap", + } + : { + marginTop: _ !== 0 ? _ : L ? "auto" : 0, + paddingBottom: e.offsetBottom, + paddingTop: e.offsetTop, + }), + ...(W ? {} : { visibility: "hidden" }), + } + return !t && e.totalCount === 0 && C + ? l.jsx(C, { ...Hr(C, d) }) + : l.jsx(P, { + ...Hr(P, d), + "data-testid": t ? "virtuoso-top-item-list" : "virtuoso-item-list", + ref: w, + style: G, + children: (t ? e.topItems : e.items).map((U) => { + const Z = U.originalIndex, + V = E(Z + e.firstItemIndex, U.data, d) + return $ + ? k.createElement(S, { + ...Hr(S, d), + height: U.size, + index: U.index, + key: V, + type: U.type || "item", + ...(U.type === "group" ? {} : { groupIndex: U.groupIndex }), + }) + : U.type === "group" + ? k.createElement( + T, + { + ...Hr(T, d), + "data-index": Z, + "data-item-index": U.index, + "data-known-size": U.size, + key: V, + style: nPt, + }, + u(U.index, d), + ) + : k.createElement( + R, + { + ...Hr(R, d), + ...aPt(R, U.data), + "data-index": Z, + "data-item-group-index": U.groupIndex, + "data-item-index": U.index, + "data-known-size": U.size, + key: V, + style: v ? oPt : $tt, + }, + j ? c(U.index, U.groupIndex, U.data, d) : c(U.index, U.data, d), + ) + }), + }) + }), + rPt = { + height: "100%", + outline: "none", + overflowY: "auto", + position: "relative", + WebkitOverflowScrolling: "touch", + }, + iPt = { outline: "none", overflowX: "auto", position: "relative" }, + Q_ = (t) => ({ + height: "100%", + position: "absolute", + top: 0, + width: "100%", + ...(t ? { display: "flex", flexDirection: "column" } : {}), + }), + sPt = { position: ztt(), top: 0, width: "100%", zIndex: 1 } +function Hr(t, e) { + if (typeof t != "string") return { context: e } +} +function aPt(t, e) { + return { item: typeof t == "string" ? void 0 : e } +} +const lPt = Ie.memo(function () { + const t = sn("HeaderComponent"), + e = la("headerHeight"), + n = sn("HeaderFooterTag"), + o = Wp( + Ie.useMemo( + () => (i) => { + e(Qd(i, "height")) + }, + [e], + ), + !0, + sn("skipAnimationFrameInResizeObserver"), + ), + r = sn("context") + return t ? l.jsx(n, { ref: o, children: l.jsx(t, { ...Hr(t, r) }) }) : null + }), + cPt = Ie.memo(function () { + const t = sn("FooterComponent"), + e = la("footerHeight"), + n = sn("HeaderFooterTag"), + o = Wp( + Ie.useMemo( + () => (i) => { + e(Qd(i, "height")) + }, + [e], + ), + !0, + sn("skipAnimationFrameInResizeObserver"), + ), + r = sn("context") + return t ? l.jsx(n, { ref: o, children: l.jsx(t, { ...Hr(t, r) }) }) : null + }) +function Ltt({ useEmitter: t, useEmitterValue: e, usePublisher: n }) { + return Ie.memo(function ({ children: o, style: r, ...i }) { + const s = n("scrollContainerState"), + a = e("ScrollerComponent"), + c = n("smoothScrollTargetReached"), + d = e("scrollerRef"), + u = e("context"), + m = e("horizontalDirection") || !1, + { scrollByCallback: f, scrollerRef: g, scrollToCallback: b } = Ett(s, c, a, d, void 0, m) + return ( + t("scrollTo", b), + t("scrollBy", f), + l.jsx(a, { + "data-testid": "virtuoso-scroller", + "data-virtuoso-scroller": !0, + ref: g, + style: { ...(m ? iPt : rPt), ...r }, + tabIndex: 0, + ...i, + ...Hr(a, u), + children: o, + }) + ) + }) +} +function Dtt({ useEmitter: t, useEmitterValue: e, usePublisher: n }) { + return Ie.memo(function ({ children: o, style: r, ...i }) { + const s = n("windowScrollContainerState"), + a = e("ScrollerComponent"), + c = n("smoothScrollTargetReached"), + d = e("totalListHeight"), + u = e("deviation"), + m = e("customScrollParent"), + f = e("context"), + g = Ie.useRef(null), + b = e("scrollerRef"), + { scrollByCallback: v, scrollerRef: w, scrollToCallback: _ } = Ett(s, c, a, b, m) + return ( + jtt(() => { + var y + return ( + (w.current = m || ((y = g.current) == null ? void 0 : y.ownerDocument.defaultView)), + () => { + w.current = null + } + ) + }, [w, m]), + t("windowScrollTo", _), + t("scrollBy", v), + l.jsx(a, { + ref: g, + "data-virtuoso-scroller": !0, + style: { position: "relative", ...r, ...(d !== 0 ? { height: d + u } : {}) }, + ...i, + ...Hr(a, f), + children: o, + }) + ) + }) +} +const dPt = ({ children: t }) => { + const e = Ie.useContext(Itt), + n = la("viewportHeight"), + o = la("fixedItemHeight"), + r = sn("alignToBottom"), + i = sn("horizontalDirection"), + s = Ie.useMemo(() => ctt(n, (c) => Qd(c, i ? "width" : "height")), [n, i]), + a = Wp(s, !0, sn("skipAnimationFrameInResizeObserver")) + return ( + Ie.useEffect(() => { + e && (n(e.viewportHeight), o(e.itemHeight)) + }, [e, n, o]), + l.jsx("div", { "data-viewport-type": "element", ref: a, style: Q_(r), children: t }) + ) + }, + uPt = ({ children: t }) => { + const e = Ie.useContext(Itt), + n = la("windowViewportRect"), + o = la("fixedItemHeight"), + r = sn("customScrollParent"), + i = utt(n, r, sn("skipAnimationFrameInResizeObserver")), + s = sn("alignToBottom") + return ( + Ie.useEffect(() => { + e && (o(e.itemHeight), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: 100 })) + }, [e, n, o]), + l.jsx("div", { "data-viewport-type": "window", ref: i, style: Q_(s), children: t }) + ) + }, + pPt = ({ children: t }) => { + const e = sn("TopItemListComponent") || "div", + n = sn("headerHeight"), + o = { ...sPt, marginTop: `${n}px` }, + r = sn("context") + return l.jsx(e, { style: o, ...Hr(e, r), children: t }) + }, + mPt = Ie.memo(function (t) { + const e = sn("useWindowScroll"), + n = sn("topItemsIndexes").length > 0, + o = sn("customScrollParent"), + r = sn("context"), + i = o || e ? gPt : fPt, + s = o || e ? uPt : dPt + return l.jsxs(i, { + ...t, + ...Hr(i, r), + children: [ + n && l.jsx(pPt, { children: l.jsx(G2, { showTopList: !0 }) }), + l.jsxs(s, { children: [l.jsx(lPt, {}), l.jsx(G2, {}), l.jsx(cPt, {})] }), + ], + }) + }), + { + Component: hPt, + useEmitter: wE, + useEmitterValue: sn, + usePublisher: la, + } = Ttt( + ePt, + { + required: {}, + optional: { + restoreStateFrom: "restoreStateFrom", + context: "context", + followOutput: "followOutput", + itemContent: "itemContent", + groupContent: "groupContent", + overscan: "overscan", + increaseViewportBy: "increaseViewportBy", + totalCount: "totalCount", + groupCounts: "groupCounts", + topItemCount: "topItemCount", + firstItemIndex: "firstItemIndex", + initialTopMostItemIndex: "initialTopMostItemIndex", + components: "components", + atBottomThreshold: "atBottomThreshold", + atTopThreshold: "atTopThreshold", + computeItemKey: "computeItemKey", + defaultItemHeight: "defaultItemHeight", + fixedItemHeight: "fixedItemHeight", + itemSize: "itemSize", + scrollSeekConfiguration: "scrollSeekConfiguration", + headerFooterTag: "HeaderFooterTag", + data: "data", + initialItemCount: "initialItemCount", + initialScrollTop: "initialScrollTop", + alignToBottom: "alignToBottom", + useWindowScroll: "useWindowScroll", + customScrollParent: "customScrollParent", + scrollerRef: "scrollerRef", + logLevel: "logLevel", + horizontalDirection: "horizontalDirection", + skipAnimationFrameInResizeObserver: "skipAnimationFrameInResizeObserver", + }, + methods: { + scrollToIndex: "scrollToIndex", + scrollIntoView: "scrollIntoView", + scrollTo: "scrollTo", + scrollBy: "scrollBy", + autoscrollToBottom: "autoscrollToBottom", + getState: "getState", + }, + events: { + isScrolling: "isScrolling", + endReached: "endReached", + startReached: "startReached", + rangeChanged: "rangeChanged", + atBottomStateChange: "atBottomStateChange", + atTopStateChange: "atTopStateChange", + totalListHeightChanged: "totalListHeightChanged", + itemsRendered: "itemsRendered", + groupIndices: "groupIndices", + }, + }, + mPt, + ), + fPt = Ltt({ useEmitter: wE, useEmitterValue: sn, usePublisher: la }), + gPt = Dtt({ useEmitter: wE, useEmitterValue: sn, usePublisher: la }), + Ntt = hPt, + vPt = Zn(() => { + const t = Ze((c) => l.jsxs("td", { children: ["Item $", c] })), + e = Ze(null), + n = Ze(null), + o = Ze(null), + r = Ze({}), + i = Ze(xE), + s = Ze(hf), + a = (c, d = null) => + hi( + Fe( + r, + bt((u) => u[c]), + Io(), + ), + d, + ) + return { + components: r, + computeItemKey: i, + context: e, + EmptyPlaceholder: a("EmptyPlaceholder"), + FillerRow: a("FillerRow"), + fixedFooterContent: o, + fixedHeaderContent: n, + itemContent: t, + ScrollerComponent: a("Scroller", "div"), + scrollerRef: s, + ScrollSeekPlaceholder: a("ScrollSeekPlaceholder"), + TableBodyComponent: a("TableBody", "tbody"), + TableComponent: a("Table", "table"), + TableFooterComponent: a("TableFoot", "tfoot"), + TableHeadComponent: a("TableHead", "thead"), + TableRowComponent: a("TableRow", "tr"), + } + }) +jo(Rtt, vPt) +const Q2 = { bottom: 0, itemHeight: 0, items: [], itemWidth: 0, offsetBottom: 0, offsetTop: 0, top: 0 }, + bPt = { bottom: 0, itemHeight: 0, items: [{ index: 0 }], itemWidth: 0, offsetBottom: 0, offsetTop: 0, top: 0 }, + { ceil: Z2, floor: Fw, max: wv, min: RA, round: Y2 } = Math +function X2(t, e, n) { + return Array.from({ length: e - t + 1 }).map((o, r) => ({ data: n === null ? null : n[r + t], index: r + t })) +} +function yPt(t) { + return { ...bPt, items: t } +} +function Ek(t, e) { + return t && t.width === e.width && t.height === e.height +} +function kPt(t, e) { + return t && t.column === e.column && t.row === e.row +} +const xPt = Zn( + ([ + { increaseViewportBy: t, listBoundary: e, overscan: n, visibleRange: o }, + { + footerHeight: r, + headerHeight: i, + scrollBy: s, + scrollContainerState: a, + scrollTo: c, + scrollTop: d, + smoothScrollTargetReached: u, + viewportHeight: m, + }, + f, + g, + { didMount: b, propsReady: v }, + { + customScrollParent: w, + useWindowScroll: _, + windowScrollContainerState: y, + windowScrollTo: C, + windowViewportRect: S, + }, + P, + ]) => { + const R = Ze(0), + T = Ze(0), + E = Ze(Q2), + $ = Ze({ height: 0, width: 0 }), + j = Ze({ height: 0, width: 0 }), + L = Dn(), + W = Dn(), + G = Ze(0), + U = Ze(null), + Z = Ze({ column: 0, row: 0 }), + V = Dn(), + X = Dn(), + H = Ze(!1), + B = Ze(0), + M = Ze(!0), + D = Ze(!1), + F = Ze(!1) + ao( + Fe( + b, + Sn(B), + en(([ee, q]) => !!q), + ), + () => { + wn(M, !1) + }, + ), + ao( + Fe( + xr(b, M, j, $, B, D), + en(([ee, q, me, Ce, , ue]) => ee && !q && me.height !== 0 && Ce.height !== 0 && !ue), + ), + ([, , , , ee]) => { + wn(D, !0), + vE(1, () => { + wn(L, ee) + }), + ql(Fe(d), () => { + wn(e, [0, 0]), wn(M, !0) + }) + }, + ), + Lt( + Fe( + X, + en((ee) => ee != null && ee.scrollTop > 0), + Il(0), + ), + T, + ), + ao( + Fe( + b, + Sn(X), + en(([, ee]) => ee != null), + ), + ([, ee]) => { + ee && + (wn($, ee.viewport), + wn(j, ee.item), + wn(Z, ee.gap), + ee.scrollTop > 0 && + (wn(H, !0), + ql(Fe(d, Vh(1)), (q) => { + wn(H, !1) + }), + wn(c, { top: ee.scrollTop }))) + }, + ), + Lt( + Fe( + $, + bt(({ height: ee }) => ee), + ), + m, + ), + Lt( + Fe( + xr( + tn($, Ek), + tn(j, Ek), + tn(Z, (ee, q) => ee && ee.column === q.column && ee.row === q.row), + tn(d), + ), + bt(([ee, q, me, Ce]) => ({ gap: me, item: q, scrollTop: Ce, viewport: ee })), + ), + V, + ), + Lt( + Fe( + xr(tn(R), o, tn(Z, kPt), tn(j, Ek), tn($, Ek), tn(U), tn(T), tn(H), tn(M), tn(B)), + en(([, , , , , , , ee]) => !ee), + bt(([ee, [q, me], Ce, ue, Te, dt, Y, , Ke, jt]) => { + const { column: Ye, row: Bt } = Ce, + { height: nn, width: Xe } = ue, + { width: Tt } = Te + if (Y === 0 && (ee === 0 || Tt === 0)) return Q2 + if (Xe === 0) { + const Kt = bE(jt, ee), + Wn = Kt + Math.max(Y - 1, 0) + return yPt(X2(Kt, Wn, dt)) + } + const Vt = Ott(Tt, Xe, Ye) + let zt, _n + Ke + ? q === 0 && me === 0 && Y > 0 + ? ((zt = 0), (_n = Y - 1)) + : ((zt = Vt * Fw((q + Bt) / (nn + Bt))), + (_n = Vt * Z2((me + Bt) / (nn + Bt)) - 1), + (_n = RA(ee - 1, wv(_n, Vt - 1))), + (zt = RA(_n, wv(0, zt)))) + : ((zt = 0), (_n = -1)) + const ge = X2(zt, _n, dt), + { bottom: Re, top: tt } = J2(Te, Ce, ue, ge), + lt = Z2(ee / Vt), + _t = lt * nn + (lt - 1) * Bt - Re + return { + bottom: Re, + itemHeight: nn, + items: ge, + itemWidth: Xe, + offsetBottom: _t, + offsetTop: tt, + top: tt, + } + }), + ), + E, + ), + Lt( + Fe( + U, + en((ee) => ee !== null), + bt((ee) => ee.length), + ), + R, + ), + Lt( + Fe( + xr($, j, E, Z), + en(([ee, q, { items: me }]) => me.length > 0 && q.height !== 0 && ee.height !== 0), + bt(([ee, q, { items: me }, Ce]) => { + const { bottom: ue, top: Te } = J2(ee, Ce, q, me) + return [Te, ue] + }), + Io(Zv), + ), + e, + ) + const N = Ze(!1) + Lt( + Fe( + d, + Sn(N), + bt(([ee, q]) => q || ee !== 0), + ), + N, + ) + const J = Fs( + Fe( + xr(E, R), + en(([{ items: ee }]) => ee.length > 0), + Sn(N), + en(([[ee, q], me]) => { + const Ce = ee.items[ee.items.length - 1].index === q - 1 + return ( + (me || + (ee.bottom > 0 && + ee.itemHeight > 0 && + ee.offsetBottom === 0 && + ee.items.length === q)) && + Ce + ) + }), + bt(([[, ee]]) => ee - 1), + Io(), + ), + ), + oe = Fs( + Fe( + tn(E), + en(({ items: ee }) => ee.length > 0 && ee[0].index === 0), + Il(0), + Io(), + ), + ), + ae = Fs( + Fe( + tn(E), + Sn(H), + en(([{ items: ee }, q]) => ee.length > 0 && !q), + bt(([{ items: ee }]) => ({ endIndex: ee[ee.length - 1].index, startIndex: ee[0].index })), + Io(vtt), + Bd(0), + ), + ) + Lt(ae, g.scrollSeekRangeChanged), + Lt( + Fe( + L, + Sn($, j, R, Z), + bt(([ee, q, me, Ce, ue]) => { + const Te = wtt(ee), + { align: dt, behavior: Y, offset: Ke } = Te + let jt = Te.index + jt === "LAST" && (jt = Ce - 1), (jt = wv(0, jt, RA(Ce - 1, jt))) + let Ye = Q1(q, ue, me, jt) + return ( + dt === "end" + ? (Ye = Y2(Ye - q.height + me.height)) + : dt === "center" && (Ye = Y2(Ye - q.height / 2 + me.height / 2)), + Ke && (Ye += Ke), + { behavior: Y, top: Ye } + ) + }), + ), + c, + ) + const Q = hi( + Fe( + E, + bt((ee) => ee.offsetBottom + ee.bottom), + ), + 0, + ) + return ( + Lt( + Fe( + S, + bt((ee) => ({ height: ee.visibleHeight, width: ee.visibleWidth })), + ), + $, + ), + { + customScrollParent: w, + data: U, + deviation: G, + footerHeight: r, + gap: Z, + headerHeight: i, + increaseViewportBy: t, + initialItemCount: T, + itemDimensions: j, + overscan: n, + restoreStateFrom: X, + scrollBy: s, + scrollContainerState: a, + scrollHeight: W, + scrollTo: c, + scrollToIndex: L, + scrollTop: d, + smoothScrollTargetReached: u, + totalCount: R, + useWindowScroll: _, + viewportDimensions: $, + windowScrollContainerState: y, + windowScrollTo: C, + windowViewportRect: S, + ...g, + gridState: E, + horizontalDirection: F, + initialTopMostItemIndex: B, + totalListHeight: Q, + ...f, + endReached: J, + propsReady: v, + rangeChanged: ae, + startReached: oe, + stateChanged: V, + stateRestoreInProgress: H, + ...P, + } + ) + }, + jo(yE, Bi, Nb, Att, du, kE, cu), +) +function Ott(t, e, n) { + return wv(1, Fw((t + n) / (Fw(e) + n))) +} +function J2(t, e, n, o) { + const { height: r } = n + if (r === void 0 || o.length === 0) return { bottom: 0, top: 0 } + const i = Q1(t, e, n, o[0].index) + return { bottom: Q1(t, e, n, o[o.length - 1].index) + r, top: i } +} +function Q1(t, e, n, o) { + const r = Ott(t.width, n.width, e.column), + i = Fw(o / r), + s = i * n.height + wv(0, i - 1) * e.row + return s > 0 ? s + e.row : s +} +const wPt = Zn(() => { + const t = Ze((m) => `Item ${m}`), + e = Ze({}), + n = Ze(null), + o = Ze("virtuoso-grid-item"), + r = Ze("virtuoso-grid-list"), + i = Ze(xE), + s = Ze("div"), + a = Ze(hf), + c = (m, f = null) => + hi( + Fe( + e, + bt((g) => g[m]), + Io(), + ), + f, + ), + d = Ze(!1), + u = Ze(!1) + return ( + Lt(tn(u), d), + { + components: e, + computeItemKey: i, + context: n, + FooterComponent: c("Footer"), + HeaderComponent: c("Header"), + headerFooterTag: s, + itemClassName: o, + ItemComponent: c("Item", "div"), + itemContent: t, + listClassName: r, + ListComponent: c("List", "div"), + readyStateChanged: d, + reportReadyState: u, + ScrollerComponent: c("Scroller", "div"), + scrollerRef: a, + ScrollSeekPlaceholder: c("ScrollSeekPlaceholder", "div"), + } + ) + }), + _Pt = Zn(([t, e]) => ({ ...t, ...e }), jo(xPt, wPt)), + CPt = Ie.memo(function () { + const t = $o("gridState"), + e = $o("listClassName"), + n = $o("itemClassName"), + o = $o("itemContent"), + r = $o("computeItemKey"), + i = $o("isSeeking"), + s = ca("scrollHeight"), + a = $o("ItemComponent"), + c = $o("ListComponent"), + d = $o("ScrollSeekPlaceholder"), + u = $o("context"), + m = ca("itemDimensions"), + f = ca("gap"), + g = $o("log"), + b = $o("stateRestoreInProgress"), + v = ca("reportReadyState"), + w = Wp( + Ie.useMemo( + () => (_) => { + const y = _.parentElement.parentElement.scrollHeight + s(y) + const C = _.firstChild + if (C) { + const { height: S, width: P } = C.getBoundingClientRect() + m({ height: S, width: P }) + } + f({ + column: eF("column-gap", getComputedStyle(_).columnGap, g), + row: eF("row-gap", getComputedStyle(_).rowGap, g), + }) + }, + [s, m, f, g], + ), + !0, + !1, + ) + return ( + jtt(() => { + t.itemHeight > 0 && t.itemWidth > 0 && v(!0) + }, [t]), + b + ? null + : l.jsx(c, { + className: e, + ref: w, + ...Hr(c, u), + "data-testid": "virtuoso-item-list", + style: { paddingBottom: t.offsetBottom, paddingTop: t.offsetTop }, + children: t.items.map((_) => { + const y = r(_.index, _.data, u) + return i + ? l.jsx(d, { ...Hr(d, u), height: t.itemHeight, index: _.index, width: t.itemWidth }, y) + : k.createElement( + a, + { ...Hr(a, u), className: n, "data-index": _.index, key: y }, + o(_.index, _.data, u), + ) + }), + }) + ) + }), + SPt = Ie.memo(function () { + const t = $o("HeaderComponent"), + e = ca("headerHeight"), + n = $o("headerFooterTag"), + o = Wp( + Ie.useMemo( + () => (i) => { + e(Qd(i, "height")) + }, + [e], + ), + !0, + !1, + ), + r = $o("context") + return t ? l.jsx(n, { ref: o, children: l.jsx(t, { ...Hr(t, r) }) }) : null + }), + APt = Ie.memo(function () { + const t = $o("FooterComponent"), + e = ca("footerHeight"), + n = $o("headerFooterTag"), + o = Wp( + Ie.useMemo( + () => (i) => { + e(Qd(i, "height")) + }, + [e], + ), + !0, + !1, + ), + r = $o("context") + return t ? l.jsx(n, { ref: o, children: l.jsx(t, { ...Hr(t, r) }) }) : null + }), + PPt = ({ children: t }) => { + const e = Ie.useContext(Mtt), + n = ca("itemDimensions"), + o = ca("viewportDimensions"), + r = Wp( + Ie.useMemo( + () => (i) => { + o(i.getBoundingClientRect()) + }, + [o], + ), + !0, + !1, + ) + return ( + Ie.useEffect(() => { + e && + (o({ height: e.viewportHeight, width: e.viewportWidth }), + n({ height: e.itemHeight, width: e.itemWidth })) + }, [e, o, n]), + l.jsx("div", { ref: r, style: Q_(!1), children: t }) + ) + }, + RPt = ({ children: t }) => { + const e = Ie.useContext(Mtt), + n = ca("windowViewportRect"), + o = ca("itemDimensions"), + r = $o("customScrollParent"), + i = utt(n, r, !1) + return ( + Ie.useEffect(() => { + e && + (o({ height: e.itemHeight, width: e.itemWidth }), + n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: e.viewportWidth })) + }, [e, n, o]), + l.jsx("div", { ref: i, style: Q_(!1), children: t }) + ) + }, + TPt = Ie.memo(function ({ ...t }) { + const e = $o("useWindowScroll"), + n = $o("customScrollParent"), + o = n || e ? MPt : IPt, + r = n || e ? RPt : PPt, + i = $o("context") + return l.jsx(o, { + ...t, + ...Hr(o, i), + children: l.jsxs(r, { children: [l.jsx(SPt, {}), l.jsx(CPt, {}), l.jsx(APt, {})] }), + }) + }), + { + useEmitter: Ftt, + useEmitterValue: $o, + usePublisher: ca, + } = Ttt( + _Pt, + { + optional: { + context: "context", + totalCount: "totalCount", + overscan: "overscan", + itemContent: "itemContent", + components: "components", + computeItemKey: "computeItemKey", + data: "data", + initialItemCount: "initialItemCount", + scrollSeekConfiguration: "scrollSeekConfiguration", + headerFooterTag: "headerFooterTag", + listClassName: "listClassName", + itemClassName: "itemClassName", + useWindowScroll: "useWindowScroll", + customScrollParent: "customScrollParent", + scrollerRef: "scrollerRef", + logLevel: "logLevel", + restoreStateFrom: "restoreStateFrom", + initialTopMostItemIndex: "initialTopMostItemIndex", + increaseViewportBy: "increaseViewportBy", + }, + methods: { scrollTo: "scrollTo", scrollBy: "scrollBy", scrollToIndex: "scrollToIndex" }, + events: { + isScrolling: "isScrolling", + endReached: "endReached", + startReached: "startReached", + rangeChanged: "rangeChanged", + atBottomStateChange: "atBottomStateChange", + atTopStateChange: "atTopStateChange", + stateChanged: "stateChanged", + readyStateChanged: "readyStateChanged", + }, + }, + TPt, + ), + IPt = Ltt({ useEmitter: Ftt, useEmitterValue: $o, usePublisher: ca }), + MPt = Dtt({ useEmitter: Ftt, useEmitterValue: $o, usePublisher: ca }) +function eF(t, e, n) { + return ( + e !== "normal" && + !(e != null && e.endsWith("px")) && + n(`${t} was not resolved to pixel value correctly`, e, Bs.WARN), + e === "normal" ? 0 : parseInt(e ?? "0", 10) + ) +} +var TA, tF +function jPt() { + return ( + tF || + ((tF = 1), + (TA = function (t, e) { + ;(e = e || {}), + (e.listUnicodeChar = e.hasOwnProperty("listUnicodeChar") ? e.listUnicodeChar : !1), + (e.stripListLeaders = e.hasOwnProperty("stripListLeaders") ? e.stripListLeaders : !0), + (e.gfm = e.hasOwnProperty("gfm") ? e.gfm : !0), + (e.useImgAltText = e.hasOwnProperty("useImgAltText") ? e.useImgAltText : !0), + (e.abbr = e.hasOwnProperty("abbr") ? e.abbr : !1), + (e.replaceLinksWithURL = e.hasOwnProperty("replaceLinksWithURL") ? e.replaceLinksWithURL : !1), + (e.htmlTagsToSkip = e.hasOwnProperty("htmlTagsToSkip") ? e.htmlTagsToSkip : []), + (e.throwError = e.hasOwnProperty("throwError") ? e.throwError : !1) + var n = t || "" + n = n.replace(/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/gm, "") + try { + e.stripListLeaders && + (e.listUnicodeChar + ? (n = n.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm, e.listUnicodeChar + " $1")) + : (n = n.replace(/^([\s\t]*)([\*\-\+]|\d+\.)\s+/gm, "$1"))), + e.gfm && + (n = n + .replace( + /\n={2,}/g, + ` +`, + ) + .replace(/~{3}.*\n/g, "") + .replace(/~~/g, "") + .replace(/```(?:.*)\n([\s\S]*?)```/g, (r, i) => i.trim())), + e.abbr && (n = n.replace(/\*\[.*\]:.*\n/, "")) + let o = /<[^>]*>/g + if (e.htmlTagsToSkip && e.htmlTagsToSkip.length > 0) { + const r = e.htmlTagsToSkip.join("|") + o = new RegExp(`<(?!/?(${r})(?=>|s[^>]*>))[^>]*>`, "g") + } + n = n + .replace(o, "") + .replace(/^[=\-]{2,}\s*$/g, "") + .replace(/\[\^.+?\](\: .*?$)?/g, "") + .replace(/\s{0,2}\[.*?\]: .*?$/g, "") + .replace(/\!\[(.*?)\][\[\(].*?[\]\)]/g, e.useImgAltText ? "$1" : "") + .replace(/\[([\s\S]*?)\]\s*[\(\[].*?[\)\]]/g, e.replaceLinksWithURL ? "$2" : "$1") + .replace(/^(\n)?\s{0,3}>\s?/gm, "$1") + .replace(/^\s{1,2}\[(.*?)\]: (\S+)( ".*?")?\s*$/g, "") + .replace(/^(\n)?\s{0,}#{1,6}\s*( (.+))? +#+$|^(\n)?\s{0,}#{1,6}\s*( (.+))?$/gm, "$1$3$4$6") + .replace(/([\*]+)(\S)(.*?\S)??\1/g, "$2$3") + .replace(/(^|\W)([_]+)(\S)(.*?\S)??\2($|\W)/g, "$1$3$4$5") + .replace(/(`{3,})(.*?)\1/gm, "$2") + .replace(/`(.+?)`/g, "$1") + .replace(/~(.*?)~/g, "$1") + } catch (o) { + if (e.throwError) throw o + return console.error("remove-markdown encountered error: %s", o), t + } + return n + })), + TA + ) +} +var EPt = jPt() +const zPt = ps(EPt), + Zd = (function () { + if (typeof globalThis < "u") return globalThis + if (typeof global < "u") return global + if (typeof self < "u") return self + if (typeof window < "u") return window + try { + return new Function("return this")() + } catch { + return {} + } + })() +Zd.trustedTypes === void 0 && (Zd.trustedTypes = { createPolicy: (t, e) => e }) +const Btt = { configurable: !1, enumerable: !1, writable: !1 } +Zd.FAST === void 0 && Reflect.defineProperty(Zd, "FAST", Object.assign({ value: Object.create(null) }, Btt)) +const Jv = Zd.FAST +if (Jv.getById === void 0) { + const t = Object.create(null) + Reflect.defineProperty( + Jv, + "getById", + Object.assign( + { + value(e, n) { + let o = t[e] + return o === void 0 && (o = n ? (t[e] = n()) : null), o + }, + }, + Btt, + ), + ) +} +const wp = Object.freeze([]) +function Utt() { + const t = new WeakMap() + return function (e) { + let n = t.get(e) + if (n === void 0) { + let o = Reflect.getPrototypeOf(e) + for (; n === void 0 && o !== null; ) (n = t.get(o)), (o = Reflect.getPrototypeOf(o)) + ;(n = n === void 0 ? [] : n.slice(0)), t.set(e, n) + } + return n + } +} +const IA = Zd.FAST.getById(1, () => { + const t = [], + e = [] + function n() { + if (e.length) throw e.shift() + } + function o(s) { + try { + s.call() + } catch (a) { + e.push(a), setTimeout(n, 0) + } + } + function r() { + let a = 0 + for (; a < t.length; ) + if ((o(t[a]), a++, a > 1024)) { + for (let c = 0, d = t.length - a; c < d; c++) t[c] = t[c + a] + ;(t.length -= a), (a = 0) + } + t.length = 0 + } + function i(s) { + t.length < 1 && Zd.requestAnimationFrame(r), t.push(s) + } + return Object.freeze({ enqueue: i, process: r }) + }), + qtt = Zd.trustedTypes.createPolicy("fast-html", { createHTML: (t) => t }) +let MA = qtt +const _v = `fast-${Math.random().toString(36).substring(2, 8)}`, + Wtt = `${_v}{`, + _E = `}${_v}`, + In = Object.freeze({ + supportsAdoptedStyleSheets: Array.isArray(document.adoptedStyleSheets) && "replace" in CSSStyleSheet.prototype, + setHTMLPolicy(t) { + if (MA !== qtt) throw new Error("The HTML policy can only be set once.") + MA = t + }, + createHTML(t) { + return MA.createHTML(t) + }, + isMarker(t) { + return t && t.nodeType === 8 && t.data.startsWith(_v) + }, + extractDirectiveIndexFromMarker(t) { + return parseInt(t.data.replace(`${_v}:`, "")) + }, + createInterpolationPlaceholder(t) { + return `${Wtt}${t}${_E}` + }, + createCustomAttributePlaceholder(t, e) { + return `${t}="${this.createInterpolationPlaceholder(e)}"` + }, + createBlockPlaceholder(t) { + return `<!--${_v}:${t}-->` + }, + queueUpdate: IA.enqueue, + processUpdates: IA.process, + nextUpdate() { + return new Promise(IA.enqueue) + }, + setAttribute(t, e, n) { + n == null ? t.removeAttribute(e) : t.setAttribute(e, n) + }, + setBooleanAttribute(t, e, n) { + n ? t.setAttribute(e, "") : t.removeAttribute(e) + }, + removeChildNodes(t) { + for (let e = t.firstChild; e !== null; e = t.firstChild) t.removeChild(e) + }, + createTemplateWalker(t) { + return document.createTreeWalker(t, 133, null, !1) + }, + }) +class Bw { + constructor(e, n) { + ;(this.sub1 = void 0), (this.sub2 = void 0), (this.spillover = void 0), (this.source = e), (this.sub1 = n) + } + has(e) { + return this.spillover === void 0 ? this.sub1 === e || this.sub2 === e : this.spillover.indexOf(e) !== -1 + } + subscribe(e) { + const n = this.spillover + if (n === void 0) { + if (this.has(e)) return + if (this.sub1 === void 0) { + this.sub1 = e + return + } + if (this.sub2 === void 0) { + this.sub2 = e + return + } + ;(this.spillover = [this.sub1, this.sub2, e]), (this.sub1 = void 0), (this.sub2 = void 0) + } else n.indexOf(e) === -1 && n.push(e) + } + unsubscribe(e) { + const n = this.spillover + if (n === void 0) this.sub1 === e ? (this.sub1 = void 0) : this.sub2 === e && (this.sub2 = void 0) + else { + const o = n.indexOf(e) + o !== -1 && n.splice(o, 1) + } + } + notify(e) { + const n = this.spillover, + o = this.source + if (n === void 0) { + const r = this.sub1, + i = this.sub2 + r !== void 0 && r.handleChange(o, e), i !== void 0 && i.handleChange(o, e) + } else for (let r = 0, i = n.length; r < i; ++r) n[r].handleChange(o, e) + } +} +class Ktt { + constructor(e) { + ;(this.subscribers = {}), (this.sourceSubscribers = null), (this.source = e) + } + notify(e) { + var n + const o = this.subscribers[e] + o !== void 0 && o.notify(e), (n = this.sourceSubscribers) === null || n === void 0 || n.notify(e) + } + subscribe(e, n) { + var o + if (n) { + let r = this.subscribers[n] + r === void 0 && (this.subscribers[n] = r = new Bw(this.source)), r.subscribe(e) + } else + (this.sourceSubscribers = (o = this.sourceSubscribers) !== null && o !== void 0 ? o : new Bw(this.source)), + this.sourceSubscribers.subscribe(e) + } + unsubscribe(e, n) { + var o + if (n) { + const r = this.subscribers[n] + r !== void 0 && r.unsubscribe(e) + } else (o = this.sourceSubscribers) === null || o === void 0 || o.unsubscribe(e) + } +} +const An = Jv.getById(2, () => { + const t = /(:|&&|\|\||if)/, + e = new WeakMap(), + n = In.queueUpdate + let o, + r = (d) => { + throw new Error("Must call enableArrayObservation before observing arrays.") + } + function i(d) { + let u = d.$fastController || e.get(d) + return u === void 0 && (Array.isArray(d) ? (u = r(d)) : e.set(d, (u = new Ktt(d)))), u + } + const s = Utt() + class a { + constructor(u) { + ;(this.name = u), (this.field = `_${u}`), (this.callback = `${u}Changed`) + } + getValue(u) { + return o !== void 0 && o.watch(u, this.name), u[this.field] + } + setValue(u, m) { + const f = this.field, + g = u[f] + if (g !== m) { + u[f] = m + const b = u[this.callback] + typeof b == "function" && b.call(u, g, m), i(u).notify(this.name) + } + } + } + class c extends Bw { + constructor(u, m, f = !1) { + super(u, m), + (this.binding = u), + (this.isVolatileBinding = f), + (this.needsRefresh = !0), + (this.needsQueue = !0), + (this.first = this), + (this.last = null), + (this.propertySource = void 0), + (this.propertyName = void 0), + (this.notifier = void 0), + (this.next = void 0) + } + observe(u, m) { + this.needsRefresh && this.last !== null && this.disconnect() + const f = o + ;(o = this.needsRefresh ? this : void 0), (this.needsRefresh = this.isVolatileBinding) + const g = this.binding(u, m) + return (o = f), g + } + disconnect() { + if (this.last !== null) { + let u = this.first + for (; u !== void 0; ) u.notifier.unsubscribe(this, u.propertyName), (u = u.next) + ;(this.last = null), (this.needsRefresh = this.needsQueue = !0) + } + } + watch(u, m) { + const f = this.last, + g = i(u), + b = f === null ? this.first : {} + if (((b.propertySource = u), (b.propertyName = m), (b.notifier = g), g.subscribe(this, m), f !== null)) { + if (!this.needsRefresh) { + let v + ;(o = void 0), + (v = f.propertySource[f.propertyName]), + (o = this), + u === v && (this.needsRefresh = !0) + } + f.next = b + } + this.last = b + } + handleChange() { + this.needsQueue && ((this.needsQueue = !1), n(this)) + } + call() { + this.last !== null && ((this.needsQueue = !0), this.notify(this)) + } + records() { + let u = this.first + return { + next: () => { + const m = u + return m === void 0 ? { value: void 0, done: !0 } : ((u = u.next), { value: m, done: !1 }) + }, + [Symbol.iterator]: function () { + return this + }, + } + } + } + return Object.freeze({ + setArrayObserverFactory(d) { + r = d + }, + getNotifier: i, + track(d, u) { + o !== void 0 && o.watch(d, u) + }, + trackVolatile() { + o !== void 0 && (o.needsRefresh = !0) + }, + notify(d, u) { + i(d).notify(u) + }, + defineProperty(d, u) { + typeof u == "string" && (u = new a(u)), + s(d).push(u), + Reflect.defineProperty(d, u.name, { + enumerable: !0, + get: function () { + return u.getValue(this) + }, + set: function (m) { + u.setValue(this, m) + }, + }) + }, + getAccessors: s, + binding(d, u, m = this.isVolatileBinding(d)) { + return new c(d, u, m) + }, + isVolatileBinding(d) { + return t.test(d.toString()) + }, + }) +}) +function yt(t, e) { + An.defineProperty(t, e) +} +function $Pt(t, e, n) { + return Object.assign({}, n, { + get: function () { + return An.trackVolatile(), n.get.apply(this) + }, + }) +} +const nF = Jv.getById(3, () => { + let t = null + return { + get() { + return t + }, + set(e) { + t = e + }, + } +}) +class eb { + constructor() { + ;(this.index = 0), (this.length = 0), (this.parent = null), (this.parentContext = null) + } + get event() { + return nF.get() + } + get isEven() { + return this.index % 2 === 0 + } + get isOdd() { + return this.index % 2 !== 0 + } + get isFirst() { + return this.index === 0 + } + get isInMiddle() { + return !this.isFirst && !this.isLast + } + get isLast() { + return this.index === this.length - 1 + } + static setEvent(e) { + nF.set(e) + } +} +An.defineProperty(eb.prototype, "index") +An.defineProperty(eb.prototype, "length") +const Cv = Object.seal(new eb()) +class Z_ { + constructor() { + this.targetIndex = 0 + } +} +class Vtt extends Z_ { + constructor() { + super(...arguments), (this.createPlaceholder = In.createInterpolationPlaceholder) + } +} +class CE extends Z_ { + constructor(e, n, o) { + super(), (this.name = e), (this.behavior = n), (this.options = o) + } + createPlaceholder(e) { + return In.createCustomAttributePlaceholder(this.name, e) + } + createBehavior(e) { + return new this.behavior(e, this.options) + } +} +function LPt(t, e) { + ;(this.source = t), + (this.context = e), + this.bindingObserver === null && + (this.bindingObserver = An.binding(this.binding, this, this.isBindingVolatile)), + this.updateTarget(this.bindingObserver.observe(t, e)) +} +function DPt(t, e) { + ;(this.source = t), (this.context = e), this.target.addEventListener(this.targetName, this) +} +function NPt() { + this.bindingObserver.disconnect(), (this.source = null), (this.context = null) +} +function OPt() { + this.bindingObserver.disconnect(), (this.source = null), (this.context = null) + const t = this.target.$fastView + t !== void 0 && t.isComposed && (t.unbind(), (t.needsBindOnly = !0)) +} +function FPt() { + this.target.removeEventListener(this.targetName, this), (this.source = null), (this.context = null) +} +function BPt(t) { + In.setAttribute(this.target, this.targetName, t) +} +function UPt(t) { + In.setBooleanAttribute(this.target, this.targetName, t) +} +function qPt(t) { + if ((t == null && (t = ""), t.create)) { + this.target.textContent = "" + let e = this.target.$fastView + e === void 0 + ? (e = t.create()) + : this.target.$fastTemplate !== t && (e.isComposed && (e.remove(), e.unbind()), (e = t.create())), + e.isComposed + ? e.needsBindOnly && ((e.needsBindOnly = !1), e.bind(this.source, this.context)) + : ((e.isComposed = !0), + e.bind(this.source, this.context), + e.insertBefore(this.target), + (this.target.$fastView = e), + (this.target.$fastTemplate = t)) + } else { + const e = this.target.$fastView + e !== void 0 && + e.isComposed && + ((e.isComposed = !1), e.remove(), e.needsBindOnly ? (e.needsBindOnly = !1) : e.unbind()), + (this.target.textContent = t) + } +} +function WPt(t) { + this.target[this.targetName] = t +} +function KPt(t) { + const e = this.classVersions || Object.create(null), + n = this.target + let o = this.version || 0 + if (t != null && t.length) { + const r = t.split(/\s+/) + for (let i = 0, s = r.length; i < s; ++i) { + const a = r[i] + a !== "" && ((e[a] = o), n.classList.add(a)) + } + } + if (((this.classVersions = e), (this.version = o + 1), o !== 0)) { + o -= 1 + for (const r in e) e[r] === o && n.classList.remove(r) + } +} +class SE extends Vtt { + constructor(e) { + super(), + (this.binding = e), + (this.bind = LPt), + (this.unbind = NPt), + (this.updateTarget = BPt), + (this.isBindingVolatile = An.isVolatileBinding(this.binding)) + } + get targetName() { + return this.originalTargetName + } + set targetName(e) { + if (((this.originalTargetName = e), e !== void 0)) + switch (e[0]) { + case ":": + if ( + ((this.cleanedTargetName = e.substr(1)), + (this.updateTarget = WPt), + this.cleanedTargetName === "innerHTML") + ) { + const n = this.binding + this.binding = (o, r) => In.createHTML(n(o, r)) + } + break + case "?": + ;(this.cleanedTargetName = e.substr(1)), (this.updateTarget = UPt) + break + case "@": + ;(this.cleanedTargetName = e.substr(1)), (this.bind = DPt), (this.unbind = FPt) + break + default: + ;(this.cleanedTargetName = e), e === "class" && (this.updateTarget = KPt) + break + } + } + targetAtContent() { + ;(this.updateTarget = qPt), (this.unbind = OPt) + } + createBehavior(e) { + return new VPt( + e, + this.binding, + this.isBindingVolatile, + this.bind, + this.unbind, + this.updateTarget, + this.cleanedTargetName, + ) + } +} +class VPt { + constructor(e, n, o, r, i, s, a) { + ;(this.source = null), + (this.context = null), + (this.bindingObserver = null), + (this.target = e), + (this.binding = n), + (this.isBindingVolatile = o), + (this.bind = r), + (this.unbind = i), + (this.updateTarget = s), + (this.targetName = a) + } + handleChange() { + this.updateTarget(this.bindingObserver.observe(this.source, this.context)) + } + handleEvent(e) { + eb.setEvent(e) + const n = this.binding(this.source, this.context) + eb.setEvent(null), n !== !0 && e.preventDefault() + } +} +let jA = null +class AE { + addFactory(e) { + ;(e.targetIndex = this.targetIndex), this.behaviorFactories.push(e) + } + captureContentBinding(e) { + e.targetAtContent(), this.addFactory(e) + } + reset() { + ;(this.behaviorFactories = []), (this.targetIndex = -1) + } + release() { + jA = this + } + static borrow(e) { + const n = jA || new AE() + return (n.directives = e), n.reset(), (jA = null), n + } +} +function HPt(t) { + if (t.length === 1) return t[0] + let e + const n = t.length, + o = t.map((s) => (typeof s == "string" ? () => s : ((e = s.targetName || e), s.binding))), + r = (s, a) => { + let c = "" + for (let d = 0; d < n; ++d) c += o[d](s, a) + return c + }, + i = new SE(r) + return (i.targetName = e), i +} +const GPt = _E.length +function Htt(t, e) { + const n = e.split(Wtt) + if (n.length === 1) return null + const o = [] + for (let r = 0, i = n.length; r < i; ++r) { + const s = n[r], + a = s.indexOf(_E) + let c + if (a === -1) c = s + else { + const d = parseInt(s.substring(0, a)) + o.push(t.directives[d]), (c = s.substring(a + GPt)) + } + c !== "" && o.push(c) + } + return o +} +function oF(t, e, n = !1) { + const o = e.attributes + for (let r = 0, i = o.length; r < i; ++r) { + const s = o[r], + a = s.value, + c = Htt(t, a) + let d = null + c === null ? n && ((d = new SE(() => a)), (d.targetName = s.name)) : (d = HPt(c)), + d !== null && (e.removeAttributeNode(s), r--, i--, t.addFactory(d)) + } +} +function QPt(t, e, n) { + const o = Htt(t, e.textContent) + if (o !== null) { + let r = e + for (let i = 0, s = o.length; i < s; ++i) { + const a = o[i], + c = i === 0 ? e : r.parentNode.insertBefore(document.createTextNode(""), r.nextSibling) + typeof a == "string" ? (c.textContent = a) : ((c.textContent = " "), t.captureContentBinding(a)), + (r = c), + t.targetIndex++, + c !== e && n.nextNode() + } + t.targetIndex-- + } +} +function ZPt(t, e) { + const n = t.content + document.adoptNode(n) + const o = AE.borrow(e) + oF(o, t, !0) + const r = o.behaviorFactories + o.reset() + const i = In.createTemplateWalker(n) + let s + for (; (s = i.nextNode()); ) + switch ((o.targetIndex++, s.nodeType)) { + case 1: + oF(o, s) + break + case 3: + QPt(o, s, i) + break + case 8: + In.isMarker(s) && o.addFactory(e[In.extractDirectiveIndexFromMarker(s)]) + } + let a = 0 + ;(In.isMarker(n.firstChild) || (n.childNodes.length === 1 && e.length)) && + (n.insertBefore(document.createComment(""), n.firstChild), (a = -1)) + const c = o.behaviorFactories + return o.release(), { fragment: n, viewBehaviorFactories: c, hostBehaviorFactories: r, targetOffset: a } +} +const EA = document.createRange() +class Gtt { + constructor(e, n) { + ;(this.fragment = e), + (this.behaviors = n), + (this.source = null), + (this.context = null), + (this.firstChild = e.firstChild), + (this.lastChild = e.lastChild) + } + appendTo(e) { + e.appendChild(this.fragment) + } + insertBefore(e) { + if (this.fragment.hasChildNodes()) e.parentNode.insertBefore(this.fragment, e) + else { + const n = this.lastChild + if (e.previousSibling === n) return + const o = e.parentNode + let r = this.firstChild, + i + for (; r !== n; ) (i = r.nextSibling), o.insertBefore(r, e), (r = i) + o.insertBefore(n, e) + } + } + remove() { + const e = this.fragment, + n = this.lastChild + let o = this.firstChild, + r + for (; o !== n; ) (r = o.nextSibling), e.appendChild(o), (o = r) + e.appendChild(n) + } + dispose() { + const e = this.firstChild.parentNode, + n = this.lastChild + let o = this.firstChild, + r + for (; o !== n; ) (r = o.nextSibling), e.removeChild(o), (o = r) + e.removeChild(n) + const i = this.behaviors, + s = this.source + for (let a = 0, c = i.length; a < c; ++a) i[a].unbind(s) + } + bind(e, n) { + const o = this.behaviors + if (this.source !== e) + if (this.source !== null) { + const r = this.source + ;(this.source = e), (this.context = n) + for (let i = 0, s = o.length; i < s; ++i) { + const a = o[i] + a.unbind(r), a.bind(e, n) + } + } else { + ;(this.source = e), (this.context = n) + for (let r = 0, i = o.length; r < i; ++r) o[r].bind(e, n) + } + } + unbind() { + if (this.source === null) return + const e = this.behaviors, + n = this.source + for (let o = 0, r = e.length; o < r; ++o) e[o].unbind(n) + this.source = null + } + static disposeContiguousBatch(e) { + if (e.length !== 0) { + EA.setStartBefore(e[0].firstChild), EA.setEndAfter(e[e.length - 1].lastChild), EA.deleteContents() + for (let n = 0, o = e.length; n < o; ++n) { + const r = e[n], + i = r.behaviors, + s = r.source + for (let a = 0, c = i.length; a < c; ++a) i[a].unbind(s) + } + } + } +} +class rF { + constructor(e, n) { + ;(this.behaviorCount = 0), + (this.hasHostBehaviors = !1), + (this.fragment = null), + (this.targetOffset = 0), + (this.viewBehaviorFactories = null), + (this.hostBehaviorFactories = null), + (this.html = e), + (this.directives = n) + } + create(e) { + if (this.fragment === null) { + let d + const u = this.html + if (typeof u == "string") { + ;(d = document.createElement("template")), (d.innerHTML = In.createHTML(u)) + const f = d.content.firstElementChild + f !== null && f.tagName === "TEMPLATE" && (d = f) + } else d = u + const m = ZPt(d, this.directives) + ;(this.fragment = m.fragment), + (this.viewBehaviorFactories = m.viewBehaviorFactories), + (this.hostBehaviorFactories = m.hostBehaviorFactories), + (this.targetOffset = m.targetOffset), + (this.behaviorCount = this.viewBehaviorFactories.length + this.hostBehaviorFactories.length), + (this.hasHostBehaviors = this.hostBehaviorFactories.length > 0) + } + const n = this.fragment.cloneNode(!0), + o = this.viewBehaviorFactories, + r = new Array(this.behaviorCount), + i = In.createTemplateWalker(n) + let s = 0, + a = this.targetOffset, + c = i.nextNode() + for (let d = o.length; s < d; ++s) { + const u = o[s], + m = u.targetIndex + for (; c !== null; ) + if (a === m) { + r[s] = u.createBehavior(c) + break + } else (c = i.nextNode()), a++ + } + if (this.hasHostBehaviors) { + const d = this.hostBehaviorFactories + for (let u = 0, m = d.length; u < m; ++u, ++s) r[s] = d[u].createBehavior(e) + } + return new Gtt(n, r) + } + render(e, n, o) { + typeof n == "string" && (n = document.getElementById(n)), o === void 0 && (o = n) + const r = this.create(o) + return r.bind(e, Cv), r.appendTo(n), r + } +} +const YPt = + /([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/ +function Gn(t, ...e) { + const n = [] + let o = "" + for (let r = 0, i = t.length - 1; r < i; ++r) { + const s = t[r] + let a = e[r] + if (((o += s), a instanceof rF)) { + const c = a + a = () => c + } + if ((typeof a == "function" && (a = new SE(a)), a instanceof Vtt)) { + const c = YPt.exec(s) + c !== null && (a.targetName = c[2]) + } + a instanceof Z_ ? ((o += a.createPlaceholder(n.length)), n.push(a)) : (o += a) + } + return (o += t[t.length - 1]), new rF(o, n) +} +class ls { + constructor() { + this.targets = new WeakSet() + } + addStylesTo(e) { + this.targets.add(e) + } + removeStylesFrom(e) { + this.targets.delete(e) + } + isAttachedTo(e) { + return this.targets.has(e) + } + withBehaviors(...e) { + return (this.behaviors = this.behaviors === null ? e : this.behaviors.concat(e)), this + } +} +ls.create = (() => { + if (In.supportsAdoptedStyleSheets) { + const t = new Map() + return (e) => new XPt(e, t) + } + return (t) => new tRt(t) +})() +function PE(t) { + return t.map((e) => (e instanceof ls ? PE(e.styles) : [e])).reduce((e, n) => e.concat(n), []) +} +function Qtt(t) { + return t + .map((e) => (e instanceof ls ? e.behaviors : null)) + .reduce((e, n) => (n === null ? e : (e === null && (e = []), e.concat(n))), null) +} +const Ztt = Symbol("prependToAdoptedStyleSheets") +function Ytt(t) { + const e = [], + n = [] + return t.forEach((o) => (o[Ztt] ? e : n).push(o)), { prepend: e, append: n } +} +let Xtt = (t, e) => { + const { prepend: n, append: o } = Ytt(e) + t.adoptedStyleSheets = [...n, ...t.adoptedStyleSheets, ...o] + }, + Jtt = (t, e) => { + t.adoptedStyleSheets = t.adoptedStyleSheets.filter((n) => e.indexOf(n) === -1) + } +if (In.supportsAdoptedStyleSheets) + try { + document.adoptedStyleSheets.push(), + document.adoptedStyleSheets.splice(), + (Xtt = (t, e) => { + const { prepend: n, append: o } = Ytt(e) + t.adoptedStyleSheets.splice(0, 0, ...n), t.adoptedStyleSheets.push(...o) + }), + (Jtt = (t, e) => { + for (const n of e) { + const o = t.adoptedStyleSheets.indexOf(n) + o !== -1 && t.adoptedStyleSheets.splice(o, 1) + } + }) + } catch {} +class XPt extends ls { + constructor(e, n) { + super(), (this.styles = e), (this.styleSheetCache = n), (this._styleSheets = void 0), (this.behaviors = Qtt(e)) + } + get styleSheets() { + if (this._styleSheets === void 0) { + const e = this.styles, + n = this.styleSheetCache + this._styleSheets = PE(e).map((o) => { + if (o instanceof CSSStyleSheet) return o + let r = n.get(o) + return r === void 0 && ((r = new CSSStyleSheet()), r.replaceSync(o), n.set(o, r)), r + }) + } + return this._styleSheets + } + addStylesTo(e) { + Xtt(e, this.styleSheets), super.addStylesTo(e) + } + removeStylesFrom(e) { + Jtt(e, this.styleSheets), super.removeStylesFrom(e) + } +} +let JPt = 0 +function eRt() { + return `fast-style-class-${++JPt}` +} +class tRt extends ls { + constructor(e) { + super(), + (this.styles = e), + (this.behaviors = null), + (this.behaviors = Qtt(e)), + (this.styleSheets = PE(e)), + (this.styleClass = eRt()) + } + addStylesTo(e) { + const n = this.styleSheets, + o = this.styleClass + e = this.normalizeTarget(e) + for (let r = 0; r < n.length; r++) { + const i = document.createElement("style") + ;(i.innerHTML = n[r]), (i.className = o), e.append(i) + } + super.addStylesTo(e) + } + removeStylesFrom(e) { + e = this.normalizeTarget(e) + const n = e.querySelectorAll(`.${this.styleClass}`) + for (let o = 0, r = n.length; o < r; ++o) e.removeChild(n[o]) + super.removeStylesFrom(e) + } + isAttachedTo(e) { + return super.isAttachedTo(this.normalizeTarget(e)) + } + normalizeTarget(e) { + return e === document ? document.body : e + } +} +const Uw = Object.freeze({ locate: Utt() }), + ent = { + toView(t) { + return t ? "true" : "false" + }, + fromView(t) { + return !(t == null || t === "false" || t === !1 || t === 0) + }, + }, + il = { + toView(t) { + if (t == null) return null + const e = t * 1 + return isNaN(e) ? null : e.toString() + }, + fromView(t) { + if (t == null) return null + const e = t * 1 + return isNaN(e) ? null : e + }, + } +class qw { + constructor(e, n, o = n.toLowerCase(), r = "reflect", i) { + ;(this.guards = new Set()), + (this.Owner = e), + (this.name = n), + (this.attribute = o), + (this.mode = r), + (this.converter = i), + (this.fieldName = `_${n}`), + (this.callbackName = `${n}Changed`), + (this.hasCallback = this.callbackName in e.prototype), + r === "boolean" && i === void 0 && (this.converter = ent) + } + setValue(e, n) { + const o = e[this.fieldName], + r = this.converter + r !== void 0 && (n = r.fromView(n)), + o !== n && + ((e[this.fieldName] = n), + this.tryReflectToAttribute(e), + this.hasCallback && e[this.callbackName](o, n), + e.$fastController.notify(this.name)) + } + getValue(e) { + return An.track(e, this.name), e[this.fieldName] + } + onAttributeChangedCallback(e, n) { + this.guards.has(e) || (this.guards.add(e), this.setValue(e, n), this.guards.delete(e)) + } + tryReflectToAttribute(e) { + const n = this.mode, + o = this.guards + o.has(e) || + n === "fromView" || + In.queueUpdate(() => { + o.add(e) + const r = e[this.fieldName] + switch (n) { + case "reflect": + const i = this.converter + In.setAttribute(e, this.attribute, i !== void 0 ? i.toView(r) : r) + break + case "boolean": + In.setBooleanAttribute(e, this.attribute, r) + break + } + o.delete(e) + }) + } + static collect(e, ...n) { + const o = [] + n.push(Uw.locate(e)) + for (let r = 0, i = n.length; r < i; ++r) { + const s = n[r] + if (s !== void 0) + for (let a = 0, c = s.length; a < c; ++a) { + const d = s[a] + typeof d == "string" + ? o.push(new qw(e, d)) + : o.push(new qw(e, d.property, d.attribute, d.mode, d.converter)) + } + } + return o + } +} +function Le(t, e) { + let n + function o(r, i) { + arguments.length > 1 && (n.property = i), Uw.locate(r.constructor).push(n) + } + if (arguments.length > 1) { + ;(n = {}), o(t, e) + return + } + return (n = t === void 0 ? {} : t), o +} +const iF = { mode: "open" }, + sF = {}, + Z1 = Jv.getById(4, () => { + const t = new Map() + return Object.freeze({ + register(e) { + return t.has(e.type) ? !1 : (t.set(e.type, e), !0) + }, + getByType(e) { + return t.get(e) + }, + }) + }) +class Ob { + constructor(e, n = e.definition) { + typeof n == "string" && (n = { name: n }), (this.type = e), (this.name = n.name), (this.template = n.template) + const o = qw.collect(e, n.attributes), + r = new Array(o.length), + i = {}, + s = {} + for (let a = 0, c = o.length; a < c; ++a) { + const d = o[a] + ;(r[a] = d.attribute), (i[d.name] = d), (s[d.attribute] = d) + } + ;(this.attributes = o), + (this.observedAttributes = r), + (this.propertyLookup = i), + (this.attributeLookup = s), + (this.shadowOptions = + n.shadowOptions === void 0 + ? iF + : n.shadowOptions === null + ? void 0 + : Object.assign(Object.assign({}, iF), n.shadowOptions)), + (this.elementOptions = + n.elementOptions === void 0 ? sF : Object.assign(Object.assign({}, sF), n.elementOptions)), + (this.styles = + n.styles === void 0 + ? void 0 + : Array.isArray(n.styles) + ? ls.create(n.styles) + : n.styles instanceof ls + ? n.styles + : ls.create([n.styles])) + } + get isDefined() { + return !!Z1.getByType(this.type) + } + define(e = customElements) { + const n = this.type + if (Z1.register(this)) { + const o = this.attributes, + r = n.prototype + for (let i = 0, s = o.length; i < s; ++i) An.defineProperty(r, o[i]) + Reflect.defineProperty(n, "observedAttributes", { value: this.observedAttributes, enumerable: !0 }) + } + return e.get(this.name) || e.define(this.name, n, this.elementOptions), this + } +} +Ob.forType = Z1.getByType +const tnt = new WeakMap(), + nRt = { bubbles: !0, composed: !0, cancelable: !0 } +function zA(t) { + return t.shadowRoot || tnt.get(t) || null +} +class RE extends Ktt { + constructor(e, n) { + super(e), + (this.boundObservables = null), + (this.behaviors = null), + (this.needsInitialization = !0), + (this._template = null), + (this._styles = null), + (this._isConnected = !1), + (this.$fastController = this), + (this.view = null), + (this.element = e), + (this.definition = n) + const o = n.shadowOptions + if (o !== void 0) { + const i = e.attachShadow(o) + o.mode === "closed" && tnt.set(e, i) + } + const r = An.getAccessors(e) + if (r.length > 0) { + const i = (this.boundObservables = Object.create(null)) + for (let s = 0, a = r.length; s < a; ++s) { + const c = r[s].name, + d = e[c] + d !== void 0 && (delete e[c], (i[c] = d)) + } + } + } + get isConnected() { + return An.track(this, "isConnected"), this._isConnected + } + setIsConnected(e) { + ;(this._isConnected = e), An.notify(this, "isConnected") + } + get template() { + return this._template + } + set template(e) { + this._template !== e && ((this._template = e), this.needsInitialization || this.renderTemplate(e)) + } + get styles() { + return this._styles + } + set styles(e) { + this._styles !== e && + (this._styles !== null && this.removeStyles(this._styles), + (this._styles = e), + !this.needsInitialization && e !== null && this.addStyles(e)) + } + addStyles(e) { + const n = zA(this.element) || this.element.getRootNode() + if (e instanceof HTMLStyleElement) n.append(e) + else if (!e.isAttachedTo(n)) { + const o = e.behaviors + e.addStylesTo(n), o !== null && this.addBehaviors(o) + } + } + removeStyles(e) { + const n = zA(this.element) || this.element.getRootNode() + if (e instanceof HTMLStyleElement) n.removeChild(e) + else if (e.isAttachedTo(n)) { + const o = e.behaviors + e.removeStylesFrom(n), o !== null && this.removeBehaviors(o) + } + } + addBehaviors(e) { + const n = this.behaviors || (this.behaviors = new Map()), + o = e.length, + r = [] + for (let i = 0; i < o; ++i) { + const s = e[i] + n.has(s) ? n.set(s, n.get(s) + 1) : (n.set(s, 1), r.push(s)) + } + if (this._isConnected) { + const i = this.element + for (let s = 0; s < r.length; ++s) r[s].bind(i, Cv) + } + } + removeBehaviors(e, n = !1) { + const o = this.behaviors + if (o === null) return + const r = e.length, + i = [] + for (let s = 0; s < r; ++s) { + const a = e[s] + if (o.has(a)) { + const c = o.get(a) - 1 + c === 0 || n ? o.delete(a) && i.push(a) : o.set(a, c) + } + } + if (this._isConnected) { + const s = this.element + for (let a = 0; a < i.length; ++a) i[a].unbind(s) + } + } + onConnectedCallback() { + if (this._isConnected) return + const e = this.element + this.needsInitialization ? this.finishInitialization() : this.view !== null && this.view.bind(e, Cv) + const n = this.behaviors + if (n !== null) for (const [o] of n) o.bind(e, Cv) + this.setIsConnected(!0) + } + onDisconnectedCallback() { + if (!this._isConnected) return + this.setIsConnected(!1) + const e = this.view + e !== null && e.unbind() + const n = this.behaviors + if (n !== null) { + const o = this.element + for (const [r] of n) r.unbind(o) + } + } + onAttributeChangedCallback(e, n, o) { + const r = this.definition.attributeLookup[e] + r !== void 0 && r.onAttributeChangedCallback(this.element, o) + } + emit(e, n, o) { + return this._isConnected + ? this.element.dispatchEvent(new CustomEvent(e, Object.assign(Object.assign({ detail: n }, nRt), o))) + : !1 + } + finishInitialization() { + const e = this.element, + n = this.boundObservables + if (n !== null) { + const r = Object.keys(n) + for (let i = 0, s = r.length; i < s; ++i) { + const a = r[i] + e[a] = n[a] + } + this.boundObservables = null + } + const o = this.definition + this._template === null && + (this.element.resolveTemplate + ? (this._template = this.element.resolveTemplate()) + : o.template && (this._template = o.template || null)), + this._template !== null && this.renderTemplate(this._template), + this._styles === null && + (this.element.resolveStyles + ? (this._styles = this.element.resolveStyles()) + : o.styles && (this._styles = o.styles || null)), + this._styles !== null && this.addStyles(this._styles), + (this.needsInitialization = !1) + } + renderTemplate(e) { + const n = this.element, + o = zA(n) || n + this.view !== null + ? (this.view.dispose(), (this.view = null)) + : this.needsInitialization || In.removeChildNodes(o), + e && (this.view = e.render(n, o, n)) + } + static forCustomElement(e) { + const n = e.$fastController + if (n !== void 0) return n + const o = Ob.forType(e.constructor) + if (o === void 0) throw new Error("Missing FASTElement definition.") + return (e.$fastController = new RE(e, o)) + } +} +function aF(t) { + return class extends t { + constructor() { + super(), RE.forCustomElement(this) + } + $emit(e, n, o) { + return this.$fastController.emit(e, n, o) + } + connectedCallback() { + this.$fastController.onConnectedCallback() + } + disconnectedCallback() { + this.$fastController.onDisconnectedCallback() + } + attributeChangedCallback(e, n, o) { + this.$fastController.onAttributeChangedCallback(e, n, o) + } + } +} +const Y_ = Object.assign(aF(HTMLElement), { + from(t) { + return aF(t) + }, + define(t, e) { + return new Ob(t, e).define().type + }, +}) +class nnt { + createCSS() { + return "" + } + createBehavior() {} +} +function oRt(t, e) { + const n = [] + let o = "" + const r = [] + for (let i = 0, s = t.length - 1; i < s; ++i) { + o += t[i] + let a = e[i] + if (a instanceof nnt) { + const c = a.createBehavior() + ;(a = a.createCSS()), c && r.push(c) + } + a instanceof ls || a instanceof CSSStyleSheet ? (o.trim() !== "" && (n.push(o), (o = "")), n.push(a)) : (o += a) + } + return (o += t[t.length - 1]), o.trim() !== "" && n.push(o), { styles: n, behaviors: r } +} +function Ho(t, ...e) { + const { styles: n, behaviors: o } = oRt(t, e), + r = ls.create(n) + return o.length && r.withBehaviors(...o), r +} +function Qa(t, e, n) { + return { index: t, removed: e, addedCount: n } +} +const ont = 0, + rnt = 1, + Y1 = 2, + X1 = 3 +function rRt(t, e, n, o, r, i) { + const s = i - r + 1, + a = n - e + 1, + c = new Array(s) + let d, u + for (let m = 0; m < s; ++m) (c[m] = new Array(a)), (c[m][0] = m) + for (let m = 0; m < a; ++m) c[0][m] = m + for (let m = 1; m < s; ++m) + for (let f = 1; f < a; ++f) + t[e + f - 1] === o[r + m - 1] + ? (c[m][f] = c[m - 1][f - 1]) + : ((d = c[m - 1][f] + 1), (u = c[m][f - 1] + 1), (c[m][f] = d < u ? d : u)) + return c +} +function iRt(t) { + let e = t.length - 1, + n = t[0].length - 1, + o = t[e][n] + const r = [] + for (; e > 0 || n > 0; ) { + if (e === 0) { + r.push(Y1), n-- + continue + } + if (n === 0) { + r.push(X1), e-- + continue + } + const i = t[e - 1][n - 1], + s = t[e - 1][n], + a = t[e][n - 1] + let c + s < a ? (c = s < i ? s : i) : (c = a < i ? a : i), + c === i + ? (i === o ? r.push(ont) : (r.push(rnt), (o = i)), e--, n--) + : c === s + ? (r.push(X1), e--, (o = s)) + : (r.push(Y1), n--, (o = a)) + } + return r.reverse(), r +} +function sRt(t, e, n) { + for (let o = 0; o < n; ++o) if (t[o] !== e[o]) return o + return n +} +function aRt(t, e, n) { + let o = t.length, + r = e.length, + i = 0 + for (; i < n && t[--o] === e[--r]; ) i++ + return i +} +function lRt(t, e, n, o) { + return e < n || o < t ? -1 : e === n || o === t ? 0 : t < n ? (e < o ? e - n : o - n) : o < e ? o - t : e - t +} +function int(t, e, n, o, r, i) { + let s = 0, + a = 0 + const c = Math.min(n - e, i - r) + if ( + (e === 0 && r === 0 && (s = sRt(t, o, c)), + n === t.length && i === o.length && (a = aRt(t, o, c - s)), + (e += s), + (r += s), + (n -= a), + (i -= a), + n - e === 0 && i - r === 0) + ) + return wp + if (e === n) { + const b = Qa(e, [], 0) + for (; r < i; ) b.removed.push(o[r++]) + return [b] + } else if (r === i) return [Qa(e, [], n - e)] + const d = iRt(rRt(t, e, n, o, r, i)), + u = [] + let m, + f = e, + g = r + for (let b = 0; b < d.length; ++b) + switch (d[b]) { + case ont: + m !== void 0 && (u.push(m), (m = void 0)), f++, g++ + break + case rnt: + m === void 0 && (m = Qa(f, [], 0)), m.addedCount++, f++, m.removed.push(o[g]), g++ + break + case Y1: + m === void 0 && (m = Qa(f, [], 0)), m.addedCount++, f++ + break + case X1: + m === void 0 && (m = Qa(f, [], 0)), m.removed.push(o[g]), g++ + break + } + return m !== void 0 && u.push(m), u +} +const lF = Array.prototype.push +function cRt(t, e, n, o) { + const r = Qa(e, n, o) + let i = !1, + s = 0 + for (let a = 0; a < t.length; a++) { + const c = t[a] + if (((c.index += s), i)) continue + const d = lRt(r.index, r.index + r.removed.length, c.index, c.index + c.addedCount) + if (d >= 0) { + t.splice(a, 1), a--, (s -= c.addedCount - c.removed.length), (r.addedCount += c.addedCount - d) + const u = r.removed.length + c.removed.length - d + if (!r.addedCount && !u) i = !0 + else { + let m = c.removed + if (r.index < c.index) { + const f = r.removed.slice(0, c.index - r.index) + lF.apply(f, m), (m = f) + } + if (r.index + r.removed.length > c.index + c.addedCount) { + const f = r.removed.slice(c.index + c.addedCount - r.index) + lF.apply(m, f) + } + ;(r.removed = m), c.index < r.index && (r.index = c.index) + } + } else if (r.index < c.index) { + ;(i = !0), t.splice(a, 0, r), a++ + const u = r.addedCount - r.removed.length + ;(c.index += u), (s += u) + } + } + i || t.push(r) +} +function dRt(t) { + const e = [] + for (let n = 0, o = t.length; n < o; n++) { + const r = t[n] + cRt(e, r.index, r.removed, r.addedCount) + } + return e +} +function uRt(t, e) { + let n = [] + const o = dRt(e) + for (let r = 0, i = o.length; r < i; ++r) { + const s = o[r] + if (s.addedCount === 1 && s.removed.length === 1) { + s.removed[0] !== t[s.index] && n.push(s) + continue + } + n = n.concat(int(t, s.index, s.index + s.addedCount, s.removed, 0, s.removed.length)) + } + return n +} +let cF = !1 +function $A(t, e) { + let n = t.index + const o = e.length + return ( + n > o ? (n = o - t.addedCount) : n < 0 && (n = o + t.removed.length + n - t.addedCount), + n < 0 && (n = 0), + (t.index = n), + t + ) +} +class pRt extends Bw { + constructor(e) { + super(e), + (this.oldCollection = void 0), + (this.splices = void 0), + (this.needsQueue = !0), + (this.call = this.flush), + Reflect.defineProperty(e, "$fastController", { value: this, enumerable: !1 }) + } + subscribe(e) { + this.flush(), super.subscribe(e) + } + addSplice(e) { + this.splices === void 0 ? (this.splices = [e]) : this.splices.push(e), + this.needsQueue && ((this.needsQueue = !1), In.queueUpdate(this)) + } + reset(e) { + ;(this.oldCollection = e), this.needsQueue && ((this.needsQueue = !1), In.queueUpdate(this)) + } + flush() { + const e = this.splices, + n = this.oldCollection + if (e === void 0 && n === void 0) return + ;(this.needsQueue = !0), (this.splices = void 0), (this.oldCollection = void 0) + const o = n === void 0 ? uRt(this.source, e) : int(this.source, 0, this.source.length, n, 0, n.length) + this.notify(o) + } +} +function mRt() { + if (cF) return + ;(cF = !0), An.setArrayObserverFactory((c) => new pRt(c)) + const t = Array.prototype + if (t.$fastPatch) return + Reflect.defineProperty(t, "$fastPatch", { value: 1, enumerable: !1 }) + const e = t.pop, + n = t.push, + o = t.reverse, + r = t.shift, + i = t.sort, + s = t.splice, + a = t.unshift + ;(t.pop = function () { + const c = this.length > 0, + d = e.apply(this, arguments), + u = this.$fastController + return u !== void 0 && c && u.addSplice(Qa(this.length, [d], 0)), d + }), + (t.push = function () { + const c = n.apply(this, arguments), + d = this.$fastController + return d !== void 0 && d.addSplice($A(Qa(this.length - arguments.length, [], arguments.length), this)), c + }), + (t.reverse = function () { + let c + const d = this.$fastController + d !== void 0 && (d.flush(), (c = this.slice())) + const u = o.apply(this, arguments) + return d !== void 0 && d.reset(c), u + }), + (t.shift = function () { + const c = this.length > 0, + d = r.apply(this, arguments), + u = this.$fastController + return u !== void 0 && c && u.addSplice(Qa(0, [d], 0)), d + }), + (t.sort = function () { + let c + const d = this.$fastController + d !== void 0 && (d.flush(), (c = this.slice())) + const u = i.apply(this, arguments) + return d !== void 0 && d.reset(c), u + }), + (t.splice = function () { + const c = s.apply(this, arguments), + d = this.$fastController + return ( + d !== void 0 && + d.addSplice($A(Qa(+arguments[0], c, arguments.length > 2 ? arguments.length - 2 : 0), this)), + c + ) + }), + (t.unshift = function () { + const c = a.apply(this, arguments), + d = this.$fastController + return d !== void 0 && d.addSplice($A(Qa(0, [], arguments.length), this)), c + }) +} +class hRt { + constructor(e, n) { + ;(this.target = e), (this.propertyName = n) + } + bind(e) { + e[this.propertyName] = this.target + } + unbind() {} +} +function Oi(t) { + return new CE("fast-ref", hRt, t) +} +const snt = (t) => typeof t == "function", + fRt = () => null +function dF(t) { + return t === void 0 ? fRt : snt(t) ? t : () => t +} +function TE(t, e, n) { + const o = snt(t) ? t : () => t, + r = dF(e), + i = dF(n) + return (s, a) => (o(s, a) ? r(s, a) : i(s, a)) +} +function gRt(t, e, n, o) { + t.bind(e[n], o) +} +function vRt(t, e, n, o) { + const r = Object.create(o) + ;(r.index = n), (r.length = e.length), t.bind(e[n], r) +} +class bRt { + constructor(e, n, o, r, i, s) { + ;(this.location = e), + (this.itemsBinding = n), + (this.templateBinding = r), + (this.options = s), + (this.source = null), + (this.views = []), + (this.items = null), + (this.itemsObserver = null), + (this.originalContext = void 0), + (this.childContext = void 0), + (this.bindView = gRt), + (this.itemsBindingObserver = An.binding(n, this, o)), + (this.templateBindingObserver = An.binding(r, this, i)), + s.positioning && (this.bindView = vRt) + } + bind(e, n) { + ;(this.source = e), + (this.originalContext = n), + (this.childContext = Object.create(n)), + (this.childContext.parent = e), + (this.childContext.parentContext = this.originalContext), + (this.items = this.itemsBindingObserver.observe(e, this.originalContext)), + (this.template = this.templateBindingObserver.observe(e, this.originalContext)), + this.observeItems(!0), + this.refreshAllViews() + } + unbind() { + ;(this.source = null), + (this.items = null), + this.itemsObserver !== null && this.itemsObserver.unsubscribe(this), + this.unbindAllViews(), + this.itemsBindingObserver.disconnect(), + this.templateBindingObserver.disconnect() + } + handleChange(e, n) { + e === this.itemsBinding + ? ((this.items = this.itemsBindingObserver.observe(this.source, this.originalContext)), + this.observeItems(), + this.refreshAllViews()) + : e === this.templateBinding + ? ((this.template = this.templateBindingObserver.observe(this.source, this.originalContext)), + this.refreshAllViews(!0)) + : this.updateViews(n) + } + observeItems(e = !1) { + if (!this.items) { + this.items = wp + return + } + const n = this.itemsObserver, + o = (this.itemsObserver = An.getNotifier(this.items)), + r = n !== o + r && n !== null && n.unsubscribe(this), (r || e) && o.subscribe(this) + } + updateViews(e) { + const n = this.childContext, + o = this.views, + r = this.bindView, + i = this.items, + s = this.template, + a = this.options.recycle, + c = [] + let d = 0, + u = 0 + for (let m = 0, f = e.length; m < f; ++m) { + const g = e[m], + b = g.removed + let v = 0, + w = g.index + const _ = w + g.addedCount, + y = o.splice(g.index, b.length), + C = (u = c.length + y.length) + for (; w < _; ++w) { + const S = o[w], + P = S ? S.firstChild : this.location + let R + a && u > 0 ? (v <= C && y.length > 0 ? ((R = y[v]), v++) : ((R = c[d]), d++), u--) : (R = s.create()), + o.splice(w, 0, R), + r(R, i, w, n), + R.insertBefore(P) + } + y[v] && c.push(...y.slice(v)) + } + for (let m = d, f = c.length; m < f; ++m) c[m].dispose() + if (this.options.positioning) + for (let m = 0, f = o.length; m < f; ++m) { + const g = o[m].context + ;(g.length = f), (g.index = m) + } + } + refreshAllViews(e = !1) { + const n = this.items, + o = this.childContext, + r = this.template, + i = this.location, + s = this.bindView + let a = n.length, + c = this.views, + d = c.length + if (((a === 0 || e || !this.options.recycle) && (Gtt.disposeContiguousBatch(c), (d = 0)), d === 0)) { + this.views = c = new Array(a) + for (let u = 0; u < a; ++u) { + const m = r.create() + s(m, n, u, o), (c[u] = m), m.insertBefore(i) + } + } else { + let u = 0 + for (; u < a; ++u) + if (u < d) { + const f = c[u] + s(f, n, u, o) + } else { + const f = r.create() + s(f, n, u, o), c.push(f), f.insertBefore(i) + } + const m = c.splice(u, d - u) + for (u = 0, a = m.length; u < a; ++u) m[u].dispose() + } + } + unbindAllViews() { + const e = this.views + for (let n = 0, o = e.length; n < o; ++n) e[n].unbind() + } +} +class ant extends Z_ { + constructor(e, n, o) { + super(), + (this.itemsBinding = e), + (this.templateBinding = n), + (this.options = o), + (this.createPlaceholder = In.createBlockPlaceholder), + mRt(), + (this.isItemsBindingVolatile = An.isVolatileBinding(e)), + (this.isTemplateBindingVolatile = An.isVolatileBinding(n)) + } + createBehavior(e) { + return new bRt( + e, + this.itemsBinding, + this.isItemsBindingVolatile, + this.templateBinding, + this.isTemplateBindingVolatile, + this.options, + ) + } +} +function IE(t) { + return t + ? function (e, n, o) { + return e.nodeType === 1 && e.matches(t) + } + : function (e, n, o) { + return e.nodeType === 1 + } +} +class lnt { + constructor(e, n) { + ;(this.target = e), (this.options = n), (this.source = null) + } + bind(e) { + const n = this.options.property + ;(this.shouldUpdate = An.getAccessors(e).some((o) => o.name === n)), + (this.source = e), + this.updateTarget(this.computeNodes()), + this.shouldUpdate && this.observe() + } + unbind() { + this.updateTarget(wp), (this.source = null), this.shouldUpdate && this.disconnect() + } + handleEvent() { + this.updateTarget(this.computeNodes()) + } + computeNodes() { + let e = this.getNodes() + return this.options.filter !== void 0 && (e = e.filter(this.options.filter)), e + } + updateTarget(e) { + this.source[this.options.property] = e + } +} +class yRt extends lnt { + constructor(e, n) { + super(e, n) + } + observe() { + this.target.addEventListener("slotchange", this) + } + disconnect() { + this.target.removeEventListener("slotchange", this) + } + getNodes() { + return this.target.assignedNodes(this.options) + } +} +function fa(t) { + return typeof t == "string" && (t = { property: t }), new CE("fast-slotted", yRt, t) +} +class kRt extends lnt { + constructor(e, n) { + super(e, n), (this.observer = null), (n.childList = !0) + } + observe() { + this.observer === null && (this.observer = new MutationObserver(this.handleEvent.bind(this))), + this.observer.observe(this.target, this.options) + } + disconnect() { + this.observer.disconnect() + } + getNodes() { + return "subtree" in this.options + ? Array.from(this.target.querySelectorAll(this.options.selector)) + : Array.from(this.target.childNodes) + } +} +function cnt(t) { + return typeof t == "string" && (t = { property: t }), new CE("fast-children", kRt, t) +} +class ff { + handleStartContentChange() { + this.startContainer.classList.toggle("start", this.start.assignedNodes().length > 0) + } + handleEndContentChange() { + this.endContainer.classList.toggle("end", this.end.assignedNodes().length > 0) + } +} +const gf = (t, e) => Gn` + <span + part="end" + ${Oi("endContainer")} + class=${(n) => (e.end ? "end" : void 0)} + > + <slot name="end" ${Oi("end")} @slotchange="${(n) => n.handleEndContentChange()}"> + ${e.end || ""} + </slot> + </span> +`, + vf = (t, e) => Gn` + <span + part="start" + ${Oi("startContainer")} + class="${(n) => (e.start ? "start" : void 0)}" + > + <slot + name="start" + ${Oi("start")} + @slotchange="${(n) => n.handleStartContentChange()}" + > + ${e.start || ""} + </slot> + </span> +` +Gn` + <span part="end" ${Oi("endContainer")}> + <slot + name="end" + ${Oi("end")} + @slotchange="${(t) => t.handleEndContentChange()}" + ></slot> + </span> +` +Gn` + <span part="start" ${Oi("startContainer")}> + <slot + name="start" + ${Oi("start")} + @slotchange="${(t) => t.handleStartContentChange()}" + ></slot> + </span> +` +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ function he(t, e, n, o) { + var r = arguments.length, + i = r < 3 ? e : o === null ? (o = Object.getOwnPropertyDescriptor(e, n)) : o, + s + if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(t, e, n, o) + else for (var a = t.length - 1; a >= 0; a--) (s = t[a]) && (i = (r < 3 ? s(i) : r > 3 ? s(e, n, i) : s(e, n)) || i) + return r > 3 && i && Object.defineProperty(e, n, i), i +} +const LA = new Map() +"metadata" in Reflect || + ((Reflect.metadata = function (t, e) { + return function (n) { + Reflect.defineMetadata(t, e, n) + } + }), + (Reflect.defineMetadata = function (t, e, n) { + let o = LA.get(n) + o === void 0 && LA.set(n, (o = new Map())), o.set(t, e) + }), + (Reflect.getOwnMetadata = function (t, e) { + const n = LA.get(e) + if (n !== void 0) return n.get(t) + })) +class xRt { + constructor(e, n) { + ;(this.container = e), (this.key = n) + } + instance(e) { + return this.registerResolver(0, e) + } + singleton(e) { + return this.registerResolver(1, e) + } + transient(e) { + return this.registerResolver(2, e) + } + callback(e) { + return this.registerResolver(3, e) + } + cachedCallback(e) { + return this.registerResolver(3, unt(e)) + } + aliasTo(e) { + return this.registerResolver(5, e) + } + registerResolver(e, n) { + const { container: o, key: r } = this + return (this.container = this.key = void 0), o.registerResolver(r, new ra(r, e, n)) + } +} +function Dg(t) { + const e = t.slice(), + n = Object.keys(t), + o = n.length + let r + for (let i = 0; i < o; ++i) (r = n[i]), pnt(r) || (e[r] = t[r]) + return e +} +const wRt = Object.freeze({ + none(t) { + throw Error(`${t.toString()} not registered, did you forget to add @singleton()?`) + }, + singleton(t) { + return new ra(t, 1, t) + }, + transient(t) { + return new ra(t, 2, t) + }, + }), + DA = Object.freeze({ + default: Object.freeze({ + parentLocator: () => null, + responsibleForOwnerRequests: !1, + defaultResolver: wRt.singleton, + }), + }), + uF = new Map() +function pF(t) { + return (e) => Reflect.getOwnMetadata(t, e) +} +let mF = null +const Wo = Object.freeze({ + createContainer(t) { + return new Sv(null, Object.assign({}, DA.default, t)) + }, + findResponsibleContainer(t) { + const e = t.$$container$$ + return e && e.responsibleForOwnerRequests ? e : Wo.findParentContainer(t) + }, + findParentContainer(t) { + const e = new CustomEvent(dnt, { bubbles: !0, composed: !0, cancelable: !0, detail: { container: void 0 } }) + return t.dispatchEvent(e), e.detail.container || Wo.getOrCreateDOMContainer() + }, + getOrCreateDOMContainer(t, e) { + return t + ? t.$$container$$ || + new Sv(t, Object.assign({}, DA.default, e, { parentLocator: Wo.findParentContainer })) + : mF || (mF = new Sv(null, Object.assign({}, DA.default, e, { parentLocator: () => null }))) + }, + getDesignParamtypes: pF("design:paramtypes"), + getAnnotationParamtypes: pF("di:paramtypes"), + getOrCreateAnnotationParamTypes(t) { + let e = this.getAnnotationParamtypes(t) + return e === void 0 && Reflect.defineMetadata("di:paramtypes", (e = []), t), e + }, + getDependencies(t) { + let e = uF.get(t) + if (e === void 0) { + const n = t.inject + if (n === void 0) { + const o = Wo.getDesignParamtypes(t), + r = Wo.getAnnotationParamtypes(t) + if (o === void 0) + if (r === void 0) { + const i = Object.getPrototypeOf(t) + typeof i == "function" && i !== Function.prototype + ? (e = Dg(Wo.getDependencies(i))) + : (e = []) + } else e = Dg(r) + else if (r === void 0) e = Dg(o) + else { + e = Dg(o) + let i = r.length, + s + for (let d = 0; d < i; ++d) (s = r[d]), s !== void 0 && (e[d] = s) + const a = Object.keys(r) + i = a.length + let c + for (let d = 0; d < i; ++d) (c = a[d]), pnt(c) || (e[c] = r[c]) + } + } else e = Dg(n) + uF.set(t, e) + } + return e + }, + defineProperty(t, e, n, o = !1) { + const r = `$di_${e}` + Reflect.defineProperty(t, e, { + get: function () { + let i = this[r] + if ( + i === void 0 && + ((i = ( + this instanceof HTMLElement + ? Wo.findResponsibleContainer(this) + : Wo.getOrCreateDOMContainer() + ).get(n)), + (this[r] = i), + o && this instanceof Y_) + ) { + const a = this.$fastController, + c = () => { + const u = Wo.findResponsibleContainer(this).get(n), + m = this[r] + u !== m && ((this[r] = i), a.notify(e)) + } + a.subscribe({ handleChange: c }, "isConnected") + } + return i + }, + }) + }, + createInterface(t, e) { + const n = typeof t == "function" ? t : e, + o = typeof t == "string" ? t : (t && "friendlyName" in t && t.friendlyName) || vF, + r = typeof t == "string" ? !1 : (t && "respectConnection" in t && t.respectConnection) || !1, + i = function (s, a, c) { + if (s == null || new.target !== void 0) + throw new Error(`No registration for interface: '${i.friendlyName}'`) + if (a) Wo.defineProperty(s, a, i, r) + else { + const d = Wo.getOrCreateAnnotationParamTypes(s) + d[c] = i + } + } + return ( + (i.$isInterface = !0), + (i.friendlyName = o ?? "(anonymous)"), + n != null && + (i.register = function (s, a) { + return n(new xRt(s, a ?? i)) + }), + (i.toString = function () { + return `InterfaceSymbol<${i.friendlyName}>` + }), + i + ) + }, + inject(...t) { + return function (e, n, o) { + if (typeof o == "number") { + const r = Wo.getOrCreateAnnotationParamTypes(e), + i = t[0] + i !== void 0 && (r[o] = i) + } else if (n) Wo.defineProperty(e, n, t[0]) + else { + const r = o ? Wo.getOrCreateAnnotationParamTypes(o.value) : Wo.getOrCreateAnnotationParamTypes(e) + let i + for (let s = 0; s < t.length; ++s) (i = t[s]), i !== void 0 && (r[s] = i) + } + } + }, + transient(t) { + return ( + (t.register = function (n) { + return tb.transient(t, t).register(n) + }), + (t.registerInRequestor = !1), + t + ) + }, + singleton(t, e = CRt) { + return ( + (t.register = function (o) { + return tb.singleton(t, t).register(o) + }), + (t.registerInRequestor = e.scoped), + t + ) + }, + }), + _Rt = Wo.createInterface("Container") +Wo.inject +const CRt = { scoped: !1 } +class ra { + constructor(e, n, o) { + ;(this.key = e), (this.strategy = n), (this.state = o), (this.resolving = !1) + } + get $isResolver() { + return !0 + } + register(e) { + return e.registerResolver(this.key, this) + } + resolve(e, n) { + switch (this.strategy) { + case 0: + return this.state + case 1: { + if (this.resolving) throw new Error(`Cyclic dependency found: ${this.state.name}`) + return ( + (this.resolving = !0), + (this.state = e.getFactory(this.state).construct(n)), + (this.strategy = 0), + (this.resolving = !1), + this.state + ) + } + case 2: { + const o = e.getFactory(this.state) + if (o === null) throw new Error(`Resolver for ${String(this.key)} returned a null factory`) + return o.construct(n) + } + case 3: + return this.state(e, n, this) + case 4: + return this.state[0].resolve(e, n) + case 5: + return n.get(this.state) + default: + throw new Error(`Invalid resolver strategy specified: ${this.strategy}.`) + } + } + getFactory(e) { + var n, o, r + switch (this.strategy) { + case 1: + case 2: + return e.getFactory(this.state) + case 5: + return (r = + (o = (n = e.getResolver(this.state)) === null || n === void 0 ? void 0 : n.getFactory) === null || + o === void 0 + ? void 0 + : o.call(n, e)) !== null && r !== void 0 + ? r + : null + default: + return null + } + } +} +function hF(t) { + return this.get(t) +} +function SRt(t, e) { + return e(t) +} +class ARt { + constructor(e, n) { + ;(this.Type = e), (this.dependencies = n), (this.transformers = null) + } + construct(e, n) { + let o + return ( + n === void 0 + ? (o = new this.Type(...this.dependencies.map(hF, e))) + : (o = new this.Type(...this.dependencies.map(hF, e), ...n)), + this.transformers == null ? o : this.transformers.reduce(SRt, o) + ) + } + registerTransformer(e) { + ;(this.transformers || (this.transformers = [])).push(e) + } +} +const PRt = { + $isResolver: !0, + resolve(t, e) { + return e + }, +} +function Ix(t) { + return typeof t.register == "function" +} +function RRt(t) { + return Ix(t) && typeof t.registerInRequestor == "boolean" +} +function fF(t) { + return RRt(t) && t.registerInRequestor +} +function TRt(t) { + return t.prototype !== void 0 +} +const IRt = new Set([ + "Array", + "ArrayBuffer", + "Boolean", + "DataView", + "Date", + "Error", + "EvalError", + "Float32Array", + "Float64Array", + "Function", + "Int8Array", + "Int16Array", + "Int32Array", + "Map", + "Number", + "Object", + "Promise", + "RangeError", + "ReferenceError", + "RegExp", + "Set", + "SharedArrayBuffer", + "String", + "SyntaxError", + "TypeError", + "Uint8Array", + "Uint8ClampedArray", + "Uint16Array", + "Uint32Array", + "URIError", + "WeakMap", + "WeakSet", + ]), + dnt = "__DI_LOCATE_PARENT__", + NA = new Map() +class Sv { + constructor(e, n) { + ;(this.owner = e), + (this.config = n), + (this._parent = void 0), + (this.registerDepth = 0), + (this.context = null), + e !== null && (e.$$container$$ = this), + (this.resolvers = new Map()), + this.resolvers.set(_Rt, PRt), + e instanceof Node && + e.addEventListener(dnt, (o) => { + o.composedPath()[0] !== this.owner && ((o.detail.container = this), o.stopImmediatePropagation()) + }) + } + get parent() { + return this._parent === void 0 && (this._parent = this.config.parentLocator(this.owner)), this._parent + } + get depth() { + return this.parent === null ? 0 : this.parent.depth + 1 + } + get responsibleForOwnerRequests() { + return this.config.responsibleForOwnerRequests + } + registerWithContext(e, ...n) { + return (this.context = e), this.register(...n), (this.context = null), this + } + register(...e) { + if (++this.registerDepth === 100) throw new Error("Unable to autoregister dependency") + let n, o, r, i, s + const a = this.context + for (let c = 0, d = e.length; c < d; ++c) + if (((n = e[c]), !!bF(n))) + if (Ix(n)) n.register(this, a) + else if (TRt(n)) tb.singleton(n, n).register(this) + else + for (o = Object.keys(n), i = 0, s = o.length; i < s; ++i) + (r = n[o[i]]), bF(r) && (Ix(r) ? r.register(this, a) : this.register(r)) + return --this.registerDepth, this + } + registerResolver(e, n) { + zk(e) + const o = this.resolvers, + r = o.get(e) + return ( + r == null + ? o.set(e, n) + : r instanceof ra && r.strategy === 4 + ? r.state.push(n) + : o.set(e, new ra(e, 4, [r, n])), + n + ) + } + registerTransformer(e, n) { + const o = this.getResolver(e) + if (o == null) return !1 + if (o.getFactory) { + const r = o.getFactory(this) + return r == null ? !1 : (r.registerTransformer(n), !0) + } + return !1 + } + getResolver(e, n = !0) { + if ((zk(e), e.resolve !== void 0)) return e + let o = this, + r + for (; o != null; ) + if (((r = o.resolvers.get(e)), r == null)) { + if (o.parent == null) { + const i = fF(e) ? this : o + return n ? this.jitRegister(e, i) : null + } + o = o.parent + } else return r + return null + } + has(e, n = !1) { + return this.resolvers.has(e) ? !0 : n && this.parent != null ? this.parent.has(e, !0) : !1 + } + get(e) { + if ((zk(e), e.$isResolver)) return e.resolve(this, this) + let n = this, + o + for (; n != null; ) + if (((o = n.resolvers.get(e)), o == null)) { + if (n.parent == null) { + const r = fF(e) ? this : n + return (o = this.jitRegister(e, r)), o.resolve(n, this) + } + n = n.parent + } else return o.resolve(n, this) + throw new Error(`Unable to resolve key: ${String(e)}`) + } + getAll(e, n = !1) { + zk(e) + const o = this + let r = o, + i + if (n) { + let s = wp + for (; r != null; ) (i = r.resolvers.get(e)), i != null && (s = s.concat(gF(i, r, o))), (r = r.parent) + return s + } else + for (; r != null; ) + if (((i = r.resolvers.get(e)), i == null)) { + if (((r = r.parent), r == null)) return wp + } else return gF(i, r, o) + return wp + } + getFactory(e) { + let n = NA.get(e) + if (n === void 0) { + if (MRt(e)) + throw new Error( + `${e.name} is a native function and therefore cannot be safely constructed by DI. If this is intentional, please use a callback or cachedCallback resolver.`, + ) + NA.set(e, (n = new ARt(e, Wo.getDependencies(e)))) + } + return n + } + registerFactory(e, n) { + NA.set(e, n) + } + createChild(e) { + return new Sv(null, Object.assign({}, this.config, e, { parentLocator: () => this })) + } + jitRegister(e, n) { + if (typeof e != "function") + throw new Error( + `Attempted to jitRegister something that is not a constructor: '${e}'. Did you forget to register this dependency?`, + ) + if (IRt.has(e.name)) + throw new Error(`Attempted to jitRegister an intrinsic type: ${e.name}. Did you forget to add @inject(Key)`) + if (Ix(e)) { + const o = e.register(n) + if (!(o instanceof Object) || o.resolve == null) { + const r = n.resolvers.get(e) + if (r != null) return r + throw new Error("A valid resolver was not returned from the static register method") + } + return o + } else { + if (e.$isInterface) throw new Error(`Attempted to jitRegister an interface: ${e.friendlyName}`) + { + const o = this.config.defaultResolver(e, n) + return n.resolvers.set(e, o), o + } + } + } +} +const OA = new WeakMap() +function unt(t) { + return function (e, n, o) { + if (OA.has(o)) return OA.get(o) + const r = t(e, n, o) + return OA.set(o, r), r + } +} +const tb = Object.freeze({ + instance(t, e) { + return new ra(t, 0, e) + }, + singleton(t, e) { + return new ra(t, 1, e) + }, + transient(t, e) { + return new ra(t, 2, e) + }, + callback(t, e) { + return new ra(t, 3, e) + }, + cachedCallback(t, e) { + return new ra(t, 3, unt(e)) + }, + aliasTo(t, e) { + return new ra(e, 5, t) + }, +}) +function zk(t) { + if (t == null) + throw new Error( + "key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?", + ) +} +function gF(t, e, n) { + if (t instanceof ra && t.strategy === 4) { + const o = t.state + let r = o.length + const i = new Array(r) + for (; r--; ) i[r] = o[r].resolve(e, n) + return i + } + return [t.resolve(e, n)] +} +const vF = "(anonymous)" +function bF(t) { + return (typeof t == "object" && t !== null) || typeof t == "function" +} +const MRt = (function () { + const t = new WeakMap() + let e = !1, + n = "", + o = 0 + return function (r) { + return ( + (e = t.get(r)), + e === void 0 && + ((n = r.toString()), + (o = n.length), + (e = + o >= 29 && + o <= 100 && + n.charCodeAt(o - 1) === 125 && + n.charCodeAt(o - 2) <= 32 && + n.charCodeAt(o - 3) === 93 && + n.charCodeAt(o - 4) === 101 && + n.charCodeAt(o - 5) === 100 && + n.charCodeAt(o - 6) === 111 && + n.charCodeAt(o - 7) === 99 && + n.charCodeAt(o - 8) === 32 && + n.charCodeAt(o - 9) === 101 && + n.charCodeAt(o - 10) === 118 && + n.charCodeAt(o - 11) === 105 && + n.charCodeAt(o - 12) === 116 && + n.charCodeAt(o - 13) === 97 && + n.charCodeAt(o - 14) === 110 && + n.charCodeAt(o - 15) === 88), + t.set(r, e)), + e + ) + } + })(), + $k = {} +function pnt(t) { + switch (typeof t) { + case "number": + return t >= 0 && (t | 0) === t + case "string": { + const e = $k[t] + if (e !== void 0) return e + const n = t.length + if (n === 0) return ($k[t] = !1) + let o = 0 + for (let r = 0; r < n; ++r) + if (((o = t.charCodeAt(r)), (r === 0 && o === 48 && n > 1) || o < 48 || o > 57)) return ($k[t] = !1) + return ($k[t] = !0) + } + default: + return !1 + } +} +function yF(t) { + return `${t.toLowerCase()}:presentation` +} +const Lk = new Map(), + mnt = Object.freeze({ + define(t, e, n) { + const o = yF(t) + Lk.get(o) === void 0 ? Lk.set(o, e) : Lk.set(o, !1), n.register(tb.instance(o, e)) + }, + forTag(t, e) { + const n = yF(t), + o = Lk.get(n) + return o === !1 ? Wo.findResponsibleContainer(e).get(n) : o || null + }, + }) +class jRt { + constructor(e, n) { + ;(this.template = e || null), + (this.styles = n === void 0 ? null : Array.isArray(n) ? ls.create(n) : n instanceof ls ? n : ls.create([n])) + } + applyTo(e) { + const n = e.$fastController + n.template === null && (n.template = this.template), n.styles === null && (n.styles = this.styles) + } +} +class No extends Y_ { + constructor() { + super(...arguments), (this._presentation = void 0) + } + get $presentation() { + return ( + this._presentation === void 0 && (this._presentation = mnt.forTag(this.tagName, this)), this._presentation + ) + } + templateChanged() { + this.template !== void 0 && (this.$fastController.template = this.template) + } + stylesChanged() { + this.styles !== void 0 && (this.$fastController.styles = this.styles) + } + connectedCallback() { + this.$presentation !== null && this.$presentation.applyTo(this), super.connectedCallback() + } + static compose(e) { + return (n = {}) => new hnt(this === No ? class extends No {} : this, e, n) + } +} +he([yt], No.prototype, "template", void 0) +he([yt], No.prototype, "styles", void 0) +function Ng(t, e, n) { + return typeof t == "function" ? t(e, n) : t +} +class hnt { + constructor(e, n, o) { + ;(this.type = e), + (this.elementDefinition = n), + (this.overrideDefinition = o), + (this.definition = Object.assign(Object.assign({}, this.elementDefinition), this.overrideDefinition)) + } + register(e, n) { + const o = this.definition, + r = this.overrideDefinition, + s = `${o.prefix || n.elementPrefix}-${o.baseName}` + n.tryDefineElement({ + name: s, + type: this.type, + baseClass: this.elementDefinition.baseClass, + callback: (a) => { + const c = new jRt(Ng(o.template, a, o), Ng(o.styles, a, o)) + a.definePresentation(c) + let d = Ng(o.shadowOptions, a, o) + a.shadowRootMode && + (d + ? r.shadowOptions || (d.mode = a.shadowRootMode) + : d !== null && (d = { mode: a.shadowRootMode })), + a.defineElement({ + elementOptions: Ng(o.elementOptions, a, o), + shadowOptions: d, + attributes: Ng(o.attributes, a, o), + }) + }, + }) + } +} +function ms(t, ...e) { + const n = Uw.locate(t) + e.forEach((o) => { + Object.getOwnPropertyNames(o.prototype).forEach((i) => { + i !== "constructor" && + Object.defineProperty(t.prototype, i, Object.getOwnPropertyDescriptor(o.prototype, i)) + }), + Uw.locate(o).forEach((i) => n.push(i)) + }) +} +const ME = { horizontal: "horizontal" } +function ERt(t, e) { + let n = t.length + for (; n--; ) if (e(t[n], n, t)) return n + return -1 +} +function zRt() { + return !!(typeof window < "u" && window.document && window.document.createElement) +} +function $Rt(...t) { + return t.every((e) => e instanceof HTMLElement) +} +function LRt() { + const t = document.querySelector('meta[property="csp-nonce"]') + return t ? t.getAttribute("content") : null +} +let Vu +function DRt() { + if (typeof Vu == "boolean") return Vu + if (!zRt()) return (Vu = !1), Vu + const t = document.createElement("style"), + e = LRt() + e !== null && t.setAttribute("nonce", e), document.head.appendChild(t) + try { + t.sheet.insertRule("foo:focus-visible {color:inherit}", 0), (Vu = !0) + } catch { + Vu = !1 + } finally { + document.head.removeChild(t) + } + return Vu +} +const kF = "focus", + xF = "focusin", + Hh = "focusout", + Gh = "keydown" +var wF +;(function (t) { + ;(t[(t.alt = 18)] = "alt"), + (t[(t.arrowDown = 40)] = "arrowDown"), + (t[(t.arrowLeft = 37)] = "arrowLeft"), + (t[(t.arrowRight = 39)] = "arrowRight"), + (t[(t.arrowUp = 38)] = "arrowUp"), + (t[(t.back = 8)] = "back"), + (t[(t.backSlash = 220)] = "backSlash"), + (t[(t.break = 19)] = "break"), + (t[(t.capsLock = 20)] = "capsLock"), + (t[(t.closeBracket = 221)] = "closeBracket"), + (t[(t.colon = 186)] = "colon"), + (t[(t.colon2 = 59)] = "colon2"), + (t[(t.comma = 188)] = "comma"), + (t[(t.ctrl = 17)] = "ctrl"), + (t[(t.delete = 46)] = "delete"), + (t[(t.end = 35)] = "end"), + (t[(t.enter = 13)] = "enter"), + (t[(t.equals = 187)] = "equals"), + (t[(t.equals2 = 61)] = "equals2"), + (t[(t.equals3 = 107)] = "equals3"), + (t[(t.escape = 27)] = "escape"), + (t[(t.forwardSlash = 191)] = "forwardSlash"), + (t[(t.function1 = 112)] = "function1"), + (t[(t.function10 = 121)] = "function10"), + (t[(t.function11 = 122)] = "function11"), + (t[(t.function12 = 123)] = "function12"), + (t[(t.function2 = 113)] = "function2"), + (t[(t.function3 = 114)] = "function3"), + (t[(t.function4 = 115)] = "function4"), + (t[(t.function5 = 116)] = "function5"), + (t[(t.function6 = 117)] = "function6"), + (t[(t.function7 = 118)] = "function7"), + (t[(t.function8 = 119)] = "function8"), + (t[(t.function9 = 120)] = "function9"), + (t[(t.home = 36)] = "home"), + (t[(t.insert = 45)] = "insert"), + (t[(t.menu = 93)] = "menu"), + (t[(t.minus = 189)] = "minus"), + (t[(t.minus2 = 109)] = "minus2"), + (t[(t.numLock = 144)] = "numLock"), + (t[(t.numPad0 = 96)] = "numPad0"), + (t[(t.numPad1 = 97)] = "numPad1"), + (t[(t.numPad2 = 98)] = "numPad2"), + (t[(t.numPad3 = 99)] = "numPad3"), + (t[(t.numPad4 = 100)] = "numPad4"), + (t[(t.numPad5 = 101)] = "numPad5"), + (t[(t.numPad6 = 102)] = "numPad6"), + (t[(t.numPad7 = 103)] = "numPad7"), + (t[(t.numPad8 = 104)] = "numPad8"), + (t[(t.numPad9 = 105)] = "numPad9"), + (t[(t.numPadDivide = 111)] = "numPadDivide"), + (t[(t.numPadDot = 110)] = "numPadDot"), + (t[(t.numPadMinus = 109)] = "numPadMinus"), + (t[(t.numPadMultiply = 106)] = "numPadMultiply"), + (t[(t.numPadPlus = 107)] = "numPadPlus"), + (t[(t.openBracket = 219)] = "openBracket"), + (t[(t.pageDown = 34)] = "pageDown"), + (t[(t.pageUp = 33)] = "pageUp"), + (t[(t.period = 190)] = "period"), + (t[(t.print = 44)] = "print"), + (t[(t.quote = 222)] = "quote"), + (t[(t.scrollLock = 145)] = "scrollLock"), + (t[(t.shift = 16)] = "shift"), + (t[(t.space = 32)] = "space"), + (t[(t.tab = 9)] = "tab"), + (t[(t.tilde = 192)] = "tilde"), + (t[(t.windowsLeft = 91)] = "windowsLeft"), + (t[(t.windowsOpera = 219)] = "windowsOpera"), + (t[(t.windowsRight = 92)] = "windowsRight") +})(wF || (wF = {})) +const Vp = "ArrowDown", + nb = "ArrowLeft", + ob = "ArrowRight", + Hp = "ArrowUp", + Fb = "Enter", + X_ = "Escape", + bf = "Home", + yf = "End", + NRt = "F2", + ORt = "PageDown", + FRt = "PageUp", + Bb = " ", + jE = "Tab", + BRt = { ArrowDown: Vp, ArrowLeft: nb, ArrowRight: ob, ArrowUp: Hp } +var Qh +;(function (t) { + ;(t.ltr = "ltr"), (t.rtl = "rtl") +})(Qh || (Qh = {})) +function URt(t, e, n) { + return Math.min(Math.max(n, t), e) +} +function Dk(t, e, n = 0) { + return ([e, n] = [e, n].sort((o, r) => o - r)), e <= t && t < n +} +let qRt = 0 +function Ww(t = "") { + return `${t}${qRt++}` +} +const WRt = (t, e) => Gn` + <a + class="control" + part="control" + download="${(n) => n.download}" + href="${(n) => n.href}" + hreflang="${(n) => n.hreflang}" + ping="${(n) => n.ping}" + referrerpolicy="${(n) => n.referrerpolicy}" + rel="${(n) => n.rel}" + target="${(n) => n.target}" + type="${(n) => n.type}" + aria-atomic="${(n) => n.ariaAtomic}" + aria-busy="${(n) => n.ariaBusy}" + aria-controls="${(n) => n.ariaControls}" + aria-current="${(n) => n.ariaCurrent}" + aria-describedby="${(n) => n.ariaDescribedby}" + aria-details="${(n) => n.ariaDetails}" + aria-disabled="${(n) => n.ariaDisabled}" + aria-errormessage="${(n) => n.ariaErrormessage}" + aria-expanded="${(n) => n.ariaExpanded}" + aria-flowto="${(n) => n.ariaFlowto}" + aria-haspopup="${(n) => n.ariaHaspopup}" + aria-hidden="${(n) => n.ariaHidden}" + aria-invalid="${(n) => n.ariaInvalid}" + aria-keyshortcuts="${(n) => n.ariaKeyshortcuts}" + aria-label="${(n) => n.ariaLabel}" + aria-labelledby="${(n) => n.ariaLabelledby}" + aria-live="${(n) => n.ariaLive}" + aria-owns="${(n) => n.ariaOwns}" + aria-relevant="${(n) => n.ariaRelevant}" + aria-roledescription="${(n) => n.ariaRoledescription}" + ${Oi("control")} + > + ${vf(t, e)} + <span class="content" part="content"> + <slot ${fa("defaultSlottedContent")}></slot> + </span> + ${gf(t, e)} + </a> +` +class Oo {} +he([Le({ attribute: "aria-atomic" })], Oo.prototype, "ariaAtomic", void 0) +he([Le({ attribute: "aria-busy" })], Oo.prototype, "ariaBusy", void 0) +he([Le({ attribute: "aria-controls" })], Oo.prototype, "ariaControls", void 0) +he([Le({ attribute: "aria-current" })], Oo.prototype, "ariaCurrent", void 0) +he([Le({ attribute: "aria-describedby" })], Oo.prototype, "ariaDescribedby", void 0) +he([Le({ attribute: "aria-details" })], Oo.prototype, "ariaDetails", void 0) +he([Le({ attribute: "aria-disabled" })], Oo.prototype, "ariaDisabled", void 0) +he([Le({ attribute: "aria-errormessage" })], Oo.prototype, "ariaErrormessage", void 0) +he([Le({ attribute: "aria-flowto" })], Oo.prototype, "ariaFlowto", void 0) +he([Le({ attribute: "aria-haspopup" })], Oo.prototype, "ariaHaspopup", void 0) +he([Le({ attribute: "aria-hidden" })], Oo.prototype, "ariaHidden", void 0) +he([Le({ attribute: "aria-invalid" })], Oo.prototype, "ariaInvalid", void 0) +he([Le({ attribute: "aria-keyshortcuts" })], Oo.prototype, "ariaKeyshortcuts", void 0) +he([Le({ attribute: "aria-label" })], Oo.prototype, "ariaLabel", void 0) +he([Le({ attribute: "aria-labelledby" })], Oo.prototype, "ariaLabelledby", void 0) +he([Le({ attribute: "aria-live" })], Oo.prototype, "ariaLive", void 0) +he([Le({ attribute: "aria-owns" })], Oo.prototype, "ariaOwns", void 0) +he([Le({ attribute: "aria-relevant" })], Oo.prototype, "ariaRelevant", void 0) +he([Le({ attribute: "aria-roledescription" })], Oo.prototype, "ariaRoledescription", void 0) +let sl = class extends No { + constructor() { + super(...arguments), + (this.handleUnsupportedDelegatesFocus = () => { + var e + window.ShadowRoot && + !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") && + !((e = this.$fastController.definition.shadowOptions) === null || e === void 0) && + e.delegatesFocus && + (this.focus = () => { + var n + ;(n = this.control) === null || n === void 0 || n.focus() + }) + }) + } + connectedCallback() { + super.connectedCallback(), this.handleUnsupportedDelegatesFocus() + } +} +he([Le], sl.prototype, "download", void 0) +he([Le], sl.prototype, "href", void 0) +he([Le], sl.prototype, "hreflang", void 0) +he([Le], sl.prototype, "ping", void 0) +he([Le], sl.prototype, "referrerpolicy", void 0) +he([Le], sl.prototype, "rel", void 0) +he([Le], sl.prototype, "target", void 0) +he([Le], sl.prototype, "type", void 0) +he([yt], sl.prototype, "defaultSlottedContent", void 0) +class EE {} +he([Le({ attribute: "aria-expanded" })], EE.prototype, "ariaExpanded", void 0) +ms(EE, Oo) +ms(sl, ff, EE) +const KRt = (t) => { + const e = t.closest("[dir]") + return e !== null && e.dir === "rtl" ? Qh.rtl : Qh.ltr + }, + fnt = (t, e) => Gn` + <template class="${(n) => (n.circular ? "circular" : "")}"> + <div class="control" part="control" style="${(n) => n.generateBadgeStyle()}"> + <slot></slot> + </div> + </template> +` +let Ub = class extends No { + constructor() { + super(...arguments), + (this.generateBadgeStyle = () => { + if (!this.fill && !this.color) return + const e = `background-color: var(--badge-fill-${this.fill});`, + n = `color: var(--badge-color-${this.color});` + return this.fill && !this.color ? e : this.color && !this.fill ? n : `${n} ${e}` + }) + } +} +he([Le({ attribute: "fill" })], Ub.prototype, "fill", void 0) +he([Le({ attribute: "color" })], Ub.prototype, "color", void 0) +he([Le({ mode: "boolean" })], Ub.prototype, "circular", void 0) +const VRt = (t, e) => Gn` + <button + class="control" + part="control" + ?autofocus="${(n) => n.autofocus}" + ?disabled="${(n) => n.disabled}" + form="${(n) => n.formId}" + formaction="${(n) => n.formaction}" + formenctype="${(n) => n.formenctype}" + formmethod="${(n) => n.formmethod}" + formnovalidate="${(n) => n.formnovalidate}" + formtarget="${(n) => n.formtarget}" + name="${(n) => n.name}" + type="${(n) => n.type}" + value="${(n) => n.value}" + aria-atomic="${(n) => n.ariaAtomic}" + aria-busy="${(n) => n.ariaBusy}" + aria-controls="${(n) => n.ariaControls}" + aria-current="${(n) => n.ariaCurrent}" + aria-describedby="${(n) => n.ariaDescribedby}" + aria-details="${(n) => n.ariaDetails}" + aria-disabled="${(n) => n.ariaDisabled}" + aria-errormessage="${(n) => n.ariaErrormessage}" + aria-expanded="${(n) => n.ariaExpanded}" + aria-flowto="${(n) => n.ariaFlowto}" + aria-haspopup="${(n) => n.ariaHaspopup}" + aria-hidden="${(n) => n.ariaHidden}" + aria-invalid="${(n) => n.ariaInvalid}" + aria-keyshortcuts="${(n) => n.ariaKeyshortcuts}" + aria-label="${(n) => n.ariaLabel}" + aria-labelledby="${(n) => n.ariaLabelledby}" + aria-live="${(n) => n.ariaLive}" + aria-owns="${(n) => n.ariaOwns}" + aria-pressed="${(n) => n.ariaPressed}" + aria-relevant="${(n) => n.ariaRelevant}" + aria-roledescription="${(n) => n.ariaRoledescription}" + ${Oi("control")} + > + ${vf(t, e)} + <span class="content" part="content"> + <slot ${fa("defaultSlottedContent")}></slot> + </span> + ${gf(t, e)} + </button> +`, + _F = "form-associated-proxy", + CF = "ElementInternals", + SF = CF in window && "setFormValue" in window[CF].prototype, + AF = new WeakMap() +function qb(t) { + const e = class extends t { + constructor(...n) { + super(...n), + (this.dirtyValue = !1), + (this.disabled = !1), + (this.proxyEventsToBlock = ["change", "click"]), + (this.proxyInitialized = !1), + (this.required = !1), + (this.initialValue = this.initialValue || ""), + this.elementInternals || (this.formResetCallback = this.formResetCallback.bind(this)) + } + static get formAssociated() { + return SF + } + get validity() { + return this.elementInternals ? this.elementInternals.validity : this.proxy.validity + } + get form() { + return this.elementInternals ? this.elementInternals.form : this.proxy.form + } + get validationMessage() { + return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage + } + get willValidate() { + return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate + } + get labels() { + if (this.elementInternals) return Object.freeze(Array.from(this.elementInternals.labels)) + if (this.proxy instanceof HTMLElement && this.proxy.ownerDocument && this.id) { + const n = this.proxy.labels, + o = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`)), + r = n ? o.concat(Array.from(n)) : o + return Object.freeze(r) + } else return wp + } + valueChanged(n, o) { + ;(this.dirtyValue = !0), + this.proxy instanceof HTMLElement && (this.proxy.value = this.value), + (this.currentValue = this.value), + this.setFormValue(this.value), + this.validate() + } + currentValueChanged() { + this.value = this.currentValue + } + initialValueChanged(n, o) { + this.dirtyValue || ((this.value = this.initialValue), (this.dirtyValue = !1)) + } + disabledChanged(n, o) { + this.proxy instanceof HTMLElement && (this.proxy.disabled = this.disabled), + In.queueUpdate(() => this.classList.toggle("disabled", this.disabled)) + } + nameChanged(n, o) { + this.proxy instanceof HTMLElement && (this.proxy.name = this.name) + } + requiredChanged(n, o) { + this.proxy instanceof HTMLElement && (this.proxy.required = this.required), + In.queueUpdate(() => this.classList.toggle("required", this.required)), + this.validate() + } + get elementInternals() { + if (!SF) return null + let n = AF.get(this) + return n || ((n = this.attachInternals()), AF.set(this, n)), n + } + connectedCallback() { + super.connectedCallback(), + this.addEventListener("keypress", this._keypressHandler), + this.value || ((this.value = this.initialValue), (this.dirtyValue = !1)), + this.elementInternals || + (this.attachProxy(), this.form && this.form.addEventListener("reset", this.formResetCallback)) + } + disconnectedCallback() { + super.disconnectedCallback(), + this.proxyEventsToBlock.forEach((n) => this.proxy.removeEventListener(n, this.stopPropagation)), + !this.elementInternals && this.form && this.form.removeEventListener("reset", this.formResetCallback) + } + checkValidity() { + return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity() + } + reportValidity() { + return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity() + } + setValidity(n, o, r) { + this.elementInternals + ? this.elementInternals.setValidity(n, o, r) + : typeof o == "string" && this.proxy.setCustomValidity(o) + } + formDisabledCallback(n) { + this.disabled = n + } + formResetCallback() { + ;(this.value = this.initialValue), (this.dirtyValue = !1) + } + attachProxy() { + var n + this.proxyInitialized || + ((this.proxyInitialized = !0), + (this.proxy.style.display = "none"), + this.proxyEventsToBlock.forEach((o) => this.proxy.addEventListener(o, this.stopPropagation)), + (this.proxy.disabled = this.disabled), + (this.proxy.required = this.required), + typeof this.name == "string" && (this.proxy.name = this.name), + typeof this.value == "string" && (this.proxy.value = this.value), + this.proxy.setAttribute("slot", _F), + (this.proxySlot = document.createElement("slot")), + this.proxySlot.setAttribute("name", _F)), + (n = this.shadowRoot) === null || n === void 0 || n.appendChild(this.proxySlot), + this.appendChild(this.proxy) + } + detachProxy() { + var n + this.removeChild(this.proxy), + (n = this.shadowRoot) === null || n === void 0 || n.removeChild(this.proxySlot) + } + validate(n) { + this.proxy instanceof HTMLElement && this.setValidity(this.proxy.validity, this.proxy.validationMessage, n) + } + setFormValue(n, o) { + this.elementInternals && this.elementInternals.setFormValue(n, o || n) + } + _keypressHandler(n) { + switch (n.key) { + case Fb: + if (this.form instanceof HTMLFormElement) { + const o = this.form.querySelector("[type=submit]") + o == null || o.click() + } + break + } + } + stopPropagation(n) { + n.stopPropagation() + } + } + return ( + Le({ mode: "boolean" })(e.prototype, "disabled"), + Le({ mode: "fromView", attribute: "value" })(e.prototype, "initialValue"), + Le({ attribute: "current-value" })(e.prototype, "currentValue"), + Le(e.prototype, "name"), + Le({ mode: "boolean" })(e.prototype, "required"), + yt(e.prototype, "value"), + e + ) +} +function gnt(t) { + class e extends qb(t) {} + class n extends e { + constructor(...r) { + super(r), + (this.dirtyChecked = !1), + (this.checkedAttribute = !1), + (this.checked = !1), + (this.dirtyChecked = !1) + } + checkedAttributeChanged() { + this.defaultChecked = this.checkedAttribute + } + defaultCheckedChanged() { + this.dirtyChecked || ((this.checked = this.defaultChecked), (this.dirtyChecked = !1)) + } + checkedChanged(r, i) { + this.dirtyChecked || (this.dirtyChecked = !0), + (this.currentChecked = this.checked), + this.updateForm(), + this.proxy instanceof HTMLInputElement && (this.proxy.checked = this.checked), + r !== void 0 && this.$emit("change"), + this.validate() + } + currentCheckedChanged(r, i) { + this.checked = this.currentChecked + } + updateForm() { + const r = this.checked ? this.value : null + this.setFormValue(r, r) + } + connectedCallback() { + super.connectedCallback(), this.updateForm() + } + formResetCallback() { + super.formResetCallback(), (this.checked = !!this.checkedAttribute), (this.dirtyChecked = !1) + } + } + return ( + Le({ attribute: "checked", mode: "boolean" })(n.prototype, "checkedAttribute"), + Le({ attribute: "current-checked", converter: ent })(n.prototype, "currentChecked"), + yt(n.prototype, "defaultChecked"), + yt(n.prototype, "checked"), + n + ) +} +class HRt extends No {} +class GRt extends qb(HRt) { + constructor() { + super(...arguments), (this.proxy = document.createElement("input")) + } +} +let al = class extends GRt { + constructor() { + super(...arguments), + (this.handleClick = (e) => { + var n + this.disabled && + ((n = this.defaultSlottedContent) === null || n === void 0 ? void 0 : n.length) <= 1 && + e.stopPropagation() + }), + (this.handleSubmission = () => { + if (!this.form) return + const e = this.proxy.isConnected + e || this.attachProxy(), + typeof this.form.requestSubmit == "function" + ? this.form.requestSubmit(this.proxy) + : this.proxy.click(), + e || this.detachProxy() + }), + (this.handleFormReset = () => { + var e + ;(e = this.form) === null || e === void 0 || e.reset() + }), + (this.handleUnsupportedDelegatesFocus = () => { + var e + window.ShadowRoot && + !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") && + !((e = this.$fastController.definition.shadowOptions) === null || e === void 0) && + e.delegatesFocus && + (this.focus = () => { + this.control.focus() + }) + }) + } + formactionChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.formAction = this.formaction) + } + formenctypeChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.formEnctype = this.formenctype) + } + formmethodChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.formMethod = this.formmethod) + } + formnovalidateChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.formNoValidate = this.formnovalidate) + } + formtargetChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.formTarget = this.formtarget) + } + typeChanged(e, n) { + this.proxy instanceof HTMLInputElement && (this.proxy.type = this.type), + n === "submit" && this.addEventListener("click", this.handleSubmission), + e === "submit" && this.removeEventListener("click", this.handleSubmission), + n === "reset" && this.addEventListener("click", this.handleFormReset), + e === "reset" && this.removeEventListener("click", this.handleFormReset) + } + validate() { + super.validate(this.control) + } + connectedCallback() { + var e + super.connectedCallback(), this.proxy.setAttribute("type", this.type), this.handleUnsupportedDelegatesFocus() + const n = Array.from((e = this.control) === null || e === void 0 ? void 0 : e.children) + n && + n.forEach((o) => { + o.addEventListener("click", this.handleClick) + }) + } + disconnectedCallback() { + var e + super.disconnectedCallback() + const n = Array.from((e = this.control) === null || e === void 0 ? void 0 : e.children) + n && + n.forEach((o) => { + o.removeEventListener("click", this.handleClick) + }) + } +} +he([Le({ mode: "boolean" })], al.prototype, "autofocus", void 0) +he([Le({ attribute: "form" })], al.prototype, "formId", void 0) +he([Le], al.prototype, "formaction", void 0) +he([Le], al.prototype, "formenctype", void 0) +he([Le], al.prototype, "formmethod", void 0) +he([Le({ mode: "boolean" })], al.prototype, "formnovalidate", void 0) +he([Le], al.prototype, "formtarget", void 0) +he([Le], al.prototype, "type", void 0) +he([yt], al.prototype, "defaultSlottedContent", void 0) +class J_ {} +he([Le({ attribute: "aria-expanded" })], J_.prototype, "ariaExpanded", void 0) +he([Le({ attribute: "aria-pressed" })], J_.prototype, "ariaPressed", void 0) +ms(J_, Oo) +ms(al, ff, J_) +const Nk = { none: "none", default: "default", sticky: "sticky" }, + hd = { default: "default", columnHeader: "columnheader", rowHeader: "rowheader" }, + Av = { default: "default", header: "header", stickyHeader: "sticky-header" } +let xi = class extends No { + constructor() { + super(...arguments), + (this.rowType = Av.default), + (this.rowData = null), + (this.columnDefinitions = null), + (this.isActiveRow = !1), + (this.cellsRepeatBehavior = null), + (this.cellsPlaceholder = null), + (this.focusColumnIndex = 0), + (this.refocusOnLoad = !1), + (this.updateRowStyle = () => { + this.style.gridTemplateColumns = this.gridTemplateColumns + }) + } + gridTemplateColumnsChanged() { + this.$fastController.isConnected && this.updateRowStyle() + } + rowTypeChanged() { + this.$fastController.isConnected && this.updateItemTemplate() + } + rowDataChanged() { + if (this.rowData !== null && this.isActiveRow) { + this.refocusOnLoad = !0 + return + } + } + cellItemTemplateChanged() { + this.updateItemTemplate() + } + headerCellItemTemplateChanged() { + this.updateItemTemplate() + } + connectedCallback() { + super.connectedCallback(), + this.cellsRepeatBehavior === null && + ((this.cellsPlaceholder = document.createComment("")), + this.appendChild(this.cellsPlaceholder), + this.updateItemTemplate(), + (this.cellsRepeatBehavior = new ant( + (e) => e.columnDefinitions, + (e) => e.activeCellItemTemplate, + { positioning: !0 }, + ).createBehavior(this.cellsPlaceholder)), + this.$fastController.addBehaviors([this.cellsRepeatBehavior])), + this.addEventListener("cell-focused", this.handleCellFocus), + this.addEventListener(Hh, this.handleFocusout), + this.addEventListener(Gh, this.handleKeydown), + this.updateRowStyle(), + this.refocusOnLoad && + ((this.refocusOnLoad = !1), + this.cellElements.length > this.focusColumnIndex && this.cellElements[this.focusColumnIndex].focus()) + } + disconnectedCallback() { + super.disconnectedCallback(), + this.removeEventListener("cell-focused", this.handleCellFocus), + this.removeEventListener(Hh, this.handleFocusout), + this.removeEventListener(Gh, this.handleKeydown) + } + handleFocusout(e) { + this.contains(e.target) || ((this.isActiveRow = !1), (this.focusColumnIndex = 0)) + } + handleCellFocus(e) { + ;(this.isActiveRow = !0), + (this.focusColumnIndex = this.cellElements.indexOf(e.target)), + this.$emit("row-focused", this) + } + handleKeydown(e) { + if (e.defaultPrevented) return + let n = 0 + switch (e.key) { + case nb: + ;(n = Math.max(0, this.focusColumnIndex - 1)), this.cellElements[n].focus(), e.preventDefault() + break + case ob: + ;(n = Math.min(this.cellElements.length - 1, this.focusColumnIndex + 1)), + this.cellElements[n].focus(), + e.preventDefault() + break + case bf: + e.ctrlKey || (this.cellElements[0].focus(), e.preventDefault()) + break + case yf: + e.ctrlKey || (this.cellElements[this.cellElements.length - 1].focus(), e.preventDefault()) + break + } + } + updateItemTemplate() { + this.activeCellItemTemplate = + this.rowType === Av.default && this.cellItemTemplate !== void 0 + ? this.cellItemTemplate + : this.rowType === Av.default && this.cellItemTemplate === void 0 + ? this.defaultCellItemTemplate + : this.headerCellItemTemplate !== void 0 + ? this.headerCellItemTemplate + : this.defaultHeaderCellItemTemplate + } +} +he([Le({ attribute: "grid-template-columns" })], xi.prototype, "gridTemplateColumns", void 0) +he([Le({ attribute: "row-type" })], xi.prototype, "rowType", void 0) +he([yt], xi.prototype, "rowData", void 0) +he([yt], xi.prototype, "columnDefinitions", void 0) +he([yt], xi.prototype, "cellItemTemplate", void 0) +he([yt], xi.prototype, "headerCellItemTemplate", void 0) +he([yt], xi.prototype, "rowIndex", void 0) +he([yt], xi.prototype, "isActiveRow", void 0) +he([yt], xi.prototype, "activeCellItemTemplate", void 0) +he([yt], xi.prototype, "defaultCellItemTemplate", void 0) +he([yt], xi.prototype, "defaultHeaderCellItemTemplate", void 0) +he([yt], xi.prototype, "cellElements", void 0) +function QRt(t) { + const e = t.tagFor(xi) + return Gn` + <${e} + :rowData="${(n) => n}" + :cellItemTemplate="${(n, o) => o.parent.cellItemTemplate}" + :headerCellItemTemplate="${(n, o) => o.parent.headerCellItemTemplate}" + ></${e}> +` +} +const ZRt = (t, e) => { + const n = QRt(t), + o = t.tagFor(xi) + return Gn` + <template + role="grid" + tabindex="0" + :rowElementTag="${() => o}" + :defaultRowItemTemplate="${n}" + ${cnt({ property: "rowElements", filter: IE("[role=row]") })} + > + <slot></slot> + </template> + ` +} +let wi = class J1 extends No { + constructor() { + super(), + (this.noTabbing = !1), + (this.generateHeader = Nk.default), + (this.rowsData = []), + (this.columnDefinitions = null), + (this.focusRowIndex = 0), + (this.focusColumnIndex = 0), + (this.rowsPlaceholder = null), + (this.generatedHeader = null), + (this.isUpdatingFocus = !1), + (this.pendingFocusUpdate = !1), + (this.rowindexUpdateQueued = !1), + (this.columnDefinitionsStale = !0), + (this.generatedGridTemplateColumns = ""), + (this.focusOnCell = (e, n, o) => { + if (this.rowElements.length === 0) { + ;(this.focusRowIndex = 0), (this.focusColumnIndex = 0) + return + } + const r = Math.max(0, Math.min(this.rowElements.length - 1, e)), + s = this.rowElements[r].querySelectorAll( + '[role="cell"], [role="gridcell"], [role="columnheader"], [role="rowheader"]', + ), + a = Math.max(0, Math.min(s.length - 1, n)), + c = s[a] + o && + this.scrollHeight !== this.clientHeight && + ((r < this.focusRowIndex && this.scrollTop > 0) || + (r > this.focusRowIndex && this.scrollTop < this.scrollHeight - this.clientHeight)) && + c.scrollIntoView({ block: "center", inline: "center" }), + c.focus() + }), + (this.onChildListChange = (e, n) => { + e && + e.length && + (e.forEach((o) => { + o.addedNodes.forEach((r) => { + r.nodeType === 1 && + r.getAttribute("role") === "row" && + (r.columnDefinitions = this.columnDefinitions) + }) + }), + this.queueRowIndexUpdate()) + }), + (this.queueRowIndexUpdate = () => { + this.rowindexUpdateQueued || ((this.rowindexUpdateQueued = !0), In.queueUpdate(this.updateRowIndexes)) + }), + (this.updateRowIndexes = () => { + let e = this.gridTemplateColumns + if (e === void 0) { + if (this.generatedGridTemplateColumns === "" && this.rowElements.length > 0) { + const n = this.rowElements[0] + this.generatedGridTemplateColumns = new Array(n.cellElements.length).fill("1fr").join(" ") + } + e = this.generatedGridTemplateColumns + } + this.rowElements.forEach((n, o) => { + const r = n + ;(r.rowIndex = o), + (r.gridTemplateColumns = e), + this.columnDefinitionsStale && (r.columnDefinitions = this.columnDefinitions) + }), + (this.rowindexUpdateQueued = !1), + (this.columnDefinitionsStale = !1) + }) + } + static generateTemplateColumns(e) { + let n = "" + return ( + e.forEach((o) => { + n = `${n}${n === "" ? "" : " "}1fr` + }), + n + ) + } + noTabbingChanged() { + this.$fastController.isConnected && + (this.noTabbing + ? this.setAttribute("tabIndex", "-1") + : this.setAttribute( + "tabIndex", + this.contains(document.activeElement) || this === document.activeElement ? "-1" : "0", + )) + } + generateHeaderChanged() { + this.$fastController.isConnected && this.toggleGeneratedHeader() + } + gridTemplateColumnsChanged() { + this.$fastController.isConnected && this.updateRowIndexes() + } + rowsDataChanged() { + this.columnDefinitions === null && + this.rowsData.length > 0 && + (this.columnDefinitions = J1.generateColumns(this.rowsData[0])), + this.$fastController.isConnected && this.toggleGeneratedHeader() + } + columnDefinitionsChanged() { + if (this.columnDefinitions === null) { + this.generatedGridTemplateColumns = "" + return + } + ;(this.generatedGridTemplateColumns = J1.generateTemplateColumns(this.columnDefinitions)), + this.$fastController.isConnected && ((this.columnDefinitionsStale = !0), this.queueRowIndexUpdate()) + } + headerCellItemTemplateChanged() { + this.$fastController.isConnected && + this.generatedHeader !== null && + (this.generatedHeader.headerCellItemTemplate = this.headerCellItemTemplate) + } + focusRowIndexChanged() { + this.$fastController.isConnected && this.queueFocusUpdate() + } + focusColumnIndexChanged() { + this.$fastController.isConnected && this.queueFocusUpdate() + } + connectedCallback() { + super.connectedCallback(), + this.rowItemTemplate === void 0 && (this.rowItemTemplate = this.defaultRowItemTemplate), + (this.rowsPlaceholder = document.createComment("")), + this.appendChild(this.rowsPlaceholder), + this.toggleGeneratedHeader(), + (this.rowsRepeatBehavior = new ant( + (e) => e.rowsData, + (e) => e.rowItemTemplate, + { positioning: !0 }, + ).createBehavior(this.rowsPlaceholder)), + this.$fastController.addBehaviors([this.rowsRepeatBehavior]), + this.addEventListener("row-focused", this.handleRowFocus), + this.addEventListener(kF, this.handleFocus), + this.addEventListener(Gh, this.handleKeydown), + this.addEventListener(Hh, this.handleFocusOut), + (this.observer = new MutationObserver(this.onChildListChange)), + this.observer.observe(this, { childList: !0 }), + this.noTabbing && this.setAttribute("tabindex", "-1"), + In.queueUpdate(this.queueRowIndexUpdate) + } + disconnectedCallback() { + super.disconnectedCallback(), + this.removeEventListener("row-focused", this.handleRowFocus), + this.removeEventListener(kF, this.handleFocus), + this.removeEventListener(Gh, this.handleKeydown), + this.removeEventListener(Hh, this.handleFocusOut), + this.observer.disconnect(), + (this.rowsPlaceholder = null), + (this.generatedHeader = null) + } + handleRowFocus(e) { + this.isUpdatingFocus = !0 + const n = e.target + ;(this.focusRowIndex = this.rowElements.indexOf(n)), + (this.focusColumnIndex = n.focusColumnIndex), + this.setAttribute("tabIndex", "-1"), + (this.isUpdatingFocus = !1) + } + handleFocus(e) { + this.focusOnCell(this.focusRowIndex, this.focusColumnIndex, !0) + } + handleFocusOut(e) { + ;(e.relatedTarget === null || !this.contains(e.relatedTarget)) && + this.setAttribute("tabIndex", this.noTabbing ? "-1" : "0") + } + handleKeydown(e) { + if (e.defaultPrevented) return + let n + const o = this.rowElements.length - 1, + r = this.offsetHeight + this.scrollTop, + i = this.rowElements[o] + switch (e.key) { + case Hp: + e.preventDefault(), this.focusOnCell(this.focusRowIndex - 1, this.focusColumnIndex, !0) + break + case Vp: + e.preventDefault(), this.focusOnCell(this.focusRowIndex + 1, this.focusColumnIndex, !0) + break + case FRt: + if ((e.preventDefault(), this.rowElements.length === 0)) { + this.focusOnCell(0, 0, !1) + break + } + if (this.focusRowIndex === 0) { + this.focusOnCell(0, this.focusColumnIndex, !1) + return + } + for (n = this.focusRowIndex - 1, n; n >= 0; n--) { + const s = this.rowElements[n] + if (s.offsetTop < this.scrollTop) { + this.scrollTop = s.offsetTop + s.clientHeight - this.clientHeight + break + } + } + this.focusOnCell(n, this.focusColumnIndex, !1) + break + case ORt: + if ((e.preventDefault(), this.rowElements.length === 0)) { + this.focusOnCell(0, 0, !1) + break + } + if (this.focusRowIndex >= o || i.offsetTop + i.offsetHeight <= r) { + this.focusOnCell(o, this.focusColumnIndex, !1) + return + } + for (n = this.focusRowIndex + 1, n; n <= o; n++) { + const s = this.rowElements[n] + if (s.offsetTop + s.offsetHeight > r) { + let a = 0 + this.generateHeader === Nk.sticky && + this.generatedHeader !== null && + (a = this.generatedHeader.clientHeight), + (this.scrollTop = s.offsetTop - a) + break + } + } + this.focusOnCell(n, this.focusColumnIndex, !1) + break + case bf: + e.ctrlKey && (e.preventDefault(), this.focusOnCell(0, 0, !0)) + break + case yf: + e.ctrlKey && + this.columnDefinitions !== null && + (e.preventDefault(), + this.focusOnCell(this.rowElements.length - 1, this.columnDefinitions.length - 1, !0)) + break + } + } + queueFocusUpdate() { + ;(this.isUpdatingFocus && (this.contains(document.activeElement) || this === document.activeElement)) || + (this.pendingFocusUpdate === !1 && + ((this.pendingFocusUpdate = !0), In.queueUpdate(() => this.updateFocus()))) + } + updateFocus() { + ;(this.pendingFocusUpdate = !1), this.focusOnCell(this.focusRowIndex, this.focusColumnIndex, !0) + } + toggleGeneratedHeader() { + if ( + (this.generatedHeader !== null && (this.removeChild(this.generatedHeader), (this.generatedHeader = null)), + this.generateHeader !== Nk.none && this.rowsData.length > 0) + ) { + const e = document.createElement(this.rowElementTag) + ;(this.generatedHeader = e), + (this.generatedHeader.columnDefinitions = this.columnDefinitions), + (this.generatedHeader.gridTemplateColumns = this.gridTemplateColumns), + (this.generatedHeader.rowType = this.generateHeader === Nk.sticky ? Av.stickyHeader : Av.header), + (this.firstChild !== null || this.rowsPlaceholder !== null) && + this.insertBefore(e, this.firstChild !== null ? this.firstChild : this.rowsPlaceholder) + return + } + } +} +wi.generateColumns = (t) => Object.getOwnPropertyNames(t).map((e, n) => ({ columnDataKey: e, gridColumn: `${n}` })) +he([Le({ attribute: "no-tabbing", mode: "boolean" })], wi.prototype, "noTabbing", void 0) +he([Le({ attribute: "generate-header" })], wi.prototype, "generateHeader", void 0) +he([Le({ attribute: "grid-template-columns" })], wi.prototype, "gridTemplateColumns", void 0) +he([yt], wi.prototype, "rowsData", void 0) +he([yt], wi.prototype, "columnDefinitions", void 0) +he([yt], wi.prototype, "rowItemTemplate", void 0) +he([yt], wi.prototype, "cellItemTemplate", void 0) +he([yt], wi.prototype, "headerCellItemTemplate", void 0) +he([yt], wi.prototype, "focusRowIndex", void 0) +he([yt], wi.prototype, "focusColumnIndex", void 0) +he([yt], wi.prototype, "defaultRowItemTemplate", void 0) +he([yt], wi.prototype, "rowElementTag", void 0) +he([yt], wi.prototype, "rowElements", void 0) +const YRt = Gn` + <template> + ${(t) => (t.rowData === null || t.columnDefinition === null || t.columnDefinition.columnDataKey === null ? null : t.rowData[t.columnDefinition.columnDataKey])} + </template> +`, + XRt = Gn` + <template> + ${(t) => (t.columnDefinition === null ? null : t.columnDefinition.title === void 0 ? t.columnDefinition.columnDataKey : t.columnDefinition.title)} + </template> +` +let uu = class extends No { + constructor() { + super(...arguments), + (this.cellType = hd.default), + (this.rowData = null), + (this.columnDefinition = null), + (this.isActiveCell = !1), + (this.customCellView = null), + (this.updateCellStyle = () => { + this.style.gridColumn = this.gridColumn + }) + } + cellTypeChanged() { + this.$fastController.isConnected && this.updateCellView() + } + gridColumnChanged() { + this.$fastController.isConnected && this.updateCellStyle() + } + columnDefinitionChanged(e, n) { + this.$fastController.isConnected && this.updateCellView() + } + connectedCallback() { + var e + super.connectedCallback(), + this.addEventListener(xF, this.handleFocusin), + this.addEventListener(Hh, this.handleFocusout), + this.addEventListener(Gh, this.handleKeydown), + (this.style.gridColumn = `${((e = this.columnDefinition) === null || e === void 0 ? void 0 : e.gridColumn) === void 0 ? 0 : this.columnDefinition.gridColumn}`), + this.updateCellView(), + this.updateCellStyle() + } + disconnectedCallback() { + super.disconnectedCallback(), + this.removeEventListener(xF, this.handleFocusin), + this.removeEventListener(Hh, this.handleFocusout), + this.removeEventListener(Gh, this.handleKeydown), + this.disconnectCellView() + } + handleFocusin(e) { + if (!this.isActiveCell) { + switch (((this.isActiveCell = !0), this.cellType)) { + case hd.columnHeader: + if ( + this.columnDefinition !== null && + this.columnDefinition.headerCellInternalFocusQueue !== !0 && + typeof this.columnDefinition.headerCellFocusTargetCallback == "function" + ) { + const n = this.columnDefinition.headerCellFocusTargetCallback(this) + n !== null && n.focus() + } + break + default: + if ( + this.columnDefinition !== null && + this.columnDefinition.cellInternalFocusQueue !== !0 && + typeof this.columnDefinition.cellFocusTargetCallback == "function" + ) { + const n = this.columnDefinition.cellFocusTargetCallback(this) + n !== null && n.focus() + } + break + } + this.$emit("cell-focused", this) + } + } + handleFocusout(e) { + this !== document.activeElement && !this.contains(document.activeElement) && (this.isActiveCell = !1) + } + handleKeydown(e) { + if ( + !( + e.defaultPrevented || + this.columnDefinition === null || + (this.cellType === hd.default && this.columnDefinition.cellInternalFocusQueue !== !0) || + (this.cellType === hd.columnHeader && this.columnDefinition.headerCellInternalFocusQueue !== !0) + ) + ) + switch (e.key) { + case Fb: + case NRt: + if (this.contains(document.activeElement) && document.activeElement !== this) return + switch (this.cellType) { + case hd.columnHeader: + if (this.columnDefinition.headerCellFocusTargetCallback !== void 0) { + const n = this.columnDefinition.headerCellFocusTargetCallback(this) + n !== null && n.focus(), e.preventDefault() + } + break + default: + if (this.columnDefinition.cellFocusTargetCallback !== void 0) { + const n = this.columnDefinition.cellFocusTargetCallback(this) + n !== null && n.focus(), e.preventDefault() + } + break + } + break + case X_: + this.contains(document.activeElement) && + document.activeElement !== this && + (this.focus(), e.preventDefault()) + break + } + } + updateCellView() { + if ((this.disconnectCellView(), this.columnDefinition !== null)) + switch (this.cellType) { + case hd.columnHeader: + this.columnDefinition.headerCellTemplate !== void 0 + ? (this.customCellView = this.columnDefinition.headerCellTemplate.render(this, this)) + : (this.customCellView = XRt.render(this, this)) + break + case void 0: + case hd.rowHeader: + case hd.default: + this.columnDefinition.cellTemplate !== void 0 + ? (this.customCellView = this.columnDefinition.cellTemplate.render(this, this)) + : (this.customCellView = YRt.render(this, this)) + break + } + } + disconnectCellView() { + this.customCellView !== null && (this.customCellView.dispose(), (this.customCellView = null)) + } +} +he([Le({ attribute: "cell-type" })], uu.prototype, "cellType", void 0) +he([Le({ attribute: "grid-column" })], uu.prototype, "gridColumn", void 0) +he([yt], uu.prototype, "rowData", void 0) +he([yt], uu.prototype, "columnDefinition", void 0) +function JRt(t) { + const e = t.tagFor(uu) + return Gn` + <${e} + cell-type="${(n) => (n.isRowHeader ? "rowheader" : void 0)}" + grid-column="${(n, o) => o.index + 1}" + :rowData="${(n, o) => o.parent.rowData}" + :columnDefinition="${(n) => n}" + ></${e}> +` +} +function eTt(t) { + const e = t.tagFor(uu) + return Gn` + <${e} + cell-type="columnheader" + grid-column="${(n, o) => o.index + 1}" + :columnDefinition="${(n) => n}" + ></${e}> +` +} +const tTt = (t, e) => { + const n = JRt(t), + o = eTt(t) + return Gn` + <template + role="row" + class="${(r) => (r.rowType !== "default" ? r.rowType : "")}" + :defaultCellItemTemplate="${n}" + :defaultHeaderCellItemTemplate="${o}" + ${cnt({ property: "cellElements", filter: IE('[role="cell"],[role="gridcell"],[role="columnheader"],[role="rowheader"]') })} + > + <slot ${fa("slottedCellElements")}></slot> + </template> + ` + }, + nTt = (t, e) => Gn` + <template + tabindex="-1" + role="${(n) => (!n.cellType || n.cellType === "default" ? "gridcell" : n.cellType)}" + class=" + ${(n) => (n.cellType === "columnheader" ? "column-header" : n.cellType === "rowheader" ? "row-header" : "")} + " + > + <slot></slot> + </template> + `, + oTt = (t, e) => Gn` + <template + role="checkbox" + aria-checked="${(n) => n.checked}" + aria-required="${(n) => n.required}" + aria-disabled="${(n) => n.disabled}" + aria-readonly="${(n) => n.readOnly}" + tabindex="${(n) => (n.disabled ? null : 0)}" + @keypress="${(n, o) => n.keypressHandler(o.event)}" + @click="${(n, o) => n.clickHandler(o.event)}" + class="${(n) => (n.readOnly ? "readonly" : "")} ${(n) => (n.checked ? "checked" : "")} ${(n) => (n.indeterminate ? "indeterminate" : "")}" + > + <div part="control" class="control"> + <slot name="checked-indicator"> + ${e.checkedIndicator || ""} + </slot> + <slot name="indeterminate-indicator"> + ${e.indeterminateIndicator || ""} + </slot> + </div> + <label + part="label" + class="${(n) => (n.defaultSlottedNodes && n.defaultSlottedNodes.length ? "label" : "label label__hidden")}" + > + <slot ${fa("defaultSlottedNodes")}></slot> + </label> + </template> +` +class rTt extends No {} +class iTt extends gnt(rTt) { + constructor() { + super(...arguments), (this.proxy = document.createElement("input")) + } +} +let eC = class extends iTt { + constructor() { + super(), + (this.initialValue = "on"), + (this.indeterminate = !1), + (this.keypressHandler = (e) => { + if (!this.readOnly) + switch (e.key) { + case Bb: + this.indeterminate && (this.indeterminate = !1), (this.checked = !this.checked) + break + } + }), + (this.clickHandler = (e) => { + !this.disabled && + !this.readOnly && + (this.indeterminate && (this.indeterminate = !1), (this.checked = !this.checked)) + }), + this.proxy.setAttribute("type", "checkbox") + } + readOnlyChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.readOnly = this.readOnly) + } +} +he([Le({ attribute: "readonly", mode: "boolean" })], eC.prototype, "readOnly", void 0) +he([yt], eC.prototype, "defaultSlottedNodes", void 0) +he([yt], eC.prototype, "indeterminate", void 0) +function vnt(t) { + return $Rt(t) && (t.getAttribute("role") === "option" || t instanceof HTMLOptionElement) +} +class Uc extends No { + constructor(e, n, o, r) { + super(), + (this.defaultSelected = !1), + (this.dirtySelected = !1), + (this.selected = this.defaultSelected), + (this.dirtyValue = !1), + e && (this.textContent = e), + n && (this.initialValue = n), + o && (this.defaultSelected = o), + r && (this.selected = r), + (this.proxy = new Option(`${this.textContent}`, this.initialValue, this.defaultSelected, this.selected)), + (this.proxy.disabled = this.disabled) + } + checkedChanged(e, n) { + if (typeof n == "boolean") { + this.ariaChecked = n ? "true" : "false" + return + } + this.ariaChecked = null + } + contentChanged(e, n) { + this.proxy instanceof HTMLOptionElement && (this.proxy.textContent = this.textContent), + this.$emit("contentchange", null, { bubbles: !0 }) + } + defaultSelectedChanged() { + this.dirtySelected || + ((this.selected = this.defaultSelected), + this.proxy instanceof HTMLOptionElement && (this.proxy.selected = this.defaultSelected)) + } + disabledChanged(e, n) { + ;(this.ariaDisabled = this.disabled ? "true" : "false"), + this.proxy instanceof HTMLOptionElement && (this.proxy.disabled = this.disabled) + } + selectedAttributeChanged() { + ;(this.defaultSelected = this.selectedAttribute), + this.proxy instanceof HTMLOptionElement && (this.proxy.defaultSelected = this.defaultSelected) + } + selectedChanged() { + ;(this.ariaSelected = this.selected ? "true" : "false"), + this.dirtySelected || (this.dirtySelected = !0), + this.proxy instanceof HTMLOptionElement && (this.proxy.selected = this.selected) + } + initialValueChanged(e, n) { + this.dirtyValue || ((this.value = this.initialValue), (this.dirtyValue = !1)) + } + get label() { + var e + return (e = this.value) !== null && e !== void 0 ? e : this.text + } + get text() { + var e, n + return (n = (e = this.textContent) === null || e === void 0 ? void 0 : e.replace(/\s+/g, " ").trim()) !== + null && n !== void 0 + ? n + : "" + } + set value(e) { + const n = `${e ?? ""}` + ;(this._value = n), + (this.dirtyValue = !0), + this.proxy instanceof HTMLOptionElement && (this.proxy.value = n), + An.notify(this, "value") + } + get value() { + var e + return An.track(this, "value"), (e = this._value) !== null && e !== void 0 ? e : this.text + } + get form() { + return this.proxy ? this.proxy.form : null + } +} +he([yt], Uc.prototype, "checked", void 0) +he([yt], Uc.prototype, "content", void 0) +he([yt], Uc.prototype, "defaultSelected", void 0) +he([Le({ mode: "boolean" })], Uc.prototype, "disabled", void 0) +he([Le({ attribute: "selected", mode: "boolean" })], Uc.prototype, "selectedAttribute", void 0) +he([yt], Uc.prototype, "selected", void 0) +he([Le({ attribute: "value", mode: "fromView" })], Uc.prototype, "initialValue", void 0) +class kf {} +he([yt], kf.prototype, "ariaChecked", void 0) +he([yt], kf.prototype, "ariaPosInSet", void 0) +he([yt], kf.prototype, "ariaSelected", void 0) +he([yt], kf.prototype, "ariaSetSize", void 0) +ms(kf, Oo) +ms(Uc, ff, kf) +class Di extends No { + constructor() { + super(...arguments), + (this._options = []), + (this.selectedIndex = -1), + (this.selectedOptions = []), + (this.shouldSkipFocus = !1), + (this.typeaheadBuffer = ""), + (this.typeaheadExpired = !0), + (this.typeaheadTimeout = -1) + } + get firstSelectedOption() { + var e + return (e = this.selectedOptions[0]) !== null && e !== void 0 ? e : null + } + get hasSelectableOptions() { + return this.options.length > 0 && !this.options.every((e) => e.disabled) + } + get length() { + var e, n + return (n = (e = this.options) === null || e === void 0 ? void 0 : e.length) !== null && n !== void 0 ? n : 0 + } + get options() { + return An.track(this, "options"), this._options + } + set options(e) { + ;(this._options = e), An.notify(this, "options") + } + get typeAheadExpired() { + return this.typeaheadExpired + } + set typeAheadExpired(e) { + this.typeaheadExpired = e + } + clickHandler(e) { + const n = e.target.closest("option,[role=option]") + if (n && !n.disabled) return (this.selectedIndex = this.options.indexOf(n)), !0 + } + focusAndScrollOptionIntoView(e = this.firstSelectedOption) { + this.contains(document.activeElement) && + e !== null && + (e.focus(), + requestAnimationFrame(() => { + e.scrollIntoView({ block: "nearest" }) + })) + } + focusinHandler(e) { + !this.shouldSkipFocus && + e.target === e.currentTarget && + (this.setSelectedOptions(), this.focusAndScrollOptionIntoView()), + (this.shouldSkipFocus = !1) + } + getTypeaheadMatches() { + const e = this.typeaheadBuffer.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"), + n = new RegExp(`^${e}`, "gi") + return this.options.filter((o) => o.text.trim().match(n)) + } + getSelectableIndex(e = this.selectedIndex, n) { + const o = e > n ? -1 : e < n ? 1 : 0, + r = e + o + let i = null + switch (o) { + case -1: { + i = this.options.reduceRight((s, a, c) => (!s && !a.disabled && c < r ? a : s), i) + break + } + case 1: { + i = this.options.reduce((s, a, c) => (!s && !a.disabled && c > r ? a : s), i) + break + } + } + return this.options.indexOf(i) + } + handleChange(e, n) { + switch (n) { + case "selected": { + Di.slottedOptionFilter(e) && (this.selectedIndex = this.options.indexOf(e)), this.setSelectedOptions() + break + } + } + } + handleTypeAhead(e) { + this.typeaheadTimeout && window.clearTimeout(this.typeaheadTimeout), + (this.typeaheadTimeout = window.setTimeout(() => (this.typeaheadExpired = !0), Di.TYPE_AHEAD_TIMEOUT_MS)), + !(e.length > 1) && (this.typeaheadBuffer = `${this.typeaheadExpired ? "" : this.typeaheadBuffer}${e}`) + } + keydownHandler(e) { + if (this.disabled) return !0 + this.shouldSkipFocus = !1 + const n = e.key + switch (n) { + case bf: { + e.shiftKey || (e.preventDefault(), this.selectFirstOption()) + break + } + case Vp: { + e.shiftKey || (e.preventDefault(), this.selectNextOption()) + break + } + case Hp: { + e.shiftKey || (e.preventDefault(), this.selectPreviousOption()) + break + } + case yf: { + e.preventDefault(), this.selectLastOption() + break + } + case jE: + return this.focusAndScrollOptionIntoView(), !0 + case Fb: + case X_: + return !0 + case Bb: + if (this.typeaheadExpired) return !0 + default: + return n.length === 1 && this.handleTypeAhead(`${n}`), !0 + } + } + mousedownHandler(e) { + return (this.shouldSkipFocus = !this.contains(document.activeElement)), !0 + } + multipleChanged(e, n) { + this.ariaMultiSelectable = n ? "true" : null + } + selectedIndexChanged(e, n) { + var o + if (!this.hasSelectableOptions) { + this.selectedIndex = -1 + return + } + if (!((o = this.options[this.selectedIndex]) === null || o === void 0) && o.disabled && typeof e == "number") { + const r = this.getSelectableIndex(e, n), + i = r > -1 ? r : e + ;(this.selectedIndex = i), n === i && this.selectedIndexChanged(n, i) + return + } + this.setSelectedOptions() + } + selectedOptionsChanged(e, n) { + var o + const r = n.filter(Di.slottedOptionFilter) + ;(o = this.options) === null || + o === void 0 || + o.forEach((i) => { + const s = An.getNotifier(i) + s.unsubscribe(this, "selected"), (i.selected = r.includes(i)), s.subscribe(this, "selected") + }) + } + selectFirstOption() { + var e, n + this.disabled || + (this.selectedIndex = + (n = (e = this.options) === null || e === void 0 ? void 0 : e.findIndex((o) => !o.disabled)) !== null && + n !== void 0 + ? n + : -1) + } + selectLastOption() { + this.disabled || (this.selectedIndex = ERt(this.options, (e) => !e.disabled)) + } + selectNextOption() { + !this.disabled && this.selectedIndex < this.options.length - 1 && (this.selectedIndex += 1) + } + selectPreviousOption() { + !this.disabled && this.selectedIndex > 0 && (this.selectedIndex = this.selectedIndex - 1) + } + setDefaultSelectedOption() { + var e, n + this.selectedIndex = + (n = (e = this.options) === null || e === void 0 ? void 0 : e.findIndex((o) => o.defaultSelected)) !== + null && n !== void 0 + ? n + : -1 + } + setSelectedOptions() { + var e, n, o + !((e = this.options) === null || e === void 0) && + e.length && + ((this.selectedOptions = [this.options[this.selectedIndex]]), + (this.ariaActiveDescendant = + (o = (n = this.firstSelectedOption) === null || n === void 0 ? void 0 : n.id) !== null && o !== void 0 + ? o + : ""), + this.focusAndScrollOptionIntoView()) + } + slottedOptionsChanged(e, n) { + this.options = n.reduce((r, i) => (vnt(i) && r.push(i), r), []) + const o = `${this.options.length}` + this.options.forEach((r, i) => { + r.id || (r.id = Ww("option-")), (r.ariaPosInSet = `${i + 1}`), (r.ariaSetSize = o) + }), + this.$fastController.isConnected && (this.setSelectedOptions(), this.setDefaultSelectedOption()) + } + typeaheadBufferChanged(e, n) { + if (this.$fastController.isConnected) { + const o = this.getTypeaheadMatches() + if (o.length) { + const r = this.options.indexOf(o[0]) + r > -1 && (this.selectedIndex = r) + } + this.typeaheadExpired = !1 + } + } +} +Di.slottedOptionFilter = (t) => vnt(t) && !t.hidden +Di.TYPE_AHEAD_TIMEOUT_MS = 1e3 +he([Le({ mode: "boolean" })], Di.prototype, "disabled", void 0) +he([yt], Di.prototype, "selectedIndex", void 0) +he([yt], Di.prototype, "selectedOptions", void 0) +he([yt], Di.prototype, "slottedOptions", void 0) +he([yt], Di.prototype, "typeaheadBuffer", void 0) +class Gp {} +he([yt], Gp.prototype, "ariaActiveDescendant", void 0) +he([yt], Gp.prototype, "ariaDisabled", void 0) +he([yt], Gp.prototype, "ariaExpanded", void 0) +he([yt], Gp.prototype, "ariaMultiSelectable", void 0) +ms(Gp, Oo) +ms(Di, Gp) +const FA = { above: "above", below: "below" } +function eM(t) { + const e = t.parentElement + if (e) return e + { + const n = t.getRootNode() + if (n.host instanceof HTMLElement) return n.host + } + return null +} +function sTt(t, e) { + let n = e + for (; n !== null; ) { + if (n === t) return !0 + n = eM(n) + } + return !1 +} +const _c = document.createElement("div") +function aTt(t) { + return t instanceof Y_ +} +class zE { + setProperty(e, n) { + In.queueUpdate(() => this.target.setProperty(e, n)) + } + removeProperty(e) { + In.queueUpdate(() => this.target.removeProperty(e)) + } +} +class lTt extends zE { + constructor(e) { + super() + const n = new CSSStyleSheet() + ;(n[Ztt] = !0), + (this.target = n.cssRules[n.insertRule(":host{}")].style), + e.$fastController.addStyles(ls.create([n])) + } +} +class cTt extends zE { + constructor() { + super() + const e = new CSSStyleSheet() + ;(this.target = e.cssRules[e.insertRule(":root{}")].style), + (document.adoptedStyleSheets = [...document.adoptedStyleSheets, e]) + } +} +class dTt extends zE { + constructor() { + super(), (this.style = document.createElement("style")), document.head.appendChild(this.style) + const { sheet: e } = this.style + if (e) { + const n = e.insertRule(":root{}", e.cssRules.length) + this.target = e.cssRules[n].style + } + } +} +class bnt { + constructor(e) { + ;(this.store = new Map()), (this.target = null) + const n = e.$fastController + ;(this.style = document.createElement("style")), + n.addStyles(this.style), + An.getNotifier(n).subscribe(this, "isConnected"), + this.handleChange(n, "isConnected") + } + targetChanged() { + if (this.target !== null) for (const [e, n] of this.store.entries()) this.target.setProperty(e, n) + } + setProperty(e, n) { + this.store.set(e, n), + In.queueUpdate(() => { + this.target !== null && this.target.setProperty(e, n) + }) + } + removeProperty(e) { + this.store.delete(e), + In.queueUpdate(() => { + this.target !== null && this.target.removeProperty(e) + }) + } + handleChange(e, n) { + const { sheet: o } = this.style + if (o) { + const r = o.insertRule(":host{}", o.cssRules.length) + this.target = o.cssRules[r].style + } else this.target = null + } +} +he([yt], bnt.prototype, "target", void 0) +class uTt { + constructor(e) { + this.target = e.style + } + setProperty(e, n) { + In.queueUpdate(() => this.target.setProperty(e, n)) + } + removeProperty(e) { + In.queueUpdate(() => this.target.removeProperty(e)) + } +} +class jr { + setProperty(e, n) { + jr.properties[e] = n + for (const o of jr.roots.values()) Xm.getOrCreate(jr.normalizeRoot(o)).setProperty(e, n) + } + removeProperty(e) { + delete jr.properties[e] + for (const n of jr.roots.values()) Xm.getOrCreate(jr.normalizeRoot(n)).removeProperty(e) + } + static registerRoot(e) { + const { roots: n } = jr + if (!n.has(e)) { + n.add(e) + const o = Xm.getOrCreate(this.normalizeRoot(e)) + for (const r in jr.properties) o.setProperty(r, jr.properties[r]) + } + } + static unregisterRoot(e) { + const { roots: n } = jr + if (n.has(e)) { + n.delete(e) + const o = Xm.getOrCreate(jr.normalizeRoot(e)) + for (const r in jr.properties) o.removeProperty(r) + } + } + static normalizeRoot(e) { + return e === _c ? document : e + } +} +jr.roots = new Set() +jr.properties = {} +const BA = new WeakMap(), + pTt = In.supportsAdoptedStyleSheets ? lTt : bnt, + Xm = Object.freeze({ + getOrCreate(t) { + if (BA.has(t)) return BA.get(t) + let e + return ( + t === _c + ? (e = new jr()) + : t instanceof Document + ? (e = In.supportsAdoptedStyleSheets ? new cTt() : new dTt()) + : aTt(t) + ? (e = new pTt(t)) + : (e = new uTt(t)), + BA.set(t, e), + e + ) + }, + }) +class $i extends nnt { + constructor(e) { + super(), + (this.subscribers = new WeakMap()), + (this._appliedTo = new Set()), + (this.name = e.name), + e.cssCustomPropertyName !== null && + ((this.cssCustomProperty = `--${e.cssCustomPropertyName}`), + (this.cssVar = `var(${this.cssCustomProperty})`)), + (this.id = $i.uniqueId()), + $i.tokensById.set(this.id, this) + } + get appliedTo() { + return [...this._appliedTo] + } + static from(e) { + return new $i({ + name: typeof e == "string" ? e : e.name, + cssCustomPropertyName: + typeof e == "string" ? e : e.cssCustomPropertyName === void 0 ? e.name : e.cssCustomPropertyName, + }) + } + static isCSSDesignToken(e) { + return typeof e.cssCustomProperty == "string" + } + static isDerivedDesignTokenValue(e) { + return typeof e == "function" + } + static getTokenById(e) { + return $i.tokensById.get(e) + } + getOrCreateSubscriberSet(e = this) { + return this.subscribers.get(e) || (this.subscribers.set(e, new Set()) && this.subscribers.get(e)) + } + createCSS() { + return this.cssVar || "" + } + getValueFor(e) { + const n = tr.getOrCreate(e).get(this) + if (n !== void 0) return n + throw new Error( + `Value could not be retrieved for token named "${this.name}". Ensure the value is set for ${e} or an ancestor of ${e}.`, + ) + } + setValueFor(e, n) { + return this._appliedTo.add(e), n instanceof $i && (n = this.alias(n)), tr.getOrCreate(e).set(this, n), this + } + deleteValueFor(e) { + return this._appliedTo.delete(e), tr.existsFor(e) && tr.getOrCreate(e).delete(this), this + } + withDefault(e) { + return this.setValueFor(_c, e), this + } + subscribe(e, n) { + const o = this.getOrCreateSubscriberSet(n) + n && !tr.existsFor(n) && tr.getOrCreate(n), o.has(e) || o.add(e) + } + unsubscribe(e, n) { + const o = this.subscribers.get(n || this) + o && o.has(e) && o.delete(e) + } + notify(e) { + const n = Object.freeze({ token: this, target: e }) + this.subscribers.has(this) && this.subscribers.get(this).forEach((o) => o.handleChange(n)), + this.subscribers.has(e) && this.subscribers.get(e).forEach((o) => o.handleChange(n)) + } + alias(e) { + return (n) => e.getValueFor(n) + } +} +$i.uniqueId = (() => { + let t = 0 + return () => (t++, t.toString(16)) +})() +$i.tokensById = new Map() +class mTt { + startReflection(e, n) { + e.subscribe(this, n), this.handleChange({ token: e, target: n }) + } + stopReflection(e, n) { + e.unsubscribe(this, n), this.remove(e, n) + } + handleChange(e) { + const { token: n, target: o } = e + this.add(n, o) + } + add(e, n) { + Xm.getOrCreate(n).setProperty(e.cssCustomProperty, this.resolveCSSValue(tr.getOrCreate(n).get(e))) + } + remove(e, n) { + Xm.getOrCreate(n).removeProperty(e.cssCustomProperty) + } + resolveCSSValue(e) { + return e && typeof e.createCSS == "function" ? e.createCSS() : e + } +} +class hTt { + constructor(e, n, o) { + ;(this.source = e), + (this.token = n), + (this.node = o), + (this.dependencies = new Set()), + (this.observer = An.binding(e, this, !1)), + (this.observer.handleChange = this.observer.call), + this.handleChange() + } + disconnect() { + this.observer.disconnect() + } + handleChange() { + try { + this.node.store.set(this.token, this.observer.observe(this.node.target, Cv)) + } catch (e) { + console.error(e) + } + } +} +class fTt { + constructor() { + this.values = new Map() + } + set(e, n) { + this.values.get(e) !== n && (this.values.set(e, n), An.getNotifier(this).notify(e.id)) + } + get(e) { + return An.track(this, e.id), this.values.get(e) + } + delete(e) { + this.values.delete(e), An.getNotifier(this).notify(e.id) + } + all() { + return this.values.entries() + } +} +const Og = new WeakMap(), + Fg = new WeakMap() +class tr { + constructor(e) { + ;(this.target = e), + (this.store = new fTt()), + (this.children = []), + (this.assignedValues = new Map()), + (this.reflecting = new Set()), + (this.bindingObservers = new Map()), + (this.tokenValueChangeHandler = { + handleChange: (n, o) => { + const r = $i.getTokenById(o) + r && (r.notify(this.target), this.updateCSSTokenReflection(n, r)) + }, + }), + Og.set(e, this), + An.getNotifier(this.store).subscribe(this.tokenValueChangeHandler), + e instanceof Y_ ? e.$fastController.addBehaviors([this]) : e.isConnected && this.bind() + } + static getOrCreate(e) { + return Og.get(e) || new tr(e) + } + static existsFor(e) { + return Og.has(e) + } + static findParent(e) { + if (_c !== e.target) { + let n = eM(e.target) + for (; n !== null; ) { + if (Og.has(n)) return Og.get(n) + n = eM(n) + } + return tr.getOrCreate(_c) + } + return null + } + static findClosestAssignedNode(e, n) { + let o = n + do { + if (o.has(e)) return o + o = o.parent ? o.parent : o.target !== _c ? tr.getOrCreate(_c) : null + } while (o !== null) + return null + } + get parent() { + return Fg.get(this) || null + } + updateCSSTokenReflection(e, n) { + if ($i.isCSSDesignToken(n)) { + const o = this.parent, + r = this.isReflecting(n) + if (o) { + const i = o.get(n), + s = e.get(n) + i !== s && !r ? this.reflectToCSS(n) : i === s && r && this.stopReflectToCSS(n) + } else r || this.reflectToCSS(n) + } + } + has(e) { + return this.assignedValues.has(e) + } + get(e) { + const n = this.store.get(e) + if (n !== void 0) return n + const o = this.getRaw(e) + if (o !== void 0) return this.hydrate(e, o), this.get(e) + } + getRaw(e) { + var n + return this.assignedValues.has(e) + ? this.assignedValues.get(e) + : (n = tr.findClosestAssignedNode(e, this)) === null || n === void 0 + ? void 0 + : n.getRaw(e) + } + set(e, n) { + $i.isDerivedDesignTokenValue(this.assignedValues.get(e)) && this.tearDownBindingObserver(e), + this.assignedValues.set(e, n), + $i.isDerivedDesignTokenValue(n) ? this.setupBindingObserver(e, n) : this.store.set(e, n) + } + delete(e) { + this.assignedValues.delete(e), this.tearDownBindingObserver(e) + const n = this.getRaw(e) + n ? this.hydrate(e, n) : this.store.delete(e) + } + bind() { + const e = tr.findParent(this) + e && e.appendChild(this) + for (const n of this.assignedValues.keys()) n.notify(this.target) + } + unbind() { + this.parent && Fg.get(this).removeChild(this) + for (const e of this.bindingObservers.keys()) this.tearDownBindingObserver(e) + } + appendChild(e) { + e.parent && Fg.get(e).removeChild(e) + const n = this.children.filter((o) => e.contains(o)) + Fg.set(e, this), + this.children.push(e), + n.forEach((o) => e.appendChild(o)), + An.getNotifier(this.store).subscribe(e) + for (const [o, r] of this.store.all()) + e.hydrate(o, this.bindingObservers.has(o) ? this.getRaw(o) : r), e.updateCSSTokenReflection(e.store, o) + } + removeChild(e) { + const n = this.children.indexOf(e) + if ((n !== -1 && this.children.splice(n, 1), An.getNotifier(this.store).unsubscribe(e), e.parent !== this)) + return !1 + const o = Fg.delete(e) + for (const [r] of this.store.all()) e.hydrate(r, e.getRaw(r)), e.updateCSSTokenReflection(e.store, r) + return o + } + contains(e) { + return sTt(this.target, e.target) + } + reflectToCSS(e) { + this.isReflecting(e) || (this.reflecting.add(e), tr.cssCustomPropertyReflector.startReflection(e, this.target)) + } + stopReflectToCSS(e) { + this.isReflecting(e) && + (this.reflecting.delete(e), tr.cssCustomPropertyReflector.stopReflection(e, this.target)) + } + isReflecting(e) { + return this.reflecting.has(e) + } + handleChange(e, n) { + const o = $i.getTokenById(n) + o && (this.hydrate(o, this.getRaw(o)), this.updateCSSTokenReflection(this.store, o)) + } + hydrate(e, n) { + if (!this.has(e)) { + const o = this.bindingObservers.get(e) + $i.isDerivedDesignTokenValue(n) + ? o + ? o.source !== n && (this.tearDownBindingObserver(e), this.setupBindingObserver(e, n)) + : this.setupBindingObserver(e, n) + : (o && this.tearDownBindingObserver(e), this.store.set(e, n)) + } + } + setupBindingObserver(e, n) { + const o = new hTt(n, e, this) + return this.bindingObservers.set(e, o), o + } + tearDownBindingObserver(e) { + return this.bindingObservers.has(e) + ? (this.bindingObservers.get(e).disconnect(), this.bindingObservers.delete(e), !0) + : !1 + } +} +tr.cssCustomPropertyReflector = new mTt() +he([yt], tr.prototype, "children", void 0) +function gTt(t) { + return $i.from(t) +} +const ynt = Object.freeze({ + create: gTt, + notifyConnection(t) { + return !t.isConnected || !tr.existsFor(t) ? !1 : (tr.getOrCreate(t).bind(), !0) + }, + notifyDisconnection(t) { + return t.isConnected || !tr.existsFor(t) ? !1 : (tr.getOrCreate(t).unbind(), !0) + }, + registerRoot(t = _c) { + jr.registerRoot(t) + }, + unregisterRoot(t = _c) { + jr.unregisterRoot(t) + }, + }), + UA = Object.freeze({ definitionCallbackOnly: null, ignoreDuplicate: Symbol() }), + qA = new Map(), + Mx = new Map() +let dh = null +const Bg = Wo.createInterface((t) => t.cachedCallback((e) => (dh === null && (dh = new xnt(null, e)), dh))), + knt = Object.freeze({ + tagFor(t) { + return Mx.get(t) + }, + responsibleFor(t) { + const e = t.$$designSystem$$ + return e || Wo.findResponsibleContainer(t).get(Bg) + }, + getOrCreate(t) { + if (!t) return dh === null && (dh = Wo.getOrCreateDOMContainer().get(Bg)), dh + const e = t.$$designSystem$$ + if (e) return e + const n = Wo.getOrCreateDOMContainer(t) + if (n.has(Bg, !1)) return n.get(Bg) + { + const o = new xnt(t, n) + return n.register(tb.instance(Bg, o)), o + } + }, + }) +function vTt(t, e, n) { + return typeof t == "string" ? { name: t, type: e, callback: n } : t +} +class xnt { + constructor(e, n) { + ;(this.owner = e), + (this.container = n), + (this.designTokensInitialized = !1), + (this.prefix = "fast"), + (this.shadowRootMode = void 0), + (this.disambiguate = () => UA.definitionCallbackOnly), + e !== null && (e.$$designSystem$$ = this) + } + withPrefix(e) { + return (this.prefix = e), this + } + withShadowRootMode(e) { + return (this.shadowRootMode = e), this + } + withElementDisambiguation(e) { + return (this.disambiguate = e), this + } + withDesignTokenRoot(e) { + return (this.designTokenRoot = e), this + } + register(...e) { + const n = this.container, + o = [], + r = this.disambiguate, + i = this.shadowRootMode, + s = { + elementPrefix: this.prefix, + tryDefineElement(a, c, d) { + const u = vTt(a, c, d), + { name: m, callback: f, baseClass: g } = u + let { type: b } = u, + v = m, + w = qA.get(v), + _ = !0 + for (; w; ) { + const y = r(v, b, w) + switch (y) { + case UA.ignoreDuplicate: + return + case UA.definitionCallbackOnly: + ;(_ = !1), (w = void 0) + break + default: + ;(v = y), (w = qA.get(v)) + break + } + } + _ && + ((Mx.has(b) || b === No) && (b = class extends b {}), + qA.set(v, b), + Mx.set(b, v), + g && Mx.set(g, v)), + o.push(new bTt(n, v, b, i, f, _)) + }, + } + this.designTokensInitialized || + ((this.designTokensInitialized = !0), + this.designTokenRoot !== null && ynt.registerRoot(this.designTokenRoot)), + n.registerWithContext(s, ...e) + for (const a of o) a.callback(a), a.willDefine && a.definition !== null && a.definition.define() + return this + } +} +class bTt { + constructor(e, n, o, r, i, s) { + ;(this.container = e), + (this.name = n), + (this.type = o), + (this.shadowRootMode = r), + (this.callback = i), + (this.willDefine = s), + (this.definition = null) + } + definePresentation(e) { + mnt.define(this.name, e, this.container) + } + defineElement(e) { + this.definition = new Ob(this.type, Object.assign(Object.assign({}, e), { name: this.name })) + } + tagFor(e) { + return knt.tagFor(e) + } +} +const yTt = (t, e) => Gn` + <template role="${(n) => n.role}" aria-orientation="${(n) => n.orientation}"></template> +`, + kTt = { separator: "separator" } +let $E = class extends No { + constructor() { + super(...arguments), (this.role = kTt.separator), (this.orientation = ME.horizontal) + } +} +he([Le], $E.prototype, "role", void 0) +he([Le], $E.prototype, "orientation", void 0) +const xTt = (t, e) => Gn` + <template + aria-checked="${(n) => n.ariaChecked}" + aria-disabled="${(n) => n.ariaDisabled}" + aria-posinset="${(n) => n.ariaPosInSet}" + aria-selected="${(n) => n.ariaSelected}" + aria-setsize="${(n) => n.ariaSetSize}" + class="${(n) => [n.checked && "checked", n.selected && "selected", n.disabled && "disabled"].filter(Boolean).join(" ")}" + role="option" + > + ${vf(t, e)} + <span class="content" part="content"> + <slot ${fa("content")}></slot> + </span> + ${gf(t, e)} + </template> +` +class tC extends Di { + constructor() { + super(...arguments), (this.activeIndex = -1), (this.rangeStartIndex = -1) + } + get activeOption() { + return this.options[this.activeIndex] + } + get checkedOptions() { + var e + return (e = this.options) === null || e === void 0 ? void 0 : e.filter((n) => n.checked) + } + get firstSelectedOptionIndex() { + return this.options.indexOf(this.firstSelectedOption) + } + activeIndexChanged(e, n) { + var o, r + ;(this.ariaActiveDescendant = + (r = (o = this.options[n]) === null || o === void 0 ? void 0 : o.id) !== null && r !== void 0 ? r : ""), + this.focusAndScrollOptionIntoView() + } + checkActiveIndex() { + if (!this.multiple) return + const e = this.activeOption + e && (e.checked = !0) + } + checkFirstOption(e = !1) { + e + ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex + 1), + this.options.forEach((n, o) => { + n.checked = Dk(o, this.rangeStartIndex) + })) + : this.uncheckAllOptions(), + (this.activeIndex = 0), + this.checkActiveIndex() + } + checkLastOption(e = !1) { + e + ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), + this.options.forEach((n, o) => { + n.checked = Dk(o, this.rangeStartIndex, this.options.length) + })) + : this.uncheckAllOptions(), + (this.activeIndex = this.options.length - 1), + this.checkActiveIndex() + } + connectedCallback() { + super.connectedCallback(), this.addEventListener("focusout", this.focusoutHandler) + } + disconnectedCallback() { + this.removeEventListener("focusout", this.focusoutHandler), super.disconnectedCallback() + } + checkNextOption(e = !1) { + e + ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), + this.options.forEach((n, o) => { + n.checked = Dk(o, this.rangeStartIndex, this.activeIndex + 1) + })) + : this.uncheckAllOptions(), + (this.activeIndex += this.activeIndex < this.options.length - 1 ? 1 : 0), + this.checkActiveIndex() + } + checkPreviousOption(e = !1) { + e + ? (this.rangeStartIndex === -1 && (this.rangeStartIndex = this.activeIndex), + this.checkedOptions.length === 1 && (this.rangeStartIndex += 1), + this.options.forEach((n, o) => { + n.checked = Dk(o, this.activeIndex, this.rangeStartIndex) + })) + : this.uncheckAllOptions(), + (this.activeIndex -= this.activeIndex > 0 ? 1 : 0), + this.checkActiveIndex() + } + clickHandler(e) { + var n + if (!this.multiple) return super.clickHandler(e) + const o = (n = e.target) === null || n === void 0 ? void 0 : n.closest("[role=option]") + if (!(!o || o.disabled)) + return ( + this.uncheckAllOptions(), + (this.activeIndex = this.options.indexOf(o)), + this.checkActiveIndex(), + this.toggleSelectedForAllCheckedOptions(), + !0 + ) + } + focusAndScrollOptionIntoView() { + super.focusAndScrollOptionIntoView(this.activeOption) + } + focusinHandler(e) { + if (!this.multiple) return super.focusinHandler(e) + !this.shouldSkipFocus && + e.target === e.currentTarget && + (this.uncheckAllOptions(), + this.activeIndex === -1 && + (this.activeIndex = this.firstSelectedOptionIndex !== -1 ? this.firstSelectedOptionIndex : 0), + this.checkActiveIndex(), + this.setSelectedOptions(), + this.focusAndScrollOptionIntoView()), + (this.shouldSkipFocus = !1) + } + focusoutHandler(e) { + this.multiple && this.uncheckAllOptions() + } + keydownHandler(e) { + if (!this.multiple) return super.keydownHandler(e) + if (this.disabled) return !0 + const { key: n, shiftKey: o } = e + switch (((this.shouldSkipFocus = !1), n)) { + case bf: { + this.checkFirstOption(o) + return + } + case Vp: { + this.checkNextOption(o) + return + } + case Hp: { + this.checkPreviousOption(o) + return + } + case yf: { + this.checkLastOption(o) + return + } + case jE: + return this.focusAndScrollOptionIntoView(), !0 + case X_: + return this.uncheckAllOptions(), this.checkActiveIndex(), !0 + case Bb: + if ((e.preventDefault(), this.typeAheadExpired)) { + this.toggleSelectedForAllCheckedOptions() + return + } + default: + return n.length === 1 && this.handleTypeAhead(`${n}`), !0 + } + } + mousedownHandler(e) { + if (e.offsetX >= 0 && e.offsetX <= this.scrollWidth) return super.mousedownHandler(e) + } + multipleChanged(e, n) { + var o + ;(this.ariaMultiSelectable = n ? "true" : null), + (o = this.options) === null || + o === void 0 || + o.forEach((r) => { + r.checked = n ? !1 : void 0 + }), + this.setSelectedOptions() + } + setSelectedOptions() { + if (!this.multiple) { + super.setSelectedOptions() + return + } + this.$fastController.isConnected && + this.options && + ((this.selectedOptions = this.options.filter((e) => e.selected)), this.focusAndScrollOptionIntoView()) + } + sizeChanged(e, n) { + var o + const r = Math.max(0, parseInt((o = n == null ? void 0 : n.toFixed()) !== null && o !== void 0 ? o : "", 10)) + r !== n && + In.queueUpdate(() => { + this.size = r + }) + } + toggleSelectedForAllCheckedOptions() { + const e = this.checkedOptions.filter((o) => !o.disabled), + n = !e.every((o) => o.selected) + e.forEach((o) => (o.selected = n)), + (this.selectedIndex = this.options.indexOf(e[e.length - 1])), + this.setSelectedOptions() + } + typeaheadBufferChanged(e, n) { + if (!this.multiple) { + super.typeaheadBufferChanged(e, n) + return + } + if (this.$fastController.isConnected) { + const o = this.getTypeaheadMatches(), + r = this.options.indexOf(o[0]) + r > -1 && ((this.activeIndex = r), this.uncheckAllOptions(), this.checkActiveIndex()), + (this.typeAheadExpired = !1) + } + } + uncheckAllOptions(e = !1) { + this.options.forEach((n) => (n.checked = this.multiple ? !1 : void 0)), e || (this.rangeStartIndex = -1) + } +} +he([yt], tC.prototype, "activeIndex", void 0) +he([Le({ mode: "boolean" })], tC.prototype, "multiple", void 0) +he([Le({ converter: il })], tC.prototype, "size", void 0) +class wTt extends No {} +class _Tt extends qb(wTt) { + constructor() { + super(...arguments), (this.proxy = document.createElement("input")) + } +} +const CTt = { text: "text" } +let Vs = class extends _Tt { + constructor() { + super(...arguments), (this.type = CTt.text) + } + readOnlyChanged() { + this.proxy instanceof HTMLInputElement && ((this.proxy.readOnly = this.readOnly), this.validate()) + } + autofocusChanged() { + this.proxy instanceof HTMLInputElement && ((this.proxy.autofocus = this.autofocus), this.validate()) + } + placeholderChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.placeholder = this.placeholder) + } + typeChanged() { + this.proxy instanceof HTMLInputElement && ((this.proxy.type = this.type), this.validate()) + } + listChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.setAttribute("list", this.list), this.validate()) + } + maxlengthChanged() { + this.proxy instanceof HTMLInputElement && ((this.proxy.maxLength = this.maxlength), this.validate()) + } + minlengthChanged() { + this.proxy instanceof HTMLInputElement && ((this.proxy.minLength = this.minlength), this.validate()) + } + patternChanged() { + this.proxy instanceof HTMLInputElement && ((this.proxy.pattern = this.pattern), this.validate()) + } + sizeChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.size = this.size) + } + spellcheckChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.spellcheck = this.spellcheck) + } + connectedCallback() { + super.connectedCallback(), + this.proxy.setAttribute("type", this.type), + this.validate(), + this.autofocus && + In.queueUpdate(() => { + this.focus() + }) + } + select() { + this.control.select(), this.$emit("select") + } + handleTextInput() { + this.value = this.control.value + } + handleChange() { + this.$emit("change") + } + validate() { + super.validate(this.control) + } +} +he([Le({ attribute: "readonly", mode: "boolean" })], Vs.prototype, "readOnly", void 0) +he([Le({ mode: "boolean" })], Vs.prototype, "autofocus", void 0) +he([Le], Vs.prototype, "placeholder", void 0) +he([Le], Vs.prototype, "type", void 0) +he([Le], Vs.prototype, "list", void 0) +he([Le({ converter: il })], Vs.prototype, "maxlength", void 0) +he([Le({ converter: il })], Vs.prototype, "minlength", void 0) +he([Le], Vs.prototype, "pattern", void 0) +he([Le({ converter: il })], Vs.prototype, "size", void 0) +he([Le({ mode: "boolean" })], Vs.prototype, "spellcheck", void 0) +he([yt], Vs.prototype, "defaultSlottedNodes", void 0) +class LE {} +ms(LE, Oo) +ms(Vs, ff, LE) +const PF = 44, + STt = (t, e) => Gn` + <template + role="progressbar" + aria-valuenow="${(n) => n.value}" + aria-valuemin="${(n) => n.min}" + aria-valuemax="${(n) => n.max}" + class="${(n) => (n.paused ? "paused" : "")}" + > + ${TE( + (n) => typeof n.value == "number", + Gn` + <svg + class="progress" + part="progress" + viewBox="0 0 16 16" + slot="determinate" + > + <circle + class="background" + part="background" + cx="8px" + cy="8px" + r="7px" + ></circle> + <circle + class="determinate" + part="determinate" + style="stroke-dasharray: ${(n) => (PF * n.percentComplete) / 100}px ${PF}px" + cx="8px" + cy="8px" + r="7px" + ></circle> + </svg> + `, + Gn` + <slot name="indeterminate" slot="indeterminate"> + ${e.indeterminateIndicator || ""} + </slot> + `, + )} + </template> +` +class xf extends No { + constructor() { + super(...arguments), (this.percentComplete = 0) + } + valueChanged() { + this.$fastController.isConnected && this.updatePercentComplete() + } + minChanged() { + this.$fastController.isConnected && this.updatePercentComplete() + } + maxChanged() { + this.$fastController.isConnected && this.updatePercentComplete() + } + connectedCallback() { + super.connectedCallback(), this.updatePercentComplete() + } + updatePercentComplete() { + const e = typeof this.min == "number" ? this.min : 0, + n = typeof this.max == "number" ? this.max : 100, + o = typeof this.value == "number" ? this.value : 0, + r = n - e + this.percentComplete = r === 0 ? 0 : Math.fround(((o - e) / r) * 100) + } +} +he([Le({ converter: il })], xf.prototype, "value", void 0) +he([Le({ converter: il })], xf.prototype, "min", void 0) +he([Le({ converter: il })], xf.prototype, "max", void 0) +he([Le({ mode: "boolean" })], xf.prototype, "paused", void 0) +he([yt], xf.prototype, "percentComplete", void 0) +const ATt = (t, e) => Gn` + <template + role="radiogroup" + aria-disabled="${(n) => n.disabled}" + aria-readonly="${(n) => n.readOnly}" + @click="${(n, o) => n.clickHandler(o.event)}" + @keydown="${(n, o) => n.keydownHandler(o.event)}" + @focusout="${(n, o) => n.focusOutHandler(o.event)}" + > + <slot name="label"></slot> + <div + class="positioning-region ${(n) => (n.orientation === ME.horizontal ? "horizontal" : "vertical")}" + part="positioning-region" + > + <slot + ${fa({ property: "slottedRadioButtons", filter: IE("[role=radio]") })} + ></slot> + </div> + </template> +` +let pu = class extends No { + constructor() { + super(...arguments), + (this.orientation = ME.horizontal), + (this.radioChangeHandler = (e) => { + const n = e.target + n.checked && + (this.slottedRadioButtons.forEach((o) => { + o !== n && + ((o.checked = !1), this.isInsideFoundationToolbar || o.setAttribute("tabindex", "-1")) + }), + (this.selectedRadio = n), + (this.value = n.value), + n.setAttribute("tabindex", "0"), + (this.focusedRadio = n)), + e.stopPropagation() + }), + (this.moveToRadioByIndex = (e, n) => { + const o = e[n] + this.isInsideToolbar || + (o.setAttribute("tabindex", "0"), + o.readOnly + ? this.slottedRadioButtons.forEach((r) => { + r !== o && r.setAttribute("tabindex", "-1") + }) + : ((o.checked = !0), (this.selectedRadio = o))), + (this.focusedRadio = o), + o.focus() + }), + (this.moveRightOffGroup = () => { + var e + ;(e = this.nextElementSibling) === null || e === void 0 || e.focus() + }), + (this.moveLeftOffGroup = () => { + var e + ;(e = this.previousElementSibling) === null || e === void 0 || e.focus() + }), + (this.focusOutHandler = (e) => { + const n = this.slottedRadioButtons, + o = e.target, + r = o !== null ? n.indexOf(o) : 0, + i = this.focusedRadio ? n.indexOf(this.focusedRadio) : -1 + return ( + ((i === 0 && r === i) || (i === n.length - 1 && i === r)) && + (this.selectedRadio + ? ((this.focusedRadio = this.selectedRadio), + this.isInsideFoundationToolbar || + (this.selectedRadio.setAttribute("tabindex", "0"), + n.forEach((s) => { + s !== this.selectedRadio && s.setAttribute("tabindex", "-1") + }))) + : ((this.focusedRadio = n[0]), + this.focusedRadio.setAttribute("tabindex", "0"), + n.forEach((s) => { + s !== this.focusedRadio && s.setAttribute("tabindex", "-1") + }))), + !0 + ) + }), + (this.clickHandler = (e) => { + const n = e.target + if (n) { + const o = this.slottedRadioButtons + n.checked || o.indexOf(n) === 0 + ? (n.setAttribute("tabindex", "0"), (this.selectedRadio = n)) + : (n.setAttribute("tabindex", "-1"), (this.selectedRadio = null)), + (this.focusedRadio = n) + } + e.preventDefault() + }), + (this.shouldMoveOffGroupToTheRight = (e, n, o) => e === n.length && this.isInsideToolbar && o === ob), + (this.shouldMoveOffGroupToTheLeft = (e, n) => + (this.focusedRadio ? e.indexOf(this.focusedRadio) - 1 : 0) < 0 && this.isInsideToolbar && n === nb), + (this.checkFocusedRadio = () => { + this.focusedRadio !== null && + !this.focusedRadio.readOnly && + !this.focusedRadio.checked && + ((this.focusedRadio.checked = !0), + this.focusedRadio.setAttribute("tabindex", "0"), + this.focusedRadio.focus(), + (this.selectedRadio = this.focusedRadio)) + }), + (this.moveRight = (e) => { + const n = this.slottedRadioButtons + let o = 0 + if ( + ((o = this.focusedRadio ? n.indexOf(this.focusedRadio) + 1 : 1), + this.shouldMoveOffGroupToTheRight(o, n, e.key)) + ) { + this.moveRightOffGroup() + return + } else o === n.length && (o = 0) + for (; o < n.length && n.length > 1; ) + if (n[o].disabled) { + if (this.focusedRadio && o === n.indexOf(this.focusedRadio)) break + if (o + 1 >= n.length) { + if (this.isInsideToolbar) break + o = 0 + } else o += 1 + } else { + this.moveToRadioByIndex(n, o) + break + } + }), + (this.moveLeft = (e) => { + const n = this.slottedRadioButtons + let o = 0 + if ( + ((o = this.focusedRadio ? n.indexOf(this.focusedRadio) - 1 : 0), + (o = o < 0 ? n.length - 1 : o), + this.shouldMoveOffGroupToTheLeft(n, e.key)) + ) { + this.moveLeftOffGroup() + return + } + for (; o >= 0 && n.length > 1; ) + if (n[o].disabled) { + if (this.focusedRadio && o === n.indexOf(this.focusedRadio)) break + o - 1 < 0 ? (o = n.length - 1) : (o -= 1) + } else { + this.moveToRadioByIndex(n, o) + break + } + }), + (this.keydownHandler = (e) => { + const n = e.key + if (n in BRt && this.isInsideFoundationToolbar) return !0 + switch (n) { + case Fb: { + this.checkFocusedRadio() + break + } + case ob: + case Vp: { + this.direction === Qh.ltr ? this.moveRight(e) : this.moveLeft(e) + break + } + case nb: + case Hp: { + this.direction === Qh.ltr ? this.moveLeft(e) : this.moveRight(e) + break + } + default: + return !0 + } + }) + } + readOnlyChanged() { + this.slottedRadioButtons !== void 0 && + this.slottedRadioButtons.forEach((e) => { + this.readOnly ? (e.readOnly = !0) : (e.readOnly = !1) + }) + } + disabledChanged() { + this.slottedRadioButtons !== void 0 && + this.slottedRadioButtons.forEach((e) => { + this.disabled ? (e.disabled = !0) : (e.disabled = !1) + }) + } + nameChanged() { + this.slottedRadioButtons && + this.slottedRadioButtons.forEach((e) => { + e.setAttribute("name", this.name) + }) + } + valueChanged() { + this.slottedRadioButtons && + this.slottedRadioButtons.forEach((e) => { + e.value === this.value && ((e.checked = !0), (this.selectedRadio = e)) + }), + this.$emit("change") + } + slottedRadioButtonsChanged(e, n) { + this.slottedRadioButtons && this.slottedRadioButtons.length > 0 && this.setupRadioButtons() + } + get parentToolbar() { + return this.closest('[role="toolbar"]') + } + get isInsideToolbar() { + var e + return (e = this.parentToolbar) !== null && e !== void 0 ? e : !1 + } + get isInsideFoundationToolbar() { + var e + return !!(!((e = this.parentToolbar) === null || e === void 0) && e.$fastController) + } + connectedCallback() { + super.connectedCallback(), (this.direction = KRt(this)), this.setupRadioButtons() + } + disconnectedCallback() { + this.slottedRadioButtons.forEach((e) => { + e.removeEventListener("change", this.radioChangeHandler) + }) + } + setupRadioButtons() { + const e = this.slottedRadioButtons.filter((r) => r.hasAttribute("checked")), + n = e ? e.length : 0 + if (n > 1) { + const r = e[n - 1] + r.checked = !0 + } + let o = !1 + if ( + (this.slottedRadioButtons.forEach((r) => { + this.name !== void 0 && r.setAttribute("name", this.name), + this.disabled && (r.disabled = !0), + this.readOnly && (r.readOnly = !0), + this.value && this.value === r.value + ? ((this.selectedRadio = r), + (this.focusedRadio = r), + (r.checked = !0), + r.setAttribute("tabindex", "0"), + (o = !0)) + : (this.isInsideFoundationToolbar || r.setAttribute("tabindex", "-1"), (r.checked = !1)), + r.addEventListener("change", this.radioChangeHandler) + }), + this.value === void 0 && this.slottedRadioButtons.length > 0) + ) { + const r = this.slottedRadioButtons.filter((s) => s.hasAttribute("checked")), + i = r !== null ? r.length : 0 + if (i > 0 && !o) { + const s = r[i - 1] + ;(s.checked = !0), (this.focusedRadio = s), s.setAttribute("tabindex", "0") + } else + this.slottedRadioButtons[0].setAttribute("tabindex", "0"), + (this.focusedRadio = this.slottedRadioButtons[0]) + } + } +} +he([Le({ attribute: "readonly", mode: "boolean" })], pu.prototype, "readOnly", void 0) +he([Le({ attribute: "disabled", mode: "boolean" })], pu.prototype, "disabled", void 0) +he([Le], pu.prototype, "name", void 0) +he([Le], pu.prototype, "value", void 0) +he([Le], pu.prototype, "orientation", void 0) +he([yt], pu.prototype, "childItems", void 0) +he([yt], pu.prototype, "slottedRadioButtons", void 0) +const PTt = (t, e) => Gn` + <template + role="radio" + class="${(n) => (n.checked ? "checked" : "")} ${(n) => (n.readOnly ? "readonly" : "")}" + aria-checked="${(n) => n.checked}" + aria-required="${(n) => n.required}" + aria-disabled="${(n) => n.disabled}" + aria-readonly="${(n) => n.readOnly}" + @keypress="${(n, o) => n.keypressHandler(o.event)}" + @click="${(n, o) => n.clickHandler(o.event)}" + > + <div part="control" class="control"> + <slot name="checked-indicator"> + ${e.checkedIndicator || ""} + </slot> + </div> + <label + part="label" + class="${(n) => (n.defaultSlottedNodes && n.defaultSlottedNodes.length ? "label" : "label label__hidden")}" + > + <slot ${fa("defaultSlottedNodes")}></slot> + </label> + </template> +` +class RTt extends No {} +class TTt extends gnt(RTt) { + constructor() { + super(...arguments), (this.proxy = document.createElement("input")) + } +} +let nC = class extends TTt { + constructor() { + super(), + (this.initialValue = "on"), + (this.keypressHandler = (e) => { + switch (e.key) { + case Bb: + !this.checked && !this.readOnly && (this.checked = !0) + return + } + return !0 + }), + this.proxy.setAttribute("type", "radio") + } + readOnlyChanged() { + this.proxy instanceof HTMLInputElement && (this.proxy.readOnly = this.readOnly) + } + defaultCheckedChanged() { + var e + this.$fastController.isConnected && + !this.dirtyChecked && + (this.isInsideRadioGroup() || + ((this.checked = (e = this.defaultChecked) !== null && e !== void 0 ? e : !1), + (this.dirtyChecked = !1))) + } + connectedCallback() { + var e, n + super.connectedCallback(), + this.validate(), + ((e = this.parentElement) === null || e === void 0 ? void 0 : e.getAttribute("role")) !== "radiogroup" && + this.getAttribute("tabindex") === null && + (this.disabled || this.setAttribute("tabindex", "0")), + this.checkedAttribute && + (this.dirtyChecked || + this.isInsideRadioGroup() || + ((this.checked = (n = this.defaultChecked) !== null && n !== void 0 ? n : !1), + (this.dirtyChecked = !1))) + } + isInsideRadioGroup() { + return this.closest("[role=radiogroup]") !== null + } + clickHandler(e) { + !this.disabled && !this.readOnly && !this.checked && (this.checked = !0) + } +} +he([Le({ attribute: "readonly", mode: "boolean" })], nC.prototype, "readOnly", void 0) +he([yt], nC.prototype, "name", void 0) +he([yt], nC.prototype, "defaultSlottedNodes", void 0) +function ITt(t, e, n) { + return t.nodeType !== Node.TEXT_NODE ? !0 : typeof t.nodeValue == "string" && !!t.nodeValue.trim().length +} +class MTt extends tC {} +class jTt extends qb(MTt) { + constructor() { + super(...arguments), (this.proxy = document.createElement("select")) + } +} +let mu = class extends jTt { + constructor() { + super(...arguments), + (this.open = !1), + (this.forcedPosition = !1), + (this.listboxId = Ww("listbox-")), + (this.maxHeight = 0) + } + openChanged(e, n) { + if (this.collapsible) { + if (this.open) { + ;(this.ariaControls = this.listboxId), + (this.ariaExpanded = "true"), + this.setPositioning(), + this.focusAndScrollOptionIntoView(), + (this.indexWhenOpened = this.selectedIndex), + In.queueUpdate(() => this.focus()) + return + } + ;(this.ariaControls = ""), (this.ariaExpanded = "false") + } + } + get collapsible() { + return !(this.multiple || typeof this.size == "number") + } + get value() { + return An.track(this, "value"), this._value + } + set value(e) { + var n, o, r, i, s, a, c + const d = `${this._value}` + if (!((n = this._options) === null || n === void 0) && n.length) { + const u = this._options.findIndex((g) => g.value === e), + m = + (r = (o = this._options[this.selectedIndex]) === null || o === void 0 ? void 0 : o.value) !== + null && r !== void 0 + ? r + : null, + f = + (s = (i = this._options[u]) === null || i === void 0 ? void 0 : i.value) !== null && s !== void 0 + ? s + : null + ;(u === -1 || m !== f) && ((e = ""), (this.selectedIndex = u)), + (e = + (c = (a = this.firstSelectedOption) === null || a === void 0 ? void 0 : a.value) !== null && + c !== void 0 + ? c + : e) + } + d !== e && ((this._value = e), super.valueChanged(d, e), An.notify(this, "value"), this.updateDisplayValue()) + } + updateValue(e) { + var n, o + this.$fastController.isConnected && + (this.value = + (o = (n = this.firstSelectedOption) === null || n === void 0 ? void 0 : n.value) !== null && + o !== void 0 + ? o + : ""), + e && (this.$emit("input"), this.$emit("change", this, { bubbles: !0, composed: void 0 })) + } + selectedIndexChanged(e, n) { + super.selectedIndexChanged(e, n), this.updateValue() + } + positionChanged(e, n) { + ;(this.positionAttribute = n), this.setPositioning() + } + setPositioning() { + const e = this.getBoundingClientRect(), + o = window.innerHeight - e.bottom + ;(this.position = this.forcedPosition ? this.positionAttribute : e.top > o ? FA.above : FA.below), + (this.positionAttribute = this.forcedPosition ? this.positionAttribute : this.position), + (this.maxHeight = this.position === FA.above ? ~~e.top : ~~o) + } + get displayValue() { + var e, n + return ( + An.track(this, "displayValue"), + (n = (e = this.firstSelectedOption) === null || e === void 0 ? void 0 : e.text) !== null && n !== void 0 + ? n + : "" + ) + } + disabledChanged(e, n) { + super.disabledChanged && super.disabledChanged(e, n), (this.ariaDisabled = this.disabled ? "true" : "false") + } + formResetCallback() { + this.setProxyOptions(), super.setDefaultSelectedOption(), this.selectedIndex === -1 && (this.selectedIndex = 0) + } + clickHandler(e) { + if (!this.disabled) { + if (this.open) { + const n = e.target.closest("option,[role=option]") + if (n && n.disabled) return + } + return ( + super.clickHandler(e), + (this.open = this.collapsible && !this.open), + !this.open && this.indexWhenOpened !== this.selectedIndex && this.updateValue(!0), + !0 + ) + } + } + focusoutHandler(e) { + var n + if ((super.focusoutHandler(e), !this.open)) return !0 + const o = e.relatedTarget + if (this.isSameNode(o)) { + this.focus() + return + } + ;(!((n = this.options) === null || n === void 0) && n.includes(o)) || + ((this.open = !1), this.indexWhenOpened !== this.selectedIndex && this.updateValue(!0)) + } + handleChange(e, n) { + super.handleChange(e, n), n === "value" && this.updateValue() + } + slottedOptionsChanged(e, n) { + this.options.forEach((o) => { + An.getNotifier(o).unsubscribe(this, "value") + }), + super.slottedOptionsChanged(e, n), + this.options.forEach((o) => { + An.getNotifier(o).subscribe(this, "value") + }), + this.setProxyOptions(), + this.updateValue() + } + mousedownHandler(e) { + var n + return e.offsetX >= 0 && e.offsetX <= ((n = this.listbox) === null || n === void 0 ? void 0 : n.scrollWidth) + ? super.mousedownHandler(e) + : this.collapsible + } + multipleChanged(e, n) { + super.multipleChanged(e, n), this.proxy && (this.proxy.multiple = n) + } + selectedOptionsChanged(e, n) { + var o + super.selectedOptionsChanged(e, n), + (o = this.options) === null || + o === void 0 || + o.forEach((r, i) => { + var s + const a = (s = this.proxy) === null || s === void 0 ? void 0 : s.options.item(i) + a && (a.selected = r.selected) + }) + } + setDefaultSelectedOption() { + var e + const n = + (e = this.options) !== null && e !== void 0 + ? e + : Array.from(this.children).filter(Di.slottedOptionFilter), + o = + n == null + ? void 0 + : n.findIndex((r) => r.hasAttribute("selected") || r.selected || r.value === this.value) + if (o !== -1) { + this.selectedIndex = o + return + } + this.selectedIndex = 0 + } + setProxyOptions() { + this.proxy instanceof HTMLSelectElement && + this.options && + ((this.proxy.options.length = 0), + this.options.forEach((e) => { + const n = e.proxy || (e instanceof HTMLOptionElement ? e.cloneNode() : null) + n && this.proxy.options.add(n) + })) + } + keydownHandler(e) { + super.keydownHandler(e) + const n = e.key || e.key.charCodeAt(0) + switch (n) { + case Bb: { + e.preventDefault(), this.collapsible && this.typeAheadExpired && (this.open = !this.open) + break + } + case bf: + case yf: { + e.preventDefault() + break + } + case Fb: { + e.preventDefault(), (this.open = !this.open) + break + } + case X_: { + this.collapsible && this.open && (e.preventDefault(), (this.open = !1)) + break + } + case jE: + return this.collapsible && this.open && (e.preventDefault(), (this.open = !1)), !0 + } + return ( + !this.open && + this.indexWhenOpened !== this.selectedIndex && + (this.updateValue(!0), (this.indexWhenOpened = this.selectedIndex)), + !(n === Vp || n === Hp) + ) + } + connectedCallback() { + super.connectedCallback(), + (this.forcedPosition = !!this.positionAttribute), + this.addEventListener("contentchange", this.updateDisplayValue) + } + disconnectedCallback() { + this.removeEventListener("contentchange", this.updateDisplayValue), super.disconnectedCallback() + } + sizeChanged(e, n) { + super.sizeChanged(e, n), this.proxy && (this.proxy.size = n) + } + updateDisplayValue() { + this.collapsible && An.notify(this, "displayValue") + } +} +he([Le({ attribute: "open", mode: "boolean" })], mu.prototype, "open", void 0) +he([$Pt], mu.prototype, "collapsible", null) +he([yt], mu.prototype, "control", void 0) +he([Le({ attribute: "position" })], mu.prototype, "positionAttribute", void 0) +he([yt], mu.prototype, "position", void 0) +he([yt], mu.prototype, "maxHeight", void 0) +class DE {} +he([yt], DE.prototype, "ariaControls", void 0) +ms(DE, Gp) +ms(mu, ff, DE) +const ETt = (t, e) => Gn` + <template + class="${(n) => [n.collapsible && "collapsible", n.collapsible && n.open && "open", n.disabled && "disabled", n.collapsible && n.position].filter(Boolean).join(" ")}" + aria-activedescendant="${(n) => n.ariaActiveDescendant}" + aria-controls="${(n) => n.ariaControls}" + aria-disabled="${(n) => n.ariaDisabled}" + aria-expanded="${(n) => n.ariaExpanded}" + aria-haspopup="${(n) => (n.collapsible ? "listbox" : null)}" + aria-multiselectable="${(n) => n.ariaMultiSelectable}" + ?open="${(n) => n.open}" + role="combobox" + tabindex="${(n) => (n.disabled ? null : "0")}" + @click="${(n, o) => n.clickHandler(o.event)}" + @focusin="${(n, o) => n.focusinHandler(o.event)}" + @focusout="${(n, o) => n.focusoutHandler(o.event)}" + @keydown="${(n, o) => n.keydownHandler(o.event)}" + @mousedown="${(n, o) => n.mousedownHandler(o.event)}" + > + ${TE( + (n) => n.collapsible, + Gn` + <div + class="control" + part="control" + ?disabled="${(n) => n.disabled}" + ${Oi("control")} + > + ${vf(t, e)} + <slot name="button-container"> + <div class="selected-value" part="selected-value"> + <slot name="selected-value">${(n) => n.displayValue}</slot> + </div> + <div aria-hidden="true" class="indicator" part="indicator"> + <slot name="indicator"> + ${e.indicator || ""} + </slot> + </div> + </slot> + ${gf(t, e)} + </div> + `, + )} + <div + class="listbox" + id="${(n) => n.listboxId}" + part="listbox" + role="listbox" + ?disabled="${(n) => n.disabled}" + ?hidden="${(n) => (n.collapsible ? !n.open : !1)}" + ${Oi("listbox")} + > + <slot + ${fa({ filter: Di.slottedOptionFilter, flatten: !0, property: "slottedOptions" })} + ></slot> + </div> + </template> +`, + zTt = (t, e) => Gn` + <template slot="tabpanel" role="tabpanel"> + <slot></slot> + </template> +` +class $Tt extends No {} +const LTt = (t, e) => Gn` + <template slot="tab" role="tab" aria-disabled="${(n) => n.disabled}"> + <slot></slot> + </template> +` +let wnt = class extends No {} +he([Le({ mode: "boolean" })], wnt.prototype, "disabled", void 0) +const DTt = (t, e) => Gn` + <template class="${(n) => n.orientation}"> + ${vf(t, e)} + <div class="tablist" part="tablist" role="tablist"> + <slot class="tab" name="tab" part="tab" ${fa("tabs")}></slot> + + ${TE( + (n) => n.showActiveIndicator, + Gn` + <div + ${Oi("activeIndicatorRef")} + class="activeIndicator" + part="activeIndicator" + ></div> + `, + )} + </div> + ${gf(t, e)} + <div class="tabpanel" part="tabpanel"> + <slot name="tabpanel" ${fa("tabpanels")}></slot> + </div> + </template> +`, + tM = { horizontal: "horizontal" } +class qc extends No { + constructor() { + super(...arguments), + (this.orientation = tM.horizontal), + (this.activeindicator = !0), + (this.showActiveIndicator = !0), + (this.prevActiveTabIndex = 0), + (this.activeTabIndex = 0), + (this.ticking = !1), + (this.change = () => { + this.$emit("change", this.activetab) + }), + (this.isDisabledElement = (e) => e.getAttribute("aria-disabled") === "true"), + (this.isHiddenElement = (e) => e.hasAttribute("hidden")), + (this.isFocusableElement = (e) => !this.isDisabledElement(e) && !this.isHiddenElement(e)), + (this.setTabs = () => { + const e = "gridColumn", + n = "gridRow", + o = this.isHorizontal() ? e : n + ;(this.activeTabIndex = this.getActiveIndex()), + (this.showActiveIndicator = !1), + this.tabs.forEach((r, i) => { + if (r.slot === "tab") { + const s = this.activeTabIndex === i && this.isFocusableElement(r) + this.activeindicator && this.isFocusableElement(r) && (this.showActiveIndicator = !0) + const a = this.tabIds[i], + c = this.tabpanelIds[i] + r.setAttribute("id", a), + r.setAttribute("aria-selected", s ? "true" : "false"), + r.setAttribute("aria-controls", c), + r.addEventListener("click", this.handleTabClick), + r.addEventListener("keydown", this.handleTabKeyDown), + r.setAttribute("tabindex", s ? "0" : "-1"), + s && ((this.activetab = r), (this.activeid = a)) + } + ;(r.style[e] = ""), + (r.style[n] = ""), + (r.style[o] = `${i + 1}`), + this.isHorizontal() ? r.classList.remove("vertical") : r.classList.add("vertical") + }) + }), + (this.setTabPanels = () => { + this.tabpanels.forEach((e, n) => { + const o = this.tabIds[n], + r = this.tabpanelIds[n] + e.setAttribute("id", r), + e.setAttribute("aria-labelledby", o), + this.activeTabIndex !== n ? e.setAttribute("hidden", "") : e.removeAttribute("hidden") + }) + }), + (this.handleTabClick = (e) => { + const n = e.currentTarget + n.nodeType === 1 && + this.isFocusableElement(n) && + ((this.prevActiveTabIndex = this.activeTabIndex), + (this.activeTabIndex = this.tabs.indexOf(n)), + this.setComponent()) + }), + (this.handleTabKeyDown = (e) => { + if (this.isHorizontal()) + switch (e.key) { + case nb: + e.preventDefault(), this.adjustBackward(e) + break + case ob: + e.preventDefault(), this.adjustForward(e) + break + } + else + switch (e.key) { + case Hp: + e.preventDefault(), this.adjustBackward(e) + break + case Vp: + e.preventDefault(), this.adjustForward(e) + break + } + switch (e.key) { + case bf: + e.preventDefault(), this.adjust(-this.activeTabIndex) + break + case yf: + e.preventDefault(), this.adjust(this.tabs.length - this.activeTabIndex - 1) + break + } + }), + (this.adjustForward = (e) => { + const n = this.tabs + let o = 0 + for ( + o = this.activetab ? n.indexOf(this.activetab) + 1 : 1, o === n.length && (o = 0); + o < n.length && n.length > 1; + + ) + if (this.isFocusableElement(n[o])) { + this.moveToTabByIndex(n, o) + break + } else { + if (this.activetab && o === n.indexOf(this.activetab)) break + o + 1 >= n.length ? (o = 0) : (o += 1) + } + }), + (this.adjustBackward = (e) => { + const n = this.tabs + let o = 0 + for ( + o = this.activetab ? n.indexOf(this.activetab) - 1 : 0, o = o < 0 ? n.length - 1 : o; + o >= 0 && n.length > 1; + + ) + if (this.isFocusableElement(n[o])) { + this.moveToTabByIndex(n, o) + break + } else o - 1 < 0 ? (o = n.length - 1) : (o -= 1) + }), + (this.moveToTabByIndex = (e, n) => { + const o = e[n] + ;(this.activetab = o), + (this.prevActiveTabIndex = this.activeTabIndex), + (this.activeTabIndex = n), + o.focus(), + this.setComponent() + }) + } + orientationChanged() { + this.$fastController.isConnected && (this.setTabs(), this.setTabPanels(), this.handleActiveIndicatorPosition()) + } + activeidChanged(e, n) { + this.$fastController.isConnected && + this.tabs.length <= this.tabpanels.length && + ((this.prevActiveTabIndex = this.tabs.findIndex((o) => o.id === e)), + this.setTabs(), + this.setTabPanels(), + this.handleActiveIndicatorPosition()) + } + tabsChanged() { + this.$fastController.isConnected && + this.tabs.length <= this.tabpanels.length && + ((this.tabIds = this.getTabIds()), + (this.tabpanelIds = this.getTabPanelIds()), + this.setTabs(), + this.setTabPanels(), + this.handleActiveIndicatorPosition()) + } + tabpanelsChanged() { + this.$fastController.isConnected && + this.tabpanels.length <= this.tabs.length && + ((this.tabIds = this.getTabIds()), + (this.tabpanelIds = this.getTabPanelIds()), + this.setTabs(), + this.setTabPanels(), + this.handleActiveIndicatorPosition()) + } + getActiveIndex() { + return this.activeid !== void 0 + ? this.tabIds.indexOf(this.activeid) === -1 + ? 0 + : this.tabIds.indexOf(this.activeid) + : 0 + } + getTabIds() { + return this.tabs.map((e) => { + var n + return (n = e.getAttribute("id")) !== null && n !== void 0 ? n : `tab-${Ww()}` + }) + } + getTabPanelIds() { + return this.tabpanels.map((e) => { + var n + return (n = e.getAttribute("id")) !== null && n !== void 0 ? n : `panel-${Ww()}` + }) + } + setComponent() { + this.activeTabIndex !== this.prevActiveTabIndex && + ((this.activeid = this.tabIds[this.activeTabIndex]), this.focusTab(), this.change()) + } + isHorizontal() { + return this.orientation === tM.horizontal + } + handleActiveIndicatorPosition() { + this.showActiveIndicator && + this.activeindicator && + this.activeTabIndex !== this.prevActiveTabIndex && + (this.ticking ? (this.ticking = !1) : ((this.ticking = !0), this.animateActiveIndicator())) + } + animateActiveIndicator() { + this.ticking = !0 + const e = this.isHorizontal() ? "gridColumn" : "gridRow", + n = this.isHorizontal() ? "translateX" : "translateY", + o = this.isHorizontal() ? "offsetLeft" : "offsetTop", + r = this.activeIndicatorRef[o] + this.activeIndicatorRef.style[e] = `${this.activeTabIndex + 1}` + const i = this.activeIndicatorRef[o] + this.activeIndicatorRef.style[e] = `${this.prevActiveTabIndex + 1}` + const s = i - r + ;(this.activeIndicatorRef.style.transform = `${n}(${s}px)`), + this.activeIndicatorRef.classList.add("activeIndicatorTransition"), + this.activeIndicatorRef.addEventListener("transitionend", () => { + ;(this.ticking = !1), + (this.activeIndicatorRef.style[e] = `${this.activeTabIndex + 1}`), + (this.activeIndicatorRef.style.transform = `${n}(0px)`), + this.activeIndicatorRef.classList.remove("activeIndicatorTransition") + }) + } + adjust(e) { + const n = this.tabs.filter((s) => this.isFocusableElement(s)), + o = n.indexOf(this.activetab), + r = URt(0, n.length - 1, o + e), + i = this.tabs.indexOf(n[r]) + i > -1 && this.moveToTabByIndex(this.tabs, i) + } + focusTab() { + this.tabs[this.activeTabIndex].focus() + } + connectedCallback() { + super.connectedCallback(), + (this.tabIds = this.getTabIds()), + (this.tabpanelIds = this.getTabPanelIds()), + (this.activeTabIndex = this.getActiveIndex()) + } +} +he([Le], qc.prototype, "orientation", void 0) +he([Le], qc.prototype, "activeid", void 0) +he([yt], qc.prototype, "tabs", void 0) +he([yt], qc.prototype, "tabpanels", void 0) +he([Le({ mode: "boolean" })], qc.prototype, "activeindicator", void 0) +he([yt], qc.prototype, "activeIndicatorRef", void 0) +he([yt], qc.prototype, "showActiveIndicator", void 0) +ms(qc, ff) +class NTt extends No {} +class OTt extends qb(NTt) { + constructor() { + super(...arguments), (this.proxy = document.createElement("textarea")) + } +} +const _nt = { none: "none" } +let Ui = class extends OTt { + constructor() { + super(...arguments), + (this.resize = _nt.none), + (this.cols = 20), + (this.handleTextInput = () => { + this.value = this.control.value + }) + } + readOnlyChanged() { + this.proxy instanceof HTMLTextAreaElement && (this.proxy.readOnly = this.readOnly) + } + autofocusChanged() { + this.proxy instanceof HTMLTextAreaElement && (this.proxy.autofocus = this.autofocus) + } + listChanged() { + this.proxy instanceof HTMLTextAreaElement && this.proxy.setAttribute("list", this.list) + } + maxlengthChanged() { + this.proxy instanceof HTMLTextAreaElement && (this.proxy.maxLength = this.maxlength) + } + minlengthChanged() { + this.proxy instanceof HTMLTextAreaElement && (this.proxy.minLength = this.minlength) + } + spellcheckChanged() { + this.proxy instanceof HTMLTextAreaElement && (this.proxy.spellcheck = this.spellcheck) + } + select() { + this.control.select(), this.$emit("select") + } + handleChange() { + this.$emit("change") + } + validate() { + super.validate(this.control) + } +} +he([Le({ mode: "boolean" })], Ui.prototype, "readOnly", void 0) +he([Le], Ui.prototype, "resize", void 0) +he([Le({ mode: "boolean" })], Ui.prototype, "autofocus", void 0) +he([Le({ attribute: "form" })], Ui.prototype, "formId", void 0) +he([Le], Ui.prototype, "list", void 0) +he([Le({ converter: il })], Ui.prototype, "maxlength", void 0) +he([Le({ converter: il })], Ui.prototype, "minlength", void 0) +he([Le], Ui.prototype, "name", void 0) +he([Le], Ui.prototype, "placeholder", void 0) +he([Le({ converter: il, mode: "fromView" })], Ui.prototype, "cols", void 0) +he([Le({ converter: il, mode: "fromView" })], Ui.prototype, "rows", void 0) +he([Le({ mode: "boolean" })], Ui.prototype, "spellcheck", void 0) +he([yt], Ui.prototype, "defaultSlottedNodes", void 0) +ms(Ui, LE) +const FTt = (t, e) => Gn` + <template + class=" + ${(n) => (n.readOnly ? "readonly" : "")} + ${(n) => (n.resize !== _nt.none ? `resize-${n.resize}` : "")}" + > + <label + part="label" + for="control" + class="${(n) => (n.defaultSlottedNodes && n.defaultSlottedNodes.length ? "label" : "label label__hidden")}" + > + <slot ${fa("defaultSlottedNodes")}></slot> + </label> + <textarea + part="control" + class="control" + id="control" + ?autofocus="${(n) => n.autofocus}" + cols="${(n) => n.cols}" + ?disabled="${(n) => n.disabled}" + form="${(n) => n.form}" + list="${(n) => n.list}" + maxlength="${(n) => n.maxlength}" + minlength="${(n) => n.minlength}" + name="${(n) => n.name}" + placeholder="${(n) => n.placeholder}" + ?readonly="${(n) => n.readOnly}" + ?required="${(n) => n.required}" + rows="${(n) => n.rows}" + ?spellcheck="${(n) => n.spellcheck}" + :value="${(n) => n.value}" + aria-atomic="${(n) => n.ariaAtomic}" + aria-busy="${(n) => n.ariaBusy}" + aria-controls="${(n) => n.ariaControls}" + aria-current="${(n) => n.ariaCurrent}" + aria-describedby="${(n) => n.ariaDescribedby}" + aria-details="${(n) => n.ariaDetails}" + aria-disabled="${(n) => n.ariaDisabled}" + aria-errormessage="${(n) => n.ariaErrormessage}" + aria-flowto="${(n) => n.ariaFlowto}" + aria-haspopup="${(n) => n.ariaHaspopup}" + aria-hidden="${(n) => n.ariaHidden}" + aria-invalid="${(n) => n.ariaInvalid}" + aria-keyshortcuts="${(n) => n.ariaKeyshortcuts}" + aria-label="${(n) => n.ariaLabel}" + aria-labelledby="${(n) => n.ariaLabelledby}" + aria-live="${(n) => n.ariaLive}" + aria-owns="${(n) => n.ariaOwns}" + aria-relevant="${(n) => n.ariaRelevant}" + aria-roledescription="${(n) => n.ariaRoledescription}" + @input="${(n, o) => n.handleTextInput()}" + @change="${(n) => n.handleChange()}" + ${Oi("control")} + ></textarea> + </template> +`, + BTt = (t, e) => Gn` + <template + class=" + ${(n) => (n.readOnly ? "readonly" : "")} + " + > + <label + part="label" + for="control" + class="${(n) => (n.defaultSlottedNodes && n.defaultSlottedNodes.length ? "label" : "label label__hidden")}" + > + <slot + ${fa({ property: "defaultSlottedNodes", filter: ITt })} + ></slot> + </label> + <div class="root" part="root"> + ${vf(t, e)} + <input + class="control" + part="control" + id="control" + @input="${(n) => n.handleTextInput()}" + @change="${(n) => n.handleChange()}" + ?autofocus="${(n) => n.autofocus}" + ?disabled="${(n) => n.disabled}" + list="${(n) => n.list}" + maxlength="${(n) => n.maxlength}" + minlength="${(n) => n.minlength}" + pattern="${(n) => n.pattern}" + placeholder="${(n) => n.placeholder}" + ?readonly="${(n) => n.readOnly}" + ?required="${(n) => n.required}" + size="${(n) => n.size}" + ?spellcheck="${(n) => n.spellcheck}" + :value="${(n) => n.value}" + type="${(n) => n.type}" + aria-atomic="${(n) => n.ariaAtomic}" + aria-busy="${(n) => n.ariaBusy}" + aria-controls="${(n) => n.ariaControls}" + aria-current="${(n) => n.ariaCurrent}" + aria-describedby="${(n) => n.ariaDescribedby}" + aria-details="${(n) => n.ariaDetails}" + aria-disabled="${(n) => n.ariaDisabled}" + aria-errormessage="${(n) => n.ariaErrormessage}" + aria-flowto="${(n) => n.ariaFlowto}" + aria-haspopup="${(n) => n.ariaHaspopup}" + aria-hidden="${(n) => n.ariaHidden}" + aria-invalid="${(n) => n.ariaInvalid}" + aria-keyshortcuts="${(n) => n.ariaKeyshortcuts}" + aria-label="${(n) => n.ariaLabel}" + aria-labelledby="${(n) => n.ariaLabelledby}" + aria-live="${(n) => n.ariaLive}" + aria-owns="${(n) => n.ariaOwns}" + aria-relevant="${(n) => n.ariaRelevant}" + aria-roledescription="${(n) => n.ariaRoledescription}" + ${Oi("control")} + /> + ${gf(t, e)} + </div> + </template> +`, + Yd = "not-allowed", + UTt = ":host([hidden]){display:none}" +function _i(t) { + return `${UTt}:host{display:${t}}` +} +const yi = DRt() ? "focus-visible" : "focus", + qTt = new Set(["children", "localName", "ref", "style", "className"]), + WTt = Object.freeze(Object.create(null)), + RF = "_default", + Ok = new Map() +function KTt(t, e) { + typeof t == "function" ? t(e) : (t.current = e) +} +function Cnt(t, e) { + if (!e.name) { + const n = Ob.forType(t) + if (n) e.name = n.name + else throw new Error("React wrappers must wrap a FASTElement or be configured with a name.") + } + return e.name +} +function nM(t) { + return t.events || (t.events = {}) +} +function TF(t, e, n) { + return qTt.has(n) + ? (console.warn( + `${Cnt(t, e)} contains property ${n} which is a React reserved property. It will be used by React and not set on the element.`, + ), + !1) + : !0 +} +function VTt(t, e) { + if (!e.keys) + if (e.properties) e.keys = new Set(e.properties.concat(Object.keys(nM(e)))) + else { + const n = new Set(Object.keys(nM(e))), + o = An.getAccessors(t.prototype) + if (o.length > 0) for (const r of o) TF(t, e, r.name) && n.add(r.name) + else for (const r in t.prototype) !(r in HTMLElement.prototype) && TF(t, e, r) && n.add(r) + e.keys = n + } + return e.keys +} +function HTt(t, e) { + let n = [] + const o = { + register(i, ...s) { + n.forEach((a) => a.register(i, ...s)), (n = []) + }, + } + function r(i, s = {}) { + var a, c + i instanceof hnt && (e ? e.register(i) : n.push(i), (i = i.type)) + const d = Ok.get(i) + if (d) { + const f = d.get((a = s.name) !== null && a !== void 0 ? a : RF) + if (f) return f + } + class u extends t.Component { + constructor() { + super(...arguments), (this._element = null) + } + _updateElement(g) { + const b = this._element + if (b === null) return + const v = this.props, + w = g || WTt, + _ = nM(s) + for (const y in this._elementProps) { + const C = v[y], + S = _[y] + if (S === void 0) b[y] = C + else { + const P = w[y] + if (C === P) continue + P !== void 0 && b.removeEventListener(S, P), C !== void 0 && b.addEventListener(S, C) + } + } + } + componentDidMount() { + this._updateElement() + } + componentDidUpdate(g) { + this._updateElement(g) + } + render() { + const g = this.props.__forwardedRef + ;(this._ref === void 0 || this._userRef !== g) && + (this._ref = (y) => { + this._element === null && (this._element = y), g !== null && KTt(g, y), (this._userRef = g) + }) + const b = { ref: this._ref }, + v = (this._elementProps = {}), + w = VTt(i, s), + _ = this.props + for (const y in _) { + const C = _[y] + w.has(y) ? (v[y] = C) : (b[y === "className" ? "class" : y] = C) + } + return t.createElement(Cnt(i, s), b) + } + } + const m = t.forwardRef((f, g) => + t.createElement( + u, + Object.assign(Object.assign({}, f), { __forwardedRef: g }), + f == null ? void 0 : f.children, + ), + ) + return Ok.has(i) || Ok.set(i, new Map()), Ok.get(i).set((c = s.name) !== null && c !== void 0 ? c : RF, m), m + } + return { wrap: r, registry: o } +} +function GTt(t) { + return knt.getOrCreate(t).withPrefix("vscode") +} +function QTt(t) { + window.addEventListener("load", () => { + new MutationObserver(() => { + IF(t) + }).observe(document.body, { attributes: !0, attributeFilter: ["class"] }), + IF(t) + }) +} +function IF(t) { + const e = getComputedStyle(document.body), + n = document.querySelector("body") + if (n) { + const o = n.getAttribute("data-vscode-theme-kind") + for (const [r, i] of t) { + let s = e.getPropertyValue(r).toString() + if (o === "vscode-high-contrast") + s.length === 0 && i.name.includes("background") && (s = "transparent"), + i.name === "button-icon-hover-background" && (s = "transparent") + else if (o === "vscode-high-contrast-light") { + if (s.length === 0 && i.name.includes("background")) + switch (i.name) { + case "button-primary-hover-background": + s = "#0F4A85" + break + case "button-secondary-hover-background": + s = "transparent" + break + case "button-icon-hover-background": + s = "transparent" + break + } + } else i.name === "contrast-active-border" && (s = "transparent") + i.setValueFor(n, s) + } + } +} +const MF = new Map() +let jF = !1 +function ft(t, e) { + const n = ynt.create(t) + if (e) { + if (e.includes("--fake-vscode-token")) { + const o = "id" + Math.random().toString(16).slice(2) + e = `${e}-${o}` + } + MF.set(e, n) + } + return jF || (QTt(MF), (jF = !0)), n +} +const ZTt = ft("background", "--vscode-editor-background").withDefault("#1e1e1e"), + Nn = ft("border-width").withDefault(1), + Snt = ft("contrast-active-border", "--vscode-contrastActiveBorder").withDefault("#f38518") +ft("contrast-border", "--vscode-contrastBorder").withDefault("#6fc3df") +const Wb = ft("corner-radius").withDefault(0), + uh = ft("corner-radius-round").withDefault(2), + Zt = ft("design-unit").withDefault(4), + Qp = ft("disabled-opacity").withDefault(0.4), + nr = ft("focus-border", "--vscode-focusBorder").withDefault("#007fd4"), + ka = ft("font-family", "--vscode-font-family").withDefault( + "-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol", + ) +ft("font-weight", "--vscode-font-weight").withDefault("400") +const vi = ft("foreground", "--vscode-foreground").withDefault("#cccccc"), + jx = ft("input-height").withDefault("26"), + NE = ft("input-min-width").withDefault("100px"), + Fi = ft("type-ramp-base-font-size", "--vscode-font-size").withDefault("13px"), + us = ft("type-ramp-base-line-height").withDefault("normal"), + Ant = ft("type-ramp-minus1-font-size").withDefault("11px"), + Pnt = ft("type-ramp-minus1-line-height").withDefault("16px") +ft("type-ramp-minus2-font-size").withDefault("9px") +ft("type-ramp-minus2-line-height").withDefault("16px") +ft("type-ramp-plus1-font-size").withDefault("16px") +ft("type-ramp-plus1-line-height").withDefault("24px") +const YTt = ft("scrollbarWidth").withDefault("10px"), + XTt = ft("scrollbarHeight").withDefault("10px"), + JTt = ft("scrollbar-slider-background", "--vscode-scrollbarSlider-background").withDefault("#79797966"), + eIt = ft("scrollbar-slider-hover-background", "--vscode-scrollbarSlider-hoverBackground").withDefault("#646464b3"), + tIt = ft("scrollbar-slider-active-background", "--vscode-scrollbarSlider-activeBackground").withDefault( + "#bfbfbf66", + ), + Rnt = ft("badge-background", "--vscode-badge-background").withDefault("#4d4d4d"), + Tnt = ft("badge-foreground", "--vscode-badge-foreground").withDefault("#ffffff"), + OE = ft("button-border", "--vscode-button-border").withDefault("transparent"), + EF = ft("button-icon-background").withDefault("transparent"), + nIt = ft("button-icon-corner-radius").withDefault("5px"), + oIt = ft("button-icon-outline-offset").withDefault(0), + zF = ft("button-icon-hover-background", "--fake-vscode-token").withDefault("rgba(90, 93, 94, 0.31)"), + rIt = ft("button-icon-padding").withDefault("3px"), + ph = ft("button-primary-background", "--vscode-button-background").withDefault("#0e639c"), + Int = ft("button-primary-foreground", "--vscode-button-foreground").withDefault("#ffffff"), + Mnt = ft("button-primary-hover-background", "--vscode-button-hoverBackground").withDefault("#1177bb"), + WA = ft("button-secondary-background", "--vscode-button-secondaryBackground").withDefault("#3a3d41"), + iIt = ft("button-secondary-foreground", "--vscode-button-secondaryForeground").withDefault("#ffffff"), + sIt = ft("button-secondary-hover-background", "--vscode-button-secondaryHoverBackground").withDefault("#45494e"), + aIt = ft("button-padding-horizontal").withDefault("11px"), + lIt = ft("button-padding-vertical").withDefault("4px"), + vc = ft("checkbox-background", "--vscode-checkbox-background").withDefault("#3c3c3c"), + Jm = ft("checkbox-border", "--vscode-checkbox-border").withDefault("#3c3c3c"), + cIt = ft("checkbox-corner-radius").withDefault(3) +ft("checkbox-foreground", "--vscode-checkbox-foreground").withDefault("#f0f0f0") +const Ju = ft("list-active-selection-background", "--vscode-list-activeSelectionBackground").withDefault("#094771"), + mh = ft("list-active-selection-foreground", "--vscode-list-activeSelectionForeground").withDefault("#ffffff"), + dIt = ft("list-hover-background", "--vscode-list-hoverBackground").withDefault("#2a2d2e"), + uIt = ft("divider-background", "--vscode-settings-dropdownListBorder").withDefault("#454545"), + Fk = ft("dropdown-background", "--vscode-dropdown-background").withDefault("#3c3c3c"), + Wd = ft("dropdown-border", "--vscode-dropdown-border").withDefault("#3c3c3c") +ft("dropdown-foreground", "--vscode-dropdown-foreground").withDefault("#f0f0f0") +const pIt = ft("dropdown-list-max-height").withDefault("200px"), + ip = ft("input-background", "--vscode-input-background").withDefault("#3c3c3c"), + jnt = ft("input-foreground", "--vscode-input-foreground").withDefault("#cccccc") +ft("input-placeholder-foreground", "--vscode-input-placeholderForeground").withDefault("#cccccc") +const $F = ft("link-active-foreground", "--vscode-textLink-activeForeground").withDefault("#3794ff"), + mIt = ft("link-foreground", "--vscode-textLink-foreground").withDefault("#3794ff"), + hIt = ft("progress-background", "--vscode-progressBar-background").withDefault("#0e70c0"), + fIt = ft("panel-tab-active-border", "--vscode-panelTitle-activeBorder").withDefault("#e7e7e7"), + Wm = ft("panel-tab-active-foreground", "--vscode-panelTitle-activeForeground").withDefault("#e7e7e7"), + gIt = ft("panel-tab-foreground", "--vscode-panelTitle-inactiveForeground").withDefault("#e7e7e799") +ft("panel-view-background", "--vscode-panel-background").withDefault("#1e1e1e") +ft("panel-view-border", "--vscode-panel-border").withDefault("#80808059") +const vIt = ft("tag-corner-radius").withDefault("2px"), + bIt = (t, e) => Ho` + ${_i("inline-block")} :host { + box-sizing: border-box; + font-family: ${ka}; + font-size: ${Ant}; + line-height: ${Pnt}; + text-align: center; + } + .control { + align-items: center; + background-color: ${Rnt}; + border: calc(${Nn} * 1px) solid ${OE}; + border-radius: 11px; + box-sizing: border-box; + color: ${Tnt}; + display: flex; + height: calc(${Zt} * 4px); + justify-content: center; + min-width: calc(${Zt} * 4px + 2px); + min-height: calc(${Zt} * 4px + 2px); + padding: 3px 6px; + } +` +class yIt extends Ub { + connectedCallback() { + super.connectedCallback(), this.circular || (this.circular = !0) + } +} +const kIt = yIt.compose({ baseName: "badge", template: fnt, styles: bIt }), + xIt = Ho` + ${_i("inline-flex")} :host { + outline: none; + font-family: ${ka}; + font-size: ${Fi}; + line-height: ${us}; + color: ${Int}; + background: ${ph}; + border-radius: calc(${uh} * 1px); + fill: currentColor; + cursor: pointer; + } + .control { + background: transparent; + height: inherit; + flex-grow: 1; + box-sizing: border-box; + display: inline-flex; + justify-content: center; + align-items: center; + padding: ${lIt} ${aIt}; + white-space: wrap; + outline: none; + text-decoration: none; + border: calc(${Nn} * 1px) solid ${OE}; + color: inherit; + border-radius: inherit; + fill: inherit; + cursor: inherit; + font-family: inherit; + } + :host(:hover) { + background: ${Mnt}; + } + :host(:active) { + background: ${ph}; + } + .control:${yi} { + outline: calc(${Nn} * 1px) solid ${nr}; + outline-offset: calc(${Nn} * 2px); + } + .control::-moz-focus-inner { + border: 0; + } + :host([disabled]) { + opacity: ${Qp}; + background: ${ph}; + cursor: ${Yd}; + } + .content { + display: flex; + } + .start { + display: flex; + } + ::slotted(svg), + ::slotted(span) { + width: calc(${Zt} * 4px); + height: calc(${Zt} * 4px); + } + .start { + margin-inline-end: 8px; + } +`, + wIt = Ho` + :host([appearance='primary']) { + background: ${ph}; + color: ${Int}; + } + :host([appearance='primary']:hover) { + background: ${Mnt}; + } + :host([appearance='primary']:active) .control:active { + background: ${ph}; + } + :host([appearance='primary']) .control:${yi} { + outline: calc(${Nn} * 1px) solid ${nr}; + outline-offset: calc(${Nn} * 2px); + } + :host([appearance='primary'][disabled]) { + background: ${ph}; + } +`, + _It = Ho` + :host([appearance='secondary']) { + background: ${WA}; + color: ${iIt}; + } + :host([appearance='secondary']:hover) { + background: ${sIt}; + } + :host([appearance='secondary']:active) .control:active { + background: ${WA}; + } + :host([appearance='secondary']) .control:${yi} { + outline: calc(${Nn} * 1px) solid ${nr}; + outline-offset: calc(${Nn} * 2px); + } + :host([appearance='secondary'][disabled]) { + background: ${WA}; + } +`, + CIt = Ho` + :host([appearance='icon']) { + background: ${EF}; + border-radius: ${nIt}; + color: ${vi}; + } + :host([appearance='icon']:hover) { + background: ${zF}; + outline: 1px dotted ${Snt}; + outline-offset: -1px; + } + :host([appearance='icon']) .control { + padding: ${rIt}; + border: none; + } + :host([appearance='icon']:active) .control:active { + background: ${zF}; + } + :host([appearance='icon']) .control:${yi} { + outline: calc(${Nn} * 1px) solid ${nr}; + outline-offset: ${oIt}; + } + :host([appearance='icon'][disabled]) { + background: ${EF}; + } +`, + SIt = (t, e) => Ho` + ${xIt} + ${wIt} + ${_It} + ${CIt} +` +let Ent = class extends al { + connectedCallback() { + if ((super.connectedCallback(), !this.appearance)) { + const e = this.getAttribute("appearance") + this.appearance = e + } + } + attributeChangedCallback(e, n, o) { + e === "appearance" && o === "icon" && (this.getAttribute("aria-label") || (this.ariaLabel = "Icon Button")), + e === "aria-label" && (this.ariaLabel = o), + e === "disabled" && (this.disabled = o !== null) + } +} +iht([Le], Ent.prototype, "appearance", void 0) +const AIt = Ent.compose({ baseName: "button", template: VRt, styles: SIt, shadowOptions: { delegatesFocus: !0 } }), + PIt = (t, e) => Ho` + ${_i("inline-flex")} :host { + align-items: center; + outline: none; + margin: calc(${Zt} * 1px) 0; + user-select: none; + font-size: ${Fi}; + line-height: ${us}; + } + .control { + position: relative; + width: calc(${Zt} * 4px + 2px); + height: calc(${Zt} * 4px + 2px); + box-sizing: border-box; + border-radius: calc(${cIt} * 1px); + border: calc(${Nn} * 1px) solid ${Jm}; + background: ${vc}; + outline: none; + cursor: pointer; + } + .label { + font-family: ${ka}; + color: ${vi}; + padding-inline-start: calc(${Zt} * 2px + 2px); + margin-inline-end: calc(${Zt} * 2px + 2px); + cursor: pointer; + } + .label__hidden { + display: none; + visibility: hidden; + } + .checked-indicator { + width: 100%; + height: 100%; + display: block; + fill: ${vi}; + opacity: 0; + pointer-events: none; + } + .indeterminate-indicator { + border-radius: 2px; + background: ${vi}; + position: absolute; + top: 50%; + left: 50%; + width: 50%; + height: 50%; + transform: translate(-50%, -50%); + opacity: 0; + } + :host(:enabled) .control:hover { + background: ${vc}; + border-color: ${Jm}; + } + :host(:enabled) .control:active { + background: ${vc}; + border-color: ${nr}; + } + :host(:${yi}) .control { + border: calc(${Nn} * 1px) solid ${nr}; + } + :host(.disabled) .label, + :host(.readonly) .label, + :host(.readonly) .control, + :host(.disabled) .control { + cursor: ${Yd}; + } + :host(.checked:not(.indeterminate)) .checked-indicator, + :host(.indeterminate) .indeterminate-indicator { + opacity: 1; + } + :host(.disabled) { + opacity: ${Qp}; + } +` +let RIt = class extends eC { + connectedCallback() { + super.connectedCallback(), + this.textContent + ? this.setAttribute("aria-label", this.textContent) + : this.setAttribute("aria-label", "Checkbox") + } +} +const TIt = RIt.compose({ + baseName: "checkbox", + template: oTt, + styles: PIt, + checkedIndicator: ` + <svg + part="checked-indicator" + class="checked-indicator" + width="16" + height="16" + viewBox="0 0 16 16" + xmlns="http://www.w3.org/2000/svg" + fill="currentColor" + > + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z" + /> + </svg> + `, + indeterminateIndicator: ` + <div part="indeterminate-indicator" class="indeterminate-indicator"></div> + `, + }), + IIt = (t, e) => Ho` + :host { + display: flex; + position: relative; + flex-direction: column; + width: 100%; + } +`, + MIt = (t, e) => Ho` + :host { + display: grid; + padding: calc((${Zt} / 4) * 1px) 0; + box-sizing: border-box; + width: 100%; + background: transparent; + } + :host(.header) { + } + :host(.sticky-header) { + background: ${ZTt}; + position: sticky; + top: 0; + } + :host(:hover) { + background: ${dIt}; + outline: 1px dotted ${Snt}; + outline-offset: -1px; + } +`, + jIt = (t, e) => Ho` + :host { + padding: calc(${Zt} * 1px) calc(${Zt} * 3px); + color: ${vi}; + opacity: 1; + box-sizing: border-box; + font-family: ${ka}; + font-size: ${Fi}; + line-height: ${us}; + font-weight: 400; + border: solid calc(${Nn} * 1px) transparent; + border-radius: calc(${Wb} * 1px); + white-space: wrap; + overflow-wrap: anywhere; + } + :host(.column-header) { + font-weight: 600; + } + :host(:${yi}), + :host(:focus), + :host(:active) { + background: ${Ju}; + border: solid calc(${Nn} * 1px) ${nr}; + color: ${mh}; + outline: none; + } + :host(:${yi}) ::slotted(*), + :host(:focus) ::slotted(*), + :host(:active) ::slotted(*) { + color: ${mh} !important; + } +` +class EIt extends wi { + connectedCallback() { + super.connectedCallback(), this.getAttribute("aria-label") || this.setAttribute("aria-label", "Data Grid") + } +} +const zIt = EIt.compose({ baseName: "data-grid", baseClass: wi, template: ZRt, styles: IIt }) +class $It extends xi {} +const LIt = $It.compose({ baseName: "data-grid-row", baseClass: xi, template: tTt, styles: MIt }) +class DIt extends uu {} +const NIt = DIt.compose({ baseName: "data-grid-cell", baseClass: uu, template: nTt, styles: jIt }), + OIt = (t, e) => Ho` + ${_i("block")} :host { + border: none; + border-top: calc(${Nn} * 1px) solid ${uIt}; + box-sizing: content-box; + height: 0; + margin: calc(${Zt} * 1px) 0; + width: 100%; + } +` +class FIt extends $E {} +const BIt = FIt.compose({ baseName: "divider", template: yTt, styles: OIt }), + UIt = (t, e) => Ho` + ${_i("inline-flex")} :host { + background: ${Fk}; + border-radius: calc(${uh} * 1px); + box-sizing: border-box; + color: ${vi}; + contain: contents; + font-family: ${ka}; + height: calc(${jx} * 1px); + position: relative; + user-select: none; + min-width: ${NE}; + outline: none; + vertical-align: top; + } + .control { + align-items: center; + box-sizing: border-box; + border: calc(${Nn} * 1px) solid ${Wd}; + border-radius: calc(${uh} * 1px); + cursor: pointer; + display: flex; + font-family: inherit; + font-size: ${Fi}; + line-height: ${us}; + min-height: 100%; + padding: 2px 6px 2px 8px; + width: 100%; + } + .listbox { + background: ${Fk}; + border: calc(${Nn} * 1px) solid ${nr}; + border-radius: calc(${uh} * 1px); + box-sizing: border-box; + display: inline-flex; + flex-direction: column; + left: 0; + max-height: ${pIt}; + padding: 0; + overflow-y: auto; + position: absolute; + width: 100%; + z-index: 1; + } + .listbox[hidden] { + display: none; + } + :host(:${yi}) .control { + border-color: ${nr}; + } + :host(:not([disabled]):hover) { + background: ${Fk}; + border-color: ${Wd}; + } + :host(:${yi}) ::slotted([aria-selected="true"][role="option"]:not([disabled])) { + background: ${Ju}; + border: calc(${Nn} * 1px) solid transparent; + color: ${mh}; + } + :host([disabled]) { + cursor: ${Yd}; + opacity: ${Qp}; + } + :host([disabled]) .control { + cursor: ${Yd}; + user-select: none; + } + :host([disabled]:hover) { + background: ${Fk}; + color: ${vi}; + fill: currentcolor; + } + :host(:not([disabled])) .control:active { + border-color: ${nr}; + } + :host(:empty) .listbox { + display: none; + } + :host([open]) .control { + border-color: ${nr}; + } + :host([open][position='above']) .listbox { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + :host([open][position='below']) .listbox { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + :host([open][position='above']) .listbox { + bottom: calc(${jx} * 1px); + } + :host([open][position='below']) .listbox { + top: calc(${jx} * 1px); + } + .selected-value { + flex: 1 1 auto; + font-family: inherit; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + } + .indicator { + flex: 0 0 auto; + margin-inline-start: 1em; + } + slot[name='listbox'] { + display: none; + width: 100%; + } + :host([open]) slot[name='listbox'] { + display: flex; + position: absolute; + } + .end { + margin-inline-start: auto; + } + .start, + .end, + .indicator, + .select-indicator, + ::slotted(svg), + ::slotted(span) { + fill: currentcolor; + height: 1em; + min-height: calc(${Zt} * 4px); + min-width: calc(${Zt} * 4px); + width: 1em; + } + ::slotted([role='option']), + ::slotted(option) { + flex: 0 0 auto; + } +` +class qIt extends mu {} +const WIt = qIt.compose({ + baseName: "dropdown", + template: ETt, + styles: UIt, + indicator: ` + <svg + class="select-indicator" + part="select-indicator" + width="16" + height="16" + viewBox="0 0 16 16" + xmlns="http://www.w3.org/2000/svg" + fill="currentColor" + > + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="M7.976 10.072l4.357-4.357.62.618L8.284 11h-.618L3 6.333l.619-.618 4.357 4.357z" + /> + </svg> + `, + }), + KIt = (t, e) => Ho` + ${_i("inline-flex")} :host { + background: transparent; + box-sizing: border-box; + color: ${mIt}; + cursor: pointer; + fill: currentcolor; + font-family: ${ka}; + font-size: ${Fi}; + line-height: ${us}; + outline: none; + } + .control { + background: transparent; + border: calc(${Nn} * 1px) solid transparent; + border-radius: calc(${Wb} * 1px); + box-sizing: border-box; + color: inherit; + cursor: inherit; + fill: inherit; + font-family: inherit; + height: inherit; + padding: 0; + outline: none; + text-decoration: none; + word-break: break-word; + } + .control::-moz-focus-inner { + border: 0; + } + :host(:hover) { + color: ${$F}; + } + :host(:hover) .content { + text-decoration: underline; + } + :host(:active) { + background: transparent; + color: ${$F}; + } + :host(:${yi}) .control, + :host(:focus) .control { + border: calc(${Nn} * 1px) solid ${nr}; + } +` +class VIt extends sl {} +const HIt = VIt.compose({ baseName: "link", template: WRt, styles: KIt, shadowOptions: { delegatesFocus: !0 } }), + GIt = (t, e) => Ho` + ${_i("inline-flex")} :host { + font-family: var(--body-font); + border-radius: ${Wb}; + border: calc(${Nn} * 1px) solid transparent; + box-sizing: border-box; + color: ${vi}; + cursor: pointer; + fill: currentcolor; + font-size: ${Fi}; + line-height: ${us}; + margin: 0; + outline: none; + overflow: hidden; + padding: 0 calc((${Zt} / 2) * 1px) + calc((${Zt} / 4) * 1px); + user-select: none; + white-space: nowrap; + } + :host(:${yi}) { + border-color: ${nr}; + background: ${Ju}; + color: ${vi}; + } + :host([aria-selected='true']) { + background: ${Ju}; + border: calc(${Nn} * 1px) solid transparent; + color: ${mh}; + } + :host(:active) { + background: ${Ju}; + color: ${mh}; + } + :host(:not([aria-selected='true']):hover) { + background: ${Ju}; + border: calc(${Nn} * 1px) solid transparent; + color: ${mh}; + } + :host(:not([aria-selected='true']):active) { + background: ${Ju}; + color: ${vi}; + } + :host([disabled]) { + cursor: ${Yd}; + opacity: ${Qp}; + } + :host([disabled]:hover) { + background-color: inherit; + } + .content { + grid-column-start: 2; + justify-self: start; + overflow: hidden; + text-overflow: ellipsis; + } +` +let QIt = class extends Uc { + connectedCallback() { + super.connectedCallback(), + this.textContent + ? this.setAttribute("aria-label", this.textContent) + : this.setAttribute("aria-label", "Option") + } +} +const ZIt = QIt.compose({ baseName: "option", template: xTt, styles: GIt }), + YIt = (t, e) => Ho` + ${_i("grid")} :host { + box-sizing: border-box; + font-family: ${ka}; + font-size: ${Fi}; + line-height: ${us}; + color: ${vi}; + grid-template-columns: auto 1fr auto; + grid-template-rows: auto 1fr; + overflow-x: auto; + } + .tablist { + display: grid; + grid-template-rows: auto auto; + grid-template-columns: auto; + column-gap: calc(${Zt} * 8px); + position: relative; + width: max-content; + align-self: end; + padding: calc(${Zt} * 1px) calc(${Zt} * 1px) 0; + box-sizing: border-box; + } + .start, + .end { + align-self: center; + } + .activeIndicator { + grid-row: 2; + grid-column: 1; + width: 100%; + height: calc((${Zt} / 4) * 1px); + justify-self: center; + background: ${Wm}; + margin: 0; + border-radius: calc(${Wb} * 1px); + } + .activeIndicatorTransition { + transition: transform 0.01s linear; + } + .tabpanel { + grid-row: 2; + grid-column-start: 1; + grid-column-end: 4; + position: relative; + } +`, + XIt = (t, e) => Ho` + ${_i("inline-flex")} :host { + box-sizing: border-box; + font-family: ${ka}; + font-size: ${Fi}; + line-height: ${us}; + height: calc(${Zt} * 7px); + padding: calc(${Zt} * 1px) 0; + color: ${gIt}; + fill: currentcolor; + border-radius: calc(${Wb} * 1px); + border: solid calc(${Nn} * 1px) transparent; + align-items: center; + justify-content: center; + grid-row: 1; + cursor: pointer; + } + :host(:hover) { + color: ${Wm}; + fill: currentcolor; + } + :host(:active) { + color: ${Wm}; + fill: currentcolor; + } + :host([aria-selected='true']) { + background: transparent; + color: ${Wm}; + fill: currentcolor; + } + :host([aria-selected='true']:hover) { + background: transparent; + color: ${Wm}; + fill: currentcolor; + } + :host([aria-selected='true']:active) { + background: transparent; + color: ${Wm}; + fill: currentcolor; + } + :host(:${yi}) { + outline: none; + border: solid calc(${Nn} * 1px) ${fIt}; + } + :host(:focus) { + outline: none; + } + ::slotted(vscode-badge) { + margin-inline-start: calc(${Zt} * 2px); + } +`, + JIt = (t, e) => Ho` + ${_i("flex")} :host { + color: inherit; + background-color: transparent; + border: solid calc(${Nn} * 1px) transparent; + box-sizing: border-box; + font-size: ${Fi}; + line-height: ${us}; + padding: 10px calc((${Zt} + 2) * 1px); + } +` +class e1t extends qc { + connectedCallback() { + super.connectedCallback(), + this.orientation && (this.orientation = tM.horizontal), + this.getAttribute("aria-label") || this.setAttribute("aria-label", "Panels") + } +} +const t1t = e1t.compose({ baseName: "panels", template: DTt, styles: YIt }) +class n1t extends wnt { + connectedCallback() { + super.connectedCallback(), + this.disabled && (this.disabled = !1), + this.textContent && this.setAttribute("aria-label", this.textContent) + } +} +const o1t = n1t.compose({ baseName: "panel-tab", template: LTt, styles: XIt }) +class r1t extends $Tt {} +const i1t = r1t.compose({ baseName: "panel-view", template: zTt, styles: JIt }), + s1t = (t, e) => Ho` + ${_i("flex")} :host { + align-items: center; + outline: none; + height: calc(${Zt} * 7px); + width: calc(${Zt} * 7px); + margin: 0; + } + .progress { + height: 100%; + width: 100%; + } + .background { + fill: none; + stroke: transparent; + stroke-width: calc(${Zt} / 2 * 1px); + } + .indeterminate-indicator-1 { + fill: none; + stroke: ${hIt}; + stroke-width: calc(${Zt} / 2 * 1px); + stroke-linecap: square; + transform-origin: 50% 50%; + transform: rotate(-90deg); + transition: all 0.2s ease-in-out; + animation: spin-infinite 2s linear infinite; + } + @keyframes spin-infinite { + 0% { + stroke-dasharray: 0.01px 43.97px; + transform: rotate(0deg); + } + 50% { + stroke-dasharray: 21.99px 21.99px; + transform: rotate(450deg); + } + 100% { + stroke-dasharray: 0.01px 43.97px; + transform: rotate(1080deg); + } + } +` +class a1t extends xf { + connectedCallback() { + super.connectedCallback(), + this.paused && (this.paused = !1), + this.setAttribute("aria-label", "Loading"), + this.setAttribute("aria-live", "assertive"), + this.setAttribute("role", "alert") + } + attributeChangedCallback(e, n, o) { + e === "value" && this.removeAttribute("value") + } +} +const l1t = a1t.compose({ + baseName: "progress-ring", + template: STt, + styles: s1t, + indeterminateIndicator: ` + <svg class="progress" part="progress" viewBox="0 0 16 16"> + <circle + class="background" + part="background" + cx="8px" + cy="8px" + r="7px" + ></circle> + <circle + class="indeterminate-indicator-1" + part="indeterminate-indicator-1" + cx="8px" + cy="8px" + r="7px" + ></circle> + </svg> + `, + }), + c1t = (t, e) => Ho` + ${_i("flex")} :host { + align-items: flex-start; + margin: calc(${Zt} * 1px) 0; + flex-direction: column; + } + .positioning-region { + display: flex; + flex-wrap: wrap; + } + :host([orientation='vertical']) .positioning-region { + flex-direction: column; + } + :host([orientation='horizontal']) .positioning-region { + flex-direction: row; + } + ::slotted([slot='label']) { + color: ${vi}; + font-size: ${Fi}; + margin: calc(${Zt} * 1px) 0; + } +` +let d1t = class extends pu { + connectedCallback() { + super.connectedCallback() + const e = this.querySelector("label") + if (e) { + const n = "radio-group-" + Math.random().toString(16).slice(2) + e.setAttribute("id", n), this.setAttribute("aria-labelledby", n) + } + } +} +const u1t = d1t.compose({ baseName: "radio-group", template: ATt, styles: c1t }), + p1t = (t, e) => Ho` + ${_i("inline-flex")} :host { + align-items: center; + flex-direction: row; + font-size: ${Fi}; + line-height: ${us}; + margin: calc(${Zt} * 1px) 0; + outline: none; + position: relative; + transition: all 0.2s ease-in-out; + user-select: none; + } + .control { + background: ${vc}; + border-radius: 999px; + border: calc(${Nn} * 1px) solid ${Jm}; + box-sizing: border-box; + cursor: pointer; + height: calc(${Zt} * 4px); + position: relative; + outline: none; + width: calc(${Zt} * 4px); + } + .label { + color: ${vi}; + cursor: pointer; + font-family: ${ka}; + margin-inline-end: calc(${Zt} * 2px + 2px); + padding-inline-start: calc(${Zt} * 2px + 2px); + } + .label__hidden { + display: none; + visibility: hidden; + } + .control, + .checked-indicator { + flex-shrink: 0; + } + .checked-indicator { + background: ${vi}; + border-radius: 999px; + display: inline-block; + inset: calc(${Zt} * 1px); + opacity: 0; + pointer-events: none; + position: absolute; + } + :host(:not([disabled])) .control:hover { + background: ${vc}; + border-color: ${Jm}; + } + :host(:not([disabled])) .control:active { + background: ${vc}; + border-color: ${nr}; + } + :host(:${yi}) .control { + border: calc(${Nn} * 1px) solid ${nr}; + } + :host([aria-checked='true']) .control { + background: ${vc}; + border: calc(${Nn} * 1px) solid ${Jm}; + } + :host([aria-checked='true']:not([disabled])) .control:hover { + background: ${vc}; + border: calc(${Nn} * 1px) solid ${Jm}; + } + :host([aria-checked='true']:not([disabled])) .control:active { + background: ${vc}; + border: calc(${Nn} * 1px) solid ${nr}; + } + :host([aria-checked="true"]:${yi}:not([disabled])) .control { + border: calc(${Nn} * 1px) solid ${nr}; + } + :host([disabled]) .label, + :host([readonly]) .label, + :host([readonly]) .control, + :host([disabled]) .control { + cursor: ${Yd}; + } + :host([aria-checked='true']) .checked-indicator { + opacity: 1; + } + :host([disabled]) { + opacity: ${Qp}; + } +` +class m1t extends nC { + connectedCallback() { + super.connectedCallback(), + this.textContent + ? this.setAttribute("aria-label", this.textContent) + : this.setAttribute("aria-label", "Radio") + } +} +const h1t = m1t.compose({ + baseName: "radio", + template: PTt, + styles: p1t, + checkedIndicator: ` + <div part="checked-indicator" class="checked-indicator"></div> + `, + }), + f1t = (t, e) => Ho` + ${_i("inline-block")} :host { + box-sizing: border-box; + font-family: ${ka}; + font-size: ${Ant}; + line-height: ${Pnt}; + } + .control { + background-color: ${Rnt}; + border: calc(${Nn} * 1px) solid ${OE}; + border-radius: ${vIt}; + color: ${Tnt}; + padding: calc(${Zt} * 0.5px) calc(${Zt} * 1px); + text-transform: uppercase; + } +` +class g1t extends Ub { + connectedCallback() { + super.connectedCallback(), this.circular && (this.circular = !1) + } +} +const v1t = g1t.compose({ baseName: "tag", template: fnt, styles: f1t }), + b1t = (t, e) => Ho` + ${_i("inline-block")} :host { + font-family: ${ka}; + outline: none; + user-select: none; + } + .control { + box-sizing: border-box; + position: relative; + color: ${jnt}; + background: ${ip}; + border-radius: calc(${uh} * 1px); + border: calc(${Nn} * 1px) solid ${Wd}; + font: inherit; + font-size: ${Fi}; + line-height: ${us}; + padding: calc(${Zt} * 2px + 1px); + width: 100%; + min-width: ${NE}; + resize: none; + } + .control:hover:enabled { + background: ${ip}; + border-color: ${Wd}; + } + .control:active:enabled { + background: ${ip}; + border-color: ${nr}; + } + .control:hover, + .control:${yi}, + .control:disabled, + .control:active { + outline: none; + } + .control::-webkit-scrollbar { + width: ${YTt}; + height: ${XTt}; + } + .control::-webkit-scrollbar-corner { + background: ${ip}; + } + .control::-webkit-scrollbar-thumb { + background: ${JTt}; + } + .control::-webkit-scrollbar-thumb:hover { + background: ${eIt}; + } + .control::-webkit-scrollbar-thumb:active { + background: ${tIt}; + } + :host(:focus-within:not([disabled])) .control { + border-color: ${nr}; + } + :host([resize='both']) .control { + resize: both; + } + :host([resize='horizontal']) .control { + resize: horizontal; + } + :host([resize='vertical']) .control { + resize: vertical; + } + .label { + display: block; + color: ${vi}; + cursor: pointer; + font-size: ${Fi}; + line-height: ${us}; + margin-bottom: 2px; + } + .label__hidden { + display: none; + visibility: hidden; + } + :host([disabled]) .label, + :host([readonly]) .label, + :host([readonly]) .control, + :host([disabled]) .control { + cursor: ${Yd}; + } + :host([disabled]) { + opacity: ${Qp}; + } + :host([disabled]) .control { + border-color: ${Wd}; + } +` +class y1t extends Ui { + connectedCallback() { + super.connectedCallback(), + this.textContent + ? this.setAttribute("aria-label", this.textContent) + : this.setAttribute("aria-label", "Text area") + } +} +const k1t = y1t.compose({ baseName: "text-area", template: FTt, styles: b1t, shadowOptions: { delegatesFocus: !0 } }), + x1t = (t, e) => Ho` + ${_i("inline-block")} :host { + font-family: ${ka}; + outline: none; + user-select: none; + } + .root { + box-sizing: border-box; + position: relative; + display: flex; + flex-direction: row; + color: ${jnt}; + background: ${ip}; + border-radius: calc(${uh} * 1px); + border: calc(${Nn} * 1px) solid ${Wd}; + height: calc(${jx} * 1px); + min-width: ${NE}; + } + .control { + -webkit-appearance: none; + font: inherit; + background: transparent; + border: 0; + color: inherit; + height: calc(100% - (${Zt} * 1px)); + width: 100%; + margin-top: auto; + margin-bottom: auto; + border: none; + padding: 0 calc(${Zt} * 2px + 1px); + font-size: ${Fi}; + line-height: ${us}; + } + .control:hover, + .control:${yi}, + .control:disabled, + .control:active { + outline: none; + } + .label { + display: block; + color: ${vi}; + cursor: pointer; + font-size: ${Fi}; + line-height: ${us}; + margin-bottom: 2px; + } + .label__hidden { + display: none; + visibility: hidden; + } + .start, + .end { + display: flex; + margin: auto; + fill: currentcolor; + } + ::slotted(svg), + ::slotted(span) { + width: calc(${Zt} * 4px); + height: calc(${Zt} * 4px); + } + .start { + margin-inline-start: calc(${Zt} * 2px); + } + .end { + margin-inline-end: calc(${Zt} * 2px); + } + :host(:hover:not([disabled])) .root { + background: ${ip}; + border-color: ${Wd}; + } + :host(:active:not([disabled])) .root { + background: ${ip}; + border-color: ${nr}; + } + :host(:focus-within:not([disabled])) .root { + border-color: ${nr}; + } + :host([disabled]) .label, + :host([readonly]) .label, + :host([readonly]) .control, + :host([disabled]) .control { + cursor: ${Yd}; + } + :host([disabled]) { + opacity: ${Qp}; + } + :host([disabled]) .control { + border-color: ${Wd}; + } +` +class w1t extends Vs { + connectedCallback() { + super.connectedCallback(), + this.textContent + ? this.setAttribute("aria-label", this.textContent) + : this.setAttribute("aria-label", "Text field") + } +} +const _1t = w1t.compose({ baseName: "text-field", template: BTt, styles: x1t, shadowOptions: { delegatesFocus: !0 } }), + { wrap: wr } = HTt(Ie, GTt()), + FE = wr(kIt(), { name: "vscode-badge" }), + Mo = wr(AIt(), { name: "vscode-button" }), + En = wr(TIt(), { name: "vscode-checkbox", events: { onChange: "change" } }) +wr(zIt(), { name: "vscode-data-grid" }) +wr(NIt(), { name: "vscode-data-grid-cell" }) +wr(LIt(), { name: "vscode-data-grid-row" }) +wr(BIt(), { name: "vscode-divider" }) +const Pv = wr(WIt(), { name: "vscode-dropdown", events: { onChange: "change" } }), + Wt = wr(HIt(), { name: "vscode-link" }), + Ml = wr(ZIt(), { name: "vscode-option" }), + C1t = wr(t1t(), { name: "vscode-panels", events: { onChange: "change" } }), + Bk = wr(o1t(), { name: "vscode-panel-tab" }), + Uk = wr(i1t(), { name: "vscode-panel-view" }), + znt = wr(l1t(), { name: "vscode-progress-ring" }), + rb = wr(h1t(), { name: "vscode-radio", events: { onChange: "change" } }), + Kw = wr(u1t(), { name: "vscode-radio-group", events: { onChange: "change" } }) +wr(v1t(), { name: "vscode-tag" }) +const mc = wr(k1t(), { name: "vscode-text-area", events: { onChange: "change", onInput: "input" } }), + ct = wr(_1t(), { name: "vscode-text-field", events: { onChange: "change", onInput: "input" } }) +function Vw() { + return ( + (Vw = Object.assign + ? Object.assign.bind() + : function (t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e] + for (var o in n) ({}).hasOwnProperty.call(n, o) && (t[o] = n[o]) + } + return t + }), + Vw.apply(null, arguments) + ) +} +function S1t(t, e) { + if (t == null) return {} + var n = {} + for (var o in t) + if ({}.hasOwnProperty.call(t, o)) { + if (e.indexOf(o) !== -1) continue + n[o] = t[o] + } + return n +} +function A1t(t) { + k.useEffect(t, []) +} +var P1t = ["id", "volume", "playbackRate", "soundEnabled", "interrupt", "onload"] +function KA(t, e) { + var n = e === void 0 ? {} : e, + o = n.volume, + r = o === void 0 ? 1 : o, + i = n.playbackRate, + s = i === void 0 ? 1 : i, + a = n.soundEnabled, + c = a === void 0 ? !0 : a, + d = n.interrupt, + u = d === void 0 ? !1 : d, + m = n.onload, + f = S1t(n, P1t), + g = Ie.useRef(null), + b = Ie.useRef(!1), + v = Ie.useState(null), + w = v[0], + _ = v[1], + y = Ie.useState(null), + C = y[0], + S = y[1], + P = function () { + typeof m == "function" && m.call(this), b.current && _(this.duration() * 1e3), S(this) + } + A1t(function () { + return ( + ne(() => import("./chunk-pO14Kfwb.js").then((j) => j.h), __vite__mapDeps([0, 1])).then(function (j) { + if (!b.current) { + var L + ;(g.current = (L = j.Howl) !== null && L !== void 0 ? L : j.default.Howl), + (b.current = !0), + new g.current(Vw({ src: Array.isArray(t) ? t : [t], volume: r, rate: s, onload: P }, f)) + } + }), + function () { + b.current = !1 + } + ) + }), + Ie.useEffect( + function () { + g.current && C && S(new g.current(Vw({ src: Array.isArray(t) ? t : [t], volume: r, onload: P }, f))) + }, + [JSON.stringify(t)], + ), + Ie.useEffect( + function () { + C && (C.volume(r), f.sprite || C.rate(s)) + }, + [C, r, s], + ) + var R = Ie.useCallback( + function (j) { + typeof j > "u" && (j = {}), + !(!C || (!c && !j.forceSoundEnabled)) && + (u && C.stop(), j.playbackRate && C.rate(j.playbackRate), C.play(j.id)) + }, + [C, c, u], + ), + T = Ie.useCallback( + function (j) { + C && C.stop(j) + }, + [C], + ), + E = Ie.useCallback( + function (j) { + C && C.pause(j) + }, + [C], + ), + $ = [R, { sound: C, stop: T, pause: E, duration: w }] + return $ +} +const Rm = typeof performance == "object" && performance && typeof performance.now == "function" ? performance : Date, + $nt = new Set(), + oM = typeof process == "object" && process ? process : {}, + Lnt = (t, e, n, o) => { + typeof oM.emitWarning == "function" ? oM.emitWarning(t, e, n, o) : console.error(`[${n}] ${e}: ${t}`) + } +let Hw = globalThis.AbortController, + LF = globalThis.AbortSignal +var SW +if (typeof Hw > "u") { + ;(LF = class { + constructor() { + we(this, "onabort") + we(this, "_onabort", []) + we(this, "reason") + we(this, "aborted", !1) + } + addEventListener(o, r) { + this._onabort.push(r) + } + }), + (Hw = class { + constructor() { + we(this, "signal", new LF()) + e() + } + abort(o) { + var r, i + if (!this.signal.aborted) { + ;(this.signal.reason = o), (this.signal.aborted = !0) + for (const s of this.signal._onabort) s(o) + ;(i = (r = this.signal).onabort) == null || i.call(r, o) + } + } + }) + let t = ((SW = oM.env) == null ? void 0 : SW.LRU_CACHE_IGNORE_AC_WARNING) !== "1" + const e = () => { + t && + ((t = !1), + Lnt( + "AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", + "NO_ABORT_CONTROLLER", + "ENOTSUP", + e, + )) + } +} +const R1t = (t) => !$nt.has(t), + yd = (t) => t && t === Math.floor(t) && t > 0 && isFinite(t), + Dnt = (t) => + yd(t) + ? t <= Math.pow(2, 8) + ? Uint8Array + : t <= Math.pow(2, 16) + ? Uint16Array + : t <= Math.pow(2, 32) + ? Uint32Array + : t <= Number.MAX_SAFE_INTEGER + ? Ex + : null + : null +class Ex extends Array { + constructor(e) { + super(e), this.fill(0) + } +} +var $h +const tp = class tp { + constructor(e, n) { + we(this, "heap") + we(this, "length") + if (!O(tp, $h)) throw new TypeError("instantiate Stack using Stack.create(n)") + ;(this.heap = new n(e)), (this.length = 0) + } + static create(e) { + const n = Dnt(e) + if (!n) return [] + je(tp, $h, !0) + const o = new tp(e, n) + return je(tp, $h, !1), o + } + push(e) { + this.heap[this.length++] = e + } + pop() { + return this.heap[--this.length] + } +} +;($h = new WeakMap()), Je(tp, $h, !1) +let rM = tp +var AW, + PW, + Oa, + Is, + Fa, + yp, + Ba, + Lh, + Dh, + vr, + Ua, + sr, + Po, + rn, + Ei, + Ms, + ci, + Ir, + qa, + Mr, + Wa, + Ka, + js, + Va, + Od, + zi, + Nh, + nt, + iM, + kp, + yc, + Mb, + Es, + Nnt, + xp, + Oh, + jb, + kd, + xd, + sM, + zx, + $x, + _o, + aM, + cv, + wd, + lM +const V$ = class V$ { + constructor(e) { + Je(this, nt) + Je(this, Oa) + Je(this, Is) + Je(this, Fa) + Je(this, yp) + Je(this, Ba) + Je(this, Lh) + Je(this, Dh) + we(this, "ttl") + we(this, "ttlResolution") + we(this, "ttlAutopurge") + we(this, "updateAgeOnGet") + we(this, "updateAgeOnHas") + we(this, "allowStale") + we(this, "noDisposeOnSet") + we(this, "noUpdateTTL") + we(this, "maxEntrySize") + we(this, "sizeCalculation") + we(this, "noDeleteOnFetchRejection") + we(this, "noDeleteOnStaleGet") + we(this, "allowStaleOnFetchAbort") + we(this, "allowStaleOnFetchRejection") + we(this, "ignoreFetchAbort") + Je(this, vr) + Je(this, Ua) + Je(this, sr) + Je(this, Po) + Je(this, rn) + Je(this, Ei) + Je(this, Ms) + Je(this, ci) + Je(this, Ir) + Je(this, qa) + Je(this, Mr) + Je(this, Wa) + Je(this, Ka) + Je(this, js) + Je(this, Va) + Je(this, Od) + Je(this, zi) + Je(this, Nh) + Je(this, kp, () => {}) + Je(this, yc, () => {}) + Je(this, Mb, () => {}) + Je(this, Es, () => !1) + Je(this, xp, (e) => {}) + Je(this, Oh, (e, n, o) => {}) + Je(this, jb, (e, n, o, r) => { + if (o || r) throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache") + return 0 + }) + we(this, AW, "LRUCache") + const { + max: n = 0, + ttl: o, + ttlResolution: r = 1, + ttlAutopurge: i, + updateAgeOnGet: s, + updateAgeOnHas: a, + allowStale: c, + dispose: d, + onInsert: u, + disposeAfter: m, + noDisposeOnSet: f, + noUpdateTTL: g, + maxSize: b = 0, + maxEntrySize: v = 0, + sizeCalculation: w, + fetchMethod: _, + memoMethod: y, + noDeleteOnFetchRejection: C, + noDeleteOnStaleGet: S, + allowStaleOnFetchRejection: P, + allowStaleOnFetchAbort: R, + ignoreFetchAbort: T, + } = e + if (n !== 0 && !yd(n)) throw new TypeError("max option must be a nonnegative integer") + const E = n ? Dnt(n) : Array + if (!E) throw new Error("invalid max value: " + n) + if ( + (je(this, Oa, n), + je(this, Is, b), + (this.maxEntrySize = v || O(this, Is)), + (this.sizeCalculation = w), + this.sizeCalculation) + ) { + if (!O(this, Is) && !this.maxEntrySize) + throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize") + if (typeof this.sizeCalculation != "function") throw new TypeError("sizeCalculation set to non-function") + } + if (y !== void 0 && typeof y != "function") throw new TypeError("memoMethod must be a function if defined") + if ((je(this, Dh, y), _ !== void 0 && typeof _ != "function")) + throw new TypeError("fetchMethod must be a function if specified") + if ( + (je(this, Lh, _), + je(this, Od, !!_), + je(this, sr, new Map()), + je(this, Po, new Array(n).fill(void 0)), + je(this, rn, new Array(n).fill(void 0)), + je(this, Ei, new E(n)), + je(this, Ms, new E(n)), + je(this, ci, 0), + je(this, Ir, 0), + je(this, qa, rM.create(n)), + je(this, vr, 0), + je(this, Ua, 0), + typeof d == "function" && je(this, Fa, d), + typeof u == "function" && je(this, yp, u), + typeof m == "function" ? (je(this, Ba, m), je(this, Mr, [])) : (je(this, Ba, void 0), je(this, Mr, void 0)), + je(this, Va, !!O(this, Fa)), + je(this, Nh, !!O(this, yp)), + je(this, zi, !!O(this, Ba)), + (this.noDisposeOnSet = !!f), + (this.noUpdateTTL = !!g), + (this.noDeleteOnFetchRejection = !!C), + (this.allowStaleOnFetchRejection = !!P), + (this.allowStaleOnFetchAbort = !!R), + (this.ignoreFetchAbort = !!T), + this.maxEntrySize !== 0) + ) { + if (O(this, Is) !== 0 && !yd(O(this, Is))) + throw new TypeError("maxSize must be a positive integer if specified") + if (!yd(this.maxEntrySize)) throw new TypeError("maxEntrySize must be a positive integer if specified") + Ne(this, nt, Nnt).call(this) + } + if ( + ((this.allowStale = !!c), + (this.noDeleteOnStaleGet = !!S), + (this.updateAgeOnGet = !!s), + (this.updateAgeOnHas = !!a), + (this.ttlResolution = yd(r) || r === 0 ? r : 1), + (this.ttlAutopurge = !!i), + (this.ttl = o || 0), + this.ttl) + ) { + if (!yd(this.ttl)) throw new TypeError("ttl must be a positive integer if specified") + Ne(this, nt, iM).call(this) + } + if (O(this, Oa) === 0 && this.ttl === 0 && O(this, Is) === 0) + throw new TypeError("At least one of max, maxSize, or ttl is required") + if (!this.ttlAutopurge && !O(this, Oa) && !O(this, Is)) { + const $ = "LRU_CACHE_UNBOUNDED" + R1t($) && + ($nt.add($), + Lnt( + "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.", + "UnboundedCacheWarning", + $, + V$, + )) + } + } + static unsafeExposeInternals(e) { + return { + starts: O(e, Ka), + ttls: O(e, js), + sizes: O(e, Wa), + keyMap: O(e, sr), + keyList: O(e, Po), + valList: O(e, rn), + next: O(e, Ei), + prev: O(e, Ms), + get head() { + return O(e, ci) + }, + get tail() { + return O(e, Ir) + }, + free: O(e, qa), + isBackgroundFetch: (n) => { + var o + return Ne((o = e), nt, _o).call(o, n) + }, + backgroundFetch: (n, o, r, i) => { + var s + return Ne((s = e), nt, $x).call(s, n, o, r, i) + }, + moveToTail: (n) => { + var o + return Ne((o = e), nt, cv).call(o, n) + }, + indexes: (n) => { + var o + return Ne((o = e), nt, kd).call(o, n) + }, + rindexes: (n) => { + var o + return Ne((o = e), nt, xd).call(o, n) + }, + isStale: (n) => { + var o + return O((o = e), Es).call(o, n) + }, + } + } + get max() { + return O(this, Oa) + } + get maxSize() { + return O(this, Is) + } + get calculatedSize() { + return O(this, Ua) + } + get size() { + return O(this, vr) + } + get fetchMethod() { + return O(this, Lh) + } + get memoMethod() { + return O(this, Dh) + } + get dispose() { + return O(this, Fa) + } + get onInsert() { + return O(this, yp) + } + get disposeAfter() { + return O(this, Ba) + } + getRemainingTTL(e) { + return O(this, sr).has(e) ? 1 / 0 : 0 + } + *entries() { + for (const e of Ne(this, nt, kd).call(this)) + O(this, rn)[e] !== void 0 && + O(this, Po)[e] !== void 0 && + !Ne(this, nt, _o).call(this, O(this, rn)[e]) && + (yield [O(this, Po)[e], O(this, rn)[e]]) + } + *rentries() { + for (const e of Ne(this, nt, xd).call(this)) + O(this, rn)[e] !== void 0 && + O(this, Po)[e] !== void 0 && + !Ne(this, nt, _o).call(this, O(this, rn)[e]) && + (yield [O(this, Po)[e], O(this, rn)[e]]) + } + *keys() { + for (const e of Ne(this, nt, kd).call(this)) { + const n = O(this, Po)[e] + n !== void 0 && !Ne(this, nt, _o).call(this, O(this, rn)[e]) && (yield n) + } + } + *rkeys() { + for (const e of Ne(this, nt, xd).call(this)) { + const n = O(this, Po)[e] + n !== void 0 && !Ne(this, nt, _o).call(this, O(this, rn)[e]) && (yield n) + } + } + *values() { + for (const e of Ne(this, nt, kd).call(this)) + O(this, rn)[e] !== void 0 && !Ne(this, nt, _o).call(this, O(this, rn)[e]) && (yield O(this, rn)[e]) + } + *rvalues() { + for (const e of Ne(this, nt, xd).call(this)) + O(this, rn)[e] !== void 0 && !Ne(this, nt, _o).call(this, O(this, rn)[e]) && (yield O(this, rn)[e]) + } + [((PW = Symbol.iterator), (AW = Symbol.toStringTag), PW)]() { + return this.entries() + } + find(e, n = {}) { + for (const o of Ne(this, nt, kd).call(this)) { + const r = O(this, rn)[o], + i = Ne(this, nt, _o).call(this, r) ? r.__staleWhileFetching : r + if (i !== void 0 && e(i, O(this, Po)[o], this)) return this.get(O(this, Po)[o], n) + } + } + forEach(e, n = this) { + for (const o of Ne(this, nt, kd).call(this)) { + const r = O(this, rn)[o], + i = Ne(this, nt, _o).call(this, r) ? r.__staleWhileFetching : r + i !== void 0 && e.call(n, i, O(this, Po)[o], this) + } + } + rforEach(e, n = this) { + for (const o of Ne(this, nt, xd).call(this)) { + const r = O(this, rn)[o], + i = Ne(this, nt, _o).call(this, r) ? r.__staleWhileFetching : r + i !== void 0 && e.call(n, i, O(this, Po)[o], this) + } + } + purgeStale() { + let e = !1 + for (const n of Ne(this, nt, xd).call(this, { allowStale: !0 })) + O(this, Es).call(this, n) && (Ne(this, nt, wd).call(this, O(this, Po)[n], "expire"), (e = !0)) + return e + } + info(e) { + const n = O(this, sr).get(e) + if (n === void 0) return + const o = O(this, rn)[n], + r = Ne(this, nt, _o).call(this, o) ? o.__staleWhileFetching : o + if (r === void 0) return + const i = { value: r } + if (O(this, js) && O(this, Ka)) { + const s = O(this, js)[n], + a = O(this, Ka)[n] + if (s && a) { + const c = s - (Rm.now() - a) + ;(i.ttl = c), (i.start = Date.now()) + } + } + return O(this, Wa) && (i.size = O(this, Wa)[n]), i + } + dump() { + const e = [] + for (const n of Ne(this, nt, kd).call(this, { allowStale: !0 })) { + const o = O(this, Po)[n], + r = O(this, rn)[n], + i = Ne(this, nt, _o).call(this, r) ? r.__staleWhileFetching : r + if (i === void 0 || o === void 0) continue + const s = { value: i } + if (O(this, js) && O(this, Ka)) { + s.ttl = O(this, js)[n] + const a = Rm.now() - O(this, Ka)[n] + s.start = Math.floor(Date.now() - a) + } + O(this, Wa) && (s.size = O(this, Wa)[n]), e.unshift([o, s]) + } + return e + } + load(e) { + this.clear() + for (const [n, o] of e) { + if (o.start) { + const r = Date.now() - o.start + o.start = Rm.now() - r + } + this.set(n, o.value, o) + } + } + set(e, n, o = {}) { + var f, g, b, v, w, _, y + if (n === void 0) return this.delete(e), this + const { + ttl: r = this.ttl, + start: i, + noDisposeOnSet: s = this.noDisposeOnSet, + sizeCalculation: a = this.sizeCalculation, + status: c, + } = o + let { noUpdateTTL: d = this.noUpdateTTL } = o + const u = O(this, jb).call(this, e, n, o.size || 0, a) + if (this.maxEntrySize && u > this.maxEntrySize) + return c && ((c.set = "miss"), (c.maxEntrySizeExceeded = !0)), Ne(this, nt, wd).call(this, e, "set"), this + let m = O(this, vr) === 0 ? void 0 : O(this, sr).get(e) + if (m === void 0) + (m = + O(this, vr) === 0 + ? O(this, Ir) + : O(this, qa).length !== 0 + ? O(this, qa).pop() + : O(this, vr) === O(this, Oa) + ? Ne(this, nt, zx).call(this, !1) + : O(this, vr)), + (O(this, Po)[m] = e), + (O(this, rn)[m] = n), + O(this, sr).set(e, m), + (O(this, Ei)[O(this, Ir)] = m), + (O(this, Ms)[m] = O(this, Ir)), + je(this, Ir, m), + Bu(this, vr)._++, + O(this, Oh).call(this, m, u, c), + c && (c.set = "add"), + (d = !1), + O(this, Nh) && ((f = O(this, yp)) == null || f.call(this, n, e, "add")) + else { + Ne(this, nt, cv).call(this, m) + const C = O(this, rn)[m] + if (n !== C) { + if (O(this, Od) && Ne(this, nt, _o).call(this, C)) { + C.__abortController.abort(new Error("replaced")) + const { __staleWhileFetching: S } = C + S !== void 0 && + !s && + (O(this, Va) && ((g = O(this, Fa)) == null || g.call(this, S, e, "set")), + O(this, zi) && ((b = O(this, Mr)) == null || b.push([S, e, "set"]))) + } else + s || + (O(this, Va) && ((v = O(this, Fa)) == null || v.call(this, C, e, "set")), + O(this, zi) && ((w = O(this, Mr)) == null || w.push([C, e, "set"]))) + if ((O(this, xp).call(this, m), O(this, Oh).call(this, m, u, c), (O(this, rn)[m] = n), c)) { + c.set = "replace" + const S = C && Ne(this, nt, _o).call(this, C) ? C.__staleWhileFetching : C + S !== void 0 && (c.oldValue = S) + } + } else c && (c.set = "update") + O(this, Nh) && ((_ = this.onInsert) == null || _.call(this, n, e, n === C ? "update" : "replace")) + } + if ( + (r !== 0 && !O(this, js) && Ne(this, nt, iM).call(this), + O(this, js) && (d || O(this, Mb).call(this, m, r, i), c && O(this, yc).call(this, c, m)), + !s && O(this, zi) && O(this, Mr)) + ) { + const C = O(this, Mr) + let S + for (; (S = C == null ? void 0 : C.shift()); ) (y = O(this, Ba)) == null || y.call(this, ...S) + } + return this + } + pop() { + var e + try { + for (; O(this, vr); ) { + const n = O(this, rn)[O(this, ci)] + if ((Ne(this, nt, zx).call(this, !0), Ne(this, nt, _o).call(this, n))) { + if (n.__staleWhileFetching) return n.__staleWhileFetching + } else if (n !== void 0) return n + } + } finally { + if (O(this, zi) && O(this, Mr)) { + const n = O(this, Mr) + let o + for (; (o = n == null ? void 0 : n.shift()); ) (e = O(this, Ba)) == null || e.call(this, ...o) + } + } + } + has(e, n = {}) { + const { updateAgeOnHas: o = this.updateAgeOnHas, status: r } = n, + i = O(this, sr).get(e) + if (i !== void 0) { + const s = O(this, rn)[i] + if (Ne(this, nt, _o).call(this, s) && s.__staleWhileFetching === void 0) return !1 + if (O(this, Es).call(this, i)) r && ((r.has = "stale"), O(this, yc).call(this, r, i)) + else return o && O(this, kp).call(this, i), r && ((r.has = "hit"), O(this, yc).call(this, r, i)), !0 + } else r && (r.has = "miss") + return !1 + } + peek(e, n = {}) { + const { allowStale: o = this.allowStale } = n, + r = O(this, sr).get(e) + if (r === void 0 || (!o && O(this, Es).call(this, r))) return + const i = O(this, rn)[r] + return Ne(this, nt, _o).call(this, i) ? i.__staleWhileFetching : i + } + async fetch(e, n = {}) { + const { + allowStale: o = this.allowStale, + updateAgeOnGet: r = this.updateAgeOnGet, + noDeleteOnStaleGet: i = this.noDeleteOnStaleGet, + ttl: s = this.ttl, + noDisposeOnSet: a = this.noDisposeOnSet, + size: c = 0, + sizeCalculation: d = this.sizeCalculation, + noUpdateTTL: u = this.noUpdateTTL, + noDeleteOnFetchRejection: m = this.noDeleteOnFetchRejection, + allowStaleOnFetchRejection: f = this.allowStaleOnFetchRejection, + ignoreFetchAbort: g = this.ignoreFetchAbort, + allowStaleOnFetchAbort: b = this.allowStaleOnFetchAbort, + context: v, + forceRefresh: w = !1, + status: _, + signal: y, + } = n + if (!O(this, Od)) + return ( + _ && (_.fetch = "get"), + this.get(e, { allowStale: o, updateAgeOnGet: r, noDeleteOnStaleGet: i, status: _ }) + ) + const C = { + allowStale: o, + updateAgeOnGet: r, + noDeleteOnStaleGet: i, + ttl: s, + noDisposeOnSet: a, + size: c, + sizeCalculation: d, + noUpdateTTL: u, + noDeleteOnFetchRejection: m, + allowStaleOnFetchRejection: f, + allowStaleOnFetchAbort: b, + ignoreFetchAbort: g, + status: _, + signal: y, + } + let S = O(this, sr).get(e) + if (S === void 0) { + _ && (_.fetch = "miss") + const P = Ne(this, nt, $x).call(this, e, S, C, v) + return (P.__returned = P) + } else { + const P = O(this, rn)[S] + if (Ne(this, nt, _o).call(this, P)) { + const j = o && P.__staleWhileFetching !== void 0 + return ( + _ && ((_.fetch = "inflight"), j && (_.returnedStale = !0)), + j ? P.__staleWhileFetching : (P.__returned = P) + ) + } + const R = O(this, Es).call(this, S) + if (!w && !R) + return ( + _ && (_.fetch = "hit"), + Ne(this, nt, cv).call(this, S), + r && O(this, kp).call(this, S), + _ && O(this, yc).call(this, _, S), + P + ) + const T = Ne(this, nt, $x).call(this, e, S, C, v), + $ = T.__staleWhileFetching !== void 0 && o + return ( + _ && ((_.fetch = R ? "stale" : "refresh"), $ && R && (_.returnedStale = !0)), + $ ? T.__staleWhileFetching : (T.__returned = T) + ) + } + } + async forceFetch(e, n = {}) { + const o = await this.fetch(e, n) + if (o === void 0) throw new Error("fetch() returned undefined") + return o + } + memo(e, n = {}) { + const o = O(this, Dh) + if (!o) throw new Error("no memoMethod provided to constructor") + const { context: r, forceRefresh: i, ...s } = n, + a = this.get(e, s) + if (!i && a !== void 0) return a + const c = o(e, a, { options: s, context: r }) + return this.set(e, c, s), c + } + get(e, n = {}) { + const { + allowStale: o = this.allowStale, + updateAgeOnGet: r = this.updateAgeOnGet, + noDeleteOnStaleGet: i = this.noDeleteOnStaleGet, + status: s, + } = n, + a = O(this, sr).get(e) + if (a !== void 0) { + const c = O(this, rn)[a], + d = Ne(this, nt, _o).call(this, c) + return ( + s && O(this, yc).call(this, s, a), + O(this, Es).call(this, a) + ? (s && (s.get = "stale"), + d + ? (s && o && c.__staleWhileFetching !== void 0 && (s.returnedStale = !0), + o ? c.__staleWhileFetching : void 0) + : (i || Ne(this, nt, wd).call(this, e, "expire"), + s && o && (s.returnedStale = !0), + o ? c : void 0)) + : (s && (s.get = "hit"), + d + ? c.__staleWhileFetching + : (Ne(this, nt, cv).call(this, a), r && O(this, kp).call(this, a), c)) + ) + } else s && (s.get = "miss") + } + delete(e) { + return Ne(this, nt, wd).call(this, e, "delete") + } + clear() { + return Ne(this, nt, lM).call(this, "delete") + } +} +;(Oa = new WeakMap()), + (Is = new WeakMap()), + (Fa = new WeakMap()), + (yp = new WeakMap()), + (Ba = new WeakMap()), + (Lh = new WeakMap()), + (Dh = new WeakMap()), + (vr = new WeakMap()), + (Ua = new WeakMap()), + (sr = new WeakMap()), + (Po = new WeakMap()), + (rn = new WeakMap()), + (Ei = new WeakMap()), + (Ms = new WeakMap()), + (ci = new WeakMap()), + (Ir = new WeakMap()), + (qa = new WeakMap()), + (Mr = new WeakMap()), + (Wa = new WeakMap()), + (Ka = new WeakMap()), + (js = new WeakMap()), + (Va = new WeakMap()), + (Od = new WeakMap()), + (zi = new WeakMap()), + (Nh = new WeakMap()), + (nt = new WeakSet()), + (iM = function () { + const e = new Ex(O(this, Oa)), + n = new Ex(O(this, Oa)) + je(this, js, e), + je(this, Ka, n), + je(this, Mb, (i, s, a = Rm.now()) => { + if (((n[i] = s !== 0 ? a : 0), (e[i] = s), s !== 0 && this.ttlAutopurge)) { + const c = setTimeout(() => { + O(this, Es).call(this, i) && Ne(this, nt, wd).call(this, O(this, Po)[i], "expire") + }, s + 1) + c.unref && c.unref() + } + }), + je(this, kp, (i) => { + n[i] = e[i] !== 0 ? Rm.now() : 0 + }), + je(this, yc, (i, s) => { + if (e[s]) { + const a = e[s], + c = n[s] + if (!a || !c) return + ;(i.ttl = a), (i.start = c), (i.now = o || r()) + const d = i.now - c + i.remainingTTL = a - d + } + }) + let o = 0 + const r = () => { + const i = Rm.now() + if (this.ttlResolution > 0) { + o = i + const s = setTimeout(() => (o = 0), this.ttlResolution) + s.unref && s.unref() + } + return i + } + ;(this.getRemainingTTL = (i) => { + const s = O(this, sr).get(i) + if (s === void 0) return 0 + const a = e[s], + c = n[s] + if (!a || !c) return 1 / 0 + const d = (o || r()) - c + return a - d + }), + je(this, Es, (i) => { + const s = n[i], + a = e[i] + return !!a && !!s && (o || r()) - s > a + }) + }), + (kp = new WeakMap()), + (yc = new WeakMap()), + (Mb = new WeakMap()), + (Es = new WeakMap()), + (Nnt = function () { + const e = new Ex(O(this, Oa)) + je(this, Ua, 0), + je(this, Wa, e), + je(this, xp, (n) => { + je(this, Ua, O(this, Ua) - e[n]), (e[n] = 0) + }), + je(this, jb, (n, o, r, i) => { + if (Ne(this, nt, _o).call(this, o)) return 0 + if (!yd(r)) + if (i) { + if (typeof i != "function") throw new TypeError("sizeCalculation must be a function") + if (((r = i(o, n)), !yd(r))) + throw new TypeError("sizeCalculation return invalid (expect positive integer)") + } else + throw new TypeError( + "invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.", + ) + return r + }), + je(this, Oh, (n, o, r) => { + if (((e[n] = o), O(this, Is))) { + const i = O(this, Is) - e[n] + for (; O(this, Ua) > i; ) Ne(this, nt, zx).call(this, !0) + } + je(this, Ua, O(this, Ua) + e[n]), r && ((r.entrySize = o), (r.totalCalculatedSize = O(this, Ua))) + }) + }), + (xp = new WeakMap()), + (Oh = new WeakMap()), + (jb = new WeakMap()), + (kd = function* ({ allowStale: e = this.allowStale } = {}) { + if (O(this, vr)) + for ( + let n = O(this, Ir); + !( + !Ne(this, nt, sM).call(this, n) || + ((e || !O(this, Es).call(this, n)) && (yield n), n === O(this, ci)) + ); + + ) + n = O(this, Ms)[n] + }), + (xd = function* ({ allowStale: e = this.allowStale } = {}) { + if (O(this, vr)) + for ( + let n = O(this, ci); + !( + !Ne(this, nt, sM).call(this, n) || + ((e || !O(this, Es).call(this, n)) && (yield n), n === O(this, Ir)) + ); + + ) + n = O(this, Ei)[n] + }), + (sM = function (e) { + return e !== void 0 && O(this, sr).get(O(this, Po)[e]) === e + }), + (zx = function (e) { + var i, s + const n = O(this, ci), + o = O(this, Po)[n], + r = O(this, rn)[n] + return ( + O(this, Od) && Ne(this, nt, _o).call(this, r) + ? r.__abortController.abort(new Error("evicted")) + : (O(this, Va) || O(this, zi)) && + (O(this, Va) && ((i = O(this, Fa)) == null || i.call(this, r, o, "evict")), + O(this, zi) && ((s = O(this, Mr)) == null || s.push([r, o, "evict"]))), + O(this, xp).call(this, n), + e && ((O(this, Po)[n] = void 0), (O(this, rn)[n] = void 0), O(this, qa).push(n)), + O(this, vr) === 1 + ? (je(this, ci, je(this, Ir, 0)), (O(this, qa).length = 0)) + : je(this, ci, O(this, Ei)[n]), + O(this, sr).delete(o), + Bu(this, vr)._--, + n + ) + }), + ($x = function (e, n, o, r) { + const i = n === void 0 ? void 0 : O(this, rn)[n] + if (Ne(this, nt, _o).call(this, i)) return i + const s = new Hw(), + { signal: a } = o + a == null || a.addEventListener("abort", () => s.abort(a.reason), { signal: s.signal }) + const c = { signal: s.signal, options: o, context: r }, + d = (v, w = !1) => { + const { aborted: _ } = s.signal, + y = o.ignoreFetchAbort && v !== void 0 + if ( + (o.status && + (_ && !w + ? ((o.status.fetchAborted = !0), + (o.status.fetchError = s.signal.reason), + y && (o.status.fetchAbortIgnored = !0)) + : (o.status.fetchResolved = !0)), + _ && !y && !w) + ) + return m(s.signal.reason) + const C = g + return ( + O(this, rn)[n] === g && + (v === void 0 + ? C.__staleWhileFetching + ? (O(this, rn)[n] = C.__staleWhileFetching) + : Ne(this, nt, wd).call(this, e, "fetch") + : (o.status && (o.status.fetchUpdated = !0), this.set(e, v, c.options))), + v + ) + }, + u = (v) => (o.status && ((o.status.fetchRejected = !0), (o.status.fetchError = v)), m(v)), + m = (v) => { + const { aborted: w } = s.signal, + _ = w && o.allowStaleOnFetchAbort, + y = _ || o.allowStaleOnFetchRejection, + C = y || o.noDeleteOnFetchRejection, + S = g + if ( + (O(this, rn)[n] === g && + (!C || S.__staleWhileFetching === void 0 + ? Ne(this, nt, wd).call(this, e, "fetch") + : _ || (O(this, rn)[n] = S.__staleWhileFetching)), + y) + ) + return ( + o.status && S.__staleWhileFetching !== void 0 && (o.status.returnedStale = !0), + S.__staleWhileFetching + ) + if (S.__returned === S) throw v + }, + f = (v, w) => { + var y + const _ = (y = O(this, Lh)) == null ? void 0 : y.call(this, e, i, c) + _ && _ instanceof Promise && _.then((C) => v(C === void 0 ? void 0 : C), w), + s.signal.addEventListener("abort", () => { + ;(!o.ignoreFetchAbort || o.allowStaleOnFetchAbort) && + (v(void 0), o.allowStaleOnFetchAbort && (v = (C) => d(C, !0))) + }) + } + o.status && (o.status.fetchDispatched = !0) + const g = new Promise(f).then(d, u), + b = Object.assign(g, { __abortController: s, __staleWhileFetching: i, __returned: void 0 }) + return ( + n === void 0 + ? (this.set(e, b, { ...c.options, status: void 0 }), (n = O(this, sr).get(e))) + : (O(this, rn)[n] = b), + b + ) + }), + (_o = function (e) { + if (!O(this, Od)) return !1 + const n = e + return ( + !!n && n instanceof Promise && n.hasOwnProperty("__staleWhileFetching") && n.__abortController instanceof Hw + ) + }), + (aM = function (e, n) { + ;(O(this, Ms)[n] = e), (O(this, Ei)[e] = n) + }), + (cv = function (e) { + e !== O(this, Ir) && + (e === O(this, ci) + ? je(this, ci, O(this, Ei)[e]) + : Ne(this, nt, aM).call(this, O(this, Ms)[e], O(this, Ei)[e]), + Ne(this, nt, aM).call(this, O(this, Ir), e), + je(this, Ir, e)) + }), + (wd = function (e, n) { + var r, i, s, a + let o = !1 + if (O(this, vr) !== 0) { + const c = O(this, sr).get(e) + if (c !== void 0) + if (((o = !0), O(this, vr) === 1)) Ne(this, nt, lM).call(this, n) + else { + O(this, xp).call(this, c) + const d = O(this, rn)[c] + if ( + (Ne(this, nt, _o).call(this, d) + ? d.__abortController.abort(new Error("deleted")) + : (O(this, Va) || O(this, zi)) && + (O(this, Va) && ((r = O(this, Fa)) == null || r.call(this, d, e, n)), + O(this, zi) && ((i = O(this, Mr)) == null || i.push([d, e, n]))), + O(this, sr).delete(e), + (O(this, Po)[c] = void 0), + (O(this, rn)[c] = void 0), + c === O(this, Ir)) + ) + je(this, Ir, O(this, Ms)[c]) + else if (c === O(this, ci)) je(this, ci, O(this, Ei)[c]) + else { + const u = O(this, Ms)[c] + O(this, Ei)[u] = O(this, Ei)[c] + const m = O(this, Ei)[c] + O(this, Ms)[m] = O(this, Ms)[c] + } + Bu(this, vr)._--, O(this, qa).push(c) + } + } + if (O(this, zi) && (s = O(this, Mr)) != null && s.length) { + const c = O(this, Mr) + let d + for (; (d = c == null ? void 0 : c.shift()); ) (a = O(this, Ba)) == null || a.call(this, ...d) + } + return o + }), + (lM = function (e) { + var n, o, r + for (const i of Ne(this, nt, xd).call(this, { allowStale: !0 })) { + const s = O(this, rn)[i] + if (Ne(this, nt, _o).call(this, s)) s.__abortController.abort(new Error("deleted")) + else { + const a = O(this, Po)[i] + O(this, Va) && ((n = O(this, Fa)) == null || n.call(this, s, a, e)), + O(this, zi) && ((o = O(this, Mr)) == null || o.push([s, a, e])) + } + } + if ( + (O(this, sr).clear(), + O(this, rn).fill(void 0), + O(this, Po).fill(void 0), + O(this, js) && O(this, Ka) && (O(this, js).fill(0), O(this, Ka).fill(0)), + O(this, Wa) && O(this, Wa).fill(0), + je(this, ci, 0), + je(this, Ir, 0), + (O(this, qa).length = 0), + je(this, Ua, 0), + je(this, vr, 0), + O(this, zi) && O(this, Mr)) + ) { + const i = O(this, Mr) + let s + for (; (s = i == null ? void 0 : i.shift()); ) (r = O(this, Ba)) == null || r.call(this, ...s) + } + }) +let Gw = V$ +function Ont(t, e, n) { + const o = k.useRef(t), + r = k.useRef(null) + k.useEffect(() => { + o.current = t + }, [t]), + k.useEffect( + () => ( + r.current && clearTimeout(r.current), + (r.current = setTimeout(() => { + o.current() + }, e)), + () => { + r.current && clearTimeout(r.current) + } + ), + [e, ...n], + ) +} +function Fnt(t, e, n) { + const o = e ?? [] + return o.length === 0 ? t : [...t, ...o].slice(0, n) +} +function T1t(t) { + if (t.length === 0) return [] + if (t.length === 1) return t + let e = !1 + for (const r of t) + if (r.type === "say" && (r.say === "api_req_started" || r.say === "api_req_finished")) { + e = !0 + break + } + if (!e) return t + const n = [], + o = [] + for (const r of t) { + if (r.type !== "say" || (r.say !== "api_req_started" && r.say !== "api_req_finished")) { + n.push(r) + continue + } + if (r.say === "api_req_started") { + n.push(r), o.push(n.length - 1) + continue + } + const i = o.length > 0 ? o.pop() : void 0 + if (i !== void 0) { + const s = n[i] + let a = {}, + c = {} + try { + s.text && (a = JSON.parse(s.text)) + } catch {} + try { + r.text && (c = JSON.parse(r.text)) + } catch {} + n[i] = { ...s, text: JSON.stringify({ ...a, ...c }) } + } + } + return n +} +function Al(t, e) { + if (!t) return e + try { + return JSON.parse(t) + } catch (n) { + return console.error("Error parsing JSON:", n), e + } +} +const hh = "Output:" +function I1t(t) { + const e = new Map(), + n = new Set() + for (let r = 0; r < t.length; r++) { + const i = t[r] + if (i.type === "ask" && i.ask === "use_mcp_server") { + let s = [], + a = r + 1 + for (; a < t.length; ) + if (t[a].say === "mcp_server_response") s.push(t[a].text || ""), n.add(a), a++ + else { + if (t[a].type === "ask" && t[a].ask === "use_mcp_server") break + a++ + } + if (s.length > 0) { + const c = Al(i.text || "{}", {}) + c.response = s.join(` +`) + const d = JSON.stringify(c) + e.set(i.ts, { ...i, text: d }) + } else e.set(i.ts, { ...i }) + } else if (i.type === "ask" && i.ask === "command") { + let s = i.text || "", + a = r + 1, + c, + d = r + for (; a < t.length; ) { + const { type: u, ask: m, say: f, text: g = "" } = t[a] + if (u === "ask" && m === "command") break + if (m === "command_output" || f === "command_output") { + c || + (s += ` +${hh}`) + const b = c && c.type !== u && c.text === g + g.length > 0 && + !b && + (c && + s.length > s.indexOf(hh) + hh.length && + (s += ` +`), + (s += g)), + (c = { type: u, text: g }), + n.add(a), + (d = a) + } + a++ + } + e.set(i.ts, { ...i, text: s }), d > r && (r = d) + } + } + const o = [] + for (let r = 0; r < t.length; r++) { + const i = t[r] + n.has(r) || + i.ask === "command_output" || + i.say === "command_output" || + i.say === "mcp_server_response" || + (e.has(i.ts) ? o.push(e.get(i.ts)) : o.push(i)) + } + return o +} +function M1t(t) { + var n + const e = { + totalTokensIn: 0, + totalTokensOut: 0, + totalCacheWrites: void 0, + totalCacheReads: void 0, + totalCost: 0, + contextTokens: 0, + } + t.forEach((o) => { + var r + if (o.type === "say" && o.say === "api_req_started" && o.text) + try { + const i = JSON.parse(o.text), + { tokensIn: s, tokensOut: a, cacheWrites: c, cacheReads: d, cost: u } = i + typeof s == "number" && (e.totalTokensIn += s), + typeof a == "number" && (e.totalTokensOut += a), + typeof c == "number" && (e.totalCacheWrites = (e.totalCacheWrites ?? 0) + c), + typeof d == "number" && (e.totalCacheReads = (e.totalCacheReads ?? 0) + d), + typeof u == "number" && (e.totalCost += u) + } catch (i) { + console.error("Error parsing JSON:", i) + } + else + o.type === "say" && + o.say === "condense_context" && + (e.totalCost += ((r = o.contextCondense) == null ? void 0 : r.cost) ?? 0) + }), + (e.contextTokens = 0) + for (let o = t.length - 1; o >= 0; o--) { + const r = t[o] + if (r.type === "say" && r.say === "api_req_started" && r.text) + try { + const i = JSON.parse(r.text), + { tokensIn: s, tokensOut: a, cacheWrites: c, cacheReads: d, apiProtocol: u } = i + u === "anthropic" + ? (e.contextTokens = (s || 0) + (a || 0) + (c || 0) + (d || 0)) + : (e.contextTokens = (s || 0) + (a || 0)) + } catch (i) { + console.error("Error parsing JSON:", i) + continue + } + else + r.type === "say" && + r.say === "condense_context" && + (e.contextTokens = ((n = r.contextCondense) == null ? void 0 : n.newContextTokens) ?? 0) + if (e.contextTokens) break + } + return e +} +class j1t { + static isProfileAllowed(e, n) { + var r + if (n.allowAll) return !0 + if (!e.apiProvider || !this.isProviderAllowed(e.apiProvider, n)) return !1 + if (e.apiProvider === "human-relay") return !0 + const o = this.getModelIdFromProfile(e) + return o + ? this.isModelAllowed(e.apiProvider, o, n) + : ((r = n.providers[e.apiProvider]) == null ? void 0 : r.allowAll) === !0 + } + static isProviderAllowed(e, n) { + return n.allowAll ? !0 : e in n.providers + } + static isModelAllowed(e, n, o) { + var i + if (o.allowAll) return !0 + const r = o.providers[e] + return r ? (r.allowAll ? !0 : (((i = r.models) == null ? void 0 : i.includes(n)) ?? !1)) : !1 + } + static getModelIdFromProfile(e) { + var n + switch (e.apiProvider) { + case "openai": + return e.openAiModelId + case "anthropic": + case "openai-native": + case "bedrock": + case "vertex": + case "gemini": + case "mistral": + case "deepseek": + case "xai": + case "groq": + case "sambanova": + case "chutes": + case "fireworks": + return e.apiModelId + case "litellm": + return e.litellmModelId + case "unbound": + return e.unboundModelId + case "lmstudio": + return e.lmStudioModelId + case "vscode-lm": + return (n = e.vsCodeLmModelSelector) == null ? void 0 : n.id + case "openrouter": + return e.openRouterModelId + case "glama": + return e.glamaModelId + case "ollama": + return e.ollamaModelId + case "requesty": + return e.requestyModelId + case "human-relay": + case "fake-ai": + default: + return + } + } +} +var qk = {}, + VA, + DF +function E1t() { + return ( + DF || + ((DF = 1), + (VA = function (e) { + return e + .map(function (n) { + return n === "" + ? "''" + : n && typeof n == "object" + ? n.op.replace(/(.)/g, "\\$1") + : /["\s]/.test(n) && !/'/.test(n) + ? "'" + n.replace(/(['\\])/g, "\\$1") + "'" + : /["'\s]/.test(n) + ? '"' + n.replace(/(["\\$`!])/g, "\\$1") + '"' + : String(n).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g, "$1\\$2") + }) + .join(" ") + })), + VA + ) +} +var HA, NF +function z1t() { + if (NF) return HA + NF = 1 + for ( + var t = + "(?:" + + ["\\|\\|", "\\&\\&", ";;", "\\|\\&", "\\<\\(", "\\<\\<\\<", ">>", ">\\&", "<\\&", "[&;()|<>]"].join( + "|", + ) + + ")", + e = new RegExp("^" + t + "$"), + n = "|&;()<> \\t", + o = '"((\\\\"|[^"])*?)"', + r = "'((\\\\'|[^'])*?)'", + i = /^#$/, + s = "'", + a = '"', + c = "$", + d = "", + u = 4294967296, + m = 0; + m < 4; + m++ + ) + d += (u * Math.random()).toString(16) + var f = new RegExp("^" + d) + function g(w, _) { + for (var y = _.lastIndex, C = [], S; (S = _.exec(w)); ) C.push(S), _.lastIndex === S.index && (_.lastIndex += 1) + return (_.lastIndex = y), C + } + function b(w, _, y) { + var C = typeof w == "function" ? w(y) : w[y] + return ( + typeof C > "u" && y != "" ? (C = "") : typeof C > "u" && (C = "$"), + typeof C == "object" ? _ + d + JSON.stringify(C) + d : _ + C + ) + } + function v(w, _, y) { + y || (y = {}) + var C = y.escape || "\\", + S = "(\\" + C + `['"` + n + `]|[^\\s'"` + n + "])+", + P = new RegExp(["(" + t + ")", "(" + S + "|" + o + "|" + r + ")+"].join("|"), "g"), + R = g(w, P) + if (R.length === 0) return [] + _ || (_ = {}) + var T = !1 + return R.map(function (E) { + var $ = E[0] + if (!$ || T) return + if (e.test($)) return { op: $ } + var j = !1, + L = !1, + W = "", + G = !1, + U + function Z() { + U += 1 + var H, + B, + M = $.charAt(U) + if (M === "{") { + if (((U += 1), $.charAt(U) === "}")) throw new Error("Bad substitution: " + $.slice(U - 2, U + 1)) + if (((H = $.indexOf("}", U)), H < 0)) throw new Error("Bad substitution: " + $.slice(U)) + ;(B = $.slice(U, H)), (U = H) + } else if (/[*@#?$!_-]/.test(M)) (B = M), (U += 1) + else { + var D = $.slice(U) + ;(H = D.match(/[^\w\d_]/)), + H ? ((B = D.slice(0, H.index)), (U += H.index - 1)) : ((B = D), (U = $.length)) + } + return b(_, "", B) + } + for (U = 0; U < $.length; U++) { + var V = $.charAt(U) + if (((G = G || (!j && (V === "*" || V === "?"))), L)) (W += V), (L = !1) + else if (j) + V === j + ? (j = !1) + : j == s + ? (W += V) + : V === C + ? ((U += 1), (V = $.charAt(U)), V === a || V === C || V === c ? (W += V) : (W += C + V)) + : V === c + ? (W += Z()) + : (W += V) + else if (V === a || V === s) j = V + else { + if (e.test(V)) return { op: $ } + if (i.test(V)) { + T = !0 + var X = { comment: w.slice(E.index + U + 1) } + return W.length ? [W, X] : [X] + } else V === C ? (L = !0) : V === c ? (W += Z()) : (W += V) + } + } + return G ? { op: "glob", pattern: W } : W + }).reduce(function (E, $) { + return typeof $ > "u" ? E : E.concat($) + }, []) + } + return ( + (HA = function (_, y, C) { + var S = v(_, y, C) + return typeof y != "function" + ? S + : S.reduce(function (P, R) { + if (typeof R == "object") return P.concat(R) + var T = R.split(RegExp("(" + d + ".*?" + d + ")", "g")) + return T.length === 1 + ? P.concat(T[0]) + : P.concat( + T.filter(Boolean).map(function (E) { + return f.test(E) ? JSON.parse(E.split(d)[1]) : E + }), + ) + }, []) + }), + HA + ) +} +var OF +function $1t() { + return OF || ((OF = 1), (qk.quote = E1t()), (qk.parse = z1t())), qk +} +var Bnt = $1t() +function BE(t) { + if (!(t != null && t.trim())) return [] + const e = t.split(/\r\n|\r|\n/), + n = [] + for (const o of e) { + if (!o.trim()) continue + const r = L1t(o) + n.push(...r) + } + return n +} +function FF(t, e, n, o, r, i, s, a) { + let c = t + return ( + (c = c.replace(/__QUOTE_(\d+)__/g, (d, u) => e[parseInt(u)])), + (c = c.replace(/__REDIR_(\d+)__/g, (d, u) => n[parseInt(u)])), + (c = c.replace(/__ARRAY_(\d+)__/g, (d, u) => o[parseInt(u)])), + (c = c.replace(/__ARITH_(\d+)__/g, (d, u) => r[parseInt(u)])), + (c = c.replace(/__PARAM_(\d+)__/g, (d, u) => i[parseInt(u)])), + (c = c.replace(/__VAR_(\d+)__/g, (d, u) => s[parseInt(u)])), + (c = c.replace(/__SUBSH_(\d+)__/g, (d, u) => a[parseInt(u)])), + c + ) +} +function L1t(t) { + if (!(t != null && t.trim())) return [] + const e = [], + n = [], + o = [], + r = [], + i = [], + s = [], + a = [] + let c = t.replace(/\d*>&\d*/g, (f) => (e.push(f), `__REDIR_${e.length - 1}__`)) + ;(c = c.replace(/\$\(\([^)]*(?:\)[^)]*)*\)\)/g, (f) => (i.push(f), `__ARITH_${i.length - 1}__`))), + (c = c.replace(/\$\[[^\]]*\]/g, (f) => (i.push(f), `__ARITH_${i.length - 1}__`))), + (c = c.replace(/\$\{[^}]+\}/g, (f) => (a.push(f), `__PARAM_${a.length - 1}__`))), + (c = c.replace(/[<>]\(([^)]+)\)/g, (f, g) => (n.push(g.trim()), `__SUBSH_${n.length - 1}__`))), + (c = c.replace(/\$[a-zA-Z_][a-zA-Z0-9_]*/g, (f) => (s.push(f), `__VAR_${s.length - 1}__`))), + (c = c.replace(/\$[?!#$@*\-0-9]/g, (f) => (s.push(f), `__VAR_${s.length - 1}__`))), + (c = c + .replace(/\$\((.*?)\)/g, (f, g) => (n.push(g.trim()), `__SUBSH_${n.length - 1}__`)) + .replace(/`(.*?)`/g, (f, g) => (n.push(g.trim()), `__SUBSH_${n.length - 1}__`))), + (c = c.replace(/"[^"]*"/g, (f) => (o.push(f), `__QUOTE_${o.length - 1}__`))) + let d + try { + d = Bnt.parse(c) + } catch (f) { + return ( + console.warn("shell-quote parse error:", f.message, "for command:", c), + c + .split(/(?:&&|\|\||;|\||&)/) + .map((b) => b.trim()) + .filter((b) => b.length > 0) + .map((b) => FF(b, o, e, r, i, a, s, n)) + ) + } + const u = [] + let m = [] + for (const f of d) + if (typeof f == "object" && "op" in f) + ["&&", "||", ";", "|", "&"].includes(f.op) ? m.length > 0 && (u.push(m.join(" ")), (m = [])) : m.push(f.op) + else if (typeof f == "string") { + const g = f.match(/__SUBSH_(\d+)__/) + g ? (m.length > 0 && (u.push(m.join(" ")), (m = [])), u.push(n[parseInt(g[1])])) : m.push(f) + } + return m.length > 0 && u.push(m.join(" ")), u.map((f) => FF(f, o, e, r, i, a, s, n)) +} +function cM(t, e) { + if (!t || !(e != null && e.length)) return null + const n = t.trim().toLowerCase() + let o = null + for (const r of e) { + const i = r.toLowerCase() + ;(i === "*" || n.startsWith(i)) && (!o || i.length > o.length) && (o = i) + } + return o +} +function D1t(t, e, n) { + if (!(t != null && t.trim())) return "auto_approve" + const r = BE(t).map((i) => { + const s = i.replace(/\d*>&\d*/, "").trim() + return N1t(s, e, n) + }) + return r.includes("auto_deny") ? "auto_deny" : r.every((i) => i === "auto_approve") ? "auto_approve" : "ask_user" +} +function N1t(t, e, n) { + if (!t) return "auto_approve" + const o = cM(t, e || []), + r = cM(t, n || []) + return o && !r + ? "auto_approve" + : !o && r + ? "auto_deny" + : o && r + ? o.length > r.length + ? "auto_approve" + : "auto_deny" + : "ask_user" +} +const O1t = async () => + new Promise((t, e) => { + const n = () => { + window.removeEventListener("message", r) + }, + o = setTimeout(() => { + n(), e(new Error("Router models request timed out")) + }, 1e4), + r = (i) => { + const s = i.data + s.type === "routerModels" && + (clearTimeout(o), + n(), + s.routerModels ? t(s.routerModels) : e(new Error("No router models in response"))) + } + window.addEventListener("message", r), re.postMessage({ type: "requestRouterModels" }) + }), + oC = () => zb({ queryKey: ["routerModels"], queryFn: O1t }) +function Unt(t, e) { + return function () { + return t.apply(e, arguments) + } +} +const { toString: F1t } = Object.prototype, + { getPrototypeOf: UE } = Object, + { iterator: rC, toStringTag: qnt } = Symbol, + iC = ((t) => (e) => { + const n = F1t.call(e) + return t[n] || (t[n] = n.slice(8, -1).toLowerCase()) + })(Object.create(null)), + ll = (t) => ((t = t.toLowerCase()), (e) => iC(e) === t), + sC = (t) => (e) => typeof e === t, + { isArray: wf } = Array, + ib = sC("undefined") +function B1t(t) { + return ( + t !== null && + !ib(t) && + t.constructor !== null && + !ib(t.constructor) && + cs(t.constructor.isBuffer) && + t.constructor.isBuffer(t) + ) +} +const Wnt = ll("ArrayBuffer") +function U1t(t) { + let e + return ( + typeof ArrayBuffer < "u" && ArrayBuffer.isView + ? (e = ArrayBuffer.isView(t)) + : (e = t && t.buffer && Wnt(t.buffer)), + e + ) +} +const q1t = sC("string"), + cs = sC("function"), + Knt = sC("number"), + aC = (t) => t !== null && typeof t == "object", + W1t = (t) => t === !0 || t === !1, + Lx = (t) => { + if (iC(t) !== "object") return !1 + const e = UE(t) + return (e === null || e === Object.prototype || Object.getPrototypeOf(e) === null) && !(qnt in t) && !(rC in t) + }, + K1t = ll("Date"), + V1t = ll("File"), + H1t = ll("Blob"), + G1t = ll("FileList"), + Q1t = (t) => aC(t) && cs(t.pipe), + Z1t = (t) => { + let e + return ( + t && + ((typeof FormData == "function" && t instanceof FormData) || + (cs(t.append) && + ((e = iC(t)) === "formdata" || + (e === "object" && cs(t.toString) && t.toString() === "[object FormData]")))) + ) + }, + Y1t = ll("URLSearchParams"), + [X1t, J1t, eMt, tMt] = ["ReadableStream", "Request", "Response", "Headers"].map(ll), + nMt = (t) => (t.trim ? t.trim() : t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")) +function Kb(t, e, { allOwnKeys: n = !1 } = {}) { + if (t === null || typeof t > "u") return + let o, r + if ((typeof t != "object" && (t = [t]), wf(t))) for (o = 0, r = t.length; o < r; o++) e.call(null, t[o], o, t) + else { + const i = n ? Object.getOwnPropertyNames(t) : Object.keys(t), + s = i.length + let a + for (o = 0; o < s; o++) (a = i[o]), e.call(null, t[a], a, t) + } +} +function Vnt(t, e) { + e = e.toLowerCase() + const n = Object.keys(t) + let o = n.length, + r + for (; o-- > 0; ) if (((r = n[o]), e === r.toLowerCase())) return r + return null +} +const sp = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : global, + Hnt = (t) => !ib(t) && t !== sp +function dM() { + const { caseless: t } = (Hnt(this) && this) || {}, + e = {}, + n = (o, r) => { + const i = (t && Vnt(e, r)) || r + Lx(e[i]) && Lx(o) + ? (e[i] = dM(e[i], o)) + : Lx(o) + ? (e[i] = dM({}, o)) + : wf(o) + ? (e[i] = o.slice()) + : (e[i] = o) + } + for (let o = 0, r = arguments.length; o < r; o++) arguments[o] && Kb(arguments[o], n) + return e +} +const oMt = (t, e, n, { allOwnKeys: o } = {}) => ( + Kb( + e, + (r, i) => { + n && cs(r) ? (t[i] = Unt(r, n)) : (t[i] = r) + }, + { allOwnKeys: o }, + ), + t + ), + rMt = (t) => (t.charCodeAt(0) === 65279 && (t = t.slice(1)), t), + iMt = (t, e, n, o) => { + ;(t.prototype = Object.create(e.prototype, o)), + (t.prototype.constructor = t), + Object.defineProperty(t, "super", { value: e.prototype }), + n && Object.assign(t.prototype, n) + }, + sMt = (t, e, n, o) => { + let r, i, s + const a = {} + if (((e = e || {}), t == null)) return e + do { + for (r = Object.getOwnPropertyNames(t), i = r.length; i-- > 0; ) + (s = r[i]), (!o || o(s, t, e)) && !a[s] && ((e[s] = t[s]), (a[s] = !0)) + t = n !== !1 && UE(t) + } while (t && (!n || n(t, e)) && t !== Object.prototype) + return e + }, + aMt = (t, e, n) => { + ;(t = String(t)), (n === void 0 || n > t.length) && (n = t.length), (n -= e.length) + const o = t.indexOf(e, n) + return o !== -1 && o === n + }, + lMt = (t) => { + if (!t) return null + if (wf(t)) return t + let e = t.length + if (!Knt(e)) return null + const n = new Array(e) + for (; e-- > 0; ) n[e] = t[e] + return n + }, + cMt = ( + (t) => (e) => + t && e instanceof t + )(typeof Uint8Array < "u" && UE(Uint8Array)), + dMt = (t, e) => { + const o = (t && t[rC]).call(t) + let r + for (; (r = o.next()) && !r.done; ) { + const i = r.value + e.call(t, i[0], i[1]) + } + }, + uMt = (t, e) => { + let n + const o = [] + for (; (n = t.exec(e)) !== null; ) o.push(n) + return o + }, + pMt = ll("HTMLFormElement"), + mMt = (t) => + t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function (n, o, r) { + return o.toUpperCase() + r + }), + BF = ( + ({ hasOwnProperty: t }) => + (e, n) => + t.call(e, n) + )(Object.prototype), + hMt = ll("RegExp"), + Gnt = (t, e) => { + const n = Object.getOwnPropertyDescriptors(t), + o = {} + Kb(n, (r, i) => { + let s + ;(s = e(r, i, t)) !== !1 && (o[i] = s || r) + }), + Object.defineProperties(t, o) + }, + fMt = (t) => { + Gnt(t, (e, n) => { + if (cs(t) && ["arguments", "caller", "callee"].indexOf(n) !== -1) return !1 + const o = t[n] + if (cs(o)) { + if (((e.enumerable = !1), "writable" in e)) { + e.writable = !1 + return + } + e.set || + (e.set = () => { + throw Error("Can not rewrite read-only method '" + n + "'") + }) + } + }) + }, + gMt = (t, e) => { + const n = {}, + o = (r) => { + r.forEach((i) => { + n[i] = !0 + }) + } + return wf(t) ? o(t) : o(String(t).split(e)), n + }, + vMt = () => {}, + bMt = (t, e) => (t != null && Number.isFinite((t = +t)) ? t : e) +function yMt(t) { + return !!(t && cs(t.append) && t[qnt] === "FormData" && t[rC]) +} +const kMt = (t) => { + const e = new Array(10), + n = (o, r) => { + if (aC(o)) { + if (e.indexOf(o) >= 0) return + if (!("toJSON" in o)) { + e[r] = o + const i = wf(o) ? [] : {} + return ( + Kb(o, (s, a) => { + const c = n(s, r + 1) + !ib(c) && (i[a] = c) + }), + (e[r] = void 0), + i + ) + } + } + return o + } + return n(t, 0) + }, + xMt = ll("AsyncFunction"), + wMt = (t) => t && (aC(t) || cs(t)) && cs(t.then) && cs(t.catch), + Qnt = ((t, e) => + t + ? setImmediate + : e + ? ((n, o) => ( + sp.addEventListener( + "message", + ({ source: r, data: i }) => { + r === sp && i === n && o.length && o.shift()() + }, + !1, + ), + (r) => { + o.push(r), sp.postMessage(n, "*") + } + ))(`axios@${Math.random()}`, []) + : (n) => setTimeout(n))(typeof setImmediate == "function", cs(sp.postMessage)), + _Mt = typeof queueMicrotask < "u" ? queueMicrotask.bind(sp) : (typeof process < "u" && process.nextTick) || Qnt, + CMt = (t) => t != null && cs(t[rC]), + _e = { + isArray: wf, + isArrayBuffer: Wnt, + isBuffer: B1t, + isFormData: Z1t, + isArrayBufferView: U1t, + isString: q1t, + isNumber: Knt, + isBoolean: W1t, + isObject: aC, + isPlainObject: Lx, + isReadableStream: X1t, + isRequest: J1t, + isResponse: eMt, + isHeaders: tMt, + isUndefined: ib, + isDate: K1t, + isFile: V1t, + isBlob: H1t, + isRegExp: hMt, + isFunction: cs, + isStream: Q1t, + isURLSearchParams: Y1t, + isTypedArray: cMt, + isFileList: G1t, + forEach: Kb, + merge: dM, + extend: oMt, + trim: nMt, + stripBOM: rMt, + inherits: iMt, + toFlatObject: sMt, + kindOf: iC, + kindOfTest: ll, + endsWith: aMt, + toArray: lMt, + forEachEntry: dMt, + matchAll: uMt, + isHTMLForm: pMt, + hasOwnProperty: BF, + hasOwnProp: BF, + reduceDescriptors: Gnt, + freezeMethods: fMt, + toObjectSet: gMt, + toCamelCase: mMt, + noop: vMt, + toFiniteNumber: bMt, + findKey: Vnt, + global: sp, + isContextDefined: Hnt, + isSpecCompliantForm: yMt, + toJSONObject: kMt, + isAsyncFn: xMt, + isThenable: wMt, + setImmediate: Qnt, + asap: _Mt, + isIterable: CMt, + } +function dn(t, e, n, o, r) { + Error.call(this), + Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : (this.stack = new Error().stack), + (this.message = t), + (this.name = "AxiosError"), + e && (this.code = e), + n && (this.config = n), + o && (this.request = o), + r && ((this.response = r), (this.status = r.status ? r.status : null)) +} +_e.inherits(dn, Error, { + toJSON: function () { + return { + message: this.message, + name: this.name, + description: this.description, + number: this.number, + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + config: _e.toJSONObject(this.config), + code: this.code, + status: this.status, + } + }, +}) +const Znt = dn.prototype, + Ynt = {} +;[ + "ERR_BAD_OPTION_VALUE", + "ERR_BAD_OPTION", + "ECONNABORTED", + "ETIMEDOUT", + "ERR_NETWORK", + "ERR_FR_TOO_MANY_REDIRECTS", + "ERR_DEPRECATED", + "ERR_BAD_RESPONSE", + "ERR_BAD_REQUEST", + "ERR_CANCELED", + "ERR_NOT_SUPPORT", + "ERR_INVALID_URL", +].forEach((t) => { + Ynt[t] = { value: t } +}) +Object.defineProperties(dn, Ynt) +Object.defineProperty(Znt, "isAxiosError", { value: !0 }) +dn.from = (t, e, n, o, r, i) => { + const s = Object.create(Znt) + return ( + _e.toFlatObject( + t, + s, + function (c) { + return c !== Error.prototype + }, + (a) => a !== "isAxiosError", + ), + dn.call(s, t.message, e, n, o, r), + (s.cause = t), + (s.name = t.name), + i && Object.assign(s, i), + s + ) +} +const SMt = null +function uM(t) { + return _e.isPlainObject(t) || _e.isArray(t) +} +function Xnt(t) { + return _e.endsWith(t, "[]") ? t.slice(0, -2) : t +} +function UF(t, e, n) { + return t + ? t + .concat(e) + .map(function (r, i) { + return (r = Xnt(r)), !n && i ? "[" + r + "]" : r + }) + .join(n ? "." : "") + : e +} +function AMt(t) { + return _e.isArray(t) && !t.some(uM) +} +const PMt = _e.toFlatObject(_e, {}, null, function (e) { + return /^is[A-Z]/.test(e) +}) +function lC(t, e, n) { + if (!_e.isObject(t)) throw new TypeError("target must be an object") + ;(e = e || new FormData()), + (n = _e.toFlatObject(n, { metaTokens: !0, dots: !1, indexes: !1 }, !1, function (v, w) { + return !_e.isUndefined(w[v]) + })) + const o = n.metaTokens, + r = n.visitor || u, + i = n.dots, + s = n.indexes, + c = (n.Blob || (typeof Blob < "u" && Blob)) && _e.isSpecCompliantForm(e) + if (!_e.isFunction(r)) throw new TypeError("visitor must be a function") + function d(b) { + if (b === null) return "" + if (_e.isDate(b)) return b.toISOString() + if (!c && _e.isBlob(b)) throw new dn("Blob is not supported. Use a Buffer instead.") + return _e.isArrayBuffer(b) || _e.isTypedArray(b) + ? c && typeof Blob == "function" + ? new Blob([b]) + : Buffer.from(b) + : b + } + function u(b, v, w) { + let _ = b + if (b && !w && typeof b == "object") { + if (_e.endsWith(v, "{}")) (v = o ? v : v.slice(0, -2)), (b = JSON.stringify(b)) + else if ((_e.isArray(b) && AMt(b)) || ((_e.isFileList(b) || _e.endsWith(v, "[]")) && (_ = _e.toArray(b)))) + return ( + (v = Xnt(v)), + _.forEach(function (C, S) { + !(_e.isUndefined(C) || C === null) && + e.append(s === !0 ? UF([v], S, i) : s === null ? v : v + "[]", d(C)) + }), + !1 + ) + } + return uM(b) ? !0 : (e.append(UF(w, v, i), d(b)), !1) + } + const m = [], + f = Object.assign(PMt, { defaultVisitor: u, convertValue: d, isVisitable: uM }) + function g(b, v) { + if (!_e.isUndefined(b)) { + if (m.indexOf(b) !== -1) throw Error("Circular reference detected in " + v.join(".")) + m.push(b), + _e.forEach(b, function (_, y) { + ;(!(_e.isUndefined(_) || _ === null) && r.call(e, _, _e.isString(y) ? y.trim() : y, v, f)) === !0 && + g(_, v ? v.concat(y) : [y]) + }), + m.pop() + } + } + if (!_e.isObject(t)) throw new TypeError("data must be an object") + return g(t), e +} +function qF(t) { + const e = { "!": "%21", "'": "%27", "(": "%28", ")": "%29", "~": "%7E", "%20": "+", "%00": "\0" } + return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g, function (o) { + return e[o] + }) +} +function qE(t, e) { + ;(this._pairs = []), t && lC(t, this, e) +} +const Jnt = qE.prototype +Jnt.append = function (e, n) { + this._pairs.push([e, n]) +} +Jnt.toString = function (e) { + const n = e + ? function (o) { + return e.call(this, o, qF) + } + : qF + return this._pairs + .map(function (r) { + return n(r[0]) + "=" + n(r[1]) + }, "") + .join("&") +} +function RMt(t) { + return encodeURIComponent(t) + .replace(/%3A/gi, ":") + .replace(/%24/g, "$") + .replace(/%2C/gi, ",") + .replace(/%20/g, "+") + .replace(/%5B/gi, "[") + .replace(/%5D/gi, "]") +} +function eot(t, e, n) { + if (!e) return t + const o = (n && n.encode) || RMt + _e.isFunction(n) && (n = { serialize: n }) + const r = n && n.serialize + let i + if ((r ? (i = r(e, n)) : (i = _e.isURLSearchParams(e) ? e.toString() : new qE(e, n).toString(o)), i)) { + const s = t.indexOf("#") + s !== -1 && (t = t.slice(0, s)), (t += (t.indexOf("?") === -1 ? "?" : "&") + i) + } + return t +} +class WF { + constructor() { + this.handlers = [] + } + use(e, n, o) { + return ( + this.handlers.push({ + fulfilled: e, + rejected: n, + synchronous: o ? o.synchronous : !1, + runWhen: o ? o.runWhen : null, + }), + this.handlers.length - 1 + ) + } + eject(e) { + this.handlers[e] && (this.handlers[e] = null) + } + clear() { + this.handlers && (this.handlers = []) + } + forEach(e) { + _e.forEach(this.handlers, function (o) { + o !== null && e(o) + }) + } +} +const tot = { silentJSONParsing: !0, forcedJSONParsing: !0, clarifyTimeoutError: !1 }, + TMt = typeof URLSearchParams < "u" ? URLSearchParams : qE, + IMt = typeof FormData < "u" ? FormData : null, + MMt = typeof Blob < "u" ? Blob : null, + jMt = { + isBrowser: !0, + classes: { URLSearchParams: TMt, FormData: IMt, Blob: MMt }, + protocols: ["http", "https", "file", "blob", "url", "data"], + }, + WE = typeof window < "u" && typeof document < "u", + pM = (typeof navigator == "object" && navigator) || void 0, + EMt = WE && (!pM || ["ReactNative", "NativeScript", "NS"].indexOf(pM.product) < 0), + zMt = + typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope && typeof self.importScripts == "function", + $Mt = (WE && window.location.href) || "http://localhost", + LMt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + hasBrowserEnv: WE, + hasStandardBrowserEnv: EMt, + hasStandardBrowserWebWorkerEnv: zMt, + navigator: pM, + origin: $Mt, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + ui = { ...LMt, ...jMt } +function DMt(t, e) { + return lC( + t, + new ui.classes.URLSearchParams(), + Object.assign( + { + visitor: function (n, o, r, i) { + return ui.isNode && _e.isBuffer(n) + ? (this.append(o, n.toString("base64")), !1) + : i.defaultVisitor.apply(this, arguments) + }, + }, + e, + ), + ) +} +function NMt(t) { + return _e.matchAll(/\w+|\[(\w*)]/g, t).map((e) => (e[0] === "[]" ? "" : e[1] || e[0])) +} +function OMt(t) { + const e = {}, + n = Object.keys(t) + let o + const r = n.length + let i + for (o = 0; o < r; o++) (i = n[o]), (e[i] = t[i]) + return e +} +function not(t) { + function e(n, o, r, i) { + let s = n[i++] + if (s === "__proto__") return !0 + const a = Number.isFinite(+s), + c = i >= n.length + return ( + (s = !s && _e.isArray(r) ? r.length : s), + c + ? (_e.hasOwnProp(r, s) ? (r[s] = [r[s], o]) : (r[s] = o), !a) + : ((!r[s] || !_e.isObject(r[s])) && (r[s] = []), + e(n, o, r[s], i) && _e.isArray(r[s]) && (r[s] = OMt(r[s])), + !a) + ) + } + if (_e.isFormData(t) && _e.isFunction(t.entries)) { + const n = {} + return ( + _e.forEachEntry(t, (o, r) => { + e(NMt(o), r, n, 0) + }), + n + ) + } + return null +} +function FMt(t, e, n) { + if (_e.isString(t)) + try { + return (e || JSON.parse)(t), _e.trim(t) + } catch (o) { + if (o.name !== "SyntaxError") throw o + } + return (n || JSON.stringify)(t) +} +const Vb = { + transitional: tot, + adapter: ["xhr", "http", "fetch"], + transformRequest: [ + function (e, n) { + const o = n.getContentType() || "", + r = o.indexOf("application/json") > -1, + i = _e.isObject(e) + if ((i && _e.isHTMLForm(e) && (e = new FormData(e)), _e.isFormData(e))) + return r ? JSON.stringify(not(e)) : e + if ( + _e.isArrayBuffer(e) || + _e.isBuffer(e) || + _e.isStream(e) || + _e.isFile(e) || + _e.isBlob(e) || + _e.isReadableStream(e) + ) + return e + if (_e.isArrayBufferView(e)) return e.buffer + if (_e.isURLSearchParams(e)) + return n.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), e.toString() + let a + if (i) { + if (o.indexOf("application/x-www-form-urlencoded") > -1) return DMt(e, this.formSerializer).toString() + if ((a = _e.isFileList(e)) || o.indexOf("multipart/form-data") > -1) { + const c = this.env && this.env.FormData + return lC(a ? { "files[]": e } : e, c && new c(), this.formSerializer) + } + } + return i || r ? (n.setContentType("application/json", !1), FMt(e)) : e + }, + ], + transformResponse: [ + function (e) { + const n = this.transitional || Vb.transitional, + o = n && n.forcedJSONParsing, + r = this.responseType === "json" + if (_e.isResponse(e) || _e.isReadableStream(e)) return e + if (e && _e.isString(e) && ((o && !this.responseType) || r)) { + const s = !(n && n.silentJSONParsing) && r + try { + return JSON.parse(e) + } catch (a) { + if (s) + throw a.name === "SyntaxError" ? dn.from(a, dn.ERR_BAD_RESPONSE, this, null, this.response) : a + } + } + return e + }, + ], + timeout: 0, + xsrfCookieName: "XSRF-TOKEN", + xsrfHeaderName: "X-XSRF-TOKEN", + maxContentLength: -1, + maxBodyLength: -1, + env: { FormData: ui.classes.FormData, Blob: ui.classes.Blob }, + validateStatus: function (e) { + return e >= 200 && e < 300 + }, + headers: { common: { Accept: "application/json, text/plain, */*", "Content-Type": void 0 } }, +} +_e.forEach(["delete", "get", "head", "post", "put", "patch"], (t) => { + Vb.headers[t] = {} +}) +const BMt = _e.toObjectSet([ + "age", + "authorization", + "content-length", + "content-type", + "etag", + "expires", + "from", + "host", + "if-modified-since", + "if-unmodified-since", + "last-modified", + "location", + "max-forwards", + "proxy-authorization", + "referer", + "retry-after", + "user-agent", + ]), + UMt = (t) => { + const e = {} + let n, o, r + return ( + t && + t + .split( + ` +`, + ) + .forEach(function (s) { + ;(r = s.indexOf(":")), + (n = s.substring(0, r).trim().toLowerCase()), + (o = s.substring(r + 1).trim()), + !(!n || (e[n] && BMt[n])) && + (n === "set-cookie" + ? e[n] + ? e[n].push(o) + : (e[n] = [o]) + : (e[n] = e[n] ? e[n] + ", " + o : o)) + }), + e + ) + }, + KF = Symbol("internals") +function Ug(t) { + return t && String(t).trim().toLowerCase() +} +function Dx(t) { + return t === !1 || t == null ? t : _e.isArray(t) ? t.map(Dx) : String(t) +} +function qMt(t) { + const e = Object.create(null), + n = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g + let o + for (; (o = n.exec(t)); ) e[o[1]] = o[2] + return e +} +const WMt = (t) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()) +function GA(t, e, n, o, r) { + if (_e.isFunction(o)) return o.call(this, e, n) + if ((r && (e = n), !!_e.isString(e))) { + if (_e.isString(o)) return e.indexOf(o) !== -1 + if (_e.isRegExp(o)) return o.test(e) + } +} +function KMt(t) { + return t + .trim() + .toLowerCase() + .replace(/([a-z\d])(\w*)/g, (e, n, o) => n.toUpperCase() + o) +} +function VMt(t, e) { + const n = _e.toCamelCase(" " + e) + ;["get", "set", "has"].forEach((o) => { + Object.defineProperty(t, o + n, { + value: function (r, i, s) { + return this[o].call(this, e, r, i, s) + }, + configurable: !0, + }) + }) +} +let ds = class { + constructor(e) { + e && this.set(e) + } + set(e, n, o) { + const r = this + function i(a, c, d) { + const u = Ug(c) + if (!u) throw new Error("header name must be a non-empty string") + const m = _e.findKey(r, u) + ;(!m || r[m] === void 0 || d === !0 || (d === void 0 && r[m] !== !1)) && (r[m || c] = Dx(a)) + } + const s = (a, c) => _e.forEach(a, (d, u) => i(d, u, c)) + if (_e.isPlainObject(e) || e instanceof this.constructor) s(e, n) + else if (_e.isString(e) && (e = e.trim()) && !WMt(e)) s(UMt(e), n) + else if (_e.isObject(e) && _e.isIterable(e)) { + let a = {}, + c, + d + for (const u of e) { + if (!_e.isArray(u)) throw TypeError("Object iterator must return a key-value pair") + a[(d = u[0])] = (c = a[d]) ? (_e.isArray(c) ? [...c, u[1]] : [c, u[1]]) : u[1] + } + s(a, n) + } else e != null && i(n, e, o) + return this + } + get(e, n) { + if (((e = Ug(e)), e)) { + const o = _e.findKey(this, e) + if (o) { + const r = this[o] + if (!n) return r + if (n === !0) return qMt(r) + if (_e.isFunction(n)) return n.call(this, r, o) + if (_e.isRegExp(n)) return n.exec(r) + throw new TypeError("parser must be boolean|regexp|function") + } + } + } + has(e, n) { + if (((e = Ug(e)), e)) { + const o = _e.findKey(this, e) + return !!(o && this[o] !== void 0 && (!n || GA(this, this[o], o, n))) + } + return !1 + } + delete(e, n) { + const o = this + let r = !1 + function i(s) { + if (((s = Ug(s)), s)) { + const a = _e.findKey(o, s) + a && (!n || GA(o, o[a], a, n)) && (delete o[a], (r = !0)) + } + } + return _e.isArray(e) ? e.forEach(i) : i(e), r + } + clear(e) { + const n = Object.keys(this) + let o = n.length, + r = !1 + for (; o--; ) { + const i = n[o] + ;(!e || GA(this, this[i], i, e, !0)) && (delete this[i], (r = !0)) + } + return r + } + normalize(e) { + const n = this, + o = {} + return ( + _e.forEach(this, (r, i) => { + const s = _e.findKey(o, i) + if (s) { + ;(n[s] = Dx(r)), delete n[i] + return + } + const a = e ? KMt(i) : String(i).trim() + a !== i && delete n[i], (n[a] = Dx(r)), (o[a] = !0) + }), + this + ) + } + concat(...e) { + return this.constructor.concat(this, ...e) + } + toJSON(e) { + const n = Object.create(null) + return ( + _e.forEach(this, (o, r) => { + o != null && o !== !1 && (n[r] = e && _e.isArray(o) ? o.join(", ") : o) + }), + n + ) + } + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator]() + } + toString() { + return Object.entries(this.toJSON()).map(([e, n]) => e + ": " + n).join(` +`) + } + getSetCookie() { + return this.get("set-cookie") || [] + } + get [Symbol.toStringTag]() { + return "AxiosHeaders" + } + static from(e) { + return e instanceof this ? e : new this(e) + } + static concat(e, ...n) { + const o = new this(e) + return n.forEach((r) => o.set(r)), o + } + static accessor(e) { + const o = (this[KF] = this[KF] = { accessors: {} }).accessors, + r = this.prototype + function i(s) { + const a = Ug(s) + o[a] || (VMt(r, s), (o[a] = !0)) + } + return _e.isArray(e) ? e.forEach(i) : i(e), this + } +} +ds.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]) +_e.reduceDescriptors(ds.prototype, ({ value: t }, e) => { + let n = e[0].toUpperCase() + e.slice(1) + return { + get: () => t, + set(o) { + this[n] = o + }, + } +}) +_e.freezeMethods(ds) +function QA(t, e) { + const n = this || Vb, + o = e || n, + r = ds.from(o.headers) + let i = o.data + return ( + _e.forEach(t, function (a) { + i = a.call(n, i, r.normalize(), e ? e.status : void 0) + }), + r.normalize(), + i + ) +} +function oot(t) { + return !!(t && t.__CANCEL__) +} +function _f(t, e, n) { + dn.call(this, t ?? "canceled", dn.ERR_CANCELED, e, n), (this.name = "CanceledError") +} +_e.inherits(_f, dn, { __CANCEL__: !0 }) +function rot(t, e, n) { + const o = n.config.validateStatus + !n.status || !o || o(n.status) + ? t(n) + : e( + new dn( + "Request failed with status code " + n.status, + [dn.ERR_BAD_REQUEST, dn.ERR_BAD_RESPONSE][Math.floor(n.status / 100) - 4], + n.config, + n.request, + n, + ), + ) +} +function HMt(t) { + const e = /^([-+\w]{1,25})(:?\/\/|:)/.exec(t) + return (e && e[1]) || "" +} +function GMt(t, e) { + t = t || 10 + const n = new Array(t), + o = new Array(t) + let r = 0, + i = 0, + s + return ( + (e = e !== void 0 ? e : 1e3), + function (c) { + const d = Date.now(), + u = o[i] + s || (s = d), (n[r] = c), (o[r] = d) + let m = i, + f = 0 + for (; m !== r; ) (f += n[m++]), (m = m % t) + if (((r = (r + 1) % t), r === i && (i = (i + 1) % t), d - s < e)) return + const g = u && d - u + return g ? Math.round((f * 1e3) / g) : void 0 + } + ) +} +function QMt(t, e) { + let n = 0, + o = 1e3 / e, + r, + i + const s = (d, u = Date.now()) => { + ;(n = u), (r = null), i && (clearTimeout(i), (i = null)), t.apply(null, d) + } + return [ + (...d) => { + const u = Date.now(), + m = u - n + m >= o + ? s(d, u) + : ((r = d), + i || + (i = setTimeout(() => { + ;(i = null), s(r) + }, o - m))) + }, + () => r && s(r), + ] +} +const Qw = (t, e, n = 3) => { + let o = 0 + const r = GMt(50, 250) + return QMt((i) => { + const s = i.loaded, + a = i.lengthComputable ? i.total : void 0, + c = s - o, + d = r(c), + u = s <= a + o = s + const m = { + loaded: s, + total: a, + progress: a ? s / a : void 0, + bytes: c, + rate: d || void 0, + estimated: d && a && u ? (a - s) / d : void 0, + event: i, + lengthComputable: a != null, + [e ? "download" : "upload"]: !0, + } + t(m) + }, n) + }, + VF = (t, e) => { + const n = t != null + return [(o) => e[0]({ lengthComputable: n, total: t, loaded: o }), e[1]] + }, + HF = + (t) => + (...e) => + _e.asap(() => t(...e)), + ZMt = ui.hasStandardBrowserEnv + ? ((t, e) => (n) => ( + (n = new URL(n, ui.origin)), t.protocol === n.protocol && t.host === n.host && (e || t.port === n.port) + ))(new URL(ui.origin), ui.navigator && /(msie|trident)/i.test(ui.navigator.userAgent)) + : () => !0, + YMt = ui.hasStandardBrowserEnv + ? { + write(t, e, n, o, r, i) { + const s = [t + "=" + encodeURIComponent(e)] + _e.isNumber(n) && s.push("expires=" + new Date(n).toGMTString()), + _e.isString(o) && s.push("path=" + o), + _e.isString(r) && s.push("domain=" + r), + i === !0 && s.push("secure"), + (document.cookie = s.join("; ")) + }, + read(t) { + const e = document.cookie.match(new RegExp("(^|;\\s*)(" + t + ")=([^;]*)")) + return e ? decodeURIComponent(e[3]) : null + }, + remove(t) { + this.write(t, "", Date.now() - 864e5) + }, + } + : { + write() {}, + read() { + return null + }, + remove() {}, + } +function XMt(t) { + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(t) +} +function JMt(t, e) { + return e ? t.replace(/\/?\/$/, "") + "/" + e.replace(/^\/+/, "") : t +} +function iot(t, e, n) { + let o = !XMt(e) + return t && (o || n == !1) ? JMt(t, e) : e +} +const GF = (t) => (t instanceof ds ? { ...t } : t) +function Lp(t, e) { + e = e || {} + const n = {} + function o(d, u, m, f) { + return _e.isPlainObject(d) && _e.isPlainObject(u) + ? _e.merge.call({ caseless: f }, d, u) + : _e.isPlainObject(u) + ? _e.merge({}, u) + : _e.isArray(u) + ? u.slice() + : u + } + function r(d, u, m, f) { + if (_e.isUndefined(u)) { + if (!_e.isUndefined(d)) return o(void 0, d, m, f) + } else return o(d, u, m, f) + } + function i(d, u) { + if (!_e.isUndefined(u)) return o(void 0, u) + } + function s(d, u) { + if (_e.isUndefined(u)) { + if (!_e.isUndefined(d)) return o(void 0, d) + } else return o(void 0, u) + } + function a(d, u, m) { + if (m in e) return o(d, u) + if (m in t) return o(void 0, d) + } + const c = { + url: i, + method: i, + data: i, + baseURL: s, + transformRequest: s, + transformResponse: s, + paramsSerializer: s, + timeout: s, + timeoutMessage: s, + withCredentials: s, + withXSRFToken: s, + adapter: s, + responseType: s, + xsrfCookieName: s, + xsrfHeaderName: s, + onUploadProgress: s, + onDownloadProgress: s, + decompress: s, + maxContentLength: s, + maxBodyLength: s, + beforeRedirect: s, + transport: s, + httpAgent: s, + httpsAgent: s, + cancelToken: s, + socketPath: s, + responseEncoding: s, + validateStatus: a, + headers: (d, u, m) => r(GF(d), GF(u), m, !0), + } + return ( + _e.forEach(Object.keys(Object.assign({}, t, e)), function (u) { + const m = c[u] || r, + f = m(t[u], e[u], u) + ;(_e.isUndefined(f) && m !== a) || (n[u] = f) + }), + n + ) +} +const sot = (t) => { + const e = Lp({}, t) + let { data: n, withXSRFToken: o, xsrfHeaderName: r, xsrfCookieName: i, headers: s, auth: a } = e + ;(e.headers = s = ds.from(s)), + (e.url = eot(iot(e.baseURL, e.url, e.allowAbsoluteUrls), t.params, t.paramsSerializer)), + a && + s.set( + "Authorization", + "Basic " + + btoa((a.username || "") + ":" + (a.password ? unescape(encodeURIComponent(a.password)) : "")), + ) + let c + if (_e.isFormData(n)) { + if (ui.hasStandardBrowserEnv || ui.hasStandardBrowserWebWorkerEnv) s.setContentType(void 0) + else if ((c = s.getContentType()) !== !1) { + const [d, ...u] = c + ? c + .split(";") + .map((m) => m.trim()) + .filter(Boolean) + : [] + s.setContentType([d || "multipart/form-data", ...u].join("; ")) + } + } + if (ui.hasStandardBrowserEnv && (o && _e.isFunction(o) && (o = o(e)), o || (o !== !1 && ZMt(e.url)))) { + const d = r && i && YMt.read(i) + d && s.set(r, d) + } + return e + }, + ejt = typeof XMLHttpRequest < "u", + tjt = + ejt && + function (t) { + return new Promise(function (n, o) { + const r = sot(t) + let i = r.data + const s = ds.from(r.headers).normalize() + let { responseType: a, onUploadProgress: c, onDownloadProgress: d } = r, + u, + m, + f, + g, + b + function v() { + g && g(), + b && b(), + r.cancelToken && r.cancelToken.unsubscribe(u), + r.signal && r.signal.removeEventListener("abort", u) + } + let w = new XMLHttpRequest() + w.open(r.method.toUpperCase(), r.url, !0), (w.timeout = r.timeout) + function _() { + if (!w) return + const C = ds.from("getAllResponseHeaders" in w && w.getAllResponseHeaders()), + P = { + data: !a || a === "text" || a === "json" ? w.responseText : w.response, + status: w.status, + statusText: w.statusText, + headers: C, + config: t, + request: w, + } + rot( + function (T) { + n(T), v() + }, + function (T) { + o(T), v() + }, + P, + ), + (w = null) + } + "onloadend" in w + ? (w.onloadend = _) + : (w.onreadystatechange = function () { + !w || + w.readyState !== 4 || + (w.status === 0 && !(w.responseURL && w.responseURL.indexOf("file:") === 0)) || + setTimeout(_) + }), + (w.onabort = function () { + w && (o(new dn("Request aborted", dn.ECONNABORTED, t, w)), (w = null)) + }), + (w.onerror = function () { + o(new dn("Network Error", dn.ERR_NETWORK, t, w)), (w = null) + }), + (w.ontimeout = function () { + let S = r.timeout ? "timeout of " + r.timeout + "ms exceeded" : "timeout exceeded" + const P = r.transitional || tot + r.timeoutErrorMessage && (S = r.timeoutErrorMessage), + o(new dn(S, P.clarifyTimeoutError ? dn.ETIMEDOUT : dn.ECONNABORTED, t, w)), + (w = null) + }), + i === void 0 && s.setContentType(null), + "setRequestHeader" in w && + _e.forEach(s.toJSON(), function (S, P) { + w.setRequestHeader(P, S) + }), + _e.isUndefined(r.withCredentials) || (w.withCredentials = !!r.withCredentials), + a && a !== "json" && (w.responseType = r.responseType), + d && (([f, b] = Qw(d, !0)), w.addEventListener("progress", f)), + c && + w.upload && + (([m, g] = Qw(c)), + w.upload.addEventListener("progress", m), + w.upload.addEventListener("loadend", g)), + (r.cancelToken || r.signal) && + ((u = (C) => { + w && (o(!C || C.type ? new _f(null, t, w) : C), w.abort(), (w = null)) + }), + r.cancelToken && r.cancelToken.subscribe(u), + r.signal && (r.signal.aborted ? u() : r.signal.addEventListener("abort", u))) + const y = HMt(r.url) + if (y && ui.protocols.indexOf(y) === -1) { + o(new dn("Unsupported protocol " + y + ":", dn.ERR_BAD_REQUEST, t)) + return + } + w.send(i || null) + }) + }, + njt = (t, e) => { + const { length: n } = (t = t ? t.filter(Boolean) : []) + if (e || n) { + let o = new AbortController(), + r + const i = function (d) { + if (!r) { + ;(r = !0), a() + const u = d instanceof Error ? d : this.reason + o.abort(u instanceof dn ? u : new _f(u instanceof Error ? u.message : u)) + } + } + let s = + e && + setTimeout(() => { + ;(s = null), i(new dn(`timeout ${e} of ms exceeded`, dn.ETIMEDOUT)) + }, e) + const a = () => { + t && + (s && clearTimeout(s), + (s = null), + t.forEach((d) => { + d.unsubscribe ? d.unsubscribe(i) : d.removeEventListener("abort", i) + }), + (t = null)) + } + t.forEach((d) => d.addEventListener("abort", i)) + const { signal: c } = o + return (c.unsubscribe = () => _e.asap(a)), c + } + }, + ojt = function* (t, e) { + let n = t.byteLength + if (n < e) { + yield t + return + } + let o = 0, + r + for (; o < n; ) (r = o + e), yield t.slice(o, r), (o = r) + }, + rjt = async function* (t, e) { + for await (const n of ijt(t)) yield* ojt(n, e) + }, + ijt = async function* (t) { + if (t[Symbol.asyncIterator]) { + yield* t + return + } + const e = t.getReader() + try { + for (;;) { + const { done: n, value: o } = await e.read() + if (n) break + yield o + } + } finally { + await e.cancel() + } + }, + QF = (t, e, n, o) => { + const r = rjt(t, e) + let i = 0, + s, + a = (c) => { + s || ((s = !0), o && o(c)) + } + return new ReadableStream( + { + async pull(c) { + try { + const { done: d, value: u } = await r.next() + if (d) { + a(), c.close() + return + } + let m = u.byteLength + if (n) { + let f = (i += m) + n(f) + } + c.enqueue(new Uint8Array(u)) + } catch (d) { + throw (a(d), d) + } + }, + cancel(c) { + return a(c), r.return() + }, + }, + { highWaterMark: 2 }, + ) + }, + cC = typeof fetch == "function" && typeof Request == "function" && typeof Response == "function", + aot = cC && typeof ReadableStream == "function", + sjt = + cC && + (typeof TextEncoder == "function" + ? ( + (t) => (e) => + t.encode(e) + )(new TextEncoder()) + : async (t) => new Uint8Array(await new Response(t).arrayBuffer())), + lot = (t, ...e) => { + try { + return !!t(...e) + } catch { + return !1 + } + }, + ajt = + aot && + lot(() => { + let t = !1 + const e = new Request(ui.origin, { + body: new ReadableStream(), + method: "POST", + get duplex() { + return (t = !0), "half" + }, + }).headers.has("Content-Type") + return t && !e + }), + ZF = 64 * 1024, + mM = aot && lot(() => _e.isReadableStream(new Response("").body)), + Zw = { stream: mM && ((t) => t.body) } +cC && + ((t) => { + ;["text", "arrayBuffer", "blob", "formData", "stream"].forEach((e) => { + !Zw[e] && + (Zw[e] = _e.isFunction(t[e]) + ? (n) => n[e]() + : (n, o) => { + throw new dn(`Response type '${e}' is not supported`, dn.ERR_NOT_SUPPORT, o) + }) + }) + })(new Response()) +const ljt = async (t) => { + if (t == null) return 0 + if (_e.isBlob(t)) return t.size + if (_e.isSpecCompliantForm(t)) + return (await new Request(ui.origin, { method: "POST", body: t }).arrayBuffer()).byteLength + if (_e.isArrayBufferView(t) || _e.isArrayBuffer(t)) return t.byteLength + if ((_e.isURLSearchParams(t) && (t = t + ""), _e.isString(t))) return (await sjt(t)).byteLength + }, + cjt = async (t, e) => { + const n = _e.toFiniteNumber(t.getContentLength()) + return n ?? ljt(e) + }, + djt = + cC && + (async (t) => { + let { + url: e, + method: n, + data: o, + signal: r, + cancelToken: i, + timeout: s, + onDownloadProgress: a, + onUploadProgress: c, + responseType: d, + headers: u, + withCredentials: m = "same-origin", + fetchOptions: f, + } = sot(t) + d = d ? (d + "").toLowerCase() : "text" + let g = njt([r, i && i.toAbortSignal()], s), + b + const v = + g && + g.unsubscribe && + (() => { + g.unsubscribe() + }) + let w + try { + if (c && ajt && n !== "get" && n !== "head" && (w = await cjt(u, o)) !== 0) { + let P = new Request(e, { method: "POST", body: o, duplex: "half" }), + R + if ((_e.isFormData(o) && (R = P.headers.get("content-type")) && u.setContentType(R), P.body)) { + const [T, E] = VF(w, Qw(HF(c))) + o = QF(P.body, ZF, T, E) + } + } + _e.isString(m) || (m = m ? "include" : "omit") + const _ = "credentials" in Request.prototype + b = new Request(e, { + ...f, + signal: g, + method: n.toUpperCase(), + headers: u.normalize().toJSON(), + body: o, + duplex: "half", + credentials: _ ? m : void 0, + }) + let y = await fetch(b) + const C = mM && (d === "stream" || d === "response") + if (mM && (a || (C && v))) { + const P = {} + ;["status", "statusText", "headers"].forEach(($) => { + P[$] = y[$] + }) + const R = _e.toFiniteNumber(y.headers.get("content-length")), + [T, E] = (a && VF(R, Qw(HF(a), !0))) || [] + y = new Response( + QF(y.body, ZF, T, () => { + E && E(), v && v() + }), + P, + ) + } + d = d || "text" + let S = await Zw[_e.findKey(Zw, d) || "text"](y, t) + return ( + !C && v && v(), + await new Promise((P, R) => { + rot(P, R, { + data: S, + headers: ds.from(y.headers), + status: y.status, + statusText: y.statusText, + config: t, + request: b, + }) + }) + ) + } catch (_) { + throw ( + (v && v(), + _ && _.name === "TypeError" && /Load failed|fetch/i.test(_.message) + ? Object.assign(new dn("Network Error", dn.ERR_NETWORK, t, b), { cause: _.cause || _ }) + : dn.from(_, _ && _.code, t, b)) + ) + } + }), + hM = { http: SMt, xhr: tjt, fetch: djt } +_e.forEach(hM, (t, e) => { + if (t) { + try { + Object.defineProperty(t, "name", { value: e }) + } catch {} + Object.defineProperty(t, "adapterName", { value: e }) + } +}) +const YF = (t) => `- ${t}`, + ujt = (t) => _e.isFunction(t) || t === null || t === !1, + cot = { + getAdapter: (t) => { + t = _e.isArray(t) ? t : [t] + const { length: e } = t + let n, o + const r = {} + for (let i = 0; i < e; i++) { + n = t[i] + let s + if (((o = n), !ujt(n) && ((o = hM[(s = String(n)).toLowerCase()]), o === void 0))) + throw new dn(`Unknown adapter '${s}'`) + if (o) break + r[s || "#" + i] = o + } + if (!o) { + const i = Object.entries(r).map( + ([a, c]) => + `adapter ${a} ` + + (c === !1 ? "is not supported by the environment" : "is not available in the build"), + ) + let s = e + ? i.length > 1 + ? `since : +` + + i.map(YF).join(` +`) + : " " + YF(i[0]) + : "as no adapter specified" + throw new dn("There is no suitable adapter to dispatch the request " + s, "ERR_NOT_SUPPORT") + } + return o + }, + adapters: hM, + } +function ZA(t) { + if ((t.cancelToken && t.cancelToken.throwIfRequested(), t.signal && t.signal.aborted)) throw new _f(null, t) +} +function XF(t) { + return ( + ZA(t), + (t.headers = ds.from(t.headers)), + (t.data = QA.call(t, t.transformRequest)), + ["post", "put", "patch"].indexOf(t.method) !== -1 && + t.headers.setContentType("application/x-www-form-urlencoded", !1), + cot + .getAdapter(t.adapter || Vb.adapter)(t) + .then( + function (o) { + return ZA(t), (o.data = QA.call(t, t.transformResponse, o)), (o.headers = ds.from(o.headers)), o + }, + function (o) { + return ( + oot(o) || + (ZA(t), + o && + o.response && + ((o.response.data = QA.call(t, t.transformResponse, o.response)), + (o.response.headers = ds.from(o.response.headers)))), + Promise.reject(o) + ) + }, + ) + ) +} +const dot = "1.9.0", + dC = {} +;["object", "boolean", "number", "function", "string", "symbol"].forEach((t, e) => { + dC[t] = function (o) { + return typeof o === t || "a" + (e < 1 ? "n " : " ") + t + } +}) +const JF = {} +dC.transitional = function (e, n, o) { + function r(i, s) { + return "[Axios v" + dot + "] Transitional option '" + i + "'" + s + (o ? ". " + o : "") + } + return (i, s, a) => { + if (e === !1) throw new dn(r(s, " has been removed" + (n ? " in " + n : "")), dn.ERR_DEPRECATED) + return ( + n && + !JF[s] && + ((JF[s] = !0), + console.warn(r(s, " has been deprecated since v" + n + " and will be removed in the near future"))), + e ? e(i, s, a) : !0 + ) + } +} +dC.spelling = function (e) { + return (n, o) => (console.warn(`${o} is likely a misspelling of ${e}`), !0) +} +function pjt(t, e, n) { + if (typeof t != "object") throw new dn("options must be an object", dn.ERR_BAD_OPTION_VALUE) + const o = Object.keys(t) + let r = o.length + for (; r-- > 0; ) { + const i = o[r], + s = e[i] + if (s) { + const a = t[i], + c = a === void 0 || s(a, i, t) + if (c !== !0) throw new dn("option " + i + " must be " + c, dn.ERR_BAD_OPTION_VALUE) + continue + } + if (n !== !0) throw new dn("Unknown option " + i, dn.ERR_BAD_OPTION) + } +} +const Nx = { assertOptions: pjt, validators: dC }, + kl = Nx.validators +let _p = class { + constructor(e) { + ;(this.defaults = e || {}), (this.interceptors = { request: new WF(), response: new WF() }) + } + async request(e, n) { + try { + return await this._request(e, n) + } catch (o) { + if (o instanceof Error) { + let r = {} + Error.captureStackTrace ? Error.captureStackTrace(r) : (r = new Error()) + const i = r.stack ? r.stack.replace(/^.+\n/, "") : "" + try { + o.stack + ? i && + !String(o.stack).endsWith(i.replace(/^.+\n.+\n/, "")) && + (o.stack += + ` +` + i) + : (o.stack = i) + } catch {} + } + throw o + } + } + _request(e, n) { + typeof e == "string" ? ((n = n || {}), (n.url = e)) : (n = e || {}), (n = Lp(this.defaults, n)) + const { transitional: o, paramsSerializer: r, headers: i } = n + o !== void 0 && + Nx.assertOptions( + o, + { + silentJSONParsing: kl.transitional(kl.boolean), + forcedJSONParsing: kl.transitional(kl.boolean), + clarifyTimeoutError: kl.transitional(kl.boolean), + }, + !1, + ), + r != null && + (_e.isFunction(r) + ? (n.paramsSerializer = { serialize: r }) + : Nx.assertOptions(r, { encode: kl.function, serialize: kl.function }, !0)), + n.allowAbsoluteUrls !== void 0 || + (this.defaults.allowAbsoluteUrls !== void 0 + ? (n.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls) + : (n.allowAbsoluteUrls = !0)), + Nx.assertOptions(n, { baseUrl: kl.spelling("baseURL"), withXsrfToken: kl.spelling("withXSRFToken") }, !0), + (n.method = (n.method || this.defaults.method || "get").toLowerCase()) + let s = i && _e.merge(i.common, i[n.method]) + i && + _e.forEach(["delete", "get", "head", "post", "put", "patch", "common"], (b) => { + delete i[b] + }), + (n.headers = ds.concat(s, i)) + const a = [] + let c = !0 + this.interceptors.request.forEach(function (v) { + ;(typeof v.runWhen == "function" && v.runWhen(n) === !1) || + ((c = c && v.synchronous), a.unshift(v.fulfilled, v.rejected)) + }) + const d = [] + this.interceptors.response.forEach(function (v) { + d.push(v.fulfilled, v.rejected) + }) + let u, + m = 0, + f + if (!c) { + const b = [XF.bind(this), void 0] + for (b.unshift.apply(b, a), b.push.apply(b, d), f = b.length, u = Promise.resolve(n); m < f; ) + u = u.then(b[m++], b[m++]) + return u + } + f = a.length + let g = n + for (m = 0; m < f; ) { + const b = a[m++], + v = a[m++] + try { + g = b(g) + } catch (w) { + v.call(this, w) + break + } + } + try { + u = XF.call(this, g) + } catch (b) { + return Promise.reject(b) + } + for (m = 0, f = d.length; m < f; ) u = u.then(d[m++], d[m++]) + return u + } + getUri(e) { + e = Lp(this.defaults, e) + const n = iot(e.baseURL, e.url, e.allowAbsoluteUrls) + return eot(n, e.params, e.paramsSerializer) + } +} +_e.forEach(["delete", "get", "head", "options"], function (e) { + _p.prototype[e] = function (n, o) { + return this.request(Lp(o || {}, { method: e, url: n, data: (o || {}).data })) + } +}) +_e.forEach(["post", "put", "patch"], function (e) { + function n(o) { + return function (i, s, a) { + return this.request( + Lp(a || {}, { + method: e, + headers: o ? { "Content-Type": "multipart/form-data" } : {}, + url: i, + data: s, + }), + ) + } + } + ;(_p.prototype[e] = n()), (_p.prototype[e + "Form"] = n(!0)) +}) +let mjt = class uot { + constructor(e) { + if (typeof e != "function") throw new TypeError("executor must be a function.") + let n + this.promise = new Promise(function (i) { + n = i + }) + const o = this + this.promise.then((r) => { + if (!o._listeners) return + let i = o._listeners.length + for (; i-- > 0; ) o._listeners[i](r) + o._listeners = null + }), + (this.promise.then = (r) => { + let i + const s = new Promise((a) => { + o.subscribe(a), (i = a) + }).then(r) + return ( + (s.cancel = function () { + o.unsubscribe(i) + }), + s + ) + }), + e(function (i, s, a) { + o.reason || ((o.reason = new _f(i, s, a)), n(o.reason)) + }) + } + throwIfRequested() { + if (this.reason) throw this.reason + } + subscribe(e) { + if (this.reason) { + e(this.reason) + return + } + this._listeners ? this._listeners.push(e) : (this._listeners = [e]) + } + unsubscribe(e) { + if (!this._listeners) return + const n = this._listeners.indexOf(e) + n !== -1 && this._listeners.splice(n, 1) + } + toAbortSignal() { + const e = new AbortController(), + n = (o) => { + e.abort(o) + } + return this.subscribe(n), (e.signal.unsubscribe = () => this.unsubscribe(n)), e.signal + } + static source() { + let e + return { + token: new uot(function (r) { + e = r + }), + cancel: e, + } + } +} +function hjt(t) { + return function (n) { + return t.apply(null, n) + } +} +function fjt(t) { + return _e.isObject(t) && t.isAxiosError === !0 +} +const fM = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, +} +Object.entries(fM).forEach(([t, e]) => { + fM[e] = t +}) +function pot(t) { + const e = new _p(t), + n = Unt(_p.prototype.request, e) + return ( + _e.extend(n, _p.prototype, e, { allOwnKeys: !0 }), + _e.extend(n, e, null, { allOwnKeys: !0 }), + (n.create = function (r) { + return pot(Lp(t, r)) + }), + n + ) +} +const Vo = pot(Vb) +Vo.Axios = _p +Vo.CanceledError = _f +Vo.CancelToken = mjt +Vo.isCancel = oot +Vo.VERSION = dot +Vo.toFormData = lC +Vo.AxiosError = dn +Vo.Cancel = Vo.CanceledError +Vo.all = function (e) { + return Promise.all(e) +} +Vo.spread = hjt +Vo.isAxiosError = fjt +Vo.mergeConfig = Lp +Vo.AxiosHeaders = ds +Vo.formToJSON = (t) => not(_e.isHTMLForm(t) ? new FormData(t) : t) +Vo.getAdapter = cot.getAdapter +Vo.HttpStatusCode = fM +Vo.default = Vo +const { + Axios: _tn, + AxiosError: Ctn, + CanceledError: Stn, + isCancel: Atn, + CancelToken: Ptn, + VERSION: Rtn, + all: Ttn, + Cancel: Itn, + isAxiosError: Mtn, + spread: jtn, + toFormData: Etn, + AxiosHeaders: ztn, + HttpStatusCode: $tn, + formToJSON: Ltn, + getAdapter: Dtn, + mergeConfig: Ntn, + } = Vo, + eB = (t) => (t ? parseFloat(t) * 1e6 : void 0), + YA = "[default]", + gjt = Ae({ + data: Ae({ + id: se(), + name: se(), + description: se().optional(), + architecture: Ae({ modality: se().nullish(), tokenizer: se().nullish() }).nullish(), + endpoints: Do( + Ae({ + name: se(), + context_length: Pe(), + max_completion_tokens: Pe().nullish(), + pricing: Ae({ + prompt: Tc([se(), Pe()]).optional(), + completion: Tc([se(), Pe()]).optional(), + }).optional(), + }), + ), + }), + }) +async function vjt(t) { + var n, o, r + const e = {} + try { + const i = await Vo.get(`https://openrouter.ai/api/v1/models/${t}/endpoints`), + s = gjt.safeParse(i.data) + if (!s.success) return console.error("OpenRouter API response validation failed:", s.error), e + const { id: a, description: c, architecture: d, endpoints: u } = s.data.data + for (const m of u) { + const f = m.name.split("|")[0].trim(), + g = eB((n = m.pricing) == null ? void 0 : n.prompt), + b = eB((o = m.pricing) == null ? void 0 : o.completion), + v = { + maxTokens: m.max_completion_tokens || m.context_length, + contextWindow: m.context_length, + supportsImages: (r = d == null ? void 0 : d.modality) == null ? void 0 : r.includes("image"), + supportsPromptCache: !1, + inputPrice: g, + outputPrice: b, + description: c, + label: f, + } + switch (!0) { + case t.startsWith("anthropic/claude-3.7-sonnet"): + ;(v.supportsComputerUse = !0), + (v.supportsPromptCache = !0), + (v.cacheWritesPrice = 3.75), + (v.cacheReadsPrice = 0.3), + (v.maxTokens = a === "anthropic/claude-3.7-sonnet:thinking" ? 64e3 : 8192) + break + case t.startsWith("anthropic/claude-3.5-sonnet-20240620"): + ;(v.supportsPromptCache = !0), + (v.cacheWritesPrice = 3.75), + (v.cacheReadsPrice = 0.3), + (v.maxTokens = 8192) + break + default: + ;(v.supportsPromptCache = !0), (v.cacheWritesPrice = 0.3), (v.cacheReadsPrice = 0.03) + break + } + e[f] = v + } + } catch (i) { + i instanceof el + ? console.error("OpenRouter API response validation failed:", i.errors) + : console.error("Error fetching OpenRouter providers:", i) + } + return e +} +const mot = (t, e) => zb({ queryKey: ["openrouter-model-providers", t], queryFn: () => (t ? vjt(t) : {}), ...e }), + bjt = async () => + new Promise((t, e) => { + const n = () => { + window.removeEventListener("message", r) + }, + o = setTimeout(() => { + n(), e(new Error("LM Studio models request timed out")) + }, 1e4), + r = (i) => { + const s = i.data + s.type === "lmStudioModels" && + (clearTimeout(o), + n(), + s.lmStudioModels ? t(s.lmStudioModels) : e(new Error("No LMStudio models in response"))) + } + window.addEventListener("message", r), re.postMessage({ type: "requestLmStudioModels" }) + }), + yjt = (t) => zb({ queryKey: ["lmStudioModels"], queryFn: () => (t ? bjt() : {}) }), + uC = (t) => { + const e = (t == null ? void 0 : t.apiProvider) || "anthropic", + n = e === "openrouter" ? (t == null ? void 0 : t.openRouterModelId) : void 0, + o = e === "lmstudio" ? (t == null ? void 0 : t.lmStudioModelId) : void 0, + r = oC(), + i = mot(n), + s = yjt(o), + { id: a, info: c } = + t && (typeof o > "u" || typeof s.data < "u") && typeof r.data < "u" && typeof i.data < "u" + ? kjt({ + provider: e, + apiConfiguration: t, + routerModels: r.data, + openRouterModelProviders: i.data, + lmStudioModels: s.data, + }) + : { id: Uj, info: void 0 } + return { + provider: e, + id: a, + info: c, + isLoading: r.isLoading || i.isLoading || ((t == null ? void 0 : t.lmStudioModelId) && s.isLoading), + isError: r.isError || i.isError || ((t == null ? void 0 : t.lmStudioModelId) && s.isError), + } + } +function kjt({ provider: t, apiConfiguration: e, routerModels: n, openRouterModelProviders: o, lmStudioModels: r }) { + var i + switch (t) { + case "openrouter": { + const s = e.openRouterModelId ?? Kj + let a = n.openrouter[s] + const c = e.openRouterSpecificProvider + return c && o[c] && (a = a ? { ...a, ...o[c] } : o[c]), { id: s, info: a } + } + case "requesty": { + const s = e.requestyModelId ?? Vj, + a = n.requesty[s] + return { id: s, info: a } + } + case "glama": { + const s = e.glamaModelId ?? qj, + a = n.glama[s] + return { id: s, info: a } + } + case "unbound": { + const s = e.unboundModelId ?? Hj, + a = n.unbound[s] + return { id: s, info: a } + } + case "litellm": { + const s = e.litellmModelId ?? kw, + a = n.litellm[s] + return { id: s, info: a } + } + case "xai": { + const s = e.apiModelId ?? $Je, + a = LJe[s] + return a ? { id: s, info: a } : { id: s, info: void 0 } + } + case "groq": { + const s = e.apiModelId ?? CJe, + a = SJe[s] + return { id: s, info: a } + } + case "huggingface": + return { + id: e.huggingFaceModelId ?? "meta-llama/Llama-3.3-70B-Instruct", + info: { maxTokens: 8192, contextWindow: 131072, supportsImages: !1, supportsPromptCache: !1 }, + } + case "chutes": { + const s = e.apiModelId ?? gJe, + a = vJe[s] + return { id: s, info: a } + } + case "bedrock": { + const s = e.apiModelId ?? pJe, + a = mJe[s] + return s === "custom-arn" + ? { id: s, info: { maxTokens: 5e3, contextWindow: 128e3, supportsPromptCache: !1, supportsImages: !0 } } + : { id: s, info: a } + } + case "vertex": { + const s = e.apiModelId ?? EJe, + a = zJe[s] + return { id: s, info: a } + } + case "gemini": { + const s = e.apiModelId ?? wJe, + a = _Je[s] + return { id: s, info: a } + } + case "deepseek": { + const s = e.apiModelId ?? kJe, + a = xJe[s] + return { id: s, info: a } + } + case "doubao": { + const s = e.apiModelId ?? Gj, + a = Qj[s] + return { id: s, info: a } + } + case "moonshot": { + const s = e.apiModelId ?? PJe, + a = RJe[s] + return { id: s, info: a } + } + case "zai": { + const s = e.zaiApiLine === "china", + a = s ? aCt : NJe, + c = s ? OJe : DJe, + d = e.apiModelId ?? c, + u = a[d] + return { id: d, info: u } + } + case "openai-native": { + const s = e.apiModelId ?? TJe, + a = IJe[s] + return { id: s, info: a } + } + case "mistral": { + const s = e.apiModelId ?? Wj, + a = AJe[s] + return { id: s, info: a } + } + case "openai": { + const s = e.openAiModelId ?? "", + a = (e == null ? void 0 : e.openAiCustomModelInfo) ?? Ao + return { id: s, info: a } + } + case "ollama": { + const s = e.ollamaModelId ?? "", + a = n.ollama && n.ollama[s] + return { id: s, info: a || void 0 } + } + case "lmstudio": { + const s = e.lmStudioModelId ?? "", + a = r && r[e.lmStudioModelId] + return { id: s, info: a || void 0 } + } + case "vscode-lm": { + const s = + e != null && e.vsCodeLmModelSelector + ? `${e.vsCodeLmModelSelector.vendor}/${e.vsCodeLmModelSelector.family}` + : aO, + a = ((i = e == null ? void 0 : e.vsCodeLmModelSelector) == null ? void 0 : i.family) ?? aO, + c = sCt[a] + return { id: s, info: { ...Ao, ...c, supportsImages: !1 } } + } + case "claude-code": { + const s = e.apiModelId ?? bJe, + a = yJe[s] + return { id: s, info: { ...Ao, ...a } } + } + case "cerebras": { + const s = e.apiModelId ?? hJe, + a = fJe[s] + return { id: s, info: a } + } + case "sambanova": { + const s = e.apiModelId ?? MJe, + a = jJe[s] + return { id: s, info: a } + } + case "fireworks": { + const s = e.apiModelId ?? FJe, + a = BJe[s] + return { id: s, info: a } + } + default: { + const s = e.apiModelId ?? Uj, + a = Xu[s] + return { id: s, info: a } + } + } +} +const hot = () => { + const [t] = k.useState(() => window.IMAGES_BASE_URI || "") + return l.jsx("div", { + className: "flex flex-col items-center justify-center pb-4 forced-color-adjust-none", + children: l.jsx("div", { + style: { + backgroundColor: "var(--vscode-foreground)", + WebkitMaskImage: `url('${t}/roo-logo.svg')`, + WebkitMaskRepeat: "no-repeat", + WebkitMaskSize: "contain", + maskImage: `url('${t}/roo-logo.svg')`, + maskRepeat: "no-repeat", + maskSize: "contain", + }, + className: "mx-auto", + children: l.jsx("img", { src: t + "/roo-logo.svg", alt: "Roo logo", className: "h-8 opacity-0" }), + }), + }) +} +function co(t, e) { + const n = t.replace(/^\//, ""), + [o, r] = n.split("#"), + i = `https://docs.roocode.com/${o}?utm_source=extension&utm_medium=ide&utm_campaign=${encodeURIComponent(e)}` + return r ? `${i}#${r}` : i +} +const xjt = [ + { + icon: "codicon-account", + href: co("basic-usage/using-modes", "tips"), + titleKey: "rooTips.customizableModes.title", + descriptionKey: "rooTips.customizableModes.description", + }, + { + icon: "codicon-list-tree", + href: co("features/boomerang-tasks", "tips"), + titleKey: "rooTips.boomerangTasks.title", + descriptionKey: "rooTips.boomerangTasks.description", + }, + ], + wjt = () => { + const { t } = to("chat") + return l.jsxs("div", { + children: [ + l.jsx("p", { + className: + "text-vscode-editor-foreground leading-tight font-vscode-font-family text-center text-balance max-w-[380px] mx-auto my-0", + children: l.jsx(Dt, { + i18nKey: "chat:about", + components: { + DocsLink: l.jsx("a", { + href: co("", "welcome"), + target: "_blank", + rel: "noopener noreferrer", + children: "the docs", + }), + }, + }), + }), + l.jsx("div", { + className: "flex flex-col items-center justify-center px-5 py-2.5 gap-4", + children: xjt.map((e) => + l.jsxs( + "div", + { + className: + "flex items-center gap-2 text-vscode-editor-foreground font-vscode max-w-[250px]", + children: [ + l.jsx("span", { className: `codicon ${e.icon}` }), + l.jsxs("span", { + children: [ + l.jsx(Wt, { + className: "forced-color-adjust-none", + href: e.href, + children: t(e.titleKey), + }), + ": ", + t(e.descriptionKey), + ], + }), + ], + }, + e.titleKey, + ), + ), + }), + ], + }) + } +function _jt() { + const { t } = to("chat") + return l.jsxs("div", { + className: "border border-muted/20 px-4 py-1 text-center flex items-start gap-2", + children: [ + l.jsx("i", { className: "mr-1 codicon codicon-cloud text-xl! mt-2 text-vscode-descriptionForeground" }), + l.jsxs("div", { + className: "text-left", + children: [ + l.jsxs("p", { + children: [ + l.jsx("strong", { children: t("rooCloudCTA.title") }), + l.jsx("br", {}), + l.jsx("span", { children: t("rooCloudCTA.description") }), + ], + }), + l.jsx("p", { + children: l.jsx("a", { + href: "https://roocode.com/cloud-waitlist", + children: t("rooCloudCTA.joinWaitlist"), + }), + }), + ], + }), + ], + }) +} +function Cjt(t, e) { + const n = k.createContext(e), + o = (i) => { + const { children: s, ...a } = i, + c = k.useMemo(() => a, Object.values(a)) + return l.jsx(n.Provider, { value: c, children: s }) + } + o.displayName = t + "Provider" + function r(i) { + const s = k.useContext(n) + if (s) return s + if (e !== void 0) return e + throw new Error(`\`${i}\` must be used within \`${t}\``) + } + return [o, r] +} +function hs(t, e = []) { + let n = [] + function o(i, s) { + const a = k.createContext(s), + c = n.length + n = [...n, s] + const d = (m) => { + var _ + const { scope: f, children: g, ...b } = m, + v = ((_ = f == null ? void 0 : f[t]) == null ? void 0 : _[c]) || a, + w = k.useMemo(() => b, Object.values(b)) + return l.jsx(v.Provider, { value: w, children: g }) + } + d.displayName = i + "Provider" + function u(m, f) { + var v + const g = ((v = f == null ? void 0 : f[t]) == null ? void 0 : v[c]) || a, + b = k.useContext(g) + if (b) return b + if (s !== void 0) return s + throw new Error(`\`${m}\` must be used within \`${i}\``) + } + return [d, u] + } + const r = () => { + const i = n.map((s) => k.createContext(s)) + return function (a) { + const c = (a == null ? void 0 : a[t]) || i + return k.useMemo(() => ({ [`__scope${t}`]: { ...a, [t]: c } }), [a, c]) + } + } + return (r.scopeName = t), [o, Sjt(r, ...e)] +} +function Sjt(...t) { + const e = t[0] + if (t.length === 1) return e + const n = () => { + const o = t.map((r) => ({ useScope: r(), scopeName: r.scopeName })) + return function (i) { + const s = o.reduce((a, { useScope: c, scopeName: d }) => { + const m = c(i)[`__scope${d}`] + return { ...a, ...m } + }, {}) + return k.useMemo(() => ({ [`__scope${e.scopeName}`]: s }), [s]) + } + } + return (n.scopeName = e.scopeName), n +} +function tB(t, e) { + if (typeof t == "function") return t(e) + t != null && (t.current = e) +} +function Xd(...t) { + return (e) => { + let n = !1 + const o = t.map((r) => { + const i = tB(r, e) + return !n && typeof i == "function" && (n = !0), i + }) + if (n) + return () => { + for (let r = 0; r < o.length; r++) { + const i = o[r] + typeof i == "function" ? i() : tB(t[r], null) + } + } + } +} +function cn(...t) { + return k.useCallback(Xd(...t), t) +} +function rt(t, e, { checkForDefaultPrevented: n = !0 } = {}) { + return function (r) { + if ((t == null || t(r), n === !1 || !r.defaultPrevented)) return e == null ? void 0 : e(r) + } +} +var Gr = globalThis != null && globalThis.document ? k.useLayoutEffect : () => {}, + Ajt = Mj[" useId ".trim().toString()] || (() => {}), + Pjt = 0 +function bi(t) { + const [e, n] = k.useState(Ajt()) + return ( + Gr(() => { + n((o) => o ?? String(Pjt++)) + }, [t]), + e ? `radix-${e}` : "" + ) +} +var Rjt = Mj[" useInsertionEffect ".trim().toString()] || Gr +function Ic({ prop: t, defaultProp: e, onChange: n = () => {}, caller: o }) { + const [r, i, s] = Tjt({ defaultProp: e, onChange: n }), + a = t !== void 0, + c = a ? t : r + { + const u = k.useRef(t !== void 0) + k.useEffect(() => { + const m = u.current + m !== a && + console.warn( + `${o} is changing from ${m ? "controlled" : "uncontrolled"} to ${a ? "controlled" : "uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`, + ), + (u.current = a) + }, [a, o]) + } + const d = k.useCallback( + (u) => { + var m + if (a) { + const f = Ijt(u) ? u(t) : u + f !== t && ((m = s.current) == null || m.call(s, f)) + } else i(u) + }, + [a, t, i, s], + ) + return [c, d] +} +function Tjt({ defaultProp: t, onChange: e }) { + const [n, o] = k.useState(t), + r = k.useRef(n), + i = k.useRef(e) + return ( + Rjt(() => { + i.current = e + }, [e]), + k.useEffect(() => { + var s + r.current !== n && ((s = i.current) == null || s.call(i, n), (r.current = n)) + }, [n, r]), + [n, o, i] + ) +} +function Ijt(t) { + return typeof t == "function" +} +function Jd(t) { + const e = jjt(t), + n = k.forwardRef((o, r) => { + const { children: i, ...s } = o, + a = k.Children.toArray(i), + c = a.find(Ejt) + if (c) { + const d = c.props.children, + u = a.map((m) => + m === c + ? k.Children.count(d) > 1 + ? k.Children.only(null) + : k.isValidElement(d) + ? d.props.children + : null + : m, + ) + return l.jsx(e, { ...s, ref: r, children: k.isValidElement(d) ? k.cloneElement(d, void 0, u) : null }) + } + return l.jsx(e, { ...s, ref: r, children: i }) + }) + return (n.displayName = `${t}.Slot`), n +} +var Mjt = Jd("Slot") +function jjt(t) { + const e = k.forwardRef((n, o) => { + const { children: r, ...i } = n, + s = k.isValidElement(r) ? $jt(r) : void 0, + a = cn(s, o) + if (k.isValidElement(r)) { + const c = zjt(i, r.props) + return r.type !== k.Fragment && (c.ref = a), k.cloneElement(r, c) + } + return k.Children.count(r) > 1 ? k.Children.only(null) : null + }) + return (e.displayName = `${t}.SlotClone`), e +} +var fot = Symbol("radix.slottable") +function got(t) { + const e = ({ children: n }) => l.jsx(l.Fragment, { children: n }) + return (e.displayName = `${t}.Slottable`), (e.__radixId = fot), e +} +function Ejt(t) { + return k.isValidElement(t) && typeof t.type == "function" && "__radixId" in t.type && t.type.__radixId === fot +} +function zjt(t, e) { + const n = { ...e } + for (const o in e) { + const r = t[o], + i = e[o] + ;/^on[A-Z]/.test(o) + ? r && i + ? (n[o] = (...a) => { + const c = i(...a) + return r(...a), c + }) + : r && (n[o] = r) + : o === "style" + ? (n[o] = { ...r, ...i }) + : o === "className" && (n[o] = [r, i].filter(Boolean).join(" ")) + } + return { ...t, ...n } +} +function $jt(t) { + var o, r + let e = (o = Object.getOwnPropertyDescriptor(t.props, "ref")) == null ? void 0 : o.get, + n = e && "isReactWarning" in e && e.isReactWarning + return n + ? t.ref + : ((e = (r = Object.getOwnPropertyDescriptor(t, "ref")) == null ? void 0 : r.get), + (n = e && "isReactWarning" in e && e.isReactWarning), + n ? t.props.ref : t.props.ref || t.ref) +} +var Ljt = [ + "a", + "button", + "div", + "form", + "h2", + "h3", + "img", + "input", + "label", + "li", + "nav", + "ol", + "p", + "select", + "span", + "svg", + "ul", + ], + Mt = Ljt.reduce((t, e) => { + const n = Jd(`Primitive.${e}`), + o = k.forwardRef((r, i) => { + const { asChild: s, ...a } = r, + c = s ? n : e + return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), l.jsx(c, { ...a, ref: i }) + }) + return (o.displayName = `Primitive.${e}`), { ...t, [e]: o } + }, {}) +function vot(t, e) { + t && $b.flushSync(() => t.dispatchEvent(e)) +} +function Mc(t) { + const e = k.useRef(t) + return ( + k.useEffect(() => { + e.current = t + }), + k.useMemo( + () => + (...n) => { + var o + return (o = e.current) == null ? void 0 : o.call(e, ...n) + }, + [], + ) + ) +} +function Djt(t, e = globalThis == null ? void 0 : globalThis.document) { + const n = Mc(t) + k.useEffect(() => { + const o = (r) => { + r.key === "Escape" && n(r) + } + return ( + e.addEventListener("keydown", o, { capture: !0 }), + () => e.removeEventListener("keydown", o, { capture: !0 }) + ) + }, [n, e]) +} +var Njt = "DismissableLayer", + gM = "dismissableLayer.update", + Ojt = "dismissableLayer.pointerDownOutside", + Fjt = "dismissableLayer.focusOutside", + nB, + bot = k.createContext({ + layers: new Set(), + layersWithOutsidePointerEventsDisabled: new Set(), + branches: new Set(), + }), + Cf = k.forwardRef((t, e) => { + const { + disableOutsidePointerEvents: n = !1, + onEscapeKeyDown: o, + onPointerDownOutside: r, + onFocusOutside: i, + onInteractOutside: s, + onDismiss: a, + ...c + } = t, + d = k.useContext(bot), + [u, m] = k.useState(null), + f = (u == null ? void 0 : u.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), + [, g] = k.useState({}), + b = cn(e, (T) => m(T)), + v = Array.from(d.layers), + [w] = [...d.layersWithOutsidePointerEventsDisabled].slice(-1), + _ = v.indexOf(w), + y = u ? v.indexOf(u) : -1, + C = d.layersWithOutsidePointerEventsDisabled.size > 0, + S = y >= _, + P = qjt((T) => { + const E = T.target, + $ = [...d.branches].some((j) => j.contains(E)) + !S || $ || (r == null || r(T), s == null || s(T), T.defaultPrevented || a == null || a()) + }, f), + R = Wjt((T) => { + const E = T.target + ;[...d.branches].some((j) => j.contains(E)) || + (i == null || i(T), s == null || s(T), T.defaultPrevented || a == null || a()) + }, f) + return ( + Djt((T) => { + y === d.layers.size - 1 && (o == null || o(T), !T.defaultPrevented && a && (T.preventDefault(), a())) + }, f), + k.useEffect(() => { + if (u) + return ( + n && + (d.layersWithOutsidePointerEventsDisabled.size === 0 && + ((nB = f.body.style.pointerEvents), (f.body.style.pointerEvents = "none")), + d.layersWithOutsidePointerEventsDisabled.add(u)), + d.layers.add(u), + oB(), + () => { + n && + d.layersWithOutsidePointerEventsDisabled.size === 1 && + (f.body.style.pointerEvents = nB) + } + ) + }, [u, f, n, d]), + k.useEffect( + () => () => { + u && (d.layers.delete(u), d.layersWithOutsidePointerEventsDisabled.delete(u), oB()) + }, + [u, d], + ), + k.useEffect(() => { + const T = () => g({}) + return document.addEventListener(gM, T), () => document.removeEventListener(gM, T) + }, []), + l.jsx(Mt.div, { + ...c, + ref: b, + style: { pointerEvents: C ? (S ? "auto" : "none") : void 0, ...t.style }, + onFocusCapture: rt(t.onFocusCapture, R.onFocusCapture), + onBlurCapture: rt(t.onBlurCapture, R.onBlurCapture), + onPointerDownCapture: rt(t.onPointerDownCapture, P.onPointerDownCapture), + }) + ) + }) +Cf.displayName = Njt +var Bjt = "DismissableLayerBranch", + Ujt = k.forwardRef((t, e) => { + const n = k.useContext(bot), + o = k.useRef(null), + r = cn(e, o) + return ( + k.useEffect(() => { + const i = o.current + if (i) + return ( + n.branches.add(i), + () => { + n.branches.delete(i) + } + ) + }, [n.branches]), + l.jsx(Mt.div, { ...t, ref: r }) + ) + }) +Ujt.displayName = Bjt +function qjt(t, e = globalThis == null ? void 0 : globalThis.document) { + const n = Mc(t), + o = k.useRef(!1), + r = k.useRef(() => {}) + return ( + k.useEffect(() => { + const i = (a) => { + if (a.target && !o.current) { + let c = function () { + yot(Ojt, n, d, { discrete: !0 }) + } + const d = { originalEvent: a } + a.pointerType === "touch" + ? (e.removeEventListener("click", r.current), + (r.current = c), + e.addEventListener("click", r.current, { once: !0 })) + : c() + } else e.removeEventListener("click", r.current) + o.current = !1 + }, + s = window.setTimeout(() => { + e.addEventListener("pointerdown", i) + }, 0) + return () => { + window.clearTimeout(s), + e.removeEventListener("pointerdown", i), + e.removeEventListener("click", r.current) + } + }, [e, n]), + { onPointerDownCapture: () => (o.current = !0) } + ) +} +function Wjt(t, e = globalThis == null ? void 0 : globalThis.document) { + const n = Mc(t), + o = k.useRef(!1) + return ( + k.useEffect(() => { + const r = (i) => { + i.target && !o.current && yot(Fjt, n, { originalEvent: i }, { discrete: !1 }) + } + return e.addEventListener("focusin", r), () => e.removeEventListener("focusin", r) + }, [e, n]), + { onFocusCapture: () => (o.current = !0), onBlurCapture: () => (o.current = !1) } + ) +} +function oB() { + const t = new CustomEvent(gM) + document.dispatchEvent(t) +} +function yot(t, e, n, { discrete: o }) { + const r = n.originalEvent.target, + i = new CustomEvent(t, { bubbles: !1, cancelable: !0, detail: n }) + e && r.addEventListener(t, e, { once: !0 }), o ? vot(r, i) : r.dispatchEvent(i) +} +var XA = "focusScope.autoFocusOnMount", + JA = "focusScope.autoFocusOnUnmount", + rB = { bubbles: !1, cancelable: !0 }, + Kjt = "FocusScope", + Hb = k.forwardRef((t, e) => { + const { loop: n = !1, trapped: o = !1, onMountAutoFocus: r, onUnmountAutoFocus: i, ...s } = t, + [a, c] = k.useState(null), + d = Mc(r), + u = Mc(i), + m = k.useRef(null), + f = cn(e, (v) => c(v)), + g = k.useRef({ + paused: !1, + pause() { + this.paused = !0 + }, + resume() { + this.paused = !1 + }, + }).current + k.useEffect(() => { + if (o) { + let v = function (C) { + if (g.paused || !a) return + const S = C.target + a.contains(S) ? (m.current = S) : _d(m.current, { select: !0 }) + }, + w = function (C) { + if (g.paused || !a) return + const S = C.relatedTarget + S !== null && (a.contains(S) || _d(m.current, { select: !0 })) + }, + _ = function (C) { + if (document.activeElement === document.body) + for (const P of C) P.removedNodes.length > 0 && _d(a) + } + document.addEventListener("focusin", v), document.addEventListener("focusout", w) + const y = new MutationObserver(_) + return ( + a && y.observe(a, { childList: !0, subtree: !0 }), + () => { + document.removeEventListener("focusin", v), + document.removeEventListener("focusout", w), + y.disconnect() + } + ) + } + }, [o, a, g.paused]), + k.useEffect(() => { + if (a) { + sB.add(g) + const v = document.activeElement + if (!a.contains(v)) { + const _ = new CustomEvent(XA, rB) + a.addEventListener(XA, d), + a.dispatchEvent(_), + _.defaultPrevented || + (Vjt(Yjt(kot(a)), { select: !0 }), document.activeElement === v && _d(a)) + } + return () => { + a.removeEventListener(XA, d), + setTimeout(() => { + const _ = new CustomEvent(JA, rB) + a.addEventListener(JA, u), + a.dispatchEvent(_), + _.defaultPrevented || _d(v ?? document.body, { select: !0 }), + a.removeEventListener(JA, u), + sB.remove(g) + }, 0) + } + } + }, [a, d, u, g]) + const b = k.useCallback( + (v) => { + if ((!n && !o) || g.paused) return + const w = v.key === "Tab" && !v.altKey && !v.ctrlKey && !v.metaKey, + _ = document.activeElement + if (w && _) { + const y = v.currentTarget, + [C, S] = Hjt(y) + C && S + ? !v.shiftKey && _ === S + ? (v.preventDefault(), n && _d(C, { select: !0 })) + : v.shiftKey && _ === C && (v.preventDefault(), n && _d(S, { select: !0 })) + : _ === y && v.preventDefault() + } + }, + [n, o, g.paused], + ) + return l.jsx(Mt.div, { tabIndex: -1, ...s, ref: f, onKeyDown: b }) + }) +Hb.displayName = Kjt +function Vjt(t, { select: e = !1 } = {}) { + const n = document.activeElement + for (const o of t) if ((_d(o, { select: e }), document.activeElement !== n)) return +} +function Hjt(t) { + const e = kot(t), + n = iB(e, t), + o = iB(e.reverse(), t) + return [n, o] +} +function kot(t) { + const e = [], + n = document.createTreeWalker(t, NodeFilter.SHOW_ELEMENT, { + acceptNode: (o) => { + const r = o.tagName === "INPUT" && o.type === "hidden" + return o.disabled || o.hidden || r + ? NodeFilter.FILTER_SKIP + : o.tabIndex >= 0 + ? NodeFilter.FILTER_ACCEPT + : NodeFilter.FILTER_SKIP + }, + }) + for (; n.nextNode(); ) e.push(n.currentNode) + return e +} +function iB(t, e) { + for (const n of t) if (!Gjt(n, { upTo: e })) return n +} +function Gjt(t, { upTo: e }) { + if (getComputedStyle(t).visibility === "hidden") return !0 + for (; t; ) { + if (e !== void 0 && t === e) return !1 + if (getComputedStyle(t).display === "none") return !0 + t = t.parentElement + } + return !1 +} +function Qjt(t) { + return t instanceof HTMLInputElement && "select" in t +} +function _d(t, { select: e = !1 } = {}) { + if (t && t.focus) { + const n = document.activeElement + t.focus({ preventScroll: !0 }), t !== n && Qjt(t) && e && t.select() + } +} +var sB = Zjt() +function Zjt() { + let t = [] + return { + add(e) { + const n = t[0] + e !== n && (n == null || n.pause()), (t = aB(t, e)), t.unshift(e) + }, + remove(e) { + var n + ;(t = aB(t, e)), (n = t[0]) == null || n.resume() + }, + } +} +function aB(t, e) { + const n = [...t], + o = n.indexOf(e) + return o !== -1 && n.splice(o, 1), n +} +function Yjt(t) { + return t.filter((e) => e.tagName !== "A") +} +var Xjt = "Portal", + Sf = k.forwardRef((t, e) => { + var a + const { container: n, ...o } = t, + [r, i] = k.useState(!1) + Gr(() => i(!0), []) + const s = n || (r && ((a = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : a.body)) + return s ? att.createPortal(l.jsx(Mt.div, { ...o, ref: e }), s) : null + }) +Sf.displayName = Xjt +function Jjt(t, e) { + return k.useReducer((n, o) => e[n][o] ?? n, t) +} +var fs = (t) => { + const { present: e, children: n } = t, + o = eEt(e), + r = typeof n == "function" ? n({ present: o.isPresent }) : k.Children.only(n), + i = cn(o.ref, tEt(r)) + return typeof n == "function" || o.isPresent ? k.cloneElement(r, { ref: i }) : null +} +fs.displayName = "Presence" +function eEt(t) { + const [e, n] = k.useState(), + o = k.useRef(null), + r = k.useRef(t), + i = k.useRef("none"), + s = t ? "mounted" : "unmounted", + [a, c] = Jjt(s, { + mounted: { UNMOUNT: "unmounted", ANIMATION_OUT: "unmountSuspended" }, + unmountSuspended: { MOUNT: "mounted", ANIMATION_END: "unmounted" }, + unmounted: { MOUNT: "mounted" }, + }) + return ( + k.useEffect(() => { + const d = Wk(o.current) + i.current = a === "mounted" ? d : "none" + }, [a]), + Gr(() => { + const d = o.current, + u = r.current + if (u !== t) { + const f = i.current, + g = Wk(d) + t + ? c("MOUNT") + : g === "none" || (d == null ? void 0 : d.display) === "none" + ? c("UNMOUNT") + : c(u && f !== g ? "ANIMATION_OUT" : "UNMOUNT"), + (r.current = t) + } + }, [t, c]), + Gr(() => { + if (e) { + let d + const u = e.ownerDocument.defaultView ?? window, + m = (g) => { + const v = Wk(o.current).includes(g.animationName) + if (g.target === e && v && (c("ANIMATION_END"), !r.current)) { + const w = e.style.animationFillMode + ;(e.style.animationFillMode = "forwards"), + (d = u.setTimeout(() => { + e.style.animationFillMode === "forwards" && (e.style.animationFillMode = w) + })) + } + }, + f = (g) => { + g.target === e && (i.current = Wk(o.current)) + } + return ( + e.addEventListener("animationstart", f), + e.addEventListener("animationcancel", m), + e.addEventListener("animationend", m), + () => { + u.clearTimeout(d), + e.removeEventListener("animationstart", f), + e.removeEventListener("animationcancel", m), + e.removeEventListener("animationend", m) + } + ) + } else c("ANIMATION_END") + }, [e, c]), + { + isPresent: ["mounted", "unmountSuspended"].includes(a), + ref: k.useCallback((d) => { + ;(o.current = d ? getComputedStyle(d) : null), n(d) + }, []), + } + ) +} +function Wk(t) { + return (t == null ? void 0 : t.animationName) || "none" +} +function tEt(t) { + var o, r + let e = (o = Object.getOwnPropertyDescriptor(t.props, "ref")) == null ? void 0 : o.get, + n = e && "isReactWarning" in e && e.isReactWarning + return n + ? t.ref + : ((e = (r = Object.getOwnPropertyDescriptor(t, "ref")) == null ? void 0 : r.get), + (n = e && "isReactWarning" in e && e.isReactWarning), + n ? t.props.ref : t.props.ref || t.ref) +} +var eP = 0 +function pC() { + k.useEffect(() => { + const t = document.querySelectorAll("[data-radix-focus-guard]") + return ( + document.body.insertAdjacentElement("afterbegin", t[0] ?? lB()), + document.body.insertAdjacentElement("beforeend", t[1] ?? lB()), + eP++, + () => { + eP === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((e) => e.remove()), eP-- + } + ) + }, []) +} +function lB() { + const t = document.createElement("span") + return ( + t.setAttribute("data-radix-focus-guard", ""), + (t.tabIndex = 0), + (t.style.outline = "none"), + (t.style.opacity = "0"), + (t.style.position = "fixed"), + (t.style.pointerEvents = "none"), + t + ) +} +var Ox = "right-scroll-bar-position", + Fx = "width-before-scroll-bar", + nEt = "with-scroll-bars-hidden", + oEt = "--removed-body-scroll-bar-size" +function tP(t, e) { + return typeof t == "function" ? t(e) : t && (t.current = e), t +} +function rEt(t, e) { + var n = k.useState(function () { + return { + value: t, + callback: e, + facade: { + get current() { + return n.value + }, + set current(o) { + var r = n.value + r !== o && ((n.value = o), n.callback(o, r)) + }, + }, + } + })[0] + return (n.callback = e), n.facade +} +var iEt = typeof window < "u" ? k.useLayoutEffect : k.useEffect, + cB = new WeakMap() +function sEt(t, e) { + var n = rEt(null, function (o) { + return t.forEach(function (r) { + return tP(r, o) + }) + }) + return ( + iEt( + function () { + var o = cB.get(n) + if (o) { + var r = new Set(o), + i = new Set(t), + s = n.current + r.forEach(function (a) { + i.has(a) || tP(a, null) + }), + i.forEach(function (a) { + r.has(a) || tP(a, s) + }) + } + cB.set(n, t) + }, + [t], + ), + n + ) +} +function aEt(t) { + return t +} +function lEt(t, e) { + e === void 0 && (e = aEt) + var n = [], + o = !1, + r = { + read: function () { + if (o) + throw new Error( + "Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.", + ) + return n.length ? n[n.length - 1] : t + }, + useMedium: function (i) { + var s = e(i, o) + return ( + n.push(s), + function () { + n = n.filter(function (a) { + return a !== s + }) + } + ) + }, + assignSyncMedium: function (i) { + for (o = !0; n.length; ) { + var s = n + ;(n = []), s.forEach(i) + } + n = { + push: function (a) { + return i(a) + }, + filter: function () { + return n + }, + } + }, + assignMedium: function (i) { + o = !0 + var s = [] + if (n.length) { + var a = n + ;(n = []), a.forEach(i), (s = n) + } + var c = function () { + var u = s + ;(s = []), u.forEach(i) + }, + d = function () { + return Promise.resolve().then(c) + } + d(), + (n = { + push: function (u) { + s.push(u), d() + }, + filter: function (u) { + return (s = s.filter(u)), n + }, + }) + }, + } + return r +} +function cEt(t) { + t === void 0 && (t = {}) + var e = lEt(null) + return (e.options = zl({ async: !0, ssr: !1 }, t)), e +} +var xot = function (t) { + var e = t.sideCar, + n = TW(t, ["sideCar"]) + if (!e) throw new Error("Sidecar: please provide `sideCar` property to import the right car") + var o = e.read() + if (!o) throw new Error("Sidecar medium not found") + return k.createElement(o, zl({}, n)) +} +xot.isSideCarExport = !0 +function dEt(t, e) { + return t.useMedium(e), xot +} +var wot = cEt(), + nP = function () {}, + mC = k.forwardRef(function (t, e) { + var n = k.useRef(null), + o = k.useState({ onScrollCapture: nP, onWheelCapture: nP, onTouchMoveCapture: nP }), + r = o[0], + i = o[1], + s = t.forwardProps, + a = t.children, + c = t.className, + d = t.removeScrollBar, + u = t.enabled, + m = t.shards, + f = t.sideCar, + g = t.noIsolation, + b = t.inert, + v = t.allowPinchZoom, + w = t.as, + _ = w === void 0 ? "div" : w, + y = t.gapMode, + C = TW(t, [ + "forwardProps", + "children", + "className", + "removeScrollBar", + "enabled", + "shards", + "sideCar", + "noIsolation", + "inert", + "allowPinchZoom", + "as", + "gapMode", + ]), + S = f, + P = sEt([n, e]), + R = zl(zl({}, C), r) + return k.createElement( + k.Fragment, + null, + u && + k.createElement(S, { + sideCar: wot, + removeScrollBar: d, + shards: m, + noIsolation: g, + inert: b, + setCallbacks: i, + allowPinchZoom: !!v, + lockRef: n, + gapMode: y, + }), + s + ? k.cloneElement(k.Children.only(a), zl(zl({}, R), { ref: P })) + : k.createElement(_, zl({}, R, { className: c, ref: P }), a), + ) + }) +mC.defaultProps = { enabled: !0, removeScrollBar: !0, inert: !1 } +mC.classNames = { fullWidth: Fx, zeroRight: Ox } +var uEt = function () { + if (typeof __webpack_nonce__ < "u") return __webpack_nonce__ +} +function pEt() { + if (!document) return null + var t = document.createElement("style") + t.type = "text/css" + var e = uEt() + return e && t.setAttribute("nonce", e), t +} +function mEt(t, e) { + t.styleSheet ? (t.styleSheet.cssText = e) : t.appendChild(document.createTextNode(e)) +} +function hEt(t) { + var e = document.head || document.getElementsByTagName("head")[0] + e.appendChild(t) +} +var fEt = function () { + var t = 0, + e = null + return { + add: function (n) { + t == 0 && (e = pEt()) && (mEt(e, n), hEt(e)), t++ + }, + remove: function () { + t--, !t && e && (e.parentNode && e.parentNode.removeChild(e), (e = null)) + }, + } + }, + gEt = function () { + var t = fEt() + return function (e, n) { + k.useEffect( + function () { + return ( + t.add(e), + function () { + t.remove() + } + ) + }, + [e && n], + ) + } + }, + _ot = function () { + var t = gEt(), + e = function (n) { + var o = n.styles, + r = n.dynamic + return t(o, r), null + } + return e + }, + vEt = { left: 0, top: 0, right: 0, gap: 0 }, + oP = function (t) { + return parseInt(t || "", 10) || 0 + }, + bEt = function (t) { + var e = window.getComputedStyle(document.body), + n = e[t === "padding" ? "paddingLeft" : "marginLeft"], + o = e[t === "padding" ? "paddingTop" : "marginTop"], + r = e[t === "padding" ? "paddingRight" : "marginRight"] + return [oP(n), oP(o), oP(r)] + }, + yEt = function (t) { + if ((t === void 0 && (t = "margin"), typeof window > "u")) return vEt + var e = bEt(t), + n = document.documentElement.clientWidth, + o = window.innerWidth + return { left: e[0], top: e[1], right: e[2], gap: Math.max(0, o - n + e[2] - e[0]) } + }, + kEt = _ot(), + fh = "data-scroll-locked", + xEt = function (t, e, n, o) { + var r = t.left, + i = t.top, + s = t.right, + a = t.gap + return ( + n === void 0 && (n = "margin"), + ` + .` + .concat( + nEt, + ` { + overflow: hidden `, + ) + .concat( + o, + `; + padding-right: `, + ) + .concat(a, "px ") + .concat( + o, + `; + } + body[`, + ) + .concat( + fh, + `] { + overflow: hidden `, + ) + .concat( + o, + `; + overscroll-behavior: contain; + `, + ) + .concat( + [ + e && "position: relative ".concat(o, ";"), + n === "margin" && + ` + padding-left: ` + .concat( + r, + `px; + padding-top: `, + ) + .concat( + i, + `px; + padding-right: `, + ) + .concat( + s, + `px; + margin-left:0; + margin-top:0; + margin-right: `, + ) + .concat(a, "px ") + .concat( + o, + `; + `, + ), + n === "padding" && "padding-right: ".concat(a, "px ").concat(o, ";"), + ] + .filter(Boolean) + .join(""), + ` + } + + .`, + ) + .concat( + Ox, + ` { + right: `, + ) + .concat(a, "px ") + .concat( + o, + `; + } + + .`, + ) + .concat( + Fx, + ` { + margin-right: `, + ) + .concat(a, "px ") + .concat( + o, + `; + } + + .`, + ) + .concat(Ox, " .") + .concat( + Ox, + ` { + right: 0 `, + ) + .concat( + o, + `; + } + + .`, + ) + .concat(Fx, " .") + .concat( + Fx, + ` { + margin-right: 0 `, + ) + .concat( + o, + `; + } + + body[`, + ) + .concat( + fh, + `] { + `, + ) + .concat(oEt, ": ") + .concat( + a, + `px; + } +`, + ) + ) + }, + dB = function () { + var t = parseInt(document.body.getAttribute(fh) || "0", 10) + return isFinite(t) ? t : 0 + }, + wEt = function () { + k.useEffect(function () { + return ( + document.body.setAttribute(fh, (dB() + 1).toString()), + function () { + var t = dB() - 1 + t <= 0 ? document.body.removeAttribute(fh) : document.body.setAttribute(fh, t.toString()) + } + ) + }, []) + }, + _Et = function (t) { + var e = t.noRelative, + n = t.noImportant, + o = t.gapMode, + r = o === void 0 ? "margin" : o + wEt() + var i = k.useMemo( + function () { + return yEt(r) + }, + [r], + ) + return k.createElement(kEt, { styles: xEt(i, !e, r, n ? "" : "!important") }) + }, + vM = !1 +if (typeof window < "u") + try { + var Kk = Object.defineProperty({}, "passive", { + get: function () { + return (vM = !0), !0 + }, + }) + window.addEventListener("test", Kk, Kk), window.removeEventListener("test", Kk, Kk) + } catch { + vM = !1 + } +var Tm = vM ? { passive: !1 } : !1, + CEt = function (t) { + return t.tagName === "TEXTAREA" + }, + Cot = function (t, e) { + if (!(t instanceof Element)) return !1 + var n = window.getComputedStyle(t) + return n[e] !== "hidden" && !(n.overflowY === n.overflowX && !CEt(t) && n[e] === "visible") + }, + SEt = function (t) { + return Cot(t, "overflowY") + }, + AEt = function (t) { + return Cot(t, "overflowX") + }, + uB = function (t, e) { + var n = e.ownerDocument, + o = e + do { + typeof ShadowRoot < "u" && o instanceof ShadowRoot && (o = o.host) + var r = Sot(t, o) + if (r) { + var i = Aot(t, o), + s = i[1], + a = i[2] + if (s > a) return !0 + } + o = o.parentNode + } while (o && o !== n.body) + return !1 + }, + PEt = function (t) { + var e = t.scrollTop, + n = t.scrollHeight, + o = t.clientHeight + return [e, n, o] + }, + REt = function (t) { + var e = t.scrollLeft, + n = t.scrollWidth, + o = t.clientWidth + return [e, n, o] + }, + Sot = function (t, e) { + return t === "v" ? SEt(e) : AEt(e) + }, + Aot = function (t, e) { + return t === "v" ? PEt(e) : REt(e) + }, + TEt = function (t, e) { + return t === "h" && e === "rtl" ? -1 : 1 + }, + IEt = function (t, e, n, o, r) { + var i = TEt(t, window.getComputedStyle(e).direction), + s = i * o, + a = n.target, + c = e.contains(a), + d = !1, + u = s > 0, + m = 0, + f = 0 + do { + var g = Aot(t, a), + b = g[0], + v = g[1], + w = g[2], + _ = v - w - i * b + ;(b || _) && Sot(t, a) && ((m += _), (f += b)), a instanceof ShadowRoot ? (a = a.host) : (a = a.parentNode) + } while ((!c && a !== document.body) || (c && (e.contains(a) || e === a))) + return ((u && Math.abs(m) < 1) || (!u && Math.abs(f) < 1)) && (d = !0), d + }, + Vk = function (t) { + return "changedTouches" in t ? [t.changedTouches[0].clientX, t.changedTouches[0].clientY] : [0, 0] + }, + pB = function (t) { + return [t.deltaX, t.deltaY] + }, + mB = function (t) { + return t && "current" in t ? t.current : t + }, + MEt = function (t, e) { + return t[0] === e[0] && t[1] === e[1] + }, + jEt = function (t) { + return ` + .block-interactivity-` + .concat( + t, + ` {pointer-events: none;} + .allow-interactivity-`, + ) + .concat( + t, + ` {pointer-events: all;} +`, + ) + }, + EEt = 0, + Im = [] +function zEt(t) { + var e = k.useRef([]), + n = k.useRef([0, 0]), + o = k.useRef(), + r = k.useState(EEt++)[0], + i = k.useState(_ot)[0], + s = k.useRef(t) + k.useEffect( + function () { + s.current = t + }, + [t], + ), + k.useEffect( + function () { + if (t.inert) { + document.body.classList.add("block-interactivity-".concat(r)) + var v = sht([t.lockRef.current], (t.shards || []).map(mB), !0).filter(Boolean) + return ( + v.forEach(function (w) { + return w.classList.add("allow-interactivity-".concat(r)) + }), + function () { + document.body.classList.remove("block-interactivity-".concat(r)), + v.forEach(function (w) { + return w.classList.remove("allow-interactivity-".concat(r)) + }) + } + ) + } + }, + [t.inert, t.lockRef.current, t.shards], + ) + var a = k.useCallback(function (v, w) { + if (("touches" in v && v.touches.length === 2) || (v.type === "wheel" && v.ctrlKey)) + return !s.current.allowPinchZoom + var _ = Vk(v), + y = n.current, + C = "deltaX" in v ? v.deltaX : y[0] - _[0], + S = "deltaY" in v ? v.deltaY : y[1] - _[1], + P, + R = v.target, + T = Math.abs(C) > Math.abs(S) ? "h" : "v" + if ("touches" in v && T === "h" && R.type === "range") return !1 + var E = uB(T, R) + if (!E) return !0 + if ((E ? (P = T) : ((P = T === "v" ? "h" : "v"), (E = uB(T, R))), !E)) return !1 + if ((!o.current && "changedTouches" in v && (C || S) && (o.current = P), !P)) return !0 + var $ = o.current || P + return IEt($, w, v, $ === "h" ? C : S) + }, []), + c = k.useCallback(function (v) { + var w = v + if (!(!Im.length || Im[Im.length - 1] !== i)) { + var _ = "deltaY" in w ? pB(w) : Vk(w), + y = e.current.filter(function (P) { + return ( + P.name === w.type && + (P.target === w.target || w.target === P.shadowParent) && + MEt(P.delta, _) + ) + })[0] + if (y && y.should) { + w.cancelable && w.preventDefault() + return + } + if (!y) { + var C = (s.current.shards || []) + .map(mB) + .filter(Boolean) + .filter(function (P) { + return P.contains(w.target) + }), + S = C.length > 0 ? a(w, C[0]) : !s.current.noIsolation + S && w.cancelable && w.preventDefault() + } + } + }, []), + d = k.useCallback(function (v, w, _, y) { + var C = { name: v, delta: w, target: _, should: y, shadowParent: $Et(_) } + e.current.push(C), + setTimeout(function () { + e.current = e.current.filter(function (S) { + return S !== C + }) + }, 1) + }, []), + u = k.useCallback(function (v) { + ;(n.current = Vk(v)), (o.current = void 0) + }, []), + m = k.useCallback(function (v) { + d(v.type, pB(v), v.target, a(v, t.lockRef.current)) + }, []), + f = k.useCallback(function (v) { + d(v.type, Vk(v), v.target, a(v, t.lockRef.current)) + }, []) + k.useEffect(function () { + return ( + Im.push(i), + t.setCallbacks({ onScrollCapture: m, onWheelCapture: m, onTouchMoveCapture: f }), + document.addEventListener("wheel", c, Tm), + document.addEventListener("touchmove", c, Tm), + document.addEventListener("touchstart", u, Tm), + function () { + ;(Im = Im.filter(function (v) { + return v !== i + })), + document.removeEventListener("wheel", c, Tm), + document.removeEventListener("touchmove", c, Tm), + document.removeEventListener("touchstart", u, Tm) + } + ) + }, []) + var g = t.removeScrollBar, + b = t.inert + return k.createElement( + k.Fragment, + null, + b ? k.createElement(i, { styles: jEt(r) }) : null, + g ? k.createElement(_Et, { gapMode: t.gapMode }) : null, + ) +} +function $Et(t) { + for (var e = null; t !== null; ) t instanceof ShadowRoot && ((e = t.host), (t = t.host)), (t = t.parentNode) + return e +} +const LEt = dEt(wot, zEt) +var Gb = k.forwardRef(function (t, e) { + return k.createElement(mC, zl({}, t, { ref: e, sideCar: LEt })) +}) +Gb.classNames = mC.classNames +var DEt = function (t) { + if (typeof document > "u") return null + var e = Array.isArray(t) ? t[0] : t + return e.ownerDocument.body + }, + Mm = new WeakMap(), + Hk = new WeakMap(), + Gk = {}, + rP = 0, + Pot = function (t) { + return t && (t.host || Pot(t.parentNode)) + }, + NEt = function (t, e) { + return e + .map(function (n) { + if (t.contains(n)) return n + var o = Pot(n) + return o && t.contains(o) + ? o + : (console.error("aria-hidden", n, "in not contained inside", t, ". Doing nothing"), null) + }) + .filter(function (n) { + return !!n + }) + }, + OEt = function (t, e, n, o) { + var r = NEt(e, Array.isArray(t) ? t : [t]) + Gk[n] || (Gk[n] = new WeakMap()) + var i = Gk[n], + s = [], + a = new Set(), + c = new Set(r), + d = function (m) { + !m || a.has(m) || (a.add(m), d(m.parentNode)) + } + r.forEach(d) + var u = function (m) { + !m || + c.has(m) || + Array.prototype.forEach.call(m.children, function (f) { + if (a.has(f)) u(f) + else + try { + var g = f.getAttribute(o), + b = g !== null && g !== "false", + v = (Mm.get(f) || 0) + 1, + w = (i.get(f) || 0) + 1 + Mm.set(f, v), + i.set(f, w), + s.push(f), + v === 1 && b && Hk.set(f, !0), + w === 1 && f.setAttribute(n, "true"), + b || f.setAttribute(o, "true") + } catch (_) { + console.error("aria-hidden: cannot operate on ", f, _) + } + }) + } + return ( + u(e), + a.clear(), + rP++, + function () { + s.forEach(function (m) { + var f = Mm.get(m) - 1, + g = i.get(m) - 1 + Mm.set(m, f), + i.set(m, g), + f || (Hk.has(m) || m.removeAttribute(o), Hk.delete(m)), + g || m.removeAttribute(n) + }), + rP--, + rP || ((Mm = new WeakMap()), (Mm = new WeakMap()), (Hk = new WeakMap()), (Gk = {})) + } + ) + }, + hC = function (t, e, n) { + n === void 0 && (n = "data-aria-hidden") + var o = Array.from(Array.isArray(t) ? t : [t]), + r = DEt(t) + return r + ? (o.push.apply(o, Array.from(r.querySelectorAll("[aria-live]"))), OEt(o, r, n, "aria-hidden")) + : function () { + return null + } + }, + fC = "Dialog", + [Rot, Tot] = hs(fC), + [FEt, cl] = Rot(fC), + Iot = (t) => { + const { __scopeDialog: e, children: n, open: o, defaultOpen: r, onOpenChange: i, modal: s = !0 } = t, + a = k.useRef(null), + c = k.useRef(null), + [d, u] = Ic({ prop: o, defaultProp: r ?? !1, onChange: i, caller: fC }) + return l.jsx(FEt, { + scope: e, + triggerRef: a, + contentRef: c, + contentId: bi(), + titleId: bi(), + descriptionId: bi(), + open: d, + onOpenChange: u, + onOpenToggle: k.useCallback(() => u((m) => !m), [u]), + modal: s, + children: n, + }) + } +Iot.displayName = fC +var Mot = "DialogTrigger", + jot = k.forwardRef((t, e) => { + const { __scopeDialog: n, ...o } = t, + r = cl(Mot, n), + i = cn(e, r.triggerRef) + return l.jsx(Mt.button, { + type: "button", + "aria-haspopup": "dialog", + "aria-expanded": r.open, + "aria-controls": r.contentId, + "data-state": HE(r.open), + ...o, + ref: i, + onClick: rt(t.onClick, r.onOpenToggle), + }) + }) +jot.displayName = Mot +var KE = "DialogPortal", + [BEt, Eot] = Rot(KE, { forceMount: void 0 }), + zot = (t) => { + const { __scopeDialog: e, forceMount: n, children: o, container: r } = t, + i = cl(KE, e) + return l.jsx(BEt, { + scope: e, + forceMount: n, + children: k.Children.map(o, (s) => + l.jsx(fs, { present: n || i.open, children: l.jsx(Sf, { asChild: !0, container: r, children: s }) }), + ), + }) + } +zot.displayName = KE +var Yw = "DialogOverlay", + $ot = k.forwardRef((t, e) => { + const n = Eot(Yw, t.__scopeDialog), + { forceMount: o = n.forceMount, ...r } = t, + i = cl(Yw, t.__scopeDialog) + return i.modal ? l.jsx(fs, { present: o || i.open, children: l.jsx(qEt, { ...r, ref: e }) }) : null + }) +$ot.displayName = Yw +var UEt = Jd("DialogOverlay.RemoveScroll"), + qEt = k.forwardRef((t, e) => { + const { __scopeDialog: n, ...o } = t, + r = cl(Yw, n) + return l.jsx(Gb, { + as: UEt, + allowPinchZoom: !0, + shards: [r.contentRef], + children: l.jsx(Mt.div, { + "data-state": HE(r.open), + ...o, + ref: e, + style: { pointerEvents: "auto", ...o.style }, + }), + }) + }), + Dp = "DialogContent", + Lot = k.forwardRef((t, e) => { + const n = Eot(Dp, t.__scopeDialog), + { forceMount: o = n.forceMount, ...r } = t, + i = cl(Dp, t.__scopeDialog) + return l.jsx(fs, { + present: o || i.open, + children: i.modal ? l.jsx(WEt, { ...r, ref: e }) : l.jsx(KEt, { ...r, ref: e }), + }) + }) +Lot.displayName = Dp +var WEt = k.forwardRef((t, e) => { + const n = cl(Dp, t.__scopeDialog), + o = k.useRef(null), + r = cn(e, n.contentRef, o) + return ( + k.useEffect(() => { + const i = o.current + if (i) return hC(i) + }, []), + l.jsx(Dot, { + ...t, + ref: r, + trapFocus: n.open, + disableOutsidePointerEvents: !0, + onCloseAutoFocus: rt(t.onCloseAutoFocus, (i) => { + var s + i.preventDefault(), (s = n.triggerRef.current) == null || s.focus() + }), + onPointerDownOutside: rt(t.onPointerDownOutside, (i) => { + const s = i.detail.originalEvent, + a = s.button === 0 && s.ctrlKey === !0 + ;(s.button === 2 || a) && i.preventDefault() + }), + onFocusOutside: rt(t.onFocusOutside, (i) => i.preventDefault()), + }) + ) + }), + KEt = k.forwardRef((t, e) => { + const n = cl(Dp, t.__scopeDialog), + o = k.useRef(!1), + r = k.useRef(!1) + return l.jsx(Dot, { + ...t, + ref: e, + trapFocus: !1, + disableOutsidePointerEvents: !1, + onCloseAutoFocus: (i) => { + var s, a + ;(s = t.onCloseAutoFocus) == null || s.call(t, i), + i.defaultPrevented || + (o.current || (a = n.triggerRef.current) == null || a.focus(), i.preventDefault()), + (o.current = !1), + (r.current = !1) + }, + onInteractOutside: (i) => { + var c, d + ;(c = t.onInteractOutside) == null || c.call(t, i), + i.defaultPrevented || + ((o.current = !0), i.detail.originalEvent.type === "pointerdown" && (r.current = !0)) + const s = i.target + ;((d = n.triggerRef.current) == null ? void 0 : d.contains(s)) && i.preventDefault(), + i.detail.originalEvent.type === "focusin" && r.current && i.preventDefault() + }, + }) + }), + Dot = k.forwardRef((t, e) => { + const { __scopeDialog: n, trapFocus: o, onOpenAutoFocus: r, onCloseAutoFocus: i, ...s } = t, + a = cl(Dp, n), + c = k.useRef(null), + d = cn(e, c) + return ( + pC(), + l.jsxs(l.Fragment, { + children: [ + l.jsx(Hb, { + asChild: !0, + loop: !0, + trapped: o, + onMountAutoFocus: r, + onUnmountAutoFocus: i, + children: l.jsx(Cf, { + role: "dialog", + id: a.contentId, + "aria-describedby": a.descriptionId, + "aria-labelledby": a.titleId, + "data-state": HE(a.open), + ...s, + ref: d, + onDismiss: () => a.onOpenChange(!1), + }), + }), + l.jsxs(l.Fragment, { + children: [ + l.jsx(HEt, { titleId: a.titleId }), + l.jsx(QEt, { contentRef: c, descriptionId: a.descriptionId }), + ], + }), + ], + }) + ) + }), + VE = "DialogTitle", + Not = k.forwardRef((t, e) => { + const { __scopeDialog: n, ...o } = t, + r = cl(VE, n) + return l.jsx(Mt.h2, { id: r.titleId, ...o, ref: e }) + }) +Not.displayName = VE +var Oot = "DialogDescription", + Fot = k.forwardRef((t, e) => { + const { __scopeDialog: n, ...o } = t, + r = cl(Oot, n) + return l.jsx(Mt.p, { id: r.descriptionId, ...o, ref: e }) + }) +Fot.displayName = Oot +var Bot = "DialogClose", + Uot = k.forwardRef((t, e) => { + const { __scopeDialog: n, ...o } = t, + r = cl(Bot, n) + return l.jsx(Mt.button, { type: "button", ...o, ref: e, onClick: rt(t.onClick, () => r.onOpenChange(!1)) }) + }) +Uot.displayName = Bot +function HE(t) { + return t ? "open" : "closed" +} +var qot = "DialogTitleWarning", + [VEt, Wot] = Cjt(qot, { contentName: Dp, titleName: VE, docsSlug: "dialog" }), + HEt = ({ titleId: t }) => { + const e = Wot(qot), + n = `\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component. + +For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}` + return ( + k.useEffect(() => { + t && (document.getElementById(t) || console.error(n)) + }, [n, t]), + null + ) + }, + GEt = "DialogDescriptionWarning", + QEt = ({ contentRef: t, descriptionId: e }) => { + const o = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Wot(GEt).contentName}}.` + return ( + k.useEffect(() => { + var i + const r = (i = t.current) == null ? void 0 : i.getAttribute("aria-describedby") + e && r && (document.getElementById(e) || console.warn(o)) + }, [o, t, e]), + null + ) + }, + GE = Iot, + ZEt = jot, + QE = zot, + ZE = $ot, + YE = Lot, + Kot = Not, + Vot = Fot, + XE = Uot, + Hot = "AlertDialog", + [YEt, Otn] = hs(Hot, [Tot]), + Wc = Tot(), + Got = (t) => { + const { __scopeAlertDialog: e, ...n } = t, + o = Wc(e) + return l.jsx(GE, { ...o, ...n, modal: !0 }) + } +Got.displayName = Hot +var XEt = "AlertDialogTrigger", + Qot = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, ...o } = t, + r = Wc(n) + return l.jsx(ZEt, { ...r, ...o, ref: e }) + }) +Qot.displayName = XEt +var JEt = "AlertDialogPortal", + Zot = (t) => { + const { __scopeAlertDialog: e, ...n } = t, + o = Wc(e) + return l.jsx(QE, { ...o, ...n }) + } +Zot.displayName = JEt +var ezt = "AlertDialogOverlay", + Yot = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, ...o } = t, + r = Wc(n) + return l.jsx(ZE, { ...r, ...o, ref: e }) + }) +Yot.displayName = ezt +var gh = "AlertDialogContent", + [tzt, nzt] = YEt(gh), + ozt = got("AlertDialogContent"), + Xot = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, children: o, ...r } = t, + i = Wc(n), + s = k.useRef(null), + a = cn(e, s), + c = k.useRef(null) + return l.jsx(VEt, { + contentName: gh, + titleName: Jot, + docsSlug: "alert-dialog", + children: l.jsx(tzt, { + scope: n, + cancelRef: c, + children: l.jsxs(YE, { + role: "alertdialog", + ...i, + ...r, + ref: a, + onOpenAutoFocus: rt(r.onOpenAutoFocus, (d) => { + var u + d.preventDefault(), (u = c.current) == null || u.focus({ preventScroll: !0 }) + }), + onPointerDownOutside: (d) => d.preventDefault(), + onInteractOutside: (d) => d.preventDefault(), + children: [l.jsx(ozt, { children: o }), l.jsx(izt, { contentRef: s })], + }), + }), + }) + }) +Xot.displayName = gh +var Jot = "AlertDialogTitle", + ert = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, ...o } = t, + r = Wc(n) + return l.jsx(Kot, { ...r, ...o, ref: e }) + }) +ert.displayName = Jot +var trt = "AlertDialogDescription", + nrt = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, ...o } = t, + r = Wc(n) + return l.jsx(Vot, { ...r, ...o, ref: e }) + }) +nrt.displayName = trt +var rzt = "AlertDialogAction", + ort = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, ...o } = t, + r = Wc(n) + return l.jsx(XE, { ...r, ...o, ref: e }) + }) +ort.displayName = rzt +var rrt = "AlertDialogCancel", + irt = k.forwardRef((t, e) => { + const { __scopeAlertDialog: n, ...o } = t, + { cancelRef: r } = nzt(rrt, n), + i = Wc(n), + s = cn(e, r) + return l.jsx(XE, { ...i, ...o, ref: s }) + }) +irt.displayName = rrt +var izt = ({ contentRef: t }) => { + const e = `\`${gh}\` requires a description for the component to be accessible for screen reader users. + +You can add a description to the \`${gh}\` by passing a \`${trt}\` component as a child, which also benefits sighted users by adding visible context to the dialog. + +Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${gh}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. + +For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog` + return ( + k.useEffect(() => { + var o + document.getElementById((o = t.current) == null ? void 0 : o.getAttribute("aria-describedby")) || + console.warn(e) + }, [e, t]), + null + ) + }, + szt = Got, + azt = Qot, + lzt = Zot, + czt = Yot, + dzt = Xot, + uzt = ort, + pzt = irt, + mzt = ert, + hzt = nrt +function srt(t) { + var e, + n, + o = "" + if (typeof t == "string" || typeof t == "number") o += t + else if (typeof t == "object") + if (Array.isArray(t)) { + var r = t.length + for (e = 0; e < r; e++) t[e] && (n = srt(t[e])) && (o && (o += " "), (o += n)) + } else for (n in t) t[n] && (o && (o += " "), (o += n)) + return o +} +function art() { + for (var t, e, n = 0, o = "", r = arguments.length; n < r; n++) + (t = arguments[n]) && (e = srt(t)) && (o && (o += " "), (o += e)) + return o +} +const JE = "-", + fzt = (t) => { + const e = vzt(t), + { conflictingClassGroups: n, conflictingClassGroupModifiers: o } = t + return { + getClassGroupId: (s) => { + const a = s.split(JE) + return a[0] === "" && a.length !== 1 && a.shift(), lrt(a, e) || gzt(s) + }, + getConflictingClassGroupIds: (s, a) => { + const c = n[s] || [] + return a && o[s] ? [...c, ...o[s]] : c + }, + } + }, + lrt = (t, e) => { + var s + if (t.length === 0) return e.classGroupId + const n = t[0], + o = e.nextPart.get(n), + r = o ? lrt(t.slice(1), o) : void 0 + if (r) return r + if (e.validators.length === 0) return + const i = t.join(JE) + return (s = e.validators.find(({ validator: a }) => a(i))) == null ? void 0 : s.classGroupId + }, + hB = /^\[(.+)\]$/, + gzt = (t) => { + if (hB.test(t)) { + const e = hB.exec(t)[1], + n = e == null ? void 0 : e.substring(0, e.indexOf(":")) + if (n) return "arbitrary.." + n + } + }, + vzt = (t) => { + const { theme: e, classGroups: n } = t, + o = { nextPart: new Map(), validators: [] } + for (const r in n) bM(n[r], o, r, e) + return o + }, + bM = (t, e, n, o) => { + t.forEach((r) => { + if (typeof r == "string") { + const i = r === "" ? e : fB(e, r) + i.classGroupId = n + return + } + if (typeof r == "function") { + if (bzt(r)) { + bM(r(o), e, n, o) + return + } + e.validators.push({ validator: r, classGroupId: n }) + return + } + Object.entries(r).forEach(([i, s]) => { + bM(s, fB(e, i), n, o) + }) + }) + }, + fB = (t, e) => { + let n = t + return ( + e.split(JE).forEach((o) => { + n.nextPart.has(o) || n.nextPart.set(o, { nextPart: new Map(), validators: [] }), (n = n.nextPart.get(o)) + }), + n + ) + }, + bzt = (t) => t.isThemeGetter, + yzt = (t) => { + if (t < 1) return { get: () => {}, set: () => {} } + let e = 0, + n = new Map(), + o = new Map() + const r = (i, s) => { + n.set(i, s), e++, e > t && ((e = 0), (o = n), (n = new Map())) + } + return { + get(i) { + let s = n.get(i) + if (s !== void 0) return s + if ((s = o.get(i)) !== void 0) return r(i, s), s + }, + set(i, s) { + n.has(i) ? n.set(i, s) : r(i, s) + }, + } + }, + yM = "!", + kM = ":", + kzt = kM.length, + xzt = (t) => { + const { prefix: e, experimentalParseClassName: n } = t + let o = (r) => { + const i = [] + let s = 0, + a = 0, + c = 0, + d + for (let b = 0; b < r.length; b++) { + let v = r[b] + if (s === 0 && a === 0) { + if (v === kM) { + i.push(r.slice(c, b)), (c = b + kzt) + continue + } + if (v === "/") { + d = b + continue + } + } + v === "[" ? s++ : v === "]" ? s-- : v === "(" ? a++ : v === ")" && a-- + } + const u = i.length === 0 ? r : r.substring(c), + m = wzt(u), + f = m !== u, + g = d && d > c ? d - c : void 0 + return { modifiers: i, hasImportantModifier: f, baseClassName: m, maybePostfixModifierPosition: g } + } + if (e) { + const r = e + kM, + i = o + o = (s) => + s.startsWith(r) + ? i(s.substring(r.length)) + : { + isExternal: !0, + modifiers: [], + hasImportantModifier: !1, + baseClassName: s, + maybePostfixModifierPosition: void 0, + } + } + if (n) { + const r = o + o = (i) => n({ className: i, parseClassName: r }) + } + return o + }, + wzt = (t) => (t.endsWith(yM) ? t.substring(0, t.length - 1) : t.startsWith(yM) ? t.substring(1) : t), + _zt = (t) => { + const e = Object.fromEntries(t.orderSensitiveModifiers.map((o) => [o, !0])) + return (o) => { + if (o.length <= 1) return o + const r = [] + let i = [] + return ( + o.forEach((s) => { + s[0] === "[" || e[s] ? (r.push(...i.sort(), s), (i = [])) : i.push(s) + }), + r.push(...i.sort()), + r + ) + } + }, + Czt = (t) => ({ cache: yzt(t.cacheSize), parseClassName: xzt(t), sortModifiers: _zt(t), ...fzt(t) }), + Szt = /\s+/, + Azt = (t, e) => { + const { parseClassName: n, getClassGroupId: o, getConflictingClassGroupIds: r, sortModifiers: i } = e, + s = [], + a = t.trim().split(Szt) + let c = "" + for (let d = a.length - 1; d >= 0; d -= 1) { + const u = a[d], + { + isExternal: m, + modifiers: f, + hasImportantModifier: g, + baseClassName: b, + maybePostfixModifierPosition: v, + } = n(u) + if (m) { + c = u + (c.length > 0 ? " " + c : c) + continue + } + let w = !!v, + _ = o(w ? b.substring(0, v) : b) + if (!_) { + if (!w) { + c = u + (c.length > 0 ? " " + c : c) + continue + } + if (((_ = o(b)), !_)) { + c = u + (c.length > 0 ? " " + c : c) + continue + } + w = !1 + } + const y = i(f).join(":"), + C = g ? y + yM : y, + S = C + _ + if (s.includes(S)) continue + s.push(S) + const P = r(_, w) + for (let R = 0; R < P.length; ++R) { + const T = P[R] + s.push(C + T) + } + c = u + (c.length > 0 ? " " + c : c) + } + return c + } +function Pzt() { + let t = 0, + e, + n, + o = "" + for (; t < arguments.length; ) (e = arguments[t++]) && (n = crt(e)) && (o && (o += " "), (o += n)) + return o +} +const crt = (t) => { + if (typeof t == "string") return t + let e, + n = "" + for (let o = 0; o < t.length; o++) t[o] && (e = crt(t[o])) && (n && (n += " "), (n += e)) + return n +} +function Rzt(t, ...e) { + let n, + o, + r, + i = s + function s(c) { + const d = e.reduce((u, m) => m(u), t()) + return (n = Czt(d)), (o = n.cache.get), (r = n.cache.set), (i = a), a(c) + } + function a(c) { + const d = o(c) + if (d) return d + const u = Azt(c, n) + return r(c, u), u + } + return function () { + return i(Pzt.apply(null, arguments)) + } +} +const fr = (t) => { + const e = (n) => n[t] || [] + return (e.isThemeGetter = !0), e + }, + drt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, + urt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, + Tzt = /^\d+\/\d+$/, + Izt = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, + Mzt = + /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, + jzt = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, + Ezt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, + zzt = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, + jm = (t) => Tzt.test(t), + xn = (t) => !!t && !Number.isNaN(Number(t)), + fd = (t) => !!t && Number.isInteger(Number(t)), + iP = (t) => t.endsWith("%") && xn(t.slice(0, -1)), + sc = (t) => Izt.test(t), + $zt = () => !0, + Lzt = (t) => Mzt.test(t) && !jzt.test(t), + prt = () => !1, + Dzt = (t) => Ezt.test(t), + Nzt = (t) => zzt.test(t), + Ozt = (t) => !xt(t) && !wt(t), + Fzt = (t) => Af(t, frt, prt), + xt = (t) => drt.test(t), + Hu = (t) => Af(t, grt, Lzt), + sP = (t) => Af(t, Kzt, xn), + gB = (t) => Af(t, mrt, prt), + Bzt = (t) => Af(t, hrt, Nzt), + Qk = (t) => Af(t, vrt, Dzt), + wt = (t) => urt.test(t), + qg = (t) => Pf(t, grt), + Uzt = (t) => Pf(t, Vzt), + vB = (t) => Pf(t, mrt), + qzt = (t) => Pf(t, frt), + Wzt = (t) => Pf(t, hrt), + Zk = (t) => Pf(t, vrt, !0), + Af = (t, e, n) => { + const o = drt.exec(t) + return o ? (o[1] ? e(o[1]) : n(o[2])) : !1 + }, + Pf = (t, e, n = !1) => { + const o = urt.exec(t) + return o ? (o[1] ? e(o[1]) : n) : !1 + }, + mrt = (t) => t === "position" || t === "percentage", + hrt = (t) => t === "image" || t === "url", + frt = (t) => t === "length" || t === "size" || t === "bg-size", + grt = (t) => t === "length", + Kzt = (t) => t === "number", + Vzt = (t) => t === "family-name", + vrt = (t) => t === "shadow", + Hzt = () => { + const t = fr("color"), + e = fr("font"), + n = fr("text"), + o = fr("font-weight"), + r = fr("tracking"), + i = fr("leading"), + s = fr("breakpoint"), + a = fr("container"), + c = fr("spacing"), + d = fr("radius"), + u = fr("shadow"), + m = fr("inset-shadow"), + f = fr("text-shadow"), + g = fr("drop-shadow"), + b = fr("blur"), + v = fr("perspective"), + w = fr("aspect"), + _ = fr("ease"), + y = fr("animate"), + C = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], + S = () => [ + "center", + "top", + "bottom", + "left", + "right", + "top-left", + "left-top", + "top-right", + "right-top", + "bottom-right", + "right-bottom", + "bottom-left", + "left-bottom", + ], + P = () => [...S(), wt, xt], + R = () => ["auto", "hidden", "clip", "visible", "scroll"], + T = () => ["auto", "contain", "none"], + E = () => [wt, xt, c], + $ = () => [jm, "full", "auto", ...E()], + j = () => [fd, "none", "subgrid", wt, xt], + L = () => ["auto", { span: ["full", fd, wt, xt] }, fd, wt, xt], + W = () => [fd, "auto", wt, xt], + G = () => ["auto", "min", "max", "fr", wt, xt], + U = () => [ + "start", + "end", + "center", + "between", + "around", + "evenly", + "stretch", + "baseline", + "center-safe", + "end-safe", + ], + Z = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], + V = () => ["auto", ...E()], + X = () => [jm, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...E()], + H = () => [t, wt, xt], + B = () => [...S(), vB, gB, { position: [wt, xt] }], + M = () => ["no-repeat", { repeat: ["", "x", "y", "space", "round"] }], + D = () => ["auto", "cover", "contain", qzt, Fzt, { size: [wt, xt] }], + F = () => [iP, qg, Hu], + N = () => ["", "none", "full", d, wt, xt], + J = () => ["", xn, qg, Hu], + oe = () => ["solid", "dashed", "dotted", "double"], + ae = () => [ + "normal", + "multiply", + "screen", + "overlay", + "darken", + "lighten", + "color-dodge", + "color-burn", + "hard-light", + "soft-light", + "difference", + "exclusion", + "hue", + "saturation", + "color", + "luminosity", + ], + Q = () => [xn, iP, vB, gB], + ee = () => ["", "none", b, wt, xt], + q = () => ["none", xn, wt, xt], + me = () => ["none", xn, wt, xt], + Ce = () => [xn, wt, xt], + ue = () => [jm, "full", ...E()] + return { + cacheSize: 500, + theme: { + animate: ["spin", "ping", "pulse", "bounce"], + aspect: ["video"], + blur: [sc], + breakpoint: [sc], + color: [$zt], + container: [sc], + "drop-shadow": [sc], + ease: ["in", "out", "in-out"], + font: [Ozt], + "font-weight": [ + "thin", + "extralight", + "light", + "normal", + "medium", + "semibold", + "bold", + "extrabold", + "black", + ], + "inset-shadow": [sc], + leading: ["none", "tight", "snug", "normal", "relaxed", "loose"], + perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"], + radius: [sc], + shadow: [sc], + spacing: ["px", xn], + text: [sc], + "text-shadow": [sc], + tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"], + }, + classGroups: { + aspect: [{ aspect: ["auto", "square", jm, xt, wt, w] }], + container: ["container"], + columns: [{ columns: [xn, xt, wt, a] }], + "break-after": [{ "break-after": C() }], + "break-before": [{ "break-before": C() }], + "break-inside": [{ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"] }], + "box-decoration": [{ "box-decoration": ["slice", "clone"] }], + box: [{ box: ["border", "content"] }], + display: [ + "block", + "inline-block", + "inline", + "flex", + "inline-flex", + "table", + "inline-table", + "table-caption", + "table-cell", + "table-column", + "table-column-group", + "table-footer-group", + "table-header-group", + "table-row-group", + "table-row", + "flow-root", + "grid", + "inline-grid", + "contents", + "list-item", + "hidden", + ], + sr: ["sr-only", "not-sr-only"], + float: [{ float: ["right", "left", "none", "start", "end"] }], + clear: [{ clear: ["left", "right", "both", "none", "start", "end"] }], + isolation: ["isolate", "isolation-auto"], + "object-fit": [{ object: ["contain", "cover", "fill", "none", "scale-down"] }], + "object-position": [{ object: P() }], + overflow: [{ overflow: R() }], + "overflow-x": [{ "overflow-x": R() }], + "overflow-y": [{ "overflow-y": R() }], + overscroll: [{ overscroll: T() }], + "overscroll-x": [{ "overscroll-x": T() }], + "overscroll-y": [{ "overscroll-y": T() }], + position: ["static", "fixed", "absolute", "relative", "sticky"], + inset: [{ inset: $() }], + "inset-x": [{ "inset-x": $() }], + "inset-y": [{ "inset-y": $() }], + start: [{ start: $() }], + end: [{ end: $() }], + top: [{ top: $() }], + right: [{ right: $() }], + bottom: [{ bottom: $() }], + left: [{ left: $() }], + visibility: ["visible", "invisible", "collapse"], + z: [{ z: [fd, "auto", wt, xt] }], + basis: [{ basis: [jm, "full", "auto", a, ...E()] }], + "flex-direction": [{ flex: ["row", "row-reverse", "col", "col-reverse"] }], + "flex-wrap": [{ flex: ["nowrap", "wrap", "wrap-reverse"] }], + flex: [{ flex: [xn, jm, "auto", "initial", "none", xt] }], + grow: [{ grow: ["", xn, wt, xt] }], + shrink: [{ shrink: ["", xn, wt, xt] }], + order: [{ order: [fd, "first", "last", "none", wt, xt] }], + "grid-cols": [{ "grid-cols": j() }], + "col-start-end": [{ col: L() }], + "col-start": [{ "col-start": W() }], + "col-end": [{ "col-end": W() }], + "grid-rows": [{ "grid-rows": j() }], + "row-start-end": [{ row: L() }], + "row-start": [{ "row-start": W() }], + "row-end": [{ "row-end": W() }], + "grid-flow": [{ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"] }], + "auto-cols": [{ "auto-cols": G() }], + "auto-rows": [{ "auto-rows": G() }], + gap: [{ gap: E() }], + "gap-x": [{ "gap-x": E() }], + "gap-y": [{ "gap-y": E() }], + "justify-content": [{ justify: [...U(), "normal"] }], + "justify-items": [{ "justify-items": [...Z(), "normal"] }], + "justify-self": [{ "justify-self": ["auto", ...Z()] }], + "align-content": [{ content: ["normal", ...U()] }], + "align-items": [{ items: [...Z(), { baseline: ["", "last"] }] }], + "align-self": [{ self: ["auto", ...Z(), { baseline: ["", "last"] }] }], + "place-content": [{ "place-content": U() }], + "place-items": [{ "place-items": [...Z(), "baseline"] }], + "place-self": [{ "place-self": ["auto", ...Z()] }], + p: [{ p: E() }], + px: [{ px: E() }], + py: [{ py: E() }], + ps: [{ ps: E() }], + pe: [{ pe: E() }], + pt: [{ pt: E() }], + pr: [{ pr: E() }], + pb: [{ pb: E() }], + pl: [{ pl: E() }], + m: [{ m: V() }], + mx: [{ mx: V() }], + my: [{ my: V() }], + ms: [{ ms: V() }], + me: [{ me: V() }], + mt: [{ mt: V() }], + mr: [{ mr: V() }], + mb: [{ mb: V() }], + ml: [{ ml: V() }], + "space-x": [{ "space-x": E() }], + "space-x-reverse": ["space-x-reverse"], + "space-y": [{ "space-y": E() }], + "space-y-reverse": ["space-y-reverse"], + size: [{ size: X() }], + w: [{ w: [a, "screen", ...X()] }], + "min-w": [{ "min-w": [a, "screen", "none", ...X()] }], + "max-w": [{ "max-w": [a, "screen", "none", "prose", { screen: [s] }, ...X()] }], + h: [{ h: ["screen", "lh", ...X()] }], + "min-h": [{ "min-h": ["screen", "lh", "none", ...X()] }], + "max-h": [{ "max-h": ["screen", "lh", ...X()] }], + "font-size": [{ text: ["base", n, qg, Hu] }], + "font-smoothing": ["antialiased", "subpixel-antialiased"], + "font-style": ["italic", "not-italic"], + "font-weight": [{ font: [o, wt, sP] }], + "font-stretch": [ + { + "font-stretch": [ + "ultra-condensed", + "extra-condensed", + "condensed", + "semi-condensed", + "normal", + "semi-expanded", + "expanded", + "extra-expanded", + "ultra-expanded", + iP, + xt, + ], + }, + ], + "font-family": [{ font: [Uzt, xt, e] }], + "fvn-normal": ["normal-nums"], + "fvn-ordinal": ["ordinal"], + "fvn-slashed-zero": ["slashed-zero"], + "fvn-figure": ["lining-nums", "oldstyle-nums"], + "fvn-spacing": ["proportional-nums", "tabular-nums"], + "fvn-fraction": ["diagonal-fractions", "stacked-fractions"], + tracking: [{ tracking: [r, wt, xt] }], + "line-clamp": [{ "line-clamp": [xn, "none", wt, sP] }], + leading: [{ leading: [i, ...E()] }], + "list-image": [{ "list-image": ["none", wt, xt] }], + "list-style-position": [{ list: ["inside", "outside"] }], + "list-style-type": [{ list: ["disc", "decimal", "none", wt, xt] }], + "text-alignment": [{ text: ["left", "center", "right", "justify", "start", "end"] }], + "placeholder-color": [{ placeholder: H() }], + "text-color": [{ text: H() }], + "text-decoration": ["underline", "overline", "line-through", "no-underline"], + "text-decoration-style": [{ decoration: [...oe(), "wavy"] }], + "text-decoration-thickness": [{ decoration: [xn, "from-font", "auto", wt, Hu] }], + "text-decoration-color": [{ decoration: H() }], + "underline-offset": [{ "underline-offset": [xn, "auto", wt, xt] }], + "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"], + "text-overflow": ["truncate", "text-ellipsis", "text-clip"], + "text-wrap": [{ text: ["wrap", "nowrap", "balance", "pretty"] }], + indent: [{ indent: E() }], + "vertical-align": [ + { + align: [ + "baseline", + "top", + "middle", + "bottom", + "text-top", + "text-bottom", + "sub", + "super", + wt, + xt, + ], + }, + ], + whitespace: [{ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"] }], + break: [{ break: ["normal", "words", "all", "keep"] }], + wrap: [{ wrap: ["break-word", "anywhere", "normal"] }], + hyphens: [{ hyphens: ["none", "manual", "auto"] }], + content: [{ content: ["none", wt, xt] }], + "bg-attachment": [{ bg: ["fixed", "local", "scroll"] }], + "bg-clip": [{ "bg-clip": ["border", "padding", "content", "text"] }], + "bg-origin": [{ "bg-origin": ["border", "padding", "content"] }], + "bg-position": [{ bg: B() }], + "bg-repeat": [{ bg: M() }], + "bg-size": [{ bg: D() }], + "bg-image": [ + { + bg: [ + "none", + { + linear: [{ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"] }, fd, wt, xt], + radial: ["", wt, xt], + conic: [fd, wt, xt], + }, + Wzt, + Bzt, + ], + }, + ], + "bg-color": [{ bg: H() }], + "gradient-from-pos": [{ from: F() }], + "gradient-via-pos": [{ via: F() }], + "gradient-to-pos": [{ to: F() }], + "gradient-from": [{ from: H() }], + "gradient-via": [{ via: H() }], + "gradient-to": [{ to: H() }], + rounded: [{ rounded: N() }], + "rounded-s": [{ "rounded-s": N() }], + "rounded-e": [{ "rounded-e": N() }], + "rounded-t": [{ "rounded-t": N() }], + "rounded-r": [{ "rounded-r": N() }], + "rounded-b": [{ "rounded-b": N() }], + "rounded-l": [{ "rounded-l": N() }], + "rounded-ss": [{ "rounded-ss": N() }], + "rounded-se": [{ "rounded-se": N() }], + "rounded-ee": [{ "rounded-ee": N() }], + "rounded-es": [{ "rounded-es": N() }], + "rounded-tl": [{ "rounded-tl": N() }], + "rounded-tr": [{ "rounded-tr": N() }], + "rounded-br": [{ "rounded-br": N() }], + "rounded-bl": [{ "rounded-bl": N() }], + "border-w": [{ border: J() }], + "border-w-x": [{ "border-x": J() }], + "border-w-y": [{ "border-y": J() }], + "border-w-s": [{ "border-s": J() }], + "border-w-e": [{ "border-e": J() }], + "border-w-t": [{ "border-t": J() }], + "border-w-r": [{ "border-r": J() }], + "border-w-b": [{ "border-b": J() }], + "border-w-l": [{ "border-l": J() }], + "divide-x": [{ "divide-x": J() }], + "divide-x-reverse": ["divide-x-reverse"], + "divide-y": [{ "divide-y": J() }], + "divide-y-reverse": ["divide-y-reverse"], + "border-style": [{ border: [...oe(), "hidden", "none"] }], + "divide-style": [{ divide: [...oe(), "hidden", "none"] }], + "border-color": [{ border: H() }], + "border-color-x": [{ "border-x": H() }], + "border-color-y": [{ "border-y": H() }], + "border-color-s": [{ "border-s": H() }], + "border-color-e": [{ "border-e": H() }], + "border-color-t": [{ "border-t": H() }], + "border-color-r": [{ "border-r": H() }], + "border-color-b": [{ "border-b": H() }], + "border-color-l": [{ "border-l": H() }], + "divide-color": [{ divide: H() }], + "outline-style": [{ outline: [...oe(), "none", "hidden"] }], + "outline-offset": [{ "outline-offset": [xn, wt, xt] }], + "outline-w": [{ outline: ["", xn, qg, Hu] }], + "outline-color": [{ outline: H() }], + shadow: [{ shadow: ["", "none", u, Zk, Qk] }], + "shadow-color": [{ shadow: H() }], + "inset-shadow": [{ "inset-shadow": ["none", m, Zk, Qk] }], + "inset-shadow-color": [{ "inset-shadow": H() }], + "ring-w": [{ ring: J() }], + "ring-w-inset": ["ring-inset"], + "ring-color": [{ ring: H() }], + "ring-offset-w": [{ "ring-offset": [xn, Hu] }], + "ring-offset-color": [{ "ring-offset": H() }], + "inset-ring-w": [{ "inset-ring": J() }], + "inset-ring-color": [{ "inset-ring": H() }], + "text-shadow": [{ "text-shadow": ["none", f, Zk, Qk] }], + "text-shadow-color": [{ "text-shadow": H() }], + opacity: [{ opacity: [xn, wt, xt] }], + "mix-blend": [{ "mix-blend": [...ae(), "plus-darker", "plus-lighter"] }], + "bg-blend": [{ "bg-blend": ae() }], + "mask-clip": [ + { "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"] }, + "mask-no-clip", + ], + "mask-composite": [{ mask: ["add", "subtract", "intersect", "exclude"] }], + "mask-image-linear-pos": [{ "mask-linear": [xn] }], + "mask-image-linear-from-pos": [{ "mask-linear-from": Q() }], + "mask-image-linear-to-pos": [{ "mask-linear-to": Q() }], + "mask-image-linear-from-color": [{ "mask-linear-from": H() }], + "mask-image-linear-to-color": [{ "mask-linear-to": H() }], + "mask-image-t-from-pos": [{ "mask-t-from": Q() }], + "mask-image-t-to-pos": [{ "mask-t-to": Q() }], + "mask-image-t-from-color": [{ "mask-t-from": H() }], + "mask-image-t-to-color": [{ "mask-t-to": H() }], + "mask-image-r-from-pos": [{ "mask-r-from": Q() }], + "mask-image-r-to-pos": [{ "mask-r-to": Q() }], + "mask-image-r-from-color": [{ "mask-r-from": H() }], + "mask-image-r-to-color": [{ "mask-r-to": H() }], + "mask-image-b-from-pos": [{ "mask-b-from": Q() }], + "mask-image-b-to-pos": [{ "mask-b-to": Q() }], + "mask-image-b-from-color": [{ "mask-b-from": H() }], + "mask-image-b-to-color": [{ "mask-b-to": H() }], + "mask-image-l-from-pos": [{ "mask-l-from": Q() }], + "mask-image-l-to-pos": [{ "mask-l-to": Q() }], + "mask-image-l-from-color": [{ "mask-l-from": H() }], + "mask-image-l-to-color": [{ "mask-l-to": H() }], + "mask-image-x-from-pos": [{ "mask-x-from": Q() }], + "mask-image-x-to-pos": [{ "mask-x-to": Q() }], + "mask-image-x-from-color": [{ "mask-x-from": H() }], + "mask-image-x-to-color": [{ "mask-x-to": H() }], + "mask-image-y-from-pos": [{ "mask-y-from": Q() }], + "mask-image-y-to-pos": [{ "mask-y-to": Q() }], + "mask-image-y-from-color": [{ "mask-y-from": H() }], + "mask-image-y-to-color": [{ "mask-y-to": H() }], + "mask-image-radial": [{ "mask-radial": [wt, xt] }], + "mask-image-radial-from-pos": [{ "mask-radial-from": Q() }], + "mask-image-radial-to-pos": [{ "mask-radial-to": Q() }], + "mask-image-radial-from-color": [{ "mask-radial-from": H() }], + "mask-image-radial-to-color": [{ "mask-radial-to": H() }], + "mask-image-radial-shape": [{ "mask-radial": ["circle", "ellipse"] }], + "mask-image-radial-size": [ + { "mask-radial": [{ closest: ["side", "corner"], farthest: ["side", "corner"] }] }, + ], + "mask-image-radial-pos": [{ "mask-radial-at": S() }], + "mask-image-conic-pos": [{ "mask-conic": [xn] }], + "mask-image-conic-from-pos": [{ "mask-conic-from": Q() }], + "mask-image-conic-to-pos": [{ "mask-conic-to": Q() }], + "mask-image-conic-from-color": [{ "mask-conic-from": H() }], + "mask-image-conic-to-color": [{ "mask-conic-to": H() }], + "mask-mode": [{ mask: ["alpha", "luminance", "match"] }], + "mask-origin": [{ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"] }], + "mask-position": [{ mask: B() }], + "mask-repeat": [{ mask: M() }], + "mask-size": [{ mask: D() }], + "mask-type": [{ "mask-type": ["alpha", "luminance"] }], + "mask-image": [{ mask: ["none", wt, xt] }], + filter: [{ filter: ["", "none", wt, xt] }], + blur: [{ blur: ee() }], + brightness: [{ brightness: [xn, wt, xt] }], + contrast: [{ contrast: [xn, wt, xt] }], + "drop-shadow": [{ "drop-shadow": ["", "none", g, Zk, Qk] }], + "drop-shadow-color": [{ "drop-shadow": H() }], + grayscale: [{ grayscale: ["", xn, wt, xt] }], + "hue-rotate": [{ "hue-rotate": [xn, wt, xt] }], + invert: [{ invert: ["", xn, wt, xt] }], + saturate: [{ saturate: [xn, wt, xt] }], + sepia: [{ sepia: ["", xn, wt, xt] }], + "backdrop-filter": [{ "backdrop-filter": ["", "none", wt, xt] }], + "backdrop-blur": [{ "backdrop-blur": ee() }], + "backdrop-brightness": [{ "backdrop-brightness": [xn, wt, xt] }], + "backdrop-contrast": [{ "backdrop-contrast": [xn, wt, xt] }], + "backdrop-grayscale": [{ "backdrop-grayscale": ["", xn, wt, xt] }], + "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [xn, wt, xt] }], + "backdrop-invert": [{ "backdrop-invert": ["", xn, wt, xt] }], + "backdrop-opacity": [{ "backdrop-opacity": [xn, wt, xt] }], + "backdrop-saturate": [{ "backdrop-saturate": [xn, wt, xt] }], + "backdrop-sepia": [{ "backdrop-sepia": ["", xn, wt, xt] }], + "border-collapse": [{ border: ["collapse", "separate"] }], + "border-spacing": [{ "border-spacing": E() }], + "border-spacing-x": [{ "border-spacing-x": E() }], + "border-spacing-y": [{ "border-spacing-y": E() }], + "table-layout": [{ table: ["auto", "fixed"] }], + caption: [{ caption: ["top", "bottom"] }], + transition: [{ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", wt, xt] }], + "transition-behavior": [{ transition: ["normal", "discrete"] }], + duration: [{ duration: [xn, "initial", wt, xt] }], + ease: [{ ease: ["linear", "initial", _, wt, xt] }], + delay: [{ delay: [xn, wt, xt] }], + animate: [{ animate: ["none", y, wt, xt] }], + backface: [{ backface: ["hidden", "visible"] }], + perspective: [{ perspective: [v, wt, xt] }], + "perspective-origin": [{ "perspective-origin": P() }], + rotate: [{ rotate: q() }], + "rotate-x": [{ "rotate-x": q() }], + "rotate-y": [{ "rotate-y": q() }], + "rotate-z": [{ "rotate-z": q() }], + scale: [{ scale: me() }], + "scale-x": [{ "scale-x": me() }], + "scale-y": [{ "scale-y": me() }], + "scale-z": [{ "scale-z": me() }], + "scale-3d": ["scale-3d"], + skew: [{ skew: Ce() }], + "skew-x": [{ "skew-x": Ce() }], + "skew-y": [{ "skew-y": Ce() }], + transform: [{ transform: [wt, xt, "", "none", "gpu", "cpu"] }], + "transform-origin": [{ origin: P() }], + "transform-style": [{ transform: ["3d", "flat"] }], + translate: [{ translate: ue() }], + "translate-x": [{ "translate-x": ue() }], + "translate-y": [{ "translate-y": ue() }], + "translate-z": [{ "translate-z": ue() }], + "translate-none": ["translate-none"], + accent: [{ accent: H() }], + appearance: [{ appearance: ["none", "auto"] }], + "caret-color": [{ caret: H() }], + "color-scheme": [{ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"] }], + cursor: [ + { + cursor: [ + "auto", + "default", + "pointer", + "wait", + "text", + "move", + "help", + "not-allowed", + "none", + "context-menu", + "progress", + "cell", + "crosshair", + "vertical-text", + "alias", + "copy", + "no-drop", + "grab", + "grabbing", + "all-scroll", + "col-resize", + "row-resize", + "n-resize", + "e-resize", + "s-resize", + "w-resize", + "ne-resize", + "nw-resize", + "se-resize", + "sw-resize", + "ew-resize", + "ns-resize", + "nesw-resize", + "nwse-resize", + "zoom-in", + "zoom-out", + wt, + xt, + ], + }, + ], + "field-sizing": [{ "field-sizing": ["fixed", "content"] }], + "pointer-events": [{ "pointer-events": ["auto", "none"] }], + resize: [{ resize: ["none", "", "y", "x"] }], + "scroll-behavior": [{ scroll: ["auto", "smooth"] }], + "scroll-m": [{ "scroll-m": E() }], + "scroll-mx": [{ "scroll-mx": E() }], + "scroll-my": [{ "scroll-my": E() }], + "scroll-ms": [{ "scroll-ms": E() }], + "scroll-me": [{ "scroll-me": E() }], + "scroll-mt": [{ "scroll-mt": E() }], + "scroll-mr": [{ "scroll-mr": E() }], + "scroll-mb": [{ "scroll-mb": E() }], + "scroll-ml": [{ "scroll-ml": E() }], + "scroll-p": [{ "scroll-p": E() }], + "scroll-px": [{ "scroll-px": E() }], + "scroll-py": [{ "scroll-py": E() }], + "scroll-ps": [{ "scroll-ps": E() }], + "scroll-pe": [{ "scroll-pe": E() }], + "scroll-pt": [{ "scroll-pt": E() }], + "scroll-pr": [{ "scroll-pr": E() }], + "scroll-pb": [{ "scroll-pb": E() }], + "scroll-pl": [{ "scroll-pl": E() }], + "snap-align": [{ snap: ["start", "end", "center", "align-none"] }], + "snap-stop": [{ snap: ["normal", "always"] }], + "snap-type": [{ snap: ["none", "x", "y", "both"] }], + "snap-strictness": [{ snap: ["mandatory", "proximity"] }], + touch: [{ touch: ["auto", "none", "manipulation"] }], + "touch-x": [{ "touch-pan": ["x", "left", "right"] }], + "touch-y": [{ "touch-pan": ["y", "up", "down"] }], + "touch-pz": ["touch-pinch-zoom"], + select: [{ select: ["none", "text", "all", "auto"] }], + "will-change": [{ "will-change": ["auto", "scroll", "contents", "transform", wt, xt] }], + fill: [{ fill: ["none", ...H()] }], + "stroke-w": [{ stroke: [xn, qg, Hu, sP] }], + stroke: [{ stroke: ["none", ...H()] }], + "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }], + }, + conflictingClassGroups: { + overflow: ["overflow-x", "overflow-y"], + overscroll: ["overscroll-x", "overscroll-y"], + inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"], + "inset-x": ["right", "left"], + "inset-y": ["top", "bottom"], + flex: ["basis", "grow", "shrink"], + gap: ["gap-x", "gap-y"], + p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"], + px: ["pr", "pl"], + py: ["pt", "pb"], + m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"], + mx: ["mr", "ml"], + my: ["mt", "mb"], + size: ["w", "h"], + "font-size": ["leading"], + "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"], + "fvn-ordinal": ["fvn-normal"], + "fvn-slashed-zero": ["fvn-normal"], + "fvn-figure": ["fvn-normal"], + "fvn-spacing": ["fvn-normal"], + "fvn-fraction": ["fvn-normal"], + "line-clamp": ["display", "overflow"], + rounded: [ + "rounded-s", + "rounded-e", + "rounded-t", + "rounded-r", + "rounded-b", + "rounded-l", + "rounded-ss", + "rounded-se", + "rounded-ee", + "rounded-es", + "rounded-tl", + "rounded-tr", + "rounded-br", + "rounded-bl", + ], + "rounded-s": ["rounded-ss", "rounded-es"], + "rounded-e": ["rounded-se", "rounded-ee"], + "rounded-t": ["rounded-tl", "rounded-tr"], + "rounded-r": ["rounded-tr", "rounded-br"], + "rounded-b": ["rounded-br", "rounded-bl"], + "rounded-l": ["rounded-tl", "rounded-bl"], + "border-spacing": ["border-spacing-x", "border-spacing-y"], + "border-w": [ + "border-w-x", + "border-w-y", + "border-w-s", + "border-w-e", + "border-w-t", + "border-w-r", + "border-w-b", + "border-w-l", + ], + "border-w-x": ["border-w-r", "border-w-l"], + "border-w-y": ["border-w-t", "border-w-b"], + "border-color": [ + "border-color-x", + "border-color-y", + "border-color-s", + "border-color-e", + "border-color-t", + "border-color-r", + "border-color-b", + "border-color-l", + ], + "border-color-x": ["border-color-r", "border-color-l"], + "border-color-y": ["border-color-t", "border-color-b"], + translate: ["translate-x", "translate-y", "translate-none"], + "translate-none": ["translate", "translate-x", "translate-y", "translate-z"], + "scroll-m": [ + "scroll-mx", + "scroll-my", + "scroll-ms", + "scroll-me", + "scroll-mt", + "scroll-mr", + "scroll-mb", + "scroll-ml", + ], + "scroll-mx": ["scroll-mr", "scroll-ml"], + "scroll-my": ["scroll-mt", "scroll-mb"], + "scroll-p": [ + "scroll-px", + "scroll-py", + "scroll-ps", + "scroll-pe", + "scroll-pt", + "scroll-pr", + "scroll-pb", + "scroll-pl", + ], + "scroll-px": ["scroll-pr", "scroll-pl"], + "scroll-py": ["scroll-pt", "scroll-pb"], + touch: ["touch-x", "touch-y", "touch-pz"], + "touch-x": ["touch"], + "touch-y": ["touch"], + "touch-pz": ["touch"], + }, + conflictingClassGroupModifiers: { "font-size": ["leading"] }, + orderSensitiveModifiers: [ + "*", + "**", + "after", + "backdrop", + "before", + "details-content", + "file", + "first-letter", + "first-line", + "marker", + "placeholder", + "selection", + ], + } + }, + Gzt = Rzt(Hzt) +function be(...t) { + return Gzt(art(t)) +} +const bB = (t) => (typeof t == "boolean" ? `${t}` : t === 0 ? "0" : t), + yB = art, + brt = (t, e) => (n) => { + var o + if ((e == null ? void 0 : e.variants) == null) + return yB(t, n == null ? void 0 : n.class, n == null ? void 0 : n.className) + const { variants: r, defaultVariants: i } = e, + s = Object.keys(r).map((d) => { + const u = n == null ? void 0 : n[d], + m = i == null ? void 0 : i[d] + if (u === null) return null + const f = bB(u) || bB(m) + return r[d][f] + }), + a = + n && + Object.entries(n).reduce((d, u) => { + let [m, f] = u + return f === void 0 || (d[m] = f), d + }, {}), + c = + e == null || (o = e.compoundVariants) === null || o === void 0 + ? void 0 + : o.reduce((d, u) => { + let { class: m, className: f, ...g } = u + return Object.entries(g).every((b) => { + let [v, w] = b + return Array.isArray(w) ? w.includes({ ...i, ...a }[v]) : { ...i, ...a }[v] === w + }) + ? [...d, m, f] + : d + }, []) + return yB(t, s, c, n == null ? void 0 : n.class, n == null ? void 0 : n.className) + }, + ez = brt( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80", + { + variants: { + variant: { + default: "border border-vscode-input-border bg-primary text-primary-foreground hover:bg-primary/90", + destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: + "border border-vscode-input-border bg-transparent hover:bg-accent hover:text-accent-foreground", + secondary: + "border border-vscode-input-border bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + combobox: + "border border-vscode-dropdown-border focus-visible:border-vscode-focusBorder bg-vscode-dropdown-background hover:bg-transparent text-vscode-dropdown-foreground font-normal", + }, + size: { default: "h-7 px-3", sm: "h-6 px-2 text-sm", lg: "h-8 px-4 text-lg", icon: "h-7 w-7" }, + }, + defaultVariants: { variant: "default", size: "default" }, + }, + ), + Ee = k.forwardRef(({ className: t, variant: e, size: n, asChild: o = !1, ...r }, i) => { + const s = o ? Mjt : "button" + return l.jsx(s, { className: be(ez({ variant: e, size: n, className: t })), ref: i, ...r }) + }) +Ee.displayName = "Button" +function jc({ ...t }) { + return l.jsx(szt, { "data-slot": "alert-dialog", ...t }) +} +function Qzt({ ...t }) { + return l.jsx(azt, { "data-slot": "alert-dialog-trigger", ...t }) +} +function Zzt({ ...t }) { + return l.jsx(lzt, { "data-slot": "alert-dialog-portal", ...t }) +} +function Yzt({ className: t, ...e }) { + return l.jsx(czt, { + "data-slot": "alert-dialog-overlay", + className: be( + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", + t, + ), + ...e, + }) +} +function Ec({ className: t, ...e }) { + return l.jsxs(Zzt, { + children: [ + l.jsx(Yzt, {}), + l.jsx(dzt, { + "data-slot": "alert-dialog-content", + className: be( + "bg-vscode-editor-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-3 rounded-sm border border-vscode-panel-border p-4 shadow-lg duration-200 sm:max-w-md", + t, + ), + ...e, + }), + ], + }) +} +function zc({ className: t, ...e }) { + return l.jsx("div", { "data-slot": "alert-dialog-header", className: be("flex flex-col gap-1 text-left", t), ...e }) +} +function $c({ className: t, ...e }) { + return l.jsx("div", { + "data-slot": "alert-dialog-footer", + className: be("flex flex-row justify-end gap-2 mt-4", t), + ...e, + }) +} +function Lc({ className: t, ...e }) { + return l.jsx(mzt, { + "data-slot": "alert-dialog-title", + className: be("text-base font-medium text-vscode-editor-foreground flex items-center gap-2 text-left", t), + ...e, + }) +} +function Dc({ className: t, ...e }) { + return l.jsx(hzt, { + "data-slot": "alert-dialog-description", + className: be("text-vscode-descriptionForeground text-sm text-left", t), + ...e, + }) +} +function Nc({ className: t, ...e }) { + return l.jsx(uzt, { + className: be( + ez(), + "bg-vscode-button-background text-vscode-button-foreground hover:bg-vscode-button-hoverBackground h-6 px-3 py-1 border", + t, + ), + ...e, + }) +} +function Oc({ className: t, ...e }) { + return l.jsx(pzt, { + className: be( + ez({ variant: "outline" }), + "bg-vscode-button-secondaryBackground text-vscode-button-secondaryForeground hover:bg-vscode-button-secondaryHoverBackground h-6 px-3 py-1 border", + t, + ), + ...e, + }) +} +const Xzt = ({ textAreaRef: t, triggerAutoSize: e, maxHeight: n = Number.MAX_SAFE_INTEGER, minHeight: o = 0 }) => { + const [r, i] = k.useState(!0) + k.useEffect(() => { + const a = t.current + if (a) { + r && ((a.style.minHeight = `${o + 6}px`), n > o && (a.style.maxHeight = `${n}px`), i(!1)), + (a.style.height = `${o + 6}px`) + const c = a.scrollHeight + c > n ? (a.style.height = `${n}px`) : (a.style.height = `${c + 6}px`) + } + }, [r, o, n, t, e]) + }, + Jzt = k.forwardRef(({ minHeight: t, maxHeight: e, className: n, onChange: o, value: r, ...i }, s) => { + const a = k.useRef(null), + [c, d] = k.useState("") + return ( + Xzt({ textAreaRef: a, triggerAutoSize: c, maxHeight: e, minHeight: t }), + k.useImperativeHandle(s, () => ({ + textArea: a.current, + focus: () => { + var u + return (u = a == null ? void 0 : a.current) == null ? void 0 : u.focus() + }, + maxHeight: e, + minHeight: t, + })), + k.useEffect(() => { + d(r) + }, [i == null ? void 0 : i.defaultValue, r]), + l.jsx("textarea", { + ...i, + value: r, + ref: a, + className: be( + "flex w-full rounded-xs ring-offset-background placeholder:text-muted-foreground focus:outline-0 focus-visible:outline-none focus-visible:border-vscode-focusBorder disabled:cursor-not-allowed disabled:opacity-50 scrollbar-hide", + "border-[var(--vscode-input-border,var(--vscode-input-background))] focus-visible:border-vscode-focusBorder", + "bg-vscode-input-background", + "text-vscode-input-foreground", + n, + ), + onChange: (u) => { + d(u.target.value), o == null || o(u) + }, + }) + ) + }) +Jzt.displayName = "AutosizeTextarea" +function tz(t) { + const e = k.useRef({ value: t, previous: t }) + return k.useMemo( + () => ( + e.current.value !== t && ((e.current.previous = e.current.value), (e.current.value = t)), e.current.previous + ), + [t], + ) +} +function nz(t) { + const [e, n] = k.useState(void 0) + return ( + Gr(() => { + if (t) { + n({ width: t.offsetWidth, height: t.offsetHeight }) + const o = new ResizeObserver((r) => { + if (!Array.isArray(r) || !r.length) return + const i = r[0] + let s, a + if ("borderBoxSize" in i) { + const c = i.borderBoxSize, + d = Array.isArray(c) ? c[0] : c + ;(s = d.inlineSize), (a = d.blockSize) + } else (s = t.offsetWidth), (a = t.offsetHeight) + n({ width: s, height: a }) + }) + return o.observe(t, { box: "border-box" }), () => o.unobserve(t) + } else n(void 0) + }, [t]), + e + ) +} +var gC = "Checkbox", + [e$t, Ftn] = hs(gC), + [t$t, oz] = e$t(gC) +function n$t(t) { + const { + __scopeCheckbox: e, + checked: n, + children: o, + defaultChecked: r, + disabled: i, + form: s, + name: a, + onCheckedChange: c, + required: d, + value: u = "on", + internal_do_not_use_render: m, + } = t, + [f, g] = Ic({ prop: n, defaultProp: r ?? !1, onChange: c, caller: gC }), + [b, v] = k.useState(null), + [w, _] = k.useState(null), + y = k.useRef(!1), + C = b ? !!s || !!b.closest("form") : !0, + S = { + checked: f, + disabled: i, + setChecked: g, + control: b, + setControl: v, + name: a, + form: s, + value: u, + hasConsumerStoppedPropagationRef: y, + required: d, + defaultChecked: Kd(r) ? !1 : r, + isFormControl: C, + bubbleInput: w, + setBubbleInput: _, + } + return l.jsx(t$t, { scope: e, ...S, children: o$t(m) ? m(S) : o }) +} +var yrt = "CheckboxTrigger", + krt = k.forwardRef(({ __scopeCheckbox: t, onKeyDown: e, onClick: n, ...o }, r) => { + const { + control: i, + value: s, + disabled: a, + checked: c, + required: d, + setControl: u, + setChecked: m, + hasConsumerStoppedPropagationRef: f, + isFormControl: g, + bubbleInput: b, + } = oz(yrt, t), + v = cn(r, u), + w = k.useRef(c) + return ( + k.useEffect(() => { + const _ = i == null ? void 0 : i.form + if (_) { + const y = () => m(w.current) + return _.addEventListener("reset", y), () => _.removeEventListener("reset", y) + } + }, [i, m]), + l.jsx(Mt.button, { + type: "button", + role: "checkbox", + "aria-checked": Kd(c) ? "mixed" : c, + "aria-required": d, + "data-state": Srt(c), + "data-disabled": a ? "" : void 0, + disabled: a, + value: s, + ...o, + ref: v, + onKeyDown: rt(e, (_) => { + _.key === "Enter" && _.preventDefault() + }), + onClick: rt(n, (_) => { + m((y) => (Kd(y) ? !0 : !y)), + b && g && ((f.current = _.isPropagationStopped()), f.current || _.stopPropagation()) + }), + }) + ) + }) +krt.displayName = yrt +var rz = k.forwardRef((t, e) => { + const { + __scopeCheckbox: n, + name: o, + checked: r, + defaultChecked: i, + required: s, + disabled: a, + value: c, + onCheckedChange: d, + form: u, + ...m + } = t + return l.jsx(n$t, { + __scopeCheckbox: n, + checked: r, + defaultChecked: i, + disabled: a, + required: s, + onCheckedChange: d, + name: o, + form: u, + value: c, + internal_do_not_use_render: ({ isFormControl: f }) => + l.jsxs(l.Fragment, { + children: [l.jsx(krt, { ...m, ref: e, __scopeCheckbox: n }), f && l.jsx(Crt, { __scopeCheckbox: n })], + }), + }) +}) +rz.displayName = gC +var xrt = "CheckboxIndicator", + wrt = k.forwardRef((t, e) => { + const { __scopeCheckbox: n, forceMount: o, ...r } = t, + i = oz(xrt, n) + return l.jsx(fs, { + present: o || Kd(i.checked) || i.checked === !0, + children: l.jsx(Mt.span, { + "data-state": Srt(i.checked), + "data-disabled": i.disabled ? "" : void 0, + ...r, + ref: e, + style: { pointerEvents: "none", ...t.style }, + }), + }) + }) +wrt.displayName = xrt +var _rt = "CheckboxBubbleInput", + Crt = k.forwardRef(({ __scopeCheckbox: t, ...e }, n) => { + const { + control: o, + hasConsumerStoppedPropagationRef: r, + checked: i, + defaultChecked: s, + required: a, + disabled: c, + name: d, + value: u, + form: m, + bubbleInput: f, + setBubbleInput: g, + } = oz(_rt, t), + b = cn(n, g), + v = tz(i), + w = nz(o) + k.useEffect(() => { + const y = f + if (!y) return + const C = window.HTMLInputElement.prototype, + P = Object.getOwnPropertyDescriptor(C, "checked").set, + R = !r.current + if (v !== i && P) { + const T = new Event("click", { bubbles: R }) + ;(y.indeterminate = Kd(i)), P.call(y, Kd(i) ? !1 : i), y.dispatchEvent(T) + } + }, [f, v, i, r]) + const _ = k.useRef(Kd(i) ? !1 : i) + return l.jsx(Mt.input, { + type: "checkbox", + "aria-hidden": !0, + defaultChecked: s ?? _.current, + required: a, + disabled: c, + name: d, + value: u, + form: m, + ...e, + tabIndex: -1, + ref: b, + style: { + ...e.style, + ...w, + position: "absolute", + pointerEvents: "none", + opacity: 0, + margin: 0, + transform: "translateX(-100%)", + }, + }) + }) +Crt.displayName = _rt +function o$t(t) { + return typeof t == "function" +} +function Kd(t) { + return t === "indeterminate" +} +function Srt(t) { + return Kd(t) ? "indeterminate" : t ? "checked" : "unchecked" +} +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const r$t = (t) => t.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), + i$t = (t) => t.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, n, o) => (o ? o.toUpperCase() : n.toLowerCase())), + kB = (t) => { + const e = i$t(t) + return e.charAt(0).toUpperCase() + e.slice(1) + }, + Art = (...t) => + t + .filter((e, n, o) => !!e && e.trim() !== "" && o.indexOf(e) === n) + .join(" ") + .trim(), + s$t = (t) => { + for (const e in t) if (e.startsWith("aria-") || e === "role" || e === "title") return !0 + } +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var a$t = { + xmlns: "http://www.w3.org/2000/svg", + width: 24, + height: 24, + viewBox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + strokeWidth: 2, + strokeLinecap: "round", + strokeLinejoin: "round", +} +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const l$t = k.forwardRef( + ( + { + color: t = "currentColor", + size: e = 24, + strokeWidth: n = 2, + absoluteStrokeWidth: o, + className: r = "", + children: i, + iconNode: s, + ...a + }, + c, + ) => + k.createElement( + "svg", + { + ref: c, + ...a$t, + width: e, + height: e, + stroke: t, + strokeWidth: o ? (Number(n) * 24) / Number(e) : n, + className: Art("lucide", r), + ...(!i && !s$t(a) && { "aria-hidden": "true" }), + ...a, + }, + [...s.map(([d, u]) => k.createElement(d, u)), ...(Array.isArray(i) ? i : [i])], + ), +) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const un = (t, e) => { + const n = k.forwardRef(({ className: o, ...r }, i) => + k.createElement(l$t, { ref: i, iconNode: e, className: Art(`lucide-${r$t(kB(t))}`, `lucide-${t}`, o), ...r }), + ) + return (n.displayName = kB(t)), n +} +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const c$t = [ + ["path", { d: "M3 12h18", key: "1i2n21" }], + ["path", { d: "M3 18h18", key: "1h113x" }], + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ], + d$t = un("align-justify", c$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const u$t = [ + ["path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" }], + [ + "path", + { + d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326", + key: "11g9vi", + }, + ], + ], + Prt = un("bell", u$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const p$t = [ + ["path", { d: "M18 6 7 17l-5-5", key: "116fxf" }], + ["path", { d: "m22 10-7.5 7.5L13 16", key: "ke71qq" }], + ], + Rrt = un("check-check", p$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const m$t = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]], + Wl = un("check", m$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const h$t = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], + hu = un("chevron-down", h$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const f$t = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]], + iz = un("chevron-up", f$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const g$t = [ + ["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }], + ["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }], + ], + Trt = un("chevrons-up-down", g$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const v$t = [ + ["path", { d: "M12 13v8l-4-4", key: "1f5nwf" }], + ["path", { d: "m12 21 4-4", key: "1lfcce" }], + ["path", { d: "M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284", key: "ui1hmy" }], + ], + b$t = un("cloud-download", v$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const y$t = [ + ["path", { d: "M12 13v8", key: "1l5pq0" }], + ["path", { d: "M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242", key: "1pljnt" }], + ["path", { d: "m8 17 4-4 4 4", key: "1quai1" }], + ], + k$t = un("cloud-upload", y$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const x$t = [ + ["circle", { cx: "8", cy: "8", r: "6", key: "3yglwk" }], + ["path", { d: "M18.09 10.37A6 6 0 1 1 10.34 18", key: "t5s6rm" }], + ["path", { d: "M7 6h1v4", key: "1obek4" }], + ["path", { d: "m16.71 13.88.7.71-2.82 2.82", key: "1rbuyh" }], + ], + w$t = un("coins", x$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const _$t = [ + ["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }], + ["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }], + ], + Irt = un("copy", _$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const C$t = [ + ["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }], + ["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }], + ["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }], + ], + sz = un("database", C$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const S$t = [ + ["path", { d: "M12 15V3", key: "m9g1x1" }], + ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }], + ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }], + ], + Mrt = un("download", S$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const A$t = [ + ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }], + ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }], + ], + P$t = un("file", A$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const R$t = [ + [ + "path", + { + d: "M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2", + key: "18mbvz", + }, + ], + ["path", { d: "M6.453 15h11.094", key: "3shlmq" }], + ["path", { d: "M8.5 2h7", key: "csnxdl" }], + ], + jrt = un("flask-conical", R$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const T$t = [ + ["path", { d: "M12 22v-6", key: "6o8u61" }], + ["path", { d: "M12 8V2", key: "1wkif3" }], + ["path", { d: "M4 12H2", key: "rhcxmi" }], + ["path", { d: "M10 12H8", key: "s88cx1" }], + ["path", { d: "M16 12h-2", key: "10asgb" }], + ["path", { d: "M22 12h-2", key: "14jgyd" }], + ["path", { d: "m15 19-3-3-3 3", key: "e37ymu" }], + ["path", { d: "m15 5-3 3-3-3", key: "19d6lf" }], + ], + Ert = un("fold-vertical", T$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const I$t = [ + [ + "path", + { + d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z", + key: "1kt360", + }, + ], + ], + M$t = un("folder", I$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const j$t = [ + ["line", { x1: "6", x2: "6", y1: "3", y2: "15", key: "17qcm7" }], + ["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }], + ["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }], + ["path", { d: "M18 9a9 9 0 0 1-9 9", key: "n2h4wq" }], + ], + zrt = un("git-branch", j$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const E$t = [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }], + ["path", { d: "M2 12h20", key: "9i4pu4" }], + ], + az = un("globe", E$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const z$t = [ + ["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }], + ["path", { d: "M3 3v5h5", key: "1xhq8a" }], + ["path", { d: "M12 7v5l4 2", key: "1fdv2h" }], + ], + $$t = un("history", z$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const L$t = [ + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }], + ["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }], + ], + $rt = un("image", L$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const D$t = [ + ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }], + ["path", { d: "M12 16v-4", key: "1dtifu" }], + ["path", { d: "M12 8h.01", key: "e9boi3" }], + ], + lz = un("info", D$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const N$t = [["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]], + Lrt = un("message-square", N$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const O$t = [ + [ + "path", + { + d: "M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z", + key: "1piglc", + }, + ], + ["path", { d: "M16 10h.01", key: "1m94wz" }], + ["path", { d: "M2 8v1a2 2 0 0 0 2 2h1", key: "1env43" }], + ], + F$t = un("piggy-bank", O$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const B$t = [ + ["path", { d: "M5 12h14", key: "1ays0h" }], + ["path", { d: "M12 5v14", key: "s699le" }], + ], + xB = un("plus", B$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const U$t = [ + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", key: "w68u3i" }], + ["path", { d: "M6.01 18H6", key: "19vcac" }], + ["path", { d: "M10.01 18H10", key: "uamcmx" }], + ["path", { d: "M15 10v4", key: "qjz1xs" }], + ["path", { d: "M17.84 7.17a4 4 0 0 0-5.66 0", key: "1rif40" }], + ["path", { d: "M20.66 4.34a8 8 0 0 0-11.31 0", key: "6a5xfq" }], + ], + q$t = un("router", U$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const W$t = [ + [ + "path", + { + d: "M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z", + key: "117uat", + }, + ], + ["path", { d: "M6 12h16", key: "s4cdu5" }], + ], + Drt = un("send-horizontal", W$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const K$t = [ + ["rect", { width: "20", height: "8", x: "2", y: "2", rx: "2", ry: "2", key: "ngkwjq" }], + ["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", ry: "2", key: "iecqi9" }], + ["line", { x1: "6", x2: "6.01", y1: "6", y2: "6", key: "16zg32" }], + ["line", { x1: "6", x2: "6.01", y1: "18", y2: "18", key: "nzw8ys" }], + ], + V$t = un("server", K$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const H$t = [ + ["path", { d: "m12.5 17-.5-1-.5 1h1z", key: "3me087" }], + [ + "path", + { + d: "M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z", + key: "1o5pge", + }, + ], + ["circle", { cx: "15", cy: "12", r: "1", key: "1tmaij" }], + ["circle", { cx: "9", cy: "12", r: "1", key: "1vctgf" }], + ], + G$t = un("skull", H$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const Q$t = [ + ["path", { d: "M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6", key: "y09zxi" }], + ["path", { d: "m21 3-9 9", key: "mpx6sq" }], + ["path", { d: "M15 3h6v6", key: "1q9fwt" }], + ], + Z$t = un("square-arrow-out-up-right", Q$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const Y$t = [ + [ + "path", + { + d: "M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z", + key: "xwnzip", + }, + ], + ["path", { d: "M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6", key: "14rsvq" }], + ], + Nrt = un("square-mouse-pointer", Y$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const X$t = [ + ["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }], + [ + "path", + { + d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z", + key: "ohrbg2", + }, + ], + ], + Ort = un("square-pen", X$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const J$t = [ + ["path", { d: "m7 11 2-2-2-2", key: "1lz0vl" }], + ["path", { d: "M11 13h4", key: "1p7l4v" }], + ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }], + ], + Frt = un("square-terminal", J$t) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const eLt = [ + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }], + ["path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2", key: "v07s0e" }], + ["line", { x1: "10", x2: "10", y1: "11", y2: "17", key: "1uufr5" }], + ["line", { x1: "14", x2: "14", y1: "11", y2: "17", key: "xtxkd" }], + ], + tLt = un("trash-2", eLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const nLt = [ + ["path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3", key: "wmoenq" }], + ["path", { d: "M12 9v4", key: "juzpu7" }], + ["path", { d: "M12 17h.01", key: "p32p05" }], + ], + vC = un("triangle-alert", nLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const oLt = [ + ["path", { d: "M12 3v12", key: "1x0j5s" }], + ["path", { d: "m17 8-5-5-5 5", key: "7q97r8" }], + ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }], + ], + Brt = un("upload", oLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const rLt = [ + [ + "path", + { + d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z", + key: "uqj9uw", + }, + ], + ["line", { x1: "22", x2: "16", y1: "9", y2: "15", key: "1ewh16" }], + ["line", { x1: "16", x2: "22", y1: "9", y2: "15", key: "5ykzw1" }], + ], + iLt = un("volume-x", rLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const sLt = [ + [ + "path", + { + d: "m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72", + key: "ul74o6", + }, + ], + ["path", { d: "m14 7 3 3", key: "1r5n42" }], + ["path", { d: "M5 6v4", key: "ilb8ba" }], + ["path", { d: "M19 14v4", key: "blhpug" }], + ["path", { d: "M10 2v2", key: "7u0qdc" }], + ["path", { d: "M7 8H3", key: "zfb6yr" }], + ["path", { d: "M21 16h-4", key: "1cnmox" }], + ["path", { d: "M11 3H9", key: "1obp7u" }], + ], + aLt = un("wand-sparkles", sLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const lLt = [ + ["path", { d: "M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2", key: "q3hayz" }], + ["path", { d: "m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06", key: "1go1hn" }], + ["path", { d: "m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8", key: "qlwsc0" }], + ], + wB = un("webhook", lLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const cLt = [ + ["path", { d: "m16 16-2 2 2 2", key: "kkc6pm" }], + ["path", { d: "M3 12h15a3 3 0 1 1 0 6h-4", key: "1cl7v7" }], + ["path", { d: "M3 18h7", key: "sq21v6" }], + ["path", { d: "M3 6h18", key: "d0wm0j" }], + ], + dLt = un("wrap-text", cLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const uLt = [ + ["path", { d: "M18 6 6 18", key: "1bl5f8" }], + ["path", { d: "m6 6 12 12", key: "d8bk6v" }], + ], + nl = un("x", uLt) +/** + * @license lucide-react v0.518.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ const pLt = [ + [ + "path", + { + d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z", + key: "1xq2db", + }, + ], + ], + mLt = un("zap", pLt), + hLt = brt( + "peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", + { + variants: { + variant: { + default: + "border-vscode-foreground data-[state=checked]:bg-vscode-foreground data-[state=checked]:text-primary-foreground", + description: + "border-vscode-descriptionForeground data-[state=checked]:bg-vscode-descriptionForeground data-[state=checked]:text-white", + }, + }, + defaultVariants: { variant: "default" }, + }, + ), + cz = k.forwardRef(({ className: t, variant: e, ...n }, o) => + l.jsx(rz, { + ref: o, + className: be(hLt({ variant: e, className: t })), + ...n, + children: l.jsx(wrt, { + className: be("flex items-center justify-center text-current"), + children: l.jsx(Wl, { className: "h-4 w-4 text-vscode-background" }), + }), + }), + ) +cz.displayName = rz.displayName +var bC = "Collapsible", + [fLt, Btn] = hs(bC), + [gLt, dz] = fLt(bC), + Urt = k.forwardRef((t, e) => { + const { __scopeCollapsible: n, open: o, defaultOpen: r, disabled: i, onOpenChange: s, ...a } = t, + [c, d] = Ic({ prop: o, defaultProp: r ?? !1, onChange: s, caller: bC }) + return l.jsx(gLt, { + scope: n, + disabled: i, + contentId: bi(), + open: c, + onOpenToggle: k.useCallback(() => d((u) => !u), [d]), + children: l.jsx(Mt.div, { "data-state": pz(c), "data-disabled": i ? "" : void 0, ...a, ref: e }), + }) + }) +Urt.displayName = bC +var qrt = "CollapsibleTrigger", + Wrt = k.forwardRef((t, e) => { + const { __scopeCollapsible: n, ...o } = t, + r = dz(qrt, n) + return l.jsx(Mt.button, { + type: "button", + "aria-controls": r.contentId, + "aria-expanded": r.open || !1, + "data-state": pz(r.open), + "data-disabled": r.disabled ? "" : void 0, + disabled: r.disabled, + ...o, + ref: e, + onClick: rt(t.onClick, r.onOpenToggle), + }) + }) +Wrt.displayName = qrt +var uz = "CollapsibleContent", + Krt = k.forwardRef((t, e) => { + const { forceMount: n, ...o } = t, + r = dz(uz, t.__scopeCollapsible) + return l.jsx(fs, { + present: n || r.open, + children: ({ present: i }) => l.jsx(vLt, { ...o, ref: e, present: i }), + }) + }) +Krt.displayName = uz +var vLt = k.forwardRef((t, e) => { + const { __scopeCollapsible: n, present: o, children: r, ...i } = t, + s = dz(uz, n), + [a, c] = k.useState(o), + d = k.useRef(null), + u = cn(e, d), + m = k.useRef(0), + f = m.current, + g = k.useRef(0), + b = g.current, + v = s.open || a, + w = k.useRef(v), + _ = k.useRef(void 0) + return ( + k.useEffect(() => { + const y = requestAnimationFrame(() => (w.current = !1)) + return () => cancelAnimationFrame(y) + }, []), + Gr(() => { + const y = d.current + if (y) { + ;(_.current = _.current || { + transitionDuration: y.style.transitionDuration, + animationName: y.style.animationName, + }), + (y.style.transitionDuration = "0s"), + (y.style.animationName = "none") + const C = y.getBoundingClientRect() + ;(m.current = C.height), + (g.current = C.width), + w.current || + ((y.style.transitionDuration = _.current.transitionDuration), + (y.style.animationName = _.current.animationName)), + c(o) + } + }, [s.open, o]), + l.jsx(Mt.div, { + "data-state": pz(s.open), + "data-disabled": s.disabled ? "" : void 0, + id: s.contentId, + hidden: !v, + ...i, + ref: u, + style: { + "--radix-collapsible-content-height": f ? `${f}px` : void 0, + "--radix-collapsible-content-width": b ? `${b}px` : void 0, + ...t.style, + }, + children: v && r, + }) + ) +}) +function pz(t) { + return t ? "open" : "closed" +} +var bLt = Urt +const Vrt = bLt, + Hrt = Wrt, + yLt = Krt +var _B = 1, + kLt = 0.9, + xLt = 0.8, + wLt = 0.17, + aP = 0.1, + lP = 0.999, + _Lt = 0.9999, + CLt = 0.99, + SLt = /[\\\/_+.#"@\[\(\{&]/, + ALt = /[\\\/_+.#"@\[\(\{&]/g, + PLt = /[\s-]/, + Grt = /[\s-]/g +function xM(t, e, n, o, r, i, s) { + if (i === e.length) return r === t.length ? _B : CLt + var a = `${r},${i}` + if (s[a] !== void 0) return s[a] + for (var c = o.charAt(i), d = n.indexOf(c, r), u = 0, m, f, g, b; d >= 0; ) + (m = xM(t, e, n, o, d + 1, i + 1, s)), + m > u && + (d === r + ? (m *= _B) + : SLt.test(t.charAt(d - 1)) + ? ((m *= xLt), (g = t.slice(r, d - 1).match(ALt)), g && r > 0 && (m *= Math.pow(lP, g.length))) + : PLt.test(t.charAt(d - 1)) + ? ((m *= kLt), + (b = t.slice(r, d - 1).match(Grt)), + b && r > 0 && (m *= Math.pow(lP, b.length))) + : ((m *= wLt), r > 0 && (m *= Math.pow(lP, d - r))), + t.charAt(d) !== e.charAt(i) && (m *= _Lt)), + ((m < aP && n.charAt(d - 1) === o.charAt(i + 1)) || + (o.charAt(i + 1) === o.charAt(i) && n.charAt(d - 1) !== o.charAt(i))) && + ((f = xM(t, e, n, o, d + 1, i + 2, s)), f * aP > m && (m = f * aP)), + m > u && (u = m), + (d = n.indexOf(c, d + 1)) + return (s[a] = u), u +} +function CB(t) { + return t.toLowerCase().replace(Grt, " ") +} +function RLt(t, e, n) { + return (t = n && n.length > 0 ? `${t + " " + n.join(" ")}` : t), xM(t, e, CB(t), CB(e), 0, 0, {}) +} +var Wg = '[cmdk-group=""]', + cP = '[cmdk-group-items=""]', + TLt = '[cmdk-group-heading=""]', + Qrt = '[cmdk-item=""]', + SB = `${Qrt}:not([aria-disabled="true"])`, + wM = "cmdk-item-select", + Km = "data-value", + ILt = (t, e, n) => RLt(t, e, n), + Zrt = k.createContext(void 0), + Qb = () => k.useContext(Zrt), + Yrt = k.createContext(void 0), + mz = () => k.useContext(Yrt), + Xrt = k.createContext(void 0), + Jrt = k.forwardRef((t, e) => { + let n = Vm(() => { + var F, N + return { + search: "", + value: (N = (F = t.value) != null ? F : t.defaultValue) != null ? N : "", + selectedItemId: void 0, + filtered: { count: 0, items: new Map(), groups: new Set() }, + } + }), + o = Vm(() => new Set()), + r = Vm(() => new Map()), + i = Vm(() => new Map()), + s = Vm(() => new Set()), + a = eit(t), + { + label: c, + children: d, + value: u, + onValueChange: m, + filter: f, + shouldFilter: g, + loop: b, + disablePointerSelection: v = !1, + vimBindings: w = !0, + ..._ + } = t, + y = bi(), + C = bi(), + S = bi(), + P = k.useRef(null), + R = BLt() + Np(() => { + if (u !== void 0) { + let F = u.trim() + ;(n.current.value = F), T.emit() + } + }, [u]), + Np(() => { + R(6, G) + }, []) + let T = k.useMemo( + () => ({ + subscribe: (F) => (s.current.add(F), () => s.current.delete(F)), + snapshot: () => n.current, + setState: (F, N, J) => { + var oe, ae, Q, ee + if (!Object.is(n.current[F], N)) { + if (((n.current[F] = N), F === "search")) W(), j(), R(1, L) + else if (F === "value") { + if ( + document.activeElement.hasAttribute("cmdk-input") || + document.activeElement.hasAttribute("cmdk-root") + ) { + let q = document.getElementById(S) + q ? q.focus() : (oe = document.getElementById(y)) == null || oe.focus() + } + if ( + (R(7, () => { + var q + ;(n.current.selectedItemId = (q = U()) == null ? void 0 : q.id), T.emit() + }), + J || R(5, G), + ((ae = a.current) == null ? void 0 : ae.value) !== void 0) + ) { + let q = N ?? "" + ;(ee = (Q = a.current).onValueChange) == null || ee.call(Q, q) + return + } + } + T.emit() + } + }, + emit: () => { + s.current.forEach((F) => F()) + }, + }), + [], + ), + E = k.useMemo( + () => ({ + value: (F, N, J) => { + var oe + N !== ((oe = i.current.get(F)) == null ? void 0 : oe.value) && + (i.current.set(F, { value: N, keywords: J }), + n.current.filtered.items.set(F, $(N, J)), + R(2, () => { + j(), T.emit() + })) + }, + item: (F, N) => ( + o.current.add(F), + N && (r.current.has(N) ? r.current.get(N).add(F) : r.current.set(N, new Set([F]))), + R(3, () => { + W(), j(), n.current.value || L(), T.emit() + }), + () => { + i.current.delete(F), o.current.delete(F), n.current.filtered.items.delete(F) + let J = U() + R(4, () => { + W(), (J == null ? void 0 : J.getAttribute("id")) === F && L(), T.emit() + }) + } + ), + group: (F) => ( + r.current.has(F) || r.current.set(F, new Set()), + () => { + i.current.delete(F), r.current.delete(F) + } + ), + filter: () => a.current.shouldFilter, + label: c || t["aria-label"], + getDisablePointerSelection: () => a.current.disablePointerSelection, + listId: y, + inputId: S, + labelId: C, + listInnerRef: P, + }), + [], + ) + function $(F, N) { + var J, oe + let ae = (oe = (J = a.current) == null ? void 0 : J.filter) != null ? oe : ILt + return F ? ae(F, n.current.search, N) : 0 + } + function j() { + if (!n.current.search || a.current.shouldFilter === !1) return + let F = n.current.filtered.items, + N = [] + n.current.filtered.groups.forEach((oe) => { + let ae = r.current.get(oe), + Q = 0 + ae.forEach((ee) => { + let q = F.get(ee) + Q = Math.max(q, Q) + }), + N.push([oe, Q]) + }) + let J = P.current + Z() + .sort((oe, ae) => { + var Q, ee + let q = oe.getAttribute("id"), + me = ae.getAttribute("id") + return ((Q = F.get(me)) != null ? Q : 0) - ((ee = F.get(q)) != null ? ee : 0) + }) + .forEach((oe) => { + let ae = oe.closest(cP) + ae + ? ae.appendChild(oe.parentElement === ae ? oe : oe.closest(`${cP} > *`)) + : J.appendChild(oe.parentElement === J ? oe : oe.closest(`${cP} > *`)) + }), + N.sort((oe, ae) => ae[1] - oe[1]).forEach((oe) => { + var ae + let Q = + (ae = P.current) == null + ? void 0 + : ae.querySelector(`${Wg}[${Km}="${encodeURIComponent(oe[0])}"]`) + Q == null || Q.parentElement.appendChild(Q) + }) + } + function L() { + let F = Z().find((J) => J.getAttribute("aria-disabled") !== "true"), + N = F == null ? void 0 : F.getAttribute(Km) + T.setState("value", N || void 0) + } + function W() { + var F, N, J, oe + if (!n.current.search || a.current.shouldFilter === !1) { + n.current.filtered.count = o.current.size + return + } + n.current.filtered.groups = new Set() + let ae = 0 + for (let Q of o.current) { + let ee = (N = (F = i.current.get(Q)) == null ? void 0 : F.value) != null ? N : "", + q = (oe = (J = i.current.get(Q)) == null ? void 0 : J.keywords) != null ? oe : [], + me = $(ee, q) + n.current.filtered.items.set(Q, me), me > 0 && ae++ + } + for (let [Q, ee] of r.current) + for (let q of ee) + if (n.current.filtered.items.get(q) > 0) { + n.current.filtered.groups.add(Q) + break + } + n.current.filtered.count = ae + } + function G() { + var F, N, J + let oe = U() + oe && + (((F = oe.parentElement) == null ? void 0 : F.firstChild) === oe && + ((J = (N = oe.closest(Wg)) == null ? void 0 : N.querySelector(TLt)) == null || + J.scrollIntoView({ block: "nearest" })), + oe.scrollIntoView({ block: "nearest" })) + } + function U() { + var F + return (F = P.current) == null ? void 0 : F.querySelector(`${Qrt}[aria-selected="true"]`) + } + function Z() { + var F + return Array.from(((F = P.current) == null ? void 0 : F.querySelectorAll(SB)) || []) + } + function V(F) { + let N = Z()[F] + N && T.setState("value", N.getAttribute(Km)) + } + function X(F) { + var N + let J = U(), + oe = Z(), + ae = oe.findIndex((ee) => ee === J), + Q = oe[ae + F] + ;(N = a.current) != null && + N.loop && + (Q = ae + F < 0 ? oe[oe.length - 1] : ae + F === oe.length ? oe[0] : oe[ae + F]), + Q && T.setState("value", Q.getAttribute(Km)) + } + function H(F) { + let N = U(), + J = N == null ? void 0 : N.closest(Wg), + oe + for (; J && !oe; ) (J = F > 0 ? OLt(J, Wg) : FLt(J, Wg)), (oe = J == null ? void 0 : J.querySelector(SB)) + oe ? T.setState("value", oe.getAttribute(Km)) : X(F) + } + let B = () => V(Z().length - 1), + M = (F) => { + F.preventDefault(), F.metaKey ? B() : F.altKey ? H(1) : X(1) + }, + D = (F) => { + F.preventDefault(), F.metaKey ? V(0) : F.altKey ? H(-1) : X(-1) + } + return k.createElement( + Mt.div, + { + ref: e, + tabIndex: -1, + ..._, + "cmdk-root": "", + onKeyDown: (F) => { + var N + ;(N = _.onKeyDown) == null || N.call(_, F) + let J = F.nativeEvent.isComposing || F.keyCode === 229 + if (!(F.defaultPrevented || J)) + switch (F.key) { + case "n": + case "j": { + w && F.ctrlKey && M(F) + break + } + case "ArrowDown": { + M(F) + break + } + case "p": + case "k": { + w && F.ctrlKey && D(F) + break + } + case "ArrowUp": { + D(F) + break + } + case "Home": { + F.preventDefault(), V(0) + break + } + case "End": { + F.preventDefault(), B() + break + } + case "Enter": { + F.preventDefault() + let oe = U() + if (oe) { + let ae = new Event(wM) + oe.dispatchEvent(ae) + } + } + } + }, + }, + k.createElement("label", { "cmdk-label": "", htmlFor: E.inputId, id: E.labelId, style: qLt }, c), + yC(t, (F) => k.createElement(Yrt.Provider, { value: T }, k.createElement(Zrt.Provider, { value: E }, F))), + ) + }), + MLt = k.forwardRef((t, e) => { + var n, o + let r = bi(), + i = k.useRef(null), + s = k.useContext(Xrt), + a = Qb(), + c = eit(t), + d = (o = (n = c.current) == null ? void 0 : n.forceMount) != null ? o : s == null ? void 0 : s.forceMount + Np(() => { + if (!d) return a.item(r, s == null ? void 0 : s.id) + }, [d]) + let u = tit(r, i, [t.value, t.children, i], t.keywords), + m = mz(), + f = eu((R) => R.value && R.value === u.current), + g = eu((R) => (d || a.filter() === !1 ? !0 : R.search ? R.filtered.items.get(r) > 0 : !0)) + k.useEffect(() => { + let R = i.current + if (!(!R || t.disabled)) return R.addEventListener(wM, b), () => R.removeEventListener(wM, b) + }, [g, t.onSelect, t.disabled]) + function b() { + var R, T + v(), (T = (R = c.current).onSelect) == null || T.call(R, u.current) + } + function v() { + m.setState("value", u.current, !0) + } + if (!g) return null + let { disabled: w, value: _, onSelect: y, forceMount: C, keywords: S, ...P } = t + return k.createElement( + Mt.div, + { + ref: Xd(i, e), + ...P, + id: r, + "cmdk-item": "", + role: "option", + "aria-disabled": !!w, + "aria-selected": !!f, + "data-disabled": !!w, + "data-selected": !!f, + onPointerMove: w || a.getDisablePointerSelection() ? void 0 : v, + onClick: w ? void 0 : b, + }, + t.children, + ) + }), + jLt = k.forwardRef((t, e) => { + let { heading: n, children: o, forceMount: r, ...i } = t, + s = bi(), + a = k.useRef(null), + c = k.useRef(null), + d = bi(), + u = Qb(), + m = eu((g) => (r || u.filter() === !1 ? !0 : g.search ? g.filtered.groups.has(s) : !0)) + Np(() => u.group(s), []), tit(s, a, [t.value, t.heading, c]) + let f = k.useMemo(() => ({ id: s, forceMount: r }), [r]) + return k.createElement( + Mt.div, + { ref: Xd(a, e), ...i, "cmdk-group": "", role: "presentation", hidden: m ? void 0 : !0 }, + n && k.createElement("div", { ref: c, "cmdk-group-heading": "", "aria-hidden": !0, id: d }, n), + yC(t, (g) => + k.createElement( + "div", + { "cmdk-group-items": "", role: "group", "aria-labelledby": n ? d : void 0 }, + k.createElement(Xrt.Provider, { value: f }, g), + ), + ), + ) + }), + ELt = k.forwardRef((t, e) => { + let { alwaysRender: n, ...o } = t, + r = k.useRef(null), + i = eu((s) => !s.search) + return !n && !i + ? null + : k.createElement(Mt.div, { ref: Xd(r, e), ...o, "cmdk-separator": "", role: "separator" }) + }), + zLt = k.forwardRef((t, e) => { + let { onValueChange: n, ...o } = t, + r = t.value != null, + i = mz(), + s = eu((d) => d.search), + a = eu((d) => d.selectedItemId), + c = Qb() + return ( + k.useEffect(() => { + t.value != null && i.setState("search", t.value) + }, [t.value]), + k.createElement(Mt.input, { + ref: e, + ...o, + "cmdk-input": "", + autoComplete: "off", + autoCorrect: "off", + spellCheck: !1, + "aria-autocomplete": "list", + role: "combobox", + "aria-expanded": !0, + "aria-controls": c.listId, + "aria-labelledby": c.labelId, + "aria-activedescendant": a, + id: c.inputId, + type: "text", + value: r ? t.value : s, + onChange: (d) => { + r || i.setState("search", d.target.value), n == null || n(d.target.value) + }, + }) + ) + }), + $Lt = k.forwardRef((t, e) => { + let { children: n, label: o = "Suggestions", ...r } = t, + i = k.useRef(null), + s = k.useRef(null), + a = eu((d) => d.selectedItemId), + c = Qb() + return ( + k.useEffect(() => { + if (s.current && i.current) { + let d = s.current, + u = i.current, + m, + f = new ResizeObserver(() => { + m = requestAnimationFrame(() => { + let g = d.offsetHeight + u.style.setProperty("--cmdk-list-height", g.toFixed(1) + "px") + }) + }) + return ( + f.observe(d), + () => { + cancelAnimationFrame(m), f.unobserve(d) + } + ) + } + }, []), + k.createElement( + Mt.div, + { + ref: Xd(i, e), + ...r, + "cmdk-list": "", + role: "listbox", + tabIndex: -1, + "aria-activedescendant": a, + "aria-label": o, + id: c.listId, + }, + yC(t, (d) => k.createElement("div", { ref: Xd(s, c.listInnerRef), "cmdk-list-sizer": "" }, d)), + ) + ) + }), + LLt = k.forwardRef((t, e) => { + let { open: n, onOpenChange: o, overlayClassName: r, contentClassName: i, container: s, ...a } = t + return k.createElement( + GE, + { open: n, onOpenChange: o }, + k.createElement( + QE, + { container: s }, + k.createElement(ZE, { "cmdk-overlay": "", className: r }), + k.createElement( + YE, + { "aria-label": t.label, "cmdk-dialog": "", className: i }, + k.createElement(Jrt, { ref: e, ...a }), + ), + ), + ) + }), + DLt = k.forwardRef((t, e) => + eu((n) => n.filtered.count === 0) + ? k.createElement(Mt.div, { ref: e, ...t, "cmdk-empty": "", role: "presentation" }) + : null, + ), + NLt = k.forwardRef((t, e) => { + let { progress: n, children: o, label: r = "Loading...", ...i } = t + return k.createElement( + Mt.div, + { + ref: e, + ...i, + "cmdk-loading": "", + role: "progressbar", + "aria-valuenow": n, + "aria-valuemin": 0, + "aria-valuemax": 100, + "aria-label": r, + }, + yC(t, (s) => k.createElement("div", { "aria-hidden": !0 }, s)), + ) + }), + gs = Object.assign(Jrt, { + List: $Lt, + Item: MLt, + Input: zLt, + Group: jLt, + Separator: ELt, + Dialog: LLt, + Empty: DLt, + Loading: NLt, + }) +function OLt(t, e) { + let n = t.nextElementSibling + for (; n; ) { + if (n.matches(e)) return n + n = n.nextElementSibling + } +} +function FLt(t, e) { + let n = t.previousElementSibling + for (; n; ) { + if (n.matches(e)) return n + n = n.previousElementSibling + } +} +function eit(t) { + let e = k.useRef(t) + return ( + Np(() => { + e.current = t + }), + e + ) +} +var Np = typeof window > "u" ? k.useEffect : k.useLayoutEffect +function Vm(t) { + let e = k.useRef() + return e.current === void 0 && (e.current = t()), e +} +function eu(t) { + let e = mz(), + n = () => t(e.snapshot()) + return k.useSyncExternalStore(e.subscribe, n, n) +} +function tit(t, e, n, o = []) { + let r = k.useRef(), + i = Qb() + return ( + Np(() => { + var s + let a = (() => { + var d + for (let u of n) { + if (typeof u == "string") return u.trim() + if (typeof u == "object" && "current" in u) + return u.current ? ((d = u.current.textContent) == null ? void 0 : d.trim()) : r.current + } + })(), + c = o.map((d) => d.trim()) + i.value(t, a, c), (s = e.current) == null || s.setAttribute(Km, a), (r.current = a) + }), + r + ) +} +var BLt = () => { + let [t, e] = k.useState(), + n = Vm(() => new Map()) + return ( + Np(() => { + n.current.forEach((o) => o()), (n.current = new Map()) + }, [t]), + (o, r) => { + n.current.set(o, r), e({}) + } + ) +} +function ULt(t) { + let e = t.type + return typeof e == "function" ? e(t.props) : "render" in e ? e.render(t.props) : t +} +function yC({ asChild: t, children: e }, n) { + return t && k.isValidElement(e) ? k.cloneElement(ULt(e), { ref: e.ref }, n(e.props.children)) : n(e) +} +var qLt = { + position: "absolute", + width: "1px", + height: "1px", + padding: "0", + margin: "-1px", + overflow: "hidden", + clip: "rect(0, 0, 0, 0)", + whiteSpace: "nowrap", + borderWidth: "0", +} +function fu(t, e) { + if (t == null) return {} + var n = {}, + o = Object.keys(t), + r, + i + for (i = 0; i < o.length; i++) (r = o[i]), !(e.indexOf(r) >= 0) && (n[r] = t[r]) + return n +} +var WLt = ["color"], + KLt = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, WLt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M4.18179 6.18181C4.35753 6.00608 4.64245 6.00608 4.81819 6.18181L7.49999 8.86362L10.1818 6.18181C10.3575 6.00608 10.6424 6.00608 10.8182 6.18181C10.9939 6.35755 10.9939 6.64247 10.8182 6.81821L7.81819 9.81821C7.73379 9.9026 7.61934 9.95001 7.49999 9.95001C7.38064 9.95001 7.26618 9.9026 7.18179 9.81821L4.18179 6.81821C4.00605 6.64247 4.00605 6.35755 4.18179 6.18181Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }), + VLt = ["color"], + nit = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, VLt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M4.18179 8.81819C4.00605 8.64245 4.00605 8.35753 4.18179 8.18179L7.18179 5.18179C7.26618 5.0974 7.38064 5.04999 7.49999 5.04999C7.61933 5.04999 7.73379 5.0974 7.81819 5.18179L10.8182 8.18179C10.9939 8.35753 10.9939 8.64245 10.8182 8.81819C10.6424 8.99392 10.3575 8.99392 10.1818 8.81819L7.49999 6.13638L4.81819 8.81819C4.64245 8.99392 4.35753 8.99392 4.18179 8.81819Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }), + HLt = ["color"], + oit = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, HLt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }), + GLt = ["color"], + QLt = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, GLt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M13.15 7.49998C13.15 4.66458 10.9402 1.84998 7.50002 1.84998C4.72167 1.84998 3.34849 3.9064 2.76335 5H4.5C4.77614 5 5 5.22386 5 5.5C5 5.77614 4.77614 6 4.5 6H1.5C1.22386 6 1 5.77614 1 5.5V2.5C1 2.22386 1.22386 2 1.5 2C1.77614 2 2 2.22386 2 2.5V4.31318C2.70453 3.07126 4.33406 0.849976 7.50002 0.849976C11.5628 0.849976 14.15 4.18537 14.15 7.49998C14.15 10.8146 11.5628 14.15 7.50002 14.15C5.55618 14.15 3.93778 13.3808 2.78548 12.2084C2.16852 11.5806 1.68668 10.839 1.35816 10.0407C1.25306 9.78536 1.37488 9.49315 1.63024 9.38806C1.8856 9.28296 2.17781 9.40478 2.2829 9.66014C2.56374 10.3425 2.97495 10.9745 3.4987 11.5074C4.47052 12.4963 5.83496 13.15 7.50002 13.15C10.9402 13.15 13.15 10.3354 13.15 7.49998ZM7.5 4.00001C7.77614 4.00001 8 4.22387 8 4.50001V7.29291L9.85355 9.14646C10.0488 9.34172 10.0488 9.65831 9.85355 9.85357C9.65829 10.0488 9.34171 10.0488 9.14645 9.85357L7.14645 7.85357C7.05268 7.7598 7 7.63262 7 7.50001V4.50001C7 4.22387 7.22386 4.00001 7.5 4.00001Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }), + ZLt = ["color"], + YLt = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, ZLt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }), + XLt = ["color"], + JLt = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, XLt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z", + fill: o, + }), + ) + }), + eDt = ["color"], + tDt = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, eDt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M3 2C2.44772 2 2 2.44772 2 3V12C2 12.5523 2.44772 13 3 13H12C12.5523 13 13 12.5523 13 12V8.5C13 8.22386 12.7761 8 12.5 8C12.2239 8 12 8.22386 12 8.5V12H3V3L6.5 3C6.77614 3 7 2.77614 7 2.5C7 2.22386 6.77614 2 6.5 2H3ZM12.8536 2.14645C12.9015 2.19439 12.9377 2.24964 12.9621 2.30861C12.9861 2.36669 12.9996 2.4303 13 2.497L13 2.5V2.50049V5.5C13 5.77614 12.7761 6 12.5 6C12.2239 6 12 5.77614 12 5.5V3.70711L6.85355 8.85355C6.65829 9.04882 6.34171 9.04882 6.14645 8.85355C5.95118 8.65829 5.95118 8.34171 6.14645 8.14645L11.2929 3H9.5C9.22386 3 9 2.77614 9 2.5C9 2.22386 9.22386 2 9.5 2H12.4999H12.5C12.5678 2 12.6324 2.01349 12.6914 2.03794C12.7504 2.06234 12.8056 2.09851 12.8536 2.14645Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }), + nDt = ["color"], + oDt = k.forwardRef(function (t, e) { + var n = t.color, + o = n === void 0 ? "currentColor" : n, + r = fu(t, nDt) + return k.createElement( + "svg", + Object.assign( + { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, + r, + { ref: e }, + ), + k.createElement("path", { + d: "M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z", + fill: o, + fillRule: "evenodd", + clipRule: "evenodd", + }), + ) + }) +function Rf({ ...t }) { + return l.jsx(GE, { "data-slot": "dialog", ...t }) +} +function rDt({ ...t }) { + return l.jsx(QE, { "data-slot": "dialog-portal", ...t }) +} +function iDt({ className: t, ...e }) { + return l.jsx(ZE, { + "data-slot": "dialog-overlay", + className: be( + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", + t, + ), + ...e, + }) +} +function Tf({ className: t, children: e, ...n }) { + return l.jsxs(rDt, { + "data-slot": "dialog-portal", + children: [ + l.jsx(iDt, {}), + l.jsxs(YE, { + "data-slot": "dialog-content", + className: be( + "bg-vscode-editor-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg", + t, + ), + ...n, + children: [ + e, + l.jsxs(XE, { + className: + "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", + children: [l.jsx(nl, {}), l.jsx("span", { className: "sr-only", children: "Close" })], + }), + ], + }), + ], + }) +} +function Zb({ className: t, ...e }) { + return l.jsx("div", { + "data-slot": "dialog-header", + className: be("flex flex-col gap-2 text-center sm:text-left", t), + ...e, + }) +} +function hz({ className: t, ...e }) { + return l.jsx("div", { + "data-slot": "dialog-footer", + className: be("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", t), + ...e, + }) +} +function If({ className: t, ...e }) { + return l.jsx(Kot, { + "data-slot": "dialog-title", + className: be("text-lg leading-none font-semibold my-0", t), + ...e, + }) +} +function kC({ className: t, ...e }) { + return l.jsx(Vot, { + "data-slot": "dialog-description", + className: be("text-muted-foreground text-sm my-0", t), + ...e, + }) +} +const Mf = k.forwardRef(({ className: t, ...e }, n) => + l.jsx(gs, { + ref: n, + className: be("flex h-full w-full flex-col overflow-hidden rounded-xs bg-popover text-popover-foreground", t), + ...e, + }), +) +Mf.displayName = gs.displayName +const Yb = k.forwardRef(({ className: t, ...e }, n) => + l.jsxs("div", { + className: "flex items-center border-b border-vscode-dropdown-border px-3", + "cmdk-input-wrapper": "", + children: [ + l.jsx(oDt, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }), + l.jsx(gs.Input, { + ref: n, + className: be( + "flex h-10 w-full rounded-xs bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50", + t, + ), + ...e, + }), + ], + }), +) +Yb.displayName = gs.Input.displayName +const jf = k.forwardRef(({ className: t, ...e }, n) => + l.jsx(gs.List, { ref: n, className: be("max-h-[300px] overflow-y-auto overflow-x-hidden", t), ...e }), +) +jf.displayName = gs.List.displayName +const Xb = k.forwardRef((t, e) => l.jsx(gs.Empty, { ref: e, className: "py-6 text-center text-sm", ...t })) +Xb.displayName = gs.Empty.displayName +const Ef = k.forwardRef(({ className: t, ...e }, n) => + l.jsx(gs.Group, { + ref: n, + className: be( + "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground", + t, + ), + ...e, + }), +) +Ef.displayName = gs.Group.displayName +const sDt = k.forwardRef(({ className: t, ...e }, n) => + l.jsx(gs.Separator, { ref: n, className: be("-mx-1 h-px bg-vscode-dropdown-border", t), ...e }), +) +sDt.displayName = gs.Separator.displayName +const tu = k.forwardRef(({ className: t, ...e }, n) => + l.jsx(gs.Item, { + ref: n, + className: be( + "relative flex gap-2 select-none items-center px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", + "data-[selected=true]:bg-vscode-list-activeSelectionBackground data-[selected=true]:text-vscode-list-activeSelectionForeground", + "text-vscode-dropdown-foreground text-sm", + "rounded-xs active:opacity-90 cursor-pointer", + t, + ), + ...e, + }), +) +tu.displayName = gs.Item.displayName +function xC(t) { + const e = t + "CollectionProvider", + [n, o] = hs(e), + [r, i] = n(e, { collectionRef: { current: null }, itemMap: new Map() }), + s = (v) => { + const { scope: w, children: _ } = v, + y = Ie.useRef(null), + C = Ie.useRef(new Map()).current + return l.jsx(r, { scope: w, itemMap: C, collectionRef: y, children: _ }) + } + s.displayName = e + const a = t + "CollectionSlot", + c = Jd(a), + d = Ie.forwardRef((v, w) => { + const { scope: _, children: y } = v, + C = i(a, _), + S = cn(w, C.collectionRef) + return l.jsx(c, { ref: S, children: y }) + }) + d.displayName = a + const u = t + "CollectionItemSlot", + m = "data-radix-collection-item", + f = Jd(u), + g = Ie.forwardRef((v, w) => { + const { scope: _, children: y, ...C } = v, + S = Ie.useRef(null), + P = cn(w, S), + R = i(u, _) + return ( + Ie.useEffect(() => (R.itemMap.set(S, { ref: S, ...C }), () => void R.itemMap.delete(S))), + l.jsx(f, { [m]: "", ref: P, children: y }) + ) + }) + g.displayName = u + function b(v) { + const w = i(t + "CollectionConsumer", v) + return Ie.useCallback(() => { + const y = w.collectionRef.current + if (!y) return [] + const C = Array.from(y.querySelectorAll(`[${m}]`)) + return Array.from(w.itemMap.values()).sort((R, T) => C.indexOf(R.ref.current) - C.indexOf(T.ref.current)) + }, [w.collectionRef, w.itemMap]) + } + return [{ Provider: s, Slot: d, ItemSlot: g }, b, o] +} +var aDt = k.createContext(void 0) +function fz(t) { + const e = k.useContext(aDt) + return t || e || "ltr" +} +const lDt = ["top", "right", "bottom", "left"], + nu = Math.min, + $s = Math.max, + Xw = Math.round, + Yk = Math.floor, + Fl = (t) => ({ x: t, y: t }), + cDt = { left: "right", right: "left", bottom: "top", top: "bottom" }, + dDt = { start: "end", end: "start" } +function _M(t, e, n) { + return $s(t, nu(e, n)) +} +function Fc(t, e) { + return typeof t == "function" ? t(e) : t +} +function Bc(t) { + return t.split("-")[0] +} +function zf(t) { + return t.split("-")[1] +} +function gz(t) { + return t === "x" ? "y" : "x" +} +function vz(t) { + return t === "y" ? "height" : "width" +} +function Pc(t) { + return ["top", "bottom"].includes(Bc(t)) ? "y" : "x" +} +function bz(t) { + return gz(Pc(t)) +} +function uDt(t, e, n) { + n === void 0 && (n = !1) + const o = zf(t), + r = bz(t), + i = vz(r) + let s = r === "x" ? (o === (n ? "end" : "start") ? "right" : "left") : o === "start" ? "bottom" : "top" + return e.reference[i] > e.floating[i] && (s = Jw(s)), [s, Jw(s)] +} +function pDt(t) { + const e = Jw(t) + return [CM(t), e, CM(e)] +} +function CM(t) { + return t.replace(/start|end/g, (e) => dDt[e]) +} +function mDt(t, e, n) { + const o = ["left", "right"], + r = ["right", "left"], + i = ["top", "bottom"], + s = ["bottom", "top"] + switch (t) { + case "top": + case "bottom": + return n ? (e ? r : o) : e ? o : r + case "left": + case "right": + return e ? i : s + default: + return [] + } +} +function hDt(t, e, n, o) { + const r = zf(t) + let i = mDt(Bc(t), n === "start", o) + return r && ((i = i.map((s) => s + "-" + r)), e && (i = i.concat(i.map(CM)))), i +} +function Jw(t) { + return t.replace(/left|right|bottom|top/g, (e) => cDt[e]) +} +function fDt(t) { + return { top: 0, right: 0, bottom: 0, left: 0, ...t } +} +function rit(t) { + return typeof t != "number" ? fDt(t) : { top: t, right: t, bottom: t, left: t } +} +function e_(t) { + const { x: e, y: n, width: o, height: r } = t + return { width: o, height: r, top: n, left: e, right: e + o, bottom: n + r, x: e, y: n } +} +function AB(t, e, n) { + let { reference: o, floating: r } = t + const i = Pc(e), + s = bz(e), + a = vz(s), + c = Bc(e), + d = i === "y", + u = o.x + o.width / 2 - r.width / 2, + m = o.y + o.height / 2 - r.height / 2, + f = o[a] / 2 - r[a] / 2 + let g + switch (c) { + case "top": + g = { x: u, y: o.y - r.height } + break + case "bottom": + g = { x: u, y: o.y + o.height } + break + case "right": + g = { x: o.x + o.width, y: m } + break + case "left": + g = { x: o.x - r.width, y: m } + break + default: + g = { x: o.x, y: o.y } + } + switch (zf(e)) { + case "start": + g[s] -= f * (n && d ? -1 : 1) + break + case "end": + g[s] += f * (n && d ? -1 : 1) + break + } + return g +} +const gDt = async (t, e, n) => { + const { placement: o = "bottom", strategy: r = "absolute", middleware: i = [], platform: s } = n, + a = i.filter(Boolean), + c = await (s.isRTL == null ? void 0 : s.isRTL(e)) + let d = await s.getElementRects({ reference: t, floating: e, strategy: r }), + { x: u, y: m } = AB(d, o, c), + f = o, + g = {}, + b = 0 + for (let v = 0; v < a.length; v++) { + const { name: w, fn: _ } = a[v], + { + x: y, + y: C, + data: S, + reset: P, + } = await _({ + x: u, + y: m, + initialPlacement: o, + placement: f, + strategy: r, + middlewareData: g, + rects: d, + platform: s, + elements: { reference: t, floating: e }, + }) + ;(u = y ?? u), + (m = C ?? m), + (g = { ...g, [w]: { ...g[w], ...S } }), + P && + b <= 50 && + (b++, + typeof P == "object" && + (P.placement && (f = P.placement), + P.rects && + (d = + P.rects === !0 + ? await s.getElementRects({ reference: t, floating: e, strategy: r }) + : P.rects), + ({ x: u, y: m } = AB(d, f, c))), + (v = -1)) + } + return { x: u, y: m, placement: f, strategy: r, middlewareData: g } +} +async function sb(t, e) { + var n + e === void 0 && (e = {}) + const { x: o, y: r, platform: i, rects: s, elements: a, strategy: c } = t, + { + boundary: d = "clippingAncestors", + rootBoundary: u = "viewport", + elementContext: m = "floating", + altBoundary: f = !1, + padding: g = 0, + } = Fc(e, t), + b = rit(g), + w = a[f ? (m === "floating" ? "reference" : "floating") : m], + _ = e_( + await i.getClippingRect({ + element: + (n = await (i.isElement == null ? void 0 : i.isElement(w))) == null || n + ? w + : w.contextElement || + (await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(a.floating))), + boundary: d, + rootBoundary: u, + strategy: c, + }), + ), + y = m === "floating" ? { x: o, y: r, width: s.floating.width, height: s.floating.height } : s.reference, + C = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(a.floating)), + S = (await (i.isElement == null ? void 0 : i.isElement(C))) + ? (await (i.getScale == null ? void 0 : i.getScale(C))) || { x: 1, y: 1 } + : { x: 1, y: 1 }, + P = e_( + i.convertOffsetParentRelativeRectToViewportRelativeRect + ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({ + elements: a, + rect: y, + offsetParent: C, + strategy: c, + }) + : y, + ) + return { + top: (_.top - P.top + b.top) / S.y, + bottom: (P.bottom - _.bottom + b.bottom) / S.y, + left: (_.left - P.left + b.left) / S.x, + right: (P.right - _.right + b.right) / S.x, + } +} +const vDt = (t) => ({ + name: "arrow", + options: t, + async fn(e) { + const { x: n, y: o, placement: r, rects: i, platform: s, elements: a, middlewareData: c } = e, + { element: d, padding: u = 0 } = Fc(t, e) || {} + if (d == null) return {} + const m = rit(u), + f = { x: n, y: o }, + g = bz(r), + b = vz(g), + v = await s.getDimensions(d), + w = g === "y", + _ = w ? "top" : "left", + y = w ? "bottom" : "right", + C = w ? "clientHeight" : "clientWidth", + S = i.reference[b] + i.reference[g] - f[g] - i.floating[b], + P = f[g] - i.reference[g], + R = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(d)) + let T = R ? R[C] : 0 + ;(!T || !(await (s.isElement == null ? void 0 : s.isElement(R)))) && (T = a.floating[C] || i.floating[b]) + const E = S / 2 - P / 2, + $ = T / 2 - v[b] / 2 - 1, + j = nu(m[_], $), + L = nu(m[y], $), + W = j, + G = T - v[b] - L, + U = T / 2 - v[b] / 2 + E, + Z = _M(W, U, G), + V = !c.arrow && zf(r) != null && U !== Z && i.reference[b] / 2 - (U < W ? j : L) - v[b] / 2 < 0, + X = V ? (U < W ? U - W : U - G) : 0 + return { + [g]: f[g] + X, + data: { [g]: Z, centerOffset: U - Z - X, ...(V && { alignmentOffset: X }) }, + reset: V, + } + }, + }), + bDt = function (t) { + return ( + t === void 0 && (t = {}), + { + name: "flip", + options: t, + async fn(e) { + var n, o + const { + placement: r, + middlewareData: i, + rects: s, + initialPlacement: a, + platform: c, + elements: d, + } = e, + { + mainAxis: u = !0, + crossAxis: m = !0, + fallbackPlacements: f, + fallbackStrategy: g = "bestFit", + fallbackAxisSideDirection: b = "none", + flipAlignment: v = !0, + ...w + } = Fc(t, e) + if ((n = i.arrow) != null && n.alignmentOffset) return {} + const _ = Bc(r), + y = Pc(a), + C = Bc(a) === a, + S = await (c.isRTL == null ? void 0 : c.isRTL(d.floating)), + P = f || (C || !v ? [Jw(a)] : pDt(a)), + R = b !== "none" + !f && R && P.push(...hDt(a, v, b, S)) + const T = [a, ...P], + E = await sb(e, w), + $ = [] + let j = ((o = i.flip) == null ? void 0 : o.overflows) || [] + if ((u && $.push(E[_]), m)) { + const Z = uDt(r, s, S) + $.push(E[Z[0]], E[Z[1]]) + } + if (((j = [...j, { placement: r, overflows: $ }]), !$.every((Z) => Z <= 0))) { + var L, W + const Z = (((L = i.flip) == null ? void 0 : L.index) || 0) + 1, + V = T[Z] + if (V) { + var G + const H = m === "alignment" ? y !== Pc(V) : !1, + B = ((G = j[0]) == null ? void 0 : G.overflows[0]) > 0 + if (!H || B) return { data: { index: Z, overflows: j }, reset: { placement: V } } + } + let X = + (W = j + .filter((H) => H.overflows[0] <= 0) + .sort((H, B) => H.overflows[1] - B.overflows[1])[0]) == null + ? void 0 + : W.placement + if (!X) + switch (g) { + case "bestFit": { + var U + const H = + (U = j + .filter((B) => { + if (R) { + const M = Pc(B.placement) + return M === y || M === "y" + } + return !0 + }) + .map((B) => [ + B.placement, + B.overflows.filter((M) => M > 0).reduce((M, D) => M + D, 0), + ]) + .sort((B, M) => B[1] - M[1])[0]) == null + ? void 0 + : U[0] + H && (X = H) + break + } + case "initialPlacement": + X = a + break + } + if (r !== X) return { reset: { placement: X } } + } + return {} + }, + } + ) + } +function PB(t, e) { + return { top: t.top - e.height, right: t.right - e.width, bottom: t.bottom - e.height, left: t.left - e.width } +} +function RB(t) { + return lDt.some((e) => t[e] >= 0) +} +const yDt = function (t) { + return ( + t === void 0 && (t = {}), + { + name: "hide", + options: t, + async fn(e) { + const { rects: n } = e, + { strategy: o = "referenceHidden", ...r } = Fc(t, e) + switch (o) { + case "referenceHidden": { + const i = await sb(e, { ...r, elementContext: "reference" }), + s = PB(i, n.reference) + return { data: { referenceHiddenOffsets: s, referenceHidden: RB(s) } } + } + case "escaped": { + const i = await sb(e, { ...r, altBoundary: !0 }), + s = PB(i, n.floating) + return { data: { escapedOffsets: s, escaped: RB(s) } } + } + default: + return {} + } + }, + } + ) +} +async function kDt(t, e) { + const { placement: n, platform: o, elements: r } = t, + i = await (o.isRTL == null ? void 0 : o.isRTL(r.floating)), + s = Bc(n), + a = zf(n), + c = Pc(n) === "y", + d = ["left", "top"].includes(s) ? -1 : 1, + u = i && c ? -1 : 1, + m = Fc(e, t) + let { + mainAxis: f, + crossAxis: g, + alignmentAxis: b, + } = typeof m == "number" + ? { mainAxis: m, crossAxis: 0, alignmentAxis: null } + : { mainAxis: m.mainAxis || 0, crossAxis: m.crossAxis || 0, alignmentAxis: m.alignmentAxis } + return ( + a && typeof b == "number" && (g = a === "end" ? b * -1 : b), c ? { x: g * u, y: f * d } : { x: f * d, y: g * u } + ) +} +const xDt = function (t) { + return ( + t === void 0 && (t = 0), + { + name: "offset", + options: t, + async fn(e) { + var n, o + const { x: r, y: i, placement: s, middlewareData: a } = e, + c = await kDt(e, t) + return s === ((n = a.offset) == null ? void 0 : n.placement) && + (o = a.arrow) != null && + o.alignmentOffset + ? {} + : { x: r + c.x, y: i + c.y, data: { ...c, placement: s } } + }, + } + ) + }, + wDt = function (t) { + return ( + t === void 0 && (t = {}), + { + name: "shift", + options: t, + async fn(e) { + const { x: n, y: o, placement: r } = e, + { + mainAxis: i = !0, + crossAxis: s = !1, + limiter: a = { + fn: (w) => { + let { x: _, y } = w + return { x: _, y } + }, + }, + ...c + } = Fc(t, e), + d = { x: n, y: o }, + u = await sb(e, c), + m = Pc(Bc(r)), + f = gz(m) + let g = d[f], + b = d[m] + if (i) { + const w = f === "y" ? "top" : "left", + _ = f === "y" ? "bottom" : "right", + y = g + u[w], + C = g - u[_] + g = _M(y, g, C) + } + if (s) { + const w = m === "y" ? "top" : "left", + _ = m === "y" ? "bottom" : "right", + y = b + u[w], + C = b - u[_] + b = _M(y, b, C) + } + const v = a.fn({ ...e, [f]: g, [m]: b }) + return { ...v, data: { x: v.x - n, y: v.y - o, enabled: { [f]: i, [m]: s } } } + }, + } + ) + }, + _Dt = function (t) { + return ( + t === void 0 && (t = {}), + { + options: t, + fn(e) { + const { x: n, y: o, placement: r, rects: i, middlewareData: s } = e, + { offset: a = 0, mainAxis: c = !0, crossAxis: d = !0 } = Fc(t, e), + u = { x: n, y: o }, + m = Pc(r), + f = gz(m) + let g = u[f], + b = u[m] + const v = Fc(a, e), + w = typeof v == "number" ? { mainAxis: v, crossAxis: 0 } : { mainAxis: 0, crossAxis: 0, ...v } + if (c) { + const C = f === "y" ? "height" : "width", + S = i.reference[f] - i.floating[C] + w.mainAxis, + P = i.reference[f] + i.reference[C] - w.mainAxis + g < S ? (g = S) : g > P && (g = P) + } + if (d) { + var _, y + const C = f === "y" ? "width" : "height", + S = ["top", "left"].includes(Bc(r)), + P = + i.reference[m] - + i.floating[C] + + ((S && ((_ = s.offset) == null ? void 0 : _[m])) || 0) + + (S ? 0 : w.crossAxis), + R = + i.reference[m] + + i.reference[C] + + (S ? 0 : ((y = s.offset) == null ? void 0 : y[m]) || 0) - + (S ? w.crossAxis : 0) + b < P ? (b = P) : b > R && (b = R) + } + return { [f]: g, [m]: b } + }, + } + ) + }, + CDt = function (t) { + return ( + t === void 0 && (t = {}), + { + name: "size", + options: t, + async fn(e) { + var n, o + const { placement: r, rects: i, platform: s, elements: a } = e, + { apply: c = () => {}, ...d } = Fc(t, e), + u = await sb(e, d), + m = Bc(r), + f = zf(r), + g = Pc(r) === "y", + { width: b, height: v } = i.floating + let w, _ + m === "top" || m === "bottom" + ? ((w = m), + (_ = + f === ((await (s.isRTL == null ? void 0 : s.isRTL(a.floating))) ? "start" : "end") + ? "left" + : "right")) + : ((_ = m), (w = f === "end" ? "top" : "bottom")) + const y = v - u.top - u.bottom, + C = b - u.left - u.right, + S = nu(v - u[w], y), + P = nu(b - u[_], C), + R = !e.middlewareData.shift + let T = S, + E = P + if ( + ((n = e.middlewareData.shift) != null && n.enabled.x && (E = C), + (o = e.middlewareData.shift) != null && o.enabled.y && (T = y), + R && !f) + ) { + const j = $s(u.left, 0), + L = $s(u.right, 0), + W = $s(u.top, 0), + G = $s(u.bottom, 0) + g + ? (E = b - 2 * (j !== 0 || L !== 0 ? j + L : $s(u.left, u.right))) + : (T = v - 2 * (W !== 0 || G !== 0 ? W + G : $s(u.top, u.bottom))) + } + await c({ ...e, availableWidth: E, availableHeight: T }) + const $ = await s.getDimensions(a.floating) + return b !== $.width || v !== $.height ? { reset: { rects: !0 } } : {} + }, + } + ) + } +function wC() { + return typeof window < "u" +} +function $f(t) { + return iit(t) ? (t.nodeName || "").toLowerCase() : "#document" +} +function Us(t) { + var e + return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window +} +function Hl(t) { + var e + return (e = (iit(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement +} +function iit(t) { + return wC() ? t instanceof Node || t instanceof Us(t).Node : !1 +} +function ol(t) { + return wC() ? t instanceof Element || t instanceof Us(t).Element : !1 +} +function Kl(t) { + return wC() ? t instanceof HTMLElement || t instanceof Us(t).HTMLElement : !1 +} +function TB(t) { + return !wC() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof Us(t).ShadowRoot +} +function Jb(t) { + const { overflow: e, overflowX: n, overflowY: o, display: r } = rl(t) + return /auto|scroll|overlay|hidden|clip/.test(e + o + n) && !["inline", "contents"].includes(r) +} +function SDt(t) { + return ["table", "td", "th"].includes($f(t)) +} +function _C(t) { + return [":popover-open", ":modal"].some((e) => { + try { + return t.matches(e) + } catch { + return !1 + } + }) +} +function yz(t) { + const e = kz(), + n = ol(t) ? rl(t) : t + return ( + ["transform", "translate", "scale", "rotate", "perspective"].some((o) => (n[o] ? n[o] !== "none" : !1)) || + (n.containerType ? n.containerType !== "normal" : !1) || + (!e && (n.backdropFilter ? n.backdropFilter !== "none" : !1)) || + (!e && (n.filter ? n.filter !== "none" : !1)) || + ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((o) => + (n.willChange || "").includes(o), + ) || + ["paint", "layout", "strict", "content"].some((o) => (n.contain || "").includes(o)) + ) +} +function ADt(t) { + let e = ou(t) + for (; Kl(e) && !Zh(e); ) { + if (yz(e)) return e + if (_C(e)) return null + e = ou(e) + } + return null +} +function kz() { + return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none") +} +function Zh(t) { + return ["html", "body", "#document"].includes($f(t)) +} +function rl(t) { + return Us(t).getComputedStyle(t) +} +function CC(t) { + return ol(t) + ? { scrollLeft: t.scrollLeft, scrollTop: t.scrollTop } + : { scrollLeft: t.scrollX, scrollTop: t.scrollY } +} +function ou(t) { + if ($f(t) === "html") return t + const e = t.assignedSlot || t.parentNode || (TB(t) && t.host) || Hl(t) + return TB(e) ? e.host : e +} +function sit(t) { + const e = ou(t) + return Zh(e) ? (t.ownerDocument ? t.ownerDocument.body : t.body) : Kl(e) && Jb(e) ? e : sit(e) +} +function ab(t, e, n) { + var o + e === void 0 && (e = []), n === void 0 && (n = !0) + const r = sit(t), + i = r === ((o = t.ownerDocument) == null ? void 0 : o.body), + s = Us(r) + if (i) { + const a = SM(s) + return e.concat(s, s.visualViewport || [], Jb(r) ? r : [], a && n ? ab(a) : []) + } + return e.concat(r, ab(r, [], n)) +} +function SM(t) { + return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null +} +function ait(t) { + const e = rl(t) + let n = parseFloat(e.width) || 0, + o = parseFloat(e.height) || 0 + const r = Kl(t), + i = r ? t.offsetWidth : n, + s = r ? t.offsetHeight : o, + a = Xw(n) !== i || Xw(o) !== s + return a && ((n = i), (o = s)), { width: n, height: o, $: a } +} +function xz(t) { + return ol(t) ? t : t.contextElement +} +function vh(t) { + const e = xz(t) + if (!Kl(e)) return Fl(1) + const n = e.getBoundingClientRect(), + { width: o, height: r, $: i } = ait(e) + let s = (i ? Xw(n.width) : n.width) / o, + a = (i ? Xw(n.height) : n.height) / r + return (!s || !Number.isFinite(s)) && (s = 1), (!a || !Number.isFinite(a)) && (a = 1), { x: s, y: a } +} +const PDt = Fl(0) +function lit(t) { + const e = Us(t) + return !kz() || !e.visualViewport ? PDt : { x: e.visualViewport.offsetLeft, y: e.visualViewport.offsetTop } +} +function RDt(t, e, n) { + return e === void 0 && (e = !1), !n || (e && n !== Us(t)) ? !1 : e +} +function Op(t, e, n, o) { + e === void 0 && (e = !1), n === void 0 && (n = !1) + const r = t.getBoundingClientRect(), + i = xz(t) + let s = Fl(1) + e && (o ? ol(o) && (s = vh(o)) : (s = vh(t))) + const a = RDt(i, n, o) ? lit(i) : Fl(0) + let c = (r.left + a.x) / s.x, + d = (r.top + a.y) / s.y, + u = r.width / s.x, + m = r.height / s.y + if (i) { + const f = Us(i), + g = o && ol(o) ? Us(o) : o + let b = f, + v = SM(b) + for (; v && o && g !== b; ) { + const w = vh(v), + _ = v.getBoundingClientRect(), + y = rl(v), + C = _.left + (v.clientLeft + parseFloat(y.paddingLeft)) * w.x, + S = _.top + (v.clientTop + parseFloat(y.paddingTop)) * w.y + ;(c *= w.x), (d *= w.y), (u *= w.x), (m *= w.y), (c += C), (d += S), (b = Us(v)), (v = SM(b)) + } + } + return e_({ width: u, height: m, x: c, y: d }) +} +function wz(t, e) { + const n = CC(t).scrollLeft + return e ? e.left + n : Op(Hl(t)).left + n +} +function cit(t, e, n) { + n === void 0 && (n = !1) + const o = t.getBoundingClientRect(), + r = o.left + e.scrollLeft - (n ? 0 : wz(t, o)), + i = o.top + e.scrollTop + return { x: r, y: i } +} +function TDt(t) { + let { elements: e, rect: n, offsetParent: o, strategy: r } = t + const i = r === "fixed", + s = Hl(o), + a = e ? _C(e.floating) : !1 + if (o === s || (a && i)) return n + let c = { scrollLeft: 0, scrollTop: 0 }, + d = Fl(1) + const u = Fl(0), + m = Kl(o) + if ((m || (!m && !i)) && (($f(o) !== "body" || Jb(s)) && (c = CC(o)), Kl(o))) { + const g = Op(o) + ;(d = vh(o)), (u.x = g.x + o.clientLeft), (u.y = g.y + o.clientTop) + } + const f = s && !m && !i ? cit(s, c, !0) : Fl(0) + return { + width: n.width * d.x, + height: n.height * d.y, + x: n.x * d.x - c.scrollLeft * d.x + u.x + f.x, + y: n.y * d.y - c.scrollTop * d.y + u.y + f.y, + } +} +function IDt(t) { + return Array.from(t.getClientRects()) +} +function MDt(t) { + const e = Hl(t), + n = CC(t), + o = t.ownerDocument.body, + r = $s(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth), + i = $s(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight) + let s = -n.scrollLeft + wz(t) + const a = -n.scrollTop + return rl(o).direction === "rtl" && (s += $s(e.clientWidth, o.clientWidth) - r), { width: r, height: i, x: s, y: a } +} +function jDt(t, e) { + const n = Us(t), + o = Hl(t), + r = n.visualViewport + let i = o.clientWidth, + s = o.clientHeight, + a = 0, + c = 0 + if (r) { + ;(i = r.width), (s = r.height) + const d = kz() + ;(!d || (d && e === "fixed")) && ((a = r.offsetLeft), (c = r.offsetTop)) + } + return { width: i, height: s, x: a, y: c } +} +function EDt(t, e) { + const n = Op(t, !0, e === "fixed"), + o = n.top + t.clientTop, + r = n.left + t.clientLeft, + i = Kl(t) ? vh(t) : Fl(1), + s = t.clientWidth * i.x, + a = t.clientHeight * i.y, + c = r * i.x, + d = o * i.y + return { width: s, height: a, x: c, y: d } +} +function IB(t, e, n) { + let o + if (e === "viewport") o = jDt(t, n) + else if (e === "document") o = MDt(Hl(t)) + else if (ol(e)) o = EDt(e, n) + else { + const r = lit(t) + o = { x: e.x - r.x, y: e.y - r.y, width: e.width, height: e.height } + } + return e_(o) +} +function dit(t, e) { + const n = ou(t) + return n === e || !ol(n) || Zh(n) ? !1 : rl(n).position === "fixed" || dit(n, e) +} +function zDt(t, e) { + const n = e.get(t) + if (n) return n + let o = ab(t, [], !1).filter((a) => ol(a) && $f(a) !== "body"), + r = null + const i = rl(t).position === "fixed" + let s = i ? ou(t) : t + for (; ol(s) && !Zh(s); ) { + const a = rl(s), + c = yz(s) + !c && a.position === "fixed" && (r = null), + ( + i + ? !c && !r + : (!c && a.position === "static" && !!r && ["absolute", "fixed"].includes(r.position)) || + (Jb(s) && !c && dit(t, s)) + ) + ? (o = o.filter((u) => u !== s)) + : (r = a), + (s = ou(s)) + } + return e.set(t, o), o +} +function $Dt(t) { + let { element: e, boundary: n, rootBoundary: o, strategy: r } = t + const s = [...(n === "clippingAncestors" ? (_C(e) ? [] : zDt(e, this._c)) : [].concat(n)), o], + a = s[0], + c = s.reduce( + (d, u) => { + const m = IB(e, u, r) + return ( + (d.top = $s(m.top, d.top)), + (d.right = nu(m.right, d.right)), + (d.bottom = nu(m.bottom, d.bottom)), + (d.left = $s(m.left, d.left)), + d + ) + }, + IB(e, a, r), + ) + return { width: c.right - c.left, height: c.bottom - c.top, x: c.left, y: c.top } +} +function LDt(t) { + const { width: e, height: n } = ait(t) + return { width: e, height: n } +} +function DDt(t, e, n) { + const o = Kl(e), + r = Hl(e), + i = n === "fixed", + s = Op(t, !0, i, e) + let a = { scrollLeft: 0, scrollTop: 0 } + const c = Fl(0) + function d() { + c.x = wz(r) + } + if (o || (!o && !i)) + if ((($f(e) !== "body" || Jb(r)) && (a = CC(e)), o)) { + const g = Op(e, !0, i, e) + ;(c.x = g.x + e.clientLeft), (c.y = g.y + e.clientTop) + } else r && d() + i && !o && r && d() + const u = r && !o && !i ? cit(r, a) : Fl(0), + m = s.left + a.scrollLeft - c.x - u.x, + f = s.top + a.scrollTop - c.y - u.y + return { x: m, y: f, width: s.width, height: s.height } +} +function dP(t) { + return rl(t).position === "static" +} +function MB(t, e) { + if (!Kl(t) || rl(t).position === "fixed") return null + if (e) return e(t) + let n = t.offsetParent + return Hl(t) === n && (n = n.ownerDocument.body), n +} +function uit(t, e) { + const n = Us(t) + if (_C(t)) return n + if (!Kl(t)) { + let r = ou(t) + for (; r && !Zh(r); ) { + if (ol(r) && !dP(r)) return r + r = ou(r) + } + return n + } + let o = MB(t, e) + for (; o && SDt(o) && dP(o); ) o = MB(o, e) + return o && Zh(o) && dP(o) && !yz(o) ? n : o || ADt(t) || n +} +const NDt = async function (t) { + const e = this.getOffsetParent || uit, + n = this.getDimensions, + o = await n(t.floating) + return { + reference: DDt(t.reference, await e(t.floating), t.strategy), + floating: { x: 0, y: 0, width: o.width, height: o.height }, + } +} +function ODt(t) { + return rl(t).direction === "rtl" +} +const FDt = { + convertOffsetParentRelativeRectToViewportRelativeRect: TDt, + getDocumentElement: Hl, + getClippingRect: $Dt, + getOffsetParent: uit, + getElementRects: NDt, + getClientRects: IDt, + getDimensions: LDt, + getScale: vh, + isElement: ol, + isRTL: ODt, +} +function pit(t, e) { + return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height +} +function BDt(t, e) { + let n = null, + o + const r = Hl(t) + function i() { + var a + clearTimeout(o), (a = n) == null || a.disconnect(), (n = null) + } + function s(a, c) { + a === void 0 && (a = !1), c === void 0 && (c = 1), i() + const d = t.getBoundingClientRect(), + { left: u, top: m, width: f, height: g } = d + if ((a || e(), !f || !g)) return + const b = Yk(m), + v = Yk(r.clientWidth - (u + f)), + w = Yk(r.clientHeight - (m + g)), + _ = Yk(u), + C = { rootMargin: -b + "px " + -v + "px " + -w + "px " + -_ + "px", threshold: $s(0, nu(1, c)) || 1 } + let S = !0 + function P(R) { + const T = R[0].intersectionRatio + if (T !== c) { + if (!S) return s() + T + ? s(!1, T) + : (o = setTimeout(() => { + s(!1, 1e-7) + }, 1e3)) + } + T === 1 && !pit(d, t.getBoundingClientRect()) && s(), (S = !1) + } + try { + n = new IntersectionObserver(P, { ...C, root: r.ownerDocument }) + } catch { + n = new IntersectionObserver(P, C) + } + n.observe(t) + } + return s(!0), i +} +function UDt(t, e, n, o) { + o === void 0 && (o = {}) + const { + ancestorScroll: r = !0, + ancestorResize: i = !0, + elementResize: s = typeof ResizeObserver == "function", + layoutShift: a = typeof IntersectionObserver == "function", + animationFrame: c = !1, + } = o, + d = xz(t), + u = r || i ? [...(d ? ab(d) : []), ...ab(e)] : [] + u.forEach((_) => { + r && _.addEventListener("scroll", n, { passive: !0 }), i && _.addEventListener("resize", n) + }) + const m = d && a ? BDt(d, n) : null + let f = -1, + g = null + s && + ((g = new ResizeObserver((_) => { + let [y] = _ + y && + y.target === d && + g && + (g.unobserve(e), + cancelAnimationFrame(f), + (f = requestAnimationFrame(() => { + var C + ;(C = g) == null || C.observe(e) + }))), + n() + })), + d && !c && g.observe(d), + g.observe(e)) + let b, + v = c ? Op(t) : null + c && w() + function w() { + const _ = Op(t) + v && !pit(v, _) && n(), (v = _), (b = requestAnimationFrame(w)) + } + return ( + n(), + () => { + var _ + u.forEach((y) => { + r && y.removeEventListener("scroll", n), i && y.removeEventListener("resize", n) + }), + m == null || m(), + (_ = g) == null || _.disconnect(), + (g = null), + c && cancelAnimationFrame(b) + } + ) +} +const qDt = xDt, + WDt = wDt, + KDt = bDt, + VDt = CDt, + HDt = yDt, + jB = vDt, + GDt = _Dt, + QDt = (t, e, n) => { + const o = new Map(), + r = { platform: FDt, ...n }, + i = { ...r.platform, _c: o } + return gDt(t, e, { ...r, platform: i }) + } +var Bx = typeof document < "u" ? k.useLayoutEffect : k.useEffect +function t_(t, e) { + if (t === e) return !0 + if (typeof t != typeof e) return !1 + if (typeof t == "function" && t.toString() === e.toString()) return !0 + let n, o, r + if (t && e && typeof t == "object") { + if (Array.isArray(t)) { + if (((n = t.length), n !== e.length)) return !1 + for (o = n; o-- !== 0; ) if (!t_(t[o], e[o])) return !1 + return !0 + } + if (((r = Object.keys(t)), (n = r.length), n !== Object.keys(e).length)) return !1 + for (o = n; o-- !== 0; ) if (!{}.hasOwnProperty.call(e, r[o])) return !1 + for (o = n; o-- !== 0; ) { + const i = r[o] + if (!(i === "_owner" && t.$$typeof) && !t_(t[i], e[i])) return !1 + } + return !0 + } + return t !== t && e !== e +} +function mit(t) { + return typeof window > "u" ? 1 : (t.ownerDocument.defaultView || window).devicePixelRatio || 1 +} +function EB(t, e) { + const n = mit(t) + return Math.round(e * n) / n +} +function uP(t) { + const e = k.useRef(t) + return ( + Bx(() => { + e.current = t + }), + e + ) +} +function ZDt(t) { + t === void 0 && (t = {}) + const { + placement: e = "bottom", + strategy: n = "absolute", + middleware: o = [], + platform: r, + elements: { reference: i, floating: s } = {}, + transform: a = !0, + whileElementsMounted: c, + open: d, + } = t, + [u, m] = k.useState({ x: 0, y: 0, strategy: n, placement: e, middlewareData: {}, isPositioned: !1 }), + [f, g] = k.useState(o) + t_(f, o) || g(o) + const [b, v] = k.useState(null), + [w, _] = k.useState(null), + y = k.useCallback((H) => { + H !== R.current && ((R.current = H), v(H)) + }, []), + C = k.useCallback((H) => { + H !== T.current && ((T.current = H), _(H)) + }, []), + S = i || b, + P = s || w, + R = k.useRef(null), + T = k.useRef(null), + E = k.useRef(u), + $ = c != null, + j = uP(c), + L = uP(r), + W = uP(d), + G = k.useCallback(() => { + if (!R.current || !T.current) return + const H = { placement: e, strategy: n, middleware: f } + L.current && (H.platform = L.current), + QDt(R.current, T.current, H).then((B) => { + const M = { ...B, isPositioned: W.current !== !1 } + U.current && + !t_(E.current, M) && + ((E.current = M), + $b.flushSync(() => { + m(M) + })) + }) + }, [f, e, n, L, W]) + Bx(() => { + d === !1 && E.current.isPositioned && ((E.current.isPositioned = !1), m((H) => ({ ...H, isPositioned: !1 }))) + }, [d]) + const U = k.useRef(!1) + Bx( + () => ( + (U.current = !0), + () => { + U.current = !1 + } + ), + [], + ), + Bx(() => { + if ((S && (R.current = S), P && (T.current = P), S && P)) { + if (j.current) return j.current(S, P, G) + G() + } + }, [S, P, G, j, $]) + const Z = k.useMemo(() => ({ reference: R, floating: T, setReference: y, setFloating: C }), [y, C]), + V = k.useMemo(() => ({ reference: S, floating: P }), [S, P]), + X = k.useMemo(() => { + const H = { position: n, left: 0, top: 0 } + if (!V.floating) return H + const B = EB(V.floating, u.x), + M = EB(V.floating, u.y) + return a + ? { + ...H, + transform: "translate(" + B + "px, " + M + "px)", + ...(mit(V.floating) >= 1.5 && { willChange: "transform" }), + } + : { position: n, left: B, top: M } + }, [n, a, V.floating, u.x, u.y]) + return k.useMemo(() => ({ ...u, update: G, refs: Z, elements: V, floatingStyles: X }), [u, G, Z, V, X]) +} +const YDt = (t) => { + function e(n) { + return {}.hasOwnProperty.call(n, "current") + } + return { + name: "arrow", + options: t, + fn(n) { + const { element: o, padding: r } = typeof t == "function" ? t(n) : t + return o && e(o) + ? o.current != null + ? jB({ element: o.current, padding: r }).fn(n) + : {} + : o + ? jB({ element: o, padding: r }).fn(n) + : {} + }, + } + }, + XDt = (t, e) => ({ ...qDt(t), options: [t, e] }), + JDt = (t, e) => ({ ...WDt(t), options: [t, e] }), + eNt = (t, e) => ({ ...GDt(t), options: [t, e] }), + tNt = (t, e) => ({ ...KDt(t), options: [t, e] }), + nNt = (t, e) => ({ ...VDt(t), options: [t, e] }), + oNt = (t, e) => ({ ...HDt(t), options: [t, e] }), + rNt = (t, e) => ({ ...YDt(t), options: [t, e] }) +var iNt = "Arrow", + hit = k.forwardRef((t, e) => { + const { children: n, width: o = 10, height: r = 5, ...i } = t + return l.jsx(Mt.svg, { + ...i, + ref: e, + width: o, + height: r, + viewBox: "0 0 30 10", + preserveAspectRatio: "none", + children: t.asChild ? n : l.jsx("polygon", { points: "0,0 30,0 15,10" }), + }) + }) +hit.displayName = iNt +var sNt = hit, + _z = "Popper", + [fit, gu] = hs(_z), + [aNt, git] = fit(_z), + vit = (t) => { + const { __scopePopper: e, children: n } = t, + [o, r] = k.useState(null) + return l.jsx(aNt, { scope: e, anchor: o, onAnchorChange: r, children: n }) + } +vit.displayName = _z +var bit = "PopperAnchor", + yit = k.forwardRef((t, e) => { + const { __scopePopper: n, virtualRef: o, ...r } = t, + i = git(bit, n), + s = k.useRef(null), + a = cn(e, s) + return ( + k.useEffect(() => { + i.onAnchorChange((o == null ? void 0 : o.current) || s.current) + }), + o ? null : l.jsx(Mt.div, { ...r, ref: a }) + ) + }) +yit.displayName = bit +var Cz = "PopperContent", + [lNt, cNt] = fit(Cz), + kit = k.forwardRef((t, e) => { + var Q, ee, q, me, Ce, ue + const { + __scopePopper: n, + side: o = "bottom", + sideOffset: r = 0, + align: i = "center", + alignOffset: s = 0, + arrowPadding: a = 0, + avoidCollisions: c = !0, + collisionBoundary: d = [], + collisionPadding: u = 0, + sticky: m = "partial", + hideWhenDetached: f = !1, + updatePositionStrategy: g = "optimized", + onPlaced: b, + ...v + } = t, + w = git(Cz, n), + [_, y] = k.useState(null), + C = cn(e, (Te) => y(Te)), + [S, P] = k.useState(null), + R = nz(S), + T = (R == null ? void 0 : R.width) ?? 0, + E = (R == null ? void 0 : R.height) ?? 0, + $ = o + (i !== "center" ? "-" + i : ""), + j = typeof u == "number" ? u : { top: 0, right: 0, bottom: 0, left: 0, ...u }, + L = Array.isArray(d) ? d : [d], + W = L.length > 0, + G = { padding: j, boundary: L.filter(uNt), altBoundary: W }, + { + refs: U, + floatingStyles: Z, + placement: V, + isPositioned: X, + middlewareData: H, + } = ZDt({ + strategy: "fixed", + placement: $, + whileElementsMounted: (...Te) => UDt(...Te, { animationFrame: g === "always" }), + elements: { reference: w.anchor }, + middleware: [ + XDt({ mainAxis: r + E, alignmentAxis: s }), + c && JDt({ mainAxis: !0, crossAxis: !1, limiter: m === "partial" ? eNt() : void 0, ...G }), + c && tNt({ ...G }), + nNt({ + ...G, + apply: ({ elements: Te, rects: dt, availableWidth: Y, availableHeight: Ke }) => { + const { width: jt, height: Ye } = dt.reference, + Bt = Te.floating.style + Bt.setProperty("--radix-popper-available-width", `${Y}px`), + Bt.setProperty("--radix-popper-available-height", `${Ke}px`), + Bt.setProperty("--radix-popper-anchor-width", `${jt}px`), + Bt.setProperty("--radix-popper-anchor-height", `${Ye}px`) + }, + }), + S && rNt({ element: S, padding: a }), + pNt({ arrowWidth: T, arrowHeight: E }), + f && oNt({ strategy: "referenceHidden", ...G }), + ], + }), + [B, M] = _it(V), + D = Mc(b) + Gr(() => { + X && (D == null || D()) + }, [X, D]) + const F = (Q = H.arrow) == null ? void 0 : Q.x, + N = (ee = H.arrow) == null ? void 0 : ee.y, + J = ((q = H.arrow) == null ? void 0 : q.centerOffset) !== 0, + [oe, ae] = k.useState() + return ( + Gr(() => { + _ && ae(window.getComputedStyle(_).zIndex) + }, [_]), + l.jsx("div", { + ref: U.setFloating, + "data-radix-popper-content-wrapper": "", + style: { + ...Z, + transform: X ? Z.transform : "translate(0, -200%)", + minWidth: "max-content", + zIndex: oe, + "--radix-popper-transform-origin": [ + (me = H.transformOrigin) == null ? void 0 : me.x, + (Ce = H.transformOrigin) == null ? void 0 : Ce.y, + ].join(" "), + ...(((ue = H.hide) == null ? void 0 : ue.referenceHidden) && { + visibility: "hidden", + pointerEvents: "none", + }), + }, + dir: t.dir, + children: l.jsx(lNt, { + scope: n, + placedSide: B, + onArrowChange: P, + arrowX: F, + arrowY: N, + shouldHideArrow: J, + children: l.jsx(Mt.div, { + "data-side": B, + "data-align": M, + ...v, + ref: C, + style: { ...v.style, animation: X ? void 0 : "none" }, + }), + }), + }) + ) + }) +kit.displayName = Cz +var xit = "PopperArrow", + dNt = { top: "bottom", right: "left", bottom: "top", left: "right" }, + wit = k.forwardRef(function (e, n) { + const { __scopePopper: o, ...r } = e, + i = cNt(xit, o), + s = dNt[i.placedSide] + return l.jsx("span", { + ref: i.onArrowChange, + style: { + position: "absolute", + left: i.arrowX, + top: i.arrowY, + [s]: 0, + transformOrigin: { top: "", right: "0 0", bottom: "center 0", left: "100% 0" }[i.placedSide], + transform: { + top: "translateY(100%)", + right: "translateY(50%) rotate(90deg) translateX(-50%)", + bottom: "rotate(180deg)", + left: "translateY(50%) rotate(-90deg) translateX(50%)", + }[i.placedSide], + visibility: i.shouldHideArrow ? "hidden" : void 0, + }, + children: l.jsx(sNt, { ...r, ref: n, style: { ...r.style, display: "block" } }), + }) + }) +wit.displayName = xit +function uNt(t) { + return t !== null +} +var pNt = (t) => ({ + name: "transformOrigin", + options: t, + fn(e) { + var w, _, y + const { placement: n, rects: o, middlewareData: r } = e, + s = ((w = r.arrow) == null ? void 0 : w.centerOffset) !== 0, + a = s ? 0 : t.arrowWidth, + c = s ? 0 : t.arrowHeight, + [d, u] = _it(n), + m = { start: "0%", center: "50%", end: "100%" }[u], + f = (((_ = r.arrow) == null ? void 0 : _.x) ?? 0) + a / 2, + g = (((y = r.arrow) == null ? void 0 : y.y) ?? 0) + c / 2 + let b = "", + v = "" + return ( + d === "bottom" + ? ((b = s ? m : `${f}px`), (v = `${-c}px`)) + : d === "top" + ? ((b = s ? m : `${f}px`), (v = `${o.floating.height + c}px`)) + : d === "right" + ? ((b = `${-c}px`), (v = s ? m : `${g}px`)) + : d === "left" && ((b = `${o.floating.width + c}px`), (v = s ? m : `${g}px`)), + { data: { x: b, y: v } } + ) + }, +}) +function _it(t) { + const [e, n = "center"] = t.split("-") + return [e, n] +} +var Sz = vit, + ey = yit, + SC = kit, + AC = wit, + pP = "rovingFocusGroup.onEntryFocus", + mNt = { bubbles: !1, cancelable: !0 }, + ty = "RovingFocusGroup", + [AM, Cit, hNt] = xC(ty), + [fNt, Sit] = hs(ty, [hNt]), + [gNt, vNt] = fNt(ty), + Ait = k.forwardRef((t, e) => + l.jsx(AM.Provider, { + scope: t.__scopeRovingFocusGroup, + children: l.jsx(AM.Slot, { scope: t.__scopeRovingFocusGroup, children: l.jsx(bNt, { ...t, ref: e }) }), + }), + ) +Ait.displayName = ty +var bNt = k.forwardRef((t, e) => { + const { + __scopeRovingFocusGroup: n, + orientation: o, + loop: r = !1, + dir: i, + currentTabStopId: s, + defaultCurrentTabStopId: a, + onCurrentTabStopIdChange: c, + onEntryFocus: d, + preventScrollOnEntryFocus: u = !1, + ...m + } = t, + f = k.useRef(null), + g = cn(e, f), + b = fz(i), + [v, w] = Ic({ prop: s, defaultProp: a ?? null, onChange: c, caller: ty }), + [_, y] = k.useState(!1), + C = Mc(d), + S = Cit(n), + P = k.useRef(!1), + [R, T] = k.useState(0) + return ( + k.useEffect(() => { + const E = f.current + if (E) return E.addEventListener(pP, C), () => E.removeEventListener(pP, C) + }, [C]), + l.jsx(gNt, { + scope: n, + orientation: o, + dir: b, + loop: r, + currentTabStopId: v, + onItemFocus: k.useCallback((E) => w(E), [w]), + onItemShiftTab: k.useCallback(() => y(!0), []), + onFocusableItemAdd: k.useCallback(() => T((E) => E + 1), []), + onFocusableItemRemove: k.useCallback(() => T((E) => E - 1), []), + children: l.jsx(Mt.div, { + tabIndex: _ || R === 0 ? -1 : 0, + "data-orientation": o, + ...m, + ref: g, + style: { outline: "none", ...t.style }, + onMouseDown: rt(t.onMouseDown, () => { + P.current = !0 + }), + onFocus: rt(t.onFocus, (E) => { + const $ = !P.current + if (E.target === E.currentTarget && $ && !_) { + const j = new CustomEvent(pP, mNt) + if ((E.currentTarget.dispatchEvent(j), !j.defaultPrevented)) { + const L = S().filter((V) => V.focusable), + W = L.find((V) => V.active), + G = L.find((V) => V.id === v), + Z = [W, G, ...L].filter(Boolean).map((V) => V.ref.current) + Tit(Z, u) + } + } + P.current = !1 + }), + onBlur: rt(t.onBlur, () => y(!1)), + }), + }) + ) + }), + Pit = "RovingFocusGroupItem", + Rit = k.forwardRef((t, e) => { + const { __scopeRovingFocusGroup: n, focusable: o = !0, active: r = !1, tabStopId: i, children: s, ...a } = t, + c = bi(), + d = i || c, + u = vNt(Pit, n), + m = u.currentTabStopId === d, + f = Cit(n), + { onFocusableItemAdd: g, onFocusableItemRemove: b, currentTabStopId: v } = u + return ( + k.useEffect(() => { + if (o) return g(), () => b() + }, [o, g, b]), + l.jsx(AM.ItemSlot, { + scope: n, + id: d, + focusable: o, + active: r, + children: l.jsx(Mt.span, { + tabIndex: m ? 0 : -1, + "data-orientation": u.orientation, + ...a, + ref: e, + onMouseDown: rt(t.onMouseDown, (w) => { + o ? u.onItemFocus(d) : w.preventDefault() + }), + onFocus: rt(t.onFocus, () => u.onItemFocus(d)), + onKeyDown: rt(t.onKeyDown, (w) => { + if (w.key === "Tab" && w.shiftKey) { + u.onItemShiftTab() + return + } + if (w.target !== w.currentTarget) return + const _ = xNt(w, u.orientation, u.dir) + if (_ !== void 0) { + if (w.metaKey || w.ctrlKey || w.altKey || w.shiftKey) return + w.preventDefault() + let C = f() + .filter((S) => S.focusable) + .map((S) => S.ref.current) + if (_ === "last") C.reverse() + else if (_ === "prev" || _ === "next") { + _ === "prev" && C.reverse() + const S = C.indexOf(w.currentTarget) + C = u.loop ? wNt(C, S + 1) : C.slice(S + 1) + } + setTimeout(() => Tit(C)) + } + }), + children: typeof s == "function" ? s({ isCurrentTabStop: m, hasTabStop: v != null }) : s, + }), + }) + ) + }) +Rit.displayName = Pit +var yNt = { + ArrowLeft: "prev", + ArrowUp: "prev", + ArrowRight: "next", + ArrowDown: "next", + PageUp: "first", + Home: "first", + PageDown: "last", + End: "last", +} +function kNt(t, e) { + return e !== "rtl" ? t : t === "ArrowLeft" ? "ArrowRight" : t === "ArrowRight" ? "ArrowLeft" : t +} +function xNt(t, e, n) { + const o = kNt(t.key, n) + if ( + !(e === "vertical" && ["ArrowLeft", "ArrowRight"].includes(o)) && + !(e === "horizontal" && ["ArrowUp", "ArrowDown"].includes(o)) + ) + return yNt[o] +} +function Tit(t, e = !1) { + const n = document.activeElement + for (const o of t) if (o === n || (o.focus({ preventScroll: e }), document.activeElement !== n)) return +} +function wNt(t, e) { + return t.map((n, o) => t[(e + o) % t.length]) +} +var _Nt = Ait, + CNt = Rit, + PM = ["Enter", " "], + SNt = ["ArrowDown", "PageUp", "Home"], + Iit = ["ArrowUp", "PageDown", "End"], + ANt = [...SNt, ...Iit], + PNt = { ltr: [...PM, "ArrowRight"], rtl: [...PM, "ArrowLeft"] }, + RNt = { ltr: ["ArrowLeft"], rtl: ["ArrowRight"] }, + PC = "Menu", + [lb, TNt, INt] = xC(PC), + [Zp, Mit] = hs(PC, [INt, gu, Sit]), + Az = gu(), + jit = Sit(), + [Utn, Yp] = Zp(PC), + [qtn, ny] = Zp(PC), + MNt = "MenuAnchor", + Pz = k.forwardRef((t, e) => { + const { __scopeMenu: n, ...o } = t, + r = Az(n) + return l.jsx(ey, { ...r, ...o, ref: e }) + }) +Pz.displayName = MNt +var Rz = "MenuPortal", + [jNt, Eit] = Zp(Rz, { forceMount: void 0 }), + zit = (t) => { + const { __scopeMenu: e, forceMount: n, children: o, container: r } = t, + i = Yp(Rz, e) + return l.jsx(jNt, { + scope: e, + forceMount: n, + children: l.jsx(fs, { + present: n || i.open, + children: l.jsx(Sf, { asChild: !0, container: r, children: o }), + }), + }) + } +zit.displayName = Rz +var ma = "MenuContent", + [ENt, Tz] = Zp(ma), + $it = k.forwardRef((t, e) => { + const n = Eit(ma, t.__scopeMenu), + { forceMount: o = n.forceMount, ...r } = t, + i = Yp(ma, t.__scopeMenu), + s = ny(ma, t.__scopeMenu) + return l.jsx(lb.Provider, { + scope: t.__scopeMenu, + children: l.jsx(fs, { + present: o || i.open, + children: l.jsx(lb.Slot, { + scope: t.__scopeMenu, + children: s.modal ? l.jsx(zNt, { ...r, ref: e }) : l.jsx($Nt, { ...r, ref: e }), + }), + }), + }) + }), + zNt = k.forwardRef((t, e) => { + const n = Yp(ma, t.__scopeMenu), + o = k.useRef(null), + r = cn(e, o) + return ( + k.useEffect(() => { + const i = o.current + if (i) return hC(i) + }, []), + l.jsx(Iz, { + ...t, + ref: r, + trapFocus: n.open, + disableOutsidePointerEvents: n.open, + disableOutsideScroll: !0, + onFocusOutside: rt(t.onFocusOutside, (i) => i.preventDefault(), { checkForDefaultPrevented: !1 }), + onDismiss: () => n.onOpenChange(!1), + }) + ) + }), + $Nt = k.forwardRef((t, e) => { + const n = Yp(ma, t.__scopeMenu) + return l.jsx(Iz, { + ...t, + ref: e, + trapFocus: !1, + disableOutsidePointerEvents: !1, + disableOutsideScroll: !1, + onDismiss: () => n.onOpenChange(!1), + }) + }), + LNt = Jd("MenuContent.ScrollLock"), + Iz = k.forwardRef((t, e) => { + const { + __scopeMenu: n, + loop: o = !1, + trapFocus: r, + onOpenAutoFocus: i, + onCloseAutoFocus: s, + disableOutsidePointerEvents: a, + onEntryFocus: c, + onEscapeKeyDown: d, + onPointerDownOutside: u, + onFocusOutside: m, + onInteractOutside: f, + onDismiss: g, + disableOutsideScroll: b, + ...v + } = t, + w = Yp(ma, n), + _ = ny(ma, n), + y = Az(n), + C = jit(n), + S = TNt(n), + [P, R] = k.useState(null), + T = k.useRef(null), + E = cn(e, T, w.onContentChange), + $ = k.useRef(0), + j = k.useRef(""), + L = k.useRef(0), + W = k.useRef(null), + G = k.useRef("right"), + U = k.useRef(0), + Z = b ? Gb : k.Fragment, + V = b ? { as: LNt, allowPinchZoom: !0 } : void 0, + X = (B) => { + var Q, ee + const M = j.current + B, + D = S().filter((q) => !q.disabled), + F = document.activeElement, + N = (Q = D.find((q) => q.ref.current === F)) == null ? void 0 : Q.textValue, + J = D.map((q) => q.textValue), + oe = GNt(J, M, N), + ae = (ee = D.find((q) => q.textValue === oe)) == null ? void 0 : ee.ref.current + ;(function q(me) { + ;(j.current = me), + window.clearTimeout($.current), + me !== "" && ($.current = window.setTimeout(() => q(""), 1e3)) + })(M), + ae && setTimeout(() => ae.focus()) + } + k.useEffect(() => () => window.clearTimeout($.current), []), pC() + const H = k.useCallback((B) => { + var D, F + return ( + G.current === ((D = W.current) == null ? void 0 : D.side) && + ZNt(B, (F = W.current) == null ? void 0 : F.area) + ) + }, []) + return l.jsx(ENt, { + scope: n, + searchRef: j, + onItemEnter: k.useCallback( + (B) => { + H(B) && B.preventDefault() + }, + [H], + ), + onItemLeave: k.useCallback( + (B) => { + var M + H(B) || ((M = T.current) == null || M.focus(), R(null)) + }, + [H], + ), + onTriggerLeave: k.useCallback( + (B) => { + H(B) && B.preventDefault() + }, + [H], + ), + pointerGraceTimerRef: L, + onPointerGraceIntentChange: k.useCallback((B) => { + W.current = B + }, []), + children: l.jsx(Z, { + ...V, + children: l.jsx(Hb, { + asChild: !0, + trapped: r, + onMountAutoFocus: rt(i, (B) => { + var M + B.preventDefault(), (M = T.current) == null || M.focus({ preventScroll: !0 }) + }), + onUnmountAutoFocus: s, + children: l.jsx(Cf, { + asChild: !0, + disableOutsidePointerEvents: a, + onEscapeKeyDown: d, + onPointerDownOutside: u, + onFocusOutside: m, + onInteractOutside: f, + onDismiss: g, + children: l.jsx(_Nt, { + asChild: !0, + ...C, + dir: _.dir, + orientation: "vertical", + loop: o, + currentTabStopId: P, + onCurrentTabStopIdChange: R, + onEntryFocus: rt(c, (B) => { + _.isUsingKeyboardRef.current || B.preventDefault() + }), + preventScrollOnEntryFocus: !0, + children: l.jsx(SC, { + role: "menu", + "aria-orientation": "vertical", + "data-state": Yit(w.open), + "data-radix-menu-content": "", + dir: _.dir, + ...y, + ...v, + ref: E, + style: { outline: "none", ...v.style }, + onKeyDown: rt(v.onKeyDown, (B) => { + const D = B.target.closest("[data-radix-menu-content]") === B.currentTarget, + F = B.ctrlKey || B.altKey || B.metaKey, + N = B.key.length === 1 + D && (B.key === "Tab" && B.preventDefault(), !F && N && X(B.key)) + const J = T.current + if (B.target !== J || !ANt.includes(B.key)) return + B.preventDefault() + const ae = S() + .filter((Q) => !Q.disabled) + .map((Q) => Q.ref.current) + Iit.includes(B.key) && ae.reverse(), VNt(ae) + }), + onBlur: rt(t.onBlur, (B) => { + B.currentTarget.contains(B.target) || + (window.clearTimeout($.current), (j.current = "")) + }), + onPointerMove: rt( + t.onPointerMove, + cb((B) => { + const M = B.target, + D = U.current !== B.clientX + if (B.currentTarget.contains(M) && D) { + const F = B.clientX > U.current ? "right" : "left" + ;(G.current = F), (U.current = B.clientX) + } + }), + ), + }), + }), + }), + }), + }), + }) + }) +$it.displayName = ma +var DNt = "MenuGroup", + Mz = k.forwardRef((t, e) => { + const { __scopeMenu: n, ...o } = t + return l.jsx(Mt.div, { role: "group", ...o, ref: e }) + }) +Mz.displayName = DNt +var NNt = "MenuLabel", + Lit = k.forwardRef((t, e) => { + const { __scopeMenu: n, ...o } = t + return l.jsx(Mt.div, { ...o, ref: e }) + }) +Lit.displayName = NNt +var n_ = "MenuItem", + zB = "menu.itemSelect", + RC = k.forwardRef((t, e) => { + const { disabled: n = !1, onSelect: o, ...r } = t, + i = k.useRef(null), + s = ny(n_, t.__scopeMenu), + a = Tz(n_, t.__scopeMenu), + c = cn(e, i), + d = k.useRef(!1), + u = () => { + const m = i.current + if (!n && m) { + const f = new CustomEvent(zB, { bubbles: !0, cancelable: !0 }) + m.addEventListener(zB, (g) => (o == null ? void 0 : o(g)), { once: !0 }), + vot(m, f), + f.defaultPrevented ? (d.current = !1) : s.onClose() + } + } + return l.jsx(Dit, { + ...r, + ref: c, + disabled: n, + onClick: rt(t.onClick, u), + onPointerDown: (m) => { + var f + ;(f = t.onPointerDown) == null || f.call(t, m), (d.current = !0) + }, + onPointerUp: rt(t.onPointerUp, (m) => { + var f + d.current || (f = m.currentTarget) == null || f.click() + }), + onKeyDown: rt(t.onKeyDown, (m) => { + const f = a.searchRef.current !== "" + n || (f && m.key === " ") || (PM.includes(m.key) && (m.currentTarget.click(), m.preventDefault())) + }), + }) + }) +RC.displayName = n_ +var Dit = k.forwardRef((t, e) => { + const { __scopeMenu: n, disabled: o = !1, textValue: r, ...i } = t, + s = Tz(n_, n), + a = jit(n), + c = k.useRef(null), + d = cn(e, c), + [u, m] = k.useState(!1), + [f, g] = k.useState("") + return ( + k.useEffect(() => { + const b = c.current + b && g((b.textContent ?? "").trim()) + }, [i.children]), + l.jsx(lb.ItemSlot, { + scope: n, + disabled: o, + textValue: r ?? f, + children: l.jsx(CNt, { + asChild: !0, + ...a, + focusable: !o, + children: l.jsx(Mt.div, { + role: "menuitem", + "data-highlighted": u ? "" : void 0, + "aria-disabled": o || void 0, + "data-disabled": o ? "" : void 0, + ...i, + ref: d, + onPointerMove: rt( + t.onPointerMove, + cb((b) => { + o + ? s.onItemLeave(b) + : (s.onItemEnter(b), + b.defaultPrevented || b.currentTarget.focus({ preventScroll: !0 })) + }), + ), + onPointerLeave: rt( + t.onPointerLeave, + cb((b) => s.onItemLeave(b)), + ), + onFocus: rt(t.onFocus, () => m(!0)), + onBlur: rt(t.onBlur, () => m(!1)), + }), + }), + }) + ) + }), + ONt = "MenuCheckboxItem", + Nit = k.forwardRef((t, e) => { + const { checked: n = !1, onCheckedChange: o, ...r } = t + return l.jsx(qit, { + scope: t.__scopeMenu, + checked: n, + children: l.jsx(RC, { + role: "menuitemcheckbox", + "aria-checked": o_(n) ? "mixed" : n, + ...r, + ref: e, + "data-state": Ez(n), + onSelect: rt(r.onSelect, () => (o == null ? void 0 : o(o_(n) ? !0 : !n)), { + checkForDefaultPrevented: !1, + }), + }), + }) + }) +Nit.displayName = ONt +var Oit = "MenuRadioGroup", + [FNt, BNt] = Zp(Oit, { value: void 0, onValueChange: () => {} }), + Fit = k.forwardRef((t, e) => { + const { value: n, onValueChange: o, ...r } = t, + i = Mc(o) + return l.jsx(FNt, { scope: t.__scopeMenu, value: n, onValueChange: i, children: l.jsx(Mz, { ...r, ref: e }) }) + }) +Fit.displayName = Oit +var Bit = "MenuRadioItem", + Uit = k.forwardRef((t, e) => { + const { value: n, ...o } = t, + r = BNt(Bit, t.__scopeMenu), + i = n === r.value + return l.jsx(qit, { + scope: t.__scopeMenu, + checked: i, + children: l.jsx(RC, { + role: "menuitemradio", + "aria-checked": i, + ...o, + ref: e, + "data-state": Ez(i), + onSelect: rt( + o.onSelect, + () => { + var s + return (s = r.onValueChange) == null ? void 0 : s.call(r, n) + }, + { checkForDefaultPrevented: !1 }, + ), + }), + }) + }) +Uit.displayName = Bit +var jz = "MenuItemIndicator", + [qit, UNt] = Zp(jz, { checked: !1 }), + Wit = k.forwardRef((t, e) => { + const { __scopeMenu: n, forceMount: o, ...r } = t, + i = UNt(jz, n) + return l.jsx(fs, { + present: o || o_(i.checked) || i.checked === !0, + children: l.jsx(Mt.span, { ...r, ref: e, "data-state": Ez(i.checked) }), + }) + }) +Wit.displayName = jz +var qNt = "MenuSeparator", + Kit = k.forwardRef((t, e) => { + const { __scopeMenu: n, ...o } = t + return l.jsx(Mt.div, { role: "separator", "aria-orientation": "horizontal", ...o, ref: e }) + }) +Kit.displayName = qNt +var WNt = "MenuArrow", + Vit = k.forwardRef((t, e) => { + const { __scopeMenu: n, ...o } = t, + r = Az(n) + return l.jsx(AC, { ...r, ...o, ref: e }) + }) +Vit.displayName = WNt +var KNt = "MenuSub", + [Wtn, Hit] = Zp(KNt), + dv = "MenuSubTrigger", + Git = k.forwardRef((t, e) => { + const n = Yp(dv, t.__scopeMenu), + o = ny(dv, t.__scopeMenu), + r = Hit(dv, t.__scopeMenu), + i = Tz(dv, t.__scopeMenu), + s = k.useRef(null), + { pointerGraceTimerRef: a, onPointerGraceIntentChange: c } = i, + d = { __scopeMenu: t.__scopeMenu }, + u = k.useCallback(() => { + s.current && window.clearTimeout(s.current), (s.current = null) + }, []) + return ( + k.useEffect(() => u, [u]), + k.useEffect(() => { + const m = a.current + return () => { + window.clearTimeout(m), c(null) + } + }, [a, c]), + l.jsx(Pz, { + asChild: !0, + ...d, + children: l.jsx(Dit, { + id: r.triggerId, + "aria-haspopup": "menu", + "aria-expanded": n.open, + "aria-controls": r.contentId, + "data-state": Yit(n.open), + ...t, + ref: Xd(e, r.onTriggerChange), + onClick: (m) => { + var f + ;(f = t.onClick) == null || f.call(t, m), + !(t.disabled || m.defaultPrevented) && + (m.currentTarget.focus(), n.open || n.onOpenChange(!0)) + }, + onPointerMove: rt( + t.onPointerMove, + cb((m) => { + i.onItemEnter(m), + !m.defaultPrevented && + !t.disabled && + !n.open && + !s.current && + (i.onPointerGraceIntentChange(null), + (s.current = window.setTimeout(() => { + n.onOpenChange(!0), u() + }, 100))) + }), + ), + onPointerLeave: rt( + t.onPointerLeave, + cb((m) => { + var g, b + u() + const f = (g = n.content) == null ? void 0 : g.getBoundingClientRect() + if (f) { + const v = (b = n.content) == null ? void 0 : b.dataset.side, + w = v === "right", + _ = w ? -5 : 5, + y = f[w ? "left" : "right"], + C = f[w ? "right" : "left"] + i.onPointerGraceIntentChange({ + area: [ + { x: m.clientX + _, y: m.clientY }, + { x: y, y: f.top }, + { x: C, y: f.top }, + { x: C, y: f.bottom }, + { x: y, y: f.bottom }, + ], + side: v, + }), + window.clearTimeout(a.current), + (a.current = window.setTimeout(() => i.onPointerGraceIntentChange(null), 300)) + } else { + if ((i.onTriggerLeave(m), m.defaultPrevented)) return + i.onPointerGraceIntentChange(null) + } + }), + ), + onKeyDown: rt(t.onKeyDown, (m) => { + var g + const f = i.searchRef.current !== "" + t.disabled || + (f && m.key === " ") || + (PNt[o.dir].includes(m.key) && + (n.onOpenChange(!0), (g = n.content) == null || g.focus(), m.preventDefault())) + }), + }), + }) + ) + }) +Git.displayName = dv +var Qit = "MenuSubContent", + Zit = k.forwardRef((t, e) => { + const n = Eit(ma, t.__scopeMenu), + { forceMount: o = n.forceMount, ...r } = t, + i = Yp(ma, t.__scopeMenu), + s = ny(ma, t.__scopeMenu), + a = Hit(Qit, t.__scopeMenu), + c = k.useRef(null), + d = cn(e, c) + return l.jsx(lb.Provider, { + scope: t.__scopeMenu, + children: l.jsx(fs, { + present: o || i.open, + children: l.jsx(lb.Slot, { + scope: t.__scopeMenu, + children: l.jsx(Iz, { + id: a.contentId, + "aria-labelledby": a.triggerId, + ...r, + ref: d, + align: "start", + side: s.dir === "rtl" ? "left" : "right", + disableOutsidePointerEvents: !1, + disableOutsideScroll: !1, + trapFocus: !1, + onOpenAutoFocus: (u) => { + var m + s.isUsingKeyboardRef.current && ((m = c.current) == null || m.focus()), u.preventDefault() + }, + onCloseAutoFocus: (u) => u.preventDefault(), + onFocusOutside: rt(t.onFocusOutside, (u) => { + u.target !== a.trigger && i.onOpenChange(!1) + }), + onEscapeKeyDown: rt(t.onEscapeKeyDown, (u) => { + s.onClose(), u.preventDefault() + }), + onKeyDown: rt(t.onKeyDown, (u) => { + var g + const m = u.currentTarget.contains(u.target), + f = RNt[s.dir].includes(u.key) + m && f && (i.onOpenChange(!1), (g = a.trigger) == null || g.focus(), u.preventDefault()) + }), + }), + }), + }), + }) + }) +Zit.displayName = Qit +function Yit(t) { + return t ? "open" : "closed" +} +function o_(t) { + return t === "indeterminate" +} +function Ez(t) { + return o_(t) ? "indeterminate" : t ? "checked" : "unchecked" +} +function VNt(t) { + const e = document.activeElement + for (const n of t) if (n === e || (n.focus(), document.activeElement !== e)) return +} +function HNt(t, e) { + return t.map((n, o) => t[(e + o) % t.length]) +} +function GNt(t, e, n) { + const r = e.length > 1 && Array.from(e).every((d) => d === e[0]) ? e[0] : e, + i = n ? t.indexOf(n) : -1 + let s = HNt(t, Math.max(i, 0)) + r.length === 1 && (s = s.filter((d) => d !== n)) + const c = s.find((d) => d.toLowerCase().startsWith(r.toLowerCase())) + return c !== n ? c : void 0 +} +function QNt(t, e) { + const { x: n, y: o } = t + let r = !1 + for (let i = 0, s = e.length - 1; i < e.length; s = i++) { + const a = e[i], + c = e[s], + d = a.x, + u = a.y, + m = c.x, + f = c.y + u > o != f > o && n < ((m - d) * (o - u)) / (f - u) + d && (r = !r) + } + return r +} +function ZNt(t, e) { + if (!e) return !1 + const n = { x: t.clientX, y: t.clientY } + return QNt(n, e) +} +function cb(t) { + return (e) => (e.pointerType === "mouse" ? t(e) : void 0) +} +var YNt = Pz, + XNt = zit, + JNt = $it, + eOt = Mz, + tOt = Lit, + nOt = RC, + oOt = Nit, + rOt = Fit, + iOt = Uit, + sOt = Wit, + aOt = Kit, + lOt = Vit, + cOt = Git, + dOt = Zit, + Xit = "DropdownMenu", + [uOt, Ktn] = hs(Xit, [Mit]), + vs = Mit(), + [Vtn, Jit] = uOt(Xit), + est = "DropdownMenuTrigger", + pOt = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, disabled: o = !1, ...r } = t, + i = Jit(est, n), + s = vs(n) + return l.jsx(YNt, { + asChild: !0, + ...s, + children: l.jsx(Mt.button, { + type: "button", + id: i.triggerId, + "aria-haspopup": "menu", + "aria-expanded": i.open, + "aria-controls": i.open ? i.contentId : void 0, + "data-state": i.open ? "open" : "closed", + "data-disabled": o ? "" : void 0, + disabled: o, + ...r, + ref: Xd(e, i.triggerRef), + onPointerDown: rt(t.onPointerDown, (a) => { + !o && a.button === 0 && a.ctrlKey === !1 && (i.onOpenToggle(), i.open || a.preventDefault()) + }), + onKeyDown: rt(t.onKeyDown, (a) => { + o || + (["Enter", " "].includes(a.key) && i.onOpenToggle(), + a.key === "ArrowDown" && i.onOpenChange(!0), + ["Enter", " ", "ArrowDown"].includes(a.key) && a.preventDefault()) + }), + }), + }) + }) +pOt.displayName = est +var mOt = "DropdownMenuPortal", + tst = (t) => { + const { __scopeDropdownMenu: e, ...n } = t, + o = vs(e) + return l.jsx(XNt, { ...o, ...n }) + } +tst.displayName = mOt +var nst = "DropdownMenuContent", + ost = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = Jit(nst, n), + i = vs(n), + s = k.useRef(!1) + return l.jsx(JNt, { + id: r.contentId, + "aria-labelledby": r.triggerId, + ...i, + ...o, + ref: e, + onCloseAutoFocus: rt(t.onCloseAutoFocus, (a) => { + var c + s.current || (c = r.triggerRef.current) == null || c.focus(), (s.current = !1), a.preventDefault() + }), + onInteractOutside: rt(t.onInteractOutside, (a) => { + const c = a.detail.originalEvent, + d = c.button === 0 && c.ctrlKey === !0, + u = c.button === 2 || d + ;(!r.modal || u) && (s.current = !0) + }), + style: { + ...t.style, + "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)", + "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)", + "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)", + "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)", + "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)", + }, + }) + }) +ost.displayName = nst +var hOt = "DropdownMenuGroup", + fOt = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(eOt, { ...r, ...o, ref: e }) + }) +fOt.displayName = hOt +var gOt = "DropdownMenuLabel", + rst = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(tOt, { ...r, ...o, ref: e }) + }) +rst.displayName = gOt +var vOt = "DropdownMenuItem", + ist = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(nOt, { ...r, ...o, ref: e }) + }) +ist.displayName = vOt +var bOt = "DropdownMenuCheckboxItem", + sst = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(oOt, { ...r, ...o, ref: e }) + }) +sst.displayName = bOt +var yOt = "DropdownMenuRadioGroup", + kOt = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(rOt, { ...r, ...o, ref: e }) + }) +kOt.displayName = yOt +var xOt = "DropdownMenuRadioItem", + ast = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(iOt, { ...r, ...o, ref: e }) + }) +ast.displayName = xOt +var wOt = "DropdownMenuItemIndicator", + lst = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(sOt, { ...r, ...o, ref: e }) + }) +lst.displayName = wOt +var _Ot = "DropdownMenuSeparator", + cst = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(aOt, { ...r, ...o, ref: e }) + }) +cst.displayName = _Ot +var COt = "DropdownMenuArrow", + SOt = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(lOt, { ...r, ...o, ref: e }) + }) +SOt.displayName = COt +var AOt = "DropdownMenuSubTrigger", + POt = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(cOt, { ...r, ...o, ref: e }) + }) +POt.displayName = AOt +var ROt = "DropdownMenuSubContent", + TOt = k.forwardRef((t, e) => { + const { __scopeDropdownMenu: n, ...o } = t, + r = vs(n) + return l.jsx(dOt, { + ...r, + ...o, + ref: e, + style: { + ...t.style, + "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)", + "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)", + "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)", + "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)", + "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)", + }, + }) + }) +TOt.displayName = ROt +var IOt = tst, + dst = ost, + ust = rst, + pst = ist, + mst = sst, + hst = ast, + fst = lst, + gst = cst +const MOt = k.forwardRef(({ className: t, sideOffset: e = 4, container: n, ...o }, r) => + l.jsx(IOt, { + container: n, + children: l.jsx(dst, { + ref: r, + sideOffset: e, + className: be( + "z-50 min-w-[8rem] overflow-hidden rounded-xs p-1 shadow-xs", + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", + "border border-vscode-focusBorder", + "bg-vscode-dropdown-background bg-opacity-100", + "text-vscode-dropdown-foreground", + t, + ), + ...o, + }), + }), +) +MOt.displayName = dst.displayName +const jOt = k.forwardRef(({ className: t, inset: e, ...n }, o) => + l.jsx(pst, { + ref: o, + className: be( + "relative flex select-none items-center gap-2 px-2 py-1.5 outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0", + "focus:bg-vscode-list-activeSelectionBackground focus:text-vscode-list-activeSelectionForeground", + "text-vscode-dropdown-foreground text-sm", + "rounded-xs active:opacity-90 cursor-pointer", + e && "pl-8", + t, + ), + ...n, + }), +) +jOt.displayName = pst.displayName +const EOt = k.forwardRef(({ className: t, children: e, checked: n, ...o }, r) => + l.jsxs(mst, { + ref: r, + className: be( + "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + "focus:bg-vscode-list-activeSelectionBackground focus:text-vscode-list-activeSelectionForeground", + t, + ), + checked: n, + ...o, + children: [ + l.jsx("span", { + className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", + children: l.jsx(fst, { children: l.jsx(oit, { className: "h-4 w-4" }) }), + }), + e, + ], + }), +) +EOt.displayName = mst.displayName +const zOt = k.forwardRef(({ className: t, children: e, ...n }, o) => + l.jsxs(hst, { + ref: o, + className: be( + "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-vscode-list-activeSelectionBackground focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", + t, + ), + ...n, + children: [ + l.jsx("span", { + className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", + children: l.jsx(fst, { children: l.jsx(JLt, { className: "h-2 w-2 fill-current" }) }), + }), + e, + ], + }), +) +zOt.displayName = hst.displayName +const $Ot = k.forwardRef(({ className: t, inset: e, ...n }, o) => + l.jsx(ust, { ref: o, className: be("px-2 py-1.5 text-sm font-semibold", e && "pl-8", t), ...n }), +) +$Ot.displayName = ust.displayName +const LOt = k.forwardRef(({ className: t, ...e }, n) => + l.jsx(gst, { ref: n, className: be("-mx-1 my-1 h-px bg-vscode-dropdown-foreground/10", t), ...e }), +) +LOt.displayName = gst.displayName +const ha = k.forwardRef(({ className: t, type: e, ...n }, o) => + l.jsx("input", { + type: e, + className: be( + "flex w-full text-vscode-input-foreground border border-vscode-dropdown-border bg-vscode-input-background rounded-xs px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus:outline-0 focus-visible:outline-none focus-visible:border-vscode-focusBorder disabled:cursor-not-allowed disabled:opacity-50", + t, + ), + ref: o, + ...n, + }), +) +ha.displayName = "Input" +var TC = "Popover", + [vst, Htn] = hs(TC, [gu]), + oy = gu(), + [DOt, vu] = vst(TC), + bst = (t) => { + const { __scopePopover: e, children: n, open: o, defaultOpen: r, onOpenChange: i, modal: s = !1 } = t, + a = oy(e), + c = k.useRef(null), + [d, u] = k.useState(!1), + [m, f] = Ic({ prop: o, defaultProp: r ?? !1, onChange: i, caller: TC }) + return l.jsx(Sz, { + ...a, + children: l.jsx(DOt, { + scope: e, + contentId: bi(), + triggerRef: c, + open: m, + onOpenChange: f, + onOpenToggle: k.useCallback(() => f((g) => !g), [f]), + hasCustomAnchor: d, + onCustomAnchorAdd: k.useCallback(() => u(!0), []), + onCustomAnchorRemove: k.useCallback(() => u(!1), []), + modal: s, + children: n, + }), + }) + } +bst.displayName = TC +var yst = "PopoverAnchor", + NOt = k.forwardRef((t, e) => { + const { __scopePopover: n, ...o } = t, + r = vu(yst, n), + i = oy(n), + { onCustomAnchorAdd: s, onCustomAnchorRemove: a } = r + return k.useEffect(() => (s(), () => a()), [s, a]), l.jsx(ey, { ...i, ...o, ref: e }) + }) +NOt.displayName = yst +var kst = "PopoverTrigger", + xst = k.forwardRef((t, e) => { + const { __scopePopover: n, ...o } = t, + r = vu(kst, n), + i = oy(n), + s = cn(e, r.triggerRef), + a = l.jsx(Mt.button, { + type: "button", + "aria-haspopup": "dialog", + "aria-expanded": r.open, + "aria-controls": r.contentId, + "data-state": Ast(r.open), + ...o, + ref: s, + onClick: rt(t.onClick, r.onOpenToggle), + }) + return r.hasCustomAnchor ? a : l.jsx(ey, { asChild: !0, ...i, children: a }) + }) +xst.displayName = kst +var zz = "PopoverPortal", + [OOt, FOt] = vst(zz, { forceMount: void 0 }), + wst = (t) => { + const { __scopePopover: e, forceMount: n, children: o, container: r } = t, + i = vu(zz, e) + return l.jsx(OOt, { + scope: e, + forceMount: n, + children: l.jsx(fs, { + present: n || i.open, + children: l.jsx(Sf, { asChild: !0, container: r, children: o }), + }), + }) + } +wst.displayName = zz +var Yh = "PopoverContent", + _st = k.forwardRef((t, e) => { + const n = FOt(Yh, t.__scopePopover), + { forceMount: o = n.forceMount, ...r } = t, + i = vu(Yh, t.__scopePopover) + return l.jsx(fs, { + present: o || i.open, + children: i.modal ? l.jsx(UOt, { ...r, ref: e }) : l.jsx(qOt, { ...r, ref: e }), + }) + }) +_st.displayName = Yh +var BOt = Jd("PopoverContent.RemoveScroll"), + UOt = k.forwardRef((t, e) => { + const n = vu(Yh, t.__scopePopover), + o = k.useRef(null), + r = cn(e, o), + i = k.useRef(!1) + return ( + k.useEffect(() => { + const s = o.current + if (s) return hC(s) + }, []), + l.jsx(Gb, { + as: BOt, + allowPinchZoom: !0, + children: l.jsx(Cst, { + ...t, + ref: r, + trapFocus: n.open, + disableOutsidePointerEvents: !0, + onCloseAutoFocus: rt(t.onCloseAutoFocus, (s) => { + var a + s.preventDefault(), i.current || (a = n.triggerRef.current) == null || a.focus() + }), + onPointerDownOutside: rt( + t.onPointerDownOutside, + (s) => { + const a = s.detail.originalEvent, + c = a.button === 0 && a.ctrlKey === !0, + d = a.button === 2 || c + i.current = d + }, + { checkForDefaultPrevented: !1 }, + ), + onFocusOutside: rt(t.onFocusOutside, (s) => s.preventDefault(), { checkForDefaultPrevented: !1 }), + }), + }) + ) + }), + qOt = k.forwardRef((t, e) => { + const n = vu(Yh, t.__scopePopover), + o = k.useRef(!1), + r = k.useRef(!1) + return l.jsx(Cst, { + ...t, + ref: e, + trapFocus: !1, + disableOutsidePointerEvents: !1, + onCloseAutoFocus: (i) => { + var s, a + ;(s = t.onCloseAutoFocus) == null || s.call(t, i), + i.defaultPrevented || + (o.current || (a = n.triggerRef.current) == null || a.focus(), i.preventDefault()), + (o.current = !1), + (r.current = !1) + }, + onInteractOutside: (i) => { + var c, d + ;(c = t.onInteractOutside) == null || c.call(t, i), + i.defaultPrevented || + ((o.current = !0), i.detail.originalEvent.type === "pointerdown" && (r.current = !0)) + const s = i.target + ;((d = n.triggerRef.current) == null ? void 0 : d.contains(s)) && i.preventDefault(), + i.detail.originalEvent.type === "focusin" && r.current && i.preventDefault() + }, + }) + }), + Cst = k.forwardRef((t, e) => { + const { + __scopePopover: n, + trapFocus: o, + onOpenAutoFocus: r, + onCloseAutoFocus: i, + disableOutsidePointerEvents: s, + onEscapeKeyDown: a, + onPointerDownOutside: c, + onFocusOutside: d, + onInteractOutside: u, + ...m + } = t, + f = vu(Yh, n), + g = oy(n) + return ( + pC(), + l.jsx(Hb, { + asChild: !0, + loop: !0, + trapped: o, + onMountAutoFocus: r, + onUnmountAutoFocus: i, + children: l.jsx(Cf, { + asChild: !0, + disableOutsidePointerEvents: s, + onInteractOutside: u, + onEscapeKeyDown: a, + onPointerDownOutside: c, + onFocusOutside: d, + onDismiss: () => f.onOpenChange(!1), + children: l.jsx(SC, { + "data-state": Ast(f.open), + role: "dialog", + id: f.contentId, + ...g, + ...m, + ref: e, + style: { + ...m.style, + "--radix-popover-content-transform-origin": "var(--radix-popper-transform-origin)", + "--radix-popover-content-available-width": "var(--radix-popper-available-width)", + "--radix-popover-content-available-height": "var(--radix-popper-available-height)", + "--radix-popover-trigger-width": "var(--radix-popper-anchor-width)", + "--radix-popover-trigger-height": "var(--radix-popper-anchor-height)", + }, + }), + }), + }) + ) + }), + Sst = "PopoverClose", + WOt = k.forwardRef((t, e) => { + const { __scopePopover: n, ...o } = t, + r = vu(Sst, n) + return l.jsx(Mt.button, { type: "button", ...o, ref: e, onClick: rt(t.onClick, () => r.onOpenChange(!1)) }) + }) +WOt.displayName = Sst +var KOt = "PopoverArrow", + VOt = k.forwardRef((t, e) => { + const { __scopePopover: n, ...o } = t, + r = oy(n) + return l.jsx(AC, { ...r, ...o, ref: e }) + }) +VOt.displayName = KOt +function Ast(t) { + return t ? "open" : "closed" +} +var HOt = bst, + GOt = xst, + QOt = wst, + Pst = _st +const dl = HOt, + ul = GOt, + xa = k.forwardRef(({ className: t, align: e = "center", sideOffset: n = 4, container: o, ...r }, i) => + l.jsx(QOt, { + container: o, + children: l.jsx(Pst, { + ref: i, + align: e, + sideOffset: n, + className: be( + "z-50 w-72 rounded-xs p-4 shadow-xs outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", + "bg-popover", + "border border-vscode-focusBorder", + "text-popover-foreground", + t, + ), + ...r, + }), + }), + ) +xa.displayName = Pst.displayName +var $z = "Progress", + Lz = 100, + [ZOt, Gtn] = hs($z), + [YOt, XOt] = ZOt($z), + Rst = k.forwardRef((t, e) => { + const { __scopeProgress: n, value: o = null, max: r, getValueLabel: i = JOt, ...s } = t + ;(r || r === 0) && !$B(r) && console.error(e2t(`${r}`, "Progress")) + const a = $B(r) ? r : Lz + o !== null && !LB(o, a) && console.error(t2t(`${o}`, "Progress")) + const c = LB(o, a) ? o : null, + d = r_(c) ? i(c, a) : void 0 + return l.jsx(YOt, { + scope: n, + value: c, + max: a, + children: l.jsx(Mt.div, { + "aria-valuemax": a, + "aria-valuemin": 0, + "aria-valuenow": r_(c) ? c : void 0, + "aria-valuetext": d, + role: "progressbar", + "data-state": Mst(c, a), + "data-value": c ?? void 0, + "data-max": a, + ...s, + ref: e, + }), + }) + }) +Rst.displayName = $z +var Tst = "ProgressIndicator", + Ist = k.forwardRef((t, e) => { + const { __scopeProgress: n, ...o } = t, + r = XOt(Tst, n) + return l.jsx(Mt.div, { + "data-state": Mst(r.value, r.max), + "data-value": r.value ?? void 0, + "data-max": r.max, + ...o, + ref: e, + }) + }) +Ist.displayName = Tst +function JOt(t, e) { + return `${Math.round((t / e) * 100)}%` +} +function Mst(t, e) { + return t == null ? "indeterminate" : t === e ? "complete" : "loading" +} +function r_(t) { + return typeof t == "number" +} +function $B(t) { + return r_(t) && !isNaN(t) && t > 0 +} +function LB(t, e) { + return r_(t) && !isNaN(t) && t <= e && t >= 0 +} +function e2t(t, e) { + return `Invalid prop \`max\` of value \`${t}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Lz}\`.` +} +function t2t(t, e) { + return `Invalid prop \`value\` of value \`${t}\` supplied to \`${e}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${Lz} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.` +} +var Dz = Rst, + jst = Ist +const n2t = k.forwardRef(({ className: t, value: e, ...n }, o) => + l.jsx(Dz, { + ref: o, + className: be("relative h-2 w-full overflow-hidden rounded-full bg-vscode-editor-background", t), + ...n, + children: l.jsx(jst, { + className: "h-full w-full flex-1 bg-vscode-badge-background transition-all", + style: { transform: `translateX(-${100 - (e || 0)}%)` }, + }), + }), +) +n2t.displayName = Dz.displayName +function IC(t, e, n = {}) { + const { preventDefault: o = !0, stopPropagation: r = !0 } = n, + i = k.useCallback( + (s) => { + s.key === "Escape" && t && (o && s.preventDefault(), r && s.stopPropagation(), e()) + }, + [t, e, o, r], + ) + k.useEffect( + () => ( + window.addEventListener("keydown", i), + () => { + window.removeEventListener("keydown", i) + } + ), + [i], + ) +} +function i_({ + value: t, + onValueChange: e, + options: n, + placeholder: o, + searchPlaceholder: r, + emptyMessage: i, + className: s, + disabled: a, + "data-testid": c, +}) { + const [d, u] = k.useState(!1), + [m, f] = k.useState(""), + g = k.useRef(null), + b = k.useRef(null), + v = k.useRef(!0), + w = n.find((P) => P.value === t), + _ = k.useMemo(() => (m ? n.filter((P) => P.label.toLowerCase().includes(m.toLowerCase())) : n), [n, m]) + k.useEffect( + () => () => { + ;(v.current = !1), b.current && clearTimeout(b.current) + }, + [], + ), + k.useEffect(() => { + const P = setTimeout(() => { + v.current && f("") + }, 100) + return () => clearTimeout(P) + }, [t]), + IC(d, () => u(!1)) + const y = (P) => { + u(P), P || (b.current && clearTimeout(b.current), (b.current = setTimeout(() => f(""), 100))) + }, + C = (P) => { + u(!1), e(P) + }, + S = () => { + var P + f(""), (P = g.current) == null || P.focus() + } + return l.jsxs(dl, { + open: d, + onOpenChange: y, + children: [ + l.jsx(ul, { + asChild: !0, + children: l.jsxs(Ee, { + variant: "outline", + role: "combobox", + "aria-expanded": d, + disabled: a, + className: be( + "w-full justify-between font-normal", + "h-7 px-3 py-2", + "border border-vscode-dropdown-border", + "bg-vscode-dropdown-background hover:bg-transparent", + "text-vscode-dropdown-foreground", + "focus-visible:border-vscode-focusBorder", + "aria-expanded:border-vscode-focusBorder", + !w && "text-muted-foreground", + s, + ), + "data-testid": c, + children: [ + l.jsx("span", { className: "truncate", children: w ? w.label : o }), + l.jsx(hu, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }), + ], + }), + }), + l.jsx(xa, { + className: "p-0 w-[var(--radix-popover-trigger-width)]", + children: l.jsxs(Mf, { + children: [ + l.jsxs("div", { + className: "relative", + children: [ + l.jsx(Yb, { + ref: g, + value: m, + onValueChange: f, + placeholder: r, + className: "h-9 mr-4", + }), + m.length > 0 && + l.jsx("div", { + className: "absolute right-2 top-0 bottom-0 flex items-center justify-center", + "data-testid": "clear-search-button", + onClick: S, + children: l.jsx(nl, { + className: + "text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer", + }), + }), + ], + }), + l.jsxs(jf, { + children: [ + l.jsx(Xb, { + children: m && l.jsx("div", { className: "py-2 px-1 text-sm", children: i }), + }), + l.jsx(Ef, { + children: _.map((P) => + l.jsxs( + tu, + { + value: P.label, + onSelect: () => C(P.value), + disabled: P.disabled, + className: P.disabled ? "text-vscode-errorForeground" : "", + children: [ + l.jsxs("div", { + className: "flex items-center", + children: [P.icon, P.label], + }), + l.jsx(Wl, { + className: be( + "ml-auto h-4 w-4 p-0.5", + t === P.value ? "opacity-100" : "opacity-0", + ), + }), + ], + }, + P.value, + ), + ), + }), + ], + }), + ], + }), + }), + ], + }) +} +var o2t = "Separator", + DB = "horizontal", + r2t = ["horizontal", "vertical"], + Est = k.forwardRef((t, e) => { + const { decorative: n, orientation: o = DB, ...r } = t, + i = i2t(o) ? o : DB, + a = n ? { role: "none" } : { "aria-orientation": i === "vertical" ? i : void 0, role: "separator" } + return l.jsx(Mt.div, { "data-orientation": i, ...a, ...r, ref: e }) + }) +Est.displayName = o2t +function i2t(t) { + return r2t.includes(t) +} +var zst = Est +const s2t = k.forwardRef(({ className: t, orientation: e = "horizontal", decorative: n = !0, ...o }, r) => + l.jsx(zst, { + ref: r, + decorative: n, + orientation: e, + className: be( + "shrink-0 bg-vscode-editor-background my-5", + e === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", + t, + ), + ...o, + }), +) +s2t.displayName = zst.displayName +function s_(t, [e, n]) { + return Math.min(n, Math.max(e, t)) +} +var $st = ["PageUp", "PageDown"], + Lst = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"], + Dst = { + "from-left": ["Home", "PageDown", "ArrowDown", "ArrowLeft"], + "from-right": ["Home", "PageDown", "ArrowDown", "ArrowRight"], + "from-bottom": ["Home", "PageDown", "ArrowDown", "ArrowLeft"], + "from-top": ["Home", "PageDown", "ArrowUp", "ArrowLeft"], + }, + Lf = "Slider", + [RM, a2t, l2t] = xC(Lf), + [Nst, Qtn] = hs(Lf, [l2t]), + [c2t, MC] = Nst(Lf), + Ost = k.forwardRef((t, e) => { + const { + name: n, + min: o = 0, + max: r = 100, + step: i = 1, + orientation: s = "horizontal", + disabled: a = !1, + minStepsBetweenThumbs: c = 0, + defaultValue: d = [o], + value: u, + onValueChange: m = () => {}, + onValueCommit: f = () => {}, + inverted: g = !1, + form: b, + ...v + } = t, + w = k.useRef(new Set()), + _ = k.useRef(0), + C = s === "horizontal" ? d2t : u2t, + [S = [], P] = Ic({ + prop: u, + defaultProp: d, + onChange: (L) => { + var G + ;(G = [...w.current][_.current]) == null || G.focus(), m(L) + }, + }), + R = k.useRef(S) + function T(L) { + const W = g2t(S, L) + j(L, W) + } + function E(L) { + j(L, _.current) + } + function $() { + const L = R.current[_.current] + S[_.current] !== L && f(S) + } + function j(L, W, { commit: G } = { commit: !1 }) { + const U = k2t(i), + Z = x2t(Math.round((L - o) / i) * i + o, U), + V = s_(Z, [o, r]) + P((X = []) => { + const H = h2t(X, V, W) + if (y2t(H, c * i)) { + _.current = H.indexOf(V) + const B = String(H) !== String(X) + return B && G && f(H), B ? H : X + } else return X + }) + } + return l.jsx(c2t, { + scope: t.__scopeSlider, + name: n, + disabled: a, + min: o, + max: r, + valueIndexToChangeRef: _, + thumbs: w.current, + values: S, + orientation: s, + form: b, + children: l.jsx(RM.Provider, { + scope: t.__scopeSlider, + children: l.jsx(RM.Slot, { + scope: t.__scopeSlider, + children: l.jsx(C, { + "aria-disabled": a, + "data-disabled": a ? "" : void 0, + ...v, + ref: e, + onPointerDown: rt(v.onPointerDown, () => { + a || (R.current = S) + }), + min: o, + max: r, + inverted: g, + onSlideStart: a ? void 0 : T, + onSlideMove: a ? void 0 : E, + onSlideEnd: a ? void 0 : $, + onHomeKeyDown: () => !a && j(o, 0, { commit: !0 }), + onEndKeyDown: () => !a && j(r, S.length - 1, { commit: !0 }), + onStepKeyDown: ({ event: L, direction: W }) => { + if (!a) { + const Z = $st.includes(L.key) || (L.shiftKey && Lst.includes(L.key)) ? 10 : 1, + V = _.current, + X = S[V], + H = i * Z * W + j(X + H, V, { commit: !0 }) + } + }, + }), + }), + }), + }) + }) +Ost.displayName = Lf +var [Fst, Bst] = Nst(Lf, { startEdge: "left", endEdge: "right", size: "width", direction: 1 }), + d2t = k.forwardRef((t, e) => { + const { + min: n, + max: o, + dir: r, + inverted: i, + onSlideStart: s, + onSlideMove: a, + onSlideEnd: c, + onStepKeyDown: d, + ...u + } = t, + [m, f] = k.useState(null), + g = cn(e, (C) => f(C)), + b = k.useRef(void 0), + v = fz(r), + w = v === "ltr", + _ = (w && !i) || (!w && i) + function y(C) { + const S = b.current || m.getBoundingClientRect(), + P = [0, S.width], + T = Nz(P, _ ? [n, o] : [o, n]) + return (b.current = S), T(C - S.left) + } + return l.jsx(Fst, { + scope: t.__scopeSlider, + startEdge: _ ? "left" : "right", + endEdge: _ ? "right" : "left", + direction: _ ? 1 : -1, + size: "width", + children: l.jsx(Ust, { + dir: v, + "data-orientation": "horizontal", + ...u, + ref: g, + style: { ...u.style, "--radix-slider-thumb-transform": "translateX(-50%)" }, + onSlideStart: (C) => { + const S = y(C.clientX) + s == null || s(S) + }, + onSlideMove: (C) => { + const S = y(C.clientX) + a == null || a(S) + }, + onSlideEnd: () => { + ;(b.current = void 0), c == null || c() + }, + onStepKeyDown: (C) => { + const P = Dst[_ ? "from-left" : "from-right"].includes(C.key) + d == null || d({ event: C, direction: P ? -1 : 1 }) + }, + }), + }) + }), + u2t = k.forwardRef((t, e) => { + const { + min: n, + max: o, + inverted: r, + onSlideStart: i, + onSlideMove: s, + onSlideEnd: a, + onStepKeyDown: c, + ...d + } = t, + u = k.useRef(null), + m = cn(e, u), + f = k.useRef(void 0), + g = !r + function b(v) { + const w = f.current || u.current.getBoundingClientRect(), + _ = [0, w.height], + C = Nz(_, g ? [o, n] : [n, o]) + return (f.current = w), C(v - w.top) + } + return l.jsx(Fst, { + scope: t.__scopeSlider, + startEdge: g ? "bottom" : "top", + endEdge: g ? "top" : "bottom", + size: "height", + direction: g ? 1 : -1, + children: l.jsx(Ust, { + "data-orientation": "vertical", + ...d, + ref: m, + style: { ...d.style, "--radix-slider-thumb-transform": "translateY(50%)" }, + onSlideStart: (v) => { + const w = b(v.clientY) + i == null || i(w) + }, + onSlideMove: (v) => { + const w = b(v.clientY) + s == null || s(w) + }, + onSlideEnd: () => { + ;(f.current = void 0), a == null || a() + }, + onStepKeyDown: (v) => { + const _ = Dst[g ? "from-bottom" : "from-top"].includes(v.key) + c == null || c({ event: v, direction: _ ? -1 : 1 }) + }, + }), + }) + }), + Ust = k.forwardRef((t, e) => { + const { + __scopeSlider: n, + onSlideStart: o, + onSlideMove: r, + onSlideEnd: i, + onHomeKeyDown: s, + onEndKeyDown: a, + onStepKeyDown: c, + ...d + } = t, + u = MC(Lf, n) + return l.jsx(Mt.span, { + ...d, + ref: e, + onKeyDown: rt(t.onKeyDown, (m) => { + m.key === "Home" + ? (s(m), m.preventDefault()) + : m.key === "End" + ? (a(m), m.preventDefault()) + : $st.concat(Lst).includes(m.key) && (c(m), m.preventDefault()) + }), + onPointerDown: rt(t.onPointerDown, (m) => { + const f = m.target + f.setPointerCapture(m.pointerId), m.preventDefault(), u.thumbs.has(f) ? f.focus() : o(m) + }), + onPointerMove: rt(t.onPointerMove, (m) => { + m.target.hasPointerCapture(m.pointerId) && r(m) + }), + onPointerUp: rt(t.onPointerUp, (m) => { + const f = m.target + f.hasPointerCapture(m.pointerId) && (f.releasePointerCapture(m.pointerId), i(m)) + }), + }) + }), + qst = "SliderTrack", + Wst = k.forwardRef((t, e) => { + const { __scopeSlider: n, ...o } = t, + r = MC(qst, n) + return l.jsx(Mt.span, { + "data-disabled": r.disabled ? "" : void 0, + "data-orientation": r.orientation, + ...o, + ref: e, + }) + }) +Wst.displayName = qst +var TM = "SliderRange", + Kst = k.forwardRef((t, e) => { + const { __scopeSlider: n, ...o } = t, + r = MC(TM, n), + i = Bst(TM, n), + s = k.useRef(null), + a = cn(e, s), + c = r.values.length, + d = r.values.map((f) => Gst(f, r.min, r.max)), + u = c > 1 ? Math.min(...d) : 0, + m = 100 - Math.max(...d) + return l.jsx(Mt.span, { + "data-orientation": r.orientation, + "data-disabled": r.disabled ? "" : void 0, + ...o, + ref: a, + style: { ...t.style, [i.startEdge]: u + "%", [i.endEdge]: m + "%" }, + }) + }) +Kst.displayName = TM +var IM = "SliderThumb", + Vst = k.forwardRef((t, e) => { + const n = a2t(t.__scopeSlider), + [o, r] = k.useState(null), + i = cn(e, (a) => r(a)), + s = k.useMemo(() => (o ? n().findIndex((a) => a.ref.current === o) : -1), [n, o]) + return l.jsx(p2t, { ...t, ref: i, index: s }) + }), + p2t = k.forwardRef((t, e) => { + const { __scopeSlider: n, index: o, name: r, ...i } = t, + s = MC(IM, n), + a = Bst(IM, n), + [c, d] = k.useState(null), + u = cn(e, (y) => d(y)), + m = c ? s.form || !!c.closest("form") : !0, + f = nz(c), + g = s.values[o], + b = g === void 0 ? 0 : Gst(g, s.min, s.max), + v = f2t(o, s.values.length), + w = f == null ? void 0 : f[a.size], + _ = w ? v2t(w, b, a.direction) : 0 + return ( + k.useEffect(() => { + if (c) + return ( + s.thumbs.add(c), + () => { + s.thumbs.delete(c) + } + ) + }, [c, s.thumbs]), + l.jsxs("span", { + style: { + transform: "var(--radix-slider-thumb-transform)", + position: "absolute", + [a.startEdge]: `calc(${b}% + ${_}px)`, + }, + children: [ + l.jsx(RM.ItemSlot, { + scope: t.__scopeSlider, + children: l.jsx(Mt.span, { + role: "slider", + "aria-label": t["aria-label"] || v, + "aria-valuemin": s.min, + "aria-valuenow": g, + "aria-valuemax": s.max, + "aria-orientation": s.orientation, + "data-orientation": s.orientation, + "data-disabled": s.disabled ? "" : void 0, + tabIndex: s.disabled ? void 0 : 0, + ...i, + ref: u, + style: g === void 0 ? { display: "none" } : t.style, + onFocus: rt(t.onFocus, () => { + s.valueIndexToChangeRef.current = o + }), + }), + }), + m && + l.jsx( + Hst, + { + name: r ?? (s.name ? s.name + (s.values.length > 1 ? "[]" : "") : void 0), + form: s.form, + value: g, + }, + o, + ), + ], + }) + ) + }) +Vst.displayName = IM +var m2t = "RadioBubbleInput", + Hst = k.forwardRef(({ __scopeSlider: t, value: e, ...n }, o) => { + const r = k.useRef(null), + i = cn(r, o), + s = tz(e) + return ( + k.useEffect(() => { + const a = r.current + if (!a) return + const c = window.HTMLInputElement.prototype, + u = Object.getOwnPropertyDescriptor(c, "value").set + if (s !== e && u) { + const m = new Event("input", { bubbles: !0 }) + u.call(a, e), a.dispatchEvent(m) + } + }, [s, e]), + l.jsx(Mt.input, { style: { display: "none" }, ...n, ref: i, defaultValue: e }) + ) + }) +Hst.displayName = m2t +function h2t(t = [], e, n) { + const o = [...t] + return (o[n] = e), o.sort((r, i) => r - i) +} +function Gst(t, e, n) { + const i = (100 / (n - e)) * (t - e) + return s_(i, [0, 100]) +} +function f2t(t, e) { + return e > 2 ? `Value ${t + 1} of ${e}` : e === 2 ? ["Minimum", "Maximum"][t] : void 0 +} +function g2t(t, e) { + if (t.length === 1) return 0 + const n = t.map((r) => Math.abs(r - e)), + o = Math.min(...n) + return n.indexOf(o) +} +function v2t(t, e, n) { + const o = t / 2, + i = Nz([0, 50], [0, o]) + return (o - i(e) * n) * n +} +function b2t(t) { + return t.slice(0, -1).map((e, n) => t[n + 1] - e) +} +function y2t(t, e) { + if (e > 0) { + const n = b2t(t) + return Math.min(...n) >= e + } + return !0 +} +function Nz(t, e) { + return (n) => { + if (t[0] === t[1] || e[0] === e[1]) return e[0] + const o = (e[1] - e[0]) / (t[1] - t[0]) + return e[0] + o * (n - t[0]) + } +} +function k2t(t) { + return (String(t).split(".")[1] || "").length +} +function x2t(t, e) { + const n = Math.pow(10, e) + return Math.round(t * n) / n +} +var Qst = Ost, + w2t = Wst, + _2t = Kst, + C2t = Vst +const Ro = k.forwardRef(({ className: t, ...e }, n) => + l.jsxs(Qst, { + ref: n, + className: be("relative flex w-full touch-none select-none items-center", t), + ...e, + children: [ + l.jsx(w2t, { + className: "relative w-full h-[8px] grow overflow-hidden bg-accent rounded-sm border", + children: l.jsx(_2t, { className: "absolute h-full bg-vscode-button-background" }), + }), + l.jsx(C2t, { + className: + "block h-3 w-3 rounded-full border border-primary/50 bg-vscode-button-background transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50", + }), + ], + }), +) +Ro.displayName = Qst.displayName +/** @license + * fzf v0.5.2 + * Copyright (c) 2021 Ajit + * Licensed under BSD 3-Clause + */ const Oz = { + 216: "O", + 223: "s", + 248: "o", + 273: "d", + 295: "h", + 305: "i", + 320: "l", + 322: "l", + 359: "t", + 383: "s", + 384: "b", + 385: "B", + 387: "b", + 390: "O", + 392: "c", + 393: "D", + 394: "D", + 396: "d", + 398: "E", + 400: "E", + 402: "f", + 403: "G", + 407: "I", + 409: "k", + 410: "l", + 412: "M", + 413: "N", + 414: "n", + 415: "O", + 421: "p", + 427: "t", + 429: "t", + 430: "T", + 434: "V", + 436: "y", + 438: "z", + 477: "e", + 485: "g", + 544: "N", + 545: "d", + 549: "z", + 564: "l", + 565: "n", + 566: "t", + 567: "j", + 570: "A", + 571: "C", + 572: "c", + 573: "L", + 574: "T", + 575: "s", + 576: "z", + 579: "B", + 580: "U", + 581: "V", + 582: "E", + 583: "e", + 584: "J", + 585: "j", + 586: "Q", + 587: "q", + 588: "R", + 589: "r", + 590: "Y", + 591: "y", + 592: "a", + 593: "a", + 595: "b", + 596: "o", + 597: "c", + 598: "d", + 599: "d", + 600: "e", + 603: "e", + 604: "e", + 605: "e", + 606: "e", + 607: "j", + 608: "g", + 609: "g", + 610: "G", + 613: "h", + 614: "h", + 616: "i", + 618: "I", + 619: "l", + 620: "l", + 621: "l", + 623: "m", + 624: "m", + 625: "m", + 626: "n", + 627: "n", + 628: "N", + 629: "o", + 633: "r", + 634: "r", + 635: "r", + 636: "r", + 637: "r", + 638: "r", + 639: "r", + 640: "R", + 641: "R", + 642: "s", + 647: "t", + 648: "t", + 649: "u", + 651: "v", + 652: "v", + 653: "w", + 654: "y", + 655: "Y", + 656: "z", + 657: "z", + 663: "c", + 665: "B", + 666: "e", + 667: "G", + 668: "H", + 669: "j", + 670: "k", + 671: "L", + 672: "q", + 686: "h", + 867: "a", + 868: "e", + 869: "i", + 870: "o", + 871: "u", + 872: "c", + 873: "d", + 874: "h", + 875: "m", + 876: "r", + 877: "t", + 878: "v", + 879: "x", + 7424: "A", + 7427: "B", + 7428: "C", + 7429: "D", + 7431: "E", + 7432: "e", + 7433: "i", + 7434: "J", + 7435: "K", + 7436: "L", + 7437: "M", + 7438: "N", + 7439: "O", + 7440: "O", + 7441: "o", + 7442: "o", + 7443: "o", + 7446: "o", + 7447: "o", + 7448: "P", + 7449: "R", + 7450: "R", + 7451: "T", + 7452: "U", + 7453: "u", + 7454: "u", + 7455: "m", + 7456: "V", + 7457: "W", + 7458: "Z", + 7522: "i", + 7523: "r", + 7524: "u", + 7525: "v", + 7834: "a", + 7835: "s", + 8305: "i", + 8341: "h", + 8342: "k", + 8343: "l", + 8344: "m", + 8345: "n", + 8346: "p", + 8347: "s", + 8348: "t", + 8580: "c", +} +for (let t = "̀".codePointAt(0); t <= "ͯ".codePointAt(0); ++t) { + const e = String.fromCodePoint(t) + for (const n of "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") { + const r = (n + e).normalize().codePointAt(0) + r > 126 && (Oz[r] = n) + } +} +const mP = { a: [7844, 7863], e: [7870, 7879], o: [7888, 7907], u: [7912, 7921] } +for (const t of Object.keys(mP)) { + const e = t.toUpperCase() + for (let n = mP[t][0]; n <= mP[t][1]; ++n) Oz[n] = n % 2 === 0 ? e : t +} +function ry(t) { + if (t < 192 || t > 8580) return t + const e = Oz[t] + return e !== void 0 ? e.codePointAt(0) : t +} +function Td(t, e) { + return t > e ? t : e +} +const Zst = (t) => t.split("").map((e) => e.codePointAt(0)), + S2t = new Set( + ` \f +\r \v  \u2028\u2029   \uFEFF` + .split("") + .map((t) => t.codePointAt(0)), + ) +for (let t = " ".codePointAt(0); t <= " ".codePointAt(0); t++) S2t.add(t) +const Xh = "".codePointAt(0), + db = "A".codePointAt(0), + ub = "Z".codePointAt(0), + Yst = "a".codePointAt(0), + Xst = "z".codePointAt(0), + A2t = "0".codePointAt(0), + P2t = "9".codePointAt(0) +function eh(t, e, n) { + return n ? t : e - t - 1 +} +const pb = 16, + MM = -3, + a_ = -1, + Fp = pb / 2, + R2t = pb / 2, + T2t = Fp + a_, + Jst = 4, + eat = 2 +function jM(t) { + return t ? new Set() : null +} +function Kg(t, e, n) { + if (e !== null && e.i16.length > t + n) { + const o = e.i16.subarray(t, t + n) + return [t + n, o] + } + return [t, new Int16Array(n)] +} +function NB(t, e, n) { + if (e !== null && e.i32.length > t + n) { + const o = e.i32.subarray(t, t + n) + return [t + n, o] + } + return [t, new Int32Array(n)] +} +function tat(t) { + return t >= Yst && t <= Xst ? 1 : t >= db && t <= ub ? 2 : t >= A2t && t <= P2t ? 4 : 0 +} +function nat(t) { + const e = String.fromCodePoint(t) + return e !== e.toUpperCase() + ? 1 + : e !== e.toLowerCase() + ? 2 + : e.match(new RegExp("\\p{Number}", "gu")) !== null + ? 4 + : e.match(new RegExp("\\p{Letter}", "gu")) !== null + ? 3 + : 0 +} +function l_(t) { + return t <= Xh ? tat(t) : nat(t) +} +function Fz(t, e) { + return t === 0 && e !== 0 ? Fp : (t === 1 && e === 2) || (t !== 4 && e === 4) ? T2t : e === 0 ? R2t : 0 +} +function I2t(t, e) { + return e === 0 ? Fp : Fz(l_(t[e - 1]), l_(t[e])) +} +function M2t(t, e, n, o) { + let r = t.slice(o), + i = r.indexOf(n) + if (i === 0) return o + if (!e && n >= Yst && n <= Xst) { + i > 0 && (r = r.slice(0, i)) + const s = r.indexOf(n - 32) + s >= 0 && (i = s) + } + return i < 0 ? -1 : o + i +} +function OB(t) { + for (const e of t) if (e >= 128) return !1 + return !0 +} +function Bz(t, e, n) { + if (!OB(t)) return 0 + if (!OB(e)) return -1 + let o = 0, + r = 0 + for (let i = 0; i < e.length; i++) { + if (((r = M2t(t, n, e[i], r)), r < 0)) return -1 + i === 0 && r > 0 && (o = r - 1), r++ + } + return o +} +const j2t = (t, e, n, o, r, i, s) => { + const a = r.length + if (a === 0) return [{ start: 0, end: 0, score: 0 }, jM(i)] + const c = o.length + if (s !== null && c * a > s.i16.length) return rat(t, e, n, o, r, i) + const d = Bz(o, r, t) + if (d < 0) return [{ start: -1, end: -1, score: 0 }, null] + let u = 0, + m = 0, + f = null, + g = null, + b = null, + v = null + ;([u, f] = Kg(u, s, c)), ([u, g] = Kg(u, s, c)), ([u, b] = Kg(u, s, c)), ([m, v] = NB(m, s, a)) + const [, w] = NB(m, s, c) + for (let F = 0; F < w.length; F++) w[F] = o[F] + let _ = 0, + y = 0, + C = 0, + S = 0 + const P = r[0] + let R = r[0], + T = 0, + E = 0, + $ = !1, + j = w.subarray(d), + L = f.subarray(d).subarray(0, j.length), + W = g.subarray(d).subarray(0, j.length), + G = b.subarray(d).subarray(0, j.length) + for (let [F, N] of j.entries()) { + let J = null + N <= Xh + ? ((J = tat(N)), !t && J === 2 && (N += 32)) + : ((J = nat(N)), + !t && J === 2 && (N = String.fromCodePoint(N).toLowerCase().codePointAt(0)), + e && (N = ry(N))), + (j[F] = N) + const oe = Fz(E, J) + if ( + ((G[F] = oe), + (E = J), + N === R && (C < a && ((v[C] = d + F), C++, (R = r[Math.min(C, a - 1)])), (S = d + F)), + N === P) + ) { + const ae = pb + oe * eat + if ( + ((L[F] = ae), + (W[F] = 1), + a === 1 && ((n && ae > _) || (!n && ae >= _)) && ((_ = ae), (y = d + F), n && oe === Fp)) + ) + break + $ = !1 + } else $ ? (L[F] = Td(T + a_, 0)) : (L[F] = Td(T + MM, 0)), (W[F] = 0), ($ = !0) + T = L[F] + } + if (C !== a) return [{ start: -1, end: -1, score: 0 }, null] + if (a === 1) { + const F = { start: y, end: y + 1, score: _ } + if (!i) return [F, null] + const N = new Set() + return N.add(y), [F, N] + } + const U = v[0], + Z = S - U + 1 + let V = null + ;[u, V] = Kg(u, s, Z * a) + { + const F = f.subarray(U, S + 1) + for (const [N, J] of F.entries()) V[N] = J + } + let [, X] = Kg(u, s, Z * a) + { + const F = g.subarray(U, S + 1) + for (const [N, J] of F.entries()) X[N] = J + } + const H = v.subarray(1), + B = r.slice(1).slice(0, H.length) + for (const [F, N] of H.entries()) { + let J = !1 + const oe = B[F], + ae = F + 1, + Q = ae * Z, + ee = w.subarray(N, S + 1), + q = b.subarray(N).subarray(0, ee.length), + me = X.subarray(Q + N - U).subarray(0, ee.length), + Ce = X.subarray(Q + N - U - 1 - Z).subarray(0, ee.length), + ue = V.subarray(Q + N - U).subarray(0, ee.length), + Te = V.subarray(Q + N - U - 1 - Z).subarray(0, ee.length), + dt = V.subarray(Q + N - U - 1).subarray(0, ee.length) + dt[0] = 0 + for (const [Y, Ke] of ee.entries()) { + const jt = Y + N + let Ye = 0, + Bt = 0, + nn = 0 + if ((J ? (Bt = dt[Y] + a_) : (Bt = dt[Y] + MM), oe === Ke)) { + Ye = Te[Y] + pb + let Tt = q[Y] + ;(nn = Ce[Y] + 1), + Tt === Fp ? (nn = 1) : nn > 1 && (Tt = Td(Tt, Td(Jst, b[jt - nn + 1]))), + Ye + Tt < Bt ? ((Ye += q[Y]), (nn = 0)) : (Ye += Tt) + } + ;(me[Y] = nn), (J = Ye < Bt) + const Xe = Td(Td(Ye, Bt), 0) + ae === a - 1 && ((n && Xe > _) || (!n && Xe >= _)) && ((_ = Xe), (y = jt)), (ue[Y] = Xe) + } + } + const M = jM(i) + let D = U + if (i && M !== null) { + let F = a - 1 + D = y + let N = !0 + for (;;) { + const J = F * Z, + oe = D - U, + ae = V[J + oe] + let Q = 0, + ee = 0 + if ( + (F > 0 && D >= v[F] && (Q = V[J - Z + oe - 1]), + D > v[F] && (ee = V[J + oe - 1]), + ae > Q && (ae > ee || (ae === ee && N))) + ) { + if ((M.add(D), F === 0)) break + F-- + } + ;(N = X[J + oe] > 1 || (J + Z + oe + 1 < X.length && X[J + Z + oe + 1] > 0)), D-- + } + } + return [{ start: D, end: y + 1, score: _ }, M] +} +function oat(t, e, n, o, r, i, s) { + let a = 0, + c = 0, + d = !1, + u = 0, + m = 0 + const f = jM(s) + let g = 0 + r > 0 && (g = l_(n[r - 1])) + for (let b = r; b < i; b++) { + let v = n[b] + const w = l_(v) + if ( + (t || + (v >= db && v <= ub ? (v += 32) : v > Xh && (v = String.fromCodePoint(v).toLowerCase().codePointAt(0))), + e && (v = ry(v)), + v === o[a]) + ) { + s && f !== null && f.add(b), (c += pb) + let _ = Fz(g, w) + u === 0 ? (m = _) : (_ === Fp && (m = _), (_ = Td(Td(_, m), Jst))), + a === 0 ? (c += _ * eat) : (c += _), + (d = !1), + u++, + a++ + } else d ? (c += a_) : (c += MM), (d = !0), (u = 0), (m = 0) + g = w + } + return [c, f] +} +const rat = (t, e, n, o, r, i, s) => { + if (r.length === 0) return [{ start: 0, end: 0, score: 0 }, null] + if (Bz(o, r, t) < 0) return [{ start: -1, end: -1, score: 0 }, null] + let a = 0, + c = -1, + d = -1 + const u = o.length, + m = r.length + for (let f = 0; f < u; f++) { + let g = o[eh(f, u, n)] + t || + (g >= db && g <= ub ? (g += 32) : g > Xh && (g = String.fromCodePoint(g).toLowerCase().codePointAt(0))), + e && (g = ry(g)) + const b = r[eh(a, m, n)] + if (g === b && (c < 0 && (c = f), a++, a === m)) { + d = f + 1 + break + } + } + if (c >= 0 && d >= 0) { + a-- + for (let b = d - 1; b >= c; b--) { + const v = eh(b, u, n) + let w = o[v] + t || + (w >= db && w <= ub + ? (w += 32) + : w > Xh && (w = String.fromCodePoint(w).toLowerCase().codePointAt(0))) + const _ = eh(a, m, n), + y = r[_] + if (w === y && (a--, a < 0)) { + c = b + break + } + } + if (!n) { + const b = c + ;(c = u - d), (d = u - b) + } + const [f, g] = oat(t, e, o, r, c, d, i) + return [{ start: c, end: d, score: f }, g] + } + return [{ start: -1, end: -1, score: 0 }, null] + }, + E2t = (t, e, n, o, r, i, s) => { + if (r.length === 0) return [{ start: 0, end: 0, score: 0 }, null] + const a = o.length, + c = r.length + if (a < c) return [{ start: -1, end: -1, score: 0 }, null] + if (Bz(o, r, t) < 0) return [{ start: -1, end: -1, score: 0 }, null] + let d = 0, + u = -1, + m = 0, + f = -1 + for (let g = 0; g < a; g++) { + const b = eh(g, a, n) + let v = o[b] + t || + (v >= db && v <= ub ? (v += 32) : v > Xh && (v = String.fromCodePoint(v).toLowerCase().codePointAt(0))), + e && (v = ry(v)) + const w = eh(d, c, n) + if (r[w] === v) { + if ((w === 0 && (m = I2t(o, b)), d++, d === c)) { + if ((m > f && ((u = g), (f = m)), m === Fp)) break + ;(g -= d - 1), (d = 0), (m = 0) + } + } else (g -= d), (d = 0), (m = 0) + } + if (u >= 0) { + let g = 0, + b = 0 + n ? ((g = u - c + 1), (b = u + 1)) : ((g = a - (u + 1)), (b = a - (u - c + 1))) + const [v] = oat(t, e, o, r, g, b, !1) + return [{ start: g, end: b, score: v }, null] + } + return [{ start: -1, end: -1, score: 0 }, null] + }, + z2t = 100 * 1024, + $2t = 2048 +function L2t(t, e) { + return { i16: new Int16Array(t), i32: new Int32Array(e) } +} +const D2t = L2t(z2t, $2t), + N2t = (t, e, n) => { + let o = !1 + switch (e) { + case "smart-case": + t.toLowerCase() !== t && (o = !0) + break + case "case-sensitive": + o = !0 + break + case "case-insensitive": + ;(t = t.toLowerCase()), (o = !1) + break + } + let r = Zst(t) + return n && (r = r.map(ry)), { queryRunes: r, caseSensitive: o } + } +function O2t(t, e) { + const n = Object.keys(t) + .map((r) => parseInt(r, 10)) + .sort((r, i) => i - r) + let o = [] + for (const r of n) if (((o = o.concat(t[r])), o.length >= e)) break + return o +} +function F2t(t, e, n) { + return (o) => { + const r = this.runesList[o] + if (e.length > r.length) return + let [i, s] = this.algoFn(n, this.opts.normalize, this.opts.forward, r, e, !0, D2t) + if (i.start === -1) return + if (this.opts.fuzzy === !1) { + s = new Set() + for (let c = i.start; c < i.end; ++c) s.add(c) + } + const a = this.opts.sort ? i.score : 0 + t[a] === void 0 && (t[a] = []), t[a].push({ item: this.items[o], ...i, positions: s ?? new Set() }) + } +} +function B2t(t) { + const { queryRunes: e, caseSensitive: n } = N2t(t, this.opts.casing, this.opts.normalize), + o = {}, + r = F2t.bind(this)(o, e, n) + for (let i = 0, s = this.runesList.length; i < s; ++i) r(i) + return O2t(o, this.opts.limit) +} +const iat = { + limit: 1 / 0, + selector: (t) => t, + casing: "smart-case", + normalize: !0, + fuzzy: "v2", + tiebreakers: [], + sort: !0, + forward: !0, +} +class U2t { + constructor(e, ...n) { + switch ( + ((this.opts = { ...iat, ...n[0] }), + (this.items = e), + (this.runesList = e.map((o) => Zst(this.opts.selector(o).normalize()))), + (this.algoFn = E2t), + this.opts.fuzzy) + ) { + case "v2": + this.algoFn = j2t + break + case "v1": + this.algoFn = rat + break + } + } +} +const q2t = { ...iat, match: B2t } +class W2t extends U2t { + constructor(e, ...n) { + super(e, ...n), (this.opts = { ...q2t, ...n[0] }) + } + find(e) { + if (e.length === 0 || this.items.length === 0) return this.items.slice(0, this.opts.limit).map(K2t) + e = e.normalize() + let n = this.opts.match.bind(this)(e) + return V2t(n, this.opts) + } +} +const K2t = (t) => ({ item: t, start: -1, end: -1, score: 0, positions: new Set() }) +function V2t(t, e) { + if (e.sort) { + const { selector: n } = e + t.sort((o, r) => { + if (o.score === r.score) + for (const i of e.tiebreakers) { + const s = i(o, r, n) + if (s !== 0) return s + } + return 0 + }) + } + return Number.isFinite(e.limit) && t.splice(e.limit), t +} +class Vd { + constructor(e, ...n) { + ;(this.finder = new W2t(e, ...n)), (this.find = this.finder.find.bind(this.finder)) + } +} +const Df = (t) => { + const [e, n] = k.useState() + return L_(() => n(document.getElementById(t) ?? void 0)), e + }, + H2t = k.memo( + k.forwardRef( + ( + { + value: t, + options: e, + onChange: n, + disabled: o = !1, + title: r = "", + triggerClassName: i = "", + contentClassName: s = "", + itemClassName: a = "", + sideOffset: c = 4, + align: d = "start", + placeholder: u = "", + shortcutText: m = "", + renderItem: f, + disableSearch: g = !1, + }, + b, + ) => { + const { t: v } = to(), + [w, _] = k.useState(!1), + [y, C] = k.useState(""), + S = k.useRef(null), + P = Df("roo-portal"), + R = k.useMemo(() => e.find((V) => V.value === t), [e, t]), + T = k.useMemo(() => (t && !R && u ? u : (R == null ? void 0 : R.label) || u || ""), [t, R, u]), + E = k.useCallback((V) => { + _(V), V || requestAnimationFrame(() => C("")) + }, []), + $ = k.useCallback(() => { + var V + C(""), (V = S.current) == null || V.focus() + }, []), + j = k.useMemo( + () => + e + .filter((V) => V.type !== "separator" && V.type !== "shortcut") + .map((V) => ({ original: V, searchStr: [V.label, V.value].filter(Boolean).join(" ") })), + [e], + ), + L = k.useMemo(() => new Vd(j, { selector: (V) => V.searchStr }), [j]), + W = k.useMemo(() => { + if (g || !y) return e + const V = L.find(y).map((X) => X.item.original) + return e.filter((X) => + X.type === "separator" || X.type === "shortcut" ? !0 : V.some((H) => H.value === X.value), + ) + }, [e, y, L, g]), + G = k.useMemo(() => { + const V = [] + let X = !1 + return ( + W.forEach((H) => { + H.type === "separator" + ? V.length > 0 && !X && (V.push(H), (X = !0)) + : (V.push(H), (X = !1)) + }), + V.length > 0 && V[V.length - 1].type === "separator" && V.pop(), + V + ) + }, [W]), + U = k.useCallback( + (V) => { + const X = e.find((H) => H.value === V) + if (X) { + if (X.type === "action") { + window.postMessage({ type: "action", action: X.value }), C(""), _(!1) + return + } + X.disabled || (n(X.value), C(""), _(!1)) + } + }, + [n, e], + ), + Z = l.jsxs(ul, { + ref: b, + disabled: o, + "data-testid": "dropdown-trigger", + className: be( + "w-full min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs", + "bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground w-auto", + "transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder focus-visible:ring-inset", + o + ? "opacity-50 cursor-not-allowed" + : "opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer", + i, + ), + children: [ + l.jsx(nit, { className: "pointer-events-none opacity-80 flex-shrink-0 size-3" }), + l.jsx("span", { className: "truncate", children: T }), + ], + }) + return l.jsxs(dl, { + open: w, + onOpenChange: E, + "data-testid": "dropdown-root", + children: [ + r ? l.jsx(We, { content: r, children: Z }) : Z, + l.jsx(xa, { + align: d, + sideOffset: c, + container: P, + className: be("p-0 overflow-hidden", s), + children: l.jsxs("div", { + className: "flex flex-col w-full", + children: [ + !g && + l.jsxs("div", { + className: "relative p-2 border-b border-vscode-dropdown-border", + children: [ + l.jsx("input", { + "aria-label": "Search", + ref: S, + value: y, + onChange: (V) => C(V.target.value), + placeholder: v("common:ui.search_placeholder"), + className: + "w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0", + }), + y.length > 0 && + l.jsx("div", { + className: + "absolute right-4 top-0 bottom-0 flex items-center justify-center", + children: l.jsx(nl, { + className: + "text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer", + onClick: $, + }), + }), + ], + }), + l.jsx("div", { + className: "max-h-[300px] overflow-y-auto", + children: + G.length === 0 && y + ? l.jsx("div", { + className: "py-2 px-3 text-sm text-vscode-foreground/70", + children: "No results found", + }) + : l.jsx("div", { + className: "py-1", + children: G.map((V, X) => { + if (V.type === "separator") + return l.jsx( + "div", + { + className: + "mx-1 my-1 h-px bg-vscode-dropdown-foreground/10", + "data-testid": "dropdown-separator", + }, + `sep-${X}`, + ) + if ( + V.type === "shortcut" || + (V.disabled && m && V.label.includes(m)) + ) + return l.jsx( + "div", + { + className: "px-3 py-1.5 text-sm opacity-50", + children: V.label, + }, + `label-${X}`, + ) + const H = `item-${V.value || V.label || X}` + return l.jsx( + "div", + { + onClick: () => !V.disabled && U(V.value), + className: be( + "px-3 py-1.5 text-sm cursor-pointer flex items-center", + V.disabled + ? "opacity-50 cursor-not-allowed" + : "hover:bg-vscode-list-hoverBackground", + V.value === t + ? "bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground" + : "", + a, + ), + "data-testid": "dropdown-item", + children: f + ? f(V) + : l.jsxs(l.Fragment, { + children: [ + l.jsx("span", { + children: V.label, + }), + V.value === t && + l.jsx(Wl, { + className: + "ml-auto size-4 p-0.5", + }), + ], + }), + }, + H, + ) + }), + }), + }), + ], + }), + }), + ], + }) + }, + ), + ) +H2t.displayName = "SelectDropdown" +var sat = Object.freeze({ + position: "absolute", + border: 0, + width: 1, + height: 1, + padding: 0, + margin: -1, + overflow: "hidden", + clip: "rect(0, 0, 0, 0)", + whiteSpace: "nowrap", + wordWrap: "normal", + }), + G2t = "VisuallyHidden", + aat = k.forwardRef((t, e) => l.jsx(Mt.span, { ...t, ref: e, style: { ...sat, ...t.style } })) +aat.displayName = G2t +var Q2t = aat, + Z2t = [" ", "Enter", "ArrowUp", "ArrowDown"], + Y2t = [" ", "Enter"], + Bp = "Select", + [jC, EC, X2t] = xC(Bp), + [Nf, Ztn] = hs(Bp, [X2t, gu]), + zC = gu(), + [J2t, bu] = Nf(Bp), + [eFt, tFt] = Nf(Bp), + lat = (t) => { + const { + __scopeSelect: e, + children: n, + open: o, + defaultOpen: r, + onOpenChange: i, + value: s, + defaultValue: a, + onValueChange: c, + dir: d, + name: u, + autoComplete: m, + disabled: f, + required: g, + form: b, + } = t, + v = zC(e), + [w, _] = k.useState(null), + [y, C] = k.useState(null), + [S, P] = k.useState(!1), + R = fz(d), + [T, E] = Ic({ prop: o, defaultProp: r ?? !1, onChange: i, caller: Bp }), + [$, j] = Ic({ prop: s, defaultProp: a, onChange: c, caller: Bp }), + L = k.useRef(null), + W = w ? b || !!w.closest("form") : !0, + [G, U] = k.useState(new Set()), + Z = Array.from(G) + .map((V) => V.props.value) + .join(";") + return l.jsx(Sz, { + ...v, + children: l.jsxs(J2t, { + required: g, + scope: e, + trigger: w, + onTriggerChange: _, + valueNode: y, + onValueNodeChange: C, + valueNodeHasChildren: S, + onValueNodeHasChildrenChange: P, + contentId: bi(), + value: $, + onValueChange: j, + open: T, + onOpenChange: E, + dir: R, + triggerPointerDownPosRef: L, + disabled: f, + children: [ + l.jsx(jC.Provider, { + scope: e, + children: l.jsx(eFt, { + scope: t.__scopeSelect, + onNativeOptionAdd: k.useCallback((V) => { + U((X) => new Set(X).add(V)) + }, []), + onNativeOptionRemove: k.useCallback((V) => { + U((X) => { + const H = new Set(X) + return H.delete(V), H + }) + }, []), + children: n, + }), + }), + W + ? l.jsxs( + Mat, + { + "aria-hidden": !0, + required: g, + tabIndex: -1, + name: u, + autoComplete: m, + value: $, + onChange: (V) => j(V.target.value), + disabled: f, + form: b, + children: [$ === void 0 ? l.jsx("option", { value: "" }) : null, Array.from(G)], + }, + Z, + ) + : null, + ], + }), + }) + } +lat.displayName = Bp +var cat = "SelectTrigger", + dat = k.forwardRef((t, e) => { + const { __scopeSelect: n, disabled: o = !1, ...r } = t, + i = zC(n), + s = bu(cat, n), + a = s.disabled || o, + c = cn(e, s.onTriggerChange), + d = EC(n), + u = k.useRef("touch"), + [m, f, g] = Eat((v) => { + const w = d().filter((C) => !C.disabled), + _ = w.find((C) => C.value === s.value), + y = zat(w, v, _) + y !== void 0 && s.onValueChange(y.value) + }), + b = (v) => { + a || (s.onOpenChange(!0), g()), + v && (s.triggerPointerDownPosRef.current = { x: Math.round(v.pageX), y: Math.round(v.pageY) }) + } + return l.jsx(ey, { + asChild: !0, + ...i, + children: l.jsx(Mt.button, { + type: "button", + role: "combobox", + "aria-controls": s.contentId, + "aria-expanded": s.open, + "aria-required": s.required, + "aria-autocomplete": "none", + dir: s.dir, + "data-state": s.open ? "open" : "closed", + disabled: a, + "data-disabled": a ? "" : void 0, + "data-placeholder": jat(s.value) ? "" : void 0, + ...r, + ref: c, + onClick: rt(r.onClick, (v) => { + v.currentTarget.focus(), u.current !== "mouse" && b(v) + }), + onPointerDown: rt(r.onPointerDown, (v) => { + u.current = v.pointerType + const w = v.target + w.hasPointerCapture(v.pointerId) && w.releasePointerCapture(v.pointerId), + v.button === 0 && v.ctrlKey === !1 && v.pointerType === "mouse" && (b(v), v.preventDefault()) + }), + onKeyDown: rt(r.onKeyDown, (v) => { + const w = m.current !== "" + !(v.ctrlKey || v.altKey || v.metaKey) && v.key.length === 1 && f(v.key), + !(w && v.key === " ") && Z2t.includes(v.key) && (b(), v.preventDefault()) + }), + }), + }) + }) +dat.displayName = cat +var uat = "SelectValue", + pat = k.forwardRef((t, e) => { + const { __scopeSelect: n, className: o, style: r, children: i, placeholder: s = "", ...a } = t, + c = bu(uat, n), + { onValueNodeHasChildrenChange: d } = c, + u = i !== void 0, + m = cn(e, c.onValueNodeChange) + return ( + Gr(() => { + d(u) + }, [d, u]), + l.jsx(Mt.span, { + ...a, + ref: m, + style: { pointerEvents: "none" }, + children: jat(c.value) ? l.jsx(l.Fragment, { children: s }) : i, + }) + ) + }) +pat.displayName = uat +var nFt = "SelectIcon", + mat = k.forwardRef((t, e) => { + const { __scopeSelect: n, children: o, ...r } = t + return l.jsx(Mt.span, { "aria-hidden": !0, ...r, ref: e, children: o || "▼" }) + }) +mat.displayName = nFt +var oFt = "SelectPortal", + hat = (t) => l.jsx(Sf, { asChild: !0, ...t }) +hat.displayName = oFt +var Up = "SelectContent", + fat = k.forwardRef((t, e) => { + const n = bu(Up, t.__scopeSelect), + [o, r] = k.useState() + if ( + (Gr(() => { + r(new DocumentFragment()) + }, []), + !n.open) + ) { + const i = o + return i + ? $b.createPortal( + l.jsx(gat, { + scope: t.__scopeSelect, + children: l.jsx(jC.Slot, { + scope: t.__scopeSelect, + children: l.jsx("div", { children: t.children }), + }), + }), + i, + ) + : null + } + return l.jsx(vat, { ...t, ref: e }) + }) +fat.displayName = Up +var $a = 10, + [gat, yu] = Nf(Up), + rFt = "SelectContentImpl", + iFt = Jd("SelectContent.RemoveScroll"), + vat = k.forwardRef((t, e) => { + const { + __scopeSelect: n, + position: o = "item-aligned", + onCloseAutoFocus: r, + onEscapeKeyDown: i, + onPointerDownOutside: s, + side: a, + sideOffset: c, + align: d, + alignOffset: u, + arrowPadding: m, + collisionBoundary: f, + collisionPadding: g, + sticky: b, + hideWhenDetached: v, + avoidCollisions: w, + ..._ + } = t, + y = bu(Up, n), + [C, S] = k.useState(null), + [P, R] = k.useState(null), + T = cn(e, (Q) => S(Q)), + [E, $] = k.useState(null), + [j, L] = k.useState(null), + W = EC(n), + [G, U] = k.useState(!1), + Z = k.useRef(!1) + k.useEffect(() => { + if (C) return hC(C) + }, [C]), + pC() + const V = k.useCallback( + (Q) => { + const [ee, ...q] = W().map((ue) => ue.ref.current), + [me] = q.slice(-1), + Ce = document.activeElement + for (const ue of Q) + if ( + ue === Ce || + (ue == null || ue.scrollIntoView({ block: "nearest" }), + ue === ee && P && (P.scrollTop = 0), + ue === me && P && (P.scrollTop = P.scrollHeight), + ue == null || ue.focus(), + document.activeElement !== Ce) + ) + return + }, + [W, P], + ), + X = k.useCallback(() => V([E, C]), [V, E, C]) + k.useEffect(() => { + G && X() + }, [G, X]) + const { onOpenChange: H, triggerPointerDownPosRef: B } = y + k.useEffect(() => { + if (C) { + let Q = { x: 0, y: 0 } + const ee = (me) => { + var Ce, ue + Q = { + x: Math.abs(Math.round(me.pageX) - (((Ce = B.current) == null ? void 0 : Ce.x) ?? 0)), + y: Math.abs(Math.round(me.pageY) - (((ue = B.current) == null ? void 0 : ue.y) ?? 0)), + } + }, + q = (me) => { + Q.x <= 10 && Q.y <= 10 ? me.preventDefault() : C.contains(me.target) || H(!1), + document.removeEventListener("pointermove", ee), + (B.current = null) + } + return ( + B.current !== null && + (document.addEventListener("pointermove", ee), + document.addEventListener("pointerup", q, { capture: !0, once: !0 })), + () => { + document.removeEventListener("pointermove", ee), + document.removeEventListener("pointerup", q, { capture: !0 }) + } + ) + } + }, [C, H, B]), + k.useEffect(() => { + const Q = () => H(!1) + return ( + window.addEventListener("blur", Q), + window.addEventListener("resize", Q), + () => { + window.removeEventListener("blur", Q), window.removeEventListener("resize", Q) + } + ) + }, [H]) + const [M, D] = Eat((Q) => { + const ee = W().filter((Ce) => !Ce.disabled), + q = ee.find((Ce) => Ce.ref.current === document.activeElement), + me = zat(ee, Q, q) + me && setTimeout(() => me.ref.current.focus()) + }), + F = k.useCallback( + (Q, ee, q) => { + const me = !Z.current && !q + ;((y.value !== void 0 && y.value === ee) || me) && ($(Q), me && (Z.current = !0)) + }, + [y.value], + ), + N = k.useCallback(() => (C == null ? void 0 : C.focus()), [C]), + J = k.useCallback( + (Q, ee, q) => { + const me = !Z.current && !q + ;((y.value !== void 0 && y.value === ee) || me) && L(Q) + }, + [y.value], + ), + oe = o === "popper" ? EM : bat, + ae = + oe === EM + ? { + side: a, + sideOffset: c, + align: d, + alignOffset: u, + arrowPadding: m, + collisionBoundary: f, + collisionPadding: g, + sticky: b, + hideWhenDetached: v, + avoidCollisions: w, + } + : {} + return l.jsx(gat, { + scope: n, + content: C, + viewport: P, + onViewportChange: R, + itemRefCallback: F, + selectedItem: E, + onItemLeave: N, + itemTextRefCallback: J, + focusSelectedItem: X, + selectedItemText: j, + position: o, + isPositioned: G, + searchRef: M, + children: l.jsx(Gb, { + as: iFt, + allowPinchZoom: !0, + children: l.jsx(Hb, { + asChild: !0, + trapped: y.open, + onMountAutoFocus: (Q) => { + Q.preventDefault() + }, + onUnmountAutoFocus: rt(r, (Q) => { + var ee + ;(ee = y.trigger) == null || ee.focus({ preventScroll: !0 }), Q.preventDefault() + }), + children: l.jsx(Cf, { + asChild: !0, + disableOutsidePointerEvents: !0, + onEscapeKeyDown: i, + onPointerDownOutside: s, + onFocusOutside: (Q) => Q.preventDefault(), + onDismiss: () => y.onOpenChange(!1), + children: l.jsx(oe, { + role: "listbox", + id: y.contentId, + "data-state": y.open ? "open" : "closed", + dir: y.dir, + onContextMenu: (Q) => Q.preventDefault(), + ..._, + ...ae, + onPlaced: () => U(!0), + ref: T, + style: { display: "flex", flexDirection: "column", outline: "none", ..._.style }, + onKeyDown: rt(_.onKeyDown, (Q) => { + const ee = Q.ctrlKey || Q.altKey || Q.metaKey + if ( + (Q.key === "Tab" && Q.preventDefault(), + !ee && Q.key.length === 1 && D(Q.key), + ["ArrowUp", "ArrowDown", "Home", "End"].includes(Q.key)) + ) { + let me = W() + .filter((Ce) => !Ce.disabled) + .map((Ce) => Ce.ref.current) + if ( + (["ArrowUp", "End"].includes(Q.key) && (me = me.slice().reverse()), + ["ArrowUp", "ArrowDown"].includes(Q.key)) + ) { + const Ce = Q.target, + ue = me.indexOf(Ce) + me = me.slice(ue + 1) + } + setTimeout(() => V(me)), Q.preventDefault() + } + }), + }), + }), + }), + }), + }) + }) +vat.displayName = rFt +var sFt = "SelectItemAlignedPosition", + bat = k.forwardRef((t, e) => { + const { __scopeSelect: n, onPlaced: o, ...r } = t, + i = bu(Up, n), + s = yu(Up, n), + [a, c] = k.useState(null), + [d, u] = k.useState(null), + m = cn(e, (T) => u(T)), + f = EC(n), + g = k.useRef(!1), + b = k.useRef(!0), + { viewport: v, selectedItem: w, selectedItemText: _, focusSelectedItem: y } = s, + C = k.useCallback(() => { + if (i.trigger && i.valueNode && a && d && v && w && _) { + const T = i.trigger.getBoundingClientRect(), + E = d.getBoundingClientRect(), + $ = i.valueNode.getBoundingClientRect(), + j = _.getBoundingClientRect() + if (i.dir !== "rtl") { + const Ce = j.left - E.left, + ue = $.left - Ce, + Te = T.left - ue, + dt = T.width + Te, + Y = Math.max(dt, E.width), + Ke = window.innerWidth - $a, + jt = s_(ue, [$a, Math.max($a, Ke - Y)]) + ;(a.style.minWidth = dt + "px"), (a.style.left = jt + "px") + } else { + const Ce = E.right - j.right, + ue = window.innerWidth - $.right - Ce, + Te = window.innerWidth - T.right - ue, + dt = T.width + Te, + Y = Math.max(dt, E.width), + Ke = window.innerWidth - $a, + jt = s_(ue, [$a, Math.max($a, Ke - Y)]) + ;(a.style.minWidth = dt + "px"), (a.style.right = jt + "px") + } + const L = f(), + W = window.innerHeight - $a * 2, + G = v.scrollHeight, + U = window.getComputedStyle(d), + Z = parseInt(U.borderTopWidth, 10), + V = parseInt(U.paddingTop, 10), + X = parseInt(U.borderBottomWidth, 10), + H = parseInt(U.paddingBottom, 10), + B = Z + V + G + H + X, + M = Math.min(w.offsetHeight * 5, B), + D = window.getComputedStyle(v), + F = parseInt(D.paddingTop, 10), + N = parseInt(D.paddingBottom, 10), + J = T.top + T.height / 2 - $a, + oe = W - J, + ae = w.offsetHeight / 2, + Q = w.offsetTop + ae, + ee = Z + V + Q, + q = B - ee + if (ee <= J) { + const Ce = L.length > 0 && w === L[L.length - 1].ref.current + a.style.bottom = "0px" + const ue = d.clientHeight - v.offsetTop - v.offsetHeight, + Te = Math.max(oe, ae + (Ce ? N : 0) + ue + X), + dt = ee + Te + a.style.height = dt + "px" + } else { + const Ce = L.length > 0 && w === L[0].ref.current + a.style.top = "0px" + const Te = Math.max(J, Z + v.offsetTop + (Ce ? F : 0) + ae) + q + ;(a.style.height = Te + "px"), (v.scrollTop = ee - J + v.offsetTop) + } + ;(a.style.margin = `${$a}px 0`), + (a.style.minHeight = M + "px"), + (a.style.maxHeight = W + "px"), + o == null || o(), + requestAnimationFrame(() => (g.current = !0)) + } + }, [f, i.trigger, i.valueNode, a, d, v, w, _, i.dir, o]) + Gr(() => C(), [C]) + const [S, P] = k.useState() + Gr(() => { + d && P(window.getComputedStyle(d).zIndex) + }, [d]) + const R = k.useCallback( + (T) => { + T && b.current === !0 && (C(), y == null || y(), (b.current = !1)) + }, + [C, y], + ) + return l.jsx(lFt, { + scope: n, + contentWrapper: a, + shouldExpandOnScrollRef: g, + onScrollButtonChange: R, + children: l.jsx("div", { + ref: c, + style: { display: "flex", flexDirection: "column", position: "fixed", zIndex: S }, + children: l.jsx(Mt.div, { + ...r, + ref: m, + style: { boxSizing: "border-box", maxHeight: "100%", ...r.style }, + }), + }), + }) + }) +bat.displayName = sFt +var aFt = "SelectPopperPosition", + EM = k.forwardRef((t, e) => { + const { __scopeSelect: n, align: o = "start", collisionPadding: r = $a, ...i } = t, + s = zC(n) + return l.jsx(SC, { + ...s, + ...i, + ref: e, + align: o, + collisionPadding: r, + style: { + boxSizing: "border-box", + ...i.style, + "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)", + "--radix-select-content-available-width": "var(--radix-popper-available-width)", + "--radix-select-content-available-height": "var(--radix-popper-available-height)", + "--radix-select-trigger-width": "var(--radix-popper-anchor-width)", + "--radix-select-trigger-height": "var(--radix-popper-anchor-height)", + }, + }) + }) +EM.displayName = aFt +var [lFt, Uz] = Nf(Up, {}), + zM = "SelectViewport", + yat = k.forwardRef((t, e) => { + const { __scopeSelect: n, nonce: o, ...r } = t, + i = yu(zM, n), + s = Uz(zM, n), + a = cn(e, i.onViewportChange), + c = k.useRef(0) + return l.jsxs(l.Fragment, { + children: [ + l.jsx("style", { + dangerouslySetInnerHTML: { + __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}", + }, + nonce: o, + }), + l.jsx(jC.Slot, { + scope: n, + children: l.jsx(Mt.div, { + "data-radix-select-viewport": "", + role: "presentation", + ...r, + ref: a, + style: { position: "relative", flex: 1, overflow: "hidden auto", ...r.style }, + onScroll: rt(r.onScroll, (d) => { + const u = d.currentTarget, + { contentWrapper: m, shouldExpandOnScrollRef: f } = s + if (f != null && f.current && m) { + const g = Math.abs(c.current - u.scrollTop) + if (g > 0) { + const b = window.innerHeight - $a * 2, + v = parseFloat(m.style.minHeight), + w = parseFloat(m.style.height), + _ = Math.max(v, w) + if (_ < b) { + const y = _ + g, + C = Math.min(b, y), + S = y - C + ;(m.style.height = C + "px"), + m.style.bottom === "0px" && + ((u.scrollTop = S > 0 ? S : 0), (m.style.justifyContent = "flex-end")) + } + } + } + c.current = u.scrollTop + }), + }), + }), + ], + }) + }) +yat.displayName = zM +var kat = "SelectGroup", + [cFt, dFt] = Nf(kat), + xat = k.forwardRef((t, e) => { + const { __scopeSelect: n, ...o } = t, + r = bi() + return l.jsx(cFt, { + scope: n, + id: r, + children: l.jsx(Mt.div, { role: "group", "aria-labelledby": r, ...o, ref: e }), + }) + }) +xat.displayName = kat +var wat = "SelectLabel", + uFt = k.forwardRef((t, e) => { + const { __scopeSelect: n, ...o } = t, + r = dFt(wat, n) + return l.jsx(Mt.div, { id: r.id, ...o, ref: e }) + }) +uFt.displayName = wat +var c_ = "SelectItem", + [pFt, _at] = Nf(c_), + Cat = k.forwardRef((t, e) => { + const { __scopeSelect: n, value: o, disabled: r = !1, textValue: i, ...s } = t, + a = bu(c_, n), + c = yu(c_, n), + d = a.value === o, + [u, m] = k.useState(i ?? ""), + [f, g] = k.useState(!1), + b = cn(e, (y) => { + var C + return (C = c.itemRefCallback) == null ? void 0 : C.call(c, y, o, r) + }), + v = bi(), + w = k.useRef("touch"), + _ = () => { + r || (a.onValueChange(o), a.onOpenChange(!1)) + } + if (o === "") + throw new Error( + "A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.", + ) + return l.jsx(pFt, { + scope: n, + value: o, + disabled: r, + textId: v, + isSelected: d, + onItemTextChange: k.useCallback((y) => { + m((C) => C || ((y == null ? void 0 : y.textContent) ?? "").trim()) + }, []), + children: l.jsx(jC.ItemSlot, { + scope: n, + value: o, + disabled: r, + textValue: u, + children: l.jsx(Mt.div, { + role: "option", + "aria-labelledby": v, + "data-highlighted": f ? "" : void 0, + "aria-selected": d && f, + "data-state": d ? "checked" : "unchecked", + "aria-disabled": r || void 0, + "data-disabled": r ? "" : void 0, + tabIndex: r ? void 0 : -1, + ...s, + ref: b, + onFocus: rt(s.onFocus, () => g(!0)), + onBlur: rt(s.onBlur, () => g(!1)), + onClick: rt(s.onClick, () => { + w.current !== "mouse" && _() + }), + onPointerUp: rt(s.onPointerUp, () => { + w.current === "mouse" && _() + }), + onPointerDown: rt(s.onPointerDown, (y) => { + w.current = y.pointerType + }), + onPointerMove: rt(s.onPointerMove, (y) => { + var C + ;(w.current = y.pointerType), + r + ? (C = c.onItemLeave) == null || C.call(c) + : w.current === "mouse" && y.currentTarget.focus({ preventScroll: !0 }) + }), + onPointerLeave: rt(s.onPointerLeave, (y) => { + var C + y.currentTarget === document.activeElement && ((C = c.onItemLeave) == null || C.call(c)) + }), + onKeyDown: rt(s.onKeyDown, (y) => { + var S + ;(((S = c.searchRef) == null ? void 0 : S.current) !== "" && y.key === " ") || + (Y2t.includes(y.key) && _(), y.key === " " && y.preventDefault()) + }), + }), + }), + }) + }) +Cat.displayName = c_ +var uv = "SelectItemText", + Sat = k.forwardRef((t, e) => { + const { __scopeSelect: n, className: o, style: r, ...i } = t, + s = bu(uv, n), + a = yu(uv, n), + c = _at(uv, n), + d = tFt(uv, n), + [u, m] = k.useState(null), + f = cn( + e, + (_) => m(_), + c.onItemTextChange, + (_) => { + var y + return (y = a.itemTextRefCallback) == null ? void 0 : y.call(a, _, c.value, c.disabled) + }, + ), + g = u == null ? void 0 : u.textContent, + b = k.useMemo( + () => l.jsx("option", { value: c.value, disabled: c.disabled, children: g }, c.value), + [c.disabled, c.value, g], + ), + { onNativeOptionAdd: v, onNativeOptionRemove: w } = d + return ( + Gr(() => (v(b), () => w(b)), [v, w, b]), + l.jsxs(l.Fragment, { + children: [ + l.jsx(Mt.span, { id: c.textId, ...i, ref: f }), + c.isSelected && s.valueNode && !s.valueNodeHasChildren + ? $b.createPortal(i.children, s.valueNode) + : null, + ], + }) + ) + }) +Sat.displayName = uv +var Aat = "SelectItemIndicator", + Pat = k.forwardRef((t, e) => { + const { __scopeSelect: n, ...o } = t + return _at(Aat, n).isSelected ? l.jsx(Mt.span, { "aria-hidden": !0, ...o, ref: e }) : null + }) +Pat.displayName = Aat +var $M = "SelectScrollUpButton", + Rat = k.forwardRef((t, e) => { + const n = yu($M, t.__scopeSelect), + o = Uz($M, t.__scopeSelect), + [r, i] = k.useState(!1), + s = cn(e, o.onScrollButtonChange) + return ( + Gr(() => { + if (n.viewport && n.isPositioned) { + let a = function () { + const d = c.scrollTop > 0 + i(d) + } + const c = n.viewport + return a(), c.addEventListener("scroll", a), () => c.removeEventListener("scroll", a) + } + }, [n.viewport, n.isPositioned]), + r + ? l.jsx(Iat, { + ...t, + ref: s, + onAutoScroll: () => { + const { viewport: a, selectedItem: c } = n + a && c && (a.scrollTop = a.scrollTop - c.offsetHeight) + }, + }) + : null + ) + }) +Rat.displayName = $M +var LM = "SelectScrollDownButton", + Tat = k.forwardRef((t, e) => { + const n = yu(LM, t.__scopeSelect), + o = Uz(LM, t.__scopeSelect), + [r, i] = k.useState(!1), + s = cn(e, o.onScrollButtonChange) + return ( + Gr(() => { + if (n.viewport && n.isPositioned) { + let a = function () { + const d = c.scrollHeight - c.clientHeight, + u = Math.ceil(c.scrollTop) < d + i(u) + } + const c = n.viewport + return a(), c.addEventListener("scroll", a), () => c.removeEventListener("scroll", a) + } + }, [n.viewport, n.isPositioned]), + r + ? l.jsx(Iat, { + ...t, + ref: s, + onAutoScroll: () => { + const { viewport: a, selectedItem: c } = n + a && c && (a.scrollTop = a.scrollTop + c.offsetHeight) + }, + }) + : null + ) + }) +Tat.displayName = LM +var Iat = k.forwardRef((t, e) => { + const { __scopeSelect: n, onAutoScroll: o, ...r } = t, + i = yu("SelectScrollButton", n), + s = k.useRef(null), + a = EC(n), + c = k.useCallback(() => { + s.current !== null && (window.clearInterval(s.current), (s.current = null)) + }, []) + return ( + k.useEffect(() => () => c(), [c]), + Gr(() => { + var u + const d = a().find((m) => m.ref.current === document.activeElement) + ;(u = d == null ? void 0 : d.ref.current) == null || u.scrollIntoView({ block: "nearest" }) + }, [a]), + l.jsx(Mt.div, { + "aria-hidden": !0, + ...r, + ref: e, + style: { flexShrink: 0, ...r.style }, + onPointerDown: rt(r.onPointerDown, () => { + s.current === null && (s.current = window.setInterval(o, 50)) + }), + onPointerMove: rt(r.onPointerMove, () => { + var d + ;(d = i.onItemLeave) == null || d.call(i), + s.current === null && (s.current = window.setInterval(o, 50)) + }), + onPointerLeave: rt(r.onPointerLeave, () => { + c() + }), + }) + ) + }), + mFt = "SelectSeparator", + hFt = k.forwardRef((t, e) => { + const { __scopeSelect: n, ...o } = t + return l.jsx(Mt.div, { "aria-hidden": !0, ...o, ref: e }) + }) +hFt.displayName = mFt +var DM = "SelectArrow", + fFt = k.forwardRef((t, e) => { + const { __scopeSelect: n, ...o } = t, + r = zC(n), + i = bu(DM, n), + s = yu(DM, n) + return i.open && s.position === "popper" ? l.jsx(AC, { ...r, ...o, ref: e }) : null + }) +fFt.displayName = DM +var gFt = "SelectBubbleInput", + Mat = k.forwardRef(({ __scopeSelect: t, value: e, ...n }, o) => { + const r = k.useRef(null), + i = cn(o, r), + s = tz(e) + return ( + k.useEffect(() => { + const a = r.current + if (!a) return + const c = window.HTMLSelectElement.prototype, + u = Object.getOwnPropertyDescriptor(c, "value").set + if (s !== e && u) { + const m = new Event("change", { bubbles: !0 }) + u.call(a, e), a.dispatchEvent(m) + } + }, [s, e]), + l.jsx(Mt.select, { ...n, style: { ...sat, ...n.style }, ref: i, defaultValue: e }) + ) + }) +Mat.displayName = gFt +function jat(t) { + return t === "" || t === void 0 +} +function Eat(t) { + const e = Mc(t), + n = k.useRef(""), + o = k.useRef(0), + r = k.useCallback( + (s) => { + const a = n.current + s + e(a), + (function c(d) { + ;(n.current = d), + window.clearTimeout(o.current), + d !== "" && (o.current = window.setTimeout(() => c(""), 1e3)) + })(a) + }, + [e], + ), + i = k.useCallback(() => { + ;(n.current = ""), window.clearTimeout(o.current) + }, []) + return k.useEffect(() => () => window.clearTimeout(o.current), []), [n, r, i] +} +function zat(t, e, n) { + const r = e.length > 1 && Array.from(e).every((d) => d === e[0]) ? e[0] : e, + i = n ? t.indexOf(n) : -1 + let s = vFt(t, Math.max(i, 0)) + r.length === 1 && (s = s.filter((d) => d !== n)) + const c = s.find((d) => d.textValue.toLowerCase().startsWith(r.toLowerCase())) + return c !== n ? c : void 0 +} +function vFt(t, e) { + return t.map((n, o) => t[(e + o) % t.length]) +} +var bFt = lat, + yFt = dat, + kFt = pat, + xFt = mat, + wFt = hat, + _Ft = fat, + CFt = yat, + SFt = xat, + AFt = Cat, + PFt = Sat, + RFt = Pat, + TFt = Rat, + IFt = Tat +function Qr({ ...t }) { + return l.jsx(bFt, { "data-slot": "select", ...t }) +} +function $at({ ...t }) { + return l.jsx(SFt, { "data-slot": "select-group", ...t }) +} +function Zr({ ...t }) { + return l.jsx(kFt, { "data-slot": "select-value", ...t }) +} +function Yr({ className: t, children: e, ...n }) { + return l.jsxs(yFt, { + "data-slot": "select-trigger", + className: be( + "data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:border-destructive flex h-7 w-fit items-center justify-between gap-2 rounded-xs px-3 py-2 whitespace-nowrap transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 cursor-pointer", + "border border-vscode-dropdown-border aria-expanded:border-vscode-focusBorder focus-visible:border-vscode-focusBorder", + "bg-vscode-dropdown-background hover:bg-transparent", + "text-vscode-dropdown-foreground", + t, + ), + ...n, + children: [e, l.jsx(xFt, { asChild: !0, children: l.jsx(hu, { className: "size-4 opacity-50" }) })], + }) +} +function Xr({ className: t, children: e, position: n = "popper", container: o, ...r }) { + return l.jsx(wFt, { + container: o, + children: l.jsxs(_Ft, { + "data-slot": "select-content", + className: be( + "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-72 min-w-[8rem] overflow-hidden rounded-xs shadow-xs", + "bg-popover", + "border border-vscode-focusBorder", + "text-popover-foreground", + n === "popper" && + "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", + t, + ), + position: n, + ...r, + children: [ + l.jsx(MFt, {}), + l.jsx(CFt, { + className: be( + "p-1", + n === "popper" && + "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1", + ), + children: e, + }), + l.jsx(jFt, {}), + ], + }), + }) +} +function qn({ className: t, children: e, ...n }) { + return l.jsxs(AFt, { + "data-slot": "select-item", + className: be( + "[&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full items-center gap-2 py-1.5 pr-8 pl-2 outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", + "focus:bg-vscode-list-activeSelectionBackground focus:text-vscode-list-activeSelectionForeground", + "text-vscode-dropdown-foreground text-sm", + "rounded-xs active:opacity-90 cursor-pointer", + t, + ), + ...n, + children: [ + l.jsx("span", { + className: "absolute right-2 flex size-3.5 items-center justify-center", + children: l.jsx(RFt, { children: l.jsx(Wl, { className: "size-4 p-0.5" }) }), + }), + l.jsx(PFt, { children: e }), + ], + }) +} +function MFt({ className: t, ...e }) { + return l.jsx(TFt, { + "data-slot": "select-scroll-up-button", + className: be("flex cursor-default items-center justify-center py-1", t), + ...e, + children: l.jsx(iz, { className: "size-4" }), + }) +} +function jFt({ className: t, ...e }) { + return l.jsx(IFt, { + "data-slot": "select-scroll-down-button", + className: be("flex cursor-default items-center justify-center py-1", t), + ...e, + children: l.jsx(hu, { className: "size-4" }), + }) +} +const NM = k.forwardRef(({ className: t, ...e }, n) => + l.jsx("textarea", { + className: be( + "flex min-h-[60px] w-full rounded-xs px-3 py-2 text-base placeholder:text-muted-foreground focus:outline-0 focus-visible:outline-none focus-visible:border-vscode-focusBorder disabled:cursor-not-allowed disabled:opacity-50", + "border border-[var(--vscode-input-border,var(--vscode-input-background))] focus-visible:border-vscode-focusBorder", + "bg-vscode-input-background", + "text-vscode-input-foreground", + t, + ), + ref: n, + ...e, + }), +) +NM.displayName = "Textarea" +var [$C, Ytn] = hs("Tooltip", [gu]), + LC = gu(), + Lat = "TooltipProvider", + EFt = 700, + OM = "tooltip.open", + [zFt, qz] = $C(Lat), + Dat = (t) => { + const { + __scopeTooltip: e, + delayDuration: n = EFt, + skipDelayDuration: o = 300, + disableHoverableContent: r = !1, + children: i, + } = t, + s = k.useRef(!0), + a = k.useRef(!1), + c = k.useRef(0) + return ( + k.useEffect(() => { + const d = c.current + return () => window.clearTimeout(d) + }, []), + l.jsx(zFt, { + scope: e, + isOpenDelayedRef: s, + delayDuration: n, + onOpen: k.useCallback(() => { + window.clearTimeout(c.current), (s.current = !1) + }, []), + onClose: k.useCallback(() => { + window.clearTimeout(c.current), (c.current = window.setTimeout(() => (s.current = !0), o)) + }, [o]), + isPointerInTransitRef: a, + onPointerInTransitChange: k.useCallback((d) => { + a.current = d + }, []), + disableHoverableContent: r, + children: i, + }) + ) + } +Dat.displayName = Lat +var mb = "Tooltip", + [$Ft, iy] = $C(mb), + Nat = (t) => { + const { + __scopeTooltip: e, + children: n, + open: o, + defaultOpen: r, + onOpenChange: i, + disableHoverableContent: s, + delayDuration: a, + } = t, + c = qz(mb, t.__scopeTooltip), + d = LC(e), + [u, m] = k.useState(null), + f = bi(), + g = k.useRef(0), + b = s ?? c.disableHoverableContent, + v = a ?? c.delayDuration, + w = k.useRef(!1), + [_, y] = Ic({ + prop: o, + defaultProp: r ?? !1, + onChange: (T) => { + T ? (c.onOpen(), document.dispatchEvent(new CustomEvent(OM))) : c.onClose(), i == null || i(T) + }, + caller: mb, + }), + C = k.useMemo(() => (_ ? (w.current ? "delayed-open" : "instant-open") : "closed"), [_]), + S = k.useCallback(() => { + window.clearTimeout(g.current), (g.current = 0), (w.current = !1), y(!0) + }, [y]), + P = k.useCallback(() => { + window.clearTimeout(g.current), (g.current = 0), y(!1) + }, [y]), + R = k.useCallback(() => { + window.clearTimeout(g.current), + (g.current = window.setTimeout(() => { + ;(w.current = !0), y(!0), (g.current = 0) + }, v)) + }, [v, y]) + return ( + k.useEffect( + () => () => { + g.current && (window.clearTimeout(g.current), (g.current = 0)) + }, + [], + ), + l.jsx(Sz, { + ...d, + children: l.jsx($Ft, { + scope: e, + contentId: f, + open: _, + stateAttribute: C, + trigger: u, + onTriggerChange: m, + onTriggerEnter: k.useCallback(() => { + c.isOpenDelayedRef.current ? R() : S() + }, [c.isOpenDelayedRef, R, S]), + onTriggerLeave: k.useCallback(() => { + b ? P() : (window.clearTimeout(g.current), (g.current = 0)) + }, [P, b]), + onOpen: S, + onClose: P, + disableHoverableContent: b, + children: n, + }), + }) + ) + } +Nat.displayName = mb +var FM = "TooltipTrigger", + Oat = k.forwardRef((t, e) => { + const { __scopeTooltip: n, ...o } = t, + r = iy(FM, n), + i = qz(FM, n), + s = LC(n), + a = k.useRef(null), + c = cn(e, a, r.onTriggerChange), + d = k.useRef(!1), + u = k.useRef(!1), + m = k.useCallback(() => (d.current = !1), []) + return ( + k.useEffect(() => () => document.removeEventListener("pointerup", m), [m]), + l.jsx(ey, { + asChild: !0, + ...s, + children: l.jsx(Mt.button, { + "aria-describedby": r.open ? r.contentId : void 0, + "data-state": r.stateAttribute, + ...o, + ref: c, + onPointerMove: rt(t.onPointerMove, (f) => { + f.pointerType !== "touch" && + !u.current && + !i.isPointerInTransitRef.current && + (r.onTriggerEnter(), (u.current = !0)) + }), + onPointerLeave: rt(t.onPointerLeave, () => { + r.onTriggerLeave(), (u.current = !1) + }), + onPointerDown: rt(t.onPointerDown, () => { + r.open && r.onClose(), (d.current = !0), document.addEventListener("pointerup", m, { once: !0 }) + }), + onFocus: rt(t.onFocus, () => { + d.current || r.onOpen() + }), + onBlur: rt(t.onBlur, r.onClose), + onClick: rt(t.onClick, r.onClose), + }), + }) + ) + }) +Oat.displayName = FM +var Wz = "TooltipPortal", + [LFt, DFt] = $C(Wz, { forceMount: void 0 }), + Fat = (t) => { + const { __scopeTooltip: e, forceMount: n, children: o, container: r } = t, + i = iy(Wz, e) + return l.jsx(LFt, { + scope: e, + forceMount: n, + children: l.jsx(fs, { + present: n || i.open, + children: l.jsx(Sf, { asChild: !0, container: r, children: o }), + }), + }) + } +Fat.displayName = Wz +var Jh = "TooltipContent", + Bat = k.forwardRef((t, e) => { + const n = DFt(Jh, t.__scopeTooltip), + { forceMount: o = n.forceMount, side: r = "top", ...i } = t, + s = iy(Jh, t.__scopeTooltip) + return l.jsx(fs, { + present: o || s.open, + children: s.disableHoverableContent + ? l.jsx(Uat, { side: r, ...i, ref: e }) + : l.jsx(NFt, { side: r, ...i, ref: e }), + }) + }), + NFt = k.forwardRef((t, e) => { + const n = iy(Jh, t.__scopeTooltip), + o = qz(Jh, t.__scopeTooltip), + r = k.useRef(null), + i = cn(e, r), + [s, a] = k.useState(null), + { trigger: c, onClose: d } = n, + u = r.current, + { onPointerInTransitChange: m } = o, + f = k.useCallback(() => { + a(null), m(!1) + }, [m]), + g = k.useCallback( + (b, v) => { + const w = b.currentTarget, + _ = { x: b.clientX, y: b.clientY }, + y = qFt(_, w.getBoundingClientRect()), + C = WFt(_, y), + S = KFt(v.getBoundingClientRect()), + P = HFt([...C, ...S]) + a(P), m(!0) + }, + [m], + ) + return ( + k.useEffect(() => () => f(), [f]), + k.useEffect(() => { + if (c && u) { + const b = (w) => g(w, u), + v = (w) => g(w, c) + return ( + c.addEventListener("pointerleave", b), + u.addEventListener("pointerleave", v), + () => { + c.removeEventListener("pointerleave", b), u.removeEventListener("pointerleave", v) + } + ) + } + }, [c, u, g, f]), + k.useEffect(() => { + if (s) { + const b = (v) => { + const w = v.target, + _ = { x: v.clientX, y: v.clientY }, + y = (c == null ? void 0 : c.contains(w)) || (u == null ? void 0 : u.contains(w)), + C = !VFt(_, s) + y ? f() : C && (f(), d()) + } + return ( + document.addEventListener("pointermove", b), + () => document.removeEventListener("pointermove", b) + ) + } + }, [c, u, s, d, f]), + l.jsx(Uat, { ...t, ref: i }) + ) + }), + [OFt, FFt] = $C(mb, { isInside: !1 }), + BFt = got("TooltipContent"), + Uat = k.forwardRef((t, e) => { + const { + __scopeTooltip: n, + children: o, + "aria-label": r, + onEscapeKeyDown: i, + onPointerDownOutside: s, + ...a + } = t, + c = iy(Jh, n), + d = LC(n), + { onClose: u } = c + return ( + k.useEffect(() => (document.addEventListener(OM, u), () => document.removeEventListener(OM, u)), [u]), + k.useEffect(() => { + if (c.trigger) { + const m = (f) => { + const g = f.target + g != null && g.contains(c.trigger) && u() + } + return ( + window.addEventListener("scroll", m, { capture: !0 }), + () => window.removeEventListener("scroll", m, { capture: !0 }) + ) + } + }, [c.trigger, u]), + l.jsx(Cf, { + asChild: !0, + disableOutsidePointerEvents: !1, + onEscapeKeyDown: i, + onPointerDownOutside: s, + onFocusOutside: (m) => m.preventDefault(), + onDismiss: u, + children: l.jsxs(SC, { + "data-state": c.stateAttribute, + ...d, + ...a, + ref: e, + style: { + ...a.style, + "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)", + "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)", + "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)", + "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)", + "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)", + }, + children: [ + l.jsx(BFt, { children: o }), + l.jsx(OFt, { + scope: n, + isInside: !0, + children: l.jsx(Q2t, { id: c.contentId, role: "tooltip", children: r || o }), + }), + ], + }), + }) + ) + }) +Bat.displayName = Jh +var qat = "TooltipArrow", + UFt = k.forwardRef((t, e) => { + const { __scopeTooltip: n, ...o } = t, + r = LC(n) + return FFt(qat, n).isInside ? null : l.jsx(AC, { ...r, ...o, ref: e }) + }) +UFt.displayName = qat +function qFt(t, e) { + const n = Math.abs(e.top - t.y), + o = Math.abs(e.bottom - t.y), + r = Math.abs(e.right - t.x), + i = Math.abs(e.left - t.x) + switch (Math.min(n, o, r, i)) { + case i: + return "left" + case r: + return "right" + case n: + return "top" + case o: + return "bottom" + default: + throw new Error("unreachable") + } +} +function WFt(t, e, n = 5) { + const o = [] + switch (e) { + case "top": + o.push({ x: t.x - n, y: t.y + n }, { x: t.x + n, y: t.y + n }) + break + case "bottom": + o.push({ x: t.x - n, y: t.y - n }, { x: t.x + n, y: t.y - n }) + break + case "left": + o.push({ x: t.x + n, y: t.y - n }, { x: t.x + n, y: t.y + n }) + break + case "right": + o.push({ x: t.x - n, y: t.y - n }, { x: t.x - n, y: t.y + n }) + break + } + return o +} +function KFt(t) { + const { top: e, right: n, bottom: o, left: r } = t + return [ + { x: r, y: e }, + { x: n, y: e }, + { x: n, y: o }, + { x: r, y: o }, + ] +} +function VFt(t, e) { + const { x: n, y: o } = t + let r = !1 + for (let i = 0, s = e.length - 1; i < e.length; s = i++) { + const a = e[i], + c = e[s], + d = a.x, + u = a.y, + m = c.x, + f = c.y + u > o != f > o && n < ((m - d) * (o - u)) / (f - u) + d && (r = !r) + } + return r +} +function HFt(t) { + const e = t.slice() + return e.sort((n, o) => (n.x < o.x ? -1 : n.x > o.x ? 1 : n.y < o.y ? -1 : n.y > o.y ? 1 : 0)), GFt(e) +} +function GFt(t) { + if (t.length <= 1) return t.slice() + const e = [] + for (let o = 0; o < t.length; o++) { + const r = t[o] + for (; e.length >= 2; ) { + const i = e[e.length - 1], + s = e[e.length - 2] + if ((i.x - s.x) * (r.y - s.y) >= (i.y - s.y) * (r.x - s.x)) e.pop() + else break + } + e.push(r) + } + e.pop() + const n = [] + for (let o = t.length - 1; o >= 0; o--) { + const r = t[o] + for (; n.length >= 2; ) { + const i = n[n.length - 1], + s = n[n.length - 2] + if ((i.x - s.x) * (r.y - s.y) >= (i.y - s.y) * (r.x - s.x)) n.pop() + else break + } + n.push(r) + } + return n.pop(), e.length === 1 && n.length === 1 && e[0].x === n[0].x && e[0].y === n[0].y ? e : e.concat(n) +} +var QFt = Dat, + ZFt = Nat, + YFt = Oat, + XFt = Fat, + Wat = Bat +const Kz = QFt, + Kat = ZFt, + Vat = YFt, + Vz = k.forwardRef(({ className: t, sideOffset: e = 4, ...n }, o) => + l.jsx(XFt, { + children: l.jsx(Wat, { + ref: o, + sideOffset: e, + collisionPadding: 10, + avoidCollisions: !0, + className: be( + "z-50 rounded-xs bg-vscode-notifications-background border border-vscode-notifications-border px-3 py-1.5 text-xs text-vscode-notifications-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", + "max-w-[300px] break-words", + t, + ), + ...n, + }), + }), + ) +Vz.displayName = Wat.displayName +const JFt = 300 +function We({ + children: t, + content: e, + side: n = "top", + align: o = "center", + sideOffset: r = 4, + className: i, + asChild: s = !0, + maxWidth: a, +}) { + if (!e || (typeof e == "string" && !e.trim())) return l.jsx(l.Fragment, { children: t }) + const c = a ? { maxWidth: typeof a == "number" ? `${a}px` : a } : void 0 + return l.jsxs(Kat, { + children: [ + l.jsx(Vat, { asChild: s, children: t }), + l.jsx(Vz, { side: n, align: o, sideOffset: r, className: i, style: c, children: e }), + ], + }) +} +const Hz = ({ checked: t, onChange: e, disabled: n = !1, size: o = "small", "aria-label": r, "data-testid": i }) => { + const s = o === "small" ? { width: 16, height: 8, dotSize: 4 } : { width: 20, height: 10, dotSize: 6 }, + a = (c) => { + ;(c.key === "Enter" || c.key === " ") && (c.preventDefault(), n || e()) + } + return l.jsx("div", { + role: "switch", + "aria-checked": t, + "aria-label": r, + tabIndex: n ? -1 : 0, + "data-testid": i, + style: { + width: `${s.width}px`, + height: `${s.height}px`, + backgroundColor: t ? "var(--vscode-button-background)" : "var(--vscode-titleBar-inactiveForeground)", + borderRadius: `${s.height / 2}px`, + position: "relative", + cursor: n ? "not-allowed" : "pointer", + transition: "background-color 0.2s", + opacity: n ? 0.4 : t ? 0.8 : 0.6, + }, + onClick: n ? void 0 : e, + onKeyDown: a, + children: l.jsx("div", { + style: { + width: `${s.dotSize}px`, + height: `${s.dotSize}px`, + backgroundColor: "var(--vscode-titleBar-activeForeground)", + borderRadius: "50%", + position: "absolute", + top: `${(s.height - s.dotSize) / 2}px`, + left: t ? `${s.width - s.dotSize - (s.height - s.dotSize) / 2}px` : `${(s.height - s.dotSize) / 2}px`, + transition: "left 0.2s", + }, + }), + }) +} +function Gz(t, e) { + const n = k.useMemo(() => Object.values(t).some((r) => !!r), [t]), + o = k.useMemo(() => n && (e ?? !1), [n, e]) + return { hasEnabledOptions: n, effectiveAutoApprovalEnabled: o } +} +function Qz() { + const { + alwaysAllowReadOnly: t, + alwaysAllowWrite: e, + alwaysAllowExecute: n, + alwaysAllowBrowser: o, + alwaysAllowMcp: r, + alwaysAllowModeSwitch: i, + alwaysAllowSubtasks: s, + alwaysApproveResubmit: a, + alwaysAllowFollowupQuestions: c, + alwaysAllowUpdateTodoList: d, + } = Qn() + return k.useMemo( + () => ({ + alwaysAllowReadOnly: t, + alwaysAllowWrite: e, + alwaysAllowExecute: n, + alwaysAllowBrowser: o, + alwaysAllowMcp: r, + alwaysAllowModeSwitch: i, + alwaysAllowSubtasks: s, + alwaysApproveResubmit: a, + alwaysAllowFollowupQuestions: c, + alwaysAllowUpdateTodoList: d, + }), + [t, e, n, o, r, i, s, a, c, d], + ) +} +var ss = function () { + return ( + (ss = + Object.assign || + function (e) { + for (var n, o = 1, r = arguments.length; o < r; o++) { + n = arguments[o] + for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) + } + return e + }), + ss.apply(this, arguments) + ) +} +function d_(t, e, n) { + if (n || arguments.length === 2) + for (var o = 0, r = e.length, i; o < r; o++) + (i || !(o in e)) && (i || (i = Array.prototype.slice.call(e, 0, o)), (i[o] = e[o])) + return t.concat(i || Array.prototype.slice.call(e)) +} +var Co = "-ms-", + Rv = "-moz-", + Xn = "-webkit-", + Hat = "comm", + DC = "rule", + Zz = "decl", + eBt = "@import", + Gat = "@keyframes", + tBt = "@layer", + Qat = Math.abs, + Yz = String.fromCharCode, + BM = Object.assign +function nBt(t, e) { + return zr(t, 0) ^ 45 ? (((((((e << 2) ^ zr(t, 0)) << 2) ^ zr(t, 1)) << 2) ^ zr(t, 2)) << 2) ^ zr(t, 3) : 0 +} +function Zat(t) { + return t.trim() +} +function hc(t, e) { + return (t = e.exec(t)) ? t[0] : t +} +function bn(t, e, n) { + return t.replace(e, n) +} +function Ux(t, e, n) { + return t.indexOf(e, n) +} +function zr(t, e) { + return t.charCodeAt(e) | 0 +} +function ef(t, e, n) { + return t.slice(e, n) +} +function jl(t) { + return t.length +} +function Yat(t) { + return t.length +} +function pv(t, e) { + return e.push(t), t +} +function oBt(t, e) { + return t.map(e).join("") +} +function FB(t, e) { + return t.filter(function (n) { + return !hc(n, e) + }) +} +var NC = 1, + tf = 1, + Xat = 0, + ga = 0, + dr = 0, + Of = "" +function OC(t, e, n, o, r, i, s, a) { + return { + value: t, + root: e, + parent: n, + type: o, + props: r, + children: i, + line: NC, + column: tf, + length: s, + return: "", + siblings: a, + } +} +function Cd(t, e) { + return BM(OC("", null, null, "", null, null, 0, t.siblings), t, { length: -t.length }, e) +} +function Em(t) { + for (; t.root; ) t = Cd(t.root, { children: [t] }) + pv(t, t.siblings) +} +function rBt() { + return dr +} +function iBt() { + return (dr = ga > 0 ? zr(Of, --ga) : 0), tf--, dr === 10 && ((tf = 1), NC--), dr +} +function Ya() { + return (dr = ga < Xat ? zr(Of, ga++) : 0), tf++, dr === 10 && ((tf = 1), NC++), dr +} +function Cp() { + return zr(Of, ga) +} +function qx() { + return ga +} +function FC(t, e) { + return ef(Of, t, e) +} +function UM(t) { + switch (t) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5 + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4 + case 58: + return 3 + case 34: + case 39: + case 40: + case 91: + return 2 + case 41: + case 93: + return 1 + } + return 0 +} +function sBt(t) { + return (NC = tf = 1), (Xat = jl((Of = t))), (ga = 0), [] +} +function aBt(t) { + return (Of = ""), t +} +function hP(t) { + return Zat(FC(ga - 1, qM(t === 91 ? t + 2 : t === 40 ? t + 1 : t))) +} +function lBt(t) { + for (; (dr = Cp()) && dr < 33; ) Ya() + return UM(t) > 2 || UM(dr) > 3 ? "" : " " +} +function cBt(t, e) { + for (; --e && Ya() && !(dr < 48 || dr > 102 || (dr > 57 && dr < 65) || (dr > 70 && dr < 97)); ); + return FC(t, qx() + (e < 6 && Cp() == 32 && Ya() == 32)) +} +function qM(t) { + for (; Ya(); ) + switch (dr) { + case t: + return ga + case 34: + case 39: + t !== 34 && t !== 39 && qM(dr) + break + case 40: + t === 41 && qM(t) + break + case 92: + Ya() + break + } + return ga +} +function dBt(t, e) { + for (; Ya() && t + dr !== 57; ) if (t + dr === 84 && Cp() === 47) break + return "/*" + FC(e, ga - 1) + "*" + Yz(t === 47 ? t : Ya()) +} +function uBt(t) { + for (; !UM(Cp()); ) Ya() + return FC(t, ga) +} +function pBt(t) { + return aBt(Wx("", null, null, null, [""], (t = sBt(t)), 0, [0], t)) +} +function Wx(t, e, n, o, r, i, s, a, c) { + for ( + var d = 0, u = 0, m = s, f = 0, g = 0, b = 0, v = 1, w = 1, _ = 1, y = 0, C = "", S = r, P = i, R = o, T = C; + w; + + ) + switch (((b = y), (y = Ya()))) { + case 40: + if (b != 108 && zr(T, m - 1) == 58) { + Ux((T += bn(hP(y), "&", "&\f")), "&\f", Qat(d ? a[d - 1] : 0)) != -1 && (_ = -1) + break + } + case 34: + case 39: + case 91: + T += hP(y) + break + case 9: + case 10: + case 13: + case 32: + T += lBt(b) + break + case 92: + T += cBt(qx() - 1, 7) + continue + case 47: + switch (Cp()) { + case 42: + case 47: + pv(mBt(dBt(Ya(), qx()), e, n, c), c) + break + default: + T += "/" + } + break + case 123 * v: + a[d++] = jl(T) * _ + case 125 * v: + case 59: + case 0: + switch (y) { + case 0: + case 125: + w = 0 + case 59 + u: + _ == -1 && (T = bn(T, /\f/g, "")), + g > 0 && + jl(T) - m && + pv(g > 32 ? UB(T + ";", o, n, m - 1, c) : UB(bn(T, " ", "") + ";", o, n, m - 2, c), c) + break + case 59: + T += ";" + default: + if ((pv((R = BB(T, e, n, d, u, r, a, C, (S = []), (P = []), m, i)), i), y === 123)) + if (u === 0) Wx(T, e, R, R, S, i, m, a, P) + else + switch (f === 99 && zr(T, 3) === 110 ? 100 : f) { + case 100: + case 108: + case 109: + case 115: + Wx( + t, + R, + R, + o && pv(BB(t, R, R, 0, 0, r, a, C, r, (S = []), m, P), P), + r, + P, + m, + a, + o ? S : P, + ) + break + default: + Wx(T, R, R, R, [""], P, 0, a, P) + } + } + ;(d = u = g = 0), (v = _ = 1), (C = T = ""), (m = s) + break + case 58: + ;(m = 1 + jl(T)), (g = b) + default: + if (v < 1) { + if (y == 123) --v + else if (y == 125 && v++ == 0 && iBt() == 125) continue + } + switch (((T += Yz(y)), y * v)) { + case 38: + _ = u > 0 ? 1 : ((T += "\f"), -1) + break + case 44: + ;(a[d++] = (jl(T) - 1) * _), (_ = 1) + break + case 64: + Cp() === 45 && (T += hP(Ya())), (f = Cp()), (u = m = jl((C = T += uBt(qx())))), y++ + break + case 45: + b === 45 && jl(T) == 2 && (v = 0) + } + } + return i +} +function BB(t, e, n, o, r, i, s, a, c, d, u, m) { + for (var f = r - 1, g = r === 0 ? i : [""], b = Yat(g), v = 0, w = 0, _ = 0; v < o; ++v) + for (var y = 0, C = ef(t, f + 1, (f = Qat((w = s[v])))), S = t; y < b; ++y) + (S = Zat(w > 0 ? g[y] + " " + C : bn(C, /&\f/g, g[y]))) && (c[_++] = S) + return OC(t, e, n, r === 0 ? DC : a, c, d, u, m) +} +function mBt(t, e, n, o) { + return OC(t, e, n, Hat, Yz(rBt()), ef(t, 2, -2), 0, o) +} +function UB(t, e, n, o, r) { + return OC(t, e, n, Zz, ef(t, 0, o), ef(t, o + 1, -1), o, r) +} +function Jat(t, e, n) { + switch (nBt(t, e)) { + case 5103: + return Xn + "print-" + t + t + case 5737: + case 4201: + case 3177: + case 3433: + case 1641: + case 4457: + case 2921: + case 5572: + case 6356: + case 5844: + case 3191: + case 6645: + case 3005: + case 6391: + case 5879: + case 5623: + case 6135: + case 4599: + case 4855: + case 4215: + case 6389: + case 5109: + case 5365: + case 5621: + case 3829: + return Xn + t + t + case 4789: + return Rv + t + t + case 5349: + case 4246: + case 4810: + case 6968: + case 2756: + return Xn + t + Rv + t + Co + t + t + case 5936: + switch (zr(t, e + 11)) { + case 114: + return Xn + t + Co + bn(t, /[svh]\w+-[tblr]{2}/, "tb") + t + case 108: + return Xn + t + Co + bn(t, /[svh]\w+-[tblr]{2}/, "tb-rl") + t + case 45: + return Xn + t + Co + bn(t, /[svh]\w+-[tblr]{2}/, "lr") + t + } + case 6828: + case 4268: + case 2903: + return Xn + t + Co + t + t + case 6165: + return Xn + t + Co + "flex-" + t + t + case 5187: + return Xn + t + bn(t, /(\w+).+(:[^]+)/, Xn + "box-$1$2" + Co + "flex-$1$2") + t + case 5443: + return ( + Xn + + t + + Co + + "flex-item-" + + bn(t, /flex-|-self/g, "") + + (hc(t, /flex-|baseline/) ? "" : Co + "grid-row-" + bn(t, /flex-|-self/g, "")) + + t + ) + case 4675: + return Xn + t + Co + "flex-line-pack" + bn(t, /align-content|flex-|-self/g, "") + t + case 5548: + return Xn + t + Co + bn(t, "shrink", "negative") + t + case 5292: + return Xn + t + Co + bn(t, "basis", "preferred-size") + t + case 6060: + return Xn + "box-" + bn(t, "-grow", "") + Xn + t + Co + bn(t, "grow", "positive") + t + case 4554: + return Xn + bn(t, /([^-])(transform)/g, "$1" + Xn + "$2") + t + case 6187: + return bn(bn(bn(t, /(zoom-|grab)/, Xn + "$1"), /(image-set)/, Xn + "$1"), t, "") + t + case 5495: + case 3959: + return bn(t, /(image-set\([^]*)/, Xn + "$1$`$1") + case 4968: + return ( + bn(bn(t, /(.+:)(flex-)?(.*)/, Xn + "box-pack:$3" + Co + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + + Xn + + t + + t + ) + case 4200: + if (!hc(t, /flex-|baseline/)) return Co + "grid-column-align" + ef(t, e) + t + break + case 2592: + case 3360: + return Co + bn(t, "template-", "") + t + case 4384: + case 3616: + return n && + n.some(function (o, r) { + return (e = r), hc(o.props, /grid-\w+-end/) + }) + ? ~Ux(t + (n = n[e].value), "span", 0) + ? t + : Co + + bn(t, "-start", "") + + t + + Co + + "grid-row-span:" + + (~Ux(n, "span", 0) ? hc(n, /\d+/) : +hc(n, /\d+/) - +hc(t, /\d+/)) + + ";" + : Co + bn(t, "-start", "") + t + case 4896: + case 4128: + return n && + n.some(function (o) { + return hc(o.props, /grid-\w+-start/) + }) + ? t + : Co + bn(bn(t, "-end", "-span"), "span ", "") + t + case 4095: + case 3583: + case 4068: + case 2532: + return bn(t, /(.+)-inline(.+)/, Xn + "$1$2") + t + case 8116: + case 7059: + case 5753: + case 5535: + case 5445: + case 5701: + case 4933: + case 4677: + case 5533: + case 5789: + case 5021: + case 4765: + if (jl(t) - 1 - e > 6) + switch (zr(t, e + 1)) { + case 109: + if (zr(t, e + 4) !== 45) break + case 102: + return ( + bn( + t, + /(.+:)(.+)-([^]+)/, + "$1" + Xn + "$2-$3$1" + Rv + (zr(t, e + 3) == 108 ? "$3" : "$2-$3"), + ) + t + ) + case 115: + return ~Ux(t, "stretch", 0) ? Jat(bn(t, "stretch", "fill-available"), e, n) + t : t + } + break + case 5152: + case 5920: + return bn(t, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function (o, r, i, s, a, c, d) { + return Co + r + ":" + i + d + (s ? Co + r + "-span:" + (a ? c : +c - +i) + d : "") + t + }) + case 4949: + if (zr(t, e + 6) === 121) return bn(t, ":", ":" + Xn) + t + break + case 6444: + switch (zr(t, zr(t, 14) === 45 ? 18 : 11)) { + case 120: + return ( + bn( + t, + /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, + "$1" + + Xn + + (zr(t, 14) === 45 ? "inline-" : "") + + "box$3$1" + + Xn + + "$2$3$1" + + Co + + "$2box$3", + ) + t + ) + case 100: + return bn(t, ":", ":" + Co) + t + } + break + case 5719: + case 2647: + case 2135: + case 3927: + case 2391: + return bn(t, "scroll-", "scroll-snap-") + t + } + return t +} +function u_(t, e) { + for (var n = "", o = 0; o < t.length; o++) n += e(t[o], o, t, e) || "" + return n +} +function hBt(t, e, n, o) { + switch (t.type) { + case tBt: + if (t.children.length) break + case eBt: + case Zz: + return (t.return = t.return || t.value) + case Hat: + return "" + case Gat: + return (t.return = t.value + "{" + u_(t.children, o) + "}") + case DC: + if (!jl((t.value = t.props.join(",")))) return "" + } + return jl((n = u_(t.children, o))) ? (t.return = t.value + "{" + n + "}") : "" +} +function fBt(t) { + var e = Yat(t) + return function (n, o, r, i) { + for (var s = "", a = 0; a < e; a++) s += t[a](n, o, r, i) || "" + return s + } +} +function gBt(t) { + return function (e) { + e.root || ((e = e.return) && t(e)) + } +} +function vBt(t, e, n, o) { + if (t.length > -1 && !t.return) + switch (t.type) { + case Zz: + t.return = Jat(t.value, t.length, n) + return + case Gat: + return u_([Cd(t, { value: bn(t.value, "@", "@" + Xn) })], o) + case DC: + if (t.length) + return oBt((n = t.props), function (r) { + switch (hc(r, (o = /(::plac\w+|:read-\w+)/))) { + case ":read-only": + case ":read-write": + Em(Cd(t, { props: [bn(r, /:(read-\w+)/, ":" + Rv + "$1")] })), + Em(Cd(t, { props: [r] })), + BM(t, { props: FB(n, o) }) + break + case "::placeholder": + Em(Cd(t, { props: [bn(r, /:(plac\w+)/, ":" + Xn + "input-$1")] })), + Em(Cd(t, { props: [bn(r, /:(plac\w+)/, ":" + Rv + "$1")] })), + Em(Cd(t, { props: [bn(r, /:(plac\w+)/, Co + "input-$1")] })), + Em(Cd(t, { props: [r] })), + BM(t, { props: FB(n, o) }) + break + } + return "" + }) + } +} +var bBt = { + animationIterationCount: 1, + aspectRatio: 1, + borderImageOutset: 1, + borderImageSlice: 1, + borderImageWidth: 1, + boxFlex: 1, + boxFlexGroup: 1, + boxOrdinalGroup: 1, + columnCount: 1, + columns: 1, + flex: 1, + flexGrow: 1, + flexPositive: 1, + flexShrink: 1, + flexNegative: 1, + flexOrder: 1, + gridRow: 1, + gridRowEnd: 1, + gridRowSpan: 1, + gridRowStart: 1, + gridColumn: 1, + gridColumnEnd: 1, + gridColumnSpan: 1, + gridColumnStart: 1, + msGridRow: 1, + msGridRowSpan: 1, + msGridColumn: 1, + msGridColumnSpan: 1, + fontWeight: 1, + lineHeight: 1, + opacity: 1, + order: 1, + orphans: 1, + tabSize: 1, + widows: 1, + zIndex: 1, + zoom: 1, + WebkitLineClamp: 1, + fillOpacity: 1, + floodOpacity: 1, + stopOpacity: 1, + strokeDasharray: 1, + strokeDashoffset: 1, + strokeMiterlimit: 1, + strokeOpacity: 1, + strokeWidth: 1, + }, + Rs = {}, + nf = (typeof process < "u" && Rs !== void 0 && (Rs.REACT_APP_SC_ATTR || Rs.SC_ATTR)) || "data-styled", + elt = "active", + tlt = "data-styled-version", + BC = "6.1.18", + Xz = `/*!sc*/ +`, + p_ = typeof window < "u" && typeof document < "u", + yBt = !!(typeof SC_DISABLE_SPEEDY == "boolean" + ? SC_DISABLE_SPEEDY + : typeof process < "u" && + Rs !== void 0 && + Rs.REACT_APP_SC_DISABLE_SPEEDY !== void 0 && + Rs.REACT_APP_SC_DISABLE_SPEEDY !== "" + ? Rs.REACT_APP_SC_DISABLE_SPEEDY !== "false" && Rs.REACT_APP_SC_DISABLE_SPEEDY + : typeof process < "u" && + Rs !== void 0 && + Rs.SC_DISABLE_SPEEDY !== void 0 && + Rs.SC_DISABLE_SPEEDY !== "" && + Rs.SC_DISABLE_SPEEDY !== "false" && + Rs.SC_DISABLE_SPEEDY), + UC = Object.freeze([]), + of = Object.freeze({}) +function kBt(t, e, n) { + return n === void 0 && (n = of), (t.theme !== n.theme && t.theme) || e || n.theme +} +var nlt = new Set([ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "big", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "keygen", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "menu", + "menuitem", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rp", + "rt", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "textarea", + "tfoot", + "th", + "thead", + "time", + "tr", + "track", + "u", + "ul", + "use", + "var", + "video", + "wbr", + "circle", + "clipPath", + "defs", + "ellipse", + "foreignObject", + "g", + "image", + "line", + "linearGradient", + "marker", + "mask", + "path", + "pattern", + "polygon", + "polyline", + "radialGradient", + "rect", + "stop", + "svg", + "text", + "tspan", + ]), + xBt = /[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g, + wBt = /(^-|-$)/g +function qB(t) { + return t.replace(xBt, "-").replace(wBt, "") +} +var _Bt = /(a)(d)/gi, + Xk = 52, + WB = function (t) { + return String.fromCharCode(t + (t > 25 ? 39 : 97)) + } +function WM(t) { + var e, + n = "" + for (e = Math.abs(t); e > Xk; e = (e / Xk) | 0) n = WB(e % Xk) + n + return (WB(e % Xk) + n).replace(_Bt, "$1-$2") +} +var fP, + olt = 5381, + th = function (t, e) { + for (var n = e.length; n; ) t = (33 * t) ^ e.charCodeAt(--n) + return t + }, + rlt = function (t) { + return th(olt, t) + } +function CBt(t) { + return WM(rlt(t) >>> 0) +} +function SBt(t) { + return t.displayName || t.name || "Component" +} +function gP(t) { + return typeof t == "string" && !0 +} +var ilt = typeof Symbol == "function" && Symbol.for, + slt = ilt ? Symbol.for("react.memo") : 60115, + ABt = ilt ? Symbol.for("react.forward_ref") : 60112, + PBt = { + childContextTypes: !0, + contextType: !0, + contextTypes: !0, + defaultProps: !0, + displayName: !0, + getDefaultProps: !0, + getDerivedStateFromError: !0, + getDerivedStateFromProps: !0, + mixins: !0, + propTypes: !0, + type: !0, + }, + RBt = { name: !0, length: !0, prototype: !0, caller: !0, callee: !0, arguments: !0, arity: !0 }, + alt = { $$typeof: !0, compare: !0, defaultProps: !0, displayName: !0, propTypes: !0, type: !0 }, + TBt = + (((fP = {})[ABt] = { $$typeof: !0, render: !0, defaultProps: !0, displayName: !0, propTypes: !0 }), + (fP[slt] = alt), + fP) +function KB(t) { + return ("type" in (e = t) && e.type.$$typeof) === slt ? alt : "$$typeof" in t ? TBt[t.$$typeof] : PBt + var e +} +var IBt = Object.defineProperty, + MBt = Object.getOwnPropertyNames, + VB = Object.getOwnPropertySymbols, + jBt = Object.getOwnPropertyDescriptor, + EBt = Object.getPrototypeOf, + HB = Object.prototype +function llt(t, e, n) { + if (typeof e != "string") { + if (HB) { + var o = EBt(e) + o && o !== HB && llt(t, o, n) + } + var r = MBt(e) + VB && (r = r.concat(VB(e))) + for (var i = KB(t), s = KB(e), a = 0; a < r.length; ++a) { + var c = r[a] + if (!(c in RBt || (n && n[c]) || (s && c in s) || (i && c in i))) { + var d = jBt(e, c) + try { + IBt(t, c, d) + } catch {} + } + } + } + return t +} +function rf(t) { + return typeof t == "function" +} +function Jz(t) { + return typeof t == "object" && "styledComponentId" in t +} +function ap(t, e) { + return t && e ? "".concat(t, " ").concat(e) : t || e || "" +} +function GB(t, e) { + if (t.length === 0) return "" + for (var n = t[0], o = 1; o < t.length; o++) n += t[o] + return n +} +function hb(t) { + return t !== null && typeof t == "object" && t.constructor.name === Object.name && !("props" in t && t.$$typeof) +} +function KM(t, e, n) { + if ((n === void 0 && (n = !1), !n && !hb(t) && !Array.isArray(t))) return e + if (Array.isArray(e)) for (var o = 0; o < e.length; o++) t[o] = KM(t[o], e[o]) + else if (hb(e)) for (var o in e) t[o] = KM(t[o], e[o]) + return t +} +function e$(t, e) { + Object.defineProperty(t, "toString", { value: e }) +} +function sy(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] + return new Error( + "An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#" + .concat(t, " for more information.") + .concat(e.length > 0 ? " Args: ".concat(e.join(", ")) : ""), + ) +} +var zBt = (function () { + function t(e) { + ;(this.groupSizes = new Uint32Array(512)), (this.length = 512), (this.tag = e) + } + return ( + (t.prototype.indexOfGroup = function (e) { + for (var n = 0, o = 0; o < e; o++) n += this.groupSizes[o] + return n + }), + (t.prototype.insertRules = function (e, n) { + if (e >= this.groupSizes.length) { + for (var o = this.groupSizes, r = o.length, i = r; e >= i; ) + if ((i <<= 1) < 0) throw sy(16, "".concat(e)) + ;(this.groupSizes = new Uint32Array(i)), this.groupSizes.set(o), (this.length = i) + for (var s = r; s < i; s++) this.groupSizes[s] = 0 + } + for (var a = this.indexOfGroup(e + 1), c = ((s = 0), n.length); s < c; s++) + this.tag.insertRule(a, n[s]) && (this.groupSizes[e]++, a++) + }), + (t.prototype.clearGroup = function (e) { + if (e < this.length) { + var n = this.groupSizes[e], + o = this.indexOfGroup(e), + r = o + n + this.groupSizes[e] = 0 + for (var i = o; i < r; i++) this.tag.deleteRule(o) + } + }), + (t.prototype.getGroup = function (e) { + var n = "" + if (e >= this.length || this.groupSizes[e] === 0) return n + for (var o = this.groupSizes[e], r = this.indexOfGroup(e), i = r + o, s = r; s < i; s++) + n += "".concat(this.tag.getRule(s)).concat(Xz) + return n + }), + t + ) + })(), + Kx = new Map(), + m_ = new Map(), + Vx = 1, + Jk = function (t) { + if (Kx.has(t)) return Kx.get(t) + for (; m_.has(Vx); ) Vx++ + var e = Vx++ + return Kx.set(t, e), m_.set(e, t), e + }, + $Bt = function (t, e) { + ;(Vx = e + 1), Kx.set(t, e), m_.set(e, t) + }, + LBt = "style[".concat(nf, "][").concat(tlt, '="').concat(BC, '"]'), + DBt = new RegExp("^".concat(nf, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')), + NBt = function (t, e, n) { + for (var o, r = n.split(","), i = 0, s = r.length; i < s; i++) (o = r[i]) && t.registerName(e, o) + }, + OBt = function (t, e) { + for ( + var n, o = ((n = e.textContent) !== null && n !== void 0 ? n : "").split(Xz), r = [], i = 0, s = o.length; + i < s; + i++ + ) { + var a = o[i].trim() + if (a) { + var c = a.match(DBt) + if (c) { + var d = 0 | parseInt(c[1], 10), + u = c[2] + d !== 0 && ($Bt(u, d), NBt(t, u, c[3]), t.getTag().insertRules(d, r)), (r.length = 0) + } else r.push(a) + } + } + }, + QB = function (t) { + for (var e = document.querySelectorAll(LBt), n = 0, o = e.length; n < o; n++) { + var r = e[n] + r && r.getAttribute(nf) !== elt && (OBt(t, r), r.parentNode && r.parentNode.removeChild(r)) + } + } +function FBt() { + return typeof __webpack_nonce__ < "u" ? __webpack_nonce__ : null +} +var clt = function (t) { + var e = document.head, + n = t || e, + o = document.createElement("style"), + r = (function (a) { + var c = Array.from(a.querySelectorAll("style[".concat(nf, "]"))) + return c[c.length - 1] + })(n), + i = r !== void 0 ? r.nextSibling : null + o.setAttribute(nf, elt), o.setAttribute(tlt, BC) + var s = FBt() + return s && o.setAttribute("nonce", s), n.insertBefore(o, i), o + }, + BBt = (function () { + function t(e) { + ;(this.element = clt(e)), + this.element.appendChild(document.createTextNode("")), + (this.sheet = (function (n) { + if (n.sheet) return n.sheet + for (var o = document.styleSheets, r = 0, i = o.length; r < i; r++) { + var s = o[r] + if (s.ownerNode === n) return s + } + throw sy(17) + })(this.element)), + (this.length = 0) + } + return ( + (t.prototype.insertRule = function (e, n) { + try { + return this.sheet.insertRule(n, e), this.length++, !0 + } catch { + return !1 + } + }), + (t.prototype.deleteRule = function (e) { + this.sheet.deleteRule(e), this.length-- + }), + (t.prototype.getRule = function (e) { + var n = this.sheet.cssRules[e] + return n && n.cssText ? n.cssText : "" + }), + t + ) + })(), + UBt = (function () { + function t(e) { + ;(this.element = clt(e)), (this.nodes = this.element.childNodes), (this.length = 0) + } + return ( + (t.prototype.insertRule = function (e, n) { + if (e <= this.length && e >= 0) { + var o = document.createTextNode(n) + return this.element.insertBefore(o, this.nodes[e] || null), this.length++, !0 + } + return !1 + }), + (t.prototype.deleteRule = function (e) { + this.element.removeChild(this.nodes[e]), this.length-- + }), + (t.prototype.getRule = function (e) { + return e < this.length ? this.nodes[e].textContent : "" + }), + t + ) + })(), + qBt = (function () { + function t(e) { + ;(this.rules = []), (this.length = 0) + } + return ( + (t.prototype.insertRule = function (e, n) { + return e <= this.length && (this.rules.splice(e, 0, n), this.length++, !0) + }), + (t.prototype.deleteRule = function (e) { + this.rules.splice(e, 1), this.length-- + }), + (t.prototype.getRule = function (e) { + return e < this.length ? this.rules[e] : "" + }), + t + ) + })(), + ZB = p_, + WBt = { isServer: !p_, useCSSOMInjection: !yBt }, + dlt = (function () { + function t(e, n, o) { + e === void 0 && (e = of), n === void 0 && (n = {}) + var r = this + ;(this.options = ss(ss({}, WBt), e)), + (this.gs = n), + (this.names = new Map(o)), + (this.server = !!e.isServer), + !this.server && p_ && ZB && ((ZB = !1), QB(this)), + e$(this, function () { + return (function (i) { + for ( + var s = i.getTag(), + a = s.length, + c = "", + d = function (m) { + var f = (function (_) { + return m_.get(_) + })(m) + if (f === void 0) return "continue" + var g = i.names.get(f), + b = s.getGroup(m) + if (g === void 0 || !g.size || b.length === 0) return "continue" + var v = "".concat(nf, ".g").concat(m, '[id="').concat(f, '"]'), + w = "" + g !== void 0 && + g.forEach(function (_) { + _.length > 0 && (w += "".concat(_, ",")) + }), + (c += "".concat(b).concat(v, '{content:"').concat(w, '"}').concat(Xz)) + }, + u = 0; + u < a; + u++ + ) + d(u) + return c + })(r) + }) + } + return ( + (t.registerId = function (e) { + return Jk(e) + }), + (t.prototype.rehydrate = function () { + !this.server && p_ && QB(this) + }), + (t.prototype.reconstructWithOptions = function (e, n) { + return ( + n === void 0 && (n = !0), new t(ss(ss({}, this.options), e), this.gs, (n && this.names) || void 0) + ) + }), + (t.prototype.allocateGSInstance = function (e) { + return (this.gs[e] = (this.gs[e] || 0) + 1) + }), + (t.prototype.getTag = function () { + return ( + this.tag || + (this.tag = + ((e = (function (n) { + var o = n.useCSSOMInjection, + r = n.target + return n.isServer ? new qBt(r) : o ? new BBt(r) : new UBt(r) + })(this.options)), + new zBt(e))) + ) + var e + }), + (t.prototype.hasNameForId = function (e, n) { + return this.names.has(e) && this.names.get(e).has(n) + }), + (t.prototype.registerName = function (e, n) { + if ((Jk(e), this.names.has(e))) this.names.get(e).add(n) + else { + var o = new Set() + o.add(n), this.names.set(e, o) + } + }), + (t.prototype.insertRules = function (e, n, o) { + this.registerName(e, n), this.getTag().insertRules(Jk(e), o) + }), + (t.prototype.clearNames = function (e) { + this.names.has(e) && this.names.get(e).clear() + }), + (t.prototype.clearRules = function (e) { + this.getTag().clearGroup(Jk(e)), this.clearNames(e) + }), + (t.prototype.clearTag = function () { + this.tag = void 0 + }), + t + ) + })(), + KBt = /&/g, + VBt = /^\s*\/\/.*$/gm +function ult(t, e) { + return t.map(function (n) { + return ( + n.type === "rule" && + ((n.value = "".concat(e, " ").concat(n.value)), + (n.value = n.value.replaceAll(",", ",".concat(e, " "))), + (n.props = n.props.map(function (o) { + return "".concat(e, " ").concat(o) + }))), + Array.isArray(n.children) && n.type !== "@keyframes" && (n.children = ult(n.children, e)), + n + ) + }) +} +function HBt(t) { + var e, + n, + o, + r = of, + i = r.options, + s = i === void 0 ? of : i, + a = r.plugins, + c = a === void 0 ? UC : a, + d = function (f, g, b) { + return b.startsWith(n) && b.endsWith(n) && b.replaceAll(n, "").length > 0 ? ".".concat(e) : f + }, + u = c.slice() + u.push(function (f) { + f.type === DC && f.value.includes("&") && (f.props[0] = f.props[0].replace(KBt, n).replace(o, d)) + }), + s.prefix && u.push(vBt), + u.push(hBt) + var m = function (f, g, b, v) { + g === void 0 && (g = ""), + b === void 0 && (b = ""), + v === void 0 && (v = "&"), + (e = v), + (n = g), + (o = new RegExp("\\".concat(n, "\\b"), "g")) + var w = f.replace(VBt, ""), + _ = pBt(b || g ? "".concat(b, " ").concat(g, " { ").concat(w, " }") : w) + s.namespace && (_ = ult(_, s.namespace)) + var y = [] + return ( + u_( + _, + fBt( + u.concat( + gBt(function (C) { + return y.push(C) + }), + ), + ), + ), + y + ) + } + return ( + (m.hash = c.length + ? c + .reduce(function (f, g) { + return g.name || sy(15), th(f, g.name) + }, olt) + .toString() + : ""), + m + ) +} +var GBt = new dlt(), + VM = HBt(), + plt = Ie.createContext({ shouldForwardProp: void 0, styleSheet: GBt, stylis: VM }) +plt.Consumer +Ie.createContext(void 0) +function YB() { + return k.useContext(plt) +} +var QBt = (function () { + function t(e, n) { + var o = this + ;(this.inject = function (r, i) { + i === void 0 && (i = VM) + var s = o.name + i.hash + r.hasNameForId(o.id, s) || r.insertRules(o.id, s, i(o.rules, s, "@keyframes")) + }), + (this.name = e), + (this.id = "sc-keyframes-".concat(e)), + (this.rules = n), + e$(this, function () { + throw sy(12, String(o.name)) + }) + } + return ( + (t.prototype.getName = function (e) { + return e === void 0 && (e = VM), this.name + e.hash + }), + t + ) + })(), + ZBt = function (t) { + return t >= "A" && t <= "Z" + } +function XB(t) { + for (var e = "", n = 0; n < t.length; n++) { + var o = t[n] + if (n === 1 && o === "-" && t[0] === "-") return t + ZBt(o) ? (e += "-" + o.toLowerCase()) : (e += o) + } + return e.startsWith("ms-") ? "-" + e : e +} +var mlt = function (t) { + return t == null || t === !1 || t === "" + }, + hlt = function (t) { + var e, + n, + o = [] + for (var r in t) { + var i = t[r] + t.hasOwnProperty(r) && + !mlt(i) && + ((Array.isArray(i) && i.isCss) || rf(i) + ? o.push("".concat(XB(r), ":"), i, ";") + : hb(i) + ? o.push.apply(o, d_(d_(["".concat(r, " {")], hlt(i), !1), ["}"], !1)) + : o.push( + "" + .concat(XB(r), ": ") + .concat( + ((e = r), + (n = i) == null || typeof n == "boolean" || n === "" + ? "" + : typeof n != "number" || n === 0 || e in bBt || e.startsWith("--") + ? String(n).trim() + : "".concat(n, "px")), + ";", + ), + )) + } + return o + } +function Sp(t, e, n, o) { + if (mlt(t)) return [] + if (Jz(t)) return [".".concat(t.styledComponentId)] + if (rf(t)) { + if (!rf((i = t)) || (i.prototype && i.prototype.isReactComponent) || !e) return [t] + var r = t(e) + return Sp(r, e, n, o) + } + var i + return t instanceof QBt + ? n + ? (t.inject(n, o), [t.getName(o)]) + : [t] + : hb(t) + ? hlt(t) + : Array.isArray(t) + ? Array.prototype.concat.apply( + UC, + t.map(function (s) { + return Sp(s, e, n, o) + }), + ) + : [t.toString()] +} +function YBt(t) { + for (var e = 0; e < t.length; e += 1) { + var n = t[e] + if (rf(n) && !Jz(n)) return !1 + } + return !0 +} +var XBt = rlt(BC), + JBt = (function () { + function t(e, n, o) { + ;(this.rules = e), + (this.staticRulesId = ""), + (this.isStatic = (o === void 0 || o.isStatic) && YBt(e)), + (this.componentId = n), + (this.baseHash = th(XBt, n)), + (this.baseStyle = o), + dlt.registerId(n) + } + return ( + (t.prototype.generateAndInjectStyles = function (e, n, o) { + var r = this.baseStyle ? this.baseStyle.generateAndInjectStyles(e, n, o) : "" + if (this.isStatic && !o.hash) + if (this.staticRulesId && n.hasNameForId(this.componentId, this.staticRulesId)) + r = ap(r, this.staticRulesId) + else { + var i = GB(Sp(this.rules, e, n, o)), + s = WM(th(this.baseHash, i) >>> 0) + if (!n.hasNameForId(this.componentId, s)) { + var a = o(i, ".".concat(s), void 0, this.componentId) + n.insertRules(this.componentId, s, a) + } + ;(r = ap(r, s)), (this.staticRulesId = s) + } + else { + for (var c = th(this.baseHash, o.hash), d = "", u = 0; u < this.rules.length; u++) { + var m = this.rules[u] + if (typeof m == "string") d += m + else if (m) { + var f = GB(Sp(m, e, n, o)) + ;(c = th(c, f + u)), (d += f) + } + } + if (d) { + var g = WM(c >>> 0) + n.hasNameForId(this.componentId, g) || + n.insertRules(this.componentId, g, o(d, ".".concat(g), void 0, this.componentId)), + (r = ap(r, g)) + } + } + return r + }), + t + ) + })(), + flt = Ie.createContext(void 0) +flt.Consumer +var vP = {} +function eUt(t, e, n) { + var o = Jz(t), + r = t, + i = !gP(t), + s = e.attrs, + a = s === void 0 ? UC : s, + c = e.componentId, + d = + c === void 0 + ? (function (S, P) { + var R = typeof S != "string" ? "sc" : qB(S) + vP[R] = (vP[R] || 0) + 1 + var T = "".concat(R, "-").concat(CBt(BC + R + vP[R])) + return P ? "".concat(P, "-").concat(T) : T + })(e.displayName, e.parentComponentId) + : c, + u = e.displayName, + m = + u === void 0 + ? (function (S) { + return gP(S) ? "styled.".concat(S) : "Styled(".concat(SBt(S), ")") + })(t) + : u, + f = + e.displayName && e.componentId + ? "".concat(qB(e.displayName), "-").concat(e.componentId) + : e.componentId || d, + g = o && r.attrs ? r.attrs.concat(a).filter(Boolean) : a, + b = e.shouldForwardProp + if (o && r.shouldForwardProp) { + var v = r.shouldForwardProp + if (e.shouldForwardProp) { + var w = e.shouldForwardProp + b = function (S, P) { + return v(S, P) && w(S, P) + } + } else b = v + } + var _ = new JBt(n, f, o ? r.componentStyle : void 0) + function y(S, P) { + return (function (R, T, E) { + var $ = R.attrs, + j = R.componentStyle, + L = R.defaultProps, + W = R.foldedComponentIds, + G = R.styledComponentId, + U = R.target, + Z = Ie.useContext(flt), + V = YB(), + X = R.shouldForwardProp || V.shouldForwardProp, + H = kBt(T, Z, L) || of, + B = (function (oe, ae, Q) { + for (var ee, q = ss(ss({}, ae), { className: void 0, theme: Q }), me = 0; me < oe.length; me += 1) { + var Ce = rf((ee = oe[me])) ? ee(q) : ee + for (var ue in Ce) + q[ue] = + ue === "className" + ? ap(q[ue], Ce[ue]) + : ue === "style" + ? ss(ss({}, q[ue]), Ce[ue]) + : Ce[ue] + } + return ae.className && (q.className = ap(q.className, ae.className)), q + })($, T, H), + M = B.as || U, + D = {} + for (var F in B) + B[F] === void 0 || + F[0] === "$" || + F === "as" || + (F === "theme" && B.theme === H) || + (F === "forwardedAs" ? (D.as = B.forwardedAs) : (X && !X(F, M)) || (D[F] = B[F])) + var N = (function (oe, ae) { + var Q = YB(), + ee = oe.generateAndInjectStyles(ae, Q.styleSheet, Q.stylis) + return ee + })(j, B), + J = ap(W, G) + return ( + N && (J += " " + N), + B.className && (J += " " + B.className), + (D[gP(M) && !nlt.has(M) ? "class" : "className"] = J), + E && (D.ref = E), + k.createElement(M, D) + ) + })(C, S, P) + } + y.displayName = m + var C = Ie.forwardRef(y) + return ( + (C.attrs = g), + (C.componentStyle = _), + (C.displayName = m), + (C.shouldForwardProp = b), + (C.foldedComponentIds = o ? ap(r.foldedComponentIds, r.styledComponentId) : ""), + (C.styledComponentId = f), + (C.target = o ? r.target : t), + Object.defineProperty(C, "defaultProps", { + get: function () { + return this._foldedDefaultProps + }, + set: function (S) { + this._foldedDefaultProps = o + ? (function (P) { + for (var R = [], T = 1; T < arguments.length; T++) R[T - 1] = arguments[T] + for (var E = 0, $ = R; E < $.length; E++) KM(P, $[E], !0) + return P + })({}, r.defaultProps, S) + : S + }, + }), + e$(C, function () { + return ".".concat(C.styledComponentId) + }), + i && + llt(C, t, { + attrs: !0, + componentStyle: !0, + displayName: !0, + foldedComponentIds: !0, + shouldForwardProp: !0, + styledComponentId: !0, + target: !0, + }), + C + ) +} +function JB(t, e) { + for (var n = [t[0]], o = 0, r = e.length; o < r; o += 1) n.push(e[o], t[o + 1]) + return n +} +var eU = function (t) { + return Object.assign(t, { isCss: !0 }) +} +function tUt(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] + if (rf(t) || hb(t)) return eU(Sp(JB(UC, d_([t], e, !0)))) + var o = t + return e.length === 0 && o.length === 1 && typeof o[0] == "string" ? Sp(o) : eU(Sp(JB(o, e))) +} +function HM(t, e, n) { + if ((n === void 0 && (n = of), !e)) throw sy(1, e) + var o = function (r) { + for (var i = [], s = 1; s < arguments.length; s++) i[s - 1] = arguments[s] + return t(e, n, tUt.apply(void 0, d_([r], i, !1))) + } + return ( + (o.attrs = function (r) { + return HM(t, e, ss(ss({}, n), { attrs: Array.prototype.concat(n.attrs, r).filter(Boolean) })) + }), + (o.withConfig = function (r) { + return HM(t, e, ss(ss({}, n), r)) + }), + o + ) +} +var glt = function (t) { + return HM(eUt, t) + }, + bs = glt +nlt.forEach(function (t) { + bs[t] = glt(t) +}) +const nUt = bs.div` + background-color: var(--vscode-banner-background); + padding: 12px 20px; + display: flex; + flex-direction: column; + gap: 10px; + flex-shrink: 0; + margin-bottom: 6px; +`, + oUt = bs.div` + display: flex; + gap: 8px; + width: 100%; + & > vscode-button { + flex: 1; + } +`, + rUt = () => { + const { t } = Be(), + [e, n] = k.useState(!1), + o = () => { + n(!0), re.postMessage({ type: "telemetrySetting", text: "enabled" }) + }, + r = () => { + n(!0), re.postMessage({ type: "telemetrySetting", text: "disabled" }) + }, + i = () => { + window.postMessage({ type: "action", action: "settingsButtonClicked", values: { section: "about" } }) + } + return l.jsxs(nUt, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("strong", { children: t("welcome:telemetry.title") }), + l.jsxs("div", { + className: "mt-1", + children: [ + l.jsx(Dt, { + i18nKey: "welcome:telemetry.anonymousTelemetry", + components: { privacyLink: l.jsx(Wt, { href: "https://roocode.com/privacy" }) }, + }), + l.jsxs("div", { + className: "mt-1", + children: [ + l.jsx(Dt, { + i18nKey: "welcome:telemetry.changeSettings", + components: { settingsLink: l.jsx(Wt, { href: "#", onClick: i }) }, + }), + ".", + ], + }), + ], + }), + ], + }), + l.jsxs(oUt, { + children: [ + l.jsx(Mo, { + appearance: "primary", + onClick: o, + disabled: e, + children: t("welcome:telemetry.allow"), + }), + l.jsx(Mo, { + appearance: "secondary", + onClick: r, + disabled: e, + children: t("welcome:telemetry.deny"), + }), + ], + }), + ], + }) + }, + iUt = k.memo(rUt), + sUt = "RooVeterinaryInc", + ru = { publisher: sUt, name: "roo-cline", version: "3.25.6", sha: "d90bab71ff985a100530ff96435e4ca799533d2a" }, + aUt = ({ onClick: t, className: e = "" }) => { + const { t: n } = to() + return l.jsxs("button", { + onClick: t, + className: `text-xs text-vscode-descriptionForeground hover:text-vscode-foreground transition-colors cursor-pointer px-2 py-1 rounded border border-vscode-panel-border hover:border-vscode-focusBorder ${e}`, + "aria-label": n("chat:versionIndicator.ariaLabel", { version: ru.version }), + children: ["v", ru.version], + }) + }, + tU = new Gw({ max: 500 }) +function lUt(t) { + const e = tU.get(t) + if (e !== void 0) return e + const n = t + .replace(/&/g, "&") + .replace(/</g, "<") + .replace(/>/g, ">") + .replace(/"/g, """) + .replace(/'/g, "'") + return tU.set(t, n), n +} +function cUt(t, e, n = "history-item-highlight") { + if (!e.length) return t + const o = [] + let r = 0 + return ( + e.sort((i, s) => i - s), + e.forEach((i) => { + i > r && o.push({ text: t.substring(r, i), highlight: !1 }), + o.push({ text: t[i], highlight: !0 }), + (r = i + 1) + }), + r < t.length && o.push({ text: t.substring(r), highlight: !1 }), + o + .map((i) => { + const s = lUt(i.text) + return i.highlight ? `<span class="${n}">${s}</span>` : s + }) + .join("") + ) +} +const t$ = () => { + const { taskHistory: t, cwd: e } = Qn(), + [n, o] = k.useState(""), + [r, i] = k.useState("newest"), + [s, a] = k.useState("newest"), + [c, d] = k.useState(!1) + k.useEffect(() => { + n && r !== "mostRelevant" && !s ? (a(r), i("mostRelevant")) : !n && r === "mostRelevant" && s && (i(s), a(null)) + }, [n, r, s]) + const u = k.useMemo(() => { + let g = t.filter((b) => b.ts && b.task) + return c || (g = g.filter((b) => b.workspace === e)), g + }, [t, c, e]), + m = k.useMemo(() => new Vd(u, { selector: (g) => g.task }), [u]) + return { + tasks: k.useMemo(() => { + let g = u + return ( + n && + (g = m.find(n).map((v) => { + const w = Array.from(v.positions), + _ = v.item.task.length + return { + ...v.item, + highlight: cUt( + v.item.task, + w.filter((y) => y < _), + ), + workspace: v.item.workspace, + } + })), + [...g].sort((b, v) => { + switch (r) { + case "oldest": + return (b.ts || 0) - (v.ts || 0) + case "mostExpensive": + return (v.totalCost || 0) - (b.totalCost || 0) + case "mostTokens": + const w = + (b.tokensIn || 0) + (b.tokensOut || 0) + (b.cacheWrites || 0) + (b.cacheReads || 0) + return ( + (v.tokensIn || 0) + (v.tokensOut || 0) + (v.cacheWrites || 0) + (v.cacheReads || 0) - w + ) + case "mostRelevant": + return n ? 0 : (v.ts || 0) - (b.ts || 0) + case "newest": + default: + return (v.ts || 0) - (b.ts || 0) + } + }) + ) + }, [u, n, m, r]), + searchQuery: n, + setSearchQuery: o, + sortOption: r, + setSortOption: i, + lastNonRelevantSort: s, + setLastNonRelevantSort: a, + showAllWorkspaces: c, + setShowAllWorkspaces: d, + } +} +function ns(t) { + return t >= 1e9 + ? (t / 1e9).toFixed(1) + Gt.t("common:number_format.billion_suffix") + : t >= 1e6 + ? (t / 1e6).toFixed(1) + Gt.t("common:number_format.million_suffix") + : t >= 1e3 + ? (t / 1e3).toFixed(1) + Gt.t("common:number_format.thousand_suffix") + : t.toString() +} +const dUt = (t) => { + const e = new Date(t), + n = Gt.language || "en", + o = e.toLocaleString(n, { month: "long", day: "numeric", hour: "numeric", minute: "2-digit", hour12: !0 }) + return n === "en" ? o.replace(", ", " ").replace(" at", ",").toUpperCase() : o.toUpperCase() + }, + uUt = ({ itemId: t, onDelete: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r) => { + r.stopPropagation(), r.shiftKey ? re.postMessage({ type: "deleteTaskWithId", text: t }) : e && e(t) + }, + [t, e], + ) + return l.jsx(We, { + content: n("history:deleteTaskTitle"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + "data-testid": "delete-task-button", + onClick: o, + className: "group-hover:opacity-100 opacity-50 transition-opacity", + children: l.jsx("span", { + className: "codicon codicon-trash size-4 align-middle text-vscode-descriptionForeground", + }), + }), + }) + }, + pUt = ({ item: t, isSelectionMode: e, onDelete: n }) => + l.jsxs("div", { + className: be("flex justify-between items-center", { "mb-1": !n }), + children: [ + l.jsx("div", { + className: "flex items-center flex-wrap gap-x-2 text-xs", + children: l.jsx("span", { + className: "text-vscode-descriptionForeground font-medium text-sm uppercase", + children: dUt(t.ts), + }), + }), + !e && + l.jsx("div", { + className: + "flex flex-row gap-0 items-center opacity-20 group-hover:opacity-50 hover:opacity-100", + children: n && l.jsx(uUt, { itemId: t.id, onDelete: n }), + }), + ], + }), + mUt = ["B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], + hUt = ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"], + fUt = ["b", "kbit", "Mbit", "Gbit", "Tbit", "Pbit", "Ebit", "Zbit", "Ybit"], + gUt = ["b", "kibit", "Mibit", "Gibit", "Tibit", "Pibit", "Eibit", "Zibit", "Yibit"], + nU = (t, e, n) => { + let o = t + return ( + typeof e == "string" || Array.isArray(e) + ? (o = t.toLocaleString(e, n)) + : (e === !0 || n !== void 0) && (o = t.toLocaleString(void 0, n)), + o + ) + }, + vlt = (t) => { + if (typeof t == "number") return Math.log10(t) + const e = t.toString(10) + return e.length + Math.log10("0." + e.slice(0, 15)) + }, + vUt = (t) => (typeof t == "number" ? Math.log(t) : vlt(t) * Math.log(10)), + bUt = (t, e) => { + if (typeof t == "number") return t / e + const n = t / BigInt(e), + o = t % BigInt(e) + return Number(n) + Number(o) / e + } +function blt(t, e) { + if (typeof t != "bigint" && !Number.isFinite(t)) + throw new TypeError(`Expected a finite number, got ${typeof t}: ${t}`) + e = { bits: !1, binary: !1, space: !0, ...e } + const n = e.bits ? (e.binary ? gUt : fUt) : e.binary ? hUt : mUt, + o = e.space ? " " : "" + if (e.signed && (typeof t == "number" ? t === 0 : t === 0n)) return ` 0${o}${n[0]}` + const r = t < 0, + i = r ? "-" : e.signed ? "+" : "" + r && (t = -t) + let s + if ( + (e.minimumFractionDigits !== void 0 && (s = { minimumFractionDigits: e.minimumFractionDigits }), + e.maximumFractionDigits !== void 0 && (s = { maximumFractionDigits: e.maximumFractionDigits, ...s }), + t < 1) + ) { + const u = nU(t, e.locale, s) + return i + u + o + n[0] + } + const a = Math.min(Math.floor(e.binary ? vUt(t) / Math.log(1024) : vlt(t) / 3), n.length - 1) + ;(t = bUt(t, (e.binary ? 1024 : 1e3) ** a)), s || (t = t.toPrecision(3)) + const c = nU(Number(t), e.locale, s), + d = n[a] + return i + c + o + d +} +function ylt({ timeout: t = 2e3 } = {}) { + const [e, n] = k.useState(!1) + return { + isCopied: e, + copy: (r) => { + var i + typeof window > "u" || + !((i = navigator.clipboard) != null && i.writeText) || + !r || + navigator.clipboard.writeText(r).then(() => { + n(!0), setTimeout(() => n(!1), t) + }) + }, + } +} +function yUt(t) { + k.useEffect(() => { + const e = (n) => { + const o = n.target + o.tagName !== "INPUT" && + o.tagName !== "SELECT" && + o.tagName !== "TEXTAREA" && + o.tagName !== "VSCODE-TEXT-AREA" && + o.tagName !== "VSCODE-TEXT-FIELD" && + !o.isContentEditable && + t() + } + return ( + document.body.addEventListener("click", e), + () => { + document.body.removeEventListener("click", e) + } + ) + }, [t]) +} +const kUt = ({ itemTask: t }) => { + const { isCopied: e, copy: n } = ylt(), + { t: o } = Be(), + r = k.useCallback( + (i) => { + i.stopPropagation(), e || n(t) + }, + [e, n, t], + ) + return l.jsx(We, { + content: o("history:copyPrompt"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: r, + className: "group-hover:opacity-100 opacity-50 transition-opacity", + "data-testid": "copy-prompt-button", + children: l.jsx("span", { + className: be("codicon scale-80", { "codicon-check": e, "codicon-copy": !e }), + }), + }), + }) + }, + xUt = ({ itemId: t }) => { + const { t: e } = Be(), + n = k.useCallback( + (o) => { + o.stopPropagation(), re.postMessage({ type: "exportTaskWithId", text: t }) + }, + [t], + ) + return l.jsx(We, { + content: e("history:exportTask"), + children: l.jsx(Ee, { + "data-testid": "export", + variant: "ghost", + size: "icon", + className: "group-hover:opacity-100 opacity-50 transition-opacity", + onClick: n, + children: l.jsx("span", { className: "codicon codicon-desktop-download scale-80" }), + }), + }) + }, + wUt = ({ item: t, variant: e, isSelectionMode: n = !1 }) => + l.jsxs("div", { + className: "text-xs text-vscode-descriptionForeground flex justify-between items-center mt-1", + children: [ + l.jsxs("div", { + className: "flex gap-2", + children: [ + !!(t.cacheReads || t.cacheWrites) && + l.jsxs("span", { + className: "flex items-center", + "data-testid": "cache-compact", + children: [ + l.jsx("i", { + className: + "mr-1 codicon codicon-cloud-upload text-sm! text-vscode-descriptionForeground", + }), + l.jsx("span", { className: "inline-block mr-1", children: ns(t.cacheWrites || 0) }), + l.jsx("i", { + className: + "mr-1 codicon codicon-cloud-download text-sm! text-vscode-descriptionForeground", + }), + l.jsx("span", { children: ns(t.cacheReads || 0) }), + ], + }), + !!(t.tokensIn || t.tokensOut) && + l.jsxs("span", { + className: "flex items-center gap-1", + children: [ + l.jsxs("span", { + "data-testid": "tokens-in-footer-compact", + children: ["↑ ", ns(t.tokensIn || 0)], + }), + l.jsxs("span", { + "data-testid": "tokens-out-footer-compact", + children: ["↓ ", ns(t.tokensOut || 0)], + }), + ], + }), + !!t.totalCost && + l.jsxs("span", { + className: "flex items-center", + children: [ + l.jsx(w$t, { className: "inline-block size-[1em] mr-1" }), + l.jsx("span", { + "data-testid": "cost-footer-compact", + children: "$" + t.totalCost.toFixed(2), + }), + ], + }), + !!t.size && + l.jsxs("span", { + className: "flex items-center", + children: [ + l.jsx(P$t, { className: "inline-block size-[1em] mr-1" }), + l.jsx("span", { "data-testid": "size-footer-compact", children: blt(t.size) }), + ], + }), + ], + }), + !n && + l.jsxs("div", { + className: "flex flex-row gap-0 items-center opacity-50 hover:opacity-100", + children: [l.jsx(kUt, { itemTask: t.task }), e === "full" && l.jsx(xUt, { itemId: t.id })], + }), + ], + }), + _Ut = ({ + item: t, + variant: e, + showWorkspace: n = !1, + isSelectionMode: o = !1, + isSelected: r = !1, + onToggleSelection: i, + onDelete: s, + className: a, + }) => { + const c = () => { + o && i ? i(t.id, !r) : re.postMessage({ type: "showTaskWithId", text: t.id }) + }, + d = e === "compact" + return l.jsx( + "div", + { + "data-testid": `task-item-${t.id}`, + className: be( + "cursor-pointer group bg-vscode-editor-background rounded relative overflow-hidden hover:border-vscode-toolbar-hoverBackground/60", + a, + ), + onClick: c, + children: l.jsxs("div", { + className: "flex gap-2 p-3", + children: [ + !d && + o && + l.jsx("div", { + className: "task-checkbox mt-1", + onClick: (u) => { + u.stopPropagation() + }, + children: l.jsx(cz, { + checked: r, + onCheckedChange: (u) => (i == null ? void 0 : i(t.id, u === !0)), + variant: "description", + }), + }), + l.jsxs("div", { + className: "flex-1 min-w-0", + children: [ + l.jsx(pUt, { item: t, isSelectionMode: o, onDelete: s }), + l.jsx("div", { + className: be( + "overflow-hidden whitespace-pre-wrap text-vscode-foreground text-ellipsis", + { "text-base line-clamp-3": !d, "line-clamp-2": d }, + ), + "data-testid": "task-content", + ...(t.highlight ? { dangerouslySetInnerHTML: { __html: t.highlight } } : {}), + children: t.highlight ? void 0 : t.task, + }), + l.jsx(wUt, { item: t, variant: e, isSelectionMode: o }), + n && + t.workspace && + l.jsxs("div", { + className: "flex flex-row gap-1 text-vscode-descriptionForeground text-xs mt-1", + children: [ + l.jsx("span", { className: "codicon codicon-folder scale-80" }), + l.jsx("span", { children: t.workspace }), + ], + }), + ], + }), + ], + }), + }, + t.id, + ) + }, + klt = k.memo(_Ut), + CUt = () => { + const { tasks: t } = t$(), + { t: e } = Be(), + n = () => { + re.postMessage({ type: "switchTab", tab: "history" }) + } + return l.jsx("div", { + className: "flex flex-col gap-3", + children: + t.length !== 0 && + l.jsxs(l.Fragment, { + children: [ + t.slice(0, 3).map((o) => l.jsx(klt, { item: o, variant: "compact" }, o.id)), + l.jsx("button", { + onClick: n, + className: + "text-base text-vscode-descriptionForeground hover:text-vscode-textLink-foreground transition-colors cursor-pointer text-center w-full", + "aria-label": e("history:viewAllHistory"), + children: e("history:viewAllHistory"), + }), + ], + }), + }) + }, + SUt = k.memo(CUt), + AUt = ({ hideAnnouncement: t }) => { + const { t: e } = Be(), + [n, o] = k.useState(!0) + return l.jsx(Rf, { + open: n, + onOpenChange: (r) => { + o(r), r || t() + }, + children: l.jsxs(Tf, { + className: "max-w-96", + children: [ + l.jsxs(Zb, { + children: [ + l.jsx(If, { children: e("chat:announcement.title", { version: ru.version }) }), + l.jsx(kC, { children: e("chat:announcement.description", { version: ru.version }) }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("h3", { children: e("chat:announcement.whatsNew") }), + l.jsxs("ul", { + className: "space-y-2", + children: [ + l.jsxs("li", { + children: [ + "•", + " ", + l.jsx(Dt, { + i18nKey: "chat:announcement.feature1", + components: { + bold: l.jsx("b", {}), + code: l.jsx("code", {}), + settingsLink: l.jsx(Wt, { + href: "#", + onClick: (r) => { + r.preventDefault(), + o(!1), + t(), + window.postMessage( + { + type: "action", + action: "settingsButtonClicked", + values: { section: "codebaseIndexing" }, + }, + "*", + ) + }, + }), + }, + }), + ], + }), + l.jsxs("li", { + children: [ + "•", + " ", + l.jsx(Dt, { + i18nKey: "chat:announcement.feature2", + components: { bold: l.jsx("b", {}), code: l.jsx("code", {}) }, + }), + ], + }), + l.jsxs("li", { + children: [ + "•", + " ", + l.jsx(Dt, { + i18nKey: "chat:announcement.feature3", + components: { bold: l.jsx("b", {}), code: l.jsx("code", {}) }, + }), + ], + }), + ], + }), + l.jsx(Dt, { + i18nKey: "chat:announcement.detailsDiscussLinks", + components: { discordLink: l.jsx(PUt, {}), redditLink: l.jsx(RUt, {}) }, + }), + ], + }), + ], + }), + }) + }, + PUt = () => + l.jsx(Wt, { + href: "https://discord.gg/roocode", + onClick: (t) => { + t.preventDefault(), + window.postMessage( + { type: "action", action: "openExternal", data: { url: "https://discord.gg/roocode" } }, + "*", + ) + }, + children: "Discord", + }), + RUt = () => + l.jsx(Wt, { + href: "https://reddit.com/r/RooCode", + onClick: (t) => { + t.preventDefault(), + window.postMessage( + { type: "action", action: "openExternal", data: { url: "https://reddit.com/r/RooCode" } }, + "*", + ) + }, + children: "Reddit", + }), + TUt = k.memo(AUt) +var bP, oU +function IUt() { + return ( + oU || + ((oU = 1), + (bP = function t(e, n) { + if (e === n) return !0 + if (e && n && typeof e == "object" && typeof n == "object") { + if (e.constructor !== n.constructor) return !1 + var o, r, i + if (Array.isArray(e)) { + if (((o = e.length), o != n.length)) return !1 + for (r = o; r-- !== 0; ) if (!t(e[r], n[r])) return !1 + return !0 + } + if (e.constructor === RegExp) return e.source === n.source && e.flags === n.flags + if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === n.valueOf() + if (e.toString !== Object.prototype.toString) return e.toString() === n.toString() + if (((i = Object.keys(e)), (o = i.length), o !== Object.keys(n).length)) return !1 + for (r = o; r-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(n, i[r])) return !1 + for (r = o; r-- !== 0; ) { + var s = i[r] + if (!t(e[s], n[s])) return !1 + } + return !0 + } + return e !== e && n !== n + })), + bP + ) +} +var MUt = IUt() +const xlt = ps(MUt), + jUt = async (t, e) => { + var n, o + try { + return ( + await navigator.clipboard.writeText(t), (n = e == null ? void 0 : e.onSuccess) == null || n.call(e), !0 + ) + } catch (r) { + const i = r instanceof Error ? r : new Error("Failed to copy to clipboard") + return ( + (o = e == null ? void 0 : e.onError) == null || o.call(e, i), + console.error("Failed to copy to clipboard:", i), + !1 + ) + } + }, + Ff = (t = 2e3) => { + const [e, n] = k.useState(!1), + o = k.useRef(null), + r = k.useCallback( + async (i, s) => ( + s == null || s.stopPropagation(), + o.current && clearTimeout(o.current), + await jUt(i, { + onSuccess: () => { + n(!0), + (o.current = setTimeout(() => { + n(!1), (o.current = null) + }, t)) + }, + }) + ), + [t], + ) + return ( + k.useEffect( + () => () => { + o.current && clearTimeout(o.current) + }, + [], + ), + { showCopyFeedback: e, copyWithFeedback: r } + ) + } +let Lr = class extends Error { + constructor(e) { + super(e), (this.name = "ShikiError") + } +} +function EUt(t) { + return n$(t) +} +function n$(t) { + return Array.isArray(t) ? zUt(t) : t instanceof RegExp ? t : typeof t == "object" ? $Ut(t) : t +} +function zUt(t) { + let e = [] + for (let n = 0, o = t.length; n < o; n++) e[n] = n$(t[n]) + return e +} +function $Ut(t) { + let e = {} + for (let n in t) e[n] = n$(t[n]) + return e +} +function wlt(t, ...e) { + return ( + e.forEach((n) => { + for (let o in n) t[o] = n[o] + }), + t + ) +} +function _lt(t) { + const e = ~t.lastIndexOf("/") || ~t.lastIndexOf("\\") + return e === 0 ? t : ~e === t.length - 1 ? _lt(t.substring(0, t.length - 1)) : t.substr(~e + 1) +} +var yP = /\$(\d+)|\${(\d+):\/(downcase|upcase)}/g, + ex = class { + static hasCaptures(t) { + return t === null ? !1 : ((yP.lastIndex = 0), yP.test(t)) + } + static replaceCaptures(t, e, n) { + return t.replace(yP, (o, r, i, s) => { + let a = n[parseInt(r || i, 10)] + if (a) { + let c = e.substring(a.start, a.end) + for (; c[0] === "."; ) c = c.substring(1) + switch (s) { + case "downcase": + return c.toLowerCase() + case "upcase": + return c.toUpperCase() + default: + return c + } + } else return o + }) + } + } +function Clt(t, e) { + return t < e ? -1 : t > e ? 1 : 0 +} +function Slt(t, e) { + if (t === null && e === null) return 0 + if (!t) return -1 + if (!e) return 1 + let n = t.length, + o = e.length + if (n === o) { + for (let r = 0; r < n; r++) { + let i = Clt(t[r], e[r]) + if (i !== 0) return i + } + return 0 + } + return n - o +} +function rU(t) { + return !!( + /^#[0-9a-f]{6}$/i.test(t) || + /^#[0-9a-f]{8}$/i.test(t) || + /^#[0-9a-f]{3}$/i.test(t) || + /^#[0-9a-f]{4}$/i.test(t) + ) +} +function Alt(t) { + return t.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, "\\$&") +} +var Plt = class { + constructor(t) { + we(this, "cache", new Map()) + this.fn = t + } + get(t) { + if (this.cache.has(t)) return this.cache.get(t) + const e = this.fn(t) + return this.cache.set(t, e), e + } + }, + h_ = class { + constructor(t, e, n) { + we(this, "_cachedMatchRoot", new Plt((t) => this._root.match(t))) + ;(this._colorMap = t), (this._defaults = e), (this._root = n) + } + static createFromRawTheme(t, e) { + return this.createFromParsedTheme(NUt(t), e) + } + static createFromParsedTheme(t, e) { + return FUt(t, e) + } + getColorMap() { + return this._colorMap.getColorMap() + } + getDefaults() { + return this._defaults + } + match(t) { + if (t === null) return this._defaults + const e = t.scopeName, + o = this._cachedMatchRoot.get(e).find((r) => LUt(t.parent, r.parentScopes)) + return o ? new Rlt(o.fontStyle, o.foreground, o.background) : null + } + }, + kP = class Hx { + constructor(e, n) { + ;(this.parent = e), (this.scopeName = n) + } + static push(e, n) { + for (const o of n) e = new Hx(e, o) + return e + } + static from(...e) { + let n = null + for (let o = 0; o < e.length; o++) n = new Hx(n, e[o]) + return n + } + push(e) { + return new Hx(this, e) + } + getSegments() { + let e = this + const n = [] + for (; e; ) n.push(e.scopeName), (e = e.parent) + return n.reverse(), n + } + toString() { + return this.getSegments().join(" ") + } + extends(e) { + return this === e ? !0 : this.parent === null ? !1 : this.parent.extends(e) + } + getExtensionIfDefined(e) { + const n = [] + let o = this + for (; o && o !== e; ) n.push(o.scopeName), (o = o.parent) + return o === e ? n.reverse() : void 0 + } + } +function LUt(t, e) { + if (e.length === 0) return !0 + for (let n = 0; n < e.length; n++) { + let o = e[n], + r = !1 + if (o === ">") { + if (n === e.length - 1) return !1 + ;(o = e[++n]), (r = !0) + } + for (; t && !DUt(t.scopeName, o); ) { + if (r) return !1 + t = t.parent + } + if (!t) return !1 + t = t.parent + } + return !0 +} +function DUt(t, e) { + return e === t || (t.startsWith(e) && t[e.length] === ".") +} +var Rlt = class { + constructor(t, e, n) { + ;(this.fontStyle = t), (this.foregroundId = e), (this.backgroundId = n) + } +} +function NUt(t) { + if (!t) return [] + if (!t.settings || !Array.isArray(t.settings)) return [] + let e = t.settings, + n = [], + o = 0 + for (let r = 0, i = e.length; r < i; r++) { + let s = e[r] + if (!s.settings) continue + let a + if (typeof s.scope == "string") { + let m = s.scope + ;(m = m.replace(/^[,]+/, "")), (m = m.replace(/[,]+$/, "")), (a = m.split(",")) + } else Array.isArray(s.scope) ? (a = s.scope) : (a = [""]) + let c = -1 + if (typeof s.settings.fontStyle == "string") { + c = 0 + let m = s.settings.fontStyle.split(" ") + for (let f = 0, g = m.length; f < g; f++) + switch (m[f]) { + case "italic": + c = c | 1 + break + case "bold": + c = c | 2 + break + case "underline": + c = c | 4 + break + case "strikethrough": + c = c | 8 + break + } + } + let d = null + typeof s.settings.foreground == "string" && rU(s.settings.foreground) && (d = s.settings.foreground) + let u = null + typeof s.settings.background == "string" && rU(s.settings.background) && (u = s.settings.background) + for (let m = 0, f = a.length; m < f; m++) { + let b = a[m].trim().split(" "), + v = b[b.length - 1], + w = null + b.length > 1 && ((w = b.slice(0, b.length - 1)), w.reverse()), (n[o++] = new OUt(v, w, r, c, d, u)) + } + } + return n +} +var OUt = class { + constructor(t, e, n, o, r, i) { + ;(this.scope = t), + (this.parentScopes = e), + (this.index = n), + (this.fontStyle = o), + (this.foreground = r), + (this.background = i) + } + }, + pi = ((t) => ( + (t[(t.NotSet = -1)] = "NotSet"), + (t[(t.None = 0)] = "None"), + (t[(t.Italic = 1)] = "Italic"), + (t[(t.Bold = 2)] = "Bold"), + (t[(t.Underline = 4)] = "Underline"), + (t[(t.Strikethrough = 8)] = "Strikethrough"), + t + ))(pi || {}) +function FUt(t, e) { + t.sort((c, d) => { + let u = Clt(c.scope, d.scope) + return u !== 0 || ((u = Slt(c.parentScopes, d.parentScopes)), u !== 0) ? u : c.index - d.index + }) + let n = 0, + o = "#000000", + r = "#ffffff" + for (; t.length >= 1 && t[0].scope === ""; ) { + let c = t.shift() + c.fontStyle !== -1 && (n = c.fontStyle), + c.foreground !== null && (o = c.foreground), + c.background !== null && (r = c.background) + } + let i = new BUt(e), + s = new Rlt(n, i.getId(o), i.getId(r)), + a = new qUt(new GM(0, null, -1, 0, 0), []) + for (let c = 0, d = t.length; c < d; c++) { + let u = t[c] + a.insert(0, u.scope, u.parentScopes, u.fontStyle, i.getId(u.foreground), i.getId(u.background)) + } + return new h_(i, s, a) +} +var BUt = class { + constructor(t) { + we(this, "_isFrozen") + we(this, "_lastColorId") + we(this, "_id2color") + we(this, "_color2id") + if ( + ((this._lastColorId = 0), + (this._id2color = []), + (this._color2id = Object.create(null)), + Array.isArray(t)) + ) { + this._isFrozen = !0 + for (let e = 0, n = t.length; e < n; e++) (this._color2id[t[e]] = e), (this._id2color[e] = t[e]) + } else this._isFrozen = !1 + } + getId(t) { + if (t === null) return 0 + t = t.toUpperCase() + let e = this._color2id[t] + if (e) return e + if (this._isFrozen) throw new Error(`Missing color in color map - ${t}`) + return (e = ++this._lastColorId), (this._color2id[t] = e), (this._id2color[e] = t), e + } + getColorMap() { + return this._id2color.slice(0) + } + }, + UUt = Object.freeze([]), + GM = class Tlt { + constructor(e, n, o, r, i) { + we(this, "scopeDepth") + we(this, "parentScopes") + we(this, "fontStyle") + we(this, "foreground") + we(this, "background") + ;(this.scopeDepth = e), + (this.parentScopes = n || UUt), + (this.fontStyle = o), + (this.foreground = r), + (this.background = i) + } + clone() { + return new Tlt(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background) + } + static cloneArr(e) { + let n = [] + for (let o = 0, r = e.length; o < r; o++) n[o] = e[o].clone() + return n + } + acceptOverwrite(e, n, o, r) { + this.scopeDepth > e ? console.log("how did this happen?") : (this.scopeDepth = e), + n !== -1 && (this.fontStyle = n), + o !== 0 && (this.foreground = o), + r !== 0 && (this.background = r) + } + }, + qUt = class QM { + constructor(e, n = [], o = {}) { + we(this, "_rulesWithParentScopes") + ;(this._mainRule = e), (this._children = o), (this._rulesWithParentScopes = n) + } + static _cmpBySpecificity(e, n) { + if (e.scopeDepth !== n.scopeDepth) return n.scopeDepth - e.scopeDepth + let o = 0, + r = 0 + for ( + ; + e.parentScopes[o] === ">" && o++, + n.parentScopes[r] === ">" && r++, + !(o >= e.parentScopes.length || r >= n.parentScopes.length); + + ) { + const i = n.parentScopes[r].length - e.parentScopes[o].length + if (i !== 0) return i + o++, r++ + } + return n.parentScopes.length - e.parentScopes.length + } + match(e) { + if (e !== "") { + let o = e.indexOf("."), + r, + i + if ( + (o === -1 ? ((r = e), (i = "")) : ((r = e.substring(0, o)), (i = e.substring(o + 1))), + this._children.hasOwnProperty(r)) + ) + return this._children[r].match(i) + } + const n = this._rulesWithParentScopes.concat(this._mainRule) + return n.sort(QM._cmpBySpecificity), n + } + insert(e, n, o, r, i, s) { + if (n === "") { + this._doInsertHere(e, o, r, i, s) + return + } + let a = n.indexOf("."), + c, + d + a === -1 ? ((c = n), (d = "")) : ((c = n.substring(0, a)), (d = n.substring(a + 1))) + let u + this._children.hasOwnProperty(c) + ? (u = this._children[c]) + : ((u = new QM(this._mainRule.clone(), GM.cloneArr(this._rulesWithParentScopes))), + (this._children[c] = u)), + u.insert(e + 1, d, o, r, i, s) + } + _doInsertHere(e, n, o, r, i) { + if (n === null) { + this._mainRule.acceptOverwrite(e, o, r, i) + return + } + for (let s = 0, a = this._rulesWithParentScopes.length; s < a; s++) { + let c = this._rulesWithParentScopes[s] + if (Slt(c.parentScopes, n) === 0) { + c.acceptOverwrite(e, o, r, i) + return + } + } + o === -1 && (o = this._mainRule.fontStyle), + r === 0 && (r = this._mainRule.foreground), + i === 0 && (i = this._mainRule.background), + this._rulesWithParentScopes.push(new GM(e, n, o, r, i)) + } + }, + sf = class ta { + static toBinaryStr(e) { + return e.toString(2).padStart(32, "0") + } + static print(e) { + const n = ta.getLanguageId(e), + o = ta.getTokenType(e), + r = ta.getFontStyle(e), + i = ta.getForeground(e), + s = ta.getBackground(e) + console.log({ languageId: n, tokenType: o, fontStyle: r, foreground: i, background: s }) + } + static getLanguageId(e) { + return (e & 255) >>> 0 + } + static getTokenType(e) { + return (e & 768) >>> 8 + } + static containsBalancedBrackets(e) { + return (e & 1024) !== 0 + } + static getFontStyle(e) { + return (e & 30720) >>> 11 + } + static getForeground(e) { + return (e & 16744448) >>> 15 + } + static getBackground(e) { + return (e & 4278190080) >>> 24 + } + static set(e, n, o, r, i, s, a) { + let c = ta.getLanguageId(e), + d = ta.getTokenType(e), + u = ta.containsBalancedBrackets(e) ? 1 : 0, + m = ta.getFontStyle(e), + f = ta.getForeground(e), + g = ta.getBackground(e) + return ( + n !== 0 && (c = n), + o !== 8 && (d = o), + r !== null && (u = r ? 1 : 0), + i !== -1 && (m = i), + s !== 0 && (f = s), + a !== 0 && (g = a), + ((c << 0) | (d << 8) | (u << 10) | (m << 11) | (f << 15) | (g << 24)) >>> 0 + ) + } + } +function f_(t, e) { + const n = [], + o = WUt(t) + let r = o.next() + for (; r !== null; ) { + let c = 0 + if (r.length === 2 && r.charAt(1) === ":") { + switch (r.charAt(0)) { + case "R": + c = 1 + break + case "L": + c = -1 + break + default: + console.log(`Unknown priority ${r} in scope selector`) + } + r = o.next() + } + let d = s() + if ((n.push({ matcher: d, priority: c }), r !== ",")) break + r = o.next() + } + return n + function i() { + if (r === "-") { + r = o.next() + const c = i() + return (d) => !!c && !c(d) + } + if (r === "(") { + r = o.next() + const c = a() + return r === ")" && (r = o.next()), c + } + if (iU(r)) { + const c = [] + do c.push(r), (r = o.next()) + while (iU(r)) + return (d) => e(c, d) + } + return null + } + function s() { + const c = [] + let d = i() + for (; d; ) c.push(d), (d = i()) + return (u) => c.every((m) => m(u)) + } + function a() { + const c = [] + let d = s() + for (; d && (c.push(d), r === "|" || r === ","); ) { + do r = o.next() + while (r === "|" || r === ",") + d = s() + } + return (u) => c.some((m) => m(u)) + } +} +function iU(t) { + return !!t && !!t.match(/[\w\.:]+/) +} +function WUt(t) { + let e = /([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g, + n = e.exec(t) + return { + next: () => { + if (!n) return null + const o = n[0] + return (n = e.exec(t)), o + }, + } +} +function Ilt(t) { + typeof t.dispose == "function" && t.dispose() +} +var fb = class { + constructor(t) { + this.scopeName = t + } + toKey() { + return this.scopeName + } + }, + KUt = class { + constructor(t, e) { + ;(this.scopeName = t), (this.ruleName = e) + } + toKey() { + return `${this.scopeName}#${this.ruleName}` + } + }, + VUt = class { + constructor() { + we(this, "_references", []) + we(this, "_seenReferenceKeys", new Set()) + we(this, "visitedRule", new Set()) + } + get references() { + return this._references + } + add(t) { + const e = t.toKey() + this._seenReferenceKeys.has(e) || (this._seenReferenceKeys.add(e), this._references.push(t)) + } + }, + HUt = class { + constructor(t, e) { + we(this, "seenFullScopeRequests", new Set()) + we(this, "seenPartialScopeRequests", new Set()) + we(this, "Q") + ;(this.repo = t), + (this.initialScopeName = e), + this.seenFullScopeRequests.add(this.initialScopeName), + (this.Q = [new fb(this.initialScopeName)]) + } + processQueue() { + const t = this.Q + this.Q = [] + const e = new VUt() + for (const n of t) GUt(n, this.initialScopeName, this.repo, e) + for (const n of e.references) + if (n instanceof fb) { + if (this.seenFullScopeRequests.has(n.scopeName)) continue + this.seenFullScopeRequests.add(n.scopeName), this.Q.push(n) + } else { + if (this.seenFullScopeRequests.has(n.scopeName) || this.seenPartialScopeRequests.has(n.toKey())) + continue + this.seenPartialScopeRequests.add(n.toKey()), this.Q.push(n) + } + } + } +function GUt(t, e, n, o) { + const r = n.lookup(t.scopeName) + if (!r) { + if (t.scopeName === e) throw new Error(`No grammar provided for <${e}>`) + return + } + const i = n.lookup(e) + t instanceof fb + ? Gx({ baseGrammar: i, selfGrammar: r }, o) + : ZM(t.ruleName, { baseGrammar: i, selfGrammar: r, repository: r.repository }, o) + const s = n.injections(t.scopeName) + if (s) for (const a of s) o.add(new fb(a)) +} +function ZM(t, e, n) { + if (e.repository && e.repository[t]) { + const o = e.repository[t] + g_([o], e, n) + } +} +function Gx(t, e) { + t.selfGrammar.patterns && + Array.isArray(t.selfGrammar.patterns) && + g_(t.selfGrammar.patterns, { ...t, repository: t.selfGrammar.repository }, e), + t.selfGrammar.injections && + g_(Object.values(t.selfGrammar.injections), { ...t, repository: t.selfGrammar.repository }, e) +} +function g_(t, e, n) { + for (const o of t) { + if (n.visitedRule.has(o)) continue + n.visitedRule.add(o) + const r = o.repository ? wlt({}, e.repository, o.repository) : e.repository + Array.isArray(o.patterns) && g_(o.patterns, { ...e, repository: r }, n) + const i = o.include + if (!i) continue + const s = Mlt(i) + switch (s.kind) { + case 0: + Gx({ ...e, selfGrammar: e.baseGrammar }, n) + break + case 1: + Gx(e, n) + break + case 2: + ZM(s.ruleName, { ...e, repository: r }, n) + break + case 3: + case 4: + const a = + s.scopeName === e.selfGrammar.scopeName + ? e.selfGrammar + : s.scopeName === e.baseGrammar.scopeName + ? e.baseGrammar + : void 0 + if (a) { + const c = { baseGrammar: e.baseGrammar, selfGrammar: a, repository: r } + s.kind === 4 ? ZM(s.ruleName, c, n) : Gx(c, n) + } else s.kind === 4 ? n.add(new KUt(s.scopeName, s.ruleName)) : n.add(new fb(s.scopeName)) + break + } + } +} +var QUt = class { + constructor() { + we(this, "kind", 0) + } + }, + ZUt = class { + constructor() { + we(this, "kind", 1) + } + }, + YUt = class { + constructor(t) { + we(this, "kind", 2) + this.ruleName = t + } + }, + XUt = class { + constructor(t) { + we(this, "kind", 3) + this.scopeName = t + } + }, + JUt = class { + constructor(t, e) { + we(this, "kind", 4) + ;(this.scopeName = t), (this.ruleName = e) + } + } +function Mlt(t) { + if (t === "$base") return new QUt() + if (t === "$self") return new ZUt() + const e = t.indexOf("#") + if (e === -1) return new XUt(t) + if (e === 0) return new YUt(t.substring(1)) + { + const n = t.substring(0, e), + o = t.substring(e + 1) + return new JUt(n, o) + } +} +var eqt = /\\(\d+)/, + sU = /\\(\d+)/g, + tqt = -1, + jlt = -2 +var ay = class { + constructor(t, e, n, o) { + we(this, "$location") + we(this, "id") + we(this, "_nameIsCapturing") + we(this, "_name") + we(this, "_contentNameIsCapturing") + we(this, "_contentName") + ;(this.$location = t), + (this.id = e), + (this._name = n || null), + (this._nameIsCapturing = ex.hasCaptures(this._name)), + (this._contentName = o || null), + (this._contentNameIsCapturing = ex.hasCaptures(this._contentName)) + } + get debugName() { + const t = this.$location ? `${_lt(this.$location.filename)}:${this.$location.line}` : "unknown" + return `${this.constructor.name}#${this.id} @ ${t}` + } + getName(t, e) { + return !this._nameIsCapturing || this._name === null || t === null || e === null + ? this._name + : ex.replaceCaptures(this._name, t, e) + } + getContentName(t, e) { + return !this._contentNameIsCapturing || this._contentName === null + ? this._contentName + : ex.replaceCaptures(this._contentName, t, e) + } + }, + nqt = class extends ay { + constructor(e, n, o, r, i) { + super(e, n, o, r) + we(this, "retokenizeCapturedWithRuleId") + this.retokenizeCapturedWithRuleId = i + } + dispose() {} + collectPatterns(e, n) { + throw new Error("Not supported!") + } + compile(e, n) { + throw new Error("Not supported!") + } + compileAG(e, n, o, r) { + throw new Error("Not supported!") + } + }, + oqt = class extends ay { + constructor(e, n, o, r, i) { + super(e, n, o, null) + we(this, "_match") + we(this, "captures") + we(this, "_cachedCompiledPatterns") + ;(this._match = new gb(r, this.id)), (this.captures = i), (this._cachedCompiledPatterns = null) + } + dispose() { + this._cachedCompiledPatterns && + (this._cachedCompiledPatterns.dispose(), (this._cachedCompiledPatterns = null)) + } + get debugMatchRegExp() { + return `${this._match.source}` + } + collectPatterns(e, n) { + n.push(this._match) + } + compile(e, n) { + return this._getCachedCompiledPatterns(e).compile(e) + } + compileAG(e, n, o, r) { + return this._getCachedCompiledPatterns(e).compileAG(e, o, r) + } + _getCachedCompiledPatterns(e) { + return ( + this._cachedCompiledPatterns || + ((this._cachedCompiledPatterns = new vb()), this.collectPatterns(e, this._cachedCompiledPatterns)), + this._cachedCompiledPatterns + ) + } + }, + aU = class extends ay { + constructor(e, n, o, r, i) { + super(e, n, o, r) + we(this, "hasMissingPatterns") + we(this, "patterns") + we(this, "_cachedCompiledPatterns") + ;(this.patterns = i.patterns), + (this.hasMissingPatterns = i.hasMissingPatterns), + (this._cachedCompiledPatterns = null) + } + dispose() { + this._cachedCompiledPatterns && + (this._cachedCompiledPatterns.dispose(), (this._cachedCompiledPatterns = null)) + } + collectPatterns(e, n) { + for (const o of this.patterns) e.getRule(o).collectPatterns(e, n) + } + compile(e, n) { + return this._getCachedCompiledPatterns(e).compile(e) + } + compileAG(e, n, o, r) { + return this._getCachedCompiledPatterns(e).compileAG(e, o, r) + } + _getCachedCompiledPatterns(e) { + return ( + this._cachedCompiledPatterns || + ((this._cachedCompiledPatterns = new vb()), this.collectPatterns(e, this._cachedCompiledPatterns)), + this._cachedCompiledPatterns + ) + } + }, + YM = class extends ay { + constructor(e, n, o, r, i, s, a, c, d, u) { + super(e, n, o, r) + we(this, "_begin") + we(this, "beginCaptures") + we(this, "_end") + we(this, "endHasBackReferences") + we(this, "endCaptures") + we(this, "applyEndPatternLast") + we(this, "hasMissingPatterns") + we(this, "patterns") + we(this, "_cachedCompiledPatterns") + ;(this._begin = new gb(i, this.id)), + (this.beginCaptures = s), + (this._end = new gb(a || "￿", -1)), + (this.endHasBackReferences = this._end.hasBackReferences), + (this.endCaptures = c), + (this.applyEndPatternLast = d || !1), + (this.patterns = u.patterns), + (this.hasMissingPatterns = u.hasMissingPatterns), + (this._cachedCompiledPatterns = null) + } + dispose() { + this._cachedCompiledPatterns && + (this._cachedCompiledPatterns.dispose(), (this._cachedCompiledPatterns = null)) + } + get debugBeginRegExp() { + return `${this._begin.source}` + } + get debugEndRegExp() { + return `${this._end.source}` + } + getEndWithResolvedBackReferences(e, n) { + return this._end.resolveBackReferences(e, n) + } + collectPatterns(e, n) { + n.push(this._begin) + } + compile(e, n) { + return this._getCachedCompiledPatterns(e, n).compile(e) + } + compileAG(e, n, o, r) { + return this._getCachedCompiledPatterns(e, n).compileAG(e, o, r) + } + _getCachedCompiledPatterns(e, n) { + if (!this._cachedCompiledPatterns) { + this._cachedCompiledPatterns = new vb() + for (const o of this.patterns) e.getRule(o).collectPatterns(e, this._cachedCompiledPatterns) + this.applyEndPatternLast + ? this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end) + : this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end) + } + return ( + this._end.hasBackReferences && + (this.applyEndPatternLast + ? this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, n) + : this._cachedCompiledPatterns.setSource(0, n)), + this._cachedCompiledPatterns + ) + } + }, + v_ = class extends ay { + constructor(e, n, o, r, i, s, a, c, d) { + super(e, n, o, r) + we(this, "_begin") + we(this, "beginCaptures") + we(this, "whileCaptures") + we(this, "_while") + we(this, "whileHasBackReferences") + we(this, "hasMissingPatterns") + we(this, "patterns") + we(this, "_cachedCompiledPatterns") + we(this, "_cachedCompiledWhilePatterns") + ;(this._begin = new gb(i, this.id)), + (this.beginCaptures = s), + (this.whileCaptures = c), + (this._while = new gb(a, jlt)), + (this.whileHasBackReferences = this._while.hasBackReferences), + (this.patterns = d.patterns), + (this.hasMissingPatterns = d.hasMissingPatterns), + (this._cachedCompiledPatterns = null), + (this._cachedCompiledWhilePatterns = null) + } + dispose() { + this._cachedCompiledPatterns && + (this._cachedCompiledPatterns.dispose(), (this._cachedCompiledPatterns = null)), + this._cachedCompiledWhilePatterns && + (this._cachedCompiledWhilePatterns.dispose(), (this._cachedCompiledWhilePatterns = null)) + } + get debugBeginRegExp() { + return `${this._begin.source}` + } + get debugWhileRegExp() { + return `${this._while.source}` + } + getWhileWithResolvedBackReferences(e, n) { + return this._while.resolveBackReferences(e, n) + } + collectPatterns(e, n) { + n.push(this._begin) + } + compile(e, n) { + return this._getCachedCompiledPatterns(e).compile(e) + } + compileAG(e, n, o, r) { + return this._getCachedCompiledPatterns(e).compileAG(e, o, r) + } + _getCachedCompiledPatterns(e) { + if (!this._cachedCompiledPatterns) { + this._cachedCompiledPatterns = new vb() + for (const n of this.patterns) e.getRule(n).collectPatterns(e, this._cachedCompiledPatterns) + } + return this._cachedCompiledPatterns + } + compileWhile(e, n) { + return this._getCachedCompiledWhilePatterns(e, n).compile(e) + } + compileWhileAG(e, n, o, r) { + return this._getCachedCompiledWhilePatterns(e, n).compileAG(e, o, r) + } + _getCachedCompiledWhilePatterns(e, n) { + return ( + this._cachedCompiledWhilePatterns || + ((this._cachedCompiledWhilePatterns = new vb()), + this._cachedCompiledWhilePatterns.push( + this._while.hasBackReferences ? this._while.clone() : this._while, + )), + this._while.hasBackReferences && this._cachedCompiledWhilePatterns.setSource(0, n || "￿"), + this._cachedCompiledWhilePatterns + ) + } + }, + Elt = class ai { + static createCaptureRule(e, n, o, r, i) { + return e.registerRule((s) => new nqt(n, s, o, r, i)) + } + static getCompiledRuleId(e, n, o) { + return ( + e.id || + n.registerRule((r) => { + if (((e.id = r), e.match)) + return new oqt( + e.$vscodeTextmateLocation, + e.id, + e.name, + e.match, + ai._compileCaptures(e.captures, n, o), + ) + if (typeof e.begin > "u") { + e.repository && (o = wlt({}, o, e.repository)) + let i = e.patterns + return ( + typeof i > "u" && e.include && (i = [{ include: e.include }]), + new aU( + e.$vscodeTextmateLocation, + e.id, + e.name, + e.contentName, + ai._compilePatterns(i, n, o), + ) + ) + } + return e.while + ? new v_( + e.$vscodeTextmateLocation, + e.id, + e.name, + e.contentName, + e.begin, + ai._compileCaptures(e.beginCaptures || e.captures, n, o), + e.while, + ai._compileCaptures(e.whileCaptures || e.captures, n, o), + ai._compilePatterns(e.patterns, n, o), + ) + : new YM( + e.$vscodeTextmateLocation, + e.id, + e.name, + e.contentName, + e.begin, + ai._compileCaptures(e.beginCaptures || e.captures, n, o), + e.end, + ai._compileCaptures(e.endCaptures || e.captures, n, o), + e.applyEndPatternLast, + ai._compilePatterns(e.patterns, n, o), + ) + }), + e.id + ) + } + static _compileCaptures(e, n, o) { + let r = [] + if (e) { + let i = 0 + for (const s in e) { + if (s === "$vscodeTextmateLocation") continue + const a = parseInt(s, 10) + a > i && (i = a) + } + for (let s = 0; s <= i; s++) r[s] = null + for (const s in e) { + if (s === "$vscodeTextmateLocation") continue + const a = parseInt(s, 10) + let c = 0 + e[s].patterns && (c = ai.getCompiledRuleId(e[s], n, o)), + (r[a] = ai.createCaptureRule(n, e[s].$vscodeTextmateLocation, e[s].name, e[s].contentName, c)) + } + } + return r + } + static _compilePatterns(e, n, o) { + let r = [] + if (e) + for (let i = 0, s = e.length; i < s; i++) { + const a = e[i] + let c = -1 + if (a.include) { + const d = Mlt(a.include) + switch (d.kind) { + case 0: + case 1: + c = ai.getCompiledRuleId(o[a.include], n, o) + break + case 2: + let u = o[d.ruleName] + u && (c = ai.getCompiledRuleId(u, n, o)) + break + case 3: + case 4: + const m = d.scopeName, + f = d.kind === 4 ? d.ruleName : null, + g = n.getExternalGrammar(m, o) + if (g) + if (f) { + let b = g.repository[f] + b && (c = ai.getCompiledRuleId(b, n, g.repository)) + } else c = ai.getCompiledRuleId(g.repository.$self, n, g.repository) + break + } + } else c = ai.getCompiledRuleId(a, n, o) + if (c !== -1) { + const d = n.getRule(c) + let u = !1 + if ( + ((d instanceof aU || d instanceof YM || d instanceof v_) && + d.hasMissingPatterns && + d.patterns.length === 0 && + (u = !0), + u) + ) + continue + r.push(c) + } + } + return { patterns: r, hasMissingPatterns: (e ? e.length : 0) !== r.length } + } + }, + gb = class zlt { + constructor(e, n) { + we(this, "source") + we(this, "ruleId") + we(this, "hasAnchor") + we(this, "hasBackReferences") + we(this, "_anchorCache") + if (e && typeof e == "string") { + const o = e.length + let r = 0, + i = [], + s = !1 + for (let a = 0; a < o; a++) + if (e.charAt(a) === "\\" && a + 1 < o) { + const d = e.charAt(a + 1) + d === "z" + ? (i.push(e.substring(r, a)), i.push("$(?!\\n)(?<!\\n)"), (r = a + 2)) + : (d === "A" || d === "G") && (s = !0), + a++ + } + ;(this.hasAnchor = s), + r === 0 ? (this.source = e) : (i.push(e.substring(r, o)), (this.source = i.join(""))) + } else (this.hasAnchor = !1), (this.source = e) + this.hasAnchor ? (this._anchorCache = this._buildAnchorCache()) : (this._anchorCache = null), + (this.ruleId = n), + typeof this.source == "string" + ? (this.hasBackReferences = eqt.test(this.source)) + : (this.hasBackReferences = !1) + } + clone() { + return new zlt(this.source, this.ruleId) + } + setSource(e) { + this.source !== e && ((this.source = e), this.hasAnchor && (this._anchorCache = this._buildAnchorCache())) + } + resolveBackReferences(e, n) { + if (typeof this.source != "string") + throw new Error("This method should only be called if the source is a string") + let o = n.map((r) => e.substring(r.start, r.end)) + return (sU.lastIndex = 0), this.source.replace(sU, (r, i) => Alt(o[parseInt(i, 10)] || "")) + } + _buildAnchorCache() { + if (typeof this.source != "string") + throw new Error("This method should only be called if the source is a string") + let e = [], + n = [], + o = [], + r = [], + i, + s, + a, + c + for (i = 0, s = this.source.length; i < s; i++) + (a = this.source.charAt(i)), + (e[i] = a), + (n[i] = a), + (o[i] = a), + (r[i] = a), + a === "\\" && + i + 1 < s && + ((c = this.source.charAt(i + 1)), + c === "A" + ? ((e[i + 1] = "￿"), (n[i + 1] = "￿"), (o[i + 1] = "A"), (r[i + 1] = "A")) + : c === "G" + ? ((e[i + 1] = "￿"), (n[i + 1] = "G"), (o[i + 1] = "￿"), (r[i + 1] = "G")) + : ((e[i + 1] = c), (n[i + 1] = c), (o[i + 1] = c), (r[i + 1] = c)), + i++) + return { A0_G0: e.join(""), A0_G1: n.join(""), A1_G0: o.join(""), A1_G1: r.join("") } + } + resolveAnchors(e, n) { + return !this.hasAnchor || !this._anchorCache || typeof this.source != "string" + ? this.source + : e + ? n + ? this._anchorCache.A1_G1 + : this._anchorCache.A1_G0 + : n + ? this._anchorCache.A0_G1 + : this._anchorCache.A0_G0 + } + }, + vb = class { + constructor() { + we(this, "_items") + we(this, "_hasAnchors") + we(this, "_cached") + we(this, "_anchorCache") + ;(this._items = []), + (this._hasAnchors = !1), + (this._cached = null), + (this._anchorCache = { A0_G0: null, A0_G1: null, A1_G0: null, A1_G1: null }) + } + dispose() { + this._disposeCaches() + } + _disposeCaches() { + this._cached && (this._cached.dispose(), (this._cached = null)), + this._anchorCache.A0_G0 && (this._anchorCache.A0_G0.dispose(), (this._anchorCache.A0_G0 = null)), + this._anchorCache.A0_G1 && (this._anchorCache.A0_G1.dispose(), (this._anchorCache.A0_G1 = null)), + this._anchorCache.A1_G0 && (this._anchorCache.A1_G0.dispose(), (this._anchorCache.A1_G0 = null)), + this._anchorCache.A1_G1 && (this._anchorCache.A1_G1.dispose(), (this._anchorCache.A1_G1 = null)) + } + push(t) { + this._items.push(t), (this._hasAnchors = this._hasAnchors || t.hasAnchor) + } + unshift(t) { + this._items.unshift(t), (this._hasAnchors = this._hasAnchors || t.hasAnchor) + } + length() { + return this._items.length + } + setSource(t, e) { + this._items[t].source !== e && (this._disposeCaches(), this._items[t].setSource(e)) + } + compile(t) { + if (!this._cached) { + let e = this._items.map((n) => n.source) + this._cached = new lU( + t, + e, + this._items.map((n) => n.ruleId), + ) + } + return this._cached + } + compileAG(t, e, n) { + return this._hasAnchors + ? e + ? n + ? (this._anchorCache.A1_G1 || (this._anchorCache.A1_G1 = this._resolveAnchors(t, e, n)), + this._anchorCache.A1_G1) + : (this._anchorCache.A1_G0 || (this._anchorCache.A1_G0 = this._resolveAnchors(t, e, n)), + this._anchorCache.A1_G0) + : n + ? (this._anchorCache.A0_G1 || (this._anchorCache.A0_G1 = this._resolveAnchors(t, e, n)), + this._anchorCache.A0_G1) + : (this._anchorCache.A0_G0 || (this._anchorCache.A0_G0 = this._resolveAnchors(t, e, n)), + this._anchorCache.A0_G0) + : this.compile(t) + } + _resolveAnchors(t, e, n) { + let o = this._items.map((r) => r.resolveAnchors(e, n)) + return new lU( + t, + o, + this._items.map((r) => r.ruleId), + ) + } + }, + lU = class { + constructor(t, e, n) { + we(this, "scanner") + ;(this.regExps = e), (this.rules = n), (this.scanner = t.createOnigScanner(e)) + } + dispose() { + typeof this.scanner.dispose == "function" && this.scanner.dispose() + } + toString() { + const t = [] + for (let e = 0, n = this.rules.length; e < n; e++) t.push(" - " + this.rules[e] + ": " + this.regExps[e]) + return t.join(` +`) + } + findNextMatchSync(t, e, n) { + const o = this.scanner.findNextMatchSync(t, e, n) + return o ? { ruleId: this.rules[o.index], captureIndices: o.captureIndices } : null + } + }, + xP = class { + constructor(t, e) { + ;(this.languageId = t), (this.tokenType = e) + } + }, + kc, + rqt = + ((kc = class { + constructor(e, n) { + we(this, "_defaultAttributes") + we(this, "_embeddedLanguagesMatcher") + we( + this, + "_getBasicScopeAttributes", + new Plt((e) => { + const n = this._scopeToLanguage(e), + o = this._toStandardTokenType(e) + return new xP(n, o) + }), + ) + ;(this._defaultAttributes = new xP(e, 8)), + (this._embeddedLanguagesMatcher = new iqt(Object.entries(n || {}))) + } + getDefaultAttributes() { + return this._defaultAttributes + } + getBasicScopeAttributes(e) { + return e === null ? kc._NULL_SCOPE_METADATA : this._getBasicScopeAttributes.get(e) + } + _scopeToLanguage(e) { + return this._embeddedLanguagesMatcher.match(e) || 0 + } + _toStandardTokenType(e) { + const n = e.match(kc.STANDARD_TOKEN_TYPE_REGEXP) + if (!n) return 8 + switch (n[1]) { + case "comment": + return 1 + case "string": + return 2 + case "regex": + return 3 + case "meta.embedded": + return 0 + } + throw new Error("Unexpected match for standard token type!") + } + }), + we(kc, "_NULL_SCOPE_METADATA", new xP(0, 0)), + we(kc, "STANDARD_TOKEN_TYPE_REGEXP", /\b(comment|string|regex|meta\.embedded)\b/), + kc), + iqt = class { + constructor(t) { + we(this, "values") + we(this, "scopesRegExp") + if (t.length === 0) (this.values = null), (this.scopesRegExp = null) + else { + this.values = new Map(t) + const e = t.map(([n, o]) => Alt(n)) + e.sort(), e.reverse(), (this.scopesRegExp = new RegExp(`^((${e.join(")|(")}))($|\\.)`, "")) + } + } + match(t) { + if (!this.scopesRegExp) return + const e = t.match(this.scopesRegExp) + if (e) return this.values.get(e[1]) + } + }, + cU = class { + constructor(t, e) { + ;(this.stack = t), (this.stoppedEarly = e) + } + } +function $lt(t, e, n, o, r, i, s, a) { + const c = e.content.length + let d = !1, + u = -1 + if (s) { + const g = sqt(t, e, n, o, r, i) + ;(r = g.stack), (o = g.linePos), (n = g.isFirstLine), (u = g.anchorPosition) + } + const m = Date.now() + for (; !d; ) { + if (a !== 0 && Date.now() - m > a) return new cU(r, !0) + f() + } + return new cU(r, !1) + function f() { + const g = aqt(t, e, n, o, r, u) + if (!g) { + i.produce(r, c), (d = !0) + return + } + const b = g.captureIndices, + v = g.matchedRuleId, + w = b && b.length > 0 ? b[0].end > o : !1 + if (v === tqt) { + const _ = r.getRule(t) + i.produce(r, b[0].start), + (r = r.withContentNameScopesList(r.nameScopesList)), + mv(t, e, n, r, i, _.endCaptures, b), + i.produce(r, b[0].end) + const y = r + if (((r = r.parent), (u = y.getAnchorPos()), !w && y.getEnterPos() === o)) { + ;(r = y), i.produce(r, c), (d = !0) + return + } + } else { + const _ = t.getRule(v) + i.produce(r, b[0].start) + const y = r, + C = _.getName(e.content, b), + S = r.contentNameScopesList.pushAttributed(C, t) + if (((r = r.push(v, o, u, b[0].end === c, null, S, S)), _ instanceof YM)) { + const P = _ + mv(t, e, n, r, i, P.beginCaptures, b), i.produce(r, b[0].end), (u = b[0].end) + const R = P.getContentName(e.content, b), + T = S.pushAttributed(R, t) + if ( + ((r = r.withContentNameScopesList(T)), + P.endHasBackReferences && (r = r.withEndRule(P.getEndWithResolvedBackReferences(e.content, b))), + !w && y.hasSameRuleAs(r)) + ) { + ;(r = r.pop()), i.produce(r, c), (d = !0) + return + } + } else if (_ instanceof v_) { + const P = _ + mv(t, e, n, r, i, P.beginCaptures, b), i.produce(r, b[0].end), (u = b[0].end) + const R = P.getContentName(e.content, b), + T = S.pushAttributed(R, t) + if ( + ((r = r.withContentNameScopesList(T)), + P.whileHasBackReferences && (r = r.withEndRule(P.getWhileWithResolvedBackReferences(e.content, b))), + !w && y.hasSameRuleAs(r)) + ) { + ;(r = r.pop()), i.produce(r, c), (d = !0) + return + } + } else if ((mv(t, e, n, r, i, _.captures, b), i.produce(r, b[0].end), (r = r.pop()), !w)) { + ;(r = r.safePop()), i.produce(r, c), (d = !0) + return + } + } + b[0].end > o && ((o = b[0].end), (n = !1)) + } +} +function sqt(t, e, n, o, r, i) { + let s = r.beginRuleCapturedEOL ? 0 : -1 + const a = [] + for (let c = r; c; c = c.pop()) { + const d = c.getRule(t) + d instanceof v_ && a.push({ rule: d, stack: c }) + } + for (let c = a.pop(); c; c = a.pop()) { + const { ruleScanner: d, findOptions: u } = dqt(c.rule, t, c.stack.endRule, n, o === s), + m = d.findNextMatchSync(e, o, u) + if (m) { + if (m.ruleId !== jlt) { + r = c.stack.pop() + break + } + m.captureIndices && + m.captureIndices.length && + (i.produce(c.stack, m.captureIndices[0].start), + mv(t, e, n, c.stack, i, c.rule.whileCaptures, m.captureIndices), + i.produce(c.stack, m.captureIndices[0].end), + (s = m.captureIndices[0].end), + m.captureIndices[0].end > o && ((o = m.captureIndices[0].end), (n = !1))) + } else { + r = c.stack.pop() + break + } + } + return { stack: r, linePos: o, anchorPosition: s, isFirstLine: n } +} +function aqt(t, e, n, o, r, i) { + const s = lqt(t, e, n, o, r, i), + a = t.getInjections() + if (a.length === 0) return s + const c = cqt(a, t, e, n, o, r, i) + if (!c) return s + if (!s) return c + const d = s.captureIndices[0].start, + u = c.captureIndices[0].start + return u < d || (c.priorityMatch && u === d) ? c : s +} +function lqt(t, e, n, o, r, i) { + const s = r.getRule(t), + { ruleScanner: a, findOptions: c } = Llt(s, t, r.endRule, n, o === i), + d = a.findNextMatchSync(e, o, c) + return d ? { captureIndices: d.captureIndices, matchedRuleId: d.ruleId } : null +} +function cqt(t, e, n, o, r, i, s) { + let a = Number.MAX_VALUE, + c = null, + d, + u = 0 + const m = i.contentNameScopesList.getScopeNames() + for (let f = 0, g = t.length; f < g; f++) { + const b = t[f] + if (!b.matcher(m)) continue + const v = e.getRule(b.ruleId), + { ruleScanner: w, findOptions: _ } = Llt(v, e, null, o, r === s), + y = w.findNextMatchSync(n, r, _) + if (!y) continue + const C = y.captureIndices[0].start + if (!(C >= a) && ((a = C), (c = y.captureIndices), (d = y.ruleId), (u = b.priority), a === r)) break + } + return c ? { priorityMatch: u === -1, captureIndices: c, matchedRuleId: d } : null +} +function Llt(t, e, n, o, r) { + return { ruleScanner: t.compileAG(e, n, o, r), findOptions: 0 } +} +function dqt(t, e, n, o, r) { + return { ruleScanner: t.compileWhileAG(e, n, o, r), findOptions: 0 } +} +function mv(t, e, n, o, r, i, s) { + if (i.length === 0) return + const a = e.content, + c = Math.min(i.length, s.length), + d = [], + u = s[0].end + for (let m = 0; m < c; m++) { + const f = i[m] + if (f === null) continue + const g = s[m] + if (g.length === 0) continue + if (g.start > u) break + for (; d.length > 0 && d[d.length - 1].endPos <= g.start; ) + r.produceFromScopes(d[d.length - 1].scopes, d[d.length - 1].endPos), d.pop() + if ( + (d.length > 0 ? r.produceFromScopes(d[d.length - 1].scopes, g.start) : r.produce(o, g.start), + f.retokenizeCapturedWithRuleId) + ) { + const v = f.getName(a, s), + w = o.contentNameScopesList.pushAttributed(v, t), + _ = f.getContentName(a, s), + y = w.pushAttributed(_, t), + C = o.push(f.retokenizeCapturedWithRuleId, g.start, -1, !1, null, w, y), + S = t.createOnigString(a.substring(0, g.end)) + $lt(t, S, n && g.start === 0, g.start, C, r, !1, 0), Ilt(S) + continue + } + const b = f.getName(a, s) + if (b !== null) { + const w = (d.length > 0 ? d[d.length - 1].scopes : o.contentNameScopesList).pushAttributed(b, t) + d.push(new uqt(w, g.end)) + } + } + for (; d.length > 0; ) r.produceFromScopes(d[d.length - 1].scopes, d[d.length - 1].endPos), d.pop() +} +var uqt = class { + constructor(t, e) { + we(this, "scopes") + we(this, "endPos") + ;(this.scopes = t), (this.endPos = e) + } +} +function pqt(t, e, n, o, r, i, s, a) { + return new hqt(t, e, n, o, r, i, s, a) +} +function dU(t, e, n, o, r) { + const i = f_(e, b_), + s = Elt.getCompiledRuleId(n, o, r.repository) + for (const a of i) t.push({ debugSelector: e, matcher: a.matcher, ruleId: s, grammar: r, priority: a.priority }) +} +function b_(t, e) { + if (e.length < t.length) return !1 + let n = 0 + return t.every((o) => { + for (let r = n; r < e.length; r++) if (mqt(e[r], o)) return (n = r + 1), !0 + return !1 + }) +} +function mqt(t, e) { + if (!t) return !1 + if (t === e) return !0 + const n = e.length + return t.length > n && t.substr(0, n) === e && t[n] === "." +} +var hqt = class { + constructor(t, e, n, o, r, i, s, a) { + we(this, "_rootId") + we(this, "_lastRuleId") + we(this, "_ruleId2desc") + we(this, "_includedGrammars") + we(this, "_grammarRepository") + we(this, "_grammar") + we(this, "_injections") + we(this, "_basicScopeAttributesProvider") + we(this, "_tokenTypeMatchers") + if ( + ((this._rootScopeName = t), + (this.balancedBracketSelectors = i), + (this._onigLib = a), + (this._basicScopeAttributesProvider = new rqt(n, o)), + (this._rootId = -1), + (this._lastRuleId = 0), + (this._ruleId2desc = [null]), + (this._includedGrammars = {}), + (this._grammarRepository = s), + (this._grammar = uU(e, null)), + (this._injections = null), + (this._tokenTypeMatchers = []), + r) + ) + for (const c of Object.keys(r)) { + const d = f_(c, b_) + for (const u of d) this._tokenTypeMatchers.push({ matcher: u.matcher, type: r[c] }) + } + } + get themeProvider() { + return this._grammarRepository + } + dispose() { + for (const t of this._ruleId2desc) t && t.dispose() + } + createOnigScanner(t) { + return this._onigLib.createOnigScanner(t) + } + createOnigString(t) { + return this._onigLib.createOnigString(t) + } + getMetadataForScope(t) { + return this._basicScopeAttributesProvider.getBasicScopeAttributes(t) + } + _collectInjections() { + const t = { + lookup: (r) => (r === this._rootScopeName ? this._grammar : this.getExternalGrammar(r)), + injections: (r) => this._grammarRepository.injections(r), + }, + e = [], + n = this._rootScopeName, + o = t.lookup(n) + if (o) { + const r = o.injections + if (r) for (let s in r) dU(e, s, r[s], this, o) + const i = this._grammarRepository.injections(n) + i && + i.forEach((s) => { + const a = this.getExternalGrammar(s) + if (a) { + const c = a.injectionSelector + c && dU(e, c, a, this, a) + } + }) + } + return e.sort((r, i) => r.priority - i.priority), e + } + getInjections() { + return this._injections === null && (this._injections = this._collectInjections()), this._injections + } + registerRule(t) { + const e = ++this._lastRuleId, + n = t(e) + return (this._ruleId2desc[e] = n), n + } + getRule(t) { + return this._ruleId2desc[t] + } + getExternalGrammar(t, e) { + if (this._includedGrammars[t]) return this._includedGrammars[t] + if (this._grammarRepository) { + const n = this._grammarRepository.lookup(t) + if (n) return (this._includedGrammars[t] = uU(n, e && e.$base)), this._includedGrammars[t] + } + } + tokenizeLine(t, e, n = 0) { + const o = this._tokenize(t, e, !1, n) + return { + tokens: o.lineTokens.getResult(o.ruleStack, o.lineLength), + ruleStack: o.ruleStack, + stoppedEarly: o.stoppedEarly, + } + } + tokenizeLine2(t, e, n = 0) { + const o = this._tokenize(t, e, !0, n) + return { + tokens: o.lineTokens.getBinaryResult(o.ruleStack, o.lineLength), + ruleStack: o.ruleStack, + stoppedEarly: o.stoppedEarly, + } + } + _tokenize(t, e, n, o) { + this._rootId === -1 && + ((this._rootId = Elt.getCompiledRuleId(this._grammar.repository.$self, this, this._grammar.repository)), + this.getInjections()) + let r + if (!e || e === XM.NULL) { + r = !0 + const d = this._basicScopeAttributesProvider.getDefaultAttributes(), + u = this.themeProvider.getDefaults(), + m = sf.set(0, d.languageId, d.tokenType, null, u.fontStyle, u.foregroundId, u.backgroundId), + f = this.getRule(this._rootId).getName(null, null) + let g + f ? (g = Tv.createRootAndLookUpScopeName(f, m, this)) : (g = Tv.createRoot("unknown", m)), + (e = new XM(null, this._rootId, -1, -1, !1, null, g, g)) + } else (r = !1), e.reset() + t = + t + + ` +` + const i = this.createOnigString(t), + s = i.content.length, + a = new gqt(n, t, this._tokenTypeMatchers, this.balancedBracketSelectors), + c = $lt(this, i, r, 0, e, a, !0, o) + return Ilt(i), { lineLength: s, lineTokens: a, ruleStack: c.stack, stoppedEarly: c.stoppedEarly } + } +} +function uU(t, e) { + return ( + (t = EUt(t)), + (t.repository = t.repository || {}), + (t.repository.$self = { + $vscodeTextmateLocation: t.$vscodeTextmateLocation, + patterns: t.patterns, + name: t.scopeName, + }), + (t.repository.$base = e || t.repository.$self), + t + ) +} +var Tv = class wl { + constructor(e, n, o) { + ;(this.parent = e), (this.scopePath = n), (this.tokenAttributes = o) + } + static fromExtension(e, n) { + let o = e, + r = (e == null ? void 0 : e.scopePath) ?? null + for (const i of n) (r = kP.push(r, i.scopeNames)), (o = new wl(o, r, i.encodedTokenAttributes)) + return o + } + static createRoot(e, n) { + return new wl(null, new kP(null, e), n) + } + static createRootAndLookUpScopeName(e, n, o) { + const r = o.getMetadataForScope(e), + i = new kP(null, e), + s = o.themeProvider.themeMatch(i), + a = wl.mergeAttributes(n, r, s) + return new wl(null, i, a) + } + get scopeName() { + return this.scopePath.scopeName + } + toString() { + return this.getScopeNames().join(" ") + } + equals(e) { + return wl.equals(this, e) + } + static equals(e, n) { + do { + if (e === n || (!e && !n)) return !0 + if (!e || !n || e.scopeName !== n.scopeName || e.tokenAttributes !== n.tokenAttributes) return !1 + ;(e = e.parent), (n = n.parent) + } while (!0) + } + static mergeAttributes(e, n, o) { + let r = -1, + i = 0, + s = 0 + return ( + o !== null && ((r = o.fontStyle), (i = o.foregroundId), (s = o.backgroundId)), + sf.set(e, n.languageId, n.tokenType, null, r, i, s) + ) + } + pushAttributed(e, n) { + if (e === null) return this + if (e.indexOf(" ") === -1) return wl._pushAttributed(this, e, n) + const o = e.split(/ /g) + let r = this + for (const i of o) r = wl._pushAttributed(r, i, n) + return r + } + static _pushAttributed(e, n, o) { + const r = o.getMetadataForScope(n), + i = e.scopePath.push(n), + s = o.themeProvider.themeMatch(i), + a = wl.mergeAttributes(e.tokenAttributes, r, s) + return new wl(e, i, a) + } + getScopeNames() { + return this.scopePath.getSegments() + } + getExtensionIfDefined(e) { + var r + const n = [] + let o = this + for (; o && o !== e; ) + n.push({ + encodedTokenAttributes: o.tokenAttributes, + scopeNames: o.scopePath.getExtensionIfDefined( + ((r = o.parent) == null ? void 0 : r.scopePath) ?? null, + ), + }), + (o = o.parent) + return o === e ? n.reverse() : void 0 + } + }, + sa, + XM = + ((sa = class { + constructor(e, n, o, r, i, s, a, c) { + we(this, "_stackElementBrand") + we(this, "_enterPos") + we(this, "_anchorPos") + we(this, "depth") + ;(this.parent = e), + (this.ruleId = n), + (this.beginRuleCapturedEOL = i), + (this.endRule = s), + (this.nameScopesList = a), + (this.contentNameScopesList = c), + (this.depth = this.parent ? this.parent.depth + 1 : 1), + (this._enterPos = o), + (this._anchorPos = r) + } + equals(e) { + return e === null ? !1 : sa._equals(this, e) + } + static _equals(e, n) { + return e === n + ? !0 + : this._structuralEquals(e, n) + ? Tv.equals(e.contentNameScopesList, n.contentNameScopesList) + : !1 + } + static _structuralEquals(e, n) { + do { + if (e === n || (!e && !n)) return !0 + if (!e || !n || e.depth !== n.depth || e.ruleId !== n.ruleId || e.endRule !== n.endRule) return !1 + ;(e = e.parent), (n = n.parent) + } while (!0) + } + clone() { + return this + } + static _reset(e) { + for (; e; ) (e._enterPos = -1), (e._anchorPos = -1), (e = e.parent) + } + reset() { + sa._reset(this) + } + pop() { + return this.parent + } + safePop() { + return this.parent ? this.parent : this + } + push(e, n, o, r, i, s, a) { + return new sa(this, e, n, o, r, i, s, a) + } + getEnterPos() { + return this._enterPos + } + getAnchorPos() { + return this._anchorPos + } + getRule(e) { + return e.getRule(this.ruleId) + } + toString() { + const e = [] + return this._writeString(e, 0), "[" + e.join(",") + "]" + } + _writeString(e, n) { + var o, r + return ( + this.parent && (n = this.parent._writeString(e, n)), + (e[n++] = + `(${this.ruleId}, ${(o = this.nameScopesList) == null ? void 0 : o.toString()}, ${(r = this.contentNameScopesList) == null ? void 0 : r.toString()})`), + n + ) + } + withContentNameScopesList(e) { + return this.contentNameScopesList === e + ? this + : this.parent.push( + this.ruleId, + this._enterPos, + this._anchorPos, + this.beginRuleCapturedEOL, + this.endRule, + this.nameScopesList, + e, + ) + } + withEndRule(e) { + return this.endRule === e + ? this + : new sa( + this.parent, + this.ruleId, + this._enterPos, + this._anchorPos, + this.beginRuleCapturedEOL, + e, + this.nameScopesList, + this.contentNameScopesList, + ) + } + hasSameRuleAs(e) { + let n = this + for (; n && n._enterPos === e._enterPos; ) { + if (n.ruleId === e.ruleId) return !0 + n = n.parent + } + return !1 + } + toStateStackFrame() { + var e, n, o + return { + ruleId: this.ruleId, + beginRuleCapturedEOL: this.beginRuleCapturedEOL, + endRule: this.endRule, + nameScopesList: + ((n = this.nameScopesList) == null + ? void 0 + : n.getExtensionIfDefined( + ((e = this.parent) == null ? void 0 : e.nameScopesList) ?? null, + )) ?? [], + contentNameScopesList: + ((o = this.contentNameScopesList) == null + ? void 0 + : o.getExtensionIfDefined(this.nameScopesList)) ?? [], + } + } + static pushFrame(e, n) { + const o = Tv.fromExtension((e == null ? void 0 : e.nameScopesList) ?? null, n.nameScopesList) + return new sa( + e, + n.ruleId, + n.enterPos ?? -1, + n.anchorPos ?? -1, + n.beginRuleCapturedEOL, + n.endRule, + o, + Tv.fromExtension(o, n.contentNameScopesList), + ) + } + }), + we(sa, "NULL", new sa(null, 0, 0, 0, !1, null, null, null)), + sa), + fqt = class { + constructor(t, e) { + we(this, "balancedBracketScopes") + we(this, "unbalancedBracketScopes") + we(this, "allowAny", !1) + ;(this.balancedBracketScopes = t.flatMap((n) => + n === "*" ? ((this.allowAny = !0), []) : f_(n, b_).map((o) => o.matcher), + )), + (this.unbalancedBracketScopes = e.flatMap((n) => f_(n, b_).map((o) => o.matcher))) + } + get matchesAlways() { + return this.allowAny && this.unbalancedBracketScopes.length === 0 + } + get matchesNever() { + return this.balancedBracketScopes.length === 0 && !this.allowAny + } + match(t) { + for (const e of this.unbalancedBracketScopes) if (e(t)) return !1 + for (const e of this.balancedBracketScopes) if (e(t)) return !0 + return this.allowAny + } + }, + gqt = class { + constructor(t, e, n, o) { + we(this, "_emitBinaryTokens") + we(this, "_lineText") + we(this, "_tokens") + we(this, "_binaryTokens") + we(this, "_lastTokenEndIndex") + we(this, "_tokenTypeOverrides") + ;(this.balancedBracketSelectors = o), + (this._emitBinaryTokens = t), + (this._tokenTypeOverrides = n), + (this._lineText = null), + (this._tokens = []), + (this._binaryTokens = []), + (this._lastTokenEndIndex = 0) + } + produce(t, e) { + this.produceFromScopes(t.contentNameScopesList, e) + } + produceFromScopes(t, e) { + var o + if (this._lastTokenEndIndex >= e) return + if (this._emitBinaryTokens) { + let r = (t == null ? void 0 : t.tokenAttributes) ?? 0, + i = !1 + if ( + ((o = this.balancedBracketSelectors) != null && o.matchesAlways && (i = !0), + this._tokenTypeOverrides.length > 0 || + (this.balancedBracketSelectors && + !this.balancedBracketSelectors.matchesAlways && + !this.balancedBracketSelectors.matchesNever)) + ) { + const s = (t == null ? void 0 : t.getScopeNames()) ?? [] + for (const a of this._tokenTypeOverrides) a.matcher(s) && (r = sf.set(r, 0, a.type, null, -1, 0, 0)) + this.balancedBracketSelectors && (i = this.balancedBracketSelectors.match(s)) + } + if ( + (i && (r = sf.set(r, 0, 8, i, -1, 0, 0)), + this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === r) + ) { + this._lastTokenEndIndex = e + return + } + this._binaryTokens.push(this._lastTokenEndIndex), + this._binaryTokens.push(r), + (this._lastTokenEndIndex = e) + return + } + const n = (t == null ? void 0 : t.getScopeNames()) ?? [] + this._tokens.push({ startIndex: this._lastTokenEndIndex, endIndex: e, scopes: n }), + (this._lastTokenEndIndex = e) + } + getResult(t, e) { + return ( + this._tokens.length > 0 && + this._tokens[this._tokens.length - 1].startIndex === e - 1 && + this._tokens.pop(), + this._tokens.length === 0 && + ((this._lastTokenEndIndex = -1), + this.produce(t, e), + (this._tokens[this._tokens.length - 1].startIndex = 0)), + this._tokens + ) + } + getBinaryResult(t, e) { + this._binaryTokens.length > 0 && + this._binaryTokens[this._binaryTokens.length - 2] === e - 1 && + (this._binaryTokens.pop(), this._binaryTokens.pop()), + this._binaryTokens.length === 0 && + ((this._lastTokenEndIndex = -1), + this.produce(t, e), + (this._binaryTokens[this._binaryTokens.length - 2] = 0)) + const n = new Uint32Array(this._binaryTokens.length) + for (let o = 0, r = this._binaryTokens.length; o < r; o++) n[o] = this._binaryTokens[o] + return n + } + }, + vqt = class { + constructor(t, e) { + we(this, "_grammars", new Map()) + we(this, "_rawGrammars", new Map()) + we(this, "_injectionGrammars", new Map()) + we(this, "_theme") + ;(this._onigLib = e), (this._theme = t) + } + dispose() { + for (const t of this._grammars.values()) t.dispose() + } + setTheme(t) { + this._theme = t + } + getColorMap() { + return this._theme.getColorMap() + } + addGrammar(t, e) { + this._rawGrammars.set(t.scopeName, t), e && this._injectionGrammars.set(t.scopeName, e) + } + lookup(t) { + return this._rawGrammars.get(t) + } + injections(t) { + return this._injectionGrammars.get(t) + } + getDefaults() { + return this._theme.getDefaults() + } + themeMatch(t) { + return this._theme.match(t) + } + grammarForScopeName(t, e, n, o, r) { + if (!this._grammars.has(t)) { + let i = this._rawGrammars.get(t) + if (!i) return null + this._grammars.set(t, pqt(t, i, e, n, o, r, this, this._onigLib)) + } + return this._grammars.get(t) + } + }, + bqt = class { + constructor(e) { + we(this, "_options") + we(this, "_syncRegistry") + we(this, "_ensureGrammarCache") + ;(this._options = e), + (this._syncRegistry = new vqt(h_.createFromRawTheme(e.theme, e.colorMap), e.onigLib)), + (this._ensureGrammarCache = new Map()) + } + dispose() { + this._syncRegistry.dispose() + } + setTheme(e, n) { + this._syncRegistry.setTheme(h_.createFromRawTheme(e, n)) + } + getColorMap() { + return this._syncRegistry.getColorMap() + } + loadGrammarWithEmbeddedLanguages(e, n, o) { + return this.loadGrammarWithConfiguration(e, n, { embeddedLanguages: o }) + } + loadGrammarWithConfiguration(e, n, o) { + return this._loadGrammar( + e, + n, + o.embeddedLanguages, + o.tokenTypes, + new fqt(o.balancedBracketSelectors || [], o.unbalancedBracketSelectors || []), + ) + } + loadGrammar(e) { + return this._loadGrammar(e, 0, null, null, null) + } + _loadGrammar(e, n, o, r, i) { + const s = new HUt(this._syncRegistry, e) + for (; s.Q.length > 0; ) s.Q.map((a) => this._loadSingleGrammar(a.scopeName)), s.processQueue() + return this._grammarForScopeName(e, n, o, r, i) + } + _loadSingleGrammar(e) { + this._ensureGrammarCache.has(e) || (this._doLoadSingleGrammar(e), this._ensureGrammarCache.set(e, !0)) + } + _doLoadSingleGrammar(e) { + const n = this._options.loadGrammar(e) + if (n) { + const o = typeof this._options.getInjections == "function" ? this._options.getInjections(e) : void 0 + this._syncRegistry.addGrammar(n, o) + } + } + addGrammar(e, n = [], o = 0, r = null) { + return this._syncRegistry.addGrammar(e, n), this._grammarForScopeName(e.scopeName, o, r) + } + _grammarForScopeName(e, n = 0, o = null, r = null, i = null) { + return this._syncRegistry.grammarForScopeName(e, n, o, r, i) + } + }, + JM = XM.NULL +const yqt = [ + "area", + "base", + "basefont", + "bgsound", + "br", + "col", + "command", + "embed", + "frame", + "hr", + "image", + "img", + "input", + "keygen", + "link", + "meta", + "param", + "source", + "track", + "wbr", +] +class ly { + constructor(e, n, o) { + ;(this.normal = n), (this.property = e), o && (this.space = o) + } +} +ly.prototype.normal = {} +ly.prototype.property = {} +ly.prototype.space = void 0 +function Dlt(t, e) { + const n = {}, + o = {} + for (const r of t) Object.assign(n, r.property), Object.assign(o, r.normal) + return new ly(n, o, e) +} +function bb(t) { + return t.toLowerCase() +} +class ys { + constructor(e, n) { + ;(this.attribute = n), (this.property = e) + } +} +ys.prototype.attribute = "" +ys.prototype.booleanish = !1 +ys.prototype.boolean = !1 +ys.prototype.commaOrSpaceSeparated = !1 +ys.prototype.commaSeparated = !1 +ys.prototype.defined = !1 +ys.prototype.mustUseProperty = !1 +ys.prototype.number = !1 +ys.prototype.overloadedBoolean = !1 +ys.prototype.property = "" +ys.prototype.spaceSeparated = !1 +ys.prototype.space = void 0 +let kqt = 0 +const mn = Xp(), + ar = Xp(), + ej = Xp(), + Ue = Xp(), + vo = Xp(), + bh = Xp(), + Ps = Xp() +function Xp() { + return 2 ** ++kqt +} +const tj = Object.freeze( + Object.defineProperty( + { + __proto__: null, + boolean: mn, + booleanish: ar, + commaOrSpaceSeparated: Ps, + commaSeparated: bh, + number: Ue, + overloadedBoolean: ej, + spaceSeparated: vo, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + wP = Object.keys(tj) +class o$ extends ys { + constructor(e, n, o, r) { + let i = -1 + if ((super(e, n), pU(this, "space", r), typeof o == "number")) + for (; ++i < wP.length; ) { + const s = wP[i] + pU(this, wP[i], (o & tj[s]) === tj[s]) + } + } +} +o$.prototype.defined = !0 +function pU(t, e, n) { + n && (t[e] = n) +} +function Bf(t) { + const e = {}, + n = {} + for (const [o, r] of Object.entries(t.properties)) { + const i = new o$(o, t.transform(t.attributes || {}, o), r, t.space) + t.mustUseProperty && t.mustUseProperty.includes(o) && (i.mustUseProperty = !0), + (e[o] = i), + (n[bb(o)] = o), + (n[bb(i.attribute)] = o) + } + return new ly(e, n, t.space) +} +const Nlt = Bf({ + properties: { + ariaActiveDescendant: null, + ariaAtomic: ar, + ariaAutoComplete: null, + ariaBusy: ar, + ariaChecked: ar, + ariaColCount: Ue, + ariaColIndex: Ue, + ariaColSpan: Ue, + ariaControls: vo, + ariaCurrent: null, + ariaDescribedBy: vo, + ariaDetails: null, + ariaDisabled: ar, + ariaDropEffect: vo, + ariaErrorMessage: null, + ariaExpanded: ar, + ariaFlowTo: vo, + ariaGrabbed: ar, + ariaHasPopup: null, + ariaHidden: ar, + ariaInvalid: null, + ariaKeyShortcuts: null, + ariaLabel: null, + ariaLabelledBy: vo, + ariaLevel: Ue, + ariaLive: null, + ariaModal: ar, + ariaMultiLine: ar, + ariaMultiSelectable: ar, + ariaOrientation: null, + ariaOwns: vo, + ariaPlaceholder: null, + ariaPosInSet: Ue, + ariaPressed: ar, + ariaReadOnly: ar, + ariaRelevant: null, + ariaRequired: ar, + ariaRoleDescription: vo, + ariaRowCount: Ue, + ariaRowIndex: Ue, + ariaRowSpan: Ue, + ariaSelected: ar, + ariaSetSize: Ue, + ariaSort: null, + ariaValueMax: Ue, + ariaValueMin: Ue, + ariaValueNow: Ue, + ariaValueText: null, + role: null, + }, + transform(t, e) { + return e === "role" ? e : "aria-" + e.slice(4).toLowerCase() + }, +}) +function Olt(t, e) { + return e in t ? t[e] : e +} +function Flt(t, e) { + return Olt(t, e.toLowerCase()) +} +const xqt = Bf({ + attributes: { acceptcharset: "accept-charset", classname: "class", htmlfor: "for", httpequiv: "http-equiv" }, + mustUseProperty: ["checked", "multiple", "muted", "selected"], + properties: { + abbr: null, + accept: bh, + acceptCharset: vo, + accessKey: vo, + action: null, + allow: null, + allowFullScreen: mn, + allowPaymentRequest: mn, + allowUserMedia: mn, + alt: null, + as: null, + async: mn, + autoCapitalize: null, + autoComplete: vo, + autoFocus: mn, + autoPlay: mn, + blocking: vo, + capture: null, + charSet: null, + checked: mn, + cite: null, + className: vo, + cols: Ue, + colSpan: null, + content: null, + contentEditable: ar, + controls: mn, + controlsList: vo, + coords: Ue | bh, + crossOrigin: null, + data: null, + dateTime: null, + decoding: null, + default: mn, + defer: mn, + dir: null, + dirName: null, + disabled: mn, + download: ej, + draggable: ar, + encType: null, + enterKeyHint: null, + fetchPriority: null, + form: null, + formAction: null, + formEncType: null, + formMethod: null, + formNoValidate: mn, + formTarget: null, + headers: vo, + height: Ue, + hidden: ej, + high: Ue, + href: null, + hrefLang: null, + htmlFor: vo, + httpEquiv: vo, + id: null, + imageSizes: null, + imageSrcSet: null, + inert: mn, + inputMode: null, + integrity: null, + is: null, + isMap: mn, + itemId: null, + itemProp: vo, + itemRef: vo, + itemScope: mn, + itemType: vo, + kind: null, + label: null, + lang: null, + language: null, + list: null, + loading: null, + loop: mn, + low: Ue, + manifest: null, + max: null, + maxLength: Ue, + media: null, + method: null, + min: null, + minLength: Ue, + multiple: mn, + muted: mn, + name: null, + nonce: null, + noModule: mn, + noValidate: mn, + onAbort: null, + onAfterPrint: null, + onAuxClick: null, + onBeforeMatch: null, + onBeforePrint: null, + onBeforeToggle: null, + onBeforeUnload: null, + onBlur: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onContextLost: null, + onContextMenu: null, + onContextRestored: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnded: null, + onError: null, + onFocus: null, + onFormData: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLanguageChange: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadEnd: null, + onLoadStart: null, + onMessage: null, + onMessageError: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRejectionHandled: null, + onReset: null, + onResize: null, + onScroll: null, + onScrollEnd: null, + onSecurityPolicyViolation: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onSlotChange: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnhandledRejection: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onWheel: null, + open: mn, + optimum: Ue, + pattern: null, + ping: vo, + placeholder: null, + playsInline: mn, + popover: null, + popoverTarget: null, + popoverTargetAction: null, + poster: null, + preload: null, + readOnly: mn, + referrerPolicy: null, + rel: vo, + required: mn, + reversed: mn, + rows: Ue, + rowSpan: Ue, + sandbox: vo, + scope: null, + scoped: mn, + seamless: mn, + selected: mn, + shadowRootClonable: mn, + shadowRootDelegatesFocus: mn, + shadowRootMode: null, + shape: null, + size: Ue, + sizes: null, + slot: null, + span: Ue, + spellCheck: ar, + src: null, + srcDoc: null, + srcLang: null, + srcSet: null, + start: Ue, + step: null, + style: null, + tabIndex: Ue, + target: null, + title: null, + translate: null, + type: null, + typeMustMatch: mn, + useMap: null, + value: ar, + width: Ue, + wrap: null, + writingSuggestions: null, + align: null, + aLink: null, + archive: vo, + axis: null, + background: null, + bgColor: null, + border: Ue, + borderColor: null, + bottomMargin: Ue, + cellPadding: null, + cellSpacing: null, + char: null, + charOff: null, + classId: null, + clear: null, + code: null, + codeBase: null, + codeType: null, + color: null, + compact: mn, + declare: mn, + event: null, + face: null, + frame: null, + frameBorder: null, + hSpace: Ue, + leftMargin: Ue, + link: null, + longDesc: null, + lowSrc: null, + marginHeight: Ue, + marginWidth: Ue, + noResize: mn, + noHref: mn, + noShade: mn, + noWrap: mn, + object: null, + profile: null, + prompt: null, + rev: null, + rightMargin: Ue, + rules: null, + scheme: null, + scrolling: ar, + standby: null, + summary: null, + text: null, + topMargin: Ue, + valueType: null, + version: null, + vAlign: null, + vLink: null, + vSpace: Ue, + allowTransparency: null, + autoCorrect: null, + autoSave: null, + disablePictureInPicture: mn, + disableRemotePlayback: mn, + prefix: null, + property: null, + results: Ue, + security: null, + unselectable: null, + }, + space: "html", + transform: Flt, + }), + wqt = Bf({ + attributes: { + accentHeight: "accent-height", + alignmentBaseline: "alignment-baseline", + arabicForm: "arabic-form", + baselineShift: "baseline-shift", + capHeight: "cap-height", + className: "class", + clipPath: "clip-path", + clipRule: "clip-rule", + colorInterpolation: "color-interpolation", + colorInterpolationFilters: "color-interpolation-filters", + colorProfile: "color-profile", + colorRendering: "color-rendering", + crossOrigin: "crossorigin", + dataType: "datatype", + dominantBaseline: "dominant-baseline", + enableBackground: "enable-background", + fillOpacity: "fill-opacity", + fillRule: "fill-rule", + floodColor: "flood-color", + floodOpacity: "flood-opacity", + fontFamily: "font-family", + fontSize: "font-size", + fontSizeAdjust: "font-size-adjust", + fontStretch: "font-stretch", + fontStyle: "font-style", + fontVariant: "font-variant", + fontWeight: "font-weight", + glyphName: "glyph-name", + glyphOrientationHorizontal: "glyph-orientation-horizontal", + glyphOrientationVertical: "glyph-orientation-vertical", + hrefLang: "hreflang", + horizAdvX: "horiz-adv-x", + horizOriginX: "horiz-origin-x", + horizOriginY: "horiz-origin-y", + imageRendering: "image-rendering", + letterSpacing: "letter-spacing", + lightingColor: "lighting-color", + markerEnd: "marker-end", + markerMid: "marker-mid", + markerStart: "marker-start", + navDown: "nav-down", + navDownLeft: "nav-down-left", + navDownRight: "nav-down-right", + navLeft: "nav-left", + navNext: "nav-next", + navPrev: "nav-prev", + navRight: "nav-right", + navUp: "nav-up", + navUpLeft: "nav-up-left", + navUpRight: "nav-up-right", + onAbort: "onabort", + onActivate: "onactivate", + onAfterPrint: "onafterprint", + onBeforePrint: "onbeforeprint", + onBegin: "onbegin", + onCancel: "oncancel", + onCanPlay: "oncanplay", + onCanPlayThrough: "oncanplaythrough", + onChange: "onchange", + onClick: "onclick", + onClose: "onclose", + onCopy: "oncopy", + onCueChange: "oncuechange", + onCut: "oncut", + onDblClick: "ondblclick", + onDrag: "ondrag", + onDragEnd: "ondragend", + onDragEnter: "ondragenter", + onDragExit: "ondragexit", + onDragLeave: "ondragleave", + onDragOver: "ondragover", + onDragStart: "ondragstart", + onDrop: "ondrop", + onDurationChange: "ondurationchange", + onEmptied: "onemptied", + onEnd: "onend", + onEnded: "onended", + onError: "onerror", + onFocus: "onfocus", + onFocusIn: "onfocusin", + onFocusOut: "onfocusout", + onHashChange: "onhashchange", + onInput: "oninput", + onInvalid: "oninvalid", + onKeyDown: "onkeydown", + onKeyPress: "onkeypress", + onKeyUp: "onkeyup", + onLoad: "onload", + onLoadedData: "onloadeddata", + onLoadedMetadata: "onloadedmetadata", + onLoadStart: "onloadstart", + onMessage: "onmessage", + onMouseDown: "onmousedown", + onMouseEnter: "onmouseenter", + onMouseLeave: "onmouseleave", + onMouseMove: "onmousemove", + onMouseOut: "onmouseout", + onMouseOver: "onmouseover", + onMouseUp: "onmouseup", + onMouseWheel: "onmousewheel", + onOffline: "onoffline", + onOnline: "ononline", + onPageHide: "onpagehide", + onPageShow: "onpageshow", + onPaste: "onpaste", + onPause: "onpause", + onPlay: "onplay", + onPlaying: "onplaying", + onPopState: "onpopstate", + onProgress: "onprogress", + onRateChange: "onratechange", + onRepeat: "onrepeat", + onReset: "onreset", + onResize: "onresize", + onScroll: "onscroll", + onSeeked: "onseeked", + onSeeking: "onseeking", + onSelect: "onselect", + onShow: "onshow", + onStalled: "onstalled", + onStorage: "onstorage", + onSubmit: "onsubmit", + onSuspend: "onsuspend", + onTimeUpdate: "ontimeupdate", + onToggle: "ontoggle", + onUnload: "onunload", + onVolumeChange: "onvolumechange", + onWaiting: "onwaiting", + onZoom: "onzoom", + overlinePosition: "overline-position", + overlineThickness: "overline-thickness", + paintOrder: "paint-order", + panose1: "panose-1", + pointerEvents: "pointer-events", + referrerPolicy: "referrerpolicy", + renderingIntent: "rendering-intent", + shapeRendering: "shape-rendering", + stopColor: "stop-color", + stopOpacity: "stop-opacity", + strikethroughPosition: "strikethrough-position", + strikethroughThickness: "strikethrough-thickness", + strokeDashArray: "stroke-dasharray", + strokeDashOffset: "stroke-dashoffset", + strokeLineCap: "stroke-linecap", + strokeLineJoin: "stroke-linejoin", + strokeMiterLimit: "stroke-miterlimit", + strokeOpacity: "stroke-opacity", + strokeWidth: "stroke-width", + tabIndex: "tabindex", + textAnchor: "text-anchor", + textDecoration: "text-decoration", + textRendering: "text-rendering", + transformOrigin: "transform-origin", + typeOf: "typeof", + underlinePosition: "underline-position", + underlineThickness: "underline-thickness", + unicodeBidi: "unicode-bidi", + unicodeRange: "unicode-range", + unitsPerEm: "units-per-em", + vAlphabetic: "v-alphabetic", + vHanging: "v-hanging", + vIdeographic: "v-ideographic", + vMathematical: "v-mathematical", + vectorEffect: "vector-effect", + vertAdvY: "vert-adv-y", + vertOriginX: "vert-origin-x", + vertOriginY: "vert-origin-y", + wordSpacing: "word-spacing", + writingMode: "writing-mode", + xHeight: "x-height", + playbackOrder: "playbackorder", + timelineBegin: "timelinebegin", + }, + properties: { + about: Ps, + accentHeight: Ue, + accumulate: null, + additive: null, + alignmentBaseline: null, + alphabetic: Ue, + amplitude: Ue, + arabicForm: null, + ascent: Ue, + attributeName: null, + attributeType: null, + azimuth: Ue, + bandwidth: null, + baselineShift: null, + baseFrequency: null, + baseProfile: null, + bbox: null, + begin: null, + bias: Ue, + by: null, + calcMode: null, + capHeight: Ue, + className: vo, + clip: null, + clipPath: null, + clipPathUnits: null, + clipRule: null, + color: null, + colorInterpolation: null, + colorInterpolationFilters: null, + colorProfile: null, + colorRendering: null, + content: null, + contentScriptType: null, + contentStyleType: null, + crossOrigin: null, + cursor: null, + cx: null, + cy: null, + d: null, + dataType: null, + defaultAction: null, + descent: Ue, + diffuseConstant: Ue, + direction: null, + display: null, + dur: null, + divisor: Ue, + dominantBaseline: null, + download: mn, + dx: null, + dy: null, + edgeMode: null, + editable: null, + elevation: Ue, + enableBackground: null, + end: null, + event: null, + exponent: Ue, + externalResourcesRequired: null, + fill: null, + fillOpacity: Ue, + fillRule: null, + filter: null, + filterRes: null, + filterUnits: null, + floodColor: null, + floodOpacity: null, + focusable: null, + focusHighlight: null, + fontFamily: null, + fontSize: null, + fontSizeAdjust: null, + fontStretch: null, + fontStyle: null, + fontVariant: null, + fontWeight: null, + format: null, + fr: null, + from: null, + fx: null, + fy: null, + g1: bh, + g2: bh, + glyphName: bh, + glyphOrientationHorizontal: null, + glyphOrientationVertical: null, + glyphRef: null, + gradientTransform: null, + gradientUnits: null, + handler: null, + hanging: Ue, + hatchContentUnits: null, + hatchUnits: null, + height: null, + href: null, + hrefLang: null, + horizAdvX: Ue, + horizOriginX: Ue, + horizOriginY: Ue, + id: null, + ideographic: Ue, + imageRendering: null, + initialVisibility: null, + in: null, + in2: null, + intercept: Ue, + k: Ue, + k1: Ue, + k2: Ue, + k3: Ue, + k4: Ue, + kernelMatrix: Ps, + kernelUnitLength: null, + keyPoints: null, + keySplines: null, + keyTimes: null, + kerning: null, + lang: null, + lengthAdjust: null, + letterSpacing: null, + lightingColor: null, + limitingConeAngle: Ue, + local: null, + markerEnd: null, + markerMid: null, + markerStart: null, + markerHeight: null, + markerUnits: null, + markerWidth: null, + mask: null, + maskContentUnits: null, + maskUnits: null, + mathematical: null, + max: null, + media: null, + mediaCharacterEncoding: null, + mediaContentEncodings: null, + mediaSize: Ue, + mediaTime: null, + method: null, + min: null, + mode: null, + name: null, + navDown: null, + navDownLeft: null, + navDownRight: null, + navLeft: null, + navNext: null, + navPrev: null, + navRight: null, + navUp: null, + navUpLeft: null, + navUpRight: null, + numOctaves: null, + observer: null, + offset: null, + onAbort: null, + onActivate: null, + onAfterPrint: null, + onBeforePrint: null, + onBegin: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnd: null, + onEnded: null, + onError: null, + onFocus: null, + onFocusIn: null, + onFocusOut: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadStart: null, + onMessage: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onMouseWheel: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRepeat: null, + onReset: null, + onResize: null, + onScroll: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onShow: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onZoom: null, + opacity: null, + operator: null, + order: null, + orient: null, + orientation: null, + origin: null, + overflow: null, + overlay: null, + overlinePosition: Ue, + overlineThickness: Ue, + paintOrder: null, + panose1: null, + path: null, + pathLength: Ue, + patternContentUnits: null, + patternTransform: null, + patternUnits: null, + phase: null, + ping: vo, + pitch: null, + playbackOrder: null, + pointerEvents: null, + points: null, + pointsAtX: Ue, + pointsAtY: Ue, + pointsAtZ: Ue, + preserveAlpha: null, + preserveAspectRatio: null, + primitiveUnits: null, + propagate: null, + property: Ps, + r: null, + radius: null, + referrerPolicy: null, + refX: null, + refY: null, + rel: Ps, + rev: Ps, + renderingIntent: null, + repeatCount: null, + repeatDur: null, + requiredExtensions: Ps, + requiredFeatures: Ps, + requiredFonts: Ps, + requiredFormats: Ps, + resource: null, + restart: null, + result: null, + rotate: null, + rx: null, + ry: null, + scale: null, + seed: null, + shapeRendering: null, + side: null, + slope: null, + snapshotTime: null, + specularConstant: Ue, + specularExponent: Ue, + spreadMethod: null, + spacing: null, + startOffset: null, + stdDeviation: null, + stemh: null, + stemv: null, + stitchTiles: null, + stopColor: null, + stopOpacity: null, + strikethroughPosition: Ue, + strikethroughThickness: Ue, + string: null, + stroke: null, + strokeDashArray: Ps, + strokeDashOffset: null, + strokeLineCap: null, + strokeLineJoin: null, + strokeMiterLimit: Ue, + strokeOpacity: Ue, + strokeWidth: null, + style: null, + surfaceScale: Ue, + syncBehavior: null, + syncBehaviorDefault: null, + syncMaster: null, + syncTolerance: null, + syncToleranceDefault: null, + systemLanguage: Ps, + tabIndex: Ue, + tableValues: null, + target: null, + targetX: Ue, + targetY: Ue, + textAnchor: null, + textDecoration: null, + textRendering: null, + textLength: null, + timelineBegin: null, + title: null, + transformBehavior: null, + type: null, + typeOf: Ps, + to: null, + transform: null, + transformOrigin: null, + u1: null, + u2: null, + underlinePosition: Ue, + underlineThickness: Ue, + unicode: null, + unicodeBidi: null, + unicodeRange: null, + unitsPerEm: Ue, + values: null, + vAlphabetic: Ue, + vMathematical: Ue, + vectorEffect: null, + vHanging: Ue, + vIdeographic: Ue, + version: null, + vertAdvY: Ue, + vertOriginX: Ue, + vertOriginY: Ue, + viewBox: null, + viewTarget: null, + visibility: null, + width: null, + widths: null, + wordSpacing: null, + writingMode: null, + x: null, + x1: null, + x2: null, + xChannelSelector: null, + xHeight: Ue, + y: null, + y1: null, + y2: null, + yChannelSelector: null, + z: null, + zoomAndPan: null, + }, + space: "svg", + transform: Olt, + }), + Blt = Bf({ + properties: { + xLinkActuate: null, + xLinkArcRole: null, + xLinkHref: null, + xLinkRole: null, + xLinkShow: null, + xLinkTitle: null, + xLinkType: null, + }, + space: "xlink", + transform(t, e) { + return "xlink:" + e.slice(5).toLowerCase() + }, + }), + Ult = Bf({ + attributes: { xmlnsxlink: "xmlns:xlink" }, + properties: { xmlnsXLink: null, xmlns: null }, + space: "xmlns", + transform: Flt, + }), + qlt = Bf({ + properties: { xmlBase: null, xmlLang: null, xmlSpace: null }, + space: "xml", + transform(t, e) { + return "xml:" + e.slice(3).toLowerCase() + }, + }), + _qt = { + classId: "classID", + dataType: "datatype", + itemId: "itemID", + strokeDashArray: "strokeDasharray", + strokeDashOffset: "strokeDashoffset", + strokeLineCap: "strokeLinecap", + strokeLineJoin: "strokeLinejoin", + strokeMiterLimit: "strokeMiterlimit", + typeOf: "typeof", + xLinkActuate: "xlinkActuate", + xLinkArcRole: "xlinkArcrole", + xLinkHref: "xlinkHref", + xLinkRole: "xlinkRole", + xLinkShow: "xlinkShow", + xLinkTitle: "xlinkTitle", + xLinkType: "xlinkType", + xmlnsXLink: "xmlnsXlink", + }, + Cqt = /[A-Z]/g, + mU = /-[a-z]/g, + Sqt = /^data[-\w.:]+$/i +function r$(t, e) { + const n = bb(e) + let o = e, + r = ys + if (n in t.normal) return t.property[t.normal[n]] + if (n.length > 4 && n.slice(0, 4) === "data" && Sqt.test(e)) { + if (e.charAt(4) === "-") { + const i = e.slice(5).replace(mU, Pqt) + o = "data" + i.charAt(0).toUpperCase() + i.slice(1) + } else { + const i = e.slice(4) + if (!mU.test(i)) { + let s = i.replace(Cqt, Aqt) + s.charAt(0) !== "-" && (s = "-" + s), (e = "data" + s) + } + } + r = o$ + } + return new r(o, e) +} +function Aqt(t) { + return "-" + t.toLowerCase() +} +function Pqt(t) { + return t.charAt(1).toUpperCase() +} +const i$ = Dlt([Nlt, xqt, Blt, Ult, qlt], "html"), + Uf = Dlt([Nlt, wqt, Blt, Ult, qlt], "svg"), + hU = {}.hasOwnProperty +function Rqt(t, e) { + const n = e || {} + function o(r, ...i) { + let s = o.invalid + const a = o.handlers + if (r && hU.call(r, t)) { + const c = String(r[t]) + s = hU.call(a, c) ? a[c] : o.unknown + } + if (s) return s.call(this, r, ...i) + } + return (o.handlers = n.handlers || {}), (o.invalid = n.invalid), (o.unknown = n.unknown), o +} +const Tqt = /["&'<>`]/g, + Iqt = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, + Mqt = /[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g, + jqt = /[|\\{}()[\]^$+*?.]/g, + fU = new WeakMap() +function Eqt(t, e) { + if (((t = t.replace(e.subset ? zqt(e.subset) : Tqt, o)), e.subset || e.escapeOnly)) return t + return t.replace(Iqt, n).replace(Mqt, o) + function n(r, i, s) { + return e.format((r.charCodeAt(0) - 55296) * 1024 + r.charCodeAt(1) - 56320 + 65536, s.charCodeAt(i + 2), e) + } + function o(r, i, s) { + return e.format(r.charCodeAt(0), s.charCodeAt(i + 1), e) + } +} +function zqt(t) { + let e = fU.get(t) + return e || ((e = $qt(t)), fU.set(t, e)), e +} +function $qt(t) { + const e = [] + let n = -1 + for (; ++n < t.length; ) e.push(t[n].replace(jqt, "\\$&")) + return new RegExp("(?:" + e.join("|") + ")", "g") +} +const Lqt = /[\dA-Fa-f]/ +function Dqt(t, e, n) { + const o = "&#x" + t.toString(16).toUpperCase() + return n && e && !Lqt.test(String.fromCharCode(e)) ? o : o + ";" +} +const Nqt = /\d/ +function Oqt(t, e, n) { + const o = "&#" + String(t) + return n && e && !Nqt.test(String.fromCharCode(e)) ? o : o + ";" +} +const Fqt = [ + "AElig", + "AMP", + "Aacute", + "Acirc", + "Agrave", + "Aring", + "Atilde", + "Auml", + "COPY", + "Ccedil", + "ETH", + "Eacute", + "Ecirc", + "Egrave", + "Euml", + "GT", + "Iacute", + "Icirc", + "Igrave", + "Iuml", + "LT", + "Ntilde", + "Oacute", + "Ocirc", + "Ograve", + "Oslash", + "Otilde", + "Ouml", + "QUOT", + "REG", + "THORN", + "Uacute", + "Ucirc", + "Ugrave", + "Uuml", + "Yacute", + "aacute", + "acirc", + "acute", + "aelig", + "agrave", + "amp", + "aring", + "atilde", + "auml", + "brvbar", + "ccedil", + "cedil", + "cent", + "copy", + "curren", + "deg", + "divide", + "eacute", + "ecirc", + "egrave", + "eth", + "euml", + "frac12", + "frac14", + "frac34", + "gt", + "iacute", + "icirc", + "iexcl", + "igrave", + "iquest", + "iuml", + "laquo", + "lt", + "macr", + "micro", + "middot", + "nbsp", + "not", + "ntilde", + "oacute", + "ocirc", + "ograve", + "ordf", + "ordm", + "oslash", + "otilde", + "ouml", + "para", + "plusmn", + "pound", + "quot", + "raquo", + "reg", + "sect", + "shy", + "sup1", + "sup2", + "sup3", + "szlig", + "thorn", + "times", + "uacute", + "ucirc", + "ugrave", + "uml", + "uuml", + "yacute", + "yen", + "yuml", + ], + _P = { + nbsp: " ", + iexcl: "¡", + cent: "¢", + pound: "£", + curren: "¤", + yen: "¥", + brvbar: "¦", + sect: "§", + uml: "¨", + copy: "©", + ordf: "ª", + laquo: "«", + not: "¬", + shy: "­", + reg: "®", + macr: "¯", + deg: "°", + plusmn: "±", + sup2: "²", + sup3: "³", + acute: "´", + micro: "µ", + para: "¶", + middot: "·", + cedil: "¸", + sup1: "¹", + ordm: "º", + raquo: "»", + frac14: "¼", + frac12: "½", + frac34: "¾", + iquest: "¿", + Agrave: "À", + Aacute: "Á", + Acirc: "Â", + Atilde: "Ã", + Auml: "Ä", + Aring: "Å", + AElig: "Æ", + Ccedil: "Ç", + Egrave: "È", + Eacute: "É", + Ecirc: "Ê", + Euml: "Ë", + Igrave: "Ì", + Iacute: "Í", + Icirc: "Î", + Iuml: "Ï", + ETH: "Ð", + Ntilde: "Ñ", + Ograve: "Ò", + Oacute: "Ó", + Ocirc: "Ô", + Otilde: "Õ", + Ouml: "Ö", + times: "×", + Oslash: "Ø", + Ugrave: "Ù", + Uacute: "Ú", + Ucirc: "Û", + Uuml: "Ü", + Yacute: "Ý", + THORN: "Þ", + szlig: "ß", + agrave: "à", + aacute: "á", + acirc: "â", + atilde: "ã", + auml: "ä", + aring: "å", + aelig: "æ", + ccedil: "ç", + egrave: "è", + eacute: "é", + ecirc: "ê", + euml: "ë", + igrave: "ì", + iacute: "í", + icirc: "î", + iuml: "ï", + eth: "ð", + ntilde: "ñ", + ograve: "ò", + oacute: "ó", + ocirc: "ô", + otilde: "õ", + ouml: "ö", + divide: "÷", + oslash: "ø", + ugrave: "ù", + uacute: "ú", + ucirc: "û", + uuml: "ü", + yacute: "ý", + thorn: "þ", + yuml: "ÿ", + fnof: "ƒ", + Alpha: "Α", + Beta: "Β", + Gamma: "Γ", + Delta: "Δ", + Epsilon: "Ε", + Zeta: "Ζ", + Eta: "Η", + Theta: "Θ", + Iota: "Ι", + Kappa: "Κ", + Lambda: "Λ", + Mu: "Μ", + Nu: "Ν", + Xi: "Ξ", + Omicron: "Ο", + Pi: "Π", + Rho: "Ρ", + Sigma: "Σ", + Tau: "Τ", + Upsilon: "Υ", + Phi: "Φ", + Chi: "Χ", + Psi: "Ψ", + Omega: "Ω", + alpha: "α", + beta: "β", + gamma: "γ", + delta: "δ", + epsilon: "ε", + zeta: "ζ", + eta: "η", + theta: "θ", + iota: "ι", + kappa: "κ", + lambda: "λ", + mu: "μ", + nu: "ν", + xi: "ξ", + omicron: "ο", + pi: "π", + rho: "ρ", + sigmaf: "ς", + sigma: "σ", + tau: "τ", + upsilon: "υ", + phi: "φ", + chi: "χ", + psi: "ψ", + omega: "ω", + thetasym: "ϑ", + upsih: "ϒ", + piv: "ϖ", + bull: "•", + hellip: "…", + prime: "′", + Prime: "″", + oline: "‾", + frasl: "⁄", + weierp: "℘", + image: "ℑ", + real: "ℜ", + trade: "™", + alefsym: "ℵ", + larr: "←", + uarr: "↑", + rarr: "→", + darr: "↓", + harr: "↔", + crarr: "↵", + lArr: "⇐", + uArr: "⇑", + rArr: "⇒", + dArr: "⇓", + hArr: "⇔", + forall: "∀", + part: "∂", + exist: "∃", + empty: "∅", + nabla: "∇", + isin: "∈", + notin: "∉", + ni: "∋", + prod: "∏", + sum: "∑", + minus: "−", + lowast: "∗", + radic: "√", + prop: "∝", + infin: "∞", + ang: "∠", + and: "∧", + or: "∨", + cap: "∩", + cup: "∪", + int: "∫", + there4: "∴", + sim: "∼", + cong: "≅", + asymp: "≈", + ne: "≠", + equiv: "≡", + le: "≤", + ge: "≥", + sub: "⊂", + sup: "⊃", + nsub: "⊄", + sube: "⊆", + supe: "⊇", + oplus: "⊕", + otimes: "⊗", + perp: "⊥", + sdot: "⋅", + lceil: "⌈", + rceil: "⌉", + lfloor: "⌊", + rfloor: "⌋", + lang: "〈", + rang: "〉", + loz: "◊", + spades: "♠", + clubs: "♣", + hearts: "♥", + diams: "♦", + quot: '"', + amp: "&", + lt: "<", + gt: ">", + OElig: "Œ", + oelig: "œ", + Scaron: "Š", + scaron: "š", + Yuml: "Ÿ", + circ: "ˆ", + tilde: "˜", + ensp: " ", + emsp: " ", + thinsp: " ", + zwnj: "‌", + zwj: "‍", + lrm: "‎", + rlm: "‏", + ndash: "–", + mdash: "—", + lsquo: "‘", + rsquo: "’", + sbquo: "‚", + ldquo: "“", + rdquo: "”", + bdquo: "„", + dagger: "†", + Dagger: "‡", + permil: "‰", + lsaquo: "‹", + rsaquo: "›", + euro: "€", + }, + Bqt = ["cent", "copy", "divide", "gt", "lt", "not", "para", "times"], + Wlt = {}.hasOwnProperty, + nj = {} +let tx +for (tx in _P) Wlt.call(_P, tx) && (nj[_P[tx]] = tx) +const Uqt = /[^\dA-Za-z]/ +function qqt(t, e, n, o) { + const r = String.fromCharCode(t) + if (Wlt.call(nj, r)) { + const i = nj[r], + s = "&" + i + return n && Fqt.includes(i) && !Bqt.includes(i) && (!o || (e && e !== 61 && Uqt.test(String.fromCharCode(e)))) + ? s + : s + ";" + } + return "" +} +function Wqt(t, e, n) { + let o = Dqt(t, e, n.omitOptionalSemicolons), + r + if ( + ((n.useNamedReferences || n.useShortestReferences) && (r = qqt(t, e, n.omitOptionalSemicolons, n.attribute)), + (n.useShortestReferences || !r) && n.useShortestReferences) + ) { + const i = Oqt(t, e, n.omitOptionalSemicolons) + i.length < o.length && (o = i) + } + return r && (!n.useShortestReferences || r.length < o.length) ? r : o +} +function yh(t, e) { + return Eqt(t, Object.assign({ format: Wqt }, e)) +} +const Kqt = /^>|^->|<!--|-->|--!>|<!-$/g, + Vqt = [">"], + Hqt = ["<", ">"] +function Gqt(t, e, n, o) { + return o.settings.bogusComments + ? "<?" + yh(t.value, Object.assign({}, o.settings.characterReferences, { subset: Vqt })) + ">" + : "<!--" + t.value.replace(Kqt, r) + "-->" + function r(i) { + return yh(i, Object.assign({}, o.settings.characterReferences, { subset: Hqt })) + } +} +function Qqt(t, e, n, o) { + return "<!" + (o.settings.upperDoctype ? "DOCTYPE" : "doctype") + (o.settings.tightDoctype ? "" : " ") + "html>" +} +function y_(t, e) { + const n = String(t) + if (typeof e != "string") throw new TypeError("Expected character") + let o = 0, + r = n.indexOf(e) + for (; r !== -1; ) o++, (r = n.indexOf(e, r + e.length)) + return o +} +function gU(t) { + const e = [], + n = String(t || "") + let o = n.indexOf(","), + r = 0, + i = !1 + for (; !i; ) { + o === -1 && ((o = n.length), (i = !0)) + const s = n.slice(r, o).trim() + ;(s || !i) && e.push(s), (r = o + 1), (o = n.indexOf(",", r)) + } + return e +} +function Klt(t, e) { + const n = e || {} + return (t[t.length - 1] === "" ? [...t, ""] : t) + .join((n.padRight ? " " : "") + "," + (n.padLeft === !1 ? "" : " ")) + .trim() +} +function vU(t) { + const e = String(t || "").trim() + return e ? e.split(/[ \t\n\r\f]+/g) : [] +} +function Vlt(t) { + return t.join(" ").trim() +} +const Zqt = /[ \t\n\f\r]/g +function qC(t) { + return typeof t == "object" ? (t.type === "text" ? bU(t.value) : !1) : bU(t) +} +function bU(t) { + return t.replace(Zqt, "") === "" +} +const _r = Glt(1), + Hlt = Glt(-1), + Yqt = [] +function Glt(t) { + return e + function e(n, o, r) { + const i = n ? n.children : Yqt + let s = (o || 0) + t, + a = i[s] + if (!r) for (; a && qC(a); ) (s += t), (a = i[s]) + return a + } +} +const Xqt = {}.hasOwnProperty +function Qlt(t) { + return e + function e(n, o, r) { + return Xqt.call(t, n.tagName) && t[n.tagName](n, o, r) + } +} +const s$ = Qlt({ + body: e3t, + caption: CP, + colgroup: CP, + dd: r3t, + dt: o3t, + head: CP, + html: Jqt, + li: n3t, + optgroup: i3t, + option: s3t, + p: t3t, + rp: yU, + rt: yU, + tbody: l3t, + td: kU, + tfoot: c3t, + th: kU, + thead: a3t, + tr: d3t, +}) +function CP(t, e, n) { + const o = _r(n, e, !0) + return !o || (o.type !== "comment" && !(o.type === "text" && qC(o.value.charAt(0)))) +} +function Jqt(t, e, n) { + const o = _r(n, e) + return !o || o.type !== "comment" +} +function e3t(t, e, n) { + const o = _r(n, e) + return !o || o.type !== "comment" +} +function t3t(t, e, n) { + const o = _r(n, e) + return o + ? o.type === "element" && + (o.tagName === "address" || + o.tagName === "article" || + o.tagName === "aside" || + o.tagName === "blockquote" || + o.tagName === "details" || + o.tagName === "div" || + o.tagName === "dl" || + o.tagName === "fieldset" || + o.tagName === "figcaption" || + o.tagName === "figure" || + o.tagName === "footer" || + o.tagName === "form" || + o.tagName === "h1" || + o.tagName === "h2" || + o.tagName === "h3" || + o.tagName === "h4" || + o.tagName === "h5" || + o.tagName === "h6" || + o.tagName === "header" || + o.tagName === "hgroup" || + o.tagName === "hr" || + o.tagName === "main" || + o.tagName === "menu" || + o.tagName === "nav" || + o.tagName === "ol" || + o.tagName === "p" || + o.tagName === "pre" || + o.tagName === "section" || + o.tagName === "table" || + o.tagName === "ul") + : !n || + !( + n.type === "element" && + (n.tagName === "a" || + n.tagName === "audio" || + n.tagName === "del" || + n.tagName === "ins" || + n.tagName === "map" || + n.tagName === "noscript" || + n.tagName === "video") + ) +} +function n3t(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && o.tagName === "li") +} +function o3t(t, e, n) { + const o = _r(n, e) + return !!(o && o.type === "element" && (o.tagName === "dt" || o.tagName === "dd")) +} +function r3t(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && (o.tagName === "dt" || o.tagName === "dd")) +} +function yU(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && (o.tagName === "rp" || o.tagName === "rt")) +} +function i3t(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && o.tagName === "optgroup") +} +function s3t(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && (o.tagName === "option" || o.tagName === "optgroup")) +} +function a3t(t, e, n) { + const o = _r(n, e) + return !!(o && o.type === "element" && (o.tagName === "tbody" || o.tagName === "tfoot")) +} +function l3t(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && (o.tagName === "tbody" || o.tagName === "tfoot")) +} +function c3t(t, e, n) { + return !_r(n, e) +} +function d3t(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && o.tagName === "tr") +} +function kU(t, e, n) { + const o = _r(n, e) + return !o || (o.type === "element" && (o.tagName === "td" || o.tagName === "th")) +} +const u3t = Qlt({ body: h3t, colgroup: f3t, head: m3t, html: p3t, tbody: g3t }) +function p3t(t) { + const e = _r(t, -1) + return !e || e.type !== "comment" +} +function m3t(t) { + const e = new Set() + for (const o of t.children) + if (o.type === "element" && (o.tagName === "base" || o.tagName === "title")) { + if (e.has(o.tagName)) return !1 + e.add(o.tagName) + } + const n = t.children[0] + return !n || n.type === "element" +} +function h3t(t) { + const e = _r(t, -1, !0) + return ( + !e || + (e.type !== "comment" && + !(e.type === "text" && qC(e.value.charAt(0))) && + !( + e.type === "element" && + (e.tagName === "meta" || + e.tagName === "link" || + e.tagName === "script" || + e.tagName === "style" || + e.tagName === "template") + )) + ) +} +function f3t(t, e, n) { + const o = Hlt(n, e), + r = _r(t, -1, !0) + return n && o && o.type === "element" && o.tagName === "colgroup" && s$(o, n.children.indexOf(o), n) + ? !1 + : !!(r && r.type === "element" && r.tagName === "col") +} +function g3t(t, e, n) { + const o = Hlt(n, e), + r = _r(t, -1) + return n && + o && + o.type === "element" && + (o.tagName === "thead" || o.tagName === "tbody") && + s$(o, n.children.indexOf(o), n) + ? !1 + : !!(r && r.type === "element" && r.tagName === "tr") +} +const nx = { + name: [ + [ + ` +\f\r &/=>`.split(""), + ` +\f\r "&'/=>\``.split(""), + ], + [ + `\0 +\f\r "&'/<=>`.split(""), + `\0 +\f\r "&'/<=>\``.split(""), + ], + ], + unquoted: [ + [ + ` +\f\r &>`.split(""), + `\0 +\f\r "&'<=>\``.split(""), + ], + [ + `\0 +\f\r "&'<=>\``.split(""), + `\0 +\f\r "&'<=>\``.split(""), + ], + ], + single: [ + ["&'".split(""), "\"&'`".split("")], + ["\0&'".split(""), "\0\"&'`".split("")], + ], + double: [ + ['"&'.split(""), "\"&'`".split("")], + ['\0"&'.split(""), "\0\"&'`".split("")], + ], +} +function v3t(t, e, n, o) { + const r = o.schema, + i = r.space === "svg" ? !1 : o.settings.omitOptionalTags + let s = r.space === "svg" ? o.settings.closeEmptyElements : o.settings.voids.includes(t.tagName.toLowerCase()) + const a = [] + let c + r.space === "html" && t.tagName === "svg" && (o.schema = Uf) + const d = b3t(o, t.properties), + u = o.all(r.space === "html" && t.tagName === "template" ? t.content : t) + return ( + (o.schema = r), + u && (s = !1), + (d || !i || !u3t(t, e, n)) && + (a.push("<", t.tagName, d ? " " + d : ""), + s && + (r.space === "svg" || o.settings.closeSelfClosing) && + ((c = d.charAt(d.length - 1)), + (!o.settings.tightSelfClosing || c === "/" || (c && c !== '"' && c !== "'")) && a.push(" "), + a.push("/")), + a.push(">")), + a.push(u), + !s && (!i || !s$(t, e, n)) && a.push("</" + t.tagName + ">"), + a.join("") + ) +} +function b3t(t, e) { + const n = [] + let o = -1, + r + if (e) { + for (r in e) + if (e[r] !== null && e[r] !== void 0) { + const i = y3t(t, r, e[r]) + i && n.push(i) + } + } + for (; ++o < n.length; ) { + const i = t.settings.tightAttributes ? n[o].charAt(n[o].length - 1) : void 0 + o !== n.length - 1 && i !== '"' && i !== "'" && (n[o] += " ") + } + return n.join("") +} +function y3t(t, e, n) { + const o = r$(t.schema, e), + r = t.settings.allowParseErrors && t.schema.space === "html" ? 0 : 1, + i = t.settings.allowDangerousCharacters ? 0 : 1 + let s = t.quote, + a + if ( + (o.overloadedBoolean && (n === o.attribute || n === "") + ? (n = !0) + : (o.boolean || o.overloadedBoolean) && + (typeof n != "string" || n === o.attribute || n === "") && + (n = !!n), + n == null || n === !1 || (typeof n == "number" && Number.isNaN(n))) + ) + return "" + const c = yh(o.attribute, Object.assign({}, t.settings.characterReferences, { subset: nx.name[r][i] })) + return n === !0 || + ((n = Array.isArray(n) + ? (o.commaSeparated ? Klt : Vlt)(n, { padLeft: !t.settings.tightCommaSeparatedLists }) + : String(n)), + t.settings.collapseEmptyAttributes && !n) + ? c + : (t.settings.preferUnquoted && + (a = yh( + n, + Object.assign({}, t.settings.characterReferences, { attribute: !0, subset: nx.unquoted[r][i] }), + )), + a !== n && + (t.settings.quoteSmart && y_(n, s) > y_(n, t.alternative) && (s = t.alternative), + (a = + s + + yh( + n, + Object.assign({}, t.settings.characterReferences, { + subset: (s === "'" ? nx.single : nx.double)[r][i], + attribute: !0, + }), + ) + + s)), + c + (a && "=" + a)) +} +const k3t = ["<", "&"] +function Zlt(t, e, n, o) { + return n && n.type === "element" && (n.tagName === "script" || n.tagName === "style") + ? t.value + : yh(t.value, Object.assign({}, o.settings.characterReferences, { subset: k3t })) +} +function x3t(t, e, n, o) { + return o.settings.allowDangerousHtml ? t.value : Zlt(t, e, n, o) +} +function w3t(t, e, n, o) { + return o.all(t) +} +const _3t = Rqt("type", { + invalid: C3t, + unknown: S3t, + handlers: { comment: Gqt, doctype: Qqt, element: v3t, raw: x3t, root: w3t, text: Zlt }, +}) +function C3t(t) { + throw new Error("Expected node, not `" + t + "`") +} +function S3t(t) { + const e = t + throw new Error("Cannot compile unknown node `" + e.type + "`") +} +const A3t = {}, + P3t = {}, + R3t = [] +function T3t(t, e) { + const n = e || A3t, + o = n.quote || '"', + r = o === '"' ? "'" : '"' + if (o !== '"' && o !== "'") throw new Error("Invalid quote `" + o + "`, expected `'` or `\"`") + return { + one: I3t, + all: M3t, + settings: { + omitOptionalTags: n.omitOptionalTags || !1, + allowParseErrors: n.allowParseErrors || !1, + allowDangerousCharacters: n.allowDangerousCharacters || !1, + quoteSmart: n.quoteSmart || !1, + preferUnquoted: n.preferUnquoted || !1, + tightAttributes: n.tightAttributes || !1, + upperDoctype: n.upperDoctype || !1, + tightDoctype: n.tightDoctype || !1, + bogusComments: n.bogusComments || !1, + tightCommaSeparatedLists: n.tightCommaSeparatedLists || !1, + tightSelfClosing: n.tightSelfClosing || !1, + collapseEmptyAttributes: n.collapseEmptyAttributes || !1, + allowDangerousHtml: n.allowDangerousHtml || !1, + voids: n.voids || yqt, + characterReferences: n.characterReferences || P3t, + closeSelfClosing: n.closeSelfClosing || !1, + closeEmptyElements: n.closeEmptyElements || !1, + }, + schema: n.space === "svg" ? Uf : i$, + quote: o, + alternative: r, + }.one(Array.isArray(t) ? { type: "root", children: t } : t, void 0, void 0) +} +function I3t(t, e, n) { + return _3t(t, e, n, this) +} +function M3t(t) { + const e = [], + n = (t && t.children) || R3t + let o = -1 + for (; ++o < n.length; ) e[o] = this.one(n[o], o, t) + return e.join("") +} +function k_(t, e) { + const n = typeof t == "string" ? {} : { ...t.colorReplacements }, + o = typeof t == "string" ? t : t.name + for (const [r, i] of Object.entries((e == null ? void 0 : e.colorReplacements) || {})) + typeof i == "string" ? (n[r] = i) : r === o && Object.assign(n, i) + return n +} +function lp(t, e) { + return t && ((e == null ? void 0 : e[t == null ? void 0 : t.toLowerCase()]) || t) +} +function j3t(t) { + return Array.isArray(t) ? t : [t] +} +async function Ylt(t) { + return Promise.resolve(typeof t == "function" ? t() : t).then((e) => e.default || e) +} +function a$(t) { + return !t || ["plaintext", "txt", "text", "plain"].includes(t) +} +function Xlt(t) { + return t === "ansi" || a$(t) +} +function l$(t) { + return t === "none" +} +function Jlt(t) { + return l$(t) +} +function ect(t, e) { + var o + if (!e) return t + t.properties || (t.properties = {}), + (o = t.properties).class || (o.class = []), + typeof t.properties.class == "string" && (t.properties.class = t.properties.class.split(/\s+/g)), + Array.isArray(t.properties.class) || (t.properties.class = []) + const n = Array.isArray(e) ? e : e.split(/\s+/g) + for (const r of n) r && !t.properties.class.includes(r) && t.properties.class.push(r) + return t +} +function WC(t, e = !1) { + var i + const n = t.split(/(\r?\n)/g) + let o = 0 + const r = [] + for (let s = 0; s < n.length; s += 2) { + const a = e ? n[s] + (n[s + 1] || "") : n[s] + r.push([a, o]), (o += n[s].length), (o += ((i = n[s + 1]) == null ? void 0 : i.length) || 0) + } + return r +} +function E3t(t) { + const e = WC(t, !0).map(([r]) => r) + function n(r) { + if (r === t.length) return { line: e.length - 1, character: e[e.length - 1].length } + let i = r, + s = 0 + for (const a of e) { + if (i < a.length) break + ;(i -= a.length), s++ + } + return { line: s, character: i } + } + function o(r, i) { + let s = 0 + for (let a = 0; a < r; a++) s += e[a].length + return (s += i), s + } + return { lines: e, indexToPos: n, posToIndex: o } +} +function z3t(t, e) { + let n = 0 + const o = [] + for (const r of e) r > n && o.push({ ...t, content: t.content.slice(n, r), offset: t.offset + n }), (n = r) + return n < t.content.length && o.push({ ...t, content: t.content.slice(n), offset: t.offset + n }), o +} +function $3t(t, e) { + const n = Array.from(e instanceof Set ? e : new Set(e)).sort((o, r) => o - r) + return n.length + ? t.map((o) => + o.flatMap((r) => { + const i = n + .filter((s) => r.offset < s && s < r.offset + r.content.length) + .map((s) => s - r.offset) + .sort((s, a) => s - a) + return i.length ? z3t(r, i) : r + }), + ) + : t +} +function L3t(t, e, n, o) { + const r = { content: t.content, explanation: t.explanation, offset: t.offset }, + i = e.map((c) => x_(t.variants[c])), + s = new Set(i.flatMap((c) => Object.keys(c))), + a = {} + return ( + i.forEach((c, d) => { + for (const u of s) { + const m = c[u] || "inherit" + if (d === 0 && o) a[u] = m + else { + const f = u === "color" ? "" : u === "background-color" ? "-bg" : `-${u}`, + g = n + e[d] + (u === "color" ? "" : f) + a[g] = m + } + } + }), + (r.htmlStyle = a), + r + ) +} +function x_(t) { + const e = {} + if ((t.color && (e.color = t.color), t.bgColor && (e["background-color"] = t.bgColor), t.fontStyle)) { + t.fontStyle & pi.Italic && (e["font-style"] = "italic"), t.fontStyle & pi.Bold && (e["font-weight"] = "bold") + const n = [] + t.fontStyle & pi.Underline && n.push("underline"), + t.fontStyle & pi.Strikethrough && n.push("line-through"), + n.length && (e["text-decoration"] = n.join(" ")) + } + return e +} +function oj(t) { + return typeof t == "string" + ? t + : Object.entries(t) + .map(([e, n]) => `${e}:${n}`) + .join(";") +} +const tct = new WeakMap() +function KC(t, e) { + tct.set(t, e) +} +function yb(t) { + return tct.get(t) +} +class qf { + constructor(...e) { + we(this, "_stacks", {}) + we(this, "lang") + if (e.length === 2) { + const [n, o] = e + ;(this.lang = o), (this._stacks = n) + } else { + const [n, o, r] = e + ;(this.lang = o), (this._stacks = { [r]: n }) + } + } + get themes() { + return Object.keys(this._stacks) + } + get theme() { + return this.themes[0] + } + get _stack() { + return this._stacks[this.theme] + } + static initial(e, n) { + return new qf(Object.fromEntries(j3t(n).map((o) => [o, JM])), e) + } + getInternalStack(e = this.theme) { + return this._stacks[e] + } + getScopes(e = this.theme) { + return D3t(this._stacks[e]) + } + toJSON() { + return { lang: this.lang, theme: this.theme, themes: this.themes, scopes: this.getScopes() } + } +} +function D3t(t) { + const e = [], + n = new Set() + function o(r) { + var s + if (n.has(r)) return + n.add(r) + const i = (s = r == null ? void 0 : r.nameScopesList) == null ? void 0 : s.scopeName + i && e.push(i), r.parent && o(r.parent) + } + return o(t), e +} +function N3t(t, e) { + if (!(t instanceof qf)) throw new Lr("Invalid grammar state") + return t.getInternalStack(e) +} +function O3t() { + const t = new WeakMap() + function e(n) { + if (!t.has(n.meta)) { + let o = function (s) { + if (typeof s == "number") { + if (s < 0 || s > n.source.length) + throw new Lr(`Invalid decoration offset: ${s}. Code length: ${n.source.length}`) + return { ...r.indexToPos(s), offset: s } + } else { + const a = r.lines[s.line] + if (a === void 0) + throw new Lr( + `Invalid decoration position ${JSON.stringify(s)}. Lines length: ${r.lines.length}`, + ) + if (s.character < 0 || s.character > a.length) + throw new Lr( + `Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${a.length}`, + ) + return { ...s, offset: r.posToIndex(s.line, s.character) } + } + } + const r = E3t(n.source), + i = (n.options.decorations || []).map((s) => ({ ...s, start: o(s.start), end: o(s.end) })) + F3t(i), t.set(n.meta, { decorations: i, converter: r, source: n.source }) + } + return t.get(n.meta) + } + return { + name: "shiki:decorations", + tokens(n) { + var s + if (!((s = this.options.decorations) != null && s.length)) return + const r = e(this).decorations.flatMap((a) => [a.start.offset, a.end.offset]) + return $3t(n, r) + }, + code(n) { + var u + if (!((u = this.options.decorations) != null && u.length)) return + const o = e(this), + r = Array.from(n.children).filter((m) => m.type === "element" && m.tagName === "span") + if (r.length !== o.converter.lines.length) + throw new Lr( + `Number of lines in code element (${r.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`, + ) + function i(m, f, g, b) { + const v = r[m] + let w = "", + _ = -1, + y = -1 + if ( + (f === 0 && (_ = 0), + g === 0 && (y = 0), + g === Number.POSITIVE_INFINITY && (y = v.children.length), + _ === -1 || y === -1) + ) + for (let S = 0; S < v.children.length; S++) + (w += nct(v.children[S])), + _ === -1 && w.length === f && (_ = S + 1), + y === -1 && w.length === g && (y = S + 1) + if (_ === -1) throw new Lr(`Failed to find start index for decoration ${JSON.stringify(b.start)}`) + if (y === -1) throw new Lr(`Failed to find end index for decoration ${JSON.stringify(b.end)}`) + const C = v.children.slice(_, y) + if (!b.alwaysWrap && C.length === v.children.length) a(v, b, "line") + else if (!b.alwaysWrap && C.length === 1 && C[0].type === "element") a(C[0], b, "token") + else { + const S = { type: "element", tagName: "span", properties: {}, children: C } + a(S, b, "wrapper"), v.children.splice(_, C.length, S) + } + } + function s(m, f) { + r[m] = a(r[m], f, "line") + } + function a(m, f, g) { + var w + const b = f.properties || {}, + v = f.transform || ((_) => _) + return ( + (m.tagName = f.tagName || "span"), + (m.properties = { ...m.properties, ...b, class: m.properties.class }), + (w = f.properties) != null && w.class && ect(m, f.properties.class), + (m = v(m, g) || m), + m + ) + } + const c = [], + d = o.decorations.sort((m, f) => f.start.offset - m.start.offset || m.end.offset - f.end.offset) + for (const m of d) { + const { start: f, end: g } = m + if (f.line === g.line) i(f.line, f.character, g.character, m) + else if (f.line < g.line) { + i(f.line, f.character, Number.POSITIVE_INFINITY, m) + for (let b = f.line + 1; b < g.line; b++) c.unshift(() => s(b, m)) + i(g.line, 0, g.character, m) + } + } + c.forEach((m) => m()) + }, + } +} +function F3t(t) { + for (let e = 0; e < t.length; e++) { + const n = t[e] + if (n.start.offset > n.end.offset) + throw new Lr(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`) + for (let o = e + 1; o < t.length; o++) { + const r = t[o], + i = n.start.offset <= r.start.offset && r.start.offset < n.end.offset, + s = n.start.offset < r.end.offset && r.end.offset <= n.end.offset, + a = r.start.offset <= n.start.offset && n.start.offset < r.end.offset, + c = r.start.offset < n.end.offset && n.end.offset <= r.end.offset + if (i || s || a || c) { + if ((i && s) || (a && c)) continue + throw new Lr(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(r.start)} intersect.`) + } + } + } +} +function nct(t) { + return t.type === "text" ? t.value : t.type === "element" ? t.children.map(nct).join("") : "" +} +const B3t = [O3t()] +function w_(t) { + return [...(t.transformers || []), ...B3t] +} +var cp = [ + "black", + "red", + "green", + "yellow", + "blue", + "magenta", + "cyan", + "white", + "brightBlack", + "brightRed", + "brightGreen", + "brightYellow", + "brightBlue", + "brightMagenta", + "brightCyan", + "brightWhite", + ], + SP = { 1: "bold", 2: "dim", 3: "italic", 4: "underline", 7: "reverse", 8: "hidden", 9: "strikethrough" } +function U3t(t, e) { + const n = t.indexOf("\x1B", e) + if (n !== -1 && t[n + 1] === "[") { + const o = t.indexOf("m", n) + if (o !== -1) return { sequence: t.substring(n + 2, o).split(";"), startPosition: n, position: o + 1 } + } + return { position: t.length } +} +function xU(t) { + const e = t.shift() + if (e === "2") { + const n = t.splice(0, 3).map((o) => Number.parseInt(o)) + return n.length !== 3 || n.some((o) => Number.isNaN(o)) ? void 0 : { type: "rgb", rgb: n } + } else if (e === "5") { + const n = t.shift() + if (n) return { type: "table", index: Number(n) } + } +} +function q3t(t) { + const e = [] + for (; t.length > 0; ) { + const n = t.shift() + if (!n) continue + const o = Number.parseInt(n) + if (!Number.isNaN(o)) + if (o === 0) e.push({ type: "resetAll" }) + else if (o <= 9) SP[o] && e.push({ type: "setDecoration", value: SP[o] }) + else if (o <= 29) { + const r = SP[o - 20] + r && + (e.push({ type: "resetDecoration", value: r }), + r === "dim" && e.push({ type: "resetDecoration", value: "bold" })) + } else if (o <= 37) e.push({ type: "setForegroundColor", value: { type: "named", name: cp[o - 30] } }) + else if (o === 38) { + const r = xU(t) + r && e.push({ type: "setForegroundColor", value: r }) + } else if (o === 39) e.push({ type: "resetForegroundColor" }) + else if (o <= 47) e.push({ type: "setBackgroundColor", value: { type: "named", name: cp[o - 40] } }) + else if (o === 48) { + const r = xU(t) + r && e.push({ type: "setBackgroundColor", value: r }) + } else + o === 49 + ? e.push({ type: "resetBackgroundColor" }) + : o === 53 + ? e.push({ type: "setDecoration", value: "overline" }) + : o === 55 + ? e.push({ type: "resetDecoration", value: "overline" }) + : o >= 90 && o <= 97 + ? e.push({ type: "setForegroundColor", value: { type: "named", name: cp[o - 90 + 8] } }) + : o >= 100 && + o <= 107 && + e.push({ + type: "setBackgroundColor", + value: { type: "named", name: cp[o - 100 + 8] }, + }) + } + return e +} +function W3t() { + let t = null, + e = null, + n = new Set() + return { + parse(o) { + const r = [] + let i = 0 + do { + const s = U3t(o, i), + a = s.sequence ? o.substring(i, s.startPosition) : o.substring(i) + if ( + (a.length > 0 && r.push({ value: a, foreground: t, background: e, decorations: new Set(n) }), + s.sequence) + ) { + const c = q3t(s.sequence) + for (const d of c) + d.type === "resetAll" + ? ((t = null), (e = null), n.clear()) + : d.type === "resetForegroundColor" + ? (t = null) + : d.type === "resetBackgroundColor" + ? (e = null) + : d.type === "resetDecoration" && n.delete(d.value) + for (const d of c) + d.type === "setForegroundColor" + ? (t = d.value) + : d.type === "setBackgroundColor" + ? (e = d.value) + : d.type === "setDecoration" && n.add(d.value) + } + i = s.position + } while (i < o.length) + return r + }, + } +} +var K3t = { + black: "#000000", + red: "#bb0000", + green: "#00bb00", + yellow: "#bbbb00", + blue: "#0000bb", + magenta: "#ff00ff", + cyan: "#00bbbb", + white: "#eeeeee", + brightBlack: "#555555", + brightRed: "#ff5555", + brightGreen: "#00ff00", + brightYellow: "#ffff55", + brightBlue: "#5555ff", + brightMagenta: "#ff55ff", + brightCyan: "#55ffff", + brightWhite: "#ffffff", +} +function V3t(t = K3t) { + function e(a) { + return t[a] + } + function n(a) { + return `#${a.map((c) => Math.max(0, Math.min(c, 255)).toString(16).padStart(2, "0")).join("")}` + } + let o + function r() { + if (o) return o + o = [] + for (let d = 0; d < cp.length; d++) o.push(e(cp[d])) + let a = [0, 95, 135, 175, 215, 255] + for (let d = 0; d < 6; d++) + for (let u = 0; u < 6; u++) for (let m = 0; m < 6; m++) o.push(n([a[d], a[u], a[m]])) + let c = 8 + for (let d = 0; d < 24; d++, c += 10) o.push(n([c, c, c])) + return o + } + function i(a) { + return r()[a] + } + function s(a) { + switch (a.type) { + case "named": + return e(a.name) + case "rgb": + return n(a.rgb) + case "table": + return i(a.index) + } + } + return { value: s } +} +function H3t(t, e, n) { + const o = k_(t, n), + r = WC(e), + i = V3t( + Object.fromEntries( + cp.map((a) => { + var c + return [ + a, + (c = t.colors) == null ? void 0 : c[`terminal.ansi${a[0].toUpperCase()}${a.substring(1)}`], + ] + }), + ), + ), + s = W3t() + return r.map((a) => + s.parse(a[0]).map((c) => { + let d, u + c.decorations.has("reverse") + ? ((d = c.background ? i.value(c.background) : t.bg), (u = c.foreground ? i.value(c.foreground) : t.fg)) + : ((d = c.foreground ? i.value(c.foreground) : t.fg), + (u = c.background ? i.value(c.background) : void 0)), + (d = lp(d, o)), + (u = lp(u, o)), + c.decorations.has("dim") && (d = G3t(d)) + let m = pi.None + return ( + c.decorations.has("bold") && (m |= pi.Bold), + c.decorations.has("italic") && (m |= pi.Italic), + c.decorations.has("underline") && (m |= pi.Underline), + c.decorations.has("strikethrough") && (m |= pi.Strikethrough), + { content: c.value, offset: a[1], color: d, bgColor: u, fontStyle: m } + ) + }), + ) +} +function G3t(t) { + const e = t.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/) + if (e) + if (e[3]) { + const o = Math.round(Number.parseInt(e[3], 16) / 2) + .toString(16) + .padStart(2, "0") + return `#${e[1]}${e[2]}${o}` + } else + return e[2] + ? `#${e[1]}${e[2]}80` + : `#${Array.from(e[1]) + .map((o) => `${o}${o}`) + .join("")}80` + const n = t.match(/var\((--[\w-]+-ansi-[\w-]+)\)/) + return n ? `var(${n[1]}-dim)` : t +} +function c$(t, e, n = {}) { + const { lang: o = "text", theme: r = t.getLoadedThemes()[0] } = n + if (a$(o) || l$(r)) return WC(e).map((c) => [{ content: c[0], offset: c[1] }]) + const { theme: i, colorMap: s } = t.setTheme(r) + if (o === "ansi") return H3t(i, e, n) + const a = t.getLanguage(o) + if (n.grammarState) { + if (n.grammarState.lang !== a.name) + throw new Lr( + `Grammar state language "${n.grammarState.lang}" does not match highlight language "${a.name}"`, + ) + if (!n.grammarState.themes.includes(i.name)) + throw new Lr(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`) + } + return Z3t(e, a, i, s, n) +} +function Q3t(...t) { + if (t.length === 2) return yb(t[1]) + const [e, n, o = {}] = t, + { lang: r = "text", theme: i = e.getLoadedThemes()[0] } = o + if (a$(r) || l$(i)) throw new Lr("Plain language does not have grammar state") + if (r === "ansi") throw new Lr("ANSI language does not have grammar state") + const { theme: s, colorMap: a } = e.setTheme(i), + c = e.getLanguage(r) + return new qf(__(n, c, s, a, o).stateStack, c.name, s.name) +} +function Z3t(t, e, n, o, r) { + const i = __(t, e, n, o, r), + s = new qf(__(t, e, n, o, r).stateStack, e.name, n.name) + return KC(i.tokens, s), i.tokens +} +function __(t, e, n, o, r) { + const i = k_(n, r), + { tokenizeMaxLineLength: s = 0, tokenizeTimeLimit: a = 500 } = r, + c = WC(t) + let d = r.grammarState + ? (N3t(r.grammarState, n.name) ?? JM) + : r.grammarContextCode != null + ? __(r.grammarContextCode, e, n, o, { ...r, grammarState: void 0, grammarContextCode: void 0 }) + .stateStack + : JM, + u = [] + const m = [] + for (let f = 0, g = c.length; f < g; f++) { + const [b, v] = c[f] + if (b === "") { + ;(u = []), m.push([]) + continue + } + if (s > 0 && b.length >= s) { + ;(u = []), m.push([{ content: b, offset: v, color: "", fontStyle: 0 }]) + continue + } + let w, _, y + r.includeExplanation && ((w = e.tokenizeLine(b, d, a)), (_ = w.tokens), (y = 0)) + const C = e.tokenizeLine2(b, d, a), + S = C.tokens.length / 2 + for (let P = 0; P < S; P++) { + const R = C.tokens[2 * P], + T = P + 1 < S ? C.tokens[2 * P + 2] : b.length + if (R === T) continue + const E = C.tokens[2 * P + 1], + $ = lp(o[sf.getForeground(E)], i), + j = sf.getFontStyle(E), + L = { content: b.substring(R, T), offset: v + R, color: $, fontStyle: j } + if (r.includeExplanation) { + const W = [] + if (r.includeExplanation !== "scopeName") + for (const U of n.settings) { + let Z + switch (typeof U.scope) { + case "string": + Z = U.scope.split(/,/).map((V) => V.trim()) + break + case "object": + Z = U.scope + break + default: + continue + } + W.push({ settings: U, selectors: Z.map((V) => V.split(/ /)) }) + } + L.explanation = [] + let G = 0 + for (; R + G < T; ) { + const U = _[y], + Z = b.substring(U.startIndex, U.endIndex) + ;(G += Z.length), + L.explanation.push({ + content: Z, + scopes: r.includeExplanation === "scopeName" ? Y3t(U.scopes) : X3t(W, U.scopes), + }), + (y += 1) + } + } + u.push(L) + } + m.push(u), (u = []), (d = C.ruleStack) + } + return { tokens: m, stateStack: d } +} +function Y3t(t) { + return t.map((e) => ({ scopeName: e })) +} +function X3t(t, e) { + const n = [] + for (let o = 0, r = e.length; o < r; o++) { + const i = e[o] + n[o] = { scopeName: i, themeMatches: e5t(t, i, e.slice(0, o)) } + } + return n +} +function wU(t, e) { + return t === e || (e.substring(0, t.length) === t && e[t.length] === ".") +} +function J3t(t, e, n) { + if (!wU(t[t.length - 1], e)) return !1 + let o = t.length - 2, + r = n.length - 1 + for (; o >= 0 && r >= 0; ) wU(t[o], n[r]) && (o -= 1), (r -= 1) + return o === -1 +} +function e5t(t, e, n) { + const o = [] + for (const { selectors: r, settings: i } of t) + for (const s of r) + if (J3t(s, e, n)) { + o.push(i) + break + } + return o +} +function oct(t, e, n) { + const o = Object.entries(n.themes) + .filter((c) => c[1]) + .map((c) => ({ color: c[0], theme: c[1] })), + r = o.map((c) => { + const d = c$(t, e, { ...n, theme: c.theme }), + u = yb(d), + m = typeof c.theme == "string" ? c.theme : c.theme.name + return { tokens: d, state: u, theme: m } + }), + i = t5t(...r.map((c) => c.tokens)), + s = i[0].map((c, d) => + c.map((u, m) => { + const f = { content: u.content, variants: {}, offset: u.offset } + return ( + "includeExplanation" in n && n.includeExplanation && (f.explanation = u.explanation), + i.forEach((g, b) => { + const { content: v, explanation: w, offset: _, ...y } = g[d][m] + f.variants[o[b].color] = y + }), + f + ) + }), + ), + a = r[0].state + ? new qf( + Object.fromEntries( + r.map((c) => { + var d + return [c.theme, (d = c.state) == null ? void 0 : d.getInternalStack(c.theme)] + }), + ), + r[0].state.lang, + ) + : void 0 + return a && KC(s, a), s +} +function t5t(...t) { + const e = t.map(() => []), + n = t.length + for (let o = 0; o < t[0].length; o++) { + const r = t.map((c) => c[o]), + i = e.map(() => []) + e.forEach((c, d) => c.push(i[d])) + const s = r.map(() => 0), + a = r.map((c) => c[0]) + for (; a.every((c) => c); ) { + const c = Math.min(...a.map((d) => d.content.length)) + for (let d = 0; d < n; d++) { + const u = a[d] + u.content.length === c + ? (i[d].push(u), (s[d] += 1), (a[d] = r[d][s[d]])) + : (i[d].push({ ...u, content: u.content.slice(0, c) }), + (a[d] = { ...u, content: u.content.slice(c), offset: u.offset + c })) + } + } + } + return e +} +function C_(t, e, n) { + let o, r, i, s, a, c + if ("themes" in n) { + const { defaultColor: d = "light", cssVariablePrefix: u = "--shiki-" } = n, + m = Object.entries(n.themes) + .filter((w) => w[1]) + .map((w) => ({ color: w[0], theme: w[1] })) + .sort((w, _) => (w.color === d ? -1 : _.color === d ? 1 : 0)) + if (m.length === 0) throw new Lr("`themes` option must not be empty") + const f = oct(t, e, n) + if (((c = yb(f)), d && !m.find((w) => w.color === d))) + throw new Lr(`\`themes\` option must contain the defaultColor key \`${d}\``) + const g = m.map((w) => t.getTheme(w.theme)), + b = m.map((w) => w.color) + ;(i = f.map((w) => w.map((_) => L3t(_, b, u, d)))), c && KC(i, c) + const v = m.map((w) => k_(w.theme, n)) + ;(r = m.map((w, _) => (_ === 0 && d ? "" : `${u + w.color}:`) + (lp(g[_].fg, v[_]) || "inherit")).join(";")), + (o = m + .map((w, _) => (_ === 0 && d ? "" : `${u + w.color}-bg:`) + (lp(g[_].bg, v[_]) || "inherit")) + .join(";")), + (s = `shiki-themes ${g.map((w) => w.name).join(" ")}`), + (a = d ? void 0 : [r, o].join(";")) + } else if ("theme" in n) { + const d = k_(n.theme, n) + i = c$(t, e, n) + const u = t.getTheme(n.theme) + ;(o = lp(u.bg, d)), (r = lp(u.fg, d)), (s = u.name), (c = yb(i)) + } else throw new Lr("Invalid options, either `theme` or `themes` must be provided") + return { tokens: i, fg: r, bg: o, themeName: s, rootStyle: a, grammarState: c } +} +function S_( + t, + e, + n, + o = { meta: {}, options: n, codeToHast: (r, i) => S_(t, r, i), codeToTokens: (r, i) => C_(t, r, i) }, +) { + var b, v + let r = e + for (const w of w_(n)) r = ((b = w.preprocess) == null ? void 0 : b.call(o, r, n)) || r + let { tokens: i, fg: s, bg: a, themeName: c, rootStyle: d, grammarState: u } = C_(t, r, n) + const { mergeWhitespaces: m = !0, mergeSameStyleTokens: f = !1 } = n + m === !0 ? (i = o5t(i)) : m === "never" && (i = r5t(i)), f && (i = i5t(i)) + const g = { + ...o, + get source() { + return r + }, + } + for (const w of w_(n)) i = ((v = w.tokens) == null ? void 0 : v.call(g, i)) || i + return n5t(i, { ...n, fg: s, bg: a, themeName: c, rootStyle: d }, g, u) +} +function n5t(t, e, n, o = yb(t)) { + var b, v, w + const r = w_(e), + i = [], + s = { type: "root", children: [] }, + { structure: a = "classic", tabindex: c = "0" } = e + let d = { + type: "element", + tagName: "pre", + properties: { + class: `shiki ${e.themeName || ""}`, + style: e.rootStyle || `background-color:${e.bg};color:${e.fg}`, + ...(c !== !1 && c != null ? { tabindex: c.toString() } : {}), + ...Object.fromEntries(Array.from(Object.entries(e.meta || {})).filter(([_]) => !_.startsWith("_"))), + }, + children: [], + }, + u = { type: "element", tagName: "code", properties: {}, children: i } + const m = [], + f = { + ...n, + structure: a, + addClassToHast: ect, + get source() { + return n.source + }, + get tokens() { + return t + }, + get options() { + return e + }, + get root() { + return s + }, + get pre() { + return d + }, + get code() { + return u + }, + get lines() { + return m + }, + } + if ( + (t.forEach((_, y) => { + var P, R + y && + (a === "inline" + ? s.children.push({ type: "element", tagName: "br", properties: {}, children: [] }) + : a === "classic" && + i.push({ + type: "text", + value: ` +`, + })) + let C = { type: "element", tagName: "span", properties: { class: "line" }, children: [] }, + S = 0 + for (const T of _) { + let E = { + type: "element", + tagName: "span", + properties: { ...T.htmlAttrs }, + children: [{ type: "text", value: T.content }], + } + const $ = oj(T.htmlStyle || x_(T)) + $ && (E.properties.style = $) + for (const j of r) + E = ((P = j == null ? void 0 : j.span) == null ? void 0 : P.call(f, E, y + 1, S, C, T)) || E + a === "inline" ? s.children.push(E) : a === "classic" && C.children.push(E), (S += T.content.length) + } + if (a === "classic") { + for (const T of r) C = ((R = T == null ? void 0 : T.line) == null ? void 0 : R.call(f, C, y + 1)) || C + m.push(C), i.push(C) + } + }), + a === "classic") + ) { + for (const _ of r) u = ((b = _ == null ? void 0 : _.code) == null ? void 0 : b.call(f, u)) || u + d.children.push(u) + for (const _ of r) d = ((v = _ == null ? void 0 : _.pre) == null ? void 0 : v.call(f, d)) || d + s.children.push(d) + } + let g = s + for (const _ of r) g = ((w = _ == null ? void 0 : _.root) == null ? void 0 : w.call(f, g)) || g + return o && KC(g, o), g +} +function o5t(t) { + return t.map((e) => { + const n = [] + let o = "", + r = 0 + return ( + e.forEach((i, s) => { + const c = !(i.fontStyle && (i.fontStyle & pi.Underline || i.fontStyle & pi.Strikethrough)) + c && i.content.match(/^\s+$/) && e[s + 1] + ? (r || (r = i.offset), (o += i.content)) + : o + ? (c + ? n.push({ ...i, offset: r, content: o + i.content }) + : n.push({ content: o, offset: r }, i), + (r = 0), + (o = "")) + : n.push(i) + }), + n + ) + }) +} +function r5t(t) { + return t.map((e) => + e.flatMap((n) => { + if (n.content.match(/^\s+$/)) return n + const o = n.content.match(/^(\s*)(.*?)(\s*)$/) + if (!o) return n + const [, r, i, s] = o + if (!r && !s) return n + const a = [{ ...n, offset: n.offset + r.length, content: i }] + return ( + r && a.unshift({ content: r, offset: n.offset }), + s && a.push({ content: s, offset: n.offset + r.length + i.length }), + a + ) + }), + ) +} +function i5t(t) { + return t.map((e) => { + const n = [] + for (const o of e) { + if (n.length === 0) { + n.push({ ...o }) + continue + } + const r = n[n.length - 1], + i = r.htmlStyle || oj(x_(r)), + s = o.htmlStyle || oj(x_(o)), + a = r.fontStyle && (r.fontStyle & pi.Underline || r.fontStyle & pi.Strikethrough), + c = o.fontStyle && (o.fontStyle & pi.Underline || o.fontStyle & pi.Strikethrough) + !a && !c && i === s ? (r.content += o.content) : n.push({ ...o }) + } + return n + }) +} +const s5t = T3t +function a5t(t, e, n) { + var i + const o = { meta: {}, options: n, codeToHast: (s, a) => S_(t, s, a), codeToTokens: (s, a) => C_(t, s, a) } + let r = s5t(S_(t, e, n, o)) + for (const s of w_(n)) r = ((i = s.postprocess) == null ? void 0 : i.call(o, r, n)) || r + return r +} +const _U = { light: "#333333", dark: "#bbbbbb" }, + CU = { light: "#fffffe", dark: "#1e1e1e" }, + SU = "__shiki_resolved" +function d$(t) { + var a, c, d, u, m + if (t != null && t[SU]) return t + const e = { ...t } + e.tokenColors && !e.settings && ((e.settings = e.tokenColors), delete e.tokenColors), + e.type || (e.type = "dark"), + (e.colorReplacements = { ...e.colorReplacements }), + e.settings || (e.settings = []) + let { bg: n, fg: o } = e + if (!n || !o) { + const f = e.settings ? e.settings.find((g) => !g.name && !g.scope) : void 0 + ;(a = f == null ? void 0 : f.settings) != null && a.foreground && (o = f.settings.foreground), + (c = f == null ? void 0 : f.settings) != null && c.background && (n = f.settings.background), + !o && + (d = e == null ? void 0 : e.colors) != null && + d["editor.foreground"] && + (o = e.colors["editor.foreground"]), + !n && + (u = e == null ? void 0 : e.colors) != null && + u["editor.background"] && + (n = e.colors["editor.background"]), + o || (o = e.type === "light" ? _U.light : _U.dark), + n || (n = e.type === "light" ? CU.light : CU.dark), + (e.fg = o), + (e.bg = n) + } + ;(e.settings[0] && e.settings[0].settings && !e.settings[0].scope) || + e.settings.unshift({ settings: { foreground: e.fg, background: e.bg } }) + let r = 0 + const i = new Map() + function s(f) { + var b + if (i.has(f)) return i.get(f) + r += 1 + const g = `#${r.toString(16).padStart(8, "0").toLowerCase()}` + return (b = e.colorReplacements) != null && b[`#${g}`] ? s(f) : (i.set(f, g), g) + } + e.settings = e.settings.map((f) => { + var w, _ + const g = ((w = f.settings) == null ? void 0 : w.foreground) && !f.settings.foreground.startsWith("#"), + b = ((_ = f.settings) == null ? void 0 : _.background) && !f.settings.background.startsWith("#") + if (!g && !b) return f + const v = { ...f, settings: { ...f.settings } } + if (g) { + const y = s(f.settings.foreground) + ;(e.colorReplacements[y] = f.settings.foreground), (v.settings.foreground = y) + } + if (b) { + const y = s(f.settings.background) + ;(e.colorReplacements[y] = f.settings.background), (v.settings.background = y) + } + return v + }) + for (const f of Object.keys(e.colors || {})) + if ( + (f === "editor.foreground" || f === "editor.background" || f.startsWith("terminal.ansi")) && + !((m = e.colors[f]) != null && m.startsWith("#")) + ) { + const g = s(e.colors[f]) + ;(e.colorReplacements[g] = e.colors[f]), (e.colors[f] = g) + } + return Object.defineProperty(e, SU, { enumerable: !1, writable: !1, value: !0 }), e +} +async function rct(t) { + return Array.from( + new Set( + ( + await Promise.all( + t.filter((e) => !Xlt(e)).map(async (e) => await Ylt(e).then((n) => (Array.isArray(n) ? n : [n]))), + ) + ).flat(), + ), + ) +} +async function ict(t) { + return (await Promise.all(t.map(async (n) => (Jlt(n) ? null : d$(await Ylt(n)))))).filter((n) => !!n) +} +let l5t = 3 +function c5t(t, e = 3) { + e > l5t || console.trace(`[SHIKI DEPRECATE]: ${t}`) +} +let nh = class extends Error { + constructor(e) { + super(e), (this.name = "ShikiError") + } +} +class d5t extends bqt { + constructor(n, o, r, i = {}) { + super(n) + we(this, "_resolvedThemes", new Map()) + we(this, "_resolvedGrammars", new Map()) + we(this, "_langMap", new Map()) + we(this, "_langGraph", new Map()) + we(this, "_textmateThemeCache", new WeakMap()) + we(this, "_loadedThemesCache", null) + we(this, "_loadedLanguagesCache", null) + ;(this._resolver = n), + (this._themes = o), + (this._langs = r), + (this._alias = i), + this._themes.map((s) => this.loadTheme(s)), + this.loadLanguages(this._langs) + } + getTheme(n) { + return typeof n == "string" ? this._resolvedThemes.get(n) : this.loadTheme(n) + } + loadTheme(n) { + const o = d$(n) + return o.name && (this._resolvedThemes.set(o.name, o), (this._loadedThemesCache = null)), o + } + getLoadedThemes() { + return ( + this._loadedThemesCache || (this._loadedThemesCache = [...this._resolvedThemes.keys()]), + this._loadedThemesCache + ) + } + setTheme(n) { + let o = this._textmateThemeCache.get(n) + o || ((o = h_.createFromRawTheme(n)), this._textmateThemeCache.set(n, o)), this._syncRegistry.setTheme(o) + } + getGrammar(n) { + if (this._alias[n]) { + const o = new Set([n]) + for (; this._alias[n]; ) { + if (((n = this._alias[n]), o.has(n))) + throw new nh(`Circular alias \`${Array.from(o).join(" -> ")} -> ${n}\``) + o.add(n) + } + } + return this._resolvedGrammars.get(n) + } + loadLanguage(n) { + var s, a, c, d + if (this.getGrammar(n.name)) return + const o = new Set( + [...this._langMap.values()].filter((u) => { + var m + return (m = u.embeddedLangsLazy) == null ? void 0 : m.includes(n.name) + }), + ) + this._resolver.addLanguage(n) + const r = { + balancedBracketSelectors: n.balancedBracketSelectors || ["*"], + unbalancedBracketSelectors: n.unbalancedBracketSelectors || [], + } + this._syncRegistry._rawGrammars.set(n.scopeName, n) + const i = this.loadGrammarWithConfiguration(n.scopeName, 1, r) + if ( + ((i.name = n.name), + this._resolvedGrammars.set(n.name, i), + n.aliases && + n.aliases.forEach((u) => { + this._alias[u] = n.name + }), + (this._loadedLanguagesCache = null), + o.size) + ) + for (const u of o) + this._resolvedGrammars.delete(u.name), + (this._loadedLanguagesCache = null), + (a = (s = this._syncRegistry) == null ? void 0 : s._injectionGrammars) == null || + a.delete(u.scopeName), + (d = (c = this._syncRegistry) == null ? void 0 : c._grammars) == null || d.delete(u.scopeName), + this.loadLanguage(this._langMap.get(u.name)) + } + dispose() { + super.dispose(), + this._resolvedThemes.clear(), + this._resolvedGrammars.clear(), + this._langMap.clear(), + this._langGraph.clear(), + (this._loadedThemesCache = null) + } + loadLanguages(n) { + for (const i of n) this.resolveEmbeddedLanguages(i) + const o = Array.from(this._langGraph.entries()), + r = o.filter(([i, s]) => !s) + if (r.length) { + const i = o + .filter(([s, a]) => { + var c + return a && ((c = a.embeddedLangs) == null ? void 0 : c.some((d) => r.map(([u]) => u).includes(d))) + }) + .filter((s) => !r.includes(s)) + throw new nh( + `Missing languages ${r.map(([s]) => `\`${s}\``).join(", ")}, required by ${i.map(([s]) => `\`${s}\``).join(", ")}`, + ) + } + for (const [i, s] of o) this._resolver.addLanguage(s) + for (const [i, s] of o) this.loadLanguage(s) + } + getLoadedLanguages() { + return ( + this._loadedLanguagesCache || + (this._loadedLanguagesCache = [ + ...new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)]), + ]), + this._loadedLanguagesCache + ) + } + resolveEmbeddedLanguages(n) { + if ((this._langMap.set(n.name, n), this._langGraph.set(n.name, n), n.embeddedLangs)) + for (const o of n.embeddedLangs) this._langGraph.set(o, this._langMap.get(o)) + } +} +class u5t { + constructor(e, n) { + we(this, "_langs", new Map()) + we(this, "_scopeToLang", new Map()) + we(this, "_injections", new Map()) + we(this, "_onigLib") + ;(this._onigLib = { createOnigScanner: (o) => e.createScanner(o), createOnigString: (o) => e.createString(o) }), + n.forEach((o) => this.addLanguage(o)) + } + get onigLib() { + return this._onigLib + } + getLangRegistration(e) { + return this._langs.get(e) + } + loadGrammar(e) { + return this._scopeToLang.get(e) + } + addLanguage(e) { + this._langs.set(e.name, e), + e.aliases && + e.aliases.forEach((n) => { + this._langs.set(n, e) + }), + this._scopeToLang.set(e.scopeName, e), + e.injectTo && + e.injectTo.forEach((n) => { + this._injections.get(n) || this._injections.set(n, []), this._injections.get(n).push(e.scopeName) + }) + } + getInjections(e) { + const n = e.split(".") + let o = [] + for (let r = 1; r <= n.length; r++) { + const i = n.slice(0, r).join(".") + o = [...o, ...(this._injections.get(i) || [])] + } + return o + } +} +let Vg = 0 +function p5t(t) { + ;(Vg += 1), + t.warnings !== !1 && + Vg >= 10 && + Vg % 10 === 0 && + console.warn( + `[Shiki] ${Vg} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`, + ) + let e = !1 + if (!t.engine) throw new nh("`engine` option is required for synchronous mode") + const n = (t.langs || []).flat(1), + o = (t.themes || []).flat(1).map(d$), + r = new u5t(t.engine, n), + i = new d5t(r, o, n, t.langAlias) + let s + function a(y) { + w() + const C = i.getGrammar(typeof y == "string" ? y : y.name) + if (!C) throw new nh(`Language \`${y}\` not found, you may need to load it first`) + return C + } + function c(y) { + if (y === "none") return { bg: "", fg: "", name: "none", settings: [], type: "dark" } + w() + const C = i.getTheme(y) + if (!C) throw new nh(`Theme \`${y}\` not found, you may need to load it first`) + return C + } + function d(y) { + w() + const C = c(y) + s !== y && (i.setTheme(C), (s = y)) + const S = i.getColorMap() + return { theme: C, colorMap: S } + } + function u() { + return w(), i.getLoadedThemes() + } + function m() { + return w(), i.getLoadedLanguages() + } + function f(...y) { + w(), i.loadLanguages(y.flat(1)) + } + async function g(...y) { + return f(await rct(y)) + } + function b(...y) { + w() + for (const C of y.flat(1)) i.loadTheme(C) + } + async function v(...y) { + return w(), b(await ict(y)) + } + function w() { + if (e) throw new nh("Shiki instance has been disposed") + } + function _() { + e || ((e = !0), i.dispose(), (Vg -= 1)) + } + return { + setTheme: d, + getTheme: c, + getLanguage: a, + getLoadedThemes: u, + getLoadedLanguages: m, + loadLanguage: g, + loadLanguageSync: f, + loadTheme: v, + loadThemeSync: b, + dispose: _, + [Symbol.dispose]: _, + } +} +async function m5t(t) { + t.engine || + c5t( + "`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.", + ) + const [e, n, o] = await Promise.all([ict(t.themes || []), rct(t.langs || []), t.engine]) + return p5t({ ...t, themes: e, langs: n, engine: o }) +} +async function h5t(t) { + const e = await m5t(t) + return { + getLastGrammarState: (...n) => Q3t(e, ...n), + codeToTokensBase: (n, o) => c$(e, n, o), + codeToTokensWithThemes: (n, o) => oct(e, n, o), + codeToTokens: (n, o) => C_(e, n, o), + codeToHast: (n, o) => S_(e, n, o), + codeToHtml: (n, o) => a5t(e, n, o), + getBundledLanguages: () => ({}), + getBundledThemes: () => ({}), + ...e, + getInternalContext: () => e, + } +} +function f5t(t) { + const e = t.langs, + n = t.themes, + o = t.engine + async function r(i) { + function s(m) { + if (typeof m == "string") { + if (Xlt(m)) return [] + const f = e[m] + if (!f) + throw new Lr( + `Language \`${m}\` is not included in this bundle. You may want to load it from external source.`, + ) + return f + } + return m + } + function a(m) { + if (Jlt(m)) return "none" + if (typeof m == "string") { + const f = n[m] + if (!f) + throw new Lr( + `Theme \`${m}\` is not included in this bundle. You may want to load it from external source.`, + ) + return f + } + return m + } + const c = (i.themes ?? []).map((m) => a(m)), + d = (i.langs ?? []).map((m) => s(m)), + u = await h5t({ engine: i.engine ?? o(), ...i, themes: c, langs: d }) + return { + ...u, + loadLanguage(...m) { + return u.loadLanguage(...m.map(s)) + }, + loadTheme(...m) { + return u.loadTheme(...m.map(a)) + }, + getBundledLanguages() { + return e + }, + getBundledThemes() { + return n + }, + } + } + return r +} +const sct = [ + { id: "abap", name: "ABAP", import: () => ne(() => import("./chunk-BdImnpbu.js"), []) }, + { id: "actionscript-3", name: "ActionScript", import: () => ne(() => import("./chunk-CfeIJUat.js"), []) }, + { id: "ada", name: "Ada", import: () => ne(() => import("./chunk-bCR0ucgS.js"), []) }, + { + id: "angular-html", + name: "Angular HTML", + import: () => ne(() => import("./chunk-sYKpKAhk.js").then((t) => t.f), __vite__mapDeps([2, 3, 4, 5])), + }, + { + id: "angular-ts", + name: "Angular TypeScript", + import: () => ne(() => import("./chunk-Cno5XSCQ.js"), __vite__mapDeps([6, 2, 3, 4, 5, 7])), + }, + { id: "apache", name: "Apache Conf", import: () => ne(() => import("./chunk-Pmp26Uib.js"), []) }, + { id: "apex", name: "Apex", import: () => ne(() => import("./chunk-QX45V2Sx.js"), []) }, + { + id: "apl", + name: "APL", + import: () => ne(() => import("./chunk-DbjXokdF.js"), __vite__mapDeps([8, 3, 4, 5, 9, 10, 11])), + }, + { id: "applescript", name: "AppleScript", import: () => ne(() => import("./chunk-Co6uUVPk.js"), []) }, + { id: "ara", name: "Ara", import: () => ne(() => import("./chunk-BRHolxvo.js"), []) }, + { + id: "asciidoc", + name: "AsciiDoc", + aliases: ["adoc"], + import: () => ne(() => import("./chunk-CdggvHu8.js"), []), + }, + { id: "asm", name: "Assembly", import: () => ne(() => import("./chunk-D_Q5rh1f.js"), []) }, + { + id: "astro", + name: "Astro", + import: () => ne(() => import("./chunk-BrYkhBEK.js"), __vite__mapDeps([12, 11, 4, 13, 5, 14])), + }, + { id: "awk", name: "AWK", import: () => ne(() => import("./chunk-DMzUqQB5.js"), []) }, + { id: "ballerina", name: "Ballerina", import: () => ne(() => import("./chunk-BFfxhgS-.js"), []) }, + { + id: "bat", + name: "Batch File", + aliases: ["batch"], + import: () => ne(() => import("./chunk-BkioyH1T.js"), []), + }, + { id: "beancount", name: "Beancount", import: () => ne(() => import("./chunk-BoKiGodi.js"), []) }, + { id: "berry", name: "Berry", aliases: ["be"], import: () => ne(() => import("./chunk-D08WgyRC.js"), []) }, + { id: "bibtex", name: "BibTeX", import: () => ne(() => import("./chunk-CHM0blh-.js"), []) }, + { id: "bicep", name: "Bicep", import: () => ne(() => import("./chunk-6nHXG8SA.js"), []) }, + { + id: "blade", + name: "Blade", + import: () => ne(() => import("./chunk-CLIx6TIR.js"), __vite__mapDeps([15, 16, 3, 4, 5, 9, 10, 17, 11])), + }, + { + id: "bsl", + name: "1C (Enterprise)", + aliases: ["1c"], + import: () => ne(() => import("./chunk-CDuzWNpe.js"), __vite__mapDeps([18, 19])), + }, + { id: "c", name: "C", import: () => ne(() => import("./chunk-BIGW1oBm.js"), []) }, + { id: "cadence", name: "Cadence", aliases: ["cdc"], import: () => ne(() => import("./chunk-D2CYqzqI.js"), []) }, + { + id: "cairo", + name: "Cairo", + import: () => ne(() => import("./chunk-DP8w0yq8.js"), __vite__mapDeps([20, 21])), + }, + { id: "clarity", name: "Clarity", import: () => ne(() => import("./chunk-CHh-QcGE.js"), []) }, + { id: "clojure", name: "Clojure", aliases: ["clj"], import: () => ne(() => import("./chunk-P80f7IUj.js"), []) }, + { id: "cmake", name: "CMake", import: () => ne(() => import("./chunk-D1j8_8rp.js"), []) }, + { + id: "cobol", + name: "COBOL", + import: () => ne(() => import("./chunk-OpcvBqEo.js"), __vite__mapDeps([22, 3, 4, 5, 10])), + }, + { id: "codeowners", name: "CODEOWNERS", import: () => ne(() => import("./chunk-Bp6g37R7.js"), []) }, + { id: "codeql", name: "CodeQL", aliases: ["ql"], import: () => ne(() => import("./chunk-DsOJ9woJ.js"), []) }, + { + id: "coffee", + name: "CoffeeScript", + aliases: ["coffeescript"], + import: () => ne(() => import("./chunk-C-C_nZcE.js"), __vite__mapDeps([23, 4])), + }, + { + id: "common-lisp", + name: "Common Lisp", + aliases: ["lisp"], + import: () => ne(() => import("./chunk-Cg-RD9OK.js"), []), + }, + { id: "coq", name: "Coq", import: () => ne(() => import("./chunk-CMdgaOU9.js"), []) }, + { + id: "cpp", + name: "C++", + aliases: ["c++"], + import: () => ne(() => import("./chunk-CzjqYRUi.js"), __vite__mapDeps([24, 25, 26, 27, 17])), + }, + { + id: "crystal", + name: "Crystal", + import: () => ne(() => import("./chunk-BnD7D7ah.js"), __vite__mapDeps([28, 3, 4, 5, 17, 27, 29])), + }, + { id: "csharp", name: "C#", aliases: ["c#", "cs"], import: () => ne(() => import("./chunk-CHadp7IV.js"), []) }, + { id: "css", name: "CSS", import: () => ne(() => import("./chunk-DPfMkruS.js"), []) }, + { id: "csv", name: "CSV", import: () => ne(() => import("./chunk-fuZLfV_i.js"), []) }, + { id: "cue", name: "CUE", import: () => ne(() => import("./chunk-D82EKSYY.js"), []) }, + { id: "cypher", name: "Cypher", aliases: ["cql"], import: () => ne(() => import("./chunk-COkxafJQ.js"), []) }, + { id: "d", name: "D", import: () => ne(() => import("./chunk-85-TOEBH.js"), []) }, + { id: "dart", name: "Dart", import: () => ne(() => import("./chunk-CF10PKvl.js"), []) }, + { id: "dax", name: "DAX", import: () => ne(() => import("./chunk-CEL-wOlO.js"), []) }, + { id: "desktop", name: "Desktop", import: () => ne(() => import("./chunk-BmXAJ9_W.js"), []) }, + { id: "diff", name: "Diff", import: () => ne(() => import("./chunk-D97Zzqfu.js"), []) }, + { + id: "docker", + name: "Dockerfile", + aliases: ["dockerfile"], + import: () => ne(() => import("./chunk-BcOcwvcX.js"), []), + }, + { id: "dotenv", name: "dotEnv", import: () => ne(() => import("./chunk-Da5cRb03.js"), []) }, + { id: "dream-maker", name: "Dream Maker", import: () => ne(() => import("./chunk-BtqSS_iP.js"), []) }, + { + id: "edge", + name: "Edge", + import: () => ne(() => import("./chunk-DNNlxIVo.js"), __vite__mapDeps([30, 13, 3, 4, 5, 16])), + }, + { + id: "elixir", + name: "Elixir", + import: () => ne(() => import("./chunk-DRBVVfo7.js"), __vite__mapDeps([31, 3, 4, 5])), + }, + { + id: "elm", + name: "Elm", + import: () => ne(() => import("./chunk-sVvOI5da.js"), __vite__mapDeps([32, 26, 27])), + }, + { + id: "emacs-lisp", + name: "Emacs Lisp", + aliases: ["elisp"], + import: () => ne(() => import("./chunk-C9XAeP06.js"), []), + }, + { + id: "erb", + name: "ERB", + import: () => + ne( + () => import("./chunk-DouSy6O5.js"), + __vite__mapDeps([33, 3, 4, 5, 34, 35, 9, 10, 17, 36, 13, 37, 38, 24, 25, 26, 27, 29, 39, 40]), + ), + }, + { id: "erlang", name: "Erlang", aliases: ["erl"], import: () => ne(() => import("./chunk-DpOm0zC4.js"), []) }, + { id: "fennel", name: "Fennel", import: () => ne(() => import("./chunk-BYunw83y.js"), []) }, + { id: "fish", name: "Fish", import: () => ne(() => import("./chunk-Bl2oy6fF.js"), []) }, + { id: "fluent", name: "Fluent", aliases: ["ftl"], import: () => ne(() => import("./chunk-C4IJs8-o.js"), []) }, + { + id: "fortran-fixed-form", + name: "Fortran (Fixed Form)", + aliases: ["f", "for", "f77"], + import: () => ne(() => import("./chunk-CSPye00a.js"), __vite__mapDeps([41, 42])), + }, + { + id: "fortran-free-form", + name: "Fortran (Free Form)", + aliases: ["f90", "f95", "f03", "f08", "f18"], + import: () => ne(() => import("./chunk-D22FLkUw.js"), []), + }, + { + id: "fsharp", + name: "F#", + aliases: ["f#", "fs"], + import: () => ne(() => import("./chunk--Ycre7K_.js"), __vite__mapDeps([43, 44])), + }, + { + id: "gdresource", + name: "GDResource", + import: () => ne(() => import("./chunk-DEd0xgAf.js"), __vite__mapDeps([45, 46, 47])), + }, + { id: "gdscript", name: "GDScript", import: () => ne(() => import("./chunk-Bty6elJm.js"), []) }, + { id: "gdshader", name: "GDShader", import: () => ne(() => import("./chunk-DkwncUOv.js"), []) }, + { id: "genie", name: "Genie", import: () => ne(() => import("./chunk-D0YGMca9.js"), []) }, + { id: "gherkin", name: "Gherkin", import: () => ne(() => import("./chunk-DyxjwDmM.js"), []) }, + { + id: "git-commit", + name: "Git Commit Message", + import: () => ne(() => import("./chunk-CdTSL8YE.js"), __vite__mapDeps([48, 49])), + }, + { + id: "git-rebase", + name: "Git Rebase Message", + import: () => ne(() => import("./chunk-DjjNbUIW.js"), __vite__mapDeps([50, 29])), + }, + { id: "gleam", name: "Gleam", import: () => ne(() => import("./chunk-BspZqrRM.js"), []) }, + { + id: "glimmer-js", + name: "Glimmer JS", + aliases: ["gjs"], + import: () => ne(() => import("./chunk-BaML1QMV.js"), __vite__mapDeps([51, 4, 13, 5, 3])), + }, + { + id: "glimmer-ts", + name: "Glimmer TS", + aliases: ["gts"], + import: () => ne(() => import("./chunk-Bc2xwClX.js"), __vite__mapDeps([52, 13, 5, 4, 3])), + }, + { id: "glsl", name: "GLSL", import: () => ne(() => import("./chunk-DXETW7eA.js"), __vite__mapDeps([26, 27])) }, + { id: "gnuplot", name: "Gnuplot", import: () => ne(() => import("./chunk-DdkO51Og.js"), []) }, + { id: "go", name: "Go", import: () => ne(() => import("./chunk-PEFJdsE-.js"), []) }, + { + id: "graphql", + name: "GraphQL", + aliases: ["gql"], + import: () => ne(() => import("./chunk-C-HMFfM3.js"), __vite__mapDeps([36, 4, 13, 37, 38])), + }, + { id: "groovy", name: "Groovy", import: () => ne(() => import("./chunk-gcz8RCvz.js"), []) }, + { + id: "hack", + name: "Hack", + import: () => ne(() => import("./chunk-CUz34qUM.js"), __vite__mapDeps([53, 3, 4, 5, 17])), + }, + { + id: "haml", + name: "Ruby Haml", + import: () => ne(() => import("./chunk-Cne5dW8M.js"), __vite__mapDeps([35, 4, 5])), + }, + { + id: "handlebars", + name: "Handlebars", + aliases: ["hbs"], + import: () => ne(() => import("./chunk-C9dXKwCe.js"), __vite__mapDeps([54, 3, 4, 5, 40])), + }, + { id: "haskell", name: "Haskell", aliases: ["hs"], import: () => ne(() => import("./chunk-Df6bDoY_.js"), []) }, + { id: "haxe", name: "Haxe", import: () => ne(() => import("./chunk-BP3HzMA6.js"), []) }, + { id: "hcl", name: "HashiCorp HCL", import: () => ne(() => import("./chunk-BWvSN4gD.js"), []) }, + { id: "hjson", name: "Hjson", import: () => ne(() => import("./chunk-D5-asLiD.js"), []) }, + { id: "hlsl", name: "HLSL", import: () => ne(() => import("./chunk-D3lLCCz7.js"), []) }, + { id: "html", name: "HTML", import: () => ne(() => import("./chunk-CXhxxCfG.js"), __vite__mapDeps([3, 4, 5])) }, + { + id: "html-derivative", + name: "HTML (Derivative)", + import: () => ne(() => import("./chunk-C3rowuyE.js"), __vite__mapDeps([16, 3, 4, 5])), + }, + { + id: "http", + name: "HTTP", + import: () => + ne(() => import("./chunk-CUBwRw-F.js"), __vite__mapDeps([55, 29, 11, 9, 10, 36, 4, 13, 37, 38])), + }, + { id: "hxml", name: "HXML", import: () => ne(() => import("./chunk-C9tDr53Z.js"), __vite__mapDeps([56, 57])) }, + { id: "hy", name: "Hy", import: () => ne(() => import("./chunk-DFXneXwc.js"), []) }, + { id: "imba", name: "Imba", import: () => ne(() => import("./chunk-DGztddWO.js"), []) }, + { id: "ini", name: "INI", aliases: ["properties"], import: () => ne(() => import("./chunk-BEwlwnbL.js"), []) }, + { id: "java", name: "Java", import: () => ne(() => import("./chunk-CylS5w8V.js"), []) }, + { + id: "javascript", + name: "JavaScript", + aliases: ["js"], + import: () => ne(() => import("./chunk-BMMyXqK5.js"), []), + }, + { + id: "jinja", + name: "Jinja", + import: () => ne(() => import("./chunk-25uR9ifH.js"), __vite__mapDeps([58, 3, 4, 5])), + }, + { id: "jison", name: "Jison", import: () => ne(() => import("./chunk-B5tOyCc9.js"), __vite__mapDeps([59, 4])) }, + { id: "json", name: "JSON", import: () => ne(() => import("./chunk-Cp-IABpG.js"), []) }, + { id: "json5", name: "JSON5", import: () => ne(() => import("./chunk-C9tS-k6U.js"), []) }, + { id: "jsonc", name: "JSON with Comments", import: () => ne(() => import("./chunk-Des-eS-w.js"), []) }, + { id: "jsonl", name: "JSON Lines", import: () => ne(() => import("./chunk-DcaNXYhu.js"), []) }, + { id: "jsonnet", name: "Jsonnet", import: () => ne(() => import("./chunk-DFQXde-d.js"), []) }, + { id: "jssm", name: "JSSM", aliases: ["fsl"], import: () => ne(() => import("./chunk-C2t-YnRu.js"), []) }, + { id: "jsx", name: "JSX", import: () => ne(() => import("./chunk-g9-lgVsj.js"), []) }, + { + id: "julia", + name: "Julia", + aliases: ["jl"], + import: () => ne(() => import("./chunk-DSnTR2wu.js"), __vite__mapDeps([60, 24, 25, 26, 27, 17, 21, 4, 61])), + }, + { + id: "kotlin", + name: "Kotlin", + aliases: ["kt", "kts"], + import: () => ne(() => import("./chunk-BdnUsdx6.js"), []), + }, + { id: "kusto", name: "Kusto", aliases: ["kql"], import: () => ne(() => import("./chunk-BvAqAH-y.js"), []) }, + { + id: "latex", + name: "LaTeX", + import: () => ne(() => import("./chunk-Du0Ki9n9.js"), __vite__mapDeps([62, 63, 61])), + }, + { id: "lean", name: "Lean 4", aliases: ["lean4"], import: () => ne(() => import("./chunk-c1G5yEKj.js"), []) }, + { id: "less", name: "Less", import: () => ne(() => import("./chunk-B1dDrJ26.js"), []) }, + { + id: "liquid", + name: "Liquid", + import: () => ne(() => import("./chunk-BgEskmCb.js"), __vite__mapDeps([64, 3, 4, 5, 11])), + }, + { id: "llvm", name: "LLVM IR", import: () => ne(() => import("./chunk-D32k8WzR.js"), []) }, + { id: "log", name: "Log file", import: () => ne(() => import("./chunk-BFvZA1X9.js"), []) }, + { id: "logo", name: "Logo", import: () => ne(() => import("./chunk-BtOb2qkB.js"), []) }, + { id: "lua", name: "Lua", import: () => ne(() => import("./chunk-Colysff4.js"), __vite__mapDeps([39, 27])) }, + { id: "luau", name: "Luau", import: () => ne(() => import("./chunk-irsrSlf-.js"), []) }, + { + id: "make", + name: "Makefile", + aliases: ["makefile"], + import: () => ne(() => import("./chunk-CHLpvVh8.js"), []), + }, + { + id: "markdown", + name: "Markdown", + aliases: ["md"], + import: () => ne(() => import("./chunk-RrBGtqGR.js"), []), + }, + { + id: "marko", + name: "Marko", + import: () => ne(() => import("./chunk-DO0LZyKx.js"), __vite__mapDeps([65, 5, 66, 7, 4])), + }, + { id: "matlab", name: "MATLAB", import: () => ne(() => import("./chunk-D7o27uSR.js"), []) }, + { + id: "mdc", + name: "MDC", + import: () => ne(() => import("./chunk-B0YXbBSa.js"), __vite__mapDeps([67, 44, 40, 16, 3, 4, 5])), + }, + { id: "mdx", name: "MDX", import: () => ne(() => import("./chunk-Cmh6b_Ma.js"), []) }, + { id: "mermaid", name: "Mermaid", aliases: ["mmd"], import: () => ne(() => import("./chunk-DfEE3Bzs.js"), []) }, + { + id: "mipsasm", + name: "MIPS Assembly", + aliases: ["mips"], + import: () => ne(() => import("./chunk-CKIfxQSi.js"), []), + }, + { id: "mojo", name: "Mojo", import: () => ne(() => import("./chunk-1DNp92w6.js"), []) }, + { id: "move", name: "Move", import: () => ne(() => import("./chunk-BkPM1oy1.js"), []) }, + { + id: "narrat", + name: "Narrat Language", + aliases: ["nar"], + import: () => ne(() => import("./chunk-DRg8JJMk.js"), []), + }, + { + id: "nextflow", + name: "Nextflow", + aliases: ["nf"], + import: () => ne(() => import("./chunk-BU0udk1K.js"), []), + }, + { + id: "nginx", + name: "Nginx", + import: () => ne(() => import("./chunk-Cu1ofpgu.js"), __vite__mapDeps([68, 39, 27])), + }, + { + id: "nim", + name: "Nim", + import: () => ne(() => import("./chunk-DWkon8Hs.js"), __vite__mapDeps([69, 27, 3, 4, 5, 9, 10, 26, 44])), + }, + { id: "nix", name: "Nix", import: () => ne(() => import("./chunk-BepWV7mh.js"), []) }, + { id: "nushell", name: "nushell", aliases: ["nu"], import: () => ne(() => import("./chunk-I3RK9BU8.js"), []) }, + { + id: "objective-c", + name: "Objective-C", + aliases: ["objc"], + import: () => ne(() => import("./chunk-DXmwc3jG.js"), []), + }, + { id: "objective-cpp", name: "Objective-C++", import: () => ne(() => import("./chunk-CLxacb5B.js"), []) }, + { id: "ocaml", name: "OCaml", import: () => ne(() => import("./chunk-C0hk2d4L.js"), []) }, + { id: "pascal", name: "Pascal", import: () => ne(() => import("./chunk-D93ZcfNL.js"), []) }, + { + id: "perl", + name: "Perl", + import: () => ne(() => import("./chunk-BgfZh1f1.js"), __vite__mapDeps([70, 3, 4, 5, 9, 10, 17])), + }, + { + id: "php", + name: "PHP", + import: () => ne(() => import("./chunk-Cf4Oy6XI.js"), __vite__mapDeps([71, 3, 4, 5, 9, 10, 17, 11])), + }, + { id: "plsql", name: "PL/SQL", import: () => ne(() => import("./chunk-ChMvpjG-.js"), []) }, + { + id: "po", + name: "Gettext PO", + aliases: ["pot", "potx"], + import: () => ne(() => import("./chunk-BTJTHyun.js"), []), + }, + { id: "polar", name: "Polar", import: () => ne(() => import("./chunk-C0HS_06l.js"), []) }, + { id: "postcss", name: "PostCSS", import: () => ne(() => import("./chunk-CXtECtnM.js"), []) }, + { id: "powerquery", name: "PowerQuery", import: () => ne(() => import("./chunk-CEu0bR-o.js"), []) }, + { + id: "powershell", + name: "PowerShell", + aliases: ["ps", "ps1"], + import: () => ne(() => import("./chunk-Dpen1YoG.js"), []), + }, + { id: "prisma", name: "Prisma", import: () => ne(() => import("./chunk-Dd19v3D-.js"), []) }, + { id: "prolog", name: "Prolog", import: () => ne(() => import("./chunk-CbFg5uaA.js"), []) }, + { + id: "proto", + name: "Protocol Buffer 3", + aliases: ["protobuf"], + import: () => ne(() => import("./chunk-DyJlTyXw.js"), []), + }, + { + id: "pug", + name: "Pug", + aliases: ["jade"], + import: () => ne(() => import("./chunk-Jcf2cZT6.js"), __vite__mapDeps([72, 4, 5, 3])), + }, + { id: "puppet", name: "Puppet", import: () => ne(() => import("./chunk-BMWR74SV.js"), []) }, + { id: "purescript", name: "PureScript", import: () => ne(() => import("./chunk-CtrldY6v.js"), []) }, + { id: "python", name: "Python", aliases: ["py"], import: () => ne(() => import("./chunk-B6aJPvgy.js"), []) }, + { id: "qml", name: "QML", import: () => ne(() => import("./chunk-DXHVBXt-.js"), __vite__mapDeps([73, 4])) }, + { id: "qmldir", name: "QML Directory", import: () => ne(() => import("./chunk-C8lEn-DE.js"), []) }, + { id: "qss", name: "Qt Style Sheets", import: () => ne(() => import("./chunk-IeuSbFQv.js"), []) }, + { id: "r", name: "R", import: () => ne(() => import("./chunk-C2tOF0e5.js"), []) }, + { id: "racket", name: "Racket", import: () => ne(() => import("./chunk-BqYA7rlc.js"), []) }, + { id: "raku", name: "Raku", aliases: ["perl6"], import: () => ne(() => import("./chunk-DXvB9xmW.js"), []) }, + { + id: "razor", + name: "ASP.NET Razor", + import: () => ne(() => import("./chunk-BSCcYQo-.js"), __vite__mapDeps([74, 3, 4, 5, 75])), + }, + { id: "reg", name: "Windows Registry Script", import: () => ne(() => import("./chunk-C-SQnVFl.js"), []) }, + { id: "regexp", name: "RegExp", aliases: ["regex"], import: () => ne(() => import("./chunk-CDVJQ6XC.js"), []) }, + { id: "rel", name: "Rel", import: () => ne(() => import("./chunk-C3B-1QV4.js"), []) }, + { id: "riscv", name: "RISC-V", import: () => ne(() => import("./chunk-BM1_JUlF.js"), []) }, + { + id: "rst", + name: "reStructuredText", + import: () => + ne( + () => import("./chunk-BAAX8Kh4.js"), + __vite__mapDeps([ + 76, 16, 3, 4, 5, 24, 25, 26, 27, 17, 21, 29, 40, 77, 34, 35, 9, 10, 36, 13, 37, 38, 39, + ]), + ), + }, + { + id: "ruby", + name: "Ruby", + aliases: ["rb"], + import: () => + ne( + () => import("./chunk-3mfGJbgy.js"), + __vite__mapDeps([34, 3, 4, 5, 35, 9, 10, 17, 36, 13, 37, 38, 24, 25, 26, 27, 29, 39, 40]), + ), + }, + { id: "rust", name: "Rust", aliases: ["rs"], import: () => ne(() => import("./chunk-B1yitclQ.js"), []) }, + { id: "sas", name: "SAS", import: () => ne(() => import("./chunk-D1K3uGbs.js"), __vite__mapDeps([78, 17])) }, + { id: "sass", name: "Sass", import: () => ne(() => import("./chunk-Cj5Yp3dK.js"), []) }, + { id: "scala", name: "Scala", import: () => ne(() => import("./chunk-C151Ov-r.js"), []) }, + { id: "scheme", name: "Scheme", import: () => ne(() => import("./chunk-C98Dy4si.js"), []) }, + { id: "scss", name: "SCSS", import: () => ne(() => import("./chunk-vbB5lEOJ.js"), __vite__mapDeps([7, 5])) }, + { + id: "sdbl", + name: "1C (Query)", + aliases: ["1c-query"], + import: () => ne(() => import("./chunk-DVxCFoDh.js"), []), + }, + { + id: "shaderlab", + name: "ShaderLab", + aliases: ["shader"], + import: () => ne(() => import("./chunk-C3IMAYVA.js"), __vite__mapDeps([79, 80])), + }, + { + id: "shellscript", + name: "Shell", + aliases: ["bash", "sh", "shell", "zsh"], + import: () => ne(() => import("./chunk-Yzrsuije.js"), []), + }, + { + id: "shellsession", + name: "Shell Session", + aliases: ["console"], + import: () => ne(() => import("./chunk-D9kx8fwg.js"), __vite__mapDeps([81, 29])), + }, + { id: "smalltalk", name: "Smalltalk", import: () => ne(() => import("./chunk-BERRCDM3.js"), []) }, + { id: "solidity", name: "Solidity", import: () => ne(() => import("./chunk-BbcW6ACK.js"), []) }, + { + id: "soy", + name: "Closure Templates", + aliases: ["closure-templates"], + import: () => ne(() => import("./chunk-3ipgsugG.js"), __vite__mapDeps([82, 3, 4, 5])), + }, + { + id: "sparql", + name: "SPARQL", + import: () => ne(() => import("./chunk-CrJ-YhoI.js"), __vite__mapDeps([83, 84])), + }, + { + id: "splunk", + name: "Splunk Query Language", + aliases: ["spl"], + import: () => ne(() => import("./chunk-BtCnVYZw.js"), []), + }, + { id: "sql", name: "SQL", import: () => ne(() => import("./chunk-B9xm8XSJ.js"), []) }, + { id: "ssh-config", name: "SSH Config", import: () => ne(() => import("./chunk-_ykCGR6B.js"), []) }, + { + id: "stata", + name: "Stata", + import: () => ne(() => import("./chunk-CiIkovmz.js"), __vite__mapDeps([85, 17])), + }, + { id: "stylus", name: "Stylus", aliases: ["styl"], import: () => ne(() => import("./chunk-BEDo0Tqx.js"), []) }, + { + id: "svelte", + name: "Svelte", + import: () => ne(() => import("./chunk-CMUws-av.js"), __vite__mapDeps([86, 4, 13, 5, 14])), + }, + { id: "swift", name: "Swift", import: () => ne(() => import("./chunk-fve9TYiY.js"), []) }, + { id: "system-verilog", name: "SystemVerilog", import: () => ne(() => import("./chunk-CnnmHF94.js"), []) }, + { id: "systemd", name: "Systemd Units", import: () => ne(() => import("./chunk-4A_iFExJ.js"), []) }, + { + id: "talonscript", + name: "TalonScript", + aliases: ["talon"], + import: () => ne(() => import("./chunk-CkByrt1z.js"), []), + }, + { id: "tasl", name: "Tasl", import: () => ne(() => import("./chunk-QIJgUcNo.js"), []) }, + { id: "tcl", name: "Tcl", import: () => ne(() => import("./chunk-dwOrl1Do.js"), []) }, + { + id: "templ", + name: "Templ", + import: () => ne(() => import("./chunk-B47ASqzZ.js"), __vite__mapDeps([87, 88, 4, 5])), + }, + { + id: "terraform", + name: "Terraform", + aliases: ["tf", "tfvars"], + import: () => ne(() => import("./chunk-BETggiCN.js"), []), + }, + { id: "tex", name: "TeX", import: () => ne(() => import("./chunk-jQY0bNUL.js"), __vite__mapDeps([63, 61])) }, + { id: "toml", name: "TOML", import: () => ne(() => import("./chunk-vGWfd6FD.js"), []) }, + { + id: "ts-tags", + name: "TypeScript with Tags", + aliases: ["lit"], + import: () => + ne(() => import("./chunk-DIHx2sdZ.js"), __vite__mapDeps([89, 13, 5, 4, 26, 27, 3, 17, 9, 10])), + }, + { id: "tsv", name: "TSV", import: () => ne(() => import("./chunk-B_m7g4N7.js"), []) }, + { id: "tsx", name: "TSX", import: () => ne(() => import("./chunk-COt5Ahok.js"), []) }, + { id: "turtle", name: "Turtle", import: () => ne(() => import("./chunk-BsS91CYL.js"), []) }, + { + id: "twig", + name: "Twig", + import: () => + ne( + () => import("./chunk-T7J2jLj3.js"), + __vite__mapDeps([ + 90, 5, 4, 7, 71, 3, 9, 10, 17, 11, 21, 34, 35, 36, 13, 37, 38, 24, 25, 26, 27, 29, 39, 40, + ]), + ), + }, + { + id: "typescript", + name: "TypeScript", + aliases: ["ts"], + import: () => ne(() => import("./chunk-DlfHMoPT.js"), []), + }, + { + id: "typespec", + name: "TypeSpec", + aliases: ["tsp"], + import: () => ne(() => import("./chunk-Df68jz8_.js"), []), + }, + { id: "typst", name: "Typst", aliases: ["typ"], import: () => ne(() => import("./chunk-DHCkPAjA.js"), []) }, + { id: "v", name: "V", import: () => ne(() => import("./chunk-DljmTZ5-.js"), []) }, + { id: "vala", name: "Vala", import: () => ne(() => import("./chunk-CsfeWuGM.js"), []) }, + { id: "vb", name: "Visual Basic", aliases: ["cmd"], import: () => ne(() => import("./chunk-D17OF-Vu.js"), []) }, + { id: "verilog", name: "Verilog", import: () => ne(() => import("./chunk-BQ8w6xss.js"), []) }, + { id: "vhdl", name: "VHDL", import: () => ne(() => import("./chunk-CeAyd5Ju.js"), []) }, + { + id: "viml", + name: "Vim Script", + aliases: ["vim", "vimscript"], + import: () => ne(() => import("./chunk-CJc9bBzg.js"), []), + }, + { + id: "vue", + name: "Vue", + import: () => ne(() => import("./chunk-DQ46CBc_.js"), __vite__mapDeps([91, 5, 4, 13, 11, 16, 3])), + }, + { + id: "vue-html", + name: "Vue HTML", + import: () => ne(() => import("./chunk-D1_LrSGp.js"), __vite__mapDeps([92, 91, 5, 4, 13, 11, 16, 3])), + }, + { id: "vyper", name: "Vyper", aliases: ["vy"], import: () => ne(() => import("./chunk-CDx5xZoG.js"), []) }, + { id: "wasm", name: "WebAssembly", import: () => ne(() => import("./chunk-MzD3tlZU.js"), []) }, + { id: "wenyan", name: "Wenyan", aliases: ["文言"], import: () => ne(() => import("./chunk-BV7otONQ.js"), []) }, + { id: "wgsl", name: "WGSL", import: () => ne(() => import("./chunk-Dx-B1_4e.js"), []) }, + { + id: "wikitext", + name: "Wikitext", + aliases: ["mediawiki", "wiki"], + import: () => ne(() => import("./chunk-BhOHFoWU.js"), []), + }, + { id: "wit", name: "WebAssembly Interface Types", import: () => ne(() => import("./chunk-5i3qLPDT.js"), []) }, + { id: "wolfram", name: "Wolfram", aliases: ["wl"], import: () => ne(() => import("./chunk-lXgVvXCa.js"), []) }, + { id: "xml", name: "XML", import: () => ne(() => import("./chunk-B_vNuMnf.js"), __vite__mapDeps([9, 10])) }, + { id: "xsl", name: "XSL", import: () => ne(() => import("./chunk-CJOTNe-S.js"), __vite__mapDeps([93, 9, 10])) }, + { id: "yaml", name: "YAML", aliases: ["yml"], import: () => ne(() => import("./chunk-Buea-lGh.js"), []) }, + { id: "zenscript", name: "ZenScript", import: () => ne(() => import("./chunk-DVFEvuxE.js"), []) }, + { id: "zig", name: "Zig", import: () => ne(() => import("./chunk-CK-KhNJq.js"), []) }, + ], + g5t = Object.fromEntries(sct.map((t) => [t.id, t.import])), + v5t = Object.fromEntries( + sct.flatMap((t) => { + var e + return ((e = t.aliases) == null ? void 0 : e.map((n) => [n, t.import])) || [] + }), + ), + u$ = { ...g5t, ...v5t }, + b5t = [ + { + id: "andromeeda", + displayName: "Andromeeda", + type: "dark", + import: () => ne(() => import("./chunk-C3khCPGq.js"), []), + }, + { + id: "aurora-x", + displayName: "Aurora X", + type: "dark", + import: () => ne(() => import("./chunk-D-2ljcwZ.js"), []), + }, + { + id: "ayu-dark", + displayName: "Ayu Dark", + type: "dark", + import: () => ne(() => import("./chunk-Cv9koXgw.js"), []), + }, + { + id: "catppuccin-frappe", + displayName: "Catppuccin Frappé", + type: "dark", + import: () => ne(() => import("./chunk-Btyk0a-E.js"), []), + }, + { + id: "catppuccin-latte", + displayName: "Catppuccin Latte", + type: "light", + import: () => ne(() => import("./chunk-q-j0iyEw.js"), []), + }, + { + id: "catppuccin-macchiato", + displayName: "Catppuccin Macchiato", + type: "dark", + import: () => ne(() => import("./chunk-brDaU2vB.js"), []), + }, + { + id: "catppuccin-mocha", + displayName: "Catppuccin Mocha", + type: "dark", + import: () => ne(() => import("./chunk-BR7mELCv.js"), []), + }, + { + id: "dark-plus", + displayName: "Dark Plus", + type: "dark", + import: () => ne(() => import("./chunk-C3mMm8J8.js"), []), + }, + { + id: "dracula", + displayName: "Dracula Theme", + type: "dark", + import: () => ne(() => import("./chunk-BzJJZx-M.js"), []), + }, + { + id: "dracula-soft", + displayName: "Dracula Theme Soft", + type: "dark", + import: () => ne(() => import("./chunk-BXkSAIEj.js"), []), + }, + { + id: "everforest-dark", + displayName: "Everforest Dark", + type: "dark", + import: () => ne(() => import("./chunk-BgDCqdQA.js"), []), + }, + { + id: "everforest-light", + displayName: "Everforest Light", + type: "light", + import: () => ne(() => import("./chunk-C8M2exoo.js"), []), + }, + { + id: "github-dark", + displayName: "GitHub Dark", + type: "dark", + import: () => ne(() => import("./chunk-DHJKELXO.js"), []), + }, + { + id: "github-dark-default", + displayName: "GitHub Dark Default", + type: "dark", + import: () => ne(() => import("./chunk-Cuk6v7N8.js"), []), + }, + { + id: "github-dark-dimmed", + displayName: "GitHub Dark Dimmed", + type: "dark", + import: () => ne(() => import("./chunk-DH5Ifo-i.js"), []), + }, + { + id: "github-dark-high-contrast", + displayName: "GitHub Dark High Contrast", + type: "dark", + import: () => ne(() => import("./chunk-E3gJ1_iC.js"), []), + }, + { + id: "github-light", + displayName: "GitHub Light", + type: "light", + import: () => ne(() => import("./chunk-DAi9KRSo.js"), []), + }, + { + id: "github-light-default", + displayName: "GitHub Light Default", + type: "light", + import: () => ne(() => import("./chunk-D7oLnXFd.js"), []), + }, + { + id: "github-light-high-contrast", + displayName: "GitHub Light High Contrast", + type: "light", + import: () => ne(() => import("./chunk-BfjtVDDH.js"), []), + }, + { + id: "gruvbox-dark-hard", + displayName: "Gruvbox Dark Hard", + type: "dark", + import: () => ne(() => import("./chunk-Hhtzho9R.js"), []), + }, + { + id: "gruvbox-dark-medium", + displayName: "Gruvbox Dark Medium", + type: "dark", + import: () => ne(() => import("./chunk-DFR6f4Jn.js"), []), + }, + { + id: "gruvbox-dark-soft", + displayName: "Gruvbox Dark Soft", + type: "dark", + import: () => ne(() => import("./chunk-BFVdkX1U.js"), []), + }, + { + id: "gruvbox-light-hard", + displayName: "Gruvbox Light Hard", + type: "light", + import: () => ne(() => import("./chunk-7i6GEmcB.js"), []), + }, + { + id: "gruvbox-light-medium", + displayName: "Gruvbox Light Medium", + type: "light", + import: () => ne(() => import("./chunk-Dcsh5twl.js"), []), + }, + { + id: "gruvbox-light-soft", + displayName: "Gruvbox Light Soft", + type: "light", + import: () => ne(() => import("./chunk-leinZj1a.js"), []), + }, + { + id: "houston", + displayName: "Houston", + type: "dark", + import: () => ne(() => import("./chunk-DnULxvSX.js"), []), + }, + { + id: "kanagawa-dragon", + displayName: "Kanagawa Dragon", + type: "dark", + import: () => ne(() => import("./chunk-CkXjmgJE.js"), []), + }, + { + id: "kanagawa-lotus", + displayName: "Kanagawa Lotus", + type: "light", + import: () => ne(() => import("./chunk-CfQXZHmo.js"), []), + }, + { + id: "kanagawa-wave", + displayName: "Kanagawa Wave", + type: "dark", + import: () => ne(() => import("./chunk-DWedfzmr.js"), []), + }, + { + id: "laserwave", + displayName: "LaserWave", + type: "dark", + import: () => ne(() => import("./chunk-DUszq2jm.js"), []), + }, + { + id: "light-plus", + displayName: "Light Plus", + type: "light", + import: () => ne(() => import("./chunk-B7mTdjB0.js"), []), + }, + { + id: "material-theme", + displayName: "Material Theme", + type: "dark", + import: () => ne(() => import("./chunk-D5KoaKCx.js"), []), + }, + { + id: "material-theme-darker", + displayName: "Material Theme Darker", + type: "dark", + import: () => ne(() => import("./chunk-BfHTSMKl.js"), []), + }, + { + id: "material-theme-lighter", + displayName: "Material Theme Lighter", + type: "light", + import: () => ne(() => import("./chunk-B0m2ddpp.js"), []), + }, + { + id: "material-theme-ocean", + displayName: "Material Theme Ocean", + type: "dark", + import: () => ne(() => import("./chunk-CyktbL80.js"), []), + }, + { + id: "material-theme-palenight", + displayName: "Material Theme Palenight", + type: "dark", + import: () => ne(() => import("./chunk-Csfq5Kiy.js"), []), + }, + { + id: "min-dark", + displayName: "Min Dark", + type: "dark", + import: () => ne(() => import("./chunk-CafNBF8u.js"), []), + }, + { + id: "min-light", + displayName: "Min Light", + type: "light", + import: () => ne(() => import("./chunk-CTRr51gU.js"), []), + }, + { + id: "monokai", + displayName: "Monokai", + type: "dark", + import: () => ne(() => import("./chunk-D4h5O-jR.js"), []), + }, + { + id: "night-owl", + displayName: "Night Owl", + type: "dark", + import: () => ne(() => import("./chunk-C39BiMTA.js"), []), + }, + { id: "nord", displayName: "Nord", type: "dark", import: () => ne(() => import("./chunk-Ddv68eIx.js"), []) }, + { + id: "one-dark-pro", + displayName: "One Dark Pro", + type: "dark", + import: () => ne(() => import("./chunk-DVMEJ2y_.js"), []), + }, + { + id: "one-light", + displayName: "One Light", + type: "light", + import: () => ne(() => import("./chunk-PoHY5YXO.js"), []), + }, + { + id: "plastic", + displayName: "Plastic", + type: "dark", + import: () => ne(() => import("./chunk-3e1v2bzS.js"), []), + }, + { + id: "poimandres", + displayName: "Poimandres", + type: "dark", + import: () => ne(() => import("./chunk-CS3Unz2-.js"), []), + }, + { id: "red", displayName: "Red", type: "dark", import: () => ne(() => import("./chunk-bN70gL4F.js"), []) }, + { + id: "rose-pine", + displayName: "Rosé Pine", + type: "dark", + import: () => ne(() => import("./chunk-BHrmToEH.js"), []), + }, + { + id: "rose-pine-dawn", + displayName: "Rosé Pine Dawn", + type: "light", + import: () => ne(() => import("./chunk-CnK8MTSM.js"), []), + }, + { + id: "rose-pine-moon", + displayName: "Rosé Pine Moon", + type: "dark", + import: () => ne(() => import("./chunk-NleAzG8P.js"), []), + }, + { + id: "slack-dark", + displayName: "Slack Dark", + type: "dark", + import: () => ne(() => import("./chunk-BthQWCQV.js"), []), + }, + { + id: "slack-ochin", + displayName: "Slack Ochin", + type: "light", + import: () => ne(() => import("./chunk-DqwNpetd.js"), []), + }, + { + id: "snazzy-light", + displayName: "Snazzy Light", + type: "light", + import: () => ne(() => import("./chunk-Bw305WKR.js"), []), + }, + { + id: "solarized-dark", + displayName: "Solarized Dark", + type: "dark", + import: () => ne(() => import("./chunk-DXbdFlpD.js"), []), + }, + { + id: "solarized-light", + displayName: "Solarized Light", + type: "light", + import: () => ne(() => import("./chunk-L9t79GZl.js"), []), + }, + { + id: "synthwave-84", + displayName: "Synthwave '84", + type: "dark", + import: () => ne(() => import("./chunk-CbfX1IO0.js"), []), + }, + { + id: "tokyo-night", + displayName: "Tokyo Night", + type: "dark", + import: () => ne(() => import("./chunk-hegEt444.js"), []), + }, + { + id: "vesper", + displayName: "Vesper", + type: "dark", + import: () => ne(() => import("./chunk-DU1UobuO.js"), []), + }, + { + id: "vitesse-black", + displayName: "Vitesse Black", + type: "dark", + import: () => ne(() => import("./chunk-Bkuqu6BP.js"), []), + }, + { + id: "vitesse-dark", + displayName: "Vitesse Dark", + type: "dark", + import: () => ne(() => import("./chunk-D0r3Knsf.js"), []), + }, + { + id: "vitesse-light", + displayName: "Vitesse Light", + type: "light", + import: () => ne(() => import("./chunk-CVO1_9PV.js"), []), + }, + ], + act = Object.fromEntries(b5t.map((t) => [t.id, t.import])) +class p$ extends Error { + constructor(e) { + super(e), (this.name = "ShikiError") + } +} +function y5t() { + return 2147483648 +} +function k5t() { + return typeof performance < "u" ? performance.now() : Date.now() +} +const x5t = (t, e) => t + ((e - (t % e)) % e) +async function w5t(t) { + let e, n + const o = {} + function r(g) { + ;(n = g), (o.HEAPU8 = new Uint8Array(g)), (o.HEAPU32 = new Uint32Array(g)) + } + function i(g, b, v) { + o.HEAPU8.copyWithin(g, b, b + v) + } + function s(g) { + try { + return e.grow((g - n.byteLength + 65535) >>> 16), r(e.buffer), 1 + } catch {} + } + function a(g) { + const b = o.HEAPU8.length + g = g >>> 0 + const v = y5t() + if (g > v) return !1 + for (let w = 1; w <= 4; w *= 2) { + let _ = b * (1 + 0.2 / w) + _ = Math.min(_, g + 100663296) + const y = Math.min(v, x5t(Math.max(g, _), 65536)) + if (s(y)) return !0 + } + return !1 + } + const c = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0 + function d(g, b, v = 1024) { + const w = b + v + let _ = b + for (; g[_] && !(_ >= w); ) ++_ + if (_ - b > 16 && g.buffer && c) return c.decode(g.subarray(b, _)) + let y = "" + for (; b < _; ) { + let C = g[b++] + if (!(C & 128)) { + y += String.fromCharCode(C) + continue + } + const S = g[b++] & 63 + if ((C & 224) === 192) { + y += String.fromCharCode(((C & 31) << 6) | S) + continue + } + const P = g[b++] & 63 + if ( + ((C & 240) === 224 + ? (C = ((C & 15) << 12) | (S << 6) | P) + : (C = ((C & 7) << 18) | (S << 12) | (P << 6) | (g[b++] & 63)), + C < 65536) + ) + y += String.fromCharCode(C) + else { + const R = C - 65536 + y += String.fromCharCode(55296 | (R >> 10), 56320 | (R & 1023)) + } + } + return y + } + function u(g, b) { + return g ? d(o.HEAPU8, g, b) : "" + } + const m = { emscripten_get_now: k5t, emscripten_memcpy_big: i, emscripten_resize_heap: a, fd_write: () => 0 } + async function f() { + const b = await t({ env: m, wasi_snapshot_preview1: m }) + ;(e = b.memory), r(e.buffer), Object.assign(o, b), (o.UTF8ToString = u) + } + return await f(), o +} +var _5t = Object.defineProperty, + C5t = (t, e, n) => (e in t ? _5t(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : (t[e] = n)), + yr = (t, e, n) => C5t(t, typeof e != "symbol" ? e + "" : e, n) +let Er = null +function S5t(t) { + throw new p$(t.UTF8ToString(t.getLastOnigError())) +} +class VC { + constructor(e) { + yr(this, "utf16Length"), + yr(this, "utf8Length"), + yr(this, "utf16Value"), + yr(this, "utf8Value"), + yr(this, "utf16OffsetToUtf8"), + yr(this, "utf8OffsetToUtf16") + const n = e.length, + o = VC._utf8ByteLength(e), + r = o !== n, + i = r ? new Uint32Array(n + 1) : null + r && (i[n] = o) + const s = r ? new Uint32Array(o + 1) : null + r && (s[o] = n) + const a = new Uint8Array(o) + let c = 0 + for (let d = 0; d < n; d++) { + const u = e.charCodeAt(d) + let m = u, + f = !1 + if (u >= 55296 && u <= 56319 && d + 1 < n) { + const g = e.charCodeAt(d + 1) + g >= 56320 && g <= 57343 && ((m = (((u - 55296) << 10) + 65536) | (g - 56320)), (f = !0)) + } + r && + ((i[d] = c), + f && (i[d + 1] = c), + m <= 127 + ? (s[c + 0] = d) + : m <= 2047 + ? ((s[c + 0] = d), (s[c + 1] = d)) + : m <= 65535 + ? ((s[c + 0] = d), (s[c + 1] = d), (s[c + 2] = d)) + : ((s[c + 0] = d), (s[c + 1] = d), (s[c + 2] = d), (s[c + 3] = d))), + m <= 127 + ? (a[c++] = m) + : m <= 2047 + ? ((a[c++] = 192 | ((m & 1984) >>> 6)), (a[c++] = 128 | ((m & 63) >>> 0))) + : m <= 65535 + ? ((a[c++] = 224 | ((m & 61440) >>> 12)), + (a[c++] = 128 | ((m & 4032) >>> 6)), + (a[c++] = 128 | ((m & 63) >>> 0))) + : ((a[c++] = 240 | ((m & 1835008) >>> 18)), + (a[c++] = 128 | ((m & 258048) >>> 12)), + (a[c++] = 128 | ((m & 4032) >>> 6)), + (a[c++] = 128 | ((m & 63) >>> 0))), + f && d++ + } + ;(this.utf16Length = n), + (this.utf8Length = o), + (this.utf16Value = e), + (this.utf8Value = a), + (this.utf16OffsetToUtf8 = i), + (this.utf8OffsetToUtf16 = s) + } + static _utf8ByteLength(e) { + let n = 0 + for (let o = 0, r = e.length; o < r; o++) { + const i = e.charCodeAt(o) + let s = i, + a = !1 + if (i >= 55296 && i <= 56319 && o + 1 < r) { + const c = e.charCodeAt(o + 1) + c >= 56320 && c <= 57343 && ((s = (((i - 55296) << 10) + 65536) | (c - 56320)), (a = !0)) + } + s <= 127 ? (n += 1) : s <= 2047 ? (n += 2) : s <= 65535 ? (n += 3) : (n += 4), a && o++ + } + return n + } + createString(e) { + const n = e.omalloc(this.utf8Length) + return e.HEAPU8.set(this.utf8Value, n), n + } +} +const HC = class _l { + constructor(e) { + if ( + (yr(this, "id", ++_l.LAST_ID), + yr(this, "_onigBinding"), + yr(this, "content"), + yr(this, "utf16Length"), + yr(this, "utf8Length"), + yr(this, "utf16OffsetToUtf8"), + yr(this, "utf8OffsetToUtf16"), + yr(this, "ptr"), + !Er) + ) + throw new p$("Must invoke loadWasm first.") + ;(this._onigBinding = Er), (this.content = e) + const n = new VC(e) + ;(this.utf16Length = n.utf16Length), + (this.utf8Length = n.utf8Length), + (this.utf16OffsetToUtf8 = n.utf16OffsetToUtf8), + (this.utf8OffsetToUtf16 = n.utf8OffsetToUtf16), + this.utf8Length < 1e4 && !_l._sharedPtrInUse + ? (_l._sharedPtr || (_l._sharedPtr = Er.omalloc(1e4)), + (_l._sharedPtrInUse = !0), + Er.HEAPU8.set(n.utf8Value, _l._sharedPtr), + (this.ptr = _l._sharedPtr)) + : (this.ptr = n.createString(Er)) + } + convertUtf8OffsetToUtf16(e) { + return this.utf8OffsetToUtf16 + ? e < 0 + ? 0 + : e > this.utf8Length + ? this.utf16Length + : this.utf8OffsetToUtf16[e] + : e + } + convertUtf16OffsetToUtf8(e) { + return this.utf16OffsetToUtf8 + ? e < 0 + ? 0 + : e > this.utf16Length + ? this.utf8Length + : this.utf16OffsetToUtf8[e] + : e + } + dispose() { + this.ptr === _l._sharedPtr ? (_l._sharedPtrInUse = !1) : this._onigBinding.ofree(this.ptr) + } +} +yr(HC, "LAST_ID", 0) +yr(HC, "_sharedPtr", 0) +yr(HC, "_sharedPtrInUse", !1) +let lct = HC +class A5t { + constructor(e) { + if ((yr(this, "_onigBinding"), yr(this, "_ptr"), !Er)) throw new p$("Must invoke loadWasm first.") + const n = [], + o = [] + for (let a = 0, c = e.length; a < c; a++) { + const d = new VC(e[a]) + ;(n[a] = d.createString(Er)), (o[a] = d.utf8Length) + } + const r = Er.omalloc(4 * e.length) + Er.HEAPU32.set(n, r / 4) + const i = Er.omalloc(4 * e.length) + Er.HEAPU32.set(o, i / 4) + const s = Er.createOnigScanner(r, i, e.length) + for (let a = 0, c = e.length; a < c; a++) Er.ofree(n[a]) + Er.ofree(i), Er.ofree(r), s === 0 && S5t(Er), (this._onigBinding = Er), (this._ptr = s) + } + dispose() { + this._onigBinding.freeOnigScanner(this._ptr) + } + findNextMatchSync(e, n, o) { + let r = 0 + if ((typeof o == "number" && (r = o), typeof e == "string")) { + e = new lct(e) + const i = this._findNextMatchSync(e, n, !1, r) + return e.dispose(), i + } + return this._findNextMatchSync(e, n, !1, r) + } + _findNextMatchSync(e, n, o, r) { + const i = this._onigBinding, + s = i.findNextOnigScannerMatch(this._ptr, e.id, e.ptr, e.utf8Length, e.convertUtf16OffsetToUtf8(n), r) + if (s === 0) return null + const a = i.HEAPU32 + let c = s / 4 + const d = a[c++], + u = a[c++], + m = [] + for (let f = 0; f < u; f++) { + const g = e.convertUtf8OffsetToUtf16(a[c++]), + b = e.convertUtf8OffsetToUtf16(a[c++]) + m[f] = { start: g, end: b, length: b - g } + } + return { index: d, captureIndices: m } + } +} +function P5t(t) { + return typeof t.instantiator == "function" +} +function R5t(t) { + return typeof t.default == "function" +} +function T5t(t) { + return typeof t.data < "u" +} +function I5t(t) { + return typeof Response < "u" && t instanceof Response +} +function M5t(t) { + var e + return ( + (typeof ArrayBuffer < "u" && (t instanceof ArrayBuffer || ArrayBuffer.isView(t))) || + (typeof Buffer < "u" && ((e = Buffer.isBuffer) == null ? void 0 : e.call(Buffer, t))) || + (typeof SharedArrayBuffer < "u" && t instanceof SharedArrayBuffer) || + (typeof Uint32Array < "u" && t instanceof Uint32Array) + ) +} +let ox +function j5t(t) { + if (ox) return ox + async function e() { + Er = await w5t(async (n) => { + let o = t + return ( + (o = await o), + typeof o == "function" && (o = await o(n)), + typeof o == "function" && (o = await o(n)), + P5t(o) + ? (o = await o.instantiator(n)) + : R5t(o) + ? (o = await o.default(n)) + : (T5t(o) && (o = o.data), + I5t(o) + ? typeof WebAssembly.instantiateStreaming == "function" + ? (o = await E5t(o)(n)) + : (o = await z5t(o)(n)) + : M5t(o) + ? (o = await AP(o)(n)) + : o instanceof WebAssembly.Module + ? (o = await AP(o)(n)) + : "default" in o && + o.default instanceof WebAssembly.Module && + (o = await AP(o.default)(n))), + "instance" in o && (o = o.instance), + "exports" in o && (o = o.exports), + o + ) + }) + } + return (ox = e()), ox +} +function AP(t) { + return (e) => WebAssembly.instantiate(t, e) +} +function E5t(t) { + return (e) => WebAssembly.instantiateStreaming(t, e) +} +function z5t(t) { + return async (e) => { + const n = await t.arrayBuffer() + return WebAssembly.instantiate(n, e) + } +} +async function $5t(t) { + return ( + t && (await j5t(t)), + { + createScanner(e) { + return new A5t(e.map((n) => (typeof n == "string" ? n : n.source))) + }, + createString(e) { + return new lct(e) + }, + } + ) +} +const L5t = f5t({ langs: u$, themes: act, engine: () => $5t(ne(() => import("./chunk-CG6Dc4jp.js"), [])) }), + AU = { + text: "txt", + plaintext: "txt", + plain: "txt", + sh: "shell", + bash: "shell", + zsh: "shell", + shellscript: "shell", + "shell-script": "shell", + console: "shell", + terminal: "shell", + js: "javascript", + node: "javascript", + nodejs: "javascript", + ts: "typescript", + py: "python", + python3: "python", + py3: "python", + rb: "ruby", + md: "markdown", + cpp: "c++", + cc: "c++", + cs: "c#", + csharp: "c#", + htm: "html", + yml: "yaml", + dockerfile: "docker", + styles: "css", + style: "css", + jsonc: "json", + json5: "json", + xaml: "xml", + xhtml: "xml", + svg: "xml", + mysql: "sql", + postgresql: "sql", + postgres: "sql", + pgsql: "sql", + plsql: "sql", + oracle: "sql", + }, + PU = new Set() +function Id(t) { + if (t === void 0) return "txt" + const e = t.toLowerCase() + return e in u$ + ? e + : e in AU + ? AU[e] + : (t !== "txt" && + !PU.has(t) && + (console.warn(`[Shiki] Unrecognized language '${t}', defaulting to txt.`), PU.add(t)), + "txt") +} +const D5t = (t) => za.loadedLanguages.has(Id(t)), + N5t = 0, + RU = ["shell", "log"], + za = { + instance: null, + instanceInitPromise: null, + loadedLanguages: new Set(["txt"]), + pendingLanguageLoads: new Map(), + }, + cct = async (t) => { + try { + const e = Id(t) + za.instanceInitPromise || + (za.instanceInitPromise = (async () => { + const o = await L5t({ themes: Object.keys(act), langs: RU }) + return (za.instance = o), RU.forEach((r) => za.loadedLanguages.add(r)), o + })()) + const n = await za.instanceInitPromise + if (!za.loadedLanguages.has(e)) { + let o = za.pendingLanguageLoads.get(e) + o || + ((o = (async () => { + try { + N5t > 0, await n.loadLanguage(e), za.loadedLanguages.add(e) + } catch (r) { + throw (console.error(`[Shiki] Failed to load language ${e}:`, r), r) + } finally { + za.pendingLanguageLoads.delete(e) + } + })()), + za.pendingLanguageLoads.set(e, o)), + await o + } + return n + } catch (e) { + throw (console.error("[Shiki] Error in getHighlighter:", e), e) + } + } +const O5t = /^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, + F5t = /^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, + B5t = {} +function TU(t, e) { + return (B5t.jsx ? F5t : O5t).test(t) +} +var zm = {}, + PP, + IU +function U5t() { + if (IU) return PP + IU = 1 + var t = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, + e = /\n/g, + n = /^\s*/, + o = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/, + r = /^:\s*/, + i = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/, + s = /^[;\s]*/, + a = /^\s+|\s+$/g, + c = ` +`, + d = "/", + u = "*", + m = "", + f = "comment", + g = "declaration" + PP = function (v, w) { + if (typeof v != "string") throw new TypeError("First argument must be a string") + if (!v) return [] + w = w || {} + var _ = 1, + y = 1 + function C(G) { + var U = G.match(e) + U && (_ += U.length) + var Z = G.lastIndexOf(c) + y = ~Z ? G.length - Z : y + G.length + } + function S() { + var G = { line: _, column: y } + return function (U) { + return (U.position = new P(G)), E(), U + } + } + function P(G) { + ;(this.start = G), (this.end = { line: _, column: y }), (this.source = w.source) + } + P.prototype.content = v + function R(G) { + var U = new Error(w.source + ":" + _ + ":" + y + ": " + G) + if (((U.reason = G), (U.filename = w.source), (U.line = _), (U.column = y), (U.source = v), !w.silent)) + throw U + } + function T(G) { + var U = G.exec(v) + if (U) { + var Z = U[0] + return C(Z), (v = v.slice(Z.length)), U + } + } + function E() { + T(n) + } + function $(G) { + var U + for (G = G || []; (U = j()); ) U !== !1 && G.push(U) + return G + } + function j() { + var G = S() + if (!(d != v.charAt(0) || u != v.charAt(1))) { + for (var U = 2; m != v.charAt(U) && (u != v.charAt(U) || d != v.charAt(U + 1)); ) ++U + if (((U += 2), m === v.charAt(U - 1))) return R("End of comment missing") + var Z = v.slice(2, U - 2) + return (y += 2), C(Z), (v = v.slice(U)), (y += 2), G({ type: f, comment: Z }) + } + } + function L() { + var G = S(), + U = T(o) + if (U) { + if ((j(), !T(r))) return R("property missing ':'") + var Z = T(i), + V = G({ type: g, property: b(U[0].replace(t, m)), value: Z ? b(Z[0].replace(t, m)) : m }) + return T(s), V + } + } + function W() { + var G = [] + $(G) + for (var U; (U = L()); ) U !== !1 && (G.push(U), $(G)) + return G + } + return E(), W() + } + function b(v) { + return v ? v.replace(a, m) : m + } + return PP +} +var MU +function q5t() { + if (MU) return zm + MU = 1 + var t = + (zm && zm.__importDefault) || + function (o) { + return o && o.__esModule ? o : { default: o } + } + Object.defineProperty(zm, "__esModule", { value: !0 }), (zm.default = n) + var e = t(U5t()) + function n(o, r) { + var i = null + if (!o || typeof o != "string") return i + var s = (0, e.default)(o), + a = typeof r == "function" + return ( + s.forEach(function (c) { + if (c.type === "declaration") { + var d = c.property, + u = c.value + a ? r(d, u, c) : u && ((i = i || {}), (i[d] = u)) + } + }), + i + ) + } + return zm +} +var Hg = {}, + jU +function W5t() { + if (jU) return Hg + ;(jU = 1), Object.defineProperty(Hg, "__esModule", { value: !0 }), (Hg.camelCase = void 0) + var t = /^--[a-zA-Z0-9_-]+$/, + e = /-([a-z])/g, + n = /^[^-]+$/, + o = /^-(webkit|moz|ms|o|khtml)-/, + r = /^-(ms)-/, + i = function (d) { + return !d || n.test(d) || t.test(d) + }, + s = function (d, u) { + return u.toUpperCase() + }, + a = function (d, u) { + return "".concat(u, "-") + }, + c = function (d, u) { + return ( + u === void 0 && (u = {}), + i(d) + ? d + : ((d = d.toLowerCase()), + u.reactCompat ? (d = d.replace(r, a)) : (d = d.replace(o, a)), + d.replace(e, s)) + ) + } + return (Hg.camelCase = c), Hg +} +var Gg, EU +function K5t() { + if (EU) return Gg + EU = 1 + var t = + (Gg && Gg.__importDefault) || + function (r) { + return r && r.__esModule ? r : { default: r } + }, + e = t(q5t()), + n = W5t() + function o(r, i) { + var s = {} + return ( + !r || + typeof r != "string" || + (0, e.default)(r, function (a, c) { + a && c && (s[(0, n.camelCase)(a, i)] = c) + }), + s + ) + } + return (o.default = o), (Gg = o), Gg +} +var V5t = K5t() +const H5t = ps(V5t), + dct = uct("end"), + m$ = uct("start") +function uct(t) { + return e + function e(n) { + const o = (n && n.position && n.position[t]) || {} + if (typeof o.line == "number" && o.line > 0 && typeof o.column == "number" && o.column > 0) + return { + line: o.line, + column: o.column, + offset: typeof o.offset == "number" && o.offset > -1 ? o.offset : void 0, + } + } +} +function G5t(t) { + const e = m$(t), + n = dct(t) + if (e && n) return { start: e, end: n } +} +function Iv(t) { + return !t || typeof t != "object" + ? "" + : "position" in t || "type" in t + ? zU(t.position) + : "start" in t || "end" in t + ? zU(t) + : "line" in t || "column" in t + ? rj(t) + : "" +} +function rj(t) { + return $U(t && t.line) + ":" + $U(t && t.column) +} +function zU(t) { + return rj(t && t.start) + "-" + rj(t && t.end) +} +function $U(t) { + return t && typeof t == "number" ? t : 1 +} +class Ci extends Error { + constructor(e, n, o) { + super(), typeof n == "string" && ((o = n), (n = void 0)) + let r = "", + i = {}, + s = !1 + if ( + (n && + ("line" in n && "column" in n + ? (i = { place: n }) + : "start" in n && "end" in n + ? (i = { place: n }) + : "type" in n + ? (i = { ancestors: [n], place: n.position }) + : (i = { ...n })), + typeof e == "string" ? (r = e) : !i.cause && e && ((s = !0), (r = e.message), (i.cause = e)), + !i.ruleId && !i.source && typeof o == "string") + ) { + const c = o.indexOf(":") + c === -1 ? (i.ruleId = o) : ((i.source = o.slice(0, c)), (i.ruleId = o.slice(c + 1))) + } + if (!i.place && i.ancestors && i.ancestors) { + const c = i.ancestors[i.ancestors.length - 1] + c && (i.place = c.position) + } + const a = i.place && "start" in i.place ? i.place.start : i.place + ;(this.ancestors = i.ancestors || void 0), + (this.cause = i.cause || void 0), + (this.column = a ? a.column : void 0), + (this.fatal = void 0), + this.file, + (this.message = r), + (this.line = a ? a.line : void 0), + (this.name = Iv(i.place) || "1:1"), + (this.place = i.place || void 0), + (this.reason = this.message), + (this.ruleId = i.ruleId || void 0), + (this.source = i.source || void 0), + (this.stack = s && i.cause && typeof i.cause.stack == "string" ? i.cause.stack : ""), + this.actual, + this.expected, + this.note, + this.url + } +} +Ci.prototype.file = "" +Ci.prototype.name = "" +Ci.prototype.reason = "" +Ci.prototype.message = "" +Ci.prototype.stack = "" +Ci.prototype.column = void 0 +Ci.prototype.line = void 0 +Ci.prototype.ancestors = void 0 +Ci.prototype.cause = void 0 +Ci.prototype.fatal = void 0 +Ci.prototype.place = void 0 +Ci.prototype.ruleId = void 0 +Ci.prototype.source = void 0 +const h$ = {}.hasOwnProperty, + Q5t = new Map(), + Z5t = /[A-Z]/g, + Y5t = new Set(["table", "tbody", "thead", "tfoot", "tr"]), + X5t = new Set(["td", "th"]), + pct = "https://github.com/syntax-tree/hast-util-to-jsx-runtime" +function mct(t, e) { + if (!e || e.Fragment === void 0) throw new TypeError("Expected `Fragment` in options") + const n = e.filePath || void 0 + let o + if (e.development) { + if (typeof e.jsxDEV != "function") throw new TypeError("Expected `jsxDEV` in options when `development: true`") + o = s4t(n, e.jsxDEV) + } else { + if (typeof e.jsx != "function") throw new TypeError("Expected `jsx` in production options") + if (typeof e.jsxs != "function") throw new TypeError("Expected `jsxs` in production options") + o = i4t(n, e.jsx, e.jsxs) + } + const r = { + Fragment: e.Fragment, + ancestors: [], + components: e.components || {}, + create: o, + elementAttributeNameCase: e.elementAttributeNameCase || "react", + evaluater: e.createEvaluater ? e.createEvaluater() : void 0, + filePath: n, + ignoreInvalidStyle: e.ignoreInvalidStyle || !1, + passKeys: e.passKeys !== !1, + passNode: e.passNode || !1, + schema: e.space === "svg" ? Uf : i$, + stylePropertyNameCase: e.stylePropertyNameCase || "dom", + tableCellAlignToStyle: e.tableCellAlignToStyle !== !1, + }, + i = hct(r, t, void 0) + return i && typeof i != "string" ? i : r.create(t, r.Fragment, { children: i || void 0 }, void 0) +} +function hct(t, e, n) { + if (e.type === "element") return J5t(t, e, n) + if (e.type === "mdxFlowExpression" || e.type === "mdxTextExpression") return e4t(t, e) + if (e.type === "mdxJsxFlowElement" || e.type === "mdxJsxTextElement") return n4t(t, e, n) + if (e.type === "mdxjsEsm") return t4t(t, e) + if (e.type === "root") return o4t(t, e, n) + if (e.type === "text") return r4t(t, e) +} +function J5t(t, e, n) { + const o = t.schema + let r = o + e.tagName.toLowerCase() === "svg" && o.space === "html" && ((r = Uf), (t.schema = r)), t.ancestors.push(e) + const i = gct(t, e.tagName, !1), + s = a4t(t, e) + let a = g$(t, e) + return ( + Y5t.has(e.tagName) && + (a = a.filter(function (c) { + return typeof c == "string" ? !qC(c) : !0 + })), + fct(t, s, i, e), + f$(s, a), + t.ancestors.pop(), + (t.schema = o), + t.create(e, i, s, n) + ) +} +function e4t(t, e) { + if (e.data && e.data.estree && t.evaluater) { + const o = e.data.estree.body[0] + return o.type, t.evaluater.evaluateExpression(o.expression) + } + kb(t, e.position) +} +function t4t(t, e) { + if (e.data && e.data.estree && t.evaluater) return t.evaluater.evaluateProgram(e.data.estree) + kb(t, e.position) +} +function n4t(t, e, n) { + const o = t.schema + let r = o + e.name === "svg" && o.space === "html" && ((r = Uf), (t.schema = r)), t.ancestors.push(e) + const i = e.name === null ? t.Fragment : gct(t, e.name, !0), + s = l4t(t, e), + a = g$(t, e) + return fct(t, s, i, e), f$(s, a), t.ancestors.pop(), (t.schema = o), t.create(e, i, s, n) +} +function o4t(t, e, n) { + const o = {} + return f$(o, g$(t, e)), t.create(e, t.Fragment, o, n) +} +function r4t(t, e) { + return e.value +} +function fct(t, e, n, o) { + typeof n != "string" && n !== t.Fragment && t.passNode && (e.node = o) +} +function f$(t, e) { + if (e.length > 0) { + const n = e.length > 1 ? e : e[0] + n && (t.children = n) + } +} +function i4t(t, e, n) { + return o + function o(r, i, s, a) { + const d = Array.isArray(s.children) ? n : e + return a ? d(i, s, a) : d(i, s) + } +} +function s4t(t, e) { + return n + function n(o, r, i, s) { + const a = Array.isArray(i.children), + c = m$(o) + return e( + r, + i, + s, + a, + { columnNumber: c ? c.column - 1 : void 0, fileName: t, lineNumber: c ? c.line : void 0 }, + void 0, + ) + } +} +function a4t(t, e) { + const n = {} + let o, r + for (r in e.properties) + if (r !== "children" && h$.call(e.properties, r)) { + const i = c4t(t, r, e.properties[r]) + if (i) { + const [s, a] = i + t.tableCellAlignToStyle && s === "align" && typeof a == "string" && X5t.has(e.tagName) + ? (o = a) + : (n[s] = a) + } + } + if (o) { + const i = n.style || (n.style = {}) + i[t.stylePropertyNameCase === "css" ? "text-align" : "textAlign"] = o + } + return n +} +function l4t(t, e) { + const n = {} + for (const o of e.attributes) + if (o.type === "mdxJsxExpressionAttribute") + if (o.data && o.data.estree && t.evaluater) { + const i = o.data.estree.body[0] + i.type + const s = i.expression + s.type + const a = s.properties[0] + a.type, Object.assign(n, t.evaluater.evaluateExpression(a.argument)) + } else kb(t, e.position) + else { + const r = o.name + let i + if (o.value && typeof o.value == "object") + if (o.value.data && o.value.data.estree && t.evaluater) { + const a = o.value.data.estree.body[0] + a.type, (i = t.evaluater.evaluateExpression(a.expression)) + } else kb(t, e.position) + else i = o.value === null ? !0 : o.value + n[r] = i + } + return n +} +function g$(t, e) { + const n = [] + let o = -1 + const r = t.passKeys ? new Map() : Q5t + for (; ++o < e.children.length; ) { + const i = e.children[o] + let s + if (t.passKeys) { + const c = + i.type === "element" + ? i.tagName + : i.type === "mdxJsxFlowElement" || i.type === "mdxJsxTextElement" + ? i.name + : void 0 + if (c) { + const d = r.get(c) || 0 + ;(s = c + "-" + d), r.set(c, d + 1) + } + } + const a = hct(t, i, s) + a !== void 0 && n.push(a) + } + return n +} +function c4t(t, e, n) { + const o = r$(t.schema, e) + if (!(n == null || (typeof n == "number" && Number.isNaN(n)))) { + if ((Array.isArray(n) && (n = o.commaSeparated ? Klt(n) : Vlt(n)), o.property === "style")) { + let r = typeof n == "object" ? n : d4t(t, String(n)) + return t.stylePropertyNameCase === "css" && (r = u4t(r)), ["style", r] + } + return [t.elementAttributeNameCase === "react" && o.space ? _qt[o.property] || o.property : o.attribute, n] + } +} +function d4t(t, e) { + try { + return H5t(e, { reactCompat: !0 }) + } catch (n) { + if (t.ignoreInvalidStyle) return {} + const o = n, + r = new Ci("Cannot parse `style` attribute", { + ancestors: t.ancestors, + cause: o, + ruleId: "style", + source: "hast-util-to-jsx-runtime", + }) + throw ((r.file = t.filePath || void 0), (r.url = pct + "#cannot-parse-style-attribute"), r) + } +} +function gct(t, e, n) { + let o + if (!n) o = { type: "Literal", value: e } + else if (e.includes(".")) { + const r = e.split(".") + let i = -1, + s + for (; ++i < r.length; ) { + const a = TU(r[i]) ? { type: "Identifier", name: r[i] } : { type: "Literal", value: r[i] } + s = s + ? { + type: "MemberExpression", + object: s, + property: a, + computed: !!(i && a.type === "Literal"), + optional: !1, + } + : a + } + o = s + } else o = TU(e) && !/^[a-z]/.test(e) ? { type: "Identifier", name: e } : { type: "Literal", value: e } + if (o.type === "Literal") { + const r = o.value + return h$.call(t.components, r) ? t.components[r] : r + } + if (t.evaluater) return t.evaluater.evaluateExpression(o) + kb(t) +} +function kb(t, e) { + const n = new Ci("Cannot handle MDX estrees without `createEvaluater`", { + ancestors: t.ancestors, + place: e, + ruleId: "mdx-estree", + source: "hast-util-to-jsx-runtime", + }) + throw ((n.file = t.filePath || void 0), (n.url = pct + "#cannot-handle-mdx-estrees-without-createevaluater"), n) +} +function u4t(t) { + const e = {} + let n + for (n in t) h$.call(t, n) && (e[p4t(n)] = t[n]) + return e +} +function p4t(t) { + let e = t.replace(Z5t, m4t) + return e.slice(0, 3) === "ms-" && (e = "-" + e), e +} +function m4t(t) { + return "-" + t.toLowerCase() +} +const Rc = "var(--vscode-editor-background, --vscode-sideBar-background, rgb(30 30 30))", + h4t = "cc", + ij = { transitionDelayS: 0.2, collapsedHeight: 500 }, + LU = 20, + Qx = bs.button` + background: transparent; + border: none; + color: var(--vscode-foreground); + cursor: var(--copy-button-cursor, default); + padding: 4px; + margin: 0 0px; + display: flex; + align-items: center; + justify-content: center; + opacity: 0.4; + border-radius: 3px; + pointer-events: var(--copy-button-events, none); + margin-left: 4px; + height: 24px; + width: 24px; + + &:hover { + background: var(--vscode-toolbar-hoverBackground); + opacity: 1; + } + + /* Style for Lucide icons to ensure consistent sizing and positioning */ + svg { + display: block; + } +`, + sj = bs.div` + position: fixed; + top: var(--copy-button-top); + right: var(--copy-button-right, 8px); + height: auto; + z-index: 100; + background: ${Rc}${h4t}; + overflow: visible; + pointer-events: none; + opacity: var(--copy-button-opacity, 0); + padding: 4px 6px; + border-radius: 3px; + display: inline-flex; + align-items: center; + justify-content: center; + + &:hover { + background: var(--vscode-editor-background); + opacity: 1 !important; + } + + ${Qx} { + position: relative; + top: 0; + right: 0; + } +`, + f4t = bs.div` + position: relative; + overflow: hidden; + background-color: ${Rc}; + + ${sj} { + opacity: 0; + pointer-events: none; + transition: opacity 0.2s; /* Keep opacity transition for buttons */ + } + + &[data-partially-visible="true"]:hover ${sj} { + opacity: 1; + pointer-events: all; + cursor: pointer; + } +`, + g4t = bs.div` + background-color: ${Rc}; + max-height: ${({ windowshade: t, collapsedHeight: e }) => (t === "true" ? `${e || ij.collapsedHeight}px` : "none")}; + overflow-y: auto; + padding: 10px; + border-radius: 5px; + ${({ preStyle: t }) => t && { ...t }} + + pre { + background-color: ${Rc}; + border-radius: 5px; + margin: 0; + padding: 10px; + width: 100%; + box-sizing: border-box; + } + + pre, + code { + /* Undefined wordwrap defaults to true (pre-wrap) behavior. */ + white-space: ${({ wordwrap: t }) => (t === "false" ? "pre" : "pre-wrap")}; + word-break: ${({ wordwrap: t }) => "normal"}; + overflow-wrap: ${({ wordwrap: t }) => (t === "false" ? "normal" : "break-word")}; + font-size: var(--vscode-editor-font-size, var(--vscode-font-size, 12px)); + font-family: var(--vscode-editor-font-family); + } + + pre > code { + .hljs-deletion { + background-color: var(--vscode-diffEditor-removedTextBackground); + display: inline-block; + width: 100%; + } + .hljs-addition { + background-color: var(--vscode-diffEditor-insertedTextBackground); + display: inline-block; + width: 100%; + } + } + + .hljs { + color: var(--vscode-editor-foreground, #fff); + background-color: ${Rc}; + } +`, + v4t = bs.select` + font-size: 12px; + color: var(--vscode-foreground); + opacity: 0.4; + font-family: monospace; + appearance: none; + background: transparent; + border: none; + cursor: pointer; + padding: 4px; + margin: 0; + vertical-align: middle; + height: 24px; + + & option { + background: var(--vscode-editor-background); + color: var(--vscode-foreground); + padding: 0; + margin: 0; + } + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-thumb { + background: var(--vscode-scrollbarSlider-background); + } + + &::-webkit-scrollbar-track { + background: var(--vscode-editor-background); + } + + &:hover { + opacity: 1; + background: var(--vscode-toolbar-hoverBackground); + border-radius: 3px; + } + + &:focus { + opacity: 1; + outline: none; + border-radius: 3px; + } +`, + Gl = k.memo( + ({ + source: t, + rawSource: e, + language: n, + preStyle: o, + initialWordWrap: r = !0, + initialWindowShade: i = !0, + collapsedHeight: s, + onLanguageChange: a, + }) => { + const [c, d] = k.useState(r), + [u, m] = k.useState(i), + [f, g] = k.useState(() => Id(n)), + b = k.useRef(!1), + [v, w] = k.useState(null), + [_, y] = k.useState(!0), + C = k.useRef(null), + S = k.useRef(null), + P = k.useRef(null), + { showCopyFeedback: R, copyWithFeedback: T } = Ff(), + { t: E } = Be(), + $ = k.useRef(!0), + j = k.useRef(null), + L = k.useRef(null), + W = k.useRef(null) + k.useEffect(() => { + const M = Id(n) + M !== f && !b.current && g(M) + }, [n, f]), + k.useEffect(() => { + $.current = !0 + const M = l.jsx("pre", { + style: { padding: 0, margin: 0 }, + children: l.jsx("code", { className: `hljs language-${f || "txt"}`, children: t || "" }), + }) + return ( + (async () => { + f && !D5t(f) && $.current && w(M) + const F = await cct(f) + if (!$.current) return + const N = await F.codeToHast(t || "", { + lang: f || "txt", + theme: document.body.className.toLowerCase().includes("light") + ? "github-light" + : "github-dark", + transformers: [ + { + pre(J) { + return (J.properties.style = "padding: 0; margin: 0;"), J + }, + code(J) { + return (J.properties.class = `hljs language-${f}`), J + }, + line(J) { + return (J.properties.class = J.properties.class || ""), J + }, + }, + ], + }) + if ($.current) + try { + const J = mct(N, { Fragment: l.Fragment, jsx: l.jsx, jsxs: l.jsxs }) + $.current && w(J) + } catch (J) { + console.error("[CodeBlock] Error converting HAST to JSX:", J), $.current && w(M) + } + })().catch((F) => { + console.error( + "[CodeBlock] Syntax highlighting error:", + F, + ` +Stack trace:`, + F.stack, + ), + $.current && w(M) + }), + () => { + ;($.current = !1), + j.current && (clearTimeout(j.current), (j.current = null)), + L.current && (clearTimeout(L.current), (L.current = null)), + W.current && (clearTimeout(W.current), (W.current = null)) + } + ) + }, [t, f, s]), + k.useEffect(() => { + const M = C.current + if (M) { + const D = M.scrollHeight + y(D >= ij.collapsedHeight) + } + }, [v]) + const G = k.useRef(!1), + U = k.useRef(!1) + k.useEffect(() => { + const M = S.current + if (!M) return + const D = () => { + const F = Math.abs(M.scrollHeight - M.scrollTop - M.clientHeight) < LU + G.current = !F + } + return ( + M.addEventListener("scroll", D, { passive: !0 }), + D(), + () => { + M.removeEventListener("scroll", D) + } + ) + }, []), + k.useEffect(() => { + const M = document.querySelector('[data-virtuoso-scroller="true"]') + if (!M) return + const D = () => { + const F = Math.abs(M.scrollHeight - M.scrollTop - M.clientHeight) < LU + U.current = F + } + return ( + M.addEventListener("scroll", D, { passive: !0 }), + D(), + () => { + M.removeEventListener("scroll", D) + } + ) + }, []) + const Z = k.useRef(!1) + k.useEffect(() => { + S.current && t && !G.current ? (Z.current = !0) : (Z.current = !1) + }, [t]) + const V = k.useCallback((M = !1) => { + const D = C.current, + F = P.current + if (!D) return + const N = D.getBoundingClientRect(), + J = document.querySelector('[data-virtuoso-scroller="true"]') + if (!J) return + let oe + if (F) { + const Te = F.getBoundingClientRect() + if (Te.height > 0) oe = Te.height + else if (F.children.length > 0) { + const dt = F.children[0].getBoundingClientRect(), + Y = window.getComputedStyle(F.children[0]), + Ke = + parseInt(Y.getPropertyValue("padding-top") || "0", 10) + + parseInt(Y.getPropertyValue("padding-bottom") || "0", 10) + oe = dt.height + Ke + } + } + oe || (oe = parseInt(window.getComputedStyle(document.body).getPropertyValue("font-size"), 10) * 2.5) + const ae = J.getBoundingClientRect(), + Q = 48, + ee = N.top < ae.bottom - Q && N.bottom >= ae.top + Q, + q = window.getComputedStyle(D), + me = parseInt(q.getPropertyValue("padding") || "0", 10), + Ce = me > 0 ? me : parseInt(q.getPropertyValue("padding-top") || "0", 10), + ue = !M && ee + if ( + (D.setAttribute("data-partially-visible", ee ? "true" : "false"), + D.style.setProperty("--copy-button-cursor", ue ? "pointer" : "default"), + D.style.setProperty("--copy-button-events", ue ? "all" : "none"), + D.style.setProperty("--copy-button-opacity", ue ? "1" : "0"), + ee) + ) { + const Te = Math.max(ae.top + Ce, Math.min(N.bottom - oe - Ce, N.top + Ce)), + dt = Math.max(Ce, ae.right - N.right + Ce) + D.style.setProperty("--copy-button-top", `${Te}px`), + D.style.setProperty("--copy-button-right", `${dt}px`) + } + }, []) + k.useEffect(() => { + const M = () => V(), + D = () => V(), + F = document.querySelector('[data-virtuoso-scroller="true"]') + return ( + F && (F.addEventListener("scroll", M), window.addEventListener("resize", D), V()), + () => { + F && (F.removeEventListener("scroll", M), window.removeEventListener("resize", D)) + } + ) + }, [V]), + k.useEffect(() => { + if ( + v && + (j.current && clearTimeout(j.current), + (j.current = setTimeout(() => { + V(), (j.current = null) + }, 0)), + Z.current) + ) { + if ( + (S.current && ((S.current.scrollTop = S.current.scrollHeight), (G.current = !1)), U.current) + ) { + const M = document.querySelector('[data-virtuoso-scroller="true"]') + M && ((M.scrollTop = M.scrollHeight), (U.current = !0)) + } + Z.current = !1 + } + return () => { + j.current && clearTimeout(j.current) + } + }, [v, V]), + k.useEffect(() => { + if (!S.current) return + const M = () => document.querySelector('[data-virtuoso-scroller="true"]') + let D = 0, + F = null + const N = 0.85, + J = 0.5, + oe = () => { + const ee = M() + ee && + (Math.abs(D) > J + ? (ee.scrollBy(0, D), (D *= N), (F = requestAnimationFrame(oe))) + : ((D = 0), (F = null))) + }, + ae = (ee) => { + if (ee.shiftKey || !S.current || !(S.current.scrollHeight > S.current.clientHeight) || !M()) + return + const Ce = S.current.scrollTop === 0, + ue = Math.abs(S.current.scrollHeight - S.current.scrollTop - S.current.clientHeight) < 1 + ;((ee.deltaY < 0 && Ce) || (ee.deltaY > 0 && ue)) && + (ee.preventDefault(), (D += ee.deltaY * 0.15), F || (F = requestAnimationFrame(oe))) + }, + Q = S.current + return ( + Q.addEventListener("wheel", ae, { passive: !1 }), + () => { + Q.removeEventListener("wheel", ae), F && cancelAnimationFrame(F) + } + ) + }, []) + const [X, H] = k.useState(!1) + k.useEffect(() => { + if (!S.current) return + const M = (N) => { + N.currentTarget === S.current && H(!0) + }, + D = () => { + H(!1) + }, + F = S.current + return ( + F.addEventListener("mousedown", M), + document.addEventListener("mouseup", D), + () => { + F.removeEventListener("mousedown", M), document.removeEventListener("mouseup", D) + } + ) + }, []) + const B = k.useCallback( + (M) => { + M.stopPropagation() + const D = C.current + if (!D || D.getAttribute("data-partially-visible") !== "true") return + const F = e !== void 0 ? e : t || "" + F && T(F, M) + }, + [t, e, T], + ) + return (t == null ? void 0 : t.length) === 0 + ? null + : l.jsxs(f4t, { + ref: C, + children: [ + l.jsx(y4t, { + preRef: S, + preStyle: o, + wordWrap: c, + windowShade: u, + collapsedHeight: s, + highlightedCode: v, + updateCodeBlockButtonPosition: V, + }), + !X && + l.jsxs(sj, { + ref: P, + onMouseOver: () => V(), + style: { gap: 0 }, + children: [ + l.jsxs(v4t, { + value: f, + style: { width: `calc(${(f == null ? void 0 : f.length) || 0}ch + 9px)` }, + onClick: (M) => { + M.currentTarget.focus() + }, + onChange: (M) => { + const D = Id(M.target.value) + ;(b.current = !0), g(D), a && a(D) + }, + children: [ + l.jsx("option", { + value: Id(n), + style: { fontWeight: "bold", textAlign: "left", fontSize: "1.2em" }, + children: Id(n), + }), + Object.keys(u$) + .sort() + .map((M) => { + const D = Id(M) + return l.jsx( + "option", + { + value: D, + style: { + fontWeight: D === f ? "bold" : "normal", + textAlign: "left", + fontSize: D === f ? "1.2em" : "inherit", + }, + children: D, + }, + D, + ) + }), + ], + }), + _ && + l.jsx(We, { + content: E(`chat:codeblock.tooltips.${u ? "expand" : "collapse"}`), + side: "top", + children: l.jsx(Qx, { + onClick: () => { + const M = C.current + m(!u), + L.current && clearTimeout(L.current), + W.current && clearTimeout(W.current), + (L.current = setTimeout( + () => { + M && + (M.scrollIntoView({ + behavior: "smooth", + block: "nearest", + }), + (W.current = setTimeout(() => { + V(), (W.current = null) + }, 50))), + (L.current = null) + }, + ij.transitionDelayS * 1e3 + 50, + )) + }, + children: u ? l.jsx(hu, { size: 16 }) : l.jsx(iz, { size: 16 }), + }), + }), + l.jsx(We, { + content: E(`chat:codeblock.tooltips.${c ? "disable_wrap" : "enable_wrap"}`), + side: "top", + children: l.jsx(Qx, { + onClick: () => d(!c), + children: c ? l.jsx(d$t, { size: 16 }) : l.jsx(dLt, { size: 16 }), + }), + }), + l.jsx(We, { + content: E("chat:codeblock.tooltips.copy_code"), + side: "top", + children: l.jsx(Qx, { + onClick: B, + children: R ? l.jsx(Wl, { size: 16 }) : l.jsx(Irt, { size: 16 }), + }), + }), + ], + }), + ], + }) + }, + ), + b4t = k.memo(({ children: t }) => l.jsx(l.Fragment, { children: t })), + y4t = k.memo( + ({ + preRef: t, + preStyle: e, + wordWrap: n, + windowShade: o, + collapsedHeight: r, + highlightedCode: i, + updateCodeBlockButtonPosition: s, + }) => + l.jsx(g4t, { + ref: t, + preStyle: e, + wordwrap: n ? "true" : "false", + windowshade: o ? "true" : "false", + collapsedHeight: r, + onMouseDown: () => s(!0), + onMouseUp: () => s(!1), + children: l.jsx(b4t, { children: i }), + }), + ), + aj = ({ tool: t, serverName: e, serverSource: n, alwaysAllowMcp: o, isInChatContext: r = !1 }) => { + const { t: i } = Be(), + s = t.enabledForPrompt ?? !0, + a = () => { + e && + re.postMessage({ + type: "toggleToolAlwaysAllow", + serverName: e, + source: n || "global", + toolName: t.name, + alwaysAllow: !t.alwaysAllow, + }) + }, + c = () => { + e && + re.postMessage({ + type: "toggleToolEnabledForPrompt", + serverName: e, + source: n || "global", + toolName: t.name, + isEnabled: !t.enabledForPrompt, + }) + } + return l.jsxs( + "div", + { + className: "py-2 border-b border-vscode-panel-border last:border-b-0", + children: [ + l.jsxs("div", { + "data-testid": "tool-row-container", + className: "flex items-center gap-4", + onClick: (d) => d.stopPropagation(), + children: [ + l.jsxs("div", { + className: "flex items-center min-w-0 flex-1", + children: [ + l.jsx("span", { + className: `codicon codicon-symbol-method mr-2 flex-shrink-0 ${s ? "text-vscode-symbolIcon-methodForeground" : "text-vscode-descriptionForeground opacity-60"}`, + }), + l.jsx(We, { + content: t.name, + children: l.jsx("span", { + className: `font-medium truncate ${s ? "text-vscode-foreground" : "text-vscode-descriptionForeground opacity-60"}`, + children: t.name, + }), + }), + ], + }), + e && + l.jsxs("div", { + className: "flex items-center gap-4 flex-shrink-0", + children: [ + o && + s && + l.jsx(En, { + checked: t.alwaysAllow, + onChange: a, + "data-tool": t.name, + className: "text-xs", + children: l.jsx("span", { + className: "text-vscode-descriptionForeground whitespace-nowrap", + children: i("mcp:tool.alwaysAllow"), + }), + }), + !r && + l.jsx(We, { + content: i("mcp:tool.togglePromptInclusion"), + children: l.jsx(Hz, { + checked: s, + onChange: c, + size: "medium", + "aria-label": i("mcp:tool.togglePromptInclusion"), + "data-testid": `tool-prompt-toggle-${t.name}`, + }), + }), + ], + }), + ], + }), + t.description && + l.jsx("div", { + className: `mt-1 text-xs text-vscode-descriptionForeground ${s ? "opacity-80" : "opacity-40"}`, + children: t.description, + }), + s && + t.inputSchema && + "properties" in t.inputSchema && + Object.keys(t.inputSchema.properties).length > 0 && + l.jsxs("div", { + className: "mt-2 text-xs border border-vscode-panel-border rounded p-2", + children: [ + l.jsx("div", { + className: + "mb-1 text-[11px] uppercase opacity-80 text-vscode-descriptionForeground", + children: i("mcp:tool.parameters"), + }), + Object.entries(t.inputSchema.properties).map(([d, u]) => { + const m = + t.inputSchema && + "required" in t.inputSchema && + Array.isArray(t.inputSchema.required) && + t.inputSchema.required.includes(d) + return l.jsxs( + "div", + { + className: "flex items-baseline mt-1", + children: [ + l.jsxs("code", { + className: "text-vscode-textPreformat-foreground mr-2", + children: [ + d, + m && + l.jsx("span", { + className: "text-vscode-errorForeground", + children: "*", + }), + ], + }), + l.jsx("span", { + className: + "opacity-80 break-words text-vscode-descriptionForeground", + children: u.description || i("mcp:tool.noDescription"), + }), + ], + }, + d, + ) + }), + ], + }), + ], + }, + t.name, + ) + }, + RP = { + action: ["form"], + cite: ["blockquote", "del", "ins", "q"], + data: ["object"], + formAction: ["button", "input"], + href: ["a", "area", "base", "link"], + icon: ["menuitem"], + itemId: null, + manifest: ["html"], + ping: ["a", "area"], + poster: ["video"], + src: ["audio", "embed", "iframe", "img", "input", "script", "source", "track", "video"], + }, + k4t = {} +function v$(t, e) { + const n = k4t, + o = typeof n.includeImageAlt == "boolean" ? n.includeImageAlt : !0, + r = typeof n.includeHtml == "boolean" ? n.includeHtml : !0 + return vct(t, o, r) +} +function vct(t, e, n) { + if (x4t(t)) { + if ("value" in t) return t.type === "html" && !n ? "" : t.value + if (e && "alt" in t && t.alt) return t.alt + if ("children" in t) return DU(t.children, e, n) + } + return Array.isArray(t) ? DU(t, e, n) : "" +} +function DU(t, e, n) { + const o = [] + let r = -1 + for (; ++r < t.length; ) o[r] = vct(t[r], e, n) + return o.join("") +} +function x4t(t) { + return !!(t && typeof t == "object") +} +const NU = document.createElement("i") +function b$(t) { + const e = "&" + t + ";" + NU.innerHTML = e + const n = NU.textContent + return (n.charCodeAt(n.length - 1) === 59 && t !== "semi") || n === e ? !1 : n +} +function qs(t, e, n, o) { + const r = t.length + let i = 0, + s + if ((e < 0 ? (e = -e > r ? 0 : r + e) : (e = e > r ? r : e), (n = n > 0 ? n : 0), o.length < 1e4)) + (s = Array.from(o)), s.unshift(e, n), t.splice(...s) + else + for (n && t.splice(e, n); i < o.length; ) + (s = o.slice(i, i + 1e4)), s.unshift(e, 0), t.splice(...s), (i += 1e4), (e += 1e4) +} +function ia(t, e) { + return t.length > 0 ? (qs(t, t.length, 0, e), t) : e +} +const OU = {}.hasOwnProperty +function bct(t) { + const e = {} + let n = -1 + for (; ++n < t.length; ) w4t(e, t[n]) + return e +} +function w4t(t, e) { + let n + for (n in e) { + const r = (OU.call(t, n) ? t[n] : void 0) || (t[n] = {}), + i = e[n] + let s + if (i) + for (s in i) { + OU.call(r, s) || (r[s] = []) + const a = i[s] + _4t(r[s], Array.isArray(a) ? a : a ? [a] : []) + } + } +} +function _4t(t, e) { + let n = -1 + const o = [] + for (; ++n < e.length; ) (e[n].add === "after" ? t : o).push(e[n]) + qs(t, 0, 0, o) +} +function yct(t, e) { + const n = Number.parseInt(t, e) + return n < 9 || + n === 11 || + (n > 13 && n < 32) || + (n > 126 && n < 160) || + (n > 55295 && n < 57344) || + (n > 64975 && n < 65008) || + (n & 65535) === 65535 || + (n & 65535) === 65534 || + n > 1114111 + ? "�" + : String.fromCodePoint(n) +} +function Xa(t) { + return t + .replace(/[\t\n\r ]+/g, " ") + .replace(/^ | $/g, "") + .toLowerCase() + .toUpperCase() +} +const Li = ku(/[A-Za-z]/), + fi = ku(/[\dA-Za-z]/), + C4t = ku(/[#-'*+\--9=?A-Z^-~]/) +function A_(t) { + return t !== null && (t < 32 || t === 127) +} +const lj = ku(/\d/), + S4t = ku(/[\dA-Fa-f]/), + A4t = ku(/[!-/:-@[-`{-~]/) +function It(t) { + return t !== null && t < -2 +} +function ho(t) { + return t !== null && (t < 0 || t === 32) +} +function Tn(t) { + return t === -2 || t === -1 || t === 32 +} +const GC = ku(new RegExp("\\p{P}|\\p{S}", "u")), + qp = ku(/\s/) +function ku(t) { + return e + function e(n) { + return n !== null && n > -1 && t.test(String.fromCharCode(n)) + } +} +function Wf(t) { + const e = [] + let n = -1, + o = 0, + r = 0 + for (; ++n < t.length; ) { + const i = t.charCodeAt(n) + let s = "" + if (i === 37 && fi(t.charCodeAt(n + 1)) && fi(t.charCodeAt(n + 2))) r = 2 + else if (i < 128) /[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(i)) || (s = String.fromCharCode(i)) + else if (i > 55295 && i < 57344) { + const a = t.charCodeAt(n + 1) + i < 56320 && a > 56319 && a < 57344 ? ((s = String.fromCharCode(i, a)), (r = 1)) : (s = "�") + } else s = String.fromCharCode(i) + s && (e.push(t.slice(o, n), encodeURIComponent(s)), (o = n + r + 1), (s = "")), r && ((n += r), (r = 0)) + } + return e.join("") + t.slice(o) +} +function Pn(t, e, n, o) { + const r = o ? o - 1 : Number.POSITIVE_INFINITY + let i = 0 + return s + function s(c) { + return Tn(c) ? (t.enter(n), a(c)) : e(c) + } + function a(c) { + return Tn(c) && i++ < r ? (t.consume(c), a) : (t.exit(n), e(c)) + } +} +const P4t = { tokenize: R4t } +function R4t(t) { + const e = t.attempt(this.parser.constructs.contentInitial, o, r) + let n + return e + function o(a) { + if (a === null) { + t.consume(a) + return + } + return t.enter("lineEnding"), t.consume(a), t.exit("lineEnding"), Pn(t, e, "linePrefix") + } + function r(a) { + return t.enter("paragraph"), i(a) + } + function i(a) { + const c = t.enter("chunkText", { contentType: "text", previous: n }) + return n && (n.next = c), (n = c), s(a) + } + function s(a) { + if (a === null) { + t.exit("chunkText"), t.exit("paragraph"), t.consume(a) + return + } + return It(a) ? (t.consume(a), t.exit("chunkText"), i) : (t.consume(a), s) + } +} +const T4t = { tokenize: I4t }, + FU = { tokenize: M4t } +function I4t(t) { + const e = this, + n = [] + let o = 0, + r, + i, + s + return a + function a(C) { + if (o < n.length) { + const S = n[o] + return (e.containerState = S[1]), t.attempt(S[0].continuation, c, d)(C) + } + return d(C) + } + function c(C) { + if ((o++, e.containerState._closeFlow)) { + ;(e.containerState._closeFlow = void 0), r && y() + const S = e.events.length + let P = S, + R + for (; P--; ) + if (e.events[P][0] === "exit" && e.events[P][1].type === "chunkFlow") { + R = e.events[P][1].end + break + } + _(o) + let T = S + for (; T < e.events.length; ) (e.events[T][1].end = { ...R }), T++ + return qs(e.events, P + 1, 0, e.events.slice(S)), (e.events.length = T), d(C) + } + return a(C) + } + function d(C) { + if (o === n.length) { + if (!r) return f(C) + if (r.currentConstruct && r.currentConstruct.concrete) return b(C) + e.interrupt = !!(r.currentConstruct && !r._gfmTableDynamicInterruptHack) + } + return (e.containerState = {}), t.check(FU, u, m)(C) + } + function u(C) { + return r && y(), _(o), f(C) + } + function m(C) { + return (e.parser.lazy[e.now().line] = o !== n.length), (s = e.now().offset), b(C) + } + function f(C) { + return (e.containerState = {}), t.attempt(FU, g, b)(C) + } + function g(C) { + return o++, n.push([e.currentConstruct, e.containerState]), f(C) + } + function b(C) { + if (C === null) { + r && y(), _(0), t.consume(C) + return + } + return ( + (r = r || e.parser.flow(e.now())), + t.enter("chunkFlow", { _tokenizer: r, contentType: "flow", previous: i }), + v(C) + ) + } + function v(C) { + if (C === null) { + w(t.exit("chunkFlow"), !0), _(0), t.consume(C) + return + } + return It(C) ? (t.consume(C), w(t.exit("chunkFlow")), (o = 0), (e.interrupt = void 0), a) : (t.consume(C), v) + } + function w(C, S) { + const P = e.sliceStream(C) + if ( + (S && P.push(null), + (C.previous = i), + i && (i.next = C), + (i = C), + r.defineSkip(C.start), + r.write(P), + e.parser.lazy[C.start.line]) + ) { + let R = r.events.length + for (; R--; ) + if (r.events[R][1].start.offset < s && (!r.events[R][1].end || r.events[R][1].end.offset > s)) return + const T = e.events.length + let E = T, + $, + j + for (; E--; ) + if (e.events[E][0] === "exit" && e.events[E][1].type === "chunkFlow") { + if ($) { + j = e.events[E][1].end + break + } + $ = !0 + } + for (_(o), R = T; R < e.events.length; ) (e.events[R][1].end = { ...j }), R++ + qs(e.events, E + 1, 0, e.events.slice(T)), (e.events.length = R) + } + } + function _(C) { + let S = n.length + for (; S-- > C; ) { + const P = n[S] + ;(e.containerState = P[1]), P[0].exit.call(e, t) + } + n.length = C + } + function y() { + r.write([null]), (i = void 0), (r = void 0), (e.containerState._closeFlow = void 0) + } +} +function M4t(t, e, n) { + return Pn( + t, + t.attempt(this.parser.constructs.document, e, n), + "linePrefix", + this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + ) +} +function af(t) { + if (t === null || ho(t) || qp(t)) return 1 + if (GC(t)) return 2 +} +function QC(t, e, n) { + const o = [] + let r = -1 + for (; ++r < t.length; ) { + const i = t[r].resolveAll + i && !o.includes(i) && ((e = i(e, n)), o.push(i)) + } + return e +} +const cj = { name: "attention", resolveAll: j4t, tokenize: E4t } +function j4t(t, e) { + let n = -1, + o, + r, + i, + s, + a, + c, + d, + u + for (; ++n < t.length; ) + if (t[n][0] === "enter" && t[n][1].type === "attentionSequence" && t[n][1]._close) { + for (o = n; o--; ) + if ( + t[o][0] === "exit" && + t[o][1].type === "attentionSequence" && + t[o][1]._open && + e.sliceSerialize(t[o][1]).charCodeAt(0) === e.sliceSerialize(t[n][1]).charCodeAt(0) + ) { + if ( + (t[o][1]._close || t[n][1]._open) && + (t[n][1].end.offset - t[n][1].start.offset) % 3 && + !((t[o][1].end.offset - t[o][1].start.offset + t[n][1].end.offset - t[n][1].start.offset) % 3) + ) + continue + c = + t[o][1].end.offset - t[o][1].start.offset > 1 && t[n][1].end.offset - t[n][1].start.offset > 1 + ? 2 + : 1 + const m = { ...t[o][1].end }, + f = { ...t[n][1].start } + BU(m, -c), + BU(f, c), + (s = { + type: c > 1 ? "strongSequence" : "emphasisSequence", + start: m, + end: { ...t[o][1].end }, + }), + (a = { + type: c > 1 ? "strongSequence" : "emphasisSequence", + start: { ...t[n][1].start }, + end: f, + }), + (i = { + type: c > 1 ? "strongText" : "emphasisText", + start: { ...t[o][1].end }, + end: { ...t[n][1].start }, + }), + (r = { type: c > 1 ? "strong" : "emphasis", start: { ...s.start }, end: { ...a.end } }), + (t[o][1].end = { ...s.start }), + (t[n][1].start = { ...a.end }), + (d = []), + t[o][1].end.offset - t[o][1].start.offset && + (d = ia(d, [ + ["enter", t[o][1], e], + ["exit", t[o][1], e], + ])), + (d = ia(d, [ + ["enter", r, e], + ["enter", s, e], + ["exit", s, e], + ["enter", i, e], + ])), + (d = ia(d, QC(e.parser.constructs.insideSpan.null, t.slice(o + 1, n), e))), + (d = ia(d, [ + ["exit", i, e], + ["enter", a, e], + ["exit", a, e], + ["exit", r, e], + ])), + t[n][1].end.offset - t[n][1].start.offset + ? ((u = 2), + (d = ia(d, [ + ["enter", t[n][1], e], + ["exit", t[n][1], e], + ]))) + : (u = 0), + qs(t, o - 1, n - o + 3, d), + (n = o + d.length - u - 2) + break + } + } + for (n = -1; ++n < t.length; ) t[n][1].type === "attentionSequence" && (t[n][1].type = "data") + return t +} +function E4t(t, e) { + const n = this.parser.constructs.attentionMarkers.null, + o = this.previous, + r = af(o) + let i + return s + function s(c) { + return (i = c), t.enter("attentionSequence"), a(c) + } + function a(c) { + if (c === i) return t.consume(c), a + const d = t.exit("attentionSequence"), + u = af(c), + m = !u || (u === 2 && r) || n.includes(c), + f = !r || (r === 2 && u) || n.includes(o) + return (d._open = !!(i === 42 ? m : m && (r || !f))), (d._close = !!(i === 42 ? f : f && (u || !m))), e(c) + } +} +function BU(t, e) { + ;(t.column += e), (t.offset += e), (t._bufferIndex += e) +} +const z4t = { name: "autolink", tokenize: $4t } +function $4t(t, e, n) { + let o = 0 + return r + function r(g) { + return ( + t.enter("autolink"), + t.enter("autolinkMarker"), + t.consume(g), + t.exit("autolinkMarker"), + t.enter("autolinkProtocol"), + i + ) + } + function i(g) { + return Li(g) ? (t.consume(g), s) : g === 64 ? n(g) : d(g) + } + function s(g) { + return g === 43 || g === 45 || g === 46 || fi(g) ? ((o = 1), a(g)) : d(g) + } + function a(g) { + return g === 58 + ? (t.consume(g), (o = 0), c) + : (g === 43 || g === 45 || g === 46 || fi(g)) && o++ < 32 + ? (t.consume(g), a) + : ((o = 0), d(g)) + } + function c(g) { + return g === 62 + ? (t.exit("autolinkProtocol"), + t.enter("autolinkMarker"), + t.consume(g), + t.exit("autolinkMarker"), + t.exit("autolink"), + e) + : g === null || g === 32 || g === 60 || A_(g) + ? n(g) + : (t.consume(g), c) + } + function d(g) { + return g === 64 ? (t.consume(g), u) : C4t(g) ? (t.consume(g), d) : n(g) + } + function u(g) { + return fi(g) ? m(g) : n(g) + } + function m(g) { + return g === 46 + ? (t.consume(g), (o = 0), u) + : g === 62 + ? ((t.exit("autolinkProtocol").type = "autolinkEmail"), + t.enter("autolinkMarker"), + t.consume(g), + t.exit("autolinkMarker"), + t.exit("autolink"), + e) + : f(g) + } + function f(g) { + if ((g === 45 || fi(g)) && o++ < 63) { + const b = g === 45 ? f : m + return t.consume(g), b + } + return n(g) + } +} +const cy = { partial: !0, tokenize: L4t } +function L4t(t, e, n) { + return o + function o(i) { + return Tn(i) ? Pn(t, r, "linePrefix")(i) : r(i) + } + function r(i) { + return i === null || It(i) ? e(i) : n(i) + } +} +const kct = { continuation: { tokenize: N4t }, exit: O4t, name: "blockQuote", tokenize: D4t } +function D4t(t, e, n) { + const o = this + return r + function r(s) { + if (s === 62) { + const a = o.containerState + return ( + a.open || (t.enter("blockQuote", { _container: !0 }), (a.open = !0)), + t.enter("blockQuotePrefix"), + t.enter("blockQuoteMarker"), + t.consume(s), + t.exit("blockQuoteMarker"), + i + ) + } + return n(s) + } + function i(s) { + return Tn(s) + ? (t.enter("blockQuotePrefixWhitespace"), + t.consume(s), + t.exit("blockQuotePrefixWhitespace"), + t.exit("blockQuotePrefix"), + e) + : (t.exit("blockQuotePrefix"), e(s)) + } +} +function N4t(t, e, n) { + const o = this + return r + function r(s) { + return Tn(s) + ? Pn(t, i, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(s) + : i(s) + } + function i(s) { + return t.attempt(kct, e, n)(s) + } +} +function O4t(t) { + t.exit("blockQuote") +} +const xct = { name: "characterEscape", tokenize: F4t } +function F4t(t, e, n) { + return o + function o(i) { + return t.enter("characterEscape"), t.enter("escapeMarker"), t.consume(i), t.exit("escapeMarker"), r + } + function r(i) { + return A4t(i) + ? (t.enter("characterEscapeValue"), + t.consume(i), + t.exit("characterEscapeValue"), + t.exit("characterEscape"), + e) + : n(i) + } +} +const wct = { name: "characterReference", tokenize: B4t } +function B4t(t, e, n) { + const o = this + let r = 0, + i, + s + return a + function a(m) { + return ( + t.enter("characterReference"), + t.enter("characterReferenceMarker"), + t.consume(m), + t.exit("characterReferenceMarker"), + c + ) + } + function c(m) { + return m === 35 + ? (t.enter("characterReferenceMarkerNumeric"), t.consume(m), t.exit("characterReferenceMarkerNumeric"), d) + : (t.enter("characterReferenceValue"), (i = 31), (s = fi), u(m)) + } + function d(m) { + return m === 88 || m === 120 + ? (t.enter("characterReferenceMarkerHexadecimal"), + t.consume(m), + t.exit("characterReferenceMarkerHexadecimal"), + t.enter("characterReferenceValue"), + (i = 6), + (s = S4t), + u) + : (t.enter("characterReferenceValue"), (i = 7), (s = lj), u(m)) + } + function u(m) { + if (m === 59 && r) { + const f = t.exit("characterReferenceValue") + return s === fi && !b$(o.sliceSerialize(f)) + ? n(m) + : (t.enter("characterReferenceMarker"), + t.consume(m), + t.exit("characterReferenceMarker"), + t.exit("characterReference"), + e) + } + return s(m) && r++ < i ? (t.consume(m), u) : n(m) + } +} +const UU = { partial: !0, tokenize: q4t }, + qU = { concrete: !0, name: "codeFenced", tokenize: U4t } +function U4t(t, e, n) { + const o = this, + r = { partial: !0, tokenize: P } + let i = 0, + s = 0, + a + return c + function c(R) { + return d(R) + } + function d(R) { + const T = o.events[o.events.length - 1] + return ( + (i = T && T[1].type === "linePrefix" ? T[2].sliceSerialize(T[1], !0).length : 0), + (a = R), + t.enter("codeFenced"), + t.enter("codeFencedFence"), + t.enter("codeFencedFenceSequence"), + u(R) + ) + } + function u(R) { + return R === a + ? (s++, t.consume(R), u) + : s < 3 + ? n(R) + : (t.exit("codeFencedFenceSequence"), Tn(R) ? Pn(t, m, "whitespace")(R) : m(R)) + } + function m(R) { + return R === null || It(R) + ? (t.exit("codeFencedFence"), o.interrupt ? e(R) : t.check(UU, v, S)(R)) + : (t.enter("codeFencedFenceInfo"), t.enter("chunkString", { contentType: "string" }), f(R)) + } + function f(R) { + return R === null || It(R) + ? (t.exit("chunkString"), t.exit("codeFencedFenceInfo"), m(R)) + : Tn(R) + ? (t.exit("chunkString"), t.exit("codeFencedFenceInfo"), Pn(t, g, "whitespace")(R)) + : R === 96 && R === a + ? n(R) + : (t.consume(R), f) + } + function g(R) { + return R === null || It(R) + ? m(R) + : (t.enter("codeFencedFenceMeta"), t.enter("chunkString", { contentType: "string" }), b(R)) + } + function b(R) { + return R === null || It(R) + ? (t.exit("chunkString"), t.exit("codeFencedFenceMeta"), m(R)) + : R === 96 && R === a + ? n(R) + : (t.consume(R), b) + } + function v(R) { + return t.attempt(r, S, w)(R) + } + function w(R) { + return t.enter("lineEnding"), t.consume(R), t.exit("lineEnding"), _ + } + function _(R) { + return i > 0 && Tn(R) ? Pn(t, y, "linePrefix", i + 1)(R) : y(R) + } + function y(R) { + return R === null || It(R) ? t.check(UU, v, S)(R) : (t.enter("codeFlowValue"), C(R)) + } + function C(R) { + return R === null || It(R) ? (t.exit("codeFlowValue"), y(R)) : (t.consume(R), C) + } + function S(R) { + return t.exit("codeFenced"), e(R) + } + function P(R, T, E) { + let $ = 0 + return j + function j(Z) { + return R.enter("lineEnding"), R.consume(Z), R.exit("lineEnding"), L + } + function L(Z) { + return ( + R.enter("codeFencedFence"), + Tn(Z) + ? Pn(R, W, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(Z) + : W(Z) + ) + } + function W(Z) { + return Z === a ? (R.enter("codeFencedFenceSequence"), G(Z)) : E(Z) + } + function G(Z) { + return Z === a + ? ($++, R.consume(Z), G) + : $ >= s + ? (R.exit("codeFencedFenceSequence"), Tn(Z) ? Pn(R, U, "whitespace")(Z) : U(Z)) + : E(Z) + } + function U(Z) { + return Z === null || It(Z) ? (R.exit("codeFencedFence"), T(Z)) : E(Z) + } + } +} +function q4t(t, e, n) { + const o = this + return r + function r(s) { + return s === null ? n(s) : (t.enter("lineEnding"), t.consume(s), t.exit("lineEnding"), i) + } + function i(s) { + return o.parser.lazy[o.now().line] ? n(s) : e(s) + } +} +const TP = { name: "codeIndented", tokenize: K4t }, + W4t = { partial: !0, tokenize: V4t } +function K4t(t, e, n) { + const o = this + return r + function r(d) { + return t.enter("codeIndented"), Pn(t, i, "linePrefix", 5)(d) + } + function i(d) { + const u = o.events[o.events.length - 1] + return u && u[1].type === "linePrefix" && u[2].sliceSerialize(u[1], !0).length >= 4 ? s(d) : n(d) + } + function s(d) { + return d === null ? c(d) : It(d) ? t.attempt(W4t, s, c)(d) : (t.enter("codeFlowValue"), a(d)) + } + function a(d) { + return d === null || It(d) ? (t.exit("codeFlowValue"), s(d)) : (t.consume(d), a) + } + function c(d) { + return t.exit("codeIndented"), e(d) + } +} +function V4t(t, e, n) { + const o = this + return r + function r(s) { + return o.parser.lazy[o.now().line] + ? n(s) + : It(s) + ? (t.enter("lineEnding"), t.consume(s), t.exit("lineEnding"), r) + : Pn(t, i, "linePrefix", 5)(s) + } + function i(s) { + const a = o.events[o.events.length - 1] + return a && a[1].type === "linePrefix" && a[2].sliceSerialize(a[1], !0).length >= 4 ? e(s) : It(s) ? r(s) : n(s) + } +} +const H4t = { name: "codeText", previous: Q4t, resolve: G4t, tokenize: Z4t } +function G4t(t) { + let e = t.length - 4, + n = 3, + o, + r + if ( + (t[n][1].type === "lineEnding" || t[n][1].type === "space") && + (t[e][1].type === "lineEnding" || t[e][1].type === "space") + ) { + for (o = n; ++o < e; ) + if (t[o][1].type === "codeTextData") { + ;(t[n][1].type = "codeTextPadding"), (t[e][1].type = "codeTextPadding"), (n += 2), (e -= 2) + break + } + } + for (o = n - 1, e++; ++o <= e; ) + r === void 0 + ? o !== e && t[o][1].type !== "lineEnding" && (r = o) + : (o === e || t[o][1].type === "lineEnding") && + ((t[r][1].type = "codeTextData"), + o !== r + 2 && + ((t[r][1].end = t[o - 1][1].end), t.splice(r + 2, o - r - 2), (e -= o - r - 2), (o = r + 2)), + (r = void 0)) + return t +} +function Q4t(t) { + return t !== 96 || this.events[this.events.length - 1][1].type === "characterEscape" +} +function Z4t(t, e, n) { + let o = 0, + r, + i + return s + function s(m) { + return t.enter("codeText"), t.enter("codeTextSequence"), a(m) + } + function a(m) { + return m === 96 ? (t.consume(m), o++, a) : (t.exit("codeTextSequence"), c(m)) + } + function c(m) { + return m === null + ? n(m) + : m === 32 + ? (t.enter("space"), t.consume(m), t.exit("space"), c) + : m === 96 + ? ((i = t.enter("codeTextSequence")), (r = 0), u(m)) + : It(m) + ? (t.enter("lineEnding"), t.consume(m), t.exit("lineEnding"), c) + : (t.enter("codeTextData"), d(m)) + } + function d(m) { + return m === null || m === 32 || m === 96 || It(m) ? (t.exit("codeTextData"), c(m)) : (t.consume(m), d) + } + function u(m) { + return m === 96 + ? (t.consume(m), r++, u) + : r === o + ? (t.exit("codeTextSequence"), t.exit("codeText"), e(m)) + : ((i.type = "codeTextData"), d(m)) + } +} +class Y4t { + constructor(e) { + ;(this.left = e ? [...e] : []), (this.right = []) + } + get(e) { + if (e < 0 || e >= this.left.length + this.right.length) + throw new RangeError( + "Cannot access index `" + + e + + "` in a splice buffer of size `" + + (this.left.length + this.right.length) + + "`", + ) + return e < this.left.length ? this.left[e] : this.right[this.right.length - e + this.left.length - 1] + } + get length() { + return this.left.length + this.right.length + } + shift() { + return this.setCursor(0), this.right.pop() + } + slice(e, n) { + const o = n ?? Number.POSITIVE_INFINITY + return o < this.left.length + ? this.left.slice(e, o) + : e > this.left.length + ? this.right + .slice(this.right.length - o + this.left.length, this.right.length - e + this.left.length) + .reverse() + : this.left.slice(e).concat(this.right.slice(this.right.length - o + this.left.length).reverse()) + } + splice(e, n, o) { + const r = n || 0 + this.setCursor(Math.trunc(e)) + const i = this.right.splice(this.right.length - r, Number.POSITIVE_INFINITY) + return o && Qg(this.left, o), i.reverse() + } + pop() { + return this.setCursor(Number.POSITIVE_INFINITY), this.left.pop() + } + push(e) { + this.setCursor(Number.POSITIVE_INFINITY), this.left.push(e) + } + pushMany(e) { + this.setCursor(Number.POSITIVE_INFINITY), Qg(this.left, e) + } + unshift(e) { + this.setCursor(0), this.right.push(e) + } + unshiftMany(e) { + this.setCursor(0), Qg(this.right, e.reverse()) + } + setCursor(e) { + if ( + !( + e === this.left.length || + (e > this.left.length && this.right.length === 0) || + (e < 0 && this.left.length === 0) + ) + ) + if (e < this.left.length) { + const n = this.left.splice(e, Number.POSITIVE_INFINITY) + Qg(this.right, n.reverse()) + } else { + const n = this.right.splice(this.left.length + this.right.length - e, Number.POSITIVE_INFINITY) + Qg(this.left, n.reverse()) + } + } +} +function Qg(t, e) { + let n = 0 + if (e.length < 1e4) t.push(...e) + else for (; n < e.length; ) t.push(...e.slice(n, n + 1e4)), (n += 1e4) +} +function _ct(t) { + const e = {} + let n = -1, + o, + r, + i, + s, + a, + c, + d + const u = new Y4t(t) + for (; ++n < u.length; ) { + for (; n in e; ) n = e[n] + if ( + ((o = u.get(n)), + n && + o[1].type === "chunkFlow" && + u.get(n - 1)[1].type === "listItemPrefix" && + ((c = o[1]._tokenizer.events), + (i = 0), + i < c.length && c[i][1].type === "lineEndingBlank" && (i += 2), + i < c.length && c[i][1].type === "content")) + ) + for (; ++i < c.length && c[i][1].type !== "content"; ) + c[i][1].type === "chunkText" && ((c[i][1]._isInFirstContentOfListItem = !0), i++) + if (o[0] === "enter") o[1].contentType && (Object.assign(e, X4t(u, n)), (n = e[n]), (d = !0)) + else if (o[1]._container) { + for (i = n, r = void 0; i--; ) + if (((s = u.get(i)), s[1].type === "lineEnding" || s[1].type === "lineEndingBlank")) + s[0] === "enter" && + (r && (u.get(r)[1].type = "lineEndingBlank"), (s[1].type = "lineEnding"), (r = i)) + else if (!(s[1].type === "linePrefix" || s[1].type === "listItemIndent")) break + r && ((o[1].end = { ...u.get(r)[1].start }), (a = u.slice(r, n)), a.unshift(o), u.splice(r, n - r + 1, a)) + } + } + return qs(t, 0, Number.POSITIVE_INFINITY, u.slice(0)), !d +} +function X4t(t, e) { + const n = t.get(e)[1], + o = t.get(e)[2] + let r = e - 1 + const i = [] + let s = n._tokenizer + s || ((s = o.parser[n.contentType](n.start)), n._contentTypeTextTrailing && (s._contentTypeTextTrailing = !0)) + const a = s.events, + c = [], + d = {} + let u, + m, + f = -1, + g = n, + b = 0, + v = 0 + const w = [v] + for (; g; ) { + for (; t.get(++r)[1] !== g; ); + i.push(r), + g._tokenizer || + ((u = o.sliceStream(g)), + g.next || u.push(null), + m && s.defineSkip(g.start), + g._isInFirstContentOfListItem && (s._gfmTasklistFirstContentOfListItem = !0), + s.write(u), + g._isInFirstContentOfListItem && (s._gfmTasklistFirstContentOfListItem = void 0)), + (m = g), + (g = g.next) + } + for (g = n; ++f < a.length; ) + a[f][0] === "exit" && + a[f - 1][0] === "enter" && + a[f][1].type === a[f - 1][1].type && + a[f][1].start.line !== a[f][1].end.line && + ((v = f + 1), w.push(v), (g._tokenizer = void 0), (g.previous = void 0), (g = g.next)) + for (s.events = [], g ? ((g._tokenizer = void 0), (g.previous = void 0)) : w.pop(), f = w.length; f--; ) { + const _ = a.slice(w[f], w[f + 1]), + y = i.pop() + c.push([y, y + _.length - 1]), t.splice(y, 2, _) + } + for (c.reverse(), f = -1; ++f < c.length; ) (d[b + c[f][0]] = b + c[f][1]), (b += c[f][1] - c[f][0] - 1) + return d +} +const J4t = { resolve: tWt, tokenize: nWt }, + eWt = { partial: !0, tokenize: oWt } +function tWt(t) { + return _ct(t), t +} +function nWt(t, e) { + let n + return o + function o(a) { + return t.enter("content"), (n = t.enter("chunkContent", { contentType: "content" })), r(a) + } + function r(a) { + return a === null ? i(a) : It(a) ? t.check(eWt, s, i)(a) : (t.consume(a), r) + } + function i(a) { + return t.exit("chunkContent"), t.exit("content"), e(a) + } + function s(a) { + return ( + t.consume(a), + t.exit("chunkContent"), + (n.next = t.enter("chunkContent", { contentType: "content", previous: n })), + (n = n.next), + r + ) + } +} +function oWt(t, e, n) { + const o = this + return r + function r(s) { + return t.exit("chunkContent"), t.enter("lineEnding"), t.consume(s), t.exit("lineEnding"), Pn(t, i, "linePrefix") + } + function i(s) { + if (s === null || It(s)) return n(s) + const a = o.events[o.events.length - 1] + return !o.parser.constructs.disable.null.includes("codeIndented") && + a && + a[1].type === "linePrefix" && + a[2].sliceSerialize(a[1], !0).length >= 4 + ? e(s) + : t.interrupt(o.parser.constructs.flow, n, e)(s) + } +} +function Cct(t, e, n, o, r, i, s, a, c) { + const d = c || Number.POSITIVE_INFINITY + let u = 0 + return m + function m(_) { + return _ === 60 + ? (t.enter(o), t.enter(r), t.enter(i), t.consume(_), t.exit(i), f) + : _ === null || _ === 32 || _ === 41 || A_(_) + ? n(_) + : (t.enter(o), t.enter(s), t.enter(a), t.enter("chunkString", { contentType: "string" }), v(_)) + } + function f(_) { + return _ === 62 + ? (t.enter(i), t.consume(_), t.exit(i), t.exit(r), t.exit(o), e) + : (t.enter(a), t.enter("chunkString", { contentType: "string" }), g(_)) + } + function g(_) { + return _ === 62 + ? (t.exit("chunkString"), t.exit(a), f(_)) + : _ === null || _ === 60 || It(_) + ? n(_) + : (t.consume(_), _ === 92 ? b : g) + } + function b(_) { + return _ === 60 || _ === 62 || _ === 92 ? (t.consume(_), g) : g(_) + } + function v(_) { + return !u && (_ === null || _ === 41 || ho(_)) + ? (t.exit("chunkString"), t.exit(a), t.exit(s), t.exit(o), e(_)) + : u < d && _ === 40 + ? (t.consume(_), u++, v) + : _ === 41 + ? (t.consume(_), u--, v) + : _ === null || _ === 32 || _ === 40 || A_(_) + ? n(_) + : (t.consume(_), _ === 92 ? w : v) + } + function w(_) { + return _ === 40 || _ === 41 || _ === 92 ? (t.consume(_), v) : v(_) + } +} +function Sct(t, e, n, o, r, i) { + const s = this + let a = 0, + c + return d + function d(g) { + return t.enter(o), t.enter(r), t.consume(g), t.exit(r), t.enter(i), u + } + function u(g) { + return a > 999 || + g === null || + g === 91 || + (g === 93 && !c) || + (g === 94 && !a && "_hiddenFootnoteSupport" in s.parser.constructs) + ? n(g) + : g === 93 + ? (t.exit(i), t.enter(r), t.consume(g), t.exit(r), t.exit(o), e) + : It(g) + ? (t.enter("lineEnding"), t.consume(g), t.exit("lineEnding"), u) + : (t.enter("chunkString", { contentType: "string" }), m(g)) + } + function m(g) { + return g === null || g === 91 || g === 93 || It(g) || a++ > 999 + ? (t.exit("chunkString"), u(g)) + : (t.consume(g), c || (c = !Tn(g)), g === 92 ? f : m) + } + function f(g) { + return g === 91 || g === 92 || g === 93 ? (t.consume(g), a++, m) : m(g) + } +} +function Act(t, e, n, o, r, i) { + let s + return a + function a(f) { + return f === 34 || f === 39 || f === 40 + ? (t.enter(o), t.enter(r), t.consume(f), t.exit(r), (s = f === 40 ? 41 : f), c) + : n(f) + } + function c(f) { + return f === s ? (t.enter(r), t.consume(f), t.exit(r), t.exit(o), e) : (t.enter(i), d(f)) + } + function d(f) { + return f === s + ? (t.exit(i), c(s)) + : f === null + ? n(f) + : It(f) + ? (t.enter("lineEnding"), t.consume(f), t.exit("lineEnding"), Pn(t, d, "linePrefix")) + : (t.enter("chunkString", { contentType: "string" }), u(f)) + } + function u(f) { + return f === s || f === null || It(f) ? (t.exit("chunkString"), d(f)) : (t.consume(f), f === 92 ? m : u) + } + function m(f) { + return f === s || f === 92 ? (t.consume(f), u) : u(f) + } +} +function Mv(t, e) { + let n + return o + function o(r) { + return It(r) + ? (t.enter("lineEnding"), t.consume(r), t.exit("lineEnding"), (n = !0), o) + : Tn(r) + ? Pn(t, o, n ? "linePrefix" : "lineSuffix")(r) + : e(r) + } +} +const rWt = { name: "definition", tokenize: sWt }, + iWt = { partial: !0, tokenize: aWt } +function sWt(t, e, n) { + const o = this + let r + return i + function i(g) { + return t.enter("definition"), s(g) + } + function s(g) { + return Sct.call(o, t, a, n, "definitionLabel", "definitionLabelMarker", "definitionLabelString")(g) + } + function a(g) { + return ( + (r = Xa(o.sliceSerialize(o.events[o.events.length - 1][1]).slice(1, -1))), + g === 58 ? (t.enter("definitionMarker"), t.consume(g), t.exit("definitionMarker"), c) : n(g) + ) + } + function c(g) { + return ho(g) ? Mv(t, d)(g) : d(g) + } + function d(g) { + return Cct( + t, + u, + n, + "definitionDestination", + "definitionDestinationLiteral", + "definitionDestinationLiteralMarker", + "definitionDestinationRaw", + "definitionDestinationString", + )(g) + } + function u(g) { + return t.attempt(iWt, m, m)(g) + } + function m(g) { + return Tn(g) ? Pn(t, f, "whitespace")(g) : f(g) + } + function f(g) { + return g === null || It(g) ? (t.exit("definition"), o.parser.defined.push(r), e(g)) : n(g) + } +} +function aWt(t, e, n) { + return o + function o(a) { + return ho(a) ? Mv(t, r)(a) : n(a) + } + function r(a) { + return Act(t, i, n, "definitionTitle", "definitionTitleMarker", "definitionTitleString")(a) + } + function i(a) { + return Tn(a) ? Pn(t, s, "whitespace")(a) : s(a) + } + function s(a) { + return a === null || It(a) ? e(a) : n(a) + } +} +const lWt = { name: "hardBreakEscape", tokenize: cWt } +function cWt(t, e, n) { + return o + function o(i) { + return t.enter("hardBreakEscape"), t.consume(i), r + } + function r(i) { + return It(i) ? (t.exit("hardBreakEscape"), e(i)) : n(i) + } +} +const dWt = { name: "headingAtx", resolve: uWt, tokenize: pWt } +function uWt(t, e) { + let n = t.length - 2, + o = 3, + r, + i + return ( + t[o][1].type === "whitespace" && (o += 2), + n - 2 > o && t[n][1].type === "whitespace" && (n -= 2), + t[n][1].type === "atxHeadingSequence" && + (o === n - 1 || (n - 4 > o && t[n - 2][1].type === "whitespace")) && + (n -= o + 1 === n ? 2 : 4), + n > o && + ((r = { type: "atxHeadingText", start: t[o][1].start, end: t[n][1].end }), + (i = { type: "chunkText", start: t[o][1].start, end: t[n][1].end, contentType: "text" }), + qs(t, o, n - o + 1, [ + ["enter", r, e], + ["enter", i, e], + ["exit", i, e], + ["exit", r, e], + ])), + t + ) +} +function pWt(t, e, n) { + let o = 0 + return r + function r(u) { + return t.enter("atxHeading"), i(u) + } + function i(u) { + return t.enter("atxHeadingSequence"), s(u) + } + function s(u) { + return u === 35 && o++ < 6 + ? (t.consume(u), s) + : u === null || ho(u) + ? (t.exit("atxHeadingSequence"), a(u)) + : n(u) + } + function a(u) { + return u === 35 + ? (t.enter("atxHeadingSequence"), c(u)) + : u === null || It(u) + ? (t.exit("atxHeading"), e(u)) + : Tn(u) + ? Pn(t, a, "whitespace")(u) + : (t.enter("atxHeadingText"), d(u)) + } + function c(u) { + return u === 35 ? (t.consume(u), c) : (t.exit("atxHeadingSequence"), a(u)) + } + function d(u) { + return u === null || u === 35 || ho(u) ? (t.exit("atxHeadingText"), a(u)) : (t.consume(u), d) + } +} +const mWt = [ + "address", + "article", + "aside", + "base", + "basefont", + "blockquote", + "body", + "caption", + "center", + "col", + "colgroup", + "dd", + "details", + "dialog", + "dir", + "div", + "dl", + "dt", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "frame", + "frameset", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hr", + "html", + "iframe", + "legend", + "li", + "link", + "main", + "menu", + "menuitem", + "nav", + "noframes", + "ol", + "optgroup", + "option", + "p", + "param", + "search", + "section", + "summary", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "title", + "tr", + "track", + "ul", + ], + WU = ["pre", "script", "style", "textarea"], + hWt = { concrete: !0, name: "htmlFlow", resolveTo: vWt, tokenize: bWt }, + fWt = { partial: !0, tokenize: kWt }, + gWt = { partial: !0, tokenize: yWt } +function vWt(t) { + let e = t.length + for (; e-- && !(t[e][0] === "enter" && t[e][1].type === "htmlFlow"); ); + return ( + e > 1 && + t[e - 2][1].type === "linePrefix" && + ((t[e][1].start = t[e - 2][1].start), (t[e + 1][1].start = t[e - 2][1].start), t.splice(e - 2, 2)), + t + ) +} +function bWt(t, e, n) { + const o = this + let r, i, s, a, c + return d + function d(N) { + return u(N) + } + function u(N) { + return t.enter("htmlFlow"), t.enter("htmlFlowData"), t.consume(N), m + } + function m(N) { + return N === 33 + ? (t.consume(N), f) + : N === 47 + ? (t.consume(N), (i = !0), v) + : N === 63 + ? (t.consume(N), (r = 3), o.interrupt ? e : M) + : Li(N) + ? (t.consume(N), (s = String.fromCharCode(N)), w) + : n(N) + } + function f(N) { + return N === 45 + ? (t.consume(N), (r = 2), g) + : N === 91 + ? (t.consume(N), (r = 5), (a = 0), b) + : Li(N) + ? (t.consume(N), (r = 4), o.interrupt ? e : M) + : n(N) + } + function g(N) { + return N === 45 ? (t.consume(N), o.interrupt ? e : M) : n(N) + } + function b(N) { + const J = "CDATA[" + return N === J.charCodeAt(a++) ? (t.consume(N), a === J.length ? (o.interrupt ? e : W) : b) : n(N) + } + function v(N) { + return Li(N) ? (t.consume(N), (s = String.fromCharCode(N)), w) : n(N) + } + function w(N) { + if (N === null || N === 47 || N === 62 || ho(N)) { + const J = N === 47, + oe = s.toLowerCase() + return !J && !i && WU.includes(oe) + ? ((r = 1), o.interrupt ? e(N) : W(N)) + : mWt.includes(s.toLowerCase()) + ? ((r = 6), J ? (t.consume(N), _) : o.interrupt ? e(N) : W(N)) + : ((r = 7), o.interrupt && !o.parser.lazy[o.now().line] ? n(N) : i ? y(N) : C(N)) + } + return N === 45 || fi(N) ? (t.consume(N), (s += String.fromCharCode(N)), w) : n(N) + } + function _(N) { + return N === 62 ? (t.consume(N), o.interrupt ? e : W) : n(N) + } + function y(N) { + return Tn(N) ? (t.consume(N), y) : j(N) + } + function C(N) { + return N === 47 + ? (t.consume(N), j) + : N === 58 || N === 95 || Li(N) + ? (t.consume(N), S) + : Tn(N) + ? (t.consume(N), C) + : j(N) + } + function S(N) { + return N === 45 || N === 46 || N === 58 || N === 95 || fi(N) ? (t.consume(N), S) : P(N) + } + function P(N) { + return N === 61 ? (t.consume(N), R) : Tn(N) ? (t.consume(N), P) : C(N) + } + function R(N) { + return N === null || N === 60 || N === 61 || N === 62 || N === 96 + ? n(N) + : N === 34 || N === 39 + ? (t.consume(N), (c = N), T) + : Tn(N) + ? (t.consume(N), R) + : E(N) + } + function T(N) { + return N === c ? (t.consume(N), (c = null), $) : N === null || It(N) ? n(N) : (t.consume(N), T) + } + function E(N) { + return N === null || N === 34 || N === 39 || N === 47 || N === 60 || N === 61 || N === 62 || N === 96 || ho(N) + ? P(N) + : (t.consume(N), E) + } + function $(N) { + return N === 47 || N === 62 || Tn(N) ? C(N) : n(N) + } + function j(N) { + return N === 62 ? (t.consume(N), L) : n(N) + } + function L(N) { + return N === null || It(N) ? W(N) : Tn(N) ? (t.consume(N), L) : n(N) + } + function W(N) { + return N === 45 && r === 2 + ? (t.consume(N), V) + : N === 60 && r === 1 + ? (t.consume(N), X) + : N === 62 && r === 4 + ? (t.consume(N), D) + : N === 63 && r === 3 + ? (t.consume(N), M) + : N === 93 && r === 5 + ? (t.consume(N), B) + : It(N) && (r === 6 || r === 7) + ? (t.exit("htmlFlowData"), t.check(fWt, F, G)(N)) + : N === null || It(N) + ? (t.exit("htmlFlowData"), G(N)) + : (t.consume(N), W) + } + function G(N) { + return t.check(gWt, U, F)(N) + } + function U(N) { + return t.enter("lineEnding"), t.consume(N), t.exit("lineEnding"), Z + } + function Z(N) { + return N === null || It(N) ? G(N) : (t.enter("htmlFlowData"), W(N)) + } + function V(N) { + return N === 45 ? (t.consume(N), M) : W(N) + } + function X(N) { + return N === 47 ? (t.consume(N), (s = ""), H) : W(N) + } + function H(N) { + if (N === 62) { + const J = s.toLowerCase() + return WU.includes(J) ? (t.consume(N), D) : W(N) + } + return Li(N) && s.length < 8 ? (t.consume(N), (s += String.fromCharCode(N)), H) : W(N) + } + function B(N) { + return N === 93 ? (t.consume(N), M) : W(N) + } + function M(N) { + return N === 62 ? (t.consume(N), D) : N === 45 && r === 2 ? (t.consume(N), M) : W(N) + } + function D(N) { + return N === null || It(N) ? (t.exit("htmlFlowData"), F(N)) : (t.consume(N), D) + } + function F(N) { + return t.exit("htmlFlow"), e(N) + } +} +function yWt(t, e, n) { + const o = this + return r + function r(s) { + return It(s) ? (t.enter("lineEnding"), t.consume(s), t.exit("lineEnding"), i) : n(s) + } + function i(s) { + return o.parser.lazy[o.now().line] ? n(s) : e(s) + } +} +function kWt(t, e, n) { + return o + function o(r) { + return t.enter("lineEnding"), t.consume(r), t.exit("lineEnding"), t.attempt(cy, e, n) + } +} +const xWt = { name: "htmlText", tokenize: wWt } +function wWt(t, e, n) { + const o = this + let r, i, s + return a + function a(M) { + return t.enter("htmlText"), t.enter("htmlTextData"), t.consume(M), c + } + function c(M) { + return M === 33 + ? (t.consume(M), d) + : M === 47 + ? (t.consume(M), P) + : M === 63 + ? (t.consume(M), C) + : Li(M) + ? (t.consume(M), E) + : n(M) + } + function d(M) { + return M === 45 ? (t.consume(M), u) : M === 91 ? (t.consume(M), (i = 0), b) : Li(M) ? (t.consume(M), y) : n(M) + } + function u(M) { + return M === 45 ? (t.consume(M), g) : n(M) + } + function m(M) { + return M === null ? n(M) : M === 45 ? (t.consume(M), f) : It(M) ? ((s = m), X(M)) : (t.consume(M), m) + } + function f(M) { + return M === 45 ? (t.consume(M), g) : m(M) + } + function g(M) { + return M === 62 ? V(M) : M === 45 ? f(M) : m(M) + } + function b(M) { + const D = "CDATA[" + return M === D.charCodeAt(i++) ? (t.consume(M), i === D.length ? v : b) : n(M) + } + function v(M) { + return M === null ? n(M) : M === 93 ? (t.consume(M), w) : It(M) ? ((s = v), X(M)) : (t.consume(M), v) + } + function w(M) { + return M === 93 ? (t.consume(M), _) : v(M) + } + function _(M) { + return M === 62 ? V(M) : M === 93 ? (t.consume(M), _) : v(M) + } + function y(M) { + return M === null || M === 62 ? V(M) : It(M) ? ((s = y), X(M)) : (t.consume(M), y) + } + function C(M) { + return M === null ? n(M) : M === 63 ? (t.consume(M), S) : It(M) ? ((s = C), X(M)) : (t.consume(M), C) + } + function S(M) { + return M === 62 ? V(M) : C(M) + } + function P(M) { + return Li(M) ? (t.consume(M), R) : n(M) + } + function R(M) { + return M === 45 || fi(M) ? (t.consume(M), R) : T(M) + } + function T(M) { + return It(M) ? ((s = T), X(M)) : Tn(M) ? (t.consume(M), T) : V(M) + } + function E(M) { + return M === 45 || fi(M) ? (t.consume(M), E) : M === 47 || M === 62 || ho(M) ? $(M) : n(M) + } + function $(M) { + return M === 47 + ? (t.consume(M), V) + : M === 58 || M === 95 || Li(M) + ? (t.consume(M), j) + : It(M) + ? ((s = $), X(M)) + : Tn(M) + ? (t.consume(M), $) + : V(M) + } + function j(M) { + return M === 45 || M === 46 || M === 58 || M === 95 || fi(M) ? (t.consume(M), j) : L(M) + } + function L(M) { + return M === 61 ? (t.consume(M), W) : It(M) ? ((s = L), X(M)) : Tn(M) ? (t.consume(M), L) : $(M) + } + function W(M) { + return M === null || M === 60 || M === 61 || M === 62 || M === 96 + ? n(M) + : M === 34 || M === 39 + ? (t.consume(M), (r = M), G) + : It(M) + ? ((s = W), X(M)) + : Tn(M) + ? (t.consume(M), W) + : (t.consume(M), U) + } + function G(M) { + return M === r + ? (t.consume(M), (r = void 0), Z) + : M === null + ? n(M) + : It(M) + ? ((s = G), X(M)) + : (t.consume(M), G) + } + function U(M) { + return M === null || M === 34 || M === 39 || M === 60 || M === 61 || M === 96 + ? n(M) + : M === 47 || M === 62 || ho(M) + ? $(M) + : (t.consume(M), U) + } + function Z(M) { + return M === 47 || M === 62 || ho(M) ? $(M) : n(M) + } + function V(M) { + return M === 62 ? (t.consume(M), t.exit("htmlTextData"), t.exit("htmlText"), e) : n(M) + } + function X(M) { + return t.exit("htmlTextData"), t.enter("lineEnding"), t.consume(M), t.exit("lineEnding"), H + } + function H(M) { + return Tn(M) + ? Pn(t, B, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(M) + : B(M) + } + function B(M) { + return t.enter("htmlTextData"), s(M) + } +} +const y$ = { name: "labelEnd", resolveAll: AWt, resolveTo: PWt, tokenize: RWt }, + _Wt = { tokenize: TWt }, + CWt = { tokenize: IWt }, + SWt = { tokenize: MWt } +function AWt(t) { + let e = -1 + const n = [] + for (; ++e < t.length; ) { + const o = t[e][1] + if ((n.push(t[e]), o.type === "labelImage" || o.type === "labelLink" || o.type === "labelEnd")) { + const r = o.type === "labelImage" ? 4 : 2 + ;(o.type = "data"), (e += r) + } + } + return t.length !== n.length && qs(t, 0, t.length, n), t +} +function PWt(t, e) { + let n = t.length, + o = 0, + r, + i, + s, + a + for (; n--; ) + if (((r = t[n][1]), i)) { + if (r.type === "link" || (r.type === "labelLink" && r._inactive)) break + t[n][0] === "enter" && r.type === "labelLink" && (r._inactive = !0) + } else if (s) { + if ( + t[n][0] === "enter" && + (r.type === "labelImage" || r.type === "labelLink") && + !r._balanced && + ((i = n), r.type !== "labelLink") + ) { + o = 2 + break + } + } else r.type === "labelEnd" && (s = n) + const c = { + type: t[i][1].type === "labelLink" ? "link" : "image", + start: { ...t[i][1].start }, + end: { ...t[t.length - 1][1].end }, + }, + d = { type: "label", start: { ...t[i][1].start }, end: { ...t[s][1].end } }, + u = { type: "labelText", start: { ...t[i + o + 2][1].end }, end: { ...t[s - 2][1].start } } + return ( + (a = [ + ["enter", c, e], + ["enter", d, e], + ]), + (a = ia(a, t.slice(i + 1, i + o + 3))), + (a = ia(a, [["enter", u, e]])), + (a = ia(a, QC(e.parser.constructs.insideSpan.null, t.slice(i + o + 4, s - 3), e))), + (a = ia(a, [["exit", u, e], t[s - 2], t[s - 1], ["exit", d, e]])), + (a = ia(a, t.slice(s + 1))), + (a = ia(a, [["exit", c, e]])), + qs(t, i, t.length, a), + t + ) +} +function RWt(t, e, n) { + const o = this + let r = o.events.length, + i, + s + for (; r--; ) + if ( + (o.events[r][1].type === "labelImage" || o.events[r][1].type === "labelLink") && + !o.events[r][1]._balanced + ) { + i = o.events[r][1] + break + } + return a + function a(f) { + return i + ? i._inactive + ? m(f) + : ((s = o.parser.defined.includes(Xa(o.sliceSerialize({ start: i.end, end: o.now() })))), + t.enter("labelEnd"), + t.enter("labelMarker"), + t.consume(f), + t.exit("labelMarker"), + t.exit("labelEnd"), + c) + : n(f) + } + function c(f) { + return f === 40 ? t.attempt(_Wt, u, s ? u : m)(f) : f === 91 ? t.attempt(CWt, u, s ? d : m)(f) : s ? u(f) : m(f) + } + function d(f) { + return t.attempt(SWt, u, m)(f) + } + function u(f) { + return e(f) + } + function m(f) { + return (i._balanced = !0), n(f) + } +} +function TWt(t, e, n) { + return o + function o(m) { + return t.enter("resource"), t.enter("resourceMarker"), t.consume(m), t.exit("resourceMarker"), r + } + function r(m) { + return ho(m) ? Mv(t, i)(m) : i(m) + } + function i(m) { + return m === 41 + ? u(m) + : Cct( + t, + s, + a, + "resourceDestination", + "resourceDestinationLiteral", + "resourceDestinationLiteralMarker", + "resourceDestinationRaw", + "resourceDestinationString", + 32, + )(m) + } + function s(m) { + return ho(m) ? Mv(t, c)(m) : u(m) + } + function a(m) { + return n(m) + } + function c(m) { + return m === 34 || m === 39 || m === 40 + ? Act(t, d, n, "resourceTitle", "resourceTitleMarker", "resourceTitleString")(m) + : u(m) + } + function d(m) { + return ho(m) ? Mv(t, u)(m) : u(m) + } + function u(m) { + return m === 41 + ? (t.enter("resourceMarker"), t.consume(m), t.exit("resourceMarker"), t.exit("resource"), e) + : n(m) + } +} +function IWt(t, e, n) { + const o = this + return r + function r(a) { + return Sct.call(o, t, i, s, "reference", "referenceMarker", "referenceString")(a) + } + function i(a) { + return o.parser.defined.includes(Xa(o.sliceSerialize(o.events[o.events.length - 1][1]).slice(1, -1))) + ? e(a) + : n(a) + } + function s(a) { + return n(a) + } +} +function MWt(t, e, n) { + return o + function o(i) { + return t.enter("reference"), t.enter("referenceMarker"), t.consume(i), t.exit("referenceMarker"), r + } + function r(i) { + return i === 93 + ? (t.enter("referenceMarker"), t.consume(i), t.exit("referenceMarker"), t.exit("reference"), e) + : n(i) + } +} +const jWt = { name: "labelStartImage", resolveAll: y$.resolveAll, tokenize: EWt } +function EWt(t, e, n) { + const o = this + return r + function r(a) { + return t.enter("labelImage"), t.enter("labelImageMarker"), t.consume(a), t.exit("labelImageMarker"), i + } + function i(a) { + return a === 91 ? (t.enter("labelMarker"), t.consume(a), t.exit("labelMarker"), t.exit("labelImage"), s) : n(a) + } + function s(a) { + return a === 94 && "_hiddenFootnoteSupport" in o.parser.constructs ? n(a) : e(a) + } +} +const zWt = { name: "labelStartLink", resolveAll: y$.resolveAll, tokenize: $Wt } +function $Wt(t, e, n) { + const o = this + return r + function r(s) { + return t.enter("labelLink"), t.enter("labelMarker"), t.consume(s), t.exit("labelMarker"), t.exit("labelLink"), i + } + function i(s) { + return s === 94 && "_hiddenFootnoteSupport" in o.parser.constructs ? n(s) : e(s) + } +} +const IP = { name: "lineEnding", tokenize: LWt } +function LWt(t, e) { + return n + function n(o) { + return t.enter("lineEnding"), t.consume(o), t.exit("lineEnding"), Pn(t, e, "linePrefix") + } +} +const Zx = { name: "thematicBreak", tokenize: DWt } +function DWt(t, e, n) { + let o = 0, + r + return i + function i(d) { + return t.enter("thematicBreak"), s(d) + } + function s(d) { + return (r = d), a(d) + } + function a(d) { + return d === r + ? (t.enter("thematicBreakSequence"), c(d)) + : o >= 3 && (d === null || It(d)) + ? (t.exit("thematicBreak"), e(d)) + : n(d) + } + function c(d) { + return d === r + ? (t.consume(d), o++, c) + : (t.exit("thematicBreakSequence"), Tn(d) ? Pn(t, a, "whitespace")(d) : a(d)) + } +} +const Yi = { continuation: { tokenize: BWt }, exit: qWt, name: "list", tokenize: FWt }, + NWt = { partial: !0, tokenize: WWt }, + OWt = { partial: !0, tokenize: UWt } +function FWt(t, e, n) { + const o = this, + r = o.events[o.events.length - 1] + let i = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0, + s = 0 + return a + function a(g) { + const b = o.containerState.type || (g === 42 || g === 43 || g === 45 ? "listUnordered" : "listOrdered") + if (b === "listUnordered" ? !o.containerState.marker || g === o.containerState.marker : lj(g)) { + if ( + (o.containerState.type || ((o.containerState.type = b), t.enter(b, { _container: !0 })), + b === "listUnordered") + ) + return t.enter("listItemPrefix"), g === 42 || g === 45 ? t.check(Zx, n, d)(g) : d(g) + if (!o.interrupt || g === 49) return t.enter("listItemPrefix"), t.enter("listItemValue"), c(g) + } + return n(g) + } + function c(g) { + return lj(g) && ++s < 10 + ? (t.consume(g), c) + : (!o.interrupt || s < 2) && + (o.containerState.marker ? g === o.containerState.marker : g === 41 || g === 46) + ? (t.exit("listItemValue"), d(g)) + : n(g) + } + function d(g) { + return ( + t.enter("listItemMarker"), + t.consume(g), + t.exit("listItemMarker"), + (o.containerState.marker = o.containerState.marker || g), + t.check(cy, o.interrupt ? n : u, t.attempt(NWt, f, m)) + ) + } + function u(g) { + return (o.containerState.initialBlankLine = !0), i++, f(g) + } + function m(g) { + return Tn(g) ? (t.enter("listItemPrefixWhitespace"), t.consume(g), t.exit("listItemPrefixWhitespace"), f) : n(g) + } + function f(g) { + return (o.containerState.size = i + o.sliceSerialize(t.exit("listItemPrefix"), !0).length), e(g) + } +} +function BWt(t, e, n) { + const o = this + return (o.containerState._closeFlow = void 0), t.check(cy, r, i) + function r(a) { + return ( + (o.containerState.furtherBlankLines = + o.containerState.furtherBlankLines || o.containerState.initialBlankLine), + Pn(t, e, "listItemIndent", o.containerState.size + 1)(a) + ) + } + function i(a) { + return o.containerState.furtherBlankLines || !Tn(a) + ? ((o.containerState.furtherBlankLines = void 0), (o.containerState.initialBlankLine = void 0), s(a)) + : ((o.containerState.furtherBlankLines = void 0), + (o.containerState.initialBlankLine = void 0), + t.attempt(OWt, e, s)(a)) + } + function s(a) { + return ( + (o.containerState._closeFlow = !0), + (o.interrupt = void 0), + Pn( + t, + t.attempt(Yi, e, n), + "linePrefix", + o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + )(a) + ) + } +} +function UWt(t, e, n) { + const o = this + return Pn(t, r, "listItemIndent", o.containerState.size + 1) + function r(i) { + const s = o.events[o.events.length - 1] + return s && s[1].type === "listItemIndent" && s[2].sliceSerialize(s[1], !0).length === o.containerState.size + ? e(i) + : n(i) + } +} +function qWt(t) { + t.exit(this.containerState.type) +} +function WWt(t, e, n) { + const o = this + return Pn(t, r, "listItemPrefixWhitespace", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 5) + function r(i) { + const s = o.events[o.events.length - 1] + return !Tn(i) && s && s[1].type === "listItemPrefixWhitespace" ? e(i) : n(i) + } +} +const KU = { name: "setextUnderline", resolveTo: KWt, tokenize: VWt } +function KWt(t, e) { + let n = t.length, + o, + r, + i + for (; n--; ) + if (t[n][0] === "enter") { + if (t[n][1].type === "content") { + o = n + break + } + t[n][1].type === "paragraph" && (r = n) + } else t[n][1].type === "content" && t.splice(n, 1), !i && t[n][1].type === "definition" && (i = n) + const s = { type: "setextHeading", start: { ...t[o][1].start }, end: { ...t[t.length - 1][1].end } } + return ( + (t[r][1].type = "setextHeadingText"), + i + ? (t.splice(r, 0, ["enter", s, e]), + t.splice(i + 1, 0, ["exit", t[o][1], e]), + (t[o][1].end = { ...t[i][1].end })) + : (t[o][1] = s), + t.push(["exit", s, e]), + t + ) +} +function VWt(t, e, n) { + const o = this + let r + return i + function i(d) { + let u = o.events.length, + m + for (; u--; ) + if ( + o.events[u][1].type !== "lineEnding" && + o.events[u][1].type !== "linePrefix" && + o.events[u][1].type !== "content" + ) { + m = o.events[u][1].type === "paragraph" + break + } + return !o.parser.lazy[o.now().line] && (o.interrupt || m) ? (t.enter("setextHeadingLine"), (r = d), s(d)) : n(d) + } + function s(d) { + return t.enter("setextHeadingLineSequence"), a(d) + } + function a(d) { + return d === r + ? (t.consume(d), a) + : (t.exit("setextHeadingLineSequence"), Tn(d) ? Pn(t, c, "lineSuffix")(d) : c(d)) + } + function c(d) { + return d === null || It(d) ? (t.exit("setextHeadingLine"), e(d)) : n(d) + } +} +const HWt = { tokenize: GWt } +function GWt(t) { + const e = this, + n = t.attempt( + cy, + o, + t.attempt( + this.parser.constructs.flowInitial, + r, + Pn(t, t.attempt(this.parser.constructs.flow, r, t.attempt(J4t, r)), "linePrefix"), + ), + ) + return n + function o(i) { + if (i === null) { + t.consume(i) + return + } + return t.enter("lineEndingBlank"), t.consume(i), t.exit("lineEndingBlank"), (e.currentConstruct = void 0), n + } + function r(i) { + if (i === null) { + t.consume(i) + return + } + return t.enter("lineEnding"), t.consume(i), t.exit("lineEnding"), (e.currentConstruct = void 0), n + } +} +const QWt = { resolveAll: Rct() }, + ZWt = Pct("string"), + YWt = Pct("text") +function Pct(t) { + return { resolveAll: Rct(t === "text" ? XWt : void 0), tokenize: e } + function e(n) { + const o = this, + r = this.parser.constructs[t], + i = n.attempt(r, s, a) + return s + function s(u) { + return d(u) ? i(u) : a(u) + } + function a(u) { + if (u === null) { + n.consume(u) + return + } + return n.enter("data"), n.consume(u), c + } + function c(u) { + return d(u) ? (n.exit("data"), i(u)) : (n.consume(u), c) + } + function d(u) { + if (u === null) return !0 + const m = r[u] + let f = -1 + if (m) + for (; ++f < m.length; ) { + const g = m[f] + if (!g.previous || g.previous.call(o, o.previous)) return !0 + } + return !1 + } + } +} +function Rct(t) { + return e + function e(n, o) { + let r = -1, + i + for (; ++r <= n.length; ) + i === void 0 + ? n[r] && n[r][1].type === "data" && ((i = r), r++) + : (!n[r] || n[r][1].type !== "data") && + (r !== i + 2 && ((n[i][1].end = n[r - 1][1].end), n.splice(i + 2, r - i - 2), (r = i + 2)), + (i = void 0)) + return t ? t(n, o) : n + } +} +function XWt(t, e) { + let n = 0 + for (; ++n <= t.length; ) + if ((n === t.length || t[n][1].type === "lineEnding") && t[n - 1][1].type === "data") { + const o = t[n - 1][1], + r = e.sliceStream(o) + let i = r.length, + s = -1, + a = 0, + c + for (; i--; ) { + const d = r[i] + if (typeof d == "string") { + for (s = d.length; d.charCodeAt(s - 1) === 32; ) a++, s-- + if (s) break + s = -1 + } else if (d === -2) (c = !0), a++ + else if (d !== -1) { + i++ + break + } + } + if ((e._contentTypeTextTrailing && n === t.length && (a = 0), a)) { + const d = { + type: n === t.length || c || a < 2 ? "lineSuffix" : "hardBreakTrailing", + start: { + _bufferIndex: i ? s : o.start._bufferIndex + s, + _index: o.start._index + i, + line: o.end.line, + column: o.end.column - a, + offset: o.end.offset - a, + }, + end: { ...o.end }, + } + ;(o.end = { ...d.start }), + o.start.offset === o.end.offset + ? Object.assign(o, d) + : (t.splice(n, 0, ["enter", d, e], ["exit", d, e]), (n += 2)) + } + n++ + } + return t +} +const JWt = { + 42: Yi, + 43: Yi, + 45: Yi, + 48: Yi, + 49: Yi, + 50: Yi, + 51: Yi, + 52: Yi, + 53: Yi, + 54: Yi, + 55: Yi, + 56: Yi, + 57: Yi, + 62: kct, + }, + eKt = { 91: rWt }, + tKt = { [-2]: TP, [-1]: TP, 32: TP }, + nKt = { 35: dWt, 42: Zx, 45: [KU, Zx], 60: hWt, 61: KU, 95: Zx, 96: qU, 126: qU }, + oKt = { 38: wct, 92: xct }, + rKt = { + [-5]: IP, + [-4]: IP, + [-3]: IP, + 33: jWt, + 38: wct, + 42: cj, + 60: [z4t, xWt], + 91: zWt, + 92: [lWt, xct], + 93: y$, + 95: cj, + 96: H4t, + }, + iKt = { null: [cj, QWt] }, + sKt = { null: [42, 95] }, + aKt = { null: [] }, + lKt = Object.freeze( + Object.defineProperty( + { + __proto__: null, + attentionMarkers: sKt, + contentInitial: eKt, + disable: aKt, + document: JWt, + flow: nKt, + flowInitial: tKt, + insideSpan: iKt, + string: oKt, + text: rKt, + }, + Symbol.toStringTag, + { value: "Module" }, + ), + ) +function cKt(t, e, n) { + let o = { + _bufferIndex: -1, + _index: 0, + line: (n && n.line) || 1, + column: (n && n.column) || 1, + offset: (n && n.offset) || 0, + } + const r = {}, + i = [] + let s = [], + a = [] + const c = { attempt: T(P), check: T(R), consume: y, enter: C, exit: S, interrupt: T(R, { interrupt: !0 }) }, + d = { + code: null, + containerState: {}, + defineSkip: v, + events: [], + now: b, + parser: t, + previous: null, + sliceSerialize: f, + sliceStream: g, + write: m, + } + let u = e.tokenize.call(d, c) + return e.resolveAll && i.push(e), d + function m(L) { + return (s = ia(s, L)), w(), s[s.length - 1] !== null ? [] : (E(e, 0), (d.events = QC(i, d.events, d)), d.events) + } + function f(L, W) { + return uKt(g(L), W) + } + function g(L) { + return dKt(s, L) + } + function b() { + const { _bufferIndex: L, _index: W, line: G, column: U, offset: Z } = o + return { _bufferIndex: L, _index: W, line: G, column: U, offset: Z } + } + function v(L) { + ;(r[L.line] = L.column), j() + } + function w() { + let L + for (; o._index < s.length; ) { + const W = s[o._index] + if (typeof W == "string") + for ( + L = o._index, o._bufferIndex < 0 && (o._bufferIndex = 0); + o._index === L && o._bufferIndex < W.length; + + ) + _(W.charCodeAt(o._bufferIndex)) + else _(W) + } + } + function _(L) { + u = u(L) + } + function y(L) { + It(L) ? (o.line++, (o.column = 1), (o.offset += L === -3 ? 2 : 1), j()) : L !== -1 && (o.column++, o.offset++), + o._bufferIndex < 0 + ? o._index++ + : (o._bufferIndex++, o._bufferIndex === s[o._index].length && ((o._bufferIndex = -1), o._index++)), + (d.previous = L) + } + function C(L, W) { + const G = W || {} + return (G.type = L), (G.start = b()), d.events.push(["enter", G, d]), a.push(G), G + } + function S(L) { + const W = a.pop() + return (W.end = b()), d.events.push(["exit", W, d]), W + } + function P(L, W) { + E(L, W.from) + } + function R(L, W) { + W.restore() + } + function T(L, W) { + return G + function G(U, Z, V) { + let X, H, B, M + return Array.isArray(U) ? F(U) : "tokenize" in U ? F([U]) : D(U) + function D(ae) { + return Q + function Q(ee) { + const q = ee !== null && ae[ee], + me = ee !== null && ae.null, + Ce = [...(Array.isArray(q) ? q : q ? [q] : []), ...(Array.isArray(me) ? me : me ? [me] : [])] + return F(Ce)(ee) + } + } + function F(ae) { + return (X = ae), (H = 0), ae.length === 0 ? V : N(ae[H]) + } + function N(ae) { + return Q + function Q(ee) { + return ( + (M = $()), + (B = ae), + ae.partial || (d.currentConstruct = ae), + ae.name && d.parser.constructs.disable.null.includes(ae.name) + ? oe() + : ae.tokenize.call(W ? Object.assign(Object.create(d), W) : d, c, J, oe)(ee) + ) + } + } + function J(ae) { + return L(B, M), Z + } + function oe(ae) { + return M.restore(), ++H < X.length ? N(X[H]) : V + } + } + } + function E(L, W) { + L.resolveAll && !i.includes(L) && i.push(L), + L.resolve && qs(d.events, W, d.events.length - W, L.resolve(d.events.slice(W), d)), + L.resolveTo && (d.events = L.resolveTo(d.events, d)) + } + function $() { + const L = b(), + W = d.previous, + G = d.currentConstruct, + U = d.events.length, + Z = Array.from(a) + return { from: U, restore: V } + function V() { + ;(o = L), (d.previous = W), (d.currentConstruct = G), (d.events.length = U), (a = Z), j() + } + } + function j() { + o.line in r && o.column < 2 && ((o.column = r[o.line]), (o.offset += r[o.line] - 1)) + } +} +function dKt(t, e) { + const n = e.start._index, + o = e.start._bufferIndex, + r = e.end._index, + i = e.end._bufferIndex + let s + if (n === r) s = [t[n].slice(o, i)] + else { + if (((s = t.slice(n, r)), o > -1)) { + const a = s[0] + typeof a == "string" ? (s[0] = a.slice(o)) : s.shift() + } + i > 0 && s.push(t[r].slice(0, i)) + } + return s +} +function uKt(t, e) { + let n = -1 + const o = [] + let r + for (; ++n < t.length; ) { + const i = t[n] + let s + if (typeof i == "string") s = i + else + switch (i) { + case -5: { + s = "\r" + break + } + case -4: { + s = ` +` + break + } + case -3: { + s = `\r +` + break + } + case -2: { + s = e ? " " : " " + break + } + case -1: { + if (!e && r) continue + s = " " + break + } + default: + s = String.fromCharCode(i) + } + ;(r = i === -2), o.push(s) + } + return o.join("") +} +function pKt(t) { + const o = { + constructs: bct([lKt, ...((t || {}).extensions || [])]), + content: r(P4t), + defined: [], + document: r(T4t), + flow: r(HWt), + lazy: {}, + string: r(ZWt), + text: r(YWt), + } + return o + function r(i) { + return s + function s(a) { + return cKt(o, i, a) + } + } +} +function mKt(t) { + for (; !_ct(t); ); + return t +} +const VU = /[\0\t\n\r]/g +function hKt() { + let t = 1, + e = "", + n = !0, + o + return r + function r(i, s, a) { + const c = [] + let d, u, m, f, g + for ( + i = e + (typeof i == "string" ? i.toString() : new TextDecoder(s || void 0).decode(i)), + m = 0, + e = "", + n && (i.charCodeAt(0) === 65279 && m++, (n = void 0)); + m < i.length; + + ) { + if ( + ((VU.lastIndex = m), + (d = VU.exec(i)), + (f = d && d.index !== void 0 ? d.index : i.length), + (g = i.charCodeAt(f)), + !d) + ) { + e = i.slice(m) + break + } + if (g === 10 && m === f && o) c.push(-3), (o = void 0) + else + switch ((o && (c.push(-5), (o = void 0)), m < f && (c.push(i.slice(m, f)), (t += f - m)), g)) { + case 0: { + c.push(65533), t++ + break + } + case 9: { + for (u = Math.ceil(t / 4) * 4, c.push(-2); t++ < u; ) c.push(-1) + break + } + case 10: { + c.push(-4), (t = 1) + break + } + default: + ;(o = !0), (t = 1) + } + m = f + 1 + } + return a && (o && c.push(-5), e && c.push(e), c.push(null)), c + } +} +const fKt = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi +function gKt(t) { + return t.replace(fKt, vKt) +} +function vKt(t, e, n) { + if (e) return e + if (n.charCodeAt(0) === 35) { + const r = n.charCodeAt(1), + i = r === 120 || r === 88 + return yct(n.slice(i ? 2 : 1), i ? 16 : 10) + } + return b$(n) || t +} +const Tct = {}.hasOwnProperty +function bKt(t, e, n) { + return ( + typeof e != "string" && ((n = e), (e = void 0)), + yKt(n)( + mKt( + pKt(n) + .document() + .write(hKt()(t, e, !0)), + ), + ) + ) +} +function yKt(t) { + const e = { + transforms: [], + canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], + enter: { + autolink: i(Bt), + autolinkProtocol: $, + autolinkEmail: $, + atxHeading: i(Y), + blockQuote: i(me), + characterEscape: $, + characterReference: $, + codeFenced: i(Ce), + codeFencedFenceInfo: s, + codeFencedFenceMeta: s, + codeIndented: i(Ce, s), + codeText: i(ue, s), + codeTextData: $, + data: $, + codeFlowValue: $, + definition: i(Te), + definitionDestinationString: s, + definitionLabelString: s, + definitionTitleString: s, + emphasis: i(dt), + hardBreakEscape: i(Ke), + hardBreakTrailing: i(Ke), + htmlFlow: i(jt, s), + htmlFlowData: $, + htmlText: i(jt, s), + htmlTextData: $, + image: i(Ye), + label: s, + link: i(Bt), + listItem: i(Xe), + listItemValue: f, + listOrdered: i(nn, m), + listUnordered: i(nn), + paragraph: i(Tt), + reference: N, + referenceString: s, + resourceDestinationString: s, + resourceTitleString: s, + setextHeading: i(Y), + strong: i(Vt), + thematicBreak: i(_n), + }, + exit: { + atxHeading: c(), + atxHeadingSequence: P, + autolink: c(), + autolinkEmail: q, + autolinkProtocol: ee, + blockQuote: c(), + characterEscapeValue: j, + characterReferenceMarkerHexadecimal: oe, + characterReferenceMarkerNumeric: oe, + characterReferenceValue: ae, + characterReference: Q, + codeFenced: c(w), + codeFencedFence: v, + codeFencedFenceInfo: g, + codeFencedFenceMeta: b, + codeFlowValue: j, + codeIndented: c(_), + codeText: c(Z), + codeTextData: j, + data: j, + definition: c(), + definitionDestinationString: S, + definitionLabelString: y, + definitionTitleString: C, + emphasis: c(), + hardBreakEscape: c(W), + hardBreakTrailing: c(W), + htmlFlow: c(G), + htmlFlowData: j, + htmlText: c(U), + htmlTextData: j, + image: c(X), + label: B, + labelText: H, + lineEnding: L, + link: c(V), + listItem: c(), + listOrdered: c(), + listUnordered: c(), + paragraph: c(), + referenceString: J, + resourceDestinationString: M, + resourceTitleString: D, + resource: F, + setextHeading: c(E), + setextHeadingLineSequence: T, + setextHeadingText: R, + strong: c(), + thematicBreak: c(), + }, + } + Ict(e, (t || {}).mdastExtensions || []) + const n = {} + return o + function o(ge) { + let Re = { type: "root", children: [] } + const tt = { stack: [Re], tokenStack: [], config: e, enter: a, exit: d, buffer: s, resume: u, data: n }, + lt = [] + let _t = -1 + for (; ++_t < ge.length; ) + if (ge[_t][1].type === "listOrdered" || ge[_t][1].type === "listUnordered") + if (ge[_t][0] === "enter") lt.push(_t) + else { + const Kt = lt.pop() + _t = r(ge, Kt, _t) + } + for (_t = -1; ++_t < ge.length; ) { + const Kt = e[ge[_t][0]] + Tct.call(Kt, ge[_t][1].type) && + Kt[ge[_t][1].type].call(Object.assign({ sliceSerialize: ge[_t][2].sliceSerialize }, tt), ge[_t][1]) + } + if (tt.tokenStack.length > 0) { + const Kt = tt.tokenStack[tt.tokenStack.length - 1] + ;(Kt[1] || HU).call(tt, void 0, Kt[0]) + } + for ( + Re.position = { + start: gd(ge.length > 0 ? ge[0][1].start : { line: 1, column: 1, offset: 0 }), + end: gd(ge.length > 0 ? ge[ge.length - 2][1].end : { line: 1, column: 1, offset: 0 }), + }, + _t = -1; + ++_t < e.transforms.length; + + ) + Re = e.transforms[_t](Re) || Re + return Re + } + function r(ge, Re, tt) { + let lt = Re - 1, + _t = -1, + Kt = !1, + Wn, + on, + Eo, + Fo + for (; ++lt <= tt; ) { + const Bn = ge[lt] + switch (Bn[1].type) { + case "listUnordered": + case "listOrdered": + case "blockQuote": { + Bn[0] === "enter" ? _t++ : _t--, (Fo = void 0) + break + } + case "lineEndingBlank": { + Bn[0] === "enter" && (Wn && !Fo && !_t && !Eo && (Eo = lt), (Fo = void 0)) + break + } + case "linePrefix": + case "listItemValue": + case "listItemMarker": + case "listItemPrefix": + case "listItemPrefixWhitespace": + break + default: + Fo = void 0 + } + if ( + (!_t && Bn[0] === "enter" && Bn[1].type === "listItemPrefix") || + (_t === -1 && Bn[0] === "exit" && (Bn[1].type === "listUnordered" || Bn[1].type === "listOrdered")) + ) { + if (Wn) { + let Yn = lt + for (on = void 0; Yn--; ) { + const Kn = ge[Yn] + if (Kn[1].type === "lineEnding" || Kn[1].type === "lineEndingBlank") { + if (Kn[0] === "exit") continue + on && ((ge[on][1].type = "lineEndingBlank"), (Kt = !0)), + (Kn[1].type = "lineEnding"), + (on = Yn) + } else if ( + !( + Kn[1].type === "linePrefix" || + Kn[1].type === "blockQuotePrefix" || + Kn[1].type === "blockQuotePrefixWhitespace" || + Kn[1].type === "blockQuoteMarker" || + Kn[1].type === "listItemIndent" + ) + ) + break + } + Eo && (!on || Eo < on) && (Wn._spread = !0), + (Wn.end = Object.assign({}, on ? ge[on][1].start : Bn[1].end)), + ge.splice(on || lt, 0, ["exit", Wn, Bn[2]]), + lt++, + tt++ + } + if (Bn[1].type === "listItemPrefix") { + const Yn = { type: "listItem", _spread: !1, start: Object.assign({}, Bn[1].start), end: void 0 } + ;(Wn = Yn), ge.splice(lt, 0, ["enter", Yn, Bn[2]]), lt++, tt++, (Eo = void 0), (Fo = !0) + } + } + } + return (ge[Re][1]._spread = Kt), tt + } + function i(ge, Re) { + return tt + function tt(lt) { + a.call(this, ge(lt), lt), Re && Re.call(this, lt) + } + } + function s() { + this.stack.push({ type: "fragment", children: [] }) + } + function a(ge, Re, tt) { + this.stack[this.stack.length - 1].children.push(ge), + this.stack.push(ge), + this.tokenStack.push([Re, tt || void 0]), + (ge.position = { start: gd(Re.start), end: void 0 }) + } + function c(ge) { + return Re + function Re(tt) { + ge && ge.call(this, tt), d.call(this, tt) + } + } + function d(ge, Re) { + const tt = this.stack.pop(), + lt = this.tokenStack.pop() + if (lt) lt[0].type !== ge.type && (Re ? Re.call(this, ge, lt[0]) : (lt[1] || HU).call(this, ge, lt[0])) + else + throw new Error( + "Cannot close `" + ge.type + "` (" + Iv({ start: ge.start, end: ge.end }) + "): it’s not open", + ) + tt.position.end = gd(ge.end) + } + function u() { + return v$(this.stack.pop()) + } + function m() { + this.data.expectingFirstListItemValue = !0 + } + function f(ge) { + if (this.data.expectingFirstListItemValue) { + const Re = this.stack[this.stack.length - 2] + ;(Re.start = Number.parseInt(this.sliceSerialize(ge), 10)), (this.data.expectingFirstListItemValue = void 0) + } + } + function g() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.lang = ge + } + function b() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.meta = ge + } + function v() { + this.data.flowCodeInside || (this.buffer(), (this.data.flowCodeInside = !0)) + } + function w() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + ;(Re.value = ge.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, "")), (this.data.flowCodeInside = void 0) + } + function _() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.value = ge.replace(/(\r?\n|\r)$/g, "") + } + function y(ge) { + const Re = this.resume(), + tt = this.stack[this.stack.length - 1] + ;(tt.label = Re), (tt.identifier = Xa(this.sliceSerialize(ge)).toLowerCase()) + } + function C() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.title = ge + } + function S() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.url = ge + } + function P(ge) { + const Re = this.stack[this.stack.length - 1] + if (!Re.depth) { + const tt = this.sliceSerialize(ge).length + Re.depth = tt + } + } + function R() { + this.data.setextHeadingSlurpLineEnding = !0 + } + function T(ge) { + const Re = this.stack[this.stack.length - 1] + Re.depth = this.sliceSerialize(ge).codePointAt(0) === 61 ? 1 : 2 + } + function E() { + this.data.setextHeadingSlurpLineEnding = void 0 + } + function $(ge) { + const tt = this.stack[this.stack.length - 1].children + let lt = tt[tt.length - 1] + ;(!lt || lt.type !== "text") && + ((lt = zt()), (lt.position = { start: gd(ge.start), end: void 0 }), tt.push(lt)), + this.stack.push(lt) + } + function j(ge) { + const Re = this.stack.pop() + ;(Re.value += this.sliceSerialize(ge)), (Re.position.end = gd(ge.end)) + } + function L(ge) { + const Re = this.stack[this.stack.length - 1] + if (this.data.atHardBreak) { + const tt = Re.children[Re.children.length - 1] + ;(tt.position.end = gd(ge.end)), (this.data.atHardBreak = void 0) + return + } + !this.data.setextHeadingSlurpLineEnding && + e.canContainEols.includes(Re.type) && + ($.call(this, ge), j.call(this, ge)) + } + function W() { + this.data.atHardBreak = !0 + } + function G() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.value = ge + } + function U() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.value = ge + } + function Z() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.value = ge + } + function V() { + const ge = this.stack[this.stack.length - 1] + if (this.data.inReference) { + const Re = this.data.referenceType || "shortcut" + ;(ge.type += "Reference"), (ge.referenceType = Re), delete ge.url, delete ge.title + } else delete ge.identifier, delete ge.label + this.data.referenceType = void 0 + } + function X() { + const ge = this.stack[this.stack.length - 1] + if (this.data.inReference) { + const Re = this.data.referenceType || "shortcut" + ;(ge.type += "Reference"), (ge.referenceType = Re), delete ge.url, delete ge.title + } else delete ge.identifier, delete ge.label + this.data.referenceType = void 0 + } + function H(ge) { + const Re = this.sliceSerialize(ge), + tt = this.stack[this.stack.length - 2] + ;(tt.label = gKt(Re)), (tt.identifier = Xa(Re).toLowerCase()) + } + function B() { + const ge = this.stack[this.stack.length - 1], + Re = this.resume(), + tt = this.stack[this.stack.length - 1] + if (((this.data.inReference = !0), tt.type === "link")) { + const lt = ge.children + tt.children = lt + } else tt.alt = Re + } + function M() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.url = ge + } + function D() { + const ge = this.resume(), + Re = this.stack[this.stack.length - 1] + Re.title = ge + } + function F() { + this.data.inReference = void 0 + } + function N() { + this.data.referenceType = "collapsed" + } + function J(ge) { + const Re = this.resume(), + tt = this.stack[this.stack.length - 1] + ;(tt.label = Re), + (tt.identifier = Xa(this.sliceSerialize(ge)).toLowerCase()), + (this.data.referenceType = "full") + } + function oe(ge) { + this.data.characterReferenceType = ge.type + } + function ae(ge) { + const Re = this.sliceSerialize(ge), + tt = this.data.characterReferenceType + let lt + tt + ? ((lt = yct(Re, tt === "characterReferenceMarkerNumeric" ? 10 : 16)), + (this.data.characterReferenceType = void 0)) + : (lt = b$(Re)) + const _t = this.stack[this.stack.length - 1] + _t.value += lt + } + function Q(ge) { + const Re = this.stack.pop() + Re.position.end = gd(ge.end) + } + function ee(ge) { + j.call(this, ge) + const Re = this.stack[this.stack.length - 1] + Re.url = this.sliceSerialize(ge) + } + function q(ge) { + j.call(this, ge) + const Re = this.stack[this.stack.length - 1] + Re.url = "mailto:" + this.sliceSerialize(ge) + } + function me() { + return { type: "blockquote", children: [] } + } + function Ce() { + return { type: "code", lang: null, meta: null, value: "" } + } + function ue() { + return { type: "inlineCode", value: "" } + } + function Te() { + return { type: "definition", identifier: "", label: null, title: null, url: "" } + } + function dt() { + return { type: "emphasis", children: [] } + } + function Y() { + return { type: "heading", depth: 0, children: [] } + } + function Ke() { + return { type: "break" } + } + function jt() { + return { type: "html", value: "" } + } + function Ye() { + return { type: "image", title: null, url: "", alt: null } + } + function Bt() { + return { type: "link", title: null, url: "", children: [] } + } + function nn(ge) { + return { type: "list", ordered: ge.type === "listOrdered", start: null, spread: ge._spread, children: [] } + } + function Xe(ge) { + return { type: "listItem", spread: ge._spread, checked: null, children: [] } + } + function Tt() { + return { type: "paragraph", children: [] } + } + function Vt() { + return { type: "strong", children: [] } + } + function zt() { + return { type: "text", value: "" } + } + function _n() { + return { type: "thematicBreak" } + } +} +function gd(t) { + return { line: t.line, column: t.column, offset: t.offset } +} +function Ict(t, e) { + let n = -1 + for (; ++n < e.length; ) { + const o = e[n] + Array.isArray(o) ? Ict(t, o) : kKt(t, o) + } +} +function kKt(t, e) { + let n + for (n in e) + if (Tct.call(e, n)) + switch (n) { + case "canContainEols": { + const o = e[n] + o && t[n].push(...o) + break + } + case "transforms": { + const o = e[n] + o && t[n].push(...o) + break + } + case "enter": + case "exit": { + const o = e[n] + o && Object.assign(t[n], o) + break + } + } +} +function HU(t, e) { + throw t + ? new Error( + "Cannot close `" + + t.type + + "` (" + + Iv({ start: t.start, end: t.end }) + + "): a different token (`" + + e.type + + "`, " + + Iv({ start: e.start, end: e.end }) + + ") is open", + ) + : new Error( + "Cannot close document, a token (`" + + e.type + + "`, " + + Iv({ start: e.start, end: e.end }) + + ") is still open", + ) +} +function xKt(t) { + const e = this + e.parser = n + function n(o) { + return bKt(o, { + ...e.data("settings"), + ...t, + extensions: e.data("micromarkExtensions") || [], + mdastExtensions: e.data("fromMarkdownExtensions") || [], + }) + } +} +function wKt(t, e) { + const n = { type: "element", tagName: "blockquote", properties: {}, children: t.wrap(t.all(e), !0) } + return t.patch(e, n), t.applyData(e, n) +} +function _Kt(t, e) { + const n = { type: "element", tagName: "br", properties: {}, children: [] } + return ( + t.patch(e, n), + [ + t.applyData(e, n), + { + type: "text", + value: ` +`, + }, + ] + ) +} +function CKt(t, e) { + const n = e.value + ? e.value + + ` +` + : "", + o = {} + e.lang && (o.className = ["language-" + e.lang]) + let r = { type: "element", tagName: "code", properties: o, children: [{ type: "text", value: n }] } + return ( + e.meta && (r.data = { meta: e.meta }), + t.patch(e, r), + (r = t.applyData(e, r)), + (r = { type: "element", tagName: "pre", properties: {}, children: [r] }), + t.patch(e, r), + r + ) +} +function SKt(t, e) { + const n = { type: "element", tagName: "del", properties: {}, children: t.all(e) } + return t.patch(e, n), t.applyData(e, n) +} +function AKt(t, e) { + const n = { type: "element", tagName: "em", properties: {}, children: t.all(e) } + return t.patch(e, n), t.applyData(e, n) +} +function PKt(t, e) { + const n = typeof t.options.clobberPrefix == "string" ? t.options.clobberPrefix : "user-content-", + o = String(e.identifier).toUpperCase(), + r = Wf(o.toLowerCase()), + i = t.footnoteOrder.indexOf(o) + let s, + a = t.footnoteCounts.get(o) + a === void 0 ? ((a = 0), t.footnoteOrder.push(o), (s = t.footnoteOrder.length)) : (s = i + 1), + (a += 1), + t.footnoteCounts.set(o, a) + const c = { + type: "element", + tagName: "a", + properties: { + href: "#" + n + "fn-" + r, + id: n + "fnref-" + r + (a > 1 ? "-" + a : ""), + dataFootnoteRef: !0, + ariaDescribedBy: ["footnote-label"], + }, + children: [{ type: "text", value: String(s) }], + } + t.patch(e, c) + const d = { type: "element", tagName: "sup", properties: {}, children: [c] } + return t.patch(e, d), t.applyData(e, d) +} +function RKt(t, e) { + const n = { type: "element", tagName: "h" + e.depth, properties: {}, children: t.all(e) } + return t.patch(e, n), t.applyData(e, n) +} +function TKt(t, e) { + if (t.options.allowDangerousHtml) { + const n = { type: "raw", value: e.value } + return t.patch(e, n), t.applyData(e, n) + } +} +function Mct(t, e) { + const n = e.referenceType + let o = "]" + if ( + (n === "collapsed" ? (o += "[]") : n === "full" && (o += "[" + (e.label || e.identifier) + "]"), + e.type === "imageReference") + ) + return [{ type: "text", value: "![" + e.alt + o }] + const r = t.all(e), + i = r[0] + i && i.type === "text" ? (i.value = "[" + i.value) : r.unshift({ type: "text", value: "[" }) + const s = r[r.length - 1] + return s && s.type === "text" ? (s.value += o) : r.push({ type: "text", value: o }), r +} +function IKt(t, e) { + const n = String(e.identifier).toUpperCase(), + o = t.definitionById.get(n) + if (!o) return Mct(t, e) + const r = { src: Wf(o.url || ""), alt: e.alt } + o.title !== null && o.title !== void 0 && (r.title = o.title) + const i = { type: "element", tagName: "img", properties: r, children: [] } + return t.patch(e, i), t.applyData(e, i) +} +function MKt(t, e) { + const n = { src: Wf(e.url) } + e.alt !== null && e.alt !== void 0 && (n.alt = e.alt), e.title !== null && e.title !== void 0 && (n.title = e.title) + const o = { type: "element", tagName: "img", properties: n, children: [] } + return t.patch(e, o), t.applyData(e, o) +} +function jKt(t, e) { + const n = { type: "text", value: e.value.replace(/\r?\n|\r/g, " ") } + t.patch(e, n) + const o = { type: "element", tagName: "code", properties: {}, children: [n] } + return t.patch(e, o), t.applyData(e, o) +} +function EKt(t, e) { + const n = String(e.identifier).toUpperCase(), + o = t.definitionById.get(n) + if (!o) return Mct(t, e) + const r = { href: Wf(o.url || "") } + o.title !== null && o.title !== void 0 && (r.title = o.title) + const i = { type: "element", tagName: "a", properties: r, children: t.all(e) } + return t.patch(e, i), t.applyData(e, i) +} +function zKt(t, e) { + const n = { href: Wf(e.url) } + e.title !== null && e.title !== void 0 && (n.title = e.title) + const o = { type: "element", tagName: "a", properties: n, children: t.all(e) } + return t.patch(e, o), t.applyData(e, o) +} +function $Kt(t, e, n) { + const o = t.all(e), + r = n ? LKt(n) : jct(e), + i = {}, + s = [] + if (typeof e.checked == "boolean") { + const u = o[0] + let m + u && u.type === "element" && u.tagName === "p" + ? (m = u) + : ((m = { type: "element", tagName: "p", properties: {}, children: [] }), o.unshift(m)), + m.children.length > 0 && m.children.unshift({ type: "text", value: " " }), + m.children.unshift({ + type: "element", + tagName: "input", + properties: { type: "checkbox", checked: e.checked, disabled: !0 }, + children: [], + }), + (i.className = ["task-list-item"]) + } + let a = -1 + for (; ++a < o.length; ) { + const u = o[a] + ;(r || a !== 0 || u.type !== "element" || u.tagName !== "p") && + s.push({ + type: "text", + value: ` +`, + }), + u.type === "element" && u.tagName === "p" && !r ? s.push(...u.children) : s.push(u) + } + const c = o[o.length - 1] + c && + (r || c.type !== "element" || c.tagName !== "p") && + s.push({ + type: "text", + value: ` +`, + }) + const d = { type: "element", tagName: "li", properties: i, children: s } + return t.patch(e, d), t.applyData(e, d) +} +function LKt(t) { + let e = !1 + if (t.type === "list") { + e = t.spread || !1 + const n = t.children + let o = -1 + for (; !e && ++o < n.length; ) e = jct(n[o]) + } + return e +} +function jct(t) { + const e = t.spread + return e ?? t.children.length > 1 +} +function DKt(t, e) { + const n = {}, + o = t.all(e) + let r = -1 + for (typeof e.start == "number" && e.start !== 1 && (n.start = e.start); ++r < o.length; ) { + const s = o[r] + if ( + s.type === "element" && + s.tagName === "li" && + s.properties && + Array.isArray(s.properties.className) && + s.properties.className.includes("task-list-item") + ) { + n.className = ["contains-task-list"] + break + } + } + const i = { type: "element", tagName: e.ordered ? "ol" : "ul", properties: n, children: t.wrap(o, !0) } + return t.patch(e, i), t.applyData(e, i) +} +function NKt(t, e) { + const n = { type: "element", tagName: "p", properties: {}, children: t.all(e) } + return t.patch(e, n), t.applyData(e, n) +} +function OKt(t, e) { + const n = { type: "root", children: t.wrap(t.all(e)) } + return t.patch(e, n), t.applyData(e, n) +} +function FKt(t, e) { + const n = { type: "element", tagName: "strong", properties: {}, children: t.all(e) } + return t.patch(e, n), t.applyData(e, n) +} +function BKt(t, e) { + const n = t.all(e), + o = n.shift(), + r = [] + if (o) { + const s = { type: "element", tagName: "thead", properties: {}, children: t.wrap([o], !0) } + t.patch(e.children[0], s), r.push(s) + } + if (n.length > 0) { + const s = { type: "element", tagName: "tbody", properties: {}, children: t.wrap(n, !0) }, + a = m$(e.children[1]), + c = dct(e.children[e.children.length - 1]) + a && c && (s.position = { start: a, end: c }), r.push(s) + } + const i = { type: "element", tagName: "table", properties: {}, children: t.wrap(r, !0) } + return t.patch(e, i), t.applyData(e, i) +} +function UKt(t, e, n) { + const o = n ? n.children : void 0, + i = (o ? o.indexOf(e) : 1) === 0 ? "th" : "td", + s = n && n.type === "table" ? n.align : void 0, + a = s ? s.length : e.children.length + let c = -1 + const d = [] + for (; ++c < a; ) { + const m = e.children[c], + f = {}, + g = s ? s[c] : void 0 + g && (f.align = g) + let b = { type: "element", tagName: i, properties: f, children: [] } + m && ((b.children = t.all(m)), t.patch(m, b), (b = t.applyData(m, b))), d.push(b) + } + const u = { type: "element", tagName: "tr", properties: {}, children: t.wrap(d, !0) } + return t.patch(e, u), t.applyData(e, u) +} +function qKt(t, e) { + const n = { type: "element", tagName: "td", properties: {}, children: t.all(e) } + return t.patch(e, n), t.applyData(e, n) +} +const GU = 9, + QU = 32 +function WKt(t) { + const e = String(t), + n = /\r?\n|\r/g + let o = n.exec(e), + r = 0 + const i = [] + for (; o; ) i.push(ZU(e.slice(r, o.index), r > 0, !0), o[0]), (r = o.index + o[0].length), (o = n.exec(e)) + return i.push(ZU(e.slice(r), r > 0, !1)), i.join("") +} +function ZU(t, e, n) { + let o = 0, + r = t.length + if (e) { + let i = t.codePointAt(o) + for (; i === GU || i === QU; ) o++, (i = t.codePointAt(o)) + } + if (n) { + let i = t.codePointAt(r - 1) + for (; i === GU || i === QU; ) r--, (i = t.codePointAt(r - 1)) + } + return r > o ? t.slice(o, r) : "" +} +function KKt(t, e) { + const n = { type: "text", value: WKt(String(e.value)) } + return t.patch(e, n), t.applyData(e, n) +} +function VKt(t, e) { + const n = { type: "element", tagName: "hr", properties: {}, children: [] } + return t.patch(e, n), t.applyData(e, n) +} +const HKt = { + blockquote: wKt, + break: _Kt, + code: CKt, + delete: SKt, + emphasis: AKt, + footnoteReference: PKt, + heading: RKt, + html: TKt, + imageReference: IKt, + image: MKt, + inlineCode: jKt, + linkReference: EKt, + link: zKt, + listItem: $Kt, + list: DKt, + paragraph: NKt, + root: OKt, + strong: FKt, + table: BKt, + tableCell: qKt, + tableRow: UKt, + text: KKt, + thematicBreak: VKt, + toml: rx, + yaml: rx, + definition: rx, + footnoteDefinition: rx, +} +function rx() {} +const Ect = -1, + ZC = 0, + jv = 1, + P_ = 2, + k$ = 3, + x$ = 4, + w$ = 5, + _$ = 6, + zct = 7, + $ct = 8, + YU = typeof self == "object" ? self : globalThis, + GKt = (t, e) => { + const n = (r, i) => (t.set(i, r), r), + o = (r) => { + if (t.has(r)) return t.get(r) + const [i, s] = e[r] + switch (i) { + case ZC: + case Ect: + return n(s, r) + case jv: { + const a = n([], r) + for (const c of s) a.push(o(c)) + return a + } + case P_: { + const a = n({}, r) + for (const [c, d] of s) a[o(c)] = o(d) + return a + } + case k$: + return n(new Date(s), r) + case x$: { + const { source: a, flags: c } = s + return n(new RegExp(a, c), r) + } + case w$: { + const a = n(new Map(), r) + for (const [c, d] of s) a.set(o(c), o(d)) + return a + } + case _$: { + const a = n(new Set(), r) + for (const c of s) a.add(o(c)) + return a + } + case zct: { + const { name: a, message: c } = s + return n(new YU[a](c), r) + } + case $ct: + return n(BigInt(s), r) + case "BigInt": + return n(Object(BigInt(s)), r) + case "ArrayBuffer": + return n(new Uint8Array(s).buffer, s) + case "DataView": { + const { buffer: a } = new Uint8Array(s) + return n(new DataView(a), s) + } + } + return n(new YU[i](s), r) + } + return o + }, + XU = (t) => GKt(new Map(), t)(0), + $m = "", + { toString: QKt } = {}, + { keys: ZKt } = Object, + Zg = (t) => { + const e = typeof t + if (e !== "object" || !t) return [ZC, e] + const n = QKt.call(t).slice(8, -1) + switch (n) { + case "Array": + return [jv, $m] + case "Object": + return [P_, $m] + case "Date": + return [k$, $m] + case "RegExp": + return [x$, $m] + case "Map": + return [w$, $m] + case "Set": + return [_$, $m] + case "DataView": + return [jv, n] + } + return n.includes("Array") ? [jv, n] : n.includes("Error") ? [zct, n] : [P_, n] + }, + ix = ([t, e]) => t === ZC && (e === "function" || e === "symbol"), + YKt = (t, e, n, o) => { + const r = (s, a) => { + const c = o.push(s) - 1 + return n.set(a, c), c + }, + i = (s) => { + if (n.has(s)) return n.get(s) + let [a, c] = Zg(s) + switch (a) { + case ZC: { + let u = s + switch (c) { + case "bigint": + ;(a = $ct), (u = s.toString()) + break + case "function": + case "symbol": + if (t) throw new TypeError("unable to serialize " + c) + u = null + break + case "undefined": + return r([Ect], s) + } + return r([a, u], s) + } + case jv: { + if (c) { + let f = s + return ( + c === "DataView" + ? (f = new Uint8Array(s.buffer)) + : c === "ArrayBuffer" && (f = new Uint8Array(s)), + r([c, [...f]], s) + ) + } + const u = [], + m = r([a, u], s) + for (const f of s) u.push(i(f)) + return m + } + case P_: { + if (c) + switch (c) { + case "BigInt": + return r([c, s.toString()], s) + case "Boolean": + case "Number": + case "String": + return r([c, s.valueOf()], s) + } + if (e && "toJSON" in s) return i(s.toJSON()) + const u = [], + m = r([a, u], s) + for (const f of ZKt(s)) (t || !ix(Zg(s[f]))) && u.push([i(f), i(s[f])]) + return m + } + case k$: + return r([a, s.toISOString()], s) + case x$: { + const { source: u, flags: m } = s + return r([a, { source: u, flags: m }], s) + } + case w$: { + const u = [], + m = r([a, u], s) + for (const [f, g] of s) (t || !(ix(Zg(f)) || ix(Zg(g)))) && u.push([i(f), i(g)]) + return m + } + case _$: { + const u = [], + m = r([a, u], s) + for (const f of s) (t || !ix(Zg(f))) && u.push(i(f)) + return m + } + } + const { message: d } = s + return r([a, { name: c, message: d }], s) + } + return i + }, + JU = (t, { json: e, lossy: n } = {}) => { + const o = [] + return YKt(!(e || n), !!e, new Map(), o)(t), o + }, + R_ = + typeof structuredClone == "function" + ? (t, e) => (e && ("json" in e || "lossy" in e) ? XU(JU(t, e)) : structuredClone(t)) + : (t, e) => XU(JU(t, e)) +function XKt(t, e) { + const n = [{ type: "text", value: "↩" }] + return ( + e > 1 && + n.push({ type: "element", tagName: "sup", properties: {}, children: [{ type: "text", value: String(e) }] }), + n + ) +} +function JKt(t, e) { + return "Back to reference " + (t + 1) + (e > 1 ? "-" + e : "") +} +function eVt(t) { + const e = typeof t.options.clobberPrefix == "string" ? t.options.clobberPrefix : "user-content-", + n = t.options.footnoteBackContent || XKt, + o = t.options.footnoteBackLabel || JKt, + r = t.options.footnoteLabel || "Footnotes", + i = t.options.footnoteLabelTagName || "h2", + s = t.options.footnoteLabelProperties || { className: ["sr-only"] }, + a = [] + let c = -1 + for (; ++c < t.footnoteOrder.length; ) { + const d = t.footnoteById.get(t.footnoteOrder[c]) + if (!d) continue + const u = t.all(d), + m = String(d.identifier).toUpperCase(), + f = Wf(m.toLowerCase()) + let g = 0 + const b = [], + v = t.footnoteCounts.get(m) + for (; v !== void 0 && ++g <= v; ) { + b.length > 0 && b.push({ type: "text", value: " " }) + let y = typeof n == "string" ? n : n(c, g) + typeof y == "string" && (y = { type: "text", value: y }), + b.push({ + type: "element", + tagName: "a", + properties: { + href: "#" + e + "fnref-" + f + (g > 1 ? "-" + g : ""), + dataFootnoteBackref: "", + ariaLabel: typeof o == "string" ? o : o(c, g), + className: ["data-footnote-backref"], + }, + children: Array.isArray(y) ? y : [y], + }) + } + const w = u[u.length - 1] + if (w && w.type === "element" && w.tagName === "p") { + const y = w.children[w.children.length - 1] + y && y.type === "text" ? (y.value += " ") : w.children.push({ type: "text", value: " " }), + w.children.push(...b) + } else u.push(...b) + const _ = { type: "element", tagName: "li", properties: { id: e + "fn-" + f }, children: t.wrap(u, !0) } + t.patch(d, _), a.push(_) + } + if (a.length !== 0) + return { + type: "element", + tagName: "section", + properties: { dataFootnotes: !0, className: ["footnotes"] }, + children: [ + { + type: "element", + tagName: i, + properties: { ...R_(s), id: "footnote-label" }, + children: [{ type: "text", value: r }], + }, + { + type: "text", + value: ` +`, + }, + { type: "element", tagName: "ol", properties: {}, children: t.wrap(a, !0) }, + { + type: "text", + value: ` +`, + }, + ], + } +} +const dy = function (t) { + if (t == null) return rVt + if (typeof t == "function") return YC(t) + if (typeof t == "object") return Array.isArray(t) ? tVt(t) : nVt(t) + if (typeof t == "string") return oVt(t) + throw new Error("Expected function, string, or object as test") +} +function tVt(t) { + const e = [] + let n = -1 + for (; ++n < t.length; ) e[n] = dy(t[n]) + return YC(o) + function o(...r) { + let i = -1 + for (; ++i < e.length; ) if (e[i].apply(this, r)) return !0 + return !1 + } +} +function nVt(t) { + const e = t + return YC(n) + function n(o) { + const r = o + let i + for (i in t) if (r[i] !== e[i]) return !1 + return !0 + } +} +function oVt(t) { + return YC(e) + function e(n) { + return n && n.type === t + } +} +function YC(t) { + return e + function e(n, o, r) { + return !!(iVt(n) && t.call(this, n, typeof o == "number" ? o : void 0, r || void 0)) + } +} +function rVt() { + return !0 +} +function iVt(t) { + return t !== null && typeof t == "object" && "type" in t +} +const Lct = [], + sVt = !0, + dj = !1, + Dct = "skip" +function C$(t, e, n, o) { + let r + typeof e == "function" && typeof n != "function" ? ((o = n), (n = e)) : (r = e) + const i = dy(r), + s = o ? -1 : 1 + a(t, void 0, [])() + function a(c, d, u) { + const m = c && typeof c == "object" ? c : {} + if (typeof m.type == "string") { + const g = typeof m.tagName == "string" ? m.tagName : typeof m.name == "string" ? m.name : void 0 + Object.defineProperty(f, "name", { value: "node (" + (c.type + (g ? "<" + g + ">" : "")) + ")" }) + } + return f + function f() { + let g = Lct, + b, + v, + w + if ((!e || i(c, d, u[u.length - 1] || void 0)) && ((g = aVt(n(c, u))), g[0] === dj)) return g + if ("children" in c && c.children) { + const _ = c + if (_.children && g[0] !== Dct) + for (v = (o ? _.children.length : -1) + s, w = u.concat(_); v > -1 && v < _.children.length; ) { + const y = _.children[v] + if (((b = a(y, v, w)()), b[0] === dj)) return b + v = typeof b[1] == "number" ? b[1] : v + s + } + } + return g + } + } +} +function aVt(t) { + return Array.isArray(t) ? t : typeof t == "number" ? [sVt, t] : t == null ? Lct : [t] +} +function XC(t, e, n, o) { + let r, i, s + typeof e == "function" && typeof n != "function" ? ((i = void 0), (s = e), (r = n)) : ((i = e), (s = n), (r = o)), + C$(t, i, a, r) + function a(c, d) { + const u = d[d.length - 1], + m = u ? u.children.indexOf(c) : void 0 + return s(c, m, u) + } +} +const uj = {}.hasOwnProperty, + lVt = {} +function cVt(t, e) { + const n = e || lVt, + o = new Map(), + r = new Map(), + i = new Map(), + s = { ...HKt, ...n.handlers }, + a = { + all: d, + applyData: uVt, + definitionById: o, + footnoteById: r, + footnoteCounts: i, + footnoteOrder: [], + handlers: s, + one: c, + options: n, + patch: dVt, + wrap: mVt, + } + return ( + XC(t, function (u) { + if (u.type === "definition" || u.type === "footnoteDefinition") { + const m = u.type === "definition" ? o : r, + f = String(u.identifier).toUpperCase() + m.has(f) || m.set(f, u) + } + }), + a + ) + function c(u, m) { + const f = u.type, + g = a.handlers[f] + if (uj.call(a.handlers, f) && g) return g(a, u, m) + if (a.options.passThrough && a.options.passThrough.includes(f)) { + if ("children" in u) { + const { children: v, ...w } = u, + _ = R_(w) + return (_.children = a.all(u)), _ + } + return R_(u) + } + return (a.options.unknownHandler || pVt)(a, u, m) + } + function d(u) { + const m = [] + if ("children" in u) { + const f = u.children + let g = -1 + for (; ++g < f.length; ) { + const b = a.one(f[g], u) + if (b) { + if ( + g && + f[g - 1].type === "break" && + (!Array.isArray(b) && b.type === "text" && (b.value = eq(b.value)), + !Array.isArray(b) && b.type === "element") + ) { + const v = b.children[0] + v && v.type === "text" && (v.value = eq(v.value)) + } + Array.isArray(b) ? m.push(...b) : m.push(b) + } + } + } + return m + } +} +function dVt(t, e) { + t.position && (e.position = G5t(t)) +} +function uVt(t, e) { + let n = e + if (t && t.data) { + const o = t.data.hName, + r = t.data.hChildren, + i = t.data.hProperties + if (typeof o == "string") + if (n.type === "element") n.tagName = o + else { + const s = "children" in n ? n.children : [n] + n = { type: "element", tagName: o, properties: {}, children: s } + } + n.type === "element" && i && Object.assign(n.properties, R_(i)), + "children" in n && n.children && r !== null && r !== void 0 && (n.children = r) + } + return n +} +function pVt(t, e) { + const n = e.data || {}, + o = + "value" in e && !(uj.call(n, "hProperties") || uj.call(n, "hChildren")) + ? { type: "text", value: e.value } + : { type: "element", tagName: "div", properties: {}, children: t.all(e) } + return t.patch(e, o), t.applyData(e, o) +} +function mVt(t, e) { + const n = [] + let o = -1 + for ( + e && + n.push({ + type: "text", + value: ` +`, + }); + ++o < t.length; + + ) + o && + n.push({ + type: "text", + value: ` +`, + }), + n.push(t[o]) + return ( + e && + t.length > 0 && + n.push({ + type: "text", + value: ` +`, + }), + n + ) +} +function eq(t) { + let e = 0, + n = t.charCodeAt(e) + for (; n === 9 || n === 32; ) e++, (n = t.charCodeAt(e)) + return t.slice(e) +} +function tq(t, e) { + const n = cVt(t, e), + o = n.one(t, void 0), + r = eVt(n), + i = Array.isArray(o) ? { type: "root", children: o } : o || { type: "root", children: [] } + return ( + r && + i.children.push( + { + type: "text", + value: ` +`, + }, + r, + ), + i + ) +} +function hVt(t, e) { + return t && "run" in t + ? async function (n, o) { + const r = tq(n, { file: o, ...e }) + await t.run(r, o) + } + : function (n, o) { + return tq(n, { file: o, ...(t || e) }) + } +} +function nq(t) { + if (t) throw t +} +var MP, oq +function Nct() { + if (oq) return MP + oq = 1 + var t = Object.prototype.hasOwnProperty, + e = Object.prototype.toString, + n = Object.defineProperty, + o = Object.getOwnPropertyDescriptor, + r = function (d) { + return typeof Array.isArray == "function" ? Array.isArray(d) : e.call(d) === "[object Array]" + }, + i = function (d) { + if (!d || e.call(d) !== "[object Object]") return !1 + var u = t.call(d, "constructor"), + m = d.constructor && d.constructor.prototype && t.call(d.constructor.prototype, "isPrototypeOf") + if (d.constructor && !u && !m) return !1 + var f + for (f in d); + return typeof f > "u" || t.call(d, f) + }, + s = function (d, u) { + n && u.name === "__proto__" + ? n(d, u.name, { enumerable: !0, configurable: !0, value: u.newValue, writable: !0 }) + : (d[u.name] = u.newValue) + }, + a = function (d, u) { + if (u === "__proto__") + if (t.call(d, u)) { + if (o) return o(d, u).value + } else return + return d[u] + } + return ( + (MP = function c() { + var d, + u, + m, + f, + g, + b, + v = arguments[0], + w = 1, + _ = arguments.length, + y = !1 + for ( + typeof v == "boolean" && ((y = v), (v = arguments[1] || {}), (w = 2)), + (v == null || (typeof v != "object" && typeof v != "function")) && (v = {}); + w < _; + ++w + ) + if (((d = arguments[w]), d != null)) + for (u in d) + (m = a(v, u)), + (f = a(d, u)), + v !== f && + (y && f && (i(f) || (g = r(f))) + ? (g ? ((g = !1), (b = m && r(m) ? m : [])) : (b = m && i(m) ? m : {}), + s(v, { name: u, newValue: c(y, b, f) })) + : typeof f < "u" && s(v, { name: u, newValue: f })) + return v + }), + MP + ) +} +var fVt = Nct() +const jP = ps(fVt) +function pj(t) { + if (typeof t != "object" || t === null) return !1 + const e = Object.getPrototypeOf(t) + return ( + (e === null || e === Object.prototype || Object.getPrototypeOf(e) === null) && + !(Symbol.toStringTag in t) && + !(Symbol.iterator in t) + ) +} +function gVt() { + const t = [], + e = { run: n, use: o } + return e + function n(...r) { + let i = -1 + const s = r.pop() + if (typeof s != "function") throw new TypeError("Expected function as last argument, not " + s) + a(null, ...r) + function a(c, ...d) { + const u = t[++i] + let m = -1 + if (c) { + s(c) + return + } + for (; ++m < r.length; ) (d[m] === null || d[m] === void 0) && (d[m] = r[m]) + ;(r = d), u ? vVt(u, a)(...d) : s(null, ...d) + } + } + function o(r) { + if (typeof r != "function") throw new TypeError("Expected `middelware` to be a function, not " + r) + return t.push(r), e + } +} +function vVt(t, e) { + let n + return o + function o(...s) { + const a = t.length > s.length + let c + a && s.push(r) + try { + c = t.apply(this, s) + } catch (d) { + const u = d + if (a && n) throw u + return r(u) + } + a || (c && c.then && typeof c.then == "function" ? c.then(i, r) : c instanceof Error ? r(c) : i(c)) + } + function r(s, ...a) { + n || ((n = !0), e(s, ...a)) + } + function i(s) { + r(null, s) + } +} +const Cl = { basename: bVt, dirname: yVt, extname: kVt, join: xVt, sep: "/" } +function bVt(t, e) { + if (e !== void 0 && typeof e != "string") throw new TypeError('"ext" argument must be a string') + uy(t) + let n = 0, + o = -1, + r = t.length, + i + if (e === void 0 || e.length === 0 || e.length > t.length) { + for (; r--; ) + if (t.codePointAt(r) === 47) { + if (i) { + n = r + 1 + break + } + } else o < 0 && ((i = !0), (o = r + 1)) + return o < 0 ? "" : t.slice(n, o) + } + if (e === t) return "" + let s = -1, + a = e.length - 1 + for (; r--; ) + if (t.codePointAt(r) === 47) { + if (i) { + n = r + 1 + break + } + } else + s < 0 && ((i = !0), (s = r + 1)), + a > -1 && (t.codePointAt(r) === e.codePointAt(a--) ? a < 0 && (o = r) : ((a = -1), (o = s))) + return n === o ? (o = s) : o < 0 && (o = t.length), t.slice(n, o) +} +function yVt(t) { + if ((uy(t), t.length === 0)) return "." + let e = -1, + n = t.length, + o + for (; --n; ) + if (t.codePointAt(n) === 47) { + if (o) { + e = n + break + } + } else o || (o = !0) + return e < 0 ? (t.codePointAt(0) === 47 ? "/" : ".") : e === 1 && t.codePointAt(0) === 47 ? "//" : t.slice(0, e) +} +function kVt(t) { + uy(t) + let e = t.length, + n = -1, + o = 0, + r = -1, + i = 0, + s + for (; e--; ) { + const a = t.codePointAt(e) + if (a === 47) { + if (s) { + o = e + 1 + break + } + continue + } + n < 0 && ((s = !0), (n = e + 1)), a === 46 ? (r < 0 ? (r = e) : i !== 1 && (i = 1)) : r > -1 && (i = -1) + } + return r < 0 || n < 0 || i === 0 || (i === 1 && r === n - 1 && r === o + 1) ? "" : t.slice(r, n) +} +function xVt(...t) { + let e = -1, + n + for (; ++e < t.length; ) uy(t[e]), t[e] && (n = n === void 0 ? t[e] : n + "/" + t[e]) + return n === void 0 ? "." : wVt(n) +} +function wVt(t) { + uy(t) + const e = t.codePointAt(0) === 47 + let n = _Vt(t, !e) + return ( + n.length === 0 && !e && (n = "."), + n.length > 0 && t.codePointAt(t.length - 1) === 47 && (n += "/"), + e ? "/" + n : n + ) +} +function _Vt(t, e) { + let n = "", + o = 0, + r = -1, + i = 0, + s = -1, + a, + c + for (; ++s <= t.length; ) { + if (s < t.length) a = t.codePointAt(s) + else { + if (a === 47) break + a = 47 + } + if (a === 47) { + if (!(r === s - 1 || i === 1)) + if (r !== s - 1 && i === 2) { + if ( + n.length < 2 || + o !== 2 || + n.codePointAt(n.length - 1) !== 46 || + n.codePointAt(n.length - 2) !== 46 + ) { + if (n.length > 2) { + if (((c = n.lastIndexOf("/")), c !== n.length - 1)) { + c < 0 + ? ((n = ""), (o = 0)) + : ((n = n.slice(0, c)), (o = n.length - 1 - n.lastIndexOf("/"))), + (r = s), + (i = 0) + continue + } + } else if (n.length > 0) { + ;(n = ""), (o = 0), (r = s), (i = 0) + continue + } + } + e && ((n = n.length > 0 ? n + "/.." : ".."), (o = 2)) + } else n.length > 0 ? (n += "/" + t.slice(r + 1, s)) : (n = t.slice(r + 1, s)), (o = s - r - 1) + ;(r = s), (i = 0) + } else a === 46 && i > -1 ? i++ : (i = -1) + } + return n +} +function uy(t) { + if (typeof t != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(t)) +} +const CVt = { cwd: SVt } +function SVt() { + return "/" +} +function mj(t) { + return !!( + t !== null && + typeof t == "object" && + "href" in t && + t.href && + "protocol" in t && + t.protocol && + t.auth === void 0 + ) +} +function AVt(t) { + if (typeof t == "string") t = new URL(t) + else if (!mj(t)) { + const e = new TypeError( + 'The "path" argument must be of type string or an instance of URL. Received `' + t + "`", + ) + throw ((e.code = "ERR_INVALID_ARG_TYPE"), e) + } + if (t.protocol !== "file:") { + const e = new TypeError("The URL must be of scheme file") + throw ((e.code = "ERR_INVALID_URL_SCHEME"), e) + } + return PVt(t) +} +function PVt(t) { + if (t.hostname !== "") { + const o = new TypeError('File URL host must be "localhost" or empty on darwin') + throw ((o.code = "ERR_INVALID_FILE_URL_HOST"), o) + } + const e = t.pathname + let n = -1 + for (; ++n < e.length; ) + if (e.codePointAt(n) === 37 && e.codePointAt(n + 1) === 50) { + const o = e.codePointAt(n + 2) + if (o === 70 || o === 102) { + const r = new TypeError("File URL path must not include encoded / characters") + throw ((r.code = "ERR_INVALID_FILE_URL_PATH"), r) + } + } + return decodeURIComponent(e) +} +const EP = ["history", "path", "basename", "stem", "extname", "dirname"] +class Oct { + constructor(e) { + let n + e ? (mj(e) ? (n = { path: e }) : typeof e == "string" || RVt(e) ? (n = { value: e }) : (n = e)) : (n = {}), + (this.cwd = "cwd" in n ? "" : CVt.cwd()), + (this.data = {}), + (this.history = []), + (this.messages = []), + this.value, + this.map, + this.result, + this.stored + let o = -1 + for (; ++o < EP.length; ) { + const i = EP[o] + i in n && n[i] !== void 0 && n[i] !== null && (this[i] = i === "history" ? [...n[i]] : n[i]) + } + let r + for (r in n) EP.includes(r) || (this[r] = n[r]) + } + get basename() { + return typeof this.path == "string" ? Cl.basename(this.path) : void 0 + } + set basename(e) { + $P(e, "basename"), zP(e, "basename"), (this.path = Cl.join(this.dirname || "", e)) + } + get dirname() { + return typeof this.path == "string" ? Cl.dirname(this.path) : void 0 + } + set dirname(e) { + rq(this.basename, "dirname"), (this.path = Cl.join(e || "", this.basename)) + } + get extname() { + return typeof this.path == "string" ? Cl.extname(this.path) : void 0 + } + set extname(e) { + if ((zP(e, "extname"), rq(this.dirname, "extname"), e)) { + if (e.codePointAt(0) !== 46) throw new Error("`extname` must start with `.`") + if (e.includes(".", 1)) throw new Error("`extname` cannot contain multiple dots") + } + this.path = Cl.join(this.dirname, this.stem + (e || "")) + } + get path() { + return this.history[this.history.length - 1] + } + set path(e) { + mj(e) && (e = AVt(e)), $P(e, "path"), this.path !== e && this.history.push(e) + } + get stem() { + return typeof this.path == "string" ? Cl.basename(this.path, this.extname) : void 0 + } + set stem(e) { + $P(e, "stem"), zP(e, "stem"), (this.path = Cl.join(this.dirname || "", e + (this.extname || ""))) + } + fail(e, n, o) { + const r = this.message(e, n, o) + throw ((r.fatal = !0), r) + } + info(e, n, o) { + const r = this.message(e, n, o) + return (r.fatal = void 0), r + } + message(e, n, o) { + const r = new Ci(e, n, o) + return ( + this.path && ((r.name = this.path + ":" + r.name), (r.file = this.path)), + (r.fatal = !1), + this.messages.push(r), + r + ) + } + toString(e) { + return this.value === void 0 + ? "" + : typeof this.value == "string" + ? this.value + : new TextDecoder(e || void 0).decode(this.value) + } +} +function zP(t, e) { + if (t && t.includes(Cl.sep)) throw new Error("`" + e + "` cannot be a path: did not expect `" + Cl.sep + "`") +} +function $P(t, e) { + if (!t) throw new Error("`" + e + "` cannot be empty") +} +function rq(t, e) { + if (!t) throw new Error("Setting `" + e + "` requires `path` to be set too") +} +function RVt(t) { + return !!(t && typeof t == "object" && "byteLength" in t && "byteOffset" in t) +} +const TVt = function (t) { + const o = this.constructor.prototype, + r = o[t], + i = function () { + return r.apply(i, arguments) + } + return Object.setPrototypeOf(i, o), i + }, + IVt = {}.hasOwnProperty +class S$ extends TVt { + constructor() { + super("copy"), + (this.Compiler = void 0), + (this.Parser = void 0), + (this.attachers = []), + (this.compiler = void 0), + (this.freezeIndex = -1), + (this.frozen = void 0), + (this.namespace = {}), + (this.parser = void 0), + (this.transformers = gVt()) + } + copy() { + const e = new S$() + let n = -1 + for (; ++n < this.attachers.length; ) { + const o = this.attachers[n] + e.use(...o) + } + return e.data(jP(!0, {}, this.namespace)), e + } + data(e, n) { + return typeof e == "string" + ? arguments.length === 2 + ? (NP("data", this.frozen), (this.namespace[e] = n), this) + : (IVt.call(this.namespace, e) && this.namespace[e]) || void 0 + : e + ? (NP("data", this.frozen), (this.namespace = e), this) + : this.namespace + } + freeze() { + if (this.frozen) return this + const e = this + for (; ++this.freezeIndex < this.attachers.length; ) { + const [n, ...o] = this.attachers[this.freezeIndex] + if (o[0] === !1) continue + o[0] === !0 && (o[0] = void 0) + const r = n.call(e, ...o) + typeof r == "function" && this.transformers.use(r) + } + return (this.frozen = !0), (this.freezeIndex = Number.POSITIVE_INFINITY), this + } + parse(e) { + this.freeze() + const n = sx(e), + o = this.parser || this.Parser + return LP("parse", o), o(String(n), n) + } + process(e, n) { + const o = this + return ( + this.freeze(), + LP("process", this.parser || this.Parser), + DP("process", this.compiler || this.Compiler), + n ? r(void 0, n) : new Promise(r) + ) + function r(i, s) { + const a = sx(e), + c = o.parse(a) + o.run(c, a, function (u, m, f) { + if (u || !m || !f) return d(u) + const g = m, + b = o.stringify(g, f) + EVt(b) ? (f.value = b) : (f.result = b), d(u, f) + }) + function d(u, m) { + u || !m ? s(u) : i ? i(m) : n(void 0, m) + } + } + } + processSync(e) { + let n = !1, + o + return ( + this.freeze(), + LP("processSync", this.parser || this.Parser), + DP("processSync", this.compiler || this.Compiler), + this.process(e, r), + sq("processSync", "process", n), + o + ) + function r(i, s) { + ;(n = !0), nq(i), (o = s) + } + } + run(e, n, o) { + iq(e), this.freeze() + const r = this.transformers + return !o && typeof n == "function" && ((o = n), (n = void 0)), o ? i(void 0, o) : new Promise(i) + function i(s, a) { + const c = sx(n) + r.run(e, c, d) + function d(u, m, f) { + const g = m || e + u ? a(u) : s ? s(g) : o(void 0, g, f) + } + } + } + runSync(e, n) { + let o = !1, + r + return this.run(e, n, i), sq("runSync", "run", o), r + function i(s, a) { + nq(s), (r = a), (o = !0) + } + } + stringify(e, n) { + this.freeze() + const o = sx(n), + r = this.compiler || this.Compiler + return DP("stringify", r), iq(e), r(e, o) + } + use(e, ...n) { + const o = this.attachers, + r = this.namespace + if ((NP("use", this.frozen), e != null)) + if (typeof e == "function") c(e, n) + else if (typeof e == "object") Array.isArray(e) ? a(e) : s(e) + else throw new TypeError("Expected usable value, not `" + e + "`") + return this + function i(d) { + if (typeof d == "function") c(d, []) + else if (typeof d == "object") + if (Array.isArray(d)) { + const [u, ...m] = d + c(u, m) + } else s(d) + else throw new TypeError("Expected usable value, not `" + d + "`") + } + function s(d) { + if (!("plugins" in d) && !("settings" in d)) + throw new Error( + "Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither", + ) + a(d.plugins), d.settings && (r.settings = jP(!0, r.settings, d.settings)) + } + function a(d) { + let u = -1 + if (d != null) + if (Array.isArray(d)) + for (; ++u < d.length; ) { + const m = d[u] + i(m) + } + else throw new TypeError("Expected a list of plugins, not `" + d + "`") + } + function c(d, u) { + let m = -1, + f = -1 + for (; ++m < o.length; ) + if (o[m][0] === d) { + f = m + break + } + if (f === -1) o.push([d, ...u]) + else if (u.length > 0) { + let [g, ...b] = u + const v = o[f][1] + pj(v) && pj(g) && (g = jP(!0, v, g)), (o[f] = [d, g, ...b]) + } + } + } +} +const MVt = new S$().freeze() +function LP(t, e) { + if (typeof e != "function") throw new TypeError("Cannot `" + t + "` without `parser`") +} +function DP(t, e) { + if (typeof e != "function") throw new TypeError("Cannot `" + t + "` without `compiler`") +} +function NP(t, e) { + if (e) + throw new Error( + "Cannot call `" + + t + + "` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.", + ) +} +function iq(t) { + if (!pj(t) || typeof t.type != "string") throw new TypeError("Expected node, got `" + t + "`") +} +function sq(t, e, n) { + if (!n) throw new Error("`" + t + "` finished async. Use `" + e + "` instead") +} +function sx(t) { + return jVt(t) ? t : new Oct(t) +} +function jVt(t) { + return !!(t && typeof t == "object" && "message" in t && "messages" in t) +} +function EVt(t) { + return typeof t == "string" || zVt(t) +} +function zVt(t) { + return !!(t && typeof t == "object" && "byteLength" in t && "byteOffset" in t) +} +const $Vt = "https://github.com/remarkjs/react-markdown/blob/main/changelog.md", + aq = [], + lq = { allowDangerousHtml: !0 }, + LVt = /^(https?|ircs?|mailto|xmpp)$/i, + DVt = [ + { from: "astPlugins", id: "remove-buggy-html-in-markdown-parser" }, + { from: "allowDangerousHtml", id: "remove-buggy-html-in-markdown-parser" }, + { from: "allowNode", id: "replace-allownode-allowedtypes-and-disallowedtypes", to: "allowElement" }, + { from: "allowedTypes", id: "replace-allownode-allowedtypes-and-disallowedtypes", to: "allowedElements" }, + { from: "disallowedTypes", id: "replace-allownode-allowedtypes-and-disallowedtypes", to: "disallowedElements" }, + { from: "escapeHtml", id: "remove-buggy-html-in-markdown-parser" }, + { from: "includeElementIndex", id: "#remove-includeelementindex" }, + { from: "includeNodeIndex", id: "change-includenodeindex-to-includeelementindex" }, + { from: "linkTarget", id: "remove-linktarget" }, + { from: "plugins", id: "change-plugins-to-remarkplugins", to: "remarkPlugins" }, + { from: "rawSourcePos", id: "#remove-rawsourcepos" }, + { from: "renderers", id: "change-renderers-to-components", to: "components" }, + { from: "source", id: "change-source-to-children", to: "children" }, + { from: "sourcePos", id: "#remove-sourcepos" }, + { from: "transformImageUri", id: "#add-urltransform", to: "urlTransform" }, + { from: "transformLinkUri", id: "#add-urltransform", to: "urlTransform" }, + ] +function NVt(t) { + const e = OVt(t), + n = FVt(t) + return BVt(e.runSync(e.parse(n), n), t) +} +function OVt(t) { + const e = t.rehypePlugins || aq, + n = t.remarkPlugins || aq, + o = t.remarkRehypeOptions ? { ...t.remarkRehypeOptions, ...lq } : lq + return MVt().use(xKt).use(n).use(hVt, o).use(e) +} +function FVt(t) { + const e = t.children || "", + n = new Oct() + return typeof e == "string" && (n.value = e), n +} +function BVt(t, e) { + const n = e.allowedElements, + o = e.allowElement, + r = e.components, + i = e.disallowedElements, + s = e.skipHtml, + a = e.unwrapDisallowed, + c = e.urlTransform || UVt + for (const u of DVt) + Object.hasOwn(e, u.from) && + ("" + u.from + (u.to ? "use `" + u.to + "` instead" : "remove it") + $Vt + u.id, void 0) + return ( + e.className && + (t = { + type: "element", + tagName: "div", + properties: { className: e.className }, + children: t.type === "root" ? t.children : [t], + }), + XC(t, d), + mct(t, { + Fragment: l.Fragment, + components: r, + ignoreInvalidStyle: !0, + jsx: l.jsx, + jsxs: l.jsxs, + passKeys: !0, + passNode: !0, + }) + ) + function d(u, m, f) { + if (u.type === "raw" && f && typeof m == "number") + return s ? f.children.splice(m, 1) : (f.children[m] = { type: "text", value: u.value }), m + if (u.type === "element") { + let g + for (g in RP) + if (Object.hasOwn(RP, g) && Object.hasOwn(u.properties, g)) { + const b = u.properties[g], + v = RP[g] + ;(v === null || v.includes(u.tagName)) && (u.properties[g] = c(String(b || ""), g, u)) + } + } + if (u.type === "element") { + let g = n ? !n.includes(u.tagName) : i ? i.includes(u.tagName) : !1 + if ((!g && o && typeof m == "number" && (g = !o(u, m, f)), g && f && typeof m == "number")) + return a && u.children ? f.children.splice(m, 1, ...u.children) : f.children.splice(m, 1), m + } + } +} +function UVt(t) { + const e = t.indexOf(":"), + n = t.indexOf("?"), + o = t.indexOf("#"), + r = t.indexOf("/") + return e === -1 || (r !== -1 && e > r) || (n !== -1 && e > n) || (o !== -1 && e > o) || LVt.test(t.slice(0, e)) + ? t + : "" +} +const cq = /[#.]/g +function qVt(t, e) { + const n = t || "", + o = {} + let r = 0, + i, + s + for (; r < n.length; ) { + cq.lastIndex = r + const a = cq.exec(n), + c = n.slice(r, a ? a.index : n.length) + c && + (i + ? i === "#" + ? (o.id = c) + : Array.isArray(o.className) + ? o.className.push(c) + : (o.className = [c]) + : (s = c), + (r += c.length)), + a && ((i = a[0]), r++) + } + return { type: "element", tagName: s || e || "div", properties: o, children: [] } +} +function Fct(t, e, n) { + const o = n ? HVt(n) : void 0 + function r(i, s, ...a) { + let c + if (i == null) { + c = { type: "root", children: [] } + const d = s + a.unshift(d) + } else { + c = qVt(i, e) + const d = c.tagName.toLowerCase(), + u = o ? o.get(d) : void 0 + if (((c.tagName = u || d), WVt(s))) a.unshift(s) + else for (const [m, f] of Object.entries(s)) KVt(t, c.properties, m, f) + } + for (const d of a) hj(c.children, d) + return ( + c.type === "element" && + c.tagName === "template" && + ((c.content = { type: "root", children: c.children }), (c.children = [])), + c + ) + } + return r +} +function WVt(t) { + if (t === null || typeof t != "object" || Array.isArray(t)) return !0 + if (typeof t.type != "string") return !1 + const e = t, + n = Object.keys(t) + for (const o of n) { + const r = e[o] + if (r && typeof r == "object") { + if (!Array.isArray(r)) return !0 + const i = r + for (const s of i) if (typeof s != "number" && typeof s != "string") return !0 + } + } + return !!("children" in t && Array.isArray(t.children)) +} +function KVt(t, e, n, o) { + const r = r$(t, n) + let i + if (o != null) { + if (typeof o == "number") { + if (Number.isNaN(o)) return + i = o + } else + typeof o == "boolean" + ? (i = o) + : typeof o == "string" + ? r.spaceSeparated + ? (i = vU(o)) + : r.commaSeparated + ? (i = gU(o)) + : r.commaOrSpaceSeparated + ? (i = vU(gU(o).join(" "))) + : (i = dq(r, r.property, o)) + : Array.isArray(o) + ? (i = [...o]) + : (i = r.property === "style" ? VVt(o) : String(o)) + if (Array.isArray(i)) { + const s = [] + for (const a of i) s.push(dq(r, r.property, a)) + i = s + } + r.property === "className" && Array.isArray(e.className) && (i = e.className.concat(i)), (e[r.property] = i) + } +} +function hj(t, e) { + if (e != null) + if (typeof e == "number" || typeof e == "string") t.push({ type: "text", value: String(e) }) + else if (Array.isArray(e)) for (const n of e) hj(t, n) + else if (typeof e == "object" && "type" in e) e.type === "root" ? hj(t, e.children) : t.push(e) + else throw new Error("Expected node, nodes, or string, got `" + e + "`") +} +function dq(t, e, n) { + if (typeof n == "string") { + if (t.number && n && !Number.isNaN(Number(n))) return Number(n) + if ((t.boolean || t.overloadedBoolean) && (n === "" || bb(n) === bb(e))) return !0 + } + return n +} +function VVt(t) { + const e = [] + for (const [n, o] of Object.entries(t)) e.push([n, o].join(": ")) + return e.join("; ") +} +function HVt(t) { + const e = new Map() + for (const n of t) e.set(n.toLowerCase(), n) + return e +} +const GVt = [ + "altGlyph", + "altGlyphDef", + "altGlyphItem", + "animateColor", + "animateMotion", + "animateTransform", + "clipPath", + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feDropShadow", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + "foreignObject", + "glyphRef", + "linearGradient", + "radialGradient", + "solidColor", + "textArea", + "textPath", + ], + QVt = Fct(i$, "div"), + ZVt = Fct(Uf, "g", GVt), + OP = { html: "http://www.w3.org/1999/xhtml", svg: "http://www.w3.org/2000/svg" } +function YVt(t, e) { + return Bct(t, {}) || { type: "root", children: [] } +} +function Bct(t, e) { + const n = XVt(t, e) + return n && e.afterTransform && e.afterTransform(t, n), n +} +function XVt(t, e) { + switch (t.nodeType) { + case 1: + return n6t(t, e) + case 3: + return e6t(t) + case 8: + return t6t(t) + case 9: + return uq(t, e) + case 10: + return JVt() + case 11: + return uq(t, e) + default: + return + } +} +function uq(t, e) { + return { type: "root", children: Uct(t, e) } +} +function JVt() { + return { type: "doctype" } +} +function e6t(t) { + return { type: "text", value: t.nodeValue || "" } +} +function t6t(t) { + return { type: "comment", value: t.nodeValue || "" } +} +function n6t(t, e) { + const n = t.namespaceURI, + o = n === OP.svg ? ZVt : QVt, + r = n === OP.html ? t.tagName.toLowerCase() : t.tagName, + i = n === OP.html && r === "template" ? t.content : t, + s = t.getAttributeNames(), + a = {} + let c = -1 + for (; ++c < s.length; ) a[s[c]] = t.getAttribute(s[c]) || "" + return o(r, a, Uct(i, e)) +} +function Uct(t, e) { + const n = t.childNodes, + o = [] + let r = -1 + for (; ++r < n.length; ) { + const i = Bct(n[r], e) + i !== void 0 && o.push(i) + } + return o +} +new DOMParser() +function o6t(t, e) { + const n = r6t(t) + return YVt(n) +} +function r6t(t) { + const e = document.createElement("template") + return (e.innerHTML = t), e.content +} +const pq = function (t, e, n) { + const o = dy(n) + if (!t || !t.type || !t.children) throw new Error("Expected parent node") + if (typeof e == "number") { + if (e < 0 || e === Number.POSITIVE_INFINITY) throw new Error("Expected positive finite number as index") + } else if (((e = t.children.indexOf(e)), e < 0)) throw new Error("Expected child node or index") + for (; ++e < t.children.length; ) if (o(t.children[e], e, t)) return t.children[e] + }, + Jp = function (t) { + if (t == null) return a6t + if (typeof t == "string") return s6t(t) + if (typeof t == "object") return i6t(t) + if (typeof t == "function") return A$(t) + throw new Error("Expected function, string, or array as `test`") + } +function i6t(t) { + const e = [] + let n = -1 + for (; ++n < t.length; ) e[n] = Jp(t[n]) + return A$(o) + function o(...r) { + let i = -1 + for (; ++i < e.length; ) if (e[i].apply(this, r)) return !0 + return !1 + } +} +function s6t(t) { + return A$(e) + function e(n) { + return n.tagName === t + } +} +function A$(t) { + return e + function e(n, o, r) { + return !!(l6t(n) && t.call(this, n, typeof o == "number" ? o : void 0, r || void 0)) + } +} +function a6t(t) { + return !!( + t && + typeof t == "object" && + "type" in t && + t.type === "element" && + "tagName" in t && + typeof t.tagName == "string" + ) +} +function l6t(t) { + return t !== null && typeof t == "object" && "type" in t && "tagName" in t +} +const mq = /\n/g, + hq = /[\t ]+/g, + fj = Jp("br"), + fq = Jp(g6t), + c6t = Jp("p"), + gq = Jp("tr"), + d6t = Jp([ + "datalist", + "head", + "noembed", + "noframes", + "noscript", + "rp", + "script", + "style", + "template", + "title", + f6t, + v6t, + ]), + qct = Jp([ + "address", + "article", + "aside", + "blockquote", + "body", + "caption", + "center", + "dd", + "dialog", + "dir", + "dl", + "dt", + "div", + "figure", + "figcaption", + "footer", + "form,", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "header", + "hgroup", + "hr", + "html", + "legend", + "li", + "listing", + "main", + "menu", + "nav", + "ol", + "p", + "plaintext", + "pre", + "section", + "ul", + "xmp", + ]) +function u6t(t, e) { + const n = e || {}, + o = "children" in t ? t.children : [], + r = qct(t), + i = Vct(t, { whitespace: n.whitespace || "normal" }), + s = [] + ;(t.type === "text" || t.type === "comment") && s.push(...Kct(t, { breakBefore: !0, breakAfter: !0 })) + let a = -1 + for (; ++a < o.length; ) + s.push( + ...Wct(o[a], t, { + whitespace: i, + breakBefore: a ? void 0 : r, + breakAfter: a < o.length - 1 ? fj(o[a + 1]) : r, + }), + ) + const c = [] + let d + for (a = -1; ++a < s.length; ) { + const u = s[a] + typeof u == "number" + ? d !== void 0 && u > d && (d = u) + : u && + (d !== void 0 && + d > -1 && + c.push( + ` +`.repeat(d) || " ", + ), + (d = -1), + c.push(u)) + } + return c.join("") +} +function Wct(t, e, n) { + return t.type === "element" + ? p6t(t, e, n) + : t.type === "text" + ? n.whitespace === "normal" + ? Kct(t, n) + : m6t(t) + : [] +} +function p6t(t, e, n) { + const o = Vct(t, n), + r = t.children || [] + let i = -1, + s = [] + if (d6t(t)) return s + let a, c + for ( + fj(t) || (gq(t) && pq(e, t, gq)) + ? (c = ` +`) + : c6t(t) + ? ((a = 2), (c = 2)) + : qct(t) && ((a = 1), (c = 1)); + ++i < r.length; + + ) + s = s.concat( + Wct(r[i], t, { + whitespace: o, + breakBefore: i ? void 0 : a, + breakAfter: i < r.length - 1 ? fj(r[i + 1]) : c, + }), + ) + return fq(t) && pq(e, t, fq) && s.push(" "), a && s.unshift(a), c && s.push(c), s +} +function Kct(t, e) { + const n = String(t.value), + o = [], + r = [] + let i = 0 + for (; i <= n.length; ) { + mq.lastIndex = i + const c = mq.exec(n), + d = c && "index" in c ? c.index : n.length + o.push( + h6t( + n.slice(i, d).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g, ""), + i === 0 ? e.breakBefore : !0, + d === n.length ? e.breakAfter : !0, + ), + ), + (i = d + 1) + } + let s = -1, + a + for (; ++s < o.length; ) + o[s].charCodeAt(o[s].length - 1) === 8203 || (s < o.length - 1 && o[s + 1].charCodeAt(0) === 8203) + ? (r.push(o[s]), (a = void 0)) + : o[s] + ? (typeof a == "number" && r.push(a), r.push(o[s]), (a = 0)) + : (s === 0 || s === o.length - 1) && r.push(0) + return r +} +function m6t(t) { + return [String(t.value)] +} +function h6t(t, e, n) { + const o = [] + let r = 0, + i + for (; r < t.length; ) { + hq.lastIndex = r + const s = hq.exec(t) + ;(i = s ? s.index : t.length), + !r && !i && s && !e && o.push(""), + r !== i && o.push(t.slice(r, i)), + (r = s ? i + s[0].length : i) + } + return r !== i && !n && o.push(""), o.join(" ") +} +function Vct(t, e) { + if (t.type === "element") { + const n = t.properties || {} + switch (t.tagName) { + case "listing": + case "plaintext": + case "xmp": + return "pre" + case "nobr": + return "nowrap" + case "pre": + return n.wrap ? "pre-wrap" : "pre" + case "td": + case "th": + return n.noWrap ? "nowrap" : e.whitespace + case "textarea": + return "pre-wrap" + } + } + return e.whitespace +} +function f6t(t) { + return !!(t.properties || {}).hidden +} +function g6t(t) { + return t.tagName === "td" || t.tagName === "th" +} +function v6t(t) { + return t.tagName === "dialog" && !(t.properties || {}).open +} +const b6t = {}, + y6t = [] +function k6t(t) { + const e = t || b6t + return function (n, o) { + C$(n, "element", function (r, i) { + const s = Array.isArray(r.properties.className) ? r.properties.className : y6t, + a = s.includes("language-math"), + c = s.includes("math-display"), + d = s.includes("math-inline") + let u = c + if (!a && !c && !d) return + let m = i[i.length - 1], + f = r + if ( + (r.tagName === "code" && + a && + m && + m.type === "element" && + m.tagName === "pre" && + ((f = m), (m = i[i.length - 2]), (u = !0)), + !m) + ) + return + const g = u6t(f, { whitespace: "pre" }) + let b + try { + b = lN.renderToString(g, { ...e, displayMode: u, throwOnError: !0 }) + } catch (w) { + const _ = w, + y = _.name.toLowerCase() + o.message("Could not render math with KaTeX", { + ancestors: [...i, r], + cause: _, + place: r.position, + ruleId: y, + source: "rehype-katex", + }) + try { + b = lN.renderToString(g, { ...e, displayMode: u, strict: "ignore", throwOnError: !1 }) + } catch { + b = [ + { + type: "element", + tagName: "span", + properties: { + className: ["katex-error"], + style: "color:" + (e.errorColor || "#cc0000"), + title: String(w), + }, + children: [{ type: "text", value: g }], + }, + ] + } + } + typeof b == "string" && (b = o6t(b).children) + const v = m.children.indexOf(f) + return m.children.splice(v, 1, ...b), Dct + }) + } +} +function Hct(t, e) { + const n = String(t) + let o = n.indexOf(e), + r = o, + i = 0, + s = 0 + if (typeof e != "string") throw new TypeError("Expected substring") + for (; o !== -1; ) o === r ? ++i > s && (s = i) : (i = 1), (r = o + e.length), (o = n.indexOf(e, r)) + return s +} +function x6t() { + return { + enter: { mathFlow: t, mathFlowFenceMeta: e, mathText: i }, + exit: { mathFlow: r, mathFlowFence: o, mathFlowFenceMeta: n, mathFlowValue: a, mathText: s, mathTextData: a }, + } + function t(c) { + const d = { + type: "element", + tagName: "code", + properties: { className: ["language-math", "math-display"] }, + children: [], + } + this.enter({ type: "math", meta: null, value: "", data: { hName: "pre", hChildren: [d] } }, c) + } + function e() { + this.buffer() + } + function n() { + const c = this.resume(), + d = this.stack[this.stack.length - 1] + d.type, (d.meta = c) + } + function o() { + this.data.mathFlowInside || (this.buffer(), (this.data.mathFlowInside = !0)) + } + function r(c) { + const d = this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), + u = this.stack[this.stack.length - 1] + u.type, this.exit(c), (u.value = d) + const m = u.data.hChildren[0] + m.type, m.tagName, m.children.push({ type: "text", value: d }), (this.data.mathFlowInside = void 0) + } + function i(c) { + this.enter( + { + type: "inlineMath", + value: "", + data: { hName: "code", hProperties: { className: ["language-math", "math-inline"] }, hChildren: [] }, + }, + c, + ), + this.buffer() + } + function s(c) { + const d = this.resume(), + u = this.stack[this.stack.length - 1] + u.type, this.exit(c), (u.value = d), u.data.hChildren.push({ type: "text", value: d }) + } + function a(c) { + this.config.enter.data.call(this, c), this.config.exit.data.call(this, c) + } +} +function w6t(t) { + let e = (t || {}).singleDollarTextMath + return ( + e == null && (e = !0), + (o.peek = r), + { + unsafe: [ + { character: "\r", inConstruct: "mathFlowMeta" }, + { + character: ` +`, + inConstruct: "mathFlowMeta", + }, + { character: "$", after: e ? void 0 : "\\$", inConstruct: "phrasing" }, + { character: "$", inConstruct: "mathFlowMeta" }, + { atBreak: !0, character: "$", after: "\\$" }, + ], + handlers: { math: n, inlineMath: o }, + } + ) + function n(i, s, a, c) { + const d = i.value || "", + u = a.createTracker(c), + m = "$".repeat(Math.max(Hct(d, "$") + 1, 2)), + f = a.enter("mathFlow") + let g = u.move(m) + if (i.meta) { + const b = a.enter("mathFlowMeta") + ;(g += u.move( + a.safe(i.meta, { + after: ` +`, + before: g, + encode: ["$"], + ...u.current(), + }), + )), + b() + } + return ( + (g += u.move(` +`)), + d && + (g += u.move( + d + + ` +`, + )), + (g += u.move(m)), + f(), + g + ) + } + function o(i, s, a) { + let c = i.value || "", + d = 1 + for (e || d++; new RegExp("(^|[^$])" + "\\$".repeat(d) + "([^$]|$)").test(c); ) d++ + const u = "$".repeat(d) + ;/[^ \r\n]/.test(c) && ((/^[ \r\n]/.test(c) && /[ \r\n]$/.test(c)) || /^\$|\$$/.test(c)) && (c = " " + c + " ") + let m = -1 + for (; ++m < a.unsafe.length; ) { + const f = a.unsafe[m] + if (!f.atBreak) continue + const g = a.compilePattern(f) + let b + for (; (b = g.exec(c)); ) { + let v = b.index + c.codePointAt(v) === 10 && c.codePointAt(v - 1) === 13 && v--, + (c = c.slice(0, v) + " " + c.slice(b.index + 1)) + } + } + return u + c + u + } + function r() { + return "$" + } +} +const _6t = { tokenize: C6t, concrete: !0, name: "mathFlow" }, + vq = { tokenize: S6t, partial: !0 } +function C6t(t, e, n) { + const o = this, + r = o.events[o.events.length - 1], + i = r && r[1].type === "linePrefix" ? r[2].sliceSerialize(r[1], !0).length : 0 + let s = 0 + return a + function a(y) { + return t.enter("mathFlow"), t.enter("mathFlowFence"), t.enter("mathFlowFenceSequence"), c(y) + } + function c(y) { + return y === 36 + ? (t.consume(y), s++, c) + : s < 2 + ? n(y) + : (t.exit("mathFlowFenceSequence"), Pn(t, d, "whitespace")(y)) + } + function d(y) { + return y === null || It(y) + ? m(y) + : (t.enter("mathFlowFenceMeta"), t.enter("chunkString", { contentType: "string" }), u(y)) + } + function u(y) { + return y === null || It(y) + ? (t.exit("chunkString"), t.exit("mathFlowFenceMeta"), m(y)) + : y === 36 + ? n(y) + : (t.consume(y), u) + } + function m(y) { + return t.exit("mathFlowFence"), o.interrupt ? e(y) : t.attempt(vq, f, w)(y) + } + function f(y) { + return t.attempt({ tokenize: _, partial: !0 }, w, g)(y) + } + function g(y) { + return (i ? Pn(t, b, "linePrefix", i + 1) : b)(y) + } + function b(y) { + return y === null ? w(y) : It(y) ? t.attempt(vq, f, w)(y) : (t.enter("mathFlowValue"), v(y)) + } + function v(y) { + return y === null || It(y) ? (t.exit("mathFlowValue"), b(y)) : (t.consume(y), v) + } + function w(y) { + return t.exit("mathFlow"), e(y) + } + function _(y, C, S) { + let P = 0 + return Pn(y, R, "linePrefix", o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4) + function R($) { + return y.enter("mathFlowFence"), y.enter("mathFlowFenceSequence"), T($) + } + function T($) { + return $ === 36 + ? (P++, y.consume($), T) + : P < s + ? S($) + : (y.exit("mathFlowFenceSequence"), Pn(y, E, "whitespace")($)) + } + function E($) { + return $ === null || It($) ? (y.exit("mathFlowFence"), C($)) : S($) + } + } +} +function S6t(t, e, n) { + const o = this + return r + function r(s) { + return s === null ? e(s) : (t.enter("lineEnding"), t.consume(s), t.exit("lineEnding"), i) + } + function i(s) { + return o.parser.lazy[o.now().line] ? n(s) : e(s) + } +} +function A6t(t) { + let n = (t || {}).singleDollarTextMath + return n == null && (n = !0), { tokenize: o, resolve: P6t, previous: R6t, name: "mathText" } + function o(r, i, s) { + let a = 0, + c, + d + return u + function u(v) { + return r.enter("mathText"), r.enter("mathTextSequence"), m(v) + } + function m(v) { + return v === 36 ? (r.consume(v), a++, m) : a < 2 && !n ? s(v) : (r.exit("mathTextSequence"), f(v)) + } + function f(v) { + return v === null + ? s(v) + : v === 36 + ? ((d = r.enter("mathTextSequence")), (c = 0), b(v)) + : v === 32 + ? (r.enter("space"), r.consume(v), r.exit("space"), f) + : It(v) + ? (r.enter("lineEnding"), r.consume(v), r.exit("lineEnding"), f) + : (r.enter("mathTextData"), g(v)) + } + function g(v) { + return v === null || v === 32 || v === 36 || It(v) ? (r.exit("mathTextData"), f(v)) : (r.consume(v), g) + } + function b(v) { + return v === 36 + ? (r.consume(v), c++, b) + : c === a + ? (r.exit("mathTextSequence"), r.exit("mathText"), i(v)) + : ((d.type = "mathTextData"), g(v)) + } + } +} +function P6t(t) { + let e = t.length - 4, + n = 3, + o, + r + if ( + (t[n][1].type === "lineEnding" || t[n][1].type === "space") && + (t[e][1].type === "lineEnding" || t[e][1].type === "space") + ) { + for (o = n; ++o < e; ) + if (t[o][1].type === "mathTextData") { + ;(t[e][1].type = "mathTextPadding"), (t[n][1].type = "mathTextPadding"), (n += 2), (e -= 2) + break + } + } + for (o = n - 1, e++; ++o <= e; ) + r === void 0 + ? o !== e && t[o][1].type !== "lineEnding" && (r = o) + : (o === e || t[o][1].type === "lineEnding") && + ((t[r][1].type = "mathTextData"), + o !== r + 2 && + ((t[r][1].end = t[o - 1][1].end), t.splice(r + 2, o - r - 2), (e -= o - r - 2), (o = r + 2)), + (r = void 0)) + return t +} +function R6t(t) { + return t !== 36 || this.events[this.events.length - 1][1].type === "characterEscape" +} +function T6t(t) { + return { flow: { 36: _6t }, text: { 36: A6t(t) } } +} +const I6t = {} +function M6t(t) { + const e = this, + n = t || I6t, + o = e.data(), + r = o.micromarkExtensions || (o.micromarkExtensions = []), + i = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), + s = o.toMarkdownExtensions || (o.toMarkdownExtensions = []) + r.push(T6t(n)), i.push(x6t()), s.push(w6t(n)) +} +function j6t(t) { + if (typeof t != "string") throw new TypeError("Expected a string") + return t.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d") +} +function E6t(t, e, n) { + const r = dy((n || {}).ignore || []), + i = z6t(e) + let s = -1 + for (; ++s < i.length; ) C$(t, "text", a) + function a(d, u) { + let m = -1, + f + for (; ++m < u.length; ) { + const g = u[m], + b = f ? f.children : void 0 + if (r(g, b ? b.indexOf(g) : void 0, f)) return + f = g + } + if (f) return c(d, u) + } + function c(d, u) { + const m = u[u.length - 1], + f = i[s][0], + g = i[s][1] + let b = 0 + const w = m.children.indexOf(d) + let _ = !1, + y = [] + f.lastIndex = 0 + let C = f.exec(d.value) + for (; C; ) { + const S = C.index, + P = { index: C.index, input: C.input, stack: [...u, d] } + let R = g(...C, P) + if ( + (typeof R == "string" && (R = R.length > 0 ? { type: "text", value: R } : void 0), + R === !1 + ? (f.lastIndex = S + 1) + : (b !== S && y.push({ type: "text", value: d.value.slice(b, S) }), + Array.isArray(R) ? y.push(...R) : R && y.push(R), + (b = S + C[0].length), + (_ = !0)), + !f.global) + ) + break + C = f.exec(d.value) + } + return ( + _ + ? (b < d.value.length && y.push({ type: "text", value: d.value.slice(b) }), + m.children.splice(w, 1, ...y)) + : (y = [d]), + w + y.length + ) + } +} +function z6t(t) { + const e = [] + if (!Array.isArray(t)) throw new TypeError("Expected find and replace tuple or list of tuples") + const n = !t[0] || Array.isArray(t[0]) ? t : [t] + let o = -1 + for (; ++o < n.length; ) { + const r = n[o] + e.push([$6t(r[0]), L6t(r[1])]) + } + return e +} +function $6t(t) { + return typeof t == "string" ? new RegExp(j6t(t), "g") : t +} +function L6t(t) { + return typeof t == "function" + ? t + : function () { + return t + } +} +const FP = "phrasing", + BP = ["autolink", "link", "image", "label"] +function D6t() { + return { + transforms: [W6t], + enter: { literalAutolink: O6t, literalAutolinkEmail: UP, literalAutolinkHttp: UP, literalAutolinkWww: UP }, + exit: { literalAutolink: q6t, literalAutolinkEmail: U6t, literalAutolinkHttp: F6t, literalAutolinkWww: B6t }, + } +} +function N6t() { + return { + unsafe: [ + { character: "@", before: "[+\\-.\\w]", after: "[\\-.\\w]", inConstruct: FP, notInConstruct: BP }, + { character: ".", before: "[Ww]", after: "[\\-.\\w]", inConstruct: FP, notInConstruct: BP }, + { character: ":", before: "[ps]", after: "\\/", inConstruct: FP, notInConstruct: BP }, + ], + } +} +function O6t(t) { + this.enter({ type: "link", title: null, url: "", children: [] }, t) +} +function UP(t) { + this.config.enter.autolinkProtocol.call(this, t) +} +function F6t(t) { + this.config.exit.autolinkProtocol.call(this, t) +} +function B6t(t) { + this.config.exit.data.call(this, t) + const e = this.stack[this.stack.length - 1] + e.type, (e.url = "http://" + this.sliceSerialize(t)) +} +function U6t(t) { + this.config.exit.autolinkEmail.call(this, t) +} +function q6t(t) { + this.exit(t) +} +function W6t(t) { + E6t( + t, + [ + [/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi, K6t], + [new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)", "gu"), V6t], + ], + { ignore: ["link", "linkReference"] }, + ) +} +function K6t(t, e, n, o, r) { + let i = "" + if (!Gct(r) || (/^w/i.test(e) && ((n = e + n), (e = ""), (i = "http://")), !H6t(n))) return !1 + const s = G6t(n + o) + if (!s[0]) return !1 + const a = { type: "link", title: null, url: i + e + s[0], children: [{ type: "text", value: e + s[0] }] } + return s[1] ? [a, { type: "text", value: s[1] }] : a +} +function V6t(t, e, n, o) { + return !Gct(o, !0) || /[-\d_]$/.test(n) + ? !1 + : { type: "link", title: null, url: "mailto:" + e + "@" + n, children: [{ type: "text", value: e + "@" + n }] } +} +function H6t(t) { + const e = t.split(".") + return !( + e.length < 2 || + (e[e.length - 1] && (/_/.test(e[e.length - 1]) || !/[a-zA-Z\d]/.test(e[e.length - 1]))) || + (e[e.length - 2] && (/_/.test(e[e.length - 2]) || !/[a-zA-Z\d]/.test(e[e.length - 2]))) + ) +} +function G6t(t) { + const e = /[!"&'),.:;<>?\]}]+$/.exec(t) + if (!e) return [t, void 0] + t = t.slice(0, e.index) + let n = e[0], + o = n.indexOf(")") + const r = y_(t, "(") + let i = y_(t, ")") + for (; o !== -1 && r > i; ) (t += n.slice(0, o + 1)), (n = n.slice(o + 1)), (o = n.indexOf(")")), i++ + return [t, n] +} +function Gct(t, e) { + const n = t.input.charCodeAt(t.index - 1) + return (t.index === 0 || qp(n) || GC(n)) && (!e || n !== 47) +} +Qct.peek = oHt +function Q6t() { + this.buffer() +} +function Z6t(t) { + this.enter({ type: "footnoteReference", identifier: "", label: "" }, t) +} +function Y6t() { + this.buffer() +} +function X6t(t) { + this.enter({ type: "footnoteDefinition", identifier: "", label: "", children: [] }, t) +} +function J6t(t) { + const e = this.resume(), + n = this.stack[this.stack.length - 1] + n.type, (n.identifier = Xa(this.sliceSerialize(t)).toLowerCase()), (n.label = e) +} +function eHt(t) { + this.exit(t) +} +function tHt(t) { + const e = this.resume(), + n = this.stack[this.stack.length - 1] + n.type, (n.identifier = Xa(this.sliceSerialize(t)).toLowerCase()), (n.label = e) +} +function nHt(t) { + this.exit(t) +} +function oHt() { + return "[" +} +function Qct(t, e, n, o) { + const r = n.createTracker(o) + let i = r.move("[^") + const s = n.enter("footnoteReference"), + a = n.enter("reference") + return (i += r.move(n.safe(n.associationId(t), { after: "]", before: i }))), a(), s(), (i += r.move("]")), i +} +function rHt() { + return { + enter: { + gfmFootnoteCallString: Q6t, + gfmFootnoteCall: Z6t, + gfmFootnoteDefinitionLabelString: Y6t, + gfmFootnoteDefinition: X6t, + }, + exit: { + gfmFootnoteCallString: J6t, + gfmFootnoteCall: eHt, + gfmFootnoteDefinitionLabelString: tHt, + gfmFootnoteDefinition: nHt, + }, + } +} +function iHt(t) { + let e = !1 + return ( + t && t.firstLineBlank && (e = !0), + { + handlers: { footnoteDefinition: n, footnoteReference: Qct }, + unsafe: [{ character: "[", inConstruct: ["label", "phrasing", "reference"] }], + } + ) + function n(o, r, i, s) { + const a = i.createTracker(s) + let c = a.move("[^") + const d = i.enter("footnoteDefinition"), + u = i.enter("label") + return ( + (c += a.move(i.safe(i.associationId(o), { before: c, after: "]" }))), + u(), + (c += a.move("]:")), + o.children && + o.children.length > 0 && + (a.shift(4), + (c += a.move( + (e + ? ` +` + : " ") + i.indentLines(i.containerFlow(o, a.current()), e ? Zct : sHt), + ))), + d(), + c + ) + } +} +function sHt(t, e, n) { + return e === 0 ? t : Zct(t, e, n) +} +function Zct(t, e, n) { + return (n ? "" : " ") + t +} +const aHt = ["autolink", "destinationLiteral", "destinationRaw", "reference", "titleQuote", "titleApostrophe"] +Yct.peek = pHt +function lHt() { + return { canContainEols: ["delete"], enter: { strikethrough: dHt }, exit: { strikethrough: uHt } } +} +function cHt() { + return { unsafe: [{ character: "~", inConstruct: "phrasing", notInConstruct: aHt }], handlers: { delete: Yct } } +} +function dHt(t) { + this.enter({ type: "delete", children: [] }, t) +} +function uHt(t) { + this.exit(t) +} +function Yct(t, e, n, o) { + const r = n.createTracker(o), + i = n.enter("strikethrough") + let s = r.move("~~") + return (s += n.containerPhrasing(t, { ...r.current(), before: s, after: "~" })), (s += r.move("~~")), i(), s +} +function pHt() { + return "~" +} +function mHt(t) { + return t.length +} +function hHt(t, e) { + const n = e || {}, + o = (n.align || []).concat(), + r = n.stringLength || mHt, + i = [], + s = [], + a = [], + c = [] + let d = 0, + u = -1 + for (; ++u < t.length; ) { + const v = [], + w = [] + let _ = -1 + for (t[u].length > d && (d = t[u].length); ++_ < t[u].length; ) { + const y = fHt(t[u][_]) + if (n.alignDelimiters !== !1) { + const C = r(y) + ;(w[_] = C), (c[_] === void 0 || C > c[_]) && (c[_] = C) + } + v.push(y) + } + ;(s[u] = v), (a[u] = w) + } + let m = -1 + if (typeof o == "object" && "length" in o) for (; ++m < d; ) i[m] = bq(o[m]) + else { + const v = bq(o) + for (; ++m < d; ) i[m] = v + } + m = -1 + const f = [], + g = [] + for (; ++m < d; ) { + const v = i[m] + let w = "", + _ = "" + v === 99 ? ((w = ":"), (_ = ":")) : v === 108 ? (w = ":") : v === 114 && (_ = ":") + let y = n.alignDelimiters === !1 ? 1 : Math.max(1, c[m] - w.length - _.length) + const C = w + "-".repeat(y) + _ + n.alignDelimiters !== !1 && ((y = w.length + y + _.length), y > c[m] && (c[m] = y), (g[m] = y)), (f[m] = C) + } + s.splice(1, 0, f), a.splice(1, 0, g), (u = -1) + const b = [] + for (; ++u < s.length; ) { + const v = s[u], + w = a[u] + m = -1 + const _ = [] + for (; ++m < d; ) { + const y = v[m] || "" + let C = "", + S = "" + if (n.alignDelimiters !== !1) { + const P = c[m] - (w[m] || 0), + R = i[m] + R === 114 + ? (C = " ".repeat(P)) + : R === 99 + ? P % 2 + ? ((C = " ".repeat(P / 2 + 0.5)), (S = " ".repeat(P / 2 - 0.5))) + : ((C = " ".repeat(P / 2)), (S = C)) + : (S = " ".repeat(P)) + } + n.delimiterStart !== !1 && !m && _.push("|"), + n.padding !== !1 && + !(n.alignDelimiters === !1 && y === "") && + (n.delimiterStart !== !1 || m) && + _.push(" "), + n.alignDelimiters !== !1 && _.push(C), + _.push(y), + n.alignDelimiters !== !1 && _.push(S), + n.padding !== !1 && _.push(" "), + (n.delimiterEnd !== !1 || m !== d - 1) && _.push("|") + } + b.push(n.delimiterEnd === !1 ? _.join("").replace(/ +$/, "") : _.join("")) + } + return b.join(` +`) +} +function fHt(t) { + return t == null ? "" : String(t) +} +function bq(t) { + const e = typeof t == "string" ? t.codePointAt(0) : 0 + return e === 67 || e === 99 ? 99 : e === 76 || e === 108 ? 108 : e === 82 || e === 114 ? 114 : 0 +} +function gHt(t, e, n, o) { + const r = n.enter("blockquote"), + i = n.createTracker(o) + i.move("> "), i.shift(2) + const s = n.indentLines(n.containerFlow(t, i.current()), vHt) + return r(), s +} +function vHt(t, e, n) { + return ">" + (n ? "" : " ") + t +} +function bHt(t, e) { + return yq(t, e.inConstruct, !0) && !yq(t, e.notInConstruct, !1) +} +function yq(t, e, n) { + if ((typeof e == "string" && (e = [e]), !e || e.length === 0)) return n + let o = -1 + for (; ++o < e.length; ) if (t.includes(e[o])) return !0 + return !1 +} +function kq(t, e, n, o) { + let r = -1 + for (; ++r < n.unsafe.length; ) + if ( + n.unsafe[r].character === + ` +` && + bHt(n.stack, n.unsafe[r]) + ) + return /[ \t]/.test(o.before) ? "" : " " + return `\\ +` +} +function yHt(t, e) { + return !!( + e.options.fences === !1 && + t.value && + !t.lang && + /[^ \r\n]/.test(t.value) && + !/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(t.value) + ) +} +function kHt(t) { + const e = t.options.fence || "`" + if (e !== "`" && e !== "~") + throw new Error("Cannot serialize code with `" + e + "` for `options.fence`, expected `` ` `` or `~`") + return e +} +function xHt(t, e, n, o) { + const r = kHt(n), + i = t.value || "", + s = r === "`" ? "GraveAccent" : "Tilde" + if (yHt(t, n)) { + const m = n.enter("codeIndented"), + f = n.indentLines(i, wHt) + return m(), f + } + const a = n.createTracker(o), + c = r.repeat(Math.max(Hct(i, r) + 1, 3)), + d = n.enter("codeFenced") + let u = a.move(c) + if (t.lang) { + const m = n.enter(`codeFencedLang${s}`) + ;(u += a.move(n.safe(t.lang, { before: u, after: " ", encode: ["`"], ...a.current() }))), m() + } + if (t.lang && t.meta) { + const m = n.enter(`codeFencedMeta${s}`) + ;(u += a.move(" ")), + (u += a.move( + n.safe(t.meta, { + before: u, + after: ` +`, + encode: ["`"], + ...a.current(), + }), + )), + m() + } + return ( + (u += a.move(` +`)), + i && + (u += a.move( + i + + ` +`, + )), + (u += a.move(c)), + d(), + u + ) +} +function wHt(t, e, n) { + return (n ? "" : " ") + t +} +function P$(t) { + const e = t.options.quote || '"' + if (e !== '"' && e !== "'") + throw new Error("Cannot serialize title with `" + e + "` for `options.quote`, expected `\"`, or `'`") + return e +} +function _Ht(t, e, n, o) { + const r = P$(n), + i = r === '"' ? "Quote" : "Apostrophe", + s = n.enter("definition") + let a = n.enter("label") + const c = n.createTracker(o) + let d = c.move("[") + return ( + (d += c.move(n.safe(n.associationId(t), { before: d, after: "]", ...c.current() }))), + (d += c.move("]: ")), + a(), + !t.url || /[\0- \u007F]/.test(t.url) + ? ((a = n.enter("destinationLiteral")), + (d += c.move("<")), + (d += c.move(n.safe(t.url, { before: d, after: ">", ...c.current() }))), + (d += c.move(">"))) + : ((a = n.enter("destinationRaw")), + (d += c.move( + n.safe(t.url, { + before: d, + after: t.title + ? " " + : ` +`, + ...c.current(), + }), + ))), + a(), + t.title && + ((a = n.enter(`title${i}`)), + (d += c.move(" " + r)), + (d += c.move(n.safe(t.title, { before: d, after: r, ...c.current() }))), + (d += c.move(r)), + a()), + s(), + d + ) +} +function CHt(t) { + const e = t.options.emphasis || "*" + if (e !== "*" && e !== "_") + throw new Error("Cannot serialize emphasis with `" + e + "` for `options.emphasis`, expected `*`, or `_`") + return e +} +function xb(t) { + return "&#x" + t.toString(16).toUpperCase() + ";" +} +function T_(t, e, n) { + const o = af(t), + r = af(e) + return o === void 0 + ? r === void 0 + ? n === "_" + ? { inside: !0, outside: !0 } + : { inside: !1, outside: !1 } + : r === 1 + ? { inside: !0, outside: !0 } + : { inside: !1, outside: !0 } + : o === 1 + ? r === void 0 + ? { inside: !1, outside: !1 } + : r === 1 + ? { inside: !0, outside: !0 } + : { inside: !1, outside: !1 } + : r === void 0 + ? { inside: !1, outside: !1 } + : r === 1 + ? { inside: !0, outside: !1 } + : { inside: !1, outside: !1 } +} +Xct.peek = SHt +function Xct(t, e, n, o) { + const r = CHt(n), + i = n.enter("emphasis"), + s = n.createTracker(o), + a = s.move(r) + let c = s.move(n.containerPhrasing(t, { after: r, before: a, ...s.current() })) + const d = c.charCodeAt(0), + u = T_(o.before.charCodeAt(o.before.length - 1), d, r) + u.inside && (c = xb(d) + c.slice(1)) + const m = c.charCodeAt(c.length - 1), + f = T_(o.after.charCodeAt(0), m, r) + f.inside && (c = c.slice(0, -1) + xb(m)) + const g = s.move(r) + return i(), (n.attentionEncodeSurroundingInfo = { after: f.outside, before: u.outside }), a + c + g +} +function SHt(t, e, n) { + return n.options.emphasis || "*" +} +function AHt(t, e) { + let n = !1 + return ( + XC(t, function (o) { + if (("value" in o && /\r?\n|\r/.test(o.value)) || o.type === "break") return (n = !0), dj + }), + !!((!t.depth || t.depth < 3) && v$(t) && (e.options.setext || n)) + ) +} +function PHt(t, e, n, o) { + const r = Math.max(Math.min(6, t.depth || 1), 1), + i = n.createTracker(o) + if (AHt(t, n)) { + const u = n.enter("headingSetext"), + m = n.enter("phrasing"), + f = n.containerPhrasing(t, { + ...i.current(), + before: ` +`, + after: ` +`, + }) + return ( + m(), + u(), + f + + ` +` + + (r === 1 ? "=" : "-").repeat( + f.length - + (Math.max( + f.lastIndexOf("\r"), + f.lastIndexOf(` +`), + ) + + 1), + ) + ) + } + const s = "#".repeat(r), + a = n.enter("headingAtx"), + c = n.enter("phrasing") + i.move(s + " ") + let d = n.containerPhrasing(t, { + before: "# ", + after: ` +`, + ...i.current(), + }) + return ( + /^[\t ]/.test(d) && (d = xb(d.charCodeAt(0)) + d.slice(1)), + (d = d ? s + " " + d : s), + n.options.closeAtx && (d += " " + s), + c(), + a(), + d + ) +} +Jct.peek = RHt +function Jct(t) { + return t.value || "" +} +function RHt() { + return "<" +} +edt.peek = THt +function edt(t, e, n, o) { + const r = P$(n), + i = r === '"' ? "Quote" : "Apostrophe", + s = n.enter("image") + let a = n.enter("label") + const c = n.createTracker(o) + let d = c.move("![") + return ( + (d += c.move(n.safe(t.alt, { before: d, after: "]", ...c.current() }))), + (d += c.move("](")), + a(), + (!t.url && t.title) || /[\0- \u007F]/.test(t.url) + ? ((a = n.enter("destinationLiteral")), + (d += c.move("<")), + (d += c.move(n.safe(t.url, { before: d, after: ">", ...c.current() }))), + (d += c.move(">"))) + : ((a = n.enter("destinationRaw")), + (d += c.move(n.safe(t.url, { before: d, after: t.title ? " " : ")", ...c.current() })))), + a(), + t.title && + ((a = n.enter(`title${i}`)), + (d += c.move(" " + r)), + (d += c.move(n.safe(t.title, { before: d, after: r, ...c.current() }))), + (d += c.move(r)), + a()), + (d += c.move(")")), + s(), + d + ) +} +function THt() { + return "!" +} +tdt.peek = IHt +function tdt(t, e, n, o) { + const r = t.referenceType, + i = n.enter("imageReference") + let s = n.enter("label") + const a = n.createTracker(o) + let c = a.move("![") + const d = n.safe(t.alt, { before: c, after: "]", ...a.current() }) + ;(c += a.move(d + "][")), s() + const u = n.stack + ;(n.stack = []), (s = n.enter("reference")) + const m = n.safe(n.associationId(t), { before: c, after: "]", ...a.current() }) + return ( + s(), + (n.stack = u), + i(), + r === "full" || !d || d !== m + ? (c += a.move(m + "]")) + : r === "shortcut" + ? (c = c.slice(0, -1)) + : (c += a.move("]")), + c + ) +} +function IHt() { + return "!" +} +ndt.peek = MHt +function ndt(t, e, n) { + let o = t.value || "", + r = "`", + i = -1 + for (; new RegExp("(^|[^`])" + r + "([^`]|$)").test(o); ) r += "`" + for ( + /[^ \r\n]/.test(o) && ((/^[ \r\n]/.test(o) && /[ \r\n]$/.test(o)) || /^`|`$/.test(o)) && (o = " " + o + " "); + ++i < n.unsafe.length; + + ) { + const s = n.unsafe[i], + a = n.compilePattern(s) + let c + if (s.atBreak) + for (; (c = a.exec(o)); ) { + let d = c.index + o.charCodeAt(d) === 10 && o.charCodeAt(d - 1) === 13 && d--, + (o = o.slice(0, d) + " " + o.slice(c.index + 1)) + } + } + return r + o + r +} +function MHt() { + return "`" +} +function odt(t, e) { + const n = v$(t) + return !!( + !e.options.resourceLink && + t.url && + !t.title && + t.children && + t.children.length === 1 && + t.children[0].type === "text" && + (n === t.url || "mailto:" + n === t.url) && + /^[a-z][a-z+.-]+:/i.test(t.url) && + !/[\0- <>\u007F]/.test(t.url) + ) +} +rdt.peek = jHt +function rdt(t, e, n, o) { + const r = P$(n), + i = r === '"' ? "Quote" : "Apostrophe", + s = n.createTracker(o) + let a, c + if (odt(t, n)) { + const u = n.stack + ;(n.stack = []), (a = n.enter("autolink")) + let m = s.move("<") + return ( + (m += s.move(n.containerPhrasing(t, { before: m, after: ">", ...s.current() }))), + (m += s.move(">")), + a(), + (n.stack = u), + m + ) + } + ;(a = n.enter("link")), (c = n.enter("label")) + let d = s.move("[") + return ( + (d += s.move(n.containerPhrasing(t, { before: d, after: "](", ...s.current() }))), + (d += s.move("](")), + c(), + (!t.url && t.title) || /[\0- \u007F]/.test(t.url) + ? ((c = n.enter("destinationLiteral")), + (d += s.move("<")), + (d += s.move(n.safe(t.url, { before: d, after: ">", ...s.current() }))), + (d += s.move(">"))) + : ((c = n.enter("destinationRaw")), + (d += s.move(n.safe(t.url, { before: d, after: t.title ? " " : ")", ...s.current() })))), + c(), + t.title && + ((c = n.enter(`title${i}`)), + (d += s.move(" " + r)), + (d += s.move(n.safe(t.title, { before: d, after: r, ...s.current() }))), + (d += s.move(r)), + c()), + (d += s.move(")")), + a(), + d + ) +} +function jHt(t, e, n) { + return odt(t, n) ? "<" : "[" +} +idt.peek = EHt +function idt(t, e, n, o) { + const r = t.referenceType, + i = n.enter("linkReference") + let s = n.enter("label") + const a = n.createTracker(o) + let c = a.move("[") + const d = n.containerPhrasing(t, { before: c, after: "]", ...a.current() }) + ;(c += a.move(d + "][")), s() + const u = n.stack + ;(n.stack = []), (s = n.enter("reference")) + const m = n.safe(n.associationId(t), { before: c, after: "]", ...a.current() }) + return ( + s(), + (n.stack = u), + i(), + r === "full" || !d || d !== m + ? (c += a.move(m + "]")) + : r === "shortcut" + ? (c = c.slice(0, -1)) + : (c += a.move("]")), + c + ) +} +function EHt() { + return "[" +} +function R$(t) { + const e = t.options.bullet || "*" + if (e !== "*" && e !== "+" && e !== "-") + throw new Error("Cannot serialize items with `" + e + "` for `options.bullet`, expected `*`, `+`, or `-`") + return e +} +function zHt(t) { + const e = R$(t), + n = t.options.bulletOther + if (!n) return e === "*" ? "-" : "*" + if (n !== "*" && n !== "+" && n !== "-") + throw new Error("Cannot serialize items with `" + n + "` for `options.bulletOther`, expected `*`, `+`, or `-`") + if (n === e) throw new Error("Expected `bullet` (`" + e + "`) and `bulletOther` (`" + n + "`) to be different") + return n +} +function $Ht(t) { + const e = t.options.bulletOrdered || "." + if (e !== "." && e !== ")") + throw new Error("Cannot serialize items with `" + e + "` for `options.bulletOrdered`, expected `.` or `)`") + return e +} +function sdt(t) { + const e = t.options.rule || "*" + if (e !== "*" && e !== "-" && e !== "_") + throw new Error("Cannot serialize rules with `" + e + "` for `options.rule`, expected `*`, `-`, or `_`") + return e +} +function LHt(t, e, n, o) { + const r = n.enter("list"), + i = n.bulletCurrent + let s = t.ordered ? $Ht(n) : R$(n) + const a = t.ordered ? (s === "." ? ")" : ".") : zHt(n) + let c = e && n.bulletLastUsed ? s === n.bulletLastUsed : !1 + if (!t.ordered) { + const u = t.children ? t.children[0] : void 0 + if ( + ((s === "*" || s === "-") && + u && + (!u.children || !u.children[0]) && + n.stack[n.stack.length - 1] === "list" && + n.stack[n.stack.length - 2] === "listItem" && + n.stack[n.stack.length - 3] === "list" && + n.stack[n.stack.length - 4] === "listItem" && + n.indexStack[n.indexStack.length - 1] === 0 && + n.indexStack[n.indexStack.length - 2] === 0 && + n.indexStack[n.indexStack.length - 3] === 0 && + (c = !0), + sdt(n) === s && u) + ) { + let m = -1 + for (; ++m < t.children.length; ) { + const f = t.children[m] + if ( + f && + f.type === "listItem" && + f.children && + f.children[0] && + f.children[0].type === "thematicBreak" + ) { + c = !0 + break + } + } + } + } + c && (s = a), (n.bulletCurrent = s) + const d = n.containerFlow(t, o) + return (n.bulletLastUsed = s), (n.bulletCurrent = i), r(), d +} +function DHt(t) { + const e = t.options.listItemIndent || "one" + if (e !== "tab" && e !== "one" && e !== "mixed") + throw new Error( + "Cannot serialize items with `" + e + "` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`", + ) + return e +} +function NHt(t, e, n, o) { + const r = DHt(n) + let i = n.bulletCurrent || R$(n) + e && + e.type === "list" && + e.ordered && + (i = + (typeof e.start == "number" && e.start > -1 ? e.start : 1) + + (n.options.incrementListMarker === !1 ? 0 : e.children.indexOf(t)) + + i) + let s = i.length + 1 + ;(r === "tab" || (r === "mixed" && ((e && e.type === "list" && e.spread) || t.spread))) && + (s = Math.ceil(s / 4) * 4) + const a = n.createTracker(o) + a.move(i + " ".repeat(s - i.length)), a.shift(s) + const c = n.enter("listItem"), + d = n.indentLines(n.containerFlow(t, a.current()), u) + return c(), d + function u(m, f, g) { + return f ? (g ? "" : " ".repeat(s)) + m : (g ? i : i + " ".repeat(s - i.length)) + m + } +} +function OHt(t, e, n, o) { + const r = n.enter("paragraph"), + i = n.enter("phrasing"), + s = n.containerPhrasing(t, o) + return i(), r(), s +} +const FHt = dy([ + "break", + "delete", + "emphasis", + "footnote", + "footnoteReference", + "image", + "imageReference", + "inlineCode", + "inlineMath", + "link", + "linkReference", + "mdxJsxTextElement", + "mdxTextExpression", + "strong", + "text", + "textDirective", +]) +function BHt(t, e, n, o) { + return ( + t.children.some(function (s) { + return FHt(s) + }) + ? n.containerPhrasing + : n.containerFlow + ).call(n, t, o) +} +function UHt(t) { + const e = t.options.strong || "*" + if (e !== "*" && e !== "_") + throw new Error("Cannot serialize strong with `" + e + "` for `options.strong`, expected `*`, or `_`") + return e +} +adt.peek = qHt +function adt(t, e, n, o) { + const r = UHt(n), + i = n.enter("strong"), + s = n.createTracker(o), + a = s.move(r + r) + let c = s.move(n.containerPhrasing(t, { after: r, before: a, ...s.current() })) + const d = c.charCodeAt(0), + u = T_(o.before.charCodeAt(o.before.length - 1), d, r) + u.inside && (c = xb(d) + c.slice(1)) + const m = c.charCodeAt(c.length - 1), + f = T_(o.after.charCodeAt(0), m, r) + f.inside && (c = c.slice(0, -1) + xb(m)) + const g = s.move(r + r) + return i(), (n.attentionEncodeSurroundingInfo = { after: f.outside, before: u.outside }), a + c + g +} +function qHt(t, e, n) { + return n.options.strong || "*" +} +function WHt(t, e, n, o) { + return n.safe(t.value, o) +} +function KHt(t) { + const e = t.options.ruleRepetition || 3 + if (e < 3) + throw new Error( + "Cannot serialize rules with repetition `" + e + "` for `options.ruleRepetition`, expected `3` or more", + ) + return e +} +function VHt(t, e, n) { + const o = (sdt(n) + (n.options.ruleSpaces ? " " : "")).repeat(KHt(n)) + return n.options.ruleSpaces ? o.slice(0, -1) : o +} +const ldt = { + blockquote: gHt, + break: kq, + code: xHt, + definition: _Ht, + emphasis: Xct, + hardBreak: kq, + heading: PHt, + html: Jct, + image: edt, + imageReference: tdt, + inlineCode: ndt, + link: rdt, + linkReference: idt, + list: LHt, + listItem: NHt, + paragraph: OHt, + root: BHt, + strong: adt, + text: WHt, + thematicBreak: VHt, +} +function HHt() { + return { + enter: { table: GHt, tableData: xq, tableHeader: xq, tableRow: ZHt }, + exit: { codeText: YHt, table: QHt, tableData: qP, tableHeader: qP, tableRow: qP }, + } +} +function GHt(t) { + const e = t._align + this.enter( + { + type: "table", + align: e.map(function (n) { + return n === "none" ? null : n + }), + children: [], + }, + t, + ), + (this.data.inTable = !0) +} +function QHt(t) { + this.exit(t), (this.data.inTable = void 0) +} +function ZHt(t) { + this.enter({ type: "tableRow", children: [] }, t) +} +function qP(t) { + this.exit(t) +} +function xq(t) { + this.enter({ type: "tableCell", children: [] }, t) +} +function YHt(t) { + let e = this.resume() + this.data.inTable && (e = e.replace(/\\([\\|])/g, XHt)) + const n = this.stack[this.stack.length - 1] + n.type, (n.value = e), this.exit(t) +} +function XHt(t, e) { + return e === "|" ? e : t +} +function JHt(t) { + const e = t || {}, + n = e.tableCellPadding, + o = e.tablePipeAlign, + r = e.stringLength, + i = n ? " " : "|" + return { + unsafe: [ + { character: "\r", inConstruct: "tableCell" }, + { + character: ` +`, + inConstruct: "tableCell", + }, + { atBreak: !0, character: "|", after: "[ :-]" }, + { character: "|", inConstruct: "tableCell" }, + { atBreak: !0, character: ":", after: "-" }, + { atBreak: !0, character: "-", after: "[:|-]" }, + ], + handlers: { inlineCode: f, table: s, tableCell: c, tableRow: a }, + } + function s(g, b, v, w) { + return d(u(g, v, w), g.align) + } + function a(g, b, v, w) { + const _ = m(g, v, w), + y = d([_]) + return y.slice( + 0, + y.indexOf(` +`), + ) + } + function c(g, b, v, w) { + const _ = v.enter("tableCell"), + y = v.enter("phrasing"), + C = v.containerPhrasing(g, { ...w, before: i, after: i }) + return y(), _(), C + } + function d(g, b) { + return hHt(g, { align: b, alignDelimiters: o, padding: n, stringLength: r }) + } + function u(g, b, v) { + const w = g.children + let _ = -1 + const y = [], + C = b.enter("table") + for (; ++_ < w.length; ) y[_] = m(w[_], b, v) + return C(), y + } + function m(g, b, v) { + const w = g.children + let _ = -1 + const y = [], + C = b.enter("tableRow") + for (; ++_ < w.length; ) y[_] = c(w[_], g, b, v) + return C(), y + } + function f(g, b, v) { + let w = ldt.inlineCode(g, b, v) + return v.stack.includes("tableCell") && (w = w.replace(/\|/g, "\\$&")), w + } +} +function eGt() { + return { exit: { taskListCheckValueChecked: wq, taskListCheckValueUnchecked: wq, paragraph: nGt } } +} +function tGt() { + return { unsafe: [{ atBreak: !0, character: "-", after: "[:|-]" }], handlers: { listItem: oGt } } +} +function wq(t) { + const e = this.stack[this.stack.length - 2] + e.type, (e.checked = t.type === "taskListCheckValueChecked") +} +function nGt(t) { + const e = this.stack[this.stack.length - 2] + if (e && e.type === "listItem" && typeof e.checked == "boolean") { + const n = this.stack[this.stack.length - 1] + n.type + const o = n.children[0] + if (o && o.type === "text") { + const r = e.children + let i = -1, + s + for (; ++i < r.length; ) { + const a = r[i] + if (a.type === "paragraph") { + s = a + break + } + } + s === n && + ((o.value = o.value.slice(1)), + o.value.length === 0 + ? n.children.shift() + : n.position && + o.position && + typeof o.position.start.offset == "number" && + (o.position.start.column++, + o.position.start.offset++, + (n.position.start = Object.assign({}, o.position.start)))) + } + } + this.exit(t) +} +function oGt(t, e, n, o) { + const r = t.children[0], + i = typeof t.checked == "boolean" && r && r.type === "paragraph", + s = "[" + (t.checked ? "x" : " ") + "] ", + a = n.createTracker(o) + i && a.move(s) + let c = ldt.listItem(t, e, n, { ...o, ...a.current() }) + return i && (c = c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/, d)), c + function d(u) { + return u + s + } +} +function rGt() { + return [D6t(), rHt(), lHt(), HHt(), eGt()] +} +function iGt(t) { + return { extensions: [N6t(), iHt(t), cHt(), JHt(t), tGt()] } +} +const sGt = { tokenize: pGt, partial: !0 }, + cdt = { tokenize: mGt, partial: !0 }, + ddt = { tokenize: hGt, partial: !0 }, + udt = { tokenize: fGt, partial: !0 }, + aGt = { tokenize: gGt, partial: !0 }, + pdt = { name: "wwwAutolink", tokenize: dGt, previous: hdt }, + mdt = { name: "protocolAutolink", tokenize: uGt, previous: fdt }, + Kc = { name: "emailAutolink", tokenize: cGt, previous: gdt }, + Ql = {} +function lGt() { + return { text: Ql } +} +let Gu = 48 +for (; Gu < 123; ) (Ql[Gu] = Kc), Gu++, Gu === 58 ? (Gu = 65) : Gu === 91 && (Gu = 97) +Ql[43] = Kc +Ql[45] = Kc +Ql[46] = Kc +Ql[95] = Kc +Ql[72] = [Kc, mdt] +Ql[104] = [Kc, mdt] +Ql[87] = [Kc, pdt] +Ql[119] = [Kc, pdt] +function cGt(t, e, n) { + const o = this + let r, i + return s + function s(m) { + return !gj(m) || !gdt.call(o, o.previous) || T$(o.events) + ? n(m) + : (t.enter("literalAutolink"), t.enter("literalAutolinkEmail"), a(m)) + } + function a(m) { + return gj(m) ? (t.consume(m), a) : m === 64 ? (t.consume(m), c) : n(m) + } + function c(m) { + return m === 46 ? t.check(aGt, u, d)(m) : m === 45 || m === 95 || fi(m) ? ((i = !0), t.consume(m), c) : u(m) + } + function d(m) { + return t.consume(m), (r = !0), c + } + function u(m) { + return i && r && Li(o.previous) ? (t.exit("literalAutolinkEmail"), t.exit("literalAutolink"), e(m)) : n(m) + } +} +function dGt(t, e, n) { + const o = this + return r + function r(s) { + return (s !== 87 && s !== 119) || !hdt.call(o, o.previous) || T$(o.events) + ? n(s) + : (t.enter("literalAutolink"), + t.enter("literalAutolinkWww"), + t.check(sGt, t.attempt(cdt, t.attempt(ddt, i), n), n)(s)) + } + function i(s) { + return t.exit("literalAutolinkWww"), t.exit("literalAutolink"), e(s) + } +} +function uGt(t, e, n) { + const o = this + let r = "", + i = !1 + return s + function s(m) { + return (m === 72 || m === 104) && fdt.call(o, o.previous) && !T$(o.events) + ? (t.enter("literalAutolink"), + t.enter("literalAutolinkHttp"), + (r += String.fromCodePoint(m)), + t.consume(m), + a) + : n(m) + } + function a(m) { + if (Li(m) && r.length < 5) return (r += String.fromCodePoint(m)), t.consume(m), a + if (m === 58) { + const f = r.toLowerCase() + if (f === "http" || f === "https") return t.consume(m), c + } + return n(m) + } + function c(m) { + return m === 47 ? (t.consume(m), i ? d : ((i = !0), c)) : n(m) + } + function d(m) { + return m === null || A_(m) || ho(m) || qp(m) || GC(m) ? n(m) : t.attempt(cdt, t.attempt(ddt, u), n)(m) + } + function u(m) { + return t.exit("literalAutolinkHttp"), t.exit("literalAutolink"), e(m) + } +} +function pGt(t, e, n) { + let o = 0 + return r + function r(s) { + return (s === 87 || s === 119) && o < 3 + ? (o++, t.consume(s), r) + : s === 46 && o === 3 + ? (t.consume(s), i) + : n(s) + } + function i(s) { + return s === null ? n(s) : e(s) + } +} +function mGt(t, e, n) { + let o, r, i + return s + function s(d) { + return d === 46 || d === 95 + ? t.check(udt, c, a)(d) + : d === null || ho(d) || qp(d) || (d !== 45 && GC(d)) + ? c(d) + : ((i = !0), t.consume(d), s) + } + function a(d) { + return d === 95 ? (o = !0) : ((r = o), (o = void 0)), t.consume(d), s + } + function c(d) { + return r || o || !i ? n(d) : e(d) + } +} +function hGt(t, e) { + let n = 0, + o = 0 + return r + function r(s) { + return s === 40 + ? (n++, t.consume(s), r) + : s === 41 && o < n + ? i(s) + : s === 33 || + s === 34 || + s === 38 || + s === 39 || + s === 41 || + s === 42 || + s === 44 || + s === 46 || + s === 58 || + s === 59 || + s === 60 || + s === 63 || + s === 93 || + s === 95 || + s === 126 + ? t.check(udt, e, i)(s) + : s === null || ho(s) || qp(s) + ? e(s) + : (t.consume(s), r) + } + function i(s) { + return s === 41 && o++, t.consume(s), r + } +} +function fGt(t, e, n) { + return o + function o(a) { + return a === 33 || + a === 34 || + a === 39 || + a === 41 || + a === 42 || + a === 44 || + a === 46 || + a === 58 || + a === 59 || + a === 63 || + a === 95 || + a === 126 + ? (t.consume(a), o) + : a === 38 + ? (t.consume(a), i) + : a === 93 + ? (t.consume(a), r) + : a === 60 || a === null || ho(a) || qp(a) + ? e(a) + : n(a) + } + function r(a) { + return a === null || a === 40 || a === 91 || ho(a) || qp(a) ? e(a) : o(a) + } + function i(a) { + return Li(a) ? s(a) : n(a) + } + function s(a) { + return a === 59 ? (t.consume(a), o) : Li(a) ? (t.consume(a), s) : n(a) + } +} +function gGt(t, e, n) { + return o + function o(i) { + return t.consume(i), r + } + function r(i) { + return fi(i) ? n(i) : e(i) + } +} +function hdt(t) { + return t === null || t === 40 || t === 42 || t === 95 || t === 91 || t === 93 || t === 126 || ho(t) +} +function fdt(t) { + return !Li(t) +} +function gdt(t) { + return !(t === 47 || gj(t)) +} +function gj(t) { + return t === 43 || t === 45 || t === 46 || t === 95 || fi(t) +} +function T$(t) { + let e = t.length, + n = !1 + for (; e--; ) { + const o = t[e][1] + if ((o.type === "labelLink" || o.type === "labelImage") && !o._balanced) { + n = !0 + break + } + if (o._gfmAutolinkLiteralWalkedInto) { + n = !1 + break + } + } + return t.length > 0 && !n && (t[t.length - 1][1]._gfmAutolinkLiteralWalkedInto = !0), n +} +const vGt = { tokenize: SGt, partial: !0 } +function bGt() { + return { + document: { 91: { name: "gfmFootnoteDefinition", tokenize: wGt, continuation: { tokenize: _Gt }, exit: CGt } }, + text: { + 91: { name: "gfmFootnoteCall", tokenize: xGt }, + 93: { name: "gfmPotentialFootnoteCall", add: "after", tokenize: yGt, resolveTo: kGt }, + }, + } +} +function yGt(t, e, n) { + const o = this + let r = o.events.length + const i = o.parser.gfmFootnotes || (o.parser.gfmFootnotes = []) + let s + for (; r--; ) { + const c = o.events[r][1] + if (c.type === "labelImage") { + s = c + break + } + if ( + c.type === "gfmFootnoteCall" || + c.type === "labelLink" || + c.type === "label" || + c.type === "image" || + c.type === "link" + ) + break + } + return a + function a(c) { + if (!s || !s._balanced) return n(c) + const d = Xa(o.sliceSerialize({ start: s.end, end: o.now() })) + return d.codePointAt(0) !== 94 || !i.includes(d.slice(1)) + ? n(c) + : (t.enter("gfmFootnoteCallLabelMarker"), t.consume(c), t.exit("gfmFootnoteCallLabelMarker"), e(c)) + } +} +function kGt(t, e) { + let n = t.length + for (; n--; ) + if (t[n][1].type === "labelImage" && t[n][0] === "enter") { + t[n][1] + break + } + ;(t[n + 1][1].type = "data"), (t[n + 3][1].type = "gfmFootnoteCallLabelMarker") + const o = { + type: "gfmFootnoteCall", + start: Object.assign({}, t[n + 3][1].start), + end: Object.assign({}, t[t.length - 1][1].end), + }, + r = { + type: "gfmFootnoteCallMarker", + start: Object.assign({}, t[n + 3][1].end), + end: Object.assign({}, t[n + 3][1].end), + } + r.end.column++, r.end.offset++, r.end._bufferIndex++ + const i = { + type: "gfmFootnoteCallString", + start: Object.assign({}, r.end), + end: Object.assign({}, t[t.length - 1][1].start), + }, + s = { + type: "chunkString", + contentType: "string", + start: Object.assign({}, i.start), + end: Object.assign({}, i.end), + }, + a = [ + t[n + 1], + t[n + 2], + ["enter", o, e], + t[n + 3], + t[n + 4], + ["enter", r, e], + ["exit", r, e], + ["enter", i, e], + ["enter", s, e], + ["exit", s, e], + ["exit", i, e], + t[t.length - 2], + t[t.length - 1], + ["exit", o, e], + ] + return t.splice(n, t.length - n + 1, ...a), t +} +function xGt(t, e, n) { + const o = this, + r = o.parser.gfmFootnotes || (o.parser.gfmFootnotes = []) + let i = 0, + s + return a + function a(m) { + return ( + t.enter("gfmFootnoteCall"), + t.enter("gfmFootnoteCallLabelMarker"), + t.consume(m), + t.exit("gfmFootnoteCallLabelMarker"), + c + ) + } + function c(m) { + return m !== 94 + ? n(m) + : (t.enter("gfmFootnoteCallMarker"), + t.consume(m), + t.exit("gfmFootnoteCallMarker"), + t.enter("gfmFootnoteCallString"), + (t.enter("chunkString").contentType = "string"), + d) + } + function d(m) { + if (i > 999 || (m === 93 && !s) || m === null || m === 91 || ho(m)) return n(m) + if (m === 93) { + t.exit("chunkString") + const f = t.exit("gfmFootnoteCallString") + return r.includes(Xa(o.sliceSerialize(f))) + ? (t.enter("gfmFootnoteCallLabelMarker"), + t.consume(m), + t.exit("gfmFootnoteCallLabelMarker"), + t.exit("gfmFootnoteCall"), + e) + : n(m) + } + return ho(m) || (s = !0), i++, t.consume(m), m === 92 ? u : d + } + function u(m) { + return m === 91 || m === 92 || m === 93 ? (t.consume(m), i++, d) : d(m) + } +} +function wGt(t, e, n) { + const o = this, + r = o.parser.gfmFootnotes || (o.parser.gfmFootnotes = []) + let i, + s = 0, + a + return c + function c(b) { + return ( + (t.enter("gfmFootnoteDefinition")._container = !0), + t.enter("gfmFootnoteDefinitionLabel"), + t.enter("gfmFootnoteDefinitionLabelMarker"), + t.consume(b), + t.exit("gfmFootnoteDefinitionLabelMarker"), + d + ) + } + function d(b) { + return b === 94 + ? (t.enter("gfmFootnoteDefinitionMarker"), + t.consume(b), + t.exit("gfmFootnoteDefinitionMarker"), + t.enter("gfmFootnoteDefinitionLabelString"), + (t.enter("chunkString").contentType = "string"), + u) + : n(b) + } + function u(b) { + if (s > 999 || (b === 93 && !a) || b === null || b === 91 || ho(b)) return n(b) + if (b === 93) { + t.exit("chunkString") + const v = t.exit("gfmFootnoteDefinitionLabelString") + return ( + (i = Xa(o.sliceSerialize(v))), + t.enter("gfmFootnoteDefinitionLabelMarker"), + t.consume(b), + t.exit("gfmFootnoteDefinitionLabelMarker"), + t.exit("gfmFootnoteDefinitionLabel"), + f + ) + } + return ho(b) || (a = !0), s++, t.consume(b), b === 92 ? m : u + } + function m(b) { + return b === 91 || b === 92 || b === 93 ? (t.consume(b), s++, u) : u(b) + } + function f(b) { + return b === 58 + ? (t.enter("definitionMarker"), + t.consume(b), + t.exit("definitionMarker"), + r.includes(i) || r.push(i), + Pn(t, g, "gfmFootnoteDefinitionWhitespace")) + : n(b) + } + function g(b) { + return e(b) + } +} +function _Gt(t, e, n) { + return t.check(cy, e, t.attempt(vGt, e, n)) +} +function CGt(t) { + t.exit("gfmFootnoteDefinition") +} +function SGt(t, e, n) { + const o = this + return Pn(t, r, "gfmFootnoteDefinitionIndent", 5) + function r(i) { + const s = o.events[o.events.length - 1] + return s && s[1].type === "gfmFootnoteDefinitionIndent" && s[2].sliceSerialize(s[1], !0).length === 4 + ? e(i) + : n(i) + } +} +function AGt(t) { + let n = (t || {}).singleTilde + const o = { name: "strikethrough", tokenize: i, resolveAll: r } + return n == null && (n = !0), { text: { 126: o }, insideSpan: { null: [o] }, attentionMarkers: { null: [126] } } + function r(s, a) { + let c = -1 + for (; ++c < s.length; ) + if (s[c][0] === "enter" && s[c][1].type === "strikethroughSequenceTemporary" && s[c][1]._close) { + let d = c + for (; d--; ) + if ( + s[d][0] === "exit" && + s[d][1].type === "strikethroughSequenceTemporary" && + s[d][1]._open && + s[c][1].end.offset - s[c][1].start.offset === s[d][1].end.offset - s[d][1].start.offset + ) { + ;(s[c][1].type = "strikethroughSequence"), (s[d][1].type = "strikethroughSequence") + const u = { + type: "strikethrough", + start: Object.assign({}, s[d][1].start), + end: Object.assign({}, s[c][1].end), + }, + m = { + type: "strikethroughText", + start: Object.assign({}, s[d][1].end), + end: Object.assign({}, s[c][1].start), + }, + f = [ + ["enter", u, a], + ["enter", s[d][1], a], + ["exit", s[d][1], a], + ["enter", m, a], + ], + g = a.parser.constructs.insideSpan.null + g && qs(f, f.length, 0, QC(g, s.slice(d + 1, c), a)), + qs(f, f.length, 0, [ + ["exit", m, a], + ["enter", s[c][1], a], + ["exit", s[c][1], a], + ["exit", u, a], + ]), + qs(s, d - 1, c - d + 3, f), + (c = d + f.length - 2) + break + } + } + for (c = -1; ++c < s.length; ) s[c][1].type === "strikethroughSequenceTemporary" && (s[c][1].type = "data") + return s + } + function i(s, a, c) { + const d = this.previous, + u = this.events + let m = 0 + return f + function f(b) { + return d === 126 && u[u.length - 1][1].type !== "characterEscape" + ? c(b) + : (s.enter("strikethroughSequenceTemporary"), g(b)) + } + function g(b) { + const v = af(d) + if (b === 126) return m > 1 ? c(b) : (s.consume(b), m++, g) + if (m < 2 && !n) return c(b) + const w = s.exit("strikethroughSequenceTemporary"), + _ = af(b) + return (w._open = !_ || (_ === 2 && !!v)), (w._close = !v || (v === 2 && !!_)), a(b) + } + } +} +class PGt { + constructor() { + this.map = [] + } + add(e, n, o) { + RGt(this, e, n, o) + } + consume(e) { + if ( + (this.map.sort(function (i, s) { + return i[0] - s[0] + }), + this.map.length === 0) + ) + return + let n = this.map.length + const o = [] + for (; n > 0; ) + (n -= 1), o.push(e.slice(this.map[n][0] + this.map[n][1]), this.map[n][2]), (e.length = this.map[n][0]) + o.push(e.slice()), (e.length = 0) + let r = o.pop() + for (; r; ) { + for (const i of r) e.push(i) + r = o.pop() + } + this.map.length = 0 + } +} +function RGt(t, e, n, o) { + let r = 0 + if (!(n === 0 && o.length === 0)) { + for (; r < t.map.length; ) { + if (t.map[r][0] === e) { + ;(t.map[r][1] += n), t.map[r][2].push(...o) + return + } + r += 1 + } + t.map.push([e, n, o]) + } +} +function TGt(t, e) { + let n = !1 + const o = [] + for (; e < t.length; ) { + const r = t[e] + if (n) { + if (r[0] === "enter") + r[1].type === "tableContent" && o.push(t[e + 1][1].type === "tableDelimiterMarker" ? "left" : "none") + else if (r[1].type === "tableContent") { + if (t[e - 1][1].type === "tableDelimiterMarker") { + const i = o.length - 1 + o[i] = o[i] === "left" ? "center" : "right" + } + } else if (r[1].type === "tableDelimiterRow") break + } else r[0] === "enter" && r[1].type === "tableDelimiterRow" && (n = !0) + e += 1 + } + return o +} +function IGt() { + return { flow: { null: { name: "table", tokenize: MGt, resolveAll: jGt } } } +} +function MGt(t, e, n) { + const o = this + let r = 0, + i = 0, + s + return a + function a(j) { + let L = o.events.length - 1 + for (; L > -1; ) { + const U = o.events[L][1].type + if (U === "lineEnding" || U === "linePrefix") L-- + else break + } + const W = L > -1 ? o.events[L][1].type : null, + G = W === "tableHead" || W === "tableRow" ? R : c + return G === R && o.parser.lazy[o.now().line] ? n(j) : G(j) + } + function c(j) { + return t.enter("tableHead"), t.enter("tableRow"), d(j) + } + function d(j) { + return j === 124 || ((s = !0), (i += 1)), u(j) + } + function u(j) { + return j === null + ? n(j) + : It(j) + ? i > 1 + ? ((i = 0), + (o.interrupt = !0), + t.exit("tableRow"), + t.enter("lineEnding"), + t.consume(j), + t.exit("lineEnding"), + g) + : n(j) + : Tn(j) + ? Pn(t, u, "whitespace")(j) + : ((i += 1), + s && ((s = !1), (r += 1)), + j === 124 + ? (t.enter("tableCellDivider"), t.consume(j), t.exit("tableCellDivider"), (s = !0), u) + : (t.enter("data"), m(j))) + } + function m(j) { + return j === null || j === 124 || ho(j) ? (t.exit("data"), u(j)) : (t.consume(j), j === 92 ? f : m) + } + function f(j) { + return j === 92 || j === 124 ? (t.consume(j), m) : m(j) + } + function g(j) { + return ( + (o.interrupt = !1), + o.parser.lazy[o.now().line] + ? n(j) + : (t.enter("tableDelimiterRow"), + (s = !1), + Tn(j) + ? Pn( + t, + b, + "linePrefix", + o.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4, + )(j) + : b(j)) + ) + } + function b(j) { + return j === 45 || j === 58 + ? w(j) + : j === 124 + ? ((s = !0), t.enter("tableCellDivider"), t.consume(j), t.exit("tableCellDivider"), v) + : P(j) + } + function v(j) { + return Tn(j) ? Pn(t, w, "whitespace")(j) : w(j) + } + function w(j) { + return j === 58 + ? ((i += 1), (s = !0), t.enter("tableDelimiterMarker"), t.consume(j), t.exit("tableDelimiterMarker"), _) + : j === 45 + ? ((i += 1), _(j)) + : j === null || It(j) + ? S(j) + : P(j) + } + function _(j) { + return j === 45 ? (t.enter("tableDelimiterFiller"), y(j)) : P(j) + } + function y(j) { + return j === 45 + ? (t.consume(j), y) + : j === 58 + ? ((s = !0), + t.exit("tableDelimiterFiller"), + t.enter("tableDelimiterMarker"), + t.consume(j), + t.exit("tableDelimiterMarker"), + C) + : (t.exit("tableDelimiterFiller"), C(j)) + } + function C(j) { + return Tn(j) ? Pn(t, S, "whitespace")(j) : S(j) + } + function S(j) { + return j === 124 + ? b(j) + : j === null || It(j) + ? !s || r !== i + ? P(j) + : (t.exit("tableDelimiterRow"), t.exit("tableHead"), e(j)) + : P(j) + } + function P(j) { + return n(j) + } + function R(j) { + return t.enter("tableRow"), T(j) + } + function T(j) { + return j === 124 + ? (t.enter("tableCellDivider"), t.consume(j), t.exit("tableCellDivider"), T) + : j === null || It(j) + ? (t.exit("tableRow"), e(j)) + : Tn(j) + ? Pn(t, T, "whitespace")(j) + : (t.enter("data"), E(j)) + } + function E(j) { + return j === null || j === 124 || ho(j) ? (t.exit("data"), T(j)) : (t.consume(j), j === 92 ? $ : E) + } + function $(j) { + return j === 92 || j === 124 ? (t.consume(j), E) : E(j) + } +} +function jGt(t, e) { + let n = -1, + o = !0, + r = 0, + i = [0, 0, 0, 0], + s = [0, 0, 0, 0], + a = !1, + c = 0, + d, + u, + m + const f = new PGt() + for (; ++n < t.length; ) { + const g = t[n], + b = g[1] + g[0] === "enter" + ? b.type === "tableHead" + ? ((a = !1), + c !== 0 && (_q(f, e, c, d, u), (u = void 0), (c = 0)), + (d = { type: "table", start: Object.assign({}, b.start), end: Object.assign({}, b.end) }), + f.add(n, 0, [["enter", d, e]])) + : b.type === "tableRow" || b.type === "tableDelimiterRow" + ? ((o = !0), + (m = void 0), + (i = [0, 0, 0, 0]), + (s = [0, n + 1, 0, 0]), + a && + ((a = !1), + (u = { + type: "tableBody", + start: Object.assign({}, b.start), + end: Object.assign({}, b.end), + }), + f.add(n, 0, [["enter", u, e]])), + (r = b.type === "tableDelimiterRow" ? 2 : u ? 3 : 1)) + : r && (b.type === "data" || b.type === "tableDelimiterMarker" || b.type === "tableDelimiterFiller") + ? ((o = !1), + s[2] === 0 && + (i[1] !== 0 && ((s[0] = s[1]), (m = ax(f, e, i, r, void 0, m)), (i = [0, 0, 0, 0])), + (s[2] = n))) + : b.type === "tableCellDivider" && + (o + ? (o = !1) + : (i[1] !== 0 && ((s[0] = s[1]), (m = ax(f, e, i, r, void 0, m))), + (i = s), + (s = [i[1], n, 0, 0]))) + : b.type === "tableHead" + ? ((a = !0), (c = n)) + : b.type === "tableRow" || b.type === "tableDelimiterRow" + ? ((c = n), + i[1] !== 0 + ? ((s[0] = s[1]), (m = ax(f, e, i, r, n, m))) + : s[1] !== 0 && (m = ax(f, e, s, r, n, m)), + (r = 0)) + : r && + (b.type === "data" || b.type === "tableDelimiterMarker" || b.type === "tableDelimiterFiller") && + (s[3] = n) + } + for (c !== 0 && _q(f, e, c, d, u), f.consume(e.events), n = -1; ++n < e.events.length; ) { + const g = e.events[n] + g[0] === "enter" && g[1].type === "table" && (g[1]._align = TGt(e.events, n)) + } + return t +} +function ax(t, e, n, o, r, i) { + const s = o === 1 ? "tableHeader" : o === 2 ? "tableDelimiter" : "tableData", + a = "tableContent" + n[0] !== 0 && ((i.end = Object.assign({}, Hm(e.events, n[0]))), t.add(n[0], 0, [["exit", i, e]])) + const c = Hm(e.events, n[1]) + if ( + ((i = { type: s, start: Object.assign({}, c), end: Object.assign({}, c) }), + t.add(n[1], 0, [["enter", i, e]]), + n[2] !== 0) + ) { + const d = Hm(e.events, n[2]), + u = Hm(e.events, n[3]), + m = { type: a, start: Object.assign({}, d), end: Object.assign({}, u) } + if ((t.add(n[2], 0, [["enter", m, e]]), o !== 2)) { + const f = e.events[n[2]], + g = e.events[n[3]] + if ( + ((f[1].end = Object.assign({}, g[1].end)), + (f[1].type = "chunkText"), + (f[1].contentType = "text"), + n[3] > n[2] + 1) + ) { + const b = n[2] + 1, + v = n[3] - n[2] - 1 + t.add(b, v, []) + } + } + t.add(n[3] + 1, 0, [["exit", m, e]]) + } + return ( + r !== void 0 && ((i.end = Object.assign({}, Hm(e.events, r))), t.add(r, 0, [["exit", i, e]]), (i = void 0)), i + ) +} +function _q(t, e, n, o, r) { + const i = [], + s = Hm(e.events, n) + r && ((r.end = Object.assign({}, s)), i.push(["exit", r, e])), + (o.end = Object.assign({}, s)), + i.push(["exit", o, e]), + t.add(n + 1, 0, i) +} +function Hm(t, e) { + const n = t[e], + o = n[0] === "enter" ? "start" : "end" + return n[1][o] +} +const EGt = { name: "tasklistCheck", tokenize: $Gt } +function zGt() { + return { text: { 91: EGt } } +} +function $Gt(t, e, n) { + const o = this + return r + function r(c) { + return o.previous !== null || !o._gfmTasklistFirstContentOfListItem + ? n(c) + : (t.enter("taskListCheck"), t.enter("taskListCheckMarker"), t.consume(c), t.exit("taskListCheckMarker"), i) + } + function i(c) { + return ho(c) + ? (t.enter("taskListCheckValueUnchecked"), t.consume(c), t.exit("taskListCheckValueUnchecked"), s) + : c === 88 || c === 120 + ? (t.enter("taskListCheckValueChecked"), t.consume(c), t.exit("taskListCheckValueChecked"), s) + : n(c) + } + function s(c) { + return c === 93 + ? (t.enter("taskListCheckMarker"), t.consume(c), t.exit("taskListCheckMarker"), t.exit("taskListCheck"), a) + : n(c) + } + function a(c) { + return It(c) ? e(c) : Tn(c) ? t.check({ tokenize: LGt }, e, n)(c) : n(c) + } +} +function LGt(t, e, n) { + return Pn(t, o, "whitespace") + function o(r) { + return r === null ? n(r) : e(r) + } +} +function DGt(t) { + return bct([lGt(), bGt(), AGt(t), IGt(), zGt()]) +} +const NGt = {} +function OGt(t) { + const e = this, + n = t || NGt, + o = e.data(), + r = o.micromarkExtensions || (o.micromarkExtensions = []), + i = o.fromMarkdownExtensions || (o.fromMarkdownExtensions = []), + s = o.toMarkdownExtensions || (o.toMarkdownExtensions = []) + r.push(DGt(n)), i.push(rGt()), s.push(iGt(n)) +} +function zs({ + icon: t, + onClick: e, + onMouseDown: n, + onMouseUp: o, + onMouseLeave: r, + title: i, + size: s = "medium", + variant: a = "default", +}) { + const c = { small: "w-6 h-6", medium: "w-7 h-7" }, + d = { + default: "bg-transparent hover:bg-vscode-toolbar-hoverBackground", + transparent: "bg-transparent hover:bg-vscode-toolbar-hoverBackground", + }, + u = e || ((f) => {}), + m = l.jsx("button", { + className: `${c[s]} flex items-center justify-center border-none text-vscode-editor-foreground cursor-pointer rounded-[3px] ${d[a]}`, + "aria-label": i, + onClick: u, + onMouseDown: n, + onMouseUp: o, + onMouseLeave: r, + children: l.jsx("span", { className: `codicon codicon-${t}` }), + }) + return i ? l.jsx(We, { content: i, children: m }) : m +} +function vdt({ + zoomLevel: t, + zoomInTitle: e, + zoomOutTitle: n, + useContinuousZoom: o = !1, + adjustZoom: r, + zoomInStep: i = 0.1, + zoomOutStep: s = -0.1, + onZoomIn: a, + onZoomOut: c, +}) { + const d = k.useRef(null), + u = (f) => { + !o || + !r || + (d.current && clearInterval(d.current), + r(f), + (d.current = setInterval(() => { + r(f) + }, 150))) + }, + m = () => { + d.current && (clearInterval(d.current), (d.current = null)) + } + return ( + k.useEffect( + () => () => { + d.current && clearInterval(d.current) + }, + [], + ), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(We, { + content: n, + children: l.jsx(zs, { + icon: "zoom-out", + onClick: o ? void 0 : c || (() => (r == null ? void 0 : r(s))), + onMouseDown: o && r ? () => u(s) : void 0, + onMouseUp: o && r ? m : void 0, + onMouseLeave: o && r ? m : void 0, + }), + }), + l.jsxs("div", { + className: "text-sm text-vscode-editor-foreground min-w-[50px] text-center", + children: [Math.round(t * 100), "%"], + }), + l.jsx(We, { + content: e, + children: l.jsx(zs, { + icon: "zoom-in", + onClick: o ? void 0 : a || (() => (r == null ? void 0 : r(i))), + onMouseDown: o && r ? () => u(i) : void 0, + onMouseUp: o && r ? m : void 0, + onMouseLeave: o && r ? m : void 0, + }), + }), + ], + }) + ) +} +const FGt = ({ + onZoom: t, + onZoomIn: e, + onZoomOut: n, + onCopy: o, + onSave: r, + onViewCode: i, + onClose: s, + copyFeedback: a, + showZoomControls: c = !1, + zoomLevel: d, +}) => { + const { t: u } = Be() + return c && n && e && d !== void 0 + ? l.jsxs(l.Fragment, { + children: [ + l.jsx(vdt, { + zoomLevel: d, + onZoomIn: e, + onZoomOut: n, + zoomInTitle: u("common:mermaid.buttons.zoomIn"), + zoomOutTitle: u("common:mermaid.buttons.zoomOut"), + }), + l.jsx(We, { + content: u("common:mermaid.buttons.viewCode"), + children: l.jsx(zs, { + icon: "code", + onClick: (m) => { + m.stopPropagation(), i() + }, + }), + }), + l.jsx(We, { + content: u("common:mermaid.buttons.copy"), + children: l.jsx(zs, { icon: a ? "check" : "copy", onClick: o }), + }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + t && + l.jsx(We, { + content: u("common:mermaid.buttons.zoom"), + children: l.jsx(zs, { icon: "zoom-in", onClick: t }), + }), + l.jsx(We, { + content: u("common:mermaid.buttons.viewCode"), + children: l.jsx(zs, { + icon: "code", + onClick: (m) => { + m.stopPropagation(), i() + }, + }), + }), + l.jsx(We, { + content: u("common:mermaid.buttons.copy"), + children: l.jsx(zs, { icon: a ? "check" : "copy", onClick: o }), + }), + r && + l.jsx(We, { + content: u("common:mermaid.buttons.save"), + children: l.jsx(zs, { icon: "save", onClick: r }), + }), + s && + l.jsx(We, { + content: u("common:mermaid.buttons.close"), + children: l.jsx(zs, { icon: "close", onClick: s }), + }), + ], + }) +} +function BGt({ isOpen: t, onClose: e, children: n, className: o = "" }) { + return t + ? l.jsx("div", { + className: "fixed inset-0 bg-black/70 flex items-center justify-center z-[1000]", + onClick: e, + children: l.jsx("div", { + className: `bg-vscode-editor-background rounded w-[90%] h-[90%] max-w-[1200px] flex flex-col shadow-[0_5px_15px_rgba(0,0,0,0.5)] border border-vscode-editorGroup-border relative ${o}`, + onClick: (r) => r.stopPropagation(), + children: n, + }), + }) + : null +} +function Cq({ icon: t, label: e, isActive: n, onClick: o }) { + return l.jsxs("button", { + className: `px-4 py-2 border-none cursor-pointer flex items-center gap-1.5 text-[13px] transition-all duration-200 ease-in-out ${n ? "bg-vscode-editor-background border-b-2 border-vscode-focusBorder text-vscode-editor-foreground" : "bg-transparent border-b-2 border-transparent text-vscode-descriptionForeground hover:text-vscode-editor-foreground hover:bg-vscode-toolbar-hoverBackground"}`, + onClick: o, + children: [ + l.jsx("span", { + className: `codicon codicon-${t} text-sm`, + style: n ? { color: "var(--vscode-focusBorder)" } : void 0, + }), + e, + ], + }) +} +const UGt = 0.5, + qGt = 20 +function WGt({ containerRef: t, code: e, isLoading: n, svgToPng: o, children: r }) { + const [i, s] = k.useState(!1), + [a, c] = k.useState(1), + [d, u] = k.useState(!1), + [m, f] = k.useState(!1), + [g, b] = k.useState("diagram"), + [v, w] = k.useState(!1), + [_, y] = k.useState({ x: 0, y: 0 }), + { copyWithFeedback: C } = Ff(), + { t: S } = Be(), + P = async (W) => { + W.stopPropagation(), s(!0), c(1), b("diagram") + }, + R = async (W) => { + W.stopPropagation() + try { + await C(e, W), u(!0), setTimeout(() => u(!1), 2e3) + } catch (G) { + console.error("Error copying text:", G instanceof Error ? G.message : String(G)) + } + }, + T = async (W) => { + var U + W.stopPropagation() + const G = (U = t.current) == null ? void 0 : U.querySelector("svg") + if (!G) { + console.error("SVG element not found") + return + } + try { + const Z = await o(G) + re.postMessage({ type: "saveImage", dataUri: Z }) + } catch (Z) { + console.error("Error saving image:", Z) + } + }, + E = (W) => { + c((G) => { + const U = G + W + return Math.max(UGt, Math.min(qGt, U)) + }) + }, + $ = k.useCallback((W) => { + W.preventDefault(), W.stopPropagation() + const G = W.deltaY > 0 ? -0.2 : 0.2 + E(G) + }, []), + j = () => { + f(!0) + }, + L = () => { + f(!1) + } + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "relative w-full", + onMouseEnter: j, + onMouseLeave: L, + children: [ + r, + !n && + m && + l.jsx("div", { + className: + "absolute bottom-2 right-2 flex gap-1 bg-vscode-editor-background/90 rounded p-0.5 z-10 opacity-100 transition-opacity duration-200 ease-in-out", + children: l.jsx(FGt, { + onZoom: P, + onCopy: R, + onSave: T, + onViewCode: () => { + s(!0), b("code"), c(1) + }, + copyFeedback: d, + }), + }), + ], + }), + l.jsxs(BGt, { + isOpen: i, + onClose: () => s(!1), + children: [ + l.jsxs("div", { + className: "flex justify-between items-center border-b border-vscode-editorGroup-border", + children: [ + l.jsxs("div", { + className: "flex gap-0", + children: [ + l.jsx(Cq, { + icon: "graph", + label: S("common:mermaid.tabs.diagram"), + isActive: g === "diagram", + onClick: () => b("diagram"), + }), + l.jsx(Cq, { + icon: "code", + label: S("common:mermaid.tabs.code"), + isActive: g === "code", + onClick: () => b("code"), + }), + ], + }), + l.jsx("div", { + className: "pr-3", + children: l.jsx(We, { + content: S("common:mermaid.buttons.close"), + children: l.jsx(zs, { icon: "close", onClick: () => s(!1) }), + }), + }), + ], + }), + l.jsx("div", { + className: "flex-1 p-4 pb-[60px] overflow-auto flex items-center justify-center", + onWheel: g === "diagram" ? $ : void 0, + children: + g === "diagram" + ? l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + style: { + transform: `scale(${a}) translate(${_.x}px, ${_.y}px)`, + transformOrigin: "center center", + transition: v ? "none" : "transform 0.1s ease", + cursor: v ? "grabbing" : "grab", + }, + onMouseDown: (W) => { + w(!0), W.preventDefault() + }, + onMouseMove: (W) => { + v && + y((G) => ({ + x: G.x + W.movementX / a, + y: G.y + W.movementY / a, + })) + }, + onMouseUp: () => w(!1), + onMouseLeave: () => w(!1), + children: + t.current && + t.current.innerHTML && + l.jsx("div", { + dangerouslySetInnerHTML: { __html: t.current.innerHTML }, + }), + }), + l.jsxs("div", { + className: + "absolute bottom-4 left-4 bg-vscode-editor-background border border-vscode-editorGroup-border rounded px-2 py-1 text-xs text-vscode-descriptionForeground pointer-events-none opacity-80", + children: [Math.round(a * 100), "%"], + }), + ], + }) + : l.jsx("textarea", { + className: + "w-full min-h-[200px] bg-vscode-editor-background text-vscode-editor-foreground border border-vscode-editorGroup-border rounded-[3px] p-2 font-mono resize-y outline-none", + readOnly: !0, + value: e, + style: { + height: "100%", + minHeight: "unset", + fontSize: "var(--vscode-editor-font-size)", + }, + }), + }), + l.jsx("div", { + className: + "absolute bottom-0 right-0 left-0 p-3 flex items-center justify-end gap-2 bg-vscode-editor-background border-t border-vscode-editorGroup-border rounded-b", + children: + g === "diagram" + ? l.jsxs(l.Fragment, { + children: [ + l.jsx(vdt, { + zoomLevel: a, + zoomInTitle: S("common:mermaid.buttons.zoomIn"), + zoomOutTitle: S("common:mermaid.buttons.zoomOut"), + useContinuousZoom: !0, + adjustZoom: E, + zoomInStep: 0.2, + zoomOutStep: -0.2, + }), + l.jsx(We, { + content: S("common:mermaid.buttons.copy"), + children: l.jsx(zs, { icon: d ? "check" : "copy", onClick: R }), + }), + l.jsx(We, { + content: S("common:mermaid.buttons.save"), + children: l.jsx(zs, { icon: "save", onClick: T }), + }), + ], + }) + : l.jsx(We, { + content: S("common:mermaid.buttons.copy"), + children: l.jsx(zs, { + icon: d ? "check" : "copy", + onClick: (W) => { + W.stopPropagation(), C(e, W) + }, + }), + }), + }), + ], + }), + ], + }) +} +const bdt = { + background: "#1e1e1e", + textColor: "#ffffff", + mainBkg: "#2d2d2d", + nodeBorder: "#888888", + lineColor: "#cccccc", + primaryColor: "#3c3c3c", + primaryTextColor: "#ffffff", + primaryBorderColor: "#888888", + secondaryColor: "#2d2d2d", + tertiaryColor: "#454545", + classText: "#ffffff", + labelColor: "#ffffff", + actorLineColor: "#cccccc", + actorBkg: "#2d2d2d", + actorBorder: "#888888", + actorTextColor: "#ffffff", + fillType0: "#2d2d2d", + fillType1: "#3c3c3c", + fillType2: "#454545", +} +BI.initialize({ + startOnLoad: !1, + securityLevel: "loose", + theme: "dark", + suppressErrorRendering: !0, + themeVariables: { + ...bdt, + fontSize: "16px", + fontFamily: "var(--vscode-font-family, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif)", + noteTextColor: "#ffffff", + noteBkgColor: "#454545", + noteBorderColor: "#888888", + critBorderColor: "#ff9580", + critBkgColor: "#803d36", + taskTextColor: "#ffffff", + taskTextOutsideColor: "#ffffff", + taskTextLightColor: "#ffffff", + sectionBkgColor: "#2d2d2d", + sectionBkgColor2: "#3c3c3c", + altBackground: "#2d2d2d", + linkColor: "#6cb6ff", + compositeBackground: "#2d2d2d", + compositeBorder: "#888888", + titleColor: "#ffffff", + }, +}) +function KGt({ code: t }) { + const e = k.useRef(null), + [n, o] = k.useState(!1), + [r, i] = k.useState(null), + [s, a] = k.useState(!1), + { showCopyFeedback: c, copyWithFeedback: d } = Ff(), + { t: u } = Be() + k.useEffect(() => { + o(!0), i(null) + }, [t]), + Ont( + () => { + e.current && (e.current.innerHTML = ""), + BI.parse(t) + .then(() => { + const f = `mermaid-${Math.random().toString(36).substring(2)}` + return BI.render(f, t) + }) + .then(({ svg: f }) => { + e.current && (e.current.innerHTML = f) + }) + .catch((f) => { + console.warn("Mermaid parse/render failed:", f), + i(f.message || "Failed to render Mermaid diagram") + }) + .finally(() => { + o(!1) + }) + }, + 500, + [t], + ) + const m = async () => { + if (!e.current) return + const f = e.current.querySelector("svg") + if (f) + try { + const g = await Sq(f) + re.postMessage({ type: "openImage", text: g }) + } catch (g) { + console.error("Error converting SVG to PNG:", g) + } + } + return l.jsxs(VGt, { + children: [ + n && l.jsx(HGt, { children: u("common:mermaid.loading") }), + r + ? l.jsxs("div", { + style: { marginTop: "0px", overflow: "hidden", marginBottom: "8px" }, + children: [ + l.jsxs("div", { + style: { + borderBottom: s ? "1px solid var(--vscode-editorGroup-border)" : "none", + fontWeight: "normal", + fontSize: "var(--vscode-font-size)", + color: "var(--vscode-editor-foreground)", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + cursor: "pointer", + }, + onClick: () => a(!s), + children: [ + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: "10px", flexGrow: 1 }, + children: [ + l.jsx("span", { + className: "codicon codicon-warning", + style: { + color: "var(--vscode-editorWarning-foreground)", + opacity: 0.8, + fontSize: 16, + marginBottom: "-1.5px", + }, + }), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: u("common:mermaid.render_error"), + }), + ], + }), + l.jsxs("div", { + style: { display: "flex", alignItems: "center" }, + children: [ + l.jsx(GGt, { + onClick: (f) => { + f.stopPropagation() + const g = `Error: ${r} + +\`\`\`mermaid +${t} +\`\`\`` + d(g, f) + }, + children: l.jsx("span", { + className: `codicon codicon-${c ? "check" : "copy"}`, + }), + }), + l.jsx("span", { + className: `codicon codicon-chevron-${s ? "up" : "down"}`, + }), + ], + }), + ], + }), + s && + l.jsxs("div", { + style: { + padding: "8px", + backgroundColor: "var(--vscode-editor-background)", + borderTop: "none", + }, + children: [ + l.jsx("div", { + style: { + marginBottom: "8px", + color: "var(--vscode-descriptionForeground)", + }, + children: r, + }), + l.jsx(Gl, { language: "mermaid", source: t }), + ], + }), + ], + }) + : l.jsx(WGt, { + containerRef: e, + code: t, + isLoading: n, + svgToPng: Sq, + children: l.jsx(QGt, { onClick: m, ref: e, $isLoading: n }), + }), + ], + }) +} +async function Sq(t) { + var f + const e = t.cloneNode(!0), + n = ((f = e.getAttribute("viewBox")) == null ? void 0 : f.split(" ").map(Number)) || [], + o = n[2] || e.clientWidth, + r = n[3] || e.clientHeight, + i = 3600, + s = i / o, + a = r * s + e.setAttribute("width", `${i}`), e.setAttribute("height", `${a}`) + const d = new XMLSerializer().serializeToString(e), + m = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(d).replace(/'/g, "%27").replace(/"/g, "%22")}` + return new Promise((g, b) => { + const v = new Image() + ;(v.onload = () => { + const w = document.createElement("canvas") + ;(w.width = i), (w.height = a) + const _ = w.getContext("2d") + if (!_) return b("Canvas context not available") + ;(_.fillStyle = bdt.background), + _.fillRect(0, 0, w.width, w.height), + (_.imageSmoothingEnabled = !0), + (_.imageSmoothingQuality = "high"), + _.drawImage(v, 0, 0, i, a), + g(w.toDataURL("image/png", 1)) + }), + (v.onerror = b), + (v.src = m) + }) +} +const VGt = bs.div` + position: relative; + margin: 8px 0; +`, + HGt = bs.div` + padding: 8px 0; + color: var(--vscode-descriptionForeground); + font-style: italic; + font-size: 0.9em; +`, + GGt = bs.button` + padding: 3px; + height: 24px; + margin-right: 4px; + color: var(--vscode-editor-foreground); + display: flex; + align-items: center; + justify-content: center; + background: transparent; + border: none; + cursor: pointer; + + &:hover { + opacity: 0.8; + } +`, + QGt = bs.div` + opacity: ${(t) => (t.$isLoading ? 0.3 : 1)}; + min-height: 20px; + transition: opacity 0.2s ease; + cursor: pointer; + display: flex; + justify-content: center; + max-height: 400px; + + /* Ensure the SVG scales within the container */ + & > svg { + display: block; /* Ensure block layout */ + width: 100%; + max-height: 100%; /* Respect container's max-height */ + } +`, + ZGt = bs.div` + code:not(pre > code) { + font-family: var(--vscode-editor-font-family, monospace); + filter: saturation(110%) brightness(95%); + color: var(--vscode-textPreformat-foreground) !important; + background-color: var(--vscode-textPreformat-background) !important; + padding: 0px 2px; + white-space: pre-line; + word-break: break-word; + overflow-wrap: anywhere; + } + + /* Target only Dark High Contrast theme using the data attribute VS Code adds to the body */ + body[data-vscode-theme-kind="vscode-high-contrast"] & code:not(pre > code) { + color: var( + --vscode-editorInlayHint-foreground, + var(--vscode-symbolIcon-stringForeground, var(--vscode-charts-orange, #e9a700)) + ); + } + + /* KaTeX styling */ + .katex { + font-size: 1.1em; + color: var(--vscode-editor-foreground); + font-family: KaTeX_Main, "Times New Roman", serif; + line-height: 1.2; + white-space: normal; + text-indent: 0; + } + + .katex-display { + display: block; + margin: 1em 0; + text-align: center; + padding: 0.5em; + overflow-x: auto; + overflow-y: hidden; + background-color: var(--vscode-textCodeBlock-background); + border-radius: 3px; + } + + .katex-error { + color: var(--vscode-errorForeground); + } + + font-family: + var(--vscode-font-family), + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Oxygen, + Ubuntu, + Cantarell, + "Open Sans", + "Helvetica Neue", + sans-serif; + + font-size: var(--vscode-font-size, 13px); + + p, + li, + ol, + ul { + line-height: 1.25; + } + + ol, + ul { + padding-left: 2.5em; + margin-left: 0; + } + + ol { + list-style-type: decimal; + } + + ul { + list-style-type: disc; + } + + /* Nested list styles */ + ul ul { + list-style-type: circle; + } + + ul ul ul { + list-style-type: square; + } + + ol ol { + list-style-type: lower-alpha; + } + + ol ol ol { + list-style-type: lower-roman; + } + + p { + white-space: pre-wrap; + margin: 0.5em 0; + } + + /* Prevent layout shifts during streaming */ + pre { + min-height: 3em; + transition: height 0.2s ease-out; + } + + /* Code block container styling */ + div:has(> pre) { + position: relative; + contain: layout style; + } + + a { + color: var(--vscode-textLink-foreground); + text-decoration-line: underline; + text-decoration-style: dotted; + text-decoration-color: var(--vscode-textLink-foreground); + &:hover { + color: var(--vscode-textLink-activeForeground); + text-decoration-style: solid; + text-decoration-color: var(--vscode-textLink-activeForeground); + } + } + + /* Table styles for remark-gfm */ + table { + border-collapse: collapse; + margin: 1em 0; + width: auto; + min-width: 50%; + max-width: 100%; + table-layout: fixed; + } + + /* Table wrapper for horizontal scrolling */ + .table-wrapper { + overflow-x: auto; + margin: 1em 0; + } + + th, + td { + border: 1px solid var(--vscode-panel-border); + padding: 8px 12px; + text-align: left; + word-wrap: break-word; + overflow-wrap: break-word; + } + + th { + background-color: var(--vscode-editor-background); + font-weight: 600; + color: var(--vscode-foreground); + } + + tr:nth-child(even) { + background-color: var(--vscode-editor-inactiveSelectionBackground); + } + + tr:hover { + background-color: var(--vscode-list-hoverBackground); + } +`, + kh = k.memo(({ markdown: t }) => { + const e = k.useMemo( + () => ({ + table: ({ children: n, ...o }) => + l.jsx("div", { className: "table-wrapper", children: l.jsx("table", { ...o, children: n }) }), + a: ({ href: n, children: o, ...r }) => { + const i = (s) => { + if ( + !( + (n == null ? void 0 : n.startsWith("file://")) || + (n == null ? void 0 : n.startsWith("/")) || + !(n != null && n.includes("://")) + ) + ) + return + s.preventDefault() + let c = n.replace("file://", "") + const d = c.match(/(.*):(\d+)(-\d+)?$/) + let u + d && ((c = d[1]), (u = { line: parseInt(d[2]) })), + !c.startsWith("/") && !c.startsWith("./") && (c = "./" + c), + re.postMessage({ type: "openFile", text: c, values: u }) + } + return l.jsx("a", { ...r, href: n, onClick: i, children: o }) + }, + pre: ({ children: n, ...o }) => { + const r = n + if (!r || !r.props) return l.jsx("pre", { children: n }) + const { className: i = "", children: s } = r.props + let a = "" + if ( + (typeof s == "string" + ? (a = s) + : Array.isArray(s) && (a = s.filter((u) => typeof u == "string").join("")), + i.includes("language-mermaid")) + ) + return l.jsx("div", { style: { margin: "1em 0" }, children: l.jsx(KGt, { code: a }) }) + const c = /language-(\w+)/.exec(i), + d = c ? c[1] : "text" + return l.jsx("div", { style: { margin: "1em 0" }, children: l.jsx(Gl, { source: a, language: d }) }) + }, + code: ({ children: n, className: o, ...r }) => l.jsx("code", { className: o, ...r, children: n }), + }), + [], + ) + return l.jsx(ZGt, { + children: l.jsx(NVt, { + remarkPlugins: [ + OGt, + M6t, + () => (n) => { + XC(n, "code", (o) => { + o.lang + ? o.lang.includes(".") && (o.lang = o.lang.split(".").slice(-1)[0]) + : (o.lang = "text") + }) + }, + ], + rehypePlugins: [k6t], + components: e, + children: t || "", + }), + }) + }), + ep = k.memo(({ markdown: t, partial: e }) => { + const [n, o] = k.useState(!1), + { copyWithFeedback: r } = Ff(200) + return !t || t.length === 0 + ? null + : l.jsxs("div", { + onMouseEnter: () => o(!0), + onMouseLeave: () => o(!1), + style: { position: "relative" }, + children: [ + l.jsx("div", { + style: { wordBreak: "break-word", overflowWrap: "anywhere" }, + children: l.jsx(kh, { markdown: t }), + }), + t && + !e && + n && + l.jsxs("div", { + style: { + position: "absolute", + bottom: "-4px", + right: "8px", + opacity: 0, + animation: "fadeIn 0.2s ease-in-out forwards", + borderRadius: "4px", + }, + children: [ + l.jsx("style", { + children: "@keyframes fadeIn { from { opacity: 0; } to { opacity: 1.0; } }", + }), + l.jsx(We, { + content: "Copy as markdown", + children: l.jsx(Mo, { + className: "copy-button", + appearance: "icon", + style: { + height: "24px", + border: "none", + background: "var(--vscode-editor-background)", + transition: "background 0.2s ease-in-out", + }, + onClick: async () => { + if (await r(t)) { + const s = document.activeElement + s && + ((s.style.background = "var(--vscode-button-background)"), + setTimeout(() => { + s.style.background = "" + }, 200)) + } + }, + children: l.jsx("span", { className: "codicon codicon-copy" }), + }), + }), + ], + }), + ], + }) + }), + ydt = ({ + executionId: t, + text: e, + serverName: n, + toolName: o, + isArguments: r = !1, + server: i, + useMcpServer: s, + alwaysAllowMcp: a = !1, + }) => { + var G, U, Z, V + const { t: c } = to("mcp"), + [d, u] = k.useState(null), + [m, f] = k.useState(e || ""), + [g, b] = k.useState(e || ""), + [v, w] = k.useState(n), + [_, y] = k.useState(o), + [C, S] = k.useState(!1), + P = k.useCallback((X) => { + if (!X) return { isJson: !1, formatted: "" } + try { + const H = JSON.parse(X) + return { isJson: !0, formatted: JSON.stringify(H, null, 2) } + } catch { + return { isJson: !1, formatted: X } + } + }, []), + R = k.useMemo( + () => + C + ? d && d.status === "completed" + ? P(m) + : { isJson: !1, formatted: m } + : { isJson: !1, formatted: m }, + [m, C, P, d], + ), + T = k.useMemo(() => { + if (!g) return { isJson: !1, formatted: "" } + const X = g.trim() + if (X && ((X.startsWith("{") && X.endsWith("}")) || (X.startsWith("[") && X.endsWith("]")))) + try { + const H = JSON.parse(X) + return { isJson: !0, formatted: JSON.stringify(H, null, 2) } + } catch { + return { isJson: !1, formatted: g } + } + return { isJson: !1, formatted: g } + }, [g]), + E = R.formatted, + $ = T.formatted, + j = R.isJson, + L = k.useCallback(() => { + S(!C) + }, [C]), + W = k.useCallback( + (X) => { + const H = X.data + if (H.type === "mcpExecutionStatus") + try { + const B = J_t.safeParse(Al(H.text || "{}", {})) + if (B.success) { + const M = B.data + M.executionId === t && + (u(M), + M.status === "output" && M.response + ? f((D) => D + M.response) + : M.status === "completed" && M.response && f(M.response)) + } + } catch (B) { + console.error("Failed to parse MCP execution status", B) + } + }, + [t], + ) + return ( + Ws("message", W), + k.useEffect(() => { + e && b(e), s != null && s.response && f(s.response), n && n !== v && w(n), o && o !== _ && y(o) + }, [e, s, n, o, v, _, r]), + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "flex flex-row items-center justify-between gap-2 mb-1", + children: [ + l.jsxs("div", { + className: "flex flex-row items-center gap-1 flex-wrap", + children: [ + l.jsx(V$t, { size: 16, className: "text-vscode-descriptionForeground" }), + l.jsx("div", { + className: "flex items-center gap-1 flex-wrap", + children: + v && + l.jsx("span", { + className: "font-bold text-vscode-foreground", + children: v, + }), + }), + ], + }), + l.jsx("div", { + className: "flex flex-row items-center justify-between gap-2 px-1", + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + d && + l.jsxs("div", { + className: "flex flex-row items-center gap-2 font-mono text-xs", + children: [ + l.jsx("div", { + className: be("rounded-full size-1.5", { + "bg-lime-400": + d.status === "started" || d.status === "completed", + "bg-red-400": d.status === "error", + }), + }), + l.jsx("div", { + className: be("whitespace-nowrap", { + "text-vscode-foreground": + d.status === "started" || d.status === "completed", + "text-vscode-errorForeground": d.status === "error", + }), + children: + d.status === "started" + ? c("execution.running") + : d.status === "completed" + ? c("execution.completed") + : c("execution.error"), + }), + d.status === "error" && + "error" in d && + d.error && + l.jsxs("div", { + className: "whitespace-nowrap", + children: ["(", d.error, ")"], + }), + ], + }), + m && + m.length > 0 && + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: L, + children: l.jsx(hu, { + className: be("size-4 transition-transform duration-300", { + "rotate-180": C, + }), + }), + }), + ], + }), + }), + ], + }), + l.jsxs("div", { + className: "w-full bg-vscode-editor-background rounded-xs p-2", + children: [ + (s == null ? void 0 : s.type) === "use_mcp_tool" && + l.jsx("div", { + onClick: (X) => X.stopPropagation(), + children: l.jsx(aj, { + tool: { + name: s.toolName || "", + description: + ((U = + (G = i == null ? void 0 : i.tools) == null + ? void 0 + : G.find((X) => X.name === s.toolName)) == null + ? void 0 + : U.description) || "", + alwaysAllow: + ((V = + (Z = i == null ? void 0 : i.tools) == null + ? void 0 + : Z.find((X) => X.name === s.toolName)) == null + ? void 0 + : V.alwaysAllow) || !1, + }, + serverName: s.serverName, + serverSource: i == null ? void 0 : i.source, + alwaysAllowMcp: a, + isInChatContext: !0, + }), + }), + !s && + _ && + v && + l.jsx("div", { + onClick: (X) => X.stopPropagation(), + children: l.jsx(aj, { + tool: { name: _ || "", description: "", alwaysAllow: !1 }, + serverName: v, + serverSource: void 0, + alwaysAllowMcp: a, + isInChatContext: !0, + }), + }), + (r || (s == null ? void 0 : s.arguments) || g) && + l.jsx("div", { + className: be({ + "mt-1 pt-1": + !r && ((s == null ? void 0 : s.type) === "use_mcp_tool" || (_ && v)), + }), + children: l.jsx(Gl, { source: $, language: "json" }), + }), + l.jsx(XGt, { + isExpanded: C, + response: E, + isJson: j, + hasArguments: !!(r || (s != null && s.arguments) || g), + isPartial: d ? d.status !== "completed" : !1, + }), + ], + }), + ], + }) + ) + } +ydt.displayName = "McpExecution" +const YGt = ({ isExpanded: t, response: e, isJson: n, hasArguments: o, isPartial: r = !1 }) => + !t || e.length === 0 + ? l.jsx("div", { className: be("overflow-hidden", { "max-h-0": !t }) }) + : l.jsx("div", { + className: be("overflow-hidden", { + "max-h-96 overflow-y-auto mt-1 pt-1 border-t border-border/25": o, + "max-h-96 overflow-y-auto mt-1 pt-1": !o, + }), + children: n ? l.jsx(Gl, { source: e, language: "json" }) : l.jsx(ep, { markdown: e, partial: r }), + }), + XGt = k.memo(YGt) +function JGt(t, e = []) { + return e.find((n) => { + const o = String(n.uriTemplate) + .replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + .replace(/\\\{([^}]+)\\\}/g, "([^/]+)") + return new RegExp(`^${o}$`).test(t) + }) +} +function e8t(t, e = [], n = []) { + const o = e.find((r) => r.uri === t) + return o || JGt(t, n) +} +const JC = (t) => t.replace(/^[/\\:*?"<>|]+/, ""), + t8t = { + html: "html", + htm: "html", + css: "css", + js: "javascript", + jsx: "jsx", + ts: "typescript", + tsx: "tsx", + py: "python", + rb: "ruby", + php: "php", + java: "java", + cs: "csharp", + go: "go", + rs: "rust", + scala: "scala", + kt: "kotlin", + swift: "swift", + json: "json", + xml: "xml", + yaml: "yaml", + yml: "yaml", + md: "markdown", + csv: "csv", + sh: "bash", + bash: "bash", + zsh: "bash", + ps1: "powershell", + toml: "toml", + ini: "ini", + cfg: "ini", + conf: "ini", + sql: "sql", + graphql: "graphql", + gql: "graphql", + tex: "latex", + svg: "svg", + txt: "text", + c: "c", + cpp: "cpp", + h: "c", + hpp: "cpp", + hs: "haskell", + lhs: "haskell", + elm: "elm", + clj: "clojure", + cljs: "clojure", + erl: "erlang", + ex: "elixir", + exs: "elixir", + dart: "dart", + m: "objectivec", + mm: "objectivec", + lua: "lua", + gd: "gdscript", + unity: "csharp", + r: "r", + jl: "julia", + ipynb: "jupyter", + } +function kdt(t) { + var n + const e = ((n = t.split(".").pop()) == null ? void 0 : n.toLowerCase()) || "" + return t8t[e] +} +function vj() { + return ( + (vj = Object.assign + ? Object.assign.bind() + : function (t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e] + for (var o in n) ({}).hasOwnProperty.call(n, o) && (t[o] = n[o]) + } + return t + }), + vj.apply(null, arguments) + ) +} +function n8t(t, e) { + if (t == null) return {} + var n = {} + for (var o in t) + if ({}.hasOwnProperty.call(t, o)) { + if (e.indexOf(o) !== -1) continue + n[o] = t[o] + } + return n +} +var o8t = k.useLayoutEffect, + r8t = function (e) { + var n = Ie.useRef(e) + return ( + o8t(function () { + n.current = e + }), + n + ) + }, + Aq = function (e, n) { + if (typeof e == "function") { + e(n) + return + } + e.current = n + }, + i8t = function (e, n) { + var o = Ie.useRef() + return Ie.useCallback( + function (r) { + ;(e.current = r), o.current && Aq(o.current, null), (o.current = n), n && Aq(n, r) + }, + [n], + ) + }, + Pq = { + "min-height": "0", + "max-height": "none", + height: "0", + visibility: "hidden", + overflow: "hidden", + position: "absolute", + "z-index": "-1000", + top: "0", + right: "0", + display: "block", + }, + s8t = function (e) { + Object.keys(Pq).forEach(function (n) { + e.style.setProperty(n, Pq[n], "important") + }) + }, + Rq = s8t, + Ri = null, + Tq = function (e, n) { + var o = e.scrollHeight + return n.sizingStyle.boxSizing === "border-box" ? o + n.borderSize : o - n.paddingSize + } +function a8t(t, e, n, o) { + n === void 0 && (n = 1), + o === void 0 && (o = 1 / 0), + Ri || + ((Ri = document.createElement("textarea")), + Ri.setAttribute("tabindex", "-1"), + Ri.setAttribute("aria-hidden", "true"), + Rq(Ri)), + Ri.parentNode === null && document.body.appendChild(Ri) + var r = t.paddingSize, + i = t.borderSize, + s = t.sizingStyle, + a = s.boxSizing + Object.keys(s).forEach(function (f) { + var g = f + Ri.style[g] = s[g] + }), + Rq(Ri), + (Ri.value = e) + var c = Tq(Ri, t) + ;(Ri.value = e), (c = Tq(Ri, t)), (Ri.value = "x") + var d = Ri.scrollHeight - r, + u = d * n + a === "border-box" && (u = u + r + i), (c = Math.max(u, c)) + var m = d * o + return a === "border-box" && (m = m + r + i), (c = Math.min(m, c)), [c, d] +} +var Iq = function () {}, + l8t = function (e, n) { + return e.reduce(function (o, r) { + return (o[r] = n[r]), o + }, {}) + }, + c8t = [ + "borderBottomWidth", + "borderLeftWidth", + "borderRightWidth", + "borderTopWidth", + "boxSizing", + "fontFamily", + "fontSize", + "fontStyle", + "fontWeight", + "letterSpacing", + "lineHeight", + "paddingBottom", + "paddingLeft", + "paddingRight", + "paddingTop", + "tabSize", + "textIndent", + "textRendering", + "textTransform", + "width", + "wordBreak", + "wordSpacing", + "scrollbarGutter", + ], + d8t = !!document.documentElement.currentStyle, + u8t = function (e) { + var n = window.getComputedStyle(e) + if (n === null) return null + var o = l8t(c8t, n), + r = o.boxSizing + if (r === "") return null + d8t && + r === "border-box" && + (o.width = + parseFloat(o.width) + + parseFloat(o.borderRightWidth) + + parseFloat(o.borderLeftWidth) + + parseFloat(o.paddingRight) + + parseFloat(o.paddingLeft) + + "px") + var i = parseFloat(o.paddingBottom) + parseFloat(o.paddingTop), + s = parseFloat(o.borderBottomWidth) + parseFloat(o.borderTopWidth) + return { sizingStyle: o, paddingSize: i, borderSize: s } + }, + p8t = u8t +function I$(t, e, n) { + var o = r8t(n) + k.useLayoutEffect(function () { + var r = function (s) { + return o.current(s) + } + if (t) + return ( + t.addEventListener(e, r), + function () { + return t.removeEventListener(e, r) + } + ) + }, []) +} +var m8t = function (e, n) { + I$(document.body, "reset", function (o) { + e.current.form === o.target && n(o) + }) + }, + h8t = function (e) { + I$(window, "resize", e) + }, + f8t = function (e) { + I$(document.fonts, "loadingdone", e) + }, + g8t = ["cacheMeasurements", "maxRows", "minRows", "onChange", "onHeightChange"], + v8t = function (e, n) { + var o = e.cacheMeasurements, + r = e.maxRows, + i = e.minRows, + s = e.onChange, + a = s === void 0 ? Iq : s, + c = e.onHeightChange, + d = c === void 0 ? Iq : c, + u = n8t(e, g8t), + m = u.value !== void 0, + f = k.useRef(null), + g = i8t(f, n), + b = k.useRef(0), + v = k.useRef(), + w = function () { + var C = f.current, + S = o && v.current ? v.current : p8t(C) + if (S) { + v.current = S + var P = a8t(S, C.value || C.placeholder || "x", i, r), + R = P[0], + T = P[1] + b.current !== R && + ((b.current = R), C.style.setProperty("height", R + "px", "important"), d(R, { rowHeight: T })) + } + }, + _ = function (C) { + m || w(), a(C) + } + return ( + k.useLayoutEffect(w), + m8t(f, function () { + if (!m) { + var y = f.current.value + requestAnimationFrame(function () { + var C = f.current + C && y !== C.value && w() + }) + } + }), + h8t(w), + f8t(w), + k.createElement("textarea", vj({}, u, { onChange: _, ref: g })) + ) + }, + b8t = k.forwardRef(v8t) +const M$ = new RegExp( + "(?<!\\\\)@((?:\\/|\\w+:\\/\\/)(?:[^\\s\\\\]|\\\\ )+?|[a-f0-9]{7,40}\\b|problems\\b|git-changes\\b|terminal\\b)(?=[.,;:!?]?(?=[\\s\\r\\n]|$))", + ), + xdt = new RegExp(M$.source, "g"), + y8t = /(?:^|\s)\/([a-zA-Z0-9_\.-]+)(?=\s|$)/g +function k8t(t) { + return t.replace(/\\ /g, " ") +} +function wdt(t) { + return t.replace(/ /g, "\\ ") +} +function x8t(t, e) { + let n = t + if (t.startsWith("file://")) n = t.substring(7) + else if (t.startsWith("vscode-remote://")) { + const a = t.substring(16), + c = a.indexOf("/") + c !== -1 ? (n = a.substring(c + 1)) : (n = "") + } + try { + ;(n = decodeURIComponent(n)), n.startsWith("/") && n[2] === ":" && (n = n.substring(1)) + } catch (a) { + console.error("Error decoding URI component in convertToMentionPath:", a, n) + } + const o = n.replace(/\\/g, "/") + let r = e ? e.replace(/\\/g, "/") : "" + if (!r) return n + r.endsWith("/") && (r = r.slice(0, -1)) + const i = o.toLowerCase(), + s = r.toLowerCase() + if (i.startsWith(s)) { + let a = o.substring(r.length) + return (a = a.startsWith("/") ? a : "/" + a), "@" + wdt(a) + } + return n +} +function Mq(t) { + return (t.description || t.whenToUse || t.roleDefinition).split(` +`)[0] +} +function w8t(t) { + return t.split("/").pop() || t +} +function _8t(t, e, n, o = !1) { + if (o) return { newValue: n, mentionIndex: 0 } + const r = t.slice(0, e), + i = t.slice(e), + s = r.lastIndexOf("@") + let a = n + n && n.startsWith("/") && n.includes(" ") && !n.includes("\\ ") && (a = wdt(n)) + let c, d + if (s !== -1) { + const u = t.slice(0, s), + m = /^[a-zA-Z0-9\s]*$/.test(i) ? i.replace(/^[^\s]*/, "") : i + ;(c = u + "@" + a + " " + m), (d = s) + } else (c = r + "@" + a + " " + i), (d = e) + return { newValue: c, mentionIndex: d } +} +function C8t(t, e) { + const n = t.slice(0, e), + o = t.slice(e), + r = n.match(new RegExp(M$.source + "$")) + if (r) { + const i = r[0].length, + s = t.slice(0, e - i) + o.replace(/^\s/, ""), + a = e - i + return { newText: s, newPosition: a } + } + return { newText: t, newPosition: e } +} +var pt = ((t) => ( + (t.OpenedFile = "openedFile"), + (t.File = "file"), + (t.Folder = "folder"), + (t.Problems = "problems"), + (t.Terminal = "terminal"), + (t.URL = "url"), + (t.Git = "git"), + (t.NoResults = "noResults"), + (t.Mode = "mode"), + (t.Command = "command"), + (t.SectionHeader = "sectionHeader"), + t +))(pt || {}) +function bj(t, e = null, n, o = [], r, i) { + if (t.startsWith("/")) { + const y = t.slice(1), + C = [] + if (i != null && i.length) { + const S = i.map((T) => ({ original: T, searchStr: T.name })), + P = new Vd(S, { selector: (T) => T.searchStr }), + R = y + ? P.find(y).map((T) => ({ + type: "command", + value: T.item.original.name, + slashCommand: `/${T.item.original.name}`, + description: T.item.original.description, + argumentHint: T.item.original.argumentHint, + })) + : i.map((T) => ({ + type: "command", + value: T.name, + slashCommand: `/${T.name}`, + description: T.description, + argumentHint: T.argumentHint, + })) + R.length > 0 && (C.push({ type: "sectionHeader", label: "Custom Commands" }), C.push(...R)) + } + if (r != null && r.length) { + const S = r.map((T) => ({ original: T, searchStr: T.name })), + P = new Vd(S, { selector: (T) => T.searchStr }), + R = y + ? P.find(y).map((T) => ({ + type: "mode", + value: T.item.original.slug, + slashCommand: `/${T.item.original.slug}`, + description: Mq(T.item.original), + })) + : r.map((T) => ({ type: "mode", value: T.slug, slashCommand: `/${T.slug}`, description: Mq(T) })) + R.length > 0 && (C.push({ type: "sectionHeader", label: "Modes" }), C.push(...R)) + } + return C.length > 0 ? C : [{ type: "noResults" }] + } + const s = { + type: "git", + value: "git-changes", + label: "Working changes", + description: "Current uncommitted changes", + icon: "$(git-commit)", + } + if (t === "") { + if (e === "file") { + const y = n + .filter((C) => C.type === "file" || C.type === "openedFile") + .map((C) => ({ type: C.type, value: C.value })) + return y.length > 0 ? y : [{ type: "noResults" }] + } + if (e === "folder") { + const y = n.filter((C) => C.type === "folder").map((C) => ({ type: "folder", value: C.value })) + return y.length > 0 ? y : [{ type: "noResults" }] + } + if (e === "git") { + const y = n.filter((C) => C.type === "git") + return y.length > 0 ? [s, ...y] : [s] + } + return [ + { type: "problems" }, + { type: "terminal" }, + { type: "url" }, + { type: "folder" }, + { type: "file" }, + { type: "git" }, + ] + } + const a = t.toLowerCase(), + c = [] + if ( + ("git".startsWith(a) + ? c.push({ + type: "git", + label: "Git Commits", + description: "Search repository history", + icon: "$(git-commit)", + }) + : "git-changes".startsWith(a) && c.push(s), + "problems".startsWith(a) && c.push({ type: "problems" }), + "terminal".startsWith(a) && c.push({ type: "terminal" }), + t.startsWith("http") && c.push({ type: "url", value: t }), + /^[a-f0-9]{7,40}$/i.test(a)) + ) { + const y = n.filter((C) => { + var S + return C.type === "git" && ((S = C.value) == null ? void 0 : S.toLowerCase()) === a + }) + y.length > 0 + ? c.push(...y) + : c.push({ + type: "git", + value: a, + label: `Commit ${a}`, + description: "Git commit hash", + icon: "$(git-commit)", + }) + } + const d = n.map((y) => ({ original: y, searchStr: [y.value, y.label, y.description].filter(Boolean).join(" ") })), + u = new Vd(d, { selector: (y) => y.searchStr }), + m = t ? u.find(t).map((y) => y.item.original) : [], + f = m.filter((y) => y.type === "openedFile"), + g = m.filter((y) => y.type === "git"), + b = o.map((y) => { + const C = y.path.startsWith("/") ? y.path : `/${y.path}`, + S = C, + P = y.label || w8t(y.path) + return { type: y.type === "folder" ? "folder" : "file", value: C, label: P, description: S } + }), + v = [...c, ...f, ...b, ...g], + w = new Set(), + _ = v.filter((y) => { + const C = y.value + let S = "" + return ( + y.type === "file" || y.type === "folder" || y.type === "openedFile" ? (S = C) : (S = `${y.type}-${C}`), + w.has(S) ? !1 : (w.add(S), !0) + ) + }) + return _.length > 0 ? _ : [{ type: "noResults" }] +} +function S8t(t, e) { + const n = t.slice(0, e) + if (t.startsWith("/") && !t.includes(" ") && e <= t.length) return !0 + const o = n.lastIndexOf("@") + if (o === -1) return !1 + const r = n.slice(o + 1) + return !(new RegExp("(?<!\\\\)\\s").test(r) || r.toLowerCase().startsWith("http")) +} +const A8t = ({ images: t, style: e, setImages: n, onHeightChange: o }) => { + const [r, i] = k.useState(null), + s = k.useRef(null), + { width: a } = MW() + k.useLayoutEffect(() => { + if (s.current) { + let m = s.current.clientHeight + m || (m = s.current.getBoundingClientRect().height), o == null || o(m) + } + i(null) + }, [t, a, o]) + const c = (m) => { + n == null || n((f) => f.filter((g, b) => b !== m)) + }, + d = n !== void 0, + u = (m) => { + re.postMessage({ type: "openImage", text: m }) + } + return l.jsx("div", { + ref: s, + style: { display: "flex", flexWrap: "wrap", gap: 5, rowGap: 3, ...e }, + children: t.map((m, f) => + l.jsxs( + "div", + { + style: { position: "relative" }, + onMouseEnter: () => i(f), + onMouseLeave: () => i(null), + children: [ + l.jsx("img", { + src: m, + alt: `Thumbnail ${f + 1}`, + style: { + width: 34, + height: 34, + objectFit: "cover", + borderRadius: 4, + cursor: "pointer", + }, + onClick: () => u(m), + }), + d && + r === f && + l.jsx("div", { + onClick: () => c(f), + style: { + position: "absolute", + top: -4, + right: -4, + width: 13, + height: 13, + borderRadius: "50%", + backgroundColor: "var(--vscode-badge-background)", + display: "flex", + justifyContent: "center", + alignItems: "center", + cursor: "pointer", + }, + children: l.jsx("span", { + className: "codicon codicon-close", + style: { color: "var(--vscode-foreground)", fontSize: 10, fontWeight: "bold" }, + }), + }), + ], + }, + f, + ), + ), + }) + }, + e0 = k.memo(A8t), + xh = ({ iconClass: t, title: e, className: n, disabled: o, isLoading: r, onClick: i, style: s, ...a }) => { + const c = be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "text-vscode-foreground opacity-85", + "transition-all duration-150", + "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + !o && "cursor-pointer", + o && + "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent", + n, + ), + d = be("codicon", t, r && "codicon-modifier-spin"), + u = l.jsx("button", { + "aria-label": e, + className: c, + disabled: o, + onClick: o ? void 0 : i, + style: { fontSize: 16.5, ...s }, + ...a, + children: l.jsx("span", { className: d }), + }) + return l.jsx(We, { content: e, children: u }) + }, + P8t = 6, + _dt = ({ + value: t, + onChange: e, + disabled: n = !1, + title: o = "", + triggerClassName: r = "", + modeShortcutText: i, + customModes: s, + customModePrompts: a, + disableSearch: c = !1, + }) => { + const [d, u] = Ie.useState(!1), + [m, f] = Ie.useState(""), + g = Ie.useRef(null), + b = Df("roo-portal"), + { hasOpenedModeSelector: v, setHasOpenedModeSelector: w } = Qn(), + { t: _ } = Be(), + y = Ie.useCallback(() => { + os.capture(Ls.MODE_SELECTOR_OPENED), + v || (w(!0), re.postMessage({ type: "hasOpenedModeSelector", bool: !0 })) + }, [v, w]), + C = Ie.useMemo( + () => + qv(s).map((X) => { + var H + return { + ...X, + description: + ((H = a == null ? void 0 : a[X.slug]) == null ? void 0 : H.description) ?? + X.description, + } + }), + [s, a], + ), + S = Ie.useMemo(() => C.find((V) => V.slug === t), [C, t]), + P = Ie.useMemo( + () => C.map((V) => ({ original: V, searchStr: [V.name, V.slug].filter(Boolean).join(" ") })), + [C], + ), + R = Ie.useMemo(() => C.map((V) => ({ original: V, searchStr: V.description || "" })), [C]), + T = Ie.useMemo(() => new Vd(P, { selector: (V) => V.searchStr }), [P]), + E = Ie.useMemo(() => new Vd(R, { selector: (V) => V.searchStr }), [R]), + $ = Ie.useMemo(() => { + if (!m) return C + const V = T.find(m), + X = new Set(V.map((M) => M.item.original.slug)), + H = E.find(m) + return [ + ...V.map((M) => M.item.original), + ...H.filter((M) => !X.has(M.item.original.slug)).map((M) => M.item.original), + ] + }, [C, m, T, E]), + j = Ie.useCallback(() => { + var V + f(""), (V = g.current) == null || V.focus() + }, []), + L = Ie.useCallback( + (V) => { + e(V), u(!1), f("") + }, + [e], + ), + W = Ie.useCallback( + (V) => { + V && y(), u(V), V || f("") + }, + [y], + ) + Ie.useEffect(() => { + d && g.current && g.current.focus() + }, [d]) + const G = !c && C.length > P8t, + U = `${_("chat:modeSelector.description")} ${i}`, + Z = l.jsxs(ul, { + disabled: n, + "data-testid": "mode-selector-trigger", + className: be( + "inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs", + "bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground", + "transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder focus-visible:ring-inset", + n + ? "opacity-50 cursor-not-allowed" + : "opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer", + r, + !n && !v ? "bg-primary opacity-90 hover:bg-primary-hover text-vscode-button-foreground" : null, + ), + children: [ + l.jsx(iz, { className: "pointer-events-none opacity-80 flex-shrink-0 size-3" }), + l.jsx("span", { className: "truncate", children: (S == null ? void 0 : S.name) || "" }), + ], + }) + return l.jsxs(dl, { + open: d, + onOpenChange: W, + "data-testid": "mode-selector-root", + children: [ + o ? l.jsx(We, { content: o, children: Z }) : Z, + l.jsx(xa, { + align: "start", + sideOffset: 4, + container: b, + className: "p-0 overflow-hidden min-w-80 max-w-9/10", + children: l.jsxs("div", { + className: "flex flex-col w-full", + children: [ + G + ? l.jsxs("div", { + className: "relative p-2 border-b border-vscode-dropdown-border", + children: [ + l.jsx("input", { + "aria-label": "Search modes", + ref: g, + value: m, + onChange: (V) => f(V.target.value), + placeholder: _("chat:modeSelector.searchPlaceholder"), + className: + "w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0", + "data-testid": "mode-search-input", + }), + m.length > 0 && + l.jsx("div", { + className: + "absolute right-4 top-0 bottom-0 flex items-center justify-center", + children: l.jsx(nl, { + className: + "text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer", + onClick: j, + }), + }), + ], + }) + : l.jsx("div", { + className: "p-3 border-b border-vscode-dropdown-border", + children: l.jsx("p", { + className: "m-0 text-xs text-vscode-descriptionForeground", + children: U, + }), + }), + l.jsx("div", { + className: "max-h-[300px] overflow-y-auto", + children: + $.length === 0 && m + ? l.jsx("div", { + className: "py-2 px-3 text-sm text-vscode-foreground/70", + children: _("chat:modeSelector.noResults"), + }) + : l.jsx("div", { + className: "py-1", + children: $.map((V) => + l.jsxs( + "div", + { + onClick: () => L(V.slug), + className: be( + "px-3 py-1.5 text-sm cursor-pointer flex items-center", + "hover:bg-vscode-list-hoverBackground", + V.slug === t + ? "bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground" + : "", + ), + "data-testid": "mode-selector-item", + children: [ + l.jsxs("div", { + className: "flex-1 min-w-0", + children: [ + l.jsx("div", { + className: "font-bold truncate", + children: V.name, + }), + V.description && + l.jsx("div", { + className: + "text-xs text-vscode-descriptionForeground truncate", + children: V.description, + }), + ], + }), + V.slug === t && + l.jsx(Wl, { className: "ml-auto size-4 p-0.5" }), + ], + }, + V.slug, + ), + ), + }), + }), + l.jsxs("div", { + className: + "flex flex-row items-center justify-between px-2 py-2 border-t border-vscode-dropdown-border", + children: [ + l.jsxs("div", { + className: "flex flex-row gap-1", + children: [ + l.jsx(xh, { + iconClass: "codicon-extensions", + title: _("chat:modeSelector.marketplace"), + onClick: () => { + window.postMessage( + { + type: "action", + action: "marketplaceButtonClicked", + values: { marketplaceTab: "mode" }, + }, + "*", + ), + u(!1) + }, + }), + l.jsx(xh, { + iconClass: "codicon-settings-gear", + title: _("chat:modeSelector.settings"), + onClick: () => { + re.postMessage({ type: "switchTab", tab: "modes" }), u(!1) + }, + }), + ], + }), + l.jsxs("div", { + className: "flex items-center gap-1 pr-1", + children: [ + G && + l.jsx(We, { + content: U, + children: l.jsx("span", { + className: + "codicon codicon-info text-xs text-vscode-descriptionForeground opacity-70 hover:opacity-100 cursor-help", + }), + }), + l.jsx("h4", { + className: "m-0 font-medium text-sm text-vscode-descriptionForeground", + children: _("chat:modeSelector.title"), + }), + ], + }), + ], + }), + ], + }), + }), + ], + }) + }, + R8t = ({ + value: t, + displayName: e, + disabled: n = !1, + title: o = "", + onChange: r, + triggerClassName: i = "", + listApiConfigMeta: s, + pinnedApiConfigs: a, + togglePinnedApiConfig: c, + }) => { + const { t: d } = Be(), + [u, m] = k.useState(!1), + [f, g] = k.useState(""), + b = Df("roo-portal"), + v = k.useMemo(() => s.map((E) => ({ original: E, searchStr: E.name })), [s]), + w = k.useMemo(() => new Vd(v, { selector: (E) => E.searchStr }), [v]), + _ = k.useMemo(() => (f ? w.find(f).map(($) => $.item.original) : s), [s, f, w]), + { pinnedConfigs: y, unpinnedConfigs: C } = k.useMemo(() => { + const E = _.filter((j) => (a == null ? void 0 : a[j.id])), + $ = _.filter((j) => !(a != null && a[j.id])) + return { pinnedConfigs: E, unpinnedConfigs: $ } + }, [_, a]), + S = k.useCallback( + (E) => { + r(E), m(!1), g("") + }, + [r], + ), + P = k.useCallback(() => { + re.postMessage({ type: "switchTab", tab: "settings" }), m(!1) + }, []), + R = k.useCallback( + (E, $) => { + const j = E.id === t + return l.jsxs( + "div", + { + onClick: () => S(E.id), + className: be( + "px-3 py-1.5 text-sm cursor-pointer flex items-center group", + "hover:bg-vscode-list-hoverBackground", + j && + "bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground", + ), + children: [ + l.jsx("span", { className: "flex-1 truncate", children: E.name }), + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + j && + l.jsx("div", { + className: "size-5 p-1 flex items-center justify-center", + children: l.jsx("span", { className: "codicon codicon-check text-xs" }), + }), + l.jsx(We, { + content: d($ ? "chat:unpin" : "chat:pin"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + tabIndex: -1, + onClick: (L) => { + L.stopPropagation(), + c(E.id), + re.postMessage({ type: "toggleApiConfigPin", text: E.id }) + }, + className: be("size-5 flex items-center justify-center", { + "opacity-0 group-hover:opacity-100": !$ && !j, + "bg-accent opacity-100": $, + }), + children: l.jsx("span", { + className: "codicon codicon-pin text-xs opacity-50", + }), + }), + }), + ], + }), + ], + }, + E.id, + ) + }, + [t, S, d, c], + ), + T = l.jsxs(ul, { + disabled: n, + "data-testid": "dropdown-trigger", + className: be( + "w-full min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs", + "bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground", + "transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder focus-visible:ring-inset", + n + ? "opacity-50 cursor-not-allowed" + : "opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer", + i, + ), + children: [ + l.jsx("span", { + className: be( + "codicon codicon-chevron-up pointer-events-none opacity-80 flex-shrink-0 text-xs transition-transform duration-200", + u && "rotate-180", + ), + }), + l.jsx("span", { className: "truncate", children: e }), + ], + }) + return l.jsxs(dl, { + open: u, + onOpenChange: m, + children: [ + o ? l.jsx(We, { content: o, children: T }) : T, + l.jsx(xa, { + align: "start", + sideOffset: 4, + container: b, + className: "p-0 overflow-hidden w-[300px]", + children: l.jsxs("div", { + className: "flex flex-col w-full", + children: [ + s.length > 6 + ? l.jsxs("div", { + className: "relative p-2 border-b border-vscode-dropdown-border", + children: [ + l.jsx("input", { + "aria-label": d("common:ui.search_placeholder"), + value: f, + onChange: (E) => g(E.target.value), + placeholder: d("common:ui.search_placeholder"), + className: + "w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0", + autoFocus: !0, + }), + f.length > 0 && + l.jsx("div", { + className: + "absolute right-4 top-0 bottom-0 flex items-center justify-center", + children: l.jsx("span", { + className: + "codicon codicon-close text-vscode-input-foreground opacity-50 hover:opacity-100 text-xs cursor-pointer", + onClick: () => g(""), + }), + }), + ], + }) + : l.jsx("div", { + className: "p-3 border-b border-vscode-dropdown-border", + children: l.jsx("p", { + className: "text-xs text-vscode-descriptionForeground m-0", + children: d("prompts:apiConfiguration.select"), + }), + }), + l.jsx("div", { + className: "max-h-[300px] overflow-y-auto", + children: + _.length === 0 && f + ? l.jsx("div", { + className: "py-2 px-3 text-sm text-vscode-foreground/70", + children: d("common:ui.no_results"), + }) + : l.jsxs("div", { + className: "py-1", + children: [ + y.map((E) => R(E, !0)), + y.length > 0 && + C.length > 0 && + l.jsx("div", { + className: + "mx-1 my-1 h-px bg-vscode-dropdown-foreground/10", + }), + C.map((E) => R(E, !1)), + ], + }), + }), + l.jsxs("div", { + className: + "flex flex-row items-center justify-between p-2 border-t border-vscode-dropdown-border", + children: [ + l.jsx("div", { + className: "flex flex-row gap-1", + children: l.jsx(xh, { + iconClass: "codicon-settings-gear", + title: d("chat:edit"), + onClick: P, + }), + }), + l.jsxs("div", { + className: "flex items-center gap-1 pr-1", + children: [ + s.length > 6 && + l.jsx(We, { + content: d("prompts:apiConfiguration.select"), + children: l.jsx("span", { + className: + "codicon codicon-info text-xs text-vscode-descriptionForeground opacity-70 hover:opacity-100 cursor-help", + }), + }), + l.jsx("h4", { + className: "m-0 font-medium text-sm text-vscode-descriptionForeground", + children: d("prompts:apiConfiguration.title"), + }), + ], + }), + ], + }), + ], + }), + }), + ], + }) + } +var oh = { + folderNames: { + bot: "folder-robot", + ".bot": "folder-robot", + _bot: "folder-robot", + __bot__: "folder-robot", + robot: "folder-robot", + ".robot": "folder-robot", + _robot: "folder-robot", + __robot__: "folder-robot", + src: "folder-src", + ".src": "folder-src", + _src: "folder-src", + __src__: "folder-src", + srcs: "folder-src", + ".srcs": "folder-src", + _srcs: "folder-src", + __srcs__: "folder-src", + source: "folder-src", + ".source": "folder-src", + _source: "folder-src", + __source__: "folder-src", + sources: "folder-src", + ".sources": "folder-src", + _sources: "folder-src", + __sources__: "folder-src", + code: "folder-src", + ".code": "folder-src", + _code: "folder-src", + __code__: "folder-src", + dist: "folder-dist", + ".dist": "folder-dist", + _dist: "folder-dist", + __dist__: "folder-dist", + out: "folder-dist", + ".out": "folder-dist", + _out: "folder-dist", + __out__: "folder-dist", + build: "folder-dist", + ".build": "folder-dist", + _build: "folder-dist", + __build__: "folder-dist", + release: "folder-dist", + ".release": "folder-dist", + _release: "folder-dist", + __release__: "folder-dist", + bin: "folder-dist", + ".bin": "folder-dist", + _bin: "folder-dist", + __bin__: "folder-dist", + css: "folder-css", + ".css": "folder-css", + _css: "folder-css", + __css__: "folder-css", + stylesheet: "folder-css", + ".stylesheet": "folder-css", + _stylesheet: "folder-css", + __stylesheet__: "folder-css", + stylesheets: "folder-css", + ".stylesheets": "folder-css", + _stylesheets: "folder-css", + __stylesheets__: "folder-css", + style: "folder-css", + ".style": "folder-css", + _style: "folder-css", + __style__: "folder-css", + styles: "folder-css", + ".styles": "folder-css", + _styles: "folder-css", + __styles__: "folder-css", + sass: "folder-sass", + ".sass": "folder-sass", + _sass: "folder-sass", + __sass__: "folder-sass", + scss: "folder-sass", + ".scss": "folder-sass", + _scss: "folder-sass", + __scss__: "folder-sass", + tv: "folder-television", + ".tv": "folder-television", + _tv: "folder-television", + __tv__: "folder-television", + television: "folder-television", + ".television": "folder-television", + _television: "folder-television", + __television__: "folder-television", + desktop: "folder-desktop", + ".desktop": "folder-desktop", + _desktop: "folder-desktop", + __desktop__: "folder-desktop", + console: "folder-console", + ".console": "folder-console", + _console: "folder-console", + __console__: "folder-console", + images: "folder-images", + ".images": "folder-images", + _images: "folder-images", + __images__: "folder-images", + image: "folder-images", + ".image": "folder-images", + _image: "folder-images", + __image__: "folder-images", + imgs: "folder-images", + ".imgs": "folder-images", + _imgs: "folder-images", + __imgs__: "folder-images", + img: "folder-images", + ".img": "folder-images", + _img: "folder-images", + __img__: "folder-images", + icons: "folder-images", + ".icons": "folder-images", + _icons: "folder-images", + __icons__: "folder-images", + icon: "folder-images", + ".icon": "folder-images", + _icon: "folder-images", + __icon__: "folder-images", + icos: "folder-images", + ".icos": "folder-images", + _icos: "folder-images", + __icos__: "folder-images", + ico: "folder-images", + ".ico": "folder-images", + _ico: "folder-images", + __ico__: "folder-images", + figures: "folder-images", + ".figures": "folder-images", + _figures: "folder-images", + __figures__: "folder-images", + figure: "folder-images", + ".figure": "folder-images", + _figure: "folder-images", + __figure__: "folder-images", + figs: "folder-images", + ".figs": "folder-images", + _figs: "folder-images", + __figs__: "folder-images", + fig: "folder-images", + ".fig": "folder-images", + _fig: "folder-images", + __fig__: "folder-images", + screenshot: "folder-images", + ".screenshot": "folder-images", + _screenshot: "folder-images", + __screenshot__: "folder-images", + screenshots: "folder-images", + ".screenshots": "folder-images", + _screenshots: "folder-images", + __screenshots__: "folder-images", + screengrab: "folder-images", + ".screengrab": "folder-images", + _screengrab: "folder-images", + __screengrab__: "folder-images", + screengrabs: "folder-images", + ".screengrabs": "folder-images", + _screengrabs: "folder-images", + __screengrabs__: "folder-images", + pic: "folder-images", + ".pic": "folder-images", + _pic: "folder-images", + __pic__: "folder-images", + pics: "folder-images", + ".pics": "folder-images", + _pics: "folder-images", + __pics__: "folder-images", + picture: "folder-images", + ".picture": "folder-images", + _picture: "folder-images", + __picture__: "folder-images", + pictures: "folder-images", + ".pictures": "folder-images", + _pictures: "folder-images", + __pictures__: "folder-images", + photo: "folder-images", + ".photo": "folder-images", + _photo: "folder-images", + __photo__: "folder-images", + photos: "folder-images", + ".photos": "folder-images", + _photos: "folder-images", + __photos__: "folder-images", + photograph: "folder-images", + ".photograph": "folder-images", + _photograph: "folder-images", + __photograph__: "folder-images", + photographs: "folder-images", + ".photographs": "folder-images", + _photographs: "folder-images", + __photographs__: "folder-images", + script: "folder-scripts", + ".script": "folder-scripts", + _script: "folder-scripts", + __script__: "folder-scripts", + scripts: "folder-scripts", + ".scripts": "folder-scripts", + _scripts: "folder-scripts", + __scripts__: "folder-scripts", + scripting: "folder-scripts", + ".scripting": "folder-scripts", + _scripting: "folder-scripts", + __scripting__: "folder-scripts", + node_modules: "folder-node", + ".node_modules": "folder-node", + _node_modules: "folder-node", + __node_modules__: "folder-node", + js: "folder-javascript", + ".js": "folder-javascript", + _js: "folder-javascript", + __js__: "folder-javascript", + javascript: "folder-javascript", + ".javascript": "folder-javascript", + _javascript: "folder-javascript", + __javascript__: "folder-javascript", + javascripts: "folder-javascript", + ".javascripts": "folder-javascript", + _javascripts: "folder-javascript", + __javascripts__: "folder-javascript", + json: "folder-json", + ".json": "folder-json", + _json: "folder-json", + __json__: "folder-json", + jsons: "folder-json", + ".jsons": "folder-json", + _jsons: "folder-json", + __jsons__: "folder-json", + font: "folder-font", + ".font": "folder-font", + _font: "folder-font", + __font__: "folder-font", + fonts: "folder-font", + ".fonts": "folder-font", + _fonts: "folder-font", + __fonts__: "folder-font", + bower_components: "folder-bower", + ".bower_components": "folder-bower", + _bower_components: "folder-bower", + __bower_components__: "folder-bower", + test: "folder-test", + ".test": "folder-test", + _test: "folder-test", + __test__: "folder-test", + tests: "folder-test", + ".tests": "folder-test", + _tests: "folder-test", + __tests__: "folder-test", + testing: "folder-test", + ".testing": "folder-test", + _testing: "folder-test", + __testing__: "folder-test", + snapshots: "folder-test", + ".snapshots": "folder-test", + _snapshots: "folder-test", + __snapshots__: "folder-test", + spec: "folder-test", + ".spec": "folder-test", + _spec: "folder-test", + __spec__: "folder-test", + specs: "folder-test", + ".specs": "folder-test", + _specs: "folder-test", + __specs__: "folder-test", + jinja: "folder-jinja", + ".jinja": "folder-jinja", + _jinja: "folder-jinja", + __jinja__: "folder-jinja", + jinja2: "folder-jinja", + ".jinja2": "folder-jinja", + _jinja2: "folder-jinja", + __jinja2__: "folder-jinja", + j2: "folder-jinja", + ".j2": "folder-jinja", + _j2: "folder-jinja", + __j2__: "folder-jinja", + markdown: "folder-markdown", + ".markdown": "folder-markdown", + _markdown: "folder-markdown", + __markdown__: "folder-markdown", + md: "folder-markdown", + ".md": "folder-markdown", + _md: "folder-markdown", + __md__: "folder-markdown", + "pdm-plugins": "folder-pdm", + ".pdm-plugins": "folder-pdm", + "_pdm-plugins": "folder-pdm", + "__pdm-plugins__": "folder-pdm", + "pdm-build": "folder-pdm", + ".pdm-build": "folder-pdm", + "_pdm-build": "folder-pdm", + "__pdm-build__": "folder-pdm", + php: "folder-php", + ".php": "folder-php", + _php: "folder-php", + __php__: "folder-php", + phpmailer: "folder-phpmailer", + ".phpmailer": "folder-phpmailer", + _phpmailer: "folder-phpmailer", + __phpmailer__: "folder-phpmailer", + sublime: "folder-sublime", + ".sublime": "folder-sublime", + _sublime: "folder-sublime", + __sublime__: "folder-sublime", + doc: "folder-docs", + ".doc": "folder-docs", + _doc: "folder-docs", + __doc__: "folder-docs", + docs: "folder-docs", + ".docs": "folder-docs", + _docs: "folder-docs", + __docs__: "folder-docs", + document: "folder-docs", + ".document": "folder-docs", + _document: "folder-docs", + __document__: "folder-docs", + documents: "folder-docs", + ".documents": "folder-docs", + _documents: "folder-docs", + __documents__: "folder-docs", + documentation: "folder-docs", + ".documentation": "folder-docs", + _documentation: "folder-docs", + __documentation__: "folder-docs", + post: "folder-docs", + ".post": "folder-docs", + _post: "folder-docs", + __post__: "folder-docs", + posts: "folder-docs", + ".posts": "folder-docs", + _posts: "folder-docs", + __posts__: "folder-docs", + article: "folder-docs", + ".article": "folder-docs", + _article: "folder-docs", + __article__: "folder-docs", + articles: "folder-docs", + ".articles": "folder-docs", + _articles: "folder-docs", + __articles__: "folder-docs", + git: "folder-git", + ".git": "folder-git", + _git: "folder-git", + __git__: "folder-git", + patches: "folder-git", + ".patches": "folder-git", + _patches: "folder-git", + __patches__: "folder-git", + githooks: "folder-git", + ".githooks": "folder-git", + _githooks: "folder-git", + __githooks__: "folder-git", + submodules: "folder-git", + ".submodules": "folder-git", + _submodules: "folder-git", + __submodules__: "folder-git", + github: "folder-github", + ".github": "folder-github", + _github: "folder-github", + __github__: "folder-github", + gitlab: "folder-gitlab", + ".gitlab": "folder-gitlab", + _gitlab: "folder-gitlab", + __gitlab__: "folder-gitlab", + vscode: "folder-vscode", + ".vscode": "folder-vscode", + _vscode: "folder-vscode", + __vscode__: "folder-vscode", + "vscode-test": "folder-vscode", + ".vscode-test": "folder-vscode", + "_vscode-test": "folder-vscode", + "__vscode-test__": "folder-vscode", + view: "folder-views", + ".view": "folder-views", + _view: "folder-views", + __view__: "folder-views", + views: "folder-views", + ".views": "folder-views", + _views: "folder-views", + __views__: "folder-views", + screen: "folder-views", + ".screen": "folder-views", + _screen: "folder-views", + __screen__: "folder-views", + screens: "folder-views", + ".screens": "folder-views", + _screens: "folder-views", + __screens__: "folder-views", + page: "folder-views", + ".page": "folder-views", + _page: "folder-views", + __page__: "folder-views", + pages: "folder-views", + ".pages": "folder-views", + _pages: "folder-views", + __pages__: "folder-views", + public_html: "folder-views", + ".public_html": "folder-views", + _public_html: "folder-views", + __public_html__: "folder-views", + html: "folder-views", + ".html": "folder-views", + _html: "folder-views", + __html__: "folder-views", + vue: "folder-vue", + ".vue": "folder-vue", + _vue: "folder-vue", + __vue__: "folder-vue", + vuepress: "folder-vuepress", + ".vuepress": "folder-vuepress", + _vuepress: "folder-vuepress", + __vuepress__: "folder-vuepress", + expo: "folder-expo", + ".expo": "folder-expo", + _expo: "folder-expo", + __expo__: "folder-expo", + "expo-shared": "folder-expo", + ".expo-shared": "folder-expo", + "_expo-shared": "folder-expo", + "__expo-shared__": "folder-expo", + cfg: "folder-config", + ".cfg": "folder-config", + _cfg: "folder-config", + __cfg__: "folder-config", + cfgs: "folder-config", + ".cfgs": "folder-config", + _cfgs: "folder-config", + __cfgs__: "folder-config", + conf: "folder-config", + ".conf": "folder-config", + _conf: "folder-config", + __conf__: "folder-config", + confs: "folder-config", + ".confs": "folder-config", + _confs: "folder-config", + __confs__: "folder-config", + config: "folder-config", + ".config": "folder-config", + _config: "folder-config", + __config__: "folder-config", + configs: "folder-config", + ".configs": "folder-config", + _configs: "folder-config", + __configs__: "folder-config", + configuration: "folder-config", + ".configuration": "folder-config", + _configuration: "folder-config", + __configuration__: "folder-config", + configurations: "folder-config", + ".configurations": "folder-config", + _configurations: "folder-config", + __configurations__: "folder-config", + setting: "folder-config", + ".setting": "folder-config", + _setting: "folder-config", + __setting__: "folder-config", + settings: "folder-config", + ".settings": "folder-config", + _settings: "folder-config", + __settings__: "folder-config", + "META-INF": "folder-config", + ".META-INF": "folder-config", + "_META-INF": "folder-config", + "__META-INF__": "folder-config", + option: "folder-config", + ".option": "folder-config", + _option: "folder-config", + __option__: "folder-config", + options: "folder-config", + ".options": "folder-config", + _options: "folder-config", + __options__: "folder-config", + i18n: "folder-i18n", + ".i18n": "folder-i18n", + _i18n: "folder-i18n", + __i18n__: "folder-i18n", + internationalization: "folder-i18n", + ".internationalization": "folder-i18n", + _internationalization: "folder-i18n", + __internationalization__: "folder-i18n", + lang: "folder-i18n", + ".lang": "folder-i18n", + _lang: "folder-i18n", + __lang__: "folder-i18n", + langs: "folder-i18n", + ".langs": "folder-i18n", + _langs: "folder-i18n", + __langs__: "folder-i18n", + language: "folder-i18n", + ".language": "folder-i18n", + _language: "folder-i18n", + __language__: "folder-i18n", + languages: "folder-i18n", + ".languages": "folder-i18n", + _languages: "folder-i18n", + __languages__: "folder-i18n", + locale: "folder-i18n", + ".locale": "folder-i18n", + _locale: "folder-i18n", + __locale__: "folder-i18n", + locales: "folder-i18n", + ".locales": "folder-i18n", + _locales: "folder-i18n", + __locales__: "folder-i18n", + l10n: "folder-i18n", + ".l10n": "folder-i18n", + _l10n: "folder-i18n", + __l10n__: "folder-i18n", + localization: "folder-i18n", + ".localization": "folder-i18n", + _localization: "folder-i18n", + __localization__: "folder-i18n", + translation: "folder-i18n", + ".translation": "folder-i18n", + _translation: "folder-i18n", + __translation__: "folder-i18n", + translate: "folder-i18n", + ".translate": "folder-i18n", + _translate: "folder-i18n", + __translate__: "folder-i18n", + translations: "folder-i18n", + ".translations": "folder-i18n", + _translations: "folder-i18n", + __translations__: "folder-i18n", + tx: "folder-i18n", + ".tx": "folder-i18n", + _tx: "folder-i18n", + __tx__: "folder-i18n", + components: "folder-components", + ".components": "folder-components", + _components: "folder-components", + __components__: "folder-components", + widget: "folder-components", + ".widget": "folder-components", + _widget: "folder-components", + __widget__: "folder-components", + widgets: "folder-components", + ".widgets": "folder-components", + _widgets: "folder-components", + __widgets__: "folder-components", + fragments: "folder-components", + ".fragments": "folder-components", + _fragments: "folder-components", + __fragments__: "folder-components", + verdaccio: "folder-verdaccio", + ".verdaccio": "folder-verdaccio", + _verdaccio: "folder-verdaccio", + __verdaccio__: "folder-verdaccio", + aurelia_project: "folder-aurelia", + ".aurelia_project": "folder-aurelia", + _aurelia_project: "folder-aurelia", + __aurelia_project__: "folder-aurelia", + resource: "folder-resource", + ".resource": "folder-resource", + _resource: "folder-resource", + __resource__: "folder-resource", + resources: "folder-resource", + ".resources": "folder-resource", + _resources: "folder-resource", + __resources__: "folder-resource", + res: "folder-resource", + ".res": "folder-resource", + _res: "folder-resource", + __res__: "folder-resource", + asset: "folder-resource", + ".asset": "folder-resource", + _asset: "folder-resource", + __asset__: "folder-resource", + assets: "folder-resource", + ".assets": "folder-resource", + _assets: "folder-resource", + __assets__: "folder-resource", + static: "folder-resource", + ".static": "folder-resource", + _static: "folder-resource", + __static__: "folder-resource", + report: "folder-resource", + ".report": "folder-resource", + _report: "folder-resource", + __report__: "folder-resource", + reports: "folder-resource", + ".reports": "folder-resource", + _reports: "folder-resource", + __reports__: "folder-resource", + lib: "folder-lib", + ".lib": "folder-lib", + _lib: "folder-lib", + __lib__: "folder-lib", + libs: "folder-lib", + ".libs": "folder-lib", + _libs: "folder-lib", + __libs__: "folder-lib", + library: "folder-lib", + ".library": "folder-lib", + _library: "folder-lib", + __library__: "folder-lib", + libraries: "folder-lib", + ".libraries": "folder-lib", + _libraries: "folder-lib", + __libraries__: "folder-lib", + vendor: "folder-lib", + ".vendor": "folder-lib", + _vendor: "folder-lib", + __vendor__: "folder-lib", + vendors: "folder-lib", + ".vendors": "folder-lib", + _vendors: "folder-lib", + __vendors__: "folder-lib", + "third-party": "folder-lib", + ".third-party": "folder-lib", + "_third-party": "folder-lib", + "__third-party__": "folder-lib", + themes: "folder-theme", + ".themes": "folder-theme", + _themes: "folder-theme", + __themes__: "folder-theme", + theme: "folder-theme", + ".theme": "folder-theme", + _theme: "folder-theme", + __theme__: "folder-theme", + color: "folder-theme", + ".color": "folder-theme", + _color: "folder-theme", + __color__: "folder-theme", + colors: "folder-theme", + ".colors": "folder-theme", + _colors: "folder-theme", + __colors__: "folder-theme", + design: "folder-theme", + ".design": "folder-theme", + _design: "folder-theme", + __design__: "folder-theme", + designs: "folder-theme", + ".designs": "folder-theme", + _designs: "folder-theme", + __designs__: "folder-theme", + webpack: "folder-webpack", + ".webpack": "folder-webpack", + _webpack: "folder-webpack", + __webpack__: "folder-webpack", + global: "folder-global", + ".global": "folder-global", + _global: "folder-global", + __global__: "folder-global", + public: "folder-public", + ".public": "folder-public", + _public: "folder-public", + __public__: "folder-public", + www: "folder-public", + ".www": "folder-public", + _www: "folder-public", + __www__: "folder-public", + wwwroot: "folder-public", + ".wwwroot": "folder-public", + _wwwroot: "folder-public", + __wwwroot__: "folder-public", + web: "folder-public", + ".web": "folder-public", + _web: "folder-public", + __web__: "folder-public", + website: "folder-public", + ".website": "folder-public", + _website: "folder-public", + __website__: "folder-public", + site: "folder-public", + ".site": "folder-public", + _site: "folder-public", + __site__: "folder-public", + browser: "folder-public", + ".browser": "folder-public", + _browser: "folder-public", + __browser__: "folder-public", + browsers: "folder-public", + ".browsers": "folder-public", + _browsers: "folder-public", + __browsers__: "folder-public", + inc: "folder-include", + ".inc": "folder-include", + _inc: "folder-include", + __inc__: "folder-include", + include: "folder-include", + ".include": "folder-include", + _include: "folder-include", + __include__: "folder-include", + includes: "folder-include", + ".includes": "folder-include", + _includes: "folder-include", + __includes__: "folder-include", + partial: "folder-include", + ".partial": "folder-include", + _partial: "folder-include", + __partial__: "folder-include", + partials: "folder-include", + ".partials": "folder-include", + _partials: "folder-include", + __partials__: "folder-include", + docker: "folder-docker", + ".docker": "folder-docker", + _docker: "folder-docker", + __docker__: "folder-docker", + dockerfiles: "folder-docker", + ".dockerfiles": "folder-docker", + _dockerfiles: "folder-docker", + __dockerfiles__: "folder-docker", + db: "folder-database", + ".db": "folder-database", + _db: "folder-database", + __db__: "folder-database", + data: "folder-database", + ".data": "folder-database", + _data: "folder-database", + __data__: "folder-database", + database: "folder-database", + ".database": "folder-database", + _database: "folder-database", + __database__: "folder-database", + databases: "folder-database", + ".databases": "folder-database", + _databases: "folder-database", + __databases__: "folder-database", + sql: "folder-database", + ".sql": "folder-database", + _sql: "folder-database", + __sql__: "folder-database", + log: "folder-log", + ".log": "folder-log", + _log: "folder-log", + __log__: "folder-log", + logs: "folder-log", + ".logs": "folder-log", + _logs: "folder-log", + __logs__: "folder-log", + logging: "folder-log", + ".logging": "folder-log", + _logging: "folder-log", + __logging__: "folder-log", + target: "folder-target", + ".target": "folder-target", + _target: "folder-target", + __target__: "folder-target", + temp: "folder-temp", + ".temp": "folder-temp", + _temp: "folder-temp", + __temp__: "folder-temp", + tmp: "folder-temp", + ".tmp": "folder-temp", + _tmp: "folder-temp", + __tmp__: "folder-temp", + cached: "folder-temp", + ".cached": "folder-temp", + _cached: "folder-temp", + __cached__: "folder-temp", + cache: "folder-temp", + ".cache": "folder-temp", + _cache: "folder-temp", + __cache__: "folder-temp", + aws: "folder-aws", + ".aws": "folder-aws", + _aws: "folder-aws", + __aws__: "folder-aws", + aud: "folder-audio", + ".aud": "folder-audio", + _aud: "folder-audio", + __aud__: "folder-audio", + auds: "folder-audio", + ".auds": "folder-audio", + _auds: "folder-audio", + __auds__: "folder-audio", + audio: "folder-audio", + ".audio": "folder-audio", + _audio: "folder-audio", + __audio__: "folder-audio", + audios: "folder-audio", + ".audios": "folder-audio", + _audios: "folder-audio", + __audios__: "folder-audio", + music: "folder-audio", + ".music": "folder-audio", + _music: "folder-audio", + __music__: "folder-audio", + sound: "folder-audio", + ".sound": "folder-audio", + _sound: "folder-audio", + __sound__: "folder-audio", + sounds: "folder-audio", + ".sounds": "folder-audio", + _sounds: "folder-audio", + __sounds__: "folder-audio", + vid: "folder-video", + ".vid": "folder-video", + _vid: "folder-video", + __vid__: "folder-video", + vids: "folder-video", + ".vids": "folder-video", + _vids: "folder-video", + __vids__: "folder-video", + video: "folder-video", + ".video": "folder-video", + _video: "folder-video", + __video__: "folder-video", + videos: "folder-video", + ".videos": "folder-video", + _videos: "folder-video", + __videos__: "folder-video", + movie: "folder-video", + ".movie": "folder-video", + _movie: "folder-video", + __movie__: "folder-video", + movies: "folder-video", + ".movies": "folder-video", + _movies: "folder-video", + __movies__: "folder-video", + kubernetes: "folder-kubernetes", + ".kubernetes": "folder-kubernetes", + _kubernetes: "folder-kubernetes", + __kubernetes__: "folder-kubernetes", + k8s: "folder-kubernetes", + ".k8s": "folder-kubernetes", + _k8s: "folder-kubernetes", + __k8s__: "folder-kubernetes", + import: "folder-import", + ".import": "folder-import", + _import: "folder-import", + __import__: "folder-import", + imports: "folder-import", + ".imports": "folder-import", + _imports: "folder-import", + __imports__: "folder-import", + imported: "folder-import", + ".imported": "folder-import", + _imported: "folder-import", + __imported__: "folder-import", + export: "folder-export", + ".export": "folder-export", + _export: "folder-export", + __export__: "folder-export", + exports: "folder-export", + ".exports": "folder-export", + _exports: "folder-export", + __exports__: "folder-export", + exported: "folder-export", + ".exported": "folder-export", + _exported: "folder-export", + __exported__: "folder-export", + wakatime: "folder-wakatime", + ".wakatime": "folder-wakatime", + _wakatime: "folder-wakatime", + __wakatime__: "folder-wakatime", + circleci: "folder-circleci", + ".circleci": "folder-circleci", + _circleci: "folder-circleci", + __circleci__: "folder-circleci", + "wordpress-org": "folder-wordpress", + ".wordpress-org": "folder-wordpress", + "_wordpress-org": "folder-wordpress", + "__wordpress-org__": "folder-wordpress", + "wp-content": "folder-wordpress", + ".wp-content": "folder-wordpress", + "_wp-content": "folder-wordpress", + "__wp-content__": "folder-wordpress", + gradle: "folder-gradle", + ".gradle": "folder-gradle", + _gradle: "folder-gradle", + __gradle__: "folder-gradle", + coverage: "folder-coverage", + ".coverage": "folder-coverage", + _coverage: "folder-coverage", + __coverage__: "folder-coverage", + "nyc-output": "folder-coverage", + ".nyc-output": "folder-coverage", + "_nyc-output": "folder-coverage", + "__nyc-output__": "folder-coverage", + nyc_output: "folder-coverage", + ".nyc_output": "folder-coverage", + _nyc_output: "folder-coverage", + __nyc_output__: "folder-coverage", + e2e: "folder-coverage", + ".e2e": "folder-coverage", + _e2e: "folder-coverage", + __e2e__: "folder-coverage", + it: "folder-coverage", + ".it": "folder-coverage", + _it: "folder-coverage", + __it__: "folder-coverage", + "integration-test": "folder-coverage", + ".integration-test": "folder-coverage", + "_integration-test": "folder-coverage", + "__integration-test__": "folder-coverage", + "integration-tests": "folder-coverage", + ".integration-tests": "folder-coverage", + "_integration-tests": "folder-coverage", + "__integration-tests__": "folder-coverage", + class: "folder-class", + ".class": "folder-class", + _class: "folder-class", + __class__: "folder-class", + classes: "folder-class", + ".classes": "folder-class", + _classes: "folder-class", + __classes__: "folder-class", + model: "folder-class", + ".model": "folder-class", + _model: "folder-class", + __model__: "folder-class", + models: "folder-class", + ".models": "folder-class", + _models: "folder-class", + __models__: "folder-class", + schemas: "folder-class", + ".schemas": "folder-class", + _schemas: "folder-class", + __schemas__: "folder-class", + schema: "folder-class", + ".schema": "folder-class", + _schema: "folder-class", + __schema__: "folder-class", + other: "folder-other", + ".other": "folder-other", + _other: "folder-other", + __other__: "folder-other", + others: "folder-other", + ".others": "folder-other", + _others: "folder-other", + __others__: "folder-other", + misc: "folder-other", + ".misc": "folder-other", + _misc: "folder-other", + __misc__: "folder-other", + miscellaneous: "folder-other", + ".miscellaneous": "folder-other", + _miscellaneous: "folder-other", + __miscellaneous__: "folder-other", + extra: "folder-other", + ".extra": "folder-other", + _extra: "folder-other", + __extra__: "folder-other", + extras: "folder-other", + ".extras": "folder-other", + _extras: "folder-other", + __extras__: "folder-other", + etc: "folder-other", + ".etc": "folder-other", + _etc: "folder-other", + __etc__: "folder-other", + lua: "folder-lua", + ".lua": "folder-lua", + _lua: "folder-lua", + __lua__: "folder-lua", + typescript: "folder-typescript", + ".typescript": "folder-typescript", + _typescript: "folder-typescript", + __typescript__: "folder-typescript", + ts: "folder-typescript", + ".ts": "folder-typescript", + _ts: "folder-typescript", + __ts__: "folder-typescript", + typings: "folder-typescript", + ".typings": "folder-typescript", + _typings: "folder-typescript", + __typings__: "folder-typescript", + "@types": "folder-typescript", + ".@types": "folder-typescript", + "_@types": "folder-typescript", + "__@types__": "folder-typescript", + types: "folder-typescript", + ".types": "folder-typescript", + _types: "folder-typescript", + __types__: "folder-typescript", + graphql: "folder-graphql", + ".graphql": "folder-graphql", + _graphql: "folder-graphql", + __graphql__: "folder-graphql", + gql: "folder-graphql", + ".gql": "folder-graphql", + _gql: "folder-graphql", + __gql__: "folder-graphql", + routes: "folder-routes", + ".routes": "folder-routes", + _routes: "folder-routes", + __routes__: "folder-routes", + router: "folder-routes", + ".router": "folder-routes", + _router: "folder-routes", + __router__: "folder-routes", + routers: "folder-routes", + ".routers": "folder-routes", + _routers: "folder-routes", + __routers__: "folder-routes", + ci: "folder-ci", + ".ci": "folder-ci", + _ci: "folder-ci", + __ci__: "folder-ci", + benchmark: "folder-benchmark", + ".benchmark": "folder-benchmark", + _benchmark: "folder-benchmark", + __benchmark__: "folder-benchmark", + benchmarks: "folder-benchmark", + ".benchmarks": "folder-benchmark", + _benchmarks: "folder-benchmark", + __benchmarks__: "folder-benchmark", + performance: "folder-benchmark", + ".performance": "folder-benchmark", + _performance: "folder-benchmark", + __performance__: "folder-benchmark", + measure: "folder-benchmark", + ".measure": "folder-benchmark", + _measure: "folder-benchmark", + __measure__: "folder-benchmark", + measures: "folder-benchmark", + ".measures": "folder-benchmark", + _measures: "folder-benchmark", + __measures__: "folder-benchmark", + measurement: "folder-benchmark", + ".measurement": "folder-benchmark", + _measurement: "folder-benchmark", + __measurement__: "folder-benchmark", + messages: "folder-messages", + ".messages": "folder-messages", + _messages: "folder-messages", + __messages__: "folder-messages", + messaging: "folder-messages", + ".messaging": "folder-messages", + _messaging: "folder-messages", + __messaging__: "folder-messages", + forum: "folder-messages", + ".forum": "folder-messages", + _forum: "folder-messages", + __forum__: "folder-messages", + chat: "folder-messages", + ".chat": "folder-messages", + _chat: "folder-messages", + __chat__: "folder-messages", + chats: "folder-messages", + ".chats": "folder-messages", + _chats: "folder-messages", + __chats__: "folder-messages", + conversation: "folder-messages", + ".conversation": "folder-messages", + _conversation: "folder-messages", + __conversation__: "folder-messages", + conversations: "folder-messages", + ".conversations": "folder-messages", + _conversations: "folder-messages", + __conversations__: "folder-messages", + less: "folder-less", + ".less": "folder-less", + _less: "folder-less", + __less__: "folder-less", + gulp: "folder-gulp", + ".gulp": "folder-gulp", + _gulp: "folder-gulp", + __gulp__: "folder-gulp", + "gulp-tasks": "folder-gulp", + ".gulp-tasks": "folder-gulp", + "_gulp-tasks": "folder-gulp", + "__gulp-tasks__": "folder-gulp", + "gulpfile.js": "folder-gulp", + ".gulpfile.js": "folder-gulp", + "_gulpfile.js": "folder-gulp", + "__gulpfile.js__": "folder-gulp", + "gulpfile.mjs": "folder-gulp", + ".gulpfile.mjs": "folder-gulp", + "_gulpfile.mjs": "folder-gulp", + "__gulpfile.mjs__": "folder-gulp", + "gulpfile.ts": "folder-gulp", + ".gulpfile.ts": "folder-gulp", + "_gulpfile.ts": "folder-gulp", + "__gulpfile.ts__": "folder-gulp", + "gulpfile.babel.js": "folder-gulp", + ".gulpfile.babel.js": "folder-gulp", + "_gulpfile.babel.js": "folder-gulp", + "__gulpfile.babel.js__": "folder-gulp", + python: "folder-python", + ".python": "folder-python", + _python: "folder-python", + __python__: "folder-python", + pycache: "folder-python", + ".pycache": "folder-python", + _pycache: "folder-python", + __pycache__: "folder-python", + pytest_cache: "folder-python", + ".pytest_cache": "folder-python", + _pytest_cache: "folder-python", + __pytest_cache__: "folder-python", + mojo: "folder-mojo", + ".mojo": "folder-mojo", + _mojo: "folder-mojo", + __mojo__: "folder-mojo", + moon: "folder-moon", + ".moon": "folder-moon", + _moon: "folder-moon", + __moon__: "folder-moon", + debug: "folder-debug", + ".debug": "folder-debug", + _debug: "folder-debug", + __debug__: "folder-debug", + debugging: "folder-debug", + ".debugging": "folder-debug", + _debugging: "folder-debug", + __debugging__: "folder-debug", + fastlane: "folder-fastlane", + ".fastlane": "folder-fastlane", + _fastlane: "folder-fastlane", + __fastlane__: "folder-fastlane", + plugin: "folder-plugin", + ".plugin": "folder-plugin", + _plugin: "folder-plugin", + __plugin__: "folder-plugin", + plugins: "folder-plugin", + ".plugins": "folder-plugin", + _plugins: "folder-plugin", + __plugins__: "folder-plugin", + mod: "folder-plugin", + ".mod": "folder-plugin", + _mod: "folder-plugin", + __mod__: "folder-plugin", + mods: "folder-plugin", + ".mods": "folder-plugin", + _mods: "folder-plugin", + __mods__: "folder-plugin", + modding: "folder-plugin", + ".modding": "folder-plugin", + _modding: "folder-plugin", + __modding__: "folder-plugin", + extension: "folder-plugin", + ".extension": "folder-plugin", + _extension: "folder-plugin", + __extension__: "folder-plugin", + extensions: "folder-plugin", + ".extensions": "folder-plugin", + _extensions: "folder-plugin", + __extensions__: "folder-plugin", + addon: "folder-plugin", + ".addon": "folder-plugin", + _addon: "folder-plugin", + __addon__: "folder-plugin", + addons: "folder-plugin", + ".addons": "folder-plugin", + _addons: "folder-plugin", + __addons__: "folder-plugin", + module: "folder-plugin", + ".module": "folder-plugin", + _module: "folder-plugin", + __module__: "folder-plugin", + modules: "folder-plugin", + ".modules": "folder-plugin", + _modules: "folder-plugin", + __modules__: "folder-plugin", + middleware: "folder-middleware", + ".middleware": "folder-middleware", + _middleware: "folder-middleware", + __middleware__: "folder-middleware", + middlewares: "folder-middleware", + ".middlewares": "folder-middleware", + _middlewares: "folder-middleware", + __middlewares__: "folder-middleware", + controller: "folder-controller", + ".controller": "folder-controller", + _controller: "folder-controller", + __controller__: "folder-controller", + controllers: "folder-controller", + ".controllers": "folder-controller", + _controllers: "folder-controller", + __controllers__: "folder-controller", + service: "folder-controller", + ".service": "folder-controller", + _service: "folder-controller", + __service__: "folder-controller", + services: "folder-controller", + ".services": "folder-controller", + _services: "folder-controller", + __services__: "folder-controller", + provider: "folder-controller", + ".provider": "folder-controller", + _provider: "folder-controller", + __provider__: "folder-controller", + providers: "folder-controller", + ".providers": "folder-controller", + _providers: "folder-controller", + __providers__: "folder-controller", + handler: "folder-controller", + ".handler": "folder-controller", + _handler: "folder-controller", + __handler__: "folder-controller", + handlers: "folder-controller", + ".handlers": "folder-controller", + _handlers: "folder-controller", + __handlers__: "folder-controller", + ansible: "folder-ansible", + ".ansible": "folder-ansible", + _ansible: "folder-ansible", + __ansible__: "folder-ansible", + server: "folder-server", + ".server": "folder-server", + _server: "folder-server", + __server__: "folder-server", + servers: "folder-server", + ".servers": "folder-server", + _servers: "folder-server", + __servers__: "folder-server", + backend: "folder-server", + ".backend": "folder-server", + _backend: "folder-server", + __backend__: "folder-server", + backends: "folder-server", + ".backends": "folder-server", + _backends: "folder-server", + __backends__: "folder-server", + client: "folder-client", + ".client": "folder-client", + _client: "folder-client", + __client__: "folder-client", + clients: "folder-client", + ".clients": "folder-client", + _clients: "folder-client", + __clients__: "folder-client", + frontend: "folder-client", + ".frontend": "folder-client", + _frontend: "folder-client", + __frontend__: "folder-client", + frontends: "folder-client", + ".frontends": "folder-client", + _frontends: "folder-client", + __frontends__: "folder-client", + pwa: "folder-client", + ".pwa": "folder-client", + _pwa: "folder-client", + __pwa__: "folder-client", + tasks: "folder-tasks", + ".tasks": "folder-tasks", + _tasks: "folder-tasks", + __tasks__: "folder-tasks", + tickets: "folder-tasks", + ".tickets": "folder-tasks", + _tickets: "folder-tasks", + __tickets__: "folder-tasks", + android: "folder-android", + ".android": "folder-android", + _android: "folder-android", + __android__: "folder-android", + ios: "folder-ios", + ".ios": "folder-ios", + _ios: "folder-ios", + __ios__: "folder-ios", + uploads: "folder-upload", + ".uploads": "folder-upload", + _uploads: "folder-upload", + __uploads__: "folder-upload", + upload: "folder-upload", + ".upload": "folder-upload", + _upload: "folder-upload", + __upload__: "folder-upload", + downloads: "folder-download", + ".downloads": "folder-download", + _downloads: "folder-download", + __downloads__: "folder-download", + download: "folder-download", + ".download": "folder-download", + _download: "folder-download", + __download__: "folder-download", + tools: "folder-tools", + ".tools": "folder-tools", + _tools: "folder-tools", + __tools__: "folder-tools", + toolkit: "folder-tools", + ".toolkit": "folder-tools", + _toolkit: "folder-tools", + __toolkit__: "folder-tools", + toolkits: "folder-tools", + ".toolkits": "folder-tools", + _toolkits: "folder-tools", + __toolkits__: "folder-tools", + toolbox: "folder-tools", + ".toolbox": "folder-tools", + _toolbox: "folder-tools", + __toolbox__: "folder-tools", + toolboxes: "folder-tools", + ".toolboxes": "folder-tools", + _toolboxes: "folder-tools", + __toolboxes__: "folder-tools", + tooling: "folder-tools", + ".tooling": "folder-tools", + _tooling: "folder-tools", + __tooling__: "folder-tools", + helpers: "folder-helper", + ".helpers": "folder-helper", + _helpers: "folder-helper", + __helpers__: "folder-helper", + helper: "folder-helper", + ".helper": "folder-helper", + _helper: "folder-helper", + __helper__: "folder-helper", + serverless: "folder-serverless", + ".serverless": "folder-serverless", + _serverless: "folder-serverless", + __serverless__: "folder-serverless", + api: "folder-api", + ".api": "folder-api", + _api: "folder-api", + __api__: "folder-api", + apis: "folder-api", + ".apis": "folder-api", + _apis: "folder-api", + __apis__: "folder-api", + restapi: "folder-api", + ".restapi": "folder-api", + _restapi: "folder-api", + __restapi__: "folder-api", + app: "folder-app", + ".app": "folder-app", + _app: "folder-app", + __app__: "folder-app", + apps: "folder-app", + ".apps": "folder-app", + _apps: "folder-app", + __apps__: "folder-app", + apollo: "folder-apollo", + ".apollo": "folder-apollo", + _apollo: "folder-apollo", + __apollo__: "folder-apollo", + "apollo-client": "folder-apollo", + ".apollo-client": "folder-apollo", + "_apollo-client": "folder-apollo", + "__apollo-client__": "folder-apollo", + "apollo-cache": "folder-apollo", + ".apollo-cache": "folder-apollo", + "_apollo-cache": "folder-apollo", + "__apollo-cache__": "folder-apollo", + "apollo-config": "folder-apollo", + ".apollo-config": "folder-apollo", + "_apollo-config": "folder-apollo", + "__apollo-config__": "folder-apollo", + arc: "folder-archive", + ".arc": "folder-archive", + _arc: "folder-archive", + __arc__: "folder-archive", + arcs: "folder-archive", + ".arcs": "folder-archive", + _arcs: "folder-archive", + __arcs__: "folder-archive", + archive: "folder-archive", + ".archive": "folder-archive", + _archive: "folder-archive", + __archive__: "folder-archive", + archives: "folder-archive", + ".archives": "folder-archive", + _archives: "folder-archive", + __archives__: "folder-archive", + archival: "folder-archive", + ".archival": "folder-archive", + _archival: "folder-archive", + __archival__: "folder-archive", + bkp: "folder-archive", + ".bkp": "folder-archive", + _bkp: "folder-archive", + __bkp__: "folder-archive", + bkps: "folder-archive", + ".bkps": "folder-archive", + _bkps: "folder-archive", + __bkps__: "folder-archive", + bak: "folder-archive", + ".bak": "folder-archive", + _bak: "folder-archive", + __bak__: "folder-archive", + baks: "folder-archive", + ".baks": "folder-archive", + _baks: "folder-archive", + __baks__: "folder-archive", + backup: "folder-archive", + ".backup": "folder-archive", + _backup: "folder-archive", + __backup__: "folder-archive", + backups: "folder-archive", + ".backups": "folder-archive", + _backups: "folder-archive", + __backups__: "folder-archive", + "back-up": "folder-archive", + ".back-up": "folder-archive", + "_back-up": "folder-archive", + "__back-up__": "folder-archive", + "back-ups": "folder-archive", + ".back-ups": "folder-archive", + "_back-ups": "folder-archive", + "__back-ups__": "folder-archive", + history: "folder-archive", + ".history": "folder-archive", + _history: "folder-archive", + __history__: "folder-archive", + histories: "folder-archive", + ".histories": "folder-archive", + _histories: "folder-archive", + __histories__: "folder-archive", + batch: "folder-batch", + ".batch": "folder-batch", + _batch: "folder-batch", + __batch__: "folder-batch", + batchs: "folder-batch", + ".batchs": "folder-batch", + _batchs: "folder-batch", + __batchs__: "folder-batch", + batches: "folder-batch", + ".batches": "folder-batch", + _batches: "folder-batch", + __batches__: "folder-batch", + buildkite: "folder-buildkite", + ".buildkite": "folder-buildkite", + _buildkite: "folder-buildkite", + __buildkite__: "folder-buildkite", + cluster: "folder-cluster", + ".cluster": "folder-cluster", + _cluster: "folder-cluster", + __cluster__: "folder-cluster", + clusters: "folder-cluster", + ".clusters": "folder-cluster", + _clusters: "folder-cluster", + __clusters__: "folder-cluster", + command: "folder-command", + ".command": "folder-command", + _command: "folder-command", + __command__: "folder-command", + commands: "folder-command", + ".commands": "folder-command", + _commands: "folder-command", + __commands__: "folder-command", + cmd: "folder-command", + ".cmd": "folder-command", + _cmd: "folder-command", + __cmd__: "folder-command", + cli: "folder-command", + ".cli": "folder-command", + _cli: "folder-command", + __cli__: "folder-command", + clis: "folder-command", + ".clis": "folder-command", + _clis: "folder-command", + __clis__: "folder-command", + constant: "folder-constant", + ".constant": "folder-constant", + _constant: "folder-constant", + __constant__: "folder-constant", + constants: "folder-constant", + ".constants": "folder-constant", + _constants: "folder-constant", + __constants__: "folder-constant", + container: "folder-container", + ".container": "folder-container", + _container: "folder-container", + __container__: "folder-container", + containers: "folder-container", + ".containers": "folder-container", + _containers: "folder-container", + __containers__: "folder-container", + devcontainer: "folder-container", + ".devcontainer": "folder-container", + _devcontainer: "folder-container", + __devcontainer__: "folder-container", + content: "folder-content", + ".content": "folder-content", + _content: "folder-content", + __content__: "folder-content", + contents: "folder-content", + ".contents": "folder-content", + _contents: "folder-content", + __contents__: "folder-content", + context: "folder-context", + ".context": "folder-context", + _context: "folder-context", + __context__: "folder-context", + contexts: "folder-context", + ".contexts": "folder-context", + _contexts: "folder-context", + __contexts__: "folder-context", + core: "folder-core", + ".core": "folder-core", + _core: "folder-core", + __core__: "folder-core", + delta: "folder-delta", + ".delta": "folder-delta", + _delta: "folder-delta", + __delta__: "folder-delta", + deltas: "folder-delta", + ".deltas": "folder-delta", + _deltas: "folder-delta", + __deltas__: "folder-delta", + changes: "folder-delta", + ".changes": "folder-delta", + _changes: "folder-delta", + __changes__: "folder-delta", + dump: "folder-dump", + ".dump": "folder-dump", + _dump: "folder-dump", + __dump__: "folder-dump", + dumps: "folder-dump", + ".dumps": "folder-dump", + _dumps: "folder-dump", + __dumps__: "folder-dump", + demo: "folder-examples", + ".demo": "folder-examples", + _demo: "folder-examples", + __demo__: "folder-examples", + demos: "folder-examples", + ".demos": "folder-examples", + _demos: "folder-examples", + __demos__: "folder-examples", + example: "folder-examples", + ".example": "folder-examples", + _example: "folder-examples", + __example__: "folder-examples", + examples: "folder-examples", + ".examples": "folder-examples", + _examples: "folder-examples", + __examples__: "folder-examples", + sample: "folder-examples", + ".sample": "folder-examples", + _sample: "folder-examples", + __sample__: "folder-examples", + samples: "folder-examples", + ".samples": "folder-examples", + _samples: "folder-examples", + __samples__: "folder-examples", + "sample-data": "folder-examples", + ".sample-data": "folder-examples", + "_sample-data": "folder-examples", + "__sample-data__": "folder-examples", + env: "folder-environment", + ".env": "folder-environment", + _env: "folder-environment", + __env__: "folder-environment", + envs: "folder-environment", + ".envs": "folder-environment", + _envs: "folder-environment", + __envs__: "folder-environment", + environment: "folder-environment", + ".environment": "folder-environment", + _environment: "folder-environment", + __environment__: "folder-environment", + environments: "folder-environment", + ".environments": "folder-environment", + _environments: "folder-environment", + __environments__: "folder-environment", + venv: "folder-environment", + ".venv": "folder-environment", + _venv: "folder-environment", + __venv__: "folder-environment", + func: "folder-functions", + ".func": "folder-functions", + _func: "folder-functions", + __func__: "folder-functions", + funcs: "folder-functions", + ".funcs": "folder-functions", + _funcs: "folder-functions", + __funcs__: "folder-functions", + function: "folder-functions", + ".function": "folder-functions", + _function: "folder-functions", + __function__: "folder-functions", + functions: "folder-functions", + ".functions": "folder-functions", + _functions: "folder-functions", + __functions__: "folder-functions", + lambda: "folder-functions", + ".lambda": "folder-functions", + _lambda: "folder-functions", + __lambda__: "folder-functions", + lambdas: "folder-functions", + ".lambdas": "folder-functions", + _lambdas: "folder-functions", + __lambdas__: "folder-functions", + logic: "folder-functions", + ".logic": "folder-functions", + _logic: "folder-functions", + __logic__: "folder-functions", + math: "folder-functions", + ".math": "folder-functions", + _math: "folder-functions", + __math__: "folder-functions", + maths: "folder-functions", + ".maths": "folder-functions", + _maths: "folder-functions", + __maths__: "folder-functions", + calc: "folder-functions", + ".calc": "folder-functions", + _calc: "folder-functions", + __calc__: "folder-functions", + calcs: "folder-functions", + ".calcs": "folder-functions", + _calcs: "folder-functions", + __calcs__: "folder-functions", + calculation: "folder-functions", + ".calculation": "folder-functions", + _calculation: "folder-functions", + __calculation__: "folder-functions", + calculations: "folder-functions", + ".calculations": "folder-functions", + _calculations: "folder-functions", + __calculations__: "folder-functions", + generator: "folder-generator", + ".generator": "folder-generator", + _generator: "folder-generator", + __generator__: "folder-generator", + generators: "folder-generator", + ".generators": "folder-generator", + _generators: "folder-generator", + __generators__: "folder-generator", + generated: "folder-generator", + ".generated": "folder-generator", + _generated: "folder-generator", + __generated__: "folder-generator", + "cfn-gen": "folder-generator", + ".cfn-gen": "folder-generator", + "_cfn-gen": "folder-generator", + "__cfn-gen__": "folder-generator", + gen: "folder-generator", + ".gen": "folder-generator", + _gen: "folder-generator", + __gen__: "folder-generator", + gens: "folder-generator", + ".gens": "folder-generator", + _gens: "folder-generator", + __gens__: "folder-generator", + auto: "folder-generator", + ".auto": "folder-generator", + _auto: "folder-generator", + __auto__: "folder-generator", + hook: "folder-hook", + ".hook": "folder-hook", + _hook: "folder-hook", + __hook__: "folder-hook", + hooks: "folder-hook", + ".hooks": "folder-hook", + _hooks: "folder-hook", + __hooks__: "folder-hook", + trigger: "folder-hook", + ".trigger": "folder-hook", + _trigger: "folder-hook", + __trigger__: "folder-hook", + triggers: "folder-hook", + ".triggers": "folder-hook", + _triggers: "folder-hook", + __triggers__: "folder-hook", + job: "folder-job", + ".job": "folder-job", + _job: "folder-job", + __job__: "folder-job", + jobs: "folder-job", + ".jobs": "folder-job", + _jobs: "folder-job", + __jobs__: "folder-job", + key: "folder-keys", + ".key": "folder-keys", + _key: "folder-keys", + __key__: "folder-keys", + keys: "folder-keys", + ".keys": "folder-keys", + _keys: "folder-keys", + __keys__: "folder-keys", + token: "folder-keys", + ".token": "folder-keys", + _token: "folder-keys", + __token__: "folder-keys", + tokens: "folder-keys", + ".tokens": "folder-keys", + _tokens: "folder-keys", + __tokens__: "folder-keys", + jwt: "folder-keys", + ".jwt": "folder-keys", + _jwt: "folder-keys", + __jwt__: "folder-keys", + secret: "folder-keys", + ".secret": "folder-keys", + _secret: "folder-keys", + __secret__: "folder-keys", + secrets: "folder-keys", + ".secrets": "folder-keys", + _secrets: "folder-keys", + __secrets__: "folder-keys", + layout: "folder-layout", + ".layout": "folder-layout", + _layout: "folder-layout", + __layout__: "folder-layout", + layouts: "folder-layout", + ".layouts": "folder-layout", + _layouts: "folder-layout", + __layouts__: "folder-layout", + mail: "folder-mail", + ".mail": "folder-mail", + _mail: "folder-mail", + __mail__: "folder-mail", + mails: "folder-mail", + ".mails": "folder-mail", + _mails: "folder-mail", + __mails__: "folder-mail", + email: "folder-mail", + ".email": "folder-mail", + _email: "folder-mail", + __email__: "folder-mail", + emails: "folder-mail", + ".emails": "folder-mail", + _emails: "folder-mail", + __emails__: "folder-mail", + smtp: "folder-mail", + ".smtp": "folder-mail", + _smtp: "folder-mail", + __smtp__: "folder-mail", + mailers: "folder-mail", + ".mailers": "folder-mail", + _mailers: "folder-mail", + __mailers__: "folder-mail", + mappings: "folder-mappings", + ".mappings": "folder-mappings", + _mappings: "folder-mappings", + __mappings__: "folder-mappings", + mapping: "folder-mappings", + ".mapping": "folder-mappings", + _mapping: "folder-mappings", + __mapping__: "folder-mappings", + meta: "folder-meta", + ".meta": "folder-meta", + _meta: "folder-meta", + __meta__: "folder-meta", + changesets: "folder-changesets", + ".changesets": "folder-changesets", + _changesets: "folder-changesets", + __changesets__: "folder-changesets", + changeset: "folder-changesets", + ".changeset": "folder-changesets", + _changeset: "folder-changesets", + __changeset__: "folder-changesets", + package: "folder-packages", + ".package": "folder-packages", + _package: "folder-packages", + __package__: "folder-packages", + packages: "folder-packages", + ".packages": "folder-packages", + _packages: "folder-packages", + __packages__: "folder-packages", + pkg: "folder-packages", + ".pkg": "folder-packages", + _pkg: "folder-packages", + __pkg__: "folder-packages", + pkgs: "folder-packages", + ".pkgs": "folder-packages", + _pkgs: "folder-packages", + __pkgs__: "folder-packages", + shared: "folder-shared", + ".shared": "folder-shared", + _shared: "folder-shared", + __shared__: "folder-shared", + common: "folder-shared", + ".common": "folder-shared", + _common: "folder-shared", + __common__: "folder-shared", + glsl: "folder-shader", + ".glsl": "folder-shader", + _glsl: "folder-shader", + __glsl__: "folder-shader", + hlsl: "folder-shader", + ".hlsl": "folder-shader", + _hlsl: "folder-shader", + __hlsl__: "folder-shader", + shader: "folder-shader", + ".shader": "folder-shader", + _shader: "folder-shader", + __shader__: "folder-shader", + shaders: "folder-shader", + ".shaders": "folder-shader", + _shaders: "folder-shader", + __shaders__: "folder-shader", + stack: "folder-stack", + ".stack": "folder-stack", + _stack: "folder-stack", + __stack__: "folder-stack", + stacks: "folder-stack", + ".stacks": "folder-stack", + _stacks: "folder-stack", + __stacks__: "folder-stack", + template: "folder-template", + ".template": "folder-template", + _template: "folder-template", + __template__: "folder-template", + templates: "folder-template", + ".templates": "folder-template", + _templates: "folder-template", + __templates__: "folder-template", + util: "folder-utils", + ".util": "folder-utils", + _util: "folder-utils", + __util__: "folder-utils", + utils: "folder-utils", + ".utils": "folder-utils", + _utils: "folder-utils", + __utils__: "folder-utils", + utility: "folder-utils", + ".utility": "folder-utils", + _utility: "folder-utils", + __utility__: "folder-utils", + utilities: "folder-utils", + ".utilities": "folder-utils", + _utilities: "folder-utils", + __utilities__: "folder-utils", + supabase: "folder-supabase", + ".supabase": "folder-supabase", + _supabase: "folder-supabase", + __supabase__: "folder-supabase", + private: "folder-private", + ".private": "folder-private", + _private: "folder-private", + __private__: "folder-private", + linux: "folder-linux", + ".linux": "folder-linux", + _linux: "folder-linux", + __linux__: "folder-linux", + linuxbsd: "folder-linux", + ".linuxbsd": "folder-linux", + _linuxbsd: "folder-linux", + __linuxbsd__: "folder-linux", + unix: "folder-linux", + ".unix": "folder-linux", + _unix: "folder-linux", + __unix__: "folder-linux", + windows: "folder-windows", + ".windows": "folder-windows", + _windows: "folder-windows", + __windows__: "folder-windows", + win: "folder-windows", + ".win": "folder-windows", + _win: "folder-windows", + __win__: "folder-windows", + macos: "folder-macos", + ".macos": "folder-macos", + _macos: "folder-macos", + __macos__: "folder-macos", + mac: "folder-macos", + ".mac": "folder-macos", + _mac: "folder-macos", + __mac__: "folder-macos", + DS_Store: "folder-macos", + ".DS_Store": "folder-macos", + _DS_Store: "folder-macos", + __DS_Store__: "folder-macos", + error: "folder-error", + ".error": "folder-error", + _error: "folder-error", + __error__: "folder-error", + errors: "folder-error", + ".errors": "folder-error", + _errors: "folder-error", + __errors__: "folder-error", + err: "folder-error", + ".err": "folder-error", + _err: "folder-error", + __err__: "folder-error", + errs: "folder-error", + ".errs": "folder-error", + _errs: "folder-error", + __errs__: "folder-error", + crash: "folder-error", + ".crash": "folder-error", + _crash: "folder-error", + __crash__: "folder-error", + crashes: "folder-error", + ".crashes": "folder-error", + _crashes: "folder-error", + __crashes__: "folder-error", + event: "folder-event", + ".event": "folder-event", + _event: "folder-event", + __event__: "folder-event", + events: "folder-event", + ".events": "folder-event", + _events: "folder-event", + __events__: "folder-event", + auth: "folder-secure", + ".auth": "folder-secure", + _auth: "folder-secure", + __auth__: "folder-secure", + authentication: "folder-secure", + ".authentication": "folder-secure", + _authentication: "folder-secure", + __authentication__: "folder-secure", + secure: "folder-secure", + ".secure": "folder-secure", + _secure: "folder-secure", + __secure__: "folder-secure", + security: "folder-secure", + ".security": "folder-secure", + _security: "folder-secure", + __security__: "folder-secure", + cert: "folder-secure", + ".cert": "folder-secure", + _cert: "folder-secure", + __cert__: "folder-secure", + certs: "folder-secure", + ".certs": "folder-secure", + _certs: "folder-secure", + __certs__: "folder-secure", + certificate: "folder-secure", + ".certificate": "folder-secure", + _certificate: "folder-secure", + __certificate__: "folder-secure", + certificates: "folder-secure", + ".certificates": "folder-secure", + _certificates: "folder-secure", + __certificates__: "folder-secure", + ssl: "folder-secure", + ".ssl": "folder-secure", + _ssl: "folder-secure", + __ssl__: "folder-secure", + custom: "folder-custom", + ".custom": "folder-custom", + _custom: "folder-custom", + __custom__: "folder-custom", + customs: "folder-custom", + ".customs": "folder-custom", + _customs: "folder-custom", + __customs__: "folder-custom", + draft: "folder-mock", + ".draft": "folder-mock", + _draft: "folder-mock", + __draft__: "folder-mock", + drafts: "folder-mock", + ".drafts": "folder-mock", + _drafts: "folder-mock", + __drafts__: "folder-mock", + mock: "folder-mock", + ".mock": "folder-mock", + _mock: "folder-mock", + __mock__: "folder-mock", + mocks: "folder-mock", + ".mocks": "folder-mock", + _mocks: "folder-mock", + __mocks__: "folder-mock", + fixture: "folder-mock", + ".fixture": "folder-mock", + _fixture: "folder-mock", + __fixture__: "folder-mock", + fixtures: "folder-mock", + ".fixtures": "folder-mock", + _fixtures: "folder-mock", + __fixtures__: "folder-mock", + concept: "folder-mock", + ".concept": "folder-mock", + _concept: "folder-mock", + __concept__: "folder-mock", + concepts: "folder-mock", + ".concepts": "folder-mock", + _concepts: "folder-mock", + __concepts__: "folder-mock", + sketch: "folder-mock", + ".sketch": "folder-mock", + _sketch: "folder-mock", + __sketch__: "folder-mock", + sketches: "folder-mock", + ".sketches": "folder-mock", + _sketches: "folder-mock", + __sketches__: "folder-mock", + syntax: "folder-syntax", + ".syntax": "folder-syntax", + _syntax: "folder-syntax", + __syntax__: "folder-syntax", + syntaxes: "folder-syntax", + ".syntaxes": "folder-syntax", + _syntaxes: "folder-syntax", + __syntaxes__: "folder-syntax", + spellcheck: "folder-syntax", + ".spellcheck": "folder-syntax", + _spellcheck: "folder-syntax", + __spellcheck__: "folder-syntax", + vm: "folder-vm", + ".vm": "folder-vm", + _vm: "folder-vm", + __vm__: "folder-vm", + vms: "folder-vm", + ".vms": "folder-vm", + _vms: "folder-vm", + __vms__: "folder-vm", + stylus: "folder-stylus", + ".stylus": "folder-stylus", + _stylus: "folder-stylus", + __stylus__: "folder-stylus", + "flow-typed": "folder-flow", + ".flow-typed": "folder-flow", + "_flow-typed": "folder-flow", + "__flow-typed__": "folder-flow", + rule: "folder-rules", + ".rule": "folder-rules", + _rule: "folder-rules", + __rule__: "folder-rules", + rules: "folder-rules", + ".rules": "folder-rules", + _rules: "folder-rules", + __rules__: "folder-rules", + validation: "folder-rules", + ".validation": "folder-rules", + _validation: "folder-rules", + __validation__: "folder-rules", + validations: "folder-rules", + ".validations": "folder-rules", + _validations: "folder-rules", + __validations__: "folder-rules", + validator: "folder-rules", + ".validator": "folder-rules", + _validator: "folder-rules", + __validator__: "folder-rules", + validators: "folder-rules", + ".validators": "folder-rules", + _validators: "folder-rules", + __validators__: "folder-rules", + review: "folder-review", + ".review": "folder-review", + _review: "folder-review", + __review__: "folder-review", + reviews: "folder-review", + ".reviews": "folder-review", + _reviews: "folder-review", + __reviews__: "folder-review", + revisal: "folder-review", + ".revisal": "folder-review", + _revisal: "folder-review", + __revisal__: "folder-review", + revisals: "folder-review", + ".revisals": "folder-review", + _revisals: "folder-review", + __revisals__: "folder-review", + reviewed: "folder-review", + ".reviewed": "folder-review", + _reviewed: "folder-review", + __reviewed__: "folder-review", + anim: "folder-animation", + ".anim": "folder-animation", + _anim: "folder-animation", + __anim__: "folder-animation", + anims: "folder-animation", + ".anims": "folder-animation", + _anims: "folder-animation", + __anims__: "folder-animation", + animation: "folder-animation", + ".animation": "folder-animation", + _animation: "folder-animation", + __animation__: "folder-animation", + animations: "folder-animation", + ".animations": "folder-animation", + _animations: "folder-animation", + __animations__: "folder-animation", + animated: "folder-animation", + ".animated": "folder-animation", + _animated: "folder-animation", + __animated__: "folder-animation", + guard: "folder-guard", + ".guard": "folder-guard", + _guard: "folder-guard", + __guard__: "folder-guard", + guards: "folder-guard", + ".guards": "folder-guard", + _guards: "folder-guard", + __guards__: "folder-guard", + prisma: "folder-prisma", + ".prisma": "folder-prisma", + _prisma: "folder-prisma", + __prisma__: "folder-prisma", + pipe: "folder-pipe", + ".pipe": "folder-pipe", + _pipe: "folder-pipe", + __pipe__: "folder-pipe", + pipes: "folder-pipe", + ".pipes": "folder-pipe", + _pipes: "folder-pipe", + __pipes__: "folder-pipe", + svg: "folder-svg", + ".svg": "folder-svg", + _svg: "folder-svg", + __svg__: "folder-svg", + svgs: "folder-svg", + ".svgs": "folder-svg", + _svgs: "folder-svg", + __svgs__: "folder-svg", + terraform: "folder-terraform", + ".terraform": "folder-terraform", + _terraform: "folder-terraform", + __terraform__: "folder-terraform", + mobile: "folder-mobile", + ".mobile": "folder-mobile", + _mobile: "folder-mobile", + __mobile__: "folder-mobile", + mobiles: "folder-mobile", + ".mobiles": "folder-mobile", + _mobiles: "folder-mobile", + __mobiles__: "folder-mobile", + portable: "folder-mobile", + ".portable": "folder-mobile", + _portable: "folder-mobile", + __portable__: "folder-mobile", + portability: "folder-mobile", + ".portability": "folder-mobile", + _portability: "folder-mobile", + __portability__: "folder-mobile", + stencil: "folder-stencil", + ".stencil": "folder-stencil", + _stencil: "folder-stencil", + __stencil__: "folder-stencil", + firebase: "folder-firebase", + ".firebase": "folder-firebase", + _firebase: "folder-firebase", + __firebase__: "folder-firebase", + svelte: "folder-svelte", + ".svelte": "folder-svelte", + _svelte: "folder-svelte", + __svelte__: "folder-svelte", + "svelte-kit": "folder-svelte", + ".svelte-kit": "folder-svelte", + "_svelte-kit": "folder-svelte", + "__svelte-kit__": "folder-svelte", + update: "folder-update", + ".update": "folder-update", + _update: "folder-update", + __update__: "folder-update", + updates: "folder-update", + ".updates": "folder-update", + _updates: "folder-update", + __updates__: "folder-update", + upgrade: "folder-update", + ".upgrade": "folder-update", + _upgrade: "folder-update", + __upgrade__: "folder-update", + upgrades: "folder-update", + ".upgrades": "folder-update", + _upgrades: "folder-update", + __upgrades__: "folder-update", + idea: "folder-intellij", + ".idea": "folder-intellij", + _idea: "folder-intellij", + __idea__: "folder-intellij", + "azure-pipelines": "folder-azure-pipelines", + ".azure-pipelines": "folder-azure-pipelines", + "_azure-pipelines": "folder-azure-pipelines", + "__azure-pipelines__": "folder-azure-pipelines", + "azure-pipelines-ci": "folder-azure-pipelines", + ".azure-pipelines-ci": "folder-azure-pipelines", + "_azure-pipelines-ci": "folder-azure-pipelines", + "__azure-pipelines-ci__": "folder-azure-pipelines", + mjml: "folder-mjml", + ".mjml": "folder-mjml", + _mjml: "folder-mjml", + __mjml__: "folder-mjml", + admin: "folder-admin", + ".admin": "folder-admin", + _admin: "folder-admin", + __admin__: "folder-admin", + admins: "folder-admin", + ".admins": "folder-admin", + _admins: "folder-admin", + __admins__: "folder-admin", + manager: "folder-admin", + ".manager": "folder-admin", + _manager: "folder-admin", + __manager__: "folder-admin", + managers: "folder-admin", + ".managers": "folder-admin", + _managers: "folder-admin", + __managers__: "folder-admin", + moderator: "folder-admin", + ".moderator": "folder-admin", + _moderator: "folder-admin", + __moderator__: "folder-admin", + moderators: "folder-admin", + ".moderators": "folder-admin", + _moderators: "folder-admin", + __moderators__: "folder-admin", + scala: "folder-scala", + ".scala": "folder-scala", + _scala: "folder-scala", + __scala__: "folder-scala", + connection: "folder-connection", + ".connection": "folder-connection", + _connection: "folder-connection", + __connection__: "folder-connection", + connections: "folder-connection", + ".connections": "folder-connection", + _connections: "folder-connection", + __connections__: "folder-connection", + integration: "folder-connection", + ".integration": "folder-connection", + _integration: "folder-connection", + __integration__: "folder-connection", + integrations: "folder-connection", + ".integrations": "folder-connection", + _integrations: "folder-connection", + __integrations__: "folder-connection", + quasar: "folder-quasar", + ".quasar": "folder-quasar", + _quasar: "folder-quasar", + __quasar__: "folder-quasar", + next: "folder-next", + ".next": "folder-next", + _next: "folder-next", + __next__: "folder-next", + cobol: "folder-cobol", + ".cobol": "folder-cobol", + _cobol: "folder-cobol", + __cobol__: "folder-cobol", + yarn: "folder-yarn", + ".yarn": "folder-yarn", + _yarn: "folder-yarn", + __yarn__: "folder-yarn", + husky: "folder-husky", + ".husky": "folder-husky", + _husky: "folder-husky", + __husky__: "folder-husky", + storybook: "folder-storybook", + ".storybook": "folder-storybook", + _storybook: "folder-storybook", + __storybook__: "folder-storybook", + stories: "folder-storybook", + ".stories": "folder-storybook", + _stories: "folder-storybook", + __stories__: "folder-storybook", + base: "folder-base", + ".base": "folder-base", + _base: "folder-base", + __base__: "folder-base", + bases: "folder-base", + ".bases": "folder-base", + _bases: "folder-base", + __bases__: "folder-base", + cart: "folder-cart", + ".cart": "folder-cart", + _cart: "folder-cart", + __cart__: "folder-cart", + "shopping-cart": "folder-cart", + ".shopping-cart": "folder-cart", + "_shopping-cart": "folder-cart", + "__shopping-cart__": "folder-cart", + shopping: "folder-cart", + ".shopping": "folder-cart", + _shopping: "folder-cart", + __shopping__: "folder-cart", + shop: "folder-cart", + ".shop": "folder-cart", + _shop: "folder-cart", + __shop__: "folder-cart", + home: "folder-home", + ".home": "folder-home", + _home: "folder-home", + __home__: "folder-home", + start: "folder-home", + ".start": "folder-home", + _start: "folder-home", + __start__: "folder-home", + project: "folder-project", + ".project": "folder-project", + _project: "folder-project", + __project__: "folder-project", + projects: "folder-project", + ".projects": "folder-project", + _projects: "folder-project", + __projects__: "folder-project", + interface: "folder-interface", + ".interface": "folder-interface", + _interface: "folder-interface", + __interface__: "folder-interface", + interfaces: "folder-interface", + ".interfaces": "folder-interface", + _interfaces: "folder-interface", + __interfaces__: "folder-interface", + netlify: "folder-netlify", + ".netlify": "folder-netlify", + _netlify: "folder-netlify", + __netlify__: "folder-netlify", + enum: "folder-enum", + ".enum": "folder-enum", + _enum: "folder-enum", + __enum__: "folder-enum", + enums: "folder-enum", + ".enums": "folder-enum", + _enums: "folder-enum", + __enums__: "folder-enum", + pact: "folder-contract", + ".pact": "folder-contract", + _pact: "folder-contract", + __pact__: "folder-contract", + pacts: "folder-contract", + ".pacts": "folder-contract", + _pacts: "folder-contract", + __pacts__: "folder-contract", + contract: "folder-contract", + ".contract": "folder-contract", + _contract: "folder-contract", + __contract__: "folder-contract", + contracts: "folder-contract", + ".contracts": "folder-contract", + _contracts: "folder-contract", + __contracts__: "folder-contract", + "contract-testing": "folder-contract", + ".contract-testing": "folder-contract", + "_contract-testing": "folder-contract", + "__contract-testing__": "folder-contract", + "contract-test": "folder-contract", + ".contract-test": "folder-contract", + "_contract-test": "folder-contract", + "__contract-test__": "folder-contract", + "contract-tests": "folder-contract", + ".contract-tests": "folder-contract", + "_contract-tests": "folder-contract", + "__contract-tests__": "folder-contract", + queue: "folder-queue", + ".queue": "folder-queue", + _queue: "folder-queue", + __queue__: "folder-queue", + queues: "folder-queue", + ".queues": "folder-queue", + _queues: "folder-queue", + __queues__: "folder-queue", + bull: "folder-queue", + ".bull": "folder-queue", + _bull: "folder-queue", + __bull__: "folder-queue", + mq: "folder-queue", + ".mq": "folder-queue", + _mq: "folder-queue", + __mq__: "folder-queue", + vercel: "folder-vercel", + ".vercel": "folder-vercel", + _vercel: "folder-vercel", + __vercel__: "folder-vercel", + now: "folder-vercel", + ".now": "folder-vercel", + _now: "folder-vercel", + __now__: "folder-vercel", + cypress: "folder-cypress", + ".cypress": "folder-cypress", + _cypress: "folder-cypress", + __cypress__: "folder-cypress", + decorator: "folder-decorators", + ".decorator": "folder-decorators", + _decorator: "folder-decorators", + __decorator__: "folder-decorators", + decorators: "folder-decorators", + ".decorators": "folder-decorators", + _decorators: "folder-decorators", + __decorators__: "folder-decorators", + java: "folder-java", + ".java": "folder-java", + _java: "folder-java", + __java__: "folder-java", + resolver: "folder-resolver", + ".resolver": "folder-resolver", + _resolver: "folder-resolver", + __resolver__: "folder-resolver", + resolvers: "folder-resolver", + ".resolvers": "folder-resolver", + _resolvers: "folder-resolver", + __resolvers__: "folder-resolver", + angular: "folder-angular", + ".angular": "folder-angular", + _angular: "folder-angular", + __angular__: "folder-angular", + unity: "folder-unity", + ".unity": "folder-unity", + _unity: "folder-unity", + __unity__: "folder-unity", + pdf: "folder-pdf", + ".pdf": "folder-pdf", + _pdf: "folder-pdf", + __pdf__: "folder-pdf", + pdfs: "folder-pdf", + ".pdfs": "folder-pdf", + _pdfs: "folder-pdf", + __pdfs__: "folder-pdf", + protobuf: "folder-proto", + ".protobuf": "folder-proto", + _protobuf: "folder-proto", + __protobuf__: "folder-proto", + protobufs: "folder-proto", + ".protobufs": "folder-proto", + _protobufs: "folder-proto", + __protobufs__: "folder-proto", + proto: "folder-proto", + ".proto": "folder-proto", + _proto: "folder-proto", + protos: "folder-proto", + ".protos": "folder-proto", + _protos: "folder-proto", + __protos__: "folder-proto", + plastic: "folder-plastic", + ".plastic": "folder-plastic", + _plastic: "folder-plastic", + __plastic__: "folder-plastic", + gamemaker: "folder-gamemaker", + ".gamemaker": "folder-gamemaker", + _gamemaker: "folder-gamemaker", + __gamemaker__: "folder-gamemaker", + gamemaker2: "folder-gamemaker", + ".gamemaker2": "folder-gamemaker", + _gamemaker2: "folder-gamemaker", + __gamemaker2__: "folder-gamemaker", + hg: "folder-mercurial", + ".hg": "folder-mercurial", + _hg: "folder-mercurial", + __hg__: "folder-mercurial", + hghooks: "folder-mercurial", + ".hghooks": "folder-mercurial", + _hghooks: "folder-mercurial", + __hghooks__: "folder-mercurial", + hgext: "folder-mercurial", + ".hgext": "folder-mercurial", + _hgext: "folder-mercurial", + __hgext__: "folder-mercurial", + godot: "folder-godot", + ".godot": "folder-godot", + _godot: "folder-godot", + __godot__: "folder-godot", + "godot-cpp": "folder-godot", + ".godot-cpp": "folder-godot", + "_godot-cpp": "folder-godot", + "__godot-cpp__": "folder-godot", + lottie: "folder-lottie", + ".lottie": "folder-lottie", + _lottie: "folder-lottie", + __lottie__: "folder-lottie", + lotties: "folder-lottie", + ".lotties": "folder-lottie", + _lotties: "folder-lottie", + __lotties__: "folder-lottie", + lottiefiles: "folder-lottie", + ".lottiefiles": "folder-lottie", + _lottiefiles: "folder-lottie", + __lottiefiles__: "folder-lottie", + taskfile: "folder-taskfile", + ".taskfile": "folder-taskfile", + _taskfile: "folder-taskfile", + __taskfile__: "folder-taskfile", + taskfiles: "folder-taskfile", + ".taskfiles": "folder-taskfile", + _taskfiles: "folder-taskfile", + __taskfiles__: "folder-taskfile", + cloudflare: "folder-cloudflare", + ".cloudflare": "folder-cloudflare", + _cloudflare: "folder-cloudflare", + __cloudflare__: "folder-cloudflare", + seeds: "folder-seeders", + ".seeds": "folder-seeders", + _seeds: "folder-seeders", + __seeds__: "folder-seeders", + seeders: "folder-seeders", + ".seeders": "folder-seeders", + _seeders: "folder-seeders", + __seeders__: "folder-seeders", + seed: "folder-seeders", + ".seed": "folder-seeders", + _seed: "folder-seeders", + __seed__: "folder-seeders", + seeding: "folder-seeders", + ".seeding": "folder-seeders", + _seeding: "folder-seeders", + __seeding__: "folder-seeders", + }, + fileExtensions: { + htm: "html", + xhtml: "html", + html_vm: "html", + asp: "html", + jade: "pug", + pug: "pug", + md: "markdown", + markdown: "markdown", + rst: "markdown", + blink: "blink", + css: "css", + scss: "sass", + sass: "sass", + less: "less", + json: "json", + jsonc: "json", + tsbuildinfo: "json", + json5: "json", + jsonl: "json", + ndjson: "json", + hjson: "hjson", + jinja: "jinja", + jinja2: "jinja", + j2: "jinja", + "jinja-html": "jinja", + proto: "proto", + "sublime-project": "sublime", + "sublime-workspace": "sublime", + tw: "twine", + twee: "twine", + "yml.dist": "yaml", + "yaml.dist": "yaml", + "YAML-tmLanguage": "yaml", + xml: "xml", + plist: "xml", + xsd: "xml", + dtd: "xml", + xsl: "xml", + xslt: "xml", + resx: "xml", + iml: "xml", + xquery: "xml", + tmLanguage: "xml", + manifest: "xml", + project: "xml", + "xml.dist": "xml", + "xml.dist.sample": "xml", + dmn: "xml", + jrxml: "xml", + png: "image", + jpeg: "image", + jpg: "image", + gif: "image", + ico: "image", + tif: "image", + tiff: "image", + psd: "image", + psb: "image", + ami: "image", + apx: "image", + avif: "image", + bmp: "image", + bpg: "image", + brk: "image", + cur: "image", + dds: "image", + dng: "image", + exr: "image", + fpx: "image", + gbr: "image", + img: "image", + jbig2: "image", + jb2: "image", + jng: "image", + jxr: "image", + pgf: "image", + pic: "image", + raw: "image", + webp: "image", + eps: "image", + afphoto: "image", + ase: "image", + aseprite: "image", + clip: "image", + cpt: "image", + heif: "image", + heic: "image", + kra: "image", + mdp: "image", + ora: "image", + pdn: "image", + reb: "image", + sai: "image", + tga: "image", + xcf: "image", + jfif: "image", + ppm: "image", + pbm: "image", + pgm: "image", + pnm: "image", + icns: "image", + esx: "javascript", + mjs: "javascript", + jsx: "react", + tsx: "react_ts", + "routing.ts": "routing", + "routing.tsx": "routing", + "routing.js": "routing", + "routing.jsx": "routing", + "routes.ts": "routing", + "routes.tsx": "routing", + "routes.js": "routing", + "routes.jsx": "routing", + ini: "settings", + dlc: "settings", + config: "settings", + conf: "settings", + properties: "settings", + prop: "settings", + settings: "settings", + option: "settings", + props: "settings", + toml: "settings", + prefs: "settings", + "sln.dotsettings": "settings", + "sln.dotsettings.user": "settings", + cfg: "settings", + "d.ts": "typescript-def", + "d.cts": "typescript-def", + "d.mts": "typescript-def", + marko: "markojs", + astro: "astro", + pdf: "pdf", + xlsx: "table", + xlsm: "table", + xls: "table", + csv: "table", + tsv: "table", + psv: "table", + ods: "table", + vscodeignore: "vscode", + vsixmanifest: "vscode", + vsix: "vscode", + "code-workplace": "vscode", + "code-workspace": "vscode", + "code-profile": "vscode", + "code-snippets": "vscode", + csproj: "visualstudio", + ruleset: "visualstudio", + sln: "visualstudio", + slnx: "visualstudio", + suo: "visualstudio", + vb: "visualstudio", + vbs: "visualstudio", + vcxitems: "visualstudio", + "vcxitems.filters": "visualstudio", + vcxproj: "visualstudio", + "vcxproj.filters": "visualstudio", + pdb: "database", + sql: "database", + pks: "database", + pkb: "database", + accdb: "database", + mdb: "database", + sqlite: "database", + sqlite3: "database", + pgsql: "database", + postgres: "database", + plpgsql: "database", + psql: "database", + db: "database", + db3: "database", + dblite: "database", + dblite3: "database", + debugsymbols: "database", + kql: "kusto", + cs: "csharp", + csx: "csharp", + csharp: "csharp", + qs: "qsharp", + zip: "zip", + tar: "zip", + gz: "zip", + xz: "zip", + lzma: "zip", + lz4: "zip", + br: "zip", + bz2: "zip", + bzip2: "zip", + gzip: "zip", + brotli: "zip", + "7z": "zip", + rar: "zip", + tz: "zip", + txz: "zip", + tgz: "zip", + zst: "zip", + vala: "vala", + zig: "zig", + zon: "zig", + exe: "exe", + msi: "exe", + dat: "hex", + bin: "hex", + hex: "hex", + java: "java", + jsp: "java", + jar: "jar", + class: "javaclass", + c: "c", + i: "c", + mi: "c", + h: "h", + cc: "cpp", + cpp: "cpp", + cxx: "cpp", + "c++": "cpp", + cp: "cpp", + mii: "cpp", + ii: "cpp", + hh: "hpp", + hpp: "hpp", + hxx: "hpp", + "h++": "hpp", + hp: "hpp", + tcc: "hpp", + inl: "hpp", + rc: "rc", + go: "go", + py: "python", + pyc: "python-misc", + whl: "python-misc", + url: "url", + sh: "console", + ksh: "console", + csh: "console", + tcsh: "console", + zsh: "console", + bash: "console", + bat: "console", + cmd: "console", + awk: "console", + fish: "console", + exp: "console", + nu: "console", + ps1: "powershell", + psm1: "powershell", + psd1: "powershell", + ps1xml: "powershell", + psc1: "powershell", + pssc: "powershell", + gradle: "gradle", + doc: "word", + docx: "word", + rtf: "word", + odt: "word", + cer: "certificate", + cert: "certificate", + crt: "certificate", + pub: "key", + key: "key", + pem: "key", + asc: "key", + gpg: "key", + passwd: "key", + woff: "font", + woff2: "font", + ttf: "font", + eot: "font", + suit: "font", + otf: "font", + bmap: "font", + fnt: "font", + odttf: "font", + ttc: "font", + font: "font", + fonts: "font", + sui: "font", + ntf: "font", + mrf: "font", + lib: "lib", + bib: "lib", + a: "lib", + dll: "dll", + ilk: "dll", + so: "dll", + rb: "ruby", + erb: "ruby", + rbs: "ruby", + fs: "fsharp", + fsx: "fsharp", + fsi: "fsharp", + fsproj: "fsharp", + swift: "swift", + ino: "arduino", + dockerignore: "docker", + dockerfile: "docker", + "docker-compose.yml": "docker", + "docker-compose.yaml": "docker", + containerignore: "docker", + containerfile: "docker", + "compose.yaml": "docker", + "compose.yml": "docker", + tex: "tex", + sty: "tex", + dtx: "tex", + ltx: "tex", + pptx: "powerpoint", + ppt: "powerpoint", + pptm: "powerpoint", + potx: "powerpoint", + potm: "powerpoint", + ppsx: "powerpoint", + ppsm: "powerpoint", + pps: "powerpoint", + ppam: "powerpoint", + ppa: "powerpoint", + odp: "powerpoint", + webm: "video", + mkv: "video", + flv: "video", + vob: "video", + ogv: "video", + ogg: "video", + gifv: "video", + avi: "video", + mov: "video", + qt: "video", + wmv: "video", + yuv: "video", + rm: "video", + rmvb: "video", + mp4: "video", + m4v: "video", + mpg: "video", + mp2: "video", + mpeg: "video", + mpe: "video", + mpv: "video", + m2v: "video", + vdi: "virtual", + vbox: "virtual", + "vbox-prev": "virtual", + ved: "vedic", + veda: "vedic", + vedic: "vedic", + ics: "email", + mp3: "audio", + flac: "audio", + m4a: "audio", + wma: "audio", + aiff: "audio", + wav: "audio", + coffee: "coffee", + cson: "coffee", + iced: "coffee", + txt: "document", + graphql: "graphql", + gql: "graphql", + rs: "rust", + ron: "rust", + raml: "raml", + xaml: "xaml", + hs: "haskell", + kt: "kotlin", + kts: "kotlin", + otne: "otne", + patch: "git", + lua: "lua", + clj: "clojure", + cljs: "clojure", + cljc: "clojure", + groovy: "groovy", + r: "r", + rmd: "r", + dart: "dart", + "freezed.dart": "dart_generated", + "g.dart": "dart_generated", + as: "actionscript", + mxml: "mxml", + ahk: "autohotkey", + swf: "flash", + swc: "swc", + cmake: "cmake", + asm: "assembly", + a51: "assembly", + inc: "assembly", + nasm: "assembly", + s: "assembly", + ms: "assembly", + agc: "assembly", + ags: "assembly", + aea: "assembly", + argus: "assembly", + mitigus: "assembly", + binsource: "assembly", + vue: "vue", + ml: "ocaml", + mli: "ocaml", + cmx: "ocaml", + odin: "odin", + "js.map": "javascript-map", + "mjs.map": "javascript-map", + "cjs.map": "javascript-map", + "css.map": "css-map", + lock: "lock", + hbs: "handlebars", + mustache: "handlebars", + pm: "perl", + raku: "perl", + hx: "haxe", + "spec.ts": "test-ts", + "spec.cts": "test-ts", + "spec.mts": "test-ts", + "cy.ts": "test-ts", + "e2e-spec.ts": "test-ts", + "e2e-spec.cts": "test-ts", + "e2e-spec.mts": "test-ts", + "test.ts": "test-ts", + "test.cts": "test-ts", + "test.mts": "test-ts", + "ts.snap": "test-ts", + "spec-d.ts": "test-ts", + "test-d.ts": "test-ts", + "spec.tsx": "test-jsx", + "test.tsx": "test-jsx", + "tsx.snap": "test-jsx", + "spec.jsx": "test-jsx", + "test.jsx": "test-jsx", + "jsx.snap": "test-jsx", + "cy.jsx": "test-jsx", + "cy.tsx": "test-jsx", + "spec-d.tsx": "test-jsx", + "test-d.tsx": "test-jsx", + "spec.js": "test-js", + "spec.cjs": "test-js", + "spec.mjs": "test-js", + "e2e-spec.js": "test-js", + "e2e-spec.cjs": "test-js", + "e2e-spec.mjs": "test-js", + "test.js": "test-js", + "test.cjs": "test-js", + "test.mjs": "test-js", + "js.snap": "test-js", + "cy.js": "test-js", + "module.ts": "angular", + "module.js": "angular", + "ng-template": "angular", + "component.ts": "angular-component", + "component.js": "angular-component", + "guard.ts": "angular-guard", + "guard.js": "angular-guard", + "service.ts": "angular-service", + "service.js": "angular-service", + "pipe.ts": "angular-pipe", + "pipe.js": "angular-pipe", + "filter.js": "angular-pipe", + "directive.ts": "angular-directive", + "directive.js": "angular-directive", + "resolver.ts": "angular-resolver", + "resolver.js": "angular-resolver", + pp: "puppet", + ex: "elixir", + exs: "elixir", + eex: "elixir", + leex: "elixir", + heex: "elixir", + ls: "livescript", + erl: "erlang", + twig: "twig", + jl: "julia", + elm: "elm", + pure: "purescript", + purs: "purescript", + tpl: "smarty", + styl: "stylus", + re: "reason", + rei: "reason", + cmj: "bucklescript", + merlin: "merlin", + vhd: "verilog", + sv: "verilog", + svh: "verilog", + nb: "mathematica", + wl: "wolframlanguage", + wls: "wolframlanguage", + njk: "nunjucks", + nunjucks: "nunjucks", + robot: "robot", + sol: "solidity", + au3: "autoit", + haml: "haml", + yang: "yang", + mjml: "mjml", + tf: "terraform", + "tf.json": "terraform", + tfvars: "terraform", + tfstate: "terraform", + tfbackend: "terraform", + "blade.php": "laravel", + "inky.php": "laravel", + applescript: "applescript", + ipa: "applescript", + cake: "cake", + feature: "cucumber", + features: "cucumber", + nim: "nim", + nimble: "nim", + apib: "apiblueprint", + apiblueprint: "apiblueprint", + riot: "riot", + tag: "riot", + vfl: "vfl", + kl: "kl", + pcss: "postcss", + sss: "postcss", + todo: "todo", + cfml: "coldfusion", + cfc: "coldfusion", + lucee: "coldfusion", + cfm: "coldfusion", + cabal: "cabal", + nix: "nix", + slim: "slim", + http: "http", + rest: "http", + rql: "restql", + restql: "restql", + kv: "kivy", + graphcool: "graphcool", + sbt: "sbt", + apk: "android", + smali: "android", + dex: "android", + env: "tune", + "gitlab-ci.yml": "gitlab", + jenkinsfile: "jenkins", + jenkins: "jenkins", + fig: "figma", + huff: "huff", + cr: "crystal", + ecr: "crystal", + "drone.yml": "drone", + cu: "cuda", + cuh: "cuda", + log: "log", + def: "dotjs", + dot: "dotjs", + jst: "dotjs", + ejs: "ejs", + ".wakatime-project": "wakatime", + pde: "processing", + "stories.js": "storybook", + "stories.jsx": "storybook", + "stories.mdx": "storybook", + "story.js": "storybook", + "story.jsx": "storybook", + "stories.ts": "storybook", + "stories.tsx": "storybook", + "story.ts": "storybook", + "story.tsx": "storybook", + "stories.svelte": "storybook", + "story.mdx": "storybook", + wpy: "wepy", + hcl: "hcl", + san: "san", + "quokka.js": "quokka", + "quokka.ts": "quokka", + "quokka.jsx": "quokka", + "quokka.tsx": "quokka", + djt: "django", + red: "red", + mk: "makefile", + fxp: "foxpro", + prg: "foxpro", + pot: "i18n", + po: "i18n", + mo: "i18n", + lang: "i18n", + wat: "webassembly", + wasm: "webassembly", + ipynb: "jupyter", + d: "d", + mdx: "mdx", + svx: "mdsvex", + bal: "ballerina", + balx: "ballerina", + rkt: "racket", + bzl: "bazel", + bazel: "bazel", + mint: "mint", + vm: "velocity", + fhtml: "velocity", + vtl: "velocity", + gd: "godot", + godot: "godot-assets", + tres: "godot-assets", + tscn: "godot-assets", + gdns: "godot-assets", + gdnlib: "godot-assets", + gdshader: "godot-assets", + gdshaderinc: "godot-assets", + gdextension: "godot-assets", + "azure-pipelines.yml": "azure-pipelines", + "azure-pipelines.yaml": "azure-pipelines", + "azure-pipelines-main.yml": "azure-pipelines", + "azure-pipelines-main.yaml": "azure-pipelines", + azcli: "azure", + vagrantfile: "vagrant", + prisma: "prisma", + cshtml: "razor", + vbhtml: "razor", + abc: "abc", + ad: "asciidoc", + adoc: "asciidoc", + asciidoc: "asciidoc", + edge: "edge", + ss: "scheme", + scm: "scheme", + lisp: "lisp", + lsp: "lisp", + cl: "lisp", + fast: "lisp", + stl: "3d", + stp: "3d", + obj: "3d", + o: "3d", + ac: "3d", + blend: "3d", + dxf: "3d", + fbx: "3d", + mesh: "3d", + mqo: "3d", + pmd: "3d", + pmx: "3d", + skp: "3d", + vac: "3d", + vdp: "3d", + vox: "3d", + svg: "svg", + svelte: "svelte", + vimrc: "vim", + gvimrc: "vim", + exrc: "vim", + vim: "vim", + viminfo: "vim", + moon: "moonscript", + prw: "advpl_prw", + prx: "advpl_prw", + ptm: "advpl_ptm", + tlpp: "advpl_tlpp", + ch: "advpl_include", + iso: "disc", + vmdk: "disc", + hdd: "disc", + qcow: "disc", + qcow2: "disc", + qed: "disc", + dmg: "disc", + f: "fortran", + f77: "fortran", + f90: "fortran", + f95: "fortran", + f03: "fortran", + f08: "fortran", + tcl: "tcl", + liquid: "liquid", + p: "prolog", + pro: "prolog", + pl: "prolog", + coco: "coconut", + sketch: "sketch", + pwn: "pawn", + amx: "pawn", + "4th": "forth", + fth: "forth", + frt: "forth", + iuml: "uml", + pu: "uml", + puml: "uml", + plantuml: "uml", + wsd: "uml", + wrap: "meson", + dhall: "dhall", + dhallb: "dhall", + sml: "sml", + mlton: "sml", + mlb: "sml", + sig: "sml", + fun: "sml", + cm: "sml", + lex: "sml", + use: "sml", + grm: "sml", + opam: "opam", + imba: "imba", + drawio: "drawio", + dio: "drawio", + pas: "pascal", + unity: "shaderlab", + sas: "sas", + sas7bdat: "sas", + sashdat: "sas", + astore: "sas", + ast: "sas", + sast: "sas", + nupkg: "nuget", + command: "command", + dsc: "denizenscript", + "code-search": "search", + nginx: "nginx", + nginxconf: "nginx", + nginxconfig: "nginx", + mcfunction: "minecraft", + mcmeta: "minecraft", + mcr: "minecraft", + mca: "minecraft", + mcgame: "minecraft", + mclevel: "minecraft", + mcworld: "minecraft", + mine: "minecraft", + mus: "minecraft", + mcstructure: "minecraft", + mcpack: "minecraft", + mcaddon: "minecraft", + mctemplate: "minecraft", + mcproject: "minecraft", + res: "rescript", + resi: "rescript-interface", + b: "brainfuck", + bf: "brainfuck", + bicep: "bicep", + cob: "cobol", + cbl: "cobol", + gr: "grain", + lol: "lolcode", + idr: "idris", + ibc: "idris", + pipeline: "pipeline", + rego: "opa", + windi: "windicss", + scala: "scala", + sc: "scala", + ly: "lilypond", + v: "vlang", + pgn: "chess", + fen: "chess", + gmi: "gemini", + gemini: "gemini", + "tsconfig.json": "tsconfig", + tauri: "tauri", + "jsconfig.json": "jsconfig", + ada: "ada", + adb: "ada", + ads: "ada", + ali: "ada", + "horusec-config.json": "horusec", + "pdm.lock": "pdm", + "pdm.toml": "pdm", + coarc: "coala", + coafile: "coala", + bubble: "dinophp", + "html.bubble": "dinophp", + "php.bubble": "dinophp", + tl: "teal", + template: "template", + glsl: "shader", + vert: "shader", + tesc: "shader", + tese: "shader", + geom: "shader", + frag: "shader", + comp: "shader", + "vert.glsl": "shader", + "tesc.glsl": "shader", + "tese.glsl": "shader", + "geom.glsl": "shader", + "frag.glsl": "shader", + "comp.glsl": "shader", + "vertex.glsl": "shader", + "geometry.glsl": "shader", + "fragment.glsl": "shader", + "compute.glsl": "shader", + "ts.glsl": "shader", + "gs.glsl": "shader", + "vs.glsl": "shader", + "fs.glsl": "shader", + shader: "shader", + vertexshader: "shader", + fragmentshader: "shader", + geometryshader: "shader", + computeshader: "shader", + hlsl: "shader", + "pixel.hlsl": "shader", + "geometry.hlsl": "shader", + "compute.hlsl": "shader", + "tessellation.hlsl": "shader", + "px.hlsl": "shader", + "geom.hlsl": "shader", + "comp.hlsl": "shader", + "tess.hlsl": "shader", + wgsl: "shader", + sy: "siyuan", + "ndst.yml": "ndst", + "ndst.yaml": "ndst", + "ndst.json": "ndst", + tobi: "tobi", + gleam: "gleam", + "steadybit.yml": "steadybit", + "steadybit.yaml": "steadybit", + capnp: "capnp", + tree: "tree", + cdc: "cadence", + "openapi.json": "openapi", + "openapi.yml": "openapi", + "openapi.yaml": "openapi", + "swagger.json": "swagger", + "swagger.yml": "swagger", + "swagger.yaml": "swagger", + g4: "antlr", + "st.css": "stylable", + pine: "pinejs", + "taskfile.yml": "taskfile", + "taskfile.yaml": "taskfile", + gml: "gamemaker", + yy: "gamemaker", + yyp: "gamemaker", + yyz: "gamemaker", + tldr: "tldraw", + typ: "typst", + mmd: "mermaid", + mermaid: "mermaid", + mojo: "mojo", + "🔥": "mojo", + rbxl: "roblox", + rbxlx: "roblox", + rbxm: "roblox", + rbxmx: "roblox", + spwn: "spwn", + templ: "templ", + crx: "chrome", + stan: "stan", + abap: "abap", + acds: "abap", + asddls: "abap", + lottie: "lottie", + gs: "apps-script", + pkl: "pkl", + }, + fileNames: { + ".pug-lintrc": "pug", + ".pug-lintrc.js": "pug", + ".pug-lintrc.json": "pug", + ".jscsrc": "json", + ".jshintrc": "json", + "composer.lock": "json", + ".jsbeautifyrc": "json", + ".esformatter": "json", + "cdp.pid": "json", + ".lintstagedrc": "json", + ".whitesource": "json", + "playwright.config.js": "playwright", + "playwright.config.mjs": "playwright", + "playwright.config.ts": "playwright", + "playwright.config.base.js": "playwright", + "playwright.config.base.mjs": "playwright", + "playwright.config.base.ts": "playwright", + "playwright-ct.config.js": "playwright", + "playwright-ct.config.mjs": "playwright", + "playwright-ct.config.ts": "playwright", + ".htaccess": "xml", + "router.js": "routing", + "router.jsx": "routing", + "router.ts": "routing", + "router.tsx": "routing", + "routes.js": "routing", + "routes.jsx": "routing", + "routes.ts": "routing", + "routes.tsx": "routing", + ".jshintignore": "settings", + ".buildignore": "settings", + ".mrconfig": "settings", + ".yardopts": "settings", + "manifest.mf": "settings", + ".clang-format": "settings", + ".clang-tidy": "settings", + "astro.config.js": "astro", + "astro.config.mjs": "astro", + "astro.config.cjs": "astro", + "astro.config.ts": "astro", + "astro.config.cts": "astro", + "astro.config.mts": "astro", + "go.mod": "go-mod", + "go.sum": "go-mod", + "go.work": "go-mod", + "go.work.sum": "go-mod", + "requirements.txt": "python-misc", + pipfile: "python-misc", + ".python-version": "python-misc", + "manifest.in": "python-misc", + pylintrc: "python-misc", + ".pylintrc": "python-misc", + "pyproject.toml": "python-misc", + "commit-msg": "console", + "pre-commit": "console", + "pre-push": "console", + "post-merge": "console", + "gradle.properties": "gradle", + gradlew: "gradle", + "gradle-wrapper.properties": "gradle", + copying: "certificate", + "copying.md": "certificate", + "copying.rst": "certificate", + "copying.txt": "certificate", + copyright: "certificate", + "copyright.md": "certificate", + "copyright.rst": "certificate", + "copyright.txt": "certificate", + license: "certificate", + "license-agpl": "certificate", + "license-apache": "certificate", + "license-bsd": "certificate", + "license-mit": "certificate", + "license-gpl": "certificate", + "license-lgpl": "certificate", + "license.md": "certificate", + "license.rst": "certificate", + "license.txt": "certificate", + licence: "certificate", + "licence-agpl": "certificate", + "licence-apache": "certificate", + "licence-bsd": "certificate", + "licence-mit": "certificate", + "licence-gpl": "certificate", + "licence-lgpl": "certificate", + "licence.md": "certificate", + "licence.rst": "certificate", + "licence.txt": "certificate", + ".htpasswd": "key", + ".ruby-version": "ruby", + gemfile: "gemfile", + ".rubocop.yml": "rubocop", + ".rubocop-todo.yml": "rubocop", + ".rubocop_todo.yml": "rubocop", + ".rspec": "rspec", + dockerfile: "docker", + "dockerfile.prod": "docker", + "dockerfile.production": "docker", + "dockerfile.alpha": "docker", + "dockerfile.beta": "docker", + "dockerfile.stage": "docker", + "dockerfile.staging": "docker", + "dockerfile.dev": "docker", + "dockerfile.development": "docker", + "dockerfile.local": "docker", + "dockerfile.test": "docker", + "dockerfile.testing": "docker", + "dockerfile.ci": "docker", + "dockerfile.web": "docker", + "dockerfile.worker": "docker", + "docker-compose.yml": "docker", + "docker-compose.override.yml": "docker", + "docker-compose.prod.yml": "docker", + "docker-compose.production.yml": "docker", + "docker-compose.alpha.yml": "docker", + "docker-compose.beta.yml": "docker", + "docker-compose.stage.yml": "docker", + "docker-compose.staging.yml": "docker", + "docker-compose.dev.yml": "docker", + "docker-compose.development.yml": "docker", + "docker-compose.local.yml": "docker", + "docker-compose.test.yml": "docker", + "docker-compose.testing.yml": "docker", + "docker-compose.ci.yml": "docker", + "docker-compose.web.yml": "docker", + "docker-compose.worker.yml": "docker", + "docker-compose.yaml": "docker", + "docker-compose.override.yaml": "docker", + "docker-compose.prod.yaml": "docker", + "docker-compose.production.yaml": "docker", + "docker-compose.alpha.yaml": "docker", + "docker-compose.beta.yaml": "docker", + "docker-compose.stage.yaml": "docker", + "docker-compose.staging.yaml": "docker", + "docker-compose.dev.yaml": "docker", + "docker-compose.development.yaml": "docker", + "docker-compose.local.yaml": "docker", + "docker-compose.test.yaml": "docker", + "docker-compose.testing.yaml": "docker", + "docker-compose.ci.yaml": "docker", + "docker-compose.web.yaml": "docker", + "docker-compose.worker.yaml": "docker", + containerfile: "docker", + "containerfile.prod": "docker", + "containerfile.production": "docker", + "containerfile.alpha": "docker", + "containerfile.beta": "docker", + "containerfile.stage": "docker", + "containerfile.staging": "docker", + "containerfile.dev": "docker", + "containerfile.development": "docker", + "containerfile.local": "docker", + "containerfile.test": "docker", + "containerfile.testing": "docker", + "containerfile.ci": "docker", + "containerfile.web": "docker", + "containerfile.worker": "docker", + "compose.yaml": "docker", + "compose.override.yaml": "docker", + "compose.prod.yaml": "docker", + "compose.production.yaml": "docker", + "compose.alpha.yaml": "docker", + "compose.beta.yaml": "docker", + "compose.stage.yaml": "docker", + "compose.staging.yaml": "docker", + "compose.dev.yaml": "docker", + "compose.development.yaml": "docker", + "compose.local.yaml": "docker", + "compose.test.yaml": "docker", + "compose.testing.yaml": "docker", + "compose.ci.yaml": "docker", + "compose.web.yaml": "docker", + "compose.worker.yaml": "docker", + "compose.yml": "docker", + "compose.override.yml": "docker", + "compose.prod.yml": "docker", + "compose.production.yml": "docker", + "compose.alpha.yml": "docker", + "compose.beta.yml": "docker", + "compose.stage.yml": "docker", + "compose.staging.yml": "docker", + "compose.dev.yml": "docker", + "compose.development.yml": "docker", + "compose.local.yml": "docker", + "compose.test.yml": "docker", + "compose.testing.yml": "docker", + "compose.ci.yml": "docker", + "compose.web.yml": "docker", + "compose.worker.yml": "docker", + ".mailmap": "email", + ".graphqlrc": "graphql", + ".graphqlrc.json": "graphql", + ".graphqlrc.jsonc": "graphql", + ".graphqlrc.json5": "graphql", + ".graphqlrc.yaml": "graphql", + ".graphqlrc.yml": "graphql", + ".graphqlrc.toml": "graphql", + ".graphqlrc.js": "graphql", + ".graphqlrc.mjs": "graphql", + ".graphqlrc.cjs": "graphql", + ".graphqlrc.ts": "graphql", + ".graphqlrc.mts": "graphql", + ".graphqlrc.cts": "graphql", + ".config/graphqlrc": "graphql", + ".config/graphqlrc.json": "graphql", + ".config/graphqlrc.jsonc": "graphql", + ".config/graphqlrc.json5": "graphql", + ".config/graphqlrc.yaml": "graphql", + ".config/graphqlrc.yml": "graphql", + ".config/graphqlrc.toml": "graphql", + ".config/graphqlrc.js": "graphql", + ".config/graphqlrc.mjs": "graphql", + ".config/graphqlrc.cjs": "graphql", + ".config/graphqlrc.ts": "graphql", + ".config/graphqlrc.mts": "graphql", + ".config/graphqlrc.cts": "graphql", + "graphql.config.json": "graphql", + "graphql.config.jsonc": "graphql", + "graphql.config.json5": "graphql", + "graphql.config.yaml": "graphql", + "graphql.config.yml": "graphql", + "graphql.config.toml": "graphql", + "graphql.config.js": "graphql", + "graphql.config.mjs": "graphql", + "graphql.config.cjs": "graphql", + "graphql.config.ts": "graphql", + "graphql.config.mts": "graphql", + "graphql.config.cts": "graphql", + ".graphqlconfig": "graphql", + ".git": "git", + ".gitignore": "git", + ".gitmessage": "git", + ".gitignore-global": "git", + ".gitignore_global": "git", + ".gitattributes": "git", + ".gitattributes-global": "git", + ".gitattributes_global": "git", + ".gitconfig": "git", + ".gitmodules": "git", + ".gitkeep": "git", + ".keep": "git", + ".gitpreserve": "git", + ".gitinclude": "git", + ".git-blame-ignore": "git", + ".git-blame-ignore-revs": "git", + ".git-for-windows-updater": "git", + "git-history": "git", + ".luacheckrc": "lua", + ".Rhistory": "r", + ".pubignore": "dart", + "cmakelists.txt": "cmake", + "cmakecache.txt": "cmake", + "semgrep.yml": "semgrep", + ".semgrepignore": "semgrep", + "vue.config.js": "vue-config", + "vue.config.ts": "vue-config", + "vetur.config.js": "vue-config", + "vetur.config.ts": "vue-config", + "volar.config.js": "vue-config", + "nuxt.config.js": "nuxt", + "nuxt.config.ts": "nuxt", + ".nuxtignore": "nuxt", + "security.md": "lock", + "security.txt": "lock", + security: "lock", + "angular-cli.json": "angular", + ".angular-cli.json": "angular", + "angular.json": "angular", + "ng-package.json": "angular", + ".mjmlconfig": "mjml", + "vercel.json": "vercel", + ".vercelignore": "vercel", + "now.json": "vercel", + ".nowignore": "vercel", + "verdaccio.yml": "verdaccio", + "payload.config.js": "payload", + "payload.config.mjs": "payload", + "payload.config.ts": "payload", + "payload.config.mts": "payload", + "next.config.js": "next", + "next.config.mjs": "next", + "next.config.ts": "next", + "next.config.mts": "next", + "remix.config.js": "remix", + "remix.config.ts": "remix", + artisan: "laravel", + ".vfl": "vfl", + ".kl": "kl", + ".postcssrc": "postcss", + ".postcssrc.json": "postcss", + ".postcssrc.jsonc": "postcss", + ".postcssrc.json5": "postcss", + ".postcssrc.yaml": "postcss", + ".postcssrc.yml": "postcss", + ".postcssrc.toml": "postcss", + ".postcssrc.js": "postcss", + ".postcssrc.mjs": "postcss", + ".postcssrc.cjs": "postcss", + ".postcssrc.ts": "postcss", + ".postcssrc.mts": "postcss", + ".postcssrc.cts": "postcss", + ".config/postcssrc": "postcss", + ".config/postcssrc.json": "postcss", + ".config/postcssrc.jsonc": "postcss", + ".config/postcssrc.json5": "postcss", + ".config/postcssrc.yaml": "postcss", + ".config/postcssrc.yml": "postcss", + ".config/postcssrc.toml": "postcss", + ".config/postcssrc.js": "postcss", + ".config/postcssrc.mjs": "postcss", + ".config/postcssrc.cjs": "postcss", + ".config/postcssrc.ts": "postcss", + ".config/postcssrc.mts": "postcss", + ".config/postcssrc.cts": "postcss", + "postcss.config.json": "postcss", + "postcss.config.jsonc": "postcss", + "postcss.config.json5": "postcss", + "postcss.config.yaml": "postcss", + "postcss.config.yml": "postcss", + "postcss.config.toml": "postcss", + "postcss.config.js": "postcss", + "postcss.config.mjs": "postcss", + "postcss.config.cjs": "postcss", + "postcss.config.ts": "postcss", + "postcss.config.mts": "postcss", + "postcss.config.cts": "postcss", + ".posthtmlrc": "posthtml", + ".posthtmlrc.json": "posthtml", + ".posthtmlrc.jsonc": "posthtml", + ".posthtmlrc.json5": "posthtml", + ".posthtmlrc.yaml": "posthtml", + ".posthtmlrc.yml": "posthtml", + ".posthtmlrc.toml": "posthtml", + ".posthtmlrc.js": "posthtml", + ".posthtmlrc.mjs": "posthtml", + ".posthtmlrc.cjs": "posthtml", + ".posthtmlrc.ts": "posthtml", + ".posthtmlrc.mts": "posthtml", + ".posthtmlrc.cts": "posthtml", + ".config/posthtmlrc": "posthtml", + ".config/posthtmlrc.json": "posthtml", + ".config/posthtmlrc.jsonc": "posthtml", + ".config/posthtmlrc.json5": "posthtml", + ".config/posthtmlrc.yaml": "posthtml", + ".config/posthtmlrc.yml": "posthtml", + ".config/posthtmlrc.toml": "posthtml", + ".config/posthtmlrc.js": "posthtml", + ".config/posthtmlrc.mjs": "posthtml", + ".config/posthtmlrc.cjs": "posthtml", + ".config/posthtmlrc.ts": "posthtml", + ".config/posthtmlrc.mts": "posthtml", + ".config/posthtmlrc.cts": "posthtml", + "posthtml.config.json": "posthtml", + "posthtml.config.jsonc": "posthtml", + "posthtml.config.json5": "posthtml", + "posthtml.config.yaml": "posthtml", + "posthtml.config.yml": "posthtml", + "posthtml.config.toml": "posthtml", + "posthtml.config.js": "posthtml", + "posthtml.config.mjs": "posthtml", + "posthtml.config.cjs": "posthtml", + "posthtml.config.ts": "posthtml", + "posthtml.config.mts": "posthtml", + "posthtml.config.cts": "posthtml", + "todo.md": "todo", + "todos.md": "todo", + "cabal.project": "cabal", + "cabal.project.freeze": "cabal", + "cabal.project.local": "cabal", + CNAME: "http", + "project.graphcool": "graphcool", + "webpack.base.js": "webpack", + "webpack.base.mjs": "webpack", + "webpack.base.cjs": "webpack", + "webpack.base.ts": "webpack", + "webpack.base.mts": "webpack", + "webpack.base.cts": "webpack", + "webpack.client.js": "webpack", + "webpack.client.mjs": "webpack", + "webpack.client.cjs": "webpack", + "webpack.client.ts": "webpack", + "webpack.client.mts": "webpack", + "webpack.client.cts": "webpack", + "webpack.common.js": "webpack", + "webpack.common.mjs": "webpack", + "webpack.common.cjs": "webpack", + "webpack.common.ts": "webpack", + "webpack.common.mts": "webpack", + "webpack.common.cts": "webpack", + "webpack.config.babel.js": "webpack", + "webpack.config.babel.mjs": "webpack", + "webpack.config.babel.cjs": "webpack", + "webpack.config.babel.ts": "webpack", + "webpack.config.babel.mts": "webpack", + "webpack.config.babel.cts": "webpack", + "webpack.config.base.babel.js": "webpack", + "webpack.config.base.babel.mjs": "webpack", + "webpack.config.base.babel.cjs": "webpack", + "webpack.config.base.babel.ts": "webpack", + "webpack.config.base.babel.mts": "webpack", + "webpack.config.base.babel.cts": "webpack", + "webpack.config.base.js": "webpack", + "webpack.config.base.mjs": "webpack", + "webpack.config.base.cjs": "webpack", + "webpack.config.base.ts": "webpack", + "webpack.config.base.mts": "webpack", + "webpack.config.base.cts": "webpack", + "webpack.config.client.js": "webpack", + "webpack.config.client.mjs": "webpack", + "webpack.config.client.cjs": "webpack", + "webpack.config.client.ts": "webpack", + "webpack.config.client.mts": "webpack", + "webpack.config.client.cts": "webpack", + "webpack.config.common.babel.js": "webpack", + "webpack.config.common.babel.mjs": "webpack", + "webpack.config.common.babel.cjs": "webpack", + "webpack.config.common.babel.ts": "webpack", + "webpack.config.common.babel.mts": "webpack", + "webpack.config.common.babel.cts": "webpack", + "webpack.config.common.js": "webpack", + "webpack.config.common.mjs": "webpack", + "webpack.config.common.cjs": "webpack", + "webpack.config.common.ts": "webpack", + "webpack.config.common.mts": "webpack", + "webpack.config.common.cts": "webpack", + "webpack.config.dev.babel.js": "webpack", + "webpack.config.dev.babel.mjs": "webpack", + "webpack.config.dev.babel.cjs": "webpack", + "webpack.config.dev.babel.ts": "webpack", + "webpack.config.dev.babel.mts": "webpack", + "webpack.config.dev.babel.cts": "webpack", + "webpack.config.dev.js": "webpack", + "webpack.config.dev.mjs": "webpack", + "webpack.config.dev.cjs": "webpack", + "webpack.config.dev.ts": "webpack", + "webpack.config.dev.mts": "webpack", + "webpack.config.dev.cts": "webpack", + "webpack.config.main.js": "webpack", + "webpack.config.main.mjs": "webpack", + "webpack.config.main.cjs": "webpack", + "webpack.config.main.ts": "webpack", + "webpack.config.main.mts": "webpack", + "webpack.config.main.cts": "webpack", + "webpack.config.prod.babel.js": "webpack", + "webpack.config.prod.babel.mjs": "webpack", + "webpack.config.prod.babel.cjs": "webpack", + "webpack.config.prod.babel.ts": "webpack", + "webpack.config.prod.babel.mts": "webpack", + "webpack.config.prod.babel.cts": "webpack", + "webpack.config.prod.js": "webpack", + "webpack.config.prod.mjs": "webpack", + "webpack.config.prod.cjs": "webpack", + "webpack.config.prod.ts": "webpack", + "webpack.config.prod.mts": "webpack", + "webpack.config.prod.cts": "webpack", + "webpack.config.production.babel.js": "webpack", + "webpack.config.production.babel.mjs": "webpack", + "webpack.config.production.babel.cjs": "webpack", + "webpack.config.production.babel.ts": "webpack", + "webpack.config.production.babel.mts": "webpack", + "webpack.config.production.babel.cts": "webpack", + "webpack.config.production.js": "webpack", + "webpack.config.production.mjs": "webpack", + "webpack.config.production.cjs": "webpack", + "webpack.config.production.ts": "webpack", + "webpack.config.production.mts": "webpack", + "webpack.config.production.cts": "webpack", + "webpack.config.renderer.js": "webpack", + "webpack.config.renderer.mjs": "webpack", + "webpack.config.renderer.cjs": "webpack", + "webpack.config.renderer.ts": "webpack", + "webpack.config.renderer.mts": "webpack", + "webpack.config.renderer.cts": "webpack", + "webpack.config.server.js": "webpack", + "webpack.config.server.mjs": "webpack", + "webpack.config.server.cjs": "webpack", + "webpack.config.server.ts": "webpack", + "webpack.config.server.mts": "webpack", + "webpack.config.server.cts": "webpack", + "webpack.config.staging.babel.js": "webpack", + "webpack.config.staging.babel.mjs": "webpack", + "webpack.config.staging.babel.cjs": "webpack", + "webpack.config.staging.babel.ts": "webpack", + "webpack.config.staging.babel.mts": "webpack", + "webpack.config.staging.babel.cts": "webpack", + "webpack.config.staging.js": "webpack", + "webpack.config.staging.mjs": "webpack", + "webpack.config.staging.cjs": "webpack", + "webpack.config.staging.ts": "webpack", + "webpack.config.staging.mts": "webpack", + "webpack.config.staging.cts": "webpack", + "webpack.config.test.js": "webpack", + "webpack.config.test.mjs": "webpack", + "webpack.config.test.cjs": "webpack", + "webpack.config.test.ts": "webpack", + "webpack.config.test.mts": "webpack", + "webpack.config.test.cts": "webpack", + "webpack.config.vendor.production.js": "webpack", + "webpack.config.vendor.production.mjs": "webpack", + "webpack.config.vendor.production.cjs": "webpack", + "webpack.config.vendor.production.ts": "webpack", + "webpack.config.vendor.production.mts": "webpack", + "webpack.config.vendor.production.cts": "webpack", + "webpack.config.vendor.js": "webpack", + "webpack.config.vendor.mjs": "webpack", + "webpack.config.vendor.cjs": "webpack", + "webpack.config.vendor.ts": "webpack", + "webpack.config.vendor.mts": "webpack", + "webpack.config.vendor.cts": "webpack", + "webpack.config.js": "webpack", + "webpack.config.mjs": "webpack", + "webpack.config.cjs": "webpack", + "webpack.config.ts": "webpack", + "webpack.config.mts": "webpack", + "webpack.config.cts": "webpack", + "webpack.dev.js": "webpack", + "webpack.dev.mjs": "webpack", + "webpack.dev.cjs": "webpack", + "webpack.dev.ts": "webpack", + "webpack.dev.mts": "webpack", + "webpack.dev.cts": "webpack", + "webpack.development.js": "webpack", + "webpack.development.mjs": "webpack", + "webpack.development.cjs": "webpack", + "webpack.development.ts": "webpack", + "webpack.development.mts": "webpack", + "webpack.development.cts": "webpack", + "webpack.dist.js": "webpack", + "webpack.dist.mjs": "webpack", + "webpack.dist.cjs": "webpack", + "webpack.dist.ts": "webpack", + "webpack.dist.mts": "webpack", + "webpack.dist.cts": "webpack", + "webpack.mix.js": "webpack", + "webpack.mix.mjs": "webpack", + "webpack.mix.cjs": "webpack", + "webpack.mix.ts": "webpack", + "webpack.mix.mts": "webpack", + "webpack.mix.cts": "webpack", + "webpack.prod.config.js": "webpack", + "webpack.prod.config.mjs": "webpack", + "webpack.prod.config.cjs": "webpack", + "webpack.prod.config.ts": "webpack", + "webpack.prod.config.mts": "webpack", + "webpack.prod.config.cts": "webpack", + "webpack.prod.js": "webpack", + "webpack.prod.mjs": "webpack", + "webpack.prod.cjs": "webpack", + "webpack.prod.ts": "webpack", + "webpack.prod.mts": "webpack", + "webpack.prod.cts": "webpack", + "webpack.production.js": "webpack", + "webpack.production.mjs": "webpack", + "webpack.production.cjs": "webpack", + "webpack.production.ts": "webpack", + "webpack.production.mts": "webpack", + "webpack.production.cts": "webpack", + "webpack.server.js": "webpack", + "webpack.server.mjs": "webpack", + "webpack.server.cjs": "webpack", + "webpack.server.ts": "webpack", + "webpack.server.mts": "webpack", + "webpack.server.cts": "webpack", + "webpack.test.js": "webpack", + "webpack.test.mjs": "webpack", + "webpack.test.cjs": "webpack", + "webpack.test.ts": "webpack", + "webpack.test.mts": "webpack", + "webpack.test.cts": "webpack", + "webpack.js": "webpack", + "webpack.mjs": "webpack", + "webpack.cjs": "webpack", + "webpack.ts": "webpack", + "webpack.mts": "webpack", + "webpack.cts": "webpack", + "webpackfile.js": "webpack", + "webpackfile.mjs": "webpack", + "webpackfile.cjs": "webpack", + "webpackfile.ts": "webpack", + "webpackfile.mts": "webpack", + "webpackfile.cts": "webpack", + "webpack.config.coffee": "webpack", + "ionic.config.json": "ionic", + ".io-config.json": "ionic", + "gulpfile.js": "gulp", + "gulpfile.mjs": "gulp", + "gulpfile.ts": "gulp", + "gulpfile.cts": "gulp", + "gulpfile.mts": "gulp", + "gulpfile.babel.js": "gulp", + "package.json": "nodejs", + "package-lock.json": "nodejs", + ".nvmrc": "nodejs", + ".esmrc": "nodejs", + ".node-version": "nodejs", + ".npmignore": "npm", + ".npmrc": "npm", + ".yarnrc": "yarn", + "yarn.lock": "yarn", + ".yarnclean": "yarn", + ".yarn-integrity": "yarn", + "yarn-error.log": "yarn", + ".yarnrc.yml": "yarn", + ".yarnrc.yaml": "yarn", + "androidmanifest.xml": "android", + ".env.defaults": "tune", + ".env.example": "tune", + ".env.sample": "tune", + ".env.template": "tune", + ".env.schema": "tune", + ".env.local": "tune", + ".env.dev": "tune", + ".env.development": "tune", + ".env.alpha": "tune", + ".env.e2e": "tune", + ".env.qa": "tune", + ".env.dist": "tune", + ".env.prod": "tune", + ".env.production": "tune", + ".env.stage": "tune", + ".env.staging": "tune", + ".env.preview": "tune", + ".env.test": "tune", + ".env.testing": "tune", + ".env.development.local": "tune", + ".env.qa.local": "tune", + ".env.production.local": "tune", + ".env.staging.local": "tune", + ".env.test.local": "tune", + ".env.uat": "tune", + "turbo.json": "turborepo", + ".babelrc": "babel", + ".babelrc.json": "babel", + ".babelrc.jsonc": "babel", + ".babelrc.json5": "babel", + ".babelrc.yaml": "babel", + ".babelrc.yml": "babel", + ".babelrc.toml": "babel", + ".babelrc.js": "babel", + ".babelrc.mjs": "babel", + ".babelrc.cjs": "babel", + ".babelrc.ts": "babel", + ".babelrc.mts": "babel", + ".babelrc.cts": "babel", + ".config/babelrc": "babel", + ".config/babelrc.json": "babel", + ".config/babelrc.jsonc": "babel", + ".config/babelrc.json5": "babel", + ".config/babelrc.yaml": "babel", + ".config/babelrc.yml": "babel", + ".config/babelrc.toml": "babel", + ".config/babelrc.js": "babel", + ".config/babelrc.mjs": "babel", + ".config/babelrc.cjs": "babel", + ".config/babelrc.ts": "babel", + ".config/babelrc.mts": "babel", + ".config/babelrc.cts": "babel", + "babel.config.json": "babel", + "babel.config.jsonc": "babel", + "babel.config.json5": "babel", + "babel.config.yaml": "babel", + "babel.config.yml": "babel", + "babel.config.toml": "babel", + "babel.config.js": "babel", + "babel.config.mjs": "babel", + "babel.config.cjs": "babel", + "babel.config.ts": "babel", + "babel.config.mts": "babel", + "babel.config.cts": "babel", + ".babel-plugin-macrosrc": "babel", + ".babel-plugin-macrosrc.json": "babel", + ".babel-plugin-macrosrc.jsonc": "babel", + ".babel-plugin-macrosrc.json5": "babel", + ".babel-plugin-macrosrc.yaml": "babel", + ".babel-plugin-macrosrc.yml": "babel", + ".babel-plugin-macrosrc.toml": "babel", + ".babel-plugin-macrosrc.js": "babel", + ".babel-plugin-macrosrc.mjs": "babel", + ".babel-plugin-macrosrc.cjs": "babel", + ".babel-plugin-macrosrc.ts": "babel", + ".babel-plugin-macrosrc.mts": "babel", + ".babel-plugin-macrosrc.cts": "babel", + ".config/babel-plugin-macrosrc": "babel", + ".config/babel-plugin-macrosrc.json": "babel", + ".config/babel-plugin-macrosrc.jsonc": "babel", + ".config/babel-plugin-macrosrc.json5": "babel", + ".config/babel-plugin-macrosrc.yaml": "babel", + ".config/babel-plugin-macrosrc.yml": "babel", + ".config/babel-plugin-macrosrc.toml": "babel", + ".config/babel-plugin-macrosrc.js": "babel", + ".config/babel-plugin-macrosrc.mjs": "babel", + ".config/babel-plugin-macrosrc.cjs": "babel", + ".config/babel-plugin-macrosrc.ts": "babel", + ".config/babel-plugin-macrosrc.mts": "babel", + ".config/babel-plugin-macrosrc.cts": "babel", + "babel-plugin-macros.config.json": "babel", + "babel-plugin-macros.config.jsonc": "babel", + "babel-plugin-macros.config.json5": "babel", + "babel-plugin-macros.config.yaml": "babel", + "babel-plugin-macros.config.yml": "babel", + "babel-plugin-macros.config.toml": "babel", + "babel-plugin-macros.config.js": "babel", + "babel-plugin-macros.config.mjs": "babel", + "babel-plugin-macros.config.cjs": "babel", + "babel-plugin-macros.config.ts": "babel", + "babel-plugin-macros.config.mts": "babel", + "babel-plugin-macros.config.cts": "babel", + "babel-transform.js": "babel", + "blitz.config.js": "blitz", + "blitz.config.ts": "blitz", + ".blitz.config.compiled.js": "blitz", + "contributing.md": "contributing", + "contributing.rst": "contributing", + "contributing.txt": "contributing", + contributing: "contributing", + "readme.md": "readme", + "readme.rst": "readme", + "readme.txt": "readme", + readme: "readme", + changelog: "changelog", + "changelog.md": "changelog", + "changelog.rst": "changelog", + "changelog.txt": "changelog", + changes: "changelog", + "changes.md": "changelog", + "changes.rst": "changelog", + "changes.txt": "changelog", + "architecture.md": "architecture", + "architecture.rst": "architecture", + "architecture.txt": "architecture", + architecture: "architecture", + "credits.md": "credits", + "credits.rst": "credits", + "credits.txt": "credits", + credits: "credits", + "authors.md": "authors", + "authors.rst": "authors", + "authors.txt": "authors", + authors: "authors", + "contributors.md": "authors", + "contributors.rst": "authors", + "contributors.txt": "authors", + contributors: "authors", + ".flowconfig": "flow", + "favicon.ico": "favicon", + "karma.conf.js": "karma", + "karma.conf.ts": "karma", + "karma.conf.coffee": "karma", + "karma.config.js": "karma", + "karma.config.ts": "karma", + "karma-main.js": "karma", + "karma-main.ts": "karma", + ".bithoundrc": "bithound", + "svgo.config.js": "svgo", + "svgo.config.cjs": "svgo", + "svgo.config.mjs": "svgo", + ".appveyor.yml": "appveyor", + "appveyor.yml": "appveyor", + ".travis.yml": "travis", + ".codecov.yml": "codecov", + "codecov.yml": "codecov", + "sonar-project.properties": "sonarcloud", + ".sonarcloud.properties": "sonarcloud", + "sonarcloud.yaml": "sonarcloud", + "protractor.conf.js": "protractor", + "protractor.conf.ts": "protractor", + "protractor.conf.coffee": "protractor", + "protractor.config.js": "protractor", + "protractor.config.ts": "protractor", + "fuse.js": "fusebox", + procfile: "heroku", + "procfile.windows": "heroku", + ".editorconfig": "editorconfig", + ".bowerrc": "bower", + "bower.json": "bower", + ".eslintrc": "eslint", + ".eslintrc.json": "eslint", + ".eslintrc.jsonc": "eslint", + ".eslintrc.json5": "eslint", + ".eslintrc.yaml": "eslint", + ".eslintrc.yml": "eslint", + ".eslintrc.toml": "eslint", + ".eslintrc.js": "eslint", + ".eslintrc.mjs": "eslint", + ".eslintrc.cjs": "eslint", + ".eslintrc.ts": "eslint", + ".eslintrc.mts": "eslint", + ".eslintrc.cts": "eslint", + ".config/eslintrc": "eslint", + ".config/eslintrc.json": "eslint", + ".config/eslintrc.jsonc": "eslint", + ".config/eslintrc.json5": "eslint", + ".config/eslintrc.yaml": "eslint", + ".config/eslintrc.yml": "eslint", + ".config/eslintrc.toml": "eslint", + ".config/eslintrc.js": "eslint", + ".config/eslintrc.mjs": "eslint", + ".config/eslintrc.cjs": "eslint", + ".config/eslintrc.ts": "eslint", + ".config/eslintrc.mts": "eslint", + ".config/eslintrc.cts": "eslint", + "eslint.config.json": "eslint", + "eslint.config.jsonc": "eslint", + "eslint.config.json5": "eslint", + "eslint.config.yaml": "eslint", + "eslint.config.yml": "eslint", + "eslint.config.toml": "eslint", + "eslint.config.js": "eslint", + "eslint.config.mjs": "eslint", + "eslint.config.cjs": "eslint", + "eslint.config.ts": "eslint", + "eslint.config.mts": "eslint", + "eslint.config.cts": "eslint", + ".eslintrc-md.js": "eslint", + ".eslintrc-jsdoc.js": "eslint", + ".eslintignore": "eslint", + ".eslintcache": "eslint", + ".eslintrc.base.json": "eslint", + "code_of_conduct.md": "conduct", + "code_of_conduct.txt": "conduct", + code_of_conduct: "conduct", + ".watchmanconfig": "watchman", + "aurelia.json": "aurelia", + ".autorc": "auto", + "auto.config.js": "auto", + "auto.config.ts": "auto", + "auto-config.json": "auto", + "auto-config.yaml": "auto", + "auto-config.yml": "auto", + "auto-config.ts": "auto", + "auto-config.js": "auto", + "mocha.opts": "mocha", + ".mocharc.yml": "mocha", + ".mocharc.yaml": "mocha", + ".mocharc.js": "mocha", + ".mocharc.json": "mocha", + ".mocharc.jsonc": "mocha", + jenkinsfile: "jenkins", + "firebase.json": "firebase", + ".firebaserc": "firebase", + "firestore.rules": "firebase", + "firestore.indexes.json": "firebase", + "rollup.config.js": "rollup", + "rollup.config.mjs": "rollup", + "rollup.config.ts": "rollup", + "rollup-config.js": "rollup", + "rollup-config.mjs": "rollup", + "rollup-config.ts": "rollup", + "rollup.config.common.js": "rollup", + "rollup.config.common.mjs": "rollup", + "rollup.config.common.ts": "rollup", + "rollup.config.base.js": "rollup", + "rollup.config.base.mjs": "rollup", + "rollup.config.base.ts": "rollup", + "rollup.config.prod.js": "rollup", + "rollup.config.prod.mjs": "rollup", + "rollup.config.prod.ts": "rollup", + "rollup.config.dev.js": "rollup", + "rollup.config.dev.mjs": "rollup", + "rollup.config.dev.ts": "rollup", + "rollup.config.prod.vendor.js": "rollup", + "rollup.config.prod.vendor.mjs": "rollup", + "rollup.config.prod.vendor.ts": "rollup", + ".hhconfig": "hack", + "hardhat.config.js": "hardhat", + "hardhat.config.ts": "hardhat", + ".stylelintrc": "stylelint", + ".stylelintrc.json": "stylelint", + ".stylelintrc.jsonc": "stylelint", + ".stylelintrc.json5": "stylelint", + ".stylelintrc.yaml": "stylelint", + ".stylelintrc.yml": "stylelint", + ".stylelintrc.toml": "stylelint", + ".stylelintrc.js": "stylelint", + ".stylelintrc.mjs": "stylelint", + ".stylelintrc.cjs": "stylelint", + ".stylelintrc.ts": "stylelint", + ".stylelintrc.mts": "stylelint", + ".stylelintrc.cts": "stylelint", + ".config/stylelintrc": "stylelint", + ".config/stylelintrc.json": "stylelint", + ".config/stylelintrc.jsonc": "stylelint", + ".config/stylelintrc.json5": "stylelint", + ".config/stylelintrc.yaml": "stylelint", + ".config/stylelintrc.yml": "stylelint", + ".config/stylelintrc.toml": "stylelint", + ".config/stylelintrc.js": "stylelint", + ".config/stylelintrc.mjs": "stylelint", + ".config/stylelintrc.cjs": "stylelint", + ".config/stylelintrc.ts": "stylelint", + ".config/stylelintrc.mts": "stylelint", + ".config/stylelintrc.cts": "stylelint", + "stylelint.config.json": "stylelint", + "stylelint.config.jsonc": "stylelint", + "stylelint.config.json5": "stylelint", + "stylelint.config.yaml": "stylelint", + "stylelint.config.yml": "stylelint", + "stylelint.config.toml": "stylelint", + "stylelint.config.js": "stylelint", + "stylelint.config.mjs": "stylelint", + "stylelint.config.cjs": "stylelint", + "stylelint.config.ts": "stylelint", + "stylelint.config.mts": "stylelint", + "stylelint.config.cts": "stylelint", + ".stylelintignore": "stylelint", + ".stylelintcache": "stylelint", + ".codeclimate.yml": "code-climate", + ".prettierrc": "prettier", + ".prettierrc.json": "prettier", + ".prettierrc.jsonc": "prettier", + ".prettierrc.json5": "prettier", + ".prettierrc.yaml": "prettier", + ".prettierrc.yml": "prettier", + ".prettierrc.toml": "prettier", + ".prettierrc.js": "prettier", + ".prettierrc.mjs": "prettier", + ".prettierrc.cjs": "prettier", + ".prettierrc.ts": "prettier", + ".prettierrc.mts": "prettier", + ".prettierrc.cts": "prettier", + ".config/prettierrc": "prettier", + ".config/prettierrc.json": "prettier", + ".config/prettierrc.jsonc": "prettier", + ".config/prettierrc.json5": "prettier", + ".config/prettierrc.yaml": "prettier", + ".config/prettierrc.yml": "prettier", + ".config/prettierrc.toml": "prettier", + ".config/prettierrc.js": "prettier", + ".config/prettierrc.mjs": "prettier", + ".config/prettierrc.cjs": "prettier", + ".config/prettierrc.ts": "prettier", + ".config/prettierrc.mts": "prettier", + ".config/prettierrc.cts": "prettier", + "prettier.config.json": "prettier", + "prettier.config.jsonc": "prettier", + "prettier.config.json5": "prettier", + "prettier.config.yaml": "prettier", + "prettier.config.yml": "prettier", + "prettier.config.toml": "prettier", + "prettier.config.js": "prettier", + "prettier.config.mjs": "prettier", + "prettier.config.cjs": "prettier", + "prettier.config.ts": "prettier", + "prettier.config.mts": "prettier", + "prettier.config.cts": "prettier", + ".prettierignore": "prettier", + ".renovaterc": "renovate", + ".renovaterc.json": "renovate", + "renovate-config.json": "renovate", + "renovate.json": "renovate", + "renovate.json5": "renovate", + "apollo.config.js": "apollo", + "nodemon.json": "nodemon", + "nodemon-debug.json": "nodemon", + ".hintrc": "webhint", + browserslist: "browserlist", + ".browserslistrc": "browserlist", + ".snyk": "snyk", + ".drone.yml": "drone", + ".sequelizerc": "sequelize", + "gatsby-config.js": "gatsby", + "gatsby-config.mjs": "gatsby", + "gatsby-config.ts": "gatsby", + "gatsby-node.js": "gatsby", + "gatsby-node.mjs": "gatsby", + "gatsby-node.ts": "gatsby", + "gatsby-browser.js": "gatsby", + "gatsby-browser.tsx": "gatsby", + "gatsby-ssr.js": "gatsby", + "gatsby-ssr.tsx": "gatsby", + ".wakatime-project": "wakatime", + "circle.yml": "circleci", + ".cfignore": "cloudfoundry", + "gruntfile.js": "grunt", + "gruntfile.ts": "grunt", + "gruntfile.cjs": "grunt", + "gruntfile.cts": "grunt", + "gruntfile.coffee": "grunt", + "gruntfile.babel.js": "grunt", + "gruntfile.babel.ts": "grunt", + "gruntfile.babel.coffee": "grunt", + "jest.config.js": "jest", + "jest.config.cjs": "jest", + "jest.config.mjs": "jest", + "jest.config.ts": "jest", + "jest.config.cts": "jest", + "jest.config.mts": "jest", + "jest.config.json": "jest", + "jest.e2e.config.js": "jest", + "jest.e2e.config.cjs": "jest", + "jest.e2e.config.mjs": "jest", + "jest.e2e.config.ts": "jest", + "jest.e2e.config.cts": "jest", + "jest.e2e.config.mts": "jest", + "jest.e2e.config.json": "jest", + "jest.e2e.json": "jest", + "jest-unit.config.js": "jest", + "jest-e2e.config.js": "jest", + "jest-e2e.config.cjs": "jest", + "jest-e2e.config.mjs": "jest", + "jest-e2e.config.ts": "jest", + "jest-e2e.config.cts": "jest", + "jest-e2e.config.mts": "jest", + "jest-e2e.config.json": "jest", + "jest-e2e.json": "jest", + "jest-github-actions-reporter.js": "jest", + "jest.setup.js": "jest", + "jest.setup.ts": "jest", + "jest.json": "jest", + ".jestrc": "jest", + ".jestrc.js": "jest", + ".jestrc.json": "jest", + "jest.teardown.js": "jest", + "jest-preset.json": "jest", + "jest-preset.js": "jest", + "jest-preset.cjs": "jest", + "jest-preset.mjs": "jest", + "jest.preset.js": "jest", + "jest.preset.mjs": "jest", + "jest.preset.cjs": "jest", + "jest.preset.json": "jest", + fastfile: "fastlane", + appfile: "fastlane", + ".helmignore": "helm", + "wallaby.js": "wallaby", + "wallaby.conf.js": "wallaby", + "stencil.config.js": "stencil", + "stencil.config.ts": "stencil", + makefile: "makefile", + gnumakefile: "makefile", + kbuild: "makefile", + ".releaserc": "semantic-release", + ".releaserc.json": "semantic-release", + ".releaserc.jsonc": "semantic-release", + ".releaserc.json5": "semantic-release", + ".releaserc.yaml": "semantic-release", + ".releaserc.yml": "semantic-release", + ".releaserc.toml": "semantic-release", + ".releaserc.js": "semantic-release", + ".releaserc.mjs": "semantic-release", + ".releaserc.cjs": "semantic-release", + ".releaserc.ts": "semantic-release", + ".releaserc.mts": "semantic-release", + ".releaserc.cts": "semantic-release", + ".config/releaserc": "semantic-release", + ".config/releaserc.json": "semantic-release", + ".config/releaserc.jsonc": "semantic-release", + ".config/releaserc.json5": "semantic-release", + ".config/releaserc.yaml": "semantic-release", + ".config/releaserc.yml": "semantic-release", + ".config/releaserc.toml": "semantic-release", + ".config/releaserc.js": "semantic-release", + ".config/releaserc.mjs": "semantic-release", + ".config/releaserc.cjs": "semantic-release", + ".config/releaserc.ts": "semantic-release", + ".config/releaserc.mts": "semantic-release", + ".config/releaserc.cts": "semantic-release", + "release.config.json": "semantic-release", + "release.config.jsonc": "semantic-release", + "release.config.json5": "semantic-release", + "release.config.yaml": "semantic-release", + "release.config.yml": "semantic-release", + "release.config.toml": "semantic-release", + "release.config.js": "semantic-release", + "release.config.mjs": "semantic-release", + "release.config.cjs": "semantic-release", + "release.config.ts": "semantic-release", + "release.config.mts": "semantic-release", + "release.config.cts": "semantic-release", + "bitbucket-pipelines.yaml": "bitbucket", + "bitbucket-pipelines.yml": "bitbucket", + ".bazelignore": "bazel", + ".bazelrc": "bazel", + ".bazelversion": "bazel", + ".gdignore": "godot-assets", + "._sc_": "godot-assets", + _sc_: "godot-assets", + "azure-pipelines.yml": "azure-pipelines", + "azure-pipelines.yaml": "azure-pipelines", + "azure-pipelines-main.yml": "azure-pipelines", + "azure-pipelines-main.yaml": "azure-pipelines", + vagrantfile: "vagrant", + "prisma.yml": "prisma", + ".nycrc": "istanbul", + ".nycrc.json": "istanbul", + ".nycrc.yaml": "istanbul", + ".nycrc.yml": "istanbul", + "nyc.config.js": "istanbul", + ".istanbul.yml": "istanbul", + "tailwind.js": "tailwindcss", + "tailwind.ts": "tailwindcss", + "tailwind.config.js": "tailwindcss", + "tailwind.config.cjs": "tailwindcss", + "tailwind.config.mjs": "tailwindcss", + "tailwind.config.ts": "tailwindcss", + "tailwind.config.cts": "tailwindcss", + "tailwind.config.mts": "tailwindcss", + "buildkite.yml": "buildkite", + "buildkite.yaml": "buildkite", + "netlify.json": "netlify", + "netlify.yml": "netlify", + "netlify.yaml": "netlify", + "netlify.toml": "netlify", + "svelte.config.js": "svelte", + "svelte.config.cjs": "svelte", + "nest-cli.json": "nest", + ".nest-cli.json": "nest", + "nestconfig.json": "nest", + ".nestconfig.json": "nest", + "moon.yml": "moon", + ".percy.yml": "percy", + ".gitpod.yml": "gitpod", + codeowners: "codeowners", + OWNERS: "codeowners", + ".gcloudignore": "gcp", + ".huskyrc": "husky", + ".huskyrc.json": "husky", + ".huskyrc.jsonc": "husky", + ".huskyrc.json5": "husky", + ".huskyrc.yaml": "husky", + ".huskyrc.yml": "husky", + ".huskyrc.toml": "husky", + ".huskyrc.js": "husky", + ".huskyrc.mjs": "husky", + ".huskyrc.cjs": "husky", + ".huskyrc.ts": "husky", + ".huskyrc.mts": "husky", + ".huskyrc.cts": "husky", + ".config/huskyrc": "husky", + ".config/huskyrc.json": "husky", + ".config/huskyrc.jsonc": "husky", + ".config/huskyrc.json5": "husky", + ".config/huskyrc.yaml": "husky", + ".config/huskyrc.yml": "husky", + ".config/huskyrc.toml": "husky", + ".config/huskyrc.js": "husky", + ".config/huskyrc.mjs": "husky", + ".config/huskyrc.cjs": "husky", + ".config/huskyrc.ts": "husky", + ".config/huskyrc.mts": "husky", + ".config/huskyrc.cts": "husky", + "husky.config.json": "husky", + "husky.config.jsonc": "husky", + "husky.config.json5": "husky", + "husky.config.yaml": "husky", + "husky.config.yml": "husky", + "husky.config.toml": "husky", + "husky.config.js": "husky", + "husky.config.mjs": "husky", + "husky.config.cjs": "husky", + "husky.config.ts": "husky", + "husky.config.mts": "husky", + "husky.config.cts": "husky", + tiltfile: "tilt", + "capacitor.config.json": "capacitor", + "capacitor.config.ts": "capacitor", + ".adonisrc.json": "adonis", + ace: "adonis", + "meson.build": "meson", + "meson_options.txt": "meson", + ".commitlintrc": "commitlint", + ".commitlintrc.json": "commitlint", + ".commitlintrc.jsonc": "commitlint", + ".commitlintrc.json5": "commitlint", + ".commitlintrc.yaml": "commitlint", + ".commitlintrc.yml": "commitlint", + ".commitlintrc.toml": "commitlint", + ".commitlintrc.js": "commitlint", + ".commitlintrc.mjs": "commitlint", + ".commitlintrc.cjs": "commitlint", + ".commitlintrc.ts": "commitlint", + ".commitlintrc.mts": "commitlint", + ".commitlintrc.cts": "commitlint", + ".config/commitlintrc": "commitlint", + ".config/commitlintrc.json": "commitlint", + ".config/commitlintrc.jsonc": "commitlint", + ".config/commitlintrc.json5": "commitlint", + ".config/commitlintrc.yaml": "commitlint", + ".config/commitlintrc.yml": "commitlint", + ".config/commitlintrc.toml": "commitlint", + ".config/commitlintrc.js": "commitlint", + ".config/commitlintrc.mjs": "commitlint", + ".config/commitlintrc.cjs": "commitlint", + ".config/commitlintrc.ts": "commitlint", + ".config/commitlintrc.mts": "commitlint", + ".config/commitlintrc.cts": "commitlint", + "commitlint.config.json": "commitlint", + "commitlint.config.jsonc": "commitlint", + "commitlint.config.json5": "commitlint", + "commitlint.config.yaml": "commitlint", + "commitlint.config.yml": "commitlint", + "commitlint.config.toml": "commitlint", + "commitlint.config.js": "commitlint", + "commitlint.config.mjs": "commitlint", + "commitlint.config.cjs": "commitlint", + "commitlint.config.ts": "commitlint", + "commitlint.config.mts": "commitlint", + "commitlint.config.cts": "commitlint", + ".commitlint.yaml": "commitlint", + ".commitlint.yml": "commitlint", + ".buckconfig": "buck", + "nx.json": "nx", + ".nxignore": "nx", + dune: "dune", + "dune-project": "dune", + "dune-workspace": "dune", + "dune-workspace.dev": "dune", + "roadmap.md": "roadmap", + "roadmap.txt": "roadmap", + "timeline.md": "roadmap", + "timeline.txt": "roadmap", + "milestones.md": "roadmap", + "milestones.txt": "roadmap", + "nuget.config": "nuget", + ".nuspec": "nuget", + "nuget.exe": "nuget", + "stryker.conf.json": "stryker", + "stryker.conf.js": "stryker", + "stryker.conf.cjs": "stryker", + "stryker.conf.mjs": "stryker", + ".stryker.conf.json": "stryker", + ".stryker.conf.js": "stryker", + ".stryker.conf.cjs": "stryker", + ".stryker.conf.mjs": "stryker", + ".modernizrrc": "modernizr", + ".modernizrrc.js": "modernizr", + ".modernizrrc.json": "modernizr", + ".slugignore": "slug", + "stitches.config.js": "stitches", + "stitches.config.ts": "stitches", + "nginx.conf": "nginx", + ".mcattributes": "minecraft", + ".mcdefinitions": "minecraft", + ".mcignore": "minecraft", + ".replit": "replit", + "snowpack.config.js": "snowpack", + "snowpack.config.cjs": "snowpack", + "snowpack.config.mjs": "snowpack", + "snowpack.config.ts": "snowpack", + "snowpack.config.cts": "snowpack", + "snowpack.config.mts": "snowpack", + "snowpack.deps.json": "snowpack", + "snowpack.config.json": "snowpack", + "quasar.conf.js": "quasar", + "quasar.config.js": "quasar", + "dependabot.yml": "dependabot", + "dependabot.yaml": "dependabot", + "vite.config.js": "vite", + "vite.config.mjs": "vite", + "vite.config.cjs": "vite", + "vite.config.ts": "vite", + "vite.config.cts": "vite", + "vite.config.mts": "vite", + "vitest.config.ts": "vitest", + "vitest.config.mts": "vitest", + "vitest.config.cts": "vitest", + "vitest.config.js": "vitest", + "vitest.config.mjs": "vitest", + "vitest.config.cjs": "vitest", + "vitest.workspace.ts": "vitest", + "vitest.workspace.mts": "vitest", + "vitest.workspace.cts": "vitest", + "vitest.workspace.js": "vitest", + "vitest.workspace.mjs": "vitest", + "vitest.workspace.cjs": "vitest", + "lerna.json": "lerna", + "windi.config.js": "windicss", + "windi.config.cjs": "windicss", + "windi.config.ts": "windicss", + "windi.config.cts": "windicss", + "windi.config.json": "windicss", + ".textlintrc": "textlint", + ".textlintrc.js": "textlint", + ".textlintrc.json": "textlint", + ".textlintrc.yml": "textlint", + ".textlintrc.yaml": "textlint", + "vpkg.json": "vlang", + "v.mod": "vlang", + ".sentryclirc": "sentry", + ".phpunit.result.cache": "phpunit", + ".phpunit-watcher.yml": "phpunit", + "phpunit.xml": "phpunit", + "phpunit.xml.dist": "phpunit", + "phpunit-watcher.yml": "phpunit", + "phpunit-watcher.yml.dist": "phpunit", + ".php_cs": "php-cs-fixer", + ".php_cs.dist": "php-cs-fixer", + ".php_cs.php": "php-cs-fixer", + ".php_cs.dist.php": "php-cs-fixer", + ".php-cs-fixer.php": "php-cs-fixer", + ".php-cs-fixer.dist.php": "php-cs-fixer", + "robots.txt": "robots", + "tsconfig.json": "tsconfig", + "tsconfig.app.json": "tsconfig", + "tsconfig.editor.json": "tsconfig", + "tsconfig.spec.json": "tsconfig", + "tsconfig.base.json": "tsconfig", + "tsconfig.build.json": "tsconfig", + "tsconfig.eslint.json": "tsconfig", + "tsconfig.lib.json": "tsconfig", + "tsconfig.lib.prod.json": "tsconfig", + "tsconfig.node.json": "tsconfig", + "tsconfig.test.json": "tsconfig", + "tsconfig.e2e.json": "tsconfig", + "tsconfig.web.json": "tsconfig", + "tsconfig.webworker.json": "tsconfig", + "tsconfig.worker.json": "tsconfig", + "tsconfig.config.json": "tsconfig", + "tsconfig.vitest.json": "tsconfig", + "tsconfig.cjs.json": "tsconfig", + "tsconfig.esm.json": "tsconfig", + "tsconfig.mjs.json": "tsconfig", + "tsconfig.doc.json": "tsconfig", + "tsconfig.paths.json": "tsconfig", + "tsconfig.main.json": "tsconfig", + "tsconfig.renderer.json": "tsconfig", + "tsconfig.server.json": "tsconfig", + "tauri.conf.json": "tauri", + "tauri.config.json": "tauri", + "tauri.linux.conf.json": "tauri", + "tauri.windows.conf.json": "tauri", + "tauri.macos.conf.json": "tauri", + ".taurignore": "tauri", + "jsconfig.json": "jsconfig", + "maven.config": "maven", + "jvm.config": "maven", + "pom.xml": "maven", + "serverless.yml": "serverless", + "serverless.yaml": "serverless", + "serverless.json": "serverless", + "serverless.js": "serverless", + "serverless.ts": "serverless", + "supabase.js": "supabase", + "supabase.py": "supabase", + ".ember-cli": "ember", + ".ember-cli.js": "ember", + "ember-cli-builds.js": "ember", + "horusec-config.json": "horusec", + "poetry.lock": "poetry", + "pdm.lock": "pdm", + "pdm.toml": "pdm", + ".pdm-python": "pdm", + ".parcelrc": "parcel", + ".astylerc": "astyle", + ".lighthouserc.js": "lighthouse", + "lighthouserc.js": "lighthouse", + ".lighthouserc.cjs": "lighthouse", + "lighthouserc.cjs": "lighthouse", + ".lighthouserc.json": "lighthouse", + "lighthouserc.json": "lighthouse", + ".lighthouserc.yml": "lighthouse", + "lighthouserc.yml": "lighthouse", + ".lighthouserc.yaml": "lighthouse", + "lighthouserc.yaml": "lighthouse", + ".svgrrc": "svgr", + ".svgrrc.json": "svgr", + ".svgrrc.jsonc": "svgr", + ".svgrrc.json5": "svgr", + ".svgrrc.yaml": "svgr", + ".svgrrc.yml": "svgr", + ".svgrrc.toml": "svgr", + ".svgrrc.js": "svgr", + ".svgrrc.mjs": "svgr", + ".svgrrc.cjs": "svgr", + ".svgrrc.ts": "svgr", + ".svgrrc.mts": "svgr", + ".svgrrc.cts": "svgr", + ".config/svgrrc": "svgr", + ".config/svgrrc.json": "svgr", + ".config/svgrrc.jsonc": "svgr", + ".config/svgrrc.json5": "svgr", + ".config/svgrrc.yaml": "svgr", + ".config/svgrrc.yml": "svgr", + ".config/svgrrc.toml": "svgr", + ".config/svgrrc.js": "svgr", + ".config/svgrrc.mjs": "svgr", + ".config/svgrrc.cjs": "svgr", + ".config/svgrrc.ts": "svgr", + ".config/svgrrc.mts": "svgr", + ".config/svgrrc.cts": "svgr", + "svgr.config.json": "svgr", + "svgr.config.jsonc": "svgr", + "svgr.config.json5": "svgr", + "svgr.config.yaml": "svgr", + "svgr.config.yml": "svgr", + "svgr.config.toml": "svgr", + "svgr.config.js": "svgr", + "svgr.config.mjs": "svgr", + "svgr.config.cjs": "svgr", + "svgr.config.ts": "svgr", + "svgr.config.mts": "svgr", + "svgr.config.cts": "svgr", + "rome.json": "rome", + "cypress.json": "cypress", + "cypress.env.json": "cypress", + "cypress.config.ts": "cypress", + "cypress.config.js": "cypress", + "cypress.config.cjs": "cypress", + "cypress.config.mjs": "cypress", + "plopfile.js": "plop", + "plopfile.cjs": "plop", + "plopfile.mjs": "plop", + "plopfile.ts": "plop", + ".tobimake": "tobimake", + "gleam.toml": "gleam", + "pnpm-lock.yaml": "pnpm", + "pnpm-workspace.yaml": "pnpm", + ".pnpmfile.cjs": "pnpm", + "gridsome.config.js": "gridsome", + "gridsome.server.js": "gridsome", + ".steadybit.yml": "steadybit", + "steadybit.yml": "steadybit", + ".steadybit.yaml": "steadybit", + "steadybit.yaml": "steadybit", + Caddyfile: "caddy", + "openapi.json": "openapi", + "openapi.yml": "openapi", + "openapi.yaml": "openapi", + "swagger.json": "swagger", + "swagger.yml": "swagger", + "swagger.yaml": "swagger", + "bun.lockb": "bun", + "bunfig.toml": "bun", + ".nano-staged.js": "nano-staged", + "nano-staged.js": "nano-staged", + ".nano-staged.cjs": "nano-staged", + "nano-staged.cjs": "nano-staged", + ".nano-staged.mjs": "nano-staged", + "nano-staged.mjs": "nano-staged", + ".nano-staged.json": "nano-staged", + "nano-staged.json": "nano-staged", + ".nanostagedrc": "nano-staged", + "knip.json": "knip", + "knip.jsonc": "knip", + ".knip.json": "knip", + ".knip.jsonc": "knip", + "knip.ts": "knip", + "knip.js": "knip", + "knip.config.ts": "knip", + "knip.config.js": "knip", + "taskfile.yml": "taskfile", + "taskfile.yaml": "taskfile", + "taskfile.dist.yml": "taskfile", + "taskfile.dist.yaml": "taskfile", + ".cracorc": "craco", + ".cracorc.json": "craco", + ".cracorc.jsonc": "craco", + ".cracorc.json5": "craco", + ".cracorc.yaml": "craco", + ".cracorc.yml": "craco", + ".cracorc.toml": "craco", + ".cracorc.js": "craco", + ".cracorc.mjs": "craco", + ".cracorc.cjs": "craco", + ".cracorc.ts": "craco", + ".cracorc.mts": "craco", + ".cracorc.cts": "craco", + ".config/cracorc": "craco", + ".config/cracorc.json": "craco", + ".config/cracorc.jsonc": "craco", + ".config/cracorc.json5": "craco", + ".config/cracorc.yaml": "craco", + ".config/cracorc.yml": "craco", + ".config/cracorc.toml": "craco", + ".config/cracorc.js": "craco", + ".config/cracorc.mjs": "craco", + ".config/cracorc.cjs": "craco", + ".config/cracorc.ts": "craco", + ".config/cracorc.mts": "craco", + ".config/cracorc.cts": "craco", + "craco.config.json": "craco", + "craco.config.jsonc": "craco", + "craco.config.json5": "craco", + "craco.config.yaml": "craco", + "craco.config.yml": "craco", + "craco.config.toml": "craco", + "craco.config.js": "craco", + "craco.config.mjs": "craco", + "craco.config.cjs": "craco", + "craco.config.ts": "craco", + "craco.config.mts": "craco", + "craco.config.cts": "craco", + ".hg": "mercurial", + ".hgignore": "mercurial", + ".hgflow": "mercurial", + ".hgrc": "mercurial", + hgrc: "mercurial", + "mercurial.ini": "mercurial", + "deno.json": "deno", + "deno.jsonc": "deno", + "deno.lock": "deno", + "plastic.branchexplorer": "plastic", + "plastic.selector": "plastic", + "plastic.wktree": "plastic", + "plastic.workspace": "plastic", + "plastic.workspaces": "plastic", + "uno.config.js": "unocss", + "uno.config.mjs": "unocss", + "uno.config.ts": "unocss", + "uno.config.mts": "unocss", + "unocss.config.js": "unocss", + "unocss.config.mjs": "unocss", + "unocss.config.ts": "unocss", + "unocss.config.mts": "unocss", + ".mincloudrc": "ifanr-cloud", + "concourse.yml": "concourse", + ".syncpackrc": "syncpack", + ".syncpackrc.json": "syncpack", + ".syncpackrc.jsonc": "syncpack", + ".syncpackrc.json5": "syncpack", + ".syncpackrc.yaml": "syncpack", + ".syncpackrc.yml": "syncpack", + ".syncpackrc.toml": "syncpack", + ".syncpackrc.js": "syncpack", + ".syncpackrc.mjs": "syncpack", + ".syncpackrc.cjs": "syncpack", + ".syncpackrc.ts": "syncpack", + ".syncpackrc.mts": "syncpack", + ".syncpackrc.cts": "syncpack", + ".config/syncpackrc": "syncpack", + ".config/syncpackrc.json": "syncpack", + ".config/syncpackrc.jsonc": "syncpack", + ".config/syncpackrc.json5": "syncpack", + ".config/syncpackrc.yaml": "syncpack", + ".config/syncpackrc.yml": "syncpack", + ".config/syncpackrc.toml": "syncpack", + ".config/syncpackrc.js": "syncpack", + ".config/syncpackrc.mjs": "syncpack", + ".config/syncpackrc.cjs": "syncpack", + ".config/syncpackrc.ts": "syncpack", + ".config/syncpackrc.mts": "syncpack", + ".config/syncpackrc.cts": "syncpack", + "syncpack.config.json": "syncpack", + "syncpack.config.jsonc": "syncpack", + "syncpack.config.json5": "syncpack", + "syncpack.config.yaml": "syncpack", + "syncpack.config.yml": "syncpack", + "syncpack.config.toml": "syncpack", + "syncpack.config.js": "syncpack", + "syncpack.config.mjs": "syncpack", + "syncpack.config.cjs": "syncpack", + "syncpack.config.ts": "syncpack", + "syncpack.config.mts": "syncpack", + "syncpack.config.cts": "syncpack", + "werf.yaml": "werf", + "werf.yml": "werf", + "werf-giterminism.yaml": "werf", + "werf-giterminism.yml": "werf", + "panda.config.ts": "panda", + "panda.config.js": "panda", + "panda.config.mjs": "panda", + "panda.config.mts": "panda", + "panda.config.cjs": "panda", + "biome.json": "biome", + "esbuild.js": "esbuild", + "esbuild.ts": "esbuild", + "esbuild.cjs": "esbuild", + "esbuild.mjs": "esbuild", + "esbuild.config.js": "esbuild", + "esbuild.config.ts": "esbuild", + "esbuild.config.cjs": "esbuild", + "esbuild.config.mjs": "esbuild", + ".puppeteerrc": "puppeteer", + ".puppeteerrc.json": "puppeteer", + ".puppeteerrc.jsonc": "puppeteer", + ".puppeteerrc.json5": "puppeteer", + ".puppeteerrc.yaml": "puppeteer", + ".puppeteerrc.yml": "puppeteer", + ".puppeteerrc.toml": "puppeteer", + ".puppeteerrc.js": "puppeteer", + ".puppeteerrc.mjs": "puppeteer", + ".puppeteerrc.cjs": "puppeteer", + ".puppeteerrc.ts": "puppeteer", + ".puppeteerrc.mts": "puppeteer", + ".puppeteerrc.cts": "puppeteer", + ".config/puppeteerrc": "puppeteer", + ".config/puppeteerrc.json": "puppeteer", + ".config/puppeteerrc.jsonc": "puppeteer", + ".config/puppeteerrc.json5": "puppeteer", + ".config/puppeteerrc.yaml": "puppeteer", + ".config/puppeteerrc.yml": "puppeteer", + ".config/puppeteerrc.toml": "puppeteer", + ".config/puppeteerrc.js": "puppeteer", + ".config/puppeteerrc.mjs": "puppeteer", + ".config/puppeteerrc.cjs": "puppeteer", + ".config/puppeteerrc.ts": "puppeteer", + ".config/puppeteerrc.mts": "puppeteer", + ".config/puppeteerrc.cts": "puppeteer", + "puppeteer.config.json": "puppeteer", + "puppeteer.config.jsonc": "puppeteer", + "puppeteer.config.json5": "puppeteer", + "puppeteer.config.yaml": "puppeteer", + "puppeteer.config.yml": "puppeteer", + "puppeteer.config.toml": "puppeteer", + "puppeteer.config.js": "puppeteer", + "puppeteer.config.mjs": "puppeteer", + "puppeteer.config.cjs": "puppeteer", + "puppeteer.config.ts": "puppeteer", + "puppeteer.config.mts": "puppeteer", + "puppeteer.config.cts": "puppeteer", + PklProject: "pkl", + "PklProject.deps.json": "pkl", + "k8s.yml": "kubernetes", + "k8s.yaml": "kubernetes", + "kubernetes.yml": "kubernetes", + "kubernetes.yaml": "kubernetes", + ".k8s.yml": "kubernetes", + ".k8s.yaml": "kubernetes", + }, +} +function Cdt(t) { + const e = t.split("/") + return e[e.length - 1] ?? t +} +function T8t(t) { + return ( + oh.fileNames[t] ?? + oh.fileNames[t.toLowerCase()] ?? + oh.fileExtensions[j8t(t)] ?? + oh.fileExtensions[M8t(t)] ?? + (t.endsWith(".html") ? "html" : null) ?? + (t.endsWith(".ts") ? "typescript" : null) ?? + (t.endsWith(".js") ? "javascript" : null) ?? + "file" + ) +} +function I8t(t) { + return oh.folderNames[t] ?? oh.folderNames[t.toLowerCase()] ?? "folder" +} +function M8t(t) { + return t.substring(t.lastIndexOf(".") + 1) +} +function j8t(t) { + return t.slice(t.indexOf(".") + 1) +} +function E8t(t, e) { + return `${e}/${t.toString()}.svg` +} +function z8t(t) { + const e = Cdt(t) + return T8t(e) +} +function $8t(t) { + const e = Cdt(t) + return I8t(e) +} +const L8t = ({ + onSelect: t, + searchQuery: e, + onMouseDown: n, + selectedIndex: o, + setSelectedIndex: r, + selectedType: i, + queryItems: s, + modes: a, + dynamicSearchResults: c = [], + commands: d = [], + }) => { + const [u, m] = k.useState(""), + f = k.useRef(null), + g = k.useMemo(() => bj(e, i, s, c, a, d), [e, i, s, c, a, d]) + k.useEffect(() => { + if (f.current) { + const y = f.current.children[o] + if (y) { + const C = f.current.getBoundingClientRect(), + S = y.getBoundingClientRect() + S.bottom > C.bottom + ? (f.current.scrollTop += S.bottom - C.bottom) + : S.top < C.top && (f.current.scrollTop -= C.top - S.top) + } + } + }, [o]), + k.useEffect(() => { + m(window.MATERIAL_ICONS_BASE_URI) + }, []) + const b = (y) => { + switch (y.type) { + case pt.SectionHeader: + return l.jsx("span", { + style: { + fontWeight: "bold", + fontSize: "0.85em", + opacity: 0.8, + textTransform: "uppercase", + letterSpacing: "0.5px", + }, + children: y.label, + }) + case pt.Mode: + return l.jsxs("div", { + style: { display: "flex", flexDirection: "column", gap: "2px" }, + children: [ + l.jsx("div", { + style: { lineHeight: "1.2" }, + children: l.jsx("span", { children: y.slashCommand }), + }), + y.description && + l.jsx("span", { + style: { + opacity: 0.5, + fontSize: "0.9em", + lineHeight: "1.2", + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis", + }, + children: y.description, + }), + ], + }) + case pt.Command: + return l.jsxs("div", { + style: { display: "flex", flexDirection: "column", gap: "2px" }, + children: [ + l.jsxs("div", { + style: { lineHeight: "1.2", display: "flex", alignItems: "center", gap: "6px" }, + children: [ + l.jsx("span", { children: y.slashCommand }), + y.argumentHint && + l.jsx("span", { + style: { opacity: 0.5, fontSize: "0.9em", lineHeight: "1.2" }, + children: y.argumentHint, + }), + ], + }), + y.description && + l.jsx("span", { + style: { + opacity: 0.5, + fontSize: "0.9em", + lineHeight: "1.2", + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis", + }, + children: y.description, + }), + ], + }) + case pt.Problems: + return l.jsx("span", { children: "Problems" }) + case pt.Terminal: + return l.jsx("span", { children: "Terminal" }) + case pt.URL: + return l.jsx("span", { children: "Paste URL to fetch contents" }) + case pt.NoResults: + return l.jsx("span", { children: "No results found" }) + case pt.Git: + return y.value + ? l.jsxs("div", { + style: { display: "flex", flexDirection: "column", gap: 0 }, + children: [ + l.jsx("span", { style: { lineHeight: "1.2" }, children: y.label }), + l.jsx("span", { + style: { + fontSize: "0.85em", + opacity: 0.7, + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis", + lineHeight: "1.2", + }, + children: y.description, + }), + ], + }) + : l.jsx("span", { children: "Git Commits" }) + case pt.File: + case pt.OpenedFile: + case pt.Folder: + if (y.value) { + const S = JC(y.value || "") + .replace(/\/$/, "") + .split("/"), + P = S.at(-1), + R = S.slice(0, -1).join("/") + return l.jsxs("div", { + style: { + flex: 1, + overflow: "hidden", + display: "flex", + gap: "0.5em", + whiteSpace: "nowrap", + alignItems: "center", + justifyContent: "space-between", + textAlign: "left", + }, + children: [ + l.jsx("span", { children: P }), + l.jsx("span", { + style: { + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis", + direction: "rtl", + textAlign: "right", + flex: 1, + opacity: 0.75, + fontSize: "0.75em", + }, + children: R, + }), + ], + }) + } else return l.jsxs("span", { children: ["Add ", y.type === pt.File ? "File" : "Folder"] }) + } + }, + v = (y) => { + switch (y.type) { + case pt.Mode: + return "symbol-misc" + case pt.Command: + return "play" + case pt.OpenedFile: + return "window" + case pt.File: + return "file" + case pt.Folder: + return "folder" + case pt.Problems: + return "warning" + case pt.Terminal: + return "terminal" + case pt.URL: + return "link" + case pt.Git: + return "git-commit" + case pt.NoResults: + return "info" + default: + return "file" + } + }, + w = (y) => { + var P + const C = ((P = y.value) == null ? void 0 : P.split("/").filter(Boolean).at(-1)) ?? "", + S = y.type === pt.Folder ? $8t(C) : z8t(C) + return E8t(S, u) + }, + _ = (y) => y.type !== pt.NoResults && y.type !== pt.URL && y.type !== pt.SectionHeader + return l.jsx("div", { + style: { position: "absolute", bottom: "calc(100% - 10px)", left: 15, right: 15, overflowX: "hidden" }, + onMouseDown: n, + children: l.jsx("div", { + ref: f, + style: { + backgroundColor: "var(--vscode-dropdown-background)", + border: "1px solid var(--vscode-editorGroup-border)", + borderRadius: "3px", + boxShadow: "0 4px 10px rgba(0, 0, 0, 0.25)", + zIndex: 1e3, + display: "flex", + flexDirection: "column", + maxHeight: "300px", + overflowY: "auto", + overflowX: "hidden", + }, + children: + g && g.length > 0 + ? g.map((y, C) => + l.jsxs( + "div", + { + onClick: () => _(y) && t(y.type, y.value), + style: { + padding: y.type === pt.SectionHeader ? "8px 6px 4px 6px" : "4px 6px", + cursor: _(y) ? "pointer" : "default", + color: "var(--vscode-dropdown-foreground)", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + position: "relative", + ...(y.type === pt.SectionHeader + ? { + borderBottom: "1px solid var(--vscode-editorGroup-border)", + marginBottom: "2px", + } + : {}), + ...(C === o && _(y) + ? { + backgroundColor: "var(--vscode-list-activeSelectionBackground)", + color: "var(--vscode-list-activeSelectionForeground)", + } + : {}), + }, + onMouseEnter: () => _(y) && r(C), + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + flex: 1, + minWidth: 0, + overflow: "hidden", + paddingTop: 0, + position: "relative", + }, + children: [ + (y.type === pt.File || + y.type === pt.Folder || + y.type === pt.OpenedFile) && + l.jsx("img", { + src: w(y), + alt: "Mode", + style: { + marginRight: "6px", + flexShrink: 0, + width: "16px", + height: "16px", + }, + }), + y.type !== pt.Mode && + y.type !== pt.Command && + y.type !== pt.File && + y.type !== pt.Folder && + y.type !== pt.OpenedFile && + y.type !== pt.SectionHeader && + v(y) && + l.jsx("i", { + className: `codicon codicon-${v(y)}`, + style: { + marginRight: "6px", + flexShrink: 0, + fontSize: "14px", + marginTop: 0, + }, + }), + b(y), + ], + }), + (y.type === pt.File || y.type === pt.Folder || y.type === pt.Git) && + !y.value && + l.jsx("i", { + className: "codicon codicon-chevron-right", + style: { fontSize: "10px", flexShrink: 0, marginLeft: 8 }, + }), + ], + }, + `${y.type}-${y.value || C}`, + ), + ) + : l.jsx("div", { + style: { + padding: "4px", + display: "flex", + alignItems: "center", + justifyContent: "center", + color: "var(--vscode-foreground)", + opacity: 0.7, + }, + children: l.jsx("span", { children: "No results found" }), + }), + }), + }) + }, + D8t = (t = {}) => { + const { delay: e = 300 } = t, + [n, o] = k.useState(!1), + r = k.useRef(null), + i = k.useCallback(() => { + r.current && clearTimeout(r.current), (r.current = setTimeout(() => o(!0), e)) + }, [e]), + s = k.useCallback(() => { + r.current && (clearTimeout(r.current), (r.current = null)), o(!1) + }, []), + a = k.useCallback(() => { + r.current && (clearTimeout(r.current), (r.current = null)) + }, []) + return { showTooltip: n, handleMouseEnter: i, handleMouseLeave: s, cleanup: a } + }, + jq = "http://localhost:6333", + Eq = "http://localhost:11434", + N8t = (t, e) => { + const n = Ae({ + codebaseIndexEnabled: Ge(), + codebaseIndexQdrantUrl: se() + .min(1, e("settings:codeIndex.validation.qdrantUrlRequired")) + .url(e("settings:codeIndex.validation.invalidQdrantUrl")), + codeIndexQdrantApiKey: se().optional(), + }) + switch (t) { + case "openai": + return n.extend({ + codeIndexOpenAiKey: se().min(1, e("settings:codeIndex.validation.openaiApiKeyRequired")), + codebaseIndexEmbedderModelId: se().min( + 1, + e("settings:codeIndex.validation.modelSelectionRequired"), + ), + }) + case "ollama": + return n.extend({ + codebaseIndexEmbedderBaseUrl: se() + .min(1, e("settings:codeIndex.validation.ollamaBaseUrlRequired")) + .url(e("settings:codeIndex.validation.invalidOllamaUrl")), + codebaseIndexEmbedderModelId: se().min(1, e("settings:codeIndex.validation.modelIdRequired")), + codebaseIndexEmbedderModelDimension: Pe() + .min(1, e("settings:codeIndex.validation.modelDimensionRequired")) + .optional(), + }) + case "openai-compatible": + return n.extend({ + codebaseIndexOpenAiCompatibleBaseUrl: se() + .min(1, e("settings:codeIndex.validation.baseUrlRequired")) + .url(e("settings:codeIndex.validation.invalidBaseUrl")), + codebaseIndexOpenAiCompatibleApiKey: se().min(1, e("settings:codeIndex.validation.apiKeyRequired")), + codebaseIndexEmbedderModelId: se().min(1, e("settings:codeIndex.validation.modelIdRequired")), + codebaseIndexEmbedderModelDimension: Pe().min( + 1, + e("settings:codeIndex.validation.modelDimensionRequired"), + ), + }) + case "gemini": + return n.extend({ + codebaseIndexGeminiApiKey: se().min(1, e("settings:codeIndex.validation.geminiApiKeyRequired")), + codebaseIndexEmbedderModelId: se().min( + 1, + e("settings:codeIndex.validation.modelSelectionRequired"), + ), + }) + case "mistral": + return n.extend({ + codebaseIndexMistralApiKey: se().min(1, e("settings:codeIndex.validation.mistralApiKeyRequired")), + codebaseIndexEmbedderModelId: se().min( + 1, + e("settings:codeIndex.validation.modelSelectionRequired"), + ), + }) + default: + return n + } + }, + O8t = ({ children: t, indexingStatus: e }) => { + var oe, ae + const n = "••••••••••••••••", + { t: o } = Be(), + { codebaseIndexConfig: r, codebaseIndexModels: i, cwd: s } = Qn(), + [a, c] = k.useState(!1), + [d, u] = k.useState(!1), + [m, f] = k.useState(!1), + [g, b] = k.useState(e), + [v, w] = k.useState("idle"), + [_, y] = k.useState(null), + [C, S] = k.useState({}), + [P, R] = k.useState(!1), + T = k.useRef(null), + E = () => ({ + codebaseIndexEnabled: !0, + codebaseIndexQdrantUrl: "", + codebaseIndexEmbedderProvider: "openai", + codebaseIndexEmbedderBaseUrl: "", + codebaseIndexEmbedderModelId: "", + codebaseIndexEmbedderModelDimension: void 0, + codebaseIndexSearchMaxResults: Tr.DEFAULT_SEARCH_RESULTS, + codebaseIndexSearchMinScore: Tr.DEFAULT_SEARCH_MIN_SCORE, + codeIndexOpenAiKey: "", + codeIndexQdrantApiKey: "", + codebaseIndexOpenAiCompatibleBaseUrl: "", + codebaseIndexOpenAiCompatibleApiKey: "", + codebaseIndexGeminiApiKey: "", + codebaseIndexMistralApiKey: "", + }), + [$, j] = k.useState(E()), + [L, W] = k.useState(E()) + k.useEffect(() => { + b(e) + }, [e]), + k.useEffect(() => { + if (r) { + const Q = { + codebaseIndexEnabled: r.codebaseIndexEnabled ?? !0, + codebaseIndexQdrantUrl: r.codebaseIndexQdrantUrl || "", + codebaseIndexEmbedderProvider: r.codebaseIndexEmbedderProvider || "openai", + codebaseIndexEmbedderBaseUrl: r.codebaseIndexEmbedderBaseUrl || "", + codebaseIndexEmbedderModelId: r.codebaseIndexEmbedderModelId || "", + codebaseIndexEmbedderModelDimension: r.codebaseIndexEmbedderModelDimension || void 0, + codebaseIndexSearchMaxResults: r.codebaseIndexSearchMaxResults ?? Tr.DEFAULT_SEARCH_RESULTS, + codebaseIndexSearchMinScore: r.codebaseIndexSearchMinScore ?? Tr.DEFAULT_SEARCH_MIN_SCORE, + codeIndexOpenAiKey: "", + codeIndexQdrantApiKey: "", + codebaseIndexOpenAiCompatibleBaseUrl: r.codebaseIndexOpenAiCompatibleBaseUrl || "", + codebaseIndexOpenAiCompatibleApiKey: "", + codebaseIndexGeminiApiKey: "", + codebaseIndexMistralApiKey: "", + } + j(Q), W(Q), re.postMessage({ type: "requestCodeIndexSecretStatus" }) + } + }, [r]), + k.useEffect(() => { + a && + (re.postMessage({ type: "requestIndexingStatus" }), + re.postMessage({ type: "requestCodeIndexSecretStatus" })) + const Q = (ee) => { + ee.data.type === "workspaceUpdated" && + a && + (re.postMessage({ type: "requestIndexingStatus" }), + re.postMessage({ type: "requestCodeIndexSecretStatus" })) + } + return window.addEventListener("message", Q), () => window.removeEventListener("message", Q) + }, [a]) + const G = k.useRef(L) + ;(G.current = L), + k.useEffect(() => { + const Q = (ee) => { + if (ee.data.type === "indexingStatusUpdate") + (!ee.data.values.workspacePath || ee.data.values.workspacePath === s) && + b({ + systemStatus: ee.data.values.systemStatus, + message: ee.data.values.message || "", + processedItems: ee.data.values.processedItems, + totalItems: ee.data.values.totalItems, + currentItemUnit: ee.data.values.currentItemUnit || "items", + }) + else if (ee.data.type === "codeIndexSettingsSaved") + if (ee.data.success) { + w("saved") + const q = { ...G.current } + j(q), W(q), re.postMessage({ type: "requestCodeIndexSecretStatus" }), w("idle") + } else w("error"), y(ee.data.error || o("settings:codeIndex.saveError")), w("idle"), y(null) + } + return window.addEventListener("message", Q), () => window.removeEventListener("message", Q) + }, [o, s]), + k.useEffect(() => { + const Q = (ee) => { + if (ee.data.type === "codeIndexSecretStatus") { + const q = ee.data.values, + me = (Ce) => { + const ue = { ...Ce } + return ( + (!Ce.codeIndexOpenAiKey || Ce.codeIndexOpenAiKey === n) && + (ue.codeIndexOpenAiKey = q.hasOpenAiKey ? n : ""), + (!Ce.codeIndexQdrantApiKey || Ce.codeIndexQdrantApiKey === n) && + (ue.codeIndexQdrantApiKey = q.hasQdrantApiKey ? n : ""), + (!Ce.codebaseIndexOpenAiCompatibleApiKey || + Ce.codebaseIndexOpenAiCompatibleApiKey === n) && + (ue.codebaseIndexOpenAiCompatibleApiKey = q.hasOpenAiCompatibleApiKey ? n : ""), + (!Ce.codebaseIndexGeminiApiKey || Ce.codebaseIndexGeminiApiKey === n) && + (ue.codebaseIndexGeminiApiKey = q.hasGeminiApiKey ? n : ""), + (!Ce.codebaseIndexMistralApiKey || Ce.codebaseIndexMistralApiKey === n) && + (ue.codebaseIndexMistralApiKey = q.hasMistralApiKey ? n : ""), + ue + ) + } + ;(v === "idle" || v === "saved") && (W(me), j(me)) + } + } + return window.addEventListener("message", Q), () => window.removeEventListener("message", Q) + }, [v]) + const U = k.useMemo(() => { + const Q = [...Object.keys($), ...Object.keys(L)], + ee = Array.from(new Set(Q)) + for (const q of ee) { + const me = L[q], + Ce = $[q] + if (me !== n && me !== Ce) return !0 + } + return !1 + }, [L, $]), + Z = (Q, ee) => { + W((q) => ({ ...q, [Q]: ee })), + C[Q] && + S((q) => { + const me = { ...q } + return delete me[Q], me + }) + }, + V = () => { + const Q = N8t(L.codebaseIndexEmbedderProvider, o), + ee = {} + for (const [q, me] of Object.entries(L)) + me === n + ? (q === "codeIndexOpenAiKey" || + q === "codebaseIndexOpenAiCompatibleApiKey" || + q === "codebaseIndexGeminiApiKey" || + q === "codebaseIndexMistralApiKey") && + (ee[q] = "placeholder-valid") + : (ee[q] = me) + try { + return Q.parse(ee), S({}), !0 + } catch (q) { + if (q instanceof el) { + const me = {} + q.errors.forEach((Ce) => { + Ce.path[0] && (me[Ce.path[0]] = Ce.message) + }), + S(me) + } + return !1 + } + }, + X = k.useCallback( + (Q) => { + U ? ((T.current = Q), R(!0)) : Q() + }, + [U], + ), + H = k.useCallback( + (Q) => { + var ee + Q && (W($), S({}), (ee = T.current) == null || ee.call(T)), R(!1) + }, + [$], + ), + B = k.useCallback(() => { + X(() => { + c(!1) + }) + }, [X]) + IC(a, B) + const M = () => { + if (!V()) return + w("saving"), y(null) + const Q = {} + for (const [ee, q] of Object.entries(L)) q !== n && (Q[ee] = q) + ;(Q.codebaseIndexEnabled = L.codebaseIndexEnabled), + re.postMessage({ type: "saveCodeIndexSettingsAtomic", codeIndexSettings: Q }) + }, + D = k.useMemo( + () => (g.totalItems > 0 ? Math.round((g.processedItems / g.totalItems) * 100) : 0), + [g.processedItems, g.totalItems], + ), + F = `translateX(-${100 - D}%)`, + N = () => { + if (!i) return [] + const Q = i[L.codebaseIndexEmbedderProvider] + return Q ? Object.keys(Q) : [] + }, + J = Df("roo-portal") + return l.jsxs(l.Fragment, { + children: [ + l.jsxs(dl, { + open: a, + onOpenChange: (Q) => { + Q ? c(Q) : B() + }, + children: [ + l.jsx(ul, { asChild: !0, children: t }), + l.jsxs(xa, { + className: "w-[calc(100vw-32px)] max-w-[450px] max-h-[80vh] overflow-y-auto p-0", + align: "end", + alignOffset: 0, + side: "bottom", + sideOffset: 5, + collisionPadding: 16, + avoidCollisions: !0, + container: J, + children: [ + l.jsxs("div", { + className: "p-3 border-b border-vscode-dropdown-border cursor-default", + children: [ + l.jsx("div", { + className: "flex flex-row items-center gap-1 p-0 mt-0 mb-1 w-full", + children: l.jsx("h4", { + className: "m-0 pb-2 flex-1", + children: o("settings:codeIndex.title"), + }), + }), + l.jsx("p", { + className: "my-0 pr-4 text-sm w-full", + children: l.jsx(Dt, { + i18nKey: "settings:codeIndex.description", + children: l.jsx(Wt, { + href: co("features/experimental/codebase-indexing", "settings"), + style: { display: "inline" }, + }), + }), + }), + ], + }), + l.jsxs("div", { + className: "p-4", + children: [ + l.jsx("div", { + className: "mb-4", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(En, { + checked: L.codebaseIndexEnabled, + onChange: (Q) => Z("codebaseIndexEnabled", Q.target.checked), + children: l.jsx("span", { + className: "font-medium", + children: o("settings:codeIndex.enableLabel"), + }), + }), + l.jsx(We, { + content: o("settings:codeIndex.enableDescription"), + children: l.jsx("span", { + className: + "codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help", + }), + }), + ], + }), + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("h4", { + className: "text-sm font-medium", + children: o("settings:codeIndex.statusTitle"), + }), + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground", + children: [ + l.jsx("span", { + className: be("inline-block w-3 h-3 rounded-full mr-2", { + "bg-gray-400": g.systemStatus === "Standby", + "bg-yellow-500 animate-pulse": + g.systemStatus === "Indexing", + "bg-green-500": g.systemStatus === "Indexed", + "bg-red-500": g.systemStatus === "Error", + }), + }), + o( + `settings:codeIndex.indexingStatuses.${g.systemStatus.toLowerCase()}`, + ), + g.message ? ` - ${g.message}` : "", + ], + }), + g.systemStatus === "Indexing" && + l.jsx("div", { + className: "mt-2", + children: l.jsx(Dz, { + className: + "relative h-2 w-full overflow-hidden rounded-full bg-secondary", + value: D, + children: l.jsx(jst, { + className: + "h-full w-full flex-1 bg-primary transition-transform duration-300 ease-in-out", + style: { transform: F }, + }), + }), + }), + ], + }), + l.jsxs("div", { + className: "mt-4", + children: [ + l.jsxs("button", { + onClick: () => f(!m), + className: + "flex items-center text-xs text-vscode-foreground hover:text-vscode-textLink-foreground focus:outline-none", + "aria-expanded": m, + children: [ + l.jsx("span", { + className: `codicon codicon-${m ? "chevron-down" : "chevron-right"} mr-1`, + }), + l.jsx("span", { + className: "text-base font-semibold", + children: o("settings:codeIndex.setupConfigLabel"), + }), + ], + }), + m && + l.jsxs("div", { + className: "mt-4 space-y-4", + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.embedderProviderLabel", + ), + }), + l.jsxs(Qr, { + value: L.codebaseIndexEmbedderProvider, + onValueChange: (Q) => { + Z("codebaseIndexEmbedderProvider", Q), + Z("codebaseIndexEmbedderModelId", "") + }, + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, {}), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { + value: "openai", + children: o( + "settings:codeIndex.openaiProvider", + ), + }), + l.jsx(qn, { + value: "ollama", + children: o( + "settings:codeIndex.ollamaProvider", + ), + }), + l.jsx(qn, { + value: "openai-compatible", + children: o( + "settings:codeIndex.openaiCompatibleProvider", + ), + }), + l.jsx(qn, { + value: "gemini", + children: o( + "settings:codeIndex.geminiProvider", + ), + }), + l.jsx(qn, { + value: "mistral", + children: o( + "settings:codeIndex.mistralProvider", + ), + }), + ], + }), + ], + }), + ], + }), + L.codebaseIndexEmbedderProvider === "openai" && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.openAiKeyLabel", + ), + }), + l.jsx(ct, { + type: "password", + value: L.codeIndexOpenAiKey || "", + onInput: (Q) => + Z( + "codeIndexOpenAiKey", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.openAiKeyPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codeIndexOpenAiKey, + }), + }), + C.codeIndexOpenAiKey && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: C.codeIndexOpenAiKey, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelLabel", + ), + }), + l.jsxs(Pv, { + value: L.codebaseIndexEmbedderModelId, + onChange: (Q) => + Z( + "codebaseIndexEmbedderModelId", + Q.target.value, + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelId, + }), + children: [ + l.jsx(Ml, { + value: "", + className: "p-2", + children: o( + "settings:codeIndex.selectModel", + ), + }), + N().map((Q) => { + var q + const ee = + (q = + i == null + ? void 0 + : i[ + L + .codebaseIndexEmbedderProvider + ]) == null + ? void 0 + : q[Q] + return l.jsxs( + Ml, + { + value: Q, + className: "p-2", + children: [ + Q, + " ", + ee + ? o( + "settings:codeIndex.modelDimensions", + { + dimension: + ee.dimension, + }, + ) + : "", + ], + }, + Q, + ) + }), + ], + }), + C.codebaseIndexEmbedderModelId && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelId, + }), + ], + }), + ], + }), + L.codebaseIndexEmbedderProvider === "ollama" && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.ollamaBaseUrlLabel", + ), + }), + l.jsx(ct, { + value: + L.codebaseIndexEmbedderBaseUrl || + "", + onInput: (Q) => + Z( + "codebaseIndexEmbedderBaseUrl", + Q.target.value, + ), + onBlur: (Q) => { + Q.target.value.trim() || + ((Q.target.value = Eq), + Z( + "codebaseIndexEmbedderBaseUrl", + Eq, + )) + }, + placeholder: o( + "settings:codeIndex.ollamaUrlPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderBaseUrl, + }), + }), + C.codebaseIndexEmbedderBaseUrl && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderBaseUrl, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelLabel", + ), + }), + l.jsx(ct, { + value: + L.codebaseIndexEmbedderModelId || + "", + onInput: (Q) => + Z( + "codebaseIndexEmbedderModelId", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.modelPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelId, + }), + }), + C.codebaseIndexEmbedderModelId && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelId, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelDimensionLabel", + ), + }), + l.jsx(ct, { + value: + ((oe = + L.codebaseIndexEmbedderModelDimension) == + null + ? void 0 + : oe.toString()) || "", + onInput: (Q) => { + const ee = + (Q.target.value && + parseInt( + Q.target.value, + 10, + )) || + void 0 + Z( + "codebaseIndexEmbedderModelDimension", + ee, + ) + }, + placeholder: o( + "settings:codeIndex.modelDimensionPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelDimension, + }), + }), + C.codebaseIndexEmbedderModelDimension && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelDimension, + }), + ], + }), + ], + }), + L.codebaseIndexEmbedderProvider === "openai-compatible" && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.openAiCompatibleBaseUrlLabel", + ), + }), + l.jsx(ct, { + value: + L.codebaseIndexOpenAiCompatibleBaseUrl || + "", + onInput: (Q) => + Z( + "codebaseIndexOpenAiCompatibleBaseUrl", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.openAiCompatibleBaseUrlPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexOpenAiCompatibleBaseUrl, + }), + }), + C.codebaseIndexOpenAiCompatibleBaseUrl && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexOpenAiCompatibleBaseUrl, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.openAiCompatibleApiKeyLabel", + ), + }), + l.jsx(ct, { + type: "password", + value: + L.codebaseIndexOpenAiCompatibleApiKey || + "", + onInput: (Q) => + Z( + "codebaseIndexOpenAiCompatibleApiKey", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.openAiCompatibleApiKeyPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexOpenAiCompatibleApiKey, + }), + }), + C.codebaseIndexOpenAiCompatibleApiKey && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexOpenAiCompatibleApiKey, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelLabel", + ), + }), + l.jsx(ct, { + value: + L.codebaseIndexEmbedderModelId || + "", + onInput: (Q) => + Z( + "codebaseIndexEmbedderModelId", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.modelPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelId, + }), + }), + C.codebaseIndexEmbedderModelId && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelId, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelDimensionLabel", + ), + }), + l.jsx(ct, { + value: + ((ae = + L.codebaseIndexEmbedderModelDimension) == + null + ? void 0 + : ae.toString()) || "", + onInput: (Q) => { + const ee = + (Q.target.value && + parseInt( + Q.target.value, + 10, + )) || + void 0 + Z( + "codebaseIndexEmbedderModelDimension", + ee, + ) + }, + placeholder: o( + "settings:codeIndex.modelDimensionPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelDimension, + }), + }), + C.codebaseIndexEmbedderModelDimension && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelDimension, + }), + ], + }), + ], + }), + L.codebaseIndexEmbedderProvider === "gemini" && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.geminiApiKeyLabel", + ), + }), + l.jsx(ct, { + type: "password", + value: + L.codebaseIndexGeminiApiKey || + "", + onInput: (Q) => + Z( + "codebaseIndexGeminiApiKey", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.geminiApiKeyPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexGeminiApiKey, + }), + }), + C.codebaseIndexGeminiApiKey && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexGeminiApiKey, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelLabel", + ), + }), + l.jsxs(Pv, { + value: L.codebaseIndexEmbedderModelId, + onChange: (Q) => + Z( + "codebaseIndexEmbedderModelId", + Q.target.value, + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelId, + }), + children: [ + l.jsx(Ml, { + value: "", + className: "p-2", + children: o( + "settings:codeIndex.selectModel", + ), + }), + N().map((Q) => { + var q + const ee = + (q = + i == null + ? void 0 + : i[ + L + .codebaseIndexEmbedderProvider + ]) == null + ? void 0 + : q[Q] + return l.jsxs( + Ml, + { + value: Q, + className: "p-2", + children: [ + Q, + " ", + ee + ? o( + "settings:codeIndex.modelDimensions", + { + dimension: + ee.dimension, + }, + ) + : "", + ], + }, + Q, + ) + }), + ], + }), + C.codebaseIndexEmbedderModelId && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelId, + }), + ], + }), + ], + }), + L.codebaseIndexEmbedderProvider === "mistral" && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.mistralApiKeyLabel", + ), + }), + l.jsx(ct, { + type: "password", + value: + L.codebaseIndexMistralApiKey || + "", + onInput: (Q) => + Z( + "codebaseIndexMistralApiKey", + Q.target.value, + ), + placeholder: o( + "settings:codeIndex.mistralApiKeyPlaceholder", + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexMistralApiKey, + }), + }), + C.codebaseIndexMistralApiKey && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexMistralApiKey, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.modelLabel", + ), + }), + l.jsxs(Pv, { + value: L.codebaseIndexEmbedderModelId, + onChange: (Q) => + Z( + "codebaseIndexEmbedderModelId", + Q.target.value, + ), + className: be("w-full", { + "border-red-500": + C.codebaseIndexEmbedderModelId, + }), + children: [ + l.jsx(Ml, { + value: "", + className: "p-2", + children: o( + "settings:codeIndex.selectModel", + ), + }), + N().map((Q) => { + var q + const ee = + (q = + i == null + ? void 0 + : i[ + L + .codebaseIndexEmbedderProvider + ]) == null + ? void 0 + : q[Q] + return l.jsxs( + Ml, + { + value: Q, + className: "p-2", + children: [ + Q, + " ", + ee + ? o( + "settings:codeIndex.modelDimensions", + { + dimension: + ee.dimension, + }, + ) + : "", + ], + }, + Q, + ) + }), + ], + }), + C.codebaseIndexEmbedderModelId && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: + C.codebaseIndexEmbedderModelId, + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.qdrantUrlLabel", + ), + }), + l.jsx(ct, { + value: L.codebaseIndexQdrantUrl || "", + onInput: (Q) => + Z("codebaseIndexQdrantUrl", Q.target.value), + onBlur: (Q) => { + Q.target.value.trim() || + ((L.codebaseIndexQdrantUrl = jq), + Z("codebaseIndexQdrantUrl", jq)) + }, + placeholder: o( + "settings:codeIndex.qdrantUrlPlaceholder", + ), + className: be("w-full", { + "border-red-500": C.codebaseIndexQdrantUrl, + }), + }), + C.codebaseIndexQdrantUrl && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: C.codebaseIndexQdrantUrl, + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.qdrantApiKeyLabel", + ), + }), + l.jsx(ct, { + type: "password", + value: L.codeIndexQdrantApiKey || "", + onInput: (Q) => + Z("codeIndexQdrantApiKey", Q.target.value), + placeholder: o( + "settings:codeIndex.qdrantApiKeyPlaceholder", + ), + className: be("w-full", { + "border-red-500": C.codeIndexQdrantApiKey, + }), + }), + C.codeIndexQdrantApiKey && + l.jsx("p", { + className: + "text-xs text-vscode-errorForeground mt-1 mb-0", + children: C.codeIndexQdrantApiKey, + }), + ], + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "mt-4", + children: [ + l.jsxs("button", { + onClick: () => u(!d), + className: + "flex items-center text-xs text-vscode-foreground hover:text-vscode-textLink-foreground focus:outline-none", + "aria-expanded": d, + children: [ + l.jsx("span", { + className: `codicon codicon-${d ? "chevron-down" : "chevron-right"} mr-1`, + }), + l.jsx("span", { + className: "text-base font-semibold", + children: o("settings:codeIndex.advancedConfigLabel"), + }), + ], + }), + d && + l.jsxs("div", { + className: "mt-4 space-y-4", + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.searchMinScoreLabel", + ), + }), + l.jsx(We, { + content: o( + "settings:codeIndex.searchMinScoreDescription", + ), + children: l.jsx("span", { + className: + "codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help", + }), + }), + ], + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: Tr.MIN_SEARCH_SCORE, + max: Tr.MAX_SEARCH_SCORE, + step: Tr.SEARCH_SCORE_STEP, + value: [ + L.codebaseIndexSearchMinScore ?? + Tr.DEFAULT_SEARCH_MIN_SCORE, + ], + onValueChange: (Q) => + Z( + "codebaseIndexSearchMinScore", + Q[0], + ), + className: "flex-1", + "data-testid": + "search-min-score-slider", + }), + l.jsx("span", { + className: "w-12 text-center", + children: ( + L.codebaseIndexSearchMinScore ?? + Tr.DEFAULT_SEARCH_MIN_SCORE + ).toFixed(2), + }), + l.jsx(Mo, { + appearance: "icon", + title: o( + "settings:codeIndex.resetToDefault", + ), + onClick: () => + Z( + "codebaseIndexSearchMinScore", + Tr.DEFAULT_SEARCH_MIN_SCORE, + ), + children: l.jsx("span", { + className: + "codicon codicon-discard", + }), + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("label", { + className: "text-sm font-medium", + children: o( + "settings:codeIndex.searchMaxResultsLabel", + ), + }), + l.jsx(We, { + content: o( + "settings:codeIndex.searchMaxResultsDescription", + ), + children: l.jsx("span", { + className: + "codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help", + }), + }), + ], + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: Tr.MIN_SEARCH_RESULTS, + max: Tr.MAX_SEARCH_RESULTS, + step: Tr.SEARCH_RESULTS_STEP, + value: [ + L.codebaseIndexSearchMaxResults ?? + Tr.DEFAULT_SEARCH_RESULTS, + ], + onValueChange: (Q) => + Z( + "codebaseIndexSearchMaxResults", + Q[0], + ), + className: "flex-1", + "data-testid": + "search-max-results-slider", + }), + l.jsx("span", { + className: "w-12 text-center", + children: + L.codebaseIndexSearchMaxResults ?? + Tr.DEFAULT_SEARCH_RESULTS, + }), + l.jsx(Mo, { + appearance: "icon", + title: o( + "settings:codeIndex.resetToDefault", + ), + onClick: () => + Z( + "codebaseIndexSearchMaxResults", + Tr.DEFAULT_SEARCH_RESULTS, + ), + children: l.jsx("span", { + className: + "codicon codicon-discard", + }), + }), + ], + }), + ], + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "flex items-center justify-between gap-2 pt-6", + children: [ + l.jsxs("div", { + className: "flex gap-2", + children: [ + L.codebaseIndexEnabled && + (g.systemStatus === "Error" || + g.systemStatus === "Standby") && + l.jsx(Mo, { + onClick: () => + re.postMessage({ type: "startIndexing" }), + disabled: v === "saving" || U, + children: o("settings:codeIndex.startIndexingButton"), + }), + L.codebaseIndexEnabled && + (g.systemStatus === "Indexed" || + g.systemStatus === "Error") && + l.jsxs(jc, { + children: [ + l.jsx(Qzt, { + asChild: !0, + children: l.jsx(Mo, { + appearance: "secondary", + children: o( + "settings:codeIndex.clearIndexDataButton", + ), + }), + }), + l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { + children: o( + "settings:codeIndex.clearDataDialog.title", + ), + }), + l.jsx(Dc, { + children: o( + "settings:codeIndex.clearDataDialog.description", + ), + }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { + children: o( + "settings:codeIndex.clearDataDialog.cancelButton", + ), + }), + l.jsx(Nc, { + onClick: () => + re.postMessage({ + type: "clearIndexData", + }), + children: o( + "settings:codeIndex.clearDataDialog.confirmButton", + ), + }), + ], + }), + ], + }), + ], + }), + ], + }), + l.jsx(Mo, { + onClick: M, + disabled: !U || v === "saving", + children: o( + v === "saving" + ? "settings:codeIndex.saving" + : "settings:codeIndex.saveSettings", + ), + }), + ], + }), + v === "error" && + l.jsx("div", { + className: "mt-2", + children: l.jsx("span", { + className: "text-sm text-vscode-errorForeground block", + children: _ || o("settings:codeIndex.saveError"), + }), + }), + ], + }), + ], + }), + ], + }), + l.jsx(jc, { + open: P, + onOpenChange: R, + children: l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsxs(Lc, { + className: "flex items-center gap-2", + children: [ + l.jsx(vC, { className: "w-5 h-5 text-yellow-500" }), + o("settings:unsavedChangesDialog.title"), + ], + }), + l.jsx(Dc, { children: o("settings:unsavedChangesDialog.description") }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { + onClick: () => H(!1), + children: o("settings:unsavedChangesDialog.cancelButton"), + }), + l.jsx(Nc, { + onClick: () => H(!0), + children: o("settings:unsavedChangesDialog.discardButton"), + }), + ], + }), + ], + }), + }), + ], + }) + }, + F8t = ({ className: t }) => { + const { t: e } = Be(), + { cwd: n } = Qn(), + { showTooltip: o, handleMouseEnter: r, handleMouseLeave: i, cleanup: s } = D8t({ delay: 300 }), + [a, c] = k.useState(!1), + [d, u] = k.useState({ systemStatus: "Standby", processedItems: 0, totalItems: 0, currentItemUnit: "items" }) + k.useEffect(() => { + re.postMessage({ type: "requestIndexingStatus" }) + const w = (_) => { + if (_.data.type === "indexingStatusUpdate") { + const y = _.data.values + ;(!y.workspacePath || y.workspacePath === n) && u(y) + } + } + return ( + window.addEventListener("message", w), + () => { + window.removeEventListener("message", w), s() + } + ) + }, [s, n]) + const m = k.useMemo( + () => (d.totalItems > 0 ? Math.round((d.processedItems / d.totalItems) * 100) : 0), + [d.processedItems, d.totalItems], + ), + f = () => { + switch (d.systemStatus) { + case "Standby": + return e("chat:indexingStatus.ready") + case "Indexing": + return e("chat:indexingStatus.indexing", { percentage: m }) + case "Indexed": + return e("chat:indexingStatus.indexed") + case "Error": + return e("chat:indexingStatus.error") + default: + return e("chat:indexingStatus.status") + } + }, + g = () => { + c(!0), r() + }, + b = () => { + c(!1), i() + }, + v = () => { + const w = { + Standby: { + default: "bg-vscode-descriptionForeground/60", + hover: "bg-vscode-descriptionForeground/80", + }, + Indexing: { default: "bg-yellow-500 animate-pulse", hover: "bg-yellow-500 animate-pulse" }, + Indexed: { default: "bg-green-500", hover: "bg-green-500" }, + Error: { default: "bg-red-500", hover: "bg-red-500" }, + }, + _ = w[d.systemStatus] || w.Standby + return a ? _.hover : _.default + } + return l.jsxs("div", { + className: be("relative inline-block", t), + children: [ + l.jsx(O8t, { + indexingStatus: d, + children: l.jsxs("button", { + onMouseEnter: g, + onMouseLeave: b, + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "opacity-85 text-vscode-foreground", + "transition-all duration-150", + "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + "cursor-pointer", + t, + ), + "aria-label": f(), + children: [ + l.jsx(sz, { className: "w-4 h-4 text-vscode-foreground" }), + l.jsx("span", { + className: be( + "absolute top-1 right-1 w-1.5 h-1.5 rounded-full transition-colors duration-200", + v(), + ), + }), + ], + }), + }), + o && + l.jsxs("div", { + className: be( + "absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2", + "px-2 py-1 text-xs font-medium text-vscode-foreground", + "bg-vscode-editor-background border border-vscode-panel-border", + "rounded shadow-lg whitespace-nowrap z-50", + ), + role: "tooltip", + children: [ + f(), + l.jsx("div", { + className: be( + "absolute top-full left-1/2 transform -translate-x-1/2", + "w-0 h-0 border-l-4 border-r-4 border-t-4", + "border-l-transparent border-r-transparent border-t-vscode-panel-border", + ), + }), + ], + }), + ], + }) + }, + zq = ({ command: t, onDelete: e, onClick: n }) => { + const { t: o } = Be(), + r = () => { + t.filePath + ? re.postMessage({ type: "openFile", text: t.filePath }) + : re.postMessage({ type: "openCommandFile", text: t.name, values: { source: t.source } }) + }, + i = () => { + e(t) + } + return l.jsxs("div", { + className: "px-4 py-2 text-sm flex items-center group hover:bg-vscode-list-hoverBackground", + children: [ + l.jsx("div", { + className: "flex-1 min-w-0 cursor-pointer", + onClick: () => (n == null ? void 0 : n(t)), + children: l.jsx("span", { className: "truncate text-vscode-foreground", children: t.name }), + }), + l.jsxs("div", { + className: "flex items-center gap-2 ml-2", + children: [ + l.jsx(We, { + content: o("chat:slashCommands.editCommand"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + tabIndex: -1, + onClick: r, + className: "size-6 flex items-center justify-center opacity-60 hover:opacity-100", + children: l.jsx(Ort, { className: "w-4 h-4" }), + }), + }), + l.jsx(We, { + content: o("chat:slashCommands.deleteCommand"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + tabIndex: -1, + onClick: i, + className: + "size-6 flex items-center justify-center opacity-60 hover:opacity-100 hover:text-red-400", + children: l.jsx(tLt, { className: "w-4 h-4" }), + }), + }), + ], + }), + ], + }) + }, + B8t = ({ commands: t, onRefresh: e }) => { + const { t: n } = Be(), + { cwd: o } = Qn(), + [r, i] = k.useState(!1), + [s, a] = k.useState(null), + [c, d] = k.useState(""), + [u, m] = k.useState(""), + f = !!o, + g = (S) => { + a(S), i(!0) + }, + b = () => { + s && + (re.postMessage({ type: "deleteCommand", text: s.name, values: { source: s.source } }), + i(!1), + a(null), + setTimeout(e, 100)) + }, + v = () => { + i(!1), a(null) + }, + w = (S, P) => { + if (!P.trim()) return + const R = P.trim().endsWith(".md") ? P.trim() : `${P.trim()}.md` + re.postMessage({ type: "createCommand", text: R, values: { source: S } }), + S === "global" ? d("") : m(""), + setTimeout(e, 500) + }, + _ = (S) => { + re.postMessage({ type: "insertTextIntoTextarea", text: `/${S.name}` }) + }, + y = t.filter((S) => S.source === "global"), + C = t.filter((S) => S.source === "project") + return l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + className: "max-h-[300px] overflow-y-auto", + children: l.jsxs("div", { + className: "py-1", + children: [ + l.jsxs("div", { + className: + "px-3 py-1.5 text-xs font-medium text-vscode-descriptionForeground flex items-center gap-1.5", + children: [l.jsx(az, { className: "w-3 h-3" }), n("chat:slashCommands.globalCommands")], + }), + y.map((S) => l.jsx(zq, { command: S, onDelete: g, onClick: _ }, `global-${S.name}`)), + l.jsxs("div", { + className: "px-4 py-2 flex items-center gap-2 hover:bg-vscode-list-hoverBackground", + children: [ + l.jsx("input", { + type: "text", + value: c, + onChange: (S) => d(S.target.value), + placeholder: n("chat:slashCommands.newGlobalCommandPlaceholder"), + className: + "flex-1 bg-transparent text-vscode-input-foreground placeholder-vscode-input-placeholderForeground border-none outline-none focus:outline-0 text-sm", + tabIndex: -1, + onKeyDown: (S) => { + S.key === "Enter" && w("global", c) + }, + }), + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => w("global", c), + disabled: !c.trim(), + className: + "size-6 flex items-center justify-center opacity-60 hover:opacity-100", + children: l.jsx(xB, { className: "w-4 h-4" }), + }), + ], + }), + f && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: + "px-3 py-1.5 text-xs font-medium text-vscode-descriptionForeground mt-4 flex items-center gap-1.5", + children: [ + l.jsx(M$t, { className: "w-3 h-3" }), + n("chat:slashCommands.workspaceCommands"), + ], + }), + C.map((S) => + l.jsx(zq, { command: S, onDelete: g, onClick: _ }, `project-${S.name}`), + ), + l.jsxs("div", { + className: + "px-4 py-2 flex items-center gap-2 hover:bg-vscode-list-hoverBackground", + children: [ + l.jsx("input", { + type: "text", + value: u, + onChange: (S) => m(S.target.value), + placeholder: n("chat:slashCommands.newWorkspaceCommandPlaceholder"), + className: + "flex-1 bg-transparent text-vscode-input-foreground placeholder-vscode-input-placeholderForeground border-none outline-none focus:outline-0 text-sm", + tabIndex: -1, + onKeyDown: (S) => { + S.key === "Enter" && w("project", u) + }, + }), + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => w("project", u), + disabled: !u.trim(), + className: + "size-6 flex items-center justify-center opacity-60 hover:opacity-100", + children: l.jsx(xB, { className: "w-4 h-4" }), + }), + ], + }), + ], + }), + ], + }), + }), + l.jsx(jc, { + open: r, + onOpenChange: i, + children: l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { children: n("chat:slashCommands.deleteDialog.title") }), + l.jsx(Dc, { + children: n("chat:slashCommands.deleteDialog.description", { + name: s == null ? void 0 : s.name, + }), + }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { onClick: v, children: n("chat:slashCommands.deleteDialog.cancel") }), + l.jsx(Nc, { onClick: b, children: n("chat:slashCommands.deleteDialog.confirm") }), + ], + }), + ], + }), + }), + ], + }) + }, + U8t = ({ className: t }) => { + const { t: e } = Be(), + { commands: n } = Qn(), + [o, r] = k.useState(!1), + i = Df("roo-portal") + k.useEffect(() => { + o && (!n || n.length === 0) && s() + }, [o, n]) + const s = () => { + re.postMessage({ type: "requestCommands" }) + }, + a = (d) => { + r(d), d && s() + }, + c = l.jsx(ul, { + asChild: !0, + children: l.jsx(Ee, { + variant: "ghost", + size: "sm", + className: be( + "h-7 w-7 p-0", + "text-vscode-foreground opacity-85", + "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + t, + ), + children: l.jsx(mLt, { className: "w-4 h-4" }), + }), + }) + return l.jsxs(dl, { + open: o, + onOpenChange: a, + children: [ + l.jsx(We, { content: e("chat:slashCommands.tooltip"), children: c }), + l.jsx(xa, { + align: "start", + sideOffset: 4, + container: i, + className: "p-0 overflow-hidden min-w-80 max-w-9/10", + children: l.jsxs("div", { + className: "flex flex-col w-full", + children: [ + l.jsx("div", { + className: "p-3 border-b border-vscode-dropdown-border", + children: l.jsx("p", { + className: "m-0 text-xs text-vscode-descriptionForeground", + children: l.jsx(Dt, { + i18nKey: "chat:slashCommands.description", + components: { + DocsLink: l.jsx("a", { + href: co("features/slash-commands", "slash_commands"), + target: "_blank", + rel: "noopener noreferrer", + children: "Docs", + }), + }, + }), + }), + }), + l.jsx(B8t, { commands: n || [], onRefresh: s }), + ], + }), + }), + ], + }) + }, + q8t = ({ clineMessages: t, taskHistory: e, cwd: n, inputValue: o, setInputValue: r }) => { + const [s, a] = k.useState(-1), + [c, d] = k.useState(""), + [u, m] = k.useState([]), + f = k.useMemo(() => { + const C = + t == null + ? void 0 + : t + .filter((S) => { + var P + return ( + S.type === "say" && + S.say === "user_feedback" && + ((P = S.text) == null ? void 0 : P.trim()) + ) + }) + .map((S) => S.text) + return C != null && C.length + ? C.slice(-100).reverse() + : t != null && t.length + ? [] + : !(e != null && e.length) || !n + ? [] + : e + .filter((S) => { + var P + return ( + ((P = S.task) == null ? void 0 : P.trim()) && + (!S.workspace || S.workspace === n) + ) + }) + .map((S) => S.task) + .slice(0, 100) + }, [t, e, n]) + k.useEffect(() => { + m(f), a(-1), d("") + }, [f]) + const g = k.useCallback(() => { + s !== -1 && (a(-1), d("")) + }, [s]), + b = k.useCallback((C, S, P) => { + setTimeout(() => { + if (S === "start") C.setSelectionRange(0, 0) + else if (S === "end") { + const R = P ?? C.value.length + C.setSelectionRange(R, R) + } else C.setSelectionRange(S, S) + }, 0) + }, []), + v = k.useCallback( + (C, S, P = "start") => { + if (C < 0 || C >= u.length) return !1 + const R = u[C] + return R ? (a(C), r(R), b(S, P, R.length), !0) : !1 + }, + [u, r, b], + ), + w = k.useCallback( + (C, S = "end") => { + a(-1), r(c), b(C, S, c.length) + }, + [c, r, b], + ), + _ = k.useCallback( + (C, S, P) => { + if (!S && u.length > 0 && !P) { + const R = C.currentTarget, + { selectionStart: T, selectionEnd: E, value: $ } = R, + j = T !== E, + L = T === 0 && E === 0, + W = T === $.length && E === $.length + if (!j) { + if (C.key === "ArrowUp" && L) + return C.preventDefault(), s === -1 && d(o), v(s + 1, R, "start") + if (C.key === "ArrowDown" && s >= 0 && (L || W)) { + if ((C.preventDefault(), s > 0)) return v(s - 1, R, L ? "start" : "end") + if (s === 0) return w(R, L ? "start" : "end"), !0 + } + } + } + return !1 + }, + [u, s, o, v, w], + ), + y = k.useCallback(() => { + a(-1), d("") + }, []) + return { + historyIndex: s, + setHistoryIndex: a, + tempInput: c, + setTempInput: d, + promptHistory: u, + handleHistoryNavigation: _, + resetHistoryNavigation: y, + resetOnInputChange: g, + } + }, + W8t = ({ + mode: t, + onModeChange: e, + modeShortcutText: n, + customModes: o, + customModePrompts: r, + onCancel: i, + onSend: s, + onSelectImages: a, + sendingDisabled: c, + shouldDisableImages: d, + }) => { + const { t: u } = Be() + return l.jsxs("div", { + className: be( + "flex", + "items-center", + "justify-between", + "absolute", + "bottom-2", + "left-2", + "right-2", + "z-30", + ), + children: [ + l.jsx("div", { + className: be("flex", "items-center", "gap-1", "flex-1", "min-w-0"), + children: l.jsx("div", { + className: "shrink-0", + children: l.jsx(_dt, { + value: t, + title: u("chat:selectMode"), + onChange: e, + triggerClassName: "w-full", + modeShortcutText: n, + customModes: o, + customModePrompts: r, + }), + }), + }), + l.jsxs("div", { + className: be("flex", "items-center", "gap-0.5", "shrink-0", "ml-2"), + children: [ + l.jsx(Ee, { + variant: "secondary", + size: "sm", + onClick: i, + disabled: c, + className: + "text-xs bg-vscode-toolbar-hoverBackground hover:bg-vscode-button-secondaryBackground text-vscode-button-secondaryForeground", + children: "Cancel", + }), + l.jsx(We, { + content: u("chat:addImages"), + children: l.jsx("button", { + "aria-label": u("chat:addImages"), + disabled: d, + onClick: d ? void 0 : a, + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground", + "transition-all duration-150", + "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + !d && "cursor-pointer", + d && + "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent", + ), + children: l.jsx($rt, { className: "w-4 h-4" }), + }), + }), + l.jsx(We, { + content: u("chat:save.tooltip"), + children: l.jsx("button", { + "aria-label": u("chat:save.tooltip"), + disabled: c, + onClick: c ? void 0 : s, + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground", + "transition-all duration-150", + "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + !c && "cursor-pointer", + c && + "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent", + ), + children: l.jsx(Drt, { className: "w-4 h-4" }), + }), + }), + ], + }), + ], + }) + }, + Sdt = k.forwardRef( + ( + { + inputValue: t, + setInputValue: e, + sendingDisabled: n, + selectApiConfigDisabled: o, + placeholderText: r, + selectedImages: i, + setSelectedImages: s, + onSend: a, + onSelectImages: c, + shouldDisableImages: d, + onHeightChange: u, + mode: m, + setMode: f, + modeShortcutText: g, + isEditMode: b = !1, + onCancel: v, + }, + w, + ) => { + const { t: _ } = Be(), + { + filePaths: y, + openedTabs: C, + currentApiConfigName: S, + listApiConfigMeta: P, + customModes: R, + customModePrompts: T, + cwd: E, + pinnedApiConfigs: $, + togglePinnedApiConfig: j, + taskHistory: L, + clineMessages: W, + commands: G, + } = Qn(), + { currentConfigId: U, displayName: Z } = k.useMemo(() => { + const Me = P == null ? void 0 : P.find((Et) => Et.name === S) + return { currentConfigId: (Me == null ? void 0 : Me.id) || "", displayName: S || "" } + }, [P, S]), + [V, X] = k.useState([]), + [H, B] = k.useState(!1), + [M, D] = k.useState([]), + [F, N] = k.useState(!1), + [J, oe] = k.useState("") + k.useEffect(() => { + const Me = () => { + H && B(!1) + } + return document.addEventListener("mousedown", Me), () => document.removeEventListener("mousedown", Me) + }, [H]), + k.useEffect(() => { + const Me = (Et) => { + const At = Et.data + if (At.type === "enhancedPrompt") { + if (At.text && Ke.current) + try { + if (document.execCommand) { + const ln = Ke.current + ln.focus(), ln.select(), document.execCommand("insertText", !1, At.text) + } else e(At.text) + } catch { + e(At.text) + } + _t(!1) + } else if (At.type === "insertTextIntoTextarea") { + if (At.text && Ke.current) { + const ln = Ke.current, + Qe = t, + pn = ln.selectionStart || 0, + Xt = Qe.slice(0, pn), + te = Xt.length > 0 && !Xt.endsWith(" ") ? " " : "", + Se = Qe.slice(0, pn) + te + At.text + " " + Qe.slice(pn) + e(Se) + const ze = pn + te.length + At.text.length + 1 + setTimeout(() => { + Ke.current && (Ke.current.focus(), Ke.current.setSelectionRange(ze, ze)) + }, 0) + } + } else if (At.type === "commitSearchResults") { + const ln = At.commits.map((Qe) => ({ + type: pt.Git, + value: Qe.hash, + label: Qe.subject, + description: `${Qe.shortHash} by ${Qe.author} on ${Qe.date}`, + icon: "$(git-commit)", + })) + X(ln) + } else At.type === "fileSearchResults" && (N(!1), At.requestId === J && D(At.results || [])) + } + return window.addEventListener("message", Me), () => window.removeEventListener("message", Me) + }, [e, J, t]) + const [ae, Q] = k.useState(!1), + [ee, q] = k.useState(void 0), + [me, Ce] = k.useState(!1), + [ue, Te] = k.useState(0), + [dt, Y] = k.useState(""), + Ke = k.useRef(null), + [jt, Ye] = k.useState(!1), + Bt = k.useRef(null), + [nn, Xe] = k.useState(-1), + [Tt, Vt] = k.useState(null), + [zt, _n] = k.useState(!1), + [ge, Re] = k.useState(null), + tt = k.useRef(null), + [lt, _t] = k.useState(!1), + [Kt, Wn] = k.useState(!1), + { + handleHistoryNavigation: on, + resetHistoryNavigation: Eo, + resetOnInputChange: Fo, + } = q8t({ clineMessages: W, taskHistory: L, cwd: E, inputValue: t, setInputValue: e }) + k.useEffect(() => { + if (Tt === pt.Git || /^[a-f0-9]+$/i.test(dt)) { + const Me = { type: "searchCommits", query: dt || "" } + re.postMessage(Me) + } + }, [Tt, dt]) + const Bn = k.useCallback(() => { + const Me = t.trim() + Me + ? (_t(!0), re.postMessage({ type: "enhancePrompt", text: Me })) + : e(_("chat:enhancePromptDescription")) + }, [t, e, _]), + Yn = k.useMemo(() => qv(R), [R]), + Kn = k.useMemo( + () => [ + { type: pt.Problems, value: "problems" }, + { type: pt.Terminal, value: "terminal" }, + ...V, + ...C.filter((Me) => Me.path).map((Me) => ({ type: pt.OpenedFile, value: "/" + Me.path })), + ...y + .map((Me) => "/" + Me) + .filter((Me) => !C.some((Et) => Et.path && "/" + Et.path === Me)) + .map((Me) => ({ type: Me.endsWith("/") ? pt.Folder : pt.File, value: Me })), + ], + [y, V, C], + ) + k.useEffect(() => { + const Me = (Et) => { + tt.current && !tt.current.contains(Et.target) && Ce(!1) + } + return ( + me && document.addEventListener("mousedown", Me), + () => { + document.removeEventListener("mousedown", Me) + } + ) + }, [me, Ce]) + const Nr = k.useCallback( + (Me, Et) => { + if (Me !== pt.NoResults) { + if (Me === pt.Mode && Et) { + f(Et), e(""), Ce(!1), re.postMessage({ type: "mode", text: Et }) + return + } + if (Me === pt.Command && Et) { + Xe(-1), e(""), Ce(!1) + const At = `/${Et}` + e(At + " "), + Te(At.length + 1), + Re(At.length + 1), + setTimeout(() => { + Ke.current && Ke.current.focus() + }, 0) + return + } + if ((Me === pt.File || Me === pt.Folder || Me === pt.Git) && !Et) { + Vt(Me), Y(""), Xe(0) + return + } + if ((Ce(!1), Vt(null), Ke.current)) { + let At = Et || "" + Me === pt.URL || Me === pt.File || Me === pt.Folder + ? (At = Et || "") + : Me === pt.Problems + ? (At = "problems") + : Me === pt.Terminal + ? (At = "terminal") + : Me === pt.Git + ? (At = Et || "") + : Me === pt.Command && (At = Et ? `/${Et}` : "") + const ln = Me === pt.Mode || Me === pt.Command, + { newValue: Qe, mentionIndex: pn } = _8t(Ke.current.value, ue, At, ln) + e(Qe) + const Xt = Qe.indexOf(" ", pn + At.length) + 1 + Te(Xt), + Re(Xt), + setTimeout(() => { + Ke.current && (Ke.current.blur(), Ke.current.focus()) + }, 0) + } + } + }, + [e, ue], + ), + Or = k.useCallback( + (Me) => { + var At, ln + if (me) { + if (Me.key === "Escape") { + Vt(null), Xe(3) + return + } + if (Me.key === "ArrowUp" || Me.key === "ArrowDown") { + Me.preventDefault(), + Xe((Qe) => { + const pn = Me.key === "ArrowUp" ? -1 : 1, + Xt = bj(dt, Tt, Kn, M, Yn, G) + if (Xt.length === 0) return Qe + const te = Xt.filter( + (ot) => + ot.type !== pt.URL && + ot.type !== pt.NoResults && + ot.type !== pt.SectionHeader, + ) + if (te.length === 0) return -1 + const ze = (te.findIndex((ot) => ot === Xt[Qe]) + pn + te.length) % te.length + return Xt.findIndex((ot) => ot === te[ze]) + }) + return + } + if ((Me.key === "Enter" || Me.key === "Tab") && nn !== -1) { + Me.preventDefault() + const Qe = bj(dt, Tt, Kn, M, Yn, G)[nn] + Qe && + Qe.type !== pt.URL && + Qe.type !== pt.NoResults && + Qe.type !== pt.SectionHeader && + Nr(Qe.type, Qe.value) + return + } + } + const Et = ((At = Me.nativeEvent) == null ? void 0 : At.isComposing) ?? !1 + if ( + !on(Me, me, Et) && + (Me.key === "Enter" && !Me.shiftKey && !Et && (Me.preventDefault(), Eo(), a()), + Me.key === "Backspace" && !Et) + ) { + const Qe = t[ue - 1], + pn = t[ue + 1], + Xt = + Qe === " " || + Qe === + ` +` || + Qe === + `\r +`, + Ve = + pn === " " || + pn === + ` +` || + pn === + `\r +` + if (Xt && t.slice(0, ue - 1).match(new RegExp(M$.source + "$"))) { + const te = ue - 1 + Ve || + (Me.preventDefault(), + (ln = Ke.current) == null || ln.setSelectionRange(te, te), + Te(te)), + Te(te), + _n(!0) + } else if (zt) { + const { newText: te, newPosition: Se } = C8t(t, ue) + te !== t && (Me.preventDefault(), e(te), Re(Se)), _n(!1), Ce(!1) + } else _n(!1) + } + }, + [a, me, dt, nn, Nr, Tt, t, ue, e, zt, Kn, Yn, M, on, Eo, G], + ) + k.useLayoutEffect(() => { + ge !== null && Ke.current && (Ke.current.setSelectionRange(ge, ge), Re(null)) + }, [t, ge]) + const uo = k.useRef(null), + Jo = k.useCallback( + (Me) => { + const Et = Me.target.value + e(Et), Fo() + const At = Me.target.selectionStart + Te(At) + const ln = S8t(Et, At) + if ((Ce(ln), ln)) + if (Et.startsWith("/") && !Et.includes(" ")) + Y(Et), Xe(1), re.postMessage({ type: "requestCommands" }) + else { + const Qe = Et.lastIndexOf("@", At - 1), + pn = Et.slice(Qe + 1, At) + Y(pn), + pn.length > 0 + ? (Xe(0), + uo.current && clearTimeout(uo.current), + (uo.current = setTimeout(() => { + const Xt = Math.random().toString(36).substring(2, 9) + oe(Xt), + N(!0), + re.postMessage({ + type: "searchFiles", + query: k8t(pn), + requestId: Xt, + }) + }, 200))) + : Xe(3) + } + else Y(""), Xe(-1), D([]) + }, + [e, oe, D, N, Fo], + ) + k.useEffect(() => { + me || Vt(null) + }, [me]) + const xe = k.useCallback(() => { + jt || Ce(!1), Wn(!1) + }, [jt]), + $t = k.useCallback( + async (Me) => { + const Et = Me.clipboardData.items, + At = Me.clipboardData.getData("text") + if (/^\S+:\/\/\S+$/.test(At.trim())) { + Me.preventDefault() + const Xt = At.trim(), + Ve = t.slice(0, ue) + Xt + " " + t.slice(ue) + e(Ve) + const te = ue + Xt.length + 1 + Te(te), + Re(te), + Ce(!1), + setTimeout(() => { + Ke.current && (Ke.current.blur(), Ke.current.focus()) + }, 0) + return + } + const Qe = ["png", "jpeg", "webp"], + pn = Array.from(Et).filter((Xt) => { + const [Ve, te] = Xt.type.split("/") + return Ve === "image" && Qe.includes(te) + }) + if (!d && pn.length > 0) { + Me.preventDefault() + const Xt = pn.map( + (Se) => + new Promise((ze) => { + const ot = Se.getAsFile() + if (!ot) { + ze(null) + return + } + const Ut = new FileReader() + ;(Ut.onloadend = () => { + if (Ut.error) + console.error(_("chat:errorReadingFile"), Ut.error), ze(null) + else { + const qt = Ut.result + ze(typeof qt == "string" ? qt : null) + } + }), + Ut.readAsDataURL(ot) + }), + ), + te = (await Promise.all(Xt)).filter((Se) => Se !== null) + te.length > 0 + ? s((Se) => [...Se, ...te].slice(0, Cb)) + : console.warn(_("chat:noValidImages")) + } + }, + [d, s, ue, e, t, _], + ), + gn = k.useCallback(() => { + Ye(!0) + }, []), + an = k.useCallback(() => { + if (!Ke.current || !Bt.current) return + const Me = Ke.current.value, + Et = (ln) => (G == null ? void 0 : G.some((Qe) => Qe.name === ln)) || !1 + let At = Me.replace( + /\n$/, + ` + +`, + ) + .replace(/[<>&]/g, (ln) => ({ "<": "<", ">": ">", "&": "&" })[ln] || ln) + .replace(xdt, '<mark class="mention-context-textarea-highlight">$&</mark>') + ;(At = At.replace(y8t, (ln, Qe) => { + if (Et(Qe)) { + const pn = ln.startsWith(" "), + Xt = `/${Qe}` + return pn + ? ` <mark class="mention-context-textarea-highlight">${Xt}</mark>` + : `<mark class="mention-context-textarea-highlight">${Xt}</mark>` + } + return ln + })), + (Bt.current.innerHTML = At), + (Bt.current.scrollTop = Ke.current.scrollTop), + (Bt.current.scrollLeft = Ke.current.scrollLeft) + }, [G]) + k.useLayoutEffect(() => { + an() + }, [t, an]) + const no = k.useCallback(() => { + Ke.current && Te(Ke.current.selectionStart) + }, []), + vn = k.useCallback( + (Me) => { + ;["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"].includes(Me.key) && no() + }, + [no], + ), + oo = k.useCallback( + async (Me) => { + Me.preventDefault(), Q(!1) + const Et = Me.dataTransfer.getData("text"), + At = Me.dataTransfer.getData("application/vnd.code.uri-list"), + ln = Et || At + if (ln) { + const pn = ln.split(/\r?\n/).filter((Xt) => Xt.trim() !== "") + if (pn.length > 0) { + let Xt = t.slice(0, ue), + Ve = 0 + for (let Se = 0; Se < pn.length; Se++) { + const ze = pn[Se], + ot = x8t(ze, E) + ;(Xt += ot), (Ve += ot.length), Se < pn.length - 1 && ((Xt += " "), (Ve += 1)) + } + ;(Xt += " " + t.slice(ue)), (Ve += 1), e(Xt) + const te = ue + Ve + Te(te), Re(te) + } + return + } + const Qe = Array.from(Me.dataTransfer.files) + if (Qe.length > 0) { + const pn = ["png", "jpeg", "webp"], + Xt = Qe.filter((Ve) => { + const [te, Se] = Ve.type.split("/") + return te === "image" && pn.includes(Se) + }) + if (!d && Xt.length > 0) { + const Ve = Xt.map( + (ze) => + new Promise((ot) => { + const Ut = new FileReader() + ;(Ut.onloadend = () => { + if (Ut.error) + console.error(_("chat:errorReadingFile"), Ut.error), ot(null) + else { + const qt = Ut.result + ot(typeof qt == "string" ? qt : null) + } + }), + Ut.readAsDataURL(ze) + }), + ), + Se = (await Promise.all(Ve)).filter((ze) => ze !== null) + Se.length > 0 + ? (s((ze) => [...ze, ...Se].slice(0, Cb)), + typeof re < "u" && re.postMessage({ type: "draggedImages", dataUrls: Se })) + : console.warn(_("chat:noValidImages")) + } + } + }, + [ue, E, t, e, Te, Re, d, s, _], + ), + [Bo, ro] = k.useState(!1) + Ws("message", (Me) => { + const Et = Me.data + Et.type === "ttsStart" ? ro(!0) : Et.type === "ttsStop" && ro(!1) + }) + const bo = ` +(${_("chat:addContext")}${d ? `, ${_("chat:dragFiles")}` : `, ${_("chat:dragFilesImages")}`})`, + Ln = k.useCallback( + (Me) => { + f(Me), re.postMessage({ type: "mode", text: Me }) + }, + [f], + ), + yo = () => + l.jsx(_dt, { + value: m, + title: _("chat:selectMode"), + onChange: Ln, + triggerClassName: "w-full", + modeShortcutText: g, + customModes: R, + customModePrompts: T, + }), + ko = k.useCallback((Me) => { + re.postMessage({ type: "loadApiConfigurationById", text: Me }) + }, []), + Vn = () => + l.jsxs("div", { + className: be("flex", "justify-between", "items-center", "mt-auto"), + children: [ + l.jsxs("div", { + className: be("flex", "items-center", "gap-1", "min-w-0"), + children: [ + l.jsx("div", { className: "shrink-0", children: yo() }), + l.jsx("div", { + className: be("flex-1", "min-w-0", "overflow-hidden"), + children: l.jsx(R8t, { + value: U, + displayName: Z, + disabled: o, + title: _("chat:selectApiConfig"), + onChange: ko, + triggerClassName: "w-full text-ellipsis overflow-hidden", + listApiConfigMeta: P || [], + pinnedApiConfigs: $, + togglePinnedApiConfig: j, + }), + }), + ], + }), + l.jsxs("div", { + className: be("flex", "items-center", "gap-0.5", "shrink-0"), + children: [ + Bo && + l.jsx(We, { + content: _("chat:stopTts"), + children: l.jsx("button", { + "aria-label": _("chat:stopTts"), + onClick: () => re.postMessage({ type: "stopTts" }), + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "text-vscode-foreground opacity-85", + "transition-all duration-150", + "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + "cursor-pointer", + ), + children: l.jsx(iLt, { className: "w-4 h-4" }), + }), + }), + l.jsx(U8t, {}), + l.jsx(F8t, {}), + l.jsx(We, { + content: _("chat:addImages"), + children: l.jsx("button", { + "aria-label": _("chat:addImages"), + disabled: d, + onClick: d ? void 0 : c, + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "text-vscode-foreground opacity-85", + "transition-all duration-150", + "hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + !d && "cursor-pointer", + d && + "opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent", + "mr-1", + ), + children: l.jsx($rt, { className: "w-4 h-4" }), + }), + }), + ], + }), + ], + }), + Go = () => + l.jsxs("div", { + className: be( + "relative", + "flex-1", + "flex", + "flex-col-reverse", + "min-h-0", + "overflow-hidden", + "rounded", + ), + children: [ + l.jsx("div", { + ref: Bt, + "data-testid": "highlight-layer", + className: be( + "absolute", + "inset-0", + "pointer-events-none", + "whitespace-pre-wrap", + "break-words", + "text-transparent", + "overflow-hidden", + "font-vscode-font-family", + "text-vscode-editor-font-size", + "leading-vscode-editor-line-height", + Kt + ? "border border-vscode-focusBorder outline outline-vscode-focusBorder" + : ae + ? "border-2 border-dashed border-vscode-focusBorder" + : "border border-transparent", + b ? "pt-1.5 pb-10 px-2" : "py-1.5 px-2", + "px-[8px]", + "pr-9", + "z-10", + "forced-color-adjust-none", + ), + style: { color: "transparent" }, + }), + l.jsx(b8t, { + ref: (Me) => { + typeof w == "function" ? w(Me) : w && (w.current = Me), (Ke.current = Me) + }, + value: t, + onChange: (Me) => { + Jo(Me), an() + }, + onFocus: () => Wn(!0), + onKeyDown: Or, + onKeyUp: vn, + onBlur: xe, + onPaste: $t, + onSelect: no, + onMouseUp: no, + onHeightChange: (Me) => { + ;(ee === void 0 || Me < ee) && q(Me), u == null || u(Me) + }, + placeholder: r, + minRows: 3, + maxRows: 15, + autoFocus: !0, + className: be( + "w-full", + "text-vscode-input-foreground", + "font-vscode-font-family", + "text-vscode-editor-font-size", + "leading-vscode-editor-line-height", + "cursor-text", + b ? "pt-1.5 pb-10 px-2" : "py-1.5 px-2", + Kt + ? "border border-vscode-focusBorder outline outline-vscode-focusBorder" + : ae + ? "border-2 border-dashed border-vscode-focusBorder" + : "border border-transparent", + ae + ? "bg-[color-mix(in_srgb,var(--vscode-input-background)_95%,var(--vscode-focusBorder))]" + : "bg-vscode-input-background", + "transition-background-color duration-150 ease-in-out", + "will-change-background-color", + "min-h-[90px]", + "box-border", + "rounded", + "resize-none", + "overflow-x-hidden", + "overflow-y-auto", + "pr-9", + "flex-none flex-grow", + "z-[2]", + "scrollbar-none", + "scrollbar-hide", + ), + onScroll: () => an(), + }), + l.jsx("div", { + className: "absolute top-1 right-1 z-30", + children: l.jsx(We, { + content: _("chat:enhancePrompt"), + children: l.jsx("button", { + "aria-label": _("chat:enhancePrompt"), + disabled: !1, + onClick: Bn, + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground", + "transition-all duration-150", + "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + "cursor-pointer", + ), + children: l.jsx(aLt, { className: be("w-4 h-4", lt && "animate-spin") }), + }), + }), + }), + !b && + l.jsx("div", { + className: "absolute bottom-1 right-1 z-30", + children: l.jsx(We, { + content: _("chat:sendMessage"), + children: l.jsx("button", { + "aria-label": _("chat:sendMessage"), + disabled: !1, + onClick: a, + className: be( + "relative inline-flex items-center justify-center", + "bg-transparent border-none p-1.5", + "rounded-md min-w-[28px] min-h-[28px]", + "opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground", + "transition-all duration-150", + "hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]", + "focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder", + "active:bg-[rgba(255,255,255,0.1)]", + "cursor-pointer", + ), + children: l.jsx(Drt, { className: "w-4 h-4" }), + }), + }), + }), + !t && + !b && + l.jsx("div", { + className: + "absolute left-2 z-30 pr-9 flex items-center h-8 font-vscode-font-family text-vscode-editor-font-size leading-vscode-editor-line-height", + style: { + bottom: "0.25rem", + color: "color-mix(in oklab, var(--vscode-input-foreground) 50%, transparent)", + userSelect: "none", + pointerEvents: "none", + }, + children: bo, + }), + ], + }) + return l.jsxs("div", { + className: be( + "relative", + "flex", + "flex-col", + "gap-1", + "bg-editor-background", + b ? "px-0" : "px-1.5", + "pb-1", + "outline-none", + "border", + "border-none", + b ? "w-full" : "w-[calc(100%-16px)]", + "ml-auto", + "mr-auto", + "box-border", + ), + children: [ + l.jsxs("div", { + className: "relative", + children: [ + l.jsxs("div", { + className: be("chat-text-area", "relative", "flex", "flex-col", "outline-none"), + onDrop: oo, + onDragOver: (Me) => { + if (!Me.shiftKey) { + Q(!1) + return + } + Me.preventDefault(), Q(!0), (Me.dataTransfer.dropEffect = "copy") + }, + onDragLeave: (Me) => { + Me.preventDefault() + const Et = Me.currentTarget.getBoundingClientRect() + ;(Me.clientX <= Et.left || + Me.clientX >= Et.right || + Me.clientY <= Et.top || + Me.clientY >= Et.bottom) && + Q(!1) + }, + children: [ + me && + l.jsx("div", { + ref: tt, + className: be( + "absolute", + "bottom-full", + "left-0", + "right-0", + "z-[1000]", + "mb-2", + "filter", + "drop-shadow-md", + ), + children: l.jsx(L8t, { + onSelect: Nr, + searchQuery: dt, + inputValue: t, + onMouseDown: gn, + selectedIndex: nn, + setSelectedIndex: Xe, + selectedType: Tt, + queryItems: Kn, + modes: Yn, + loading: F, + dynamicSearchResults: M, + commands: G, + }), + }), + Go(), + ], + }), + b && + l.jsx(W8t, { + mode: m, + onModeChange: Ln, + modeShortcutText: g, + customModes: R, + customModePrompts: T, + onCancel: v, + onSend: a, + onSelectImages: c, + sendingDisabled: n, + shouldDisableImages: d, + }), + ], + }), + i.length > 0 && + l.jsx(e0, { images: i, setImages: s, style: { left: "16px", zIndex: 2, marginBottom: 0 } }), + !b && Vn(), + ], + }) + }, + ), + wb = ({ className: t, ...e }) => + l.jsx("div", { + className: be("overflow-hidden border border-vscode-border rounded-xs p-2 cursor-pointer", t), + style: { backgroundColor: Rc }, + ...e, + }), + _b = ({ className: t, ...e }) => + l.jsx("div", { className: be("flex items-center select-none text-vscode-descriptionForeground", t), ...e }), + K8t = [ + { value: "", label: "Not Started", color: "var(--vscode-foreground)", border: "#bbb", bg: "transparent" }, + { + value: "in_progress", + label: "In Progress", + color: "var(--vscode-charts-yellow)", + border: "var(--vscode-charts-yellow)", + bg: "rgba(255, 221, 51, 0.15)", + }, + { + value: "completed", + label: "Completed", + color: "var(--vscode-charts-green)", + border: "var(--vscode-charts-green)", + bg: "var(--vscode-charts-green)", + }, + ], + WP = () => Math.random().toString(36).slice(2, 10), + $q = ({ todos: t = [], content: e, onChange: n, editable: o = !0, userEdited: r = !1 }) => { + const [i, s] = k.useState(t.length > 0 ? t.map((T) => ({ ...T, id: T.id || WP() })) : []), + [a, c] = k.useState(!1), + [d, u] = k.useState(""), + m = k.useRef(null), + [f, g] = k.useState(null), + [b, v] = k.useState(!1) + k.useEffect(() => { + !o && b && v(!1) + }, [o, b]), + k.useEffect(() => { + typeof n != "function" && + console.warn( + "UpdateTodoListToolBlock: onChange callback not passed, cannot notify model after todo changes!", + ) + }, []), + k.useEffect(() => { + s(t.length > 0 ? t.map((T) => ({ ...T, id: T.id || WP() })) : []) + }, [t]), + k.useEffect(() => { + a && m.current && m.current.focus() + }, [a]) + const w = (T, E) => { + const $ = i.map((j) => (j.id === T ? { ...j, content: E } : j)) + s($), n == null || n($) + }, + _ = (T, E) => { + const $ = i.map((j) => (j.id === T ? { ...j, status: E } : j)) + s($), n == null || n($) + }, + y = (T) => { + g(T) + }, + C = () => { + if (!f) return + const T = i.filter((E) => E.id !== f) + s(T), n == null || n(T), g(null) + }, + S = () => g(null), + P = () => { + if (!d.trim()) return + const T = { id: WP(), content: d.trim(), status: "" }, + E = [...i, T] + s(E), n == null || n(E), u(""), c(!1) + }, + R = (T) => { + T.key === "Enter" ? P() : T.key === "Escape" && (c(!1), u("")) + } + return r + ? l.jsxs(wb, { + children: [ + l.jsx(_b, { + children: l.jsxs("div", { + className: "flex items-center w-full", + style: { width: "100%" }, + children: [ + l.jsx("span", { + className: "codicon codicon-feedback mr-1.5", + style: { color: "var(--vscode-charts-yellow)" }, + }), + l.jsx("span", { + className: "font-bold mr-2", + style: { fontWeight: "bold" }, + children: "User Edit", + }), + l.jsx("div", { className: "flex-grow" }), + ], + }), + }), + l.jsx("div", { + className: "overflow-x-auto max-w-full", + style: { padding: "12px 0 8px 0" }, + children: l.jsx("span", { + className: "text-vscode-descriptionForeground", + children: "User Edits", + }), + }), + ], + }) + : l.jsx(l.Fragment, { + children: l.jsxs(wb, { + children: [ + l.jsx(_b, { + children: l.jsxs("div", { + className: "flex items-center w-full", + style: { width: "100%" }, + children: [ + l.jsx("span", { + className: "codicon codicon-checklist mr-1.5", + style: { color: "var(--vscode-foreground)" }, + }), + l.jsx("span", { + className: "font-bold mr-2", + style: { fontWeight: "bold" }, + children: "Todo List Updated", + }), + l.jsx("div", { className: "flex-grow" }), + o && + l.jsx("button", { + onClick: () => v(!b), + style: { + border: b + ? "1px solid var(--vscode-button-border)" + : "1px solid var(--vscode-button-secondaryBorder)", + background: b + ? "var(--vscode-button-background)" + : "var(--vscode-button-secondaryBackground)", + color: b + ? "var(--vscode-button-foreground)" + : "var(--vscode-button-secondaryForeground)", + borderRadius: 4, + padding: "2px 8px", + cursor: "pointer", + fontSize: 13, + marginLeft: 8, + }, + children: b ? "Done" : "Edit", + }), + ], + }), + }), + l.jsx("div", { + className: "overflow-x-auto max-w-full", + style: { padding: "6px 0 2px 0" }, + children: + Array.isArray(i) && i.length > 0 + ? l.jsxs("ul", { + style: { margin: 0, paddingLeft: 0, listStyle: "none" }, + children: [ + i.map((T, E) => { + let $ + return ( + T.status === "completed" + ? ($ = l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: "var(--vscode-charts-green)", + marginRight: 6, + marginTop: 7, + flexShrink: 0, + }, + })) + : T.status === "in_progress" + ? ($ = l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: + "var(--vscode-charts-yellow)", + marginRight: 6, + marginTop: 7, + flexShrink: 0, + }, + })) + : ($ = l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + border: "1px solid var(--vscode-descriptionForeground)", + background: "transparent", + marginRight: 6, + marginTop: 7, + flexShrink: 0, + }, + })), + l.jsxs( + "li", + { + style: { + marginBottom: 2, + display: "flex", + alignItems: "flex-start", + minHeight: 20, + }, + children: [ + $, + b + ? l.jsx("input", { + type: "text", + value: T.content, + placeholder: "Enter todo item", + onChange: (j) => + w(T.id, j.target.value), + style: { + flex: 1, + minWidth: 0, + fontWeight: 500, + color: "var(--vscode-input-foreground)", + background: + "var(--vscode-input-background)", + border: "none", + outline: "none", + fontSize: 13, + marginRight: 6, + padding: "1px 3px", + borderBottom: + "1px solid var(--vscode-input-border)", + }, + onBlur: (j) => { + j.target.value.trim() || y(T.id) + }, + }) + : l.jsx("span", { + style: { + flex: 1, + minWidth: 0, + fontWeight: 500, + color: + T.status === "completed" + ? "var(--vscode-charts-green)" + : T.status === + "in_progress" + ? "var(--vscode-charts-yellow)" + : "var(--vscode-foreground)", + fontSize: 13, + marginRight: 6, + padding: "1px 3px", + lineHeight: "1.4", + }, + children: T.content, + }), + b && + l.jsx("select", { + value: T.status || "", + onChange: (j) => + _(T.id, j.target.value), + style: { + marginRight: 6, + borderRadius: 4, + border: "1px solid var(--vscode-input-border)", + background: + "var(--vscode-input-background)", + color: "var(--vscode-input-foreground)", + fontSize: 12, + padding: "1px 4px", + }, + children: K8t.map((j) => + l.jsx( + "option", + { + value: j.value, + children: j.label, + }, + j.value, + ), + ), + }), + b && + l.jsx("button", { + onClick: () => y(T.id), + style: { + border: "none", + background: "transparent", + color: "#f14c4c", + cursor: "pointer", + fontSize: 14, + marginLeft: 2, + padding: 0, + lineHeight: 1, + }, + title: "Remove", + children: "×", + }), + ], + }, + T.id || E, + ) + ) + }), + a + ? l.jsxs("li", { + style: { + marginTop: 2, + display: "flex", + alignItems: "center", + }, + children: [ + l.jsx("span", { + style: { width: 14, marginRight: 6 }, + }), + l.jsx("input", { + ref: m, + type: "text", + value: d, + placeholder: + "Enter todo item, press Enter to add", + onChange: (T) => u(T.target.value), + onKeyDown: R, + style: { + flex: 1, + minWidth: 0, + fontWeight: 500, + color: "var(--vscode-foreground)", + background: "transparent", + border: "none", + outline: "none", + fontSize: 13, + marginRight: 6, + padding: "1px 3px", + borderBottom: "1px solid #eee", + }, + }), + l.jsx("button", { + onClick: P, + disabled: !d.trim(), + style: { + border: "1px solid var(--vscode-button-border)", + background: + "var(--vscode-button-background)", + color: "var(--vscode-button-foreground)", + borderRadius: 4, + padding: "1px 7px", + cursor: d.trim() + ? "pointer" + : "not-allowed", + fontSize: 12, + marginRight: 4, + }, + children: "Add", + }), + l.jsx("button", { + onClick: () => { + c(!1), u("") + }, + style: { + border: "1px solid var(--vscode-button-secondaryBorder)", + background: + "var(--vscode-button-secondaryBackground)", + color: "var(--vscode-button-secondaryForeground)", + borderRadius: 4, + padding: "1px 7px", + cursor: "pointer", + fontSize: 12, + }, + children: "Cancel", + }), + ], + }) + : l.jsx("li", { + style: { marginTop: 2 }, + children: + b && + l.jsx("button", { + onClick: () => c(!0), + style: { + border: "1px dashed var(--vscode-button-secondaryBorder)", + background: + "var(--vscode-button-secondaryBackground)", + color: "var(--vscode-button-secondaryForeground)", + borderRadius: 4, + padding: "1px 8px", + cursor: "pointer", + fontSize: 12, + }, + children: "+ Add Todo", + }), + }), + ], + }) + : l.jsx(kh, { markdown: e }), + }), + f && + l.jsx("div", { + style: { + position: "fixed", + left: 0, + top: 0, + right: 0, + bottom: 0, + background: "rgba(0,0,0,0.15)", + zIndex: 9999, + display: "flex", + alignItems: "center", + justifyContent: "center", + }, + onClick: S, + children: l.jsxs("div", { + style: { + background: "#fff", + borderRadius: 8, + boxShadow: "0 2px 16px rgba(0,0,0,0.15)", + padding: "16px 20px", + minWidth: 200, + zIndex: 1e4, + }, + onClick: (T) => T.stopPropagation(), + children: [ + l.jsx("div", { + style: { marginBottom: 12, fontSize: 14, color: "#333" }, + children: "Are you sure you want to delete this todo item?", + }), + l.jsxs("div", { + style: { display: "flex", justifyContent: "flex-end", gap: 8 }, + children: [ + l.jsx("button", { + onClick: S, + style: { + border: "1px solid #bbb", + background: "transparent", + color: "#888", + borderRadius: 4, + padding: "2px 10px", + cursor: "pointer", + fontSize: 12, + }, + children: "Cancel", + }), + l.jsx("button", { + onClick: C, + style: { + border: "1px solid #f14c4c", + background: "#f14c4c", + color: "#fff", + borderRadius: 4, + padding: "2px 10px", + cursor: "pointer", + fontSize: 12, + }, + children: "Delete", + }), + ], + }), + ], + }), + }), + ], + }), + }) + }, + V8t = ({ + path: t, + code: e = "", + language: n, + progressStatus: o, + isLoading: r, + isExpanded: i, + isFeedback: s, + onToggleExpand: a, + header: c, + onJumpToFile: d, + }) => { + const u = k.useMemo(() => n ?? (t ? kdt(t) : "txt"), [t, n]), + m = k.useMemo(() => e.trim(), [e]), + f = !!(t || s || c) + return l.jsxs(wb, { + children: [ + f && + l.jsxs(_b, { + onClick: a, + children: [ + r && l.jsx(znt, { className: "size-3 mr-2" }), + c + ? l.jsxs("div", { + className: "flex items-center", + children: [ + l.jsx("span", { className: "codicon codicon-server mr-1.5" }), + l.jsx("span", { + className: "whitespace-nowrap overflow-hidden text-ellipsis mr-2", + children: c, + }), + ], + }) + : s + ? l.jsxs("div", { + className: "flex items-center", + children: [ + l.jsx("span", { + className: `codicon codicon-${s ? "feedback" : "codicon-output"} mr-1.5`, + }), + l.jsx("span", { + className: + "whitespace-nowrap overflow-hidden text-ellipsis mr-2 rtl", + children: s ? "User Edits" : "Console Logs", + }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + (t == null ? void 0 : t.startsWith(".")) && + l.jsx("span", { children: "." }), + l.jsx("span", { + className: + "whitespace-nowrap overflow-hidden text-ellipsis text-left mr-2 rtl", + children: JC(t ?? "") + "‎", + }), + ], + }), + l.jsx("div", { className: "flex-grow-1" }), + o && + o.text && + l.jsxs(l.Fragment, { + children: [ + o.icon && l.jsx("span", { className: `codicon codicon-${o.icon} mr-1` }), + l.jsx("span", { + className: "mr-1 ml-auto text-vscode-descriptionForeground", + children: o.text, + }), + ], + }), + d && + t && + l.jsx("span", { + className: "codicon codicon-link-external mr-1", + style: { fontSize: 13.5 }, + onClick: (g) => { + g.stopPropagation(), d() + }, + "aria-label": `Open file: ${t}`, + }), + !d && l.jsx("span", { className: `codicon codicon-chevron-${i ? "up" : "down"}` }), + ], + }), + (!f || i) && + l.jsx("div", { + className: "overflow-x-auto overflow-y-hidden max-w-full", + children: l.jsx(Gl, { source: m, language: u }), + }), + ], + }) + }, + na = k.memo(V8t), + H8t = ({ content: t, elapsed: e, isCollapsed: n = !1, onToggleCollapse: o }) => { + const r = k.useRef(null), + i = k.useRef(0), + { t: s } = to("chat"), + [a, c] = k.useState(), + [d, u] = k.useState(s("chat:reasoning.thinking")), + [m, f] = k.useState(!1), + g = k.useRef(0), + b = k.useRef([]) + k.useEffect(() => { + r.current && !n && (r.current.scrollTop = r.current.scrollHeight) + }, [t, n]), + k.useEffect(() => { + e && (i.current = e) + }, [e]) + const v = k.useCallback(() => { + const w = b.current.pop() + ;(b.current = []), + w && f(!0), + setTimeout(() => { + w && (u(w), f(!1)), setTimeout(() => v(), 500) + }, 200) + }, []) + return ( + L_(() => { + v() + }), + k.useEffect(() => { + t.length - g.current > 160 && (c("... " + t.slice(g.current)), (g.current = t.length)) + }, [t]), + k.useEffect(() => { + a && a !== d && b.current.push(a) + }, [a, d]), + l.jsxs("div", { + className: "bg-vscode-editor-background border border-vscode-border rounded-xs overflow-hidden", + children: [ + l.jsxs("div", { + className: + "flex items-center justify-between gap-1 px-3 py-2 cursor-pointer text-muted-foreground", + onClick: o, + children: [ + l.jsx("div", { + className: `truncate flex-1 transition-opacity duration-200 ${m ? "opacity-0" : "opacity-100"}`, + children: d, + }), + l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + i.current > 1e3 && + l.jsxs(l.Fragment, { + children: [ + l.jsx(QLt, { className: "scale-80" }), + l.jsx("div", { + children: s("reasoning.seconds", { + count: Math.round(i.current / 1e3), + }), + }), + ], + }), + n ? l.jsx(KLt, {}) : l.jsx(nit, {}), + ], + }), + ], + }), + !n && + l.jsx("div", { + ref: r, + className: "px-3 max-h-[160px] overflow-y-auto", + children: l.jsx(kh, { markdown: t }), + }), + ], + }) + ) + }, + Adt = ({ item: t }) => { + const n = "uri" in t ? t.uri : t.uriTemplate + return l.jsxs( + "div", + { + style: { padding: "3px 0" }, + children: [ + l.jsxs("div", { + style: { display: "flex", alignItems: "center", marginBottom: "4px" }, + children: [ + l.jsx("span", { className: "codicon codicon-symbol-file", style: { marginRight: "6px" } }), + l.jsx("span", { style: { fontWeight: 500, wordBreak: "break-all" }, children: n }), + ], + }), + l.jsx("div", { + style: { fontSize: "12px", opacity: 0.8, margin: "4px 0" }, + children: + t.name && t.description + ? `${t.name}: ${t.description}` + : !t.name && t.description + ? t.description + : !t.description && t.name + ? t.name + : "No description", + }), + l.jsxs("div", { + style: { fontSize: "12px" }, + children: [ + l.jsx("span", { style: { opacity: 0.8 }, children: "Returns " }), + l.jsx("code", { + style: { + color: "var(--vscode-textPreformat-foreground)", + background: "var(--vscode-textPreformat-background)", + padding: "1px 4px", + borderRadius: "3px", + }, + children: t.mimeType || "Unknown", + }), + ], + }), + ], + }, + n, + ) + }, + I_ = ({ text: t, withShadow: e = !1 }) => { + if (!t) return l.jsx(l.Fragment, { children: t }) + const n = t + .split(xdt) + .map((o, r) => + r % 2 === 0 + ? o + : l.jsxs( + "span", + { + className: `${e ? "mention-context-highlight-with-shadow" : "mention-context-highlight"} cursor-pointer`, + onClick: () => re.postMessage({ type: "openMention", text: o }), + children: ["@", o], + }, + r, + ), + ) + return l.jsx(l.Fragment, { children: n }) + }, + G8t = ({ ts: t, commitHash: e, currentHash: n, checkpoint: o }) => { + const { t: r } = to(), + [i, s] = k.useState(!1), + [a, c] = k.useState(!1), + d = Df("roo-portal"), + u = n === e, + m = o == null ? void 0 : o.from, + f = k.useCallback(() => { + re.postMessage({ + type: "checkpointDiff", + payload: { ts: t, previousCommitHash: m, commitHash: e, mode: "checkpoint" }, + }) + }, [t, m, e]), + g = k.useCallback(() => { + re.postMessage({ type: "checkpointRestore", payload: { ts: t, commitHash: e, mode: "preview" } }), s(!1) + }, [t, e]), + b = k.useCallback(() => { + re.postMessage({ type: "checkpointRestore", payload: { ts: t, commitHash: e, mode: "restore" } }), s(!1) + }, [t, e]) + return l.jsxs("div", { + className: "flex flex-row gap-1", + children: [ + l.jsx(We, { + content: r("chat:checkpoint.menu.viewDiff"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: f, + children: l.jsx("span", { className: "codicon codicon-diff-single" }), + }), + }), + l.jsxs(dl, { + open: i, + onOpenChange: (v) => { + s(v), c(!1) + }, + children: [ + l.jsx(We, { + content: r("chat:checkpoint.menu.restore"), + children: l.jsx(ul, { + asChild: !0, + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + children: l.jsx("span", { className: "codicon codicon-history" }), + }), + }), + }), + l.jsx(xa, { + align: "end", + container: d, + children: l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + !u && + l.jsxs("div", { + className: "flex flex-col gap-1 group hover:text-foreground", + children: [ + l.jsx(Ee, { + variant: "secondary", + onClick: g, + children: r("chat:checkpoint.menu.restoreFiles"), + }), + l.jsx("div", { + className: + "text-muted transition-colors group-hover:text-foreground", + children: r("chat:checkpoint.menu.restoreFilesDescription"), + }), + ], + }), + l.jsx("div", { + className: "flex flex-col gap-1 group hover:text-foreground", + children: l.jsxs("div", { + className: "flex flex-col gap-1 group hover:text-foreground", + children: [ + a + ? l.jsxs(l.Fragment, { + children: [ + l.jsx(Ee, { + variant: "default", + onClick: b, + className: "grow", + children: l.jsxs("div", { + className: "flex flex-row gap-1", + children: [ + l.jsx(oit, {}), + l.jsx("div", { + children: + r("chat:checkpoint.menu.confirm"), + }), + ], + }), + }), + l.jsx(Ee, { + variant: "secondary", + onClick: () => c(!1), + children: l.jsxs("div", { + className: "flex flex-row gap-1", + children: [ + l.jsx(YLt, {}), + l.jsx("div", { + children: + r("chat:checkpoint.menu.cancel"), + }), + ], + }), + }), + ], + }) + : l.jsx(Ee, { + variant: "secondary", + onClick: () => c(!0), + children: r("chat:checkpoint.menu.restoreFilesAndTask"), + }), + a + ? l.jsx("div", { + className: "text-destructive font-bold", + children: r("chat:checkpoint.menu.cannotUndo"), + }) + : l.jsx("div", { + className: + "text-muted transition-colors group-hover:text-foreground", + children: r( + "chat:checkpoint.menu.restoreFilesAndTaskDescription", + ), + }), + ], + }), + }), + ], + }), + }), + ], + }), + ], + }) + }, + Q8t = Ae({ from: se(), to: se() }), + Z8t = ({ checkpoint: t, ...e }) => { + const { t: n } = to(), + o = e.currentHash === e.commitHash, + r = k.useMemo(() => { + if (!t) return + const i = Q8t.safeParse(t) + if (i.success) return i.data + }, [t]) + return r + ? l.jsxs("div", { + className: "flex items-center justify-between", + children: [ + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx("span", { className: "codicon codicon-git-commit text-blue-400" }), + l.jsx("span", { className: "font-bold", children: n("chat:checkpoint.regular") }), + o && + l.jsx("span", { + className: "text-muted text-sm", + children: n("chat:checkpoint.current"), + }), + ], + }), + l.jsx(G8t, { ...e, checkpoint: r }), + ], + }) + : null + }, + Y8t = 6e4, + X8t = 1e3, + J8t = ({ suggestions: t = [], onSuggestionClick: e, ts: n = 1, onCancelAutoApproval: o, isAnswered: r = !1 }) => { + const { autoApprovalEnabled: i, alwaysAllowFollowupQuestions: s, followupAutoApproveTimeoutMs: a } = Qn(), + [c, d] = k.useState(null), + [u, m] = k.useState(!1), + { t: f } = Be() + k.useEffect(() => { + if (i && s && t.length > 0 && !u && !r) { + const b = typeof a == "number" && !isNaN(a) ? a : Y8t + d(Math.floor(b / 1e3)) + const v = setInterval(() => { + d((w) => (w === null || w <= 1 ? (clearInterval(v), null) : w - 1)) + }, X8t) + return () => { + clearInterval(v), o == null || o() + } + } else d(null) + }, [i, s, t, a, u, o, r]) + const g = k.useCallback( + (b, v) => { + v.shiftKey || (m(!0), o == null || o()), e == null || e(b, v) + }, + [e, o], + ) + return !(t != null && t.length) || !e + ? null + : l.jsx("div", { + className: "flex mb-2 flex-col h-full gap-2", + children: t.map((b, v) => { + const w = v === 0 + return l.jsxs( + "div", + { + className: "w-full relative group", + children: [ + l.jsxs(Ee, { + variant: "outline", + className: + "text-left whitespace-normal break-words w-full h-auto py-3 justify-start pr-8", + onClick: (_) => g(b, _), + "aria-label": b.answer, + children: [ + b.answer, + w && + c !== null && + !u && + !r && + l.jsx("span", { + className: + "ml-2 px-1.5 py-0.5 text-xs rounded-full bg-vscode-badge-background text-vscode-badge-foreground", + title: f("chat:followUpSuggest.autoSelectCountdown", { count: c }), + children: f("chat:followUpSuggest.countdownDisplay", { count: c }), + }), + ], + }), + b.mode && + l.jsxs("div", { + className: + "absolute bottom-0 right-0 text-[10px] bg-vscode-badge-background text-vscode-badge-foreground px-1 py-0.5 border border-vscode-badge-background flex items-center gap-0.5", + children: [ + l.jsx("span", { + className: "codicon codicon-arrow-right", + style: { fontSize: "8px" }, + }), + b.mode, + ], + }), + l.jsx(We, { + content: f("chat:followUpSuggest.copyToInput"), + children: l.jsx("div", { + className: + "absolute top-0 right-0 opacity-0 group-hover:opacity-100 transition-opacity", + onClick: (_) => { + _.stopPropagation(), + m(!0), + o == null || o(), + e == null || e(b, { ..._, shiftKey: !0 }) + }, + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + children: l.jsx(Ort, {}), + }), + }), + }), + ], + }, + `${b.answer}-${n}`, + ) + }), + }) + }, + Pdt = k.memo(({ files: t = [], onPermissionResponse: e, ts: n }) => + !(t != null && t.length) || !e + ? null + : l.jsx("div", { + className: "pt-[5px]", + children: l.jsx("div", { + className: "flex flex-col gap-0 border border-border rounded-md p-1", + children: t.map((o) => { + var r + return l.jsx( + "div", + { + className: "flex items-center gap-2", + children: l.jsx(wb, { + className: "flex-1", + children: l.jsxs(_b, { + onClick: () => re.postMessage({ type: "openFile", text: o.content }), + children: [ + ((r = o.path) == null ? void 0 : r.startsWith(".")) && + l.jsx("span", { children: "." }), + l.jsxs("span", { + className: + "whitespace-nowrap overflow-hidden text-ellipsis text-left mr-2 rtl", + children: [ + JC(o.path ?? "") + "‎", + o.lineSnippet && ` ${o.lineSnippet}`, + ], + }), + l.jsx("div", { className: "flex-grow" }), + l.jsx("span", { + className: "codicon codicon-link-external text-[13.5px] my-[1px]", + }), + ], + }), + }), + }, + `${o.path}-${n}`, + ) + }), + }), + }), + ) +Pdt.displayName = "BatchFilePermission" +const Rdt = k.memo(({ files: t = [], ts: e }) => { + const [n, o] = k.useState({}) + if (!(t != null && t.length)) return null + const r = (i) => { + o((s) => ({ ...s, [i]: !s[i] })) + } + return l.jsx("div", { + className: "pt-[5px]", + children: l.jsx("div", { + className: "flex flex-col gap-0 border border-border rounded-md p-1", + children: t.map((i) => { + var a + const s = + ((a = i.diffs) == null + ? void 0 + : a.map((c) => c.content).join(` + +`)) || i.content + return l.jsx( + "div", + { + children: l.jsx(na, { + path: i.path, + code: s, + language: "diff", + isExpanded: n[i.path] || !1, + onToggleExpand: () => r(i.path), + }), + }, + `${i.path}-${e}`, + ) + }), + }), + }) +}) +Rdt.displayName = "BatchDiffApproval" +const Ev = () => + l.jsx("div", { + style: { width: "16px", height: "16px", display: "flex", alignItems: "center", justifyContent: "center" }, + children: l.jsx("div", { + style: { transform: "scale(0.55)", transformOrigin: "center" }, + children: l.jsx(znt, {}), + }), + }), + e9t = ({ patterns: t, allowedCommands: e, deniedCommands: n, onAllowPatternChange: o, onDenyPatternChange: r }) => { + const { t: i } = to(), + [s, a] = k.useState(!1), + [c, d] = k.useState({}), + u = () => { + window.postMessage({ + type: "action", + action: "settingsButtonClicked", + values: { section: "autoApprove" }, + }) + }, + m = k.useMemo(() => { + const v = new Set() + return t.filter((_) => (v.has(_.pattern) ? !1 : (v.add(_.pattern), !0))) + }, [t]), + f = (v) => (e.includes(v) ? "allowed" : n.includes(v) ? "denied" : "none"), + g = (v) => c[v] || { isEditing: !1, value: v }, + b = (v, w, _) => { + d((y) => ({ ...y, [v]: { isEditing: w, value: _ ?? v } })) + } + return l.jsxs("div", { + className: "border-t border-vscode-panel-border bg-vscode-sideBar-background/30", + children: [ + l.jsx("button", { + onClick: () => a(!s), + className: + "w-full px-3 py-2 flex items-center justify-between hover:bg-vscode-list-hoverBackground transition-colors", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(hu, { className: be("size-4 transition-transform", { "-rotate-90": !s }) }), + l.jsx("span", { + className: "text-sm font-medium", + children: i("chat:commandExecution.manageCommands"), + }), + l.jsx(We, { + content: l.jsx("div", { + className: "max-w-xs", + children: l.jsx(Dt, { + i18nKey: "chat:commandExecution.commandManagementDescription", + components: { + settingsLink: l.jsx(Wt, { + href: "#", + onClick: (v) => { + v.preventDefault(), u() + }, + className: + "text-vscode-textLink-foreground hover:text-vscode-textLink-activeForeground", + }), + }, + }), + }), + children: l.jsx(lz, { className: "size-3.5 text-vscode-descriptionForeground" }), + }), + ], + }), + }), + s && + l.jsx("div", { + className: "px-3 pb-3 space-y-2", + children: m.map((v) => { + const w = g(v.pattern), + _ = f(w.value) + return l.jsxs( + "div", + { + className: "ml-5 flex items-center gap-2", + children: [ + l.jsx("div", { + className: "flex-1", + children: w.isEditing + ? l.jsx("input", { + type: "text", + value: w.value, + onChange: (y) => b(v.pattern, !0, y.target.value), + onBlur: () => b(v.pattern, !1), + onKeyDown: (y) => { + y.key === "Enter" && b(v.pattern, !1), + y.key === "Escape" && b(v.pattern, !1, v.pattern) + }, + className: + "font-mono text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded px-2 py-1.5 w-full focus:outline-0 focus:ring-1 focus:ring-vscode-focusBorder", + placeholder: v.pattern, + autoFocus: !0, + }) + : l.jsxs("div", { + onClick: () => b(v.pattern, !0), + className: + "font-mono text-xs text-vscode-foreground cursor-pointer hover:bg-vscode-list-hoverBackground px-2 py-1.5 rounded transition-colors border border-transparent break-all", + title: "Click to edit pattern", + children: [ + l.jsx("span", { + className: "break-all", + children: w.value, + }), + v.description && + l.jsxs("span", { + className: "text-vscode-descriptionForeground ml-2", + children: ["- ", v.description], + }), + ], + }), + }), + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("button", { + className: be("p-1 rounded transition-all", { + "bg-green-500/20 text-green-500 hover:bg-green-500/30": + _ === "allowed", + "text-vscode-descriptionForeground hover:text-green-500 hover:bg-green-500/10": + _ !== "allowed", + }), + onClick: () => o(w.value), + "aria-label": i( + _ === "allowed" + ? "chat:commandExecution.removeFromAllowed" + : "chat:commandExecution.addToAllowed", + ), + children: l.jsx(Wl, { className: "size-3.5" }), + }), + l.jsx("button", { + className: be("p-1 rounded transition-all", { + "bg-red-500/20 text-red-500 hover:bg-red-500/30": + _ === "denied", + "text-vscode-descriptionForeground hover:text-red-500 hover:bg-red-500/10": + _ !== "denied", + }), + onClick: () => r(w.value), + "aria-label": i( + _ === "denied" + ? "chat:commandExecution.removeFromDenied" + : "chat:commandExecution.addToDenied", + ), + children: l.jsx(nl, { className: "size-3.5" }), + }), + ], + }), + ], + }, + v.pattern, + ) + }), + }), + ], + }) + } +function t9t(t) { + if (!(t != null && t.trim())) return [] + const e = new Set() + try { + const n = Bnt.parse(t), + o = new Set(["|", "&&", "||", ";"]) + let r = [] + for (const i of n) + typeof i == "object" && "op" in i && o.has(i.op) + ? r.length > 0 && (Lq(r, e), (r = [])) + : typeof i == "string" && r.push(i) + r.length > 0 && Lq(r, e) + } catch (n) { + console.warn("Failed to parse command:", n) + const o = t.trim().split(/\s+/)[0] + o && e.add(o) + } + return Array.from(e).sort() +} +function Lq(t, e) { + if (t.length === 0 || typeof t[0] != "string") return + const n = t[0] + if (/^\d+$/.test(n)) return + e.add(n) + const o = [/^-/, /[\\/:.~ ]/], + r = Math.min(t.length, 3) + for (let i = 1; i < r; i++) { + const s = t[i] + if (typeof s != "string" || o.some((c) => c.test(s))) break + const a = t.slice(0, i + 1).join(" ") + e.add(a.trim()) + } +} +const Tdt = ({ executionId: t, text: e, icon: n, title: o }) => { + const { + terminalShellIntegrationDisabled: r = !1, + allowedCommands: i = [], + deniedCommands: s = [], + setAllowedCommands: a, + setDeniedCommands: c, + } = Qn(), + { command: d, output: u } = k.useMemo(() => r9t(e), [e]), + [m, f] = k.useState(r), + [g, b] = k.useState(""), + [v, w] = k.useState(null), + _ = g || u, + y = k.useMemo(() => { + const R = BE(d), + T = new Set() + return ( + R.forEach((E) => { + E.trim() && T.add(E.trim()) + }), + R.forEach((E) => { + t9t(E).forEach((j) => T.add(j)) + }), + Array.from(T).map((E) => ({ pattern: E })) + ) + }, [d]), + C = (R) => { + const E = i.includes(R) ? i.filter((j) => j !== R) : [...i, R], + $ = s.filter((j) => j !== R) + a(E), + c($), + re.postMessage({ type: "allowedCommands", commands: E }), + re.postMessage({ type: "deniedCommands", commands: $ }) + }, + S = (R) => { + const E = s.includes(R) ? s.filter((j) => j !== R) : [...s, R], + $ = i.filter((j) => j !== R) + a($), + c(E), + re.postMessage({ type: "allowedCommands", commands: $ }), + re.postMessage({ type: "deniedCommands", commands: E }) + }, + P = k.useCallback( + (R) => { + const T = R.data + if (T.type === "commandExecutionStatus") { + const E = tCt.safeParse(Al(T.text, {})) + if (E.success) { + const $ = E.data + if ($.executionId !== t) return + switch ($.status) { + case "started": + w($) + break + case "output": + b($.output) + break + case "fallback": + f(!0) + break + default: + w($) + break + } + } + } + }, + [t], + ) + return ( + Ws("message", P), + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "flex flex-row items-center justify-between gap-2 mb-1", + children: [ + l.jsxs("div", { className: "flex flex-row items-center gap-1", children: [n, o] }), + l.jsx("div", { + className: "flex flex-row items-center justify-between gap-2 px-1", + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + (v == null ? void 0 : v.status) === "started" && + l.jsxs("div", { + className: "flex flex-row items-center gap-2 font-mono text-xs", + children: [ + l.jsx("div", { className: "rounded-full size-1.5 bg-lime-400" }), + l.jsx("div", { children: "Running" }), + v.pid && + l.jsxs("div", { + className: "whitespace-nowrap", + children: ["(PID: ", v.pid, ")"], + }), + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => + re.postMessage({ + type: "terminalOperation", + terminalOperation: "abort", + }), + children: l.jsx(G$t, {}), + }), + ], + }), + (v == null ? void 0 : v.status) === "exited" && + l.jsxs("div", { + className: "flex flex-row items-center gap-2 font-mono text-xs", + children: [ + l.jsx("div", { + className: be( + "rounded-full size-1.5", + v.exitCode === 0 ? "bg-lime-400" : "bg-red-400", + ), + }), + l.jsxs("div", { + className: "whitespace-nowrap", + children: ["Exited (", v.exitCode, ")"], + }), + ], + }), + _.length > 0 && + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => f(!m), + children: l.jsx(hu, { + className: be("size-4 transition-transform duration-300", { + "rotate-180": m, + }), + }), + }), + ], + }), + }), + ], + }), + l.jsxs("div", { + className: "w-full bg-vscode-editor-background border border-vscode-border rounded-xs", + children: [ + l.jsxs("div", { + className: "p-2", + children: [ + l.jsx(Gl, { source: d, language: "shell" }), + l.jsx(o9t, { isExpanded: m, output: _ }), + ], + }), + d && + d.trim() && + l.jsx(e9t, { + patterns: y, + allowedCommands: i, + deniedCommands: s, + onAllowPatternChange: C, + onDenyPatternChange: S, + }), + ], + }), + ], + }) + ) +} +Tdt.displayName = "CommandExecution" +const n9t = ({ isExpanded: t, output: e }) => + l.jsx("div", { + className: be("overflow-hidden", { "max-h-0": !t, "max-h-[100%] mt-1 pt-1 border-t border-border/25": t }), + children: e.length > 0 && l.jsx(Gl, { source: e, language: "log" }), + }), + o9t = k.memo(n9t), + r9t = (t) => { + if (!t) return { command: "", output: "" } + const e = t.indexOf(hh) + return e === -1 ? { command: t, output: "" } : { command: t.slice(0, e), output: t.slice(e + hh.length) } + }, + i9t = () => { + const { t } = to(), + e = k.useCallback((n) => { + n.preventDefault(), + window.postMessage( + { type: "action", action: "settingsButtonClicked", values: { section: "terminal" } }, + "*", + ) + }, []) + return l.jsx("div", { + className: "text-sm bg-vscode-editor-background border border-vscode-border rounded-xs p-2", + children: l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsxs("div", { + className: "flex items-center", + children: [ + l.jsx("i", { + className: "codicon codicon-warning mr-1 text-vscode-editorWarning-foreground", + }), + l.jsx("span", { + className: "text-vscode-editorWarning-foreground font-medium", + children: t("chat:shellIntegration.title"), + }), + ], + }), + l.jsx("div", { + children: l.jsx(Dt, { + i18nKey: "chat:shellIntegration.description", + components: { settingsLink: l.jsx(Wt, { href: "#", onClick: e, className: "inline" }) }, + }), + }), + l.jsx("a", { + href: co("troubleshooting/shell-integration/", "error_tooltip"), + className: "underline", + style: { color: "inherit" }, + children: t("chat:shellIntegration.troubleshooting"), + }), + ], + }), + }) + }, + s9t = k.memo(({ message: t }) => { + const [e, n] = k.useState(!1), + { count: o, type: r = "requests" } = JSON.parse(t.text ?? "{}") + if (e) return null + const i = r === "cost", + s = i ? "ask.autoApprovedCostLimitReached.title" : "ask.autoApprovedRequestLimitReached.title", + a = i ? "ask.autoApprovedCostLimitReached.description" : "ask.autoApprovedRequestLimitReached.description", + c = i ? "ask.autoApprovedCostLimitReached.button" : "ask.autoApprovedRequestLimitReached.button" + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: "8px", color: "var(--vscode-foreground)" }, + children: [ + l.jsx("span", { className: "codicon codicon-warning" }), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: l.jsx(Dt, { i18nKey: s, ns: "chat" }), + }), + ], + }), + l.jsxs("div", { + className: "bg-vscode-panel-border flex flex-col gap-3", + style: { + borderRadius: "4px", + display: "flex", + marginTop: "15px", + padding: "14px 16px 22px", + justifyContent: "center", + }, + children: [ + l.jsx("div", { + className: "flex justify-between items-center", + children: l.jsx(Dt, { i18nKey: a, ns: "chat", values: { count: o } }), + }), + l.jsx(Mo, { + style: { width: "100%", padding: "6px", borderRadius: "4px" }, + onClick: (d) => { + d.preventDefault(), + n(!0), + re.postMessage({ type: "askResponse", askResponse: "yesButtonClicked" }) + }, + children: l.jsx(Dt, { i18nKey: c, ns: "chat" }), + }), + ], + }), + ], + }) + }), + a9t = ({ cost: t, prevContextTokens: e, newContextTokens: n, summary: o }) => { + const { t: r } = to(), + [i, s] = k.useState(!1) + return l.jsxs("div", { + className: "mb-2", + children: [ + l.jsxs("div", { + className: "flex items-center justify-between cursor-pointer select-none", + onClick: () => s(!i), + children: [ + l.jsx("div", { + style: { + width: 16, + height: 16, + display: "flex", + alignItems: "center", + justifyContent: "center", + }, + children: l.jsx("span", { + className: "codicon codicon-check", + style: { color: "var(--vscode-charts-green)", fontSize: 16, marginBottom: "-1.5px" }, + }), + }), + l.jsxs("div", { + className: "flex items-center gap-2 flex-grow", + children: [ + l.jsx("span", { className: "codicon codicon-compress text-blue-400" }), + l.jsx("span", { + className: "font-bold text-vscode-foreground", + children: r("chat:contextCondense.title"), + }), + l.jsxs("span", { + className: "text-vscode-descriptionForeground text-sm", + children: [e.toLocaleString(), " → ", n.toLocaleString(), " ", r("tokens")], + }), + l.jsxs(FE, { + className: t > 0 ? "opacity-100" : "opacity-0", + children: ["$", t.toFixed(2)], + }), + ], + }), + l.jsx("span", { className: `codicon codicon-chevron-${i ? "up" : "down"}` }), + ], + }), + i && + l.jsx("div", { + className: "mt-2 ml-0 p-4 bg-vscode-editor-background rounded text-vscode-foreground text-sm", + children: l.jsx(ep, { markdown: o }), + }), + ], + }) + }, + l9t = () => { + const { t } = to() + return l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ev, {}), + l.jsx("span", { className: "codicon codicon-compress text-blue-400" }), + l.jsx("span", { + className: "font-bold text-vscode-foreground", + children: t("chat:contextCondense.condensing"), + }), + ], + }) + }, + c9t = ({ errorText: t }) => { + const { t: e } = to() + return l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: + "codicon codicon-warning text-vscode-editorWarning-foreground opacity-80 text-base -mb-0.5", + }), + l.jsx("span", { + className: "font-bold text-vscode-foreground", + children: e("chat:contextCondense.errorHeader"), + }), + ], + }), + l.jsx("span", { className: "text-vscode-descriptionForeground text-sm", children: t }), + ], + }) + }, + d9t = ({ filePath: t, score: e, startLine: n, endLine: o }) => { + const { t: r } = to("chat"), + i = () => { + console.log(t), re.postMessage({ type: "openFile", text: "./" + t, values: { line: n } }) + } + return l.jsx(We, { + content: r("codebaseSearch.resultTooltip", { score: e.toFixed(3) }), + children: l.jsx("div", { + onClick: i, + className: + "p-2 border border-[var(--vscode-editorGroup-border)] cursor-pointer hover:bg-secondary hover:text-white", + children: l.jsxs("div", { + className: "flex gap-2 items-center overflow-hidden", + children: [ + l.jsxs("span", { + className: "text-primary-300 whitespace-nowrap flex-shrink-0", + children: [t.split("/").at(-1), ":", n === o ? n : `${n}-${o}`], + }), + l.jsx("span", { + className: "text-gray-500 truncate min-w-0 flex-1", + children: t.split("/").slice(0, -1).join("/"), + }), + l.jsx("span", { + className: "text-xs text-vscode-descriptionForeground whitespace-nowrap ml-auto opacity-60", + children: e.toFixed(3), + }), + ], + }), + }), + }) + }, + u9t = ({ results: t }) => { + const [e, n] = k.useState(!1) + return l.jsxs("div", { + className: "flex flex-col -mt-4 gap-1", + children: [ + l.jsxs("div", { + onClick: () => n(!e), + className: + "cursor-pointer flex items-center justify-between px-2 py-2 border bg-[var(--vscode-editor-background)] border-[var(--vscode-editorGroup-border)]", + children: [ + l.jsx("span", { + children: l.jsx(Dt, { + i18nKey: "chat:codebaseSearch.didSearch", + count: t.length, + values: { count: t.length }, + }), + }), + l.jsx("span", { className: `codicon codicon-chevron-${e ? "up" : "down"}` }), + ], + }), + e && + l.jsx("div", { + className: "flex flex-col gap-1", + children: t.map((o, r) => + l.jsx( + d9t, + { + filePath: o.filePath, + score: o.score, + startLine: o.startLine, + endLine: o.endLine, + language: "plaintext", + snippet: o.codeChunk, + }, + r, + ), + ), + }), + ], + }) + }, + p9t = k.memo((t) => { + const { isLast: e, onHeightChange: n, message: o } = t, + r = k.useRef(0), + [i, { height: s }] = qI( + l.jsx("div", { className: "px-[15px] py-[10px] pr-[6px]", children: l.jsx(Idt, { ...t }) }), + ) + return ( + k.useEffect(() => { + const a = r.current === 0 + e && s !== 0 && s !== 1 / 0 && s !== r.current && (a || n(s > r.current), (r.current = s)) + }, [s, e, n, o]), + i + ) + }, xlt), + Idt = ({ + message: t, + lastModifiedMessage: e, + isExpanded: n, + isLast: o, + isStreaming: r, + onToggleExpand: i, + onSuggestionClick: s, + onFollowUpUnmount: a, + onBatchFileResponse: c, + isFollowUpAnswered: d, + editable: u, + }) => { + var jt, Ye, Bt, nn + const { t: m } = to(), + { mcpServers: f, alwaysAllowMcp: g, currentCheckpoint: b, mode: v } = Qn(), + [w, _] = k.useState(!0), + [y, C] = k.useState(!1), + [S, P] = k.useState(!1), + [R, T] = k.useState(!1), + [E, $] = k.useState(""), + [j, L] = k.useState(v || "code"), + [W, G] = k.useState([]), + { copyWithFeedback: U } = Ff() + k.useEffect(() => { + const Xe = (Tt) => { + const Vt = Tt.data + Vt.type === "selectedImages" && + Vt.context === "edit" && + Vt.messageTs === t.ts && + R && + G((zt) => Fnt(zt, Vt.images, Cb)) + } + return window.addEventListener("message", Xe), () => window.removeEventListener("message", Xe) + }, [R, t.ts]) + const Z = k.useCallback(() => { + i(t.ts) + }, [i, t.ts]), + V = k.useCallback(() => { + T(!0), $(t.text || ""), G(t.images || []), L(v || "code") + }, [t.text, t.images, v]), + X = k.useCallback(() => { + T(!1), $(t.text || ""), G(t.images || []), L(v || "code") + }, [t.text, t.images, v]), + H = k.useCallback(() => { + T(!1), re.postMessage({ type: "submitEditedMessage", value: t.ts, editedMessageContent: E, images: W }) + }, [t.ts, E, W]), + B = k.useCallback(() => { + re.postMessage({ type: "selectImages", context: "edit", messageTs: t.ts }) + }, [t.ts]), + [M, D, F] = k.useMemo(() => { + if (t.text !== null && t.text !== void 0 && t.say === "api_req_started") { + const Xe = Al(t.text) + return [ + Xe == null ? void 0 : Xe.cost, + Xe == null ? void 0 : Xe.cancelReason, + Xe == null ? void 0 : Xe.streamingFailedMessage, + ] + } + return [void 0, void 0, void 0] + }, [t.text, t.say]), + N = o && (e == null ? void 0 : e.ask) === "api_req_failed" ? (e == null ? void 0 : e.text) : void 0, + J = + o && + (e == null ? void 0 : e.ask) === "command" && + ((jt = e == null ? void 0 : e.text) == null ? void 0 : jt.includes(hh)), + oe = o && (e == null ? void 0 : e.say) === "mcp_server_request_started", + ae = t.type === "ask" ? t.ask : t.say, + Q = "var(--vscode-foreground)", + ee = "var(--vscode-errorForeground)", + q = "var(--vscode-charts-green)", + me = "var(--vscode-descriptionForeground)", + [Ce, ue] = k.useMemo(() => { + switch (ae) { + case "error": + return [ + l.jsx("span", { + className: "codicon codicon-error", + style: { color: ee, marginBottom: "-1.5px" }, + }), + l.jsx("span", { style: { color: ee, fontWeight: "bold" }, children: m("chat:error") }), + ] + case "mistake_limit_reached": + return [ + l.jsx("span", { + className: "codicon codicon-error", + style: { color: ee, marginBottom: "-1.5px" }, + }), + l.jsx("span", { + style: { color: ee, fontWeight: "bold" }, + children: m("chat:troubleMessage"), + }), + ] + case "command": + return [ + J + ? l.jsx(Ev, {}) + : l.jsx("span", { + className: "codicon codicon-terminal", + style: { color: Q, marginBottom: "-1.5px" }, + }), + l.jsxs("span", { + style: { color: Q, fontWeight: "bold" }, + children: [m("chat:runCommand.title"), ":"], + }), + ] + case "use_mcp_server": + const Xe = Al(t.text) + return Xe === void 0 + ? [null, null] + : [ + oe + ? l.jsx(Ev, {}) + : l.jsx("span", { + className: "codicon codicon-server", + style: { color: Q, marginBottom: "-1.5px" }, + }), + l.jsx("span", { + style: { color: Q, fontWeight: "bold" }, + children: + Xe.type === "use_mcp_tool" + ? m("chat:mcp.wantsToUseTool", { serverName: Xe.serverName }) + : m("chat:mcp.wantsToAccessResource", { serverName: Xe.serverName }), + }), + ] + case "completion_result": + return [ + l.jsx("span", { + className: "codicon codicon-check", + style: { color: q, marginBottom: "-1.5px" }, + }), + l.jsx("span", { + style: { color: q, fontWeight: "bold" }, + children: m("chat:taskCompleted"), + }), + ] + case "api_req_retry_delayed": + return [] + case "api_req_started": + const Tt = (Vt, zt) => + l.jsx("div", { + style: { + width: 16, + height: 16, + display: "flex", + alignItems: "center", + justifyContent: "center", + }, + children: l.jsx("span", { + className: `codicon codicon-${Vt}`, + style: { color: zt, fontSize: 16, marginBottom: "-1.5px" }, + }), + }) + return [ + D != null + ? D === "user_cancelled" + ? Tt("error", me) + : Tt("error", ee) + : M != null + ? Tt("check", q) + : N + ? Tt("error", ee) + : l.jsx(Ev, {}), + D != null + ? D === "user_cancelled" + ? l.jsx("span", { + style: { color: Q, fontWeight: "bold" }, + children: m("chat:apiRequest.cancelled"), + }) + : l.jsx("span", { + style: { color: ee, fontWeight: "bold" }, + children: m("chat:apiRequest.streamingFailed"), + }) + : M != null + ? l.jsx("span", { + style: { color: Q, fontWeight: "bold" }, + children: m("chat:apiRequest.title"), + }) + : N + ? l.jsx("span", { + style: { color: ee, fontWeight: "bold" }, + children: m("chat:apiRequest.failed"), + }) + : l.jsx("span", { + style: { color: Q, fontWeight: "bold" }, + children: m("chat:apiRequest.streaming"), + }), + ] + case "followup": + return [ + l.jsx("span", { + className: "codicon codicon-question", + style: { color: Q, marginBottom: "-1.5px" }, + }), + l.jsx("span", { + style: { color: Q, fontWeight: "bold" }, + children: m("chat:questions.hasQuestion"), + }), + ] + default: + return [null, null] + } + }, [ae, J, t, oe, D, M, N, m]), + Te = { display: "flex", alignItems: "center", gap: "10px", marginBottom: "10px", wordBreak: "break-word" }, + dt = { margin: 0, whiteSpace: "pre-wrap", wordBreak: "break-word", overflowWrap: "anywhere" }, + Y = k.useMemo(() => (t.ask === "tool" ? Al(t.text) : null), [t.ask, t.text]), + Ke = k.useMemo( + () => (t.type === "ask" && t.ask === "followup" && !t.partial ? Al(t.text) : null), + [t.type, t.ask, t.partial, t.text], + ) + if (Y) { + const Xe = (Tt) => + l.jsx("span", { + className: `codicon codicon-${Tt}`, + style: { color: "var(--vscode-foreground)", marginBottom: "-1.5px" }, + }) + switch (Y.tool) { + case "editedExistingFile": + case "appliedDiff": + return t.type === "ask" && Y.batchDiffs && Array.isArray(Y.batchDiffs) + ? l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("diff"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: m("chat:fileOperations.wantsToApplyBatchChanges"), + }), + ], + }), + l.jsx(Rdt, { files: Y.batchDiffs, ts: t.ts }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Y.isProtected + ? l.jsx("span", { + className: "codicon codicon-lock", + style: { + color: "var(--vscode-editorWarning-foreground)", + marginBottom: "-1.5px", + }, + }) + : Xe(Y.tool === "appliedDiff" ? "diff" : "edit"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: Y.isProtected + ? m("chat:fileOperations.wantsToEditProtected") + : Y.isOutsideWorkspace + ? m("chat:fileOperations.wantsToEditOutsideWorkspace") + : m("chat:fileOperations.wantsToEdit"), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.content ?? Y.diff, + language: "diff", + progressStatus: t.progressStatus, + isLoading: t.partial, + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "insertContent": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Y.isProtected + ? l.jsx("span", { + className: "codicon codicon-lock", + style: { + color: "var(--vscode-editorWarning-foreground)", + marginBottom: "-1.5px", + }, + }) + : Xe("insert"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: Y.isProtected + ? m("chat:fileOperations.wantsToEditProtected") + : Y.isOutsideWorkspace + ? m("chat:fileOperations.wantsToEditOutsideWorkspace") + : Y.lineNumber === 0 + ? m("chat:fileOperations.wantsToInsertAtEnd") + : m("chat:fileOperations.wantsToInsertWithLineNumber", { + lineNumber: Y.lineNumber, + }), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.diff, + language: "diff", + progressStatus: t.progressStatus, + isLoading: t.partial, + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "searchAndReplace": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Y.isProtected + ? l.jsx("span", { + className: "codicon codicon-lock", + style: { + color: "var(--vscode-editorWarning-foreground)", + marginBottom: "-1.5px", + }, + }) + : Xe("replace"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + Y.isProtected && t.type === "ask" + ? m("chat:fileOperations.wantsToEditProtected") + : t.type === "ask" + ? m("chat:fileOperations.wantsToSearchReplace") + : m("chat:fileOperations.didSearchReplace"), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.diff, + language: "diff", + progressStatus: t.progressStatus, + isLoading: t.partial, + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "codebaseSearch": + return l.jsxs("div", { + style: Te, + children: [ + Xe("search"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: Y.path + ? l.jsx(Dt, { + i18nKey: "chat:codebaseSearch.wantsToSearchWithPath", + components: { code: l.jsx("code", {}) }, + values: { query: Y.query, path: Y.path }, + }) + : l.jsx(Dt, { + i18nKey: "chat:codebaseSearch.wantsToSearch", + components: { code: l.jsx("code", {}) }, + values: { query: Y.query }, + }), + }), + ], + }) + case "updateTodoList": { + const Vt = Y.todos || [] + return l.jsx($q, { + todos: Vt, + content: Y.content, + onChange: (zt) => { + typeof re < "u" && + re != null && + re.postMessage && + re.postMessage({ type: "updateTodoList", payload: { todos: zt } }) + }, + editable: u && o, + }) + } + case "newFileCreated": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Y.isProtected + ? l.jsx("span", { + className: "codicon codicon-lock", + style: { + color: "var(--vscode-editorWarning-foreground)", + marginBottom: "-1.5px", + }, + }) + : Xe("new-file"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: Y.isProtected + ? m("chat:fileOperations.wantsToEditProtected") + : m("chat:fileOperations.wantsToCreate"), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.content, + language: kdt(Y.path || "") || "log", + isLoading: t.partial, + isExpanded: n, + onToggleExpand: Z, + onJumpToFile: () => re.postMessage({ type: "openFile", text: "./" + Y.path }), + }), + ], + }) + case "readFile": + return t.type === "ask" && Y.batchFiles && Array.isArray(Y.batchFiles) + ? l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("files"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: m("chat:fileOperations.wantsToReadMultiple"), + }), + ], + }), + l.jsx(Pdt, { + files: Y.batchFiles || [], + onPermissionResponse: (Vt) => { + c == null || c(Vt) + }, + ts: t == null ? void 0 : t.ts, + }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("file-code"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + t.type === "ask" + ? Y.isOutsideWorkspace + ? m("chat:fileOperations.wantsToReadOutsideWorkspace") + : Y.additionalFileCount && Y.additionalFileCount > 0 + ? m("chat:fileOperations.wantsToReadAndXMore", { + count: Y.additionalFileCount, + }) + : m("chat:fileOperations.wantsToRead") + : m("chat:fileOperations.didRead"), + }), + ], + }), + l.jsx(wb, { + children: l.jsxs(_b, { + onClick: () => re.postMessage({ type: "openFile", text: Y.content }), + children: [ + ((Ye = Y.path) == null ? void 0 : Ye.startsWith(".")) && + l.jsx("span", { children: "." }), + l.jsxs("span", { + className: + "whitespace-nowrap overflow-hidden text-ellipsis text-left mr-2 rtl", + children: [JC(Y.path ?? "") + "‎", Y.reason], + }), + l.jsx("div", { style: { flexGrow: 1 } }), + l.jsx("span", { + className: "codicon codicon-link-external", + style: { fontSize: 13.5, margin: "1px 0" }, + }), + ], + }), + }), + ], + }) + case "fetchInstructions": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("file-code"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: m("chat:instructions.wantsToFetch"), + }), + ], + }), + l.jsx(na, { + code: Y.content, + language: "markdown", + isLoading: t.partial, + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "listFilesTopLevel": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("folder-opened"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + t.type === "ask" + ? Y.isOutsideWorkspace + ? m("chat:directoryOperations.wantsToViewTopLevelOutsideWorkspace") + : m("chat:directoryOperations.wantsToViewTopLevel") + : Y.isOutsideWorkspace + ? m("chat:directoryOperations.didViewTopLevelOutsideWorkspace") + : m("chat:directoryOperations.didViewTopLevel"), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.content, + language: "shell-session", + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "listFilesRecursive": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("folder-opened"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + t.type === "ask" + ? Y.isOutsideWorkspace + ? m("chat:directoryOperations.wantsToViewRecursiveOutsideWorkspace") + : m("chat:directoryOperations.wantsToViewRecursive") + : Y.isOutsideWorkspace + ? m("chat:directoryOperations.didViewRecursiveOutsideWorkspace") + : m("chat:directoryOperations.didViewRecursive"), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.content, + language: "shellsession", + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "listCodeDefinitionNames": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("file-code"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + t.type === "ask" + ? Y.isOutsideWorkspace + ? m( + "chat:directoryOperations.wantsToViewDefinitionsOutsideWorkspace", + ) + : m("chat:directoryOperations.wantsToViewDefinitions") + : Y.isOutsideWorkspace + ? m("chat:directoryOperations.didViewDefinitionsOutsideWorkspace") + : m("chat:directoryOperations.didViewDefinitions"), + }), + ], + }), + l.jsx(na, { + path: Y.path, + code: Y.content, + language: "markdown", + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "searchFiles": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("search"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + t.type === "ask" + ? l.jsx(Dt, { + i18nKey: Y.isOutsideWorkspace + ? "chat:directoryOperations.wantsToSearchOutsideWorkspace" + : "chat:directoryOperations.wantsToSearch", + components: { code: l.jsx("code", { children: Y.regex }) }, + values: { regex: Y.regex }, + }) + : l.jsx(Dt, { + i18nKey: Y.isOutsideWorkspace + ? "chat:directoryOperations.didSearchOutsideWorkspace" + : "chat:directoryOperations.didSearch", + components: { code: l.jsx("code", { children: Y.regex }) }, + values: { regex: Y.regex }, + }), + }), + ], + }), + l.jsx(na, { + path: Y.path + (Y.filePattern ? `/(${Y.filePattern})` : ""), + code: Y.content, + language: "shellsession", + isExpanded: n, + onToggleExpand: Z, + }), + ], + }) + case "switchMode": + return l.jsx(l.Fragment, { + children: l.jsxs("div", { + style: Te, + children: [ + Xe("symbol-enum"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: + t.type === "ask" + ? l.jsx(l.Fragment, { + children: Y.reason + ? l.jsx(Dt, { + i18nKey: "chat:modes.wantsToSwitchWithReason", + components: { + code: l.jsx("code", { children: Y.mode }), + }, + values: { mode: Y.mode, reason: Y.reason }, + }) + : l.jsx(Dt, { + i18nKey: "chat:modes.wantsToSwitch", + components: { + code: l.jsx("code", { children: Y.mode }), + }, + values: { mode: Y.mode }, + }), + }) + : l.jsx(l.Fragment, { + children: Y.reason + ? l.jsx(Dt, { + i18nKey: "chat:modes.didSwitchWithReason", + components: { + code: l.jsx("code", { children: Y.mode }), + }, + values: { mode: Y.mode, reason: Y.reason }, + }) + : l.jsx(Dt, { + i18nKey: "chat:modes.didSwitch", + components: { + code: l.jsx("code", { children: Y.mode }), + }, + values: { mode: Y.mode }, + }), + }), + }), + ], + }), + }) + case "newTask": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("tasklist"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: l.jsx(Dt, { + i18nKey: "chat:subtasks.wantsToCreate", + components: { code: l.jsx("code", { children: Y.mode }) }, + values: { mode: Y.mode }, + }), + }), + ], + }), + l.jsxs("div", { + style: { + marginTop: "4px", + backgroundColor: "var(--vscode-badge-background)", + border: "1px solid var(--vscode-badge-background)", + borderRadius: "4px 4px 0 0", + overflow: "hidden", + marginBottom: "2px", + }, + children: [ + l.jsxs("div", { + style: { + padding: "9px 10px 9px 14px", + backgroundColor: "var(--vscode-badge-background)", + borderBottom: "1px solid var(--vscode-editorGroup-border)", + fontWeight: "bold", + fontSize: "var(--vscode-font-size)", + color: "var(--vscode-badge-foreground)", + display: "flex", + alignItems: "center", + gap: "6px", + }, + children: [ + l.jsx("span", { className: "codicon codicon-arrow-right" }), + m("chat:subtasks.newTaskContent"), + ], + }), + l.jsx("div", { + style: { + padding: "12px 16px", + backgroundColor: "var(--vscode-editor-background)", + }, + children: l.jsx(kh, { markdown: Y.content }), + }), + ], + }), + ], + }) + case "finishTask": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: Te, + children: [ + Xe("check-all"), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: m("chat:subtasks.wantsToFinish"), + }), + ], + }), + l.jsxs("div", { + style: { + marginTop: "4px", + backgroundColor: "var(--vscode-editor-background)", + border: "1px solid var(--vscode-badge-background)", + borderRadius: "4px", + overflow: "hidden", + marginBottom: "8px", + }, + children: [ + l.jsxs("div", { + style: { + padding: "9px 10px 9px 14px", + backgroundColor: "var(--vscode-badge-background)", + borderBottom: "1px solid var(--vscode-editorGroup-border)", + fontWeight: "bold", + fontSize: "var(--vscode-font-size)", + color: "var(--vscode-badge-foreground)", + display: "flex", + alignItems: "center", + gap: "6px", + }, + children: [ + l.jsx("span", { className: "codicon codicon-check" }), + m("chat:subtasks.completionContent"), + ], + }), + l.jsx("div", { + style: { + padding: "12px 16px", + backgroundColor: "var(--vscode-editor-background)", + }, + children: l.jsx(kh, { markdown: m("chat:subtasks.completionInstructions") }), + }), + ], + }), + ], + }) + default: + return null + } + } + switch (t.type) { + case "say": + switch (t.say) { + case "diff_error": + return l.jsx("div", { + children: l.jsxs("div", { + style: { marginTop: "0px", overflow: "hidden", marginBottom: "8px" }, + children: [ + l.jsxs("div", { + style: { + borderBottom: y ? "1px solid var(--vscode-editorGroup-border)" : "none", + fontWeight: "normal", + fontSize: "var(--vscode-font-size)", + color: "var(--vscode-editor-foreground)", + display: "flex", + alignItems: "center", + justifyContent: "space-between", + cursor: "pointer", + }, + onClick: () => C(!y), + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + gap: "10px", + flexGrow: 1, + }, + children: [ + l.jsx("span", { + className: "codicon codicon-warning", + style: { + color: "var(--vscode-editorWarning-foreground)", + opacity: 0.8, + fontSize: 16, + marginBottom: "-1.5px", + }, + }), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: m("chat:diffError.title"), + }), + ], + }), + l.jsxs("div", { + style: { display: "flex", alignItems: "center" }, + children: [ + l.jsx(Mo, { + appearance: "icon", + style: { + padding: "3px", + height: "24px", + marginRight: "4px", + color: "var(--vscode-editor-foreground)", + display: "flex", + alignItems: "center", + justifyContent: "center", + background: "transparent", + }, + onClick: (zt) => { + zt.stopPropagation(), + U(t.text || "").then((_n) => { + _n && + (P(!0), + setTimeout(() => { + P(!1) + }, 1e3)) + }) + }, + children: l.jsx("span", { + className: `codicon codicon-${S ? "check" : "copy"}`, + }), + }), + l.jsx("span", { + className: `codicon codicon-chevron-${y ? "up" : "down"}`, + }), + ], + }), + ], + }), + y && + l.jsx("div", { + style: { + padding: "8px", + backgroundColor: "var(--vscode-editor-background)", + borderTop: "none", + }, + children: l.jsx(Gl, { source: t.text || "", language: "xml" }), + }), + ], + }), + }) + case "subtask_result": + return l.jsx("div", { + children: l.jsxs("div", { + style: { + marginTop: "0px", + backgroundColor: "var(--vscode-badge-background)", + border: "1px solid var(--vscode-badge-background)", + borderRadius: "0 0 4px 4px", + overflow: "hidden", + marginBottom: "8px", + }, + children: [ + l.jsxs("div", { + style: { + padding: "9px 10px 9px 14px", + backgroundColor: "var(--vscode-badge-background)", + borderBottom: "1px solid var(--vscode-editorGroup-border)", + fontWeight: "bold", + fontSize: "var(--vscode-font-size)", + color: "var(--vscode-badge-foreground)", + display: "flex", + alignItems: "center", + gap: "6px", + }, + children: [ + l.jsx("span", { className: "codicon codicon-arrow-left" }), + m("chat:subtasks.resultContent"), + ], + }), + l.jsx("div", { + style: { + padding: "12px 16px", + backgroundColor: "var(--vscode-editor-background)", + }, + children: l.jsx(kh, { markdown: t.text }), + }), + ], + }), + }) + case "reasoning": + return l.jsx(H8t, { + content: t.text || "", + elapsed: o && r ? Date.now() - t.ts : void 0, + isCollapsed: w, + onToggleCollapse: () => _(!w), + }) + case "api_req_started": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: { + ...Te, + marginBottom: (M == null && N) || F ? 10 : 0, + justifyContent: "space-between", + cursor: "pointer", + userSelect: "none", + WebkitUserSelect: "none", + MozUserSelect: "none", + msUserSelect: "none", + }, + onClick: Z, + children: [ + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: "10px", flexGrow: 1 }, + children: [ + Ce, + ue, + l.jsxs(FE, { + style: { opacity: M != null && M > 0 ? 1 : 0 }, + children: [ + "$", + (Bt = Number(M || 0)) == null ? void 0 : Bt.toFixed(4), + ], + }), + ], + }), + l.jsx("span", { className: `codicon codicon-chevron-${n ? "up" : "down"}` }), + ], + }), + ((M == null && N) || F) && + l.jsx(l.Fragment, { + children: l.jsxs("p", { + style: { ...dt, color: "var(--vscode-errorForeground)" }, + children: [ + N || F, + (N == null ? void 0 : N.toLowerCase().includes("powershell")) && + l.jsxs(l.Fragment, { + children: [ + l.jsx("br", {}), + l.jsx("br", {}), + m("chat:powershell.issues"), + " ", + l.jsx("a", { + href: "https://github.com/cline/cline/wiki/TroubleShooting-%E2%80%90-%22PowerShell-is-not-recognized-as-an-internal-or-external-command%22", + style: { + color: "inherit", + textDecoration: "underline", + }, + children: "troubleshooting guide", + }), + ".", + ], + }), + ], + }), + }), + n && + l.jsx("div", { + style: { marginTop: "10px" }, + children: l.jsx(na, { + code: (nn = Al(t.text)) == null ? void 0 : nn.request, + language: "markdown", + isExpanded: !0, + onToggleExpand: Z, + }), + }), + ], + }) + case "api_req_finished": + return null + case "text": + return l.jsx("div", { children: l.jsx(ep, { markdown: t.text, partial: t.partial }) }) + case "user_feedback": + return l.jsxs("div", { + className: + "bg-vscode-editor-background border rounded-xs p-1 overflow-hidden whitespace-pre-wrap", + children: [ + R + ? l.jsx("div", { + className: "flex flex-col gap-2 p-2", + children: l.jsx(Sdt, { + inputValue: E, + setInputValue: $, + sendingDisabled: !1, + selectApiConfigDisabled: !0, + placeholderText: m("chat:editMessage.placeholder"), + selectedImages: W, + setSelectedImages: G, + onSend: H, + onSelectImages: B, + shouldDisableImages: !1, + mode: j, + setMode: L, + modeShortcutText: "", + isEditMode: !0, + onCancel: X, + }), + }) + : l.jsxs("div", { + className: "flex justify-between", + children: [ + l.jsx("div", { + className: "flex-grow px-2 py-1 wrap-anywhere", + children: l.jsx(I_, { text: t.text, withShadow: !0 }), + }), + l.jsxs("div", { + className: "flex", + children: [ + l.jsx(Ee, { + variant: "ghost", + size: "icon", + className: "shrink-0 hidden", + disabled: r, + onClick: (zt) => { + zt.stopPropagation(), V() + }, + children: l.jsx("span", { + className: "codicon codicon-edit", + }), + }), + l.jsx(Ee, { + variant: "ghost", + size: "icon", + className: "shrink-0", + disabled: r, + onClick: (zt) => { + zt.stopPropagation(), + re.postMessage({ + type: "deleteMessage", + value: t.ts, + }) + }, + children: l.jsx("span", { + className: "codicon codicon-trash", + }), + }), + ], + }), + ], + }), + !R && + t.images && + t.images.length > 0 && + l.jsx(e0, { images: t.images, style: { marginTop: "8px" } }), + ], + }) + case "user_feedback_diff": + const Xe = Al(t.text) + return l.jsx("div", { + style: { marginTop: -10, width: "100%" }, + children: l.jsx(na, { + code: Xe == null ? void 0 : Xe.diff, + language: "diff", + isFeedback: !0, + isExpanded: n, + onToggleExpand: Z, + }), + }) + case "error": + return l.jsxs(l.Fragment, { + children: [ + ue && l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsx("p", { + style: { ...dt, color: "var(--vscode-errorForeground)" }, + children: t.text, + }), + ], + }) + case "completion_result": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsx("div", { + style: { color: "var(--vscode-charts-green)", paddingTop: 10 }, + children: l.jsx(ep, { markdown: t.text }), + }), + ], + }) + case "shell_integration_warning": + return l.jsx(i9t, {}) + case "checkpoint_saved": + return l.jsx(Z8t, { ts: t.ts, commitHash: t.text, currentHash: b, checkpoint: t.checkpoint }) + case "condense_context": + return t.partial + ? l.jsx(l9t, {}) + : t.contextCondense + ? l.jsx(a9t, { ...t.contextCondense }) + : null + case "condense_context_error": + return l.jsx(c9t, { errorText: t.text }) + case "codebase_search_result": + let Tt = null + try { + t.text && (Tt = JSON.parse(t.text)) + } catch (zt) { + console.error("Failed to parse codebaseSearch content:", zt) + } + if (Tt && !(Tt != null && Tt.content)) + return ( + console.error("Invalid codebaseSearch content structure:", Tt.content), + l.jsx("div", { children: "Error displaying search results." }) + ) + const { results: Vt = [] } = (Tt == null ? void 0 : Tt.content) || {} + return l.jsx(u9t, { results: Vt }) + case "user_edit_todos": + return l.jsx($q, { userEdited: !0, onChange: () => {} }) + default: + return l.jsxs(l.Fragment, { + children: [ + ue && l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsx("div", { + style: { paddingTop: 10 }, + children: l.jsx(ep, { markdown: t.text, partial: t.partial }), + }), + ], + }) + } + case "ask": + switch (t.ask) { + case "mistake_limit_reached": + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsx("p", { + style: { ...dt, color: "var(--vscode-errorForeground)" }, + children: t.text, + }), + ], + }) + case "command": + return l.jsx(Tdt, { executionId: t.ts.toString(), text: t.text, icon: Ce, title: ue }) + case "use_mcp_server": + const Xe = Al(t.text, {}), + { response: Tt, ...Vt } = Xe, + zt = { ...Vt, response: Tt } + if (!zt) return null + const _n = f.find((ge) => ge.name === zt.serverName) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsxs("div", { + className: + "w-full bg-vscode-editor-background border border-vscode-border rounded-xs p-2 mt-2", + children: [ + zt.type === "access_mcp_resource" && + l.jsx(Adt, { + item: { + ...(e8t( + zt.uri || "", + _n == null ? void 0 : _n.resources, + _n == null ? void 0 : _n.resourceTemplates, + ) || { name: "", mimeType: "", description: "" }), + uri: zt.uri || "", + }, + }), + zt.type === "use_mcp_tool" && + l.jsx(ydt, { + executionId: t.ts.toString(), + text: zt.arguments !== "{}" ? zt.arguments : void 0, + serverName: zt.serverName, + toolName: zt.toolName, + isArguments: !0, + server: _n, + useMcpServer: zt, + alwaysAllowMcp: g, + }), + ], + }), + ], + }) + case "completion_result": + return t.text + ? l.jsxs("div", { + children: [ + l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsx("div", { + style: { color: "var(--vscode-charts-green)", paddingTop: 10 }, + children: l.jsx(ep, { markdown: t.text, partial: t.partial }), + }), + ], + }) + : null + case "followup": + return l.jsxs(l.Fragment, { + children: [ + ue && l.jsxs("div", { style: Te, children: [Ce, ue] }), + l.jsx("div", { + style: { paddingTop: 10, paddingBottom: 15 }, + children: l.jsx(ep, { + markdown: + t.partial === !0 + ? t == null + ? void 0 + : t.text + : Ke == null + ? void 0 + : Ke.question, + }), + }), + l.jsx(J8t, { + suggestions: Ke == null ? void 0 : Ke.suggest, + onSuggestionClick: s, + ts: t == null ? void 0 : t.ts, + onCancelAutoApproval: a, + isAnswered: d, + }), + ], + }) + case "auto_approval_max_req_reached": + return l.jsx(s9t, { message: t }) + default: + return null + } + } + }, + m9t = k.memo((t) => { + var V, X + const { messages: e, isLast: n, onHeightChange: o, lastModifiedMessage: r } = t, + { t: i } = to(), + s = k.useRef(0), + [a, c] = k.useState(0), + [d, u] = k.useState(!1), + { browserViewportSize: m = "900x600" } = Qn(), + [f, g] = m.split("x").map(Number), + b = ((g / f) * 100).toFixed(2), + v = `${Math.round(f / 2)},${Math.round(g / 2)}`, + w = k.useMemo(() => { + const H = [...e].reverse().find((M) => M.say === "api_req_started") + if (H != null && H.text) { + const M = JSON.parse(H.text) + if (M && M.cancelReason !== null) return !0 + } + return !!(n && (r == null ? void 0 : r.ask) === "api_req_failed") + }, [e, r, n]), + _ = k.useMemo(() => n && e.some((H) => H.say === "browser_action_result") && !w, [n, e, w]), + y = k.useMemo(() => { + const H = [] + let B = [], + M = [] + return ( + e.forEach((D) => { + if (D.ask === "browser_action_launch") B = [D] + else if (D.say === "browser_action_result") { + if (D.text === "") return + B.push(D) + const F = JSON.parse(D.text || "{}") + H.push({ + currentState: { + url: F.currentUrl, + screenshot: F.screenshot, + mousePosition: F.currentMousePosition, + consoleLogs: F.logs, + messages: [...B], + }, + nextAction: M.length > 0 ? { messages: [...M] } : void 0, + }), + (B = []), + (M = []) + } else + D.say === "api_req_started" || D.say === "text" || D.say === "browser_action" + ? M.push(D) + : B.push(D) + }), + (B.length > 0 || M.length > 0) && + H.push({ + currentState: { messages: [...B] }, + nextAction: M.length > 0 ? { messages: [...M] } : void 0, + }), + H + ) + }, [e]), + [C, S] = k.useState(0) + k.useEffect(() => { + S(y.length - 1) + }, [y.length]) + const P = k.useMemo(() => { + const H = e.find((B) => B.ask === "browser_action_launch") + return (H == null ? void 0 : H.text) || "" + }, [e]), + R = k.useMemo(() => { + for (let H = y.length - 1; H >= 0; H--) { + const B = y[H] + if (B.currentState.url || B.currentState.screenshot) + return { + url: B.currentState.url, + mousePosition: B.currentState.mousePosition, + consoleLogs: B.currentState.consoleLogs, + screenshot: B.currentState.screenshot, + } + } + return { url: void 0, mousePosition: void 0, consoleLogs: void 0, screenshot: void 0 } + }, [y]), + T = y[C], + $ = + C === y.length - 1 + ? { + url: (T == null ? void 0 : T.currentState.url) || R.url || P, + mousePosition: (T == null ? void 0 : T.currentState.mousePosition) || R.mousePosition || v, + consoleLogs: T == null ? void 0 : T.currentState.consoleLogs, + screenshot: (T == null ? void 0 : T.currentState.screenshot) || R.screenshot, + } + : { + url: (T == null ? void 0 : T.currentState.url) || P, + mousePosition: (T == null ? void 0 : T.currentState.mousePosition) || v, + consoleLogs: T == null ? void 0 : T.currentState.consoleLogs, + screenshot: T == null ? void 0 : T.currentState.screenshot, + }, + [j, { height: L }] = qI( + l.jsxs("div", { + children: [ + (V = T == null ? void 0 : T.nextAction) == null + ? void 0 + : V.messages.map((H) => l.jsx(h9t, { ...t, message: H, setMaxActionHeight: c }, H.ts)), + !_ && + e.some((H) => H.say === "browser_action_result") && + C === 0 && + l.jsx(Mdt, { action: "launch", text: P }), + ], + }), + ) + k.useEffect(() => { + L === 0 || L === 1 / 0 || (L > a && c(L)) + }, [L, a]) + const W = k.useMemo(() => { + var B + if (!_) return + const H = ((B = T == null ? void 0 : T.nextAction) == null ? void 0 : B.messages) || [] + for (let M = H.length - 1; M >= 0; M--) { + const D = H[M] + if (D.say === "browser_action") { + const F = JSON.parse(D.text || "{}") + if (F.action === "click" && F.coordinate) return F.coordinate + } + } + }, [_, (X = T == null ? void 0 : T.nextAction) == null ? void 0 : X.messages]), + G = _ ? W || $.mousePosition : $.mousePosition || v, + [U, { height: Z }] = qI( + l.jsxs("div", { + style: { padding: "10px 6px 10px 15px", marginBottom: -10 }, + children: [ + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: "10px", marginBottom: "10px" }, + children: [ + _ + ? l.jsx(Ev, {}) + : l.jsx("span", { + className: "codicon codicon-inspect", + style: { color: "var(--vscode-foreground)", marginBottom: "-1.5px" }, + }), + l.jsx("span", { + style: { fontWeight: "bold" }, + children: l.jsx(l.Fragment, { children: i("chat:browser.rooWantsToUse") }), + }), + ], + }), + l.jsxs("div", { + style: { + borderRadius: 3, + border: "1px solid var(--vscode-editorGroup-border)", + overflow: "hidden", + backgroundColor: Rc, + marginBottom: 10, + }, + children: [ + l.jsx("div", { + style: { + margin: "5px auto", + width: "calc(100% - 10px)", + boxSizing: "border-box", + backgroundColor: "var(--vscode-input-background)", + border: "1px solid var(--vscode-input-border)", + borderRadius: "4px", + padding: "3px 5px", + display: "flex", + alignItems: "center", + justifyContent: "center", + color: $.url + ? "var(--vscode-input-foreground)" + : "var(--vscode-descriptionForeground)", + fontSize: "12px", + }, + children: l.jsx("div", { + style: { + textOverflow: "ellipsis", + overflow: "hidden", + whiteSpace: "nowrap", + width: "100%", + textAlign: "center", + }, + children: $.url || "http", + }), + }), + l.jsxs("div", { + "data-testid": "screenshot-container", + style: { + width: "100%", + paddingBottom: `${b}%`, + position: "relative", + backgroundColor: "var(--vscode-input-background)", + }, + children: [ + $.screenshot + ? l.jsx("img", { + src: $.screenshot, + alt: i("chat:browser.screenshot"), + style: { + position: "absolute", + top: 0, + left: 0, + width: "100%", + height: "100%", + objectFit: "contain", + cursor: "pointer", + }, + onClick: () => + re.postMessage({ type: "openImage", text: $.screenshot }), + }) + : l.jsx("div", { + style: { + position: "absolute", + top: "50%", + left: "50%", + transform: "translate(-50%, -50%)", + }, + children: l.jsx("span", { + className: "codicon codicon-globe", + style: { + fontSize: "80px", + color: "var(--vscode-descriptionForeground)", + }, + }), + }), + $.mousePosition && + l.jsx(f9t, { + style: { + position: "absolute", + top: `${(parseInt(G.split(",")[1]) / g) * 100}%`, + left: `${(parseInt(G.split(",")[0]) / f) * 100}%`, + transition: "top 0.3s ease-out, left 0.3s ease-out", + }, + }), + ], + }), + l.jsxs("div", { + style: { width: "100%" }, + children: [ + l.jsxs("div", { + onClick: () => { + u(!d) + }, + style: { + display: "flex", + alignItems: "center", + gap: "4px", + width: "100%", + justifyContent: "flex-start", + cursor: "pointer", + padding: `9px 8px ${d ? 0 : 8}px 8px`, + }, + children: [ + l.jsx("span", { + className: `codicon codicon-chevron-${d ? "down" : "right"}`, + }), + l.jsx("span", { + style: { fontSize: "0.8em" }, + children: i("chat:browser.consoleLogs"), + }), + ], + }), + d && + l.jsx(Gl, { + source: $.consoleLogs || i("chat:browser.noNewLogs"), + language: "shell", + }), + ], + }), + ], + }), + l.jsx("div", { style: { minHeight: a }, children: j }), + y.length > 1 && + l.jsxs("div", { + style: { + display: "flex", + justifyContent: "space-between", + alignItems: "center", + padding: "8px 0px", + marginTop: "15px", + borderTop: "1px solid var(--vscode-editorGroup-border)", + }, + children: [ + l.jsx("div", { + children: i("chat:browser.navigation.step", { + current: C + 1, + total: y.length, + }), + }), + l.jsxs("div", { + style: { display: "flex", gap: "4px" }, + children: [ + l.jsx(Mo, { + disabled: C === 0 || _, + onClick: () => S((H) => H - 1), + children: i("chat:browser.navigation.previous"), + }), + l.jsx(Mo, { + disabled: C === y.length - 1 || _, + onClick: () => S((H) => H + 1), + children: i("chat:browser.navigation.next"), + }), + ], + }), + ], + }), + ], + }), + ) + return ( + k.useEffect(() => { + const H = s.current === 0 + n && Z !== 0 && Z !== 1 / 0 && Z !== s.current && (H || o(Z > s.current), (s.current = Z)) + }, [Z, n, o]), + U + ) + }, xlt), + h9t = ({ + message: t, + isExpanded: e, + onToggleExpand: n, + lastModifiedMessage: o, + isLast: r, + setMaxActionHeight: i, + isStreaming: s, + }) => { + const { t: a } = to(), + c = { display: "flex", alignItems: "center", gap: "10px", marginBottom: "10px", wordBreak: "break-word" } + switch (t.type) { + case "say": + switch (t.say) { + case "api_req_started": + case "text": + return l.jsx("div", { + style: { padding: "10px 0 10px 0" }, + children: l.jsx(Idt, { + message: t, + isExpanded: e(t.ts), + onToggleExpand: () => { + t.say === "api_req_started" && i(0), n(t.ts) + }, + lastModifiedMessage: o, + isLast: r, + isStreaming: s, + }), + }) + case "browser_action": + const d = JSON.parse(t.text || "{}") + return l.jsx(Mdt, { action: d.action, coordinate: d.coordinate, text: d.text }) + default: + return null + } + case "ask": + switch (t.ask) { + case "browser_action_launch": + return l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + style: c, + children: l.jsx("span", { + style: { fontWeight: "bold" }, + children: a("chat:browser.sessionStarted"), + }), + }), + l.jsx("div", { + style: { + borderRadius: 3, + border: "1px solid var(--vscode-editorGroup-border)", + overflow: "hidden", + backgroundColor: Rc, + }, + children: l.jsx(Gl, { source: t.text, language: "shell" }), + }), + ], + }) + default: + return null + } + } + }, + Mdt = ({ action: t, coordinate: e, text: n }) => { + const { t: o } = to(), + r = (i, s, a) => { + switch (i) { + case "launch": + return o("chat:browser.actions.launch", { url: a }) + case "click": + return o("chat:browser.actions.click", { + coordinate: s == null ? void 0 : s.replace(",", ", "), + }) + case "type": + return o("chat:browser.actions.type", { text: a }) + case "scroll_down": + return o("chat:browser.actions.scrollDown") + case "scroll_up": + return o("chat:browser.actions.scrollUp") + case "close": + return o("chat:browser.actions.close") + default: + return i + } + } + return l.jsx("div", { + style: { padding: "10px 0 0 0" }, + children: l.jsx("div", { + style: { + borderRadius: 3, + backgroundColor: Rc, + overflow: "hidden", + border: "1px solid var(--vscode-editorGroup-border)", + }, + children: l.jsx("div", { + style: { display: "flex", alignItems: "center", padding: "9px 10px" }, + children: l.jsxs("span", { + style: { whiteSpace: "normal", wordBreak: "break-word" }, + children: [ + l.jsx("span", { style: { fontWeight: 500 }, children: o("chat:browser.actions.title") }), + r(t, e, n), + ], + }), + }), + }), + }) + }, + f9t = ({ style: t }) => { + const { t: e } = to() + return l.jsx("img", { + src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFaADAAQAAAABAAAAGAAAAADwi9a/AAADGElEQVQ4EZ2VbUiTURTH772be/PxZdsz3cZwC4RVaB8SAjMpxQwSWZbQG/TFkN7oW1Df+h6IRV9C+hCpKUSIZUXOfGM5tAKViijFFEyfZ7Ol29S1Pbdzl8Uw9+aBu91zzv3/nt17zt2DEZjBYOAkKrtFMXIghAWM8U2vMN/FctsxGRMpM7NbEEYNMM2CYUSInlJx3OpawO9i+XSNQYkmk2uFb9njzkcfVSr1p/GJiQKMULVaw2WuBv296UKRxWJR6wxGCmM1EAhSNppv33GBH9qI32cPTAtss9lUm6EM3N7R+RbigT+5/CeosFCZKpjEW+iorS1pb30wDUXzQfHqtD/9L3ieZ2ee1OJCmbL8QHnRs+4uj0wmW4QzrpCwvJ8zGg3JqAmhTLynuLiwv8/5KyND8Q3cEkUEDWu15oJE4KRQJt5hs1rcriGNRqP+DK4dyyWXXm/aFQ+cEpSJ8/LyDGPuEZNOmzsOroUSOqzXG/dtBU4ZysTZYKNut91sNo2Cq6cE9enz86s2g9OCMrFSqVC5hgb32u072W3jKMU90Hb1seC0oUwsB+t92bO/rKx0EFGkgFCnjjc1/gVvC8rE0L+4o63t4InjxwbAJQjTe3qD8QrLkXA4DC24fWtuajp06cLFYSBIFKGmXKPRRmAnME9sPt+yLwIWb9WN69fKoTneQz4Dh2mpPNkvfeV0jjecb9wNAkwIEVQq5VJOds4Kb+DXoAsiVquVwI1Dougpij6UyGYx+5cKroeDEFibm5lWRRMbH1+npmYrq6qhwlQHIbajZEf1fElcqGGFpGg9HMuKzpfBjhytCTMgkJ56RX09zy/ysENTBElmjIgJnmNChJqohDVQqpEfwkILE8v/o0GAnV9F1eEvofVQCbiTBEXOIPQh5PGgefDZeAcjrpGZjULBr/m3tZOnz7oEQWRAQZLjWlEU/XEJWySiILgRc5Cz1DkcAyuBFcnpfF0JiXWKpcolQXizhS5hKAqFpr0MVbgbuxJ6+5xX+P4wNpbqPPrugZfbmIbLmgQR3Aw8QSi66hUXulOFbF73GxqjE5BNXWNeAAAAAElFTkSuQmCC", + style: { width: "17px", height: "22px", ...t }, + alt: e("chat:browser.cursor"), + "aria-label": e("chat:browser.cursor"), + }) + }, + g9t = ["openrouter", "requesty", "glama", "unbound", "litellm", "ollama", "lmstudio"], + v9t = (t) => g9t.includes(t), + b9t = ({ model: t, settings: e }) => + !!t.requiredReasoningBudget || (!!t.supportsReasoningBudget && !!(e != null && e.enableReasoningEffort)), + yj = 16384, + y9t = 8192, + Dq = ({ modelId: t, model: e, settings: n, format: o }) => { + if ((n == null ? void 0 : n.apiProvider) === "claude-code") return n.claudeCodeMaxOutputTokens || oCt + if (b9t({ model: e, settings: n })) return (n == null ? void 0 : n.modelMaxTokens) || yj + const r = t.includes("claude") || o === "anthropic" || (o === "openrouter" && t.startsWith("anthropic/")) + if ((e.supportsReasoningBudget && r) || (r && (!e.maxTokens || e.maxTokens === 0))) return yx + if (e.maxTokens && e.maxTokens !== e.contextWindow) return e.maxTokens + if (!o) return yx + }, + jdt = ({ taskId: t, ...e }) => { + const { t: n } = Be(), + [o] = ght("Enter"), + { onOpenChange: r } = e, + i = k.useCallback(() => { + t && (re.postMessage({ type: "deleteTaskWithId", text: t }), r == null || r(!1)) + }, [t, r]) + return ( + k.useEffect(() => { + t && o && i() + }, [t, o, i]), + l.jsx(jc, { + ...e, + children: l.jsxs(Ec, { + onEscapeKeyDown: () => (r == null ? void 0 : r(!1)), + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { children: n("history:deleteTask") }), + l.jsx(Dc, { children: n("history:deleteTaskMessage") }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { + asChild: !0, + children: l.jsx(Ee, { variant: "secondary", children: n("history:cancel") }), + }), + l.jsx(Nc, { + asChild: !0, + children: l.jsx(Ee, { + variant: "destructive", + onClick: i, + children: n("history:delete"), + }), + }), + ], + }), + ], + }), + }) + ) + }, + Edt = ({ item: t, disabled: e = !1 }) => { + const [n, o] = k.useState(!1), + [r, i] = k.useState(!1), + [s, a] = k.useState(null), + { t: c } = to(), + { sharingEnabled: d, cloudIsAuthenticated: u, cloudUserInfo: m } = Qn(), + f = k.useRef(!1), + g = k.useRef(!1) + k.useEffect(() => { + !u || !d + ? (f.current = !0) + : f.current && + u && + d && + (g.current && (os.capture(Ls.ACCOUNT_CONNECT_SUCCESS), i(!1), o(!0), (g.current = !1)), + (f.current = !1)) + }, [u, d]), + k.useEffect(() => { + const C = (S) => { + const P = S.data + P.type === "shareTaskSuccess" && + (a({ visibility: P.visibility, url: P.text }), + setTimeout(() => { + a(null), o(!1) + }, 5e3)) + } + return window.addEventListener("message", C), () => window.removeEventListener("message", C) + }, []) + const b = (C) => { + a(null), + C === "organization" + ? os.capture(Ls.SHARE_ORGANIZATION_CLICKED) + : os.capture(Ls.SHARE_PUBLIC_CLICKED), + re.postMessage({ type: "shareCurrentTask", visibility: C }) + }, + v = () => { + os.capture(Ls.SHARE_CONNECT_TO_CLOUD_CLICKED), + (g.current = !0), + re.postMessage({ type: "rooCloudSignIn" }), + o(!1), + i(!1) + }, + w = () => { + os.capture(Ls.SHARE_BUTTON_CLICKED), u ? o(!0) : i(!0) + }, + y = u + ? d + ? { disabled: !1, title: c("chat:task.share"), showPopover: !0 } + : { disabled: !0, title: c("chat:task.sharingDisabledByOrganization"), showPopover: !1 } + : { disabled: !1, title: c("chat:task.share"), showPopover: !1 } + return t != null && t.id + ? l.jsxs(l.Fragment, { + children: [ + y.showPopover + ? l.jsxs(dl, { + open: n, + onOpenChange: o, + children: [ + l.jsx(We, { + content: y.title, + children: l.jsx(ul, { + asChild: !0, + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + disabled: e || y.disabled, + className: "h-7 w-7 p-1.5 hover:bg-vscode-toolbar-hoverBackground", + onClick: w, + children: l.jsx("span", { className: "codicon codicon-link" }), + }), + }), + }), + l.jsx(xa, { + className: "w-56 p-0", + align: "start", + children: s + ? l.jsx("div", { + className: "p-3", + children: l.jsxs("div", { + className: + "flex items-center gap-2 text-sm text-green-600 dark:text-green-400", + children: [ + l.jsx("span", { className: "codicon codicon-check" }), + l.jsx("span", { + children: + s.visibility === "public" + ? c("chat:task.shareSuccessPublic") + : c("chat:task.shareSuccessOrganization"), + }), + ], + }), + }) + : l.jsx(Mf, { + children: l.jsx(jf, { + children: l.jsxs(Ef, { + children: [ + (m == null ? void 0 : m.organizationName) && + l.jsx(tu, { + onSelect: () => b("organization"), + className: "cursor-pointer", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: + "codicon codicon-organization text-sm", + }), + l.jsxs("div", { + className: "flex flex-col", + children: [ + l.jsx("span", { + className: "text-sm", + children: c( + "chat:task.shareWithOrganization", + ), + }), + l.jsx("span", { + className: + "text-xs text-vscode-descriptionForeground", + children: c( + "chat:task.shareWithOrganizationDescription", + ), + }), + ], + }), + ], + }), + }), + l.jsx(tu, { + onSelect: () => b("public"), + className: "cursor-pointer", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: + "codicon codicon-globe text-sm", + }), + l.jsxs("div", { + className: "flex flex-col", + children: [ + l.jsx("span", { + className: "text-sm", + children: + c( + "chat:task.sharePublicly", + ), + }), + l.jsx("span", { + className: + "text-xs text-vscode-descriptionForeground", + children: c( + "chat:task.sharePubliclyDescription", + ), + }), + ], + }), + ], + }), + }), + ], + }), + }), + }), + }), + ], + }) + : l.jsx(We, { + content: y.title, + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + disabled: e || y.disabled, + className: "h-7 w-7 p-1.5 hover:bg-vscode-toolbar-hoverBackground", + onClick: w, + children: l.jsx("span", { className: "codicon codicon-link" }), + }), + }), + l.jsx(Rf, { + open: r, + onOpenChange: i, + children: l.jsxs(Tf, { + className: "max-w-sm", + children: [ + l.jsx(Zb, { + className: "text-center", + children: l.jsx(If, { + className: "text-lg font-medium text-vscode-foreground", + children: c("account:cloudBenefitsTitle"), + }), + }), + l.jsxs("div", { + className: "flex flex-col space-y-6", + children: [ + l.jsxs("div", { + children: [ + l.jsx("p", { + className: "text-md text-vscode-descriptionForeground mb-4", + children: c("account:cloudBenefitsSubtitle"), + }), + l.jsxs("ul", { + className: + "text-sm text-vscode-descriptionForeground space-y-2", + children: [ + l.jsxs("li", { + className: "flex items-start", + children: [ + l.jsx("span", { + className: "mr-2 text-vscode-foreground", + children: "•", + }), + c("account:cloudBenefitSharing"), + ], + }), + l.jsxs("li", { + className: "flex items-start", + children: [ + l.jsx("span", { + className: "mr-2 text-vscode-foreground", + children: "•", + }), + c("account:cloudBenefitHistory"), + ], + }), + l.jsxs("li", { + className: "flex items-start", + children: [ + l.jsx("span", { + className: "mr-2 text-vscode-foreground", + children: "•", + }), + c("account:cloudBenefitMetrics"), + ], + }), + ], + }), + ], + }), + l.jsx("div", { + className: "flex flex-col gap-4", + children: l.jsx(Ee, { + onClick: v, + className: "w-full", + children: c("account:connect"), + }), + }), + ], + }), + ], + }), + }), + ], + }) + : null + }, + Nq = ({ item: t, buttonsDisabled: e }) => { + const [n, o] = k.useState(null), + { t: r } = to(), + { copyWithFeedback: i, showCopyFeedback: s } = Ff() + return l.jsxs("div", { + className: "flex flex-row gap-1", + children: [ + l.jsx(Edt, { item: t, disabled: !1 }), + l.jsx(xh, { + iconClass: "codicon-desktop-download", + title: r("chat:task.export"), + onClick: () => re.postMessage({ type: "exportCurrentTask" }), + }), + (t == null ? void 0 : t.task) && + l.jsx(xh, { + iconClass: s ? "codicon-check" : "codicon-copy", + title: r("history:copyPrompt"), + onClick: (a) => i(t.task, a), + }), + !!(t != null && t.size) && + t.size > 0 && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "flex items-center", + children: [ + l.jsx(xh, { + iconClass: "codicon-trash", + title: r("chat:task.delete"), + disabled: e, + onClick: (a) => { + a.stopPropagation(), + a.shiftKey + ? re.postMessage({ type: "deleteTaskWithId", text: t.id }) + : o(t.id) + }, + }), + l.jsx("span", { + className: "ml-1 text-xs text-vscode-foreground opacity-85", + children: blt(t.size), + }), + ], + }), + n && l.jsx(jdt, { taskId: n, onOpenChange: (a) => !a && o(null), open: !0 }), + ], + }), + ], + }) + }, + k9t = (t, e, n) => { + const o = Math.max(0, t), + r = Math.max(0, e), + i = n && n > 0 && n !== o ? n : yx, + s = Math.max(0, o - r - i), + a = r + i + s + return a <= 0 + ? { currentPercent: 0, reservedPercent: 0, availablePercent: 0, reservedForOutput: i, availableSize: s } + : { + currentPercent: (r / a) * 100, + reservedPercent: (i / a) * 100, + availablePercent: (s / a) * 100, + reservedForOutput: i, + availableSize: s, + } + }, + Oq = ({ contextWindow: t, contextTokens: e, maxTokens: n }) => { + const { t: o } = to(), + r = k.useMemo(() => k9t(t, e, n), [t, e, n]), + { currentPercent: i, reservedPercent: s, availableSize: a, reservedForOutput: c, availablePercent: d } = r, + u = Math.max(0, t), + m = Math.max(0, e), + f = l.jsxs("div", { + className: "space-y-1", + children: [ + l.jsx("div", { children: o("chat:tokenProgress.tokensUsed", { used: ns(m), total: ns(u) }) }), + c > 0 && l.jsx("div", { children: o("chat:tokenProgress.reservedForResponse", { amount: ns(c) }) }), + a > 0 && l.jsx("div", { children: o("chat:tokenProgress.availableSpace", { amount: ns(a) }) }), + ], + }) + return l.jsx(l.Fragment, { + children: l.jsxs("div", { + className: "flex items-center gap-2 flex-1 whitespace-nowrap px-2", + children: [ + l.jsx("div", { "data-testid": "context-tokens-count", children: ns(m) }), + l.jsx(We, { + content: f, + side: "top", + sideOffset: 8, + children: l.jsx("div", { + className: "flex-1 relative", + children: l.jsxs("div", { + className: + "flex items-center h-1 rounded-[2px] overflow-hidden w-full bg-[color-mix(in_srgb,var(--vscode-foreground)_20%,transparent)]", + children: [ + l.jsx("div", { + className: "relative h-full", + style: { width: `${i}%` }, + "data-testid": "context-tokens-used", + children: l.jsx("div", { + className: + "h-full w-full bg-[var(--vscode-foreground)] transition-width duration-300 ease-out", + }), + }), + l.jsx("div", { + className: "relative h-full", + style: { width: `${s}%` }, + "data-testid": "context-reserved-tokens", + children: l.jsx("div", { + className: + "h-full w-full bg-[color-mix(in_srgb,var(--vscode-foreground)_30%,transparent)] transition-width duration-300 ease-out", + }), + }), + d > 0 && + l.jsx("div", { + className: "relative h-full", + style: { width: `${d}%` }, + "data-testid": "context-available-space-section", + }), + ], + }), + }), + }), + l.jsx("div", { "data-testid": "context-window-size", children: ns(u) }), + ], + }), + }) + } +function x9t({ todos: t }) { + const [e, n] = k.useState(!0), + o = k.useRef(null), + r = k.useRef([]), + i = k.useMemo(() => { + const m = t.findIndex((f) => f.status === "in_progress") + return m !== -1 ? m : t.findIndex((f) => f.status !== "completed") + }, [t]), + s = k.useMemo(() => { + const m = t.find((f) => f.status === "in_progress") + return m || t.find((f) => f.status !== "completed") + }, [t]) + if ( + (k.useEffect(() => { + if (e || !o.current || i === -1) return + const m = r.current[i] + if (m && o.current) { + const f = o.current, + g = m.offsetTop - f.offsetTop, + b = m.offsetHeight, + v = f.clientHeight, + w = g - (v / 2 - b / 2) + f.scrollTop = w + } + }, [t, e, i]), + !Array.isArray(t) || t.length === 0) + ) + return null + const a = t.length, + c = t.filter((m) => m.status === "completed").length, + d = c === a && a > 0, + u = () => + d + ? l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: "var(--vscode-charts-green)", + marginRight: 8, + marginLeft: 2, + flexShrink: 0, + }, + }) + : s + ? s.status === "completed" + ? l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: "var(--vscode-charts-green)", + marginRight: 8, + marginLeft: 2, + flexShrink: 0, + }, + }) + : s.status === "in_progress" + ? l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: "var(--vscode-charts-yellow)", + marginRight: 8, + marginLeft: 2, + flexShrink: 0, + }, + }) + : l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + border: "1px solid var(--vscode-descriptionForeground)", + background: "transparent", + marginRight: 8, + marginLeft: 2, + flexShrink: 0, + }, + }) + : l.jsx("span", { + className: "codicon codicon-checklist", + style: { + color: "var(--vscode-foreground)", + marginRight: 8, + marginLeft: 2, + flexShrink: 0, + fontSize: 14, + }, + }) + return l.jsxs("div", { + className: "border border-t-0 rounded-b-xs relative", + style: { + margin: "0", + padding: "6px 10px", + background: "var(--vscode-editor-background,transparent)", + borderColor: "var(--vscode-panel-border)", + }, + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + gap: 2, + marginBottom: 0, + cursor: "pointer", + userSelect: "none", + }, + onClick: () => n((m) => !m), + children: [ + u(), + l.jsx("span", { + style: { + fontWeight: 500, + color: d + ? "var(--vscode-charts-green)" + : (s == null ? void 0 : s.status) === "in_progress" + ? "var(--vscode-charts-yellow)" + : "var(--vscode-foreground)", + flex: 1, + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + }, + children: d ? "All tasks completed!" : (s == null ? void 0 : s.content) || "No pending tasks", + }), + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: 4, flexShrink: 0 }, + children: [ + l.jsx("span", { + className: "codicon codicon-checklist", + style: { color: "var(--vscode-descriptionForeground)", fontSize: 12 }, + }), + l.jsxs("span", { + style: { color: "var(--vscode-descriptionForeground)", fontSize: 12, fontWeight: 500 }, + children: [c, "/", a], + }), + ], + }), + ], + }), + !e && + l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + style: { + position: "fixed", + top: 0, + left: 0, + right: 0, + bottom: 0, + background: "rgba(0, 0, 0, 0.1)", + zIndex: 1e3, + }, + onClick: () => n(!0), + }), + l.jsxs("div", { + style: { + position: "absolute", + top: "100%", + left: 0, + right: 0, + marginTop: 4, + background: "var(--vscode-editor-background)", + border: "1px solid var(--vscode-panel-border)", + borderRadius: 6, + boxShadow: "0 4px 12px rgba(0, 0, 0, 0.15)", + zIndex: 1001, + maxHeight: "400px", + minHeight: "200px", + overflow: "hidden", + }, + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + padding: "12px 16px", + borderBottom: "1px solid var(--vscode-panel-border)", + background: "var(--vscode-editor-background)", + }, + children: [ + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: 8 }, + children: [ + l.jsx("span", { + className: "codicon codicon-checklist", + style: { color: "var(--vscode-foreground)" }, + }), + l.jsx("span", { + style: { fontWeight: "bold", fontSize: 14 }, + children: "Todo List", + }), + l.jsxs("span", { + style: { + color: "var(--vscode-descriptionForeground)", + fontSize: 13, + fontWeight: 500, + }, + children: [c, "/", a], + }), + ], + }), + l.jsx("span", { + className: "codicon codicon-chevron-up", + style: { + fontSize: 14, + opacity: 0.7, + cursor: "pointer", + padding: "4px", + borderRadius: "2px", + }, + onClick: (m) => { + m.stopPropagation(), n(!0) + }, + onMouseEnter: (m) => { + ;(m.currentTarget.style.opacity = "1"), + (m.currentTarget.style.background = + "var(--vscode-toolbar-hoverBackground)") + }, + onMouseLeave: (m) => { + ;(m.currentTarget.style.opacity = "0.7"), + (m.currentTarget.style.background = "transparent") + }, + }), + ], + }), + l.jsx("ul", { + ref: o, + style: { + margin: 0, + paddingLeft: 0, + listStyle: "none", + maxHeight: "340px", + overflowY: "auto", + padding: "12px 16px", + }, + children: t.map((m, f) => { + let g + return ( + m.status === "completed" + ? (g = l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: "var(--vscode-charts-green)", + marginRight: 8, + marginTop: 7, + flexShrink: 0, + }, + })) + : m.status === "in_progress" + ? (g = l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + background: "var(--vscode-charts-yellow)", + marginRight: 8, + marginTop: 7, + flexShrink: 0, + }, + })) + : (g = l.jsx("span", { + style: { + display: "inline-block", + width: 8, + height: 8, + borderRadius: "50%", + border: "1px solid var(--vscode-descriptionForeground)", + background: "transparent", + marginRight: 8, + marginTop: 7, + flexShrink: 0, + }, + })), + l.jsxs( + "li", + { + ref: (b) => (r.current[f] = b), + style: { + marginBottom: 8, + display: "flex", + alignItems: "flex-start", + minHeight: 20, + lineHeight: "1.4", + }, + children: [ + g, + l.jsx("span", { + style: { + fontWeight: 500, + color: + m.status === "completed" + ? "var(--vscode-charts-green)" + : m.status === "in_progress" + ? "var(--vscode-charts-yellow)" + : "var(--vscode-foreground)", + wordBreak: "break-word", + }, + children: m.content, + }), + ], + }, + m.id || m.content, + ) + ) + }), + }), + ], + }), + ], + }), + ], + }) +} +const w9t = ({ + task: t, + tokensIn: e, + tokensOut: n, + cacheWrites: o, + cacheReads: r, + totalCost: i, + contextTokens: s, + buttonsDisabled: a, + handleCondenseContext: c, + onClose: d, + todos: u, + }) => { + var E + const { t: m } = to(), + { apiConfiguration: f, currentTaskItem: g } = Qn(), + { id: b, info: v } = uC(f), + [w, _] = k.useState(!1), + y = k.useRef(null), + C = k.useRef(null), + S = (v == null ? void 0 : v.contextWindow) || 1, + { width: P } = MW(), + R = l.jsx(We, { + content: m("chat:task.condenseContext"), + children: l.jsx("button", { + disabled: a, + onClick: () => g && c(g.id), + className: + "shrink-0 min-h-[20px] min-w-[20px] p-[2px] cursor-pointer disabled:cursor-not-allowed opacity-85 hover:opacity-100 bg-transparent border-none rounded-md", + children: l.jsx(Ert, { size: 16 }), + }), + }), + T = u && Array.isArray(u) && u.length > 0 + return l.jsxs("div", { + className: "py-2 px-3", + children: [ + l.jsxs("div", { + className: be( + "p-2.5 flex flex-col gap-1.5 relative z-1 border", + T ? "rounded-t-xs border-b-0" : "rounded-xs", + w + ? "border-vscode-panel-border text-vscode-foreground" + : "border-vscode-panel-border/80 text-vscode-foreground/80", + ), + children: [ + l.jsxs("div", { + className: "flex justify-between items-center gap-2", + children: [ + l.jsxs("div", { + className: "flex items-center cursor-pointer -ml-0.5 select-none grow min-w-0", + onClick: () => _(!w), + children: [ + l.jsx("div", { + className: "flex items-center shrink-0", + children: l.jsx("span", { + className: `codicon codicon-chevron-${w ? "down" : "right"}`, + }), + }), + l.jsxs("div", { + className: + "ml-1.5 whitespace-nowrap overflow-hidden text-ellipsis grow min-w-0", + children: [ + l.jsxs("span", { + className: "font-bold", + children: [m("chat:task.title"), !w && ":"], + }), + !w && + l.jsx("span", { + className: "ml-1", + children: l.jsx(I_, { text: t.text }), + }), + ], + }), + ], + }), + l.jsx(We, { + content: m("chat:task.closeAndStart"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: d, + className: "shrink-0 w-5 h-5", + children: l.jsx("span", { className: "codicon codicon-close" }), + }), + }), + ], + }), + !w && + S > 0 && + l.jsxs("div", { + className: "w-full flex flex-row items-center gap-1 h-auto", + children: [ + l.jsx(Oq, { + contextWindow: S, + contextTokens: s || 0, + maxTokens: v ? Dq({ modelId: b, model: v, settings: f }) : void 0, + }), + R, + l.jsx(Edt, { item: g, disabled: a }), + !!i && l.jsxs(FE, { children: ["$", i.toFixed(2)] }), + ], + }), + w && + l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + ref: y, + className: + "-mt-0.5 text-vscode-font-size overflow-y-auto break-words break-anywhere relative", + children: l.jsx("div", { + ref: C, + className: + "overflow-auto max-h-80 whitespace-pre-wrap break-words break-anywhere", + style: { + display: "-webkit-box", + WebkitLineClamp: "unset", + WebkitBoxOrient: "vertical", + }, + children: l.jsx(I_, { text: t.text }), + }), + }), + t.images && t.images.length > 0 && l.jsx(e0, { images: t.images }), + l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + w && + S > 0 && + l.jsxs("div", { + className: `w-full flex ${P < 400 ? "flex-col" : "flex-row"} gap-1 h-auto`, + children: [ + l.jsx("div", { + className: "flex items-center gap-1 flex-shrink-0", + children: l.jsx("span", { + className: "font-bold", + "data-testid": "context-window-label", + children: m("chat:task.contextWindow"), + }), + }), + l.jsx(Oq, { + contextWindow: S, + contextTokens: s || 0, + maxTokens: v + ? Dq({ modelId: b, model: v, settings: f }) + : void 0, + }), + R, + ], + }), + l.jsxs("div", { + className: "flex justify-between items-center h-[20px]", + children: [ + l.jsxs("div", { + className: "flex items-center gap-1 flex-wrap", + children: [ + l.jsx("span", { + className: "font-bold", + children: m("chat:task.tokens"), + }), + typeof e == "number" && + e > 0 && + l.jsxs("span", { + className: "flex items-center gap-0.5", + children: [ + l.jsx("i", { + className: + "codicon codicon-arrow-up text-xs font-bold", + }), + ns(e), + ], + }), + typeof n == "number" && + n > 0 && + l.jsxs("span", { + className: "flex items-center gap-0.5", + children: [ + l.jsx("i", { + className: + "codicon codicon-arrow-down text-xs font-bold", + }), + ns(n), + ], + }), + ], + }), + !i && l.jsx(Nq, { item: g, buttonsDisabled: a }), + ], + }), + ((typeof r == "number" && r > 0) || (typeof o == "number" && o > 0)) && + l.jsxs("div", { + className: "flex items-center gap-1 flex-wrap h-[20px]", + children: [ + l.jsx("span", { + className: "font-bold", + children: m("chat:task.cache"), + }), + typeof o == "number" && + o > 0 && + l.jsxs("span", { + className: "flex items-center gap-0.5", + children: [l.jsx(k$t, { size: 16 }), ns(o)], + }), + typeof r == "number" && + r > 0 && + l.jsxs("span", { + className: "flex items-center gap-0.5", + children: [l.jsx(b$t, { size: 16 }), ns(r)], + }), + ], + }), + !!i && + l.jsxs("div", { + className: "flex justify-between items-center h-[20px]", + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("span", { + className: "font-bold", + children: m("chat:task.apiCost"), + }), + l.jsxs("span", { + children: ["$", i == null ? void 0 : i.toFixed(2)], + }), + ], + }), + l.jsx(Nq, { item: g, buttonsDisabled: a }), + ], + }), + ], + }), + ], + }), + ], + }), + l.jsx(x9t, { todos: u ?? ((E = t == null ? void 0 : t.tool) == null ? void 0 : E.todos) ?? [] }), + ], + }) + }, + _9t = k.memo(w9t), + zdt = { + alwaysAllowReadOnly: { + key: "alwaysAllowReadOnly", + labelKey: "settings:autoApprove.readOnly.label", + descriptionKey: "settings:autoApprove.readOnly.description", + icon: "eye", + testId: "always-allow-readonly-toggle", + }, + alwaysAllowWrite: { + key: "alwaysAllowWrite", + labelKey: "settings:autoApprove.write.label", + descriptionKey: "settings:autoApprove.write.description", + icon: "edit", + testId: "always-allow-write-toggle", + }, + alwaysAllowBrowser: { + key: "alwaysAllowBrowser", + labelKey: "settings:autoApprove.browser.label", + descriptionKey: "settings:autoApprove.browser.description", + icon: "globe", + testId: "always-allow-browser-toggle", + }, + alwaysApproveResubmit: { + key: "alwaysApproveResubmit", + labelKey: "settings:autoApprove.retry.label", + descriptionKey: "settings:autoApprove.retry.description", + icon: "refresh", + testId: "always-approve-resubmit-toggle", + }, + alwaysAllowMcp: { + key: "alwaysAllowMcp", + labelKey: "settings:autoApprove.mcp.label", + descriptionKey: "settings:autoApprove.mcp.description", + icon: "plug", + testId: "always-allow-mcp-toggle", + }, + alwaysAllowModeSwitch: { + key: "alwaysAllowModeSwitch", + labelKey: "settings:autoApprove.modeSwitch.label", + descriptionKey: "settings:autoApprove.modeSwitch.description", + icon: "sync", + testId: "always-allow-mode-switch-toggle", + }, + alwaysAllowSubtasks: { + key: "alwaysAllowSubtasks", + labelKey: "settings:autoApprove.subtasks.label", + descriptionKey: "settings:autoApprove.subtasks.description", + icon: "list-tree", + testId: "always-allow-subtasks-toggle", + }, + alwaysAllowExecute: { + key: "alwaysAllowExecute", + labelKey: "settings:autoApprove.execute.label", + descriptionKey: "settings:autoApprove.execute.description", + icon: "terminal", + testId: "always-allow-execute-toggle", + }, + alwaysAllowFollowupQuestions: { + key: "alwaysAllowFollowupQuestions", + labelKey: "settings:autoApprove.followupQuestions.label", + descriptionKey: "settings:autoApprove.followupQuestions.description", + icon: "question", + testId: "always-allow-followup-questions-toggle", + }, + alwaysAllowUpdateTodoList: { + key: "alwaysAllowUpdateTodoList", + labelKey: "settings:autoApprove.updateTodoList.label", + descriptionKey: "settings:autoApprove.updateTodoList.description", + icon: "checklist", + testId: "always-allow-update-todo-list-toggle", + }, + }, + $dt = ({ onToggle: t, ...e }) => { + const { t: n } = Be() + return l.jsx("div", { + className: be("flex flex-row flex-wrap gap-2 py-2"), + children: Object.values(zdt).map(({ key: o, descriptionKey: r, labelKey: i, icon: s, testId: a }) => + l.jsx( + We, + { + content: n(r || ""), + children: l.jsxs(Ee, { + variant: e[o] ? "default" : "outline", + onClick: () => t(o, !e[o]), + "aria-label": n(i), + "aria-pressed": !!e[o], + "data-testid": a, + className: be( + "h-7 px-2 rounded-md flex items-center gap-1.5 text-xs whitespace-nowrap", + !e[o] && "opacity-50", + ), + children: [ + l.jsx("span", { className: `codicon codicon-${s} text-sm` }), + l.jsx("span", { children: n(i) }), + ], + }), + }, + o, + ), + ), + }) + }, + C9t = ({ style: t }) => { + const [e, n] = k.useState(!1), + { + autoApprovalEnabled: o, + setAutoApprovalEnabled: r, + alwaysApproveResubmit: i, + setAlwaysAllowReadOnly: s, + setAlwaysAllowWrite: a, + setAlwaysAllowExecute: c, + setAlwaysAllowBrowser: d, + setAlwaysAllowMcp: u, + setAlwaysAllowModeSwitch: m, + setAlwaysAllowSubtasks: f, + setAlwaysApproveResubmit: g, + setAlwaysAllowFollowupQuestions: b, + setAlwaysAllowUpdateTodoList: v, + } = Qn(), + { t: w } = Be(), + _ = Qz(), + y = k.useMemo(() => ({ ..._, alwaysApproveResubmit: i }), [_, i]), + { hasEnabledOptions: C, effectiveAutoApprovalEnabled: S } = Gz(y, o), + P = k.useCallback( + (j, L) => { + switch ((re.postMessage({ type: j, bool: L }), j)) { + case "alwaysAllowReadOnly": + s(L) + break + case "alwaysAllowWrite": + a(L) + break + case "alwaysAllowExecute": + c(L) + break + case "alwaysAllowBrowser": + d(L) + break + case "alwaysAllowMcp": + u(L) + break + case "alwaysAllowModeSwitch": + m(L) + break + case "alwaysAllowSubtasks": + f(L) + break + case "alwaysApproveResubmit": + g(L) + break + case "alwaysAllowFollowupQuestions": + b(L) + break + case "alwaysAllowUpdateTodoList": + v(L) + break + } + const W = { ...y, [j]: L }, + G = Object.values(W).some((U) => !!U) + L && !C && G + ? (r(!0), re.postMessage({ type: "autoApprovalEnabled", bool: !0 })) + : !L && C && !G && (r(!1), re.postMessage({ type: "autoApprovalEnabled", bool: !1 })) + }, + [y, C, s, a, c, d, u, m, f, g, b, v, r], + ), + R = k.useCallback(() => { + n((j) => !j) + }, []), + T = Object.entries(y) + .filter(([j, L]) => !!L) + .map(([j]) => w(zdt[j].labelKey)) + .join(", "), + E = k.useMemo( + () => (!S || !C ? w("chat:autoApprove.none") : T || w("chat:autoApprove.none")), + [S, C, T, w], + ), + $ = k.useCallback( + () => + window.postMessage({ + type: "action", + action: "settingsButtonClicked", + values: { section: "autoApprove" }, + }), + [], + ) + return l.jsxs("div", { + style: { + padding: "0 15px", + userSelect: "none", + borderTop: e + ? "0.5px solid color-mix(in srgb, var(--vscode-titleBar-inactiveForeground) 20%, transparent)" + : "none", + overflowY: "auto", + ...t, + }, + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + gap: "8px", + padding: e ? "8px 0" : "2px 0 0 0", + cursor: "pointer", + }, + onClick: R, + children: [ + l.jsx("div", { + onClick: (j) => j.stopPropagation(), + children: l.jsx(We, { + content: C ? void 0 : w("chat:autoApprove.selectOptionsFirst"), + children: l.jsx(En, { + checked: S, + disabled: !C, + "aria-label": w( + C ? "chat:autoApprove.toggleAriaLabel" : "chat:autoApprove.disabledAriaLabel", + ), + onChange: () => { + if (C) { + const j = !(o ?? !1) + r(j), re.postMessage({ type: "autoApprovalEnabled", bool: j }) + } + }, + }), + }), + }), + l.jsxs("div", { + style: { display: "flex", alignItems: "center", gap: "4px", flex: 1, minWidth: 0 }, + children: [ + l.jsx("span", { + style: { color: "var(--vscode-foreground)", flexShrink: 0 }, + children: w("chat:autoApprove.title"), + }), + l.jsx("span", { + style: { + color: "var(--vscode-descriptionForeground)", + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", + flex: 1, + minWidth: 0, + }, + children: E, + }), + l.jsx("span", { + className: `codicon codicon-chevron-${e ? "down" : "right"}`, + style: { flexShrink: 0, marginLeft: e ? "2px" : "-2px" }, + }), + ], + }), + ], + }), + e && + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsx("div", { + style: { color: "var(--vscode-descriptionForeground)", fontSize: "12px" }, + children: l.jsx(Dt, { + i18nKey: "chat:autoApprove.description", + components: { settingsLink: l.jsx(Wt, { href: "#", onClick: $ }) }, + }), + }), + l.jsx($dt, { ...y, onToggle: P }), + ], + }), + ], + }) + }, + Fq = k.memo(C9t), + S9t = () => { + const { t } = Be() + return l.jsxs("div", { + className: + "flex items-center px-4 py-2 mb-2 text-sm rounded bg-vscode-editorWarning-foreground text-vscode-editor-background", + children: [ + l.jsx("div", { + className: "flex items-center justify-center w-5 h-5 mr-2", + children: l.jsx("span", { className: "codicon codicon-warning" }), + }), + l.jsx("span", { children: t("chat:systemPromptWarning") }), + ], + }) + }, + A9t = () => { + const { t } = Be() + return l.jsxs("div", { + className: + "flex items-center px-4 py-2 mb-2 text-sm rounded bg-vscode-editorWarning-foreground text-vscode-editor-background", + children: [ + l.jsx("div", { + className: "flex items-center justify-center w-5 h-5 mr-2", + children: l.jsx("span", { className: "codicon codicon-warning" }), + }), + l.jsx("span", { children: t("chat:profileViolationWarning") }), + ], + }) + }, + P9t = () => + l.jsxs("div", { + className: + "flex items-center p-3 my-3 bg-vscode-inputValidation-warningBackground border border-vscode-inputValidation-warningBorder rounded", + children: [ + l.jsx("span", { className: "codicon codicon-loading codicon-modifier-spin mr-2" }), + l.jsx("span", { + className: "text-vscode-foreground", + children: l.jsx(Dt, { + i18nKey: "chat:checkpoint.initializingWarning", + components: { + settingsLink: l.jsx(Wt, { + href: "#", + onClick: (t) => { + t.preventDefault(), + window.postMessage( + { + type: "action", + action: "settingsButtonClicked", + values: { section: "checkpoints" }, + }, + "*", + ) + }, + className: "inline px-0.5", + }), + }, + }), + }), + ], + }), + R9t = ({ queue: t, onRemove: e, onUpdate: n }) => { + const { t: o } = to("chat"), + [r, i] = k.useState({}) + if (t.length === 0) return null + const s = (d, u) => r[d] || { isEditing: !1, value: u }, + a = (d, u, m) => { + i((f) => { + var g + return { ...f, [d]: { isEditing: u, value: m ?? ((g = f[d]) == null ? void 0 : g.value) ?? "" } } + }) + }, + c = (d, u, m) => { + n(d, m), a(u, !1) + } + return l.jsxs("div", { + className: "px-[15px] py-[10px] pr-[6px]", + "data-testid": "queued-messages", + children: [ + l.jsx("div", { + className: "text-vscode-descriptionForeground text-md mb-2", + children: o("queuedMessages.title"), + }), + l.jsx("div", { + className: "flex flex-col gap-2 max-h-[300px] overflow-y-auto pr-2", + children: t.map((d, u) => { + const m = s(d.id, d.text) + return l.jsxs( + "div", + { + className: + "bg-vscode-editor-background border rounded-xs p-1 overflow-hidden whitespace-pre-wrap flex-shrink-0", + children: [ + l.jsxs("div", { + className: "flex justify-between", + children: [ + l.jsx("div", { + className: "flex-grow px-2 py-1 wrap-anywhere", + children: m.isEditing + ? l.jsx("textarea", { + ref: (f) => { + f && f.setSelectionRange(f.value.length, f.value.length) + }, + value: m.value, + onChange: (f) => a(d.id, !0, f.target.value), + onBlur: () => c(u, d.id, m.value), + onKeyDown: (f) => { + f.key === "Enter" && + !f.shiftKey && + (f.preventDefault(), c(u, d.id, m.value)), + f.key === "Escape" && a(d.id, !1, d.text) + }, + className: + "w-full bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded px-2 py-1 resize-none focus:outline-0 focus:ring-1 focus:ring-vscode-focusBorder", + placeholder: o("chat:editMessage.placeholder"), + autoFocus: !0, + rows: Math.min( + m.value.split(` +`).length, + 10, + ), + }) + : l.jsx("div", { + onClick: () => a(d.id, !0, d.text), + className: + "cursor-pointer hover:bg-vscode-list-hoverBackground px-1 py-0.5 -mx-1 -my-0.5 rounded transition-colors", + title: o("chat:queuedMessages.clickToEdit"), + children: l.jsx(I_, { text: d.text, withShadow: !0 }), + }), + }), + l.jsx("div", { + className: "flex", + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + className: "shrink-0", + onClick: (f) => { + f.stopPropagation(), e(u) + }, + children: l.jsx("span", { className: "codicon codicon-trash" }), + }), + }), + ], + }), + d.images && + d.images.length > 0 && + l.jsx(e0, { images: d.images, style: { marginTop: "8px" } }), + ], + }, + d.id, + ) + }), + }), + ], + }) + } +function T9t(t) { + const e = t + .filter((n) => (n.type === "ask" && n.ask === "tool") || (n.type === "say" && n.say === "user_edit_todos")) + .map((n) => { + try { + return JSON.parse(n.text ?? "{}") + } catch { + return null + } + }) + .filter((n) => n && n.tool === "updateTodoList" && Array.isArray(n.todos)) + .map((n) => n.todos) + .pop() + return e || [] +} +const Cb = 20, + Bq = navigator.platform.toUpperCase().indexOf("MAC") >= 0, + I9t = ({ isHidden: t, showAnnouncement: e, hideAnnouncement: n }, o) => { + const r = k.useRef(!0), + [i] = k.useState(() => window.AUDIO_BASE_URI || ""), + { t: s } = Be(), + { t: a } = to("settings"), + c = `${Bq ? "⌘" : "Ctrl"} + . ${s("chat:forNextMode")}, ${Bq ? "⌘" : "Ctrl"} + Shift + . ${s("chat:forPreviousMode")}`, + { + clineMessages: d, + currentTaskItem: u, + taskHistory: m, + apiConfiguration: f, + organizationAllowList: g, + mcpServers: b, + alwaysAllowBrowser: v, + alwaysAllowReadOnly: w, + alwaysAllowReadOnlyOutsideWorkspace: _, + alwaysAllowWrite: y, + alwaysAllowWriteOutsideWorkspace: C, + alwaysAllowWriteProtected: S, + alwaysAllowExecute: P, + alwaysAllowMcp: R, + allowedCommands: T, + deniedCommands: E, + writeDelayMs: $, + followupAutoApproveTimeoutMs: j, + mode: L, + setMode: W, + autoApprovalEnabled: G, + alwaysAllowModeSwitch: U, + alwaysAllowSubtasks: Z, + alwaysAllowFollowupQuestions: V, + alwaysAllowUpdateTodoList: X, + customModes: H, + telemetrySetting: B, + hasSystemPromptOverride: M, + historyPreviewCollapsed: D, + soundEnabled: F, + soundVolume: N, + cloudIsAuthenticated: J, + } = Qn(), + oe = k.useRef(d) + k.useEffect(() => { + oe.current = d + }, [d]) + const { tasks: ae } = t$(), + [Q, ee] = k.useState(D === void 0 ? !0 : !D), + q = k.useCallback(() => { + const ce = !Q + ee(ce), re.postMessage({ type: "setHistoryPreviewCollapsed", bool: !ce }) + }, [Q]), + me = k.useMemo(() => d.at(0), [d]), + Ce = k.useMemo(() => T9t(d), [d]), + ue = k.useMemo(() => T1t(I1t(d.slice(1))), [d]), + Te = k.useMemo(() => M1t(ue), [ue]), + [dt, Y] = k.useState(""), + Ke = k.useRef(null), + [jt, Ye] = k.useState(!1), + [Bt, nn] = k.useState([]), + [Xe, Tt] = k.useState([]), + Vt = k.useRef(!1), + zt = k.useRef(new Map()), + _n = 3, + [ge, Re] = k.useState(void 0), + [tt, lt] = k.useState(!1), + [_t, Kt] = k.useState(void 0), + [Wn, on] = k.useState(void 0), + [Eo, Fo] = k.useState(!1), + Bn = k.useRef(null), + [Yn, Kn] = k.useState({}), + Nr = k.useRef(), + Or = k.useRef(null), + uo = k.useRef(!1), + [Jo, xe] = k.useState(!1), + [$t, gn] = k.useState(!1), + an = k.useRef(""), + [no, vn] = k.useState(!1), + [oo, Bo] = k.useState(!1), + [ro, bo] = k.useState(!1), + [Ln, yo] = k.useState(!1), + ko = k.useRef(new Gw({ max: 250, ttl: 1e3 * 60 * 15 })), + Vn = k.useRef(null), + Go = k.useRef(!1), + [Me, Et] = k.useState(null), + At = k.useRef(ge) + k.useEffect(() => { + At.current = ge + }, [ge]), + k.useEffect( + () => ( + (r.current = !0), + () => { + r.current = !1 + } + ), + [], + ) + const ln = k.useMemo(() => !!f && !j1t.isProfileAllowed(f, g), [f, g]), + Qe = k.useMemo(() => d.at(-1), [d]), + pn = k.useMemo(() => d.at(-2), [d]), + Ve = { volume: typeof N == "number" ? N : 0.5, soundEnabled: F }, + te = (ce) => `${i}/${ce}`, + [Se] = KA(te("notification.wav"), Ve), + [ze] = KA(te("celebration.wav"), Ve), + [ot] = KA(te("progress_loop.wav"), Ve) + function Ut(ce) { + switch (ce) { + case "notification": + Se() + break + case "celebration": + ze() + break + case "progress_loop": + ot() + break + default: + console.warn(`Unknown audio type: ${ce}`) + } + } + function qt(ce) { + re.postMessage({ type: "playTts", text: ce }) + } + mht(() => { + if (Qe) + switch (Qe.type) { + case "ask": + Go.current = !1 + const ce = Qe.partial === !0 + switch (Qe.ask) { + case "api_req_failed": + Ut("progress_loop"), + Ye(!0), + Re("api_req_failed"), + lt(!0), + Kt(s("chat:retry.title")), + on(s("chat:startNewTask.title")) + break + case "mistake_limit_reached": + Ut("progress_loop"), + Ye(!1), + Re("mistake_limit_reached"), + lt(!0), + Kt(s("chat:proceedAnyways.title")), + on(s("chat:startNewTask.title")) + break + case "followup": + ce || Ut("notification"), Ye(ce), Re("followup"), lt(!0), Kt(void 0), on(void 0) + break + case "tool": + !Zl(Qe) && !ce && Ut("notification"), Ye(ce), Re("tool"), lt(!ce) + const ve = JSON.parse(Qe.text || "{}") + switch (ve.tool) { + case "editedExistingFile": + case "appliedDiff": + case "newFileCreated": + case "insertContent": + Kt(s("chat:save.title")), on(s("chat:reject.title")) + break + case "finishTask": + Kt(s("chat:completeSubtaskAndReturn")), on(void 0) + break + case "readFile": + ve.batchFiles && Array.isArray(ve.batchFiles) + ? (Kt(s("chat:read-batch.approve.title")), + on(s("chat:read-batch.deny.title"))) + : (Kt(s("chat:approve.title")), on(s("chat:reject.title"))) + break + default: + Kt(s("chat:approve.title")), on(s("chat:reject.title")) + break + } + break + case "browser_action_launch": + !Zl(Qe) && !ce && Ut("notification"), + Ye(ce), + Re("browser_action_launch"), + lt(!ce), + Kt(s("chat:approve.title")), + on(s("chat:reject.title")) + break + case "command": + !Zl(Qe) && !ce && Ut("notification"), + Ye(ce), + Re("command"), + lt(!ce), + Kt(s("chat:runCommand.title")), + on(s("chat:reject.title")) + break + case "command_output": + Ye(!1), + Re("command_output"), + lt(!0), + Kt(s("chat:proceedWhileRunning.title")), + on(s("chat:killCommand.title")) + break + case "use_mcp_server": + !Zl(Qe) && !ce && Ut("notification"), + Ye(ce), + Re("use_mcp_server"), + lt(!ce), + Kt(s("chat:approve.title")), + on(s("chat:reject.title")) + break + case "completion_result": + ce || Ut("celebration"), + Ye(ce), + Re("completion_result"), + lt(!ce), + Kt(s("chat:startNewTask.title")), + on(void 0) + break + case "resume_task": + Ye(!1), + Re("resume_task"), + lt(!0), + Kt(s("chat:resumeTask.title")), + on(s("chat:terminate.title")), + Fo(!1) + break + case "resume_completed_task": + Ye(!1), + Re("resume_completed_task"), + lt(!0), + Kt(s("chat:startNewTask.title")), + on(void 0), + Fo(!1) + break + } + break + case "say": + switch (Qe.say) { + case "api_req_retry_delayed": + Ye(!0) + break + case "api_req_started": + ;(pn == null ? void 0 : pn.ask) === "command_output" && + (Ye(!0), nn([]), Re(void 0), lt(!1)) + break + } + break + } + }, [Qe, pn]), + k.useEffect(() => { + d.length === 0 && (Ye(!1), Re(void 0), lt(!1), Kt(void 0), on(void 0)) + }, [d.length]), + k.useEffect(() => { + Kn({}), + ko.current.clear(), + Et(null), + Vn.current && (clearTimeout(Vn.current), (Vn.current = null)), + (Go.current = !1), + Tt([]), + zt.current.clear() + }, [me == null ? void 0 : me.ts]), + k.useEffect(() => { + t && ko.current.clear() + }, [t]), + k.useEffect(() => () => ko.current.clear(), []), + k.useEffect(() => { + const ce = Nr.current + let ve = !1 + if (ce) + for (const [it, Nt] of Object.entries(Yn)) { + const kn = Number(it) + if (Nt && !(ce[kn] ?? !1)) { + ve = !0 + break + } + } + ve && (uo.current = !0), (Nr.current = Yn) + }, [Yn]) + const io = k.useMemo(() => { + var Nt, kn + if (!!((Nt = ue.at(-1)) != null && Nt.ask) && ge !== void 0 && tt && _t !== void 0) return !1 + if (((kn = ue.at(-1)) == null ? void 0 : kn.partial) === !0) return !0 + { + const lo = lCt(ue, (ws) => ws.say === "api_req_started") + if ( + lo && + lo.text !== null && + lo.text !== void 0 && + lo.say === "api_req_started" && + JSON.parse(lo.text).cost === void 0 + ) + return !0 + } + return !1 + }, [ue, ge, tt, _t]), + or = k.useCallback(() => { + const ce = oe.current.findLast((ve) => ve.ask === "followup") + ce && Et(ce.ts) + }, []), + qi = k.useCallback(() => { + Vn.current && (clearTimeout(Vn.current), (Vn.current = null)), + (Go.current = !1), + Y(""), + Ye(!0), + nn([]), + Re(void 0), + lt(!1), + (uo.current = !1) + }, []), + rr = k.useCallback( + (ce, ve, it = !1) => { + try { + if (((ce = ce.trim()), ce || ve.length > 0)) { + if (jt && !it) { + const Nt = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}` + Tt((kn) => [...kn, { id: Nt, text: ce, images: ve }]), Y(""), nn([]) + return + } + if (((Go.current = !0), oe.current.length === 0)) + re.postMessage({ type: "newTask", text: ce, images: ve }) + else if (At.current) + switch ((At.current === "followup" && or(), At.current)) { + case "followup": + case "tool": + case "browser_action_launch": + case "command": + case "command_output": + case "use_mcp_server": + case "completion_result": + case "resume_task": + case "resume_completed_task": + case "mistake_limit_reached": + re.postMessage({ + type: "askResponse", + askResponse: "messageResponse", + text: ce, + images: ve, + }) + break + } + else + re.postMessage({ + type: "askResponse", + askResponse: "messageResponse", + text: ce, + images: ve, + }) + qi() + } + } catch (Nt) { + if ((console.error("Error in handleSendMessage:", Nt), it)) throw Nt + } + }, + [qi, or, jt], + ) + k.useEffect(() => { + if (jt || Xe.length === 0 || Vt.current || ge === "api_req_failed") return + Vt.current = !0 + const [ce, ...ve] = Xe + return ( + Tt(ve), + Promise.resolve() + .then(() => { + rr(ce.text, ce.images, !0), zt.current.delete(ce.id) + }) + .catch((it) => { + console.error("Failed to send queued message:", it) + const Nt = zt.current.get(ce.id) || 0 + Nt < _n + ? (zt.current.set(ce.id, Nt + 1), Tt((kn) => [...kn, ce])) + : (console.error(`Message ${ce.id} failed after ${_n} attempts, discarding`), + zt.current.delete(ce.id)) + }) + .finally(() => { + Vt.current = !1 + }), + () => { + Vt.current = !1 + } + ) + }, [jt, Xe, rr, ge]) + const Hc = k.useCallback( + (ce, ve) => { + let it = ce + dt !== "" && (it = dt + " " + ce), Y(it), nn([...Bt, ...ve]) + }, + [dt, Bt], + ) + k.useEffect(() => { + const ce = zt.current, + ve = Vt + return () => { + ce.clear(), (ve.current = !1) + } + }, []) + const Hs = k.useCallback(() => re.postMessage({ type: "clearTask" }), []), + hl = k.useCallback( + (ce, ve) => { + Go.current = !0 + const it = ce == null ? void 0 : ce.trim() + switch (ge) { + case "api_req_failed": + case "command": + case "tool": + case "browser_action_launch": + case "use_mcp_server": + case "resume_task": + case "mistake_limit_reached": + it || (ve && ve.length > 0) + ? (re.postMessage({ + type: "askResponse", + askResponse: "yesButtonClicked", + text: it, + images: ve, + }), + Y(""), + nn([])) + : re.postMessage({ type: "askResponse", askResponse: "yesButtonClicked" }) + break + case "completion_result": + case "resume_completed_task": + Hs() + break + case "command_output": + re.postMessage({ type: "terminalOperation", terminalOperation: "continue" }) + break + } + Ye(!0), Re(void 0), lt(!1) + }, + [ge, Hs], + ), + Wi = k.useCallback( + (ce, ve) => { + Go.current = !0 + const it = ce == null ? void 0 : ce.trim() + if (io) { + re.postMessage({ type: "cancelTask" }), Fo(!0) + return + } + switch (ge) { + case "api_req_failed": + case "mistake_limit_reached": + case "resume_task": + Hs() + break + case "command": + case "tool": + case "browser_action_launch": + case "use_mcp_server": + it || (ve && ve.length > 0) + ? (re.postMessage({ + type: "askResponse", + askResponse: "noButtonClicked", + text: it, + images: ve, + }), + Y(""), + nn([])) + : re.postMessage({ type: "askResponse", askResponse: "noButtonClicked" }) + break + case "command_output": + re.postMessage({ type: "terminalOperation", terminalOperation: "abort" }) + break + } + Ye(!0), Re(void 0), lt(!1) + }, + [ge, Hs, io], + ), + m0 = k.useCallback(() => Hs(), [Hs]), + { info: Si } = uC(f), + h0 = k.useCallback(() => re.postMessage({ type: "selectImages" }), []), + f0 = !(Si != null && Si.supportsImages) || Bt.length >= Cb, + g0 = k.useCallback( + (ce) => { + var it, Nt + const ve = ce.data + switch (ve.type) { + case "action": + switch (ve.action) { + case "didBecomeVisible": + !t && !jt && !tt && ((it = Ke.current) == null || it.focus()) + break + case "focusInput": + ;(Nt = Ke.current) == null || Nt.focus() + break + } + break + case "selectedImages": + ve.context !== "edit" && nn((kn) => Fnt(kn, ve.images, Cb)) + break + case "invoke": + switch (ve.invoke) { + case "newChat": + qi() + break + case "sendMessage": + rr(ve.text ?? "", ve.images ?? []) + break + case "setChatBoxMessage": + Hc(ve.text ?? "", ve.images ?? []) + break + case "primaryButtonClick": + hl(ve.text ?? "", ve.images ?? []) + break + case "secondaryButtonClick": + Wi(ve.text ?? "", ve.images ?? []) + break + } + break + case "condenseTaskContextResponse": + ve.text && ve.text === (u == null ? void 0 : u.id) && (ro && jt && Ye(!1), bo(!1)) + break + } + }, + [ro, t, jt, tt, u, qi, rr, Hc, hl, Wi], + ) + Ws("message", g0), + L_(() => { + var ce + return (ce = Ke.current) == null ? void 0 : ce.focus() + }), + Ont( + () => { + var ce + !t && !jt && !tt && ((ce = Ke.current) == null || ce.focus()) + }, + 50, + [t, jt, tt], + ) + const Cu = k.useMemo(() => { + const ce = ue.filter((ve) => { + var it, Nt + if (ko.current.has(ve.ts)) { + const kn = ["api_req_failed", "resume_task", "resume_completed_task"], + lo = [ + "api_req_finished", + "api_req_retried", + "api_req_deleted", + "mcp_server_request_started", + ] + return !( + (ve.ask && kn.includes(ve.ask)) || + (ve.say && lo.includes(ve.say)) || + (ve.say === "text" && + (ve.text ?? "") === "" && + (((it = ve.images) == null ? void 0 : it.length) ?? 0) === 0) + ) + } + switch (ve.ask) { + case "completion_result": + if (ve.text === "") return !1 + break + case "api_req_failed": + case "resume_task": + case "resume_completed_task": + return !1 + } + switch (ve.say) { + case "api_req_finished": + case "api_req_retried": + case "api_req_deleted": + return !1 + case "api_req_retry_delayed": + const kn = ue.at(-1), + lo = ue.at(-2) + if (!((kn == null ? void 0 : kn.ask) === "resume_task" && lo === ve)) { + if (ve !== kn) return !1 + } + break + case "text": + if ((ve.text ?? "") === "" && (((Nt = ve.images) == null ? void 0 : Nt.length) ?? 0) === 0) + return !1 + break + case "mcp_server_request_started": + return !1 + } + return !0 + }) + return ce.forEach((ve) => ko.current.set(ve.ts, !0)), ce + }, [ue]), + Su = k.useCallback((ce) => { + if ((ce == null ? void 0 : ce.type) === "ask") { + if (!ce.text) return !0 + const ve = JSON.parse(ce.text) + return [ + "readFile", + "listFiles", + "listFilesTopLevel", + "listFilesRecursive", + "listCodeDefinitionNames", + "searchFiles", + "codebaseSearch", + ].includes(ve.tool) + } + return !1 + }, []), + fl = k.useCallback((ce) => { + if ((ce == null ? void 0 : ce.type) === "ask") { + if (!ce.text) return !0 + const ve = JSON.parse(ce.text) + return [ + "editedExistingFile", + "appliedDiff", + "newFileCreated", + "searchAndReplace", + "insertContent", + ].includes(ve.tool) + } + return !1 + }, []), + Au = k.useCallback( + (ce) => { + var ve + if ((ce == null ? void 0 : ce.type) === "ask" && ce.ask === "use_mcp_server") { + if (!ce.text) return !0 + const it = JSON.parse(ce.text) + if (it.type === "use_mcp_tool") { + const Nt = b == null ? void 0 : b.find((lo) => lo.name === it.serverName), + kn = + (ve = Nt == null ? void 0 : Nt.tools) == null + ? void 0 + : ve.find((lo) => lo.name === it.toolName) + return (kn == null ? void 0 : kn.alwaysAllow) || !1 + } + } + return !1 + }, + [b], + ), + em = k.useCallback( + (ce) => ((ce == null ? void 0 : ce.type) !== "ask" ? "ask_user" : D1t(ce.text || "", T || [], E || [])), + [T, E], + ), + Yf = k.useCallback((ce) => em(ce) === "auto_approve", [em]), + tm = k.useCallback((ce) => em(ce) === "auto_deny", [em]), + Xf = k.useCallback( + (ce) => { + if (!ce || !(E != null && E.length)) return null + const ve = BE(ce) + for (const it of ve) { + const Nt = cM(it, E) + if (Nt) return Nt + } + return null + }, + [E], + ), + Jf = Qz(), + { hasEnabledOptions: Gc } = Gz(Jf, G), + Zl = k.useCallback( + (ce) => { + if (!G || !ce || ce.type !== "ask" || !Gc) return !1 + if (ce.ask === "followup") return V + if (ce.ask === "browser_action_launch") return v + if (ce.ask === "use_mcp_server") return R && Au(ce) + if (ce.ask === "command") return P && Yf(ce) + if (ce.ask === "tool") { + let ve = {} + try { + ve = JSON.parse(ce.text || "{}") + } catch (kn) { + console.error("Failed to parse tool:", kn) + } + if (!ve) return !1 + if ((ve == null ? void 0 : ve.tool) === "updateTodoList") return X + if ((ve == null ? void 0 : ve.tool) === "fetchInstructions") { + if (ve.content === "create_mode") return U + if (ve.content === "create_mcp_server") return R + } + if ((ve == null ? void 0 : ve.tool) === "switchMode") return U + if (["newTask", "finishTask"].includes(ve == null ? void 0 : ve.tool)) return Z + const it = !!ve.isOutsideWorkspace, + Nt = ce.isProtected + if (Su(ce)) return w && (!it || _) + if (fl(ce)) return y && (!it || C) && (!Nt || S) + } + return !1 + }, + [G, Gc, v, w, _, Su, y, C, S, fl, P, Yf, R, Au, U, V, Z, X], + ) + k.useEffect(() => { + if ( + Qe && + d.length > 1 && + Qe.text && + (Qe.say === "text" || Qe.say === "completion_result") && + !Qe.partial && + !Qe.text.startsWith("{") + ) { + let ce = (Qe == null ? void 0 : Qe.text) || "" + const ve = /```mermaid[\s\S]*?```/g + if (((ce = ce.replace(ve, "")), (ce = zPt(ce)), ce !== an.current)) + try { + qt(ce), (an.current = ce) + } catch (it) { + console.error("Failed to execute text-to-speech:", it) + } + } + vn(io) + }, [io, Qe, no, Zl, d.length]) + const eg = (ce) => + ce.type === "ask" + ? ["browser_action_launch"].includes(ce.ask) + : ce.type === "say" + ? ["api_req_started", "text", "browser_action", "browser_action_result"].includes(ce.say) + : !1, + jn = k.useMemo(() => { + const ce = [] + let ve = [], + it = !1 + const Nt = () => { + ve.length > 0 && (ce.push([...ve]), (ve = []), (it = !1)) + } + return ( + Cu.forEach((kn) => { + if (kn.ask === "browser_action_launch") Nt(), (it = !0), ve.push(kn) + else if (it) { + if (kn.say === "api_req_started") { + const lo = [...ve].reverse().find((ws) => ws.say === "api_req_started") + if ( + (lo == null ? void 0 : lo.text) !== null && + (lo == null ? void 0 : lo.text) !== void 0 + ) { + const ws = JSON.parse(lo.text) + if (ws.cancelReason !== null && ws.cancelReason !== void 0) { + Nt(), ce.push(kn) + return + } + } + } + eg(kn) + ? (ve.push(kn), + kn.say === "browser_action" && + JSON.parse(kn.text || "{}").action === "close" && + Nt()) + : (Nt(), ce.push(kn)) + } else ce.push(kn) + }), + ve.length > 0 && ce.push([...ve]), + ro && ce.push({ type: "say", say: "condense_context", ts: Date.now(), partial: !0 }), + ce + ) + }, [ro, Cu]), + Gs = k.useMemo( + () => + sAt( + () => { + var ce + return (ce = Bn.current) == null + ? void 0 + : ce.scrollTo({ top: Number.MAX_SAFE_INTEGER, behavior: "smooth" }) + }, + 10, + { immediate: !0 }, + ), + [], + ) + k.useEffect( + () => () => { + Gs && typeof Gs.cancel == "function" && Gs.cancel() + }, + [Gs], + ) + const nm = k.useCallback(() => { + var ce + ;(ce = Bn.current) == null || ce.scrollTo({ top: Number.MAX_SAFE_INTEGER, behavior: "auto" }) + }, []), + om = k.useCallback( + (ce, ve) => { + Kn((it) => ({ ...it, [ce]: ve === void 0 ? !it[ce] : ve })) + }, + [Kn], + ), + tg = k.useCallback( + (ce) => { + om(ce) + }, + [om], + ), + rm = k.useCallback( + (ce) => { + uo.current || (ce ? Gs() : setTimeout(() => nm(), 0)) + }, + [Gs, nm], + ) + k.useEffect(() => { + let ce + return ( + uo.current || (ce = setTimeout(() => Gs(), 50)), + () => { + ce && clearTimeout(ce) + } + ) + }, [jn.length, Gs]) + const vy = k.useCallback((ce) => { + var it + const ve = ce + ve.deltaY && ve.deltaY < 0 && (it = Or.current) != null && it.contains(ve.target) && (uo.current = !0) + }, []) + Ws("wheel", vy, window, { passive: !0 }), + k.useEffect(() => { + if (me && ue.length === 0 && !io && !t) { + const ce = setTimeout(() => { + Bo(!0) + }, 5e3) + return () => clearTimeout(ce) + } else Bo(!1) + }, [me, ue.length, io, t]), + k.useEffect(() => { + ;(ue.length > 0 || io || t) && Bo(!1) + }, [ue.length, io, t]) + const ng = s(me ? "chat:typeMessage" : "chat:typeTask"), + _a = k.useCallback( + (ce) => { + W(ce), re.postMessage({ type: "mode", text: ce }) + }, + [W], + ), + xs = k.useCallback( + (ce, ve) => { + ve && (Go.current = !0), + ge === "followup" && !(ve != null && ve.shiftKey) && or(), + ce.mode && (ve || U) && _a(ce.mode), + ve != null && ve.shiftKey + ? Y((it) => + it !== "" + ? `${it} +${ce.answer}` + : ce.answer, + ) + : rr(ce.answer, []) + }, + [rr, Y, _a, U, ge, or], + ), + Ca = k.useCallback((ce) => { + re.postMessage({ type: "askResponse", askResponse: "objectResponse", text: JSON.stringify(ce) }) + }, []), + Sa = k.useCallback(() => { + Go.current = !0 + }, []), + Pu = k.useCallback( + (ce, ve) => + Array.isArray(ve) + ? l.jsx(m9t, { + messages: ve, + isLast: ce === jn.length - 1, + lastModifiedMessage: ue.at(-1), + onHeightChange: rm, + isStreaming: io, + isExpanded: (it) => Yn[it] ?? !1, + onToggleExpand: (it) => { + Kn((Nt) => ({ ...Nt, [it]: !Nt[it] })) + }, + }) + : l.jsx( + p9t, + { + message: ve, + isExpanded: Yn[ve.ts] || !1, + onToggleExpand: tg, + lastModifiedMessage: ue.at(-1), + isLast: ce === jn.length - 1, + onHeightChange: rm, + isStreaming: io, + onSuggestionClick: xs, + onBatchFileResponse: Ca, + onFollowUpUnmount: Sa, + isFollowUpAnswered: ve.ts === Me, + editable: + ve.type === "ask" && + ve.ask === "tool" && + (() => { + var Nt + let it = {} + try { + it = JSON.parse(ve.text || "{}") + } catch { + ;(Nt = ve.text) != null && + Nt.includes("updateTodoList") && + (it = { tool: "updateTodoList" }) + } + return it.tool === "updateTodoList" && X + ? !1 + : it.tool === "updateTodoList" && tt && !!_t + })(), + }, + ve.ts, + ), + [Yn, tg, ue, jn.length, rm, io, xs, Ca, Sa, Me, X, tt, _t], + ) + k.useEffect( + () => ( + Vn.current && (clearTimeout(Vn.current), (Vn.current = null)), + !ge || !tt || Go.current + ? void 0 + : ((async () => { + if ((Qe == null ? void 0 : Qe.ask) === "command" && tm(Qe)) { + const ve = Xf(Qe.text || "") + if (ve) { + const it = a("autoApprove.execute.autoDenied", { prefix: ve }) + re.postMessage({ type: "askResponse", askResponse: "noButtonClicked", text: it }) + } else re.postMessage({ type: "askResponse", askResponse: "noButtonClicked" }) + Ye(!0), Re(void 0), lt(!1) + return + } + if (Qe != null && Qe.ask && Zl(Qe)) { + if (Qe.ask === "followup") { + let ve = {} + try { + ve = JSON.parse(Qe.text || "{}") + } catch (it) { + console.error("Failed to parse follow-up data:", it) + return + } + if (ve && ve.suggest && ve.suggest.length > 0) { + if ( + (await new Promise((Nt) => { + Vn.current = setTimeout(() => { + ;(Vn.current = null), Nt() + }, j) + }), + Go.current) + ) + return + const it = ve.suggest[0] + xs(it) + return + } + } else + Qe.ask === "tool" && + fl(Qe) && + (await new Promise((ve) => { + Vn.current = setTimeout(() => { + ;(Vn.current = null), ve() + }, $) + })) + re.postMessage({ type: "askResponse", askResponse: "yesButtonClicked" }), + Ye(!0), + Re(void 0), + lt(!1) + } + })(), + () => { + Vn.current && (clearTimeout(Vn.current), (Vn.current = null)) + }) + ), + [ge, tt, hl, v, w, _, y, C, P, j, R, d, T, E, b, Zl, Qe, $, fl, V, xs, Yf, tm, Xf, a], + ) + const Qc = k.useCallback(() => { + const ce = qv(H), + it = (ce.findIndex((Nt) => Nt.slug === L) + 1) % ce.length + _a(ce[it].slug) + }, [L, H, _a]), + Aa = k.useCallback(() => { + const ce = qv(H), + it = (ce.findIndex((Nt) => Nt.slug === L) - 1 + ce.length) % ce.length + _a(ce[it].slug) + }, [L, H, _a]), + og = k.useCallback( + (ce) => { + ;(ce.metaKey || ce.ctrlKey) && ce.key === "." && (ce.preventDefault(), ce.shiftKey ? Aa() : Qc()) + }, + [Qc, Aa], + ) + k.useEffect( + () => ( + window.addEventListener("keydown", og), + () => { + window.removeEventListener("keydown", og) + } + ), + [og], + ), + k.useImperativeHandle(o, () => ({ + acceptInput: () => { + tt && _t ? hl(dt, Bt) : !jt && !ln && (dt.trim() || Bt.length > 0) && rr(dt, Bt) + }, + })) + const by = (ce) => { + ro || jt || (bo(!0), Ye(!0), re.postMessage({ type: "condenseTaskContextRequest", text: ce })) + }, + Zc = Jo || _t || Wn || io + return l.jsxs("div", { + "data-testid": "chat-view", + className: t ? "hidden" : "fixed top-0 left-0 right-0 bottom-0 flex flex-col overflow-hidden", + children: [ + (e || Ln) && + l.jsx(TUt, { + hideAnnouncement: () => { + Ln && yo(!1), e && n() + }, + }), + me + ? l.jsxs(l.Fragment, { + children: [ + l.jsx(_9t, { + task: me, + tokensIn: Te.totalTokensIn, + tokensOut: Te.totalTokensOut, + cacheWrites: Te.totalCacheWrites, + cacheReads: Te.totalCacheReads, + totalCost: Te.totalCost, + contextTokens: Te.contextTokens, + buttonsDisabled: jt, + handleCondenseContext: by, + onClose: m0, + todos: Ce, + }), + M && l.jsx("div", { className: "px-3", children: l.jsx(S9t, {}) }), + oo && l.jsx("div", { className: "px-3", children: l.jsx(P9t, {}) }), + ], + }) + : l.jsxs("div", { + className: "flex-1 min-h-0 overflow-y-auto flex flex-col gap-4 relative", + children: [ + ae.length !== 0 && + l.jsx("div", { + className: "flex text-vscode-descriptionForeground w-full mx-auto px-5 pt-3", + children: l.jsxs("div", { + className: "flex items-center gap-1 cursor-pointer", + onClick: q, + children: [ + ae.length < 10 && + l.jsx("span", { + className: "font-medium text-xs ", + children: s("history:recentTasks"), + }), + l.jsx("span", { + className: `codicon ${Q ? "codicon-eye" : "codicon-eye-closed"} scale-90`, + }), + ], + }), + }), + l.jsxs("div", { + className: ` w-full flex flex-col gap-4 m-auto ${Q && ae.length > 0 ? "mt-0" : ""} px-3.5 min-[370px]:px-10 pt-5 transition-all duration-300`, + children: [ + l.jsx(aUt, { onClick: () => yo(!0), className: "absolute top-2 right-3 z-10" }), + l.jsx(hot, {}), + B === "unset" && l.jsx(iUt, {}), + l.jsx("div", { + className: "mb-2.5", + children: J || m.length < 4 ? l.jsx(wjt, {}) : l.jsx(_jt, {}), + }), + m.length > 0 && Q && l.jsx(SUt, {}), + ], + }), + ], + }), + !me && l.jsx("div", { className: "mb-1 flex-initial min-h-0", children: l.jsx(Fq, {}) }), + me && + l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + className: "grow flex", + ref: Or, + children: l.jsx( + Ntt, + { + ref: Bn, + className: "scrollable grow overflow-y-scroll mb-1", + increaseViewportBy: { top: 3e3, bottom: Number.MAX_SAFE_INTEGER }, + data: jn, + itemContent: Pu, + atBottomStateChange: (ce) => { + gn(ce), ce && (uo.current = !1), xe(uo.current && !ce) + }, + atBottomThreshold: 10, + initialTopMostItemIndex: jn.length - 1, + }, + me.ts, + ), + }), + l.jsx("div", { + className: `flex-initial min-h-0 ${Zc ? "" : "mb-1"}`, + children: l.jsx(Fq, {}), + }), + Zc && + l.jsx("div", { + className: `flex h-9 items-center mb-1 px-[15px] ${Jo || tt || (io && !Eo) ? "opacity-100" : "opacity-50"}`, + children: Jo + ? l.jsx(We, { + content: s("chat:scrollToBottom"), + children: l.jsx(Mo, { + appearance: "secondary", + className: "flex-[2]", + onClick: () => { + Gs(), (uo.current = !1) + }, + children: l.jsx("span", { + className: "codicon codicon-chevron-down", + }), + }), + }) + : l.jsxs(l.Fragment, { + children: [ + _t && + !io && + l.jsx(We, { + content: + _t === s("chat:retry.title") + ? s("chat:retry.tooltip") + : _t === s("chat:save.title") + ? s("chat:save.tooltip") + : _t === s("chat:approve.title") + ? s("chat:approve.tooltip") + : _t === s("chat:runCommand.title") + ? s("chat:runCommand.tooltip") + : _t === s("chat:startNewTask.title") + ? s("chat:startNewTask.tooltip") + : _t === s("chat:resumeTask.title") + ? s("chat:resumeTask.tooltip") + : _t === + s( + "chat:proceedAnyways.title", + ) + ? s( + "chat:proceedAnyways.tooltip", + ) + : _t === + s( + "chat:proceedWhileRunning.title", + ) + ? s( + "chat:proceedWhileRunning.tooltip", + ) + : void 0, + children: l.jsx(Mo, { + appearance: "primary", + disabled: !tt, + className: Wn ? "flex-1 mr-[6px]" : "flex-[2] mr-0", + onClick: () => hl(dt, Bt), + children: _t, + }), + }), + (Wn || io) && + l.jsx(We, { + content: io + ? s("chat:cancel.tooltip") + : Wn === s("chat:startNewTask.title") + ? s("chat:startNewTask.tooltip") + : Wn === s("chat:reject.title") + ? s("chat:reject.tooltip") + : Wn === s("chat:terminate.title") + ? s("chat:terminate.tooltip") + : void 0, + children: l.jsx(Mo, { + appearance: "secondary", + disabled: !tt && !(io && !Eo), + className: io ? "flex-[2] ml-0" : "flex-1 ml-[6px]", + onClick: () => Wi(dt, Bt), + children: io ? s("chat:cancel.title") : Wn, + }), + }), + ], + }), + }), + ], + }), + l.jsx(R9t, { + queue: Xe, + onRemove: (ce) => Tt((ve) => ve.filter((it, Nt) => Nt !== ce)), + onUpdate: (ce, ve) => { + Tt((it) => it.map((Nt, kn) => (kn === ce ? { ...Nt, text: ve } : Nt))) + }, + }), + l.jsx(Sdt, { + ref: Ke, + inputValue: dt, + setInputValue: Y, + sendingDisabled: jt || ln, + selectApiConfigDisabled: jt && ge !== "api_req_failed", + placeholderText: ng, + selectedImages: Bt, + setSelectedImages: nn, + onSend: () => rr(dt, Bt), + onSelectImages: h0, + shouldDisableImages: f0, + onHeightChange: () => { + $t && nm() + }, + mode: L, + setMode: W, + modeShortcutText: c, + }), + ln && l.jsx("div", { className: "px-3", children: l.jsx(A9t, {}) }), + l.jsx("div", { id: "roo-portal" }), + ], + }) + }, + M9t = k.forwardRef(I9t), + j9t = ({ taskIds: t, ...e }) => { + const { t: n } = Be(), + { onOpenChange: o } = e, + r = k.useCallback(() => { + t.length > 0 && (re.postMessage({ type: "deleteMultipleTasksWithIds", ids: t }), o == null || o(!1)) + }, [t, o]) + return l.jsx(jc, { + ...e, + children: l.jsxs(Ec, { + className: "max-w-md", + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { children: n("history:deleteTasks") }), + l.jsxs(Dc, { + className: "text-vscode-foreground", + children: [ + l.jsx("div", { + className: "mb-2", + children: n("history:confirmDeleteTasks", { count: t.length }), + }), + l.jsx("div", { + className: + "text-vscode-editor-foreground bg-vscode-editor-background p-2 rounded text-sm", + children: n("history:deleteTasksWarning"), + }), + ], + }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { + asChild: !0, + children: l.jsx(Ee, { variant: "secondary", children: n("history:cancel") }), + }), + l.jsx(Nc, { + asChild: !0, + children: l.jsxs(Ee, { + variant: "destructive", + onClick: r, + children: [ + l.jsx("span", { className: "codicon codicon-trash mr-1" }), + n("history:deleteItems", { count: t.length }), + ], + }), + }), + ], + }), + ], + }), + }) + }, + Kf = ({ className: t, children: e, ...n }) => + l.jsx("div", { className: be("fixed inset-0 flex flex-col", t), ...n, children: e }), + py = ({ className: t, children: e, ...n }) => + l.jsx("div", { className: be("px-5 py-2.5 border-b border-vscode-panel-border", t), ...n, children: e }), + Vf = ({ className: t, children: e, ...n }) => { + const { renderContext: o } = Qn(), + r = k.useCallback( + (i) => { + if (o !== "editor") return + const s = i.target + s.role === "listbox" || s.role === "option" || (i.currentTarget.scrollTop += i.deltaY) + }, + [o], + ) + return l.jsx("div", { className: be("flex-1 overflow-auto p-5", t), onWheel: r, ...n, children: e }) + }, + E9t = k.forwardRef(({ children: t, className: e, value: n, onValueChange: o, ...r }, i) => + l.jsx("div", { + ref: i, + role: "tablist", + className: be("flex", e), + ...r, + children: Ie.Children.map(t, (s) => + Ie.isValidElement(s) + ? Ie.cloneElement(s, { isSelected: s.props.value === n, onSelect: () => o(s.props.value) }) + : s, + ), + }), + ), + z9t = k.forwardRef(({ children: t, className: e, value: n, isSelected: o, onSelect: r, ...i }, s) => + l.jsx("button", { + ref: s, + role: "tab", + "aria-selected": o, + tabIndex: o ? 0 : -1, + className: be("focus:outline-none focus:ring-2 focus:ring-vscode-focusBorder", e), + onClick: r, + ...i, + children: t, + }), + ), + $9t = ({ onDone: t }) => { + const { + tasks: e, + searchQuery: n, + setSearchQuery: o, + sortOption: r, + setSortOption: i, + setLastNonRelevantSort: s, + showAllWorkspaces: a, + setShowAllWorkspaces: c, + } = t$(), + { t: d } = Be(), + [u, m] = k.useState(null), + [f, g] = k.useState(!1), + [b, v] = k.useState([]), + [w, _] = k.useState(!1), + y = () => { + g(!f), f && v([]) + }, + C = (R, T) => { + v(T ? (E) => [...E, R] : (E) => E.filter(($) => $ !== R)) + }, + S = (R) => { + v(R ? e.map((T) => T.id) : []) + }, + P = () => { + b.length > 0 && _(!0) + } + return l.jsxs(Kf, { + children: [ + l.jsxs(py, { + className: "flex flex-col gap-2", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center", + children: [ + l.jsx("h3", { + className: "text-vscode-foreground m-0", + children: d("history:history"), + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(We, { + content: f + ? `${d("history:exitSelectionMode")}` + : `${d("history:enterSelectionMode")}`, + children: l.jsxs(Ee, { + variant: f ? "default" : "secondary", + onClick: y, + "data-testid": "toggle-selection-mode-button", + children: [ + l.jsx("span", { + className: `codicon ${f ? "codicon-check-all" : "codicon-checklist"} mr-1`, + }), + d(f ? "history:exitSelection" : "history:selectionMode"), + ], + }), + }), + l.jsx(Ee, { onClick: t, children: d("history:done") }), + ], + }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsxs(ct, { + className: "w-full", + placeholder: d("history:searchPlaceholder"), + value: n, + "data-testid": "history-search-input", + onInput: (R) => { + var E + const T = (E = R.target) == null ? void 0 : E.value + o(T), T && !n && r !== "mostRelevant" && (s(r), i("mostRelevant")) + }, + children: [ + l.jsx("div", { + slot: "start", + className: "codicon codicon-search mt-0.5 opacity-80 text-sm!", + }), + n && + l.jsx("div", { + className: + "input-icon-button codicon codicon-close flex justify-center items-center h-full", + "aria-label": "Clear search", + onClick: () => o(""), + slot: "end", + }), + ], + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsxs(Qr, { + value: a ? "all" : "current", + onValueChange: (R) => c(R === "all"), + children: [ + l.jsx(Yr, { + className: "flex-1", + children: l.jsxs(Zr, { + children: [ + d("history:workspace.prefix"), + " ", + d(`history:workspace.${a ? "all" : "current"}`), + ], + }), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { + value: "current", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-folder", + }), + d("history:workspace.current"), + ], + }), + }), + l.jsx(qn, { + value: "all", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-folder-opened", + }), + d("history:workspace.all"), + ], + }), + }), + ], + }), + ], + }), + l.jsxs(Qr, { + value: r, + onValueChange: (R) => i(R), + children: [ + l.jsx(Yr, { + className: "flex-1", + children: l.jsxs(Zr, { + children: [ + d("history:sort.prefix"), + " ", + d(`history:sort.${r}`), + ], + }), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { + value: "newest", + "data-testid": "select-newest", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-arrow-down", + }), + d("history:newest"), + ], + }), + }), + l.jsx(qn, { + value: "oldest", + "data-testid": "select-oldest", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-arrow-up", + }), + d("history:oldest"), + ], + }), + }), + l.jsx(qn, { + value: "mostExpensive", + "data-testid": "select-most-expensive", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-credit-card", + }), + d("history:mostExpensive"), + ], + }), + }), + l.jsx(qn, { + value: "mostTokens", + "data-testid": "select-most-tokens", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-symbol-numeric", + }), + d("history:mostTokens"), + ], + }), + }), + l.jsx(qn, { + value: "mostRelevant", + disabled: !n, + "data-testid": "select-most-relevant", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { + className: "codicon codicon-search", + }), + d("history:mostRelevant"), + ], + }), + }), + ], + }), + ], + }), + ], + }), + f && + e.length > 0 && + l.jsx("div", { + className: "flex items-center py-1", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(cz, { + checked: e.length > 0 && b.length === e.length, + onCheckedChange: (R) => S(R === !0), + variant: "description", + }), + l.jsx("span", { + className: "text-vscode-foreground", + children: + b.length === e.length + ? d("history:deselectAll") + : d("history:selectAll"), + }), + l.jsx("span", { + className: "ml-auto text-vscode-descriptionForeground text-xs", + children: d("history:selectedItems", { + selected: b.length, + total: e.length, + }), + }), + ], + }), + }), + ], + }), + ], + }), + l.jsx(Vf, { + className: "p-0", + children: l.jsx(Ntt, { + className: "flex-1 overflow-y-scroll", + data: e, + "data-testid": "virtuoso-container", + initialTopMostItemIndex: 0, + components: { + List: Ie.forwardRef((R, T) => + l.jsx("div", { ...R, ref: T, "data-testid": "virtuoso-item-list" }), + ), + }, + itemContent: (R, T) => + l.jsx( + klt, + { + item: T, + variant: "full", + showWorkspace: a, + isSelectionMode: f, + isSelected: b.includes(T.id), + onToggleSelection: C, + onDelete: m, + className: "m-2 mr-0", + }, + T.id, + ), + }), + }), + f && + b.length > 0 && + l.jsxs("div", { + className: + "fixed bottom-0 left-0 right-0 bg-vscode-editor-background border-t border-vscode-panel-border p-2 flex justify-between items-center", + children: [ + l.jsx("div", { + className: "text-vscode-foreground", + children: d("history:selectedItems", { selected: b.length, total: e.length }), + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(Ee, { + variant: "secondary", + onClick: () => v([]), + children: d("history:clearSelection"), + }), + l.jsx(Ee, { + variant: "default", + onClick: P, + children: d("history:deleteSelected"), + }), + ], + }), + ], + }), + u && l.jsx(jdt, { taskId: u, onOpenChange: (R) => !R && m(null), open: !0 }), + w && + l.jsx(j9t, { + taskIds: b, + open: w, + onOpenChange: (R) => { + R || (_(!1), v([]), g(!1)) + }, + }), + ], + }) + }, + L9t = k.memo($9t), + pl = ({ description: t, children: e, className: n, ...o }) => + l.jsxs("div", { + className: be( + "sticky top-0 z-10 text-vscode-sideBar-foreground bg-vscode-sideBar-background brightness-90 px-5 py-4", + n, + ), + ...o, + children: [ + l.jsx("h4", { className: "m-0", children: e }), + t && l.jsx("p", { className: "text-vscode-descriptionForeground text-sm mt-2 mb-0", children: t }), + ], + }), + D9t = ({ + currentApiConfigName: t = "", + listApiConfigMeta: e = [], + organizationAllowList: n, + onSelectConfig: o, + onDeleteConfig: r, + onRenameConfig: i, + onUpsertConfig: s, + }) => { + const { t: a } = Be(), + [c, d] = k.useState(!1), + [u, m] = k.useState(!1), + [f, g] = k.useState(""), + [b, v] = k.useState(""), + [w, _] = k.useState(null), + y = k.useRef(null), + C = k.useRef(null), + S = (V) => { + if (!n || n.allowAll) return !0 + const X = V.apiProvider + if (!X) return !0 + const H = n.providers[X] + return H ? !!H.allowAll || !!(H.models && H.models.length > 0) : !1 + }, + P = (V, X) => { + const H = V.trim() + if (!H) return a("settings:providers.nameEmpty") + const B = e == null ? void 0 : e.some((M) => M.name.toLowerCase() === H.toLowerCase()) + return (X && B) || (!X && B && H.toLowerCase() !== (t == null ? void 0 : t.toLowerCase())) + ? a("settings:providers.nameExists") + : null + }, + R = () => { + m(!1), v(""), _(null) + }, + T = () => { + d(!1), g(""), _(null) + } + k.useEffect(() => { + if (c) { + const V = setTimeout(() => { + var X + return (X = y.current) == null ? void 0 : X.focus() + }, 0) + return () => clearTimeout(V) + } + }, [c]), + k.useEffect(() => { + if (u) { + const V = setTimeout(() => { + var X + return (X = C.current) == null ? void 0 : X.focus() + }, 0) + return () => clearTimeout(V) + } + }, [u]), + k.useEffect(() => { + R(), T() + }, [t]) + const E = (V) => { + V && o(V) + }, + $ = () => { + R(), m(!0) + }, + j = () => { + d(!0), g(t || ""), _(null) + }, + L = () => { + T() + }, + W = () => { + const V = f.trim(), + X = P(V, !1) + if (X) { + _(X) + return + } + if (c && t) { + if (t === V) { + T() + return + } + i(t, V) + } + T() + }, + G = () => { + const V = b.trim(), + X = P(V, !0) + if (X) { + _(X) + return + } + s(V), R() + }, + U = () => { + !t || !e || e.length <= 1 || r(t) + }, + Z = (e == null ? void 0 : e.length) === 1 + return l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: a("settings:providers.configProfile"), + }), + c + ? l.jsxs("div", { + "data-testid": "rename-form", + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(ct, { + ref: y, + value: f, + onInput: (V) => { + g(V.target.value), _(null) + }, + placeholder: a("settings:providers.enterNewName"), + onKeyDown: ({ key: V }) => { + V === "Enter" && f.trim() ? W() : V === "Escape" && L() + }, + className: "grow", + }), + l.jsx(We, { + content: a("settings:common.save"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + disabled: !f.trim(), + onClick: W, + "data-testid": "save-rename-button", + children: l.jsx("span", { className: "codicon codicon-check" }), + }), + }), + l.jsx(We, { + content: a("settings:common.cancel"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: L, + "data-testid": "cancel-rename-button", + children: l.jsx("span", { className: "codicon codicon-close" }), + }), + }), + ], + }), + w && + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + "data-testid": "error-message", + children: w, + }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(i_, { + value: t, + onValueChange: E, + options: e.map((V) => { + const X = S(V) + return { + value: V.name, + label: V.name, + disabled: !X, + icon: X + ? void 0 + : l.jsx(We, { + content: a("settings:validation.profileInvalid"), + children: l.jsx("span", { + children: l.jsx(vC, { + size: 16, + className: "mr-2 text-vscode-errorForeground", + }), + }), + }), + } + }), + placeholder: a("settings:common.select"), + searchPlaceholder: a("settings:providers.searchPlaceholder"), + emptyMessage: a("settings:providers.noMatchFound"), + className: "grow", + "data-testid": "select-component", + }), + l.jsx(We, { + content: a("settings:providers.addProfile"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: $, + "data-testid": "add-profile-button", + children: l.jsx("span", { className: "codicon codicon-add" }), + }), + }), + t && + l.jsxs(l.Fragment, { + children: [ + l.jsx(We, { + content: a("settings:providers.renameProfile"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: j, + "data-testid": "rename-profile-button", + children: l.jsx("span", { + className: "codicon codicon-edit", + }), + }), + }), + l.jsx(We, { + content: a( + Z + ? "settings:providers.cannotDeleteOnlyProfile" + : "settings:providers.deleteProfile", + ), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: U, + "data-testid": "delete-profile-button", + disabled: Z, + children: l.jsx("span", { + className: "codicon codicon-trash", + }), + }), + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: a("settings:providers.description"), + }), + ], + }), + l.jsx(Rf, { + open: u, + onOpenChange: (V) => { + V ? (m(!0), v(""), _(null)) : R() + }, + "aria-labelledby": "new-profile-title", + children: l.jsxs(Tf, { + className: "p-4 max-w-sm bg-card", + children: [ + l.jsx(If, { children: a("settings:providers.newProfile") }), + l.jsx(ha, { + ref: C, + value: b, + onInput: (V) => { + v(V.target.value), _(null) + }, + placeholder: a("settings:providers.enterProfileName"), + "data-testid": "new-profile-input", + style: { width: "100%" }, + onKeyDown: (V) => { + const X = V + X.key === "Enter" && b.trim() ? G() : X.key === "Escape" && R() + }, + }), + w && + l.jsx("p", { + className: "text-vscode-errorForeground text-sm mt-2", + "data-testid": "error-message", + children: w, + }), + l.jsxs("div", { + className: "flex justify-end gap-2 mt-4", + children: [ + l.jsx(Ee, { + variant: "secondary", + onClick: R, + "data-testid": "cancel-new-profile-button", + children: a("settings:common.cancel"), + }), + l.jsx(Ee, { + variant: "default", + disabled: !b.trim(), + onClick: G, + "data-testid": "create-profile-button", + children: a("settings:providers.createProfile"), + }), + ], + }), + ], + }), + }), + ], + }) + }, + N9t = k.memo(D9t), + kj = (t) => { + const e = {} + for (const [n, o] of t) { + const r = n.trim() + r && (e[r] = o.trim()) + } + return e + } +function O9t(t, e, n) { + const o = Ldt(t) + if (o) return o + const r = j$(t, n) + return r ? r.message : Ndt(t, e) +} +function Ldt(t) { + switch (t.apiProvider) { + case "openrouter": + if (!t.openRouterApiKey) return Gt.t("settings:validation.apiKey") + break + case "glama": + if (!t.glamaApiKey) return Gt.t("settings:validation.apiKey") + break + case "unbound": + if (!t.unboundApiKey) return Gt.t("settings:validation.apiKey") + break + case "requesty": + if (!t.requestyApiKey) return Gt.t("settings:validation.apiKey") + break + case "litellm": + if (!t.litellmApiKey) return Gt.t("settings:validation.apiKey") + break + case "anthropic": + if (!t.apiKey) return Gt.t("settings:validation.apiKey") + break + case "bedrock": + if (!t.awsRegion) return Gt.t("settings:validation.awsRegion") + break + case "vertex": + if (!t.vertexProjectId || !t.vertexRegion) return Gt.t("settings:validation.googleCloud") + break + case "gemini": + if (!t.geminiApiKey) return Gt.t("settings:validation.apiKey") + break + case "openai-native": + if (!t.openAiNativeApiKey) return Gt.t("settings:validation.apiKey") + break + case "mistral": + if (!t.mistralApiKey) return Gt.t("settings:validation.apiKey") + break + case "openai": + if (!t.openAiBaseUrl || !t.openAiApiKey || !t.openAiModelId) return Gt.t("settings:validation.openAi") + break + case "ollama": + if (!t.ollamaModelId) return Gt.t("settings:validation.modelId") + break + case "lmstudio": + if (!t.lmStudioModelId) return Gt.t("settings:validation.modelId") + break + case "vscode-lm": + if (!t.vsCodeLmModelSelector) return Gt.t("settings:validation.modelSelector") + break + case "huggingface": + if (!t.huggingFaceApiKey) return Gt.t("settings:validation.apiKey") + if (!t.huggingFaceModelId) return Gt.t("settings:validation.modelId") + break + case "cerebras": + if (!t.cerebrasApiKey) return Gt.t("settings:validation.apiKey") + break + case "fireworks": + if (!t.fireworksApiKey) return Gt.t("settings:validation.apiKey") + break + } +} +function j$(t, e) { + if (e && !e.allowAll) { + const n = t.apiProvider + if (!n) return + const o = e.providers[n] + if (!o) + return { + message: Gt.t("settings:validation.providerNotAllowed", { provider: n }), + code: "PROVIDER_NOT_ALLOWED", + } + if (!o.allowAll) { + const r = Ddt(t, n), + i = o.models || [] + if (r && !i.includes(r)) + return { + message: Gt.t("settings:validation.modelNotAllowed", { model: r, provider: n }), + code: "MODEL_NOT_ALLOWED", + } + } + } +} +function Ddt(t, e) { + var n + switch (e) { + case "openrouter": + return t.openRouterModelId + case "glama": + return t.glamaModelId + case "unbound": + return t.unboundModelId + case "requesty": + return t.requestyModelId + case "litellm": + return t.litellmModelId + case "openai": + return t.openAiModelId + case "ollama": + return t.ollamaModelId + case "lmstudio": + return t.lmStudioModelId + case "vscode-lm": + return (n = t.vsCodeLmModelSelector) == null ? void 0 : n.id + case "huggingface": + return t.huggingFaceModelId + default: + return t.apiModelId + } +} +function F9t(t, e) { + const n = /^arn:aws:(?:bedrock|sagemaker):([^:]+):([^:]*):(?:([^/]+)\/([\w.\-:]+)|([^/]+))$/, + o = t.match(n) + if (!o) return { isValid: !1, arnRegion: void 0, errorMessage: Gt.t("settings:validation.arn.invalidFormat") } + const r = o[1] + return e && r !== e + ? { + isValid: !0, + arnRegion: r, + errorMessage: Gt.t("settings:validation.arn.regionMismatch", { arnRegion: r, region: e }), + } + : { isValid: !0, arnRegion: r, errorMessage: void 0 } +} +function Ndt(t, e) { + const n = t.apiProvider ?? "" + if (!v9t(n)) return + let o + switch (n) { + case "openrouter": + o = t.openRouterModelId + break + case "glama": + o = t.glamaModelId + break + case "unbound": + o = t.unboundModelId + break + case "requesty": + o = t.requestyModelId + break + case "ollama": + o = t.ollamaModelId + break + case "lmstudio": + o = t.lmStudioModelId + break + case "litellm": + o = t.litellmModelId + break + } + if (!o) return Gt.t("settings:validation.modelId") + const r = e == null ? void 0 : e[n] + if (r && Object.keys(r).length > 1 && !Object.keys(r).includes(o)) + return Gt.t("settings:validation.modelAvailability", { modelId: o }) +} +function B9t(t, e, n) { + const o = Ddt(t, t.apiProvider || ""), + r = { ...t, apiModelId: o || "" }, + i = j$(r, n) + return i && i.code === "MODEL_NOT_ALLOWED" ? i.message : Ndt(r, e) +} +function U9t(t, e, n) { + const o = Ldt(t) + if (o) return o + const r = j$(t, n) + if (r && r.code === "PROVIDER_NOT_ALLOWED") return r.message +} +const q9t = (t, e) => + !e || e.allowAll + ? t + : t.filter((n) => { + const o = e.providers[n.value] + return o ? o.allowAll || (o.models && o.models.length > 0) : !1 + }), + Odt = (t, e, n) => { + if (!t || !n || n.allowAll) return t + if (!e) return {} + const o = n.providers[e] + if (!o) return {} + if (o.allowAll) return t + const r = o.models || [], + i = {} + for (const s of r) t[s] && (i[s] = t[s]) + return i + } +var Ts = {}, + Fdt = { exports: {} }, + Yg = {} +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ var Uq +function W9t() { + if (Uq) return Yg + Uq = 1 + var t = Ie, + e = Symbol.for("react.element"), + n = Symbol.for("react.fragment"), + o = Object.prototype.hasOwnProperty, + r = t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, + i = { key: !0, ref: !0, __self: !0, __source: !0 } + function s(a, c, d) { + var u, + m = {}, + f = null, + g = null + d !== void 0 && (f = "" + d), c.key !== void 0 && (f = "" + c.key), c.ref !== void 0 && (g = c.ref) + for (u in c) o.call(c, u) && !i.hasOwnProperty(u) && (m[u] = c[u]) + if (a && a.defaultProps) for (u in ((c = a.defaultProps), c)) m[u] === void 0 && (m[u] = c[u]) + return { $$typeof: e, type: a, key: f, ref: g, props: m, _owner: r.current } + } + return (Yg.Fragment = n), (Yg.jsx = s), (Yg.jsxs = s), Yg +} +Fdt.exports = W9t() +var Za = Fdt.exports, + as = function () { + return ( + (as = + Object.assign || + function (t) { + for (var e, n = 1, o = arguments.length; n < o; n++) { + e = arguments[n] + for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]) + } + return t + }), + as.apply(this, arguments) + ) + } +function M_(t, e, n) { + if (n || arguments.length === 2) + for (var o = 0, r = e.length, i; o < r; o++) + (i || !(o in e)) && (i || (i = Array.prototype.slice.call(e, 0, o)), (i[o] = e[o])) + return t.concat(i || Array.prototype.slice.call(e)) +} +var So = "-ms-", + zv = "-moz-", + Jn = "-webkit-", + Bdt = "comm", + t0 = "rule", + E$ = "decl", + K9t = "@import", + Udt = "@keyframes", + V9t = "@layer", + qdt = Math.abs, + z$ = String.fromCharCode, + xj = Object.assign +function H9t(t, e) { + return $r(t, 0) ^ 45 ? (((((((e << 2) ^ $r(t, 0)) << 2) ^ $r(t, 1)) << 2) ^ $r(t, 2)) << 2) ^ $r(t, 3) : 0 +} +function Wdt(t) { + return t.trim() +} +function fc(t, e) { + return (t = e.exec(t)) ? t[0] : t +} +function yn(t, e, n) { + return t.replace(e, n) +} +function Yx(t, e, n) { + return t.indexOf(e, n) +} +function $r(t, e) { + return t.charCodeAt(e) | 0 +} +function lf(t, e, n) { + return t.slice(e, n) +} +function El(t) { + return t.length +} +function Kdt(t) { + return t.length +} +function hv(t, e) { + return e.push(t), t +} +function G9t(t, e) { + return t.map(e).join("") +} +function qq(t, e) { + return t.filter(function (n) { + return !fc(n, e) + }) +} +var n0 = 1, + cf = 1, + Vdt = 0, + va = 0, + ur = 0, + Hf = "" +function o0(t, e, n, o, r, i, s, a) { + return { + value: t, + root: e, + parent: n, + type: o, + props: r, + children: i, + line: n0, + column: cf, + length: s, + return: "", + siblings: a, + } +} +function Sd(t, e) { + return xj(o0("", null, null, "", null, null, 0, t.siblings), t, { length: -t.length }, e) +} +function Lm(t) { + for (; t.root; ) t = Sd(t.root, { children: [t] }) + hv(t, t.siblings) +} +function Q9t() { + return ur +} +function Z9t() { + return (ur = va > 0 ? $r(Hf, --va) : 0), cf--, ur === 10 && ((cf = 1), n0--), ur +} +function Ja() { + return (ur = va < Vdt ? $r(Hf, va++) : 0), cf++, ur === 10 && ((cf = 1), n0++), ur +} +function Ap() { + return $r(Hf, va) +} +function Xx() { + return va +} +function r0(t, e) { + return lf(Hf, t, e) +} +function wj(t) { + switch (t) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5 + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4 + case 58: + return 3 + case 34: + case 39: + case 40: + case 91: + return 2 + case 41: + case 93: + return 1 + } + return 0 +} +function Y9t(t) { + return (n0 = cf = 1), (Vdt = El((Hf = t))), (va = 0), [] +} +function X9t(t) { + return (Hf = ""), t +} +function KP(t) { + return Wdt(r0(va - 1, _j(t === 91 ? t + 2 : t === 40 ? t + 1 : t))) +} +function J9t(t) { + for (; (ur = Ap()) && ur < 33; ) Ja() + return wj(t) > 2 || wj(ur) > 3 ? "" : " " +} +function e7t(t, e) { + for (; --e && Ja() && !(ur < 48 || ur > 102 || (ur > 57 && ur < 65) || (ur > 70 && ur < 97)); ); + return r0(t, Xx() + (e < 6 && Ap() == 32 && Ja() == 32)) +} +function _j(t) { + for (; Ja(); ) + switch (ur) { + case t: + return va + case 34: + case 39: + t !== 34 && t !== 39 && _j(ur) + break + case 40: + t === 41 && _j(t) + break + case 92: + Ja() + break + } + return va +} +function t7t(t, e) { + for (; Ja() && t + ur !== 57 && !(t + ur === 84 && Ap() === 47); ); + return "/*" + r0(e, va - 1) + "*" + z$(t === 47 ? t : Ja()) +} +function n7t(t) { + for (; !wj(Ap()); ) Ja() + return r0(t, va) +} +function o7t(t) { + return X9t(Jx("", null, null, null, [""], (t = Y9t(t)), 0, [0], t)) +} +function Jx(t, e, n, o, r, i, s, a, c) { + for ( + var d = 0, u = 0, m = s, f = 0, g = 0, b = 0, v = 1, w = 1, _ = 1, y = 0, C = "", S = r, P = i, R = o, T = C; + w; + + ) + switch (((b = y), (y = Ja()))) { + case 40: + if (b != 108 && $r(T, m - 1) == 58) { + Yx((T += yn(KP(y), "&", "&\f")), "&\f", qdt(d ? a[d - 1] : 0)) != -1 && (_ = -1) + break + } + case 34: + case 39: + case 91: + T += KP(y) + break + case 9: + case 10: + case 13: + case 32: + T += J9t(b) + break + case 92: + T += e7t(Xx() - 1, 7) + continue + case 47: + switch (Ap()) { + case 42: + case 47: + hv(r7t(t7t(Ja(), Xx()), e, n, c), c) + break + default: + T += "/" + } + break + case 123 * v: + a[d++] = El(T) * _ + case 125 * v: + case 59: + case 0: + switch (y) { + case 0: + case 125: + w = 0 + case 59 + u: + _ == -1 && (T = yn(T, /\f/g, "")), + g > 0 && + El(T) - m && + hv(g > 32 ? Kq(T + ";", o, n, m - 1, c) : Kq(yn(T, " ", "") + ";", o, n, m - 2, c), c) + break + case 59: + T += ";" + default: + if ((hv((R = Wq(T, e, n, d, u, r, a, C, (S = []), (P = []), m, i)), i), y === 123)) + if (u === 0) Jx(T, e, R, R, S, i, m, a, P) + else + switch (f === 99 && $r(T, 3) === 110 ? 100 : f) { + case 100: + case 108: + case 109: + case 115: + Jx( + t, + R, + R, + o && hv(Wq(t, R, R, 0, 0, r, a, C, r, (S = []), m, P), P), + r, + P, + m, + a, + o ? S : P, + ) + break + default: + Jx(T, R, R, R, [""], P, 0, a, P) + } + } + ;(d = u = g = 0), (v = _ = 1), (C = T = ""), (m = s) + break + case 58: + ;(m = 1 + El(T)), (g = b) + default: + if (v < 1) { + if (y == 123) --v + else if (y == 125 && v++ == 0 && Z9t() == 125) continue + } + switch (((T += z$(y)), y * v)) { + case 38: + _ = u > 0 ? 1 : ((T += "\f"), -1) + break + case 44: + ;(a[d++] = (El(T) - 1) * _), (_ = 1) + break + case 64: + Ap() === 45 && (T += KP(Ja())), (f = Ap()), (u = m = El((C = T += n7t(Xx())))), y++ + break + case 45: + b === 45 && El(T) == 2 && (v = 0) + } + } + return i +} +function Wq(t, e, n, o, r, i, s, a, c, d, u, m) { + for (var f = r - 1, g = r === 0 ? i : [""], b = Kdt(g), v = 0, w = 0, _ = 0; v < o; ++v) + for (var y = 0, C = lf(t, f + 1, (f = qdt((w = s[v])))), S = t; y < b; ++y) + (S = Wdt(w > 0 ? g[y] + " " + C : yn(C, /&\f/g, g[y]))) && (c[_++] = S) + return o0(t, e, n, r === 0 ? t0 : a, c, d, u, m) +} +function r7t(t, e, n, o) { + return o0(t, e, n, Bdt, z$(Q9t()), lf(t, 2, -2), 0, o) +} +function Kq(t, e, n, o, r) { + return o0(t, e, n, E$, lf(t, 0, o), lf(t, o + 1, -1), o, r) +} +function Hdt(t, e, n) { + switch (H9t(t, e)) { + case 5103: + return Jn + "print-" + t + t + case 5737: + case 4201: + case 3177: + case 3433: + case 1641: + case 4457: + case 2921: + case 5572: + case 6356: + case 5844: + case 3191: + case 6645: + case 3005: + case 6391: + case 5879: + case 5623: + case 6135: + case 4599: + case 4855: + case 4215: + case 6389: + case 5109: + case 5365: + case 5621: + case 3829: + return Jn + t + t + case 4789: + return zv + t + t + case 5349: + case 4246: + case 4810: + case 6968: + case 2756: + return Jn + t + zv + t + So + t + t + case 5936: + switch ($r(t, e + 11)) { + case 114: + return Jn + t + So + yn(t, /[svh]\w+-[tblr]{2}/, "tb") + t + case 108: + return Jn + t + So + yn(t, /[svh]\w+-[tblr]{2}/, "tb-rl") + t + case 45: + return Jn + t + So + yn(t, /[svh]\w+-[tblr]{2}/, "lr") + t + } + case 6828: + case 4268: + case 2903: + return Jn + t + So + t + t + case 6165: + return Jn + t + So + "flex-" + t + t + case 5187: + return Jn + t + yn(t, /(\w+).+(:[^]+)/, Jn + "box-$1$2" + So + "flex-$1$2") + t + case 5443: + return ( + Jn + + t + + So + + "flex-item-" + + yn(t, /flex-|-self/g, "") + + (fc(t, /flex-|baseline/) ? "" : So + "grid-row-" + yn(t, /flex-|-self/g, "")) + + t + ) + case 4675: + return Jn + t + So + "flex-line-pack" + yn(t, /align-content|flex-|-self/g, "") + t + case 5548: + return Jn + t + So + yn(t, "shrink", "negative") + t + case 5292: + return Jn + t + So + yn(t, "basis", "preferred-size") + t + case 6060: + return Jn + "box-" + yn(t, "-grow", "") + Jn + t + So + yn(t, "grow", "positive") + t + case 4554: + return Jn + yn(t, /([^-])(transform)/g, "$1" + Jn + "$2") + t + case 6187: + return yn(yn(yn(t, /(zoom-|grab)/, Jn + "$1"), /(image-set)/, Jn + "$1"), t, "") + t + case 5495: + case 3959: + return yn(t, /(image-set\([^]*)/, Jn + "$1$`$1") + case 4968: + return ( + yn(yn(t, /(.+:)(flex-)?(.*)/, Jn + "box-pack:$3" + So + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + + Jn + + t + + t + ) + case 4200: + if (!fc(t, /flex-|baseline/)) return So + "grid-column-align" + lf(t, e) + t + break + case 2592: + case 3360: + return So + yn(t, "template-", "") + t + case 4384: + case 3616: + return n && + n.some(function (o, r) { + return (e = r), fc(o.props, /grid-\w+-end/) + }) + ? ~Yx(t + (n = n[e].value), "span", 0) + ? t + : So + + yn(t, "-start", "") + + t + + So + + "grid-row-span:" + + (~Yx(n, "span", 0) ? fc(n, /\d+/) : +fc(n, /\d+/) - +fc(t, /\d+/)) + + ";" + : So + yn(t, "-start", "") + t + case 4896: + case 4128: + return n && + n.some(function (o) { + return fc(o.props, /grid-\w+-start/) + }) + ? t + : So + yn(yn(t, "-end", "-span"), "span ", "") + t + case 4095: + case 3583: + case 4068: + case 2532: + return yn(t, /(.+)-inline(.+)/, Jn + "$1$2") + t + case 8116: + case 7059: + case 5753: + case 5535: + case 5445: + case 5701: + case 4933: + case 4677: + case 5533: + case 5789: + case 5021: + case 4765: + if (El(t) - 1 - e > 6) + switch ($r(t, e + 1)) { + case 109: + if ($r(t, e + 4) !== 45) break + case 102: + return ( + yn( + t, + /(.+:)(.+)-([^]+)/, + "$1" + Jn + "$2-$3$1" + zv + ($r(t, e + 3) == 108 ? "$3" : "$2-$3"), + ) + t + ) + case 115: + return ~Yx(t, "stretch", 0) ? Hdt(yn(t, "stretch", "fill-available"), e, n) + t : t + } + break + case 5152: + case 5920: + return yn(t, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function (o, r, i, s, a, c, d) { + return So + r + ":" + i + d + (s ? So + r + "-span:" + (a ? c : +c - +i) + d : "") + t + }) + case 4949: + if ($r(t, e + 6) === 121) return yn(t, ":", ":" + Jn) + t + break + case 6444: + switch ($r(t, $r(t, 14) === 45 ? 18 : 11)) { + case 120: + return ( + yn( + t, + /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, + "$1" + + Jn + + ($r(t, 14) === 45 ? "inline-" : "") + + "box$3$1" + + Jn + + "$2$3$1" + + So + + "$2box$3", + ) + t + ) + case 100: + return yn(t, ":", ":" + So) + t + } + break + case 5719: + case 2647: + case 2135: + case 3927: + case 2391: + return yn(t, "scroll-", "scroll-snap-") + t + } + return t +} +function j_(t, e) { + for (var n = "", o = 0; o < t.length; o++) n += e(t[o], o, t, e) || "" + return n +} +function i7t(t, e, n, o) { + switch (t.type) { + case V9t: + if (t.children.length) break + case K9t: + case E$: + return (t.return = t.return || t.value) + case Bdt: + return "" + case Udt: + return (t.return = t.value + "{" + j_(t.children, o) + "}") + case t0: + if (!El((t.value = t.props.join(",")))) return "" + } + return El((n = j_(t.children, o))) ? (t.return = t.value + "{" + n + "}") : "" +} +function s7t(t) { + var e = Kdt(t) + return function (n, o, r, i) { + for (var s = "", a = 0; a < e; a++) s += t[a](n, o, r, i) || "" + return s + } +} +function a7t(t) { + return function (e) { + e.root || ((e = e.return) && t(e)) + } +} +function l7t(t, e, n, o) { + if (t.length > -1 && !t.return) + switch (t.type) { + case E$: + t.return = Hdt(t.value, t.length, n) + return + case Udt: + return j_([Sd(t, { value: yn(t.value, "@", "@" + Jn) })], o) + case t0: + if (t.length) + return G9t((n = t.props), function (r) { + switch (fc(r, (o = /(::plac\w+|:read-\w+)/))) { + case ":read-only": + case ":read-write": + Lm(Sd(t, { props: [yn(r, /:(read-\w+)/, ":" + zv + "$1")] })), + Lm(Sd(t, { props: [r] })), + xj(t, { props: qq(n, o) }) + break + case "::placeholder": + Lm(Sd(t, { props: [yn(r, /:(plac\w+)/, ":" + Jn + "input-$1")] })), + Lm(Sd(t, { props: [yn(r, /:(plac\w+)/, ":" + zv + "$1")] })), + Lm(Sd(t, { props: [yn(r, /:(plac\w+)/, So + "input-$1")] })), + Lm(Sd(t, { props: [r] })), + xj(t, { props: qq(n, o) }) + break + } + return "" + }) + } +} +var c7t = { + animationIterationCount: 1, + aspectRatio: 1, + borderImageOutset: 1, + borderImageSlice: 1, + borderImageWidth: 1, + boxFlex: 1, + boxFlexGroup: 1, + boxOrdinalGroup: 1, + columnCount: 1, + columns: 1, + flex: 1, + flexGrow: 1, + flexPositive: 1, + flexShrink: 1, + flexNegative: 1, + flexOrder: 1, + gridRow: 1, + gridRowEnd: 1, + gridRowSpan: 1, + gridRowStart: 1, + gridColumn: 1, + gridColumnEnd: 1, + gridColumnSpan: 1, + gridColumnStart: 1, + msGridRow: 1, + msGridRowSpan: 1, + msGridColumn: 1, + msGridColumnSpan: 1, + fontWeight: 1, + lineHeight: 1, + opacity: 1, + order: 1, + orphans: 1, + tabSize: 1, + widows: 1, + zIndex: 1, + zoom: 1, + WebkitLineClamp: 1, + fillOpacity: 1, + floodOpacity: 1, + stopOpacity: 1, + strokeDasharray: 1, + strokeDashoffset: 1, + strokeMiterlimit: 1, + strokeOpacity: 1, + strokeWidth: 1, + }, + df = (typeof process < "u" && Ts !== void 0 && (Ts.REACT_APP_SC_ATTR || Ts.SC_ATTR)) || "data-styled", + Gdt = "active", + Qdt = "data-styled-version", + i0 = "6.1.13", + $$ = `/*!sc*/ +`, + E_ = typeof window < "u" && "HTMLElement" in window, + d7t = !!(typeof SC_DISABLE_SPEEDY == "boolean" + ? SC_DISABLE_SPEEDY + : typeof process < "u" && + Ts !== void 0 && + Ts.REACT_APP_SC_DISABLE_SPEEDY !== void 0 && + Ts.REACT_APP_SC_DISABLE_SPEEDY !== "" + ? Ts.REACT_APP_SC_DISABLE_SPEEDY !== "false" && Ts.REACT_APP_SC_DISABLE_SPEEDY + : typeof process < "u" && + Ts !== void 0 && + Ts.SC_DISABLE_SPEEDY !== void 0 && + Ts.SC_DISABLE_SPEEDY !== "" && + Ts.SC_DISABLE_SPEEDY !== "false" && + Ts.SC_DISABLE_SPEEDY), + s0 = Object.freeze([]), + uf = Object.freeze({}) +function u7t(t, e, n) { + return n === void 0 && (n = uf), (t.theme !== n.theme && t.theme) || e || n.theme +} +var Zdt = new Set([ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "big", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "keygen", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "menu", + "menuitem", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rp", + "rt", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "textarea", + "tfoot", + "th", + "thead", + "time", + "tr", + "track", + "u", + "ul", + "use", + "var", + "video", + "wbr", + "circle", + "clipPath", + "defs", + "ellipse", + "foreignObject", + "g", + "image", + "line", + "linearGradient", + "marker", + "mask", + "path", + "pattern", + "polygon", + "polyline", + "radialGradient", + "rect", + "stop", + "svg", + "text", + "tspan", + ]), + p7t = /[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g, + m7t = /(^-|-$)/g +function Vq(t) { + return t.replace(p7t, "-").replace(m7t, "") +} +var h7t = /(a)(d)/gi, + lx = 52, + Hq = function (t) { + return String.fromCharCode(t + (t > 25 ? 39 : 97)) + } +function Cj(t) { + var e, + n = "" + for (e = Math.abs(t); e > lx; e = (e / lx) | 0) n = Hq(e % lx) + n + return (Hq(e % lx) + n).replace(h7t, "$1-$2") +} +var VP, + Ydt = 5381, + rh = function (t, e) { + for (var n = e.length; n; ) t = (33 * t) ^ e.charCodeAt(--n) + return t + }, + Xdt = function (t) { + return rh(Ydt, t) + } +function f7t(t) { + return Cj(Xdt(t) >>> 0) +} +function g7t(t) { + return t.displayName || t.name || "Component" +} +function HP(t) { + return typeof t == "string" && !0 +} +var Jdt = typeof Symbol == "function" && Symbol.for, + eut = Jdt ? Symbol.for("react.memo") : 60115, + v7t = Jdt ? Symbol.for("react.forward_ref") : 60112, + b7t = { + childContextTypes: !0, + contextType: !0, + contextTypes: !0, + defaultProps: !0, + displayName: !0, + getDefaultProps: !0, + getDerivedStateFromError: !0, + getDerivedStateFromProps: !0, + mixins: !0, + propTypes: !0, + type: !0, + }, + y7t = { name: !0, length: !0, prototype: !0, caller: !0, callee: !0, arguments: !0, arity: !0 }, + tut = { $$typeof: !0, compare: !0, defaultProps: !0, displayName: !0, propTypes: !0, type: !0 }, + k7t = + (((VP = {})[v7t] = { $$typeof: !0, render: !0, defaultProps: !0, displayName: !0, propTypes: !0 }), + (VP[eut] = tut), + VP) +function Gq(t) { + return ("type" in (e = t) && e.type.$$typeof) === eut ? tut : "$$typeof" in t ? k7t[t.$$typeof] : b7t + var e +} +var x7t = Object.defineProperty, + w7t = Object.getOwnPropertyNames, + Qq = Object.getOwnPropertySymbols, + _7t = Object.getOwnPropertyDescriptor, + C7t = Object.getPrototypeOf, + Zq = Object.prototype +function nut(t, e, n) { + if (typeof e != "string") { + if (Zq) { + var o = C7t(e) + o && o !== Zq && nut(t, o, n) + } + var r = w7t(e) + Qq && (r = r.concat(Qq(e))) + for (var i = Gq(t), s = Gq(e), a = 0; a < r.length; ++a) { + var c = r[a] + if (!(c in y7t || (n && n[c]) || (s && c in s) || (i && c in i))) { + var d = _7t(e, c) + try { + x7t(t, c, d) + } catch {} + } + } + } + return t +} +function pf(t) { + return typeof t == "function" +} +function L$(t) { + return typeof t == "object" && "styledComponentId" in t +} +function dp(t, e) { + return t && e ? "".concat(t, " ").concat(e) : t || e || "" +} +function Yq(t, e) { + if (t.length === 0) return "" + for (var n = t[0], o = 1; o < t.length; o++) n += t[o] + return n +} +function Sb(t) { + return t !== null && typeof t == "object" && t.constructor.name === Object.name && !("props" in t && t.$$typeof) +} +function Sj(t, e, n) { + if ((n === void 0 && (n = !1), !n && !Sb(t) && !Array.isArray(t))) return e + if (Array.isArray(e)) for (var o = 0; o < e.length; o++) t[o] = Sj(t[o], e[o]) + else if (Sb(e)) for (var o in e) t[o] = Sj(t[o], e[o]) + return t +} +function D$(t, e) { + Object.defineProperty(t, "toString", { value: e }) +} +function my(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] + return new Error( + "An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#" + .concat(t, " for more information.") + .concat(e.length > 0 ? " Args: ".concat(e.join(", ")) : ""), + ) +} +var S7t = (function () { + function t(e) { + ;(this.groupSizes = new Uint32Array(512)), (this.length = 512), (this.tag = e) + } + return ( + (t.prototype.indexOfGroup = function (e) { + for (var n = 0, o = 0; o < e; o++) n += this.groupSizes[o] + return n + }), + (t.prototype.insertRules = function (e, n) { + if (e >= this.groupSizes.length) { + for (var o = this.groupSizes, r = o.length, i = r; e >= i; ) + if ((i <<= 1) < 0) throw my(16, "".concat(e)) + ;(this.groupSizes = new Uint32Array(i)), this.groupSizes.set(o), (this.length = i) + for (var s = r; s < i; s++) this.groupSizes[s] = 0 + } + for (var a = this.indexOfGroup(e + 1), c = ((s = 0), n.length); s < c; s++) + this.tag.insertRule(a, n[s]) && (this.groupSizes[e]++, a++) + }), + (t.prototype.clearGroup = function (e) { + if (e < this.length) { + var n = this.groupSizes[e], + o = this.indexOfGroup(e), + r = o + n + this.groupSizes[e] = 0 + for (var i = o; i < r; i++) this.tag.deleteRule(o) + } + }), + (t.prototype.getGroup = function (e) { + var n = "" + if (e >= this.length || this.groupSizes[e] === 0) return n + for (var o = this.groupSizes[e], r = this.indexOfGroup(e), i = r + o, s = r; s < i; s++) + n += "".concat(this.tag.getRule(s)).concat($$) + return n + }), + t + ) + })(), + ew = new Map(), + z_ = new Map(), + tw = 1, + cx = function (t) { + if (ew.has(t)) return ew.get(t) + for (; z_.has(tw); ) tw++ + var e = tw++ + return ew.set(t, e), z_.set(e, t), e + }, + A7t = function (t, e) { + ;(tw = e + 1), ew.set(t, e), z_.set(e, t) + }, + P7t = "style[".concat(df, "][").concat(Qdt, '="').concat(i0, '"]'), + R7t = new RegExp("^".concat(df, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')), + T7t = function (t, e, n) { + for (var o, r = n.split(","), i = 0, s = r.length; i < s; i++) (o = r[i]) && t.registerName(e, o) + }, + I7t = function (t, e) { + for ( + var n, o = ((n = e.textContent) !== null && n !== void 0 ? n : "").split($$), r = [], i = 0, s = o.length; + i < s; + i++ + ) { + var a = o[i].trim() + if (a) { + var c = a.match(R7t) + if (c) { + var d = 0 | parseInt(c[1], 10), + u = c[2] + d !== 0 && (A7t(u, d), T7t(t, u, c[3]), t.getTag().insertRules(d, r)), (r.length = 0) + } else r.push(a) + } + } + }, + Xq = function (t) { + for (var e = document.querySelectorAll(P7t), n = 0, o = e.length; n < o; n++) { + var r = e[n] + r && r.getAttribute(df) !== Gdt && (I7t(t, r), r.parentNode && r.parentNode.removeChild(r)) + } + } +function M7t() { + return typeof __webpack_nonce__ < "u" ? __webpack_nonce__ : null +} +var out = function (t) { + var e = document.head, + n = t || e, + o = document.createElement("style"), + r = (function (a) { + var c = Array.from(a.querySelectorAll("style[".concat(df, "]"))) + return c[c.length - 1] + })(n), + i = r !== void 0 ? r.nextSibling : null + o.setAttribute(df, Gdt), o.setAttribute(Qdt, i0) + var s = M7t() + return s && o.setAttribute("nonce", s), n.insertBefore(o, i), o + }, + j7t = (function () { + function t(e) { + ;(this.element = out(e)), + this.element.appendChild(document.createTextNode("")), + (this.sheet = (function (n) { + if (n.sheet) return n.sheet + for (var o = document.styleSheets, r = 0, i = o.length; r < i; r++) { + var s = o[r] + if (s.ownerNode === n) return s + } + throw my(17) + })(this.element)), + (this.length = 0) + } + return ( + (t.prototype.insertRule = function (e, n) { + try { + return this.sheet.insertRule(n, e), this.length++, !0 + } catch { + return !1 + } + }), + (t.prototype.deleteRule = function (e) { + this.sheet.deleteRule(e), this.length-- + }), + (t.prototype.getRule = function (e) { + var n = this.sheet.cssRules[e] + return n && n.cssText ? n.cssText : "" + }), + t + ) + })(), + E7t = (function () { + function t(e) { + ;(this.element = out(e)), (this.nodes = this.element.childNodes), (this.length = 0) + } + return ( + (t.prototype.insertRule = function (e, n) { + if (e <= this.length && e >= 0) { + var o = document.createTextNode(n) + return this.element.insertBefore(o, this.nodes[e] || null), this.length++, !0 + } + return !1 + }), + (t.prototype.deleteRule = function (e) { + this.element.removeChild(this.nodes[e]), this.length-- + }), + (t.prototype.getRule = function (e) { + return e < this.length ? this.nodes[e].textContent : "" + }), + t + ) + })(), + z7t = (function () { + function t(e) { + ;(this.rules = []), (this.length = 0) + } + return ( + (t.prototype.insertRule = function (e, n) { + return e <= this.length && (this.rules.splice(e, 0, n), this.length++, !0) + }), + (t.prototype.deleteRule = function (e) { + this.rules.splice(e, 1), this.length-- + }), + (t.prototype.getRule = function (e) { + return e < this.length ? this.rules[e] : "" + }), + t + ) + })(), + Jq = E_, + $7t = { isServer: !E_, useCSSOMInjection: !d7t }, + rut = (function () { + function t(e, n, o) { + e === void 0 && (e = uf), n === void 0 && (n = {}) + var r = this + ;(this.options = as(as({}, $7t), e)), + (this.gs = n), + (this.names = new Map(o)), + (this.server = !!e.isServer), + !this.server && E_ && Jq && ((Jq = !1), Xq(this)), + D$(this, function () { + return (function (i) { + for ( + var s = i.getTag(), + a = s.length, + c = "", + d = function (m) { + var f = (function (_) { + return z_.get(_) + })(m) + if (f === void 0) return "continue" + var g = i.names.get(f), + b = s.getGroup(m) + if (g === void 0 || !g.size || b.length === 0) return "continue" + var v = "".concat(df, ".g").concat(m, '[id="').concat(f, '"]'), + w = "" + g !== void 0 && + g.forEach(function (_) { + _.length > 0 && (w += "".concat(_, ",")) + }), + (c += "".concat(b).concat(v, '{content:"').concat(w, '"}').concat($$)) + }, + u = 0; + u < a; + u++ + ) + d(u) + return c + })(r) + }) + } + return ( + (t.registerId = function (e) { + return cx(e) + }), + (t.prototype.rehydrate = function () { + !this.server && E_ && Xq(this) + }), + (t.prototype.reconstructWithOptions = function (e, n) { + return ( + n === void 0 && (n = !0), new t(as(as({}, this.options), e), this.gs, (n && this.names) || void 0) + ) + }), + (t.prototype.allocateGSInstance = function (e) { + return (this.gs[e] = (this.gs[e] || 0) + 1) + }), + (t.prototype.getTag = function () { + return ( + this.tag || + (this.tag = + ((e = (function (n) { + var o = n.useCSSOMInjection, + r = n.target + return n.isServer ? new z7t(r) : o ? new j7t(r) : new E7t(r) + })(this.options)), + new S7t(e))) + ) + var e + }), + (t.prototype.hasNameForId = function (e, n) { + return this.names.has(e) && this.names.get(e).has(n) + }), + (t.prototype.registerName = function (e, n) { + if ((cx(e), this.names.has(e))) this.names.get(e).add(n) + else { + var o = new Set() + o.add(n), this.names.set(e, o) + } + }), + (t.prototype.insertRules = function (e, n, o) { + this.registerName(e, n), this.getTag().insertRules(cx(e), o) + }), + (t.prototype.clearNames = function (e) { + this.names.has(e) && this.names.get(e).clear() + }), + (t.prototype.clearRules = function (e) { + this.getTag().clearGroup(cx(e)), this.clearNames(e) + }), + (t.prototype.clearTag = function () { + this.tag = void 0 + }), + t + ) + })(), + L7t = /&/g, + D7t = /^\s*\/\/.*$/gm +function iut(t, e) { + return t.map(function (n) { + return ( + n.type === "rule" && + ((n.value = "".concat(e, " ").concat(n.value)), + (n.value = n.value.replaceAll(",", ",".concat(e, " "))), + (n.props = n.props.map(function (o) { + return "".concat(e, " ").concat(o) + }))), + Array.isArray(n.children) && n.type !== "@keyframes" && (n.children = iut(n.children, e)), + n + ) + }) +} +function N7t(t) { + var e, + n, + o, + r = uf, + i = r.options, + s = i === void 0 ? uf : i, + a = r.plugins, + c = a === void 0 ? s0 : a, + d = function (f, g, b) { + return b.startsWith(n) && b.endsWith(n) && b.replaceAll(n, "").length > 0 ? ".".concat(e) : f + }, + u = c.slice() + u.push(function (f) { + f.type === t0 && f.value.includes("&") && (f.props[0] = f.props[0].replace(L7t, n).replace(o, d)) + }), + s.prefix && u.push(l7t), + u.push(i7t) + var m = function (f, g, b, v) { + g === void 0 && (g = ""), + b === void 0 && (b = ""), + v === void 0 && (v = "&"), + (e = v), + (n = g), + (o = new RegExp("\\".concat(n, "\\b"), "g")) + var w = f.replace(D7t, ""), + _ = o7t(b || g ? "".concat(b, " ").concat(g, " { ").concat(w, " }") : w) + s.namespace && (_ = iut(_, s.namespace)) + var y = [] + return ( + j_( + _, + s7t( + u.concat( + a7t(function (C) { + return y.push(C) + }), + ), + ), + ), + y + ) + } + return ( + (m.hash = c.length + ? c + .reduce(function (f, g) { + return g.name || my(15), rh(f, g.name) + }, Ydt) + .toString() + : ""), + m + ) +} +var O7t = new rut(), + Aj = N7t(), + sut = Ie.createContext({ shouldForwardProp: void 0, styleSheet: O7t, stylis: Aj }) +sut.Consumer +Ie.createContext(void 0) +function e3() { + return k.useContext(sut) +} +var F7t = (function () { + function t(e, n) { + var o = this + ;(this.inject = function (r, i) { + i === void 0 && (i = Aj) + var s = o.name + i.hash + r.hasNameForId(o.id, s) || r.insertRules(o.id, s, i(o.rules, s, "@keyframes")) + }), + (this.name = e), + (this.id = "sc-keyframes-".concat(e)), + (this.rules = n), + D$(this, function () { + throw my(12, String(o.name)) + }) + } + return ( + (t.prototype.getName = function (e) { + return e === void 0 && (e = Aj), this.name + e.hash + }), + t + ) + })(), + B7t = function (t) { + return t >= "A" && t <= "Z" + } +function t3(t) { + for (var e = "", n = 0; n < t.length; n++) { + var o = t[n] + if (n === 1 && o === "-" && t[0] === "-") return t + B7t(o) ? (e += "-" + o.toLowerCase()) : (e += o) + } + return e.startsWith("ms-") ? "-" + e : e +} +var aut = function (t) { + return t == null || t === !1 || t === "" + }, + lut = function (t) { + var e, + n, + o = [] + for (var r in t) { + var i = t[r] + t.hasOwnProperty(r) && + !aut(i) && + ((Array.isArray(i) && i.isCss) || pf(i) + ? o.push("".concat(t3(r), ":"), i, ";") + : Sb(i) + ? o.push.apply(o, M_(M_(["".concat(r, " {")], lut(i), !1), ["}"], !1)) + : o.push( + "" + .concat(t3(r), ": ") + .concat( + ((e = r), + (n = i) == null || typeof n == "boolean" || n === "" + ? "" + : typeof n != "number" || n === 0 || e in c7t || e.startsWith("--") + ? String(n).trim() + : "".concat(n, "px")), + ";", + ), + )) + } + return o + } +function Pp(t, e, n, o) { + if (aut(t)) return [] + if (L$(t)) return [".".concat(t.styledComponentId)] + if (pf(t)) { + if (!pf((i = t)) || (i.prototype && i.prototype.isReactComponent) || !e) return [t] + var r = t(e) + return Pp(r, e, n, o) + } + var i + return t instanceof F7t + ? n + ? (t.inject(n, o), [t.getName(o)]) + : [t] + : Sb(t) + ? lut(t) + : Array.isArray(t) + ? Array.prototype.concat.apply( + s0, + t.map(function (s) { + return Pp(s, e, n, o) + }), + ) + : [t.toString()] +} +function U7t(t) { + for (var e = 0; e < t.length; e += 1) { + var n = t[e] + if (pf(n) && !L$(n)) return !1 + } + return !0 +} +var q7t = Xdt(i0), + W7t = (function () { + function t(e, n, o) { + ;(this.rules = e), + (this.staticRulesId = ""), + (this.isStatic = (o === void 0 || o.isStatic) && U7t(e)), + (this.componentId = n), + (this.baseHash = rh(q7t, n)), + (this.baseStyle = o), + rut.registerId(n) + } + return ( + (t.prototype.generateAndInjectStyles = function (e, n, o) { + var r = this.baseStyle ? this.baseStyle.generateAndInjectStyles(e, n, o) : "" + if (this.isStatic && !o.hash) + if (this.staticRulesId && n.hasNameForId(this.componentId, this.staticRulesId)) + r = dp(r, this.staticRulesId) + else { + var i = Yq(Pp(this.rules, e, n, o)), + s = Cj(rh(this.baseHash, i) >>> 0) + if (!n.hasNameForId(this.componentId, s)) { + var a = o(i, ".".concat(s), void 0, this.componentId) + n.insertRules(this.componentId, s, a) + } + ;(r = dp(r, s)), (this.staticRulesId = s) + } + else { + for (var c = rh(this.baseHash, o.hash), d = "", u = 0; u < this.rules.length; u++) { + var m = this.rules[u] + if (typeof m == "string") d += m + else if (m) { + var f = Yq(Pp(m, e, n, o)) + ;(c = rh(c, f + u)), (d += f) + } + } + if (d) { + var g = Cj(c >>> 0) + n.hasNameForId(this.componentId, g) || + n.insertRules(this.componentId, g, o(d, ".".concat(g), void 0, this.componentId)), + (r = dp(r, g)) + } + } + return r + }), + t + ) + })(), + cut = Ie.createContext(void 0) +cut.Consumer +var GP = {} +function K7t(t, e, n) { + var o = L$(t), + r = t, + i = !HP(t), + s = e.attrs, + a = s === void 0 ? s0 : s, + c = e.componentId, + d = + c === void 0 + ? (function (S, P) { + var R = typeof S != "string" ? "sc" : Vq(S) + GP[R] = (GP[R] || 0) + 1 + var T = "".concat(R, "-").concat(f7t(i0 + R + GP[R])) + return P ? "".concat(P, "-").concat(T) : T + })(e.displayName, e.parentComponentId) + : c, + u = e.displayName, + m = + u === void 0 + ? (function (S) { + return HP(S) ? "styled.".concat(S) : "Styled(".concat(g7t(S), ")") + })(t) + : u, + f = + e.displayName && e.componentId + ? "".concat(Vq(e.displayName), "-").concat(e.componentId) + : e.componentId || d, + g = o && r.attrs ? r.attrs.concat(a).filter(Boolean) : a, + b = e.shouldForwardProp + if (o && r.shouldForwardProp) { + var v = r.shouldForwardProp + if (e.shouldForwardProp) { + var w = e.shouldForwardProp + b = function (S, P) { + return v(S, P) && w(S, P) + } + } else b = v + } + var _ = new W7t(n, f, o ? r.componentStyle : void 0) + function y(S, P) { + return (function (R, T, E) { + var $ = R.attrs, + j = R.componentStyle, + L = R.defaultProps, + W = R.foldedComponentIds, + G = R.styledComponentId, + U = R.target, + Z = Ie.useContext(cut), + V = e3(), + X = R.shouldForwardProp || V.shouldForwardProp, + H = u7t(T, Z, L) || uf, + B = (function (oe, ae, Q) { + for (var ee, q = as(as({}, ae), { className: void 0, theme: Q }), me = 0; me < oe.length; me += 1) { + var Ce = pf((ee = oe[me])) ? ee(q) : ee + for (var ue in Ce) + q[ue] = + ue === "className" + ? dp(q[ue], Ce[ue]) + : ue === "style" + ? as(as({}, q[ue]), Ce[ue]) + : Ce[ue] + } + return ae.className && (q.className = dp(q.className, ae.className)), q + })($, T, H), + M = B.as || U, + D = {} + for (var F in B) + B[F] === void 0 || + F[0] === "$" || + F === "as" || + (F === "theme" && B.theme === H) || + (F === "forwardedAs" ? (D.as = B.forwardedAs) : (X && !X(F, M)) || (D[F] = B[F])) + var N = (function (oe, ae) { + var Q = e3(), + ee = oe.generateAndInjectStyles(ae, Q.styleSheet, Q.stylis) + return ee + })(j, B), + J = dp(W, G) + return ( + N && (J += " " + N), + B.className && (J += " " + B.className), + (D[HP(M) && !Zdt.has(M) ? "class" : "className"] = J), + (D.ref = E), + k.createElement(M, D) + ) + })(C, S, P) + } + y.displayName = m + var C = Ie.forwardRef(y) + return ( + (C.attrs = g), + (C.componentStyle = _), + (C.displayName = m), + (C.shouldForwardProp = b), + (C.foldedComponentIds = o ? dp(r.foldedComponentIds, r.styledComponentId) : ""), + (C.styledComponentId = f), + (C.target = o ? r.target : t), + Object.defineProperty(C, "defaultProps", { + get: function () { + return this._foldedDefaultProps + }, + set: function (S) { + this._foldedDefaultProps = o + ? (function (P) { + for (var R = [], T = 1; T < arguments.length; T++) R[T - 1] = arguments[T] + for (var E = 0, $ = R; E < $.length; E++) Sj(P, $[E], !0) + return P + })({}, r.defaultProps, S) + : S + }, + }), + D$(C, function () { + return ".".concat(C.styledComponentId) + }), + i && + nut(C, t, { + attrs: !0, + componentStyle: !0, + displayName: !0, + foldedComponentIds: !0, + shouldForwardProp: !0, + styledComponentId: !0, + target: !0, + }), + C + ) +} +function n3(t, e) { + for (var n = [t[0]], o = 0, r = e.length; o < r; o += 1) n.push(e[o], t[o + 1]) + return n +} +var o3 = function (t) { + return Object.assign(t, { isCss: !0 }) +} +function V7t(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n] + if (pf(t) || Sb(t)) return o3(Pp(n3(s0, M_([t], e, !0)))) + var o = t + return e.length === 0 && o.length === 1 && typeof o[0] == "string" ? Pp(o) : o3(Pp(n3(o, e))) +} +function Pj(t, e, n) { + if ((n === void 0 && (n = uf), !e)) throw my(1, e) + var o = function (r) { + for (var i = [], s = 1; s < arguments.length; s++) i[s - 1] = arguments[s] + return t(e, n, V7t.apply(void 0, M_([r], i, !1))) + } + return ( + (o.attrs = function (r) { + return Pj(t, e, as(as({}, n), { attrs: Array.prototype.concat(n.attrs, r).filter(Boolean) })) + }), + (o.withConfig = function (r) { + return Pj(t, e, as(as({}, n), r)) + }), + o + ) +} +var dut = function (t) { + return Pj(K7t, t) + }, + Mn = dut +Zdt.forEach(function (t) { + Mn[t] = dut(t) +}) +Mn.span` + display: inline-flex; + align-items: center; + justify-content: center; + background-color: var(--vscode-badge-background); + border: 1px solid var(--vscode-button-border); + border-radius: 11px; + box-sizing: border-box; + color: var(--vscode-badge-foreground); + font-family: var(--vscode-font-family); + font-size: 11px; + line-height: 16px; + height: 16px; + min-width: 18px; + min-height: 18px; + padding: 3px 6px; + text-align: center; +` +Mn.button` + display: inline-flex; + outline: none; + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size, 13px); + line-height: normal; + color: var(--vscode-button-foreground); + background: var(--vscode-button-background); + border: 1px solid var(--vscode-button-border); + border-radius: 2px; + padding: 4px 11px; + fill: currentColor; + cursor: pointer; + + &:focus-visible { + outline: 1px solid var(--vscode-focusBorder); + outline-offset: 2px; + } + + &:active { + background: var(--vscode-button-background); + } + + &:hover { + background: var(--vscode-button-hoverBackground); + } + + &::-moz-focus-inner { + border: 0; + } + + &.secondary { + background: var(--vscode-button-secondaryBackground); + color: var(--vscode-button-secondaryForeground); + + &:active { + background: var(--vscode-button-secondaryBackground); + } + + &:hover { + background: var(--vscode-button-secondaryHoverBackground); + } + } + + &.icon { + background: transparent; + border: none; + border-radius: 5px; + color: var(--vscode-foreground); + padding: 3px; + + &:hover { + background: rgba(90, 93, 94, 0.31); + outline: 1px dotted var(--vscode-contrastActiveBorder); + outline-offset: -1px; + } + + &:active { + background: rgba(90, 93, 94, 0.31); + } + } + + &:disabled { + opacity: 0.4; + background: var(--vscode-button-background); + cursor: not-allowed; + + &.secondary { + background: var(--vscode-button-secondaryBackground); + } + + &.icon { + background: transparent; + } + } +` +var qr = [] +for (var QP = 0; QP < 256; ++QP) qr.push((QP + 256).toString(16).slice(1)) +function H7t(t, e = 0) { + return ( + qr[t[e + 0]] + + qr[t[e + 1]] + + qr[t[e + 2]] + + qr[t[e + 3]] + + "-" + + qr[t[e + 4]] + + qr[t[e + 5]] + + "-" + + qr[t[e + 6]] + + qr[t[e + 7]] + + "-" + + qr[t[e + 8]] + + qr[t[e + 9]] + + "-" + + qr[t[e + 10]] + + qr[t[e + 11]] + + qr[t[e + 12]] + + qr[t[e + 13]] + + qr[t[e + 14]] + + qr[t[e + 15]] + ).toLowerCase() +} +var dx, + G7t = new Uint8Array(16) +function Q7t() { + if (!dx && ((dx = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)), !dx)) + throw new Error( + "crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported", + ) + return dx(G7t) +} +var Z7t = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto) +const r3 = { randomUUID: Z7t } +function Y7t(t, e, n) { + if (r3.randomUUID && !t) return r3.randomUUID() + t = t || {} + var o = t.random || (t.rng || Q7t)() + return (o[6] = (o[6] & 15) | 64), (o[8] = (o[8] & 63) | 128), H7t(o) +} +function X7t() { + const [t, e] = k.useState("") + return ( + k.useEffect(() => { + e(Y7t()) + }, []), + t + ) +} +const J7t = Mn.label` + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + display: flex; + align-items: center; + cursor: pointer; + position: relative; + outline: none; + user-select: none; + + &.disabled { + opacity: 0.4; + cursor: not-allowed; + } + + input { + opacity: 0; + outline: none; + appearance: none; + position: absolute; + } +`, + uut = Mn.svg` + background: var(--vscode-checkbox-background); + border: 1px solid var(--vscode-checkbox-border); + border-radius: 2px; + color: var(--vscode-checkbox-foreground); + display: inline-block; + width: 16px; + height: 16px; + transition: 60ms transform ease-in-out; + + &:active, &:focus, &:focus-visible { + border-color: var(--vscode-focusBorder); + } +`, + eQt = Mn.span` + padding-left: 10px; +`, + tQt = ({ checked: t }) => + Za.jsx(uut, { + width: "16", + height: "16", + viewBox: "0 0 16 16", + xmlns: "http://www.w3.org/2000/svg", + fill: t ? "currentColor" : "transparent", + children: Za.jsx("path", { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z", + }), + }), + nQt = () => + Za.jsx(uut, { + width: "16", + height: "16", + viewBox: "0 0 16 16", + xmlns: "http://www.w3.org/2000/svg", + fill: "currentColor", + children: Za.jsx("rect", { x: "4", y: "4", height: "8", width: "8", rx: "2" }), + }), + Lo = ({ checked: t, children: e, className: n, indeterminate: o, disabled: r, onChange: i, ...s }) => { + const [a, c] = k.useState(!!t), + d = k.useRef(null), + u = X7t(), + m = (f) => { + c(f.target.checked), i && i(f.target.checked) + } + return ( + k.useEffect(() => { + c(!!t) + }, [t]), + k.useEffect(() => { + d.current && (d.current.indeterminate = o === !0) + }, [o]), + Za.jsxs(J7t, { + htmlFor: u, + className: `vscrui-checkbox ${n || ""} ${r ? "disabled" : ""}`, + ...s, + children: [ + Za.jsx("input", { id: u, ref: d, type: "checkbox", checked: a, disabled: r, onChange: m }), + o === !0 ? Za.jsx(nQt, {}) : Za.jsx(tQt, { checked: a }), + e && Za.jsx(eQt, { className: "vscrui-checkbox__label", children: e }), + ], + }) + ) + } +Lo.displayName = "VSCRUI_Checkbox" +Mn.hr` + border: none; + border-top: 1px solid var(--vscode-settings-dropdownListBorder); + box-sizing: content-box; + height: 0; + margin: 4px 0; + width: 100%; +` +Mn.div` + display: inline-block; + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + color: var(--vscode-foreground); + cursor: pointer; + box-sizing: border-box; + min-width: 100px; + position: relative; + user-select: none; + outline: none; + vertical-align: top; + + &.disabled { + opacity: 0.4; + pointer-events: none; + cursor: not-allowed; + } +` +Mn.button` + all: unset; + display: flex; + align-items: center; + justify-content: space-between; + background: var(--vscode-dropdown-background); + border: 1px solid var(--vscode-dropdown-border); + border-radius: 2px; + height: 26px; + box-sizing: border-box; + contain: content; + cursor: pointer; + line-height: normal; + padding: 2px 6px 2px 8px; + width: 100%; + + &:not([disabled]):active, + &.open { + border-color: var(--vscode-focusBorder); + } + + &:focus { + border-color: var(--vscode-focusBorder); + } + + &:hover { + background: inherit; + } +` +Mn.div` + background: var(--vscode-dropdown-background); + border: 1px solid var(--vscode-focusBorder); + box-sizing: border-box; + left: 0px; + max-height: 200px; + padding: 0 0 4px 0; + overflow-y: auto; + position: absolute; + width: 100%; + z-index: 1; + + // Below + border-radius: ${(t) => (t.position === "above" ? "2px 2px 0 0" : "0 0 2px 2px")}; + top: ${(t) => (t.position === "above" ? "auto" : "26px")}; + bottom: ${(t) => (t.position === "above" ? "26px" : "auto")}; + + ul { + box-sizing: border-box; + cursor: pointer; + list-style: none; + margin: 0px; + max-height: 222px; + overflow: auto; + padding: 1px; + } +` +Mn.button` + all: unset; + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + color: var(--vscode-foreground); + border: 1px solid transparent; + border-radius: 2px; + box-sizing: border-box; + cursor: pointer; + line-height: normal; + margin: 0; + outline: none; + overflow: hidden; + padding: 0 2px 1px; + user-select: none; + white-space: nowrap; + text-overflow: ellipsis; + width: 100%; + + &:focus-visible { + border-color: var(--vscode-focusBorder); + background: var(--vscode-list-activeSelectionBackground); + color: var(--vscode-foreground); + } + + &.active { + background: var(--vscode-list-activeSelectionBackground); + border: 1px solid transparent; + color: var(--vscode-list-activeSelectionForeground); + } + + &:active { + background: var(--vscode-list-activeSelectionBackground); + color: var(--vscode-list-activeSelectionForeground); + } + + &:not(.active):hover { + background: var(--vscode-list-activeSelectionBackground); + border: 1px solid transparent; + color: var(--vscode-list-activeSelectionForeground); + } + + &:not(.active):active { + background: var(--vscode-list-activeSelectionBackground); + color: var(--vscode-list-activeSelectionForeground); + } + + body[data-vscode-theme-kind='vscode-high-contrast'] &.active, + body[data-vscode-theme-kind='vscode-high-contrast-light'] &.active, + body[data-vscode-theme-kind='vscode-high-contrast'] &:not(.active):hover, + body[data-vscode-theme-kind='vscode-high-contrast-light'] &:not(.active):hover { + border-style: dotted; + border-color: var(--vscode-list-focusOutline); + } + + &:disabled { + cursor: not-allowed; + opacity: 0.4; + + &:hover { + background: inherit; + border-color: transparent; + } + } + + body[data-vscode-theme-kind='vscode-high-contrast'] &:disabled, + body[data-vscode-theme-kind='vscode-high-contrast-light'] &:disabled, + body[data-vscode-theme-kind='vscode-high-contrast'] &:disabled:hover, + body[data-vscode-theme-kind='vscode-high-contrast-light'] &:disabled:hover { + background: inherit; + border-color: transparent; + } +` +Mn.i` + display: inline-block; + color: var(--vscode-icon-foreground); + display: inline-block; + text-decoration: none; + text-rendering: auto; + text-align: center; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + user-select: none; + + &.codicon-spin { + animation: spin 1.5s steps(30) infinite; + } + + @keyframes spin { + 0% { + transform: rotate(0); + } + 100% { + transform: rotate(360deg); + } + } +` +const oQt = Mn.label` + color: var(--vscode-foreground); + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + font-weight: 400; + margin: 0; + overflow: hidden; + padding: 4px 0 0; + text-overflow: ellipsis; + display: block; + white-space: nowrap; +`, + N$ = ({ children: t, className: e, ...n }) => + Za.jsx(oQt, { className: `vscrui-label ${e || ""}`, ...n, children: t }) +N$.displayName = "VSCRUI_Label" +Mn.div` + background: var(--vscode-editor-background); + position: fixed; + inset: 0; + height: 100%; + width: 100%; + z-index: 9999; + opacity: 0.75; +` +Mn.div` + position: absolute; + top: 0; + width: 100%; + height: 2px; +` +Mn.div` + height: 100%; + position: absolute; + background: var(--vscode-activityBarBadge-background); + animation: vscode-loader 4s ease-in-out infinite; + + @keyframes vscode-loader { + 0% { + left: -30px; + width: 30px; + } + 25% { + width: 50px; + } + 50% { + width: 20px; + } + 75% { + width: 50px; + } + 100% { + width: 20px; + left: 100%; + } + } +` +const rQt = Mn.section` + color: inherit; + background-color: transparent; + border: 1px solid transparent; + box-sizing: border-box; + font-size: var(--vscode-font-size, 13px); + line-height: normal; + padding: 10px 6px; + display: ${(t) => (t.hidden ? "none" : "block")}; + height: ${(t) => (t.hidden ? "0" : "auto")}; + transition: all 0.1s; + transition-behavior: allow-discrete; +`, + put = ({ className: t, children: e, isVisible: n = !1, ...o }) => + Za.jsx(rQt, { className: `vscrui-view ${t || ""}`, hidden: !n, ...o, children: e }) +put.displayName = "VSCRUI_View" +const iQt = Mn.div` + display: none; + margin-left: auto; +` +Mn.div` + font-family: var(--vscode-font-family); + font-size: 11px; + font-weight: 700; + color: var(--vscode-sideBarSectionHeader-foreground); + background-color: var(--vscode-sideBarSectionHeader-background); + border-top: 1px solid var(--vscode-sideBarSectionHeader-border); + text-transform: uppercase; + + box-sizing: border-box; + display: flex; + align-items: center; + height: 22px; + line-height: 22px; + width: 100%; + cursor: pointer; + + position: relative; + overflow: hidden; + user-select: none; + + > svg { + color: var(--vscode-icon-foreground); + margin: 0 2px; + } + + &:hover { + ${iQt} { + display: flex; + } + } +` +Mn.h3` + font-size: 11px; + font-weight: 700; + min-width: 3ch; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + margin: 0; +` +Mn.div` + display: flex; + flex-direction: column; + overflow: hidden; + width: 100%; +` +Mn(put)` + flex: 1; + overflow: hidden; + padding: unset; +` +Mn.button` + all: unset; + + color: var(--vscode-icon-foreground); + font-size: 16px; + padding: 2px; + margin-right: 4px; + + background: none; + border: none; + cursor: pointer; + border-radius: 2px; + + align-items: center; + display: flex; + height: 16px; + width: 16px; + + &:hover { + background-color: var(--vscode-toolbar-hoverBackground); + } +` +Mn.button` + all: unset; + color: var(--vscode-panelTitle-inactiveForeground); + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size, 13px); + box-sizing: border-box; + height: 28px; + padding: 4px 0; + fill: currentcolor; + border-radius: 2px; + border: 1px solid transparent; + align-items: center; + justify-content: center; + grid-row: 1; + cursor: pointer; + + &:hover, &:active, &[aria-selected='true'], &[aria-selected='true']:hover, &[aria-selected='true']:active { + background: transparent; + color: var(--vscode-panelTitle-activeForeground); + fill: currentcolor; + } + + &[aria-selected='true'] { + border-bottom: 1px solid var(--vscode-panelTitle-activeForeground); + } + + &:focus-visible { + outline: none; + border: 1px solid var(--vscode-panelTitle-activeBorder); + } + + &:focus { + outline: none; + } +` +Mn.div` + color: var(--vscode-badge-foreground); + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size, 13px); + box-sizing: border-box; + line-height: normal; + grid-template-columns: auto 1fr auto; + grid-template-rows: auto 1fr; + overflow-x: auto; +` +Mn.div` + display: grid; + grid-template-rows: auto auto; + grid-template-columns: auto; + column-gap: 32px; + position: relative; + width: max-content; + align-self: end; + padding: 4px 4px 0; + box-sizing: border-box; +` +Mn.div` + grid-row: 2; + grid-column-start: 1; + grid-column-end: 4; + position: relative; +` +const sQt = Mn.div` + color: var(--vscode-foreground); + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + padding: 4px 12px; + opacity: 1; + box-sizing: border-box; + line-height: normal; + font-weight: 400; + border: solid 1px transparent; + border-radius: 2px; + white-space: wrap; + overflow-wrap: anywhere; +`, + aQt = Mn.div` + display: grid; + padding: 1px 0; + box-sizing: border-box; + width: 100%; + background: transparent; + + &:hover { + background: var(--vscode-list-hoverBackground); + outline: 1px dotted var(--vscode-contrastActiveBorder); + outline-offset: -1px; + } + + &.vscrui_table_row_header { + ${sQt} { + font-weight: 600; + } + } +` +Mn.div` + display: flex; + position: relative; + flex-direction: column; + width: 100%; + + &.stripped { + ${aQt} { + &:nth-child(odd) { + background-color: var(--vscode-keybindingTable-rowsBackground); + + &:hover { + background: var(--vscode-list-hoverBackground); + } + } + } + } +` +Mn.div` + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + color: var(--vscode-badge-foreground); + display: inline-flex; + align-items: center; + justify-content: center; + background-color: var(--vscode-badge-background); + border: 1px solid var(--vscode-button-border); + border-radius: 2px; + padding: 2px 4px; + text-transform: uppercase; +` +Mn.div` + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + display: inline-block; + min-width: 100px; +` +Mn(N$)` + margin-bottom: 2px; +` +Mn.textarea` + appearance: none; + font-size: var(--vscode-font-size); + color: var(--vscode-input-foreground); + background: var(--vscode-input-background); + border: 1px solid var(--vscode-dropdown-border); + border-radius: 2px; + box-sizing: border-box; + position: relative; + display: flex; + flex-direction: row; + height: 26px; + padding: 9px; + width: 100%; + height: 100%; + resize: none; + + &:hover, + &:focus-visible, + &:disabled, + &:active, + &:focus { + outline: none; + box-shadow: none; + } + + &:not([disabled]):hover { + background: var(--vscode-input-background); + border-color: var(--vscode-dropdown-border); + } + + &:not([disabled]):active { + background: var(--vscode-input-background); + border-color: var(--vscode-focusBorder); + } + + &:not([disabled]):focus, + &:not([disabled]):focus-within { + border-color: var(--vscode-focusBorder); + } + + &:disabled, + &:readonly { + cursor: not-allowed; + } + + &:disabled { + opacity: 0.4; + border-color: var(--vscode-dropdown-border); + } + + &[data-resize='both'] { + resize: both; + } + + &[data-resize='horizontal'] { + resize: horizontal; + } + + &[data-resize='vertical'] { + resize: vertical; + } + + &[data-resize='none'] { + resize: none; + } +` +Mn.div` + font-family: var(--vscode-font-family); + font-size: var(--vscode-font-size); + display: inline-block; + min-width: 100px; +` +Mn(N$)` + margin-bottom: 2px; +` +Mn.input` + appearance: none; + font-size: var(--vscode-font-size); + box-sizing: border-box; + position: relative; + display: flex; + flex-direction: row; + color: var(--vscode-input-foreground); + background: var(--vscode-input-background); + border-radius: 2px; + border: 1px solid var(--vscode-dropdown-border); + height: 26px; + padding: 0 9px; + width: 100%; + + &:hover, + &:focus-visible, + &:disabled, + &:active, + &:focus { + outline: none; + box-shadow: none; + } + + &:not([disabled]):hover { + background: var(--vscode-input-background); + border-color: var(--vscode-dropdown-border); + } + + &:not([disabled]):active { + background: var(--vscode-input-background); + border-color: var(--vscode-focusBorder); + } + + &:not([disabled]):focus, + &:not([disabled]):focus-within { + border-color: var(--vscode-focusBorder); + } + + &:disabled, + &:readonly { + cursor: not-allowed; + } + + &:disabled { + opacity: 0.4; + border-color: var(--vscode-dropdown-border); + } +` +const Cr = ({ href: t, children: e, ...n }) => + l.jsx("a", { + href: t, + style: { textDecoration: "none", color: "inherit" }, + children: l.jsx(Mo, { ...n, children: e }), + }), + Cc = (t) => t, + fo = (t) => { + var e + return (e = t == null ? void 0 : t.target) == null ? void 0 : e.value + }, + lQt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + [o, r] = k.useState(!!(t != null && t.anthropicBaseUrl)), + i = k.useCallback( + (s, a = fo) => + (c) => { + e(s, a(c)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.apiKey) || "", + type: "password", + onInput: i("apiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.anthropicApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.apiKey) && + l.jsx(Cr, { + href: "https://console.anthropic.com/settings/keys", + appearance: "secondary", + children: n("settings:providers.getAnthropicApiKey"), + }), + l.jsxs("div", { + children: [ + l.jsx(Lo, { + checked: o, + onChange: (s) => { + r(s), s || (e("anthropicBaseUrl", ""), e("anthropicUseAuthToken", !1)) + }, + children: n("settings:providers.useCustomBaseUrl"), + }), + o && + l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.anthropicBaseUrl) || "", + type: "url", + onInput: i("anthropicBaseUrl"), + placeholder: "https://api.anthropic.com", + className: "w-full mt-1", + }), + l.jsx(Lo, { + checked: (t == null ? void 0 : t.anthropicUseAuthToken) ?? !1, + onChange: i("anthropicUseAuthToken", Cc), + className: "w-full mt-1", + children: n("settings:providers.anthropicUseAuthToken"), + }), + ], + }), + ], + }), + ], + }) + }, + cQt = ({ apiConfiguration: t, setApiConfigurationField: e, selectedModelInfo: n }) => { + const { t: o } = Be(), + [r, i] = k.useState(!!(t != null && t.awsBedrockEndpointEnabled)) + k.useEffect(() => { + i(!!(t != null && t.awsBedrockEndpointEnabled)) + }, [t == null ? void 0 : t.awsBedrockEndpointEnabled]) + const s = k.useCallback( + (a, c = fo) => + (d) => { + e(a, c(d)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { className: "block font-medium mb-1", children: "Authentication Method" }), + l.jsxs(Qr, { + value: + t != null && t.awsUseApiKey + ? "apikey" + : t != null && t.awsUseProfile + ? "profile" + : "credentials", + onValueChange: (a) => { + a === "apikey" + ? (e("awsUseApiKey", !0), e("awsUseProfile", !1)) + : a === "profile" + ? (e("awsUseApiKey", !1), e("awsUseProfile", !0)) + : (e("awsUseApiKey", !1), e("awsUseProfile", !1)) + }, + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: o("settings:common.select") }), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { + value: "credentials", + children: o("settings:providers.awsCredentials"), + }), + l.jsx(qn, { value: "profile", children: o("settings:providers.awsProfile") }), + l.jsx(qn, { value: "apikey", children: o("settings:providers.awsApiKey") }), + ], + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-3", + children: o("settings:providers.apiKeyStorageNotice"), + }), + t != null && t.awsUseApiKey + ? l.jsx(ct, { + value: (t == null ? void 0 : t.awsApiKey) || "", + type: "password", + onInput: s("awsApiKey"), + placeholder: o("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.awsApiKey"), + }), + }) + : t != null && t.awsUseProfile + ? l.jsx(ct, { + value: (t == null ? void 0 : t.awsProfile) || "", + onInput: s("awsProfile"), + placeholder: o("settings:placeholders.profileName"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.awsProfileName"), + }), + }) + : l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.awsAccessKey) || "", + type: "password", + onInput: s("awsAccessKey"), + placeholder: o("settings:placeholders.accessKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.awsAccessKey"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.awsSecretKey) || "", + type: "password", + onInput: s("awsSecretKey"), + placeholder: o("settings:placeholders.secretKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.awsSecretKey"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.awsSessionToken) || "", + type: "password", + onInput: s("awsSessionToken"), + placeholder: o("settings:placeholders.sessionToken"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.awsSessionToken"), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.awsRegion"), + }), + l.jsxs(Qr, { + value: (t == null ? void 0 : t.awsRegion) || "", + onValueChange: (a) => e("awsRegion", a), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: o("settings:common.select") }), + }), + l.jsx(Xr, { + children: nCt.map(({ value: a, label: c }) => + l.jsx(qn, { value: a, children: c }, a), + ), + }), + ], + }), + ], + }), + l.jsx(Lo, { + checked: (t == null ? void 0 : t.awsUseCrossRegionInference) || !1, + onChange: s("awsUseCrossRegionInference", Cc), + children: o("settings:providers.awsCrossRegion"), + }), + (n == null ? void 0 : n.supportsPromptCache) && + l.jsxs(l.Fragment, { + children: [ + l.jsx(Lo, { + checked: (t == null ? void 0 : t.awsUsePromptCache) || !1, + onChange: s("awsUsePromptCache", Cc), + children: l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("span", { children: o("settings:providers.enablePromptCaching") }), + l.jsx(We, { + content: o("settings:providers.enablePromptCachingTitle"), + children: l.jsx("i", { + className: "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground ml-6 mt-1", + children: o("settings:providers.cacheUsageNote"), + }), + ], + }), + l.jsx(Lo, { + checked: r, + onChange: (a) => { + i(a), e("awsBedrockEndpointEnabled", a) + }, + children: o("settings:providers.awsBedrockVpc.useCustomVpcEndpoint"), + }), + r && + l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.awsBedrockEndpoint) || "", + style: { width: "100%", marginTop: 3, marginBottom: 5 }, + type: "url", + onInput: s("awsBedrockEndpoint"), + placeholder: o("settings:providers.awsBedrockVpc.vpcEndpointUrlPlaceholder"), + "data-testid": "vpc-endpoint-input", + }), + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground ml-6 mt-1 mb-3", + children: [ + o("settings:providers.awsBedrockVpc.examples"), + l.jsx("div", { + className: "ml-2", + children: "• https://vpce-xxx.bedrock.region.vpce.amazonaws.com/", + }), + l.jsx("div", { + className: "ml-2", + children: "• https://gateway.my-company.com/route/app/bedrock", + }), + ], + }), + ], + }), + ], + }) + }, + dQt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.cerebrasApiKey) || "", + type: "password", + onInput: o("cerebrasApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.cerebrasApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.cerebrasApiKey) && + l.jsx(Cr, { + href: "https://cloud.cerebras.ai?utm_source=roocode", + appearance: "secondary", + children: n("settings:providers.getCerebrasApiKey"), + }), + ], + }) + }, + uQt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.chutesApiKey) || "", + type: "password", + onInput: o("chutesApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.chutesApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.chutesApiKey) && + l.jsx(Cr, { + href: "https://chutes.ai/app/api", + appearance: "secondary", + children: n("settings:providers.getChutesApiKey"), + }), + ], + }) + }, + pQt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = (i) => { + const s = i.target + e("claudeCodePath", s.value) + }, + r = (t == null ? void 0 : t.claudeCodeMaxOutputTokens) || 8e3 + return l.jsxs("div", { + className: "flex flex-col gap-4", + children: [ + l.jsxs("div", { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.claudeCodePath) || "", + style: { width: "100%", marginTop: 3 }, + type: "text", + onInput: o, + placeholder: n("settings:providers.claudeCode.placeholder"), + children: n("settings:providers.claudeCode.pathLabel"), + }), + l.jsx("p", { + style: { fontSize: "12px", marginTop: 3, color: "var(--vscode-descriptionForeground)" }, + children: n("settings:providers.claudeCode.description"), + }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("div", { + className: "font-medium", + children: n("settings:providers.claudeCode.maxTokensLabel"), + }), + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(Ro, { + min: 8e3, + max: 64e3, + step: 1024, + value: [r], + onValueChange: ([i]) => e("claudeCodeMaxOutputTokens", i), + }), + l.jsx("div", { className: "w-16 text-sm text-center", children: r }), + ], + }), + l.jsx("p", { + className: "text-sm text-vscode-descriptionForeground mt-1", + children: n("settings:providers.claudeCode.maxTokensDescription"), + }), + ], + }), + ], + }) + }, + mQt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.deepSeekApiKey) || "", + type: "password", + onInput: o("deepSeekApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.deepSeekApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.deepSeekApiKey) && + l.jsx(Cr, { + href: "https://platform.deepseek.com/", + appearance: "secondary", + children: n("settings:providers.getDeepSeekApiKey"), + }), + ], + }) + }, + hQt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.doubaoApiKey) || "", + type: "password", + onInput: o("doubaoApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.doubaoApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.doubaoApiKey) && + l.jsx(Cr, { + href: "https://www.volcengine.com/experience/ark?model=doubao-1-5-thinking-vision-pro-250428", + appearance: "secondary", + children: n("settings:providers.getDoubaoApiKey"), + }), + ], + }) + }, + fQt = ({ apiConfiguration: t, setApiConfigurationField: e, fromWelcomeView: n }) => { + const { t: o } = Be(), + [r, i] = k.useState(!!(t != null && t.googleGeminiBaseUrl)), + s = k.useCallback( + (a, c = fo) => + (d) => { + e(a, c(d)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.geminiApiKey) || "", + type: "password", + onInput: s("geminiApiKey"), + placeholder: o("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.geminiApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: o("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.geminiApiKey) && + l.jsx(Cr, { + href: "https://ai.google.dev/", + appearance: "secondary", + children: o("settings:providers.getGeminiApiKey"), + }), + l.jsxs("div", { + children: [ + l.jsx(Lo, { + "data-testid": "checkbox-custom-base-url", + checked: r, + onChange: (a) => { + i(a), a || e("googleGeminiBaseUrl", "") + }, + children: o("settings:providers.useCustomBaseUrl"), + }), + r && + l.jsx(ct, { + value: (t == null ? void 0 : t.googleGeminiBaseUrl) || "", + type: "url", + onInput: s("googleGeminiBaseUrl"), + placeholder: o("settings:defaults.geminiUrl"), + className: "w-full mt-1", + }), + !n && + l.jsxs(l.Fragment, { + children: [ + l.jsx(Lo, { + className: "mt-6", + "data-testid": "checkbox-url-context", + checked: !!t.enableUrlContext, + onChange: (a) => e("enableUrlContext", a), + children: o("settings:providers.geminiParameters.urlContext.title"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-3 mt-1.5", + children: o("settings:providers.geminiParameters.urlContext.description"), + }), + l.jsx(Lo, { + "data-testid": "checkbox-grounding-search", + checked: !!t.enableGrounding, + onChange: (a) => e("enableGrounding", a), + children: o("settings:providers.geminiParameters.groundingSearch.title"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-3 mt-1.5", + children: o("settings:providers.geminiParameters.groundingSearch.description"), + }), + ], + }), + ], + }), + ], + }) + } +function O$(t, e) { + return encodeURIComponent(`${e || "vscode"}://${ru.publisher}.${ru.name}/${t}`) +} +function gQt(t) { + return `https://glama.ai/oauth/authorize?callback_url=${O$("glama", t)}` +} +function mut(t) { + return `https://openrouter.ai/auth?callback_url=${O$("openrouter", t)}` +} +function vQt(t) { + return `https://app.requesty.ai/oauth/authorize?callback_url=${O$("requesty", t)}` +} +const ih = (t) => + new Intl.NumberFormat("en-US", { + style: "currency", + currency: "USD", + minimumFractionDigits: 2, + maximumFractionDigits: 2, + }).format(t) +var ZP, i3 +function bQt() { + if (i3) return ZP + ;(i3 = 1), (ZP = t) + function t(e) { + if (e) throw e + } + return ZP +} +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh <https://feross.org> + * @license MIT + */ var YP, s3 +function hut() { + return ( + s3 || + ((s3 = 1), + (YP = function (e) { + return ( + e != null && + e.constructor != null && + typeof e.constructor.isBuffer == "function" && + e.constructor.isBuffer(e) + ) + })), + YP + ) +} +var XP, a3 +function yQt() { + return ( + a3 || + ((a3 = 1), + (XP = (t) => { + if (Object.prototype.toString.call(t) !== "[object Object]") return !1 + const e = Object.getPrototypeOf(t) + return e === null || e === Object.prototype + })), + XP + ) +} +var JP, l3 +function kQt() { + if (l3) return JP + l3 = 1 + var t = [].slice + JP = e + function e(n, o) { + var r + return i + function i() { + var c = t.call(arguments, 0), + d = n.length > c.length, + u + d && c.push(s) + try { + u = n.apply(null, c) + } catch (m) { + if (d && r) throw m + return s(m) + } + d || (u && typeof u.then == "function" ? u.then(a, s) : u instanceof Error ? s(u) : a(u)) + } + function s() { + r || ((r = !0), o.apply(null, arguments)) + } + function a(c) { + s(null, c) + } + } + return JP +} +var eR, c3 +function xQt() { + if (c3) return eR + c3 = 1 + var t = kQt() + ;(eR = n), (n.wrap = t) + var e = [].slice + function n() { + var o = [], + r = {} + return (r.run = i), (r.use = s), r + function i() { + var a = -1, + c = e.call(arguments, 0, -1), + d = arguments[arguments.length - 1] + if (typeof d != "function") throw new Error("Expected function as last argument, not " + d) + u.apply(null, [null].concat(c)) + function u(m) { + var f = o[++a], + g = e.call(arguments, 0), + b = g.slice(1), + v = c.length, + w = -1 + if (m) { + d(m) + return + } + for (; ++w < v; ) (b[w] === null || b[w] === void 0) && (b[w] = c[w]) + ;(c = b), f ? t(f, u).apply(null, c) : d.apply(null, [null].concat(c)) + } + } + function s(a) { + if (typeof a != "function") throw new Error("Expected `fn` to be a function, not " + a) + return o.push(a), r + } + } + return eR +} +var tR, d3 +function fut() { + if (d3) return tR + d3 = 1 + var t = {}.hasOwnProperty + tR = e + function e(i) { + return !i || typeof i != "object" + ? "" + : t.call(i, "position") || t.call(i, "type") + ? o(i.position) + : t.call(i, "start") || t.call(i, "end") + ? o(i) + : t.call(i, "line") || t.call(i, "column") + ? n(i) + : "" + } + function n(i) { + return (!i || typeof i != "object") && (i = {}), r(i.line) + ":" + r(i.column) + } + function o(i) { + return (!i || typeof i != "object") && (i = {}), n(i.start) + "-" + n(i.end) + } + function r(i) { + return i && typeof i == "number" ? i : 1 + } + return tR +} +var nR, u3 +function wQt() { + if (u3) return nR + u3 = 1 + var t = fut() + nR = o + function e() {} + ;(e.prototype = Error.prototype), (o.prototype = new e()) + var n = o.prototype + ;(n.file = ""), + (n.name = ""), + (n.reason = ""), + (n.message = ""), + (n.stack = ""), + (n.fatal = null), + (n.column = null), + (n.line = null) + function o(i, s, a) { + var c, d, u + typeof s == "string" && ((a = s), (s = null)), + (c = r(a)), + (d = t(s) || "1:1"), + (u = { start: { line: null, column: null }, end: { line: null, column: null } }), + s && s.position && (s = s.position), + s && (s.start ? ((u = s), (s = s.start)) : (u.start = s)), + i.stack && ((this.stack = i.stack), (i = i.message)), + (this.message = i), + (this.name = d), + (this.reason = i), + (this.line = s ? s.line : null), + (this.column = s ? s.column : null), + (this.location = u), + (this.source = c[0]), + (this.ruleId = c[1]) + } + function r(i) { + var s = [null, null], + a + return ( + typeof i == "string" && + ((a = i.indexOf(":")), a === -1 ? (s[1] = i) : ((s[0] = i.slice(0, a)), (s[1] = i.slice(a + 1)))), + s + ) + } + return nR +} +var Qu = {}, + p3 +function _Qt() { + if (p3) return Qu + ;(p3 = 1), (Qu.basename = t), (Qu.dirname = e), (Qu.extname = n), (Qu.join = o), (Qu.sep = "/") + function t(a, c) { + var d = 0, + u = -1, + m, + f, + g, + b + if (c !== void 0 && typeof c != "string") throw new TypeError('"ext" argument must be a string') + if ((s(a), (m = a.length), c === void 0 || !c.length || c.length > a.length)) { + for (; m--; ) + if (a.charCodeAt(m) === 47) { + if (g) { + d = m + 1 + break + } + } else u < 0 && ((g = !0), (u = m + 1)) + return u < 0 ? "" : a.slice(d, u) + } + if (c === a) return "" + for (f = -1, b = c.length - 1; m--; ) + if (a.charCodeAt(m) === 47) { + if (g) { + d = m + 1 + break + } + } else + f < 0 && ((g = !0), (f = m + 1)), + b > -1 && (a.charCodeAt(m) === c.charCodeAt(b--) ? b < 0 && (u = m) : ((b = -1), (u = f))) + return d === u ? (u = f) : u < 0 && (u = a.length), a.slice(d, u) + } + function e(a) { + var c, d, u + if ((s(a), !a.length)) return "." + for (c = -1, u = a.length; --u; ) + if (a.charCodeAt(u) === 47) { + if (d) { + c = u + break + } + } else d || (d = !0) + return c < 0 ? (a.charCodeAt(0) === 47 ? "/" : ".") : c === 1 && a.charCodeAt(0) === 47 ? "//" : a.slice(0, c) + } + function n(a) { + var c = -1, + d = 0, + u = -1, + m = 0, + f, + g, + b + for (s(a), b = a.length; b--; ) { + if (((g = a.charCodeAt(b)), g === 47)) { + if (f) { + d = b + 1 + break + } + continue + } + u < 0 && ((f = !0), (u = b + 1)), g === 46 ? (c < 0 ? (c = b) : m !== 1 && (m = 1)) : c > -1 && (m = -1) + } + return c < 0 || u < 0 || m === 0 || (m === 1 && c === u - 1 && c === d + 1) ? "" : a.slice(c, u) + } + function o() { + for (var a = -1, c; ++a < arguments.length; ) + s(arguments[a]), arguments[a] && (c = c === void 0 ? arguments[a] : c + "/" + arguments[a]) + return c === void 0 ? "." : r(c) + } + function r(a) { + var c, d + return ( + s(a), + (c = a.charCodeAt(0) === 47), + (d = i(a, !c)), + !d.length && !c && (d = "."), + d.length && a.charCodeAt(a.length - 1) === 47 && (d += "/"), + c ? "/" + d : d + ) + } + function i(a, c) { + for (var d = "", u = 0, m = -1, f = 0, g = -1, b, v; ++g <= a.length; ) { + if (g < a.length) b = a.charCodeAt(g) + else { + if (b === 47) break + b = 47 + } + if (b === 47) { + if (!(m === g - 1 || f === 1)) + if (m !== g - 1 && f === 2) { + if ( + d.length < 2 || + u !== 2 || + d.charCodeAt(d.length - 1) !== 46 || + d.charCodeAt(d.length - 2) !== 46 + ) { + if (d.length > 2) { + if (((v = d.lastIndexOf("/")), v !== d.length - 1)) { + v < 0 + ? ((d = ""), (u = 0)) + : ((d = d.slice(0, v)), (u = d.length - 1 - d.lastIndexOf("/"))), + (m = g), + (f = 0) + continue + } + } else if (d.length) { + ;(d = ""), (u = 0), (m = g), (f = 0) + continue + } + } + c && ((d = d.length ? d + "/.." : ".."), (u = 2)) + } else d.length ? (d += "/" + a.slice(m + 1, g)) : (d = a.slice(m + 1, g)), (u = g - m - 1) + ;(m = g), (f = 0) + } else b === 46 && f > -1 ? f++ : (f = -1) + } + return d + } + function s(a) { + if (typeof a != "string") throw new TypeError("Path must be a string. Received " + JSON.stringify(a)) + } + return Qu +} +var oR = {}, + m3 +function CQt() { + if (m3) return oR + ;(m3 = 1), (oR.cwd = t) + function t() { + return "/" + } + return oR +} +var rR, h3 +function SQt() { + if (h3) return rR + h3 = 1 + var t = _Qt(), + e = CQt(), + n = hut() + rR = i + var o = {}.hasOwnProperty, + r = ["history", "path", "basename", "stem", "extname", "dirname"] + ;(i.prototype.toString = w), + Object.defineProperty(i.prototype, "path", { get: s, set: a }), + Object.defineProperty(i.prototype, "dirname", { get: c, set: d }), + Object.defineProperty(i.prototype, "basename", { get: u, set: m }), + Object.defineProperty(i.prototype, "extname", { get: f, set: g }), + Object.defineProperty(i.prototype, "stem", { get: b, set: v }) + function i(S) { + var P, R + if (!S) S = {} + else if (typeof S == "string" || n(S)) S = { contents: S } + else if ("message" in S && "messages" in S) return S + if (!(this instanceof i)) return new i(S) + for (this.data = {}, this.messages = [], this.history = [], this.cwd = e.cwd(), R = -1; ++R < r.length; ) + (P = r[R]), o.call(S, P) && (this[P] = S[P]) + for (P in S) r.indexOf(P) < 0 && (this[P] = S[P]) + } + function s() { + return this.history[this.history.length - 1] + } + function a(S) { + y(S, "path"), this.path !== S && this.history.push(S) + } + function c() { + return typeof this.path == "string" ? t.dirname(this.path) : void 0 + } + function d(S) { + C(this.path, "dirname"), (this.path = t.join(S || "", this.basename)) + } + function u() { + return typeof this.path == "string" ? t.basename(this.path) : void 0 + } + function m(S) { + y(S, "basename"), _(S, "basename"), (this.path = t.join(this.dirname || "", S)) + } + function f() { + return typeof this.path == "string" ? t.extname(this.path) : void 0 + } + function g(S) { + if ((_(S, "extname"), C(this.path, "extname"), S)) { + if (S.charCodeAt(0) !== 46) throw new Error("`extname` must start with `.`") + if (S.indexOf(".", 1) > -1) throw new Error("`extname` cannot contain multiple dots") + } + this.path = t.join(this.dirname, this.stem + (S || "")) + } + function b() { + return typeof this.path == "string" ? t.basename(this.path, this.extname) : void 0 + } + function v(S) { + y(S, "stem"), _(S, "stem"), (this.path = t.join(this.dirname || "", S + (this.extname || ""))) + } + function w(S) { + return (this.contents || "").toString(S) + } + function _(S, P) { + if (S && S.indexOf(t.sep) > -1) throw new Error("`" + P + "` cannot be a path: did not expect `" + t.sep + "`") + } + function y(S, P) { + if (!S) throw new Error("`" + P + "` cannot be empty") + } + function C(S, P) { + if (!S) throw new Error("Setting `" + P + "` requires `path` to be set too") + } + return rR +} +var iR, f3 +function AQt() { + if (f3) return iR + f3 = 1 + var t = wQt(), + e = SQt() + ;(iR = e), (e.prototype.message = n), (e.prototype.info = r), (e.prototype.fail = o) + function n(i, s, a) { + var c = new t(i, s, a) + return ( + this.path && ((c.name = this.path + ":" + c.name), (c.file = this.path)), + (c.fatal = !1), + this.messages.push(c), + c + ) + } + function o() { + var i = this.message.apply(this, arguments) + throw ((i.fatal = !0), i) + } + function r() { + var i = this.message.apply(this, arguments) + return (i.fatal = null), i + } + return iR +} +var sR, g3 +function PQt() { + return g3 || ((g3 = 1), (sR = AQt())), sR +} +var aR, v3 +function RQt() { + if (v3) return aR + v3 = 1 + var t = bQt(), + e = hut(), + n = Nct(), + o = yQt(), + r = xQt(), + i = PQt() + aR = f().freeze() + var s = [].slice, + a = {}.hasOwnProperty, + c = r().use(d).use(u).use(m) + function d(S, P) { + P.tree = S.parse(P.file) + } + function u(S, P, R) { + S.run(P.tree, P.file, T) + function T(E, $, j) { + E ? R(E) : ((P.tree = $), (P.file = j), R()) + } + } + function m(S, P) { + var R = S.stringify(P.tree, P.file) + R == null || + (typeof R == "string" || e(R) + ? ("value" in P.file && (P.file.value = R), (P.file.contents = R)) + : (P.file.result = R)) + } + function f() { + var S = [], + P = r(), + R = {}, + T = -1, + E + return ( + ($.data = L), + ($.freeze = j), + ($.attachers = S), + ($.use = W), + ($.parse = U), + ($.stringify = X), + ($.run = Z), + ($.runSync = V), + ($.process = H), + ($.processSync = B), + $ + ) + function $() { + for (var M = f(), D = -1; ++D < S.length; ) M.use.apply(null, S[D]) + return M.data(n(!0, {}, R)), M + } + function j() { + var M, D + if (E) return $ + for (; ++T < S.length; ) + (M = S[T]), + M[1] !== !1 && + (M[1] === !0 && (M[1] = void 0), + (D = M[0].apply($, M.slice(1))), + typeof D == "function" && P.use(D)) + return (E = !0), (T = 1 / 0), $ + } + function L(M, D) { + return typeof M == "string" + ? arguments.length === 2 + ? (_("data", E), (R[M] = D), $) + : (a.call(R, M) && R[M]) || null + : M + ? (_("data", E), (R = M), $) + : R + } + function W(M) { + var D + if ((_("use", E), M != null)) + if (typeof M == "function") oe.apply(null, arguments) + else if (typeof M == "object") "length" in M ? J(M) : F(M) + else throw new Error("Expected usable value, not `" + M + "`") + return D && (R.settings = n(R.settings || {}, D)), $ + function F(ae) { + J(ae.plugins), ae.settings && (D = n(D || {}, ae.settings)) + } + function N(ae) { + if (typeof ae == "function") oe(ae) + else if (typeof ae == "object") "length" in ae ? oe.apply(null, ae) : F(ae) + else throw new Error("Expected usable value, not `" + ae + "`") + } + function J(ae) { + var Q = -1 + if (ae != null) + if (typeof ae == "object" && "length" in ae) for (; ++Q < ae.length; ) N(ae[Q]) + else throw new Error("Expected a list of plugins, not `" + ae + "`") + } + function oe(ae, Q) { + var ee = G(ae) + ee ? (o(ee[1]) && o(Q) && (Q = n(!0, ee[1], Q)), (ee[1] = Q)) : S.push(s.call(arguments)) + } + } + function G(M) { + for (var D = -1; ++D < S.length; ) if (S[D][0] === M) return S[D] + } + function U(M) { + var D = i(M), + F + return j(), (F = $.Parser), v("parse", F), g(F, "parse") ? new F(String(D), D).parse() : F(String(D), D) + } + function Z(M, D, F) { + if ((y(M), j(), !F && typeof D == "function" && ((F = D), (D = null)), !F)) return new Promise(N) + N(null, F) + function N(J, oe) { + P.run(M, i(D), ae) + function ae(Q, ee, q) { + ;(ee = ee || M), Q ? oe(Q) : J ? J(ee) : F(null, ee, q) + } + } + } + function V(M, D) { + var F, N + return Z(M, D, J), C("runSync", "run", N), F + function J(oe, ae) { + ;(N = !0), (F = ae), t(oe) + } + } + function X(M, D) { + var F = i(D), + N + return j(), (N = $.Compiler), w("stringify", N), y(M), g(N, "compile") ? new N(M, F).compile() : N(M, F) + } + function H(M, D) { + if ((j(), v("process", $.Parser), w("process", $.Compiler), !D)) return new Promise(F) + F(null, D) + function F(N, J) { + var oe = i(M) + c.run($, { file: oe }, ae) + function ae(Q) { + Q ? J(Q) : N ? N(oe) : D(null, oe) + } + } + } + function B(M) { + var D, F + return ( + j(), + v("processSync", $.Parser), + w("processSync", $.Compiler), + (D = i(M)), + H(D, N), + C("processSync", "process", F), + D + ) + function N(J) { + ;(F = !0), t(J) + } + } + } + function g(S, P) { + return typeof S == "function" && S.prototype && (b(S.prototype) || P in S.prototype) + } + function b(S) { + var P + for (P in S) return !0 + return !1 + } + function v(S, P) { + if (typeof P != "function") throw new Error("Cannot `" + S + "` without `Parser`") + } + function w(S, P) { + if (typeof P != "function") throw new Error("Cannot `" + S + "` without `Compiler`") + } + function _(S, P) { + if (P) + throw new Error( + "Cannot invoke `" + + S + + "` on a frozen processor.\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.", + ) + } + function y(S) { + if (!S || typeof S.type != "string") throw new Error("Expected node, got `" + S + "`") + } + function C(S, P, R) { + if (!R) throw new Error("`" + S + "` finished async. Use `" + P + "` instead") + } + return aR +} +var TQt = RQt() +const IQt = ps(TQt) +var lR, b3 +function MQt() { + if (b3) return lR + ;(b3 = 1), (lR = t) + function t(n) { + return ( + (n && (n.value || n.alt || n.title || ("children" in n && e(n.children)) || ("length" in n && e(n)))) || "" + ) + } + function e(n) { + for (var o = [], r = -1; ++r < n.length; ) o[r] = t(n[r]) + return o.join("") + } + return lR +} +var cR, y3 +function hy() { + if (y3) return cR + y3 = 1 + var t = Object.assign + return (cR = t), cR +} +var dR, k3 +function gut() { + if (k3) return dR + k3 = 1 + var t = {}.hasOwnProperty + return (dR = t), dR +} +var uR, x3 +function F$() { + if (x3) return uR + x3 = 1 + function t(e) { + return e + .replace(/[\t\n\r ]+/g, " ") + .replace(/^ | $/g, "") + .toLowerCase() + .toUpperCase() + } + return (uR = t), uR +} +var pR, w3 +function a0() { + if (w3) return pR + w3 = 1 + var t = String.fromCharCode + return (pR = t), pR +} +var mR, _3 +function jQt() { + if (_3) return mR + _3 = 1 + var t = a0() + function e(n, o) { + var r = parseInt(n, o) + return r < 9 || + r === 11 || + (r > 13 && r < 32) || + (r > 126 && r < 160) || + (r > 55295 && r < 57344) || + (r > 64975 && r < 65008) || + (r & 65535) === 65535 || + (r & 65535) === 65534 || + r > 1114111 + ? "�" + : t(r) + } + return (mR = e), mR +} +var ux = {}, + hR, + C3 +function Sr() { + if (C3) return hR + C3 = 1 + function t(e) { + return e < -2 + } + return (hR = t), hR +} +var fR, S3 +function Vc() { + if (S3) return fR + S3 = 1 + function t(e) { + return e === -2 || e === -1 || e === 32 + } + return (fR = t), fR +} +var gR, A3 +function ei() { + if (A3) return gR + A3 = 1 + var t = Vc() + function e(n, o, r, i) { + var s = i ? i - 1 : 1 / 0, + a = 0 + return c + function c(u) { + return t(u) ? (n.enter(r), d(u)) : o(u) + } + function d(u) { + return t(u) && a++ < s ? (n.consume(u), d) : (n.exit(r), o(u)) + } + } + return (gR = e), gR +} +var P3 +function EQt() { + if (P3) return ux + ;(P3 = 1), Object.defineProperty(ux, "__esModule", { value: !0 }) + var t = Sr(), + e = ei(), + n = o + function o(r) { + var i = r.attempt(this.parser.constructs.contentInitial, a, c), + s + return i + function a(m) { + if (m === null) { + r.consume(m) + return + } + return r.enter("lineEnding"), r.consume(m), r.exit("lineEnding"), e(r, i, "linePrefix") + } + function c(m) { + return r.enter("paragraph"), d(m) + } + function d(m) { + var f = r.enter("chunkText", { contentType: "text", previous: s }) + return s && (s.next = f), (s = f), u(m) + } + function u(m) { + if (m === null) { + r.exit("chunkText"), r.exit("paragraph"), r.consume(m) + return + } + return t(m) ? (r.consume(m), r.exit("chunkText"), d) : (r.consume(m), u) + } + } + return (ux.tokenize = n), ux +} +var px = {}, + vR, + R3 +function l0() { + if (R3) return vR + R3 = 1 + var t = Sr(), + e = ei(), + n = { tokenize: o, partial: !0 } + function o(r, i, s) { + return e(r, a, "linePrefix") + function a(c) { + return c === null || t(c) ? i(c) : s(c) + } + } + return (vR = n), vR +} +var T3 +function zQt() { + if (T3) return px + ;(T3 = 1), Object.defineProperty(px, "__esModule", { value: !0 }) + var t = Sr(), + e = ei(), + n = l0(), + o = s, + r = { tokenize: a }, + i = { tokenize: c } + function s(d) { + var u = this, + m = [], + f = 0, + g = { tokenize: j, partial: !0 }, + b, + v, + w + return _ + function _(L) { + return f < m.length ? ((u.containerState = m[f][1]), d.attempt(m[f][0].continuation, y, C)(L)) : C(L) + } + function y(L) { + return f++, _(L) + } + function C(L) { + return b && b.flowContinue + ? P(L) + : ((u.interrupt = v && v.currentConstruct && v.currentConstruct.interruptible), + (u.containerState = {}), + d.attempt(r, S, P)(L)) + } + function S(L) { + return m.push([u.currentConstruct, u.containerState]), (u.containerState = void 0), C(L) + } + function P(L) { + if (L === null) { + $(0, !0), d.consume(L) + return + } + return ( + (v = v || u.parser.flow(u.now())), + d.enter("chunkFlow", { contentType: "flow", previous: w, _tokenizer: v }), + R(L) + ) + } + function R(L) { + return L === null + ? (E(d.exit("chunkFlow")), P(L)) + : t(L) + ? (d.consume(L), E(d.exit("chunkFlow")), d.check(g, T)) + : (d.consume(L), R) + } + function T(L) { + return $(b.continued, b && b.flowEnd), (f = 0), _(L) + } + function E(L) { + w && (w.next = L), (w = L), (v.lazy = b && b.lazy), v.defineSkip(L.start), v.write(u.sliceStream(L)) + } + function $(L, W) { + var G = m.length + for (v && W && (v.write([null]), (w = v = void 0)); G-- > L; ) + (u.containerState = m[G][1]), m[G][0].exit.call(u, d) + m.length = L + } + function j(L, W) { + var G = 0 + return (b = {}), U + function U(M) { + return G < m.length + ? ((u.containerState = m[G][1]), L.attempt(m[G][0].continuation, Z, V)(M)) + : v.currentConstruct && v.currentConstruct.concrete + ? ((b.flowContinue = !0), B(M)) + : ((u.interrupt = v.currentConstruct && v.currentConstruct.interruptible), + (u.containerState = {}), + L.attempt(r, H, B)(M)) + } + function Z(M) { + return G++, u.containerState._closeFlow ? H(M) : U(M) + } + function V(M) { + return v.currentConstruct && v.currentConstruct.lazy + ? ((u.containerState = {}), L.attempt(r, H, L.attempt(i, H, L.check(n, H, X)))(M)) + : H(M) + } + function X(M) { + return (G = m.length), (b.lazy = !0), (b.flowContinue = !0), B(M) + } + function H(M) { + return (b.flowEnd = !0), B(M) + } + function B(M) { + return (b.continued = G), (u.interrupt = u.containerState = void 0), W(M) + } + } + } + function a(d, u, m) { + return e( + d, + d.attempt(this.parser.constructs.document, u, m), + "linePrefix", + this.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 4, + ) + } + function c(d, u, m) { + return e( + d, + d.lazy(this.parser.constructs.flow, u, m), + "linePrefix", + this.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 4, + ) + } + return (px.tokenize = o), px +} +var mx = {}, + bR, + I3 +function vut() { + if (I3) return bR + I3 = 1 + function t(e) { + for (var n = -1, o = 0; ++n < e.length; ) o += typeof e[n] == "string" ? e[n].length : 1 + return o + } + return (bR = t), bR +} +var yR, M3 +function c0() { + if (M3) return yR + M3 = 1 + var t = vut() + function e(n, o) { + var r = n[n.length - 1] + return !r || r[1].type !== o ? 0 : t(r[2].sliceStream(r[1])) + } + return (yR = e), yR +} +var kR, j3 +function $Qt() { + if (j3) return kR + j3 = 1 + var t = [].splice + return (kR = t), kR +} +var xR, E3 +function xu() { + if (E3) return xR + E3 = 1 + var t = $Qt() + function e(n, o, r, i) { + var s = n.length, + a = 0, + c + if ((o < 0 ? (o = -o > s ? 0 : s + o) : (o = o > s ? s : o), (r = r > 0 ? r : 0), i.length < 1e4)) + (c = Array.from(i)), c.unshift(o, r), t.apply(n, c) + else + for (r && t.apply(n, [o, r]); a < i.length; ) + (c = i.slice(a, a + 1e4)), c.unshift(o, 0), t.apply(n, c), (a += 1e4), (o += 1e4) + } + return (xR = e), xR +} +var wR, z3 +function Gf() { + if (z3) return wR + z3 = 1 + var t = hy() + function e(n) { + return t({}, n) + } + return (wR = e), wR +} +var _R, $3 +function but() { + if ($3) return _R + $3 = 1 + var t = hy(), + e = xu(), + n = Gf() + function o(i) { + for (var s = {}, a = -1, c, d, u, m, f, g, b; ++a < i.length; ) { + for (; a in s; ) a = s[a] + if ( + ((c = i[a]), + a && + c[1].type === "chunkFlow" && + i[a - 1][1].type === "listItemPrefix" && + ((g = c[1]._tokenizer.events), + (u = 0), + u < g.length && g[u][1].type === "lineEndingBlank" && (u += 2), + u < g.length && g[u][1].type === "content")) + ) + for (; ++u < g.length && g[u][1].type !== "content"; ) + g[u][1].type === "chunkText" && ((g[u][1].isInFirstContentOfListItem = !0), u++) + if (c[0] === "enter") c[1].contentType && (t(s, r(i, a)), (a = s[a]), (b = !0)) + else if (c[1]._container || c[1]._movePreviousLineEndings) { + for ( + u = a, d = void 0; + u-- && ((m = i[u]), m[1].type === "lineEnding" || m[1].type === "lineEndingBlank"); + + ) + m[0] === "enter" && (d && (i[d][1].type = "lineEndingBlank"), (m[1].type = "lineEnding"), (d = u)) + d && ((c[1].end = n(i[d][1].start)), (f = i.slice(d, a)), f.unshift(c), e(i, d, a - d + 1, f)) + } + } + return !b + } + function r(i, s) { + for ( + var a = i[s][1], + c = i[s][2], + d = s - 1, + u = [], + m = a._tokenizer || c.parser[a.contentType](a.start), + f = m.events, + g = [], + b = {}, + v, + w, + _, + y, + C, + S; + a; + + ) { + for (; i[++d][1] !== a; ); + u.push(d), + a._tokenizer || + ((v = c.sliceStream(a)), + a.next || v.push(null), + w && m.defineSkip(a.start), + a.isInFirstContentOfListItem && (m._gfmTasklistFirstContentOfListItem = !0), + m.write(v), + a.isInFirstContentOfListItem && (m._gfmTasklistFirstContentOfListItem = void 0)), + (w = a), + (a = a.next) + } + for (a = w, _ = f.length; _--; ) + f[_][0] === "enter" + ? (y = !0) + : y && + f[_][1].type === f[_ - 1][1].type && + f[_][1].start.line !== f[_][1].end.line && + (P(f.slice(_ + 1, C)), (a._tokenizer = a.next = void 0), (a = a.previous), (C = _ + 1)) + for (m.events = a._tokenizer = a.next = void 0, P(f.slice(0, C)), _ = -1, S = 0; ++_ < g.length; ) + (b[S + g[_][0]] = S + g[_][1]), (S += g[_][1] - g[_][0] - 1) + return b + function P(R) { + var T = u.pop() + g.unshift([T, T + R.length - 1]), e(i, T, 2, R) + } + } + return (_R = o), _R +} +var CR, L3 +function LQt() { + if (L3) return CR + L3 = 1 + var t = Sr(), + e = c0(), + n = but(), + o = ei(), + r = { tokenize: a, resolve: s, interruptible: !0, lazy: !0 }, + i = { tokenize: c, partial: !0 } + function s(d) { + return n(d), d + } + function a(d, u) { + var m + return f + function f(w) { + return d.enter("content"), (m = d.enter("chunkContent", { contentType: "content" })), g(w) + } + function g(w) { + return w === null ? b(w) : t(w) ? d.check(i, v, b)(w) : (d.consume(w), g) + } + function b(w) { + return d.exit("chunkContent"), d.exit("content"), u(w) + } + function v(w) { + return ( + d.consume(w), + d.exit("chunkContent"), + (m = m.next = d.enter("chunkContent", { contentType: "content", previous: m })), + g + ) + } + } + function c(d, u, m) { + var f = this + return g + function g(v) { + return d.enter("lineEnding"), d.consume(v), d.exit("lineEnding"), o(d, b, "linePrefix") + } + function b(v) { + return v === null || t(v) + ? m(v) + : f.parser.constructs.disable.null.indexOf("codeIndented") > -1 || e(f.events, "linePrefix") < 4 + ? d.interrupt(f.parser.constructs.flow, m, u)(v) + : u(v) + } + } + return (CR = r), CR +} +var D3 +function DQt() { + if (D3) return mx + ;(D3 = 1), Object.defineProperty(mx, "__esModule", { value: !0 }) + var t = LQt(), + e = ei(), + n = l0(), + o = r + function r(i) { + var s = this, + a = i.attempt( + n, + c, + i.attempt( + this.parser.constructs.flowInitial, + d, + e(i, i.attempt(this.parser.constructs.flow, d, i.attempt(t, d)), "linePrefix"), + ), + ) + return a + function c(u) { + if (u === null) { + i.consume(u) + return + } + return i.enter("lineEndingBlank"), i.consume(u), i.exit("lineEndingBlank"), (s.currentConstruct = void 0), a + } + function d(u) { + if (u === null) { + i.consume(u) + return + } + return i.enter("lineEnding"), i.consume(u), i.exit("lineEnding"), (s.currentConstruct = void 0), a + } + } + return (mx.tokenize = o), mx +} +var Dm = {}, + N3 +function yut() { + if (N3) return Dm + ;(N3 = 1), Object.defineProperty(Dm, "__esModule", { value: !0 }) + var t = hy(), + e = Gf(), + n = i("text"), + o = i("string"), + r = { resolveAll: s() } + function i(c) { + return { tokenize: d, resolveAll: s(c === "text" ? a : void 0) } + function d(u) { + var m = this, + f = this.parser.constructs[c], + g = u.attempt(f, b, v) + return b + function b(y) { + return _(y) ? g(y) : v(y) + } + function v(y) { + if (y === null) { + u.consume(y) + return + } + return u.enter("data"), u.consume(y), w + } + function w(y) { + return _(y) ? (u.exit("data"), g(y)) : (u.consume(y), w) + } + function _(y) { + var C = f[y], + S = -1 + if (y === null) return !0 + if (C) { + for (; ++S < C.length; ) if (!C[S].previous || C[S].previous.call(m, m.previous)) return !0 + } + } + } + } + function s(c) { + return d + function d(u, m) { + for (var f = -1, g; ++f <= u.length; ) + g === void 0 + ? u[f] && u[f][1].type === "data" && ((g = f), f++) + : (!u[f] || u[f][1].type !== "data") && + (f !== g + 2 && ((u[g][1].end = u[f - 1][1].end), u.splice(g + 2, f - g - 2), (f = g + 2)), + (g = void 0)) + return c ? c(u, m) : u + } + } + function a(c, d) { + for (var u = -1, m, f, g, b, v, w, _, y; ++u <= c.length; ) + if ((u === c.length || c[u][1].type === "lineEnding") && c[u - 1][1].type === "data") { + for (f = c[u - 1][1], m = d.sliceStream(f), b = m.length, v = -1, w = 0, _ = void 0; b--; ) + if (((g = m[b]), typeof g == "string")) { + for (v = g.length; g.charCodeAt(v - 1) === 32; ) w++, v-- + if (v) break + v = -1 + } else if (g === -2) (_ = !0), w++ + else if (g !== -1) { + b++ + break + } + w && + ((y = { + type: u === c.length || _ || w < 2 ? "lineSuffix" : "hardBreakTrailing", + start: { + line: f.end.line, + column: f.end.column - w, + offset: f.end.offset - w, + _index: f.start._index + b, + _bufferIndex: b ? v : f.start._bufferIndex + v, + }, + end: e(f.end), + }), + (f.end = e(y.start)), + f.start.offset === f.end.offset + ? t(f, y) + : (c.splice(u, 0, ["enter", y, d], ["exit", y, d]), (u += 2))), + u++ + } + return c + } + return (Dm.resolver = r), (Dm.string = o), (Dm.text = n), Dm +} +var SR, O3 +function B$() { + if (O3) return SR + O3 = 1 + function t(e) { + return e == null ? [] : "length" in e ? e : [e] + } + return (SR = t), SR +} +var AR, F3 +function NQt() { + if (F3) return AR + F3 = 1 + var t = gut(), + e = xu(), + n = B$() + function o(s) { + for (var a = {}, c = -1; ++c < s.length; ) r(a, s[c]) + return a + } + function r(s, a) { + var c, d, u, m + for (c in a) { + ;(d = t.call(s, c) ? s[c] : (s[c] = {})), (u = a[c]) + for (m in u) d[m] = i(n(u[m]), t.call(d, m) ? d[m] : []) + } + } + function i(s, a) { + for (var c = -1, d = []; ++c < s.length; ) (s[c].add === "after" ? a : d).push(s[c]) + return e(a, 0, 0, d), a + } + return (AR = o), AR +} +var PR, B3 +function U$() { + if (B3) return PR + B3 = 1 + var t = xu() + function e(n, o) { + return n.length ? (t(n, n.length, 0, o), n) : o + } + return (PR = e), PR +} +var RR, U3 +function q$() { + if (U3) return RR + U3 = 1 + function t(e, n, o) { + for (var r = [], i = -1, s; ++i < e.length; ) + (s = e[i].resolveAll), s && r.indexOf(s) < 0 && ((n = s(n, o)), r.push(s)) + return n + } + return (RR = t), RR +} +var TR, q3 +function OQt() { + if (q3) return TR + q3 = 1 + var t = a0() + function e(n) { + for (var o = -1, r = [], i, s, a; ++o < n.length; ) { + if (((i = n[o]), typeof i == "string")) s = i + else if (i === -5) s = "\r" + else if (i === -4) + s = ` +` + else if (i === -3) + s = `\r +` + else if (i === -2) s = " " + else if (i === -1) { + if (a) continue + s = " " + } else s = t(i) + ;(a = i === -2), r.push(s) + } + return r.join("") + } + return (TR = e), TR +} +var IR, W3 +function FQt() { + if (W3) return IR + W3 = 1 + function t(e, n) { + var o = n.start._index, + r = n.start._bufferIndex, + i = n.end._index, + s = n.end._bufferIndex, + a + return ( + o === i + ? (a = [e[o].slice(r, s)]) + : ((a = e.slice(o, i)), r > -1 && (a[0] = a[0].slice(r)), s > 0 && a.push(e[i].slice(0, s))), + a + ) + } + return (IR = t), IR +} +var MR, K3 +function BQt() { + if (K3) return MR + K3 = 1 + var t = hy(), + e = Sr(), + n = U$(), + o = xu(), + r = B$(), + i = q$(), + s = OQt(), + a = Gf(), + c = FQt() + function d(u, m, f) { + var g = f ? a(f) : { line: 1, column: 1, offset: 0 }, + b = {}, + v = [], + w = [], + _ = [], + y = { + consume: W, + enter: G, + exit: U, + attempt: X(Z), + check: X(V), + interrupt: X(V, { interrupt: !0 }), + lazy: X(V, { lazy: !0 }), + }, + C = { + previous: null, + events: [], + parser: u, + sliceStream: T, + sliceSerialize: R, + now: E, + defineSkip: $, + write: P, + }, + S = m.tokenize.call(C, y) + return m.resolveAll && v.push(m), (g._index = 0), (g._bufferIndex = -1), C + function P(D) { + return ( + (w = n(w, D)), j(), w[w.length - 1] !== null ? [] : (H(m, 0), (C.events = i(v, C.events, C)), C.events) + ) + } + function R(D) { + return s(T(D)) + } + function T(D) { + return c(w, D) + } + function E() { + return a(g) + } + function $(D) { + ;(b[D.line] = D.column), M() + } + function j() { + for (var D, F; g._index < w.length; ) + if (((F = w[g._index]), typeof F == "string")) + for ( + D = g._index, g._bufferIndex < 0 && (g._bufferIndex = 0); + g._index === D && g._bufferIndex < F.length; + + ) + L(F.charCodeAt(g._bufferIndex)) + else L(F) + } + function L(D) { + S = S(D) + } + function W(D) { + e(D) + ? (g.line++, (g.column = 1), (g.offset += D === -3 ? 2 : 1), M()) + : D !== -1 && (g.column++, g.offset++), + g._bufferIndex < 0 + ? g._index++ + : (g._bufferIndex++, g._bufferIndex === w[g._index].length && ((g._bufferIndex = -1), g._index++)), + (C.previous = D) + } + function G(D, F) { + var N = F || {} + return (N.type = D), (N.start = E()), C.events.push(["enter", N, C]), _.push(N), N + } + function U(D) { + var F = _.pop() + return (F.end = E()), C.events.push(["exit", F, C]), F + } + function Z(D, F) { + H(D, F.from) + } + function V(D, F) { + F.restore() + } + function X(D, F) { + return N + function N(J, oe, ae) { + var Q, ee, q, me + return J.tokenize || "length" in J ? ue(r(J)) : Ce + function Ce(Ke) { + return Ke in J || null in J ? ue(J.null ? r(J[Ke]).concat(r(J.null)) : J[Ke])(Ke) : ae(Ke) + } + function ue(Ke) { + return (Q = Ke), (ee = 0), Te(Ke[ee]) + } + function Te(Ke) { + return jt + function jt(Ye) { + return ( + (me = B()), + (q = Ke), + Ke.partial || (C.currentConstruct = Ke), + Ke.name && C.parser.constructs.disable.null.indexOf(Ke.name) > -1 + ? Y() + : Ke.tokenize.call(F ? t({}, C, F) : C, y, dt, Y)(Ye) + ) + } + } + function dt(Ke) { + return D(q, me), oe + } + function Y(Ke) { + return me.restore(), ++ee < Q.length ? Te(Q[ee]) : ae + } + } + } + function H(D, F) { + D.resolveAll && v.indexOf(D) < 0 && v.push(D), + D.resolve && o(C.events, F, C.events.length - F, D.resolve(C.events.slice(F), C)), + D.resolveTo && (C.events = D.resolveTo(C.events, C)) + } + function B() { + var D = E(), + F = C.previous, + N = C.currentConstruct, + J = C.events.length, + oe = Array.from(_) + return { restore: ae, from: J } + function ae() { + ;(g = D), (C.previous = F), (C.currentConstruct = N), (C.events.length = J), (_ = oe), M() + } + } + function M() { + g.line in b && g.column < 2 && ((g.column = b[g.line]), (g.offset += b[g.line] - 1)) + } + } + return (MR = d), MR +} +var Ea = {}, + jR, + V3 +function wu() { + if (V3) return jR + V3 = 1 + function t(e) { + return e < 0 || e === 32 + } + return (jR = t), jR +} +var ER, H3 +function UQt() { + if (H3) return ER + H3 = 1 + var t = + /[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/ + return (ER = t), ER +} +var zR, G3 +function _u() { + if (G3) return zR + G3 = 1 + var t = a0() + function e(n) { + return o + function o(r) { + return n.test(t(r)) + } + } + return (zR = e), zR +} +var $R, Q3 +function qQt() { + if (Q3) return $R + Q3 = 1 + var t = UQt(), + e = _u(), + n = e(t) + return ($R = n), $R +} +var LR, Z3 +function WQt() { + if (Z3) return LR + Z3 = 1 + var t = _u(), + e = t(/\s/) + return (LR = e), LR +} +var DR, Y3 +function KQt() { + if (Y3) return DR + Y3 = 1 + var t = wu(), + e = qQt(), + n = WQt() + function o(r) { + if (r === null || t(r) || n(r)) return 1 + if (e(r)) return 2 + } + return (DR = o), DR +} +var NR, X3 +function VQt() { + if (X3) return NR + X3 = 1 + function t(e, n) { + return (e.column += n), (e.offset += n), (e._bufferIndex += n), e + } + return (NR = t), NR +} +var OR, J3 +function HQt() { + if (J3) return OR + J3 = 1 + var t = U$(), + e = xu(), + n = KQt(), + o = VQt(), + r = q$(), + i = Gf(), + s = { name: "attention", tokenize: c, resolveAll: a } + function a(d, u) { + for (var m = -1, f, g, b, v, w, _, y, C; ++m < d.length; ) + if (d[m][0] === "enter" && d[m][1].type === "attentionSequence" && d[m][1]._close) { + for (f = m; f--; ) + if ( + d[f][0] === "exit" && + d[f][1].type === "attentionSequence" && + d[f][1]._open && + u.sliceSerialize(d[f][1]).charCodeAt(0) === u.sliceSerialize(d[m][1]).charCodeAt(0) + ) { + if ( + (d[f][1]._close || d[m][1]._open) && + (d[m][1].end.offset - d[m][1].start.offset) % 3 && + !( + (d[f][1].end.offset - + d[f][1].start.offset + + d[m][1].end.offset - + d[m][1].start.offset) % + 3 + ) + ) + continue + ;(_ = + d[f][1].end.offset - d[f][1].start.offset > 1 && + d[m][1].end.offset - d[m][1].start.offset > 1 + ? 2 + : 1), + (v = { + type: _ > 1 ? "strongSequence" : "emphasisSequence", + start: o(i(d[f][1].end), -_), + end: i(d[f][1].end), + }), + (w = { + type: _ > 1 ? "strongSequence" : "emphasisSequence", + start: i(d[m][1].start), + end: o(i(d[m][1].start), _), + }), + (b = { + type: _ > 1 ? "strongText" : "emphasisText", + start: i(d[f][1].end), + end: i(d[m][1].start), + }), + (g = { type: _ > 1 ? "strong" : "emphasis", start: i(v.start), end: i(w.end) }), + (d[f][1].end = i(v.start)), + (d[m][1].start = i(w.end)), + (y = []), + d[f][1].end.offset - d[f][1].start.offset && + (y = t(y, [ + ["enter", d[f][1], u], + ["exit", d[f][1], u], + ])), + (y = t(y, [ + ["enter", g, u], + ["enter", v, u], + ["exit", v, u], + ["enter", b, u], + ])), + (y = t(y, r(u.parser.constructs.insideSpan.null, d.slice(f + 1, m), u))), + (y = t(y, [ + ["exit", b, u], + ["enter", w, u], + ["exit", w, u], + ["exit", g, u], + ])), + d[m][1].end.offset - d[m][1].start.offset + ? ((C = 2), + (y = t(y, [ + ["enter", d[m][1], u], + ["exit", d[m][1], u], + ]))) + : (C = 0), + e(d, f - 1, m - f + 3, y), + (m = f + y.length - C - 2) + break + } + } + for (m = -1; ++m < d.length; ) d[m][1].type === "attentionSequence" && (d[m][1].type = "data") + return d + } + function c(d, u) { + var m = n(this.previous), + f + return g + function g(v) { + return d.enter("attentionSequence"), (f = v), b(v) + } + function b(v) { + var w, _, y, C + return v === f + ? (d.consume(v), b) + : ((w = d.exit("attentionSequence")), + (_ = n(v)), + (y = !_ || (_ === 2 && m)), + (C = !m || (m === 2 && _)), + (w._open = f === 42 ? y : y && (m || !C)), + (w._close = f === 42 ? C : C && (_ || !y)), + u(v)) + } + } + return (OR = s), OR +} +var FR, e5 +function W$() { + if (e5) return FR + e5 = 1 + var t = _u(), + e = t(/[A-Za-z]/) + return (FR = e), FR +} +var BR, t5 +function d0() { + if (t5) return BR + t5 = 1 + var t = _u(), + e = t(/[\dA-Za-z]/) + return (BR = e), BR +} +var UR, n5 +function GQt() { + if (n5) return UR + n5 = 1 + var t = _u(), + e = t(/[#-'*+\--9=?A-Z^-~]/) + return (UR = e), UR +} +var qR, o5 +function kut() { + if (o5) return qR + o5 = 1 + function t(e) { + return e < 32 || e === 127 + } + return (qR = t), qR +} +var WR, r5 +function QQt() { + if (r5) return WR + r5 = 1 + var t = W$(), + e = d0(), + n = GQt(), + o = kut(), + r = { name: "autolink", tokenize: i } + function i(s, a, c) { + var d = 1 + return u + function u(S) { + return ( + s.enter("autolink"), + s.enter("autolinkMarker"), + s.consume(S), + s.exit("autolinkMarker"), + s.enter("autolinkProtocol"), + m + ) + } + function m(S) { + return t(S) ? (s.consume(S), f) : n(S) ? v(S) : c(S) + } + function f(S) { + return S === 43 || S === 45 || S === 46 || e(S) ? g(S) : v(S) + } + function g(S) { + return S === 58 + ? (s.consume(S), b) + : (S === 43 || S === 45 || S === 46 || e(S)) && d++ < 32 + ? (s.consume(S), g) + : v(S) + } + function b(S) { + return S === 62 + ? (s.exit("autolinkProtocol"), C(S)) + : S === 32 || S === 60 || o(S) + ? c(S) + : (s.consume(S), b) + } + function v(S) { + return S === 64 ? (s.consume(S), (d = 0), w) : n(S) ? (s.consume(S), v) : c(S) + } + function w(S) { + return e(S) ? _(S) : c(S) + } + function _(S) { + return S === 46 + ? (s.consume(S), (d = 0), w) + : S === 62 + ? ((s.exit("autolinkProtocol").type = "autolinkEmail"), C(S)) + : y(S) + } + function y(S) { + return (S === 45 || e(S)) && d++ < 63 ? (s.consume(S), S === 45 ? y : _) : c(S) + } + function C(S) { + return s.enter("autolinkMarker"), s.consume(S), s.exit("autolinkMarker"), s.exit("autolink"), a + } + } + return (WR = r), WR +} +var KR, i5 +function ZQt() { + if (i5) return KR + i5 = 1 + var t = Vc(), + e = ei(), + n = { name: "blockQuote", tokenize: o, continuation: { tokenize: r }, exit: i } + function o(s, a, c) { + var d = this + return u + function u(f) { + return f === 62 + ? (d.containerState.open || (s.enter("blockQuote", { _container: !0 }), (d.containerState.open = !0)), + s.enter("blockQuotePrefix"), + s.enter("blockQuoteMarker"), + s.consume(f), + s.exit("blockQuoteMarker"), + m) + : c(f) + } + function m(f) { + return t(f) + ? (s.enter("blockQuotePrefixWhitespace"), + s.consume(f), + s.exit("blockQuotePrefixWhitespace"), + s.exit("blockQuotePrefix"), + a) + : (s.exit("blockQuotePrefix"), a(f)) + } + } + function r(s, a, c) { + return e( + s, + s.attempt(n, a, c), + "linePrefix", + this.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 4, + ) + } + function i(s) { + s.exit("blockQuote") + } + return (KR = n), KR +} +var VR, s5 +function YQt() { + if (s5) return VR + s5 = 1 + var t = _u(), + e = t(/[!-/:-@[-`{-~]/) + return (VR = e), VR +} +var HR, a5 +function XQt() { + if (a5) return HR + a5 = 1 + var t = YQt(), + e = { name: "characterEscape", tokenize: n } + function n(o, r, i) { + return s + function s(c) { + return o.enter("characterEscape"), o.enter("escapeMarker"), o.consume(c), o.exit("escapeMarker"), a + } + function a(c) { + return t(c) + ? (o.enter("characterEscapeValue"), + o.consume(c), + o.exit("characterEscapeValue"), + o.exit("characterEscape"), + r) + : i(c) + } + } + return (HR = e), HR +} +var GR, l5 +function xut() { + if (l5) return GR + l5 = 1 + var t, + e = 59 + GR = n + function n(o) { + var r = "&" + o + ";", + i + return ( + (t = t || document.createElement("i")), + (t.innerHTML = r), + (i = t.textContent), + (i.charCodeAt(i.length - 1) === e && o !== "semi") || i === r ? !1 : i + ) + } + return GR +} +var QR, c5 +function wut() { + if (c5) return QR + c5 = 1 + var t = _u(), + e = t(/\d/) + return (QR = e), QR +} +var ZR, d5 +function JQt() { + if (d5) return ZR + d5 = 1 + var t = _u(), + e = t(/[\dA-Fa-f]/) + return (ZR = e), ZR +} +var YR, u5 +function eZt() { + if (u5) return YR + u5 = 1 + var t = xut(), + e = d0(), + n = wut(), + o = JQt() + function r(c) { + return c && typeof c == "object" && "default" in c ? c : { default: c } + } + var i = r(t), + s = { name: "characterReference", tokenize: a } + function a(c, d, u) { + var m = this, + f = 0, + g, + b + return v + function v(C) { + return ( + c.enter("characterReference"), + c.enter("characterReferenceMarker"), + c.consume(C), + c.exit("characterReferenceMarker"), + w + ) + } + function w(C) { + return C === 35 + ? (c.enter("characterReferenceMarkerNumeric"), + c.consume(C), + c.exit("characterReferenceMarkerNumeric"), + _) + : (c.enter("characterReferenceValue"), (g = 31), (b = e), y(C)) + } + function _(C) { + return C === 88 || C === 120 + ? (c.enter("characterReferenceMarkerHexadecimal"), + c.consume(C), + c.exit("characterReferenceMarkerHexadecimal"), + c.enter("characterReferenceValue"), + (g = 6), + (b = o), + y) + : (c.enter("characterReferenceValue"), (g = 7), (b = n), y(C)) + } + function y(C) { + var S + return C === 59 && f + ? ((S = c.exit("characterReferenceValue")), + b === e && !i.default(m.sliceSerialize(S)) + ? u(C) + : (c.enter("characterReferenceMarker"), + c.consume(C), + c.exit("characterReferenceMarker"), + c.exit("characterReference"), + d)) + : b(C) && f++ < g + ? (c.consume(C), y) + : u(C) + } + } + return (YR = s), YR +} +var XR, p5 +function tZt() { + if (p5) return XR + p5 = 1 + var t = Sr(), + e = wu(), + n = c0(), + o = ei(), + r = { name: "codeFenced", tokenize: i, concrete: !0 } + function i(s, a, c) { + var d = this, + u = { tokenize: E, partial: !0 }, + m = n(this.events, "linePrefix"), + f = 0, + g + return b + function b($) { + return s.enter("codeFenced"), s.enter("codeFencedFence"), s.enter("codeFencedFenceSequence"), (g = $), v($) + } + function v($) { + return $ === g + ? (s.consume($), f++, v) + : (s.exit("codeFencedFenceSequence"), f < 3 ? c($) : o(s, w, "whitespace")($)) + } + function w($) { + return $ === null || t($) + ? S($) + : (s.enter("codeFencedFenceInfo"), s.enter("chunkString", { contentType: "string" }), _($)) + } + function _($) { + return $ === null || e($) + ? (s.exit("chunkString"), s.exit("codeFencedFenceInfo"), o(s, y, "whitespace")($)) + : $ === 96 && $ === g + ? c($) + : (s.consume($), _) + } + function y($) { + return $ === null || t($) + ? S($) + : (s.enter("codeFencedFenceMeta"), s.enter("chunkString", { contentType: "string" }), C($)) + } + function C($) { + return $ === null || t($) + ? (s.exit("chunkString"), s.exit("codeFencedFenceMeta"), S($)) + : $ === 96 && $ === g + ? c($) + : (s.consume($), C) + } + function S($) { + return s.exit("codeFencedFence"), d.interrupt ? a($) : P($) + } + function P($) { + return $ === null + ? T($) + : t($) + ? (s.enter("lineEnding"), + s.consume($), + s.exit("lineEnding"), + s.attempt(u, T, m ? o(s, P, "linePrefix", m + 1) : P)) + : (s.enter("codeFlowValue"), R($)) + } + function R($) { + return $ === null || t($) ? (s.exit("codeFlowValue"), P($)) : (s.consume($), R) + } + function T($) { + return s.exit("codeFenced"), a($) + } + function E($, j, L) { + var W = 0 + return o($, G, "linePrefix", this.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 4) + function G(V) { + return $.enter("codeFencedFence"), $.enter("codeFencedFenceSequence"), U(V) + } + function U(V) { + return V === g + ? ($.consume(V), W++, U) + : W < f + ? L(V) + : ($.exit("codeFencedFenceSequence"), o($, Z, "whitespace")(V)) + } + function Z(V) { + return V === null || t(V) ? ($.exit("codeFencedFence"), j(V)) : L(V) + } + } + } + return (XR = r), XR +} +var JR, m5 +function nZt() { + if (m5) return JR + m5 = 1 + var t = Sr(), + e = xu(), + n = c0(), + o = ei(), + r = { name: "codeIndented", tokenize: a, resolve: s }, + i = { tokenize: c, partial: !0 } + function s(d, u) { + var m = { type: "codeIndented", start: d[0][1].start, end: d[d.length - 1][1].end } + return e(d, 0, 0, [["enter", m, u]]), e(d, d.length, 0, [["exit", m, u]]), d + } + function a(d, u, m) { + return d.attempt(i, f, m) + function f(b) { + return b === null ? u(b) : t(b) ? d.attempt(i, f, u)(b) : (d.enter("codeFlowValue"), g(b)) + } + function g(b) { + return b === null || t(b) ? (d.exit("codeFlowValue"), f(b)) : (d.consume(b), g) + } + } + function c(d, u, m) { + var f = this + return o(d, g, "linePrefix", 5) + function g(b) { + return t(b) + ? (d.enter("lineEnding"), d.consume(b), d.exit("lineEnding"), o(d, g, "linePrefix", 5)) + : n(f.events, "linePrefix") < 4 + ? m(b) + : u(b) + } + } + return (JR = r), JR +} +var eT, h5 +function oZt() { + if (h5) return eT + h5 = 1 + var t = Sr(), + e = { name: "codeText", tokenize: r, resolve: n, previous: o } + function n(i) { + var s = i.length - 4, + a = 3, + c, + d + if ( + (i[a][1].type === "lineEnding" || i[a][1].type === "space") && + (i[s][1].type === "lineEnding" || i[s][1].type === "space") + ) { + for (c = a; ++c < s; ) + if (i[c][1].type === "codeTextData") { + ;(i[s][1].type = i[a][1].type = "codeTextPadding"), (a += 2), (s -= 2) + break + } + } + for (c = a - 1, s++; ++c <= s; ) + d === void 0 + ? c !== s && i[c][1].type !== "lineEnding" && (d = c) + : (c === s || i[c][1].type === "lineEnding") && + ((i[d][1].type = "codeTextData"), + c !== d + 2 && + ((i[d][1].end = i[c - 1][1].end), i.splice(d + 2, c - d - 2), (s -= c - d - 2), (c = d + 2)), + (d = void 0)) + return i + } + function o(i) { + return i !== 96 || this.events[this.events.length - 1][1].type === "characterEscape" + } + function r(i, s, a) { + var c = 0, + d, + u + return m + function m(w) { + return i.enter("codeText"), i.enter("codeTextSequence"), f(w) + } + function f(w) { + return w === 96 ? (i.consume(w), c++, f) : (i.exit("codeTextSequence"), g(w)) + } + function g(w) { + return w === null + ? a(w) + : w === 96 + ? ((u = i.enter("codeTextSequence")), (d = 0), v(w)) + : w === 32 + ? (i.enter("space"), i.consume(w), i.exit("space"), g) + : t(w) + ? (i.enter("lineEnding"), i.consume(w), i.exit("lineEnding"), g) + : (i.enter("codeTextData"), b(w)) + } + function b(w) { + return w === null || w === 32 || w === 96 || t(w) ? (i.exit("codeTextData"), g(w)) : (i.consume(w), b) + } + function v(w) { + return w === 96 + ? (i.consume(w), d++, v) + : d === c + ? (i.exit("codeTextSequence"), i.exit("codeText"), s(w)) + : ((u.type = "codeTextData"), b(w)) + } + } + return (eT = e), eT +} +var tT, f5 +function _ut() { + if (f5) return tT + f5 = 1 + var t = kut(), + e = wu(), + n = Sr() + function o(r, i, s, a, c, d, u, m, f) { + var g = f || 1 / 0, + b = 0 + return v + function v(P) { + return P === 60 + ? (r.enter(a), r.enter(c), r.enter(d), r.consume(P), r.exit(d), w) + : t(P) || P === 41 + ? s(P) + : (r.enter(a), r.enter(u), r.enter(m), r.enter("chunkString", { contentType: "string" }), C(P)) + } + function w(P) { + return P === 62 + ? (r.enter(d), r.consume(P), r.exit(d), r.exit(c), r.exit(a), i) + : (r.enter(m), r.enter("chunkString", { contentType: "string" }), _(P)) + } + function _(P) { + return P === 62 + ? (r.exit("chunkString"), r.exit(m), w(P)) + : P === null || P === 60 || n(P) + ? s(P) + : (r.consume(P), P === 92 ? y : _) + } + function y(P) { + return P === 60 || P === 62 || P === 92 ? (r.consume(P), _) : _(P) + } + function C(P) { + return P === 40 + ? ++b > g + ? s(P) + : (r.consume(P), C) + : P === 41 + ? b-- + ? (r.consume(P), C) + : (r.exit("chunkString"), r.exit(m), r.exit(u), r.exit(a), i(P)) + : P === null || e(P) + ? b + ? s(P) + : (r.exit("chunkString"), r.exit(m), r.exit(u), r.exit(a), i(P)) + : t(P) + ? s(P) + : (r.consume(P), P === 92 ? S : C) + } + function S(P) { + return P === 40 || P === 41 || P === 92 ? (r.consume(P), C) : C(P) + } + } + return (tT = o), tT +} +var nT, g5 +function Cut() { + if (g5) return nT + g5 = 1 + var t = Sr(), + e = Vc() + function n(o, r, i, s, a, c) { + var d = this, + u = 0, + m + return f + function f(w) { + return o.enter(s), o.enter(a), o.consume(w), o.exit(a), o.enter(c), g + } + function g(w) { + return w === null || + w === 91 || + (w === 93 && !m) || + (w === 94 && !u && "_hiddenFootnoteSupport" in d.parser.constructs) || + u > 999 + ? i(w) + : w === 93 + ? (o.exit(c), o.enter(a), o.consume(w), o.exit(a), o.exit(s), r) + : t(w) + ? (o.enter("lineEnding"), o.consume(w), o.exit("lineEnding"), g) + : (o.enter("chunkString", { contentType: "string" }), b(w)) + } + function b(w) { + return w === null || w === 91 || w === 93 || t(w) || u++ > 999 + ? (o.exit("chunkString"), g(w)) + : (o.consume(w), (m = m || !e(w)), w === 92 ? v : b) + } + function v(w) { + return w === 91 || w === 92 || w === 93 ? (o.consume(w), u++, b) : b(w) + } + } + return (nT = n), nT +} +var oT, v5 +function Sut() { + if (v5) return oT + v5 = 1 + var t = Sr(), + e = Vc(), + n = ei() + function o(r, i) { + var s + return a + function a(c) { + return t(c) + ? (r.enter("lineEnding"), r.consume(c), r.exit("lineEnding"), (s = !0), a) + : e(c) + ? n(r, a, s ? "linePrefix" : "lineSuffix")(c) + : i(c) + } + } + return (oT = o), oT +} +var rT, b5 +function Aut() { + if (b5) return rT + b5 = 1 + var t = Sr(), + e = ei() + function n(o, r, i, s, a, c) { + var d + return u + function u(v) { + return o.enter(s), o.enter(a), o.consume(v), o.exit(a), (d = v === 40 ? 41 : v), m + } + function m(v) { + return v === d ? (o.enter(a), o.consume(v), o.exit(a), o.exit(s), r) : (o.enter(c), f(v)) + } + function f(v) { + return v === d + ? (o.exit(c), m(d)) + : v === null + ? i(v) + : t(v) + ? (o.enter("lineEnding"), o.consume(v), o.exit("lineEnding"), e(o, f, "linePrefix")) + : (o.enter("chunkString", { contentType: "string" }), g(v)) + } + function g(v) { + return v === d || v === null || t(v) ? (o.exit("chunkString"), f(v)) : (o.consume(v), v === 92 ? b : g) + } + function b(v) { + return v === d || v === 92 ? (o.consume(v), g) : g(v) + } + } + return (rT = n), rT +} +var iT, y5 +function rZt() { + if (y5) return iT + y5 = 1 + var t = Sr(), + e = wu(), + n = F$(), + o = _ut(), + r = Cut(), + i = ei(), + s = Sut(), + a = Aut(), + c = { name: "definition", tokenize: u }, + d = { tokenize: m, partial: !0 } + function u(f, g, b) { + var v = this, + w + return _ + function _(S) { + return ( + f.enter("definition"), + r.call(v, f, y, b, "definitionLabel", "definitionLabelMarker", "definitionLabelString")(S) + ) + } + function y(S) { + return ( + (w = n(v.sliceSerialize(v.events[v.events.length - 1][1]).slice(1, -1))), + S === 58 + ? (f.enter("definitionMarker"), + f.consume(S), + f.exit("definitionMarker"), + s( + f, + o( + f, + f.attempt(d, i(f, C, "whitespace"), i(f, C, "whitespace")), + b, + "definitionDestination", + "definitionDestinationLiteral", + "definitionDestinationLiteralMarker", + "definitionDestinationRaw", + "definitionDestinationString", + ), + )) + : b(S) + ) + } + function C(S) { + return S === null || t(S) + ? (f.exit("definition"), v.parser.defined.indexOf(w) < 0 && v.parser.defined.push(w), g(S)) + : b(S) + } + } + function m(f, g, b) { + return v + function v(y) { + return e(y) ? s(f, w)(y) : b(y) + } + function w(y) { + return y === 34 || y === 39 || y === 40 + ? a(f, i(f, _, "whitespace"), b, "definitionTitle", "definitionTitleMarker", "definitionTitleString")(y) + : b(y) + } + function _(y) { + return y === null || t(y) ? g(y) : b(y) + } + } + return (iT = c), iT +} +var sT, k5 +function iZt() { + if (k5) return sT + k5 = 1 + var t = Sr(), + e = { name: "hardBreakEscape", tokenize: n } + function n(o, r, i) { + return s + function s(c) { + return o.enter("hardBreakEscape"), o.enter("escapeMarker"), o.consume(c), a + } + function a(c) { + return t(c) ? (o.exit("escapeMarker"), o.exit("hardBreakEscape"), r(c)) : i(c) + } + } + return (sT = e), sT +} +var aT, x5 +function sZt() { + if (x5) return aT + x5 = 1 + var t = Sr(), + e = wu(), + n = Vc(), + o = xu(), + r = ei(), + i = { name: "headingAtx", tokenize: a, resolve: s } + function s(c, d) { + var u = c.length - 2, + m = 3, + f, + g + return ( + c[m][1].type === "whitespace" && (m += 2), + u - 2 > m && c[u][1].type === "whitespace" && (u -= 2), + c[u][1].type === "atxHeadingSequence" && + (m === u - 1 || (u - 4 > m && c[u - 2][1].type === "whitespace")) && + (u -= m + 1 === u ? 2 : 4), + u > m && + ((f = { type: "atxHeadingText", start: c[m][1].start, end: c[u][1].end }), + (g = { type: "chunkText", start: c[m][1].start, end: c[u][1].end, contentType: "text" }), + o(c, m, u - m + 1, [ + ["enter", f, d], + ["enter", g, d], + ["exit", g, d], + ["exit", f, d], + ])), + c + ) + } + function a(c, d, u) { + var m = this, + f = 0 + return g + function g(y) { + return c.enter("atxHeading"), c.enter("atxHeadingSequence"), b(y) + } + function b(y) { + return y === 35 && f++ < 6 + ? (c.consume(y), b) + : y === null || e(y) + ? (c.exit("atxHeadingSequence"), m.interrupt ? d(y) : v(y)) + : u(y) + } + function v(y) { + return y === 35 + ? (c.enter("atxHeadingSequence"), w(y)) + : y === null || t(y) + ? (c.exit("atxHeading"), d(y)) + : n(y) + ? r(c, v, "whitespace")(y) + : (c.enter("atxHeadingText"), _(y)) + } + function w(y) { + return y === 35 ? (c.consume(y), w) : (c.exit("atxHeadingSequence"), v(y)) + } + function _(y) { + return y === null || y === 35 || e(y) ? (c.exit("atxHeadingText"), v(y)) : (c.consume(y), _) + } + } + return (aT = i), aT +} +var lT, w5 +function aZt() { + if (w5) return lT + w5 = 1 + var t = [ + "address", + "article", + "aside", + "base", + "basefont", + "blockquote", + "body", + "caption", + "center", + "col", + "colgroup", + "dd", + "details", + "dialog", + "dir", + "div", + "dl", + "dt", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "frame", + "frameset", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hr", + "html", + "iframe", + "legend", + "li", + "link", + "main", + "menu", + "menuitem", + "nav", + "noframes", + "ol", + "optgroup", + "option", + "p", + "param", + "section", + "source", + "summary", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "title", + "tr", + "track", + "ul", + ] + return (lT = t), lT +} +var cT, _5 +function lZt() { + if (_5) return cT + _5 = 1 + var t = ["pre", "script", "style", "textarea"] + return (cT = t), cT +} +var dT, C5 +function cZt() { + if (C5) return dT + C5 = 1 + var t = W$(), + e = d0(), + n = Sr(), + o = wu(), + r = Vc(), + i = a0(), + s = aZt(), + a = lZt(), + c = l0(), + d = { name: "htmlFlow", tokenize: f, resolveTo: m, concrete: !0 }, + u = { tokenize: g, partial: !0 } + function m(b) { + for (var v = b.length; v-- && !(b[v][0] === "enter" && b[v][1].type === "htmlFlow"); ); + return ( + v > 1 && + b[v - 2][1].type === "linePrefix" && + ((b[v][1].start = b[v - 2][1].start), (b[v + 1][1].start = b[v - 2][1].start), b.splice(v - 2, 2)), + b + ) + } + function f(b, v, w) { + var _ = this, + y, + C, + S, + P, + R + return T + function T(Y) { + return b.enter("htmlFlow"), b.enter("htmlFlowData"), b.consume(Y), E + } + function E(Y) { + return Y === 33 + ? (b.consume(Y), $) + : Y === 47 + ? (b.consume(Y), W) + : Y === 63 + ? (b.consume(Y), (y = 3), _.interrupt ? v : ue) + : t(Y) + ? (b.consume(Y), (S = i(Y)), (C = !0), G) + : w(Y) + } + function $(Y) { + return Y === 45 + ? (b.consume(Y), (y = 2), j) + : Y === 91 + ? (b.consume(Y), (y = 5), (S = "CDATA["), (P = 0), L) + : t(Y) + ? (b.consume(Y), (y = 4), _.interrupt ? v : ue) + : w(Y) + } + function j(Y) { + return Y === 45 ? (b.consume(Y), _.interrupt ? v : ue) : w(Y) + } + function L(Y) { + return Y === S.charCodeAt(P++) ? (b.consume(Y), P === S.length ? (_.interrupt ? v : oe) : L) : w(Y) + } + function W(Y) { + return t(Y) ? (b.consume(Y), (S = i(Y)), G) : w(Y) + } + function G(Y) { + return Y === null || Y === 47 || Y === 62 || o(Y) + ? Y !== 47 && C && a.indexOf(S.toLowerCase()) > -1 + ? ((y = 1), _.interrupt ? v(Y) : oe(Y)) + : s.indexOf(S.toLowerCase()) > -1 + ? ((y = 6), Y === 47 ? (b.consume(Y), U) : _.interrupt ? v(Y) : oe(Y)) + : ((y = 7), _.interrupt ? w(Y) : C ? V(Y) : Z(Y)) + : Y === 45 || e(Y) + ? (b.consume(Y), (S += i(Y)), G) + : w(Y) + } + function U(Y) { + return Y === 62 ? (b.consume(Y), _.interrupt ? v : oe) : w(Y) + } + function Z(Y) { + return r(Y) ? (b.consume(Y), Z) : N(Y) + } + function V(Y) { + return Y === 47 + ? (b.consume(Y), N) + : Y === 58 || Y === 95 || t(Y) + ? (b.consume(Y), X) + : r(Y) + ? (b.consume(Y), V) + : N(Y) + } + function X(Y) { + return Y === 45 || Y === 46 || Y === 58 || Y === 95 || e(Y) ? (b.consume(Y), X) : H(Y) + } + function H(Y) { + return Y === 61 ? (b.consume(Y), B) : r(Y) ? (b.consume(Y), H) : V(Y) + } + function B(Y) { + return Y === null || Y === 60 || Y === 61 || Y === 62 || Y === 96 + ? w(Y) + : Y === 34 || Y === 39 + ? (b.consume(Y), (R = Y), M) + : r(Y) + ? (b.consume(Y), B) + : ((R = void 0), D(Y)) + } + function M(Y) { + return Y === R ? (b.consume(Y), F) : Y === null || n(Y) ? w(Y) : (b.consume(Y), M) + } + function D(Y) { + return Y === null || Y === 34 || Y === 39 || Y === 60 || Y === 61 || Y === 62 || Y === 96 || o(Y) + ? H(Y) + : (b.consume(Y), D) + } + function F(Y) { + return Y === 47 || Y === 62 || r(Y) ? V(Y) : w(Y) + } + function N(Y) { + return Y === 62 ? (b.consume(Y), J) : w(Y) + } + function J(Y) { + return r(Y) ? (b.consume(Y), J) : Y === null || n(Y) ? oe(Y) : w(Y) + } + function oe(Y) { + return Y === 45 && y === 2 + ? (b.consume(Y), ee) + : Y === 60 && y === 1 + ? (b.consume(Y), q) + : Y === 62 && y === 4 + ? (b.consume(Y), Te) + : Y === 63 && y === 3 + ? (b.consume(Y), ue) + : Y === 93 && y === 5 + ? (b.consume(Y), Ce) + : n(Y) && (y === 6 || y === 7) + ? b.check(u, Te, ae)(Y) + : Y === null || n(Y) + ? ae(Y) + : (b.consume(Y), oe) + } + function ae(Y) { + return b.exit("htmlFlowData"), Q(Y) + } + function Q(Y) { + return Y === null + ? dt(Y) + : n(Y) + ? (b.enter("lineEnding"), b.consume(Y), b.exit("lineEnding"), Q) + : (b.enter("htmlFlowData"), oe(Y)) + } + function ee(Y) { + return Y === 45 ? (b.consume(Y), ue) : oe(Y) + } + function q(Y) { + return Y === 47 ? (b.consume(Y), (S = ""), me) : oe(Y) + } + function me(Y) { + return Y === 62 && a.indexOf(S.toLowerCase()) > -1 + ? (b.consume(Y), Te) + : t(Y) && S.length < 8 + ? (b.consume(Y), (S += i(Y)), me) + : oe(Y) + } + function Ce(Y) { + return Y === 93 ? (b.consume(Y), ue) : oe(Y) + } + function ue(Y) { + return Y === 62 ? (b.consume(Y), Te) : oe(Y) + } + function Te(Y) { + return Y === null || n(Y) ? (b.exit("htmlFlowData"), dt(Y)) : (b.consume(Y), Te) + } + function dt(Y) { + return b.exit("htmlFlow"), v(Y) + } + } + function g(b, v, w) { + return _ + function _(y) { + return ( + b.exit("htmlFlowData"), + b.enter("lineEndingBlank"), + b.consume(y), + b.exit("lineEndingBlank"), + b.attempt(c, v, w) + ) + } + } + return (dT = d), dT +} +var uT, S5 +function dZt() { + if (S5) return uT + S5 = 1 + var t = W$(), + e = d0(), + n = Sr(), + o = wu(), + r = Vc(), + i = ei(), + s = { name: "htmlText", tokenize: a } + function a(c, d, u) { + var m = this, + f, + g, + b, + v + return w + function w(q) { + return c.enter("htmlText"), c.enter("htmlTextData"), c.consume(q), _ + } + function _(q) { + return q === 33 + ? (c.consume(q), y) + : q === 47 + ? (c.consume(q), Z) + : q === 63 + ? (c.consume(q), G) + : t(q) + ? (c.consume(q), H) + : u(q) + } + function y(q) { + return q === 45 + ? (c.consume(q), C) + : q === 91 + ? (c.consume(q), (g = "CDATA["), (b = 0), E) + : t(q) + ? (c.consume(q), W) + : u(q) + } + function C(q) { + return q === 45 ? (c.consume(q), S) : u(q) + } + function S(q) { + return q === null || q === 62 ? u(q) : q === 45 ? (c.consume(q), P) : R(q) + } + function P(q) { + return q === null || q === 62 ? u(q) : R(q) + } + function R(q) { + return q === null ? u(q) : q === 45 ? (c.consume(q), T) : n(q) ? ((v = R), ae(q)) : (c.consume(q), R) + } + function T(q) { + return q === 45 ? (c.consume(q), ee) : R(q) + } + function E(q) { + return q === g.charCodeAt(b++) ? (c.consume(q), b === g.length ? $ : E) : u(q) + } + function $(q) { + return q === null ? u(q) : q === 93 ? (c.consume(q), j) : n(q) ? ((v = $), ae(q)) : (c.consume(q), $) + } + function j(q) { + return q === 93 ? (c.consume(q), L) : $(q) + } + function L(q) { + return q === 62 ? ee(q) : q === 93 ? (c.consume(q), L) : $(q) + } + function W(q) { + return q === null || q === 62 ? ee(q) : n(q) ? ((v = W), ae(q)) : (c.consume(q), W) + } + function G(q) { + return q === null ? u(q) : q === 63 ? (c.consume(q), U) : n(q) ? ((v = G), ae(q)) : (c.consume(q), G) + } + function U(q) { + return q === 62 ? ee(q) : G(q) + } + function Z(q) { + return t(q) ? (c.consume(q), V) : u(q) + } + function V(q) { + return q === 45 || e(q) ? (c.consume(q), V) : X(q) + } + function X(q) { + return n(q) ? ((v = X), ae(q)) : r(q) ? (c.consume(q), X) : ee(q) + } + function H(q) { + return q === 45 || e(q) ? (c.consume(q), H) : q === 47 || q === 62 || o(q) ? B(q) : u(q) + } + function B(q) { + return q === 47 + ? (c.consume(q), ee) + : q === 58 || q === 95 || t(q) + ? (c.consume(q), M) + : n(q) + ? ((v = B), ae(q)) + : r(q) + ? (c.consume(q), B) + : ee(q) + } + function M(q) { + return q === 45 || q === 46 || q === 58 || q === 95 || e(q) ? (c.consume(q), M) : D(q) + } + function D(q) { + return q === 61 ? (c.consume(q), F) : n(q) ? ((v = D), ae(q)) : r(q) ? (c.consume(q), D) : B(q) + } + function F(q) { + return q === null || q === 60 || q === 61 || q === 62 || q === 96 + ? u(q) + : q === 34 || q === 39 + ? (c.consume(q), (f = q), N) + : n(q) + ? ((v = F), ae(q)) + : r(q) + ? (c.consume(q), F) + : (c.consume(q), (f = void 0), oe) + } + function N(q) { + return q === f ? (c.consume(q), J) : q === null ? u(q) : n(q) ? ((v = N), ae(q)) : (c.consume(q), N) + } + function J(q) { + return q === 62 || q === 47 || o(q) ? B(q) : u(q) + } + function oe(q) { + return q === null || q === 34 || q === 39 || q === 60 || q === 61 || q === 96 + ? u(q) + : q === 62 || o(q) + ? B(q) + : (c.consume(q), oe) + } + function ae(q) { + return ( + c.exit("htmlTextData"), + c.enter("lineEnding"), + c.consume(q), + c.exit("lineEnding"), + i(c, Q, "linePrefix", m.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 4) + ) + } + function Q(q) { + return c.enter("htmlTextData"), v(q) + } + function ee(q) { + return q === 62 ? (c.consume(q), c.exit("htmlTextData"), c.exit("htmlText"), d) : u(q) + } + } + return (uT = s), uT +} +var pT, A5 +function K$() { + if (A5) return pT + A5 = 1 + var t = wu(), + e = U$(), + n = xu(), + o = F$(), + r = q$(), + i = Gf(), + s = _ut(), + a = Cut(), + c = Aut(), + d = Sut(), + u = { name: "labelEnd", tokenize: w, resolveTo: v, resolveAll: b }, + m = { tokenize: _ }, + f = { tokenize: y }, + g = { tokenize: C } + function b(S) { + for (var P = -1, R; ++P < S.length; ) + (R = S[P][1]), + !R._used && + (R.type === "labelImage" || R.type === "labelLink" || R.type === "labelEnd") && + (S.splice(P + 1, R.type === "labelImage" ? 4 : 2), (R.type = "data"), P++) + return S + } + function v(S, P) { + for (var R = S.length, T = 0, E, $, j, L, W, G, U; R--; ) + if (((L = S[R][1]), W)) { + if (L.type === "link" || (L.type === "labelLink" && L._inactive)) break + S[R][0] === "enter" && L.type === "labelLink" && (L._inactive = !0) + } else if (G) { + if ( + S[R][0] === "enter" && + (L.type === "labelImage" || L.type === "labelLink") && + !L._balanced && + ((W = R), L.type !== "labelLink") + ) { + T = 2 + break + } + } else L.type === "labelEnd" && (G = R) + return ( + (E = { + type: S[W][1].type === "labelLink" ? "link" : "image", + start: i(S[W][1].start), + end: i(S[S.length - 1][1].end), + }), + ($ = { type: "label", start: i(S[W][1].start), end: i(S[G][1].end) }), + (j = { type: "labelText", start: i(S[W + T + 2][1].end), end: i(S[G - 2][1].start) }), + (U = [ + ["enter", E, P], + ["enter", $, P], + ]), + (U = e(U, S.slice(W + 1, W + T + 3))), + (U = e(U, [["enter", j, P]])), + (U = e(U, r(P.parser.constructs.insideSpan.null, S.slice(W + T + 4, G - 3), P))), + (U = e(U, [["exit", j, P], S[G - 2], S[G - 1], ["exit", $, P]])), + (U = e(U, S.slice(G + 1))), + (U = e(U, [["exit", E, P]])), + n(S, W, S.length, U), + S + ) + } + function w(S, P, R) { + for (var T = this, E = T.events.length, $, j; E--; ) + if ( + (T.events[E][1].type === "labelImage" || T.events[E][1].type === "labelLink") && + !T.events[E][1]._balanced + ) { + $ = T.events[E][1] + break + } + return L + function L(U) { + return $ + ? $._inactive + ? G(U) + : ((j = T.parser.defined.indexOf(o(T.sliceSerialize({ start: $.end, end: T.now() }))) > -1), + S.enter("labelEnd"), + S.enter("labelMarker"), + S.consume(U), + S.exit("labelMarker"), + S.exit("labelEnd"), + W) + : R(U) + } + function W(U) { + return U === 40 + ? S.attempt(m, P, j ? P : G)(U) + : U === 91 + ? S.attempt(f, P, j ? S.attempt(g, P, G) : G)(U) + : j + ? P(U) + : G(U) + } + function G(U) { + return ($._balanced = !0), R(U) + } + } + function _(S, P, R) { + return T + function T(W) { + return S.enter("resource"), S.enter("resourceMarker"), S.consume(W), S.exit("resourceMarker"), d(S, E) + } + function E(W) { + return W === 41 + ? L(W) + : s( + S, + $, + R, + "resourceDestination", + "resourceDestinationLiteral", + "resourceDestinationLiteralMarker", + "resourceDestinationRaw", + "resourceDestinationString", + 3, + )(W) + } + function $(W) { + return t(W) ? d(S, j)(W) : L(W) + } + function j(W) { + return W === 34 || W === 39 || W === 40 + ? c(S, d(S, L), R, "resourceTitle", "resourceTitleMarker", "resourceTitleString")(W) + : L(W) + } + function L(W) { + return W === 41 + ? (S.enter("resourceMarker"), S.consume(W), S.exit("resourceMarker"), S.exit("resource"), P) + : R(W) + } + } + function y(S, P, R) { + var T = this + return E + function E(j) { + return a.call(T, S, $, R, "reference", "referenceMarker", "referenceString")(j) + } + function $(j) { + return T.parser.defined.indexOf(o(T.sliceSerialize(T.events[T.events.length - 1][1]).slice(1, -1))) < 0 + ? R(j) + : P(j) + } + } + function C(S, P, R) { + return T + function T($) { + return S.enter("reference"), S.enter("referenceMarker"), S.consume($), S.exit("referenceMarker"), E + } + function E($) { + return $ === 93 + ? (S.enter("referenceMarker"), S.consume($), S.exit("referenceMarker"), S.exit("reference"), P) + : R($) + } + } + return (pT = u), pT +} +var mT, P5 +function uZt() { + if (P5) return mT + P5 = 1 + var t = K$(), + e = { name: "labelStartImage", tokenize: n, resolveAll: t.resolveAll } + function n(o, r, i) { + var s = this + return a + function a(u) { + return o.enter("labelImage"), o.enter("labelImageMarker"), o.consume(u), o.exit("labelImageMarker"), c + } + function c(u) { + return u === 91 + ? (o.enter("labelMarker"), o.consume(u), o.exit("labelMarker"), o.exit("labelImage"), d) + : i(u) + } + function d(u) { + return u === 94 && "_hiddenFootnoteSupport" in s.parser.constructs ? i(u) : r(u) + } + } + return (mT = e), mT +} +var hT, R5 +function pZt() { + if (R5) return hT + R5 = 1 + var t = K$(), + e = { name: "labelStartLink", tokenize: n, resolveAll: t.resolveAll } + function n(o, r, i) { + var s = this + return a + function a(d) { + return ( + o.enter("labelLink"), + o.enter("labelMarker"), + o.consume(d), + o.exit("labelMarker"), + o.exit("labelLink"), + c + ) + } + function c(d) { + return d === 94 && "_hiddenFootnoteSupport" in s.parser.constructs ? i(d) : r(d) + } + } + return (hT = e), hT +} +var fT, T5 +function mZt() { + if (T5) return fT + T5 = 1 + var t = ei(), + e = { name: "lineEnding", tokenize: n } + function n(o, r) { + return i + function i(s) { + return o.enter("lineEnding"), o.consume(s), o.exit("lineEnding"), t(o, r, "linePrefix") + } + } + return (fT = e), fT +} +var gT, I5 +function Put() { + if (I5) return gT + I5 = 1 + var t = Sr(), + e = Vc(), + n = ei(), + o = { name: "thematicBreak", tokenize: r } + function r(i, s, a) { + var c = 0, + d + return u + function u(g) { + return i.enter("thematicBreak"), (d = g), m(g) + } + function m(g) { + return g === d + ? (i.enter("thematicBreakSequence"), f(g)) + : e(g) + ? n(i, m, "whitespace")(g) + : c < 3 || (g !== null && !t(g)) + ? a(g) + : (i.exit("thematicBreak"), s(g)) + } + function f(g) { + return g === d ? (i.consume(g), c++, f) : (i.exit("thematicBreakSequence"), m(g)) + } + } + return (gT = o), gT +} +var vT, M5 +function hZt() { + if (M5) return vT + M5 = 1 + var t = wut(), + e = Vc(), + n = c0(), + o = vut(), + r = ei(), + i = l0(), + s = Put(), + a = { name: "list", tokenize: u, continuation: { tokenize: m }, exit: g }, + c = { tokenize: b, partial: !0 }, + d = { tokenize: f, partial: !0 } + function u(v, w, _) { + var y = this, + C = n(y.events, "linePrefix"), + S = 0 + return P + function P(L) { + var W = y.containerState.type || (L === 42 || L === 43 || L === 45 ? "listUnordered" : "listOrdered") + if (W === "listUnordered" ? !y.containerState.marker || L === y.containerState.marker : t(L)) { + if ( + (y.containerState.type || ((y.containerState.type = W), v.enter(W, { _container: !0 })), + W === "listUnordered") + ) + return v.enter("listItemPrefix"), L === 42 || L === 45 ? v.check(s, _, T)(L) : T(L) + if (!y.interrupt || L === 49) return v.enter("listItemPrefix"), v.enter("listItemValue"), R(L) + } + return _(L) + } + function R(L) { + return t(L) && ++S < 10 + ? (v.consume(L), R) + : (!y.interrupt || S < 2) && + (y.containerState.marker ? L === y.containerState.marker : L === 41 || L === 46) + ? (v.exit("listItemValue"), T(L)) + : _(L) + } + function T(L) { + return ( + v.enter("listItemMarker"), + v.consume(L), + v.exit("listItemMarker"), + (y.containerState.marker = y.containerState.marker || L), + v.check(i, y.interrupt ? _ : E, v.attempt(c, j, $)) + ) + } + function E(L) { + return (y.containerState.initialBlankLine = !0), C++, j(L) + } + function $(L) { + return e(L) + ? (v.enter("listItemPrefixWhitespace"), v.consume(L), v.exit("listItemPrefixWhitespace"), j) + : _(L) + } + function j(L) { + return (y.containerState.size = C + o(y.sliceStream(v.exit("listItemPrefix")))), w(L) + } + } + function m(v, w, _) { + var y = this + return (y.containerState._closeFlow = void 0), v.check(i, C, S) + function C(R) { + return ( + (y.containerState.furtherBlankLines = + y.containerState.furtherBlankLines || y.containerState.initialBlankLine), + r(v, w, "listItemIndent", y.containerState.size + 1)(R) + ) + } + function S(R) { + return y.containerState.furtherBlankLines || !e(R) + ? ((y.containerState.furtherBlankLines = y.containerState.initialBlankLine = void 0), P(R)) + : ((y.containerState.furtherBlankLines = y.containerState.initialBlankLine = void 0), + v.attempt(d, w, P)(R)) + } + function P(R) { + return ( + (y.containerState._closeFlow = !0), + (y.interrupt = void 0), + r( + v, + v.attempt(a, w, _), + "linePrefix", + y.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 4, + )(R) + ) + } + } + function f(v, w, _) { + var y = this + return r(v, C, "listItemIndent", y.containerState.size + 1) + function C(S) { + return n(y.events, "listItemIndent") === y.containerState.size ? w(S) : _(S) + } + } + function g(v) { + v.exit(this.containerState.type) + } + function b(v, w, _) { + var y = this + return r( + v, + C, + "listItemPrefixWhitespace", + y.parser.constructs.disable.null.indexOf("codeIndented") > -1 ? void 0 : 5, + ) + function C(S) { + return e(S) || !n(y.events, "listItemPrefixWhitespace") ? _(S) : w(S) + } + } + return (vT = a), vT +} +var bT, j5 +function fZt() { + if (j5) return bT + j5 = 1 + var t = Sr(), + e = Gf(), + n = ei(), + o = { name: "setextUnderline", tokenize: i, resolveTo: r } + function r(s, a) { + for (var c = s.length, d, u, m, f; c--; ) + if (s[c][0] === "enter") { + if (s[c][1].type === "content") { + d = c + break + } + s[c][1].type === "paragraph" && (u = c) + } else s[c][1].type === "content" && s.splice(c, 1), !m && s[c][1].type === "definition" && (m = c) + return ( + (f = { type: "setextHeading", start: e(s[u][1].start), end: e(s[s.length - 1][1].end) }), + (s[u][1].type = "setextHeadingText"), + m + ? (s.splice(u, 0, ["enter", f, a]), + s.splice(m + 1, 0, ["exit", s[d][1], a]), + (s[d][1].end = e(s[m][1].end))) + : (s[d][1] = f), + s.push(["exit", f, a]), + s + ) + } + function i(s, a, c) { + for (var d = this, u = d.events.length, m, f; u--; ) + if ( + d.events[u][1].type !== "lineEnding" && + d.events[u][1].type !== "linePrefix" && + d.events[u][1].type !== "content" + ) { + f = d.events[u][1].type === "paragraph" + break + } + return g + function g(w) { + return !d.lazy && (d.interrupt || f) + ? (s.enter("setextHeadingLine"), s.enter("setextHeadingLineSequence"), (m = w), b(w)) + : c(w) + } + function b(w) { + return w === m ? (s.consume(w), b) : (s.exit("setextHeadingLineSequence"), n(s, v, "lineSuffix")(w)) + } + function v(w) { + return w === null || t(w) ? (s.exit("setextHeadingLine"), a(w)) : c(w) + } + } + return (bT = o), bT +} +var E5 +function gZt() { + if (E5) return Ea + ;(E5 = 1), Object.defineProperty(Ea, "__esModule", { value: !0 }) + var t = yut(), + e = HQt(), + n = QQt(), + o = ZQt(), + r = XQt(), + i = eZt(), + s = tZt(), + a = nZt(), + c = oZt(), + d = rZt(), + u = iZt(), + m = sZt(), + f = cZt(), + g = dZt(), + b = K$(), + v = uZt(), + w = pZt(), + _ = mZt(), + y = hZt(), + C = fZt(), + S = Put(), + P = { 42: y, 43: y, 45: y, 48: y, 49: y, 50: y, 51: y, 52: y, 53: y, 54: y, 55: y, 56: y, 57: y, 62: o }, + R = { 91: d }, + T = { "-2": a, "-1": a, 32: a }, + E = { 35: m, 42: S, 45: [C, S], 60: f, 61: C, 95: S, 96: s, 126: s }, + $ = { 38: i, 92: r }, + j = { "-5": _, "-4": _, "-3": _, 33: v, 38: i, 42: e, 60: [n, g], 91: w, 92: [u, r], 93: b, 95: e, 96: c }, + L = { null: [e, t.resolver] }, + W = { null: [] } + return ( + (Ea.contentInitial = R), + (Ea.disable = W), + (Ea.document = P), + (Ea.flow = E), + (Ea.flowInitial = T), + (Ea.insideSpan = L), + (Ea.string = $), + (Ea.text = j), + Ea + ) +} +var yT, z5 +function vZt() { + if (z5) return yT + z5 = 1 + var t = EQt(), + e = zQt(), + n = DQt(), + o = yut(), + r = NQt(), + i = BQt(), + s = B$(), + a = gZt() + function c(d) { + var u = d || {}, + m = { + defined: [], + constructs: r([a].concat(s(u.extensions))), + content: f(t), + document: f(e), + flow: f(n), + string: f(o.string), + text: f(o.text), + } + return m + function f(g) { + return b + function b(v) { + return i(m, g, v) + } + } + } + return (yT = c), yT +} +var kT, $5 +function bZt() { + if ($5) return kT + $5 = 1 + var t = /[\0\t\n\r]/g + function e() { + var n = !0, + o = 1, + r = "", + i + return s + function s(a, c, d) { + var u = [], + m, + f, + g, + b, + v + for ( + a = r + a.toString(c), g = 0, r = "", n && (a.charCodeAt(0) === 65279 && g++, (n = void 0)); + g < a.length; + + ) { + if (((t.lastIndex = g), (m = t.exec(a)), (b = m ? m.index : a.length), (v = a.charCodeAt(b)), !m)) { + r = a.slice(g) + break + } + if (v === 10 && g === b && i) u.push(-3), (i = void 0) + else if ((i && (u.push(-5), (i = void 0)), g < b && (u.push(a.slice(g, b)), (o += b - g)), v === 0)) + u.push(65533), o++ + else if (v === 9) for (f = Math.ceil(o / 4) * 4, u.push(-2); o++ < f; ) u.push(-1) + else v === 10 ? (u.push(-4), (o = 1)) : ((i = !0), (o = 1)) + g = b + 1 + } + return d && (i && u.push(-5), r && u.push(r), u.push(null)), u + } + } + return (kT = e), kT +} +var xT, L5 +function yZt() { + if (L5) return xT + L5 = 1 + var t = but() + function e(n) { + for (; !t(n); ); + return n + } + return (xT = e), xT +} +var wT, D5 +function kZt() { + if (D5) return wT + ;(D5 = 1), (wT = u) + var t = MQt(), + e = hy(), + n = gut(), + o = F$(), + r = jQt(), + i = vZt(), + s = bZt(), + a = yZt(), + c = xut(), + d = fut() + function u(b, v, w) { + return ( + typeof v != "string" && ((w = v), (v = void 0)), + m(w)( + a( + i(w) + .document() + .write(s()(b, v, !0)), + ), + ) + ) + } + function m(b) { + var v = b || {}, + w = f( + { + transforms: [], + canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], + enter: { + autolink: T(Bn), + autolinkProtocol: Q, + autolinkEmail: Q, + atxHeading: T(Wn), + blockQuote: T(Re), + characterEscape: Q, + characterReference: Q, + codeFenced: T(tt), + codeFencedFenceInfo: E, + codeFencedFenceMeta: E, + codeIndented: T(tt, E), + codeText: T(lt, E), + codeTextData: Q, + data: Q, + codeFlowValue: Q, + definition: T(_t), + definitionDestinationString: E, + definitionLabelString: E, + definitionTitleString: E, + emphasis: T(Kt), + hardBreakEscape: T(on), + hardBreakTrailing: T(on), + htmlFlow: T(Eo, E), + htmlFlowData: Q, + htmlText: T(Eo, E), + htmlTextData: Q, + image: T(Fo), + label: E, + link: T(Bn), + listItem: T(Kn), + listItemValue: U, + listOrdered: T(Yn, G), + listUnordered: T(Yn), + paragraph: T(Nr), + reference: Xe, + referenceString: E, + resourceDestinationString: E, + resourceTitleString: E, + setextHeading: T(Wn), + strong: T(Or), + thematicBreak: T(Jo), + }, + exit: { + atxHeading: j(), + atxHeadingSequence: N, + autolink: j(), + autolinkEmail: ge, + autolinkProtocol: _n, + blockQuote: j(), + characterEscapeValue: ee, + characterReferenceMarkerHexadecimal: Vt, + characterReferenceMarkerNumeric: Vt, + characterReferenceValue: zt, + codeFenced: j(H), + codeFencedFence: X, + codeFencedFenceInfo: Z, + codeFencedFenceMeta: V, + codeFlowValue: ee, + codeIndented: j(B), + codeText: j(Te), + codeTextData: ee, + data: ee, + definition: j(), + definitionDestinationString: F, + definitionLabelString: M, + definitionTitleString: D, + emphasis: j(), + hardBreakEscape: j(me), + hardBreakTrailing: j(me), + htmlFlow: j(Ce), + htmlFlowData: ee, + htmlText: j(ue), + htmlTextData: ee, + image: j(Y), + label: jt, + labelText: Ke, + lineEnding: q, + link: j(dt), + listItem: j(), + listOrdered: j(), + listUnordered: j(), + paragraph: j(), + referenceString: Tt, + resourceDestinationString: Ye, + resourceTitleString: Bt, + resource: nn, + setextHeading: j(ae), + setextHeadingLineSequence: oe, + setextHeadingText: J, + strong: j(), + thematicBreak: j(), + }, + }, + v.mdastExtensions || [], + ), + _ = {} + return y + function y(xe) { + for ( + var $t = { type: "root", children: [] }, + gn = [$t], + an = [], + no = [], + vn = -1, + oo, + Bo, + ro = { + stack: gn, + tokenStack: an, + config: w, + enter: $, + exit: L, + buffer: E, + resume: W, + setData: S, + getData: P, + }; + ++vn < xe.length; + + ) + (xe[vn][1].type === "listOrdered" || xe[vn][1].type === "listUnordered") && + (xe[vn][0] === "enter" ? no.push(vn) : ((Bo = no.pop(vn)), (vn = C(xe, Bo, vn)))) + for (vn = -1; ++vn < xe.length; ) + (oo = w[xe[vn][0]]), + n.call(oo, xe[vn][1].type) && + oo[xe[vn][1].type].call(e({ sliceSerialize: xe[vn][2].sliceSerialize }, ro), xe[vn][1]) + if (an.length) + throw new Error( + "Cannot close document, a token (`" + + an[an.length - 1].type + + "`, " + + d({ start: an[an.length - 1].start, end: an[an.length - 1].end }) + + ") is still open", + ) + for ( + $t.position = { + start: R(xe.length ? xe[0][1].start : { line: 1, column: 1, offset: 0 }), + end: R(xe.length ? xe[xe.length - 2][1].end : { line: 1, column: 1, offset: 0 }), + }, + vn = -1; + ++vn < w.transforms.length; + + ) + $t = w.transforms[vn]($t) || $t + return $t + } + function C(xe, $t, gn) { + for (var an = $t - 1, no = -1, vn = !1, oo, Bo, ro, bo, Ln, yo, ko; ++an <= gn; ) + if ( + ((Ln = xe[an]), + Ln[1].type === "listUnordered" || Ln[1].type === "listOrdered" || Ln[1].type === "blockQuote" + ? (Ln[0] === "enter" ? no++ : no--, (ko = void 0)) + : Ln[1].type === "lineEndingBlank" + ? Ln[0] === "enter" && (oo && !ko && !no && !yo && (yo = an), (ko = void 0)) + : Ln[1].type === "linePrefix" || + Ln[1].type === "listItemValue" || + Ln[1].type === "listItemMarker" || + Ln[1].type === "listItemPrefix" || + Ln[1].type === "listItemPrefixWhitespace" || + (ko = void 0), + (!no && Ln[0] === "enter" && Ln[1].type === "listItemPrefix") || + (no === -1 && + Ln[0] === "exit" && + (Ln[1].type === "listUnordered" || Ln[1].type === "listOrdered"))) + ) { + if (oo) { + for (Bo = an, ro = void 0; Bo--; ) + if (((bo = xe[Bo]), bo[1].type === "lineEnding" || bo[1].type === "lineEndingBlank")) { + if (bo[0] === "exit") continue + ro && ((xe[ro][1].type = "lineEndingBlank"), (vn = !0)), + (bo[1].type = "lineEnding"), + (ro = Bo) + } else if ( + !( + bo[1].type === "linePrefix" || + bo[1].type === "blockQuotePrefix" || + bo[1].type === "blockQuotePrefixWhitespace" || + bo[1].type === "blockQuoteMarker" || + bo[1].type === "listItemIndent" + ) + ) + break + yo && (!ro || yo < ro) && (oo._spread = !0), + (oo.end = R(ro ? xe[ro][1].start : Ln[1].end)), + xe.splice(ro || an, 0, ["exit", oo, Ln[2]]), + an++, + gn++ + } + Ln[1].type === "listItemPrefix" && + ((oo = { type: "listItem", _spread: !1, start: R(Ln[1].start) }), + xe.splice(an, 0, ["enter", oo, Ln[2]]), + an++, + gn++, + (yo = void 0), + (ko = !0)) + } + return (xe[$t][1]._spread = vn), gn + } + function S(xe, $t) { + _[xe] = $t + } + function P(xe) { + return _[xe] + } + function R(xe) { + return { line: xe.line, column: xe.column, offset: xe.offset } + } + function T(xe, $t) { + return gn + function gn(an) { + $.call(this, xe(an), an), $t && $t.call(this, an) + } + } + function E() { + this.stack.push({ type: "fragment", children: [] }) + } + function $(xe, $t) { + return ( + this.stack[this.stack.length - 1].children.push(xe), + this.stack.push(xe), + this.tokenStack.push($t), + (xe.position = { start: R($t.start) }), + xe + ) + } + function j(xe) { + return $t + function $t(gn) { + xe && xe.call(this, gn), L.call(this, gn) + } + } + function L(xe) { + var $t = this.stack.pop(), + gn = this.tokenStack.pop() + if (gn) { + if (gn.type !== xe.type) + throw new Error( + "Cannot close `" + + xe.type + + "` (" + + d({ start: xe.start, end: xe.end }) + + "): a different token (`" + + gn.type + + "`, " + + d({ start: gn.start, end: gn.end }) + + ") is open", + ) + } else + throw new Error( + "Cannot close `" + xe.type + "` (" + d({ start: xe.start, end: xe.end }) + "): it’s not open", + ) + return ($t.position.end = R(xe.end)), $t + } + function W() { + return t(this.stack.pop()) + } + function G() { + S("expectingFirstListItemValue", !0) + } + function U(xe) { + P("expectingFirstListItemValue") && + ((this.stack[this.stack.length - 2].start = parseInt(this.sliceSerialize(xe), 10)), + S("expectingFirstListItemValue")) + } + function Z() { + var xe = this.resume() + this.stack[this.stack.length - 1].lang = xe + } + function V() { + var xe = this.resume() + this.stack[this.stack.length - 1].meta = xe + } + function X() { + P("flowCodeInside") || (this.buffer(), S("flowCodeInside", !0)) + } + function H() { + var xe = this.resume() + ;(this.stack[this.stack.length - 1].value = xe.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, "")), S("flowCodeInside") + } + function B() { + var xe = this.resume() + this.stack[this.stack.length - 1].value = xe + } + function M(xe) { + var $t = this.resume() + ;(this.stack[this.stack.length - 1].label = $t), + (this.stack[this.stack.length - 1].identifier = o(this.sliceSerialize(xe)).toLowerCase()) + } + function D() { + var xe = this.resume() + this.stack[this.stack.length - 1].title = xe + } + function F() { + var xe = this.resume() + this.stack[this.stack.length - 1].url = xe + } + function N(xe) { + this.stack[this.stack.length - 1].depth || + (this.stack[this.stack.length - 1].depth = this.sliceSerialize(xe).length) + } + function J() { + S("setextHeadingSlurpLineEnding", !0) + } + function oe(xe) { + this.stack[this.stack.length - 1].depth = this.sliceSerialize(xe).charCodeAt(0) === 61 ? 1 : 2 + } + function ae() { + S("setextHeadingSlurpLineEnding") + } + function Q(xe) { + var $t = this.stack[this.stack.length - 1].children, + gn = $t[$t.length - 1] + ;(!gn || gn.type !== "text") && + ((gn = uo()), + (gn.position = { start: R(xe.start) }), + this.stack[this.stack.length - 1].children.push(gn)), + this.stack.push(gn) + } + function ee(xe) { + var $t = this.stack.pop() + ;($t.value += this.sliceSerialize(xe)), ($t.position.end = R(xe.end)) + } + function q(xe) { + var $t = this.stack[this.stack.length - 1] + if (P("atHardBreak")) { + ;($t.children[$t.children.length - 1].position.end = R(xe.end)), S("atHardBreak") + return + } + !P("setextHeadingSlurpLineEnding") && + w.canContainEols.indexOf($t.type) > -1 && + (Q.call(this, xe), ee.call(this, xe)) + } + function me() { + S("atHardBreak", !0) + } + function Ce() { + var xe = this.resume() + this.stack[this.stack.length - 1].value = xe + } + function ue() { + var xe = this.resume() + this.stack[this.stack.length - 1].value = xe + } + function Te() { + var xe = this.resume() + this.stack[this.stack.length - 1].value = xe + } + function dt() { + var xe = this.stack[this.stack.length - 1] + P("inReference") + ? ((xe.type += "Reference"), + (xe.referenceType = P("referenceType") || "shortcut"), + delete xe.url, + delete xe.title) + : (delete xe.identifier, delete xe.label, delete xe.referenceType), + S("referenceType") + } + function Y() { + var xe = this.stack[this.stack.length - 1] + P("inReference") + ? ((xe.type += "Reference"), + (xe.referenceType = P("referenceType") || "shortcut"), + delete xe.url, + delete xe.title) + : (delete xe.identifier, delete xe.label, delete xe.referenceType), + S("referenceType") + } + function Ke(xe) { + this.stack[this.stack.length - 2].identifier = o(this.sliceSerialize(xe)).toLowerCase() + } + function jt() { + var xe = this.stack[this.stack.length - 1], + $t = this.resume() + ;(this.stack[this.stack.length - 1].label = $t), + S("inReference", !0), + this.stack[this.stack.length - 1].type === "link" + ? (this.stack[this.stack.length - 1].children = xe.children) + : (this.stack[this.stack.length - 1].alt = $t) + } + function Ye() { + var xe = this.resume() + this.stack[this.stack.length - 1].url = xe + } + function Bt() { + var xe = this.resume() + this.stack[this.stack.length - 1].title = xe + } + function nn() { + S("inReference") + } + function Xe() { + S("referenceType", "collapsed") + } + function Tt(xe) { + var $t = this.resume() + ;(this.stack[this.stack.length - 1].label = $t), + (this.stack[this.stack.length - 1].identifier = o(this.sliceSerialize(xe)).toLowerCase()), + S("referenceType", "full") + } + function Vt(xe) { + S("characterReferenceType", xe.type) + } + function zt(xe) { + var $t = this.sliceSerialize(xe), + gn = P("characterReferenceType"), + an, + no + gn + ? ((an = r($t, gn === "characterReferenceMarkerNumeric" ? 10 : 16)), S("characterReferenceType")) + : (an = c($t)), + (no = this.stack.pop()), + (no.value += an), + (no.position.end = R(xe.end)) + } + function _n(xe) { + ee.call(this, xe), (this.stack[this.stack.length - 1].url = this.sliceSerialize(xe)) + } + function ge(xe) { + ee.call(this, xe), (this.stack[this.stack.length - 1].url = "mailto:" + this.sliceSerialize(xe)) + } + function Re() { + return { type: "blockquote", children: [] } + } + function tt() { + return { type: "code", lang: null, meta: null, value: "" } + } + function lt() { + return { type: "inlineCode", value: "" } + } + function _t() { + return { type: "definition", identifier: "", label: null, title: null, url: "" } + } + function Kt() { + return { type: "emphasis", children: [] } + } + function Wn() { + return { type: "heading", depth: void 0, children: [] } + } + function on() { + return { type: "break" } + } + function Eo() { + return { type: "html", value: "" } + } + function Fo() { + return { type: "image", title: null, url: "", alt: null } + } + function Bn() { + return { type: "link", title: null, url: "", children: [] } + } + function Yn(xe) { + return { type: "list", ordered: xe.type === "listOrdered", start: null, spread: xe._spread, children: [] } + } + function Kn(xe) { + return { type: "listItem", spread: xe._spread, checked: null, children: [] } + } + function Nr() { + return { type: "paragraph", children: [] } + } + function Or() { + return { type: "strong", children: [] } + } + function uo() { + return { type: "text", value: "" } + } + function Jo() { + return { type: "thematicBreak" } + } + } + function f(b, v) { + for (var w = -1; ++w < v.length; ) g(b, v[w]) + return b + } + function g(b, v) { + var w, _ + for (w in v) + (_ = n.call(b, w) ? b[w] : (b[w] = {})), + w === "canContainEols" || w === "transforms" ? (b[w] = [].concat(_, v[w])) : Object.assign(_, v[w]) + } + return wT +} +var _T, N5 +function xZt() { + return N5 || ((N5 = 1), (_T = kZt())), _T +} +var CT, O5 +function wZt() { + if (O5) return CT + ;(O5 = 1), (CT = e) + var t = xZt() + function e(n) { + var o = this + this.Parser = r + function r(i) { + return t( + i, + Object.assign({}, o.data("settings"), n, { + extensions: o.data("micromarkExtensions") || [], + mdastExtensions: o.data("fromMarkdownExtensions") || [], + }), + ) + } + } + return CT +} +var _Zt = wZt() +const CZt = ps(_Zt) +var ST, F5 +function wa() { + if (F5) return ST + ;(F5 = 1), (ST = t) + function t(e, n, o) { + var r + return ( + o == null && (typeof n != "object" || Array.isArray(n)) && ((o = n), (n = {})), + (r = Object.assign({ type: String(e) }, n)), + Array.isArray(o) ? (r.children = o) : o != null && (r.value = String(o)), + r + ) + } + return ST +} +var AT, B5 +function Rut() { + if (B5) return AT + ;(B5 = 1), (AT = t) + function t(i) { + if (i == null) return r + if (typeof i == "string") return o(i) + if (typeof i == "object") return "length" in i ? n(i) : e(i) + if (typeof i == "function") return i + throw new Error("Expected function, string, or object as test") + } + function e(i) { + return s + function s(a) { + var c + for (c in i) if (a[c] !== i[c]) return !1 + return !0 + } + } + function n(i) { + for (var s = [], a = -1; ++a < i.length; ) s[a] = t(i[a]) + return c + function c() { + for (var d = -1; ++d < s.length; ) if (s[d].apply(this, arguments)) return !0 + return !1 + } + } + function o(i) { + return s + function s(a) { + return !!(a && a.type === i) + } + } + function r() { + return !0 + } + return AT +} +var PT, U5 +function SZt() { + if (U5) return PT + ;(U5 = 1), (PT = t) + function t(e) { + return e + } + return PT +} +var RT, q5 +function AZt() { + if (q5) return RT + ;(q5 = 1), (RT = i) + var t = Rut(), + e = SZt(), + n = !0, + o = "skip", + r = !1 + ;(i.CONTINUE = n), (i.SKIP = o), (i.EXIT = r) + function i(a, c, d, u) { + var m, f + typeof c == "function" && typeof d != "function" && ((u = d), (d = c), (c = null)), + (f = t(c)), + (m = u ? -1 : 1), + g(a, null, [])() + function g(b, v, w) { + var _ = typeof b == "object" && b !== null ? b : {}, + y + return ( + typeof _.type == "string" && + ((y = typeof _.tagName == "string" ? _.tagName : typeof _.name == "string" ? _.name : void 0), + (C.displayName = "node (" + e(_.type + (y ? "<" + y + ">" : "")) + ")")), + C + ) + function C() { + var S = w.concat(b), + P = [], + R, + T + if ((!c || f(b, v, w[w.length - 1] || null)) && ((P = s(d(b, w))), P[0] === r)) return P + if (b.children && P[0] !== o) + for (T = (u ? b.children.length : -1) + m; T > -1 && T < b.children.length; ) { + if (((R = g(b.children[T], T, S)()), R[0] === r)) return R + T = typeof R[1] == "number" ? R[1] : T + m + } + return P + } + } + } + function s(a) { + return a !== null && typeof a == "object" && "length" in a ? a : typeof a == "number" ? [n, a] : [a] + } + return RT +} +var TT, W5 +function Tut() { + if (W5) return TT + ;(W5 = 1), (TT = r) + var t = AZt(), + e = t.CONTINUE, + n = t.SKIP, + o = t.EXIT + ;(r.CONTINUE = e), (r.SKIP = n), (r.EXIT = o) + function r(i, s, a, c) { + typeof s == "function" && typeof a != "function" && ((c = a), (a = s), (s = null)), t(i, s, d, c) + function d(u, m) { + var f = m[m.length - 1], + g = f ? f.children.indexOf(u) : null + return a(u, g, f) + } + } + return TT +} +var IT, K5 +function Iut() { + if (K5) return IT + K5 = 1 + var t = o("start"), + e = o("end") + ;(IT = n), (n.start = t), (n.end = e) + function n(r) { + return { start: t(r), end: e(r) } + } + function o(r) { + return (i.displayName = r), i + function i(s) { + var a = (s && s.position && s.position[r]) || {} + return { line: a.line || null, column: a.column || null, offset: isNaN(a.offset) ? null : a.offset } + } + } + return IT +} +var MT, V5 +function PZt() { + if (V5) return MT + ;(V5 = 1), (MT = t) + function t(e) { + return ( + !e || + !e.position || + !e.position.start || + !e.position.start.line || + !e.position.start.column || + !e.position.end || + !e.position.end.line || + !e.position.end.column + ) + } + return MT +} +var jT, H5 +function RZt() { + if (H5) return jT + H5 = 1 + var t = Tut() + jT = n + var e = {}.hasOwnProperty + function n(s, a) { + return r(o(s)) + } + function o(s) { + var a = {} + if (!s || !s.type) throw new Error("mdast-util-definitions expected node") + return t(s, "definition", c), a + function c(d) { + var u = i(d.identifier) + e.call(a, u) || (a[u] = d) + } + } + function r(s) { + return a + function a(c) { + var d = c && i(c) + return d && e.call(s, d) ? s[d] : null + } + } + function i(s) { + return s.toUpperCase() + } + return jT +} +var ET, G5 +function ks() { + if (G5) return ET + ;(G5 = 1), (ET = e) + var t = Mut() + function e(n, o) { + for (var r = o.children || [], i = r.length, s = [], a = -1, c, d; ++a < i; ) + (c = t(n, r[a], o)), + c && + (a && + r[a - 1].type === "break" && + (c.value && (c.value = c.value.replace(/^\s+/, "")), + (d = c.children && c.children[0]), + d && d.value && (d.value = d.value.replace(/^\s+/, ""))), + (s = s.concat(c))) + return s + } + return ET +} +var zT, Q5 +function Mut() { + if (Q5) return zT + ;(Q5 = 1), (zT = r) + var t = wa(), + e = ks(), + n = {}.hasOwnProperty + function o(a, c) { + return i(c) ? a.augment(c, t("text", c.value)) : a(c, "div", e(a, c)) + } + function r(a, c, d) { + var u = c && c.type, + m + if (!u) throw new Error("Expected node, got `" + c + "`") + return ( + n.call(a.handlers, u) + ? (m = a.handlers[u]) + : a.passThrough && a.passThrough.indexOf(u) > -1 + ? (m = s) + : (m = a.unknownHandler), + (typeof m == "function" ? m : o)(a, c, d) + ) + } + function i(a) { + var c = a.data || {} + return n.call(c, "hName") || n.call(c, "hProperties") || n.call(c, "hChildren") ? !1 : "value" in a + } + function s(a, c) { + var d + return c.children ? ((d = Object.assign({}, c)), (d.children = e(a, c)), d) : c + } + return zT +} +var $T, Z5 +function jut() { + if (Z5) return $T + ;(Z5 = 1), ($T = t) + function t(e, n) { + return e(n, "hr") + } + return $T +} +var LT, Y5 +function fy() { + if (Y5) return LT + ;(Y5 = 1), (LT = e) + var t = wa() + function e(n, o) { + var r = [], + i = -1, + s = n.length + for ( + o && + r.push( + t( + "text", + ` +`, + ), + ); + ++i < s; + + ) + i && + r.push( + t( + "text", + ` +`, + ), + ), + r.push(n[i]) + return ( + o && + n.length > 0 && + r.push( + t( + "text", + ` +`, + ), + ), + r + ) + } + return LT +} +var DT, X5 +function Eut() { + if (X5) return DT + ;(X5 = 1), (DT = n) + var t = fy(), + e = ks() + function n(o, r) { + var i = {}, + s = r.ordered ? "ol" : "ul", + a, + c = -1, + d + for (typeof r.start == "number" && r.start !== 1 && (i.start = r.start), a = e(o, r), d = a.length; ++c < d; ) + if (a[c].properties.className && a[c].properties.className.indexOf("task-list-item") !== -1) { + i.className = ["contains-task-list"] + break + } + return o(r, s, i, t(a, !0)) + } + return DT +} +var NT, J5 +function TZt() { + if (J5) return NT + ;(J5 = 1), (NT = o) + var t = jut(), + e = Eut(), + n = fy() + function o(r) { + for (var i = r.footnoteById, s = r.footnoteOrder, a = s.length, c = -1, d = [], u, m, f, g; ++c < a; ) + (u = i[s[c].toUpperCase()]), + u && + ((f = u.children.concat()), + (g = f[f.length - 1]), + (m = { + type: "link", + url: "#fnref-" + u.identifier, + data: { hProperties: { className: ["footnote-backref"] } }, + children: [{ type: "text", value: "↩" }], + }), + (!g || g.type !== "paragraph") && ((g = { type: "paragraph", children: [] }), f.push(g)), + g.children.push(m), + d.push({ + type: "listItem", + data: { hProperties: { id: "fn-" + u.identifier } }, + children: f, + position: u.position, + })) + return d.length === 0 + ? null + : r( + null, + "div", + { className: ["footnotes"] }, + n([t(r), e(r, { type: "list", ordered: !0, children: d })], !0), + ) + } + return NT +} +var OT, e4 +function IZt() { + if (e4) return OT + ;(e4 = 1), (OT = n) + var t = fy(), + e = ks() + function n(o, r) { + return o(r, "blockquote", t(e(o, r), !0)) + } + return OT +} +var FT, t4 +function MZt() { + if (t4) return FT + ;(t4 = 1), (FT = e) + var t = wa() + function e(n, o) { + return [ + n(o, "br"), + t( + "text", + ` +`, + ), + ] + } + return FT +} +var BT, n4 +function jZt() { + if (n4) return BT + ;(n4 = 1), (BT = e) + var t = wa() + function e(n, o) { + var r = o.value + ? o.value + + ` +` + : "", + i = o.lang && o.lang.match(/^[^ \t]+(?=[ \t]|$)/), + s = {}, + a + return ( + i && (s.className = ["language-" + i]), + (a = n(o, "code", s, [t("text", r)])), + o.meta && (a.data = { meta: o.meta }), + n(o.position, "pre", [a]) + ) + } + return BT +} +var UT, o4 +function EZt() { + if (o4) return UT + ;(o4 = 1), (UT = e) + var t = ks() + function e(n, o) { + return n(o, "del", t(n, o)) + } + return UT +} +var qT, r4 +function zZt() { + if (r4) return qT + ;(r4 = 1), (qT = e) + var t = ks() + function e(n, o) { + return n(o, "em", t(n, o)) + } + return qT +} +var WT, i4 +function zut() { + if (i4) return WT + ;(i4 = 1), (WT = e) + var t = wa() + function e(n, o) { + var r = n.footnoteOrder, + i = String(o.identifier) + return ( + r.indexOf(i) === -1 && r.push(i), + n(o.position, "sup", { id: "fnref-" + i }, [ + n(o, "a", { href: "#fn-" + i, className: ["footnote-ref"] }, [t("text", o.label || i)]), + ]) + ) + } + return WT +} +var KT, s4 +function $Zt() { + if (s4) return KT + ;(s4 = 1), (KT = e) + var t = zut() + function e(n, o) { + for (var r = n.footnoteById, i = n.footnoteOrder, s = 1; s in r; ) s++ + return ( + (s = String(s)), + i.push(s), + (r[s] = { + type: "footnoteDefinition", + identifier: s, + children: [{ type: "paragraph", children: o.children }], + position: o.position, + }), + t(n, { type: "footnoteReference", identifier: s, position: o.position }) + ) + } + return KT +} +var VT, a4 +function LZt() { + if (a4) return VT + ;(a4 = 1), (VT = e) + var t = ks() + function e(n, o) { + return n(o, "h" + o.depth, t(n, o)) + } + return VT +} +var HT, l4 +function DZt() { + if (l4) return HT + ;(l4 = 1), (HT = e) + var t = wa() + function e(n, o) { + return n.dangerous ? n.augment(o, t("raw", o.value)) : null + } + return HT +} +var GT, c4 +function u0() { + if (c4) return GT + c4 = 1 + var t = {} + function e(o) { + var r, + i, + s = t[o] + if (s) return s + for (s = t[o] = [], r = 0; r < 128; r++) + (i = String.fromCharCode(r)), + /^[0-9a-z]$/i.test(i) ? s.push(i) : s.push("%" + ("0" + r.toString(16).toUpperCase()).slice(-2)) + for (r = 0; r < o.length; r++) s[o.charCodeAt(r)] = o[r] + return s + } + function n(o, r, i) { + var s, + a, + c, + d, + u, + m = "" + for ( + typeof r != "string" && ((i = r), (r = n.defaultChars)), + typeof i > "u" && (i = !0), + u = e(r), + s = 0, + a = o.length; + s < a; + s++ + ) { + if (((c = o.charCodeAt(s)), i && c === 37 && s + 2 < a && /^[0-9a-f]{2}$/i.test(o.slice(s + 1, s + 3)))) { + ;(m += o.slice(s, s + 3)), (s += 2) + continue + } + if (c < 128) { + m += u[c] + continue + } + if (c >= 55296 && c <= 57343) { + if (c >= 55296 && c <= 56319 && s + 1 < a && ((d = o.charCodeAt(s + 1)), d >= 56320 && d <= 57343)) { + ;(m += encodeURIComponent(o[s] + o[s + 1])), s++ + continue + } + m += "%EF%BF%BD" + continue + } + m += encodeURIComponent(o[s]) + } + return m + } + return (n.defaultChars = ";/?:@&=+$,-_.!~*'()#"), (n.componentChars = "-_.!~*'()"), (GT = n), GT +} +var QT, d4 +function $ut() { + if (d4) return QT + ;(d4 = 1), (QT = n) + var t = wa(), + e = ks() + function n(o, r) { + var i = r.referenceType, + s = "]", + a, + c, + d + return ( + i === "collapsed" ? (s += "[]") : i === "full" && (s += "[" + (r.label || r.identifier) + "]"), + r.type === "imageReference" + ? t("text", "![" + r.alt + s) + : ((a = e(o, r)), + (c = a[0]), + c && c.type === "text" ? (c.value = "[" + c.value) : a.unshift(t("text", "[")), + (d = a[a.length - 1]), + d && d.type === "text" ? (d.value += s) : a.push(t("text", s)), + a) + ) + } + return QT +} +var ZT, u4 +function NZt() { + if (u4) return ZT + ;(u4 = 1), (ZT = n) + var t = u0(), + e = $ut() + function n(o, r) { + var i = o.definition(r.identifier), + s + return i + ? ((s = { src: t(i.url || ""), alt: r.alt }), + i.title !== null && i.title !== void 0 && (s.title = i.title), + o(r, "img", s)) + : e(o, r) + } + return ZT +} +var YT, p4 +function OZt() { + if (p4) return YT + p4 = 1 + var t = u0() + YT = e + function e(n, o) { + var r = { src: t(o.url), alt: o.alt } + return o.title !== null && o.title !== void 0 && (r.title = o.title), n(o, "img", r) + } + return YT +} +var XT, m4 +function FZt() { + if (m4) return XT + ;(m4 = 1), (XT = e) + var t = wa() + function e(n, o) { + var r = o.value.replace(/\r?\n|\r/g, " ") + return n(o, "code", [t("text", r)]) + } + return XT +} +var JT, h4 +function BZt() { + if (h4) return JT + ;(h4 = 1), (JT = o) + var t = u0(), + e = $ut(), + n = ks() + function o(r, i) { + var s = r.definition(i.identifier), + a + return s + ? ((a = { href: t(s.url || "") }), + s.title !== null && s.title !== void 0 && (a.title = s.title), + r(i, "a", a, n(r, i))) + : e(r, i) + } + return JT +} +var eI, f4 +function UZt() { + if (f4) return eI + f4 = 1 + var t = u0(), + e = ks() + eI = n + function n(o, r) { + var i = { href: t(r.url) } + return r.title !== null && r.title !== void 0 && (i.title = r.title), o(r, "a", i, e(o, r)) + } + return eI +} +var tI, g4 +function qZt() { + if (g4) return tI + ;(g4 = 1), (tI = n) + var t = wa(), + e = ks() + function n(i, s, a) { + var c = e(i, s), + d = c[0], + u = a ? o(a) : r(s), + m = {}, + f = [], + g, + b, + v + for ( + typeof s.checked == "boolean" && + ((!d || d.tagName !== "p") && ((d = i(null, "p", [])), c.unshift(d)), + d.children.length > 0 && d.children.unshift(t("text", " ")), + d.children.unshift(i(null, "input", { type: "checkbox", checked: s.checked, disabled: !0 })), + (m.className = ["task-list-item"])), + g = c.length, + b = -1; + ++b < g; + + ) + (v = c[b]), + (u || b !== 0 || v.tagName !== "p") && + f.push( + t( + "text", + ` +`, + ), + ), + v.tagName === "p" && !u ? (f = f.concat(v.children)) : f.push(v) + return ( + g && + (u || v.tagName !== "p") && + f.push( + t( + "text", + ` +`, + ), + ), + i(s, "li", m, f) + ) + } + function o(i) { + for (var s = i.spread, a = i.children, c = a.length, d = -1; !s && ++d < c; ) s = r(a[d]) + return s + } + function r(i) { + var s = i.spread + return s ?? i.children.length > 1 + } + return tI +} +var nI, v4 +function WZt() { + if (v4) return nI + ;(v4 = 1), (nI = e) + var t = ks() + function e(n, o) { + return n(o, "p", t(n, o)) + } + return nI +} +var oI, b4 +function KZt() { + if (b4) return oI + ;(b4 = 1), (oI = o) + var t = wa(), + e = fy(), + n = ks() + function o(r, i) { + return r.augment(i, t("root", e(n(r, i)))) + } + return oI +} +var rI, y4 +function VZt() { + if (y4) return rI + ;(y4 = 1), (rI = e) + var t = ks() + function e(n, o) { + return n(o, "strong", t(n, o)) + } + return rI +} +var iI, k4 +function HZt() { + if (k4) return iI + ;(k4 = 1), (iI = o) + var t = Iut(), + e = fy(), + n = ks() + function o(r, i) { + for (var s = i.children, a = s.length, c = i.align || [], d = c.length, u = [], m, f, g, b, v; a--; ) { + for (f = s[a].children, b = a === 0 ? "th" : "td", m = d || f.length, g = []; m--; ) + (v = f[m]), (g[m] = r(v, b, { align: c[m] }, v ? n(r, v) : [])) + u[a] = r(s[a], "tr", e(g, !0)) + } + return r( + i, + "table", + e( + [r(u[0].position, "thead", e([u[0]], !0))].concat( + u[1] ? r({ start: t.start(u[1]), end: t.end(u[u.length - 1]) }, "tbody", e(u.slice(1), !0)) : [], + ), + !0, + ), + ) + } + return iI +} +var sI, x4 +function GZt() { + if (x4) return sI + ;(x4 = 1), (sI = e) + var t = wa() + function e(n, o) { + return n.augment(o, t("text", String(o.value).replace(/[ \t]*(\r?\n|\r)[ \t]*/g, "$1"))) + } + return sI +} +var aI, w4 +function QZt() { + if (w4) return aI + ;(w4 = 1), + (aI = { + blockquote: IZt(), + break: MZt(), + code: jZt(), + delete: EZt(), + emphasis: zZt(), + footnoteReference: zut(), + footnote: $Zt(), + heading: LZt(), + html: DZt(), + imageReference: NZt(), + image: OZt(), + inlineCode: FZt(), + linkReference: BZt(), + link: UZt(), + listItem: qZt(), + list: Eut(), + paragraph: WZt(), + root: KZt(), + strong: VZt(), + table: HZt(), + text: GZt(), + thematicBreak: jut(), + toml: t, + yaml: t, + definition: t, + footnoteDefinition: t, + }) + function t() { + return null + } + return aI +} +var lI, _4 +function ZZt() { + if (_4) return lI + ;(_4 = 1), (lI = m) + var t = wa(), + e = Tut(), + n = Iut(), + o = PZt(), + r = RZt(), + i = Mut(), + s = TZt(), + a = QZt(), + c = {}.hasOwnProperty, + d = !1 + function u(f, g) { + var b = g || {} + b.allowDangerousHTML !== void 0 && + !d && + ((d = !0), + console.warn( + "mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead", + )) + var v = b.allowDangerousHtml || b.allowDangerousHTML, + w = {} + return ( + (y.dangerous = v), + (y.definition = r(f)), + (y.footnoteById = w), + (y.footnoteOrder = []), + (y.augment = _), + (y.handlers = Object.assign({}, a, b.handlers)), + (y.unknownHandler = b.unknownHandler), + (y.passThrough = b.passThrough), + e(f, "footnoteDefinition", C), + y + ) + function _(S, P) { + var R, T + return ( + S && + S.data && + ((R = S.data), + R.hName && + (P.type !== "element" && (P = { type: "element", tagName: "", properties: {}, children: [] }), + (P.tagName = R.hName)), + P.type === "element" && + R.hProperties && + (P.properties = Object.assign({}, P.properties, R.hProperties)), + P.children && R.hChildren && (P.children = R.hChildren)), + (T = S && S.position ? S : { position: S }), + o(T) || (P.position = { start: n.start(T), end: n.end(T) }), + P + ) + } + function y(S, P, R, T) { + return ( + T == null && typeof R == "object" && "length" in R && ((T = R), (R = {})), + _(S, { type: "element", tagName: P, properties: R || {}, children: T || [] }) + ) + } + function C(S) { + var P = String(S.identifier).toUpperCase() + c.call(w, P) || (w[P] = S) + } + } + function m(f, g) { + var b = u(f, g), + v = i(b, f), + w = s(b) + return ( + w && + (v.children = v.children.concat( + t( + "text", + ` +`, + ), + w, + )), + v + ) + } + return lI +} +var cI, C4 +function YZt() { + return C4 || ((C4 = 1), (cI = ZZt())), cI +} +var dI, S4 +function XZt() { + if (S4) return dI + S4 = 1 + var t = YZt() + dI = e + function e(r, i) { + return r && !r.process && ((i = r), (r = null)), r ? n(r, i) : o(i) + } + function n(r, i) { + return s + function s(a, c, d) { + r.run(t(a, i), c, u) + function u(m) { + d(m) + } + } + } + function o(r) { + return i + function i(s) { + return t(s, r) + } + } + return dI +} +var JZt = XZt() +const eYt = ps(JZt) +var uI, A4 +function tYt() { + if (A4) return uI + ;(A4 = 1), (uI = e) + var t = Object.prototype.hasOwnProperty + function e() { + for (var n = {}, o = 0; o < arguments.length; o++) { + var r = arguments[o] + for (var i in r) t.call(r, i) && (n[i] = r[i]) + } + return n + } + return uI +} +var pI, P4 +function Lut() { + if (P4) return pI + ;(P4 = 1), (pI = e) + var t = e.prototype + ;(t.space = null), (t.normal = {}), (t.property = {}) + function e(n, o, r) { + ;(this.property = n), (this.normal = o), r && (this.space = r) + } + return pI +} +var mI, R4 +function Dut() { + if (R4) return mI + R4 = 1 + var t = tYt(), + e = Lut() + mI = n + function n(o) { + for (var r = o.length, i = [], s = [], a = -1, c, d; ++a < r; ) + (c = o[a]), i.push(c.property), s.push(c.normal), (d = c.space) + return new e(t.apply(null, i), t.apply(null, s), d) + } + return mI +} +var hI, T4 +function Nut() { + if (T4) return hI + ;(T4 = 1), (hI = t) + function t(e) { + return e.toLowerCase() + } + return hI +} +var fI, I4 +function Out() { + if (I4) return fI + ;(I4 = 1), (fI = e) + var t = e.prototype + ;(t.space = null), + (t.attribute = null), + (t.property = null), + (t.boolean = !1), + (t.booleanish = !1), + (t.overloadedBoolean = !1), + (t.number = !1), + (t.commaSeparated = !1), + (t.spaceSeparated = !1), + (t.commaOrSpaceSeparated = !1), + (t.mustUseProperty = !1), + (t.defined = !1) + function e(n, o) { + ;(this.property = n), (this.attribute = o) + } + return fI +} +var ac = {}, + M4 +function p0() { + if (M4) return ac + M4 = 1 + var t = 0 + ;(ac.boolean = e()), + (ac.booleanish = e()), + (ac.overloadedBoolean = e()), + (ac.number = e()), + (ac.spaceSeparated = e()), + (ac.commaSeparated = e()), + (ac.commaOrSpaceSeparated = e()) + function e() { + return Math.pow(2, ++t) + } + return ac +} +var gI, j4 +function Fut() { + if (j4) return gI + j4 = 1 + var t = Out(), + e = p0() + ;(gI = r), (r.prototype = new t()), (r.prototype.defined = !0) + var n = [ + "boolean", + "booleanish", + "overloadedBoolean", + "number", + "commaSeparated", + "spaceSeparated", + "commaOrSpaceSeparated", + ], + o = n.length + function r(s, a, c, d) { + var u = -1, + m + for (i(this, "space", d), t.call(this, s, a); ++u < o; ) (m = n[u]), i(this, m, (c & e[m]) === e[m]) + } + function i(s, a, c) { + c && (s[a] = c) + } + return gI +} +var vI, E4 +function Qf() { + if (E4) return vI + E4 = 1 + var t = Nut(), + e = Lut(), + n = Fut() + vI = o + function o(r) { + var i = r.space, + s = r.mustUseProperty || [], + a = r.attributes || {}, + c = r.properties, + d = r.transform, + u = {}, + m = {}, + f, + g + for (f in c) + (g = new n(f, d(a, f), c[f], i)), + s.indexOf(f) !== -1 && (g.mustUseProperty = !0), + (u[f] = g), + (m[t(f)] = f), + (m[t(g.attribute)] = f) + return new e(u, m, i) + } + return vI +} +var bI, z4 +function But() { + if (z4) return bI + z4 = 1 + var t = Qf() + bI = t({ + space: "xlink", + transform: e, + properties: { + xLinkActuate: null, + xLinkArcRole: null, + xLinkHref: null, + xLinkRole: null, + xLinkShow: null, + xLinkTitle: null, + xLinkType: null, + }, + }) + function e(n, o) { + return "xlink:" + o.slice(5).toLowerCase() + } + return bI +} +var yI, $4 +function Uut() { + if ($4) return yI + $4 = 1 + var t = Qf() + yI = t({ space: "xml", transform: e, properties: { xmlLang: null, xmlBase: null, xmlSpace: null } }) + function e(n, o) { + return "xml:" + o.slice(3).toLowerCase() + } + return yI +} +var kI, L4 +function qut() { + if (L4) return kI + ;(L4 = 1), (kI = t) + function t(e, n) { + return n in e ? e[n] : n + } + return kI +} +var xI, D4 +function Wut() { + if (D4) return xI + D4 = 1 + var t = qut() + xI = e + function e(n, o) { + return t(n, o.toLowerCase()) + } + return xI +} +var wI, N4 +function Kut() { + if (N4) return wI + N4 = 1 + var t = Qf(), + e = Wut() + return ( + (wI = t({ + space: "xmlns", + attributes: { xmlnsxlink: "xmlns:xlink" }, + transform: e, + properties: { xmlns: null, xmlnsXLink: null }, + })), + wI + ) +} +var _I, O4 +function Vut() { + if (O4) return _I + O4 = 1 + var t = p0(), + e = Qf(), + n = t.booleanish, + o = t.number, + r = t.spaceSeparated + _I = e({ + transform: i, + properties: { + ariaActiveDescendant: null, + ariaAtomic: n, + ariaAutoComplete: null, + ariaBusy: n, + ariaChecked: n, + ariaColCount: o, + ariaColIndex: o, + ariaColSpan: o, + ariaControls: r, + ariaCurrent: null, + ariaDescribedBy: r, + ariaDetails: null, + ariaDisabled: n, + ariaDropEffect: r, + ariaErrorMessage: null, + ariaExpanded: n, + ariaFlowTo: r, + ariaGrabbed: n, + ariaHasPopup: null, + ariaHidden: n, + ariaInvalid: null, + ariaKeyShortcuts: null, + ariaLabel: null, + ariaLabelledBy: r, + ariaLevel: o, + ariaLive: null, + ariaModal: n, + ariaMultiLine: n, + ariaMultiSelectable: n, + ariaOrientation: null, + ariaOwns: r, + ariaPlaceholder: null, + ariaPosInSet: o, + ariaPressed: n, + ariaReadOnly: n, + ariaRelevant: null, + ariaRequired: n, + ariaRoleDescription: r, + ariaRowCount: o, + ariaRowIndex: o, + ariaRowSpan: o, + ariaSelected: n, + ariaSetSize: o, + ariaSort: null, + ariaValueMax: o, + ariaValueMin: o, + ariaValueNow: o, + ariaValueText: null, + role: null, + }, + }) + function i(s, a) { + return a === "role" ? a : "aria-" + a.slice(4).toLowerCase() + } + return _I +} +var CI, F4 +function nYt() { + if (F4) return CI + F4 = 1 + var t = p0(), + e = Qf(), + n = Wut(), + o = t.boolean, + r = t.overloadedBoolean, + i = t.booleanish, + s = t.number, + a = t.spaceSeparated, + c = t.commaSeparated + return ( + (CI = e({ + space: "html", + attributes: { + acceptcharset: "accept-charset", + classname: "class", + htmlfor: "for", + httpequiv: "http-equiv", + }, + transform: n, + mustUseProperty: ["checked", "multiple", "muted", "selected"], + properties: { + abbr: null, + accept: c, + acceptCharset: a, + accessKey: a, + action: null, + allow: null, + allowFullScreen: o, + allowPaymentRequest: o, + allowUserMedia: o, + alt: null, + as: null, + async: o, + autoCapitalize: null, + autoComplete: a, + autoFocus: o, + autoPlay: o, + capture: o, + charSet: null, + checked: o, + cite: null, + className: a, + cols: s, + colSpan: null, + content: null, + contentEditable: i, + controls: o, + controlsList: a, + coords: s | c, + crossOrigin: null, + data: null, + dateTime: null, + decoding: null, + default: o, + defer: o, + dir: null, + dirName: null, + disabled: o, + download: r, + draggable: i, + encType: null, + enterKeyHint: null, + form: null, + formAction: null, + formEncType: null, + formMethod: null, + formNoValidate: o, + formTarget: null, + headers: a, + height: s, + hidden: o, + high: s, + href: null, + hrefLang: null, + htmlFor: a, + httpEquiv: a, + id: null, + imageSizes: null, + imageSrcSet: c, + inputMode: null, + integrity: null, + is: null, + isMap: o, + itemId: null, + itemProp: a, + itemRef: a, + itemScope: o, + itemType: a, + kind: null, + label: null, + lang: null, + language: null, + list: null, + loading: null, + loop: o, + low: s, + manifest: null, + max: null, + maxLength: s, + media: null, + method: null, + min: null, + minLength: s, + multiple: o, + muted: o, + name: null, + nonce: null, + noModule: o, + noValidate: o, + onAbort: null, + onAfterPrint: null, + onAuxClick: null, + onBeforePrint: null, + onBeforeUnload: null, + onBlur: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onContextMenu: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnded: null, + onError: null, + onFocus: null, + onFormData: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLanguageChange: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadEnd: null, + onLoadStart: null, + onMessage: null, + onMessageError: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRejectionHandled: null, + onReset: null, + onResize: null, + onScroll: null, + onSecurityPolicyViolation: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onSlotChange: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnhandledRejection: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onWheel: null, + open: o, + optimum: s, + pattern: null, + ping: a, + placeholder: null, + playsInline: o, + poster: null, + preload: null, + readOnly: o, + referrerPolicy: null, + rel: a, + required: o, + reversed: o, + rows: s, + rowSpan: s, + sandbox: a, + scope: null, + scoped: o, + seamless: o, + selected: o, + shape: null, + size: s, + sizes: null, + slot: null, + span: s, + spellCheck: i, + src: null, + srcDoc: null, + srcLang: null, + srcSet: c, + start: s, + step: null, + style: null, + tabIndex: s, + target: null, + title: null, + translate: null, + type: null, + typeMustMatch: o, + useMap: null, + value: i, + width: s, + wrap: null, + align: null, + aLink: null, + archive: a, + axis: null, + background: null, + bgColor: null, + border: s, + borderColor: null, + bottomMargin: s, + cellPadding: null, + cellSpacing: null, + char: null, + charOff: null, + classId: null, + clear: null, + code: null, + codeBase: null, + codeType: null, + color: null, + compact: o, + declare: o, + event: null, + face: null, + frame: null, + frameBorder: null, + hSpace: s, + leftMargin: s, + link: null, + longDesc: null, + lowSrc: null, + marginHeight: s, + marginWidth: s, + noResize: o, + noHref: o, + noShade: o, + noWrap: o, + object: null, + profile: null, + prompt: null, + rev: null, + rightMargin: s, + rules: null, + scheme: null, + scrolling: i, + standby: null, + summary: null, + text: null, + topMargin: s, + valueType: null, + version: null, + vAlign: null, + vLink: null, + vSpace: s, + allowTransparency: null, + autoCorrect: null, + autoSave: null, + disablePictureInPicture: o, + disableRemotePlayback: o, + prefix: null, + property: null, + results: s, + security: null, + unselectable: null, + }, + })), + CI + ) +} +var SI, B4 +function oYt() { + if (B4) return SI + B4 = 1 + var t = Dut(), + e = But(), + n = Uut(), + o = Kut(), + r = Vut(), + i = nYt() + return (SI = t([n, e, o, r, i])), SI +} +var AI, U4 +function rYt() { + if (U4) return AI + U4 = 1 + var t = p0(), + e = Qf(), + n = qut(), + o = t.boolean, + r = t.number, + i = t.spaceSeparated, + s = t.commaSeparated, + a = t.commaOrSpaceSeparated + return ( + (AI = e({ + space: "svg", + attributes: { + accentHeight: "accent-height", + alignmentBaseline: "alignment-baseline", + arabicForm: "arabic-form", + baselineShift: "baseline-shift", + capHeight: "cap-height", + className: "class", + clipPath: "clip-path", + clipRule: "clip-rule", + colorInterpolation: "color-interpolation", + colorInterpolationFilters: "color-interpolation-filters", + colorProfile: "color-profile", + colorRendering: "color-rendering", + crossOrigin: "crossorigin", + dataType: "datatype", + dominantBaseline: "dominant-baseline", + enableBackground: "enable-background", + fillOpacity: "fill-opacity", + fillRule: "fill-rule", + floodColor: "flood-color", + floodOpacity: "flood-opacity", + fontFamily: "font-family", + fontSize: "font-size", + fontSizeAdjust: "font-size-adjust", + fontStretch: "font-stretch", + fontStyle: "font-style", + fontVariant: "font-variant", + fontWeight: "font-weight", + glyphName: "glyph-name", + glyphOrientationHorizontal: "glyph-orientation-horizontal", + glyphOrientationVertical: "glyph-orientation-vertical", + hrefLang: "hreflang", + horizAdvX: "horiz-adv-x", + horizOriginX: "horiz-origin-x", + horizOriginY: "horiz-origin-y", + imageRendering: "image-rendering", + letterSpacing: "letter-spacing", + lightingColor: "lighting-color", + markerEnd: "marker-end", + markerMid: "marker-mid", + markerStart: "marker-start", + navDown: "nav-down", + navDownLeft: "nav-down-left", + navDownRight: "nav-down-right", + navLeft: "nav-left", + navNext: "nav-next", + navPrev: "nav-prev", + navRight: "nav-right", + navUp: "nav-up", + navUpLeft: "nav-up-left", + navUpRight: "nav-up-right", + onAbort: "onabort", + onActivate: "onactivate", + onAfterPrint: "onafterprint", + onBeforePrint: "onbeforeprint", + onBegin: "onbegin", + onCancel: "oncancel", + onCanPlay: "oncanplay", + onCanPlayThrough: "oncanplaythrough", + onChange: "onchange", + onClick: "onclick", + onClose: "onclose", + onCopy: "oncopy", + onCueChange: "oncuechange", + onCut: "oncut", + onDblClick: "ondblclick", + onDrag: "ondrag", + onDragEnd: "ondragend", + onDragEnter: "ondragenter", + onDragExit: "ondragexit", + onDragLeave: "ondragleave", + onDragOver: "ondragover", + onDragStart: "ondragstart", + onDrop: "ondrop", + onDurationChange: "ondurationchange", + onEmptied: "onemptied", + onEnd: "onend", + onEnded: "onended", + onError: "onerror", + onFocus: "onfocus", + onFocusIn: "onfocusin", + onFocusOut: "onfocusout", + onHashChange: "onhashchange", + onInput: "oninput", + onInvalid: "oninvalid", + onKeyDown: "onkeydown", + onKeyPress: "onkeypress", + onKeyUp: "onkeyup", + onLoad: "onload", + onLoadedData: "onloadeddata", + onLoadedMetadata: "onloadedmetadata", + onLoadStart: "onloadstart", + onMessage: "onmessage", + onMouseDown: "onmousedown", + onMouseEnter: "onmouseenter", + onMouseLeave: "onmouseleave", + onMouseMove: "onmousemove", + onMouseOut: "onmouseout", + onMouseOver: "onmouseover", + onMouseUp: "onmouseup", + onMouseWheel: "onmousewheel", + onOffline: "onoffline", + onOnline: "ononline", + onPageHide: "onpagehide", + onPageShow: "onpageshow", + onPaste: "onpaste", + onPause: "onpause", + onPlay: "onplay", + onPlaying: "onplaying", + onPopState: "onpopstate", + onProgress: "onprogress", + onRateChange: "onratechange", + onRepeat: "onrepeat", + onReset: "onreset", + onResize: "onresize", + onScroll: "onscroll", + onSeeked: "onseeked", + onSeeking: "onseeking", + onSelect: "onselect", + onShow: "onshow", + onStalled: "onstalled", + onStorage: "onstorage", + onSubmit: "onsubmit", + onSuspend: "onsuspend", + onTimeUpdate: "ontimeupdate", + onToggle: "ontoggle", + onUnload: "onunload", + onVolumeChange: "onvolumechange", + onWaiting: "onwaiting", + onZoom: "onzoom", + overlinePosition: "overline-position", + overlineThickness: "overline-thickness", + paintOrder: "paint-order", + panose1: "panose-1", + pointerEvents: "pointer-events", + referrerPolicy: "referrerpolicy", + renderingIntent: "rendering-intent", + shapeRendering: "shape-rendering", + stopColor: "stop-color", + stopOpacity: "stop-opacity", + strikethroughPosition: "strikethrough-position", + strikethroughThickness: "strikethrough-thickness", + strokeDashArray: "stroke-dasharray", + strokeDashOffset: "stroke-dashoffset", + strokeLineCap: "stroke-linecap", + strokeLineJoin: "stroke-linejoin", + strokeMiterLimit: "stroke-miterlimit", + strokeOpacity: "stroke-opacity", + strokeWidth: "stroke-width", + tabIndex: "tabindex", + textAnchor: "text-anchor", + textDecoration: "text-decoration", + textRendering: "text-rendering", + typeOf: "typeof", + underlinePosition: "underline-position", + underlineThickness: "underline-thickness", + unicodeBidi: "unicode-bidi", + unicodeRange: "unicode-range", + unitsPerEm: "units-per-em", + vAlphabetic: "v-alphabetic", + vHanging: "v-hanging", + vIdeographic: "v-ideographic", + vMathematical: "v-mathematical", + vectorEffect: "vector-effect", + vertAdvY: "vert-adv-y", + vertOriginX: "vert-origin-x", + vertOriginY: "vert-origin-y", + wordSpacing: "word-spacing", + writingMode: "writing-mode", + xHeight: "x-height", + playbackOrder: "playbackorder", + timelineBegin: "timelinebegin", + }, + transform: n, + properties: { + about: a, + accentHeight: r, + accumulate: null, + additive: null, + alignmentBaseline: null, + alphabetic: r, + amplitude: r, + arabicForm: null, + ascent: r, + attributeName: null, + attributeType: null, + azimuth: r, + bandwidth: null, + baselineShift: null, + baseFrequency: null, + baseProfile: null, + bbox: null, + begin: null, + bias: r, + by: null, + calcMode: null, + capHeight: r, + className: i, + clip: null, + clipPath: null, + clipPathUnits: null, + clipRule: null, + color: null, + colorInterpolation: null, + colorInterpolationFilters: null, + colorProfile: null, + colorRendering: null, + content: null, + contentScriptType: null, + contentStyleType: null, + crossOrigin: null, + cursor: null, + cx: null, + cy: null, + d: null, + dataType: null, + defaultAction: null, + descent: r, + diffuseConstant: r, + direction: null, + display: null, + dur: null, + divisor: r, + dominantBaseline: null, + download: o, + dx: null, + dy: null, + edgeMode: null, + editable: null, + elevation: r, + enableBackground: null, + end: null, + event: null, + exponent: r, + externalResourcesRequired: null, + fill: null, + fillOpacity: r, + fillRule: null, + filter: null, + filterRes: null, + filterUnits: null, + floodColor: null, + floodOpacity: null, + focusable: null, + focusHighlight: null, + fontFamily: null, + fontSize: null, + fontSizeAdjust: null, + fontStretch: null, + fontStyle: null, + fontVariant: null, + fontWeight: null, + format: null, + fr: null, + from: null, + fx: null, + fy: null, + g1: s, + g2: s, + glyphName: s, + glyphOrientationHorizontal: null, + glyphOrientationVertical: null, + glyphRef: null, + gradientTransform: null, + gradientUnits: null, + handler: null, + hanging: r, + hatchContentUnits: null, + hatchUnits: null, + height: null, + href: null, + hrefLang: null, + horizAdvX: r, + horizOriginX: r, + horizOriginY: r, + id: null, + ideographic: r, + imageRendering: null, + initialVisibility: null, + in: null, + in2: null, + intercept: r, + k: r, + k1: r, + k2: r, + k3: r, + k4: r, + kernelMatrix: a, + kernelUnitLength: null, + keyPoints: null, + keySplines: null, + keyTimes: null, + kerning: null, + lang: null, + lengthAdjust: null, + letterSpacing: null, + lightingColor: null, + limitingConeAngle: r, + local: null, + markerEnd: null, + markerMid: null, + markerStart: null, + markerHeight: null, + markerUnits: null, + markerWidth: null, + mask: null, + maskContentUnits: null, + maskUnits: null, + mathematical: null, + max: null, + media: null, + mediaCharacterEncoding: null, + mediaContentEncodings: null, + mediaSize: r, + mediaTime: null, + method: null, + min: null, + mode: null, + name: null, + navDown: null, + navDownLeft: null, + navDownRight: null, + navLeft: null, + navNext: null, + navPrev: null, + navRight: null, + navUp: null, + navUpLeft: null, + navUpRight: null, + numOctaves: null, + observer: null, + offset: null, + onAbort: null, + onActivate: null, + onAfterPrint: null, + onBeforePrint: null, + onBegin: null, + onCancel: null, + onCanPlay: null, + onCanPlayThrough: null, + onChange: null, + onClick: null, + onClose: null, + onCopy: null, + onCueChange: null, + onCut: null, + onDblClick: null, + onDrag: null, + onDragEnd: null, + onDragEnter: null, + onDragExit: null, + onDragLeave: null, + onDragOver: null, + onDragStart: null, + onDrop: null, + onDurationChange: null, + onEmptied: null, + onEnd: null, + onEnded: null, + onError: null, + onFocus: null, + onFocusIn: null, + onFocusOut: null, + onHashChange: null, + onInput: null, + onInvalid: null, + onKeyDown: null, + onKeyPress: null, + onKeyUp: null, + onLoad: null, + onLoadedData: null, + onLoadedMetadata: null, + onLoadStart: null, + onMessage: null, + onMouseDown: null, + onMouseEnter: null, + onMouseLeave: null, + onMouseMove: null, + onMouseOut: null, + onMouseOver: null, + onMouseUp: null, + onMouseWheel: null, + onOffline: null, + onOnline: null, + onPageHide: null, + onPageShow: null, + onPaste: null, + onPause: null, + onPlay: null, + onPlaying: null, + onPopState: null, + onProgress: null, + onRateChange: null, + onRepeat: null, + onReset: null, + onResize: null, + onScroll: null, + onSeeked: null, + onSeeking: null, + onSelect: null, + onShow: null, + onStalled: null, + onStorage: null, + onSubmit: null, + onSuspend: null, + onTimeUpdate: null, + onToggle: null, + onUnload: null, + onVolumeChange: null, + onWaiting: null, + onZoom: null, + opacity: null, + operator: null, + order: null, + orient: null, + orientation: null, + origin: null, + overflow: null, + overlay: null, + overlinePosition: r, + overlineThickness: r, + paintOrder: null, + panose1: null, + path: null, + pathLength: r, + patternContentUnits: null, + patternTransform: null, + patternUnits: null, + phase: null, + ping: i, + pitch: null, + playbackOrder: null, + pointerEvents: null, + points: null, + pointsAtX: r, + pointsAtY: r, + pointsAtZ: r, + preserveAlpha: null, + preserveAspectRatio: null, + primitiveUnits: null, + propagate: null, + property: a, + r: null, + radius: null, + referrerPolicy: null, + refX: null, + refY: null, + rel: a, + rev: a, + renderingIntent: null, + repeatCount: null, + repeatDur: null, + requiredExtensions: a, + requiredFeatures: a, + requiredFonts: a, + requiredFormats: a, + resource: null, + restart: null, + result: null, + rotate: null, + rx: null, + ry: null, + scale: null, + seed: null, + shapeRendering: null, + side: null, + slope: null, + snapshotTime: null, + specularConstant: r, + specularExponent: r, + spreadMethod: null, + spacing: null, + startOffset: null, + stdDeviation: null, + stemh: null, + stemv: null, + stitchTiles: null, + stopColor: null, + stopOpacity: null, + strikethroughPosition: r, + strikethroughThickness: r, + string: null, + stroke: null, + strokeDashArray: a, + strokeDashOffset: null, + strokeLineCap: null, + strokeLineJoin: null, + strokeMiterLimit: r, + strokeOpacity: r, + strokeWidth: null, + style: null, + surfaceScale: r, + syncBehavior: null, + syncBehaviorDefault: null, + syncMaster: null, + syncTolerance: null, + syncToleranceDefault: null, + systemLanguage: a, + tabIndex: r, + tableValues: null, + target: null, + targetX: r, + targetY: r, + textAnchor: null, + textDecoration: null, + textRendering: null, + textLength: null, + timelineBegin: null, + title: null, + transformBehavior: null, + type: null, + typeOf: a, + to: null, + transform: null, + u1: null, + u2: null, + underlinePosition: r, + underlineThickness: r, + unicode: null, + unicodeBidi: null, + unicodeRange: null, + unitsPerEm: r, + values: null, + vAlphabetic: r, + vMathematical: r, + vectorEffect: null, + vHanging: r, + vIdeographic: r, + version: null, + vertAdvY: r, + vertOriginX: r, + vertOriginY: r, + viewBox: null, + viewTarget: null, + visibility: null, + width: null, + widths: null, + wordSpacing: null, + writingMode: null, + x: null, + x1: null, + x2: null, + xChannelSelector: null, + xHeight: r, + y: null, + y1: null, + y2: null, + yChannelSelector: null, + z: null, + zoomAndPan: null, + }, + })), + AI + ) +} +var PI, q4 +function iYt() { + if (q4) return PI + q4 = 1 + var t = Dut(), + e = But(), + n = Uut(), + o = Kut(), + r = Vut(), + i = rYt() + return (PI = t([n, e, o, r, i])), PI +} +var RI, W4 +function sYt() { + if (W4) return RI + W4 = 1 + var t = Nut(), + e = Fut(), + n = Out(), + o = "data" + RI = a + var r = /^data[-\w.:]+$/i, + i = /-[a-z]/g, + s = /[A-Z]/g + function a(f, g) { + var b = t(g), + v = g, + w = n + return b in f.normal + ? f.property[f.normal[b]] + : (b.length > 4 && + b.slice(0, 4) === o && + r.test(g) && + (g.charAt(4) === "-" ? (v = c(g)) : (g = d(g)), (w = e)), + new w(v, g)) + } + function c(f) { + var g = f.slice(5).replace(i, m) + return o + g.charAt(0).toUpperCase() + g.slice(1) + } + function d(f) { + var g = f.slice(4) + return i.test(g) ? f : ((g = g.replace(s, u)), g.charAt(0) !== "-" && (g = "-" + g), o + g) + } + function u(f) { + return "-" + f.toLowerCase() + } + function m(f) { + return f.charAt(1).toUpperCase() + } + return RI +} +const aYt = "classID", + lYt = "datatype", + cYt = "itemID", + dYt = "strokeDasharray", + uYt = "strokeDashoffset", + pYt = "strokeLinecap", + mYt = "strokeLinejoin", + hYt = "strokeMiterlimit", + fYt = "typeof", + gYt = "xlinkActuate", + vYt = "xlinkArcrole", + bYt = "xlinkHref", + yYt = "xlinkRole", + kYt = "xlinkShow", + xYt = "xlinkTitle", + wYt = "xlinkType", + _Yt = "xmlnsXlink", + CYt = { + classId: aYt, + dataType: lYt, + itemId: cYt, + strokeDashArray: dYt, + strokeDashOffset: uYt, + strokeLineCap: pYt, + strokeLineJoin: mYt, + strokeMiterLimit: hYt, + typeOf: fYt, + xLinkActuate: gYt, + xLinkArcRole: vYt, + xLinkHref: bYt, + xLinkRole: yYt, + xLinkShow: kYt, + xLinkTitle: xYt, + xLinkType: wYt, + xmlnsXLink: _Yt, + } +var hx = {}, + K4 +function SYt() { + if (K4) return hx + ;(K4 = 1), (hx.parse = o), (hx.stringify = r) + var t = "", + e = " ", + n = /[ \t\n\r\f]+/g + function o(i) { + var s = String(i || t).trim() + return s === t ? [] : s.split(n) + } + function r(i) { + return i.join(e).trim() + } + return hx +} +var fx = {}, + V4 +function AYt() { + if (V4) return fx + ;(V4 = 1), (fx.parse = o), (fx.stringify = r) + var t = ",", + e = " ", + n = "" + function o(i) { + for (var s = [], a = String(i || n), c = a.indexOf(t), d = 0, u = !1, m; !u; ) + c === -1 && ((c = a.length), (u = !0)), + (m = a.slice(d, c).trim()), + (m || !u) && s.push(m), + (d = c + 1), + (c = a.indexOf(t, d)) + return s + } + function r(i, s) { + var a = s || {}, + c = a.padLeft === !1 ? n : e, + d = a.padRight ? e : n + return i[i.length - 1] === n && (i = i.concat(n)), i.join(d + t + c).trim() + } + return fx +} +var TI, H4 +function PYt() { + if (H4) return TI + H4 = 1 + var t = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, + e = /\n/g, + n = /^\s*/, + o = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/, + r = /^:\s*/, + i = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/, + s = /^[;\s]*/, + a = /^\s+|\s+$/g, + c = ` +`, + d = "/", + u = "*", + m = "", + f = "comment", + g = "declaration" + TI = function (v, w) { + if (typeof v != "string") throw new TypeError("First argument must be a string") + if (!v) return [] + w = w || {} + var _ = 1, + y = 1 + function C(G) { + var U = G.match(e) + U && (_ += U.length) + var Z = G.lastIndexOf(c) + y = ~Z ? G.length - Z : y + G.length + } + function S() { + var G = { line: _, column: y } + return function (U) { + return (U.position = new P(G)), E(), U + } + } + function P(G) { + ;(this.start = G), (this.end = { line: _, column: y }), (this.source = w.source) + } + P.prototype.content = v + function R(G) { + var U = new Error(w.source + ":" + _ + ":" + y + ": " + G) + if (((U.reason = G), (U.filename = w.source), (U.line = _), (U.column = y), (U.source = v), !w.silent)) + throw U + } + function T(G) { + var U = G.exec(v) + if (U) { + var Z = U[0] + return C(Z), (v = v.slice(Z.length)), U + } + } + function E() { + T(n) + } + function $(G) { + var U + for (G = G || []; (U = j()); ) U !== !1 && G.push(U) + return G + } + function j() { + var G = S() + if (!(d != v.charAt(0) || u != v.charAt(1))) { + for (var U = 2; m != v.charAt(U) && (u != v.charAt(U) || d != v.charAt(U + 1)); ) ++U + if (((U += 2), m === v.charAt(U - 1))) return R("End of comment missing") + var Z = v.slice(2, U - 2) + return (y += 2), C(Z), (v = v.slice(U)), (y += 2), G({ type: f, comment: Z }) + } + } + function L() { + var G = S(), + U = T(o) + if (U) { + if ((j(), !T(r))) return R("property missing ':'") + var Z = T(i), + V = G({ type: g, property: b(U[0].replace(t, m)), value: Z ? b(Z[0].replace(t, m)) : m }) + return T(s), V + } + } + function W() { + var G = [] + $(G) + for (var U; (U = L()); ) U !== !1 && (G.push(U), $(G)) + return G + } + return E(), W() + } + function b(v) { + return v ? v.replace(a, m) : m + } + return TI +} +var II, G4 +function RYt() { + if (G4) return II + G4 = 1 + var t = PYt() + function e(n, o) { + var r = null + if (!n || typeof n != "string") return r + for (var i, s = t(n), a = typeof o == "function", c, d, u = 0, m = s.length; u < m; u++) + (i = s[u]), (c = i.property), (d = i.value), a ? o(c, d, i) : d && (r || (r = {}), (r[c] = d)) + return r + } + return (II = e), II +} +const TYt = "http://www.w3.org/1999/xhtml", + IYt = "http://www.w3.org/1998/Math/MathML", + MYt = "http://www.w3.org/2000/svg", + jYt = "http://www.w3.org/1999/xlink", + EYt = "http://www.w3.org/XML/1998/namespace", + zYt = "http://www.w3.org/2000/xmlns/", + $Yt = { html: TYt, mathml: IYt, svg: MYt, xlink: jYt, xml: EYt, xmlns: zYt } +var MI, Q4 +function LYt() { + if (Q4) return MI + Q4 = 1 + var t = oYt(), + e = iYt(), + n = sYt(), + o = CYt, + r = SYt(), + i = AYt(), + s = RYt(), + a = $Yt, + c = Rut(), + d = c("root"), + u = c("element"), + m = c("text") + MI = f + function f(P, R, T) { + var E = T || {}, + $ = v(P), + j = y(P), + L = _(P), + W + if (typeof P != "function") throw new Error("h is not a function") + if ((typeof E == "string" || typeof E == "boolean" ? ((W = E), (E = {})) : (W = E.prefix), d(R))) + R = + R.children.length === 1 && u(R.children[0]) + ? R.children[0] + : { type: "element", tagName: "div", properties: {}, children: R.children } + else if (!u(R)) throw new Error("Expected root or element, not `" + ((R && R.type) || R) + "`") + return g(P, R, { + schema: E.space === "svg" ? e : t, + prefix: W ?? ($ || j || L ? "h-" : null), + key: 0, + react: $, + vue: j, + vdom: L, + hyperscript: w(P), + }) + } + function g(P, R, T) { + var E = T.schema, + $ = E, + j = R.tagName, + L = {}, + W = [], + G = -1, + U, + Z + E.space === "html" && j.toLowerCase() === "svg" && (($ = e), (T.schema = $)) + for (U in R.properties) b(L, U, R.properties[U], T, j) + if ( + (T.vdom && ($.space === "html" ? (j = j.toUpperCase()) : (L.namespace = a[$.space])), + T.prefix && (T.key++, (L.key = T.prefix + T.key)), + R.children) + ) + for (; ++G < R.children.length; ) (Z = R.children[G]), u(Z) ? W.push(g(P, Z, T)) : m(Z) && W.push(Z.value) + return (T.schema = E), W.length ? P.call(R, j, L, W) : P.call(R, j, L) + } + function b(P, R, T, E, $) { + var j = n(E.schema, R), + L + T == null || + T !== T || + (T === !1 && (E.vue || E.vdom || E.hyperscript)) || + (!T && j.boolean && (E.vue || E.vdom || E.hyperscript)) || + (T && typeof T == "object" && "length" in T && (T = (j.commaSeparated ? i : r).stringify(T)), + j.boolean && E.hyperscript && (T = ""), + j.property === "style" && typeof T == "string" && (E.react || E.vue || E.vdom) && (T = C(T, $)), + E.vue + ? j.property !== "style" && (L = "attrs") + : j.mustUseProperty || + (E.vdom ? j.property !== "style" && (L = "attributes") : E.hyperscript && (L = "attrs")), + L + ? (P[L] || (P[L] = {}), (P[L][j.attribute] = T)) + : j.space && E.react + ? (P[o[j.property] || j.property] = T) + : (P[j.attribute] = T)) + } + function v(P) { + var R = P && P("div") + return !!(R && ("_owner" in R || "_store" in R) && R.key == null) + } + function w(P) { + return !!(P && P.context && P.cleanup) + } + function _(P) { + return P && P("div").type === "VirtualNode" + } + function y(P) { + var R = P && P("div") + return !!(R && R.context && R.context._isVue) + } + function C(P, R) { + var T = {} + try { + s(P, E) + } catch ($) { + throw (($.message = R + "[style]" + $.message.slice(9)), $) + } + return T + function E($, j) { + $.slice(0, 4) === "-ms-" && ($ = "ms-" + $.slice(4)), (T[$.replace(/-([a-z])/g, S)] = j) + } + } + function S(P, R) { + return R.toUpperCase() + } + return MI +} +var jI, Z4 +function DYt() { + if (Z4) return jI + ;(Z4 = 1), (jI = t) + function t(s) { + if (typeof s == "string") return r(s) + if (s == null) return i + if (typeof s == "object") return ("length" in s ? o : n)(s) + if (typeof s == "function") return s + throw new Error("Expected function, string, or object as test") + } + function e(s) { + for (var a = [], c = s.length, d = -1; ++d < c; ) a[d] = t(s[d]) + return a + } + function n(s) { + return a + function a(c) { + var d + for (d in s) if (c[d] !== s[d]) return !1 + return !0 + } + } + function o(s) { + var a = e(s), + c = a.length + return d + function d() { + for (var u = -1; ++u < c; ) if (a[u].apply(this, arguments)) return !0 + return !1 + } + } + function r(s) { + return a + function a(c) { + return !!(c && c.type === s) + } + } + function i() { + return !0 + } + return jI +} +var EI, Y4 +function NYt() { + if (Y4) return EI + ;(Y4 = 1), (EI = r) + var t = DYt(), + e = !0, + n = "skip", + o = !1 + ;(r.CONTINUE = e), (r.SKIP = n), (r.EXIT = o) + function r(s, a, c, d) { + var u + typeof a == "function" && typeof c != "function" && ((d = c), (c = a), (a = null)), (u = t(a)), m(s, null, []) + function m(g, b, v) { + var w = [], + _ + return (!a || u(g, b, v[v.length - 1] || null)) && ((w = i(c(g, v))), w[0] === o) + ? w + : g.children && w[0] !== n + ? ((_ = i(f(g.children, v.concat(g)))), _[0] === o ? _ : w) + : w + } + function f(g, b) { + for (var v = -1, w = d ? -1 : 1, _ = (d ? g.length : v) + w, y; _ > v && _ < g.length; ) { + if (((y = m(g[_], _, b)), y[0] === o)) return y + _ = typeof y[1] == "number" ? y[1] : _ + w + } + } + } + function i(s) { + return s !== null && typeof s == "object" && "length" in s ? s : typeof s == "number" ? [e, s] : [s] + } + return EI +} +var zI, X4 +function OYt() { + if (X4) return zI + ;(X4 = 1), (zI = r) + var t = NYt(), + e = t.CONTINUE, + n = t.SKIP, + o = t.EXIT + ;(r.CONTINUE = e), (r.SKIP = n), (r.EXIT = o) + function r(i, s, a, c) { + typeof s == "function" && typeof a != "function" && ((c = a), (a = s), (s = null)), t(i, s, d, c) + function d(u, m) { + var f = m[m.length - 1], + g = f ? f.children.indexOf(u) : null + return a(u, g, f) + } + } + return zI +} +var $I, J4 +function FYt() { + if (J4) return $I + J4 = 1 + var t = OYt(), + e = Object.prototype.hasOwnProperty, + n = { align: "text-align", valign: "vertical-align", height: "height", width: "width" } + $I = function (s) { + return t(s, "element", o), s + } + function o(i) { + if (!(i.tagName !== "tr" && i.tagName !== "td" && i.tagName !== "th")) { + var s, a + for (s in n) + !e.call(n, s) || + i.properties[s] === void 0 || + ((a = n[s]), r(i, a, i.properties[s]), delete i.properties[s]) + } + } + function r(i, s, a) { + var c = (i.properties.style || "").trim() + c && !/;\s*/.test(c) && (c += ";"), c && (c += " ") + var d = c + s + ": " + a + ";" + i.properties.style = d + } + return $I +} +var LI, eW +function BYt() { + if (eW) return LI + eW = 1 + var t = LYt(), + e = FYt() + LI = r + var n = {}.hasOwnProperty, + o = new Set(["table", "thead", "tbody", "tfoot", "tr", "th", "td"]) + function r(i) { + var s = i || {}, + a = s.createElement + this.Compiler = c + function c(u) { + var m = t(d, e(u), s.prefix) + return u.type === "root" + ? ((m = + m.type === "div" && (u.children.length !== 1 || u.children[0].type !== "element") + ? m.props.children + : [m]), + a(s.Fragment || "div", {}, m)) + : m + } + function d(u, m, f) { + var g = u + return ( + f && + o.has(u) && + (f = f.filter(function (b) { + return ( + b !== + ` +` + ) + })), + s.components && n.call(s.components, u) && ((g = s.components[u]), s.passNode && (m.node = this)), + a(g, m, f) + ) + } + } + return LI +} +var UYt = BYt() +const qYt = ps(UYt) +function Rj() { + return ( + (Rj = + Object.assign || + function (t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e] + for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]) + } + return t + }), + Rj.apply(this, arguments) + ) +} +var WYt = function (e) { + var n = {}, + o = n.remarkParseOptions, + r = n.remarkToRehypeOptions, + i = n.rehypeReactOptions, + s = n.remarkPlugins, + a = s === void 0 ? [] : s, + c = n.rehypePlugins, + d = c === void 0 ? [] : c, + u = n.onError, + m = u === void 0 ? function () {} : u, + f = k.useState(null), + g = f[0], + b = f[1], + v = k.useCallback(function (w) { + IQt() + .use(CZt, o) + .use(a) + .use(eYt, r) + .use(d) + .use(qYt, Rj({ createElement: k.createElement, Fragment: k.Fragment }, i)) + .process(w) + .then(function (_) { + return b(_.result) + }) + .catch(m) + }, []) + return [g, v] +} +const KYt = bs.div` + font-family: + var(--vscode-font-family), + system-ui, + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Oxygen, + Ubuntu, + Cantarell, + "Open Sans", + "Helvetica Neue", + sans-serif; + font-size: 12px; + color: var(--vscode-descriptionForeground); + + p, + li, + ol, + ul { + line-height: 1.25; + margin: 0; + } + + ol, + ul { + padding-left: 1.5em; + margin-left: 0; + } + + ol { + list-style-type: decimal; + } + + ul { + list-style-type: disc; + } + + /* Nested list styles */ + ul ul { + list-style-type: circle; + } + + ul ul ul { + list-style-type: square; + } + + ol ol { + list-style-type: lower-alpha; + } + + ol ol ol { + list-style-type: lower-roman; + } + + p { + white-space: pre-wrap; + } + + a { + text-decoration: none; + } + a { + &:hover { + text-decoration: underline; + } + } +`, + VYt = k.memo(({ markdown: t = "", key: e, isExpanded: n, setIsExpanded: o }) => { + const [r, i] = WYt(), + [s, a] = k.useState(!1), + c = k.useRef(null), + d = k.useRef(null) + return ( + k.useEffect(() => i(t), [t, i]), + k.useEffect(() => { + d.current && c.current && a(d.current.scrollHeight > c.current.clientHeight) + }, [r]), + l.jsxs(Vrt, { + open: n, + onOpenChange: o, + className: "relative", + children: [ + l.jsx("div", { + ref: c, + className: be({ "line-clamp-3": !n }), + children: l.jsx("div", { ref: d, children: l.jsx(KYt, { children: r }, e) }), + }), + l.jsx(Hrt, { + asChild: !0, + className: be({ hidden: !s }), + children: l.jsx(Wt, { className: "text-sm", children: n ? "Less" : "More" }), + }), + ], + }) + ) + }), + Hut = ({ + apiProvider: t, + selectedModelId: e, + modelInfo: n, + isDescriptionExpanded: o, + setIsDescriptionExpanded: r, + }) => { + var a + const { t: i } = Be(), + s = [ + l.jsx(DI, { + isSupported: (n == null ? void 0 : n.supportsImages) ?? !1, + supportsLabel: i("settings:modelInfo.supportsImages"), + doesNotSupportLabel: i("settings:modelInfo.noImages"), + }), + l.jsx(DI, { + isSupported: (n == null ? void 0 : n.supportsComputerUse) ?? !1, + supportsLabel: i("settings:modelInfo.supportsComputerUse"), + doesNotSupportLabel: i("settings:modelInfo.noComputerUse"), + }), + l.jsx(DI, { + isSupported: (n == null ? void 0 : n.supportsPromptCache) ?? !1, + supportsLabel: i("settings:modelInfo.supportsPromptCache"), + doesNotSupportLabel: i("settings:modelInfo.noPromptCache"), + }), + typeof (n == null ? void 0 : n.maxTokens) == "number" && + n.maxTokens > 0 && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [i("settings:modelInfo.maxOutput"), ":"], + }), + " ", + (a = n.maxTokens) == null ? void 0 : a.toLocaleString(), + " tokens", + ], + }), + (n == null ? void 0 : n.inputPrice) !== void 0 && + n.inputPrice > 0 && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [i("settings:modelInfo.inputPrice"), ":"], + }), + " ", + ih(n.inputPrice), + " / 1M tokens", + ], + }), + (n == null ? void 0 : n.outputPrice) !== void 0 && + n.outputPrice > 0 && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [i("settings:modelInfo.outputPrice"), ":"], + }), + " ", + ih(n.outputPrice), + " / 1M tokens", + ], + }), + (n == null ? void 0 : n.supportsPromptCache) && + n.cacheReadsPrice && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [i("settings:modelInfo.cacheReadsPrice"), ":"], + }), + " ", + ih(n.cacheReadsPrice || 0), + " / 1M tokens", + ], + }), + (n == null ? void 0 : n.supportsPromptCache) && + n.cacheWritesPrice && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [i("settings:modelInfo.cacheWritesPrice"), ":"], + }), + " ", + ih(n.cacheWritesPrice || 0), + " / 1M tokens", + ], + }), + t === "gemini" && + l.jsxs("span", { + className: "italic", + children: [ + e.includes("pro-preview") + ? i("settings:modelInfo.gemini.billingEstimate") + : i("settings:modelInfo.gemini.freeRequests", { + count: e && e.includes("flash") ? 15 : 2, + }), + " ", + l.jsx(Wt, { + href: "https://ai.google.dev/pricing", + className: "text-sm", + children: i("settings:modelInfo.gemini.pricingDetails"), + }), + ], + }), + ].filter(Boolean) + return l.jsxs(l.Fragment, { + children: [ + (n == null ? void 0 : n.description) && + l.jsx(VYt, { markdown: n.description, isExpanded: o, setIsExpanded: r }, "description"), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: s.map((c, d) => l.jsx("div", { children: c }, d)), + }), + ], + }) + }, + DI = ({ isSupported: t, supportsLabel: e, doesNotSupportLabel: n }) => + l.jsxs("div", { + className: be( + "flex items-center gap-1 font-medium", + t ? "text-vscode-charts-green" : "text-vscode-errorForeground", + ), + children: [l.jsx("span", { className: be("codicon", t ? "codicon-check" : "codicon-x") }), t ? e : n], + }), + Gut = ({ errorMessage: t, children: e }) => + l.jsxs("div", { + className: "flex flex-col gap-2 text-vscode-errorForeground text-sm", + "data-testid": "api-error-message", + children: [ + l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [l.jsx("div", { className: "codicon codicon-close" }), l.jsx("div", { children: t })], + }), + e, + ], + }), + Zf = ({ + defaultModelId: t, + models: e, + modelIdKey: n, + serviceName: o, + serviceUrl: r, + apiConfiguration: i, + setApiConfigurationField: s, + organizationAllowList: a, + errorMessage: c, + }) => { + const { t: d } = Be(), + [u, m] = k.useState(!1), + [f, g] = k.useState(!1), + b = k.useRef(!1), + v = k.useRef(null), + w = k.useRef(null), + _ = k.useRef(null), + y = k.useMemo(() => { + const j = Odt(e, i.apiProvider, a) + return Object.keys(j ?? {}).sort((L, W) => L.localeCompare(W)) + }, [e, i.apiProvider, a]), + { id: C, info: S } = uC(i), + [P, R] = k.useState(""), + T = k.useCallback( + (j) => { + j && + (m(!1), + s(n, j), + w.current && clearTimeout(w.current), + (w.current = setTimeout(() => R(""), 100))) + }, + [n, s], + ), + E = k.useCallback((j) => { + m(j), j || (_.current && clearTimeout(_.current), (_.current = setTimeout(() => R(""), 100))) + }, []), + $ = k.useCallback(() => { + var j + R(""), (j = v.current) == null || j.focus() + }, []) + return ( + k.useEffect(() => { + if (!C && !b.current) { + const j = y.includes(C) ? C : t + s(n, j) + } + b.current = !0 + }, [y, s, n, C, t]), + k.useEffect( + () => () => { + w.current && clearTimeout(w.current), _.current && clearTimeout(_.current) + }, + [], + ), + IC(u, () => m(!1)), + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: d("settings:modelPicker.label"), + }), + l.jsxs(dl, { + open: u, + onOpenChange: E, + children: [ + l.jsx(ul, { + asChild: !0, + children: l.jsxs(Ee, { + variant: "combobox", + role: "combobox", + "aria-expanded": u, + className: "w-full justify-between", + "data-testid": "model-picker-button", + children: [ + l.jsx("div", { children: C ?? d("settings:common.select") }), + l.jsx(Trt, { className: "opacity-50" }), + ], + }), + }), + l.jsx(xa, { + className: "p-0 w-[var(--radix-popover-trigger-width)]", + children: l.jsxs(Mf, { + children: [ + l.jsxs("div", { + className: "relative", + children: [ + l.jsx(Yb, { + ref: v, + value: P, + onValueChange: R, + placeholder: d("settings:modelPicker.searchPlaceholder"), + className: "h-9 mr-4", + "data-testid": "model-input", + }), + P.length > 0 && + l.jsx("div", { + className: + "absolute right-2 top-0 bottom-0 flex items-center justify-center", + children: l.jsx(nl, { + className: + "text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer", + onClick: $, + }), + }), + ], + }), + l.jsxs(jf, { + children: [ + l.jsx(Xb, { + children: + P && + l.jsx("div", { + className: "py-2 px-1 text-sm", + children: d("settings:modelPicker.noMatchFound"), + }), + }), + l.jsx(Ef, { + children: y.map((j) => + l.jsxs( + tu, + { + value: j, + onSelect: T, + "data-testid": `model-option-${j}`, + children: [ + j, + l.jsx(Wl, { + className: be( + "size-4 p-0.5 ml-auto", + j === C + ? "opacity-100" + : "opacity-0", + ), + }), + ], + }, + j, + ), + ), + }), + ], + }), + P && + !y.includes(P) && + l.jsx("div", { + className: "p-1 border-t border-vscode-input-border", + children: l.jsx(tu, { + "data-testid": "use-custom-model", + value: P, + onSelect: T, + children: d("settings:modelPicker.useCustomModel", { + modelId: P, + }), + }), + }), + ], + }), + }), + ], + }), + ], + }), + c && l.jsx(Gut, { errorMessage: c }), + C && + S && + l.jsx(Hut, { + apiProvider: i.apiProvider, + selectedModelId: C, + modelInfo: S, + isDescriptionExpanded: f, + setIsDescriptionExpanded: g, + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: l.jsx(Dt, { + i18nKey: "settings:modelPicker.automaticFetch", + components: { + serviceLink: l.jsx(Wt, { href: r, className: "text-sm" }), + defaultModelLink: l.jsx(Wt, { onClick: () => T(t), className: "text-sm" }), + }, + values: { serviceName: o, defaultModelId: t }, + }), + }), + ], + }) + ) + }, + HYt = ({ + apiConfiguration: t, + setApiConfigurationField: e, + routerModels: n, + uriScheme: o, + organizationAllowList: r, + modelValidationError: i, + }) => { + const { t: s } = Be(), + a = k.useCallback( + (c, d = fo) => + (u) => { + e(c, d(u)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.glamaApiKey) || "", + type: "password", + onInput: a("glamaApiKey"), + placeholder: s("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: s("settings:providers.glamaApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: s("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.glamaApiKey) && + l.jsx(Cr, { + href: gQt(o), + style: { width: "100%" }, + appearance: "primary", + children: s("settings:providers.getGlamaApiKey"), + }), + l.jsx(Zf, { + apiConfiguration: t, + setApiConfigurationField: e, + defaultModelId: qj, + models: (n == null ? void 0 : n.glama) ?? {}, + modelIdKey: "glamaModelId", + serviceName: "Glama", + serviceUrl: "https://glama.ai/models", + organizationAllowList: r, + errorMessage: i, + }), + ], + }) + }, + GYt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.groqApiKey) || "", + type: "password", + onInput: o("groqApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.groqApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.groqApiKey) && + l.jsx(Cr, { + href: "https://console.groq.com/keys", + appearance: "secondary", + children: n("settings:providers.getGroqApiKey"), + }), + ], + }) + }, + QYt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + [o, r] = k.useState([]), + [i, s] = k.useState(!1), + [a, c] = k.useState((t == null ? void 0 : t.huggingFaceInferenceProvider) || "auto"), + d = k.useCallback( + (y, C = fo) => + (S) => { + e(y, C(S)) + }, + [e], + ) + k.useEffect(() => { + s(!0), re.postMessage({ type: "requestHuggingFaceModels" }) + }, []) + const u = k.useCallback((y) => { + const C = y.data + switch (C.type) { + case "huggingFaceModels": + r(C.huggingFaceModels || []), s(!1) + break + } + }, []) + Ws("message", u) + const m = o.find((y) => y.id === (t == null ? void 0 : t.huggingFaceModelId)), + f = k.useMemo(() => (m == null ? void 0 : m.providers) || [], [m == null ? void 0 : m.providers]) + k.useEffect(() => { + if (m && f.length > 0) { + const y = t == null ? void 0 : t.huggingFaceInferenceProvider + if (y) c(y) + else if (!f.find((S) => S.provider === a)) { + const S = "auto" + c(S), e("huggingFaceInferenceProvider", S) + } + } + }, [m, f, a, t == null ? void 0 : t.huggingFaceInferenceProvider, e]) + const g = (y) => { + e("huggingFaceModelId", y) + const C = "auto" + c(C), e("huggingFaceInferenceProvider", C) + }, + b = (y) => { + c(y), e("huggingFaceInferenceProvider", y) + }, + v = (y) => + ({ + sambanova: "SambaNova", + "fireworks-ai": "Fireworks", + together: "Together AI", + nebius: "Nebius AI Studio", + hyperbolic: "Hyperbolic", + novita: "Novita", + cohere: "Cohere", + "hf-inference": "HF Inference API", + replicate: "Replicate", + })[y] || y.charAt(0).toUpperCase() + y.slice(1), + w = k.useMemo(() => (!m || !a || a === "auto" ? null : m.providers.find((y) => y.provider === a)), [m, a]), + _ = k.useMemo(() => { + var P + if (!m) return null + const y = !1, + C = + (w == null ? void 0 : w.context_length) || + ((P = m.providers.find((R) => R.context_length)) == null ? void 0 : P.context_length), + S = (w == null ? void 0 : w.supports_tools) || m.providers.some((R) => R.supports_tools) + return { supportsImages: y, maxTokens: C, supportsTools: S } + }, [m, w]) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.huggingFaceApiKey) || "", + type: "password", + onInput: d("huggingFaceApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.huggingFaceApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.huggingFaceApiKey) && + l.jsx(Cr, { + href: "https://huggingface.co/settings/tokens", + appearance: "secondary", + children: n("settings:providers.getHuggingFaceApiKey"), + }), + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsxs("label", { + className: "block font-medium text-sm", + children: [ + n("settings:providers.huggingFaceModelId"), + i && + l.jsx("span", { + className: "text-xs text-gray-400 ml-2", + children: n("settings:providers.huggingFaceLoading"), + }), + !i && + l.jsx("span", { + className: "text-xs text-gray-400 ml-2", + children: n("settings:providers.huggingFaceModelsCount", { count: o.length }), + }), + ], + }), + l.jsx(i_, { + value: (t == null ? void 0 : t.huggingFaceModelId) || "", + onValueChange: g, + options: o.map((y) => ({ value: y.id, label: y.id })), + placeholder: n("settings:providers.huggingFaceSelectModel"), + searchPlaceholder: n("settings:providers.huggingFaceSearchModels"), + emptyMessage: n("settings:providers.huggingFaceNoModelsFound"), + disabled: i, + }), + ], + }), + m && + f.length > 0 && + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsx("label", { + className: "block font-medium text-sm", + children: n("settings:providers.huggingFaceProvider"), + }), + l.jsx(i_, { + value: a, + onValueChange: b, + options: [ + { value: "auto", label: n("settings:providers.huggingFaceProviderAuto") }, + ...f.map((y) => ({ value: y.provider, label: `${v(y.provider)} (${y.status})` })), + ], + placeholder: n("settings:providers.huggingFaceSelectProvider"), + searchPlaceholder: n("settings:providers.huggingFaceSearchProviders"), + emptyMessage: n("settings:providers.huggingFaceNoProvidersFound"), + }), + ], + }), + m && + _ && + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground", + children: [ + l.jsxs("div", { + className: be( + "flex items-center gap-1 font-medium", + _.supportsImages ? "text-vscode-charts-green" : "text-vscode-errorForeground", + ), + children: [ + l.jsx("span", { + className: be("codicon", _.supportsImages ? "codicon-check" : "codicon-x"), + }), + _.supportsImages + ? n("settings:modelInfo.supportsImages") + : n("settings:modelInfo.noImages"), + ], + }), + _.maxTokens && + l.jsxs("div", { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [n("settings:modelInfo.maxOutput"), ":"], + }), + " ", + _.maxTokens.toLocaleString(), + " tokens", + ], + }), + (w == null ? void 0 : w.pricing) && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [n("settings:modelInfo.inputPrice"), ":"], + }), + " ", + ih(w.pricing.input), + " / 1M tokens", + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("span", { + className: "font-medium", + children: [n("settings:modelInfo.outputPrice"), ":"], + }), + " ", + ih(w.pricing.output), + " / 1M tokens", + ], + }), + ], + }), + ], + }), + ], + }) + }, + ZYt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + [o, r] = k.useState({}), + i = oC(), + s = k.useCallback( + (u, m = fo) => + (f) => { + e(u, m(f)) + }, + [e], + ), + a = k.useCallback((u) => { + const m = u.data + switch (m.type) { + case "lmStudioModels": + { + const f = m.lmStudioModels ?? {} + r(f) + } + break + } + }, []) + Ws("message", a), + k.useEffect(() => { + re.postMessage({ type: "requestLmStudioModels" }) + }, []) + const c = k.useMemo(() => { + var m + const u = t == null ? void 0 : t.lmStudioModelId + return !u || (Object.keys(o).length > 0 && u in o) + ? !1 + : (m = i.data) != null && m.lmstudio + ? !Object.keys(i.data.lmstudio).includes(u) + : !1 + }, [t == null ? void 0 : t.lmStudioModelId, i.data, o]), + d = k.useMemo(() => { + var m + const u = t == null ? void 0 : t.lmStudioDraftModelId + return !u || (Object.keys(o).length > 0 && u in o) + ? !1 + : (m = i.data) != null && m.lmstudio + ? !Object.keys(i.data.lmstudio).includes(u) + : !1 + }, [t == null ? void 0 : t.lmStudioDraftModelId, i.data, o]) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.lmStudioBaseUrl) || "", + type: "url", + onInput: s("lmStudioBaseUrl"), + placeholder: n("settings:defaults.lmStudioUrl"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.lmStudio.baseUrl"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.lmStudioModelId) || "", + onInput: s("lmStudioModelId"), + placeholder: n("settings:placeholders.modelId.lmStudio"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.lmStudio.modelId"), + }), + }), + c && + l.jsx("div", { + className: "flex flex-col gap-2 text-vscode-errorForeground text-sm", + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + l.jsx("div", { className: "codicon codicon-close" }), + l.jsx("div", { + children: n("settings:validation.modelAvailability", { + modelId: t == null ? void 0 : t.lmStudioModelId, + }), + }), + ], + }), + }), + Object.keys(o).length > 0 && + l.jsx(Kw, { + value: + ((t == null ? void 0 : t.lmStudioModelId) || "") in o + ? t == null + ? void 0 + : t.lmStudioModelId + : "", + onChange: s("lmStudioModelId"), + children: Object.keys(o).map((u) => + l.jsx( + rb, + { value: u, checked: (t == null ? void 0 : t.lmStudioModelId) === u, children: u }, + u, + ), + ), + }), + l.jsx(Lo, { + checked: (t == null ? void 0 : t.lmStudioSpeculativeDecodingEnabled) === !0, + onChange: (u) => { + e("lmStudioSpeculativeDecodingEnabled", u) + }, + children: n("settings:providers.lmStudio.speculativeDecoding"), + }), + (t == null ? void 0 : t.lmStudioSpeculativeDecodingEnabled) && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.lmStudioDraftModelId) || "", + onInput: s("lmStudioDraftModelId"), + placeholder: n("settings:placeholders.modelId.lmStudioDraft"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.lmStudio.draftModelId"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: n("settings:providers.lmStudio.draftModelDesc"), + }), + d && + l.jsx("div", { + className: "flex flex-col gap-2 text-vscode-errorForeground text-sm mt-2", + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + l.jsx("div", { className: "codicon codicon-close" }), + l.jsx("div", { + children: n("settings:validation.modelAvailability", { + modelId: t == null ? void 0 : t.lmStudioDraftModelId, + }), + }), + ], + }), + }), + ], + }), + Object.keys(o).length > 0 && + l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + className: "font-medium", + children: n("settings:providers.lmStudio.selectDraftModel"), + }), + l.jsx(Kw, { + value: + ((t == null ? void 0 : t.lmStudioDraftModelId) || "") in o + ? t == null + ? void 0 + : t.lmStudioDraftModelId + : "", + onChange: s("lmStudioDraftModelId"), + children: Object.keys(o).map((u) => + l.jsx(rb, { value: u, children: u }, `draft-${u}`), + ), + }), + Object.keys(o).length === 0 && + l.jsx("div", { + className: "text-sm rounded-xs p-2", + style: { + backgroundColor: "var(--vscode-inputValidation-infoBackground)", + border: "1px solid var(--vscode-inputValidation-infoBorder)", + color: "var(--vscode-inputValidation-infoForeground)", + }, + children: n("settings:providers.lmStudio.noModelsFound"), + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: l.jsx(Dt, { + i18nKey: "settings:providers.lmStudio.description", + components: { + a: l.jsx(Wt, { href: "https://lmstudio.ai/docs" }), + b: l.jsx(Wt, { href: "https://lmstudio.ai/docs/basics/server" }), + span: l.jsx("span", { + className: "text-vscode-errorForeground ml-1", + children: l.jsx("span", { className: "font-medium", children: "Note:" }), + }), + }, + }), + }), + ], + }) + }, + YYt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + var r + const { t: n } = Be(), + o = k.useCallback( + (i, s = fo) => + (a) => { + e(i, s(a)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.mistralApiKey) || "", + type: "password", + onInput: o("mistralApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("span", { + className: "font-medium", + children: n("settings:providers.mistralApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.mistralApiKey) && + l.jsx(Cr, { + href: "https://console.mistral.ai/", + appearance: "secondary", + children: n("settings:providers.getMistralApiKey"), + }), + (((r = t == null ? void 0 : t.apiModelId) == null ? void 0 : r.startsWith("codestral-")) || + (!(t != null && t.apiModelId) && Wj.startsWith("codestral-"))) && + l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.mistralCodestralUrl) || "", + type: "url", + onInput: o("mistralCodestralUrl"), + placeholder: "https://codestral.mistral.ai", + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.codestralBaseUrl"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.codestralBaseUrlDesc"), + }), + ], + }), + ], + }) + }, + XYt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.moonshotBaseUrl"), + }), + l.jsxs(Pv, { + value: t.moonshotBaseUrl, + onChange: o("moonshotBaseUrl"), + className: be("w-full"), + children: [ + l.jsx(Ml, { + value: "https://api.moonshot.ai/v1", + className: "p-2", + children: "api.moonshot.ai", + }), + l.jsx(Ml, { + value: "https://api.moonshot.cn/v1", + className: "p-2", + children: "api.moonshot.cn", + }), + ], + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.moonshotApiKey) || "", + type: "password", + onInput: o("moonshotApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.moonshotApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.moonshotApiKey) && + l.jsx(Cr, { + href: + t.moonshotBaseUrl === "https://api.moonshot.cn/v1" + ? "https://platform.moonshot.cn/console/api-keys" + : "https://platform.moonshot.ai/console/api-keys", + appearance: "secondary", + children: n("settings:providers.getMoonshotApiKey"), + }), + ], + }), + ], + }) + }, + JYt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + [o, r] = k.useState([]), + i = oC(), + s = k.useCallback( + (d, u = fo) => + (m) => { + e(d, u(m)) + }, + [e], + ), + a = k.useCallback((d) => { + const u = d.data + switch (u.type) { + case "ollamaModels": + { + const m = u.ollamaModels ?? [] + r(m) + } + break + } + }, []) + Ws("message", a), + k.useEffect(() => { + re.postMessage({ type: "requestOllamaModels" }) + }, []) + const c = k.useMemo(() => { + var u + const d = t == null ? void 0 : t.ollamaModelId + return !d || (o.length > 0 && o.includes(d)) + ? !1 + : (u = i.data) != null && u.ollama + ? !Object.keys(i.data.ollama).includes(d) + : !1 + }, [t == null ? void 0 : t.ollamaModelId, i.data, o]) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.ollamaBaseUrl) || "", + type: "url", + onInput: s("ollamaBaseUrl"), + placeholder: n("settings:defaults.ollamaUrl"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.ollama.baseUrl"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.ollamaModelId) || "", + onInput: s("ollamaModelId"), + placeholder: n("settings:placeholders.modelId.ollama"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.ollama.modelId"), + }), + }), + c && + l.jsx("div", { + className: "flex flex-col gap-2 text-vscode-errorForeground text-sm", + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + l.jsx("div", { className: "codicon codicon-close" }), + l.jsx("div", { + children: n("settings:validation.modelAvailability", { + modelId: t == null ? void 0 : t.ollamaModelId, + }), + }), + ], + }), + }), + o.length > 0 && + l.jsx(Kw, { + value: o.includes((t == null ? void 0 : t.ollamaModelId) || "") + ? t == null + ? void 0 + : t.ollamaModelId + : "", + onChange: s("ollamaModelId"), + children: o.map((d) => + l.jsx( + rb, + { value: d, checked: (t == null ? void 0 : t.ollamaModelId) === d, children: d }, + d, + ), + ), + }), + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground", + children: [ + n("settings:providers.ollama.description"), + l.jsx("span", { + className: "text-vscode-errorForeground ml-1", + children: n("settings:providers.ollama.warning"), + }), + ], + }), + ], + }) + }, + eXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + [o, r] = k.useState(!!(t != null && t.openAiNativeBaseUrl)), + i = k.useCallback( + (s, a = fo) => + (c) => { + e(s, a(c)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(Lo, { + checked: o, + onChange: (s) => { + r(s), s || e("openAiNativeBaseUrl", "") + }, + children: n("settings:providers.useCustomBaseUrl"), + }), + o && + l.jsx(l.Fragment, { + children: l.jsx(ct, { + value: (t == null ? void 0 : t.openAiNativeBaseUrl) || "", + type: "url", + onInput: i("openAiNativeBaseUrl"), + placeholder: "https://api.openai.com/v1", + className: "w-full mt-1", + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.openAiNativeApiKey) || "", + type: "password", + onInput: i("openAiNativeApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.openAiApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.openAiNativeApiKey) && + l.jsx(Cr, { + href: "https://platform.openai.com/api-keys", + appearance: "secondary", + children: n("settings:providers.getOpenAiApiKey"), + }), + ], + }) + }, + tXt = ({ onChange: t, openAiR1FormatEnabled: e }) => { + const { t: n } = Be() + return l.jsxs("div", { + children: [ + l.jsx("div", { + className: "flex items-center gap-2", + children: l.jsx(Lo, { + checked: e, + onChange: t, + children: l.jsx("span", { + className: "font-medium", + children: n("settings:modelInfo.enableR1Format"), + }), + }), + }), + l.jsx("p", { + className: "text-vscode-descriptionForeground text-sm mt-0", + children: n("settings:modelInfo.enableR1FormatTips"), + }), + ], + }) + }, + Qut = ({ apiConfiguration: t, setApiConfigurationField: e, modelInfo: n }) => { + const { t: o } = Be(), + r = !!n && n.supportsReasoningBudget, + i = !!n && n.requiredReasoningBudget, + s = !!n && n.supportsReasoningEffort, + a = t.enableReasoningEffort, + c = t.modelMaxTokens || yj, + d = t.modelMaxThinkingTokens || y9t, + u = + n != null && n.maxThinkingTokens + ? Math.min(n.maxThinkingTokens, Math.floor(0.8 * c)) + : Math.floor(0.8 * c) + return ( + k.useEffect(() => { + r && d > u && e("modelMaxThinkingTokens", u) + }, [r, d, u, e]), + n + ? r && n.maxTokens + ? l.jsxs(l.Fragment, { + children: [ + !i && + l.jsx("div", { + className: "flex flex-col gap-1", + children: l.jsx(Lo, { + checked: a, + onChange: (m) => e("enableReasoningEffort", m === !0), + children: o("settings:providers.useReasoning"), + }), + }), + (i || a) && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("div", { + className: "font-medium", + children: o("settings:thinkingBudget.maxTokens"), + }), + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(Ro, { + min: 8192, + max: Math.max(n.maxTokens || 8192, c, yj), + step: 1024, + value: [c], + onValueChange: ([m]) => e("modelMaxTokens", m), + }), + l.jsx("div", { + className: "w-12 text-sm text-center", + children: c, + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("div", { + className: "font-medium", + children: o("settings:thinkingBudget.maxThinkingTokens"), + }), + l.jsxs("div", { + className: "flex items-center gap-1", + "data-testid": "reasoning-budget", + children: [ + l.jsx(Ro, { + min: 1024, + max: u, + step: 1024, + value: [d], + onValueChange: ([m]) => e("modelMaxThinkingTokens", m), + }), + l.jsx("div", { + className: "w-12 text-sm text-center", + children: d, + }), + ], + }), + ], + }), + ], + }), + ], + }) + : s + ? l.jsxs("div", { + className: "flex flex-col gap-1", + "data-testid": "reasoning-effort", + children: [ + l.jsx("div", { + className: "flex justify-between items-center", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:providers.reasoningEffort.label"), + }), + }), + l.jsxs(Qr, { + value: t.reasoningEffort, + onValueChange: (m) => e("reasoningEffort", m), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: o("settings:common.select") }), + }), + l.jsx(Xr, { + children: AXe.map((m) => + l.jsx( + qn, + { + value: m, + children: o(`settings:providers.reasoningEffort.${m}`), + }, + m, + ), + ), + }), + ], + }), + ], + }) + : null + : null + ) + }, + nXt = ({ apiConfiguration: t, setApiConfigurationField: e, organizationAllowList: n, modelValidationError: o }) => { + var C, S, P, R, T, E, $, j, L, W, G, U, Z, V, X, H, B, M, D, F, N + const { t: r } = Be(), + [i, s] = k.useState(!!(t != null && t.azureApiVersion)), + [a, c] = k.useState(!!(t != null && t.openAiLegacyFormat)), + [d, u] = k.useState(null), + [m, f] = k.useState(() => { + const J = (t == null ? void 0 : t.openAiHeaders) || {} + return Object.entries(J) + }), + g = k.useCallback(() => { + f((J) => [...J, ["", ""]]) + }, []), + b = k.useCallback((J, oe) => { + f((ae) => { + const Q = [...ae] + return Q[J] && (Q[J] = [oe, Q[J][1]]), Q + }) + }, []), + v = k.useCallback((J, oe) => { + f((ae) => { + const Q = [...ae] + return Q[J] && (Q[J] = [Q[J][0], oe]), Q + }) + }, []), + w = k.useCallback((J) => { + f((oe) => oe.filter((ae, Q) => Q !== J)) + }, []) + k.useEffect(() => { + const J = setTimeout(() => { + const oe = kj(m) + e("openAiHeaders", oe) + }, 300) + return () => clearTimeout(J) + }, [m, e]) + const _ = k.useCallback( + (J, oe = fo) => + (ae) => { + e(J, oe(ae)) + }, + [e], + ), + y = k.useCallback((J) => { + const oe = J.data + switch (oe.type) { + case "openAiModels": { + const ae = oe.openAiModels ?? [] + u(Object.fromEntries(ae.map((Q) => [Q, Ao]))) + break + } + } + }, []) + return ( + Ws("message", y), + l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.openAiBaseUrl) || "", + type: "url", + onInput: _("openAiBaseUrl"), + placeholder: r("settings:placeholders.baseUrl"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.openAiBaseUrl"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.openAiApiKey) || "", + type: "password", + onInput: _("openAiApiKey"), + placeholder: r("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.apiKey"), + }), + }), + l.jsx(Zf, { + apiConfiguration: t, + setApiConfigurationField: e, + defaultModelId: "gpt-4o", + models: d, + modelIdKey: "openAiModelId", + serviceName: "OpenAI", + serviceUrl: "https://platform.openai.com", + organizationAllowList: n, + errorMessage: o, + }), + l.jsx(tXt, { + onChange: _("openAiR1FormatEnabled", Cc), + openAiR1FormatEnabled: (t == null ? void 0 : t.openAiR1FormatEnabled) ?? !1, + }), + l.jsx("div", { + children: l.jsx(Lo, { + checked: a, + onChange: (J) => { + c(J), e("openAiLegacyFormat", J) + }, + children: r("settings:providers.useLegacyFormat"), + }), + }), + l.jsx(Lo, { + checked: (t == null ? void 0 : t.openAiStreamingEnabled) ?? !0, + onChange: _("openAiStreamingEnabled", Cc), + children: r("settings:modelInfo.enableStreaming"), + }), + l.jsxs("div", { + children: [ + l.jsx(Lo, { + checked: (t == null ? void 0 : t.includeMaxTokens) ?? !0, + onChange: _("includeMaxTokens", Cc), + children: r("settings:includeMaxOutputTokens"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground ml-6", + children: r("settings:includeMaxOutputTokensDescription"), + }), + ], + }), + l.jsx(Lo, { + checked: (t == null ? void 0 : t.openAiUseAzure) ?? !1, + onChange: _("openAiUseAzure", Cc), + children: r("settings:modelInfo.useAzure"), + }), + l.jsxs("div", { + children: [ + l.jsx(Lo, { + checked: i, + onChange: (J) => { + s(J), J || e("azureApiVersion", "") + }, + children: r("settings:modelInfo.azureApiVersion"), + }), + i && + l.jsx(ct, { + value: (t == null ? void 0 : t.azureApiVersion) || "", + onInput: _("azureApiVersion"), + placeholder: `Default: ${rCt}`, + className: "w-full mt-1", + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-2", + children: [ + l.jsx("label", { + className: "block font-medium", + children: r("settings:providers.customHeaders"), + }), + l.jsx(We, { + content: r("settings:common.add"), + children: l.jsx(Mo, { + appearance: "icon", + onClick: g, + children: l.jsx("span", { className: "codicon codicon-add" }), + }), + }), + ], + }), + m.length + ? m.map(([J, oe], ae) => + l.jsxs( + "div", + { + className: "flex items-center mb-2", + children: [ + l.jsx(ct, { + value: J, + className: "flex-1 mr-2", + placeholder: r("settings:providers.headerName"), + onInput: (Q) => b(ae, Q.target.value), + }), + l.jsx(ct, { + value: oe, + className: "flex-1 mr-2", + placeholder: r("settings:providers.headerValue"), + onInput: (Q) => v(ae, Q.target.value), + }), + l.jsx(We, { + content: r("settings:common.remove"), + children: l.jsx(Mo, { + appearance: "icon", + onClick: () => w(ae), + children: l.jsx("span", { + className: "codicon codicon-trash", + }), + }), + }), + ], + }, + ae, + ), + ) + : l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: r("settings:providers.noCustomHeaders"), + }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx(Lo, { + checked: t.enableReasoningEffort ?? !1, + onChange: (J) => { + if ((e("enableReasoningEffort", J), !J)) { + const { reasoningEffort: oe, ...ae } = t.openAiCustomModelInfo || Ao + e("openAiCustomModelInfo", ae) + } + }, + children: r("settings:providers.setReasoningLevel"), + }), + !!t.enableReasoningEffort && + l.jsx(Qut, { + apiConfiguration: { + ...t, + reasoningEffort: + (C = t.openAiCustomModelInfo) == null ? void 0 : C.reasoningEffort, + }, + setApiConfigurationField: (J, oe) => { + if (J === "reasoningEffort") { + const ae = t.openAiCustomModelInfo || Ao + e("openAiCustomModelInfo", { ...ae, reasoningEffort: oe }) + } + }, + modelInfo: { ...(t.openAiCustomModelInfo || Ao), supportsReasoningEffort: !0 }, + }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-3", + children: [ + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground whitespace-pre-line", + children: r("settings:providers.customModel.capabilities"), + }), + l.jsxs("div", { + children: [ + l.jsx(ct, { + value: + ((P = + (S = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : S.maxTokens) == null + ? void 0 + : P.toString()) || + ((R = Ao.maxTokens) == null ? void 0 : R.toString()) || + "", + type: "text", + style: { + borderColor: (() => { + var oe + const J = + (oe = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : oe.maxTokens + return J + ? J > 0 + ? "var(--vscode-charts-green)" + : "var(--vscode-errorForeground)" + : "var(--vscode-input-border)" + })(), + }, + onInput: _("openAiCustomModelInfo", (J) => { + const oe = parseInt(J.target.value) + return { + ...((t == null ? void 0 : t.openAiCustomModelInfo) || Ao), + maxTokens: isNaN(oe) ? void 0 : oe, + } + }), + placeholder: r("settings:placeholders.numbers.maxTokens"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.customModel.maxTokens.label"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: r("settings:providers.customModel.maxTokens.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(ct, { + value: + ((E = + (T = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : T.contextWindow) == null + ? void 0 + : E.toString()) || + (($ = Ao.contextWindow) == null ? void 0 : $.toString()) || + "", + type: "text", + style: { + borderColor: (() => { + var oe + const J = + (oe = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : oe.contextWindow + return J + ? J > 0 + ? "var(--vscode-charts-green)" + : "var(--vscode-errorForeground)" + : "var(--vscode-input-border)" + })(), + }, + onInput: _("openAiCustomModelInfo", (J) => { + const oe = J.target.value, + ae = parseInt(oe) + return { + ...((t == null ? void 0 : t.openAiCustomModelInfo) || Ao), + contextWindow: isNaN(ae) ? Ao.contextWindow : ae, + } + }), + placeholder: r("settings:placeholders.numbers.contextWindow"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.customModel.contextWindow.label"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: r("settings:providers.customModel.contextWindow.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(Lo, { + checked: + ((j = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : j.supportsImages) ?? Ao.supportsImages, + onChange: _("openAiCustomModelInfo", (J) => ({ + ...((t == null ? void 0 : t.openAiCustomModelInfo) || Ao), + supportsImages: J, + })), + children: l.jsx("span", { + className: "font-medium", + children: r("settings:providers.customModel.imageSupport.label"), + }), + }), + l.jsx(We, { + content: r("settings:providers.customModel.imageSupport.description"), + children: l.jsx("i", { + className: "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground pt-1", + children: r("settings:providers.customModel.imageSupport.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(Lo, { + checked: + ((L = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : L.supportsComputerUse) ?? !1, + onChange: _("openAiCustomModelInfo", (J) => ({ + ...((t == null ? void 0 : t.openAiCustomModelInfo) || Ao), + supportsComputerUse: J, + })), + children: l.jsx("span", { + className: "font-medium", + children: r("settings:providers.customModel.computerUse.label"), + }), + }), + l.jsx(We, { + content: r("settings:providers.customModel.computerUse.description"), + children: l.jsx("i", { + className: "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground pt-1", + children: r("settings:providers.customModel.computerUse.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx(Lo, { + checked: + ((W = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : W.supportsPromptCache) ?? !1, + onChange: _("openAiCustomModelInfo", (J) => ({ + ...((t == null ? void 0 : t.openAiCustomModelInfo) || Ao), + supportsPromptCache: J, + })), + children: l.jsx("span", { + className: "font-medium", + children: r("settings:providers.customModel.promptCache.label"), + }), + }), + l.jsx(We, { + content: r("settings:providers.customModel.promptCache.description"), + children: l.jsx("i", { + className: "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground pt-1", + children: r("settings:providers.customModel.promptCache.description"), + }), + ], + }), + l.jsx("div", { + children: l.jsx(ct, { + value: + ((U = + (G = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : G.inputPrice) == null + ? void 0 + : U.toString()) ?? + ((Z = Ao.inputPrice) == null ? void 0 : Z.toString()) ?? + "", + type: "text", + style: { + borderColor: (() => { + var oe + const J = + (oe = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : oe.inputPrice + return !J && J !== 0 + ? "var(--vscode-input-border)" + : J >= 0 + ? "var(--vscode-charts-green)" + : "var(--vscode-errorForeground)" + })(), + }, + onChange: _("openAiCustomModelInfo", (J) => { + const oe = J.target.value, + ae = parseFloat(oe) + return { + ...((t == null ? void 0 : t.openAiCustomModelInfo) ?? Ao), + inputPrice: isNaN(ae) ? Ao.inputPrice : ae, + } + }), + placeholder: r("settings:placeholders.numbers.inputPrice"), + className: "w-full", + children: l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.customModel.pricing.input.label"), + }), + l.jsx(We, { + content: r("settings:providers.customModel.pricing.input.description"), + children: l.jsx("i", { + className: "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + }), + }), + l.jsx("div", { + children: l.jsx(ct, { + value: + ((X = + (V = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : V.outputPrice) == null + ? void 0 + : X.toString()) || + ((H = Ao.outputPrice) == null ? void 0 : H.toString()) || + "", + type: "text", + style: { + borderColor: (() => { + var oe + const J = + (oe = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : oe.outputPrice + return !J && J !== 0 + ? "var(--vscode-input-border)" + : J >= 0 + ? "var(--vscode-charts-green)" + : "var(--vscode-errorForeground)" + })(), + }, + onChange: _("openAiCustomModelInfo", (J) => { + const oe = J.target.value, + ae = parseFloat(oe) + return { + ...((t == null ? void 0 : t.openAiCustomModelInfo) || Ao), + outputPrice: isNaN(ae) ? Ao.outputPrice : ae, + } + }), + placeholder: r("settings:placeholders.numbers.outputPrice"), + className: "w-full", + children: l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.customModel.pricing.output.label"), + }), + l.jsx(We, { + content: r("settings:providers.customModel.pricing.output.description"), + children: l.jsx("i", { + className: "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + }), + }), + ((B = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : B.supportsPromptCache) && + l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + children: l.jsx(ct, { + value: + ((D = + (M = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : M.cacheReadsPrice) == null + ? void 0 + : D.toString()) ?? "0", + type: "text", + style: { + borderColor: (() => { + var oe + const J = + (oe = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : oe.cacheReadsPrice + return !J && J !== 0 + ? "var(--vscode-input-border)" + : J >= 0 + ? "var(--vscode-charts-green)" + : "var(--vscode-errorForeground)" + })(), + }, + onChange: _("openAiCustomModelInfo", (J) => { + const oe = J.target.value, + ae = parseFloat(oe) + return { + ...((t == null ? void 0 : t.openAiCustomModelInfo) ?? Ao), + cacheReadsPrice: isNaN(ae) ? 0 : ae, + } + }), + placeholder: r("settings:placeholders.numbers.inputPrice"), + className: "w-full", + children: l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("span", { + className: "font-medium", + children: r( + "settings:providers.customModel.pricing.cacheReads.label", + ), + }), + l.jsx(We, { + content: r( + "settings:providers.customModel.pricing.cacheReads.description", + ), + children: l.jsx("i", { + className: + "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + }), + }), + l.jsx("div", { + children: l.jsx(ct, { + value: + ((N = + (F = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : F.cacheWritesPrice) == null + ? void 0 + : N.toString()) ?? "0", + type: "text", + style: { + borderColor: (() => { + var oe + const J = + (oe = t == null ? void 0 : t.openAiCustomModelInfo) == null + ? void 0 + : oe.cacheWritesPrice + return !J && J !== 0 + ? "var(--vscode-input-border)" + : J >= 0 + ? "var(--vscode-charts-green)" + : "var(--vscode-errorForeground)" + })(), + }, + onChange: _("openAiCustomModelInfo", (J) => { + const oe = J.target.value, + ae = parseFloat(oe) + return { + ...((t == null ? void 0 : t.openAiCustomModelInfo) ?? Ao), + cacheWritesPrice: isNaN(ae) ? 0 : ae, + } + }), + placeholder: r("settings:placeholders.numbers.cacheWritePrice"), + className: "w-full", + children: l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: r( + "settings:providers.customModel.pricing.cacheWrites.label", + ), + }), + l.jsx(We, { + content: r( + "settings:providers.customModel.pricing.cacheWrites.description", + ), + children: l.jsx("i", { + className: + "codicon codicon-info text-vscode-descriptionForeground", + style: { fontSize: "12px" }, + }), + }), + ], + }), + }), + }), + ], + }), + l.jsx(Ee, { + variant: "secondary", + onClick: () => e("openAiCustomModelInfo", Ao), + children: r("settings:providers.customModel.resetDefaults"), + }), + ], + }), + ], + }) + ) + }, + oXt = Ae({ + data: Ae({ + label: se(), + usage: Pe(), + is_free_tier: Ge(), + is_provisioning_key: Ge(), + rate_limit: Ae({ requests: Pe(), interval: se() }), + limit: Pe().nullable(), + }), + }) +async function rXt(t, e) { + if (!t) return null + try { + const o = `${e || "https://openrouter.ai/api/v1"}/key`, + r = await Vo.get(o, { headers: { Authorization: `Bearer ${t}` } }), + i = oXt.safeParse(r.data) + return i.success ? i.data.data : (console.error("OpenRouter API key info validation failed:", i.error), null) + } catch (n) { + return console.error("Error fetching OpenRouter key info:", n), null + } +} +const iXt = (t, e, n) => + zb({ + queryKey: ["openrouter-key-info", t, e], + queryFn: () => rXt(t, e), + staleTime: 30 * 1e3, + enabled: !!t, + ...n, + }), + sXt = ({ apiKey: t, baseUrl: e }) => { + const { data: n } = iXt(t, e) + if (!n || !n.limit) return null + const o = (n.limit - n.usage).toFixed(2) + return l.jsxs(Wt, { + href: "https://openrouter.ai/settings/keys", + className: "text-vscode-foreground hover:underline", + children: ["$", o], + }) + }, + aXt = ({ + apiConfiguration: t, + setApiConfigurationField: e, + routerModels: n, + uriScheme: o, + fromWelcomeView: r, + organizationAllowList: i, + modelValidationError: s, + }) => { + const { t: a } = Be(), + [c, d] = k.useState(!!(t != null && t.openRouterBaseUrl)), + u = k.useCallback( + (m, f = fo) => + (g) => { + e(m, f(g)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.openRouterApiKey) || "", + type: "password", + onInput: u("openRouterApiKey"), + placeholder: a("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("label", { + className: "block font-medium", + children: a("settings:providers.openRouterApiKey"), + }), + (t == null ? void 0 : t.openRouterApiKey) && + l.jsx(sXt, { apiKey: t.openRouterApiKey, baseUrl: t.openRouterBaseUrl }), + ], + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: a("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.openRouterApiKey) && + l.jsx(Cr, { + href: mut(o), + style: { width: "100%" }, + appearance: "primary", + children: a("settings:providers.getOpenRouterApiKey"), + }), + !r && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(Lo, { + checked: c, + onChange: (m) => { + d(m), m || e("openRouterBaseUrl", "") + }, + children: a("settings:providers.useCustomBaseUrl"), + }), + c && + l.jsx(ct, { + value: (t == null ? void 0 : t.openRouterBaseUrl) || "", + type: "url", + onInput: u("openRouterBaseUrl"), + placeholder: "Default: https://openrouter.ai/api/v1", + className: "w-full mt-1", + }), + ], + }), + l.jsx(Lo, { + checked: (t == null ? void 0 : t.openRouterUseMiddleOutTransform) ?? !0, + onChange: u("openRouterUseMiddleOutTransform", Cc), + children: l.jsx(Dt, { + i18nKey: "settings:providers.openRouterTransformsText", + components: { a: l.jsx("a", { href: "https://openrouter.ai/docs/transforms" }) }, + }), + }), + ], + }), + l.jsx(Zf, { + apiConfiguration: t, + setApiConfigurationField: e, + defaultModelId: Kj, + models: (n == null ? void 0 : n.openrouter) ?? {}, + modelIdKey: "openRouterModelId", + serviceName: "OpenRouter", + serviceUrl: "https://openrouter.ai/models", + organizationAllowList: i, + errorMessage: s, + }), + ], + }) + }, + lXt = Ae({ + name: se(), + monthly_limit: se(), + monthly_spend: se(), + org_balance: se(), + config: Ae({ aliases: Vr(se(), CXe()).optional() }), + }) +async function cXt(t) { + if (!t) return null + try { + const e = await Vo.get("https://api.requesty.ai/x/apikey", { + headers: { Authorization: `Bearer ${t}`, "Content-Type": "application/json" }, + }), + n = lXt.safeParse(e.data) + return n.success ? n.data : (console.error("Requesty API key info validation failed:", n.error), null) + } catch (e) { + return console.error("Error fetching Requesty key info:", e), null + } +} +const dXt = (t, e) => + zb({ queryKey: ["requesty-key-info", t], queryFn: () => cXt(t), staleTime: 30 * 1e3, enabled: !!t, ...e }), + uXt = ({ apiKey: t }) => { + const { data: e } = dXt(t) + if (!e) return null + const o = parseFloat(e.org_balance).toFixed(2) + return l.jsxs(Wt, { + href: "https://app.requesty.ai/settings", + className: "text-vscode-foreground hover:underline", + children: ["$", o], + }) + }, + pXt = ({ + apiConfiguration: t, + setApiConfigurationField: e, + routerModels: n, + refetchRouterModels: o, + organizationAllowList: r, + modelValidationError: i, + }) => { + const { t: s } = Be(), + [a, c] = k.useState(), + d = k.useCallback( + (u, m = fo) => + (f) => { + e(u, m(f)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.requestyApiKey) || "", + type: "password", + onInput: d("requestyApiKey"), + placeholder: s("settings:providers.getRequestyApiKey"), + className: "w-full", + children: l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("label", { + className: "block font-medium", + children: s("settings:providers.requestyApiKey"), + }), + (t == null ? void 0 : t.requestyApiKey) && l.jsx(uXt, { apiKey: t.requestyApiKey }), + ], + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: s("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.requestyApiKey) && + l.jsx(Cr, { + href: "https://app.requesty.ai/api-keys", + style: { width: "100%" }, + appearance: "primary", + children: s("settings:providers.getRequestyApiKey"), + }), + l.jsx(Ee, { + variant: "outline", + onClick: () => { + re.postMessage({ type: "flushRouterModels", text: "requesty" }), o(), c(!0) + }, + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx("span", { className: "codicon codicon-refresh" }), + s("settings:providers.refreshModels.label"), + ], + }), + }), + a && + l.jsx("div", { + className: "flex items-center text-vscode-errorForeground", + children: s("settings:providers.refreshModels.hint"), + }), + l.jsx(Zf, { + apiConfiguration: t, + setApiConfigurationField: e, + defaultModelId: Vj, + models: (n == null ? void 0 : n.requesty) ?? {}, + modelIdKey: "requestyModelId", + serviceName: "Requesty", + serviceUrl: "https://requesty.ai", + organizationAllowList: r, + errorMessage: i, + }), + ], + }) + }, + mXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.sambaNovaApiKey) || "", + type: "password", + onInput: o("sambaNovaApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.sambaNovaApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.sambaNovaApiKey) && + l.jsx(Cr, { + href: "https://cloud.sambanova.ai/?utm_source=roocode&utm_medium=external&utm_campaign=cloud_signup", + appearance: "secondary", + children: n("settings:providers.getSambaNovaApiKey"), + }), + ], + }) + }, + hXt = ({ + apiConfiguration: t, + setApiConfigurationField: e, + routerModels: n, + organizationAllowList: o, + modelValidationError: r, + }) => { + const { t: i } = Be(), + [s, a] = k.useState(), + [c, d] = k.useState(!1), + u = UW(), + m = k.useRef(), + f = k.useRef(), + g = k.useCallback( + (_, y = fo) => + (C) => { + e(_, y(C)) + }, + [e], + ), + b = k.useCallback(async () => { + re.postMessage({ type: "upsertApiConfiguration", text: "default", apiConfiguration: t }) + const _ = new Promise((y, C) => { + const S = setTimeout(() => { + window.removeEventListener("message", P), C(new Error("Timeout waiting for state update")) + }, 1e4), + P = (R) => { + R.data.type === "state" && (clearTimeout(S), window.removeEventListener("message", P), y()) + } + window.addEventListener("message", P) + }) + try { + await _ + } catch (y) { + console.error("Failed to save configuration:", y) + } + }, [t]), + v = k.useCallback(async () => { + var C + re.postMessage({ type: "flushRouterModels", text: "unbound" }) + const _ = new Promise((S) => { + const P = (R) => { + R.data.type === "routerModels" && (window.removeEventListener("message", P), S()) + } + window.addEventListener("message", P) + }) + re.postMessage({ type: "requestRouterModels" }), + await _, + await u.invalidateQueries({ queryKey: ["routerModels"] }) + const y = (C = u.getQueryData(["routerModels"])) == null ? void 0 : C.unbound + if (y && Object.keys(y).length > 0) { + const S = t == null ? void 0 : t.unboundModelId, + P = S && Object.prototype.hasOwnProperty.call(y, S) + if (!S || !P) { + const R = Object.keys(y)[0] + e("unboundModelId", R) + } + } + return !(!y || Object.keys(y).includes("error")) + }, [u, t, e]), + w = k.useCallback(async () => { + await b(), + (await v()) + ? (a(!0), (m.current = setTimeout(() => a(!1), 3e3))) + : (d(!0), (f.current = setTimeout(() => d(!1), 3e3))) + }, [b, v]) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.unboundApiKey) || "", + type: "password", + onInput: g("unboundApiKey"), + placeholder: i("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: i("settings:providers.unboundApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: i("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.unboundApiKey) && + l.jsx(Cr, { + href: "https://gateway.getunbound.ai", + appearance: "secondary", + children: i("settings:providers.getUnboundApiKey"), + }), + l.jsx("div", { + className: "flex justify-end", + children: l.jsx(Ee, { + variant: "outline", + onClick: w, + className: "w-1/2 max-w-xs", + children: l.jsxs("div", { + className: "flex items-center gap-2 justify-center", + children: [ + l.jsx("span", { className: "codicon codicon-refresh" }), + i("settings:providers.refreshModels.label"), + ], + }), + }), + }), + s && + l.jsx("div", { + className: "flex items-center text-vscode-charts-green", + children: i("settings:providers.unboundRefreshModelsSuccess"), + }), + c && + l.jsx("div", { + className: "flex items-center text-vscode-errorForeground", + children: i("settings:providers.unboundInvalidApiKey"), + }), + l.jsx(Zf, { + apiConfiguration: t, + defaultModelId: Hj, + models: (n == null ? void 0 : n.unbound) ?? {}, + modelIdKey: "unboundModelId", + serviceName: "Unbound", + serviceUrl: "https://api.getunbound.ai/models", + setApiConfigurationField: e, + organizationAllowList: o, + errorMessage: r, + }), + ], + }) + }, + fXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground", + children: [ + l.jsx("div", { children: n("settings:providers.googleCloudSetup.title") }), + l.jsx("div", { + children: l.jsx(Wt, { + href: "https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude#before_you_begin", + className: "text-sm", + children: n("settings:providers.googleCloudSetup.step1"), + }), + }), + l.jsx("div", { + children: l.jsx(Wt, { + href: "https://cloud.google.com/docs/authentication/provide-credentials-adc#google-idp", + className: "text-sm", + children: n("settings:providers.googleCloudSetup.step2"), + }), + }), + l.jsx("div", { + children: l.jsx(Wt, { + href: "https://developers.google.com/workspace/guides/create-credentials?hl=en#service-account", + className: "text-sm", + children: n("settings:providers.googleCloudSetup.step3"), + }), + }), + ], + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.vertexJsonCredentials) || "", + onInput: o("vertexJsonCredentials"), + placeholder: n("settings:placeholders.credentialsJson"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.googleCloudCredentials"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.vertexKeyFile) || "", + onInput: o("vertexKeyFile"), + placeholder: n("settings:placeholders.keyFilePath"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.googleCloudKeyFile"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.vertexProjectId) || "", + onInput: o("vertexProjectId"), + placeholder: n("settings:placeholders.projectId"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.googleCloudProjectId"), + }), + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.googleCloudRegion"), + }), + l.jsxs(Qr, { + value: (t == null ? void 0 : t.vertexRegion) || "", + onValueChange: (r) => e("vertexRegion", r), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: n("settings:common.select") }), + }), + l.jsx(Xr, { + children: iCt.map(({ value: r, label: i }) => + l.jsx(qn, { value: r, children: i }, r), + ), + }), + ], + }), + ], + }), + ], + }) + }, + gXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + [o, r] = k.useState([]), + i = k.useCallback( + (a, c = fo) => + (d) => { + e(a, c(d)) + }, + [e], + ), + s = k.useCallback((a) => { + const c = a.data + switch (c.type) { + case "vsCodeLmModels": + { + const d = c.vsCodeLmModels ?? [] + r(d) + } + break + } + }, []) + return ( + Ws("message", s), + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.vscodeLmModel"), + }), + o.length > 0 + ? l.jsxs(Qr, { + value: + t != null && t.vsCodeLmModelSelector + ? `${t.vsCodeLmModelSelector.vendor ?? ""}/${t.vsCodeLmModelSelector.family ?? ""}` + : "", + onValueChange: i("vsCodeLmModelSelector", (a) => { + const [c, d] = a.split("/") + return { vendor: c, family: d } + }), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: n("settings:common.select") }), + }), + l.jsx(Xr, { + children: o.map((a) => + l.jsx( + qn, + { + value: `${a.vendor}/${a.family}`, + children: `${a.vendor} - ${a.family}`, + }, + `${a.vendor}/${a.family}`, + ), + ), + }), + ], + }) + : l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: n("settings:providers.vscodeLmDescription"), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-errorForeground", + children: n("settings:providers.vscodeLmWarning"), + }), + ], + }) + ) + }, + vXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.xaiApiKey) || "", + type: "password", + onInput: o("xaiApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.xaiApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.xaiApiKey) && + l.jsx(Cr, { + href: "https://api.x.ai/docs", + appearance: "secondary", + children: n("settings:providers.getXaiApiKey"), + }), + ], + }) + }, + bXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.zaiEntrypoint"), + }), + l.jsxs(Pv, { + value: t.zaiApiLine || "international", + onChange: o("zaiApiLine"), + className: be("w-full"), + children: [ + l.jsx(Ml, { value: "international", className: "p-2", children: "api.z.ai" }), + l.jsx(Ml, { value: "china", className: "p-2", children: "open.bigmodel.cn" }), + ], + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground mt-1", + children: n("settings:providers.zaiEntrypointDescription"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.zaiApiKey) || "", + type: "password", + onInput: o("zaiApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.zaiApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.zaiApiKey) && + l.jsx(Cr, { + href: + t.zaiApiLine === "china" + ? "https://open.bigmodel.cn/console/overview" + : "https://z.ai/manage-apikey/apikey-list", + appearance: "secondary", + children: n("settings:providers.getZaiApiKey"), + }), + ], + }), + ], + }) + }, + yXt = ({ apiConfiguration: t, setApiConfigurationField: e, organizationAllowList: n, modelValidationError: o }) => { + const { t: r } = Be(), + { routerModels: i } = Qn(), + [s, a] = k.useState("idle"), + [c, d] = k.useState(), + u = k.useRef(!1) + k.useEffect(() => { + const g = (b) => { + var w + const v = b.data + v.type === "singleRouterModelFetchResponse" && !v.success + ? ((w = v.values) == null ? void 0 : w.provider) === "litellm" && + ((u.current = !0), a("error"), d(v.error)) + : v.type === "routerModels" && s === "loading" && (u.current || a("success")) + } + return ( + window.addEventListener("message", g), + () => { + window.removeEventListener("message", g) + } + ) + }, [s, c, a, d]) + const m = k.useCallback( + (g, b = fo) => + (v) => { + e(g, b(v)) + }, + [e], + ), + f = k.useCallback(() => { + ;(u.current = !1), a("loading"), d(void 0) + const g = t.litellmApiKey, + b = t.litellmBaseUrl + if (!g || !b) { + a("error"), d(r("settings:providers.refreshModels.missingConfig")) + return + } + re.postMessage({ type: "requestRouterModels", values: { litellmApiKey: g, litellmBaseUrl: b } }) + }, [t, a, d, r]) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.litellmBaseUrl) || "", + onInput: m("litellmBaseUrl"), + placeholder: r("settings:placeholders.baseUrl"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.litellmBaseUrl"), + }), + }), + l.jsx(ct, { + value: (t == null ? void 0 : t.litellmApiKey) || "", + type: "password", + onInput: m("litellmApiKey"), + placeholder: r("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: r("settings:providers.litellmApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: r("settings:providers.apiKeyStorageNotice"), + }), + l.jsx(Ee, { + variant: "outline", + onClick: f, + disabled: s === "loading" || !t.litellmApiKey || !t.litellmBaseUrl, + className: "w-full", + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + s === "loading" + ? l.jsx("span", { className: "codicon codicon-loading codicon-modifier-spin" }) + : l.jsx("span", { className: "codicon codicon-refresh" }), + r("settings:providers.refreshModels.label"), + ], + }), + }), + s === "loading" && + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: r("settings:providers.refreshModels.loading"), + }), + s === "success" && + l.jsx("div", { + className: "text-sm text-vscode-foreground", + children: r("settings:providers.refreshModels.success"), + }), + s === "error" && + l.jsx("div", { + className: "text-sm text-vscode-errorForeground", + children: c || r("settings:providers.refreshModels.error"), + }), + l.jsx(Zf, { + apiConfiguration: t, + defaultModelId: kw, + models: (i == null ? void 0 : i.litellm) ?? {}, + modelIdKey: "litellmModelId", + serviceName: "LiteLLM", + serviceUrl: "https://docs.litellm.ai/", + setApiConfigurationField: e, + organizationAllowList: n, + errorMessage: o, + }), + (() => { + var v + const g = t.litellmModelId || kw, + b = (v = i == null ? void 0 : i.litellm) == null ? void 0 : v[g] + return b != null && b.supportsPromptCache + ? l.jsxs("div", { + className: "mt-4", + children: [ + l.jsx(En, { + checked: t.litellmUsePromptCache || !1, + onChange: (w) => { + e("litellmUsePromptCache", w.target.checked) + }, + children: l.jsx("span", { + className: "font-medium", + children: r("settings:providers.enablePromptCaching"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground ml-6 mt-1", + children: r("settings:providers.enablePromptCachingTitle"), + }), + ], + }) + : null + })(), + ], + }) + }, + kXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r, i = fo) => + (s) => { + e(r, i(s)) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.fireworksApiKey) || "", + type: "password", + onInput: o("fireworksApiKey"), + placeholder: n("settings:placeholders.apiKey"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.fireworksApiKey"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: n("settings:providers.apiKeyStorageNotice"), + }), + !(t != null && t.fireworksApiKey) && + l.jsx(Cr, { + href: "https://fireworks.ai/", + appearance: "secondary", + children: n("settings:providers.getFireworksApiKey"), + }), + ], + }) + }, + xXt = { + anthropic: Xu, + "claude-code": yJe, + bedrock: mJe, + cerebras: fJe, + deepseek: xJe, + doubao: Qj, + moonshot: RJe, + gemini: _Je, + mistral: AJe, + "openai-native": IJe, + vertex: zJe, + xai: LJe, + groq: SJe, + chutes: vJe, + sambanova: jJe, + zai: NJe, + fireworks: BJe, + }, + tW = [ + { value: "openrouter", label: "OpenRouter" }, + { value: "anthropic", label: "Anthropic" }, + { value: "claude-code", label: "Claude Code" }, + { value: "cerebras", label: "Cerebras" }, + { value: "gemini", label: "Google Gemini" }, + { value: "doubao", label: "Doubao" }, + { value: "deepseek", label: "DeepSeek" }, + { value: "moonshot", label: "Moonshot" }, + { value: "openai-native", label: "OpenAI" }, + { value: "openai", label: "OpenAI Compatible" }, + { value: "vertex", label: "GCP Vertex AI" }, + { value: "bedrock", label: "Amazon Bedrock" }, + { value: "glama", label: "Glama" }, + { value: "vscode-lm", label: "VS Code LM API" }, + { value: "mistral", label: "Mistral" }, + { value: "lmstudio", label: "LM Studio" }, + { value: "ollama", label: "Ollama" }, + { value: "unbound", label: "Unbound" }, + { value: "requesty", label: "Requesty" }, + { value: "human-relay", label: "Human Relay" }, + { value: "xai", label: "xAI (Grok)" }, + { value: "groq", label: "Groq" }, + { value: "huggingface", label: "Hugging Face" }, + { value: "chutes", label: "Chutes AI" }, + { value: "litellm", label: "LiteLLM" }, + { value: "sambanova", label: "SambaNova" }, + { value: "zai", label: "Z AI" }, + { value: "fireworks", label: "Fireworks AI" }, + ].sort((t, e) => t.label.localeCompare(e.label)), + wXt = ({ diffEnabled: t = !0, fuzzyMatchThreshold: e = 1, onChange: n }) => { + const { t: o } = Be(), + r = k.useCallback( + (s) => { + n("diffEnabled", s.target.checked) + }, + [n], + ), + i = k.useCallback( + (s) => { + n("fuzzyMatchThreshold", s[0]) + }, + [n], + ) + return l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: t, + onChange: r, + children: l.jsx("span", { + className: "font-medium", + children: o("settings:advanced.diff.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm", + children: o("settings:advanced.diff.description"), + }), + ], + }), + t && + l.jsx("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:advanced.diff.matchPrecision.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { min: 0.8, max: 1, step: 0.005, value: [e], onValueChange: i }), + l.jsxs("span", { className: "w-10", children: [Math.round(e * 100), "%"] }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: o("settings:advanced.diff.matchPrecision.description"), + }), + ], + }), + }), + ], + }) + }, + _Xt = ({ todoListEnabled: t = !0, onChange: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r) => { + e("todoListEnabled", r.target.checked) + }, + [e], + ) + return l.jsx("div", { + className: "flex flex-col gap-1", + children: l.jsxs("div", { + children: [ + l.jsx(En, { + checked: t, + onChange: o, + children: l.jsx("span", { + className: "font-medium", + children: n("settings:advanced.todoList.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm", + children: n("settings:advanced.todoList.description"), + }), + ], + }), + }) + }, + CXt = ({ value: t, onChange: e, maxValue: n = 1 }) => { + const { t: o } = Be(), + [r, i] = k.useState(t !== void 0), + [s, a] = k.useState(t) + return ( + UI(() => e(s), 50, [e, s]), + k.useEffect(() => { + const c = t != null + i(c), a(t) + }, [t]), + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: r, + onChange: (c) => { + const d = c.target.checked + i(d), a(d ? (t ?? 0) : null) + }, + children: l.jsx("label", { + className: "block font-medium mb-1", + children: o("settings:temperature.useCustom"), + }), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mt-1", + children: o("settings:temperature.description"), + }), + ], + }), + r && + l.jsx("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0, + max: n, + step: 0.01, + value: [s ?? 0], + onValueChange: ([c]) => a(c), + }), + l.jsx("span", { className: "w-10", children: s }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: o("settings:temperature.rangeDescription"), + }), + ], + }), + }), + ], + }) + ) + }, + SXt = ({ value: t, onChange: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r) => { + e(r) + }, + [e], + ) + return l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.rateLimitSeconds.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { value: [t], min: 0, max: 60, step: 1, onValueChange: (r) => o(r[0]) }), + l.jsxs("span", { className: "w-10", children: [t, "s"] }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: n("settings:providers.rateLimitSeconds.description", { value: t }), + }), + ], + }) + }, + AXt = ({ value: t, onChange: e }) => { + const { t: n } = Be(), + o = k.useCallback( + (r) => { + const i = Math.max(0, r) + e(i) + }, + [e], + ) + return l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:providers.consecutiveMistakeLimit.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { value: [t ?? bx], min: 0, max: 10, step: 1, onValueChange: (r) => o(r[0]) }), + l.jsx("span", { className: "w-10", children: Math.max(0, t ?? bx) }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: + t === 0 + ? n("settings:providers.consecutiveMistakeLimit.unlimitedDescription") + : n("settings:providers.consecutiveMistakeLimit.description", { value: t ?? bx }), + }), + t === 0 && + l.jsx("div", { + className: "text-sm text-vscode-errorForeground mt-1", + children: n("settings:providers.consecutiveMistakeLimit.warning"), + }), + ], + }) + }, + PXt = ({ apiConfiguration: t, setApiConfigurationField: e }) => { + const { t: n } = Be(), + o = k.useMemo(() => { + const { awsCustomArn: r, awsRegion: i } = t + return r ? F9t(r, i) : { isValid: !0, errorMessage: void 0 } + }, [t]) + return l.jsxs(l.Fragment, { + children: [ + l.jsx(ct, { + value: (t == null ? void 0 : t.awsCustomArn) || "", + onInput: (r) => e("awsCustomArn", r.target.value), + placeholder: n("settings:placeholders.customArn"), + className: "w-full", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: n("settings:labels.customArn"), + }), + }), + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground -mt-2", + children: [ + n("settings:providers.awsCustomArnUse"), + l.jsxs("ul", { + className: "list-disc pl-5 mt-1", + children: [ + l.jsx("li", { + children: + "arn:aws:bedrock:eu-west-1:123456789012:inference-profile/eu.anthropic.claude-3-7-sonnet-20250219-v1:0", + }), + l.jsx("li", { + children: + "arn:aws:bedrock:us-west-2:123456789012:provisioned-model/my-provisioned-model", + }), + l.jsx("li", { + children: + "arn:aws:bedrock:us-east-1:123456789012:default-prompt-router/anthropic.claude:1", + }), + ], + }), + n("settings:providers.awsCustomArnDesc"), + ], + }), + o.isValid + ? o.errorMessage && + l.jsx("div", { + className: "text-sm text-vscode-errorForeground mt-2", + children: o.errorMessage, + }) + : l.jsx("div", { + className: "text-sm text-vscode-errorForeground mt-2", + children: o.errorMessage || n("settings:providers.invalidArnFormat"), + }), + ], + }) + }, + RXt = ({ + uriScheme: t, + apiConfiguration: e, + setApiConfigurationField: n, + fromWelcomeView: o, + errorMessage: r, + setErrorMessage: i, + }) => { + const { t: s } = Be(), + { organizationAllowList: a } = Qn(), + [c, d] = k.useState(() => { + const j = (e == null ? void 0 : e.openAiHeaders) || {} + return Object.entries(j) + }) + k.useEffect(() => { + const j = (e == null ? void 0 : e.openAiHeaders) || {} + JSON.stringify(c) !== JSON.stringify(Object.entries(j)) && d(Object.entries(j)) + }, [e == null ? void 0 : e.openAiHeaders, c]), + UI( + () => { + const j = (e == null ? void 0 : e.openAiHeaders) || {}, + L = kj(c) + JSON.stringify(j) !== JSON.stringify(L) && n("openAiHeaders", L) + }, + 300, + [c, e == null ? void 0 : e.openAiHeaders, n], + ) + const [u, m] = k.useState(!1), + [f, g] = k.useState(!1), + b = k.useCallback( + (j, L = fo) => + (W) => { + n(j, L(W)) + }, + [n], + ), + { provider: v, id: w, info: _ } = uC(e), + { data: y, refetch: C } = oC(), + { data: S } = mot(e == null ? void 0 : e.openRouterModelId, { + enabled: + !!(e != null && e.openRouterModelId) && + (y == null ? void 0 : y.openrouter) && + Object.keys(y.openrouter).length > 1 && + e.openRouterModelId in y.openrouter, + }) + k.useEffect(() => { + w && e.apiModelId !== w && n("apiModelId", w) + }, [w, n, e.apiModelId]), + UI( + () => { + if (v === "openai") { + const j = kj(c) + re.postMessage({ + type: "requestOpenAiModels", + values: { + baseUrl: e == null ? void 0 : e.openAiBaseUrl, + apiKey: e == null ? void 0 : e.openAiApiKey, + customHeaders: {}, + openAiHeaders: j, + }, + }) + } else + v === "ollama" + ? re.postMessage({ type: "requestOllamaModels" }) + : v === "lmstudio" + ? re.postMessage({ type: "requestLmStudioModels" }) + : v === "vscode-lm" + ? re.postMessage({ type: "requestVsCodeLmModels" }) + : v === "litellm" && re.postMessage({ type: "requestRouterModels" }) + }, + 250, + [ + v, + e == null ? void 0 : e.requestyApiKey, + e == null ? void 0 : e.openAiBaseUrl, + e == null ? void 0 : e.openAiApiKey, + e == null ? void 0 : e.ollamaBaseUrl, + e == null ? void 0 : e.lmStudioBaseUrl, + e == null ? void 0 : e.litellmBaseUrl, + e == null ? void 0 : e.litellmApiKey, + c, + ], + ), + k.useEffect(() => { + const j = U9t(e, y, a) + i(j) + }, [e, y, a, i]) + const P = k.useMemo(() => { + const j = xXt[v] + if (!j) return [] + const L = Odt(j, v, a) + return L ? Object.keys(L).map((G) => ({ value: G, label: G })) : [] + }, [v, a]), + R = k.useCallback( + (j) => { + n("apiProvider", j) + const L = (U, Z, V) => { + if (!V) return + !U && n(Z, V) + }, + G = { + openrouter: { field: "openRouterModelId", default: Kj }, + glama: { field: "glamaModelId", default: qj }, + unbound: { field: "unboundModelId", default: Hj }, + requesty: { field: "requestyModelId", default: Vj }, + litellm: { field: "litellmModelId", default: kw }, + anthropic: { field: "apiModelId", default: Uj }, + cerebras: { field: "apiModelId", default: hJe }, + "claude-code": { field: "apiModelId", default: bJe }, + "openai-native": { field: "apiModelId", default: TJe }, + gemini: { field: "apiModelId", default: wJe }, + deepseek: { field: "apiModelId", default: kJe }, + doubao: { field: "apiModelId", default: Gj }, + moonshot: { field: "apiModelId", default: PJe }, + mistral: { field: "apiModelId", default: Wj }, + xai: { field: "apiModelId", default: $Je }, + groq: { field: "apiModelId", default: CJe }, + chutes: { field: "apiModelId", default: gJe }, + bedrock: { field: "apiModelId", default: pJe }, + vertex: { field: "apiModelId", default: EJe }, + sambanova: { field: "apiModelId", default: MJe }, + zai: { field: "apiModelId", default: e.zaiApiLine === "china" ? OJe : DJe }, + fireworks: { field: "apiModelId", default: FJe }, + openai: { field: "openAiModelId" }, + ollama: { field: "ollamaModelId" }, + lmstudio: { field: "lmStudioModelId" }, + }[j] + G && L(e[G.field], G.field, G.default) + }, + [n, e], + ), + T = k.useMemo(() => B9t(e, y, a), [e, y, a]), + E = k.useMemo(() => { + const j = tW.find(({ value: U }) => U === v), + L = j == null ? void 0 : j.label + if (!L) return + const G = { "openai-native": "openai", openai: "openai-compatible" }[v] || v + return { url: co(`providers/${G}`, "provider_docs"), name: L } + }, [v]), + $ = k.useMemo(() => q9t(tW, a).map(({ value: j, label: L }) => ({ value: j, label: L })), [a]) + return l.jsxs("div", { + className: "flex flex-col gap-3", + children: [ + l.jsxs("div", { + className: "flex flex-col gap-1 relative", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: s("settings:providers.apiProvider"), + }), + E && + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground", + children: l.jsx(Wt, { + href: E.url, + className: "hover:text-vscode-foreground", + target: "_blank", + children: s("settings:providers.providerDocumentation", { + provider: E.name, + }), + }), + }), + ], + }), + l.jsx(i_, { + value: v, + onValueChange: (j) => R(j), + options: $, + placeholder: s("settings:common.select"), + searchPlaceholder: s("settings:providers.searchProviderPlaceholder"), + emptyMessage: s("settings:providers.noProviderMatchFound"), + className: "w-full", + "data-testid": "provider-select", + }), + ], + }), + r && l.jsx(Gut, { errorMessage: r }), + v === "openrouter" && + l.jsx(aXt, { + apiConfiguration: e, + setApiConfigurationField: n, + routerModels: y, + selectedModelId: w, + uriScheme: t, + fromWelcomeView: o, + organizationAllowList: a, + modelValidationError: T, + }), + v === "requesty" && + l.jsx(pXt, { + apiConfiguration: e, + setApiConfigurationField: n, + routerModels: y, + refetchRouterModels: C, + organizationAllowList: a, + modelValidationError: T, + }), + v === "glama" && + l.jsx(HYt, { + apiConfiguration: e, + setApiConfigurationField: n, + routerModels: y, + uriScheme: t, + organizationAllowList: a, + modelValidationError: T, + }), + v === "unbound" && + l.jsx(hXt, { + apiConfiguration: e, + setApiConfigurationField: n, + routerModels: y, + organizationAllowList: a, + modelValidationError: T, + }), + v === "anthropic" && l.jsx(lQt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "claude-code" && l.jsx(pQt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "openai-native" && l.jsx(eXt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "mistral" && l.jsx(YYt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "bedrock" && + l.jsx(cQt, { apiConfiguration: e, setApiConfigurationField: n, selectedModelInfo: _ }), + v === "vertex" && l.jsx(fXt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "gemini" && l.jsx(fQt, { apiConfiguration: e, setApiConfigurationField: n, fromWelcomeView: o }), + v === "openai" && + l.jsx(nXt, { + apiConfiguration: e, + setApiConfigurationField: n, + organizationAllowList: a, + modelValidationError: T, + }), + v === "lmstudio" && l.jsx(ZYt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "deepseek" && l.jsx(mQt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "doubao" && l.jsx(hQt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "moonshot" && l.jsx(XYt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "vscode-lm" && l.jsx(gXt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "ollama" && l.jsx(JYt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "xai" && l.jsx(vXt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "groq" && l.jsx(GYt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "huggingface" && l.jsx(QYt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "cerebras" && l.jsx(dQt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "chutes" && l.jsx(uQt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "litellm" && + l.jsx(yXt, { + apiConfiguration: e, + setApiConfigurationField: n, + organizationAllowList: a, + modelValidationError: T, + }), + v === "sambanova" && l.jsx(mXt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "zai" && l.jsx(bXt, { apiConfiguration: e, setApiConfigurationField: n }), + v === "human-relay" && + l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: s("settings:providers.humanRelay.description"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground", + children: s("settings:providers.humanRelay.instructions"), + }), + ], + }), + v === "fireworks" && l.jsx(kXt, { apiConfiguration: e, setApiConfigurationField: n }), + P.length > 0 && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: s("settings:providers.model"), + }), + l.jsxs(Qr, { + value: w === "custom-arn" ? "custom-arn" : w, + onValueChange: (j) => { + n("apiModelId", j), + j !== "custom-arn" && v === "bedrock" && n("awsCustomArn", "") + }, + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: s("settings:common.select") }), + }), + l.jsxs(Xr, { + children: [ + P.map((j) => + l.jsx(qn, { value: j.value, children: j.label }, j.value), + ), + v === "bedrock" && + l.jsx(qn, { + value: "custom-arn", + children: s("settings:labels.useCustomArn"), + }), + ], + }), + ], + }), + ], + }), + v === "bedrock" && + w === "custom-arn" && + l.jsx(PXt, { apiConfiguration: e, setApiConfigurationField: n }), + l.jsx(Hut, { + apiProvider: v, + selectedModelId: w, + modelInfo: _, + isDescriptionExpanded: u, + setIsDescriptionExpanded: m, + }), + ], + }), + l.jsx(Qut, { apiConfiguration: e, setApiConfigurationField: n, modelInfo: _ }, `${v}-${w}`), + !o && + l.jsxs(Vrt, { + open: f, + onOpenChange: g, + children: [ + l.jsxs(Hrt, { + className: "flex items-center gap-1 w-full cursor-pointer hover:opacity-80 mb-2", + children: [ + l.jsx("span", { className: `codicon codicon-chevron-${f ? "down" : "right"}` }), + l.jsx("span", { + className: "font-medium", + children: s("settings:advancedSettings.title"), + }), + ], + }), + l.jsxs(yLt, { + className: "space-y-3", + children: [ + l.jsx(_Xt, { todoListEnabled: e.todoListEnabled, onChange: (j, L) => n(j, L) }), + l.jsx(wXt, { + diffEnabled: e.diffEnabled, + fuzzyMatchThreshold: e.fuzzyMatchThreshold, + onChange: (j, L) => n(j, L), + }), + l.jsx(CXt, { + value: e.modelTemperature, + onChange: b("modelTemperature", Cc), + maxValue: 2, + }), + l.jsx(SXt, { + value: e.rateLimitSeconds || 0, + onChange: (j) => n("rateLimitSeconds", j), + }), + l.jsx(AXt, { + value: e.consecutiveMistakeLimit !== void 0 ? e.consecutiveMistakeLimit : bx, + onChange: (j) => n("consecutiveMistakeLimit", j), + }), + v === "openrouter" && + S && + Object.keys(S).length > 0 && + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: s( + "settings:providers.openRouter.providerRouting.title", + ), + }), + l.jsx("a", { + href: `https://openrouter.ai/${w}/providers`, + children: l.jsx(tDt, { className: "w-4 h-4" }), + }), + ], + }), + l.jsxs(Qr, { + value: (e == null ? void 0 : e.openRouterSpecificProvider) || YA, + onValueChange: (j) => n("openRouterSpecificProvider", j), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { + placeholder: s("settings:common.select"), + }), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { value: YA, children: YA }), + Object.entries(S).map(([j, { label: L }]) => + l.jsx(qn, { value: j, children: L }, j), + ), + ], + }), + ], + }), + l.jsxs("div", { + className: "text-sm text-vscode-descriptionForeground mt-1", + children: [ + s("settings:providers.openRouter.providerRouting.description"), + " ", + l.jsxs("a", { + href: "https://openrouter.ai/docs/features/provider-routing", + children: [ + s( + "settings:providers.openRouter.providerRouting.learnMore", + ), + ".", + ], + }), + ], + }), + ], + }), + ], + }), + ], + }), + ], + }) + }, + Zut = k.memo(RXt), + ba = ({ className: t, ...e }) => l.jsx("div", { className: be("flex flex-col gap-3 p-5", t), ...e }) +function TXt(t, e) { + const { className: n, style: o, "data-testid": r, leftNodes: i, rightNodes: s, ...a } = t, + c = k.useRef(null), + d = k.useCallback( + (g) => { + var w, _, y + if (!g) return + const b = g, + v = + ((_ = (w = b.shadowRoot) == null ? void 0 : w.querySelector) == null + ? void 0 + : _.call(w, "input")) || ((y = b.querySelector) == null ? void 0 : y.call(b, "input")) + v && + v instanceof HTMLInputElement && + ((c.current = v), typeof e == "function" ? e == null || e(v) : e && (e.current = v)) + }, + [e], + ), + u = k.useCallback(async () => { + c.current && + document.activeElement !== c.current && + setTimeout(() => { + var g + ;(g = c.current) == null || g.focus() + }) + }, []), + m = i && i.filter(Boolean).length > 0, + f = s && s.filter(Boolean).length > 0 + return l.jsxs("div", { + className: be( + "group", + "relative flex items-center cursor-text", + "bg-[var(--input-background)] text-[var(--input-foreground)]", + "rounded-[calc(var(--corner-radius-round)*1px)]", + n, + ), + style: o, + onMouseDown: u, + children: [ + m && + l.jsx("div", { + className: "absolute left-2 z-10 flex items-center gap-1 pointer-events-none", + children: i, + }), + l.jsx(ct, { + "data-testid": r, + ref: d, + style: { flex: 1, paddingLeft: m ? "24px" : void 0, paddingRight: f ? "24px" : void 0 }, + className: "[--border-width:0]", + ...a, + }), + f && + l.jsx("div", { + className: "absolute right-2 z-10 flex items-center gap-1 pointer-events-none", + children: s, + }), + l.jsx("div", { + className: + "absolute top-0 left-0 size-full border border-vscode-input-border group-focus-within:border-[var(--focus-border)] rounded", + }), + ], + }) +} +const IXt = k.forwardRef(TXt) +function MXt({ value: t, onValueChange: e, formatter: n, ...o }, r) { + const [i, s] = k.useState(""), + [a, c] = k.useState(!1) + k.useEffect(() => { + a || s(n.format(t)) + }, [t, n, a]) + const d = k.useCallback( + (f) => { + const g = f.target + c(!0) + let b = g.value + n.filter && ((b = n.filter(g.value)), (g.value = b)), s(b) + const v = n.parse(b) + e(v) + }, + [n, e], + ), + u = k.useCallback(() => { + c(!1), s(n.format(t)) + }, [n, t]), + m = a ? i : n.format(t) + return l.jsx(IXt, { ...o, value: m, onInput: d, onBlur: u, ref: r }) +} +const Yut = k.forwardRef(MXt), + jXt = { + parse: (t) => { + if (t.trim() === "") return + const e = parseInt(t) + return !isNaN(e) && e > 0 ? e : void 0 + }, + format: (t) => (t === void 0 || t === 1 / 0 ? "" : t.toString()), + filter: (t) => t.replace(/[^0-9]/g, ""), + }, + EXt = { + parse: (t) => { + if (t.trim() === "") return + const e = parseFloat(t) + return !isNaN(e) && e >= 0 ? e : void 0 + }, + format: (t) => (t === void 0 || t === 1 / 0 ? "" : t.toString()), + filter: (t) => { + let e = t.replace(/[^0-9.]/g, "") + const n = e.indexOf(".") + if (n !== -1) { + const o = e.substring(0, n + 1), + r = e.substring(n + 1).replace(/\./g, "") + e = o + r + } + return e + }, + } +function zXt({ allowedMaxRequests: t, onValueChange: e }) { + const { t: n } = to(), + o = k.useCallback( + (r) => { + e(r), re.postMessage({ type: "allowedMaxRequests", value: r }) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("label", { + className: "flex items-center gap-2 text-sm font-medium whitespace-nowrap", + children: [ + l.jsx("span", { className: "codicon codicon-pulse" }), + n("settings:autoApprove.apiRequestLimit.title"), + ":", + ], + }), + l.jsx(Yut, { + value: t, + onValueChange: o, + formatter: jXt, + placeholder: n("settings:autoApprove.apiRequestLimit.unlimited"), + style: { maxWidth: "200px" }, + "data-testid": "max-requests-input", + }), + ], + }) +} +function $Xt({ allowedMaxCost: t, onValueChange: e }) { + const { t: n } = to(), + o = k.useCallback( + (r) => { + e(r), re.postMessage({ type: "allowedMaxCost", value: r }) + }, + [e], + ) + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("label", { + className: "flex items-center gap-2 text-sm font-medium whitespace-nowrap", + children: [ + l.jsx("span", { className: "codicon codicon-credit-card" }), + n("settings:autoApprove.apiCostLimit.title"), + ":", + ], + }), + l.jsx(Yut, { + value: t, + onValueChange: o, + formatter: EXt, + placeholder: n("settings:autoApprove.apiCostLimit.unlimited"), + style: { maxWidth: "200px" }, + "data-testid": "max-cost-input", + leftNodes: [l.jsx("span", { children: "$" }, "dollar")], + }), + ], + }) +} +const LXt = ({ allowedMaxRequests: t, allowedMaxCost: e, onMaxRequestsChange: n, onMaxCostChange: o }) => { + const { t: r } = to() + return l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsxs("div", { + className: "grid grid-cols-[auto_1fr] gap-x-2 gap-y-2 items-center", + children: [ + l.jsx(zXt, { allowedMaxRequests: t, onValueChange: n }), + l.jsx($Xt, { allowedMaxCost: e, onValueChange: o }), + ], + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground", + children: r("settings:autoApprove.maxLimits.description"), + }), + ], + }) + }, + DXt = ({ + alwaysAllowReadOnly: t, + alwaysAllowReadOnlyOutsideWorkspace: e, + alwaysAllowWrite: n, + alwaysAllowWriteOutsideWorkspace: o, + alwaysAllowWriteProtected: r, + alwaysAllowBrowser: i, + alwaysApproveResubmit: s, + requestDelaySeconds: a, + alwaysAllowMcp: c, + alwaysAllowModeSwitch: d, + alwaysAllowSubtasks: u, + alwaysAllowExecute: m, + alwaysAllowFollowupQuestions: f, + followupAutoApproveTimeoutMs: g = 6e4, + alwaysAllowUpdateTodoList: b, + allowedCommands: v, + allowedMaxRequests: w, + allowedMaxCost: _, + deniedCommands: y, + setCachedStateField: C, + ...S + }) => { + const { t: P } = Be(), + [R, T] = k.useState(""), + [E, $] = k.useState(""), + { autoApprovalEnabled: j, setAutoApprovalEnabled: L } = Qn(), + W = Qz(), + { hasEnabledOptions: G, effectiveAutoApprovalEnabled: U } = Gz(W, j), + Z = () => { + const X = v ?? [] + if (R && !X.includes(R)) { + const H = [...X, R] + C("allowedCommands", H), T(""), re.postMessage({ type: "allowedCommands", commands: H }) + } + }, + V = () => { + const X = y ?? [] + if (E && !X.includes(E)) { + const H = [...X, E] + C("deniedCommands", H), $(""), re.postMessage({ type: "deniedCommands", commands: H }) + } + } + return l.jsxs("div", { + ...S, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Rrt, { className: "w-4 h-4" }), + l.jsx("div", { children: P("settings:sections.autoApprove") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + className: "space-y-4", + children: [ + l.jsxs("div", { + children: [ + G + ? l.jsx(En, { + checked: U, + disabled: !G, + "aria-label": P("settings:autoApprove.toggleAriaLabel"), + onChange: () => { + const X = !(j ?? !1) + L(X), re.postMessage({ type: "autoApprovalEnabled", bool: X }) + }, + children: l.jsx("span", { + className: "font-medium", + children: P("settings:autoApprove.enabled"), + }), + }) + : l.jsx(We, { + content: P("settings:autoApprove.selectOptionsFirst"), + children: l.jsx(En, { + checked: U, + disabled: !G, + "aria-label": P("settings:autoApprove.disabledAriaLabel"), + onChange: () => {}, + children: l.jsx("span", { + className: "font-medium", + children: P("settings:autoApprove.enabled"), + }), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P("settings:autoApprove.description"), + }), + ], + }), + l.jsx($dt, { + alwaysAllowReadOnly: t, + alwaysAllowWrite: n, + alwaysAllowBrowser: i, + alwaysApproveResubmit: s, + alwaysAllowMcp: c, + alwaysAllowModeSwitch: d, + alwaysAllowSubtasks: u, + alwaysAllowExecute: m, + alwaysAllowFollowupQuestions: f, + alwaysAllowUpdateTodoList: b, + onToggle: (X, H) => C(X, H), + }), + l.jsx(LXt, { + allowedMaxRequests: w, + allowedMaxCost: _, + onMaxRequestsChange: (X) => C("allowedMaxRequests", X), + onMaxCostChange: (X) => C("allowedMaxCost", X), + }), + ], + }), + t && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + className: "flex items-center gap-4 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-eye" }), + l.jsx("div", { children: P("settings:autoApprove.readOnly.label") }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: e, + onChange: (X) => + C("alwaysAllowReadOnlyOutsideWorkspace", X.target.checked), + "data-testid": "always-allow-readonly-outside-workspace-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: P("settings:autoApprove.readOnly.outsideWorkspace.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P( + "settings:autoApprove.readOnly.outsideWorkspace.description", + ), + }), + ], + }), + ], + }), + n && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + className: "flex items-center gap-4 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-edit" }), + l.jsx("div", { children: P("settings:autoApprove.write.label") }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: o, + onChange: (X) => + C("alwaysAllowWriteOutsideWorkspace", X.target.checked), + "data-testid": "always-allow-write-outside-workspace-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: P("settings:autoApprove.write.outsideWorkspace.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P("settings:autoApprove.write.outsideWorkspace.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: r, + onChange: (X) => C("alwaysAllowWriteProtected", X.target.checked), + "data-testid": "always-allow-write-protected-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: P("settings:autoApprove.write.protected.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1 mb-3", + children: P("settings:autoApprove.write.protected.description"), + }), + ], + }), + ], + }), + s && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + className: "flex items-center gap-4 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-refresh" }), + l.jsx("div", { children: P("settings:autoApprove.retry.label") }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 5, + max: 100, + step: 1, + value: [a], + onValueChange: ([X]) => C("requestDelaySeconds", X), + "data-testid": "request-delay-slider", + }), + l.jsxs("span", { className: "w-20", children: [a, "s"] }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P("settings:autoApprove.retry.delayLabel"), + }), + ], + }), + ], + }), + f && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + className: "flex items-center gap-4 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-question" }), + l.jsx("div", { + children: P("settings:autoApprove.followupQuestions.label"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 1e3, + max: 3e5, + step: 1e3, + value: [g], + onValueChange: ([X]) => C("followupAutoApproveTimeoutMs", X), + "data-testid": "followup-timeout-slider", + }), + l.jsxs("span", { className: "w-20", children: [g / 1e3, "s"] }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P("settings:autoApprove.followupQuestions.timeoutLabel"), + }), + ], + }), + ], + }), + m && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + className: "flex items-center gap-4 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-terminal" }), + l.jsx("div", { children: P("settings:autoApprove.execute.label") }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + "data-testid": "allowed-commands-heading", + children: P("settings:autoApprove.execute.allowedCommands"), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P("settings:autoApprove.execute.allowedCommandsDescription"), + }), + ], + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(ha, { + value: R, + onChange: (X) => T(X.target.value), + onKeyDown: (X) => { + X.key === "Enter" && (X.preventDefault(), Z()) + }, + placeholder: P("settings:autoApprove.execute.commandPlaceholder"), + className: "grow", + "data-testid": "command-input", + }), + l.jsx(Ee, { + className: "h-8", + onClick: Z, + "data-testid": "add-command-button", + children: P("settings:autoApprove.execute.addButton"), + }), + ], + }), + l.jsx("div", { + className: "flex flex-wrap gap-2", + children: (v ?? []).map((X, H) => + l.jsx( + Ee, + { + variant: "secondary", + "data-testid": `remove-command-${H}`, + onClick: () => { + const B = (v ?? []).filter((M, D) => D !== H) + C("allowedCommands", B), + re.postMessage({ type: "allowedCommands", commands: B }) + }, + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + l.jsx("div", { children: X }), + l.jsx(nl, { className: "text-foreground scale-75" }), + ], + }), + }, + H, + ), + ), + }), + l.jsxs("div", { + className: "mt-6", + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + "data-testid": "denied-commands-heading", + children: P("settings:autoApprove.execute.deniedCommands"), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: P("settings:autoApprove.execute.deniedCommandsDescription"), + }), + ], + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(ha, { + value: E, + onChange: (X) => $(X.target.value), + onKeyDown: (X) => { + X.key === "Enter" && (X.preventDefault(), V()) + }, + placeholder: P("settings:autoApprove.execute.deniedCommandPlaceholder"), + className: "grow", + "data-testid": "denied-command-input", + }), + l.jsx(Ee, { + className: "h-8", + onClick: V, + "data-testid": "add-denied-command-button", + children: P("settings:autoApprove.execute.addButton"), + }), + ], + }), + l.jsx("div", { + className: "flex flex-wrap gap-2", + children: (y ?? []).map((X, H) => + l.jsx( + Ee, + { + variant: "secondary", + "data-testid": `remove-denied-command-${H}`, + onClick: () => { + const B = (y ?? []).filter((M, D) => D !== H) + C("deniedCommands", B), + re.postMessage({ type: "deniedCommands", commands: B }) + }, + children: l.jsxs("div", { + className: "flex flex-row items-center gap-1", + children: [ + l.jsx("div", { children: X }), + l.jsx(nl, { className: "text-foreground scale-75" }), + ], + }), + }, + H, + ), + ), + }), + ], + }), + ], + }), + ], + }) + }, + NXt = ({ + browserToolEnabled: t, + browserViewportSize: e, + screenshotQuality: n, + remoteBrowserHost: o, + remoteBrowserEnabled: r, + setCachedStateField: i, + ...s + }) => { + const { t: a } = Be(), + [c, d] = k.useState(!1), + [u, m] = k.useState(null), + [f, g] = k.useState(!1) + k.useEffect(() => { + const w = (_) => { + const y = _.data + y.type === "browserConnectionResult" && (m({ success: y.success, text: y.text }), d(!1), g(!1)) + } + return ( + window.addEventListener("message", w), + () => { + window.removeEventListener("message", w) + } + ) + }, []) + const b = async () => { + d(!0), m(null) + try { + re.postMessage({ type: "testBrowserConnection", text: o }) + } catch (w) { + m({ success: !1, text: `Error: ${w instanceof Error ? w.message : String(w)}` }), d(!1) + } + }, + v = k.useMemo( + () => [ + { value: "1280x800", label: a("settings:browser.viewport.options.largeDesktop") }, + { value: "900x600", label: a("settings:browser.viewport.options.smallDesktop") }, + { value: "768x1024", label: a("settings:browser.viewport.options.tablet") }, + { value: "360x640", label: a("settings:browser.viewport.options.mobile") }, + ], + [a], + ) + return l.jsxs("div", { + ...s, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Nrt, { className: "w-4" }), + l.jsx("div", { children: a("settings:sections.browser") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: t, + onChange: (w) => i("browserToolEnabled", w.target.checked), + children: l.jsx("span", { + className: "font-medium", + children: a("settings:browser.enable.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: "settings:browser.enable.description", + children: l.jsx(Wt, { + href: co("features/browser-use", "settings_browser_tool"), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + t && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: a("settings:browser.viewport.label"), + }), + l.jsxs(Qr, { + value: e, + onValueChange: (w) => i("browserViewportSize", w), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { + placeholder: a("settings:common.select"), + }), + }), + l.jsx(Xr, { + children: l.jsx($at, { + children: v.map(({ value: w, label: _ }) => + l.jsx(qn, { value: w, children: _ }, w), + ), + }), + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: a("settings:browser.viewport.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: a("settings:browser.screenshotQuality.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 1, + max: 100, + step: 1, + value: [n ?? 75], + onValueChange: ([w]) => i("screenshotQuality", w), + }), + l.jsxs("span", { className: "w-10", children: [n ?? 75, "%"] }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: a("settings:browser.screenshotQuality.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: r, + onChange: (w) => { + i("remoteBrowserEnabled", w.target.checked), + w.target.checked || i("remoteBrowserHost", void 0) + }, + children: l.jsx("label", { + className: "block font-medium mb-1", + children: a("settings:browser.remote.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: a("settings:browser.remote.description"), + }), + ], + }), + r && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(ct, { + value: o ?? "", + onChange: (w) => + i("remoteBrowserHost", w.target.value || void 0), + placeholder: a("settings:browser.remote.urlPlaceholder"), + style: { flexGrow: 1 }, + }), + l.jsx(Mo, { + disabled: c, + onClick: b, + children: a( + c || f + ? "settings:browser.remote.testingButton" + : "settings:browser.remote.testButton", + ), + }), + ], + }), + u && + l.jsx("div", { + className: `p-2 rounded-xs text-sm ${u.success ? "bg-green-800/20 text-green-400" : "bg-red-800/20 text-red-400"}`, + children: u.text, + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: a("settings:browser.remote.instructions"), + }), + ], + }), + ], + }), + ], + }), + ], + }) + }, + OXt = ({ enableCheckpoints: t, setCachedStateField: e, ...n }) => { + const { t: o } = Be() + return l.jsxs("div", { + ...n, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(zrt, { className: "w-4" }), + l.jsx("div", { children: o("settings:sections.checkpoints") }), + ], + }), + }), + l.jsx(ba, { + children: l.jsxs("div", { + children: [ + l.jsx(En, { + checked: t, + onChange: (r) => { + e("enableCheckpoints", r.target.checked) + }, + children: l.jsx("span", { + className: "font-medium", + children: o("settings:checkpoints.enable.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: "settings:checkpoints.enable.description", + children: l.jsx(Wt, { + href: co("features/checkpoints", "settings_checkpoints"), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + }), + ], + }) + }, + FXt = ({ ttsEnabled: t, ttsSpeed: e, soundEnabled: n, soundVolume: o, setCachedStateField: r, ...i }) => { + const { t: s } = Be() + return l.jsxs("div", { + ...i, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Prt, { className: "w-4" }), + l.jsx("div", { children: s("settings:sections.notifications") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: t, + onChange: (a) => r("ttsEnabled", a.target.checked), + "data-testid": "tts-enabled-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: s("settings:notifications.tts.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: s("settings:notifications.tts.description"), + }), + ], + }), + t && + l.jsx("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: s("settings:notifications.tts.speedLabel"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0.1, + max: 2, + step: 0.01, + value: [e ?? 1], + onValueChange: ([a]) => r("ttsSpeed", a), + "data-testid": "tts-speed-slider", + }), + l.jsxs("span", { + className: "w-10", + children: [((e ?? 1) * 100).toFixed(0), "%"], + }), + ], + }), + ], + }), + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: n, + onChange: (a) => r("soundEnabled", a.target.checked), + "data-testid": "sound-enabled-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: s("settings:notifications.sound.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: s("settings:notifications.sound.description"), + }), + ], + }), + n && + l.jsx("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: s("settings:notifications.sound.volumeLabel"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0, + max: 1, + step: 0.01, + value: [o ?? 0.5], + onValueChange: ([a]) => r("soundVolume", a), + "data-testid": "sound-volume-slider", + }), + l.jsxs("span", { + className: "w-10", + children: [((o ?? 0.5) * 100).toFixed(0), "%"], + }), + ], + }), + ], + }), + }), + ], + }), + ], + }) + }, + BXt = ({ + autoCondenseContext: t, + autoCondenseContextPercent: e, + listApiConfigMeta: n, + maxOpenTabsContext: o, + maxWorkspaceFiles: r, + showRooIgnoredFiles: i, + setCachedStateField: s, + maxReadFileLine: a, + maxImageFileSize: c, + maxTotalImageSize: d, + maxConcurrentFileReads: u, + profileThresholds: m = {}, + includeDiagnosticMessages: f, + maxDiagnosticMessages: g, + writeDelayMs: b, + className: v, + ...w + }) => { + const { t: _ } = Be(), + [y, C] = Ie.useState("default"), + S = () => { + if (y === "default") return e + const R = m[y] + return R === void 0 || R === -1 ? e : R + }, + P = (R) => { + if (y === "default") s("autoCondenseContextPercent", R) + else { + const T = { ...m, [y]: R } + s("profileThresholds", T), re.postMessage({ type: "profileThresholds", values: T }) + } + } + return l.jsxs("div", { + className: be("flex flex-col gap-2", v), + ...w, + children: [ + l.jsx(pl, { + description: _("settings:contextManagement.description"), + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(sz, { className: "w-4" }), + l.jsx("div", { children: _("settings:sections.contextManagement") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("span", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.openTabs.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0, + max: 500, + step: 1, + value: [o ?? 20], + onValueChange: ([R]) => s("maxOpenTabsContext", R), + "data-testid": "open-tabs-limit-slider", + }), + l.jsx("span", { className: "w-10", children: o ?? 20 }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: _("settings:contextManagement.openTabs.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("span", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.workspaceFiles.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0, + max: 500, + step: 1, + value: [r ?? 200], + onValueChange: ([R]) => s("maxWorkspaceFiles", R), + "data-testid": "workspace-files-limit-slider", + }), + l.jsx("span", { className: "w-10", children: r ?? 200 }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: _("settings:contextManagement.workspaceFiles.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("span", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.maxConcurrentFileReads.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 1, + max: 100, + step: 1, + value: [Math.max(1, u ?? 5)], + onValueChange: ([R]) => s("maxConcurrentFileReads", R), + "data-testid": "max-concurrent-file-reads-slider", + }), + l.jsx("span", { className: "w-10 text-sm", children: Math.max(1, u ?? 5) }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1 mb-3", + children: _("settings:contextManagement.maxConcurrentFileReads.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: i, + onChange: (R) => s("showRooIgnoredFiles", R.target.checked), + "data-testid": "show-rooignored-files-checkbox", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.rooignore.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1 mb-3", + children: _("settings:contextManagement.rooignore.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsx("span", { + className: "font-medium", + children: _("settings:contextManagement.maxReadFile.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-4", + children: [ + l.jsx(ha, { + type: "number", + pattern: "-?[0-9]*", + className: + "w-24 bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border px-2 py-1 rounded text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none disabled:opacity-50", + value: a ?? -1, + min: -1, + onChange: (R) => { + const T = parseInt(R.target.value, 10) + !isNaN(T) && T >= -1 && s("maxReadFileLine", T) + }, + onClick: (R) => R.currentTarget.select(), + "data-testid": "max-read-file-line-input", + disabled: a === -1, + }), + l.jsx("span", { + children: _("settings:contextManagement.maxReadFile.lines"), + }), + l.jsx(En, { + checked: a === -1, + onChange: (R) => s("maxReadFileLine", R.target.checked ? -1 : 500), + "data-testid": "max-read-file-always-full-checkbox", + children: _( + "settings:contextManagement.maxReadFile.always_full_read", + ), + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-2", + children: _("settings:contextManagement.maxReadFile.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsx("span", { + className: "font-medium", + children: _("settings:contextManagement.maxImageFileSize.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-4", + children: [ + l.jsx(ha, { + type: "number", + pattern: "[0-9]*", + className: + "w-24 bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border px-2 py-1 rounded text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none", + value: c ?? 5, + min: 1, + max: 100, + onChange: (R) => { + const T = parseInt(R.target.value, 10) + !isNaN(T) && T >= 1 && T <= 100 && s("maxImageFileSize", T) + }, + onClick: (R) => R.currentTarget.select(), + "data-testid": "max-image-file-size-input", + }), + l.jsx("span", { + children: _("settings:contextManagement.maxImageFileSize.mb"), + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-2", + children: _("settings:contextManagement.maxImageFileSize.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex flex-col gap-2", + children: [ + l.jsx("span", { + className: "font-medium", + children: _("settings:contextManagement.maxTotalImageSize.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-4", + children: [ + l.jsx(ha, { + type: "number", + pattern: "[0-9]*", + className: + "w-24 bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border px-2 py-1 rounded text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none", + value: d ?? 20, + min: 1, + max: 500, + onChange: (R) => { + const T = parseInt(R.target.value, 10) + !isNaN(T) && T >= 1 && T <= 500 && s("maxTotalImageSize", T) + }, + onClick: (R) => R.currentTarget.select(), + "data-testid": "max-total-image-size-input", + }), + l.jsx("span", { + children: _("settings:contextManagement.maxTotalImageSize.mb"), + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-2", + children: _("settings:contextManagement.maxTotalImageSize.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: f, + onChange: (R) => s("includeDiagnosticMessages", R.target.checked), + "data-testid": "include-diagnostic-messages-checkbox", + children: l.jsx("label", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.diagnostics.includeMessages.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1 mb-3", + children: _("settings:contextManagement.diagnostics.includeMessages.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("span", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.diagnostics.maxMessages.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 1, + max: 100, + step: 1, + value: [g !== void 0 && g <= 0 ? 100 : (g ?? 50)], + onValueChange: ([R]) => { + s("maxDiagnosticMessages", R === 100 ? -1 : R) + }, + "data-testid": "max-diagnostic-messages-slider", + "aria-label": _("settings:contextManagement.diagnostics.maxMessages.label"), + "aria-valuemin": 1, + "aria-valuemax": 100, + "aria-valuenow": g !== void 0 && g <= 0 ? 100 : (g ?? 50), + "aria-valuetext": + (g !== void 0 && g <= 0) || g === 100 + ? _( + "settings:contextManagement.diagnostics.maxMessages.unlimitedLabel", + ) + : `${g ?? 50} ${_("settings:contextManagement.diagnostics.maxMessages.label")}`, + }), + l.jsx("span", { + className: "w-20 text-sm font-medium", + children: + (g !== void 0 && g <= 0) || g === 100 + ? _( + "settings:contextManagement.diagnostics.maxMessages.unlimitedLabel", + ) + : (g ?? 50), + }), + l.jsx(Ee, { + variant: "ghost", + size: "sm", + onClick: () => s("maxDiagnosticMessages", 50), + title: _("settings:contextManagement.diagnostics.maxMessages.resetTooltip"), + className: "p-1 h-6 w-6", + disabled: g === 50, + children: l.jsx("span", { className: "codicon codicon-discard" }), + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: _("settings:contextManagement.diagnostics.maxMessages.description"), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("span", { + className: "block font-medium mb-1", + children: _("settings:contextManagement.diagnostics.delayAfterWrite.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0, + max: 5e3, + step: 100, + value: [b], + onValueChange: ([R]) => s("writeDelayMs", R), + "data-testid": "write-delay-slider", + }), + l.jsxs("span", { className: "w-20", children: [b, "ms"] }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: _("settings:contextManagement.diagnostics.delayAfterWrite.description"), + }), + ], + }), + ], + }), + l.jsxs(ba, { + className: "pt-2", + children: [ + l.jsx(En, { + checked: t, + onChange: (R) => s("autoCondenseContext", R.target.checked), + "data-testid": "auto-condense-context-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: _("settings:contextManagement.autoCondenseContext.name"), + }), + }), + t && + l.jsxs("div", { + className: "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + className: "flex items-center gap-4 font-bold", + children: [ + l.jsx(Ert, { size: 16 }), + l.jsx("div", { + children: _("settings:contextManagement.condensingThreshold.label"), + }), + ], + }), + l.jsx("div", { + children: l.jsxs(Qr, { + value: y || "default", + onValueChange: (R) => { + C(R) + }, + "data-testid": "threshold-profile-select", + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { + placeholder: + _( + "settings:contextManagement.condensingThreshold.selectProfile", + ) || "Select profile for threshold", + }), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { + value: "default", + children: + _( + "settings:contextManagement.condensingThreshold.defaultProfile", + ) || "Default (applies to all unconfigured profiles)", + }), + (n || []).map((R) => { + const T = m[R.id], + E = + T !== void 0 + ? T === -1 + ? ` ${_("settings:contextManagement.condensingThreshold.usesGlobal", { threshold: e })}` + : ` (${T}%)` + : "" + return l.jsxs( + qn, + { value: R.id, children: [R.name, E] }, + R.id, + ) + }), + ], + }), + ], + }), + }), + l.jsxs("div", { + children: [ + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 10, + max: 100, + step: 1, + value: [S()], + onValueChange: ([R]) => P(R), + "data-testid": "condense-threshold-slider", + }), + l.jsxs("span", { className: "w-20", children: [S(), "%"] }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: + y === "default" + ? _( + "settings:contextManagement.condensingThreshold.defaultDescription", + { threshold: e }, + ) + : _( + "settings:contextManagement.condensingThreshold.profileDescription", + ), + }), + ], + }), + ], + }), + ], + }), + ], + }) + }, + UXt = ({ + terminalOutputLineLimit: t, + terminalOutputCharacterLimit: e, + terminalShellIntegrationTimeout: n, + terminalShellIntegrationDisabled: o, + terminalCommandDelay: r, + terminalPowershellCounter: i, + terminalZshClearEolMark: s, + terminalZshOhMy: a, + terminalZshP10k: c, + terminalZdotdir: d, + terminalCompressProgressBar: u, + setCachedStateField: m, + className: f, + ...g + }) => { + const { t: b } = Be(), + [v, w] = k.useState(!0) + L_(() => re.postMessage({ type: "getVSCodeSetting", setting: "terminal.integrated.inheritEnv" })) + const _ = k.useCallback((y) => { + const C = y.data + switch (C.type) { + case "vsCodeSetting": + switch (C.setting) { + case "terminal.integrated.inheritEnv": + w(C.value ?? !0) + break + } + break + } + }, []) + return ( + Ws("message", _), + l.jsxs("div", { + className: be("flex flex-col", f), + ...g, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Frt, { className: "w-4" }), + l.jsx("div", { children: b("settings:sections.terminal") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + className: "flex flex-col gap-3", + children: [ + l.jsx("div", { + className: "flex flex-col gap-1", + children: l.jsxs("div", { + className: "flex items-center gap-2 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-settings-gear" }), + l.jsx("div", { children: b("settings:terminal.basic.label") }), + ], + }), + }), + l.jsxs("div", { + className: + "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: b("settings:terminal.outputLineLimit.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 100, + max: 5e3, + step: 100, + value: [t ?? 500], + onValueChange: ([y]) => m("terminalOutputLineLimit", y), + "data-testid": "terminal-output-limit-slider", + }), + l.jsx("span", { className: "w-10", children: t ?? 500 }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: "settings:terminal.outputLineLimit.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#terminal-output-limit", + "settings_terminal_output_limit", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: b("settings:terminal.outputCharacterLimit.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 1e3, + max: 1e5, + step: 1e3, + value: [e ?? 5e4], + onValueChange: ([y]) => + m("terminalOutputCharacterLimit", y), + "data-testid": "terminal-output-character-limit-slider", + }), + l.jsx("span", { className: "w-16", children: e ?? 5e4 }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.outputCharacterLimit.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#terminal-output-limit", + "settings_terminal_output_character_limit", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: u ?? !0, + onChange: (y) => + m("terminalCompressProgressBar", y.target.checked), + "data-testid": "terminal-compress-progress-bar-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b("settings:terminal.compressProgressBar.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.compressProgressBar.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#compress-progress-bar-output", + "settings_terminal_compress_progress_bar", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-3", + children: [ + l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsxs("div", { + className: "flex items-center gap-2 font-bold", + children: [ + l.jsx("span", { className: "codicon codicon-tools" }), + l.jsx("div", { children: b("settings:terminal.advanced.label") }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground", + children: b("settings:terminal.advanced.description"), + }), + ], + }), + l.jsxs("div", { + className: + "flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: v, + onChange: (y) => { + w(y.target.checked), + re.postMessage({ + type: "updateVSCodeSetting", + setting: "terminal.integrated.inheritEnv", + value: y.target.checked, + }) + }, + "data-testid": "terminal-inherit-env-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b("settings:terminal.inheritEnv.label"), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: "settings:terminal.inheritEnv.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#inherit-environment-variables", + "settings_terminal_inherit_env", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: o ?? !1, + onChange: (y) => + m("terminalShellIntegrationDisabled", y.target.checked), + children: l.jsx("span", { + className: "font-medium", + children: b( + "settings:terminal.shellIntegrationDisabled.label", + ), + }), + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.shellIntegrationDisabled.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#disable-terminal-shell-integration", + "settings_terminal_shell_integration_disabled", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + !o && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: b( + "settings:terminal.shellIntegrationTimeout.label", + ), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 1e3, + max: 6e4, + step: 1e3, + value: [n ?? 5e3], + onValueChange: ([y]) => + m( + "terminalShellIntegrationTimeout", + Math.min(6e4, Math.max(1e3, y)), + ), + }), + l.jsxs("span", { + className: "w-10", + children: [(n ?? 5e3) / 1e3, "s"], + }), + ], + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.shellIntegrationTimeout.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#terminal-shell-integration-timeout", + "settings_terminal_shell_integration_timeout", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: b("settings:terminal.commandDelay.label"), + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Ro, { + min: 0, + max: 1e3, + step: 10, + value: [r ?? 0], + onValueChange: ([y]) => + m( + "terminalCommandDelay", + Math.min(1e3, Math.max(0, y)), + ), + }), + l.jsxs("span", { + className: "w-10", + children: [r ?? 50, "ms"], + }), + ], + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.commandDelay.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#terminal-command-delay", + "settings_terminal_command_delay", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: i ?? !1, + onChange: (y) => + m( + "terminalPowershellCounter", + y.target.checked, + ), + "data-testid": + "terminal-powershell-counter-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b( + "settings:terminal.powershellCounter.label", + ), + }), + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.powershellCounter.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#enable-powershell-counter-workaround", + "settings_terminal_powershell_counter", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: s ?? !0, + onChange: (y) => + m("terminalZshClearEolMark", y.target.checked), + "data-testid": + "terminal-zsh-clear-eol-mark-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b( + "settings:terminal.zshClearEolMark.label", + ), + }), + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.zshClearEolMark.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#clear-zsh-eol-mark", + "settings_terminal_zsh_clear_eol_mark", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: a ?? !1, + onChange: (y) => + m("terminalZshOhMy", y.target.checked), + "data-testid": "terminal-zsh-oh-my-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b("settings:terminal.zshOhMy.label"), + }), + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.zshOhMy.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#enable-oh-my-zsh-integration", + "settings_terminal_zsh_oh_my", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: c ?? !1, + onChange: (y) => + m("terminalZshP10k", y.target.checked), + "data-testid": "terminal-zsh-p10k-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b("settings:terminal.zshP10k.label"), + }), + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.zshP10k.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#enable-powerlevel10k-integration", + "settings_terminal_zsh_p10k", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: d ?? !1, + onChange: (y) => + m("terminalZdotdir", y.target.checked), + "data-testid": "terminal-zdotdir-checkbox", + children: l.jsx("span", { + className: "font-medium", + children: b("settings:terminal.zdotdir.label"), + }), + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1", + children: l.jsx(Dt, { + i18nKey: + "settings:terminal.zdotdir.description", + children: l.jsx(Wt, { + href: co( + "features/shell-integration#enable-zdotdir-handling", + "settings_terminal_zdotdir", + ), + style: { display: "inline" }, + children: " ", + }), + }), + }), + ], + }), + ], + }), + ], + }), + ], + }), + ], + }), + ], + }) + ) + }, + nW = ({ enabled: t, onChange: e, experimentKey: n }) => { + const { t: o } = Be(), + r = n ? `settings:experimental.${n}.name` : "", + i = n ? `settings:experimental.${n}.description` : "" + return l.jsxs("div", { + children: [ + l.jsx("div", { + className: "flex items-center gap-2", + children: l.jsx(En, { + checked: t, + onChange: (s) => e(s.target.checked), + children: l.jsx("span", { className: "font-medium", children: o(r) }), + }), + }), + l.jsx("p", { className: "text-vscode-descriptionForeground text-sm mt-0", children: o(i) }), + ], + }) + }, + qXt = ({ experiments: t, setExperimentEnabled: e, className: n, ...o }) => { + const { t: r } = Be() + return l.jsxs("div", { + className: be("flex flex-col gap-2", n), + ...o, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(jrt, { className: "w-4" }), + l.jsx("div", { children: r("settings:sections.experimental") }), + ], + }), + }), + l.jsx(ba, { + children: Object.entries(qJe) + .filter(([i]) => i in Bm) + .map((i) => + i[0] === "MULTI_FILE_APPLY_DIFF" + ? l.jsx( + nW, + { + experimentKey: i[0], + enabled: t[Bm.MULTI_FILE_APPLY_DIFF] ?? !1, + onChange: (s) => e(Bm.MULTI_FILE_APPLY_DIFF, s), + }, + i[0], + ) + : l.jsx( + nW, + { + experimentKey: i[0], + enabled: t[Bm[i[0]]] ?? !1, + onChange: (s) => e(Bm[i[0]], s), + }, + i[0], + ), + ), + }), + ], + }) + }, + WXt = ({ language: t, setCachedStateField: e, className: n, ...o }) => { + const { t: r } = Be() + return l.jsxs("div", { + className: be("flex flex-col gap-2", n), + ...o, + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(az, { className: "w-4" }), + l.jsx("div", { children: r("settings:sections.language") }), + ], + }), + }), + l.jsx(ba, { + children: l.jsxs(Qr, { + value: t, + onValueChange: (i) => e("language", i), + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { placeholder: r("settings:common.select") }), + }), + l.jsx(Xr, { + children: l.jsx($at, { + children: Object.entries(dCt).map(([i, s]) => + l.jsxs( + qn, + { + value: i, + children: [ + s, + l.jsxs("span", { + className: "text-muted-foreground", + children: ["(", i, ")"], + }), + ], + }, + i, + ), + ), + }), + }), + ], + }), + }), + ], + }) + }, + KXt = ({ telemetrySetting: t, setTelemetrySetting: e, className: n, ...o }) => { + const { t: r } = Be() + return l.jsxs("div", { + className: be("flex flex-col gap-2", n), + ...o, + children: [ + l.jsx(pl, { + description: `Version: ${ru.version} (${ru.sha.slice(0, 8)})`, + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(lz, { className: "w-4" }), + l.jsx("div", { children: r("settings:sections.about") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: t === "enabled", + onChange: (i) => { + const s = i.target.checked === !0 + e(s ? "enabled" : "disabled") + }, + children: r("settings:footer.telemetry.label"), + }), + l.jsx("p", { + className: "text-vscode-descriptionForeground text-sm mt-0", + children: l.jsx(Dt, { + i18nKey: "settings:footer.telemetry.description", + components: { privacyLink: l.jsx(Wt, { href: "https://roocode.com/privacy" }) }, + }), + }), + ], + }), + l.jsx("div", { + children: l.jsx(Dt, { + i18nKey: "settings:footer.feedback", + components: { + githubLink: l.jsx(Wt, { href: "https://github.com/RooCodeInc/Roo-Code" }), + redditLink: l.jsx(Wt, { href: "https://reddit.com/r/RooCode" }), + discordLink: l.jsx(Wt, { href: "https://discord.gg/roocode" }), + }, + }), + }), + l.jsxs("div", { + className: "flex flex-wrap items-center gap-2 mt-2", + children: [ + l.jsxs(Ee, { + onClick: () => re.postMessage({ type: "exportSettings" }), + className: "w-28", + children: [ + l.jsx(Brt, { className: "p-0.5" }), + r("settings:footer.settings.export"), + ], + }), + l.jsxs(Ee, { + onClick: () => re.postMessage({ type: "importSettings" }), + className: "w-28", + children: [ + l.jsx(Mrt, { className: "p-0.5" }), + r("settings:footer.settings.import"), + ], + }), + l.jsxs(Ee, { + variant: "destructive", + onClick: () => re.postMessage({ type: "resetState" }), + className: "w-28", + children: [l.jsx(vC, { className: "p-0.5" }), r("settings:footer.settings.reset")], + }), + ], + }), + ], + }), + ], + }) + }, + VXt = (t) => + t != null && t.length + ? ` +Current problems detected: +${t.map((e) => `- [${e.source || "Error"}] ${e.message}${e.code ? ` (${e.code})` : ""}`).join(` +`)}` + : "", + HXt = (t, e) => + t.replace(/\${(.*?)}/g, (n, o) => { + if (o === "diagnosticText") return VXt(e.diagnostics) + if (e.hasOwnProperty(o)) { + const r = e[o] + return typeof r == "string" ? r : String(r) + } else return "" + }), + oW = { + ENHANCE: { + template: `Generate an enhanced version of this prompt (reply with only the enhanced prompt - no conversation, explanations, lead-in, bullet points, placeholders, or surrounding quotes): + +\${userInput}`, + }, + CONDENSE: { + template: `Your task is to create a detailed summary of the conversation so far, paying close attention to the user's explicit requests and your previous actions. +This summary should be thorough in capturing technical details, code patterns, and architectural decisions that would be essential for continuing with the conversation and supporting any continuing tasks. + +Your summary should be structured as follows: +Context: The context to continue the conversation with. If applicable based on the current task, this should include: + 1. Previous Conversation: High level details about what was discussed throughout the entire conversation with the user. This should be written to allow someone to be able to follow the general overarching conversation flow. + 2. Current Work: Describe in detail what was being worked on prior to this request to summarize the conversation. Pay special attention to the more recent messages in the conversation. + 3. Key Technical Concepts: List all important technical concepts, technologies, coding conventions, and frameworks discussed, which might be relevant for continuing with this work. + 4. Relevant Files and Code: If applicable, enumerate specific files and code sections examined, modified, or created for the task continuation. Pay special attention to the most recent messages and changes. + 5. Problem Solving: Document problems solved thus far and any ongoing troubleshooting efforts. + 6. Pending Tasks and Next Steps: Outline all pending tasks that you have explicitly been asked to work on, as well as list the next steps you will take for all outstanding work, if applicable. Include code snippets where they add clarity. For any next steps, include direct quotes from the most recent conversation showing exactly what task you were working on and where you left off. This should be verbatim to ensure there's no information loss in context between tasks. + +Example summary structure: +1. Previous Conversation: + [Detailed description] +2. Current Work: + [Detailed description] +3. Key Technical Concepts: + - [Concept 1] + - [Concept 2] + - [...] +4. Relevant Files and Code: + - [File Name 1] + - [Summary of why this file is important] + - [Summary of the changes made to this file, if any] + - [Important Code Snippet] + - [File Name 2] + - [Important Code Snippet] + - [...] +5. Problem Solving: + [Detailed description] +6. Pending Tasks and Next Steps: + - [Task 1 details & next steps] + - [Task 2 details & next steps] + - [...] + +Output only the summary of the conversation so far, without any additional commentary or explanation.`, + }, + EXPLAIN: { + template: + "Explain the following code from file path ${filePath}:${startLine}-${endLine}\n${userInput}\n\n```\n${selectedText}\n```\n\nPlease provide a clear and concise explanation of what this code does, including:\n1. The purpose and functionality\n2. Key components and their interactions\n3. Important patterns or techniques used", + }, + FIX: { + template: + "Fix any issues in the following code from file path ${filePath}:${startLine}-${endLine}\n${diagnosticText}\n${userInput}\n\n```\n${selectedText}\n```\n\nPlease:\n1. Address all detected problems listed above (if any)\n2. Identify any other potential bugs or issues\n3. Provide corrected code\n4. Explain what was fixed and why", + }, + IMPROVE: { + template: `Improve the following code from file path \${filePath}:\${startLine}-\${endLine} +\${userInput} + +\`\`\` +\${selectedText} +\`\`\` + +Please suggest improvements for: +1. Code readability and maintainability +2. Performance optimization +3. Best practices and patterns +4. Error handling and edge cases + +Provide the improved code along with explanations for each enhancement.`, + }, + ADD_TO_CONTEXT: { template: "${filePath}:${startLine}-${endLine}\n```\n${selectedText}\n```" }, + TERMINAL_ADD_TO_CONTEXT: { template: "${userInput}\nTerminal output:\n```\n${terminalContent}\n```" }, + TERMINAL_FIX: { + template: `\${userInput} +Fix this terminal command: +\`\`\` +\${terminalContent} +\`\`\` + +Please: +1. Identify any issues in the command +2. Provide the corrected command +3. Explain what was fixed and why`, + }, + TERMINAL_EXPLAIN: { + template: `\${userInput} +Explain this terminal command: +\`\`\` +\${terminalContent} +\`\`\` + +Please provide: +1. What the command does +2. Explanation of each part/flag +3. Expected output and behavior`, + }, + NEW_TASK: { template: "${userInput}" }, + }, + Ad = { + default: Object.fromEntries(Object.entries(oW).map(([t, e]) => [t, e.template])), + get: (t, e) => (t == null ? void 0 : t[e]) ?? oW[e].template, + create: (t, e, n) => { + const o = Ad.get(n, t) + return HXt(o, e) + }, + }, + GXt = ({ + customSupportPrompts: t, + setCustomSupportPrompts: e, + includeTaskHistoryInEnhance: n, + setIncludeTaskHistoryInEnhance: o, + }) => { + const { t: r } = Be(), + { + listApiConfigMeta: i, + enhancementApiConfigId: s, + setEnhancementApiConfigId: a, + condensingApiConfigId: c, + setCondensingApiConfigId: d, + customCondensingPrompt: u, + setCustomCondensingPrompt: m, + includeTaskHistoryInEnhance: f, + setIncludeTaskHistoryInEnhance: g, + } = Qn(), + b = n ?? f, + v = o ?? g, + [w, _] = k.useState(""), + [y, C] = k.useState(!1), + [S, P] = k.useState("ENHANCE") + k.useEffect(() => { + const j = (L) => { + const W = L.data + W.type === "enhancedPrompt" && (W.text && _(W.text), C(!1)) + } + return window.addEventListener("message", j), () => window.removeEventListener("message", j) + }, []) + const R = (j, L) => { + if (j === "CONDENSE") + m(L || Ad.default.CONDENSE), + re.postMessage({ type: "updateCondensingPrompt", text: L || Ad.default.CONDENSE }) + else { + const W = { ...t, [j]: L } + e(W) + } + }, + T = (j) => { + if (j === "CONDENSE") + m(Ad.default.CONDENSE), + re.postMessage({ type: "updateCondensingPrompt", text: Ad.default.CONDENSE }) + else { + const L = { ...t } + delete L[j], e(L) + } + }, + E = (j) => (j === "CONDENSE" ? u || Ad.default.CONDENSE : Ad.get(t, j)), + $ = () => { + w.trim() && (C(!0), re.postMessage({ type: "enhancePrompt", text: w })) + } + return l.jsxs("div", { + children: [ + l.jsx(pl, { + description: r("settings:prompts.description"), + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(Lrt, { className: "w-4" }), + l.jsx("div", { children: r("settings:sections.prompts") }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsxs("div", { + children: [ + l.jsxs(Qr, { + value: S, + onValueChange: (j) => P(j), + children: [ + l.jsx(Yr, { + className: "w-full", + "data-testid": "support-prompt-select-trigger", + children: l.jsx(Zr, { placeholder: r("settings:common.select") }), + }), + l.jsx(Xr, { + children: Object.keys(Ad.default).map((j) => + l.jsx( + qn, + { + value: j, + "data-testid": `${j}-option`, + children: r(`prompts:supportPrompts.types.${j}.label`), + }, + j, + ), + ), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mt-1", + children: r(`prompts:supportPrompts.types.${S}.description`), + }), + ], + }), + l.jsxs( + "div", + { + className: "mt-4", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("label", { + className: "block font-medium", + children: r("prompts:supportPrompts.prompt"), + }), + l.jsx(We, { + content: r("prompts:supportPrompts.resetPrompt", { promptType: S }), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => T(S), + children: l.jsx("span", { className: "codicon codicon-discard" }), + }), + }), + ], + }), + l.jsx(mc, { + resize: "vertical", + value: E(S), + onChange: (j) => { + var G, U + const W = ( + ((U = + (G = j == null ? void 0 : j.detail) == null ? void 0 : G.target) == + null + ? void 0 + : U.value) || j.target.value + ).trim() + R(S, W || void 0) + }, + rows: 6, + className: "w-full", + }), + (S === "ENHANCE" || S === "CONDENSE") && + l.jsxs("div", { + className: + "mt-4 flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background", + children: [ + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: r( + S === "ENHANCE" + ? "prompts:supportPrompts.enhance.apiConfiguration" + : "prompts:supportPrompts.condense.apiConfiguration", + ), + }), + l.jsxs(Qr, { + value: S === "ENHANCE" ? s || "-" : c || "-", + onValueChange: (j) => { + const L = j === "-" ? "" : j + S === "ENHANCE" + ? (a(L), + re.postMessage({ + type: "enhancementApiConfigId", + text: j, + })) + : (d(L), + re.postMessage({ + type: "condensingApiConfigId", + text: L, + })) + }, + children: [ + l.jsx(Yr, { + "data-testid": "api-config-select", + className: "w-full", + children: l.jsx(Zr, { + placeholder: r( + S === "ENHANCE" + ? "prompts:supportPrompts.enhance.useCurrentConfig" + : "prompts:supportPrompts.condense.useCurrentConfig", + ), + }), + }), + l.jsxs(Xr, { + children: [ + l.jsx(qn, { + value: "-", + children: r( + S === "ENHANCE" + ? "prompts:supportPrompts.enhance.useCurrentConfig" + : "prompts:supportPrompts.condense.useCurrentConfig", + ), + }), + (i || []).map((j) => + l.jsx( + qn, + { + value: j.id, + "data-testid": `${j.id}-option`, + children: j.name, + }, + j.id, + ), + ), + ], + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mt-1", + children: r( + S === "ENHANCE" + ? "prompts:supportPrompts.enhance.apiConfigDescription" + : "prompts:supportPrompts.condense.apiConfigDescription", + ), + }), + ], + }), + S === "ENHANCE" && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + children: [ + l.jsx(En, { + checked: b || !1, + onChange: (j) => { + const L = j.target.checked + v(L), + re.postMessage({ + type: "includeTaskHistoryInEnhance", + bool: L, + }) + }, + children: l.jsx("span", { + className: "font-medium", + children: r( + "prompts:supportPrompts.enhance.includeTaskHistory", + ), + }), + }), + l.jsx("div", { + className: + "text-vscode-descriptionForeground text-sm mt-1 mb-3", + children: r( + "prompts:supportPrompts.enhance.includeTaskHistoryDescription", + ), + }), + ], + }), + l.jsxs("div", { + children: [ + l.jsx("label", { + className: "block font-medium mb-1", + children: r( + "prompts:supportPrompts.enhance.testEnhancement", + ), + }), + l.jsx(mc, { + resize: "vertical", + value: w, + onChange: (j) => _(j.target.value), + placeholder: r( + "prompts:supportPrompts.enhance.testPromptPlaceholder", + ), + rows: 3, + className: "w-full", + "data-testid": "test-prompt-textarea", + }), + l.jsx("div", { + className: + "mt-2 flex justify-start items-center gap-2", + children: l.jsx(Ee, { + variant: "default", + onClick: $, + disabled: y, + children: r( + "prompts:supportPrompts.enhance.previewButton", + ), + }), + }), + ], + }), + ], + }), + ], + }), + ], + }, + S, + ), + ], + }), + ], + }) + }, + QXt = "flex flex-1 overflow-hidden [&.narrow_.tab-label]:hidden", + ZXt = + "w-48 data-[compact=true]:w-12 flex-shrink-0 flex flex-col overflow-y-auto overflow-x-hidden border-r border-vscode-sideBar-background", + rW = + "whitespace-nowrap overflow-hidden min-w-0 h-12 px-4 py-3 box-border flex items-center border-l-2 border-transparent text-vscode-foreground opacity-70 hover:bg-vscode-list-hoverBackground data-[compact=true]:w-12 data-[compact=true]:p-4", + YXt = "opacity-100 border-vscode-focusBorder bg-vscode-list-activeSelectionBackground", + NI = [ + "providers", + "autoApprove", + "browser", + "checkpoints", + "notifications", + "contextManagement", + "terminal", + "prompts", + "experimental", + "language", + "about", + ], + XXt = k.forwardRef(({ onDone: t, targetSection: e }, n) => { + const { t: o } = Be(), + r = Qn(), + { currentApiConfigName: i, listApiConfigMeta: s, uriScheme: a, settingsImportedAt: c } = r, + [d, u] = k.useState(!1), + [m, f] = k.useState(!1), + [g, b] = k.useState(void 0), + [v, w] = k.useState(e && NI.includes(e) ? e : "providers"), + _ = k.useRef(i), + y = k.useRef(), + [C, S] = k.useState(r), + { + alwaysAllowReadOnly: P, + alwaysAllowReadOnlyOutsideWorkspace: R, + allowedCommands: T, + deniedCommands: E, + allowedMaxRequests: $, + allowedMaxCost: j, + language: L, + alwaysAllowBrowser: W, + alwaysAllowExecute: G, + alwaysAllowMcp: U, + alwaysAllowModeSwitch: Z, + alwaysAllowSubtasks: V, + alwaysAllowWrite: X, + alwaysAllowWriteOutsideWorkspace: H, + alwaysAllowWriteProtected: B, + alwaysApproveResubmit: M, + autoCondenseContext: D, + autoCondenseContextPercent: F, + browserToolEnabled: N, + browserViewportSize: J, + enableCheckpoints: oe, + diffEnabled: ae, + experiments: Q, + fuzzyMatchThreshold: ee, + maxOpenTabsContext: q, + maxWorkspaceFiles: me, + mcpEnabled: Ce, + requestDelaySeconds: ue, + remoteBrowserHost: Te, + screenshotQuality: dt, + soundEnabled: Y, + ttsEnabled: Ke, + ttsSpeed: jt, + soundVolume: Ye, + telemetrySetting: Bt, + terminalOutputLineLimit: nn, + terminalOutputCharacterLimit: Xe, + terminalShellIntegrationTimeout: Tt, + terminalShellIntegrationDisabled: Vt, + terminalCommandDelay: zt, + terminalPowershellCounter: _n, + terminalZshClearEolMark: ge, + terminalZshOhMy: Re, + terminalZshP10k: tt, + terminalZdotdir: lt, + writeDelayMs: _t, + showRooIgnoredFiles: Kt, + remoteBrowserEnabled: Wn, + maxReadFileLine: on, + maxImageFileSize: Eo, + maxTotalImageSize: Fo, + terminalCompressProgressBar: Bn, + maxConcurrentFileReads: Yn, + condensingApiConfigId: Kn, + customCondensingPrompt: Nr, + customSupportPrompts: Or, + profileThresholds: uo, + alwaysAllowFollowupQuestions: Jo, + alwaysAllowUpdateTodoList: xe, + followupAutoApproveTimeoutMs: $t, + includeDiagnosticMessages: gn, + maxDiagnosticMessages: an, + includeTaskHistoryInEnhance: no, + } = C, + vn = k.useMemo(() => C.apiConfiguration ?? {}, [C.apiConfiguration]) + k.useEffect(() => { + _.current !== i && (S((Ve) => ({ ...Ve, ...r })), (_.current = i), f(!1)) + }, [i, r, m]), + k.useEffect(() => { + c && (S((Ve) => ({ ...Ve, ...r })), f(!1)) + }, [c, r]) + const oo = k.useCallback((Ve, te) => { + S((Se) => (Se[Ve] === te ? Se : (f(!0), { ...Se, [Ve]: te }))) + }, []), + Bo = k.useCallback((Ve, te) => { + S((Se) => { + var Ut, qt + return ((Ut = Se.apiConfiguration) == null ? void 0 : Ut[Ve]) === te + ? Se + : ((((qt = Se.apiConfiguration) == null ? void 0 : qt[Ve]) === void 0 && te !== void 0) || + f(!0), + { ...Se, apiConfiguration: { ...Se.apiConfiguration, [Ve]: te } }) + }) + }, []), + ro = k.useCallback((Ve, te) => { + S((Se) => { + var ze + return ((ze = Se.experiments) == null ? void 0 : ze[Ve]) === te + ? Se + : (f(!0), { ...Se, experiments: { ...Se.experiments, [Ve]: te } }) + }) + }, []), + bo = k.useCallback((Ve) => { + S((te) => (te.telemetrySetting === Ve ? te : (f(!0), { ...te, telemetrySetting: Ve }))) + }, []), + Ln = k.useCallback((Ve) => { + S((te) => + JSON.stringify(te.customSupportPrompts) === JSON.stringify(Ve) + ? te + : (f(!0), { ...te, customSupportPrompts: Ve }), + ) + }, []), + yo = !g, + ko = () => { + yo && + (re.postMessage({ type: "language", text: L }), + re.postMessage({ type: "alwaysAllowReadOnly", bool: P }), + re.postMessage({ type: "alwaysAllowReadOnlyOutsideWorkspace", bool: R }), + re.postMessage({ type: "alwaysAllowWrite", bool: X }), + re.postMessage({ type: "alwaysAllowWriteOutsideWorkspace", bool: H }), + re.postMessage({ type: "alwaysAllowWriteProtected", bool: B }), + re.postMessage({ type: "alwaysAllowExecute", bool: G }), + re.postMessage({ type: "alwaysAllowBrowser", bool: W }), + re.postMessage({ type: "alwaysAllowMcp", bool: U }), + re.postMessage({ type: "allowedCommands", commands: T ?? [] }), + re.postMessage({ type: "deniedCommands", commands: E ?? [] }), + re.postMessage({ type: "allowedMaxRequests", value: $ ?? void 0 }), + re.postMessage({ type: "allowedMaxCost", value: j ?? void 0 }), + re.postMessage({ type: "autoCondenseContext", bool: D }), + re.postMessage({ type: "autoCondenseContextPercent", value: F }), + re.postMessage({ type: "browserToolEnabled", bool: N }), + re.postMessage({ type: "soundEnabled", bool: Y }), + re.postMessage({ type: "ttsEnabled", bool: Ke }), + re.postMessage({ type: "ttsSpeed", value: jt }), + re.postMessage({ type: "soundVolume", value: Ye }), + re.postMessage({ type: "diffEnabled", bool: ae }), + re.postMessage({ type: "enableCheckpoints", bool: oe }), + re.postMessage({ type: "browserViewportSize", text: J }), + re.postMessage({ type: "remoteBrowserHost", text: Te }), + re.postMessage({ type: "remoteBrowserEnabled", bool: Wn }), + re.postMessage({ type: "fuzzyMatchThreshold", value: ee ?? 1 }), + re.postMessage({ type: "writeDelayMs", value: _t }), + re.postMessage({ type: "screenshotQuality", value: dt ?? 75 }), + re.postMessage({ type: "terminalOutputLineLimit", value: nn ?? 500 }), + re.postMessage({ type: "terminalOutputCharacterLimit", value: Xe ?? 5e4 }), + re.postMessage({ type: "terminalShellIntegrationTimeout", value: Tt }), + re.postMessage({ type: "terminalShellIntegrationDisabled", bool: Vt }), + re.postMessage({ type: "terminalCommandDelay", value: zt }), + re.postMessage({ type: "terminalPowershellCounter", bool: _n }), + re.postMessage({ type: "terminalZshClearEolMark", bool: ge }), + re.postMessage({ type: "terminalZshOhMy", bool: Re }), + re.postMessage({ type: "terminalZshP10k", bool: tt }), + re.postMessage({ type: "terminalZdotdir", bool: lt }), + re.postMessage({ type: "terminalCompressProgressBar", bool: Bn }), + re.postMessage({ type: "mcpEnabled", bool: Ce }), + re.postMessage({ type: "alwaysApproveResubmit", bool: M }), + re.postMessage({ type: "requestDelaySeconds", value: ue }), + re.postMessage({ type: "maxOpenTabsContext", value: q }), + re.postMessage({ type: "maxWorkspaceFiles", value: me ?? 200 }), + re.postMessage({ type: "showRooIgnoredFiles", bool: Kt }), + re.postMessage({ type: "maxReadFileLine", value: on ?? -1 }), + re.postMessage({ type: "maxImageFileSize", value: Eo ?? 5 }), + re.postMessage({ type: "maxTotalImageSize", value: Fo ?? 20 }), + re.postMessage({ type: "maxConcurrentFileReads", value: C.maxConcurrentFileReads ?? 5 }), + re.postMessage({ type: "includeDiagnosticMessages", bool: gn }), + re.postMessage({ type: "maxDiagnosticMessages", value: an ?? 50 }), + re.postMessage({ type: "currentApiConfigName", text: i }), + re.postMessage({ type: "updateExperimental", values: Q }), + re.postMessage({ type: "alwaysAllowModeSwitch", bool: Z }), + re.postMessage({ type: "alwaysAllowSubtasks", bool: V }), + re.postMessage({ type: "alwaysAllowFollowupQuestions", bool: Jo }), + re.postMessage({ type: "alwaysAllowUpdateTodoList", bool: xe }), + re.postMessage({ type: "followupAutoApproveTimeoutMs", value: $t }), + re.postMessage({ type: "condensingApiConfigId", text: Kn || "" }), + re.postMessage({ type: "updateCondensingPrompt", text: Nr || "" }), + re.postMessage({ type: "updateSupportPrompt", values: Or || {} }), + re.postMessage({ type: "includeTaskHistoryInEnhance", bool: no ?? !1 }), + re.postMessage({ type: "upsertApiConfiguration", text: i, apiConfiguration: vn }), + re.postMessage({ type: "telemetrySetting", text: Bt }), + re.postMessage({ type: "profileThresholds", values: uo }), + f(!1)) + }, + Vn = k.useCallback( + (Ve) => { + m ? ((y.current = Ve), u(!0)) : Ve() + }, + [m], + ) + k.useImperativeHandle(n, () => ({ checkUnsaveChanges: Vn }), [Vn]) + const Go = k.useCallback( + (Ve) => { + var te + Ve && (S(r), f(!1), (te = y.current) == null || te.call(y)) + }, + [r], + ), + Me = k.useCallback((Ve) => { + w(Ve) + }, []), + Et = k.useRef(Object.fromEntries(NI.map((Ve) => [Ve, null]))), + [At, ln] = k.useState(!1), + Qe = k.useRef(null) + k.useEffect(() => { + if (!Qe.current) return + const Ve = new ResizeObserver((te) => { + for (const Se of te) ln(Se.contentRect.width < 500) + }) + return ( + Ve.observe(Qe.current), + () => { + Ve == null || Ve.disconnect() + } + ) + }, []) + const pn = k.useMemo( + () => [ + { id: "providers", icon: wB }, + { id: "autoApprove", icon: Rrt }, + { id: "browser", icon: Nrt }, + { id: "checkpoints", icon: zrt }, + { id: "notifications", icon: Prt }, + { id: "contextManagement", icon: sz }, + { id: "terminal", icon: Frt }, + { id: "prompts", icon: Lrt }, + { id: "experimental", icon: jrt }, + { id: "language", icon: az }, + { id: "about", icon: lz }, + ], + [], + ) + k.useEffect(() => { + e && NI.includes(e) && w(e) + }, [e]) + const Xt = k.useCallback(() => { + const Ve = Et.current[v] + Ve && Ve.scrollIntoView({ behavior: "auto", block: "nearest" }) + }, [v]) + return ( + k.useEffect(() => { + Xt() + }, [v, Xt]), + k.useLayoutEffect(() => { + const Ve = (te) => { + const Se = te.data + Se.type === "action" && Se.action === "didBecomeVisible" && Xt() + } + return ( + window.addEventListener("message", Ve), + () => { + window.removeEventListener("message", Ve) + } + ) + }, [Xt]), + l.jsxs(Kf, { + children: [ + l.jsxs(py, { + className: "flex justify-between items-center gap-2", + children: [ + l.jsx("div", { + className: "flex items-center gap-1", + children: l.jsx("h3", { + className: "text-vscode-foreground m-0", + children: o("settings:header.title"), + }), + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(We, { + content: yo + ? o( + m + ? "settings:header.saveButtonTooltip" + : "settings:header.nothingChangedTooltip", + ) + : g, + children: l.jsx(Ee, { + variant: yo ? "default" : "secondary", + className: yo ? "" : "!border-vscode-errorForeground", + onClick: ko, + disabled: !m || !yo, + "data-testid": "save-button", + children: o("settings:common.save"), + }), + }), + l.jsx(We, { + content: o("settings:header.doneButtonTooltip"), + children: l.jsx(Ee, { + variant: "secondary", + onClick: () => Vn(t), + children: o("settings:common.done"), + }), + }), + ], + }), + ], + }), + l.jsxs("div", { + ref: Qe, + className: be(QXt, At && "narrow"), + children: [ + l.jsx(E9t, { + value: v, + onValueChange: (Ve) => Me(Ve), + className: be(ZXt), + "data-compact": At, + "data-testid": "settings-tab-list", + children: pn.map(({ id: Ve, icon: te }) => { + const Se = Ve === v, + ze = () => Me(Ve), + ot = l.jsx(z9t, { + ref: (Ut) => (Et.current[Ve] = Ut), + value: Ve, + isSelected: Se, + className: be(Se ? `${rW} ${YXt}` : rW, "focus:ring-0"), + "data-testid": `tab-${Ve}`, + "data-compact": At, + children: l.jsxs("div", { + className: be("flex items-center gap-2", At && "justify-center"), + children: [ + l.jsx(te, { className: "w-4 h-4" }), + l.jsx("span", { + className: "tab-label", + children: o(`settings:sections.${Ve}`), + }), + ], + }), + }) + return At + ? l.jsx( + Kz, + { + delayDuration: 300, + children: l.jsxs(Kat, { + children: [ + l.jsx(Vat, { + asChild: !0, + onClick: ze, + children: Ie.cloneElement(ot), + }), + l.jsx(Vz, { + side: "right", + className: "text-base", + children: l.jsx("p", { + className: "m-0", + children: o(`settings:sections.${Ve}`), + }), + }), + ], + }), + }, + Ve, + ) + : Ie.cloneElement(ot, { key: Ve }) + }), + }), + l.jsxs(Vf, { + className: "p-0 flex-1 overflow-auto", + children: [ + v === "providers" && + l.jsxs("div", { + children: [ + l.jsx(pl, { + children: l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + l.jsx(wB, { className: "w-4" }), + l.jsx("div", { + children: o("settings:sections.providers"), + }), + ], + }), + }), + l.jsxs(ba, { + children: [ + l.jsx(N9t, { + currentApiConfigName: i, + listApiConfigMeta: s, + onSelectConfig: (Ve) => + Vn(() => + re.postMessage({ + type: "loadApiConfiguration", + text: Ve, + }), + ), + onDeleteConfig: (Ve) => + re.postMessage({ + type: "deleteApiConfiguration", + text: Ve, + }), + onRenameConfig: (Ve, te) => { + re.postMessage({ + type: "renameApiConfiguration", + values: { oldName: Ve, newName: te }, + apiConfiguration: vn, + }), + (_.current = te) + }, + onUpsertConfig: (Ve) => + re.postMessage({ + type: "upsertApiConfiguration", + text: Ve, + apiConfiguration: vn, + }), + }), + l.jsx(Zut, { + uriScheme: a, + apiConfiguration: vn, + setApiConfigurationField: Bo, + errorMessage: g, + setErrorMessage: b, + }), + ], + }), + ], + }), + v === "autoApprove" && + l.jsx(DXt, { + alwaysAllowReadOnly: P, + alwaysAllowReadOnlyOutsideWorkspace: R, + alwaysAllowWrite: X, + alwaysAllowWriteOutsideWorkspace: H, + alwaysAllowWriteProtected: B, + alwaysAllowBrowser: W, + alwaysApproveResubmit: M, + requestDelaySeconds: ue, + alwaysAllowMcp: U, + alwaysAllowModeSwitch: Z, + alwaysAllowSubtasks: V, + alwaysAllowExecute: G, + alwaysAllowFollowupQuestions: Jo, + alwaysAllowUpdateTodoList: xe, + followupAutoApproveTimeoutMs: $t, + allowedCommands: T, + deniedCommands: E, + setCachedStateField: oo, + }), + v === "browser" && + l.jsx(NXt, { + browserToolEnabled: N, + browserViewportSize: J, + screenshotQuality: dt, + remoteBrowserHost: Te, + remoteBrowserEnabled: Wn, + setCachedStateField: oo, + }), + v === "checkpoints" && + l.jsx(OXt, { enableCheckpoints: oe, setCachedStateField: oo }), + v === "notifications" && + l.jsx(FXt, { + ttsEnabled: Ke, + ttsSpeed: jt, + soundEnabled: Y, + soundVolume: Ye, + setCachedStateField: oo, + }), + v === "contextManagement" && + l.jsx(BXt, { + autoCondenseContext: D, + autoCondenseContextPercent: F, + listApiConfigMeta: s ?? [], + maxOpenTabsContext: q, + maxWorkspaceFiles: me ?? 200, + showRooIgnoredFiles: Kt, + maxReadFileLine: on, + maxImageFileSize: Eo, + maxTotalImageSize: Fo, + maxConcurrentFileReads: Yn, + profileThresholds: uo, + includeDiagnosticMessages: gn, + maxDiagnosticMessages: an, + writeDelayMs: _t, + setCachedStateField: oo, + }), + v === "terminal" && + l.jsx(UXt, { + terminalOutputLineLimit: nn, + terminalOutputCharacterLimit: Xe, + terminalShellIntegrationTimeout: Tt, + terminalShellIntegrationDisabled: Vt, + terminalCommandDelay: zt, + terminalPowershellCounter: _n, + terminalZshClearEolMark: ge, + terminalZshOhMy: Re, + terminalZshP10k: tt, + terminalZdotdir: lt, + terminalCompressProgressBar: Bn, + setCachedStateField: oo, + }), + v === "prompts" && + l.jsx(GXt, { + customSupportPrompts: Or || {}, + setCustomSupportPrompts: Ln, + includeTaskHistoryInEnhance: no, + setIncludeTaskHistoryInEnhance: (Ve) => + oo("includeTaskHistoryInEnhance", Ve), + }), + v === "experimental" && l.jsx(qXt, { setExperimentEnabled: ro, experiments: Q }), + v === "language" && l.jsx(WXt, { language: L || "en", setCachedStateField: oo }), + v === "about" && l.jsx(KXt, { telemetrySetting: Bt, setTelemetrySetting: bo }), + ], + }), + ], + }), + l.jsx(jc, { + open: d, + onOpenChange: u, + children: l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsxs(Lc, { + children: [ + l.jsx(vC, { className: "w-5 h-5 text-yellow-500" }), + o("settings:unsavedChangesDialog.title"), + ], + }), + l.jsx(Dc, { children: o("settings:unsavedChangesDialog.description") }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { + onClick: () => Go(!1), + children: o("settings:unsavedChangesDialog.cancelButton"), + }), + l.jsx(Nc, { + onClick: () => Go(!0), + children: o("settings:unsavedChangesDialog.discardButton"), + }), + ], + }), + ], + }), + }), + ], + }) + ) + }), + JXt = k.memo(XXt) +var nw = { exports: {} } +nw.exports +var iW +function eJt() { + return ( + iW || + ((iW = 1), + (function (t) { + var e = 256, + n = 6, + o = 52, + r = [], + i = typeof cN > "u" ? window : cN, + s = Math.pow(e, n), + a = Math.pow(2, o), + c = a * 2, + d = e - 1, + u = Math.random + ;(t.exports = function (w, _) { + if (_ && _.global === !0) + return (_.global = !1), (Math.random = t.exports(w, _)), (_.global = !0), Math.random + var y = (_ && _.entropy) || !1, + C = [] + g(f(y ? [w, v(r)] : 0 in arguments ? w : b(), 3), C) + var S = new m(C) + return ( + g(v(S.S), r), + function () { + for (var P = S.g(n), R = s, T = 0; P < a; ) (P = (P + T) * e), (R *= e), (T = S.g(1)) + for (; P >= c; ) (P /= 2), (R /= 2), (T >>>= 1) + return (P + T) / R + } + ) + }), + (t.exports.resetGlobal = function () { + Math.random = u + }) + function m(w) { + var _, + y = w.length, + C = this, + S = 0, + P = (C.i = C.j = 0), + R = (C.S = []) + for (y || (w = [y++]); S < e; ) R[S] = S++ + for (S = 0; S < e; S++) (R[S] = R[(P = d & (P + w[S % y] + (_ = R[S])))]), (R[P] = _) + ;(C.g = function (T) { + for (var E, $ = 0, j = C.i, L = C.j, W = C.S; T--; ) + (E = W[(j = d & (j + 1))]), + ($ = $ * e + W[d & ((W[j] = W[(L = d & (L + E))]) + (W[L] = E))]) + return (C.i = j), (C.j = L), $ + })(e) + } + function f(w, _) { + var y = [], + C = (typeof w)[0], + S + if (_ && C == "o") + for (S in w) + try { + y.push(f(w[S], _ - 1)) + } catch {} + return y.length ? y : C == "s" ? w : w + "\0" + } + function g(w, _) { + for (var y = w + "", C, S = 0; S < y.length; ) + _[d & S] = d & ((C ^= _[d & S] * 19) + y.charCodeAt(S++)) + return v(_) + } + function b(w) { + try { + return i.crypto.getRandomValues((w = new Uint8Array(e))), v(w) + } catch { + return [+new Date(), i, i.navigator && i.navigator.plugins, i.screen, v(r)] + } + } + function v(w) { + return String.fromCharCode.apply(0, w) + } + g(Math.random(), r) + })(nw)), + nw.exports + ) +} +var OI, sW +function tJt() { + if (sW) return OI + sW = 1 + var t = eJt() + return ( + (OI = function (n, o) { + var r, i, s, a + if ((o == null ? (a = t()) : (a = t(o)), n.constructor !== Array)) throw new Error("Input is not an array") + for (r = n.length; r !== 0; ) (s = Math.floor(a() * r--)), (i = n[r]), (n[r] = n[s]), (n[s] = i) + return n + }), + OI + ) +} +var nJt = tJt() +const oJt = ps(nJt), + rJt = () => { + const { + apiConfiguration: t, + currentApiConfigName: e, + setApiConfiguration: n, + uriScheme: o, + machineId: r, + } = Qn(), + { t: i } = Be(), + [s, a] = k.useState(void 0), + c = k.useCallback( + (m, f) => { + n({ [m]: f }) + }, + [n], + ), + d = k.useCallback(() => { + const m = t ? O9t(t) : void 0 + if (m) { + a(m) + return + } + a(void 0), re.postMessage({ type: "upsertApiConfiguration", text: e, apiConfiguration: t }) + }, [t, e]), + [u] = k.useState(() => window.IMAGES_BASE_URI || "") + return l.jsxs(Kf, { + children: [ + l.jsxs(Vf, { + className: "flex flex-col gap-5 p-16", + children: [ + l.jsx(hot, {}), + l.jsx("h2", { className: "mt-0 mb-0", children: i("welcome:greeting") }), + l.jsxs("div", { + className: "font-bold", + children: [ + l.jsx("p", { children: l.jsx(Dt, { i18nKey: "welcome:introduction" }) }), + l.jsx("p", { children: l.jsx(Dt, { i18nKey: "welcome:chooseProvider" }) }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("p", { className: "font-bold mt-0", children: i("welcome:startRouter") }), + l.jsx("div", { + children: (() => { + const f = [ + ...[ + { + slug: "requesty", + name: "Requesty", + description: i("welcome:routers.requesty.description"), + incentive: i("welcome:routers.requesty.incentive"), + authUrl: vQt(o), + }, + { + slug: "openrouter", + name: "OpenRouter", + description: i("welcome:routers.openrouter.description"), + authUrl: mut(o), + }, + ], + ] + return ( + oJt(f, r || Date.now()), + f.map((g, b) => + l.jsxs( + "a", + { + href: g.authUrl, + className: + "flex-1 border border-vscode-panel-border hover:bg-secondary rounded-lg py-4 px-6 mb-2 flex flex-row gap-4 cursor-pointer transition-all no-underline text-inherit", + target: "_blank", + rel: "noopener noreferrer", + children: [ + l.jsx("div", { + className: "w-10 h-10", + children: l.jsx("img", { + src: `${u}/${g.slug}.png`, + alt: g.name, + className: "w-full h-full object-contain", + }), + }), + l.jsxs("div", { + children: [ + l.jsx("div", { + className: "font-bold text-vscode-foreground", + children: g.name, + }), + l.jsxs("div", { + children: [ + l.jsx("div", { + className: + "text-xs text-vscode-descriptionForeground", + children: g.description, + }), + g.incentive && + l.jsx("div", { + className: "text-xs font-bold", + children: g.incentive, + }), + ], + }), + ], + }), + ], + }, + b, + ), + ) + ) + })(), + }), + l.jsx("p", { className: "font-bold mt-8 mb-6", children: i("welcome:startCustom") }), + l.jsx(Zut, { + fromWelcomeView: !0, + apiConfiguration: t || {}, + uriScheme: o, + setApiConfigurationField: c, + errorMessage: s, + setErrorMessage: a, + }), + ], + }), + ], + }), + l.jsx("div", { + className: "sticky bottom-0 bg-vscode-sideBar-background p-5", + children: l.jsxs("div", { + className: "flex flex-col gap-1", + children: [ + l.jsx("div", { + className: "flex justify-end", + children: l.jsx(Wt, { + href: "#", + onClick: (m) => { + m.preventDefault(), re.postMessage({ type: "importSettings" }) + }, + className: "text-sm", + children: i("welcome:importSettings"), + }), + }), + l.jsx(Mo, { onClick: d, appearance: "primary", children: i("welcome:start") }), + s && l.jsx("div", { className: "text-vscode-errorForeground", children: s }), + ], + }), + }), + ], + }) + }, + iJt = () => { + const { mcpEnabled: t, setMcpEnabled: e } = Qn(), + { t: n } = Be(), + o = (r) => { + const i = "target" in r ? r.target : null + i && (e(i.checked), re.postMessage({ type: "mcpEnabled", bool: i.checked })) + } + return l.jsxs("div", { + style: { marginBottom: "20px" }, + children: [ + l.jsx(En, { + checked: t, + onChange: o, + children: l.jsx("span", { style: { fontWeight: "500" }, children: n("mcp:enableToggle.title") }), + }), + l.jsx("p", { + style: { fontSize: "12px", marginTop: "5px", color: "var(--vscode-descriptionForeground)" }, + children: n("mcp:enableToggle.description"), + }), + ], + }) + }, + Xut = 6048e5, + sJt = 864e5, + aW = Symbol.for("constructDateFrom") +function iu(t, e) { + return typeof t == "function" + ? t(e) + : t && typeof t == "object" && aW in t + ? t[aW](e) + : t instanceof Date + ? new t.constructor(e) + : new Date(e) +} +function ml(t, e) { + return iu(e || t, t) +} +let aJt = {} +function gy() { + return aJt +} +function Ab(t, e) { + var a, c, d, u + const n = gy(), + o = + (e == null ? void 0 : e.weekStartsOn) ?? + ((c = (a = e == null ? void 0 : e.locale) == null ? void 0 : a.options) == null + ? void 0 + : c.weekStartsOn) ?? + n.weekStartsOn ?? + ((u = (d = n.locale) == null ? void 0 : d.options) == null ? void 0 : u.weekStartsOn) ?? + 0, + r = ml(t, e == null ? void 0 : e.in), + i = r.getDay(), + s = (i < o ? 7 : 0) + i - o + return r.setDate(r.getDate() - s), r.setHours(0, 0, 0, 0), r +} +function $_(t, e) { + return Ab(t, { ...e, weekStartsOn: 1 }) +} +function Jut(t, e) { + const n = ml(t, e == null ? void 0 : e.in), + o = n.getFullYear(), + r = iu(n, 0) + r.setFullYear(o + 1, 0, 4), r.setHours(0, 0, 0, 0) + const i = $_(r), + s = iu(n, 0) + s.setFullYear(o, 0, 4), s.setHours(0, 0, 0, 0) + const a = $_(s) + return n.getTime() >= i.getTime() ? o + 1 : n.getTime() >= a.getTime() ? o : o - 1 +} +function lW(t) { + const e = ml(t), + n = new Date( + Date.UTC( + e.getFullYear(), + e.getMonth(), + e.getDate(), + e.getHours(), + e.getMinutes(), + e.getSeconds(), + e.getMilliseconds(), + ), + ) + return n.setUTCFullYear(e.getFullYear()), +t - +n +} +function ept(t, ...e) { + const n = iu.bind( + null, + e.find((o) => typeof o == "object"), + ) + return e.map(n) +} +function cW(t, e) { + const n = ml(t, e == null ? void 0 : e.in) + return n.setHours(0, 0, 0, 0), n +} +function tpt(t, e, n) { + const [o, r] = ept(n == null ? void 0 : n.in, t, e), + i = cW(o), + s = cW(r), + a = +i - lW(i), + c = +s - lW(s) + return Math.round((a - c) / sJt) +} +function lJt(t, e) { + const n = Jut(t, e), + o = iu(t, 0) + return o.setFullYear(n, 0, 4), o.setHours(0, 0, 0, 0), $_(o) +} +function cJt(t) { + return t instanceof Date || (typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]") +} +function dJt(t) { + return !((!cJt(t) && typeof t != "number") || isNaN(+ml(t))) +} +function uJt(t, e) { + const n = ml(t, e == null ? void 0 : e.in) + return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n +} +const pJt = { + lessThanXSeconds: { one: "less than a second", other: "less than {{count}} seconds" }, + xSeconds: { one: "1 second", other: "{{count}} seconds" }, + halfAMinute: "half a minute", + lessThanXMinutes: { one: "less than a minute", other: "less than {{count}} minutes" }, + xMinutes: { one: "1 minute", other: "{{count}} minutes" }, + aboutXHours: { one: "about 1 hour", other: "about {{count}} hours" }, + xHours: { one: "1 hour", other: "{{count}} hours" }, + xDays: { one: "1 day", other: "{{count}} days" }, + aboutXWeeks: { one: "about 1 week", other: "about {{count}} weeks" }, + xWeeks: { one: "1 week", other: "{{count}} weeks" }, + aboutXMonths: { one: "about 1 month", other: "about {{count}} months" }, + xMonths: { one: "1 month", other: "{{count}} months" }, + aboutXYears: { one: "about 1 year", other: "about {{count}} years" }, + xYears: { one: "1 year", other: "{{count}} years" }, + overXYears: { one: "over 1 year", other: "over {{count}} years" }, + almostXYears: { one: "almost 1 year", other: "almost {{count}} years" }, + }, + mJt = (t, e, n) => { + let o + const r = pJt[t] + return ( + typeof r == "string" ? (o = r) : e === 1 ? (o = r.one) : (o = r.other.replace("{{count}}", e.toString())), + n != null && n.addSuffix ? (n.comparison && n.comparison > 0 ? "in " + o : o + " ago") : o + ) + } +function FI(t) { + return (e = {}) => { + const n = e.width ? String(e.width) : t.defaultWidth + return t.formats[n] || t.formats[t.defaultWidth] + } +} +const hJt = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }, + fJt = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, + gJt = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: "{{date}}, {{time}}", + short: "{{date}}, {{time}}", + }, + vJt = { + date: FI({ formats: hJt, defaultWidth: "full" }), + time: FI({ formats: fJt, defaultWidth: "full" }), + dateTime: FI({ formats: gJt, defaultWidth: "full" }), + }, + bJt = { + lastWeek: "'last' eeee 'at' p", + yesterday: "'yesterday at' p", + today: "'today at' p", + tomorrow: "'tomorrow at' p", + nextWeek: "eeee 'at' p", + other: "P", + }, + yJt = (t, e, n, o) => bJt[t] +function Xg(t) { + return (e, n) => { + const o = n != null && n.context ? String(n.context) : "standalone" + let r + if (o === "formatting" && t.formattingValues) { + const s = t.defaultFormattingWidth || t.defaultWidth, + a = n != null && n.width ? String(n.width) : s + r = t.formattingValues[a] || t.formattingValues[s] + } else { + const s = t.defaultWidth, + a = n != null && n.width ? String(n.width) : t.defaultWidth + r = t.values[a] || t.values[s] + } + const i = t.argumentCallback ? t.argumentCallback(e) : e + return r[i] + } +} +const kJt = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }, + xJt = { + narrow: ["1", "2", "3", "4"], + abbreviated: ["Q1", "Q2", "Q3", "Q4"], + wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"], + }, + wJt = { + narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], + abbreviated: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + wide: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + }, + _Jt = { + narrow: ["S", "M", "T", "W", "T", "F", "S"], + short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + wide: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + }, + CJt = { + narrow: { + am: "a", + pm: "p", + midnight: "mi", + noon: "n", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + }, + SJt = { + narrow: { + am: "a", + pm: "p", + midnight: "mi", + noon: "n", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + abbreviated: { + am: "AM", + pm: "PM", + midnight: "midnight", + noon: "noon", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + wide: { + am: "a.m.", + pm: "p.m.", + midnight: "midnight", + noon: "noon", + morning: "in the morning", + afternoon: "in the afternoon", + evening: "in the evening", + night: "at night", + }, + }, + AJt = (t, e) => { + const n = Number(t), + o = n % 100 + if (o > 20 || o < 10) + switch (o % 10) { + case 1: + return n + "st" + case 2: + return n + "nd" + case 3: + return n + "rd" + } + return n + "th" + }, + PJt = { + ordinalNumber: AJt, + era: Xg({ values: kJt, defaultWidth: "wide" }), + quarter: Xg({ values: xJt, defaultWidth: "wide", argumentCallback: (t) => t - 1 }), + month: Xg({ values: wJt, defaultWidth: "wide" }), + day: Xg({ values: _Jt, defaultWidth: "wide" }), + dayPeriod: Xg({ values: CJt, defaultWidth: "wide", formattingValues: SJt, defaultFormattingWidth: "wide" }), + } +function Jg(t) { + return (e, n = {}) => { + const o = n.width, + r = (o && t.matchPatterns[o]) || t.matchPatterns[t.defaultMatchWidth], + i = e.match(r) + if (!i) return null + const s = i[0], + a = (o && t.parsePatterns[o]) || t.parsePatterns[t.defaultParseWidth], + c = Array.isArray(a) ? TJt(a, (m) => m.test(s)) : RJt(a, (m) => m.test(s)) + let d + ;(d = t.valueCallback ? t.valueCallback(c) : c), (d = n.valueCallback ? n.valueCallback(d) : d) + const u = e.slice(s.length) + return { value: d, rest: u } + } +} +function RJt(t, e) { + for (const n in t) if (Object.prototype.hasOwnProperty.call(t, n) && e(t[n])) return n +} +function TJt(t, e) { + for (let n = 0; n < t.length; n++) if (e(t[n])) return n +} +function IJt(t) { + return (e, n = {}) => { + const o = e.match(t.matchPattern) + if (!o) return null + const r = o[0], + i = e.match(t.parsePattern) + if (!i) return null + let s = t.valueCallback ? t.valueCallback(i[0]) : i[0] + s = n.valueCallback ? n.valueCallback(s) : s + const a = e.slice(r.length) + return { value: s, rest: a } + } +} +const MJt = /^(\d+)(th|st|nd|rd)?/i, + jJt = /\d+/i, + EJt = { + narrow: /^(b|a)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(before christ|before common era|anno domini|common era)/i, + }, + zJt = { any: [/^b/i, /^(a|c)/i] }, + $Jt = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }, + LJt = { any: [/1/i, /2/i, /3/i, /4/i] }, + DJt = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, + wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i, + }, + NJt = { + narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], + any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i], + }, + OJt = { + narrow: /^[smtwf]/i, + short: /^(su|mo|tu|we|th|fr|sa)/i, + abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, + wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i, + }, + FJt = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i], + }, + BJt = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i, + }, + UJt = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i, + }, + }, + qJt = { + ordinalNumber: IJt({ matchPattern: MJt, parsePattern: jJt, valueCallback: (t) => parseInt(t, 10) }), + era: Jg({ matchPatterns: EJt, defaultMatchWidth: "wide", parsePatterns: zJt, defaultParseWidth: "any" }), + quarter: Jg({ + matchPatterns: $Jt, + defaultMatchWidth: "wide", + parsePatterns: LJt, + defaultParseWidth: "any", + valueCallback: (t) => t + 1, + }), + month: Jg({ matchPatterns: DJt, defaultMatchWidth: "wide", parsePatterns: NJt, defaultParseWidth: "any" }), + day: Jg({ matchPatterns: OJt, defaultMatchWidth: "wide", parsePatterns: FJt, defaultParseWidth: "any" }), + dayPeriod: Jg({ matchPatterns: BJt, defaultMatchWidth: "any", parsePatterns: UJt, defaultParseWidth: "any" }), + }, + npt = { + code: "en-US", + formatDistance: mJt, + formatLong: vJt, + formatRelative: yJt, + localize: PJt, + match: qJt, + options: { weekStartsOn: 0, firstWeekContainsDate: 1 }, + } +function WJt(t, e) { + const n = ml(t, e == null ? void 0 : e.in) + return tpt(n, uJt(n)) + 1 +} +function KJt(t, e) { + const n = ml(t, e == null ? void 0 : e.in), + o = +$_(n) - +lJt(n) + return Math.round(o / Xut) + 1 +} +function opt(t, e) { + var u, m, f, g + const n = ml(t, e == null ? void 0 : e.in), + o = n.getFullYear(), + r = gy(), + i = + (e == null ? void 0 : e.firstWeekContainsDate) ?? + ((m = (u = e == null ? void 0 : e.locale) == null ? void 0 : u.options) == null + ? void 0 + : m.firstWeekContainsDate) ?? + r.firstWeekContainsDate ?? + ((g = (f = r.locale) == null ? void 0 : f.options) == null ? void 0 : g.firstWeekContainsDate) ?? + 1, + s = iu((e == null ? void 0 : e.in) || t, 0) + s.setFullYear(o + 1, 0, i), s.setHours(0, 0, 0, 0) + const a = Ab(s, e), + c = iu((e == null ? void 0 : e.in) || t, 0) + c.setFullYear(o, 0, i), c.setHours(0, 0, 0, 0) + const d = Ab(c, e) + return +n >= +a ? o + 1 : +n >= +d ? o : o - 1 +} +function VJt(t, e) { + var a, c, d, u + const n = gy(), + o = + (e == null ? void 0 : e.firstWeekContainsDate) ?? + ((c = (a = e == null ? void 0 : e.locale) == null ? void 0 : a.options) == null + ? void 0 + : c.firstWeekContainsDate) ?? + n.firstWeekContainsDate ?? + ((u = (d = n.locale) == null ? void 0 : d.options) == null ? void 0 : u.firstWeekContainsDate) ?? + 1, + r = opt(t, e), + i = iu((e == null ? void 0 : e.in) || t, 0) + return i.setFullYear(r, 0, o), i.setHours(0, 0, 0, 0), Ab(i, e) +} +function HJt(t, e) { + const n = ml(t, e == null ? void 0 : e.in), + o = +Ab(n, e) - +VJt(n, e) + return Math.round(o / Xut) + 1 +} +function so(t, e) { + const n = t < 0 ? "-" : "", + o = Math.abs(t).toString().padStart(e, "0") + return n + o +} +const vd = { + y(t, e) { + const n = t.getFullYear(), + o = n > 0 ? n : 1 - n + return so(e === "yy" ? o % 100 : o, e.length) + }, + M(t, e) { + const n = t.getMonth() + return e === "M" ? String(n + 1) : so(n + 1, 2) + }, + d(t, e) { + return so(t.getDate(), e.length) + }, + a(t, e) { + const n = t.getHours() / 12 >= 1 ? "pm" : "am" + switch (e) { + case "a": + case "aa": + return n.toUpperCase() + case "aaa": + return n + case "aaaaa": + return n[0] + case "aaaa": + default: + return n === "am" ? "a.m." : "p.m." + } + }, + h(t, e) { + return so(t.getHours() % 12 || 12, e.length) + }, + H(t, e) { + return so(t.getHours(), e.length) + }, + m(t, e) { + return so(t.getMinutes(), e.length) + }, + s(t, e) { + return so(t.getSeconds(), e.length) + }, + S(t, e) { + const n = e.length, + o = t.getMilliseconds(), + r = Math.trunc(o * Math.pow(10, n - 3)) + return so(r, e.length) + }, + }, + Nm = { + midnight: "midnight", + noon: "noon", + morning: "morning", + afternoon: "afternoon", + evening: "evening", + night: "night", + }, + dW = { + G: function (t, e, n) { + const o = t.getFullYear() > 0 ? 1 : 0 + switch (e) { + case "G": + case "GG": + case "GGG": + return n.era(o, { width: "abbreviated" }) + case "GGGGG": + return n.era(o, { width: "narrow" }) + case "GGGG": + default: + return n.era(o, { width: "wide" }) + } + }, + y: function (t, e, n) { + if (e === "yo") { + const o = t.getFullYear(), + r = o > 0 ? o : 1 - o + return n.ordinalNumber(r, { unit: "year" }) + } + return vd.y(t, e) + }, + Y: function (t, e, n, o) { + const r = opt(t, o), + i = r > 0 ? r : 1 - r + if (e === "YY") { + const s = i % 100 + return so(s, 2) + } + return e === "Yo" ? n.ordinalNumber(i, { unit: "year" }) : so(i, e.length) + }, + R: function (t, e) { + const n = Jut(t) + return so(n, e.length) + }, + u: function (t, e) { + const n = t.getFullYear() + return so(n, e.length) + }, + Q: function (t, e, n) { + const o = Math.ceil((t.getMonth() + 1) / 3) + switch (e) { + case "Q": + return String(o) + case "QQ": + return so(o, 2) + case "Qo": + return n.ordinalNumber(o, { unit: "quarter" }) + case "QQQ": + return n.quarter(o, { width: "abbreviated", context: "formatting" }) + case "QQQQQ": + return n.quarter(o, { width: "narrow", context: "formatting" }) + case "QQQQ": + default: + return n.quarter(o, { width: "wide", context: "formatting" }) + } + }, + q: function (t, e, n) { + const o = Math.ceil((t.getMonth() + 1) / 3) + switch (e) { + case "q": + return String(o) + case "qq": + return so(o, 2) + case "qo": + return n.ordinalNumber(o, { unit: "quarter" }) + case "qqq": + return n.quarter(o, { width: "abbreviated", context: "standalone" }) + case "qqqqq": + return n.quarter(o, { width: "narrow", context: "standalone" }) + case "qqqq": + default: + return n.quarter(o, { width: "wide", context: "standalone" }) + } + }, + M: function (t, e, n) { + const o = t.getMonth() + switch (e) { + case "M": + case "MM": + return vd.M(t, e) + case "Mo": + return n.ordinalNumber(o + 1, { unit: "month" }) + case "MMM": + return n.month(o, { width: "abbreviated", context: "formatting" }) + case "MMMMM": + return n.month(o, { width: "narrow", context: "formatting" }) + case "MMMM": + default: + return n.month(o, { width: "wide", context: "formatting" }) + } + }, + L: function (t, e, n) { + const o = t.getMonth() + switch (e) { + case "L": + return String(o + 1) + case "LL": + return so(o + 1, 2) + case "Lo": + return n.ordinalNumber(o + 1, { unit: "month" }) + case "LLL": + return n.month(o, { width: "abbreviated", context: "standalone" }) + case "LLLLL": + return n.month(o, { width: "narrow", context: "standalone" }) + case "LLLL": + default: + return n.month(o, { width: "wide", context: "standalone" }) + } + }, + w: function (t, e, n, o) { + const r = HJt(t, o) + return e === "wo" ? n.ordinalNumber(r, { unit: "week" }) : so(r, e.length) + }, + I: function (t, e, n) { + const o = KJt(t) + return e === "Io" ? n.ordinalNumber(o, { unit: "week" }) : so(o, e.length) + }, + d: function (t, e, n) { + return e === "do" ? n.ordinalNumber(t.getDate(), { unit: "date" }) : vd.d(t, e) + }, + D: function (t, e, n) { + const o = WJt(t) + return e === "Do" ? n.ordinalNumber(o, { unit: "dayOfYear" }) : so(o, e.length) + }, + E: function (t, e, n) { + const o = t.getDay() + switch (e) { + case "E": + case "EE": + case "EEE": + return n.day(o, { width: "abbreviated", context: "formatting" }) + case "EEEEE": + return n.day(o, { width: "narrow", context: "formatting" }) + case "EEEEEE": + return n.day(o, { width: "short", context: "formatting" }) + case "EEEE": + default: + return n.day(o, { width: "wide", context: "formatting" }) + } + }, + e: function (t, e, n, o) { + const r = t.getDay(), + i = (r - o.weekStartsOn + 8) % 7 || 7 + switch (e) { + case "e": + return String(i) + case "ee": + return so(i, 2) + case "eo": + return n.ordinalNumber(i, { unit: "day" }) + case "eee": + return n.day(r, { width: "abbreviated", context: "formatting" }) + case "eeeee": + return n.day(r, { width: "narrow", context: "formatting" }) + case "eeeeee": + return n.day(r, { width: "short", context: "formatting" }) + case "eeee": + default: + return n.day(r, { width: "wide", context: "formatting" }) + } + }, + c: function (t, e, n, o) { + const r = t.getDay(), + i = (r - o.weekStartsOn + 8) % 7 || 7 + switch (e) { + case "c": + return String(i) + case "cc": + return so(i, e.length) + case "co": + return n.ordinalNumber(i, { unit: "day" }) + case "ccc": + return n.day(r, { width: "abbreviated", context: "standalone" }) + case "ccccc": + return n.day(r, { width: "narrow", context: "standalone" }) + case "cccccc": + return n.day(r, { width: "short", context: "standalone" }) + case "cccc": + default: + return n.day(r, { width: "wide", context: "standalone" }) + } + }, + i: function (t, e, n) { + const o = t.getDay(), + r = o === 0 ? 7 : o + switch (e) { + case "i": + return String(r) + case "ii": + return so(r, e.length) + case "io": + return n.ordinalNumber(r, { unit: "day" }) + case "iii": + return n.day(o, { width: "abbreviated", context: "formatting" }) + case "iiiii": + return n.day(o, { width: "narrow", context: "formatting" }) + case "iiiiii": + return n.day(o, { width: "short", context: "formatting" }) + case "iiii": + default: + return n.day(o, { width: "wide", context: "formatting" }) + } + }, + a: function (t, e, n) { + const r = t.getHours() / 12 >= 1 ? "pm" : "am" + switch (e) { + case "a": + case "aa": + return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }) + case "aaa": + return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }).toLowerCase() + case "aaaaa": + return n.dayPeriod(r, { width: "narrow", context: "formatting" }) + case "aaaa": + default: + return n.dayPeriod(r, { width: "wide", context: "formatting" }) + } + }, + b: function (t, e, n) { + const o = t.getHours() + let r + switch ((o === 12 ? (r = Nm.noon) : o === 0 ? (r = Nm.midnight) : (r = o / 12 >= 1 ? "pm" : "am"), e)) { + case "b": + case "bb": + return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }) + case "bbb": + return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }).toLowerCase() + case "bbbbb": + return n.dayPeriod(r, { width: "narrow", context: "formatting" }) + case "bbbb": + default: + return n.dayPeriod(r, { width: "wide", context: "formatting" }) + } + }, + B: function (t, e, n) { + const o = t.getHours() + let r + switch ( + (o >= 17 ? (r = Nm.evening) : o >= 12 ? (r = Nm.afternoon) : o >= 4 ? (r = Nm.morning) : (r = Nm.night), + e) + ) { + case "B": + case "BB": + case "BBB": + return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }) + case "BBBBB": + return n.dayPeriod(r, { width: "narrow", context: "formatting" }) + case "BBBB": + default: + return n.dayPeriod(r, { width: "wide", context: "formatting" }) + } + }, + h: function (t, e, n) { + if (e === "ho") { + let o = t.getHours() % 12 + return o === 0 && (o = 12), n.ordinalNumber(o, { unit: "hour" }) + } + return vd.h(t, e) + }, + H: function (t, e, n) { + return e === "Ho" ? n.ordinalNumber(t.getHours(), { unit: "hour" }) : vd.H(t, e) + }, + K: function (t, e, n) { + const o = t.getHours() % 12 + return e === "Ko" ? n.ordinalNumber(o, { unit: "hour" }) : so(o, e.length) + }, + k: function (t, e, n) { + let o = t.getHours() + return o === 0 && (o = 24), e === "ko" ? n.ordinalNumber(o, { unit: "hour" }) : so(o, e.length) + }, + m: function (t, e, n) { + return e === "mo" ? n.ordinalNumber(t.getMinutes(), { unit: "minute" }) : vd.m(t, e) + }, + s: function (t, e, n) { + return e === "so" ? n.ordinalNumber(t.getSeconds(), { unit: "second" }) : vd.s(t, e) + }, + S: function (t, e) { + return vd.S(t, e) + }, + X: function (t, e, n) { + const o = t.getTimezoneOffset() + if (o === 0) return "Z" + switch (e) { + case "X": + return pW(o) + case "XXXX": + case "XX": + return Yu(o) + case "XXXXX": + case "XXX": + default: + return Yu(o, ":") + } + }, + x: function (t, e, n) { + const o = t.getTimezoneOffset() + switch (e) { + case "x": + return pW(o) + case "xxxx": + case "xx": + return Yu(o) + case "xxxxx": + case "xxx": + default: + return Yu(o, ":") + } + }, + O: function (t, e, n) { + const o = t.getTimezoneOffset() + switch (e) { + case "O": + case "OO": + case "OOO": + return "GMT" + uW(o, ":") + case "OOOO": + default: + return "GMT" + Yu(o, ":") + } + }, + z: function (t, e, n) { + const o = t.getTimezoneOffset() + switch (e) { + case "z": + case "zz": + case "zzz": + return "GMT" + uW(o, ":") + case "zzzz": + default: + return "GMT" + Yu(o, ":") + } + }, + t: function (t, e, n) { + const o = Math.trunc(+t / 1e3) + return so(o, e.length) + }, + T: function (t, e, n) { + return so(+t, e.length) + }, + } +function uW(t, e = "") { + const n = t > 0 ? "-" : "+", + o = Math.abs(t), + r = Math.trunc(o / 60), + i = o % 60 + return i === 0 ? n + String(r) : n + String(r) + e + so(i, 2) +} +function pW(t, e) { + return t % 60 === 0 ? (t > 0 ? "-" : "+") + so(Math.abs(t) / 60, 2) : Yu(t, e) +} +function Yu(t, e = "") { + const n = t > 0 ? "-" : "+", + o = Math.abs(t), + r = so(Math.trunc(o / 60), 2), + i = so(o % 60, 2) + return n + r + e + i +} +const mW = (t, e) => { + switch (t) { + case "P": + return e.date({ width: "short" }) + case "PP": + return e.date({ width: "medium" }) + case "PPP": + return e.date({ width: "long" }) + case "PPPP": + default: + return e.date({ width: "full" }) + } + }, + rpt = (t, e) => { + switch (t) { + case "p": + return e.time({ width: "short" }) + case "pp": + return e.time({ width: "medium" }) + case "ppp": + return e.time({ width: "long" }) + case "pppp": + default: + return e.time({ width: "full" }) + } + }, + GJt = (t, e) => { + const n = t.match(/(P+)(p+)?/) || [], + o = n[1], + r = n[2] + if (!r) return mW(t, e) + let i + switch (o) { + case "P": + i = e.dateTime({ width: "short" }) + break + case "PP": + i = e.dateTime({ width: "medium" }) + break + case "PPP": + i = e.dateTime({ width: "long" }) + break + case "PPPP": + default: + i = e.dateTime({ width: "full" }) + break + } + return i.replace("{{date}}", mW(o, e)).replace("{{time}}", rpt(r, e)) + }, + QJt = { p: rpt, P: GJt }, + ZJt = /^D+$/, + YJt = /^Y+$/, + XJt = ["D", "DD", "YY", "YYYY"] +function JJt(t) { + return ZJt.test(t) +} +function een(t) { + return YJt.test(t) +} +function ten(t, e, n) { + const o = nen(t, e, n) + if ((console.warn(o), XJt.includes(t))) throw new RangeError(o) +} +function nen(t, e, n) { + const o = t[0] === "Y" ? "years" : "days of the month" + return `Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${o} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md` +} +const oen = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, + ren = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, + ien = /^'([^]*?)'?$/, + sen = /''/g, + aen = /[a-zA-Z]/ +function len(t, e, n) { + var u, m, f, g, b, v, w, _ + const o = gy(), + r = (n == null ? void 0 : n.locale) ?? o.locale ?? npt, + i = + (n == null ? void 0 : n.firstWeekContainsDate) ?? + ((m = (u = n == null ? void 0 : n.locale) == null ? void 0 : u.options) == null + ? void 0 + : m.firstWeekContainsDate) ?? + o.firstWeekContainsDate ?? + ((g = (f = o.locale) == null ? void 0 : f.options) == null ? void 0 : g.firstWeekContainsDate) ?? + 1, + s = + (n == null ? void 0 : n.weekStartsOn) ?? + ((v = (b = n == null ? void 0 : n.locale) == null ? void 0 : b.options) == null + ? void 0 + : v.weekStartsOn) ?? + o.weekStartsOn ?? + ((_ = (w = o.locale) == null ? void 0 : w.options) == null ? void 0 : _.weekStartsOn) ?? + 0, + a = ml(t, n == null ? void 0 : n.in) + if (!dJt(a)) throw new RangeError("Invalid time value") + let c = e + .match(ren) + .map((y) => { + const C = y[0] + if (C === "p" || C === "P") { + const S = QJt[C] + return S(y, r.formatLong) + } + return y + }) + .join("") + .match(oen) + .map((y) => { + if (y === "''") return { isToken: !1, value: "'" } + const C = y[0] + if (C === "'") return { isToken: !1, value: cen(y) } + if (dW[C]) return { isToken: !0, value: y } + if (C.match(aen)) + throw new RangeError("Format string contains an unescaped latin alphabet character `" + C + "`") + return { isToken: !1, value: y } + }) + r.localize.preprocessor && (c = r.localize.preprocessor(a, c)) + const d = { firstWeekContainsDate: i, weekStartsOn: s, locale: r } + return c + .map((y) => { + if (!y.isToken) return y.value + const C = y.value + ;((!(n != null && n.useAdditionalWeekYearTokens) && een(C)) || + (!(n != null && n.useAdditionalDayOfYearTokens) && JJt(C))) && + ten(C, e, String(t)) + const S = dW[C[0]] + return S(a, C, r.localize, d) + }) + .join("") +} +function cen(t) { + const e = t.match(ien) + return e ? e[1].replace(sen, "'") : t +} +function den(t, e, n) { + var m, f + const [o, r] = ept(n == null ? void 0 : n.in, t, e), + i = gy(), + s = i.locale ?? npt, + a = + i.weekStartsOn ?? + ((f = (m = i.locale) == null ? void 0 : m.options) == null ? void 0 : f.weekStartsOn) ?? + 0, + c = tpt(o, r) + if (isNaN(c)) throw new RangeError("Invalid time value") + let d + c < -6 + ? (d = "other") + : c < -1 + ? (d = "lastWeek") + : c < 0 + ? (d = "yesterday") + : c < 1 + ? (d = "today") + : c < 2 + ? (d = "tomorrow") + : c < 7 + ? (d = "nextWeek") + : (d = "other") + const u = s.formatRelative(d, o, r, { locale: s, weekStartsOn: a }) + return len(o, u, { locale: s, weekStartsOn: a }) +} +const uen = ({ error: t }) => { + const e = k.useMemo(() => { + switch (t.level) { + case "error": + return "var(--vscode-testing-iconFailed)" + case "warn": + return "var(--vscode-charts-yellow)" + case "info": + return "var(--vscode-testing-iconPassed)" + } + }, [t.level]) + return l.jsxs("div", { + className: "text-sm bg-vscode-textCodeBlock-background border-l-2 p-2", + style: { borderColor: e }, + children: [ + l.jsx("div", { className: "mb-1", style: { color: e }, children: t.message }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground", + children: den(t.timestamp, new Date()), + }), + ], + }) + }, + pen = ({ onDone: t }) => { + const { + mcpServers: e, + alwaysAllowMcp: n, + mcpEnabled: o, + enableMcpServerCreation: r, + setEnableMcpServerCreation: i, + } = Qn(), + { t: s } = Be() + return l.jsxs(Kf, { + children: [ + l.jsxs(py, { + className: "flex justify-between items-center", + children: [ + l.jsx("h3", { className: "text-vscode-foreground m-0", children: s("mcp:title") }), + l.jsx(Ee, { onClick: t, children: s("mcp:done") }), + ], + }), + l.jsxs(Vf, { + children: [ + l.jsx("div", { + style: { + color: "var(--vscode-foreground)", + fontSize: "13px", + marginBottom: "10px", + marginTop: "5px", + }, + children: l.jsx(Dt, { + i18nKey: "mcp:description", + children: l.jsx(Wt, { + href: co("features/mcp/using-mcp-in-roo", "mcp_settings"), + style: { display: "inline" }, + children: "Learn More", + }), + }), + }), + l.jsx(iJt, {}), + o && + l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + style: { marginBottom: 15 }, + children: [ + l.jsx(En, { + checked: r, + onChange: (a) => { + i(a.target.checked), + re.postMessage({ + type: "enableMcpServerCreation", + bool: a.target.checked, + }) + }, + children: l.jsx("span", { + style: { fontWeight: "500" }, + children: s("mcp:enableServerCreation.title"), + }), + }), + l.jsxs("div", { + style: { + fontSize: "12px", + marginTop: "5px", + color: "var(--vscode-descriptionForeground)", + }, + children: [ + l.jsxs(Dt, { + i18nKey: "mcp:enableServerCreation.description", + children: [ + l.jsx(Wt, { + href: co( + "features/mcp/using-mcp-in-roo#how-to-use-roo-to-create-an-mcp-server", + "mcp_server_creation", + ), + style: { display: "inline" }, + children: "Learn about server creation", + }), + l.jsx("strong", { children: "new" }), + ], + }), + l.jsx("p", { + style: { marginTop: "8px" }, + children: s("mcp:enableServerCreation.hint"), + }), + ], + }), + ], + }), + e.length > 0 && + l.jsx("div", { + style: { display: "flex", flexDirection: "column", gap: "10px" }, + children: e.map((a) => + l.jsx( + men, + { server: a, alwaysAllowMcp: n }, + `${a.name}-${a.source || "global"}`, + ), + ), + }), + l.jsxs("div", { + style: { + marginTop: "10px", + width: "100%", + display: "grid", + gridTemplateColumns: "repeat(auto-fit, minmax(200px, 1fr))", + gap: "10px", + }, + children: [ + l.jsxs(Ee, { + variant: "secondary", + style: { width: "100%" }, + onClick: () => { + re.postMessage({ type: "openMcpSettings" }) + }, + children: [ + l.jsx("span", { + className: "codicon codicon-edit", + style: { marginRight: "6px" }, + }), + s("mcp:editGlobalMCP"), + ], + }), + l.jsxs(Ee, { + variant: "secondary", + style: { width: "100%" }, + onClick: () => { + re.postMessage({ type: "openProjectMcpSettings" }) + }, + children: [ + l.jsx("span", { + className: "codicon codicon-edit", + style: { marginRight: "6px" }, + }), + s("mcp:editProjectMCP"), + ], + }), + l.jsxs(Ee, { + variant: "secondary", + style: { width: "100%" }, + onClick: () => { + re.postMessage({ type: "refreshAllMcpServers" }) + }, + children: [ + l.jsx("span", { + className: "codicon codicon-refresh", + style: { marginRight: "6px" }, + }), + s("mcp:refreshMCP"), + ], + }), + l.jsx(We, { + content: s("mcp:marketplace"), + children: l.jsxs(Ee, { + variant: "secondary", + style: { width: "100%" }, + onClick: () => { + window.postMessage( + { + type: "action", + action: "marketplaceButtonClicked", + values: { marketplaceTab: "mcp" }, + }, + "*", + ) + }, + children: [ + l.jsx("span", { + className: "codicon codicon-extensions", + style: { marginRight: "6px" }, + }), + s("mcp:marketplace"), + ], + }), + }), + ], + }), + l.jsx("div", { + style: { + marginTop: "15px", + fontSize: "12px", + color: "var(--vscode-descriptionForeground)", + }, + children: l.jsx(Wt, { + href: co( + "features/mcp/using-mcp-in-roo#editing-mcp-settings-files", + "mcp_edit_settings", + ), + style: { display: "inline" }, + children: s("mcp:learnMoreEditingSettings"), + }), + }), + ], + }), + ], + }), + ], + }) + }, + men = ({ server: t, alwaysAllowMcp: e }) => { + var v, w + const { t: n } = Be(), + [o, r] = k.useState(!1), + [i, s] = k.useState(!1), + [a, c] = k.useState(() => { + var y + return ((y = JSON.parse(t.config)) == null ? void 0 : y.timeout) ?? 60 + }), + d = [ + { value: 15, label: n("mcp:networkTimeout.options.15seconds") }, + { value: 30, label: n("mcp:networkTimeout.options.30seconds") }, + { value: 60, label: n("mcp:networkTimeout.options.1minute") }, + { value: 300, label: n("mcp:networkTimeout.options.5minutes") }, + { value: 600, label: n("mcp:networkTimeout.options.10minutes") }, + { value: 900, label: n("mcp:networkTimeout.options.15minutes") }, + { value: 1800, label: n("mcp:networkTimeout.options.30minutes") }, + { value: 3600, label: n("mcp:networkTimeout.options.60minutes") }, + ], + u = () => { + switch (t.status) { + case "connected": + return "var(--vscode-testing-iconPassed)" + case "connecting": + return "var(--vscode-charts-yellow)" + case "disconnected": + return "var(--vscode-testing-iconFailed)" + } + }, + m = () => { + t.status === "connected" && r(!o) + }, + f = () => { + re.postMessage({ type: "restartMcpServer", text: t.name, source: t.source || "global" }) + }, + g = (_) => { + const y = parseInt(_.target.value) + c(y), + re.postMessage({ + type: "updateMcpTimeout", + serverName: t.name, + source: t.source || "global", + timeout: y, + }) + }, + b = () => { + re.postMessage({ type: "deleteMcpServer", serverName: t.name, source: t.source || "global" }), s(!1) + } + return l.jsxs("div", { + style: { marginBottom: "10px" }, + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + padding: "8px", + background: "var(--vscode-textCodeBlock-background)", + cursor: t.status === "connected" ? "pointer" : "default", + borderRadius: o || t.status === "connected" ? "4px" : "4px 4px 0 0", + opacity: t.disabled ? 0.6 : 1, + }, + onClick: m, + children: [ + t.status === "connected" && + l.jsx("span", { + className: `codicon codicon-chevron-${o ? "down" : "right"}`, + style: { marginRight: "8px" }, + }), + l.jsxs("span", { + style: { flex: 1 }, + children: [ + t.name, + t.source && + l.jsx("span", { + style: { + marginLeft: "8px", + padding: "1px 6px", + fontSize: "11px", + borderRadius: "4px", + background: "var(--vscode-badge-background)", + color: "var(--vscode-badge-foreground)", + }, + children: t.source, + }), + ], + }), + l.jsxs("div", { + style: { display: "flex", alignItems: "center", marginRight: "8px" }, + onClick: (_) => _.stopPropagation(), + children: [ + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => s(!0), + style: { marginRight: "8px" }, + children: l.jsx("span", { + className: "codicon codicon-trash", + style: { fontSize: "14px" }, + }), + }), + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: f, + disabled: t.status === "connecting", + style: { marginRight: "8px" }, + children: l.jsx("span", { + className: "codicon codicon-refresh", + style: { fontSize: "14px" }, + }), + }), + ], + }), + l.jsx("div", { + style: { + width: "8px", + height: "8px", + borderRadius: "50%", + background: u(), + marginLeft: "8px", + }, + }), + l.jsx("div", { + style: { marginLeft: "8px" }, + children: l.jsx(Hz, { + checked: !t.disabled, + onChange: () => { + re.postMessage({ + type: "toggleMcpServer", + serverName: t.name, + source: t.source || "global", + disabled: !t.disabled, + }) + }, + size: "medium", + "aria-label": `Toggle ${t.name} server`, + }), + }), + ], + }), + t.status === "connected" + ? o && + l.jsxs("div", { + style: { + background: "var(--vscode-textCodeBlock-background)", + padding: "0 10px 10px 10px", + fontSize: "13px", + borderRadius: "0 0 4px 4px", + }, + children: [ + l.jsxs(C1t, { + style: { marginBottom: "10px" }, + children: [ + l.jsxs(Bk, { + id: "tools", + children: [ + n("mcp:tabs.tools"), + " (", + ((v = t.tools) == null ? void 0 : v.length) || 0, + ")", + ], + }), + l.jsxs(Bk, { + id: "resources", + children: [ + n("mcp:tabs.resources"), + " (", + [...(t.resourceTemplates || []), ...(t.resources || [])].length || 0, + ")", + ], + }), + t.instructions && + l.jsx(Bk, { id: "instructions", children: n("mcp:instructions") }), + l.jsxs(Bk, { + id: "errors", + children: [ + n("mcp:tabs.errors"), + " (", + ((w = t.errorHistory) == null ? void 0 : w.length) || 0, + ")", + ], + }), + l.jsx(Uk, { + id: "tools-view", + children: + t.tools && t.tools.length > 0 + ? l.jsx("div", { + style: { + display: "flex", + flexDirection: "column", + gap: "8px", + width: "100%", + }, + children: t.tools.map((_) => + l.jsx( + aj, + { + tool: _, + serverName: t.name, + serverSource: t.source || "global", + alwaysAllowMcp: e, + }, + `${_.name}-${t.name}-${t.source || "global"}`, + ), + ), + }) + : l.jsx("div", { + style: { + padding: "10px 0", + color: "var(--vscode-descriptionForeground)", + }, + children: n("mcp:emptyState.noTools"), + }), + }), + l.jsx(Uk, { + id: "resources-view", + children: + (t.resources && t.resources.length > 0) || + (t.resourceTemplates && t.resourceTemplates.length > 0) + ? l.jsx("div", { + style: { + display: "flex", + flexDirection: "column", + gap: "8px", + width: "100%", + }, + children: [ + ...(t.resourceTemplates || []), + ...(t.resources || []), + ].map((_) => + l.jsx( + Adt, + { item: _ }, + "uriTemplate" in _ ? _.uriTemplate : _.uri, + ), + ), + }) + : l.jsx("div", { + style: { + padding: "10px 0", + color: "var(--vscode-descriptionForeground)", + }, + children: n("mcp:emptyState.noResources"), + }), + }), + t.instructions && + l.jsx(Uk, { + id: "instructions-view", + children: l.jsx("div", { + style: { padding: "10px 0", fontSize: "12px" }, + children: l.jsx("div", { + className: "opacity-80 whitespace-pre-wrap break-words", + children: t.instructions, + }), + }), + }), + l.jsx(Uk, { + id: "errors-view", + children: + t.errorHistory && t.errorHistory.length > 0 + ? l.jsx("div", { + style: { + display: "flex", + flexDirection: "column", + gap: "8px", + width: "100%", + }, + children: [...t.errorHistory] + .sort((_, y) => y.timestamp - _.timestamp) + .map((_, y) => + l.jsx(uen, { error: _ }, `${_.timestamp}-${y}`), + ), + }) + : l.jsx("div", { + style: { + padding: "10px 0", + color: "var(--vscode-descriptionForeground)", + }, + children: n("mcp:emptyState.noErrors"), + }), + }), + ], + }), + l.jsxs("div", { + style: { padding: "10px 7px" }, + children: [ + l.jsxs("div", { + style: { + display: "flex", + alignItems: "center", + gap: "10px", + marginBottom: "8px", + }, + children: [ + l.jsx("span", { children: n("mcp:networkTimeout.label") }), + l.jsx("select", { + value: a, + onChange: g, + style: { + flex: 1, + padding: "4px", + background: "var(--vscode-dropdown-background)", + color: "var(--vscode-dropdown-foreground)", + border: "1px solid var(--vscode-dropdown-border)", + borderRadius: "2px", + outline: "none", + cursor: "pointer", + }, + children: d.map((_) => + l.jsx("option", { value: _.value, children: _.label }, _.value), + ), + }), + ], + }), + l.jsx("span", { + style: { + fontSize: "12px", + color: "var(--vscode-descriptionForeground)", + display: "block", + }, + children: n("mcp:networkTimeout.description"), + }), + ], + }), + ], + }) + : l.jsxs("div", { + style: { + fontSize: "13px", + background: "var(--vscode-textCodeBlock-background)", + borderRadius: "0 0 4px 4px", + width: "100%", + }, + children: [ + l.jsx("div", { + style: { + color: "var(--vscode-testing-iconFailed)", + marginBottom: "8px", + padding: "0 10px", + overflowWrap: "break-word", + wordBreak: "break-word", + }, + children: + t.error && + t.error + .split( + ` +`, + ) + .map((_, y) => + l.jsxs(Ie.Fragment, { children: [y > 0 && l.jsx("br", {}), _] }, y), + ), + }), + l.jsx(Mo, { + appearance: "secondary", + onClick: f, + disabled: t.status === "connecting", + style: { width: "calc(100% - 20px)", margin: "0 10px 10px 10px" }, + children: + t.status === "connecting" + ? n("mcp:serverStatus.retrying") + : n("mcp:serverStatus.retryConnection"), + }), + ], + }), + l.jsx(Rf, { + open: i, + onOpenChange: s, + children: l.jsxs(Tf, { + children: [ + l.jsxs(Zb, { + children: [ + l.jsx(If, { children: n("mcp:deleteDialog.title") }), + l.jsx(kC, { children: n("mcp:deleteDialog.description", { serverName: t.name }) }), + ], + }), + l.jsxs(hz, { + children: [ + l.jsx(Ee, { + variant: "secondary", + onClick: () => s(!1), + children: n("mcp:deleteDialog.cancel"), + }), + l.jsx(Ee, { + variant: "default", + onClick: b, + children: n("mcp:deleteDialog.delete"), + }), + ], + }), + ], + }), + }), + ], + }) + } +function ipt(t) { + const [e] = k.useState(() => t || new KJe()), + [n, o] = k.useState(() => e.getState()) + return ( + k.useEffect(() => { + const r = (a) => { + o((c) => + c.isFetching !== a.isFetching || + c.activeTab !== a.activeTab || + JSON.stringify(c.allItems) !== JSON.stringify(a.allItems) || + JSON.stringify(c.organizationMcps) !== JSON.stringify(a.organizationMcps) || + JSON.stringify(c.displayItems) !== JSON.stringify(a.displayItems) || + JSON.stringify(c.displayOrganizationMcps) !== JSON.stringify(a.displayOrganizationMcps) || + JSON.stringify(c.filters) !== JSON.stringify(a.filters) + ? a + : c, + ) + }, + i = (a) => { + e.handleMessage(a.data) + } + window.addEventListener("message", i) + const s = e.onStateChange(r) + return ( + r(e.getState()), + () => { + window.removeEventListener("message", i), s(), t || e.cleanup() + } + ) + }, [e, t]), + [n, e] + ) +} +const Tj = (t) => { + try { + return new URL(t), !0 + } catch { + return !1 + } + }, + hen = ({ item: t, isOpen: e, onClose: n, hasWorkspace: o }) => { + const { t: r } = Be(), + [i, s] = k.useState(o ? "project" : "global"), + [a, c] = k.useState(0), + [d, u] = k.useState({}), + [m, f] = k.useState(null), + [g, b] = k.useState(!1) + Ie.useEffect(() => { + t && (c(0), u({}), f(null), b(!1)) + }, [t]) + const v = k.useMemo(() => t && Array.isArray(t.content) && t.content.length > 1, [t]), + w = k.useMemo(() => (!t || !Array.isArray(t.content) ? [] : t.content.map((P) => P.name)), [t]), + _ = k.useMemo(() => { + if (!t) return [] + const P = t.type === "mcp" ? t.parameters || [] : [] + let R = [] + if (Array.isArray(t.content)) { + const E = t.content[a] + R = (E == null ? void 0 : E.parameters) || [] + } + const T = new Map() + return P.forEach((E) => T.set(E.key, E)), R.forEach((E) => T.set(E.key, E)), Array.from(T.values()) + }, [t, a]), + y = k.useMemo(() => { + if (!t) return [] + const P = t.prerequisites || [] + let R = [] + if (Array.isArray(t.content)) { + const E = t.content[a] + R = (E == null ? void 0 : E.prerequisites) || [] + } + const T = [...P, ...R] + return Array.from(new Set(T)) + }, [t, a]) + Ie.useEffect(() => { + if (t) { + const P = t.type === "mcp" ? t.parameters || [] : [] + let R = [] + if (Array.isArray(t.content)) { + const $ = t.content[a] + R = ($ == null ? void 0 : $.parameters) || [] + } + const T = new Map() + P.forEach(($) => T.set($.key, $)), R.forEach(($) => T.set($.key, $)) + const E = Array.from(T.values()) + u(($) => { + const j = {} + return ( + E.forEach((L) => { + j[L.key] = $[L.key] || "" + }), + j + ) + }) + } + }, [t, a]), + k.useEffect(() => { + const P = (R) => { + const T = R.data + T.type === "marketplaceInstallResult" && + T.slug === (t == null ? void 0 : t.id) && + (T.success + ? (b(!0), f(null), re.postMessage({ type: "fetchMarketplaceData" })) + : (f(T.error || "Installation failed"), b(!1))) + } + return window.addEventListener("message", P), () => window.removeEventListener("message", P) + }, [t == null ? void 0 : t.id]) + const C = () => { + var R + if (!t) return + f(null) + for (const T of _) + if (!T.optional && !((R = d[T.key]) != null && R.trim())) { + f(r("marketplace:install.validationRequired", { paramName: T.name })) + return + } + const P = { ...d } + for (const T of _) T.optional && !P[T.key] && (P[T.key] = "") + re.postMessage({ + type: "installMarketplaceItem", + mpItem: t, + mpInstallOptions: { target: i, parameters: { ...P, _selectedIndex: v ? a : void 0 } }, + }), + f(null) + }, + S = (P) => { + P === "mcp" + ? window.postMessage({ type: "action", action: "mcpButtonClicked" }, "*") + : window.postMessage({ type: "action", action: "promptsButtonClicked" }, "*"), + n() + } + return t + ? l.jsx(Rf, { + open: e, + onOpenChange: n, + children: l.jsxs(Tf, { + className: "sm:max-w-[500px]", + children: [ + l.jsxs(Zb, { + children: [ + l.jsx(If, { + children: g + ? r("marketplace:install.successTitle", { name: t.name }) + : t.type === "mcp" + ? r("marketplace:install.titleMcp", { name: t.name }) + : r("marketplace:install.titleMode", { name: t.name }), + }), + l.jsx(kC, { + children: g + ? r("marketplace:install.successDescription") + : t.type === "mcp" && t.url + ? l.jsx("a", { + href: t.url, + target: "_blank", + rel: "noopener noreferrer", + className: + "text-primary hover:underline inline-flex items-center gap-1", + children: r("marketplace:install.moreInfoMcp", { + name: t.name, + }), + }) + : null, + }), + ], + }), + g + ? l.jsx("div", { + className: "space-y-4 py-2", + children: l.jsxs("div", { + className: "text-center space-y-4", + children: [ + l.jsxs("div", { + className: "text-green-500 text-lg", + children: ["✓ ", r("marketplace:install.installed")], + }), + l.jsx("p", { + className: "text-sm text-muted-foreground", + children: + t.type === "mcp" + ? r("marketplace:install.whatNextMcp") + : r("marketplace:install.whatNextMode"), + }), + ], + }), + }) + : l.jsxs("div", { + className: "space-y-4 py-2", + children: [ + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("div", { + className: "text-base font-semibold", + children: r("marketplace:install.scope"), + }), + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsxs("label", { + className: "flex items-center space-x-2", + children: [ + l.jsx("input", { + type: "radio", + name: "scope", + value: "project", + checked: i === "project", + onChange: () => s("project"), + disabled: !o, + className: "rounded-full", + }), + l.jsx("span", { + className: o ? "" : "opacity-50", + children: r("marketplace:install.project"), + }), + ], + }), + l.jsxs("label", { + className: "flex items-center space-x-2", + children: [ + l.jsx("input", { + type: "radio", + name: "scope", + value: "global", + checked: i === "global", + onChange: () => s("global"), + className: "rounded-full", + }), + l.jsx("span", { + children: r("marketplace:install.global"), + }), + ], + }), + ], + }), + ], + }), + v && + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("div", { + className: "text-base font-semibold", + children: r("marketplace:install.method"), + }), + l.jsxs(Qr, { + value: String(a), + onValueChange: (P) => c(Number(P)), + children: [ + l.jsx(Yr, { children: l.jsx(Zr, {}) }), + l.jsx(Xr, { + children: w.map((P, R) => + l.jsx(qn, { value: String(R), children: P }, R), + ), + }), + ], + }), + ], + }), + y.length > 0 && + l.jsxs("div", { + className: "space-y-2", + children: [ + l.jsx("div", { + className: "text-base font-semibold", + children: r("marketplace:install.prerequisites"), + }), + l.jsx("ul", { + className: "list-disc list-inside space-y-1 text-sm", + children: y.map((P, R) => + l.jsx( + "li", + { className: "text-muted-foreground", children: P }, + R, + ), + ), + }), + ], + }), + _.length > 0 && + l.jsxs("div", { + className: "space-y-3", + children: [ + l.jsxs("div", { + className: "space-y-1", + children: [ + l.jsx("div", { + className: "text-base font-semibold", + children: r("marketplace:install.configuration"), + }), + l.jsx("div", { + className: "text-sm text-muted-foreground", + children: r( + "marketplace:install.configurationDescription", + ), + }), + ], + }), + _.map((P) => + l.jsxs( + "div", + { + className: "space-y-1", + children: [ + l.jsxs("label", { + htmlFor: P.key, + className: "text-sm", + children: [ + P.name, + P.optional ? " (optional)" : "", + ], + }), + l.jsx(ha, { + id: P.key, + type: "text", + placeholder: P.placeholder, + value: d[P.key] || "", + onChange: (R) => + u((T) => ({ + ...T, + [P.key]: R.target.value, + })), + }), + ], + }, + P.key, + ), + ), + ], + }), + m && + l.jsx("div", { + className: + "text-sm text-red-500 bg-red-500/10 border border-red-500/20 rounded p-2", + children: m, + }), + ], + }), + l.jsx(hz, { + children: g + ? l.jsxs(l.Fragment, { + children: [ + l.jsx(Ee, { + variant: "outline", + onClick: n, + children: r("marketplace:install.done"), + }), + l.jsx(Ee, { + onClick: () => S(t.type === "mcp" ? "mcp" : "modes"), + children: + t.type === "mcp" + ? r("marketplace:install.goToMcp") + : r("marketplace:install.goToModes"), + }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + l.jsx(Ee, { + variant: "outline", + onClick: n, + children: r("common:answers.cancel"), + }), + l.jsx(Ee, { onClick: C, children: r("marketplace:install.button") }), + ], + }), + }), + ], + }), + }) + : null + }, + hW = ({ item: t, filters: e, setFilters: n, installed: o }) => { + const { t: r } = Be(), + { cwd: i } = Qn(), + [s, a] = k.useState(!1), + [c, d] = k.useState(!1), + [u, m] = k.useState("project"), + [f, g] = k.useState(null) + k.useEffect(() => { + const C = (S) => { + const P = S.data + P.type === "marketplaceRemoveResult" && + P.slug === t.id && + (P.success + ? re.postMessage({ type: "fetchMarketplaceData" }) + : g(P.error || r("marketplace:items.unknownError"))) + } + return window.addEventListener("message", C), () => window.removeEventListener("message", C) + }, [t.id, r]) + const b = k.useMemo( + () => + ({ mode: r("marketplace:filters.type.mode"), mcp: r("marketplace:filters.type.mcpServer") })[ + t.type + ] ?? "N/A", + [t.type, r], + ), + v = !!o.global, + w = !!o.project, + _ = v || w, + y = () => { + os.capture(Ls.MARKETPLACE_INSTALL_BUTTON_CLICKED, { itemId: t.id, itemType: t.type, itemName: t.name }), + a(!0) + } + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "border border-vscode-panel-border rounded-sm p-3 bg-vscode-editor-background", + children: [ + l.jsxs("div", { + className: "flex gap-2 items-start justify-between", + children: [ + l.jsx("div", { + className: "flex gap-2 items-start", + children: l.jsxs("div", { + children: [ + l.jsx("h3", { + className: + "text-lg font-semibold text-vscode-foreground mt-0 mb-1 leading-none", + children: + t.type === "mcp" && t.url && Tj(t.url) + ? l.jsx(Ee, { + variant: "link", + className: + "p-0 h-auto text-lg font-semibold text-vscode-foreground hover:underline", + onClick: () => + re.postMessage({ + type: "openExternal", + url: t.url, + }), + children: t.name, + }) + : t.name, + }), + l.jsx(fen, { item: t, typeLabel: b }), + ], + }), + }), + l.jsxs("div", { + className: "flex items-center gap-1", + children: [ + _ + ? l.jsx(We, { + content: r( + w + ? "marketplace:items.card.removeProjectTooltip" + : "marketplace:items.card.removeGlobalTooltip", + ), + children: l.jsx(Ee, { + size: "sm", + variant: "secondary", + className: "text-xs h-5 py-0 px-2", + onClick: () => { + m(w ? "project" : "global"), d(!0) + }, + children: r("marketplace:items.card.remove"), + }), + }) + : l.jsx(Ee, { + size: "sm", + variant: "default", + className: "text-xs h-5 py-0 px-2", + onClick: y, + children: r("marketplace:items.card.install"), + }), + f && + l.jsx("div", { + className: "text-vscode-errorForeground text-sm mt-2", + children: r("marketplace:items.removeFailed", { error: f }), + }), + ], + }), + ], + }), + l.jsx("p", { className: "my-2 text-vscode-foreground", children: t.description }), + (_ || (t.tags && t.tags.length > 0)) && + l.jsxs("div", { + className: "relative flex flex-wrap gap-1 my-2", + children: [ + _ && + l.jsx("span", { + className: + "text-xs px-2 py-0.5 rounded-sm h-5 flex items-center bg-green-600/20 text-green-400 border border-green-600/30 shrink-0", + children: r("marketplace:items.card.installed"), + }), + t.tags && + t.tags.length > 0 && + t.tags.map((C) => + l.jsx( + We, + { + content: e.tags.includes(C) + ? r("marketplace:filters.tags.clear", { count: C }) + : r("marketplace:filters.tags.clickToFilter"), + children: l.jsx(Ee, { + size: "sm", + variant: "secondary", + className: be("rounded-sm capitalize text-xs px-2 h-5", { + "border-solid border-primary text-primary": + e.tags.includes(C), + }), + onClick: () => { + const S = e.tags.includes(C) + ? e.tags.filter((P) => P !== C) + : [...e.tags, C] + n({ tags: S }) + }, + children: C, + }), + }, + C, + ), + ), + ], + }), + ], + }), + l.jsx(hen, { item: t, isOpen: s, onClose: () => a(!1), hasWorkspace: !!i }), + l.jsx(jc, { + open: c, + onOpenChange: d, + children: l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { + children: + t.type === "mode" + ? r("marketplace:removeConfirm.mode.title") + : r("marketplace:removeConfirm.mcp.title"), + }), + l.jsx(Dc, { + children: + t.type === "mode" + ? l.jsxs(l.Fragment, { + children: [ + r("marketplace:removeConfirm.mode.message", { + modeName: t.name, + }), + l.jsx("div", { + className: "mt-2 text-sm", + children: r( + "marketplace:removeConfirm.mode.rulesWarning", + ), + }), + ], + }) + : r("marketplace:removeConfirm.mcp.message", { mcpName: t.name }), + }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { children: r("marketplace:removeConfirm.cancel") }), + l.jsx(Nc, { + onClick: () => { + g(null), + re.postMessage({ + type: "removeInstalledMarketplaceItem", + mpItem: t, + mpInstallOptions: { target: u }, + }), + d(!1) + }, + children: r("marketplace:removeConfirm.confirm"), + }), + ], + }), + ], + }), + }), + ], + }) + }, + fen = ({ item: t, typeLabel: e }) => { + const { t: n } = Be(), + o = () => { + t.authorUrl && Tj(t.authorUrl) && re.postMessage({ type: "openExternal", url: t.authorUrl }) + } + return t.author + ? l.jsxs("p", { + className: "text-sm text-vscode-descriptionForeground my-0", + children: [ + e, + " ", + t.authorUrl && Tj(t.authorUrl) + ? l.jsx(Ee, { + variant: "link", + className: "p-0 h-auto text-sm text-vscode-textLink hover:underline", + onClick: o, + children: n("marketplace:items.card.by", { author: t.author }), + }) + : n("marketplace:items.card.by", { author: t.author }), + ], + }) + : null + }, + gen = () => + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground p-3", + children: l.jsx(Dt, { + i18nKey: "marketplace:footer.issueText", + children: l.jsx(Wt, { + href: "https://github.com/RooCodeInc/Roo-Code/issues/new?template=marketplace.yml", + style: { display: "inline", fontSize: "inherit" }, + children: "Open a GitHub issue", + }), + }), + }) +function fW({ stateManager: t, allTags: e, filteredTags: n, filterByType: o }) { + const [r, i] = ipt(t), + { t: s } = Be(), + { marketplaceInstalledMetadata: a, cloudUserInfo: c } = Qn(), + [d, u] = k.useState(!1), + [m, f] = k.useState(""), + g = r.displayItems || [], + b = r.displayOrganizationMcps || [], + v = o ? g.filter((y) => y.type === o) : g, + w = o === "mcp" ? b : [], + _ = v.length === 0 && w.length === 0 + return l.jsxs(l.Fragment, { + children: [ + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "relative", + children: l.jsx(ha, { + type: "text", + placeholder: s( + o === "mcp" + ? "marketplace:filters.search.placeholderMcp" + : o === "mode" + ? "marketplace:filters.search.placeholderMode" + : "marketplace:filters.search.placeholder", + ), + value: r.filters.search, + onChange: (y) => + i.transition({ + type: "UPDATE_FILTERS", + payload: { filters: { search: y.target.value } }, + }), + }), + }), + e.length > 0 && + l.jsxs("div", { + className: "mt-2", + children: [ + l.jsxs("div", { + className: "flex items-center justify-between mb-1", + children: [ + l.jsx("div", { + className: "flex items-center gap-1", + children: l.jsx("label", { + className: "font-medium text-sm", + children: s("marketplace:filters.tags.label"), + }), + }), + r.filters.tags.length > 0 && + l.jsxs(Ee, { + className: + "shadow-none font-normal flex items-center gap-1 h-auto py-0.5 px-1.5 text-xs", + size: "sm", + variant: "secondary", + onClick: (y) => { + y.stopPropagation(), + i.transition({ + type: "UPDATE_FILTERS", + payload: { filters: { tags: [] } }, + }) + }, + children: [ + l.jsx("span", { className: "codicon codicon-close" }), + s("marketplace:filters.tags.clear"), + ], + }), + ], + }), + l.jsxs(dl, { + open: d, + onOpenChange: (y) => u(y), + children: [ + l.jsx(ul, { + asChild: !0, + children: l.jsxs(Ee, { + variant: "combobox", + role: "combobox", + "aria-expanded": d, + className: "w-full justify-between h-7", + children: [ + l.jsx("span", { + className: "truncate", + children: + r.filters.tags.length > 0 + ? r.filters.tags + .map( + (y) => + y.charAt(0).toUpperCase() + y.slice(1), + ) + .join(", ") + : s("marketplace:filters.none"), + }), + l.jsx(Trt, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }), + ], + }), + }), + l.jsx(xa, { + className: "w-[var(--radix-popover-trigger-width)] p-0", + onClick: (y) => y.stopPropagation(), + children: l.jsxs(Mf, { + children: [ + l.jsxs("div", { + className: "relative", + children: [ + l.jsx(Yb, { + className: "h-9 pr-8", + placeholder: s("marketplace:filters.tags.placeholder"), + value: m, + onValueChange: f, + }), + m && + l.jsx(Ee, { + variant: "ghost", + size: "icon", + className: + "absolute right-1 top-1/2 transform -translate-y-1/2 h-7 w-7", + onClick: () => f(""), + children: l.jsx(nl, { className: "h-4 w-4" }), + }), + ], + }), + l.jsxs(jf, { + className: + "max-h-[200px] overflow-y-auto bg-vscode-dropdown-background divide-y divide-vscode-panel-border", + children: [ + l.jsx(Xb, { + className: + "p-2 text-sm text-vscode-descriptionForeground", + children: s("marketplace:filters.tags.noResults"), + }), + l.jsx(Ef, { + children: n.map((y) => + l.jsxs( + tu, + { + value: y, + onSelect: () => { + const C = r.filters.tags.includes(y) + i.transition({ + type: "UPDATE_FILTERS", + payload: { + filters: { + tags: C + ? r.filters.tags.filter( + (S) => S !== y, + ) + : [ + ...r.filters + .tags, + y, + ], + }, + }, + }) + }, + "data-selected": r.filters.tags.includes(y), + className: + "grid grid-cols-[1rem_1fr] gap-2 cursor-pointer text-sm capitalize", + onMouseDown: (C) => { + C.stopPropagation(), C.preventDefault() + }, + children: [ + r.filters.tags.includes(y) + ? l.jsx("span", { + className: + "codicon codicon-check", + }) + : l.jsx("span", {}), + y, + ], + }, + y, + ), + ), + }), + ], + }), + ], + }), + }), + ], + }), + r.filters.tags.length > 0 && + l.jsxs("div", { + className: + "text-xs text-vscode-descriptionForeground mt-2 flex items-center min-h-[16px]", + children: [ + l.jsx("span", { className: "codicon codicon-tag mr-1" }), + s("marketplace:filters.tags.selected"), + ], + }), + ], + }), + ], + }), + r.isFetching && + _ && + l.jsxs("div", { + className: + "flex flex-col items-center justify-center h-64 text-vscode-descriptionForeground animate-fade-in", + children: [ + l.jsx("div", { + className: "animate-spin mb-4", + children: l.jsx("span", { className: "codicon codicon-sync text-3xl" }), + }), + l.jsx("p", { children: s("marketplace:items.refresh.refreshing") }), + l.jsx("p", { + className: "text-sm mt-2 animate-pulse", + children: s("marketplace:items.refresh.mayTakeMoment"), + }), + ], + }), + !r.isFetching && + _ && + l.jsxs("div", { + className: + "flex flex-col items-center justify-center h-64 text-vscode-descriptionForeground animate-fade-in", + children: [ + l.jsx("span", { className: "codicon codicon-inbox text-4xl mb-4 opacity-70" }), + l.jsx("p", { className: "font-medium", children: s("marketplace:items.empty.noItems") }), + l.jsx("p", { className: "text-sm mt-2", children: s("marketplace:items.empty.adjustFilters") }), + l.jsxs(Ee, { + onClick: () => + i.transition({ + type: "UPDATE_FILTERS", + payload: { filters: { search: "", type: "", tags: [] } }, + }), + className: + "mt-4 bg-vscode-button-secondaryBackground text-vscode-button-secondaryForeground hover:bg-vscode-button-secondaryHoverBackground transition-colors", + children: [ + l.jsx("span", { className: "codicon codicon-clear-all mr-2" }), + s("marketplace:items.empty.clearAllFilters"), + ], + }), + ], + }), + !r.isFetching && + !_ && + l.jsxs("div", { + className: "pb-3", + children: [ + w.length > 0 && + l.jsxs("div", { + className: "mb-6", + children: [ + l.jsxs("div", { + className: "flex items-center gap-2 mb-3 px-1", + children: [ + l.jsx("span", { className: "codicon codicon-organization text-lg" }), + l.jsx("h3", { + className: "text-sm font-semibold text-vscode-foreground", + children: s("marketplace:sections.organizationMcps", { + organization: c == null ? void 0 : c.organizationName, + }), + }), + l.jsx("div", { className: "flex-1 h-px bg-vscode-input-border" }), + ], + }), + l.jsx("div", { + className: + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2 gap-3", + children: w.map((y) => { + var C, S + return l.jsx( + hW, + { + item: y, + filters: r.filters, + setFilters: (P) => + i.transition({ + type: "UPDATE_FILTERS", + payload: { filters: P }, + }), + installed: { + project: + (C = a == null ? void 0 : a.project) == null + ? void 0 + : C[y.id], + global: + (S = a == null ? void 0 : a.global) == null + ? void 0 + : S[y.id], + }, + }, + `org-${y.id}`, + ) + }), + }), + ], + }), + v.length > 0 && + l.jsxs("div", { + children: [ + w.length > 0 && + l.jsxs("div", { + className: "flex items-center gap-2 mb-3 px-1", + children: [ + l.jsx("span", { className: "codicon codicon-globe text-lg" }), + l.jsx("h3", { + className: "text-sm font-semibold text-vscode-foreground", + children: s("marketplace:sections.marketplace"), + }), + l.jsx("div", { className: "flex-1 h-px bg-vscode-input-border" }), + ], + }), + l.jsx("div", { + className: + "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2 gap-3", + children: v.map((y) => { + var C, S + return l.jsx( + hW, + { + item: y, + filters: r.filters, + setFilters: (P) => + i.transition({ + type: "UPDATE_FILTERS", + payload: { filters: P }, + }), + installed: { + project: + (C = a == null ? void 0 : a.project) == null + ? void 0 + : C[y.id], + global: + (S = a == null ? void 0 : a.global) == null + ? void 0 + : S[y.id], + }, + }, + y.id, + ) + }), + }), + ], + }), + ], + }), + l.jsx(gen, {}), + ], + }) +} +function ven({ stateManager: t, onDone: e, targetTab: n }) { + const { t: o } = Be(), + [r, i] = ipt(t), + [s, a] = k.useState(!1), + c = k.useContext(Zj), + [d, u] = k.useState((c == null ? void 0 : c.organizationSettingsVersion) ?? -1) + k.useEffect(() => { + const g = (c == null ? void 0 : c.organizationSettingsVersion) ?? -1 + g !== d && re.postMessage({ type: "fetchMarketplaceData" }), u(g) + }, [c == null ? void 0 : c.organizationSettingsVersion, d]), + k.useEffect(() => { + r.allItems.length > 0 && !s && a(!0) + }, [r.allItems, s]), + k.useEffect(() => { + n && (n === "mcp" || n === "mode") && i.transition({ type: "SET_ACTIVE_TAB", payload: { tab: n } }) + }, [n, i]), + k.useEffect(() => { + !s && r.allItems.length === 0 && re.postMessage({ type: "fetchMarketplaceData" }) + const g = i.onStateChange((v) => { + !s && (v.allItems.length > 0 || v.displayItems !== void 0) && a(!0) + }), + b = (v) => { + const w = v.data + w.type === "webviewVisible" && w.visible + } + return ( + window.addEventListener("message", b), + () => { + window.removeEventListener("message", b), g() + } + ) + }, [i, s, r.allItems.length]) + const m = k.useMemo(() => Array.from(new Set(r.allItems.flatMap((g) => g.tags || []))).sort(), [r.allItems]), + f = k.useMemo(() => m, [m]) + return l.jsx(Kz, { + delayDuration: 300, + children: l.jsxs(Kf, { + children: [ + l.jsxs(py, { + className: "flex flex-col sticky top-0 z-10 px-3 py-2", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center px-2", + children: [ + l.jsx("h3", { className: "font-bold m-0", children: o("marketplace:title") }), + l.jsx("div", { + className: "flex gap-2 items-center", + children: l.jsx(Ee, { + variant: "default", + onClick: () => { + e == null || e() + }, + children: o("marketplace:done"), + }), + }), + ], + }), + l.jsx("div", { + className: "w-full mt-2", + children: l.jsxs("div", { + className: "flex relative py-1", + children: [ + l.jsx("div", { + className: "absolute w-full h-[2px] -bottom-[2px] bg-vscode-input-border", + children: l.jsx("div", { + className: be( + "absolute w-1/2 h-[2px] bottom-0 bg-vscode-button-background transition-all duration-300 ease-in-out", + { "left-0": r.activeTab === "mcp", "left-1/2": r.activeTab === "mode" }, + ), + }), + }), + l.jsx("button", { + className: + "flex items-center justify-center gap-2 flex-1 text-sm font-medium rounded-sm transition-colors duration-300 relative z-10 text-vscode-foreground", + onClick: () => + i.transition({ type: "SET_ACTIVE_TAB", payload: { tab: "mcp" } }), + children: "MCP", + }), + l.jsx("button", { + className: + "flex items-center justify-center gap-2 flex-1 text-sm font-medium rounded-sm transition-colors duration-300 relative z-10 text-vscode-foreground", + onClick: () => + i.transition({ type: "SET_ACTIVE_TAB", payload: { tab: "mode" } }), + children: "Modes", + }), + ], + }), + }), + ], + }), + l.jsxs(Vf, { + className: "p-3 pt-2", + children: [ + r.activeTab === "mcp" && + l.jsx(fW, { stateManager: t, allTags: m, filteredTags: f, filterByType: "mcp" }), + r.activeTab === "mode" && + l.jsx(fW, { stateManager: t, allTags: m, filteredTags: f, filterByType: "mode" }), + ], + }), + ], + }), + }) +} +const ben = ({ open: t, onOpenChange: e, modeToDelete: n, onConfirm: o }) => { + const { t: r } = Be() + return l.jsx(jc, { + open: t, + onOpenChange: e, + children: l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { children: r("prompts:deleteMode.title") }), + l.jsx(Dc, { + children: + n && + l.jsxs(l.Fragment, { + children: [ + r("prompts:deleteMode.message", { modeName: n.name }), + n.rulesFolderPath && + l.jsx("div", { + className: "mt-2", + children: r("prompts:deleteMode.rulesFolder", { + folderPath: n.rulesFolderPath, + }), + }), + ], + }), + }), + ], + }), + l.jsxs($c, { + children: [ + l.jsx(Oc, { children: r("prompts:deleteMode.cancel") }), + l.jsx(Nc, { onClick: o, children: r("prompts:deleteMode.confirm") }), + ], + }), + ], + }), + }) + }, + gx = Object.keys(lO).filter((t) => !lO[t].alwaysAvailable) +function Om(t) { + return Array.isArray(t) ? t[0] : t +} +const yen = ({ onDone: t }) => { + var Vn, Go, Me, Et, At, ln, Qe, pn, Xt, Ve + const { t: e } = Be(), + { + customModePrompts: n, + listApiConfigMeta: o, + currentApiConfigName: r, + mode: i, + customInstructions: s, + setCustomInstructions: a, + customModes: c, + } = Qn(), + [d, u] = k.useState(i), + m = k.useMemo(() => qv(c), [c]), + [f, g] = k.useState(!1), + [b, v] = k.useState(""), + [w, _] = k.useState(""), + [y, C] = k.useState(!1), + [S, P] = k.useState(!1), + [R, T] = k.useState(!1), + [E, $] = k.useState(!1), + [j, L] = k.useState(!1), + [W, G] = k.useState(!1), + [U, Z] = k.useState(!1), + [V, X] = k.useState({}), + [H, B] = k.useState(!1), + [M, D] = k.useState(null), + [F, N] = k.useState(!1), + [J, oe] = k.useState(""), + ae = k.useRef(null), + [Q, ee] = k.useState(""), + [q, me] = k.useState(null), + Ce = k.useCallback( + (te, Se) => { + const ot = { ...(n == null ? void 0 : n[te]), ...Se } + ot.roleDefinition === cO(te) && delete ot.roleDefinition, + ot.description === dO(te) && delete ot.description, + ot.whenToUse === uO(te) && delete ot.whenToUse, + re.postMessage({ type: "updatePrompt", promptMode: te, customPrompt: ot }) + }, + [n], + ), + ue = k.useCallback((te, Se) => { + const ze = Se.source || "global" + re.postMessage({ type: "updateCustomMode", slug: te, modeConfig: { ...Se, source: ze } }) + }, []), + Te = k.useCallback((te, Se) => mCt(te, Se), []), + dt = k.useCallback((te) => { + re.postMessage({ type: "mode", text: te }) + }, []), + Y = k.useCallback( + (te) => { + te.slug !== d && (u(te.slug), dt(te.slug), C(!1)) + }, + [d, dt], + ), + Ke = k.useCallback((te) => { + N(te), te || setTimeout(() => oe(""), 100) + }, []) + IC(F, () => N(!1)) + const jt = k.useCallback(() => { + var te + oe(""), (te = ae.current) == null || te.focus() + }, []), + Ye = k.useCallback(() => { + const te = (Se) => Se.slug === d + return (c == null ? void 0 : c.find(te)) || m.find(te) + }, [d, c, m]), + Bt = k.useCallback((te) => { + re.postMessage({ type: "checkRulesDirectory", slug: te }) + }, []) + k.useEffect(() => { + const te = Ye() + te != null && te.slug && V[te.slug] === void 0 && Bt(te.slug) + }, [Ye, Bt, V]), + k.useEffect(() => { + q && q !== d && (me(null), ee("")) + }, [d, q]) + const nn = (te, Se) => (te == null ? void 0 : te[Se]), + [Xe, Tt] = k.useState(""), + [Vt, zt] = k.useState(""), + [_n, ge] = k.useState(""), + [Re, tt] = k.useState(""), + [lt, _t] = k.useState(""), + [Kt, Wn] = k.useState(""), + [on, Eo] = k.useState(gx), + [Fo, Bn] = k.useState("global"), + [Yn, Kn] = k.useState(""), + [Nr, Or] = k.useState(""), + [uo, Jo] = k.useState(""), + [xe, $t] = k.useState(""), + [gn, an] = k.useState(""), + no = k.useCallback(() => { + Tt(""), + zt(""), + ge(""), + Eo(gx), + tt(""), + _t(""), + Wn(""), + Bn("global"), + Kn(""), + Or(""), + Jo(""), + $t(""), + an("") + }, []) + k.useEffect(() => { + R && no() + }, [R, no]) + const vn = k.useCallback((te, Se = 0) => { + const ze = te + .toLowerCase() + .replace(/[^a-z0-9-]+/g, "-") + .replace(/^-+|-+$/g, "") + return Se === 0 ? ze : `${ze}-${Se}` + }, []), + oo = k.useCallback( + (te) => { + Tt(te), zt(vn(te)) + }, + [vn], + ), + Bo = k.useCallback(() => { + Kn(""), Or(""), Jo(""), $t(""), an("") + const te = Fo, + Se = { + slug: Vt, + name: Xe, + description: _n.trim() || void 0, + roleDefinition: Re.trim(), + whenToUse: lt.trim() || void 0, + customInstructions: Kt.trim() || void 0, + groups: on, + source: te, + }, + ze = Fj.safeParse(Se) + if (!ze.success) { + ze.error.errors.forEach((ot) => { + const Ut = ot.path[0], + qt = ot.message + switch (Ut) { + case "name": + Kn(qt) + break + case "slug": + Or(qt) + break + case "description": + Jo(qt) + break + case "roleDefinition": + $t(qt) + break + case "groups": + an(qt) + break + } + }) + return + } + ue(Vt, Se), dt(Vt), T(!1), no() + }, [Xe, Vt, _n, Re, lt, Kt, on, Fo, ue]), + ro = k.useCallback((te, Se) => m.some((ze) => ze.slug === Se || ze.name === te), [m]), + bo = k.useCallback(() => { + const te = "New Custom Mode" + let Se = 0, + ze = te, + ot = vn(ze) + for (; ro(ze, ot); ) Se++, (ze = `${te} ${Se + 1}`), (ot = vn(ze)) + Tt(ze), zt(ot), T(!0) + }, [vn, ro]), + Ln = k.useCallback( + (te, Se, ze) => (ot) => { + var qi + if (!Se) return + const qt = (((qi = ot == null ? void 0 : ot.detail) == null ? void 0 : qi.target) || ot.target) + .checked, + io = (ze == null ? void 0 : ze.groups) || [] + let or + if ((qt ? (or = [...io, te]) : (or = io.filter((rr) => Om(rr) !== te)), ze)) { + const rr = ze.source || "global" + ue(ze.slug, { ...ze, groups: or, source: rr }) + } + }, + [ue], + ) + k.useEffect(() => { + const te = () => { + S && P(!1) + } + return document.addEventListener("click", te), () => document.removeEventListener("click", te) + }, [S]) + const yo = k.useRef(M) + k.useEffect(() => { + yo.current = M + }, [M]), + k.useEffect(() => { + const te = (Se) => { + const ze = Se.data + if (ze.type === "systemPrompt") ze.text && (v(ze.text), _(`System Prompt (${ze.mode} mode)`), g(!0)) + else if (ze.type === "exportModeResult") + L(!1), ze.success || console.error("Failed to export mode:", ze.error) + else if (ze.type === "importModeResult") + G(!1), + Z(!1), + ze.success || + (ze.error !== "cancelled" && console.error("Failed to import mode:", ze.error)) + else if (ze.type === "checkRulesDirectoryResult") X((ot) => ({ ...ot, [ze.slug]: ze.hasContent })) + else if (ze.type === "deleteCustomModeCheck") { + const ot = yo.current + ze.slug && + ot && + ot.slug === ze.slug && + (D({ ...ot, rulesFolderPath: ze.rulesFolderPath }), B(!0)) + } + } + return window.addEventListener("message", te), () => window.removeEventListener("message", te) + }, []) + const ko = (te, Se) => { + const ot = { ...(n == null ? void 0 : n[te]) } + delete ot[Se], re.postMessage({ type: "updatePrompt", promptMode: te, customPrompt: ot }) + } + return l.jsxs(Kf, { + children: [ + l.jsxs(py, { + className: "flex justify-between items-center", + children: [ + l.jsx("h3", { className: "text-vscode-foreground m-0", children: e("prompts:title") }), + l.jsx(Ee, { onClick: t, children: e("prompts:done") }), + ], + }), + l.jsxs(Vf, { + children: [ + l.jsxs("div", { + children: [ + l.jsxs("div", { + onClick: (te) => te.stopPropagation(), + className: "flex justify-between items-center mb-3", + children: [ + l.jsx("h3", { + className: "text-vscode-foreground m-0", + children: e("prompts:modes.title"), + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(We, { + content: e("prompts:modes.createNewMode"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: bo, + children: l.jsx("span", { className: "codicon codicon-add" }), + }), + }), + l.jsxs("div", { + className: "relative inline-block", + children: [ + l.jsx(We, { + content: e("prompts:modes.editModesConfig"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + className: "flex", + onClick: (te) => { + te.preventDefault(), + te.stopPropagation(), + P((Se) => !Se) + }, + onBlur: () => { + setTimeout(() => P(!1), 200) + }, + children: l.jsx("span", { + className: "codicon codicon-json", + }), + }), + }), + S && + l.jsxs("div", { + onClick: (te) => te.stopPropagation(), + onMouseDown: (te) => te.stopPropagation(), + className: + "absolute top-full right-0 w-[200px] mt-1 bg-vscode-editor-background border border-vscode-input-border rounded shadow-md z-[1000]", + children: [ + l.jsx("div", { + className: + "p-2 cursor-pointer text-vscode-foreground text-sm", + onMouseDown: (te) => { + te.preventDefault(), + re.postMessage({ + type: "openCustomModesSettings", + }), + P(!1) + }, + onClick: (te) => te.preventDefault(), + children: e("prompts:modes.editGlobalModes"), + }), + l.jsx("div", { + className: + "p-2 cursor-pointer text-vscode-foreground text-sm border-t border-vscode-input-border", + onMouseDown: (te) => { + te.preventDefault(), + re.postMessage({ + type: "openFile", + text: "./.roomodes", + values: { + create: !0, + content: JSON.stringify( + { customModes: [] }, + null, + 2, + ), + }, + }), + P(!1) + }, + onClick: (te) => te.preventDefault(), + children: e("prompts:modes.editProjectModes"), + }), + ], + }), + ], + }), + l.jsx(We, { + content: e("chat:modeSelector.marketplace"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + window.postMessage( + { + type: "action", + action: "marketplaceButtonClicked", + values: { marketplaceTab: "mode" }, + }, + "*", + ) + }, + children: l.jsx("span", { + className: "codicon codicon-extensions", + }), + }), + }), + ], + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-3", + children: l.jsxs(Dt, { + i18nKey: "prompts:modes.createModeHelpText", + children: [ + l.jsx(Wt, { + href: co("basic-usage/using-modes", "prompts_view_modes"), + style: { display: "inline" }, + }), + l.jsx(Wt, { + href: co("features/custom-modes", "prompts_view_modes"), + style: { display: "inline" }, + }), + ], + }), + }), + l.jsx("div", { + className: "flex items-center gap-1 mb-3", + children: l.jsxs(dl, { + open: F, + onOpenChange: Ke, + children: [ + l.jsx(ul, { + asChild: !0, + children: l.jsxs(Ee, { + variant: "combobox", + role: "combobox", + "aria-expanded": F, + className: "justify-between w-full", + "data-testid": "mode-select-trigger", + children: [ + l.jsx("div", { + className: "truncate", + children: + ((Vn = Ye()) == null ? void 0 : Vn.name) || + e("prompts:modes.selectMode"), + }), + l.jsx(hu, { className: "opacity-50" }), + ], + }), + }), + l.jsx(xa, { + className: "p-0 w-[var(--radix-popover-trigger-width)]", + children: l.jsxs(Mf, { + children: [ + l.jsxs("div", { + className: "relative", + children: [ + l.jsx(Yb, { + ref: ae, + value: J, + onValueChange: oe, + placeholder: e("prompts:modes.selectMode"), + className: "h-9 mr-4", + "data-testid": "mode-search-input", + }), + J.length > 0 && + l.jsx("div", { + className: + "absolute right-2 top-0 bottom-0 flex items-center justify-center", + children: l.jsx(nl, { + className: + "text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer", + onClick: jt, + }), + }), + ], + }), + l.jsxs(jf, { + children: [ + l.jsx(Xb, { + children: + J && + l.jsx("div", { + className: "py-2 px-1 text-sm", + children: e("prompts:modes.noMatchFound"), + }), + }), + l.jsx(Ef, { + children: m + .filter((te) => + J + ? te.name + .toLowerCase() + .includes(J.toLowerCase()) + : !0, + ) + .map((te) => + l.jsx( + tu, + { + value: te.slug, + onSelect: () => { + Y(te), N(!1) + }, + "data-testid": `mode-option-${te.slug}`, + children: l.jsxs("div", { + className: + "flex items-center justify-between w-full", + children: [ + l.jsx("span", { + style: { + whiteSpace: + "nowrap", + overflow: "hidden", + textOverflow: + "ellipsis", + flex: 2, + minWidth: 0, + }, + children: te.name, + }), + l.jsx("span", { + className: + "text-foreground", + style: { + whiteSpace: + "nowrap", + overflow: "hidden", + textOverflow: + "ellipsis", + direction: "rtl", + textAlign: "right", + flex: 1, + minWidth: 0, + marginLeft: "0.5em", + }, + children: te.slug, + }), + ], + }), + }, + te.slug, + ), + ), + }), + ], + }), + ], + }), + }), + ], + }), + }), + l.jsxs("div", { + className: "mb-3", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:apiConfiguration.title"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: e("prompts:apiConfiguration.select"), + }), + l.jsx("div", { + className: "mb-2", + children: l.jsxs(Qr, { + value: r, + onValueChange: (te) => { + re.postMessage({ type: "loadApiConfiguration", text: te }) + }, + children: [ + l.jsx(Yr, { + className: "w-full", + children: l.jsx(Zr, { + placeholder: e("settings:common.select"), + }), + }), + l.jsx(Xr, { + children: (o || []).map((te) => + l.jsx(qn, { value: te.name, children: te.name }, te.id), + ), + }), + ], + }), + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "mb-5", + children: [ + d && + Te(d, c) && + l.jsx("div", { + className: "flex gap-3 mb-4", + children: l.jsxs("div", { + className: "flex-1", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.name.label"), + }), + l.jsxs("div", { + className: "flex gap-2", + children: [ + l.jsx(ha, { + type: "text", + value: q === d ? Q : (nn(Te(d, c), "name") ?? ""), + onFocus: () => { + const te = Te(d, c) + te && (me(d), ee(te.name)) + }, + onChange: (te) => { + const Se = te.target.value + ee(Se) + }, + onBlur: () => { + const te = Te(d, c) + if (te) { + const Se = Q.trim() + Se + ? ue(d, { + ...te, + name: Se, + source: te.source || "global", + }) + : ee(te.name) + } + me(null) + }, + className: "w-full", + }), + l.jsx(We, { + content: e("prompts:createModeDialog.deleteMode"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + const te = Te(d, c) + te && + (D({ + slug: te.slug, + name: te.name, + source: te.source || "global", + }), + re.postMessage({ + type: "deleteCustomMode", + slug: te.slug, + checkOnly: !0, + })) + }, + children: l.jsx("span", { + className: "codicon codicon-trash", + }), + }), + }), + ], + }), + ], + }), + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("div", { + className: "font-bold", + children: e("prompts:roleDefinition.title"), + }), + !Te(d, c) && + l.jsx(We, { + content: e("prompts:roleDefinition.resetToDefault"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + const te = Ye() + te != null && te.slug && ko(te.slug, "roleDefinition") + }, + "data-testid": "role-definition-reset", + children: l.jsx("span", { + className: "codicon codicon-discard", + }), + }), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: e("prompts:roleDefinition.description"), + }), + l.jsx(mc, { + resize: "vertical", + value: (() => { + const te = Te(d, c), + Se = n == null ? void 0 : n[d] + return ( + (te == null ? void 0 : te.roleDefinition) ?? + (Se == null ? void 0 : Se.roleDefinition) ?? + cO(d) + ) + })(), + onChange: (te) => { + var ot, Ut + const Se = + ((Ut = + (ot = te == null ? void 0 : te.detail) == null + ? void 0 + : ot.target) == null + ? void 0 + : Ut.value) || te.target.value, + ze = Te(d, c) + ze + ? ue(d, { + ...ze, + roleDefinition: Se.trim() || "", + source: ze.source || "global", + }) + : Ce(d, { roleDefinition: Se.trim() || void 0 }) + }, + className: "w-full", + rows: 5, + "data-testid": `${((Go = Ye()) == null ? void 0 : Go.slug) || "code"}-prompt-textarea`, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("div", { + className: "font-bold", + children: e("prompts:description.title"), + }), + !Te(d, c) && + l.jsx(We, { + content: e("prompts:description.resetToDefault"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + const te = Ye() + te != null && te.slug && ko(te.slug, "description") + }, + "data-testid": "description-reset", + children: l.jsx("span", { + className: "codicon codicon-discard", + }), + }), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: e("prompts:description.description"), + }), + l.jsx(ct, { + value: (() => { + const te = Te(d, c), + Se = n == null ? void 0 : n[d] + return ( + (te == null ? void 0 : te.description) ?? + (Se == null ? void 0 : Se.description) ?? + dO(d) + ) + })(), + onChange: (te) => { + var ot, Ut + const Se = + ((Ut = + (ot = te == null ? void 0 : te.detail) == null + ? void 0 + : ot.target) == null + ? void 0 + : Ut.value) || te.target.value, + ze = Te(d, c) + ze + ? ue(d, { + ...ze, + description: Se.trim() || void 0, + source: ze.source || "global", + }) + : Ce(d, { description: Se.trim() || void 0 }) + }, + className: "w-full", + "data-testid": `${((Me = Ye()) == null ? void 0 : Me.slug) || "code"}-description-textfield`, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("div", { + className: "font-bold", + children: e("prompts:whenToUse.title"), + }), + !Te(d, c) && + l.jsx(We, { + content: e("prompts:whenToUse.resetToDefault"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + const te = Ye() + te != null && te.slug && ko(te.slug, "whenToUse") + }, + "data-testid": "when-to-use-reset", + children: l.jsx("span", { + className: "codicon codicon-discard", + }), + }), + }), + ], + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: e("prompts:whenToUse.description"), + }), + l.jsx(mc, { + resize: "vertical", + value: (() => { + const te = Te(d, c), + Se = n == null ? void 0 : n[d] + return ( + (te == null ? void 0 : te.whenToUse) ?? + (Se == null ? void 0 : Se.whenToUse) ?? + uO(d) + ) + })(), + onChange: (te) => { + var ot, Ut + const Se = + ((Ut = + (ot = te == null ? void 0 : te.detail) == null + ? void 0 + : ot.target) == null + ? void 0 + : Ut.value) || te.target.value, + ze = Te(d, c) + ze + ? ue(d, { + ...ze, + whenToUse: Se.trim() || void 0, + source: ze.source || "global", + }) + : Ce(d, { whenToUse: Se.trim() || void 0 }) + }, + className: "w-full", + rows: 4, + "data-testid": `${((Et = Ye()) == null ? void 0 : Et.slug) || "code"}-when-to-use-textarea`, + }), + ], + }), + l.jsx(l.Fragment, { + children: l.jsxs("div", { + className: "mb-4", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("div", { + className: "font-bold", + children: e("prompts:tools.title"), + }), + Te(d, c) && + l.jsx(We, { + content: e( + y + ? "prompts:tools.doneEditing" + : "prompts:tools.editTools", + ), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => C(!y), + children: l.jsx("span", { + className: `codicon codicon-${y ? "check" : "edit"}`, + }), + }), + }), + ], + }), + !Te(d, c) && + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: e("prompts:tools.builtInModesText"), + }), + y && Te(d, c) + ? l.jsx("div", { + className: + "grid grid-cols-[repeat(auto-fill,minmax(200px,1fr))] gap-2", + children: gx.map((te) => { + var qt, io + const Se = Ye(), + ze = Te(d, c), + ot = ze, + Ut = ze + ? (qt = ot == null ? void 0 : ot.groups) == null + ? void 0 + : qt.some((or) => Om(or) === te) + : (io = Se == null ? void 0 : Se.groups) == null + ? void 0 + : io.some((or) => Om(or) === te) + return l.jsxs( + En, + { + checked: Ut, + onChange: Ln(te, !!ze, ot), + disabled: !ze, + children: [ + e(`prompts:tools.toolNames.${te}`), + te === "edit" && + l.jsxs("div", { + className: + "text-xs text-vscode-descriptionForeground mt-0.5", + children: [ + e("prompts:tools.allowedFiles"), + " ", + (() => { + var rr + const or = Ye(), + qi = + (rr = + or == null + ? void 0 + : or.groups) == + null + ? void 0 + : rr.find((Hc) => { + var Hs + return ( + Array.isArray( + Hc, + ) && + Hc[0] === + "edit" && + ((Hs = + Hc[1]) == + null + ? void 0 + : Hs.fileRegex) + ) + }) + return Array.isArray(qi) + ? qi[1].description || + `/${qi[1].fileRegex}/` + : e("prompts:allFiles") + })(), + ], + }), + ], + }, + te, + ) + }), + }) + : l.jsx("div", { + className: + "text-sm text-vscode-foreground mb-2 leading-relaxed", + children: (() => { + const te = Ye(), + Se = (te == null ? void 0 : te.groups) || [] + return Se.length === 0 + ? e("prompts:tools.noTools") + : Se.map((ze) => { + var qt + const ot = Om(ze), + Ut = e(`prompts:tools.toolNames.${ot}`) + if ( + Array.isArray(ze) && + (qt = ze[1]) != null && + qt.fileRegex + ) { + const io = + ze[1].description || + `/${ze[1].fileRegex}/` + return `${Ut} (${io})` + } + return Ut + }).join(", ") + })(), + }), + ], + }), + }), + l.jsxs("div", { + className: "mb-2", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-1", + children: [ + l.jsx("div", { + className: "font-bold", + children: e("prompts:customInstructions.title"), + }), + !Te(d, c) && + l.jsx(We, { + content: e("prompts:customInstructions.resetToDefault"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + const te = Ye() + te != null && + te.slug && + ko(te.slug, "customInstructions") + }, + "data-testid": "custom-instructions-reset", + children: l.jsx("span", { + className: "codicon codicon-discard", + }), + }), + }), + ], + }), + l.jsx("div", { + className: "text-[13px] text-vscode-descriptionForeground mb-2", + children: e("prompts:customInstructions.description", { + modeName: ((At = Ye()) == null ? void 0 : At.name) || "Code", + }), + }), + l.jsx(mc, { + resize: "vertical", + value: (() => { + const te = Te(d, c), + Se = n == null ? void 0 : n[d] + return ( + (te == null ? void 0 : te.customInstructions) ?? + (Se == null ? void 0 : Se.customInstructions) ?? + fCt(i, c) + ) + })(), + onChange: (te) => { + var ot, Ut + const Se = + ((Ut = + (ot = te == null ? void 0 : te.detail) == null + ? void 0 + : ot.target) == null + ? void 0 + : Ut.value) || te.target.value, + ze = Te(d, c) + if (ze) + ue(d, { + ...ze, + customInstructions: Se.trim() || void 0, + source: ze.source || "global", + }) + else { + const qt = n == null ? void 0 : n[d] + Ce(d, { ...qt, customInstructions: Se.trim() }) + } + }, + rows: 10, + className: "w-full", + "data-testid": `${((ln = Ye()) == null ? void 0 : ln.slug) || "code"}-custom-instructions-textarea`, + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground mt-1.5", + children: l.jsx(Dt, { + i18nKey: "prompts:customInstructions.loadFromFile", + values: { + mode: ((Qe = Ye()) == null ? void 0 : Qe.name) || "Code", + slug: ((pn = Ye()) == null ? void 0 : pn.slug) || "code", + }, + components: { + span: l.jsx("span", { + className: + "text-vscode-textLink-foreground cursor-pointer underline", + onClick: () => { + const te = Ye() + te && + re.postMessage({ + type: "openFile", + text: `./.roo/rules-${te.slug}/rules.md`, + values: { create: !0, content: "" }, + }) + }, + }), + }, + }), + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "pb-4 border-b border-vscode-input-border", + children: [ + l.jsxs("div", { + className: "flex gap-2 mb-4", + children: [ + l.jsx(Ee, { + variant: "default", + onClick: () => { + const te = Ye() + te && re.postMessage({ type: "getSystemPrompt", mode: te.slug }) + }, + "data-testid": "preview-prompt-button", + children: e("prompts:systemPrompt.preview"), + }), + l.jsx(We, { + content: e("prompts:systemPrompt.copy"), + children: l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => { + const te = Ye() + te && re.postMessage({ type: "copySystemPrompt", mode: te.slug }) + }, + "data-testid": "copy-prompt-button", + children: l.jsx("span", { className: "codicon codicon-copy" }), + }), + }), + ], + }), + l.jsxs("div", { + className: "flex items-center gap-2", + children: [ + Ye() && + l.jsxs(Ee, { + variant: "default", + onClick: () => { + const te = Ye() + te != null && + te.slug && + !j && + (L(!0), re.postMessage({ type: "exportMode", slug: te.slug })) + }, + disabled: j, + title: e("prompts:exportMode.title"), + "data-testid": "export-mode-button", + children: [ + l.jsx(Brt, { className: "h-4 w-4" }), + e(j ? "prompts:exportMode.exporting" : "prompts:exportMode.title"), + ], + }), + l.jsxs(Ee, { + variant: "default", + onClick: () => Z(!0), + disabled: W, + title: e("prompts:modes.importMode"), + "data-testid": "import-mode-button", + children: [ + l.jsx(Mrt, { className: "h-4 w-4" }), + e(W ? "prompts:importMode.importing" : "prompts:modes.importMode"), + ], + }), + ], + }), + l.jsxs("div", { + className: "mt-4", + children: [ + l.jsxs("button", { + onClick: () => $(!E), + className: + "flex items-center text-xs text-vscode-foreground hover:text-vscode-textLink-foreground focus:outline-none", + "aria-expanded": E, + children: [ + l.jsx("span", { + className: `codicon codicon-${E ? "chevron-down" : "chevron-right"} mr-1`, + }), + l.jsx("span", { children: e("prompts:advanced.title") }), + ], + }), + E && + l.jsx("div", { + className: "mt-2 ml-5 space-y-4", + children: l.jsxs("div", { + children: [ + l.jsx("h4", { + className: + "text-xs font-semibold text-vscode-foreground mb-2", + children: "Override System Prompt", + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground", + children: l.jsx(Dt, { + i18nKey: "prompts:advancedSystemPrompt.description", + values: { + slug: + ((Xt = Ye()) == null ? void 0 : Xt.slug) || + "code", + }, + components: { + span: l.jsx("span", { + className: + "text-vscode-textLink-foreground cursor-pointer underline", + onClick: () => { + const te = Ye() + te && + re.postMessage({ + type: "openFile", + text: `./.roo/system-prompt-${te.slug}`, + values: { create: !0, content: "" }, + }) + }, + }), + 1: l.jsx(Wt, { + href: co( + "features/footgun-prompting", + "prompts_advanced_system_prompt", + ), + style: { display: "inline" }, + }), + 2: l.jsx("strong", {}), + }, + }), + }), + ], + }), + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "pb-5", + children: [ + l.jsx("h3", { + className: "text-vscode-foreground mb-3", + children: e("prompts:globalCustomInstructions.title"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: l.jsx(Dt, { + i18nKey: "prompts:globalCustomInstructions.description", + children: l.jsx(Wt, { + href: co( + "features/custom-instructions#global-custom-instructions", + "prompts_global_custom_instructions", + ), + style: { display: "inline" }, + }), + }), + }), + l.jsx(mc, { + resize: "vertical", + value: s || "", + onChange: (te) => { + var ze, ot + const Se = + ((ot = + (ze = te == null ? void 0 : te.detail) == null ? void 0 : ze.target) == + null + ? void 0 + : ot.value) || te.target.value + a(Se || void 0), + re.postMessage({ type: "customInstructions", text: Se.trim() || void 0 }) + }, + rows: 4, + className: "w-full", + "data-testid": "global-custom-instructions-textarea", + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground mt-1.5", + children: l.jsx(Dt, { + i18nKey: "prompts:globalCustomInstructions.loadFromFile", + components: { + span: l.jsx("span", { + className: "text-vscode-textLink-foreground cursor-pointer underline", + onClick: () => + re.postMessage({ + type: "openFile", + text: "./.roo/rules/rules.md", + values: { create: !0, content: "" }, + }), + }), + }, + }), + }), + ], + }), + ], + }), + R && + l.jsx("div", { + className: "fixed inset-0 flex justify-end bg-black/50 z-[1000]", + children: l.jsxs("div", { + className: + "w-[calc(100vw-100px)] h-full bg-vscode-editor-background shadow-md flex flex-col relative", + children: [ + l.jsxs("div", { + className: "flex-1 p-5 overflow-y-auto min-h-0", + children: [ + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => T(!1), + className: "absolute top-5 right-5", + children: l.jsx("span", { className: "codicon codicon-close" }), + }), + l.jsx("h2", { + className: "mb-4", + children: e("prompts:createModeDialog.title"), + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.name.label"), + }), + l.jsx(ha, { + type: "text", + value: Xe, + onChange: (te) => { + oo(te.target.value) + }, + className: "w-full", + }), + Yn && + l.jsx("div", { + className: "text-xs text-vscode-errorForeground mt-1", + children: Yn, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.slug.label"), + }), + l.jsx(ha, { + type: "text", + value: Vt, + onChange: (te) => { + zt(te.target.value) + }, + className: "w-full", + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground mt-1", + children: e("prompts:createModeDialog.slug.description"), + }), + Nr && + l.jsx("div", { + className: "text-xs text-vscode-errorForeground mt-1", + children: Nr, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.saveLocation.label"), + }), + l.jsx("div", { + className: "text-sm text-vscode-descriptionForeground mb-2", + children: e("prompts:createModeDialog.saveLocation.description"), + }), + l.jsxs(Kw, { + value: Fo, + onChange: (te) => { + var ze + const Se = + ((ze = te == null ? void 0 : te.detail) == null + ? void 0 + : ze.target) || te.target + Bn(Se.value) + }, + children: [ + l.jsxs(rb, { + value: "global", + children: [ + e("prompts:createModeDialog.saveLocation.global.label"), + l.jsx("div", { + className: + "text-xs text-vscode-descriptionForeground mt-0.5", + children: e( + "prompts:createModeDialog.saveLocation.global.description", + ), + }), + ], + }), + l.jsxs(rb, { + value: "project", + children: [ + e( + "prompts:createModeDialog.saveLocation.project.label", + ), + l.jsx("div", { + className: + "text-xs text-vscode-descriptionForeground mt-0.5", + children: e( + "prompts:createModeDialog.saveLocation.project.description", + ), + }), + ], + }), + ], + }), + ], + }), + l.jsxs("div", { + style: { marginBottom: "16px" }, + children: [ + l.jsx("div", { + style: { fontWeight: "bold", marginBottom: "4px" }, + children: e("prompts:createModeDialog.roleDefinition.label"), + }), + l.jsx("div", { + style: { + fontSize: "13px", + color: "var(--vscode-descriptionForeground)", + marginBottom: "8px", + }, + children: e("prompts:createModeDialog.roleDefinition.description"), + }), + l.jsx(mc, { + resize: "vertical", + value: Re, + onChange: (te) => { + tt(te.target.value) + }, + rows: 4, + className: "w-full", + }), + xe && + l.jsx("div", { + className: "text-xs text-vscode-errorForeground mt-1", + children: xe, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.description.label"), + }), + l.jsx("div", { + className: "text-[13px] text-vscode-descriptionForeground mb-2", + children: e("prompts:createModeDialog.description.description"), + }), + l.jsx(ct, { + value: _n, + onChange: (te) => { + ge(te.target.value) + }, + className: "w-full", + }), + uo && + l.jsx("div", { + className: "text-xs text-vscode-errorForeground mt-1", + children: uo, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.whenToUse.label"), + }), + l.jsx("div", { + className: "text-[13px] text-vscode-descriptionForeground mb-2", + children: e("prompts:createModeDialog.whenToUse.description"), + }), + l.jsx(mc, { + resize: "vertical", + value: lt, + onChange: (te) => { + _t(te.target.value) + }, + rows: 3, + className: "w-full", + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.tools.label"), + }), + l.jsx("div", { + className: "text-[13px] text-vscode-descriptionForeground mb-2", + children: e("prompts:createModeDialog.tools.description"), + }), + l.jsx("div", { + className: + "grid grid-cols-[repeat(auto-fill,minmax(200px,1fr))] gap-2", + children: gx.map((te) => + l.jsx( + En, + { + checked: on.some((Se) => Om(Se) === te), + onChange: (Se) => { + var Ut + const ot = ( + ((Ut = Se == null ? void 0 : Se.detail) == null + ? void 0 + : Ut.target) || Se.target + ).checked + Eo( + ot + ? [...on, te] + : on.filter((qt) => Om(qt) !== te), + ) + }, + children: e(`prompts:tools.toolNames.${te}`), + }, + te, + ), + ), + }), + gn && + l.jsx("div", { + className: "text-xs text-vscode-errorForeground mt-1", + children: gn, + }), + ], + }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("div", { + className: "font-bold mb-1", + children: e("prompts:createModeDialog.customInstructions.label"), + }), + l.jsx("div", { + className: "text-[13px] text-vscode-descriptionForeground mb-2", + children: e( + "prompts:createModeDialog.customInstructions.description", + ), + }), + l.jsx(mc, { + resize: "vertical", + value: Kt, + onChange: (te) => { + Wn(te.target.value) + }, + rows: 4, + className: "w-full", + }), + ], + }), + ], + }), + l.jsxs("div", { + className: + "flex justify-end p-3 px-5 gap-2 border-t border-vscode-editor-lineHighlightBorder bg-vscode-editor-background", + children: [ + l.jsx(Ee, { + variant: "secondary", + onClick: () => T(!1), + children: e("prompts:createModeDialog.buttons.cancel"), + }), + l.jsx(Ee, { + variant: "default", + onClick: Bo, + children: e("prompts:createModeDialog.buttons.create"), + }), + ], + }), + ], + }), + }), + f && + l.jsx("div", { + className: "fixed inset-0 flex justify-end bg-black/50 z-[1000]", + children: l.jsxs("div", { + className: + "w-[calc(100vw-100px)] h-full bg-vscode-editor-background shadow-md flex flex-col relative", + children: [ + l.jsxs("div", { + className: "flex-1 p-5 overflow-y-auto min-h-0", + children: [ + l.jsx(Ee, { + variant: "ghost", + size: "icon", + onClick: () => g(!1), + className: "absolute top-5 right-5", + children: l.jsx("span", { className: "codicon codicon-close" }), + }), + l.jsx("h2", { + className: "mb-4", + children: + w || + e("prompts:systemPrompt.title", { + modeName: ((Ve = Ye()) == null ? void 0 : Ve.name) || "Code", + }), + }), + l.jsx("pre", { + className: + "p-2 whitespace-pre-wrap break-words font-mono text-vscode-editor-font-size text-vscode-editor-foreground bg-vscode-editor-background border border-vscode-editor-lineHighlightBorder rounded overflow-y-auto", + children: b, + }), + ], + }), + l.jsx("div", { + className: + "flex justify-end p-3 px-5 border-t border-vscode-editor-lineHighlightBorder bg-vscode-editor-background", + children: l.jsx(Ee, { + variant: "secondary", + onClick: () => g(!1), + children: e("prompts:createModeDialog.close"), + }), + }), + ], + }), + }), + U && + l.jsx("div", { + className: "fixed inset-0 flex items-center justify-center bg-black/50 z-[1000]", + children: l.jsxs("div", { + className: + "bg-vscode-editor-background border border-vscode-editor-lineHighlightBorder rounded-lg shadow-lg p-6 max-w-md w-full", + children: [ + l.jsx("h3", { + className: "text-lg font-semibold mb-4", + children: e("prompts:modes.importMode"), + }), + l.jsx("p", { + className: "text-sm text-vscode-descriptionForeground mb-4", + children: e("prompts:importMode.selectLevel"), + }), + l.jsxs("div", { + className: "space-y-3 mb-6", + children: [ + l.jsxs("label", { + className: "flex items-start gap-2 cursor-pointer", + children: [ + l.jsx("input", { + type: "radio", + name: "importLevel", + value: "project", + className: "mt-1", + defaultChecked: !0, + }), + l.jsxs("div", { + children: [ + l.jsx("div", { + className: "font-medium", + children: e("prompts:importMode.project.label"), + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground", + children: e("prompts:importMode.project.description"), + }), + ], + }), + ], + }), + l.jsxs("label", { + className: "flex items-start gap-2 cursor-pointer", + children: [ + l.jsx("input", { + type: "radio", + name: "importLevel", + value: "global", + className: "mt-1", + }), + l.jsxs("div", { + children: [ + l.jsx("div", { + className: "font-medium", + children: e("prompts:importMode.global.label"), + }), + l.jsx("div", { + className: "text-xs text-vscode-descriptionForeground", + children: e("prompts:importMode.global.description"), + }), + ], + }), + ], + }), + ], + }), + l.jsxs("div", { + className: "flex justify-end gap-2", + children: [ + l.jsx(Ee, { + variant: "secondary", + onClick: () => Z(!1), + children: e("prompts:createModeDialog.buttons.cancel"), + }), + l.jsx(Ee, { + variant: "default", + onClick: () => { + var te + if (!W) { + const Se = + (te = document.querySelector( + 'input[name="importLevel"]:checked', + )) == null + ? void 0 + : te.value + G(!0), + re.postMessage({ type: "importMode", source: Se || "project" }) + } + }, + disabled: W, + children: e( + W ? "prompts:importMode.importing" : "prompts:importMode.import", + ), + }), + ], + }), + ], + }), + }), + l.jsx(ben, { + open: H, + onOpenChange: B, + modeToDelete: M, + onConfirm: () => { + M && (re.postMessage({ type: "deleteCustomMode", slug: M.slug }), B(!1), D(null)) + }, + }), + ], + }) + }, + ken = ({ isOpen: t, onClose: e, requestId: n, promptText: o, onSubmit: r, onCancel: i }) => { + const { t: s } = Be(), + [a, c] = k.useState(""), + { copy: d } = ylt(), + [u, m] = k.useState(!1) + k.useEffect(() => { + t && (c(""), m(!1)) + }, [t]) + const f = () => { + d(o), + m(!0), + setTimeout(() => { + m(!1) + }, 2e3) + }, + g = (v) => { + v.preventDefault(), a.trim() && (r(n, a), e()) + }, + b = () => { + i(n), e() + } + return l.jsx(Rf, { + open: t, + onOpenChange: (v) => !v && b(), + children: l.jsxs(Tf, { + className: "sm:max-w-[600px] overflow-y-auto max-h-[80vh]", + children: [ + l.jsxs(Zb, { + children: [ + l.jsx(If, { children: s("humanRelay:dialogTitle") }), + l.jsx(kC, { children: s("humanRelay:dialogDescription") }), + ], + }), + l.jsxs("div", { + className: "grid gap-6 py-6", + children: [ + l.jsxs("div", { + className: "relative", + children: [ + l.jsx(NM, { + className: "min-h-[200px] font-mono text-sm p-4 pr-12 whitespace-pre-wrap", + value: o, + readOnly: !0, + }), + l.jsx(Ee, { + variant: "ghost", + size: "icon", + className: "absolute top-2 right-2", + onClick: f, + children: u + ? l.jsx(Wl, { className: "h-4 w-4" }) + : l.jsx(Irt, { className: "h-4 w-4" }), + }), + ], + }), + u && + l.jsx("div", { + className: "text-sm text-emerald-500 font-medium", + children: s("humanRelay:copiedToClipboard"), + }), + l.jsxs("div", { + children: [ + l.jsx("div", { + className: "mb-2 font-medium", + children: s("humanRelay:aiResponse.label"), + }), + l.jsx(NM, { + placeholder: s("humanRelay:aiResponse.placeholder"), + value: a, + onChange: (v) => c(v.target.value), + className: "min-h-[150px]", + }), + ], + }), + ], + }), + l.jsxs(hz, { + children: [ + l.jsxs(Ee, { + variant: "outline", + onClick: b, + className: "gap-1", + children: [l.jsx(nl, { className: "h-4 w-4" }), s("humanRelay:actions.cancel")], + }), + l.jsxs(Ee, { + onClick: g, + disabled: !a.trim(), + className: "gap-1", + children: [l.jsx(Wl, { className: "h-4 w-4" }), s("humanRelay:actions.submit")], + }), + ], + }), + ], + }), + }) + }, + spt = ({ open: t, onOpenChange: e, onConfirm: n, type: o }) => { + const { t: r } = Be(), + i = o === "edit", + s = r(i ? "common:confirmation.editMessage" : "common:confirmation.deleteMessage"), + a = r(i ? "common:confirmation.editWarning" : "common:confirmation.deleteWarning") + return l.jsx(jc, { + open: t, + onOpenChange: e, + children: l.jsxs(Ec, { + children: [ + l.jsxs(zc, { + children: [ + l.jsx(Lc, { className: "text-lg", children: s }), + l.jsx(Dc, { className: "text-base", children: a }), + ], + }), + l.jsxs($c, { + className: "flex-col gap-2", + children: [ + l.jsx(Oc, { + className: + "bg-vscode-button-secondaryBackground hover:bg-vscode-button-secondaryHoverBackground text-vscode-button-secondaryForeground border-vscode-button-border", + children: r("common:answers.cancel"), + }), + l.jsx(Nc, { + onClick: n, + className: + "bg-vscode-button-background hover:bg-vscode-button-hoverBackground text-vscode-button-foreground border-vscode-button-border", + children: r("common:confirmation.proceed"), + }), + ], + }), + ], + }), + }) + }, + xen = (t) => l.jsx(spt, { ...t, type: "edit" }), + wen = (t) => l.jsx(spt, { ...t, type: "delete" }) +class _en extends k.Component { + constructor(e) { + super(e), (this.state = {}) + } + static getDerivedStateFromError(e) { + let n = "" + return e instanceof Error ? (n = e.stack ?? e.message) : (n = `${e}`), { error: n, timestamp: Date.now() } + } + async componentDidCatch(e, n) { + const o = n.componentStack || "", + r = await Lw(e, o) + os.capture("error_boundary_caught_error", { + error: r.message, + stack: r.sourceMappedStack || r.stack, + componentStack: r.sourceMappedComponentStack || o, + timestamp: Date.now(), + errorType: r.name, + }), + this.setState({ error: r.sourceMappedStack || r.stack, componentStack: r.sourceMappedComponentStack || o }) + } + render() { + const { t: e } = this.props + if (!this.state.error) return this.props.children + const n = this.state.error, + o = this.state.componentStack + return l.jsxs("div", { + children: [ + l.jsxs("h2", { + className: "text-lg font-bold mt-0 mb-2", + children: [e("errorBoundary.title"), " (v", "3.25.6", ")"], + }), + l.jsxs("p", { + className: "mb-4", + children: [ + e("errorBoundary.reportText"), + " ", + l.jsx("a", { + href: "https://github.com/RooCodeInc/Roo-Code/issues", + target: "_blank", + rel: "noreferrer", + children: e("errorBoundary.githubText"), + }), + ], + }), + l.jsx("p", { className: "mb-2", children: e("errorBoundary.copyInstructions") }), + l.jsxs("div", { + className: "mb-4", + children: [ + l.jsx("h3", { className: "text-md font-bold mb-1", children: e("errorBoundary.errorStack") }), + l.jsx("pre", { className: "p-2 border rounded text-sm overflow-auto", children: n }), + ], + }), + o && + l.jsxs("div", { + children: [ + l.jsx("h3", { + className: "text-md font-bold mb-1", + children: e("errorBoundary.componentStack"), + }), + l.jsx("pre", { className: "p-2 border rounded text-sm overflow-auto", children: o }), + ], + }), + ], + }) + } +} +const Cen = Tft("common")(_en), + Sen = ({ userInfo: t, isAuthenticated: e, cloudApiUrl: n, onDone: o }) => { + var g, b + const { t: r } = Be(), + { remoteControlEnabled: i, setRemoteControlEnabled: s } = Qn(), + a = k.useRef(!1), + c = window.IMAGES_BASE_URI + "/roo-logo.svg" + k.useEffect(() => { + e ? (a.current = !0) : a.current && !e && (os.capture(Ls.ACCOUNT_LOGOUT_SUCCESS), (a.current = !1)) + }, [e]) + const d = () => { + os.capture(Ls.ACCOUNT_CONNECT_CLICKED), re.postMessage({ type: "rooCloudSignIn" }) + }, + u = () => { + os.capture(Ls.ACCOUNT_LOGOUT_CLICKED), re.postMessage({ type: "rooCloudSignOut" }) + }, + m = () => { + os.capture(Ls.ACCOUNT_CONNECT_CLICKED) + const v = n || "https://app.roocode.com" + re.postMessage({ type: "openExternal", url: v }) + }, + f = () => { + const v = !i + s(v), re.postMessage({ type: "remoteControlEnabled", bool: v }) + } + return l.jsxs("div", { + className: "flex flex-col h-full", + children: [ + l.jsxs("div", { + className: "flex justify-between items-center mb-6", + children: [ + l.jsx("h1", { + className: "text-xl font-medium text-vscode-foreground", + children: r("account:title"), + }), + l.jsx(Mo, { appearance: "secondary", onClick: o, children: r("settings:common.done") }), + ], + }), + e + ? l.jsxs(l.Fragment, { + children: [ + t && + l.jsxs("div", { + className: "flex flex-col items-center mb-6", + children: [ + l.jsx("div", { + className: "w-16 h-16 mb-3 rounded-full overflow-hidden", + children: + t != null && t.picture + ? l.jsx("img", { + src: t.picture, + alt: r("account:profilePicture"), + className: "w-full h-full object-cover", + }) + : l.jsx("div", { + className: + "w-full h-full flex items-center justify-center bg-vscode-button-background text-vscode-button-foreground text-xl", + children: + ((g = t == null ? void 0 : t.name) == null + ? void 0 + : g.charAt(0)) || + ((b = t == null ? void 0 : t.email) == null + ? void 0 + : b.charAt(0)) || + "?", + }), + }), + t.name && + l.jsx("h2", { + className: "text-lg font-medium text-vscode-foreground my-0", + children: t.name, + }), + (t == null ? void 0 : t.email) && + l.jsx("p", { + className: "text-sm text-vscode-descriptionForeground my-0", + children: t == null ? void 0 : t.email, + }), + (t == null ? void 0 : t.organizationName) && + l.jsxs("div", { + className: + "flex items-center gap-2 text-sm text-vscode-descriptionForeground mt-2", + children: [ + t.organizationImageUrl && + l.jsx("img", { + src: t.organizationImageUrl, + alt: t.organizationName, + className: "w-4 h-4 rounded object-cover", + }), + l.jsx("span", { children: t.organizationName }), + ], + }), + ], + }), + (t == null ? void 0 : t.extensionBridgeEnabled) && + l.jsxs("div", { + className: "border-t border-vscode-widget-border pt-4 mt-4", + children: [ + l.jsxs("div", { + className: "flex items-center gap-3 mb-2", + children: [ + l.jsx(Hz, { + checked: i, + onChange: f, + size: "medium", + "aria-label": r("account:remoteControl"), + "data-testid": "remote-control-toggle", + }), + l.jsx("span", { + className: "font-medium text-vscode-foreground", + children: r("account:remoteControl"), + }), + ], + }), + l.jsx("div", { + className: "text-vscode-descriptionForeground text-sm mt-1 mb-4 ml-8", + children: r("account:remoteControlDescription"), + }), + l.jsx("hr", { className: "border-vscode-widget-border mb-4" }), + ], + }), + l.jsxs("div", { + className: "flex flex-col gap-2 mt-4", + children: [ + l.jsx(Mo, { + appearance: "secondary", + onClick: m, + className: "w-full", + children: r("account:visitCloudWebsite"), + }), + l.jsx(Mo, { + appearance: "secondary", + onClick: u, + className: "w-full", + children: r("account:logOut"), + }), + ], + }), + ], + }) + : l.jsxs(l.Fragment, { + children: [ + l.jsx("div", { + className: "flex flex-col items-center mb-1 text-center", + children: l.jsx("div", { + className: "w-16 h-16 mb-1 flex items-center justify-center", + children: l.jsx("div", { + className: "w-12 h-12 bg-vscode-foreground", + style: { + WebkitMaskImage: `url('${c}')`, + WebkitMaskRepeat: "no-repeat", + WebkitMaskSize: "contain", + maskImage: `url('${c}')`, + maskRepeat: "no-repeat", + maskSize: "contain", + }, + children: l.jsx("img", { + src: c, + alt: "Roo logo", + className: "w-12 h-12 opacity-0", + }), + }), + }), + }), + l.jsxs("div", { + className: "flex flex-col mb-6 text-center", + children: [ + l.jsx("h2", { + className: "text-xl font-bold text-vscode-foreground mb-2", + children: r("account:cloudBenefitsTitle"), + }), + l.jsxs("ul", { + className: "text-vscode-descriptionForeground space-y-3 mx-auto px-8", + children: [ + l.jsxs("li", { + className: "flex items-start text-left gap-4", + children: [ + l.jsx(q$t, { size: "16", className: "shrink-0" }), + l.jsx("span", { children: r("account:cloudBenefitWalkaway") }), + ], + }), + l.jsxs("li", { + className: "flex items-start text-left gap-4", + children: [ + l.jsx(Z$t, { size: "16", className: "shrink-0" }), + r("account:cloudBenefitSharing"), + ], + }), + l.jsxs("li", { + className: "flex items-start text-left gap-4", + children: [ + l.jsx($$t, { size: "16", className: "shrink-0" }), + r("account:cloudBenefitHistory"), + ], + }), + l.jsxs("li", { + className: "flex items-start text-left gap-4", + children: [ + l.jsx(F$t, { size: "16", className: "shrink-0" }), + r("account:cloudBenefitMetrics"), + ], + }), + ], + }), + ], + }), + l.jsx("div", { + className: "flex flex-col items-center gap-4", + children: l.jsx(Mo, { + appearance: "primary", + onClick: d, + className: "w-1/2", + children: r("account:connect"), + }), + }), + ], + }), + ], + }) + }, + Aen = Ie.memo(wen), + Pen = Ie.memo(xen), + Ren = Ie.memo(ken), + Ten = { + chatButtonClicked: "chat", + settingsButtonClicked: "settings", + promptsButtonClicked: "modes", + mcpButtonClicked: "mcp", + historyButtonClicked: "history", + marketplaceButtonClicked: "marketplace", + accountButtonClicked: "account", + }, + Ien = () => { + const { + didHydrateState: t, + showWelcome: e, + shouldShowAnnouncement: n, + telemetrySetting: o, + telemetryKey: r, + machineId: i, + cloudUserInfo: s, + cloudIsAuthenticated: a, + cloudApiUrl: c, + renderContext: d, + mdmCompliant: u, + } = Qn(), + m = k.useMemo(() => new KJe(), []), + [f, g] = k.useState(!1), + [b, v] = k.useState("chat"), + [w, _] = k.useState({ isOpen: !1, requestId: "", promptText: "" }), + [y, C] = k.useState({ isOpen: !1, messageTs: 0 }), + [S, P] = k.useState({ isOpen: !1, messageTs: 0, text: "", images: [] }), + R = k.useRef(null), + T = k.useRef(null), + E = k.useCallback( + (U) => { + var Z + ;(u === !1 && U !== "account") || + (j(void 0), + W(void 0), + (Z = R.current) != null && Z.checkUnsaveChanges + ? R.current.checkUnsaveChanges(() => v(U)) + : v(U)) + }, + [u], + ), + [$, j] = k.useState(void 0), + [L, W] = k.useState(void 0), + G = k.useCallback( + (U) => { + var V, X, H + const Z = U.data + if (Z.type === "action" && Z.action) + if (Z.action === "switchTab" && Z.tab) { + const B = Z.tab + E(B), j(void 0), W(void 0) + } else { + const B = Ten[Z.action], + M = (V = Z.values) == null ? void 0 : V.section, + D = (X = Z.values) == null ? void 0 : X.marketplaceTab + B && (E(B), j(M), W(D)) + } + if (Z.type === "showHumanRelayDialog" && Z.requestId && Z.promptText) { + const { requestId: B, promptText: M } = Z + _({ isOpen: !0, requestId: B, promptText: M }) + } + Z.type === "showDeleteMessageDialog" && Z.messageTs && C({ isOpen: !0, messageTs: Z.messageTs }), + Z.type === "showEditMessageDialog" && + Z.messageTs && + Z.text && + P({ isOpen: !0, messageTs: Z.messageTs, text: Z.text, images: Z.images || [] }), + Z.type === "acceptInput" && ((H = T.current) == null || H.acceptInput()) + }, + [E], + ) + return ( + Ws("message", G), + k.useEffect(() => { + n && (g(!0), re.postMessage({ type: "didShowAnnouncement" })) + }, [n]), + k.useEffect(() => { + t && os.updateTelemetryState(o, r, i) + }, [o, r, i, t]), + k.useEffect(() => re.postMessage({ type: "webviewDidLaunch" }), []), + k.useEffect(() => { + nAt(), oAt(), console.debug("App initialized with source map support") + }, []), + yUt( + k.useCallback(() => { + d === "editor" && re.postMessage({ type: "focusPanelRequest" }) + }, [d]), + ), + k.useEffect(() => { + b === "marketplace" && os.capture(Ls.MARKETPLACE_TAB_VIEWED) + }, [b]), + t + ? e + ? l.jsx(rJt, {}) + : l.jsxs(l.Fragment, { + children: [ + b === "modes" && l.jsx(yen, { onDone: () => E("chat") }), + b === "mcp" && l.jsx(pen, { onDone: () => E("chat") }), + b === "history" && l.jsx(L9t, { onDone: () => E("chat") }), + b === "settings" && l.jsx(JXt, { ref: R, onDone: () => v("chat"), targetSection: $ }), + b === "marketplace" && + l.jsx(ven, { stateManager: m, onDone: () => E("chat"), targetTab: L }), + b === "account" && + l.jsx(Sen, { + userInfo: s, + isAuthenticated: a, + cloudApiUrl: c, + onDone: () => E("chat"), + }), + l.jsx(M9t, { + ref: T, + isHidden: b !== "chat", + showAnnouncement: f, + hideAnnouncement: () => g(!1), + }), + l.jsx(Ren, { + isOpen: w.isOpen, + requestId: w.requestId, + promptText: w.promptText, + onClose: () => _((U) => ({ ...U, isOpen: !1 })), + onSubmit: (U, Z) => + re.postMessage({ type: "humanRelayResponse", requestId: U, text: Z }), + onCancel: (U) => re.postMessage({ type: "humanRelayCancel", requestId: U }), + }), + l.jsx(Aen, { + open: y.isOpen, + onOpenChange: (U) => C((Z) => ({ ...Z, isOpen: U })), + onConfirm: () => { + re.postMessage({ type: "deleteMessageConfirm", messageTs: y.messageTs }), + C((U) => ({ ...U, isOpen: !1 })) + }, + }), + l.jsx(Pen, { + open: S.isOpen, + onOpenChange: (U) => P((Z) => ({ ...Z, isOpen: U })), + onConfirm: () => { + re.postMessage({ + type: "editMessageConfirm", + messageTs: S.messageTs, + text: S.text, + images: S.images, + }), + P((U) => ({ ...U, isOpen: !1 })) + }, + }), + ], + }) + : null + ) + }, + Men = new Fht(), + jen = () => + l.jsx(Cen, { + children: l.jsx(wCt, { + children: l.jsx(_Ct, { + children: l.jsx(Wht, { + client: Men, + children: l.jsx(Kz, { delayDuration: JFt, children: l.jsx(Ien, {}) }), + }), + }), + }), + }) +cct().catch((t) => console.error("Failed to initialize Shiki highlighter:", t)) +rht.createRoot(document.getElementById("root")).render(l.jsx(k.StrictMode, { children: l.jsx(jen, {}) })) +const tnn = Object.freeze( + Object.defineProperty({ __proto__: null, InfoModule: Nmt, createInfoServices: Omt }, Symbol.toStringTag, { + value: "Module", + }), + ), + nnn = Object.freeze( + Object.defineProperty({ __proto__: null, PacketModule: Fmt, createPacketServices: Bmt }, Symbol.toStringTag, { + value: "Module", + }), + ), + onn = Object.freeze( + Object.defineProperty({ __proto__: null, PieModule: Umt, createPieServices: qmt }, Symbol.toStringTag, { + value: "Module", + }), + ), + rnn = Object.freeze( + Object.defineProperty( + { __proto__: null, ArchitectureModule: Wmt, createArchitectureServices: Kmt }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + inn = Object.freeze( + Object.defineProperty( + { __proto__: null, GitGraphModule: Vmt, createGitGraphServices: Hmt }, + Symbol.toStringTag, + { value: "Module" }, + ), + ), + snn = Object.freeze( + Object.defineProperty({ __proto__: null, RadarModule: Gmt, createRadarServices: Qmt }, Symbol.toStringTag, { + value: "Module", + }), + ) +export { onn as a, rnn as b, inn as g, tnn as i, nnn as p, snn as r } +//# sourceMappingURL=index.js.map diff --git a/src/webview-ui/build/assets/index.js.map b/src/webview-ui/build/assets/index.js.map new file mode 100644 index 0000000000..8508e20305 --- /dev/null +++ b/src/webview-ui/build/assets/index.js.map @@ -0,0 +1,13860 @@ +{ + "version": 3, + "mappings": "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h5D,GAAa,CACjB,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,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X,EAAK,SAAS,EAAE,EAAE,YAAW,EACnD,OAAOyyL,GAAQxmL,GAAQ,CAACsmL,IAAiB,KAAK,OAAO,aAAatmL,CAAI,CAAC,EACnEjjB,EACAA,EAAQ,GACd,CCfA,MAAM0pM,IAAe,KAUd,SAASC,IAAU3yL,EAAMiM,EAAMwmL,EAAM,CAC1C,MAAMzpM,EAAQ,KAAO,OAAOgX,CAAI,EAChC,OAAOyyL,GAAQxmL,GAAQ,CAACymL,IAAa,KAAK,OAAO,aAAazmL,CAAI,CAAC,EAC/DjjB,EACAA,EAAQ,GACd,CCVO,MAAM4pM,IAA0B,CACrC,QACA,MACA,SACA,QACA,SACA,QACA,SACA,OACA,OACA,SACA,MACA,SACA,QACA,SACA,OACA,KACA,SACA,QACA,SACA,OACA,KACA,SACA,SACA,QACA,SACA,SACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,QACA,QACA,QACA,SACA,MACA,QACA,SACA,OACA,SACA,SACA,QACA,OACA,OACA,SACA,MACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,SACA,SACA,KACA,SACA,QACA,QACA,SACA,SACA,OACA,QACA,KACA,OACA,QACA,SACA,OACA,MACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,SACA,OACA,OACA,SACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,MACF,EC3GaC,GAAyB,CACpC,KAAM,IACN,MAAO,IACP,KAAM,IACN,MAAO,IACP,OAAQ,IACR,IAAK,IACL,OAAQ,IACR,KAAM,IACN,IAAK,IACL,KAAM,IACN,KAAM,IACN,MAAO,IACP,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,IAAK,IACL,OAAQ,IACR,KAAM,IACN,KAAM,IACN,MAAO,IACP,MAAO,IACP,KAAM,IACN,OAAQ,IACR,MAAO,IACP,KAAM,IACN,KAAM,IACN,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR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SAAAojC,EAAA,IAAC,UACA,aAAYpjC,EAAE,gBAAgB,EAC9B,SAAU+wR,EACV,QAAUA,EAAuC,OAAjBF,EAChC,UAAWh6M,GACV,mDACA,mCACA,uCACA,oCACA,8BACA,4FACA,gFACA,oCACA,CAACk6M,GAAuB,iBACxBA,GACC,iIACD,MACD,EACA,SAAA3tP,MAAC8+H,IAAM,WAAU,SAAU,IAE7B,GACD,IACD,EAIK20H,GAAwB,IAC7BhnJ,EAAA,KAAC,OACA,UAAWh5D,GACV,WACA,SACA,OACA,mBACA,UACA,kBACA,SACD,EACA,UAAAzzC,EAAA,IAAC,OACA,IAAK6vP,GACL,cAAY,kBACZ,UAAWp8M,GACV,WACA,UACA,sBACA,sBACA,cACA,mBACA,kBACA,0BACA,+BACA,oCACAliD,GACG,sEACA89P,GACC,mDACA,4BACJnB,EAAa,oBAAsB,cACnC,WACA,OACA,OACA,0BACD,EACA,MAAO,CACN,MAAO,cACR,CACD,EACAluP,EAAA,IAAC0zP,IAAA,CACA,IAAMjvQ,IAAO,CACR,OAAOsD,GAAQ,WAClBA,EAAItD,EAAE,EACIsD,IACVA,EAAI,QAAUtD,IAEf+0I,GAAY,QAAU/0I,EACvB,EACA,MAAOknQ,EACP,SAAWjuR,IAAM,CAChB2zR,GAAkB3zR,EAAC,EACF00R,GAAA,CAClB,EACA,QAAS,IAAM3sG,GAAa,EAAI,EAChC,UAAW1yC,GACX,QAAS4/I,GACT,OAAQnB,GACR,QAASC,GACT,SAAUiB,GACV,UAAWA,GACX,eAAiBjnQ,IAAW,EACvB8jQ,KAAuB,QAAa9jQ,GAAS8jQ,KAChDC,EAAsB/jQ,EAAM,EAG7BsyP,GAAA,MAAAA,EAAiBtyP,GAClB,EACA,YAAaqiQ,EACb,QAAS,EACT,QAAS,GACT,UAAW,GACX,UAAWr6M,GACV,SACA,+BACA,0BACA,+BACA,oCACA,cACAy6M,EAAa,oBAAsB,cACnC38P,GACG,sEACA89P,GACC,mDACA,4BACJA,GACG,uFACA,6BACH,uDACA,+BACA,eACA,aACA,UACA,cACA,oBACA,kBACA,OACA,sBACA,QACA,iBACA,gBACD,EACA,SAAU,IAAM+C,GAAiB,EAClC,EAEApyP,MAAC,OAAI,UAAU,8BACd,eAAC+hK,GAAgB,SAASnlM,EAAE,oBAAoB,EAC/C,SAAAojC,EAAA,IAAC,UACA,aAAYpjC,EAAE,oBAAoB,EAClC,SAAU,GACV,QAAS2zR,GACT,UAAW98M,GACV,mDACA,mCACA,uCACA,8FACA,8BACA,0EACA,gFACA,oCACA,gBACD,EACA,eAACssF,IAAa,WAAWtsF,GAAG,UAAW68M,IAAqB,cAAc,CAAG,KAE/E,CACD,GAEC,CAACpC,GACDluP,MAAC,MAAI,WAAU,iCACd,SAAAA,EAAA,IAAC+hK,GAAgB,SAASnlM,EAAE,kBAAkB,EAC7C,SAAAojC,EAAA,IAAC,UACA,aAAYpjC,EAAE,kBAAkB,EAChC,SAAU,GACV,QAAS4wR,EACT,UAAW/5M,GACV,mDACA,mCACA,uCACA,8FACA,8BACA,0EACA,gFACA,oCACA,gBACD,EACA,SAAAzzC,MAACo/H,IAAe,WAAU,SAAU,KAEtC,CACD,GAGA,CAACusH,GAAc,CAACuC,GAChBluP,EAAA,IAAC,OACA,UAAU,yIACV,MAAO,CACN,OAAQ,UACR,MAAO,uEACP,WAAY,OACZ,cAAe,MAChB,EACC,SAAAozP,EAAA,EACF,EAEF,EAIA,OAAA3mJ,EAAA,KAAC,OACA,UAAWh5D,GACV,WACA,OACA,WACA,QACA,uBACAy6M,EAAa,OAAS,SACtB,OACA,eACA,SACA,cACAA,EAAa,SAAW,sBACxB,UACA,UACA,YACD,EACA,UAACzhJ,OAAA,OAAI,UAAU,WACd,UAAAA,EAAA,KAAC,OACA,UAAWh5D,GAAG,iBAAkB,WAAY,OAAQ,WAAY,cAAc,EAC9E,OAAQm/M,GACR,WAAal1R,IAAM,CAEd,IAACA,GAAE,SAAU,CAChB4xR,EAAkB,EAAK,EACvB,OAGD5xR,GAAE,eAAe,EACjB4xR,EAAkB,EAAI,EACtB5xR,GAAE,aAAa,WAAa,MAC7B,EACA,YAAcA,IAAM,CACnBA,GAAE,eAAe,EACX,MAAA+jK,GAAO/jK,GAAE,cAAc,sBAAsB,GAGlDA,GAAE,SAAW+jK,GAAK,MAClB/jK,GAAE,SAAW+jK,GAAK,OAClB/jK,GAAE,SAAW+jK,GAAK,KAClB/jK,GAAE,SAAW+jK,GAAK,SAElB6tH,EAAkB,EAAK,CAEzB,EACC,UACAzC,IAAA7sP,EAAA,IAAC,OACA,IAAKqwP,GACL,UAAW58M,GACV,WACA,cACA,SACA,UACA,WACA,OACA,SACA,gBACD,EACA,SAAAzzC,EAAA,IAACklP,IAAA,CACA,SAAUuL,GACV,YAAAp3E,GACA,WAAAsyE,EACA,YAAawG,GACb,cAAerC,GACf,iBAAkBC,GAClB,aAAAzP,GACA,WAAAC,GACA,MAAOv+M,GACP,QAAS4sN,EACT,qBAAsBF,EACtB,SAAA1pN,CAAA,EACD,CACD,EAGAyuN,GAAsB,GACxB,EAECvF,GACAluP,EAAA,IAACqtP,IAAA,CACA,KAAAlxN,EACA,aAAck3N,GACd,iBAAA1Q,EACA,YAAA9gN,EACA,kBAAAuC,EACA,SAAAmpN,EACA,OAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,oBAAAC,CAAA,EACD,EAEF,EAECI,EAAe,OAAS,GACxB/tP,EAAA,IAAC8hP,GAAA,CACA,OAAQiM,EACR,UAAWC,EACX,MAAO,CACN,KAAM,OACN,OAAQ,EACR,aAAc,EACf,CACD,EAGA,CAACE,GAAcsF,GAA0B,GAC3C,EAGH,EC7uCaG,GAAe,CAAC,CAAE,UAAAzwN,EAAW,GAAGp+B,CAC5C,IAAA9E,EAAA,IAAC,OACA,UAAWyzC,GAAG,4EAA6EvQ,CAAS,EACpG,MAAO,CACN,gBAAiB4uK,EAClB,EACC,GAAGhtM,CAAA,CACL,EAGY8uP,GAAqB,CAAC,CAAE,UAAA1wN,EAAW,GAAGp+B,CAAM,IACvD9E,MAAA,OAAI,UAAWyzC,GAAG,kEAAmEvQ,CAAS,EAAI,GAAGp+B,CAAO,GCaxG+uP,IAAiB,CACtB,CAAE,MAAO,GAAI,MAAO,cAAe,MAAO,2BAA4B,OAAQ,OAAQ,GAAI,aAAc,EACxG,CACC,MAAO,cACP,MAAO,cACP,MAAO,8BACP,OAAQ,8BACR,GAAI,0BACL,EACA,CACC,MAAO,YACP,MAAO,YACP,MAAO,6BACP,OAAQ,6BACR,GAAI,6BAEN,EAEMC,GAAQ,IAAM,KAAK,SAAS,SAAS,EAAE,EAAE,MAAM,EAAG,EAAE,EAEpDC,GAAkE,CAAC,CACxE,MAAAC,EAAQ,CAAC,EACT,QAAA9uP,EACA,SAAAvY,EACA,SAAAsnQ,EAAW,GACX,WAAAC,EAAa,EACd,IAAM,CACC,MAACC,EAAWC,CAAY,EAAIhqQ,EAAA,SACjC4pQ,EAAM,OAAS,EAAIA,EAAM,IAAKh+O,IAAU,CAAE,GAAGA,EAAM,GAAIA,EAAK,IAAM89O,GAAQ,GAAE,EAAI,EACjF,EACM,CAACO,EAAQC,CAAS,EAAIlqQ,WAAS,EAAK,EACpC,CAACmqQ,EAAYC,CAAa,EAAIpqQ,WAAS,EAAE,EACzCqqQ,EAAczsQ,SAAyB,IAAI,EAC3C,CAAC0sQ,EAAUC,CAAW,EAAIvqQ,WAAwB,IAAI,EACtD,CAACwqQ,EAAWC,CAAY,EAAIzqQ,WAAS,EAAK,EAGhDnC,YAAU,IAAM,CACX,CAACgsQ,GAAYW,GAChBC,EAAa,EAAK,CACnB,EACE,CAACZ,EAAUW,CAAS,CAAC,EAGxB3sQ,YAAU,IAAM,CACX,OAAO0E,GAAa,YACf,aACP,gGACD,CAIF,EAAG,EAAE,EAGL1E,YAAU,IAAM,CACfmsQ,EAAaJ,EAAM,OAAS,EAAIA,EAAM,IAAKh+O,IAAU,CAAE,GAAGA,EAAM,GAAIA,EAAK,IAAM89O,GAAA,CAAU,IAAI,EAAE,GAC7F,CAACE,CAAK,CAAC,EAGV/rQ,YAAU,IAAM,CACXosQ,GAAUI,EAAY,SACzBA,EAAY,QAAQ,MAAM,CAC3B,EACE,CAACJ,CAAM,CAAC,EAGL,MAAAS,EAAsB,CAAC7qR,EAAY6gB,IAAkB,CAC1D,MAAMiqQ,EAAWZ,EAAU,IAAKn+O,GAAUA,EAAK,KAAO/rC,EAAK,CAAE,GAAG+rC,EAAM,QAASlrB,CAAA,EAAUkrB,CAAK,EAC9Fo+O,EAAaW,CAAQ,EACrBpoQ,GAAA,MAAAA,EAAWooQ,EACZ,EAGMC,EAAqB,CAAC/qR,EAAYskB,IAAmB,CAC1D,MAAMwmQ,EAAWZ,EAAU,IAAKn+O,GAAUA,EAAK,KAAO/rC,EAAK,CAAE,GAAG+rC,EAAM,OAAAznB,CAAA,EAAWynB,CAAK,EACtFo+O,EAAaW,CAAQ,EACrBpoQ,GAAA,MAAAA,EAAWooQ,EACZ,EAGMltB,EAAgB59P,GAAe,CACpC0qR,EAAY1qR,CAAE,CACf,EACMgrR,EAAgB,IAAM,CAC3B,GAAI,CAACP,EAAU,OACf,MAAMK,EAAWZ,EAAU,OAAQn+O,GAASA,EAAK,KAAO0+O,CAAQ,EAChEN,EAAaW,CAAQ,EACrBpoQ,GAAA,MAAAA,EAAWooQ,GACXJ,EAAY,IAAI,CACjB,EACMO,EAAe,IAAMP,EAAY,IAAI,EAGrCQ,EAAY,IAAM,CACnB,IAACZ,EAAW,OAAQ,OACxB,MAAMa,EAAoB,CACzB,GAAItB,GAAM,EACV,QAASS,EAAW,KAAK,EACzB,OAAQ,EACT,EACMQ,EAAW,CAAC,GAAGZ,EAAWiB,CAAO,EACvChB,EAAaW,CAAQ,EACrBpoQ,GAAA,MAAAA,EAAWooQ,GACXP,EAAc,EAAE,EAChBF,EAAU,EAAK,CAChB,EAGMe,EAAyB33R,GAA6C,CACvEA,EAAE,MAAQ,QACHy3R,EAAA,EACAz3R,EAAE,MAAQ,WACpB42R,EAAU,EAAK,EACfE,EAAc,EAAE,EAElB,EAEA,OAAIN,SAEDP,GACA,WAAC3zP,MAAA4zP,GAAA,CACA,gBAAC,MAAI,WAAU,2BAA2B,MAAO,CAAE,MAAO,QACzD,UAAA5zP,EAAA,IAAC,QACA,UAAU,kCACV,MAAO,CAAE,MAAO,6BAA8B,EAC/C,EACAA,MAAC,QAAK,UAAU,iBAAiB,MAAO,CAAE,WAAY,MAAO,EAAG,SAEhE,cACAA,MAAC,MAAI,WAAU,WAAY,IAC5B,CACD,GACCA,EAAA,WAAI,UAAU,6BAA6B,MAAO,CAAE,QAAS,cAAe,EAC5E,SAACA,MAAA,QAAK,UAAU,oCAAoC,sBAAU,CAC/D,IACD,EAKDA,MAAA0H,WAAA,CACC,gBAACisP,GACA,WAAC3zP,MAAA4zP,GAAA,CACA,gBAAC,MAAI,WAAU,2BAA2B,MAAO,CAAE,MAAO,QACzD,UAAA5zP,EAAA,IAAC,QACA,UAAU,mCACV,MAAO,CAAE,MAAO,0BAA2B,EAC5C,EACAA,MAAC,QAAK,UAAU,iBAAiB,MAAO,CAAE,WAAY,MAAO,EAAG,SAEhE,sBACAA,MAAC,MAAI,WAAU,WAAY,GAC1Bi0P,GACAj0P,EAAA,IAAC,UACA,QAAS,IAAM60P,EAAa,CAACD,CAAS,EACtC,MAAO,CACN,OAAQA,EACL,wCACA,iDACH,WAAYA,EACT,kCACA,2CACH,MAAOA,EACJ,kCACA,2CACH,aAAc,EACd,QAAS,UACT,OAAQ,UACR,SAAU,GACV,WAAY,CACb,EACC,WAAY,OAAS,QACvB,EAEF,CACD,GACA50P,MAAC,MAAI,WAAU,6BAA6B,MAAO,CAAE,QAAS,aAAc,EAC1E,SAAM,cAAQm0P,CAAS,GAAKA,EAAU,OAAS,EAC9C1nJ,EAAA,WAAG,MAAO,CAAE,OAAQ,EAAG,YAAa,EAAG,UAAW,QACjD,UAAU0nJ,EAAA,IAAI,CAACn+O,EAAMsqC,IAAQ,CACzB,IAAA+zL,EACA,OAAAr+N,EAAK,SAAW,YAElBq+N,EAAAr0O,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,6BACZ,YAAa,EACb,UAAW,EACX,WAAY,EACb,CACD,EAESgW,EAAK,SAAW,cAEzBq+N,EAAAr0O,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,8BACZ,YAAa,EACb,UAAW,EACX,WAAY,EACb,CACD,EAIAq0O,EAAAr0O,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,OAAQ,gDACR,WAAY,cACZ,YAAa,EACb,UAAW,EACX,WAAY,EACb,CACD,EAIDysG,EAAA,KAAC,MAEA,MAAO,CACN,aAAc,EACd,QAAS,OACT,WAAY,aACZ,UAAW,EACZ,EACC,UAAA4nI,EACAugB,EACA50P,EAAA,IAAC,SACA,KAAK,OACL,MAAOgW,EAAK,QACZ,YAAY,kBACZ,SAAWt4C,GAAMo3R,EAAoB9+O,EAAK,GAAKt4C,EAAE,OAAO,KAAK,EAC7D,MAAO,CACN,KAAM,EACN,SAAU,EACV,WAAY,IACZ,MAAO,iCACP,WAAY,iCACZ,OAAQ,OACR,QAAS,OACT,SAAU,GACV,YAAa,EACb,QAAS,UACT,aAAc,sCACf,EACA,OAASA,GAAM,CACTA,EAAE,OAAO,MAAM,QACnBmqQ,EAAa7xN,EAAK,EAAG,CACtB,CACD,GAGDhW,EAAA,IAAC,QACA,MAAO,CACN,KAAM,EACN,SAAU,EACV,WAAY,IACZ,MACCgW,EAAK,SAAW,YACb,6BACAA,EAAK,SAAW,cACf,8BACA,2BACL,SAAU,GACV,YAAa,EACb,QAAS,UACT,WAAY,KACb,EACC,SAAKA,EAAA,QACP,EAEA4+O,GACA50P,EAAA,IAAC,UACA,MAAOgW,EAAK,QAAU,GACtB,SAAWt4C,GAAMs3R,EAAmBh/O,EAAK,GAAKt4C,EAAE,OAAO,KAAK,EAC5D,MAAO,CACN,YAAa,EACb,aAAc,EACd,OAAQ,uCACR,WAAY,iCACZ,MAAO,iCACP,SAAU,GACV,QAAS,SACV,EACC,SAAem2R,IAAA,IAAKlkP,GACnB3P,MAAA,UAAuB,MAAO2P,EAAI,MACjC,SAAAA,EAAI,KADO,EAAAA,EAAI,KAEjB,CACA,EACF,EAEAilP,GACA50P,EAAA,IAAC,UACA,QAAS,IAAM6nO,EAAa7xN,EAAK,EAAG,EACpC,MAAO,CACN,OAAQ,OACR,WAAY,cACZ,MAAO,UACP,OAAQ,UACR,SAAU,GACV,WAAY,EACZ,QAAS,EACT,WAAY,CACb,EACA,MAAM,SAAS,cAEhB,GAxFIA,EAAK,IAAMsqC,CA0FjB,EAED,EACA+zM,EACC5nJ,OAAA,MAAG,MAAO,CAAE,UAAW,EAAG,QAAS,OAAQ,WAAY,UACvD,UAAAzsG,MAAC,QAAK,MAAO,CAAE,MAAO,GAAI,YAAa,GAAK,EAC5CA,EAAA,IAAC,SACA,IAAKy0P,EACL,KAAK,OACL,MAAOF,EACP,YAAY,sCACZ,SAAW72R,GAAM82R,EAAc92R,EAAE,OAAO,KAAK,EAC7C,UAAW23R,EACX,MAAO,CACN,KAAM,EACN,SAAU,EACV,WAAY,IACZ,MAAO,2BACP,WAAY,cACZ,OAAQ,OACR,QAAS,OACT,SAAU,GACV,YAAa,EACb,QAAS,UACT,aAAc,iBACf,CACD,EACAr1P,EAAA,IAAC,UACA,QAASm1P,EACT,SAAU,CAACZ,EAAW,KAAK,EAC3B,MAAO,CACN,OAAQ,wCACR,WAAY,kCACZ,MAAO,kCACP,aAAc,EACd,QAAS,UACT,OAAQA,EAAW,KAAK,EAAI,UAAY,cACxC,SAAU,GACV,YAAa,CACd,EAAG,eAEJ,EACAv0P,EAAA,IAAC,UACA,QAAS,IAAM,CACds0P,EAAU,EAAK,EACfE,EAAc,EAAE,CACjB,EACA,MAAO,CACN,OAAQ,iDACR,WAAY,2CACZ,MAAO,2CACP,aAAc,EACd,QAAS,UACT,OAAQ,UACR,SAAU,EACX,EAAG,mBAGL,UAEC,KAAG,OAAO,CAAE,UAAW,GACtB,SACAI,GAAA50P,EAAA,IAAC,UACA,QAAS,IAAMs0P,EAAU,EAAI,EAC7B,MAAO,CACN,OAAQ,kDACR,WAAY,2CACZ,MAAO,2CACP,aAAc,EACd,QAAS,UACT,OAAQ,UACR,SAAU,EACX,EAAG,uBAIN,GAEF,GAEAt0P,MAAC84O,GAAc,UAAU5zO,CAAS,GAEpC,EAECwvP,GACA10P,EAAA,IAAC,OACA,MAAO,CACN,SAAU,QACV,KAAM,EACN,IAAK,EACL,MAAO,EACP,OAAQ,EACR,WAAY,mBACZ,OAAQ,KACR,QAAS,OACT,WAAY,SACZ,eAAgB,QACjB,EACA,QAASk1P,EACT,SAAAzoJ,EAAA,KAAC,OACA,MAAO,CACN,WAAY,OACZ,aAAc,EACd,UAAW,8BACX,QAAS,YACT,SAAU,IACV,OAAQ,GACT,EACA,QAAU/uI,GAAMA,EAAE,gBAAgB,EAClC,UAACsiC,MAAA,OAAI,MAAO,CAAE,aAAc,GAAI,SAAU,GAAI,MAAO,MAAO,EAAG,SAE/D,oDACAysG,OAAC,MAAI,OAAO,CAAE,QAAS,OAAQ,eAAgB,WAAY,IAAK,GAC/D,UAAAzsG,EAAA,IAAC,UACA,QAASk1P,EACT,MAAO,CACN,OAAQ,iBACR,WAAY,cACZ,MAAO,OACP,aAAc,EACd,QAAS,WACT,OAAQ,UACR,SAAU,EACX,EAAG,kBAEJ,EACAl1P,EAAA,IAAC,UACA,QAASi1P,EACT,MAAO,CACN,OAAQ,oBACR,WAAY,UACZ,MAAO,OACP,aAAc,EACd,QAAS,WACT,OAAQ,UACR,SAAU,EACX,EAAG,mBAEJ,CACD,KACD,EACD,EAEF,CACD,EAEF,ECzdMK,IAAgB,CAAC,CACtB,KAAAxpP,EACA,KAAAhK,EAAO,GACP,SAAA6H,EACA,eAAA4rP,EACA,UAAAh3P,EACA,WAAA08O,EACA,WAAAua,EACA,eAAAC,EACA,OAAApnO,EACA,aAAAqnO,CACD,IAA0B,CACzB,MAAMC,EAAmB3rQ,UAAQ,IAAM2f,IAAamC,EAAO+vO,IAAoB/vO,CAAI,EAAI,OAAQ,CAACA,EAAMnC,CAAQ,CAAC,EACzGvF,EAASpa,UAAQ,IAAM8X,EAAK,KAAQ,GAACA,CAAI,CAAC,EAC1C8zP,EAAY,GAAQ9pP,GAAQ0pP,GAAcnnO,GAEhD,cACEslO,GACC,WACAiC,GAAAnpJ,EAAA,KAACmnJ,GAAmB,SAAS6B,EAC3B,UAAal3P,GAAAyB,MAAC6iF,IAAmB,WAAU,aAAc,GACzDx0D,EACAo+E,EAAA,KAAC,MAAI,WAAU,oBACd,UAACzsG,MAAA,QAAK,UAAU,+BAAgC,GAC/CA,EAAA,YAAK,UAAU,uDAAwD,SAAOquB,CAAA,GAChF,GACGmnO,EACF/oJ,EAAA,YAAI,UAAU,oBACd,UAAAzsG,MAAC,QAAK,UAAW,mBAAmBw1P,EAAa,WAAa,gBAAgB,UAAW,QACxF,OAAK,WAAU,2DACd,SAAAA,EAAa,aAAe,cAC9B,IACD,EAGE/oJ,OAAA/kG,EAAA,qBAAAoE,GAAA,YAAAA,EAAM,WAAW,OAAQ9L,MAAC,QAAK,SAAC,MACjCA,MAAC,QAAK,UAAU,qEACd,YAA6B8L,GAAQ,EAAE,EAAI,GAC7C,IACD,EAED9L,MAAC,MAAI,WAAU,aAAc,GAC5Bu1P,GAAkBA,EAAe,MAE/B9oJ,EAAA,KAAA/kG,EAAA,oBAAA6tP,EAAe,MAASv1P,MAAA,QAAK,UAAW,mBAAmBu1P,EAAe,IAAI,OAAS,GACvFv1P,EAAA,YAAK,UAAU,iDACd,WAAe,IACjB,IACD,EAEA01P,GAAgB5pP,GAChB9L,EAAA,IAAC,QACA,UAAU,qCACV,MAAO,CAAE,SAAU,IAAK,EACxB,QAAUtiC,GAAM,CACfA,EAAE,gBAAgB,EACLg4R,EAAA,CACd,EACA,aAAY,cAAc5pP,CAAI,GAC/B,EAEA,CAAC4pP,GAAiB11P,MAAA,QAAK,UAAW,2BAA2Bi7O,EAAa,KAAO,MAAM,EAAI,IAC7F,GAEC,CAAC2a,GAAa3a,IACfj7O,EAAA,IAAC,MAAI,WAAU,+CACd,SAAAA,MAAC2yM,GAAU,QAAAvuM,EAAgB,SAAUuxP,CAAA,CAAkB,CACxD,IAEF,CAEF,EAEep9E,UAAK+8E,GAAa,ECjFpBO,IAAiB,CAAC,CAAE,QAAA3wP,EAAS,QAAA4wP,EAAS,YAAAC,EAAc,GAAO,iBAAAC,KAA4C,CAC7G,MAAAtwI,EAAa19H,SAAuB,IAAI,EACxCiuQ,EAAajuQ,SAAe,CAAC,EAC7B,CAAE,EAAAprB,CAAA,EAAMmtC,GAAe,MAAM,EAC7B,CAACmsP,EAASC,CAAU,EAAI/rQ,WAAiB,EACzC,CAACgsQ,EAAaC,CAAc,EAAIjsQ,WAAiBxtB,EAAE,yBAAyB,CAAC,EAC7E,CAAC05R,EAAiBC,CAAkB,EAAInsQ,WAAkB,EAAK,EAC/DosQ,EAAYxuQ,SAAe,CAAC,EAC5ByuQ,EAAWzuQ,EAAiB,SAAE,EAEpCC,YAAU,IAAM,CACXy9H,EAAW,SAAW,CAACqwI,IACfrwI,EAAA,QAAQ,UAAYA,EAAW,QAAQ,aACnD,EACE,CAACxgH,EAAS6wP,CAAW,CAAC,EAEzB9tQ,YAAU,IAAM,CACX6tQ,IACHG,EAAW,QAAUH,EACtB,EACE,CAACA,CAAO,CAAC,EAGN,MAAAY,EAAwBjuQ,cAAY,IAAM,CACzC,MAAAkuQ,EAAcF,EAAS,QAAQ,IAAI,EACzCA,EAAS,QAAU,CAAC,EAEhBE,GACHJ,EAAmB,EAAI,EAGxB,WAAW,IAAM,CACZI,IACHN,EAAeM,CAAW,EAC1BJ,EAAmB,EAAK,GAGd,eAAMG,EAAsB,EAAG,GAAG,GAC3C,GAAG,CACP,EAAG,EAAE,EAEL,OAAApsQ,GAAS,IAAM,CACQosQ,EAAA,EACtB,EAEDzuQ,YAAU,IAAM,CACXid,EAAQ,OAASsxP,EAAU,QAAU,MACxCL,EAAW,OAASjxP,EAAQ,MAAMsxP,EAAU,OAAO,CAAC,EACpDA,EAAU,QAAUtxP,EAAQ,OAC7B,EACE,CAACA,CAAO,CAAC,EAEZjd,YAAU,IAAM,CACXiuQ,GAAWA,IAAYE,GACjBK,EAAA,QAAQ,KAAKP,CAAO,CAC9B,EACE,CAACA,EAASE,CAAW,CAAC,EAGxB3pJ,EAAA,KAAC,MAAI,WAAU,qFACd,UAAAA,EAAA,KAAC,OACA,UAAU,yFACV,QAASupJ,EACT,UAAAh2P,EAAA,IAAC,OACA,UAAW,mDAAmDs2P,EAAkB,YAAc,aAAa,GAC1G,SAAAF,CAAA,CACF,EACA3pJ,OAAC,MAAI,WAAU,mCACb,UAAWwpJ,EAAA,QAAU,KAEpBxpJ,EAAA,KAAA/kG,EAAA,oBAAC1H,MAAAujI,IAAA,CAA0B,UAAU,UAAW,GAC/CvjI,MAAA,OAAK,SAAEpjC,EAAA,oBAAqB,CAAE,MAAO,KAAK,MAAMq5R,EAAW,QAAU,GAAI,CAAG,EAAE,IAChF,EAEAF,EAAc/1P,EAAA,IAACgjI,IAAc,UAAMG,IAAY,IACjD,IACD,EACC,CAAC4yH,GACA/1P,MAAA,OAAI,IAAK0lH,EAAY,UAAU,qCAC/B,SAAC1lH,EAAA,IAAA84O,GAAA,CAAc,SAAU5zO,CAAS,EACnC,IAEF,CAEF,EC5FM0xP,IAAiB,CAAC,CAAE,KAAAzmQ,KAAgC,CAEzD,MAAMmrP,EADS,QAASnrP,EACHA,EAAK,IAAMA,EAAK,YAGpC,OAAAs8G,EAAA,KAAC,OAEA,MAAO,CACN,QAAS,OACV,EACA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,aAAc,KACf,EACA,UAAAzsG,MAAC,QAAK,UAAW,8BAA+B,MAAO,CAAE,YAAa,OAAS,EAC/EA,MAAC,QAAK,MAAO,CAAE,WAAY,IAAK,UAAW,WAAY,EAAI,SAAIs7O,CAAA,IAChE,EACAt7O,EAAA,IAAC,OACA,MAAO,CACN,SAAU,OACV,QAAS,GACT,OAAQ,OACT,EACC,SAAA7P,EAAK,MAAQA,EAAK,YAChB,GAAGA,EAAK,IAAI,KAAKA,EAAK,WAAW,GACjC,CAACA,EAAK,MAAQA,EAAK,YAClBA,EAAK,YACL,CAACA,EAAK,aAAeA,EAAK,KACzBA,EAAK,KACL,iBACN,EACAs8G,EAAA,KAAC,OACA,MAAO,CACN,SAAU,MACX,EACA,UAAAzsG,MAAC,QAAK,MAAO,CAAE,QAAS,IAAO,SAAQ,aACvCA,EAAA,IAAC,QACA,MAAO,CACN,MAAO,yCACP,WAAY,yCACZ,QAAS,UACT,aAAc,KACf,EACC,WAAK,UAAY,WACnB,GACD,GAzCKs7O,CA0CN,CAEF,EC/Caub,GAAU,CAAC,CAAE,KAAAzzP,EAAM,WAAA0zP,EAAa,MAA0B,CACtE,GAAI,CAAC1zP,EACJ,yBAAU,SAAKA,CAAA,GAGV,MAAA2M,EAAQ3M,EAAK,MAAMk7O,GAAkB,EAAE,IAAI,CAACxgM,EAAM9kD,IACnDA,EAAQ,IAAM,EAEV8kD,EAIN2uD,EAAA,KAAC,QAEA,UAAW,GAAGqqJ,EAAa,wCAA0C,2BAA2B,kBAChG,QAAS,IAAMr0N,GAAO,YAAY,CAAE,KAAM,cAAe,KAAMqb,EAAM,EAAG,cACtEA,CAAA,GAHG9kD,CAIN,CAGF,EAED,yBAAU,SAAM+W,CAAA,EACjB,ECfagnP,IAAiB,CAAC,CAAE,GAAAtnN,EAAI,WAAAunN,EAAY,YAAAC,EAAa,WAAAC,KAAsC,CAC7F,MAAE,EAAAt6R,CAAE,EAAImtC,GAAe,EACvB,CAACs3H,EAAQkqH,CAAS,EAAInhQ,WAAS,EAAK,EACpC,CAAC+sQ,EAAcC,CAAe,EAAIhtQ,WAAS,EAAK,EAChDi3K,EAAkBV,GAAa,YAAY,EAE3C02F,EAAYJ,IAAgBD,EAE5BM,EAAqBJ,GAAA,YAAAA,EAAY,KAEjCK,EAAmB9uQ,cAAY,IAAM,CAC1Cg6C,GAAO,YAAY,CAClB,KAAM,iBACN,QAAS,CAAE,GAAAgN,EAAI,mBAAA6nN,EAAoB,WAAAN,EAAY,KAAM,YAAa,EAClE,CACC,GAACvnN,EAAI6nN,EAAoBN,CAAU,CAAC,EAEjCQ,EAAY/uQ,cAAY,IAAM,CAC5Bg6C,GAAA,YAAY,CAAE,KAAM,oBAAqB,QAAS,CAAE,GAAAgN,EAAI,WAAAunN,EAAY,KAAM,SAAU,EAAG,EAC9FzL,EAAU,EAAK,GACb,CAAC97M,EAAIunN,CAAU,CAAC,EAEbS,EAAYhvQ,cAAY,IAAM,CAC5Bg6C,GAAA,YAAY,CAAE,KAAM,oBAAqB,QAAS,CAAE,GAAAgN,EAAI,WAAAunN,EAAY,KAAM,SAAU,EAAG,EAC9FzL,EAAU,EAAK,GACb,CAAC97M,EAAIunN,CAAU,CAAC,EAGlB,OAAAvqJ,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC+hK,IAAgB,QAASnlM,EAAE,+BAA+B,EAC1D,SAAAojC,EAAA,IAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAAO,QAASwsL,EAC5C,SAAAv3P,EAAA,IAAC,QAAK,UAAU,8BAA8B,EAC/C,CACD,GACAysG,EAAA,KAAC8gD,GAAA,CACA,KAAMlsB,EACN,aAAe1b,GAAS,CACvB4lI,EAAU5lI,CAAI,EACdyxI,EAAgB,EAAK,CACtB,EACA,UAACp3P,MAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,8BAA8B,EACzD,SAACojC,MAAA+tJ,GAAA,CAAe,QAAO,GACtB,SAAA/tJ,EAAA,IAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAC5B,SAAA/qE,EAAA,IAAC,QAAK,UAAU,0BAA0B,CAC3C,GACD,CACD,GACAA,MAACkuJ,IAAe,MAAM,MAAM,UAAWmT,EACtC,SAAA50D,EAAA,KAAC,MAAI,WAAU,sBACb,WAAC4qJ,GACD5qJ,OAAC,MAAI,WAAU,kDACd,UAAAzsG,MAAC+qE,IAAO,QAAQ,YAAY,QAASysL,EACnC,SAAA56R,EAAE,mCAAmC,EACvC,QACC,MAAI,WAAU,2DACb,SAAAA,EAAE,8CAA8C,CAClD,IACD,QAEA,MAAI,WAAU,kDACd,SAAC6vI,EAAA,YAAI,UAAU,kDACb,UAAC0qJ,EAMA1qJ,OAAA/kG,WAAA,WAAC1H,EAAA,IAAA+qE,GAAA,CAAO,QAAQ,UAAU,QAAS0sL,EAAW,UAAU,OACvD,SAAAhrJ,OAAC,MAAI,WAAU,sBACd,UAAAzsG,EAAA,IAACqjI,IAAU,IACVrjI,MAAA,OAAK,SAAEpjC,EAAA,8BAA8B,CAAE,IACzC,CACD,GACCojC,EAAA,IAAA+qE,GAAA,CAAO,QAAQ,YAAY,QAAS,IAAMqsL,EAAgB,EAAK,EAC/D,SAAA3qJ,OAAC,MAAI,WAAU,sBACd,UAAAzsG,EAAA,IAACyjI,IAAW,IACXzjI,MAAA,OAAK,SAAEpjC,EAAA,6BAA6B,CAAE,IACxC,CACD,IACD,EAjBAojC,MAAC+qE,GAAO,SAAQ,YAAY,QAAS,IAAMqsL,EAAgB,EAAI,EAC7D,SAAAx6R,EAAE,0CAA0C,EAC9C,EAiBAu6R,EACAn3P,EAAA,IAAC,MAAI,WAAU,6BACb,SAAEpjC,EAAA,iCAAiC,CACrC,SAEC,MAAI,WAAU,2DACb,SAAAA,EAAE,qDAAqD,CACzD,IAEF,CACD,IACD,CACD,KACD,EACD,CAEF,EChHa86R,IAAmBjhO,GAAS,CACxC,KAAMI,GAAS,EACf,GAAIA,GAAS,CACd,CAAC,ECQY8gO,IAAkB,CAAC,CAAE,WAAAT,EAAY,GAAGpyP,KAAkC,CAC5E,MAAE,EAAAloC,CAAE,EAAImtC,GAAe,EACvBstP,EAAYvyP,EAAM,cAAgBA,EAAM,WAExCkpD,EAAWhkE,UAAQ,IAAM,CAC9B,GAAI,CAACktQ,EACG,OAGF,MAAAroQ,EAAS6oQ,IAAiB,UAAUR,CAAU,EAEhD,GAACroQ,EAAO,QAIZ,OAAOA,EAAO,MACZ,CAACqoQ,CAAU,CAAC,EAEf,OAAKlpM,EAKJy+C,EAAA,KAAC,MAAI,WAAU,oCACd,UAACA,OAAA,OAAI,UAAU,aACd,UAACzsG,MAAA,QAAK,UAAU,0CAA2C,SAC1D,OAAK,WAAU,YAAa,SAAApjC,EAAE,yBAAyB,EAAE,EACzDy6R,GAAcr3P,MAAA,QAAK,UAAU,qBAAsB,SAAApjC,EAAE,yBAAyB,CAAE,IAClF,EACCojC,MAAA+2P,IAAA,CAAgB,GAAGjyP,EAAO,WAAYkpD,CAAU,IAClD,EAXO,IAaT,ECpCM4pM,IAA8B,IAC9BC,IAAwB,IAUjBC,IAAkB,CAAC,CAC/B,YAAA5W,EAAc,CAAC,EACf,kBAAA6W,EACA,GAAAtoN,EAAK,EACL,qBAAAuoN,EACA,WAAAC,EAAa,EACd,IAA4B,CAC3B,KAAM,CAAE,oBAAA3kF,EAAqB,6BAAA5tI,EAA8B,6BAAAE,CAAA,EAAiCiB,GAAkB,EACxG,CAACqxN,EAAWC,CAAY,EAAI/tQ,WAAwB,IAAI,EACxD,CAACguQ,EAAoBC,CAAqB,EAAIjuQ,WAAS,EAAK,EAC5D,CAAE,EAAAxtB,CAAE,EAAIsqE,GAAkB,EAGhCj/C,YAAU,IAAM,CAId,GAAAqrL,GACA5tI,GACAw7M,EAAY,OAAS,GACrB,CAACkX,GACD,CAACH,EACA,CAEK,MAAAK,EACL,OAAO1yN,GAAiC,UAAY,CAAC,MAAMA,CAA4B,EACpFA,EACAgyN,IAGJO,EAAa,KAAK,MAAMG,EAAY,GAAI,CAAC,EAGnC,MAAAC,EAAa,YAAY,IAAM,CACpCJ,EAAcK,GACTA,IAAkB,MAAQA,GAAiB,GAC9C,cAAcD,CAAU,EACjB,MAEDC,EAAgB,CACvB,GACCX,GAAqB,EAGxB,MAAO,IAAM,CACZ,cAAcU,CAAU,EAGDP,GAAA,MAAAA,GACxB,OAEAG,EAAa,IAAI,CAClB,EACE,CACF7kF,EACA5tI,EACAw7M,EACAt7M,EACAwyN,EACAJ,EACAC,CAAA,CACA,EACD,MAAMQ,EAAwBhwQ,EAAA,YAC7B,CAACiwQ,EAA4B9uQ,IAA4B,CAEnDA,EAAM,WACVyuQ,EAAsB,EAAI,EAGHL,GAAA,MAAAA,KAKxBD,GAAA,MAAAA,EAAoBW,EAAY9uQ,EACjC,EACA,CAACmuQ,EAAmBC,CAAoB,CACzC,EAGA,MAAI,EAAC9W,GAAA,MAAAA,EAAa,SAAU,CAAC6W,EACrB,KAIP/3P,MAAC,OAAI,UAAU,kCACb,WAAY,IAAI,CAAC04P,EAAY1/P,IAAU,CACvC,MAAM2/P,EAAoB3/P,IAAU,EAGnC,OAAAyzG,EAAA,KAAC,MAAuC,WAAU,wBACjD,UAAAA,EAAA,KAAC1hC,GAAA,CACA,QAAQ,UACR,UAAU,gFACV,QAAUnhF,GAAU6uQ,EAAsBC,EAAY9uQ,CAAK,EAC3D,aAAY8uQ,EAAW,OACtB,UAAWA,EAAA,OACXC,GAAqBT,IAAc,MAAQ,CAACE,GAAsB,CAACH,GACnEj4P,EAAA,IAAC,QACA,UAAU,kGACV,MAAOpjC,EAAE,2CAA4C,CAAE,MAAOs7R,EAAW,EACxE,SAAEt7R,EAAA,wCAAyC,CAAE,MAAOs7R,CAAW,IACjE,EAEF,EACCQ,EAAW,MACVjsJ,OAAA,OAAI,UAAU,4KACd,UAAAzsG,MAAC,QAAK,UAAU,8BAA8B,MAAO,CAAE,SAAU,OAAS,EACzE04P,EAAW,MACb,EAEA14P,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,kCAAkC,EAC7D,SAAAojC,EAAA,IAAC,OACA,UAAU,8EACV,QAAUtiC,GAAM,CACfA,EAAE,gBAAgB,EAElB26R,EAAsB,EAAI,EACHL,GAAA,MAAAA,IAEvBD,GAAA,MAAAA,EAAoBW,EAAY,CAAE,GAAGh7R,EAAG,SAAU,IACnD,EACA,SAAAsiC,EAAA,IAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAC5B,SAAA/qE,MAACoqP,KAAK,EACP,IAEF,KApCS,GAAGsO,EAAW,MAAM,IAAIjpN,CAAE,EAqCpC,CAED,GACF,CAEF,ECpIampN,IAAsBrgF,OAAK,CAAC,CAAE,MAAAuoE,EAAQ,GAAI,qBAAA+X,EAAsB,GAAAppN,KAExE,EAACqxM,GAAA,MAAAA,EAAO,SAAU,CAAC+X,EACf,KAIP74P,MAAC,MAAI,WAAU,WAEd,SAAAA,EAAA,IAAC,MAAI,WAAU,0DACb,SAAA8gP,EAAM,IAAKn8L,GAAS,OACpB,aACE,MAA+B,WAAU,0BACzC,SAAC3kD,EAAA,IAAA2zP,GAAA,CAAa,UAAU,SACvB,SAAAlnJ,EAAA,KAACmnJ,GAAA,CACA,QAAS,IAAMnxN,GAAO,YAAY,CAAE,KAAM,WAAY,KAAMkiB,EAAK,QAAS,EACzE,YAAA97D,EAAA87D,EAAK,OAAL,YAAA97D,EAAW,WAAW,OAAQmX,EAAA,IAAC,QAAK,SAAC,MACtCysG,OAAC,OAAK,WAAU,qEACd,UAA6BkvI,GAAAh3L,EAAK,MAAQ,EAAE,EAAI,IAChDA,EAAK,aAAe,IAAIA,EAAK,WAAW,IAC1C,EACA3kD,MAAC,MAAI,WAAU,WAAY,GAC3BA,MAAC,OAAK,WAAU,sDAAuD,KAEzE,EAZS,KAAG2kD,EAAK,IAAI,IAAIlV,CAAE,EAa5B,EAED,EACF,CACD,EAED,EAEDmpN,IAAoB,YAAc,sBClCrB,MAAAE,IAAoBvgF,OAAK,CAAC,CAAE,MAAAuoE,EAAQ,CAAC,EAAG,GAAArxM,KAAiC,CACrF,KAAM,CAACspN,EAAeC,CAAgB,EAAI5uQ,WAAkC,EAAE,EAE1E,KAAC02P,GAAA,MAAAA,EAAO,QACJ,YAGF,MAAAmY,EAAsBnpD,GAAqB,CAChDkpD,EAAkBl+O,IAAU,CAC3B,GAAGA,EACH,CAACg1L,CAAQ,EAAG,CAACh1L,EAAKg1L,CAAQ,GACzB,CACH,EAGC,OAAA9vM,MAAC,MAAI,WAAU,WACd,SAAAA,EAAA,IAAC,MAAI,WAAU,0DACb,SAAA8gP,EAAM,IAAKn8L,GAAS,OAEpB,MAAMu0M,IAAerwQ,EAAA87D,EAAK,QAAL,YAAA97D,EAAY,IAAK43K,GAASA,EAAK,SAAS,KAAK;;AAAA,KAAW97G,EAAK,QAElF,aACE,MACA,UAAA3kD,EAAA,IAACs1P,GAAA,CACA,KAAM3wM,EAAK,KACX,KAAMu0M,EACN,SAAS,OACT,WAAYH,EAAcp0M,EAAK,IAAI,GAAK,GACxC,eAAgB,IAAMs0M,EAAmBt0M,EAAK,IAAI,KAN1C,GAAGA,EAAK,IAAI,IAAIlV,CAAE,EAQ5B,EAED,EACF,CACD,EAEF,CAAC,EAEDqpN,IAAkB,YAAc,oBCvDzB,MAAM/oG,GAAoB,IAChC/vJ,EAAA,IAAC,OACA,MAAO,CACN,MAAO,OACP,OAAQ,OACR,QAAS,OACT,WAAY,SACZ,eAAgB,QACjB,EACA,SAAAA,MAAC,MAAI,OAAO,CAAE,UAAW,cAAe,gBAAiB,QAAS,EACjE,SAACA,EAAA,IAAA6iF,IAAA,CAAmB,EACrB,GACD,ECMYs2K,IAAgE,CAAC,CAC7E,SAAAxyE,EACA,gBAAAh0F,EACA,eAAAC,EACA,qBAAAwmK,EACA,oBAAAC,CACD,IAAM,CACC,MAAE,EAAAz8R,CAAE,EAAImtC,GAAe,EACvB,CAACkxO,EAAYqe,CAAa,EAAIlvQ,WAAS,EAAK,EAC5C,CAACmvQ,EAAeC,CAAgB,EAAIpvQ,WAAgE,EAAE,EAEtGkuL,EAAqB,IAAM,CACzB,mBAAY,CAAE,KAAM,SAAU,OAAQ,wBAAyB,OAAQ,CAAE,QAAS,aAAc,EAAG,CAC3G,EAGMmhF,EAAczvQ,UAAQ,IAAM,CAE3B,MAAA0vQ,MAAmB,IAWlB,OARgB/yE,EAAS,OAAQjqN,GACnCg9R,EAAa,IAAIh9R,EAAE,OAAO,EACtB,IAEKg9R,EAAA,IAAIh9R,EAAE,OAAO,EACnB,GACP,CAEM,EACL,CAACiqN,CAAQ,CAAC,EAEPgzE,EAAoBzsP,GACrBylF,EAAgB,SAASzlF,CAAO,EAAU,UAC1C0lF,EAAe,SAAS1lF,CAAO,EAAU,SACtC,OAGF0sP,EAAgB1sP,GACdqsP,EAAcrsP,CAAO,GAAK,CAAE,UAAW,GAAO,MAAOA,CAAQ,EAG/D2sP,EAAe,CAAC3sP,EAAiB0nP,EAAoB9pQ,IAAmB,CAC7E0uQ,EAAkB1+O,IAAU,CAC3B,GAAGA,EACH,CAAC5N,CAAO,EAAG,CAAE,UAAA0nP,EAAW,MAAO9pQ,GAASoiB,CAAQ,GAC/C,CACH,EAGC,OAAAu/F,EAAA,KAAC,MAAI,WAAU,sEACd,UAAAzsG,EAAA,IAAC,UACA,QAAS,IAAMs5P,EAAc,CAACre,CAAU,EACxC,UAAU,4GACV,SAAAxuI,EAAA,KAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAAC89H,GAAA,CACA,UAAWrqF,GAAG,8BAA+B,CAC5C,aAAc,CAACwnM,CACf,GACF,QACC,OAAK,WAAU,sBAAuB,SAAAr+Q,EAAE,sCAAsC,EAAE,EACjFojC,EAAA,IAAC+hK,GAAA,CACA,QACC/hK,EAAA,IAAC,MAAI,WAAU,WACd,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,qDACR,WAAY,CACX,aACChI,EAAA,IAACwiF,GAAA,CACA,KAAK,IACL,QAAU9kH,GAAM,CACfA,EAAE,eAAe,EACE46M,EAAA,CACpB,EACA,UAAU,+EACX,CAEF,GAEF,EAED,SAAAt4K,MAAC++H,GAAK,WAAU,4CAA6C,IAC9D,CACD,GACD,EAECk8G,SACC,MAAI,WAAU,sBACb,SAAYwe,EAAA,IAAKtpQ,GAAS,CACpB,MAAA2pQ,EAAYF,EAAazpQ,EAAK,OAAO,EACrC5B,EAASorQ,EAAiBG,EAAU,KAAK,EAG9C,OAAArtJ,EAAA,KAAC,MAAuB,WAAU,+BACjC,UAAAzsG,EAAA,IAAC,MAAI,WAAU,SACb,SAAA85P,EAAU,UACV95P,EAAA,IAAC,SACA,KAAK,OACL,MAAO85P,EAAU,MACjB,SAAWp8R,GAAMm8R,EAAa1pQ,EAAK,QAAS,GAAMzyB,EAAE,OAAO,KAAK,EAChE,OAAQ,IAAMm8R,EAAa1pQ,EAAK,QAAS,EAAK,EAC9C,UAAYzyB,GAAM,CACbA,EAAE,MAAQ,SACAm8R,EAAA1pQ,EAAK,QAAS,EAAK,EAE7BzyB,EAAE,MAAQ,UACbm8R,EAAa1pQ,EAAK,QAAS,GAAOA,EAAK,OAAO,CAEhD,EACA,UAAU,oMACV,YAAaA,EAAK,QAClB,UAAS,KAGVs8G,EAAA,KAAC,OACA,QAAS,IAAMotJ,EAAa1pQ,EAAK,QAAS,EAAI,EAC9C,UAAU,yKACV,MAAM,wBACN,UAAA6P,EAAA,IAAC,OAAK,WAAU,YAAa,SAAA85P,EAAU,MAAM,EAC5C3pQ,EAAK,aACJs8G,OAAA,QAAK,UAAU,yCAAyC,eACrDt8G,EAAK,YACT,MAIJ,EACAs8G,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAAC,UACA,UAAWyzC,GAAG,6BAA8B,CAC3C,uDACCllD,IAAW,UACZ,+EACCA,IAAW,UACZ,EACD,QAAS,IAAM6qQ,EAAqBU,EAAU,KAAK,EACnD,aAAYl9R,EACX2xB,IAAW,UACR,0CACA,oCACJ,EACA,SAAAyR,MAAC69H,GAAM,WAAU,UAAW,GAC7B,EACA79H,EAAA,IAAC,UACA,UAAWyzC,GAAG,6BAA8B,CAC3C,iDAAkDllD,IAAW,SAC7D,2EACCA,IAAW,SACZ,EACD,QAAS,IAAM8qQ,EAAoBS,EAAU,KAAK,EAClD,aAAYl9R,EACX2xB,IAAW,SACR,yCACA,mCACJ,EACA,SAAAyR,MAAC3gC,GAAE,WAAU,UAAW,IACzB,CACD,KAhES8wB,EAAK,OAiEf,EAED,CACF,IAEF,CAEF,EClLO,SAAS4pQ,IAA2BzoK,EAA2B,CACrE,GAAI,EAACA,GAAA,MAAAA,EAAS,cAAe,CAAC,EAExB,MAAAq1F,MAAe,IAEjB,IACG,MAAA1pF,EAAS/L,UAAMI,CAAO,EACtB0oK,MAAwB,IAAI,CAAC,IAAK,KAAM,KAAM,GAAG,CAAC,EACxD,IAAIC,EAA0B,CAAC,EAE/B,UAAWl3N,KAASk6D,EACf,OAAOl6D,GAAU,UAAY,OAAQA,GAASi3N,EAAkB,IAAIj3N,EAAM,EAAE,EAE3Ek3N,EAAc,OAAS,IAC1BC,GAAkBD,EAAetzE,CAAQ,EACzCszE,EAAgB,CAAC,GAER,OAAOl3N,GAAU,UAC3Bk3N,EAAc,KAAKl3N,CAAK,EAKtBk3N,EAAc,OAAS,GAC1BC,GAAkBD,EAAetzE,CAAQ,QAElC/yL,EAAO,CACP,aAAK,2BAA4BA,CAAK,EAE9C,MAAMumQ,EAAY7oK,EAAQ,OAAO,MAAM,KAAK,EAAE,CAAC,EAC3C6oK,GAAoBxzE,EAAA,IAAIwzE,CAAS,EAGtC,OAAO,MAAM,KAAKxzE,CAAQ,EAAE,KAAK,CAClC,CAEA,SAASuzE,GAAkBrsP,EAAkB84K,EAA6B,CACzE,GAAI94K,EAAO,SAAW,GAAK,OAAOA,EAAO,CAAC,GAAM,SAAU,OAEpD,MAAAusP,EAAUvsP,EAAO,CAAC,EAGpB,WAAQ,KAAKusP,CAAO,EAAG,OAE3BzzE,EAAS,IAAIyzE,CAAO,EAGd,MAAAC,EAAe,CAAC,KAAM,WAAW,EAGjCC,EAAY,KAAK,IAAIzsP,EAAO,OAAQ,CAAC,EAE3C,QAAS,EAAI,EAAG,EAAIysP,EAAW,IAAK,CAC7B,MAAAzlO,EAAMhnB,EAAO,CAAC,EAEhB,UAAOgnB,GAAQ,UAAYwlO,EAAa,KAAMtsR,GAAOA,EAAG,KAAK8mD,CAAG,CAAC,EAAG,MAElE,MAAA3nB,EAAUW,EAAO,MAAM,EAAG,EAAI,CAAC,EAAE,KAAK,GAAG,EACtC84K,EAAA,IAAIz5K,EAAQ,MAAM,EAE7B,CCnCO,MAAMqtP,IAAmB,CAAC,CAAE,YAAAhhB,EAAa,KAAAn2O,EAAM,KAAAixO,EAAM,MAAAvzE,KAAmC,CACxF,MACL,iCAAA05F,EAAmC,GACnC,gBAAA7nK,EAAkB,CAAC,EACnB,eAAAC,EAAiB,CAAC,EAClB,mBAAA6nK,EACA,kBAAAC,GACG7zN,GAAkB,EAEhB,CAAE,QAAAyqD,EAAS,OAAQqpK,GAAiB3wQ,UAAQ,IAAM4wQ,IAAsBx3P,CAAI,EAAG,CAACA,CAAI,CAAC,EAIrF,CAAC63O,EAAYqe,CAAa,EAAIlvQ,WAASowQ,CAAgC,EACvE,CAACK,EAAiBC,CAAkB,EAAI1wQ,WAAS,EAAE,EACnD,CAACmE,EAAQsrP,CAAS,EAAIzvP,WAAwC,IAAI,EAKlEijE,EAASwtM,GAAmBF,EAG5BI,EAAkB/wQ,UAA0B,IAAM,CAEjD,MAAAunG,EAAcF,GAAaC,CAAO,EAGlCmoK,MAAkB,IAGZ,OAAAloK,EAAA,QAASW,GAAQ,CACxBA,EAAI,QACKunK,EAAA,IAAIvnK,EAAI,MAAM,CAC3B,CACA,EAGWX,EAAA,QAASW,GAAQ,CACX6nK,IAA2B7nK,CAAG,EACtC,QAAShlF,GAAYusP,EAAY,IAAIvsP,CAAO,CAAC,EACtD,EAEM,MAAM,KAAKusP,CAAW,EAAE,IAAKvsP,IAAa,CAChD,QAAAA,CAAA,EACC,GACA,CAACokF,CAAO,CAAC,EAGN0pK,EAA4B9tP,GAAoB,CAErD,MAAM+tP,EADYtoK,EAAgB,SAASzlF,CAAO,EACnBylF,EAAgB,OAAQj2H,GAAMA,IAAMwwC,CAAO,EAAI,CAAC,GAAGylF,EAAiBzlF,CAAO,EACpGguP,EAAYtoK,EAAe,OAAQl2H,GAAMA,IAAMwwC,CAAO,EAE5DutP,EAAmBQ,CAAU,EAC7BP,EAAkBQ,CAAS,EAC3Bz4N,GAAO,YAAY,CAAE,KAAM,kBAAmB,SAAUw4N,EAAY,EACpEx4N,GAAO,YAAY,CAAE,KAAM,iBAAkB,SAAUy4N,EAAW,CACnE,EAEMC,EAA2BjuP,GAAoB,CAEpD,MAAMguP,EADWtoK,EAAe,SAAS1lF,CAAO,EACnB0lF,EAAe,OAAQl2H,GAAMA,IAAMwwC,CAAO,EAAI,CAAC,GAAG0lF,EAAgB1lF,CAAO,EAChG+tP,EAAatoK,EAAgB,OAAQj2H,GAAMA,IAAMwwC,CAAO,EAE9DutP,EAAmBQ,CAAU,EAC7BP,EAAkBQ,CAAS,EAC3Bz4N,GAAO,YAAY,CAAE,KAAM,kBAAmB,SAAUw4N,EAAY,EACpEx4N,GAAO,YAAY,CAAE,KAAM,iBAAkB,SAAUy4N,EAAW,CACnE,EAEMpgB,EAAYryP,EAAA,YAChBmB,GAAwB,CACxB,MAAM4+B,EAA4B5+B,EAAM,KAEpC,GAAA4+B,EAAQ,OAAS,yBAA0B,CACxC,MAAA35B,EAASivC,IAA6B,UAAUyvD,GAAc/kE,EAAQ,KAAM,EAAE,CAAC,EAErF,GAAI35B,EAAO,QAAS,CACnB,MAAMmB,EAAOnB,EAAO,KAEhB,GAAAmB,EAAK,cAAgBupP,EACxB,OAGD,OAAQvpP,EAAK,OAAQ,CACpB,IAAK,UACJ6pP,EAAU7pP,CAAI,EACd,MACD,IAAK,SACJ8qQ,EAAmB9qQ,EAAK,MAAM,EAC9B,MACD,IAAK,WACJspQ,EAAc,EAAI,EAClB,MACD,QACCzf,EAAU7pP,CAAI,EACd,MACF,CACD,CAEF,EACA,CAACupP,CAAW,CACb,EAEA,OAAAjwP,GAAS,UAAWwxP,CAAS,EAI3BruI,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,UAAU,wDACd,UAACA,OAAA,OAAI,UAAU,mCACb,UAAA4nI,EACAvzE,CAAA,EACF,QACC,MAAI,WAAU,wDACd,SAACr0D,EAAA,YAAI,UAAU,mCACb,WAAAl+G,GAAA,YAAAA,EAAQ,UAAW,WAClBk+G,EAAA,YAAI,UAAU,qDACd,UAACzsG,MAAA,OAAI,UAAU,mCAAoC,GACnDA,MAAC,OAAI,SAAO,YACXzR,EAAO,KAAQk+G,OAAA,OAAI,UAAU,oBAAoB,mBAAOl+G,EAAO,IAAI,KAAC,EACrEyR,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IACRtoC,GAAO,YAAY,CAAE,KAAM,oBAAqB,kBAAmB,QAAS,EAE7E,eAAC68F,IAAM,KACR,EACD,GAEA/wI,GAAA,YAAAA,EAAQ,UAAW,UAClBk+G,EAAA,YAAI,UAAU,qDACd,UAAAzsG,EAAA,IAAC,OACA,UAAWyzC,GACV,wBACAllD,EAAO,WAAa,EAAI,cAAgB,aACzC,CACD,EACAk+G,OAAC,MAAI,WAAU,oBAAoB,qBAASl+G,EAAO,SAAS,IAAC,IAC9D,EAEA8+D,EAAO,OAAS,GAChBrtD,EAAA,IAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAAO,QAAS,IAAMuuL,EAAc,CAACre,CAAU,EAC3E,SAAAj7O,EAAA,IAAC89H,GAAA,CACA,UAAWrqF,GAAG,2CAA4C,CACzD,aAAcwnM,CACd,IAEH,IAEF,CACD,IACD,EAEAxuI,OAAC,MAAI,WAAU,4EACd,UAACA,OAAA,OAAI,UAAU,MACd,UAAAzsG,EAAA,IAAC2yM,GAAU,QAAQrhH,EAAS,SAAS,QAAQ,EAC7CtxF,MAACo7P,IAAgB,YAAAngB,EAAwB,OAAA5tL,CAAgB,IAC1D,EACCikC,GAAWA,EAAQ,QACnBtxF,EAAA,IAACm5P,IAAA,CACA,SAAU4B,EACV,gBAAApoK,EACA,eAAAC,EACA,qBAAsBooK,EACtB,oBAAqBG,CAAA,EACtB,CAEF,IACD,CAEF,EAEAZ,IAAiB,YAAc,mBAE/B,MAAMc,IAA0B,CAAC,CAAE,WAAApgB,EAAY,OAAA5tL,CAC9C,IAAArtD,EAAA,IAAC,OACA,UAAWyzC,GAAG,kBAAmB,CAChC,UAAW,CAACwnM,EACZ,mDAAoDA,CAAA,CACpD,EACA,SAAA5tL,EAAO,OAAS,GAAKrtD,EAAA,IAAC2yM,IAAU,OAAQtlJ,EAAQ,SAAS,KAAM,GACjE,EAGK+tM,IAAkB7iF,OAAK8iF,GAAuB,EAE9CT,IAAyBx3P,GAA6B,CAC3D,GAAI,CAACA,EACJ,MAAO,CAAE,QAAS,GAAI,OAAQ,EAAG,EAG5B,MAAApK,EAAQoK,EAAK,QAAQqqF,EAAqB,EAEhD,OAAIz0F,IAAU,GACN,CAAE,QAASoK,EAAM,OAAQ,EAAG,EAG7B,CACN,QAASA,EAAK,MAAM,EAAGpK,CAAK,EAC5B,OAAQoK,EAAK,MAAMpK,EAAQy0F,GAAsB,MAAM,CACxD,CACD,ECtOa6tK,IAAwB,IAAM,CACpC,MAAE,CAAE,EAAIvxP,GAAe,EAEvB+xH,EAAUrzI,cAAa/qB,GAA2C,CACvEA,EAAE,eAAe,EACjB,OAAO,YAAY,CAAE,KAAM,SAAU,OAAQ,wBAAyB,OAAQ,CAAE,QAAS,UAAa,GAAG,GAAG,CAC7G,EAAG,EAAE,EAEL,aACE,MAAI,WAAU,iFACd,SAAC+uI,EAAA,YAAI,UAAU,sBACd,UAACA,OAAA,OAAI,UAAU,oBACd,UAACzsG,MAAA,KAAE,UAAU,mEAAoE,SAChF,OAAK,WAAU,mDACd,WAAE,6BAA6B,CACjC,IACD,QACC,MACA,UAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,oCACR,WAAY,CACX,aAAehI,MAAAwiF,GAAA,CAAW,KAAK,IAAI,QAAAs5C,EAAkB,UAAU,QAAS,GACzE,GAEF,EACA97H,EAAA,IAAC,KACA,KAAMksG,GAAa,qCAAsC,eAAe,EACxE,UAAU,YACV,MAAO,CAAE,MAAO,SAAU,EACzB,WAAE,uCAAuC,GAC3C,EACD,CACD,EAEF,EC3BaqvJ,IAAkChjF,EAAA,KAAK,CAAC,CAAE,QAAA/vJ,KAAoD,CAC1G,KAAM,CAACgzO,EAAeC,CAAgB,EAAIrxQ,WAAS,EAAK,EAClD,CAAE,MAAA6d,EAAO,KAAApa,EAAO,YAAe,KAAK,MAAM26B,EAAQ,MAAQ,IAAI,EAEpE,GAAIgzO,EACI,YAGR,MAAME,EAAc7tQ,IAAS,OACvB8tQ,EAAWD,EACd,yCACA,4CACGE,EAAiBF,EACpB,+CACA,kDACGG,EAAYH,EACf,0CACA,6CAEH,OAEEjvJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,MAAO,MAAO,4BACvE,UAACzsG,MAAA,QAAK,UAAU,yBAA0B,GACzCA,EAAA,YAAK,MAAO,CAAE,WAAY,QAC1B,SAAAA,MAACgI,GAAM,SAAS2zP,EAAU,GAAG,OAAO,CACrC,IACD,EAEAlvJ,EAAA,KAAC,OACA,UAAU,6CACV,MAAO,CACN,aAAc,MACd,QAAS,OACT,UAAW,OACX,QAAS,iBACT,eAAgB,QACjB,EACA,UAAAzsG,EAAA,IAAC,MAAI,WAAU,oCACd,SAAAA,EAAA,IAACgI,GAAM,SAAS4zP,EAAgB,GAAG,OAAO,OAAQ,CAAE,MAAA3zP,CAAA,CAAS,GAC9D,EACAjI,EAAA,IAACqiF,GAAA,CACA,MAAO,CAAE,MAAO,OAAQ,QAAS,MAAO,aAAc,KAAM,EAC5D,QAAU3kH,GAAM,CACfA,EAAE,eAAe,EACjB+9R,EAAiB,EAAI,EACrBh5N,GAAO,YAAY,CAAE,KAAM,cAAe,YAAa,mBAAoB,CAC5E,EACA,SAACziC,EAAA,IAAAgI,GAAA,CAAM,QAAS6zP,EAAW,GAAG,MAAO,IACtC,GACD,EACD,CAEF,CAAC,ECvDYC,IAAqB,CAAC,CAAE,KAAArtK,EAAM,kBAAAstK,EAAmB,iBAAAC,EAAkB,QAAAC,KAA+B,CACxG,MAAE,EAAAr/R,CAAE,EAAImtC,GAAe,EACvB,CAACkxO,EAAYqe,CAAa,EAAIlvQ,WAAS,EAAK,EAGjD,OAAAqiH,EAAA,KAAC,MAAI,WAAU,OACd,UAAAA,EAAA,KAAC,OACA,UAAU,+DACV,QAAS,IAAM6sJ,EAAc,CAACre,CAAU,EACxC,UAAAj7O,EAAA,IAAC,OACA,MAAO,CACN,MAAO,GACP,OAAQ,GACR,QAAS,OACT,WAAY,SACZ,eAAgB,QACjB,EACA,SAAAA,EAAA,IAAC,QACA,UAAW,wBACX,MAAO,CAAE,MAAO,6BAA8B,SAAU,GAAI,aAAc,QAAS,GACpF,CACD,EACAysG,OAAC,MAAI,WAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,wCAAyC,SACxD,OAAK,WAAU,mCAAoC,SAAApjC,EAAE,4BAA4B,EAAE,EACpF6vI,OAAC,OAAK,WAAU,4CACd,UAAAsvJ,EAAkB,eAAe,EAAE,MAAIC,EAAiB,eAAe,EAAE,IAAEp/R,EAAE,QAAQ,GACvF,SACCwlH,GAAY,WAAWqM,EAAO,EAAI,cAAgB,YAAa,cAAEA,EAAK,QAAQ,CAAC,EAAE,IACnF,QACC,OAAK,WAAW,2BAA2BwsJ,EAAa,KAAO,MAAM,EAAI,IAC3E,EAECA,SACC,MAAI,WAAU,mFACd,SAACj7O,MAAA0+N,GAAA,CAAS,SAAUu9B,CAAS,EAC9B,IAEF,CAEF,EAEaC,IAAuB,IAAM,CACnC,MAAE,CAAE,EAAInyP,GAAe,EAE5B,OAAA0iG,EAAA,KAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAAC+vJ,GAAkB,IACnB/vJ,MAAC,OAAK,WAAU,wCAAyC,SACxD,OAAK,WAAU,mCAAoC,WAAE,iCAAiC,CAAE,IAC1F,CAEF,EAEam8P,IAA0B,CAAC,CAAE,UAAAC,KAAwC,CAC3E,MAAE,EAAAx/R,CAAE,EAAImtC,GAAe,EAE5B,OAAA0iG,EAAA,KAAC,MAAI,WAAU,sBACd,UAACA,OAAA,OAAI,UAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,2FAA4F,SAC3G,OAAK,WAAU,mCAAoC,SAAApjC,EAAE,kCAAkC,CAAE,IAC3F,EACCojC,EAAA,YAAK,UAAU,4CAA6C,SAAUo8P,CAAA,IACxE,CAEF,EC3DMC,IAA4D,CAAC,CAAE,SAAAvsD,EAAU,MAAAnzC,EAAO,UAAA2/F,EAAW,QAAAC,KAAc,CAC9G,KAAM,CAAE,EAAA3/R,CAAA,EAAMmtC,GAAe,MAAM,EAE7B+yK,EAAc,IAAM,CACzB,QAAQ,IAAIgzB,CAAQ,EACpBrtK,GAAO,YAAY,CAClB,KAAM,WACN,KAAM,KAAOqtK,EACb,OAAQ,CACP,KAAMwsD,CAAA,CACP,CACA,CACF,EAEA,OACEt8P,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,+BAAgC,CAAE,MAAO+/L,EAAM,QAAQ,CAAC,CAAE,CAAC,EACtF,SAAA38J,EAAA,IAAC,OACA,QAAS88K,EACT,UAAU,0GACV,SAAArwE,EAAA,KAAC,MAAI,WAAU,0CACd,UAACA,OAAA,QAAK,UAAU,mDACd,UAAAqjG,EAAS,MAAM,GAAG,EAAE,GAAG,EAAE,EAAE,IAAEwsD,IAAcC,EAAUD,EAAY,GAAGA,CAAS,IAAIC,CAAO,IAC1F,EACCv8P,EAAA,YAAK,UAAU,wCACd,WAAS,MAAM,GAAG,EAAE,MAAM,EAAG,EAAE,EAAE,KAAK,GAAG,EAC3C,QACC,OAAK,WAAU,iFACd,SAAM28J,EAAA,QAAQ,CAAC,CACjB,GACD,KAEF,CAEF,ECjCM6/F,IAA4E,CAAC,CAAE,QAAAhzO,KAAc,CAClG,KAAM,CAACizO,EAA+BC,CAAgC,EAAItyQ,WAAS,EAAK,EAGvF,OAAAqiH,EAAA,KAAC,MAAI,WAAU,4BACd,UAAAA,EAAA,KAAC,OACA,QAAS,IAAMiwJ,EAAiC,CAACD,CAA6B,EAC9E,UAAU,mJACV,UAAAz8P,MAAC,OACA,UAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,gCACR,MAAOwhB,EAAQ,OACf,OAAQ,CAAE,MAAOA,EAAQ,MAAO,IAElC,QACC,OAAK,WAAW,2BAA2BizO,EAAgC,KAAO,MAAM,EAAI,IAC9F,EAECA,SACC,MAAI,WAAU,sBACb,SAAQjzO,EAAA,IAAI,CAAC36B,EAAQyxD,IACrBtgD,EAAA,IAACq8P,IAAA,CAEA,SAAUxtQ,EAAO,SACjB,MAAOA,EAAO,MACd,UAAWA,EAAO,UAClB,QAASA,EAAO,QAChB,SAAS,YACT,QAASA,EAAO,WANXyxD,CAAA,CAQN,CACF,IAEF,CAEF,ECkBMq8M,IAAUpkF,EAAA,KACdzzK,GAAwB,CACxB,KAAM,CAAE,OAAAm3F,EAAQ,eAAA8hJ,EAAgB,QAAAv1N,CAAY,EAAA1jB,EAGtC83P,EAAgB50Q,SAAO,CAAC,EAExB,CAAC60Q,EAAS,CAAE,OAAApxQ,CAAA,CAAQ,EAAIN,GAC7B6U,MAAC,OAAI,UAAU,+BACd,eAAC88P,IAAgB,IAAGh4P,EAAO,CAC5B,EACD,EAEA7c,mBAAU,IAAM,CAGT,MAAA80Q,EAAkBH,EAAc,UAAY,EAE9C3gK,GAAUxwG,IAAW,GAAKA,IAAW,KAAYA,IAAWmxQ,EAAc,UACxEG,GACWhf,EAAAtyP,EAASmxQ,EAAc,OAAO,EAE9CA,EAAc,QAAUnxQ,IAEvB,CAACA,EAAQwwG,EAAQ8hJ,EAAgBv1N,CAAO,CAAC,EAGrCq0O,CACR,EAEA7kH,GACD,EAIa8kH,IAAiB,CAAC,CAC9B,QAAAt0O,EACA,oBAAAw0O,EACA,WAAA/hB,EACA,OAAAh/I,EACA,YAAAghK,EACA,eAAAxH,EACA,kBAAAsC,EACA,kBAAAmF,EACA,oBAAAC,EACA,mBAAAC,EACA,SAAAnJ,CACD,IAA2B,iBACpB,MAAE,EAAAr3R,CAAE,EAAImtC,GAAe,EACvB,CAAE,WAAAm7B,EAAY,eAAA4uI,EAAgB,kBAAA1uI,EAAmB,KAAAjJ,CAAA,EAAS0K,GAAkB,EAC5E,CAACw2N,EAAoBC,CAAqB,EAAIlzQ,WAAS,EAAI,EAC3D,CAACmzQ,EAAqBC,CAAsB,EAAIpzQ,WAAS,EAAK,EAC9D,CAACqzQ,EAAiBC,CAAkB,EAAItzQ,WAAS,EAAK,EACtD,CAACwqQ,EAAWC,CAAY,EAAIzqQ,WAAS,EAAK,EAC1C,CAACuzQ,EAAeC,CAAgB,EAAIxzQ,WAAS,EAAE,EAC/C,CAACyzQ,EAAUC,CAAW,EAAI1zQ,WAAe+xC,GAAQ,MAAM,EACvD,CAAC4hO,EAAYC,CAAa,EAAI5zQ,WAAmB,EAAE,EACnD,CAAE,iBAAAwzL,CAAiB,EAAIJ,GAAmB,EAGhDv1L,YAAU,IAAM,CACT,MAAAm+C,GAAiBx8C,IAAwB,CAC9C,MAAMmY,GAAMnY,GAAM,KACdmY,GAAI,OAAS,kBAAoBA,GAAI,UAAY,QAAUA,GAAI,YAAcymB,EAAQ,IAAMosO,GAC9FoJ,EAAe7b,IAAez1J,IAAay1J,GAAYpgP,GAAI,OAAQmwP,EAAsB,CAAC,CAE5F,EAEO,+BAAiB,UAAW9rN,EAAa,EACzC,IAAM,OAAO,oBAAoB,UAAWA,EAAa,CAC9D,GAACwuN,EAAWpsO,EAAQ,EAAE,CAAC,EAGpB,MAAAywO,EAAqBxwQ,cAAY,IAAM,CAC5CgtQ,EAAejtO,EAAQ,EAAE,CACvB,GAACitO,EAAgBjtO,EAAQ,EAAE,CAAC,EAGzB27N,EAAkB17P,cAAY,IAAM,CACzCosQ,EAAa,EAAI,EACA+I,EAAAp1O,EAAQ,MAAQ,EAAE,EACrBw1O,EAAAx1O,EAAQ,QAAU,EAAE,EAClCs1O,EAAY3hO,GAAQ,MAAM,GAGxB,CAAC3T,EAAQ,KAAMA,EAAQ,OAAQ2T,CAAI,CAAC,EAGjC8hO,EAAmBx1Q,cAAY,IAAM,CAC1CosQ,EAAa,EAAK,EACD+I,EAAAp1O,EAAQ,MAAQ,EAAE,EACrBw1O,EAAAx1O,EAAQ,QAAU,EAAE,EAClCs1O,EAAY3hO,GAAQ,MAAM,GACxB,CAAC3T,EAAQ,KAAMA,EAAQ,OAAQ2T,CAAI,CAAC,EAGjC+hO,EAAiBz1Q,cAAY,IAAM,CACxCosQ,EAAa,EAAK,EAElBpyN,GAAO,YAAY,CAClB,KAAM,sBACN,MAAOja,EAAQ,GACf,qBAAsBm1O,EACtB,OAAQI,CAAA,CACR,GACC,CAACv1O,EAAQ,GAAIm1O,EAAeI,CAAU,CAAC,EAGpCI,EAAqB11Q,cAAY,IAAM,CACrCg6C,GAAA,YAAY,CAAE,KAAM,eAAgB,QAAS,OAAQ,UAAWja,EAAQ,GAAI,GACjF,CAACA,EAAQ,EAAE,CAAC,EAET,CAACimE,EAAM2vK,EAAoBC,CAA4B,EAAIr0Q,UAAQ,IAAM,CAC1E,GAAAw+B,EAAQ,OAAS,MAAQA,EAAQ,OAAS,QAAaA,EAAQ,MAAQ,kBAAmB,CACvF,MAAAkjF,GAAOne,GAA+B/kE,EAAQ,IAAI,EACxD,MAAO,CAACkjF,IAAA,YAAAA,GAAM,KAAMA,IAAA,YAAAA,GAAM,aAAcA,IAAA,YAAAA,GAAM,sBAAsB,EAG9D,OAAC,OAAW,OAAW,MAAS,GACrC,CAACljF,EAAQ,KAAMA,EAAQ,GAAG,CAAC,EAKxB81O,EACLriK,IAAU+gK,GAAA,YAAAA,EAAqB,OAAQ,iBACpCA,GAAA,YAAAA,EAAqB,KACrB,OAEEuB,EACLtiK,IAAU+gK,GAAA,YAAAA,EAAqB,OAAQ,aAAan0Q,GAAAm0Q,GAAA,YAAAA,EAAqB,OAArB,YAAAn0Q,GAA2B,SAAS4kG,KAEnF+wK,GAAwBviK,IAAU+gK,GAAA,YAAAA,EAAqB,OAAQ,6BAE/DnvQ,GAAO26B,EAAQ,OAAS,MAAQA,EAAQ,IAAMA,EAAQ,IAEtDi2O,EAAc,2BACdC,GAAa,gCACbC,EAAe,6BACfC,GAAiB,sCAEjB,CAACvqB,GAAMvzE,EAAK,EAAI92K,UAAQ,IAAM,CACnC,OAAQ6D,GAAM,CACb,IAAK,QACG,OACNmS,EAAA,IAAC,QACA,UAAU,wBACV,MAAO,CAAE,MAAO0+P,GAAY,aAAc,QAAS,EAAG,EACvD1+P,MAAC,OAAK,OAAO,CAAE,MAAO0+P,GAAY,WAAY,MAAO,EAAI,SAAE9hS,EAAA,YAAY,CAAE,EAC1E,EACD,IAAK,wBACG,OACNojC,EAAA,IAAC,QACA,UAAU,wBACV,MAAO,CAAE,MAAO0+P,GAAY,aAAc,QAAS,EAAG,EACvD1+P,MAAC,OAAK,OAAO,CAAE,MAAO0+P,GAAY,WAAY,MAAO,EAAI,SAAE9hS,EAAA,qBAAqB,CAAE,EACnF,EACD,IAAK,UACG,OACN2hS,EACEv+P,EAAA,IAAA+vJ,GAAA,EAAkB,EAEnB/vJ,EAAA,IAAC,QACA,UAAU,2BACV,MAAO,CAAE,MAAOy+P,EAAa,aAAc,QAAS,EAAG,EAEzDhyJ,OAAC,QAAK,MAAO,CAAE,MAAOgyJ,EAAa,WAAY,MAAW,YAAA7hS,EAAE,uBAAuB,EAAE,IAAC,EACvF,EACD,IAAK,iBACE,MAAAiiS,GAAetxK,GAAoC/kE,EAAQ,IAAI,EACrE,OAAIq2O,KAAiB,OACb,CAAC,KAAM,IAAI,EAEZ,CACNL,GACEx+P,EAAA,IAAA+vJ,GAAA,EAAkB,EAEnB/vJ,EAAA,IAAC,QACA,UAAU,yBACV,MAAO,CAAE,MAAOy+P,EAAa,aAAc,QAAS,EAAG,EAEzDz+P,MAAC,OAAK,OAAO,CAAE,MAAOy+P,EAAa,WAAY,MAAO,EACpD,SAAaI,GAAA,OAAS,eACpBjiS,EAAE,0BAA2B,CAAE,WAAYiiS,GAAa,UAAW,CAAC,EACpEjiS,EAAE,iCAAkC,CAAE,WAAYiiS,GAAa,UAAY,EAC/E,EACD,EACD,IAAK,oBACG,OACN7+P,EAAA,IAAC,QACA,UAAU,wBACV,MAAO,CAAE,MAAO2+P,EAAc,aAAc,QAAS,EAAG,EACzD3+P,MAAC,OAAK,OAAO,CAAE,MAAO2+P,EAAc,WAAY,MAAO,EAAI,SAAE/hS,EAAA,oBAAoB,CAAE,EACpF,EACD,IAAK,wBACJ,MAAO,CAAC,EACT,IAAK,kBACE,MAAAkiS,GAAc,CAACthI,GAAkB/zD,KACtCzpE,EAAA,IAAC,OACA,MAAO,CACN,MAAO,GACP,OAAQ,GACR,QAAS,OACT,WAAY,SACZ,eAAgB,QACjB,EACA,SAAAA,EAAA,IAAC,QACA,UAAW,mBAAmBw9H,EAAQ,GACtC,MAAO,CAAE,MAAA/zD,GAAO,SAAU,GAAI,aAAc,QAAS,GACtD,CACD,EAEM,OACN20L,GAAuB,KACtBA,IAAuB,iBACtBU,GAAY,QAASF,EAAc,EAEnCE,GAAY,QAASJ,EAAU,EAE7BjwK,GAAS,KACZqwK,GAAY,QAASH,CAAY,EAC9BL,EACHQ,GAAY,QAASJ,EAAU,EAE/B1+P,MAAC+vJ,GAAkB,IAEpBquG,GAAuB,KACtBA,IAAuB,iBACtBp+P,EAAA,IAAC,OAAK,OAAO,CAAE,MAAOy+P,EAAa,WAAY,QAC7C,SAAE7hS,EAAA,2BAA2B,CAC/B,SAEC,OAAK,OAAO,CAAE,MAAO8hS,GAAY,WAAY,MAC5C,WAAA9hS,EAAE,iCAAiC,EACrC,EAEE6xH,GAAS,KACZzuF,EAAA,IAAC,OAAK,OAAO,CAAE,MAAOy+P,EAAa,WAAY,QAAW,SAAA7hS,EAAE,uBAAuB,CAAE,GAClF0hS,EACHt+P,EAAA,IAAC,OAAK,OAAO,CAAE,MAAO0+P,GAAY,WAAY,QAAW,SAAE9hS,EAAA,wBAAwB,EAAE,QAEpF,OAAK,OAAO,CAAE,MAAO6hS,EAAa,WAAY,MAAW,WAAA7hS,EAAE,2BAA2B,CAAE,EAE3F,EACD,IAAK,WACG,OACNojC,EAAA,IAAC,QACA,UAAU,2BACV,MAAO,CAAE,MAAOy+P,EAAa,aAAc,QAAS,EACrD,EACAz+P,MAAC,OAAK,OAAO,CAAE,MAAOy+P,EAAa,WAAY,MAAO,EAAI,SAAE7hS,EAAA,4BAA4B,CAAE,EAC3F,EACD,QACQ,OAAC,KAAM,IAAI,EACpB,EACE,CAACixB,GAAM0wQ,EAAoB/1O,EAASg2O,GAAuBJ,EAAoB3vK,EAAM6vK,EAAyB1hS,CAAC,CAAC,EAE7GmiS,GAAmC,CACxC,QAAS,OACT,WAAY,SACZ,IAAK,OACL,aAAc,OACd,UAAW,YACZ,EAEMC,GAA8B,CACnC,OAAQ,EACR,WAAY,WACZ,UAAW,aACX,aAAc,UACf,EAEM5nD,EAAOptN,EAAA,QACZ,IAAOw+B,EAAQ,MAAQ,OAAS+kE,GAA4B/kE,EAAQ,IAAI,EAAI,KAC5E,CAACA,EAAQ,IAAKA,EAAQ,IAAI,CAC3B,EAEMy2O,GAAej1Q,UAAQ,IACxBw+B,EAAQ,OAAS,OAASA,EAAQ,MAAQ,YAAc,CAACA,EAAQ,QAC7D+kE,GAA4B/kE,EAAQ,IAAI,EAEzC,KACL,CAACA,EAAQ,KAAMA,EAAQ,IAAKA,EAAQ,QAASA,EAAQ,IAAI,CAAC,EAE7D,GAAI4uL,EAAM,CACH,MAAA8nD,GAAY31Q,IACjByW,EAAA,IAAC,QACA,UAAW,mBAAmBzW,EAAI,GAClC,MAAO,CAAE,MAAO,2BAA4B,aAAc,QAAS,EAAG,EAGxE,OAAQ6tN,EAAK,KAAM,CAClB,IAAK,qBACL,IAAK,cAEA,OAAA5uL,EAAQ,OAAS,OAAS4uL,EAAK,YAAc,MAAM,QAAQA,EAAK,UAAU,EAG3E3qG,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,MAAM,EAChBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAChC,SAAEpjC,EAAA,8CAA8C,CAClD,IACD,QACCk8R,IAAkB,OAAO1hD,EAAK,WAAY,GAAI5uL,EAAQ,EAAI,IAC5D,EAOAikF,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA3nD,EAAK,YACLp3M,EAAA,IAAC,QACA,UAAU,uBACV,MAAO,CAAE,MAAO,yCAA0C,aAAc,QAAS,IAGlFk/P,GAAS9nD,EAAK,OAAS,cAAgB,OAAS,MAAM,QAEtD,OAAK,OAAO,CAAE,WAAY,QACzB,SAAKA,EAAA,YACHx6O,EAAE,0CAA0C,EAC5Cw6O,EAAK,mBACJx6O,EAAE,iDAAiD,EACnDA,EAAE,iCAAiC,CACxC,IACD,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,SAAWA,EAAK,KAC3B,SAAS,OACT,eAAgB5uL,EAAQ,eACxB,UAAWA,EAAQ,QACnB,WAAAyyN,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,gBACJ,OAEExsJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA3nD,EAAK,YACLp3M,EAAA,IAAC,QACA,UAAU,uBACV,MAAO,CAAE,MAAO,yCAA0C,aAAc,QAAS,IAGlFk/P,GAAS,QAAQ,EAElBl/P,MAAC,OAAK,OAAO,CAAE,WAAY,MACzB,WAAAo3M,EAAK,YACHx6O,EAAE,0CAA0C,EAC5Cw6O,EAAK,mBACJx6O,EAAE,iDAAiD,EACnDw6O,EAAK,aAAe,EACnBx6O,EAAE,wCAAwC,EAC1CA,EAAE,kDAAmD,CACrD,WAAYw6O,EAAK,WACjB,CACN,IACD,EACAp3M,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,KACX,SAAS,OACT,eAAgB5uL,EAAQ,eACxB,UAAWA,EAAQ,QACnB,WAAAyyN,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,mBACJ,OAEExsJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA3nD,EAAK,YACLp3M,EAAA,IAAC,QACA,UAAU,uBACV,MAAO,CAAE,MAAO,yCAA0C,aAAc,QAAS,IAGlFk/P,GAAS,SAAS,EAEnBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAChC,SAAKo3M,EAAA,aAAe5uL,EAAQ,OAAS,MACnC5rD,EAAE,0CAA0C,EAC5C4rD,EAAQ,OAAS,MAChB5rD,EAAE,0CAA0C,EAC5CA,EAAE,sCAAsC,CAC7C,IACD,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,KACX,SAAS,OACT,eAAgB5uL,EAAQ,eACxB,UAAWA,EAAQ,QACnB,WAAAyyN,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,iBAEH,OAAAxsJ,EAAA,KAAC,MAAI,OAAOsyJ,GACV,UAAAG,GAAS,QAAQ,EAClBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAChC,WAAK,KACLA,EAAA,IAACgI,GAAA,CACA,QAAQ,4CACR,WAAY,CAAE,KAAMhI,EAAA,IAAC,QAAK,EAAQ,EAClC,OAAQ,CAAE,MAAOo3M,EAAK,MAAO,KAAMA,EAAK,IAAK,IAG9Cp3M,EAAA,IAACgI,GAAA,CACA,QAAQ,oCACR,WAAY,CAAE,KAAMhI,EAAA,IAAC,QAAK,EAAQ,EAClC,OAAQ,CAAE,MAAOo3M,EAAK,KAAM,GAG/B,IACD,EAGF,IAAK,iBAAyB,CACvB,MAAA48C,GAAS58C,EAAa,OAAS,CAAC,EAErC,OAAAp3M,EAAA,IAAC+zP,GAAA,CACA,MAAAC,GACA,QAAU58C,EAAa,QACvB,SAAW+nD,IAAiB,CACvB,OAAO18N,GAAW,MAAeA,IAAA,MAAAA,GAAQ,cACrCA,GAAA,YAAY,CAAE,KAAM,iBAAkB,QAAS,CAAE,MAAO08N,EAAa,EAAG,CAEjF,EACA,SAAUlL,GAAYh4J,CAAA,CACvB,EAGF,IAAK,iBACJ,OAEEwQ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA3nD,EAAK,YACLp3M,EAAA,IAAC,QACA,UAAU,uBACV,MAAO,CAAE,MAAO,yCAA0C,aAAc,QAAS,IAGlFk/P,GAAS,UAAU,EAEnBl/P,EAAA,YAAK,MAAO,CAAE,WAAY,MAAO,EAChC,SAAKo3M,EAAA,YACHx6O,EAAE,0CAA0C,EAC5CA,EAAE,mCAAmC,CACzC,IACD,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,QACX,SAAUykC,IAAoBzkC,EAAK,MAAQ,EAAE,GAAK,MAClD,UAAW5uL,EAAQ,QACnB,WAAAyyN,EACA,eAAgBge,EAChB,aAAc,IAAMx2N,GAAO,YAAY,CAAE,KAAM,WAAY,KAAM,KAAO20K,EAAK,IAAM,IACpF,EACD,EAEF,IAAK,WAIJ,OAFuB5uL,EAAQ,OAAS,OAAS4uL,EAAK,YAAc,MAAM,QAAQA,EAAK,UAAU,EAK9F3qG,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,OAAO,EACjBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAChC,SAAEpjC,EAAA,yCAAyC,CAC7C,IACD,EACAojC,EAAA,IAAC44P,IAAA,CACA,MAAOxhD,EAAK,YAAc,CAAC,EAC3B,qBAAuBvrJ,IAAa,CACnCsxM,GAAA,MAAAA,EAAsBtxM,GACvB,EACA,GAAIrjC,GAAA,YAAAA,EAAS,IACd,EACD,EAOAikF,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,WAAW,EACrBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAChC,WAAQ,OAAS,MACfo3M,EAAK,mBACJx6O,EAAE,iDAAiD,EACnDw6O,EAAK,qBAAuBA,EAAK,oBAAsB,EACtDx6O,EAAE,0CAA2C,CAC7C,MAAOw6O,EAAK,mBACZ,GACAx6O,EAAE,iCAAiC,EACrCA,EAAE,6BAA6B,CACnC,IACD,QACC+2R,GACA,UAAAlnJ,EAAA,KAACmnJ,GAAA,CACA,QAAS,IAAMnxN,GAAO,YAAY,CAAE,KAAM,WAAY,KAAM20K,EAAK,QAAS,EACzE,YAAA/rN,GAAA+rN,EAAK,OAAL,YAAA/rN,GAAW,WAAW,OAAQ2U,EAAA,IAAC,QAAK,SAAC,MACtCysG,OAAC,OAAK,WAAU,qEACd,UAA6BkvI,GAAAvkC,EAAK,MAAQ,EAAE,EAAI,IAChDA,EAAK,QACP,QACC,MAAI,OAAO,CAAE,SAAU,GAAK,EAC7Bp3M,EAAA,IAAC,QACA,UAAW,gCACX,MAAO,CAAE,SAAU,KAAM,OAAQ,OAAQ,GAC1C,GAEF,IACD,EAEF,IAAK,oBACJ,OAEEysG,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,WAAW,EACrBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAAI,SAAEpjC,EAAA,gCAAgC,CAAE,IAC3E,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,QACX,SAAS,WACT,UAAW5uL,EAAQ,QACnB,WAAAyyN,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,oBACJ,OAEExsJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,eAAe,EACzBl/P,MAAC,OAAK,OAAO,CAAE,WAAY,QACzB,SAAAwoB,EAAQ,OAAS,MACf4uL,EAAK,mBACJx6O,EAAE,8DAA8D,EAChEA,EAAE,8CAA8C,EACjDw6O,EAAK,mBACJx6O,EAAE,0DAA0D,EAC5DA,EAAE,0CAA0C,CACjD,IACD,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,QACX,SAAS,gBACT,WAAA6jC,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,qBACJ,OAEExsJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,eAAe,EACzBl/P,MAAC,OAAK,OAAO,CAAE,WAAY,QACzB,SAAAwoB,EAAQ,OAAS,MACf4uL,EAAK,mBACJx6O,EAAE,+DAA+D,EACjEA,EAAE,+CAA+C,EAClDw6O,EAAK,mBACJx6O,EAAE,2DAA2D,EAC7DA,EAAE,2CAA2C,CAClD,IACD,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,QACX,SAAS,eACT,WAAA6jC,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,0BACJ,OAEExsJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,WAAW,EACrBl/P,MAAC,OAAK,OAAO,CAAE,WAAY,QACzB,SAAAwoB,EAAQ,OAAS,MACf4uL,EAAK,mBACJx6O,EAAE,iEAAiE,EACnEA,EAAE,iDAAiD,EACpDw6O,EAAK,mBACJx6O,EAAE,6DAA6D,EAC/DA,EAAE,6CAA6C,CACpD,IACD,EACAojC,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,KACX,KAAMA,EAAK,QACX,SAAS,WACT,WAAA6jC,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,cACJ,OAEExsJ,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,QAAQ,EAClBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAChC,SAAQwoB,EAAA,OAAS,MACjBxoB,EAAA,IAACgI,GAAA,CACA,QACCovM,EAAK,mBACF,yDACA,yCAEJ,WAAY,CAAE,WAAO,OAAM,UAAAA,EAAK,MAAM,CAAQ,EAC9C,OAAQ,CAAE,MAAOA,EAAK,KAAM,IAG7Bp3M,EAAA,IAACgI,GAAA,CACA,QACCovM,EAAK,mBACF,qDACA,qCAEJ,WAAY,CAAE,WAAO,OAAM,UAAAA,EAAK,MAAM,CAAQ,EAC9C,OAAQ,CAAE,MAAOA,EAAK,KAAM,GAG/B,IACD,EACAp3M,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,EAAK,MAASA,EAAK,YAAc,KAAKA,EAAK,WAAW,IAAM,IAClE,KAAMA,EAAK,QACX,SAAS,eACT,WAAA6jC,EACA,eAAgBge,CAAA,EACjB,EACD,EAEF,IAAK,aACJ,OAEEj5P,EAAA,IAAA0H,WAAA,UAAA+kG,OAAC,MAAI,OAAOsyJ,GACV,UAAAG,GAAS,aAAa,EACtBl/P,EAAA,YAAK,MAAO,CAAE,WAAY,MACzB,WAAAwoB,EAAQ,OAAS,MAEfxoB,MAAA0H,EAAA,mBAAA0vM,EAAK,OACLp3M,EAAA,IAACgI,GAAA,CACA,QAAQ,qCACR,WAAY,CAAE,WAAO,OAAM,UAAAovM,EAAK,KAAK,CAAQ,EAC7C,OAAQ,CAAE,KAAMA,EAAK,KAAM,OAAQA,EAAK,MAAO,IAGhDp3M,EAAA,IAACgI,GAAA,CACA,QAAQ,2BACR,WAAY,CAAE,WAAO,OAAM,UAAAovM,EAAK,KAAK,CAAQ,EAC7C,OAAQ,CAAE,KAAMA,EAAK,IAAK,GAG7B,GAGEp3M,MAAA0H,EAAA,mBAAA0vM,EAAK,OACLp3M,EAAA,IAACgI,GAAA,CACA,QAAQ,iCACR,WAAY,CAAE,WAAO,OAAM,UAAAovM,EAAK,KAAK,CAAQ,EAC7C,OAAQ,CAAE,KAAMA,EAAK,KAAM,OAAQA,EAAK,MAAO,IAGhDp3M,EAAA,IAACgI,GAAA,CACA,QAAQ,uBACR,WAAY,CAAE,WAAO,OAAM,UAAAovM,EAAK,KAAK,CAAQ,EAC7C,OAAQ,CAAE,KAAMA,EAAK,IAAK,IAG7B,CAEF,IACD,CACD,GAEF,IAAK,UACJ,OAEE3qG,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,UAAU,QACnB,OAAK,OAAO,CAAE,WAAY,QAC1B,SAAAl/P,EAAA,IAACgI,GAAA,CACA,QAAQ,8BACR,WAAY,CAAE,WAAO,OAAM,UAAAovM,EAAK,KAAK,CAAQ,EAC7C,OAAQ,CAAE,KAAMA,EAAK,IAAK,GAE5B,IACD,EACA3qG,EAAA,KAAC,OACA,MAAO,CACN,UAAW,MACX,gBAAiB,iCACjB,OAAQ,2CACR,aAAc,cACd,SAAU,SACV,aAAc,KACf,EACA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,QAAS,oBACT,gBAAiB,iCACjB,aAAc,6CACd,WAAY,OACZ,SAAU,0BACV,MAAO,iCACP,QAAS,OACT,WAAY,SACZ,IAAK,KACN,EACA,UAACzsG,MAAA,QAAK,UAAU,6BAA8B,GAC7CpjC,EAAE,8BAA8B,GAClC,EACCojC,EAAA,WAAI,MAAO,CAAE,QAAS,YAAa,gBAAiB,iCAAkC,EACtF,SAACA,EAAA,IAAA84O,GAAA,CAAc,SAAU1hC,EAAK,QAAS,CACxC,KACD,EACD,EAEF,IAAK,aACJ,OAEE3qG,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAAG,GAAS,WAAW,EACrBl/P,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAAI,SAAEpjC,EAAA,6BAA6B,CAAE,IACxE,EACA6vI,EAAA,KAAC,OACA,MAAO,CACN,UAAW,MACX,gBAAiB,kCACjB,OAAQ,2CACR,aAAc,MACd,SAAU,SACV,aAAc,KACf,EACA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,QAAS,oBACT,gBAAiB,iCACjB,aAAc,6CACd,WAAY,OACZ,SAAU,0BACV,MAAO,iCACP,QAAS,OACT,WAAY,SACZ,IAAK,KACN,EACA,UAACzsG,MAAA,QAAK,UAAU,uBAAwB,GACvCpjC,EAAE,iCAAiC,GACrC,EACCojC,EAAA,WAAI,MAAO,CAAE,QAAS,YAAa,gBAAiB,iCAAkC,EACtF,eAAC84O,GAAc,UAAUl8Q,EAAE,sCAAsC,EAAG,CACrE,KACD,EACD,EAEF,QACQ,YACT,CAGD,OAAQ4rD,EAAQ,KAAM,CACrB,IAAK,MACJ,OAAQA,EAAQ,IAAK,CACpB,IAAK,aACJ,aACE,MACA,UAAAikF,EAAA,KAAC,OACA,MAAO,CACN,UAAW,MACX,SAAU,SACV,aAAc,KACf,EACA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,aAAc8wJ,EACX,6CACA,OACH,WAAY,SACZ,SAAU,0BACV,MAAO,kCACP,QAAS,OACT,WAAY,SACZ,eAAgB,gBAChB,OAAQ,SACT,EACA,QAAS,IAAMC,EAAuB,CAACD,CAAmB,EAC1D,UAAA9wJ,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,IAAK,OACL,SAAU,CACX,EACA,UAAAzsG,EAAA,IAAC,QACA,UAAU,0BACV,MAAO,CACN,MAAO,yCACP,QAAS,GACT,SAAU,GACV,aAAc,SACf,CAAG,EACJA,MAAC,QAAK,MAAO,CAAE,WAAY,MAAO,EAAI,SAAEpjC,EAAA,sBAAsB,CAAE,IACjE,EACA6vI,OAAC,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,QAC1C,YAAAzsG,EAAA,IAACqiF,GAAA,CACA,WAAW,OACX,MAAO,CACN,QAAS,MACT,OAAQ,OACR,YAAa,MACb,MAAO,kCACP,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,WAAY,aACb,EACA,QAAU3kH,IAAM,CACfA,GAAE,gBAAgB,EAGlBkgN,EAAiBp1J,EAAQ,MAAQ,EAAE,EAAE,KAAM42O,IAAY,CAClDA,KAEH1B,EAAmB,EAAI,EAGvB,WAAW,IAAM,CAChBA,EAAmB,EAAK,GACtB,GAAI,EACR,CACA,CACF,EACA,SAAA19P,EAAA,IAAC,QACA,UAAW,mBAAmBy9P,EAAkB,QAAU,MAAM,IAAI,CACtE,EACAz9P,EAAA,IAAC,QACA,UAAW,2BAA2Bu9P,EAAsB,KAAO,MAAM,IAAI,CAC/E,IACD,EACCA,GACAv9P,EAAA,IAAC,OACA,MAAO,CACN,QAAS,MACT,gBAAiB,kCACjB,UAAW,MACZ,EACA,eAAC2yM,GAAU,QAAQnqL,EAAQ,MAAQ,GAAI,SAAS,KAAM,IACvD,IAGH,EAEF,IAAK,iBACJ,aACE,MACA,UAAAikF,EAAA,KAAC,OACA,MAAO,CACN,UAAW,MACX,gBAAiB,iCACjB,OAAQ,2CACR,aAAc,cACd,SAAU,SACV,aAAc,KACf,EACA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,QAAS,oBACT,gBAAiB,iCACjB,aAAc,6CACd,WAAY,OACZ,SAAU,0BACV,MAAO,iCACP,QAAS,OACT,WAAY,SACZ,IAAK,KACN,EACA,UAACzsG,MAAA,QAAK,UAAU,4BAA6B,GAC5CpjC,EAAE,6BAA6B,GACjC,EACAojC,EAAA,IAAC,OACA,MAAO,CACN,QAAS,YACT,gBAAiB,iCAClB,EACA,SAACA,EAAA,IAAA84O,GAAA,CAAc,SAAUtwN,EAAQ,IAAM,IACxC,IAEF,EAEF,IAAK,YAEH,OAAAxoB,EAAA,IAAC61P,IAAA,CACA,QAASrtO,EAAQ,MAAQ,GACzB,QAASyzE,GAAUghK,EAAc,KAAK,MAAQz0O,EAAQ,GAAK,OAC3D,YAAa60O,EACb,iBAAkB,IAAMC,EAAsB,CAACD,CAAkB,EAClE,EAEF,IAAK,kBACJ,OAEE5wJ,EAAA,KAAA/kG,WAAA,WAAA+kG,EAAA,KAAC,OACA,MAAO,CACN,GAAGsyJ,GACH,aACGtwK,GAAS,MAA+B6vK,GAC1CD,EACG,GACA,EACJ,eAAgB,gBAChB,OAAQ,UACR,WAAY,OACZ,iBAAkB,OAClB,cAAe,OACf,aAAc,MACf,EACA,QAASpF,EACT,UAACxsJ,OAAA,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,OAAQ,SAAU,GAC1E,UAAA4nI,GACAvzE,GACDr0D,EAAA,KAACrqB,GAAA,CACA,MAAO,CAAE,QAASqM,GAAS,MAA8BA,EAAO,EAAI,EAAI,CAAE,EAAG,eAC3EnjG,GAAA,OAAOmjG,GAAQ,CAAC,IAAhB,YAAAnjG,GAAmB,QAAQ,EAAC,GAC/B,EACD,QACC,OAAK,WAAW,2BAA2B2vP,EAAa,KAAO,MAAM,EAAI,IAC3E,GACIxsJ,GAAS,MAA+B6vK,GAC3CD,IACAr+P,EAAA,IAAA0H,WAAA,CACC,SAAC+kG,OAAA,KAAE,MAAO,CAAE,GAAGuyJ,GAAQ,MAAO,+BAC5B,YAA2BV,GAAAD,GAC3BC,GAAA,YAAAA,EAAyB,cAAc,SAAS,gBAE/C7xJ,OAAA/kG,WAAA,WAAA1H,EAAA,IAAC,KAAG,UACH,KAAG,IACHpjC,EAAE,wBAAwB,EAAG,IAC9BojC,EAAA,IAAC,KACA,KAAK,sIACL,MAAO,CAAE,MAAO,UAAW,eAAgB,WAAY,EAAG,iCAE3D,EAAI,IAEL,IAEF,CACD,GAGAi7O,GACCj7O,MAAA,OAAI,MAAO,CAAE,UAAW,QACxB,SAAAA,EAAA,IAACs1P,GAAA,CACA,MAAM9pQ,GAAA+hG,GAAmB/kE,EAAQ,IAAI,IAA/B,YAAAh9B,GAAkC,QACxC,SAAS,WACT,WAAY,GACZ,eAAgBytQ,CAAA,EAElB,IAEF,EAEF,IAAK,mBACG,YACR,IAAK,OAEH,OAAAj5P,EAAA,IAAC,MACA,UAAAA,MAAC0+N,GAAS,UAAUl2M,EAAQ,KAAM,QAASA,EAAQ,QAAS,CAC7D,GAEF,IAAK,gBAEH,OAAAikF,EAAA,KAAC,MAAI,WAAU,wFACb,UACAmoJ,EAAA50P,EAAA,IAAC,MAAI,WAAU,0BACd,SAAAA,EAAA,IAAC4tP,IAAA,CACA,WAAY+P,EACZ,cAAeC,EACf,gBAAiB,GACjB,wBAAyB,GACzB,gBAAiBhhS,EAAE,8BAA8B,EACjD,eAAgBmhS,EAChB,kBAAmBC,EACnB,OAAQE,EACR,eAAgBC,EAChB,oBAAqB,GACrB,KAAMN,EACN,QAASC,EACT,iBAAiB,GACjB,WAAY,GACZ,SAAUG,CAAA,EAEZ,GAECxxJ,OAAA,OAAI,UAAU,uBACd,UAACzsG,EAAA,WAAI,UAAU,oCACd,SAACA,MAAA62P,GAAA,CAAQ,KAAMruO,EAAQ,KAAM,WAAU,GAAC,CACzC,GACAikF,OAAC,MAAI,WAAU,OACd,UAAAzsG,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,UAAU,kBACV,SAAUkyL,EACV,QAAUv/R,IAAM,CACfA,GAAE,gBAAgB,EACFymR,EAAA,CACjB,EACA,SAAAnkP,MAAC,OAAK,WAAU,sBAAuB,GACxC,EACAA,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,UAAU,WACV,SAAUkyL,EACV,QAAUv/R,IAAM,CACfA,GAAE,gBAAgB,EAClB+kE,GAAO,YAAY,CAAE,KAAM,gBAAiB,MAAOja,EAAQ,GAAI,CAChE,EACA,SAAAxoB,MAAC,OAAK,WAAU,uBAAwB,IACzC,CACD,IACD,EAEA,CAAC40P,GAAapsO,EAAQ,QAAUA,EAAQ,OAAO,OAAS,GACvDxoB,MAAA8hP,GAAA,CAAW,OAAQt5N,EAAQ,OAAQ,MAAO,CAAE,UAAW,MAAS,IAEnE,EAEF,IAAK,qBACE4uL,SAAO7pH,GAA4B/kE,EAAQ,IAAI,EAEpD,OAAAxoB,MAAC,OAAI,MAAO,CAAE,UAAW,IAAK,MAAO,QACpC,SAAAA,EAAA,IAACs1P,GAAA,CACA,KAAMl+C,mBAAM,KACZ,SAAS,OACT,WAAY,GACZ,WAAA6jC,EACA,eAAgBge,CAAA,GAElB,EAEF,IAAK,QACJ,OAEGxsJ,EAAA,KAAA/kG,WAAA,WACAo5J,IAAAr0D,EAAA,KAAC,MAAI,OAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,EAED9gK,MAAC,IAAE,OAAO,CAAE,GAAGg/P,GAAQ,MAAO,+BAAoC,WAAAx2O,EAAQ,IAAK,IAChF,EAEF,IAAK,oBACJ,OAEEikF,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,EACC9gK,EAAA,WAAI,MAAO,CAAE,MAAO,6BAA8B,WAAY,EAAG,EACjE,SAACA,EAAA,IAAA0+N,GAAA,CAAS,SAAUl2M,EAAQ,KAAM,CACnC,IACD,EAEF,IAAK,4BACJ,aAAQ8yO,IAAsB,IAC/B,IAAK,mBAEH,OAAAt7P,EAAA,IAAC23P,IAAA,CACA,GAAInvO,EAAQ,GACZ,WAAYA,EAAQ,KACpB,YAAa4c,EACb,WAAY5c,EAAQ,WACrB,EAEF,IAAK,mBACJ,OAAIA,EAAQ,cACH0zO,IAAqB,IAEvB1zO,EAAQ,gBAAkBxoB,MAAC87P,KAAoB,GAAGtzO,EAAQ,eAAiB,GAAK,KACxF,IAAK,yBACJ,OAAQxoB,MAAAm8P,IAAA,CAAwB,UAAW3zO,EAAQ,IAAM,GAC1D,IAAK,yBACJ,IAAIy0E,GAWO,KAEP,IACCz0E,EAAQ,OACFy0E,GAAA,KAAK,MAAMz0E,EAAQ,IAAI,SAEzB50B,GAAO,CACP,cAAM,0CAA2CA,EAAK,EAG3D,GAAAqpG,IAAU,EAACA,IAAA,MAAAA,GAAQ,SACd,qBAAM,4CAA6CA,GAAO,OAAO,EAClEj9F,EAAA,IAAC,OAAI,SAAgC,qCAG7C,KAAM,CAAE,QAAAwpB,GAAU,EAAO,GAAAyzE,IAAA,YAAAA,GAAQ,UAAW,CAAC,EAEtC,OAAAj9F,MAACw8P,KAA6B,QAAAhzO,GAAkB,EACxD,IAAK,kBACJ,OAAQxpB,MAAA+zP,GAAA,CAAwB,WAAU,GAAC,SAAU,IAAM,GAAI,EAChE,QACC,OAEGtnJ,EAAA,KAAA/kG,WAAA,WACAo5J,IAAAr0D,EAAA,KAAC,MAAI,OAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,EAEA9gK,EAAA,WAAI,MAAO,CAAE,WAAY,EAAG,EAC5B,SAACA,MAAA0+N,GAAA,CAAS,SAAUl2M,EAAQ,KAAM,QAASA,EAAQ,QAAS,CAC7D,IACD,EAGJ,IAAK,MACJ,OAAQA,EAAQ,IAAK,CACpB,IAAK,wBACJ,OAEEikF,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,EACA9gK,MAAC,IAAE,OAAO,CAAE,GAAGg/P,GAAQ,MAAO,+BAAoC,WAAAx2O,EAAQ,IAAK,IAChF,EAEF,IAAK,UAEH,OAAAxoB,EAAA,IAACu6P,IAAA,CACA,YAAa/xO,EAAQ,GAAG,SAAS,EACjC,KAAMA,EAAQ,KACd,KAAA6rN,GACA,MAAAvzE,EAAA,CACD,EAEF,IAAK,iBAEJ,MAAMu+F,GAAc9xK,GAAmB/kE,EAAQ,KAAM,EAAE,EAGjD,CAAE,SAAAqjC,GAAU,GAAGyzM,EAAA,EAAqBD,GAGpCzlB,GAAqC,CAC1C,GAAG0lB,GACH,SAAAzzM,EACD,EAEA,GAAI,CAAC+tL,GACG,YAGF,MAAAD,GAASz0M,EAAW,KAAMy0M,IAAWA,GAAO,OAASC,GAAa,UAAU,EAElF,OAEEntI,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,MAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,EACAr0D,OAAC,MAAI,WAAU,qFACb,UAAAmtI,GAAa,OAAS,uBACtB55O,EAAA,IAAC42P,IAAA,CACA,KAAM,CAEL,GAAIpb,IACH5B,GAAa,KAAO,GACpBD,IAAA,YAAAA,GAAQ,UACRA,IAAA,YAAAA,GAAQ,oBACJ,CACJ,KAAM,GACN,SAAU,GACV,YAAa,EACd,EAEA,IAAKC,GAAa,KAAO,GAC1B,CACD,EAEAA,GAAa,OAAS,gBACtB55O,EAAA,IAACs5O,IAAA,CACA,YAAa9wN,EAAQ,GAAG,SAAS,EACjC,KAAMoxN,GAAa,YAAc,KAAOA,GAAa,UAAY,OACjE,WAAYA,GAAa,WACzB,SAAUA,GAAa,SACvB,YAAa,GACb,OAAAD,GACA,aAAAC,GACA,eAAA9lE,CAAA,EACD,CAEF,IACD,EAEF,IAAK,oBACJ,OAAItrJ,EAAQ,YAET,MACA,WAACikF,OAAA,OAAI,MAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,QACC,MAAI,OAAO,CAAE,MAAO,6BAA8B,WAAY,IAC9D,SAAA9gK,MAAC0+N,IAAS,SAAUl2M,EAAQ,KAAM,QAASA,EAAQ,QAAS,CAC7D,IACD,EAGM,KAET,IAAK,WACJ,OAEGikF,EAAA,KAAA/kG,WAAA,WACAo5J,IAAAr0D,EAAA,KAAC,MAAI,OAAOsyJ,GACV,UAAA1qB,GACAvzE,EAAA,EACF,EAED9gK,MAAC,OAAI,MAAO,CAAE,WAAY,GAAI,cAAe,IAC5C,SAAAA,EAAA,IAAC0+N,GAAA,CACA,SAAUl2M,EAAQ,UAAY,GAAOA,GAAA,YAAAA,EAAS,KAAOy2O,IAAA,YAAAA,GAAc,WAErE,EACAj/P,EAAA,IAAC83P,IAAA,CACA,YAAamH,IAAA,YAAAA,GAAc,QAC3B,kBAAAlH,EACA,GAAIvvO,GAAA,YAAAA,EAAS,GACb,qBAAsB00O,EACtB,WAAYE,CAAA,EACb,EACD,EAEF,IAAK,gCACG,OAAAp9P,MAACu7P,KAAgC,QAAA/yO,EAAkB,EAE3D,QACQ,YACT,CAEH,ECxyCM+2O,IAAoBhnF,OAAMzzK,GAAkC,SACjE,KAAM,CAAE,SAAAkoF,EAAU,OAAAiP,EAAQ,eAAA8hJ,EAAgB,oBAAAif,CAAwB,EAAAl4P,EAC5D,CAAE,EAAAloC,CAAE,EAAImtC,GAAe,EACvB6yP,EAAgB50Q,SAAO,CAAC,EACxB,CAACw3Q,EAAiBC,CAAkB,EAAIr1Q,WAAS,CAAC,EAClD,CAACs1Q,EAAqBC,CAAsB,EAAIv1Q,WAAS,EAAK,EAE9D,CAAE,oBAAAw1Q,EAAsB,SAAU,EAAI/4N,GAAkB,EACxD,CAACg5N,EAAeC,CAAc,EAAIF,EAAoB,MAAM,GAAG,EAAE,IAAI,MAAM,EAC3EG,GAAgBD,EAAiBD,EAAiB,KAAK,QAAQ,CAAC,EAChEG,EAAuB,GAAG,KAAK,MAAMH,EAAgB,CAAC,CAAC,IAAI,KAAK,MAAMC,EAAiB,CAAC,CAAC,GAEzFG,EAA0Bj2Q,UAAQ,IAAM,CAE7C,MAAMk2Q,EAAoB,CAAC,GAAGlzK,CAAQ,EAAE,UAAU,KAAMvuH,GAAMA,EAAE,MAAQ,iBAAiB,EACzF,GAAIyhS,GAAA,MAAAA,EAAmB,KAAM,CAC5B,MAAMx0J,EAAO,KAAK,MAAMw0J,EAAkB,IAAI,EAC1C,GAAAx0J,GAAQA,EAAK,eAAiB,KAC1B,QACR,CAGD,MADyB,GAAAzP,IAAU+gK,GAAA,YAAAA,EAAqB,OAAQ,iBAK9D,GAAChwK,EAAUgwK,EAAqB/gK,CAAM,CAAC,EAEpCkkK,EAAan2Q,UAAQ,IACnBiyG,GAAUjP,EAAS,KAAMvuH,GAAMA,EAAE,MAAQ,uBAAuB,GAAK,CAACwhS,EAC3E,CAAChkK,EAAQjP,EAAUizK,CAAuB,CAAC,EAGxC3mQ,EAAQtP,UAAQ,IAAM,CAC3B,MAAM6E,EAWA,CAAC,EAEP,IAAIuxQ,EAAuC,CAAC,EACxCC,EAAqC,CAAC,EAEjC,OAAArzK,EAAA,QAASxkE,GAAY,CACzB,GAAAA,EAAQ,MAAQ,wBAEnB43O,EAAuB,CAAC53O,CAAO,UACrBA,EAAQ,MAAQ,wBAAyB,CAC/C,GAAAA,EAAQ,OAAS,GAEpB,OAGD43O,EAAqB,KAAK53O,CAAO,EACjC,MAAM83O,EAAa,KAAK,MAAM93O,EAAQ,MAAQ,IAAI,EAGlD35B,EAAO,KAAK,CACX,aAAc,CACb,IAAKyxQ,EAAW,WAChB,WAAYA,EAAW,WACvB,cAAeA,EAAW,qBAC1B,YAAaA,EAAW,KACxB,SAAU,CAAC,GAAGF,CAAoB,CACnC,EACA,WACCC,EAAmB,OAAS,EACzB,CACA,SAAU,CAAC,GAAGA,CAAkB,GAEhC,OACJ,EAGDD,EAAuB,CAAC,EACxBC,EAAqB,CAAC,OAEtB73O,EAAQ,MAAQ,mBAChBA,EAAQ,MAAQ,QAChBA,EAAQ,MAAQ,iBAGhB63O,EAAmB,KAAK73O,CAAO,EAG/B43O,EAAqB,KAAK53O,CAAO,CAClC,CACA,GAGG43O,EAAqB,OAAS,GAAKC,EAAmB,OAAS,IAClExxQ,EAAO,KAAK,CACX,aAAc,CACb,SAAU,CAAC,GAAGuxQ,CAAoB,CACnC,EACA,WACCC,EAAmB,OAAS,EACzB,CACA,SAAU,CAAC,GAAGA,CAAkB,GAEhC,OACJ,EAGKxxQ,CAAA,EACL,CAACm+F,CAAQ,CAAC,EAGP,CAACuzK,EAAkBC,CAAmB,EAAIp2Q,WAAS,CAAC,EAC1DnC,YAAU,IAAM,CACKu4Q,EAAAlnQ,EAAM,OAAS,CAAC,GAClC,CAACA,EAAM,MAAM,CAAC,EAGX,MAAAmnQ,EAAaz2Q,UAAQ,IAAM,CAChC,MAAM02Q,EAAgB1zK,EAAS,KAAMvuH,GAAMA,EAAE,MAAQ,uBAAuB,EAC5E,OAAOiiS,GAAA,YAAAA,EAAe,OAAQ,IAC5B,CAAC1zK,CAAQ,CAAC,EAGP2zK,EAAc32Q,UAAQ,IAAM,CACjC,QAAS9D,EAAIoT,EAAM,OAAS,EAAGpT,GAAK,EAAGA,IAAK,CACrC,MAAA6T,EAAOT,EAAMpT,CAAC,EACpB,GAAI6T,EAAK,aAAa,KAAOA,EAAK,aAAa,WACvC,OACN,IAAKA,EAAK,aAAa,IACvB,cAAeA,EAAK,aAAa,cACjC,YAAaA,EAAK,aAAa,YAC/B,WAAYA,EAAK,aAAa,UAC/B,CACD,CAEM,OAAE,IAAK,OAAW,cAAe,OAAW,YAAa,OAAW,WAAY,MAAU,GAC/F,CAACT,CAAK,CAAC,EAEJI,EAAcJ,EAAMinQ,CAAgB,EAIpCK,EAHaL,IAAqBjnQ,EAAM,OAAS,EAIpD,CACA,KAAKI,GAAA,YAAAA,EAAa,aAAa,MAAOinQ,EAAY,KAAOF,EACzD,eACC/mQ,GAAA,YAAAA,EAAa,aAAa,gBAAiBinQ,EAAY,eAAiBX,EACzE,YAAatmQ,GAAA,YAAAA,EAAa,aAAa,YACvC,YAAYA,GAAA,YAAAA,EAAa,aAAa,aAAcinQ,EAAY,YAEhE,CACA,KAAKjnQ,GAAA,YAAAA,EAAa,aAAa,MAAO+mQ,EACtC,eAAe/mQ,GAAA,YAAAA,EAAa,aAAa,gBAAiBsmQ,EAC1D,YAAatmQ,GAAA,YAAAA,EAAa,aAAa,YACvC,WAAYA,GAAA,YAAAA,EAAa,aAAa,UACvC,EAEI,CAACmnQ,EAAe,CAAE,OAAQC,CAAA,CAAc,EAAI31Q,UAChD,MACC,YAAAtC,EAAA6Q,GAAA,YAAAA,EAAa,aAAb,YAAA7Q,EAAyB,SAAS,IAAK2/B,GACvCxoB,EAAA,IAAC+gQ,IAAA,CAEC,GAAGj8P,EACJ,QAAA0jB,EACA,mBAAAi3O,CAAA,EAHKj3O,EAAQ,KAMd,CAAC23O,GAAcnzK,EAAS,KAAMvuH,GAAMA,EAAE,MAAQ,uBAAuB,GAAK8hS,IAAqB,GAC/FvgQ,MAACghQ,KAAiB,OAAQ,SAAU,KAAMP,CAAY,GAExD,EACD,EAEAx4Q,YAAU,IAAM,CACX64Q,IAAiB,GAAKA,IAAiB,KAGvCA,EAAetB,GAClBC,EAAmBqB,CAAY,CAChC,EACE,CAACA,EAActB,CAAe,CAAC,EAG5B,MAAAyB,EAAsBj3Q,UAAQ,IAAM,OACrC,IAACm2Q,EAAmB,OAGxB,MAAMe,IAAUr4Q,EAAA6Q,GAAA,YAAAA,EAAa,aAAb,YAAA7Q,EAAyB,WAAY,CAAC,EACtD,QAAS3C,EAAIg7Q,EAAQ,OAAS,EAAGh7Q,GAAK,EAAGA,IAAK,CACvC,MAAAsiC,EAAU04O,EAAQh7Q,CAAC,EACrB,GAAAsiC,EAAQ,MAAQ,iBAAkB,CACrC,MAAM24O,EAAgB,KAAK,MAAM34O,EAAQ,MAAQ,IAAI,EACrD,GAAI24O,EAAc,SAAW,SAAWA,EAAc,WACrD,OAAOA,EAAc,UACtB,CACD,GAGC,CAAChB,GAAY90Q,EAAAqO,GAAA,YAAAA,EAAa,aAAb,YAAArO,EAAyB,QAAQ,CAAC,EAG5C+1Q,EAAgBjB,EACnBc,GAAuBL,EAAa,cACpCA,EAAa,eAAiBZ,EAE3B,CAACqB,EAAmB,CAAE,OAAQtkB,CAAA,CAAW,EAAI5xP,GAClDshH,OAAC,OAAI,MAAO,CAAE,QAAS,qBAAsB,aAAc,GAC1D,YAACA,OAAA,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,OAAQ,aAAc,QAC9E,UACA0zJ,EAAAngQ,EAAA,IAAC+vJ,KAAkB,EAEnB/vJ,EAAA,IAAC,QACA,UAAW,0BACX,MAAO,CAAE,MAAO,2BAA4B,aAAc,QAAS,EAAG,EAExEA,EAAA,IAAC,OAAK,OAAO,CAAE,WAAY,MAAO,EACjC,SAAGA,MAAA0H,WAAA,UAAA9qC,EAAE,4BAA4B,CAAE,EACpC,IACD,EACA6vI,EAAA,KAAC,OACA,MAAO,CACN,aAAc,EACd,OAAQ,6CACR,SAAU,SACV,gBAAiBqlG,GACjB,aAAc,EACf,EAEA,UAAA9xM,EAAA,IAAC,OACA,MAAO,CACN,OAAQ,WACR,MAAO,oBACP,UAAW,aACX,gBAAiB,iCACjB,OAAQ,uCACR,aAAc,MACd,QAAS,UACT,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,MAAO4gQ,EAAa,IACjB,iCACA,sCACH,SAAU,MACX,EACA,SAAA5gQ,EAAA,IAAC,OACA,MAAO,CACN,aAAc,WACd,SAAU,SACV,WAAY,SACZ,MAAO,OACP,UAAW,QACZ,EACC,WAAa,KAAO,QACtB,CACD,EAGAysG,EAAA,KAAC,OACA,cAAY,uBACZ,MAAO,CACN,MAAO,OACP,cAAe,GAAGszJ,CAAW,IAC7B,SAAU,WACV,gBAAiB,gCAClB,EACC,UAAAa,EAAa,WACb5gQ,EAAA,IAAC,OACA,IAAK4gQ,EAAa,WAClB,IAAKhkS,EAAE,yBAAyB,EAChC,MAAO,CACN,SAAU,WACV,IAAK,EACL,KAAM,EACN,MAAO,OACP,OAAQ,OACR,UAAW,UACX,OAAQ,SACT,EACA,QAAS,IACR6lE,GAAO,YAAY,CAClB,KAAM,YACN,KAAMm+N,EAAa,UACnB,KAIH5gQ,EAAA,IAAC,OACA,MAAO,CACN,SAAU,WACV,IAAK,MACL,KAAM,MACN,UAAW,uBACZ,EACA,SAAAA,EAAA,IAAC,QACA,UAAU,wBACV,MAAO,CAAE,SAAU,OAAQ,MAAO,qCAAsC,GACzE,CACD,EAEA4gQ,EAAa,eACb5gQ,EAAA,IAACshQ,IAAA,CACA,MAAO,CACN,SAAU,WACV,IAAK,GAAI,SAASF,EAAc,MAAM,GAAG,EAAE,CAAC,CAAC,EAAItB,EAAkB,GAAG,IACtE,KAAM,GAAI,SAASsB,EAAc,MAAM,GAAG,EAAE,CAAC,CAAC,EAAIvB,EAAiB,GAAG,IACtE,WAAY,wCACb,EACD,EAEF,SAEC,MAAI,OAAO,CAAE,MAAO,MACpB,YAAApzJ,EAAA,KAAC,OACA,QAAS,IAAM,CACdkzJ,EAAuB,CAACD,CAAmB,CAC5C,EACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,IAAK,MACL,MAAO,OACP,eAAgB,aAChB,OAAQ,UACR,QAAS,WAAWA,EAAsB,EAAI,CAAC,QAChD,EACA,UAAA1/P,MAAC,QAAK,UAAW,2BAA2B0/P,EAAsB,OAAS,OAAO,GAAI,EACtF1/P,MAAC,QAAK,MAAO,CAAE,SAAU,OAAQ,EAAI,SAAEpjC,EAAA,0BAA0B,CAAE,IACpE,EACC8iS,GACC1/P,EAAA,IAAA2yM,GAAA,CAAU,OAAQiuD,EAAa,aAAehkS,EAAE,wBAAwB,EAAG,SAAS,OAAQ,GAE/F,IACD,QAGC,MAAI,OAAO,CAAE,UAAW4iS,GAAoB,SAAcqB,EAAA,EAG1DvnQ,EAAM,OAAS,GACfmzG,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,eAAgB,gBAChB,WAAY,SACZ,QAAS,UACT,UAAW,OACX,UAAW,4CACZ,EACA,UAACzsG,MAAA,OACC,SAAEpjC,EAAA,+BAAgC,CAAE,QAAS2jS,EAAmB,EAAG,MAAOjnQ,EAAM,MAAO,CAAC,CAC1F,GACAmzG,OAAC,OAAI,MAAO,CAAE,QAAS,OAAQ,IAAK,KACnC,YAAAzsG,EAAA,IAACqiF,GAAA,CACA,SAAUk+K,IAAqB,GAAKJ,EACpC,QAAS,IAAMK,EAAqBt6Q,GAAMA,EAAI,CAAC,EAC9C,WAAE,kCAAkC,EACtC,EACA8Z,EAAA,IAACqiF,GAAA,CACA,SAAUk+K,IAAqBjnQ,EAAM,OAAS,GAAK6mQ,EACnD,QAAS,IAAMK,EAAqBt6Q,GAAMA,EAAI,CAAC,EAC9C,WAAE,8BAA8B,GAClC,CACD,KACD,CAEF,EACD,EAGA+B,mBAAU,IAAM,CACT,MAAA80Q,EAAkBH,EAAc,UAAY,EAC9C3gK,GAAU8gJ,IAAc,GAAKA,IAAc,KAAYA,IAAc6f,EAAc,UACjFG,GACWhf,EAAAhB,EAAY6f,EAAc,OAAO,EAEjDA,EAAc,QAAU7f,EAEvB,GAACA,EAAW9gJ,EAAQ8hJ,CAAc,CAAC,EAE/BsjB,CACR,EAAGrpH,GAAS,EAQN+oH,IAA2B,CAAC,CACjC,QAAAv4O,EACA,WAAAyyN,EACA,eAAAwa,EACA,oBAAAuH,EACA,OAAA/gK,EACA,mBAAAwjK,EACA,YAAAxC,CACD,IAAqC,CAC9B,MAAE,EAAArgS,CAAE,EAAImtC,GAAe,EACvBg1P,EAAmC,CACxC,QAAS,OACT,WAAY,SACZ,IAAK,OACL,aAAc,OACd,UAAW,YACZ,EAEA,OAAQv2O,EAAQ,KAAM,CACrB,IAAK,MACJ,OAAQA,EAAQ,IAAK,CACpB,IAAK,kBACL,IAAK,OACJ,aACE,MAAI,OAAO,CAAE,QAAS,iBACtB,SAAAxoB,EAAA,IAAC88P,IAAA,CACA,QAAAt0O,EACA,WAAYyyN,EAAWzyN,EAAQ,EAAE,EACjC,eAAgB,IAAM,CACjBA,EAAQ,MAAQ,mBACnBi3O,EAAmB,CAAC,EAErBhK,EAAejtO,EAAQ,EAAE,CAC1B,EACA,oBAAAw0O,EACA,OAAA/gK,EACA,YAAAghK,CAAA,GAEF,EAGF,IAAK,iBACJ,MAAMkE,EAAgB,KAAK,MAAM34O,EAAQ,MAAQ,IAAI,EAEpD,OAAAxoB,EAAA,IAACghQ,IAAA,CACA,OAAQG,EAAc,OACtB,WAAYA,EAAc,WAC1B,KAAMA,EAAc,KACrB,EAGF,QACQ,YAGV,IAAK,MACJ,OAAQ34O,EAAQ,IAAK,CACpB,IAAK,wBACJ,OAEEikF,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAAC,MAAI,OAAO++P,EACX,SAAA/+P,EAAA,IAAC,OAAK,OAAO,CAAE,WAAY,QAAW,SAAEpjC,EAAA,6BAA6B,CAAE,GACxE,EACAojC,EAAA,IAAC,OACA,MAAO,CACN,aAAc,EACd,OAAQ,6CACR,SAAU,SACV,gBAAiB8xM,EAClB,EACA,eAACa,GAAU,QAAQnqL,EAAQ,KAAM,SAAS,OAAQ,IACnD,EACD,EAGF,QACQ,YACT,CAEH,EAEMw4O,IAAmB,CAAC,CACzB,OAAAzqQ,EACA,WAAAgrQ,EACA,KAAAn+P,CACD,IAIM,CACC,MAAE,EAAAxmC,CAAE,EAAImtC,GAAe,EACvBy3P,EAAuB,CAACjrQ,EAAuBgrQ,EAAqBn+P,IAAkB,CAC3F,OAAQ7M,EAAQ,CACf,IAAK,SACJ,OAAO35B,EAAE,8BAA+B,CAAE,IAAKwmC,EAAM,EACtD,IAAK,QACG,OAAAxmC,EAAE,6BAA8B,CAAE,WAAY2kS,iBAAY,QAAQ,IAAK,MAAO,EACtF,IAAK,OACJ,OAAO3kS,EAAE,4BAA6B,CAAE,KAAAwmC,EAAM,EAC/C,IAAK,cACJ,OAAOxmC,EAAE,iCAAiC,EAC3C,IAAK,YACJ,OAAOA,EAAE,+BAA+B,EACzC,IAAK,QACJ,OAAOA,EAAE,4BAA4B,EACtC,QACQ25B,QAAA,CAEV,EACA,aACE,MAAI,OAAO,CAAE,QAAS,cACtB,SAAAyJ,EAAA,IAAC,OACA,MAAO,CACN,aAAc,EACd,gBAAiB8xM,GACjB,SAAU,SACV,OAAQ,4CACT,EACA,SAAA9xM,EAAA,IAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,QAAS,UACV,EACA,SAAAysG,EAAA,KAAC,QACA,MAAO,CACN,WAAY,SACZ,UAAW,YACZ,EACA,UAACzsG,MAAA,QAAK,MAAO,CAAE,WAAY,GAAQ,WAAApjC,EAAE,4BAA4B,EAAE,EAClE4kS,EAAqBjrQ,EAAQgrQ,EAAYn+P,CAAI,IAC/C,EACD,GAEF,CAEF,EAEMk+P,IAA2D,CAAC,CAAE,MAAA31Q,KAAY,CACzE,MAAE,EAAA/uB,CAAE,EAAImtC,GAAe,EAM5B,OAAA/J,EAAA,IAAC,OACA,IAJD,iwCAKC,MAAO,CACN,MAAO,OACP,OAAQ,OACR,GAAGrU,CACJ,EACA,IAAK/uB,EAAE,qBAAqB,EAC5B,aAAYA,EAAE,qBAAqB,EACpC,CAEF,ECnjBM6kS,IAAc,CAAC,aAAc,WAAY,QAAS,UAAW,UAAW,SAAU,UAAU,EAIrFC,IAAgB52Q,GAAuC22Q,IAAY,SAAS32Q,CAAmB,EAkB/F62Q,IAA2B,CAAC,CACxC,MAAApY,EACA,SAAA/oE,CACD,IAGe,CAAC,CAAC+oE,EAAM,yBAA4B,CAAC,CAACA,EAAM,yBAA2B,CAAC,EAAC/oE,GAAA,MAAAA,EAAU,uBAUrFohF,GAA4C,MAC5CC,IAAiD,KAIjDC,GAA0B,CAAC,CACvC,QAAAhzK,EACA,MAAAy6J,EACA,SAAA/oE,EACA,OAAAr7K,CACD,IAK0B,CAErB,IAAAq7K,GAAA,YAAAA,EAAU,eAAgB,cAC7B,OAAOA,EAAS,2BAA6B9hJ,IAG9C,GAAIijO,IAAyB,CAAE,MAAApY,EAAO,SAAA/oE,CAAU,GAC/C,OAAOA,GAAA,YAAAA,EAAU,iBAAkBohF,GAG9B,MAAAG,EACLjzK,EAAQ,SAAS,QAAQ,GACzB3pF,IAAW,aACVA,IAAW,cAAgB2pF,EAAQ,WAAW,YAAY,EAQ5D,GALIy6J,EAAM,yBAA2BwY,GAKjCA,IAAuB,CAACxY,EAAM,WAAaA,EAAM,YAAc,GAC3D,OAAAtrN,GAIR,GAAIsrN,EAAM,WAAaA,EAAM,YAAcA,EAAM,cAChD,OAAOA,EAAM,UAId,GAAI,CAAApkP,EAKG,OAAA84B,EACR,EChFa+jO,IAAmB,CAAC,CAAE,OAAAC,EAAQ,GAAGn9P,KAAmC,CAC1E,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAC1B,CAACg7N,CAAc,EAAI/3Q,IAAY,OAAO,EAEtC,CAAE,aAAAo7H,GAAiBzgH,EAEnB21K,EAAWhyL,cAAY,IAAM,CAC9Bw5Q,IACHx/N,GAAO,YAAY,CAAE,KAAM,mBAAoB,KAAMw/N,EAAQ,EAC7D18I,GAAA,MAAAA,EAAe,IAChB,EACE,CAAC08I,EAAQ18I,CAAY,CAAC,EAEzBt9H,mBAAU,IAAM,CACXg6Q,GAAUC,GACJznF,EAAA,CAER,GAACwnF,EAAQC,EAAgBznF,CAAQ,CAAC,EAGpCz6K,EAAA,IAACypH,GAAa,IAAG3kH,EAChB,SAAA2nG,OAAC8d,IAAmB,gBAAiB,IAAMhF,GAAA,YAAAA,EAAe,IACzD,UAAA9Y,OAACwsB,GACA,WAACj5H,EAAA,IAAA2qH,GAAA,CAAkB,SAAE/tJ,EAAA,oBAAoB,CAAE,GAC1CojC,MAAA6qH,GAAA,CAAwB,SAAEjuJ,EAAA,2BAA2B,CAAE,IACzD,SACCs8J,GACA,WAACl5H,EAAA,IAAAorH,GAAA,CAAkB,QAAO,GACzB,SAACprH,MAAA+qE,GAAA,CAAO,QAAQ,YAAa,SAAAnuG,EAAE,gBAAgB,CAAE,GAClD,EACCojC,EAAA,IAAAgrH,GAAA,CAAkB,QAAO,GACzB,SAAChrH,EAAA,IAAA+qE,GAAA,CAAO,QAAQ,cAAc,QAAS0vG,EACrC,SAAE79M,EAAA,gBAAgB,EACpB,CACD,GACD,IACD,CACD,EAEF,EChCaulS,IAAc,CAAC,CAAE,KAAAhyQ,EAAM,SAAAq6E,EAAW,MAA8B,CAC5E,KAAM,CAAC43L,EAAmBC,CAAoB,EAAIj4Q,WAAS,EAAK,EAC1D,CAACk4Q,EAAkBC,CAAmB,EAAIn4Q,WAAS,EAAK,EACxD,CAACo4Q,EAAcC,CAAe,EAAIr4Q,WAA8D,IAAI,EACpG,CAAE,EAAAxtB,CAAE,EAAImtC,GAAe,EACvB,CAAE,eAAA24P,EAAgB,qBAAAC,EAAsB,cAAAC,CAAA,EAAkB/7N,GAAkB,EAC5Eg8N,EAAwB76Q,SAAO,EAAK,EACpC86Q,EAAiC96Q,SAAO,EAAK,EAGnDC,YAAU,IAAM,CACX,CAAC06Q,GAAwB,CAACD,EAC7BG,EAAsB,QAAU,GACtBA,EAAsB,SAAWF,GAAwBD,IAE/DI,EAA+B,UAElBloN,GAAA,QAAQ9f,GAAmB,uBAAuB,EAClEynO,EAAoB,EAAK,EACzBF,EAAqB,EAAI,EACzBS,EAA+B,QAAU,IAE1CD,EAAsB,QAAU,GACjC,EACE,CAACF,EAAsBD,CAAc,CAAC,EAGzCz6Q,YAAU,IAAM,CACT,MAAAm+C,EAAiBx8C,GAAwB,CAC9C,MAAM4+B,EAAU5+B,EAAM,KAClB4+B,EAAQ,OAAS,qBACJi6O,EAAA,CACf,WAAYj6O,EAAQ,WACpB,IAAKA,EAAQ,KACb,EAED,WAAW,IAAM,CAChBi6O,EAAgB,IAAI,EACpBJ,EAAqB,EAAK,GACxB,GAAI,EAET,EAEO,+BAAiB,UAAWj8N,CAAa,EACzC,IAAM,OAAO,oBAAoB,UAAWA,CAAa,CACjE,EAAG,EAAE,EAEC,MAAA28N,EAAeC,GAAgC,CAEpDP,EAAgB,IAAI,EAGhBO,IAAe,eACFpoN,GAAA,QAAQ9f,GAAmB,0BAA0B,EAErD8f,GAAA,QAAQ9f,GAAmB,oBAAoB,EAGhE2H,GAAO,YAAY,CAClB,KAAM,mBACN,WAAAugO,CAAA,CACA,CAEF,EAEMC,EAAuB,IAAM,CAElBroN,GAAA,QAAQ9f,GAAmB,8BAA8B,EAGzEgoO,EAA+B,QAAU,GACzCrgO,GAAO,YAAY,CAAE,KAAM,iBAAkB,EAC7C4/N,EAAqB,EAAK,EAC1BE,EAAoB,EAAK,CAC1B,EAEMW,EAAyB,IAAM,CAEpBtoN,GAAA,QAAQ9f,GAAmB,oBAAoB,EAE1D6nO,EAKJN,EAAqB,EAAI,EAHzBE,EAAoB,EAAI,CAK1B,EAyBMY,EArBAR,EAMOD,EAOJ,CACN,SAAU,GACV,MAAO9lS,EAAE,iBAAiB,EAC1B,YAAa,EACd,EAVO,CACN,SAAU,GACV,MAAOA,EAAE,yCAAyC,EAClD,YAAa,EACd,EAVO,CACN,SAAU,GACV,MAAOA,EAAE,iBAAiB,EAC1B,YAAa,EACd,EAmBE,OAACuzB,GAAA,MAAAA,EAAM,GAMRs8G,EAAA,KAAA/kG,WAAA,WAAAy7P,EAAiB,YAChB12J,EAAA,KAAA8gD,GAAA,CAAQ,KAAM60G,EAAmB,aAAcC,EAC/C,UAAAriQ,MAAC+hK,IAAgB,QAASohG,EAAiB,MAC1C,SAACnjQ,EAAA,IAAA+tJ,GAAA,CAAe,QAAO,GACtB,SAAA/tJ,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,SAAUP,GAAY24L,EAAiB,SACvC,UAAU,wDACV,QAASD,EACT,SAAAljQ,MAAC,OAAK,WAAU,sBAAuB,KAEzC,CACD,GACCA,MAAAkuJ,GAAA,CAAe,UAAU,WAAW,MAAM,QACzC,SAAAs0G,EACCxiQ,EAAA,WAAI,UAAU,MACd,SAACysG,OAAA,OAAI,UAAU,qEACd,UAACzsG,MAAA,QAAK,UAAU,uBAAwB,GACxCA,MAAC,OACC,UAAAwiQ,EAAa,aAAe,SAC1B5lS,EAAE,8BAA8B,EAChCA,EAAE,oCAAoC,CAC1C,IACD,EACD,EAEAojC,MAACmkI,IACA,SAACnkI,MAAAskI,GAAA,CACA,gBAACE,GACC,YAAAo+H,GAAA,YAAAA,EAAe,mBACf5iQ,EAAA,IAAC0kI,GAAA,CACA,SAAU,IAAMq+H,EAAY,cAAc,EAC1C,UAAU,iBACV,SAAAt2J,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,sCAAuC,GACvDysG,OAAC,MAAI,WAAU,gBACd,UAAAzsG,MAAC,OAAK,WAAU,UACd,SAAApjC,EAAE,iCAAiC,EACrC,QACC,OAAK,WAAU,4CACd,SAAAA,EAAE,4CAA4C,CAChD,GACD,GACD,GACD,EAEAojC,EAAA,IAAA0kI,GAAA,CAAY,SAAU,IAAMq+H,EAAY,QAAQ,EAAG,UAAU,iBAC7D,SAAAt2J,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,+BAAgC,GAChDysG,OAAC,MAAI,WAAU,gBACd,UAAAzsG,MAAC,OAAK,WAAU,UAAW,SAAApjC,EAAE,yBAAyB,EAAE,QACvD,OAAK,WAAU,4CACd,SAAAA,EAAE,oCAAoC,CACxC,GACD,IACD,CACD,IACD,EACD,EACD,CAEF,IACD,EAEAojC,EAAA,IAAC+hK,GAAgB,SAASohG,EAAiB,MAC1C,SAAAnjQ,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,SAAUP,GAAY24L,EAAiB,SACvC,UAAU,wDACV,QAASD,EACT,SAAAljQ,MAAC,OAAK,WAAU,sBAAuB,KAEzC,EAIDA,MAACmlH,IAAO,KAAMm9I,EAAkB,aAAcC,EAC7C,SAAA91J,EAAA,KAACqa,GAAc,WAAU,WACxB,UAAC9mH,EAAA,IAAAikI,GAAA,CAAa,UAAU,cACvB,SAACjkI,MAAA6nH,GAAA,CAAY,UAAU,6CACrB,SAAAjrJ,EAAE,4BAA4B,CAChC,GACD,EAEA6vI,OAAC,MAAI,WAAU,0BACd,UAAAA,OAAC,MACA,WAAAzsG,MAAC,IAAE,WAAU,iDACX,SAAApjC,EAAE,+BAA+B,EACnC,EACA6vI,OAAC,KAAG,WAAU,sDACb,UAACA,OAAA,MAAG,UAAU,mBACb,UAACzsG,EAAA,YAAK,UAAU,8BAA8B,SAAC,MAC9CpjC,EAAE,6BAA6B,GACjC,EACA6vI,OAAC,KAAG,WAAU,mBACb,UAACzsG,EAAA,YAAK,UAAU,8BAA8B,SAAC,MAC9CpjC,EAAE,6BAA6B,GACjC,EACA6vI,OAAC,KAAG,WAAU,mBACb,UAACzsG,EAAA,YAAK,UAAU,8BAA8B,SAAC,MAC9CpjC,EAAE,6BAA6B,EACjC,GACD,IACD,EAECojC,EAAA,WAAI,UAAU,sBACd,SAACA,EAAA,IAAA+qE,GAAA,CAAO,QAASk4L,EAAsB,UAAU,SAC/C,SAAErmS,EAAA,iBAAiB,EACrB,CACD,GACD,IACD,CACD,IACD,EAxHO,IA0HT,EC1PawmS,GAAc,CAAC,CAAE,KAAAjzQ,EAAM,gBAAAkzQ,KAAwC,CAC3E,KAAM,CAACC,EAAcC,CAAe,EAAIn5Q,WAAwB,IAAI,EAC9D,CAAE,EAAAxtB,CAAE,EAAImtC,GAAe,EACvB,CAAE,iBAAA6zK,EAAkB,iBAAAF,CAAiB,EAAIF,GAAmB,EAGjE,OAAA/wE,EAAA,KAAC,MAAI,WAAU,sBACd,UAACzsG,MAAAmiQ,IAAA,CAAY,KAAAhyQ,EAAY,SAAU,EAAO,GAC1C6P,EAAA,IAACo0O,GAAA,CACA,UAAU,2BACV,MAAOx3Q,EAAE,kBAAkB,EAC3B,QAAS,IAAM6lE,GAAO,YAAY,CAAE,KAAM,mBAAqB,GAChE,GACCtyC,GAAA,YAAAA,EAAM,OACN6P,EAAA,IAACo0O,GAAA,CACA,UAAW12D,EAAmB,gBAAkB,eAChD,MAAO9gN,EAAE,oBAAoB,EAC7B,QAAUc,GAAMkgN,EAAiBztL,EAAK,KAAMzyB,CAAC,EAC9C,EAEA,CAAC,EAACyyB,GAAA,MAAAA,EAAM,OAAQA,EAAK,KAAO,GAE3Bs8G,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,UAAU,oBACd,UAAAzsG,EAAA,IAACo0O,GAAA,CACA,UAAU,gBACV,MAAOx3Q,EAAE,kBAAkB,EAC3B,SAAUymS,EACV,QAAU3lS,GAAM,CACfA,EAAE,gBAAgB,EAEdA,EAAE,SACL+kE,GAAO,YAAY,CAAE,KAAM,mBAAoB,KAAMtyC,EAAK,GAAI,EAE9DozQ,EAAgBpzQ,EAAK,EAAE,CACxB,CACD,CACD,QACC,OAAK,WAAU,iDAAkD,SAAYsrL,IAAAtrL,EAAK,IAAI,CAAE,IAC1F,EACCmzQ,GACAtjQ,EAAA,IAACgiQ,IAAA,CACA,OAAQsB,EACR,aAAe39I,GAAS,CAACA,GAAQ49I,EAAgB,IAAI,EACrD,KAAI,IACL,CAEF,IAEF,CAEF,EC3BaC,IAA6B,CACzCC,EACAC,EACAC,IAC6B,CAE7B,MAAMC,EAAoB,KAAK,IAAI,EAAGH,CAAa,EAC7CI,EAAoB,KAAK,IAAI,EAAGH,CAAa,EAI7CI,EACLH,GAAaA,EAAY,GAAKA,IAAcC,EAAoBD,EAAY1lO,GAGvE8lO,EAAgB,KAAK,IAAI,EAAGH,EAAoBC,EAAoBC,CAAiB,EAIrF7iK,EAAQ4iK,EAAoBC,EAAoBC,EAGtD,OAAI9iK,GAAS,EACL,CACN,eAAgB,EAChB,gBAAiB,EACjB,iBAAkB,EAClB,kBAAA6iK,EACA,cAAAC,CACD,EAGM,CACN,eAAiBF,EAAoB5iK,EAAS,IAC9C,gBAAkB6iK,EAAoB7iK,EAAS,IAC/C,iBAAmB8iK,EAAgB9iK,EAAS,IAC5C,kBAAA6iK,EACA,cAAAC,CACD,CACD,ECnEaC,GAAwB,CAAC,CAAE,cAAAP,EAAe,cAAAC,EAAe,UAAAC,KAA4C,CAC3G,MAAE,EAAA/mS,CAAE,EAAImtC,GAAe,EAGvBk6P,EAAoBj6Q,EAAA,QACzB,IAAMw5Q,IAA2BC,EAAeC,EAAeC,CAAS,EACxE,CAACF,EAAeC,EAAeC,CAAS,CACzC,EAGM,CAAE,eAAAO,EAAgB,gBAAAC,EAAiB,cAAAJ,EAAe,kBAAAD,EAAmB,iBAAAM,GAAqBH,EAG1FL,EAAoB,KAAK,IAAI,EAAGH,CAAa,EAC7CI,EAAoB,KAAK,IAAI,EAAGH,CAAa,EAG7CW,EACL53J,OAAC,MAAI,WAAU,YACd,UAACzsG,MAAA,OACC,WAAE,gCAAiC,CACnC,KAAMi6K,GAAkB4pF,CAAiB,EACzC,MAAO5pF,GAAkB2pF,CAAiB,CAC1C,GACF,EACCE,EAAoB,GACnB9jQ,MAAA,OACC,WAAE,yCAA0C,CAC5C,OAAQi6K,GAAkB6pF,CAAiB,CAC3C,GACF,EAEAC,EAAgB,GACf/jQ,MAAA,OACC,WAAE,oCAAqC,CACvC,OAAQi6K,GAAkB8pF,CAAa,EACvC,CACF,IAEF,EAGD,OAEE/jQ,EAAA,IAAA0H,WAAA,UAAA+kG,OAAC,MAAI,WAAU,wDACd,UAAAzsG,MAAC,MAAI,eAAY,uBAAwB,SAAAi6K,GAAkB4pF,CAAiB,EAAE,EAC7E7jQ,MAAA+hK,GAAA,CAAgB,QAASsiG,EAAgB,KAAK,MAAM,WAAY,EAChE,SAAArkQ,MAAC,OAAI,UAAU,kBAEd,SAACysG,OAAA,OAAI,UAAU,8HAEd,UAAAzsG,EAAA,IAAC,OACA,UAAU,kBACV,MAAO,CAAE,MAAO,GAAGkkQ,CAAc,GAAI,EACrC,cAAY,sBAEZ,SAAAlkQ,MAAC,MAAI,WAAU,oFAAqF,GACrG,EAGAA,EAAA,IAAC,OACA,UAAU,kBACV,MAAO,CAAE,MAAO,GAAGmkQ,CAAe,GAAI,EACtC,cAAY,0BAEZ,SAAAnkQ,MAAC,MAAI,WAAU,uHAAwH,GACxI,EAGCokQ,EAAmB,GACnBpkQ,EAAA,IAAC,OACA,UAAU,kBACV,MAAO,CAAE,MAAO,GAAGokQ,CAAgB,GAAI,EACvC,cAAY,mCAEb,CAEF,EACD,GACD,QACC,MAAI,eAAY,sBAAuB,SAAAnqF,GAAkB2pF,CAAiB,CAAE,IAC9E,CACD,EAEF,EC/FgB,SAAAU,IAAgB,CAAE,MAAAtQ,GAA2B,CAC5D,KAAM,CAAC+B,EAAawO,CAAc,EAAIn6Q,WAAS,EAAI,EAC7Co6Q,EAAQx8Q,SAAyB,IAAI,EACrCy8Q,EAAWz8Q,EAAiC,SAAE,EAC9C08Q,EAAc16Q,UAAQ,IAAM,CACjC,MAAM26Q,EAAgB3Q,EAAM,UAAWh+O,GAAcA,EAAK,SAAW,aAAa,EAC9E,OAAA2uP,IAAkB,GAAWA,EAC1B3Q,EAAM,UAAWh+O,GAAcA,EAAK,SAAW,WAAW,GAC/D,CAACg+O,CAAK,CAAC,EAGJ4Q,EAAoB56Q,UAAQ,IAAM,CACvC,MAAM66Q,EAAa7Q,EAAM,KAAMh+O,GAAcA,EAAK,SAAW,aAAa,EAC1E,OAAI6uP,GACG7Q,EAAM,KAAMh+O,GAAcA,EAAK,SAAW,WAAW,GAC1D,CAACg+O,CAAK,CAAC,EAeN,GAdJ/rQ,YAAU,IAAM,CAGf,GAFI8tQ,GACA,CAACyO,EAAM,SACPE,IAAgB,GAAI,OAClB,MAAAp+Q,EAASm+Q,EAAS,QAAQC,CAAW,EACvC,GAAAp+Q,GAAUk+Q,EAAM,QAAS,CAC5B,MAAM/+Q,EAAK++Q,EAAM,QACXM,EAAYx+Q,EAAO,UAAYb,EAAG,UAClCs/Q,EAAez+Q,EAAO,aACtB0+Q,EAAWv/Q,EAAG,aACdw/Q,EAAWH,GAAaE,EAAW,EAAID,EAAe,GAC5Dt/Q,EAAG,UAAYw/Q,CAAA,CAEd,GAACjR,EAAO+B,EAAa2O,CAAW,CAAC,EAChC,CAAC,MAAM,QAAQ1Q,CAAK,GAAKA,EAAM,SAAW,EAAU,YAExD,MAAMkR,EAAalR,EAAM,OACnBmR,EAAiBnR,EAAM,OAAQh+O,GAAcA,EAAK,SAAW,WAAW,EAAE,OAE1EovP,EAAeD,IAAmBD,GAAcA,EAAa,EAG7DG,EAA2B,IAC5BD,EAEFplQ,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,6BACZ,YAAa,EACb,WAAY,EACZ,WAAY,EACb,CACD,EAIG4kQ,EAeDA,EAAkB,SAAW,YAE/B5kQ,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,6BACZ,YAAa,EACb,WAAY,EACZ,WAAY,EACb,CACD,EAIE4kQ,EAAkB,SAAW,cAE/B5kQ,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,8BACZ,YAAa,EACb,WAAY,EACZ,WAAY,EACb,CACD,EAMDA,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,OAAQ,gDACR,WAAY,cACZ,YAAa,EACb,WAAY,EACZ,WAAY,EACb,CACD,EA7DCA,EAAA,IAAC,QACA,UAAU,4BACV,MAAO,CACN,MAAO,2BACP,YAAa,EACb,WAAY,EACZ,WAAY,EACZ,SAAU,GACX,CACD,EAyDF,OAAAysG,EAAA,KAAC,OACA,UAAU,0CACV,MAAO,CACN,OAAQ,IACR,QAAS,WACT,WAAY,8CACZ,YAAa,4BACd,EACA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,IAAK,EACL,aAAc,EACd,OAAQ,UACR,WAAY,MACb,EACA,QAAS,IAAM83J,EAAgBznS,GAAM,CAACA,CAAC,EACtC,UAAyBuoS,EAAA,EAC1BrlQ,EAAA,IAAC,QACA,MAAO,CACN,WAAY,IACZ,MAAOolQ,EACJ,8BACAR,GAAA,YAAAA,EAAmB,UAAW,cAC7B,8BACA,2BACJ,KAAM,EACN,SAAU,SACV,aAAc,WACd,WAAY,QACb,EACC,SAAAQ,EAAe,wBAAyBR,GAAA,YAAAA,EAAmB,UAAW,mBACxE,EACCn4J,OAAA,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,EAAG,WAAY,GACxE,UAAAzsG,EAAA,IAAC,QACA,UAAU,4BACV,MAAO,CACN,MAAO,sCACP,SAAU,GACX,CACD,EACAysG,EAAA,KAAC,QACA,MAAO,CACN,MAAO,sCACP,SAAU,GACV,WAAY,GACb,EACC,UAAA04J,EAAe,IAAED,CAAA,GACnB,CACD,IACD,EAEC,CAACnP,GAGAtpJ,OAAA/kG,EAAA,oBAAA1H,EAAA,IAAC,OACA,MAAO,CACN,SAAU,QACV,IAAK,EACL,KAAM,EACN,MAAO,EACP,OAAQ,EACR,WAAY,qBACZ,OAAQ,GACT,EACA,QAAS,IAAMukQ,EAAe,EAAI,EACnC,EAEA93J,EAAA,KAAC,OACA,MAAO,CACN,SAAU,WACV,IAAK,OACL,KAAM,EACN,MAAO,EACP,UAAW,EACX,WAAY,kCACZ,OAAQ,uCACR,aAAc,EACd,UAAW,iCACX,OAAQ,KACR,UAAW,QACX,UAAW,QACX,SAAU,QACX,EAEA,UAAAA,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,eAAgB,gBAChB,QAAS,YACT,aAAc,uCACd,WAAY,iCACb,EACA,UAACA,OAAA,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,GACzD,UAAAzsG,EAAA,IAAC,QACA,UAAU,4BACV,MAAO,CAAE,MAAO,0BAA2B,EAC5C,EACAA,MAAC,QAAK,MAAO,CAAE,WAAY,OAAQ,SAAU,EAAG,EAAG,SAAS,cAC5DysG,EAAA,KAAC,QACA,MAAO,CACN,MAAO,sCACP,SAAU,GACV,WAAY,GACb,EACC,UAAA04J,EAAe,IAAED,CAAA,GACnB,EACD,EACAllQ,EAAA,IAAC,QACA,UAAU,6BACV,MAAO,CACN,SAAU,GACV,QAAS,GACT,OAAQ,UACR,QAAS,MACT,aAAc,KACf,EACA,QAAUtiC,GAAM,CACfA,EAAE,gBAAgB,EAClB6mS,EAAe,EAAI,CACpB,EACA,aAAe7mS,GAAM,CAClBA,EAAA,cAAc,MAAM,QAAU,IAC9BA,EAAA,cAAc,MAAM,WAAa,uCACpC,EACA,aAAeA,GAAM,CAClBA,EAAA,cAAc,MAAM,QAAU,MAC9BA,EAAA,cAAc,MAAM,WAAa,cACpC,EACD,EACD,EAEAsiC,EAAA,IAAC,MACA,IAAKwkQ,EACL,MAAO,CACN,OAAQ,EACR,YAAa,EACb,UAAW,OACX,UAAW,QACX,UAAW,OACX,QAAS,WACV,EACC,SAAMxQ,EAAA,IAAI,CAACh+O,EAAWsqC,IAAgB,CAClC,IAAA+zL,EACA,OAAAr+N,EAAK,SAAW,YAElBq+N,EAAAr0O,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,6BACZ,YAAa,EACb,UAAW,EACX,WAAY,EACb,CACD,EAESgW,EAAK,SAAW,cAEzBq+N,EAAAr0O,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,WAAY,8BACZ,YAAa,EACb,UAAW,EACX,WAAY,EACb,CACD,EAIAq0O,EAAAr0O,EAAA,IAAC,QACA,MAAO,CACN,QAAS,eACT,MAAO,EACP,OAAQ,EACR,aAAc,MACd,OAAQ,gDACR,WAAY,cACZ,YAAa,EACb,UAAW,EACX,WAAY,EACb,CACD,EAIDysG,EAAA,KAAC,MAEA,IAAMhoH,GAAQggR,EAAS,QAAQnkN,CAAG,EAAI77D,EACtC,MAAO,CACN,aAAc,EACd,QAAS,OACT,WAAY,aACZ,UAAW,GACX,WAAY,KACb,EACC,UAAA4vP,EACDr0O,EAAA,IAAC,QACA,MAAO,CACN,WAAY,IACZ,MACCgW,EAAK,SAAW,YACb,6BACAA,EAAK,SAAW,cACf,8BACA,2BACL,UAAW,YACZ,EACC,SAAKA,EAAA,SACP,GAtBKA,EAAK,IAAMA,EAAK,OAuBtB,CAED,IACF,GACD,CACD,IAEF,CAEF,CC3TA,MAAMsvP,IAAa,CAAC,CACnB,KAAA/2M,EACA,SAAA8/B,EACA,UAAAC,EACA,YAAAC,EACA,WAAAC,EACA,UAAA+2K,EACA,cAAA7B,EACA,gBAAAL,EACA,sBAAAmC,EACA,QAAA50F,EACA,MAAAojF,CACD,IAAuB,OAChB,MAAE,EAAAp3R,CAAE,EAAImtC,GAAe,EACvB,CAAE,iBAAAg6B,EAAkB,gBAAA0hO,CAAgB,EAAI5+N,GAAkB,EAC1D,CAAE,GAAIioD,EAAS,KAAMy6J,CAAM,EAAIp+I,GAAiBpnE,CAAgB,EAChE,CAAC2hO,EAAgBC,CAAiB,EAAIv7Q,WAAS,EAAK,EAEpDw7Q,EAAmB59Q,SAAuB,IAAI,EAC9C69Q,EAAU79Q,SAAuB,IAAI,EACrCy7Q,GAAgBla,GAAA,YAAAA,EAAO,gBAAiB,EAExC,CAAE,MAAOjrI,CAAY,EAAI9xH,GAAc,EAEvCs5Q,EACJ9lQ,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,2BAA2B,EACtD,SAAAojC,EAAA,IAAC,UACA,SAAUqjQ,EACV,QAAS,IAAMoC,GAAmBD,EAAsBC,EAAgB,EAAE,EAC1E,UAAU,2JACV,SAAAzlQ,MAACy+H,IAAa,MAAM,EAAI,KAE1B,EAGKsnI,EAAW/R,GAAS,MAAM,QAAQA,CAAK,GAAKA,EAAM,OAAS,EAGhE,OAAAvnJ,EAAA,KAAC,MAAI,WAAU,YACd,UAAAA,EAAA,KAAC,OACA,UAAWh5D,GACV,kDACAsyN,EAAW,0BAA4B,aACvCL,EACG,oDACA,yDACJ,EACA,UAACj5J,OAAA,OAAI,UAAU,0CACd,UAAAA,EAAA,KAAC,OACA,UAAU,oEACV,QAAS,IAAMk5J,EAAkB,CAACD,CAAc,EAChD,UAAC1lQ,EAAA,WAAI,UAAU,6BACd,SAACA,MAAA,QAAK,UAAW,2BAA2B0lQ,EAAiB,OAAS,OAAO,EAAI,GAClF,EACAj5J,OAAC,MAAI,WAAU,sEACd,UAACA,OAAA,QAAK,UAAU,YACd,UAAA7vI,EAAE,iBAAiB,EACnB,CAAC8oS,GAAkB,KACrB,EACC,CAACA,GACD1lQ,EAAA,IAAC,OAAK,WAAU,OACf,SAAAA,EAAA,IAAC62P,GAAQ,MAAMtoM,EAAK,IAAM,EAC3B,GAEF,IACD,EACAvuD,MAAC+hK,IAAgB,QAASnlM,EAAE,yBAAyB,EACpD,SAAAojC,MAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAAO,QAAS6lG,EAAS,UAAU,mBAC/D,eAAC,OAAK,WAAU,uBAAwB,EACzC,EACD,IACD,EAEC,CAAC80F,GAAkBjC,EAAgB,GAClCh3J,EAAA,YAAI,UAAW,iDACf,UAAAzsG,EAAA,IAACgkQ,GAAA,CACA,cAAAP,EACA,cAAeC,GAAiB,EAChC,UACCna,EACGuY,GAAwB,CAAE,QAAAhzK,EAAS,MAAAy6J,EAAO,SAAUxlN,CAAiB,CAAC,EACtE,OAEL,EACC+hO,EACA9lQ,EAAA,IAAAmiQ,IAAA,CAAY,KAAMsD,EAAiB,SAAUpC,EAAiB,EAC9D,CAAC,CAACkC,GAAa94J,OAACrqB,GAAY,eAAEmjL,EAAU,QAAQ,CAAC,EAAE,IACrD,EAGAG,GAECj5J,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAAC,OACA,IAAK4lQ,EACL,UAAU,oFACV,SAAA5lQ,EAAA,IAAC,OACA,IAAK6lQ,EACL,UAAU,wEACV,MAAO,CACN,QAAS,cACT,gBAAiB,QACjB,gBAAiB,UAClB,EACA,SAAC7lQ,EAAA,IAAA62P,GAAA,CAAQ,KAAMtoM,EAAK,IAAM,IAC3B,CACD,EACCA,EAAK,QAAUA,EAAK,OAAO,OAAS,GAAMvuD,EAAA,IAAA8hP,GAAA,CAAW,OAAQvzL,EAAK,MAAQ,GAE3Ek+C,OAAC,MAAI,WAAU,sBACb,UAAAi5J,GAAkBjC,EAAgB,GAClCh3J,EAAA,KAAC,OACA,UAAW,eAAe6R,EAAc,IAAM,WAAa,UAAU,gBACrE,UAAAt+G,EAAA,IAAC,MAAI,WAAU,wCACd,SAAAA,EAAA,IAAC,OAAK,WAAU,YAAY,cAAY,uBACtC,SAAApjC,EAAE,yBAAyB,CAC7B,GACD,EACAojC,EAAA,IAACgkQ,GAAA,CACA,cAAAP,EACA,cAAeC,GAAiB,EAChC,UACCna,EACGuY,GAAwB,CACxB,QAAAhzK,EACA,MAAAy6J,EACA,SAAUxlN,CAAA,CACV,EACA,OAEL,EACC+hO,CAAA,EACF,EAEDr5J,OAAC,MAAI,WAAU,6CACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAAAzsG,MAAC,OAAK,WAAU,YAAa,SAAApjC,EAAE,kBAAkB,EAAE,EAClD,OAAOyxH,GAAa,UAAYA,EAAW,GAC1Coe,OAAA,QAAK,UAAU,4BACf,UAACzsG,MAAA,KAAE,UAAU,4CAA6C,GACzDi6K,GAAkB5rF,CAAQ,GAC5B,EAEA,OAAOC,GAAc,UAAYA,EAAY,GAC5Cme,OAAA,QAAK,UAAU,4BACf,UAACzsG,MAAA,KAAE,UAAU,8CAA+C,GAC3Di6K,GAAkB3rF,CAAS,EAC7B,IAEF,EACC,CAACi3K,GAAavlQ,MAACojQ,GAAY,MAAMqC,EAAiB,gBAAApC,CAAkC,IACtF,GAEG,OAAO70K,GAAe,UAAYA,EAAa,GAChD,OAAOD,GAAgB,UAAYA,EAAc,IACjDke,OAAA,OAAI,UAAU,6CACd,UAAAzsG,MAAC,OAAK,WAAU,YAAa,SAAApjC,EAAE,iBAAiB,EAAE,EACjD,OAAO2xH,GAAgB,UAAYA,EAAc,GAChDke,OAAA,QAAK,UAAU,4BACf,UAACzsG,MAAAk+H,IAAA,CAAY,KAAM,EAAI,GACtB+7C,GAAkB1rF,CAAW,GAC/B,EAEA,OAAOC,GAAe,UAAYA,EAAa,GAC9Cie,OAAA,QAAK,UAAU,4BACf,UAACzsG,MAAAi+H,IAAA,CAAc,KAAM,EAAI,GACxBg8C,GAAkBzrF,CAAU,EAC9B,IAEF,EAGA,CAAC,CAAC+2K,GACD94J,OAAA,OAAI,UAAU,6CACd,UAACA,OAAA,OAAI,UAAU,0BACd,UAAAzsG,MAAC,OAAK,WAAU,YAAa,SAAApjC,EAAE,mBAAmB,EAAE,SACnD,OAAK,eAAE2oS,GAAA,YAAAA,EAAW,QAAQ,EAAC,CAAE,IAC/B,EACCvlQ,MAAAojQ,GAAA,CAAY,KAAMqC,EAAiB,gBAAApC,CAAkC,GACvE,GAEF,GACD,IAEF,EACArjQ,MAACskQ,KAAgB,MAAOtQ,KAAUnrQ,EAAA0lE,GAAA,YAAAA,EAAc,OAAd,YAAA1lE,EAAoB,QAAS,EAAI,IACpE,CAEF,EAEe0vL,WAAK+sF,GAAU,ECrMjBU,IAA2E,CACvF,oBAAqB,CACpB,IAAK,sBACL,SAAU,sCACV,eAAgB,4CAChB,KAAM,MACN,OAAQ,8BACT,EACA,iBAAkB,CACjB,IAAK,mBACL,SAAU,mCACV,eAAgB,yCAChB,KAAM,OACN,OAAQ,2BACT,EACA,mBAAoB,CACnB,IAAK,qBACL,SAAU,qCACV,eAAgB,2CAChB,KAAM,QACN,OAAQ,6BACT,EACA,sBAAuB,CACtB,IAAK,wBACL,SAAU,mCACV,eAAgB,yCAChB,KAAM,UACN,OAAQ,gCACT,EACA,eAAgB,CACf,IAAK,iBACL,SAAU,iCACV,eAAgB,uCAChB,KAAM,OACN,OAAQ,yBACT,EACA,sBAAuB,CACtB,IAAK,wBACL,SAAU,wCACV,eAAgB,8CAChB,KAAM,OACN,OAAQ,iCACT,EACA,oBAAqB,CACpB,IAAK,sBACL,SAAU,sCACV,eAAgB,4CAChB,KAAM,YACN,OAAQ,8BACT,EACA,mBAAoB,CACnB,IAAK,qBACL,SAAU,qCACV,eAAgB,2CAChB,KAAM,WACN,OAAQ,6BACT,EACA,6BAA8B,CAC7B,IAAK,+BACL,SAAU,+CACV,eAAgB,qDAChB,KAAM,WACN,OAAQ,wCACT,EACA,0BAA2B,CAC1B,IAAK,4BACL,SAAU,4CACV,eAAgB,kDAChB,KAAM,YACN,OAAQ,uCAEV,EAMaC,IAAoB,CAAC,CAAE,SAAAC,EAAU,GAAGphQ,KAAoC,CAC9E,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAG/B,OAAAlnC,EAAA,IAAC,MAAI,WAAWyzC,GAAG,oCAAoC,EACrD,SAAO,cAAOuyN,GAAyB,EAAE,IAAI,CAAC,CAAE,IAAAz/Q,EAAK,eAAAq1Q,EAAgB,SAAAuK,EAAU,KAAA9xB,EAAM,OAAA+xB,CAAO,IAC3FpmQ,MAAA+hK,GAAA,CAA0B,QAASnlM,EAAEg/R,GAAkB,EAAE,EACzD,SAAAnvJ,EAAA,KAAC1hC,GAAA,CACA,QAASjmE,EAAMve,CAAG,EAAI,UAAY,UAClC,QAAS,IAAM2/Q,EAAS3/Q,EAAK,CAACue,EAAMve,CAAG,CAAC,EACxC,aAAY3pB,EAAEupS,CAAQ,EACtB,eAAc,CAAC,CAACrhQ,EAAMve,CAAG,EACzB,cAAa6/Q,EACb,UAAW3yN,GACV,0EACA,CAAC3uC,EAAMve,CAAG,GAAK,YAChB,EACA,UAAAyZ,EAAA,IAAC,OAAK,WAAW,mBAAmBq0O,CAAI,WAAY,EACnDr0O,MAAA,QAAM,SAAEpjC,EAAAupS,CAAQ,CAAE,OAZC5/Q,CActB,CACA,EACF,CAEF,ECnHM8/Q,IAAkB,CAAC,CAAE,MAAA16Q,KAAkC,CAC5D,KAAM,CAACsvP,EAAYqe,CAAa,EAAIlvQ,WAAS,EAAK,EAE5C,CACL,oBAAAkpL,EACA,uBAAAgzF,EACA,sBAAAryF,EACA,uBAAAsyF,EACA,oBAAAC,EACA,sBAAAC,EACA,sBAAAC,EACA,kBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,yBAAAC,EACA,gCAAAnhO,EACA,6BAAAohO,GACGlgO,GAAkB,EAEhB,CAAE,EAAAjqE,CAAE,EAAIsqE,GAAkB,EAE1B8/N,EAAcvzF,GAAuB,EAGrCJ,EAAUrpL,EAAA,QACf,KAAO,CACN,GAAGg9Q,EACH,sBAAA/yF,CAAA,GAED,CAAC+yF,EAAa/yF,CAAqB,CACpC,EAEM,CAAE,kBAAAV,EAAmB,6BAAAC,CAAA,EAAiCJ,GAAqBC,EAASC,CAAmB,EAEvG2zF,EAAsBx+Q,EAAA,YAC3B,CAAClC,EAAyBuE,IAAmB,CAI5C,OAHA23C,GAAO,YAAY,CAAE,KAAMl8C,EAAK,KAAMuE,EAAO,EAGrCvE,EAAK,CACZ,IAAK,sBACJggR,EAAuBz7Q,CAAK,EAC5B,MACD,IAAK,mBACJ07Q,EAAoB17Q,CAAK,EACzB,MACD,IAAK,qBACJ27Q,EAAsB37Q,CAAK,EAC3B,MACD,IAAK,qBACJ47Q,EAAsB57Q,CAAK,EAC3B,MACD,IAAK,iBACJ67Q,EAAkB77Q,CAAK,EACvB,MACD,IAAK,wBACJ87Q,EAAyB97Q,CAAK,EAC9B,MACD,IAAK,sBACJ+7Q,EAAuB/7Q,CAAK,EAC5B,MACD,IAAK,wBACJg8Q,EAAyBh8Q,CAAK,EAC9B,MACD,IAAK,+BACJ66C,EAAgC76C,CAAK,EACrC,MACD,IAAK,4BACJi8Q,EAA6Bj8Q,CAAK,EAClC,MAKF,MAAMo8Q,EAAiB,CACtB,GAAG7zF,EACH,CAAC9sL,CAAG,EAAGuE,CACR,EAEMq8Q,EAAyB,OAAO,OAAOD,CAAc,EAAE,KAAMpqS,GAAM,CAAC,CAACA,CAAC,EAGxEguB,GAAS,CAACyoL,GAAqB4zF,GAClCb,EAAuB,EAAI,EAC3B7jO,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAM,GAAM,GAGtD,CAAC33C,GAASyoL,GAAqB,CAAC4zF,IACxCb,EAAuB,EAAK,EAC5B7jO,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAM,GAAO,EAEjE,EACA,CACC4wI,EACAE,EACAgzF,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAnhO,EACAohO,EACAT,CAAA,CAEF,EAEMc,EAAiB3+Q,cAAY,IAAM,CAC1B6wQ,EAACx+O,GAAS,CAACA,CAAI,CAC9B,EAAG,EAAE,EAECusP,EAAqB,OAAO,QAAQh0F,CAAO,EAC/C,OAAO,CAAC,CAACh+E,EAAMvqG,CAAK,IAAM,CAAC,CAACA,CAAK,EACjC,IAAI,CAAC,CAACvE,CAAG,IAAM3pB,EAAEopS,IAA0Bz/Q,CAAyB,EAAE,QAAQ,CAAC,EAC/E,KAAK,IAAI,EAGL+6K,EAAct3K,UAAQ,IACvB,CAACwpL,GAAgC,CAACD,EAC9B32M,EAAE,uBAAuB,EAE1ByqS,GAAsBzqS,EAAE,uBAAuB,EACpD,CAAC42M,EAA8BD,EAAmB8zF,EAAoBzqS,CAAC,CAAC,EAErE07M,EAAqB7vL,EAAA,YAC1B,IACC,OAAO,YAAY,CAAE,KAAM,SAAU,OAAQ,wBAAyB,OAAQ,CAAE,QAAS,eAAiB,EAC3G,EACD,EAGC,OAAAgkH,EAAA,KAAC,OACA,MAAO,CACN,QAAS,SACT,WAAY,OACZ,UAAWwuI,EACR,6FACA,OACH,UAAW,OACX,GAAGtvP,CACJ,EACA,UAAA8gH,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,IAAK,MACL,QAASwuI,EAAa,QAAU,YAChC,OAAQ,SACT,EACA,QAASmsB,EACT,UAAApnQ,MAAC,OAAI,QAAUtiC,GAAMA,EAAE,kBACtB,SAAAsiC,EAAA,IAAC+hK,GAAA,CACA,QAAUwR,EAA+D,OAA3C32M,EAAE,qCAAqC,EACrE,SAAAojC,EAAA,IAACsiF,GAAA,CACA,QAASkxF,EACT,SAAU,CAACD,EACX,aAEI32M,EADH22M,EACK,mCACA,oCADkC,EAGxC,SAAU,IAAM,CACf,GAAIA,EAAmB,CAChB,MAAApnK,EAAW,EAAEmnK,GAAuB,IAC1CgzF,EAAuBn6P,CAAQ,EAC/Bs2B,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAMt2B,EAAU,EACnE,CAED,EACD,GAEF,EACAsgG,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,IAAK,MACL,KAAM,EACN,SAAU,CACX,EACA,UAAAzsG,EAAA,IAAC,QACA,MAAO,CACN,MAAO,2BACP,WAAY,CACb,EACC,WAAE,wBAAwB,EAC5B,EACAA,EAAA,IAAC,QACA,MAAO,CACN,MAAO,sCACP,SAAU,SACV,aAAc,WACd,WAAY,SACZ,KAAM,EACN,SAAU,CACX,EACC,SAAAshK,CAAA,CACF,EACAthK,EAAA,IAAC,QACA,UAAW,2BAA2Bi7O,EAAa,OAAS,OAAO,GACnE,MAAO,CACN,WAAY,EACZ,WAAYA,EAAa,MAAQ,OAClC,EACD,GACD,EACD,EAECA,GACAxuI,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAzsG,EAAA,IAAC,OACA,MAAO,CACN,MAAO,sCACP,SAAU,MACX,EACA,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,+BACR,WAAY,CACX,aAAehI,EAAA,IAAAwiF,GAAA,CAAW,KAAK,IAAI,QAAS81F,CAAoB,GACjE,EACD,CACD,EAECt4K,MAAAimQ,IAAA,CAAmB,GAAG5yF,EAAS,SAAU4zF,CAAqB,GAChE,IAEF,CAEF,EAEe1uF,UAAK8tF,GAAe,ECrPtBiB,IAAgC,IAAM,CAC5C,MAAE,CAAE,EAAIpgO,GAAkB,EAG/B,OAAAulE,EAAA,KAAC,MAAI,WAAU,oHACd,UAAAzsG,MAAC,OAAI,UAAU,gDACd,eAAC,OAAK,WAAU,0BAA0B,CAC3C,GACCA,MAAA,QAAM,SAAE,4BAA0B,CAAE,IACtC,CAEF,ECXaunQ,IAAoC,IAAM,CAChD,MAAE,CAAE,EAAIrgO,GAAkB,EAG/B,OAAAulE,EAAA,KAAC,MAAI,WAAU,oHACd,UAAAzsG,MAAC,OAAI,UAAU,gDACd,eAAC,OAAK,WAAU,0BAA0B,CAC3C,GACCA,MAAA,QAAM,SAAE,gCAA8B,CAAE,IAC1C,CAEF,ECXawnQ,IAAoB,IAE/B/6J,EAAA,KAAC,MAAI,WAAU,oIACd,UAACzsG,MAAA,QAAK,UAAU,oDAAqD,GACrEA,MAAC,OAAK,WAAU,yBACf,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,sCACR,WAAY,CACX,aACChI,EAAA,IAACwiF,GAAA,CACA,KAAK,IACL,QAAU9kH,GAAM,CACfA,EAAE,eAAe,EACV,mBACN,CACC,KAAM,SACN,OAAQ,wBACR,OAAQ,CAAE,QAAS,aAAc,CAClC,EACA,GACD,CACD,EACA,UAAU,iBACX,CAEF,EAEF,IACD,EClBI+pS,IAAgD,CAAC,CAAE,MAAAtzQ,EAAO,SAAAuzQ,EAAU,SAAAC,KAAe,CACxF,KAAM,CAAE,EAAA/qS,CAAA,EAAMmtC,GAAe,MAAM,EAC7B,CAACwvP,EAAeC,CAAgB,EAAIpvQ,WAAgE,EAAE,EAExG,GAAA+J,EAAM,SAAW,EACb,YAGF,MAAAylQ,EAAe,CAACgO,EAAmBC,IACjCtO,EAAcqO,CAAS,GAAK,CAAE,UAAW,GAAO,MAAOC,CAAY,EAGrEhO,EAAe,CAAC+N,EAAmBhT,EAAoB9pQ,IAAmB,CAC/E0uQ,EAAkB1+O,GAAU,cAC3B,GAAGA,EACH,CAAC8sP,CAAS,EAAG,CAAE,UAAAhT,EAAW,MAAO9pQ,KAASjC,EAAAiyB,EAAK8sP,CAAS,IAAd,YAAA/+Q,EAAiB,QAAS,EAAG,GACtE,CACH,EAEMq1Q,EAAiB,CAACllQ,EAAe4uQ,EAAmBz7P,IAAqB,CAC9Ew7P,EAAS3uQ,EAAOmT,CAAQ,EACxB0tP,EAAa+N,EAAW,EAAK,CAC9B,EAEA,OACEn7J,OAAA,OAAI,UAAU,+BAA+B,cAAY,kBACzD,UAAAzsG,MAAC,MAAI,WAAU,iDAAkD,SAAApjC,EAAE,sBAAsB,EAAE,EAC3FojC,MAAC,OAAI,UAAU,yDACb,WAAM,IAAI,CAACwoB,EAASxvB,IAAU,CAC9B,MAAM8gQ,EAAYF,EAAapxO,EAAQ,GAAIA,EAAQ,IAAI,EAGtD,OAAAikF,EAAA,KAAC,OAEA,UAAU,sGACV,UAACA,OAAA,OAAI,UAAU,uBACd,UAAAzsG,EAAA,IAAC,MAAI,WAAU,oCACb,SAAA85P,EAAU,UACV95P,EAAA,IAAC,YACA,IAAMusP,GAAa,CACdA,GAEMA,EAAA,kBACRA,EAAS,MAAM,OACfA,EAAS,MAAM,MAChB,CAEF,EACA,MAAOuN,EAAU,MACjB,SAAWp8R,GAAMm8R,EAAarxO,EAAQ,GAAI,GAAM9qD,EAAE,OAAO,KAAK,EAC9D,OAAQ,IAAMwgS,EAAellQ,EAAOwvB,EAAQ,GAAIsxO,EAAU,KAAK,EAC/D,UAAYp8R,GAAM,CACbA,EAAE,MAAQ,SAAW,CAACA,EAAE,WAC3BA,EAAE,eAAe,EACjBwgS,EAAellQ,EAAOwvB,EAAQ,GAAIsxO,EAAU,KAAK,GAE9Cp8R,EAAE,MAAQ,UACbm8R,EAAarxO,EAAQ,GAAI,GAAOA,EAAQ,IAAI,CAE9C,EACA,UAAU,4LACV,YAAa5rD,EAAE,8BAA8B,EAC7C,UAAS,GACT,KAAM,KAAK,IAAIk9R,EAAU,MAAM,MAAM;AAAA,CAAI,EAAE,OAAQ,EAAE,IAGtD95P,EAAA,IAAC,OACA,QAAS,IAAM65P,EAAarxO,EAAQ,GAAI,GAAMA,EAAQ,IAAI,EAC1D,UAAU,0GACV,MAAO5rD,EAAE,iCAAiC,EAC1C,eAACi6R,GAAQ,MAAMruO,EAAQ,KAAM,WAAU,EAAC,KAG3C,EACAxoB,MAAC,MAAI,WAAU,OACd,SAAAA,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,UAAU,WACV,QAAUrtG,GAAM,CACfA,EAAE,gBAAgB,EAClBgqS,EAAS1uQ,CAAK,CACf,EACA,SAAAgH,MAAC,OAAK,WAAU,uBAAwB,IAE1C,IACD,EACCwoB,EAAQ,QAAUA,EAAQ,OAAO,OAAS,GAC1CxoB,MAAC8hP,GAAW,QAAQt5N,EAAQ,OAAQ,MAAO,CAAE,UAAW,MAAS,KAvD7DA,EAAQ,EAyDd,EAED,CACF,IACD,CAEF,EC5GO,SAASs/O,IAAcpc,EAA+B,CAC5D,MAAMsI,EAAQtI,EACZ,OACC3pP,GACCA,EAAI,OAAS,OAASA,EAAI,MAAQ,QAAYA,EAAI,OAAS,OAASA,EAAI,MAAQ,mBAElF,IAAKA,GAAQ,CACT,IACH,OAAO,KAAK,MAAMA,EAAI,MAAQ,IAAI,OAC3B,CACA,YACR,CACA,EACA,OAAQ5R,GAASA,GAAQA,EAAK,OAAS,kBAAoB,MAAM,QAAQA,EAAK,KAAK,CAAC,EACpF,IAAKA,GAASA,EAAK,KAAK,EACxB,IAAI,EACN,OAAI6jQ,GAGI,CAAC,CAEV,CCgDO,MAAM9B,GAAyB,GAEhC6V,GAAQ,UAAU,SAAS,YAAc,UAAQ,KAAK,GAAK,EAE3DC,IAAgF,CACrF,CAAE,SAAAhwJ,EAAU,iBAAAiwJ,EAAkB,iBAAA9qF,CAAA,EAC9Bp1L,IACI,CACE,MAAA4xJ,EAAe3xJ,SAAO,EAAI,EAC1B,CAACkgR,CAAY,EAAI99Q,WAAS,IACrB,OACD,gBAAkB,EAC3B,EACK,CAAE,EAAAxtB,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,EAAGihO,GAAcp+P,GAAe,UAAU,EAC5C44O,EAAmB,GAAGolB,GAAQ,IAAM,MAAM,QAAQnrS,EAAE,kBAAkB,CAAC,KAAKmrS,GAAQ,IAAM,MAAM,gBAAgBnrS,EAAE,sBAAsB,CAAC,GACzI,CACL,cAAeowH,EACf,gBAAAy4K,EACA,YAAAtsF,EACA,iBAAAp1I,EACA,sBAAAqkO,EACA,WAAAljO,EACA,mBAAA2uI,EACA,oBAAAH,EACA,oCAAA20F,EACA,iBAAA10F,EACA,iCAAA20F,EACA,0BAAAC,EACA,mBAAA30F,EACA,eAAAE,EACA,gBAAAnhF,EACA,eAAAC,EACA,aAAA41K,EACA,6BAAA5iO,EACA,KAAAzJ,EACA,QAAA8xN,EACA,oBAAA36E,EACA,sBAAAS,EACA,oBAAAC,EACA,6BAAAtuI,EACA,0BAAAwuI,EACA,YAAAryI,EACA,iBAAAwY,EACA,wBAAAouN,EACA,wBAAAC,EACA,aAAA3kL,EACA,YAAA4kL,EACA,qBAAAhG,GACG97N,GAAkB,EAEhB+hO,GAAc5gR,SAAOglG,CAAQ,EACnC/kG,YAAU,IAAM,CACf2gR,GAAY,QAAU57K,CAAA,EACpB,CAACA,CAAQ,CAAC,EAEP,MAAE,MAAA7+B,EAAM,EAAI+qH,GAAc,EAG1B,CAAC+hE,EAAYqe,EAAa,EAAIlvQ,EAAA,SACnCs+Q,IAA4B,OAAY,GAAO,CAACA,CACjD,EAEMtB,EAAiB3+Q,cAAY,IAAM,CACxC,MAAMmV,GAAW,CAACq9O,EAClBqe,GAAc17P,EAAQ,EAEtB6kC,GAAO,YAAY,CAAE,KAAM,6BAA8B,KAAM,CAAC7kC,GAAU,GACxE,CAACq9O,CAAU,CAAC,EAKT1sL,GAAOvkE,UAAQ,IAAMgjG,EAAS,GAAG,CAAC,EAAG,CAACA,CAAQ,CAAC,EAE/C67K,GAAc7+Q,UAAQ,IACpB89Q,IAAc96K,CAAQ,EAC3B,CAACA,CAAQ,CAAC,EAEP87K,GAAmB9+Q,UAAQ,IAAM+iG,IAAmBW,IAAwBV,EAAS,MAAM,CAAC,CAAC,CAAC,EAAG,CAACA,CAAQ,CAAC,EAG3G+7K,GAAa/+Q,UAAQ,IAAMmkG,IAAc26K,EAAgB,EAAG,CAACA,EAAgB,CAAC,EAE9E,CAACnd,GAAYC,CAAa,EAAIxhQ,WAAS,EAAE,EACzCovI,GAAcxxI,SAA4B,IAAI,EAC9C,CAAC0lQ,GAAiBsb,EAAkB,EAAI5+Q,WAAS,EAAK,EACtD,CAAC2jQ,GAAgBC,EAAiB,EAAI5jQ,WAAmB,EAAE,EAC3D,CAAC6+Q,GAAcC,EAAe,EAAI9+Q,WAA0B,EAAE,EAC9D++Q,GAAuBnhR,SAAO,EAAK,EACnCohR,GAAgBphR,SAAgC,OAAK,EACrDqhR,GAAqB,EAGrB,CAACC,GAAUC,EAAW,EAAIn/Q,WAA+B,MAAS,EAClE,CAACo/Q,GAAeC,EAAgB,EAAIr/Q,WAAkB,EAAK,EAC3D,CAACs/Q,GAAmBC,EAAoB,EAAIv/Q,WAA6B,MAAS,EAClF,CAACw/Q,GAAqBC,EAAsB,EAAIz/Q,WAA6B,MAAS,EACtF,CAAC0/Q,GAAgBC,EAAiB,EAAI3/Q,WAAS,EAAK,EACpD4/Q,GAAchiR,SAAuB,IAAI,EACzC,CAACiiR,GAAcC,EAAe,EAAI9/Q,WAAkC,EAAE,EACtE+/Q,GAAsBniR,SAAgC,EACtDoiR,GAAqBpiR,SAAuB,IAAI,EAChDqiR,GAAuBriR,SAAO,EAAK,EACnC,CAACsiR,GAAoBC,EAAqB,EAAIngR,WAAS,EAAK,EAC5D,CAACuqN,GAAY61D,EAAa,EAAIpgR,WAAS,EAAK,EAC5CqgR,GAAaziR,SAAe,EAAE,EAC9B,CAAC0iR,GAAcC,EAAe,EAAIvgR,WAAkB,EAAK,EACzD,CAACwgR,GAAuBC,EAAwB,EAAIzgR,WAAkB,EAAK,EAC3E,CAAC0gR,GAAcC,EAAe,EAAI3gR,WAAkB,EAAK,EACzD,CAAC4gR,GAAuBC,EAAwB,EAAI7gR,WAAS,EAAK,EAClE8gR,GAA2BljR,EAAA,OAChC,IAAIskG,GAAS,CACZ,IAAK,IACL,IAAK,IAAO,GAAK,EACjB,EACF,EACM6+K,GAAwBnjR,SAA8B,IAAI,EAC1DojR,GAAmBpjR,SAAgB,EAAK,EACxC,CAACqjR,GAAmBC,EAAoB,EAAIlhR,WAAwB,IAAI,EAExEmhR,GAAcvjR,SAAOshR,EAAQ,EACnCrhR,YAAU,IAAM,CACfsjR,GAAY,QAAUjC,EAAA,EACpB,CAACA,EAAQ,CAAC,EAEbrhR,YAAU,KACT0xJ,EAAa,QAAU,GAChB,IAAM,CACZA,EAAa,QAAU,EACxB,GACE,EAAE,EAEL,MAAM6xH,GAAoBxhR,EAAA,QACzB,IAAM,CAAC,CAAC+5C,GAAoB,CAAC4qD,IAAiB,iBAAiB5qD,EAAkBqkO,CAAqB,EACtG,CAACrkO,EAAkBqkO,CAAqB,CACzC,EAIMqD,GAAczhR,UAAQ,IAAMgjG,EAAS,GAAG,EAAE,EAAG,CAACA,CAAQ,CAAC,EACvD0+K,GAAoB1hR,UAAQ,IAAMgjG,EAAS,GAAG,EAAE,EAAG,CAACA,CAAQ,CAAC,EAI7D2+K,GAAc,CACnB,OAFc,OAAOhD,GAAgB,SAAWA,EAAc,GAI9D,aAAA5kL,CACD,EAEM6nL,GAAe9/P,IACb,GAAGo8P,CAAY,IAAIp8P,EAAI,GAIzB,CAAC+/P,EAAgB,EAAIvoL,GAASsoL,GAAY,kBAAkB,EAAGD,EAAW,EAC1E,CAACG,EAAe,EAAIxoL,GAASsoL,GAAY,iBAAiB,EAAGD,EAAW,EACxE,CAACI,EAAgB,EAAIzoL,GAASsoL,GAAY,mBAAmB,EAAGD,EAAW,EAEjF,SAASK,GAAUC,GAAsB,CAGxC,OAAQA,GAAW,CAClB,IAAK,eACaJ,GAAA,EACjB,MACD,IAAK,cACYC,GAAA,EAChB,MACD,IAAK,gBACaC,GAAA,EACjB,MACD,QACS,aAAK,uBAAuBE,EAAS,EAAE,EACjD,CAGD,SAASC,GAAQ9oQ,GAAc,CAC9Bq/B,GAAO,YAAY,CAAE,KAAM,UAAW,KAAAr/B,GAAM,EAG7Cpa,IAAqB,IAAM,CAI1B,GAAIyiR,GACH,OAAQA,GAAY,KAAM,CACzB,IAAK,MAEJL,GAAiB,QAAU,GACrB,MAAAhwB,GAAYqwB,GAAY,UAAY,GAC1C,OAAQA,GAAY,IAAK,CACxB,IAAK,iBACJO,GAAU,eAAe,EACzBhD,GAAmB,EAAI,EACvBO,GAAY,gBAAgB,EAC5BE,GAAiB,EAAI,EACAE,GAAA/sS,EAAE,kBAAkB,CAAC,EACnBitS,GAAAjtS,EAAE,yBAAyB,CAAC,EACnD,MACD,IAAK,wBACJovS,GAAU,eAAe,EACzBhD,GAAmB,EAAK,EACxBO,GAAY,uBAAuB,EACnCE,GAAiB,EAAI,EACAE,GAAA/sS,EAAE,2BAA2B,CAAC,EAC5BitS,GAAAjtS,EAAE,yBAAyB,CAAC,EACnD,MACD,IAAK,WACCw+Q,IACJ4wB,GAAU,cAAc,EAEzBhD,GAAmB5tB,EAAS,EAC5BmuB,GAAY,UAAU,EAKtBE,GAAiB,EAAI,EACrBE,GAAqB,MAAS,EAC9BE,GAAuB,MAAS,EAChC,MACD,IAAK,OACA,CAACsC,GAAeV,EAAW,GAAK,CAACrwB,IACpC4wB,GAAU,cAAc,EAEzBhD,GAAmB5tB,EAAS,EAC5BmuB,GAAY,MAAM,EAClBE,GAAiB,CAACruB,EAAS,EAC3B,MAAMhkC,GAAO,KAAK,MAAMq0D,GAAY,MAAQ,IAAI,EAChD,OAAQr0D,GAAK,KAAM,CAClB,IAAK,qBACL,IAAK,cACL,IAAK,iBACL,IAAK,gBACiBuyD,GAAA/sS,EAAE,iBAAiB,CAAC,EAClBitS,GAAAjtS,EAAE,mBAAmB,CAAC,EAC7C,MACD,IAAK,aACiB+sS,GAAA/sS,EAAE,+BAA+B,CAAC,EACvDitS,GAAuB,MAAS,EAChC,MACD,IAAK,WACAzyD,GAAK,YAAc,MAAM,QAAQA,GAAK,UAAU,GAC9BuyD,GAAA/sS,EAAE,+BAA+B,CAAC,EAChCitS,GAAAjtS,EAAE,4BAA4B,CAAC,IAEjC+sS,GAAA/sS,EAAE,oBAAoB,CAAC,EACrBitS,GAAAjtS,EAAE,mBAAmB,CAAC,GAE9C,MACD,QACsB+sS,GAAA/sS,EAAE,oBAAoB,CAAC,EACrBitS,GAAAjtS,EAAE,mBAAmB,CAAC,EAC7C,MAEF,MACD,IAAK,wBACA,CAACuvS,GAAeV,EAAW,GAAK,CAACrwB,IACpC4wB,GAAU,cAAc,EAEzBhD,GAAmB5tB,EAAS,EAC5BmuB,GAAY,uBAAuB,EACnCE,GAAiB,CAACruB,EAAS,EACNuuB,GAAA/sS,EAAE,oBAAoB,CAAC,EACrBitS,GAAAjtS,EAAE,mBAAmB,CAAC,EAC7C,MACD,IAAK,UACA,CAACuvS,GAAeV,EAAW,GAAK,CAACrwB,IACpC4wB,GAAU,cAAc,EAEzBhD,GAAmB5tB,EAAS,EAC5BmuB,GAAY,SAAS,EACrBE,GAAiB,CAACruB,EAAS,EACNuuB,GAAA/sS,EAAE,uBAAuB,CAAC,EACxBitS,GAAAjtS,EAAE,mBAAmB,CAAC,EAC7C,MACD,IAAK,iBACJosS,GAAmB,EAAK,EACxBO,GAAY,gBAAgB,EAC5BE,GAAiB,EAAI,EACAE,GAAA/sS,EAAE,gCAAgC,CAAC,EACjCitS,GAAAjtS,EAAE,wBAAwB,CAAC,EAClD,MACD,IAAK,iBACA,CAACuvS,GAAeV,EAAW,GAAK,CAACrwB,IACpC4wB,GAAU,cAAc,EAEzBhD,GAAmB5tB,EAAS,EAC5BmuB,GAAY,gBAAgB,EAC5BE,GAAiB,CAACruB,EAAS,EACNuuB,GAAA/sS,EAAE,oBAAoB,CAAC,EACrBitS,GAAAjtS,EAAE,mBAAmB,CAAC,EAC7C,MACD,IAAK,oBAECw+Q,IACJ4wB,GAAU,aAAa,EAExBhD,GAAmB5tB,EAAS,EAC5BmuB,GAAY,mBAAmB,EAC/BE,GAAiB,CAACruB,EAAS,EACNuuB,GAAA/sS,EAAE,yBAAyB,CAAC,EACjDitS,GAAuB,MAAS,EAChC,MACD,IAAK,cACJb,GAAmB,EAAK,EACxBO,GAAY,aAAa,EACzBE,GAAiB,EAAI,EACAE,GAAA/sS,EAAE,uBAAuB,CAAC,EACxBitS,GAAAjtS,EAAE,sBAAsB,CAAC,EAChDmtS,GAAkB,EAAK,EACvB,MACD,IAAK,wBACJf,GAAmB,EAAK,EACxBO,GAAY,uBAAuB,EACnCE,GAAiB,EAAI,EACAE,GAAA/sS,EAAE,yBAAyB,CAAC,EACjDitS,GAAuB,MAAS,EAChCE,GAAkB,EAAK,EACvB,MAEF,MACD,IAAK,MAGJ,OAAQ0B,GAAY,IAAK,CACxB,IAAK,wBACJzC,GAAmB,EAAI,EACvB,MACD,IAAK,mBACA0C,IAAA,YAAAA,GAAmB,OAAQ,mBAC9B1C,GAAmB,EAAI,EACvBhb,GAAkB,EAAE,EACpBub,GAAY,MAAS,EACrBE,GAAiB,EAAK,GAEvB,KAUA,CAEF,MAEH,EACE,CAACgC,GAAaC,EAAiB,CAAC,EAEnCzjR,YAAU,IAAM,CACX+kG,EAAS,SAAW,IACvBg8K,GAAmB,EAAK,EACxBO,GAAY,MAAS,EACrBE,GAAiB,EAAK,EACtBE,GAAqB,MAAS,EAC9BE,GAAuB,MAAS,EACjC,EACE,CAAC78K,EAAS,MAAM,CAAC,EAEpB/kG,YAAU,IAAM,CACfiiR,GAAgB,EAAE,EAClBgB,GAAyB,QAAQ,MAAM,EACvCI,GAAqB,IAAI,EAGrBH,GAAsB,UACzB,aAAaA,GAAsB,OAAO,EAC1CA,GAAsB,QAAU,MAGjCC,GAAiB,QAAU,GAG3BlC,GAAgB,EAAE,EAElBE,GAAc,QAAQ,MAAM,GAC1B,CAAC76M,IAAA,YAAAA,GAAM,EAAE,CAAC,EAEbtmE,YAAU,IAAM,CACX+vH,GACHkzJ,GAAyB,QAAQ,MAAM,CACxC,EACE,CAAClzJ,CAAQ,CAAC,EAEb/vH,EAAA,UAAU,IAAM,IAAMijR,GAAyB,QAAQ,MAAM,EAAG,EAAE,EAElEjjR,YAAU,IAAM,CACf,MAAM6yB,GAAOqvP,GAAoB,QACjC,IAAIiC,GAA0B,GAC9B,GAAItxP,GAEH,SAAW,CAACuxP,GAAOpxB,EAAU,IAAK,OAAO,QAAQgvB,EAAY,EAAG,CACzD,MAAAx6N,GAAK,OAAO48N,EAAK,EACvB,GAAIpxB,IAAc,EAAEngO,GAAK20B,EAAE,GAAK,IAAQ,CACb28N,GAAA,GAC1B,MACD,CAIEA,KACH/B,GAAqB,QAAU,IAEhCF,GAAoB,QAAUF,EAAA,EAC5B,CAACA,EAAY,CAAC,EAEX,MAAAhN,GAAcjzQ,UAAQ,IAAM,WAajC,GALkB,CAAC,GAACnB,GAAAigR,GAAiB,GAAG,EAAE,IAAtB,MAAAjgR,GAAyB,MAG/BygR,KAAa,QAAaE,IAAiBE,KAAsB,OAGvE,SAKR,KAF6Br+Q,GAAAy9Q,GAAiB,GAAG,EAAE,IAAtB,YAAAz9Q,GAAyB,WAAY,GAG1D,SACD,CACN,MAAM60Q,GAAoBj/N,IAAS6nO,GAAmBtgP,IAAYA,GAAQ,MAAQ,iBAAiB,EAGlG,GAAA03O,IACAA,GAAkB,OAAS,MAC3BA,GAAkB,OAAS,QAC3BA,GAAkB,MAAQ,mBAEb,KAAK,MAAMA,GAAkB,IAAI,EAAE,OAEnC,OACL,QAET,CAGM,UACL,CAAC4I,GAAkBQ,GAAUE,GAAeE,EAAiB,CAAC,EAE3D4C,GAAyB7jR,cAAY,IAAM,CAC1C,MAAA8jR,GAAsB3D,GAAY,QAAQ,SAAU7mQ,IAAQA,GAAI,MAAQ,UAAU,EACpFwqQ,IACHjB,GAAqBiB,GAAoB,EAAE,CAE7C,EAAG,EAAE,EAECC,GAAkB/jR,cAAY,IAAM,CAErC0iR,GAAsB,UACzB,aAAaA,GAAsB,OAAO,EAC1CA,GAAsB,QAAU,MAGjCC,GAAiB,QAAU,GAG3Bxf,EAAc,EAAE,EAChBod,GAAmB,EAAI,EACvBhb,GAAkB,EAAE,EACpBub,GAAY,MAAS,EACrBE,GAAiB,EAAK,EAItBY,GAAqB,QAAU,EAChC,EAAG,EAAE,EAQCoC,GAAoBhkR,EAAA,YACzB,CAAC2a,GAAc2+O,GAAkB2qB,GAAY,KAAU,CAClD,IAGC,GAFJtpQ,GAAOA,GAAK,KAAK,EAEbA,IAAQ2+O,GAAO,OAAS,EAAG,CAC1B,GAAA2L,IAAmB,CAACgf,GAAW,CAElC,MAAM9E,GAAY,GAAG,KAAK,IAAK,KAAI,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAG,CAAC,CAAC,GAC1DsB,GAACpuP,IAAS,CAAC,GAAGA,GAAM,CAAE,GAAI8sP,GAAW,KAAAxkQ,GAAM,OAAA2+O,EAAO,CAAC,CAAC,EACpE6J,EAAc,EAAE,EAChBoC,GAAkB,EAAE,EACpB,OAKG,GAFJod,GAAiB,QAAU,GAEvBxC,GAAY,QAAQ,SAAW,EAClCnmO,GAAO,YAAY,CAAE,KAAM,UAAW,KAAAr/B,GAAM,OAAA2+O,GAAQ,UAC1CwpB,GAAY,QAMtB,OALIA,GAAY,UAAY,YACJe,GAAA,EAKvBf,GAAY,QACX,CACD,IAAK,WACL,IAAK,OACL,IAAK,wBACL,IAAK,UACL,IAAK,iBACL,IAAK,iBACL,IAAK,oBACL,IAAK,cACL,IAAK,wBACL,IAAK,wBACJ9oO,GAAO,YAAY,CAClB,KAAM,cACN,YAAa,kBACb,KAAAr/B,GACA,OAAA2+O,EAAA,CACA,EACD,WAKKt/M,GAAA,YAAY,CAAE,KAAM,cAAe,YAAa,kBAAmB,KAAAr/B,GAAM,OAAA2+O,GAAQ,EAGzEyqB,GAAA,SAET54Q,GAAO,CAGf,GAFQ,cAAM,8BAA+BA,EAAK,EAE9C84Q,GACG,MAAA94Q,EACP,CAIF,EACA,CAAC44Q,GAAiBF,GAAwB5e,EAAe,CAC1D,EAEAzlQ,YAAU,IAAM,CAGf,GACCylQ,IACAub,GAAa,SAAW,GACxBE,GAAqB,SACrBG,KAAa,iBAEb,OAIDH,GAAqB,QAAU,GAG/B,KAAM,CAACwD,GAAa,GAAGC,EAAS,EAAI3D,GAGpC,OAAAC,GAAgB0D,EAAS,EAGjB,kBACN,KAAK,IAAM,CACXH,GAAkBE,GAAY,KAAMA,GAAY,OAAQ,EAAI,EAE9CvD,GAAA,QAAQ,OAAOuD,GAAY,EAAE,EAC3C,EACA,MAAO/4Q,IAAU,CACT,cAAM,iCAAkCA,EAAK,EAGrD,MAAMi5Q,GAAazD,GAAc,QAAQ,IAAIuD,GAAY,EAAE,GAAK,EAG5DE,GAAaxD,IAChBD,GAAc,QAAQ,IAAIuD,GAAY,GAAIE,GAAa,CAAC,EAExD3D,GAAiBp7P,IAAY,CAAC,GAAGA,GAAS6+P,EAAW,CAAC,IAEtD,QAAQ,MAAM,WAAWA,GAAY,EAAE,iBAAiBtD,EAAkB,uBAAuB,EACnFD,GAAA,QAAQ,OAAOuD,GAAY,EAAE,EAC5C,CACA,EACA,QAAQ,IAAM,CACdxD,GAAqB,QAAU,GAC/B,EAGK,IAAM,CACZA,GAAqB,QAAU,EAChC,GACE,CAACzb,GAAiBub,GAAcwD,GAAmBnD,EAAQ,CAAC,EAE/D,MAAMwD,GAA0BrkR,EAAA,YAC/B,CAAC2a,GAAc2+O,KAAqB,CAEnC,IAAI51O,GAAW/I,GAEXuoP,KAAe,KAClBx/O,GAAWw/O,GAAa,IAAMvoP,IAG/BwoP,EAAcz/O,EAAQ,EACtB6hP,GAAkB,CAAC,GAAGD,GAAgB,GAAGhM,EAAM,CAAC,CACjD,EACA,CAAC4J,GAAYoC,EAAc,CAC5B,EAGA9lQ,YAAU,IAAM,CAEf,MAAM8kR,GAAgB3D,GAAc,QAC9B4D,GAAkB7D,GAExB,MAAO,IAAM,CACZ4D,GAAc,MAAM,EACpBC,GAAgB,QAAU,EAC3B,CACD,EAAG,EAAE,EAEC,MAAAC,GAAexkR,cAAY,IAAMg6C,GAAO,YAAY,CAAE,KAAM,YAAa,EAAG,EAAE,EAK9EyqO,GAA2BzkR,EAAA,YAChC,CAAC2a,GAAe2+O,KAAsB,CAErCqpB,GAAiB,QAAU,GAErB,MAAA5a,GAAeptP,IAAA,YAAAA,GAAM,OAE3B,OAAQkmQ,GAAU,CACjB,IAAK,iBACL,IAAK,UACL,IAAK,OACL,IAAK,wBACL,IAAK,iBACL,IAAK,cACL,IAAK,wBAEA9Y,IAAiBzO,IAAUA,GAAO,OAAS,GAC9Ct/M,GAAO,YAAY,CAClB,KAAM,cACN,YAAa,mBACb,KAAM+tN,GACN,OAAAzO,EAAA,CACA,EAED6J,EAAc,EAAE,EAChBoC,GAAkB,EAAE,GAEpBvrN,GAAO,YAAY,CAAE,KAAM,cAAe,YAAa,mBAAoB,EAE5E,MACD,IAAK,oBACL,IAAK,wBAESwqO,GAAA,EACb,MACD,IAAK,iBACJxqO,GAAO,YAAY,CAAE,KAAM,oBAAqB,kBAAmB,WAAY,EAC/E,MAGFumO,GAAmB,EAAI,EACvBO,GAAY,MAAS,EACrBE,GAAiB,EAAK,CACvB,EACA,CAACH,GAAU2D,EAAY,CACxB,EAEME,GAA6B1kR,EAAA,YAClC,CAAC2a,GAAe2+O,KAAsB,CAErCqpB,GAAiB,QAAU,GAErB,MAAA5a,GAAeptP,IAAA,YAAAA,GAAM,OAE3B,GAAI65P,GAAa,CAChBx6N,GAAO,YAAY,CAAE,KAAM,aAAc,EACzCsnO,GAAkB,EAAI,EACtB,OAGD,OAAQT,GAAU,CACjB,IAAK,iBACL,IAAK,wBACL,IAAK,cACS2D,GAAA,EACb,MACD,IAAK,UACL,IAAK,OACL,IAAK,wBACL,IAAK,iBAEAzc,IAAiBzO,IAAUA,GAAO,OAAS,GAC9Ct/M,GAAO,YAAY,CAClB,KAAM,cACN,YAAa,kBACb,KAAM+tN,GACN,OAAAzO,EAAA,CACA,EAED6J,EAAc,EAAE,EAChBoC,GAAkB,EAAE,GAGpBvrN,GAAO,YAAY,CAAE,KAAM,cAAe,YAAa,kBAAmB,EAE3E,MACD,IAAK,iBACJA,GAAO,YAAY,CAAE,KAAM,oBAAqB,kBAAmB,QAAS,EAC5E,MAEFumO,GAAmB,EAAI,EACvBO,GAAY,MAAS,EACrBE,GAAiB,EAAK,CACvB,EACA,CAACH,GAAU2D,GAAchQ,EAAW,CACrC,EAEMmQ,GAA6B3kR,cAAY,IAAMwkR,KAAgB,CAACA,EAAY,CAAC,EAE7E,CAAE,KAAM1jB,IAAUp+I,GAAiBpnE,CAAgB,EAEnDspO,GAAe5kR,cAAY,IAAMg6C,GAAO,YAAY,CAAE,KAAM,eAAgB,EAAG,EAAE,EAEjFkrN,GAAsB,EAACpE,IAAA,MAAAA,GAAO,iBAAkBwE,GAAe,QAAUmE,GAEzE9rN,GAAgB39C,EAAA,YACpB/qB,IAAoB,WACpB,MAAM8qD,GAA4B9qD,GAAE,KAEpC,OAAQ8qD,GAAQ,KAAM,CACrB,IAAK,SACJ,OAAQA,GAAQ,OAAS,CACxB,IAAK,mBACA,CAACwvF,GAAY,CAAC01I,IAAmB,CAAC8b,MACrC3gR,GAAA2wI,GAAY,UAAZ,MAAA3wI,GAAqB,SAEtB,MACD,IAAK,cACJwC,GAAAmuI,GAAY,UAAZ,MAAAnuI,GAAqB,QACrB,MAEF,MACD,IAAK,iBAGAm9B,GAAQ,UAAY,QACvBwlO,GAAmB7L,IAClBz1J,IAAay1J,GAAY35N,GAAQ,OAAQ0pO,EAAsB,CAChE,EAED,MACD,IAAK,SACJ,OAAQ1pO,GAAQ,OAAS,CACxB,IAAK,UACYgkP,GAAA,EAChB,MACD,IAAK,cACJC,GAAkBjkP,GAAQ,MAAQ,GAAIA,GAAQ,QAAU,EAAE,EAC1D,MACD,IAAK,oBACJskP,GAAwBtkP,GAAQ,MAAQ,GAAIA,GAAQ,QAAU,EAAE,EAChE,MACD,IAAK,qBACJ0kP,GAAyB1kP,GAAQ,MAAQ,GAAIA,GAAQ,QAAU,EAAE,EACjE,MACD,IAAK,uBACJ2kP,GAA2B3kP,GAAQ,MAAQ,GAAIA,GAAQ,QAAU,EAAE,EACnE,MAEF,MACD,IAAK,8BACAA,GAAQ,MAAQA,GAAQ,QAASi9O,GAAA,YAAAA,EAAiB,MACjDqF,IAAgBpd,IACnBsb,GAAmB,EAAK,EAEzB+B,GAAgB,EAAK,GAEtB,MAKH,EACA,CACCD,GACA9yJ,EACA01I,GACA8b,GACA/D,EACA+G,GACAC,GACAK,GACAI,GACAC,EAAA,CAEF,EAEA7jR,GAAS,UAAW88C,EAAa,EAGjC97C,GAAS,IAAM,eAAAzB,GAAA2wI,GAAY,UAAZ,YAAA3wI,GAAqB,QAAO,EAE3C0jG,IACC,IAAM,QACD,CAACyrB,GAAY,CAAC01I,IAAmB,CAAC8b,MACrC3gR,GAAA2wI,GAAY,UAAZ,MAAA3wI,GAAqB,QAEvB,EACA,GACA,CAACmvH,EAAU01I,GAAiB8b,EAAa,CAC1C,EAEM,MAAA8D,GAAkBtjR,UAAQ,IAAM,CACrC,MAAMujR,GAAqBzE,GAAiB,OAAQtgP,IAAY,WAC/D,GAAI0iP,GAAyB,QAAQ,IAAI1iP,GAAQ,EAAE,EAAG,CAGrD,MAAMglP,GAA2C,CAChD,iBACA,cACA,uBACD,EACMC,GAA+B,CACpC,mBACA,kBACA,kBACA,4BACD,EAII,MAHA,EAAAjlP,GAAQ,KAAOglP,GAA6B,SAAShlP,GAAQ,GAAG,GAChEA,GAAQ,KAAOilP,GAA6B,SAASjlP,GAAQ,GAAG,GAEhEA,GAAQ,MAAQ,SAAWA,GAAQ,MAAQ,MAAQ,OAAO3/B,GAAA2/B,GAAQ,SAAR,YAAA3/B,GAAgB,SAAU,KAAO,EAGxF,CAIR,OAAQ2/B,GAAQ,IAAK,CACpB,IAAK,oBACA,GAAAA,GAAQ,OAAS,GAAW,SAChC,MACD,IAAK,iBACL,IAAK,cACL,IAAK,wBACG,SAET,OAAQA,GAAQ,IAAK,CACpB,IAAK,mBACL,IAAK,kBACL,IAAK,kBACG,SACR,IAAK,wBACE,MAAAklP,GAAQ5E,GAAiB,GAAG,EAAE,EAC9B6E,GAAQ7E,GAAiB,GAAG,EAAE,EACpC,GAAI,GAAA4E,IAAA,YAAAA,GAAO,OAAQ,eAAiBC,KAAUnlP,KAE9C,GAAWA,KAAYklP,GAEf,SAER,MACD,IAAK,OACC,IAAAllP,GAAQ,MAAQ,MAAQ,OAAOn9B,GAAAm9B,GAAQ,SAAR,YAAAn9B,GAAgB,SAAU,KAAO,EAAU,SAC/E,MACD,IAAK,6BACG,SAEF,SACP,EAGkB,OAAAkiR,GAAA,QAASxrQ,IAAQmpQ,GAAyB,QAAQ,IAAInpQ,GAAI,GAAI,EAAI,CAAC,EAE/EwrQ,EAAA,EACL,CAACzE,EAAgB,CAAC,EAEf8E,GAAuBnlR,cAAa+/B,IAAsC,CAC3E,IAAAA,IAAA,YAAAA,GAAS,QAAS,MAAO,CACxB,IAACA,GAAQ,KACL,SAGR,MAAM4uL,GAAO,KAAK,MAAM5uL,GAAQ,IAAI,EAE7B,OACN,WACA,YACA,oBACA,qBACA,0BACA,cACA,kBACC,SAAS4uL,GAAK,IAAI,EAGd,QACR,EAAG,EAAE,EAECy2D,GAAoBplR,cAAa+/B,IAAsC,CACxE,IAAAA,IAAA,YAAAA,GAAS,QAAS,MAAO,CACxB,IAACA,GAAQ,KACL,SAGR,MAAM4uL,GAAO,KAAK,MAAM5uL,GAAQ,IAAI,EAE7B,OACN,qBACA,cACA,iBACA,mBACA,iBACC,SAAS4uL,GAAK,IAAI,EAGd,QACR,EAAG,EAAE,EAEC02D,GAAyBrlR,EAAA,YAC7B+/B,IAAsC,QACtC,IAAIA,IAAA,YAAAA,GAAS,QAAS,OAASA,GAAQ,MAAQ,iBAAkB,CAC5D,IAACA,GAAQ,KACL,SAGR,MAAMq2O,GAAe,KAAK,MAAMr2O,GAAQ,IAAI,EAExC,GAAAq2O,GAAa,OAAS,eAAgB,CACnC,MAAAllB,GAASz0M,GAAA,YAAAA,EAAY,KAAMj/C,IAAiBA,GAAE,OAAS44Q,GAAa,YACpEznD,IAAOvuN,GAAA8wP,IAAA,YAAAA,GAAQ,QAAR,YAAA9wP,GAAe,KAAMjsB,IAAeA,GAAE,OAASiiS,GAAa,UACzE,OAAOznD,IAAA,YAAAA,GAAM,cAAe,GAC7B,CAGM,QACR,EACA,CAAClyK,CAAU,CACZ,EAGM6oO,GAA+BtlR,EAAA,YACnC+/B,KACIA,IAAA,YAAAA,GAAS,QAAS,MAAc,WAC7BkqE,IAAmBlqE,GAAQ,MAAQ,GAAImqE,GAAmB,CAAC,EAAGC,GAAkB,EAAE,EAE1F,CAACD,EAAiBC,CAAc,CACjC,EAGMo7K,GAAmBvlR,EAAA,YACvB+/B,IACOulP,GAA6BvlP,EAAO,IAAM,eAElD,CAACulP,EAA4B,CAC9B,EAGME,GAAkBxlR,EAAA,YACtB+/B,IACOulP,GAA6BvlP,EAAO,IAAM,YAElD,CAACulP,EAA4B,CAC9B,EAGMG,GAAkBzlR,EAAA,YACtB6oG,IAAmC,CACnC,GAAI,CAACA,IAAW,EAACsB,GAAA,MAAAA,EAAgB,QAAe,YAG1C,MAAAu7K,GAAc98K,GAAaC,EAAO,EACxC,UAAWY,MAAOi8K,GAAa,CACxB,MAAAC,GAAc/7K,GAAuBH,GAAKU,CAAc,EAC9D,GAAIw7K,GACI,OAAAA,EACR,CAEM,WACR,EACA,CAACx7K,CAAc,CAChB,EAGMy7K,GAAsB56F,GAAuB,EAE7C,CAAE,kBAAAF,EAAsB,EAAAH,GAAqBi7F,GAAqB/6F,CAAmB,EAErF64F,GAAiB1jR,EAAA,YACrB+/B,IAAsC,CAOtC,GALI,CAAC8qJ,GAAuB,CAAC9qJ,IAAWA,GAAQ,OAAS,OAKrD,CAAC+qJ,GACG,SAGJ,GAAA/qJ,GAAQ,MAAQ,WACZ,OAAAkd,EAGJ,GAAAld,GAAQ,MAAQ,wBACZ,OAAAqrJ,EAGJ,GAAArrJ,GAAQ,MAAQ,iBACZ,OAAAsrJ,GAAkBg6F,GAAuBtlP,EAAO,EAGpD,GAAAA,GAAQ,MAAQ,UACZ,OAAAorJ,GAAsBo6F,GAAiBxlP,EAAO,EAKlD,GAAAA,GAAQ,MAAQ,OAAQ,CAC3B,IAAI4uL,GAAY,CAAC,EAEb,IACHA,GAAO,KAAK,MAAM5uL,GAAQ,MAAQ,IAAI,QAC9B50B,GAAO,CACP,cAAM,wBAAyBA,EAAK,EAG7C,GAAI,CAACwjN,GACG,SAGJ,IAAAA,IAAA,YAAAA,GAAM,QAAS,iBACX,OAAAljC,EAGJ,IAAAkjC,IAAA,YAAAA,GAAM,QAAS,oBAAqB,CACnC,GAAAA,GAAK,UAAY,cACb,OAAArjC,EAGJ,GAAAqjC,GAAK,UAAY,oBACb,OAAAtjC,CACR,CAGG,IAAAsjC,IAAA,YAAAA,GAAM,QAAS,aACX,OAAArjC,EAGR,GAAI,CAAC,UAAW,YAAY,EAAE,SAASqjC,IAAA,YAAAA,GAAM,IAAI,EACzC,OAAApjC,EAGF,MAAAs6F,GAAqB,CAAC,CAACl3D,GAAK,mBAC5Bm3D,GAAc/lP,GAAQ,YAExB,GAAAolP,GAAqBplP,EAAO,EACxB,OAAAkrJ,IAAwB,CAAC46F,IAAsBjG,GAGnD,GAAAwF,GAAkBrlP,EAAO,EAC5B,OACCmrJ,IACC,CAAC26F,IAAsBhG,KACvB,CAACiG,IAAehG,EAEnB,CAGM,QACR,EACA,CACCj1F,EACAC,GACAM,EACAH,EACA20F,EACAuF,GACAj6F,EACA20F,EACAC,EACAsF,GACAj6F,EACAo6F,GACAl6F,EACAg6F,GACA/5F,EACAruI,EACAsuI,EACAE,CAAA,CAEF,EAEAjsL,YAAU,IAAM,CAGX,GAAAwjR,IAAez+K,EAAS,OAAS,GAEnCy+K,GAAY,OACXA,GAAY,MAAQ,QAAUA,GAAY,MAAQ,sBACnD,CAACA,GAAY,SACb,CAACA,GAAY,KAAK,WAAW,GAAG,EAC/B,CACG,IAAAroQ,IAAOqoQ,IAAA,YAAAA,GAAa,OAAQ,GAChC,MAAM+C,GAAe,yBAOjB,GALGprQ,MAAK,QAAQorQ,GAAc,EAAE,EAEpCprQ,GAAOqrQ,IAASrrQ,EAAI,EAGhBA,KAASqnQ,GAAW,QACnB,IACHyB,GAAQ9oQ,EAAI,EACZqnQ,GAAW,QAAUrnQ,SACbxP,GAAO,CACP,cAAM,oCAAqCA,EAAK,EAE1D,CAKF+2Q,GAAgB1N,EAAW,GACzB,CAACA,GAAawO,GAAaf,GAAcyB,GAAgBn/K,EAAS,MAAM,CAAC,EAEtE,MAAA0hL,GAA2BlmP,IAE5BA,GAAQ,OAAS,MACb,CAAC,uBAAuB,EAAE,SAASA,GAAQ,GAAI,EAGnDA,GAAQ,OAAS,MACb,CAAC,kBAAmB,OAAQ,iBAAkB,uBAAuB,EAAE,SAASA,GAAQ,GAAI,EAG7F,GAGFmmP,GAAkB3kR,UAAQ,IAAM,CACrC,MAAM6E,GAA4C,CAAC,EACnD,IAAI+/Q,GAA+B,CAAC,EAChCC,GAAqB,GAEzB,MAAMC,GAAoB,IAAM,CAC3BF,GAAa,OAAS,IACzB//Q,GAAO,KAAK,CAAC,GAAG+/Q,EAAY,CAAC,EAC7BA,GAAe,CAAC,EACKC,GAAA,GAEvB,EAEgB,OAAAvB,GAAA,QAAS9kP,IAAY,CAChC,GAAAA,GAAQ,MAAQ,wBAEDsmP,GAAA,EAEGD,GAAA,GACrBD,GAAa,KAAKpmP,EAAO,UACfqmP,GAAoB,CAG1B,GAAArmP,GAAQ,MAAQ,kBAAmB,CAItC,MAAM03O,GAAoB,CAAC,GAAG0O,EAAY,EAAE,UAAU,KAAMnwS,IAAMA,GAAE,MAAQ,iBAAiB,EAE7F,IAAIyhS,IAAA,YAAAA,GAAmB,QAAS,OAAQA,IAAA,YAAAA,GAAmB,QAAS,OAAW,CAC9E,MAAMx0J,GAAO,KAAK,MAAMw0J,GAAkB,IAAI,EAG9C,GAFoBx0J,GAAK,eAAiB,MAAQA,GAAK,eAAiB,OAEvD,CACEojK,GAAA,EAClBjgR,GAAO,KAAK25B,EAAO,EACnB,OACD,CACD,CAGGkmP,GAAwBlmP,EAAO,GAClComP,GAAa,KAAKpmP,EAAO,EAGrBA,GAAQ,MAAQ,kBACG,KAAK,MAAMA,GAAQ,MAAQ,IAAI,EACnC,SAAW,SACVsmP,GAAA,IAKFA,GAAA,EAClBjgR,GAAO,KAAK25B,EAAO,EACpB,MAEA35B,GAAO,KAAK25B,EAAO,CACpB,CACA,EAGGomP,GAAa,OAAS,GACzB//Q,GAAO,KAAK,CAAC,GAAG+/Q,EAAY,CAAC,EAG1B9D,IAEHj8Q,GAAO,KAAK,CACX,KAAM,MACN,IAAK,mBACL,GAAI,KAAK,IAAI,EACb,QAAS,GACT,EAGKA,EAAA,EACL,CAACi8Q,GAAcwC,EAAe,CAAC,EAI5ByB,GAAuB/kR,EAAA,QAC5B,IACCsiE,IAAS,IAAM,eAAAzjE,GAAAmhR,GAAY,UAAZ,YAAAnhR,GAAqB,SAAS,CAAE,IAAK,OAAO,iBAAkB,SAAU,QAAU,IAAG,GAAI,CACvG,UAAW,GACX,EACF,EACD,EAEAZ,YAAU,IACF,IAAM,CACR8mR,IAAwB,OAAQA,GAA6B,QAAW,YACzEA,GAA6B,OAAO,CAExC,EACE,CAACA,EAAoB,CAAC,EAEnB,MAAAC,GAAqBvmR,cAAY,IAAM,SAC5CI,GAAAmhR,GAAY,UAAZ,MAAAnhR,GAAqB,SAAS,CAC7B,IAAK,OAAO,iBACZ,SAAU,QAEZ,EAAG,EAAE,EAEComR,GAAuBxmR,EAAA,YAC5B,CAACgnD,GAAYy/N,KAAqB,CACjChF,GAAiBpvP,KAAU,CAAE,GAAGA,GAAM,CAAC20B,EAAE,EAAGy/N,KAAW,OAAY,CAACp0P,GAAK20B,EAAE,EAAIy/N,EAAS,GACzF,EACA,CAAChF,EAAe,CACjB,EAGMiF,GAAqB1mR,EAAA,YACzBgnD,IAAe,CACfw/N,GAAqBx/N,EAAE,CAGxB,EACA,CAACw/N,EAAoB,CACtB,EAEMG,GAAwB3mR,EAAA,YAC5B4mR,IAAsB,CACjBhF,GAAqB,UACrBgF,GACkBN,GAAA,EAEV,eAAMC,GAAmB,EAAG,CAAC,EAG3C,EACA,CAACD,GAAsBC,EAAkB,CAC1C,EAEA/mR,YAAU,IAAM,CACX,IAAA04G,GACA,OAAC0pK,GAAqB,UACzB1pK,GAAQ,WAAW,IAAMouK,GAAqB,EAAG,EAAE,GAE7C,IAAM,CACRpuK,IACH,aAAaA,EAAK,CAEpB,CACE,GAACguK,GAAgB,OAAQI,EAAoB,CAAC,EAE3C,MAAAx4D,GAAc9tN,cAAamB,IAAiB,QACjD,MAAM0lR,GAAa1lR,GAEf0lR,GAAW,QAAUA,GAAW,OAAS,IACxCzmR,GAAAuhR,GAAmB,UAAnB,MAAAvhR,GAA4B,SAASymR,GAAW,UAEnDjF,GAAqB,QAAU,GAGlC,EAAG,EAAE,EAEL/gR,GAAS,QAASitN,GAAa,OAAQ,CAAE,QAAS,GAAM,EAGxDtuN,YAAU,IAAM,CAEf,GAAIsmE,IAAQu6M,GAAiB,SAAW,GAAK,CAAC7L,IAAe,CAACjlJ,EAAU,CACjE,MAAArX,GAAQ,WAAW,IAAM,CAC9BkqK,GAAyB,EAAI,GAC3B,GAAI,EAEA,UAAM,aAAalqK,EAAK,OAE/BkqK,GAAyB,EAAK,CAC/B,EACE,CAACt8M,GAAMu6M,GAAiB,OAAQ7L,GAAajlJ,CAAQ,CAAC,EAGzD/vH,YAAU,IAAM,EACX6gR,GAAiB,OAAS,GAAK7L,IAAejlJ,IACjD6yJ,GAAyB,EAAK,GAE7B,CAAC/B,GAAiB,OAAQ7L,GAAajlJ,CAAQ,CAAC,EAEnD,MAAM81I,GAAyBlxR,EAAP2xF,GAAS,mBAAwB,eAAN,EAG7CghN,GAAe9mR,EAAA,YACnB25C,IAA2B,CAE3B6rN,EAAQ7rN,EAAQ,EAGhBK,GAAO,YAAY,CAClB,KAAM,OACN,KAAML,EAAA,CACN,CACF,EACA,CAAC6rN,CAAO,CACT,EAEMuhB,GAA6B/mR,EAAA,YAClC,CAACiwQ,GAA4B9uQ,KAA6B,CAErDA,KACHwhR,GAAiB,QAAU,IAIxB9B,KAAa,YAAc,EAAC1/Q,IAAA,MAAAA,GAAO,WACf0iR,GAAA,EAIpB5T,GAAW,OAEU9uQ,IACHmqL,IAEpBw7F,GAAa7W,GAAW,IAAI,EAI1B9uQ,IAAA,MAAAA,GAAO,SAEVgiQ,EAAexN,IACPA,KAAiB,GAAK,GAAGA,EAAY;AAAA,EAAMsa,GAAW,MAAM,GAAKA,GAAW,MACnF,EAEiB+T,GAAA/T,GAAW,OAAQ,EAAE,CAEzC,EACA,CAAC+T,GAAmB7gB,EAAe2jB,GAAcx7F,EAAuBu1F,GAAUgD,EAAsB,CACzG,EAEMmD,GAA0BhnR,cAAaojE,IAAyC,CAE9EppB,GAAA,YAAY,CAAE,KAAM,cAAe,YAAa,iBAAkB,KAAM,KAAK,UAAUopB,EAAQ,EAAG,CAC1G,EAAG,EAAE,EAGC6jN,GAAwBjnR,cAAY,IAAM,CAE/C2iR,GAAiB,QAAU,EAC5B,EAAG,EAAE,EAECuE,GAAclnR,EAAA,YACnB,CAACuQ,GAAe42Q,KAEX,MAAM,QAAQA,EAAc,EAE9B5vQ,EAAA,IAACu/P,IAAA,CACA,SAAUqQ,GACV,OAAQ52Q,KAAU21Q,GAAgB,OAAS,EAC3C,oBAAqB7F,GAAiB,GAAG,EAAE,EAC3C,eAAgBsG,GAChB,YAAAnS,GACA,WAAa4S,IAAsB5F,GAAa4F,EAAS,GAAK,GAC9D,eAAiBA,IAAsB,CACtC3F,GAAiBpvP,KAAU,CAC1B,GAAGA,GACH,CAAC+0P,EAAS,EAAG,CAAC/0P,GAAK+0P,EAAS,GAC3B,EACH,CACD,EAMD7vQ,EAAA,IAAC28P,IAAA,CAEA,QAASiT,GACT,WAAY3F,GAAa2F,GAAe,EAAE,GAAK,GAC/C,eAAgBT,GAChB,oBAAqBrG,GAAiB,GAAG,EAAE,EAC3C,OAAQ9vQ,KAAU21Q,GAAgB,OAAS,EAC3C,eAAgBS,GAChB,YAAAnS,GACA,kBAAmBuS,GACnB,oBAAqBC,GACrB,kBAAmBC,GACnB,mBAAoBE,GAAe,KAAOvE,GAC1C,SACCuE,GAAe,OAAS,OACxBA,GAAe,MAAQ,SACtB,IAAM,QACN,IAAIx4D,GAAY,CAAC,EACb,IACHA,GAAO,KAAK,MAAMw4D,GAAe,MAAQ,IAAI,OAClC,EACP/mR,GAAA+mR,GAAe,OAAf,MAAA/mR,GAAqB,SAAS,oBAC1BuuN,GAAA,CAAE,KAAM,gBAAiB,EACjC,CAEG,OAAAA,GAAK,OAAS,kBAAoBljC,EAC9B,GAEDkjC,GAAK,OAAS,kBAAoBoyD,IAAiB,CAAC,CAACE,EAC1D,MA5BCkG,GAAe,EA8BrB,EAGF,CACC3F,GACAkF,GACArG,GACA6F,GAAgB,OAChBS,GACAnS,GACAuS,GACAC,GACAC,GACArE,GACAn3F,EACAs1F,GACAE,EAAA,CAEF,EAEAzhR,YAAU,KACLkjR,GAAsB,UACzB,aAAaA,GAAsB,OAAO,EAC1CA,GAAsB,QAAU,MAG7B,CAAC7B,IAAY,CAACE,IAKd4B,GAAiB,QACpB,SAG2B,SAAY,CAEvC,IAAIK,IAAA,YAAAA,GAAa,OAAQ,WAAawC,GAAgBxC,EAAW,EAAG,CAEnE,MAAMqE,GAAe5B,GAAgBzC,GAAY,MAAQ,EAAE,EAC3D,GAAIqE,GAAc,CAEjB,MAAMC,GAAkB5H,EAAU,iCAAkC,CAAE,OAAQ2H,GAAc,EAE5FrtO,GAAO,YAAY,CAClB,KAAM,cACN,YAAa,kBACb,KAAMstO,EAAA,CACN,OAGDttO,GAAO,YAAY,CAAE,KAAM,cAAe,YAAa,kBAAmB,EAG3EumO,GAAmB,EAAI,EACvBO,GAAY,MAAS,EACrBE,GAAiB,EAAK,EACtB,OAID,GAAIgC,IAAA,MAAAA,GAAa,KAAOU,GAAeV,EAAW,EAAG,CAEhD,GAAAA,GAAY,MAAQ,WAAY,CAEnC,IAAIxM,GAA6B,CAAC,EAC9B,IACHA,GAAe,KAAK,MAAMwM,GAAY,MAAQ,IAAI,QAC1C73Q,GAAO,CACP,cAAM,kCAAmCA,EAAK,EACtD,OAGD,GAAIqrQ,IAAgBA,GAAa,SAAWA,GAAa,QAAQ,OAAS,EAAG,CAU5E,GARM,UAAI,QAAepvQ,IAAY,CACds7Q,GAAA,QAAU,WAAW,IAAM,CAChDA,GAAsB,QAAU,KACxBt7Q,GAAA,GACN+1C,CAA4B,EAC/B,EAGGwlO,GAAiB,QACpB,OAIK,MAAA4E,GAAkB/Q,GAAa,QAAQ,CAAC,EAG9CuQ,GAA2BQ,EAAe,EAC1C,OACD,MACUvE,GAAY,MAAQ,QAAUoC,GAAkBpC,EAAW,GAC/D,UAAI,QAAe57Q,IAAY,CACds7Q,GAAA,QAAU,WAAW,IAAM,CAChDA,GAAsB,QAAU,KACxBt7Q,GAAA,GACN24Q,CAAY,EACf,EAGF/lO,GAAO,YAAY,CAAE,KAAM,cAAe,YAAa,mBAAoB,EAE3EumO,GAAmB,EAAI,EACvBO,GAAY,MAAS,EACrBE,GAAiB,EAAK,EAExB,GACoB,EAEb,IAAM,CACR0B,GAAsB,UACzB,aAAaA,GAAsB,OAAO,EAC1CA,GAAsB,QAAU,KAElC,IACE,CACF7B,GACAE,GACA0D,GACAr5F,EACAH,EACA20F,EACA10F,EACA20F,EACA10F,EACAhuI,EACAkuI,EACA9mF,EACA2F,EACAC,EACA1tD,EACAinO,GACAV,GACAjD,EACAqF,GACAnoO,EACA8pO,GACAxB,GACAC,GACAC,GACA/F,CAAA,CACA,EAGK,MAAA8H,GAAmBxnR,cAAY,IAAM,CACpC,MAAAu5C,GAAWD,GAAYF,CAAW,EAElCquO,IADmBluO,GAAS,UAAWvjE,IAAMA,GAAE,OAAS09D,CAAI,EACxB,GAAK6F,GAAS,OAE3CutO,GAAAvtO,GAASkuO,EAAa,EAAE,IAAI,CACvC,GAAC/zO,EAAM0F,EAAa0tO,EAAY,CAAC,EAG9BY,GAAuB1nR,cAAY,IAAM,CACxC,MAAAu5C,GAAWD,GAAYF,CAAW,EAElCuuO,IADmBpuO,GAAS,UAAWvjE,IAAMA,GAAE,OAAS09D,CAAI,EACpB,EAAI6F,GAAS,QAAUA,GAAS,OAEjEutO,GAAAvtO,GAASouO,EAAiB,EAAE,IAAI,CAC3C,GAACj0O,EAAM0F,EAAa0tO,EAAY,CAAC,EAG9Bx8J,GAAgBtqH,EAAA,YACpBmB,IAAyB,EAGpBA,GAAM,SAAWA,GAAM,UAAYA,GAAM,MAAQ,MACrDA,GAAM,eAAe,EAEjBA,GAAM,SAEYumR,GAAA,EAGJF,GAAA,EAGpB,EACA,CAACA,GAAkBE,EAAoB,CACxC,EAGAloR,YAAU,KACF,wBAAiB,UAAW8qH,EAAa,EACzC,IAAM,CACL,2BAAoB,UAAWA,EAAa,CACpD,GACE,CAACA,EAAa,CAAC,EAElBs9J,EAAA,oBAAoBtoR,EAAK,KAAO,CAC/B,YAAa,IAAM,CACdyhR,IAAiBE,GACpBwD,GAAyBvhB,GAAYoC,EAAc,EACzC,CAACL,IAAmB,CAAC8d,KAAsB7f,GAAW,KAAK,GAAKoC,GAAe,OAAS,IAClG0e,GAAkB9gB,GAAYoC,EAAc,CAC7C,CACD,EACC,EAEI,MAAAyX,GAAyBvD,IAAmB,CAC7C6I,IAAgBpd,KAGpBqd,GAAgB,EAAI,EACpB/B,GAAmB,EAAI,EACvBvmO,GAAO,YAAY,CAAE,KAAM,6BAA8B,KAAMw/N,GAAQ,EACxE,EAEMqO,GAAoBhG,IAAsBZ,IAAqBE,IAAuB3M,GAG3F,OAAAxwJ,EAAA,KAAC,OACA,cAAY,YACZ,UAAWuL,EAAW,SAAW,oEAC/B,WAAAiwJ,GAAoB+C,KACrBhrQ,EAAA,IAACk9K,IAAA,CACA,iBAAkB,IAAM,CACnB8tF,IACHC,GAAyB,EAAK,EAE3BhD,GACc9qF,EAAA,CAClB,CACD,CACD,EAEA5uH,GAECk+C,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACslQ,IAAA,CACA,KAAA/2M,GACA,SAAUw6M,GAAW,cACrB,UAAWA,GAAW,eACtB,YAAaA,GAAW,iBACxB,WAAYA,GAAW,gBACvB,UAAWA,GAAW,UACtB,cAAeA,GAAW,cAC1B,gBAAiBrb,GACjB,sBAAA8X,GACA,QAAS4H,GACT,MAAOvE,EAAA,CACR,EAECJ,GACCzoQ,EAAA,WAAI,UAAU,OACd,SAAAA,MAACsnQ,KAAoB,GACtB,EAGAsD,IACC5qQ,MAAA,OAAI,UAAU,OACd,SAAAA,EAAA,IAACwnQ,MAAkB,CACpB,GAEF,GAEA/6J,OAAC,MAAI,WAAU,8DAEb,UAAMt+C,GAAA,SAAW,GACjBnuD,EAAA,IAAC,MAAI,WAAU,kEACd,SAAAysG,EAAA,KAAC,MAAI,WAAU,yCAAyC,QAAS26J,EAC/D,UAAMj5M,GAAA,OAAS,IACdnuD,EAAA,YAAK,UAAW,uBAAyB,SAAApjC,EAAE,qBAAqB,CAAE,GAEpEojC,EAAA,IAAC,QACA,UAAW,YAAYi7O,EAAa,cAAgB,oBAAoB,aACzE,EACD,CACD,GAEDxuI,EAAA,KAAC,OACA,UAAW,sCAAsCwuI,GAAc9sL,GAAM,OAAS,EAAI,OAAS,EAAE,6DAE7F,UAAAnuD,EAAA,IAAC04K,IAAA,CACA,QAAS,IAAMuyF,GAAyB,EAAI,EAC5C,UAAU,8BACX,QAECj/J,IAAQ,IACR3xD,IAAqB,SAAWr6C,MAACi4K,IAAgB,IAEjDj4K,EAAA,WAAI,UAAU,SACb,SAAwB2iQ,GAAAxpF,EAAY,OAAS,EAAKn5K,MAAAusG,IAAA,CAAQ,GAAKvsG,MAAC0sG,KAAY,GAC9E,EAECysE,EAAY,OAAS,GAAK8hE,SAAej+D,IAAe,MAC1D,EACD,EAkBA,CAACzuH,IACAvuD,MAAA,OAAI,UAAU,4BACd,SAAAA,EAAA,IAACqmQ,KAAgB,CAClB,GAGA93M,IAECk+C,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAAC,MAAI,WAAU,YAAY,IAAKoqQ,GAC/B,SAAApqQ,EAAA,IAACuwQ,IAAA,CACA,IAAKvG,GAEL,UAAU,yCAEV,mBAAoB,CAAE,IAAK,IAAO,OAAQ,OAAO,gBAAiB,EAClE,KAAM2E,GACN,YAAAgB,GACA,oBAAsBh7D,IAAe,CACpC61D,GAAc71D,EAAU,EACpBA,KACH01D,GAAqB,QAAU,IAEVE,GAAAF,GAAqB,SAAW,CAAC11D,EAAU,CAClE,EACA,kBAAmB,GACnB,wBAAyBg6D,GAAgB,OAAS,GAd7CpgN,GAAK,IAgBZ,EACAvuD,EAAA,IAAC,MAAI,WAAW,wBAAyBswQ,GAA6B,GAAT,MAAW,GACvE,SAACtwQ,MAAAqmQ,GAAA,EAAgB,CAClB,GACCiK,IACAtwQ,EAAA,IAAC,OACA,UAAW,wCACVsqQ,IAEGd,IAAkBvM,IAAe,CAAC6M,GADlC,cAGC,YACL,GACC,YACC9pQ,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,qBAAqB,EAChD,SAAAojC,EAAA,IAACqiF,GAAA,CACA,WAAW,YACX,UAAU,WACV,QAAS,IAAM,CACO0sL,GAAA,EACrB1E,GAAqB,QAAU,EAChC,EACA,SAAArqQ,MAAC,OAAK,WAAU,8BAA+B,GAChD,EACD,EAGEysG,OAAA/kG,EAAA,oBAAAgiQ,IAAqB,CAACzM,IACtBj9P,EAAA,IAAC+hK,GAAA,CACA,QACC2nG,KAAsB9sS,EAAE,kBAAkB,EACvCA,EAAE,oBAAoB,EACtB8sS,KAAsB9sS,EAAE,iBAAiB,EACxCA,EAAE,mBAAmB,EACrB8sS,KAAsB9sS,EAAE,oBAAoB,EAC3CA,EAAE,sBAAsB,EACxB8sS,KAAsB9sS,EAAE,uBAAuB,EAC9CA,EAAE,yBAAyB,EAC3B8sS,KAAsB9sS,EAAE,yBAAyB,EAChDA,EAAE,2BAA2B,EAC7B8sS,KAAsB9sS,EAAE,uBAAuB,EAC9CA,EAAE,yBAAyB,EAC3B8sS,KACC9sS,EAAE,2BAA2B,EAC7BA,EAAE,6BAA6B,EAC/B8sS,KACC9sS,EAAE,gCAAgC,EAClCA,EAAE,kCAAkC,EACpC,OAEX,SAAAojC,EAAA,IAACqiF,GAAA,CACA,WAAW,UACX,SAAU,CAACmnL,GACX,UAAWI,GAAsB,kBAAoB,gBACrD,QAAS,IAAMsD,GAAyBvhB,GAAYoC,EAAc,EACjE,SAAA2b,EAAA,EACF,CACD,GAECE,IAAuB3M,KACxBj9P,EAAA,IAAC+hK,GAAA,CACA,QACCk7F,GACGrgS,EAAE,qBAAqB,EACvBgtS,KAAwBhtS,EAAE,yBAAyB,EAClDA,EAAE,2BAA2B,EAC7BgtS,KAAwBhtS,EAAE,mBAAmB,EAC5CA,EAAE,qBAAqB,EACvBgtS,KAAwBhtS,EAAE,sBAAsB,EAC/CA,EAAE,wBAAwB,EAC1B,OAEP,SAAAojC,EAAA,IAACqiF,GAAA,CACA,WAAW,YACX,SAAU,CAACmnL,IAAiB,EAAEvM,IAAe,CAAC6M,IAC9C,UAAW7M,GAAc,gBAAkB,kBAC3C,QAAS,IAAMkQ,GAA2BxhB,GAAYoC,EAAc,EACnE,SAAAkP,GAAcrgS,EAAE,mBAAmB,EAAIgtS,EAAA,EACzC,EACD,CAEF,IAEF,EAEF,EAGD5pQ,EAAA,IAACynQ,IAAA,CACA,MAAOwB,GACP,SAAWjwQ,IAAUkwQ,GAAiBpuP,IAASA,GAAK,OAAO,CAACpsB,GAAGxI,KAAMA,KAAM8S,EAAK,CAAC,EACjF,SAAU,CAACA,GAAOknP,KAAY,CAC7BgpB,GAAiBpuP,IAASA,GAAK,IAAI,CAAC/Y,GAAK7b,KAAOA,KAAM8S,GAAQ,CAAE,GAAG+I,GAAK,KAAMm+O,EAAQ,EAAIn+O,EAAI,CAAC,EAChG,CACD,EACA/B,EAAA,IAAC4tP,IAAA,CACA,IAAKp0H,GACL,WAAAmyH,GACA,cAAAC,EACA,gBAAiB8B,IAAmB8d,GACpC,wBAAyB9d,IAAmB4b,KAAa,iBACzD,gBAAAxb,GACA,eAAAC,GACA,kBAAAC,GACA,OAAQ,IAAMye,GAAkB9gB,GAAYoC,EAAc,EAC1D,eAAgBsf,GAChB,oBAAA1f,GACA,eAAgB,IAAM,CACjBh5C,IACgBq6D,GAAA,CAErB,EACA,KAAA7yO,EACA,QAAA8xN,EACA,iBAAAtL,CAAA,CACD,EAEC6oB,IACCxrQ,EAAA,WAAI,UAAU,OACd,SAAAA,MAACunQ,KAAwB,GAC1B,EAGDvnQ,MAAC,MAAI,IAAG,YAAa,IACtB,CAEF,EAEMwwQ,IAAWplQ,aAAW48P,GAAiB,ECh7DhCyI,IAAwB,CAAC,CAAE,QAAAC,EAAS,GAAG5rQ,KAAwC,CACrF,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,aAAAq+E,GAAiBzgH,EAEnB21K,EAAWhyL,cAAY,IAAM,CAC9BioR,EAAQ,OAAS,IACpBjuO,GAAO,YAAY,CAAE,KAAM,6BAA8B,IAAKiuO,EAAS,EACvEnrJ,GAAA,MAAAA,EAAe,IAChB,EACE,CAACmrJ,EAASnrJ,CAAY,CAAC,EAE1B,aACEkE,GAAa,IAAG3kH,EAChB,SAAC2nG,EAAA,KAAA8d,GAAA,CAAmB,UAAU,WAC7B,UAAA9d,OAACwsB,GACA,WAACj5H,EAAA,IAAA2qH,GAAA,CAAkB,SAAE/tJ,EAAA,qBAAqB,CAAE,GAC5C6vI,OAACoe,GAAuB,WAAU,yBACjC,UAAC7qH,MAAA,OAAI,UAAU,OAAQ,SAAEpjC,EAAA,6BAA8B,CAAE,MAAO8zS,EAAQ,MAAO,CAAC,CAAE,SACjF,MAAI,WAAU,gFACb,SAAA9zS,EAAE,4BAA4B,CAChC,GACD,IACD,SACCs8J,GACA,WAACl5H,EAAA,IAAAorH,GAAA,CAAkB,QAAO,GACzB,SAACprH,MAAA+qE,GAAA,CAAO,QAAQ,YAAa,SAAAnuG,EAAE,gBAAgB,CAAE,GAClD,EACAojC,MAACgrH,IAAkB,QAAO,GACzB,gBAACjgD,GAAO,SAAQ,cAAc,QAAS0vG,EACtC,UAACz6K,MAAA,QAAK,UAAU,4BAA6B,GAC5CpjC,EAAE,sBAAuB,CAAE,MAAO8zS,EAAQ,MAAQ,IACpD,CACD,GACD,IACD,CACD,EAEF,EClDa96L,GAAM,CAAC,CAAE,UAAA1yC,EAAW,SAAAnjC,EAAU,GAAG+E,CAAM,IAClD9E,MAAA,OAAI,UAAWyzC,GAAG,8BAA+BvQ,CAAS,EAAI,GAAGp+B,EAChE,SAAA/E,EACF,EAGY4wQ,GAAY,CAAC,CAAE,UAAAztO,EAAW,SAAAnjC,EAAU,GAAG+E,CAAM,IACxD9E,MAAA,OAAI,UAAWyzC,GAAG,kDAAmDvQ,CAAS,EAAI,GAAGp+B,EACpF,SAAA/E,EACF,EAGY6wQ,GAAa,CAAC,CAAE,UAAA1tO,EAAW,SAAAnjC,EAAU,GAAG+E,KAAsB,CACpE,MAAE,cAAA+rQ,CAAc,EAAIhqO,GAAkB,EAEtCiqO,EAAUroR,EAAA,YACd/qB,GAAwC,CACxC,GAAImzS,IAAkB,SACrB,OAGD,MAAMvqR,EAAS5oB,EAAE,OAIb4oB,EAAO,OAAS,WAAaA,EAAO,OAAS,WAI/C5oB,EAAA,cAAc,WAAaA,EAAE,OAChC,EACA,CAACmzS,CAAa,CACf,EAGC,OAAA7wQ,MAAC,MAAI,WAAWyzC,GAAG,2BAA4BvQ,CAAS,EAAG,QAAA4tO,EAAmB,GAAGhsQ,EAC/E,SAAA/E,CACF,EAEF,EAEagxQ,IAAU3lQ,aAMrB,CAAC,CAAE,SAAArL,EAAU,UAAAmjC,EAAW,MAAAp4C,EAAO,cAAAw7J,EAAe,GAAGxhJ,CAAM,EAAG/c,UAEzD,MAAI,KAAAA,EAAU,KAAK,UAAU,UAAW0rD,GAAG,OAAQvQ,CAAS,EAAI,GAAGp+B,EAClE,SAAAzY,GAAM,SAAS,IAAI0T,EAAW6E,GAC1BvY,GAAM,eAAeuY,CAAK,EACtBvY,GAAM,aAAauY,EAAkC,CAC3D,WAAYA,EAAM,MAAM,QAAU9Z,EAClC,SAAU,IAAMw7J,EAAc1hJ,EAAM,MAAM,KAAK,EAC/C,EAEKA,CACP,EACF,CAED,EAEYosQ,IAAa5lQ,EAAA,WAOxB,CAAC,CAAE,SAAArL,EAAU,UAAAmjC,EAAW,MAAOo7D,EAAQ,WAAAusE,EAAY,SAAA5lB,EAAU,GAAGngJ,CAAA,EAAS/c,IAEzEiY,EAAA,IAAC,UACA,IAAAjY,EACA,KAAK,MACL,gBAAe8iL,EACf,SAAUA,EAAa,EAAI,GAC3B,UAAWp3H,GAAG,gEAAiEvQ,CAAS,EACxF,QAAS+hH,EACR,GAAGngJ,EACH,SAAA/E,CAAA,CACF,CAED,EC7DKkxQ,IAAc,CAAC,CAAE,OAAAC,KAA+B,CAC/C,MACL,MAAA/iN,EACA,YAAAkrH,EACA,eAAAC,EACA,WAAAC,EACA,cAAAC,EACA,uBAAAE,EACA,kBAAAC,EACA,qBAAAC,GACGV,GAAc,EACZ,CAAE,EAAAt8M,CAAE,EAAIsqE,GAAkB,EAE1B,CAACo8N,EAAcC,CAAe,EAAIn5Q,WAAwB,IAAI,EAC9D,CAACwwL,EAAiBu2F,CAAkB,EAAI/mR,WAAS,EAAK,EACtD,CAACgnR,EAAiBC,CAAkB,EAAIjnR,WAAmB,EAAE,EAC7D,CAACknR,EAAuBC,CAAwB,EAAInnR,WAAkB,EAAK,EAG3EonR,EAAsB,IAAM,CACjCL,EAAmB,CAACv2F,CAAe,EAC/BA,GACHy2F,EAAmB,EAAE,CAEvB,EAGMI,EAAsB,CAACxP,EAAgBp3F,IAAwB,CAEnEwmG,EADGxmG,EACiB/vJ,GAAS,CAAC,GAAGA,EAAMmnP,CAAM,EAEzBnnP,GAASA,EAAK,OAAQ7wC,GAAOA,IAAOg4R,CAAM,CAFhB,CAIhD,EAGMyP,EAAmBC,GAAuB,CAE9CN,EADGM,EACgBxjN,EAAM,IAAKI,GAASA,EAAK,EAAE,EAE3B,EAF4B,CAIjD,EAGMqjN,EAAoB,IAAM,CAC3BR,EAAgB,OAAS,GAC5BG,EAAyB,EAAI,CAE/B,EAEA,cACE37L,GACA,WAAC62B,OAAAkkK,GAAA,CAAU,UAAU,sBACpB,UAAClkK,OAAA,OAAI,UAAU,oCACd,UAAAzsG,MAAC,KAAG,WAAU,6BAA8B,SAAApjC,EAAE,iBAAiB,EAAE,EACjE6vI,OAAC,MAAI,WAAU,aACd,UAAAzsG,EAAA,IAAC+hK,GAAA,CACA,QACC6Y,EACG,GAAGh+M,EAAE,2BAA2B,CAAC,GACjC,GAAGA,EAAE,4BAA4B,CAAC,GAEtC,SAAA6vI,EAAA,KAAC1hC,GAAA,CACA,QAAS6vG,EAAkB,UAAY,YACvC,QAAS42F,EACT,cAAY,+BACZ,UAAAxxQ,EAAA,IAAC,QACA,UAAW,WAAW46K,EAAkB,oBAAsB,mBAAmB,QAClF,EACmBh+M,EAAlBg+M,EAAoB,wBAA6B,uBAAN,CAA6B,GAC1E,CACD,QACC7vG,GAAO,SAASmmM,EAAS,SAAAt0S,EAAE,cAAc,CAAE,GAC7C,IACD,EACA6vI,OAAC,MAAI,WAAU,sBACd,UAAAA,EAAA,KAACxpB,GAAA,CACA,UAAU,SACV,YAAarmH,EAAE,2BAA2B,EAC1C,MAAOy8M,EACP,cAAY,uBACZ,QAAU37M,GAAM,OACT,MAAAyuC,GAAYtjB,EAAAnrB,EAAE,SAAF,YAAAmrB,EAA+B,MACjDywL,EAAentK,CAAQ,EACnBA,GAAY,CAACktK,GAAeE,IAAe,iBAC9CG,EAAuBH,CAAU,EACjCC,EAAc,cAAc,EAE9B,EACA,UAAAx5K,EAAA,IAAC,MAAI,MAAK,QAAQ,UAAU,oDAAoD,EAC/Eq5K,GACAr5K,EAAA,IAAC,OACA,UAAU,kFACV,aAAW,eACX,QAAS,IAAMs5K,EAAe,EAAE,EAChC,KAAK,OACN,EAEF,EACA7sE,OAAC,MAAI,WAAU,aACd,UAAAA,EAAA,KAACn3B,GAAA,CACA,MAAOqkG,EAAoB,MAAQ,UACnC,cAAgB7uL,GAAU8uL,EAAqB9uL,IAAU,KAAK,EAC9D,UAAAkV,MAACwjK,GAAc,WAAU,SACxB,SAAA/2D,EAAA,KAAC23D,GACC,WAAAxnM,EAAE,0BAA0B,EAAG,IAC/BA,EAAE,qBAAqB+8M,EAAoB,MAAQ,SAAS,EAAE,GAChE,CACD,UACChV,GACA,WAAA3kK,MAAC2qK,IAAW,MAAM,UACjB,SAACl+D,EAAA,YAAI,UAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,wBAAyB,GACxCpjC,EAAE,2BAA2B,GAC/B,CACD,SACC+tM,GAAW,OAAM,MACjB,SAACl+D,EAAA,YAAI,UAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,+BAAgC,GAC/CpjC,EAAE,uBAAuB,GAC3B,CACD,GACD,IACD,EACA6vI,OAACn3B,IAAO,MAAOikG,EAAY,cAAgBzuL,GAAU0uL,EAAc1uL,CAAmB,EACrF,UAAAkV,MAACwjK,GAAc,WAAU,SACxB,SAAA/2D,EAAA,KAAC23D,GACC,WAAAxnM,EAAE,qBAAqB,EAAE,IAAEA,EAAE,gBAAgB28M,CAAU,EAAE,GAC3D,CACD,UACC5U,GACA,WAAC3kK,MAAA2qK,GAAA,CAAW,MAAM,SAAS,cAAY,gBACtC,SAACl+D,EAAA,YAAI,UAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,4BAA6B,GAC5CpjC,EAAE,gBAAgB,GACpB,CACD,GACAojC,MAAC2qK,IAAW,MAAM,SAAS,cAAY,gBACtC,SAAAl+D,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,0BAA2B,GAC1CpjC,EAAE,gBAAgB,GACpB,CACD,GACAojC,MAAC2qK,IAAW,MAAM,gBAAgB,cAAY,wBAC7C,SAAAl+D,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,6BAA8B,GAC7CpjC,EAAE,uBAAuB,GAC3B,CACD,GACAojC,MAAC2qK,IAAW,MAAM,aAAa,cAAY,qBAC1C,SAAAl+D,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,gCAAiC,GAChDpjC,EAAE,oBAAoB,GACxB,CACD,GACAojC,EAAA,IAAC2qK,GAAA,CACA,MAAM,eACN,SAAU,CAAC0O,EACX,cAAY,uBACZ,SAAA5sE,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,wBAAyB,GACxCpjC,EAAE,sBAAsB,EAC1B,IACD,CACD,GACD,IACD,EAGCg+M,GAAmBzsH,EAAM,OAAS,GAClCnuD,EAAA,IAAC,MAAI,WAAU,yBACd,SAAAysG,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAAC+tE,GAAA,CACA,QAAS5f,EAAM,OAAS,GAAKijN,EAAgB,SAAWjjN,EAAM,OAC9D,gBAAkBgtE,GAAYu2I,EAAgBv2I,IAAY,EAAI,EAC9D,QAAQ,cACT,EACCn7H,EAAA,YAAK,UAAU,yBACd,SAAgBoxQ,EAAA,SAAWjjN,EAAM,OAC/BvxF,EAAE,qBAAqB,EACvBA,EAAE,mBAAmB,EACzB,EACCojC,EAAA,YAAK,UAAU,oDACd,WAAE,wBAAyB,CAC3B,SAAUoxQ,EAAgB,OAC1B,MAAOjjN,EAAM,OACb,CACF,IACD,CACD,GAEF,IACD,EAEAnuD,MAAC4wQ,GAAW,WAAU,MACrB,SAAA5wQ,EAAA,IAACuwQ,IAAA,CACA,UAAU,2BACV,KAAMpiN,EACN,cAAY,qBACZ,wBAAyB,EACzB,WAAY,CACX,KAAM9hE,GAAM,WAAW,CAACyY,EAAO/c,IAC7BiY,MAAA,OAAK,GAAG8E,EAAO,IAAA/c,EAAU,cAAY,qBAAqB,CAC3D,CACF,EACA,YAAa,CAAC6kO,EAAQz8N,IACrB6P,EAAA,IAAC28K,IAAA,CAEA,KAAAxsL,EACA,QAAQ,OACR,cAAewpL,EACf,gBAAAiB,EACA,WAAYw2F,EAAgB,SAASjhR,EAAK,EAAE,EAC5C,kBAAmBshR,EACnB,SAAUlO,EACV,UAAU,YARLpzQ,EAAK,GASX,GAGH,EAGCyqL,GAAmBw2F,EAAgB,OAAS,GAC3C3kK,OAAA,OAAI,UAAU,sIACd,UAAAzsG,EAAA,IAAC,MAAI,WAAU,yBACb,SAAApjC,EAAE,wBAAyB,CAAE,SAAUw0S,EAAgB,OAAQ,MAAOjjN,EAAM,MAAQ,GACtF,EACAs+C,OAAC,MAAI,WAAU,aACd,UAACzsG,MAAA+qE,GAAA,CAAO,QAAQ,YAAY,QAAS,IAAMsmM,EAAmB,EAAE,EAC9D,SAAEz0S,EAAA,wBAAwB,CAC5B,GACAojC,MAAC+qE,IAAO,QAAQ,UAAU,QAAS6mM,EACjC,SAAAh1S,EAAE,wBAAwB,CAC5B,GACD,IACD,EAIA0mS,GACAtjQ,EAAA,IAACgiQ,IAAiB,QAAQsB,EAAc,aAAe39I,GAAS,CAACA,GAAQ49I,EAAgB,IAAI,EAAG,KAAI,EAAC,GAIrG+N,GACAtxQ,EAAA,IAACywQ,IAAA,CACA,QAASW,EACT,KAAME,EACN,aAAe3rJ,GAAS,CAClBA,IACJ4rJ,EAAyB,EAAK,EAC9BF,EAAmB,EAAE,EACrBF,EAAmB,EAAK,EACzB,CACD,EACD,EAEF,CAEF,EAEe54F,WAAK04F,GAAW,EC1RlBY,GAAgB,CAAC,CAAE,YAAAlnP,EAAa,SAAA5qB,EAAU,UAAAmjC,EAAW,GAAGp+B,KAEnE2nG,EAAA,KAAC,OACA,UAAWh5D,GACV,wGACAvQ,CACD,EACC,GAAGp+B,EACJ,UAAC9E,MAAA,MAAG,UAAU,MAAO,SAAAD,CAAS,GAC7B4qB,GAAe3qB,EAAA,IAAC,IAAE,WAAU,sDAAuD,SAAY2qB,CAAA,IACjG,ECCImnP,IAAmB,CAAC,CACzB,qBAAA3jB,EAAuB,GACvB,kBAAAxK,EAAoB,CAAC,EACrB,sBAAAykB,EACA,eAAA2J,EACA,eAAAC,EACA,eAAAC,EACA,eAAAC,CACD,IAA6B,CACtB,MAAE,EAAAt1S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACirO,EAAYC,CAAa,EAAIhoR,WAAS,EAAK,EAC5C,CAACioR,EAAYC,CAAa,EAAIloR,WAAS,EAAK,EAC5C,CAACuhQ,EAAYC,CAAa,EAAIxhQ,WAAS,EAAE,EACzC,CAACmoR,EAAgBC,CAAiB,EAAIpoR,WAAS,EAAE,EACjD,CAACwJ,EAAOq3B,CAAQ,EAAI7gC,WAAwB,IAAI,EAChDqoR,EAAWzqR,SAAY,IAAI,EAC3B0qR,EAAqB1qR,SAAY,IAAI,EAGrC2qR,EAAkB/jL,GAA4C,CAE/D,IAACw5K,GAAyBA,EAAsB,SAC5C,SAIR,MAAMh9J,EAAWxc,EAAQ,YACrB,IAACwc,EAAiB,SAEhB,MAAAwnK,EAAiBxK,EAAsB,UAAUh9J,CAAQ,EAC/D,OAAKwnK,EAKE,CAAC,CAACA,EAAe,UAAY,CAAC,EAAEA,EAAe,QAAUA,EAAe,OAAO,OAAS,GAJvF,EAKT,EAEMC,EAAe,CAACtpR,EAAcupR,IAAyC,CACtE,MAAAr4B,EAAUlxP,EAAK,KAAK,EAC1B,GAAI,CAACkxP,EAAgB,OAAA79Q,EAAE,8BAA8B,EAE/C,MAAAm2S,EAAapvB,GAAA,YAAAA,EAAmB,KAAM7wP,GAAWA,EAAO,KAAK,YAAY,IAAM2nP,EAAQ,eAQzF,OALAq4B,GAAgBC,GAKhB,CAACD,GAAgBC,GAAct4B,EAAQ,iBAAkB0T,GAAA,YAAAA,EAAsB,eAC3EvxR,EAAE,+BAA+B,EAGlC,IACR,EAEMo2S,EAAmB,IAAM,CAC9BV,EAAc,EAAK,EACnBE,EAAkB,EAAE,EACpBvnP,EAAS,IAAI,CACd,EAEMgoP,EAAmB,IAAM,CAC9Bb,EAAc,EAAK,EACnBxmB,EAAc,EAAE,EAChB3gO,EAAS,IAAI,CACd,EAGAhjC,YAAU,IAAM,CACf,GAAIkqR,EAAY,CACf,MAAMxlN,EAAY,WAAW,IAAM,cAAA9jE,EAAA4pR,EAAS,UAAT,YAAA5pR,EAAkB,SAAS,CAAC,EACxD,UAAM,aAAa8jE,CAAS,EACpC,EACE,CAACwlN,CAAU,CAAC,EAGflqR,YAAU,IAAM,CACf,GAAIoqR,EAAY,CACf,MAAM1lN,EAAY,WAAW,IAAM,cAAA9jE,EAAA6pR,EAAmB,UAAnB,YAAA7pR,EAA4B,SAAS,CAAC,EAClE,UAAM,aAAa8jE,CAAS,EACpC,EACE,CAAC0lN,CAAU,CAAC,EAGfpqR,YAAU,IAAM,CACE+qR,EAAA,EACAC,EAAA,GACf,CAAC9kB,CAAoB,CAAC,EAEnB,MAAA+kB,EAAsBC,GAAuB,CAC7CA,GACLpB,EAAeoB,CAAU,CAC1B,EAEMhe,EAAY,IAAM,CACN6d,EAAA,EACjBV,EAAc,EAAI,CACnB,EAEMc,EAAoB,IAAM,CAC/BhB,EAAc,EAAI,EAClBxmB,EAAcuC,GAAwB,EAAE,EACxCljO,EAAS,IAAI,CACd,EAEMooP,EAAe,IAAM,CACTJ,EAAA,CAClB,EAEM97B,EAAa,IAAM,CAClB,MAAAm8B,EAAe3nB,EAAW,KAAK,EAC/B/3P,EAAQi/Q,EAAaS,EAAc,EAAK,EAE9C,GAAI1/Q,EAAO,CACVq3B,EAASr3B,CAAK,EACd,OAGD,GAAIu+Q,GAAchkB,EAAsB,CACvC,GAAIA,IAAyBmlB,EAAc,CACzBL,EAAA,EACjB,OAEDhB,EAAe9jB,EAAsBmlB,CAAY,EAGjCL,EAAA,CAClB,EAEMM,EAAuB,IAAM,CAC5B,MAAAD,EAAef,EAAe,KAAK,EACnC3+Q,EAAQi/Q,EAAaS,EAAc,EAAI,EAE7C,GAAI1/Q,EAAO,CACVq3B,EAASr3B,CAAK,EACd,OAGDs+Q,EAAeoB,CAAY,EACVN,EAAA,CAClB,EAEMnrC,EAAe,IAAM,CACtB,CAACsmB,GAAwB,CAACxK,GAAqBA,EAAkB,QAAU,GAG/EquB,EAAe7jB,CAAoB,CACpC,EAEMqlB,GAAgB7vB,GAAA,YAAAA,EAAmB,UAAW,EAGnD,OAAAl3I,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,kCAAkC,EAAE,EAEhFu1S,EACA1lK,EAAA,KAAC,MAAI,eAAY,cAChB,UAACA,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACijF,GAAA,CACA,IAAKwvL,EACL,MAAO9mB,EACP,QAAUjuR,GAAe,CAEVkuR,EADCluR,EACM,OAAO,KAAK,EACjCutD,EAAS,IAAI,CACd,EACA,YAAaruD,EAAE,iCAAiC,EAChD,UAAW,CAAC,CAAE,IAAA2pB,KAAU,CACnBA,IAAQ,SAAWolQ,EAAW,OACtBxU,EAAA,EACD5wP,IAAQ,UACL8sR,EAAA,CAEf,EACA,UAAU,OACX,EACCrzQ,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,sBAAsB,EACjD,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,SAAU,CAAC4gL,EAAW,KAAK,EAC3B,QAASxU,EACT,cAAY,qBACZ,SAAAn3O,MAAC,OAAK,WAAU,uBAAwB,KAE1C,EACCA,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,wBAAwB,EACnD,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAASsoM,EACT,cAAY,uBACZ,SAAArzQ,MAAC,OAAK,WAAU,uBAAwB,IAE1C,IACD,EACCpM,GACCoM,MAAA,OAAI,UAAU,iDAAiD,cAAY,gBAC1E,SACFpM,CAAA,IAEF,EAGC64G,OAAA/kG,EAAA,oBAAC+kG,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACywJ,GAAA,CACA,MAAO09F,EACP,cAAe+kB,EACf,QAASvvB,EAAkB,IAAK7wP,GAAW,CACpC,MAAA+/L,EAAQ8/E,EAAe7/Q,CAAM,EAC5B,OACN,MAAOA,EAAO,KACd,MAAOA,EAAO,KACd,SAAU,CAAC+/L,EACX,KAAOA,EAMH,aALF9wB,GAAgB,SAASnlM,EAAE,oCAAoC,EAC/D,eAAC,OACA,UAAAojC,EAAA,IAACwpP,IAAc,KAAM,GAAI,UAAU,kCAAmC,GACvE,EACD,CAEF,EACA,EACD,YAAa5sR,EAAE,wBAAwB,EACvC,kBAAmBA,EAAE,sCAAsC,EAC3D,aAAcA,EAAE,iCAAiC,EACjD,UAAU,OACV,cAAY,mBACb,EACAojC,MAAC+hK,IAAgB,QAASnlM,EAAE,+BAA+B,EAC1D,SAAAojC,EAAA,IAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAAO,QAASoqL,EAAW,cAAY,qBACnE,eAAC,OAAK,WAAU,sBAAsB,EACvC,CACD,GACChH,GAEC1hJ,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAAC+hK,GAAgB,SAASnlM,EAAE,kCAAkC,EAC7D,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAASqoM,EACT,cAAY,wBACZ,SAAApzQ,MAAC,OAAK,WAAU,sBAAuB,KAEzC,EACAA,EAAA,IAAC+hK,GAAA,CACA,QAEInlM,EADH42S,EACK,6CACA,kCAD4C,EAGlD,SAAAxzQ,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS88J,EACT,cAAY,wBACZ,SAAU2rC,EACV,SAAAxzQ,MAAC,OAAK,WAAU,uBAAwB,IACzC,EACD,CACD,IAEF,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,gCAAgC,CACpC,IACD,EAGDojC,EAAA,IAACmlH,GAAA,CACA,KAAMktJ,EACN,aAAe1sJ,GAAkB,CAC5BA,GACH2sJ,EAAc,EAAI,EAClBE,EAAkB,EAAE,EACpBvnP,EAAS,IAAI,GAEI+nP,EAAA,CAEnB,EACA,kBAAgB,oBAChB,SAAAvmK,EAAA,KAACqa,GAAc,WAAU,uBACxB,UAAC9mH,EAAA,IAAA6nH,GAAA,CAAa,SAAEjrJ,EAAA,+BAA+B,CAAE,GACjDojC,EAAA,IAACitJ,GAAA,CACA,IAAKylH,EACL,MAAOH,EACP,QAAU70S,GAAe,CAEN80S,EADH90S,EACU,OAAO,KAAK,EACrCutD,EAAS,IAAI,CACd,EACA,YAAaruD,EAAE,qCAAqC,EACpD,cAAY,oBACZ,MAAO,CAAE,MAAO,MAAO,EACvB,UAAYc,GAAe,CAC1B,MAAMksB,EAAQlsB,EACVksB,EAAM,MAAQ,SAAW2oR,EAAe,OACtBgB,EAAA,EACX3pR,EAAM,MAAQ,UACPopR,EAAA,CAClB,CACD,CACD,EACCp/Q,GACCoM,MAAA,KAAE,UAAU,2CAA2C,cAAY,gBAClE,SACFpM,EAAA,EAED64G,OAAC,MAAI,WAAU,8BACd,UAACzsG,MAAA+qE,GAAA,CAAO,QAAQ,YAAY,QAASioM,EAAkB,cAAY,4BACjE,SAAEp2S,EAAA,wBAAwB,CAC5B,GACAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,SAAU,CAACwnM,EAAe,KAAK,EAC/B,QAASgB,EACT,cAAY,wBACX,WAAE,kCAAkC,GACtC,CACD,GACD,IACD,EACD,CAEF,EAEeh7F,WAAKu5F,GAAgB,ECvVvB2B,GAA0BtpN,GAAwD,CAC9F,MAAMt7D,EAAiC,CAAC,EAGxC,SAAW,CAACtI,EAAKuE,CAAK,IAAKq/D,EAAS,CAC7B,MAAAhzC,EAAa5wB,EAAI,KAAK,EAGvB4wB,IAMEtoB,EAAAsoB,CAAU,EAAIrsB,EAAM,KAAK,GAG1B,OAAA+D,CACR,EClBgB,SAAA6kR,IACf3vO,EACAwnE,EACA68J,EACqB,CACf,MAAAuL,EAAgCC,IAA8B7vO,CAAgB,EACpF,GAAI4vO,EACI,OAAAA,EAGR,MAAME,EAA6BC,GAClC/vO,EACAqkO,CACD,EACA,OAAIyL,EACIA,EAA2B,QAG5BE,IAAgBhwO,EAAkBwnE,CAAY,CACtD,CAEA,SAASqoK,IAA8B7vO,EAAwD,CAC9F,OAAQA,EAAiB,YAAa,CACrC,IAAK,aACA,IAACA,EAAiB,iBACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,QACA,IAACyd,EAAiB,YACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,UACA,IAACyd,EAAiB,cACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,WACA,IAACyd,EAAiB,eACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,UACA,IAACyd,EAAiB,cACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,YACA,IAACyd,EAAiB,OACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,UACA,IAACyd,EAAiB,UACd,OAAAzd,GAAQ,EAAE,+BAA+B,EAEjD,MACD,IAAK,SACJ,GAAI,CAACyd,EAAiB,iBAAmB,CAACA,EAAiB,aACnD,OAAAzd,GAAQ,EAAE,iCAAiC,EAEnD,MACD,IAAK,SACA,IAACyd,EAAiB,aACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,gBACA,IAACyd,EAAiB,mBACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,UACA,IAACyd,EAAiB,cACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,SACA,IAACyd,EAAiB,eAAiB,CAACA,EAAiB,cAAgB,CAACA,EAAiB,cACnF,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,SACA,IAACyd,EAAiB,cACd,OAAAzd,GAAQ,EAAE,6BAA6B,EAE/C,MACD,IAAK,WACA,IAACyd,EAAiB,gBACd,OAAAzd,GAAQ,EAAE,6BAA6B,EAE/C,MACD,IAAK,YACA,IAACyd,EAAiB,sBACd,OAAAzd,GAAQ,EAAE,mCAAmC,EAErD,MACD,IAAK,cACA,IAACyd,EAAiB,kBACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE1C,IAACyd,EAAiB,mBACd,OAAAzd,GAAQ,EAAE,6BAA6B,EAE/C,MACD,IAAK,WACA,IAACyd,EAAiB,eACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MACD,IAAK,YACA,IAACyd,EAAiB,gBACd,OAAAzd,GAAQ,EAAE,4BAA4B,EAE9C,MAIH,CAOA,SAASwtP,GACR/vO,EACAqkO,EAC8B,CAC1B,GAAAA,GAAyB,CAACA,EAAsB,SAAU,CAC7D,MAAMh9J,EAAWrnE,EAAiB,YAC9B,IAACqnE,EAAiB,OAEhB,MAAAwnK,EAAiBxK,EAAsB,UAAUh9J,CAAQ,EAC/D,GAAI,CAACwnK,EACG,OACN,QAAStsP,GAAQ,EAAE,yCAA0C,CAAE,SAAA8kF,EAAU,EACzE,KAAM,sBACP,EAGG,IAACwnK,EAAe,SAAU,CACvB,MAAA9jL,EAAUklL,IAAsBjwO,EAAkBqnE,CAAQ,EAC1D6oK,EAAgBrB,EAAe,QAAU,CAAC,EAEhD,GAAI9jL,GAAW,CAACmlL,EAAc,SAASnlL,CAAO,EACtC,OACN,QAASxoE,GAAQ,EAAE,sCAAuC,CACzD,MAAOwoE,EACP,SAAAsc,CAAA,CACA,EACD,KAAM,mBACP,CACD,CACD,CAEF,CAEA,SAAS4oK,IAAsBjwO,EAAoCqnE,EAAsC,OACxG,OAAQA,EAAU,CACjB,IAAK,aACJ,OAAOrnE,EAAiB,kBACzB,IAAK,QACJ,OAAOA,EAAiB,aACzB,IAAK,UACJ,OAAOA,EAAiB,eACzB,IAAK,WACJ,OAAOA,EAAiB,gBACzB,IAAK,UACJ,OAAOA,EAAiB,eACzB,IAAK,SACJ,OAAOA,EAAiB,cACzB,IAAK,SACJ,OAAOA,EAAiB,cACzB,IAAK,WACJ,OAAOA,EAAiB,gBACzB,IAAK,YAEJ,OAAOl7C,EAAAk7C,EAAiB,wBAAjB,YAAAl7C,EAAwC,GAChD,IAAK,cACJ,OAAOk7C,EAAiB,mBACzB,QACC,OAAOA,EAAiB,WAE3B,CAOgB,SAAAmwO,IAAmBC,EAAaC,EAAiB,CAEhE,MAAMC,EAAW,mFACXz+P,EAAQu+P,EAAI,MAAME,CAAQ,EAEhC,GAAI,CAACz+P,EACG,OACN,QAAS,GACT,UAAW,OACX,aAAc0Q,GAAQ,EAAE,uCAAuC,CAChE,EAIK,MAAAguP,EAAY1+P,EAAM,CAAC,EAGrB,OAAAw+P,GAAUE,IAAcF,EACpB,CACN,QAAS,GACT,UAAAE,EACA,aAAchuP,GAAQ,EAAE,yCAA0C,CAAE,UAAAguP,EAAW,OAAAF,CAAQ,EACxF,EAIM,CAAE,QAAS,GAAM,UAAAE,EAAW,aAAc,MAAU,CAC5D,CAEgB,SAAAP,IAAgBhwO,EAAoCwnE,EAAiD,CAC9G,MAAAH,EAAWrnE,EAAiB,aAAe,GAE7C,IAAC29N,IAAat2J,CAAQ,EAClB,OAGJ,IAAAtc,EAEJ,OAAQsc,EAAU,CACjB,IAAK,aACJtc,EAAU/qD,EAAiB,kBAC3B,MACD,IAAK,QACJ+qD,EAAU/qD,EAAiB,aAC3B,MACD,IAAK,UACJ+qD,EAAU/qD,EAAiB,eAC3B,MACD,IAAK,WACJ+qD,EAAU/qD,EAAiB,gBAC3B,MACD,IAAK,SACJ+qD,EAAU/qD,EAAiB,cAC3B,MACD,IAAK,WACJ+qD,EAAU/qD,EAAiB,gBAC3B,MACD,IAAK,UACJ+qD,EAAU/qD,EAAiB,eAC3B,MAGF,GAAI,CAAC+qD,EACG,OAAAxoE,GAAQ,EAAE,6BAA6B,EAGzC,MAAAkkF,EAASe,GAAA,YAAAA,EAAeH,GAE9B,GAAIZ,GAAU,OAAO,KAAKA,CAAM,EAAE,OAAS,GAAK,CAAC,OAAO,KAAKA,CAAM,EAAE,SAAS1b,CAAO,EACpF,OAAOxoE,GAAQ,EAAE,wCAAyC,CAAE,QAAAwoE,EAAS,CAIvE,CAMgB,SAAAylL,IACfxwO,EACAwnE,EACA68J,EACqB,CACrB,MAAMt5K,EAAUklL,IAAsBjwO,EAAkBA,EAAiB,aAAe,EAAE,EACpFywO,EAAoB,CACzB,GAAGzwO,EACH,WAAY+qD,GAAW,EACxB,EAEM2lL,EAAWX,GAA4CU,EAAmBpM,CAAqB,EACjG,OAAAqM,GAAYA,EAAS,OAAS,oBAC1BA,EAAS,QAGVV,IAAgBS,EAAmBjpK,CAAY,CACvD,CAOgB,SAAAmpK,IACf3wO,EACA4wO,EACAvM,EACqB,CACf,MAAAuL,EAAgCC,IAA8B7vO,CAAgB,EACpF,GAAI4vO,EACI,OAAAA,EAGR,MAAME,EAA6BC,GAClC/vO,EACAqkO,CACD,EAGI,GAAAyL,GAA8BA,EAA2B,OAAS,uBACrE,OAAOA,EAA2B,OAKpC,CCjUa,MAAAe,IAAkB,CAC9BC,EACAzM,IAEI,CAACA,GAAyBA,EAAsB,SAC5CyM,EAGDA,EAAU,OAAQzpK,GAAa,CACrC,MAAMwnK,EAAiBxK,EAAsB,UAAUh9J,EAAS,KAAK,EACrE,OAAKwnK,EAIEA,EAAe,UAAaA,EAAe,QAAUA,EAAe,OAAO,OAAS,EAHnF,EAGmF,CAC3F,EAGWkC,IAAe,CAC3BtqK,EACAuqK,EACA3M,IACsC,CACtC,GAAI,CAAC59J,GAAU,CAAC49J,GAAyBA,EAAsB,SACvD,OAAA59J,EAGR,GAAI,CAACuqK,EACJ,MAAO,CAAC,EAGH,MAAAnC,EAAiBxK,EAAsB,UAAU2M,CAAU,EACjE,GAAI,CAACnC,EACJ,MAAO,CAAC,EAGT,GAAIA,EAAe,SACX,OAAApoK,EAGF,MAAAypK,EAAgBrB,EAAe,QAAU,CAAC,EAC1CoC,EAA4C,CAAC,EAEnD,UAAWlmL,KAAWmlL,EACjBzpK,EAAO1b,CAAO,IACFkmL,EAAAlmL,CAAO,EAAI0b,EAAO1b,CAAO,GAInC,OAAAkmL,CACR,YCnDIjrO,IAAK,CAAE,QAAS,EAAG,EAAGp7D,GAAK,CAAC,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,IAAI68D,GACJ,SAASrjD,KAAK,CACZ,GAAIqjD,GAAW,OAAA78D,GACV68D,GAAA,EACL,IAAI9tE,EAAI2P,GAAIzQ,EAAI,OAAO,IAAI,eAAe,EAAGgD,EAAI,OAAO,IAAI,gBAAgB,EAAG,EAAI,OAAO,UAAU,eAAgBxC,EAAIM,EAAE,mDAAmD,kBAAmBuoB,EAAI,CAAE,IAAK,GAAI,IAAK,GAAI,OAAQ,GAAI,SAAU,EAAG,EACxO,SAAA7nB,EAAEI,EAAGhC,EAAGO,EAAG,CAClB,IAAIoB,EAAGG,EAAI,GAAIxB,EAAI,KAAMkC,EAAI,KAC7BjC,IAAM,SAAWD,EAAI,GAAKC,GAAIP,EAAE,MAAQ,SAAWM,EAAI,GAAKN,EAAE,KAAMA,EAAE,MAAQ,SAAWwC,EAAIxC,EAAE,KAC/F,IAAK2B,KAAK3B,EAAG,EAAE,KAAKA,EAAG2B,CAAC,GAAK,CAAC8nB,EAAE,eAAe9nB,CAAC,IAAMG,EAAEH,CAAC,EAAI3B,EAAE2B,CAAC,GAChE,GAAIK,GAAKA,EAAE,aAAmB,IAAAL,KAAK3B,EAAIgC,EAAE,aAAchC,EAAG8B,EAAEH,CAAC,IAAM,SAAWG,EAAEH,CAAC,EAAI3B,EAAE2B,CAAC,GACxF,MAAO,CAAE,SAAUvB,EAAG,KAAM4B,EAAG,IAAK1B,EAAG,IAAKkC,EAAG,MAAOV,EAAG,OAAQlB,EAAE,OAAQ,EAEtE,OAAAuR,GAAG,SAAW/O,EAAG+O,GAAG,IAAMvQ,EAAGuQ,GAAG,KAAOvQ,EAAGuQ,EACnD,CA6lBwCo7D,IAAG,QAAU5hD,MACrD,IAAI2vD,GAAK/N,IAAG,QAAS3qE,GAAI,UAAW,CAClC,OAAOA,GAAI,OAAO,QAAU,SAAS,EAAG,CAC7B,QAAAQ,EAAG4vB,EAAI,EAAGpyB,EAAI,UAAU,OAAQoyB,EAAIpyB,EAAGoyB,IAAK,CACnD5vB,EAAI,UAAU4vB,CAAC,EACf,QAASvJ,KAAKrmB,EAAU,iBAAU,eAAe,KAAKA,EAAGqmB,CAAC,IAAM,EAAEA,CAAC,EAAIrmB,EAAEqmB,CAAC,GAErE,QACN,EAAA7mB,GAAE,MAAM,KAAM,SAAS,CAC5B,EACA,SAASqQ,GAAG/R,EAAGd,EAAGgD,EAAG,CACnB,GAAIA,GAAK,UAAU,SAAW,EAAY,UAAI,EAAGxC,EAAIR,EAAE,OAAQqpB,EAAG,EAAI7oB,EAAG,KACtE6oB,GAAK,EAAE,KAAKrpB,MAAQqpB,IAAMA,EAAI,MAAM,UAAU,MAAM,KAAKrpB,EAAG,EAAG,CAAC,GAAIqpB,EAAE,CAAC,EAAIrpB,EAAE,CAAC,GAC1E,OAAAc,EAAE,OAAOuoB,GAAK,MAAM,UAAU,MAAM,KAAKrpB,CAAC,CAAC,CACpD,CAOI,IAKDO,GAAI,OAAQiS,GAAK,QAAS/Q,GAAI,WAAY0uE,IAAK,OAAQlE,GAAK,OAAQ2B,GAAK,OAAQmJ,IAAK,UAAW9G,IAAK,aAAckH,IAAK,SAAU1G,IAAK,KAAK,IAAKxC,GAAK,OAAO,aAAcb,GAAK,OAAO,OAC3L,SAASwJ,IAAG91E,EAAGd,EAAG,CACT,OAAAe,GAAED,EAAG,CAAC,EAAI,MAAQd,GAAK,EAAIe,GAAED,EAAG,CAAC,IAAM,EAAIC,GAAED,EAAG,CAAC,IAAM,EAAIC,GAAED,EAAG,CAAC,IAAM,EAAIC,GAAED,EAAG,CAAC,EAAI,CAC9F,CACA,SAAS0vE,IAAG1vE,EAAG,CACb,OAAOA,EAAE,KAAK,CAChB,CACA,SAASqQ,GAAGrQ,EAAGd,EAAG,CAChB,OAAQc,EAAId,EAAE,KAAKc,CAAC,GAAKA,EAAE,CAAC,EAAIA,CAClC,CACA,SAASa,GAAEb,EAAGd,EAAGgD,EAAG,CACX,OAAAlC,EAAE,QAAQd,EAAGgD,CAAC,CACvB,CACA,SAASmP,GAAGrR,EAAGd,EAAGgD,EAAG,CACZ,OAAAlC,EAAE,QAAQd,EAAGgD,CAAC,CACvB,CACA,SAASjC,GAAED,EAAGd,EAAG,CACR,OAAAc,EAAE,WAAWd,CAAC,EAAI,CAC3B,CACA,SAAS8uB,GAAGhuB,EAAGd,EAAGgD,EAAG,CACZ,OAAAlC,EAAE,MAAMd,EAAGgD,CAAC,CACrB,CACA,SAAS7B,GAAEL,EAAG,CACZ,OAAOA,EAAE,MACX,CACA,SAAS8vE,IAAG9vE,EAAG,CACb,OAAOA,EAAE,MACX,CACA,SAASmR,GAAGnR,EAAGd,EAAG,CACT,OAAAA,EAAE,KAAKc,CAAC,EAAGA,CACpB,CACA,SAASm2E,IAAGn2E,EAAGd,EAAG,CAChB,OAAOc,EAAE,IAAId,CAAC,EAAE,KAAK,EAAE,CACzB,CACA,SAASivE,GAAGnuE,EAAGd,EAAG,CACT,OAAAc,EAAE,OAAO,SAASkC,EAAG,CACnB,OAACmO,GAAGnO,EAAGhD,CAAC,EAChB,CACH,CACA,IAAIosE,GAAK,EAAGx7D,GAAK,EAAGw/D,IAAK,EAAGpvE,GAAI,EAAGgrE,GAAI,EAAGt5D,GAAK,GAC/C,SAAS45D,GAAGxrE,EAAGd,EAAGgD,EAAG,EAAGxC,EAAG6oB,EAAG7nB,EAAGI,EAAG,CAC3B,OAAE,MAAOd,EAAG,KAAMd,EAAG,OAAQgD,EAAG,KAAM,EAAG,MAAOxC,EAAG,SAAU6oB,EAAG,KAAM+iD,GAAI,OAAQx7D,GAAI,OAAQpP,EAAG,OAAQ,GAAI,SAAUI,CAAE,CAClI,CACA,SAASwP,GAAGtQ,EAAGd,EAAG,CAChB,OAAOotE,GAAGd,GAAG,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,EAAGxrE,EAAE,QAAQ,EAAGA,EAAG,CAAE,OAAQ,CAACA,EAAE,QAAUd,CAAC,CAC1F,CACA,SAASgS,GAAGlR,EAAG,CACb,KAAOA,EAAE,MACHA,EAAAsQ,GAAGtQ,EAAE,KAAM,CAAE,SAAU,CAACA,CAAC,EAAG,EAC/BmR,GAAAnR,EAAGA,EAAE,QAAQ,CAClB,CACA,SAASo2E,KAAK,CACL,OAAAlL,EACT,CACA,SAASoL,KAAK,CACZ,OAAOpL,GAAIhrE,GAAI,EAAID,GAAE2R,GAAI,EAAE1R,EAAC,EAAI,EAAG4P,KAAMo7D,KAAM,KAAOp7D,GAAK,EAAGw7D,MAAOJ,EACvE,CACA,SAASvpE,IAAI,CACX,OAAOupE,GAAIhrE,GAAIovE,IAAKrvE,GAAE2R,GAAI1R,IAAG,EAAI,EAAG4P,KAAMo7D,KAAM,KAAOp7D,GAAK,EAAGw7D,MAAOJ,EACxE,CACA,SAAS/6D,IAAK,CACL,OAAAlQ,GAAE2R,GAAI1R,EAAC,CAChB,CACA,SAASkQ,IAAK,CACL,OAAAlQ,EACT,CACA,SAASurE,GAAGzrE,EAAGd,EAAG,CACT,OAAA8uB,GAAGpc,GAAI5R,EAAGd,CAAC,CACpB,CACA,SAASstE,GAAGxsE,EAAG,CACb,OAAQA,EAAG,CACT,IAAK,GACL,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACI,SACT,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACL,IAAK,KACI,SACT,IAAK,IACI,SACT,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACI,SACT,IAAK,IACL,IAAK,IACI,SAEJ,QACT,CACA,SAAS02E,IAAG12E,EAAG,CACN,OAAAsrE,GAAKx7D,GAAK,EAAGw/D,IAAKjvE,GAAEuR,GAAK5R,CAAC,EAAGE,GAAI,EAAG,CAAC,CAC9C,CACA,SAAS22E,IAAG72E,EAAG,CACb,OAAO4R,GAAK,GAAI5R,CAClB,CACA,SAASosE,GAAGpsE,EAAG,CACb,OAAO0vE,IAAGjE,GAAGvrE,GAAI,EAAG0sE,GAAG5sE,IAAM,GAAKA,EAAI,EAAIA,IAAM,GAAKA,EAAI,EAAIA,CAAC,CAAC,CAAC,CAClE,CACA,SAASs6B,IAAGt6B,EAAG,CACL,MAAAkrE,GAAI/6D,GAAG,IAAM+6D,GAAI,IACrBvpE,GAAA,EACG,OAAA6qE,GAAGxsE,CAAC,EAAI,GAAKwsE,GAAGtB,EAAC,EAAI,EAAI,GAAK,GACvC,CACA,SAASsL,IAAGx2E,EAAGd,EAAG,CAChB,KAAO,EAAEA,GAAKyC,GAAE,GAAK,EAAEupE,GAAI,IAAMA,GAAI,KAAOA,GAAI,IAAMA,GAAI,IAAMA,GAAI,IAAMA,GAAI,KAC5E,CACK,OAAAO,GAAGzrE,EAAGoQ,GAAA,GAAQlR,EAAI,GAAKiR,GAAA,GAAQ,IAAMxO,GAAE,GAAK,GAAG,CACxD,CACA,SAASirE,GAAG5sE,EAAG,CACb,KAAO2B,GAAE,GACP,OAAQupE,GAAG,CACT,KAAKlrE,EACI,OAAAE,GACT,IAAK,IACL,IAAK,IACHF,IAAM,IAAMA,IAAM,IAAM4sE,GAAG1B,EAAC,EAC5B,MACF,IAAK,IACGlrE,IAAA,IAAM4sE,GAAG5sE,CAAC,EAChB,MACF,IAAK,IACD2B,GAAA,EACF,MAEC,OAAAzB,EACT,CACA,SAAS82E,IAAGh3E,EAAGd,EAAG,CACT,KAAAyC,GAAO,GAAA3B,EAAIkrE,KAAM,IAClB,EAAAlrE,EAAIkrE,KAAM,IAAM/6D,GAAS,SAA7B,CAEF,MAAO,KAAOs7D,GAAGvsE,EAAGgB,GAAI,CAAC,EAAI,IAAMitE,GAAGntE,IAAM,GAAKA,EAAI2B,GAAA,CAAG,CAC1D,CACA,SAAS80E,IAAGz2E,EAAG,CACN,MAACwsE,GAAGr8D,IAAI,GACXxO,GAAA,EACG,OAAA8pE,GAAGzrE,EAAGE,EAAC,CAChB,CACA,SAAS02E,IAAG52E,EAAG,CACb,OAAO62E,IAAGrlE,GAAG,GAAI,KAAM,KAAM,KAAM,CAAC,EAAE,EAAGxR,EAAI02E,IAAG12E,CAAC,EAAG,EAAG,CAAC,CAAC,EAAGA,CAAC,CAAC,CAChE,CACA,SAASwR,GAAGxR,EAAGd,EAAGgD,EAAG,EAAGxC,EAAG6oB,EAAG7nB,EAAGI,EAAGhC,EAAG,CACrC,QAASO,EAAI,EAAGoB,EAAI,EAAGG,EAAIF,EAAGtB,EAAI,EAAGkC,EAAI,EAAGL,EAAI,EAAGD,EAAI,EAAGR,EAAI,EAAGZ,EAAI,EAAG,EAAI,EAAGN,EAAI,GAAIiC,EAAI7B,EAAGU,EAAImoB,EAAGzoB,EAAI,EAAGiB,EAAIzB,EAAGkB,GACjH,OAAQS,EAAI,EAAG,EAAIU,GAAK,GACtB,IAAK,IACH,GAAIV,GAAK,KAAOhB,GAAEc,EAAGH,EAAI,CAAC,GAAK,GAAI,CACjCyQ,GAAGtQ,GAAKF,GAAEurE,GAAG,CAAC,EAAG,IAAK,KAAK,EAAG,MAAOuD,IAAGtwE,EAAIyB,EAAEzB,EAAI,CAAC,EAAI,CAAC,CAAC,GAAK,KAAOO,EAAI,IACzE,MAEJ,IAAK,IACL,IAAK,IACL,IAAK,IACHmB,GAAKqrE,GAAG,CAAC,EACT,MACF,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACHrrE,GAAKu5B,IAAGr5B,CAAC,EACT,MACF,IAAK,IACHF,GAAKy1E,IAAGpmE,KAAO,EAAG,CAAC,EACnB,SACF,IAAK,IACH,OAAQD,GAAM,GACZ,IAAK,IACL,IAAK,IACAgB,GAAA8lE,IAAGD,IAAGr1E,KAAKyO,IAAI,EAAGlR,EAAGgD,EAAGpD,CAAC,EAAGA,CAAC,EAChC,MACF,QACOiC,GAAA,IAET,MACF,IAAK,KAAMC,EACTF,EAAEzB,GAAG,EAAIgB,GAAEU,CAAC,EAAInB,EAClB,IAAK,KAAMoB,EACX,IAAK,IACL,IAAK,GACH,OAAQ,EAAG,CACT,IAAK,GACL,IAAK,KACCR,EAAA,EACN,IAAK,IAAKC,EACRb,GAAK,KAAOmB,EAAIF,GAAEE,EAAG,MAAO,EAAE,GAAIO,EAAI,GAAKjB,GAAEU,CAAC,EAAIH,GAAKuQ,GAAG7P,EAAI,GAAK2sE,GAAGltE,EAAI,IAAK,EAAGmB,EAAGtB,EAAI,EAAG9B,CAAC,EAAImvE,GAAGptE,GAAEE,EAAG,IAAK,EAAE,EAAI,IAAK,EAAGmB,EAAGtB,EAAI,EAAG9B,CAAC,EAAGA,CAAC,EAC3I,MACF,IAAK,IACEiC,GAAA,IACP,QACM,GAAAoQ,GAAGrR,EAAIuuE,GAAGttE,EAAG7B,EAAGgD,EAAG7C,EAAGoB,EAAGf,EAAGoB,EAAGxB,EAAGiC,EAAI,GAAInB,EAAI,CAAC,EAAGQ,EAAG2nB,CAAC,EAAGA,CAAC,EAAG,IAAM,IACrE,GAAI9nB,IAAM,EACL+Q,GAAAzQ,EAAG7B,EAAGY,EAAGA,EAAGyB,EAAGgnB,EAAG3nB,EAAGE,EAAGV,CAAC,MAEpB,QAAAhB,IAAM,IAAMa,GAAEc,EAAG,CAAC,IAAM,IAAM,IAAM3B,EAAG,CAC7C,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACHoS,GAAGxR,EAAGF,EAAGA,EAAG,GAAKqR,GAAGk9D,GAAGruE,EAAGF,EAAGA,EAAG,EAAG,EAAGJ,EAAGoB,EAAGxB,EAAGI,EAAG6B,EAAI,GAAIX,EAAGR,CAAC,EAAGA,CAAC,EAAGV,EAAGU,EAAGQ,EAAGE,EAAG,EAAIS,EAAInB,CAAC,EAC1F,MACF,QACKoR,GAAAzQ,EAAGjB,EAAGA,EAAGA,EAAG,CAAC,EAAE,EAAGM,EAAG,EAAGU,EAAGV,CAAC,EACnC,CAEJf,EAAAoB,EAAIa,EAAI,EAAGN,EAAIpB,EAAI,EAAGN,EAAIyB,EAAI,GAAIH,EAAIF,EAC1C,MACF,IAAK,IACHE,EAAI,EAAIP,GAAEU,CAAC,EAAGO,EAAIL,EACpB,QACE,GAAID,EAAI,GACN,GAAI,GAAK,IACL,EAAAA,UACK,GAAK,KAAOA,KAAO,GAAKs1E,OAAQ,IACvC,SAEJ,OAAQv1E,GAAKosE,GAAG,CAAC,EAAG,EAAInsE,EAAG,CACzB,IAAK,IACHpB,EAAIa,EAAI,EAAI,GAAKM,GAAK,KAAM,IAC5B,MACF,IAAK,IACHD,EAAEzB,GAAG,GAAKgB,GAAEU,CAAC,EAAI,GAAKnB,EAAGA,EAAI,EAC7B,MACF,IAAK,IACHuQ,OAAS,KAAOpP,GAAKqrE,GAAGzqE,IAAG,GAAIvC,EAAI+Q,GAAA,EAAM1P,EAAIG,EAAIP,GAAEf,EAAIyB,GAAK01E,IAAGrmE,GAAG,CAAC,CAAC,EAAG,IACvE,MACF,IAAK,IACHnP,IAAM,IAAMZ,GAAEU,CAAC,GAAK,IAAMC,EAAI,GAClC,CAEC,OAAAunB,CACT,CACA,SAAS8lD,GAAGruE,EAAGd,EAAGgD,EAAG,EAAGxC,EAAG6oB,EAAG7nB,EAAGI,EAAGhC,EAAGO,EAAGoB,EAAGG,EAAG,CACrC,QAAAxB,EAAIM,EAAI,EAAG4B,EAAI5B,IAAM,EAAI6oB,EAAI,CAAC,EAAE,EAAGtnB,EAAI6uE,IAAGxuE,CAAC,EAAGN,EAAI,EAAGR,EAAI,EAAGZ,EAAI,EAAGoB,EAAI,EAAG,EAAEA,EACnF,QAAS,EAAI,EAAG1B,EAAI0uB,GAAGhuB,EAAGZ,EAAI,EAAGA,EAAIuwE,IAAGnvE,EAAIE,EAAEM,CAAC,CAAC,CAAC,EAAGO,EAAIvB,EAAG,EAAIiB,EAAG,EAAE,GACjEM,EAAImuE,IAAGlvE,EAAI,EAAIc,EAAE,CAAC,EAAI,IAAMhC,EAAIuB,GAAEvB,EAAG,OAAQgC,EAAE,CAAC,CAAC,CAAC,KAAOxC,EAAEc,GAAG,EAAI2B,GAChE,OAAAiqE,GAAGxrE,EAAGd,EAAGgD,EAAGxC,IAAM,EAAIyrE,GAAKrqE,EAAGhC,EAAGO,EAAGoB,EAAGG,CAAC,CACjD,CACA,SAASq2E,IAAGj3E,EAAGd,EAAGgD,EAAG,EAAG,CACtB,OAAOspE,GAAGxrE,EAAGd,EAAGgD,EAAGmtE,IAAIlC,GAAGiJ,IAAI,GAAGpoD,GAAGhuB,EAAG,EAAG,EAAE,EAAG,EAAG,CAAC,CACrD,CACA,SAASiuE,GAAGjuE,EAAGd,EAAGgD,EAAG,EAAGxC,EAAG,CACzB,OAAO8rE,GAAGxrE,EAAGd,EAAGgD,EAAG4qE,GAAI9+C,GAAGhuB,EAAG,EAAG,CAAC,EAAGguB,GAAGhuB,EAAG,EAAI,EAAG,EAAE,EAAG,EAAGN,CAAC,CAC5D,CACA,SAASkwE,IAAG5vE,EAAGd,EAAGgD,EAAG,CACX,OAAA4zE,IAAG91E,EAAGd,CAAC,EAAG,CAChB,IAAK,MACI,OAAAyB,GAAI,SAAWX,EAAIA,EAC5B,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOW,GAAIX,EAAIA,EACjB,IAAK,MACH,OAAO0R,GAAK1R,EAAIA,EAClB,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOW,GAAIX,EAAI0R,GAAK1R,EAAIP,GAAIO,EAAIA,EAClC,IAAK,MACH,OAAQC,GAAED,EAAGd,EAAI,EAAE,EAAG,CACpB,IAAK,KACH,OAAOyB,GAAIX,EAAIP,GAAIoB,GAAEb,EAAG,qBAAsB,IAAI,EAAIA,EACxD,IAAK,KACH,OAAOW,GAAIX,EAAIP,GAAIoB,GAAEb,EAAG,qBAAsB,OAAO,EAAIA,EAC3D,IAAK,IACH,OAAOW,GAAIX,EAAIP,GAAIoB,GAAEb,EAAG,qBAAsB,IAAI,EAAIA,CAAA,CAE5D,IAAK,MACL,IAAK,MACL,IAAK,MACI,OAAAW,GAAIX,EAAIP,GAAIO,EAAIA,EACzB,IAAK,MACH,OAAOW,GAAIX,EAAIP,GAAI,QAAUO,EAAIA,EACnC,IAAK,MACI,OAAAW,GAAIX,EAAIa,GAAEb,EAAG,iBAAkBW,GAAI,WAAalB,GAAI,WAAW,EAAIO,EAC5E,IAAK,MACI,OAAAW,GAAIX,EAAIP,GAAI,aAAeoB,GAAEb,EAAG,eAAgB,EAAE,GAAKqQ,GAAGrQ,EAAG,gBAAgB,EAAI,GAAKP,GAAI,YAAcoB,GAAEb,EAAG,eAAgB,EAAE,GAAKA,EAC7I,IAAK,MACI,OAAAW,GAAIX,EAAIP,GAAI,iBAAmBoB,GAAEb,EAAG,6BAA8B,EAAE,EAAIA,EACjF,IAAK,MACH,OAAOW,GAAIX,EAAIP,GAAIoB,GAAEb,EAAG,SAAU,UAAU,EAAIA,EAClD,IAAK,MACH,OAAOW,GAAIX,EAAIP,GAAIoB,GAAEb,EAAG,QAAS,gBAAgB,EAAIA,EACvD,IAAK,MACH,OAAOW,GAAI,OAASE,GAAEb,EAAG,QAAS,EAAE,EAAIW,GAAIX,EAAIP,GAAIoB,GAAEb,EAAG,OAAQ,UAAU,EAAIA,EACjF,IAAK,MACH,OAAOW,GAAIE,GAAEb,EAAG,qBAAsB,KAAOW,GAAI,IAAI,EAAIX,EAC3D,IAAK,MACH,OAAOa,GAAEA,GAAEA,GAAEb,EAAG,eAAgBW,GAAI,IAAI,EAAG,cAAeA,GAAI,IAAI,EAAGX,EAAG,EAAE,EAAIA,EAChF,IAAK,MACL,IAAK,MACH,OAAOa,GAAEb,EAAG,oBAAqBW,GAAI,QAAQ,EAC/C,IAAK,MACH,OAAOE,GAAEA,GAAEb,EAAG,oBAAqBW,GAAI,cAAgBlB,GAAI,cAAc,EAAG,aAAc,SAAS,EAAIkB,GAAIX,EAAIA,EACjH,IAAK,MACC,IAACqQ,GAAGrQ,EAAG,gBAAgB,EAAU,OAAAP,GAAI,oBAAsBuuB,GAAGhuB,EAAGd,CAAC,EAAIc,EAC1E,MACF,IAAK,MACL,IAAK,MACH,OAAOP,GAAIoB,GAAEb,EAAG,YAAa,EAAE,EAAIA,EACrC,IAAK,MACL,IAAK,MACH,OAAOkC,GAAKA,EAAE,KAAK,SAAS,EAAGxC,EAAG,CAChC,OAAOR,EAAIQ,EAAG2Q,GAAG,EAAE,MAAO,cAAc,EACzC,EAAI,CAACgB,GAAGrR,GAAKkC,EAAIA,EAAEhD,CAAC,EAAE,OAAQ,OAAQ,CAAC,EAAIc,EAAIP,GAAIoB,GAAEb,EAAG,SAAU,EAAE,EAAIA,EAAIP,GAAI,kBAAoB,CAAC4R,GAAGnP,EAAG,OAAQ,CAAC,EAAImO,GAAGnO,EAAG,KAAK,EAAI,CAACmO,GAAGnO,EAAG,KAAK,EAAI,CAACmO,GAAGrQ,EAAG,KAAK,GAAK,IAAMP,GAAIoB,GAAEb,EAAG,SAAU,EAAE,EAAIA,EAC1M,IAAK,MACL,IAAK,MACH,OAAOkC,GAAKA,EAAE,KAAK,SAAS,EAAG,CACtB,OAAAmO,GAAG,EAAE,MAAO,gBAAgB,CACpC,GAAIrQ,EAAIP,GAAIoB,GAAEA,GAAEb,EAAG,OAAQ,OAAO,EAAG,QAAS,EAAE,EAAIA,EACvD,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOa,GAAEb,EAAG,kBAAmBW,GAAI,MAAM,EAAIX,EAC/C,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,GAAIK,GAAEL,CAAC,EAAI,EAAId,EAAI,EACjB,OAAQe,GAAED,EAAGd,EAAI,CAAC,EAAG,CACnB,IAAK,KACH,GAAIe,GAAED,EAAGd,EAAI,CAAC,IAAM,GAClB,MACJ,IAAK,KACH,OAAO2B,GAAEb,EAAG,mBAAoB,KAAOW,GAAI,UAAY+Q,IAAMzR,GAAED,EAAGd,EAAI,CAAC,GAAK,IAAM,KAAO,QAAQ,EAAIc,EACvG,IAAK,KACH,MAAO,CAACqR,GAAGrR,EAAG,UAAW,CAAC,EAAI4vE,IAAG/uE,GAAEb,EAAG,UAAW,gBAAgB,EAAGd,EAAGgD,CAAC,EAAIlC,EAAIA,CAAA,CAEtF,MACF,IAAK,MACL,IAAK,MACI,OAAAa,GAAEb,EAAG,4CAA6C,SAAS,EAAGN,EAAG6oB,EAAG7nB,EAAGI,EAAGhC,EAAGO,EAAG,CACrF,OAAOI,GAAIC,EAAI,IAAM6oB,EAAIlpB,GAAKqB,EAAIjB,GAAIC,EAAI,UAAYoB,EAAIhC,EAAI,CAACA,EAAI,CAACypB,GAAKlpB,EAAI,IAAMW,CAAA,CACpF,EACH,IAAK,MACH,GAAIC,GAAED,EAAGd,EAAI,CAAC,IAAM,IAClB,OAAO2B,GAAEb,EAAG,IAAK,IAAMW,EAAC,EAAIX,EAC9B,MACF,IAAK,MACK,OAAAC,GAAED,EAAGC,GAAED,EAAG,EAAE,IAAM,GAAK,GAAK,EAAE,EAAG,CACvC,IAAK,KACH,OAAOa,GAAEb,EAAG,gCAAiC,KAAOW,IAAKV,GAAED,EAAG,EAAE,IAAM,GAAK,UAAY,IAAM,UAAYW,GAAI,SAAWlB,GAAI,SAAS,EAAIO,EAC3I,IAAK,KACH,OAAOa,GAAEb,EAAG,IAAK,IAAMP,EAAC,EAAIO,CAAA,CAEhC,MACF,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACH,OAAOa,GAAEb,EAAG,UAAW,cAAc,EAAIA,CAAA,CAEtC,OAAAA,CACT,CACA,SAASuS,GAAGvS,EAAGd,EAAG,CAChB,QAASgD,EAAI,GAAI,EAAI,EAAG,EAAIlC,EAAE,OAAQ,IACpCkC,GAAKhD,EAAEc,EAAE,CAAC,EAAG,EAAGA,EAAGd,CAAC,GAAK,GACpB,OAAAgD,CACT,CACA,SAAS40E,IAAG92E,EAAGd,EAAGgD,EAAG,EAAG,CACtB,OAAQlC,EAAE,KAAM,CACd,KAAKq2E,IACC,GAAAr2E,EAAE,SAAS,OAAQ,MACzB,KAAKi2E,IACL,KAAKnJ,GACH,OAAO9sE,EAAE,OAASA,EAAE,QAAUA,EAAE,MAClC,KAAKqvE,IACI,SACT,KAAKF,IACI,OAAAnvE,EAAE,OAASA,EAAE,MAAQ,IAAMuS,GAAGvS,EAAE,SAAU,CAAC,EAAI,IACxD,KAAKmrE,GACC,IAAC9qE,GAAEL,EAAE,MAAQA,EAAE,MAAM,KAAK,GAAG,CAAC,EAAU,SAEhD,OAAOK,GAAE6B,EAAIqQ,GAAGvS,EAAE,SAAU,CAAC,CAAC,EAAIA,EAAE,OAASA,EAAE,MAAQ,IAAMkC,EAAI,IAAM,EACzE,CACA,SAASi1E,IAAGn3E,EAAG,CACT,IAAAd,EAAI4wE,IAAG9vE,CAAC,EACZ,OAAO,SAASkC,EAAG,EAAGxC,EAAG6oB,EAAG,CAC1B,QAAS7nB,EAAI,GAAII,EAAI,EAAGA,EAAI5B,EAAG4B,IAC7BJ,GAAKV,EAAEc,CAAC,EAAEoB,EAAG,EAAGxC,EAAG6oB,CAAC,GAAK,GACpB,OAAA7nB,CACT,CACF,CACA,SAASi2E,IAAG32E,EAAG,CACb,OAAO,SAASd,EAAG,CACjBA,EAAE,OAASA,EAAIA,EAAE,SAAWc,EAAEd,CAAC,CACjC,CACF,CACA,SAASq4E,IAAGv3E,EAAGd,EAAGgD,EAAG,EAAG,CACtB,GAAIlC,EAAE,OAAS,IAAM,CAACA,EAAE,OACtB,OAAQA,EAAE,KAAM,CACd,KAAK8sE,GACH9sE,EAAE,OAAS4vE,IAAG5vE,EAAE,MAAOA,EAAE,OAAQkC,CAAC,EAClC,OACF,KAAKitE,IACH,OAAO58D,GAAG,CAACjC,GAAGtQ,EAAG,CAAE,MAAOa,GAAEb,EAAE,MAAO,IAAK,IAAMW,EAAC,EAAG,CAAC,EAAG,CAAC,EAC3D,KAAKwqE,GACH,GAAInrE,EAAE,OACJ,OAAOm2E,IAAGj0E,EAAIlC,EAAE,MAAO,SAASN,EAAG,CACjC,OAAQ2Q,GAAG3Q,EAAG,EAAI,uBAAuB,EAAG,CAC1C,IAAK,aACL,IAAK,cACHwR,GAAGZ,GAAGtQ,EAAG,CAAE,MAAO,CAACa,GAAEnB,EAAG,cAAe,IAAMgS,GAAK,IAAI,CAAC,CAAE,CAAC,CAAC,EAAGR,GAAGZ,GAAGtQ,EAAG,CAAE,MAAO,CAACN,CAAC,CAAG,EAAC,EAAG4sE,GAAGtsE,EAAG,CAAE,MAAOmuE,GAAGjsE,EAAG,CAAC,EAAG,EAClH,MACF,IAAK,gBACHgP,GAAGZ,GAAGtQ,EAAG,CAAE,MAAO,CAACa,GAAEnB,EAAG,aAAc,IAAMiB,GAAI,UAAU,CAAC,EAAG,CAAC,EAAGuQ,GAAGZ,GAAGtQ,EAAG,CAAE,MAAO,CAACa,GAAEnB,EAAG,aAAc,IAAMgS,GAAK,IAAI,CAAC,CAAG,EAAC,EAAGR,GAAGZ,GAAGtQ,EAAG,CAAE,MAAO,CAACa,GAAEnB,EAAG,aAAcD,GAAI,UAAU,CAAC,EAAG,CAAC,EAAGyR,GAAGZ,GAAGtQ,EAAG,CAAE,MAAO,CAACN,CAAC,CAAE,CAAC,CAAC,EAAG4sE,GAAGtsE,EAAG,CAAE,MAAOmuE,GAAGjsE,EAAG,CAAC,EAAG,EAC/O,MAEG,SACR,EAEX,CACA,IAAIm1E,IAAK,CACP,wBAAyB,EACzB,YAAa,EACb,kBAAmB,EACnB,iBAAkB,EAClB,iBAAkB,EAClB,QAAS,EACT,aAAc,EACd,gBAAiB,EACjB,YAAa,EACb,QAAS,EACT,KAAM,EACN,SAAU,EACV,aAAc,EACd,WAAY,EACZ,aAAc,EACd,UAAW,EACX,QAAS,EACT,WAAY,EACZ,YAAa,EACb,aAAc,EACd,WAAY,EACZ,cAAe,EACf,eAAgB,EAChB,gBAAiB,EACjB,UAAW,EACX,cAAe,EACf,aAAc,EACd,iBAAkB,EAClB,WAAY,EACZ,WAAY,EACZ,QAAS,EACT,MAAO,EACP,QAAS,EACT,QAAS,EACT,OAAQ,EACR,OAAQ,EACR,KAAM,EACN,gBAAiB,EAEjB,YAAa,EACb,aAAc,EACd,YAAa,EACb,gBAAiB,EACjB,iBAAkB,EAClB,iBAAkB,EAClB,cAAe,EACf,YAAa,CACf,EAAGrnE,GAAK,OAAO,QAAU,KAAO4pM,KAAgB,SAAWA,GAAY,mBAAqBA,GAAY,UAAY,cAAe/pI,IAAK,SAAUE,IAAK,sBAAuBrE,GAAK,SAAUsB,GAAK;AAAA,EAC/Ll7D,GAAK,OAAO,OAAS,KAAO,gBAAiB,OAAQslE,IAAK,CAAC,EAAE,OAAO,mBAAqB,UAAY,kBAAoB,OAAO,QAAU,KAAOwiI,KAAgB,QAAUA,GAAY,8BAAgC,QAAUA,GAAY,8BAAgC,GAAKA,GAAY,8BAAgC,SAAWA,GAAY,4BAA8B,OAAO,QAAU,KAAOA,KAAgB,QAAUA,GAAY,oBAAsB,QAAUA,GAAY,oBAAsB,IAAKA,GAAY,oBAAsB,SAAWA,GAAY,mBAiBjjBxuI,GAAK,OAAO,OAAO,EAAE,EAAGp6D,GAAK,OAAO,OAAO,CAAE,GAChD,SAASkmE,IAAGl3E,EAAGd,EAAGgD,EAAG,CACZ,OAAAA,IAAM,SAAWA,EAAI8O,IAAKhR,EAAE,QAAUkC,EAAE,OAASlC,EAAE,OAASd,GAAKgD,EAAE,KAC5E,CACA,IAAI6qE,IAAqB,IAAI,IAAI,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,KAAM,QAAS,IAAK,KAAM,MAAO,MAAO,QAAS,MAAO,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,SAAU,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,OAAO,CAAC,EAAGgK,IAAK,wCAAyCO,IAAK,WACltC,SAAShJ,GAAGtuE,EAAG,CACb,OAAOA,EAAE,QAAQ+2E,IAAI,GAAG,EAAE,QAAQO,IAAI,EAAE,CAC1C,CACA,IAAIE,IAAK,WAAYzmE,GAAK,GAAI89D,GAAK,SAAS7uE,EAAG,CAC7C,OAAO,OAAO,aAAaA,GAAKA,EAAI,GAAK,GAAK,GAAG,CACnD,EACA,SAAS46B,GAAG56B,EAAG,CACb,IAAId,EAAGgD,EAAI,GACX,IAAKhD,EAAI,KAAK,IAAIc,CAAC,EAAGd,EAAI6R,GAAI7R,EAAIA,EAAI6R,GAAK,EAAG7O,EAAI2sE,GAAG3vE,EAAI6R,EAAE,EAAI7O,EAC/D,OAAQ2sE,GAAG3vE,EAAI6R,EAAE,EAAI7O,GAAG,QAAQs1E,IAAI,OAAO,CAC7C,CACA,IAAIrL,GAAIgE,IAAK,KAAMpgE,GAAK,SAAS/P,EAAGd,EAAG,CAC5B,QAAAgD,EAAIhD,EAAE,OAAQgD,GAAKlC,EAAI,GAAKA,EAAId,EAAE,WAAW,EAAEgD,CAAC,EAClD,OAAAlC,CACT,EAAGswE,IAAK,SAAStwE,EAAG,CACX,OAAA+P,GAAGogE,IAAInwE,CAAC,CACjB,EACA,SAASg4E,IAAGh4E,EAAG,CACb,OAAO46B,GAAG01C,IAAGtwE,CAAC,IAAM,CAAC,CACvB,CACA,SAAS06B,IAAG16B,EAAG,CACgE,OAAAA,EAAE,aAAeA,EAAE,MAAQ,WAC1G,CACA,SAASusE,GAAGvsE,EAAG,CACN,cAAOA,GAAK,UAAa,EAClC,CACA,IAAIiwE,IAAK,OAAO,QAAU,YAAc,OAAO,IAAKQ,IAAKR,IAAK,OAAO,IAAI,YAAY,EAAI,MAAO4H,IAAK5H,IAAK,OAAO,IAAI,mBAAmB,EAAI,MAAOiI,IAAK,CAAE,kBAAmB,GAAI,YAAa,GAAI,aAAc,GAAI,aAAc,GAAI,YAAa,GAAI,gBAAiB,GAAI,yBAA0B,GAAI,yBAA0B,GAAI,OAAQ,GAAI,UAAW,GAAI,KAAM,IAAMP,IAAK,CAAE,KAAM,GAAI,OAAQ,GAAI,UAAW,GAAI,OAAQ,GAAI,OAAQ,GAAI,UAAW,GAAI,MAAO,IAAMzH,IAAK,CAAE,SAAU,GAAI,QAAS,GAAI,aAAc,GAAI,YAAa,GAAI,UAAW,GAAI,KAAM,EAAG,EAAGuH,MAAOtL,GAAK,IAAI0L,GAAE,EAAI,CAAE,SAAU,GAAI,OAAQ,GAAI,aAAc,GAAI,YAAa,GAAI,UAAW,IAAM1L,GAAGsE,GAAE,EAAIP,IAAI/D,IAClqB,SAASwC,GAAG3uE,EAAG,CACb,OAAQ,SAAWd,EAAIc,IAAMd,EAAE,KAAK,YAAcuxE,IAAKP,IAAK,aAAclwE,EAAIy3E,IAAGz3E,EAAE,QAAQ,EAAIk4E,IAC3F,IAAAh5E,CACN,CACA,IAAI44E,IAAK,OAAO,eAAgBF,IAAK,OAAO,oBAAqB9I,GAAK,OAAO,sBAAuB4I,IAAK,OAAO,yBAA0BO,IAAK,OAAO,eAAgBjJ,GAAK,OAAO,UAClL,SAASqB,IAAGrwE,EAAGd,EAAGgD,EAAG,CACf,UAAOhD,GAAK,SAAU,CACxB,GAAI8vE,GAAI,CACF,MAAIiJ,IAAG/4E,CAAC,EACZ,GAAK,IAAM8vE,IAAMqB,IAAGrwE,EAAG,EAAGkC,CAAC,EAEzB,IAAAxC,EAAIk4E,IAAG14E,CAAC,EACZ4vE,KAAOpvE,EAAIA,EAAE,OAAOovE,GAAG5vE,CAAC,CAAC,GACzB,QAASqpB,EAAIomD,GAAG3uE,CAAC,EAAGU,EAAIiuE,GAAGzvE,CAAC,EAAG4B,EAAI,EAAGA,EAAIpB,EAAE,OAAQ,EAAEoB,EAAG,CACnD,IAAAhC,EAAIY,EAAEoB,CAAC,EACX,GAAI,EAAEhC,KAAK64E,KAAMz1E,GAAKA,EAAEpD,CAAC,GAAK4B,GAAK5B,KAAK4B,GAAK6nB,GAAKzpB,KAAKypB,GAAI,CACrD,IAAAlpB,EAAIq4E,IAAGx4E,EAAGJ,CAAC,EACX,IACCg5E,IAAA93E,EAAGlB,EAAGO,CAAC,OACJ,EACR,CACF,CACF,CAEK,OAAAW,CACT,CACA,SAAS2Q,GAAG3Q,EAAG,CACb,OAAO,OAAOA,GAAK,UACrB,CACA,SAASqtE,GAAGrtE,EAAG,CACN,cAAOA,GAAK,UAAY,sBAAuBA,CACxD,CACA,SAASyP,GAAGzP,EAAGd,EAAG,CACT,OAAAc,GAAKd,EAAI,GAAG,OAAOc,EAAG,GAAG,EAAE,OAAOd,CAAC,EAAIc,GAAKd,GAAK,EAC1D,CACA,SAAS+vE,GAAGjvE,EAAGd,EAAG,CACZ,GAAAc,EAAE,SAAW,EAAU,SAC3B,QAASkC,EAAIlC,EAAE,CAAC,EAAG,EAAI,EAAG,EAAIA,EAAE,OAAQ,IAAUkC,GAAAlC,EAAE,CAAC,EAC9C,OAAAkC,CACT,CACA,SAAS2P,GAAG7R,EAAG,CACb,OAAOA,IAAM,MAAQ,OAAOA,GAAK,UAAYA,EAAE,YAAY,OAAS,OAAO,MAAQ,EAAE,UAAWA,GAAKA,EAAE,SACzG,CACA,SAAS0sE,GAAG1sE,EAAGd,EAAGgD,EAAG,CACnB,GAAIA,IAAM,SAAWA,EAAI,IAAK,CAACA,GAAK,CAAC2P,GAAG7R,CAAC,GAAK,CAAC,MAAM,QAAQA,CAAC,EAAU,OAAAd,EACpE,SAAM,QAAQA,CAAC,UAAY,EAAI,EAAG,EAAIA,EAAE,OAAQ,IAAOc,EAAA,CAAC,EAAI0sE,GAAG1sE,EAAE,CAAC,EAAGd,EAAE,CAAC,CAAC,UACpE2S,GAAG3S,CAAC,EAAG,QAAS,KAAKA,EAAGc,EAAE,CAAC,EAAI0sE,GAAG1sE,EAAE,CAAC,EAAGd,EAAE,CAAC,CAAC,EAC9C,OAAAc,CACT,CACA,SAAS6sE,GAAG7sE,EAAGd,EAAG,CAChB,OAAO,eAAec,EAAG,WAAY,CAAE,MAAOd,EAAG,CACnD,CAkDA,SAAS+S,GAAGjS,EAAG,CACb,QAASd,EAAI,CAAI,EAAAgD,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAOhD,EAAAgD,EAAI,CAAC,EAAI,UAAUA,CAAC,EACzE,OAA+C,IAAI,MAAM,0IAA0I,OAAOlC,EAAG,wBAAwB,EAAE,OAAOd,EAAE,OAAS,EAAI,UAAU,OAAOA,EAAE,KAAK,IAAI,CAAC,EAAI,EAAE,CAAC,CACnS,CACA,IAAIm5E,IAAK,UAAW,CAClB,SAASr4E,EAAEd,EAAG,CACP,gBAAa,IAAI,YAAY,GAAG,EAAG,KAAK,OAAS,IAAK,KAAK,IAAMA,CAAA,CAExE,OAAOc,EAAE,UAAU,aAAe,SAASd,EAAG,CACnC,QAAAgD,EAAI,EAAG,EAAI,EAAG,EAAIhD,EAAG,IAAKgD,GAAK,KAAK,WAAW,CAAC,EAClD,OAAAA,GACNlC,EAAE,UAAU,YAAc,SAASd,EAAGgD,EAAG,CACtC,GAAAhD,GAAK,KAAK,WAAW,OAAQ,CACtB,UAAI,KAAK,WAAYQ,EAAI,EAAE,OAAQ6oB,EAAI7oB,EAAGR,GAAKqpB,OAAUA,IAAM,GAAK,EAAS,MAAAtW,GAAG,GAAI,GAAG,OAAO/S,CAAC,CAAC,EACpG,gBAAa,IAAI,YAAYqpB,CAAC,EAAG,KAAK,WAAW,IAAI,CAAC,EAAG,KAAK,OAASA,EACnE,QAAA7nB,EAAIhB,EAAGgB,EAAI6nB,EAAG7nB,IAAU,gBAAWA,CAAC,EAAI,EAE1C,QAAAI,EAAI,KAAK,aAAa5B,EAAI,CAAC,EAAGJ,GAAK4B,EAAI,EAAGwB,EAAE,QAASxB,EAAI5B,EAAG4B,IAAK,KAAK,IAAI,WAAWI,EAAGoB,EAAExB,CAAC,CAAC,IAAM,KAAK,WAAWxB,CAAC,IAAK4B,IAChI,EAAAd,EAAE,UAAU,WAAa,SAASd,EAAG,CAClC,GAAAA,EAAI,KAAK,OAAQ,CACf,IAAAgD,EAAI,KAAK,WAAWhD,CAAC,EAAG,EAAI,KAAK,aAAaA,CAAC,EAAGQ,EAAI,EAAIwC,EACzD,gBAAWhD,CAAC,EAAI,EACZ,QAAAqpB,EAAI,EAAGA,EAAI7oB,EAAG6oB,IAAU,SAAI,WAAW,CAAC,EAElD,EAAAvoB,EAAE,UAAU,SAAW,SAASd,EAAG,CACpC,IAAIgD,EAAI,GACJ,GAAAhD,GAAK,KAAK,QAAU,KAAK,WAAWA,CAAC,IAAM,EAAU,OAAAgD,EACzD,QAAS,EAAI,KAAK,WAAWhD,CAAC,EAAGQ,EAAI,KAAK,aAAaR,CAAC,EAAGqpB,EAAI7oB,EAAI,EAAGgB,EAAIhB,EAAGgB,EAAI6nB,EAAG7nB,IAAUwB,GAAA,GAAG,OAAO,KAAK,IAAI,QAAQxB,CAAC,CAAC,EAAE,OAAOssE,EAAE,EAC/H,OAAA9qE,CAAA,EACNlC,CACL,IAAmBqS,OAAyB,IAAOg5D,GAAqB,IAAI,IAAO95D,GAAK,EAAGW,GAAK,SAASlS,EAAG,CAC1G,GAAIqS,GAAG,IAAIrS,CAAC,EAAU,OAAAqS,GAAG,IAAIrS,CAAC,EACvB,KAAAqrE,GAAG,IAAI95D,EAAE,GAAKA,KACrB,IAAIrS,EAAIqS,KAED,OAAAc,GAAG,IAAIrS,EAAGd,CAAC,EAAGmsE,GAAG,IAAInsE,EAAGc,CAAC,EAAGd,CACrC,EAAGs5E,IAAK,SAASx4E,EAAGd,EAAG,CAChBqS,GAAArS,EAAI,EAAGmT,GAAG,IAAIrS,EAAGd,CAAC,EAAGmsE,GAAG,IAAInsE,EAAGc,CAAC,CACvC,EAAGkpB,IAAK,SAAS,OAAOlZ,GAAI,IAAI,EAAE,OAAO+/D,IAAI,IAAI,EAAE,OAAOrE,GAAI,IAAI,EAAGgN,IAAK,IAAI,OAAO,IAAI,OAAO1oE,GAAI,8CAA8C,CAAC,EAAG+oE,IAAK,SAAS/4E,EAAGd,EAAGgD,EAAG,CAClK,UAAGxC,EAAIwC,EAAE,MAAM,GAAG,EAAGqmB,EAAI,EAAG7nB,EAAIhB,EAAE,OAAQ6oB,EAAI7nB,EAAG6nB,KAAM,EAAI7oB,EAAE6oB,CAAC,IAAMvoB,EAAE,aAAad,EAAG,CAAC,CAClG,EAAGy8E,IAAK,SAAS37E,EAAGd,EAAG,CACZ,QAAAgD,EAAG,IAAMA,EAAIhD,EAAE,eAAiB,MAAQgD,IAAM,OAASA,EAAI,IAAI,MAAM8qE,EAAE,EAAGttE,EAAI,CAAC,EAAG6oB,EAAI,EAAG7nB,EAAI,EAAE,OAAQ6nB,EAAI7nB,EAAG6nB,IAAK,CAC1H,IAAIznB,EAAI,EAAEynB,CAAC,EAAE,KAAK,EAClB,GAAIznB,EAAG,CACD,IAAAhC,EAAIgC,EAAE,MAAM43E,GAAE,EAClB,GAAI55E,EAAG,CACD,IAAAO,EAAI,EAAI,SAASP,EAAE,CAAC,EAAG,EAAE,EAAG2B,EAAI3B,EAAE,CAAC,EACjCO,IAAA,IAAMm5E,IAAG/3E,EAAGpB,CAAC,EAAG05E,IAAG/4E,EAAGS,EAAG3B,EAAE,CAAC,CAAC,EAAGkB,EAAE,OAAS,cAAYX,EAAGK,CAAC,GAAIA,EAAE,OAAS,OACzEA,EAAA,KAAKoB,CAAC,EACjB,CAEJ,EAAGuoB,GAAK,SAASrpB,EAAG,CAClB,QAASd,EAAI,SAAS,iBAAiBgqB,GAAE,EAAGhnB,EAAI,EAAG,EAAIhD,EAAE,OAAQgD,EAAI,EAAGA,IAAK,CACvE,IAAAxC,EAAIR,EAAEgD,CAAC,EACXxC,GAAKA,EAAE,aAAasQ,EAAE,IAAM6/D,MAAO8L,IAAG37E,EAAGN,CAAC,EAAGA,EAAE,YAAcA,EAAE,WAAW,YAAYA,CAAC,GAE3F,EACA,SAASs5E,KAAK,CACL,cAAO,kBAAoB,IAAM,kBAAoB,IAC9D,CACA,IAAItI,IAAK,SAAS1wE,EAAG,CACnB,IAAId,EAAI,SAAS,KAAMgD,EAAIlC,GAAKd,EAAG,EAAI,SAAS,cAAc,OAAO,EAAGQ,EAAI,SAASoB,EAAG,CAClF,IAAAhC,EAAI,MAAM,KAAKgC,EAAE,iBAAiB,SAAS,OAAOkP,GAAI,GAAG,CAAC,CAAC,EACxD,OAAAlR,EAAEA,EAAE,OAAS,CAAC,GACrBoD,CAAC,EAAGqmB,EAAI7oB,IAAM,OAASA,EAAE,YAAc,KACzC,EAAE,aAAasQ,GAAI6/D,GAAE,EAAG,EAAE,aAAaE,IAAIrE,EAAE,EAC7C,IAAIhrE,EAAIs4E,IAAG,EACJ,OAAAt4E,GAAK,EAAE,aAAa,QAASA,CAAC,EAAGwB,EAAE,aAAa,EAAGqmB,CAAC,EAAG,CAChE,EAAGowD,IAAK,UAAW,CACjB,SAAS34E,EAAEd,EAAG,CACZ,KAAK,QAAUwxE,IAAGxxE,CAAC,EAAG,KAAK,QAAQ,YAAY,SAAS,eAAe,EAAE,CAAC,EAAG,KAAK,MAAQ,SAASgD,EAAG,CAChG,GAAAA,EAAE,MAAO,OAAOA,EAAE,MACb,UAAI,SAAS,YAAaxC,EAAI,EAAG6oB,EAAI,EAAE,OAAQ7oB,EAAI6oB,EAAG7oB,IAAK,CAC9D,IAAAgB,EAAI,EAAEhB,CAAC,EACP,GAAAgB,EAAE,YAAcwB,EAAU,OAAAxB,CAAA,CAEhC,MAAMuR,GAAG,EAAE,CACX,OAAK,OAAO,EAAG,KAAK,OAAS,EAEjC,OAAOjS,EAAE,UAAU,WAAa,SAASd,EAAGgD,EAAG,CACzC,IACF,OAAO,KAAK,MAAM,WAAWA,EAAGhD,CAAC,EAAG,KAAK,SAAU,QAC7C,CACC,SAER,EAAAc,EAAE,UAAU,WAAa,SAASd,EAAG,CACtC,KAAK,MAAM,WAAWA,CAAC,EAAG,KAAK,QAC9B,EAAAc,EAAE,UAAU,QAAU,SAASd,EAAG,CACnC,IAAIgD,EAAI,KAAK,MAAM,SAAShD,CAAC,EAC7B,OAAOgD,GAAKA,EAAE,QAAUA,EAAE,QAAU,IACnClC,CACL,EAAE,EAAG44E,IAAK,UAAW,CACnB,SAAS54E,EAAEd,EAAG,CACP,aAAUwxE,IAAGxxE,CAAC,EAAG,KAAK,MAAQ,KAAK,QAAQ,WAAY,KAAK,OAAS,EAE5E,OAAOc,EAAE,UAAU,WAAa,SAASd,EAAGgD,EAAG,CAC7C,GAAIhD,GAAK,KAAK,QAAUA,GAAK,EAAG,CAC1B,MAAI,SAAS,eAAegD,CAAC,EAC1B,YAAK,QAAQ,aAAa,EAAG,KAAK,MAAMhD,CAAC,GAAK,IAAI,EAAG,KAAK,SAAU,GAEtE,QACN,EAAAc,EAAE,UAAU,WAAa,SAASd,EAAG,CACtC,KAAK,QAAQ,YAAY,KAAK,MAAMA,CAAC,CAAC,EAAG,KAAK,QAC7C,EAAAc,EAAE,UAAU,QAAU,SAASd,EAAG,CACnC,OAAOA,EAAI,KAAK,OAAS,KAAK,MAAMA,CAAC,EAAE,YAAc,IACpDc,CACL,EAAE,EAAGq5E,IAAK,UAAW,CACnB,SAASr5E,EAAEd,EAAG,CACZ,KAAK,MAAQ,GAAI,KAAK,OAAS,EAEjC,OAAOc,EAAE,UAAU,WAAa,SAASd,EAAGgD,EAAG,CACtC,OAAAhD,GAAK,KAAK,SAAW,KAAK,MAAM,OAAOA,EAAG,EAAGgD,CAAC,EAAG,KAAK,SAAU,GACtE,EAAAlC,EAAE,UAAU,WAAa,SAASd,EAAG,CACtC,KAAK,MAAM,OAAOA,EAAG,CAAC,EAAG,KAAK,QAC7B,EAAAc,EAAE,UAAU,QAAU,SAASd,EAAG,CACnC,OAAOA,EAAI,KAAK,OAAS,KAAK,MAAMA,CAAC,EAAI,IACxCc,CACL,IAAK4uE,GAAK98D,GAAIqqE,IAAK,CAAE,SAAU,CAACrqE,GAAI,kBAAmB,CAACslE,GAAG,EAAG7G,IAAK,UAAW,CACnE,SAAAvwE,EAAEd,EAAGgD,EAAG,EAAG,CAClBhD,IAAM,SAAWA,EAAI8R,IAAK9O,IAAM,SAAWA,EAAI,IAC/C,IAAIxC,EAAI,KACR,KAAK,QAAUgC,GAAEA,GAAE,CAAC,EAAGy6E,GAAE,EAAGj9E,CAAC,EAAG,KAAK,GAAKgD,EAAG,KAAK,MAAQ,IAAI,IAAI,CAAC,EAAG,KAAK,OAAS,CAAC,CAAChD,EAAE,SAAU,CAAC,KAAK,QAAU4S,IAAM88D,KAAOA,GAAK,GAAIvlD,GAAG,IAAI,GAAIwjD,GAAG,KAAM,UAAW,CACrK,OAAO,SAAStkD,EAAG,CACR,QAAA7nB,EAAI6nB,EAAE,OAAU,EAAAznB,EAAIJ,EAAE,OAAQ5B,EAAI,GAAIO,EAAI,SAASuB,EAAG,CACzD,IAAAxB,EAAI,SAASQ,EAAG,CACX,OAAAyrE,GAAG,IAAIzrE,CAAC,GACfgB,CAAC,EACC,GAAAxB,IAAM,OAAe,iBACrB,IAAAkC,EAAIinB,EAAE,MAAM,IAAInpB,CAAC,EAAG6B,EAAIP,EAAE,SAASE,CAAC,EACpC,GAAAU,IAAM,QAAU,CAACA,EAAE,MAAQL,EAAE,SAAW,EAAU,iBACtD,IAAID,EAAI,GAAG,OAAOgP,GAAI,IAAI,EAAE,OAAOpP,EAAG,OAAO,EAAE,OAAOxB,EAAG,IAAI,EAAGoB,EAAI,GACpEc,IAAM,QAAUA,EAAE,QAAQ,SAAS1B,EAAG,CACpCA,EAAE,OAAS,IAAMY,GAAK,GAAG,OAAOZ,EAAG,GAAG,GACvC,EAAGd,GAAK,GAAG,OAAOmC,CAAC,EAAE,OAAOD,EAAG,YAAY,EAAE,OAAOR,EAAG,IAAI,EAAE,OAAOwsE,EAAE,GACtEvsE,EAAI,EAAGA,EAAIK,EAAGL,MAAOA,CAAC,EAClB,OAAA3B,GACPY,CAAC,EACJ,EAEI,OAAAM,EAAE,WAAa,SAASd,EAAG,CAChC,OAAOgT,GAAGhT,CAAC,GACVc,EAAE,UAAU,UAAY,UAAW,CACpC,CAAC,KAAK,QAAU8R,IAAMuX,GAAG,IAAI,GAC5BrpB,EAAE,UAAU,uBAAyB,SAASd,EAAGgD,EAAG,CAC9C,OAAAA,IAAM,SAAWA,EAAI,IAAK,IAAIlC,EAAE0B,GAAEA,GAAE,CAAC,EAAG,KAAK,OAAO,EAAGxC,CAAC,EAAG,KAAK,GAAIgD,GAAK,KAAK,OAAS,MAAM,CACnG,EAAAlC,EAAE,UAAU,mBAAqB,SAASd,EAAG,CACvC,YAAK,GAAGA,CAAC,GAAK,KAAK,GAAGA,CAAC,GAAK,GAAK,GACvCc,EAAE,UAAU,OAAS,UAAW,CACjC,OAAO,KAAK,MAAQ,KAAK,KAAOd,EAAI,SAASgD,EAAG,CAC9C,IAAI,EAAIA,EAAE,kBAAmBxC,EAAIwC,EAAE,OACnC,OAAOA,EAAE,SAAW,IAAIm3E,IAAG35E,CAAC,EAAI,EAAI,IAAIi5E,IAAGj5E,CAAC,EAAI,IAAIk5E,IAAGl5E,CAAC,GACxD,KAAK,OAAO,EAAG,IAAI24E,IAAGn5E,CAAC,IACrB,IAAAA,GACHc,EAAE,UAAU,aAAe,SAASd,EAAGgD,EAAG,CACpC,YAAK,MAAM,IAAIhD,CAAC,GAAK,KAAK,MAAM,IAAIA,CAAC,EAAE,IAAIgD,CAAC,GAClDlC,EAAE,UAAU,aAAe,SAASd,EAAGgD,EAAG,CAC3C,GAAIgQ,GAAGhT,CAAC,EAAG,KAAK,MAAM,IAAIA,CAAC,EAAG,KAAK,MAAM,IAAIA,CAAC,EAAE,IAAIgD,CAAC,MAChD,CACC,UAAwB,IAC5B,EAAE,IAAIA,CAAC,EAAG,KAAK,MAAM,IAAIhD,EAAG,CAAC,EAC/B,EACCc,EAAE,UAAU,YAAc,SAASd,EAAGgD,EAAG,EAAG,CACxC,kBAAahD,EAAGgD,CAAC,EAAG,KAAK,OAAO,EAAE,YAAYgQ,GAAGhT,CAAC,EAAG,CAAC,CAC1D,EAAAc,EAAE,UAAU,WAAa,SAASd,EAAG,CACjC,WAAM,IAAIA,CAAC,GAAK,KAAK,MAAM,IAAIA,CAAC,EAAE,MAAM,CAC5C,EAAAc,EAAE,UAAU,WAAa,SAASd,EAAG,CACjC,cAAS,WAAWgT,GAAGhT,CAAC,CAAC,EAAG,KAAK,WAAWA,CAAC,GACjDc,EAAE,UAAU,SAAW,UAAW,CACnC,KAAK,IAAM,QACVA,CACL,EAAE,EAAG47E,IAAK,KAAMtC,IAAK,gBACrB,SAAS1I,IAAG5wE,EAAGd,EAAG,CACT,OAAAc,EAAE,IAAI,SAASkC,EAAG,CACvB,OAAOA,EAAE,OAAS,SAAWA,EAAE,MAAQ,GAAG,OAAOhD,EAAG,GAAG,EAAE,OAAOgD,EAAE,KAAK,EAAGA,EAAE,MAAQA,EAAE,MAAM,WAAW,IAAK,IAAI,OAAOhD,EAAG,GAAG,CAAC,EAAGgD,EAAE,MAAQA,EAAE,MAAM,IAAI,SAAS,EAAG,CACjK,MAAO,GAAG,OAAOhD,EAAG,GAAG,EAAE,OAAO,CAAC,EAClC,GAAI,MAAM,QAAQgD,EAAE,QAAQ,GAAKA,EAAE,OAAS,eAAiBA,EAAE,SAAW0uE,IAAG1uE,EAAE,SAAUhD,CAAC,GAAIgD,CAAA,CAChG,CACH,CACA,SAASq3E,IAAGv5E,EAAG,CACT,IAAAd,EAAGgD,EAAG,EAAGxC,EAAIsR,GAAIuX,EAAI7oB,EAAE,QAASgB,EAAI6nB,IAAM,OAASvX,GAAKuX,EAAGznB,EAAIpB,EAAE,QAASZ,EAAIgC,IAAM,OAASsqE,GAAKtqE,EAAGzB,EAAI,SAASD,EAAGkC,EAAGL,EAAG,CAC7H,OAAOA,EAAE,WAAWiB,CAAC,GAAKjB,EAAE,SAASiB,CAAC,GAAKjB,EAAE,WAAWiB,EAAG,EAAE,EAAE,OAAS,EAAI,IAAI,OAAOhD,CAAC,EAAIE,CAAA,EAC3FqB,EAAI3B,EAAE,MAAM,EACb2B,EAAA,KAAK,SAASrB,EAAG,CACfA,EAAA,OAAS+rE,IAAM/rE,EAAE,MAAM,SAAS,GAAG,IAAMA,EAAE,MAAM,CAAC,EAAIA,EAAE,MAAM,CAAC,EAAE,QAAQw8E,IAAI15E,CAAC,EAAE,QAAQ,EAAG7C,CAAC,GAC/F,EAAGqB,EAAE,QAAUD,EAAE,KAAK82E,GAAE,EAAG92E,EAAE,KAAKq2E,GAAE,EACrC,IAAIl2E,EAAI,SAASxB,EAAGkC,EAAGL,EAAGD,EAAG,CACrBM,IAAA,SAAWA,EAAI,IAAKL,IAAM,SAAWA,EAAI,IAAKD,IAAM,SAAWA,EAAI,KAAM9B,EAAI8B,EAAGkB,EAAIZ,EAAG,EAAI,IAAI,OAAO,KAAK,OAAOY,EAAG,KAAK,EAAG,GAAG,EAClI,IAAA1B,EAAIpB,EAAE,QAAQk6E,IAAI,EAAE,EAAG15E,EAAIg3E,IAAG31E,GAAKK,EAAI,GAAG,OAAOL,EAAG,GAAG,EAAE,OAAOK,EAAG,KAAK,EAAE,OAAOd,EAAG,IAAI,EAAIA,CAAC,EACjGE,EAAE,YAAcd,EAAIgxE,IAAGhxE,EAAGc,EAAE,SAAS,GACrC,IAAI,EAAI,CAAC,EACT,OAAO6R,GAAG3S,EAAGu3E,IAAG12E,EAAE,OAAOk2E,IAAG,SAASr3E,EAAG,CAC/B,SAAE,KAAKA,CAAC,EAChB,CAAC,CAAC,CAAC,EAAG,CACT,EACO,OAAAsB,EAAE,KAAO9B,EAAE,OAASA,EAAE,OAAO,SAASM,EAAGkC,EAAG,CAC1C,OAAAA,EAAE,MAAQ2Q,GAAG,EAAE,EAAGlC,GAAG3Q,EAAGkC,EAAE,IAAI,CACpC,EAAA6uE,GAAE,EAAE,WAAa,GAAIvvE,CAC1B,CACA,IAAIs4E,IAAK,IAAI3I,IAAMrD,GAAKqM,MAAMnJ,IAAKzgE,GAAG,cAAc,CAAE,kBAAmB,OAAQ,WAAYupE,IAAI,OAAQhM,GAAI,EAC7GkD,IAAG,SACHzgE,GAAG,cAAc,MAAM,EACvB,SAASo/D,IAAK,CACZ,OAAO2G,aAAGtF,GAAE,CACd,CACA,IAAIb,IAAK,UAAW,CACT,SAAAvvE,EAAEd,EAAGgD,EAAG,CACf,IAAI,EAAI,KACH,YAAS,SAASxC,EAAG6oB,EAAG,CAC3BA,IAAM,SAAWA,EAAI2kD,IACjB,IAAAxsE,EAAI,EAAE,KAAO6nB,EAAE,KACnB7oB,EAAE,aAAa,EAAE,GAAIgB,CAAC,GAAKhB,EAAE,YAAY,EAAE,GAAIgB,EAAG6nB,EAAE,EAAE,MAAO7nB,EAAG,YAAY,CAAC,GAC5E,KAAK,KAAOxB,EAAG,KAAK,GAAK,gBAAgB,OAAOA,CAAC,EAAG,KAAK,MAAQgD,EAAG2qE,GAAG,KAAM,UAAW,CACzF,MAAM56D,GAAG,GAAI,OAAO,EAAE,IAAI,CAAC,EAC5B,EAEH,OAAOjS,EAAE,UAAU,QAAU,SAASd,EAAG,CACvC,OAAOA,IAAM,SAAWA,EAAIguE,IAAK,KAAK,KAAOhuE,EAAE,MAC9Cc,CACL,IAAKy5E,IAAK,SAASz5E,EAAG,CACb,OAAAA,GAAK,KAAOA,GAAK,GAC1B,EACA,SAASovE,GAAGpvE,EAAG,CACb,QAASd,EAAI,GAAIgD,EAAI,EAAGA,EAAIlC,EAAE,OAAQkC,IAAK,CACrC,MAAIlC,EAAEkC,CAAC,EACP,GAAAA,IAAM,GAAK,IAAM,KAAOlC,EAAE,CAAC,IAAM,IAAY,OAAAA,EACjDy5E,IAAG,CAAC,EAAIv6E,GAAK,IAAM,EAAE,cAAgBA,GAAK,EAE5C,OAAOA,EAAE,WAAW,KAAK,EAAI,IAAMA,EAAIA,CACzC,CACA,IAAI8xE,IAAK,SAAShxE,EAAG,CACnB,OAAOA,GAAK,MAAQA,IAAM,IAAMA,IAAM,EACxC,EAAG8wE,IAAK,SAAS9wE,EAAG,CACd,IAAAd,EAAGgD,EAAG,EAAI,CAAC,EACf,QAASxC,KAAKM,EAAG,CACX,IAAAuoB,EAAIvoB,EAAEN,CAAC,EACTM,EAAA,eAAeN,CAAC,GAAK,CAACsxE,IAAGzoD,CAAC,IAAM,MAAM,QAAQA,CAAC,GAAKA,EAAE,OAAS5X,GAAG4X,CAAC,EAAI,EAAE,KAAK,GAAG,OAAO6mD,GAAG1vE,CAAC,EAAG,GAAG,EAAG6oB,EAAG,GAAG,EAAI1W,GAAG0W,CAAC,EAAI,EAAE,KAAK,MAAM,EAAGxW,GAAGA,GAAG,CAAC,GAAG,OAAOrS,EAAG,IAAI,CAAC,EAAGoxE,IAAGvoD,CAAC,EAAG,EAAE,EAAG,CAAC,GAAG,EAAG,EAAE,CAAC,EAAI,EAAE,KAAK,GAAG,OAAO6mD,GAAG1vE,CAAC,EAAG,IAAI,EAAE,QAAQR,EAAIQ,GAAIwC,EAAIqmB,IAAM,MAAQ,OAAOrmB,GAAK,WAAaA,IAAM,GAAK,GAAK,OAAOA,GAAK,UAAYA,IAAM,GAAKhD,KAAKm4E,KAAMn4E,EAAE,WAAW,IAAI,EAAI,OAAOgD,CAAC,EAAE,OAAS,GAAG,OAAOA,EAAG,IAAI,GAAI,GAAG,CAAC,GAElZ,QACT,EACA,SAASqN,GAAGvP,EAAGd,EAAGgD,EAAG,EAAG,CACtB,GAAI8uE,IAAGhxE,CAAC,EAAG,MAAO,CAAC,EACf,GAAAqtE,GAAGrtE,CAAC,EAAG,MAAO,CAAC,IAAI,OAAOA,EAAE,iBAAiB,CAAC,EAC9C,GAAA2Q,GAAG3Q,CAAC,EAAG,CACT,GAAI,CAAC2Q,GAAG4X,EAAIvoB,CAAC,GAAKuoB,EAAE,WAAaA,EAAE,UAAU,kBAAoB,CAACrpB,EAAG,MAAO,CAACc,CAAC,EAC1E,IAAAN,EAAIM,EAAEd,CAAC,EACX,OAA2VqQ,GAAG7P,EAAGR,EAAGgD,EAAG,CAAC,EAEtW,IAAAqmB,EACJ,OAAOvoB,aAAauvE,IAAKrtE,GAAKlC,EAAE,OAAOkC,EAAG,CAAC,EAAG,CAAClC,EAAE,QAAQ,CAAC,CAAC,GAAK,CAACA,CAAC,EAAI6R,GAAG7R,CAAC,EAAI8wE,IAAG9wE,CAAC,EAAI,MAAM,QAAQA,CAAC,EAAI,MAAM,UAAU,OAAO,MAAMorE,GAAIprE,EAAE,IAAI,SAASU,EAAG,CAC1J,OAAO6O,GAAG7O,EAAGxB,EAAGgD,EAAG,CAAC,CACrB,EAAC,EAAI,CAAClC,EAAE,UAAU,CACrB,CACA,SAASw5E,IAAGx5E,EAAG,CACb,QAASd,EAAI,EAAGA,EAAIc,EAAE,OAAQd,GAAK,EAAG,CAChC,IAAAgD,EAAIlC,EAAEd,CAAC,EACX,GAAIyR,GAAGzO,CAAC,GAAK,CAACmrE,GAAGnrE,CAAC,EAAU,SAEvB,QACT,CACA,IAAI03E,IAAKtJ,IAAG5E,EAAE,EAAG0N,IAAK,UAAW,CACtB,SAAAp5E,EAAEd,EAAGgD,EAAG,EAAG,CAClB,KAAK,MAAQhD,EAAG,KAAK,cAAgB,GAAI,KAAK,UAAqD,IAAM,QAAU,EAAE,WAAas6E,IAAGt6E,CAAC,EAAG,KAAK,YAAcgD,EAAG,KAAK,SAAW6N,GAAG6pE,IAAI13E,CAAC,EAAG,KAAK,UAAY,EAAGquE,IAAG,WAAWruE,CAAC,EAE/N,OAAOlC,EAAE,UAAU,wBAA0B,SAASd,EAAGgD,EAAG,EAAG,CACzD,IAAAxC,EAAI,KAAK,UAAY,KAAK,UAAU,wBAAwBR,EAAGgD,EAAG,CAAC,EAAI,GAC3E,GAAI,KAAK,UAAY,CAAC,EAAE,KAAM,GAAI,KAAK,eAAiBA,EAAE,aAAa,KAAK,YAAa,KAAK,aAAa,IAAOuN,GAAG/P,EAAG,KAAK,aAAa,MACrI,CACH,IAAI6oB,EAAI0mD,GAAG1/D,GAAG,KAAK,MAAOrQ,EAAGgD,EAAG,CAAC,CAAC,EAAGxB,EAAIk6B,GAAG7qB,GAAG,KAAK,SAAUwY,CAAC,IAAM,CAAC,EACtE,GAAI,CAACrmB,EAAE,aAAa,KAAK,YAAaxB,CAAC,EAAG,CACpC,IAAAI,EAAI,EAAEynB,EAAG,IAAI,OAAO7nB,CAAC,EAAG,OAAQ,KAAK,WAAW,EACpDwB,EAAE,YAAY,KAAK,YAAaxB,EAAGI,CAAC,EAEtCpB,EAAI+P,GAAG/P,EAAGgB,CAAC,EAAG,KAAK,cAAgBA,CAAA,KAEhC,CACH,QAAS5B,EAAIiR,GAAG,KAAK,SAAU,EAAE,IAAI,EAAG1Q,EAAI,GAAIoB,EAAI,EAAGA,EAAI,KAAK,MAAM,OAAQA,IAAK,CAC7E,IAAAG,EAAI,KAAK,MAAMH,CAAC,EACpB,GAAI,OAAOG,GAAK,SAAUvB,GAAKuB,UACtBA,EAAG,CACV,IAAIxB,EAAI6vE,GAAG1/D,GAAG3O,EAAG1B,EAAGgD,EAAG,CAAC,CAAC,EACzBpD,EAAIiR,GAAGjR,EAAGM,EAAIqB,CAAC,EAAGpB,GAAKD,CAAA,CACzB,CAEF,GAAIC,EAAG,CACD,IAAAiC,EAAIs5B,GAAG97B,IAAM,CAAC,EAChBoD,EAAA,aAAa,KAAK,YAAaZ,CAAC,GAAKY,EAAE,YAAY,KAAK,YAAaZ,EAAG,EAAEjC,EAAG,IAAI,OAAOiC,CAAC,EAAG,OAAQ,KAAK,WAAW,CAAC,EAAG5B,EAAI+P,GAAG/P,EAAG4B,CAAC,EACvI,CAEK,OAAA5B,CAAA,EACNM,CACL,IAAK6wE,IAAKlhE,GAAG,cAAc,MAAM,EACjCkhE,IAAG,SACH,IAAI9E,GAAK,CAAI,EACb,SAAS2N,IAAG15E,EAAGd,EAAGgD,EAAG,CACf,MAAImrE,GAAGrtE,CAAC,EAAGN,EAAIM,EAAGuoB,EAAI,CAACgkD,GAAGvsE,CAAC,EAAGU,EAAIxB,EAAE,MAAO4B,EAAIJ,IAAM,OAAS0qE,GAAK1qE,EAAG5B,EAAII,EAAE,YAAaG,EAAIP,IAAM,OAAS,SAASyC,EAAGnB,EAAG,CAC7H,IAAIN,EAAI,OAAOyB,GAAK,SAAW,KAAO+sE,GAAG/sE,CAAC,EAC1CwqE,GAAGjsE,CAAC,GAAKisE,GAAGjsE,CAAC,GAAK,GAAK,EACvB,IAAIiB,EAAI,GAAG,OAAOjB,EAAG,GAAG,EAAE,OAAOk4E,IAAGtM,GAAK5rE,EAAIisE,GAAGjsE,CAAC,CAAC,CAAC,EAC5C,OAAAM,EAAI,GAAG,OAAOA,EAAG,GAAG,EAAE,OAAOW,CAAC,EAAIA,CACzC,EAAA7B,EAAE,YAAaA,EAAE,iBAAiB,EAAIJ,EAAG2B,EAAIvB,EAAE,YAAa0B,EAAIH,IAAM,OAAS,SAASc,EAAG,CAC3F,OAAOgrE,GAAGhrE,CAAC,EAAI,UAAU,OAAOA,CAAC,EAAI,UAAU,OAAOm5B,IAAGn5B,CAAC,EAAG,GAAG,GAChEvB,CAAC,EAAIS,EAAGrB,EAAIF,EAAE,aAAeA,EAAE,YAAc,GAAG,OAAOovE,GAAGpvE,EAAE,WAAW,EAAG,GAAG,EAAE,OAAOA,EAAE,WAAW,EAAIA,EAAE,aAAeG,EAAGiC,EAAI,GAAK5B,EAAE,MAAQA,EAAE,MAAM,OAAOoB,CAAC,EAAE,OAAO,OAAO,EAAIA,EAAGG,EAAI/B,EAAE,kBACzL,MAAKQ,EAAE,kBAAmB,CAC5B,IAAIsB,EAAItB,EAAE,kBACV,GAAIR,EAAE,kBAAmB,CACvB,IAAIsB,EAAItB,EAAE,kBACN+B,EAAA,SAASM,EAAGnB,EAAG,CACjB,OAAOY,EAAEO,EAAGnB,CAAC,GAAKI,EAAEe,EAAGnB,CAAC,CAC1B,OACSa,EAAAD,CAAA,CAET,IAAApB,EAAI,IAAIw5E,IAAGl3E,EAAG9C,EAAG,EAAIM,EAAE,eAAiB,MAAM,EACzC,WAAE6B,EAAGnB,EAAG,CACR,gBAASN,EAAGiB,EAAGqjB,EAAG,CACvB,IAAIhjB,EAAItB,EAAE,MAAOyrE,EAAKzrE,EAAE,eAAgBksE,EAAKlsE,EAAE,aAAc2R,EAAK3R,EAAE,mBAAoBqkB,EAAIrkB,EAAE,kBAAmB0P,EAAK1P,EAAE,OAAQwP,EAAKK,GAAG,WAAWkhE,GAAE,EAAGhgE,EAAKk+D,GAAG,EAAGr/D,EAAK5P,EAAE,mBAAqB+Q,EAAG,kBAE9LC,EAAKomE,IAAGn2E,EAAGuO,EAAI08D,CAAE,GAAKh7D,GAAI,EAAI,SAASP,GAAIF,GAAInB,EAAI,CAC5C,QAAAjP,GAAG,EAAIuB,GAAEA,GAAE,GAAI6O,EAAE,EAAG,CAAE,UAAW,OAAQ,MAAOnB,CAAA,CAAI,EAAGQ,GAAK,EAAGA,GAAKa,GAAG,OAAQb,IAAM,EAAG,CAC3F,IAAAP,GAAKsB,GAAGxQ,GAAIsQ,GAAGb,EAAE,CAAC,EAAIzP,GAAE,CAAC,EAAIA,GACjC,QAASG,MAAK+O,GAAM,EAAA/O,EAAC,EAAIA,KAAM,YAAcmP,GAAG,EAAEnP,EAAC,EAAG+O,GAAG/O,EAAC,CAAC,EAAIA,KAAM,QAAUoB,GAAEA,GAAE,CAAC,EAAG,EAAEpB,EAAC,CAAC,EAAG+O,GAAG/O,EAAC,CAAC,EAAI+O,GAAG/O,EAAC,EAEtG,OAAAiQ,GAAG,YAAc,EAAE,UAAYd,GAAG,EAAE,UAAWc,GAAG,SAAS,GAAI,GACtEnP,EAAGL,EAAG+P,CAAE,EAAGb,EAAK,EAAE,IAAMT,EAAIU,EAAK,CAAC,EACpC,QAAS3P,KAAK,EAAK,EAAAA,CAAC,IAAM,QAAUA,EAAE,CAAC,IAAM,KAAOA,IAAM,MAAQA,IAAM,SAAW,EAAE,QAAUuQ,IAAOvQ,IAAM,cAAgB2P,EAAG,GAAK,EAAE,YAAcR,GAAM,CAACA,EAAGnP,EAAG0P,CAAE,IAAMC,EAAG3P,CAAC,EAAI,EAAEA,CAAC,IAChL,IAAAqQ,EAAK,SAASH,GAAIF,GAAI,CACpB,IAAAnB,EAAK2/D,KAAM5uE,GAAIsQ,GAAG,wBAAwBF,GAAInB,EAAG,WAAYA,EAAG,MAAM,EAC1E,OAAuDjP,EAAA,EACvDorE,EAAI,CAAC,EAEHj6D,EAAK7B,GAAGgC,EAAI0S,CAAC,EACjB,OAAOvT,IAAOU,GAAM,IAAMV,GAAK,EAAE,YAAcU,GAAM,IAAM,EAAE,WAAYpB,EAAGq8D,GAAGt8D,CAAE,GAAK,CAAC88D,IAAG,IAAI98D,CAAE,EAAI,QAAU,WAAW,EAAIqB,EAAIpB,EAAG,IAAMkU,EAAGwxD,gBAAG3lE,EAAIC,CAAE,GACtJ5Q,EAAGiC,EAAGnB,CAAC,EAEX,EAAE,YAAcQ,EACZ,IAAAtB,EAAIqQ,GAAG,WAAW,CAAC,EACvB,OAAOrQ,EAAE,MAAQgC,EAAGhC,EAAE,eAAiBM,EAAGN,EAAE,YAAcsB,EAAGtB,EAAE,kBAAoB2B,EAAG3B,EAAE,mBAAqB,EAAImQ,GAAG/P,EAAE,mBAAoBA,EAAE,iBAAiB,EAAI,GAAIJ,EAAE,kBAAoBF,EAAGE,EAAE,OAAS,EAAII,EAAE,OAASM,EAAG,OAAO,eAAeV,EAAG,eAAgB,CAAE,IAAK,UAAW,CACpR,OAAO,KAAK,qBACX,IAAK,SAASiC,EAAG,CACb,yBAAsB,EAAI,SAASnB,EAAG,CACzC,QAASN,EAAI,CAAI,EAAAiB,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAOjB,EAAAiB,EAAI,CAAC,EAAI,UAAUA,CAAC,EACzE,QAASqjB,EAAI,EAAGhjB,EAAItB,EAAGskB,EAAIhjB,EAAE,OAAQgjB,IAAQsoD,GAAAtsE,EAAGgB,EAAEgjB,CAAC,EAAG,EAAE,EACjD,OAAAhkB,GACP,CAAC,EAAGV,EAAE,aAAc6B,CAAC,EAAIA,CAAA,EAC1B,EAiBOsrE,GAAGvtE,EAAG,UAAW,CAClB,UAAI,OAAOA,EAAE,iBAAiB,EACtC,EAAGipB,GAAK8nD,IAAG/wE,EAAGU,EAAG,CAAE,MAAO,GAAI,eAAgB,GAAI,YAAa,GAAI,mBAAoB,GAAI,kBAAmB,GAAI,kBAAmB,GAAI,OAAQ,EAAI,GAAGV,CAC3J,CACA,SAASkwE,GAAGxvE,EAAGd,EAAG,CACP,QAAAgD,EAAI,CAAClC,EAAE,CAAC,CAAC,EAAG,EAAI,EAAGN,EAAIR,EAAE,OAAQ,EAAIQ,EAAG,GAAK,EAAGwC,EAAE,KAAKhD,EAAE,CAAC,EAAGc,EAAE,EAAI,CAAC,CAAC,EACvE,OAAAkC,CACT,CACA,IAAIutE,GAAK,SAASzvE,EAAG,CACnB,OAAO,OAAO,OAAOA,EAAG,CAAE,MAAO,GAAI,CACvC,EACA,SAAS87E,IAAG97E,EAAG,CACb,QAASd,EAAI,CAAI,EAAAgD,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAOhD,EAAAgD,EAAI,CAAC,EAAI,UAAUA,CAAC,EACzE,GAAIyO,GAAG3Q,CAAC,GAAK6R,GAAG7R,CAAC,SAAUyvE,GAAGlgE,GAAGigE,GAAGpE,GAAIr5D,GAAG,CAAC/R,CAAC,EAAGd,EAAG,EAAE,CAAC,CAAC,CAAC,EACxD,IAAI,EAAIc,EACD,OAAAd,EAAE,SAAW,GAAK,EAAE,SAAW,GAAK,OAAO,EAAE,CAAC,GAAK,SAAWqQ,GAAG,CAAC,EAAIkgE,GAAGlgE,GAAGigE,GAAG,EAAGtwE,CAAC,CAAC,CAAC,CAC9F,CACA,SAASytE,GAAG3sE,EAAGd,EAAGgD,EAAG,CACf,GAAAA,IAAM,SAAWA,EAAI8O,IAAK,CAAC9R,EAAG,MAAM+S,GAAG,EAAG/S,CAAC,EAC3C,MAAI,SAASQ,EAAG,CAClB,QAAS6oB,EAAI,CAAI,EAAA7nB,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAO6nB,EAAA7nB,EAAI,CAAC,EAAI,UAAUA,CAAC,EACzE,OAAOV,EAAEd,EAAGgD,EAAG45E,IAAG,MAAM,OAAQ/pE,GAAG,CAACrS,CAAC,EAAG6oB,EAAG,EAAE,CAAC,CAAC,CACjD,EACO,SAAE,MAAQ,SAAS7oB,EAAG,CACpB,OAAAitE,GAAG3sE,EAAGd,EAAGwC,GAAEA,GAAE,CAAC,EAAGQ,CAAC,EAAG,CAAE,MAAO,MAAM,UAAU,OAAOA,EAAE,MAAOxC,CAAC,EAAE,OAAO,OAAO,CAAE,CAAC,CAAC,GACzF,EAAE,WAAa,SAASA,EAAG,CACrB,OAAAitE,GAAG3sE,EAAGd,EAAGwC,GAAEA,GAAE,GAAIQ,CAAC,EAAGxC,CAAC,CAAC,GAC7B,CACL,CACA,IAAIswE,IAAK,SAAShwE,EAAG,CACZ,OAAA2sE,GAAG+M,IAAI15E,CAAC,CACjB,EAAG+7E,GAAK/L,IACRjD,IAAG,QAAQ,SAAS/sE,EAAG,CAClB+7E,GAAA/7E,CAAC,EAAIgwE,IAAGhwE,CAAC,CACd,CAAC,ECtqDSN,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAFgB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAZ,IAAIxB,GAAI,CAAE,EACV,QAAS4yB,GAAI,EAAGA,GAAI,IAAK,EAAEA,GACzB5yB,GAAE,MAAM4yB,GAAI,KAAK,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,EACxC,SAAStJ,IAAEzpB,EAAGI,EAAI,EAAG,CACnB,OAAQD,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAID,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAID,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAID,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAI,IAAMD,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAID,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAI,IAAMD,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAID,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAI,IAAMD,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAID,GAAEH,EAAEI,EAAI,CAAC,CAAC,EAAI,IAAMD,GAAEH,EAAEI,EAAI,EAAE,CAAC,EAAID,GAAEH,EAAEI,EAAI,EAAE,CAAC,EAAID,GAAEH,EAAEI,EAAI,EAAE,CAAC,EAAID,GAAEH,EAAEI,EAAI,EAAE,CAAC,EAAID,GAAEH,EAAEI,EAAI,EAAE,CAAC,EAAID,GAAEH,EAAEI,EAAI,EAAE,CAAC,GAAG,YAAa,CACpR,CACA,IAAIsB,GAAGzB,IAAI,IAAI,WAAW,EAAE,EAC5B,SAAS+B,KAAI,CACX,GAAI,CAACN,KAAMA,GAAI,OAAO,OAAS,KAAO,OAAO,iBAAmB,OAAO,gBAAgB,KAAK,MAAM,EAAG,CAACA,IACpG,MAAM,IAAI,MAAM,0GAA0G,EAC5H,OAAOA,GAAEzB,GAAC,CACZ,CACA,IAAIO,IAAI,OAAO,OAAS,KAAO,OAAO,YAAc,OAAO,WAAW,KAAK,MAAM,EACjF,MAAM2C,GAAI,CACR,WAAY3C,GACd,EACA,SAASiC,IAAEzC,EAAGI,EAAG0B,EAAG,CAClB,GAAIqB,GAAE,YAAoB,CAACnD,EACzB,OAAOmD,GAAE,WAAY,EACvBnD,EAAIA,GAAK,CAAE,EACX,IAAIiB,EAAIjB,EAAE,SAAWA,EAAE,KAAOgC,KAAI,EAClC,OAAOf,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAI,GAAK,GAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAI,GAAK,IAAKwoB,IAAExoB,CAAC,CAC3D,CACA,SAASlB,KAAI,CACX,KAAM,CAACC,EAAGI,CAAC,EAAIuB,WAAE,EAAE,EACnB,OAAOhB,EAAC,UAAC,IAAM,CACbP,EAAEqC,IAAC,CAAE,CACT,EAAK,EAAE,EAAGzC,CACV,CC1BA,MAAMgB,IAAIW,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBTpB,IAAIoB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,EAaNG,IAAIH,GAAE;AAAA;AAAA,EAENC,IAAI,CAAC,CAAE,QAASmxB,CAAG,IAAqB9xB,GAAE,IAC3CV,IACA,CACE,MAAO,KACP,OAAQ,KACR,QAAS,YACT,MAAO,6BACP,KAAMwyB,EAAI,eAAiB,cAC3B,SAA0B9xB,GAAE,IAC1B,OACA,CACE,SAAU,UACV,SAAU,UACV,EAAG,oFACX,CACA,CACA,CACA,EAAGX,IAAI,IAAsBW,GAAE,IAC7BV,IACA,CACE,MAAO,KACP,OAAQ,KACR,QAAS,YACT,MAAO,6BACP,KAAM,eACN,SAA0BU,GAAE,IAAI,OAAQ,CAAE,EAAG,IAAK,EAAG,IAAK,OAAQ,IAAK,MAAO,IAAK,GAAI,GAAK,EAChG,CACA,EAAGgpB,GAAI,CAAC,CACN,QAAS8I,EACT,SAAU/yB,EACV,UAAWC,EACX,cAAeupB,EACf,SAAUC,EACV,SAAU9oB,EACV,GAAGoB,CACL,IAAM,CACJ,KAAM,CAAChC,EAAG2B,CAAC,EAAIukK,WAAW,CAAC,CAAClzI,CAAC,EAAG5vB,EAAIoiK,SAAS,IAAI,EAAG,EAAIvjK,IAAC,EAAI3B,EAAKwB,GAAM,CACtEH,EAAEG,EAAE,OAAO,OAAO,EAAGlB,GAAKA,EAAEkB,EAAE,OAAO,OAAO,CAC7C,EACD,OAAO6jK,EAAW,UAAC,IAAM,CACvBhkK,EAAE,CAAC,CAACqxB,CAAC,CACN,EAAE,CAACA,CAAC,CAAC,EAAG2yI,YAAY,IAAM,CACzBviK,EAAE,UAAYA,EAAE,QAAQ,cAAgBqmB,IAAM,GAC/C,EAAE,CAACA,CAAC,CAAC,EAAmBvoB,GAAE,KACzBD,IACA,CACE,QAAS,EACT,UAAW,mBAAmBf,GAAK,EAAE,IAAIwpB,EAAI,WAAa,EAAE,GAC5D,GAAG1nB,EACH,SAAU,CACQd,GAAE,IAChB,QACA,CACE,GAAI,EACJ,IAAKkC,EACL,KAAM,WACN,QAASpD,EACT,SAAU0pB,EACV,SAAUppB,CACtB,CACS,EACDmpB,IAAM,GAAqBvoB,GAAE,IAAIX,IAAG,CAAE,GAAoBW,GAAE,IAAIW,IAAG,CAAE,QAAS7B,CAAC,CAAE,EACjFC,GAAqBiB,GAAE,IAAIa,IAAG,CAAE,UAAW,yBAA0B,SAAU9B,CAAG,EAC1F,CACA,CACG,CACH,EACAiqB,GAAE,YAAc,kBCzGN8I,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECCFlxB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBLA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,EA4BFA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAaW9B,GAAMA,EAAE,WAAa,QAAU,cAAgB,aAAa;AAAA,SACtEA,GAAMA,EAAE,WAAa,QAAU,OAAS,MAAM;AAAA,YAC3CA,GAAMA,EAAE,WAAa,QAAU,OAAS,MAAM;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWpD8B,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECxECsB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECDZ,MAAMA,IAAIqmB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWTrpB,GAAI,CAAC,CACN,SAAUc,EACV,UAAW8xB,EACX,GAAGpyB,CACL,IAAsBZ,GAAE,IACtBoD,IACA,CACE,UAAW,gBAAgB4vB,GAAK,EAAE,GAClC,GAAGpyB,EACH,SAAUM,CACd,CACA,EACAd,GAAE,YAAc,eCvBNc,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQLA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKFA,GAAE;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECbT,MAAMd,IAAIgD,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQEsmB,GAAMA,EAAE,OAAS,OAAS,OAAO;AAAA,YAClCA,GAAMA,EAAE,OAAS,IAAM,MAAM;AAAA;AAAA;AAAA,EAGvC9oB,IAAI,CAAC,CACN,UAAW8oB,EACX,SAAU,EACV,UAAWsJ,EAAI,GACf,GAAG/yB,CACL,IAAsBwpB,GAAE,IACtBrpB,IACA,CACE,UAAW,eAAespB,GAAK,EAAE,GACjC,OAAQ,CAACsJ,EACT,GAAG/yB,EACH,SAAU,CACd,CACA,EACAW,IAAE,YAAc,cCvBX,MAACgB,IAAI6nB,GAAE;AAAA;AAAA;AAAA,EAGLA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,MA2BH7nB,GAAC;AAAA;AAAA;AAAA;AAAA,EAIgnB6nB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiC/mBA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKLA,GAAEnpB,GAAC;AAAA;AAAA;AAAA;AAAA,EA8BAmpB,GAAE;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,ECzGFC,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,ECGF9oB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASLA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUFA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,ECrBJ,MAACK,IAAIW,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2BNK,IAAIL,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,MAcNX,GAAC;AAAA;AAAA;AAAA;AAAA,EA6BGW,GAAE;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,MAONK,GAAC;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EC9EGrB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECGFwC,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKLA,GAAE1C,EAAC;AAAA;AAAA,EAEH0C,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,ECPCA,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKLA,GAAEnB,EAAC;AAAA;AAAA,EAEHmB,GAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,ECFF,MAAMq1S,GAAmB,CAAC,CAAE,KAAAj8B,EAAM,SAAAj5O,EAAU,GAAG+E,CACrD,IAAA9E,EAAA,IAAC,KACA,KAAAg5O,EACA,MAAO,CACN,eAAgB,OAChB,MAAO,SACR,EACA,SAACh5O,MAAAqiF,GAAA,CAAc,GAAGv9E,EAAQ,SAAA/E,CAAS,GACpC,ECjBYm1Q,GAAkBpqR,GAAaA,EAE/BqqR,GAA0BvrR,UAAc,OAAAf,EAAAe,GAAA,YAAAA,EAAwC,SAAxC,YAAAf,EAAgD,OCcxFusR,IAAY,CAAC,CAAE,iBAAArxO,EAAkB,yBAAAsxO,KAA+C,CACtF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACouO,EAA0BC,CAA2B,EAAInrR,WAAS,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,iBAAgB,EAEvGstN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,SAAU,GACnC,KAAK,WACL,QAASstN,EAAkB,QAAQ,EACnC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,oCAAoC,CAAE,GACpF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,SAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,8CAA8C,WAAW,YAC9E,SAAEr4S,EAAA,uCAAuC,CAC3C,UAEA,MACA,WAAAojC,EAAA,IAAC+tE,GAAA,CACA,QAASunM,EACT,SAAWn6I,GAAqB,CAC/Bo6I,EAA4Bp6I,CAAO,EAE9BA,IACJk6I,EAAyB,mBAAoB,EAAE,EAC/CA,EAAyB,wBAAyB,EAAK,EAEzD,EACC,WAAE,qCAAqC,EACzC,EACCC,GAEC7oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,mBAAoB,GAC7C,KAAK,MACL,QAASstN,EAAkB,kBAAkB,EAC7C,YAAY,4BACZ,UAAU,cACX,EACArxP,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,wBAAyB,GACpD,SAAUstN,EAAkB,wBAAyB6jB,EAAW,EAChE,UAAU,cACT,WAAE,0CAA0C,GAC9C,CACD,GAEF,IACD,CAEF,EClEaM,IAAU,CAAC,CAAE,iBAAAzxO,EAAkB,yBAAAsxO,EAA0B,kBAAAI,KAAsC,CACrG,MAAE,EAAA74S,CAAE,EAAIsqE,GAAkB,EAC1B,CAACwuO,EAAqBC,CAAsB,EAAIvrR,WAAS,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,0BAAyB,EAG5G97C,YAAU,IAAM,CACQ0tR,EAAA,CAAC,EAAC5xO,GAAA,MAAAA,EAAkB,0BAAyB,GAClE,CAACA,GAAA,YAAAA,EAAkB,yBAAyB,CAAC,EAEhD,MAAMstN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA+kG,OAAC,MACA,WAACzsG,EAAA,aAAM,UAAU,yBAAyB,SAAqB,0BAC/DysG,EAAA,KAACn3B,GAAA,CACA,MACCvxC,GAAA,MAAAA,EAAkB,aACf,SACAA,GAAA,MAAAA,EAAkB,cACjB,UACA,cAEL,cAAgBj5C,GAAU,CACrBA,IAAU,UACbuqR,EAAyB,eAAgB,EAAI,EAC7CA,EAAyB,gBAAiB,EAAK,GACrCvqR,IAAU,WACpBuqR,EAAyB,eAAgB,EAAK,EAC9CA,EAAyB,gBAAiB,EAAI,IAE9CA,EAAyB,eAAgB,EAAK,EAC9CA,EAAyB,gBAAiB,EAAK,EAEjD,EACA,UAACr1Q,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,UACC+nM,GACA,WAAA3kK,MAAC2qK,GAAW,OAAM,cAAe,SAAA/tM,EAAE,mCAAmC,EAAE,QACvE+tM,GAAW,OAAM,UAAW,SAAA/tM,EAAE,+BAA+B,EAAE,QAC/D+tM,GAAW,OAAM,SAAU,SAAA/tM,EAAE,8BAA8B,CAAE,GAC/D,KACD,EACD,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACCmnE,GAAA,MAAAA,EAAkB,aAClB/jC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,YAAa,GACtC,KAAK,WACL,QAASstN,EAAkB,WAAW,EACtC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,8BAA8B,CAAE,KAE3EmnE,GAAA,MAAAA,EAAkB,cACrB/jC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,aAAc,GACvC,QAASstN,EAAkB,YAAY,EACvC,YAAaz0R,EAAE,mCAAmC,EAClD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,KAIlF6vI,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,KAAK,WACL,QAASstN,EAAkB,cAAc,EACzC,YAAaz0R,EAAE,iCAAiC,EAChD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,iCAAiC,CAAE,GACjF,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,KAAK,WACL,QAASstN,EAAkB,cAAc,EACzC,YAAaz0R,EAAE,iCAAiC,EAChD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,iCAAiC,CAAE,GACjF,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,KAAK,WACL,QAASstN,EAAkB,iBAAiB,EAC5C,YAAaz0R,EAAE,oCAAoC,EACnD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,oCAAoC,CAAE,IACpF,EACD,SAEA,MACA,WAAAojC,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,8BAA8B,EAAE,EAC7E6vI,EAAA,KAACn3B,GAAA,CACA,OAAOvxC,GAAA,YAAAA,EAAkB,YAAa,GACtC,cAAgBj5C,GAAUuqR,EAAyB,YAAavqR,CAAK,EACrE,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,GACCojC,EAAA,IAAA2kK,GAAA,CACC,SAAgBvmI,IAAA,IAAI,CAAC,CAAE,MAAAtzC,EAAO,MAAAw2F,CAAM,UACnCqpF,GAAuB,OAAA7/K,EACtB,SADew2F,CAAA,EAAAx2F,CAEjB,CACA,CACF,KACD,EACD,EACAkV,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,6BAA8B,GACzD,SAAUstN,EAAkB,6BAA8B6jB,EAAW,EACpE,WAAE,mCAAmC,EACvC,GACCO,GAAA,YAAAA,EAAmB,sBAElBhpK,OAAA/kG,EAAA,oBAAA1H,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,oBAAqB,GAChD,SAAUstN,EAAkB,oBAAqB6jB,EAAW,EAC5D,SAAAzoK,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,EAAA,YAAM,SAAEpjC,EAAA,wCAAwC,CAAE,GAClDojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,6CAA6C,EACxE,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAE5B,GACD,GACD,QACC,MAAI,WAAU,sDACb,SAAApjC,EAAE,mCAAmC,CACvC,IACD,EAEDojC,EAAA,IAAC+tE,GAAA,CACA,QAAS2nM,EACT,SAAWE,GAAc,CACxBD,EAAuBC,CAAS,EAChCP,EAAyB,4BAA6BO,CAAS,CAChE,EACC,WAAE,uDAAuD,EAC3D,EACCF,GAECjpK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,qBAAsB,GAC/C,MAAO,CAAE,MAAO,OAAQ,UAAW,EAAG,aAAc,CAAE,EACtD,KAAK,MACL,QAASstN,EAAkB,oBAAoB,EAC/C,YAAaz0R,EAAE,4DAA4D,EAC3E,cAAY,qBACb,EACA6vI,OAAC,MAAI,WAAU,2DACb,UAAA7vI,EAAE,2CAA2C,EAC7CojC,EAAA,WAAI,UAAU,OAAO,SAAqD,0DAC1EA,EAAA,WAAI,UAAU,OAAO,SAAkD,uDACzE,GACD,IAEF,CAEF,EC7Ka61Q,IAAW,CAAC,CAAE,iBAAA9xO,EAAkB,yBAAAsxO,KAA8C,CACpF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,iBAAkB,GAC3C,KAAK,WACL,QAASstN,EAAkB,gBAAgB,EAC3C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,GACnF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,iBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,+CAA+C,WAAW,YAC/E,SAAEr4S,EAAA,sCAAsC,CAC1C,IAEF,CAEF,EClCak5S,IAAS,CAAC,CAAE,iBAAA/xO,EAAkB,yBAAAsxO,KAA4C,CAChF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,KAAK,WACL,QAASstN,EAAkB,cAAc,EACzC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,iCAAiC,CAAE,GACjF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,eAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,4BAA4B,WAAW,YAC5D,SAAEr4S,EAAA,oCAAoC,CACxC,IAEF,CAEF,ECtCam5S,IAAwC,CAAC,CAAE,iBAAAhyO,EAAkB,yBAAAsxO,KAA+B,CAClG,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAqB3zR,GAA4C,CACtE,MAAM0tB,EAAU1tB,EAAE,OACO23S,EAAA,iBAAkBjqR,EAAQ,KAAK,CACzD,EAEM4qR,GAAkBjyO,GAAA,YAAAA,EAAkB,4BAA6B,IAGtE,OAAA0oE,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAA,OAAC,MACA,WAAAzsG,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,iBAAkB,GAC3C,MAAO,CAAE,MAAO,OAAQ,UAAW,CAAE,EACrC,KAAK,OACL,QAASstN,EACT,YAAaz0R,EAAE,2CAA2C,EACzD,WAAE,yCAAyC,EAC7C,EAEAojC,EAAA,IAAC,KACA,MAAO,CACN,SAAU,OACV,UAAW,EACX,MAAO,qCACR,EACC,WAAE,2CAA2C,GAC/C,EACD,EAEAysG,OAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC,MAAI,WAAU,cAAe,SAAApjC,EAAE,8CAA8C,EAAE,EAChF6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,IACL,IAAK,KACL,KAAM,KACN,MAAO,CAACyjH,CAAe,EACvB,cAAe,CAAC,CAAClrR,CAAK,IAAMuqR,EAAyB,4BAA6BvqR,CAAK,EACxF,EACCkV,EAAA,WAAI,UAAU,2BAA4B,SAAgBg2Q,CAAA,IAC5D,QACC,IAAE,WAAU,iDACX,SAAAp5S,EAAE,oDAAoD,CACxD,GACD,IACD,CAEF,EC9Caq5S,IAAW,CAAC,CAAE,iBAAAlyO,EAAkB,yBAAAsxO,KAA8C,CACpF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,iBAAkB,GAC3C,KAAK,WACL,QAASstN,EAAkB,gBAAgB,EAC3C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,GACnF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,iBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,iCAAiC,WAAW,YACjE,SAAEr4S,EAAA,sCAAsC,CAC1C,IAEF,CAEF,EClCas5S,IAAS,CAAC,CAAE,iBAAAnyO,EAAkB,yBAAAsxO,KAA4C,CAChF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,KAAK,WACL,QAASstN,EAAkB,cAAc,EACzC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,iCAAiC,CAAE,GACjF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,eACnB/jC,EAAA,IAACi1Q,GAAA,CACA,KAAK,wFACL,WAAW,YACV,WAAE,oCAAoC,GACxC,EAEF,CAEF,EClCakB,IAAS,CAAC,CAAE,iBAAApyO,EAAkB,yBAAAsxO,EAA0B,gBAAAe,KAAmC,CACjG,MAAE,EAAAx5S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACmvO,EAA6BC,CAA8B,EAAIlsR,EAAA,SACrE,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,oBACrB,EAEMstN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,KAAK,WACL,QAASstN,EAAkB,cAAc,EACzC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,iCAAiC,CAAE,GACjF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,eAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,yBAAyB,WAAW,YACzD,SAAEr4S,EAAA,oCAAoC,CACxC,UAGA,MACA,WAAAojC,EAAA,IAAC+tE,GAAA,CACA,cAAY,2BACZ,QAASsoM,EACT,SAAWl7I,GAAqB,CAC/Bm7I,EAA+Bn7I,CAAO,EACjCA,GACJk6I,EAAyB,sBAAuB,EAAE,CAEpD,EACC,WAAE,qCAAqC,EACzC,EACCgB,GACAr2Q,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,sBAAuB,GAChD,KAAK,MACL,QAASstN,EAAkB,qBAAqB,EAChD,YAAaz0R,EAAE,6BAA6B,EAC5C,UAAU,cACX,EAGA,CAACw5S,GAEA3pK,OAAA/kG,EAAA,oBAAA1H,EAAA,IAAC+tE,GAAA,CACA,UAAU,OACV,cAAY,uBACZ,QAAS,CAAC,CAAChqC,EAAiB,iBAC5B,SAAWo3F,GAAqBk6I,EAAyB,mBAAoBl6I,CAAO,EACnF,WAAE,sDAAsD,EAC1D,QACC,MAAI,WAAU,wDACb,SAAAv+J,EAAE,4DAA4D,EAChE,EAEAojC,EAAA,IAAC+tE,GAAA,CACA,cAAY,4BACZ,QAAS,CAAC,CAAChqC,EAAiB,gBAC5B,SAAWo3F,GAAqBk6I,EAAyB,kBAAmBl6I,CAAO,EAClF,WAAE,2DAA2D,EAC/D,QACC,MAAI,WAAU,wDACb,SAAAv+J,EAAE,iEAAiE,CACrE,GACD,GAEF,IACD,CAEF,ECrGgB,SAAA25S,GAAenrK,EAAkBorK,EAAoB,CACpE,OAAO,mBAAmB,GAAGA,GAAa,QAAQ,MAAMh+F,GAAQ,SAAS,IAAIA,GAAQ,IAAI,IAAIptE,CAAQ,EAAE,CACxG,CAEO,SAASqrK,IAAgBD,EAAoB,CACnD,MAAO,iDAAiDD,GAAe,QAASC,CAAS,CAAC,EAC3F,CAEO,SAASE,IAAqBF,EAAoB,CACxD,MAAO,2CAA2CD,GAAe,aAAcC,CAAS,CAAC,EAC1F,CAEO,SAASG,IAAmBH,EAAoB,CACtD,MAAO,wDAAwDD,GAAe,WAAYC,CAAS,CAAC,EACrG,CChBa,MAAAI,GAAexsK,GACpB,IAAI,KAAK,aAAa,QAAS,CACrC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,EACvB,EAAE,OAAOA,CAAK,gDCJhBysK,GAAiBv9C,EAEjB,SAASA,EAAKzzO,EAAK,CACjB,GAAIA,EACF,MAAMA,CAEV;;;;;6CCDAmuG,GAAiB,SAAmB9sG,EAAK,CACvC,OAAOA,GAAO,MAAQA,EAAI,aAAe,MACvC,OAAOA,EAAI,YAAY,UAAa,YAAcA,EAAI,YAAY,SAASA,CAAG,CAClF,gDCRc82O,GAAGlzO,GAAS,CACzB,GAAI,OAAO,UAAU,SAAS,KAAKA,CAAK,IAAM,kBAC7C,MAAO,GAGR,MAAMupG,EAAY,OAAO,eAAevpG,CAAK,EAC7C,OAAOupG,IAAc,MAAQA,IAAc,OAAO,SAClD,oDCPD,IAAIwhF,EAAQ,GAAG,MAEfihG,GAAiBv+L,EAKjB,SAASA,EAAKpwF,EAAII,EAAU,CAC1B,IAAIwuR,EAEJ,OAAO38C,EAEP,SAASA,GAAU,CACjB,IAAIxpO,EAASilL,EAAM,KAAK,UAAW,CAAC,EAChCttL,EAAWJ,EAAG,OAASyI,EAAO,OAC9B/B,EAEAtG,GACFqI,EAAO,KAAKopB,CAAI,EAGlB,GAAI,CACFnrB,EAAS1G,EAAG,MAAM,KAAMyI,CAAM,CAC/B,OAAQgD,EAAO,CAMd,GAAIrL,GAAYwuR,EACd,MAAMnjR,EAGR,OAAOomB,EAAKpmB,CAAK,CACvB,CAESrL,IACCsG,GAAU,OAAOA,EAAO,MAAS,WACnCA,EAAO,KAAK0rO,EAAMvgN,CAAI,EACbnrB,aAAkB,MAC3BmrB,EAAKnrB,CAAM,EAEX0rO,EAAK1rO,CAAM,EAGnB,CAGE,SAASmrB,GAAO,CACT+8P,IACHA,EAAU,GAEVxuR,EAAS,MAAM,KAAM,SAAS,EAEpC,CAIE,SAASgyO,EAAKzvO,EAAO,CACnBkvB,EAAK,KAAMlvB,CAAK,CACpB,CACA,yDC7DA,IAAIytF,EAAO/4G,IAAA,EAEXw3S,GAAiBh9C,EAEjBA,EAAO,KAAOzhJ,EAEd,IAAIs9F,EAAQ,GAAG,MAGf,SAASmkD,GAAS,CAChB,IAAI16H,EAAM,GACNic,EAAa,GAEjB,OAAAA,EAAW,IAAM9nH,EACjB8nH,EAAW,IAAM0gG,EAEV1gG,EAGP,SAAS9nH,GAAM,CACb,IAAIuF,EAAQ,GACR9L,EAAQ2oL,EAAM,KAAK,UAAW,EAAG,EAAE,EACnC77J,EAAO,UAAU,UAAU,OAAS,CAAC,EAEzC,GAAI,OAAOA,GAAS,WAClB,MAAM,IAAI,MAAM,2CAA6CA,CAAI,EAGnEjM,EAAK,MAAM,KAAM,CAAC,IAAI,EAAE,OAAO7gB,CAAK,CAAC,EAGrC,SAAS6gB,EAAKloB,EAAK,CACjB,IAAIsC,EAAKm3G,EAAI,EAAEtmG,CAAK,EAChBpI,EAASilL,EAAM,KAAK,UAAW,CAAC,EAChCztK,EAASxX,EAAO,MAAM,CAAC,EACvBnJ,EAASyF,EAAM,OACf83G,EAAM,GAEV,GAAIn/G,EAAK,CACPm0B,EAAKn0B,CAAG,EACR,MACR,CAGM,KAAO,EAAEm/G,EAAMv9G,IACT2gB,EAAO48F,CAAG,IAAM,MAAQ58F,EAAO48F,CAAG,IAAM,UAC1C58F,EAAO48F,CAAG,EAAI93G,EAAM83G,CAAG,GAI3B93G,EAAQkb,EAGJjgB,EACFowF,EAAKpwF,EAAI4lB,CAAI,EAAE,MAAM,KAAM7gB,CAAK,EAEhC8sB,EAAK,MAAM,KAAM,CAAC,IAAI,EAAE,OAAO9sB,CAAK,CAAC,CAE7C,CACA,CAGE,SAAS+uN,EAAI9zN,EAAI,CACf,GAAI,OAAOA,GAAO,WAChB,MAAM,IAAI,MAAM,uCAAyCA,CAAE,EAG7D,OAAAm3G,EAAI,KAAKn3G,CAAE,EAEJozH,CACX,CACA,yDCvEA,IAAI83E,EAAM,GAAG,eAEb4jF,GAAiB//F,EAEjB,SAASA,EAAUpsL,EAAO,CAExB,MAAI,CAACA,GAAS,OAAOA,GAAU,SACtB,GAILuoM,EAAI,KAAKvoM,EAAO,UAAU,GAAKuoM,EAAI,KAAKvoM,EAAO,MAAM,EAChD0rG,EAAS1rG,EAAM,QAAQ,EAI5BuoM,EAAI,KAAKvoM,EAAO,OAAO,GAAKuoM,EAAI,KAAKvoM,EAAO,KAAK,EAC5C0rG,EAAS1rG,CAAK,EAInBuoM,EAAI,KAAKvoM,EAAO,MAAM,GAAKuoM,EAAI,KAAKvoM,EAAO,QAAQ,EAC9C89J,EAAM99J,CAAK,EAIb,EACT,CAEA,SAAS89J,EAAMA,EAAO,CACpB,OAAI,CAACA,GAAS,OAAOA,GAAU,YAC7BA,EAAQ,IAGH5vJ,EAAM4vJ,EAAM,IAAI,EAAI,IAAM5vJ,EAAM4vJ,EAAM,MAAM,CACrD,CAEA,SAASpyD,EAASwO,EAAK,CACrB,OAAI,CAACA,GAAO,OAAOA,GAAQ,YACzBA,EAAM,IAGD4jD,EAAM5jD,EAAI,KAAK,EAAI,IAAM4jD,EAAM5jD,EAAI,GAAG,CAC/C,CAEA,SAAShsG,EAAMlO,EAAO,CACpB,OAAOA,GAAS,OAAOA,GAAU,SAAWA,EAAQ,CACtD,yDC/CA,IAAIosL,EAAY13M,IAAA,EAEhB03S,GAAiBC,EAGjB,SAASC,GAAoB,EAC7BA,EAAkB,UAAY,MAAM,UACpCD,EAAS,UAAY,IAAIC,EAGzB,IAAIt+M,EAAQq+M,EAAS,UAErBr+M,EAAM,KAAO,GACbA,EAAM,KAAO,GACbA,EAAM,OAAS,GACfA,EAAM,QAAU,GAChBA,EAAM,MAAQ,GACdA,EAAM,MAAQ,KACdA,EAAM,OAAS,KACfA,EAAM,KAAO,KAOb,SAASq+M,EAAS7kR,EAAQkkG,EAAU+E,EAAQ,CAC1C,IAAIxrF,EACAilD,EACAzY,EAEA,OAAOi6C,GAAa,WACtB+E,EAAS/E,EACTA,EAAW,MAGbzmF,EAAQsnQ,EAAY97K,CAAM,EAC1BvmC,EAAQkiH,EAAU1gF,CAAQ,GAAK,MAE/Bj6C,EAAW,CACT,MAAO,CAAC,KAAM,KAAM,OAAQ,IAAI,EAChC,IAAK,CAAC,KAAM,KAAM,OAAQ,IAAI,CAClC,EAGMi6C,GAAYA,EAAS,WACvBA,EAAWA,EAAS,UAGlBA,IAEEA,EAAS,OACXj6C,EAAWi6C,EACXA,EAAWA,EAAS,OAGpBj6C,EAAS,MAAQi6C,GAIjBlkG,EAAO,QACT,KAAK,MAAQA,EAAO,MACpBA,EAASA,EAAO,SAGlB,KAAK,QAAUA,EACf,KAAK,KAAO0iE,EACZ,KAAK,OAAS1iE,EACd,KAAK,KAAOkkG,EAAWA,EAAS,KAAO,KACvC,KAAK,OAASA,EAAWA,EAAS,OAAS,KAC3C,KAAK,SAAWj6C,EAChB,KAAK,OAASxsC,EAAM,CAAC,EACrB,KAAK,OAASA,EAAM,CAAC,CACvB,CAEA,SAASsnQ,EAAY97K,EAAQ,CAC3B,IAAI1sG,EAAS,CAAC,KAAM,IAAI,EACpBmK,EAEJ,OAAI,OAAOuiG,GAAW,WACpBviG,EAAQuiG,EAAO,QAAQ,GAAG,EAEtBviG,IAAU,GACZnK,EAAO,CAAC,EAAI0sG,GAEZ1sG,EAAO,CAAC,EAAI0sG,EAAO,MAAM,EAAGviG,CAAK,EACjCnK,EAAO,CAAC,EAAI0sG,EAAO,MAAMviG,EAAQ,CAAC,IAI/BnK,CACT,4DCxCAyoR,GAAA,SAAmBp5F,EACnBo5F,GAAA,QAAkB78C,EAClB68C,GAAA,QAAkB58C,EAClB48C,GAAA,KAAet5N,EACfs5N,GAAA,IAAc,IAEd,SAASp5F,EAASpyK,EAAMyrQ,EAAK,CAC3B,IAAI3mM,EAAQ,EACRhrB,EAAM,GACN5sD,EACA6hO,EACAD,EACA48C,EAEJ,GAAID,IAAQ,QAAa,OAAOA,GAAQ,SACtC,MAAM,IAAI,UAAU,iCAAiC,EAMvD,GAHA58C,EAAW7uN,CAAI,EACf9S,EAAQ8S,EAAK,OAETyrQ,IAAQ,QAAa,CAACA,EAAI,QAAUA,EAAI,OAASzrQ,EAAK,OAAQ,CAChE,KAAO9S,KACL,GAAI8S,EAAK,WAAW9S,CAAK,IAAM,IAG7B,GAAI4hO,EAAc,CAChBhqJ,EAAQ53E,EAAQ,EAChB,KACV,OACiB4sD,EAAM,IAGfg1K,EAAe,GACfh1K,EAAM5sD,EAAQ,GAIlB,OAAO4sD,EAAM,EAAI,GAAK95C,EAAK,MAAM8kE,EAAOhrB,CAAG,CAC/C,CAEE,GAAI2xN,IAAQzrQ,EACV,MAAO,GAMT,IAHA+uN,EAAmB,GACnB28C,EAAWD,EAAI,OAAS,EAEjBv+Q,KACL,GAAI8S,EAAK,WAAW9S,CAAK,IAAM,IAG7B,GAAI4hO,EAAc,CAChBhqJ,EAAQ53E,EAAQ,EAChB,KACR,OAEU6hO,EAAmB,IAGrBD,EAAe,GACfC,EAAmB7hO,EAAQ,GAGzBw+Q,EAAW,KAET1rQ,EAAK,WAAW9S,CAAK,IAAMu+Q,EAAI,WAAWC,GAAU,EAClDA,EAAW,IAGb5xN,EAAM5sD,IAKRw+Q,EAAW,GACX5xN,EAAMi1K,IAMd,OAAIjqJ,IAAUhrB,EACZA,EAAMi1K,EACGj1K,EAAM,IACfA,EAAM95C,EAAK,QAGNA,EAAK,MAAM8kE,EAAOhrB,CAAG,CAC9B,CAEA,SAAS60K,EAAQ3uN,EAAM,CACrB,IAAI85C,EACAm1K,EACA/hO,EAIJ,GAFA2hO,EAAW7uN,CAAI,EAEX,CAACA,EAAK,OACR,MAAO,IAOT,IAJA85C,EAAM,GACN5sD,EAAQ8S,EAAK,OAGN,EAAE9S,GACP,GAAI8S,EAAK,WAAW9S,CAAK,IAAM,IAC7B,GAAI+hO,EAAgB,CAClBn1K,EAAM5sD,EACN,KACR,OACgB+hO,IAEVA,EAAiB,IAIrB,OAAOn1K,EAAM,EACT95C,EAAK,WAAW,CAAC,IAAM,GACrB,IACA,IACF85C,IAAQ,GAAK95C,EAAK,WAAW,CAAC,IAAM,GACpC,KACAA,EAAK,MAAM,EAAG85C,CAAG,CACvB,CAEA,SAAS80K,EAAQ5uN,EAAM,CACrB,IAAImvN,EAAW,GACXD,EAAY,EACZp1K,EAAM,GAGNs1K,EAAc,EACdH,EACAj5N,EACA9I,EAMJ,IAJA2hO,EAAW7uN,CAAI,EAEf9S,EAAQ8S,EAAK,OAEN9S,KAAS,CAGd,GAFA8I,EAAOgK,EAAK,WAAW9S,CAAK,EAExB8I,IAAS,GAAc,CAGzB,GAAIi5N,EAAgB,CAClBC,EAAYhiO,EAAQ,EACpB,KACR,CAEM,QACN,CAEQ4sD,EAAM,IAGRm1K,EAAiB,GACjBn1K,EAAM5sD,EAAQ,GAGZ8I,IAAS,GAEPm5N,EAAW,EACbA,EAAWjiO,EACFkiO,IAAgB,IACzBA,EAAc,GAEPD,EAAW,KAGpBC,EAAc,GAEpB,CAEE,OACED,EAAW,GACXr1K,EAAM,GAENs1K,IAAgB,GAEfA,IAAgB,GAAKD,IAAar1K,EAAM,GAAKq1K,IAAaD,EAAY,EAEhE,GAGFlvN,EAAK,MAAMmvN,EAAUr1K,CAAG,CACjC,CAEA,SAAS5H,GAAO,CAId,QAHIhlD,EAAQ,GACRolD,EAEG,EAAEplD,EAAQ,UAAU,QACzB2hO,EAAW,UAAU3hO,CAAK,CAAC,EAEvB,UAAUA,CAAK,IACjBolD,EACEA,IAAW,OACP,UAAUplD,CAAK,EACfolD,EAAS,IAAM,UAAUplD,CAAK,GAIxC,OAAOolD,IAAW,OAAY,IAAMT,EAAUS,CAAM,CACtD,CAIA,SAAST,EAAU7xC,EAAM,CACvB,IAAIqvN,EACArwO,EAEJ,OAAA6vO,EAAW7uN,CAAI,EAEfqvN,EAAWrvN,EAAK,WAAW,CAAC,IAAM,GAGlChhB,EAAQswO,EAAgBtvN,EAAM,CAACqvN,CAAQ,EAEnC,CAACrwO,EAAM,QAAU,CAACqwO,IACpBrwO,EAAQ,KAGNA,EAAM,QAAUghB,EAAK,WAAWA,EAAK,OAAS,CAAC,IAAM,KACvDhhB,GAAS,KAGJqwO,EAAW,IAAMrwO,EAAQA,CAClC,CAGA,SAASswO,EAAgBtvN,EAAMuvN,EAAgB,CAS7C,QARIxsO,EAAS,GACTysO,EAAoB,EACpBC,EAAY,GACZriI,EAAO,EACPlgG,EAAQ,GACR8I,EACA05N,EAEG,EAAExiO,GAAS8S,EAAK,QAAQ,CAC7B,GAAI9S,EAAQ8S,EAAK,OACfhK,EAAOgK,EAAK,WAAW9S,CAAK,MACvB,IAAI8I,IAAS,GAClB,MAEAA,EAAO,GAGT,GAAIA,IAAS,GAAc,CACzB,GAAI,EAAAy5N,IAAcviO,EAAQ,GAAKkgG,IAAS,GAEjC,GAAIqiI,IAAcviO,EAAQ,GAAKkgG,IAAS,EAAG,CAChD,GACErqG,EAAO,OAAS,GAChBysO,IAAsB,GACtBzsO,EAAO,WAAWA,EAAO,OAAS,CAAC,IAAM,IACzCA,EAAO,WAAWA,EAAO,OAAS,CAAC,IAAM,IAEzC,GAAIA,EAAO,OAAS,GAIlB,GAHA2sO,EAAiB3sO,EAAO,YAAY,GAAG,EAGnC2sO,IAAmB3sO,EAAO,OAAS,EAAG,CACpC2sO,EAAiB,GACnB3sO,EAAS,GACTysO,EAAoB,IAEpBzsO,EAASA,EAAO,MAAM,EAAG2sO,CAAc,EACvCF,EAAoBzsO,EAAO,OAAS,EAAIA,EAAO,YAAY,GAAG,GAGhE0sO,EAAYviO,EACZkgG,EAAO,EACP,QACd,UACqBrqG,EAAO,OAAQ,CACxBA,EAAS,GACTysO,EAAoB,EACpBC,EAAYviO,EACZkgG,EAAO,EACP,QACZ,EAGYmiI,IACFxsO,EAASA,EAAO,OAASA,EAAS,MAAQ,KAC1CysO,EAAoB,EAE9B,MACYzsO,EAAO,OACTA,GAAU,IAAMid,EAAK,MAAMyvN,EAAY,EAAGviO,CAAK,EAE/CnK,EAASid,EAAK,MAAMyvN,EAAY,EAAGviO,CAAK,EAG1CsiO,EAAoBtiO,EAAQuiO,EAAY,EAG1CA,EAAYviO,EACZkgG,EAAO,CACR,MAAUp3F,IAAS,IAAgBo3F,EAAO,GACzCA,IAEAA,EAAO,EAEb,CAEE,OAAOrqG,CACT,CAEA,SAAS8rO,EAAW7uN,EAAM,CACxB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UACR,mCAAqC,KAAK,UAAUA,CAAI,CAC9D,CAEA,4DChXA2rQ,GAAA,IAAcr+F,EAEd,SAASA,GAAM,CACb,MAAO,GACT,yDCPA,IAAI18M,EAAI8C,IAAA,EACJk4S,EAAO13S,IAAA,EACPw7I,EAASr4D,IAAA,EAEb4wI,GAAiBgoC,EAEjB,IAAI1oC,EAAM,GAAG,eAKTrvI,EAAQ,CAAC,UAAW,OAAQ,WAAY,OAAQ,UAAW,SAAS,EAExE+3K,EAAM,UAAU,SAAWzoI,EAG3B,OAAO,eAAeyoI,EAAM,UAAW,OAAQ,CAAC,IAAKxvN,EAAS,IAAKL,CAAO,CAAC,EAG3E,OAAO,eAAe6vN,EAAM,UAAW,UAAW,CAChD,IAAK47C,EACL,IAAKC,CACN,GAGD,OAAO,eAAe77C,EAAM,UAAW,WAAY,CACjD,IAAKqjB,EACL,IAAKy4B,CACN,GAGD,OAAO,eAAe97C,EAAM,UAAW,UAAW,CAChD,IAAK+7C,EACL,IAAKC,CACN,GAGD,OAAO,eAAeh8C,EAAM,UAAW,OAAQ,CAAC,IAAKi8C,EAAS,IAAKC,CAAO,CAAC,EAG3E,SAASl8C,EAAMtyO,EAAS,CACtB,IAAImjB,EACA5T,EAEJ,GAAI,CAACvP,EACHA,EAAU,WACD,OAAOA,GAAY,UAAY+xH,EAAO/xH,CAAO,EACtDA,EAAU,CAAC,SAAUA,CAAO,UACnB,YAAaA,GAAW,aAAcA,EAC/C,OAAOA,EAGT,GAAI,EAAE,gBAAgBsyO,GACpB,OAAO,IAAIA,EAAMtyO,CAAO,EAW1B,IARA,KAAK,KAAO,GACZ,KAAK,SAAW,GAChB,KAAK,QAAU,GACf,KAAK,IAAMiuR,EAAK,IAAG,EAGnB1+Q,EAAQ,GAED,EAAEA,EAAQgrD,EAAM,QACrBp3C,EAAOo3C,EAAMhrD,CAAK,EAEdq6L,EAAI,KAAK5pM,EAASmjB,CAAI,IACxB,KAAKA,CAAI,EAAInjB,EAAQmjB,CAAI,GAK7B,IAAKA,KAAQnjB,EACPu6D,EAAM,QAAQp3C,CAAI,EAAI,IACxB,KAAKA,CAAI,EAAInjB,EAAQmjB,CAAI,EAG/B,CAEA,SAASL,GAAU,CACjB,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAS,CAAC,CAC7C,CAEA,SAASL,EAAQJ,EAAM,CACrBmwN,EAAenwN,EAAM,MAAM,EAEvB,KAAK,OAASA,GAChB,KAAK,QAAQ,KAAKA,CAAI,CAE1B,CAEA,SAAS6rQ,GAAa,CACpB,OAAO,OAAO,KAAK,MAAS,SAAWj7S,EAAE,QAAQ,KAAK,IAAI,EAAI,MAChE,CAEA,SAASk7S,EAAWn9C,EAAS,CAC3BE,EAAW,KAAK,KAAM,SAAS,EAC/B,KAAK,KAAOj+P,EAAE,KAAK+9P,GAAW,GAAI,KAAK,QAAQ,CACjD,CAEA,SAAS2kB,GAAc,CACrB,OAAO,OAAO,KAAK,MAAS,SAAW1iR,EAAE,SAAS,KAAK,IAAI,EAAI,MACjE,CAEA,SAASm7S,EAAY35F,EAAU,CAC7B+9C,EAAe/9C,EAAU,UAAU,EACnCg+C,EAAWh+C,EAAU,UAAU,EAC/B,KAAK,KAAOxhN,EAAE,KAAK,KAAK,SAAW,GAAIwhN,CAAQ,CACjD,CAEA,SAAS45F,GAAa,CACpB,OAAO,OAAO,KAAK,MAAS,SAAWp7S,EAAE,QAAQ,KAAK,IAAI,EAAI,MAChE,CAEA,SAASq7S,EAAWr9C,EAAS,CAI3B,GAHAwB,EAAWxB,EAAS,SAAS,EAC7BC,EAAW,KAAK,KAAM,SAAS,EAE3BD,EAAS,CACX,GAAIA,EAAQ,WAAW,CAAC,IAAM,GAC5B,MAAM,IAAI,MAAM,+BAA+B,EAGjD,GAAIA,EAAQ,QAAQ,IAAK,CAAC,EAAI,GAC5B,MAAM,IAAI,MAAM,wCAAwC,CAE9D,CAEE,KAAK,KAAOh+P,EAAE,KAAK,KAAK,QAAS,KAAK,MAAQg+P,GAAW,GAAG,CAC9D,CAEA,SAASs9C,GAAU,CACjB,OAAO,OAAO,KAAK,MAAS,SACxBt7S,EAAE,SAAS,KAAK,KAAM,KAAK,OAAO,EAClC,MACN,CAEA,SAASu7S,EAAQ97C,EAAM,CACrBF,EAAeE,EAAM,MAAM,EAC3BD,EAAWC,EAAM,MAAM,EACvB,KAAK,KAAOz/P,EAAE,KAAK,KAAK,SAAW,GAAIy/P,GAAQ,KAAK,SAAW,GAAG,CACpE,CAGA,SAAS7oI,EAASi7H,EAAU,CAC1B,OAAQ,KAAK,UAAY,IAAI,SAASA,CAAQ,CAChD,CAGA,SAAS2N,EAAWp+K,EAAMv0D,EAAM,CAC9B,GAAIu0D,GAAQA,EAAK,QAAQphF,EAAE,GAAG,EAAI,GAChC,MAAM,IAAI,MACR,IAAM6sB,EAAO,uCAAyC7sB,EAAE,IAAM,GACpE,CAEA,CAGA,SAASu/P,EAAen+K,EAAMv0D,EAAM,CAClC,GAAI,CAACu0D,EACH,MAAM,IAAI,MAAM,IAAMv0D,EAAO,mBAAmB,CAEpD,CAGA,SAASoxO,EAAW7uN,EAAMviB,EAAM,CAC9B,GAAI,CAACuiB,EACH,MAAM,IAAI,MAAM,YAAcviB,EAAO,iCAAiC,CAE1E,yDC1KA,IAAI4tR,EAAW33S,IAAA,EACXu8P,EAAQ/7P,IAAA,EAEZk4S,GAAiBn8C,EAEjBA,EAAM,UAAU,QAAUvzM,EAC1BuzM,EAAM,UAAU,KAAOrwH,EACvBqwH,EAAM,UAAU,KAAOo8C,EAIvB,SAAS3vP,EAAQl2B,EAAQkkG,EAAU+E,EAAQ,CACzC,IAAI/yE,EAAU,IAAI2uP,EAAS7kR,EAAQkkG,EAAU+E,CAAM,EAEnD,OAAI,KAAK,OACP/yE,EAAQ,KAAO,KAAK,KAAO,IAAMA,EAAQ,KACzCA,EAAQ,KAAO,KAAK,MAGtBA,EAAQ,MAAQ,GAEhB,KAAK,SAAS,KAAKA,CAAO,EAEnBA,CACT,CAGA,SAAS2vP,GAAO,CACd,IAAI3vP,EAAU,KAAK,QAAQ,MAAM,KAAM,SAAS,EAEhD,MAAAA,EAAQ,MAAQ,GAEVA,CACR,CAIA,SAASkjF,GAAO,CACd,IAAIljF,EAAU,KAAK,QAAQ,MAAM,KAAM,SAAS,EAEhD,OAAAA,EAAQ,MAAQ,KAETA,CACT,qDC3CAi0M,GAAiBj9P,IAAA,oDCAjB,IAAI85P,EAAO95P,IAAA,EACPg8I,EAASx7I,IAAA,EACT41H,EAASzyC,IAAA,EACTi1N,EAAQ/0N,IAAA,EACR22K,EAAS12K,IAAA,EACTm5K,EAAQ47C,IAAA,EAGZC,GAAiBr6C,EAAO,EAAG,OAAM,EAEjC,IAAIpoD,EAAQ,GAAG,MACXwd,EAAM,GAAG,eAGT4mC,EAAWD,EAAM,EAClB,IAAIu+C,CAAa,EACjB,IAAIC,CAAW,EACf,IAAIC,CAAiB,EAExB,SAASF,EAAc77S,EAAG2sD,EAAK,CAC7BA,EAAI,KAAO3sD,EAAE,MAAM2sD,EAAI,IAAI,CAC7B,CAEA,SAASmvP,EAAY97S,EAAG2sD,EAAKtb,EAAM,CACjCrxC,EAAE,IAAI2sD,EAAI,KAAMA,EAAI,KAAMrP,CAAI,EAE9B,SAASA,EAAKpmB,EAAO8jM,EAAM/yI,EAAM,CAC3B/wD,EACFma,EAAKna,CAAK,GAEVy1B,EAAI,KAAOquK,EACXruK,EAAI,KAAOs7B,EACX52C,EAAI,EAEV,CACA,CAEA,SAAS0qQ,EAAkB/7S,EAAG2sD,EAAK,CACjC,IAAIx6B,EAASnyB,EAAE,UAAU2sD,EAAI,KAAMA,EAAI,IAAI,EAEfx6B,GAAW,OAE5B,OAAOA,GAAW,UAAY2sH,EAAO3sH,CAAM,GAChD,UAAWw6B,EAAI,OACjBA,EAAI,KAAK,MAAQx6B,GAGnBw6B,EAAI,KAAK,SAAWx6B,GAEpBw6B,EAAI,KAAK,OAASx6B,EAEtB,CAGA,SAASovO,GAAU,CACjB,IAAIX,EAAY,GACZ17B,EAAeo4B,EAAM,EACrBpwN,EAAY,GACZ8uQ,EAAc,GACdx6C,EAGJ,OAAA5uN,EAAU,KAAOtf,EAGjBsf,EAAU,OAAS8lB,EAGnB9lB,EAAU,UAAYguN,EACtBhuN,EAAU,IAAM2sM,EAGhB3sM,EAAU,MAAQ4hF,EAClB5hF,EAAU,UAAY4nK,EACtB5nK,EAAU,IAAM7b,EAChB6b,EAAU,QAAUqpQ,EACpBrpQ,EAAU,QAAUk/C,EACpBl/C,EAAU,YAAcspQ,EAGjBtpQ,EAGP,SAASA,GAAY,CAInB,QAHI8pN,EAAc6E,EAAO,EACrBjlO,EAAQ,GAEL,EAAEA,EAAQskO,EAAU,QACzBlE,EAAY,IAAI,MAAM,KAAMkE,EAAUtkO,CAAK,CAAC,EAG9C,OAAAogO,EAAY,KAAKxjI,EAAO,GAAM,GAAIhsF,CAAS,CAAC,EAErCwvN,CACX,CASE,SAAShkM,GAAS,CAChB,IAAIhtB,EACAi8D,EAEJ,GAAI65J,EACF,OAAO5uN,EAGT,KAAO,EAAEopQ,EAAcp7C,EAAU,QAC/Bl1N,EAASk1N,EAAUo7C,CAAW,EAE1BtwQ,EAAO,CAAC,IAAM,KAIdA,EAAO,CAAC,IAAM,KAChBA,EAAO,CAAC,EAAI,QAGdi8D,EAAcj8D,EAAO,CAAC,EAAE,MAAMkH,EAAWlH,EAAO,MAAM,CAAC,CAAC,EAEpD,OAAOi8D,GAAgB,YACzBu9H,EAAa,IAAIv9H,CAAW,GAIhC,OAAA65J,EAAS,GACTw6C,EAAc,IAEPppQ,CACX,CAIE,SAAStf,EAAKzJ,EAAKuE,EAAO,CACxB,OAAI,OAAOvE,GAAQ,SAEb,UAAU,SAAW,GACvBg2O,EAAe,OAAQ2B,CAAM,EAC7Bt0N,EAAUrjB,CAAG,EAAIuE,EACVwkB,GAID+jL,EAAI,KAAKzpL,EAAWrjB,CAAG,GAAKqjB,EAAUrjB,CAAG,GAAM,KAIrDA,GACFg2O,EAAe,OAAQ2B,CAAM,EAC7Bt0N,EAAYrjB,EACL+oB,GAIF1F,CACX,CASE,SAASqyM,EAAInxN,EAAO,CAClB,IAAI01L,EAIJ,GAFA+7C,EAAe,MAAO2B,CAAM,EAExBpzO,GAAU,KAEP,GAAI,OAAOA,GAAU,WAC1ByyO,GAAU,MAAM,KAAM,SAAS,UACtB,OAAOzyO,GAAU,SACtB,WAAYA,EACd0yO,EAAQ1yO,CAAK,EAEb2yO,EAAU3yO,CAAK,MAGjB,OAAM,IAAI,MAAM,+BAAiCA,EAAQ,GAAG,EAG9D,OAAI01L,IACF52K,EAAU,SAAWgsF,EAAOhsF,EAAU,UAAY,CAAE,EAAE42K,CAAQ,GAGzDlxK,EAEP,SAASmuN,EAAU5uO,GAAQ,CACzB2uO,EAAQ3uO,GAAO,OAAO,EAElBA,GAAO,WACT2xL,EAAW5qF,EAAO4qF,GAAY,CAAE,EAAE3xL,GAAO,QAAQ,EAEzD,CAEI,SAAS6uO,EAAI5yO,GAAO,CAClB,GAAI,OAAOA,IAAU,WACnByyO,GAAUzyO,EAAK,UACN,OAAOA,IAAU,SACtB,WAAYA,GACdyyO,GAAU,MAAM,KAAMzyO,EAAK,EAE3B2yO,EAAU3yO,EAAK,MAGjB,OAAM,IAAI,MAAM,+BAAiCA,GAAQ,GAAG,CAEpE,CAEI,SAAS0yO,EAAQI,GAAS,CACxB,IAAI5kO,EAAQ,GAEZ,GAAI4kO,IAAY,KAET,GAAI,OAAOA,IAAY,UAAY,WAAYA,GACpD,KAAO,EAAE5kO,EAAQ4kO,GAAQ,QACvBF,EAAIE,GAAQ5kO,CAAK,CAAC,MAGpB,OAAM,IAAI,MAAM,oCAAsC4kO,GAAU,GAAG,CAE3E,CAEI,SAASL,GAAUI,GAAQ7yO,EAAO,CAChC,IAAI6nF,GAAQmgH,EAAK6qC,EAAM,EAEnBhrJ,IACEylM,EAAMzlM,GAAM,CAAC,CAAC,GAAKylM,EAAMttR,CAAK,IAChCA,EAAQ8qG,EAAO,GAAMjjB,GAAM,CAAC,EAAG7nF,CAAK,GAGtC6nF,GAAM,CAAC,EAAI7nF,GAEXwyO,EAAU,KAAKznD,EAAM,KAAK,SAAS,CAAC,CAE5C,CACA,CAEE,SAASid,EAAK6qC,EAAQ,CAGpB,QAFI3kO,EAAQ,GAEL,EAAEA,EAAQskO,EAAU,QACzB,GAAIA,EAAUtkO,CAAK,EAAE,CAAC,IAAM2kO,EAC1B,OAAOL,EAAUtkO,CAAK,CAG9B,CAIE,SAASk4F,EAAMyhI,EAAK,CAClB,IAAIhuK,EAAO83K,EAAM9J,CAAG,EAChBkmD,EAMJ,OAJAzjP,EAAM,EACNyjP,EAASvpQ,EAAU,OACnBotN,EAAa,QAASm8C,CAAM,EAExBC,EAAQD,EAAQ,OAAO,EAClB,IAAIA,EAAO,OAAOl0N,CAAI,EAAGA,CAAI,EAAE,MAAK,EAGtCk0N,EAAO,OAAOl0N,CAAI,EAAGA,CAAI,CACpC,CAIE,SAASlxD,EAAImQ,EAAM+gD,EAAM1hF,EAAI,CAS3B,GARAk6P,EAAWv5N,CAAI,EACfwxB,EAAM,EAEF,CAACnyD,GAAM,OAAO0hF,GAAS,aACzB1hF,EAAK0hF,EACLA,EAAO,MAGL,CAAC1hF,EACH,OAAO,IAAI,QAAQmmI,CAAQ,EAG7BA,EAAS,KAAMnmI,CAAE,EAEjB,SAASmmI,EAASv5G,EAASoC,GAAQ,CACjC2vM,EAAa,IAAIh+L,EAAM64N,EAAM93K,CAAI,EAAG3qC,EAAI,EAExC,SAASA,GAAKpmB,EAAO8jM,GAAM/yI,EAAM,CAC/B+yI,GAAOA,IAAQ9zL,EACXhQ,EACF3B,GAAO2B,CAAK,EACH/D,EACTA,EAAQ6nM,EAAI,EAEZz0N,EAAG,KAAMy0N,GAAM/yI,CAAI,CAE7B,CACA,CACA,CAIE,SAASg0N,EAAQ/0Q,EAAM+gD,EAAM,CAC3B,IAAI91D,EACAouO,EAEJ,OAAAxpO,EAAImQ,EAAM+gD,EAAM3qC,CAAI,EAEpBkjN,EAAW,UAAW,MAAOD,CAAQ,EAE9BpuO,EAEP,SAASmrB,EAAKpmB,GAAO8jM,GAAM,CACzBulC,EAAW,GACXpuO,EAAS6oM,GACT4hC,EAAK1lO,EAAK,CAChB,CACA,CAIE,SAASsjL,EAAUtzK,EAAM+uN,EAAK,CAC5B,IAAIhuK,EAAO83K,EAAM9J,CAAG,EAChBomD,EAOJ,OALA3jP,EAAM,EACN2jP,EAAWzpQ,EAAU,SACrBqtN,EAAe,YAAao8C,CAAQ,EACpC57C,EAAWv5N,CAAI,EAEXk1Q,EAAQC,EAAU,SAAS,EACtB,IAAIA,EAASn1Q,EAAM+gD,CAAI,EAAE,QAAO,EAGlCo0N,EAASn1Q,EAAM+gD,CAAI,CAC9B,CAME,SAAS6J,EAAQmkK,EAAK1vP,EAAI,CAKxB,GAJAmyD,EAAM,EACNsnM,EAAa,UAAWptN,EAAU,MAAM,EACxCqtN,EAAe,UAAWrtN,EAAU,QAAQ,EAExC,CAACrsC,EACH,OAAO,IAAI,QAAQmmI,CAAQ,EAG7BA,EAAS,KAAMnmI,CAAE,EAEjB,SAASmmI,EAASv5G,EAASoC,EAAQ,CACjC,IAAI0yD,GAAO83K,EAAM9J,CAAG,EAEpBsH,EAAS,IAAI3qN,EAAW,CAAC,KAAMq1C,EAAI,EAAG3qC,EAAI,EAE1C,SAASA,GAAKpmB,EAAO,CACfA,EACF3B,EAAO2B,CAAK,EACH/D,EACTA,EAAQ80D,EAAI,EAEZ1hF,EAAG,KAAM0hF,EAAI,CAEvB,CACA,CACA,CAGE,SAASi0N,EAAYjmD,EAAK,CACxB,IAAIhuK,EACAs4K,EAEJ,OAAA7nM,EAAM,EACNsnM,EAAa,cAAeptN,EAAU,MAAM,EAC5CqtN,EAAe,cAAertN,EAAU,QAAQ,EAChDq1C,EAAO83K,EAAM9J,CAAG,EAEhBnkK,EAAQ7J,EAAM3qC,CAAI,EAElBkjN,EAAW,cAAe,UAAWD,CAAQ,EAEtCt4K,EAEP,SAAS3qC,EAAKpmB,EAAO,CACnBqpO,EAAW,GACX3D,EAAK1lO,CAAK,CAChB,CACA,CACA,CAGA,SAASklR,EAAQhuR,EAAOvB,EAAM,CAC5B,OACE,OAAOuB,GAAU,YACjBA,EAAM,YAILpD,EAAKoD,EAAM,SAAS,GAAKvB,KAAQuB,EAAM,UAE5C,CAGA,SAASpD,EAAKoD,EAAO,CACnB,IAAIvE,EACJ,IAAKA,KAAOuE,EACV,MAAO,GAGT,MAAO,EACT,CAGA,SAAS4xO,EAAanzO,EAAMsvR,EAAQ,CAClC,GAAI,OAAOA,GAAW,WACpB,MAAM,IAAI,MAAM,WAAatvR,EAAO,oBAAoB,CAE5D,CAGA,SAASozO,EAAepzO,EAAMwvR,EAAU,CACtC,GAAI,OAAOA,GAAa,WACtB,MAAM,IAAI,MAAM,WAAaxvR,EAAO,sBAAsB,CAE9D,CAGA,SAASgzO,EAAehzO,EAAM20O,EAAQ,CACpC,GAAIA,EACF,MAAM,IAAI,MACR,kBACE30O,EACA,mHACR,CAEA,CAGA,SAAS4zO,EAAWv5N,EAAM,CACxB,GAAI,CAACA,GAAQ,OAAOA,EAAK,MAAS,SAChC,MAAM,IAAI,MAAM,uBAAyBA,EAAO,GAAG,CAEvD,CAGA,SAASs5N,EAAW3zO,EAAM40O,EAAWlB,EAAU,CAC7C,GAAI,CAACA,EACH,MAAM,IAAI,MACR,IAAM1zO,EAAO,0BAA4B40O,EAAY,WAC3D,CAEA,yFCzcA66C,GAAiB1lL,EAKjB,SAASA,EAAS1vF,EAAM,CACtB,OACGA,IACEA,EAAK,OACJA,EAAK,KACLA,EAAK,OACJ,aAAcA,GAAQmmG,EAAInmG,EAAK,QAAQ,GACvC,WAAYA,GAAQmmG,EAAInmG,CAAI,IACjC,EAEJ,CAEA,SAASmmG,EAAI3hG,EAAQ,CAInB,QAHIvZ,EAAS,GACTmK,EAAQ,GAEL,EAAEA,EAAQoP,EAAO,QACtBvZ,EAAOmK,CAAK,EAAIs6F,EAASlrF,EAAOpP,CAAK,CAAC,EAGxC,OAAOnK,EAAO,KAAK,EAAE,CACvB,wDC1BA,IAAIgmL,EAAS,OAAO,OAEpB,OAAAokG,GAAiBpkG,mDCFjB,IAAIwe,EAAM,GAAG,eAEb,OAAAn8F,GAAiBm8F,kDCFjB,SAASulB,EAAoB9tN,EAAO,CAClC,OACEA,EACG,QAAQ,cAAe,GAAG,EAC1B,QAAQ,SAAU,EAAE,EAMpB,YAAW,EACX,YAAW,CAElB,CAEA,OAAAouR,GAAiBtgE,kDCfjB,IAAIugE,EAAe,OAAO,aAE1B,OAAAC,GAAiBD,mDCFjB,IAAIA,EAAe35S,GAAA,EAEnB,SAAS65S,EAAYvuR,EAAOgZ,EAAM,CAChC,IAAIhC,EAAO,SAAShX,EAAOgZ,CAAI,EAE/B,OAEEhC,EAAO,GACPA,IAAS,IACRA,EAAO,IAAMA,EAAO,IACpBA,EAAO,KAAOA,EAAO,KACrBA,EAAO,OAASA,EAAO,OACvBA,EAAO,OAASA,EAAO,QACvBA,EAAO,SAAW,QAClBA,EAAO,SAAW,OACnBA,EAAO,QAEA,IAGFq3Q,EAAar3Q,CAAI,CAC1B,CAEA,OAAAw3Q,GAAiBD,wDCvBjB,SAAShgE,EAAmBv3M,EAAM,CAChC,OAAOA,EAAO,EAChB,CAEA,OAAAy3Q,GAAiBlgE,kDCJjB,SAASE,EAAcz3M,EAAM,CAC3B,OAAOA,IAAS,IAAMA,IAAS,IAAMA,IAAS,EAChD,CAEA,OAAA03Q,GAAiBjgE,kDCJjB,IAAIA,EAAgB/5O,GAAA,EAEpB,SAASi6S,EAAa7/D,EAASh4N,EAAIiM,EAAMuC,EAAK,CAC5C,IAAIw4E,EAAQx4E,EAAMA,EAAM,EAAI,IACxBrE,EAAO,EACX,OAAO6kF,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAIy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,MAAM/rN,CAAI,EACXygB,EAAOxM,CAAI,GAGblgB,EAAGkgB,CAAI,CAClB,CAEE,SAASwM,EAAOxM,EAAM,CACpB,OAAIy3M,EAAcz3M,CAAI,GAAK/V,IAAS68E,GAClCgxI,EAAQ,QAAQ93M,CAAI,EACbwM,IAGTsrM,EAAQ,KAAK/rN,CAAI,EACVjM,EAAGkgB,CAAI,EAClB,CACA,CAEA,OAAA63M,GAAiB8/D,gDC3BjB,OAAO,eAAev0Q,GAAS,aAAc,CAAC,MAAO,EAAI,CAAC,EAE1D,IAAIm0M,EAAqB75O,GAAA,EACrBm6O,EAAe35O,GAAA,EAEf05S,EAAW7/D,EAEf,SAASA,EAAkBD,EAAS,CAClC,IAAIE,EAAeF,EAAQ,QACzB,KAAK,OAAO,WAAW,eACvBG,EACAC,CACJ,EACMlgN,EACJ,OAAOggN,EAEP,SAASC,EAA2Bj4M,EAAM,CACxC,GAAIA,IAAS,KAAM,CACjB83M,EAAQ,QAAQ93M,CAAI,EACpB,MACN,CAEI,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBD,EAAaC,EAASE,EAAc,YAAY,CAC3D,CAEE,SAASE,EAAiBl4M,EAAM,CAC9B,OAAA83M,EAAQ,MAAM,WAAW,EAClBK,EAAUn4M,CAAI,CACzB,CAEE,SAASm4M,EAAUn4M,EAAM,CACvB,IAAIihC,EAAQ62K,EAAQ,MAAM,YAAa,CACrC,YAAa,OACb,SAAU9/M,CACX,GAED,OAAIA,IACFA,EAAS,KAAOipC,GAGlBjpC,EAAWipC,EACJ/yC,EAAK8R,CAAI,CACpB,CAEE,SAAS9R,EAAK8R,EAAM,CAClB,GAAIA,IAAS,KAAM,CACjB83M,EAAQ,KAAK,WAAW,EACxBA,EAAQ,KAAK,WAAW,EACxBA,EAAQ,QAAQ93M,CAAI,EACpB,MACN,CAEI,OAAIu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,WAAW,EACjBK,IAGTL,EAAQ,QAAQ93M,CAAI,EACb9R,EACX,CACA,CAEA,OAAAkV,GAAA,SAAmBw0Q,wDClEnB,IAAIrgE,EAAqB75O,GAAA,EACrBm6O,EAAe35O,GAAA,EAEf25S,EAAmB,CACrB,SAAUC,EACV,QAAS,EACX,EAEA,SAASA,EAAyBhgE,EAASh4N,EAAI45N,EAAK,CAClD,OAAO7B,EAAaC,EAASgJ,EAAiB,YAAY,EAE1D,SAASA,EAAgB9gN,EAAM,CAC7B,OAAOA,IAAS,MAAQu3M,EAAmBv3M,CAAI,EAAIlgB,EAAGkgB,CAAI,EAAI05M,EAAI15M,CAAI,CAC1E,CACA,CAEA,OAAA+3Q,GAAiBF,gDChBjB,OAAO,eAAez/D,GAAS,aAAc,CAAC,MAAO,EAAI,CAAC,EAE1D,IAAIb,EAAqB75O,GAAA,EACrBm6O,EAAe35O,GAAA,EACf25S,EAAmBx2N,GAAA,EAEnBu2N,EAAWv/D,EACXC,EAAqB,CACvB,SAAUC,CACZ,EACIy/D,EAAoB,CACtB,SAAUC,CACZ,EAEA,SAAS5/D,EAAmBP,EAAS,CACnC,IAAIx7G,EAAO,KACPpyF,EAAQ,GACRsuM,EAAY,EACZ0/D,EAAmB,CACrB,SAAUC,EACV,QAAS,EACb,EACMC,EACA3/D,EACAC,EACJ,OAAO5pI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAIw4M,EAAYtuM,EAAM,QACpBoyF,EAAK,eAAiBpyF,EAAMsuM,CAAS,EAAE,CAAC,EACjCV,EAAQ,QACb5tM,EAAMsuM,CAAS,EAAE,CAAC,EAAE,aACpBI,EACAM,CACR,EAAQl5M,CAAI,GAGDk5M,EAAkBl5M,CAAI,CACjC,CAEE,SAAS44M,EAAiB54M,EAAM,CAC9B,OAAAw4M,IACO1pI,EAAM9uE,CAAI,CACrB,CAEE,SAASk5M,EAAkBl5M,EAAM,CAG/B,OAAIo4Q,GAAiBA,EAAc,aAC1Bj/D,EAAUn5M,CAAI,GAGvBs8F,EAAK,UACHm8G,GACAA,EAAU,kBACVA,EAAU,iBAAiB,cAC7Bn8G,EAAK,eAAiB,GACfw7G,EAAQ,QACbQ,EACAgB,EACAH,CACN,EAAMn5M,CAAI,EACV,CAEE,SAASs5M,EAAkBt5M,EAAM,CAC/B,OAAAkK,EAAM,KAAK,CAACoyF,EAAK,iBAAkBA,EAAK,cAAc,CAAC,EACvDA,EAAK,eAAiB,OACf48G,EAAkBl5M,CAAI,CACjC,CAEE,SAASm5M,EAAUn5M,EAAM,CACvB,GAAIA,IAAS,KAAM,CACjBi5M,EAAe,EAAG,EAAI,EACtBnB,EAAQ,QAAQ93M,CAAI,EACpB,MACN,CAEI,OAAAy4M,EAAYA,GAAan8G,EAAK,OAAO,KAAKA,EAAK,IAAK,GACpDw7G,EAAQ,MAAM,YAAa,CACzB,YAAa,OACb,SAAUY,EACV,WAAYD,CACb,GACMc,EAAav5M,CAAI,CAC5B,CAEE,SAASu5M,EAAav5M,EAAM,CAC1B,OAAIA,IAAS,MACXq4Q,EAAavgE,EAAQ,KAAK,WAAW,CAAC,EAC/BqB,EAAUn5M,CAAI,GAGnBu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,QAAQ93M,CAAI,EACpBq4Q,EAAavgE,EAAQ,KAAK,WAAW,CAAC,EAC/BA,EAAQ,MAAMogE,EAAkBI,CAAiB,IAG1DxgE,EAAQ,QAAQ93M,CAAI,EACbu5M,EACX,CAEE,SAAS++D,EAAkBt4Q,EAAM,CAC/B,OAAAi5M,EACEm/D,EAAc,UACdA,GAAiBA,EAAc,OACrC,EACI5/D,EAAY,EACL1pI,EAAM9uE,CAAI,CACrB,CAEE,SAASq4Q,EAAap3O,EAAO,CACvBy3K,IAAYA,EAAW,KAAOz3K,GAClCy3K,EAAaz3K,EACbw3K,EAAU,KAAO2/D,GAAiBA,EAAc,KAChD3/D,EAAU,WAAWx3K,EAAM,KAAK,EAChCw3K,EAAU,MAAMn8G,EAAK,YAAYr7D,CAAK,CAAC,CAC3C,CAEE,SAASg4K,EAAehvN,EAAM65D,EAAK,CACjC,IAAI5sD,EAAQgT,EAAM,OAOlB,IALIuuM,GAAa30J,IACf20J,EAAU,MAAM,CAAC,IAAI,CAAC,EACtBC,EAAaD,EAAY,QAGpBvhN,KAAUjN,GACfqyG,EAAK,eAAiBpyF,EAAMhT,CAAK,EAAE,CAAC,EACpCgT,EAAMhT,CAAK,EAAE,CAAC,EAAE,KAAK,KAAKolG,EAAMw7G,CAAO,EAGzC5tM,EAAM,OAASjgB,CACnB,CAEE,SAASkuR,EAAgBrgE,EAASh4N,EAAI,CACpC,IAAIy4R,EAAe,EACnB,OAAAH,EAAgB,GACTI,EAEP,SAASA,EAAax4Q,EAAM,CAC1B,OAAIu4Q,EAAeruQ,EAAM,QACvBoyF,EAAK,eAAiBpyF,EAAMquQ,CAAY,EAAE,CAAC,EACpCzgE,EAAQ,QACb5tM,EAAMquQ,CAAY,EAAE,CAAC,EAAE,aACvBE,EACAC,CACV,EAAU14Q,CAAI,GAIJy4M,EAAU,kBAAoBA,EAAU,iBAAiB,UAC3D2/D,EAAc,aAAe,GACtBO,EAAY34Q,CAAI,IAGzBs8F,EAAK,UACHm8G,EAAU,kBAAoBA,EAAU,iBAAiB,cAC3Dn8G,EAAK,eAAiB,GACfw7G,EAAQ,QACbQ,EACAsgE,EACAD,CACR,EAAQ34Q,CAAI,EACZ,CAEI,SAASy4Q,EAAgBz4Q,EAAM,CAC7B,OAAAu4Q,IACOj8K,EAAK,eAAe,WACvBs8K,EAAe54Q,CAAI,EACnBw4Q,EAAax4Q,CAAI,CAC3B,CAEI,SAAS04Q,EAAY14Q,EAAM,CACzB,OAAIy4M,EAAU,kBAAoBA,EAAU,iBAAiB,MAE3Dn8G,EAAK,eAAiB,GACfw7G,EAAQ,QACbQ,EACAsgE,EACA9gE,EAAQ,QACNkgE,EACAY,EACA9gE,EAAQ,MAAM+/D,EAAkBe,EAAgBC,CAAW,CACvE,CACA,EAAU74Q,CAAI,GAGD44Q,EAAe54Q,CAAI,CAChC,CAEI,SAAS64Q,EAAY74Q,EAAM,CAEzB,OAAAu4Q,EAAeruQ,EAAM,OACrBkuQ,EAAc,KAAO,GACrBA,EAAc,aAAe,GACtBO,EAAY34Q,CAAI,CACxB,CAED,SAAS44Q,EAAe54Q,EAAM,CAC5B,OAAAo4Q,EAAc,QAAU,GACjBO,EAAY34Q,CAAI,CAC7B,CAEI,SAAS24Q,EAAY34Q,EAAM,CACzB,OAAAo4Q,EAAc,UAAYG,EAC1Bj8K,EAAK,UAAYA,EAAK,eAAiB,OAChCx8G,EAAGkgB,CAAI,CACpB,CACA,CACA,CAEA,SAASu4M,EAAkBT,EAASh4N,EAAI45N,EAAK,CAC3C,OAAO7B,EACLC,EACAA,EAAQ,QAAQ,KAAK,OAAO,WAAW,SAAUh4N,EAAI45N,CAAG,EACxD,aACA,KAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACR,CACA,CAEA,SAASu+D,EAAiBngE,EAASh4N,EAAI45N,EAAK,CAC1C,OAAO7B,EACLC,EACAA,EAAQ,KAAK,KAAK,OAAO,WAAW,KAAMh4N,EAAI45N,CAAG,EACjD,aACA,KAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACR,CACA,CAEAtB,UAAA,SAAmBw/D,yDCxOnB,SAASkB,EAAWvvD,EAAQ,CAI1B,QAHIryN,EAAQ,GACRjN,EAAO,EAEJ,EAAEiN,EAAQqyN,EAAO,QACtBt/N,GAAQ,OAAOs/N,EAAOryN,CAAK,GAAM,SAAWqyN,EAAOryN,CAAK,EAAE,OAAS,EAGrE,OAAOjN,CACT,CAEA,OAAA8uR,GAAiBD,kDCbjB,IAAIA,EAAap7S,IAAA,EAEjB,SAASs7S,EAAWnsQ,EAAQ9gB,EAAM,CAChC,IAAImyG,EAAOrxF,EAAOA,EAAO,OAAS,CAAC,EACnC,MAAI,CAACqxF,GAAQA,EAAK,CAAC,EAAE,OAASnyG,EAAa,EACpC+sR,EAAW56K,EAAK,CAAC,EAAE,YAAYA,EAAK,CAAC,CAAC,CAAC,CAChD,CAEA,OAAA+6K,GAAiBD,mDCRjB,IAAIn+M,EAAS,GAAG,OAEhB,OAAAq+M,GAAiBr+M,kDCFjB,IAAIA,EAASn9F,IAAA,EAIb,SAASy7S,EAAcnjN,EAAM8Y,EAAOsnI,EAAQhoN,EAAO,CACjD,IAAI01D,EAAMkS,EAAK,OACXqgJ,EAAa,EACb3kB,EAUJ,GARI5iH,EAAQ,EACVA,EAAQ,CAACA,EAAQhrB,EAAM,EAAIA,EAAMgrB,EAEjCA,EAAQA,EAAQhrB,EAAMA,EAAMgrB,EAG9BsnI,EAASA,EAAS,EAAIA,EAAS,EAE3BhoN,EAAM,OAAS,IACjBsjM,EAAa,MAAM,KAAKtjM,CAAK,EAC7BsjM,EAAW,QAAQ5iH,EAAOsnI,CAAM,EAChCv7I,EAAO,MAAM7E,EAAM07H,CAAU,MAK7B,KAFI0kB,GAAQv7I,EAAO,MAAM7E,EAAM,CAAC8Y,EAAOsnI,CAAM,CAAC,EAEvCC,EAAajoN,EAAM,QACxBsjM,EAAatjM,EAAM,MAAMioN,EAAYA,EAAa,GAAK,EACvD3kB,EAAW,QAAQ5iH,EAAO,CAAC,EAC3BjU,EAAO,MAAM7E,EAAM07H,CAAU,EAC7B2kB,GAAc,IACdvnI,GAAS,GAGf,CAEA,OAAAsqM,GAAiBD,kDCnCjB,IAAIpmG,EAASr1M,GAAA,EAEb,SAASm5P,EAAQ1iO,EAAQ,CACvB,OAAO4+K,EAAO,GAAI5+K,CAAM,CAC1B,CAEA,OAAAklR,GAAiBxiD,mDCNjB,IAAI9jD,EAASr1M,GAAA,EACTy7S,EAAgBj7S,GAAA,EAChB24P,EAAUx1K,GAAA,EAEd,SAAS48J,EAAYpxM,EAAQ,CAW3B,QAVIsxM,EAAQ,GACRjnN,EAAQ,GACRpP,EACAs2N,EACAC,EACAC,EACA5sB,EACA6sB,EACAC,EAEG,EAAEtnN,EAAQ2V,EAAO,QAAQ,CAC9B,KAAO3V,KAASinN,GACdjnN,EAAQinN,EAAMjnN,CAAK,EAMrB,GAHApP,EAAQ+kB,EAAO3V,CAAK,EAIlBA,GACApP,EAAM,CAAC,EAAE,OAAS,aAClB+kB,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,OAAS,mBAE9BqnN,EAAYz2N,EAAM,CAAC,EAAE,WAAW,OAChCu2N,EAAa,EAGXA,EAAaE,EAAU,QACvBA,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,oBAElCA,GAAc,GAIdA,EAAaE,EAAU,QACvBA,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,WAElC,KAAO,EAAEA,EAAaE,EAAU,QAC1BA,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,WAIlCE,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,cACpCE,EAAUF,CAAU,EAAE,CAAC,EAAE,2BAA6B,GACtDA,KAMR,GAAIv2N,EAAM,CAAC,IAAM,QACXA,EAAM,CAAC,EAAE,cACXirL,EAAOorC,EAAOM,EAAW5xM,EAAQ3V,CAAK,CAAC,EACvCA,EAAQinN,EAAMjnN,CAAK,EACnBsnN,EAAO,YAGF12N,EAAM,CAAC,EAAE,YAAcA,EAAM,CAAC,EAAE,yBAA0B,CAIjE,IAHAu2N,EAAannN,EACbknN,EAAY,OAELC,MACLC,EAAazxM,EAAOwxM,CAAU,EAG5BC,EAAW,CAAC,EAAE,OAAS,cACvBA,EAAW,CAAC,EAAE,OAAS,oBAEnBA,EAAW,CAAC,IAAM,UAChBF,IACFvxM,EAAOuxM,CAAS,EAAE,CAAC,EAAE,KAAO,mBAG9BE,EAAW,CAAC,EAAE,KAAO,aACrBF,EAAYC,GAOdD,IAEFt2N,EAAM,CAAC,EAAE,IAAM+uO,EAAQhqN,EAAOuxM,CAAS,EAAE,CAAC,EAAE,KAAK,EAEjD1sB,EAAa7kL,EAAO,MAAMuxM,EAAWlnN,CAAK,EAC1Cw6L,EAAW,QAAQ5pM,CAAK,EACxBqxR,EAActsQ,EAAQuxM,EAAWlnN,EAAQknN,EAAY,EAAG1sB,CAAU,EAE1E,CACA,CAEE,MAAO,CAAC8sB,CACV,CAEA,SAASC,EAAW5xM,EAAQ6xM,EAAY,CAkBtC,QAjBIz9K,EAAQp0B,EAAO6xM,CAAU,EAAE,CAAC,EAC5BnqN,EAAUsY,EAAO6xM,CAAU,EAAE,CAAC,EAC9Bx3B,EAAgBw3B,EAAa,EAC7BC,EAAiB,GACjBz9B,EACFjgJ,EAAM,YAAc1sC,EAAQ,OAAO0sC,EAAM,WAAW,EAAEA,EAAM,KAAK,EAC/D29K,EAAc19B,EAAU,OACxBi9B,EAAQ,GACRU,EAAO,GACPv7G,EACAtrG,EACAd,EACAoiR,EACAx1N,EACAg7J,EAGG79K,GAAO,CAEZ,KAAOp0B,EAAO,EAAEq6K,CAAa,EAAE,CAAC,IAAMjmJ,GAAO,CAI7C09K,EAAe,KAAKz3B,CAAa,EAE5BjmJ,EAAM,aACTqiE,EAAS/uG,EAAQ,YAAY0sC,CAAK,EAE7BA,EAAM,MACTqiE,EAAO,KAAK,IAAI,EAGdtrG,GACFkpL,EAAU,WAAWjgJ,EAAM,KAAK,EAG9BA,EAAM,6BACRigJ,EAAU,mCAAqC,IAGjDA,EAAU,MAAM59E,CAAM,EAElBriE,EAAM,6BACRigJ,EAAU,mCAAqC,SAInDlpL,EAAWipC,EACXA,EAAQA,EAAM,IACf,CAMD,IAHAA,EAAQjpC,EACRd,EAAQ0nN,EAAY,OAEb1nN,KAGD0nN,EAAY1nN,CAAK,EAAE,CAAC,IAAM,QAC5BoiR,EAAU,GAGVA,GACA16D,EAAY1nN,CAAK,EAAE,CAAC,EAAE,OAAS0nN,EAAY1nN,EAAQ,CAAC,EAAE,CAAC,EAAE,MACzD0nN,EAAY1nN,CAAK,EAAE,CAAC,EAAE,MAAM,OAAS0nN,EAAY1nN,CAAK,EAAE,CAAC,EAAE,IAAI,OAE/D0kO,EAAIhd,EAAY,MAAM1nN,EAAQ,EAAG4sD,CAAG,CAAC,EAErC7iB,EAAM,WAAaA,EAAM,KAAO,OAChCA,EAAQA,EAAM,SACd6iB,EAAM5sD,EAAQ,GAWlB,IANAgqL,EAAU,OAASjgJ,EAAM,WAAaA,EAAM,KAAO,OAEnD26L,EAAIhd,EAAY,MAAM,EAAG96J,CAAG,CAAC,EAC7B5sD,EAAQ,GACR4nN,EAAS,EAEF,EAAE5nN,EAAQinN,EAAM,QACrBU,EAAKC,EAASX,EAAMjnN,CAAK,EAAE,CAAC,CAAC,EAAI4nN,EAASX,EAAMjnN,CAAK,EAAE,CAAC,EACxD4nN,GAAUX,EAAMjnN,CAAK,EAAE,CAAC,EAAIinN,EAAMjnN,CAAK,EAAE,CAAC,EAAI,EAGhD,OAAO2nN,EAEP,SAAS+c,EAAI7nD,EAAO,CAClB,IAAIjlG,EAAQ6vI,EAAe,IAAG,EAC9BR,EAAM,QAAQ,CAACrvI,EAAOA,EAAQilG,EAAM,OAAS,CAAC,CAAC,EAC/ColG,EAActsQ,EAAQiiE,EAAO,EAAGilG,CAAK,CACzC,CACA,CAEA,OAAAwlG,GAAiBt7D,mDCpMjB,IAAI1G,EAAqB75O,GAAA,EACrBs7S,EAAa96S,GAAA,EACb+/O,EAAc58J,IAAA,EACdw2J,EAAet2J,GAAA,EAGfn+C,EAAU,CACZ,SAAU67M,EACV,QAASD,EACT,cAAe,GACf,KAAM,EACR,EACIE,EAAwB,CAC1B,SAAUC,EACV,QAAS,EACV,EAGD,SAASH,EAAenyM,EAAQ,CAC9B,OAAAoxM,EAAYpxM,CAAM,EACXA,CACT,CAEA,SAASoyM,EAAgBnH,EAASh4N,EAAI,CACpC,IAAIkY,EACJ,OAAO82E,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,SAAS,EACvB9/M,EAAW8/M,EAAQ,MAAM,eAAgB,CACvC,YAAa,SACd,GACM5pN,EAAK8R,CAAI,CACpB,CAEE,SAAS9R,EAAK8R,EAAM,CAClB,OAAIA,IAAS,KACJq/M,EAAWr/M,CAAI,EAGpBu3M,EAAmBv3M,CAAI,EAClB83M,EAAQ,MACboH,EACAI,EACAD,CACR,EAAQr/M,CAAI,GAGR83M,EAAQ,QAAQ93M,CAAI,EACb9R,EACX,CAEE,SAASmxN,EAAWr/M,EAAM,CACxB,OAAA83M,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,KAAK,SAAS,EACfh4N,EAAGkgB,CAAI,CAClB,CAEE,SAASs/M,EAAgBt/M,EAAM,CAC7B,OAAA83M,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,cAAc,EAC3B9/M,EAAWA,EAAS,KAAO8/M,EAAQ,MAAM,eAAgB,CACvD,YAAa,UACb,SAAU9/M,CACX,GACM9J,CACX,CACA,CAEA,SAASixN,EAAqBrH,EAASh4N,EAAI45N,EAAK,CAC9C,IAAIp9G,EAAO,KACX,OAAOijH,EAEP,SAASA,EAAev/M,EAAM,CAC5B,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBD,EAAaC,EAAS0H,EAAU,YAAY,CACvD,CAEE,SAASA,EAASx/M,EAAM,CACtB,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,EACnC05M,EAAI15M,CAAI,EAIfs8F,EAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,IAC9D08K,EAAW18K,EAAK,OAAQ,YAAY,EAAI,EAEjCw7G,EAAQ,UAAUx7G,EAAK,OAAO,WAAW,KAAMo9G,EAAK55N,CAAE,EAAEkgB,CAAI,EAG9DlgB,EAAGkgB,CAAI,CAClB,CACA,CAEA,OAAAw5Q,GAAiBp2Q,gDChGjB,OAAO,eAAewlN,GAAS,aAAc,CAAC,MAAO,EAAI,CAAC,EAE1D,IAAIxlN,EAAU1lC,IAAA,EACVm6O,EAAe35O,GAAA,EACf25S,EAAmBx2N,GAAA,EAEnBu2N,EAAW/uD,EAEf,SAASA,EAAe/Q,EAAS,CAC/B,IAAIx7G,EAAO,KACPyhH,EAAUjG,EAAQ,QAEpB+/D,EACA/uD,EACAhR,EAAQ,QACN,KAAK,OAAO,WAAW,YACvBiR,EACAlR,EACEC,EACAA,EAAQ,QACN,KAAK,OAAO,WAAW,KACvBiR,EACAjR,EAAQ,QAAQ10M,EAAS2lN,CAAc,CACxC,EACD,YACR,CACA,CACA,EACE,OAAOhL,EAEP,SAAS+K,EAAc9oN,EAAM,CAC3B,GAAIA,IAAS,KAAM,CACjB83M,EAAQ,QAAQ93M,CAAI,EACpB,MACN,CAEI,OAAA83M,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,iBAAiB,EAC9Bx7G,EAAK,iBAAmB,OACjByhH,CACX,CAEE,SAASgL,EAAe/oN,EAAM,CAC5B,GAAIA,IAAS,KAAM,CACjB83M,EAAQ,QAAQ93M,CAAI,EACpB,MACN,CAEI,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EACzBx7G,EAAK,iBAAmB,OACjByhH,CACX,CACA,CAEA,OAAA6K,GAAA,SAAmBgvD,sDCzDnB,OAAO,eAAe6B,GAAS,aAAc,CAAC,MAAO,EAAI,CAAC,EAE1D,IAAI1mG,EAASr1M,GAAA,EACTm5P,EAAU34P,GAAA,EAEVojC,EAAO2nN,EAAkB,MAAM,EAC/B1jK,EAAS0jK,EAAkB,QAAQ,EACnCnyM,EAAW,CACb,WAAYkyM,EAAc,CAC5B,EAEA,SAASC,EAAkBxrN,EAAO,CAChC,MAAO,CACL,SAAU0rN,EACV,WAAYH,EACVvrN,IAAU,OAASyrN,EAAyB,MAClD,CACA,EAEE,SAASC,EAAerR,EAAS,CAC/B,IAAIx7G,EAAO,KACPq6G,EAAa,KAAK,OAAO,WAAWl5M,CAAK,EACzC6D,EAAOw2M,EAAQ,QAAQnB,EAAY7nI,EAAOs6I,CAAO,EACrD,OAAOt6I,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAOs9M,EAAQt9M,CAAI,EAAIsB,EAAKtB,CAAI,EAAIopN,EAAQppN,CAAI,CACtD,CAEI,SAASopN,EAAQppN,EAAM,CACrB,GAAIA,IAAS,KAAM,CACjB83M,EAAQ,QAAQ93M,CAAI,EACpB,MACR,CAEM,OAAA83M,EAAQ,MAAM,MAAM,EACpBA,EAAQ,QAAQ93M,CAAI,EACb9R,CACb,CAEI,SAASA,EAAK8R,EAAM,CAClB,OAAIs9M,EAAQt9M,CAAI,GACd83M,EAAQ,KAAK,MAAM,EACZx2M,EAAKtB,CAAI,IAGlB83M,EAAQ,QAAQ93M,CAAI,EACb9R,EACb,CAEI,SAASovN,EAAQt9M,EAAM,CACrB,IAAIg2D,EAAO2gJ,EAAW32M,CAAI,EACtB9I,EAAQ,GAEZ,GAAI8I,IAAS,KACX,MAAO,GAGT,GAAIg2D,GACF,KAAO,EAAE9+D,EAAQ8+D,EAAK,QACpB,GACE,CAACA,EAAK9+D,CAAK,EAAE,UACb8+D,EAAK9+D,CAAK,EAAE,SAAS,KAAKolG,EAAMA,EAAK,QAAQ,EAE7C,MAAO,GAInB,CACA,CACA,CAEA,SAAS0sH,EAAeK,EAAe,CACrC,OAAOC,EAEP,SAASA,EAAez8M,EAAQtY,EAAS,CAKvC,QAJI2C,EAAQ,GACR0mN,EAGG,EAAE1mN,GAAS2V,EAAO,QACnB+wM,IAAU,OACR/wM,EAAO3V,CAAK,GAAK2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,SAC7C0mN,EAAQ1mN,EACRA,MAEO,CAAC2V,EAAO3V,CAAK,GAAK2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,UAEjDA,IAAU0mN,EAAQ,IACpB/wM,EAAO+wM,CAAK,EAAE,CAAC,EAAE,IAAM/wM,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,IAC5C2V,EAAO,OAAO+wM,EAAQ,EAAG1mN,EAAQ0mN,EAAQ,CAAC,EAC1C1mN,EAAQ0mN,EAAQ,GAGlBA,EAAQ,QAIZ,OAAOyL,EAAgBA,EAAcx8M,EAAQtY,CAAO,EAAIsY,CAC5D,CACC,CAQD,SAASq8M,EAAuBr8M,EAAQtY,EAAS,CAW/C,QAVImqN,EAAa,GACb6K,EACAr7N,EACA80G,EACA9rG,EACAsyN,EACAv/N,EACAu6C,EACAvD,EAEG,EAAEy9K,GAAc7xM,EAAO,QAC5B,IACG6xM,IAAe7xM,EAAO,QACrBA,EAAO6xM,CAAU,EAAE,CAAC,EAAE,OAAS,eACjC7xM,EAAO6xM,EAAa,CAAC,EAAE,CAAC,EAAE,OAAS,OACnC,CAQA,IAPAxwN,EAAO2e,EAAO6xM,EAAa,CAAC,EAAE,CAAC,EAC/B6K,EAASh1N,EAAQ,YAAYrG,CAAI,EACjCgJ,EAAQqyN,EAAO,OACfC,EAAc,GACdv/N,EAAO,EACPu6C,EAAO,OAEAttC,KAGL,GAFA8rG,EAAQumH,EAAOryN,CAAK,EAEhB,OAAO8rG,GAAU,SAAU,CAG7B,IAFAwmH,EAAcxmH,EAAM,OAEbA,EAAM,WAAWwmH,EAAc,CAAC,IAAM,IAC3Cv/N,IACAu/N,IAGF,GAAIA,EAAa,MACjBA,EAAc,EACf,SACQxmH,IAAU,GACjBx+D,EAAO,GACPv6C,YACS+4G,IAAU,GAChB,CAEH9rG,IACA,KACV,CAGUjN,IACFg3C,EAAQ,CACN,KACEy9K,IAAe7xM,EAAO,QAAU23B,GAAQv6C,EAAO,EAC3C,aACA,oBACN,MAAO,CACL,KAAMiE,EAAK,IAAI,KACf,OAAQA,EAAK,IAAI,OAASjE,EAC1B,OAAQiE,EAAK,IAAI,OAASjE,EAC1B,OAAQiE,EAAK,MAAM,OAASgJ,EAC5B,aAAcA,EACVsyN,EACAt7N,EAAK,MAAM,aAAes7N,CAC/B,EACD,IAAKqN,EAAQ3oO,EAAK,GAAG,CAC/B,EACQA,EAAK,IAAM2oO,EAAQ51L,EAAM,KAAK,EAE1B/yC,EAAK,MAAM,SAAWA,EAAK,IAAI,OACjC6kL,EAAO7kL,EAAM+yC,CAAK,GAElBp0B,EAAO,OACL6xM,EACA,EACA,CAAC,QAASz9K,EAAO1sC,CAAO,EACxB,CAAC,OAAQ0sC,EAAO1sC,CAAO,CACnC,EACUmqN,GAAc,IAIlBA,GACN,CAGE,OAAO7xM,CACT,CAEA4sQ,UAAA,SAAmB3iQ,EACnB2iQ,GAAA,OAAiBl0N,EACjBk0N,GAAA,KAAen4Q,kDCtMf,SAASo4Q,EAAS1wR,EAAO,CACvB,OAAOA,GAAU,KACb,GACA,WAAYA,EACZA,EACA,CAACA,CAAK,CACZ,CAEA,OAAA2wR,GAAiBD,mDCRjB,IAAItkL,EAAiB13H,IAAA,EACjBy7S,EAAgBj7S,GAAA,EAChBw7S,EAAWr4N,GAAA,EAEf,SAASi1J,EAAkBC,EAAY,CAIrC,QAHItuG,EAAM,GACN/wG,EAAQ,GAEL,EAAEA,EAAQq/M,EAAW,QAC1BE,EAAUxuG,EAAKsuG,EAAWr/M,CAAK,CAAC,EAGlC,OAAO+wG,CACT,CAEA,SAASwuG,EAAUxuG,EAAKwuG,EAAW,CACjC,IAAIC,EACAllL,EACAC,EACAzxB,EAEJ,IAAK02M,KAAQD,EAAW,CACtBjlL,EAAO4jE,EAAe,KAAK6S,EAAKyuG,CAAI,EAAIzuG,EAAIyuG,CAAI,EAAKzuG,EAAIyuG,CAAI,EAAI,CAAE,EACnEjlL,EAAQglL,EAAUC,CAAI,EAEtB,IAAK12M,KAAQyxB,EACXD,EAAKxxB,CAAI,EAAI22M,EACX+iE,EAASjoP,EAAMzxB,CAAI,CAAC,EACpBo1F,EAAe,KAAK5jE,EAAMxxB,CAAI,EAAIwxB,EAAKxxB,CAAI,EAAI,EACvD,CAEA,CACA,CAEA,SAAS22M,EAAW3gJ,EAAMsO,EAAU,CAIlC,QAHIptE,EAAQ,GACR0/M,EAAS,GAEN,EAAE1/M,EAAQ8+D,EAAK,SAClBA,EAAK9+D,CAAK,EAAE,MAAQ,QAAUotE,EAAWsyI,GAAQ,KAAK5gJ,EAAK9+D,CAAK,CAAC,EAGrE,OAAAiiR,EAAc70M,EAAU,EAAG,EAAGsyI,CAAM,EAC7BtyI,CACT,CAEA,OAAAs1M,GAAiBtjE,kDC9CjB,IAAI6iE,EAAgBz7S,GAAA,EAEpB,SAASsgP,EAAYhoJ,EAAM5nE,EAAO,CAChC,OAAI4nE,EAAK,QACPmjN,EAAcnjN,EAAMA,EAAK,OAAQ,EAAG5nE,CAAK,EAClC4nE,GAGF5nE,CACT,CAEA,OAAAyrR,GAAiB77D,kDCXjB,SAASpE,EAAWjD,EAAY9pM,EAAQtY,EAAS,CAK/C,QAJIslN,EAAS,GACT3iN,EAAQ,GACRnJ,EAEG,EAAEmJ,EAAQy/M,EAAW,QAC1B5oN,EAAU4oN,EAAWz/M,CAAK,EAAE,WAExBnJ,GAAW8rN,EAAO,QAAQ9rN,CAAO,EAAI,IACvC8e,EAAS9e,EAAQ8e,EAAQtY,CAAO,EAChCslN,EAAO,KAAK9rN,CAAO,GAIvB,OAAO8e,CACT,CAEA,OAAAitQ,GAAiBlgE,mDCjBjB,IAAIy9D,EAAe35S,GAAA,EAEnB,SAASitP,EAAgBpB,EAAQ,CAO/B,QANIryN,EAAQ,GACRnK,EAAS,GACTi2G,EACAh6G,EACAmjO,EAEG,EAAEj1N,EAAQqyN,EAAO,QAAQ,CAG9B,GAFAvmH,EAAQumH,EAAOryN,CAAK,EAEhB,OAAO8rG,GAAU,SACnBh6G,EAAQg6G,UACCA,IAAU,GACnBh6G,EAAQ,aACCg6G,IAAU,GACnBh6G,EAAQ;AAAA,UACCg6G,IAAU,GACnBh6G,EAAQ;AAAA,UACCg6G,IAAU,GACnBh6G,EAAQ,YACCg6G,IAAU,GAAI,CACvB,GAAImpH,EAAO,SACXnjO,EAAQ,GACd,MAEMA,EAAQquR,EAAar0K,CAAK,EAG5BmpH,EAAQnpH,IAAU,GAClBj2G,EAAO,KAAK/D,CAAK,CACrB,CAEE,OAAO+D,EAAO,KAAK,EAAE,CACvB,CAEA,OAAAgtR,GAAiBpvD,mDCrCjB,SAASC,EAAYrB,EAAQtoL,EAAO,CAClC,IAAIoqD,EAAapqD,EAAM,MAAM,OACzBgrL,EAAmBhrL,EAAM,MAAM,aAC/B0tJ,EAAW1tJ,EAAM,IAAI,OACrBirL,EAAiBjrL,EAAM,IAAI,aAC3BmvB,EAEJ,OAAIi7B,IAAesjG,EACjBv+H,EAAO,CAACm5J,EAAOl+H,CAAU,EAAE,MAAM4gI,EAAkBC,CAAc,CAAC,GAElE97J,EAAOm5J,EAAO,MAAMl+H,EAAYsjG,CAAQ,EAEpCs9B,EAAmB,KACrB77J,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAE,MAAM67J,CAAgB,GAGtCC,EAAiB,GACnB97J,EAAK,KAAKm5J,EAAO56B,CAAQ,EAAE,MAAM,EAAGu9B,CAAc,CAAC,GAIhD97J,CACT,CAEA,OAAA4pN,GAAiBpvD,mDCxBjB,IAAI73C,EAASr1M,GAAA,EACT65O,EAAqBr5O,GAAA,EACrB8/O,EAAc38J,GAAA,EACd83N,EAAgB53N,GAAA,EAChBm4N,EAAWl4N,GAAA,EACXo4J,EAAa28D,GAAA,EACb5rD,EAAkBsvD,IAAA,EAClBpjD,EAAUqjD,GAAA,EACVtvD,EAAcuvD,IAAA,EASlB,SAASrwD,EAAgBxvH,EAAQxuC,EAAY/mE,EAAM,CACjD,IAAI+hK,EAAQ/hK,EACR8xO,EAAQ9xO,CAAI,EACZ,CACE,KAAM,EACN,OAAQ,EACR,OAAQ,CAChB,EACMglO,EAAc,GACdC,EAAuB,GACvBT,EAAS,GACTr/M,EAAQ,GAER4tM,EAAU,CACZ,QAASsS,EACT,MAAOxM,EACP,KAAMvC,EACN,QAAS4O,EAAiBC,CAAqB,EAC/C,MAAOD,EAAiBE,CAAiB,EACzC,UAAWF,EAAiBE,EAAmB,CAC7C,UAAW,EACjB,CAAK,EACD,KAAMF,EAAiBE,EAAmB,CACxC,KAAM,EACP,EACF,EAEG51N,EAAU,CACZ,SAAU,KACV,OAAQ,CAAE,EACV,OAAQ+lG,EACR,YAAaiwH,EACb,eAAgBD,EAChB,IAAKjsH,EACL,WAAY01C,EACZ,MAAOy2E,CACR,EAEGjiO,EAAQujE,EAAW,SAAS,KAAKv3D,EAASujN,CAAO,EAErD,OAAIhsJ,EAAW,YACbk+J,EAAqB,KAAKl+J,CAAU,EAGtCg7F,EAAM,OAAS,EACfA,EAAM,aAAe,GACdvyJ,EAEP,SAASi2N,EAAMz2C,EAAO,CAIpB,OAHAw1C,EAASvL,EAAYuL,EAAQx1C,CAAK,EAClC2xB,EAAM,EAEF6jB,EAAOA,EAAO,OAAS,CAAC,IAAM,KACzB,IAGTkB,EAAU3+J,EAAY,CAAC,EAEvBv3D,EAAQ,OAASqlN,EAAWoQ,EAAsBz1N,EAAQ,OAAQA,CAAO,EAClEA,EAAQ,OAChB,CAID,SAAS+1N,EAAerpL,EAAO,CAC7B,OAAO0pL,EAAgBJ,EAAYtpL,CAAK,CAAC,CAC7C,CAEE,SAASspL,EAAYtpL,EAAO,CAC1B,OAAO2pL,EAAYrB,EAAQtoL,CAAK,CACpC,CAEE,SAASo9D,GAAM,CACb,OAAOw4H,EAAQ/vE,CAAK,CACxB,CAEE,SAAS/S,EAAK/qJ,EAAO,CACnB+gO,EAAY/gO,EAAM,IAAI,EAAIA,EAAM,OAChC+hO,EAAuB,CACxB,CAUD,SAASrlB,GAAO,CAId,QAHIslB,EACAhoH,EAEG8jD,EAAM,OAASyiE,EAAO,QAG3B,GAFAvmH,EAAQumH,EAAOziE,EAAM,MAAM,EAEvB,OAAO9jD,GAAU,SAOnB,IANAgoH,EAAalkE,EAAM,OAEfA,EAAM,aAAe,IACvBA,EAAM,aAAe,GAIrBA,EAAM,SAAWkkE,GACjBlkE,EAAM,aAAe9jD,EAAM,QAE3B5tD,EAAG4tD,EAAM,WAAW8jD,EAAM,YAAY,CAAC,OAGzC1xG,EAAG4tD,CAAK,CAGb,CAED,SAAS5tD,EAAGp1C,EAAM,CAChBzX,EAAQA,EAAMyX,CAAI,CACnB,CAED,SAASoqN,EAAQpqN,EAAM,CACjBu3M,EAAmBv3M,CAAI,GACzB8mJ,EAAM,OACNA,EAAM,OAAS,EACfA,EAAM,QAAU9mJ,IAAS,GAAK,EAAI,EAClC+qN,EAAuB,GACd/qN,IAAS,KAClB8mJ,EAAM,SACNA,EAAM,UAGJA,EAAM,aAAe,EACvBA,EAAM,UAENA,EAAM,eAEFA,EAAM,eAAiByiE,EAAOziE,EAAM,MAAM,EAAE,SAC9CA,EAAM,aAAe,GACrBA,EAAM,WAIVvyJ,EAAQ,SAAWyL,CACpB,CAED,SAAS49M,EAAM7xN,EAAMk/N,EAAQ,CAC3B,IAAIhqL,EAAQgqL,GAAU,GACtB,OAAAhqL,EAAM,KAAOl1C,EACbk1C,EAAM,MAAQo9D,EAAG,EACjB9pG,EAAQ,OAAO,KAAK,CAAC,QAAS0sC,EAAO1sC,CAAO,CAAC,EAC7C2V,EAAM,KAAK+2B,CAAK,EACTA,CACR,CAED,SAASo6K,EAAKtvN,EAAM,CAClB,IAAIk1C,EAAQ/2B,EAAM,IAAG,EACrB,OAAA+2B,EAAM,IAAMo9D,EAAG,EACf9pG,EAAQ,OAAO,KAAK,CAAC,OAAQ0sC,EAAO1sC,CAAO,CAAC,EACrC0sC,CACR,CAED,SAASipL,EAAsBgB,EAAWthH,EAAM,CAC9C6gH,EAAUS,EAAWthH,EAAK,IAAI,CAC/B,CAED,SAASugH,EAAkBe,EAAWthH,EAAM,CAC1CA,EAAK,QAAO,CACb,CAED,SAASqgH,EAAiBkB,EAAUF,EAAQ,CAC1C,OAAOvU,EAGP,SAASA,EAAKC,EAAYmN,GAAasH,GAAY,CACjD,IAAIC,EACAC,GACAC,EACA3hH,GACJ,OAAO+sG,EAAW,UAAY,WAAYA,EACtC6U,GAAuBkuD,EAAS/iE,CAAU,CAAC,EAC3C8U,GAEJ,SAASA,GAAsBzrN,GAAM,CACnC,OAAIA,MAAQ22M,GAAc,QAAQA,EACzB6U,GACL7U,EAAW,KAEP+iE,EAAS/iE,EAAW32M,EAAI,CAAC,EAAE,OAAO05Q,EAAS/iE,EAAW,IAAI,CAAC,EAC3DA,EAAW32M,EAAI,CAC/B,EAAYA,EAAI,EAGDorN,GAAWprN,EAAI,CAC9B,CAEM,SAASwrN,GAAuBx1J,GAAM,CACpC,OAAAq1J,EAAmBr1J,GACnBs1J,GAAiB,EACVI,GAAgB11J,GAAKs1J,EAAc,CAAC,CACnD,CAEM,SAASI,GAAgBR,GAAW,CAClC,OAAOp8I,GAEP,SAASA,GAAM9uE,GAAM,CAYnB,OAPA4pG,GAAOzzF,EAAK,EACZo1M,EAAmBL,GAEdA,GAAU,UACb32N,EAAQ,iBAAmB22N,IAI3BA,GAAU,MACV32N,EAAQ,OAAO,WAAW,QAAQ,KAAK,QAAQ22N,GAAU,IAAI,EAAI,GAE1DxR,EAAG,EAGLwR,GAAU,SAAS,KACxBD,EAASl4C,EAAO,GAAIx+K,EAAS02N,CAAM,EAAI12N,EACvCujN,EACAh4N,GACA45N,CACZ,EAAY15M,EAAI,CAChB,CACA,CAEM,SAASlgB,GAAGkgB,GAAM,CAChB,OAAAmrN,EAASI,EAAkB3hH,EAAI,EACxBk6G,EACf,CAEM,SAASpK,EAAI15M,GAAM,CAGjB,OAFA4pG,GAAK,QAAO,EAER,EAAE0hH,GAAiBD,EAAiB,OAC/BK,GAAgBL,EAAiBC,EAAc,CAAC,EAGlDF,EACf,CACA,CACA,CAEE,SAASX,EAAUS,EAAWnmO,EAAM,CAC9BmmO,EAAU,YAAclB,EAAqB,QAAQkB,CAAS,EAAI,GACpElB,EAAqB,KAAKkB,CAAS,EAGjCA,EAAU,SACZiuD,EACE5kR,EAAQ,OACRxP,EACAwP,EAAQ,OAAO,OAASxP,EACxBmmO,EAAU,QAAQ32N,EAAQ,OAAO,MAAMxP,CAAI,EAAGwP,CAAO,CAC7D,EAGQ22N,EAAU,YACZ32N,EAAQ,OAAS22N,EAAU,UAAU32N,EAAQ,OAAQA,CAAO,EAElE,CAEE,SAAS4hB,GAAQ,CACf,IAAIw1M,EAAattH,EAAG,EAChButH,EAAgBr3N,EAAQ,SACxBs3N,EAAwBt3N,EAAQ,iBAChCu3N,EAAmBv3N,EAAQ,OAAO,OAClCw3N,GAAa,MAAM,KAAK7hN,CAAK,EACjC,MAAO,CACL,QAAS8hN,GACT,KAAMF,CACZ,EAEI,SAASE,IAAU,CACjBllE,EAAQ6kE,EACRp3N,EAAQ,SAAWq3N,EACnBr3N,EAAQ,iBAAmBs3N,EAC3Bt3N,EAAQ,OAAO,OAASu3N,EACxB5hN,EAAQ6hN,GACRhB,EAAuB,CAC7B,CACA,CAEE,SAASA,GAA0B,CAC7BjkE,EAAM,QAAQijE,GAAejjE,EAAM,OAAS,IAC9CA,EAAM,OAASijE,EAAYjjE,EAAM,IAAI,EACrCA,EAAM,QAAUijE,EAAYjjE,EAAM,IAAI,EAAI,EAEhD,CACA,CAEA,OAAAszH,GAAiBtwD,wDCzTjB,SAAStS,EAA0Bx3M,EAAM,CACvC,OAAOA,EAAO,GAAKA,IAAS,EAC9B,CAEA,OAAAq6Q,GAAiB7iE,mDCEjB,IAAIE,EAAqB,mvCAEzB,OAAA4iE,GAAiB5iE,kDCRjB,IAAI2/D,EAAe35S,GAAA,EAEnB,SAASs5O,EAAWhrL,EAAO,CACzB,OAAO/C,EAEP,SAASA,EAAMjpB,EAAM,CACnB,OAAOgsB,EAAM,KAAKqrP,EAAar3Q,CAAI,CAAC,CACxC,CACA,CAEA,OAAAu6Q,GAAiBvjE,mDCVjB,IAAIsjE,EAA0B58S,IAAA,EAC1Bs5O,EAAa94O,GAAA,EAIbw5O,EAAqBV,EAAWsjE,CAAuB,EAE3D,OAAAE,GAAiB9iE,mDCPjB,IAAIV,EAAat5O,GAAA,EAEbi6O,EAAoBX,EAAW,IAAI,EAEvC,OAAAyjE,GAAiB9iE,mDCJjB,IAAIH,EAA4B95O,GAAA,EAC5Bg6O,EAAqBx5O,IAAA,EACrBy5O,EAAoBt2J,IAAA,EAMxB,SAASs4J,EAAkB35M,EAAM,CAC/B,GACEA,IAAS,MACTw3M,EAA0Bx3M,CAAI,GAC9B23M,EAAkB33M,CAAI,EAEtB,MAAO,GAGT,GAAI03M,EAAmB13M,CAAI,EACzB,MAAO,EAEX,CAEA,OAAA06Q,GAAiB/gE,mDCpBjB,SAASU,EAAUvzD,EAAOriG,EAAQ,CAChC,OAAAqiG,EAAM,QAAUriG,EAChBqiG,EAAM,QAAUriG,EAChBqiG,EAAM,cAAgBriG,EACfqiG,CACT,CAEA,OAAA6zH,GAAiBtgE,mDCTjB,IAAI2D,EAActgP,GAAA,EACdy7S,EAAgBj7S,GAAA,EAChBy7O,EAAoBt4J,IAAA,EACpBg5J,EAAY94J,IAAA,EACZq4J,EAAap4J,GAAA,EACbq1K,EAAU0/C,GAAA,EAEVz8D,EAAY,CACd,KAAM,YACN,SAAUE,EACV,WAAYD,CACd,EAEA,SAASA,EAAoBltM,EAAQtY,EAAS,CAc5C,QAbI2C,EAAQ,GACR2sH,EACA7pF,EACA14B,EACA24M,EACAC,EACAC,EACAC,EACA31J,EAKG,EAAEvtD,EAAQ2V,EAAO,QAEtB,GACEA,EAAO3V,CAAK,EAAE,CAAC,IAAM,SACrB2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,qBAC1B2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,QAIjB,IAFA2sH,EAAO3sH,EAEA2sH,KAEL,GACEh3G,EAAOg3G,CAAI,EAAE,CAAC,IAAM,QACpBh3G,EAAOg3G,CAAI,EAAE,CAAC,EAAE,OAAS,qBACzBh3G,EAAOg3G,CAAI,EAAE,CAAC,EAAE,OAChBtvH,EAAQ,eAAesY,EAAOg3G,CAAI,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAClDtvH,EAAQ,eAAesY,EAAO3V,CAAK,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,EACvD,CAKA,IACG2V,EAAOg3G,CAAI,EAAE,CAAC,EAAE,QAAUh3G,EAAO3V,CAAK,EAAE,CAAC,EAAE,SAC3C2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,IAAI,OAAS2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,MAAM,QAAU,GAChE,GACG2V,EAAOg3G,CAAI,EAAE,CAAC,EAAE,IAAI,OACnBh3G,EAAOg3G,CAAI,EAAE,CAAC,EAAE,MAAM,OACtBh3G,EAAO3V,CAAK,EAAE,CAAC,EAAE,IAAI,OACrB2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,MAAM,QACzB,GAGF,SAGFijN,EACEttM,EAAOg3G,CAAI,EAAE,CAAC,EAAE,IAAI,OAASh3G,EAAOg3G,CAAI,EAAE,CAAC,EAAE,MAAM,OAAS,GAC5Dh3G,EAAO3V,CAAK,EAAE,CAAC,EAAE,IAAI,OAAS2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,MAAM,OAAS,EAC1D,EACA,EACN+iN,EAAkB,CAChB,KAAME,EAAM,EAAI,iBAAmB,mBACnC,MAAOE,EAAUwc,EAAQhqN,EAAOg3G,CAAI,EAAE,CAAC,EAAE,GAAG,EAAG,CAACs2F,CAAG,EACnD,IAAK0c,EAAQhqN,EAAOg3G,CAAI,EAAE,CAAC,EAAE,GAAG,CAC5C,EACUq2F,EAAkB,CAChB,KAAMC,EAAM,EAAI,iBAAmB,mBACnC,MAAO0c,EAAQhqN,EAAO3V,CAAK,EAAE,CAAC,EAAE,KAAK,EACrC,IAAKmjN,EAAUwc,EAAQhqN,EAAO3V,CAAK,EAAE,CAAC,EAAE,KAAK,EAAGijN,CAAG,CAC/D,EACU74M,EAAO,CACL,KAAM64M,EAAM,EAAI,aAAe,eAC/B,MAAO0c,EAAQhqN,EAAOg3G,CAAI,EAAE,CAAC,EAAE,GAAG,EAClC,IAAKgzG,EAAQhqN,EAAO3V,CAAK,EAAE,CAAC,EAAE,KAAK,CAC/C,EACU8iC,EAAQ,CACN,KAAMmgL,EAAM,EAAI,SAAW,WAC3B,MAAO0c,EAAQ5c,EAAgB,KAAK,EACpC,IAAK4c,EAAQ3c,EAAgB,GAAG,CAC5C,EACUrtM,EAAOg3G,CAAI,EAAE,CAAC,EAAE,IAAMgzG,EAAQ5c,EAAgB,KAAK,EACnDptM,EAAO3V,CAAK,EAAE,CAAC,EAAE,MAAQ2/N,EAAQ3c,EAAgB,GAAG,EACpDE,EAAa,CAAE,EAEXvtM,EAAOg3G,CAAI,EAAE,CAAC,EAAE,IAAI,OAASh3G,EAAOg3G,CAAI,EAAE,CAAC,EAAE,MAAM,SACrDu2F,EAAa4D,EAAY5D,EAAY,CACnC,CAAC,QAASvtM,EAAOg3G,CAAI,EAAE,CAAC,EAAGtvH,CAAO,EAClC,CAAC,OAAQsY,EAAOg3G,CAAI,EAAE,CAAC,EAAGtvH,CAAO,CAClC,IAGH6lN,EAAa4D,EAAY5D,EAAY,CACnC,CAAC,QAASpgL,EAAOzlC,CAAO,EACxB,CAAC,QAAS0lN,EAAiB1lN,CAAO,EAClC,CAAC,OAAQ0lN,EAAiB1lN,CAAO,EACjC,CAAC,QAAS+M,EAAM/M,CAAO,CACnC,CAAW,EAED6lN,EAAa4D,EACX5D,EACAR,EACErlN,EAAQ,OAAO,WAAW,WAAW,KACrCsY,EAAO,MAAMg3G,EAAO,EAAG3sH,CAAK,EAC5B3C,CACd,CACW,EAED6lN,EAAa4D,EAAY5D,EAAY,CACnC,CAAC,OAAQ94M,EAAM/M,CAAO,EACtB,CAAC,QAAS2lN,EAAiB3lN,CAAO,EAClC,CAAC,OAAQ2lN,EAAiB3lN,CAAO,EACjC,CAAC,OAAQylC,EAAOzlC,CAAO,CACnC,CAAW,EAEGsY,EAAO3V,CAAK,EAAE,CAAC,EAAE,IAAI,OAAS2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,MAAM,QACvDutD,EAAS,EACT21J,EAAa4D,EAAY5D,EAAY,CACnC,CAAC,QAASvtM,EAAO3V,CAAK,EAAE,CAAC,EAAG3C,CAAO,EACnC,CAAC,OAAQsY,EAAO3V,CAAK,EAAE,CAAC,EAAG3C,CAAO,CACnC,IAEDkwD,EAAS,EAGX00N,EAActsQ,EAAQg3G,EAAO,EAAG3sH,EAAQ2sH,EAAO,EAAGu2F,CAAU,EAC5DljN,EAAQ2sH,EAAOu2F,EAAW,OAAS31J,EAAS,EAC5C,KACV,EAOE,IAFAvtD,EAAQ,GAED,EAAEA,EAAQ2V,EAAO,QAClBA,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,sBAC5B2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,KAAO,QAI5B,OAAO2V,CACT,CAEA,SAASmtM,EAAkBlC,EAASh4N,EAAI,CACtC,IAAI82N,EAAS+C,EAAkB,KAAK,QAAQ,EACxCzsJ,EACJ,OAAO4hB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,mBAAmB,EACjC5qJ,EAASltD,EACFq6L,EAASr6L,CAAI,CACxB,CAEE,SAASq6L,EAASr6L,EAAM,CACtB,IAAIihC,EACAs5K,EACA12F,EACAwgD,EAEJ,OAAIrkK,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACbq6L,IAGTp5J,EAAQ62K,EAAQ,KAAK,mBAAmB,EACxCyC,EAAQZ,EAAkB35M,CAAI,EAC9B6jH,EAAO,CAAC02F,GAAUA,IAAU,GAAK3D,EACjCvyC,EAAQ,CAACuyC,GAAWA,IAAW,GAAK2D,EACpCt5K,EAAM,MAAQisB,IAAW,GAAK22D,EAAOA,IAAS+yF,GAAU,CAACvyC,GACzDpjI,EAAM,OAASisB,IAAW,GAAKm3G,EAAQA,IAAUk2C,GAAS,CAAC12F,GACpD/jI,EAAGkgB,CAAI,EAClB,CACA,CAEA,OAAA46Q,GAAiB9gE,kDCvLjB,IAAI9C,EAAat5O,GAAA,EAEbq5O,EAAaC,EAAW,UAAU,EAEtC,OAAA6jE,GAAiB9jE,kDCJjB,IAAIC,EAAat5O,GAAA,EAEbu5O,EAAoBD,EAAW,YAAY,EAE/C,OAAA8jE,GAAiB7jE,mDCJjB,IAAID,EAAat5O,GAAA,EAEbw5O,EAAaF,EAAW,qBAAqB,EAEjD,OAAA+jE,GAAiB7jE,mDCHjB,SAASC,EAAan3M,EAAM,CAC1B,OAGEA,EAAO,IAAMA,IAAS,GAE1B,CAEA,OAAAg7Q,GAAiB7jE,mDCTjB,IAAIJ,EAAar5O,GAAA,EACbu5O,EAAoB/4O,GAAA,EACpBg5O,EAAa71J,IAAA,EACb81J,EAAe51J,IAAA,EAEfi5J,EAAW,CACb,KAAM,WACN,SAAUC,CACZ,EAEA,SAASA,EAAiB3C,EAASh4N,EAAI45N,EAAK,CAC1C,IAAIzvN,EAAO,EACX,OAAO6kF,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,MAAM,kBAAkB,EACzBj0F,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAI+2M,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACb06M,GAGFxD,EAAWl3M,CAAI,EAAI26M,EAAW36M,CAAI,EAAI05M,EAAI15M,CAAI,CACzD,CAEE,SAAS06M,EAAmB16M,EAAM,CAChC,OAAOA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMi3M,EAAkBj3M,CAAI,EACtE46M,EAAyB56M,CAAI,EAC7B26M,EAAW36M,CAAI,CACvB,CAEE,SAAS46M,EAAyB56M,EAAM,CACtC,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb66M,IAIN76M,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMi3M,EAAkBj3M,CAAI,IACpE/V,IAAS,IAET6tN,EAAQ,QAAQ93M,CAAI,EACb46M,GAGFD,EAAW36M,CAAI,CAC1B,CAEE,SAAS66M,EAAU76M,EAAM,CACvB,OAAIA,IAAS,IACX83M,EAAQ,KAAK,kBAAkB,EACxBh0J,EAAI9jD,CAAI,GAGbA,IAAS,IAAMA,IAAS,IAAMm3M,EAAan3M,CAAI,EAC1C05M,EAAI15M,CAAI,GAGjB83M,EAAQ,QAAQ93M,CAAI,EACb66M,EACX,CAEE,SAASF,EAAW36M,EAAM,CACxB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB/V,EAAO,EACA6wN,GAGL5D,EAAWl3M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACb26M,GAGFjB,EAAI15M,CAAI,CACnB,CAEE,SAAS86M,EAAiB96M,EAAM,CAC9B,OAAOi3M,EAAkBj3M,CAAI,EAAI+6M,EAAW/6M,CAAI,EAAI05M,EAAI15M,CAAI,CAChE,CAEE,SAAS+6M,EAAW/6M,EAAM,CACxB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB/V,EAAO,EACA6wN,GAGL96M,IAAS,IAEX83M,EAAQ,KAAK,kBAAkB,EAAE,KAAO,gBACjCh0J,EAAI9jD,CAAI,GAGVg7M,EAAWh7M,CAAI,CAC1B,CAEE,SAASg7M,EAAWh7M,EAAM,CACxB,OAAKA,IAAS,IAAMi3M,EAAkBj3M,CAAI,IAAM/V,IAAS,IACvD6tN,EAAQ,QAAQ93M,CAAI,EACbA,IAAS,GAAKg7M,EAAaD,GAG7BrB,EAAI15M,CAAI,CACnB,CAEE,SAAS8jD,EAAI9jD,EAAM,CACjB,OAAA83M,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,KAAK,UAAU,EAChBh4N,CACX,CACA,CAEA,OAAAm7R,GAAiBzgE,mDC1HjB,IAAI/C,EAAgB/5O,GAAA,EAChBm6O,EAAe35O,GAAA,EAEfi9O,EAAa,CACf,KAAM,aACN,SAAUG,EACV,aAAc,CACZ,SAAUF,CACX,EACD,KAAMC,CACR,EAEA,SAASC,EAAwBxD,EAASh4N,EAAI45N,EAAK,CACjD,IAAIp9G,EAAO,KACX,OAAOxtB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAIA,IAAS,IACNs8F,EAAK,eAAe,OACvBw7G,EAAQ,MAAM,aAAc,CAC1B,WAAY,EACb,GACDx7G,EAAK,eAAe,KAAO,IAG7Bw7G,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,kBAAkB,EACxByC,GAGFb,EAAI15M,CAAI,CACnB,CAEE,SAASu6M,EAAMv6M,EAAM,CACnB,OAAIy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,MAAM,4BAA4B,EAC1CA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,4BAA4B,EACzCA,EAAQ,KAAK,kBAAkB,EACxBh4N,IAGTg4N,EAAQ,KAAK,kBAAkB,EACxBh4N,EAAGkgB,CAAI,EAClB,CACA,CAEA,SAASo7M,EAA+BtD,EAASh4N,EAAI45N,EAAK,CACxD,OAAO7B,EACLC,EACAA,EAAQ,QAAQqD,EAAYr7N,EAAI45N,CAAG,EACnC,aACA,KAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACR,CACA,CAEA,SAAS2B,EAAKvD,EAAS,CACrBA,EAAQ,KAAK,YAAY,CAC3B,CAEA,OAAAojE,GAAiB//D,mDChEjB,IAAInE,EAAat5O,GAAA,EAEb45O,EAAmBN,EAAW,gBAAgB,EAElD,OAAAmkE,GAAiB7jE,mDCJjB,IAAIA,EAAmB55O,IAAA,EAEnB+9O,EAAkB,CACpB,KAAM,kBACN,SAAUC,CACZ,EAEA,SAASA,EAAwB5D,EAASh4N,EAAI45N,EAAK,CACjD,OAAO5qI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,cAAc,EACpBj0F,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIs3M,EAAiBt3M,CAAI,GACvB83M,EAAQ,MAAM,sBAAsB,EACpCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,sBAAsB,EACnCA,EAAQ,KAAK,iBAAiB,EACvBh4N,GAGF45N,EAAI15M,CAAI,CACnB,CACA,CAEA,OAAAo7Q,GAAiB3/D,mDC7BjB,IAAI94N,EAEA04R,EAAY,GAEhBC,GAAiBC,EAEjB,SAASA,EAAa7nG,EAAY,CAChC,IAAI8nG,EAAS,IAAM9nG,EAAa,IAC5BzkF,EAWJ,OATAtsG,EAAKA,GAAM,SAAS,cAAc,GAAG,EACrCA,EAAG,UAAY64R,EACfvsL,EAAOtsG,EAAG,YAONssG,EAAK,WAAWA,EAAK,OAAS,CAAC,IAAMosL,GAAa3nG,IAAe,QAK9DzkF,IAASusL,EAJP,GAIwBvsL,CACnC,yDC3BA,IAAI+nH,EAAat5O,GAAA,EAEb05O,EAAaJ,EAAW,IAAI,EAEhC,OAAAykE,GAAiBrkE,mDCJjB,IAAIJ,EAAat5O,GAAA,EAEb25O,EAAgBL,EAAW,YAAY,EAE3C,OAAA0kE,GAAiBrkE,mDCJjB,IAAIkkE,EAAe79S,IAAA,EACfu5O,EAAoB/4O,GAAA,EACpBk5O,EAAa/1J,IAAA,EACbg2J,EAAgB91J,IAAA,EAEpB,SAASo6N,EAAsB//S,EAAG,CAChC,OAAOA,GAAK,OAAOA,GAAM,UAAY,YAAaA,EAAIA,EAAI,CAAC,QAASA,CAAC,CACvE,CAEA,IAAIggT,EAAsCD,EAAsBJ,CAAY,EAExEplE,EAAqB,CACvB,KAAM,qBACN,SAAUwF,CACZ,EAEA,SAASA,EAA2B7D,EAASh4N,EAAI45N,EAAK,CACpD,IAAIp9G,EAAO,KACPryG,EAAO,EACPqE,EACAi/E,EACJ,OAAOuB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,oBAAoB,EAClCA,EAAQ,MAAM,0BAA0B,EACxCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,0BAA0B,EAChCj0F,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIA,IAAS,IACX83M,EAAQ,MAAM,iCAAiC,EAC/CA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,iCAAiC,EACvC5kB,IAGT4kB,EAAQ,MAAM,yBAAyB,EACvCxpN,EAAM,GACNi/E,EAAO0pI,EACAjuN,EAAMgX,CAAI,EACrB,CAEE,SAASkzL,EAAQlzL,EAAM,CACrB,OAAIA,IAAS,IAAMA,IAAS,KAC1B83M,EAAQ,MAAM,qCAAqC,EACnDA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,qCAAqC,EAClDA,EAAQ,MAAM,yBAAyB,EACvCxpN,EAAM,EACNi/E,EAAO8pI,EACAruN,IAGT8uN,EAAQ,MAAM,yBAAyB,EACvCxpN,EAAM,EACNi/E,EAAO6pI,EACApuN,EAAMgX,CAAI,EACrB,CAEE,SAAShX,EAAMgX,EAAM,CACnB,IAAIihC,EAEJ,OAAIjhC,IAAS,IAAM/V,GACjBg3C,EAAQ62K,EAAQ,KAAK,yBAAyB,EAG5CvqI,IAAS0pI,GACT,CAAC2kE,EAAsB,QAAWt/K,EAAK,eAAer7D,CAAK,CAAC,EAErDy4K,EAAI15M,CAAI,GAGjB83M,EAAQ,MAAM,0BAA0B,EACxCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,0BAA0B,EACvCA,EAAQ,KAAK,oBAAoB,EAC1Bh4N,IAGLytF,EAAKvtE,CAAI,GAAK/V,IAASqE,GACzBwpN,EAAQ,QAAQ93M,CAAI,EACbhX,GAGF0wN,EAAI15M,CAAI,CACnB,CACA,CAEA,OAAA67Q,GAAiB1lE,mDC3FjB,IAAIoB,EAAqB75O,GAAA,EACrB85O,EAA4Bt5O,GAAA,EAC5B86S,EAAa33N,GAAA,EACbw2J,EAAet2J,GAAA,EAEfu6J,EAAa,CACf,KAAM,aACN,SAAUC,EACV,SAAU,EACZ,EAEA,SAASA,EAAmBjE,EAASh4N,EAAI45N,EAAK,CAC5C,IAAIp9G,EAAO,KACPw/K,EAAwB,CAC1B,SAAU35C,EACV,QAAS,EACb,EACMjmB,EAAgB88D,EAAW,KAAK,OAAQ,YAAY,EACpD78D,EAAW,EACXjvJ,EACJ,OAAO4hB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,MAAM,yBAAyB,EACvC5qJ,EAASltD,EACFq8M,EAAar8M,CAAI,CAC5B,CAEE,SAASq8M,EAAar8M,EAAM,CAC1B,OAAIA,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACpBm8M,IACOE,IAGTvE,EAAQ,KAAK,yBAAyB,EAC/BqE,EAAW,EACdzC,EAAI15M,CAAI,EACR63M,EAAaC,EAASikE,EAAU,YAAY,EAAE/7Q,CAAI,EAC1D,CAEE,SAAS+7Q,EAAS/7Q,EAAM,CACtB,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,EACnCg8Q,EAAUh8Q,CAAI,GAGvB83M,EAAQ,MAAM,qBAAqB,EACnCA,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACd,GACMluG,EAAK5pG,CAAI,EACpB,CAEE,SAAS4pG,EAAK5pG,EAAM,CAClB,OAAIA,IAAS,MAAQw3M,EAA0Bx3M,CAAI,GACjD83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,qBAAqB,EAC3BD,EAAaC,EAASmkE,EAAW,YAAY,EAAEj8Q,CAAI,GAGxDA,IAAS,IAAMA,IAASktD,EAAewsJ,EAAI15M,CAAI,GACnD83M,EAAQ,QAAQ93M,CAAI,EACb4pG,EACX,CAEE,SAASqyK,EAAUj8Q,EAAM,CACvB,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,EACnCg8Q,EAAUh8Q,CAAI,GAGvB83M,EAAQ,MAAM,qBAAqB,EACnCA,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACd,GACM2E,EAAKz8M,CAAI,EACpB,CAEE,SAASy8M,EAAKz8M,EAAM,CAClB,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,qBAAqB,EAC3BkkE,EAAUh8Q,CAAI,GAGnBA,IAAS,IAAMA,IAASktD,EAAewsJ,EAAI15M,CAAI,GACnD83M,EAAQ,QAAQ93M,CAAI,EACby8M,EACX,CAEE,SAASu/D,EAAUh8Q,EAAM,CACvB,OAAA83M,EAAQ,KAAK,iBAAiB,EACvBx7G,EAAK,UAAYx8G,EAAGkgB,CAAI,EAAIoD,EAAQpD,CAAI,CACnD,CAEE,SAASoD,EAAQpD,EAAM,CACrB,OAAIA,IAAS,KACJu6M,EAAMv6M,CAAI,EAGfu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBA,EAAQ,QACbgkE,EACAvhE,EACA2B,EACIrE,EAAaC,EAAS10M,EAAS,aAAc84M,EAAgB,CAAC,EAC9D94M,CACZ,IAGI00M,EAAQ,MAAM,eAAe,EACtBwH,EAAgBt/M,CAAI,EAC/B,CAEE,SAASs/M,EAAgBt/M,EAAM,CAC7B,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,eAAe,EACrB10M,EAAQpD,CAAI,IAGrB83M,EAAQ,QAAQ93M,CAAI,EACbs/M,EACX,CAEE,SAAS/E,EAAMv6M,EAAM,CACnB,OAAA83M,EAAQ,KAAK,YAAY,EAClBh4N,EAAGkgB,CAAI,CAClB,CAEE,SAASmiO,EAAqBrqB,EAASh4N,EAAI45N,EAAK,CAC9C,IAAIzvN,EAAO,EACX,OAAO4tN,EACLC,EACAokE,EACA,aACA,KAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACV,EAEI,SAASA,EAAqBl8Q,EAAM,CAClC,OAAA83M,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,MAAM,yBAAyB,EAChCoC,EAAgBl6M,CAAI,CACjC,CAEI,SAASk6M,EAAgBl6M,EAAM,CAC7B,OAAIA,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACpB/V,IACOiwN,GAGLjwN,EAAOkyN,EAAiBzC,EAAI15M,CAAI,GACpC83M,EAAQ,KAAK,yBAAyB,EAC/BD,EAAaC,EAASqkE,EAAoB,YAAY,EAAEn8Q,CAAI,EACzE,CAEI,SAASm8Q,EAAmBn8Q,EAAM,CAChC,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,iBAAiB,EACvBh4N,EAAGkgB,CAAI,GAGT05M,EAAI15M,CAAI,CACrB,CACA,CACA,CAEA,OAAAo8Q,GAAiBtgE,mDC7KjB,IAAIvE,EAAqB75O,GAAA,EACrBy7S,EAAgBj7S,GAAA,EAChB86S,EAAa33N,GAAA,EACbw2J,EAAet2J,GAAA,EAEf07J,EAAe,CACjB,KAAM,eACN,SAAUC,EACV,QAASm/D,CACX,EACIC,EAA2B,CAC7B,SAAUC,EACV,QAAS,EACX,EAEA,SAASF,EAAoBxvQ,EAAQtY,EAAS,CAC5C,IAAIyL,EAAO,CACT,KAAM,eACN,MAAO6M,EAAO,CAAC,EAAE,CAAC,EAAE,MACpB,IAAKA,EAAOA,EAAO,OAAS,CAAC,EAAE,CAAC,EAAE,GACtC,EACE,OAAAssQ,EAActsQ,EAAQ,EAAG,EAAG,CAAC,CAAC,QAAS7M,EAAMzL,CAAO,CAAC,CAAC,EACtD4kR,EAActsQ,EAAQA,EAAO,OAAQ,EAAG,CAAC,CAAC,OAAQ7M,EAAMzL,CAAO,CAAC,CAAC,EAC1DsY,CACT,CAEA,SAASqwM,EAAqBpF,EAASh4N,EAAI45N,EAAK,CAC9C,OAAO5B,EAAQ,QAAQwkE,EAA0Bj/D,EAAa3D,CAAG,EAEjE,SAAS2D,EAAYr9M,EAAM,CACzB,OAAIA,IAAS,KACJlgB,EAAGkgB,CAAI,EAGZu3M,EAAmBv3M,CAAI,EAClB83M,EAAQ,QAAQwkE,EAA0Bj/D,EAAav9N,CAAE,EAAEkgB,CAAI,GAGxE83M,EAAQ,MAAM,eAAe,EACtB10M,EAAQpD,CAAI,EACvB,CAEE,SAASoD,EAAQpD,EAAM,CACrB,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,eAAe,EACrBuF,EAAYr9M,CAAI,IAGzB83M,EAAQ,QAAQ93M,CAAI,EACboD,EACX,CACA,CAEA,SAASm5Q,EAAwBzkE,EAASh4N,EAAI45N,EAAK,CACjD,IAAIp9G,EAAO,KACX,OAAOu7G,EAAaC,EAASuF,EAAa,aAAc,CAAK,EAE7D,SAASA,EAAYr9M,EAAM,CACzB,OAAIu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBD,EAAaC,EAASuF,EAAa,aAAc,CAAK,GAGxD27D,EAAW18K,EAAK,OAAQ,YAAY,EAAI,EAAIo9G,EAAI15M,CAAI,EAAIlgB,EAAGkgB,CAAI,CAC1E,CACA,CAEA,OAAAw8Q,GAAiBv/D,mDCrEjB,IAAI1F,EAAqB75O,GAAA,EAErB6/O,EAAW,CACb,KAAM,WACN,SAAUE,EACV,QAASD,EACT,SAAUxlN,CACZ,EAEA,SAASwlN,EAAgB3wM,EAAQ,CAC/B,IAAI6wM,EAAgB7wM,EAAO,OAAS,EAChC8wM,EAAiB,EACjBzmN,EACA0mN,EAEJ,IACG/wM,EAAO8wM,CAAc,EAAE,CAAC,EAAE,OAAS,cAClC9wM,EAAO8wM,CAAc,EAAE,CAAC,EAAE,OAAS,WACpC9wM,EAAO6wM,CAAa,EAAE,CAAC,EAAE,OAAS,cACjC7wM,EAAO6wM,CAAa,EAAE,CAAC,EAAE,OAAS,UAIpC,IAFAxmN,EAAQymN,EAED,EAAEzmN,EAAQwmN,GACf,GAAI7wM,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,eAAgB,CAE5C2V,EAAO6wM,CAAa,EAAE,CAAC,EAAE,KAAO7wM,EAAO8wM,CAAc,EAAE,CAAC,EAAE,KACxD,kBACFA,GAAkB,EAClBD,GAAiB,EACjB,KACR,EAOE,IAHAxmN,EAAQymN,EAAiB,EACzBD,IAEO,EAAExmN,GAASwmN,GACZE,IAAU,OACR1mN,IAAUwmN,GAAiB7wM,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,eACvD0mN,EAAQ1mN,IAGVA,IAAUwmN,GACV7wM,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,gBAE1B2V,EAAO+wM,CAAK,EAAE,CAAC,EAAE,KAAO,eAEpB1mN,IAAU0mN,EAAQ,IACpB/wM,EAAO+wM,CAAK,EAAE,CAAC,EAAE,IAAM/wM,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,IAC5C2V,EAAO,OAAO+wM,EAAQ,EAAG1mN,EAAQ0mN,EAAQ,CAAC,EAC1CF,GAAiBxmN,EAAQ0mN,EAAQ,EACjC1mN,EAAQ0mN,EAAQ,GAGlBA,EAAQ,QAIZ,OAAO/wM,CACT,CAEA,SAAS7U,EAASgI,EAAM,CAEtB,OACEA,IAAS,IACT,KAAK,OAAO,KAAK,OAAO,OAAS,CAAC,EAAE,CAAC,EAAE,OAAS,iBAEpD,CAEA,SAASy9M,EAAiB3F,EAASh4N,EAAI45N,EAAK,CAC1C,IAAIyC,EAAW,EACXlyN,EACAg3C,EACJ,OAAO6tC,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,kBAAkB,EACzBmC,EAAgBj6M,CAAI,CAC/B,CAEE,SAASi6M,EAAgBj6M,EAAM,CAC7B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpBm8M,IACOlC,IAGTnC,EAAQ,KAAK,kBAAkB,EACxBh7F,EAAI98G,CAAI,EACnB,CAEE,SAAS88G,EAAI98G,EAAM,CAEjB,OAAIA,IAAS,KACJ05M,EAAI15M,CAAI,EAIbA,IAAS,IACXihC,EAAQ62K,EAAQ,MAAM,kBAAkB,EACxC7tN,EAAO,EACAiwN,EAAgBl6M,CAAI,GAGzBA,IAAS,IACX83M,EAAQ,MAAM,OAAO,EACrBA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,OAAO,EACbh7F,GAGLy6F,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBh7F,IAGTg7F,EAAQ,MAAM,cAAc,EACrB5pN,EAAK8R,CAAI,EACjB,CAED,SAAS9R,EAAK8R,EAAM,CAClB,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTu3M,EAAmBv3M,CAAI,GAEvB83M,EAAQ,KAAK,cAAc,EACpBh7F,EAAI98G,CAAI,IAGjB83M,EAAQ,QAAQ93M,CAAI,EACb9R,EACR,CAED,SAASgsN,EAAgBl6M,EAAM,CAE7B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB/V,IACOiwN,GAGLjwN,IAASkyN,GACXrE,EAAQ,KAAK,kBAAkB,EAC/BA,EAAQ,KAAK,UAAU,EAChBh4N,EAAGkgB,CAAI,IAGhBihC,EAAM,KAAO,eACN/yC,EAAK8R,CAAI,EACpB,CACA,CAEA,OAAAy8Q,GAAiBl/D,mDC/JjB,IAAIpG,EAAez5O,IAAA,EACf85O,EAA4Bt5O,GAAA,EAC5Bq5O,EAAqBl2J,GAAA,EAGzB,SAASq7N,EACP5kE,EACAh4N,EACA45N,EACA3tN,EACAooC,EACAurL,EACAC,EACApsL,EACAjlC,EACA,CACA,IAAIw4E,EAAQx4E,GAAO,IACfsxN,EAAU,EACd,OAAO9wI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAIA,IAAS,IACX83M,EAAQ,MAAM/rN,CAAI,EAClB+rN,EAAQ,MAAM3jL,CAAW,EACzB2jL,EAAQ,MAAM4H,CAAiB,EAC/B5H,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK4H,CAAiB,EACvBi9D,GAGLxlE,EAAan3M,CAAI,GAAKA,IAAS,GAC1B05M,EAAI15M,CAAI,GAGjB83M,EAAQ,MAAM/rN,CAAI,EAClB+rN,EAAQ,MAAM6H,CAAO,EACrB7H,EAAQ,MAAMvkL,CAAU,EACxBukL,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACd,GACM8kE,EAAe58Q,CAAI,EAC9B,CAEE,SAAS28Q,EAA0B38Q,EAAM,CACvC,OAAIA,IAAS,IACX83M,EAAQ,MAAM4H,CAAiB,EAC/B5H,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK4H,CAAiB,EAC9B5H,EAAQ,KAAK3jL,CAAW,EACxB2jL,EAAQ,KAAK/rN,CAAI,EACVjM,IAGTg4N,EAAQ,MAAMvkL,CAAU,EACxBukL,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACd,GACM+kE,EAAoB78Q,CAAI,EACnC,CAEE,SAAS68Q,EAAoB78Q,EAAM,CACjC,OAAIA,IAAS,IACX83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAKvkL,CAAU,EAChBopP,EAA0B38Q,CAAI,GAGnCA,IAAS,MAAQA,IAAS,IAAMu3M,EAAmBv3M,CAAI,EAClD05M,EAAI15M,CAAI,GAGjB83M,EAAQ,QAAQ93M,CAAI,EACbA,IAAS,GAAK88Q,EAA4BD,EACrD,CAEE,SAASC,EAA0B98Q,EAAM,CACvC,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC83M,EAAQ,QAAQ93M,CAAI,EACb68Q,GAGFA,EAAoB78Q,CAAI,CACnC,CAEE,SAAS48Q,EAAe58Q,EAAM,CAC5B,OAAIA,IAAS,GACP,EAAE4/M,EAAU94I,EAAc4yI,EAAI15M,CAAI,GACtC83M,EAAQ,QAAQ93M,CAAI,EACb48Q,GAGL58Q,IAAS,GACN4/M,KAQL9H,EAAQ,QAAQ93M,CAAI,EACb48Q,IARL9kE,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAKvkL,CAAU,EACvBukL,EAAQ,KAAK6H,CAAO,EACpB7H,EAAQ,KAAK/rN,CAAI,EACVjM,EAAGkgB,CAAI,GAOdA,IAAS,MAAQw3M,EAA0Bx3M,CAAI,EAC7C4/M,EAAgBlG,EAAI15M,CAAI,GAC5B83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAKvkL,CAAU,EACvBukL,EAAQ,KAAK6H,CAAO,EACpB7H,EAAQ,KAAK/rN,CAAI,EACVjM,EAAGkgB,CAAI,GAGZm3M,EAAan3M,CAAI,EAAU05M,EAAI15M,CAAI,GACvC83M,EAAQ,QAAQ93M,CAAI,EACbA,IAAS,GAAK+8Q,EAAuBH,EAChD,CAEE,SAASG,EAAqB/8Q,EAAM,CAClC,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC83M,EAAQ,QAAQ93M,CAAI,EACb48Q,GAGFA,EAAe58Q,CAAI,CAC9B,CACA,CAEA,OAAAy/M,GAAiBi9D,mDChIjB,IAAInlE,EAAqB75O,GAAA,EACrB+5O,EAAgBv5O,GAAA,EAGpB,SAAS8+S,EAAallE,EAASh4N,EAAI45N,EAAK3tN,EAAMm0N,EAAY3sL,EAAY,CACpE,IAAI+oE,EAAO,KACPryG,EAAO,EACPiE,EACJ,OAAO4gF,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM/rN,CAAI,EAClB+rN,EAAQ,MAAMoI,CAAU,EACxBpI,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAKoI,CAAU,EACvBpI,EAAQ,MAAMvkL,CAAU,EACjB+pL,CACX,CAEE,SAASA,EAAQt9M,EAAM,CACrB,OACEA,IAAS,MACTA,IAAS,IACRA,IAAS,IAAM,CAAC9R,GAEhB8R,IAAS,IAER,CAAC/V,GAED,2BAA4BqyG,EAAK,OAAO,YAC1CryG,EAAO,IAEAyvN,EAAI15M,CAAI,EAGbA,IAAS,IACX83M,EAAQ,KAAKvkL,CAAU,EACvBukL,EAAQ,MAAMoI,CAAU,EACxBpI,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAKoI,CAAU,EACvBpI,EAAQ,KAAK/rN,CAAI,EACVjM,GAGLy3N,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBwF,IAGTxF,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACd,GACMt4H,EAAMx/E,CAAI,EACrB,CAEE,SAASw/E,EAAMx/E,EAAM,CACnB,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTu3M,EAAmBv3M,CAAI,GACvB/V,IAAS,KAET6tN,EAAQ,KAAK,aAAa,EACnBwF,EAAQt9M,CAAI,IAGrB83M,EAAQ,QAAQ93M,CAAI,EACpB9R,EAAOA,GAAQ,CAACupN,EAAcz3M,CAAI,EAC3BA,IAAS,GAAKogN,EAAc5gI,EACvC,CAEE,SAAS4gI,EAAYpgN,EAAM,CACzB,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC83M,EAAQ,QAAQ93M,CAAI,EACpB/V,IACOu1F,GAGFA,EAAMx/E,CAAI,CACrB,CACA,CAEA,OAAAigN,GAAiB+8D,mDCrFjB,IAAIzlE,EAAqB75O,GAAA,EACrB+5O,EAAgBv5O,GAAA,EAChB25O,EAAex2J,GAAA,EAEnB,SAAS47N,EAAkBnlE,EAASh4N,EAAI,CACtC,IAAIi6C,EACJ,OAAO+0C,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAIu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EACzB/9K,EAAO,GACA+0C,GAGL2oI,EAAcz3M,CAAI,EACb63M,EACLC,EACAhpI,EACA/0C,EAAO,aAAe,YAC9B,EAAQ/5B,CAAI,EAGDlgB,EAAGkgB,CAAI,CAClB,CACA,CAEA,OAAAsgN,GAAiB28D,mDC7BjB,IAAI1lE,EAAqB75O,GAAA,EACrBm6O,EAAe35O,GAAA,EAEnB,SAASg/S,EAAaplE,EAASh4N,EAAI45N,EAAK3tN,EAAMm0N,EAAY3sL,EAAY,CACpE,IAAI25B,EACJ,OAAO4hB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM/rN,CAAI,EAClB+rN,EAAQ,MAAMoI,CAAU,EACxBpI,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAKoI,CAAU,EACvBhzJ,EAASltD,IAAS,GAAK,GAAKA,EACrBm9Q,CACX,CAEE,SAASA,EAAkBn9Q,EAAM,CAC/B,OAAIA,IAASktD,GACX4qJ,EAAQ,MAAMoI,CAAU,EACxBpI,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAKoI,CAAU,EACvBpI,EAAQ,KAAK/rN,CAAI,EACVjM,IAGTg4N,EAAQ,MAAMvkL,CAAU,EACjB6pP,EAAap9Q,CAAI,EAC5B,CAEE,SAASo9Q,EAAap9Q,EAAM,CAC1B,OAAIA,IAASktD,GACX4qJ,EAAQ,KAAKvkL,CAAU,EAChB4pP,EAAkBjwN,CAAM,GAG7BltD,IAAS,KACJ05M,EAAI15M,CAAI,EAGbu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBD,EAAaC,EAASslE,EAAc,YAAY,IAGzDtlE,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACd,GACM94C,EAAMh/J,CAAI,EACrB,CAEE,SAASg/J,EAAMh/J,EAAM,CACnB,OAAIA,IAASktD,GAAUltD,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC7D83M,EAAQ,KAAK,aAAa,EACnBslE,EAAap9Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACbA,IAAS,GAAKq9Q,EAAcr+G,EACvC,CAEE,SAASq+G,EAAYr9Q,EAAM,CACzB,OAAIA,IAASktD,GAAUltD,IAAS,IAC9B83M,EAAQ,QAAQ93M,CAAI,EACbg/J,GAGFA,EAAMh/J,CAAI,CACrB,CACA,CAEA,OAAAqgN,GAAiB68D,mDCxEjB,IAAI3lE,EAAqB75O,GAAA,EACrB85O,EAA4Bt5O,GAAA,EAC5B44O,EAAsBz1J,GAAA,EACtBo+J,EAAqBl+J,IAAA,EACrB0+J,EAAez+J,IAAA,EACfq2J,EAAe0+D,GAAA,EACfj2D,EAAoB25D,IAAA,EACpB55D,EAAe65D,IAAA,EAEfzjN,EAAa,CACf,KAAM,aACN,SAAU8pJ,CACZ,EACI+8D,EAAiB,CACnB,SAAUC,EACV,QAAS,EACX,EAEA,SAASh9D,EAAmBzI,EAASh4N,EAAI45N,EAAK,CAC5C,IAAIp9G,EAAO,KACPg4E,EACJ,OAAOxlG,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,YAAY,EACnBmI,EAAa,KAClB3jH,EACAw7G,EACA4I,EACAhH,EACA,kBACA,wBACA,uBACN,EAAM15M,CAAI,CACV,CAEE,SAAS0gN,EAAW1gN,EAAM,CAKxB,OAJAs0K,EAAawiC,EACXx6G,EAAK,eAAeA,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAG,EAAE,CAC7E,EAEQt8F,IAAS,IACX83M,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,kBAAkB,EAExBwI,EACLxI,EACA2H,EACE3H,EACAA,EAAQ,QACNwlE,EACAzlE,EAAaC,EAASyC,EAAO,YAAY,EACzC1C,EAAaC,EAASyC,EAAO,YAAY,CAC1C,EACDb,EACA,wBACA,+BACA,qCACA,2BACA,6BACV,CACA,GAGWA,EAAI15M,CAAI,CACnB,CAEE,SAASu6M,EAAMv6M,EAAM,CACnB,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,YAAY,EAErBx7G,EAAK,OAAO,QAAQ,QAAQg4E,CAAU,EAAI,GAC5Ch4E,EAAK,OAAO,QAAQ,KAAKg4E,CAAU,EAG9Bx0L,EAAGkgB,CAAI,GAGT05M,EAAI15M,CAAI,CACnB,CACA,CAEA,SAASu9Q,EAAczlE,EAASh4N,EAAI45N,EAAK,CACvC,OAAO5qI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAOw3M,EAA0Bx3M,CAAI,EACjCsgN,EAAkBxI,EAASlB,CAAM,EAAE52M,CAAI,EACvC05M,EAAI15M,CAAI,CAChB,CAEE,SAAS42M,EAAO52M,EAAM,CACpB,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,GAClCqgN,EACLvI,EACAD,EAAaC,EAASyC,EAAO,YAAY,EACzCb,EACA,kBACA,wBACA,uBACR,EAAQ15M,CAAI,EAGD05M,EAAI15M,CAAI,CACnB,CAEE,SAASu6M,EAAMv6M,EAAM,CACnB,OAAOA,IAAS,MAAQu3M,EAAmBv3M,CAAI,EAAIlgB,EAAGkgB,CAAI,EAAI05M,EAAI15M,CAAI,CAC1E,CACA,CAEA,OAAAw9Q,GAAiB/mN,mDChHjB,IAAI8gJ,EAAqB75O,GAAA,EAErBwjP,EAAkB,CACpB,KAAM,kBACN,SAAUC,CACZ,EAEA,SAASA,EAAwBrJ,EAASh4N,EAAI45N,EAAK,CACjD,OAAO5qI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ93M,CAAI,EACb6jH,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,KAAK,iBAAiB,EACvBh4N,EAAGkgB,CAAI,GAGT05M,EAAI15M,CAAI,CACnB,CACA,CAEA,OAAAy9Q,GAAiBv8D,mDC5BjB,IAAI3J,EAAqB75O,GAAA,EACrB85O,EAA4Bt5O,GAAA,EAC5Bu5O,EAAgBp2J,GAAA,EAChB83N,EAAgB53N,GAAA,EAChBs2J,EAAer2J,GAAA,EAEf4/J,EAAa,CACf,KAAM,aACN,SAAUE,EACV,QAASD,CACX,EAEA,SAASA,EAAkBx0M,EAAQtY,EAAS,CAC1C,IAAI8qN,EAAaxyM,EAAO,OAAS,EAC7BmrM,EAAe,EACf50M,EACA9B,EAEJ,OAAIuL,EAAOmrM,CAAY,EAAE,CAAC,EAAE,OAAS,eACnCA,GAAgB,GAIhBqH,EAAa,EAAIrH,GACjBnrM,EAAOwyM,CAAU,EAAE,CAAC,EAAE,OAAS,eAE/BA,GAAc,GAIdxyM,EAAOwyM,CAAU,EAAE,CAAC,EAAE,OAAS,uBAC9BrH,IAAiBqH,EAAa,GAC5BA,EAAa,EAAIrH,GAChBnrM,EAAOwyM,EAAa,CAAC,EAAE,CAAC,EAAE,OAAS,gBAEvCA,GAAcrH,EAAe,IAAMqH,EAAa,EAAI,GAGlDA,EAAarH,IACf50M,EAAU,CACR,KAAM,iBACN,MAAOyJ,EAAOmrM,CAAY,EAAE,CAAC,EAAE,MAC/B,IAAKnrM,EAAOwyM,CAAU,EAAE,CAAC,EAAE,GACjC,EACI/9M,EAAO,CACL,KAAM,YACN,MAAOuL,EAAOmrM,CAAY,EAAE,CAAC,EAAE,MAC/B,IAAKnrM,EAAOwyM,CAAU,EAAE,CAAC,EAAE,IAC3B,YAAa,MACnB,EACI85D,EAActsQ,EAAQmrM,EAAcqH,EAAarH,EAAe,EAAG,CACjE,CAAC,QAAS50M,EAAS7O,CAAO,EAC1B,CAAC,QAAS+M,EAAM/M,CAAO,EACvB,CAAC,OAAQ+M,EAAM/M,CAAO,EACtB,CAAC,OAAQ6O,EAAS7O,CAAO,CAC1B,IAGIsY,CACT,CAEA,SAASy0M,EAAmBxJ,EAASh4N,EAAI45N,EAAK,CAC5C,IAAIp9G,EAAO,KACPryG,EAAO,EACX,OAAO6kF,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,MAAM,oBAAoB,EAC3B4lE,EAAgB19Q,CAAI,CAC/B,CAEE,SAAS09Q,EAAgB19Q,EAAM,CAC7B,OAAIA,IAAS,IAAM/V,IAAS,GAC1B6tN,EAAQ,QAAQ93M,CAAI,EACb09Q,GAGL19Q,IAAS,MAAQw3M,EAA0Bx3M,CAAI,GACjD83M,EAAQ,KAAK,oBAAoB,EAC1Bx7G,EAAK,UAAYx8G,EAAGkgB,CAAI,EAAI29Q,EAAa39Q,CAAI,GAG/C05M,EAAI15M,CAAI,CACnB,CAEE,SAAS29Q,EAAa39Q,EAAM,CAC1B,OAAIA,IAAS,IACX83M,EAAQ,MAAM,oBAAoB,EAC3Bzd,EAASr6L,CAAI,GAGlBA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,YAAY,EAClBh4N,EAAGkgB,CAAI,GAGZy3M,EAAcz3M,CAAI,EACb63M,EAAaC,EAAS6lE,EAAc,YAAY,EAAE39Q,CAAI,GAG/D83M,EAAQ,MAAM,gBAAgB,EACvB5pN,EAAK8R,CAAI,EACpB,CAEE,SAASq6L,EAASr6L,EAAM,CACtB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbq6L,IAGTyd,EAAQ,KAAK,oBAAoB,EAC1B6lE,EAAa39Q,CAAI,EAC5B,CAEE,SAAS9R,EAAK8R,EAAM,CAClB,OAAIA,IAAS,MAAQA,IAAS,IAAMw3M,EAA0Bx3M,CAAI,GAChE83M,EAAQ,KAAK,gBAAgB,EACtB6lE,EAAa39Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACb9R,EACX,CACA,CAEA,OAAA0vR,GAAiBx8D,mDC7HjB,IAAIy8D,EAAS,CACX,UACA,UACA,QACA,OACA,WACA,aACA,OACA,UACA,SACA,MACA,WACA,KACA,UACA,SACA,MACA,MACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,QACA,WACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,KACA,OACA,SACA,SACA,KACA,OACA,OACA,OACA,WACA,MACA,WACA,KACA,WACA,SACA,IACA,QACA,UACA,SACA,UACA,QACA,QACA,KACA,QACA,KACA,QACA,QACA,KACA,QACA,IACF,EAEA,OAAAr8D,GAAiBq8D,mDCjEjB,IAAIC,EAAO,CAAC,MAAO,SAAU,QAAS,UAAU,EAEhD,OAAAr8D,GAAiBq8D,mDCHjB,IAAI/mE,EAAar5O,GAAA,EACbu5O,EAAoB/4O,GAAA,EACpBq5O,EAAqBl2J,GAAA,EACrBm2J,EAA4Bj2J,GAAA,EAC5Bk2J,EAAgBj2J,GAAA,EAChB61N,EAAed,GAAA,EACf/0D,EAAiBy4D,IAAA,EACjBx4D,EAAey4D,IAAA,EACfrC,EAAmBsC,GAAA,EAEnBz4D,EAAW,CACb,KAAM,WACN,SAAUE,EACV,UAAWD,EACX,SAAU,EACZ,EACIo8D,EAAqB,CACvB,SAAUC,EACV,QAAS,EACX,EAEA,SAASr8D,EAAkB90M,EAAQ,CAGjC,QAFI3V,EAAQ2V,EAAO,OAEZ3V,KACD,EAAA2V,EAAO3V,CAAK,EAAE,CAAC,IAAM,SAAW2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,aAA9D,CAKF,OAAIA,EAAQ,GAAK2V,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,OAAS,eAE7C2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,MAAQ2V,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,MAE9C2V,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,MAAQ2V,EAAO3V,EAAQ,CAAC,EAAE,CAAC,EAAE,MAElD2V,EAAO,OAAO3V,EAAQ,EAAG,CAAC,GAGrB2V,CACT,CAEA,SAAS+0M,EAAiB9J,EAASh4N,EAAI45N,EAAK,CAC1C,IAAIp9G,EAAO,KACP3uE,EACAswP,EACAvkK,EACAxiH,EACAg2D,EACJ,OAAO4hB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ93M,CAAI,EACb6jH,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbk+Q,GAGLl+Q,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACboiN,GAGLpiN,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB2tB,EAAO,EAGA2uE,EAAK,UAAYx8G,EAAKuiO,IAG3BtL,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACpB05G,EAAS29J,EAAar3Q,CAAI,EAC1Bi+Q,EAAW,GACJ/5M,GAGFw1I,EAAI15M,CAAI,CACnB,CAEE,SAASk+Q,EAAiBl+Q,EAAM,CAC9B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB2tB,EAAO,EACA20L,GAGLtiN,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB2tB,EAAO,EACP+rF,EAAS,SACTxiH,EAAQ,EACDqrN,GAGLxL,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACpB2tB,EAAO,EACA2uE,EAAK,UAAYx8G,EAAKuiO,IAGxB3I,EAAI15M,CAAI,CACnB,CAEE,SAASsiN,EAAkBtiN,EAAM,CAC/B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbs8F,EAAK,UAAYx8G,EAAKuiO,IAGxB3I,EAAI15M,CAAI,CACnB,CAEE,SAASuiN,EAAgBviN,EAAM,CAC7B,OAAIA,IAAS05G,EAAO,WAAWxiH,GAAO,GACpC4gN,EAAQ,QAAQ93M,CAAI,EACb9I,IAAUwiH,EAAO,OACpBpd,EAAK,UACHx8G,EACA2gE,GACF8hK,GAGC7I,EAAI15M,CAAI,CACnB,CAEE,SAASoiN,EAAcpiN,EAAM,CAC3B,OAAI+2M,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACpB05G,EAAS29J,EAAar3Q,CAAI,EACnBkkE,GAGFw1I,EAAI15M,CAAI,CACnB,CAEE,SAASkkE,EAAQlkE,EAAM,CACrB,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTw3M,EAA0Bx3M,CAAI,EAG5BA,IAAS,IACTi+Q,GACAx8D,EAAa,QAAQ/nG,EAAO,YAAa,GAAI,IAE7C/rF,EAAO,EACA2uE,EAAK,UAAYx8G,EAAGkgB,CAAI,EAAIygD,GAAazgD,CAAI,GAGlDwhN,EAAe,QAAQ9nG,EAAO,YAAa,GAAI,IACjD/rF,EAAO,EAEH3tB,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbwiN,GAGFlmH,EAAK,UAAYx8G,EAAGkgB,CAAI,EAAIygD,GAAazgD,CAAI,IAGtD2tB,EAAO,EAEA2uE,EAAK,UACRo9G,EAAI15M,CAAI,EACRi+Q,EACAv7D,EAA4B1iN,CAAI,EAChCyiN,EAAwBziN,CAAI,GAG9BA,IAAS,IAAMi3M,EAAkBj3M,CAAI,GACvC83M,EAAQ,QAAQ93M,CAAI,EACpB05G,GAAU29J,EAAar3Q,CAAI,EACpBkkE,GAGFw1I,EAAI15M,CAAI,CACnB,CAEE,SAASwiN,EAAiBxiN,EAAM,CAC9B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbs8F,EAAK,UAAYx8G,EAAK2gE,IAGxBi5J,EAAI15M,CAAI,CACnB,CAEE,SAASyiN,EAAwBziN,EAAM,CACrC,OAAIy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACbyiN,GAGFE,EAAY3iN,CAAI,CAC3B,CAEE,SAAS0iN,EAA4B1iN,EAAM,CACzC,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb2iN,GAGL3iN,IAAS,IAAMA,IAAS,IAAM+2M,EAAW/2M,CAAI,GAC/C83M,EAAQ,QAAQ93M,CAAI,EACb4iN,GAGLnL,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACb0iN,GAGFC,EAAY3iN,CAAI,CAC3B,CAEE,SAAS4iN,EAAsB5iN,EAAM,CACnC,OACEA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTi3M,EAAkBj3M,CAAI,GAEtB83M,EAAQ,QAAQ93M,CAAI,EACb4iN,GAGFC,EAA2B7iN,CAAI,CAC1C,CAEE,SAAS6iN,EAA2B7iN,EAAM,CACxC,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb8iN,GAGLrL,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACb6iN,GAGFH,EAA4B1iN,CAAI,CAC3C,CAEE,SAAS8iN,EAA6B9iN,EAAM,CAC1C,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,GAEF05M,EAAI15M,CAAI,EAGbA,IAAS,IAAMA,IAAS,IAC1B83M,EAAQ,QAAQ93M,CAAI,EACpBktD,EAASltD,EACF+iN,GAGLtL,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACb8iN,IAGT51J,EAAS,OACF81J,EAA+BhjN,CAAI,EAC9C,CAEE,SAAS+iN,EAA6B/iN,EAAM,CAC1C,OAAIA,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACbijN,GAGLjjN,IAAS,MAAQu3M,EAAmBv3M,CAAI,EACnC05M,EAAI15M,CAAI,GAGjB83M,EAAQ,QAAQ93M,CAAI,EACb+iN,EACX,CAEE,SAASC,EAA+BhjN,EAAM,CAC5C,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTw3M,EAA0Bx3M,CAAI,EAEvB6iN,EAA2B7iN,CAAI,GAGxC83M,EAAQ,QAAQ93M,CAAI,EACbgjN,EACX,CAEE,SAASC,EAAkCjjN,EAAM,CAC/C,OAAIA,IAAS,IAAMA,IAAS,IAAMy3M,EAAcz3M,CAAI,EAC3C0iN,EAA4B1iN,CAAI,EAGlC05M,EAAI15M,CAAI,CACnB,CAEE,SAAS2iN,EAAY3iN,EAAM,CACzB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbkjN,GAGFxJ,EAAI15M,CAAI,CACnB,CAEE,SAASkjN,EAAcljN,EAAM,CAC3B,OAAIy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACbkjN,GAGFljN,IAAS,MAAQu3M,EAAmBv3M,CAAI,EAC3CygD,GAAazgD,CAAI,EACjB05M,EAAI15M,CAAI,CAChB,CAEE,SAASygD,GAAazgD,EAAM,CAC1B,OAAIA,IAAS,IAAM2tB,IAAS,GAC1BmqL,EAAQ,QAAQ93M,CAAI,EACbmjN,IAGLnjN,IAAS,IAAM2tB,IAAS,GAC1BmqL,EAAQ,QAAQ93M,CAAI,EACbojN,GAGLpjN,IAAS,IAAM2tB,IAAS,GAC1BmqL,EAAQ,QAAQ93M,CAAI,EACbqjN,IAGLrjN,IAAS,IAAM2tB,IAAS,GAC1BmqL,EAAQ,QAAQ93M,CAAI,EACbqiN,IAGLriN,IAAS,IAAM2tB,IAAS,GAC1BmqL,EAAQ,QAAQ93M,CAAI,EACbm+Q,IAGL5mE,EAAmBv3M,CAAI,IAAM2tB,IAAS,GAAKA,IAAS,GAC/CmqL,EAAQ,MACbimE,EACA16D,GACA+6D,EACR,EAAQp+Q,CAAI,EAGJA,IAAS,MAAQu3M,EAAmBv3M,CAAI,EACnCo+Q,GAAyBp+Q,CAAI,GAGtC83M,EAAQ,QAAQ93M,CAAI,EACbygD,GACX,CAEE,SAAS29N,GAAyBp+Q,EAAM,CACtC,OAAA83M,EAAQ,KAAK,cAAc,EACpBumE,EAAkBr+Q,CAAI,CACjC,CAEE,SAASq+Q,EAAkBr+Q,EAAM,CAC/B,OAAIA,IAAS,KACJkY,GAAKlY,CAAI,EAGdu3M,EAAmBv3M,CAAI,GACzB83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBumE,IAGTvmE,EAAQ,MAAM,cAAc,EACrBr3J,GAAazgD,CAAI,EAC5B,CAEE,SAASmjN,GAA0BnjN,EAAM,CACvC,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbqiN,IAGF5hK,GAAazgD,CAAI,CAC5B,CAEE,SAASojN,EAAuBpjN,EAAM,CACpC,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB05G,EAAS,GACFiqG,IAGFljK,GAAazgD,CAAI,CAC5B,CAEE,SAAS2jN,GAAsB3jN,EAAM,CACnC,OAAIA,IAAS,IAAMyhN,EAAa,QAAQ/nG,EAAO,YAAW,CAAE,EAAI,IAC9Do+F,EAAQ,QAAQ93M,CAAI,EACbqjN,IAGLtM,EAAW/2M,CAAI,GAAK05G,EAAO,OAAS,GACtCo+F,EAAQ,QAAQ93M,CAAI,EACpB05G,GAAU29J,EAAar3Q,CAAI,EACpB2jN,IAGFljK,GAAazgD,CAAI,CAC5B,CAEE,SAASm+Q,GAAgCn+Q,EAAM,CAC7C,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbqiN,IAGF5hK,GAAazgD,CAAI,CAC5B,CAEE,SAASqiN,GAA8BriN,EAAM,CAC3C,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbqjN,IAGF5iK,GAAazgD,CAAI,CAC5B,CAEE,SAASqjN,GAAkBrjN,EAAM,CAC/B,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,cAAc,EACpB5/L,GAAKlY,CAAI,IAGlB83M,EAAQ,QAAQ93M,CAAI,EACbqjN,GACX,CAEE,SAASnrM,GAAKlY,EAAM,CAClB,OAAA83M,EAAQ,KAAK,UAAU,EAChBh4N,EAAGkgB,CAAI,CAClB,CACA,CAEA,SAASg+Q,EAAkBlmE,EAASh4N,EAAI45N,EAAK,CAC3C,OAAO5qI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,iBAAiB,EACvBA,EAAQ,QAAQ+/D,EAAkB/3R,EAAI45N,CAAG,CACpD,CACA,CAEA,OAAA4kE,GAAiB58D,mDCnejB,IAAI3K,EAAar5O,GAAA,EACbu5O,EAAoB/4O,GAAA,EACpBq5O,EAAqBl2J,GAAA,EACrBm2J,EAA4Bj2J,GAAA,EAC5Bk2J,EAAgBj2J,GAAA,EAChBq2J,EAAe0+D,GAAA,EAEf3yD,EAAW,CACb,KAAM,WACN,SAAUC,CACZ,EAEA,SAASA,EAAiB/L,EAASh4N,EAAI45N,EAAK,CAC1C,IAAIp9G,EAAO,KACPpvC,EACAwsD,EACAxiH,EACA4sN,EACJ,OAAOh1I,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ93M,CAAI,EACb6jH,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbmiN,GAGLniN,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACboiN,GAGLpiN,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb+jN,GAGLhN,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACbgkN,GAGFtK,EAAI15M,CAAI,CACnB,CAEE,SAASmiN,EAAgBniN,EAAM,CAC7B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbu+Q,GAGLv+Q,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB05G,EAAS,SACTxiH,EAAQ,EACDsnR,GAGLznE,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACbg1K,GAGF0kC,EAAI15M,CAAI,CACnB,CAEE,SAASu+Q,EAAYv+Q,EAAM,CACzB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACby+Q,GAGF/kE,EAAI15M,CAAI,CACnB,CAEE,SAASy+Q,EAAaz+Q,EAAM,CAC1B,OAAIA,IAAS,MAAQA,IAAS,GACrB05M,EAAI15M,CAAI,EAGbA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb0+Q,GAGF3pG,EAAQ/0K,CAAI,CACvB,CAEE,SAAS0+Q,EAAiB1+Q,EAAM,CAC9B,OAAIA,IAAS,MAAQA,IAAS,GACrB05M,EAAI15M,CAAI,EAGV+0K,EAAQ/0K,CAAI,CACvB,CAEE,SAAS+0K,EAAQ/0K,EAAM,CACrB,OAAIA,IAAS,KACJ05M,EAAI15M,CAAI,EAGbA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbkkN,GAGL3M,EAAmBv3M,CAAI,GACzB8jN,EAAc/uC,EACP4pG,GAAa3+Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACb+0K,EACX,CAEE,SAASmvC,EAAalkN,EAAM,CAC1B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb8jD,IAGFixH,EAAQ/0K,CAAI,CACvB,CAEE,SAASw+Q,EAAUx+Q,EAAM,CACvB,OAAIA,IAAS05G,EAAO,WAAWxiH,GAAO,GACpC4gN,EAAQ,QAAQ93M,CAAI,EACb9I,IAAUwiH,EAAO,OAAS0qG,EAAQo6D,GAGpC9kE,EAAI15M,CAAI,CACnB,CAEE,SAASokN,EAAMpkN,EAAM,CACnB,OAAIA,IAAS,KACJ05M,EAAI15M,CAAI,EAGbA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbqkN,GAGL9M,EAAmBv3M,CAAI,GACzB8jN,EAAcM,EACPu6D,GAAa3+Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACbokN,EACX,CAEE,SAASC,EAAWrkN,EAAM,CACxB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbskN,GAGFF,EAAMpkN,CAAI,CACrB,CAEE,SAASskN,EAAStkN,EAAM,CACtB,OAAIA,IAAS,GACJ8jD,GAAI9jD,CAAI,EAGbA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbskN,GAGFF,EAAMpkN,CAAI,CACrB,CAEE,SAASg1K,EAAYh1K,EAAM,CACzB,OAAIA,IAAS,MAAQA,IAAS,GACrB8jD,GAAI9jD,CAAI,EAGbu3M,EAAmBv3M,CAAI,GACzB8jN,EAAc9uC,EACP2pG,GAAa3+Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACbg1K,EACX,CAEE,SAAS+uC,EAAY/jN,EAAM,CACzB,OAAIA,IAAS,KACJ05M,EAAI15M,CAAI,EAGbA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACbukN,GAGLhN,EAAmBv3M,CAAI,GACzB8jN,EAAcC,EACP46D,GAAa3+Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACb+jN,EACX,CAEE,SAASQ,EAAiBvkN,EAAM,CAC9B,OAAOA,IAAS,GAAK8jD,GAAI9jD,CAAI,EAAI+jN,EAAY/jN,CAAI,CACrD,CAEE,SAASoiN,EAAcpiN,EAAM,CAC3B,OAAI+2M,EAAW/2M,CAAI,GACjB83M,EAAQ,QAAQ93M,CAAI,EACbwkN,GAGF9K,EAAI15M,CAAI,CACnB,CAEE,SAASwkN,EAASxkN,EAAM,CACtB,OAAIA,IAAS,IAAMi3M,EAAkBj3M,CAAI,GACvC83M,EAAQ,QAAQ93M,CAAI,EACbwkN,GAGFC,EAAgBzkN,CAAI,CAC/B,CAEE,SAASykN,EAAgBzkN,EAAM,CAC7B,OAAIu3M,EAAmBv3M,CAAI,GACzB8jN,EAAcW,EACPk6D,GAAa3+Q,CAAI,GAGtBy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACbykN,GAGF3gK,GAAI9jD,CAAI,CACnB,CAEE,SAASgkN,EAAQhkN,EAAM,CACrB,OAAIA,IAAS,IAAMi3M,EAAkBj3M,CAAI,GACvC83M,EAAQ,QAAQ93M,CAAI,EACbgkN,GAGLhkN,IAAS,IAAMA,IAAS,IAAMw3M,EAA0Bx3M,CAAI,EACvD0kN,EAAe1kN,CAAI,EAGrB05M,EAAI15M,CAAI,CACnB,CAEE,SAAS0kN,EAAe1kN,EAAM,CAC5B,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb8jD,IAGL9jD,IAAS,IAAMA,IAAS,IAAM+2M,EAAW/2M,CAAI,GAC/C83M,EAAQ,QAAQ93M,CAAI,EACb2kN,GAGLpN,EAAmBv3M,CAAI,GACzB8jN,EAAcY,EACPi6D,GAAa3+Q,CAAI,GAGtBy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACb0kN,GAGF5gK,GAAI9jD,CAAI,CACnB,CAEE,SAAS2kN,EAAqB3kN,EAAM,CAClC,OACEA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTi3M,EAAkBj3M,CAAI,GAEtB83M,EAAQ,QAAQ93M,CAAI,EACb2kN,GAGFC,EAA0B5kN,CAAI,CACzC,CAEE,SAAS4kN,EAA0B5kN,EAAM,CACvC,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACb6kN,GAGLtN,EAAmBv3M,CAAI,GACzB8jN,EAAcc,EACP+5D,GAAa3+Q,CAAI,GAGtBy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACb4kN,GAGFF,EAAe1kN,CAAI,CAC9B,CAEE,SAAS6kN,EAA4B7kN,EAAM,CACzC,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,GAEF05M,EAAI15M,CAAI,EAGbA,IAAS,IAAMA,IAAS,IAC1B83M,EAAQ,QAAQ93M,CAAI,EACpBktD,EAASltD,EACF8kN,GAGLvN,EAAmBv3M,CAAI,GACzB8jN,EAAce,EACP85D,GAAa3+Q,CAAI,GAGtBy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,QAAQ93M,CAAI,EACb6kN,IAGT/M,EAAQ,QAAQ93M,CAAI,EACpBktD,EAAS,OACF63J,GACX,CAEE,SAASD,EAA4B9kN,EAAM,CACzC,OAAIA,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACbglN,GAGLhlN,IAAS,KACJ05M,EAAI15M,CAAI,EAGbu3M,EAAmBv3M,CAAI,GACzB8jN,EAAcgB,EACP65D,GAAa3+Q,CAAI,IAG1B83M,EAAQ,QAAQ93M,CAAI,EACb8kN,EACX,CAEE,SAASE,EAAiChlN,EAAM,CAC9C,OAAIA,IAAS,IAAMA,IAAS,IAAMw3M,EAA0Bx3M,CAAI,EACvD0kN,EAAe1kN,CAAI,EAGrB05M,EAAI15M,CAAI,CACnB,CAEE,SAAS+kN,GAA8B/kN,EAAM,CAC3C,OACEA,IAAS,MACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,IACTA,IAAS,GAEF05M,EAAI15M,CAAI,EAGbA,IAAS,IAAMw3M,EAA0Bx3M,CAAI,EACxC0kN,EAAe1kN,CAAI,GAG5B83M,EAAQ,QAAQ93M,CAAI,EACb+kN,GACR,CAGD,SAAS45D,GAAa3+Q,EAAM,CAC1B,OAAA83M,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBD,EACLC,EACAuF,EACA,aACA/gH,EAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACV,CACA,CAEE,SAAS+gH,EAAYr9M,EAAM,CACzB,OAAA83M,EAAQ,MAAM,cAAc,EACrBgM,EAAY9jN,CAAI,CAC3B,CAEE,SAAS8jD,GAAI9jD,EAAM,CACjB,OAAIA,IAAS,IACX83M,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,KAAK,UAAU,EAChBh4N,GAGF45N,EAAI15M,CAAI,CACnB,CACA,CAEA,OAAA4+Q,GAAiBh7D,kDChbjB,IAAIpM,EAA4B95O,GAAA,EAC5BsgP,EAAc9/O,GAAA,EACdi7S,EAAgB93N,GAAA,EAChBy1J,EAAsBv1J,GAAA,EACtBq4J,EAAap4J,GAAA,EACbq1K,EAAU0/C,GAAA,EACV92D,EAAqBw6D,IAAA,EACrBh6D,EAAei6D,IAAA,EACf75D,EAAe85D,IAAA,EACf75D,EAAoBu+D,IAAA,EAEpB15D,EAAW,CACb,KAAM,WACN,SAAUG,EACV,UAAWD,EACX,WAAYD,CACd,EACIG,EAAoB,CACtB,SAAUC,CACZ,EACIs5D,EAAyB,CAC3B,SAAUC,CACZ,EACIC,EAA8B,CAChC,SAAUC,CACZ,EAEA,SAAS75D,EAAmBv4M,EAAQ,CAIlC,QAHI3V,EAAQ,GACR+pC,EAEG,EAAE/pC,EAAQ2V,EAAO,QACtBo0B,EAAQp0B,EAAO3V,CAAK,EAAE,CAAC,EAGrB,CAAC+pC,EAAM,QACNA,EAAM,OAAS,cACdA,EAAM,OAAS,aACfA,EAAM,OAAS,cAGjBp0B,EAAO,OAAO3V,EAAQ,EAAG+pC,EAAM,OAAS,aAAe,EAAI,CAAC,EAC5DA,EAAM,KAAO,OACb/pC,KAIJ,OAAO2V,CACT,CAEA,SAASw4M,EAAkBx4M,EAAQtY,EAAS,CAW1C,QAVI2C,EAAQ2V,EAAO,OACf43C,EAAS,EACTzqB,EACAwlD,EACAl+E,EACA2/B,EACA4iF,EACAwgD,EACAyhD,EAEG5uN,KAGL,GAFA+pC,EAAQp0B,EAAO3V,CAAK,EAAE,CAAC,EAEnB2sH,EAAM,CAER,GACE5iF,EAAM,OAAS,QACdA,EAAM,OAAS,aAAeA,EAAM,UAErC,MAIEp0B,EAAO3V,CAAK,EAAE,CAAC,IAAM,SAAW+pC,EAAM,OAAS,cACjDA,EAAM,UAAY,GAErB,SAAUojI,GACT,GACEx3J,EAAO3V,CAAK,EAAE,CAAC,IAAM,UACpB+pC,EAAM,OAAS,cAAgBA,EAAM,OAAS,cAC/C,CAACA,EAAM,YAEP4iF,EAAO3sH,EAEH+pC,EAAM,OAAS,aAAa,CAC9BwjB,EAAS,EACT,KACV,OAEexjB,EAAM,OAAS,aACxBojI,EAAQntK,GAIZ,OAAA8iC,EAAQ,CACN,KAAMntB,EAAOg3G,CAAI,EAAE,CAAC,EAAE,OAAS,YAAc,OAAS,QACtD,MAAOgzG,EAAQhqN,EAAOg3G,CAAI,EAAE,CAAC,EAAE,KAAK,EACpC,IAAKgzG,EAAQhqN,EAAOA,EAAO,OAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CACjD,EACE2yE,EAAQ,CACN,KAAM,QACN,MAAOq3I,EAAQhqN,EAAOg3G,CAAI,EAAE,CAAC,EAAE,KAAK,EACpC,IAAKgzG,EAAQhqN,EAAOw3J,CAAK,EAAE,CAAC,EAAE,GAAG,CACrC,EACE/iK,EAAO,CACL,KAAM,YACN,MAAOu1N,EAAQhqN,EAAOg3G,EAAOp/D,EAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAC/C,IAAKoyK,EAAQhqN,EAAOw3J,EAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAC3C,EACEyhD,EAAQ,CACN,CAAC,QAAS9rL,EAAOzlC,CAAO,EACxB,CAAC,QAASirF,EAAOjrF,CAAO,CACzB,EAEDuxN,EAAQ9H,EAAY8H,EAAOj5M,EAAO,MAAMg3G,EAAO,EAAGA,EAAOp/D,EAAS,CAAC,CAAC,EAEpEqhK,EAAQ9H,EAAY8H,EAAO,CAAC,CAAC,QAASxkN,EAAM/M,CAAO,CAAC,CAAC,EAErDuxN,EAAQ9H,EACN8H,EACAlM,EACErlN,EAAQ,OAAO,WAAW,WAAW,KACrCsY,EAAO,MAAMg3G,EAAOp/D,EAAS,EAAG4/G,EAAQ,CAAC,EACzC9vK,CACN,CACG,EAEDuxN,EAAQ9H,EAAY8H,EAAO,CACzB,CAAC,OAAQxkN,EAAM/M,CAAO,EACtBsY,EAAOw3J,EAAQ,CAAC,EAChBx3J,EAAOw3J,EAAQ,CAAC,EAChB,CAAC,OAAQ7kF,EAAOjrF,CAAO,CAC3B,CAAG,EAEDuxN,EAAQ9H,EAAY8H,EAAOj5M,EAAO,MAAMw3J,EAAQ,CAAC,CAAC,EAElDyhD,EAAQ9H,EAAY8H,EAAO,CAAC,CAAC,OAAQ9rL,EAAOzlC,CAAO,CAAC,CAAC,EACrD4kR,EAActsQ,EAAQg3G,EAAMh3G,EAAO,OAAQi5M,CAAK,EACzCj5M,CACT,CAEA,SAASy4M,EAAiBxN,EAASh4N,EAAI45N,EAAK,CAM1C,QALIp9G,EAAO,KACPplG,EAAQolG,EAAK,OAAO,OACpBypH,EACAC,EAEG9uN,KACL,IACGolG,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,OAAS,cAC9BolG,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,OAAS,cACjC,CAAColG,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,UACvB,CACA6uN,EAAazpH,EAAK,OAAOplG,CAAK,EAAE,CAAC,EACjC,KACN,CAGE,OAAO43E,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAK+lN,EAIDA,EAAW,UAAkBm5D,EAASl/Q,CAAI,GAC9CgmN,EACE1pH,EAAK,OAAO,QAAQ,QAClBw6G,EACEx6G,EAAK,eAAe,CAClB,MAAOypH,EAAW,IAClB,IAAKzpH,EAAK,IAAG,CACd,EACX,CACA,EAAU,GACNw7G,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,aAAa,EAC3BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,UAAU,EAChBqnE,GAlBEzlE,EAAI15M,CAAI,CAmBrB,CAEE,SAASm/Q,EAAcn/Q,EAAM,CAE3B,OAAIA,IAAS,GACJ83M,EAAQ,QACbyN,EACAzlO,EACAkmO,EAAUlmO,EAAKo/R,CACvB,EAAQl/Q,CAAI,EAGJA,IAAS,GACJ83M,EAAQ,QACbgnE,EACAh/R,EACAkmO,EACIlO,EAAQ,QAAQknE,EAA6Bl/R,EAAIo/R,CAAQ,EACzDA,CACZ,EAAQl/Q,CAAI,EAGDgmN,EAAUlmO,EAAGkgB,CAAI,EAAIk/Q,EAASl/Q,CAAI,CAC7C,CAEE,SAASk/Q,EAASl/Q,EAAM,CACtB,OAAA+lN,EAAW,UAAY,GAChBrM,EAAI15M,CAAI,CACnB,CACA,CAEA,SAASwlN,EAAiB1N,EAASh4N,EAAI45N,EAAK,CAC1C,OAAO5qI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,gBAAgB,EACtBwI,EAAkBxI,EAASj0F,CAAI,CAC1C,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIA,IAAS,GACJ8jD,EAAI9jD,CAAI,EAGVy/M,EACL3H,EACA+I,EACAnH,EACA,sBACA,6BACA,mCACA,yBACA,4BACA,CACN,EAAM15M,CAAI,CACV,CAEE,SAAS6gN,EAAiB7gN,EAAM,CAC9B,OAAOw3M,EAA0Bx3M,CAAI,EACjCsgN,EAAkBxI,EAAS+F,CAAO,EAAE79M,CAAI,EACxC8jD,EAAI9jD,CAAI,CAChB,CAEE,SAAS69M,EAAQ79M,EAAM,CACrB,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,GAClCqgN,EACLvI,EACAwI,EAAkBxI,EAASh0J,CAAG,EAC9B41J,EACA,gBACA,sBACA,qBACR,EAAQ15M,CAAI,EAGD8jD,EAAI9jD,CAAI,CACnB,CAEE,SAAS8jD,EAAI9jD,EAAM,CACjB,OAAIA,IAAS,IACX83M,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,KAAK,UAAU,EAChBh4N,GAGF45N,EAAI15M,CAAI,CACnB,CACA,CAEA,SAAS++Q,EAAsBjnE,EAASh4N,EAAI45N,EAAK,CAC/C,IAAIp9G,EAAO,KACX,OAAOxtB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAOigN,EAAa,KAClB3jH,EACAw7G,EACAsnE,EACA1lE,EACA,YACA,kBACA,iBACN,EAAM15M,CAAI,CACV,CAEE,SAASo/Q,EAAWp/Q,EAAM,CACxB,OAAOs8F,EAAK,OAAO,QAAQ,QACzBw6G,EACEx6G,EAAK,eAAeA,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAG,EAAE,CAC/E,CACA,EAAQ,EACAo9G,EAAI15M,CAAI,EACRlgB,EAAGkgB,CAAI,CACf,CACA,CAEA,SAASi/Q,EAA2BnnE,EAASh4N,EAAI45N,EAAK,CACpD,OAAO5qI,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,WAAW,EACzBA,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,iBAAiB,EACvBj0F,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIA,IAAS,IACX83M,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,iBAAiB,EAC9BA,EAAQ,KAAK,WAAW,EACjBh4N,GAGF45N,EAAI15M,CAAI,CACnB,CACA,CAEA,OAAAq/Q,GAAiBl6D,mDCvUjB,IAAIA,EAAWznP,GAAA,EAEXupP,EAAkB,CACpB,KAAM,kBACN,SAAUC,EACV,WAAY/B,EAAS,UACvB,EAEA,SAAS+B,EAAwBpP,EAASh4N,EAAI45N,EAAK,CACjD,IAAIp9G,EAAO,KACX,OAAOxtB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,kBAAkB,EACxBj0F,CACX,CAEE,SAASA,EAAK7jH,EAAM,CAClB,OAAIA,IAAS,IACX83M,EAAQ,MAAM,aAAa,EAC3BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,YAAY,EAClByC,GAGFb,EAAI15M,CAAI,CACnB,CAEE,SAASu6M,EAAMv6M,EAAM,CAEnB,OAAOA,IAAS,IAEd,2BAA4Bs8F,EAAK,OAAO,WAEtCo9G,EAAI15M,CAAI,EACRlgB,EAAGkgB,CAAI,CACf,CACA,CAEA,OAAAs/Q,GAAiBr4D,mDC3CjB,IAAI9B,EAAWznP,GAAA,EAEXypP,EAAiB,CACnB,KAAM,iBACN,SAAUC,EACV,WAAYjC,EAAS,UACvB,EAEA,SAASiC,EAAuBtP,EAASh4N,EAAI45N,EAAK,CAChD,IAAIp9G,EAAO,KACX,OAAOxtB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,WAAW,EACzBA,EAAQ,MAAM,aAAa,EAC3BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,WAAW,EACjByC,CACX,CAEE,SAASA,EAAMv6M,EAAM,CAEnB,OAAOA,IAAS,IAEd,2BAA4Bs8F,EAAK,OAAO,WAEtCo9G,EAAI15M,CAAI,EACRlgB,EAAGkgB,CAAI,CACf,CACA,CAEA,OAAAu/Q,GAAiBp4D,mDChCjB,IAAItP,EAAen6O,GAAA,EAEf2pP,EAAa,CACf,KAAM,aACN,SAAUC,CACZ,EAEA,SAASA,EAAmBxP,EAASh4N,EAAI,CACvC,OAAOgvF,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,YAAY,EAClBD,EAAaC,EAASh4N,EAAI,YAAY,CACjD,CACA,CAEA,OAAA0/R,GAAiBn4D,mDClBjB,IAAI9P,EAAqB75O,GAAA,EACrB+5O,EAAgBv5O,GAAA,EAChB25O,EAAex2J,GAAA,EAEfkmK,EAAgB,CAClB,KAAM,gBACN,SAAUC,CACZ,EAEA,SAASA,EAAsB1P,EAASh4N,EAAI45N,EAAK,CAC/C,IAAIzvN,EAAO,EACPijE,EACJ,OAAO4hB,EAEP,SAASA,EAAM9uE,EAAM,CACnB,OAAA83M,EAAQ,MAAM,eAAe,EAC7B5qJ,EAASltD,EACFs9M,EAAQt9M,CAAI,CACvB,CAEE,SAASs9M,EAAQt9M,EAAM,CACrB,OAAIA,IAASktD,GACX4qJ,EAAQ,MAAM,uBAAuB,EAC9Bzd,EAASr6L,CAAI,GAGlBy3M,EAAcz3M,CAAI,EACb63M,EAAaC,EAASwF,EAAS,YAAY,EAAEt9M,CAAI,EAGtD/V,EAAO,GAAM+V,IAAS,MAAQ,CAACu3M,EAAmBv3M,CAAI,EACjD05M,EAAI15M,CAAI,GAGjB83M,EAAQ,KAAK,eAAe,EACrBh4N,EAAGkgB,CAAI,EAClB,CAEE,SAASq6L,EAASr6L,EAAM,CACtB,OAAIA,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACpB/V,IACOowM,IAGTyd,EAAQ,KAAK,uBAAuB,EAC7BwF,EAAQt9M,CAAI,EACvB,CACA,CAEAy/Q,UAAiBl4D,mDClDjB,IAAInQ,EAAa15O,IAAA,EACb+5O,EAAgBv5O,GAAA,EAChB86S,EAAa33N,GAAA,EACby3N,EAAav3N,IAAA,EACbs2J,EAAer2J,GAAA,EACfq2N,EAAmBtB,GAAA,EACnBhvD,EAAgB0yD,IAAA,EAEhBjkN,EAAO,CACT,KAAM,OACN,SAAU2xJ,EACV,aAAc,CACZ,SAAUF,CACX,EACD,KAAMC,CACR,EACIE,EAAoC,CACtC,SAAUC,EACV,QAAS,EACX,EACIC,EAAkB,CACpB,SAAUC,EACV,QAAS,EACX,EAEA,SAASJ,EAAkB7P,EAASh4N,EAAI45N,EAAK,CAC3C,IAAIp9G,EAAO,KACP0rH,EAAcgxD,EAAW18K,EAAK,OAAQ,YAAY,EAClDryG,EAAO,EACX,OAAO6kF,EAEP,SAASA,EAAM9uE,EAAM,CACnB,IAAI2tB,EACF2uE,EAAK,eAAe,OACnBt8F,IAAS,IAAMA,IAAS,IAAMA,IAAS,GACpC,gBACA,eAEN,GACE2tB,IAAS,gBACL,CAAC2uE,EAAK,eAAe,QAAUt8F,IAASs8F,EAAK,eAAe,OAC5D86G,EAAWp3M,CAAI,EACnB,CAQA,GAPKs8F,EAAK,eAAe,OACvBA,EAAK,eAAe,KAAO3uE,EAC3BmqL,EAAQ,MAAMnqL,EAAM,CAClB,WAAY,EACb,IAGCA,IAAS,gBACX,OAAAmqL,EAAQ,MAAM,gBAAgB,EACvB93M,IAAS,IAAMA,IAAS,GAC3B83M,EAAQ,MAAMyP,EAAe7N,EAAKuO,CAAQ,EAAEjoN,CAAI,EAChDioN,EAASjoN,CAAI,EAGnB,GAAI,CAACs8F,EAAK,WAAat8F,IAAS,GAC9B,OAAA83M,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,MAAM,eAAe,EACtB9wD,EAAOhnJ,CAAI,CAE1B,CAEI,OAAO05M,EAAI15M,CAAI,CACnB,CAEE,SAASgnJ,EAAOhnJ,EAAM,CACpB,OAAIo3M,EAAWp3M,CAAI,GAAK,EAAE/V,EAAO,IAC/B6tN,EAAQ,QAAQ93M,CAAI,EACbgnJ,IAIN,CAAC1qD,EAAK,WAAaryG,EAAO,KAC1BqyG,EAAK,eAAe,OACjBt8F,IAASs8F,EAAK,eAAe,OAC7Bt8F,IAAS,IAAMA,IAAS,KAE5B83M,EAAQ,KAAK,eAAe,EACrBmQ,EAASjoN,CAAI,GAGf05M,EAAI15M,CAAI,CACnB,CAEE,SAASioN,EAASjoN,EAAM,CACtB,OAAA83M,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,gBAAgB,EAC7Bx7G,EAAK,eAAe,OAASA,EAAK,eAAe,QAAUt8F,EACpD83M,EAAQ,MACb+/D,EACAv7K,EAAK,UAAYo9G,EAAMwO,EACvBpQ,EAAQ,QACN8P,EACAO,EACAC,CACR,CACA,CACA,CAEE,SAASF,EAAQloN,EAAM,CACrB,OAAAs8F,EAAK,eAAe,iBAAmB,GACvC0rH,IACOG,EAAYnoN,CAAI,CAC3B,CAEE,SAASooN,EAAYpoN,EAAM,CACzB,OAAIy3M,EAAcz3M,CAAI,GACpB83M,EAAQ,MAAM,0BAA0B,EACxCA,EAAQ,QAAQ93M,CAAI,EACpB83M,EAAQ,KAAK,0BAA0B,EAChCqQ,GAGFzO,EAAI15M,CAAI,CACnB,CAEE,SAASmoN,EAAYnoN,EAAM,CACzB,OAAAs8F,EAAK,eAAe,KAClB0rH,EAAc8wD,EAAWx8K,EAAK,YAAYw7G,EAAQ,KAAK,gBAAgB,CAAC,CAAC,EACpEh4N,EAAGkgB,CAAI,CAClB,CACA,CAEA,SAASynN,EAAyB3P,EAASh4N,EAAI45N,EAAK,CAClD,IAAIp9G,EAAO,KACX,OAAAA,EAAK,eAAe,WAAa,OAC1Bw7G,EAAQ,MAAM+/D,EAAkB3vD,EAASG,CAAQ,EAExD,SAASH,EAAQloN,EAAM,CACrB,OAAAs8F,EAAK,eAAe,kBAClBA,EAAK,eAAe,mBACpBA,EAAK,eAAe,iBAGfu7G,EACLC,EACAh4N,EACA,iBACAw8G,EAAK,eAAe,KAAO,CACjC,EAAMt8F,CAAI,CACV,CAEE,SAASqoN,EAASroN,EAAM,CACtB,OAAIs8F,EAAK,eAAe,mBAAqB,CAACm7G,EAAcz3M,CAAI,GAC9Ds8F,EAAK,eAAe,kBAAoBA,EAAK,eAAe,iBAAmB,OACxEgsH,EAAiBtoN,CAAI,IAG9Bs8F,EAAK,eAAe,kBAAoBA,EAAK,eAAe,iBAAmB,OACxEw7G,EAAQ,QAAQgQ,EAAiBhoO,EAAIwoO,CAAgB,EAAEtoN,CAAI,EACtE,CAEE,SAASsoN,EAAiBtoN,EAAM,CAE9B,OAAAs8F,EAAK,eAAe,WAAa,GAEjCA,EAAK,UAAY,OACVu7G,EACLC,EACAA,EAAQ,QAAQ9hJ,EAAMl2E,EAAI45N,CAAG,EAC7B,aACAp9G,EAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACV,EAAMt8F,CAAI,CACV,CACA,CAEA,SAAS+nN,EAAejQ,EAASh4N,EAAI45N,EAAK,CACxC,IAAIp9G,EAAO,KACX,OAAOu7G,EACLC,EACAuF,EACA,iBACA/gH,EAAK,eAAe,KAAO,CAC/B,EAEE,SAAS+gH,EAAYr9M,EAAM,CACzB,OAAOg5Q,EAAW18K,EAAK,OAAQ,gBAAgB,IAC7CA,EAAK,eAAe,KAClBx8G,EAAGkgB,CAAI,EACP05M,EAAI15M,CAAI,CAChB,CACA,CAEA,SAAS0nN,EAAgB5P,EAAS,CAChCA,EAAQ,KAAK,KAAK,eAAe,IAAI,CACvC,CAEA,SAAS+P,EAAiC/P,EAASh4N,EAAI45N,EAAK,CAC1D,IAAIp9G,EAAO,KACX,OAAOu7G,EACLC,EACAuF,EACA,2BACA/gH,EAAK,OAAO,WAAW,QAAQ,KAAK,QAAQ,cAAc,EAAI,GAC1D,OACA,CACR,EAEE,SAAS+gH,EAAYr9M,EAAM,CACzB,OAAOy3M,EAAcz3M,CAAI,GACvB,CAACg5Q,EAAW18K,EAAK,OAAQ,0BAA0B,EACjDo9G,EAAI15M,CAAI,EACRlgB,EAAGkgB,CAAI,CACf,CACA,CAEA0/Q,UAAiB1pN,mDCnNjB,IAAIuhJ,EAAqB75O,GAAA,EACrBm5P,EAAU34P,GAAA,EACV25O,EAAex2J,GAAA,EAEfknK,EAAkB,CACpB,KAAM,kBACN,SAAUE,EACV,UAAWD,CACb,EAEA,SAASA,EAAyB37M,EAAQtY,EAAS,CAQjD,QAPI2C,EAAQ2V,EAAO,OACfzJ,EACA9B,EACAm1D,EACAiyJ,EAGGxxN,KACL,GAAI2V,EAAO3V,CAAK,EAAE,CAAC,IAAM,QAAS,CAChC,GAAI2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,UAAW,CACvCkM,EAAUlM,EACV,KACR,CAEU2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,cAC5BoK,EAAOpK,EAEV,MAEK2V,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,WAE5B2V,EAAO,OAAO3V,EAAO,CAAC,EAGpB,CAACu/D,GAAc5pD,EAAO3V,CAAK,EAAE,CAAC,EAAE,OAAS,eAC3Cu/D,EAAav/D,GAKnB,OAAAwxN,EAAU,CACR,KAAM,gBACN,MAAOmO,EAAQhqN,EAAOvL,CAAI,EAAE,CAAC,EAAE,KAAK,EACpC,IAAKu1N,EAAQhqN,EAAOA,EAAO,OAAS,CAAC,EAAE,CAAC,EAAE,GAAG,CAC9C,EAEDA,EAAOvL,CAAI,EAAE,CAAC,EAAE,KAAO,oBAGnBm1D,GACF5pD,EAAO,OAAOvL,EAAM,EAAG,CAAC,QAASonN,EAASn0N,CAAO,CAAC,EAClDsY,EAAO,OAAO4pD,EAAa,EAAG,EAAG,CAAC,OAAQ5pD,EAAOzJ,CAAO,EAAE,CAAC,EAAG7O,CAAO,CAAC,EACtEsY,EAAOzJ,CAAO,EAAE,CAAC,EAAE,IAAMyzN,EAAQhqN,EAAO4pD,CAAU,EAAE,CAAC,EAAE,GAAG,GAE1D5pD,EAAOzJ,CAAO,EAAE,CAAC,EAAIslN,EAGvB77M,EAAO,KAAK,CAAC,OAAQ67M,EAASn0N,CAAO,CAAC,EAC/BsY,CACT,CAEA,SAAS47M,EAAwB3Q,EAASh4N,EAAI45N,EAAK,CAMjD,QALIp9G,EAAO,KACPplG,EAAQolG,EAAK,OAAO,OACpBpvC,EACAy7J,EAEGzxN,KAGL,GACEolG,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,OAAS,cAC/BolG,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,OAAS,cAC/BolG,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,OAAS,UAC/B,CACAyxN,EAAYrsH,EAAK,OAAOplG,CAAK,EAAE,CAAC,EAAE,OAAS,YAC3C,KACN,CAGE,OAAO43E,EAEP,SAASA,EAAM9uE,EAAM,CACnB,MAAI,CAACs8F,EAAK,OAASA,EAAK,WAAaqsH,IACnC7Q,EAAQ,MAAM,mBAAmB,EACjCA,EAAQ,MAAM,2BAA2B,EACzC5qJ,EAASltD,EACFk6M,EAAgBl6M,CAAI,GAGtB05M,EAAI15M,CAAI,CACnB,CAEE,SAASk6M,EAAgBl6M,EAAM,CAC7B,OAAIA,IAASktD,GACX4qJ,EAAQ,QAAQ93M,CAAI,EACbk6M,IAGTpC,EAAQ,KAAK,2BAA2B,EACjCD,EAAaC,EAASqkE,EAAoB,YAAY,EAAEn8Q,CAAI,EACvE,CAEE,SAASm8Q,EAAmBn8Q,EAAM,CAChC,OAAIA,IAAS,MAAQu3M,EAAmBv3M,CAAI,GAC1C83M,EAAQ,KAAK,mBAAmB,EACzBh4N,EAAGkgB,CAAI,GAGT05M,EAAI15M,CAAI,CACnB,CACA,CAEA,OAAA2/Q,GAAiBp3D,gDClHjB,OAAO,eAAe5R,GAAS,aAAc,CAAC,MAAO,EAAI,CAAC,EAE1D,IAAIipE,EAASliT,IAAA,EACTo8O,EAAY57O,IAAA,EACZs8O,EAAWn5J,IAAA,EACX85J,EAAa55J,IAAA,EACbk6J,EAAkBj6J,IAAA,EAClB20J,EAAqBogE,IAAA,EACrBz6D,EAAam+D,IAAA,EACbh9D,EAAei9D,IAAA,EACf38D,EAAW48D,IAAA,EACX1jN,EAAaooN,IAAA,EACb39D,EAAkB2+D,IAAA,EAClBz+D,EAAa0+D,IAAA,EACbp+D,EAAWq+D,IAAA,EACXn8D,EAAWo8D,IAAA,EACX76D,EAAW86D,GAAA,EACXh5D,EAAkBi5D,IAAA,EAClB/4D,EAAiBg5D,IAAA,EACjB94D,EAAa+4D,IAAA,EACbpqN,EAAOqqN,IAAA,EACP93D,EAAkB+3D,IAAA,EAClB/4D,EAAgBg5D,IAAA,EAEhBnoE,EAAW,CACb,GAAIpiJ,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAIA,EAEJ,GAAImlJ,CACN,EACIsO,EAAiB,CACnB,GAAIhzJ,CACN,EACIizJ,EAAc,CAChB,KAAMzM,EAEN,KAAMA,EAEN,GAAIA,CACN,EACI2L,EAAO,CACT,GAAIxH,EAEJ,GAAImG,EAEJ,GAAI,CAACgB,EAAiBhB,CAAa,EAEnC,GAAI7F,EAEJ,GAAI6G,EAEJ,GAAIhB,EAEJ,GAAIzL,EAEJ,IAAKA,CACP,EACIv2J,EAAS,CACX,GAAI4wJ,EAEJ,GAAIsF,CACN,EACIn6M,EAAO,CACT,KAAM+lN,EAEN,KAAMA,EAEN,KAAMA,EAEN,GAAIJ,EAEJ,GAAI9Q,EAEJ,GAAI2D,EAEJ,GAAI,CAACU,EAAUoJ,CAAQ,EAEvB,GAAIuD,EAEJ,GAAI,CAACjG,EAAiBzF,CAAe,EAErC,GAAI0J,EAEJ,GAAIrL,EAEJ,GAAIyD,CACN,EACIoM,EAAa,CACf,KAAM,CAAC7P,EAAW8lE,EAAO,QAAQ,CACnC,EACI/1D,EAAU,CACZ,KAAM,EACR,EAEA,OAAAlT,GAAA,eAAyB8S,EACzB9S,GAAA,QAAkBkT,EAClBlT,GAAA,SAAmByB,EACnBzB,GAAA,KAAeiS,EACfjS,GAAA,YAAsB+S,EACtB/S,GAAA,WAAqBgT,EACrBhT,GAAA,OAAiBpxJ,EACjBoxJ,GAAA,KAAer1M,mDC5Hf,IAAI8B,EAAU1lC,IAAA,EACV06O,EAAWl6O,IAAA,EACX0qP,EAAOvnK,IAAA,EACP//C,EAAOigD,IAAA,EACP+0J,EAAoB90J,IAAA,EACpBsoK,EAAkBysD,IAAA,EAClBmD,EAAWO,GAAA,EACXtjE,EAAaujE,IAAA,EAEjB,SAAS9qL,EAAMznG,EAAS,CACtB,IAAI+2L,EAAW/2L,GAAW,GACtB2yG,EAAS,CACX,QAAS,CAAE,EACX,WAAYg8G,EACV,CAACK,CAAU,EAAE,OAAO+iE,EAASh7F,EAAS,UAAU,CAAC,CAClD,EACD,QAASpvG,EAAOlsE,CAAO,EACvB,SAAUksE,EAAO8oI,CAAQ,EACzB,KAAM9oI,EAAOs5I,CAAI,EACjB,OAAQt5I,EAAOhuE,EAAK,MAAM,EAC1B,KAAMguE,EAAOhuE,EAAK,IAAI,CAC1B,EACE,OAAOg5F,EAEP,SAAShrB,EAAOkxM,EAAa,CAC3B,OAAOn0D,EAEP,SAASA,EAAQtnO,EAAM,CACrB,OAAO+kO,EAAgBxvH,EAAQkmL,EAAaz7R,CAAI,CACtD,CACA,CACA,CAEA,OAAA07R,GAAiBrxL,mDCjCjB,IAAIhpD,EAAS,cAEb,SAASlT,GAAa,CACpB,IAAI47C,EAAQ,GACRnE,EAAS,EACT+uC,EAAS,GACT6yG,EACJ,OAAOC,EAEP,SAASA,EAAaxjO,EAAOyjO,EAAU3oK,EAAK,CAC1C,IAAIylK,EAAS,GACTz1M,EACA7H,EACAi7K,EACAwlC,EACA1sN,EAaJ,IAZAhX,EAAQ0wH,EAAS1wH,EAAM,SAASyjO,CAAQ,EACxCvlC,EAAgB,EAChBxtE,EAAS,GAEL5qC,IACE9lF,EAAM,WAAW,CAAC,IAAM,OAC1Bk+L,IAGFp4G,EAAQ,QAGHo4G,EAAgBl+L,EAAM,QAAQ,CAMnC,GALAo9C,EAAO,UAAY8gJ,EACnBpzK,EAAQsyB,EAAO,KAAKp9C,CAAK,EACzB0jO,EAAc54M,EAAQA,EAAM,MAAQ9qB,EAAM,OAC1CgX,EAAOhX,EAAM,WAAW0jO,CAAW,EAE/B,CAAC54M,EAAO,CACV4lG,EAAS1wH,EAAM,MAAMk+L,CAAa,EAClC,KACR,CAEM,GAAIlnL,IAAS,IAAMknL,IAAkBwlC,GAAeH,EAClDhD,EAAO,KAAK,EAAE,EACdgD,EAAmB,eAEfA,IACFhD,EAAO,KAAK,EAAE,EACdgD,EAAmB,QAGjBrlC,EAAgBwlC,IAClBnD,EAAO,KAAKvgO,EAAM,MAAMk+L,EAAewlC,CAAW,CAAC,EACnD/hJ,GAAU+hJ,EAAcxlC,GAGtBlnL,IAAS,EACXupN,EAAO,KAAK,KAAK,EACjB5+I,YACS3qE,IAAS,EAIlB,IAHAiM,EAAO,KAAK,KAAK0+D,EAAS,CAAC,EAAI,EAC/B4+I,EAAO,KAAK,EAAE,EAEP5+I,IAAW1+D,GAAMs9M,EAAO,KAAK,EAAE,OAC7BvpN,IAAS,IAClBupN,EAAO,KAAK,EAAE,EACd5+I,EAAS,IAGT4hJ,EAAmB,GACnB5hJ,EAAS,GAIbu8G,EAAgBwlC,EAAc,CACpC,CAEI,OAAI5oK,IACEyoK,GAAkBhD,EAAO,KAAK,EAAE,EAChC7vG,GAAQ6vG,EAAO,KAAK7vG,CAAM,EAC9B6vG,EAAO,KAAK,IAAI,GAGXA,CACX,CACA,CAEA,OAAAm3D,GAAiBxtP,mDCpFjB,IAAI+qL,EAAcvgP,IAAA,EAElB,SAAS4uP,EAAYz/M,EAAQ,CAC3B,KAAO,CAACoxM,EAAYpxM,CAAM,GAAG,CAI7B,OAAOA,CACT,CAEA,OAAA8zQ,GAAiBr0D,mDCVjBs0D,GAAiB5zD,EAIjB,IAAIx7H,EAAW9zH,IAAA,EACXq1M,EAAS70M,GAAA,EACTqzN,EAAMlwI,IAAA,EACNy1J,EAAsBv1J,GAAA,EACtBg2N,EAAc/1N,IAAA,EACd84C,EAASi8K,IAAA,EACT/pD,EAAeytD,IAAA,EACf3tD,EAAc4tD,IAAA,EACdrtD,EAASstD,IAAA,EACT7sE,EAAoBuxE,IAAA,EAExB,SAAS7xD,EAAahkO,EAAOyjO,EAAU9kO,EAAS,CAC9C,OAAI,OAAO8kO,GAAa,WACtB9kO,EAAU8kO,EACVA,EAAW,QAGNQ,EAAStlO,CAAO,EACrB2kO,EACEhyH,EAAO3yG,CAAO,EAAE,WAAW,MAAM6kO,IAAexjO,EAAOyjO,EAAU,EAAI,CAAC,CAC5E,CACA,CACA,CAGA,SAASQ,EAAStlO,EAAS,CACzB,IAAI+2L,EAAW/2L,GAAW,GACtBqJ,EAASywE,EACX,CACE,WAAY,CAAE,EACd,eAAgB,CACd,WACA,WACA,UACA,YACA,QACD,EAED,MAAO,CACL,SAAUyrJ,EAAOpjK,EAAI,EACrB,iBAAkBqjK,EAClB,cAAeA,EACf,WAAYD,EAAOxE,EAAO,EAC1B,WAAYwE,EAAO/R,EAAU,EAC7B,gBAAiBgS,EACjB,mBAAoBA,EACpB,WAAYD,EAAOE,EAAQ,EAC3B,oBAAqB1zG,EACrB,oBAAqBA,EACrB,aAAcwzG,EAAOE,GAAU1zG,CAAM,EACrC,SAAUwzG,EAAO3P,GAAU7jG,CAAM,EACjC,aAAcyzG,EACd,KAAMA,EACN,cAAeA,EACf,WAAYD,EAAOz2J,EAAU,EAC7B,4BAA6BijD,EAC7B,sBAAuBA,EACvB,sBAAuBA,EACvB,SAAUwzG,EAAOG,EAAQ,EACzB,gBAAiBH,EAAOI,EAAS,EACjC,kBAAmBJ,EAAOI,EAAS,EACnC,SAAUJ,EAAOlgK,GAAM0sD,CAAM,EAC7B,aAAcyzG,EACd,SAAUD,EAAOlgK,GAAM0sD,CAAM,EAC7B,aAAcyzG,EACd,MAAOD,EAAOK,EAAK,EACnB,MAAO7zG,EACP,KAAMwzG,EAAOpjK,EAAI,EACjB,SAAUojK,EAAOM,EAAQ,EACzB,cAAeC,EACf,YAAaP,EAAOl3J,GAAM03J,CAAkB,EAC5C,cAAeR,EAAOl3J,EAAI,EAC1B,UAAWk3J,EAAOvE,EAAS,EAC3B,UAAWgF,GACX,gBAAiBj0G,EACjB,0BAA2BA,EAC3B,oBAAqBA,EACrB,cAAewzG,EAAOxE,EAAO,EAC7B,OAAQwE,EAAOU,EAAM,EACrB,cAAeV,EAAO3F,EAAa,CACpC,EAED,KAAM,CACJ,WAAYsG,EAAQ,EACpB,mBAAoBC,EACpB,SAAUD,EAAQ,EAClB,cAAeE,GACf,iBAAkBC,GAClB,WAAYH,EAAQ,EACpB,qBAAsBI,GACtB,oCAAqCC,GACrC,gCAAiCA,GACjC,wBAAyBC,GACzB,WAAYN,EAAOQ,CAAgB,EACnC,gBAAiBC,EACjB,oBAAqBC,EACrB,oBAAqBC,EACrB,cAAeP,GACf,aAAcJ,EAAOY,CAAkB,EACvC,SAAUZ,EAAOa,EAAc,EAC/B,aAAcT,GACd,KAAMA,GACN,WAAYJ,EAAQ,EACpB,4BAA6Bc,EAC7B,sBAAuBC,EACvB,sBAAuBC,EACvB,SAAUhB,EAAQ,EAClB,gBAAiBA,EAAOiB,EAAe,EACvC,kBAAmBjB,EAAOiB,EAAe,EACzC,SAAUjB,EAAOkB,EAAc,EAC/B,aAAcd,GACd,SAAUJ,EAAOmB,EAAc,EAC/B,aAAcf,GACd,MAAOJ,EAAOoB,CAAW,EACzB,MAAOC,GACP,UAAWC,GACX,WAAYC,EACZ,KAAMvB,EAAOwB,EAAU,EACvB,SAAUxB,EAAQ,EAClB,YAAaA,EAAQ,EACrB,cAAeA,EAAQ,EACvB,UAAWA,EAAQ,EACnB,gBAAiByB,GACjB,0BAA2BC,GAC3B,oBAAqBC,GACrB,SAAUC,GACV,cAAe5B,EAAO6B,EAAmB,EACzC,0BAA2BC,GAC3B,kBAAmBC,EACnB,OAAQ/B,EAAQ,EAChB,cAAeA,EAAM,CAC7B,CACK,EAEDnvC,EAAS,iBAAmB,EAChC,EAEMxwL,EAAO,GAEX,OAAOqmL,EAEP,SAASA,EAAQ1nK,GAAQ,CAqBvB,QApBI+oL,GAAO,CAAC,KAAM,OAAQ,SAAU,CAAE,GAClC1rL,GAAQ,CAAC0rL,EAAI,EACbirF,GAAa,GACb/wD,GAAY,GACZ54N,GAAQ,GACRxP,GACAo5R,GAEAvsR,GAAU,CACZ,MAAO2V,GACP,WAAY22Q,GACZ,OAAQ7vR,EACR,MAAO4sN,EACP,KAAMvC,EACN,OAAQ3hG,EACR,OAAQm2G,EACR,QAASl5E,EACT,QAAS9yI,CACf,EAEW,EAAE3M,GAAQ2V,GAAO,SAIpBA,GAAO3V,EAAK,EAAE,CAAC,EAAE,OAAS,eAC1B2V,GAAO3V,EAAK,EAAE,CAAC,EAAE,OAAS,mBAEtB2V,GAAO3V,EAAK,EAAE,CAAC,IAAM,QACvB44N,GAAU,KAAK54N,EAAK,GAEpB4pR,GAAYhxD,GAAU,IAAI54N,EAAK,EAC/BA,GAAQ64N,EAAYljN,GAAQi0Q,GAAW5pR,EAAK,IAOlD,IAFAA,GAAQ,GAED,EAAEA,GAAQ2V,GAAO,QACtBnlB,GAAUsJ,EAAO6b,GAAO3V,EAAK,EAAE,CAAC,CAAC,EAE7Bq6L,EAAI,KAAK7pM,GAASmlB,GAAO3V,EAAK,EAAE,CAAC,EAAE,IAAI,GACzCxP,GAAQmlB,GAAO3V,EAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAC7B67K,EAAO,CAAC,eAAgBlmK,GAAO3V,EAAK,EAAE,CAAC,EAAE,cAAc,EAAG3C,EAAO,EACjEsY,GAAO3V,EAAK,EAAE,CAAC,CACzB,EAII,GAAI2pR,GAAW,OACb,MAAM,IAAI,MACR,oCACEA,GAAWA,GAAW,OAAS,CAAC,EAAE,KAClC,MACAvzE,EAAkB,CAChB,MAAOuzE,GAAWA,GAAW,OAAS,CAAC,EAAE,MACzC,IAAKA,GAAWA,GAAW,OAAS,CAAC,EAAE,GACnD,CAAW,EACD,iBACV,EAiBI,IAbAjrF,GAAK,SAAW,CACd,MAAO9uC,EACLj6I,GAAO,OAASA,GAAO,CAAC,EAAE,CAAC,EAAE,MAAQ,CAAC,KAAM,EAAG,OAAQ,EAAG,OAAQ,CAAC,CACpE,EAED,IAAKi6I,EACHj6I,GAAO,OACHA,GAAOA,GAAO,OAAS,CAAC,EAAE,CAAC,EAAE,IAC7B,CAAC,KAAM,EAAG,OAAQ,EAAG,OAAQ,CAAC,CAC1C,CACA,EAEI3V,GAAQ,GACD,EAAEA,GAAQlG,EAAO,WAAW,QACjC4kM,GAAO5kM,EAAO,WAAWkG,EAAK,EAAE0+L,EAAI,GAAKA,GAG3C,OAAOA,EACX,CAEE,SAASm6B,EAAYljN,GAAQiiE,GAAOnpF,GAAQ,CAY1C,QAXIuR,GAAQ43E,GAAQ,EAChBmhJ,GAAmB,GACnBC,GAAa,GACb1C,GACA4C,GACAhS,GACAiS,GACAvoO,GACAqoO,GACAlI,GAEG,EAAE/wN,IAASvR,IAwChB,GAvCAmC,GAAQ+kB,GAAO3V,EAAK,EAGlBpP,GAAM,CAAC,EAAE,OAAS,iBAClBA,GAAM,CAAC,EAAE,OAAS,eAClBA,GAAM,CAAC,EAAE,OAAS,cAEdA,GAAM,CAAC,IAAM,QACfmoO,KAEAA,KAGFhI,GAAW,QACFngO,GAAM,CAAC,EAAE,OAAS,kBACvBA,GAAM,CAAC,IAAM,UAEb0lO,IACA,CAACvF,IACD,CAACgI,IACD,CAACE,KAEDA,GAAsBj5N,IAGxB+wN,GAAW,QAGbngO,GAAM,CAAC,EAAE,OAAS,cAClBA,GAAM,CAAC,EAAE,OAAS,iBAClBA,GAAM,CAAC,EAAE,OAAS,kBAClBA,GAAM,CAAC,EAAE,OAAS,kBAClBA,GAAM,CAAC,EAAE,OAAS,6BAIlBmgO,GAAW,QAIV,CAACgI,IACAnoO,GAAM,CAAC,IAAM,SACbA,GAAM,CAAC,EAAE,OAAS,kBACnBmoO,KAAqB,IACpBnoO,GAAM,CAAC,IAAM,SACZA,GAAM,CAAC,EAAE,OAAS,iBACjBA,GAAM,CAAC,EAAE,OAAS,eACtB,CACA,GAAI0lO,GAAU,CAIZ,IAHA4C,GAAYl5N,GACZknN,GAAY,OAELgS,MAGL,GAFAC,GAAYxjN,GAAOujN,EAAS,EAG1BC,GAAU,CAAC,EAAE,OAAS,cACtBA,GAAU,CAAC,EAAE,OAAS,kBACtB,CACA,GAAIA,GAAU,CAAC,IAAM,OAAQ,SAEzBjS,KACFvxM,GAAOuxM,EAAS,EAAE,CAAC,EAAE,KAAO,kBAC5B8R,GAAa,IAGfG,GAAU,CAAC,EAAE,KAAO,aACpBjS,GAAYgS,EAC1B,SACc,EAAAC,GAAU,CAAC,EAAE,OAAS,cACtBA,GAAU,CAAC,EAAE,OAAS,oBACtBA,GAAU,CAAC,EAAE,OAAS,8BACtBA,GAAU,CAAC,EAAE,OAAS,oBACtBA,GAAU,CAAC,EAAE,OAAS,kBAItB,MAKFF,KACC,CAAC/R,IAAa+R,GAAsB/R,MAErCoP,GAAS,QAAU,IAIrBA,GAAS,IAAM1mE,EACbs3D,GAAYvxM,GAAOuxM,EAAS,EAAE,CAAC,EAAE,MAAQt2N,GAAM,CAAC,EAAE,GAC9D,EAEU+kB,GAAO,OAAOuxM,IAAalnN,GAAO,EAAG,CAAC,OAAQs2N,GAAU1lO,GAAM,CAAC,CAAC,CAAC,EACjEoP,KACAvR,IACV,CAGYmC,GAAM,CAAC,EAAE,OAAS,mBACpB0lO,GAAW,CACT,KAAM,WACN,QAAS,GACT,MAAO1mE,EAAMh/J,GAAM,CAAC,EAAE,KAAK,CACvC,EAEU+kB,GAAO,OAAO3V,GAAO,EAAG,CAAC,QAASs2N,GAAU1lO,GAAM,CAAC,CAAC,CAAC,EACrDoP,KACAvR,KACAwqO,GAAsB,OACtBlI,GAAW,GAErB,CAGI,OAAAp7M,GAAOiiE,EAAK,EAAE,CAAC,EAAE,QAAUohJ,GACpBvqO,EACX,CAEE,SAASgxJ,EAAQlyJ,GAAKuE,GAAO,CAC3BkF,EAAKzJ,EAAG,EAAIuE,EAChB,CAEE,SAAS6a,EAAQpf,GAAK,CACpB,OAAOyJ,EAAKzJ,EAAG,CACnB,CAEE,SAASqiK,EAAMzqL,GAAG,CAChB,MAAO,CAAC,KAAMA,GAAE,KAAM,OAAQA,GAAE,OAAQ,OAAQA,GAAE,MAAM,CAC5D,CAEE,SAAS6wP,EAAO59I,GAAQghJ,GAAK,CAC3B,OAAOzsG,GAEP,SAASA,GAAK5iF,GAAO,CACnB28K,EAAM,KAAK,KAAMtuI,GAAOruC,EAAK,EAAGA,EAAK,EACjCqvL,IAAKA,GAAI,KAAK,KAAMrvL,EAAK,CACnC,CACA,CAEE,SAASy4E,GAAS,CAChB,KAAK,MAAM,KAAK,CAAC,KAAM,WAAY,SAAU,EAAE,CAAC,CACpD,CAEE,SAASkkG,EAAM97M,GAAMm/B,GAAO,CAC1B,YAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,SAAS,KAAKn/B,EAAI,EACpD,KAAK,MAAM,KAAKA,EAAI,EACpB,KAAK,WAAW,KAAKm/B,EAAK,EAC1Bn/B,GAAK,SAAW,CAAC,MAAOglJ,EAAM7lH,GAAM,KAAK,CAAC,EACnCn/B,EACX,CAEE,SAAS+rN,EAAOyC,GAAK,CACnB,OAAOjsD,GAEP,SAASA,GAAMpjI,GAAO,CAChBqvL,IAAKA,GAAI,KAAK,KAAMrvL,EAAK,EAC7Bo6K,EAAK,KAAK,KAAMp6K,EAAK,CAC3B,CACA,CAEE,SAASo6K,EAAKp6K,GAAO,CACnB,IAAIn/B,GAAO,KAAK,MAAM,IAAG,EACrB+hH,GAAO,KAAK,WAAW,IAAG,EAE9B,GAAKA,IAQE,GAAIA,GAAK,OAAS5iF,GAAM,KAC7B,MAAM,IAAI,MACR,iBACEA,GAAM,KACN,MACAqsK,EAAkB,CAAC,MAAOrsK,GAAM,MAAO,IAAKA,GAAM,GAAG,CAAC,EACtD,0BACA4iF,GAAK,KACL,MACAypF,EAAkB,CAAC,MAAOzpF,GAAK,MAAO,IAAKA,GAAK,GAAG,CAAC,EACpD,WACV,MAlBM,OAAM,IAAI,MACR,iBACE5iF,GAAM,KACN,MACAqsK,EAAkB,CAAC,MAAOrsK,GAAM,MAAO,IAAKA,GAAM,GAAG,CAAC,EACtD,kBACV,EAeI,OAAAn/B,GAAK,SAAS,IAAMglJ,EAAM7lH,GAAM,GAAG,EAC5Bn/B,EACX,CAEE,SAAS+tN,GAAS,CAChB,OAAOr+H,EAAS,KAAK,MAAM,IAAK,EACpC,CAME,SAASk8H,GAAqB,CAC5B/2E,EAAQ,8BAA+B,EAAI,CAC/C,CAEE,SAAS82E,EAAqBxsL,GAAO,CAC/Bp9B,EAAQ,6BAA6B,IACvC,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQ,SACxC,KAAK,eAAeo9B,EAAK,EACzB,EACR,EAEM01G,EAAQ,6BAA6B,EAE3C,CAEE,SAAS43E,GAA4B,CACnC,IAAIrgO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,KAAOA,EAC7C,CAEE,SAASsgO,GAA4B,CACnC,IAAItgO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,KAAOA,EAC7C,CAEE,SAASogO,GAAwB,CAE3BzqN,EAAQ,gBAAgB,IAC5B,KAAK,OAAM,EACX8yI,EAAQ,iBAAkB,EAAI,EAClC,CAEE,SAAS03E,GAAmB,CAC1B,IAAIngO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,GAAK,QAC7C,2BACA,EACN,EAEIyoJ,EAAQ,gBAAgB,CAC5B,CAEE,SAAS83E,GAAqB,CAC5B,IAAIvgO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,EAC9C,CAEE,SAAS0gO,EAA4B3tL,GAAO,CAE1C,IAAIu+C,GAAQ,KAAK,OAAM,EACvB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,GAC1C,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,WAAas3H,EAC7C,KAAK,eAAe71K,EAAK,CAC/B,EAAM,YAAW,CACjB,CAEE,SAAS4tL,GAA8B,CACrC,IAAI3gO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,EAC9C,CAEE,SAASygO,GAAoC,CAC3C,IAAIzgO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,IAAMA,EAC5C,CAEE,SAAS4/N,EAAyB7sL,GAAO,CAClC,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,QACrC,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQ,KAAK,eAC7CA,EACR,EAAQ,OAER,CAEE,SAAS2uL,GAA0B,CACjCj5E,EAAQ,+BAAgC,EAAI,CAChD,CAEE,SAASg5E,GAAgC1uL,GAAO,CAC9C,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAChC,KAAK,eAAeA,EAAK,EAAE,WAAW,CAAC,IAAM,GAAK,EAAI,CAC5D,CAEE,SAASyuL,IAAsB,CAC7B/4E,EAAQ,8BAA8B,CAC1C,CAEE,SAASw2E,EAAYlsL,GAAO,CAC1B,IAAI0yI,GAAW,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,SAC7Cz1E,GAAOy1E,GAASA,GAAS,OAAS,CAAC,GAEnC,CAACz1E,IAAQA,GAAK,OAAS,UAEzBA,GAAO58F,GAAI,EACX48F,GAAK,SAAW,CAAC,MAAO4oD,EAAM7lH,GAAM,KAAK,CAAC,EAC1C,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,SAAS,KAAKi9D,EAAI,GAGtD,KAAK,MAAM,KAAKA,EAAI,CACxB,CAEE,SAAS+vH,GAAWhtL,GAAO,CACzB,IAAIi9D,GAAO,KAAK,MAAM,IAAG,EACzBA,GAAK,OAAS,KAAK,eAAej9D,EAAK,EACvCi9D,GAAK,SAAS,IAAM4oD,EAAM7lH,GAAM,GAAG,CACvC,CAEE,SAASmuL,EAAiBnuL,GAAO,CAC/B,IAAI1sC,GAAU,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAG9C,GAAIsP,EAAQ,aAAa,EAAG,CAC1BtP,GAAQ,SAASA,GAAQ,SAAS,OAAS,CAAC,EAAE,SAAS,IAAMuyJ,EAC3D7lH,GAAM,GACd,EAEM01G,EAAQ,aAAa,EACrB,MACN,CAGM,CAAC9yI,EAAQ,8BAA8B,GACvC7S,EAAO,eAAe,QAAQuD,GAAQ,IAAI,EAAI,KAE9C44N,EAAY,KAAK,KAAMlsL,EAAK,EAC5BgtL,GAAW,KAAK,KAAMhtL,EAAK,EAEjC,CAEE,SAAS6tL,IAAkB,CACzBn4E,EAAQ,cAAe,EAAI,CAC/B,CAEE,SAASo4E,IAAiB,CACxB,IAAI7gO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,EAC9C,CAEE,SAAS8gO,IAAiB,CACxB,IAAI9gO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,EAC9C,CAEE,SAASwgO,IAAiB,CACxB,IAAIxgO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,EAC9C,CAEE,SAASmhO,IAAa,CACpB,IAAI96N,GAAU,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAG1CsP,EAAQ,aAAa,GACvBtP,GAAQ,MAAQ,YAChBA,GAAQ,cAAgBsP,EAAQ,eAAe,GAAK,WACpD,OAAOtP,GAAQ,IACf,OAAOA,GAAQ,QAEf,OAAOA,GAAQ,WACf,OAAOA,GAAQ,MACf,OAAOA,GAAQ,eAGjBoiJ,EAAQ,eAAe,CAC3B,CAEE,SAASs4E,GAAc,CACrB,IAAI16N,GAAU,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAG1CsP,EAAQ,aAAa,GACvBtP,GAAQ,MAAQ,YAChBA,GAAQ,cAAgBsP,EAAQ,eAAe,GAAK,WACpD,OAAOtP,GAAQ,IACf,OAAOA,GAAQ,QAEf,OAAOA,GAAQ,WACf,OAAOA,GAAQ,MACf,OAAOA,GAAQ,eAGjBoiJ,EAAQ,eAAe,CAC3B,CAEE,SAASw4E,GAAgBluL,GAAO,CAC9B,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,WAAa61K,EAC7C,KAAK,eAAe71K,EAAK,CAC/B,EAAM,YAAW,CACjB,CAEE,SAASiuL,IAAc,CACrB,IAAI1hK,GAAW,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAC3CxkE,GAAQ,KAAK,OAAM,EAEvB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,GAG1C2tJ,EAAQ,cAAe,EAAI,EAEvB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,OAAS,OAC7C,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,SAAWnpF,GAAS,SAEtD,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,IAAMxkE,EAE9C,CAEE,SAASumO,IAAkC,CACzC,IAAIrhO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,IAAMA,EAC5C,CAEE,SAASshO,IAA4B,CACnC,IAAIthO,GAAO,KAAK,OAAM,EACtB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,EAC9C,CAEE,SAASuhO,IAAiB,CACxB94E,EAAQ,aAAa,CACzB,CAEE,SAASg3E,IAAmB,CAC1Bh3E,EAAQ,gBAAiB,WAAW,CACxC,CAEE,SAAS24E,GAAsBruL,GAAO,CACpC,IAAIu+C,GAAQ,KAAK,OAAM,EACvB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,MAAQA,GAC1C,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,WAAas3H,EAC7C,KAAK,eAAe71K,EAAK,CAC/B,EAAM,YAAW,EACb01G,EAAQ,gBAAiB,MAAM,CACnC,CAEE,SAASu3E,GAA+BjtL,GAAO,CAC7C01G,EAAQ,yBAA0B11G,GAAM,IAAI,CAChD,CAEE,SAASktL,GAA8BltL,GAAO,CAC5C,IAAI/yC,GAAO,KAAK,eAAe+yC,EAAK,EAChCl1C,GAAO8X,EAAQ,wBAAwB,EACvC7a,GACAk1G,GAEAnyG,IACF/C,GAAQuuR,EACNrpR,GACAnC,KAAS,kCAAoC,GAAK,EAC1D,EAEM4qJ,EAAQ,wBAAwB,GAEhC3tJ,GAAQ6jO,EAAO3+N,EAAI,EAGrBgwG,GAAO,KAAK,MAAM,IAAG,EACrBA,GAAK,OAASl1G,GACdk1G,GAAK,SAAS,IAAM4oD,EAAM7lH,GAAM,GAAG,CACvC,CAEE,SAAS+sL,GAAuB/sL,GAAO,CACrCgtL,GAAW,KAAK,KAAMhtL,EAAK,EAC3B,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,IAAM,KAAK,eAAeA,EAAK,CACrE,CAEE,SAAS8sL,GAAoB9sL,GAAO,CAClCgtL,GAAW,KAAK,KAAMhtL,EAAK,EAC3B,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAAE,IAChC,UAAY,KAAK,eAAeA,EAAK,CAC3C,CAME,SAASk6K,IAAa,CACpB,MAAO,CAAC,KAAM,aAAc,SAAU,CAAE,EAC5C,CAEE,SAASiS,IAAW,CAClB,MAAO,CAAC,KAAM,OAAQ,KAAM,KAAM,KAAM,KAAM,MAAO,EAAE,CAC3D,CAEE,SAAS7P,IAAW,CAClB,MAAO,CAAC,KAAM,aAAc,MAAO,EAAE,CACzC,CAEE,SAAS9mJ,IAAa,CACpB,MAAO,CACL,KAAM,aACN,WAAY,GACZ,MAAO,KACP,MAAO,KACP,IAAK,EACX,CACA,CAEE,SAAS42J,IAAW,CAClB,MAAO,CAAC,KAAM,WAAY,SAAU,CAAE,EAC1C,CAEE,SAAS3E,IAAU,CACjB,MAAO,CAAC,KAAM,UAAW,MAAO,OAAW,SAAU,CAAE,EAC3D,CAEE,SAAS4E,IAAY,CACnB,MAAO,CAAC,KAAM,OAAO,CACzB,CAEE,SAAStgK,IAAO,CACd,MAAO,CAAC,KAAM,OAAQ,MAAO,EAAE,CACnC,CAEE,SAASugK,IAAQ,CACf,MAAO,CAAC,KAAM,QAAS,MAAO,KAAM,IAAK,GAAI,IAAK,IAAI,CAC1D,CAEE,SAASzjK,IAAO,CACd,MAAO,CAAC,KAAM,OAAQ,MAAO,KAAM,IAAK,GAAI,SAAU,CAAE,EAC5D,CAEE,SAASkM,GAAK/0B,GAAO,CACnB,MAAO,CACL,KAAM,OACN,QAASA,GAAM,OAAS,cACxB,MAAO,KACP,OAAQA,GAAM,QACd,SAAU,EAChB,CACA,CAEE,SAASusL,GAASvsL,GAAO,CACvB,MAAO,CACL,KAAM,WACN,OAAQA,GAAM,QACd,QAAS,KACT,SAAU,EAChB,CACA,CAEE,SAAS0nL,IAAY,CACnB,MAAO,CAAC,KAAM,YAAa,SAAU,CAAE,EAC3C,CAEE,SAASiF,IAAS,CAChB,MAAO,CAAC,KAAM,SAAU,SAAU,CAAE,EACxC,CAEE,SAAStsN,IAAO,CACd,MAAO,CAAC,KAAM,OAAQ,MAAO,EAAE,CACnC,CAEE,SAASimN,IAAgB,CACvB,MAAO,CAAC,KAAM,eAAe,CACjC,CACA,CAEA,SAAS9lJ,EAAUzwE,EAAQulN,EAAY,CAGrC,QAFIr/M,EAAQ,GAEL,EAAEA,EAAQq/M,EAAW,QAC1BE,EAAUzlN,EAAQulN,EAAWr/M,CAAK,CAAC,EAGrC,OAAOlG,CACT,CAEA,SAASylN,EAAUzlN,EAAQylN,EAAW,CACpC,IAAIhyN,EACA+sC,EAEJ,IAAK/sC,KAAOgyN,EACVjlL,EAAO+/J,EAAI,KAAKvgM,EAAQvM,CAAG,EAAIuM,EAAOvM,CAAG,EAAKuM,EAAOvM,CAAG,EAAI,CAAE,EAE1DA,IAAQ,kBAAoBA,IAAQ,aACtCuM,EAAOvM,CAAG,EAAI,CAAE,EAAC,OAAO+sC,EAAMilL,EAAUhyN,CAAG,CAAC,EAE5C,OAAO,OAAO+sC,EAAMilL,EAAUhyN,CAAG,CAAC,CAGxC,qDCpzBAs8R,GAAiBrjT,IAAA,oDCAjBkzP,GAAiBxhI,EAEjB,IAAI49H,EAAetvP,IAAA,EAEnB,SAAS0xH,EAAMznG,EAAS,CACtB,IAAI20G,EAAO,KAEX,KAAK,OAASlN,EAEd,SAASA,EAAMyhI,EAAK,CAClB,OAAO7D,EACL6D,EACA,OAAO,OAAO,GAAIv0H,EAAK,KAAK,UAAU,EAAG30G,EAAS,CAIhD,WAAY20G,EAAK,KAAK,qBAAqB,GAAK,CAAE,EAClD,gBAAiBA,EAAK,KAAK,wBAAwB,GAAK,EACzD,EACP,CACA,CACA,wFCrBA0kL,GAAiBjmT,EAEjB,SAASA,EAAEgxB,EAAMiX,EAAOha,EAAO,CAC7B,IAAI8Y,EAEJ,OACG9Y,GAAU,OACV,OAAOga,GAAU,UAAY,MAAM,QAAQA,CAAK,KAEjDha,EAAQga,EACRA,EAAQ,IAGVlB,EAAO,OAAO,OAAO,CAAC,KAAM,OAAO/V,CAAI,CAAC,EAAGiX,CAAK,EAE5C,MAAM,QAAQha,CAAK,EACrB8Y,EAAK,SAAW9Y,EACPA,GAAU,OACnB8Y,EAAK,MAAQ,OAAO9Y,CAAK,GAGpB8Y,CACT,yDCtBAm/Q,GAAiBlsD,EAEjB,SAASA,EAAQxnJ,EAAM,CACrB,GAAIA,GAAQ,KACV,OAAOztF,EAGT,GAAI,OAAOytF,GAAS,SAClB,OAAO4nJ,EAAY5nJ,CAAI,EAGzB,GAAI,OAAOA,GAAS,SAClB,MAAO,WAAYA,EAAO0nJ,EAAW1nJ,CAAI,EAAI2zM,EAAW3zM,CAAI,EAG9D,GAAI,OAAOA,GAAS,WAClB,OAAOA,EAGT,MAAM,IAAI,MAAM,8CAA8C,CAChE,CAIA,SAAS2zM,EAAW3zM,EAAM,CACxB,OAAO06B,EAEP,SAASA,EAAInmG,EAAM,CACjB,IAAIrd,EAEJ,IAAKA,KAAO8oF,EACV,GAAIzrE,EAAKrd,CAAG,IAAM8oF,EAAK9oF,CAAG,EAAG,MAAO,GAGtC,MAAO,EACX,CACA,CAEA,SAASwwO,EAAWG,EAAO,CAIzB,QAHInlC,EAAS,GACT/4L,EAAQ,GAEL,EAAEA,EAAQk+N,EAAM,QACrBnlC,EAAO/4L,CAAK,EAAI69N,EAAQK,EAAMl+N,CAAK,CAAC,EAGtC,OAAO68N,EAEP,SAASA,GAAM,CAGb,QAFI78N,EAAQ,GAEL,EAAEA,EAAQ+4L,EAAO,QACtB,GAAIA,EAAO/4L,CAAK,EAAE,MAAM,KAAM,SAAS,EACrC,MAAO,GAIX,MAAO,EACX,CACA,CAIA,SAASi+N,EAAY5nJ,EAAM,CACzB,OAAOxhF,EAEP,SAASA,EAAK+V,EAAM,CAClB,MAAO,GAAQA,GAAQA,EAAK,OAASyrE,EACzC,CACA,CAGA,SAASztF,GAAK,CACZ,MAAO,EACT,yDC5EAqhS,GAAiBzkO,EACjB,SAASA,EAASrgF,EAAG,CACnB,OAAOA,CACT,yDCDA+kT,GAAiBxrD,EAEjB,IAAIb,EAAUr3P,IAAA,EACViqG,EAAQzpG,IAAA,EAERu3P,EAAW,GACXE,EAAO,OACPD,EAAO,GAEXE,EAAa,SAAWH,EACxBG,EAAa,KAAOD,EACpBC,EAAa,KAAOF,EAEpB,SAASE,EAAahgC,EAAMroH,EAAMmqB,EAASl7B,EAAS,CAClD,IAAIpvC,EACAwgB,EAEA,OAAO2/B,GAAS,YAAc,OAAOmqB,GAAY,aACnDl7B,EAAUk7B,EACVA,EAAUnqB,EACVA,EAAO,MAGT3/B,EAAKmnL,EAAQxnJ,CAAI,EACjBngD,EAAOovC,EAAU,GAAK,EAEtBxjB,EAAQ48I,EAAM,KAAM,EAAE,EAAC,EAEvB,SAAS58I,EAAQl3C,EAAM5K,EAAO2+N,EAAS,CACrC,IAAI7sO,EAAQ,OAAO8Y,GAAS,UAAYA,IAAS,KAAOA,EAAO,GAC3Dra,EAEJ,OAAI,OAAOuB,EAAM,MAAS,WACxBvB,EACE,OAAOuB,EAAM,SAAY,SACrBA,EAAM,QACN,OAAOA,EAAM,MAAS,SACtBA,EAAM,KACN,OAENgtG,EAAM,YACJ,SAAWruB,EAAM3+E,EAAM,MAAQvB,EAAO,IAAMA,EAAO,IAAM,GAAG,EAAI,KAG7DuuG,EAEP,SAASA,GAAQ,CACf,IAAI+/H,EAAeF,EAAQ,OAAO/zN,CAAI,EAClC/U,EAAS,GACT+oO,EACArxK,EAEJ,IAAI,CAAC8oB,GAAQ3/B,EAAG9rC,EAAM5K,EAAO2+N,EAAQA,EAAQ,OAAS,CAAC,GAAK,IAAI,KAC9D9oO,EAASipO,EAASt+H,EAAQ51F,EAAM+zN,CAAO,CAAC,EAEpC9oO,EAAO,CAAC,IAAM2oO,GAChB,OAAO3oO,EAIX,GAAI+U,EAAK,UAAY/U,EAAO,CAAC,IAAM4oO,EAGjC,IAFAlxK,GAAU+X,EAAU16D,EAAK,SAAS,OAAS,IAAMsrB,EAE1Cq3B,EAAS,IAAMA,EAAS3iD,EAAK,SAAS,QAAQ,CAGnD,GAFAg0N,EAAY98K,EAAQl3C,EAAK,SAAS2iD,CAAM,EAAGA,EAAQsxK,CAAY,EAAC,EAE5DD,EAAU,CAAC,IAAMJ,EACnB,OAAOI,EAGTrxK,EACE,OAAOqxK,EAAU,CAAC,GAAM,SAAWA,EAAU,CAAC,EAAIrxK,EAASr3B,CACvE,CAGM,OAAOrgC,CACb,CACA,CACA,CAEA,SAASipO,EAAShtO,EAAO,CACvB,OAAIA,IAAU,MAAQ,OAAOA,GAAU,UAAY,WAAYA,EACtDA,EAGL,OAAOA,GAAU,SACZ,CAACysO,EAAUzsO,CAAK,EAGlB,CAACA,CAAK,CACf,yDC1FAq4R,GAAiBrrL,EAEjB,IAAI4/H,EAAel4P,IAAA,EAEf+3P,EAAWG,EAAa,SACxBD,EAAOC,EAAa,KACpBF,EAAOE,EAAa,KAExB5/H,EAAM,SAAWy/H,EACjBz/H,EAAM,KAAO2/H,EACb3/H,EAAM,KAAO0/H,EAEb,SAAS1/H,EAAM4/F,EAAMroH,EAAMmqB,EAASl7B,EAAS,CACvC,OAAO+Q,GAAS,YAAc,OAAOmqB,GAAY,aACnDl7B,EAAUk7B,EACVA,EAAUnqB,EACVA,EAAO,MAGTqoJ,EAAahgC,EAAMroH,EAAM8oJ,EAAU75J,CAAO,EAE1C,SAAS65J,EAASv0N,EAAM+zN,EAAS,CAC/B,IAAIzvN,EAASyvN,EAAQA,EAAQ,OAAS,CAAC,EACnC3+N,EAAQkP,EAASA,EAAO,SAAS,QAAQtE,CAAI,EAAI,KACrD,OAAO41F,EAAQ51F,EAAM5K,EAAOkP,CAAM,CACtC,CACA,yDC1BA,IAAI0oE,EAAQ91B,EAAQ,OAAO,EACvB8K,EAAM9K,EAAQ,KAAK,EAEvBsoO,GAAiB5sL,EAEjBA,EAAS,MAAQ5lB,EACjB4lB,EAAS,IAAM5wC,EAEf,SAAS4wC,EAAS5yF,EAAM,CACtB,MAAO,CAAC,MAAOgtE,EAAMhtE,CAAI,EAAG,IAAKgiD,EAAIhiD,CAAI,CAAC,CAC5C,CAEA,SAASk3C,EAAQjtD,EAAM,CACrB,OAAA+6J,EAAM,YAAc/6J,EAEb+6J,EAEP,SAASA,EAAMhlJ,EAAM,CACnB,IAAIglJ,EAAShlJ,GAAQA,EAAK,UAAYA,EAAK,SAAS/V,CAAI,GAAM,GAE9D,MAAO,CACL,KAAM+6J,EAAM,MAAQ,KACpB,OAAQA,EAAM,QAAU,KACxB,OAAQ,MAAMA,EAAM,MAAM,EAAI,KAAOA,EAAM,MACjD,CACA,CACA,yDC1BAy6H,GAAiBC,EAEjB,SAASA,EAAU1/Q,EAAM,CACvB,MACE,CAACA,GACD,CAACA,EAAK,UACN,CAACA,EAAK,SAAS,OACf,CAACA,EAAK,SAAS,MAAM,MACrB,CAACA,EAAK,SAAS,MAAM,QACrB,CAACA,EAAK,SAAS,KACf,CAACA,EAAK,SAAS,IAAI,MACnB,CAACA,EAAK,SAAS,IAAI,MAEvB,yDCbA,IAAIk0F,EAAQt4H,IAAA,EAEZ+jT,GAAiBC,EAEjB,IAAInwF,EAAM,GAAG,eAGb,SAASmwF,EAAqB5/Q,EAAMna,EAAS,CAC3C,OAAOg6R,EAAcC,EAAO9/Q,CAAa,CAAC,CAC5C,CAGA,SAAS8/Q,EAAO9/Q,EAAM,CACpB,IAAIyT,EAAQ,GAEZ,GAAI,CAACzT,GAAQ,CAACA,EAAK,KACjB,MAAM,IAAI,MAAM,sCAAsC,EAGxD,OAAAk0F,EAAMl0F,EAAM,aAAc+/Q,CAAY,EAE/BtsQ,EAEP,SAASssQ,EAAaprN,EAAY,CAChC,IAAItuF,EAAK25S,EAAUrrN,EAAW,UAAU,EACnC86H,EAAI,KAAKh8K,EAAOptC,CAAE,IACrBotC,EAAMptC,CAAE,EAAIsuF,EAElB,CACA,CAGA,SAASkrN,EAAcpsQ,EAAO,CAC5B,OAAOid,EAGP,SAASA,EAAO8hJ,EAAY,CAC1B,IAAInsM,EAAKmsM,GAAcwtG,EAAUxtG,CAAU,EAC3C,OAAOnsM,GAAMopN,EAAI,KAAKh8K,EAAOptC,CAAE,EAAIotC,EAAMptC,CAAE,EAAI,IACnD,CACA,CAEA,SAAS25S,EAAUxtG,EAAY,CAC7B,OAAOA,EAAW,YAAW,CAC/B,wDC5CAytG,GAAiB95K,EAEjB,IAAIwpF,EAAM/zN,IAAA,EAEV,SAASuqI,EAAIzrI,EAAG4pC,EAAQ,CAQtB,QAPI+4D,EAAQ/4D,EAAO,UAAY,GAC3BzgB,EAASw5E,EAAM,OACf74D,EAAS,GACTpP,EAAQ,GACRnK,EACA88F,EAEG,EAAE3yF,EAAQvR,GACfoH,EAAS0kM,EAAIj1N,EAAG2iG,EAAMjoE,CAAK,EAAGkP,CAAM,EAEhCrZ,IACEmK,GAASioE,EAAMjoE,EAAQ,CAAC,EAAE,OAAS,UACjCnK,EAAO,QACTA,EAAO,MAAQA,EAAO,MAAM,QAAQ,OAAQ,EAAE,GAGhD88F,EAAO98F,EAAO,UAAYA,EAAO,SAAS,CAAC,EAEvC88F,GAAQA,EAAK,QACfA,EAAK,MAAQA,EAAK,MAAM,QAAQ,OAAQ,EAAE,IAI9CvjF,EAASA,EAAO,OAAOvZ,CAAM,GAIjC,OAAOuZ,CACT,yDCjCA07Q,GAAiBvwF,EAEjB,IAAI12N,EAAI2C,GAAA,EACJuqI,EAAM/pI,GAAA,EAENqzN,EAAM,GAAG,eAGb,SAASgE,EAAQ/4N,EAAGslC,EAAM,CACxB,OAAIR,EAAKQ,CAAI,EACJtlC,EAAE,QAAQslC,EAAM/mC,EAAE,OAAQ+mC,EAAK,KAAK,CAAC,EAGvCtlC,EAAEslC,EAAM,MAAOmmG,EAAIzrI,EAAGslC,CAAI,CAAC,CACpC,CAGA,SAAS2vL,EAAIj1N,EAAGslC,EAAMsE,EAAQ,CAC5B,IAAIra,EAAO+V,GAAQA,EAAK,KACpBzb,EAGJ,GAAI,CAAC0F,EACH,MAAM,IAAI,MAAM,uBAAyB+V,EAAO,GAAG,EAGrD,OAAIyvL,EAAI,KAAK/0N,EAAE,SAAUuvB,CAAI,EAC3B1F,EAAK7pB,EAAE,SAASuvB,CAAI,EACXvvB,EAAE,aAAeA,EAAE,YAAY,QAAQuvB,CAAI,EAAI,GACxD1F,EAAK47R,EAEL57R,EAAK7pB,EAAE,gBAGD,OAAO6pB,GAAO,WAAaA,EAAKkvM,GAAS/4N,EAAGslC,EAAMsE,CAAM,CAClE,CAGA,SAAS9E,EAAKQ,EAAM,CAClB,IAAI5T,EAAO4T,EAAK,MAAQ,GAExB,OACEyvL,EAAI,KAAKrjM,EAAM,OAAO,GACtBqjM,EAAI,KAAKrjM,EAAM,aAAa,GAC5BqjM,EAAI,KAAKrjM,EAAM,WAAW,EAEnB,GAGF,UAAW4T,CACpB,CAEA,SAASmgR,EAAWzlT,EAAGslC,EAAM,CAC3B,IAAIwB,EAEJ,OAAIxB,EAAK,UACPwB,EAAQ,OAAO,OAAO,GAAIxB,CAAI,EAC9BwB,EAAM,SAAW2kG,EAAIzrI,EAAGslC,CAAI,EACrBwB,GAGFxB,CACT,yDC9DA29Q,GAAiBl4D,EAEjB,SAASA,EAAc/qP,EAAGslC,EAAM,CAC9B,OAAOtlC,EAAEslC,EAAM,IAAI,CACrB,wDCJAkzQ,GAAiBv+L,EAEjB,IAAI17G,EAAI2C,GAAA,EAIR,SAAS+4G,EAAKtX,EAAOwyJ,EAAO,CAC1B,IAAI5kO,EAAS,GACTmK,EAAQ,GACRvR,EAASw5E,EAAM,OAMnB,IAJIwyJ,GACF5kO,EAAO,KAAKhyB,EAAE,OAAQ;AAAA,CAAI,CAAC,EAGtB,EAAEm8B,EAAQvR,GACXuR,GACFnK,EAAO,KAAKhyB,EAAE,OAAQ;AAAA,CAAI,CAAC,EAG7BgyB,EAAO,KAAKoyE,EAAMjoE,CAAK,CAAC,EAG1B,OAAIy6N,GAASxyJ,EAAM,OAAS,GAC1BpyE,EAAO,KAAKhyB,EAAE,OAAQ;AAAA,CAAI,CAAC,EAGtBgyB,CACT,yDC5BA2yR,GAAiB1pN,EAEjB,IAAIygB,EAAO/4G,GAAA,EACPuqI,EAAM/pI,GAAA,EAEV,SAAS83F,EAAKx5F,EAAGslC,EAAM,CACrB,IAAIkB,EAAQ,GACRvb,EAAOqa,EAAK,QAAU,KAAO,KAC7B1T,EACA8I,EAAQ,GACRvR,EAUJ,IARI,OAAOmc,EAAK,OAAU,UAAYA,EAAK,QAAU,IACnDkB,EAAM,MAAQlB,EAAK,OAGrB1T,EAAQ65G,EAAIzrI,EAAGslC,CAAI,EACnBnc,EAASyI,EAAM,OAGR,EAAE8I,EAAQvR,GACf,GACEyI,EAAM8I,CAAK,EAAE,WAAW,WACxB9I,EAAM8I,CAAK,EAAE,WAAW,UAAU,QAAQ,gBAAgB,IAAM,GAChE,CACA8L,EAAM,UAAY,CAAC,oBAAoB,EACvC,KACN,CAGE,OAAOxmC,EAAEslC,EAAMra,EAAMub,EAAOyzE,EAAKroF,EAAO,EAAI,CAAC,CAC/C,yDC/BAgmO,GAAiB8tD,EAEjB,IAAI36D,EAAgB7pP,IAAA,EAChBs4F,EAAO93F,IAAA,EACPu4G,EAAOp1B,GAAA,EAEX,SAAS6gO,EAAkB1lT,EAAG,CAW5B,QAVIg6P,EAAeh6P,EAAE,aACjB2lT,EAAgB3lT,EAAE,cAClBmpB,EAASw8R,EAAc,OACvBjrR,EAAQ,GACRw9N,EAAY,GACZlrM,EACA44P,EACAh/Q,EACA86F,EAEG,EAAEhnG,EAAQvR,GACf6jC,EAAMgtM,EAAa2rD,EAAcjrR,CAAK,EAAE,YAAa,GAEhDsyB,IAILpmB,EAAUomB,EAAI,SAAS,OAAM,EAC7B00E,EAAO96F,EAAQA,EAAQ,OAAS,CAAC,EACjCg/Q,EAAgB,CACd,KAAM,OACN,IAAK,UAAY54P,EAAI,WACrB,KAAM,CAAC,YAAa,CAAC,UAAW,CAAC,kBAAkB,CAAC,CAAC,EACrD,SAAU,CAAC,CAAC,KAAM,OAAQ,MAAO,GAAG,CAAC,CAC3C,GAEQ,CAAC00E,GAAQA,EAAK,OAAS,eACzBA,EAAO,CAAC,KAAM,YAAa,SAAU,CAAE,GACvC96F,EAAQ,KAAK86F,CAAI,GAGnBA,EAAK,SAAS,KAAKkkL,CAAa,EAEhC1tD,EAAU,KAAK,CACb,KAAM,WACN,KAAM,CAAC,YAAa,CAAC,GAAI,MAAQlrM,EAAI,UAAU,CAAC,EAChD,SAAUpmB,EACV,SAAUomB,EAAI,QACf,IAGH,OAAIkrM,EAAU,SAAW,EAChB,KAGFl4P,EACL,KACA,MACA,CAAC,UAAW,CAAC,WAAW,CAAC,EACzBi6G,EACE,CACE8wI,EAAc/qP,CAAC,EACfw5F,EAAKx5F,EAAG,CAAC,KAAM,OAAQ,QAAS,GAAM,SAAUk4P,CAAS,CAAC,CAC3D,EACD,EACN,CACA,CACA,yDChEA2tD,GAAiBvxD,EAEjB,IAAIr6I,EAAO/4G,GAAA,EACPuqI,EAAM/pI,GAAA,EAEV,SAAS4yP,EAAWt0P,EAAGslC,EAAM,CAC3B,OAAOtlC,EAAEslC,EAAM,aAAc20E,EAAKwxB,EAAIzrI,EAAGslC,CAAI,EAAG,EAAI,CAAC,CACvD,yDCPAwgR,GAAiBh1D,EAEjB,IAAIvyP,EAAI2C,GAAA,EAER,SAAS4vP,EAAU9wP,EAAGslC,EAAM,CAC1B,MAAO,CAACtlC,EAAEslC,EAAM,IAAI,EAAG/mC,EAAE,OAAQ;AAAA,CAAI,CAAC,CACxC,yDCNAwnT,GAAiBviR,EAEjB,IAAIjlC,EAAI2C,GAAA,EAER,SAASsiC,EAAKxjC,EAAGslC,EAAM,CACrB,IAAI9Y,EAAQ8Y,EAAK,MAAQA,EAAK,MAAQ;AAAA,EAAO,GAGzC4iB,EAAO5iB,EAAK,MAAQA,EAAK,KAAK,MAAM,qBAAqB,EACzDkB,EAAQ,GACRhD,EAEJ,OAAI0kB,IACF1hB,EAAM,UAAY,CAAC,YAAc0hB,CAAI,GAGvC1kB,EAAOxjC,EAAEslC,EAAM,OAAQkB,EAAO,CAACjoC,EAAE,OAAQiuB,CAAK,CAAC,CAAC,EAE5C8Y,EAAK,OACP9B,EAAK,KAAO,CAAC,KAAM8B,EAAK,IAAI,GAGvBtlC,EAAEslC,EAAK,SAAU,MAAO,CAAC9B,CAAI,CAAC,CACvC,yDCvBAwiR,GAAiBzxD,EAEjB,IAAI9oH,EAAMvqI,GAAA,EAEV,SAASqzP,EAAcv0P,EAAGslC,EAAM,CAC9B,OAAOtlC,EAAEslC,EAAM,MAAOmmG,EAAIzrI,EAAGslC,CAAI,CAAC,CACpC,yDCNA2gR,GAAiBp1D,EAEjB,IAAIplH,EAAMvqI,GAAA,EAEV,SAAS2vP,EAAS7wP,EAAGslC,EAAM,CACzB,OAAOtlC,EAAEslC,EAAM,KAAMmmG,EAAIzrI,EAAGslC,CAAI,CAAC,CACnC,yDCNA4gR,GAAiB1xD,EAEjB,IAAIj2P,EAAI2C,GAAA,EAER,SAASszP,EAAkBx0P,EAAGslC,EAAM,CAClC,IAAIqgR,EAAgB3lT,EAAE,cAClB83M,EAAa,OAAOxyK,EAAK,UAAU,EAEvC,OAAIqgR,EAAc,QAAQ7tG,CAAU,IAAM,IACxC6tG,EAAc,KAAK7tG,CAAU,EAGxB93M,EAAEslC,EAAK,SAAU,MAAO,CAAC,GAAI,SAAWwyK,CAAU,EAAG,CAC1D93M,EAAEslC,EAAM,IAAK,CAAC,KAAM,OAASwyK,EAAY,UAAW,CAAC,cAAc,CAAC,EAAG,CACrEv5M,EAAE,OAAQ+mC,EAAK,OAASwyK,CAAU,CACnC,EACF,EACH,yDCjBAquG,GAAiBC,EAEjB,IAAI5xD,EAAoBtzP,IAAA,EAExB,SAASklT,EAASpmT,EAAGslC,EAAM,CAKzB,QAJI00N,EAAeh6P,EAAE,aACjB2lT,EAAgB3lT,EAAE,cAClB83M,EAAa,EAEVA,KAAckiD,GACnBliD,IAGF,OAAAA,EAAa,OAAOA,CAAU,EAI9B6tG,EAAc,KAAK7tG,CAAU,EAE7BkiD,EAAaliD,CAAU,EAAI,CACzB,KAAM,qBACN,WAAYA,EACZ,SAAU,CAAC,CAAC,KAAM,YAAa,SAAUxyK,EAAK,QAAQ,CAAC,EACvD,SAAUA,EAAK,QACnB,EAESkvN,EAAkBx0P,EAAG,CAC1B,KAAM,oBACN,WAAY83M,EACZ,SAAUxyK,EAAK,QAChB,EACH,yDC/BA+gR,GAAiBn6D,EAEjB,IAAIzgH,EAAMvqI,GAAA,EAEV,SAASgrP,EAAQlsP,EAAGslC,EAAM,CACxB,OAAOtlC,EAAEslC,EAAM,IAAMA,EAAK,MAAOmmG,EAAIzrI,EAAGslC,CAAI,CAAC,CAC/C,yDCNAghR,GAAiB91N,EAEjB,IAAIjyF,EAAI2C,GAAA,EAGR,SAASsvF,EAAKxwF,EAAGslC,EAAM,CACrB,OAAOtlC,EAAE,UAAYA,EAAE,QAAQslC,EAAM/mC,EAAE,MAAO+mC,EAAK,KAAK,CAAC,EAAI,IAC/D,wDCLA,IAAIihR,EAAc,CAAE,EAMpB,SAASC,EAAeC,EAAS,CAC/B,IAAI7+R,EAAGhP,EAAImgC,EAAQwtQ,EAAYE,CAAO,EACtC,GAAI1tQ,EAAS,OAAOA,EAIpB,IAFAA,EAAQwtQ,EAAYE,CAAO,EAAI,CAAE,EAE5B7+R,EAAI,EAAGA,EAAI,IAAKA,IACnBhP,EAAK,OAAO,aAAagP,CAAC,EAEtB,cAAc,KAAKhP,CAAE,EAEvBmgC,EAAM,KAAKngC,CAAE,EAEbmgC,EAAM,KAAK,KAAO,IAAMnxB,EAAE,SAAS,EAAE,EAAE,YAAW,GAAI,MAAM,EAAE,CAAC,EAInE,IAAKA,EAAI,EAAGA,EAAI6+R,EAAQ,OAAQ7+R,IAC9BmxB,EAAM0tQ,EAAQ,WAAW7+R,CAAC,CAAC,EAAI6+R,EAAQ7+R,CAAC,EAG1C,OAAOmxB,CACT,CAUA,SAAS0iF,EAAO1yC,EAAQ09N,EAASC,EAAa,CAC5C,IAAI9+R,EAAG1pB,EAAGslC,EAAMmjR,EAAU5tQ,EACtBxoB,EAAS,GAcb,IAZI,OAAOk2R,GAAY,WAErBC,EAAeD,EACfA,EAAUhrL,EAAO,cAGf,OAAOirL,EAAgB,MACzBA,EAAc,IAGhB3tQ,EAAQytQ,EAAeC,CAAO,EAEzB7+R,EAAI,EAAG1pB,EAAI6qF,EAAO,OAAQnhE,EAAI1pB,EAAG0pB,IAAK,CAGzC,GAFA4b,EAAOulD,EAAO,WAAWnhE,CAAC,EAEtB8+R,GAAeljR,IAAS,IAAgB5b,EAAI,EAAI1pB,GAC9C,iBAAiB,KAAK6qF,EAAO,MAAMnhE,EAAI,EAAGA,EAAI,CAAC,CAAC,EAAG,CACrD2I,GAAUw4D,EAAO,MAAMnhE,EAAGA,EAAI,CAAC,EAC/BA,GAAK,EACL,QACR,CAGI,GAAI4b,EAAO,IAAK,CACdjT,GAAUwoB,EAAMvV,CAAI,EACpB,QACN,CAEI,GAAIA,GAAQ,OAAUA,GAAQ,MAAQ,CACpC,GAAIA,GAAQ,OAAUA,GAAQ,OAAU5b,EAAI,EAAI1pB,IAC9CyoT,EAAW59N,EAAO,WAAWnhE,EAAI,CAAC,EAC9B++R,GAAY,OAAUA,GAAY,OAAQ,CAC5Cp2R,GAAU,mBAAmBw4D,EAAOnhE,CAAC,EAAImhE,EAAOnhE,EAAI,CAAC,CAAC,EACtDA,IACA,QACV,CAEM2I,GAAU,YACV,QACN,CAEIA,GAAU,mBAAmBw4D,EAAOnhE,CAAC,CAAC,CAC1C,CAEE,OAAO2I,CACT,CAEA,OAAAkrG,EAAO,aAAiB,uBACxBA,EAAO,eAAiB,YAGxBmrL,GAAiBnrL,mDC/FjBorL,GAAiBhyD,EAEjB,IAAIt2P,EAAI2C,GAAA,EACJuqI,EAAM/pI,GAAA,EAGV,SAASmzP,EAAO70P,EAAGslC,EAAM,CACvB,IAAIwvN,EAAUxvN,EAAK,cACfiO,EAAS,IACTwhN,EACA1nI,EACAqU,EAQJ,OANIozH,IAAY,YACdvhN,GAAU,KACDuhN,IAAY,SACrBvhN,GAAU,KAAOjO,EAAK,OAASA,EAAK,YAAc,KAGhDA,EAAK,OAAS,iBACT/mC,EAAE,OAAQ,KAAO+mC,EAAK,IAAMiO,CAAM,GAG3CwhN,EAAWtpH,EAAIzrI,EAAGslC,CAAI,EACtB+nF,EAAO0nI,EAAS,CAAC,EAEb1nI,GAAQA,EAAK,OAAS,OACxBA,EAAK,MAAQ,IAAMA,EAAK,MAExB0nI,EAAS,QAAQx2P,EAAE,OAAQ,GAAG,CAAC,EAGjCmjI,EAAOqzH,EAASA,EAAS,OAAS,CAAC,EAE/BrzH,GAAQA,EAAK,OAAS,OACxBA,EAAK,OAASnuF,EAEdwhN,EAAS,KAAKx2P,EAAE,OAAQg1C,CAAM,CAAC,EAG1BwhN,EACT,yDCzCA+xD,GAAiB9xD,EAEjB,IAAI31K,EAAYn+E,GAAA,EACZ2zP,EAASnzP,IAAA,EAEb,SAASszP,EAAeh1P,EAAGslC,EAAM,CAC/B,IAAI0nB,EAAMhtD,EAAE,WAAWslC,EAAK,UAAU,EAClCkB,EAEJ,OAAKwmB,GAILxmB,EAAQ,CAAC,IAAK64C,EAAUryB,EAAI,KAAO,EAAE,EAAG,IAAK1nB,EAAK,GAAG,EAEjD0nB,EAAI,QAAU,MAAQA,EAAI,QAAU,SACtCxmB,EAAM,MAAQwmB,EAAI,OAGbhtD,EAAEslC,EAAM,MAAOkB,CAAK,GATlBquN,EAAO70P,EAAGslC,CAAI,CAUzB,yDCpBA,IAAI+5C,EAAYn+E,GAAA,EAEhB6lT,GAAiBh2D,EAEjB,SAASA,EAAM/wP,EAAGslC,EAAM,CACtB,IAAIkB,EAAQ,CAAC,IAAK64C,EAAU/5C,EAAK,GAAG,EAAG,IAAKA,EAAK,GAAG,EAEpD,OAAIA,EAAK,QAAU,MAAQA,EAAK,QAAU,SACxCkB,EAAM,MAAQlB,EAAK,OAGdtlC,EAAEslC,EAAM,MAAOkB,CAAK,CAC7B,yDCZAwgR,GAAiB/xD,EAEjB,IAAI12P,EAAI2C,GAAA,EAER,SAAS+zP,EAAWj1P,EAAGslC,EAAM,CAC3B,IAAI9Y,EAAQ8Y,EAAK,MAAM,QAAQ,YAAa,GAAG,EAC/C,OAAOtlC,EAAEslC,EAAM,OAAQ,CAAC/mC,EAAE,OAAQiuB,CAAK,CAAC,CAAC,CAC3C,yDCPAy6R,GAAiB/xD,EAEjB,IAAI71K,EAAYn+E,GAAA,EACZ2zP,EAASnzP,IAAA,EACT+pI,EAAM5mD,GAAA,EAEV,SAASqwK,EAAcl1P,EAAGslC,EAAM,CAC9B,IAAI0nB,EAAMhtD,EAAE,WAAWslC,EAAK,UAAU,EAClCkB,EAEJ,OAAKwmB,GAILxmB,EAAQ,CAAC,KAAM64C,EAAUryB,EAAI,KAAO,EAAE,CAAC,EAEnCA,EAAI,QAAU,MAAQA,EAAI,QAAU,SACtCxmB,EAAM,MAAQwmB,EAAI,OAGbhtD,EAAEslC,EAAM,IAAKkB,EAAOilG,EAAIzrI,EAAGslC,CAAI,CAAC,GAT9BuvN,EAAO70P,EAAGslC,CAAI,CAUzB,yDCrBA,IAAI+5C,EAAYn+E,GAAA,EACZuqI,EAAM/pI,GAAA,EAEVwlT,GAAiB55N,EAEjB,SAASA,EAAKttF,EAAGslC,EAAM,CACrB,IAAIkB,EAAQ,CAAC,KAAM64C,EAAU/5C,EAAK,GAAG,CAAC,EAEtC,OAAIA,EAAK,QAAU,MAAQA,EAAK,QAAU,SACxCkB,EAAM,MAAQlB,EAAK,OAGdtlC,EAAEslC,EAAM,IAAKkB,EAAOilG,EAAIzrI,EAAGslC,CAAI,CAAC,CACzC,yDCbA6hR,GAAiBn2D,EAEjB,IAAIzyP,EAAI2C,GAAA,EACJuqI,EAAM/pI,GAAA,EAEV,SAASsvP,EAAShxP,EAAGslC,EAAMsE,EAAQ,CACjC,IAAIrZ,EAASk7G,EAAIzrI,EAAGslC,CAAI,EACpB+nF,EAAO98F,EAAO,CAAC,EACf4kO,EAAQvrN,EAASwrN,EAAUxrN,CAAM,EAAIyrN,EAAc/vN,CAAI,EACvDkB,EAAQ,GACRs1N,EAAU,GACV3yO,EACAuR,EACA4L,EA4BJ,IA1BI,OAAOhB,EAAK,SAAY,aACtB,CAAC+nF,GAAQA,EAAK,UAAY,OAC5BA,EAAOrtH,EAAE,KAAM,IAAK,CAAE,GACtBuwB,EAAO,QAAQ88F,CAAI,GAGjBA,EAAK,SAAS,OAAS,GACzBA,EAAK,SAAS,QAAQ9uH,EAAE,OAAQ,GAAG,CAAC,EAGtC8uH,EAAK,SAAS,QACZrtH,EAAE,KAAM,QAAS,CACf,KAAM,WACN,QAASslC,EAAK,QACd,SAAU,EACX,EACP,EAIIkB,EAAM,UAAY,CAAC,gBAAgB,GAGrCrd,EAASoH,EAAO,OAChBmK,EAAQ,GAED,EAAEA,EAAQvR,GACfmd,EAAQ/V,EAAOmK,CAAK,GAGhBy6N,GAASz6N,IAAU,GAAK4L,EAAM,UAAY,MAC5Cw1N,EAAQ,KAAKv9P,EAAE,OAAQ;AAAA,CAAI,CAAC,EAG1B+nC,EAAM,UAAY,KAAO,CAAC6uN,EAC5B2G,EAAUA,EAAQ,OAAOx1N,EAAM,QAAQ,EAEvCw1N,EAAQ,KAAKx1N,CAAK,EAKtB,OAAInd,IAAWgsO,GAAS7uN,EAAM,UAAY,MACxCw1N,EAAQ,KAAKv9P,EAAE,OAAQ;AAAA,CAAI,CAAC,EAGvByB,EAAEslC,EAAM,KAAMkB,EAAOs1N,CAAO,CACrC,CAEA,SAAS1G,EAAU9vN,EAAM,CAMvB,QALI6vN,EAAQ7vN,EAAK,OACb7D,EAAW6D,EAAK,SAChBnc,EAASsY,EAAS,OAClB/G,EAAQ,GAEL,CAACy6N,GAAS,EAAEz6N,EAAQvR,GACzBgsO,EAAQE,EAAc5zN,EAAS/G,CAAK,CAAC,EAGvC,OAAOy6N,CACT,CAEA,SAASE,EAAc/vN,EAAM,CAC3B,IAAI4lG,EAAS5lG,EAAK,OAElB,OAA+B4lG,GAC3B5lG,EAAK,SAAS,OAAS,CAE7B,yDCnFA8hR,GAAiBj7D,EAEjB,IAAI1gH,EAAMvqI,GAAA,EAEV,SAASirP,EAAUnsP,EAAGslC,EAAM,CAC1B,OAAOtlC,EAAEslC,EAAM,IAAKmmG,EAAIzrI,EAAGslC,CAAI,CAAC,CAClC,yDCNA+hR,GAAiB9qO,EAEjB,IAAIh+E,EAAI2C,GAAA,EACJ+4G,EAAOv4G,GAAA,EACP+pI,EAAM5mD,GAAA,EAEV,SAAStI,EAAKv8E,EAAGslC,EAAM,CACrB,OAAOtlC,EAAE,QAAQslC,EAAM/mC,EAAE,OAAQ07G,EAAKwxB,EAAIzrI,EAAGslC,CAAI,CAAC,CAAC,CAAC,CACtD,yDCRAgiR,GAAiBl2D,EAEjB,IAAI3lH,EAAMvqI,GAAA,EAEV,SAASkwP,EAAOpxP,EAAGslC,EAAM,CACvB,OAAOtlC,EAAEslC,EAAM,SAAUmmG,EAAIzrI,EAAGslC,CAAI,CAAC,CACvC,yDCNAiiR,GAAiBjyD,EAEjB,IAAIp9H,EAAWh3H,IAAA,EACX+4G,EAAOv4G,GAAA,EACP+pI,EAAM5mD,GAAA,EAEV,SAASywK,EAAMt1P,EAAGslC,EAAM,CAYtB,QAXIiwN,EAAOjwN,EAAK,SACZ5K,EAAQ66N,EAAK,OACb14E,EAAQv3I,EAAK,OAAS,GACtB2kI,EAAc4S,EAAM,OACpBtsJ,EAAS,GACTm2G,EACA/3B,EACAyjB,EACAnnG,EACA0qO,EAEGj7N,KAAS,CAMd,IALAi0E,EAAM4mJ,EAAK76N,CAAK,EAAE,SAClBzP,EAAOyP,IAAU,EAAI,KAAO,KAC5BgsG,EAAMujC,GAAet7D,EAAI,OACzByjB,EAAM,GAECsU,KACLivH,EAAOhnJ,EAAI+3B,CAAG,EACdtU,EAAIsU,CAAG,EAAI1mI,EAAE21P,EAAM1qO,EAAM,CAAC,MAAO4xJ,EAAMn2C,CAAG,CAAC,EAAGivH,EAAOlqH,EAAIzrI,EAAG21P,CAAI,EAAI,CAAE,GAGxEplO,EAAOmK,CAAK,EAAI16B,EAAEu1P,EAAK76N,CAAK,EAAG,KAAMu/E,EAAKmY,EAAK,EAAI,CAAC,CACxD,CAEE,OAAOpyH,EACLslC,EACA,QACA20E,EACE,CAACj6G,EAAEuwB,EAAO,CAAC,EAAE,SAAU,QAAS0pF,EAAK,CAAC1pF,EAAO,CAAC,CAAC,EAAG,EAAI,CAAC,CAAC,EAAE,OACxDA,EAAO,CAAC,EACJvwB,EACE,CACE,MAAOk4H,EAAS,MAAM3nG,EAAO,CAAC,CAAC,EAC/B,IAAK2nG,EAAS,IAAI3nG,EAAOA,EAAO,OAAS,CAAC,CAAC,CAC5C,EACD,QACA0pF,EAAK1pF,EAAO,MAAM,CAAC,EAAG,EAAI,CACxC,EACY,EACL,EACD,EACN,CACA,CACA,yDCnDA0sR,GAAiBn4Q,EAEjB,IAAIvmC,EAAI2C,GAAA,EAER,SAAS4jC,EAAK9kC,EAAGslC,EAAM,CACrB,OAAOtlC,EAAE,QACPslC,EACA/mC,EAAE,OAAQ,OAAO+mC,EAAK,KAAK,EAAE,QAAQ,0BAA2B,IAAI,CAAC,CACzE,CACA,yDCTA6vL,GAAiB,CACf,WAAYj0N,IAAuB,EACnC,MAAOQ,IAAkB,EACzB,KAAMmjF,IAAiB,EACvB,OAAQE,IAAmB,EAC3B,SAAUC,IAAqB,EAC/B,kBAAmB+0N,IAA+B,EAClD,SAAU0D,IAAqB,EAC/B,QAASC,IAAoB,EAC7B,KAAMC,IAAiB,EACvB,eAAgB0E,IAA4B,EAC5C,MAAOgB,IAAkB,EACzB,WAAYC,IAAwB,EACpC,cAAeC,IAA2B,EAC1C,KAAMC,IAAiB,EACvB,SAAUC,IAAsB,EAChC,KAAMC,IAAiB,EACvB,UAAWC,IAAsB,EACjC,KAAMC,IAAiB,EACvB,OAAQC,IAAmB,EAC3B,MAAOC,IAAkB,EACzB,KAAMC,IAAiB,EACvB,cAAeyD,IAA2B,EAC1C,KAAMr8Q,EACN,KAAMA,EACN,WAAYA,EACZ,mBAAoBA,CACtB,EAGA,SAASA,GAAS,CAChB,OAAO,IACT,yDChCAyuQ,GAAiBj/C,EAEjB,IAAIp8P,EAAI2C,GAAA,EACJs4H,EAAQ93H,IAAA,EACRw2H,EAAWrzC,IAAA,EACXmgO,EAAYjgO,IAAA,EACZiuI,EAAchuI,IAAA,EACdiwI,EAAM8kF,IAAA,EACNniD,EAAS6lD,IAAA,EACTtoF,EAAWuoF,IAAA,EAEX3oF,EAAM,GAAG,eAET0yF,EAA2B,GAG/B,SAASjrO,EAAQ48I,EAAMjuM,EAAS,CAC9B,IAAI+2L,EAAW/2L,GAAW,GAGtB+2L,EAAS,qBAAuB,QAAa,CAACulG,IAChDA,EAA2B,GAC3B,QAAQ,KACN,wGACN,GAGE,IAAInxF,EAAYpU,EAAS,oBAAsBA,EAAS,mBACpD83C,EAAe,GAEnB,OAAAh6P,EAAE,UAAYs2N,EACdt2N,EAAE,WAAagzN,EAAYoG,CAAI,EAC/Bp5N,EAAE,aAAeg6P,EACjBh6P,EAAE,cAAgB,GAClBA,EAAE,QAAU0nT,EACZ1nT,EAAE,SAAW,OAAO,OAAO,GAAIm1N,EAAUjT,EAAS,QAAQ,EAC1DliN,EAAE,eAAiBkiN,EAAS,eAC5BliN,EAAE,YAAckiN,EAAS,YAEzB1oF,EAAM4/F,EAAM,qBAAsBuuF,CAAoB,EAE/C3nT,EAGP,SAAS0nT,EAAQ1yP,EAAMC,EAAO,CAC5B,IAAIvjC,EACAq5B,EAGJ,OAAIiK,GAAQA,EAAK,OACftjC,EAAOsjC,EAAK,KAERtjC,EAAK,QACHujC,EAAM,OAAS,YACjBA,EAAQ,CACN,KAAM,UACN,QAAS,GACT,WAAY,CAAE,EACd,SAAU,EACtB,GAGQA,EAAM,QAAUvjC,EAAK,OAGnBujC,EAAM,OAAS,WAAavjC,EAAK,cACnCujC,EAAM,WAAa,OAAO,OAAO,CAAE,EAAEA,EAAM,WAAYvjC,EAAK,WAAW,GAGrEujC,EAAM,UAAYvjC,EAAK,YACzBujC,EAAM,SAAWvjC,EAAK,YAI1Bq5B,EAAMiK,GAAQA,EAAK,SAAWA,EAAO,CAAC,SAAUA,CAAI,EAE/CgwP,EAAUj6P,CAAG,IAChBkK,EAAM,SAAW,CACf,MAAOijE,EAAS,MAAMntE,CAAG,EACzB,IAAKmtE,EAAS,IAAIntE,CAAG,CAC7B,GAGWkK,CACX,CAGE,SAASj1D,EAAEslC,EAAMoiE,EAASlhE,EAAO/E,EAAU,CACzC,OAC6BA,GAAa,MACxC,OAAO+E,GAAU,UACjB,WAAYA,IAEZ/E,EAAW+E,EACXA,EAAQ,IAGHkhR,EAAQpiR,EAAM,CACnB,KAAM,UACN,QAASoiE,EACT,WAAYlhE,GAAS,CAAE,EACvB,SAAU/E,GAAY,EACvB,EACL,CAEE,SAASkmR,EAAqB1tN,EAAY,CACxC,IAAItuF,EAAK,OAAOsuF,EAAW,UAAU,EAAE,YAAW,EAI7C86H,EAAI,KAAKilC,EAAcruP,CAAE,IAC5BquP,EAAaruP,CAAE,EAAIsuF,EAEzB,CACA,CAGA,SAAS0gK,EAAOvhC,EAAMjuM,EAAS,CAC7B,IAAInrB,EAAIw8E,EAAQ48I,EAAMjuM,CAAO,EACzBma,EAAO2vL,EAAIj1N,EAAGo5N,CAAI,EAClBwhC,EAAOhD,EAAO53P,CAAC,EAEnB,OAAI46P,IACFt1N,EAAK,SAAWA,EAAK,SAAS,OAAO/mC,EAAE,OAAQ;AAAA,CAAI,EAAGq8P,CAAI,GAGrDt1N,CACT,qDChIAsiR,GAAiB1mT,IAAA,oDCCjB,IAAI2mT,EAAa3mT,IAAA,EAEjB25P,GAAiBitD,EAOjB,SAASA,EAAchtD,EAAa3vO,EAAS,CAC3C,OAAI2vO,GAAe,CAACA,EAAY,UAC9B3vO,EAAU2vO,EACVA,EAAc,MAGTA,EAAcitD,EAAOjtD,EAAa3vO,CAAO,EAAI68R,EAAO78R,CAAO,CACpE,CAIA,SAAS48R,EAAOjtD,EAAa3vO,EAAS,CACpC,OAAO46E,EAEP,SAASA,EAAYzgE,EAAM+gD,EAAM52C,EAAM,CACrCqrN,EAAY,IAAI+sD,EAAWviR,EAAMna,CAAO,EAAGk7D,EAAM3qC,CAAI,EAErD,SAASA,EAAKpmB,EAAO,CACnBma,EAAKna,CAAK,CAChB,CACA,CACA,CAIA,SAAS0yR,EAAO78R,EAAS,CACvB,OAAO46E,EAEP,SAASA,EAAYzgE,EAAM,CACzB,OAAOuiR,EAAWviR,EAAMna,CAAO,CACnC,CACA,yFC1CA88R,GAAiB3wL,EAEjB,IAAIsB,EAAiB,OAAO,UAAU,eAEtC,SAAStB,GAAS,CAGd,QAFItvG,EAAS,GAEJJ,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACvC,IAAIke,EAAS,UAAUle,CAAC,EAExB,QAASK,KAAO6d,EACR8yF,EAAe,KAAK9yF,EAAQ7d,CAAG,IAC/BD,EAAOC,CAAG,EAAI6d,EAAO7d,CAAG,EAGxC,CAEI,OAAOD,CACX,yDChBAiqC,GAAiB4gK,EAEjB,IAAIr4H,EAAQq4H,EAAO,UAEnBr4H,EAAM,MAAQ,KACdA,EAAM,OAAS,GACfA,EAAM,SAAW,GAEjB,SAASq4H,EAAOxtH,EAAUytH,EAAQC,EAAO,CACvC,KAAK,SAAW1tH,EAChB,KAAK,OAASytH,EAEVC,IACF,KAAK,MAAQA,EAEjB,yDCfA,IAAIm1F,EAAQhnT,IAAA,EACR2xN,EAASnxN,IAAA,EAEbymT,GAAiBjxL,EAEjB,SAASA,EAAM87F,EAAa,CAQ1B,QAPI7pM,EAAS6pM,EAAY,OACrB3tH,EAAW,GACXytH,EAAS,GACTp4L,EAAQ,GACR0yG,EACA2lF,EAEG,EAAEr4L,EAAQvR,GACfikH,EAAO4lF,EAAYt4L,CAAK,EACxB2qE,EAAS,KAAK+nC,EAAK,QAAQ,EAC3B0lF,EAAO,KAAK1lF,EAAK,MAAM,EACvB2lF,EAAQ3lF,EAAK,MAGf,OAAO,IAAIylF,EACTq1F,EAAM,MAAM,KAAM7iN,CAAQ,EAC1B6iN,EAAM,MAAM,KAAMp1F,CAAM,EACxBC,CACJ,CACA,yDCzBAq1F,GAAiB/oO,EAEjB,SAASA,EAAU7yD,EAAO,CACxB,OAAOA,EAAM,YAAW,CAC1B,yDCJA4gH,GAAiBqzB,EAEjB,IAAIjmE,EAAQimE,EAAK,UAEjBjmE,EAAM,MAAQ,KACdA,EAAM,UAAY,KAClBA,EAAM,SAAW,KACjBA,EAAM,QAAU,GAChBA,EAAM,WAAa,GACnBA,EAAM,kBAAoB,GAC1BA,EAAM,OAAS,GACfA,EAAM,eAAiB,GACvBA,EAAM,eAAiB,GACvBA,EAAM,sBAAwB,GAC9BA,EAAM,gBAAkB,GACxBA,EAAM,QAAU,GAEhB,SAASimE,EAAKp7D,EAAUlM,EAAW,CACjC,KAAK,SAAWkM,EAChB,KAAK,UAAYlM,CACnB,2DCpBA,IAAI85H,EAAS,EAEb1/J,GAAA,QAAkB4/J,EAAS,EAC3B5/J,GAAA,WAAqB4/J,EAAS,EAC9B5/J,GAAA,kBAA4B4/J,EAAS,EACrC5/J,GAAA,OAAiB4/J,EAAS,EAC1B5/J,GAAA,eAAyB4/J,EAAS,EAClC5/J,GAAA,eAAyB4/J,EAAS,EAClC5/J,GAAA,sBAAgC4/J,EAAS,EAEzC,SAASA,GAAY,CACnB,OAAO,KAAK,IAAI,EAAG,EAAEF,CAAM,CAC7B,yDCZA,IAAIxyD,EAAOv/J,IAAA,EACPqyD,EAAQ7xD,GAAA,EAEZ2mT,GAAiB30F,EAEjBA,EAAY,UAAY,IAAIjzD,EAC5BizD,EAAY,UAAU,QAAU,GAEhC,IAAID,EAAS,CACX,UACA,aACA,oBACA,SACA,iBACA,iBACA,uBACF,EACI60F,EAAe70F,EAAO,OAE1B,SAASC,EAAYruH,EAAUlM,EAAWnmC,EAAM+/J,EAAO,CACrD,IAAIr4L,EAAQ,GACR+xB,EAMJ,IAJAknK,EAAK,KAAM,QAASZ,CAAK,EAEzBtyD,EAAK,KAAK,KAAMp7D,EAAUlM,CAAS,EAE5B,EAAEz+D,EAAQ4tR,GACf77P,EAAQgnK,EAAO/4L,CAAK,EACpBi5L,EAAK,KAAMlnK,GAAQuG,EAAOO,EAAM9G,CAAK,KAAO8G,EAAM9G,CAAK,CAAC,CAE5D,CAEA,SAASknK,EAAK7pL,EAAQ7hB,EAAKuE,EAAO,CAC5BA,IACFsd,EAAO7hB,CAAG,EAAIuE,EAElB,wDCrCA,IAAI6yD,EAAYn+E,IAAA,EACZ2xN,EAASnxN,IAAA,EACTgyN,EAAc7uI,IAAA,EAElB0jO,GAAiBz1M,EAEjB,SAASA,EAAO7Y,EAAY,CAC1B,IAAI84H,EAAQ94H,EAAW,MACnBuuN,EAAkBvuN,EAAW,iBAAmB,GAChDrE,EAAaqE,EAAW,YAAc,GACtCzzD,EAAQyzD,EAAW,WACnBzsC,EAAYysC,EAAW,UACvBoL,EAAW,GACXytH,EAAS,GACTxkL,EACA8+F,EAEJ,IAAK9+F,KAAQ9H,EACX4mG,EAAO,IAAIsmF,EACTplL,EACAkf,EAAUooC,EAAYtnD,CAAI,EAC1B9H,EAAM8H,CAAI,EACVykL,CACN,EAEQy1F,EAAgB,QAAQl6Q,CAAI,IAAM,KACpC8+F,EAAK,gBAAkB,IAGzB/nC,EAAS/2D,CAAI,EAAI8+F,EAEjB0lF,EAAOzzI,EAAU/wC,CAAI,CAAC,EAAIA,EAC1BwkL,EAAOzzI,EAAU+tD,EAAK,SAAS,CAAC,EAAI9+F,EAGtC,OAAO,IAAIukL,EAAOxtH,EAAUytH,EAAQC,CAAK,CAC3C,yDCpCA,IAAIjgH,EAAS5xG,GAAA,EAEC+yN,GAAGnhH,EAAO,CACtB,MAAO,QACP,UAAW21M,EACX,WAAY,CACV,aAAc,KACd,aAAc,KACd,UAAW,KACX,UAAW,KACX,UAAW,KACX,WAAY,KACZ,UAAW,IACf,CACC,GAED,SAASA,EAAer4R,EAAGke,EAAM,CAC/B,MAAO,SAAWA,EAAK,MAAM,CAAC,EAAE,YAAW,CAC7C,yDClBA,IAAIwkE,EAAS5xG,GAAA,EAECizN,GAAGrhH,EAAO,CACtB,MAAO,MACP,UAAW41M,EACX,WAAY,CACV,QAAS,KACT,QAAS,KACT,SAAU,IACd,CACC,GAED,SAASA,EAAat4R,EAAGke,EAAM,CAC7B,MAAO,OAASA,EAAK,MAAM,CAAC,EAAE,YAAW,CAC3C,yDCdAq6Q,GAAiB70F,EAEjB,SAASA,EAAuBl+H,EAAYuD,EAAW,CACrD,OAAOA,KAAavD,EAAaA,EAAWuD,CAAS,EAAIA,CAC3D,yDCJA,IAAI26H,EAAyB5yN,IAAA,EAE7B0nT,GAAiB70F,EAEjB,SAASA,EAAyBn+H,EAAYyP,EAAU,CACtD,OAAOyuH,EAAuBl+H,EAAYyP,EAAS,YAAa,EAClE,yDCNA,IAAIyN,EAAS5xG,GAAA,EACT6yN,EAA2BryN,IAAA,EAEjBwyN,UAAGphH,EAAO,CACtB,MAAO,QACP,WAAY,CACV,WAAY,aACb,EACD,UAAWihH,EACX,WAAY,CACV,MAAO,KACP,WAAY,IAChB,CACC,oDCbD,IAAIxgK,EAAQryD,GAAA,EACR4xG,EAASpxG,GAAA,EAET0xN,EAAa7/J,EAAM,WACnB6uB,EAAS7uB,EAAM,OACf+/J,EAAiB//J,EAAM,eAEbsgK,GAAG/gH,EAAO,CACtB,UAAW+1M,EACX,WAAY,CACV,qBAAsB,KACtB,WAAYz1F,EACZ,iBAAkB,KAClB,SAAUA,EACV,YAAaA,EACb,aAAchxI,EACd,aAAcA,EACd,YAAaA,EACb,aAAckxI,EACd,YAAa,KACb,gBAAiBA,EACjB,YAAa,KACb,aAAcF,EACd,eAAgBE,EAChB,iBAAkB,KAClB,aAAcF,EACd,WAAYE,EACZ,YAAaF,EACb,aAAc,KACd,WAAYA,EACZ,YAAa,KACb,iBAAkB,KAClB,UAAW,KACX,eAAgBE,EAChB,UAAWlxI,EACX,SAAU,KACV,UAAWgxI,EACX,cAAeA,EACf,oBAAqBA,EACrB,gBAAiB,KACjB,SAAUE,EACV,gBAAiB,KACjB,aAAclxI,EACd,YAAagxI,EACb,aAAcA,EACd,aAAc,KACd,aAAcA,EACd,oBAAqBE,EACrB,aAAclxI,EACd,aAAcA,EACd,YAAaA,EACb,aAAcgxI,EACd,YAAahxI,EACb,SAAU,KACV,aAAcA,EACd,aAAcA,EACd,aAAcA,EACd,cAAe,KACf,KAAM,IACV,CACC,GAED,SAASymO,EAAcz4R,EAAGke,EAAM,CAC9B,OAAOA,IAAS,OAASA,EAAO,QAAUA,EAAK,MAAM,CAAC,EAAE,YAAW,CACrE,yDChEA,IAAIilB,EAAQryD,GAAA,EACR4xG,EAASpxG,GAAA,EACTqyN,EAA2BlvI,IAAA,EAE3BquI,EAAU3/J,EAAM,QAChB8/J,EAAoB9/J,EAAM,kBAC1B6/J,EAAa7/J,EAAM,WACnB6uB,EAAS7uB,EAAM,OACf+/J,EAAiB//J,EAAM,eACvBggK,EAAiBhgK,EAAM,eAEbi9B,UAAGsiB,EAAO,CACtB,MAAO,OACP,WAAY,CACV,cAAe,iBACf,UAAW,QACX,QAAS,MACT,UAAW,YACZ,EACD,UAAWihH,EACX,gBAAiB,CAAC,UAAW,WAAY,QAAS,UAAU,EAC5D,WAAY,CAEV,KAAM,KACN,OAAQR,EACR,cAAeD,EACf,UAAWA,EACX,OAAQ,KACR,MAAO,KACP,gBAAiBJ,EACjB,oBAAqBA,EACrB,eAAgBA,EAChB,IAAK,KACL,GAAI,KACJ,MAAOA,EACP,eAAgB,KAChB,aAAcI,EACd,UAAWJ,EACX,SAAUA,EACV,QAASA,EACT,QAAS,KACT,QAASA,EACT,KAAM,KACN,UAAWI,EACX,KAAMlxI,EACN,QAAS,KACT,QAAS,KACT,gBAAiBgxI,EACjB,SAAUF,EACV,aAAcI,EACd,OAAQlxI,EAASmxI,EACjB,YAAa,KACb,KAAM,KACN,SAAU,KACV,SAAU,KACV,QAASL,EACT,MAAOA,EACP,IAAK,KACL,QAAS,KACT,SAAUA,EACV,SAAUG,EACV,UAAWD,EACX,QAAS,KACT,aAAc,KACd,KAAM,KACN,WAAY,KACZ,YAAa,KACb,WAAY,KACZ,eAAgBF,EAChB,WAAY,KACZ,QAASI,EACT,OAAQlxI,EACR,OAAQ8wI,EACR,KAAM9wI,EACN,KAAM,KACN,SAAU,KACV,QAASkxI,EACT,UAAWA,EACX,GAAI,KACJ,WAAY,KACZ,YAAaC,EACb,UAAW,KACX,UAAW,KACX,GAAI,KACJ,MAAOL,EACP,OAAQ,KACR,SAAUI,EACV,QAASA,EACT,UAAWJ,EACX,SAAUI,EACV,KAAM,KACN,MAAO,KACP,KAAM,KACN,SAAU,KACV,KAAM,KACN,QAAS,KACT,KAAMJ,EACN,IAAK9wI,EACL,SAAU,KACV,IAAK,KACL,UAAWA,EACX,MAAO,KACP,OAAQ,KACR,IAAK,KACL,UAAWA,EACX,SAAU8wI,EACV,MAAOA,EACP,KAAM,KACN,MAAO,KACP,SAAUA,EACV,WAAYA,EACZ,QAAS,KACT,aAAc,KACd,WAAY,KACZ,cAAe,KACf,eAAgB,KAChB,OAAQ,KACR,SAAU,KACV,UAAW,KACX,iBAAkB,KAClB,SAAU,KACV,QAAS,KACT,QAAS,KACT,cAAe,KACf,OAAQ,KACR,YAAa,KACb,MAAO,KACP,WAAY,KACZ,OAAQ,KACR,UAAW,KACX,YAAa,KACb,WAAY,KACZ,YAAa,KACb,WAAY,KACZ,YAAa,KACb,OAAQ,KACR,iBAAkB,KAClB,UAAW,KACX,QAAS,KACT,QAAS,KACT,QAAS,KACT,WAAY,KACZ,aAAc,KACd,QAAS,KACT,UAAW,KACX,UAAW,KACX,WAAY,KACZ,QAAS,KACT,iBAAkB,KAClB,OAAQ,KACR,aAAc,KACd,iBAAkB,KAClB,UAAW,KACX,YAAa,KACb,UAAW,KACX,eAAgB,KAChB,YAAa,KACb,aAAc,KACd,aAAc,KACd,YAAa,KACb,WAAY,KACZ,YAAa,KACb,UAAW,KACX,UAAW,KACX,SAAU,KACV,WAAY,KACZ,WAAY,KACZ,QAAS,KACT,QAAS,KACT,OAAQ,KACR,UAAW,KACX,WAAY,KACZ,WAAY,KACZ,aAAc,KACd,mBAAoB,KACpB,QAAS,KACT,SAAU,KACV,SAAU,KACV,0BAA2B,KAC3B,SAAU,KACV,UAAW,KACX,SAAU,KACV,aAAc,KACd,UAAW,KACX,UAAW,KACX,SAAU,KACV,UAAW,KACX,aAAc,KACd,SAAU,KACV,qBAAsB,KACtB,SAAU,KACV,eAAgB,KAChB,UAAW,KACX,QAAS,KACT,KAAMA,EACN,QAAS9wI,EACT,QAAS,KACT,KAAMkxI,EACN,YAAa,KACb,YAAaJ,EACb,OAAQ,KACR,QAAS,KACT,SAAUA,EACV,eAAgB,KAChB,IAAKI,EACL,SAAUJ,EACV,SAAUA,EACV,KAAM9wI,EACN,QAASA,EACT,QAASkxI,EACT,MAAO,KACP,OAAQJ,EACR,SAAUA,EACV,SAAUA,EACV,MAAO,KACP,KAAM9wI,EACN,MAAO,KACP,KAAM,KACN,KAAMA,EACN,WAAYgxI,EACZ,IAAK,KACL,OAAQ,KACR,QAAS,KACT,OAAQG,EACR,MAAOnxI,EACP,KAAM,KACN,MAAO,KACP,SAAUA,EACV,OAAQ,KACR,MAAO,KACP,UAAW,KACX,KAAM,KACN,cAAe8wI,EACf,OAAQ,KACR,MAAOE,EACP,MAAOhxI,EACP,KAAM,KAIN,MAAO,KACP,MAAO,KACP,QAASkxI,EACT,KAAM,KACN,WAAY,KACZ,QAAS,KACT,OAAQlxI,EACR,YAAa,KACb,aAAcA,EACd,YAAa,KACb,YAAa,KACb,KAAM,KACN,QAAS,KACT,QAAS,KACT,MAAO,KACP,KAAM,KACN,SAAU,KACV,SAAU,KACV,MAAO,KACP,QAAS8wI,EACT,QAASA,EACT,MAAO,KACP,KAAM,KACN,MAAO,KACP,YAAa,KACb,OAAQ9wI,EACR,WAAYA,EACZ,KAAM,KACN,SAAU,KACV,OAAQ,KACR,aAAcA,EACd,YAAaA,EACb,SAAU8wI,EACV,OAAQA,EACR,QAASA,EACT,OAAQA,EACR,OAAQ,KACR,QAAS,KACT,OAAQ,KACR,IAAK,KACL,YAAa9wI,EACb,MAAO,KACP,OAAQ,KACR,UAAWgxI,EACX,QAAS,KACT,QAAS,KACT,KAAM,KACN,UAAWhxI,EACX,UAAW,KACX,QAAS,KACT,OAAQ,KACR,MAAO,KACP,OAAQA,EAGR,kBAAmB,KACnB,YAAa,KACb,SAAU,KACV,wBAAyB8wI,EACzB,sBAAuBA,EACvB,OAAQ,KACR,SAAU,KACV,QAAS9wI,EACT,SAAU,KACV,aAAc,IAClB,CACC,oDClTD,IAAI80C,EAAQh2H,IAAA,EACR+yN,EAAQvyN,IAAA,EACRyyN,EAAMtvI,IAAA,EACNqvI,EAAQnvI,IAAA,EACR8uI,EAAO7uI,IAAA,EACPwL,EAAOupN,IAAA,EAEX,OAAAuM,GAAiBpvL,EAAM,CAACi9F,EAAKF,EAAOC,EAAOL,EAAMrjI,CAAI,CAAC,mDCPtD,IAAIj9B,EAAQryD,GAAA,EACR4xG,EAASpxG,GAAA,EACToyN,EAAyBjvI,IAAA,EAEzBquI,EAAU3/J,EAAM,QAChB6uB,EAAS7uB,EAAM,OACf+/J,EAAiB//J,EAAM,eACvBggK,EAAiBhgK,EAAM,eACvBigK,EAAwBjgK,EAAM,sBAEpBygK,UAAGlhH,EAAO,CACtB,MAAO,MACP,WAAY,CACV,aAAc,gBACd,kBAAmB,qBACnB,WAAY,cACZ,cAAe,iBACf,UAAW,aACX,UAAW,QACX,SAAU,YACV,SAAU,YACV,mBAAoB,sBACpB,0BAA2B,8BAC3B,aAAc,gBACd,eAAgB,kBAChB,YAAa,cACb,SAAU,WACV,iBAAkB,oBAClB,iBAAkB,oBAClB,YAAa,eACb,SAAU,YACV,WAAY,cACZ,aAAc,gBACd,WAAY,cACZ,SAAU,YACV,eAAgB,mBAChB,YAAa,eACb,UAAW,aACX,YAAa,eACb,WAAY,cACZ,UAAW,aACX,2BAA4B,+BAC5B,yBAA0B,6BAC1B,SAAU,WACV,UAAW,cACX,aAAc,iBACd,aAAc,iBACd,eAAgB,kBAChB,cAAe,iBACf,cAAe,iBACf,UAAW,aACX,UAAW,aACX,YAAa,eACb,QAAS,WACT,YAAa,gBACb,aAAc,iBACd,QAAS,WACT,QAAS,WACT,QAAS,WACT,SAAU,YACV,MAAO,SACP,UAAW,cACX,WAAY,eACZ,QAAS,UACT,WAAY,aACZ,aAAc,eACd,cAAe,gBACf,QAAS,UACT,SAAU,WACV,UAAW,YACX,iBAAkB,mBAClB,SAAU,WACV,QAAS,UACT,QAAS,UACT,OAAQ,SACR,YAAa,cACb,MAAO,QACP,WAAY,aACZ,OAAQ,SACR,UAAW,YACX,YAAa,cACb,WAAY,aACZ,YAAa,cACb,WAAY,aACZ,YAAa,cACb,OAAQ,SACR,iBAAkB,mBAClB,UAAW,YACX,MAAO,QACP,QAAS,UACT,QAAS,UACT,QAAS,UACT,UAAW,YACX,WAAY,aACZ,aAAc,eACd,QAAS,UACT,UAAW,YACX,UAAW,YACX,WAAY,aACZ,QAAS,UACT,OAAQ,SACR,aAAc,eACd,iBAAkB,mBAClB,YAAa,cACb,UAAW,YACX,YAAa,cACb,aAAc,eACd,aAAc,eACd,YAAa,cACb,WAAY,aACZ,YAAa,cACb,UAAW,YACX,aAAc,eACd,UAAW,YACX,SAAU,WACV,WAAY,aACZ,WAAY,aACZ,QAAS,UACT,QAAS,UACT,OAAQ,SACR,UAAW,YACX,WAAY,aACZ,WAAY,aACZ,aAAc,eACd,SAAU,WACV,QAAS,UACT,SAAU,WACV,SAAU,WACV,SAAU,WACV,UAAW,YACX,SAAU,WACV,OAAQ,SACR,UAAW,YACX,UAAW,YACX,SAAU,WACV,UAAW,YACX,aAAc,eACd,SAAU,WACV,SAAU,WACV,eAAgB,iBAChB,UAAW,YACX,OAAQ,SACR,iBAAkB,oBAClB,kBAAmB,qBACnB,WAAY,cACZ,QAAS,WACT,cAAe,iBACf,eAAgB,iBAChB,gBAAiB,mBACjB,eAAgB,kBAChB,UAAW,aACX,YAAa,eACb,sBAAuB,yBACvB,uBAAwB,0BACxB,gBAAiB,mBACjB,iBAAkB,oBAClB,cAAe,iBACf,eAAgB,kBAChB,iBAAkB,oBAClB,cAAe,iBACf,YAAa,eACb,SAAU,WACV,WAAY,cACZ,eAAgB,kBAChB,cAAe,iBACf,OAAQ,SACR,kBAAmB,qBACnB,mBAAoB,sBACpB,YAAa,eACb,aAAc,gBACd,WAAY,eACZ,YAAa,eACb,SAAU,YACV,aAAc,gBACd,cAAe,iBACf,aAAc,gBACd,SAAU,aACV,YAAa,gBACb,YAAa,gBACb,YAAa,eACb,YAAa,eACb,QAAS,WAET,cAAe,gBACf,cAAe,eAChB,EACD,UAAWghH,EACX,WAAY,CACV,MAAON,EACP,aAAcpxI,EACd,WAAY,KACZ,SAAU,KACV,kBAAmB,KACnB,WAAYA,EACZ,UAAWA,EACX,WAAY,KACZ,OAAQA,EACR,cAAe,KACf,cAAe,KACf,QAASA,EACT,UAAW,KACX,cAAe,KACf,cAAe,KACf,YAAa,KACb,KAAM,KACN,MAAO,KACP,KAAMA,EACN,GAAI,KACJ,SAAU,KACV,UAAWA,EACX,UAAWkxI,EACX,KAAM,KACN,SAAU,KACV,cAAe,KACf,SAAU,KACV,MAAO,KACP,mBAAoB,KACpB,0BAA2B,KAC3B,aAAc,KACd,eAAgB,KAChB,QAAS,KACT,kBAAmB,KACnB,iBAAkB,KAClB,YAAa,KACb,OAAQ,KACR,GAAI,KACJ,GAAI,KACJ,EAAG,KACH,SAAU,KACV,cAAe,KACf,QAASlxI,EACT,gBAAiBA,EACjB,UAAW,KACX,QAAS,KACT,IAAK,KACL,QAASA,EACT,iBAAkB,KAClB,SAAU8wI,EACV,GAAI,KACJ,GAAI,KACJ,SAAU,KACV,SAAU,KACV,UAAW9wI,EACX,iBAAkB,KAClB,IAAK,KACL,MAAO,KACP,SAAUA,EACV,0BAA2B,KAC3B,KAAM,KACN,YAAaA,EACb,SAAU,KACV,OAAQ,KACR,UAAW,KACX,YAAa,KACb,WAAY,KACZ,aAAc,KACd,UAAW,KACX,eAAgB,KAChB,WAAY,KACZ,SAAU,KACV,eAAgB,KAChB,YAAa,KACb,UAAW,KACX,YAAa,KACb,WAAY,KACZ,OAAQ,KACR,GAAI,KACJ,KAAM,KACN,GAAI,KACJ,GAAI,KACJ,GAAImxI,EACJ,GAAIA,EACJ,UAAWA,EACX,2BAA4B,KAC5B,yBAA0B,KAC1B,SAAU,KACV,kBAAmB,KACnB,cAAe,KACf,QAAS,KACT,QAASnxI,EACT,kBAAmB,KACnB,WAAY,KACZ,OAAQ,KACR,KAAM,KACN,SAAU,KACV,UAAWA,EACX,aAAcA,EACd,aAAcA,EACd,GAAI,KACJ,YAAaA,EACb,eAAgB,KAChB,kBAAmB,KACnB,GAAI,KACJ,IAAK,KACL,UAAWA,EACX,EAAGA,EACH,GAAIA,EACJ,GAAIA,EACJ,GAAIA,EACJ,GAAIA,EACJ,aAAcoxI,EACd,iBAAkB,KAClB,UAAW,KACX,WAAY,KACZ,SAAU,KACV,QAAS,KACT,KAAM,KACN,aAAc,KACd,cAAe,KACf,cAAe,KACf,kBAAmBpxI,EACnB,MAAO,KACP,UAAW,KACX,UAAW,KACX,YAAa,KACb,aAAc,KACd,YAAa,KACb,YAAa,KACb,KAAM,KACN,iBAAkB,KAClB,UAAW,KACX,aAAc,KACd,IAAK,KACL,MAAO,KACP,uBAAwB,KACxB,sBAAuB,KACvB,UAAWA,EACX,UAAW,KACX,OAAQ,KACR,IAAK,KACL,KAAM,KACN,KAAM,KACN,QAAS,KACT,YAAa,KACb,aAAc,KACd,QAAS,KACT,QAAS,KACT,QAAS,KACT,SAAU,KACV,MAAO,KACP,UAAW,KACX,WAAY,KACZ,WAAY,KACZ,SAAU,KACV,OAAQ,KACR,QAAS,KACT,WAAY,KACZ,aAAc,KACd,cAAe,KACf,QAAS,KACT,SAAU,KACV,UAAW,KACX,iBAAkB,KAClB,SAAU,KACV,QAAS,KACT,QAAS,KACT,OAAQ,KACR,YAAa,KACb,MAAO,KACP,WAAY,KACZ,OAAQ,KACR,UAAW,KACX,YAAa,KACb,WAAY,KACZ,YAAa,KACb,WAAY,KACZ,YAAa,KACb,OAAQ,KACR,iBAAkB,KAClB,UAAW,KACX,MAAO,KACP,QAAS,KACT,QAAS,KACT,QAAS,KACT,UAAW,KACX,WAAY,KACZ,aAAc,KACd,QAAS,KACT,UAAW,KACX,UAAW,KACX,WAAY,KACZ,QAAS,KACT,OAAQ,KACR,aAAc,KACd,iBAAkB,KAClB,YAAa,KACb,UAAW,KACX,YAAa,KACb,aAAc,KACd,aAAc,KACd,YAAa,KACb,WAAY,KACZ,YAAa,KACb,UAAW,KACX,aAAc,KACd,UAAW,KACX,SAAU,KACV,WAAY,KACZ,WAAY,KACZ,QAAS,KACT,QAAS,KACT,OAAQ,KACR,UAAW,KACX,WAAY,KACZ,WAAY,KACZ,aAAc,KACd,SAAU,KACV,QAAS,KACT,SAAU,KACV,SAAU,KACV,SAAU,KACV,UAAW,KACX,SAAU,KACV,OAAQ,KACR,UAAW,KACX,UAAW,KACX,SAAU,KACV,UAAW,KACX,aAAc,KACd,SAAU,KACV,SAAU,KACV,eAAgB,KAChB,UAAW,KACX,OAAQ,KACR,QAAS,KACT,SAAU,KACV,MAAO,KACP,OAAQ,KACR,YAAa,KACb,OAAQ,KACR,SAAU,KACV,QAAS,KACT,iBAAkBA,EAClB,kBAAmBA,EACnB,WAAY,KACZ,QAAS,KACT,KAAM,KACN,WAAYA,EACZ,oBAAqB,KACrB,iBAAkB,KAClB,aAAc,KACd,MAAO,KACP,KAAMkxI,EACN,MAAO,KACP,cAAe,KACf,cAAe,KACf,OAAQ,KACR,UAAWlxI,EACX,UAAWA,EACX,UAAWA,EACX,cAAe,KACf,oBAAqB,KACrB,eAAgB,KAChB,UAAW,KACX,SAAUoxI,EACV,EAAG,KACH,OAAQ,KACR,eAAgB,KAChB,KAAM,KACN,KAAM,KACN,IAAKA,EACL,IAAKA,EACL,gBAAiB,KACjB,YAAa,KACb,UAAW,KACX,mBAAoBA,EACpB,iBAAkBA,EAClB,cAAeA,EACf,gBAAiBA,EACjB,SAAU,KACV,QAAS,KACT,OAAQ,KACR,OAAQ,KACR,GAAI,KACJ,GAAI,KACJ,MAAO,KACP,KAAM,KACN,eAAgB,KAChB,KAAM,KACN,MAAO,KACP,aAAc,KACd,iBAAkBpxI,EAClB,iBAAkBA,EAClB,aAAc,KACd,QAAS,KACT,YAAa,KACb,aAAc,KACd,MAAO,KACP,MAAO,KACP,YAAa,KACb,UAAW,KACX,YAAa,KACb,sBAAuBA,EACvB,uBAAwBA,EACxB,OAAQ,KACR,OAAQ,KACR,gBAAiBoxI,EACjB,iBAAkB,KAClB,cAAe,KACf,eAAgB,KAChB,iBAAkBpxI,EAClB,cAAeA,EACf,YAAa,KACb,MAAO,KACP,aAAcA,EACd,aAAc,KACd,oBAAqB,KACrB,WAAY,KACZ,cAAe,KACf,qBAAsB,KACtB,eAAgBoxI,EAChB,SAAUpxI,EACV,YAAa,KACb,OAAQ,KACR,QAASA,EACT,QAASA,EACT,WAAY,KACZ,eAAgB,KAChB,cAAe,KACf,WAAY,KACZ,cAAe,KACf,MAAO,KACP,kBAAmB,KACnB,KAAM,KACN,OAAQoxI,EACR,GAAI,KACJ,UAAW,KACX,GAAI,KACJ,GAAI,KACJ,kBAAmBpxI,EACnB,mBAAoBA,EACpB,QAAS,KACT,YAAa,KACb,aAAc,KACd,WAAYA,EACZ,OAAQ,KACR,YAAaA,EACb,cAAeA,EACf,aAAc,KACd,SAAUA,EACV,aAAcA,EACd,QAAS,KACT,SAAUA,EACV,YAAaA,EACb,YAAaA,EACb,QAAS,KACT,WAAY,KACZ,WAAY,KACZ,MAAO,KACP,OAAQ,KACR,YAAa,KACb,YAAa,KACb,EAAG,KACH,GAAI,KACJ,GAAI,KACJ,iBAAkB,KAClB,QAASA,EACT,EAAG,KACH,GAAI,KACJ,GAAI,KACJ,iBAAkB,KAClB,EAAG,KACH,WAAY,IAChB,CACC,oDCpjBD,IAAI80C,EAAQh2H,IAAA,EACR+yN,EAAQvyN,IAAA,EACRyyN,EAAMtvI,IAAA,EACNqvI,EAAQnvI,IAAA,EACR8uI,EAAO7uI,IAAA,EACPgvI,EAAM+lF,IAAA,EAEV,OAAA+O,GAAiB5xL,EAAM,CAACi9F,EAAKF,EAAOC,EAAOL,EAAMG,CAAG,CAAC,mDCPrD,IAAI30I,EAAYn+E,IAAA,EACZwyN,EAAchyN,IAAA,EACd++J,EAAO57E,IAAA,EAEPnzD,EAAO,OAEXq3R,GAAiBv0F,EAEjB,IAAID,EAAQ,kBACRD,EAAO,UACPD,EAAM,SAEV,SAASG,EAAKviK,EAAQzlC,EAAO,CAC3B,IAAIsmM,EAASzzI,EAAU7yD,CAAK,EACxB8hB,EAAO9hB,EACPw3E,EAAOy8D,EAEX,OAAIqyD,KAAU7gK,EAAO,OACZA,EAAO,SAASA,EAAO,OAAO6gK,CAAM,CAAC,GAG1CA,EAAO,OAAS,GAAKA,EAAO,MAAM,EAAG,CAAC,IAAMphM,GAAQ6iM,EAAM,KAAK/nM,CAAK,IAElEA,EAAM,OAAO,CAAC,IAAM,IACtB8hB,EAAO06Q,EAAkBx8R,CAAK,EAE9BA,EAAQy8R,EAAmBz8R,CAAK,EAGlCw3E,EAAO0vH,GAGF,IAAI1vH,EAAK11D,EAAM9hB,CAAK,EAC7B,CAEA,SAASw8R,EAAkB7vN,EAAW,CACpC,IAAI3sE,EAAQ2sE,EAAU,MAAM,CAAC,EAAE,QAAQm7H,EAAMG,CAAS,EACtD,OAAO/iM,EAAOlF,EAAM,OAAO,CAAC,EAAE,YAAa,EAAGA,EAAM,MAAM,CAAC,CAC7D,CAEA,SAASy8R,EAAmB5jN,EAAU,CACpC,IAAI74E,EAAQ64E,EAAS,MAAM,CAAC,EAE5B,OAAIivH,EAAK,KAAK9nM,CAAK,EACV64E,GAGT74E,EAAQA,EAAM,QAAQ6nM,EAAKM,CAAK,EAE5BnoM,EAAM,OAAO,CAAC,IAAM,MACtBA,EAAQ,IAAMA,GAGTkF,EAAOlF,EAChB,CAEA,SAASmoM,EAAMC,EAAI,CACjB,MAAO,IAAMA,EAAG,YAAW,CAC7B,CAEA,SAASH,EAAUG,EAAI,CACrB,OAAOA,EAAG,OAAO,CAAC,EAAE,YAAW,CACjC,8nBC9DAs0F,GAAA,MAAgBt2L,EAChBs2L,GAAA,UAAoBtwG,EAEpB,IAAI0e,EAAQ,GACRvE,EAAQ,IACRo2F,EAAa,gBAEjB,SAASv2L,EAAMpmG,EAAO,CACpB,IAAIoC,EAAQ,OAAOpC,GAAS8qM,CAAK,EAAE,KAAI,EACvC,OAAO1oM,IAAU0oM,EAAQ,CAAE,EAAG1oM,EAAM,MAAMu6R,CAAU,CACtD,CAEA,SAASvwG,EAAU9uK,EAAQ,CACzB,OAAOA,EAAO,KAAKipL,CAAK,EAAE,KAAI,CAChC,4DCdAq2F,GAAA,MAAgBx2L,EAChBw2L,GAAA,UAAoBxwG,EAEpB,IAAIywG,EAAQ,IACRt2F,EAAQ,IACRuE,EAAQ,GAGZ,SAAS1kG,EAAMpmG,EAAO,CAQpB,QAPIsd,EAAS,GACTlb,EAAQ,OAAOpC,GAAS8qM,CAAK,EAC7B58L,EAAQ9L,EAAM,QAAQy6R,CAAK,EAC3BntR,EAAY,EACZorD,EAAM,GACNj3D,EAEG,CAACi3D,GACF5sD,IAAU,KACZA,EAAQ9L,EAAM,OACd04D,EAAM,IAGRj3D,EAAMzB,EAAM,MAAMsN,EAAWxB,CAAK,EAAE,KAAI,GAEpCrK,GAAO,CAACi3D,IACVx9C,EAAO,KAAKzZ,CAAG,EAGjB6L,EAAYxB,EAAQ,EACpBA,EAAQ9L,EAAM,QAAQy6R,EAAOntR,CAAS,EAGxC,OAAO4N,CACT,CAKA,SAAS8uK,EAAU9uK,EAAQ3e,EAAS,CAClC,IAAI+2L,EAAW/2L,GAAW,GACtB6pC,EAAOktJ,EAAS,UAAY,GAAQoV,EAAQvE,EAC5C99J,EAAQitJ,EAAS,SAAW6Q,EAAQuE,EAGxC,OAAIxtL,EAAOA,EAAO,OAAS,CAAC,IAAMwtL,IAChCxtL,EAASA,EAAO,OAAOwtL,CAAK,GAGvBxtL,EAAO,KAAKmrB,EAAQo0P,EAAQr0P,CAAI,EAAE,KAAI,CAC/C,yDCjDA,IAAIq5K,EAAgB,kCAEhBC,EAAgB,MAChBC,EAAmB,OAGnBC,EAAiB,yCACjBC,EAAc,QACdC,EAAc,uDACdC,EAAkB,UAGlBC,EAAa,aAGbC,EAAU;AAAA,EACVC,EAAgB,IAChBC,EAAW,IACXC,EAAe,GAGfC,EAAe,UACfC,EAAmB,cASvBC,GAAiB,SAAS9hN,EAAOlC,EAAS,CACxC,GAAI,OAAOkC,GAAU,SACnB,MAAM,IAAI,UAAU,iCAAiC,EAGvD,GAAI,CAACA,EAAO,MAAO,CAAE,EAErBlC,EAAUA,GAAW,CAAE,EAKvB,IAAIikN,EAAS,EACTjhI,EAAS,EAOb,SAASkhI,EAAe7gM,EAAK,CAC3B,IAAI8vC,EAAQ9vC,EAAI,MAAM8/L,CAAa,EAC/BhwJ,IAAO8wJ,GAAU9wJ,EAAM,QAC3B,IAAI12D,EAAI4mB,EAAI,YAAYqgM,CAAO,EAC/B1gI,EAAS,CAACvmF,EAAI4mB,EAAI,OAAS5mB,EAAIumF,EAAS3/D,EAAI,MAChD,CAOE,SAAS0pF,GAAW,CAClB,IAAI5lB,EAAQ,CAAE,KAAM88H,EAAQ,OAAQjhI,CAAQ,EAC5C,OAAO,SAAS7oE,EAAM,CACpB,OAAAA,EAAK,SAAW,IAAIgqM,EAASh9H,CAAK,EAClCqlG,EAAY,EACLryK,CACR,CACL,CAUE,SAASgqM,EAASh9H,EAAO,CACvB,KAAK,MAAQA,EACb,KAAK,IAAM,CAAE,KAAM88H,EAAQ,OAAQjhI,CAAQ,EAC3C,KAAK,OAAShjF,EAAQ,MAC1B,CAKEmkN,EAAS,UAAU,QAAUjiN,EAU7B,SAASiI,EAAMmO,EAAK,CAClB,IAAIlc,EAAM,IAAI,MACZ4D,EAAQ,OAAS,IAAMikN,EAAS,IAAMjhI,EAAS,KAAO1qE,CACvD,EAOD,GANAlc,EAAI,OAASkc,EACblc,EAAI,SAAW4D,EAAQ,OACvB5D,EAAI,KAAO6nN,EACX7nN,EAAI,OAAS4mF,EACb5mF,EAAI,OAAS8F,EAET,CAAAlC,EAAQ,OAGV,MAAM5D,CAEZ,CAQE,SAAS+vB,EAAM7nC,EAAI,CACjB,IAAItP,EAAIsP,EAAG,KAAK4d,CAAK,EACrB,GAAKltB,EACL,KAAIquC,EAAMruC,EAAE,CAAC,EACb,OAAAkvO,EAAe7gM,CAAG,EAClBnhB,EAAQA,EAAM,MAAMmhB,EAAI,MAAM,EACvBruC,EACX,CAKE,SAASw3M,GAAa,CACpBrgK,EAAMi3L,CAAgB,CAC1B,CAQE,SAASgB,EAAShrK,EAAO,CACvB,IAAIzkE,EAEJ,IADAykE,EAAQA,GAAS,CAAE,EACXzkE,EAAIy4M,KACNz4M,IAAM,IACRykE,EAAM,KAAKzkE,CAAC,EAGhB,OAAOykE,CACX,CAQE,SAASg0I,GAAU,CACjB,IAAI7xE,EAAMxO,EAAU,EACpB,GAAI,EAAA42G,GAAiBzhN,EAAM,OAAO,CAAC,GAAK0hN,GAAY1hN,EAAM,OAAO,CAAC,GAGlE,SADIzF,EAAI,EAENonN,GAAgB3hN,EAAM,OAAOzF,CAAC,IAC7BmnN,GAAY1hN,EAAM,OAAOzF,CAAC,GAAKknN,GAAiBzhN,EAAM,OAAOzF,EAAI,CAAC,IAEnE,EAAEA,EAIJ,GAFAA,GAAK,EAEDonN,IAAiB3hN,EAAM,OAAOzF,EAAI,CAAC,EACrC,OAAO0N,EAAM,wBAAwB,EAGvC,IAAIkZ,EAAMnhB,EAAM,MAAM,EAAGzF,EAAI,CAAC,EAC9B,OAAAumF,GAAU,EACVkhI,EAAe7gM,CAAG,EAClBnhB,EAAQA,EAAM,MAAMzF,CAAC,EACrBumF,GAAU,EAEHu4B,EAAI,CACT,KAAMuoG,EACN,QAASzgM,CACf,CAAK,EACL,CAQE,SAASgqK,GAAc,CACrB,IAAI9xE,EAAMxO,EAAU,EAGhB5pF,EAAOgJ,EAAMk3L,CAAc,EAC/B,GAAKlgM,EAIL,IAHAiqK,EAAS,EAGL,CAACjhK,EAAMm3L,CAAW,EAAG,OAAOn5M,EAAM,sBAAsB,EAG5D,IAAIjF,EAAMinB,EAAMo3L,CAAW,EAEvBliM,EAAMk6F,EAAI,CACZ,KAAMwoG,EACN,SAAUv4G,EAAKroF,EAAK,CAAC,EAAE,QAAQ+/L,EAAeW,CAAY,CAAC,EAC3D,MAAO3+M,EACHsmG,EAAKtmG,EAAI,CAAC,EAAE,QAAQg+M,EAAeW,CAAY,CAAC,EAChDA,CACV,CAAK,EAGD,OAAA13L,EAAMq3L,CAAe,EAEdniM,EACX,CAOE,SAAS0rK,GAAe,CACtB,IAAIs3B,EAAQ,CAAE,EAEdD,EAASC,CAAK,EAId,QADIC,EACIA,EAAOj3B,KACTi3B,IAAS,KACXD,EAAM,KAAKC,CAAI,EACfF,EAASC,CAAK,GAIlB,OAAOA,CACX,CAEE,OAAA73B,EAAY,EACLO,EAAc,CACtB,EAQD,SAASvhF,EAAKnoF,EAAK,CACjB,OAAOA,EAAMA,EAAI,QAAQogM,EAAYI,CAAY,EAAIA,CACvD,yDCpQA,IAAIp8G,EAAQ1xH,IAA8B,EAa1C,SAAS0uO,EAAcviN,EAAO6nG,EAAU,CACtC,IAAInmC,EAAS,KACb,GAAI,CAAC1hE,GAAS,OAAOA,GAAU,SAC7B,OAAO0hE,EAST,QANIypH,EACAN,EAAetlF,EAAMvlG,CAAK,EAC1B0iN,EAAc,OAAO76G,GAAa,WAClC7vB,EACA74E,EAEK5E,EAAI,EAAG6oC,EAAMynJ,EAAa,OAAQtwL,EAAI6oC,EAAK7oC,IAClD4wL,EAAcN,EAAatwL,CAAC,EAC5By9E,EAAWmzG,EAAY,SACvBhsL,EAAQgsL,EAAY,MAEhBu3B,EACF76G,EAAS7vB,EAAU74E,EAAOgsL,CAAW,EAC5BhsL,IACTuiE,IAAWA,EAAS,IACpBA,EAAOsW,CAAQ,EAAI74E,GAIvB,OAAOuiE,CACT,CAEA,OAAAu6N,GAAiB15E,sVCvCjB,IAAIp/I,EAAOtvF,IAAA,EACP8yN,EAAMtyN,IAAA,EACN8yN,EAAO3vI,IAAA,EACPuvI,EAAcrvI,IACd4zI,EAAS3zI,IAAA,EACT0zI,EAASqhF,IAAA,EACT1sR,EAAQowR,IAAA,EACRx5Q,EAAKy5Q,IACLnlD,EAAUolD,IAAA,EAEVphO,EAAOg8K,EAAQ,MAAM,EACrBzrO,EAAUyrO,EAAQ,SAAS,EAC3BzzN,EAAOyzN,EAAQ,MAAM,EAEzBgxD,GAAiB1sF,EAEjB,SAASA,EAAQ78N,EAAGslC,EAAMna,EAAS,CACjC,IAAI+2L,EAAW/2L,GAAW,GACtB7pB,EAAI2nB,EAAMjpB,CAAC,EACXxB,EAAIgrT,EAAIxpT,CAAC,EACTwM,EAAKi9S,EAAKzpT,CAAC,EACXgwC,EAEJ,GAAI,OAAOhwC,GAAM,WACf,MAAM,IAAI,MAAM,qBAAqB,EAUvC,GAPI,OAAOkiN,GAAa,UAAY,OAAOA,GAAa,WACtDlyK,EAASkyK,EACTA,EAAW,IAEXlyK,EAASkyK,EAAS,OAGhB3lI,EAAKj3C,CAAI,EACXA,EACEA,EAAK,SAAS,SAAW,GAAKxY,EAAQwY,EAAK,SAAS,CAAC,CAAC,EAClDA,EAAK,SAAS,CAAC,EACf,CACE,KAAM,UACN,QAAS,MACT,WAAY,CAAE,EACd,SAAUA,EAAK,QAC3B,UACa,CAACxY,EAAQwY,CAAI,EACtB,MAAM,IAAI,MACR,mCAAsCA,GAAQA,EAAK,MAASA,GAAQ,GAC1E,EAGE,OAAOokR,EAAI1pT,EAAGslC,EAAM,CAClB,OAAQ48K,EAAS,QAAU,MAAQ8R,EAAMxjI,EACzC,OAAQxgD,IAAkB1uC,GAAK9C,GAAKgO,EAAK,KAAO,MAChD,IAAK,EACL,MAAOlL,EACP,IAAK9C,EACL,KAAMgO,EACN,YAAam9S,EAAY3pT,CAAC,CAC3B,EACH,CAGA,SAAS0pT,EAAI1pT,EAAGslC,EAAMylB,EAAK,CACzB,IAAI+mL,EAAe/mL,EAAI,OACnBkH,EAAS6/K,EACT7mN,EAAOqa,EAAK,QACZswD,EAAa,GACb+M,EAAQ,GACRjoE,EAAQ,GACRzS,EACAuE,EAEAslN,EAAa,QAAU,QAAU7mN,EAAK,YAAa,IAAK,QAC1DgnC,EAAS+hK,EACTjpK,EAAI,OAASkH,GAGf,IAAKhqC,KAAOqd,EAAK,WACfskR,EAAah0N,EAAY3tE,EAAKqd,EAAK,WAAWrd,CAAG,EAAG8iC,EAAK9/B,CAAI,EAgB/D,GAbI8/B,EAAI,OACFkH,EAAO,QAAU,OACnBhnC,EAAOA,EAAK,YAAW,EAEvB2qE,EAAW,UAAY3xD,EAAGguB,EAAO,KAAK,GAItClH,EAAI,SACNA,EAAI,MACJ6qC,EAAW,IAAM7qC,EAAI,OAASA,EAAI,KAGhCzlB,EAAK,SACP,KAAO,EAAE5K,EAAQ4K,EAAK,SAAS,QAC7B9Y,EAAQ8Y,EAAK,SAAS5K,CAAK,EAEvB5N,EAAQN,CAAK,EACfm2E,EAAM,KAAK+mN,EAAI1pT,EAAGwsB,EAAOu+B,CAAG,CAAC,EACpBjmB,EAAKtY,CAAK,GACnBm2E,EAAM,KAAKn2E,EAAM,KAAK,EAM5B,OAAAu+B,EAAI,OAAS+mL,EAINnvI,EAAM,OACT3iG,EAAE,KAAKslC,EAAMra,EAAM2qE,EAAY+M,CAAK,EACpC3iG,EAAE,KAAKslC,EAAMra,EAAM2qE,CAAU,CACnC,CAEA,SAASg0N,EAAapjR,EAAO8H,EAAM9hB,EAAOu+B,EAAK9/B,EAAM,CACnD,IAAImiH,EAAOonF,EAAKzpK,EAAI,OAAQzc,CAAI,EAC5Bu7Q,EAKFr9R,GAAS,MACTA,IAAUA,GACTA,IAAU,KAAUu+B,EAAI,KAAOA,EAAI,MAAQA,EAAI,cAC/C,CAACv+B,GAAS4gH,EAAK,UAAYriF,EAAI,KAAOA,EAAI,MAAQA,EAAI,eAKrDv+B,GAAS,OAAOA,GAAU,UAAY,WAAYA,IAGpDA,GAAS4gH,EAAK,eAAiBsrF,EAASC,GAAQ,UAAUnsM,CAAK,GAI7D4gH,EAAK,SAAWriF,EAAI,cACtBv+B,EAAQ,IAKR4gH,EAAK,WAAa,SAClB,OAAO5gH,GAAU,WAChBu+B,EAAI,OAASA,EAAI,KAAOA,EAAI,QAE7Bv+B,EAAQqmN,EAAWrmN,EAAOvB,CAAI,GAG5B8/B,EAAI,IACFqiF,EAAK,WAAa,UAASy8K,EAAU,SAC/Bz8K,EAAK,kBACXriF,EAAI,KACFqiF,EAAK,WAAa,UAASy8K,EAAU,cAChC9+P,EAAI,cACb8+P,EAAU,UAIVA,GACGrjR,EAAMqjR,CAAO,IAAGrjR,EAAMqjR,CAAO,EAAI,IACtCrjR,EAAMqjR,CAAO,EAAEz8K,EAAK,SAAS,EAAI5gH,GACxB4gH,EAAK,OAASriF,EAAI,MAC3BvkB,EAAM4tL,EAAYhnF,EAAK,QAAQ,GAAKA,EAAK,QAAQ,EAAI5gH,EAErDga,EAAM4mG,EAAK,SAAS,EAAI5gH,EAE5B,CAGA,SAASvD,EAAMjpB,EAAG,CAChB,IAAIslC,EAAOtlC,GAAKA,EAAE,KAAK,EACvB,MAAO,GACLslC,IAAS,WAAYA,GAAQ,WAAYA,IAASA,EAAK,KAAO,KAElE,CAGA,SAASqkR,EAAY3pT,EAAG,CACtB,MAAO,GAAQA,GAAKA,EAAE,SAAWA,EAAE,QACrC,CAGA,SAASypT,EAAKzpT,EAAG,CACf,OAAOA,GAAKA,EAAE,KAAK,EAAE,OAAS,aAChC,CAEA,SAASwpT,EAAIxpT,EAAG,CACd,IAAIslC,EAAOtlC,GAAKA,EAAE,KAAK,EACvB,MAAO,GAAQslC,GAAQA,EAAK,SAAWA,EAAK,QAAQ,OACtD,CAEA,SAASutM,EAAWrmN,EAAOk7E,EAAS,CAClC,IAAIn3E,EAAS,GAEb,GAAI,CACFlD,EAAMb,EAAO0oG,CAAQ,CACtB,OAAQ5/F,EAAO,CACd,MAAAA,EAAM,QACJoyE,EAAU,UAAYpyE,EAAM,QAAQ,MAAM,CAAkB,EACxDA,CACV,CAEE,OAAO/E,EAEP,SAAS2kG,EAASjqG,EAAMuB,EAAO,CACzBvB,EAAK,MAAM,EAAG,CAAC,IAAM,SAAQA,EAAO,MAAQA,EAAK,MAAM,CAAC,GAC5DsF,EAAOtF,EAAK,QAAQ,YAAa6+R,CAAa,CAAC,EAAIt9R,CACvD,CACA,CAEA,SAASs9R,EAAcl1F,EAAI07B,EAAI,CAC7B,OAAOA,EAAG,YAAW,CACvB,yDCvNAm0D,GAAiBlsD,EAEjB,SAASA,EAAQxnJ,EAAM,CACrB,GAAI,OAAOA,GAAS,SAClB,OAAO4nJ,EAAY5nJ,CAAI,EAGzB,GAAIA,GAAS,KACX,OAAOztF,EAGT,GAAI,OAAOytF,GAAS,SAClB,OAAQ,WAAYA,EAAO0nJ,EAAasxD,GAAgBh5M,CAAI,EAG9D,GAAI,OAAOA,GAAS,WAClB,OAAOA,EAGT,MAAM,IAAI,MAAM,8CAA8C,CAChE,CAEA,SAASi5M,EAAWpxD,EAAO,CAKzB,QAJI1tM,EAAU,GACV/hC,EAASyvO,EAAM,OACfl+N,EAAQ,GAEL,EAAEA,EAAQvR,GACf+hC,EAAQxwB,CAAK,EAAI69N,EAAQK,EAAMl+N,CAAK,CAAC,EAGvC,OAAOwwB,CACT,CAIA,SAAS6+P,EAAeh5M,EAAM,CAC5B,OAAO3yB,EAEP,SAASA,EAAQ94C,EAAM,CACrB,IAAIrd,EAEJ,IAAKA,KAAO8oF,EACV,GAAIzrE,EAAKrd,CAAG,IAAM8oF,EAAK9oF,CAAG,EACxB,MAAO,GAIX,MAAO,EACX,CACA,CAEA,SAASwwO,EAAWG,EAAO,CACzB,IAAInlC,EAASu2F,EAAWpxD,CAAK,EACzBzvO,EAASsqM,EAAO,OAEpB,OAAOr1I,EAEP,SAASA,GAAU,CAGjB,QAFI1jD,EAAQ,GAEL,EAAEA,EAAQvR,GACf,GAAIsqM,EAAO/4L,CAAK,EAAE,MAAM,KAAM,SAAS,EACrC,MAAO,GAIX,MAAO,EACX,CACA,CAIA,SAASi+N,EAAY5nJ,EAAM,CACzB,OAAOxhF,EAEP,SAASA,EAAK+V,EAAM,CAClB,MAAO,GAAQA,GAAQA,EAAK,OAASyrE,EACzC,CACA,CAGA,SAASztF,GAAK,CACZ,MAAO,EACT,yDCpFAshS,GAAiBxrD,EAEjB,IAAIb,EAAUr3P,IAAA,EAEV+3P,EAAW,GACXE,EAAO,OACPD,EAAO,GAEXE,EAAa,SAAWH,EACxBG,EAAa,KAAOD,EACpBC,EAAa,KAAOF,EAEpB,SAASE,EAAahgC,EAAMroH,EAAMmqB,EAASl7B,EAAS,CAClD,IAAI5uB,EAEA,OAAO2/B,GAAS,YAAc,OAAOmqB,GAAY,aACnDl7B,EAAUk7B,EACVA,EAAUnqB,EACVA,EAAO,MAGT3/B,EAAKmnL,EAAQxnJ,CAAI,EAEjBkkH,EAAImE,EAAM,KAAM,CAAE,GAGlB,SAASnE,EAAI3vL,EAAM5K,EAAO2+N,EAAS,CACjC,IAAI9oO,EAAS,GACT+oO,EAEJ,OAAI,CAACvoJ,GAAQ3/B,EAAG9rC,EAAM5K,EAAO2+N,EAAQA,EAAQ,OAAS,CAAC,GAAK,IAAI,KAC9D9oO,EAASipO,EAASt+H,EAAQ51F,EAAM+zN,CAAO,CAAC,EAEpC9oO,EAAO,CAAC,IAAM2oO,GACT3oO,EAIP+U,EAAK,UAAY/U,EAAO,CAAC,IAAM4oO,GACjCG,EAAYE,EAAS/tH,EAAInmG,EAAK,SAAU+zN,EAAQ,OAAO/zN,CAAI,CAAC,CAAC,EACtDg0N,EAAU,CAAC,IAAMJ,EAAOI,EAAY/oO,GAGtCA,CACX,CAGE,SAASk7G,EAAIhqG,EAAU43N,EAAS,CAM9B,QALI3oM,EAAM,GACNE,EAAOovC,EAAU,GAAK,EACtBtlE,GAASslE,EAAUv+D,EAAS,OAASivB,GAAOE,EAC5CrgC,EAEGmK,EAAQg2B,GAAOh2B,EAAQ+G,EAAS,QAAQ,CAG7C,GAFAlR,EAAS0kM,EAAIxzL,EAAS/G,CAAK,EAAGA,EAAO2+N,CAAO,EAExC9oO,EAAO,CAAC,IAAM2oO,EAChB,OAAO3oO,EAGTmK,EAAQ,OAAOnK,EAAO,CAAC,GAAM,SAAWA,EAAO,CAAC,EAAImK,EAAQk2B,CAClE,CACA,CACA,CAEA,SAAS4oM,EAAShtO,EAAO,CACvB,OAAIA,IAAU,MAAQ,OAAOA,GAAU,UAAY,WAAYA,EACtDA,EAGL,OAAOA,GAAU,SACZ,CAACysO,EAAUzsO,CAAK,EAGlB,CAACA,CAAK,CACf,yDC3EAq4R,GAAiBrrL,EAEjB,IAAI4/H,EAAel4P,IAAA,EAEf+3P,EAAWG,EAAa,SACxBD,EAAOC,EAAa,KACpBF,EAAOE,EAAa,KAExB5/H,EAAM,SAAWy/H,EACjBz/H,EAAM,KAAO2/H,EACb3/H,EAAM,KAAO0/H,EAEb,SAAS1/H,EAAM4/F,EAAMroH,EAAMmqB,EAASl7B,EAAS,CACvC,OAAO+Q,GAAS,YAAc,OAAOmqB,GAAY,aACnDl7B,EAAUk7B,EACVA,EAAUnqB,EACVA,EAAO,MAGTqoJ,EAAahgC,EAAMroH,EAAM8oJ,EAAU75J,CAAO,EAE1C,SAAS65J,EAASv0N,EAAM+zN,EAAS,CAC/B,IAAIzvN,EAASyvN,EAAQA,EAAQ,OAAS,CAAC,EACnC3+N,EAAQkP,EAASA,EAAO,SAAS,QAAQtE,CAAI,EAAI,KACrD,OAAO41F,EAAQ51F,EAAM5K,EAAOkP,CAAM,CACtC,CACA,yDC1BA,IAAI4vF,EAAQt4H,IAA2B,EAEnC03H,EAAiB,OAAO,UAAU,eAClCqxL,EAAqB,CACvB,MAAO,aACP,OAAQ,iBACR,OAAQ,SACR,MAAO,OACR,EAEDC,GAAiB,SAAwB5kR,EAAM,CAC7C,OAAAk0F,EAAMl0F,EAAM,UAAW41F,CAAO,EACvB51F,CACR,EAED,SAAS41F,EAAQ51F,EAAM,CACrB,GAAI,EAAAA,EAAK,UAAY,MAAQA,EAAK,UAAY,MAAQA,EAAK,UAAY,MAIvE,KAAI6kR,EACAC,EACJ,IAAKD,KAAYF,EAEb,CAACrxL,EAAe,KAAKqxL,EAAoBE,CAAQ,GACjD7kR,EAAK,WAAW6kR,CAAQ,IAAM,SAIhCC,EAAUH,EAAmBE,CAAQ,EACrCE,EAAY/kR,EAAM8kR,EAAS9kR,EAAK,WAAW6kR,CAAQ,CAAC,EACpD,OAAO7kR,EAAK,WAAW6kR,CAAQ,GAEnC,CAEA,SAASE,EAAY/kR,EAAM+/D,EAAU74E,EAAO,CAC1C,IAAI83M,GAAah/L,EAAK,WAAW,OAAS,IAAI,KAAM,EAChDg/L,GAAa,CAAC,OAAO,KAAKA,CAAS,IACrCA,GAAa,KAEXA,IACFA,GAAa,KAEf,IAAIgmF,EAAYhmF,EAAYj/H,EAAW,KAAO74E,EAAQ,IACtD8Y,EAAK,WAAW,MAAQglR,CAC1B,yDC7CA,IAAIZ,EAAMxoT,IAAA,EACNqpT,EAAiB7oT,IAAA,EAErB8oT,GAAiBC,EAEjB,IAAI11F,EAAM,GAAG,eACTqc,EAAgB,IAAI,IAAI,CAC1B,QACA,QACA,QACA,QACA,KACA,KACA,IACD,GAGD,SAASq5E,EAAYt/R,EAAS,CAC5B,IAAI+2L,EAAW/2L,GAAW,GACtBgd,EAAgB+5K,EAAS,cAE7B,KAAK,SAAWuuC,EAEhB,SAASA,EAASnrN,EAAM,CACtB,IAAI/U,EAASm5R,EAAI1pT,EAAGuqT,EAAejlR,CAAI,EAAG48K,EAAS,MAAM,EAEzD,OAAI58K,EAAK,OAAS,QAEhB/U,EACEA,EAAO,OAAS,QACf+U,EAAK,SAAS,SAAW,GAAKA,EAAK,SAAS,CAAC,EAAE,OAAS,WACrD/U,EAAO,MAAM,SACb,CAACA,CAAM,EAEN4X,EAAc+5K,EAAS,UAAY,MAAO,CAAE,EAAE3xL,CAAM,GAGtDA,CACX,CAGE,SAASvwB,EAAEirB,EAAMub,EAAO/E,EAAU,CAChC,IAAIsH,EAAY9d,EAQhB,OAAIwW,GAAY2vM,EAAc,IAAInmN,CAAI,IACpCwW,EAAWA,EAAS,OAAO,SAAU6E,EAAO,CAC1C,OAAOA,IAAU;AAAA,CAClB,IAGC47K,EAAS,YAAc6S,EAAI,KAAK7S,EAAS,WAAYj3L,CAAI,IAC3D8d,EAAYm5K,EAAS,WAAWj3L,CAAI,EAEhCi3L,EAAS,WACX17K,EAAM,KAAO,OAIV2B,EAAcY,EAAWvC,EAAO/E,CAAQ,CACnD,CACA,2CC9DA,SAASmjF,IAAW,CAClB,OAAAA,GAAW,OAAO,QAAU,SAAU58F,EAAQ,CAC5C,QAASJ,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIke,EAAS,UAAUle,CAAC,EAExB,QAASK,KAAO6d,EACV,OAAO,UAAU,eAAe,KAAKA,EAAQ7d,CAAG,IAClDD,EAAOC,CAAG,EAAI6d,EAAO7d,CAAG,EAGlC,CAEI,OAAOD,CACR,EAEM48F,GAAS,MAAM,KAAM,SAAS,CACvC,CAiCA,IAAI8lM,IAAY,SAAmBC,EAAQ,CACzC,IAAIC,EAA4B,GAC5BC,EAAqBD,EAAM,mBAC3BE,EAAwBF,EAAM,sBAC9BG,EAAqBH,EAAM,mBAC3BI,EAAsBJ,EAAM,cAC5BpqD,EAAgBwqD,IAAwB,OAAS,GAAKA,EACtDC,EAAsBL,EAAM,cAC5BrqD,EAAgB0qD,IAAwB,OAAS,GAAKA,EACtDC,EAAgBN,EAAM,QACtB5yR,EAAUkzR,IAAkB,OAAS,UAAY,CAAE,EAAGA,EAEtDC,EAAYr/R,EAAQ,SAAC,IAAI,EACzBs/R,EAAeD,EAAU,CAAC,EAC1BE,EAAkBF,EAAU,CAAC,EAE7BG,EAAoBnhS,cAAY,SAAU2b,EAAQ,CACpD65N,IAAO,EAAG,IAAIvL,IAAay2D,CAAkB,EAAE,IAAIrqD,CAAa,EAAE,IAAI+qD,IAAgBT,CAAqB,EAAE,IAAIvqD,CAAa,EAAE,IAAIkqD,IAAa7lM,GAAS,CACxJ,cAAez8E,EAAa,cAC5B,SAAUiB,UAChB,EAAO2hR,CAAkB,CAAC,EAAE,QAAQjlR,CAAM,EAAE,KAAK,SAAUq4N,EAAO,CAC5D,OAAOktD,EAAgBltD,EAAM,MAAM,CACzC,CAAK,EAAE,MAASnmO,CAAO,CACpB,EAAE,EAAE,EACL,MAAO,CAACozR,EAAcE,CAAiB,CACzC,EC7EO,MAAM/wC,IAAiB9gE,GAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECMxB+xG,IAA2BvxG,EAAA,KACvC,CAAC,CACA,SAAAwgE,EAAW,GACX,IAAAxyP,EACA,WAAA00P,EACA,cAAAqe,CAAA,IAMK,CACL,KAAM,CAACp0P,EAAS22I,CAAU,EAAImtI,IAAU,EAClC,CAACe,EAAcC,CAAe,EAAI5/R,WAAS,EAAK,EAChDw7Q,EAAmB59Q,SAAuB,IAAI,EAC9C69Q,EAAU79Q,SAAuB,IAAI,EAE3CC,SAAA,UAAU,IAAM4zJ,EAAWk9F,CAAQ,EAAG,CAACA,EAAUl9F,CAAU,CAAC,EAE5D5zJ,YAAU,IAAM,CACX49Q,EAAQ,SAAWD,EAAiB,SACvCokB,EAAgBnkB,EAAQ,QAAQ,aAAeD,EAAiB,QAAQ,YAAY,CACrF,EACE,CAAC1gQ,CAAO,CAAC,SAGVy7H,IAAY,MAAMs6G,EAAY,aAAcqe,EAAe,UAAU,WACrE,UAACt5P,MAAA,OAAI,IAAK4lQ,EAAkB,UAAWnyN,GAAG,CAAE,eAAgB,CAACwnM,CAAY,GACxE,SAACj7O,MAAA,OAAI,IAAK6lQ,EACT,SAAA7lQ,MAAC64O,KAA0B,SAAN3zO,CAAA,EAAA3e,CAAc,EACpC,CACD,SACCu6I,IAAmB,SAAO,GAAC,UAAWrtF,GAAG,CAAE,OAAQ,CAACs2O,CAAc,GAClE,eAACvnM,GAAW,WAAU,UAAW,SAAay4J,EAAA,OAAS,OAAO,CAC/D,IACD,EAGH,EC7BagvC,IAAgB,CAAC,CAC7B,YAAAC,EACA,gBAAAC,EACA,UAAAr/K,EACA,sBAAAs/K,EACA,yBAAAC,CACD,IAA0B,OACnB,MAAE,EAAAztT,CAAE,EAAIsqE,GAAkB,EAE1BojP,EAAY,CACjBtqR,EAAA,IAACuqR,GAAA,CACA,aAAaz/K,GAAA,YAAAA,EAAW,iBAAkB,GAC1C,cAAeluI,EAAE,mCAAmC,EACpD,oBAAqBA,EAAE,6BAA6B,EACrD,EACAojC,EAAA,IAACuqR,GAAA,CACA,aAAaz/K,GAAA,YAAAA,EAAW,sBAAuB,GAC/C,cAAeluI,EAAE,wCAAwC,EACzD,oBAAqBA,EAAE,kCAAkC,EAC1D,EACAojC,EAAA,IAACuqR,GAAA,CACA,aAAaz/K,GAAA,YAAAA,EAAW,sBAAuB,GAC/C,cAAeluI,EAAE,wCAAwC,EACzD,oBAAqBA,EAAE,kCAAkC,EAC1D,EACA,OAAOkuI,GAAA,YAAAA,EAAW,YAAc,UAAYA,EAAU,UAAY,GAEhE2B,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,8BAA8B,EAAE,KAAC,EAAQ,KACzEisB,EAAAiiH,EAAU,YAAV,YAAAjiH,EAAqB,iBAAiB,WACxC,GAEDiiH,GAAA,YAAAA,EAAW,cAAe,QAAaA,EAAU,WAAa,GAE5D2B,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,+BAA+B,EAAE,KAAC,EAAQ,IAC1Eg6S,GAAY9rK,EAAU,UAAU,EAAE,gBACpC,GAEDA,GAAA,YAAAA,EAAW,eAAgB,QAAaA,EAAU,YAAc,GAE9D2B,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,gCAAgC,EAAE,KAAC,EAAQ,IAC3Eg6S,GAAY9rK,EAAU,WAAW,EAAE,gBACrC,GAEDA,GAAA,YAAAA,EAAW,sBAAuBA,EAAU,iBAE1C2B,OAAA/kG,WAAA,WAAC+kG,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,oCAAoC,EAAE,KAAC,EAAQ,IAC/Eg6S,GAAY9rK,EAAU,iBAAmB,CAAC,EAAE,gBAC9C,GAEDA,GAAA,YAAAA,EAAW,sBAAuBA,EAAU,kBAE1C2B,OAAA/kG,WAAA,WAAC+kG,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,qCAAqC,EAAE,KAAC,EAAQ,IAChFg6S,GAAY9rK,EAAU,kBAAoB,CAAC,EAAE,gBAC/C,EAEDo/K,IAAgB,UACdz9K,OAAA,QAAK,UAAU,SACd,UAAA09K,EAAgB,SAAS,aAAa,EACpCvtT,EAAE,2CAA2C,EAC7CA,EAAE,yCAA0C,CAC5C,MAAOutT,GAAmBA,EAAgB,SAAS,OAAO,EAAI,GAAK,EACnE,EAAG,IACNnqR,MAACwiF,IAAW,KAAK,gCAAgC,UAAU,UACzD,SAAA5lH,EAAE,0CAA0C,CAC9C,GACD,IAEA,OAAO,OAAO,EAEhB,OAEG6vI,EAAA,KAAA/kG,WAAA,YAAAojG,GAAA,YAAAA,EAAW,cACX9qG,EAAA,IAAC8pR,IAAA,CAEA,SAAUh/K,EAAU,YACpB,WAAYs/K,EACZ,cAAeC,CAAA,EAHX,aAIL,EAEArqR,EAAA,WAAI,UAAU,4CACb,WAAU,IAAI,CAAC7P,EAAM6I,IACpBgH,EAAA,WAAiB,SAAR7P,CAAA,EAAA6I,CAAa,CACvB,CACF,IACD,CAEF,EAEMuxR,GAAwB,CAAC,CAC9B,YAAAC,EACA,cAAAC,EACA,oBAAAC,CACD,IAKCj+K,EAAA,KAAC,OACA,UAAWh5D,GACV,sCACA+2O,EAAc,2BAA6B,6BAC5C,EACA,UAAAxqR,MAAC,QAAK,UAAWyzC,GAAG,UAAW+2O,EAAc,gBAAkB,WAAW,EAAG,EAC5EA,EAAcC,EAAgBC,CAAA,EAChC,ECnHYC,IAAkB,CAAC,CAAE,aAAA1hQ,EAAc,SAAAlpB,CAC/C,IAAA0sG,EAAA,KAAC,MAAI,WAAU,0DAA0D,cAAY,oBACpF,UAACA,OAAA,OAAI,UAAU,mCACd,UAACzsG,MAAA,OAAI,UAAU,uBAAwB,GACvCA,MAAC,OAAK,SAAaipB,CAAA,IACpB,EACClpB,CAAA,EACF,EC+BY6qR,GAAc,CAAC,CAC3B,eAAA9+K,EACA,OAAAtB,EACA,WAAAqgL,EACA,YAAAC,EACA,WAAAC,EACA,iBAAAhnP,EACA,yBAAAsxO,EACA,sBAAAjN,EACA,aAAAn/O,CACD,IAAwB,CACjB,MAAE,EAAArsD,CAAE,EAAIsqE,GAAkB,EAE1B,CAACy+E,EAAMC,CAAO,EAAIx7H,WAAS,EAAK,EAChC,CAACggS,EAAuBC,CAAwB,EAAIjgS,WAAS,EAAK,EAClE4gS,EAAgBhjS,SAAO,EAAK,EAC5BgpK,EAAiBhpK,SAAyB,IAAI,EAC9CijS,EAAmBjjS,SAA8B,IAAI,EACrDkjS,EAAkBljS,SAA8B,IAAI,EAEpDmjS,EAAWnhS,UAAQ,IAAM,CAC9B,MAAMgrR,EAAiBF,IAAatqK,EAAQzmE,EAAiB,YAAaqkO,CAAqB,EAE/F,OAAO,OAAO,KAAK4M,GAAkB,CAAE,GAAE,KAAK,CAAC53S,EAAGK,IAAML,EAAE,cAAcK,CAAC,CAAC,GACxE,CAAC+sI,EAAQzmE,EAAiB,YAAaqkO,CAAqB,CAAC,EAE1D,CAAE,GAAI+hB,EAAiB,KAAM1U,CAAkB,EAAItqK,GAAiBpnE,CAAgB,EAEpF,CAAC+sH,EAAaC,CAAc,EAAI3mK,WAAS,EAAE,EAE3C66J,EAAWx8J,EAAA,YACfqmG,GAAoB,CACfA,IAIL82B,EAAQ,EAAK,EACbyvJ,EAAyBwV,EAAY/7L,CAAO,EAGxCm8L,EAAiB,SACpB,aAAaA,EAAiB,OAAO,EAItCA,EAAiB,QAAU,WAAW,IAAMl6H,EAAe,EAAE,EAAG,GAAG,EACpE,EACA,CAAC85H,EAAYxV,CAAwB,CACtC,EAEM9vJ,EAAe98H,cAAak9H,GAAkB,CACnDC,EAAQD,CAAI,EAGPA,IAEAulK,EAAgB,SACnB,aAAaA,EAAgB,OAAO,EAIrCA,EAAgB,QAAU,WAAW,IAAMn6H,EAAe,EAAE,EAAG,GAAG,EAEpE,EAAG,EAAE,EAECwQ,EAAgB94K,cAAY,IAAM,OACvCsoK,EAAe,EAAE,GACjBloK,EAAAmoK,EAAe,UAAf,MAAAnoK,EAAwB,OACzB,EAAG,EAAE,EAELZ,mBAAU,IAAM,CACf,GAAI,CAACkiS,GAAmB,CAACa,EAAc,QAAS,CAC/C,MAAMlwK,EAAeqwK,EAAS,SAAShB,CAAe,EAAIA,EAAkBr+K,EAC5EupK,EAAyBwV,EAAY/vK,CAAY,EAGlDkwK,EAAc,QAAU,IACtB,CAACG,EAAU9V,EAA0BwV,EAAYV,EAAiBr+K,CAAc,CAAC,EAGpF7jH,YAAU,IACF,IAAM,CACRgjS,EAAiB,SACpB,aAAaA,EAAiB,OAAO,EAElCC,EAAgB,SACnB,aAAaA,EAAgB,OAAO,CAEtC,EACE,EAAE,EAGL76H,GAAa1qC,EAAM,IAAMC,EAAQ,EAAK,CAAC,EAIrCnZ,EAAA,KAAA/kG,WAAA,WAAA+kG,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,4BAA4B,EAAE,EAC3E6vI,OAAC8gD,GAAQ,MAAA5nC,EAAY,aAAAJ,EACpB,UAACvlH,MAAA+tJ,GAAA,CAAe,QAAO,GACtB,SAAAthD,EAAA,KAAC1hC,GAAA,CACA,QAAQ,WACR,KAAK,WACL,gBAAe46C,EACf,UAAU,yBACV,cAAY,sBACZ,UAAA3lH,EAAA,IAAC,MAAK,UAAAmqR,GAAmBvtT,EAAE,wBAAwB,EAAE,EACrDojC,MAACg+H,IAAe,WAAU,YAAa,MAEzC,EACCh+H,MAAAkuJ,GAAA,CAAe,UAAU,6CACzB,gBAAC/pB,GACA,WAAC13B,OAAA,OAAI,UAAU,WACd,UAAAzsG,EAAA,IAACqkI,GAAA,CACA,IAAK2sB,EACL,MAAOF,EACP,cAAeC,EACf,YAAan0L,EAAE,wCAAwC,EACvD,UAAU,WACV,cAAY,cACb,EACCk0L,EAAY,OAAS,GACpB9wJ,EAAA,WAAI,UAAU,mEACd,SAAAA,EAAA,IAAC3gC,GAAA,CACA,UAAU,wFACV,QAASkiM,CAAA,EAEX,IAEF,SACCj9B,GACA,WAACtkI,MAAAukI,GAAA,CACC,YACCvkI,EAAA,WAAI,UAAU,oBACb,SAAApjC,EAAE,mCAAmC,EACvC,CAEF,GACCojC,EAAA,IAAAwkI,GAAA,CACC,SAAS2mJ,EAAA,IAAK5hC,GACd98I,EAAA,KAACi4B,GAAA,CAEA,MAAO6kH,EACP,SAAAtkG,EACA,cAAa,gBAAgBskG,CAAK,GACjC,UAAAA,EACDvpP,EAAA,IAAC69H,GAAA,CACA,UAAWpqF,GACV,uBACA81M,IAAU4gC,EAAkB,cAAgB,YAC7C,EACD,GAVK5gC,CAAA,CAYN,CACF,IACD,EACCz4F,GAAe,CAACq6H,EAAS,SAASr6H,CAAW,GAC5C9wJ,MAAA,OAAI,UAAU,0CACd,SAACA,EAAA,IAAA0kI,GAAA,CAAY,cAAY,mBAAmB,MAAOosB,EAAa,SAAA7L,EAC9D,SAAEroL,EAAA,sCAAuC,CAAE,QAASk0L,CAAa,EACnE,EACD,IAEF,CACD,GACD,IACD,EACC7nI,GAAiBjpB,EAAA,IAAA2qR,IAAA,CAAgB,aAAA1hQ,CAA4B,GAC7DkhQ,GAAmB1U,GACnBz1Q,EAAA,IAACiqR,IAAA,CACA,YAAalmP,EAAiB,YAC9B,gBAAAomP,EACA,UAAW1U,EACX,sBAAA2U,EACA,yBAAAC,CAAA,CACD,EAEDrqR,MAAC,MAAI,WAAU,4CACd,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,sCACR,WAAY,CACX,YAAchI,EAAA,IAAAwiF,GAAA,CAAW,KAAMuoM,EAAY,UAAU,UAAU,EAC/D,uBAAmBvoM,GAAW,SAAS,IAAMyiE,EAASn5C,CAAc,EAAG,UAAU,SAAU,EAC5F,EACA,OAAQ,CAAE,YAAAg/K,EAAa,eAAAh/K,CAAe,GAExC,IACD,CAEF,ECnNas/K,IAAQ,CAAC,CACrB,iBAAArnP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,UAAAirK,EACA,sBAAApO,EACA,qBAAAijB,CACD,IAAkB,CACX,MAAE,EAAAzuT,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,cAAe,GACxC,KAAK,WACL,QAASstN,EAAkB,aAAa,EACxC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,gCAAgC,CAAE,GAChF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,oBAClBkxO,GAAiB,MAAMwB,IAAgBD,CAAS,EAAG,MAAO,CAAE,MAAO,MAAO,EAAG,WAAW,UACvF,SAAA55S,EAAE,mCAAmC,EACvC,EAEDojC,EAAA,IAAC4qR,GAAA,CACA,iBAAA7mP,EACA,yBAAAsxO,EACA,eAAgBr2O,GAChB,QAAQusE,GAAA,YAAAA,EAAc,QAAS,CAAC,EAChC,WAAW,eACX,YAAY,QACZ,WAAW,0BACX,sBAAA68J,EACA,aAAcijB,CAAA,EACf,EACD,CAEF,EC5DaC,IAAO,CAAC,CAAE,iBAAAvnP,EAAkB,yBAAAsxO,KAA0C,CAC5E,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,aAAc,GACvC,KAAK,WACL,QAASstN,EAAkB,YAAY,EACvC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,+BAA+B,CAAE,GAC/E,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,aAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,gCAAgC,WAAW,YAChE,SAAEr4S,EAAA,kCAAkC,CACtC,IAEF,CAEF,ECVa2uT,IAAc,CAAC,CAAE,iBAAAxnP,EAAkB,yBAAAsxO,KAAiD,CAC1F,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAC1B,CAACsjE,EAAQghL,CAAS,EAAIphS,WAA6B,EAAE,EACrD,CAACqhS,EAASC,CAAU,EAAIthS,WAAS,EAAK,EACtC,CAACuhS,EAAkBC,CAAmB,EAAIxhS,EAAA,UAC/C25C,GAAA,YAAAA,EAAkB,+BAAgC,MACnD,EAEMstN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAGAptR,YAAU,IAAM,CACfyjS,EAAW,EAAI,EACfjpP,GAAO,YAAY,CAAE,KAAM,2BAA4B,CACxD,EAAG,EAAE,EAGC,MAAAq4M,EAAYryP,cAAamB,GAAwB,CACtD,MAAM4+B,EAA4B5+B,EAAM,KAExC,OAAQ4+B,EAAQ,KAAM,CACrB,IAAK,oBACMgjQ,EAAAhjQ,EAAQ,mBAAqB,EAAE,EACzCkjQ,EAAW,EAAK,EAChB,MAEH,EAAG,EAAE,EAELpiS,GAAS,UAAWwxP,CAAS,EAGvB,MAAA+wC,EAAerhL,EAAO,KAAM/rI,GAAMA,EAAE,MAAOslE,GAAA,YAAAA,EAAkB,mBAAkB,EAC/E+nP,EAAqB9hS,EAAQ,aAAM6hS,GAAA,YAAAA,EAAc,YAAa,GAAI,CAACA,GAAA,YAAAA,EAAc,SAAS,CAAC,EAGjG5jS,YAAU,IAAM,CACX,GAAA4jS,GAAgBC,EAAmB,OAAS,EAAG,CAClD,MAAMC,EAAgBhoP,GAAA,YAAAA,EAAkB,6BACxC,GAAIgoP,EAEHH,EAAoBG,CAAa,UAG7B,CADoBD,EAAmB,KAAMpvT,GAAMA,EAAE,WAAaivT,CAAgB,EAChE,CAErB,MAAMK,EAAkB,OACxBJ,EAAoBI,CAAe,EACnC3W,EAAyB,+BAAgC2W,CAAe,EAE1E,CACD,EACE,CACFH,EACAC,EACAH,EACA5nP,GAAA,YAAAA,EAAkB,6BAClBsxO,CAAA,CACA,EAEK,MAAA4W,EAAqBn9L,GAAoB,CAC9CumL,EAAyB,qBAAsBvmL,CAAO,EAEtD,MAAMk9L,EAAkB,OACxBJ,EAAoBI,CAAe,EACnC3W,EAAyB,+BAAgC2W,CAAe,CACzE,EAEME,EAAwB9gL,GAAqB,CAClDwgL,EAAoBxgL,CAAQ,EAC5BiqK,EAAyB,+BAAgCjqK,CAAQ,CAClE,EAGM+gL,EAAsB/gL,IACa,CACvC,UAAW,YACX,eAAgB,YAChB,SAAU,cACV,OAAQ,mBACR,WAAY,aACZ,OAAQ,SACR,OAAQ,SACR,eAAgB,mBAChB,UAAW,WACZ,GACeA,CAAQ,GAAKA,EAAS,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAS,MAAM,CAAC,EAI1EghL,EAAkBpiS,UAAQ,IAC3B,CAAC6hS,GAAgB,CAACF,GAAoBA,IAAqB,OAAe,KACvEE,EAAa,UAAU,KAAMnvT,GAAMA,EAAE,WAAaivT,CAAgB,EACvE,CAACE,EAAcF,CAAgB,CAAC,EAG7BU,EAAoBriS,UAAQ,IAAM,OACnC,IAAC6hS,EAAqB,YAI1B,MAAMS,EAAiB,GAGjB3oB,GACLyoB,GAAA,YAAAA,EAAiB,mBAAkBvjS,EAAAgjS,EAAa,UAAU,KAAMnvT,GAAMA,EAAE,cAAc,IAAnD,YAAAmsB,EAAsD,gBACpF0jS,GAAgBH,GAAA,YAAAA,EAAiB,iBAAkBP,EAAa,UAAU,KAAMnvT,GAAMA,EAAE,cAAc,EAErG,OACN,eAAA4vT,EACA,UAAA3oB,EACA,cAAA4oB,CACD,GACE,CAACV,EAAcO,CAAe,CAAC,EAElC,OAEE3/K,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,oBAAqB,GAC9C,KAAK,WACL,QAASstN,EAAkB,mBAAmB,EAC9C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,sCAAsC,CAAE,GACtF,QAEC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EAEC,EAACmnE,GAAA,MAAAA,EAAkB,oBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,yCAAyC,WAAW,YACzE,SAAEr4S,EAAA,yCAAyC,CAC7C,GAGD6vI,OAAC,MAAI,WAAU,sBACd,UAACA,OAAA,SAAM,UAAU,4BACf,UAAA7vI,EAAE,uCAAuC,EACzC6uT,GACCzrR,MAAA,QAAK,UAAU,6BAA8B,SAAApjC,EAAE,uCAAuC,EAAE,EAEzF,CAAC6uT,GACAzrR,EAAA,YAAK,UAAU,6BACd,SAAEpjC,EAAA,4CAA6C,CAAE,MAAO4tI,EAAO,MAAQ,EACzE,IAEF,EAEAxqG,EAAA,IAACywJ,GAAA,CACA,OAAO1sH,GAAA,YAAAA,EAAkB,qBAAsB,GAC/C,cAAekoP,EACf,QAASzhL,EAAO,IACd++I,IAAmC,CACnC,MAAOA,EAAM,GACb,MAAOA,EAAM,EACd,EACD,EACA,YAAa3sR,EAAE,2CAA2C,EAC1D,kBAAmBA,EAAE,4CAA4C,EACjE,aAAcA,EAAE,6CAA6C,EAC7D,SAAU6uT,CAAA,EACX,EACD,EAECI,GAAgBC,EAAmB,OAAS,GAC3Cr/K,OAAA,OAAI,UAAU,sBACd,UAAAzsG,MAAC,QAAM,WAAU,4BAA6B,SAAApjC,EAAE,wCAAwC,EAAE,EAC1FojC,EAAA,IAACywJ,GAAA,CACA,MAAOk7H,EACP,cAAeO,EACf,QAAS,CACR,CAAE,MAAO,OAAQ,MAAOtvT,EAAE,4CAA4C,CAAE,EACxE,GAAGkvT,EAAmB,IACpB3nO,IAAqC,CACrC,MAAOA,EAAQ,SACf,MAAO,GAAGgoO,EAAmBhoO,EAAQ,QAAQ,CAAC,KAAKA,EAAQ,MAAM,GAClE,GAEF,EACA,YAAavnF,EAAE,8CAA8C,EAC7D,kBAAmBA,EAAE,+CAA+C,EACpE,aAAcA,EAAE,gDAAgD,GACjE,EACD,EAIAivT,GAAgBQ,GACf5/K,OAAA,OAAI,UAAU,4CACd,UAAAA,EAAA,KAAC,OACA,UAAWh5D,GACV,sCACA44O,EAAkB,eACf,2BACA,6BACJ,EACA,UAAArsR,EAAA,IAAC,QACA,UAAWyzC,GAAG,UAAW44O,EAAkB,eAAiB,gBAAkB,WAAW,EAC1F,EACCA,EAAkB,eAChBzvT,EAAE,mCAAmC,EACrCA,EAAE,6BAA6B,GACnC,EACCyvT,EAAkB,WAClB5/K,OAAC,MACA,WAACA,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,8BAA8B,EAAE,KAAC,EAAQ,IACzEyvT,EAAkB,UAAU,eAAe,EAAE,WAC/C,GAEAD,GAAA,YAAAA,EAAiB,UAEhB3/K,OAAA/kG,EAAA,oBAAA+kG,OAAC,MACA,WAACA,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,+BAA+B,EAAE,KAAC,EAAQ,IAC1Eg6S,GAAYwV,EAAgB,QAAQ,KAAK,EAAE,gBAC7C,SACC,MACA,WAAC3/K,OAAA,QAAK,UAAU,cAAe,UAAA7vI,EAAE,gCAAgC,EAAE,KAAC,EAAQ,IAC3Eg6S,GAAYwV,EAAgB,QAAQ,MAAM,EAAE,eAC9C,GACD,GAEF,IAEF,CAEF,EC5PaI,IAAW,CAAC,CAAE,iBAAAzoP,EAAkB,yBAAAsxO,KAA8C,CACpF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACukE,EAAgBghL,CAAiB,EAAIriS,WAAsB,EAAE,EAC9DmhH,EAAelY,GAAgB,EAE/Bg+J,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEMv6B,EAAYryP,cAAamB,GAAwB,CACtD,MAAM4+B,EAA4B5+B,EAAM,KAExC,OAAQ4+B,EAAQ,KAAM,CACrB,IAAK,iBACJ,CACO,MAAAkkQ,EAAYlkQ,EAAQ,gBAAkB,CAAC,EAC7CikQ,EAAkBC,CAAS,EAE5B,MAEH,EAAG,EAAE,EAELpjS,GAAS,UAAWwxP,CAAS,EAG7B7yP,YAAU,IAAM,CAEfw6C,GAAO,YAAY,CAAE,KAAM,wBAAyB,CACrD,EAAG,EAAE,EAGC,MAAAkqP,EAAoB3iS,UAAQ,IAAM,OACvC,MAAM4iS,EAAgB7oP,GAAA,YAAAA,EAAkB,gBAIxC,MAHI,CAAC6oP,GAGD,OAAO,KAAKnhL,CAAc,EAAE,OAAS,GAAKmhL,KAAiBnhL,EACvD,IAIJ5iH,EAAA0iH,EAAa,OAAb,MAAA1iH,EAAmB,SAGf,CAFiB,OAAO,KAAK0iH,EAAa,KAAK,QAAQ,EAEtC,SAASqhL,CAAa,EAIxC,IACL,CAAC7oP,GAAA,YAAAA,EAAkB,gBAAiBwnE,EAAa,KAAME,CAAc,CAAC,EAGnEohL,EAAyB7iS,UAAQ,IAAM,OAC5C,MAAM8iS,EAAa/oP,GAAA,YAAAA,EAAkB,qBAIrC,MAHI,CAAC+oP,GAGD,OAAO,KAAKrhL,CAAc,EAAE,OAAS,GAAKqhL,KAAcrhL,EACpD,IAIJ5iH,EAAA0iH,EAAa,OAAb,MAAA1iH,EAAmB,SAGf,CAFiB,OAAO,KAAK0iH,EAAa,KAAK,QAAQ,EAEtC,SAASuhL,CAAU,EAIrC,IACL,CAAC/oP,GAAA,YAAAA,EAAkB,qBAAsBwnE,EAAa,KAAME,CAAc,CAAC,EAE9E,OAEEgB,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,KAAK,MACL,QAASstN,EAAkB,iBAAiB,EAC5C,YAAaz0R,EAAE,+BAA+B,EAC9C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,qCAAqC,CAAE,GACrF,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,QAASstN,EAAkB,iBAAiB,EAC5C,YAAaz0R,EAAE,wCAAwC,EACvD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,qCAAqC,CAAE,GACrF,EACC+vT,SACC,MAAI,WAAU,0DACd,SAAClgL,OAAA,OAAI,UAAU,mCACd,UAACzsG,MAAA,OAAI,UAAU,uBAAwB,GACvCA,MAAC,OACC,SAAEpjC,EAAA,wCAAyC,CAAE,QAASmnE,GAAA,YAAAA,EAAkB,eAAgB,CAAC,CAC3F,IACD,CACD,GAEA,OAAO,KAAK0nE,CAAc,EAAE,OAAS,GACrCzrG,EAAA,IAAC+iF,GAAA,CACA,QACEh/C,GAAA,YAAAA,EAAkB,kBAAmB,MAAO0nE,EAC1C1nE,GAAA,YAAAA,EAAkB,gBAClB,GAEJ,SAAUstN,EAAkB,iBAAiB,EAC5C,gBAAO,KAAK5lJ,CAAc,EAAE,IAAK89I,GACjCvpP,MAAC8iF,GAAwB,OAAOymK,EAAO,SAASxlN,GAAA,YAAAA,EAAkB,mBAAoBwlN,EACpF,SAAAA,CAAA,EADgBA,CAElB,CACA,EACF,EAEDvpP,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,sCAAuC,GAClE,SAAWo3F,GAAY,CACtBk6I,EAAyB,qCAAsCl6I,CAAO,CACvE,EACC,WAAE,iDAAiD,EACrD,GACCp3F,GAAA,YAAAA,EAAkB,qCAEjB0oE,OAAA/kG,EAAA,oBAAA+kG,OAAC,MACA,WAAAzsG,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,uBAAwB,GACjD,QAASstN,EAAkB,sBAAsB,EACjD,YAAaz0R,EAAE,6CAA6C,EAC5D,UAAU,SACV,eAAC,QAAM,WAAU,yBACf,SAAAA,EAAE,0CAA0C,CAC9C,GACD,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,4CAA4C,EAChD,EACCiwT,SACC,MAAI,WAAU,+DACd,SAACpgL,OAAA,OAAI,UAAU,mCACd,UAACzsG,MAAA,OAAI,UAAU,uBAAwB,GACvCA,MAAC,MACC,UAAApjC,EAAE,wCAAyC,CAC3C,QAASmnE,GAAA,YAAAA,EAAkB,qBAC3B,CACF,IACD,CACD,IAEF,EACC,OAAO,KAAK0nE,CAAc,EAAE,OAAS,GAEpCgB,EAAA,KAAA/kG,WAAA,WAAA1H,MAAC,MAAI,WAAU,cAAe,SAAApjC,EAAE,8CAA8C,EAAE,EAChFojC,EAAA,IAAC+iF,GAAA,CACA,QACEh/C,GAAA,YAAAA,EAAkB,uBAAwB,MAAO0nE,EAC/C1nE,GAAA,YAAAA,EAAkB,qBAClB,GAEJ,SAAUstN,EAAkB,sBAAsB,EACjD,SAAO,YAAK5lJ,CAAc,EAAE,IAAK89I,GAChCvpP,MAAA8iF,GAAA,CAAmC,MAAOymK,EACzC,SAAAA,CAAA,EADgB,SAASA,CAAK,EAEhC,CACA,EACF,EACC,OAAO,KAAK99I,CAAc,EAAE,SAAW,GACvCzrG,EAAA,IAAC,OACA,UAAU,yBACV,MAAO,CACN,gBAAiB,+CACjB,OAAQ,qDACR,MAAO,8CACR,EACC,WAAE,2CAA2C,GAC/C,CAEF,IAEF,EAEDA,MAAC,MAAI,WAAU,4CACd,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,0CACR,WAAY,CACX,EAAGhI,MAACwiF,GAAW,MAAK,0BAA2B,GAC/C,EAAGxiF,MAACwiF,GAAW,MAAK,wCAAyC,GAC7D,KACExiF,MAAA,QAAK,UAAU,mCACf,eAAC,OAAK,WAAU,cAAc,gBAAK,EACpC,GAEF,EAEF,IACD,CAEF,EC/Ma+sR,IAAU,CAAC,CAAE,iBAAAhpP,EAAkB,yBAAAsxO,KAA6C,OAClF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,KAAK,WACL,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,OAAK,WAAU,cAAe,SAAAA,EAAE,kCAAkC,CAAE,GACtE,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,gBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,8BAA8B,WAAW,YAC9D,SAAEr4S,EAAA,qCAAqC,CACzC,MAECisB,EAAAk7C,GAAA,YAAAA,EAAkB,aAAlB,YAAAl7C,EAA8B,WAAW,gBACzC,EAACk7C,GAAA,MAAAA,EAAkB,aAAc3E,GAAsB,WAAW,YAAY,IAE9EqtE,EAAA,KAAA/kG,EAAA,oBAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,sBAAuB,GAChD,KAAK,MACL,QAASstN,EAAkB,qBAAqB,EAChD,YAAY,+BACZ,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAz0R,EAAE,qCAAqC,CAAE,GACrF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,yCAAyC,CAC7C,GACD,IAEF,CAEF,ECpDaowT,IAAW,CAAC,CAAE,iBAAAjpP,EAAkB,yBAAAsxO,KAA8C,CACpF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA+kG,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,oCAAoC,EAAE,EACnF6vI,EAAA,KAAClqB,GAAA,CACA,MAAOx+C,EAAiB,gBACxB,SAAUstN,EAAkB,iBAAiB,EAC7C,UAAW59M,GAAG,QAAQ,EACtB,UAAAzzC,MAACyiF,GAAa,OAAM,6BAA6B,UAAU,MAAM,SAEjE,0BACCA,GAAa,OAAM,6BAA6B,UAAU,MAAM,SAEjE,sBACD,EACD,SACC,MACA,WAAAziF,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,iBAAkB,GAC3C,KAAK,WACL,QAASstN,EAAkB,gBAAgB,EAC3C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,GACnF,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,iBACnB/jC,EAAA,IAACi1Q,GAAA,CACA,KACClxO,EAAiB,kBAAoB,6BAClC,gDACA,gDAEJ,WAAW,YACV,WAAE,sCAAsC,GAC1C,CAEF,IACD,CAEF,ECrDakpP,IAAS,CAAC,CAAE,iBAAAlpP,EAAkB,yBAAAsxO,KAA4C,CAChF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACgmP,EAAcC,CAAe,EAAI/iS,WAAmB,EAAE,EACvDmhH,EAAelY,GAAgB,EAE/Bg+J,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEMv6B,EAAYryP,cAAamB,GAAwB,CACtD,MAAM4+B,EAA4B5+B,EAAM,KAExC,OAAQ4+B,EAAQ,KAAM,CACrB,IAAK,eACJ,CACO,MAAAkkQ,EAAYlkQ,EAAQ,cAAgB,CAAC,EAC3C2kQ,EAAgBT,CAAS,EAE1B,MAEH,EAAG,EAAE,EAELpjS,GAAS,UAAWwxP,CAAS,EAG7B7yP,YAAU,IAAM,CAEfw6C,GAAO,YAAY,CAAE,KAAM,sBAAuB,CACnD,EAAG,EAAE,EAGC,MAAAkqP,EAAoB3iS,UAAQ,IAAM,OACvC,MAAM4iS,EAAgB7oP,GAAA,YAAAA,EAAkB,cAIxC,MAHI,CAAC6oP,GAGDM,EAAa,OAAS,GAAKA,EAAa,SAASN,CAAa,EAC1D,IAIJ/jS,EAAA0iH,EAAa,OAAb,MAAA1iH,EAAmB,OAGf,CAFiB,OAAO,KAAK0iH,EAAa,KAAK,MAAM,EAEpC,SAASqhL,CAAa,EAIxC,IACL,CAAC7oP,GAAA,YAAAA,EAAkB,cAAewnE,EAAa,KAAM2hL,CAAY,CAAC,EAErE,OAEEzgL,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,KAAK,MACL,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,6BAA6B,EAC5C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,GACnF,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,sCAAsC,EACrD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,GACnF,EACC+vT,SACC,MAAI,WAAU,0DACd,SAAClgL,OAAA,OAAI,UAAU,mCACd,UAACzsG,MAAA,OAAI,UAAU,uBAAwB,GACvCA,MAAC,OACC,SAAEpjC,EAAA,wCAAyC,CAAE,QAASmnE,GAAA,YAAAA,EAAkB,aAAc,CAAC,CACzF,IACD,CACD,GAEAmpP,EAAa,OAAS,GACtBltR,EAAA,IAAC+iF,GAAA,CACA,MACCmqM,EAAa,UAASnpP,GAAA,YAAAA,EAAkB,gBAAiB,EAAE,EACxDA,GAAA,YAAAA,EAAkB,cAClB,GAEJ,SAAUstN,EAAkB,eAAe,EAC1C,SAAa67B,EAAA,IAAK3jC,SACjBzmK,GAAwB,OAAOymK,EAAO,SAASxlN,GAAA,YAAAA,EAAkB,iBAAkBwlN,EAClF,SAAAA,CAAA,EADgBA,CAElB,CACA,EACF,EAED98I,OAAC,MAAI,WAAU,4CACb,UAAA7vI,EAAE,uCAAuC,QACzC,OAAK,WAAU,mCAAoC,SAAAA,EAAE,mCAAmC,CAAE,GAC5F,IACD,CAEF,EC9GawwT,IAAS,CAAC,CAAE,iBAAArpP,EAAkB,yBAAAsxO,KAA4C,CAChF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACmmP,EAA6BC,CAA8B,EAAIljS,EAAA,SACrE,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,oBACrB,EAEMstN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAAC+tE,GAAA,CACA,QAASs/M,EACT,SAAWlyJ,GAAqB,CAC/BmyJ,EAA+BnyJ,CAAO,EAEjCA,GACJk6I,EAAyB,sBAAuB,EAAE,CAEpD,EACC,WAAE,qCAAqC,EACzC,EACCgY,GAECrtR,EAAA,IAAA0H,WAAA,UAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,sBAAuB,GAChD,KAAK,MACL,QAASstN,EAAkB,qBAAqB,EAChD,YAAY,4BACZ,UAAU,gBAEZ,EAEDrxP,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,qBAAsB,GAC/C,KAAK,WACL,QAASstN,EAAkB,oBAAoB,EAC/C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,iCAAiC,CAAE,GACjF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,qBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,uCAAuC,WAAW,YACvE,SAAEr4S,EAAA,oCAAoC,CACxC,IAEF,CAEF,ECnEa2wT,IAAkB,CAAC,CAAE,SAAA5gS,EAAU,sBAAA6gS,KAAkD,CACvF,MAAE,EAAA5wT,CAAE,EAAIsqE,GAAkB,EAEhC,cACE,MACA,WAAAlnC,MAAC,OAAI,UAAU,0BACd,SAACA,EAAA,IAAA+tE,GAAA,CAAS,QAASy/M,EAAuB,SAAA7gS,EACzC,SAACqT,MAAA,QAAK,UAAU,cAAe,SAAApjC,EAAE,mCAAmC,EAAE,CACvE,GACD,QACC,IAAE,WAAU,iDACX,SAAAA,EAAE,uCAAuC,CAC3C,IACD,CAEF,ECRa6wT,IAAiB,CAAC,CAAE,iBAAA1pP,EAAkB,yBAAAsxO,EAA0B,UAAAvqK,KAAqC,CAC3G,MAAE,EAAAluI,CAAE,EAAIsqE,GAAkB,EAE1BwmP,EAA6B,CAAC,CAAC5iL,GAAaA,EAAU,wBACtD6iL,EAA4B,CAAC,CAAC7iL,GAAaA,EAAU,wBACrD8iL,EAA6B,CAAC,CAAC9iL,GAAaA,EAAU,wBAEtD+iL,EAAwB9pP,EAAiB,sBACzC+pP,EAAwB/pP,EAAiB,gBAAkB69N,GAC3DmsB,EACLhqP,EAAiB,wBAA0B89N,IAItCmsB,EAAyBljL,GAAA,MAAAA,EAAW,kBACvC,KAAK,IAAIA,EAAU,kBAAmB,KAAK,MAAM,GAAMgjL,CAAqB,CAAC,EAC7E,KAAK,MAAM,GAAMA,CAAqB,EAWzC,OANA7lS,YAAU,IAAM,CACXylS,GAA8BK,EAA0BC,GAC3D3Y,EAAyB,yBAA0B2Y,CAAsB,GAExE,CAACN,EAA4BK,EAAyBC,EAAwB3Y,CAAwB,CAAC,EAErGvqK,EAIE4iL,GAAgC5iL,EAAU,UAE9C2B,OAAA/kG,WAAA,YAACimR,GACD3tR,MAAC,MAAI,WAAU,sBACd,SAAAA,EAAA,IAAC+tE,GAAA,CACA,QAAS8/M,EACT,SAAW1yJ,GACVk6I,EAAyB,wBAAyBl6I,IAAY,EAAI,EAElE,WAAE,iCAAiC,IAEtC,GAECwyJ,GAA6BE,IAE7BphL,EAAA,KAAA/kG,EAAA,oBAAC+kG,OAAA,OAAI,UAAU,sBACd,UAAAzsG,MAAC,MAAI,WAAU,cAAe,SAAApjC,EAAE,mCAAmC,EAAE,EACrE6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,KACL,IAAK,KAAK,IACTznD,EAAU,WAAa,KACvBgjL,EACAlsB,EACD,EACA,KAAM,KACN,MAAO,CAACksB,CAAqB,EAC7B,cAAe,CAAC,CAAChjS,CAAK,IAAMuqR,EAAyB,iBAAkBvqR,CAAK,EAC7E,EACCkV,EAAA,WAAI,UAAU,2BAA4B,SAAsB8tR,CAAA,GAClE,IACD,EACArhL,OAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC,MAAI,WAAU,cAAe,SAAApjC,EAAE,2CAA2C,EAAE,EAC5E6vI,EAAA,YAAI,UAAU,0BAA0B,cAAY,mBACpD,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,KACL,IAAKy7H,EACL,KAAM,KACN,MAAO,CAACD,CAAuB,EAC/B,cAAe,CAAC,CAACjjS,CAAK,IAAMuqR,EAAyB,yBAA0BvqR,CAAK,EACrF,EACCkV,EAAA,WAAI,UAAU,2BAA4B,SAAwB+tR,CAAA,GACpE,GACD,GACD,IAEF,EACGH,EACHnhL,OAAC,OAAI,UAAU,sBAAsB,cAAY,mBAChD,UAACzsG,EAAA,WAAI,UAAU,oCACd,SAACA,MAAA,SAAM,UAAU,yBAA0B,SAAApjC,EAAE,0CAA0C,CAAE,GAC1F,EACA6vI,EAAA,KAACn3B,GAAA,CACA,MAAOvxC,EAAiB,gBACxB,cAAgBj5C,GAAUuqR,EAAyB,kBAAmBvqR,CAAwB,EAC9F,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,SACC+nM,GACC,UAAAxuI,IAAiB,IAAKrrC,GACrBkV,MAAA2qK,GAAA,CAAuB,MAAA7/K,EACtB,SAAAluB,EAAE,sCAAsCkuB,CAAK,EAAE,CADhC,EAAAA,CAEjB,CACA,CACF,KACD,EACD,EACG,KAvEI,IAwET,ECpFamjS,IAAmB,CAAC,CAChC,iBAAAlqP,EACA,yBAAAsxO,EACA,sBAAAjN,EACA,qBAAAijB,CACD,IAA6B,+CACtB,MAAE,EAAAzuT,CAAE,EAAIsqE,GAAkB,EAE1B,CAACgnP,EAAyBC,CAA0B,EAAI/jS,WAAS,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,gBAAe,EACpG,CAACqqP,EAA4BC,CAA6B,EAAIjkS,WAAS,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,mBAAkB,EAE7G,CAACuqP,EAAcC,CAAe,EAAInkS,WAA2C,IAAI,EAEjF,CAACokS,EAAeC,CAAgB,EAAIrkS,WAA6B,IAAM,CACtE,MAAA+/D,GAAUpmB,GAAA,YAAAA,EAAkB,gBAAiB,CAAC,EAC7C,cAAO,QAAQomB,CAAO,EAC7B,EAEKukO,EAAwBjmS,cAAY,IAAM,CAE9BgmS,EAAC3zQ,GAAS,CAAC,GAAGA,EAAM,CAAC,GAAI,EAAE,CAAC,CAAC,CAE/C,EAAG,EAAE,EAEC6zQ,EAAwBlmS,cAAY,CAACuQ,EAAe41R,KAAmB,CAC5EH,EAAkB3zQ,IAAS,CACpB,MAAAstO,EAAU,CAAC,GAAGttO,EAAI,EAEpB,OAAAstO,EAAQpvP,CAAK,IACRovP,EAAApvP,CAAK,EAAI,CAAC41R,GAAQxmC,EAAQpvP,CAAK,EAAE,CAAC,CAAC,GAGrCovP,CAAA,CACP,CACF,EAAG,EAAE,EAECymC,EAA0BpmS,cAAY,CAACuQ,EAAemT,KAAqB,CAChFsiR,EAAkB3zQ,IAAS,CACpB,MAAAstO,EAAU,CAAC,GAAGttO,EAAI,EAEpB,OAAAstO,EAAQpvP,CAAK,IACRovP,EAAApvP,CAAK,EAAI,CAACovP,EAAQpvP,CAAK,EAAE,CAAC,EAAGmT,EAAQ,GAGvCi8O,CAAA,CACP,CACF,EAAG,EAAE,EAEC0mC,EAA2BrmS,cAAauQ,GAAkB,CAC9Cy1R,EAAC3zQ,IAASA,GAAK,OAAO,CAACpsB,GAAGxI,IAAMA,IAAM8S,CAAK,CAAC,CAC9D,EAAG,EAAE,EAKL/Q,YAAU,IAAM,CACT,MAAA04G,EAAQ,WAAW,IAAM,CACxB,MAAAouL,GAAetb,GAAuB+a,CAAa,EACzDnZ,EAAyB,gBAAiB0Z,EAAY,GACpD,GAAG,EAEC,UAAM,aAAapuL,CAAK,GAC7B,CAAC6tL,EAAenZ,CAAwB,CAAC,EAE5C,MAAMhkB,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,GAA+CqpP,KAE9CvrR,IAAqB,CACIyrR,EAAA91Q,EAAOusB,GAAUliC,EAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEMv6B,EAAYryP,cAAamB,GAAwB,CACtD,MAAM4+B,GAA4B5+B,EAAM,KAExC,OAAQ4+B,GAAQ,KAAM,CACrB,IAAK,eAAgB,CACd,MAAAwmQ,GAAgBxmQ,GAAQ,cAAgB,CAAC,EAC/B+lQ,EAAA,OAAO,YAAYS,GAAc,IAAK7+R,GAAS,CAACA,EAAMuvC,EAA2B,CAAC,CAAC,CAAC,EACpG,MACD,CAEF,EAAG,EAAE,EAEL,OAAAp2C,GAAS,UAAWwxP,CAAS,EAI3BruI,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,KAAK,MACL,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,+BAA+B,EAC9C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,kCAAkC,CAAE,GAClF,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,KAAK,WACL,QAASstN,EAAkB,cAAc,EACzC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,2BAA2B,CAAE,GAC3E,EACAojC,EAAA,IAAC4qR,GAAA,CACA,iBAAA7mP,EACA,yBAAAsxO,EACA,eAAe,SACf,OAAQiZ,EACR,WAAW,gBACX,YAAY,SACZ,WAAW,8BACX,sBAAAlmB,EACA,aAAcijB,CAAA,CACf,EACArrR,EAAA,IAACutR,IAAA,CACA,SAAUl8B,EAAkB,wBAAyB6jB,EAAW,EAChE,uBAAuBnxO,GAAA,YAAAA,EAAkB,wBAAyB,GACnE,QACC,MACA,UAAA/jC,EAAA,IAAC+tE,GAAA,CACA,QAASqgN,EACT,SAAWjzJ,GAAqB,CAC/BkzJ,EAA8BlzJ,CAAO,EACrCk6I,EAAyB,qBAAsBl6I,CAAO,CACvD,EACC,WAAE,oCAAoC,IAEzC,EACAn7H,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,yBAA0B,GACrD,SAAUstN,EAAkB,yBAA0B6jB,EAAW,EAChE,WAAE,oCAAoC,EACxC,SACC,MACA,WAAAl1Q,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,mBAAoB,GAC/C,SAAUstN,EAAkB,mBAAoB6jB,EAAW,EAC1D,WAAE,iCAAiC,EACrC,QACC,MAAI,WAAU,iDACb,SAAAt4S,EAAE,4CAA4C,CAChD,IACD,EACAojC,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,iBAAkB,GAC7C,SAAUstN,EAAkB,iBAAkB6jB,EAAW,EACxD,WAAE,6BAA6B,EACjC,SACC,MACA,WAAAl1Q,EAAA,IAAC+tE,GAAA,CACA,QAASmgN,EACT,SAAW/yJ,GAAqB,CAC/BgzJ,EAA2BhzJ,CAAO,EAE7BA,GACJk6I,EAAyB,kBAAmB,EAAE,CAEhD,EACC,WAAE,oCAAoC,EACxC,EACC6Y,GACAluR,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,QAASstN,EAAkB,iBAAiB,EAC5C,YAAa,YAAY1xN,GAA4B,GACrD,UAAU,eACX,EAEF,EAGA8sE,OAAC,MAAI,WAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,QAAM,WAAU,oBAAqB,SAAApjC,EAAE,kCAAkC,EAAE,QAC3EmlM,GAAgB,SAASnlM,EAAE,qBAAqB,EAChD,SAACojC,MAAAqiF,GAAA,CAAa,WAAW,OAAO,QAASqsM,EACxC,SAAA1uR,EAAA,IAAC,QAAK,UAAU,sBAAsB,EACvC,CACD,IACD,EACEwuR,EAAc,OAKfA,EAAc,IAAI,CAAC,CAACjoS,EAAKuE,EAAK,EAAGkO,KAChCyzG,EAAA,KAAC,MAAgB,WAAU,yBAC1B,UAAAzsG,EAAA,IAACijF,GAAA,CACA,MAAO18F,EACP,UAAU,cACV,YAAa3pB,EAAE,+BAA+B,EAC9C,QAAUc,GAAWixT,EAAsB31R,GAAOt7B,EAAE,OAAO,KAAK,EACjE,EACAsiC,EAAA,IAACijF,GAAA,CACA,MAAAn4F,GACA,UAAU,cACV,YAAaluB,EAAE,gCAAgC,EAC/C,QAAUc,GAAWmxT,EAAwB71R,GAAOt7B,EAAE,OAAO,KAAK,EACnE,EACAsiC,MAAC+hK,IAAgB,QAASnlM,EAAE,wBAAwB,EACnD,SAAAojC,EAAA,IAACqiF,IAAa,WAAW,OAAO,QAAS,IAAMysM,EAAyB91R,EAAK,EAC5E,SAAAgH,MAAC,QAAK,UAAU,uBAAwB,EACzC,EACD,KAjBShH,EAkBV,CACA,EAxBDgH,EAAA,IAAC,OAAI,UAAU,4CACb,SAAEpjC,EAAA,oCAAoC,CACxC,EAsBC,EAEH,EAEA6vI,OAAC,MAAI,WAAU,sBACd,UAAAzsG,EAAA,IAAC+tE,GAAA,CACA,QAAShqC,EAAiB,uBAAyB,GACnD,SAAWo3F,GAAqB,CAG/B,GAFAk6I,EAAyB,wBAAyBl6I,CAAO,EAErD,CAACA,EAAS,CACb,KAAM,CAAE,gBAAiBzsI,GAAG,GAAGugS,EAAsB,EACpDlrP,EAAiB,uBAAyBrE,GAE3C21O,EAAyB,wBAAyB4Z,EAAqB,EAEzE,EACC,WAAE,sCAAsC,EAC1C,EACC,CAAC,CAAClrP,EAAiB,uBACnB/jC,EAAA,IAACytR,IAAA,CACA,iBAAkB,CACjB,GAAG1pP,EACH,iBAAiBl7C,EAAAk7C,EAAiB,wBAAjB,YAAAl7C,EAAwC,eAC1D,EACA,yBAA0B,CAAC0W,EAAOzU,KAAU,CAC3C,GAAIyU,IAAU,kBAAmB,CAC1B,MAAA0vR,GACLlrP,EAAiB,uBAAyBrE,GAE3C21O,EAAyB,wBAAyB,CACjD,GAAG4Z,GACH,gBAAiBnkS,EAAA,CACjB,EAEH,EACA,UAAW,CACV,GAAIi5C,EAAiB,uBAAyBrE,GAC9C,wBAAyB,GAC1B,EACD,EAEF,EACA+sE,OAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC,MAAI,WAAU,gEACb,SAAApjC,EAAE,6CAA6C,EACjD,SAEC,MACA,WAAAojC,EAAA,IAACijF,GAAA,CACA,QACC33F,GAAAD,EAAA04C,GAAA,YAAAA,EAAkB,wBAAlB,YAAA14C,EAAyC,YAAzC,YAAAC,EAAoD,eACpDE,EAAAk0C,GAA4B,YAA5B,YAAAl0C,EAAuC,aACvC,GAED,KAAK,OACL,MAAO,CACN,aAAc,IAAM,QACb,MAAAV,GAAQjC,GAAAk7C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAl7C,GAAyC,UAEvD,OAAKiC,EAIEA,EAAQ,EAAI,6BAA+B,gCAH1C,4BAIN,IACJ,EACA,QAASumQ,EAAkB,wBAA0B3zR,GAAM,CAC1D,MAAMotB,GAAQ,SAAUptB,EAAE,OAA4B,KAAK,EAEpD,OACN,IAAIqmE,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,UAAW,MAAM50C,EAAK,EAAI,OAAYA,EACvC,EACA,EACD,YAAaluB,EAAE,yCAAyC,EACxD,UAAU,SACV,eAAC,QAAM,WAAU,yBACf,SAAAA,EAAE,gDAAgD,CACpD,GACD,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,sDAAsD,CAC1D,IACD,SAEC,MACA,WAAAojC,EAAA,IAACijF,GAAA,CACA,QACCvrF,GAAAhM,EAAAq4C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAr4C,EAAyC,gBAAzC,YAAAgM,EAAwD,eACxDE,EAAA8nC,GAA4B,gBAA5B,YAAA9nC,EAA2C,aAC3C,GAED,KAAK,OACL,MAAO,CACN,aAAc,IAAM,QACb,MAAA9M,GAAQjC,GAAAk7C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAl7C,GAAyC,cAEvD,OAAKiC,EAIEA,EAAQ,EAAI,6BAA+B,gCAH1C,4BAIN,IACJ,EACA,QAASumQ,EAAkB,wBAA0B3zR,GAAM,CACpD,MAAAotB,GAASptB,EAAE,OAA4B,MACvCu/H,GAAS,SAASnyG,EAAK,EAEtB,OACN,IAAIi5C,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,cAAe,MAAMu9D,EAAM,EAAIv9D,GAA4B,cAAgBu9D,EAC5E,EACA,EACD,YAAargI,EAAE,6CAA6C,EAC5D,UAAU,SACV,eAAC,QAAM,WAAU,yBACf,SAAAA,EAAE,oDAAoD,CACxD,GACD,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,0DAA0D,CAC9D,IACD,SAEC,MACA,WAAC6vI,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAAC+tE,GAAA,CACA,UACCp2E,EAAAosC,GAAA,YAAAA,EAAkB,wBAAlB,YAAApsC,EAAyC,iBACzC+nC,GAA4B,eAE7B,SAAU2xN,EAAkB,wBAA0Bl2H,IAC9C,CACN,IAAIp3F,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,eAAgBy7F,CACjB,EACA,EACD,eAAC,OAAK,WAAU,cACd,SAAAv+J,EAAE,mDAAmD,CACvD,GACD,EACCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,yDAAyD,EACpF,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAE5B,IACD,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,yDAAyD,CAC7D,IACD,SAEC,MACA,WAAC6vI,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAAC+tE,GAAA,CACA,UAAS3mF,EAAA28C,GAAA,YAAAA,EAAkB,wBAAlB,YAAA38C,EAAyC,sBAAuB,GACzE,SAAUiqQ,EAAkB,wBAA0Bl2H,IAC9C,CACN,IAAIp3F,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,oBAAqBy7F,CACtB,EACA,EACD,eAAC,OAAK,WAAU,cAAe,SAAAv+J,EAAE,kDAAkD,CAAE,GACtF,EACCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,wDAAwD,EACnF,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAE5B,IACD,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,wDAAwD,CAC5D,IACD,SAEC,MACA,WAAC6vI,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAAC+tE,GAAA,CACA,UAASl2E,EAAAksC,GAAA,YAAAA,EAAkB,wBAAlB,YAAAlsC,EAAyC,sBAAuB,GACzE,SAAUw5P,EAAkB,wBAA0Bl2H,IAC9C,CACN,IAAIp3F,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,oBAAqBy7F,CACtB,EACA,EACD,eAAC,OAAK,WAAU,cAAe,SAAAv+J,EAAE,kDAAkD,CAAE,GACtF,EACCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,wDAAwD,EACnF,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAE5B,IACD,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,wDAAwD,CAC5D,IACD,QAEC,MACA,UAAAojC,EAAA,IAACijF,GAAA,CACA,QACCnrF,GAAAC,EAAAgsC,GAAA,YAAAA,EAAkB,wBAAlB,YAAAhsC,EAAyC,aAAzC,YAAAD,EAAqD,eACrDG,EAAAynC,GAA4B,aAA5B,YAAAznC,EAAwC,aACxC,GAED,KAAK,OACL,MAAO,CACN,aAAc,IAAM,QACb,MAAAnN,GAAQjC,GAAAk7C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAl7C,GAAyC,WAEnD,OAACiC,GAASA,IAAU,EAChB,6BAGDA,GAAS,EAAI,6BAA+B,+BACjD,IACJ,EACA,SAAUumQ,EAAkB,wBAA0B3zR,GAAM,CACrD,MAAAotB,GAASptB,EAAE,OAA4B,MACvCu/H,GAAS,WAAWnyG,EAAK,EAExB,OACN,IAAIi5C,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,WAAY,MAAMu9D,EAAM,EAAIv9D,GAA4B,WAAau9D,EACtE,EACA,EACD,YAAargI,EAAE,0CAA0C,EACzD,UAAU,SACV,SAAA6vI,EAAA,KAAC,MAAI,WAAU,0BACd,UAAAzsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,oDAAoD,EACxD,EACCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,0DAA0D,EACrF,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAE5B,GACD,KAEF,QAEC,MACA,UAAAA,EAAA,IAACijF,GAAA,CACA,QACC9qF,GAAAH,EAAA+rC,GAAA,YAAAA,EAAkB,wBAAlB,YAAA/rC,EAAyC,cAAzC,YAAAG,EAAsD,eACtDD,EAAAwnC,GAA4B,cAA5B,YAAAxnC,EAAyC,aACzC,GAED,KAAK,OACL,MAAO,CACN,aAAc,IAAM,QACb,MAAApN,GAAQjC,GAAAk7C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAl7C,GAAyC,YAEnD,OAACiC,GAASA,IAAU,EAChB,6BAGDA,GAAS,EAAI,6BAA+B,+BACjD,IACJ,EACA,SAAUumQ,EAAkB,wBAA0B3zR,GAAM,CACrD,MAAAotB,GAASptB,EAAE,OAA4B,MACvCu/H,GAAS,WAAWnyG,EAAK,EAExB,OACN,IAAIi5C,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,YAAa,MAAMu9D,EAAM,EAAIv9D,GAA4B,YAAcu9D,EACxE,EACA,EACD,YAAargI,EAAE,2CAA2C,EAC1D,UAAU,SACV,SAAA6vI,EAAA,KAAC,MAAI,WAAU,0BACd,UAAAzsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,qDAAqD,EACzD,EACCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,2DAA2D,EACtF,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAE5B,GACD,KAEF,IAEC3H,EAAA0rC,GAAA,YAAAA,EAAkB,wBAAlB,YAAA1rC,EAAyC,sBAExCo0G,EAAA,KAAA/kG,EAAA,oBAAA1H,MAAC,MACA,UAAAA,EAAA,IAACijF,GAAA,CACA,QAAO1qF,GAAAH,EAAA2rC,GAAA,YAAAA,EAAkB,wBAAlB,YAAA3rC,EAAyC,kBAAzC,YAAAG,EAA0D,aAAc,IAC/E,KAAK,OACL,MAAO,CACN,aAAc,IAAM,QACb,MAAAzN,GAAQjC,GAAAk7C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAl7C,GAAyC,gBAEnD,OAACiC,GAASA,IAAU,EAChB,6BAGDA,GAAS,EACb,6BACA,+BACD,IACJ,EACA,SAAUumQ,EAAkB,wBAA0B3zR,GAAM,CACrD,MAAAotB,GAASptB,EAAE,OAA4B,MACvCu/H,GAAS,WAAWnyG,EAAK,EAExB,OACN,IAAIi5C,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,gBAAiB,MAAMu9D,EAAM,EAAI,EAAIA,EACtC,EACA,EACD,YAAargI,EAAE,0CAA0C,EACzD,UAAU,SACV,SAAA6vI,EAAA,KAAC,MAAI,WAAU,0BACd,UAAAzsG,MAAC,OAAK,WAAU,cACd,SAAApjC,EAAE,yDAAyD,EAC7D,EACAojC,EAAA,IAAC+hK,GAAA,CACA,QAASnlM,EAAE,+DAA+D,EAC1E,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAC3B,EACD,CACD,KAEF,QACC,MACA,UAAAA,EAAA,IAACijF,GAAA,CACA,QAAOisM,GAAA52R,EAAAyrC,GAAA,YAAAA,EAAkB,wBAAlB,YAAAzrC,EAAyC,mBAAzC,YAAA42R,EAA2D,aAAc,IAChF,KAAK,OACL,MAAO,CACN,aAAc,IAAM,QACb,MAAApkS,GAAQjC,GAAAk7C,GAAA,YAAAA,EAAkB,wBAAlB,YAAAl7C,GAAyC,iBAEnD,OAACiC,GAASA,IAAU,EAChB,6BAGDA,GAAS,EACb,6BACA,+BACD,IACJ,EACA,SAAUumQ,EAAkB,wBAA0B3zR,GAAM,CACrD,MAAAotB,GAASptB,EAAE,OAA4B,MACvCu/H,GAAS,WAAWnyG,EAAK,EAExB,OACN,IAAIi5C,GAAA,YAAAA,EAAkB,wBAAyBrE,GAC/C,iBAAkB,MAAMu9D,EAAM,EAAI,EAAIA,EACvC,EACA,EACD,YAAargI,EAAE,+CAA+C,EAC9D,UAAU,SACV,SAAA6vI,EAAA,KAAC,MAAI,WAAU,0BACd,UAAAzsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,0DAA0D,EAC9D,EACAojC,EAAA,IAAC+hK,GAAA,CACA,QAASnlM,EAAE,gEAAgE,EAC3E,SAAAojC,EAAA,IAAC,KACA,UAAU,yDACV,MAAO,CAAE,SAAU,MAAO,GAC3B,EACD,CACD,IAEF,IACD,EAGDA,EAAA,IAAC+qE,GAAA,CACA,QAAQ,YACR,QAAS,IAAMsqM,EAAyB,wBAAyB31O,EAA2B,EAC3F,WAAE,8CAA8C,GAClD,CACD,IACD,CAEF,EC/mBMyvP,IAA0B14P,GAAS,CACxC,KAAMA,GAAS,CACd,MAAOI,GAAS,EAChB,MAAOH,GAAS,EAChB,aAAcC,GAAU,EACxB,oBAAqBA,GAAU,EAC/B,WAAYF,GAAS,CACpB,SAAUC,GAAS,EACnB,SAAUG,GAAS,EACnB,EACD,MAAOH,GAAS,EAAE,SAAS,CAC3B,EACF,CAAC,EAID,eAAe04P,IAAqB90O,EAAiB0R,EAAkB,CAClE,IAAC1R,EAAe,YAEhB,IAIG,MAAA+0O,EAAc,GAFDrjO,GAAW,8BAEG,OAE3BH,EAAW,MAAMi+C,GAAM,IAAIulL,EAAa,CAC7C,QAAS,CACR,cAAe,UAAU/0O,CAAM,GAChC,CACA,EAEKzrD,EAASsgS,IAAwB,UAAUtjO,EAAS,IAAI,EAC1D,OAACh9D,EAAO,QAKLA,EAAO,KAAK,MAJV,cAAM,6CAA8CA,EAAO,KAAK,EACjE,YAIA+E,EAAO,CACP,qBAAM,sCAAuCA,CAAK,EACnD,KAET,CAGO,MAAM07R,IAAuB,CAACh1O,EAAiB0R,EAAkBviE,IAChEiY,GAAmC,CACzC,SAAU,CAAC,sBAAuB44C,EAAQ0R,CAAO,EACjD,QAAS,IAAMojO,IAAqB90O,EAAQ0R,CAAO,EACnD,UAAW,GAAK,IAChB,QAAS,CAAC,CAAC1R,EACX,GAAG7wD,CAAA,CACH,ECrDW8lS,IAA2B,CAAC,CAAE,OAAAj1O,EAAQ,QAAA0R,KAAoD,CACtG,KAAM,CAAE,KAAMwjO,CAAA,EAAYF,IAAqBh1O,EAAQ0R,CAAO,EAE9D,GAAI,CAACwjO,GAAW,CAACA,EAAQ,MACjB,YAGR,MAAMC,GAAoBD,EAAQ,MAAQA,EAAQ,OAAO,QAAQ,CAAC,EAElE,OACE/iL,OAAAjqB,GAAA,CAAW,KAAK,sCAAsC,UAAU,yCAAyC,cACvGitM,CAAA,EACH,CAEF,ECWaC,IAAa,CAAC,CAC1B,iBAAA3rP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,UAAAirK,EACA,gBAAAJ,EACA,sBAAAhO,EACA,qBAAAijB,CACD,IAAuB,CAChB,MAAE,EAAAzuT,CAAE,EAAIsqE,GAAkB,EAE1B,CAACyoP,EAA2BC,CAA4B,EAAIxlS,WAAS,CAAC,EAAC25C,GAAA,MAAAA,EAAkB,kBAAiB,EAE1GstN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,mBAAoB,GAC7C,KAAK,WACL,QAASstN,EAAkB,kBAAkB,EAC7C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,SAAA6vI,EAAA,KAAC,MAAI,WAAU,yCACd,UAAAzsG,MAAC,QAAM,WAAU,oBAAqB,SAAApjC,EAAE,qCAAqC,EAAE,GAC9EmnE,GAAA,YAAAA,EAAkB,mBAClB/jC,EAAA,IAACuvR,IAAA,CACA,OAAQxrP,EAAiB,iBACzB,QAASA,EAAiB,mBAC3B,CAEF,GACD,QACC,MAAI,WAAU,kDACb,SAAAnnE,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,yBAClBkxO,GAAiB,MAAMyB,IAAqBF,CAAS,EAAG,MAAO,CAAE,MAAO,MAAO,EAAG,WAAW,UAC5F,SAAA55S,EAAE,wCAAwC,EAC5C,EAEA,CAACw5S,GAEA3pK,OAAA/kG,EAAA,oBAAA+kG,OAAC,MACA,WAAAzsG,EAAA,IAAC+tE,GAAA,CACA,QAAS4hN,EACT,SAAWx0J,GAAqB,CAC/By0J,EAA6Bz0J,CAAO,EAE/BA,GACJk6I,EAAyB,oBAAqB,EAAE,CAElD,EACC,WAAE,qCAAqC,EACzC,EACCsa,GACA3vR,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,oBAAqB,GAC9C,KAAK,MACL,QAASstN,EAAkB,mBAAmB,EAC9C,YAAY,wCACZ,UAAU,eACX,EAEF,EACArxP,EAAA,IAAC+tE,GAAA,CACA,SAAShqC,GAAA,YAAAA,EAAkB,kCAAmC,GAC9D,SAAUstN,EAAkB,kCAAmC6jB,EAAW,EAC1E,SAAAl1Q,EAAA,IAACgI,GAAA,CACA,QAAQ,8CACR,WAAY,CACX,EAAGhI,MAAC,IAAE,MAAK,uCAAwC,GACpD,EACD,EACD,EACD,EAEDA,EAAA,IAAC4qR,GAAA,CACA,iBAAA7mP,EACA,yBAAAsxO,EACA,eAAgBz1O,GAChB,QAAQ2rE,GAAA,YAAAA,EAAc,aAAc,CAAC,EACrC,WAAW,oBACX,YAAY,aACZ,WAAW,+BACX,sBAAA68J,EACA,aAAcijB,CAAA,EACf,EACD,CAEF,EC5HMwE,IAAwBp5P,GAAS,CACtC,KAAMI,GAAS,EACf,cAAeA,GAAS,EACxB,cAAeA,GAAS,EACxB,YAAaA,GAAS,EACtB,OAAQJ,GAAS,CAChB,QAASQ,GAASJ,KAAYqG,IAAE,CAAK,EAAE,SAAS,CAChD,EACF,CAAC,EAID,eAAe4yP,IAAmBx1O,EAAiB,CAC9C,IAACA,EAAe,YAEhB,IACH,MAAMuR,EAAW,MAAMi+C,GAAM,IAAI,mCAAoC,CACpE,QAAS,CACR,cAAe,UAAUxvD,CAAM,GAC/B,eAAgB,mBACjB,CACA,EAEKzrD,EAASghS,IAAsB,UAAUhkO,EAAS,IAAI,EACxD,OAACh9D,EAAO,QAKLA,EAAO,MAJL,cAAM,2CAA4CA,EAAO,KAAK,EAC/D,YAIA+E,EAAO,CACP,qBAAM,oCAAqCA,CAAK,EACjD,KAET,CAGa,MAAAm8R,IAAqB,CAACz1O,EAAiB7wD,IAC5CiY,GAAiC,CACvC,SAAU,CAAC,oBAAqB44C,CAAM,EACtC,QAAS,IAAMw1O,IAAmBx1O,CAAM,EACxC,UAAW,GAAK,IAChB,QAAS,CAAC,CAACA,EACX,GAAG7wD,CAAA,CACH,EC5CWumS,IAAyB,CAAC,CAAE,OAAA11O,KAAiC,CACzE,KAAM,CAAE,KAAMk1O,GAAYO,IAAmBz1O,CAAM,EAEnD,GAAI,CAACk1O,EACG,YAKF,MAAAC,EADU,WAAWD,EAAQ,WAAW,EACb,QAAQ,CAAC,EAE1C,OACE/iL,OAAAjqB,GAAA,CAAW,KAAK,mCAAmC,UAAU,yCAAyC,cACpGitM,CAAA,EACH,CAEF,ECKaQ,IAAW,CAAC,CACxB,iBAAAlsP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,oBAAA2kL,EACA,sBAAA9nB,EACA,qBAAAijB,CACD,IAAqB,CACd,MAAE,EAAAzuT,CAAE,EAAIsqE,GAAkB,EAE1B,CAACipP,EAAYC,CAAa,EAAIhmS,WAAkB,EAEhDinQ,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,iBAAkB,GAC3C,KAAK,WACL,QAASstN,EAAkB,gBAAgB,EAC3C,YAAaz0R,EAAE,sCAAsC,EACrD,UAAU,SACV,SAAA6vI,EAAA,KAAC,MAAI,WAAU,yCACd,UAAAzsG,MAAC,QAAM,WAAU,oBAAqB,SAAApjC,EAAE,mCAAmC,EAAE,GAC5EmnE,GAAA,YAAAA,EAAkB,iBAClB/jC,MAACgwR,IAAuB,QAAQjsP,EAAiB,cAAgB,GAEnE,GACD,QACC,MAAI,WAAU,kDACb,SAAAnnE,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,iBACnB/jC,EAAA,IAACi1Q,GAAA,CACA,KAAK,mCACL,MAAO,CAAE,MAAO,MAAO,EACvB,WAAW,UACV,WAAE,sCAAsC,EAC1C,EAEDj1Q,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,QAAS,IAAM,CACdtoC,GAAO,YAAY,CAAE,KAAM,oBAAqB,KAAM,WAAY,EAC9CytP,EAAA,EACpBE,EAAc,EAAI,CACnB,EACA,SAAA3jL,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA,QAAK,UAAU,yBAA0B,GACzCpjC,EAAE,wCAAwC,EAC5C,GACD,EACCuzT,GACCnwR,MAAA,OAAI,UAAU,gDACb,SAAApjC,EAAE,uCAAuC,EAC3C,EAEDojC,EAAA,IAAC4qR,GAAA,CACA,iBAAA7mP,EACA,yBAAAsxO,EACA,eAAgBx1O,GAChB,QAAQ0rE,GAAA,YAAAA,EAAc,WAAY,CAAC,EACnC,WAAW,kBACX,YAAY,WACZ,WAAW,sBACX,sBAAA68J,EACA,aAAcijB,CAAA,EACf,EACD,CAEF,ECzFagF,IAAY,CAAC,CAAE,iBAAAtsP,EAAkB,yBAAAsxO,KAA+C,CACtF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,KAAK,WACL,QAASstN,EAAkB,iBAAiB,EAC5C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,oCAAoC,CAAE,GACpF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,kBACnB/jC,EAAA,IAACi1Q,GAAA,CACA,KAAK,+FACL,WAAW,YACV,WAAE,uCAAuC,GAC3C,EAEF,CAEF,EC3Baqb,IAAU,CAAC,CACvB,iBAAAvsP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,sBAAA68J,EACA,qBAAAijB,CACD,IAAoB,CACb,MAAE,EAAAzuT,CAAE,EAAIsqE,GAAkB,EAC1B,CAACipP,EAAYC,CAAa,EAAIhmS,WAAkB,EAChD,CAACmmS,EAAcC,CAAe,EAAIpmS,WAAkB,EAAK,EACzDwV,EAAcD,GAAe,EAG7B8wR,EAAqBzoS,SAAuB,EAC5C0oS,EAAqB1oS,SAAuB,EAE5CqpQ,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEMsb,EAAoBloS,cAAY,SAAY,CACjDg6C,GAAO,YAAY,CAClB,KAAM,yBACN,KAAM,UACN,iBAAAsB,CAAA,CACA,EAED,MAAM6sP,EAAqB,IAAI,QAAc,CAAC/gS,EAASoC,IAAW,CAC3D,MAAA06D,EAAY,WAAW,IAAM,CAC3B,2BAAoB,UAAWsiM,CAAc,EAC7Ch9P,EAAA,IAAI,MAAM,kCAAkC,CAAC,GAClD,GAAK,EAEFg9P,EAAkBrlQ,GAAwB,CAC/BA,EAAM,KACV,OAAS,UACpB,aAAa+iE,CAAS,EACf,2BAAoB,UAAWsiM,CAAc,EAC5Cp/P,EAAA,EAEV,EACO,wBAAiB,UAAWo/P,CAAc,EACjD,EAEG,IACG,MAAA2hC,QACEh9R,EAAO,CACP,cAAM,gCAAiCA,CAAK,EACrD,EACE,CAACmwC,CAAgB,CAAC,EAEf8sP,EAAgBpoS,cAAY,SAAY,OAC7Cg6C,GAAO,YAAY,CAAE,KAAM,oBAAqB,KAAM,UAAW,EAEjE,MAAMquP,EAAgB,IAAI,QAAejhS,GAAY,CAC9C,MAAAo/P,EAAkBrlQ,GAAwB,CAC/BA,EAAM,KACV,OAAS,iBACb,2BAAoB,UAAWqlQ,CAAc,EAC5Cp/P,EAAA,EAEV,EACO,wBAAiB,UAAWo/P,CAAc,EACjD,EAEDxsN,GAAO,YAAY,CAAE,KAAM,sBAAuB,EAE5C,MAAAquP,EAEN,MAAMlxR,EAAY,kBAAkB,CAAE,SAAU,CAAC,cAAc,EAAG,EAIlE,MAAMovR,GAAgBnmS,EAAA+W,EAAY,aAAwC,CAAC,cAAc,CAAC,IAApE,YAAA/W,EAAuE,QAC7F,GAAImmS,GAAiB,OAAO,KAAKA,CAAa,EAAE,OAAS,EAAG,CAC3D,MAAM+B,EAAiBhtP,GAAA,YAAAA,EAAkB,eACnCitP,EAAcD,GAAkB,OAAO,UAAU,eAAe,KAAK/B,EAAe+B,CAAc,EAEpG,IAACA,GAAkB,CAACC,EAAa,CACpC,MAAMC,EAAwB,OAAO,KAAKjC,CAAa,EAAE,CAAC,EAC1D3Z,EAAyB,iBAAkB4b,CAAqB,EACjE,CAGG,SAACjC,GAAiB,OAAO,KAAKA,CAAa,EAAE,SAAS,OAAO,EAK/D,GAACpvR,EAAamkC,EAAkBsxO,CAAwB,CAAC,EAEtD7pB,EAAgB/iQ,cAAY,SAAY,CAC7C,MAAMkoS,EAAkB,EACI,MAAME,EAAc,GAG/CT,EAAc,EAAI,EAClBK,EAAmB,QAAU,WAAW,IAAML,EAAc,EAAK,EAAG,GAAI,IAExEI,EAAgB,EAAI,EACpBE,EAAmB,QAAU,WAAW,IAAMF,EAAgB,EAAK,EAAG,GAAI,EAC3E,EACE,CAACG,EAAmBE,CAAa,CAAC,EAErC,OAEEpkL,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,KAAK,WACL,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,kCAAkC,CAAE,GAClF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,gBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,gCAAgC,WAAW,YAChE,SAAEr4S,EAAA,qCAAqC,CACzC,GAEAojC,MAAA,OAAI,UAAU,mBACd,eAAC+qE,GAAO,SAAQ,UAAU,QAASygL,EAAe,UAAU,iBAC3D,SAAC/+I,OAAA,OAAI,UAAU,yCACd,UAACzsG,MAAA,QAAK,UAAU,yBAA0B,GACzCpjC,EAAE,wCAAwC,EAC5C,EACD,GACD,EACCuzT,GACCnwR,MAAA,OAAI,UAAU,6CACb,SAAApjC,EAAE,gDAAgD,EACpD,EAEA2zT,GACCvwR,MAAA,OAAI,UAAU,gDACb,SAAApjC,EAAE,yCAAyC,EAC7C,EAEDojC,EAAA,IAAC4qR,GAAA,CACA,iBAAA7mP,EACA,eAAgB/D,GAChB,QAAQurE,GAAA,YAAAA,EAAc,UAAW,CAAC,EAClC,WAAW,iBACX,YAAY,UACZ,WAAW,mCACX,yBAAA8pK,EACA,sBAAAjN,EACA,aAAcijB,CAAA,EACf,EACD,CAEF,ECzKa6F,IAAS,CAAC,CAAE,iBAAAntP,EAAkB,yBAAAsxO,KAA4C,CAChF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,UAAU,4CACd,UAACzsG,EAAA,WAAK,SAAEpjC,EAAA,2CAA2C,CAAE,SACpD,MACA,UAAAojC,EAAA,IAACwiF,GAAA,CACA,KAAK,mGACL,UAAU,UACT,WAAE,2CAA2C,IAEhD,QACC,MACA,UAAAxiF,EAAA,IAACwiF,GAAA,CACA,KAAK,kFACL,UAAU,UACT,WAAE,2CAA2C,IAEhD,QACC,MACA,UAAAxiF,EAAA,IAACwiF,GAAA,CACA,KAAK,0FACL,UAAU,UACT,WAAE,2CAA2C,GAEhD,IACD,EACAxiF,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,wBAAyB,GAClD,QAASstN,EAAkB,uBAAuB,EAClD,YAAaz0R,EAAE,uCAAuC,EACtD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,2CAA2C,CAAE,GAC3F,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,mCAAmC,EAClD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,uCAAuC,CAAE,GACvF,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,QAASstN,EAAkB,iBAAiB,EAC5C,YAAaz0R,EAAE,iCAAiC,EAChD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,yCAAyC,CAAE,GACzF,SACC,MACA,WAAAojC,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,sCAAsC,EAAE,EACrF6vI,EAAA,KAACn3B,GAAA,CACA,OAAOvxC,GAAA,YAAAA,EAAkB,eAAgB,GACzC,cAAgBj5C,GAAUuqR,EAAyB,eAAgBvqR,CAAK,EACxE,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,GACCojC,EAAA,IAAA2kK,GAAA,CACC,SAAexkI,IAAA,IAAI,CAAC,CAAE,MAAAr1C,EAAO,MAAAw2F,CAAM,UAClCqpF,GAAuB,OAAA7/K,EACtB,SADew2F,CAAA,EAAAx2F,CAEjB,CACA,CACF,KACD,CACD,IACD,CAEF,EC7EaqmS,IAAW,CAAC,CAAE,iBAAAptP,EAAkB,yBAAAsxO,KAA8C,CACpF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1B,CAACkqP,EAAgBC,CAAiB,EAAIjnS,WAAsC,EAAE,EAE9EinQ,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEMv6B,EAAYryP,cAAamB,GAAwB,CACtD,MAAM4+B,EAA4B5+B,EAAM,KAExC,OAAQ4+B,EAAQ,KAAM,CACrB,IAAK,iBACJ,CACO,MAAAkkQ,EAAYlkQ,EAAQ,gBAAkB,CAAC,EAC7C6oQ,EAAkB3E,CAAS,EAE5B,MAEH,EAAG,EAAE,EAEL,OAAApjS,GAAS,UAAWwxP,CAAS,EAI3BruI,EAAA,KAAA/kG,WAAA,WAAA+kG,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,kCAAkC,EAAE,EAChFw0T,EAAe,OAAS,EACxB3kL,EAAA,KAACn3B,GAAA,CACA,MACCvxC,GAAA,MAAAA,EAAkB,sBACf,GAAGA,EAAiB,sBAAsB,QAAU,EAAE,IAAIA,EAAiB,sBAAsB,QAAU,EAAE,GAC7G,GAEJ,cAAestN,EAAkB,wBAA0BvmQ,GAAU,CACpE,KAAM,CAACwmS,EAAQC,CAAM,EAAIzmS,EAAM,MAAM,GAAG,EACjC,OAAE,OAAAwmS,EAAQ,OAAAC,CAAO,EACxB,EACD,UAACvxR,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,GACCojC,EAAA,IAAA2kK,GAAA,CACC,SAAeysH,EAAA,IAAK7nC,GACpBvpP,EAAA,IAAC2qK,GAAA,CAEA,MAAO,GAAG4+E,EAAM,MAAM,IAAIA,EAAM,MAAM,GACrC,SAAG,GAAAA,EAAM,MAAM,MAAMA,EAAM,MAAM,IAF7B,GAAGA,EAAM,MAAM,IAAIA,EAAM,MAAM,GAIrC,CACF,MAGAvpP,EAAA,WAAI,UAAU,4CACb,SAAApjC,EAAE,wCAAwC,CAC5C,IAEF,QACC,MAAI,WAAU,sCAAuC,SAAAA,EAAE,oCAAoC,CAAE,IAC/F,CAEF,ECvEa40T,IAAM,CAAC,CAAE,iBAAAztP,EAAkB,yBAAAsxO,KAAyC,CAC1E,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,YAAa,GACtC,KAAK,WACL,QAASstN,EAAkB,WAAW,EACtC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,8BAA8B,CAAE,GAC9E,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,YAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,wBAAwB,WAAW,YACxD,SAAEr4S,EAAA,iCAAiC,CACrC,IAEF,CAEF,ECjCa60T,IAAM,CAAC,CAAE,iBAAA1tP,EAAkB,yBAAAsxO,KAAyC,CAC1E,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA+kG,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,kCAAkC,EAAE,EACjF6vI,EAAA,KAAClqB,GAAA,CACA,MAAOx+C,EAAiB,YAAc,gBACtC,SAAUstN,EAAkB,YAAY,EACxC,UAAW59M,GAAG,QAAQ,EACtB,UAAAzzC,MAACyiF,GAAa,OAAM,gBAAgB,UAAU,MAAM,SAEpD,mBACCA,GAAa,OAAM,QAAQ,UAAU,MAAM,SAE5C,sBACD,QACC,MAAI,WAAU,iDACb,SAAA7lH,EAAE,6CAA6C,CACjD,IACD,SACC,MACA,WAAAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,YAAa,GACtC,KAAK,WACL,QAASstN,EAAkB,WAAW,EACtC,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,8BAA8B,CAAE,GAC9E,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,YACnB/jC,EAAA,IAACi1Q,GAAA,CACA,KACClxO,EAAiB,aAAe,QAC7B,4CACA,yCAEJ,WAAW,YACV,WAAE,iCAAiC,GACrC,CAEF,IACD,CAEF,ECpDa2tP,IAAU,CAAC,CACvB,iBAAA3tP,EACA,yBAAAsxO,EACA,sBAAAjN,EACA,qBAAAijB,CACD,IAAoB,CACb,MAAE,EAAAzuT,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,aAAAqkE,CAAa,EAAI1kE,GAAkB,EACrC,CAAC8qP,EAAeC,CAAgB,EAAIxnS,WAAmD,MAAM,EAC7F,CAACynS,EAAcC,CAAe,EAAI1nS,WAA6B,EAC/D2nS,EAA2B/pS,SAAO,EAAK,EAE7CC,YAAU,IAAM,CACT,MAAAm+C,EAAiBx8C,GAA0C,OAChE,MAAM4+B,EAAU5+B,EAAM,KAClB4+B,EAAQ,OAAS,kCAAoC,CAACA,EAAQ,UAC5C3/B,EAAA2/B,EAAQ,SAAR,YAAA3/B,EAAgB,YAChB,YACpBkpS,EAAyB,QAAU,GACnCH,EAAiB,OAAO,EACxBE,EAAgBtpQ,EAAQ,KAAK,GAEpBA,EAAQ,OAAS,gBAGvBmpQ,IAAkB,YAChBI,EAAyB,SAC7BH,EAAiB,SAAS,EAK9B,EAEO,+BAAiB,UAAWxrP,CAAa,EACzC,IAAM,CACL,2BAAoB,UAAWA,CAAa,CACpD,GACE,CAACurP,EAAeE,EAAcD,EAAkBE,CAAe,CAAC,EAEnE,MAAMzgC,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEM2c,EAAsBvpS,cAAY,IAAM,CAC7CspS,EAAyB,QAAU,GACnCH,EAAiB,SAAS,EAC1BE,EAAgB,MAAS,EAEzB,MAAMvrS,EAAMw9C,EAAiB,cACvB2Z,EAAM3Z,EAAiB,eAEzB,IAACx9C,GAAO,CAACm3D,EAAK,CACjBk0O,EAAiB,OAAO,EACRE,EAAAl1T,EAAE,gDAAgD,CAAC,EACnE,OAEM6lE,GAAA,YAAY,CAAE,KAAM,sBAAuB,OAAQ,CAAE,cAAel8C,EAAK,eAAgBm3D,CAAI,EAAG,GACrG,CAAC3Z,EAAkB6tP,EAAkBE,EAAiBl1T,CAAC,CAAC,EAE3D,OAEE6vI,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,iBAAkB,GAC3C,QAASstN,EAAkB,gBAAgB,EAC3C,YAAaz0R,EAAE,+BAA+B,EAC9C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,mCAAmC,CAAE,GACnF,EAEAojC,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,gBAAiB,GAC1C,KAAK,WACL,QAASstN,EAAkB,eAAe,EAC1C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,kCAAkC,CAAE,GAClF,QAEC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EAEAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,QAASinN,EACT,SACCL,IAAkB,WAAa,CAAC5tP,EAAiB,eAAiB,CAACA,EAAiB,eAErF,UAAU,SACV,SAAA0oE,EAAA,KAAC,MAAI,WAAU,0BACb,UAAkBklL,IAAA,gBACjB,OAAK,WAAU,gDAAgD,EAEhE3xR,EAAA,IAAC,OAAK,WAAU,yBAA0B,GAE1CpjC,EAAE,wCAAwC,EAC5C,GACD,EACC+0T,IAAkB,WACjB3xR,MAAA,OAAI,UAAU,4CACb,SAAApjC,EAAE,0CAA0C,EAC9C,EAEA+0T,IAAkB,WACjB3xR,MAAA,OAAI,UAAU,iCAAkC,SAAApjC,EAAE,0CAA0C,EAAE,EAE/F+0T,IAAkB,SACjB3xR,MAAA,OAAI,UAAU,sCACb,SAAA6xR,GAAgBj1T,EAAE,wCAAwC,CAC5D,GAEDojC,EAAA,IAAC4qR,GAAA,CACA,iBAAA7mP,EACA,eAAgB5E,GAChB,QAAQosE,GAAA,YAAAA,EAAc,UAAW,CAAC,EAClC,WAAW,iBACX,YAAY,UACZ,WAAW,2BACX,yBAAA8pK,EACA,sBAAAjN,EACA,aAAcijB,CAAA,CACf,GAGE,IAAM,OACD,MAAAlB,EAAkBpmP,EAAiB,gBAAkB5E,GACrDytP,GAAgB/jS,EAAA0iH,GAAA,YAAAA,EAAc,UAAd,YAAA1iH,EAAwBshS,GAC9C,OAAIyC,GAAA,MAAAA,EAAe,oBAEjBngL,EAAA,KAAC,MAAI,WAAU,OACd,UAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASv+C,EAAiB,uBAAyB,GACnD,SAAWrmE,GAAW,CACI23S,EAAA,wBAAyB33S,EAAE,OAAO,OAAO,CACnE,EACA,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,wCAAwC,CAAE,GAC5E,QACC,MAAI,WAAU,sDACb,SAAAA,EAAE,6CAA6C,CACjD,IACD,EAGK,IACL,MACJ,CAEF,ECnKaq1T,IAAY,CAAC,CAAE,iBAAAluP,EAAkB,yBAAAsxO,KAA+C,CACtF,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BmqN,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEA,OAEE5oK,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,kBAAmB,GAC5C,KAAK,WACL,QAASstN,EAAkB,iBAAiB,EAC5C,YAAaz0R,EAAE,8BAA8B,EAC7C,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,oCAAoC,CAAE,GACpF,QACC,MAAI,WAAU,kDACb,SAAAA,EAAE,wCAAwC,EAC5C,EACC,EAACmnE,GAAA,MAAAA,EAAkB,kBAClB/jC,MAAAi1Q,GAAA,CAAiB,KAAK,wBAAwB,WAAW,YACxD,SAAEr4S,EAAA,uCAAuC,CAC3C,IAEF,CAEF,EC3Bas1T,IAA+E,CAC3F,UAAWl0P,GACX,cAAeW,IACf,QAASR,IACT,SAAUG,IACV,SAAUO,IACV,OAAQ4B,GACR,SAAUlB,IACV,OAAQR,IACR,QAASM,IACT,gBAAiBI,IACjB,OAAQS,IACR,IAAKK,IACL,KAAMrB,IACN,OAAQV,IACR,UAAWuB,IACX,IAAKY,IACL,UAAWI,GACZ,EAEaoxP,GAAY,CACxB,CAAE,MAAO,aAAc,MAAO,YAAa,EAC3C,CAAE,MAAO,YAAa,MAAO,WAAY,EACzC,CAAE,MAAO,cAAe,MAAO,aAAc,EAC7C,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,SAAU,MAAO,eAAgB,EAC1C,CAAE,MAAO,SAAU,MAAO,QAAS,EACnC,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,gBAAiB,MAAO,QAAS,EAC1C,CAAE,MAAO,SAAU,MAAO,mBAAoB,EAC9C,CAAE,MAAO,SAAU,MAAO,eAAgB,EAC1C,CAAE,MAAO,UAAW,MAAO,gBAAiB,EAC5C,CAAE,MAAO,QAAS,MAAO,OAAQ,EACjC,CAAE,MAAO,YAAa,MAAO,gBAAiB,EAC9C,CAAE,MAAO,UAAW,MAAO,SAAU,EACrC,CAAE,MAAO,WAAY,MAAO,WAAY,EACxC,CAAE,MAAO,SAAU,MAAO,QAAS,EACnC,CAAE,MAAO,UAAW,MAAO,SAAU,EACrC,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,cAAe,MAAO,aAAc,EAC7C,CAAE,MAAO,MAAO,MAAO,YAAa,EACpC,CAAE,MAAO,OAAQ,MAAO,MAAO,EAC/B,CAAE,MAAO,cAAe,MAAO,cAAe,EAC9C,CAAE,MAAO,SAAU,MAAO,WAAY,EACtC,CAAE,MAAO,UAAW,MAAO,SAAU,EACrC,CAAE,MAAO,YAAa,MAAO,WAAY,EACzC,CAAE,MAAO,MAAO,MAAO,MAAO,EAC9B,CAAE,MAAO,YAAa,MAAO,cAAe,CAC7C,EAAE,KAAK,CAAC/0T,EAAGK,IAAML,EAAE,MAAM,cAAcK,EAAE,KAAK,CAAC,EC5DlC20T,IAA0D,CAAC,CACvE,YAAAC,EAAc,GACd,oBAAAC,EAAsB,EACtB,SAAA3lS,CACD,IAAM,CACC,MAAE,EAAA/vB,CAAE,EAAIsqE,GAAkB,EAE1BqrP,EAA0B9pS,EAAA,YAC9B/qB,GAAW,CACFivB,EAAA,cAAejvB,EAAE,OAAO,OAAO,CACzC,EACA,CAACivB,CAAQ,CACV,EAEM6lS,EAAwB/pS,EAAA,YAC5B0jB,GAAuB,CACdxf,EAAA,sBAAuBwf,EAAS,CAAC,CAAC,CAC5C,EACA,CAACxf,CAAQ,CACV,EAGC,OAAA8/G,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAA,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAe,SAAS+vM,EAAa,SAAUE,EAC/C,SAAAvyR,MAAC,OAAK,WAAU,cAAe,SAAApjC,EAAE,8BAA8B,CAAE,GAClE,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,oCAAoC,CACxC,IACD,EAECy1T,GACCryR,MAAA,OAAI,UAAU,sEACd,gBAAC,MACA,WAAAA,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,6CAA6C,EACjD,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,GACL,IAAK,EACL,KAAM,KACN,MAAO,CAAC+/H,CAAmB,EAC3B,cAAeE,CAAA,CAChB,EACA/lL,OAAC,OAAK,WAAU,OAAQ,UAAK,WAAM6lL,EAAsB,GAAG,EAAE,IAAC,IAChE,QACC,MAAI,WAAU,iDACb,SAAA11T,EAAE,mDAAmD,CACvD,IACD,CACD,IAEF,CAEF,EC1Da61T,IAAkE,CAAC,CAC/E,gBAAAC,EAAkB,GAClB,SAAA/lS,CACD,IAAM,CACC,MAAE,EAAA/vB,CAAE,EAAIsqE,GAAkB,EAE1ByrP,EAA8BlqS,EAAA,YAClC/qB,GAAW,CACFivB,EAAA,kBAAmBjvB,EAAE,OAAO,OAAO,CAC7C,EACA,CAACivB,CAAQ,CACV,EAEA,OACEqT,EAAA,WAAI,UAAU,sBACd,gBAAC,MACA,WAAAA,EAAA,IAACsiF,GAAe,SAASowM,EAAiB,SAAUC,EACnD,SAAA3yR,MAAC,OAAK,WAAU,cAAe,SAAApjC,EAAE,kCAAkC,CAAE,GACtE,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,wCAAwC,CAC5C,IACD,CACD,EAEF,ECrBag2T,IAAqB,CAAC,CAAE,MAAA9nS,EAAO,SAAA6B,EAAU,SAAAqjK,EAAW,KAAiC,CAC3F,MAAE,EAAApzL,CAAE,EAAIsqE,GAAkB,EAC1B,CAAC2rP,EAAqBC,CAAsB,EAAI1oS,WAASU,IAAU,MAAS,EAC5E,CAAC6gQ,EAAYC,CAAa,EAAIxhQ,WAASU,CAAK,EAEtC,OAAAlC,GAAA,IAAM+D,EAASg/P,CAAU,EAAG,GAAI,CAACh/P,EAAUg/P,CAAU,CAAC,EAGlE1jQ,YAAU,IAAM,CACT,MAAA8qS,EAA8CjoS,GAAU,KAC9DgoS,EAAuBC,CAAoB,EAC3CnnC,EAAc9gQ,CAAK,GACjB,CAACA,CAAK,CAAC,EAIR2hH,EAAA,KAAA/kG,WAAA,WAAA+kG,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASuwM,EACT,SAAWn1T,GAAW,CACf,MAAAk4S,EAAYl4S,EAAE,OAAO,QAC3Bo1T,EAAuBld,CAAS,EAK/BhqB,EAHIgqB,EAGU9qR,GAAS,EAFT,IAEU,CAE1B,EACA,eAAC,QAAM,WAAU,yBAA0B,SAAAluB,EAAE,gCAAgC,CAAE,GAChF,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,kCAAkC,CACtC,IACD,EAECi2T,GACC7yR,MAAA,OAAI,UAAU,sEACd,gBAAC,MACA,WAACysG,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAKvC,EACL,KAAM,IACN,MAAO,CAAC27F,GAAc,CAAC,EACvB,cAAe,CAAC,CAAC7gQ,CAAK,IAAM8gQ,EAAc9gQ,CAAK,EAChD,EACCkV,EAAA,YAAK,UAAU,OAAQ,SAAW2rP,CAAA,IACpC,QACC,MAAI,WAAU,iDACb,SAAA/uR,EAAE,uCAAuC,CAC3C,IACD,CACD,IAEF,CAEF,EC7Dao2T,IAAkE,CAAC,CAAE,MAAAloS,EAAO,SAAA6B,KAAe,CACjG,MAAE,EAAA/vB,CAAE,EAAIsqE,GAAkB,EAE1Bq/G,EAAoB99J,EAAA,YACxB0jB,GAAqB,CACrBxf,EAASwf,CAAQ,CAClB,EACA,CAACxf,CAAQ,CACV,EAGC,OAAA8/G,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,2CAA2C,EAAE,EAC1F6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,MAAO,CAACznK,CAAK,EACb,IAAK,EACL,IAAK,GACL,KAAM,EACN,cAAgBqhB,GAAao6I,EAAkBp6I,EAAS,CAAC,CAAC,EAC3D,EACAsgG,OAAC,OAAK,WAAU,OAAQ,UAAA3hH,EAAM,IAAC,IAChC,EACAkV,MAAC,OAAI,UAAU,4CACb,WAAE,kDAAmD,CAAE,MAAAlV,CAAM,CAAC,CAChE,IACD,CAEF,EC3BamoS,IAAgF,CAAC,CAAE,MAAAnoS,EAAO,SAAA6B,KAAe,CAC/G,MAAE,EAAA/vB,CAAE,EAAIsqE,GAAkB,EAE1Bq/G,EAAoB99J,EAAA,YACxB0jB,GAAqB,CAErB,MAAM+mR,EAAa,KAAK,IAAI,EAAG/mR,CAAQ,EACvCxf,EAASumS,CAAU,CACpB,EACA,CAACvmS,CAAQ,CACV,EAGC,OAAA8/G,EAAA,KAAC,MAAI,WAAU,sBACd,UAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,kDAAkD,EAAE,EACjG6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,MAAO,CAACznK,GAASwsC,EAAiC,EAClD,IAAK,EACL,IAAK,GACL,KAAM,EACN,cAAgBnrB,GAAao6I,EAAkBp6I,EAAS,CAAC,CAAC,EAC3D,EACAnM,MAAC,QAAK,UAAU,OAAQ,cAAK,IAAI,EAAGlV,GAASwsC,EAAiC,CAAE,IACjF,EACAt3B,MAAC,MAAI,WAAU,4CACb,SAAAlV,IAAU,EACRluB,EAAE,iEAAiE,EACnEA,EAAE,yDAA0D,CAC5D,MAAOkuB,GAASwsC,EAChB,GACJ,EACCxsC,IAAU,GACTkV,EAAA,WAAI,UAAU,2CACb,SAAApjC,EAAE,oDAAoD,CACxD,IAEF,CAEF,ECpCau2T,IAAmB,CAAC,CAAE,iBAAApvP,EAAkB,yBAAAsxO,KAAsD,CACpG,MAAE,EAAAz4S,CAAE,EAAIsqE,GAAkB,EAE1BtY,EAAa5kC,UAAQ,IAAM,CAC1B,MAAE,aAAAopS,EAAc,UAAAC,CAAA,EAActvP,EAC7B,OAAAqvP,EAAelf,IAAmBkf,EAAcC,CAAS,EAAI,CAAE,QAAS,GAAM,aAAc,MAAU,GAC3G,CAACtvP,CAAgB,CAAC,EAErB,OAEE0oE,EAAA,KAAA/kG,WAAA,WAAA1H,EAAA,IAACijF,GAAA,CACA,OAAOl/C,GAAA,YAAAA,EAAkB,eAAgB,GACzC,QAAUrmE,GAAM23S,EAAyB,eAAiB33S,EAAE,OAA4B,KAAK,EAC7F,YAAad,EAAE,iCAAiC,EAChD,UAAU,SACV,eAAC,QAAM,WAAU,yBAA0B,SAAAA,EAAE,2BAA2B,CAAE,GAC3E,EACA6vI,OAAC,MAAI,WAAU,kDACb,UAAA7vI,EAAE,oCAAoC,EACvC6vI,OAAC,KAAG,WAAU,sBACb,UAAAzsG,MAAC,MAAG,SAEJ,0GACAA,MAAC,MAAG,SAA6E,kFACjFA,MAAC,MAAG,SAA+E,qFACpF,EACCpjC,EAAE,qCAAqC,GACzC,EACEgyD,EAAW,QAKZA,EAAW,cACV5uB,MAAC,OAAI,UAAU,2CAA4C,WAAW,YAAa,GALpFA,EAAA,IAAC,OAAI,UAAU,2CACb,WAAW,cAAgBpjC,EAAE,qCAAqC,CACpE,EAGoF,EAGtF,CAEF,EC0DM02T,IAAa,CAAC,CACnB,UAAA9c,EACA,iBAAAzyO,EACA,yBAAAsxO,EACA,gBAAAe,EACA,aAAAntP,EACA,gBAAAsqQ,CACD,IAAuB,CAChB,MAAE,EAAA32T,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,sBAAAkhO,CAAsB,EAAIvhO,GAAkB,EAE9C,CAAC2nP,EAAeC,CAAgB,EAAIrkS,WAA6B,IAAM,CACtE,MAAA+/D,GAAUpmB,GAAA,YAAAA,EAAkB,gBAAiB,CAAC,EAC7C,cAAO,QAAQomB,CAAO,EAC7B,EAEDliE,YAAU,IAAM,CACT,MAAAurS,GAAczvP,GAAA,YAAAA,EAAkB,gBAAiB,CAAC,EAEpD,KAAK,UAAUyqP,CAAa,IAAM,KAAK,UAAU,OAAO,QAAQgF,CAAW,CAAC,GAC9D/E,EAAA,OAAO,QAAQ+E,CAAW,CAAC,CAE3C,GAACzvP,GAAA,YAAAA,EAAkB,cAAeyqP,CAAa,CAAC,EAMnD5lS,GACC,IAAM,CACC,MAAA6qS,GAAuB1vP,GAAA,YAAAA,EAAkB,gBAAiB,CAAC,EAC3D2vP,EAAmBjgB,GAAuB+a,CAAa,EAGzD,KAAK,UAAUiF,CAAoB,IAAM,KAAK,UAAUC,CAAgB,GAC3Ere,EAAyB,gBAAiBqe,CAAgB,CAE5D,EACA,IACA,CAAClF,EAAezqP,GAAA,YAAAA,EAAkB,cAAesxO,CAAwB,CAC1E,EAEA,KAAM,CAAC+U,EAAuBC,CAAwB,EAAIjgS,WAAS,EAAK,EAClE,CAACy8P,EAAwBC,CAAyB,EAAI18P,WAAS,EAAK,EAEpEinQ,EAAoB5oQ,EAAA,YACzB,CACC8W,EACAusB,EAA+CqpP,KAE9CvrR,GAAqB,CACIyrR,EAAA91Q,EAAOusB,EAAUliC,CAAU,CAAC,CACtD,EACD,CAACyrR,CAAwB,CAC1B,EAEM,CACL,SAAUsW,EACV,GAAIxB,EACJ,KAAM1U,CAAA,EACHtqK,GAAiBpnE,CAAgB,EAE/B,CAAE,KAAMwnE,EAAc,QAAS2kL,CAAA,EAAwB78L,GAAgB,EAEvE,CAAE,KAAMmY,CAAA,EAA6BR,IAA4BjnE,GAAA,YAAAA,EAAkB,kBAAmB,CAC3G,QACC,CAAC,EAACA,GAAA,MAAAA,EAAkB,qBACpBwnE,GAAA,YAAAA,EAAc,aACd,OAAO,KAAKA,EAAa,UAAU,EAAE,OAAS,GAC9CxnE,EAAiB,qBAAqBwnE,EAAa,WACpD,EAGDtjH,YAAU,IAAM,CACXkiS,GAAmBpmP,EAAiB,aAAeomP,GACtD9U,EAAyB,aAAc8U,CAAe,GAErD,CAACA,EAAiB9U,EAA0BtxO,EAAiB,UAAU,CAAC,EAI3En7C,GACC,IAAM,CACL,GAAI+iS,IAAqB,SAAU,CAE5B,MAAAoD,EAAetb,GAAuB+a,CAAa,EAEzD/rP,GAAO,YAAY,CAClB,KAAM,sBACN,OAAQ,CACP,QAASsB,GAAA,YAAAA,EAAkB,cAC3B,OAAQA,GAAA,YAAAA,EAAkB,aAC1B,cAAe,CAAC,EAChB,cAAegrP,CAAA,CAChB,CACA,OACSpD,IAAqB,SAC/BlpP,GAAO,YAAY,CAAE,KAAM,sBAAuB,EACxCkpP,IAAqB,WAC/BlpP,GAAO,YAAY,CAAE,KAAM,wBAAyB,EAC1CkpP,IAAqB,YAC/BlpP,GAAO,YAAY,CAAE,KAAM,wBAAyB,EAC1CkpP,IAAqB,WAC/BlpP,GAAO,YAAY,CAAE,KAAM,sBAAuB,CAEpD,EACA,IACA,CACCkpP,EACA5nP,GAAA,YAAAA,EAAkB,eAClBA,GAAA,YAAAA,EAAkB,cAClBA,GAAA,YAAAA,EAAkB,aAClBA,GAAA,YAAAA,EAAkB,cAClBA,GAAA,YAAAA,EAAkB,gBAClBA,GAAA,YAAAA,EAAkB,eAClBA,GAAA,YAAAA,EAAkB,cAClByqP,CAAA,CAEF,EAEAvmS,YAAU,IAAM,CACf,MAAM0rS,EAAsBjf,IAC3B3wO,EACAwnE,EACA68J,CACD,EACAmrB,EAAgBI,CAAmB,GACjC,CAAC5vP,EAAkBwnE,EAAc68J,EAAuBmrB,CAAe,CAAC,EAErE,MAAAK,EAAyB5pS,UAAQ,IAAM,CACtC,MAAAwgH,EAAS0nL,IAAmBvG,CAAgB,EAC9C,IAACnhL,EAAQ,MAAO,CAAC,EAErB,MAAMwqK,EAAiBF,IAAatqK,EAAQmhL,EAAkBvjB,CAAqB,EAS5E,OAPc4M,EAClB,OAAO,KAAKA,CAAc,EAAE,IAAKlmL,IAAa,CAC9C,MAAOA,EACP,MAAOA,CACR,EAAE,EACD,CAAC,CAEG,EACL,CAAC68L,EAAkBvjB,CAAqB,CAAC,EAEtCyrB,EAAmBprS,EAAA,YACvBqC,GAAwB,CACxBuqR,EAAyB,cAAevqR,CAAK,EAS7C,MAAMgpS,EAAwB,CAC7BhlM,EACAvvF,EACAoJ,IACI,CAEJ,GAAI,CAACA,EAAc,OAIM,CAACmmF,GAGzBumL,EAAyB91Q,EAAOoJ,CAAY,CAE9C,EA6CM7V,EAlCF,CACH,WAAY,CAAE,MAAO,oBAAqB,QAAS8sC,EAAyB,EAC5E,MAAO,CAAE,MAAO,eAAgB,QAASZ,EAAoB,EAC7D,QAAS,CAAE,MAAO,iBAAkB,QAASgB,EAAsB,EACnE,SAAU,CAAE,MAAO,kBAAmB,QAASH,EAAuB,EACtE,QAAS,CAAE,MAAO,iBAAkB,QAASV,EAAsB,EACnE,UAAW,CAAE,MAAO,aAAc,QAASpB,EAAwB,EACnE,SAAU,CAAE,MAAO,aAAc,QAASM,GAAuB,EACjE,cAAe,CAAE,MAAO,aAAc,QAASI,GAAyB,EACxE,gBAAiB,CAAE,MAAO,aAAc,QAASe,GAA2B,EAC5E,OAAQ,CAAE,MAAO,aAAc,QAASV,GAAqB,EAC7D,SAAU,CAAE,MAAO,aAAc,QAASF,GAAuB,EACjE,OAAQ,CAAE,MAAO,aAAc,QAAS4B,EAAqB,EAC7D,SAAU,CAAE,MAAO,aAAc,QAASlB,GAAuB,EACjE,QAAS,CAAE,MAAO,aAAc,QAASF,EAAsB,EAC/D,IAAK,CAAE,MAAO,aAAc,QAASkB,GAAkB,EACvD,KAAM,CAAE,MAAO,aAAc,QAASrB,GAAmB,EACzD,OAAQ,CAAE,MAAO,aAAc,QAASV,GAAqB,EAC7D,QAAS,CAAE,MAAO,aAAc,QAASL,GAAsB,EAC/D,OAAQ,CAAE,MAAO,aAAc,QAAS+B,GAAqB,EAC7D,UAAW,CAAE,MAAO,aAAc,QAASH,GAAwB,EACnE,IAAK,CACJ,MAAO,aACP,QACCiE,EAAiB,aAAe,QAC7BnD,IACAF,GACL,EACA,UAAW,CAAE,MAAO,aAAc,QAASI,GAAwB,EACnE,OAAQ,CAAE,MAAO,eAAgB,EACjC,OAAQ,CAAE,MAAO,eAAgB,EACjC,SAAU,CAAE,MAAO,iBAAkB,CACtC,EAEqCh2C,CAAK,EACtCgI,GACHghS,EACC/vP,EAAiBjxC,EAAO,KAAK,EAC7BA,EAAO,MACPA,EAAO,OACR,CAEF,EACA,CAACuiR,EAA0BtxO,CAAgB,CAC5C,EAEMsnP,EAAuBrhS,UAAQ,IAC7BuqR,IAAwBxwO,EAAkBwnE,EAAc68J,CAAqB,EAClF,CAACrkO,EAAkBwnE,EAAc68J,CAAqB,CAAC,EAEpDx4D,EAAO5lN,UAAQ,IAAM,CACpB,MAAAohH,EAAW+mL,GAAU,KAAK,CAAC,CAAE,MAAArnS,CAAM,IAAMA,IAAU6gS,CAAgB,EACnEpiS,EAAO6hH,GAAA,YAAAA,EAAU,MAEvB,GAAI,CAAC7hH,EACG,OASF,MAAAq4C,EALgC,CACrC,gBAAiB,SACjB,OAAQ,mBACT,EAEmB+pP,CAAgB,GAAKA,EACjC,OACN,IAAKz/K,GAAa,aAAatqE,CAAI,GAAI,eAAe,EACtD,KAAAr4C,CACD,GACE,CAACoiS,CAAgB,CAAC,EAGfoI,EAAkB/pS,UAAQ,IACxB4qR,IAAgBud,GAAW/pB,CAAqB,EAAE,IAAI,CAAC,CAAE,MAAAt9Q,EAAO,MAAAw2F,MAAa,CACnF,MAAAx2F,EACA,MAAAw2F,CAAA,EACC,EACA,CAAC8mL,CAAqB,CAAC,EAGzB,OAAA37J,EAAA,KAAC,MAAI,WAAU,sBACd,UAACA,OAAA,OAAI,UAAU,+BACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,gCAAgC,EAAE,EAC9EgzO,SACC,MAAI,WAAU,4CACd,SAAC5vM,MAAAwiF,GAAA,CAAW,KAAMotH,EAAK,IAAK,UAAU,+BAA+B,OAAO,SAC1E,WAAE,2CAA4C,CAAE,SAAUA,EAAK,IAAM,EACvE,EACD,IAEF,EACA5vM,EAAA,IAACywJ,GAAA,CACA,MAAOk7H,EACP,cAAgB7gS,GAAU+oS,EAAiB/oS,CAAqB,EAChE,QAASipS,EACT,YAAan3T,EAAE,wBAAwB,EACvC,kBAAmBA,EAAE,8CAA8C,EACnE,aAAcA,EAAE,yCAAyC,EACzD,UAAU,SACV,cAAY,mBACb,EACD,EAECqsD,GAAiBjpB,EAAA,IAAA2qR,IAAA,CAAgB,aAAA1hQ,CAA4B,GAE7D0iQ,IAAqB,cACrB3rR,EAAA,IAAC0vR,IAAA,CACA,iBAAA3rP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,gBAAA4+K,EACA,UAAA3T,EACA,gBAAAJ,EACA,sBAAAhO,EACA,qBAAAijB,CAAA,CACD,EAGAM,IAAqB,YACrB3rR,EAAA,IAACiwR,IAAA,CACA,iBAAAlsP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,oBAAA2kL,EACA,sBAAA9nB,EACA,qBAAAijB,CAAA,CACD,EAGAM,IAAqB,SACrB3rR,EAAA,IAACorR,IAAA,CACA,iBAAArnP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,UAAAirK,EACA,sBAAApO,EACA,qBAAAijB,CAAA,CACD,EAGAM,IAAqB,WACrB3rR,EAAA,IAACswR,IAAA,CACA,iBAAAvsP,EACA,yBAAAsxO,EACA,aAAA9pK,EACA,sBAAA68J,EACA,qBAAAijB,CAAA,CACD,EAGAM,IAAqB,aACpB3rR,EAAA,IAAAo1Q,IAAA,CAAU,iBAAArxO,EAAoC,yBAAAsxO,EAAoD,EAGnGsW,IAAqB,eACpB3rR,EAAA,IAAA+1Q,IAAA,CAAW,iBAAAhyO,EAAoC,yBAAAsxO,EAAoD,EAGpGsW,IAAqB,iBACpB3rR,EAAA,IAAAotR,IAAA,CAAO,iBAAArpP,EAAoC,yBAAAsxO,EAAoD,EAGhGsW,IAAqB,WACpB3rR,EAAA,IAAA+sR,IAAA,CAAQ,iBAAAhpP,EAAoC,yBAAAsxO,EAAoD,EAGjGsW,IAAqB,WACrB3rR,EAAA,IAACw1Q,IAAA,CACA,iBAAAzxO,EACA,yBAAAsxO,EACA,kBAAAI,CAAA,CACD,EAGAkW,IAAqB,UACpB3rR,EAAA,IAAAkxR,IAAA,CAAO,iBAAAntP,EAAoC,yBAAAsxO,EAAoD,EAGhGsW,IAAqB,UACrB3rR,EAAA,IAACm2Q,IAAA,CACA,iBAAApyO,EACA,yBAAAsxO,EACA,gBAAAe,CAAA,CACD,EAGAuV,IAAqB,UACrB3rR,EAAA,IAACiuR,IAAA,CACA,iBAAAlqP,EACA,yBAAAsxO,EACA,sBAAAjN,EACA,qBAAAijB,CAAA,CACD,EAGAM,IAAqB,YACpB3rR,EAAA,IAAAwsR,IAAA,CAAS,iBAAAzoP,EAAoC,yBAAAsxO,EAAoD,EAGlGsW,IAAqB,YACpB3rR,EAAA,IAAAi2Q,IAAA,CAAS,iBAAAlyO,EAAoC,yBAAAsxO,EAAoD,EAGlGsW,IAAqB,UACpB3rR,EAAA,IAAAk2Q,IAAA,CAAO,iBAAAnyO,EAAoC,yBAAAsxO,EAAoD,EAGhGsW,IAAqB,YACpB3rR,EAAA,IAAAgtR,IAAA,CAAS,iBAAAjpP,EAAoC,yBAAAsxO,EAAoD,EAGlGsW,IAAqB,aACpB3rR,EAAA,IAAAmxR,IAAA,CAAS,iBAAAptP,EAAoC,yBAAAsxO,EAAoD,EAGlGsW,IAAqB,UACpB3rR,EAAA,IAAAitR,IAAA,CAAO,iBAAAlpP,EAAoC,yBAAAsxO,EAAoD,EAGhGsW,IAAqB,OACpB3rR,EAAA,IAAAwxR,IAAA,CAAI,iBAAAztP,EAAoC,yBAAAsxO,EAAoD,EAG7FsW,IAAqB,QACpB3rR,EAAA,IAAAsrR,IAAA,CAAK,iBAAAvnP,EAAoC,yBAAAsxO,EAAoD,EAG9FsW,IAAqB,eACpB3rR,EAAA,IAAAurR,IAAA,CAAY,iBAAAxnP,EAAoC,yBAAAsxO,EAAoD,EAGrGsW,IAAqB,YACpB3rR,EAAA,IAAA61Q,IAAA,CAAS,iBAAA9xO,EAAoC,yBAAAsxO,EAAoD,EAGlGsW,IAAqB,UACpB3rR,EAAA,IAAA81Q,IAAA,CAAO,iBAAA/xO,EAAoC,yBAAAsxO,EAAoD,EAGhGsW,IAAqB,WACrB3rR,EAAA,IAAC0xR,IAAA,CACA,iBAAA3tP,EACA,yBAAAsxO,EACA,sBAAAjN,EACA,qBAAAijB,CAAA,CACD,EAGAM,IAAqB,aACpB3rR,EAAA,IAAAqwR,IAAA,CAAU,iBAAAtsP,EAAoC,yBAAAsxO,EAAoD,EAGnGsW,IAAqB,OACpB3rR,EAAA,IAAAyxR,IAAA,CAAI,iBAAA1tP,EAAoC,yBAAAsxO,EAAoD,EAG7FsW,IAAqB,eAEpBl/K,OAAA/kG,EAAA,oBAAA1H,MAAC,MAAI,WAAU,4CACb,SAAApjC,EAAE,2CAA2C,EAC/C,QACC,MAAI,WAAU,4CACb,SAAAA,EAAE,4CAA4C,CAChD,IACD,EAGA+uT,IAAqB,aACpB3rR,EAAA,IAAAiyR,IAAA,CAAU,iBAAAluP,EAAoC,yBAAAsxO,EAAoD,EAGnGue,EAAuB,OAAS,GAE/BnnL,EAAA,KAAA/kG,EAAA,oBAAA+kG,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,0BAA0B,EAAE,EACzE6vI,EAAA,KAACn3B,GAAA,CACA,MAAO60M,IAAoB,aAAe,aAAeA,EACzD,cAAgBr/R,GAAU,CACzBuqR,EAAyB,aAAcvqR,CAAK,EAGxCA,IAAU,cAAgB6gS,IAAqB,WAClDtW,EAAyB,eAAgB,EAAE,CAE7C,EACA,UAACr1Q,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,UACC+nM,GACC,WAAAivH,EAAuB,IAAK1gR,GAC5BlT,MAAC2qK,GAA8B,OAAOz3J,EAAO,MAC3C,SAAOA,EAAA,OADQA,EAAO,KAExB,CACA,EACAy4Q,IAAqB,WACpB3rR,EAAA,IAAA2qK,GAAA,CAAW,MAAM,aAAc,SAAA/tM,EAAE,8BAA8B,CAAE,GAEpE,KACD,EACD,EAEC+uT,IAAqB,WAAaxB,IAAoB,cACtDnqR,EAAA,IAACmzR,IAAA,CACA,iBAAApvP,EACA,yBAAAsxO,CAAA,CACD,EAGDr1Q,EAAA,IAACiqR,IAAA,CACA,YAAa0B,EACb,gBAAAxB,EACA,UAAW1U,EACX,sBAAA2U,EACA,yBAAAC,CAAA,EACD,EACD,EAGDrqR,EAAA,IAACytR,IAAA,CAEA,iBAAA1pP,EACA,yBAAAsxO,EACA,UAAWI,CAAA,EAHN,GAAGkW,CAAgB,IAAIxB,CAAe,EAI5C,EAEC,CAAC/T,GACD3pK,EAAA,KAACk0B,KAAY,KAAMkmH,EAAwB,aAAcC,EACxD,UAACr6I,OAAAq0B,IAAA,CAAmB,UAAU,sEAC7B,UAAA9gI,MAAC,QAAK,UAAW,2BAA2B6mP,EAAyB,OAAS,OAAO,GAAI,QACxF,OAAK,WAAU,cAAe,SAAAjqR,EAAE,iCAAiC,CAAE,IACrE,EACA6vI,OAACs0B,IAAmB,WAAU,YAC7B,UAAA/gI,EAAA,IAACyyR,IAAA,CACA,gBAAiB1uP,EAAiB,gBAClC,SAAU,CAACxkC,EAAOzU,IAAUuqR,EAAyB91Q,EAAOzU,CAAK,EAClE,EACAkV,EAAA,IAACoyR,IAAA,CACA,YAAaruP,EAAiB,YAC9B,oBAAqBA,EAAiB,oBACtC,SAAU,CAACxkC,EAAOzU,IAAUuqR,EAAyB91Q,EAAOzU,CAAK,EAClE,EACAkV,EAAA,IAAC4yR,IAAA,CACA,MAAO7uP,EAAiB,iBACxB,SAAUstN,EAAkB,mBAAoB6jB,EAAW,EAC3D,SAAU,EACX,EACAl1Q,EAAA,IAACgzR,IAAA,CACA,MAAOjvP,EAAiB,kBAAoB,EAC5C,SAAWj5C,GAAUuqR,EAAyB,mBAAoBvqR,CAAK,EACxE,EACAkV,EAAA,IAACizR,IAAA,CACA,MACClvP,EAAiB,0BAA4B,OAC1CA,EAAiB,wBACjBzM,GAEJ,SAAWxsC,GAAUuqR,EAAyB,0BAA2BvqR,CAAK,EAC/E,EACC6gS,IAAqB,cACrBngL,GACA,OAAO,KAAKA,CAAwB,EAAE,OAAS,GAC9CiB,OAAC,MACA,WAACA,OAAA,OAAI,UAAU,0BACd,UAAAzsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,qDAAqD,EACzD,EACAojC,MAAC,IAAE,MAAM,yBAAyBmqR,CAAe,aAChD,SAACnqR,EAAA,IAAA6jI,IAAA,CAAiB,UAAU,SAAU,EACvC,IACD,EACAp3B,EAAA,KAACn3B,GAAA,CACA,OACCvxC,GAAA,YAAAA,EAAkB,6BAClBsmE,GAED,cAAgBv/G,GACfuqR,EAAyB,6BAA8BvqR,CAAK,EAE7D,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,UACC+nM,GACA,WAAC3kK,EAAA,IAAA2qK,GAAA,CAAW,MAAOtgE,GACjB,SACFA,GAAA,EACC,OAAO,QAAQmB,CAAwB,EAAE,IAAI,CAAC,CAAC1gH,EAAO,CAAE,MAAAw2F,CAAO,KAC/DthF,MAAC2qK,IAAuB,MAAA7/K,EACtB,SAAAw2F,CAAA,EADex2F,CAEjB,CACA,EACF,IACD,EACA2hH,OAAC,MAAI,WAAU,iDACb,UAAA7vI,EAAE,2DAA2D,EAAG,IACjE6vI,OAAC,IAAE,MAAK,uDACN,UAAA7vI,EAAE,yDAAyD,EAAE,IAC/D,GACD,GACD,GAEH,GACD,IAEF,CAEF,EAEe27M,WAAK+6G,GAAU,ECtrBjBU,GAAU,CAAC,CAAE,UAAA9wP,EAAW,GAAGp+B,CAAM,IAC5C9E,MAAA,OAAI,UAAWyzC,GAAG,0BAA2BvQ,CAAS,EAAI,GAAGp+B,CAAO,GCOtE,SAASmvR,IACRnvR,EACAoG,EACC,CACK,MAAE,UAAAg4B,EAAW,MAAAv3C,EAAO,cAAeklK,EAAY,UAAAqjI,EAAW,WAAAC,EAAY,GAAGC,CAAA,EAActvR,EAEvF2tQ,EAAWzqR,SAAgC,IAAI,EAI/CqsS,EAAuB5rS,EAAA,YAC3B2C,GAAkD,WAClD,GAAI,CAACA,EAAS,OAEd,MAAMkpS,EAAelpS,EACfmpS,IACLlpS,GAAAxC,EAAAyrS,EAAa,aAAb,YAAAzrS,EAAyB,gBAAzB,YAAAwC,EAAA,KAAAxC,EAAyC,aAAYyC,EAAAgpS,EAAa,gBAAb,YAAAhpS,EAAA,KAAAgpS,EAA6B,UAC/EC,GAAgBA,aAAwB,mBAC3C9hB,EAAS,QAAU8hB,EACf,OAAOrpR,GAAiB,WAC3BA,GAAA,MAAAA,EAAeqpR,GACLrpR,IACRA,EAAiE,QAAUqpR,GAGhF,EACA,CAACrpR,CAAY,CACd,EAEMspR,EAAa/rS,cAAY,SAAY,CACtCgqR,EAAS,SAAW,SAAS,gBAAkBA,EAAS,SAC3D,WAAW,IAAM,QAChB5pR,EAAA4pR,EAAS,UAAT,MAAA5pR,EAAkB,OAAM,CACxB,CAEH,EAAG,EAAE,EAEC4rS,EAAeP,GAAaA,EAAU,OAAO,OAAO,EAAE,OAAS,EAC/DQ,EAAgBP,GAAcA,EAAW,OAAO,OAAO,EAAE,OAAS,EAGvE,OAAA1nL,EAAA,KAAC,OACA,UAAWh5D,GACV,QACA,yCACA,8DACA,iDACAvQ,CACD,EACA,MAAAv3C,EACA,YAAa6oS,EACZ,UAAAC,GACCz0R,EAAA,WAAI,UAAU,mEAAoE,SAAUk0R,EAAA,EAG9Fl0R,EAAA,IAACijF,GAAA,CACA,cAAa4tE,EACb,IAAKwjI,EACL,MAAO,CACN,KAAM,EACN,YAAaI,EAAe,OAAS,OACrC,aAAcC,EAAgB,OAAS,MACxC,EACA,UAAU,qBACT,GAAGN,CAAA,CACL,EAECM,GACA10R,EAAA,IAAC,MAAI,WAAU,oEAAqE,SAAWm0R,EAAA,EAIhGn0R,MAAC,MAAI,WAAU,2HAA4H,IAC5I,CAEF,CAEa,MAAA20R,IAA2BvpR,aAAW6oR,GAA6B,ECjEhF,SAASW,IACR,CAAE,MAAA9pS,EAAO,cAAAw7J,EAAe,UAAA5uI,EAAW,GAAG08Q,GACtClpR,EACC,CACD,KAAM,CAAC2pR,EAAUC,CAAW,EAAI1qS,WAAiB,EAAE,EAC7C,CAAC2qS,EAAUC,CAAW,EAAI5qS,WAAS,EAAK,EAG9CnC,YAAU,IAAM,CACV8sS,GACQD,EAAAp9Q,EAAU,OAAO5sB,CAAK,CAAC,CAElC,GAACA,EAAO4sB,EAAWq9Q,CAAQ,CAAC,EAE/B,MAAME,EAAcxsS,EAAA,YAClB/qB,GAAyC,CACzC,MAAMwvB,EAAQxvB,EAAE,OAChBs3T,EAAY,EAAI,EAEhB,IAAIE,EAAgBhoS,EAAM,MACtBwqB,EAAU,SACGw9Q,EAAAx9Q,EAAU,OAAOxqB,EAAM,KAAK,EAC5CA,EAAM,MAAQgoS,GAGfJ,EAAYI,CAAa,EACnB,MAAAC,EAAcz9Q,EAAU,MAAMw9Q,CAAa,EACjD5uI,EAAc6uI,CAAW,CAC1B,EACA,CAACz9Q,EAAW4uI,CAAa,CAC1B,EAEMkrG,EAAa/oQ,cAAY,IAAM,CACpCusS,EAAY,EAAK,EAELF,EAAAp9Q,EAAU,OAAO5sB,CAAK,CAAC,GACjC,CAAC4sB,EAAW5sB,CAAK,CAAC,EAEf4sF,EAAeq9M,EAAWF,EAAWn9Q,EAAU,OAAO5sB,CAAK,EAGhE,OAAAkV,EAAA,IAAC20R,IAAA,CACC,GAAGP,EACJ,MAAO18M,EACP,QAASu9M,EACT,OAAQzjC,EACR,IAAKtmP,CAAA,CACN,CAEF,CAEa,MAAAkqR,IAAqBhqR,aAAWwpR,GAA8B,EAK9DS,IAAoD,CAChE,MAAQnoS,GAAkB,CACzB,GAAIA,EAAM,SAAW,GAAW,OAC1B,MAAApC,EAAQ,SAASoC,CAAK,EAC5B,MAAO,CAAC,MAAMpC,CAAK,GAAKA,EAAQ,EAAIA,EAAQ,MAC7C,EACA,OAASA,GACDA,IAAU,QAAaA,IAAU,IAAW,GAAKA,EAAM,SAAS,EAExE,OAASoC,GAAkBA,EAAM,QAAQ,UAAW,EAAE,CACvD,EAEaooS,IAAoD,CAChE,MAAQpoS,GAAkB,CACzB,GAAIA,EAAM,SAAW,GAAW,OAC1B,MAAApC,EAAQ,WAAWoC,CAAK,EAC9B,MAAO,CAAC,MAAMpC,CAAK,GAAKA,GAAS,EAAIA,EAAQ,MAC9C,EACA,OAASA,GACDA,IAAU,QAAaA,IAAU,IAAW,GAAKA,EAAM,SAAS,EAExE,OAASoC,GAAkB,CAE1B,IAAIqoS,EAAaroS,EAAM,QAAQ,WAAY,EAAE,EAGvC,MAAAsoS,EAAgBD,EAAW,QAAQ,GAAG,EAC5C,GAAIC,IAAkB,GAAI,CAEzB,MAAMC,EAAYF,EAAW,UAAU,EAAGC,EAAgB,CAAC,EACrDE,EAAWH,EAAW,UAAUC,EAAgB,CAAC,EAAE,QAAQ,MAAO,EAAE,EAC1ED,EAAaE,EAAYC,CAAA,CAGnB,OAAAH,CAAA,CAET,EC5GO,SAASI,IAAiB,CAAE,mBAAAC,EAAoB,cAAAtvI,GAAwC,CACxF,MAAE,EAAA1pL,CAAE,EAAImtC,GAAe,EAEvBw8I,EAAoB99J,EAAA,YACxBqC,GAA8B,CAC9Bw7J,EAAcx7J,CAAK,EACnB23C,GAAO,YAAY,CAAE,KAAM,qBAAsB,MAAA33C,EAAO,CACzD,EACA,CAACw7J,CAAa,CACf,EAEA,OAEE75C,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,SAAM,UAAU,gEAChB,UAACzsG,MAAA,QAAK,UAAU,uBAAwB,GACvCpjC,EAAE,4CAA4C,EAAE,KAClD,EACAojC,EAAA,IAACo1R,IAAA,CACA,MAAOQ,EACP,cAAervI,EACf,UAAW8uI,IACX,YAAaz4T,EAAE,gDAAgD,EAC/D,MAAO,CAAE,SAAU,OAAQ,EAC3B,cAAY,sBACb,EACD,CAEF,CC3BO,SAASi5T,IAAa,CAAE,eAAAC,EAAgB,cAAAxvI,GAAoC,CAC5E,MAAE,EAAA1pL,CAAE,EAAImtC,GAAe,EAEvBw8I,EAAoB99J,EAAA,YACxBqC,GAA8B,CAC9Bw7J,EAAcx7J,CAAK,EACnB23C,GAAO,YAAY,CAAE,KAAM,iBAAkB,MAAA33C,EAAO,CACrD,EACA,CAACw7J,CAAa,CACf,EAEA,OAEE75C,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,SAAM,UAAU,gEAChB,UAACzsG,MAAA,QAAK,UAAU,6BAA8B,GAC7CpjC,EAAE,yCAAyC,EAAE,KAC/C,EACAojC,EAAA,IAACo1R,IAAA,CACA,MAAOU,EACP,cAAevvI,EACf,UAAW+uI,IACX,YAAa14T,EAAE,6CAA6C,EAC5D,MAAO,CAAE,SAAU,OAAQ,EAC3B,cAAY,iBACZ,UAAW,CAACojC,MAAC,OAAkB,eAAT,QAAU,CAAO,GACxC,EACD,CAEF,CC1BO,MAAM+1R,IAAgD,CAAC,CAC7D,mBAAAH,EACA,eAAAE,EACA,oBAAAE,EACA,gBAAAC,CACD,IAAM,CACC,MAAE,EAAAr5T,CAAE,EAAImtC,GAAe,EAG5B,OAAA0iG,EAAA,KAAC,MAAI,WAAU,YACd,UAACA,OAAA,OAAI,UAAU,yDACd,UAACzsG,MAAA21R,IAAA,CAAiB,mBAAAC,EAAwC,cAAeI,CAAqB,GAC7Fh2R,MAAA61R,IAAA,CAAa,eAAAC,EAAgC,cAAeG,CAAiB,IAC/E,QACC,MAAI,WAAU,4CACb,SAAAr5T,EAAE,4CAA4C,CAChD,IACD,CAEF,EC6Bas5T,IAAsB,CAAC,CACnC,oBAAAxiH,EACA,oCAAA20F,EACA,iBAAA10F,EACA,iCAAA20F,EACA,0BAAAC,EACA,mBAAA10F,EACA,sBAAAI,EACA,oBAAAkiH,EACA,eAAAriH,EACA,sBAAAC,EACA,oBAAAC,EACA,mBAAAJ,EACA,6BAAAluI,EACA,6BAAAE,EAA+B,IAC/B,0BAAAsuI,EACA,gBAAAvhF,EACA,mBAAAijM,EACA,eAAAE,EACA,eAAAljM,EACA,oBAAAwjM,EACA,GAAGtxR,CACJ,IAAgC,CACzB,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAC1B,CAACmvP,EAAcC,CAAe,EAAIlsS,WAAS,EAAE,EAC7C,CAACmsS,EAAoBC,CAAqB,EAAIpsS,WAAS,EAAE,EACzD,CAAE,oBAAAkpL,EAAqB,uBAAAgzF,CAAuB,EAAIz/N,GAAkB,EAEpEwsI,EAAUI,GAAuB,EAEjC,CAAE,kBAAAF,EAAmB,6BAAAC,CAAA,EAAiCJ,GAAqBC,EAASC,CAAmB,EAEvGmjH,EAAmB,IAAM,CACxB,MAAAC,EAAkB/jM,GAAmB,CAAC,EAE5C,GAAI0jM,GAAgB,CAACK,EAAgB,SAASL,CAAY,EAAG,CAC5D,MAAMM,EAAc,CAAC,GAAGD,EAAiBL,CAAY,EACrDD,EAAoB,kBAAmBO,CAAW,EAClDL,EAAgB,EAAE,EAClB7zP,GAAO,YAAY,CAAE,KAAM,kBAAmB,SAAUk0P,EAAa,EAEvE,EAEMC,EAAyB,IAAM,CAC9B,MAAAF,EAAkB9jM,GAAkB,CAAC,EAE3C,GAAI2jM,GAAsB,CAACG,EAAgB,SAASH,CAAkB,EAAG,CACxE,MAAMI,EAAc,CAAC,GAAGD,EAAiBH,CAAkB,EAC3DH,EAAoB,iBAAkBO,CAAW,EACjDH,EAAsB,EAAE,EACxB/zP,GAAO,YAAY,CAAE,KAAM,iBAAkB,SAAUk0P,EAAa,EAEtE,EAGC,OAAAlqL,EAAA,KAAC,MAAK,IAAG3nG,EACR,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA49H,IAAA,CAAW,UAAU,SAAU,GAC/B59H,MAAA,OAAK,SAAEpjC,EAAA,+BAA+B,CAAE,IAC1C,CACD,UAECo3T,GACA,WAACvnL,OAAA,OAAI,UAAU,YACd,UAAAA,OAAC,MACC,WAAC8mE,EAcDvzK,EAAA,IAACsiF,GAAA,CACA,QAASkxF,EACT,SAAU,CAACD,EACX,aAAY32M,EAAE,sCAAsC,EACpD,SAAU,IAAM,CACT,MAAAuvC,EAAW,EAAEmnK,GAAuB,IAC1CgzF,EAAuBn6P,CAAQ,EAC/Bs2B,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAMt2B,EAAU,CACnE,EACA,eAAC,OAAK,WAAU,cAAe,SAAAvvC,EAAE,8BAA8B,CAAE,GAClE,EAvBCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,yCAAyC,EACpE,SAAAojC,EAAA,IAACsiF,GAAA,CACA,QAASkxF,EACT,SAAU,CAACD,EACX,aAAY32M,EAAE,wCAAwC,EACtD,SAAU,IAAM,CAGhB,EACA,eAAC,OAAK,WAAU,cAAe,SAAAA,EAAE,8BAA8B,CAAE,KAEnE,QAcA,MAAI,WAAU,iDACb,SAAAA,EAAE,kCAAkC,CACtC,IACD,EAEAojC,EAAA,IAACimQ,IAAA,CACA,oBAAAvyF,EACA,iBAAAC,EACA,mBAAAE,EACA,sBAAAI,EACA,eAAAH,EACA,sBAAAC,EACA,oBAAAC,EACA,mBAAAJ,EACA,6BAAAluI,EACA,0BAAAwuI,EACA,SAAU,CAAC3tL,EAAKuE,IAAUsrS,EAAoB7vS,EAAKuE,CAAK,EACzD,EAEAkV,EAAA,IAAC+1R,IAAA,CACA,mBAAAH,EACA,eAAAE,EACA,oBAAsBhrS,GAAUsrS,EAAoB,qBAAsBtrS,CAAK,EAC/E,gBAAkBA,GAAUsrS,EAAoB,iBAAkBtrS,CAAK,GACxE,EACD,EAIC4oL,GACAjnE,EAAA,KAAC,MAAI,WAAU,sEACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,qBAAsB,GACrCA,MAAA,OAAK,SAAEpjC,EAAA,qCAAqC,CAAE,IAChD,SACC,MACA,WAAAojC,EAAA,IAACsiF,GAAA,CACA,QAAS+lL,EACT,SAAW3qS,GACV04T,EAAoB,sCAAuC14T,EAAE,OAAO,OAAO,EAE5E,cAAY,mDACZ,eAAC,OAAK,WAAU,cACd,SAAAd,EAAE,sDAAsD,CAC1D,GACD,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,4DAA4D,CAChE,GACD,IACD,EAGA+2M,GACAlnE,EAAA,KAAC,MAAI,WAAU,sEACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,sBAAuB,GACtCA,MAAA,OAAK,SAAEpjC,EAAA,kCAAkC,CAAE,IAC7C,SACC,MACA,WAAAojC,EAAA,IAACsiF,GAAA,CACA,QAASgmL,EACT,SAAW5qS,GACV04T,EAAoB,mCAAoC14T,EAAE,OAAO,OAAO,EAEzE,cAAY,gDACZ,eAAC,OAAK,WAAU,cACd,SAAAd,EAAE,mDAAmD,CACvD,GACD,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,yDAAyD,CAC7D,IACD,SACC,MACA,WAAAojC,EAAA,IAACsiF,GAAA,CACA,QAASimL,EACT,SAAW7qS,GACV04T,EAAoB,4BAA6B14T,EAAE,OAAO,OAAO,EAElE,cAAY,wCACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,4CAA4C,CAAE,GAChF,QACC,MAAI,WAAU,sDACb,SAAAA,EAAE,kDAAkD,CACtD,GACD,IACD,EAGAq3M,GACAxnE,EAAA,KAAC,MAAI,WAAU,sEACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,yBAA0B,GACzCA,MAAA,OAAK,SAAEpjC,EAAA,kCAAkC,CAAE,IAC7C,SACC,MACA,WAAC6vI,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,EACN,MAAO,CAAC4jI,CAAmB,EAC3B,cAAe,CAAC,CAACrrS,CAAK,IAAMsrS,EAAoB,sBAAuBtrS,CAAK,EAC5E,cAAY,uBACb,EACA2hH,OAAC,OAAK,WAAU,OAAQ,UAAA0pL,EAAoB,IAAC,IAC9C,QACC,MAAI,WAAU,iDACb,SAAAv5T,EAAE,uCAAuC,CAC3C,GACD,IACD,EAGA8oE,GACA+mE,EAAA,KAAC,MAAI,WAAU,sEACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,0BAA2B,GAC1CA,MAAA,OAAK,SAAEpjC,EAAA,8CAA8C,CAAE,IACzD,SACC,MACA,WAAC6vI,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,IACL,IAAK,IACL,KAAM,IACN,MAAO,CAAC3sH,CAA4B,EACpC,cAAe,CAAC,CAAC96C,CAAK,IACrBsrS,EAAoB,+BAAgCtrS,CAAK,EAE1D,cAAY,0BACb,EACA2hH,OAAC,OAAK,WAAU,OAAQ,UAA+B7mE,EAAA,IAAK,IAAC,IAC9D,QACC,MAAI,WAAU,iDACb,SAAAhpE,EAAE,qDAAqD,CACzD,GACD,IACD,EAGAg3M,GACAnnE,EAAA,KAAC,MAAI,WAAU,sEACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,0BAA2B,GAC1CA,MAAA,OAAK,SAAEpjC,EAAA,oCAAoC,CAAE,IAC/C,SAEC,MACA,WAAAojC,MAAC,SAAM,UAAU,yBAAyB,cAAY,2BACpD,SAAApjC,EAAE,8CAA8C,EAClD,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,yDAAyD,CAC7D,IACD,EAEA6vI,OAAC,MAAI,WAAU,aACd,UAAAzsG,EAAA,IAACitJ,GAAA,CACA,MAAOopI,EACP,SAAW34T,GAAW44T,EAAgB54T,EAAE,OAAO,KAAK,EACpD,UAAYA,GAAW,CAClBA,EAAE,MAAQ,UACbA,EAAE,eAAe,EACA+4T,EAAA,EAEnB,EACA,YAAa75T,EAAE,iDAAiD,EAChE,UAAU,OACV,cAAY,gBACb,EACAojC,MAAC+qE,GAAO,WAAU,MAAM,QAAS0rN,EAAkB,cAAY,qBAC7D,SAAE75T,EAAA,wCAAwC,CAC5C,IACD,EAEAojC,MAAC,MAAI,WAAU,uBACZ,UAAA2yF,GAAmB,CAAI,OAAI,CAACT,EAAKl5F,IAClCgH,EAAA,IAAC+qE,GAAA,CAEA,QAAQ,YACR,cAAa,kBAAkB/xE,CAAK,GACpC,QAAS,IAAM,CACR,MAAA29R,GAAehkM,GAAmB,IAAI,OAAO,CAACjkG,EAAGxI,IAAMA,IAAM8S,CAAK,EACxEo9R,EAAoB,kBAAmBO,CAAW,EAClDl0P,GAAO,YAAY,CAAE,KAAM,kBAAmB,SAAUk0P,EAAa,CACtE,EACA,SAAAlqL,EAAA,KAAC,MAAI,WAAU,mCACd,UAAAzsG,MAAC,OAAK,SAAIkyF,CAAA,GACVlyF,MAAC3gC,GAAE,WAAU,0BAA2B,GACzC,IAXK25B,CAaN,GACF,EAGAyzG,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,SAAM,UAAU,yBAAyB,cAAY,0BACpD,SAAApjC,EAAE,6CAA6C,EACjD,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,wDAAwD,CAC5D,IACD,EAEA6vI,OAAC,MAAI,WAAU,aACd,UAAAzsG,EAAA,IAACitJ,GAAA,CACA,MAAOspI,EACP,SAAW74T,GAAW84T,EAAsB94T,EAAE,OAAO,KAAK,EAC1D,UAAYA,GAAW,CAClBA,EAAE,MAAQ,UACbA,EAAE,eAAe,EACMk5T,EAAA,EAEzB,EACA,YAAah6T,EAAE,uDAAuD,EACtE,UAAU,OACV,cAAY,uBACb,EACAojC,EAAA,IAAC+qE,GAAA,CACA,UAAU,MACV,QAAS6rN,EACT,cAAY,4BACX,WAAE,wCAAwC,GAC5C,EACD,EAEA52R,MAAC,MAAI,WAAU,uBACZ,UAAA4yF,GAAkB,CAAI,OAAI,CAACV,EAAKl5F,IACjCgH,EAAA,IAAC+qE,GAAA,CAEA,QAAQ,YACR,cAAa,yBAAyB/xE,CAAK,GAC3C,QAAS,IAAM,CACR,MAAA29R,GAAe/jM,GAAkB,IAAI,OAAO,CAAClkG,EAAGxI,IAAMA,IAAM8S,CAAK,EACvEo9R,EAAoB,iBAAkBO,CAAW,EACjDl0P,GAAO,YAAY,CAAE,KAAM,iBAAkB,SAAUk0P,EAAa,CACrE,EACA,SAAAlqL,EAAA,KAAC,MAAI,WAAU,mCACd,UAAAzsG,MAAC,OAAK,SAAIkyF,CAAA,GACVlyF,MAAC3gC,GAAE,WAAU,0BAA2B,GACzC,IAXK25B,CAAA,CAaN,CACF,GACD,GAEF,IACD,CAEF,ECtXa69R,IAAkB,CAAC,CAC/B,mBAAAC,EACA,oBAAAl3B,EACA,kBAAAm3B,EACA,kBAAAC,EACA,qBAAAC,EACA,oBAAAb,EACA,GAAGtxR,CACJ,IAA4B,CACrB,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAE1B,CAACgwP,EAAmBC,CAAoB,EAAI/sS,WAAS,EAAK,EAC1D,CAACgtS,EAAYC,CAAa,EAAIjtS,WAAoD,IAAI,EACtF,CAACktS,EAAaC,CAAc,EAAIntS,WAAS,EAAK,EAOpDnC,YAAU,IAAM,CACT,MAAAm+C,EAAiBx8C,GAAwB,CAC9C,MAAM4+B,EAAU5+B,EAAM,KAElB4+B,EAAQ,OAAS,4BACpB6uQ,EAAc,CAAE,QAAS7uQ,EAAQ,QAAS,KAAMA,EAAQ,KAAM,EAC9D2uQ,EAAqB,EAAK,EAC1BI,EAAe,EAAK,EAEtB,EAEO,+BAAiB,UAAWnxP,CAAa,EAEzC,IAAM,CACL,2BAAoB,UAAWA,CAAa,CACpD,CACD,EAAG,EAAE,EAEL,MAAMoxP,EAAiB,SAAY,CAClCL,EAAqB,EAAI,EACzBE,EAAc,IAAI,EAEd,IAEH50P,GAAO,YAAY,CAAE,KAAM,wBAAyB,KAAMu0P,EAAmB,QACrEpjS,EAAO,CACDyjS,EAAA,CACb,QAAS,GACT,KAAM,UAAUzjS,aAAiB,MAAQA,EAAM,QAAU,OAAOA,CAAK,CAAC,GACtE,EACDujS,EAAqB,EAAK,EAE5B,EAEM1tS,EAAUO,EAAA,QACf,IAAM,CACL,CACC,MAAO,WACP,MAAOptB,EAAE,gDAAgD,CAC1D,EACA,CACC,MAAO,UACP,MAAOA,EAAE,gDAAgD,CAC1D,EACA,CAAE,MAAO,WAAY,MAAOA,EAAE,0CAA0C,CAAE,EAC1E,CAAE,MAAO,UAAW,MAAOA,EAAE,0CAA0C,CAAE,CAC1E,EACA,CAACA,CAAC,CACH,EAGC,OAAA6vI,EAAA,KAAC,MAAK,IAAG3nG,EACR,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAAw/H,IAAA,CAAmB,UAAU,KAAM,GACnCx/H,MAAA,OAAK,SAAEpjC,EAAA,2BAA2B,CAAE,IACtC,CACD,UAECo3T,GACA,WAAAvnL,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASw0M,EACT,SAAWp5T,GAAW04T,EAAoB,qBAAsB14T,EAAE,OAAO,OAAO,EAChF,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,+BAA+B,CAAE,GACnE,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,sCACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GAAa,uBAAwB,uBAAuB,EAClE,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,EAEC4qL,GACArqL,EAAA,KAAC,MAAI,WAAU,sEACd,UAAAA,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBAA0B,SAAApjC,EAAE,iCAAiC,EAAE,EAChF6vI,EAAA,KAACn3B,GAAA,CACA,MAAOsqL,EACP,cAAgB90Q,GAAUsrS,EAAoB,sBAAuBtrS,CAAK,EAC1E,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,SACC+nM,GACA,UAAA3kK,EAAA,IAACqqK,KACC,SAAQ5gL,EAAA,IAAI,CAAC,CAAE,MAAAqB,EAAO,MAAAw2F,WACrBqpF,GAAuB,OAAA7/K,EACtB,YADeA,CAEjB,CACA,EACF,CACD,IACD,QACC,MAAI,WAAU,iDACb,SAAAluB,EAAE,uCAAuC,CAC3C,IACD,SAEC,MACA,WAAAojC,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,0CAA0C,EAC9C,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,EACN,MAAO,CAACwkI,GAAqB,EAAE,EAC/B,cAAe,CAAC,CAACjsS,CAAK,IAAMsrS,EAAoB,oBAAqBtrS,CAAK,EAC3E,EACA2hH,OAAC,OAAK,WAAU,OAAQ,UAAqBsqL,GAAA,GAAG,IAAC,IAClD,QACC,MAAI,WAAU,iDACb,SAAAn6T,EAAE,gDAAgD,CACpD,IACD,SAEC,MACA,WAAAojC,EAAA,IAACsiF,GAAA,CACA,QAAS20M,EACT,SAAWv5T,GAAW,CAED04T,EAAA,uBAAwB14T,EAAE,OAAO,OAAO,EAEvDA,EAAE,OAAO,SAEb04T,EAAoB,oBAAqB,MAAS,CAEpD,EACA,eAAC,QAAM,WAAU,yBAA0B,SAAAx5T,EAAE,+BAA+B,CAAE,GAC/E,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,qCAAqC,CACzC,IACD,EAECq6T,GAECxqL,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACijF,GAAA,CACA,MAAO+zM,GAAqB,GAC5B,SAAWt5T,GACV04T,EAAoB,oBAAqB14T,EAAE,OAAO,OAAS,MAAS,EAErE,YAAad,EAAE,wCAAwC,EACvD,MAAO,CAAE,SAAU,CAAE,EACtB,EACCojC,EAAA,IAAAqiF,GAAA,CAAa,SAAU60M,EAAmB,QAASM,EAClD,SACE56T,EADmBs6T,GAAAI,EACjB,wCACA,oCADuC,CAE7C,IACD,EACCF,GACAp3R,EAAA,IAAC,OACA,UAAW,0BACVo3R,EAAW,QACR,iCACA,4BACJ,GACC,SAAWA,EAAA,KACb,QAEA,MAAI,WAAU,iDACb,SAAAx6T,EAAE,sCAAsC,CAC1C,GACD,GAEF,GAEF,IACD,CAEF,EClNa66T,IAAqB,CAAC,CAAE,kBAAAC,EAAmB,oBAAAtB,EAAqB,GAAGtxR,KAAqC,CAC9G,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAE/B,OAAAulE,EAAA,KAAC,MAAK,IAAG3nG,EACR,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA2+H,IAAA,CAAU,UAAU,KAAM,GAC1B3+H,MAAA,OAAK,SAAEpjC,EAAA,+BAA+B,CAAE,IAC1C,CACD,GAEAojC,EAAA,IAACg0R,GACA,UAAAvnL,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASo1M,EACT,SAAWh6T,GAAW,CACD04T,EAAA,oBAAqB14T,EAAE,OAAO,OAAO,CAC1D,EACA,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,mCAAmC,CAAE,GACvE,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,0CACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GAAa,uBAAwB,sBAAsB,EACjE,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,CACD,IACD,CAEF,EC/BayrL,IAAuB,CAAC,CACpC,WAAAC,EACA,SAAAC,EACA,aAAA9zM,EACA,YAAA4kL,EACA,oBAAAytB,EACA,GAAGtxR,CACJ,IAAiC,CAC1B,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAE/B,OAAAulE,EAAA,KAAC,MAAK,IAAG3nG,EACR,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA29H,IAAA,CAAK,UAAU,KAAM,GACrB39H,MAAA,OAAK,SAAEpjC,EAAA,iCAAiC,CAAE,IAC5C,CACD,UAECo3T,GACA,WAAAvnL,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASs1M,EACT,SAAWl6T,GAAW04T,EAAoB,aAAc14T,EAAE,OAAO,OAAO,EACxE,cAAY,uBACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,kCAAkC,CAAE,GACtE,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,wCAAwC,CAC5C,IACD,EAECg7T,GACC53R,MAAA,OAAI,UAAU,sEACd,gBAAC,MACA,WAAAA,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,uCAAuC,EAC3C,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,GACL,IAAK,EACL,KAAM,IACN,MAAO,CAACslI,GAAY,CAAG,EACvB,cAAe,CAAC,CAAC/sS,CAAK,IAAMsrS,EAAoB,WAAYtrS,CAAK,EACjE,cAAY,mBACb,EACA2hH,OAAC,OAAK,WAAU,OAAU,YAAYorL,GAAA,GAAO,KAAK,QAAQ,CAAC,EAAE,IAAC,GAC/D,IACD,CACD,UAGA,MACA,WAAA73R,EAAA,IAACsiF,GAAA,CACA,QAASyB,EACT,SAAWrmH,GAAW04T,EAAoB,eAAgB14T,EAAE,OAAO,OAAO,EAC1E,cAAY,yBACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,oCAAoC,CAAE,GACxE,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,0CAA0C,CAC9C,IACD,EAECmnH,GACC/jF,MAAA,OAAI,UAAU,sEACd,gBAAC,MACA,WAAAA,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,0CAA0C,EAC9C,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,EACL,KAAM,IACN,MAAO,CAACo2G,GAAe,EAAG,EAC1B,cAAe,CAAC,CAAC79Q,CAAK,IAAMsrS,EAAoB,cAAetrS,CAAK,EACpE,cAAY,sBACb,EACA2hH,OAAC,OAAK,WAAU,OAAU,YAAek8J,GAAA,IAAO,KAAK,QAAQ,CAAC,EAAE,IAAC,GAClE,IACD,CACD,GAEF,IACD,CAEF,EC3DamvB,IAA4B,CAAC,CACzC,oBAAAC,EACA,2BAAAC,EACA,kBAAAr0C,EACA,mBAAAs0C,EACA,kBAAAC,EACA,oBAAAC,EACA,oBAAA/B,EACA,gBAAAgC,EACA,iBAAAC,EACA,kBAAAC,EACA,uBAAAC,EACA,kBAAAC,EAAoB,CAAC,EACrB,0BAAAC,EACA,sBAAAC,EACA,aAAAlwB,EACA,UAAAtlO,EACA,GAAGp+B,CACJ,IAAsC,CAC/B,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAC1B,CAACyxP,EAA0BC,CAA2B,EAAIvsS,GAAM,SAAiB,SAAS,EAG1FwsS,EAA2B,IAAM,CACtC,GAAIF,IAA6B,UACzB,OAAAX,EAEF,MAAAc,EAAmBN,EAAkBG,CAAwB,EAC/D,OAAAG,IAAqB,QAAaA,IAAqB,GACnDd,EAEDc,CACR,EAGMtG,EAAyB1nS,GAAkB,CAChD,GAAI6tS,IAA6B,UAChCvC,EAAoB,6BAA8BtrS,CAAK,MACjD,CACN,MAAMiuS,EAAgB,CACrB,GAAGP,EACH,CAACG,CAAwB,EAAG7tS,CAC7B,EACAsrS,EAAoB,oBAAqB2C,CAAa,EACtDt2P,GAAO,YAAY,CAClB,KAAM,oBACN,OAAQs2P,CAAA,CACR,EAEH,EAEC,OAAAtsL,EAAA,KAAC,OAAI,UAAWh5D,GAAG,sBAAuBvQ,CAAS,EAAI,GAAGp+B,EACzD,UAAC9E,MAAA6xQ,GAAA,CAAc,YAAaj1S,EAAE,wCAAwC,EACrE,SAAC6vI,OAAA,OAAI,UAAU,0BACd,UAACzsG,MAAAq+H,GAAA,CAAS,UAAU,KAAM,GACzBr+H,MAAA,OAAK,SAAEpjC,EAAA,qCAAqC,CAAE,IAChD,CACD,UAECo3T,GACA,WAAAvnL,OAAC,MACA,WAAAzsG,MAAC,OAAK,WAAU,yBAA0B,SAAApjC,EAAE,2CAA2C,EAAE,EACzF6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,EACN,MAAO,CAAC0lI,GAAsB,EAAE,EAChC,cAAe,CAAC,CAACntS,CAAK,IAAMsrS,EAAoB,qBAAsBtrS,CAAK,EAC3E,cAAY,yBACb,EACCkV,EAAA,YAAK,UAAU,OAAQ,YAAsB,EAAG,IAClD,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,iDAAiD,CACrD,IACD,SAEC,MACA,WAAAojC,MAAC,OAAK,WAAU,yBACd,SAAApjC,EAAE,iDAAiD,EACrD,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,EACN,MAAO,CAAC2lI,GAAqB,GAAG,EAChC,cAAe,CAAC,CAACptS,CAAK,IAAMsrS,EAAoB,oBAAqBtrS,CAAK,EAC1E,cAAY,+BACb,EACCkV,EAAA,YAAK,UAAU,OAAQ,YAAqB,GAAI,IAClD,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,uDAAuD,CAC3D,IACD,SAEC,MACA,WAAAojC,MAAC,OAAK,WAAU,yBACd,SAAApjC,EAAE,yDAAyD,EAC7D,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,EACN,MAAO,CAAC,KAAK,IAAI,EAAGgmI,GAA0B,CAAC,CAAC,EAChD,cAAe,CAAC,CAACztS,CAAK,IAAMsrS,EAAoB,yBAA0BtrS,CAAK,EAC/E,cAAY,mCACb,EACAkV,MAAC,QAAK,UAAU,eAAgB,cAAK,IAAI,EAAGu4R,GAA0B,CAAC,CAAE,IAC1E,QACC,MAAI,WAAU,sDACb,SAAA37T,EAAE,+DAA+D,CACnE,IACD,SAEC,MACA,WAAAojC,EAAA,IAACsiF,GAAA,CACA,QAAS61M,EACT,SAAWz6T,GAAW04T,EAAoB,sBAAuB14T,EAAE,OAAO,OAAO,EACjF,cAAY,iCACZ,eAAC,QAAM,WAAU,yBACf,SAAAd,EAAE,4CAA4C,CAChD,GACD,QACC,MAAI,WAAU,sDACb,SAAAA,EAAE,kDAAkD,CACtD,IACD,SAEC,MACA,WAAC6vI,OAAA,OAAI,UAAU,sBACd,UAAAzsG,MAAC,OAAK,WAAU,cAAe,SAAApjC,EAAE,8CAA8C,EAAE,EACjF6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACitJ,GAAA,CACA,KAAK,SACL,QAAQ,WACR,UAAU,uQACV,MAAOmrI,GAAmB,GAC1B,IAAK,GACL,SAAW16T,GAAM,CAChB,MAAMyuC,EAAW,SAASzuC,EAAE,OAAO,MAAO,EAAE,EACxC,CAAC,MAAMyuC,CAAQ,GAAKA,GAAY,IACnCiqR,EAAoB,kBAAmBjqR,CAAQ,CAEjD,EACA,QAAUzuC,GAAMA,EAAE,cAAc,OAAO,EACvC,cAAY,2BACZ,SAAU06T,IAAoB,GAC/B,EACCp4R,EAAA,YAAM,SAAEpjC,EAAA,8CAA8C,CAAE,GACzDojC,EAAA,IAACsiF,GAAA,CACA,QAAS81M,IAAoB,GAC7B,SAAW16T,GACV04T,EAAoB,kBAAmB14T,EAAE,OAAO,QAAU,GAAK,GAAG,EAEnE,cAAY,qCACX,WAAE,yDAAyD,GAC7D,CACD,IACD,QACC,MAAI,WAAU,iDACb,SAAAd,EAAE,oDAAoD,CACxD,IACD,SAEC,MACA,WAAC6vI,OAAA,OAAI,UAAU,sBACd,UAAAzsG,MAAC,OAAK,WAAU,cAAe,SAAApjC,EAAE,mDAAmD,EAAE,EACtF6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACitJ,GAAA,CACA,KAAK,SACL,QAAQ,SACR,UAAU,mPACV,MAAOorI,GAAoB,EAC3B,IAAK,EACL,IAAK,IACL,SAAW36T,GAAM,CAChB,MAAMyuC,EAAW,SAASzuC,EAAE,OAAO,MAAO,EAAE,EACxC,CAAC,MAAMyuC,CAAQ,GAAKA,GAAY,GAAKA,GAAY,KACpDiqR,EAAoB,mBAAoBjqR,CAAQ,CAElD,EACA,QAAUzuC,GAAMA,EAAE,cAAc,OAAO,EACvC,cAAY,4BACb,EACCsiC,MAAA,QAAM,SAAEpjC,EAAA,gDAAgD,CAAE,GAC5D,IACD,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,yDAAyD,CAC7D,IACD,SAEC,MACA,WAAC6vI,OAAA,OAAI,UAAU,sBACd,UAAAzsG,MAAC,OAAK,WAAU,cAAe,SAAApjC,EAAE,oDAAoD,EAAE,EACvF6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACitJ,GAAA,CACA,KAAK,SACL,QAAQ,SACR,UAAU,mPACV,MAAOqrI,GAAqB,GAC5B,IAAK,EACL,IAAK,IACL,SAAW56T,GAAM,CAChB,MAAMyuC,EAAW,SAASzuC,EAAE,OAAO,MAAO,EAAE,EACxC,CAAC,MAAMyuC,CAAQ,GAAKA,GAAY,GAAKA,GAAY,KACpDiqR,EAAoB,oBAAqBjqR,CAAQ,CAEnD,EACA,QAAUzuC,GAAMA,EAAE,cAAc,OAAO,EACvC,cAAY,6BACb,EACCsiC,MAAA,QAAM,SAAEpjC,EAAA,iDAAiD,CAAE,GAC7D,IACD,QACC,MAAI,WAAU,iDACb,SAAAA,EAAE,0DAA0D,CAC9D,IACD,SAEC,MACA,WAAAojC,EAAA,IAACsiF,GAAA,CACA,QAASm2M,EACT,SAAW/6T,GAAW04T,EAAoB,4BAA6B14T,EAAE,OAAO,OAAO,EACvF,cAAY,uCACZ,eAAC,QAAM,WAAU,yBACf,SAAAd,EAAE,8DAA8D,CAClE,GACD,QACC,MAAI,WAAU,sDACb,SAAAA,EAAE,oEAAoE,CACxE,IACD,SAEC,MACA,WAAAojC,MAAC,OAAK,WAAU,yBACd,SAAApjC,EAAE,0DAA0D,EAC9D,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,EACN,MAAO,CACNmmI,IAA0B,QAAaA,GAAyB,EAC7D,IACCA,GAAyB,EAC9B,EACA,cAAe,CAAC,CAAC5tS,CAAK,IAAM,CAE3BsrS,EAAoB,wBAAyBtrS,IAAU,IAAM,GAAKA,CAAK,CACxE,EACA,cAAY,iCACZ,aAAYluB,EAAE,0DAA0D,EACxE,gBAAe,EACf,gBAAe,IACf,gBACC87T,IAA0B,QAAaA,GAAyB,EAC7D,IACCA,GAAyB,GAE9B,iBACEA,IAA0B,QAAaA,GAAyB,GACjEA,IAA0B,IACvB97T,EAAE,mEAAmE,EACrE,GAAG87T,GAAyB,EAAE,IAAI97T,EAAE,0DAA0D,CAAC,GAEpG,EACCojC,EAAA,YAAK,UAAU,2BACb,aAA0B,QAAa04R,GAAyB,GAClEA,IAA0B,IACvB97T,EAAE,mEAAmE,EACpE87T,GAAyB,GAC9B,EACA14R,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,KACL,QAAS,IAAMqrN,EAAoB,wBAAyB,EAAE,EAC9D,MAAOx5T,EAAE,iEAAiE,EAC1E,UAAU,cACV,SAAU87T,IAA0B,GACpC,SAAA14R,MAAC,OAAK,WAAU,yBAA0B,IAC3C,EACD,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,gEAAgE,CACpE,IACD,SAEC,MACA,WAAAojC,MAAC,OAAK,WAAU,yBACd,SAAApjC,EAAE,8DAA8D,EAClE,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,IACN,MAAO,CAACi2G,CAAY,EACpB,cAAe,CAAC,CAAC19Q,CAAK,IAAMsrS,EAAoB,eAAgBtrS,CAAK,EACrE,cAAY,qBACb,EACA2hH,OAAC,OAAK,WAAU,OAAQ,UAAA+7J,EAAa,KAAE,IACxC,QACC,MAAI,WAAU,iDACb,SAAA5rS,EAAE,oEAAoE,CACxE,GACD,IACD,EACA6vI,OAACunL,GAAQ,WAAU,OAClB,UAAAh0R,EAAA,IAACsiF,GAAA,CACA,QAASy1M,EACT,SAAWr6T,GAAW04T,EAAoB,sBAAuB14T,EAAE,OAAO,OAAO,EACjF,cAAY,iCACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,qDAAqD,CAAE,GACzF,EACCm7T,GACAtrL,EAAA,KAAC,MAAI,WAAU,sEACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAAy+H,IAAA,CAAa,KAAM,EAAI,GACvBz+H,MAAA,OAAK,SAAEpjC,EAAA,sDAAsD,CAAE,IACjE,QACC,MACA,UAAA6vI,EAAA,KAACn3B,GAAA,CACA,MAAOqjN,GAA4B,UACnC,cAAgB7tS,GAAU,CACzB8tS,EAA4B9tS,CAAK,CAClC,EACA,cAAY,2BACZ,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,EAAA,IAACokK,GAAA,CACA,YACCxnM,EAAE,8DAA8D,GAChE,iCAGH,SACC+nM,GACA,WAAA3kK,MAAC2qK,IAAW,MAAM,UAChB,SAAE/tM,EAAA,+DAA+D,GACjE,iDACF,GACE+mR,GAAqB,IAAI,IAAK7wP,GAAW,CACpC,MAAAgmS,EAAmBN,EAAkB1lS,EAAO,EAAE,EAC9CkmS,EACLF,IAAqB,OAClBA,IAAqB,GACpB,IAAIl8T,EACJ,4DACA,CACC,UAAWo7T,CAAA,CAEZ,IACA,KAAKc,CAAgB,KACtB,GACJ,OACErsL,OAAAk+D,GAAA,CAA2B,MAAO73K,EAAO,GACxC,UAAOA,EAAA,KACPkmS,CAAA,GAFelmS,EAAO,EAGxB,CAED,GACF,MAEF,SAGC,MACA,WAAC25G,OAAA,OAAI,UAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,GACL,IAAK,IACL,KAAM,EACN,MAAO,CAACsmI,GAA0B,EAClC,cAAe,CAAC,CAAC/tS,CAAK,IAAM0nS,EAAsB1nS,CAAK,EACvD,cAAY,4BACb,EACA2hH,OAAC,OAAK,WAAU,OAAQ,UAAyBosL,EAAA,EAAE,IAAC,IACrD,QACC,MAAI,WAAU,iDACb,SAA6BF,IAAA,UAC3B/7T,EAAE,oEAAqE,CACvE,UAAWo7T,CAAA,CACX,EACAp7T,EAAE,mEAAmE,CACzE,GACD,GACD,GAEF,IACD,CAEF,EC7Yaq8T,IAAmB,CAAC,CAChC,wBAAAC,EACA,6BAAAC,EACA,gCAAAC,EACA,iCAAA5+B,EACA,qBAAA6+B,EACA,0BAAAC,EACA,wBAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,4BAAAC,EACA,oBAAAvD,EACA,UAAAlzP,EACA,GAAGp+B,CACJ,IAA6B,CACtB,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAE1B,CAAC0yP,EAAYC,CAAa,EAAIzvS,WAAkB,EAAI,EAEjDE,GAAA,IAAMm4C,GAAO,YAAY,CAAE,KAAM,mBAAoB,QAAS,gCAAiC,CAAC,CAAC,EAEpG,MAAAq4M,EAAYryP,cAAamB,GAAwB,CACtD,MAAM4+B,EAA4B5+B,EAAM,KAExC,OAAQ4+B,EAAQ,KAAM,CACrB,IAAK,gBACJ,OAAQA,EAAQ,QAAS,CACxB,IAAK,iCACUqxQ,EAAArxQ,EAAQ,OAAS,EAAI,EACnC,KAEA,CAEF,KAEA,CAEH,EAAG,EAAE,EAEL,OAAAl/B,GAAS,UAAWwxP,CAAS,EAG5BruI,EAAA,KAAC,OAAI,UAAWh5D,GAAG,gBAAiBvQ,CAAS,EAAI,GAAGp+B,EACnD,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA0/H,IAAA,CAAe,UAAU,KAAM,GAC/B1/H,MAAA,OAAK,SAAEpjC,EAAA,4BAA4B,CAAE,IACvC,CACD,UAECo3T,GAEA,WAACvnL,OAAA,OAAI,UAAU,sBACd,UAAAzsG,MAAC,OAAI,UAAU,sBACd,SAACysG,EAAA,YAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,+BAAgC,GAC/CA,MAAA,OAAK,SAAEpjC,EAAA,+BAA+B,CAAE,IAC1C,CACD,GACA6vI,OAAC,MAAI,WAAU,sEACd,UAAAA,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,yCAAyC,EAC7C,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,IACL,IAAK,IACL,KAAM,IACN,MAAO,CAAC2mI,GAA2B,GAAG,EACtC,cAAe,CAAC,CAACpuS,CAAK,IAAMsrS,EAAoB,0BAA2BtrS,CAAK,EAChF,cAAY,+BACb,EACCkV,EAAA,YAAK,UAAU,OAAQ,YAA2B,GAAI,IACxD,QACC,MAAI,WAAU,iDACd,SAACA,MAAAgI,GAAA,CAAM,QAAQ,gDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,mDACA,gCACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SACC,MACA,WAAAlsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,8CAA8C,EAClD,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,IACL,IAAK,IACL,KAAM,IACN,MAAO,CAAC4mI,GAAgC,GAAK,EAC7C,cAAe,CAAC,CAACruS,CAAK,IACrBsrS,EAAoB,+BAAgCtrS,CAAK,EAE1D,cAAY,yCACb,EACCkV,EAAA,YAAK,UAAU,OAAQ,YAAgC,GAAM,IAC/D,QACC,MAAI,WAAU,iDACd,SAACA,MAAAgI,GAAA,CAAM,QAAQ,qDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,mDACA,0CACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SACC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASq3M,GAA+B,GACxC,SAAWj8T,GACV04T,EAAoB,8BAA+B14T,EAAE,OAAO,OAAO,EAEpE,cAAY,0CACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,6CAA6C,CAAE,GACjF,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,oDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,0DACA,yCACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,GACD,GACD,IACD,EAGAO,OAAC,MAAI,WAAU,sBACd,UAACA,OAAA,OAAI,UAAU,sBACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,uBAAwB,GACvCA,MAAA,OAAK,SAAEpjC,EAAA,kCAAkC,CAAE,IAC7C,QACC,MAAI,WAAU,oCACb,SAAAA,EAAE,wCAAwC,CAC5C,IACD,EACA6vI,OAAC,MAAI,WAAU,sEACd,UAAAA,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASs3M,EACT,SAAWl8T,GAAW,CACPm8T,EAAAn8T,EAAE,OAAO,OAAO,EAC9B+kE,GAAO,YAAY,CAClB,KAAM,sBACN,QAAS,iCACT,MAAO/kE,EAAE,OAAO,QAChB,CACF,EACA,cAAY,gCACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,oCAAoC,CAAE,GACxE,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,2CACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,2DACA,+BACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASk4K,GAAoC,GAC7C,SAAW98R,GACV04T,EAAoB,mCAAoC14T,EAAE,OAAO,OAAO,EAEzE,eAAC,OAAK,WAAU,cACd,SAAAd,EAAE,kDAAkD,CACtD,GACD,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,yDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,gEACA,8CACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,EAEC,CAACsuJ,GAEA/tJ,OAAA/kG,EAAA,oBAAA+kG,OAAC,MACA,WAAAzsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,iDAAiD,EACrD,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,IACL,IAAK,IACL,KAAM,IACN,MAAO,CAAC6mI,GAAmC,GAAI,EAC/C,cAAe,CAAC,CAACtuS,CAAK,IACrBsrS,EACC,kCACA,KAAK,IAAI,IAAO,KAAK,IAAI,IAAMtrS,CAAK,CAAC,EACtC,CAEF,EACA2hH,OAAC,OAAK,WAAU,OACb,WAAA2sL,GAAmC,KAAQ,IAAK,IACnD,IACD,QACC,MAAI,WAAU,iDACd,SAACp5R,MAAAgI,GAAA,CAAM,QAAQ,wDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,gEACA,6CACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,sCAAsC,EAC1C,EACA6vI,OAAC,MAAI,WAAU,0BACd,UAAAzsG,EAAA,IAACuyJ,GAAA,CACA,IAAK,EACL,IAAK,IACL,KAAM,GACN,MAAO,CAAC8mI,GAAwB,CAAC,EACjC,cAAe,CAAC,CAACvuS,CAAK,IACrBsrS,EACC,uBACA,KAAK,IAAI,IAAM,KAAK,IAAI,EAAGtrS,CAAK,CAAC,EAClC,CAEF,EACA2hH,OAAC,OAAK,WAAU,OAAQ,UAAwB4sL,GAAA,GAAG,KAAE,IACtD,QACC,MAAI,WAAU,iDACd,SAACr5R,MAAAgI,GAAA,CAAM,QAAQ,6CACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,oDACA,iCACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASg3M,GAA6B,GACtC,SAAW57T,GACV04T,EAAoB,4BAA6B14T,EAAE,OAAO,OAAO,EAElE,cAAY,uCACZ,eAAC,OAAK,WAAU,cACd,SAAAd,EAAE,2CAA2C,CAC/C,GACD,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,kDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,kEACA,sCACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASi3M,GAA2B,GACpC,SAAW77T,GACV04T,EAAoB,0BAA2B14T,EAAE,OAAO,OAAO,EAEhE,cAAY,uCACZ,eAAC,OAAK,WAAU,cACd,SAAAd,EAAE,yCAAyC,CAC7C,GACD,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,gDACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,gDACA,sCACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASk3M,GAAmB,GAC5B,SAAW97T,GAAW04T,EAAoB,kBAAmB14T,EAAE,OAAO,OAAO,EAC7E,cAAY,8BACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,iCAAiC,CAAE,GACrE,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,wCACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,0DACA,6BACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASm3M,GAAmB,GAC5B,SAAW/7T,GAAW04T,EAAoB,kBAAmB14T,EAAE,OAAO,OAAO,EAC7E,cAAY,6BACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,iCAAiC,CAAE,GACrE,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,wCACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,8DACA,4BACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,IACD,SAEC,MACA,WAAAlsG,EAAA,IAACsiF,GAAA,CACA,QAASo3M,GAAmB,GAC5B,SAAWh8T,GAAW04T,EAAoB,kBAAmB14T,EAAE,OAAO,OAAO,EAC7E,cAAY,4BACZ,eAAC,OAAK,WAAU,cAAe,SAAAd,EAAE,iCAAiC,CAAE,GACrE,QACC,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,wCACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,qDACA,2BACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,eAEH,CACD,GACD,GACD,GAEF,GACD,GACD,IACD,CAEF,EChba4tL,GAAsB,CAAC,CAAE,QAAApsS,EAAS,SAAAf,EAAU,cAAAotS,KAA8C,CAChG,MAAE,EAAAn9T,CAAE,EAAIsqE,GAAkB,EAG1B8yP,EAAUD,EAAgB,yBAAyBA,CAAa,QAAU,GAC1En+B,EAAiBm+B,EAAgB,yBAAyBA,CAAa,eAAiB,GAE9F,cACE,MACA,WAAC/5R,MAAA,OAAI,UAAU,0BACd,SAAAA,EAAA,IAACsiF,IAAe,QAAS50F,EAAS,SAAWhwB,GAAWivB,EAASjvB,EAAE,OAAO,OAAO,EAChF,SAAAsiC,MAAC,OAAK,WAAU,cAAe,SAAEpjC,EAAAo9T,CAAO,CAAE,GAC3C,CACD,SACC,IAAE,WAAU,iDAAkD,SAAAp9T,EAAEg/R,CAAc,CAAE,IAClF,CAEF,ECPaq+B,IAAuB,CAAC,CACpC,YAAA51P,EACA,qBAAA61P,EACA,UAAAh3P,EACA,GAAGp+B,CACJ,IAAiC,CAC1B,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAG/B,OAAAulE,EAAA,KAAC,OAAI,UAAWh5D,GAAG,sBAAuBvQ,CAAS,EAAI,GAAGp+B,EACzD,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAAw+H,IAAA,CAAa,UAAU,KAAM,GAC7Bx+H,MAAA,OAAK,SAAEpjC,EAAA,gCAAgC,CAAE,IAC3C,CACD,SAECo3T,GACC,iBAAO,QAAQzyP,GAAoB,EAClC,OAAO,CAAC,CAACh7C,CAAG,IAAMA,KAAO+6C,EAAc,EACvC,IAAKxuC,GACDA,EAAO,CAAC,IAAM,wBAEhBkN,EAAA,IAAC85R,GAAA,CAEA,cAAehnS,EAAO,CAAC,EACvB,QAASuxC,EAAY/C,GAAe,qBAAqB,GAAK,GAC9D,SAAW5zC,GACVwsS,EAAqB54P,GAAe,sBAAuB5zC,CAAO,GAJ9DoF,EAAO,CAAC,CAMd,EAIDkN,EAAA,IAAC85R,GAAA,CAEA,cAAehnS,EAAO,CAAC,EACvB,QAASuxC,EAAY/C,GAAexuC,EAAO,CAAC,CAAgC,CAAC,GAAK,GAClF,SAAWpF,GACVwsS,EACC54P,GAAexuC,EAAO,CAAC,CAAgC,EACvDpF,CAAA,CACD,EAPIoF,EAAO,CAAC,CASd,CAED,CACH,IACD,CAEF,EClDaqnS,IAAmB,CAAC,CAAE,SAAAxwR,EAAU,oBAAAysR,EAAqB,UAAAlzP,EAAW,GAAGp+B,KAAmC,CAC5G,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAG/B,OAAAulE,EAAA,KAAC,OAAI,UAAWh5D,GAAG,sBAAuBvQ,CAAS,EAAI,GAAGp+B,EACzD,UAAA9E,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA4+H,GAAA,CAAM,UAAU,KAAM,GACtB5+H,MAAA,OAAK,SAAEpjC,EAAA,4BAA4B,CAAE,IACvC,CACD,GAECojC,EAAA,IAAAg0R,GAAA,CACA,SAACvnL,OAAAn3B,GAAA,CAAO,MAAO3rE,EAAU,cAAgB7e,GAAUsrS,EAAoB,WAAYtrS,CAAiB,EACnG,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,SACC+nM,GACA,UAAA3kK,EAAA,IAACqqK,IACC,iBAAO,QAAQhpI,GAAS,EAAE,IAAI,CAAC,CAACv/B,EAAMvY,CAAI,IACzCkjH,OAAAk+D,GAAA,CAAsB,MAAO7oK,EAC5B,UAAAvY,EACDkjH,OAAC,OAAK,WAAU,wBAAwB,cAAE3qG,EAAK,IAAC,KAFhCA,CAGjB,CACA,EACF,CACD,IACD,CACD,IACD,CAEF,EC7Bas4R,IAAQ,CAAC,CAAE,iBAAA//O,EAAkB,oBAAAggP,EAAqB,UAAAn3P,EAAW,GAAGp+B,KAAwB,CAC9F,MAAE,EAAAloC,CAAE,EAAIsqE,GAAkB,EAG/B,OAAAulE,EAAA,KAAC,OAAI,UAAWh5D,GAAG,sBAAuBvQ,CAAS,EAAI,GAAGp+B,EACzD,UAAA9E,EAAA,IAAC6xQ,GAAA,CACA,YAEI,YAAYr5F,GAAQ,OAAO,KAAKA,GAAQ,IAAI,MAAM,EAAG,CAAC,CAAC,IAG3D,SAAA/rE,EAAA,KAAC,MAAI,WAAU,0BACd,UAACzsG,MAAA++H,GAAA,CAAK,UAAU,KAAM,GACrB/+H,MAAA,OAAK,SAAEpjC,EAAA,yBAAyB,CAAE,GACpC,GACD,SAECo3T,GACA,WAAAvnL,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASjoC,IAAqB,UAC9B,SAAW38E,GAAW,CACf,MAAAy9J,EAAUz9J,EAAE,OAAO,UAAY,GACjB28T,EAAAl/J,EAAU,UAAY,UAAU,CACrD,EACC,WAAE,iCAAiC,EACrC,EACAn7H,MAAC,IAAE,WAAU,iDACZ,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,wCACR,WAAY,CACX,YAAahI,MAACwiF,GAAW,MAAK,6BAA8B,GAC7D,EAEF,IACD,QAEC,MACA,UAAAxiF,EAAA,IAACgI,GAAA,CACA,QAAQ,2BACR,WAAY,CACX,WAAYhI,MAACwiF,GAAW,MAAK,wCAAyC,GACtE,WAAYxiF,MAACwiF,GAAW,MAAK,8BAA+B,GAC5D,YAAaxiF,MAACwiF,GAAW,MAAK,4BAA6B,GAC5D,GAEF,EAEAiqB,OAAC,MAAI,WAAU,yCACd,UAACA,OAAA1hC,GAAA,CAAO,QAAS,IAAMtoC,GAAO,YAAY,CAAE,KAAM,gBAAiB,CAAC,EAAG,UAAU,OAChF,UAACziC,MAAA6/H,IAAA,CAAO,UAAU,OAAQ,GACzBjjK,EAAE,iCAAiC,GACrC,EACC6vI,OAAA1hC,GAAA,CAAO,QAAS,IAAMtoC,GAAO,YAAY,CAAE,KAAM,gBAAiB,CAAC,EAAG,UAAU,OAChF,UAACziC,MAAAs+H,IAAA,CAAS,UAAU,OAAQ,GAC3B1hK,EAAE,iCAAiC,GACrC,EACA6vI,EAAA,KAAC1hC,GAAA,CACA,QAAQ,cACR,QAAS,IAAMtoC,GAAO,YAAY,CAAE,KAAM,aAAc,EACxD,UAAU,OACV,UAACziC,MAAA4/H,GAAA,CAAc,UAAU,OAAQ,GAChChjK,EAAE,gCAAgC,IACpC,CACD,GACD,IACD,CAEF,ECvFM09T,IAA0BC,GAC1BA,GAAA,MAAAA,EAAa,OACX;AAAA;AAAA,EAAiCA,EACtC,IAAKp8T,GAAM,MAAMA,EAAE,QAAU,OAAO,KAAKA,EAAE,OAAO,GAAGA,EAAE,KAAO,KAAKA,EAAE,IAAI,IAAM,EAAE,EAAE,EACnF,KAAK;AAAA,CAAI,CAAC,GAHqB,GAMrBq8T,IAAe,CAAC5lO,EAAkBhkE,IACvCgkE,EAAS,QAAQ,aAAc,CAAClmE,EAAGnI,IAAQ,CACjD,GAAIA,IAAQ,iBACJ,OAAA+zS,IAAuB1pS,EAAO,WAAuB,EAElD,GAAAA,EAAO,eAAerK,CAAG,EAAG,CAEhC,MAAAuE,EAAQ8F,EAAOrK,CAAG,EACpB,cAAOuE,GAAU,SACbA,EAGA,OAAOA,CAAK,CACpB,KAGO,SACR,CACA,EAmBI2vS,GAAuE,CAC5E,QAAS,CACR,SAAU;;AAAA,cAGX,EACA,SAAU,CACT,SAAU;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,sGAqCX,EACA,QAAS,CACR,SAAU,qUAWX,EACA,IAAK,CACJ,SAAU,wUAaX,EACA,QAAS,CACR,SAAU;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,wEAcX,EACA,eAAgB,CACf,SAAU,gEAIX,EACA,wBAAyB,CACxB,SAAU,8DAKX,EACA,aAAc,CACb,SAAU;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,kCAUX,EACA,iBAAkB,CACjB,SAAU;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,gCAUX,EACA,SAAU,CACT,SAAU,eAEZ,EAEaC,GAAgB,CAC5B,QAAS,OAAO,YAAY,OAAO,QAAQD,EAAoB,EAAE,IAAI,CAAC,CAACl0S,EAAKuM,CAAM,IAAM,CAACvM,EAAKuM,EAAO,QAAQ,CAAC,CAAC,EAC/G,IAAK,CAACmxC,EAAuDp2C,KACrDo2C,GAAA,YAAAA,EAAuBp2C,KAAS4sS,GAAqB5sS,CAAI,EAAE,SAEnE,OAAQ,CAACA,EAAyB+C,EAAsBqzC,IAAuD,CAC9G,MAAM2wB,EAAW8lO,GAAc,IAAIz2P,EAAsBp2C,CAAI,EACtD,OAAA2sS,IAAa5lO,EAAUhkE,CAAM,EAEtC,EC/JM+pS,IAAkB,CAAC,CACxB,qBAAA12P,EACA,wBAAA22P,EACA,4BAA6BC,EAC7B,+BAAgCC,CACjC,IAA4B,CACrB,MAAE,EAAAl+T,CAAE,EAAIsqE,GAAkB,EAC1B,CACL,kBAAAy8M,EACA,uBAAAo3C,EACA,0BAAAC,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,0BAAAC,EACA,4BAA6BC,EAC7B,+BAAgCC,GAC7Bz0P,GAAkB,EAGhBb,EAA8B60P,GAAoCQ,EAClEp1P,EAAiC60P,GAAuCQ,EAExE,CAACC,EAAYC,CAAa,EAAIpxS,WAAS,EAAE,EACzC,CAACqxS,EAAaC,CAAc,EAAItxS,WAAS,EAAK,EAC9C,CAACuxS,EAAqBC,CAAsB,EAAIxxS,WAA4B,SAAS,EAE3FnC,YAAU,IAAM,CACT,MAAAuB,EAAWI,GAAwB,CACxC,MAAM4+B,EAAU5+B,EAAM,KAClB4+B,EAAQ,OAAS,mBAChBA,EAAQ,MACXgzQ,EAAchzQ,EAAQ,IAAI,EAE3BkzQ,EAAe,EAAK,EAEtB,EAEO,+BAAiB,UAAWlyS,CAAO,EACnC,IAAM,OAAO,oBAAoB,UAAWA,CAAO,CAC3D,EAAG,EAAE,EAEC,MAAAqyS,EAAsB,CAAChuS,EAAyB/C,IAA8B,CACnF,GAAI+C,IAAS,WACcutS,EAAAtwS,GAAS4vS,GAAc,QAAQ,QAAQ,EACjEj4P,GAAO,YAAY,CAClB,KAAM,yBACN,KAAM33C,GAAS4vS,GAAc,QAAQ,SACrC,MACK,CACN,MAAMoB,EAAiB,CAAE,GAAG73P,EAAsB,CAACp2C,CAAI,EAAG/C,CAAM,EAChE8vS,EAAwBkB,CAAc,EAExC,EAEMC,EAAsBluS,GAA4B,CACvD,GAAIA,IAAS,WACcutS,EAAAV,GAAc,QAAQ,QAAQ,EACxDj4P,GAAO,YAAY,CAClB,KAAM,yBACN,KAAMi4P,GAAc,QAAQ,SAC5B,MACK,CACA,MAAAoB,EAAiB,CAAE,GAAG73P,CAAqB,EACjD,OAAO63P,EAAejuS,CAAI,EAC1B+sS,EAAwBkB,CAAc,EAExC,EAEME,EAAyBnuS,GAC1BA,IAAS,WACLstS,GAA0BT,GAAc,QAAQ,SAEjDA,GAAc,IAAIz2P,EAAsBp2C,CAAI,EAG9CouS,EAAwB,IAAM,CAC9BV,EAAW,SAEhBG,EAAe,EAAI,EACnBj5P,GAAO,YAAY,CAClB,KAAM,gBACN,KAAM84P,CAAA,CACN,EACF,EAEA,cACE,MACA,WAACv7R,MAAA6xQ,GAAA,CAAc,YAAaj1S,EAAE,8BAA8B,EAC3D,SAAC6vI,OAAA,OAAI,UAAU,0BACd,UAACzsG,MAAAg/H,IAAA,CAAc,UAAU,KAAM,GAC9Bh/H,MAAA,OAAK,SAAEpjC,EAAA,2BAA2B,CAAE,IACtC,CACD,UAECo3T,GACA,WAAAvnL,OAAC,MACA,WAAAA,EAAA,KAACn3B,GAAA,CACA,MAAOqmN,EACP,cAAgB9tS,GAAS+tS,EAAuB/tS,CAAyB,EACzE,UAACmS,EAAA,IAAAwjK,GAAA,CAAc,UAAU,SAAS,cAAY,gCAC7C,SAACxjK,MAAAokK,GAAA,CAAY,YAAaxnM,EAAE,wBAAwB,CAAG,GACxD,EACAojC,MAAC2kK,GACC,iBAAO,KAAK+1H,GAAc,OAAO,EAAE,IAAK7sS,GACvCmS,MAAA2qK,GAAA,CAAsB,MAAO98K,EAAM,cAAa,GAAGA,CAAI,UACtD,SAAAjxB,EAAE,gCAAgCixB,CAAI,QAAQ,GAD/BA,CAEjB,CACA,CACF,IACD,EACAmS,MAAC,OAAI,UAAU,iDACb,WAAE,gCAAgC27R,CAAmB,cAAc,CACrE,IACD,EAEAlvL,OAAC,MAA8B,WAAU,OACxC,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,QAAM,WAAU,oBAAqB,SAAApjC,EAAE,+BAA+B,EAAE,EACzEojC,EAAA,IAAC+hK,GAAA,CACA,QAASnlM,EAAE,qCAAsC,CAChD,WAAY++T,CAAA,CACZ,EACD,SAAC37R,EAAA,IAAA+qE,GAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,QAAS,IAAMgxN,EAAmBJ,CAAmB,EACxF,SAAA37R,EAAA,IAAC,OAAK,WAAU,0BAA0B,CAC3C,IACD,EACD,EAEAA,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,MAAOg5M,EAAsBL,CAAmB,EAChD,SAAWj+T,GAAM,SAIV,MAAA41S,KAFJjoR,GAAAxC,EAAAnrB,GAAA,YAAAA,EAA8B,SAA9B,YAAAmrB,EAAsC,SAAtC,YAAAwC,EAA8C,QAC7C3tB,EAAU,OAA+B,OACjB,KAAK,EACZm+T,EAAAF,EAAqBroB,GAAgB,MAAS,CACnE,EACA,KAAM,EACN,UAAU,SACX,GAEEqoB,IAAwB,WAAaA,IAAwB,aAC7DlvL,OAAA,OAAI,UAAU,2EACd,UAAAA,OAAC,MACA,WAACzsG,MAAA,SAAM,UAAU,yBACf,SACEpjC,EADsB++T,IAAA,UACpB,kDACA,kDADiD,CAEvD,GACAlvL,EAAA,KAACn3B,GAAA,CACA,MACCqmN,IAAwB,UACrBZ,GAA0B,IAC1BE,GAAyB,IAE7B,cAAgBnwS,GAAU,CACnB,MAAAoxS,EAAcpxS,IAAU,IAAM,GAAKA,EACrC6wS,IAAwB,WAC3BX,EAA0BkB,CAAW,EACrCz5P,GAAO,YAAY,CAClB,KAAM,yBACN,KAAM33C,CAAA,CACN,IAEDowS,EAAyBgB,CAAW,EACpCz5P,GAAO,YAAY,CAClB,KAAM,wBACN,KAAMy5P,CAAA,CACN,EAEH,EACA,UAAAl8R,EAAA,IAACwjK,GAAc,eAAY,oBAAoB,UAAU,SACxD,SAAAxjK,EAAA,IAACokK,GAAA,CACA,YAEIxnM,EADH++T,IAAwB,UACnB,kDACA,kDADiD,CACC,GAG1D,SACCh3H,GACA,WAAC3kK,MAAA2qK,GAAA,CAAW,MAAM,IAChB,SACE/tM,EADsB++T,IAAA,UACpB,kDACA,kDADiD,CAEvD,IACEh4C,GAAqB,CAAI,OAAK7wP,GAC/BkN,EAAA,IAAC2qK,GAAA,CAEA,MAAO73K,EAAO,GACd,cAAa,GAAGA,EAAO,EAAE,UACxB,SAAOA,EAAA,MAHHA,EAAO,EAKb,GACF,IACD,EACAkN,MAAC,MAAI,WAAU,iDACb,SACEpjC,EADF++T,IAAwB,UACpB,sDACA,sDADqD,CAE3D,IACD,EAECA,IAAwB,WAEvBlvL,OAAA/kG,EAAA,oBAAA+kG,OAAC,MACA,WAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASt8C,GAA+B,GACxC,SAAWtoE,GAAW,CACf,MAAAotB,EAAQptB,EAAE,OAAO,QACvBuoE,EAA+Bn7C,CAAK,EACpC23C,GAAO,YAAY,CAClB,KAAM,8BACN,KAAM33C,CAAA,CACN,CACF,EACA,eAAC,OAAK,WAAU,cACd,SAAAluB,EAAE,mDAAmD,CACvD,GACD,QACC,MAAI,WAAU,sDACb,SAAAA,EAAE,8DAA8D,CAClE,IACD,SAEC,MACA,WAAAojC,MAAC,QAAM,WAAU,yBACf,SAAApjC,EAAE,gDAAgD,EACpD,EACAojC,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,MAAOu4M,EACP,SAAW79T,GAAM89T,EAAe99T,EAAE,OAA+B,KAAK,EACtE,YAAad,EAAE,sDAAsD,EACrE,KAAM,EACN,UAAU,SACV,cAAY,uBACb,EACAojC,MAAC,MAAI,WAAU,6CACd,SAAAA,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,QAASkxN,EACT,SAAUR,EACT,WAAE,8CAA8C,GAEnD,GACD,GACD,GAEF,KAvIQE,CAyIV,EACD,IACD,CAEF,ECxNaQ,IAAwB,2DACxBC,IACZ,wIACYC,GACZ,8OACYC,IAA2B,iFAMlCC,GAAe,CACpB,YACA,cACA,UACA,cACA,gBACA,oBACA,WACA,UACA,eACA,WACA,OACD,EASMC,IAAepxR,EAA+C,YAAC,CAAE,OAAA8lQ,EAAQ,cAAAurB,CAAA,EAAiB10S,IAAQ,CACjG,MAAE,EAAAnrB,CAAE,EAAIsqE,GAAkB,EAE1BF,EAAiBH,GAAkB,EACnC,CAAE,qBAAAsnN,EAAsB,kBAAAxK,EAAmB,UAAA6yB,EAAW,mBAAAkmB,CAAuB,EAAA11P,EAE7E,CAACwgN,EAAqBC,CAAoB,EAAIr9P,WAAS,EAAK,EAC5D,CAACuyS,EAAkBC,CAAiB,EAAIxyS,WAAS,EAAK,EACtD,CAAC6+B,EAAcsqQ,CAAe,EAAInpS,WAA6B,MAAS,EACxE,CAAC29C,EAAW80P,CAAY,EAAIzyS,EAAA,SACjCqyS,GAAiBF,GAAa,SAASE,CAA4B,EAC/DA,EACD,WACJ,EAEMK,EAAoB90S,SAAOmmQ,CAAoB,EAC/CzG,EAAuB1/P,SAAmB,EAE1C,CAAC+0S,EAAaC,CAAc,EAAI5yS,WAAS48C,CAAc,EAEvD,CACL,oBAAA0sI,EACA,oCAAA20F,EACA,gBAAA11K,EACA,eAAAC,EACA,mBAAAgjM,EACA,eAAAE,EACA,SAAAnsR,EACA,mBAAAkqK,EACA,mBAAAD,EACA,eAAAE,EACA,sBAAAC,EACA,oBAAAC,EACA,iBAAAL,EACA,iCAAA20F,EACA,0BAAAC,EACA,sBAAAt0F,EACA,oBAAA8jH,EACA,2BAAAC,EACA,mBAAAlB,EACA,oBAAAl3B,EACA,kBAAA83B,GACA,YAAArF,GACA,YAAAhuP,EACA,oBAAAiuP,GACA,mBAAA2F,EACA,kBAAAC,GACA,WAAA+E,GACA,oBAAA9G,GACA,kBAAAa,GACA,kBAAAD,GACA,aAAAhzM,EACA,WAAA6zM,GACA,SAAAC,GACA,YAAAlvB,GACA,iBAAAtuN,GACA,wBAAA6+O,GACA,6BAAAC,GACA,gCAAAC,GACA,iCAAA5+B,GACA,qBAAA6+B,GACA,0BAAAC,GACA,wBAAAC,GACA,gBAAAC,GACA,gBAAAC,GACA,gBAAAC,GACA,aAAAlxB,GACA,oBAAA2vB,GACA,qBAAAlB,GACA,gBAAAmB,GACA,iBAAAC,GACA,kBAAAC,GACA,4BAAAqB,GACA,uBAAApB,GACA,sBAAA0C,GACA,uBAAAE,GACA,qBAAAl3P,GACA,kBAAAu0P,GACA,6BAAA9yP,GACA,0BAAAwuI,GACA,6BAAAtuI,GACA,0BAAA6yP,GACA,sBAAAC,GACA,4BAAA1yP,EAAA,EACG+2P,EAEEh5P,GAAmB/5C,EAAQ,YAAM+yS,EAAY,kBAAoB,GAAI,CAACA,EAAY,gBAAgB,CAAC,EAEzG90S,YAAU,IAAM,CAGX60S,EAAkB,UAAY3uC,IAIlC6uC,EAAgBE,KAAqB,CAAE,GAAGA,GAAiB,GAAGl2P,GAAiB,EAC/E81P,EAAkB,QAAU3uC,EAC5ByuC,EAAkB,EAAK,EACrB,GAACzuC,EAAsBnnN,EAAgB21P,CAAgB,CAAC,EAG3D10S,YAAU,IAAM,CACXy0S,IACHM,EAAgBE,KAAqB,CAAE,GAAGA,GAAiB,GAAGl2P,GAAiB,EAC/E41P,EAAkB,EAAK,EACxB,EACE,CAACF,EAAoB11P,CAAc,CAAC,EAEvC,MAAMovP,GAA4E3tS,cAAY,CAAC8W,GAAOzU,KAAU,CAC/GkyS,EAAgBr5P,IACXA,GAAUpkC,EAAK,IAAMzU,GACjB64C,IAGRi5P,EAAkB,EAAI,EACf,CAAE,GAAGj5P,GAAW,CAACpkC,EAAK,EAAGzU,EAAM,EACtC,CACF,EAAG,EAAE,EAECuqR,GAA2B5sR,EAAA,YAChC,CAAmC8W,GAAUzU,KAA+B,CAC3EkyS,EAAgBr5P,IAAc,WAC7B,QAAI96C,GAAA86C,GAAU,mBAAV,YAAA96C,GAA6B0W,OAAWzU,GACpC64C,MAGct4C,GAAAs4C,GAAU,mBAAV,YAAAt4C,GAA6BkU,OAIX,QAAazU,KAAU,QAG9D8xS,EAAkB,EAAI,EAEhB,CAAE,GAAGj5P,GAAW,iBAAkB,CAAE,GAAGA,GAAU,iBAAkB,CAACpkC,EAAK,EAAGzU,GAAQ,GAC3F,CACF,EACA,EACD,EAEMovS,GAA6CzxS,cAAY,CAACxe,GAAkByjB,KAAqB,CACtGsvS,EAAgBr5P,IAAc,QAC7B,QAAI96C,GAAA86C,GAAU,cAAV,YAAA96C,GAAwB5e,OAAQyjB,GAC5Bi2C,IAGRi5P,EAAkB,EAAI,EACf,CAAE,GAAGj5P,GAAW,YAAa,CAAE,GAAGA,GAAU,YAAa,CAAC15D,EAAE,EAAGyjB,GAAU,GAChF,CACF,EAAG,EAAE,EAEC2sS,GAAsB5xS,cAAaw2M,IAA8B,CACtE+9F,EAAgBr5P,IACXA,GAAU,mBAAqBs7J,GAC3Bt7J,IAGRi5P,EAAkB,EAAI,EACf,CAAE,GAAGj5P,GAAW,iBAAkBs7J,EAAQ,EACjD,CACF,EAAG,EAAE,EAECk+F,GAA+B10S,cAAa20S,IAAgD,CACjGJ,EAAgBr5P,IACX,KAAK,UAAUA,GAAU,oBAAoB,IAAM,KAAK,UAAUy5P,EAAO,EACrEz5P,IAGRi5P,EAAkB,EAAI,EACf,CAAE,GAAGj5P,GAAW,qBAAsBy5P,EAAQ,EACrD,CACF,EAAG,EAAE,EAECC,GAAiB,CAACp0Q,EAElBq0Q,GAAe,IAAM,CACtBD,KACH56P,GAAO,YAAY,CAAE,KAAM,WAAY,KAAM94B,EAAU,EACvD84B,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAMixI,EAAqB,EAC7EjxI,GAAO,YAAY,CAClB,KAAM,sCACN,KAAM4lO,CAAA,CACN,EACD5lO,GAAO,YAAY,CAAE,KAAM,mBAAoB,KAAMkxI,EAAkB,EACvElxI,GAAO,YAAY,CAAE,KAAM,mCAAoC,KAAM6lO,EAAkC,EACvG7lO,GAAO,YAAY,CAAE,KAAM,4BAA6B,KAAM8lO,EAA2B,EACzF9lO,GAAO,YAAY,CAAE,KAAM,qBAAsB,KAAMmxI,EAAoB,EAC3EnxI,GAAO,YAAY,CAAE,KAAM,qBAAsB,KAAMoxI,EAAoB,EAC3EpxI,GAAO,YAAY,CAAE,KAAM,iBAAkB,KAAMqxI,EAAgB,EAC5DrxI,GAAA,YAAY,CAAE,KAAM,kBAAmB,SAAUkwD,GAAmB,GAAI,EACxElwD,GAAA,YAAY,CAAE,KAAM,iBAAkB,SAAUmwD,GAAkB,GAAI,EAC7EnwD,GAAO,YAAY,CAAE,KAAM,qBAAsB,MAAOmzP,GAAsB,OAAW,EACzFnzP,GAAO,YAAY,CAAE,KAAM,iBAAkB,MAAOqzP,GAAkB,OAAW,EACjFrzP,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAMs1P,EAAqB,EAC7Et1P,GAAO,YAAY,CAAE,KAAM,6BAA8B,MAAOu1P,EAA4B,EAC5Fv1P,GAAO,YAAY,CAAE,KAAM,qBAAsB,KAAMq0P,EAAoB,EAC3Er0P,GAAO,YAAY,CAAE,KAAM,eAAgB,KAAMshD,EAAc,EAC/DthD,GAAO,YAAY,CAAE,KAAM,aAAc,KAAMm1P,GAAY,EAC3Dn1P,GAAO,YAAY,CAAE,KAAM,WAAY,MAAOo1P,GAAU,EACxDp1P,GAAO,YAAY,CAAE,KAAM,cAAe,MAAOkmO,GAAa,EAC9DlmO,GAAO,YAAY,CAAE,KAAM,cAAe,KAAM4vP,GAAa,EAC7D5vP,GAAO,YAAY,CAAE,KAAM,oBAAqB,KAAMi1P,GAAmB,EACzEj1P,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAMm9N,EAAqB,EAC7En9N,GAAO,YAAY,CAAE,KAAM,oBAAqB,KAAMu0P,GAAmB,EACzEv0P,GAAO,YAAY,CAAE,KAAM,uBAAwB,KAAMw0P,GAAsB,EAC/Ex0P,GAAO,YAAY,CAAE,KAAM,sBAAuB,MAAO6vP,IAAuB,EAAK,EACrF7vP,GAAO,YAAY,CAAE,KAAM,eAAgB,MAAO+lO,GAAc,EAChE/lO,GAAO,YAAY,CAAE,KAAM,oBAAqB,MAAOs0P,IAAqB,GAAI,EAChFt0P,GAAO,YAAY,CAAE,KAAM,0BAA2B,MAAOy2P,IAA2B,IAAK,EAC7Fz2P,GAAO,YAAY,CAAE,KAAM,+BAAgC,MAAO02P,IAAgC,IAAO,EACzG12P,GAAO,YAAY,CAAE,KAAM,kCAAmC,MAAO22P,GAAiC,EACtG32P,GAAO,YAAY,CAAE,KAAM,mCAAoC,KAAM+3N,GAAkC,EACvG/3N,GAAO,YAAY,CAAE,KAAM,uBAAwB,MAAO42P,GAAsB,EAChF52P,GAAO,YAAY,CAAE,KAAM,4BAA6B,KAAM62P,GAA2B,EACzF72P,GAAO,YAAY,CAAE,KAAM,0BAA2B,KAAM82P,GAAyB,EACrF92P,GAAO,YAAY,CAAE,KAAM,kBAAmB,KAAM+2P,GAAiB,EACrE/2P,GAAO,YAAY,CAAE,KAAM,kBAAmB,KAAMg3P,GAAiB,EACrEh3P,GAAO,YAAY,CAAE,KAAM,kBAAmB,KAAMi3P,GAAiB,EACrEj3P,GAAO,YAAY,CAAE,KAAM,8BAA+B,KAAMk3P,GAA6B,EAC7Fl3P,GAAO,YAAY,CAAE,KAAM,aAAc,KAAMw6P,GAAY,EAC3Dx6P,GAAO,YAAY,CAAE,KAAM,wBAAyB,KAAMwxI,EAAuB,EACjFxxI,GAAO,YAAY,CAAE,KAAM,sBAAuB,MAAO0zP,GAAqB,EAC9E1zP,GAAO,YAAY,CAAE,KAAM,qBAAsB,MAAOw1P,EAAoB,EAC5Ex1P,GAAO,YAAY,CAAE,KAAM,oBAAqB,MAAOy1P,IAAqB,IAAK,EACjFz1P,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAM01P,GAAqB,EAC7E11P,GAAO,YAAY,CAAE,KAAM,kBAAmB,MAAO21P,IAAmB,GAAI,EAC5E31P,GAAO,YAAY,CAAE,KAAM,mBAAoB,MAAO41P,IAAoB,EAAG,EAC7E51P,GAAO,YAAY,CAAE,KAAM,oBAAqB,MAAO61P,IAAqB,GAAI,EACzE71P,GAAA,YAAY,CAAE,KAAM,yBAA0B,MAAOs6P,EAAY,wBAA0B,EAAG,EACrGt6P,GAAO,YAAY,CAAE,KAAM,4BAA6B,KAAMg2P,GAA2B,EACzFh2P,GAAO,YAAY,CAAE,KAAM,wBAAyB,MAAOi2P,IAAyB,GAAI,EACxFj2P,GAAO,YAAY,CAAE,KAAM,uBAAwB,KAAM0rN,EAAsB,EAC/E1rN,GAAO,YAAY,CAAE,KAAM,qBAAsB,OAAQ4B,EAAa,EACtE5B,GAAO,YAAY,CAAE,KAAM,wBAAyB,KAAMsxI,EAAuB,EACjFtxI,GAAO,YAAY,CAAE,KAAM,sBAAuB,KAAMuxI,EAAqB,EAC7EvxI,GAAO,YAAY,CAAE,KAAM,+BAAgC,KAAMiD,GAA8B,EAC/FjD,GAAO,YAAY,CAAE,KAAM,4BAA6B,KAAMyxI,GAA2B,EACzFzxI,GAAO,YAAY,CAAE,KAAM,+BAAgC,MAAOmD,GAA8B,EAChGnD,GAAO,YAAY,CAAE,KAAM,wBAAyB,KAAMw4P,IAAyB,GAAI,EACvFx4P,GAAO,YAAY,CAAE,KAAM,yBAA0B,KAAM04P,IAA0B,GAAI,EAClF14P,GAAA,YAAY,CAAE,KAAM,sBAAuB,OAAQwB,IAAwB,GAAI,EACtFxB,GAAO,YAAY,CAAE,KAAM,8BAA+B,KAAMuD,IAA+B,GAAO,EACtGvD,GAAO,YAAY,CAAE,KAAM,yBAA0B,KAAM0rN,EAAsB,iBAAApqN,GAAkB,EACnGtB,GAAO,YAAY,CAAE,KAAM,mBAAoB,KAAM4X,GAAkB,EACvE5X,GAAO,YAAY,CAAE,KAAM,oBAAqB,OAAQ+1P,GAAmB,EAC3EoE,EAAkB,EAAK,EAEzB,EAEMW,GAAqB90S,EAAA,YACzB8xO,IAAqB,CACjBoiE,GACHj1C,EAAqB,QAAUntB,GAC/BktB,EAAqB,EAAI,GAEpBltB,GAAA,CAEP,EACA,CAACoiE,CAAgB,CAClB,EAEAtsB,EAAA,oBAAoBtoR,EAAK,KAAO,CAAE,mBAAAw1S,KAAuB,CAACA,EAAkB,CAAC,EAE7E,MAAMz0C,GAAwBrgQ,EAAA,YAC5BsgQ,IAAqB,QACjBA,KAEHi0C,EAAeh2P,CAAc,EAC7B41P,EAAkB,EAAK,GACvB/zS,GAAA6+P,EAAqB,UAArB,MAAA7+P,GAAA,KAAA6+P,GAGF,EACA,CAAC1gN,CAAc,CAChB,EAGMw2P,GAAkB/0S,EAAA,YACtBg1S,IAAwB,CAExBZ,EAAaY,EAAM,CACpB,EACA,EACD,EAGMC,GAAU11S,EAAA,OACf,OAAO,YAAYu0S,GAAa,IAAKhzS,IAAS,CAACA,GAAM,IAAI,CAAC,CAAC,CAC5D,EAGM,CAACo0S,GAAeC,EAAgB,EAAIxzS,WAAS,EAAK,EAClD6yH,GAAej1H,SAAuB,IAAI,EAGhDC,YAAU,IAAM,CACX,IAACg1H,GAAa,QAAS,OAE3B,MAAMnnH,GAAW,IAAI,eAAgBqkI,IAAY,CAChD,UAAWxnD,MAASwnD,GAEFyjK,GAAAjrN,GAAM,YAAY,MAAQ,GAAG,CAC/C,CACA,EAEQ,OAAA78E,GAAA,QAAQmnH,GAAa,OAAO,EAE9B,IAAM,CACZnnH,IAAA,MAAAA,GAAU,YACX,CACD,EAAG,EAAE,EAEL,MAAMuwD,GAAoDr8D,EAAA,QACzD,IAAM,CACL,CAAE,GAAI,YAAa,KAAMg2I,EAAQ,EACjC,CAAE,GAAI,cAAe,KAAMpC,GAAW,EACtC,CAAE,GAAI,UAAW,KAAM4B,GAAmB,EAC1C,CAAE,GAAI,cAAe,KAAMb,GAAU,EACrC,CAAE,GAAI,gBAAiB,KAAMhB,GAAK,EAClC,CAAE,GAAI,oBAAqB,KAAMU,EAAS,EAC1C,CAAE,GAAI,WAAY,KAAMqB,GAAe,EACvC,CAAE,GAAI,UAAW,KAAMV,GAAc,EACrC,CAAE,GAAI,eAAgB,KAAMR,GAAa,EACzC,CAAE,GAAI,WAAY,KAAMI,EAAM,EAC9B,CAAE,GAAI,QAAS,KAAMG,EAAK,CAC3B,EACA,EACD,EAGA92I,YAAU,IAAM,CACXw0S,GAAiBF,GAAa,SAASE,CAA4B,GACtEI,EAAaJ,CAA4B,CAC1C,EACE,CAACA,CAAa,CAAC,EAGZ,MAAAoB,GAAoBp1S,cAAY,IAAM,CACrC,MAAAq1S,GAAmBJ,GAAQ,QAAQ31P,CAAS,EAE9C+1P,IACHA,GAAiB,eAAe,CAC/B,SAAU,OACV,MAAO,UACP,CACF,EACE,CAAC/1P,CAAS,CAAC,EAGd9/C,mBAAU,IAAM,CACG41S,GAAA,GAChB,CAAC91P,EAAW81P,EAAiB,CAAC,EAGjCxuL,kBAAgB,IAAM,CACf,MAAAjpE,GAAiBx8C,IAAwB,CAC9C,MAAM4+B,GAAU5+B,GAAM,KAClB4+B,GAAQ,OAAS,UAAYA,GAAQ,SAAW,oBACjCq1Q,GAAA,CAEpB,EAEO,+BAAiB,UAAWz3P,EAAa,EAEzC,IAAM,CACL,2BAAoB,UAAWA,EAAa,CACpD,GACE,CAACy3P,EAAiB,CAAC,SAGpBjoN,GACA,WAAC62B,OAAAkkK,GAAA,CAAU,UAAU,0CACpB,UAAC3wQ,EAAA,WAAI,UAAU,0BACd,SAACA,MAAA,MAAG,UAAU,6BAA8B,SAAApjC,EAAE,uBAAuB,CAAE,GACxE,EACA6vI,OAAC,MAAI,WAAU,aACd,UAAAzsG,EAAA,IAAC+hK,GAAA,CACA,QACEs7H,GAGGzgU,EADD+/T,EACG,oCACA,uCADmC,EAFtC1zQ,EAKJ,SAAAjpB,EAAA,IAAC+qE,GAAA,CACA,QAASsyN,GAAiB,UAAY,YACtC,UAAYA,GAAoD,GAAnC,iCAC7B,QAASC,GACT,SAAU,CAACX,GAAoB,CAACU,GAChC,cAAY,cACX,WAAE,sBAAsB,GAC1B,CACD,QACCt7H,GAAgB,SAASnlM,EAAE,mCAAmC,EAC9D,eAACmuG,GAAO,SAAQ,YAAY,QAAS,IAAMwyN,GAAmBrsB,CAAM,EAClE,SAAEt0S,EAAA,sBAAsB,EAC1B,CACD,GACD,IACD,EAGA6vI,OAAC,OAAI,IAAKwQ,GAAc,UAAWxpE,GAAG0oP,IAAuBwB,IAAiB,QAAQ,EAErF,UAAA39R,EAAA,IAAC+wQ,IAAA,CACA,MAAOhpO,EACP,cAAgBj9C,IAAU0yS,GAAgB1yS,EAAoB,EAC9D,UAAW2oD,GAAG2oP,GAAe,EAC7B,eAAcuB,GACd,cAAY,oBACX,YAAS,IAAI,CAAC,CAAE,GAAA1zT,GAAI,KAAMizJ,MAAW,CACrC,MAAM2tC,GAAa5gM,KAAO89D,EACpBk9G,GAAW,IAAMu4I,GAAgBvzT,EAAE,EAInC8zT,GACL/9R,EAAA,IAACgxQ,IAAA,CACA,IAAM5lR,IAAasyS,GAAQ,QAAQzzT,EAAE,EAAImhB,GACzC,MAAOnhB,GACP,WAAA4gM,GACA,UAAWp3H,GACVo3H,GACG,GAAGwxH,EAAkB,IAAIC,GAAwB,GACjDD,GACH,cACD,EACA,cAAa,OAAOpyT,EAAE,GACtB,eAAc0zT,GACd,gBAAC,MAAI,WAAWlqP,GAAG,0BAA2BkqP,IAAiB,gBAAgB,EAC9E,UAAC39R,MAAAk9H,GAAA,CAAK,UAAU,SAAU,GAC1Bl9H,MAAC,QAAK,UAAU,YAAa,WAAE,qBAAqB/1B,EAAE,EAAE,CAAE,GAC3D,GACD,EAGD,OAAI0zT,GAGD39R,EAAA,IAAA6uK,GAAA,CAAyB,cAAe,IACxC,gBAACa,IACA,WAAC1vK,MAAAowK,IAAA,CAAe,QAAO,GAAC,QAASnrB,GAE/B,SAAM54J,GAAA,aAAa0xS,EAAgB,CACrC,GACC/9R,MAAAuwK,GAAA,CAAe,KAAK,QAAQ,UAAU,YACtC,SAAAvwK,MAAC,IAAE,WAAU,MAAO,SAAEpjC,EAAA,qBAAqBqN,EAAE,EAAE,EAAE,CAClD,GACD,IATqBA,EAUtB,EAKMoiB,GAAM,aAAa0xS,GAAkB,CAAE,IAAK9zT,GAAI,CAExD,GACF,EAGAwiI,OAACmkK,GAAW,WAAU,2BAEpB,UAAc7oO,IAAA,oBACb,MACA,WAAA/nC,MAAC6xQ,GACA,UAAAplK,OAAC,MAAI,WAAU,0BACd,UAACzsG,MAAAggI,GAAA,CAAQ,UAAU,KAAM,GACxBhgI,MAAA,OAAK,SAAEpjC,EAAA,6BAA6B,CAAE,IACxC,CACD,UAECo3T,GACA,WAAAh0R,EAAA,IAAC8xQ,IAAA,CACA,qBAAA3jB,EACA,kBAAAxK,EACA,eAAiBwvB,IAChBoqB,GAAmB,IAClB96P,GAAO,YAAY,CAAE,KAAM,uBAAwB,KAAM0wO,EAAY,EACtE,EAED,eAAiBA,IAChB1wO,GAAO,YAAY,CAAE,KAAM,yBAA0B,KAAM0wO,GAAY,EAExE,eAAgB,CAAC6qB,GAAiBC,KAAoB,CACrDx7P,GAAO,YAAY,CAClB,KAAM,yBACN,OAAQ,CAAE,QAAAu7P,GAAS,QAAAC,EAAQ,EAC3B,iBAAAl6P,EAAA,CACA,EACD+4P,EAAkB,QAAUmB,EAC7B,EACA,eAAiB9qB,IAChB1wO,GAAO,YAAY,CAClB,KAAM,yBACN,KAAM0wO,GACN,iBAAApvO,EACA,GAEH,EACA/jC,EAAA,IAACszR,IAAA,CACA,UAAA9c,EACA,iBAAAzyO,GACA,yBAAAsxO,GACA,aAAApsP,EACA,gBAAAsqQ,CAAA,EACD,CACD,IACD,EAIAxrP,IAAc,eACd/nC,EAAA,IAACk2R,IAAA,CACA,oBAAAxiH,EACA,oCAAA20F,EACA,iBAAA10F,EACA,iCAAA20F,EACA,0BAAAC,EACA,mBAAA10F,EACA,sBAAAI,EACA,oBAAAkiH,GACA,eAAAriH,EACA,sBAAAC,EACA,oBAAAC,EACA,mBAAAJ,EACA,6BAAAluI,GACA,0BAAAwuI,GACA,6BAAAtuI,GACA,gBAAA+sD,EACA,eAAAC,EACA,oBAAAwjM,EAAA,CACD,EAIAruP,IAAc,WACd/nC,EAAA,IAAC62R,IAAA,CACA,mBAAAC,EACA,oBAAAl3B,EACA,kBAAAm3B,GACA,kBAAAC,GACA,qBAAAC,GACA,oBAAAb,EAAA,CACD,EAIAruP,IAAc,eACd/nC,EAAA,IAACy3R,IAAA,CACA,kBAAAC,GACA,oBAAAtB,EAAA,CACD,EAIAruP,IAAc,iBACd/nC,EAAA,IAAC23R,IAAA,CACA,WAAAC,GACA,SAAAC,GACA,aAAA9zM,EACA,YAAA4kL,GACA,oBAAAytB,EAAA,CACD,EAIAruP,IAAc,qBACd/nC,EAAA,IAAC83R,IAAA,CACA,oBAAAC,EACA,2BAAAC,EACA,kBAAmBr0C,GAAqB,CAAC,EACzC,mBAAAs0C,EACA,kBAAmBC,IAAqB,IACxC,oBAAAC,GACA,gBAAAC,GACA,iBAAAC,GACA,kBAAAC,GACA,uBAAAC,GACA,kBAAAC,GACA,0BAAAC,GACA,sBAAAC,GACA,aAAAlwB,GACA,oBAAA4tB,EAAA,CACD,EAIAruP,IAAc,YACd/nC,EAAA,IAACi5R,IAAA,CACA,wBAAAC,GACA,6BAAAC,GACA,gCAAAC,GACA,iCAAA5+B,GACA,qBAAA6+B,GACA,0BAAAC,GACA,wBAAAC,GACA,gBAAAC,GACA,gBAAAC,GACA,gBAAAC,GACA,4BAAAC,GACA,oBAAAvD,EAAA,CACD,EAIAruP,IAAc,WACd/nC,EAAA,IAAC26R,IAAA,CACA,qBAAsB12P,IAAwB,CAAC,EAC/C,wBAAyBk5P,GACzB,4BAAAn3P,GACA,+BAAiCl7C,IAChCsrS,GAAoB,8BAA+BtrS,EAAK,EAE1D,EAIAi9C,IAAc,gBACb/nC,EAAA,IAAAi6R,IAAA,CAAqB,qBAAAC,GAA4C,YAAA71P,EAA0B,EAI5F0D,IAAc,YACd/nC,MAACm6R,KAAiB,SAAUxwR,GAAY,KAAM,oBAAAysR,GAA0C,EAIxFruP,IAAc,SACb/nC,EAAA,IAAAo6R,IAAA,CAAM,iBAAA//O,GAAoC,oBAAAggP,EAA0C,GAEvF,IACD,QAEC5wK,GAAY,MAAM+9H,EAAqB,aAAcC,EACrD,gBAACl9H,GACA,WAAA9d,OAACwsB,GACA,WAAAxsB,OAACke,GACA,WAAC3qH,MAAAwpP,GAAA,CAAc,UAAU,yBAA0B,GAClD5sR,EAAE,qCAAqC,GACzC,EACCojC,MAAA6qH,GAAA,CACC,SAAEjuJ,EAAA,2CAA2C,CAC/C,IACD,SACCs8J,GACA,WAACl5H,MAAAorH,GAAA,CAAkB,QAAS,IAAM09H,GAAsB,EAAK,EAC3D,SAAAlsR,EAAE,4CAA4C,EAChD,EACAojC,MAACgrH,IAAkB,QAAS,IAAM89H,GAAsB,EAAI,EAC1D,SAAElsR,EAAA,6CAA6C,CACjD,GACD,IACD,CACD,IACD,CAEF,CAAC,EAEc27M,WAAKikH,GAAY,oFCtvBhC,IAAIjxS,EAAQ,IACR8/N,EAAS,EACT6yE,EAAS,GACTC,EAAO,GACPC,EAAS,OAAOC,GAAW,IAAc,OAASA,GAKlDC,EAAa,KAAK,IAAI/yS,EAAO8/N,CAAM,EACnCkzE,EAAe,KAAK,IAAI,EAAGL,CAAM,EACjC3+K,EAAWg/K,EAAe,EAC1BjtQ,EAAO/lC,EAAQ,EAGfizS,EAAY,KAAK,OAMrBrvR,EAAA,QAAiB,SAASsvR,EAAMh1S,EAAS,CACvC,GAAIA,GAAWA,EAAQ,SAAW,GAChC,OAAAA,EAAQ,OAAS,GACjB,KAAK,OAAS0lB,EAAO,QAAQsvR,EAAMh1S,CAAO,EAC1CA,EAAQ,OAAS,GACV,KAAK,OAEd,IAAIi1S,EAAej1S,GAAWA,EAAQ,SAAY,GAC9ClD,EAAM,GAGMo4S,EAAOC,EACrBF,EAAc,CAACD,EAAMI,EAASV,CAAI,CAAC,EACnC,KAAK,UAAYM,EAAOK,EAAQ,EAAI,CAAC,EAAGv4S,CAAG,EAG7C,IAAIw4S,EAAO,IAAIC,EAAKz4S,CAAG,EAGvB,OAAAo4S,EAAOE,EAASE,EAAK,CAAC,EAAGZ,CAAI,EAOtB,UAAW,CAIhB,QAHI1hU,EAAIsiU,EAAK,EAAE1zE,CAAM,EACjBltP,EAAImgU,EACJthU,EAAI,EACDP,EAAI8hU,GACT9hU,GAAKA,EAAIO,GAAKuuB,EACdptB,GAAKotB,EACLvuB,EAAI+hU,EAAK,EAAE,CAAC,EAEd,KAAOtiU,GAAK8iJ,GACV9iJ,GAAK,EACL0B,GAAK,EACLnB,KAAO,EAET,OAAQP,EAAIO,GAAKmB,CACrB,CACA,EAEAgxC,EAAA,oBAA6B,UAAY,CACvC,KAAK,OAASqvR,CAChB,EAaA,SAASQ,EAAKz4S,EAAK,CACjB,IAAI3pB,EAAGqiU,EAAS14S,EAAI,OAChB7Y,EAAK,KAAMwY,EAAI,EAAGQ,EAAIhZ,EAAG,EAAIA,EAAG,EAAI,EAAGuY,EAAIvY,EAAG,EAAI,GAMtD,IAHKuxT,IAAU14S,EAAM,CAAC04S,GAAQ,GAGvB/4S,EAAIqF,GACTtF,EAAEC,CAAC,EAAIA,IAET,IAAKA,EAAI,EAAGA,EAAIqF,EAAOrF,IACrBD,EAAEC,CAAC,EAAID,EAAES,EAAI4qC,EAAQ5qC,EAAIH,EAAIL,EAAI+4S,CAAM,GAAKriU,EAAIqpB,EAAEC,CAAC,EAAG,EACtDD,EAAES,CAAC,EAAI9pB,GAIR8Q,EAAG,EAAI,SAASu6B,EAAO,CAItB,QAFIrrC,EAAGgD,EAAI,EACPsmB,EAAIxY,EAAG,EAAGgZ,EAAIhZ,EAAG,EAAGuY,EAAIvY,EAAG,EACxBu6B,KACLrrC,EAAIqpB,EAAEC,EAAIorC,EAAQprC,EAAI,CAAE,EACxBtmB,EAAIA,EAAI2rB,EAAQtF,EAAEqrC,GAASrrC,EAAEC,CAAC,EAAID,EAAES,EAAI4qC,EAAQ5qC,EAAI9pB,CAAE,IAAMqpB,EAAES,CAAC,EAAI9pB,EAAG,EAExE,OAAA8Q,EAAG,EAAIwY,EAAGxY,EAAG,EAAIgZ,EACV9mB,CAGR,GAAE2rB,CAAK,CACT,CAMD,SAASqzS,EAAQ13S,EAAKqrO,EAAO,CAC3B,IAAI1jO,EAAS,GAAIqwS,GAAO,OAAOh4S,GAAK,CAAC,EAAG0lB,EACxC,GAAI2lN,GAAS2sE,GAAO,IAClB,IAAKtyR,KAAQ1lB,EACX,GAAI,CAAE2H,EAAO,KAAK+vS,EAAQ13S,EAAI0lB,CAAI,EAAG2lN,EAAQ,CAAC,CAAC,OAAe,CAAE,CAGpE,OAAQ1jO,EAAO,OAASA,EAASqwS,GAAO,IAAMh4S,EAAMA,EAAM,IAC3D,CAOD,SAASy3S,EAAOF,EAAMl4S,EAAK,CAEzB,QADI44S,EAAaV,EAAO,GAAIW,EAAO14S,EAAI,EAChCA,EAAIy4S,EAAW,QACpB54S,EAAI+qC,EAAO5qC,CAAC,EACV4qC,GAAS8tQ,GAAS74S,EAAI+qC,EAAO5qC,CAAC,EAAI,IAAMy4S,EAAW,WAAWz4S,GAAG,EAErE,OAAOm4S,EAASt4S,CAAG,CACpB,CAOD,SAASu4S,EAASL,EAAM,CACtB,GAAI,CACF,OAAAL,EAAO,OAAO,gBAAgBK,EAAO,IAAI,WAAWlzS,CAAK,CAAC,EACnDszS,EAASJ,CAAI,CACrB,MAAW,CACV,MAAO,CAAC,CAAC,IAAI,KAAML,EAAQA,EAAO,WAAaA,EAAO,UAAU,QACxDA,EAAO,OAAQS,EAASV,CAAI,CAAC,CACtC,CACF,CAMD,SAASU,EAASzhU,EAAG,CACnB,OAAO,OAAO,aAAa,MAAM,EAAGA,CAAC,CACtC,CASDuhU,EAAO,KAAK,OAAQ,EAAER,CAAI,iEChJ1B,IAAIkB,EAAU7/T,IAAA,EAiBd,OAAA8/T,GAAiB,SAAiBvwS,EAAO0vS,EAAM,CAC7C,IAAI99I,EACA4+I,EACAC,EACAC,EAIJ,GAHIhB,GAAQ,KAAMgB,EAAOJ,EAAO,EACdI,EAAOJ,EAAQZ,CAAI,EAEjC1vS,EAAM,cAAgB,MAAO,MAAM,IAAI,MAAM,uBAAuB,EAIxE,IAHA4xJ,EAAe5xJ,EAAM,OAGR4xJ,IAAN,GAEL6+I,EAAc,KAAK,MAAMC,EAAM,EAAI9+I,GAAgB,EAGnD4+I,EAAiBxwS,EAAM4xJ,CAAY,EACnC5xJ,EAAM4xJ,CAAY,EAAI5xJ,EAAMywS,CAAW,EACvCzwS,EAAMywS,CAAW,EAAID,EAGvB,OAAOxwS,CACT,qCClDM2wS,IAAc,IAAM,CACzB,KAAM,CAAE,iBAAA37P,EAAkB,qBAAAoqN,EAAsB,oBAAAhoN,EAAqB,UAAAqwO,EAAW,UAAAmpB,GAAc94P,GAAkB,EAC1G,CAAE,EAAAjqE,CAAE,EAAIsqE,GAAkB,EAC1B,CAACje,EAAcsqQ,CAAe,EAAInpS,WAA6B,MAAS,EAGxEw1S,EAAwCn3S,EAAA,YAC7C,CAAmC8W,EAAUzU,IAA+B,CAC3Eq7C,EAAoB,CAAE,CAAC5mC,CAAK,EAAGzU,EAAO,CACvC,EACA,CAACq7C,CAAmB,CACrB,EAEMm3P,EAAe70S,cAAY,IAAM,CACtC,MAAMmL,EAAQmwC,EAAmB2vO,IAAyB3vO,CAAgB,EAAI,OAE9E,GAAInwC,EAAO,CACV2/R,EAAgB3/R,CAAK,EACrB,OAGD2/R,EAAgB,MAAS,EACzB9wP,GAAO,YAAY,CAAE,KAAM,yBAA0B,KAAM0rN,EAAsB,iBAAApqN,EAAkB,GACjG,CAACA,EAAkBoqN,CAAoB,CAAC,EAGrC,CAACliJ,CAAa,EAAI7hH,WAAS,IACtB,OACD,iBAAmB,EAC5B,EAED,cACEwrF,GACA,WAAC62B,OAAAmkK,GAAA,CAAW,UAAU,2BACrB,UAAA5wQ,EAAA,IAACgsG,IAAQ,UACR,KAAG,WAAU,YAAa,SAAApvI,EAAE,kBAAkB,EAAE,EAEjD6vI,OAAC,MAAI,WAAU,YACd,UAAAzsG,MAAC,IACA,UAAAA,EAAA,IAACgI,GAAM,SAAQ,sBAAuB,GACvC,QACC,IACA,UAAAhI,MAACgI,GAAM,SAAQ,yBAAyB,CACzC,IACD,EAEAykG,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,IAAE,WAAU,iBAAkB,SAAApjC,EAAE,qBAAqB,EAAE,EAExDojC,MAAC,OAEE,UAAM,KAmBD,MAAA6/R,EAAmB,CAAC,GAjBR,CACjB,CACC,KAAM,WACN,KAAM,WACN,YAAajjU,EAAE,sCAAsC,EACrD,UAAWA,EAAE,oCAAoC,EACjD,QAAS+5S,IAAmBH,CAAS,CACtC,EACA,CACC,KAAM,aACN,KAAM,aACN,YAAa55S,EAAE,wCAAwC,EACvD,QAAS85S,IAAqBF,CAAS,EAEzC,CAGsC,EACtC,OAAAspB,IAAaD,EAAmBF,GAAqB,KAAK,KAAK,EAGxDE,EAAiB,IAAI,CAACz0L,EAAUpyG,IACtCyzG,EAAA,KAAC,KAEA,KAAMrB,EAAS,QACf,UAAU,oKACV,OAAO,SACP,IAAI,sBACJ,UAACprG,MAAA,OAAI,UAAU,YACd,SAAAA,EAAA,IAAC,OACA,IAAK,GAAGisG,CAAa,IAAIb,EAAS,IAAI,OACtC,IAAKA,EAAS,KACd,UAAU,iCAEZ,SACC,MACA,WAAAprG,EAAA,IAAC,MAAI,WAAU,mCAAoC,SAAAorG,EAAS,KAAK,SAChE,MACA,WAAAprG,EAAA,IAAC,MAAI,WAAU,4CACb,SAAAorG,EAAS,YACX,EACCA,EAAS,WACTprG,EAAA,IAAC,OAAI,UAAU,oBAAqB,WAAS,SAAU,GAEzD,GACD,KAtBKhH,CAAA,CAwBN,MAEH,QAEC,IAAE,WAAU,sBAAuB,SAAAp8B,EAAE,qBAAqB,EAAE,EAC7DojC,EAAA,IAACszR,IAAA,CACA,gBAAe,GACf,iBAAkBvvP,GAAoB,CAAC,EACvC,UAAAyyO,EACA,yBAA0BopB,EAC1B,aAAA32Q,EACA,gBAAAsqQ,CAAA,EACD,CACD,IACD,QACC,MAAI,WAAU,mDACd,SAAC9mL,EAAA,YAAI,UAAU,sBACd,UAACzsG,MAAA,OAAI,UAAU,mBACd,SAAAA,EAAA,IAACwiF,GAAA,CACA,KAAK,IACL,QAAU9kH,GAAM,CACfA,EAAE,eAAe,EACjB+kE,GAAO,YAAY,CAAE,KAAM,iBAAkB,CAC9C,EACA,UAAU,UACT,WAAE,wBAAwB,IAE7B,EACAziC,MAACqiF,IAAa,QAASi7M,EAAc,WAAW,UAC9C,SAAA1gU,EAAE,eAAe,EACnB,EACCqsD,GAAgBjpB,EAAA,IAAC,MAAI,WAAU,8BAA+B,SAAaipB,CAAA,IAC7E,CACD,IACD,CAEF,ECpJM82Q,IAAmB,IAAM,CAC9B,KAAM,CAAE,WAAA9C,EAAY,cAAA+C,CAAc,EAAIn5P,GAAkB,EAClD,CAAE,EAAAjqE,CAAE,EAAIsqE,GAAkB,EAE1Bk8B,EAAgB1lG,GAAsC,CAC3D,MAAM4oB,EAAU,WAAY5oB,EAAIA,EAAE,OAAS,KACtC4oB,IACL05S,EAAc15S,EAAO,OAAO,EAC5Bm8C,GAAO,YAAY,CAAE,KAAM,aAAc,KAAMn8C,EAAO,QAAS,EAChE,EAEA,cACE,MAAI,OAAO,CAAE,aAAc,MAC3B,YAAA0Z,MAACsiF,GAAe,SAAS26M,EAAY,SAAU75N,EAC9C,SAACpjE,MAAA,QAAK,MAAO,CAAE,WAAY,KAAM,EAAI,SAAEpjC,EAAA,wBAAwB,CAAE,GAClE,EACAojC,EAAA,IAAC,KACA,MAAO,CACN,SAAU,OACV,UAAW,MACX,MAAO,qCACR,EACC,WAAE,8BAA8B,GAClC,EACD,CAEF,EC4CaigS,IAAqB,OAOrBC,IAAoB,MAoIpBC,GAAsB,OAAO,IAAI,mBAAmB,EClL1D,SAASC,GAAchmH,EAAMtvL,EAAO,CACzC,OAAI,OAAOsvL,GAAS,WAAmBA,EAAKtvL,CAAK,EAE7CsvL,GAAQ,OAAOA,GAAS,UAAY+lH,MAAuB/lH,EACtDA,EAAK+lH,EAAmB,EAAEr1S,CAAK,EAEpCsvL,aAAgB,KAAa,IAAIA,EAAK,YAAYtvL,CAAK,EAEpD,IAAI,KAAKA,CAAK,CACvB,CCNO,SAASu1S,GAAO3vK,EAAUr6H,EAAS,CAExC,OAAO+pS,GAAc/pS,GAAWq6H,EAAUA,CAAQ,CACpD,CC3CA,IAAIrtH,IAAiB,CAAE,EAEhB,SAASi9R,IAAoB,CAClC,OAAOj9R,GACT,CC8BO,SAASk9R,GAAYnmH,EAAM3wL,EAAS,aACzC,MAAM4Z,EAAiBi9R,GAAmB,EACpCE,GACJ/2S,GAAA,YAAAA,EAAS,iBACT4B,GAAAxC,EAAAY,GAAA,YAAAA,EAAS,SAAT,YAAAZ,EAAiB,UAAjB,YAAAwC,EAA0B,eAC1BgY,EAAe,gBACf7X,GAAAF,EAAA+X,EAAe,SAAf,YAAA/X,EAAuB,UAAvB,YAAAE,EAAgC,eAChC,EAEIi1S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAChCi3S,EAAMD,EAAM,OAAQ,EACpBhgI,GAAQigI,EAAMF,EAAe,EAAI,GAAKE,EAAMF,EAElD,OAAAC,EAAM,QAAQA,EAAM,QAAO,EAAKhgI,CAAI,EACpCggI,EAAM,SAAS,EAAG,EAAG,EAAG,CAAC,EAClBA,CACT,CCpBO,SAASE,GAAevmH,EAAM3wL,EAAS,CAC5C,OAAO82S,GAAYnmH,EAAM,CAAE,GAAG3wL,EAAS,aAAc,EAAG,CAC1D,CCJO,SAASm3S,IAAexmH,EAAM3wL,EAAS,CAC5C,MAAMg3S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAChCo3S,EAAOJ,EAAM,YAAa,EAE1BK,EAA4BV,GAAcK,EAAO,CAAC,EACxDK,EAA0B,YAAYD,EAAO,EAAG,EAAG,CAAC,EACpDC,EAA0B,SAAS,EAAG,EAAG,EAAG,CAAC,EAC7C,MAAMC,EAAkBJ,GAAeG,CAAyB,EAE1DE,EAA4BZ,GAAcK,EAAO,CAAC,EACxDO,EAA0B,YAAYH,EAAM,EAAG,CAAC,EAChDG,EAA0B,SAAS,EAAG,EAAG,EAAG,CAAC,EAC7C,MAAMC,EAAkBN,GAAeK,CAAyB,EAEhE,OAAIP,EAAM,QAAO,GAAMM,EAAgB,QAAO,EACrCF,EAAO,EACLJ,EAAM,QAAS,GAAIQ,EAAgB,QAAO,EAC5CJ,EAEAA,EAAO,CAElB,CCpCO,SAASK,GAAgC9mH,EAAM,CACpD,MAAMqmH,EAAQJ,GAAOjmH,CAAI,EACnB+mH,EAAU,IAAI,KAClB,KAAK,IACHV,EAAM,YAAa,EACnBA,EAAM,SAAU,EAChBA,EAAM,QAAS,EACfA,EAAM,SAAU,EAChBA,EAAM,WAAY,EAClBA,EAAM,WAAY,EAClBA,EAAM,gBAAiB,CACxB,CACF,EACD,OAAAU,EAAQ,eAAeV,EAAM,aAAa,EACnC,CAACrmH,EAAO,CAAC+mH,CAClB,CC1BO,SAASC,IAAe/qS,KAAYgrS,EAAO,CAChD,MAAM1jP,EAAYyiP,GAAc,KAC9B,KACWiB,EAAM,KAAMjnH,GAAS,OAAOA,GAAS,QAAQ,CACzD,EACD,OAAOinH,EAAM,IAAI1jP,CAAS,CAC5B,CCoBO,SAAS2jP,GAAWlnH,EAAM3wL,EAAS,CACxC,MAAMg3S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EACtC,OAAAg3S,EAAM,SAAS,EAAG,EAAG,EAAG,CAAC,EAClBA,CACT,CCQO,SAASc,IAAyBC,EAAWC,EAAah4S,EAAS,CACxE,KAAM,CAACi4S,EAAYC,CAAY,EAAIP,IACjC33S,GAAA,YAAAA,EAAS,GACT+3S,EACAC,CACD,EAEKG,EAAkBN,GAAWI,CAAU,EACvCG,EAAoBP,GAAWK,CAAY,EAE3CG,EACJ,CAACF,EAAkBV,GAAgCU,CAAe,EAC9DG,EACJ,CAACF,EAAoBX,GAAgCW,CAAiB,EAKxE,OAAO,KAAK,OAAOC,EAAiBC,GAAoB7B,GAAiB,CAC3E,CC1BO,SAAS8B,IAAmB5nH,EAAM3wL,EAAS,CAChD,MAAMo3S,EAAOD,IAAexmH,EAAM3wL,CAAO,EACnCw4S,EAAkB7B,GAA6BhmH,EAAM,CAAC,EAC5D,OAAA6nH,EAAgB,YAAYpB,EAAM,EAAG,CAAC,EACtCoB,EAAgB,SAAS,EAAG,EAAG,EAAG,CAAC,EAC5BtB,GAAesB,CAAe,CACvC,CCPO,SAAS3tM,IAAOxpG,EAAO,CAC5B,OACEA,aAAiB,MAChB,OAAOA,GAAU,UAChB,OAAO,UAAU,SAAS,KAAKA,CAAK,IAAM,eAEhD,CCJO,SAASq/B,IAAQiwJ,EAAM,CAC5B,MAAO,EAAG,CAAC9lF,IAAO8lF,CAAI,GAAK,OAAOA,GAAS,UAAa,MAAM,CAACimH,GAAOjmH,CAAI,CAAC,EAC7E,CCRO,SAAS8nH,IAAY9nH,EAAM3wL,EAAS,CACzC,MAAM04S,EAAQ9B,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EACtC,OAAA04S,EAAM,YAAYA,EAAM,YAAW,EAAI,EAAG,CAAC,EAC3CA,EAAM,SAAS,EAAG,EAAG,EAAG,CAAC,EAClBA,CACT,CCjCA,MAAMC,IAAuB,CAC3B,iBAAkB,CAChB,IAAK,qBACL,MAAO,6BACR,EAED,SAAU,CACR,IAAK,WACL,MAAO,mBACR,EAED,YAAa,gBAEb,iBAAkB,CAChB,IAAK,qBACL,MAAO,6BACR,EAED,SAAU,CACR,IAAK,WACL,MAAO,mBACR,EAED,YAAa,CACX,IAAK,eACL,MAAO,uBACR,EAED,OAAQ,CACN,IAAK,SACL,MAAO,iBACR,EAED,MAAO,CACL,IAAK,QACL,MAAO,gBACR,EAED,YAAa,CACX,IAAK,eACL,MAAO,uBACR,EAED,OAAQ,CACN,IAAK,SACL,MAAO,iBACR,EAED,aAAc,CACZ,IAAK,gBACL,MAAO,wBACR,EAED,QAAS,CACP,IAAK,UACL,MAAO,kBACR,EAED,YAAa,CACX,IAAK,eACL,MAAO,uBACR,EAED,OAAQ,CACN,IAAK,SACL,MAAO,iBACR,EAED,WAAY,CACV,IAAK,cACL,MAAO,sBACR,EAED,aAAc,CACZ,IAAK,gBACL,MAAO,wBACR,CACH,EAEaC,IAAiB,CAACt/P,EAAO96B,EAAOxe,IAAY,CACvD,IAAIoF,EAEJ,MAAMyzS,EAAaF,IAAqBr/P,CAAK,EAS7C,OARI,OAAOu/P,GAAe,SACxBzzS,EAASyzS,EACAr6R,IAAU,EACnBpZ,EAASyzS,EAAW,IAEpBzzS,EAASyzS,EAAW,MAAM,QAAQ,YAAar6R,EAAM,UAAU,EAG7Dxe,GAAA,MAAAA,EAAS,UACPA,EAAQ,YAAcA,EAAQ,WAAa,EACtC,MAAQoF,EAERA,EAAS,OAIbA,CACT,ECpGO,SAAS0zS,GAAkBp7S,EAAM,CACtC,MAAO,CAACsC,EAAU,KAAO,CAEvB,MAAM8B,EAAQ9B,EAAQ,MAAQ,OAAOA,EAAQ,KAAK,EAAItC,EAAK,aAE3D,OADeA,EAAK,QAAQoE,CAAK,GAAKpE,EAAK,QAAQA,EAAK,YAAY,CAErE,CACH,CCLA,MAAMq7S,IAAc,CAClB,KAAM,mBACN,KAAM,aACN,OAAQ,WACR,MAAO,YACT,EAEMC,IAAc,CAClB,KAAM,iBACN,KAAM,cACN,OAAQ,YACR,MAAO,QACT,EAEMC,IAAkB,CACtB,KAAM,yBACN,KAAM,yBACN,OAAQ,qBACR,MAAO,oBACT,EAEaC,IAAa,CACxB,KAAMJ,GAAkB,CACtB,QAASC,IACT,aAAc,MAClB,CAAG,EAED,KAAMD,GAAkB,CACtB,QAASE,IACT,aAAc,MAClB,CAAG,EAED,SAAUF,GAAkB,CAC1B,QAASG,IACT,aAAc,MAClB,CAAG,CACH,ECtCME,IAAuB,CAC3B,SAAU,qBACV,UAAW,mBACX,MAAO,eACP,SAAU,kBACV,SAAU,cACV,MAAO,GACT,EAEaC,IAAiB,CAAC9/P,EAAO09P,EAAOqC,EAAW15O,IACtDw5O,IAAqB7/P,CAAK,EC6BrB,SAASggQ,GAAgB57S,EAAM,CACpC,MAAO,CAAC2D,EAAOrB,IAAY,CACzB,MAAM4M,EAAU5M,GAAA,MAAAA,EAAS,QAAU,OAAOA,EAAQ,OAAO,EAAI,aAE7D,IAAIu5S,EACJ,GAAI3sS,IAAY,cAAgBlP,EAAK,iBAAkB,CACrD,MAAM87S,EAAe97S,EAAK,wBAA0BA,EAAK,aACnDoE,EAAQ9B,GAAA,MAAAA,EAAS,MAAQ,OAAOA,EAAQ,KAAK,EAAIw5S,EAEvDD,EACE77S,EAAK,iBAAiBoE,CAAK,GAAKpE,EAAK,iBAAiB87S,CAAY,CAC1E,KAAW,CACL,MAAMA,EAAe97S,EAAK,aACpBoE,EAAQ9B,GAAA,MAAAA,EAAS,MAAQ,OAAOA,EAAQ,KAAK,EAAItC,EAAK,aAE5D67S,EAAc77S,EAAK,OAAOoE,CAAK,GAAKpE,EAAK,OAAO87S,CAAY,CAClE,CACI,MAAMjqS,EAAQ7R,EAAK,iBAAmBA,EAAK,iBAAiB2D,CAAK,EAAIA,EAGrE,OAAOk4S,EAAYhqS,CAAK,CACzB,CACH,CC3DA,MAAMkqS,IAAY,CAChB,OAAQ,CAAC,IAAK,GAAG,EACjB,YAAa,CAAC,KAAM,IAAI,EACxB,KAAM,CAAC,gBAAiB,aAAa,CACvC,EAEMC,IAAgB,CACpB,OAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAC3B,YAAa,CAAC,KAAM,KAAM,KAAM,IAAI,EACpC,KAAM,CAAC,cAAe,cAAe,cAAe,aAAa,CACnE,EAMMC,IAAc,CAClB,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EACnE,YAAa,CACX,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,EAED,KAAM,CACJ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UACD,CACH,EAEMC,IAAY,CAChB,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAC1C,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EAChD,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EAC7D,KAAM,CACJ,SACA,SACA,UACA,YACA,WACA,SACA,UACD,CACH,EAEMC,IAAkB,CACtB,OAAQ,CACN,GAAI,IACJ,GAAI,IACJ,SAAU,KACV,KAAM,IACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACR,EACD,YAAa,CACX,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACR,EACD,KAAM,CACJ,GAAI,OACJ,GAAI,OACJ,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACR,CACH,EAEMC,IAA4B,CAChC,OAAQ,CACN,GAAI,IACJ,GAAI,IACJ,SAAU,KACV,KAAM,IACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACR,EACD,YAAa,CACX,GAAI,KACJ,GAAI,KACJ,SAAU,WACV,KAAM,OACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACR,EACD,KAAM,CACJ,GAAI,OACJ,GAAI,OACJ,SAAU,WACV,KAAM,OACN,QAAS,iBACT,UAAW,mBACX,QAAS,iBACT,MAAO,UACR,CACH,EAEMC,IAAgB,CAACC,EAAar6O,IAAa,CAC/C,MAAM1I,EAAS,OAAO+iP,CAAW,EAS3BC,EAAShjP,EAAS,IACxB,GAAIgjP,EAAS,IAAMA,EAAS,GAC1B,OAAQA,EAAS,GAAE,CACjB,IAAK,GACH,OAAOhjP,EAAS,KAClB,IAAK,GACH,OAAOA,EAAS,KAClB,IAAK,GACH,OAAOA,EAAS,IACxB,CAEE,OAAOA,EAAS,IAClB,EAEaijP,IAAW,CACtB,cAAAH,IAEA,IAAKT,GAAgB,CACnB,OAAQG,IACR,aAAc,MAClB,CAAG,EAED,QAASH,GAAgB,CACvB,OAAQI,IACR,aAAc,OACd,iBAAmBS,GAAYA,EAAU,CAC7C,CAAG,EAED,MAAOb,GAAgB,CACrB,OAAQK,IACR,aAAc,MAClB,CAAG,EAED,IAAKL,GAAgB,CACnB,OAAQM,IACR,aAAc,MAClB,CAAG,EAED,UAAWN,GAAgB,CACzB,OAAQO,IACR,aAAc,OACd,iBAAkBC,IAClB,uBAAwB,MAC5B,CAAG,CACH,EC1LO,SAASM,GAAa18S,EAAM,CACjC,MAAO,CAACkgE,EAAQ59D,EAAU,KAAO,CAC/B,MAAM8B,EAAQ9B,EAAQ,MAEhBq6S,EACHv4S,GAASpE,EAAK,cAAcoE,CAAK,GAClCpE,EAAK,cAAcA,EAAK,iBAAiB,EACrCqkM,EAAcnkI,EAAO,MAAMy8O,CAAY,EAE7C,GAAI,CAACt4G,EACH,OAAO,KAET,MAAMu4G,EAAgBv4G,EAAY,CAAC,EAE7Bw4G,EACHz4S,GAASpE,EAAK,cAAcoE,CAAK,GAClCpE,EAAK,cAAcA,EAAK,iBAAiB,EAErCZ,EAAM,MAAM,QAAQy9S,CAAa,EACnCC,IAAUD,EAAgB92R,GAAYA,EAAQ,KAAK62R,CAAa,CAAC,EAEjE3uM,IAAQ4uM,EAAgB92R,GAAYA,EAAQ,KAAK62R,CAAa,CAAC,EAEnE,IAAIj5S,EAEJA,EAAQ3D,EAAK,cAAgBA,EAAK,cAAcZ,CAAG,EAAIA,EACvDuE,EAAQrB,EAAQ,cAEZA,EAAQ,cAAcqB,CAAK,EAC3BA,EAEJ,MAAMkX,EAAOqlD,EAAO,MAAM08O,EAAc,MAAM,EAE9C,MAAO,CAAE,MAAAj5S,EAAO,KAAAkX,CAAM,CACvB,CACH,CAEA,SAASozF,IAAQn/F,EAAQhM,EAAW,CAClC,UAAW1D,KAAO0P,EAChB,GACE,OAAO,UAAU,eAAe,KAAKA,EAAQ1P,CAAG,GAChD0D,EAAUgM,EAAO1P,CAAG,CAAC,EAErB,OAAOA,CAIb,CAEA,SAAS09S,IAAUl1S,EAAO9E,EAAW,CACnC,QAAS1D,EAAM,EAAGA,EAAMwI,EAAM,OAAQxI,IACpC,GAAI0D,EAAU8E,EAAMxI,CAAG,CAAC,EACtB,OAAOA,CAIb,CCxDO,SAAS29S,IAAoB/8S,EAAM,CACxC,MAAO,CAACkgE,EAAQ59D,EAAU,KAAO,CAC/B,MAAM+hM,EAAcnkI,EAAO,MAAMlgE,EAAK,YAAY,EAClD,GAAI,CAACqkM,EAAa,OAAO,KACzB,MAAMu4G,EAAgBv4G,EAAY,CAAC,EAE7Bn3H,EAAchN,EAAO,MAAMlgE,EAAK,YAAY,EAClD,GAAI,CAACktE,EAAa,OAAO,KACzB,IAAIvpE,EAAQ3D,EAAK,cACbA,EAAK,cAAcktE,EAAY,CAAC,CAAC,EACjCA,EAAY,CAAC,EAGjBvpE,EAAQrB,EAAQ,cAAgBA,EAAQ,cAAcqB,CAAK,EAAIA,EAE/D,MAAMkX,EAAOqlD,EAAO,MAAM08O,EAAc,MAAM,EAE9C,MAAO,CAAE,MAAAj5S,EAAO,KAAAkX,CAAM,CACvB,CACH,CChBA,MAAMmiS,IAA4B,wBAC5BC,IAA4B,OAE5BC,IAAmB,CACvB,OAAQ,UACR,YAAa,6DACb,KAAM,4DACR,EACMC,IAAmB,CACvB,IAAK,CAAC,MAAO,SAAS,CACxB,EAEMC,IAAuB,CAC3B,OAAQ,WACR,YAAa,YACb,KAAM,gCACR,EACMC,IAAuB,CAC3B,IAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAC9B,EAEMC,IAAqB,CACzB,OAAQ,eACR,YAAa,sDACb,KAAM,2FACR,EACMC,IAAqB,CACzB,OAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,EAED,IAAK,CACH,OACA,MACA,QACA,OACA,QACA,QACA,QACA,OACA,MACA,MACA,MACA,KACD,CACH,EAEMC,IAAmB,CACvB,OAAQ,YACR,MAAO,2BACP,YAAa,kCACb,KAAM,8DACR,EACMC,IAAmB,CACvB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EACxD,IAAK,CAAC,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,MAAM,CAC3D,EAEMC,IAAyB,CAC7B,OAAQ,6DACR,IAAK,gFACP,EACMC,IAAyB,CAC7B,IAAK,CACH,GAAI,MACJ,GAAI,MACJ,SAAU,OACV,KAAM,OACN,QAAS,WACT,UAAW,aACX,QAAS,WACT,MAAO,QACR,CACH,EAEalvR,IAAQ,CACnB,cAAesuR,IAAoB,CACjC,aAAcC,IACd,aAAcC,IACd,cAAgBt5S,GAAU,SAASA,EAAO,EAAE,CAChD,CAAG,EAED,IAAK+4S,GAAa,CAChB,cAAeQ,IACf,kBAAmB,OACnB,cAAeC,IACf,kBAAmB,KACvB,CAAG,EAED,QAAST,GAAa,CACpB,cAAeU,IACf,kBAAmB,OACnB,cAAeC,IACf,kBAAmB,MACnB,cAAgBxrS,GAAUA,EAAQ,CACtC,CAAG,EAED,MAAO6qS,GAAa,CAClB,cAAeY,IACf,kBAAmB,OACnB,cAAeC,IACf,kBAAmB,KACvB,CAAG,EAED,IAAKb,GAAa,CAChB,cAAec,IACf,kBAAmB,OACnB,cAAeC,IACf,kBAAmB,KACvB,CAAG,EAED,UAAWf,GAAa,CACtB,cAAegB,IACf,kBAAmB,MACnB,cAAeC,IACf,kBAAmB,KACvB,CAAG,CACH,ECrHaC,IAAO,CAClB,KAAM,QACN,eAAgB1C,IAChB,WAAYM,IACZ,eAAgBE,IAChB,SAAUc,IACV,MAAO/tR,IACP,QAAS,CACP,aAAc,EACd,sBAAuB,CACxB,CACH,ECCO,SAASovR,IAAa5qH,EAAM3wL,EAAS,CAC1C,MAAMg3S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAGtC,OAFa83S,IAAyBd,EAAOyB,IAAYzB,CAAK,CAAC,EACtC,CAE3B,CCFO,SAASwE,IAAW7qH,EAAM3wL,EAAS,CACxC,MAAMg3S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAChCg3K,EAAO,CAACkgI,GAAeF,CAAK,EAAI,CAACuB,IAAmBvB,CAAK,EAK/D,OAAO,KAAK,MAAMhgI,EAAOw/H,GAAkB,EAAI,CACjD,CCMO,SAASiF,IAAY9qH,EAAM3wL,EAAS,aACzC,MAAMg3S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAChCo3S,EAAOJ,EAAM,YAAa,EAE1Bp9R,EAAiBi9R,GAAmB,EACpC6E,GACJ17S,GAAA,YAAAA,EAAS,0BACT4B,GAAAxC,EAAAY,GAAA,YAAAA,EAAS,SAAT,YAAAZ,EAAiB,UAAjB,YAAAwC,EAA0B,wBAC1BgY,EAAe,yBACf7X,GAAAF,EAAA+X,EAAe,SAAf,YAAA/X,EAAuB,UAAvB,YAAAE,EAAgC,wBAChC,EAEI45S,EAAsBhF,IAAc32S,GAAA,YAAAA,EAAS,KAAM2wL,EAAM,CAAC,EAChEgrH,EAAoB,YAAYvE,EAAO,EAAG,EAAGsE,CAAqB,EAClEC,EAAoB,SAAS,EAAG,EAAG,EAAG,CAAC,EACvC,MAAMrE,EAAkBR,GAAY6E,EAAqB37S,CAAO,EAE1D47S,EAAsBjF,IAAc32S,GAAA,YAAAA,EAAS,KAAM2wL,EAAM,CAAC,EAChEirH,EAAoB,YAAYxE,EAAM,EAAGsE,CAAqB,EAC9DE,EAAoB,SAAS,EAAG,EAAG,EAAG,CAAC,EACvC,MAAMpE,EAAkBV,GAAY8E,EAAqB57S,CAAO,EAEhE,MAAI,CAACg3S,GAAS,CAACM,EACNF,EAAO,EACL,CAACJ,GAAS,CAACQ,EACbJ,EAEAA,EAAO,CAElB,CC1BO,SAASyE,IAAgBlrH,EAAM3wL,EAAS,aAC7C,MAAM4Z,EAAiBi9R,GAAmB,EACpC6E,GACJ17S,GAAA,YAAAA,EAAS,0BACT4B,GAAAxC,EAAAY,GAAA,YAAAA,EAAS,SAAT,YAAAZ,EAAiB,UAAjB,YAAAwC,EAA0B,wBAC1BgY,EAAe,yBACf7X,GAAAF,EAAA+X,EAAe,SAAf,YAAA/X,EAAuB,UAAvB,YAAAE,EAAgC,wBAChC,EAEIq1S,EAAOqE,IAAY9qH,EAAM3wL,CAAO,EAChC87S,EAAYnF,IAAc32S,GAAA,YAAAA,EAAS,KAAM2wL,EAAM,CAAC,EACtD,OAAAmrH,EAAU,YAAY1E,EAAM,EAAGsE,CAAqB,EACpDI,EAAU,SAAS,EAAG,EAAG,EAAG,CAAC,EACfhF,GAAYgF,EAAW97S,CAAO,CAE9C,CClBO,SAAS+7S,IAAQprH,EAAM3wL,EAAS,CACrC,MAAMg3S,EAAQJ,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAChCg3K,EAAO,CAAC8/H,GAAYE,EAAOh3S,CAAO,EAAI,CAAC67S,IAAgB7E,EAAOh3S,CAAO,EAK3E,OAAO,KAAK,MAAMg3K,EAAOw/H,GAAkB,EAAI,CACjD,CCnDO,SAASwF,GAAgB/kP,EAAQglP,EAAc,CACpD,MAAMC,EAAOjlP,EAAS,EAAI,IAAM,GAC1B2M,EAAS,KAAK,IAAI3M,CAAM,EAAE,WAAW,SAASglP,EAAc,GAAG,EACrE,OAAOC,EAAOt4O,CAChB,CCWO,MAAMu4O,GAAkB,CAE7B,EAAExrH,EAAMr3I,EAAO,CAUb,MAAM8iQ,EAAazrH,EAAK,YAAa,EAE/BymH,EAAOgF,EAAa,EAAIA,EAAa,EAAIA,EAC/C,OAAOJ,GAAgB1iQ,IAAU,KAAO89P,EAAO,IAAMA,EAAM99P,EAAM,MAAM,CACxE,EAGD,EAAEq3I,EAAMr3I,EAAO,CACb,MAAM+iQ,EAAQ1rH,EAAK,SAAU,EAC7B,OAAOr3I,IAAU,IAAM,OAAO+iQ,EAAQ,CAAC,EAAIL,GAAgBK,EAAQ,EAAG,CAAC,CACxE,EAGD,EAAE1rH,EAAMr3I,EAAO,CACb,OAAO0iQ,GAAgBrrH,EAAK,QAAO,EAAIr3I,EAAM,MAAM,CACpD,EAGD,EAAEq3I,EAAMr3I,EAAO,CACb,MAAMgjQ,EAAqB3rH,EAAK,SAAQ,EAAK,IAAM,EAAI,KAAO,KAE9D,OAAQr3I,EAAK,CACX,IAAK,IACL,IAAK,KACH,OAAOgjQ,EAAmB,YAAa,EACzC,IAAK,MACH,OAAOA,EACT,IAAK,QACH,OAAOA,EAAmB,CAAC,EAC7B,IAAK,OACL,QACE,OAAOA,IAAuB,KAAO,OAAS,MACtD,CACG,EAGD,EAAE3rH,EAAMr3I,EAAO,CACb,OAAO0iQ,GAAgBrrH,EAAK,SAAQ,EAAK,IAAM,GAAIr3I,EAAM,MAAM,CAChE,EAGD,EAAEq3I,EAAMr3I,EAAO,CACb,OAAO0iQ,GAAgBrrH,EAAK,SAAQ,EAAIr3I,EAAM,MAAM,CACrD,EAGD,EAAEq3I,EAAMr3I,EAAO,CACb,OAAO0iQ,GAAgBrrH,EAAK,WAAU,EAAIr3I,EAAM,MAAM,CACvD,EAGD,EAAEq3I,EAAMr3I,EAAO,CACb,OAAO0iQ,GAAgBrrH,EAAK,WAAU,EAAIr3I,EAAM,MAAM,CACvD,EAGD,EAAEq3I,EAAMr3I,EAAO,CACb,MAAMijQ,EAAiBjjQ,EAAM,OACvBkjQ,EAAe7rH,EAAK,gBAAiB,EACrC8rH,EAAoB,KAAK,MAC7BD,EAAe,KAAK,IAAI,GAAID,EAAiB,CAAC,CAC/C,EACD,OAAOP,GAAgBS,EAAmBnjQ,EAAM,MAAM,CACvD,CACH,EClFMojQ,GAAgB,CAGpB,SAAU,WACV,KAAM,OACN,QAAS,UACT,UAAW,YACX,QAAS,UACT,MAAO,OACT,EAgDaxvR,GAAa,CAExB,EAAG,SAAUyjK,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMyC,EAAMhsH,EAAK,YAAa,EAAG,EAAI,EAAI,EACzC,OAAQr3I,EAAK,CAEX,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO4gQ,EAAS,IAAIyC,EAAK,CAAE,MAAO,aAAa,CAAE,EAEnD,IAAK,QACH,OAAOzC,EAAS,IAAIyC,EAAK,CAAE,MAAO,QAAQ,CAAE,EAE9C,IAAK,OACL,QACE,OAAOzC,EAAS,IAAIyC,EAAK,CAAE,MAAO,MAAM,CAAE,CAClD,CACG,EAGD,EAAG,SAAUhsH,EAAMr3I,EAAO4gQ,EAAU,CAElC,GAAI5gQ,IAAU,KAAM,CAClB,MAAM8iQ,EAAazrH,EAAK,YAAa,EAE/BymH,EAAOgF,EAAa,EAAIA,EAAa,EAAIA,EAC/C,OAAOlC,EAAS,cAAc9C,EAAM,CAAE,KAAM,MAAM,CAAE,CAC1D,CAEI,OAAO+E,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAUl6S,EAAS,CAC3C,MAAM48S,EAAiBnB,IAAY9qH,EAAM3wL,CAAO,EAE1C68S,EAAWD,EAAiB,EAAIA,EAAiB,EAAIA,EAG3D,GAAItjQ,IAAU,KAAM,CAClB,MAAMwjQ,EAAeD,EAAW,IAChC,OAAOb,GAAgBc,EAAc,CAAC,CAC5C,CAGI,OAAIxjQ,IAAU,KACL4gQ,EAAS,cAAc2C,EAAU,CAAE,KAAM,MAAM,CAAE,EAInDb,GAAgBa,EAAUvjQ,EAAM,MAAM,CAC9C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO,CACxB,MAAMyjQ,EAAc5F,IAAexmH,CAAI,EAGvC,OAAOqrH,GAAgBe,EAAazjQ,EAAM,MAAM,CACjD,EAWD,EAAG,SAAUq3I,EAAMr3I,EAAO,CACxB,MAAM89P,EAAOzmH,EAAK,YAAa,EAC/B,OAAOqrH,GAAgB5E,EAAM99P,EAAM,MAAM,CAC1C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMC,EAAU,KAAK,MAAMxpH,EAAK,SAAU,EAAG,GAAK,CAAC,EACnD,OAAQr3I,EAAK,CAEX,IAAK,IACH,OAAO,OAAO6gQ,CAAO,EAEvB,IAAK,KACH,OAAO6B,GAAgB7B,EAAS,CAAC,EAEnC,IAAK,KACH,OAAOD,EAAS,cAAcC,EAAS,CAAE,KAAM,SAAS,CAAE,EAE5D,IAAK,MACH,OAAOD,EAAS,QAAQC,EAAS,CAC/B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOD,EAAS,QAAQC,EAAS,CAC/B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOD,EAAS,QAAQC,EAAS,CAC/B,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAUxpH,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMC,EAAU,KAAK,MAAMxpH,EAAK,SAAU,EAAG,GAAK,CAAC,EACnD,OAAQr3I,EAAK,CAEX,IAAK,IACH,OAAO,OAAO6gQ,CAAO,EAEvB,IAAK,KACH,OAAO6B,GAAgB7B,EAAS,CAAC,EAEnC,IAAK,KACH,OAAOD,EAAS,cAAcC,EAAS,CAAE,KAAM,SAAS,CAAE,EAE5D,IAAK,MACH,OAAOD,EAAS,QAAQC,EAAS,CAC/B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOD,EAAS,QAAQC,EAAS,CAC/B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOD,EAAS,QAAQC,EAAS,CAC/B,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAUxpH,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMmC,EAAQ1rH,EAAK,SAAU,EAC7B,OAAQr3I,EAAK,CACX,IAAK,IACL,IAAK,KACH,OAAO6iQ,GAAgB,EAAExrH,EAAMr3I,CAAK,EAEtC,IAAK,KACH,OAAO4gQ,EAAS,cAAcmC,EAAQ,EAAG,CAAE,KAAM,QAAS,EAE5D,IAAK,MACH,OAAOnC,EAAS,MAAMmC,EAAO,CAC3B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOnC,EAAS,MAAMmC,EAAO,CAC3B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOnC,EAAS,MAAMmC,EAAO,CAAE,MAAO,OAAQ,QAAS,aAAc,CAC7E,CACG,EAGD,EAAG,SAAU1rH,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMmC,EAAQ1rH,EAAK,SAAU,EAC7B,OAAQr3I,EAAK,CAEX,IAAK,IACH,OAAO,OAAO+iQ,EAAQ,CAAC,EAEzB,IAAK,KACH,OAAOL,GAAgBK,EAAQ,EAAG,CAAC,EAErC,IAAK,KACH,OAAOnC,EAAS,cAAcmC,EAAQ,EAAG,CAAE,KAAM,QAAS,EAE5D,IAAK,MACH,OAAOnC,EAAS,MAAMmC,EAAO,CAC3B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOnC,EAAS,MAAMmC,EAAO,CAC3B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOnC,EAAS,MAAMmC,EAAO,CAAE,MAAO,OAAQ,QAAS,aAAc,CAC7E,CACG,EAGD,EAAG,SAAU1rH,EAAMr3I,EAAO4gQ,EAAUl6S,EAAS,CAC3C,MAAMg9S,EAAOjB,IAAQprH,EAAM3wL,CAAO,EAElC,OAAIs5C,IAAU,KACL4gQ,EAAS,cAAc8C,EAAM,CAAE,KAAM,MAAM,CAAE,EAG/ChB,GAAgBgB,EAAM1jQ,EAAM,MAAM,CAC1C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAM+C,EAAUzB,IAAW7qH,CAAI,EAE/B,OAAIr3I,IAAU,KACL4gQ,EAAS,cAAc+C,EAAS,CAAE,KAAM,MAAM,CAAE,EAGlDjB,GAAgBiB,EAAS3jQ,EAAM,MAAM,CAC7C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,OAAI5gQ,IAAU,KACL4gQ,EAAS,cAAcvpH,EAAK,QAAO,EAAI,CAAE,KAAM,OAAQ,EAGzDwrH,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMgD,EAAY3B,IAAa5qH,CAAI,EAEnC,OAAIr3I,IAAU,KACL4gQ,EAAS,cAAcgD,EAAW,CAAE,KAAM,WAAW,CAAE,EAGzDlB,GAAgBkB,EAAW5jQ,EAAM,MAAM,CAC/C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMiD,EAAYxsH,EAAK,OAAQ,EAC/B,OAAQr3I,EAAK,CAEX,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO4gQ,EAAS,IAAIiD,EAAW,CAC7B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,SACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,QACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAUxsH,EAAMr3I,EAAO4gQ,EAAUl6S,EAAS,CAC3C,MAAMm9S,EAAYxsH,EAAK,OAAQ,EACzBysH,GAAkBD,EAAYn9S,EAAQ,aAAe,GAAK,GAAK,EACrE,OAAQs5C,EAAK,CAEX,IAAK,IACH,OAAO,OAAO8jQ,CAAc,EAE9B,IAAK,KACH,OAAOpB,GAAgBoB,EAAgB,CAAC,EAE1C,IAAK,KACH,OAAOlD,EAAS,cAAckD,EAAgB,CAAE,KAAM,KAAK,CAAE,EAC/D,IAAK,MACH,OAAOlD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,SACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,QACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAUxsH,EAAMr3I,EAAO4gQ,EAAUl6S,EAAS,CAC3C,MAAMm9S,EAAYxsH,EAAK,OAAQ,EACzBysH,GAAkBD,EAAYn9S,EAAQ,aAAe,GAAK,GAAK,EACrE,OAAQs5C,EAAK,CAEX,IAAK,IACH,OAAO,OAAO8jQ,CAAc,EAE9B,IAAK,KACH,OAAOpB,GAAgBoB,EAAgB9jQ,EAAM,MAAM,EAErD,IAAK,KACH,OAAO4gQ,EAAS,cAAckD,EAAgB,CAAE,KAAM,KAAK,CAAE,EAC/D,IAAK,MACH,OAAOlD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,SACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,QACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAUxsH,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMiD,EAAYxsH,EAAK,OAAQ,EACzB0sH,EAAeF,IAAc,EAAI,EAAIA,EAC3C,OAAQ7jQ,EAAK,CAEX,IAAK,IACH,OAAO,OAAO+jQ,CAAY,EAE5B,IAAK,KACH,OAAOrB,GAAgBqB,EAAc/jQ,EAAM,MAAM,EAEnD,IAAK,KACH,OAAO4gQ,EAAS,cAAcmD,EAAc,CAAE,KAAM,KAAK,CAAE,EAE7D,IAAK,MACH,OAAOnD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,cACP,QAAS,YACnB,CAAS,EAEH,IAAK,QACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,SACP,QAAS,YACnB,CAAS,EAEH,IAAK,SACH,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,QACP,QAAS,YACnB,CAAS,EAEH,IAAK,OACL,QACE,OAAOjD,EAAS,IAAIiD,EAAW,CAC7B,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAUxsH,EAAMr3I,EAAO4gQ,EAAU,CAElC,MAAMoC,EADQ3rH,EAAK,SAAU,EACM,IAAM,EAAI,KAAO,KAEpD,OAAQr3I,EAAK,CACX,IAAK,IACL,IAAK,KACH,OAAO4gQ,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,cACP,QAAS,YACnB,CAAS,EACH,IAAK,MACH,OAAOpC,EACJ,UAAUoC,EAAoB,CAC7B,MAAO,cACP,QAAS,YACV,GACA,YAAa,EAClB,IAAK,QACH,OAAOpC,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,SACP,QAAS,YACnB,CAAS,EACH,IAAK,OACL,QACE,OAAOpC,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAU3rH,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMoD,EAAQ3sH,EAAK,SAAU,EAC7B,IAAI2rH,EASJ,OARIgB,IAAU,GACZhB,EAAqBI,GAAc,KAC1BY,IAAU,EACnBhB,EAAqBI,GAAc,SAEnCJ,EAAqBgB,EAAQ,IAAM,EAAI,KAAO,KAGxChkQ,EAAK,CACX,IAAK,IACL,IAAK,KACH,OAAO4gQ,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,cACP,QAAS,YACnB,CAAS,EACH,IAAK,MACH,OAAOpC,EACJ,UAAUoC,EAAoB,CAC7B,MAAO,cACP,QAAS,YACV,GACA,YAAa,EAClB,IAAK,QACH,OAAOpC,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,SACP,QAAS,YACnB,CAAS,EACH,IAAK,OACL,QACE,OAAOpC,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAU3rH,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMoD,EAAQ3sH,EAAK,SAAU,EAC7B,IAAI2rH,EAWJ,OAVIgB,GAAS,GACXhB,EAAqBI,GAAc,QAC1BY,GAAS,GAClBhB,EAAqBI,GAAc,UAC1BY,GAAS,EAClBhB,EAAqBI,GAAc,QAEnCJ,EAAqBI,GAAc,MAG7BpjQ,EAAK,CACX,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO4gQ,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,cACP,QAAS,YACnB,CAAS,EACH,IAAK,QACH,OAAOpC,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,SACP,QAAS,YACnB,CAAS,EACH,IAAK,OACL,QACE,OAAOpC,EAAS,UAAUoC,EAAoB,CAC5C,MAAO,OACP,QAAS,YACnB,CAAS,CACT,CACG,EAGD,EAAG,SAAU3rH,EAAMr3I,EAAO4gQ,EAAU,CAClC,GAAI5gQ,IAAU,KAAM,CAClB,IAAIgkQ,EAAQ3sH,EAAK,SAAQ,EAAK,GAC9B,OAAI2sH,IAAU,IAAGA,EAAQ,IAClBpD,EAAS,cAAcoD,EAAO,CAAE,KAAM,MAAM,CAAE,CAC3D,CAEI,OAAOnB,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,OAAI5gQ,IAAU,KACL4gQ,EAAS,cAAcvpH,EAAK,SAAQ,EAAI,CAAE,KAAM,OAAQ,EAG1DwrH,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,MAAMoD,EAAQ3sH,EAAK,SAAQ,EAAK,GAEhC,OAAIr3I,IAAU,KACL4gQ,EAAS,cAAcoD,EAAO,CAAE,KAAM,MAAM,CAAE,EAGhDtB,GAAgBsB,EAAOhkQ,EAAM,MAAM,CAC3C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,IAAIoD,EAAQ3sH,EAAK,SAAU,EAG3B,OAFI2sH,IAAU,IAAGA,EAAQ,IAErBhkQ,IAAU,KACL4gQ,EAAS,cAAcoD,EAAO,CAAE,KAAM,MAAM,CAAE,EAGhDtB,GAAgBsB,EAAOhkQ,EAAM,MAAM,CAC3C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,OAAI5gQ,IAAU,KACL4gQ,EAAS,cAAcvpH,EAAK,WAAU,EAAI,CAAE,KAAM,SAAU,EAG9DwrH,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO4gQ,EAAU,CAClC,OAAI5gQ,IAAU,KACL4gQ,EAAS,cAAcvpH,EAAK,WAAU,EAAI,CAAE,KAAM,SAAU,EAG9DwrH,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAO,CACxB,OAAO6iQ,GAAgB,EAAExrH,EAAMr3I,CAAK,CACrC,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAOikQ,EAAW,CACnC,MAAMC,EAAiB7sH,EAAK,kBAAmB,EAE/C,GAAI6sH,IAAmB,EACrB,MAAO,IAGT,OAAQlkQ,EAAK,CAEX,IAAK,IACH,OAAOmkQ,GAAkCD,CAAc,EAKzD,IAAK,OACL,IAAK,KACH,OAAOE,GAAeF,CAAc,EAKtC,IAAK,QACL,IAAK,MACL,QACE,OAAOE,GAAeF,EAAgB,GAAG,CACjD,CACG,EAGD,EAAG,SAAU7sH,EAAMr3I,EAAOikQ,EAAW,CACnC,MAAMC,EAAiB7sH,EAAK,kBAAmB,EAE/C,OAAQr3I,EAAK,CAEX,IAAK,IACH,OAAOmkQ,GAAkCD,CAAc,EAKzD,IAAK,OACL,IAAK,KACH,OAAOE,GAAeF,CAAc,EAKtC,IAAK,QACL,IAAK,MACL,QACE,OAAOE,GAAeF,EAAgB,GAAG,CACjD,CACG,EAGD,EAAG,SAAU7sH,EAAMr3I,EAAOikQ,EAAW,CACnC,MAAMC,EAAiB7sH,EAAK,kBAAmB,EAE/C,OAAQr3I,EAAK,CAEX,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqkQ,GAAoBH,EAAgB,GAAG,EAExD,IAAK,OACL,QACE,MAAO,MAAQE,GAAeF,EAAgB,GAAG,CACzD,CACG,EAGD,EAAG,SAAU7sH,EAAMr3I,EAAOikQ,EAAW,CACnC,MAAMC,EAAiB7sH,EAAK,kBAAmB,EAE/C,OAAQr3I,EAAK,CAEX,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqkQ,GAAoBH,EAAgB,GAAG,EAExD,IAAK,OACL,QACE,MAAO,MAAQE,GAAeF,EAAgB,GAAG,CACzD,CACG,EAGD,EAAG,SAAU7sH,EAAMr3I,EAAOikQ,EAAW,CACnC,MAAMp6O,EAAY,KAAK,MAAM,CAACwtH,EAAO,GAAI,EACzC,OAAOqrH,GAAgB74O,EAAW7pB,EAAM,MAAM,CAC/C,EAGD,EAAG,SAAUq3I,EAAMr3I,EAAOikQ,EAAW,CACnC,OAAOvB,GAAgB,CAACrrH,EAAMr3I,EAAM,MAAM,CAC3C,CACH,EAEA,SAASqkQ,GAAoB7gP,EAAQkxC,EAAY,GAAI,CACnD,MAAMkuM,EAAOp/O,EAAS,EAAI,IAAM,IAC1B8gP,EAAY,KAAK,IAAI9gP,CAAM,EAC3BwgP,EAAQ,KAAK,MAAMM,EAAY,EAAE,EACjCC,EAAUD,EAAY,GAC5B,OAAIC,IAAY,EACP3B,EAAO,OAAOoB,CAAK,EAErBpB,EAAO,OAAOoB,CAAK,EAAItvM,EAAYguM,GAAgB6B,EAAS,CAAC,CACtE,CAEA,SAASJ,GAAkC3gP,EAAQkxC,EAAW,CAC5D,OAAIlxC,EAAS,KAAO,GACLA,EAAS,EAAI,IAAM,KAClBk/O,GAAgB,KAAK,IAAIl/O,CAAM,EAAI,GAAI,CAAC,EAEjD4gP,GAAe5gP,EAAQkxC,CAAS,CACzC,CAEA,SAAS0vM,GAAe5gP,EAAQkxC,EAAY,GAAI,CAC9C,MAAMkuM,EAAOp/O,EAAS,EAAI,IAAM,IAC1B8gP,EAAY,KAAK,IAAI9gP,CAAM,EAC3BwgP,EAAQtB,GAAgB,KAAK,MAAM4B,EAAY,EAAE,EAAG,CAAC,EACrDC,EAAU7B,GAAgB4B,EAAY,GAAI,CAAC,EACjD,OAAO1B,EAAOoB,EAAQtvM,EAAY6vM,CACpC,CCvwBA,MAAMC,GAAoB,CAACr6R,EAASy1R,IAAe,CACjD,OAAQz1R,EAAO,CACb,IAAK,IACH,OAAOy1R,EAAW,KAAK,CAAE,MAAO,OAAO,CAAE,EAC3C,IAAK,KACH,OAAOA,EAAW,KAAK,CAAE,MAAO,QAAQ,CAAE,EAC5C,IAAK,MACH,OAAOA,EAAW,KAAK,CAAE,MAAO,MAAM,CAAE,EAC1C,IAAK,OACL,QACE,OAAOA,EAAW,KAAK,CAAE,MAAO,MAAM,CAAE,CAC9C,CACA,EAEM6E,IAAoB,CAACt6R,EAASy1R,IAAe,CACjD,OAAQz1R,EAAO,CACb,IAAK,IACH,OAAOy1R,EAAW,KAAK,CAAE,MAAO,OAAO,CAAE,EAC3C,IAAK,KACH,OAAOA,EAAW,KAAK,CAAE,MAAO,QAAQ,CAAE,EAC5C,IAAK,MACH,OAAOA,EAAW,KAAK,CAAE,MAAO,MAAM,CAAE,EAC1C,IAAK,OACL,QACE,OAAOA,EAAW,KAAK,CAAE,MAAO,MAAM,CAAE,CAC9C,CACA,EAEM8E,IAAwB,CAACv6R,EAASy1R,IAAe,CACrD,MAAMn3G,EAAct+K,EAAQ,MAAM,WAAW,GAAK,CAAE,EAC9Cw6R,EAAcl8G,EAAY,CAAC,EAC3Bm8G,EAAcn8G,EAAY,CAAC,EAEjC,GAAI,CAACm8G,EACH,OAAOJ,GAAkBr6R,EAASy1R,CAAU,EAG9C,IAAIiF,EAEJ,OAAQF,EAAW,CACjB,IAAK,IACHE,EAAiBjF,EAAW,SAAS,CAAE,MAAO,OAAO,CAAE,EACvD,MACF,IAAK,KACHiF,EAAiBjF,EAAW,SAAS,CAAE,MAAO,QAAQ,CAAE,EACxD,MACF,IAAK,MACHiF,EAAiBjF,EAAW,SAAS,CAAE,MAAO,MAAM,CAAE,EACtD,MACF,IAAK,OACL,QACEiF,EAAiBjF,EAAW,SAAS,CAAE,MAAO,MAAM,CAAE,EACtD,KACN,CAEE,OAAOiF,EACJ,QAAQ,WAAYL,GAAkBG,EAAa/E,CAAU,CAAC,EAC9D,QAAQ,WAAY6E,IAAkBG,EAAahF,CAAU,CAAC,CACnE,EAEakF,IAAiB,CAC5B,EAAGL,IACH,EAAGC,GACL,EC/DMK,IAAmB,OACnBC,IAAkB,OAElBC,IAAc,CAAC,IAAK,KAAM,KAAM,MAAM,EAErC,SAASC,IAA0BllQ,EAAO,CAC/C,OAAO+kQ,IAAiB,KAAK/kQ,CAAK,CACpC,CAEO,SAASmlQ,IAAyBnlQ,EAAO,CAC9C,OAAOglQ,IAAgB,KAAKhlQ,CAAK,CACnC,CAEO,SAASolQ,IAA0BplQ,EAAO59B,EAAQjY,EAAO,CAC9D,MAAMk7S,EAAW5/Q,IAAQua,EAAO59B,EAAQjY,CAAK,EAE7C,GADA,QAAQ,KAAKk7S,CAAQ,EACjBJ,IAAY,SAASjlQ,CAAK,EAAG,MAAM,IAAI,WAAWqlQ,CAAQ,CAChE,CAEA,SAAS5/Q,IAAQua,EAAO59B,EAAQjY,EAAO,CACrC,MAAMm7S,EAAUtlQ,EAAM,CAAC,IAAM,IAAM,QAAU,oBAC7C,MAAO,SAASA,EAAM,YAAa,oBAAmBA,CAAK,YAAY59B,CAAM,sBAAsBkjS,CAAO,mBAAmBn7S,CAAK,iFACpI,CCKA,MAAMo7S,IACJ,wDAIIC,IAA6B,oCAE7BC,IAAsB,eACtBC,IAAoB,MACpBC,IAAgC,WAoS/B,SAASvjS,IAAOi1K,EAAMrjK,EAAWttB,EAAS,qBAC/C,MAAM4Z,EAAiBi9R,GAAmB,EACpCjmH,GAAS5wL,GAAA,YAAAA,EAAS,SAAU4Z,EAAe,QAAUslS,IAErDxD,GACJ17S,GAAA,YAAAA,EAAS,0BACT4B,GAAAxC,EAAAY,GAAA,YAAAA,EAAS,SAAT,YAAAZ,EAAiB,UAAjB,YAAAwC,EAA0B,wBAC1BgY,EAAe,yBACf7X,GAAAF,EAAA+X,EAAe,SAAf,YAAA/X,EAAuB,UAAvB,YAAAE,EAAgC,wBAChC,EAEIg1S,GACJ/2S,GAAA,YAAAA,EAAS,iBACTiO,GAAAhM,EAAAjC,GAAA,YAAAA,EAAS,SAAT,YAAAiC,EAAiB,UAAjB,YAAAgM,EAA0B,eAC1B2L,EAAe,gBACf1L,GAAAC,EAAAyL,EAAe,SAAf,YAAAzL,EAAuB,UAAvB,YAAAD,EAAgC,eAChC,EAEIixS,EAAevI,GAAOjmH,EAAM3wL,GAAA,YAAAA,EAAS,EAAE,EAE7C,GAAI,CAAC0gC,IAAQy+Q,CAAY,EACvB,MAAM,IAAI,WAAW,oBAAoB,EAG3C,IAAI74R,EAAQgH,EACT,MAAMwxR,GAA0B,EAChC,IAAK5lE,GAAc,CAClB,MAAMkmE,EAAiBlmE,EAAU,CAAC,EAClC,GAAIkmE,IAAmB,KAAOA,IAAmB,IAAK,CACpD,MAAMC,EAAgBjB,IAAegB,CAAc,EACnD,OAAOC,EAAcnmE,EAAWtoD,EAAO,UAAU,CACzD,CACM,OAAOsoD,CACR,GACA,KAAK,EAAE,EACP,MAAM2lE,GAAsB,EAC5B,IAAK3lE,GAAc,CAElB,GAAIA,IAAc,KAChB,MAAO,CAAE,QAAS,GAAO,MAAO,GAAK,EAGvC,MAAMkmE,EAAiBlmE,EAAU,CAAC,EAClC,GAAIkmE,IAAmB,IACrB,MAAO,CAAE,QAAS,GAAO,MAAOE,IAAmBpmE,CAAS,CAAG,EAGjE,GAAIhsN,GAAWkyR,CAAc,EAC3B,MAAO,CAAE,QAAS,GAAM,MAAOlmE,CAAW,EAG5C,GAAIkmE,EAAe,MAAMH,GAA6B,EACpD,MAAM,IAAI,WACR,iEACEG,EACA,GACH,EAGH,MAAO,CAAE,QAAS,GAAO,MAAOlmE,CAAW,CACjD,CAAK,EAGCtoD,EAAO,SAAS,eAClBtqK,EAAQsqK,EAAO,SAAS,aAAauuH,EAAc74R,CAAK,GAG1D,MAAMi5R,EAAmB,CACvB,sBAAA7D,EACA,aAAA3E,EACA,OAAAnmH,CACD,EAED,OAAOtqK,EACJ,IAAK+tC,GAAS,CACb,GAAI,CAACA,EAAK,QAAS,OAAOA,EAAK,MAE/B,MAAM/a,EAAQ+a,EAAK,OAGhB,EAACr0D,GAAA,MAAAA,EAAS,8BACTy+S,IAAyBnlQ,CAAK,GAC/B,EAACt5C,GAAA,MAAAA,EAAS,+BACTw+S,IAA0BllQ,CAAK,IAEjColQ,IAA0BplQ,EAAOhsB,EAAW,OAAOqjK,CAAI,CAAC,EAG1D,MAAM1iK,EAAYf,GAAWosB,EAAM,CAAC,CAAC,EACrC,OAAOrrB,EAAUkxR,EAAc7lQ,EAAOs3I,EAAO,SAAU2uH,CAAgB,CACxE,GACA,KAAK,EAAE,CACZ,CAEA,SAASD,IAAmB77S,EAAO,CACjC,MAAMygB,EAAUzgB,EAAM,MAAMs7S,GAAmB,EAE/C,OAAK76R,EAIEA,EAAQ,CAAC,EAAE,QAAQ86R,IAAmB,GAAG,EAHvCv7S,CAIX,CClYO,SAAS21S,IAAezoH,EAAM6uH,EAAUx/S,EAAS,SACtD,KAAM,CAAC04S,EAAO+G,CAAS,EAAI9H,IAAe33S,GAAA,YAAAA,EAAS,GAAI2wL,EAAM6uH,CAAQ,EAE/D5lS,EAAiBi9R,GAAmB,EACpCjmH,EAA4Bh3K,EAAe,QAAUslS,IACrDnI,EAGJn9R,EAAe,gBACfhY,GAAAxC,EAAAwa,EAAe,SAAf,YAAAxa,EAAuB,UAAvB,YAAAwC,EAAgC,eAChC,EAEIo1K,EAAO8gI,IAAyBY,EAAO+G,CAAS,EAEtD,GAAI,MAAMzoI,CAAI,EACZ,MAAM,IAAI,WAAW,oBAAoB,EAG3C,IAAI19H,EACA09H,EAAO,GACT19H,EAAQ,QACC09H,EAAO,GAChB19H,EAAQ,WACC09H,EAAO,EAChB19H,EAAQ,YACC09H,EAAO,EAChB19H,EAAQ,QACC09H,EAAO,EAChB19H,EAAQ,WACC09H,EAAO,EAChB19H,EAAQ,WAERA,EAAQ,QAGV,MAAMhsB,EAAYsjK,EAAO,eAAet3I,EAAOo/P,EAAO+G,EAAW,CAC/D,OAAA7uH,EACA,aAAAmmH,CACJ,CAAG,EACD,OAAOr7R,IAAOg9R,EAAOprR,EAAW,CAAE,OAAAsjK,EAAQ,aAAAmmH,CAAY,CAAE,CAC1D,CC3EO,MAAM2I,IAAc,CAAC,CAAE,MAAAv1S,KAA8B,CACrD,MAAA61E,EAAQz/E,UAAQ,IAAM,CAC3B,OAAQ4J,EAAM,MAAO,CACpB,IAAK,QACG,yCACR,IAAK,OACG,oCACR,IAAK,OACG,yCACT,EACE,CAACA,EAAM,KAAK,CAAC,EAGf,OAAA64G,EAAA,KAAC,OAAI,UAAU,4DAA4D,MAAO,CAAE,YAAahjC,CAChG,YAACzpE,MAAA,OAAI,UAAU,OAAO,MAAO,CAAE,MAAAypE,GAC7B,WAAM,OACR,GACAzpE,MAAC,MAAI,WAAU,4CACb,SAAA6iS,IAAejvS,EAAM,UAAW,IAAI,IAAM,CAC5C,IACD,CAEF,ECSMw1S,IAAU,CAAC,CAAE,OAAAl4B,KAA2B,CACvC,MACL,WAAYm4B,EACZ,eAAAv1H,EACA,WAAAmpH,EACA,wBAAAqM,EACA,2BAAAC,GACG1iQ,GAAkB,EAEhB,CAAE,EAAAjqE,CAAE,EAAIsqE,GAAkB,EAEhC,cACE0uC,GACA,WAAC62B,OAAAkkK,GAAA,CAAU,UAAU,oCACpB,UAAA3wQ,MAAC,KAAG,WAAU,6BAA8B,SAAApjC,EAAE,WAAW,EAAE,QAC1DmuG,GAAO,SAASmmM,EAAS,SAAAt0S,EAAE,UAAU,CAAE,IACzC,SAECg0S,GACA,WAAA5wQ,EAAA,IAAC,OACA,MAAO,CACN,MAAO,2BACP,SAAU,OACV,aAAc,OACd,UAAW,KACZ,EACA,SAAAA,EAAA,IAACgI,GAAM,SAAQ,kBACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GAAa,gCAAiC,cAAc,EAClE,MAAO,CAAE,QAAS,QAAS,EAAG,uBAGhC,GACD,QAEC6zL,IAAiB,IAEjB9C,GAECxwL,EAAA,KAAA/kG,WAAA,WAAA+kG,EAAA,KAAC,MAAI,OAAO,CAAE,aAAc,EAC3B,YAAAzsG,EAAA,IAACsiF,GAAA,CACA,QAASgnN,EACT,SAAW5rU,GAAW,CACM6rU,EAAA7rU,EAAE,OAAO,OAAO,EACpC+kE,GAAA,YAAY,CAAE,KAAM,0BAA2B,KAAM/kE,EAAE,OAAO,QAAS,CAC/E,EACA,SAAAsiC,EAAA,IAAC,QAAK,MAAO,CAAE,WAAY,OAAU,SAAEpjC,EAAA,gCAAgC,CAAE,GAC1E,EACA6vI,EAAA,KAAC,OACA,MAAO,CACN,SAAU,OACV,UAAW,MACX,MAAO,qCACR,EACA,UAACA,OAAAzkG,GAAA,CAAM,QAAQ,uCACd,UAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,uEACA,qBACD,EACA,MAAO,CAAE,QAAS,QAAS,EAAG,uCAE/B,EACAlsG,MAAC,UAAO,SAAG,SACZ,EACAA,MAAC,KAAE,MAAO,CAAE,UAAW,KAAM,EAAI,SAAEpjC,EAAA,+BAA+B,CAAE,KACrE,EACD,EAGCysU,EAAQ,OAAS,GAChBrpS,EAAA,WAAI,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,QAC3D,SAAQqpS,EAAA,IAAK1vD,GACb35O,EAAA,IAACwpS,IAAA,CAEA,OAAA7vD,EACA,eAAA7lE,CAAA,EAFK,GAAG6lE,EAAO,IAAI,IAAIA,EAAO,QAAU,QAAQ,EAIjD,GACF,EAIDltI,EAAA,KAAC,OACA,MAAO,CACN,UAAW,OACX,MAAO,OACP,QAAS,OACT,oBAAqB,uCACrB,IAAK,MACN,EACA,UAAAA,EAAA,KAAC1hC,GAAA,CACA,QAAQ,YACR,MAAO,CAAE,MAAO,MAAO,EACvB,QAAS,IAAM,CACdtoC,GAAO,YAAY,CAAE,KAAM,kBAAmB,CAC/C,EACA,UAAAziC,MAAC,QAAK,UAAU,uBAAuB,MAAO,CAAE,YAAa,OAAS,EACrEpjC,EAAE,mBAAmB,GACvB,EACA6vI,EAAA,KAAC1hC,GAAA,CACA,QAAQ,YACR,MAAO,CAAE,MAAO,MAAO,EACvB,QAAS,IAAM,CACdtoC,GAAO,YAAY,CAAE,KAAM,yBAA0B,CACtD,EACA,UAAAziC,MAAC,QAAK,UAAU,uBAAuB,MAAO,CAAE,YAAa,OAAS,EACrEpjC,EAAE,oBAAoB,GACxB,EACA6vI,EAAA,KAAC1hC,GAAA,CACA,QAAQ,YACR,MAAO,CAAE,MAAO,MAAO,EACvB,QAAS,IAAM,CACdtoC,GAAO,YAAY,CAAE,KAAM,uBAAwB,CACpD,EACA,UAAAziC,MAAC,QAAK,UAAU,0BAA0B,MAAO,CAAE,YAAa,OAAS,EACxEpjC,EAAE,gBAAgB,GACpB,EACCojC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,iBAAiB,EAC5C,SAAA6vI,EAAA,KAAC1hC,GAAA,CACA,QAAQ,YACR,MAAO,CAAE,MAAO,MAAO,EACvB,QAAS,IAAM,CACP,mBACN,CACC,KAAM,SACN,OAAQ,2BACR,OAAQ,CAAE,eAAgB,KAAM,CACjC,EACA,GACD,CACD,EACA,UAAA/qE,MAAC,QAAK,UAAU,6BAA6B,MAAO,CAAE,YAAa,OAAS,EAC3EpjC,EAAE,iBAAiB,IAEtB,IACD,EACAojC,EAAA,IAAC,OACA,MAAO,CACN,UAAW,OACX,SAAU,OACV,MAAO,qCACR,EACA,SAAAA,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,2DACA,mBACD,EACA,MAAO,CAAE,QAAS,QAAS,EAC1B,WAAE,8BAA8B,GAClC,EACD,CACD,GAEF,IACD,CAEF,EAEMs9L,IAAY,CAAC,CAAE,OAAA7vD,EAAQ,eAAA7lE,KAAsE,SAC5F,MAAE,EAAAl3M,CAAE,EAAIsqE,GAAkB,EAC1B,CAAC+zM,EAAYqe,CAAa,EAAIlvQ,WAAS,EAAK,EAC5C,CAACq/S,EAAmBC,CAAoB,EAAIt/S,WAAS,EAAK,EAC1D,CAACu/S,EAAcC,CAAe,EAAIx/S,WAAS,IAAM,OAEtD,QADsBvB,EAAA,KAAK,MAAM8wP,EAAO,MAAM,IAAxB,YAAA9wP,EAA2B,UACzB,GACxB,EAEKghT,EAAiB,CACtB,CAAE,MAAO,GAAI,MAAOjtU,EAAE,sCAAsC,CAAE,EAC9D,CAAE,MAAO,GAAI,MAAOA,EAAE,sCAAsC,CAAE,EAC9D,CAAE,MAAO,GAAI,MAAOA,EAAE,oCAAoC,CAAE,EAC5D,CAAE,MAAO,IAAK,MAAOA,EAAE,qCAAqC,CAAE,EAC9D,CAAE,MAAO,IAAK,MAAOA,EAAE,sCAAsC,CAAE,EAC/D,CAAE,MAAO,IAAK,MAAOA,EAAE,sCAAsC,CAAE,EAC/D,CAAE,MAAO,KAAM,MAAOA,EAAE,sCAAsC,CAAE,EAChE,CAAE,MAAO,KAAM,MAAOA,EAAE,sCAAsC,CAAE,CACjE,EAEMktU,EAAiB,IAAM,CAC5B,OAAQnwD,EAAO,OAAQ,CACtB,IAAK,YACG,yCACR,IAAK,aACG,oCACR,IAAK,eACG,yCAEV,EAEMowD,EAAiB,IAAM,CACxBpwD,EAAO,SAAW,aACrB2f,EAAc,CAACre,CAAU,CAE3B,EAEM+uD,EAAgB,IAAM,CAC3BvnQ,GAAO,YAAY,CAClB,KAAM,mBACN,KAAMk3M,EAAO,KACb,OAAQA,EAAO,QAAU,SACzB,CACF,EAEMswD,EAAuBrgT,GAAgD,CAC5E,MAAMsgT,EAAU,SAAStgT,EAAM,OAAO,KAAK,EAC3CggT,EAAgBM,CAAO,EACvBznQ,GAAO,YAAY,CAClB,KAAM,mBACN,WAAYk3M,EAAO,KACnB,OAAQA,EAAO,QAAU,SACzB,QAASuwD,CAAA,CACT,CACF,EAEMriE,EAAe,IAAM,CAC1BplM,GAAO,YAAY,CAClB,KAAM,kBACN,WAAYk3M,EAAO,KACnB,OAAQA,EAAO,QAAU,SACzB,EACD+vD,EAAqB,EAAK,CAC3B,EAEA,cACE,MAAI,OAAO,CAAE,aAAc,MAC3B,YAAAj9L,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,QAAS,MACT,WAAY,yCACZ,OAAQktI,EAAO,SAAW,YAAc,UAAY,UACpD,aAAcsB,GAActB,EAAO,SAAW,YAAc,MAAQ,cACpE,QAASA,EAAO,SAAW,GAAM,CAClC,EACA,QAASowD,EACR,UAAApwD,EAAO,SAAW,aAClB35O,EAAA,IAAC,QACA,UAAW,2BAA2Bi7O,EAAa,OAAS,OAAO,GACnE,MAAO,CAAE,YAAa,KAAM,EAC7B,SAEA,OAAK,OAAO,CAAE,KAAM,CACnB,YAAOtB,EAAA,KACPA,EAAO,QACP35O,EAAA,IAAC,QACA,MAAO,CACN,WAAY,MACZ,QAAS,UACT,SAAU,OACV,aAAc,MACd,WAAY,iCACZ,MAAO,gCACR,EACC,SAAO25O,EAAA,QACT,EAEF,EACAltI,EAAA,KAAC,OACA,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,YAAa,KAAM,EACnE,QAAU/uI,GAAMA,EAAE,gBAAgB,EAClC,UAAAsiC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM2+N,EAAqB,EAAI,EACxC,MAAO,CAAE,YAAa,KAAM,EAC5B,SAAA1pS,MAAC,QAAK,UAAU,wBAAwB,MAAO,CAAE,SAAU,OAAU,GACtE,EACAA,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAASi/N,EACT,SAAUrwD,EAAO,SAAW,aAC5B,MAAO,CAAE,YAAa,KAAM,EAC5B,SAAA35O,MAAC,QAAK,UAAU,0BAA0B,MAAO,CAAE,SAAU,OAAU,IACxE,EACD,EACAA,EAAA,IAAC,OACA,MAAO,CACN,MAAO,MACP,OAAQ,MACR,aAAc,MACd,WAAY8pS,EAAe,EAC3B,WAAY,MACb,CACD,QACC,MAAI,OAAO,CAAE,WAAY,OACzB,SAAA9pS,EAAA,IAACkzK,GAAA,CACA,QAAS,CAACymE,EAAO,SACjB,SAAU,IAAM,CACfl3M,GAAO,YAAY,CAClB,KAAM,kBACN,WAAYk3M,EAAO,KACnB,OAAQA,EAAO,QAAU,SACzB,SAAU,CAACA,EAAO,SAClB,CACF,EACA,KAAK,SACL,aAAY,UAAUA,EAAO,IAAI,WAEnC,IACD,EAECA,EAAO,SAAW,YAClBsB,GACCxuI,EAAA,KAAC,OACA,MAAO,CACN,WAAY,yCACZ,QAAS,mBACT,SAAU,OACV,aAAc,aACf,EACA,UAAAA,EAAA,KAAC/pB,IAAa,OAAO,CAAE,aAAc,MACpC,YAAC+pB,OAAA9pB,GAAA,CAAe,GAAG,QACjB,UAAA/lH,EAAE,gBAAgB,EAAE,OAAGisB,EAAA8wP,EAAO,QAAP,YAAA9wP,EAAc,SAAU,EAAE,KACnD,EACA4jH,OAAC9pB,GAAe,IAAG,YACjB,UAAA/lH,EAAE,oBAAoB,EAAE,KACxB,CAAC,GAAI+8Q,EAAO,mBAAqB,GAAK,GAAIA,EAAO,WAAa,EAAG,EAAE,QAAU,EAAE,KACjF,EACCA,EAAO,cACN35O,MAAA2iF,GAAA,CAAe,GAAG,eAAgB,SAAA/lH,EAAE,kBAAkB,EAAE,EAE1D6vI,OAAC9pB,GAAe,IAAG,SACjB,UAAA/lH,EAAE,iBAAiB,EAAE,OAAGyuB,EAAAsuP,EAAO,eAAP,YAAAtuP,EAAqB,SAAU,EAAE,KAC3D,EAEA2U,MAAC4iF,IAAgB,GAAG,aAClB,WAAO,OAAS+2J,EAAO,MAAM,OAAS,EACtC35O,EAAA,IAAC,OACA,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,MAAO,MAAO,MAAO,EAC5E,SAAO25O,EAAA,MAAM,IAAKviC,GAClBp3M,EAAA,IAACm3M,GAAA,CAEA,KAAAC,EACA,WAAYuiC,EAAO,KACnB,aAAcA,EAAO,QAAU,SAC/B,eAAA7lE,CAAA,EAJK,GAAGsjC,EAAK,IAAI,IAAIuiC,EAAO,IAAI,IAAIA,EAAO,QAAU,QAAQ,EAM9D,GAGF,EAAA35O,EAAA,IAAC,MAAI,OAAO,CAAE,QAAS,SAAU,MAAO,qCAAsC,EAC5E,SAAEpjC,EAAA,wBAAwB,EAC5B,CAEF,GAECojC,EAAA,IAAA4iF,GAAA,CAAgB,GAAG,iBACjB,WAAO,WAAa+2J,EAAO,UAAU,OAAS,GAC/CA,EAAO,mBAAqBA,EAAO,kBAAkB,OAAS,EAC9D35O,EAAA,IAAC,OACA,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,MAAO,MAAO,MAAO,EAC5E,UAAC,GAAI25O,EAAO,mBAAqB,GAAK,GAAIA,EAAO,WAAa,CAAG,GAAE,IAClExpP,GACA6P,EAAA,IAAC42P,IAAA,CAEA,KAAAzmQ,CAAA,EADK,gBAAiBA,EAAOA,EAAK,YAAcA,EAAK,IAEtD,CAEF,CAGD,EAAA6P,EAAA,IAAC,MAAI,OAAO,CAAE,QAAS,SAAU,MAAO,qCAAsC,EAC5E,SAAEpjC,EAAA,4BAA4B,EAChC,CAEF,GAEC+8Q,EAAO,cACN35O,MAAA4iF,GAAA,CAAgB,GAAG,oBACnB,SAAA5iF,EAAA,IAAC,MAAI,OAAO,CAAE,QAAS,SAAU,SAAU,QAC1C,SAACA,EAAA,WAAI,UAAU,6CACb,SAAA25O,EAAO,YACT,GACD,CACD,GAGD35O,MAAC4iF,IAAgB,GAAG,cAClB,WAAO,cAAgB+2J,EAAO,aAAa,OAAS,EACpD35O,EAAA,IAAC,OACA,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,IAAK,MAAO,MAAO,MAAO,EAC5E,UAAC,GAAG25O,EAAO,YAAY,EACtB,KAAK,CAACv8Q,EAAGK,IAAMA,EAAE,UAAYL,EAAE,SAAS,EACxC,IAAI,CAACw2B,EAAOoF,IACZgH,MAACmpS,IAAgD,OAAAv1S,CAAA,EAA/B,GAAGA,EAAM,SAAS,IAAIoF,CAAK,EAAkB,CAC/D,EAGH,EAAAgH,EAAA,IAAC,MAAI,OAAO,CAAE,QAAS,SAAU,MAAO,qCAAsC,EAC5E,SAAEpjC,EAAA,yBAAyB,CAC7B,EAEF,IACD,SAGC,MAAI,OAAO,CAAE,QAAS,UACtB,YAAA6vI,EAAA,KAAC,OACA,MAAO,CACN,QAAS,OACT,WAAY,SACZ,IAAK,OACL,aAAc,KACf,EACA,UAACzsG,EAAA,YAAM,SAAEpjC,EAAA,0BAA0B,CAAE,GACrCojC,EAAA,IAAC,UACA,MAAO2pS,EACP,SAAUM,EACV,MAAO,CACN,KAAM,EACN,QAAS,MACT,WAAY,oCACZ,MAAO,oCACP,OAAQ,0CACR,aAAc,MACd,QAAS,OACT,OAAQ,SACT,EACC,SAAeJ,EAAA,IAAK32R,GACnBlT,MAAA,UAA0B,MAAOkT,EAAO,MACvC,SAAAA,EAAO,KADI,EAAAA,EAAO,KAEpB,CACA,GACF,EACD,EACAlT,EAAA,IAAC,QACA,MAAO,CACN,SAAU,OACV,MAAO,sCACP,QAAS,OACV,EACC,WAAE,gCAAgC,GACpC,CACD,MAIFysG,EAAA,KAAC,OACA,MAAO,CACN,SAAU,OACV,WAAY,yCACZ,aAAc,cACd,MAAO,MACR,EACA,UAAAzsG,EAAA,IAAC,OACA,MAAO,CACN,MAAO,mCACP,aAAc,MACd,QAAS,SACT,aAAc,aACd,UAAW,YACZ,EACC,SAAO25O,EAAA,OACPA,EAAO,MAAM,MAAM;AAAA,CAAI,EAAE,IAAI,CAACxpP,EAAM6I,IAClCyzG,OAAApgH,GAAM,SAAN,CACC,UAAQ2M,EAAA,SAAM,KAAG,IACjB7I,CAAA,GAFmB6I,CAGrB,CACA,EACH,EACAgH,EAAA,IAACqiF,GAAA,CACA,WAAW,YACX,QAAS2nN,EACT,SAAUrwD,EAAO,SAAW,aAC5B,MAAO,CAAE,MAAO,oBAAqB,OAAQ,kBAAmB,EAC/D,WAAO,SAAW,aAChB/8Q,EAAE,2BAA2B,EAC7BA,EAAE,kCAAkC,GACxC,EACD,QAIAuoJ,GAAO,MAAMskL,EAAmB,aAAcC,EAC9C,gBAAC5iL,GACA,WAAAra,OAACw3B,GACA,WAACjkI,EAAA,IAAA6nH,GAAA,CAAa,SAAEjrJ,EAAA,wBAAwB,CAAE,GAC1CojC,MAACgoH,IACC,SAAEprJ,EAAA,+BAAgC,CAAE,WAAY+8Q,EAAO,IAAK,CAAC,CAC/D,IACD,SACCz1G,GACA,WAAClkI,MAAA+qE,GAAA,CAAO,QAAQ,YAAY,QAAS,IAAM2+N,EAAqB,EAAK,EACnE,SAAE9sU,EAAA,yBAAyB,CAC7B,GACAojC,MAAC+qE,IAAO,QAAQ,UAAU,QAAS88J,EACjC,SAAAjrQ,EAAE,yBAAyB,CAC7B,GACD,IACD,CACD,IACD,CAEF,ECrhBO,SAASutU,IAAgBC,EAA+C,CACxE,MAACC,CAAO,EAAIjgT,WAAS,IAAMggT,GAAmB,IAAIjjQ,GAA6B,EAC/E,CAAC98C,EAAOO,CAAQ,EAAIR,WAAS,IAAMigT,EAAQ,UAAU,EAE3DpiT,mBAAU,IAAM,CACT,MAAAqiT,EAAqB1sS,GAAwB,CAClDhT,EAAU+4C,GAGRA,EAAU,aAAe/lC,EAAS,YAClC+lC,EAAU,YAAc/lC,EAAS,WACjC,KAAK,UAAU+lC,EAAU,QAAQ,IAAM,KAAK,UAAU/lC,EAAS,QAAQ,GACvE,KAAK,UAAU+lC,EAAU,gBAAgB,IAAM,KAAK,UAAU/lC,EAAS,gBAAgB,GACvF,KAAK,UAAU+lC,EAAU,YAAY,IAAM,KAAK,UAAU/lC,EAAS,YAAY,GAC/E,KAAK,UAAU+lC,EAAU,uBAAuB,IAC/C,KAAK,UAAU/lC,EAAS,uBAAuB,GAChD,KAAK,UAAU+lC,EAAU,OAAO,IAAM,KAAK,UAAU/lC,EAAS,OAAO,EAElDA,EAAW+lC,CAC/B,CACF,EAEMyC,EAAiBx8C,GAAwB,CACtCygT,EAAA,cAAczgT,EAAM,IAAI,CACjC,EAGO,wBAAiB,UAAWw8C,CAAa,EAG1C,MAAA3kC,EAAc4oS,EAAQ,cAAcC,CAAiB,EAGzC,OAAAA,EAAAD,EAAQ,UAAU,EAE7B,IAAM,CACL,2BAAoB,UAAWjkQ,CAAa,EACvC3kC,EAAA,EAEP2oS,GACJC,EAAQ,QAAQ,CAElB,GACE,CAACA,EAASD,CAAe,CAAC,EAEtB,CAAC//S,EAAOggT,CAAO,CACvB,CCjDa,MAAAE,GAAcC,GAA+B,CACrD,IACH,WAAI,IAAIA,CAAS,EACV,QACA,CACA,SAET,ECgBaC,IAAkE,CAAC,CAC/E,KAAAt6S,EACA,OAAAkxI,EACA,QAAAuvC,EACA,aAAAm6E,CACD,IAAM,CACC,MAAE,EAAAnuR,CAAE,EAAIsqE,GAAkB,EAC1B,CAACruC,EAAO6xS,CAAQ,EAAItgT,EAA+B,SAAA2gQ,EAAe,UAAY,QAAQ,EACtF,CAAC4/C,EAAqBC,CAAsB,EAAIxgT,WAAS,CAAC,EAC1D,CAACygT,EAAiBC,CAAkB,EAAI1gT,WAAiC,EAAE,EAC3E,CAAC2gT,EAAiBC,CAAkB,EAAI5gT,WAAwB,IAAI,EACpE,CAAC6gT,EAAsBC,CAAuB,EAAI9gT,WAAS,EAAK,EAGtEiC,GAAM,UAAU,IAAM,CACjB8D,IACHy6S,EAAuB,CAAC,EACxBE,EAAmB,EAAE,EACrBE,EAAmB,IAAI,EACvBE,EAAwB,EAAK,EAC9B,EACE,CAAC/6S,CAAI,CAAC,EAGH,MAAAg7S,EAAqBnhT,UAAQ,IAC3BmG,GAAQ,MAAM,QAAQA,EAAK,OAAO,GAAKA,EAAK,QAAQ,OAAS,EAClE,CAACA,CAAI,CAAC,EAGHi7S,EAAcphT,UAAQ,IACvB,CAACmG,GAAQ,CAAC,MAAM,QAAQA,EAAK,OAAO,EAAU,CAAC,EAG3CA,EAAK,QAAqD,IAAK0sG,GAAWA,EAAO,IAAI,EAC3F,CAAC1sG,CAAI,CAAC,EAGHk7S,EAAsBrhT,UAAQ,IAAM,CACrC,IAACmG,EAAM,MAAO,CAAC,EAEb,MAAAm7S,EAAen7S,EAAK,OAAS,MAAQA,EAAK,YAAc,GAAK,CAAC,EACpE,IAAIo7S,EAA+B,CAAC,EAGpC,GAAI,MAAM,QAAQp7S,EAAK,OAAO,EAAG,CAC1B,MAAAq7S,EAAiBr7S,EAAK,QAAQw6S,CAAmB,EACxCY,GAAAC,GAAA,YAAAA,EAAgB,aAAc,CAAC,EAIzC,MAAAC,MAAe,IACR,OAAAH,EAAA,QAAS5uU,GAAM+uU,EAAS,IAAI/uU,EAAE,IAAKA,CAAC,CAAC,EACrC6uU,EAAA,QAAS7uU,GAAM+uU,EAAS,IAAI/uU,EAAE,IAAKA,CAAC,CAAC,EAE3C,MAAM,KAAK+uU,EAAS,QAAQ,GACjC,CAACt7S,EAAMw6S,CAAmB,CAAC,EAGxBe,EAAyB1hT,UAAQ,IAAM,CACxC,IAACmG,EAAM,MAAO,CAAC,EAEb,MAAAw7S,EAAgBx7S,EAAK,eAAiB,CAAC,EAC7C,IAAIy7S,EAA0B,CAAC,EAG/B,GAAI,MAAM,QAAQz7S,EAAK,OAAO,EAAG,CAC1B,MAAAq7S,EAAiBr7S,EAAK,QAAQw6S,CAAmB,EACvCiB,GAAAJ,GAAA,YAAAA,EAAgB,gBAAiB,CAAC,EAInD,MAAMK,EAAa,CAAC,GAAGF,EAAe,GAAGC,CAAa,EACtD,OAAO,MAAM,KAAK,IAAI,IAAIC,CAAU,CAAC,GACnC,CAAC17S,EAAMw6S,CAAmB,CAAC,EAG9Bt+S,GAAM,UAAU,IAAM,CACrB,GAAI8D,EAAM,CAEH,MAAAm7S,EAAen7S,EAAK,OAAS,MAAQA,EAAK,YAAc,GAAK,CAAC,EACpE,IAAIo7S,EAA+B,CAAC,EAEpC,GAAI,MAAM,QAAQp7S,EAAK,OAAO,EAAG,CAC1B,MAAAq7S,EAAiBr7S,EAAK,QAAQw6S,CAAmB,EACxCY,GAAAC,GAAA,YAAAA,EAAgB,aAAc,CAAC,EAIzC,MAAAC,MAAe,IACRH,EAAA,QAAS5uU,GAAM+uU,EAAS,IAAI/uU,EAAE,IAAKA,CAAC,CAAC,EACrC6uU,EAAA,QAAS7uU,GAAM+uU,EAAS,IAAI/uU,EAAE,IAAKA,CAAC,CAAC,EAElD,MAAMovU,EAAyB,MAAM,KAAKL,EAAS,QAAQ,EAG3DX,EAAoBhwR,GAAS,CAC5B,MAAMixR,EAAoC,CAAC,EACpB,OAAAD,EAAA,QAASjyS,GAAU,CAEzCkyS,EAAUlyS,EAAM,GAAG,EAAIihB,EAAKjhB,EAAM,GAAG,GAAK,GAC1C,EACMkyS,CAAA,CACP,EACF,EACE,CAAC57S,EAAMw6S,CAAmB,CAAC,EAG9B1iT,YAAU,IAAM,CACT,MAAAm+C,EAAiBx8C,GAAwB,CAC9C,MAAM4+B,EAAU5+B,EAAM,KAClB4+B,EAAQ,OAAS,4BAA8BA,EAAQ,QAASr4B,GAAA,YAAAA,EAAM,MACrEq4B,EAAQ,SAEX0iR,EAAwB,EAAI,EAC5BF,EAAmB,IAAI,EAGvBvoQ,GAAO,YAAY,CAClB,KAAM,uBACN,IAGkBuoQ,EAAAxiR,EAAQ,OAAS,qBAAqB,EACzD0iR,EAAwB,EAAK,GAGhC,EAEO,+BAAiB,UAAW9kQ,CAAa,EACzC,IAAM,OAAO,oBAAoB,UAAWA,CAAa,GAC9D,CAACj2C,GAAA,YAAAA,EAAM,EAAE,CAAC,EAEb,MAAM67S,EAAgB,IAAM,OAC3B,GAAI,CAAC77S,EAAM,OAGX66S,EAAmB,IAAI,EAGvB,UAAWnxS,KAASwxS,EAEf,IAACxxS,EAAM,UAAY,GAAChR,EAAAgiT,EAAgBhxS,EAAM,GAAG,IAAzB,MAAAhR,EAA4B,QAAQ,CAC3DmiT,EAAmBpuU,EAAE,yCAA0C,CAAE,UAAWi9B,EAAM,KAAM,CAAC,EACzF,OAKI,MAAAoyS,EAAuC,CAAE,GAAGpB,CAAgB,EAClE,UAAWhxS,KAASwxS,EACfxxS,EAAM,UAAY,CAACoyS,EAAgBpyS,EAAM,GAAG,IAC/BoyS,EAAApyS,EAAM,GAAG,EAAI,IAK/B4oC,GAAO,YAAY,CAClB,KAAM,yBACN,OAAQtyC,EACR,iBAAkB,CACjB,OAAQ0I,EACR,WAAY,CACX,GAAGozS,EACH,eAAgBd,EAAqBR,EAAsB,OAC5D,CACD,CACA,EAIDK,EAAmB,IAAI,CACxB,EAEMkB,EAA2BlkQ,GAAyB,CACrDA,IAAQ,MAEJ,mBACN,CACC,KAAM,SACN,OAAQ,kBACT,EACA,GACD,EAGO,mBACN,CACC,KAAM,SACN,OAAQ,sBACT,EACA,GACD,EAGO4oI,EAAA,CACT,EAEI,OAACzgL,EAGJ6P,EAAA,IAACmlH,IAAO,KAAMkc,EAAQ,aAAcuvC,EACnC,SAAAnkE,EAAA,KAACqa,GAAc,WAAU,mBACxB,UAAAra,OAACw3B,GACA,WAAAjkI,MAAC6nH,GACC,UAAAojL,EACEruU,EAAE,mCAAoC,CAAE,KAAMuzB,EAAK,IAAM,GACzDA,EAAK,OAAS,MACbvzB,EAAE,+BAAgC,CAAE,KAAMuzB,EAAK,IAAK,CAAC,EACrDvzB,EAAE,gCAAiC,CAAE,KAAMuzB,EAAK,IAAK,CAAC,CAC3D,GACA6P,MAACgoH,GACC,UAAAijL,EACAruU,EAAE,wCAAwC,EACvCuzB,EAAK,OAAS,OAASA,EAAK,IAC/B6P,EAAA,IAAC,KACA,KAAM7P,EAAK,IACX,OAAO,SACP,IAAI,sBACJ,UAAU,8DACT,WAAE,kCAAmC,CAAE,KAAMA,EAAK,IAAM,KAEvD,IACL,IACD,EAEC86S,QAEC,MAAI,WAAU,iBACd,SAACx+L,EAAA,YAAI,UAAU,wBACd,UAACA,OAAA,OAAI,UAAU,yBAAyB,eAAG7vI,EAAE,+BAA+B,GAAE,EAC7EojC,MAAA,KAAE,UAAU,gCACX,SAAK7P,EAAA,OAAS,MACZvzB,EAAE,iCAAiC,EACnCA,EAAE,kCAAkC,CACxC,IACD,CACD,GAGA6vI,OAAC,MAAI,WAAU,iBAEd,UAACA,OAAA,OAAI,UAAU,YACd,UAAAzsG,MAAC,MAAI,WAAU,0BAA2B,SAAApjC,EAAE,2BAA2B,EAAE,EACzE6vI,OAAC,MAAI,WAAU,YACd,UAACA,OAAA,SAAM,UAAU,8BAChB,UAAAzsG,EAAA,IAAC,SACA,KAAK,QACL,KAAK,QACL,MAAM,UACN,QAASnH,IAAU,UACnB,SAAU,IAAM6xS,EAAS,SAAS,EAClC,SAAU,CAAC3/C,EACX,UAAU,eACX,EACA/qP,MAAC,QAAK,UAAY+qP,EAA8B,GAAf,aAC/B,SAAEnuR,EAAA,6BAA6B,CACjC,IACD,EACA6vI,OAAC,QAAM,WAAU,8BAChB,UAAAzsG,EAAA,IAAC,SACA,KAAK,QACL,KAAK,QACL,MAAM,SACN,QAASnH,IAAU,SACnB,SAAU,IAAM6xS,EAAS,QAAQ,EACjC,UAAU,eACX,EACC1qS,MAAA,QAAM,SAAEpjC,EAAA,4BAA4B,CAAE,GACxC,GACD,IACD,EAGCuuU,GACA1+L,EAAA,KAAC,MAAI,WAAU,YACd,UAAAzsG,MAAC,MAAI,WAAU,0BAA2B,SAAApjC,EAAE,4BAA4B,EAAE,EAC1E6vI,EAAA,KAACn3B,GAAA,CACA,MAAO,OAAOq1N,CAAmB,EACjC,cAAgB7/S,GAAU8/S,EAAuB,OAAO9/S,CAAK,CAAC,EAC9D,UAACkV,EAAA,IAAAwjK,GAAA,CACA,SAACxjK,EAAA,IAAAokK,GAAA,CAAY,GACd,QACCO,GACC,UAAAymI,EAAY,IAAI,CAAC7hT,EAAMyP,IACvBgH,EAAA,IAAC2qK,GAAuB,OAAO,OAAO3xK,CAAK,EACzC,SADezP,CAAA,EAAAyP,CAEjB,CACA,CACF,KACD,EACD,EAIA0yS,EAAuB,OAAS,GAC/Bj/L,EAAA,YAAI,UAAU,YACd,UAAAzsG,MAAC,MAAI,WAAU,0BAA2B,SAAApjC,EAAE,mCAAmC,EAAE,QAChF,KAAG,WAAU,0CACZ,SAAA8uU,EAAuB,IAAI,CAACS,EAAQnzS,IACpCgH,MAAC,MAAe,UAAU,wBACxB,SADOmsS,CAAA,EAAAnzS,CAET,CACA,CACF,IACD,EAIAqyS,EAAoB,OAAS,GAC5B5+L,EAAA,YAAI,UAAU,YACd,UAACA,OAAA,OAAI,UAAU,YACd,UAAAzsG,MAAC,MAAI,WAAU,0BACb,SAAApjC,EAAE,mCAAmC,EACvC,QACC,MAAI,WAAU,gCACb,SAAAA,EAAE,8CAA8C,CAClD,IACD,EACCyuU,EAAoB,IAAKxxS,GACxB4yG,OAAA,OAAoB,UAAU,YAC9B,UAAAA,OAAC,QAAM,SAAS5yG,EAAM,IAAK,UAAU,UACnC,UAAMA,EAAA,KACNA,EAAM,SAAW,cAAgB,IACnC,EACAmG,EAAA,IAACitJ,GAAA,CACA,GAAIpzJ,EAAM,IACV,KAAK,OACL,YAAaA,EAAM,YACnB,MAAOgxS,EAAgBhxS,EAAM,GAAG,GAAK,GACrC,SAAWn8B,GACVotU,EAAoBhwR,IAAU,CAC7B,GAAGA,EACH,CAACjhB,EAAM,GAAG,EAAGn8B,EAAE,OAAO,OACrB,GAEJ,CAhBS,EAAAm8B,EAAM,GAiBhB,CACA,GACF,EAGAkxS,GACA/qS,EAAA,IAAC,MAAI,WAAU,0EACb,SACF+qS,CAAA,GAEF,GAGD/qS,EAAA,IAACkkI,GACC,UAAA+mK,EAECx+L,OAAA/kG,WAAA,WAAA1H,MAAC+qE,IAAO,QAAQ,UAAU,QAAS6lG,EACjC,SAAAh0M,EAAE,0BAA0B,EAC9B,QACCmuG,GAAO,SAAS,IAAMmhO,EAAwB/7S,EAAK,OAAS,MAAQ,MAAQ,OAAO,EAClF,SAAAA,EAAK,OAAS,MACZvzB,EAAE,6BAA6B,EAC/BA,EAAE,+BAA+B,CACrC,IACD,EAGC6vI,OAAA/kG,EAAA,oBAAA1H,MAAC+qE,IAAO,QAAQ,UAAU,QAAS6lG,EACjC,SAAAh0M,EAAE,uBAAuB,EAC3B,QACCmuG,GAAO,SAASihO,EAAgB,SAAApvU,EAAE,4BAA4B,CAAE,IAClE,CAEF,IACD,CACD,GA9KiB,IAgLnB,ECvWawvU,GAA0D,CAAC,CAAE,KAAAj8S,EAAM,QAAAvC,EAAS,WAAAy+S,EAAY,UAAAC,KAAgB,CAC9G,MAAE,EAAA1vU,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,IAAAkyI,CAAI,EAAIvyI,GAAkB,EAC5B,CAAC0lQ,EAAkBC,CAAmB,EAAIpiT,WAAS,EAAK,EACxD,CAACqiT,EAAmBC,CAAoB,EAAItiT,WAAS,EAAK,EAC1D,CAACuiT,EAAcC,CAAe,EAAIxiT,WAA+B,SAAS,EAC1E,CAACyiT,EAAaC,CAAc,EAAI1iT,WAAwB,IAAI,EAGlEnC,YAAU,IAAM,CACT,MAAAm+C,EAAiBx8C,GAAwB,CAC9C,MAAM4+B,EAAU5+B,EAAM,KAClB4+B,EAAQ,OAAS,2BAA6BA,EAAQ,OAASr4B,EAAK,KACnEq4B,EAAQ,QAEXia,GAAO,YAAY,CAClB,KAAM,uBACN,EAGDqqQ,EAAetkR,EAAQ,OAAS5rD,EAAE,gCAAgC,CAAC,EAGtE,EAEO,+BAAiB,UAAWwpE,CAAa,EACzC,IAAM,OAAO,oBAAoB,UAAWA,CAAa,CAC9D,GAACj2C,EAAK,GAAIvzB,CAAC,CAAC,EAET,MAAAmwU,EAAY/iT,UAAQ,KACwC,CAChE,KAAMptB,EAAE,+BAA+B,EACvC,IAAKA,EAAE,oCAAoC,CAC5C,GACcuzB,EAAK,IAAI,GAAK,MAC1B,CAACA,EAAK,KAAMvzB,CAAC,CAAC,EAGXowU,EAAsB,CAAC,CAACV,EAAU,OAClCW,EAAuB,CAAC,CAACX,EAAU,QACnCY,EAAcF,GAAuBC,EAErCE,EAAqB,IAAM,CAEhBvyP,GAAA,QAAQ9f,GAAmB,mCAAoC,CAC9E,OAAQ3qC,EAAK,GACb,SAAUA,EAAK,KACf,SAAUA,EAAK,KACf,EAGDq8S,EAAoB,EAAI,CACzB,EAEA,OAEE//L,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,UAAU,+EACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,MAAI,WAAU,yBACd,SAAAysG,EAAA,KAAC,MACA,WAACzsG,EAAA,UAAG,UAAU,sEACZ,SAAK7P,EAAA,OAAS,OAASA,EAAK,KAAOo6S,GAAWp6S,EAAK,GAAG,EACtD6P,EAAA,IAAC+qE,GAAA,CACA,QAAQ,OACR,UAAU,0EACV,QAAS,IAAMtoC,GAAO,YAAY,CAAE,KAAM,eAAgB,IAAKtyC,EAAK,IAAK,EACxE,SAAKA,EAAA,OAGPA,EAAK,KAEP,EACA6P,MAACotS,IAAW,MAAAj9S,EAAY,UAAA48S,CAAsB,IAC/C,CACD,GACAtgM,OAAC,MAAI,WAAU,0BACb,UAAAygM,EAEAltS,EAAA,IAAC+hK,GAAA,CACA,QAEInlM,EADHqwU,EACK,8CACA,4CAD6C,EAGnD,SAAAjtS,EAAA,IAAC+qE,GAAA,CACA,KAAK,KACL,QAAQ,YACR,UAAU,wBACV,QAAS,IAAM,CAGd6hO,EADeK,EAAuB,UAAY,QAC5B,EACtBP,EAAqB,EAAI,CAC1B,EACC,WAAE,+BAA+B,GACnC,GAID1sS,EAAA,IAAC+qE,GAAA,CACA,KAAK,KACL,QAAQ,UACR,UAAU,wBACV,QAASoiO,EACR,WAAE,gCAAgC,IAKpCN,GACC7sS,EAAA,WAAI,UAAU,2CACb,SAAEpjC,EAAA,iCAAkC,CAAE,MAAOiwU,CAAa,EAC5D,GAEF,IACD,EAEC7sS,EAAA,SAAE,UAAU,8BAA+B,WAAK,YAAY,GAG3DktS,GAAgB/8S,EAAK,MAAQA,EAAK,KAAK,OAAS,IACjDs8G,EAAA,KAAC,MAAI,WAAU,qCAEb,UAAAygM,SACC,OAAK,WAAU,0HACd,SAAAtwU,EAAE,kCAAkC,EACtC,EAIAuzB,EAAK,MACLA,EAAK,KAAK,OAAS,GACnBA,EAAK,KAAK,IAAKq4C,GACdxoC,EAAA,IAAC+hK,GAAA,CAEA,QACCn0K,EAAQ,KAAK,SAAS46C,CAAG,EACtB5rE,EAAE,iCAAkC,CAAE,MAAO4rE,CAAK,GAClD5rE,EAAE,wCAAwC,EAE9C,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,KAAK,KACL,QAAQ,YACR,UAAWt3B,GAAG,yCAA0C,CACvD,2CAA4C7lD,EAAQ,KAAK,SAAS46C,CAAG,EACrE,EACD,QAAS,IAAM,CACd,MAAM6kQ,EAAUz/S,EAAQ,KAAK,SAAS46C,CAAG,EACtC56C,EAAQ,KAAK,OAAQhxB,GAAcA,IAAM4rE,CAAG,EAC5C,CAAC,GAAG56C,EAAQ,KAAM46C,CAAG,EACb6jQ,EAAA,CAAE,KAAMgB,EAAS,CAC7B,EACC,SAAA7kQ,CAAA,EACF,EAnBKA,CAqBN,GACH,IAEF,EAGAxoC,EAAA,IAACyqS,IAAA,CACA,KAAAt6S,EACA,OAAQo8S,EACR,QAAS,IAAMC,EAAoB,EAAK,EACxC,aAAc,CAAC,CAACpzH,CAAA,CACjB,QAGC3vD,GAAY,MAAMgjL,EAAmB,aAAcC,EACnD,gBAACniL,GACA,WAAA9d,OAACwsB,GACA,WAACj5H,MAAA2qH,GAAA,CACC,WAAK,OAAS,OACZ/tJ,EAAE,sCAAsC,EACxCA,EAAE,qCAAqC,CAC3C,GACCojC,MAAA6qH,GAAA,CACC,SAAK16H,EAAA,OAAS,OAEZs8G,EAAA,KAAA/kG,WAAA,WAAA9qC,EAAE,yCAA0C,CAAE,SAAUuzB,EAAK,KAAM,QACnE,MAAI,WAAU,eACb,SAAAvzB,EAAE,6CAA6C,CACjD,GACD,GAEAA,EAAE,wCAAyC,CAAE,QAASuzB,EAAK,KAAM,CAEnE,IACD,SACC+oI,GACA,WAACl5H,EAAA,IAAAorH,GAAA,CAAmB,SAAExuJ,EAAA,kCAAkC,CAAE,GAC1DojC,EAAA,IAACgrH,GAAA,CACA,QAAS,IAAM,CAEd8hL,EAAe,IAAI,EAEnBrqQ,GAAO,YAAY,CAClB,KAAM,iCACN,OAAQtyC,EACR,iBAAkB,CAAE,OAAQw8S,CAAa,EACzC,EAEDD,EAAqB,EAAK,CAC3B,EACC,WAAE,mCAAmC,GACvC,CACD,IACD,CACD,IACD,CAEF,EAOMU,IAAwC,CAAC,CAAE,KAAAj9S,EAAM,UAAA48S,KAAgB,CAChE,MAAE,EAAAnwU,CAAE,EAAIsqE,GAAkB,EAE1BomQ,EAAsB,IAAM,CAC7Bn9S,EAAK,WAAao6S,GAAWp6S,EAAK,SAAS,GAC9CsyC,GAAO,YAAY,CAAE,KAAM,eAAgB,IAAKtyC,EAAK,UAAW,CAElE,EAEA,OAAIA,EAAK,OAEPs8G,EAAA,KAAC,IAAE,WAAU,iDACX,UAAAsgM,EAAW,IACX58S,EAAK,WAAao6S,GAAWp6S,EAAK,SAAS,EAC3C6P,EAAA,IAAC+qE,GAAA,CACA,QAAQ,OACR,UAAU,0DACV,QAASuiO,EACR,WAAE,4BAA6B,CAAE,OAAQn9S,EAAK,MAAQ,KAGxDvzB,EAAE,4BAA6B,CAAE,OAAQuzB,EAAK,MAAQ,IAExD,EAGK,IACR,ECvRao9S,IAAwB,UAElC,MAAI,WAAU,gDACd,SAACvtS,EAAA,IAAAgI,GAAA,CAAM,QAAQ,+BACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAK,6EACL,MAAO,CAAE,QAAS,SAAU,SAAU,SAAU,EAAG,iCAGrD,CACD,GCMK,SAASgrN,GAAoB,CAAE,aAAAC,EAAc,QAAAC,EAAS,aAAAC,EAAc,aAAAC,GAA0C,CACpH,KAAM,CAACvjT,EAAOggT,CAAO,EAAIF,IAAgBsD,CAAY,EAC/C,CAAE,EAAA7wU,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,6BAAApB,EAA8B,cAAA88N,CAAc,EAAI/7N,GAAkB,EACpE,CAACgnQ,EAAkBC,CAAmB,EAAI/iT,WAAe,EAAK,EAC9D,CAACgjT,EAAWC,CAAY,EAAIjjT,WAAe,EAAE,EAC7Cq8C,EAAW/8C,EAAM,cAAgB,CAAC,EAClCg9C,EAAmBh9C,EAAM,yBAA2B,CAAC,EAGrD6F,EAAQ09S,EAAexmQ,EAAS,OAAQj3C,GAASA,EAAK,OAASy9S,CAAY,EAAIxmQ,EAC/EuB,EAAUilQ,IAAiB,MAAQvmQ,EAAmB,CAAC,EAEvD4mQ,EAAU/9S,EAAM,SAAW,GAAKy4C,EAAQ,SAAW,EAEzD,OAEE8jE,EAAA,KAAA/kG,WAAA,WAAC+kG,OAAA,OAAI,UAAU,OACd,UAACzsG,MAAA,OAAI,UAAU,WACd,SAAAA,EAAA,IAACitJ,GAAA,CACA,KAAK,OACL,YAEIrwL,EADHgxU,IAAiB,MACZ,4CACFA,IAAiB,OACd,6CACA,wCAH0C,EAKjD,MAAOvjT,EAAM,QAAQ,OACrB,SAAW3sB,GACV2sU,EAAQ,WAAW,CAClB,KAAM,iBACN,QAAS,CAAE,QAAS,CAAE,OAAQ3sU,EAAE,OAAO,KAAQ,EAC/C,KAGJ,EACCgwU,EAAQ,OAAS,GAChBjhM,EAAA,YAAI,UAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAACzsG,EAAA,WAAI,UAAU,0BACd,SAACA,MAAA,SAAM,UAAU,sBAAuB,SAAApjC,EAAE,gCAAgC,CAAE,GAC7E,EACCytB,EAAM,QAAQ,KAAK,OAAS,GAC5BoiH,EAAA,KAAC1hC,GAAA,CACA,UAAU,+EACV,KAAK,KACL,QAAQ,YACR,QAAUrtG,GAAM,CACfA,EAAE,gBAAgB,EAClB2sU,EAAQ,WAAW,CAClB,KAAM,iBACN,QAAS,CAAE,QAAS,CAAE,KAAM,EAAK,GACjC,CACF,EACA,UAACrqS,MAAA,QAAK,UAAU,uBAAwB,GACvCpjC,EAAE,gCAAgC,IACpC,EAEF,EAEA6vI,OAAC8gD,IAAQ,KAAMsgJ,EAAkB,aAAeloL,GAASmoL,EAAoBnoL,CAAI,EAChF,UAAC3lH,MAAA+tJ,GAAA,CAAe,QAAO,GACtB,SAAAthD,EAAA,KAAC1hC,GAAA,CACA,QAAQ,WACR,KAAK,WACL,gBAAe8iO,EACf,UAAU,6BACV,UAAA7tS,EAAA,IAAC,OAAK,WAAU,WACd,SAAA3V,EAAM,QAAQ,KAAK,OAAS,EAC1BA,EAAM,QAAQ,KACb,IAAKztB,GAAcA,EAAE,OAAO,CAAC,EAAE,YAAgBA,IAAE,MAAM,CAAC,CAAC,EACzD,KAAK,IAAI,EACVA,EAAE,0BAA0B,CAChC,GACAojC,MAACg+H,IAAe,WAAU,kCAAmC,MAE/D,EACAh+H,EAAA,IAACkuJ,GAAA,CACA,UAAU,6CACV,QAAUxwL,GAAMA,EAAE,gBAAgB,EAClC,gBAACymK,GACA,WAAC13B,OAAA,OAAI,UAAU,WACd,UAAAzsG,EAAA,IAACqkI,GAAA,CACA,UAAU,WACV,YAAaznK,EAAE,sCAAsC,EACrD,MAAOmxU,EACP,cAAeC,CAAA,CAChB,EACCD,GACA/tS,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,UAAU,8DACV,QAAS,IAAMijO,EAAa,EAAE,EAC9B,SAAAhuS,MAAC3gC,GAAE,WAAU,SAAU,IACxB,EAEF,EACAotI,OAAC63B,GAAY,WAAU,kGACtB,UAAAtkI,MAACukI,GAAa,WAAU,gDACtB,SAAA3nK,EAAE,oCAAoC,EACxC,EACCojC,EAAA,IAAAwkI,GAAA,CACC,SAAampK,EAAA,IAAKnlQ,GAClBikE,EAAA,KAACi4B,GAAA,CAEA,MAAOl8F,EACP,SAAU,IAAM,CACf,MAAMqiI,EAAaxgL,EAAM,QAAQ,KAAK,SAASm+C,CAAG,EAClD6hQ,EAAQ,WAAW,CAClB,KAAM,iBACN,QAAS,CACR,QAAS,CACR,KAAMx/H,EACHxgL,EAAM,QAAQ,KAAK,OAAQztB,GAAMA,IAAM4rE,CAAG,EAC1C,CAAC,GAAGn+C,EAAM,QAAQ,KAAMm+C,CAAG,EAC/B,CACD,CACA,CACF,EACA,gBAAen+C,EAAM,QAAQ,KAAK,SAASm+C,CAAG,EAC9C,UAAU,oEACV,YAAc9qE,GAAM,CACnBA,EAAE,gBAAgB,EAClBA,EAAE,eAAe,CAClB,EACC,UAAM2sB,EAAA,QAAQ,KAAK,SAASm+C,CAAG,EAC9BxoC,EAAA,YAAK,UAAU,uBAAwB,GAExCA,MAAC,OAAK,IAENwoC,CAAA,GA1BIA,CAAA,CA4BN,CACF,GACD,GACD,IACD,EACD,EACCn+C,EAAM,QAAQ,KAAK,OAAS,GAC3BoiH,OAAA,OAAI,UAAU,gFACd,UAACzsG,MAAA,QAAK,UAAU,0BAA2B,GAC1CpjC,EAAE,mCAAmC,EACvC,GAEF,IAEF,EAECytB,EAAM,YAAc4jT,GACnBxhM,EAAA,YAAI,UAAU,mGACd,UAAAzsG,MAAC,OAAI,UAAU,oBACd,eAAC,OAAK,WAAU,gCAAgC,CACjD,GACCA,EAAA,SAAG,SAAEpjC,EAAA,sCAAsC,CAAE,SAC7C,IAAE,WAAU,6BAA8B,SAAAA,EAAE,yCAAyC,CAAE,IACzF,EAGA,CAACytB,EAAM,YAAc4jT,GACpBxhM,OAAA,OAAI,UAAU,mGACd,UAACzsG,MAAA,QAAK,UAAU,gDAAiD,SAChE,IAAE,WAAU,cAAe,SAAApjC,EAAE,iCAAiC,EAAE,QAChE,IAAE,WAAU,eAAgB,SAAAA,EAAE,uCAAuC,EAAE,EACxE6vI,EAAA,KAAC1hC,GAAA,CACA,QAAS,IACRs/N,EAAQ,WAAW,CAClB,KAAM,iBACN,QAAS,CAAE,QAAS,CAAE,OAAQ,GAAI,KAAM,GAAI,KAAM,EAAK,GACvD,EAEF,UAAU,qJACV,UAACrqS,MAAA,QAAK,UAAU,gCAAiC,GAChDpjC,EAAE,yCAAyC,IAC7C,EACD,EAGA,CAACytB,EAAM,YAAc,CAAC4jT,GACrBxhM,OAAA,OAAI,UAAU,OACb,UAAA9jE,EAAQ,OAAS,GAChB8jE,EAAA,YAAI,UAAU,OACd,UAACA,OAAA,OAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,sCAAuC,GACtDA,EAAA,UAAG,UAAU,+CACZ,WAAE,wCAAyC,CAC3C,aAAc4iQ,GAAA,YAAAA,EAAe,gBAC7B,GACF,EACA5iQ,MAAC,MAAI,WAAU,oCAAqC,IACrD,QACC,MAAI,WAAU,sEACb,SAAQ2oC,EAAA,IAAKx4C,YACb6P,SAAA,IAACosS,GAAA,CAEA,KAAAj8S,EACA,QAAS9F,EAAM,QACf,WAAauD,GACZy8S,EAAQ,WAAW,CAClB,KAAM,iBACN,QAAS,CAAE,QAAAz8S,CAAQ,EACnB,EAEF,UAAW,CACV,SAAS/E,EAAAi9C,GAAA,YAAAA,EAA8B,UAA9B,YAAAj9C,EAAwCsH,EAAK,IACtD,QAAQ9E,EAAAy6C,GAAA,YAAAA,EAA8B,SAA9B,YAAAz6C,EAAuC8E,EAAK,GAAE,CACvD,EAZK,OAAOA,EAAK,EAAE,IAcpB,CACF,IACD,EAGAD,EAAM,OAAS,GACfu8G,EAAA,KAAC,MACC,WAAA9jE,EAAQ,OAAS,GAChB8jE,EAAA,YAAI,UAAU,oCACd,UAACzsG,MAAA,QAAK,UAAU,+BAAgC,SAC/C,KAAG,WAAU,+CACZ,SAAApjC,EAAE,kCAAkC,EACtC,EACAojC,MAAC,MAAI,WAAU,oCAAqC,IACrD,QAEA,MAAI,WAAU,sEACb,SAAM9P,EAAA,IAAKC,YACX6P,SAAA,IAACosS,GAAA,CAEA,KAAAj8S,EACA,QAAS9F,EAAM,QACf,WAAauD,GACZy8S,EAAQ,WAAW,CAClB,KAAM,iBACN,QAAS,CAAE,QAAAz8S,CAAQ,EACnB,EAEF,UAAW,CACV,SAAS/E,EAAAi9C,GAAA,YAAAA,EAA8B,UAA9B,YAAAj9C,EAAwCsH,EAAK,IACtD,QAAQ9E,EAAAy6C,GAAA,YAAAA,EAA8B,SAA9B,YAAAz6C,EAAuC8E,EAAK,GAAE,CACvD,EAZKA,EAAK,IAcX,CACF,GACD,IAEF,QAGAo9S,IAAY,KACd,CAEF,CC/PO,SAASW,IAAgB,CAAE,aAAAT,EAAc,OAAAv8B,EAAQ,UAAAi9B,GAAmC,CACpF,MAAE,EAAAvxU,CAAE,EAAIsqE,GAAkB,EAC1B,CAAC78C,EAAOggT,CAAO,EAAIF,IAAgBsD,CAAY,EAC/C,CAACW,EAAyBC,CAA0B,EAAIjkT,WAAS,EAAK,EACtE48C,EAAiB19B,aAAWm6B,EAAqB,EACjD,CAAC6qQ,EAAiCC,CAAkC,EAAInkT,EAAA,UAC7E48C,GAAA,YAAAA,EAAgB,8BAA+B,EAChD,EAEA/+C,YAAU,IAAM,CACT,MAAAumT,GAAiBxnQ,GAAA,YAAAA,EAAgB,8BAA+B,GAClEwnQ,IAAmBF,GACtB7rQ,GAAO,YAAY,CAClB,KAAM,uBACN,EAEF8rQ,EAAmCC,CAAc,CAC/C,GAACxnQ,GAAA,YAAAA,EAAgB,4BAA6BsnQ,CAA+B,CAAC,EAGjFrmT,YAAU,IAAM,CAEXoC,EAAM,SAAS,OAAS,GAAK,CAAC+jT,GACjCC,EAA2B,EAAI,CAE9B,GAAChkT,EAAM,SAAU+jT,CAAuB,CAAC,EAE5CnmT,YAAU,IAAM,CACXkmT,IAAcA,IAAc,OAASA,IAAc,SAC9C9D,EAAA,WAAW,CAAE,KAAM,iBAAkB,QAAS,CAAE,IAAK8D,CAAU,EAAG,CAC3E,EACE,CAACA,EAAW9D,CAAO,CAAC,EAGvBpiT,YAAU,IAAM,CAKX,CAACmmT,GAA2B/jT,EAAM,SAAS,SAAW,GAGzDo4C,GAAO,YAAY,CAClB,KAAM,uBACN,EAIF,MAAMhhC,EAAc4oS,EAAQ,cAAezsS,GAAa,CAGnD,CAACwwS,IAA4BxwS,EAAS,SAAS,OAAS,GAAKA,EAAS,eAAiB,SAC1FywS,EAA2B,EAAI,CAChC,CACA,EAEKI,EAA2B7kT,GAAwB,CACxD,MAAM4+B,EAAU5+B,EAAM,KAClB4+B,EAAQ,OAAS,kBAAoBA,EAAQ,OAIlD,EAEO,+BAAiB,UAAWimR,CAAuB,EACnD,IAAM,CACL,2BAAoB,UAAWA,CAAuB,EACjDhtS,EAAA,CACb,GACE,CAAC4oS,EAAS+D,EAAyB/jT,EAAM,SAAS,MAAM,CAAC,EAG5D,MAAMqjT,EAAU1jT,EAAA,QACf,IAAM,MAAM,KAAK,IAAI,IAAIK,EAAM,SAAS,QAAS8F,GAASA,EAAK,MAAQ,CAAE,EAAC,CAAC,EAAE,KAAK,EAClF,CAAC9F,EAAM,QAAQ,CAChB,EAGMsjT,EAAe3jT,EAAQ,YAAM0jT,EAAS,CAACA,CAAO,CAAC,EAErD,OACE1tS,EAAA,IAAA6uK,GAAA,CAAgB,cAAe,IAC/B,gBAACj5F,GACA,WAAC62B,OAAAkkK,GAAA,CAAU,UAAU,4CACpB,UAAClkK,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,KAAG,WAAU,gBAAiB,SAAApjC,EAAE,mBAAmB,EAAE,EACtDojC,MAAC,MAAI,WAAU,0BACd,SAAAA,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,QAAS,IAAM,CACLmmM,GAAA,MAAAA,GACV,EACC,WAAE,kBAAkB,GAEvB,IACD,QAEC,MAAI,WAAU,cACd,SAACzkK,EAAA,YAAI,UAAU,qBACd,UAACzsG,MAAA,OAAI,UAAU,+DACd,SAAAA,EAAA,IAAC,OACA,UAAWyzC,GACV,sGACA,CACC,SAAUppD,EAAM,YAAc,MAC9B,WAAYA,EAAM,YAAc,OACjC,CACD,GAEF,EACA2V,EAAA,IAAC,UACA,UAAU,mJACV,QAAS,IAAMqqS,EAAQ,WAAW,CAAE,KAAM,iBAAkB,QAAS,CAAE,IAAK,KAAM,EAAG,EAAG,eAEzF,EACArqS,EAAA,IAAC,UACA,UAAU,mJACV,QAAS,IACRqqS,EAAQ,WAAW,CAAE,KAAM,iBAAkB,QAAS,CAAE,IAAK,MAAO,EAAG,EACtE,kBAEH,EACD,CACD,IACD,EAEA59L,OAACmkK,GAAW,WAAU,WACpB,UAAAvmR,EAAM,YAAc,OACpB2V,EAAA,IAACwtS,GAAA,CACA,aAAAC,EACA,QAAAC,EACA,aAAAC,EACA,aAAa,MACd,EAEAtjT,EAAM,YAAc,QACpB2V,EAAA,IAACwtS,GAAA,CACA,aAAAC,EACA,QAAAC,EACA,aAAAC,EACA,aAAa,QACd,CAEF,IACD,CACD,EAEF,CC3IO,MAAMe,IAAoD,CAAC,CAAE,KAAA/oL,EAAM,aAAAJ,EAAc,aAAAopL,EAAc,UAAAC,KAAgB,CAC/G,MAAE,EAAAhyU,CAAE,EAAIsqE,GAAkB,EAEhC,OACElnC,EAAA,IAAAypH,GAAA,CAAY,KAAA9D,EAAY,aAAAJ,EACxB,gBAACgF,GACA,WAAA9d,OAACwsB,GACA,WAACj5H,EAAA,IAAA2qH,GAAA,CAAkB,SAAE/tJ,EAAA,0BAA0B,CAAE,GACjDojC,EAAA,IAAC6qH,GACC,UAAA8jL,GAEEliM,OAAA/kG,WAAA,WAAA9qC,EAAE,6BAA8B,CAAE,SAAU+xU,EAAa,KAAM,EAC/DA,EAAa,iBACb3uS,EAAA,IAAC,OAAI,UAAU,OACb,WAAE,iCAAkC,CACpC,WAAY2uS,EAAa,gBACzB,CACF,IAEF,CAEF,IACD,SACCz1K,GACA,WAACl5H,EAAA,IAAAorH,GAAA,CAAmB,SAAExuJ,EAAA,2BAA2B,CAAE,SAClDouJ,GAAkB,SAAS4jL,EAAY,SAAAhyU,EAAE,4BAA4B,CAAE,GACzE,IACD,CACD,EAEF,ECFMiyU,GAAmB,OAAO,KAAKptQ,EAAW,EAAkB,OAAQ3F,GAAU,CAAC2F,GAAY3F,CAAK,EAAE,eAAe,EASvH,SAASgzQ,GAAahzQ,EAA8B,CACnD,OAAO,MAAM,QAAQA,CAAK,EAAIA,EAAM,CAAC,EAAIA,CAC1C,CAEA,MAAMizQ,IAAY,CAAC,CAAE,OAAA79B,KAA6B,mCAC3C,MAAE,EAAAt0S,CAAE,EAAIsqE,GAAkB,EAE1B,CACL,kBAAA9C,EACA,kBAAAu/M,EACA,qBAAAwK,EACA,KAAAhyN,EACA,mBAAA6yQ,EACA,sBAAAC,EACA,YAAAptQ,GACGgF,GAAkB,EAOhB,CAACqoQ,EAAYC,CAAa,EAAI/kT,WAAS+xC,CAAI,EAG3CF,EAAQjyC,UAAQ,IAAM+3C,GAAYF,CAAW,EAAG,CAACA,CAAW,CAAC,EAE7D,CAACutQ,EAAcC,CAAe,EAAIjlT,WAAS,EAAK,EAChD,CAACklT,EAAuBC,CAAwB,EAAInlT,WAAS,EAAE,EAC/D,CAAColT,EAAqBC,CAAsB,EAAIrlT,WAAS,EAAE,EAC3D,CAACslT,EAAiBC,CAAkB,EAAIvlT,WAAS,EAAK,EACtD,CAACwlT,EAAgBC,CAAiB,EAAIzlT,WAAS,EAAK,EACpD,CAAC0lT,EAAwBC,CAAyB,EAAI3lT,WAAS,EAAK,EACpE,CAAC4lT,EAA8BC,CAA+B,EAAI7lT,WAAS,EAAK,EAChF,CAAC8lT,EAAaC,CAAc,EAAI/lT,WAAS,EAAK,EAC9C,CAACgmT,EAAaC,CAAc,EAAIjmT,WAAS,EAAK,EAC9C,CAACkmT,EAAkBC,CAAmB,EAAInmT,WAAS,EAAK,EACxD,CAAComT,EAAkBC,CAAmB,EAAIrmT,WAAkC,EAAE,EAC9E,CAACq/S,EAAmBC,CAAoB,EAAIt/S,WAAS,EAAK,EAC1D,CAACukT,EAAc+B,CAAe,EAAItmT,WAK9B,IAAI,EAGR,CAACu7H,EAAMC,CAAO,EAAIx7H,WAAS,EAAK,EAChC,CAAC0mK,EAAaC,EAAc,EAAI3mK,WAAS,EAAE,EAC3C4mK,GAAiBhpK,SAAyB,IAAI,EAG9C,CAAC2oT,EAAeC,EAAgB,EAAIxmT,WAAiB,EAAE,EACvD,CAACymT,EAAwBC,EAAyB,EAAI1mT,WAAwB,IAAI,EAGlF2mT,GAAoBtoT,EAAA,YACzB,CAAC0zC,GAAY60Q,KAAgC,CAE5C,MAAMC,GAAgB,CAAE,GADD7sQ,GAAA,YAAAA,EAAoBjI,IACA,GAAG60Q,EAAW,EAGrDC,GAAc,iBAAmB9uQ,GAAkBhG,EAAI,GAC1D,OAAO80Q,GAAc,eAElBA,GAAc,cAAgB5uQ,GAAelG,EAAI,GACpD,OAAO80Q,GAAc,YAElBA,GAAc,YAAc3uQ,GAAanG,EAAI,GAChD,OAAO80Q,GAAc,UAGtBxuQ,GAAO,YAAY,CAClB,KAAM,eACN,WAAYtG,GACZ,aAAc80Q,EAAA,CACd,CACF,EACA,CAAC7sQ,CAAiB,CACnB,EAEM8sQ,GAAmBzoT,cAAY,CAACm5C,GAAcuvQ,KAA2B,CACxE,MAAA/sS,GAAS+sS,GAAW,QAAU,SAEpC1uQ,GAAO,YAAY,CAClB,KAAM,mBACN,KAAAb,GACA,WAAY,CACX,GAAGuvQ,GACH,OAAA/sS,EAAA,CACD,CACA,CACF,EAAG,EAAE,EAGC69B,GAAiBx5C,EAAA,YACtB,CAAC2oT,GAAoBn1Q,KACbo1Q,IAAqBD,GAAYn1Q,EAAK,EAE9C,EACD,EAEMq1Q,GAAa7oT,cAAam5C,IAAiB,CAChDa,GAAO,YAAY,CAClB,KAAM,OACN,KAAMb,EAAA,CACN,CACF,EAAG,EAAE,EAGC2vQ,EAAmB9oT,EAAA,YACvB0oT,IAA2B,CACvBA,GAAW,OAASjC,IAGxBC,EAAcgC,GAAW,IAAI,EAG7BG,GAAWH,GAAW,IAAI,EAG1BxB,EAAmB,EAAK,EACzB,EACA,CAACT,EAAYoC,EAAU,CACxB,EAGM/rL,GAAe98H,cAAak9H,IAAkB,CACnDC,EAAQD,EAAI,EAEPA,IACJ,WAAW,IAAMorC,GAAe,EAAE,EAAG,GAAG,CAE1C,EAAG,EAAE,EAGLV,GAAa1qC,EAAM,IAAMC,EAAQ,EAAK,CAAC,EAGjC,MAAA27C,GAAgB94K,cAAY,IAAM,QACvCsoK,GAAe,EAAE,GACjBloK,GAAAmoK,GAAe,UAAf,MAAAnoK,GAAwB,OACzB,EAAG,EAAE,EAGC2oT,GAAiB/oT,cAAY,IAA8B,CAChE,MAAMgpT,GAAYhzU,IAA2BA,GAAE,OAASywU,EACxD,OAAOrtQ,GAAA,YAAAA,EAAa,KAAK4vQ,MAAax1Q,EAAM,KAAKw1Q,EAAQ,CACvD,GAACvC,EAAYrtQ,EAAa5F,CAAK,CAAC,EAG7By1Q,GAAsBjpT,cAAam5C,IAAiB,CACzDa,GAAO,YAAY,CAClB,KAAM,sBACN,KAAAb,EAAA,CACA,CACF,EAAG,EAAE,EAGL35C,YAAU,IAAM,CACf,MAAM0pT,GAAcH,GAAe,EAC/BG,IAAA,MAAAA,GAAa,MAAQnB,EAAiBmB,GAAY,IAAI,IAAM,QAC/DD,GAAoBC,GAAY,IAAI,CAEnC,GAACH,GAAgBE,GAAqBlB,CAAgB,CAAC,EAG1DvoT,YAAU,IAAM,CACX4oT,GAA0BA,IAA2B3B,IACxD4B,GAA0B,IAAI,EAC9BF,GAAiB,EAAE,EACpB,EACE,CAAC1B,EAAY2B,CAAsB,CAAC,EAGjC,MAAAe,GAAkB,CACvBz1Q,GACAwnC,KAEOxnC,mBAAOwnC,IAIT,CAACkuO,GAAaC,EAAc,EAAI1nT,WAAS,EAAE,EAC3C,CAAC2nT,GAAaC,EAAc,EAAI5nT,WAAS,EAAE,EAC3C,CAAC6nT,GAAoBC,EAAqB,EAAI9nT,WAAS,EAAE,EACzD,CAAC+nT,GAAuBC,EAAwB,EAAIhoT,WAAS,EAAE,EAC/D,CAACioT,GAAkBC,EAAmB,EAAIloT,WAAS,EAAE,EACrD,CAACmoT,GAA2BC,EAA4B,EAAIpoT,WAAS,EAAE,EACvE,CAACqoT,GAAeC,EAAgB,EAAItoT,WAAuBykT,EAAe,EAC1E,CAAC8D,GAAeC,EAAgB,EAAIxoT,WAAqB,QAAQ,EAGjE,CAACyoT,GAAWC,EAAY,EAAI1oT,WAAiB,EAAE,EAC/C,CAAC2oT,GAAWC,EAAY,EAAI5oT,WAAiB,EAAE,EAC/C,CAAC6oT,GAAkBC,EAAmB,EAAI9oT,WAAiB,EAAE,EAC7D,CAAC+oT,GAAqBC,EAAsB,EAAIhpT,WAAiB,EAAE,EACnE,CAACipT,GAAaC,EAAc,EAAIlpT,WAAiB,EAAE,EAGnDmpT,GAAiB9qT,cAAY,IAAM,CAExCqpT,GAAe,EAAE,EACjBE,GAAe,EAAE,EACjBE,GAAsB,EAAE,EACxBQ,GAAiB7D,EAAe,EAChCuD,GAAyB,EAAE,EAC3BE,GAAoB,EAAE,EACtBE,GAA6B,EAAE,EAC/BI,GAAiB,QAAQ,EAEzBE,GAAa,EAAE,EACfE,GAAa,EAAE,EACfE,GAAoB,EAAE,EACtBE,GAAuB,EAAE,EACzBE,GAAe,EAAE,CAClB,EAAG,EAAE,EAGLrrT,YAAU,IAAM,CACX6nT,GACYyD,GAAA,CAChB,EACE,CAACzD,EAAwByD,EAAc,CAAC,EAG3C,MAAMC,GAAe/qT,EAAA,YAAY,CAACc,GAAckqT,GAAU,IAAc,CACjE,MAAAC,GAAWnqT,GACf,cACA,QAAQ,eAAgB,GAAG,EAC3B,QAAQ,WAAY,EAAE,EACxB,OAAOkqT,KAAY,EAAIC,GAAW,GAAGA,EAAQ,IAAID,EAAO,EACzD,EAAG,EAAE,EAGCE,GAAmBlrT,EAAA,YACvBc,IAAiB,CACjBuoT,GAAevoT,EAAI,EACJyoT,GAAAwB,GAAajqT,EAAI,CAAC,CAClC,EACA,CAACiqT,EAAY,CACd,EAEMI,GAAmBnrT,cAAY,IAAM,CAE1CqqT,GAAa,EAAE,EACfE,GAAa,EAAE,EACfE,GAAoB,EAAE,EACtBE,GAAuB,EAAE,EACzBE,GAAe,EAAE,EAEjB,MAAMlvS,GAASuuS,GACTkB,GAAsB,CAC3B,KAAM9B,GACN,KAAMF,GACN,YAAaI,GAAmB,QAAU,OAC1C,eAAgBE,GAAsB,KAAK,EAC3C,UAAWE,GAAiB,QAAU,OACtC,mBAAoBE,GAA0B,QAAU,OACxD,OAAQE,GACR,OAAAruS,EACD,EAGMvV,GAASmtC,GAAiB,UAAU63Q,EAAO,EAE7C,IAAChlT,GAAO,QAAS,CAEpBA,GAAO,MAAM,OAAO,QAAS+E,IAAU,CAChC,MAAA2L,GAAQ3L,GAAM,KAAK,CAAC,EACpB40B,GAAU50B,GAAM,QAEtB,OAAQ2L,GAAO,CACd,IAAK,OACJuzS,GAAatqR,EAAO,EACpB,MACD,IAAK,OACJwqR,GAAaxqR,EAAO,EACpB,MACD,IAAK,cACJ0qR,GAAoB1qR,EAAO,EAC3B,MACD,IAAK,iBACJ4qR,GAAuB5qR,EAAO,EAC9B,MACD,IAAK,SACJ8qR,GAAe9qR,EAAO,EACtB,MACF,CACA,EACD,OAGD0oR,GAAiBa,GAAa8B,EAAO,EACrCvC,GAAWS,EAAW,EACtBhC,EAA0B,EAAK,EAChBwD,GAAA,GAEb,CACF1B,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAzB,EAAA,CACA,EAEK4C,GAAoBrrT,EAAA,YACzB,CAACc,GAAcq4C,KACP3F,EAAM,KAAMx9D,IAAMA,GAAE,OAASmjE,IAAQnjE,GAAE,OAAS8qB,EAAI,EAE5D,CAAC0yC,CAAK,CACP,EAEM83Q,GAAuBtrT,cAAY,IAAM,CAC9C,MAAMurT,GAAiB,kBAEvB,IAAIP,GAAU,EACVlqT,GAAOyqT,GACPpyQ,GAAO4xQ,GAAajqT,EAAI,EACrB,KAAAuqT,GAAkBvqT,GAAMq4C,EAAI,GAClC6xQ,KACAlqT,GAAO,GAAGyqT,EAAc,IAAIP,GAAU,CAAC,GACvC7xQ,GAAO4xQ,GAAajqT,EAAI,EAEzBuoT,GAAevoT,EAAI,EACnByoT,GAAepwQ,EAAI,EACnBmuQ,EAA0B,EAAI,GAC5B,CAACyD,GAAcM,EAAiB,CAAC,EAG9BG,GAAoBxrT,EAAA,YACzB,CAACqzC,GAAkBo4Q,GAAuBpyQ,KACxCpkE,IAA4C,QAC5C,GAAI,CAACw2U,GAAc,OAEnB,MAAM/4K,MADUtyI,GAAAnrB,IAAA,YAAAA,GAAmB,SAAnB,YAAAmrB,GAA2B,SAAWnrB,GAAE,QACjC,QACjBy2U,IAAYryQ,IAAA,YAAAA,GAAY,SAAU,CAAC,EACrC,IAAAsyQ,GAMJ,GALIj5K,GACSi5K,GAAA,CAAC,GAAGD,GAAWr4Q,EAAK,EAEhCs4Q,GAAYD,GAAU,OAAQ51U,IAAMuwU,GAAavwU,EAAC,IAAMu9D,EAAK,EAE1DgG,GAAY,CACT,MAAA19B,GAAS09B,GAAW,QAAU,SAEpCovQ,GAAiBpvQ,GAAW,KAAM,CACjC,GAAGA,GACH,OAAQsyQ,GACR,OAAAhwS,EAAA,CACA,EAEH,EACD,CAAC8sS,EAAgB,CAClB,EAGAjpT,YAAU,IAAM,CACf,MAAM+mQ,GAAqB,IAAM,CAC5B4gD,GACHC,EAAkB,EAAK,CAEzB,EAES,iCAAiB,QAAS7gD,EAAkB,EAC9C,IAAM,SAAS,oBAAoB,QAASA,EAAkB,GACnE,CAAC4gD,CAAc,CAAC,EAGb,MAAAyE,GAAkBrsT,SAAO2mT,CAAY,EAG3C1mT,YAAU,IAAM,CACfosT,GAAgB,QAAU1F,CAAA,EACxB,CAACA,CAAY,CAAC,EAEjB1mT,YAAU,IAAM,CACT,MAAAuB,GAAWI,IAAwB,CACxC,MAAM4+B,GAAU5+B,GAAM,KAClB,GAAA4+B,GAAQ,OAAS,eAChBA,GAAQ,OACX+mR,EAAyB/mR,GAAQ,IAAI,EACdinR,EAAA,kBAAkBjnR,GAAQ,IAAI,QAAQ,EAC7D6mR,EAAgB,EAAI,WAEX7mR,GAAQ,OAAS,mBAC3B2nR,EAAe,EAAK,EAEf3nR,GAAQ,SAEJ,cAAM,yBAA0BA,GAAQ,KAAK,UAE5CA,GAAQ,OAAS,mBAC3B6nR,EAAe,EAAK,EACpBE,EAAoB,EAAK,EAEpB/nR,GAAQ,SAERA,GAAQ,QAAU,aACb,cAAM,yBAA0BA,GAAQ,KAAK,UAG7CA,GAAQ,OAAS,4BAC3BioR,EAAqB31R,KAAU,CAC9B,GAAGA,GACH,CAAC0N,GAAQ,IAAI,EAAGA,GAAQ,YACvB,UACQA,GAAQ,OAAS,wBAAyB,CAGpD,MAAM8rR,GAAsBD,GAAgB,QACxC7rR,GAAQ,MAAQ8rR,IAAuBA,GAAoB,OAAS9rR,GAAQ,OAC/DkoR,EAAA,CACf,GAAG4D,GACH,gBAAiB9rR,GAAQ,gBACzB,EACDkhR,EAAqB,EAAI,EAC1B,CAEF,EAEO,+BAAiB,UAAWlgT,EAAO,EACnC,IAAM,OAAO,oBAAoB,UAAWA,EAAO,CAC3D,EAAG,EAAE,EAEC,MAAA+qT,GAAmB,CACxBnyQ,GACAv0C,KACI,CAGE,MAAAojT,GAAgB,CAAE,GADD7sQ,GAAA,YAAAA,EAAoBhC,GACD,EAC1C,OAAO6uQ,GAAcpjT,EAAI,EAEzB40C,GAAO,YAAY,CAClB,KAAM,eACN,WAAYL,GACZ,aAAc6uQ,EAAA,CACd,CACF,EAEA,cACEr7N,GACA,WAAC62B,OAAAkkK,GAAA,CAAU,UAAU,oCACpB,UAAA3wQ,MAAC,KAAG,WAAU,6BAA8B,SAAApjC,EAAE,eAAe,EAAE,QAC9DmuG,GAAO,SAASmmM,EAAS,SAAAt0S,EAAE,cAAc,CAAE,IAC7C,SAECg0S,GACA,WAAAnkK,OAAC,MACA,WAACA,OAAA,OAAI,QAAU/uI,IAAMA,GAAE,kBAAmB,UAAU,yCACnD,UAAAsiC,MAAC,KAAG,WAAU,6BAA8B,SAAApjC,EAAE,qBAAqB,EAAE,EACrE6vI,OAAC,MAAI,WAAU,aACd,UAAAzsG,MAAC+hK,IAAgB,QAASnlM,EAAE,6BAA6B,EACxD,SAAAojC,EAAA,IAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAAO,QAASgpO,GAC5C,SAAA/zS,EAAA,IAAC,QAAK,UAAU,sBAAsB,EACvC,CACD,GACAysG,OAAC,MAAI,WAAU,wBACd,UAAAzsG,EAAA,IAAC+hK,GAAgB,SAASnlM,EAAE,+BAA+B,EAC1D,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,UAAU,OACV,QAAUrtG,IAAwB,CACjCA,GAAE,eAAe,EACjBA,GAAE,gBAAgB,EACAmyU,EAAC/0R,IAAS,CAACA,EAAI,CAClC,EACA,OAAQ,IAAM,CAEb,WAAW,IAAM+0R,EAAkB,EAAK,EAAG,GAAG,CAC/C,EACA,SAAA7vS,MAAC,OAAK,WAAU,sBAAuB,KAEzC,EACC4vS,GACAnjM,EAAA,KAAC,OACA,QAAU/uI,IAAMA,GAAE,gBAAgB,EAClC,YAAcA,IAAMA,GAAE,gBAAgB,EACtC,UAAU,oIACV,UAAAsiC,EAAA,IAAC,OACA,UAAU,oDACV,YAActiC,IAAM,CACnBA,GAAE,eAAe,EACjB+kE,GAAO,YAAY,CAClB,KAAM,0BACN,EACDotQ,EAAkB,EAAK,CACxB,EACA,QAAUnyU,IAAMA,GAAE,eAAe,EAChC,WAAE,+BAA+B,EACnC,EACAsiC,EAAA,IAAC,OACA,UAAU,wFACV,YAActiC,IAAM,CACnBA,GAAE,eAAe,EACjB+kE,GAAO,YAAY,CAClB,KAAM,WACN,KAAM,cACN,OAAQ,CACP,OAAQ,GACR,QAAS,KAAK,UAAU,CAAE,YAAa,CAAC,GAAK,KAAM,CAAC,EACrD,CACA,EACDotQ,EAAkB,EAAK,CACxB,EACA,QAAUnyU,IAAMA,GAAE,eAAe,EAChC,WAAE,gCAAgC,GACpC,GACD,EAEF,EACCsiC,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,+BAA+B,EAC1D,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACP,mBACN,CACC,KAAM,SACN,OAAQ,2BACR,OAAQ,CAAE,eAAgB,MAAO,CAClC,EACA,GACD,CACD,EACA,SAAA/qE,MAAC,OAAK,WAAU,4BAA6B,IAE/C,GACD,IACD,QAEC,MAAI,WAAU,iDACd,SAACysG,EAAA,KAAAzkG,GAAA,CAAM,QAAQ,mCACd,UAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GAAa,0BAA2B,oBAAoB,EAClE,MAAO,CAAE,QAAS,QAAS,EAAG,EAC/BlsG,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GAAa,wBAAyB,oBAAoB,EAChE,MAAO,CAAE,QAAS,QAAS,GAAG,EAChC,CACD,SAEC,MAAI,WAAU,+BACd,SAACO,EAAA,KAAA8gD,GAAA,CAAQ,KAAA5nC,EAAY,aAAAJ,GACpB,UAACvlH,MAAA+tJ,GAAA,CAAe,QAAO,GACtB,SAAAthD,EAAA,KAAC1hC,GAAA,CACA,QAAQ,WACR,KAAK,WACL,gBAAe46C,EACf,UAAU,yBACV,cAAY,sBACZ,UAAC3lH,MAAA,OAAI,UAAU,WACb,WAAAnX,GAAA2oT,GAAA,gBAAA3oT,GAAkB,OAAQjsB,EAAE,0BAA0B,CACxD,GACAojC,MAAC89H,GAAY,WAAU,YAAa,MAEtC,EACC99H,MAAAkuJ,GAAA,CAAe,UAAU,6CACzB,gBAAC/pB,GACA,WAAC13B,OAAA,OAAI,UAAU,WACd,UAAAzsG,EAAA,IAACqkI,GAAA,CACA,IAAK2sB,GACL,MAAOF,EACP,cAAeC,GACf,YAAan0L,EAAE,0BAA0B,EACzC,UAAU,WACV,cAAY,oBACb,EACCk0L,EAAY,OAAS,GACpB9wJ,EAAA,WAAI,UAAU,mEACd,SAAAA,EAAA,IAAC3gC,GAAA,CACA,UAAU,wFACV,QAASkiM,EAAA,EAEX,IAEF,SACCj9B,GACA,WAACtkI,MAAAukI,GAAA,CACC,YACCvkI,EAAA,WAAI,UAAU,oBACb,SAAApjC,EAAE,4BAA4B,EAChC,CAEF,GACAojC,MAACwkI,IACC,SACCvoG,EAAA,OAAQk1Q,IACRrgJ,EACGqgJ,GAAW,KACV,YAAY,EACZ,SAASrgJ,EAAY,YAAY,CAAC,EACnC,IAEH,IAAKqgJ,IACLnxS,EAAA,IAAC0kI,GAAA,CAEA,MAAOysK,GAAW,KAClB,SAAU,IAAM,CACfI,EAAiBJ,EAAU,EAC3BvrL,EAAQ,EAAK,CACd,EACA,cAAa,eAAeurL,GAAW,IAAI,GAC3C,SAAA1kM,EAAA,KAAC,MAAI,WAAU,2CACd,UAAAzsG,EAAA,IAAC,QACA,MAAO,CACN,WAAY,SACZ,SAAU,SACV,aAAc,WACd,KAAM,EACN,SAAU,CACX,EACC,SAAWmxS,GAAA,KACb,EACAnxS,EAAA,IAAC,QACA,UAAU,kBACV,MAAO,CACN,WAAY,SACZ,SAAU,SACV,aAAc,WACd,UAAW,MACX,UAAW,QACX,KAAM,EACN,SAAU,EACV,WAAY,OACb,EACC,SAAWmxS,GAAA,MACb,CACD,IAhCKA,GAAW,KAkCjB,CACH,GACD,IACD,CACD,IACD,CACD,GAEA1kM,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,gCAAgC,EAAE,QACpE,MAAI,WAAU,iDACb,SAAAA,EAAE,iCAAiC,EACrC,EACAojC,MAAC,MAAI,WAAU,OACd,SAAAysG,EAAA,KAACn3B,GAAA,CACA,MAAO64K,EACP,cAAgBrjQ,IAAU,CACzB23C,GAAO,YAAY,CAClB,KAAM,uBACN,KAAM33C,EAAA,CACN,CACF,EACA,UAACkV,MAAAwjK,GAAA,CAAc,UAAU,SACxB,SAAAxjK,MAACokK,IAAY,YAAaxnM,EAAE,wBAAwB,EAAG,CACxD,SACC+nM,GACE,WAAAg/E,GAAqB,IAAI,IAAK7wP,IAC/BkN,MAAC2qK,GAA2B,OAAO73K,GAAO,KACxC,SAAAA,GAAO,MADQA,GAAO,EAExB,CACA,CACF,KAEF,GACD,IACD,EAGA25G,OAAC,MAAI,WAAU,OAEb,UAAcyiM,GAAAjtQ,GAAeitQ,EAAYrtQ,CAAW,GACpD7hC,MAAC,MAAI,WAAU,kBACd,SAAAysG,OAAC,MAAI,WAAU,SACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,qCAAqC,EAAE,EAC1E6vI,OAAC,MAAI,WAAU,aACd,UAAAzsG,EAAA,IAACitJ,GAAA,CACA,KAAK,OACL,MACC4jJ,IAA2B3B,EACxByB,EACCiB,GAAgB3vQ,GAAeitQ,EAAYrtQ,CAAW,EAAG,MAAM,GACjE,GAEH,QAAS,IAAM,CACR,MAAAC,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACrDC,KACHgvQ,GAA0B5B,CAAU,EACpC0B,GAAiB9uQ,GAAW,IAAI,EAElC,EACA,SAAWpkE,IAAM,CACV,MAAAugU,GAAUvgU,GAAE,OAAO,MAEzBkzU,GAAiB3S,EAAO,CACzB,EACA,OAAQ,IAAM,CACP,MAAAn8P,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACzD,GAAIC,GAAY,CACT,MAAA0yQ,GAAc7D,EAAc,KAAK,EAEnC6D,GACHtD,GAAiBhC,EAAY,CAC5B,GAAGptQ,GACH,KAAM0yQ,GACN,OAAQ1yQ,GAAW,QAAU,SAC7B,EAGD8uQ,GAAiB9uQ,GAAW,IAAI,CACjC,CAGDgvQ,GAA0B,IAAI,CAC/B,EACA,UAAU,SACX,EACC9wS,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,qCAAqC,EAChE,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACR,MAAAjpC,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACrDC,KACa4uQ,EAAA,CACf,KAAM5uQ,GAAW,KACjB,KAAMA,GAAW,KACjB,OAAQA,GAAW,QAAU,SAC7B,EAEDW,GAAO,YAAY,CAClB,KAAM,mBACN,KAAMX,GAAW,KACjB,UAAW,GACX,EAEH,EACA,SAAA9hC,MAAC,OAAK,WAAU,uBAAwB,IAE1C,GACD,IACD,CACD,GAIDysG,OAAC,MAAI,WAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,MAAI,WAAU,YAAa,SAAApjC,EAAE,8BAA8B,EAAE,EAC7D,CAACqlE,GAAeitQ,EAAYrtQ,CAAW,SACtCkgI,GAAgB,SAASnlM,EAAE,uCAAuC,EAClE,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IAAA,MAAAA,GAAa,MACC4C,GAAA5C,GAAY,KAAM,gBAAgB,CAErD,EACA,cAAY,wBACZ,SAAA3xS,MAAC,OAAK,WAAU,yBAA0B,IAE5C,IAEF,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,oCAAoC,EACxC,EACAojC,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,OAAQ,IAAM,CACP,MAAAlhD,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACnD4yQ,GAASrwQ,GAAA,YAAAA,EAAoB8qQ,GACnC,OACCptQ,IAAA,YAAAA,GAAY,kBACZ2yQ,IAAA,YAAAA,GAAQ,iBACRtyQ,GAAkB+sQ,CAAU,IAE3B,EACH,SAAWxxU,IAAM,WAChB,MAAMotB,KACJO,IAAAxC,GAAAnrB,IAAA,YAAAA,GAA8B,SAA9B,YAAAmrB,GAAsC,SAAtC,YAAAwC,GAA8C,QAC7C3tB,GAAU,OAA+B,MACtCokE,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACrDC,GAEHovQ,GAAiBhC,EAAY,CAC5B,GAAGptQ,GACH,eAAgBh3C,GAAM,QAAU,GAChC,OAAQg3C,GAAW,QAAU,SAC7B,EAGDivQ,GAAkB7B,EAAY,CAC7B,eAAgBpkT,GAAM,QAAU,OAChC,CAEH,EACA,UAAU,SACV,KAAM,EACN,cAAa,KAAGO,GAAAmmT,GAAe,IAAf,YAAAnmT,GAAkB,OAAQ,MAAM,oBACjD,EACD,EAGAohH,OAAC,MAAI,WAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,MAAI,WAAU,YAAa,SAAApjC,EAAE,2BAA2B,EAAE,EAC1D,CAACqlE,GAAeitQ,EAAYrtQ,CAAW,SACtCkgI,GAAgB,SAASnlM,EAAE,oCAAoC,EAC/D,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IAAA,MAAAA,GAAa,MACC4C,GAAA5C,GAAY,KAAM,aAAa,CAElD,EACA,cAAY,oBACZ,SAAA3xS,MAAC,OAAK,WAAU,yBAA0B,IAE5C,IAEF,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,iCAAiC,EACrC,EACAojC,EAAA,IAACijF,GAAA,CACA,OAAQ,IAAM,CACP,MAAAnhD,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACnD4yQ,GAASrwQ,GAAA,YAAAA,EAAoB8qQ,GACnC,OAAOptQ,IAAA,YAAAA,GAAY,eAAe2yQ,IAAA,YAAAA,GAAQ,cAAepyQ,GAAe6sQ,CAAU,IAChF,EACH,SAAWxxU,IAAM,WAChB,MAAMotB,KACJO,IAAAxC,GAAAnrB,IAAA,YAAAA,GAA8B,SAA9B,YAAAmrB,GAAsC,SAAtC,YAAAwC,GAA8C,QAC7C3tB,GAAU,OAA+B,MACtCokE,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACrDC,GAEHovQ,GAAiBhC,EAAY,CAC5B,GAAGptQ,GACH,YAAah3C,GAAM,QAAU,OAC7B,OAAQg3C,GAAW,QAAU,SAC7B,EAGDivQ,GAAkB7B,EAAY,CAC7B,YAAapkT,GAAM,QAAU,OAC7B,CAEH,EACA,UAAU,SACV,cAAa,KAAGQ,GAAAkmT,GAAe,IAAf,YAAAlmT,GAAkB,OAAQ,MAAM,0BACjD,EACD,EAGAmhH,OAAC,MAAI,WAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,MAAI,WAAU,YAAa,SAAApjC,EAAE,yBAAyB,EAAE,EACxD,CAACqlE,GAAeitQ,EAAYrtQ,CAAW,SACtCkgI,GAAgB,SAASnlM,EAAE,kCAAkC,EAC7D,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IAAA,MAAAA,GAAa,MACC4C,GAAA5C,GAAY,KAAM,WAAW,CAEhD,EACA,cAAY,oBACZ,SAAA3xS,MAAC,OAAK,WAAU,yBAA0B,IAE5C,IAEF,QACC,MAAI,WAAU,iDACb,SAAApjC,EAAE,+BAA+B,EACnC,EACAojC,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,OAAQ,IAAM,CACP,MAAAlhD,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACnD4yQ,GAASrwQ,GAAA,YAAAA,EAAoB8qQ,GACnC,OAAOptQ,IAAA,YAAAA,GAAY,aAAa2yQ,IAAA,YAAAA,GAAQ,YAAanyQ,GAAa4sQ,CAAU,IAC1E,EACH,SAAWxxU,IAAM,WAChB,MAAMotB,KACJO,IAAAxC,GAAAnrB,IAAA,YAAAA,GAA8B,SAA9B,YAAAmrB,GAAsC,SAAtC,YAAAwC,GAA8C,QAC7C3tB,GAAU,OAA+B,MACtCokE,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACrDC,GAEHovQ,GAAiBhC,EAAY,CAC5B,GAAGptQ,GACH,UAAWh3C,GAAM,QAAU,OAC3B,OAAQg3C,GAAW,QAAU,SAC7B,EAGDivQ,GAAkB7B,EAAY,CAC7B,UAAWpkT,GAAM,QAAU,OAC3B,CAEH,EACA,UAAU,SACV,KAAM,EACN,cAAa,KAAGU,GAAAgmT,GAAe,IAAf,YAAAhmT,GAAkB,OAAQ,MAAM,yBACjD,EACD,EAKCwU,MAAA0H,WAAA,UAAA+kG,OAAC,MAAI,WAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,MAAI,WAAU,YAAa,SAAApjC,EAAE,qBAAqB,EAAE,EACpDqlE,GAAeitQ,EAAYrtQ,CAAW,GACtC7hC,EAAA,IAAC+hK,GAAA,CACA,QAEInlM,EADH8yU,EACK,4BACA,yBAD2B,EAGjC,SAAA1vS,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM4kO,EAAmB,CAACD,CAAe,EAClD,SAAA1vS,EAAA,IAAC,QACA,UAAW,mBAAmB0vS,EAAkB,QAAU,MAAM,IAAI,EACtE,EACD,EAEF,EACC,CAACztQ,GAAeitQ,EAAYrtQ,CAAW,GACtC7hC,EAAA,WAAI,UAAU,iDACb,SAAEpjC,EAAA,gCAAgC,CACpC,GAEA8yU,GAAmBztQ,GAAeitQ,EAAYrtQ,CAAW,EACzD7hC,EAAA,IAAC,MAAI,WAAU,6DACb,SAAA6uS,GAAgB,IAAK/yQ,IAAU,WAC/B,MAAM61Q,GAAcH,GAAe,EAC7B0C,GAAejyQ,GAAeitQ,EAAYrtQ,CAAW,EACrDC,GAAaoyQ,GACbQ,GAAiBR,IACpBrrT,GAAAi5C,IAAA,YAAAA,GAAY,SAAZ,YAAAj5C,GAAoB,KAAMtqB,IAAMuwU,GAAavwU,EAAC,IAAMu9D,KACpDzwC,GAAAsmT,IAAA,YAAAA,GAAa,SAAb,YAAAtmT,GAAqB,KAAM9sB,IAAMuwU,GAAavwU,EAAC,IAAMu9D,IAGvD,OAAA2wE,EAAA,KAACnqB,GAAA,CAEA,QAASoyN,GACT,SAAUT,GAAkBn4Q,GAAO,EAAQo4Q,GAAepyQ,EAAU,EACpE,SAAU,CAACoyQ,GACV,UAAEt3U,EAAA,2BAA2Bk/D,EAAK,EAAE,EACpCA,KAAU,QACT2wE,OAAA,OAAI,UAAU,mDACb,UAAA7vI,EAAE,4BAA4B,EAAG,KAChC,IAAM,QACP,MAAM+0U,GAAcH,GAAe,EAC7BmD,IAAYhD,sBAAa,SAAbA,eAAqB,KACrCpzU,IACA,qBAAM,QAAQA,EAAC,GACfA,GAAE,CAAC,IAAM,UACTsqB,GAAAtqB,GAAE,CAAC,IAAH,YAAAsqB,GAAM,aAER,OAAK,MAAM,QAAQ8rT,EAAS,EAE3BA,GAAU,CAAC,EAAE,aACb,IAAIA,GAAU,CAAC,EAAE,SAAS,IAHW/3U,EAAE,kBAAkB,CAKxD,KACJ,KAtBIk/D,EAwBN,EAED,CACF,SAEC,MAAI,WAAU,sDACZ,UAAM,KACP,MAAM61Q,GAAcH,GAAe,EAC7BoD,IAAgBjD,IAAA,YAAAA,GAAa,SAAU,CAAC,EAG1C,OAAAiD,GAAc,SAAW,EACrBh4U,EAAE,uBAAuB,EAG1Bg4U,GACL,IAAK94Q,IAAU,QACT,MAAAC,GAAY+yQ,GAAahzQ,EAAK,EAC9B2lN,GAAc7kR,EAAE,2BAA2Bm/D,EAAS,EAAE,EAC5D,GAAI,MAAM,QAAQD,EAAK,KAAKjzC,GAAAizC,GAAM,CAAC,IAAP,MAAAjzC,GAAU,WAAW,CAC1C,MAAA8hC,GACLmR,GAAM,CAAC,EAAE,aAAe,IAAIA,GAAM,CAAC,EAAE,SAAS,IACxC,SAAG2lN,EAAW,KAAK92N,EAAW,IAE/B,OAAA82N,EAAA,CACP,EACA,KAAK,IAAI,KAEb,IAEF,CACD,GAGAh1I,OAAC,MAAI,WAAU,OACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,MAAI,WAAU,YAAa,SAAApjC,EAAE,kCAAkC,EAAE,EACjE,CAACqlE,GAAeitQ,EAAYrtQ,CAAW,SACtCkgI,GAAgB,SAASnlM,EAAE,2CAA2C,EACtE,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IAAA,MAAAA,GAAa,MACC4C,GAAA5C,GAAY,KAAM,oBAAoB,CAEzD,EACA,cAAY,4BACZ,SAAA3xS,MAAC,OAAK,WAAU,yBAA0B,IAE5C,IAEF,EACCA,EAAA,WAAI,UAAU,qDACb,WAAE,yCAA0C,CAC5C,WAAUtU,GAAA8lT,GAAe,IAAf,YAAA9lT,GAAkB,OAAQ,MACpC,GACF,EACAsU,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,OAAQ,IAAM,CACP,MAAAlhD,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACnD4yQ,GAASrwQ,GAAA,YAAAA,EAAoB8qQ,GACnC,OACCptQ,IAAA,YAAAA,GAAY,sBACZ2yQ,IAAA,YAAAA,GAAQ,qBACRlyQ,IAAsBpG,EAAM0F,CAAW,IAEtC,EACH,SAAWnkE,IAAM,WAChB,MAAMotB,KACJO,IAAAxC,GAAAnrB,IAAA,YAAAA,GAA8B,SAA9B,YAAAmrB,GAAsC,SAAtC,YAAAwC,GAA8C,QAC7C3tB,GAAU,OAA+B,MACtCokE,GAAaG,GAAeitQ,EAAYrtQ,CAAW,EACzD,GAAIC,GAEHovQ,GAAiBhC,EAAY,CAC5B,GAAGptQ,GACH,mBAAoBh3C,GAAM,QAAU,OACpC,OAAQg3C,GAAW,QAAU,SAC7B,MACK,CAEA,MAAA+yQ,GAAiBzwQ,GAAA,YAAAA,EAAoB8qQ,GAC3C6B,GAAkB7B,EAAY,CAC7B,GAAG2F,GACH,mBAAoB/pT,GAAM,KAAK,EAC/B,EAEH,EACA,KAAM,GACN,UAAU,SACV,cAAa,KAAG4M,GAAA85S,GAAe,IAAf,YAAA95S,GAAkB,OAAQ,MAAM,gCACjD,EACAsI,MAAC,MAAI,WAAU,mDACd,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,0CACR,OAAQ,CACP,OAAMpQ,GAAA45S,OAAA,YAAA55S,GAAkB,OAAQ,OAChC,OAAMD,GAAA65S,GAAe,IAAf,YAAA75S,GAAkB,OAAQ,MACjC,EACA,WAAY,CACX,KACCqI,EAAA,IAAC,QACA,UAAU,2DACV,QAAS,IAAM,CACd,MAAM2xS,GAAcH,GAAe,EAC9BG,IAGLlvQ,GAAO,YAAY,CAClB,KAAM,WACN,KAAM,gBAAgBkvQ,GAAY,IAAI,YACtC,OAAQ,CACP,OAAQ,GACR,QAAS,GACV,CACA,EACF,EACD,CAEF,EAEF,GACD,IACD,EAEAllM,OAAC,MAAI,WAAU,2CACd,UAACA,OAAA,OAAI,UAAU,kBACd,UAAAzsG,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IACHlvQ,GAAO,YAAY,CAClB,KAAM,kBACN,KAAMkvQ,GAAY,KAClB,CAEH,EACA,cAAY,wBACX,WAAE,8BAA8B,EAClC,EACC3xS,EAAA,IAAA+hK,GAAA,CAAgB,QAASnlM,EAAE,2BAA2B,EACtD,SAAAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IACHlvQ,GAAO,YAAY,CAClB,KAAM,mBACN,KAAMkvQ,GAAY,KAClB,CAEH,EACA,cAAY,qBACZ,SAAA3xS,MAAC,OAAK,WAAU,sBAAuB,IAEzC,IACD,EAGAysG,OAAC,MAAI,WAAU,0BAEb,UAAA+kM,GACA,GAAA/kM,EAAA,KAAC1hC,GAAA,CACA,QAAQ,UACR,QAAS,IAAM,CACd,MAAM4mO,GAAcH,GAAe,EAC/BG,IAAA,MAAAA,GAAa,MAAQ,CAACzB,IACzBC,EAAe,EAAI,EACnB1tQ,GAAO,YAAY,CAClB,KAAM,aACN,KAAMkvQ,GAAY,KAClB,EAEH,EACA,SAAUzB,EACV,MAAOtzU,EAAE,0BAA0B,EACnC,cAAY,qBACZ,UAACojC,MAAA6/H,IAAA,CAAO,UAAU,SAAU,GACbjjK,EAAdszU,EAAgB,+BAAoC,0BAAN,CAAgC,EAChF,EAGDzjM,EAAA,KAAC1hC,GAAA,CACA,QAAQ,UACR,QAAS,IAAMwlO,EAAoB,EAAI,EACvC,SAAUH,EACV,MAAOxzU,EAAE,0BAA0B,EACnC,cAAY,qBACZ,UAACojC,MAAAs+H,IAAA,CAAS,UAAU,SAAU,GACf1hK,EAAdwzU,EAAgB,+BAAoC,0BAAN,CAAgC,GAChF,EACD,EAGA3jM,OAAC,MAAI,WAAU,OACd,UAAAA,EAAA,KAAC,UACA,QAAS,IAAMwjM,EAAgC,CAACD,CAA4B,EAC5E,UAAU,4GACV,gBAAeA,EACf,UAAAhwS,EAAA,IAAC,QACA,UAAW,mBAAmBgwS,EAA+B,eAAiB,eAAe,QAAS,EACtGhwS,MAAA,QAAM,SAAEpjC,EAAA,wBAAwB,CAAE,IACpC,EAECozU,GACChwS,MAAA,OAAI,UAAU,sBAEd,gBAAC,MACA,WAACA,EAAA,UAAG,UAAU,oDAAoD,SAElE,2BACAA,MAAC,MAAI,WAAU,4CACd,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,2CACR,OAAQ,CACP,OAAM5gB,GAAAoqT,GAAe,IAAf,YAAApqT,GAAkB,OAAQ,MACjC,EACA,WAAY,CACX,KACC4Y,EAAA,IAAC,QACA,UAAU,2DACV,QAAS,IAAM,CACd,MAAM2xS,GAAcH,GAAe,EAC9BG,IAELlvQ,GAAO,YAAY,CAClB,KAAM,WACN,KAAM,wBAAwBkvQ,GAAY,IAAI,GAC9C,OAAQ,CACP,OAAQ,GACR,QAAS,GACV,CACA,EACF,CACD,EAED,EACC3xS,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,6BACA,gCACD,EACA,MAAO,CAAE,QAAS,QAAS,EAAG,EAEhC,QAAM,SAAO,IACd,EAEF,IACD,CACD,GAEF,IACD,EAEAO,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,KAAG,WAAU,8BAA+B,SAAApjC,EAAE,wCAAwC,EAAE,QAExF,MAAI,WAAU,iDACd,SAACojC,MAAAgI,GAAA,CAAM,QAAQ,+CACd,SAAAhI,EAAA,IAACwiF,GAAA,CACA,KAAM0pB,GACL,0DACA,oCACD,EACA,MAAO,CAAE,QAAS,QAAS,IAC7B,CACD,GACAlsG,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,MAAOgsN,GAAsB,GAC7B,SAAWtxU,IAAM,WAChB,MAAMotB,KACJO,IAAAxC,GAAAnrB,IAAA,YAAAA,GAA8B,SAA9B,YAAAmrB,GAAsC,SAAtC,YAAAwC,GAA8C,QAC7C3tB,GAAU,OAA+B,MAC5CuxU,EAAsBnkT,IAAS,MAAS,EACxC23C,GAAO,YAAY,CAClB,KAAM,qBACN,KAAM33C,GAAM,QAAU,OACtB,CACF,EACA,KAAM,EACN,UAAU,SACV,cAAY,sCACb,EACAkV,MAAC,MAAI,WAAU,mDACd,SAAAA,EAAA,IAACgI,GAAA,CACA,QAAQ,gDACR,WAAY,CACX,KACChI,EAAA,IAAC,QACA,UAAU,2DACV,QAAS,IACRyiC,GAAO,YAAY,CAClB,KAAM,WACN,KAAM,wBACN,OAAQ,CACP,OAAQ,GACR,QAAS,GAEV,IAEH,CAEF,EAEF,GACD,IACD,EAECqtQ,SACC,MAAI,WAAU,sDACd,SAACrjM,OAAA,OAAI,UAAU,4FACd,UAACA,OAAA,OAAI,UAAU,qCACd,UAAAzsG,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAMglO,EAA0B,EAAK,EAC9C,UAAU,yBACV,SAAA/vS,MAAC,OAAK,WAAU,uBAAwB,GACzC,QACC,KAAG,WAAU,OAAQ,SAAApjC,EAAE,gCAAgC,EAAE,EAC1D6vI,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,qCAAqC,EAAE,EAC1EojC,EAAA,IAACitJ,GAAA,CACA,KAAK,OACL,MAAO4kJ,GACP,SAAWn0U,IAAM,CACCi2U,GAAAj2U,GAAE,OAAO,KAAK,CAChC,EACA,UAAU,SACX,EACCm1U,IACA7yS,EAAA,IAAC,MAAI,WAAU,2CAA4C,SAAU6yS,EAAA,IAEvE,EACApmM,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,qCAAqC,EAAE,EAC1EojC,EAAA,IAACitJ,GAAA,CACA,KAAK,OACL,MAAO8kJ,GACP,SAAWr0U,IAAM,CACDs0U,GAAAt0U,GAAE,OAAO,KAAK,CAC9B,EACA,UAAU,SACX,QACC,MAAI,WAAU,iDACb,SAAAd,EAAE,2CAA2C,EAC/C,EACCm2U,IACA/yS,EAAA,IAAC,MAAI,WAAU,2CAA4C,SAAU+yS,EAAA,IAEvE,EACAtmM,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,6CAA6C,EAAE,QACjF,MAAI,WAAU,iDACb,SAAAA,EAAE,mDAAmD,EACvD,EACA6vI,EAAA,KAAC1pB,GAAA,CACA,MAAO4vN,GACP,SAAWj1U,IAA4C,QACtD,MAAM4oB,KAAWuC,GAAAnrB,IAAA,YAAAA,GAAmB,SAAnB,YAAAmrB,GAA2B,SAC1CnrB,GAAE,OACJk1U,GAAiBtsT,GAAO,KAAmB,CAC5C,EACA,UAACmmH,OAAA3pB,GAAA,CAAY,MAAM,SACjB,UAAAlmH,EAAE,oDAAoD,QACtD,MAAI,WAAU,mDACb,SAAAA,EAAE,0DAA0D,CAC9D,IACD,EACA6vI,OAAC3pB,GAAY,OAAM,UACjB,UAAAlmH,EAAE,qDAAqD,QACvD,MAAI,WAAU,mDACb,SAAAA,EAAE,2DAA2D,CAC/D,GACD,KACD,EACD,SAEC,MAAI,OAAO,CAAE,aAAc,MAC3B,YAACojC,MAAA,OAAI,MAAO,CAAE,WAAY,OAAQ,aAAc,KAAM,EACpD,SAAEpjC,EAAA,+CAA+C,CACnD,GACAojC,EAAA,IAAC,OACA,MAAO,CACN,SAAU,OACV,MAAO,sCACP,aAAc,KACf,EACC,WAAE,qDAAqD,EACzD,EACAA,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,MAAOmvN,GACP,SAAWz0U,IAAM,CACU00U,GAAA10U,GAAE,OAA+B,KAAK,CACjE,EACA,KAAM,EACN,UAAU,SACX,EACCy1U,IACAnzS,EAAA,IAAC,MAAI,WAAU,2CACb,SACFmzS,EAAA,IAEF,EAEA1mM,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,4CAA4C,EAAE,QAChF,MAAI,WAAU,qDACb,SAAAA,EAAE,kDAAkD,EACtD,EACAojC,EAAA,IAACijF,GAAA,CACA,MAAOgvN,GACP,SAAWv0U,IAAM,CACOw0U,GAAAx0U,GAAE,OAA4B,KAAK,CAC3D,EACA,UAAU,SACX,EACCu1U,IACAjzS,EAAA,IAAC,MAAI,WAAU,2CAA4C,SAAiBizS,EAAA,IAE9E,EAEAxmM,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,0CAA0C,EAAE,QAC9E,MAAI,WAAU,qDACb,SAAAA,EAAE,gDAAgD,EACpD,EACAojC,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,MAAOqvN,GACP,SAAW30U,IAAM,CACK40U,GAAA50U,GAAE,OAA+B,KAAK,CAC5D,EACA,KAAM,EACN,UAAU,UACX,EACD,EACA+uI,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBAAkB,SAAApjC,EAAE,sCAAsC,EAAE,QAC1E,MAAI,WAAU,qDACb,SAAAA,EAAE,4CAA4C,EAChD,QACC,MAAI,WAAU,6DACb,SAAgBiyU,GAAA,IAAK/yQ,IACrB97B,EAAA,IAACsiF,GAAA,CAEA,QAASmwN,GAAc,KAAMl0U,IAAMuwU,GAAavwU,EAAC,IAAMu9D,EAAK,EAC5D,SAAWp+D,IAA4C,QAGtD,MAAMy9J,MADJtyI,GAAAnrB,IAAA,YAAAA,GAAmB,SAAnB,YAAAmrB,GAA2B,SAAWnrB,GAAE,QACnB,QAEtBg1U,GADGv3K,GACc,CAAC,GAAGs3K,GAAe32Q,EAAK,EAGxC22Q,GAAc,OAAQl0U,IAAMuwU,GAAavwU,EAAC,IAAMu9D,EAAK,CAHZ,CAM5C,EACC,SAAAl/D,EAAE,2BAA2Bk/D,EAAK,EAAE,GAdhCA,EAgBN,GACF,EACCu3Q,IACArzS,EAAA,IAAC,MAAI,WAAU,2CAA4C,SAAYqzS,EAAA,IAEzE,EACA5mM,OAAC,MAAI,WAAU,OACd,UAAAzsG,MAAC,MAAI,WAAU,iBACb,SAAApjC,EAAE,mDAAmD,EACvD,QACC,MAAI,WAAU,qDACb,SAAAA,EAAE,yDAAyD,EAC7D,EACAojC,EAAA,IAACgjF,GAAA,CACA,OAAO,WACP,MAAOuvN,GACP,SAAW70U,IAAM,CACc80U,GAAA90U,GAAE,OAA+B,KAAK,CACrE,EACA,KAAM,EACN,UAAU,UACX,CACD,IACD,EACA+uI,OAAC,MAAI,WAAU,gHACd,UAACzsG,MAAA+qE,GAAA,CAAO,QAAQ,YAAY,QAAS,IAAMglO,EAA0B,EAAK,EACxE,SAAEnzU,EAAA,yCAAyC,CAC7C,GACAojC,MAAC+qE,IAAO,QAAQ,UAAU,QAAS6oO,GACjC,SAAAh3U,EAAE,yCAAyC,CAC7C,GACD,IACD,CACD,GAGAwyU,SACC,MAAI,WAAU,sDACd,SAAC3iM,OAAA,OAAI,UAAU,4FACd,UAACA,OAAA,OAAI,UAAU,qCACd,UAAAzsG,EAAA,IAAC+qE,GAAA,CACA,QAAQ,QACR,KAAK,OACL,QAAS,IAAMskO,EAAgB,EAAK,EACpC,UAAU,yBACV,SAAArvS,MAAC,OAAK,WAAU,uBAAwB,GACzC,QACC,KAAG,WAAU,OACZ,SAAAwvS,GACA5yU,EAAE,6BAA8B,CAC/B,WAAUi7B,GAAA25S,GAAe,IAAf,YAAA35S,GAAkB,OAAQ,MACpC,GACH,EACCmI,EAAA,WAAI,UAAU,+MACb,SACFsvS,CAAA,IACD,QACC,MAAI,WAAU,0GACd,SAAAtvS,EAAA,IAAC+qE,IAAO,QAAQ,YAAY,QAAS,IAAMskO,EAAgB,EAAK,EAC9D,SAAEzyU,EAAA,gCAAgC,EACpC,CACD,IACD,CACD,GAIA0zU,SACC,MAAI,WAAU,sEACd,SAAC7jM,OAAA,OAAI,UAAU,uHACd,UAAAzsG,MAAC,KAAG,WAAU,6BAA8B,SAAApjC,EAAE,0BAA0B,EAAE,QACzE,IAAE,WAAU,iDACX,SAAAA,EAAE,gCAAgC,EACpC,EACA6vI,OAAC,MAAI,WAAU,iBACd,UAACA,OAAA,SAAM,UAAU,wCAChB,UAAAzsG,EAAA,IAAC,SACA,KAAK,QACL,KAAK,cACL,MAAM,UACN,UAAU,OACV,eAAc,GACf,SACC,MACA,WAAAA,MAAC,MAAI,WAAU,cAAe,SAAApjC,EAAE,kCAAkC,EAAE,QACnE,MAAI,WAAU,4CACb,SAAAA,EAAE,wCAAwC,CAC5C,GACD,IACD,EACA6vI,OAAC,QAAM,WAAU,wCAChB,UAACzsG,MAAA,SAAM,KAAK,QAAQ,KAAK,cAAc,MAAM,SAAS,UAAU,MAAO,UACtE,MACA,WAAAA,MAAC,MAAI,WAAU,cAAe,SAAApjC,EAAE,iCAAiC,EAAE,QAClE,MAAI,WAAU,4CACb,SAAAA,EAAE,uCAAuC,CAC3C,GACD,GACD,IACD,EACA6vI,OAAC,MAAI,WAAU,yBACd,UAACzsG,MAAA+qE,GAAA,CAAO,QAAQ,YAAY,QAAS,IAAMwlO,EAAoB,EAAK,EAClE,SAAE3zU,EAAA,yCAAyC,CAC7C,GACAojC,EAAA,IAAC+qE,GAAA,CACA,QAAQ,UACR,QAAS,IAAM,QACd,GAAI,CAACqlO,EAAa,CACjB,MAAM0E,IACLjsT,GAAA,SAAS,cACR,uCADD,YAAAA,GAGE,MACHwnT,EAAe,EAAI,EACnB5tQ,GAAO,YAAY,CAClB,KAAM,aACN,OAAQqyQ,IAAiB,UACzB,EAEH,EACA,SAAU1E,EACT,SAAcxzU,EAAAwzU,EAAE,+BAAoC,2BAAN,CAAiC,EACjF,CACD,IACD,CACD,GAIDpwS,EAAA,IAAC0uS,IAAA,CACA,KAAMjF,EACN,aAAcC,EACd,aAAAiF,EACA,UAAW,IAAM,CACZA,IACHlsQ,GAAO,YAAY,CAClB,KAAM,mBACN,KAAMksQ,EAAa,KACnB,EACDjF,EAAqB,EAAK,EAC1BgH,EAAgB,IAAI,EACrB,CACD,EACD,EACD,CAEF,ECvmDaqE,IAAoD,CAAC,CACjE,OAAA1zK,EACA,QAAAuvC,EACA,UAAAokI,EACA,WAAAC,EACA,SAAAC,EACA,SAAA3nD,CACD,IAAM,CACC,MAAE,EAAA3wR,CAAE,EAAIsqE,GAAkB,EAC1B,CAAC2kB,EAAUspP,CAAW,EAAIpqT,WAAe,EAAE,EAC3C,CAAE,KAAAsE,CAAK,EAAI0sL,IAAa,EACxB,CAACq5H,EAAeC,CAAgB,EAAItqT,WAAe,EAAK,EAG9DC,YAAgB,IAAM,CACjBq2I,IACH8zK,EAAY,EAAE,EACdE,EAAiB,EAAK,EACvB,EACE,CAACh0K,CAAM,CAAC,EAGX,MAAMy1E,EAAa,IAAM,CACxBznN,EAAK4lT,CAAU,EACfI,EAAiB,EAAI,EACrB,WAAW,IAAM,CAChBA,EAAiB,EAAK,GACpB,GAAI,CACR,EAGM/X,EAAgB5/T,GAAuB,CAC5CA,EAAE,eAAe,EACbmuF,EAAS,SACZqpP,EAASF,EAAWnpP,CAAQ,EACpB+kH,EAAA,EAEV,EAGMyiG,EAAe,IAAM,CAC1B9lB,EAASynD,CAAS,EACVpkI,EAAA,CACT,EAEA,OACE5wK,MAAAmlH,GAAA,CAAO,KAAMkc,EAAQ,aAAe1b,GAAS,CAACA,GAAQ0tJ,EAAa,EACnE,SAAC5mK,EAAA,KAAAqa,GAAA,CAAc,UAAU,gDACxB,UAAAra,OAACw3B,GACA,WAACjkI,EAAA,IAAA6nH,GAAA,CAAa,SAAEjrJ,EAAA,wBAAwB,CAAE,GACzCojC,MAAAgoH,GAAA,CAAmB,SAAEprJ,EAAA,8BAA8B,CAAE,IACvD,EAEA6vI,OAAC,MAAI,WAAU,kBACd,UAACA,OAAA,OAAI,UAAU,WACd,UAAAzsG,EAAA,IAACsuK,GAAA,CACA,UAAU,gEACV,MAAO2mI,EACP,SAAQ,GACT,EACAj1S,MAAC+qE,IAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,yBAAyB,QAAS+rI,EAC9E,WAAiB92M,MAAA69H,GAAA,CAAM,UAAU,SAAU,SAAMO,IAAK,WAAU,SAAU,EAC5E,IACD,EAECg3K,GACCp1S,MAAA,OAAI,UAAU,uCAAwC,SAAApjC,EAAE,8BAA8B,EAAE,SAGzF,MACA,WAAAojC,MAAC,MAAI,WAAU,mBAAoB,SAAApjC,EAAE,6BAA6B,EAAE,EACpEojC,EAAA,IAACsuK,GAAA,CACA,YAAa1xM,EAAE,mCAAmC,EAClD,MAAOivF,EACP,SAAWnuF,GAAMy3U,EAAYz3U,EAAE,OAAO,KAAK,EAC3C,UAAU,iBACX,CACD,IACD,SAECwmK,GACA,WAAAz3B,OAAC1hC,IAAO,QAAQ,UAAU,QAASsoM,EAAc,UAAU,QAC1D,UAACrzQ,MAAA3gC,GAAA,CAAE,UAAU,SAAU,GACtBzC,EAAE,2BAA2B,GAC/B,EACA6vI,OAAC1hC,GAAO,SAASuyN,EAAc,SAAU,CAACzxO,EAAS,KAAQ,YAAU,QACpE,UAAC7rD,MAAA69H,GAAA,CAAM,UAAU,SAAU,GAC1BjhK,EAAE,2BAA2B,EAC/B,GACD,IACD,CACD,EAEF,EC9Fa04U,IAA8F,CAAC,CAC3G,KAAA3vL,EACA,aAAAJ,EACA,UAAAqpL,EACA,KAAA/gT,CACD,IAAM,CACC,MAAE,EAAAjxB,CAAE,EAAIsqE,GAAkB,EAE1BquQ,EAAS1nT,IAAS,OAClBizK,EAAiBlkM,EAAT24U,EAAW,kCAAuC,mCAAN,EACpD5qR,EAAuB/tD,EAAT24U,EAAW,kCAAuC,mCAAN,EAEhE,OACEv1S,EAAA,IAAAypH,GAAA,CAAY,KAAA9D,EAAY,aAAAJ,EACxB,gBAACgF,GACA,WAAA9d,OAACwsB,GACA,WAACj5H,EAAA,IAAA2qH,GAAA,CAAiB,UAAU,UAAW,SAAMm2C,EAAA,EAC5C9gK,EAAA,IAAA6qH,GAAA,CAAuB,UAAU,YAAa,SAAYlgG,CAAA,IAC5D,EACA8hF,OAACysB,GAAkB,WAAU,iBAC5B,UAAAl5H,MAACorH,GAAkB,WAAU,0JAC3B,SAAAxuJ,EAAE,uBAAuB,EAC3B,EACAojC,EAAA,IAACgrH,GAAA,CACA,QAAS4jL,EACT,UAAU,+HACT,WAAE,6BAA6B,GACjC,CACD,IACD,CACD,EAEF,EAGa4G,IAAyF1wS,GACrG9E,MAACs1S,KAAuC,GAAGxwS,EAAO,KAAK,OAAO,EAGlD2wS,IAA2F3wS,GACvG9E,MAACs1S,KAAuC,GAAGxwS,EAAO,KAAK,SAAS,EC7CjE,MAAM4wS,YAAsB5yS,WAAkC,CAC7D,YAAYgC,EAAmB,CAC9B,MAAMA,CAAK,EACX,KAAK,MAAQ,CAAC,EAGf,OAAO,yBAAyBlR,EAAgB,CAC/C,IAAIq1B,EAAe,GAEnB,OAAIr1B,aAAiB,MACLq1B,EAAAr1B,EAAM,OAASA,EAAM,QAEpCq1B,EAAe,GAAGr1B,CAAK,GAGjB,CACN,MAAOq1B,EACP,UAAW,KAAK,IAAI,CACrB,EAGD,MAAM,kBAAkBr1B,EAAc+hT,EAA4B,CAC3D,MAAAjrP,EAAiBirP,EAAU,gBAAkB,GAC7CpqP,EAAgB,MAAMP,GAA2Bp3D,EAAO82D,CAAc,EAE5E9P,GAAgB,QAAQ,8BAA+B,CACtD,MAAO2Q,EAAc,QACrB,MAAOA,EAAc,mBAAqBA,EAAc,MACxD,eAAgBA,EAAc,4BAA8Bb,EAC5D,UAAW,KAAK,IAAI,EACpB,UAAWa,EAAc,KACzB,EAED,KAAK,SAAS,CACb,MAAOA,EAAc,mBAAqBA,EAAc,MACxD,eAAgBA,EAAc,4BAA8Bb,CAAA,CAC5D,EAGF,QAAS,CACF,MAAE,EAAA9tF,GAAM,KAAK,MAEf,IAAC,KAAK,MAAM,MACf,OAAO,KAAK,MAAM,SAGb,MAAAg5U,EAAe,KAAK,MAAM,MAC1BC,EAAwB,KAAK,MAAM,6BAKvC,MACA,WAACppM,OAAA,MAAG,UAAU,8BACZ,UAAA7vI,EAAE,qBAAqB,EAAE,MALb,SAKyB,KACvC,EACC6vI,OAAA,IAAE,WAAU,OACX,UAAA7vI,EAAE,0BAA0B,EAAG,IAC/BojC,MAAA,IAAE,MAAK,gDAAgD,OAAO,SAAS,IAAI,aAC1E,SAAEpjC,EAAA,0BAA0B,CAC9B,IACD,QACC,IAAE,WAAU,OAAQ,SAAAA,EAAE,gCAAgC,EAAE,EAExD6vI,OAAA,MAAI,WAAU,OACd,UAAAzsG,MAAC,KAAG,WAAU,yBAA0B,SAAApjC,EAAE,0BAA0B,EAAE,QACrE,OAAI,UAAU,2CAA4C,SAAag5U,CAAA,IACzE,EAECC,UACC,MACA,WAAA71S,MAAC,KAAG,WAAU,yBAA0B,SAAApjC,EAAE,8BAA8B,EAAE,QACzE,OAAI,UAAU,2CAA4C,SAAsBi5U,CAAA,GAClF,IAEF,EAGH,CAEA,MAAAC,IAAe/qS,IAAgB,QAAQ,EAAE2qS,GAAa,EC1EzCK,IAAc,CAAC,CAAE,SAAAC,EAAU,gBAAAC,EAAiB,YAAAC,EAAa,OAAAhlC,KAA+B,SAC9F,MAAE,EAAAt0S,CAAE,EAAIsqE,GAAkB,EAC1B,CAAE,qBAAAivQ,EAAsB,wBAAAC,CAAwB,EAAIvvQ,GAAkB,EACtEwvQ,EAAsBruT,SAAO,EAAK,EAElCsuT,EAAc,OAAe,gBAAkB,gBAGrDruT,YAAU,IAAM,CACXguT,EACHI,EAAoB,QAAU,GACpBA,EAAoB,SAAW,CAACJ,IAE1Br7P,GAAA,QAAQ9f,GAAmB,sBAAsB,EACjEu7Q,EAAoB,QAAU,GAC/B,EACE,CAACJ,CAAe,CAAC,EAEpB,MAAMM,EAAqB,IAAM,CAEhB37P,GAAA,QAAQ9f,GAAmB,uBAAuB,EAClE2H,GAAO,YAAY,CAAE,KAAM,iBAAkB,CAC9C,EAEM+zQ,EAAoB,IAAM,CAEf57P,GAAA,QAAQ9f,GAAmB,sBAAsB,EACjE2H,GAAO,YAAY,CAAE,KAAM,kBAAmB,CAC/C,EAEMg0Q,EAA0B,IAAM,CAErB77P,GAAA,QAAQ9f,GAAmB,uBAAuB,EAClE,MAAM47Q,EAAWR,GAAe,0BAChCzzQ,GAAO,YAAY,CAAE,KAAM,eAAgB,IAAKi0Q,EAAU,CAC3D,EAEMC,EAA4B,IAAM,CACvC,MAAMxqS,EAAW,CAACgqS,EAClBC,EAAwBjqS,CAAQ,EAChCs2B,GAAO,YAAY,CAAE,KAAM,uBAAwB,KAAMt2B,EAAU,CACpE,EAGC,OAAAsgG,EAAA,KAAC,MAAI,WAAU,uBACd,UAACA,OAAA,OAAI,UAAU,yCACd,UAAAzsG,MAAC,KAAG,WAAU,6CAA8C,SAAApjC,EAAE,eAAe,EAAE,EAC/EojC,MAACqiF,IAAa,WAAW,YAAY,QAAS6uL,EAC5C,SAAAt0S,EAAE,sBAAsB,CAC1B,IACD,EACCq5U,EAEExpM,EAAA,KAAA/kG,WAAA,WACAsuS,GAAAvpM,EAAA,KAAC,MAAI,WAAU,kCACd,UAAAzsG,EAAA,IAAC,MAAI,WAAU,8CACb,SAAAg2S,GAAA,MAAAA,EAAU,QACVh2S,EAAA,IAAC,OACA,IAAKg2S,EAAS,QACd,IAAKp5U,EAAE,wBAAwB,EAC/B,UAAU,+BAGVojC,MAAA,OAAI,UAAU,mHACb,8BAAU,qBAAM,OAAO,OAAM3U,EAAA2qT,GAAA,YAAAA,EAAU,QAAV,YAAA3qT,EAAiB,OAAO,KAAM,GAC7D,GAEF,EACC2qT,EAAS,MACTh2S,EAAA,IAAC,MAAG,UAAU,kDAAmD,WAAS,KAAK,GAE/Eg2S,GAAA,YAAAA,EAAU,QACVh2S,EAAA,IAAC,KAAE,UAAU,iDAAkD,0BAAU,MAAM,GAE/Eg2S,GAAA,YAAAA,EAAU,mBACTvpM,OAAA,OAAI,UAAU,yEACb,UAAAupM,EAAS,sBACTh2S,EAAA,IAAC,OACA,IAAKg2S,EAAS,qBACd,IAAKA,EAAS,iBACd,UAAU,+BACX,EAEDh2S,MAAC,OAAM,UAAAg2S,EAAS,gBAAiB,GAClC,IAEF,GAIAA,GAAA,YAAAA,EAAU,yBACTvpM,OAAA,OAAI,UAAU,iDACd,UAACA,OAAA,OAAI,UAAU,+BACd,UAAAzsG,EAAA,IAACkzK,GAAA,CACA,QAASijI,EACT,SAAUQ,EACV,KAAK,SACL,aAAY/5U,EAAE,uBAAuB,EACrC,cAAY,wBACb,QACC,OAAK,WAAU,qCAAsC,SAAAA,EAAE,uBAAuB,CAAE,IAClF,QACC,MAAI,WAAU,2DACb,SAAAA,EAAE,kCAAkC,EACtC,EACAojC,MAAC,KAAG,WAAU,kCAAmC,IAClD,EAGDysG,OAAC,MAAI,WAAU,2BACd,UAACzsG,MAAAqiF,GAAA,CAAa,WAAW,YAAY,QAASo0N,EAAyB,UAAU,SAC/E,SAAE75U,EAAA,2BAA2B,CAC/B,GACAojC,MAACqiF,GAAa,YAAW,YAAY,QAASm0N,EAAmB,UAAU,SACzE,SAAE55U,EAAA,gBAAgB,CACpB,GACD,IACD,EAGC6vI,OAAA/kG,EAAA,oBAAA1H,MAAC,OAAI,UAAU,8CACd,SAACA,MAAA,OAAI,UAAU,kDACd,SAAAA,EAAA,IAAC,OACA,UAAU,iCACV,MAAO,CACN,gBAAiB,QAAQs2S,CAAU,KACnC,iBAAkB,YAClB,eAAgB,UAChB,UAAW,QAAQA,CAAU,KAC7B,WAAY,YACZ,SAAU,SACX,EACA,eAAC,MAAI,KAAKA,EAAY,IAAI,WAAW,UAAU,qBAAsB,KAEvE,CACD,GAEA7pM,OAAC,MAAI,WAAU,iCACd,UAAAzsG,MAAC,KAAG,WAAU,gDACZ,SAAApjC,EAAE,4BAA4B,EAChC,EACA6vI,OAAC,KAAG,WAAU,2DACb,UAACA,OAAA,MAAG,UAAU,mCACb,UAAAzsG,EAAA,IAACm/H,IAAO,MAAK,KAAK,UAAU,WAAW,EACtCn/H,MAAA,QAAM,SAAEpjC,EAAA,8BAA8B,CAAE,IAC1C,EACA6vI,OAAC,KAAG,WAAU,mCACb,UAAAzsG,EAAA,IAAC42S,IAA0B,MAAK,KAAK,UAAU,WAAW,EACzDh6U,EAAE,6BAA6B,GACjC,EACA6vI,OAAC,KAAG,WAAU,mCACb,UAAAzsG,EAAA,IAAC6+H,IAAQ,MAAK,KAAK,UAAU,WAAW,EACvCjiK,EAAE,6BAA6B,GACjC,EACA6vI,OAAC,KAAG,WAAU,mCACb,UAAAzsG,EAAA,IAACi/H,IAAU,MAAK,KAAK,UAAU,WAAW,EACzCriK,EAAE,6BAA6B,EACjC,GACD,IACD,EAECojC,MAAA,OAAI,UAAU,mCACd,eAACqiF,GAAa,YAAW,UAAU,QAASk0N,EAAoB,UAAU,QACxE,SAAE35U,EAAA,iBAAiB,EACrB,CACD,GACD,IAEF,CAEF,EC9IMi6U,IAA8BxqT,GAAM,KAAKopT,GAAmB,EAC5DqB,IAA4BzqT,GAAM,KAAKmpT,GAAiB,EACxDuB,IAA2B1qT,GAAM,KAAK0oT,GAAgB,EAEtDiC,IAAqF,CAC1F,kBAAmB,OACnB,sBAAuB,WACvB,qBAAsB,QACtB,iBAAkB,MAClB,qBAAsB,UACtB,yBAA0B,cAC1B,qBAAsB,SACvB,EAEMC,IAAM,IAAM,CACX,MACL,gBAAA1yQ,EACA,YAAAE,EACA,uBAAAyyQ,EACA,iBAAA78P,EACA,aAAA88P,EACA,UAAAxX,EACA,cAAA/8B,EACA,qBAAAD,EACA,YAAAuzC,EACA,cAAArlC,EACA,aAAAumC,GACGvwQ,GAAkB,EAGhBwwQ,EAA0BrtT,EAAQ,YAAM,IAAIm9C,IAA+B,EAAE,EAE7E,CAAC8gO,EAAkBqvC,CAAmB,EAAIltT,WAAS,EAAK,EACxD,CAAC49C,EAAKuvQ,CAAM,EAAIntT,WAAc,MAAM,EAEpC,CAACotT,EAAuBC,CAAwB,EAAIrtT,WAAgC,CACzF,OAAQ,GACR,UAAW,GACX,WAAY,GACZ,EAEK,CAACstT,EAA0BC,CAA2B,EAAIvtT,WAAmC,CAClG,OAAQ,GACR,UAAW,EACX,EAEK,CAACwtT,EAAwBC,CAAyB,EAAIztT,WAAiC,CAC5F,OAAQ,GACR,UAAW,EACX,KAAM,GACN,OAAQ,EAAC,CACT,EAEK0tT,EAAc9vT,SAAwB,IAAI,EAC1C+vT,EAAc/vT,SAAoB,IAAI,EAEtCgwT,EAAYvvT,EAAA,YAChBg1S,GAAgB,OAEZ2Z,IAAiB,IAAS3Z,IAAW,YAIzCwa,EAAkB,MAAS,EAC3BC,EAAyB,MAAS,GAE9BrvT,EAAAivT,EAAY,UAAZ,MAAAjvT,EAAqB,mBACxBivT,EAAY,QAAQ,mBAAmB,IAAMP,EAAO9Z,CAAM,CAAC,EAE3D8Z,EAAO9Z,CAAM,EAEf,EACA,CAAC2Z,CAAY,CACd,EAEM,CAACe,EAAgBF,CAAiB,EAAI7tT,WAA6B,MAAS,EAC5E,CAACguT,EAAuBF,CAAwB,EAAI9tT,WAA6B,MAAS,EAE1F0wP,EAAYryP,EAAA,YAChB/qB,GAAoB,WACpB,MAAM8qD,EAA4B9qD,EAAE,KAEpC,GAAI8qD,EAAQ,OAAS,UAAYA,EAAQ,OAExC,GAAIA,EAAQ,SAAW,aAAeA,EAAQ,IAAK,CAClD,MAAM2lR,EAAY3lR,EAAQ,IAC1BwvR,EAAU7J,CAAS,EACnB8J,EAAkB,MAAS,EAC3BC,EAAyB,MAAS,MAC5B,CAEA,MAAAza,EAASuZ,IAAoBxuR,EAAQ,MAAM,EAC3Cm+B,GAAU99D,EAAA2/B,EAAQ,SAAR,YAAA3/B,EAAgB,QAC1BwvT,GAAiBhtT,EAAAm9B,EAAQ,SAAR,YAAAn9B,EAAgB,eAEnCoyS,IACHua,EAAUva,CAAM,EAChBwa,EAAkBtxP,CAAO,EACzBuxP,EAAyBG,CAAc,EACxC,CAIF,GAAI7vR,EAAQ,OAAS,wBAA0BA,EAAQ,WAAaA,EAAQ,WAAY,CACjF,MAAE,UAAAwsR,EAAW,WAAAC,CAAA,EAAezsR,EAClCivR,EAAyB,CAAE,OAAQ,GAAM,UAAAzC,EAAW,WAAAC,EAAY,EAG7DzsR,EAAQ,OAAS,2BAA6BA,EAAQ,WACzDmvR,EAA4B,CAAE,OAAQ,GAAM,UAAWnvR,EAAQ,UAAW,EAGvEA,EAAQ,OAAS,yBAA2BA,EAAQ,WAAaA,EAAQ,MAClDqvR,EAAA,CACzB,OAAQ,GACR,UAAWrvR,EAAQ,UACnB,KAAMA,EAAQ,KACd,OAAQA,EAAQ,QAAU,EAAC,CAC3B,EAGEA,EAAQ,OAAS,iBACpBl9B,EAAAysT,EAAY,UAAZ,MAAAzsT,EAAqB,cAEvB,EACA,CAAC0sT,CAAS,CACX,EAkDA,OAhDA1uT,GAAS,UAAWwxP,CAAS,EAE7B7yP,YAAU,IAAM,CACXivT,IACHI,EAAoB,EAAI,EACxB70Q,GAAO,YAAY,CAAE,KAAM,sBAAuB,EACnD,EACE,CAACy0Q,CAAsB,CAAC,EAE3BjvT,YAAU,IAAM,CACXs8C,GACaqW,GAAA,qBAAqBP,EAAkB88P,EAAcxX,CAAS,GAE7E,CAACtlP,EAAkB88P,EAAcxX,EAAWp7P,CAAe,CAAC,EAGrDt8C,EAAA,cAAMw6C,GAAO,YAAY,CAAE,KAAM,kBAAmB,CAAC,EAAG,EAAE,EAGpEx6C,YAAU,IAAM,CAEMqjE,IAAA,EAISY,IAAA,EAI9B,QAAQ,MAAM,yCAAyC,CACxD,EAAG,EAAE,EAGLgwH,IACCzzL,cAAY,IAAM,CAEbooR,IAAkB,UACrBpuO,GAAO,YAAY,CAAE,KAAM,oBAAqB,CAElD,EAAG,CAACouO,CAAa,CAAC,CACnB,EAEA5oR,YAAU,IAAM,CACX+/C,IAAQ,eACK4S,GAAA,QAAQ9f,GAAmB,sBAAsB,CAClE,EACE,CAACkN,CAAG,CAAC,EAEHzD,EAMEE,QACLi7P,IAAY,IAGXjzL,OAAA/kG,WAAA,WAAAsgC,IAAQ,SAAYhoC,MAAA+uS,IAAA,CAAU,OAAQ,IAAMiJ,EAAU,MAAM,EAAG,EAC/DhwQ,IAAQ,OAAUhoC,MAAAopS,IAAA,CAAQ,OAAQ,IAAM4O,EAAU,MAAM,EAAG,EAC3DhwQ,IAAQ,WAAchoC,MAAAixQ,IAAA,CAAY,OAAQ,IAAM+mC,EAAU,MAAM,EAAG,EACnEhwQ,IAAQ,YACPhoC,MAAAw8R,IAAA,CAAa,IAAKsb,EAAa,OAAQ,IAAMP,EAAO,MAAM,EAAG,cAAeY,EAAgB,EAE7FnwQ,IAAQ,eACRhoC,EAAA,IAACkuS,IAAA,CACA,aAAcmJ,EACd,OAAQ,IAAMW,EAAU,MAAM,EAC9B,UAAWI,CAAA,CACZ,EAEApwQ,IAAQ,WACRhoC,EAAA,IAAC+1S,IAAA,CACA,SAAUnzC,EACV,gBAAiBD,EACjB,YAAAuzC,EACA,OAAQ,IAAM8B,EAAU,MAAM,EAC/B,EAEDh4S,EAAA,IAACwwQ,IAAA,CACA,IAAKunC,EACL,SAAU/vQ,IAAQ,OAClB,iBAAAigO,EACA,iBAAkB,IAAMqvC,EAAoB,EAAK,EAClD,EACAt3S,EAAA,IAAC+2S,IAAA,CACA,OAAQS,EAAsB,OAC9B,UAAWA,EAAsB,UACjC,WAAYA,EAAsB,WAClC,QAAS,IAAMC,EAA0B38R,IAAU,CAAE,GAAGA,EAAM,OAAQ,IAAQ,EAC9E,SAAU,CAACk6R,EAAW5xS,IAASq/B,GAAO,YAAY,CAAE,KAAM,qBAAsB,UAAAuyQ,EAAW,KAAA5xS,EAAM,EACjG,SAAW4xS,GAAcvyQ,GAAO,YAAY,CAAE,KAAM,mBAAoB,UAAAuyQ,CAAW,GACpF,EACAh1S,EAAA,IAAC62S,IAAA,CACA,KAAMa,EAAyB,OAC/B,aAAe/xL,GAASgyL,EAA6B78R,IAAU,CAAE,GAAGA,EAAM,OAAQ6qG,CAAA,EAAO,EACzF,UAAW,IAAM,CAChBljF,GAAO,YAAY,CAClB,KAAM,uBACN,UAAWi1Q,EAAyB,UACpC,EACDC,EAA6B78R,IAAU,CAAE,GAAGA,EAAM,OAAQ,IAAQ,EACnE,CACD,EACA9a,EAAA,IAAC82S,IAAA,CACA,KAAMc,EAAuB,OAC7B,aAAejyL,GAASkyL,EAA2B/8R,IAAU,CAAE,GAAGA,EAAM,OAAQ6qG,CAAA,EAAO,EACvF,UAAW,IAAM,CAChBljF,GAAO,YAAY,CAClB,KAAM,qBACN,UAAWm1Q,EAAuB,UAClC,KAAMA,EAAuB,KAC7B,OAAQA,EAAuB,OAC/B,EACDC,EAA2B/8R,IAAU,CAAE,GAAGA,EAAM,OAAQ,IAAQ,EACjE,EACD,EACD,EApEO,IAsET,EAEMlb,IAAc,IAAInF,IAElB69S,IAAmB,IACvBt4S,MAAA01S,IAAA,CACA,SAAC11S,EAAA,IAAAskC,IACA,gBAACyC,IACA,UAAC/mC,EAAA,IAAAF,IAAoB,QAAQF,IAC5B,SAACI,MAAA6uK,GAAA,CAAgB,cAAemE,IAC/B,SAAAhzK,EAAA,IAACi3S,KAAI,EACN,EACD,EACD,EACD,GACD,EC7SD3qG,IAAe,EAAE,MAAO14M,GAAiB,QAAQ,MAAM,0CAA2CA,CAAK,CAAC,EAExG2kT,IAAA,WAAW,SAAS,eAAe,MAAM,CAAE,EAAE,OAC3Cv4S,EAAA,IAAAw4S,EAAA,YACA,SAACx4S,MAAAi3S,IAAA,EAAI,CACN,EACD", + "names": [ + "l", + "n", + "p", + "q", + "t", + "u", + "v", + "w", + "x", + "y", + "z", + "A", + "a", + "B", + "C", + "D", + "E", + "b", + "e", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "d", + "c", + "k", + "h", + "g", + "f", + "m", + "N", + "O", + "escape", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "react_production_min", + "reactModule", + "require$$0", + "reactJsxRuntime_production_min", + "jsxRuntimeModule", + "exports", + "r", + "schedulerModule", + "aa", + "ca", + "require$$1", + "da", + "ea", + "fa", + "ha", + "ia", + "ja", + "ka", + "la", + "ma", + "oa", + "pa", + "qa", + "ra", + "sa", + "ta", + "ua", + "va", + "wa", + "ya", + "za", + "Aa", + "Ba", + "Ca", + "Da", + "Ea", + "Fa", + "Ga", + "Ha", + "Ia", + "Ja", + "Ka", + "La", + "Ma", + "Na", + "Oa", + "Pa", + "Qa", + "Ra", + "Sa", + "Ta", + "Ua", + "Va", + "Wa", + "Xa", + "Ya", + "Za", + "ab", + "bb", + "cb", + "db", + "eb", + "fb", + "gb", + "hb", + "ib", + "jb", + "kb", + "lb", + "mb", + "nb", + "ob", + "pb", + "qb", + "rb", + "sb", + "tb", + "ub", + "vb", + "wb", + "xb", + "yb", + "zb", + "Ab", + "Bb", + "Cb", + "Db", + "Eb", + "Fb", + "Gb", + "Hb", + "Ib", + "Jb", + "Kb", + "Lb", + "Mb", + "Nb", + "Ob", + "Pb", + "Qb", + "Rb", + "Sb", + "Tb", + "Ub", + "Vb", + "Wb", + "Xb", + "Yb", + "Zb", + "$b", + "ac", + "bc", + "cc", + "dc", + "ec", + "fc", + "gc", + "hc", + "ic", + "jc", + "kc", + "lc", + "mc", + "oc", + "nc", + "pc", + "qc", + "rc", + "sc", + "tc", + "uc", + "vc", + "wc", + "xc", + "yc", + "zc", + "Ac", + "Bc", + "Cc", + "Dc", + "Ec", + "Fc", + "Gc", + "Hc", + "Ic", + "Jc", + "Kc", + "Lc", + "Mc", + "Nc", + "Oc", + "Pc", + "Qc", + "Rc", + "Sc", + "Tc", + "Uc", + "Vc", + "Wc", + "Xc", + "Yc", + "Zc", + "$c", + "ad", + "bd", + "cd", + "dd", + "ed", + "fd", + "gd", + "hd", + "id", + "jd", + "kd", + "ld", + "md", + "nd", + "od", + "pd", + "qd", + "rd", + "sd", + "td", + "ud", + "vd", + "wd", + "xd", + "yd", + "Ad", + "zd", + "Bd", + "Cd", + "Dd", + "Ed", + "Fd", + "Gd", + "Hd", + "Id", + "Jd", + "Kd", + "Ld", + "Md", + "Nd", + "Od", + "Pd", + "Qd", + "Rd", + "Sd", + "Td", + "Ud", + "Vd", + "Wd", + "Xd", + "Yd", + "Zd", + "$d", + "ae", + "be", + "ce", + "de", + "ee", + "fe", + "ge", + "he", + "ie", + "je", + "ke", + "le", + "me", + "ne", + "oe", + "pe", + "qe", + "re", + "se", + "te", + "ue", + "ve", + "we", + "xe", + "ye", + "ze", + "Ae", + "Be", + "Ce", + "De", + "Ee", + "Fe", + "Ge", + "He", + "Ie", + "Je", + "Ke", + "Le", + "Me", + "Ne", + "Oe", + "Pe", + "Qe", + "Re", + "Se", + "Te", + "Ue", + "Ve", + "We", + "Xe", + "Ye", + "Ze", + "$e", + "af", + "bf", + "cf", + "df", + "ef", + "ff", + "gf", + "hf", + "jf", + "kf", + "lf", + "mf", + "nf", + "of", + "pf", + "qf", + "rf", + "sf", + "tf", + "uf", + "vf", + "wf", + "na", + "xa", + "$a", + "ba", + "xf", + "yf", + "zf", + "Af", + "Bf", + "Cf", + "Df", + "Ef", + "Ff", + "Gf", + "Hf", + "Jf", + "If", + "Kf", + "Lf", + "Mf", + "Nf", + "Of", + "Pf", + "Qf", + "Rf", + "Sf", + "Tf", + "Uf", + "Vf", + "Wf", + "Xf", + "Yf", + "Zf", + "$f", + "ag", + "bg", + "cg", + "dg", + "eg", + "fg", + "gg", + "hg", + "ig", + "jg", + "kg", + "lg", + "mg", + "ng", + "og", + "pg", + "qg", + "rg", + "sg", + "tg", + "ug", + "vg", + "wg", + "xg", + "yg", + "zg", + "Ag", + "Bg", + "Cg", + "Dg", + "Eg", + "Fg", + "Gg", + "Hg", + "Ig", + "Jg", + "Kg", + "Lg", + "Mg", + "Ng", + "Og", + "Pg", + "Qg", + "Rg", + "Sg", + "Tg", + "Ug", + "Vg", + "Wg", + "Xg", + "Yg", + "Zg", + "$g", + "ah", + "bh", + "ch", + "dh", + "eh", + "fh", + "gh", + "hh", + "ih", + "jh", + "kh", + "lh", + "mh", + "nh", + "oh", + "ph", + "qh", + "rh", + "sh", + "th", + "uh", + "vh", + "wh", + "xh", + "yh", + "zh", + "Ah", + "Bh", + "Ch", + "Dh", + "Eh", + "Fh", + "Gh", + "Hh", + "Ih", + "Jh", + "Kh", + "Lh", + "Mh", + "Nh", + "Oh", + "Ph", + "Qh", + "Rh", + "Sh", + "Th", + "Uh", + "Vh", + "Wh", + "Xh", + "Yh", + "Zh", + "$h", + "ai", + "bi", + "ci", + "di", + "ei", + "fi", + "gi", + "hi", + "ii", + "ji", + "ki", + "li", + "mi", + "ni", + "oi", + "pi", + "qi", + "ri", + "si", + "ti", + "ui", + "vi", + "wi", + "xi", + "yi", + "zi", + "Ai", + "Bi", + "Ci", + "Di", + "Ei", + "Fi", + "Gi", + "Hi", + "Ii", + "Ji", + "Ki", + "Li", + "Mi", + "Ni", + "Oi", + "Pi", + "Qi", + "Ri", + "Si", + "Ti", + "Ui", + "Vi", + "Wi", + "Xi", + "Yi", + "Zi", + "$i", + "aj", + "bj", + "cj", + "dj", + "ej", + "fj", + "gj", + "hj", + "ij", + "jj", + "kj", + "lj", + "mj", + "nj", + "oj", + "pj", + "qj", + "rj", + "sj", + "tj", + "uj", + "vj", + "wj", + "xj", + "yj", + "zj", + "Aj", + "Bj", + "Cj", + "Dj", + "Ej", + "Fj", + "Gj", + "Hj", + "Ij", + "Jj", + "Kj", + "Lj", + "Mj", + "Nj", + "Oj", + "Pj", + "Qj", + "Rj", + "Sj", + "Tj", + "Uj", + "Vj", + "Wj", + "Xj", + "Yj", + "Zj", + "ak", + "bk", + "ck", + "dk", + "ek", + "fk", + "gk", + "hk", + "ik", + "jk", + "kk", + "lk", + "mk", + "nk", + "ok", + "Y", + "Z", + "pk", + "qk", + "rk", + "sk", + "tk", + "uk", + "vk", + "wk", + "xk", + "yk", + "zk", + "Ak", + "Bk", + "Ck", + "Dk", + "Ek", + "Fk", + "Gk", + "Hk", + "Ik", + "Jk", + "Kk", + "Lk", + "Mk", + "Nk", + "Ok", + "Pk", + "Qk", + "Rk", + "Sk", + "Tk", + "Uk", + "Vk", + "Wk", + "Xk", + "Yk", + "Zk", + "$k", + "al", + "bl", + "cl", + "dl", + "el", + "fl", + "gl", + "hl", + "il", + "jl", + "kl", + "ll", + "ml", + "nl", + "ol", + "pl", + "ql", + "rl", + "sl", + "tl", + "ul", + "vl", + "reactDom_production_min", + "checkDCE", + "err", + "reactDomModule", + "client", + "__assign", + "s", + "i", + "__rest", + "__decorate", + "decorators", + "target", + "key", + "desc", + "__spreadArrays", + "j", + "__spreadArray", + "to", + "from", + "pack", + "ar", + "noop", + "on", + "obj", + "args", + "_i", + "off", + "isBrowser", + "react", + "equal", + "length", + "keys", + "useCustomCompareEffect", + "effect", + "deps", + "depsEqual", + "ref", + "useRef", + "useEffect", + "useTimeoutFn", + "fn", + "ms", + "ready", + "timeout", + "callback", + "isReady", + "useCallback", + "set", + "clear", + "useDebounce", + "_a", + "cancel", + "reset", + "useDeepCompareEffect", + "isDeepEqual", + "useEffectOnce", + "defaultTarget", + "isListenerType1", + "isListenerType2", + "useEvent", + "name", + "handler", + "options", + "createKeyPredicate", + "keyFilter", + "event", + "useKey", + "opts", + "useMemoHandler", + "useMemo", + "predicate", + "handlerEvent", + "useKeyPress", + "useState", + "state", + "useMount", + "useUnmount", + "fnRef", + "useRafState", + "initialState", + "frame", + "setState", + "setRafState", + "value", + "React.useState", + "React.useEffect", + "React.useRef", + "DRAF", + "useSize", + "element", + "_b", + "_c", + "width", + "_d", + "height", + "_e", + "style", + "window", + "setSize", + "iframe", + "size", + "onWindow", + "windowToListenOn", + "onLoad_1", + "sized", + "React.cloneElement", + "React", + "React.createElement", + "React.Children", + "useWindowSize", + "initialWidth", + "initialHeight", + "onChange", + "handler_1", + "Subscribable", + "listener", + "isServer", + "functionalUpdate", + "updater", + "input", + "isValidTimeout", + "timeUntilStale", + "updatedAt", + "staleTime", + "resolveStaleTime", + "query", + "resolveEnabled", + "enabled", + "matchQuery", + "filters", + "type", + "exact", + "fetchStatus", + "queryKey", + "stale", + "hashQueryKeyByOptions", + "partialMatchKey", + "isActive", + "matchMutation", + "mutation", + "status", + "mutationKey", + "hashKey", + "_", + "val", + "isPlainObject", + "result", + "replaceEqualDeep", + "array", + "isPlainArray", + "aItems", + "aSize", + "bItems", + "bSize", + "copy", + "equalItems", + "shallowEqualObjects", + "o", + "hasObjectPrototype", + "ctor", + "prot", + "sleep", + "resolve", + "replaceData", + "prevData", + "data", + "addToEnd", + "items", + "item", + "max", + "newItems", + "addToStart", + "skipToken", + "ensureQueryFn", + "fetchOptions", + "shouldThrowError", + "throwOnError", + "params", + "FocusManager", + "__privateAdd", + "_focused", + "_cleanup", + "_setup", + "__privateSet", + "onFocus", + "__privateGet", + "setup", + "focused", + "isFocused", + "focusManager", + "OnlineManager", + "_online", + "onOnline", + "onlineListener", + "offlineListener", + "online", + "onlineManager", + "pendingThenable", + "reject", + "thenable", + "_resolve", + "_reject", + "finalize", + "reason", + "defaultRetryDelay", + "failureCount", + "canFetch", + "networkMode", + "CancelledError", + "isCancelledError", + "createRetryer", + "config", + "isRetryCancelled", + "isResolved", + "continueFn", + "cancelOptions", + "cancelRetry", + "continueRetry", + "canContinue", + "canStart", + "pause", + "continueResolve", + "run", + "promiseOrValue", + "initialPromise", + "error", + "retry", + "retryDelay", + "delay", + "shouldRetry", + "defaultScheduler", + "createNotifyManager", + "queue", + "transactions", + "notifyFn", + "batchNotifyFn", + "scheduleFn", + "schedule", + "flush", + "originalQueue", + "notifyManager", + "Removable", + "_gcTimeout", + "newGcTime", + "Query", + "_Query_instances", + "_initialState", + "_revertState", + "_cache", + "_client", + "_retryer", + "_defaultOptions", + "_abortSignalConsumed", + "getDefaultState", + "newData", + "__privateMethod", + "dispatch_fn", + "setStateOptions", + "promise", + "observer", + "abortController", + "addSignalProperty", + "object", + "fetchFn", + "queryFn", + "queryFnContext", + "context", + "onError", + "action", + "reducer", + "fetchState", + "hasData", + "initialDataUpdatedAt", + "QueryCache", + "_queries", + "queryHash", + "queryInMap", + "defaultedFilters", + "queries", + "Mutation", + "_Mutation_instances", + "_observers", + "_mutationCache", + "variables", + "onContinue", + "restored", + "isPaused", + "_f", + "_h", + "_g", + "_j", + "_l", + "_k", + "_n", + "_m", + "_p", + "_o", + "_r", + "_q", + "_t", + "_s", + "MutationCache", + "_mutations", + "_scopes", + "_mutationId", + "__privateWrapper", + "scope", + "scopeFor", + "scopedMutations", + "index", + "mutationsWithSameScope", + "firstPendingMutation", + "foundMutation", + "pausedMutations", + "infiniteQueryBehavior", + "pages", + "direction", + "oldPages", + "oldPageParams", + "currentPage", + "cancelled", + "fetchPage", + "param", + "previous", + "page", + "maxPages", + "addTo", + "pageParamFn", + "getPreviousPageParam", + "getNextPageParam", + "oldData", + "remainingPages", + "pageParams", + "lastIndex", + "QueryClient", + "_queryCache", + "_queryDefaults", + "_mutationDefaults", + "_mountCount", + "_unsubscribeFocus", + "_unsubscribeOnline", + "defaultedOptions", + "cachedData", + "queryCache", + "defaultedCancelOptions", + "promises", + "defaults", + "queryDefault", + "QueryObserver", + "_QueryObserver_instances", + "_currentQuery", + "_currentQueryInitialState", + "_currentResult", + "_currentResultState", + "_currentResultOptions", + "_currentThenable", + "_selectError", + "_selectFn", + "_selectResult", + "_lastQueryWithDefinedData", + "_staleTimeoutId", + "_refetchIntervalId", + "_currentRefetchInterval", + "_trackedProps", + "shouldFetchOnMount", + "executeFetch_fn", + "updateTimers_fn", + "shouldFetchOn", + "clearStaleTimeout_fn", + "clearRefetchInterval_fn", + "prevOptions", + "prevQuery", + "updateQuery_fn", + "mounted", + "shouldFetchOptionally", + "updateStaleTimeout_fn", + "nextRefetchInterval", + "computeRefetchInterval_fn", + "updateRefetchInterval_fn", + "shouldAssignObserverCurrentProperties", + "onPropTracked", + "prevResult", + "prevResultState", + "prevResultOptions", + "queryInitialState", + "newState", + "isPlaceholderData", + "fetchOnMount", + "fetchOptionally", + "errorUpdatedAt", + "skipSelect", + "placeholderData", + "selectError", + "isFetching", + "isPending", + "isError", + "isLoading", + "nextResult", + "isStale", + "finalizeThenableIfPossible", + "recreateThenable", + "pending", + "prevThenable", + "shouldNotifyListeners", + "notifyOnChangeProps", + "notifyOnChangePropsValue", + "includedProps", + "typedKey", + "notify_fn", + "nextInterval", + "notifyOptions", + "shouldLoadOnMount", + "field", + "optimisticResult", + "QueryClientContext", + "React.createContext", + "useQueryClient", + "queryClient", + "React.useContext", + "QueryClientProvider", + "children", + "jsx", + "IsRestoringContext", + "useIsRestoring", + "createValue", + "isReset", + "QueryErrorResetBoundaryContext", + "useQueryErrorResetBoundary", + "ensurePreventErrorBoundaryRetry", + "errorResetBoundary", + "useClearResetErrorBoundary", + "getHasError", + "suspense", + "ensureSuspenseTimers", + "originalStaleTime", + "willFetch", + "isRestoring", + "shouldSuspend", + "fetchOptimistic", + "useBaseQuery", + "Observer", + "isNewCacheEntry", + "shouldSubscribe", + "React.useSyncExternalStore", + "React.useCallback", + "onStoreChange", + "unsubscribe", + "useQuery", + "voidElements", + "warn", + "i18n", + "code", + "msg", + "rest", + "isString", + "alreadyWarned", + "warnOnce", + "loadedClb", + "initialized", + "loadNamespaces", + "ns", + "loadLanguages", + "lng", + "hasLoadedNamespace", + "i18nInstance", + "loadNotPending", + "getDisplayName", + "Component", + "isObject", + "matchHtmlEntity", + "htmlEntities", + "unescapeHtmlEntity", + "unescape", + "text", + "defaultOptions", + "setDefaults", + "getDefaults", + "setI18n", + "instance", + "getI18n", + "hasChildren", + "node", + "checkLength", + "base", + "getChildren", + "getAsArray", + "hasValidReactChildren", + "isValidElement", + "mergeProps", + "source", + "newTarget", + "nodesToString", + "i18nOptions", + "i18nKey", + "stringNode", + "childrenArray", + "keepArray", + "child", + "childIndex", + "props", + "childPropsCount", + "shouldKeepChild", + "childChildren", + "content", + "format", + "clone", + "renderNodes", + "targetString", + "combinedTOpts", + "shouldUnescape", + "emptyChildrenButNeedsHandling", + "keep", + "getData", + "childs", + "ast", + "HTML", + "renderInner", + "rootReactNode", + "mappedChildren", + "mapAST", + "pushTranslatedJSX", + "inner", + "mem", + "isVoid", + "cloneElement", + "Children", + "createElement", + "reactNode", + "astNode", + "reactNodes", + "translationContent", + "tmp", + "isElement", + "isValidTranslationWithChildren", + "isEmptyTransWithHTML", + "isKnownComponent", + "wrapTextNodes", + "fixComponentProps", + "component", + "translation", + "componentKey", + "comp", + "Componentized", + "Fragment", + "generateArrayComponents", + "components", + "generateObjectComponents", + "componentMap", + "generateComponents", + "Trans", + "count", + "parent", + "tOptions", + "values", + "i18nFromProps", + "tFromProps", + "additionalProps", + "reactI18nextOptions", + "namespaces", + "nodeAsString", + "defaultValue", + "hashTransKey", + "interpolationOverride", + "generatedComponents", + "useAsParent", + "initReactI18next", + "I18nContext", + "createContext", + "ReportNamespaces", + "i18nFromContext", + "defaultNSFromContext", + "useContext", + "TransWithoutContext", + "usePrevious", + "ignore", + "alwaysNewT", + "language", + "namespace", + "keyPrefix", + "useMemoizedT", + "useTranslation", + "notReadyT", + "optsOrDefaultValue", + "retNotReady", + "useSuspense", + "memoGetT", + "getT", + "getNewT", + "setT", + "joinedNS", + "previousJoinedNS", + "isMounted", + "bindI18n", + "bindI18nStore", + "boundReset", + "ret", + "withTranslation", + "WrappedComponent", + "I18nextWithTranslation", + "forwardedRef", + "passDownProps", + "forwardRef", + "forwardRefReact", + "defer", + "res", + "rej", + "makeString", + "lastOfPathSeparatorRegExp", + "cleanKey", + "canNotTraverseDeeper", + "getLastOfPath", + "path", + "Empty", + "stack", + "stackIndex", + "setPath", + "newValue", + "last", + "pushPath", + "concat", + "getPath", + "getPathWithDefaults", + "defaultData", + "deepExtend", + "overwrite", + "prop", + "regexEscape", + "str", + "_entityMap", + "RegExpCache", + "capacity", + "pattern", + "regExpFromCache", + "regExpNew", + "chars", + "looksLikeObjectPathRegExpCache", + "looksLikeObjectPath", + "nsSeparator", + "keySeparator", + "possibleChars", + "matched", + "deepFind", + "tokens", + "current", + "next", + "nextPath", + "getCleanedCode", + "consoleLogger", + "Logger", + "concreteLogger", + "lvl", + "prefix", + "debugOnly", + "moduleName", + "baseLogger", + "EventEmitter", + "events", + "numListeners", + "numTimesAdded", + "ResourceStore", + "ignoreJSONStructure", + "resources", + "deep", + "postProcessor", + "module", + "processors", + "translator", + "processor", + "checkedLoadedFor", + "shouldHandleAsObject", + "Translator", + "services", + "opt", + "resolved", + "wouldCheckForNsInKey", + "seemsNaturalLanguage", + "parts", + "lastKey", + "returnDetails", + "appendNamespaceToCIMode", + "resUsedKey", + "resExactUsedKey", + "noObject", + "joinArrays", + "handleAsObjectInI18nFormat", + "needsPluralHandling", + "hasDefaultValue", + "defaultValueSuffix", + "defaultValueSuffixOrdinalFallback", + "needsZeroSuffixLookup", + "resForObjHndl", + "handleAsObject", + "resType", + "resTypeIsArray", + "newKeyToUse", + "deepKey", + "usedDefault", + "usedKey", + "resForMissing", + "updateMissing", + "lngs", + "fallbackLngs", + "send", + "specificDefaultValue", + "defaultForMissing", + "suffixes", + "suffix", + "skipOnVariables", + "nestBef", + "nestAft", + "postProcess", + "postProcessorNames", + "found", + "exactUsedKey", + "usedLng", + "usedNS", + "extracted", + "needsContextHandling", + "codes", + "finalKeys", + "pluralSuffix", + "zeroSuffix", + "ordinalPrefix", + "contextKey", + "possibleKey", + "optionsKeys", + "useOptionsReplaceForData", + "option", + "LanguageUtil", + "formattedCode", + "cleanedLng", + "lngScOnly", + "lngOnly", + "supportedLng", + "fallbacks", + "fallbackCode", + "fallbackCodes", + "addCode", + "suffixesOrder", + "dummyRule", + "PluralResolver", + "languageUtils", + "cleanedCode", + "cacheKey", + "rule", + "lngPart", + "pluralCategory1", + "pluralCategory2", + "pluralCategory", + "deepFindWithDefaults", + "regexSafe", + "Interpolator", + "escape$1", + "escapeValue", + "useRawValueToEscape", + "prefixEscaped", + "suffixEscaped", + "formatSeparator", + "unescapeSuffix", + "unescapePrefix", + "nestingPrefix", + "nestingPrefixEscaped", + "nestingSuffix", + "nestingSuffixEscaped", + "nestingOptionsSeparator", + "maxReplaces", + "alwaysFormat", + "getOrResetRegExp", + "existingRegExp", + "match", + "replaces", + "handleFormat", + "missingInterpolationHandler", + "todo", + "matchedVar", + "temp", + "safeValue", + "clonedOptions", + "handleHasOptions", + "inheritedOptions", + "sep", + "optionsString", + "matchedSingleQuotes", + "matchedDoubleQuotes", + "formatters", + "doReduce", + "elem", + "parseFormatStr", + "formatStr", + "formatName", + "formatOptions", + "optStr", + "trimmedKey", + "createCachedFormatter", + "cache", + "optForCache", + "frm", + "createNonCachedFormatter", + "Formatter", + "formatter", + "formats", + "formatted", + "valOptions", + "removePending", + "Connector", + "backend", + "store", + "languages", + "toLoad", + "toLoadLanguages", + "toLoadNamespaces", + "hasAllNamespaces", + "loaded", + "loadedKeys", + "fcName", + "tried", + "wait", + "resolver", + "fallbackValue", + "isUpdate", + "clb", + "get", + "transformOptions", + "bindMemberFunctions", + "inst", + "I18n", + "defOpts", + "createClassOnDemand", + "ClassOrObject", + "lu", + "deferred", + "load", + "finish", + "usedCallback", + "append", + "lngInLngs", + "setLngProps", + "done", + "setLng", + "fixedT", + "resultKey", + "fallbackLng", + "lastLng", + "loadState", + "preResult", + "preloaded", + "newLngs", + "rtlLngs", + "forkResourceStore", + "mergedOptions", + "clonedData", + "prev", + "acc", + "translations", + "localeFiles", + "__vite_glob_0_0", + "__vite_glob_0_1", + "__vite_glob_0_2", + "__vite_glob_0_3", + "__vite_glob_0_4", + "__vite_glob_0_5", + "__vite_glob_0_6", + "__vite_glob_0_7", + "__vite_glob_0_8", + "__vite_glob_0_9", + "__vite_glob_0_10", + "__vite_glob_0_11", + "__vite_glob_0_12", + "__vite_glob_0_13", + "__vite_glob_0_14", + "__vite_glob_0_15", + "__vite_glob_0_16", + "__vite_glob_0_17", + "__vite_glob_0_18", + "__vite_glob_0_19", + "__vite_glob_0_20", + "__vite_glob_0_21", + "__vite_glob_0_22", + "__vite_glob_0_23", + "__vite_glob_0_24", + "__vite_glob_0_25", + "__vite_glob_0_26", + "__vite_glob_0_27", + "__vite_glob_0_28", + "__vite_glob_0_29", + "__vite_glob_0_30", + "__vite_glob_0_31", + "__vite_glob_0_32", + "__vite_glob_0_33", + "__vite_glob_0_34", + "__vite_glob_0_35", + "__vite_glob_0_36", + "__vite_glob_0_37", + "__vite_glob_0_38", + "__vite_glob_0_39", + "__vite_glob_0_40", + "__vite_glob_0_41", + "__vite_glob_0_42", + "__vite_glob_0_43", + "__vite_glob_0_44", + "__vite_glob_0_45", + "__vite_glob_0_46", + "__vite_glob_0_47", + "__vite_glob_0_48", + "__vite_glob_0_49", + "__vite_glob_0_50", + "__vite_glob_0_51", + "__vite_glob_0_52", + "__vite_glob_0_53", + "__vite_glob_0_54", + "__vite_glob_0_55", + "__vite_glob_0_56", + "__vite_glob_0_57", + "__vite_glob_0_58", + "__vite_glob_0_59", + "__vite_glob_0_60", + "__vite_glob_0_61", + "__vite_glob_0_62", + "__vite_glob_0_63", + "__vite_glob_0_64", + "__vite_glob_0_65", + "__vite_glob_0_66", + "__vite_glob_0_67", + "__vite_glob_0_68", + "__vite_glob_0_69", + "__vite_glob_0_70", + "__vite_glob_0_71", + "__vite_glob_0_72", + "__vite_glob_0_73", + "__vite_glob_0_74", + "__vite_glob_0_75", + "__vite_glob_0_76", + "__vite_glob_0_77", + "__vite_glob_0_78", + "__vite_glob_0_79", + "__vite_glob_0_80", + "__vite_glob_0_81", + "__vite_glob_0_82", + "__vite_glob_0_83", + "__vite_glob_0_84", + "__vite_glob_0_85", + "__vite_glob_0_86", + "__vite_glob_0_87", + "__vite_glob_0_88", + "__vite_glob_0_89", + "__vite_glob_0_90", + "__vite_glob_0_91", + "__vite_glob_0_92", + "__vite_glob_0_93", + "__vite_glob_0_94", + "__vite_glob_0_95", + "__vite_glob_0_96", + "__vite_glob_0_97", + "__vite_glob_0_98", + "__vite_glob_0_99", + "__vite_glob_0_100", + "__vite_glob_0_101", + "__vite_glob_0_102", + "__vite_glob_0_103", + "__vite_glob_0_104", + "__vite_glob_0_105", + "__vite_glob_0_106", + "__vite_glob_0_107", + "__vite_glob_0_108", + "__vite_glob_0_109", + "__vite_glob_0_110", + "__vite_glob_0_111", + "__vite_glob_0_112", + "__vite_glob_0_113", + "__vite_glob_0_114", + "__vite_glob_0_115", + "__vite_glob_0_116", + "__vite_glob_0_117", + "__vite_glob_0_118", + "__vite_glob_0_119", + "__vite_glob_0_120", + "__vite_glob_0_121", + "__vite_glob_0_122", + "__vite_glob_0_123", + "__vite_glob_0_124", + "__vite_glob_0_125", + "__vite_glob_0_126", + "__vite_glob_0_127", + "__vite_glob_0_128", + "__vite_glob_0_129", + "__vite_glob_0_130", + "__vite_glob_0_131", + "__vite_glob_0_132", + "__vite_glob_0_133", + "__vite_glob_0_134", + "__vite_glob_0_135", + "__vite_glob_0_136", + "__vite_glob_0_137", + "__vite_glob_0_138", + "__vite_glob_0_139", + "__vite_glob_0_140", + "__vite_glob_0_141", + "__vite_glob_0_142", + "__vite_glob_0_143", + "__vite_glob_0_144", + "__vite_glob_0_145", + "__vite_glob_0_146", + "__vite_glob_0_147", + "__vite_glob_0_148", + "__vite_glob_0_149", + "__vite_glob_0_150", + "__vite_glob_0_151", + "__vite_glob_0_152", + "__vite_glob_0_153", + "__vite_glob_0_154", + "__vite_glob_0_155", + "__vite_glob_0_156", + "__vite_glob_0_157", + "__vite_glob_0_158", + "__vite_glob_0_159", + "__vite_glob_0_160", + "__vite_glob_0_161", + "__vite_glob_0_162", + "__vite_glob_0_163", + "__vite_glob_0_164", + "__vite_glob_0_165", + "__vite_glob_0_166", + "__vite_glob_0_167", + "__vite_glob_0_168", + "__vite_glob_0_169", + "__vite_glob_0_170", + "__vite_glob_0_171", + "__vite_glob_0_172", + "__vite_glob_0_173", + "__vite_glob_0_174", + "__vite_glob_0_175", + "__vite_glob_0_176", + "__vite_glob_0_177", + "__vite_glob_0_178", + "__vite_glob_0_179", + "i18next", + "loadTranslations", + "lang", + "util", + "assertIs", + "_arg", + "assertNever", + "_x", + "validKeys", + "filtered", + "arr", + "checker", + "joinValues", + "separator", + "objectUtil", + "first", + "second", + "ZodParsedType", + "getParsedType", + "ZodIssueCode", + "ZodError", + "issues", + "sub", + "subs", + "actualProto", + "_mapper", + "mapper", + "issue", + "fieldErrors", + "processError", + "curr", + "formErrors", + "errorMap", + "_ctx", + "message", + "overrideErrorMap", + "defaultErrorMap", + "getErrorMap", + "makeIssue", + "errorMaps", + "issueData", + "fullPath", + "fullIssue", + "errorMessage", + "maps", + "map", + "addIssueToContext", + "ctx", + "overrideMap", + "ParseStatus", + "results", + "arrayValue", + "INVALID", + "pairs", + "syncPairs", + "pair", + "finalObject", + "DIRTY", + "OK", + "isAborted", + "isDirty", + "isValid", + "isAsync", + "errorUtil", + "ParseInputLazyPath", + "handleResult", + "processCreateParams", + "invalid_type_error", + "required_error", + "description", + "iss", + "ZodType", + "maybeAsyncResult", + "check", + "getIssueProperties", + "setError", + "refinementData", + "refinement", + "ZodEffects", + "ZodFirstPartyTypeKind", + "def", + "ZodOptional", + "ZodNullable", + "ZodArray", + "ZodPromise", + "ZodUnion", + "incoming", + "ZodIntersection", + "transform", + "defaultValueFunc", + "ZodDefault", + "ZodBranded", + "catchValueFunc", + "ZodCatch", + "This", + "ZodPipeline", + "ZodReadonly", + "cuidRegex", + "cuid2Regex", + "ulidRegex", + "uuidRegex", + "nanoidRegex", + "jwtRegex", + "durationRegex", + "emailRegex", + "_emojiRegex", + "emojiRegex", + "ipv4Regex", + "ipv4CidrRegex", + "ipv6Regex", + "ipv6CidrRegex", + "base64Regex", + "base64urlRegex", + "dateRegexSource", + "dateRegex", + "timeRegexSource", + "secondsRegexSource", + "secondsQuantifier", + "timeRegex", + "datetimeRegex", + "regex", + "isValidIP", + "ip", + "version", + "isValidJWT", + "jwt", + "alg", + "header", + "base64", + "decoded", + "isValidCidr", + "ZodString", + "tooBig", + "tooSmall", + "validation", + "minLength", + "maxLength", + "len", + "min", + "floatSafeRemainder", + "step", + "valDecCount", + "stepDecCount", + "decCount", + "valInt", + "stepInt", + "ZodNumber", + "kind", + "inclusive", + "ZodBigInt", + "ZodBoolean", + "ZodDate", + "minDate", + "maxDate", + "ZodSymbol", + "ZodUndefined", + "ZodNull", + "ZodAny", + "ZodUnknown", + "ZodNever", + "ZodVoid", + "schema", + "deepPartialify", + "ZodObject", + "newShape", + "fieldSchema", + "ZodTuple", + "shape", + "shapeKeys", + "extraKeys", + "keyValidator", + "unknownKeys", + "catchall", + "defaultError", + "augmentation", + "merging", + "mask", + "newField", + "createZodEnum", + "handleResults", + "unionErrors", + "childCtx", + "dirty", + "types", + "getDiscriminator", + "ZodLazy", + "ZodLiteral", + "ZodEnum", + "ZodNativeEnum", + "ZodDiscriminatedUnion", + "discriminator", + "discriminatorValue", + "optionsMap", + "discriminatorValues", + "mergeValues", + "aType", + "bType", + "bKeys", + "sharedKeys", + "newObj", + "sharedValue", + "newArray", + "itemA", + "itemB", + "handleParsed", + "parsedLeft", + "parsedRight", + "merged", + "left", + "right", + "itemIndex", + "schemas", + "ZodRecord", + "keyType", + "valueType", + "third", + "ZodMap", + "finalMap", + "ZodSet", + "finalizeSet", + "elements", + "parsedSet", + "minSize", + "maxSize", + "getter", + "expectedValues", + "enumValues", + "newDef", + "nativeEnumValues", + "promisified", + "checkCtx", + "arg", + "processed", + "executeRefinement", + "preprocess", + "newCtx", + "ZodNaN", + "inResult", + "freeze", + "stringType", + "numberType", + "booleanType", + "undefinedType", + "anyType", + "unknownType", + "arrayType", + "objectType", + "unionType", + "discriminatedUnionType", + "tupleType", + "recordType", + "literalType", + "enumType", + "reasoningEfforts", + "reasoningEffortsSchema", + "z.enum", + "modelParameters", + "modelParametersSchema", + "modelInfoSchema", + "z.object", + "z.number", + "z.boolean", + "z.array", + "z.string", + "CODEBASE_INDEX_DEFAULTS", + "codebaseIndexConfigSchema", + "codebaseIndexModelsSchema", + "z.record", + "codebaseIndexProviderSchema", + "providerNames", + "providerNamesSchema", + "providerSettingsEntrySchema", + "DEFAULT_CONSECUTIVE_MISTAKE_LIMIT", + "baseProviderSettingsSchema", + "apiModelIdProviderModelSchema", + "anthropicSchema", + "claudeCodeSchema", + "glamaSchema", + "openRouterSchema", + "bedrockSchema", + "vertexSchema", + "openAiSchema", + "ollamaSchema", + "vsCodeLmSchema", + "lmStudioSchema", + "geminiSchema", + "geminiCliSchema", + "openAiNativeSchema", + "mistralSchema", + "deepSeekSchema", + "doubaoSchema", + "moonshotSchema", + "z.union", + "z.literal", + "unboundSchema", + "requestySchema", + "humanRelaySchema", + "fakeAiSchema", + "z.unknown", + "xaiSchema", + "groqSchema", + "huggingFaceSchema", + "chutesSchema", + "litellmSchema", + "cerebrasSchema", + "sambaNovaSchema", + "zaiSchema", + "fireworksSchema", + "defaultSchema", + "z.undefined", + "providerSettingsSchemaDiscriminated", + "z.discriminatedUnion", + "providerSettingsSchema", + "discriminatedProviderSettingsWithIdSchema", + "PROVIDER_SETTINGS_KEYS", + "historyItemSchema", + "experimentIds", + "experimentsSchema", + "clineAsks", + "clineAskSchema", + "clineSays", + "clineSaySchema", + "toolProgressStatusSchema", + "contextCondenseSchema", + "clineMessageSchema", + "tokenUsageSchema", + "telemetrySettings", + "telemetrySettingsSchema", + "TelemetryEventName", + "appPropertiesSchema", + "taskPropertiesSchema", + "gitPropertiesSchema", + "telemetryPropertiesSchema", + "toolGroups", + "toolGroupsSchema", + "toolNames", + "toolNamesSchema", + "toolUsageSchema", + "groupOptionsSchema", + "groupEntrySchema", + "z.tuple", + "groupEntryArraySchema", + "groups", + "seen", + "group", + "groupName", + "modeConfigSchema", + "modes", + "slugs", + "mode", + "promptComponentSchema", + "customModePromptsSchema", + "customSupportPromptsSchema", + "DEFAULT_MODES", + "languagesSchema", + "globalSettingsSchema", + "GLOBAL_SETTINGS_KEYS", + "rooCodeSettingsSchema", + "SECRET_STATE_KEYS", + "mcpParameterSchema", + "mcpInstallationMethodSchema", + "baseMarketplaceItemSchema", + "modeMarketplaceItemSchema", + "mcpMarketplaceItemSchema", + "z.any", + "organizationAllowListSchema", + "organizationDefaultSettingsSchema", + "organizationCloudSettingsSchema", + "ORGANIZATION_ALLOW_ALL", + "rooCodeEventsSchema", + "taskEventSchema", + "suggestionItemSchema", + "ackSchema", + "taskCommandSchema", + "mcpExecutionStatusSchema", + "todoStatusSchema", + "commandExecutionStatusSchema", + "anthropicDefaultModelId", + "anthropicModels", + "ANTHROPIC_DEFAULT_MAX_TOKENS", + "bedrockDefaultModelId", + "bedrockModels", + "BEDROCK_REGIONS", + "cerebrasDefaultModelId", + "cerebrasModels", + "chutesDefaultModelId", + "chutesModels", + "claudeCodeDefaultModelId", + "CLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS", + "claudeCodeModels", + "deepSeekDefaultModelId", + "deepSeekModels", + "geminiDefaultModelId", + "geminiModels", + "glamaDefaultModelId", + "groqDefaultModelId", + "groqModels", + "litellmDefaultModelId", + "mistralDefaultModelId", + "mistralModels", + "moonshotDefaultModelId", + "moonshotModels", + "openAiNativeDefaultModelId", + "openAiNativeModels", + "openAiModelInfoSaneDefaults", + "azureOpenAiDefaultApiVersion", + "openRouterDefaultModelId", + "requestyDefaultModelId", + "sambaNovaDefaultModelId", + "sambaNovaModels", + "unboundDefaultModelId", + "vertexDefaultModelId", + "vertexModels", + "VERTEX_REGIONS", + "vscodeLlmDefaultModelId", + "vscodeLlmModels", + "xaiDefaultModelId", + "xaiModels", + "doubaoDefaultModelId", + "doubaoModels", + "internationalZAiDefaultModelId", + "internationalZAiModels", + "mainlandZAiDefaultModelId", + "mainlandZAiModels", + "fireworksDefaultModelId", + "fireworksModels", + "findLastIndex", + "findLast", + "checkExistKey", + "hasSecretKey", + "hasOtherConfig", + "LANGUAGES", + "EXPERIMENT_IDS", + "experimentConfigsMap", + "experimentDefault", + "TOOL_GROUPS", + "defaultModeSlug", + "getModeBySlug", + "slug", + "customModes", + "customMode", + "getAllModes", + "allModes", + "findModeBySlug", + "defaultPrompts", + "getRoleDefinition", + "modeSlug", + "getDescription", + "getWhenToUse", + "getCustomInstructions", + "VSCodeAPIWrapper", + "vscode", + "hljsToTextMate", + "constructTheme", + "tmTheme", + "rules", + "tokenToForeground", + "token", + "foreground", + "theme", + "className", + "fallbackTheme", + "backgroundColor", + "parseHexColor", + "convertTextMateToHljs", + "fullColorTheme", + "hexColor", + "ExtensionStateContext", + "mergeExtensionState", + "prevState", + "prevCustomModePrompts", + "prevExperiments", + "prevRest", + "apiConfiguration", + "newCustomModePrompts", + "customSupportPrompts", + "newExperiments", + "newRest", + "customModePrompts", + "experiments", + "ExtensionStateContextProvider", + "didHydrateState", + "setDidHydrateState", + "showWelcome", + "setShowWelcome", + "setTheme", + "filePaths", + "setFilePaths", + "openedTabs", + "setOpenedTabs", + "commands", + "setCommands", + "mcpServers", + "setMcpServers", + "currentCheckpoint", + "setCurrentCheckpoint", + "extensionRouterModels", + "setExtensionRouterModels", + "marketplaceItems", + "setMarketplaceItems", + "alwaysAllowFollowupQuestions", + "setAlwaysAllowFollowupQuestions", + "followupAutoApproveTimeoutMs", + "setFollowupAutoApproveTimeoutMs", + "marketplaceInstalledMetadata", + "setMarketplaceInstalledMetadata", + "includeTaskHistoryInEnhance", + "setIncludeTaskHistoryInEnhance", + "setListApiConfigMeta", + "setApiConfiguration", + "handleMessage", + "paths", + "tabs", + "clineMessage", + "newClineMessages", + "contextValue", + "configId", + "currentPinned", + "newPinned", + "useExtensionState", + "TranslationContext", + "TranslationProvider", + "extensionState", + "translate", + "useAppTranslation", + "MarketplaceViewStateManager", + "allItems", + "organizationMcps", + "displayItems", + "displayOrganizationMcps", + "tags", + "preserveTab", + "currentTab", + "safeState", + "transition", + "newDisplayItems", + "newDisplayOrganizationMcps", + "activeTab", + "tab", + "updatedFilters", + "search", + "itemCopy", + "typeMatch", + "nameMatch", + "descriptionMatch", + "tagMatch", + "tag", + "isOnMcpTab", + "hasCurrentItems", + "orgMcps", + "$", + "tt", + "it", + "et", + "rt", + "st", + "nt", + "ot", + "at", + "lt", + "ht", + "ut", + "dt", + "vt", + "ct", + "ft", + "pt", + "gt", + "mt", + "bt", + "wt", + "yt", + "St", + "$t", + "kt", + "xt", + "Et", + "It", + "Pt", + "Rt", + "Tt", + "Mt", + "Ct", + "Ot", + "Ft", + "At", + "Dt", + "jt", + "Lt", + "Nt", + "zt", + "Ut", + "qt", + "Bt", + "Ht", + "Wt", + "Gt", + "Jt", + "Vt", + "Kt", + "Yt", + "Xt", + "Qt", + "Zt", + "ne$2", + "je$2", + "Qe$2", + "tr", + "ir", + "er", + "rr", + "sr", + "nr", + "or", + "lr", + "hr", + "ur", + "dr", + "vr", + "cr", + "fr", + "pr", + "gr", + "mr", + "br", + "wr", + "yr", + "Sr", + "$r", + "kr", + "xr", + "Er", + "Ir", + "Pr", + "Rr", + "Tr", + "Mr", + "Cr", + "Or", + "Fr", + "Ar", + "Dr", + "jr", + "Lr", + "Nr", + "zr", + "Ur", + "qr", + "Br", + "Hr", + "Wr", + "Gr", + "Jr", + "Vr$1", + "Kr$1", + "Yr", + "Xr", + "Qr", + "Zr", + "ts", + "is", + "Vr", + "es", + "Kr", + "rs", + "ss", + "os", + "as", + "ls", + "hs", + "us", + "ds", + "vs", + "cs", + "fs", + "ps", + "gs", + "bs", + "ws", + "ys", + "Ss", + "$s", + "ks", + "xs", + "Es", + "Is", + "Ps", + "Rs", + "Ts", + "Ms", + "Cs", + "Os", + "Fs", + "As", + "Ds", + "js", + "Ls", + "Ns", + "zs", + "Us", + "qs", + "Bs", + "Hs", + "Ws", + "Gs", + "Js", + "Vs", + "Ks", + "Ys", + "Xs", + "Qs", + "Zs", + "tn", + "en", + "rn", + "sn", + "nn", + "an", + "ln", + "hn", + "un", + "dn", + "vn", + "cn", + "pn", + "gn", + "mn", + "bn", + "wn", + "yn", + "Sn", + "$n", + "kn", + "xn", + "En", + "In", + "Pn", + "Rn", + "Tn", + "Mn", + "Cn", + "On", + "Fn", + "An", + "Dn", + "jn", + "Ln", + "Nn", + "zn", + "Un", + "qn", + "Bn", + "Hn", + "Wn", + "Gn", + "Jn", + "Vn", + "Kn", + "Yn", + "Xn", + "Qn$1", + "Zn", + "to$2", + "io$1", + "eo", + "ro$1", + "ro", + "io", + "so", + "no$2", + "oo$1", + "no", + "ao", + "lo$2", + "ho", + "uo$2", + "vo", + "co", + "fo", + "po", + "go", + "mo", + "bo", + "wo$2", + "yo", + "So$2", + "$o$1", + "ko", + "xo$1", + "Eo", + "Io$1", + "Po", + "Ro", + "To$1", + "Mo", + "Co", + "Oo", + "Fo", + "Ao", + "Do", + "jo$1", + "Lo", + "No", + "zo", + "Uo", + "qo", + "Bo", + "Ho", + "Wo", + "Go$1", + "Jo$1", + "Jo", + "Go", + "Qn", + "$o", + "oo", + "lo", + "jo", + "wo", + "So", + "Io", + "xo", + "To", + "uo", + "Vo", + "Ko", + "Yo", + "Xo", + "Qo", + "Zo", + "_TelemetryClient", + "telemetrySetting", + "apiKey", + "distinctId", + "posthog", + "eventName", + "properties", + "TelemetryClient", + "telemetryClient", + "root", + "factory", + "this", + "_isNumber", + "_capitalize", + "_getter", + "booleanProps", + "numericProps", + "stringProps", + "arrayProps", + "objectProps", + "StackFrame", + "fileName", + "lineNumber", + "columnNumber", + "functionName", + "argsStartIndex", + "argsEndIndex", + "locationString", + "FIREFOX_SAFARI_STACK_REGEXP", + "CHROME_IE_STACK_REGEXP", + "SAFARI_NATIVE_CODE_REGEXP", + "urlLike", + "regExp", + "line", + "sanitizedLine", + "location", + "locationParts", + "functionNameRegex", + "matches", + "lineRE", + "lines", + "functionCall", + "argsRaw", + "maxStackSize", + "getArg", + "aArgs", + "aName", + "aDefaultValue", + "urlRegexp", + "dataUrlRegexp", + "urlParse", + "aUrl", + "urlGenerate", + "aParsedUrl", + "url", + "normalize", + "aPath", + "isAbsolute", + "part", + "up", + "join", + "aRoot", + "aPathUrl", + "aRootUrl", + "joined", + "relative", + "level", + "supportsNullProto", + "identity", + "toSetString", + "aStr", + "isProtoString", + "fromSetString", + "compareByOriginalPositions", + "mappingA", + "mappingB", + "onlyCompareOriginal", + "cmp", + "compareByGeneratedPositionsDeflated", + "onlyCompareGenerated", + "strcmp", + "aStr1", + "aStr2", + "compareByGeneratedPositionsInflated", + "recursiveSearch", + "aLow", + "aHigh", + "aNeedle", + "aHaystack", + "aCompare", + "aBias", + "mid", + "has", + "ArraySet", + "aArray", + "aAllowDuplicates", + "sStr", + "isDuplicate", + "idx", + "aIdx", + "arraySet", + "intToCharMap", + "number", + "charCode", + "bigA", + "bigZ", + "littleA", + "littleZ", + "zero", + "nine", + "plus", + "slash", + "littleOffset", + "numberOffset", + "VLQ_BASE_SHIFT", + "VLQ_BASE", + "VLQ_BASE_MASK", + "VLQ_CONTINUATION_BIT", + "toVLQSigned", + "aValue", + "fromVLQSigned", + "isNegative", + "shifted", + "base64Vlq", + "encoded", + "digit", + "vlq", + "aIndex", + "aOutParam", + "strLen", + "shift", + "continuation", + "swap", + "ary", + "randomIntInRange", + "low", + "high", + "doQuickSort", + "comparator", + "pivotIndex", + "pivot", + "quickSort", + "binarySearch", + "require$$2", + "base64VLQ", + "require$$3", + "require$$4", + "SourceMapConsumer", + "aSourceMap", + "sourceMap", + "IndexedSourceMapConsumer", + "BasicSourceMapConsumer", + "aSourceRoot", + "aCallback", + "aContext", + "aOrder", + "order", + "mappings", + "sourceRoot", + "mapping", + "needle", + "originalLine", + "originalColumn", + "sourceMapConsumer", + "sources", + "names", + "sourcesContent", + "file", + "smc", + "generatedMappings", + "destGeneratedMappings", + "destOriginalMappings", + "srcMapping", + "destMapping", + "Mapping", + "generatedLine", + "previousGeneratedColumn", + "previousOriginalLine", + "previousOriginalColumn", + "previousSource", + "previousName", + "cachedSegments", + "originalMappings", + "segment", + "end", + "aMappings", + "aLineName", + "aColumnName", + "aComparator", + "nextMapping", + "aSource", + "nullOnMissing", + "fileUriAbsPath", + "sections", + "lastOffset", + "offset", + "offsetLine", + "offsetColumn", + "sectionIndex", + "section", + "generatedPosition", + "sectionMappings", + "adjustedMapping", + "SourceMap", + "_xdr", + "req", + "_atob", + "b64str", + "_parseJson", + "string", + "_findFunctionName", + "syntaxes", + "maxLines", + "commentPos", + "_ensureSupportedEnvironment", + "_ensureStackFrameIsLegit", + "stackframe", + "_findSourceMappingURL", + "sourceMappingUrlRegExp", + "lastSourceMappingUrl", + "matchSourceMappingUrl", + "_extractLocationInfoFromSourceMapSource", + "sourceCache", + "loc", + "mappedSource", + "StackTraceGPS", + "isDataUrl", + "supportedEncodingRegexp", + "sourceMapStart", + "encodedSource", + "xhrPromise", + "sourceMappingURL", + "defaultSourceRoot", + "sourceMapConsumerPromise", + "sourceMapSource", + "mappedStackFrame", + "resolveMappedStackFrame", + "guessedFunctionName", + "ErrorStackParser", + "StackGenerator", + "_options", + "_generateError", + "_merge", + "_isShapedLikeParsableError", + "_filtered", + "stackframes", + "filter", + "gps", + "resolveOriginal", + "stackFrames", + "errback", + "thisArg", + "instrumented", + "errorMsg", + "requestOptions", + "headers", + "reportPayload", + "applySourceMapsToStack", + "tempError", + "StackTrace.fromError", + "mappedFrames", + "applySourceMapsToComponentStack", + "componentStack", + "componentName", + "syntheticError", + "mappedFileName", + "mappedLineNumber", + "mappedColumnNumber", + "enhanceErrorWithSourceMaps", + "stackPromise", + "componentStackPromise", + "sourceMappedStack", + "sourceMappedComponentStack", + "mapError", + "initializeSourceMaps", + "enhancedError", + "scripts", + "script", + "possibleMapUrls", + "mapUrl", + "link", + "response", + "sourceMappingURLMatch", + "scriptUrlObj", + "baseUrl", + "fullUrl", + "exposeSourceMapsForDebugging", + "enhanced", + "scriptUrl", + "originalFileName", + "debounce", + "function_", + "immediate", + "storedContext", + "storedArguments", + "timeoutId", + "timestamp", + "callContext", + "callArguments", + "later", + "debounced", + "arguments_", + "callNow", + "debounceModule", + "removeMarkdown", + "output", + "htmlReplaceRegex", + "joinedHtmlTagsToSkip", + "$global", + "propConfig", + "FAST", + "storage", + "initialize", + "emptyArray", + "createMetadataLocator", + "metadataLookup", + "metadata", + "currentTarget", + "updateQueue", + "tasks", + "pendingErrors", + "throwFirstError", + "tryRunTask", + "task", + "process", + "scan", + "newLength", + "enqueue", + "callable", + "fastHTMLPolicy", + "html", + "htmlPolicy", + "marker", + "_interpolationStart", + "_interpolationEnd", + "DOM", + "policy", + "attributeName", + "fragment", + "SubscriberSet", + "initialSubscriber", + "subscriber", + "spillover", + "sub1", + "sub2", + "PropertyChangeNotifier", + "propertyName", + "subscribers", + "propertyToWatch", + "propertyToUnwatch", + "Observable", + "volatileRegex", + "notifierLookup", + "queueUpdate", + "watcher", + "createArrayObserver", + "getNotifier", + "getAccessors", + "DefaultObservableAccessor", + "oldValue", + "BindingObserverImplementation", + "binding", + "isVolatileBinding", + "previousWatcher", + "propertySource", + "notifier", + "prevValue", + "nameOrAccessor", + "observable", + "volatile", + "descriptor", + "contextEvent", + "ExecutionContext", + "defaultExecutionContext", + "HTMLDirective", + "TargetedHTMLDirective", + "AttachedBehaviorHTMLDirective", + "behavior", + "normalBind", + "triggerBind", + "normalUnbind", + "contentUnbind", + "view", + "triggerUnbind", + "updateAttributeTarget", + "updateBooleanAttributeTarget", + "updateContentTarget", + "updatePropertyTarget", + "updateClassTarget", + "classVersions", + "currentName", + "HTMLBindingDirective", + "BindingBehavior", + "isBindingVolatile", + "bind", + "unbind", + "updateTarget", + "targetName", + "sharedContext", + "CompilationContext", + "directive", + "directives", + "shareable", + "createAggregateBinding", + "partCount", + "finalParts", + "interpolationEndLength", + "parseContent", + "valueParts", + "bindingParts", + "literal", + "directiveIndex", + "compileAttributes", + "includeBasicValues", + "attributes", + "attr", + "attrValue", + "parseResult", + "compileContent", + "walker", + "lastNode", + "currentPart", + "currentNode", + "compileTemplate", + "template", + "hostBehaviorFactories", + "targetOffset", + "viewBehaviorFactories", + "range", + "HTMLView", + "behaviors", + "parentNode", + "oldSource", + "views", + "ViewTemplate", + "hostBindingTarget", + "fec", + "viewFactories", + "behaviorIndex", + "targetIndex", + "factoryIndex", + "hostFactories", + "host", + "lastAttributeNameRegex", + "strings", + "currentString", + "ElementStyles", + "styleSheetCache", + "styles", + "AdoptedStyleSheetsStyles", + "StyleElementStyles", + "reduceStyles", + "reduceBehaviors", + "prependToAdoptedStyleSheetsSymbol", + "separateSheetsToPrepend", + "sheets", + "prepend", + "addAdoptedStyleSheets", + "removeAdoptedStyleSheets", + "sheet", + "styleClassId", + "getNextStyleClass", + "styleSheets", + "styleClass", + "AttributeConfiguration", + "booleanConverter", + "nullableNumberConverter", + "AttributeDefinition", + "Owner", + "attribute", + "converter", + "guards", + "latestValue", + "attributeLists", + "list", + "configOrTarget", + "decorator", + "$target", + "$prop", + "defaultShadowOptions", + "defaultElementOptions", + "fastRegistry", + "typeToDefinition", + "definition", + "FASTElementDefinition", + "nameOrConfig", + "observedAttributes", + "propertyLookup", + "attributeLookup", + "registry", + "proto", + "shadowRoots", + "defaultEventOptions", + "getShadowRoot", + "Controller", + "shadowOptions", + "shadowRoot", + "accessors", + "boundObservables", + "sourceBehaviors", + "targetBehaviors", + "behaviorsToBind", + "force", + "behaviorsToUnbind", + "attrDef", + "detail", + "propertyNames", + "controller", + "createFASTElement", + "BaseType", + "FASTElement", + "nameOrDef", + "CSSDirective", + "collectStyles", + "cssString", + "css", + "elementStyles", + "newSplice", + "removed", + "addedCount", + "EDIT_LEAVE", + "EDIT_UPDATE", + "EDIT_ADD", + "EDIT_DELETE", + "calcEditDistances", + "currentStart", + "currentEnd", + "old", + "oldStart", + "oldEnd", + "rowCount", + "columnCount", + "distances", + "north", + "west", + "spliceOperationsFromEditDistances", + "edits", + "northWest", + "sharedPrefix", + "searchLength", + "sharedSuffix", + "index1", + "index2", + "intersect", + "start1", + "end1", + "start2", + "end2", + "calcSplices", + "prefixCount", + "suffixCount", + "splice", + "ops", + "splices", + "oldIndex", + "$push", + "mergeSplice", + "inserted", + "insertionOffset", + "intersectCount", + "deleteCount", + "currentRemoved", + "createInitialSplices", + "changeRecords", + "record", + "projectArraySplices", + "initialSplices", + "arrayObservationEnabled", + "adjustIndex", + "changeRecord", + "arrayLength", + "ArrayObserver", + "oldCollection", + "finalSplices", + "enableArrayObservation", + "collection", + "pop", + "push", + "reverse", + "sort", + "unshift", + "notEmpty", + "methodCallResult", + "oldArray", + "RefBehavior", + "isFunction", + "noTemplate", + "normalizeBinding", + "when", + "templateOrTemplateBinding", + "elseTemplateOrTemplateBinding", + "dataBinding", + "templateBinding", + "elseBinding", + "bindWithoutPositioning", + "bindWithPositioning", + "childContext", + "RepeatBehavior", + "itemsBinding", + "isItemsBindingVolatile", + "isTemplateBindingVolatile", + "oldObserver", + "newObserver", + "hasNewObserver", + "bindView", + "recycle", + "leftoverViews", + "leftoverIndex", + "availableViews", + "removeIndex", + "addIndex", + "removedViews", + "totalAvailableViews", + "neighbor", + "currentContext", + "templateChanged", + "itemsLength", + "viewsLength", + "RepeatDirective", + "selector", + "NodeObservationBehavior", + "nodes", + "SlottedBehavior", + "slotted", + "propertyOrOptions", + "ChildrenBehavior", + "StartEnd", + "endSlotTemplate", + "startSlotTemplate", + "metadataByTarget", + "ResolverBuilder", + "container", + "cacheCallbackResult", + "destinationKey", + "strategy", + "ResolverImpl", + "cloneArrayWithPossibleProps", + "isArrayIndex", + "DefaultResolver", + "ContainerConfiguration", + "dependencyLookup", + "getParamTypes", + "Type", + "rootDOMContainer", + "DI", + "ContainerImpl", + "owned", + "DILocateParentEventType", + "annotationParamtypes", + "dependencies", + "inject", + "designParamtypes", + "Proto", + "auAnnotationParamtype", + "respectConnection", + "diPropertyKey", + "handleChange", + "nameConfigOrCallback", + "configuror", + "configure", + "friendlyName", + "defaultFriendlyName", + "Interface", + "property", + "dep", + "Registration", + "defaultSingletonOptions", + "Container", + "requestor", + "containerGetKey", + "transformInstance", + "FactoryImpl", + "dynamicDependencies", + "transformer", + "containerResolver", + "isRegistry", + "isSelfRegistry", + "isRegisterInRequester", + "isClass", + "InstrinsicTypeNames", + "factories", + "owner", + "validateKey", + "resolvers", + "autoRegister", + "searchAncestors", + "resolutions", + "buildAllResponse", + "isNativeFunction", + "keyAsValue", + "registrationResolver", + "newResolver", + "fun", + "originalKey", + "aliasKey", + "lookup", + "isNative", + "sourceText", + "isNumericLookup", + "presentationKeyFromTag", + "tagName", + "presentationRegistry", + "ComponentPresentation", + "presentation", + "existing", + "DefaultComponentPresentation", + "FoundationElement", + "elementDefinition", + "overrideDefinition", + "FoundationElementRegistry", + "resolveOption", + "applyMixins", + "derivedCtor", + "baseCtors", + "derivedAttributes", + "baseCtor", + "Orientation", + "canUseDOM", + "isHTMLElement", + "getNonce", + "_canUseFocusVisible", + "canUseFocusVisible", + "styleElement", + "styleNonce", + "eventFocus", + "eventFocusIn", + "eventFocusOut", + "eventKeyDown", + "KeyCodes", + "keyArrowDown", + "keyArrowLeft", + "keyArrowRight", + "keyArrowUp", + "keyEnter", + "keyEscape", + "keyHome", + "keyEnd", + "keyFunction2", + "keyPageDown", + "keyPageUp", + "keySpace", + "keyTab", + "ArrowKeys", + "Direction", + "limit", + "inRange", + "uniqueIdCounter", + "uniqueId", + "anchorTemplate", + "ARIAGlobalStatesAndProperties", + "Anchor", + "DelegatesARIALink", + "getDirection", + "rootNode", + "dirNode", + "badgeTemplate", + "fill", + "color", + "Badge", + "buttonTemplate", + "proxySlotName", + "ElementInternalsKey", + "supportsElementInternals", + "InternalsMap", + "FormAssociated", + "BaseCtor", + "parentLabels", + "forLabels", + "labels", + "internals", + "flags", + "anchor", + "disabled", + "defaultButton", + "CheckableFormAssociated", + "_Button", + "FormAssociatedButton", + "attached", + "span", + "Button", + "DelegatesARIAButton", + "GenerateHeaderOptions", + "DataGridCellTypes", + "DataGridRowTypes", + "newFocusColumnIndex", + "DataGridRow", + "createRowItemTemplate", + "rowTag", + "dataGridTemplate", + "rowItemTemplate", + "DataGrid", + "rowIndex", + "columnIndex", + "scrollIntoView", + "focusRowIndex", + "cells", + "focusColumnIndex", + "focusTarget", + "mutations", + "newNode", + "newGridTemplateColumns", + "firstRow", + "thisRow", + "columnDefinitions", + "templateColumns", + "column", + "focusRow", + "newFocusRowIndex", + "maxIndex", + "currentGridBottom", + "lastRow", + "stickyHeaderOffset", + "generatedHeaderElement", + "row", + "defaultCellContentsTemplate", + "defaultHeaderCellContentsTemplate", + "DataGridCell", + "createCellItemTemplate", + "cellTag", + "createHeaderCellItemTemplate", + "dataGridRowTemplate", + "cellItemTemplate", + "headerCellItemTemplate", + "dataGridCellTemplate", + "checkboxTemplate", + "_Checkbox", + "FormAssociatedCheckbox", + "Checkbox", + "isListboxOption", + "ListboxOption", + "defaultSelected", + "selected", + "DelegatesARIAListboxOption", + "Listbox", + "captured", + "optionToFocus", + "potentialDirection", + "nextSelectableOption", + "thisOption", + "selectableIndex", + "newNext", + "filteredNext", + "typeaheadMatches", + "selectedIndex", + "DelegatesARIAListbox", + "SelectPosition", + "composedParent", + "composedContains", + "reference", + "test", + "defaultElement", + "isFastElement", + "QueuedStyleSheetTarget", + "ConstructableStyleSheetTarget", + "DocumentStyleSheetTarget", + "HeadStyleElementStyleSheetTarget", + "StyleElementStyleSheetTarget", + "ElementStyleSheetTarget", + "RootStyleSheetTarget", + "PropertyTargetManager", + "roots", + "propertyTargetCache", + "propertyTargetCtor", + "DesignTokenImpl", + "configuration", + "DesignTokenNode", + "subscriberSet", + "CustomPropertyReflector", + "DesignTokenBindingObserver", + "Store", + "nodeCache", + "childToParent", + "start", + "reflecting", + "parentValue", + "sourceValue", + "raw", + "upstream", + "reParent", + "deleted", + "create", + "DesignToken", + "ElementDisambiguation", + "elementTypesByTag", + "elementTagsByType", + "rootDesignSystem", + "designSystemKey", + "DefaultDesignSystem", + "DesignSystem", + "system", + "extractTryDefineElementParams", + "elementDefinitionType", + "elementDefinitionCallback", + "registrations", + "elementDefinitionEntries", + "disambiguate", + "shadowRootMode", + "extractedParams", + "baseClass", + "elementName", + "typeFoundByName", + "needsDefine", + "ElementDefinitionEntry", + "entry", + "willDefine", + "dividerTemplate", + "DividerRole", + "Divider", + "listboxOptionTemplate", + "ListboxElement", + "activeItem", + "preserveChecked", + "shiftKey", + "enabledCheckedOptions", + "activeIndex", + "_TextField", + "FormAssociatedTextField", + "TextFieldType", + "TextField", + "DelegatesARIATextbox", + "progressSegments", + "progressRingTemplate", + "BaseProgress", + "radioGroupTemplate", + "changedRadio", + "radio", + "nextRadio", + "focusedIndex", + "checkedRadios", + "numberOfCheckedRadios", + "lastCheckedRadio", + "foundMatchingVal", + "RadioGroup", + "radioTemplate", + "_Radio", + "FormAssociatedRadio", + "Radio", + "whitespaceFilter", + "_Select", + "FormAssociatedSelect", + "prevSelectedValue", + "nextSelectedValue", + "shouldEmit", + "currentBox", + "availableBottom", + "proxyOption", + "Select", + "DelegatesARIASelect", + "selectTemplate", + "tabPanelTemplate", + "TabPanel", + "tabTemplate", + "Tab", + "tabsTemplate", + "TabsOrientation", + "Tabs", + "gridHorizontalProperty", + "gridVerticalProperty", + "gridProperty", + "isActiveTab", + "tabId", + "tabpanelId", + "tabpanel", + "selectedTab", + "tabPanel", + "translateProperty", + "offsetProperty", + "dif", + "adjustment", + "focusableTabs", + "currentActiveTabIndex", + "nextTabIndex", + "nextIndex", + "_TextArea", + "FormAssociatedTextArea", + "TextAreaResize", + "TextArea", + "textAreaTemplate", + "textFieldTemplate", + "disabledCursor", + "hidden", + "display", + "displayValue", + "focusVisible", + "reservedReactProperties", + "emptyProps", + "DEFAULT_CACHE_NAME", + "wrappersCache", + "setRef", + "getTagName", + "getElementEvents", + "keyIsValid", + "getElementKeys", + "provideReactWrapper", + "designSystem", + "wrap", + "cachedCandidates", + "cachedWrapper", + "ReactComponent", + "oldProps", + "currentProps", + "previousProps", + "userRef", + "newReactProps", + "newElementProps", + "elementKeys", + "reactComponent", + "provideVSCodeDesignSystem", + "initThemeChangeListener", + "tokenMappings", + "applyCurrentTheme", + "body", + "themeKind", + "vscodeTokenName", + "toolkitToken", + "isThemeListenerInitialized", + "vscodeThemeVar", + "designToken", + "background", + "borderWidth", + "contrastActiveBorder", + "cornerRadius", + "cornerRadiusRound", + "designUnit", + "disabledOpacity", + "focusBorder", + "fontFamily", + "inputHeight", + "inputMinWidth", + "typeRampBaseFontSize", + "typeRampBaseLineHeight", + "typeRampMinus1FontSize", + "typeRampMinus1LineHeight", + "scrollbarWidth", + "scrollbarHeight", + "scrollbarSliderBackground", + "scrollbarSliderHoverBackground", + "scrollbarSliderActiveBackground", + "badgeBackground", + "badgeForeground", + "buttonBorder", + "buttonIconBackground", + "buttonIconCornerRadius", + "buttonIconFocusBorderOffset", + "buttonIconHoverBackground", + "buttonIconPadding", + "buttonPrimaryBackground", + "buttonPrimaryForeground", + "buttonPrimaryHoverBackground", + "buttonSecondaryBackground", + "buttonSecondaryForeground", + "buttonSecondaryHoverBackground", + "buttonPaddingHorizontal", + "buttonPaddingVertical", + "checkboxBackground", + "checkboxBorder", + "checkboxCornerRadius", + "listActiveSelectionBackground", + "listActiveSelectionForeground", + "listHoverBackground", + "dividerBackground", + "dropdownBackground", + "dropdownBorder", + "dropdownListMaxHeight", + "inputBackground", + "inputForeground", + "linkActiveForeground", + "linkForeground", + "progressBackground", + "panelTabActiveBorder", + "panelTabActiveForeground", + "panelTabForeground", + "tagCornerRadius", + "badgeStyles", + "FoundationBadge", + "vsCodeBadge", + "BaseButtonStyles", + "PrimaryButtonStyles", + "SecondaryButtonStyles", + "IconButtonStyles", + "buttonStyles", + "FoundationButton", + "appearanceValue", + "attrName", + "oldVal", + "newVal", + "vsCodeButton", + "checkboxStyles", + "defintiion", + "FoundationCheckbox", + "vsCodeCheckbox", + "dataGridStyles", + "dataGridRowStyles", + "dataGridCellStyles", + "FoundationDataGrid", + "vsCodeDataGrid", + "gridTemplate", + "gridStyles", + "FoundationDataGridRow", + "vsCodeDataGridRow", + "rowTemplate", + "rowStyles", + "FoundationDataGridCell", + "vsCodeDataGridCell", + "cellTemplate", + "cellStyles", + "dividerStyles", + "FoundationDivider", + "vsCodeDivider", + "dropdownStyles", + "Dropdown", + "FoundationSelect", + "vsCodeDropdown", + "linkStyles", + "Link", + "FoundationAnchor", + "vsCodeLink", + "optionStyles", + "FoundationListboxOption", + "vsCodeOption", + "Option", + "panelsStyles", + "panelTabStyles", + "panelViewStyles", + "Panels", + "FoundationTabs", + "vsCodePanels", + "PanelTab", + "FoundationTab", + "vsCodePanelTab", + "PanelView", + "FoundationTabPanel", + "vsCodePanelView", + "progressRingStyles", + "ProgressRing", + "vsCodeProgressRing", + "radioGroupStyles", + "FoundationRadioGroup", + "label", + "vsCodeRadioGroup", + "radioStyles", + "FoundationRadio", + "vsCodeRadio", + "tagStyles", + "Tag", + "vsCodeTag", + "textAreaStyles", + "FoundationTextArea", + "vsCodeTextArea", + "textFieldStyles", + "FoundationTextField", + "vsCodeTextField", + "VSCodeBadge", + "VSCodeButton", + "VSCodeCheckbox", + "VSCodeDropdown", + "VSCodeLink", + "VSCodeOption", + "VSCodePanels", + "VSCodePanelTab", + "VSCodePanelView", + "VSCodeProgressRing", + "VSCodeRadio", + "VSCodeRadioGroup", + "VSCodeTextArea", + "VSCodeTextField", + "_extends", + "_objectWithoutPropertiesLoose", + "useOnMount", + "_excluded", + "useSound", + "src", + "_temp", + "_ref", + "_ref$volume", + "volume", + "_ref$playbackRate", + "playbackRate", + "_ref$soundEnabled", + "soundEnabled", + "_ref$interrupt", + "interrupt", + "onload", + "delegated", + "HowlConstructor", + "React__default", + "_React$useState", + "duration", + "setDuration", + "_React$useState2", + "sound", + "setSound", + "handleLoad", + "__vitePreload", + "mod", + "_mod$Howl", + "play", + "stop", + "returnedValue", + "perf", + "warned", + "PROCESS", + "emitWarning", + "AC", + "AS", + "__publicField", + "warnACPolyfill", + "printACPolyfillWarning", + "shouldWarn", + "isPosInt", + "getUintArray", + "ZeroArray", + "_Stack", + "HeapCls", + "_constructing", + "Stack", + "_LRUCache", + "_LRUCache_instances", + "_max", + "_maxSize", + "_dispose", + "_onInsert", + "_disposeAfter", + "_fetchMethod", + "_memoMethod", + "_size", + "_calculatedSize", + "_keyMap", + "_keyList", + "_valList", + "_next", + "_prev", + "_head", + "_tail", + "_free", + "_disposed", + "_sizes", + "_starts", + "_ttls", + "_hasDispose", + "_hasFetchMethod", + "_hasDisposeAfter", + "_hasOnInsert", + "_updateItemAge", + "_statusTTL", + "_setItemTTL", + "_isStale", + "_removeItemSize", + "_addItemSize", + "_st", + "_requireSize", + "_v", + "sizeCalculation", + "ttl", + "ttlResolution", + "ttlAutopurge", + "updateAgeOnGet", + "updateAgeOnHas", + "allowStale", + "dispose", + "onInsert", + "disposeAfter", + "noDisposeOnSet", + "noUpdateTTL", + "maxEntrySize", + "fetchMethod", + "memoMethod", + "noDeleteOnFetchRejection", + "noDeleteOnStaleGet", + "allowStaleOnFetchRejection", + "allowStaleOnFetchAbort", + "ignoreFetchAbort", + "UintArray", + "initializeSizeTracking_fn", + "initializeTTLTracking_fn", + "isBackgroundFetch_fn", + "backgroundFetch_fn", + "moveToTail_fn", + "indexes_fn", + "rindexes_fn", + "getOptions", + "thisp", + "delete_fn", + "remain", + "age", + "setOptions", + "evict_fn", + "hasOptions", + "peekOptions", + "forceRefresh", + "signal", + "staleVal", + "memoOptions", + "vv", + "fetching", + "clear_fn", + "ttls", + "starts", + "cachedNow", + "getNow", + "sizes", + "isValidIndex_fn", + "free", + "head", + "fetchOpts", + "updateCache", + "aborted", + "ignoreAbort", + "fetchFail", + "allowStaleAborted", + "noDelete", + "pcall", + "fmp", + "connect_fn", + "LRUCache", + "useDebounceEffect", + "callbackRef", + "timeoutRef", + "appendImages", + "currentImages", + "newImages", + "maxImages", + "imagesToAdd", + "combineApiRequests", + "messages", + "isMergeNecessary", + "startedIndices", + "startIndex", + "startMessage", + "startData", + "finishData", + "safeJsonParse", + "jsonString", + "COMMAND_OUTPUT_STRING", + "combineCommandSequences", + "combinedMessages", + "processedIndices", + "responses", + "jsonObj", + "combinedText", + "lastProcessedIndex", + "ask", + "say", + "getApiMetrics", + "parsedText", + "tokensIn", + "tokensOut", + "cacheWrites", + "cacheReads", + "cost", + "apiProtocol", + "ProfileValidator", + "profile", + "allowList", + "modelId", + "providerName", + "providerAllowList", + "quote", + "CONTROL", + "controlRE", + "META", + "SINGLE_QUOTE", + "DOUBLE_QUOTE", + "hash", + "SQ", + "DQ", + "DS", + "TOKEN", + "mult", + "startsWithToken", + "matchAll", + "origIndex", + "matchObj", + "getVar", + "env", + "pre", + "parseInternal", + "BS", + "BAREWORD", + "chunker", + "commented", + "esc", + "out", + "isGlob", + "parseEnvVar", + "varend", + "varname", + "char", + "slicedFromI", + "commentObj", + "parse", + "mapped", + "shellQuote", + "parseCommand", + "command", + "allCommands", + "lineCommands", + "parseCommandLine", + "restorePlaceholders", + "quotes", + "redirections", + "arrayIndexing", + "arithmeticExpressions", + "parameterExpansions", + "subshells", + "processedCommand", + "cmd", + "currentCommand", + "subshellMatch", + "findLongestPrefixMatch", + "prefixes", + "trimmedCommand", + "longestMatch", + "lowerPrefix", + "getCommandDecision", + "allowedCommands", + "deniedCommands", + "decisions", + "cmdWithoutRedirection", + "getSingleCommandDecision", + "decision", + "longestAllowedMatch", + "longestDeniedMatch", + "getRouterModels", + "cleanup", + "useRouterModels", + "toString", + "getPrototypeOf", + "iterator", + "toStringTag", + "kindOf", + "thing", + "kindOfTest", + "typeOfTest", + "isArray", + "isUndefined", + "isBuffer", + "isArrayBuffer", + "isArrayBufferView", + "isNumber", + "isBoolean", + "prototype", + "isDate", + "isFile", + "isBlob", + "isFileList", + "isStream", + "isFormData", + "isURLSearchParams", + "isReadableStream", + "isRequest", + "isResponse", + "isHeaders", + "trim", + "forEach", + "allOwnKeys", + "findKey", + "_key", + "_global", + "isContextDefined", + "merge", + "caseless", + "assignValue", + "targetKey", + "extend", + "stripBOM", + "inherits", + "constructor", + "superConstructor", + "descriptors", + "toFlatObject", + "sourceObj", + "destObj", + "propFilter", + "endsWith", + "searchString", + "position", + "toArray", + "isTypedArray", + "TypedArray", + "forEachEntry", + "_iterator", + "isHTMLForm", + "toCamelCase", + "p1", + "p2", + "hasOwnProperty", + "isRegExp", + "reduceDescriptors", + "reducedDescriptors", + "freezeMethods", + "toObjectSet", + "arrayOrString", + "delimiter", + "define", + "toFiniteNumber", + "isSpecCompliantForm", + "toJSONObject", + "visit", + "reducedValue", + "isAsyncFn", + "isThenable", + "_setImmediate", + "setImmediateSupported", + "postMessageSupported", + "callbacks", + "asap", + "isIterable", + "utils$1", + "AxiosError", + "request", + "utils", + "customProps", + "axiosError", + "httpAdapter", + "isVisitable", + "removeBrackets", + "renderKey", + "dots", + "isFlatArray", + "predicates", + "toFormData", + "formData", + "metaTokens", + "visitor", + "defaultVisitor", + "indexes", + "useBlob", + "convertValue", + "exposedHelpers", + "build", + "encode", + "charMap", + "AxiosURLSearchParams", + "encoder", + "_encode", + "buildURL", + "serializeFn", + "serializedParams", + "hashmarkIndex", + "InterceptorManager", + "fulfilled", + "rejected", + "transitionalDefaults", + "URLSearchParams$1", + "FormData$1", + "Blob$1", + "platform$2", + "URLSearchParams", + "FormData", + "Blob", + "hasBrowserEnv", + "_navigator", + "hasStandardBrowserEnv", + "hasStandardBrowserWebWorkerEnv", + "origin", + "platform$1", + "platform", + "toURLEncodedForm", + "helpers", + "parsePropPath", + "arrayToObject", + "formDataToJSON", + "buildPath", + "isNumericKey", + "isLast", + "stringifySafely", + "rawValue", + "parser", + "contentType", + "hasJSONContentType", + "isObjectPayload", + "_FormData", + "transitional", + "forcedJSONParsing", + "JSONRequested", + "strictJSONParsing", + "method", + "ignoreDuplicateOf", + "parseHeaders", + "rawHeaders", + "parsed", + "$internals", + "normalizeHeader", + "normalizeValue", + "parseTokens", + "tokensRE", + "isValidHeaderName", + "matchHeaderValue", + "isHeaderNameFilter", + "formatHeader", + "buildAccessors", + "accessorName", + "methodName", + "arg1", + "arg2", + "arg3", + "AxiosHeaders$1", + "valueOrRewrite", + "rewrite", + "self", + "setHeader", + "_value", + "_header", + "_rewrite", + "lHeader", + "setHeaders", + "dest", + "matcher", + "deleteHeader", + "normalized", + "targets", + "asStrings", + "computed", + "defineAccessor", + "AxiosHeaders", + "headerValue", + "transformData", + "fns", + "isCancel", + "CanceledError", + "settle", + "validateStatus", + "parseProtocol", + "speedometer", + "samplesCount", + "bytes", + "timestamps", + "tail", + "firstSampleTS", + "chunkLength", + "now", + "startedAt", + "bytesCount", + "passed", + "throttle", + "freq", + "threshold", + "lastArgs", + "timer", + "invoke", + "progressEventReducer", + "isDownloadStream", + "bytesNotified", + "_speedometer", + "total", + "progressBytes", + "rate", + "progressEventDecorator", + "throttled", + "lengthComputable", + "asyncDecorator", + "isURLSameOrigin", + "isMSIE", + "expires", + "domain", + "secure", + "cookie", + "isAbsoluteURL", + "combineURLs", + "baseURL", + "relativeURL", + "buildFullPath", + "requestedURL", + "allowAbsoluteUrls", + "isRelativeUrl", + "headersToObject", + "mergeConfig", + "config1", + "config2", + "getMergedValue", + "mergeDeepProperties", + "valueFromConfig2", + "defaultToConfig2", + "mergeDirectKeys", + "mergeMap", + "configValue", + "resolveConfig", + "newConfig", + "withXSRFToken", + "xsrfHeaderName", + "xsrfCookieName", + "auth", + "xsrfValue", + "cookies", + "isXHRAdapterSupported", + "xhrAdapter", + "_config", + "requestData", + "requestHeaders", + "responseType", + "onUploadProgress", + "onDownloadProgress", + "onCanceled", + "uploadThrottled", + "downloadThrottled", + "flushUpload", + "flushDownload", + "onloadend", + "responseHeaders", + "timeoutErrorMessage", + "protocol", + "composeSignals", + "signals", + "onabort", + "streamChunk", + "chunk", + "chunkSize", + "pos", + "readBytes", + "iterable", + "readStream", + "stream", + "reader", + "trackStream", + "onProgress", + "onFinish", + "_onFinish", + "loadedBytes", + "isFetchSupported", + "isReadableStreamSupported", + "encodeText", + "supportsRequestStream", + "duplexAccessed", + "hasContentType", + "DEFAULT_CHUNK_SIZE", + "supportsResponseStream", + "getBodyLength", + "resolveBodyLength", + "fetchAdapter", + "cancelToken", + "withCredentials", + "composedSignal", + "requestContentLength", + "_request", + "contentTypeHeader", + "isCredentialsSupported", + "isStreamResponse", + "responseContentLength", + "responseData", + "knownAdapters", + "renderReason", + "isResolvedHandle", + "adapter", + "adapters", + "nameOrAdapter", + "rejectedReasons", + "reasons", + "throwIfCancellationRequested", + "dispatchRequest", + "VERSION", + "validators", + "deprecatedWarnings", + "validator", + "formatMessage", + "correctSpelling", + "assertOptions", + "allowUnknown", + "Axios$1", + "instanceConfig", + "configOrUrl", + "dummy", + "paramsSerializer", + "contextHeaders", + "requestInterceptorChain", + "synchronousRequestInterceptors", + "interceptor", + "responseInterceptorChain", + "chain", + "onFulfilled", + "onRejected", + "Axios", + "generateHTTPMethod", + "isForm", + "CancelToken$1", + "CancelToken", + "executor", + "resolvePromise", + "onfulfilled", + "abort", + "spread", + "isAxiosError", + "payload", + "HttpStatusCode", + "createInstance", + "defaultConfig", + "axios", + "all", + "Cancel", + "formToJSON", + "getAdapter", + "parseApiPrice", + "price", + "OPENROUTER_DEFAULT_PROVIDER_NAME", + "openRouterEndpointsSchema", + "getOpenRouterProvidersForModel", + "models", + "architecture", + "endpoints", + "endpoint", + "inputPrice", + "outputPrice", + "modelInfo", + "z.ZodError", + "useOpenRouterModelProviders", + "getLmStudioModels", + "useLmStudioModels", + "useSelectedModel", + "provider", + "openRouterModelId", + "lmStudioModelId", + "routerModels", + "openRouterModelProviders", + "lmStudioModels", + "info", + "getSelectedModel", + "specificProvider", + "isChina", + "defaultModelId", + "modelFamily", + "RooHero", + "imagesBaseUri", + "buildDocLink", + "campaign", + "cleanPath", + "basePath", + "tips", + "RooTips", + "tip", + "jsxs", + "RooCloudCTA", + "createContext2", + "rootComponentName", + "defaultContext", + "Context", + "Provider", + "React.useMemo", + "useContext2", + "consumerName", + "createContextScope", + "scopeName", + "createContextScopeDeps", + "defaultContexts", + "createContext3", + "BaseContext", + "createScope", + "scopeContexts", + "contexts", + "composeContextScopes", + "scopes", + "baseScope", + "scopeHooks", + "createScope2", + "overrideScopes", + "nextScopes", + "nextScopes2", + "useScope", + "currentScope", + "composeRefs", + "refs", + "hasCleanup", + "cleanups", + "useComposedRefs", + "composeEventHandlers", + "originalEventHandler", + "ourEventHandler", + "checkForDefaultPrevented", + "useLayoutEffect2", + "React.useLayoutEffect", + "useReactId", + "useId", + "deterministicId", + "setId", + "useLayoutEffect", + "reactId", + "useInsertionEffect", + "useControllableState", + "defaultProp", + "caller", + "uncontrolledProp", + "setUncontrolledProp", + "onChangeRef", + "useUncontrolledState", + "isControlled", + "isControlledRef", + "wasControlled", + "setValue", + "nextValue", + "value2", + "prevValueRef", + "createSlot", + "ownerName", + "SlotClone", + "createSlotClone", + "Slot2", + "React.forwardRef", + "slotProps", + "slottable", + "isSlottable", + "newElement", + "newChildren", + "React.isValidElement", + "Slot", + "childrenRef", + "getElementRef", + "props2", + "React.Fragment", + "SLOTTABLE_IDENTIFIER", + "createSlottable", + "Slottable2", + "Fragment2", + "childProps", + "overrideProps", + "propName", + "slotPropValue", + "childPropValue", + "mayWarn", + "NODES", + "Primitive", + "primitive", + "Node", + "asChild", + "primitiveProps", + "Comp", + "dispatchDiscreteCustomEvent", + "ReactDOM.flushSync", + "useCallbackRef", + "useEscapeKeydown", + "onEscapeKeyDownProp", + "ownerDocument", + "onEscapeKeyDown", + "handleKeyDown", + "DISMISSABLE_LAYER_NAME", + "CONTEXT_UPDATE", + "POINTER_DOWN_OUTSIDE", + "FOCUS_OUTSIDE", + "originalBodyPointerEvents", + "DismissableLayerContext", + "DismissableLayer", + "disableOutsidePointerEvents", + "onPointerDownOutside", + "onFocusOutside", + "onInteractOutside", + "onDismiss", + "layerProps", + "setNode", + "composedRefs", + "node2", + "layers", + "highestLayerWithOutsidePointerEventsDisabled", + "highestLayerWithOutsidePointerEventsDisabledIndex", + "isBodyPointerEventsDisabled", + "isPointerEventsEnabled", + "pointerDownOutside", + "usePointerDownOutside", + "isPointerDownOnBranch", + "branch", + "focusOutside", + "useFocusOutside", + "dispatchUpdate", + "handleUpdate", + "BRANCH_NAME", + "DismissableLayerBranch", + "handlePointerDownOutside", + "isPointerInsideReactTreeRef", + "handleClickRef", + "handlePointerDown", + "handleAndDispatchPointerDownOutsideEvent2", + "handleAndDispatchCustomEvent", + "eventDetail", + "timerId", + "handleFocusOutside", + "isFocusInsideReactTreeRef", + "handleFocus", + "discrete", + "AUTOFOCUS_ON_MOUNT", + "AUTOFOCUS_ON_UNMOUNT", + "EVENT_OPTIONS", + "FOCUS_SCOPE_NAME", + "FocusScope", + "loop", + "trapped", + "onMountAutoFocusProp", + "onUnmountAutoFocusProp", + "scopeProps", + "setContainer", + "onMountAutoFocus", + "onUnmountAutoFocus", + "lastFocusedElementRef", + "focusScope", + "handleFocusIn2", + "focus", + "handleFocusOut2", + "relatedTarget", + "handleMutations2", + "mutationObserver", + "focusScopesStack", + "previouslyFocusedElement", + "mountEvent", + "focusFirst", + "removeLinks", + "getTabbableCandidates", + "unmountEvent", + "isTabKey", + "focusedElement", + "container2", + "getTabbableEdges", + "candidates", + "select", + "candidate", + "findVisible", + "isHiddenInput", + "isHidden", + "upTo", + "isSelectableInput", + "createFocusScopesStack", + "activeFocusScope", + "arrayRemove", + "updatedArray", + "PORTAL_NAME", + "Portal", + "containerProp", + "portalProps", + "setMounted", + "ReactDOM", + "useStateMachine", + "machine", + "React.useReducer", + "Presence", + "present", + "presence", + "usePresence", + "React2.Children", + "React2.cloneElement", + "React2.useState", + "stylesRef", + "React2.useRef", + "prevPresentRef", + "prevAnimationNameRef", + "React2.useEffect", + "currentAnimationName", + "getAnimationName", + "wasPresent", + "prevAnimationName", + "ownerWindow", + "handleAnimationEnd", + "isCurrentAnimation", + "currentFillMode", + "handleAnimationStart", + "React2.useCallback", + "useFocusGuards", + "edgeGuards", + "createFocusGuard", + "zeroRightClassName", + "fullWidthClassName", + "noScrollbarsClassName", + "removedBarSizeVariable", + "assignRef", + "initialValue", + "useIsomorphicLayoutEffect", + "currentValues", + "useMergeRefs", + "prevRefs_1", + "nextRefs_1", + "current_1", + "ItoI", + "innerCreateMedium", + "middleware", + "buffer", + "assigned", + "medium", + "cbs", + "pendingQueue", + "executeQueue", + "cycle", + "createSidecarMedium", + "SideCar", + "sideCar", + "Target", + "exportSidecar", + "exported", + "effectCar", + "nothing", + "RemoveScroll", + "parentRef", + "setCallbacks", + "forwardProps", + "removeScrollBar", + "shards", + "noIsolation", + "inert", + "allowPinchZoom", + "gapMode", + "containerRef", + "containerProps", + "makeStyleTag", + "nonce", + "injectStyles", + "insertStyleTag", + "stylesheetSingleton", + "counter", + "stylesheet", + "styleHookSingleton", + "isDynamic", + "styleSingleton", + "useStyle", + "Sheet", + "dynamic", + "zeroGap", + "getOffset", + "top", + "getGapWidth", + "offsets", + "documentWidth", + "windowWidth", + "Style", + "lockAttribute", + "getStyles", + "allowRelative", + "important", + "gap", + "getCurrentUseCounter", + "useLockAttribute", + "newCounter", + "RemoveScrollBar", + "noRelative", + "noImportant", + "passiveSupported", + "nonPassive", + "alwaysContainsScroll", + "elementCanBeScrolled", + "overflow", + "elementCouldBeVScrolled", + "elementCouldBeHScrolled", + "locationCouldBeScrolled", + "axis", + "isScrollable", + "elementCouldBeScrolled", + "getScrollVariables", + "scrollHeight", + "clientHeight", + "getVScrollVariables", + "scrollTop", + "getHScrollVariables", + "scrollLeft", + "scrollWidth", + "clientWidth", + "getDirectionFactor", + "handleScroll", + "endTarget", + "sourceDelta", + "noOverscroll", + "directionFactor", + "delta", + "targetInLock", + "shouldCancelScroll", + "isDeltaPositive", + "availableScroll", + "availableScrollTop", + "scroll_1", + "elementScroll", + "getTouchXY", + "getDeltaXY", + "extractRef", + "deltaCompare", + "generateStyle", + "idCounter", + "lockStack", + "RemoveScrollSideCar", + "shouldPreventQueue", + "touchStartRef", + "activeAxis", + "lastProps", + "allow_1", + "shouldCancelEvent", + "touch", + "touchStart", + "deltaX", + "deltaY", + "currentAxis", + "moveDirection", + "canBeScrolledInMainDirection", + "cancelingAxis", + "shouldPrevent", + "_event", + "sourceEvent", + "shardNodes", + "shouldStop", + "shouldCancel", + "should", + "getOutermostShadowParent", + "scrollTouchStart", + "scrollWheel", + "scrollTouchMove", + "shadowParent", + "ReactRemoveScroll", + "getDefaultParent", + "originalTarget", + "sampleTarget", + "counterMap", + "uncontrolledNodes", + "markerMap", + "lockCount", + "unwrapHost", + "correctTargets", + "correctedTarget", + "applyAttributeToOthers", + "markerName", + "controlAttribute", + "markerCounter", + "hiddenNodes", + "elementsToKeep", + "elementsToStop", + "alreadyHidden", + "counterValue", + "markerValue", + "hideOthers", + "activeParentNode", + "DIALOG_NAME", + "createDialogContext", + "createDialogScope", + "DialogProvider", + "useDialogContext", + "Dialog", + "__scopeDialog", + "openProp", + "defaultOpen", + "onOpenChange", + "modal", + "triggerRef", + "contentRef", + "open", + "setOpen", + "prevOpen", + "TRIGGER_NAME", + "DialogTrigger", + "triggerProps", + "composedTriggerRef", + "getState", + "PortalProvider", + "usePortalContext", + "DialogPortal", + "forceMount", + "PortalPrimitive", + "OVERLAY_NAME", + "DialogOverlay", + "portalContext", + "overlayProps", + "DialogOverlayImpl", + "CONTENT_NAME", + "DialogContent", + "contentProps", + "DialogContentModal", + "DialogContentNonModal", + "DialogContentImpl", + "originalEvent", + "ctrlLeftClick", + "hasInteractedOutsideRef", + "hasPointerDownOutsideRef", + "trapFocus", + "onOpenAutoFocus", + "onCloseAutoFocus", + "TitleWarning", + "DescriptionWarning", + "TITLE_NAME", + "DialogTitle", + "titleProps", + "DESCRIPTION_NAME", + "DialogDescription", + "descriptionProps", + "CLOSE_NAME", + "DialogClose", + "closeProps", + "TITLE_WARNING_NAME", + "WarningProvider", + "useWarningContext", + "titleId", + "titleWarningContext", + "MESSAGE", + "DESCRIPTION_WARNING_NAME", + "descriptionId", + "describedById", + "Root", + "Trigger", + "Overlay", + "Content", + "Title", + "Description", + "Close", + "ROOT_NAME", + "createAlertDialogContext", + "createAlertDialogScope", + "useDialogScope", + "AlertDialog", + "__scopeAlertDialog", + "alertDialogProps", + "dialogScope", + "DialogPrimitive.Root", + "AlertDialogTrigger", + "DialogPrimitive.Trigger", + "AlertDialogPortal", + "DialogPrimitive.Portal", + "AlertDialogOverlay", + "DialogPrimitive.Overlay", + "AlertDialogContentProvider", + "useAlertDialogContentContext", + "Slottable", + "AlertDialogContent", + "cancelRef", + "DialogPrimitive.WarningProvider", + "DialogPrimitive.Content", + "AlertDialogTitle", + "DialogPrimitive.Title", + "AlertDialogDescription", + "DialogPrimitive.Description", + "ACTION_NAME", + "AlertDialogAction", + "actionProps", + "DialogPrimitive.Close", + "CANCEL_NAME", + "AlertDialogCancel", + "cancelProps", + "Root2", + "Trigger2", + "Portal2", + "Overlay2", + "Content2", + "Action", + "Title2", + "Description2", + "clsx", + "CLASS_PART_SEPARATOR", + "createClassGroupUtils", + "classMap", + "createClassMap", + "conflictingClassGroups", + "conflictingClassGroupModifiers", + "classParts", + "getGroupRecursive", + "getGroupIdForArbitraryProperty", + "classGroupId", + "hasPostfixModifier", + "conflicts", + "classPartObject", + "currentClassPart", + "nextClassPartObject", + "classGroupFromNextClassPart", + "classRest", + "arbitraryPropertyRegex", + "arbitraryPropertyClassName", + "classGroups", + "processClassesRecursively", + "classGroup", + "classDefinition", + "classPartObjectToEdit", + "getPart", + "isThemeGetter", + "currentClassPartObject", + "pathPart", + "func", + "createLruCache", + "maxCacheSize", + "cacheSize", + "previousCache", + "update", + "IMPORTANT_MODIFIER", + "MODIFIER_SEPARATOR", + "MODIFIER_SEPARATOR_LENGTH", + "createParseClassName", + "experimentalParseClassName", + "parseClassName", + "modifiers", + "bracketDepth", + "parenDepth", + "modifierStart", + "postfixModifierPosition", + "currentCharacter", + "baseClassNameWithImportantModifier", + "baseClassName", + "stripImportantModifier", + "hasImportantModifier", + "maybePostfixModifierPosition", + "fullPrefix", + "parseClassNameOriginal", + "createSortModifiers", + "orderSensitiveModifiers", + "modifier", + "sortedModifiers", + "unsortedModifiers", + "createConfigUtils", + "SPLIT_CLASSES_REGEX", + "mergeClassList", + "classList", + "configUtils", + "getClassGroupId", + "getConflictingClassGroupIds", + "sortModifiers", + "classGroupsInConflict", + "classNames", + "originalClassName", + "isExternal", + "variantModifier", + "modifierId", + "classId", + "conflictGroups", + "twJoin", + "argument", + "resolvedValue", + "toValue", + "mix", + "createTailwindMerge", + "createConfigFirst", + "createConfigRest", + "cacheGet", + "cacheSet", + "functionToCall", + "initTailwindMerge", + "previousConfig", + "createConfigCurrent", + "tailwindMerge", + "cachedResult", + "fromTheme", + "themeGetter", + "arbitraryValueRegex", + "arbitraryVariableRegex", + "fractionRegex", + "tshirtUnitRegex", + "lengthUnitRegex", + "colorFunctionRegex", + "shadowRegex", + "imageRegex", + "isFraction", + "isInteger", + "isPercent", + "isTshirtSize", + "isAny", + "isLengthOnly", + "isNever", + "isShadow", + "isImage", + "isAnyNonArbitrary", + "isArbitraryValue", + "isArbitraryVariable", + "isArbitrarySize", + "getIsArbitraryValue", + "isLabelSize", + "isArbitraryLength", + "isLabelLength", + "isArbitraryNumber", + "isLabelNumber", + "isArbitraryPosition", + "isLabelPosition", + "isArbitraryImage", + "isLabelImage", + "isArbitraryShadow", + "isLabelShadow", + "isArbitraryVariableLength", + "getIsArbitraryVariable", + "isArbitraryVariableFamilyName", + "isLabelFamilyName", + "isArbitraryVariablePosition", + "isArbitraryVariableSize", + "isArbitraryVariableImage", + "isArbitraryVariableShadow", + "testLabel", + "testValue", + "shouldMatchNoLabel", + "getDefaultConfig", + "themeColor", + "themeFont", + "themeText", + "themeFontWeight", + "themeTracking", + "themeLeading", + "themeBreakpoint", + "themeContainer", + "themeSpacing", + "themeRadius", + "themeShadow", + "themeInsetShadow", + "themeTextShadow", + "themeDropShadow", + "themeBlur", + "themePerspective", + "themeAspect", + "themeEase", + "themeAnimate", + "scaleBreak", + "scalePosition", + "scalePositionWithArbitrary", + "scaleOverflow", + "scaleOverscroll", + "scaleUnambiguousSpacing", + "scaleInset", + "scaleGridTemplateColsRows", + "scaleGridColRowStartAndEnd", + "scaleGridColRowStartOrEnd", + "scaleGridAutoColsRows", + "scaleAlignPrimaryAxis", + "scaleAlignSecondaryAxis", + "scaleMargin", + "scaleSizing", + "scaleColor", + "scaleBgPosition", + "scaleBgRepeat", + "scaleBgSize", + "scaleGradientStopPosition", + "scaleRadius", + "scaleBorderWidth", + "scaleLineStyle", + "scaleBlendMode", + "scaleMaskImagePosition", + "scaleBlur", + "scaleRotate", + "scaleScale", + "scaleSkew", + "scaleTranslate", + "twMerge", + "inputs", + "falsyToString", + "cx", + "cva", + "_config_compoundVariants", + "variants", + "defaultVariants", + "getVariantClassNames", + "variant", + "variantProp", + "defaultVariantProp", + "variantKey", + "propsWithoutUndefined", + "getCompoundVariantClassNames", + "cvClass", + "cvClassName", + "compoundVariantOptions", + "buttonVariants", + "AlertDialogPrimitive.Root", + "AlertDialogPrimitive.Trigger", + "AlertDialogPrimitive.Portal", + "AlertDialogPrimitive.Overlay", + "AlertDialogPrimitive.Content", + "AlertDialogHeader", + "AlertDialogFooter", + "AlertDialogPrimitive.Title", + "AlertDialogPrimitive.Description", + "AlertDialogPrimitive.Action", + "AlertDialogPrimitive.Cancel", + "useAutosizeTextArea", + "textAreaRef", + "triggerAutoSize", + "maxHeight", + "minHeight", + "init", + "setInit", + "textAreaElement", + "AutosizeTextarea", + "setTriggerAutoSize", + "React.useImperativeHandle", + "resizeObserver", + "entries", + "borderSizeEntry", + "borderSize", + "CHECKBOX_NAME", + "createCheckboxContext", + "createCheckboxScope", + "CheckboxProviderImpl", + "useCheckboxContext", + "CheckboxProvider", + "__scopeCheckbox", + "checkedProp", + "defaultChecked", + "form", + "onCheckedChange", + "required", + "internal_do_not_use_render", + "checked", + "setChecked", + "control", + "setControl", + "bubbleInput", + "setBubbleInput", + "hasConsumerStoppedPropagationRef", + "isFormControl", + "isIndeterminate", + "CheckboxTrigger", + "onKeyDown", + "onClick", + "checkboxProps", + "initialCheckedStateRef", + "prevChecked", + "CheckboxBubbleInput", + "INDICATOR_NAME", + "CheckboxIndicator", + "indicatorProps", + "BUBBLE_INPUT_NAME", + "controlSize", + "inputProto", + "bubbles", + "defaultCheckedRef", + "toKebabCase", + "toPascalCase", + "camelCase", + "mergeClasses", + "classes", + "hasA11yProp", + "defaultAttributes", + "Icon", + "strokeWidth", + "absoluteStrokeWidth", + "iconNode", + "attrs", + "createLucideIcon", + "iconName", + "__iconNode", + "AlignJustify", + "Bell", + "CheckCheck", + "Check", + "ChevronDown", + "ChevronUp", + "ChevronsUpDown", + "CloudDownload", + "CloudUpload", + "Coins", + "Copy", + "Database", + "Download", + "File", + "FlaskConical", + "FoldVertical", + "Folder", + "GitBranch", + "Globe", + "History", + "Image", + "Info", + "MessageSquare", + "PiggyBank", + "Plus", + "Router", + "SendHorizontal", + "Server", + "Skull", + "SquareArrowOutUpRight", + "SquareMousePointer", + "SquarePen", + "SquareTerminal", + "Trash2", + "TriangleAlert", + "Upload", + "VolumeX", + "WandSparkles", + "Webhook", + "WrapText", + "Zap", + "checkboxVariants", + "CheckboxPrimitive.Root", + "CheckboxPrimitive.Indicator", + "COLLAPSIBLE_NAME", + "createCollapsibleContext", + "createCollapsibleScope", + "CollapsibleProvider", + "useCollapsibleContext", + "Collapsible", + "__scopeCollapsible", + "collapsibleProps", + "CollapsibleTrigger", + "CollapsibleContent", + "CollapsibleContentImpl", + "isPresent", + "setIsPresent", + "heightRef", + "widthRef", + "isOpen", + "isMountAnimationPreventedRef", + "originalStylesRef", + "rAF", + "rect", + "CollapsiblePrimitive.Root", + "CollapsiblePrimitive.CollapsibleTrigger", + "CollapsiblePrimitive.CollapsibleContent", + "t.createContext", + "t.useContext", + "t.forwardRef", + "t.useRef", + "t.useMemo", + "t.createElement", + "t.useEffect", + "w.Root", + "w.Portal", + "w.Overlay", + "w.Content", + "t.useLayoutEffect", + "t.useSyncExternalStore", + "t.useState", + "t.isValidElement", + "t.cloneElement", + "excluded", + "sourceKeys", + "_excluded$N", + "CaretDownIcon", + "_ref$color", + "_excluded$R", + "CaretUpIcon", + "_excluded$T", + "CheckIcon", + "_excluded$1o", + "CounterClockwiseClockIcon", + "_excluded$1r", + "Cross2Icon", + "_excluded$1I", + "DotFilledIcon", + "_excluded$23", + "ExternalLinkIcon", + "_excluded$33", + "MagnifyingGlassIcon", + "XIcon", + "DialogHeader", + "DialogFooter", + "Command", + "CommandPrimitive", + "CommandInput", + "CommandList", + "CommandEmpty", + "CommandGroup", + "CommandSeparator", + "CommandItem", + "createCollection", + "PROVIDER_NAME", + "createCollectionContext", + "createCollectionScope", + "CollectionProviderImpl", + "useCollectionContext", + "CollectionProvider", + "itemMap", + "COLLECTION_SLOT_NAME", + "CollectionSlotImpl", + "CollectionSlot", + "ITEM_SLOT_NAME", + "ITEM_DATA_ATTR", + "CollectionItemSlotImpl", + "CollectionItemSlot", + "itemData", + "useCollection", + "collectionNode", + "orderedNodes", + "DirectionContext", + "useDirection", + "localDir", + "globalDir", + "sides", + "round", + "floor", + "createCoords", + "oppositeSideMap", + "oppositeAlignmentMap", + "clamp", + "evaluate", + "getSide", + "placement", + "getAlignment", + "getOppositeAxis", + "getAxisLength", + "getSideAxis", + "getAlignmentAxis", + "getAlignmentSides", + "rects", + "rtl", + "alignment", + "alignmentAxis", + "mainAlignmentSide", + "getOppositePlacement", + "getExpandedPlacements", + "oppositePlacement", + "getOppositeAlignmentPlacement", + "getSideList", + "side", + "isStart", + "getOppositeAxisPlacements", + "flipAlignment", + "expandPaddingObject", + "padding", + "getPaddingObject", + "rectToClientRect", + "computeCoordsFromPlacement", + "floating", + "sideAxis", + "alignLength", + "isVertical", + "commonX", + "commonY", + "commonAlign", + "coords", + "computePosition", + "validMiddleware", + "statefulPlacement", + "middlewareData", + "resetCount", + "nextX", + "nextY", + "detectOverflow", + "_await$platform$isEle", + "boundary", + "rootBoundary", + "elementContext", + "altBoundary", + "paddingObject", + "clippingClientRect", + "offsetParent", + "offsetScale", + "elementClientRect", + "arrow", + "arrowDimensions", + "isYAxis", + "minProp", + "maxProp", + "clientProp", + "endDiff", + "startDiff", + "arrowOffsetParent", + "clientSize", + "centerToReference", + "largestPossiblePadding", + "minPadding", + "maxPadding", + "min$1", + "center", + "shouldAddOffset", + "alignmentOffset", + "flip", + "_middlewareData$arrow", + "_middlewareData$flip", + "initialPlacement", + "checkMainAxis", + "checkCrossAxis", + "specifiedFallbackPlacements", + "fallbackStrategy", + "fallbackAxisSideDirection", + "detectOverflowOptions", + "initialSideAxis", + "isBasePlacement", + "fallbackPlacements", + "hasFallbackAxisSideDirection", + "placements", + "overflows", + "overflowsData", + "_middlewareData$flip2", + "_overflowsData$filter", + "nextPlacement", + "_overflowsData$", + "ignoreCrossAxisOverflow", + "hasInitialMainAxisOverflow", + "resetPlacement", + "_overflowsData$filter2", + "currentSideAxis", + "getSideOffsets", + "isAnySideFullyClipped", + "hide", + "convertValueToCoords", + "mainAxisMulti", + "crossAxisMulti", + "mainAxis", + "crossAxis", + "_middlewareData$offse", + "diffCoords", + "limiter", + "mainAxisCoord", + "crossAxisCoord", + "minSide", + "maxSide", + "limitedCoords", + "limitShift", + "rawOffset", + "computedOffset", + "limitMin", + "limitMax", + "_middlewareData$offse2", + "isOriginSide", + "_state$middlewareData", + "_state$middlewareData2", + "apply", + "heightSide", + "widthSide", + "maximumClippingHeight", + "maximumClippingWidth", + "overflowAvailableHeight", + "overflowAvailableWidth", + "noShift", + "availableHeight", + "availableWidth", + "xMin", + "xMax", + "yMin", + "yMax", + "nextDimensions", + "hasWindow", + "getNodeName", + "isNode", + "getWindow", + "_node$ownerDocument", + "getDocumentElement", + "isShadowRoot", + "isOverflowElement", + "overflowX", + "overflowY", + "getComputedStyle", + "isTableElement", + "isTopLayer", + "isContainingBlock", + "elementOrCss", + "webkit", + "isWebKit", + "getContainingBlock", + "getParentNode", + "isLastTraversableNode", + "getNodeScroll", + "getNearestOverflowAncestor", + "getOverflowAncestors", + "traverseIframes", + "_node$ownerDocument2", + "scrollableAncestor", + "isBody", + "win", + "frameElement", + "getFrameElement", + "getCssDimensions", + "hasOffset", + "offsetWidth", + "offsetHeight", + "shouldFallback", + "unwrapElement", + "getScale", + "domElement", + "noOffsets", + "getVisualOffsets", + "shouldAddVisualOffsets", + "isFixed", + "floatingOffsetParent", + "getBoundingClientRect", + "includeScale", + "isFixedStrategy", + "clientRect", + "scale", + "visualOffsets", + "offsetWin", + "currentWin", + "currentIFrame", + "iframeScale", + "iframeRect", + "getWindowScrollBarX", + "leftScroll", + "getHTMLOffset", + "documentElement", + "scroll", + "ignoreScrollbarX", + "htmlRect", + "convertOffsetParentRelativeRectToViewportRelativeRect", + "topLayer", + "isOffsetParentAnElement", + "offsetRect", + "htmlOffset", + "getClientRects", + "getDocumentRect", + "getViewportRect", + "visualViewport", + "visualViewportBased", + "getInnerBoundingClientRect", + "getClientRectFromClippingAncestor", + "clippingAncestor", + "hasFixedPositionAncestor", + "stopNode", + "getClippingElementAncestors", + "currentContainingBlockComputedStyle", + "elementIsFixed", + "computedStyle", + "currentNodeIsContaining", + "ancestor", + "getClippingRect", + "clippingAncestors", + "firstClippingAncestor", + "clippingRect", + "accRect", + "getDimensions", + "getRectRelativeToOffsetParent", + "setLeftRTLScrollbarOffset", + "isStaticPositioned", + "getTrueOffsetParent", + "polyfill", + "rawOffsetParent", + "getOffsetParent", + "svgOffsetParent", + "getElementRects", + "getOffsetParentFn", + "getDimensionsFn", + "floatingDimensions", + "isRTL", + "rectsAreEqual", + "observeMove", + "onMove", + "_io", + "refresh", + "skip", + "elementRectForRootMargin", + "insetTop", + "insetRight", + "insetBottom", + "insetLeft", + "isFirstUpdate", + "handleObserve", + "ratio", + "autoUpdate", + "ancestorScroll", + "ancestorResize", + "elementResize", + "layoutShift", + "animationFrame", + "referenceEl", + "ancestors", + "cleanupIo", + "reobserveFrame", + "firstEntry", + "_resizeObserver", + "frameId", + "prevRefRect", + "frameLoop", + "nextRefRect", + "_resizeObserver2", + "offset$1", + "shift$1", + "flip$1", + "size$1", + "hide$1", + "arrow$1", + "limitShift$1", + "platformWithCache", + "computePosition$1", + "deepEqual", + "getDPR", + "roundByDPR", + "dpr", + "useLatestRef", + "useFloating", + "externalReference", + "externalFloating", + "whileElementsMounted", + "setData", + "latestMiddleware", + "setLatestMiddleware", + "_reference", + "_setReference", + "_floating", + "_setFloating", + "setReference", + "referenceRef", + "setFloating", + "floatingRef", + "floatingEl", + "dataRef", + "hasWhileElementsMounted", + "whileElementsMountedRef", + "platformRef", + "openRef", + "fullData", + "isMountedRef", + "floatingStyles", + "initialStyles", + "isRef", + "arrow$2", + "NAME", + "Arrow", + "arrowProps", + "POPPER_NAME", + "createPopperContext", + "createPopperScope", + "PopperProvider", + "usePopperContext", + "Popper", + "__scopePopper", + "setAnchor", + "ANCHOR_NAME", + "PopperAnchor", + "virtualRef", + "anchorProps", + "PopperContentProvider", + "useContentContext", + "PopperContent", + "sideOffset", + "align", + "alignOffset", + "arrowPadding", + "avoidCollisions", + "collisionBoundary", + "collisionPaddingProp", + "sticky", + "hideWhenDetached", + "updatePositionStrategy", + "onPlaced", + "setContent", + "setArrow", + "arrowSize", + "arrowWidth", + "arrowHeight", + "desiredPlacement", + "collisionPadding", + "hasExplicitBoundaries", + "isNotNull", + "isPositioned", + "anchorWidth", + "anchorHeight", + "contentStyle", + "floatingUIarrow", + "transformOrigin", + "placedSide", + "placedAlign", + "getSideAndAlignFromPlacement", + "handlePlaced", + "arrowX", + "arrowY", + "cannotCenterArrow", + "contentZIndex", + "setContentZIndex", + "ARROW_NAME", + "OPPOSITE_SIDE", + "PopperArrow", + "contentContext", + "baseSide", + "ArrowPrimitive.Root", + "isArrowHidden", + "noArrowAlign", + "arrowXCenter", + "arrowYCenter", + "ENTRY_FOCUS", + "GROUP_NAME", + "Collection", + "createRovingFocusGroupContext", + "createRovingFocusGroupScope", + "RovingFocusProvider", + "useRovingFocusContext", + "RovingFocusGroup", + "RovingFocusGroupImpl", + "__scopeRovingFocusGroup", + "orientation", + "dir", + "currentTabStopIdProp", + "defaultCurrentTabStopId", + "onCurrentTabStopIdChange", + "onEntryFocus", + "preventScrollOnEntryFocus", + "groupProps", + "currentTabStopId", + "setCurrentTabStopId", + "isTabbingBackOut", + "setIsTabbingBackOut", + "handleEntryFocus", + "getItems", + "isClickFocusRef", + "focusableItemsCount", + "setFocusableItemsCount", + "tabStopId", + "prevCount", + "isKeyboardFocus", + "entryFocusEvent", + "currentItem", + "candidateNodes", + "ITEM_NAME", + "RovingFocusGroupItem", + "focusable", + "active", + "itemProps", + "autoId", + "isCurrentTabStop", + "onFocusableItemAdd", + "onFocusableItemRemove", + "focusIntent", + "getFocusIntent", + "currentIndex", + "wrapArray", + "MAP_KEY_TO_FOCUS_INTENT", + "getDirectionAwareKey", + "preventScroll", + "PREVIOUSLY_FOCUSED_ELEMENT", + "Item", + "SELECTION_KEYS", + "FIRST_KEYS", + "LAST_KEYS", + "FIRST_LAST_KEYS", + "SUB_OPEN_KEYS", + "SUB_CLOSE_KEYS", + "MENU_NAME", + "createMenuContext", + "createMenuScope", + "usePopperScope", + "useRovingFocusGroupScope", + "MenuProvider", + "useMenuContext", + "MenuRootProvider", + "useMenuRootContext", + "MenuAnchor", + "__scopeMenu", + "popperScope", + "PopperPrimitive.Anchor", + "MenuPortal", + "MenuContentProvider", + "useMenuContentContext", + "MenuContent", + "rootContext", + "MenuRootContentModal", + "MenuRootContentNonModal", + "MenuContentImpl", + "disableOutsideScroll", + "rovingFocusGroupScope", + "currentItemId", + "setCurrentItemId", + "timerRef", + "searchRef", + "pointerGraceTimerRef", + "pointerGraceIntentRef", + "pointerDirRef", + "lastPointerXRef", + "ScrollLockWrapper", + "scrollLockWrapperProps", + "handleTypeaheadSearch", + "currentMatch", + "nextMatch", + "getNextMatch", + "newItem", + "updateSearch", + "isPointerMovingToSubmenu", + "isPointerInGraceArea", + "intent", + "RovingFocusGroup.Root", + "PopperPrimitive.Content", + "getOpenState", + "isKeyDownInside", + "isModifierKey", + "isCharacterKey", + "whenMouse", + "pointerXHasChanged", + "newDir", + "MenuGroup", + "LABEL_NAME", + "MenuLabel", + "labelProps", + "ITEM_SELECT", + "MenuItem", + "onSelect", + "isPointerDownRef", + "handleSelect", + "menuItem", + "itemSelectEvent", + "MenuItemImpl", + "isTypingAhead", + "textValue", + "setIsFocused", + "textContent", + "setTextContent", + "RovingFocusGroup.Item", + "CHECKBOX_ITEM_NAME", + "MenuCheckboxItem", + "checkboxItemProps", + "ItemIndicatorProvider", + "getCheckedState", + "RADIO_GROUP_NAME", + "RadioGroupProvider", + "useRadioGroupContext", + "MenuRadioGroup", + "onValueChange", + "handleValueChange", + "RADIO_ITEM_NAME", + "MenuRadioItem", + "radioItemProps", + "ITEM_INDICATOR_NAME", + "useItemIndicatorContext", + "MenuItemIndicator", + "itemIndicatorProps", + "indicatorContext", + "SEPARATOR_NAME", + "MenuSeparator", + "separatorProps", + "MenuArrow", + "PopperPrimitive.Arrow", + "SUB_NAME", + "MenuSubProvider", + "useMenuSubContext", + "SUB_TRIGGER_NAME", + "MenuSubTrigger", + "subContext", + "openTimerRef", + "onPointerGraceIntentChange", + "clearOpenTimer", + "pointerGraceTimer", + "contentRect", + "rightSide", + "bleed", + "contentNearEdge", + "contentFarEdge", + "SUB_CONTENT_NAME", + "MenuSubContent", + "subContentProps", + "isCloseKey", + "normalizedSearch", + "currentMatchIndex", + "wrappedValues", + "isPointInPolygon", + "point", + "polygon", + "inside", + "area", + "cursorPos", + "Anchor2", + "Group", + "Label", + "Item2", + "CheckboxItem", + "RadioItem", + "ItemIndicator", + "Separator", + "Arrow2", + "SubTrigger", + "SubContent", + "DROPDOWN_MENU_NAME", + "createDropdownMenuContext", + "createDropdownMenuScope", + "useMenuScope", + "DropdownMenuProvider", + "useDropdownMenuContext", + "DropdownMenuTrigger", + "__scopeDropdownMenu", + "menuScope", + "MenuPrimitive.Anchor", + "DropdownMenuPortal", + "MenuPrimitive.Portal", + "DropdownMenuContent", + "MenuPrimitive.Content", + "isRightClick", + "DropdownMenuGroup", + "MenuPrimitive.Group", + "DropdownMenuLabel", + "MenuPrimitive.Label", + "DropdownMenuItem", + "MenuPrimitive.Item", + "DropdownMenuCheckboxItem", + "MenuPrimitive.CheckboxItem", + "DropdownMenuRadioGroup", + "radioGroupProps", + "MenuPrimitive.RadioGroup", + "DropdownMenuRadioItem", + "MenuPrimitive.RadioItem", + "DropdownMenuItemIndicator", + "MenuPrimitive.ItemIndicator", + "DropdownMenuSeparator", + "MenuPrimitive.Separator", + "DropdownMenuArrow", + "MenuPrimitive.Arrow", + "DropdownMenuSubTrigger", + "subTriggerProps", + "MenuPrimitive.SubTrigger", + "DropdownMenuSubContent", + "MenuPrimitive.SubContent", + "Label2", + "CheckboxItem2", + "RadioItem2", + "ItemIndicator2", + "Separator2", + "DropdownMenuPrimitive.Portal", + "DropdownMenuPrimitive.Content", + "inset", + "DropdownMenuPrimitive.Item", + "DropdownMenuPrimitive.CheckboxItem", + "DropdownMenuPrimitive.ItemIndicator", + "DropdownMenuPrimitive.RadioItem", + "DropdownMenuPrimitive.Label", + "DropdownMenuPrimitive.Separator", + "Input", + "POPOVER_NAME", + "createPopoverContext", + "createPopoverScope", + "PopoverProvider", + "usePopoverContext", + "Popover", + "__scopePopover", + "hasCustomAnchor", + "setHasCustomAnchor", + "PopperPrimitive.Root", + "PopoverAnchor", + "onCustomAnchorAdd", + "onCustomAnchorRemove", + "PopoverTrigger", + "trigger", + "PopoverPortal", + "PopoverContent", + "PopoverContentModal", + "PopoverContentNonModal", + "isRightClickOutsideRef", + "PopoverContentImpl", + "PopoverClose", + "PopoverArrow", + "PopoverPrimitive.Root", + "PopoverPrimitive.Trigger", + "PopoverPrimitive.Portal", + "PopoverPrimitive.Content", + "PROGRESS_NAME", + "DEFAULT_MAX", + "createProgressContext", + "createProgressScope", + "ProgressProvider", + "useProgressContext", + "Progress", + "__scopeProgress", + "valueProp", + "getValueLabel", + "defaultGetValueLabel", + "progressProps", + "isValidMaxNumber", + "getInvalidMaxError", + "isValidValueNumber", + "getInvalidValueError", + "valueLabel", + "getProgressState", + "ProgressIndicator", + "maxValue", + "propValue", + "Indicator", + "ProgressPrimitive.Root", + "ProgressPrimitive.Indicator", + "useEscapeKey", + "onEscape", + "preventDefault", + "stopPropagation", + "SearchableSelect", + "placeholder", + "searchPlaceholder", + "emptyMessage", + "dataTestId", + "searchValue", + "setSearchValue", + "searchInputRef", + "searchResetTimeoutRef", + "selectedOption", + "filteredOptions", + "handleOpenChange", + "selectedValue", + "handleClearSearch", + "DEFAULT_ORIENTATION", + "ORIENTATIONS", + "decorative", + "orientationProp", + "domProps", + "isValidOrientation", + "semanticProps", + "SeparatorPrimitive.Root", + "PAGE_KEYS", + "ARROW_KEYS", + "BACK_KEYS", + "SLIDER_NAME", + "createSliderContext", + "createSliderScope", + "SliderProvider", + "useSliderContext", + "Slider", + "minStepsBetweenThumbs", + "onValueCommit", + "inverted", + "sliderProps", + "thumbRefs", + "valueIndexToChangeRef", + "SliderOrientation", + "SliderHorizontal", + "SliderVertical", + "setValues", + "valuesBeforeSlideStartRef", + "handleSlideStart", + "closestIndex", + "getClosestValueIndex", + "updateValues", + "handleSlideMove", + "handleSlideEnd", + "atIndex", + "commit", + "decimalCount", + "getDecimalCount", + "snapToStep", + "roundValue", + "prevValues", + "nextValues", + "getNextSortedValues", + "hasMinStepsBetweenValues", + "hasChanged", + "stepDirection", + "multiplier", + "stepInDirection", + "SliderOrientationProvider", + "useSliderOrientationContext", + "onSlideStart", + "onSlideMove", + "onSlideEnd", + "onStepKeyDown", + "slider", + "setSlider", + "rectRef", + "isDirectionLTR", + "isSlidingFromLeft", + "getValueFromPointer", + "pointerPosition", + "linearScale", + "SliderImpl", + "isBackKey", + "sliderRef", + "isSlidingFromBottom", + "__scopeSlider", + "onHomeKeyDown", + "onEndKeyDown", + "TRACK_NAME", + "SliderTrack", + "trackProps", + "RANGE_NAME", + "SliderRange", + "rangeProps", + "valuesCount", + "percentages", + "convertValueToPercentage", + "offsetStart", + "offsetEnd", + "THUMB_NAME", + "SliderThumb", + "thumb", + "setThumb", + "SliderThumbImpl", + "thumbProps", + "percent", + "getLabel", + "orientationSize", + "thumbInBoundsOffset", + "getThumbInBoundsOffset", + "SliderBubbleInput", + "percentage", + "totalValues", + "closestDistance", + "halfWidth", + "getStepsBetweenValues", + "minStepsBetweenValues", + "stepsBetweenValues", + "rounder", + "Track", + "Range", + "Thumb", + "SliderPrimitive.Root", + "SliderPrimitive.Track", + "SliderPrimitive.Range", + "SliderPrimitive.Thumb", + "diacritic", + "asciiChar", + "withDiacriticCodePoint", + "ranges", + "lowerChar", + "upperChar", + "normalizeRune", + "rune", + "normalizedChar", + "maxInt16", + "num1", + "num2", + "strToRunes", + "whitespaceRunes", + "codePoint", + "MAX_ASCII", + "CAPITAL_A_RUNE", + "CAPITAL_Z_RUNE", + "SMALL_A_RUNE", + "SMALL_Z_RUNE", + "NUMERAL_ZERO_RUNE", + "NUMERAL_NINE_RUNE", + "indexAt", + "forward", + "SCORE_MATCH", + "SCORE_GAP_START", + "SCORE_GAP_EXTENTION", + "BONUS_BOUNDARY", + "BONUS_NON_WORD", + "BONUS_CAMEL_123", + "BONUS_CONSECUTIVE", + "BONUS_FIRST_CHAR_MULTIPLIER", + "createPosSet", + "withPos", + "alloc16", + "slab2", + "subarray", + "alloc32", + "charClassOfAscii", + "charClassOfNonAscii", + "charClassOf", + "bonusFor", + "prevClass", + "currClass", + "bonusAt", + "trySkip", + "caseSensitive", + "uidx", + "isAscii", + "runes", + "asciiFuzzyIndex", + "firstIdx", + "pidx", + "fuzzyMatchV2", + "fuzzyMatchV1", + "offset16", + "offset32", + "H0", + "C0", + "maxScore", + "maxScorePos", + "lastIdx", + "pchar0", + "pchar", + "prevH0", + "prevCharClass", + "inGap", + "Tsub", + "H0sub", + "C0sub", + "Bsub", + "charClass", + "bonus", + "score", + "pos2", + "f0", + "toCopy", + "Fsub", + "Psub", + "inGap2", + "pchar2", + "pidx2", + "Tsub2", + "Bsub2", + "Csub", + "Cdiag", + "Hsub", + "Hdiag", + "Hleft", + "off2", + "col", + "s1", + "s2", + "consecutive", + "preferMatch", + "j0", + "calculateScore", + "sidx", + "eidx", + "firstBonus", + "lenRunes", + "lenPattern", + "tidx", + "pidx_", + "sidxTemp", + "exactMatchNaive", + "bestPos", + "bestBonus", + "index_", + "SLAB_16_SIZE", + "SLAB_32_SIZE", + "makeSlab", + "size16", + "size32", + "slab", + "buildPatternForBasicMatch", + "casing", + "queryRunes", + "getResultFromScoreMap", + "scoreMap", + "scoresInDesc", + "getBasicMatchIter", + "itemRunes", + "positions", + "scoreKey", + "basicMatch", + "iter2", + "defaultOpts", + "BaseFinder", + "optionsTuple", + "syncDefaultOpts", + "SyncFinder", + "createResultItemWithEmptyPos", + "postProcessResultItems", + "tiebreaker", + "diff", + "Fzf", + "useRooPortal", + "SelectDropdown", + "React.memo", + "title", + "triggerClassName", + "contentClassName", + "itemClassName", + "shortcutText", + "renderItem", + "disableSearch", + "portalContainer", + "displayText", + "onClearSearch", + "searchableItems", + "fzfInstance", + "matchingItems", + "groupedOptions", + "lastWasSeparator", + "optionValue", + "triggerContent", + "StandardTooltip", + "itemKey", + "VISUALLY_HIDDEN_STYLES", + "VisuallyHidden", + "OPEN_KEYS", + "SELECT_NAME", + "createSelectContext", + "createSelectScope", + "SelectProvider", + "useSelectContext", + "SelectNativeOptionsProvider", + "useSelectNativeOptionsContext", + "__scopeSelect", + "autoComplete", + "setTrigger", + "valueNode", + "setValueNode", + "valueNodeHasChildren", + "setValueNodeHasChildren", + "triggerPointerDownPosRef", + "nativeOptionsSet", + "setNativeOptionsSet", + "nativeSelectKey", + "optionsSet", + "SelectBubbleInput", + "SelectTrigger", + "isDisabled", + "pointerTypeRef", + "resetTypeahead", + "useTypeaheadSearch", + "enabledItems", + "nextItem", + "findNextItem", + "handleOpen", + "pointerEvent", + "shouldShowPlaceholder", + "VALUE_NAME", + "SelectValue", + "valueProps", + "onValueNodeHasChildrenChange", + "ICON_NAME", + "SelectIcon", + "iconProps", + "SelectPortal", + "SelectContent", + "setFragment", + "frag", + "ReactDOM.createPortal", + "SelectContentProvider", + "SelectContentImpl", + "CONTENT_MARGIN", + "useSelectContentContext", + "CONTENT_IMPL_NAME", + "viewport", + "setViewport", + "selectedItem", + "setSelectedItem", + "selectedItemText", + "setSelectedItemText", + "setIsPositioned", + "firstValidItemFoundRef", + "firstItem", + "restItems", + "lastItem", + "focusSelectedItem", + "pointerMoveDelta", + "handlePointerMove", + "handlePointerUp", + "close", + "itemRefCallback", + "isFirstValidItem", + "handleItemLeave", + "itemTextRefCallback", + "SelectPopperPosition", + "SelectItemAlignedPosition", + "popperContentProps", + "currentElement", + "ITEM_ALIGNED_POSITION_NAME", + "popperProps", + "contentWrapper", + "setContentWrapper", + "shouldExpandOnScrollRef", + "shouldRepositionRef", + "triggerRect", + "valueNodeRect", + "itemTextRect", + "itemTextOffset", + "leftDelta", + "minContentWidth", + "contentWidth", + "rightEdge", + "clampedLeft", + "rightDelta", + "leftEdge", + "clampedRight", + "itemsHeight", + "contentStyles", + "contentBorderTopWidth", + "contentPaddingTop", + "contentBorderBottomWidth", + "contentPaddingBottom", + "fullContentHeight", + "minContentHeight", + "viewportStyles", + "viewportPaddingTop", + "viewportPaddingBottom", + "topEdgeToTriggerMiddle", + "triggerMiddleToBottomEdge", + "selectedItemHalfHeight", + "itemOffsetMiddle", + "contentTopToItemMiddle", + "itemMiddleToContentBottom", + "isLastItem", + "viewportOffsetBottom", + "clampedTriggerMiddleToBottomEdge", + "isFirstItem", + "handleScrollButtonChange", + "SelectViewportProvider", + "POPPER_POSITION_NAME", + "useSelectViewportContext", + "VIEWPORT_NAME", + "SelectViewport", + "viewportProps", + "viewportContext", + "prevScrollTopRef", + "scrolledBy", + "cssMinHeight", + "cssHeight", + "prevHeight", + "nextHeight", + "clampedNextHeight", + "heightDiff", + "SelectGroupContextProvider", + "useSelectGroupContext", + "SelectGroup", + "groupId", + "SelectLabel", + "groupContext", + "SelectItemContextProvider", + "useSelectItemContext", + "SelectItem", + "textValueProp", + "isSelected", + "setTextValue", + "textId", + "prevTextValue", + "ITEM_TEXT_NAME", + "SelectItemText", + "itemTextProps", + "itemContext", + "nativeOptionsContext", + "itemTextNode", + "setItemTextNode", + "nativeOption", + "onNativeOptionAdd", + "onNativeOptionRemove", + "SelectItemIndicator", + "SCROLL_UP_BUTTON_NAME", + "SelectScrollUpButton", + "canScrollUp", + "setCanScrollUp", + "handleScroll2", + "canScrollUp2", + "SelectScrollButtonImpl", + "SCROLL_DOWN_BUTTON_NAME", + "SelectScrollDownButton", + "canScrollDown", + "setCanScrollDown", + "maxScroll", + "canScrollDown2", + "onAutoScroll", + "scrollIndicatorProps", + "autoScrollTimerRef", + "clearAutoScrollTimer", + "SelectSeparator", + "SelectArrow", + "selectProto", + "onSearchChange", + "handleSearchChange", + "currentItemIndex", + "wrappedItems", + "Value", + "Viewport", + "ItemText", + "ScrollUpButton", + "ScrollDownButton", + "SelectPrimitive.Root", + "SelectPrimitive.Group", + "SelectPrimitive.Value", + "SelectPrimitive.Trigger", + "SelectPrimitive.Icon", + "SelectPrimitive.Portal", + "SelectPrimitive.Content", + "SelectPrimitive.Viewport", + "SelectPrimitive.Item", + "SelectPrimitive.ItemIndicator", + "SelectPrimitive.ItemText", + "SelectPrimitive.ScrollUpButton", + "SelectPrimitive.ScrollDownButton", + "Textarea", + "createTooltipContext", + "createTooltipScope", + "DEFAULT_DELAY_DURATION", + "TOOLTIP_OPEN", + "TooltipProviderContextProvider", + "useTooltipProviderContext", + "TooltipProvider", + "__scopeTooltip", + "delayDuration", + "skipDelayDuration", + "disableHoverableContent", + "isOpenDelayedRef", + "isPointerInTransitRef", + "skipDelayTimerRef", + "skipDelayTimer", + "inTransit", + "TOOLTIP_NAME", + "TooltipContextProvider", + "useTooltipContext", + "Tooltip", + "disableHoverableContentProp", + "delayDurationProp", + "providerContext", + "contentId", + "wasOpenDelayedRef", + "open2", + "stateAttribute", + "handleClose", + "handleDelayedOpen", + "TooltipTrigger", + "hasPointerMoveOpenedRef", + "TooltipPortal", + "TooltipContent", + "TooltipContentImpl", + "TooltipContentHoverable", + "pointerGraceArea", + "setPointerGraceArea", + "onClose", + "onPointerInTransitChange", + "handleRemoveGraceArea", + "handleCreateGraceArea", + "hoverTarget", + "exitPoint", + "exitSide", + "getExitSideFromRect", + "paddedExitPoints", + "getPaddedExitPoints", + "hoverTargetPoints", + "getPointsFromRect", + "graceArea", + "getHull", + "handleTriggerLeave", + "handleContentLeave", + "handleTrackPointerGrace", + "hasEnteredTarget", + "isPointerOutsideGraceArea", + "VisuallyHiddenContentContextProvider", + "useVisuallyHiddenContentContext", + "ariaLabel", + "VisuallyHiddenPrimitive.Root", + "TooltipArrow", + "bottom", + "points", + "newPoints", + "getHullPresorted", + "upperHull", + "lowerHull", + "Root3", + "TooltipPrimitive.Provider", + "TooltipPrimitive.Root", + "TooltipPrimitive.Trigger", + "TooltipPrimitive.Portal", + "TooltipPrimitive.Content", + "STANDARD_TOOLTIP_DELAY", + "maxWidth", + "ToggleSwitch", + "dimensions", + "useAutoApprovalState", + "toggles", + "autoApprovalEnabled", + "hasEnabledOptions", + "effectiveAutoApprovalEnabled", + "useAutoApprovalToggles", + "alwaysAllowReadOnly", + "alwaysAllowWrite", + "alwaysAllowExecute", + "alwaysAllowBrowser", + "alwaysAllowMcp", + "alwaysAllowModeSwitch", + "alwaysAllowSubtasks", + "alwaysApproveResubmit", + "alwaysAllowUpdateTodoList", + "MS", + "MOZ", + "WEBKIT", + "COMMENT", + "RULESET", + "DECLARATION", + "IMPORT", + "KEYFRAMES", + "LAYER", + "abs", + "assign", + "charat", + "replace", + "replacement", + "indexof", + "substr", + "begin", + "strlen", + "sizeof", + "combine", + "character", + "characters", + "siblings", + "lift", + "peek", + "caret", + "slice", + "alloc", + "dealloc", + "delimit", + "whitespace", + "escaping", + "commenter", + "identifier", + "compile", + "rulesets", + "pseudo", + "declarations", + "atrule", + "variable", + "scanning", + "ampersand", + "comment", + "declaration", + "ruleset", + "post", + "serialize", + "stringify", + "rulesheet", + "prefixer", + "unitlessKeys", + "define_process_env_default", + "d.RULESET", + "d.prefixer", + "d.stringify", + "d.compile", + "d.serialize", + "d.middleware", + "d.rulesheet", + "BannerContainer", + "styled", + "ButtonContainer", + "TelemetryBanner", + "hasChosen", + "setHasChosen", + "handleAllow", + "handleDeny", + "handleOpenSettings", + "memo", + "Package", + "publisher", + "VersionIndicator", + "escapeHtmlCache", + "escapeHtml", + "cached", + "escaped", + "highlightFzfMatch", + "highlightClassName", + "escapedText", + "useTaskSearch", + "taskHistory", + "cwd", + "searchQuery", + "setSearchQuery", + "sortOption", + "setSortOption", + "lastNonRelevantSort", + "setLastNonRelevantSort", + "showAllWorkspaces", + "setShowAllWorkspaces", + "presentableTasks", + "fzf", + "taskEndIndex", + "aTokens", + "formatLargeNumber", + "num", + "formatDate", + "date", + "locale", + "dateStr", + "DeleteButton", + "itemId", + "onDelete", + "handleDeleteClick", + "TaskItemHeader", + "isSelectionMode", + "BYTE_UNITS", + "BIBYTE_UNITS", + "BIT_UNITS", + "BIBIT_UNITS", + "toLocaleString", + "log10", + "numberOrBigInt", + "log", + "divide", + "divisor", + "integerPart", + "remainder", + "prettyBytes", + "UNITS", + "localeOptions", + "numberString", + "exponent", + "unit", + "useClipboard", + "isCopied", + "setIsCopied", + "useAddNonInteractiveClickListener", + "handleContentClick", + "CopyButton", + "itemTask", + "onCopy", + "ExportButton", + "handleExportClick", + "TaskItemFooter", + "FileIcon", + "TaskItem", + "showWorkspace", + "onToggleSelection", + "handleClick", + "isCompact", + "HistoryPreview", + "handleViewAllHistory", + "Announcement", + "hideAnnouncement", + "DiscordLink", + "RedditLink", + "fastDeepEqual", + "copyToClipboard", + "useCopyToClipboard", + "feedbackDuration", + "showCopyFeedback", + "setShowCopyFeedback", + "copyWithFeedback", + "something", + "doClone", + "cloneArray", + "cloneObj", + "mergeObjects", + "basename", + "CAPTURING_REGEX_SOURCE", + "RegexSource", + "regexSource", + "captureSource", + "captureIndices", + "commandIndex", + "capture", + "strArrCmp", + "len1", + "len2", + "isValidHexColor", + "hex", + "escapeRegExpCharacters", + "CachedFn", + "Theme", + "_colorMap", + "_defaults", + "_root", + "colorMap", + "parseTheme", + "resolveParsedThemeRules", + "scopePath", + "effectiveRule", + "_scopePathMatchesParentScopes", + "StyleAttributes", + "ScopeStack", + "_ScopeStack", + "scopeNames", + "segments", + "other", + "parentScopes", + "scopePattern", + "scopeMustMatch", + "_matchesScope", + "fontStyle", + "foregroundId", + "backgroundId", + "settings", + "resultLen", + "_scope", + "lenJ", + "ParsedThemeRule", + "FontStyle", + "FontStyle2", + "parsedThemeRules", + "defaultFontStyle", + "defaultForeground", + "defaultBackground", + "incomingDefaults", + "ColorMap", + "ThemeTrieElement", + "ThemeTrieElementRule", + "emptyParentScopes", + "_ThemeTrieElementRule", + "scopeDepth", + "_ThemeTrieElement", + "_mainRule", + "rulesWithParentScopes", + "_children", + "aParentIndex", + "bParentIndex", + "parentScopeLengthDiff", + "dotIndex", + "EncodedTokenMetadata", + "_EncodedTokenMetadata", + "encodedTokenAttributes", + "languageId", + "tokenType", + "containsBalancedBrackets", + "_languageId", + "_tokenType", + "_containsBalancedBracketsBit", + "_fontStyle", + "_foreground", + "_background", + "createMatchers", + "matchesName", + "tokenizer", + "newTokenizer", + "priority", + "parseConjunction", + "parseOperand", + "expressionToNegate", + "matcherInput", + "expressionInParents", + "parseInnerExpression", + "isIdentifier", + "identifiers", + "matchers", + "matcher2", + "disposeOnigString", + "TopLevelRuleReference", + "TopLevelRepositoryRuleReference", + "ruleName", + "ExternalReferenceCollector", + "ScopeDependencyProcessor", + "repo", + "initialScopeName", + "collectReferencesOfReference", + "baseGrammarScopeName", + "selfGrammar", + "baseGrammar", + "collectExternalReferencesInTopLevelRule", + "collectExternalReferencesInTopLevelRepositoryRule", + "injections", + "injection", + "collectExternalReferencesInRules", + "patternRepository", + "include", + "parseInclude", + "newContext", + "BaseReference", + "SelfReference", + "RelativeReference", + "TopLevelReference", + "TopLevelRepositoryReference", + "indexOfSharp", + "HAS_BACK_REFERENCES", + "BACK_REFERENCING_END", + "endRuleId", + "whileRuleId", + "Rule", + "$location", + "contentName", + "lineText", + "CaptureRule", + "retokenizeCapturedWithRuleId", + "grammar", + "endRegexSource", + "allowA", + "allowG", + "MatchRule", + "captures", + "RegExpSource", + "RegExpSourceList", + "IncludeOnlyRule", + "patterns", + "BeginEndRule", + "beginCaptures", + "endCaptures", + "applyEndPatternLast", + "BeginWhileRule", + "_while", + "whileCaptures", + "RuleFactory", + "_RuleFactory", + "helper", + "repository", + "maximumCaptureId", + "captureId", + "numericCaptureId", + "ruleId", + "localIncludedRule", + "externalGrammarName", + "externalGrammarInclude", + "externalGrammar", + "externalIncludedRule", + "skipRule", + "_RegExpSource", + "regExpSource", + "lastPushedPos", + "hasAnchor", + "nextCh", + "newSource", + "capturedValues", + "g1", + "A0_G0_result", + "A0_G1_result", + "A1_G0_result", + "A1_G1_result", + "onigLib", + "regExps", + "CompiledRule", + "startPosition", + "BasicScopeAttributes", + "BasicScopeAttributesProvider", + "initialLanguageId", + "embeddedLanguages", + "standardTokenType", + "ScopeMatcher", + "escapedScopes", + "TokenizeStringResult", + "stoppedEarly", + "_tokenizeString", + "isFirstLine", + "linePos", + "lineTokens", + "checkWhileConditions", + "timeLimit", + "lineLength", + "STOP", + "anchorPosition", + "whileCheckResult", + "_checkWhileConditions", + "startTime", + "scanNext", + "matchRuleOrInjections", + "matchedRuleId", + "hasAdvanced", + "poppedRule", + "handleCaptures", + "popped", + "_rule", + "beforePush", + "nameScopesList", + "pushedRule", + "contentNameScopesList", + "whileRules", + "nodeRule", + "whileRule", + "ruleScanner", + "findOptions", + "prepareRuleWhileSearch", + "matchResult", + "matchRule", + "injectionResult", + "matchInjections", + "matchResultScore", + "injectionResultScore", + "prepareRuleSearch", + "bestMatchRating", + "bestMatchCaptureIndices", + "bestMatchRuleId", + "bestMatchResultPriority", + "matchRating", + "lineTextContent", + "localStack", + "maxEnd", + "captureRule", + "captureIndex", + "stackClone", + "onigSubStr", + "captureRuleScopeName", + "captureRuleScopesList", + "LocalStackElement", + "endPos", + "createGrammar", + "initialLanguage", + "tokenTypes", + "balancedBracketSelectors", + "grammarRepository", + "Grammar", + "collectInjections", + "ruleFactoryHelper", + "nameMatcher", + "identifers", + "scopesAreMatching", + "thisScopeName", + "_rootScopeName", + "_onigLib", + "initGrammar", + "scopeName2", + "rawInjections", + "expression", + "injectionScopeNames", + "injectionScopeName", + "injectionGrammar", + "i1", + "i2", + "rawIncludedGrammar", + "emitBinaryTokens", + "StateStackImpl", + "rawDefaultMetadata", + "defaultStyle", + "defaultMetadata", + "rootScopeName", + "scopeList", + "AttributedScopeStack", + "onigLineText", + "LineTokens", + "_AttributedScopeStack", + "tokenAttributes", + "namesScopeList", + "rawRootMetadata", + "rootStyle", + "resolvedTokenAttributes", + "existingTokenAttributes", + "basicScopeAttributes", + "styleAttributes", + "rawMetadata", + "newPath", + "scopeThemeMatchResult", + "enterPos", + "anchorPos", + "beginRuleCapturedEOL", + "endRule", + "outIndex", + "contentNameScopeStack", + "BalancedBracketSelectors", + "balancedBracketScopes", + "unbalancedBracketScopes", + "excluder", + "includer", + "tokenTypeOverrides", + "endIndex", + "scopesList", + "scopes2", + "SyncRegistry", + "targetScope", + "rawGrammar", + "Registry", + "dependencyProcessor", + "INITIAL", + "htmlVoidElements", + "Schema", + "normal", + "space", + "definitions", + "powers", + "boolean", + "increment", + "booleanish", + "overloadedBoolean", + "spaceSeparated", + "commaSeparated", + "commaOrSpaceSeparated", + "checks", + "DefinedInfo", + "mark", + "normals", + "aria", + "caseSensitiveTransform", + "caseInsensitiveTransform", + "svg", + "xlink", + "xmlns", + "xml", + "hastToReact", + "cap", + "dash", + "valid", + "find", + "camelcase", + "dashes", + "kebab", + "$0", + "htmlBase", + "svgBase", + "own", + "zwitch", + "one", + "parameters", + "handlers", + "defaultSubsetRegex", + "surrogatePairsRegex", + "controlCharactersRegex", + "regexEscapeRegex", + "subsetToRegexCache", + "core", + "charactersToExpressionCached", + "basic", + "surrogate", + "subset", + "charactersToExpression", + "hexadecimalRegex", + "toHexadecimal", + "omit", + "decimalRegex", + "toDecimal", + "characterEntitiesLegacy", + "characterEntitiesHtml4", + "dangerous", + "notAlphanumericRegex", + "toNamed", + "formatSmart", + "numeric", + "named", + "decimal", + "stringifyEntities", + "htmlCommentRegex", + "bogusCommentEntitySubset", + "commentEntitySubset", + "_1", + "_2", + "doctype", + "_3", + "ccount", + "empty", + "siblingAfter", + "siblingBefore", + "emptyChildren", + "sibling", + "includeWhitespace", + "omission", + "closing", + "headOrColgroupOrCaption", + "optgroup", + "rubyElement", + "tbody", + "tfoot", + "thead", + "opening", + "colgroup", + "constants", + "selfClosing", + "serializeAttributes", + "serializeAttribute", + "commas", + "spaces", + "textEntitySubset", + "handle", + "invalid", + "unknown", + "node_", + "emptyOptions", + "emptyCharacterReferences", + "toHtml", + "tree", + "options_", + "alternative", + "resolveColorReplacements", + "replacements", + "themeName", + "applyColorReplacements", + "normalizeGetter", + "isPlainLang", + "isSpecialLang", + "isNoneTheme", + "isSpecialTheme", + "addClassToHast", + "splitLines", + "preserveEnding", + "createPositionConverter", + "indexToPos", + "posToIndex", + "splitToken", + "splitTokens", + "breakpoints", + "sorted", + "breakpointsInToken", + "flatTokenVariants", + "variantsOrder", + "cssVariablePrefix", + "defaultColor", + "getTokenStyleObject", + "styleKeys", + "mergedStyles", + "cur", + "keyName", + "varKey", + "decorations", + "stringifyTokenStyle", + "_grammarStateMap", + "setLastGrammarStateToMap", + "getLastGrammarStateFromMap", + "GrammarState", + "stacksMap", + "themes", + "getScopes", + "visited", + "pushScope", + "stack2", + "getGrammarStack", + "ShikiError$1", + "transformerDecorations", + "getContext", + "shiki", + "normalizePosition", + "verifyIntersections", + "codeEl", + "applyLineSection", + "decoration", + "lineEl", + "applyDecoration", + "wrapper", + "applyLine", + "lineApplies", + "foo", + "bar", + "isFooHasBarStart", + "isFooHasBarEnd", + "isBarHasFooStart", + "isBarHasFooEnd", + "builtInTransformers", + "getTransformers", + "namedColors", + "findSequence", + "nextEscape", + "nextClose", + "parseColor", + "sequence", + "colorMode", + "rgb", + "parseSequence", + "codeInt", + "createAnsiSequenceParser", + "decorations2", + "findResult", + "styleToken", + "defaultNamedColorsMap", + "createColorPalette", + "namedColorsMap", + "namedColor", + "rgbColor", + "colorTable", + "getColorTable", + "levels", + "tableColor", + "tokenizeAnsiWithTheme", + "fileContents", + "colorReplacements", + "colorPalette", + "bgColor", + "dimColor", + "hexMatch", + "alpha", + "cssVarMatch", + "codeToTokensBase", + "internal", + "_grammar", + "tokenizeWithTheme", + "getLastGrammarState", + "_tokenizeWithTheme", + "grammarState", + "tokenizeMaxLineLength", + "tokenizeTimeLimit", + "stateStack", + "actual", + "final", + "lineOffset", + "resultWithScopes", + "tokensWithScopes", + "tokensWithScopesIndex", + "tokensLength", + "nextStartIndex", + "themeSettingsSelectors", + "setting", + "selectors", + "tokenWithScopes", + "tokenWithScopesText", + "explainThemeScopesNameOnly", + "explainThemeScopesFull", + "themeSelectors", + "explainThemeScope", + "matchesOne", + "selectorParentIndex", + "parentIndex", + "selectorPieces", + "codeToTokensWithThemes", + "themedTokens", + "tokens2", + "syncThemesTokenization", + "mergedTokens", + "lineIdx", + "_token", + "tokenIdx", + "mergedToken", + "themeIdx", + "__", + "___", + "mergedGrammarState", + "outThemes", + "outLines", + "codeToTokens", + "themeTokens", + "themeRegs", + "themesOrder", + "themeColorReplacements", + "_theme", + "codeToHast", + "transformerContext", + "_code", + "mergeWhitespaces", + "mergeSameStyleTokens", + "mergeWhitespaceTokens", + "splitWhitespaceTokens", + "mergeAdjacentStyledTokens", + "contextSource", + "tokensToHast", + "transformers", + "structure", + "tabindex", + "preNode", + "codeNode", + "lineNodes", + "lineNode", + "tokenNode", + "newLine", + "carryOnContent", + "firstOffset", + "couldMerge", + "leading", + "trailing", + "expanded", + "prevToken", + "prevStyle", + "currentStyle", + "isPrevDecorated", + "isDecorated", + "hastToHtml", + "codeToHtml", + "VSCODE_FALLBACK_EDITOR_FG", + "VSCODE_FALLBACK_EDITOR_BG", + "RESOLVED_KEY", + "normalizeTheme", + "rawTheme", + "globalSetting", + "replacementCount", + "replacementMap", + "getReplacementColor", + "replaceFg", + "replaceBg", + "resolveLangs", + "langs", + "resolveThemes", + "_emitDeprecation", + "warnDeprecated", + "Registry$1", + "_resolver", + "_themes", + "_langs", + "_alias", + "textmateTheme", + "ShikiError", + "embeddedLazilyBy", + "grammarConfig", + "alias", + "langsGraphArray", + "missingLangs", + "dependents", + "embeddedLang", + "Resolver", + "engine", + "langIdOrAlias", + "scopeParts", + "subScopeName", + "instancesCount", + "createShikiInternalSync", + "isDisposed", + "_registry", + "_lastTheme", + "getLanguage", + "ensureNotDisposed", + "_lang", + "getTheme", + "getLoadedThemes", + "getLoadedLanguages", + "loadLanguageSync", + "langs2", + "loadLanguage", + "loadThemeSync", + "themes2", + "loadTheme", + "createShikiInternal", + "createHighlighterCore", + "options2", + "createdBundledHighlighter", + "bundledLanguages", + "bundledThemes", + "createHighlighter", + "resolveLang", + "bundle", + "resolveTheme", + "bundledLanguagesInfo", + "bundledLanguagesBase", + "bundledLanguagesAlias", + "bundledThemesInfo", + "getHeapMax", + "_emscripten_get_now", + "alignUp", + "multiple", + "main", + "wasmMemory", + "updateGlobalBufferAndViews", + "buf", + "_emscripten_memcpy_big", + "emscripten_realloc_buffer", + "_emscripten_resize_heap", + "requestedSize", + "oldSize", + "maxHeapSize", + "cutDown", + "overGrownHeapSize", + "newSize", + "UTF8Decoder", + "UTF8ArrayToString", + "heapOrArray", + "maxBytesToRead", + "endIdx", + "endPtr", + "u0", + "u1", + "u2", + "UTF8ToString", + "ptr", + "asmLibraryArg", + "createWasm", + "__defProp", + "__defNormalProp", + "onigBinding", + "throwLastOnigError", + "onigBinding2", + "UtfString", + "utf16Length", + "utf8Length", + "computeIndicesMapping", + "utf16OffsetToUtf8", + "utf8OffsetToUtf16", + "utf8Value", + "i8", + "i16", + "wasSurrogatePair", + "nextCharCode", + "codepoint", + "_OnigString", + "utfString", + "utf8Offset", + "utf16Offset", + "OnigString", + "OnigScanner", + "strPtrsArr", + "strLenArr", + "strPtrsPtr", + "strLenPtr", + "scannerPtr", + "debugCall", + "resultPtr", + "HEAPU32", + "beg", + "isInstantiatorOptionsObject", + "dataOrOptions", + "isInstantiatorModule", + "isDataOptionsObject", + "initPromise", + "loadWasm", + "_load", + "_makeResponseStreamingLoader", + "_makeResponseNonStreamingLoader", + "_makeArrayBufferLoader", + "importObject", + "arrayBuffer", + "createOnigurumaEngine", + "languageAliases", + "warnedLanguages", + "normalizeLanguage", + "normalizedInput", + "isLanguageLoaded", + "LANGUAGE_LOAD_DELAY", + "initialLanguages", + "getHighlighter", + "shikilang", + "loadingPromise", + "nameRe", + "nameReJsx", + "COMMENT_REGEX", + "NEWLINE_REGEX", + "WHITESPACE_REGEX", + "PROPERTY_REGEX", + "COLON_REGEX", + "VALUE_REGEX", + "SEMICOLON_REGEX", + "TRIM_REGEX", + "NEWLINE", + "FORWARD_SLASH", + "ASTERISK", + "EMPTY_STRING", + "TYPE_COMMENT", + "TYPE_DECLARATION", + "inlineStyleParser", + "lineno", + "updatePosition", + "Position", + "comments", + "decls", + "decl", + "__importDefault", + "cjs", + "StyleToObject", + "inline_style_parser_1", + "styleObject", + "hasIterator", + "utilities", + "CUSTOM_PROPERTY_REGEX", + "HYPHEN_REGEX", + "NO_HYPHEN_REGEX", + "VENDOR_PREFIX_REGEX", + "MS_VENDOR_PREFIX_REGEX", + "skipCamelCase", + "capitalize", + "trimHyphen", + "style_to_object_1", + "utilities_1", + "StyleToJS", + "pointEnd", + "pointStart", + "stringifyPosition", + "VFileMessage", + "causeOrReason", + "optionsOrParentOrPlace", + "legacyCause", + "emptyMap", + "tableElements", + "tableCellElement", + "docs", + "toJsxRuntime", + "filePath", + "developmentCreate", + "productionCreate", + "mdxExpression", + "mdxJsxElement", + "mdxEsm", + "parentSchema", + "findComponentFromName", + "createElementProps", + "createChildren", + "addNode", + "addChildren", + "assert", + "crashEstree", + "createJsxElementProps", + "jsxDEV", + "isStaticChildren", + "alignValue", + "createProperty", + "objectExpression", + "countsByName", + "parseStyle", + "transformStylesToCssCasing", + "styleToJs", + "cause", + "allowExpression", + "isIdentifierName", + "place", + "domCasing", + "cssCasing", + "transformStyleToCssCasing", + "toDash", + "CODE_BLOCK_BG_COLOR", + "WRAPPER_ALPHA", + "WINDOW_SHADE_SETTINGS", + "SCROLL_SNAP_TOLERANCE", + "CodeBlockButton", + "CodeBlockButtonWrapper", + "CodeBlockContainer", + "StyledPre", + "windowshade", + "collapsedHeight", + "preStyle", + "wordwrap", + "LanguageSelect", + "CodeBlock", + "rawSource", + "initialWordWrap", + "initialWindowShade", + "onLanguageChange", + "wordWrap", + "setWordWrap", + "windowShade", + "setWindowShade", + "currentLanguage", + "setCurrentLanguage", + "userChangedLanguageRef", + "highlightedCode", + "setHighlightedCode", + "showCollapseButton", + "setShowCollapseButton", + "codeBlockRef", + "preRef", + "copyButtonWrapperRef", + "buttonPositionTimeoutRef", + "collapseTimeout1Ref", + "collapseTimeout2Ref", + "normalizedLang", + "fallback", + "highlighter", + "hast", + "reactElement", + "codeBlock", + "actualHeight", + "wasScrolledUpRef", + "outerContainerNearBottomRef", + "preElement", + "isAtBottom", + "scrollContainer", + "handleOuterScroll", + "shouldScrollAfterHighlightRef", + "updateCodeBlockButtonPosition", + "forceHide", + "copyWrapper", + "rectCodeBlock", + "wrapperHeight", + "copyRect", + "buttonRect", + "buttonStyle", + "buttonPadding", + "scrollRect", + "copyButtonEdge", + "isPartiallyVisible", + "paddingValue", + "margin", + "isVisible", + "topPosition", + "rightPosition", + "handleResize", + "getScrollContainer", + "velocity", + "animationFrameId", + "FRICTION", + "MIN_VELOCITY", + "animate", + "handleWheel", + "isAtVeryTop", + "isAtVeryBottom", + "isSelecting", + "setIsSelecting", + "handleMouseDown", + "handleMouseUp", + "handleCopy", + "textToCopy", + "MemoizedStyledPre", + "newLang", + "MemoizedCodeContent", + "McpToolRow", + "tool", + "serverName", + "serverSource", + "isInChatContext", + "isToolEnabled", + "handleAlwaysAllowChange", + "handleEnabledForPromptChange", + "paramName", + "isRequired", + "urlAttributes", + "includeImageAlt", + "includeHtml", + "decodeNamedCharacterReference", + "characterReference", + "remove", + "chunkStart", + "combineExtensions", + "extensions", + "syntaxExtension", + "extension", + "hook", + "constructs", + "before", + "decodeNumericCharacterReference", + "normalizeIdentifier", + "asciiAlpha", + "regexCheck", + "asciiAlphanumeric", + "asciiAtext", + "asciiControl", + "asciiDigit", + "asciiHexDigit", + "asciiPunctuation", + "markdownLineEnding", + "markdownLineEndingOrSpace", + "markdownSpace", + "unicodePunctuation", + "unicodeWhitespace", + "normalizeUri", + "factorySpace", + "effects", + "initializeContent", + "contentStart", + "afterContentStartConstruct", + "paragraphInitial", + "lineStart", + "document", + "initializeDocument", + "containerConstruct", + "tokenizeContainer", + "continued", + "childFlow", + "childToken", + "lineStartOffset", + "documentContinue", + "checkNewContainers", + "closeFlow", + "indexBeforeExits", + "indexBeforeFlow", + "exitContainers", + "documentContinued", + "flowStart", + "thereIsANewContainer", + "thereIsNoNewContainer", + "containerContinue", + "flowContinue", + "writeToChild", + "endOfFile", + "nok", + "classifyCharacter", + "resolveAll", + "called", + "attention", + "resolveAllAttention", + "tokenizeAttention", + "openingSequence", + "closingSequence", + "use", + "nextEvents", + "movePoint", + "attentionMarkers", + "after", + "autolink", + "tokenizeAutolink", + "schemeOrEmailAtext", + "emailAtext", + "schemeInsideOrEmailAtext", + "urlInside", + "emailAtSignOrDot", + "emailLabel", + "emailValue", + "blankLine", + "tokenizeBlankLine", + "blockQuote", + "tokenizeBlockQuoteContinuation", + "exit", + "tokenizeBlockQuoteStart", + "contStart", + "contBefore", + "characterEscape", + "tokenizeCharacterEscape", + "tokenizeCharacterReference", + "nonLazyContinuation", + "tokenizeNonLazyContinuation", + "codeFenced", + "tokenizeCodeFenced", + "closeStart", + "tokenizeCloseStart", + "initialPrefix", + "sizeOpen", + "beforeSequenceOpen", + "sequenceOpen", + "infoBefore", + "atNonLazyBreak", + "metaBefore", + "meta", + "contentBefore", + "beforeContentChunk", + "contentChunk", + "startBefore", + "beforeSequenceClose", + "sequenceClose", + "sequenceCloseAfter", + "codeIndented", + "tokenizeCodeIndented", + "furtherStart", + "tokenizeFurtherStart", + "afterPrefix", + "atBreak", + "codeText", + "resolveCodeText", + "tokenizeCodeText", + "tailExitIndex", + "headEnterIndex", + "enter", + "between", + "SpliceBuffer", + "initial", + "chunkedPush", + "subtokenize", + "eventsArray", + "jumps", + "lineIndex", + "otherIndex", + "otherEvent", + "subevents", + "more", + "subcontent", + "eventIndex", + "startPositions", + "childEvents", + "gaps", + "adjust", + "breaks", + "resolveContent", + "tokenizeContent", + "continuationConstruct", + "tokenizeContinuation", + "chunkInside", + "contentEnd", + "contentContinue", + "startLookahead", + "prefixed", + "factoryDestination", + "literalMarkerType", + "rawType", + "balance", + "enclosedBefore", + "enclosed", + "enclosedEscape", + "rawEscape", + "factoryLabel", + "markerType", + "labelInside", + "labelEscape", + "factoryTitle", + "factoryWhitespace", + "tokenizeDefinition", + "titleBefore", + "tokenizeTitleBefore", + "labelAfter", + "markerAfter", + "destinationBefore", + "destinationAfter", + "afterWhitespace", + "beforeMarker", + "titleAfter", + "titleAfterOptionalWhitespace", + "hardBreakEscape", + "tokenizeHardBreakEscape", + "headingAtx", + "resolveHeadingAtx", + "tokenizeHeadingAtx", + "sequenceFurther", + "htmlBlockNames", + "htmlRawNames", + "htmlFlow", + "resolveToHtmlFlow", + "tokenizeHtmlFlow", + "blankLineBefore", + "tokenizeBlankLineBefore", + "nonLazyContinuationStart", + "tokenizeNonLazyContinuationStart", + "closingTag", + "markerB", + "declarationOpen", + "tagCloseStart", + "continuationDeclarationInside", + "commentOpenInside", + "cdataOpenInside", + "basicSelfClosing", + "completeClosingTagAfter", + "completeAttributeNameBefore", + "completeEnd", + "completeAttributeName", + "completeAttributeNameAfter", + "completeAttributeValueBefore", + "completeAttributeValueQuoted", + "completeAttributeValueUnquoted", + "completeAttributeValueQuotedAfter", + "completeAfter", + "continuationCommentInside", + "continuationRawTagOpen", + "continuationClose", + "continuationCdataInside", + "continuationAfter", + "continuationStart", + "continuationStartNonLazy", + "continuationBefore", + "continuationRawEndTag", + "htmlText", + "tokenizeHtmlText", + "returnState", + "instruction", + "tagOpen", + "commentEnd", + "commentClose", + "lineEndingBefore", + "cdata", + "cdataClose", + "cdataEnd", + "instructionClose", + "tagClose", + "tagCloseBetween", + "tagOpenBetween", + "tagOpenAttributeName", + "tagOpenAttributeNameAfter", + "tagOpenAttributeValueBefore", + "tagOpenAttributeValueQuoted", + "tagOpenAttributeValueUnquoted", + "tagOpenAttributeValueQuotedAfter", + "lineEndingAfter", + "lineEndingAfterPrefix", + "labelEnd", + "resolveAllLabelEnd", + "resolveToLabelEnd", + "tokenizeLabelEnd", + "resourceConstruct", + "tokenizeResource", + "referenceFullConstruct", + "tokenizeReferenceFull", + "referenceCollapsedConstruct", + "tokenizeReferenceCollapsed", + "newEvents", + "media", + "labelStart", + "defined", + "labelEndNok", + "labelEndOk", + "referenceNotFull", + "resourceStart", + "resourceBefore", + "resourceOpen", + "resourceEnd", + "resourceDestinationAfter", + "resourceDestinationMissing", + "resourceBetween", + "resourceTitleAfter", + "referenceFull", + "referenceFullAfter", + "referenceFullMissing", + "referenceCollapsedStart", + "referenceCollapsedOpen", + "labelStartImage", + "tokenizeLabelStartImage", + "labelStartLink", + "tokenizeLabelStartLink", + "lineEnding", + "tokenizeLineEnding", + "thematicBreak", + "tokenizeThematicBreak", + "tokenizeListContinuation", + "tokenizeListEnd", + "tokenizeListStart", + "listItemPrefixWhitespaceConstruct", + "tokenizeListItemPrefixWhitespace", + "indentConstruct", + "tokenizeIndent", + "initialSize", + "atMarker", + "onBlank", + "endOfPrefix", + "otherPrefix", + "notBlank", + "notInCurrentItem", + "setextUnderline", + "resolveToSetextUnderline", + "tokenizeSetextUnderline", + "heading", + "paragraph", + "flow", + "initializeFlow", + "atBlankEnding", + "afterConstruct", + "createResolver", + "initializeFactory", + "resolveAllLineSuffixes", + "initializeText", + "notText", + "extraResolver", + "resolveAllText", + "chunks", + "bufferIndex", + "contentInitial", + "flowInitial", + "insideSpan", + "resolveText", + "disable", + "createTokenizer", + "columnStart", + "resolveAllConstructs", + "constructFactory", + "onsuccessfulconstruct", + "onsuccessfulcheck", + "consume", + "defineSkip", + "sliceSerialize", + "sliceStream", + "write", + "addResult", + "expandTabs", + "serializeChunks", + "sliceChunks", + "_bufferIndex", + "_index", + "accountForPotentialSkip", + "chunkIndex", + "fields", + "construct", + "onreturn", + "bogusState", + "listOfConstructs", + "constructIndex", + "currentConstruct", + "handleListOfConstructs", + "handleMapOfConstructs", + "handleConstruct", + "startPoint", + "startPrevious", + "startCurrentConstruct", + "startEventsIndex", + "startStack", + "restore", + "startBufferIndex", + "endBufferIndex", + "atTab", + "defaultConstructs", + "creator", + "postprocess", + "atCarriageReturn", + "preprocessor", + "encoding", + "endPosition", + "characterEscapeOrReference", + "decodeString", + "decode", + "$1", + "$2", + "fromMarkdown", + "compiler", + "opener", + "onenterdata", + "codeFlow", + "emphasis", + "hardBreak", + "image", + "listItem", + "onenterlistitemvalue", + "onenterlistordered", + "onenterreference", + "strong", + "closer", + "onexitatxheadingsequence", + "onexitautolinkemail", + "onexitautolinkprotocol", + "onexitdata", + "onexitcharacterreferencemarker", + "onexitcharacterreferencevalue", + "onexitcharacterreference", + "onexitcodefenced", + "onexitcodefencedfence", + "onexitcodefencedfenceinfo", + "onexitcodefencedfencemeta", + "onexitcodeindented", + "onexitcodetext", + "onexitdefinitiondestinationstring", + "onexitdefinitionlabelstring", + "onexitdefinitiontitlestring", + "onexithardbreak", + "onexithtmlflow", + "onexithtmltext", + "onexitimage", + "onexitlabel", + "onexitlabeltext", + "onexitlineending", + "onexitlink", + "onexitreferencestring", + "onexitresourcedestinationstring", + "onexitresourcetitlestring", + "onexitresource", + "onexitsetextheading", + "onexitsetextheadinglinesequence", + "onexitsetextheadingtext", + "resume", + "listStack", + "prepareList", + "defaultOnError", + "containerBalance", + "listSpread", + "firstBlankLineIndex", + "tailIndex", + "tailEvent", + "and", + "errorHandler", + "onExitError", + "depth", + "referenceType", + "combined", + "remarkParse", + "doc", + "blockquote", + "strikethrough", + "footnoteReference", + "clobberPrefix", + "safeId", + "reuseCounter", + "sup", + "revert", + "subtype", + "contents", + "imageReference", + "inlineCode", + "linkReference", + "loose", + "listLoose", + "listItemLoose", + "table", + "rows", + "tableContent", + "tableRow", + "cellIndex", + "cell", + "tableCell", + "trimLines", + "trimLine", + "VOID", + "PRIMITIVE", + "ARRAY", + "OBJECT", + "DATE", + "REGEXP", + "MAP", + "SET", + "ERROR", + "BIGINT", + "deserializer", + "unpair", + "deserialize", + "serialized", + "EMPTY", + "typeOf", + "asString", + "shouldSkip", + "TYPE", + "serializer", + "strict", + "json", + "lossy", + "structuredClone$1", + "any", + "defaultFootnoteBackContent", + "rereferenceIndex", + "defaultFootnoteBackLabel", + "referenceIndex", + "footer", + "footnoteBackContent", + "footnoteBackLabel", + "footnoteLabel", + "footnoteLabelTagName", + "footnoteLabelProperties", + "listItems", + "backReferences", + "counts", + "tailTail", + "structuredClone", + "convert", + "castFactory", + "anyFactory", + "propsFactory", + "typeFactory", + "tests", + "checkAsRecord", + "nodeAsRecord", + "testFunction", + "looksLikeANode", + "CONTINUE", + "EXIT", + "SKIP", + "visitParents", + "parents", + "subresult", + "grandparents", + "toResult", + "nodeAsParent", + "testOrVisitor", + "visitorOrReverse", + "maybeReverse", + "overload", + "createState", + "definitionById", + "footnoteById", + "footnoteCounts", + "defaultHandlers", + "applyData", + "patch", + "shallow", + "defaultUnknownHandler", + "trimMarkdownSpaceStart", + "hName", + "hChildren", + "hProperties", + "toHast", + "foot", + "remarkRehype", + "destination", + "hastTree", + "bail", + "hasOwn", + "toStr", + "defineProperty", + "gOPD", + "hasOwnConstructor", + "hasIsPrototypeOf", + "setProperty", + "getProperty", + "copyIsArray", + "trough", + "pipeline", + "middlewareIndex", + "middelware", + "wrapped", + "fnExpectsCallback", + "exception", + "then", + "minpath", + "dirname", + "extname", + "assertPath", + "seenNonSlash", + "firstNonSlashEnd", + "extnameIndex", + "unmatchedSlash", + "startPart", + "startDot", + "preDotState", + "absolute", + "normalizeString", + "allowAboveRoot", + "lastSegmentLength", + "lastSlash", + "lastSlashIndex", + "minproc", + "isUrl", + "fileUrlOrPath", + "urlToPath", + "getPathFromURLPosix", + "pathname", + "VFile", + "isUint8Array", + "assertNonEmpty", + "assertPart", + "stem", + "CallableInstance", + "Processor", + "attacher", + "assertUnfrozen", + "realFile", + "vfile", + "assertParser", + "assertCompiler", + "parseTree", + "realDone", + "compileTree", + "compileResult", + "looksLikeAValue", + "complete", + "assertDone", + "assertNode", + "outputTree", + "resultingTree", + "attachers", + "addPlugin", + "addList", + "addPreset", + "add", + "plugin", + "plugins", + "entryIndex", + "primary", + "currentPrimary", + "isPlainObj", + "unified", + "frozen", + "asyncName", + "looksLikeAVFile", + "changelog", + "emptyPlugins", + "emptyRemarkRehypeOptions", + "safeProtocol", + "deprecations", + "Markdown", + "createProcessor", + "createFile", + "rehypePlugins", + "remarkPlugins", + "remarkRehypeOptions", + "allowedElements", + "allowElement", + "disallowedElements", + "skipHtml", + "unwrapDisallowed", + "urlTransform", + "defaultUrlTransform", + "deprecation", + "colon", + "questionMark", + "numberSign", + "parseSelector", + "defaultTagName", + "subvalue", + "createH", + "createAdjustMap", + "lower", + "adjusted", + "isChild", + "addProperty", + "addChild", + "parseSpaces", + "parseCommas", + "parsePrimitive", + "finalResult", + "svgCaseSensitiveTagNames", + "webNamespaces", + "fromDom", + "transformed", + "fromHtmlIsomorphic", + "parseFragment", + "findAfter", + "convertElement", + "tagNameFactory", + "looksLikeAnElement", + "searchLineFeeds", + "searchTabOrSpaces", + "isCell", + "notRendered", + "closedDialog", + "blockOrCaption", + "toText", + "block", + "inferWhitespace", + "collectText", + "renderedTextCollection", + "collectElement", + "collectPreText", + "trimAndCollapseSpacesAndTabs", + "breakBefore", + "breakAfter", + "emptyClasses", + "rehypeKatex", + "languageMath", + "mathDisplay", + "mathInline", + "displayMode", + "katex", + "longestStreak", + "substring", + "expected", + "mathFromMarkdown", + "enterMathFlow", + "enterMathFlowMeta", + "enterMathText", + "exitMathFlow", + "exitMathFlowFence", + "exitMathFlowMeta", + "exitMathData", + "exitMathText", + "mathToMarkdown", + "single", + "inlineMath", + "inlineMathPeek", + "math", + "tracker", + "subexit", + "mathFlow", + "tokenizeMathFenced", + "metaAfter", + "beforeNonLazyContinuation", + "tokenizeClosingFence", + "afterSequenceClose", + "mathText", + "tokenizeMathText", + "resolveMathText", + "remarkMath", + "micromarkExtensions", + "fromMarkdownExtensions", + "toMarkdownExtensions", + "escapeStringRegexp", + "findAndReplace", + "ignored", + "toPairs", + "pairIndex", + "grandparent", + "change", + "matchObject", + "tupleOrList", + "tuple", + "toExpression", + "toFunction", + "inConstruct", + "notInConstruct", + "gfmAutolinkLiteralFromMarkdown", + "transformGfmAutolinkLiterals", + "enterLiteralAutolink", + "enterLiteralAutolinkValue", + "exitLiteralAutolink", + "exitLiteralAutolinkEmail", + "exitLiteralAutolinkHttp", + "exitLiteralAutolinkWww", + "gfmAutolinkLiteralToMarkdown", + "findUrl", + "findEmail", + "isCorrectDomain", + "splitUrl", + "atext", + "trailExec", + "trail", + "closingParenIndex", + "openingParens", + "closingParens", + "email", + "footnoteReferencePeek", + "enterFootnoteCallString", + "enterFootnoteCall", + "enterFootnoteDefinitionLabelString", + "enterFootnoteDefinition", + "exitFootnoteCallString", + "exitFootnoteCall", + "exitFootnoteDefinitionLabelString", + "exitFootnoteDefinition", + "gfmFootnoteFromMarkdown", + "gfmFootnoteToMarkdown", + "firstLineBlank", + "footnoteDefinition", + "mapAll", + "mapExceptFirst", + "blank", + "constructsWithoutStrikethrough", + "handleDelete", + "peekDelete", + "gfmStrikethroughFromMarkdown", + "enterStrikethrough", + "exitStrikethrough", + "gfmStrikethroughToMarkdown", + "defaultStringLength", + "markdownTable", + "stringLength", + "alignments", + "cellMatrix", + "sizeMatrix", + "longestCellByColumn", + "mostCellsPerRow", + "toAlignment", + "patternInScope", + "listInScope", + "none", + "formatCodeAsIndented", + "checkFence", + "checkQuote", + "checkEmphasis", + "encodeCharacterReference", + "encodeInfo", + "outside", + "outsideKind", + "insideKind", + "emphasisPeek", + "betweenHead", + "betweenTail", + "formatHeadingAsSetext", + "literalWithBreak", + "rank", + "htmlPeek", + "imagePeek", + "imageReferencePeek", + "alt", + "inlineCodePeek", + "formatLinkAsAutolink", + "linkPeek", + "linkReferencePeek", + "checkBullet", + "checkBulletOther", + "bullet", + "bulletOther", + "checkBulletOrdered", + "checkRule", + "bulletCurrent", + "useDifferentMarker", + "firstListItem", + "checkListItemIndent", + "listItemIndent", + "phrasing", + "checkStrong", + "strongPeek", + "checkRuleRepetition", + "repetition", + "gfmTableFromMarkdown", + "enterTable", + "enterCell", + "enterRow", + "exitCodeText", + "exitTable", + "gfmTableToMarkdown", + "alignDelimiters", + "around", + "inlineCodeWithTable", + "handleTable", + "handleTableCell", + "handleTableRow", + "serializeData", + "handleTableAsData", + "handleTableRowAsData", + "matrix", + "gfmTaskListItemFromMarkdown", + "exitCheck", + "exitParagraphWithTaskListItem", + "gfmTaskListItemToMarkdown", + "listItemWithTaskListItem", + "firstParaghraph", + "checkable", + "checkbox", + "gfmFromMarkdown", + "gfmToMarkdown", + "wwwPrefix", + "tokenizeWwwPrefix", + "tokenizeDomain", + "tokenizePath", + "tokenizeTrail", + "emailDomainDotTrail", + "tokenizeEmailDomainDotTrail", + "wwwAutolink", + "tokenizeWwwAutolink", + "previousWww", + "protocolAutolink", + "tokenizeProtocolAutolink", + "previousProtocol", + "emailAutolink", + "tokenizeEmailAutolink", + "previousEmail", + "gfmAutolinkLiteral", + "dot", + "gfmAtext", + "previousUnbalanced", + "emailDomain", + "emailDomainAfter", + "emailDomainDot", + "wwwStart", + "wwwAfter", + "protocolStart", + "protocolPrefixInside", + "protocolSlashesInside", + "afterProtocol", + "protocolAfter", + "wwwPrefixInside", + "wwwPrefixAfter", + "underscoreInLastSegment", + "underscoreInLastLastSegment", + "domainInside", + "domainAfter", + "domainAtPunctuation", + "sizeClose", + "pathInside", + "pathAtPunctuation", + "trailCharacterReferenceStart", + "trailBracketAfter", + "trailCharacterReferenceInside", + "indent", + "gfmFootnote", + "tokenizeDefinitionStart", + "tokenizeDefinitionContinuation", + "gfmFootnoteDefinitionEnd", + "tokenizeGfmFootnoteCall", + "tokenizePotentialGfmFootnoteCall", + "resolveToPotentialGfmFootnoteCall", + "call", + "callStart", + "callData", + "callEscape", + "labelAtMarker", + "whitespaceAfter", + "gfmStrikethrough", + "tokenizeStrikethrough", + "resolveAllStrikethrough", + "EditMap", + "addImplementation", + "vecs", + "editMap", + "gfmTableAlign", + "inDelimiterRow", + "alignIndex", + "gfmTable", + "tokenizeTable", + "resolveTable", + "sizeB", + "bodyRowStart", + "headRowBefore", + "headRowStart", + "headRowBreak", + "headDelimiterStart", + "headRowData", + "headRowEscape", + "headDelimiterBefore", + "headDelimiterValueBefore", + "headDelimiterCellBefore", + "headDelimiterNok", + "headDelimiterLeftAlignmentAfter", + "headDelimiterCellAfter", + "headDelimiterFiller", + "headDelimiterRightAlignmentAfter", + "bodyRowBreak", + "bodyRowData", + "bodyRowEscape", + "inFirstCellAwaitingPipe", + "rowKind", + "lastCell", + "afterHeadAwaitingFirstBodyRow", + "lastTableEnd", + "currentTable", + "currentBody", + "currentCell", + "flushTableEnd", + "flushCell", + "rowEnd", + "previousCell", + "valueName", + "getPoint", + "relatedStart", + "relatedEnd", + "valueToken", + "tableBody", + "exits", + "related", + "tasklistCheck", + "tokenizeTasklistCheck", + "gfmTaskListItem", + "spaceThenNonSpace", + "gfm", + "remarkGfm", + "IconButton", + "icon", + "onMouseDown", + "onMouseUp", + "onMouseLeave", + "sizeClasses", + "variantClasses", + "button", + "ZoomControls", + "zoomLevel", + "zoomInTitle", + "zoomOutTitle", + "useContinuousZoom", + "adjustZoom", + "zoomInStep", + "zoomOutStep", + "onZoomIn", + "onZoomOut", + "zoomIntervalRef", + "startContinuousZoom", + "amount", + "stopContinuousZoom", + "MermaidActionButtons", + "onZoom", + "onSave", + "onViewCode", + "copyFeedback", + "showZoomControls", + "Modal", + "TabButton", + "MIN_ZOOM", + "MAX_ZOOM", + "MermaidButton", + "svgToPng", + "showModal", + "setShowModal", + "setZoomLevel", + "setCopyFeedback", + "isHovering", + "setIsHovering", + "modalViewMode", + "setModalViewMode", + "isDragging", + "setIsDragging", + "dragPosition", + "setDragPosition", + "handleZoom", + "handleSave", + "svgEl", + "pngDataUrl", + "newZoom", + "handleMouseEnter", + "handleMouseLeave", + "MERMAID_THEME", + "mermaid", + "MermaidBlock", + "setIsLoading", + "isErrorExpanded", + "setIsErrorExpanded", + "MermaidBlockContainer", + "LoadingMessage", + "combinedContent", + "SvgContainer", + "svgClone", + "viewBox", + "originalWidth", + "originalHeight", + "editorWidth", + "scaledHeight", + "svgString", + "svgDataUrl", + "img", + "canvas", + "StyledMarkdown", + "MarkdownBlock", + "markdown", + "href", + "_props", + "codeChildren", + "codeString", + "ReactMarkdown", + "partial", + "McpExecution", + "executionId", + "initialServerName", + "initialToolName", + "isArguments", + "server", + "useMcpServer", + "setStatus", + "responseText", + "setResponseText", + "argumentsText", + "setArgumentsText", + "setServerName", + "toolName", + "setToolName", + "isResponseExpanded", + "setIsResponseExpanded", + "tryParseJson", + "argumentsData", + "trimmed", + "formattedResponseText", + "formattedArgumentsText", + "responseIsJson", + "onToggleResponseExpand", + "onMessage", + "ResponseContainer", + "ResponseContainerInternal", + "isExpanded", + "isJson", + "hasArguments", + "isPartial", + "findMatchingTemplate", + "uri", + "templates", + "findMatchingResourceOrTemplate", + "exactMatch", + "resource", + "removeLeadingNonAlphanumeric", + "extensionToLanguage", + "getLanguageFromPath", + "useLatest", + "updateRef", + "useComposedRef", + "libRef", + "prevUserRef", + "HIDDEN_TEXTAREA_STYLE", + "forceHiddenStyles", + "forceHiddenStyles$1", + "hiddenTextarea", + "getHeight", + "sizingData", + "calculateNodeHeight", + "minRows", + "maxRows", + "paddingSize", + "sizingStyle", + "boxSizing", + "rowHeight", + "pick", + "SIZING_STYLE", + "isIE", + "getSizingData", + "getSizingData$1", + "useListener", + "latestListener", + "ev", + "useFormResetListener", + "useWindowResizeListener", + "useFontsLoadedListener", + "TextareaAutosize", + "cacheMeasurements", + "_ref$onChange", + "_ref$onHeightChange", + "onHeightChange", + "measurementsCacheRef", + "resizeTextarea", + "nodeSizingData", + "_calculateNodeHeight", + "currentValue", + "mentionRegex", + "mentionRegexGlobal", + "commandRegexGlobal", + "unescapeSpaces", + "escapeSpaces", + "convertToMentionPath", + "pathWithoutProtocol", + "protocolStripped", + "firstSlashIndex", + "normalizedPath", + "normalizedCwd", + "lowerPath", + "lowerCwd", + "relativePath", + "getModeDescription", + "getBasename", + "filepath", + "insertMention", + "isSlashCommand", + "beforeCursor", + "afterCursor", + "lastAtIndex", + "processedValue", + "mentionIndex", + "beforeMention", + "afterCursorContent", + "removeMention", + "matchEnd", + "mentionLength", + "newText", + "newPosition", + "ContextMenuOptionType", + "getContextMenuOptions", + "selectedType", + "queryItems", + "dynamicSearchResults", + "slashQuery", + "searchableCommands", + "matchingCommands", + "matchingModes", + "workingChanges", + "files", + "folders", + "commits", + "lowerQuery", + "suggestions", + "exactMatches", + "openedFileMatches", + "gitMatches", + "searchResultItems", + "formattedPath", + "displayPath", + "displayName", + "deduped", + "normalizedValue", + "shouldShowContextMenu", + "textAfterAt", + "Thumbnails", + "images", + "setImages", + "hoveredIndex", + "setHoveredIndex", + "prevImages", + "isDeletable", + "handleImageClick", + "iconClass", + "buttonClasses", + "iconClasses", + "SEARCH_THRESHOLD", + "ModeSelector", + "modeShortcutText", + "hasOpenedModeSelector", + "setHasOpenedModeSelector", + "trackModeSelectorOpened", + "selectedMode", + "nameSearchItems", + "descriptionSearchItems", + "nameFzfInstance", + "descriptionFzfInstance", + "filteredModes", + "nameMatches", + "nameMatchedModes", + "descriptionMatches", + "showSearch", + "instructionText", + "ApiConfigSelector", + "listApiConfigMeta", + "pinnedApiConfigs", + "togglePinnedApiConfig", + "filteredConfigs", + "pinnedConfigs", + "unpinnedConfigs", + "pinned", + "unpinned", + "handleEditClick", + "renderConfigItem", + "isPinned", + "isCurrentConfig", + "icon_map_default", + "filenameFromPath", + "getIconNameForFileName", + "getFileSuffix", + "getFileExtension", + "getIconNameForDirectoryName", + "dirName", + "getIconUrlByName", + "iconsUrl", + "getIconForFilePath", + "getIconForDirectoryPath", + "ContextMenu", + "setSelectedIndex", + "materialIconsBaseUri", + "setMaterialIconsBaseUri", + "menuRef", + "selectedElement", + "menuRect", + "selectedRect", + "renderOptionContent", + "pathList", + "filename", + "folderPath", + "getIconForOption", + "getMaterialIconForOption", + "isOptionSelectable", + "useTooltip", + "showTooltip", + "setShowTooltip", + "DEFAULT_QDRANT_URL", + "DEFAULT_OLLAMA_URL", + "createValidationSchema", + "baseSchema", + "CodeIndexPopover", + "externalIndexingStatus", + "SECRET_PLACEHOLDER", + "codebaseIndexConfig", + "codebaseIndexModels", + "isAdvancedSettingsOpen", + "setIsAdvancedSettingsOpen", + "isSetupSettingsOpen", + "setIsSetupSettingsOpen", + "indexingStatus", + "setIndexingStatus", + "saveStatus", + "setSaveStatus", + "saveError", + "setSaveError", + "setFormErrors", + "isDiscardDialogShow", + "setDiscardDialogShow", + "confirmDialogHandler", + "getDefaultSettings", + "initialSettings", + "setInitialSettings", + "currentSettings", + "setCurrentSettings", + "currentSettingsRef", + "savedSettings", + "secretStatus", + "updateWithSecrets", + "updated", + "hasUnsavedChanges", + "allKeys", + "uniqueKeys", + "updateSetting", + "newErrors", + "validateSettings", + "dataToValidate", + "errors", + "checkUnsavedChanges", + "onConfirmDialogResult", + "confirm", + "handlePopoverClose", + "handleSaveSettings", + "settingsToSave", + "progressPercentage", + "transformStyleString", + "getAvailableModels", + "newOpen", + "model", + "AlertTriangle", + "IndexingStatusBadge", + "isHovered", + "setIsHovered", + "getTooltipText", + "handleMouseEnterButton", + "handleMouseLeaveButton", + "getStatusColorClass", + "statusColors", + "colors", + "SlashCommandItem", + "handleEdit", + "Edit", + "SlashCommandsList", + "onRefresh", + "deleteDialogOpen", + "setDeleteDialogOpen", + "commandToDelete", + "setCommandToDelete", + "globalNewName", + "setGlobalNewName", + "workspaceNewName", + "setWorkspaceNewName", + "hasWorkspace", + "handleDeleteConfirm", + "handleDeleteCancel", + "handleCreateCommand", + "handleCommandClick", + "globalCommands", + "projectCommands", + "SlashCommandsPopover", + "setIsOpen", + "handleRefresh", + "usePromptHistory", + "clineMessages", + "inputValue", + "setInputValue", + "historyIndex", + "setHistoryIndex", + "tempInput", + "setTempInput", + "promptHistory", + "setPromptHistory", + "filteredPromptHistory", + "conversationPrompts", + "resetOnInputChange", + "setCursorPosition", + "textarea", + "navigateToHistory", + "newIndex", + "historicalPrompt", + "returnToCurrentInput", + "handleHistoryNavigation", + "showContextMenu", + "isComposing", + "selectionStart", + "selectionEnd", + "hasSelection", + "isAtBeginning", + "isAtEnd", + "resetHistoryNavigation", + "EditModeControls", + "onModeChange", + "onCancel", + "onSend", + "onSelectImages", + "sendingDisabled", + "shouldDisableImages", + "ChatTextArea", + "selectApiConfigDisabled", + "placeholderText", + "selectedImages", + "setSelectedImages", + "setMode", + "isEditMode", + "currentApiConfigName", + "currentConfigId", + "currentConfig", + "gitCommits", + "setGitCommits", + "showDropdown", + "setShowDropdown", + "fileSearchResults", + "setFileSearchResults", + "searchLoading", + "setSearchLoading", + "searchRequestId", + "setSearchRequestId", + "handleClickOutside", + "messageHandler", + "setIsEnhancingPrompt", + "textBefore", + "newCursorPos", + "isDraggingOver", + "setIsDraggingOver", + "textAreaBaseHeight", + "setTextAreaBaseHeight", + "setShowContextMenu", + "cursorPosition", + "isMouseDownOnMenu", + "setIsMouseDownOnMenu", + "highlightLayerRef", + "selectedMenuIndex", + "setSelectedMenuIndex", + "setSelectedType", + "justDeletedSpaceAfterMention", + "setJustDeletedSpaceAfterMention", + "intendedCursorPosition", + "setIntendedCursorPosition", + "contextMenuContainerRef", + "isEnhancingPrompt", + "handleEnhancePrompt", + "trimmedInput", + "handleMentionSelect", + "commandMention", + "insertValue", + "newCursorPosition", + "prevIndex", + "selectableOptions", + "newSelectableIndex", + "charBeforeCursor", + "charAfterCursor", + "charBeforeIsWhitespace", + "charAfterIsWhitespace", + "searchTimeoutRef", + "handleInputChange", + "showMenu", + "reqId", + "handleBlur", + "handlePaste", + "pastedText", + "trimmedUrl", + "acceptedTypes", + "imageItems", + "imagePromises", + "blob", + "dataUrls", + "dataUrl", + "MAX_IMAGES_PER_MESSAGE", + "handleMenuMouseDown", + "updateHighlights", + "isValidCommand", + "commandName", + "processedText", + "startsWithSpace", + "commandPart", + "updateCursorPosition", + "handleKeyUp", + "handleDrop", + "textFieldList", + "textUriList", + "totalLength", + "mentionText", + "imageFiles", + "isTtsPlaying", + "setIsTtsPlaying", + "placeholderBottomText", + "handleModeChange", + "renderModeSelector", + "handleApiConfigChange", + "renderNonEditModeControls", + "renderTextAreaSection", + "DynamicTextArea", + "ToolUseBlock", + "ToolUseBlockHeader", + "STATUS_OPTIONS", + "genId", + "UpdateTodoListToolBlock", + "todos", + "editable", + "userEdited", + "editTodos", + "setEditTodos", + "adding", + "setAdding", + "newContent", + "setNewContent", + "newInputRef", + "deleteId", + "setDeleteId", + "isEditing", + "setIsEditing", + "handleContentChange", + "newTodos", + "handleStatusChange", + "confirmDelete", + "cancelDelete", + "handleAdd", + "newTodo", + "handleNewInputKeyDown", + "CodeAccordian", + "progressStatus", + "isFeedback", + "onToggleExpand", + "onJumpToFile", + "inferredLanguage", + "hasHeader", + "ReasoningBlock", + "elapsed", + "isCollapsed", + "onToggleCollapse", + "elapsedRef", + "thought", + "setThought", + "prevThought", + "setPrevThought", + "isTransitioning", + "setIsTransitioning", + "cursorRef", + "queueRef", + "processNextTransition", + "nextThought", + "McpResourceRow", + "Mention", + "withShadow", + "CheckpointMenu", + "commitHash", + "currentHash", + "checkpoint", + "isConfirming", + "setIsConfirming", + "isCurrent", + "previousCommitHash", + "onCheckpointDiff", + "onPreview", + "onRestore", + "checkpointSchema", + "CheckpointSaved", + "DEFAULT_FOLLOWUP_TIMEOUT_MS", + "COUNTDOWN_INTERVAL_MS", + "FollowUpSuggest", + "onSuggestionClick", + "onCancelAutoApproval", + "isAnswered", + "countdown", + "setCountdown", + "suggestionSelected", + "setSuggestionSelected", + "timeoutMs", + "intervalId", + "prevCountdown", + "handleSuggestionClick", + "suggestion", + "isFirstSuggestion", + "BatchFilePermission", + "onPermissionResponse", + "BatchDiffApproval", + "expandedFiles", + "setExpandedFiles", + "handleToggleExpand", + "combinedDiff", + "CommandPatternSelector", + "onAllowPatternChange", + "onDenyPatternChange", + "setIsExpanded", + "editingStates", + "setEditingStates", + "allPatterns", + "seenPatterns", + "getPatternStatus", + "getEditState", + "setEditState", + "editState", + "extractPatternsFromCommand", + "commandSeparators", + "currentTokens", + "extractFromTokens", + "firstWord", + "mainCmd", + "breakingExps", + "maxLevels", + "CommandExecution", + "terminalShellIntegrationDisabled", + "setAllowedCommands", + "setDeniedCommands", + "parsedOutput", + "parseCommandAndOutput", + "streamingOutput", + "setStreamingOutput", + "commandPatterns", + "handleAllowPatternChange", + "newAllowed", + "newDenied", + "handleDenyPatternChange", + "OutputContainer", + "OutputContainerInternal", + "CommandExecutionError", + "AutoApprovedRequestLimitWarning", + "buttonClicked", + "setButtonClicked", + "isCostLimit", + "titleKey", + "descriptionKey", + "buttonKey", + "ContextCondenseRow", + "prevContextTokens", + "newContextTokens", + "summary", + "CondensingContextRow", + "CondenseContextErrorRow", + "errorText", + "CodebaseSearchResult", + "startLine", + "endLine", + "CodebaseSearchResultsDisplay", + "codebaseSearchResultsExpanded", + "setCodebaseSearchResultsExpanded", + "ChatRow", + "prevHeightRef", + "chatrow", + "ChatRowContent", + "isInitialRender", + "lastModifiedMessage", + "isStreaming", + "onFollowUpUnmount", + "onBatchFileResponse", + "isFollowUpAnswered", + "reasoningCollapsed", + "setReasoningCollapsed", + "isDiffErrorExpanded", + "setIsDiffErrorExpanded", + "showCopySuccess", + "setShowCopySuccess", + "editedContent", + "setEditedContent", + "editMode", + "setEditMode", + "editImages", + "setEditImages", + "handleCancelEdit", + "handleSaveEdit", + "handleSelectImages", + "apiReqCancelReason", + "apiReqStreamingFailedMessage", + "apiRequestFailedMessage", + "isCommandExecuting", + "isMcpServerResponding", + "normalColor", + "errorColor", + "successColor", + "cancelledColor", + "mcpServerUse", + "getIconSpan", + "headerStyle", + "pStyle", + "followUpData", + "toolIcon", + "updatedTodos", + "success", + "messageJson", + "mcpServerRequest", + "BrowserSessionRow", + "maxActionHeight", + "setMaxActionHeight", + "consoleLogsExpanded", + "setConsoleLogsExpanded", + "browserViewportSize", + "viewportWidth", + "viewportHeight", + "aspectRatio", + "defaultMousePosition", + "isLastApiReqInterrupted", + "lastApiReqStarted", + "isBrowsing", + "currentStateMessages", + "nextActionMessages", + "resultData", + "currentPageIndex", + "setCurrentPageIndex", + "initialUrl", + "launchMessage", + "latestState", + "displayState", + "actionContent", + "actionHeight", + "BrowserSessionRowContent", + "BrowserActionBox", + "latestClickPosition", + "actions", + "browserAction", + "mousePosition", + "browserSessionRow", + "BrowserCursor", + "coordinate", + "getBrowserActionText", + "routerNames", + "isRouterName", + "shouldUseReasoningBudget", + "DEFAULT_HYBRID_REASONING_MODEL_MAX_TOKENS", + "DEFAULT_HYBRID_REASONING_MODEL_THINKING_TOKENS", + "getModelMaxOutputTokens", + "isAnthropicContext", + "DeleteTaskDialog", + "taskId", + "isEnterPressed", + "ShareButton", + "shareDropdownOpen", + "setShareDropdownOpen", + "connectModalOpen", + "setConnectModalOpen", + "shareSuccess", + "setShareSuccess", + "sharingEnabled", + "cloudIsAuthenticated", + "cloudUserInfo", + "wasUnauthenticatedRef", + "initiatedAuthFromThisButtonRef", + "handleShare", + "visibility", + "handleConnectToCloud", + "handleShareButtonClick", + "shareButtonState", + "TaskActions", + "buttonsDisabled", + "deleteTaskId", + "setDeleteTaskId", + "calculateTokenDistribution", + "contextWindow", + "contextTokens", + "maxTokens", + "safeContextWindow", + "safeContextTokens", + "reservedForOutput", + "availableSize", + "ContextWindowProgress", + "tokenDistribution", + "currentPercent", + "reservedPercent", + "availablePercent", + "tooltipContent", + "TodoListDisplay", + "setIsCollapsed", + "ulRef", + "itemRefs", + "scrollIndex", + "inProgressIdx", + "mostImportantTodo", + "inProgress", + "targetTop", + "targetHeight", + "ulHeight", + "scrollTo", + "totalCount", + "completedCount", + "allCompleted", + "getMostImportantTodoIcon", + "TaskHeader", + "totalCost", + "handleCondenseContext", + "currentTaskItem", + "isTaskExpanded", + "setIsTaskExpanded", + "textContainerRef", + "textRef", + "condenseButton", + "hasTodos", + "autoApproveSettingsConfig", + "AutoApproveToggle", + "onToggle", + "labelKey", + "testId", + "AutoApproveMenu", + "setAutoApprovalEnabled", + "setAlwaysAllowReadOnly", + "setAlwaysAllowWrite", + "setAlwaysAllowExecute", + "setAlwaysAllowBrowser", + "setAlwaysAllowMcp", + "setAlwaysAllowModeSwitch", + "setAlwaysAllowSubtasks", + "setAlwaysApproveResubmit", + "setAlwaysAllowUpdateTodoList", + "baseToggles", + "onAutoApproveToggle", + "updatedToggles", + "willHaveEnabledOptions", + "toggleExpanded", + "enabledActionsList", + "SystemPromptWarning", + "ProfileViolationWarning", + "CheckpointWarning", + "QueuedMessages", + "onRemove", + "onUpdate", + "messageId", + "currentText", + "getLatestTodo", + "isMac", + "ChatViewComponent", + "showAnnouncement", + "audioBaseUri", + "tSettings", + "organizationAllowList", + "alwaysAllowReadOnlyOutsideWorkspace", + "alwaysAllowWriteOutsideWorkspace", + "alwaysAllowWriteProtected", + "writeDelayMs", + "hasSystemPromptOverride", + "historyPreviewCollapsed", + "soundVolume", + "messagesRef", + "latestTodos", + "modifiedMessages", + "apiMetrics", + "setSendingDisabled", + "messageQueue", + "setMessageQueue", + "isProcessingQueueRef", + "retryCountRef", + "MAX_RETRY_ATTEMPTS", + "clineAsk", + "setClineAsk", + "enableButtons", + "setEnableButtons", + "primaryButtonText", + "setPrimaryButtonText", + "secondaryButtonText", + "setSecondaryButtonText", + "didClickCancel", + "setDidClickCancel", + "virtuosoRef", + "expandedRows", + "setExpandedRows", + "prevExpandedRowsRef", + "scrollContainerRef", + "disableAutoScrollRef", + "showScrollToBottom", + "setShowScrollToBottom", + "setIsAtBottom", + "lastTtsRef", + "wasStreaming", + "setWasStreaming", + "showCheckpointWarning", + "setShowCheckpointWarning", + "isCondensing", + "setIsCondensing", + "showAnnouncementModal", + "setShowAnnouncementModal", + "everVisibleMessagesTsRef", + "autoApproveTimeoutRef", + "userRespondedRef", + "currentFollowUpTs", + "setCurrentFollowUpTs", + "clineAskRef", + "isProfileDisabled", + "lastMessage", + "secondLastMessage", + "soundConfig", + "getAudioUrl", + "playNotification", + "playCelebration", + "playProgressLoop", + "playSound", + "audioType", + "playTts", + "isAutoApproved", + "wasAnyRowExpandedByUser", + "tsKey", + "markFollowUpAsAnswered", + "lastFollowUpMessage", + "handleChatReset", + "handleSendMessage", + "fromQueue", + "nextMessage", + "remaining", + "retryCount", + "handleSetChatBoxMessage", + "retryCountMap", + "isProcessingRef", + "startNewTask", + "handlePrimaryButtonClick", + "handleSecondaryButtonClick", + "handleTaskCloseButtonClick", + "selectImages", + "visibleMessages", + "newVisibleMessages", + "alwaysHiddenOnceProcessedAsk", + "alwaysHiddenOnceProcessedSay", + "last1", + "last2", + "isReadOnlyToolAction", + "isWriteToolAction", + "isMcpToolAlwaysAllowed", + "getCommandDecisionForMessage", + "isAllowedCommand", + "isDeniedCommand", + "getDeniedPrefix", + "subCommands", + "deniedMatch", + "autoApprovalToggles", + "isOutsideWorkspace", + "isProtected", + "mermaidRegex", + "removeMd", + "isBrowserSessionMessage", + "groupedMessages", + "currentGroup", + "isInBrowserSession", + "endBrowserSession", + "scrollToBottomSmooth", + "scrollToBottomAuto", + "handleSetExpandedRow", + "expand", + "toggleRowExpansion", + "handleRowHeightChange", + "isTaller", + "wheelEvent", + "switchToMode", + "handleSuggestionClickInRow", + "handleBatchFileResponse", + "handleFollowUpUnmount", + "itemContent", + "messageOrGroup", + "messageTs", + "deniedPrefix", + "autoDenyMessage", + "firstSuggestion", + "switchToNextMode", + "nextModeIndex", + "switchToPreviousMode", + "previousModeIndex", + "useImperativeHandle", + "areButtonsVisible", + "Virtuoso", + "ChatView", + "BatchDeleteTaskDialog", + "taskIds", + "TabHeader", + "TabContent", + "renderContext", + "onWheel", + "TabList", + "TabTrigger", + "HistoryView", + "onDone", + "setIsSelectionMode", + "selectedTaskIds", + "setSelectedTaskIds", + "showBatchDeleteDialog", + "setShowBatchDeleteDialog", + "toggleSelectionMode", + "toggleTaskSelection", + "toggleSelectAll", + "selectAll", + "handleBatchDelete", + "SectionHeader", + "ApiConfigManager", + "onSelectConfig", + "onDeleteConfig", + "onRenameConfig", + "onUpsertConfig", + "isRenaming", + "setIsRenaming", + "isCreating", + "setIsCreating", + "newProfileName", + "setNewProfileName", + "inputRef", + "newProfileInputRef", + "isProfileValid", + "providerConfig", + "validateName", + "isNewProfile", + "nameExists", + "resetCreateState", + "resetRenameState", + "handleSelectConfig", + "configName", + "handleStartRename", + "handleCancel", + "trimmedValue", + "handleNewProfileSave", + "isOnlyProfile", + "convertHeadersToObject", + "validateApiConfiguration", + "keysAndIdsPresentErrorMessage", + "validateModelsAndKeysProvided", + "organizationAllowListError", + "validateProviderAgainstOrganizationSettings", + "validateModelId", + "getModelIdForProvider", + "allowedModels", + "validateBedrockArn", + "arn", + "region", + "arnRegex", + "arnRegion", + "getModelValidationError", + "configWithModelId", + "orgError", + "validateApiConfigurationExcludingModelErrors", + "_routerModels", + "filterProviders", + "providers", + "filterModels", + "providerId", + "filteredModels", + "VSCodeButtonLink", + "noTransform", + "inputEventTransform", + "Anthropic", + "setApiConfigurationField", + "anthropicBaseUrlSelected", + "setAnthropicBaseUrlSelected", + "Bedrock", + "selectedModelInfo", + "awsEndpointSelected", + "setAwsEndpointSelected", + "isChecked", + "Cerebras", + "Chutes", + "ClaudeCode", + "maxOutputTokens", + "DeepSeek", + "Doubao", + "Gemini", + "fromWelcomeView", + "googleGeminiBaseUrlSelected", + "setGoogleGeminiBaseUrlSelected", + "getCallbackUrl", + "uriScheme", + "getGlamaAuthUrl", + "getOpenRouterAuthUrl", + "getRequestyAuthUrl", + "formatPrice", + "bail_1", + "wrap_1", + "invoked", + "trough_1", + "unistUtilStringifyPosition", + "vfileMessage", + "VMessage", + "VMessagePrototype", + "parseOrigin", + "minpath_browser", + "ext", + "extIndex", + "minproc_browser", + "proc", + "getDirname", + "setDirname", + "setBasename", + "getExtname", + "setExtname", + "getStem", + "setStem", + "lib", + "fail", + "plain", + "require$$5", + "unified_1", + "pipelineParse", + "pipelineRun", + "pipelineStringify", + "freezeIndex", + "runSync", + "processSync", + "Parser", + "newable", + "Compiler", + "mdastUtilToString", + "assign_1", + "normalizeIdentifier_1", + "fromCharCode", + "fromCharCode_1", + "safeFromInt", + "safeFromInt_1", + "markdownLineEnding_1", + "markdownSpace_1", + "spaceFactory", + "tokenize", + "partialBlankLine", + "tokenizePartialBlankLine", + "partialBlankLine_1", + "lazyFlowConstruct", + "tokenizeLazyFlow", + "inspectConstruct", + "tokenizeInspect", + "inspectResult", + "continueFlow", + "documentAfterPeek", + "subcontinued", + "inspectStart", + "inspectContinue", + "inspectLess", + "inspectDone", + "inspectFlowEnd", + "inspectLazy", + "sizeChunks", + "sizeChunks_1", + "prefixSize", + "prefixSize_1", + "splice_1", + "chunkedSplice", + "chunkedSplice_1", + "shallow_1", + "entered", + "subtokenize_1", + "content_1", + "text_1", + "miniflat", + "miniflat_1", + "combineExtensions_1", + "chunkedPush_1", + "resolveAll_1", + "serializeChunks_1", + "sliceChunks_1", + "require$$6", + "require$$7", + "require$$8", + "createTokenizer_1", + "markdownLineEndingOrSpace_1", + "unicodePunctuationRegex", + "regexCheck_1", + "unicodePunctuation_1", + "unicodeWhitespace_1", + "classifyCharacter_1", + "movePoint_1", + "attention_1", + "asciiAlpha_1", + "asciiAlphanumeric_1", + "asciiAtext_1", + "asciiControl_1", + "autolink_1", + "blockQuote_1", + "asciiPunctuation_1", + "characterEscape_1", + "semicolon", + "decodeEntity_browser", + "decodeEntity", + "entity", + "asciiDigit_1", + "asciiHexDigit_1", + "_interopDefaultLegacy", + "decodeEntity__default", + "characterReference_1", + "closingFenceConstruct", + "infoOpen", + "openAfter", + "infoAfter", + "closingSequenceStart", + "closingSequenceEnd", + "codeFenced_1", + "resolveCodeIndented", + "indentedContentConstruct", + "tokenizeIndentedContent", + "codeIndented_1", + "codeText_1", + "destinationFactory", + "destinationEnclosedBefore", + "destinationRaw", + "destinationEnclosed", + "destinationEnclosedEscape", + "destinationRawEscape", + "labelFactory", + "whitespaceFactory", + "titleFactory", + "atFirstTitleBreak", + "atTitleBreak", + "titleEscape", + "titleConstruct", + "tokenizeTitle", + "definition_1", + "hardBreakEscape_1", + "fenceOpenInside", + "headingBreak", + "headingAtx_1", + "basics", + "raws", + "nextBlankConstruct", + "tokenizeNextBlank", + "startTag", + "declarationStart", + "continuationCharacterDataInside", + "continuationAtLineEnding", + "htmlContinueStart", + "htmlFlow_1", + "commentOpen", + "cdataOpen", + "commentStart", + "commentStartDash", + "atLineEnding", + "htmlText_1", + "require$$9", + "fullReferenceConstruct", + "tokenizeFullReference", + "collapsedReferenceConstruct", + "tokenizeCollapsedReference", + "balanced", + "afterLabelEnd", + "afterLabel", + "labelEnd_1", + "labelStartImage_1", + "labelStartLink_1", + "lineEnding_1", + "thematicBreak_1", + "list_1", + "setextUnderline_1", + "text$1", + "require$$10", + "require$$11", + "require$$12", + "require$$13", + "require$$14", + "require$$15", + "require$$16", + "require$$17", + "require$$18", + "require$$19", + "require$$20", + "initializer", + "parse_1", + "preprocess_1", + "postprocess_1", + "dist", + "tokenStack", + "listStart", + "mdastUtilFromMarkdown", + "unistBuilder", + "convert_1", + "allFactory", + "color_browser", + "unistUtilVisitParents", + "unistUtilVisit", + "unistUtilPosition", + "unistUtilGenerated", + "generated", + "mdastUtilDefinitions", + "getDefinitionFactory", + "getterFactory", + "gather", + "ondefinition", + "normalise", + "all_1", + "one_1", + "returnNode", + "generateFootnotes", + "footnoteOrder", + "backReference", + "blockquote_1", + "_break", + "code_1", + "_delete", + "emphasis_1", + "footnoteReference_1", + "footnote_1", + "footnote", + "heading_1", + "html_1", + "encodeCache", + "getEncodeCache", + "exclude", + "keepEscaped", + "nextCode", + "encode_1", + "revert_1", + "imageReference_1", + "image_1", + "inlineCode_1", + "linkReference_1", + "link_1", + "listItem_1", + "paragraph_1", + "root_1", + "strong_1", + "table_1", + "require$$21", + "deprecationWarningIssued", + "augment", + "onfootnotedefinition", + "mdastUtilToHast", + "mdast2hast", + "remark2rehype", + "bridge", + "mutate", + "immutable", + "xtend", + "merge_1", + "normalize_1", + "definedInfo", + "checksLength", + "create_1", + "mustUseProperty", + "xlinkTransform", + "xmlTransform", + "caseSensitiveTransform_1", + "caseInsensitiveTransform_1", + "ariaTransform", + "svg_1", + "find_1", + "datasetToProperty", + "datasetToAttribute", + "spaceSeparatedTokens", + "whiteSpace", + "commaSeparatedTokens", + "comma", + "styleToObject", + "hastToHyperscript", + "vue", + "vdom", + "toH", + "hyperscript", + "addAttribute", + "subprop", + "styleReplacer", + "matchesFactory", + "convertAll", + "hastCssPropertyMap", + "hastUtilTableCellStyle", + "hastName", + "cssName", + "appendStyle", + "nextStyle", + "tableCellStyle", + "rehypeReact_1", + "rehypeReact", + "useRemark", + "_temp2", + "_ref2", + "remarkParseOptions", + "remarkToRehypeOptions", + "rehypeReactOptions", + "_ref2$remarkPlugins", + "_ref2$rehypePlugins", + "_ref2$onError", + "_useState", + "reactContent", + "setReactContent", + "setMarkdownSource", + "remarkToRehype", + "ModelDescriptionMarkdown", + "isExpandable", + "setIsExpandable", + "ModelInfoView", + "apiProvider", + "selectedModelId", + "isDescriptionExpanded", + "setIsDescriptionExpanded", + "infoItems", + "ModelInfoSupportsItem", + "isSupported", + "supportsLabel", + "doesNotSupportLabel", + "ApiErrorMessage", + "ModelPicker", + "modelIdKey", + "serviceName", + "serviceUrl", + "isInitialized", + "selectTimeoutRef", + "closeTimeoutRef", + "modelIds", + "Glama", + "modelValidationError", + "Groq", + "HuggingFace", + "setModels", + "loading", + "setLoading", + "selectedProvider", + "setSelectedProvider", + "currentModel", + "availableProviders", + "savedProvider", + "defaultProvider", + "handleModelSelect", + "handleProviderSelect", + "formatProviderName", + "currentProvider", + "modelCapabilities", + "supportsImages", + "supportsTools", + "LMStudio", + "setLmStudioModels", + "newModels", + "modelNotAvailable", + "selectedModel", + "draftModelNotAvailable", + "draftModel", + "Mistral", + "Moonshot", + "Ollama", + "ollamaModels", + "setOllamaModels", + "OpenAI", + "openAiNativeBaseUrlSelected", + "setOpenAiNativeBaseUrlSelected", + "R1FormatSetting", + "openAiR1FormatEnabled", + "ThinkingBudget", + "isReasoningBudgetSupported", + "isReasoningBudgetRequired", + "isReasoningEffortSupported", + "enableReasoningEffort", + "customMaxOutputTokens", + "customMaxThinkingTokens", + "modelMaxThinkingTokens", + "OpenAICompatible", + "azureApiVersionSelected", + "setAzureApiVersionSelected", + "openAiLegacyFormatSelected", + "setOpenAiLegacyFormatSelected", + "openAiModels", + "setOpenAiModels", + "customHeaders", + "setCustomHeaders", + "handleAddCustomHeader", + "handleUpdateHeaderKey", + "newKey", + "handleUpdateHeaderValue", + "handleRemoveCustomHeader", + "headerObject", + "updatedModels", + "openAiCustomModelInfo", + "_u", + "openRouterKeyInfoSchema", + "getOpenRouterKeyInfo", + "keyEndpoint", + "useOpenRouterKeyInfo", + "OpenRouterBalanceDisplay", + "keyInfo", + "formattedBalance", + "OpenRouter", + "openRouterBaseUrlSelected", + "setOpenRouterBaseUrlSelected", + "requestyKeyInfoSchema", + "getRequestyKeyInfo", + "useRequestyKeyInfo", + "RequestyBalanceDisplay", + "Requesty", + "refetchRouterModels", + "didRefetch", + "setDidRefetch", + "SambaNova", + "Unbound", + "isInvalidKey", + "setIsInvalidKey", + "didRefetchTimerRef", + "invalidKeyTimerRef", + "saveConfiguration", + "waitForStateUpdate", + "requestModels", + "modelsPromise", + "currentModelId", + "modelExists", + "firstAvailableModelId", + "Vertex", + "VSCodeLM", + "vsCodeLmModels", + "setVsCodeLmModels", + "vendor", + "family", + "XAI", + "ZAi", + "LiteLLM", + "refreshStatus", + "setRefreshStatus", + "refreshError", + "setRefreshError", + "litellmErrorJustReceived", + "handleRefreshModels", + "Fireworks", + "MODELS_BY_PROVIDER", + "PROVIDERS", + "DiffSettingsControl", + "diffEnabled", + "fuzzyMatchThreshold", + "handleDiffEnabledChange", + "handleThresholdChange", + "TodoListSettingsControl", + "todoListEnabled", + "handleTodoListEnabledChange", + "TemperatureControl", + "isCustomTemperature", + "setIsCustomTemperature", + "hasCustomTemperature", + "RateLimitSecondsControl", + "ConsecutiveMistakeLimitControl", + "validValue", + "BedrockCustomArn", + "awsCustomArn", + "awsRegion", + "ApiOptions", + "setErrorMessage", + "propHeaders", + "currentConfigHeaders", + "newHeadersObject", + "apiValidationResult", + "selectedProviderModels", + "onProviderChange", + "validateAndResetModel", + "providerOptions", + "Section", + "VSCodeTextFieldWithNodesInner", + "leftNodes", + "rightNodes", + "restProps", + "handleVSCodeFieldRef", + "webComponent", + "inputElement", + "focusInput", + "hasLeftNodes", + "hasRightNodes", + "DecoratedVSCodeTextField", + "FormattedTextFieldInner", + "rawInput", + "setRawInput", + "isTyping", + "setIsTyping", + "handleInput", + "filteredValue", + "parsedValue", + "FormattedTextField", + "unlimitedIntegerFormatter", + "unlimitedDecimalFormatter", + "cleanValue", + "firstDotIndex", + "beforeDot", + "afterDot", + "MaxRequestsInput", + "allowedMaxRequests", + "MaxCostInput", + "allowedMaxCost", + "MaxLimitInputs", + "onMaxRequestsChange", + "onMaxCostChange", + "AutoApproveSettings", + "requestDelaySeconds", + "setCachedStateField", + "commandInput", + "setCommandInput", + "deniedCommandInput", + "setDeniedCommandInput", + "handleAddCommand", + "currentCommands", + "newCommands", + "handleAddDeniedCommand", + "BrowserSettings", + "browserToolEnabled", + "screenshotQuality", + "remoteBrowserHost", + "remoteBrowserEnabled", + "testingConnection", + "setTestingConnection", + "testResult", + "setTestResult", + "discovering", + "setDiscovering", + "testConnection", + "CheckpointSettings", + "enableCheckpoints", + "NotificationSettings", + "ttsEnabled", + "ttsSpeed", + "ContextManagementSettings", + "autoCondenseContext", + "autoCondenseContextPercent", + "maxOpenTabsContext", + "maxWorkspaceFiles", + "showRooIgnoredFiles", + "maxReadFileLine", + "maxImageFileSize", + "maxTotalImageSize", + "maxConcurrentFileReads", + "profileThresholds", + "includeDiagnosticMessages", + "maxDiagnosticMessages", + "selectedThresholdProfile", + "setSelectedThresholdProfile", + "getCurrentThresholdValue", + "profileThreshold", + "newThresholds", + "thresholdDisplay", + "TerminalSettings", + "terminalOutputLineLimit", + "terminalOutputCharacterLimit", + "terminalShellIntegrationTimeout", + "terminalCommandDelay", + "terminalPowershellCounter", + "terminalZshClearEolMark", + "terminalZshOhMy", + "terminalZshP10k", + "terminalZdotdir", + "terminalCompressProgressBar", + "inheritEnv", + "setInheritEnv", + "ExperimentalFeature", + "experimentKey", + "nameKey", + "ExperimentalSettings", + "setExperimentEnabled", + "LanguageSettings", + "About", + "setTelemetrySetting", + "generateDiagnosticText", + "diagnostics", + "createPrompt", + "supportPromptConfigs", + "supportPrompt", + "PromptsSettings", + "setCustomSupportPrompts", + "propsIncludeTaskHistoryInEnhance", + "propsSetIncludeTaskHistoryInEnhance", + "enhancementApiConfigId", + "setEnhancementApiConfigId", + "condensingApiConfigId", + "setCondensingApiConfigId", + "customCondensingPrompt", + "setCustomCondensingPrompt", + "contextIncludeTaskHistoryInEnhance", + "contextSetIncludeTaskHistoryInEnhance", + "testPrompt", + "setTestPrompt", + "isEnhancing", + "setIsEnhancing", + "activeSupportOption", + "setActiveSupportOption", + "updateSupportPrompt", + "updatedPrompts", + "handleSupportReset", + "getSupportPromptValue", + "handleTestEnhancement", + "newConfigId", + "settingsTabsContainer", + "settingsTabList", + "settingsTabTrigger", + "settingsTabTriggerActive", + "sectionNames", + "SettingsView", + "targetSection", + "settingsImportedAt", + "isChangeDetected", + "setChangeDetected", + "setActiveTab", + "prevApiConfigName", + "cachedState", + "setCachedState", + "mcpEnabled", + "prevCachedState", + "setCustomSupportPromptsField", + "prompts", + "isSettingValid", + "handleSubmit", + "checkUnsaveChanges", + "handleTabChange", + "newTab", + "tabRefs", + "isCompactMode", + "setIsCompactMode", + "scrollToActiveTab", + "activeTabElement", + "triggerComponent", + "oldName", + "newName", + "digits", + "pool", + "GLOBAL", + "global", + "startdenom", + "significance", + "oldRandom", + "seed", + "use_entropy", + "mixkey", + "flatten", + "tostring", + "autoseed", + "arc4", + "ARC4", + "keylen", + "typ", + "stringseed", + "smear", + "randGen", + "knuthShuffleSeeded", + "temporaryValue", + "randomIndex", + "rand", + "WelcomeView", + "machineId", + "setApiConfigurationFieldForApiOptions", + "orderedProviders", + "knuthShuffle", + "McpEnabledToggle", + "setMcpEnabled", + "millisecondsInWeek", + "millisecondsInDay", + "constructFromSymbol", + "constructFrom", + "toDate", + "getDefaultOptions", + "startOfWeek", + "weekStartsOn", + "_date", + "day", + "startOfISOWeek", + "getISOWeekYear", + "year", + "fourthOfJanuaryOfNextYear", + "startOfNextYear", + "fourthOfJanuaryOfThisYear", + "startOfThisYear", + "getTimezoneOffsetInMilliseconds", + "utcDate", + "normalizeDates", + "dates", + "startOfDay", + "differenceInCalendarDays", + "laterDate", + "earlierDate", + "laterDate_", + "earlierDate_", + "laterStartOfDay", + "earlierStartOfDay", + "laterTimestamp", + "earlierTimestamp", + "startOfISOWeekYear", + "fourthOfJanuary", + "startOfYear", + "date_", + "formatDistanceLocale", + "formatDistance", + "tokenValue", + "buildFormatLongFn", + "dateFormats", + "timeFormats", + "dateTimeFormats", + "formatLong", + "formatRelativeLocale", + "formatRelative", + "_baseDate", + "buildLocalizeFn", + "valuesArray", + "defaultWidth", + "eraValues", + "quarterValues", + "monthValues", + "dayValues", + "dayPeriodValues", + "formattingDayPeriodValues", + "ordinalNumber", + "dirtyNumber", + "rem100", + "localize", + "quarter", + "buildMatchFn", + "matchPattern", + "matchedString", + "parsePatterns", + "findIndex", + "buildMatchPatternFn", + "matchOrdinalNumberPattern", + "parseOrdinalNumberPattern", + "matchEraPatterns", + "parseEraPatterns", + "matchQuarterPatterns", + "parseQuarterPatterns", + "matchMonthPatterns", + "parseMonthPatterns", + "matchDayPatterns", + "parseDayPatterns", + "matchDayPeriodPatterns", + "parseDayPeriodPatterns", + "enUS", + "getDayOfYear", + "getISOWeek", + "getWeekYear", + "firstWeekContainsDate", + "firstWeekOfNextYear", + "firstWeekOfThisYear", + "startOfWeekYear", + "firstWeek", + "getWeek", + "addLeadingZeros", + "targetLength", + "sign", + "lightFormatters", + "signedYear", + "month", + "dayPeriodEnumValue", + "numberOfDigits", + "milliseconds", + "fractionalSeconds", + "dayPeriodEnum", + "era", + "signedWeekYear", + "weekYear", + "twoDigitYear", + "isoWeekYear", + "week", + "isoWeek", + "dayOfYear", + "dayOfWeek", + "localDayOfWeek", + "isoDayOfWeek", + "hours", + "_localize", + "timezoneOffset", + "formatTimezoneWithOptionalMinutes", + "formatTimezone", + "formatTimezoneShort", + "absOffset", + "minutes", + "dateLongFormatter", + "timeLongFormatter", + "dateTimeLongFormatter", + "datePattern", + "timePattern", + "dateTimeFormat", + "longFormatters", + "dayOfYearTokenRE", + "weekYearTokenRE", + "throwTokens", + "isProtectedDayOfYearToken", + "isProtectedWeekYearToken", + "warnOrThrowProtectedError", + "_message", + "subject", + "formattingTokensRegExp", + "longFormattingTokensRegExp", + "escapedStringRegExp", + "doubleQuoteRegExp", + "unescapedLatinCharacterRegExp", + "defaultLocale", + "originalDate", + "firstCharacter", + "longFormatter", + "cleanEscapedString", + "formatterOptions", + "baseDate", + "baseDate_", + "McpErrorRow", + "McpView", + "servers", + "enableMcpServerCreation", + "setEnableMcpServerCreation", + "ServerRow", + "showDeleteConfirm", + "setShowDeleteConfirm", + "timeoutValue", + "setTimeoutValue", + "timeoutOptions", + "getStatusColor", + "handleRowClick", + "handleRestart", + "handleTimeoutChange", + "seconds", + "useStateManager", + "existingManager", + "manager", + "handleStateChange", + "isValidUrl", + "urlString", + "MarketplaceInstallModal", + "setScope", + "selectedMethodIndex", + "setSelectedMethodIndex", + "parameterValues", + "setParameterValues", + "validationError", + "setValidationError", + "installationComplete", + "setInstallationComplete", + "hasMultipleMethods", + "methodNames", + "effectiveParameters", + "globalParams", + "methodParams", + "selectedMethod", + "paramMap", + "effectivePrerequisites", + "globalPrereqs", + "methodPrereqs", + "allPrereqs", + "currentEffectiveParams", + "newValues", + "handleInstall", + "finalParameters", + "handlePostInstallAction", + "prereq", + "MarketplaceItemCard", + "setFilters", + "installed", + "showInstallModal", + "setShowInstallModal", + "showRemoveConfirm", + "setShowRemoveConfirm", + "removeTarget", + "setRemoveTarget", + "removeError", + "setRemoveError", + "typeLabel", + "isInstalledGlobally", + "isInstalledInProject", + "isInstalled", + "handleInstallClick", + "AuthorInfo", + "newTags", + "handleOpenAuthorUrl", + "IssueFooter", + "MarketplaceListView", + "stateManager", + "allTags", + "filteredTags", + "filterByType", + "isTagPopoverOpen", + "setIsTagPopoverOpen", + "tagSearch", + "setTagSearch", + "isEmpty", + "MarketplaceView", + "targetTab", + "hasReceivedInitialState", + "setHasReceivedInitialState", + "lastOrganizationSettingsVersion", + "setLastOrganizationSettingsVersion", + "currentVersion", + "handleVisibilityMessage", + "DeleteModeDialog", + "modeToDelete", + "onConfirm", + "availableGroups", + "getGroupName", + "ModesView", + "customInstructions", + "setCustomInstructions", + "visualMode", + "setVisualMode", + "isDialogOpen", + "setIsDialogOpen", + "selectedPromptContent", + "setSelectedPromptContent", + "selectedPromptTitle", + "setSelectedPromptTitle", + "isToolsEditMode", + "setIsToolsEditMode", + "showConfigMenu", + "setShowConfigMenu", + "isCreateModeDialogOpen", + "setIsCreateModeDialogOpen", + "isSystemPromptDisclosureOpen", + "setIsSystemPromptDisclosureOpen", + "isExporting", + "setIsExporting", + "isImporting", + "setIsImporting", + "showImportDialog", + "setShowImportDialog", + "hasRulesToExport", + "setHasRulesToExport", + "setModeToDelete", + "localModeName", + "setLocalModeName", + "currentEditingModeSlug", + "setCurrentEditingModeSlug", + "updateAgentPrompt", + "promptData", + "updatedPrompt", + "updateCustomMode", + "modeConfig", + "searchSlug", + "findCustomModeBySlug", + "switchMode", + "handleModeSwitch", + "getCurrentMode", + "findMode", + "checkRulesDirectory", + "currentMode", + "getModeProperty", + "newModeName", + "setNewModeName", + "newModeSlug", + "setNewModeSlug", + "newModeDescription", + "setNewModeDescription", + "newModeRoleDefinition", + "setNewModeRoleDefinition", + "newModeWhenToUse", + "setNewModeWhenToUse", + "newModeCustomInstructions", + "setNewModeCustomInstructions", + "newModeGroups", + "setNewModeGroups", + "newModeSource", + "setNewModeSource", + "nameError", + "setNameError", + "slugError", + "setSlugError", + "descriptionError", + "setDescriptionError", + "roleDefinitionError", + "setRoleDefinitionError", + "groupsError", + "setGroupsError", + "resetFormState", + "generateSlug", + "attempt", + "baseSlug", + "handleNameChange", + "handleCreateMode", + "newMode", + "isNameOrSlugTaken", + "openCreateModeDialog", + "baseNamePrefix", + "handleGroupChange", + "isCustomMode", + "oldGroups", + "newGroups", + "modeToDeleteRef", + "currentModeToDelete", + "handleAgentReset", + "trimmedName", + "prompt", + "isGroupEnabled", + "editGroup", + "enabledGroups", + "existingPrompt", + "selectedLevel", + "HumanRelayDialog", + "requestId", + "promptText", + "onSubmit", + "setResponse", + "isCopyClicked", + "setIsCopyClicked", + "MessageModificationConfirmationDialog", + "isEdit", + "EditMessageDialog", + "DeleteMessageDialog", + "ErrorBoundary", + "errorInfo", + "errorDisplay", + "componentStackDisplay", + "ErrorBoundary$1", + "AccountView", + "userInfo", + "isAuthenticated", + "cloudApiUrl", + "remoteControlEnabled", + "setRemoteControlEnabled", + "wasAuthenticatedRef", + "rooLogoUri", + "handleConnectClick", + "handleLogoutClick", + "handleVisitCloudWebsite", + "cloudUrl", + "handleRemoteControlToggle", + "SquareArrowOutUpRightIcon", + "MemoizedDeleteMessageDialog", + "MemoizedEditMessageDialog", + "MemoizedHumanRelayDialog", + "tabsByMessageAction", + "App", + "shouldShowAnnouncement", + "telemetryKey", + "mdmCompliant", + "marketplaceStateManager", + "setShowAnnouncement", + "setTab", + "humanRelayDialogState", + "setHumanRelayDialogState", + "deleteMessageDialogState", + "setDeleteMessageDialogState", + "editMessageDialogState", + "setEditMessageDialogState", + "settingsRef", + "chatViewRef", + "switchTab", + "setCurrentSection", + "setCurrentMarketplaceTab", + "currentSection", + "currentMarketplaceTab", + "marketplaceTab", + "AppWithProviders", + "createRoot", + "StrictMode" + ], + "ignoreList": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 121, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 290, + 291, + 292, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 393, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 447, + 449, + 450, + 451, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 468, + 470, + 474, + 476, + 477, + 479, + 482, + 483, + 486, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 510, + 519, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 772, + 773, + 774, + 775, + 776, + 777, + 785, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 896, + 897, + 898, + 899, + 900, + 901, + 902, + 903, + 904, + 905, + 906, + 907, + 908, + 909, + 910, + 911, + 912, + 913, + 914, + 915, + 916, + 917, + 918, + 919, + 920, + 921, + 922, + 923, + 924, + 925, + 926, + 927, + 928, + 929, + 930, + 931, + 932, + 933, + 934, + 935, + 936, + 937, + 938, + 939, + 940, + 941, + 942, + 943, + 944, + 945, + 946, + 947, + 948, + 949, + 950, + 951, + 952, + 953, + 954, + 955, + 956, + 957, + 958, + 959, + 960, + 961, + 962, + 963, + 964, + 965, + 966, + 967, + 968, + 969, + 970, + 971, + 972, + 973, + 974, + 975, + 976, + 977, + 978, + 979, + 980, + 981, + 982, + 983, + 984, + 985, + 986, + 987, + 988, + 989, + 990, + 991, + 992, + 993, + 994, + 995, + 996, + 997, + 998, + 999, + 1000, + 1001, + 1002, + 1003, + 1004, + 1005, + 1006, + 1007, + 1008, + 1009, + 1010, + 1011, + 1012, + 1013, + 1014, + 1015, + 1016, + 1017, + 1018, + 1019, + 1020, + 1021, + 1022, + 1023, + 1024, + 1025, + 1026, + 1027, + 1028, + 1029, + 1030, + 1031, + 1089, + 1090, + 1093, + 1094, + 1095, + 1096, + 1097, + 1098, + 1099, + 1100, + 1101, + 1102, + 1103, + 1104, + 1105, + 1106, + 1107, + 1108, + 1109, + 1110, + 1111, + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121, + 1122, + 1123, + 1124, + 1125, + 1126, + 1127, + 1128, + 1129 + ], + "sources": [ + "../../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js", + "../../../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js", + "../../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js", + "../../../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js", + "../../../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js", + "../../../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js", + "../../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js", + "../../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/index.js", + "../../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js", + "../../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/misc/util.js", + "../../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/react.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useCustomCompareEffect.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useTimeoutFn.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useDebounce.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useDeepCompareEffect.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useEffectOnce.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useEvent.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useKey.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useKeyPress.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useMount.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useUnmount.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useRafState.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useSize.js", + "../../../../node_modules/.pnpm/react-use@17.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-use/esm/useWindowSize.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/subscribable.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/utils.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/focusManager.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/onlineManager.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/thenable.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/retryer.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/notifyManager.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/removable.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/query.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/queryCache.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/mutation.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/mutationCache.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/queryClient.js", + "../../../../node_modules/.pnpm/@tanstack+query-core@5.76.0/node_modules/@tanstack/query-core/build/modern/queryObserver.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/suspense.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js", + "../../../../node_modules/.pnpm/@tanstack+react-query@5.76.1_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useQuery.js", + "../../../../node_modules/.pnpm/void-elements@3.1.0/node_modules/void-elements/index.js", + "../../../../node_modules/.pnpm/html-parse-stringify@3.0.1/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/utils.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/unescape.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/defaults.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/i18nInstance.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/TransWithoutContext.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/initReactI18next.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/context.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/Trans.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/useTranslation.js", + "../../../../node_modules/.pnpm/react-i18next@15.5.1_i18next@25.2.1_typescript@5.8.3__react-dom@18.3.1_react@18.3.1__react@18.3.1_typescript@5.8.3/node_modules/react-i18next/dist/es/withTranslation.js", + "../../../../node_modules/.pnpm/i18next@25.2.1_typescript@5.8.3/node_modules/i18next/dist/esm/i18next.js", + "../../../../webview-ui/src/i18n/setup.ts", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/helpers/util.js", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/ZodError.js", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/locales/en.js", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/errors.js", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/helpers/parseUtil.js", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/helpers/errorUtil.js", + "../../../../node_modules/.pnpm/zod@3.25.61/node_modules/zod/dist/esm/v3/types.js", + "../../../../packages/types/src/model.ts", + "../../../../packages/types/src/codebase-index.ts", + "../../../../packages/types/src/provider-settings.ts", + "../../../../packages/types/src/history.ts", + "../../../../packages/types/src/experiment.ts", + "../../../../packages/types/src/message.ts", + "../../../../packages/types/src/telemetry.ts", + "../../../../packages/types/src/tool.ts", + "../../../../packages/types/src/mode.ts", + "../../../../packages/types/src/vscode.ts", + "../../../../packages/types/src/global-settings.ts", + "../../../../packages/types/src/marketplace.ts", + "../../../../packages/types/src/cloud.ts", + "../../../../packages/types/src/events.ts", + "../../../../packages/types/src/followup.ts", + "../../../../packages/types/src/ipc.ts", + "../../../../packages/types/src/mcp.ts", + "../../../../packages/types/src/todo.ts", + "../../../../packages/types/src/terminal.ts", + "../../../../packages/types/src/providers/anthropic.ts", + "../../../../packages/types/src/providers/bedrock.ts", + "../../../../packages/types/src/providers/cerebras.ts", + "../../../../packages/types/src/providers/chutes.ts", + "../../../../packages/types/src/providers/claude-code.ts", + "../../../../packages/types/src/providers/deepseek.ts", + "../../../../packages/types/src/providers/gemini.ts", + "../../../../packages/types/src/providers/glama.ts", + "../../../../packages/types/src/providers/groq.ts", + "../../../../packages/types/src/providers/lite-llm.ts", + "../../../../packages/types/src/providers/mistral.ts", + "../../../../packages/types/src/providers/moonshot.ts", + "../../../../packages/types/src/providers/openai.ts", + "../../../../packages/types/src/providers/openrouter.ts", + "../../../../packages/types/src/providers/requesty.ts", + "../../../../packages/types/src/providers/sambanova.ts", + "../../../../packages/types/src/providers/unbound.ts", + "../../../../packages/types/src/providers/vertex.ts", + "../../../../packages/types/src/providers/vscode-llm.ts", + "../../../../packages/types/src/providers/xai.ts", + "../../../../packages/types/src/providers/doubao.ts", + "../../../../packages/types/src/providers/zai.ts", + "../../../../packages/types/src/providers/fireworks.ts", + "../../../shared/array.ts", + "../../../shared/checkExistApiConfig.ts", + "../../../shared/language.ts", + "../../../shared/experiments.ts", + "../../../shared/tools.ts", + "../../../shared/modes.ts", + "../../../../webview-ui/src/utils/vscode.ts", + "../../../../webview-ui/src/utils/textMateToHljs.ts", + "../../../../webview-ui/src/context/ExtensionStateContext.tsx", + "../../../../webview-ui/src/i18n/TranslationContext.tsx", + "../../../../webview-ui/src/components/marketplace/MarketplaceViewStateManager.ts", + "../../../../node_modules/.pnpm/posthog-js@1.242.1/node_modules/posthog-js/dist/module.js", + "../../../../webview-ui/src/utils/TelemetryClient.ts", + "../../../../node_modules/.pnpm/stackframe@1.3.4/node_modules/stackframe/stackframe.js", + "../../../../node_modules/.pnpm/error-stack-parser@2.1.4/node_modules/error-stack-parser/error-stack-parser.js", + "../../../../node_modules/.pnpm/stack-generator@2.0.10/node_modules/stack-generator/stack-generator.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/util.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/binary-search.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/array-set.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/base64.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/base64-vlq.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/quick-sort.js", + "../../../../node_modules/.pnpm/source-map@0.5.6/node_modules/source-map/lib/source-map-consumer.js", + "../../../../node_modules/.pnpm/stacktrace-gps@3.1.2/node_modules/stacktrace-gps/stacktrace-gps.js", + "../../../../node_modules/.pnpm/stacktrace-js@2.0.2/node_modules/stacktrace-js/stacktrace.js", + "../../../../webview-ui/src/utils/sourceMapUtils.ts", + "../../../../webview-ui/src/utils/sourceMapInitializer.ts", + "../../../../node_modules/.pnpm/debounce@2.2.0/node_modules/debounce/index.js", + "../../../../node_modules/.pnpm/react-virtuoso@4.12.7_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-virtuoso/dist/index.mjs", + "../../../../node_modules/.pnpm/remove-markdown@0.6.2/node_modules/remove-markdown/index.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/platform.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/dom.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/observation/notifier.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/observation/observable.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/html-directive.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/binding.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/compiler.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/view.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/styles/element-styles.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/components/attributes.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/components/fast-definitions.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/components/controller.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/components/fast-element.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/styles/css-directive.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/styles/css.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/observation/array-change-records.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/observation/array-observer.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/ref.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/interfaces.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/when.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/repeat.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/node-observation.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/slotted.js", + "../../../../node_modules/.pnpm/@microsoft+fast-element@1.14.0/node_modules/@microsoft/fast-element/dist/esm/templating/children.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/patterns/start-end.js", + "../../../../node_modules/.pnpm/tslib@1.14.1/node_modules/tslib/tslib.es6.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/di/di.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/design-system/component-presentation.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/foundation-element/foundation-element.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/apply-mixins.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/aria.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/array.js", + "../../../../node_modules/.pnpm/exenv-es6@1.1.1/node_modules/exenv-es6/dist/can-use-dom.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/dom.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/events.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/key-codes.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/localization.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/numbers.js", + "../../../../node_modules/.pnpm/@microsoft+fast-web-utilities@5.4.1/node_modules/@microsoft/fast-web-utilities/dist/strings.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/anchor/anchor.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/patterns/aria-global.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/anchor/anchor.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/direction.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/badge/badge.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/badge/badge.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/button/button.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/form-associated/form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/button/button.form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/button/button.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid.options.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid-row.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid-cell.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid-row.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/data-grid/data-grid-cell.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/checkbox/checkbox.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/checkbox/checkbox.form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/checkbox/checkbox.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/listbox-option/listbox-option.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/listbox/listbox.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/select/select.options.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/composed-parent.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/composed-contains.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/design-token/custom-property-manager.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/design-token/design-token.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/design-system/design-system.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/divider/divider.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/divider/divider.options.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/divider/divider.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/listbox-option/listbox-option.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/listbox/listbox.element.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-field/text-field.form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-field/text-field.options.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-field/text-field.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/progress-ring/progress-ring.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/progress/base-progress.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/radio-group/radio-group.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/radio-group/radio-group.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/radio/radio.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/radio/radio.form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/radio/radio.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/whitespace-filter.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/select/select.form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/select/select.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/select/select.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/tab-panel/tab-panel.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/tab-panel/tab-panel.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/tab/tab.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/tab/tab.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/tabs/tabs.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/tabs/tabs.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-area/text-area.form-associated.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-area/text-area.options.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-area/text-area.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-area/text-area.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/text-field/text-field.template.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/disabled.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/display.js", + "../../../../node_modules/.pnpm/@microsoft+fast-foundation@2.50.0/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/focus.js", + "../../../../node_modules/.pnpm/@microsoft+fast-react-wrapper@0.3.25_react@18.3.1/node_modules/@microsoft/fast-react-wrapper/dist/esm/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/vscode-design-system.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/utilities/theme/applyTheme.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/utilities/design-tokens/create.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/design-tokens.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/badge/badge.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/badge/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/button/button.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/button/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/checkbox/checkbox.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/checkbox/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/data-grid/data-grid.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/data-grid/data-grid-row.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/data-grid/data-grid-cell.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/data-grid/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/divider/divider.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/divider/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/dropdown/dropdown.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/dropdown/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/link/link.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/link/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/option/option.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/option/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/panels/panels.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/panels/panel-tab.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/panels/panel-view.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/panels/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/progress-ring/progress-ring.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/progress-ring/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/radio-group/radio-group.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/radio-group/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/radio/radio.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/radio/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/tag/tag.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/tag/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/text-area/text-area.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/text-area/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/text-field/text-field.styles.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/dist/text-field/index.js", + "../../../../node_modules/.pnpm/@vscode+webview-ui-toolkit@1.4.0_react@18.3.1/node_modules/@vscode/webview-ui-toolkit/react/index.js", + "../../../../node_modules/.pnpm/use-sound@5.0.0_react@18.3.1/node_modules/use-sound/dist/use-sound.esm.js", + "../../../../node_modules/.pnpm/lru-cache@11.1.0/node_modules/lru-cache/dist/esm/index.js", + "../../../../webview-ui/src/utils/useDebounceEffect.ts", + "../../../../webview-ui/src/utils/imageUtils.ts", + "../../../shared/combineApiRequests.ts", + "../../../shared/safeJsonParse.ts", + "../../../shared/combineCommandSequences.ts", + "../../../shared/getApiMetrics.ts", + "../../../shared/ProfileValidator.ts", + "../../../../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/quote.js", + "../../../../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/parse.js", + "../../../../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/index.js", + "../../../../webview-ui/src/utils/command-validation.ts", + "../../../../webview-ui/src/components/ui/hooks/useRouterModels.ts", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/bind.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/utils.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/AxiosError.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/null.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/toFormData.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/AxiosURLSearchParams.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/buildURL.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/InterceptorManager.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/defaults/transitional.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/platform/browser/classes/FormData.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/platform/browser/classes/Blob.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/platform/browser/index.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/platform/common/utils.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/platform/index.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/toURLEncodedForm.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/formDataToJSON.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/defaults/index.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/parseHeaders.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/AxiosHeaders.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/transformData.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/cancel/isCancel.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/cancel/CanceledError.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/settle.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/parseProtocol.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/speedometer.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/throttle.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/progressEventReducer.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/isURLSameOrigin.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/cookies.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/isAbsoluteURL.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/combineURLs.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/buildFullPath.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/mergeConfig.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/resolveConfig.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/adapters/xhr.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/composeSignals.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/trackStream.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/adapters/fetch.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/adapters/adapters.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/dispatchRequest.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/env/data.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/validator.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/core/Axios.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/cancel/CancelToken.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/spread.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/isAxiosError.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/helpers/HttpStatusCode.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/axios.js", + "../../../../node_modules/.pnpm/axios@1.9.0/node_modules/axios/index.js", + "../../../shared/cost.ts", + "../../../../webview-ui/src/components/ui/hooks/useOpenRouterModelProviders.ts", + "../../../../webview-ui/src/components/ui/hooks/useLmStudioModels.ts", + "../../../../webview-ui/src/components/ui/hooks/useSelectedModel.ts", + "../../../../webview-ui/src/components/welcome/RooHero.tsx", + "../../../../webview-ui/src/utils/docLinks.ts", + "../../../../webview-ui/src/components/welcome/RooTips.tsx", + "../../../../webview-ui/src/components/welcome/RooCloudCTA.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-id@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.2.2_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-slot@1.2.2_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.2_@types+react-dom@18.3.7_@types+react@18.3.23__@types+re_92dbcc8d8d610fcd2fcd6184fe305c0b/node_modules/@radix-ui/react-primitive/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-use-escape-keydown@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.9_@types+react-dom@18.3.7_@types+react@18.3.23__@_edef4f40d023da311cde9bbf9c20eaa7/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+_f8d6c23aa935b91bed0bc39b4a490a1a/node_modules/@radix-ui/react-focus-scope/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-portal@1.1.8_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react_aa1f6b02164866f41e0ff508479e20c8/node_modules/@radix-ui/react-portal/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-presence@1.1.4_@types+react-dom@18.3.7_@types+react@18.3.23__@types+rea_587c7e8c3eecba09139e2afe2a783727/node_modules/@radix-ui/react-presence/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.2_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.mjs", + "../../../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/constants.js", + "../../../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.23_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.js", + "../../../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.23_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.js", + "../../../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.23_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.js", + "../../../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.23_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.js", + "../../../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.23_react@18.3.1/node_modules/use-sidecar/dist/es2015/exports.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.js", + "../../../../node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js", + "../../../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.23_react@18.3.1/node_modules/react-style-singleton/dist/es2015/singleton.js", + "../../../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.23_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.js", + "../../../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.23_react@18.3.1/node_modules/react-style-singleton/dist/es2015/component.js", + "../../../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/utils.js", + "../../../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/component.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.js", + "../../../../node_modules/.pnpm/react-remove-scroll@2.6.3_@types+react@18.3.23_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.js", + "../../../../node_modules/.pnpm/aria-hidden@1.2.4/node_modules/aria-hidden/dist/es2015/index.js", + "../../../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.13_@types+react-dom@18.3.7_@types+react@18.3.23__@types+reac_1144a9f7d4ba9b367c8a3018fa4c15a4/node_modules/@radix-ui/react-dialog/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-alert-dialog@1.1.13_@types+react-dom@18.3.7_@types+react@18.3.23__@type_4e08e80f4e2d5719bd0d24632e965f7c/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs", + "../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs", + "../../../../node_modules/.pnpm/tailwind-merge@3.3.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs", + "../../../../webview-ui/src/lib/utils.ts", + "../../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs", + "../../../../webview-ui/src/components/ui/button.tsx", + "../../../../webview-ui/src/components/ui/alert-dialog.tsx", + "../../../../webview-ui/src/components/ui/autosize-textarea.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-use-previous/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-checkbox@1.3.1_@types+react-dom@18.3.7_@types+react@18.3.23__@types+rea_aa89a3e66108c30223365026612bc2c8/node_modules/@radix-ui/react-checkbox/dist/index.mjs", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-justify.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/bell.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/check-check.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/check.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-down.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-up.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/cloud-download.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/cloud-upload.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/coins.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/copy.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/database.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/download.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/flask-conical.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/fold-vertical.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/folder.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/git-branch.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/globe.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/history.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/image.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/info.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/message-square.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/piggy-bank.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/plus.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/router.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/send-horizontal.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/server.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/skull.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/square-arrow-out-up-right.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/square-mouse-pointer.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/square-pen.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/square-terminal.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/trash-2.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/triangle-alert.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/upload.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/volume-x.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/wand-sparkles.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/webhook.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/wrap-text.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.js", + "../../../../node_modules/.pnpm/lucide-react@0.518.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/zap.js", + "../../../../webview-ui/src/components/ui/checkbox.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-collapsible@1.1.10_@types+react-dom@18.3.7_@types+react@18.3.23__@types_31580b8af933196acb0c61bd22e561f0/node_modules/@radix-ui/react-collapsible/dist/index.mjs", + "../../../../webview-ui/src/components/ui/collapsible.tsx", + "../../../../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react@18.3.23_react-dom_efddfac62ebd0add77007bc1e69c432f/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs", + "../../../../node_modules/.pnpm/cmdk@1.1.1_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react@18.3.23_react-dom_efddfac62ebd0add77007bc1e69c432f/node_modules/cmdk/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-icons@1.3.2_react@18.3.1/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js", + "../../../../webview-ui/src/components/ui/dialog.tsx", + "../../../../webview-ui/src/components/ui/command.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-collection@1.1.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+r_297dd958e4a551681891cc6ffabe6c96/node_modules/@radix-ui/react-collection/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@18.3.23_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs", + "../../../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs", + "../../../../node_modules/.pnpm/@floating-ui+core@1.7.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs", + "../../../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs", + "../../../../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs", + "../../../../node_modules/.pnpm/@floating-ui+react-dom@2.1.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react@_bfce3ac2f70477f9b565bcd77586ae6b/node_modules/@radix-ui/react-arrow/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-popper@1.2.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react_0fb907807353c96397a27d32b9b60d8a/node_modules/@radix-ui/react-popper/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.9_@types+react-dom@18.3.7_@types+react@18.3.23__@types_c3e1c935a45bd9a353c4c5edff01a2cf/node_modules/@radix-ui/react-roving-focus/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-menu@2.1.14_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react@_d86fcff6c08cdea978c28cf91c9beb6a/node_modules/@radix-ui/react-menu/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.14_@types+react-dom@18.3.7_@types+react@18.3.23__@typ_4186df15ff7e7265d6f690f5a2eb0034/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs", + "../../../../webview-ui/src/components/ui/dropdown-menu.tsx", + "../../../../webview-ui/src/components/ui/input.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-popover@1.1.13_@types+react-dom@18.3.7_@types+react@18.3.23__@types+rea_7e8389ca6de0c3e1fe57f09394e0db2e/node_modules/@radix-ui/react-popover/dist/index.mjs", + "../../../../webview-ui/src/components/ui/popover.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-progress@1.1.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+rea_f2a75d4c38037554a5b91d1e7d20e021/node_modules/@radix-ui/react-progress/dist/index.mjs", + "../../../../webview-ui/src/components/ui/progress.tsx", + "../../../../webview-ui/src/hooks/useEscapeKey.ts", + "../../../../webview-ui/src/components/ui/searchable-select.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-separator@1.1.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+re_d7177d18b2ec584a952afa35aef48302/node_modules/@radix-ui/react-separator/dist/index.mjs", + "../../../../webview-ui/src/components/ui/separator.tsx", + "../../../../node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-slider@1.3.4_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react_f251c635159b2855c8ddc8f27c7dac99/node_modules/@radix-ui/react-slider/dist/index.mjs", + "../../../../webview-ui/src/components/ui/slider.tsx", + "../../../../node_modules/.pnpm/fzf@0.5.2/node_modules/fzf/dist/fzf.es.js", + "../../../../webview-ui/src/components/ui/hooks/useRooPortal.ts", + "../../../../webview-ui/src/components/ui/select-dropdown.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.2_@types+react-dom@18.3.7_@types+react@18.3.23__@ty_46e7f400a4b56e1befb24ef82b3d153c/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs", + "../../../../node_modules/.pnpm/@radix-ui+react-select@2.2.4_@types+react-dom@18.3.7_@types+react@18.3.23__@types+react_d9ef85e5584fa59eddde852396d319d8/node_modules/@radix-ui/react-select/dist/index.mjs", + "../../../../webview-ui/src/components/ui/select.tsx", + "../../../../webview-ui/src/components/ui/textarea.tsx", + "../../../../node_modules/.pnpm/@radix-ui+react-tooltip@1.2.6_@types+react-dom@18.3.7_@types+react@18.3.23__@types+reac_99504aa956c623e0884a4e3cb215669a/node_modules/@radix-ui/react-tooltip/dist/index.mjs", + "../../../../webview-ui/src/components/ui/tooltip.tsx", + "../../../../webview-ui/src/components/ui/standard-tooltip.tsx", + "../../../../webview-ui/src/components/ui/toggle-switch.tsx", + "../../../../webview-ui/src/hooks/useAutoApprovalState.ts", + "../../../../webview-ui/src/hooks/useAutoApprovalToggles.ts", + "../../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Enum.js", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Utility.js", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Tokenizer.js", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Parser.js", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Prefixer.js", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Serializer.js", + "../../../../node_modules/.pnpm/stylis@4.3.2/node_modules/stylis/src/Middleware.js", + "../../../../node_modules/.pnpm/@emotion+unitless@0.8.1/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", + "../../../../node_modules/.pnpm/styled-components@6.1.18_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/styled-components/dist/styled-components.browser.esm.js", + "../../../../webview-ui/src/components/common/TelemetryBanner.tsx", + "../../../shared/package.ts", + "../../../../webview-ui/src/components/common/VersionIndicator.tsx", + "../../../../webview-ui/src/utils/highlight.ts", + "../../../../webview-ui/src/components/history/useTaskSearch.ts", + "../../../../webview-ui/src/utils/format.ts", + "../../../../webview-ui/src/components/history/DeleteButton.tsx", + "../../../../webview-ui/src/components/history/TaskItemHeader.tsx", + "../../../../node_modules/.pnpm/pretty-bytes@7.0.0/node_modules/pretty-bytes/index.js", + "../../../../webview-ui/src/components/ui/hooks/useClipboard.ts", + "../../../../webview-ui/src/components/ui/hooks/useNonInteractiveClick.ts", + "../../../../webview-ui/src/components/history/CopyButton.tsx", + "../../../../webview-ui/src/components/history/ExportButton.tsx", + "../../../../webview-ui/src/components/history/TaskItemFooter.tsx", + "../../../../webview-ui/src/components/history/TaskItem.tsx", + "../../../../webview-ui/src/components/history/HistoryPreview.tsx", + "../../../../webview-ui/src/components/chat/Announcement.tsx", + "../../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js", + "../../../../webview-ui/src/utils/clipboard.ts", + "../../../../node_modules/.pnpm/@shikijs+types@3.4.1/node_modules/@shikijs/types/dist/index.mjs", + "../../../../node_modules/.pnpm/@shikijs+vscode-textmate@10.0.2/node_modules/@shikijs/vscode-textmate/dist/index.js", + "../../../../node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/schema.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/merge.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/normalize.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/info.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/types.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/defined-info.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/create.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/aria.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-sensitive-transform.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-insensitive-transform.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/html.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/svg.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xlink.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xmlns.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xml.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/hast-to-react.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/find.js", + "../../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.js", + "../../../../node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js", + "../../../../node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js", + "../../../../node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js", + "../../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js", + "../../../../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js", + "../../../../node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js", + "../../../../node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js", + "../../../../node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js", + "../../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js", + "../../../../node_modules/.pnpm/@shikijs+core@3.4.1/node_modules/@shikijs/core/dist/index.mjs", + "../../../../node_modules/.pnpm/shiki@3.4.1/node_modules/shiki/dist/langs.mjs", + "../../../../node_modules/.pnpm/shiki@3.4.1/node_modules/shiki/dist/themes.mjs", + "../../../../node_modules/.pnpm/@shikijs+engine-oniguruma@3.4.1/node_modules/@shikijs/engine-oniguruma/dist/index.mjs", + "../../../../node_modules/.pnpm/shiki@3.4.1/node_modules/shiki/dist/bundle-full.mjs", + "../../../../webview-ui/src/utils/highlighter.ts", + "../../../../node_modules/.pnpm/estree-util-is-identifier-name@3.0.0/node_modules/estree-util-is-identifier-name/lib/index.js", + "../../../../node_modules/.pnpm/inline-style-parser@0.2.4/node_modules/inline-style-parser/index.js", + "../../../../node_modules/.pnpm/style-to-object@1.0.8/node_modules/style-to-object/cjs/index.js", + "../../../../node_modules/.pnpm/style-to-js@1.1.16/node_modules/style-to-js/cjs/utilities.js", + "../../../../node_modules/.pnpm/style-to-js@1.1.16/node_modules/style-to-js/cjs/index.js", + "../../../../node_modules/.pnpm/unist-util-position@5.0.0/node_modules/unist-util-position/lib/index.js", + "../../../../node_modules/.pnpm/unist-util-stringify-position@4.0.0/node_modules/unist-util-stringify-position/lib/index.js", + "../../../../node_modules/.pnpm/vfile-message@4.0.2/node_modules/vfile-message/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-to-jsx-runtime@2.3.6/node_modules/hast-util-to-jsx-runtime/lib/index.js", + "../../../../webview-ui/src/components/common/CodeBlock.tsx", + "../../../../webview-ui/src/components/mcp/McpToolRow.tsx", + "../../../../node_modules/.pnpm/html-url-attributes@3.0.1/node_modules/html-url-attributes/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-string@4.0.0/node_modules/mdast-util-to-string/lib/index.js", + "../../../../node_modules/.pnpm/decode-named-character-reference@1.1.0/node_modules/decode-named-character-reference/index.dom.js", + "../../../../node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js", + "../../../../node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js", + "../../../../node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js", + "../../../../node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js", + "../../../../node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js", + "../../../../node_modules/.pnpm/micromark-util-sanitize-uri@2.0.1/node_modules/micromark-util-sanitize-uri/index.js", + "../../../../node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/index.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/content.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/document.js", + "../../../../node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js", + "../../../../node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/attention.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/autolink.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/blank-line.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/block-quote.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-escape.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/character-reference.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-fenced.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-indented.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/code-text.js", + "../../../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/lib/splice-buffer.js", + "../../../../node_modules/.pnpm/micromark-util-subtokenize@2.1.0/node_modules/micromark-util-subtokenize/index.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/content.js", + "../../../../node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js", + "../../../../node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js", + "../../../../node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js", + "../../../../node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/definition.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/hard-break-escape.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/heading-atx.js", + "../../../../node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-flow.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/html-text.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-end.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-image.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/label-start-link.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/line-ending.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/thematic-break.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/list.js", + "../../../../node_modules/.pnpm/micromark-core-commonmark@2.0.3/node_modules/micromark-core-commonmark/lib/setext-underline.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/flow.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/initialize/text.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/constructs.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/create-tokenizer.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/parse.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/postprocess.js", + "../../../../node_modules/.pnpm/micromark@4.0.2/node_modules/micromark/lib/preprocess.js", + "../../../../node_modules/.pnpm/micromark-util-decode-string@2.0.1/node_modules/micromark-util-decode-string/index.js", + "../../../../node_modules/.pnpm/mdast-util-from-markdown@2.0.2/node_modules/mdast-util-from-markdown/lib/index.js", + "../../../../node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/break.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/code.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/delete.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/heading.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/html.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/revert.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/image.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/link.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list-item.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/list.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/root.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/strong.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-row.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js", + "../../../../node_modules/.pnpm/trim-lines@3.0.1/node_modules/trim-lines/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/text.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/handlers/index.js", + "../../../../node_modules/.pnpm/@ungap+structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/types.js", + "../../../../node_modules/.pnpm/@ungap+structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/deserialize.js", + "../../../../node_modules/.pnpm/@ungap+structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/serialize.js", + "../../../../node_modules/.pnpm/@ungap+structured-clone@1.3.0/node_modules/@ungap/structured-clone/esm/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/footer.js", + "../../../../node_modules/.pnpm/unist-util-is@6.0.0/node_modules/unist-util-is/lib/index.js", + "../../../../node_modules/.pnpm/unist-util-visit-parents@6.0.1/node_modules/unist-util-visit-parents/lib/index.js", + "../../../../node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/state.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@13.2.0/node_modules/mdast-util-to-hast/lib/index.js", + "../../../../node_modules/.pnpm/remark-rehype@11.1.2/node_modules/remark-rehype/lib/index.js", + "../../../../node_modules/.pnpm/bail@2.0.2/node_modules/bail/index.js", + "../../../../node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.js", + "../../../../node_modules/.pnpm/is-plain-obj@4.1.0/node_modules/is-plain-obj/index.js", + "../../../../node_modules/.pnpm/trough@2.2.0/node_modules/trough/lib/index.js", + "../../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minpath.browser.js", + "../../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minproc.browser.js", + "../../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minurl.shared.js", + "../../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/minurl.browser.js", + "../../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/index.js", + "../../../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/callable-instance.js", + "../../../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.js", + "../../../../node_modules/.pnpm/react-markdown@9.1.0_@types+react@18.3.23_react@18.3.1/node_modules/react-markdown/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-parse-selector@4.0.0/node_modules/hast-util-parse-selector/lib/index.js", + "../../../../node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/create-h.js", + "../../../../node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js", + "../../../../node_modules/.pnpm/hastscript@9.0.1/node_modules/hastscript/lib/index.js", + "../../../../node_modules/.pnpm/web-namespaces@2.0.1/node_modules/web-namespaces/index.js", + "../../../../node_modules/.pnpm/hast-util-from-dom@5.0.1/node_modules/hast-util-from-dom/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-from-html-isomorphic@2.0.0/node_modules/hast-util-from-html-isomorphic/lib/browser.js", + "../../../../node_modules/.pnpm/unist-util-find-after@5.0.0/node_modules/unist-util-find-after/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/lib/index.js", + "../../../../node_modules/.pnpm/hast-util-to-text@4.0.2/node_modules/hast-util-to-text/lib/index.js", + "../../../../node_modules/.pnpm/rehype-katex@7.0.1/node_modules/rehype-katex/lib/index.js", + "../../../../node_modules/.pnpm/longest-streak@3.1.0/node_modules/longest-streak/index.js", + "../../../../node_modules/.pnpm/mdast-util-math@3.0.0/node_modules/mdast-util-math/lib/index.js", + "../../../../node_modules/.pnpm/micromark-extension-math@3.1.0/node_modules/micromark-extension-math/lib/math-flow.js", + "../../../../node_modules/.pnpm/micromark-extension-math@3.1.0/node_modules/micromark-extension-math/lib/math-text.js", + "../../../../node_modules/.pnpm/micromark-extension-math@3.1.0/node_modules/micromark-extension-math/lib/syntax.js", + "../../../../node_modules/.pnpm/remark-math@6.0.0/node_modules/remark-math/lib/index.js", + "../../../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js", + "../../../../node_modules/.pnpm/mdast-util-find-and-replace@3.0.2/node_modules/mdast-util-find-and-replace/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-gfm-autolink-literal@2.0.1/node_modules/mdast-util-gfm-autolink-literal/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-gfm-footnote@2.1.0/node_modules/mdast-util-gfm-footnote/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-gfm-strikethrough@2.0.0/node_modules/mdast-util-gfm-strikethrough/lib/index.js", + "../../../../node_modules/.pnpm/markdown-table@3.0.4/node_modules/markdown-table/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/blockquote.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-fence.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-quote.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/encode-info.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/html.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/paragraph.js", + "../../../../node_modules/.pnpm/mdast-util-phrasing@4.1.0/node_modules/mdast-util-phrasing/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-strong.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/text.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js", + "../../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/index.js", + "../../../../node_modules/.pnpm/mdast-util-gfm-table@2.0.0/node_modules/mdast-util-gfm-table/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-gfm-task-list-item@2.0.0/node_modules/mdast-util-gfm-task-list-item/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-gfm@3.1.0/node_modules/mdast-util-gfm/lib/index.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-autolink-literal@2.1.0/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-footnote@2.1.0/node_modules/micromark-extension-gfm-footnote/lib/syntax.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-strikethrough@2.1.0/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/edit-map.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/infer.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-table@2.1.1/node_modules/micromark-extension-gfm-table/lib/syntax.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm-task-list-item@2.1.0/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js", + "../../../../node_modules/.pnpm/micromark-extension-gfm@3.0.0/node_modules/micromark-extension-gfm/index.js", + "../../../../node_modules/.pnpm/remark-gfm@4.0.1/node_modules/remark-gfm/lib/index.js", + "../../../../webview-ui/src/components/common/IconButton.tsx", + "../../../../webview-ui/src/components/common/ZoomControls.tsx", + "../../../../webview-ui/src/components/common/MermaidActionButtons.tsx", + "../../../../webview-ui/src/components/common/Modal.tsx", + "../../../../webview-ui/src/components/common/TabButton.tsx", + "../../../../webview-ui/src/components/common/MermaidButton.tsx", + "../../../../webview-ui/src/components/common/MermaidBlock.tsx", + "../../../../webview-ui/src/components/common/MarkdownBlock.tsx", + "../../../../webview-ui/src/components/chat/Markdown.tsx", + "../../../../webview-ui/src/components/chat/McpExecution.tsx", + "../../../../webview-ui/src/utils/mcp.ts", + "../../../../webview-ui/src/utils/removeLeadingNonAlphanumeric.ts", + "../../../../webview-ui/src/utils/getLanguageFromPath.ts", + "../../../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/extends.js", + "../../../../node_modules/.pnpm/@babel+runtime@7.27.1/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js", + "../../../../node_modules/.pnpm/use-isomorphic-layout-effect@1.2.0_@types+react@18.3.23_react@18.3.1/node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js", + "../../../../node_modules/.pnpm/use-latest@1.3.0_@types+react@18.3.23_react@18.3.1/node_modules/use-latest/dist/use-latest.esm.js", + "../../../../node_modules/.pnpm/use-composed-ref@1.4.0_@types+react@18.3.23_react@18.3.1/node_modules/use-composed-ref/dist/use-composed-ref.esm.js", + "../../../../node_modules/.pnpm/react-textarea-autosize@8.5.9_@types+react@18.3.23_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.browser.esm.js", + "../../../shared/context-mentions.ts", + "../../../../webview-ui/src/utils/path-mentions.ts", + "../../../../webview-ui/src/utils/context-mentions.ts", + "../../../../webview-ui/src/components/common/Thumbnails.tsx", + "../../../../webview-ui/src/components/chat/IconButton.tsx", + "../../../../webview-ui/src/components/chat/ModeSelector.tsx", + "../../../../webview-ui/src/components/chat/ApiConfigSelector.tsx", + "../../../../node_modules/.pnpm/vscode-material-icons@0.1.1/node_modules/vscode-material-icons/dist/index.js", + "../../../../webview-ui/src/components/chat/ContextMenu.tsx", + "../../../../webview-ui/src/hooks/useTooltip.ts", + "../../../../webview-ui/src/components/chat/CodeIndexPopover.tsx", + "../../../../webview-ui/src/components/chat/IndexingStatusBadge.tsx", + "../../../../webview-ui/src/components/chat/SlashCommandItem.tsx", + "../../../../webview-ui/src/components/chat/SlashCommandsList.tsx", + "../../../../webview-ui/src/components/chat/SlashCommandsPopover.tsx", + "../../../../webview-ui/src/components/chat/hooks/usePromptHistory.ts", + "../../../../webview-ui/src/components/chat/EditModeControls.tsx", + "../../../../webview-ui/src/components/chat/ChatTextArea.tsx", + "../../../../webview-ui/src/components/common/ToolUseBlock.tsx", + "../../../../webview-ui/src/components/chat/UpdateTodoListToolBlock.tsx", + "../../../../webview-ui/src/components/common/CodeAccordian.tsx", + "../../../../webview-ui/src/components/chat/ReasoningBlock.tsx", + "../../../../webview-ui/src/components/mcp/McpResourceRow.tsx", + "../../../../webview-ui/src/components/chat/Mention.tsx", + "../../../../webview-ui/src/components/chat/checkpoints/CheckpointMenu.tsx", + "../../../../webview-ui/src/components/chat/checkpoints/schema.ts", + "../../../../webview-ui/src/components/chat/checkpoints/CheckpointSaved.tsx", + "../../../../webview-ui/src/components/chat/FollowUpSuggest.tsx", + "../../../../webview-ui/src/components/chat/BatchFilePermission.tsx", + "../../../../webview-ui/src/components/chat/BatchDiffApproval.tsx", + "../../../../webview-ui/src/components/chat/ProgressIndicator.tsx", + "../../../../webview-ui/src/components/chat/CommandPatternSelector.tsx", + "../../../../webview-ui/src/utils/command-parser.ts", + "../../../../webview-ui/src/components/chat/CommandExecution.tsx", + "../../../../webview-ui/src/components/chat/CommandExecutionError.tsx", + "../../../../webview-ui/src/components/chat/AutoApprovedRequestLimitWarning.tsx", + "../../../../webview-ui/src/components/chat/ContextCondenseRow.tsx", + "../../../../webview-ui/src/components/chat/CodebaseSearchResult.tsx", + "../../../../webview-ui/src/components/chat/CodebaseSearchResultsDisplay.tsx", + "../../../../webview-ui/src/components/chat/ChatRow.tsx", + "../../../../webview-ui/src/components/chat/BrowserSessionRow.tsx", + "../../../shared/api.ts", + "../../../../webview-ui/src/components/history/DeleteTaskDialog.tsx", + "../../../../webview-ui/src/components/chat/ShareButton.tsx", + "../../../../webview-ui/src/components/chat/TaskActions.tsx", + "../../../../webview-ui/src/utils/model-utils.ts", + "../../../../webview-ui/src/components/chat/ContextWindowProgress.tsx", + "../../../../webview-ui/src/components/chat/TodoListDisplay.tsx", + "../../../../webview-ui/src/components/chat/TaskHeader.tsx", + "../../../../webview-ui/src/components/settings/AutoApproveToggle.tsx", + "../../../../webview-ui/src/components/chat/AutoApproveMenu.tsx", + "../../../../webview-ui/src/components/chat/SystemPromptWarning.tsx", + "../../../../webview-ui/src/components/chat/ProfileViolationWarning.tsx", + "../../../../webview-ui/src/components/chat/CheckpointWarning.tsx", + "../../../../webview-ui/src/components/chat/QueuedMessages.tsx", + "../../../shared/todo.ts", + "../../../../webview-ui/src/components/chat/ChatView.tsx", + "../../../../webview-ui/src/components/history/BatchDeleteTaskDialog.tsx", + "../../../../webview-ui/src/components/common/Tab.tsx", + "../../../../webview-ui/src/components/history/HistoryView.tsx", + "../../../../webview-ui/src/components/settings/SectionHeader.tsx", + "../../../../webview-ui/src/components/settings/ApiConfigManager.tsx", + "../../../../webview-ui/src/components/settings/utils/headers.ts", + "../../../../webview-ui/src/utils/validate.ts", + "../../../../webview-ui/src/components/settings/utils/organizationFilters.ts", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/styled-components.browser.esm-DoVHB1Yc.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/badge.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/button.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/useId-BNxhqA0M.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/checkbox.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/divider.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/dropdown.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/icon.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/label.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/loader.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/view.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/PaneActionButton-s-lTKENS.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/tab.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/panels.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/Table-Cf78Vg7X.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/tag.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/textarea.js", + "../../../../node_modules/.pnpm/vscrui@0.2.2_@types+react@18.3.23_react@18.3.1/node_modules/vscrui/dist/textfield.js", + "../../../../webview-ui/src/components/common/VSCodeButtonLink.tsx", + "../../../../webview-ui/src/components/settings/transforms.ts", + "../../../../webview-ui/src/components/settings/providers/Anthropic.tsx", + "../../../../webview-ui/src/components/settings/providers/Bedrock.tsx", + "../../../../webview-ui/src/components/settings/providers/Cerebras.tsx", + "../../../../webview-ui/src/components/settings/providers/Chutes.tsx", + "../../../../webview-ui/src/components/settings/providers/ClaudeCode.tsx", + "../../../../webview-ui/src/components/settings/providers/DeepSeek.tsx", + "../../../../webview-ui/src/components/settings/providers/Doubao.tsx", + "../../../../webview-ui/src/components/settings/providers/Gemini.tsx", + "../../../../webview-ui/src/oauth/urls.ts", + "../../../../webview-ui/src/utils/formatPrice.ts", + "../../../../node_modules/.pnpm/bail@1.0.5/node_modules/bail/index.js", + "../../../../node_modules/.pnpm/is-buffer@2.0.5/node_modules/is-buffer/index.js", + "../../../../node_modules/.pnpm/is-plain-obj@2.1.0/node_modules/is-plain-obj/index.js", + "../../../../node_modules/.pnpm/trough@1.0.5/node_modules/trough/wrap.js", + "../../../../node_modules/.pnpm/trough@1.0.5/node_modules/trough/index.js", + "../../../../node_modules/.pnpm/unist-util-stringify-position@2.0.3/node_modules/unist-util-stringify-position/index.js", + "../../../../node_modules/.pnpm/vfile-message@2.0.4/node_modules/vfile-message/index.js", + "../../../../node_modules/.pnpm/vfile@4.2.1/node_modules/vfile/lib/minpath.browser.js", + "../../../../node_modules/.pnpm/vfile@4.2.1/node_modules/vfile/lib/minproc.browser.js", + "../../../../node_modules/.pnpm/vfile@4.2.1/node_modules/vfile/lib/core.js", + "../../../../node_modules/.pnpm/vfile@4.2.1/node_modules/vfile/lib/index.js", + "../../../../node_modules/.pnpm/vfile@4.2.1/node_modules/vfile/index.js", + "../../../../node_modules/.pnpm/unified@9.2.2/node_modules/unified/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-string@2.0.0/node_modules/mdast-util-to-string/index.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/assign.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/has-own-property.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/normalize-identifier.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/from-char-code.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/safe-from-int.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/markdown-line-ending.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/markdown-space.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/factory-space.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/initialize/content.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/partial-blank-line.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/initialize/document.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/size-chunks.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/prefix-size.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/splice.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/chunked-splice.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/shallow.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/subtokenize.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/content.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/initialize/flow.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/initialize/text.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/miniflat.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/combine-extensions.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/chunked-push.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/resolve-all.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/serialize-chunks.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/slice-chunks.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/create-tokenizer.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/markdown-line-ending-or-space.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/unicode-punctuation-regex.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/regex-check.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/unicode-punctuation.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/unicode-whitespace.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/classify-character.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/util/move-point.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/attention.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-alpha.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-alphanumeric.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-atext.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-control.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/autolink.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/block-quote.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-punctuation.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/character-escape.js", + "../../../../node_modules/.pnpm/parse-entities@2.0.0/node_modules/parse-entities/decode-entity.browser.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-digit.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/character/ascii-hex-digit.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/character-reference.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/code-fenced.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/code-indented.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/code-text.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/factory-destination.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/factory-label.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/factory-whitespace.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/factory-title.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/definition.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/hard-break-escape.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/heading-atx.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/html-block-names.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constant/html-raw-names.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/html-flow.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/html-text.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/label-end.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/label-start-image.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/label-start-link.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/line-ending.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/thematic-break.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/list.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/tokenize/setext-underline.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/constructs.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/parse.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/preprocess.js", + "../../../../node_modules/.pnpm/micromark@2.11.4/node_modules/micromark/dist/postprocess.js", + "../../../../node_modules/.pnpm/mdast-util-from-markdown@0.8.5/node_modules/mdast-util-from-markdown/dist/index.js", + "../../../../node_modules/.pnpm/mdast-util-from-markdown@0.8.5/node_modules/mdast-util-from-markdown/index.js", + "../../../../node_modules/.pnpm/remark-parse@9.0.0/node_modules/remark-parse/index.js", + "../../../../node_modules/.pnpm/unist-builder@2.0.3/node_modules/unist-builder/index.js", + "../../../../node_modules/.pnpm/unist-util-is@4.1.0/node_modules/unist-util-is/convert.js", + "../../../../node_modules/.pnpm/unist-util-visit-parents@3.1.1/node_modules/unist-util-visit-parents/color.browser.js", + "../../../../node_modules/.pnpm/unist-util-visit-parents@3.1.1/node_modules/unist-util-visit-parents/index.js", + "../../../../node_modules/.pnpm/unist-util-visit@2.0.3/node_modules/unist-util-visit/index.js", + "../../../../node_modules/.pnpm/unist-util-position@3.1.0/node_modules/unist-util-position/index.js", + "../../../../node_modules/.pnpm/unist-util-generated@1.1.6/node_modules/unist-util-generated/index.js", + "../../../../node_modules/.pnpm/mdast-util-definitions@4.0.0/node_modules/mdast-util-definitions/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/all.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/one.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/wrap.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/list.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/footer.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/break.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/code.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/delete.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/footnote.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/heading.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/html.js", + "../../../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/encode.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/revert.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/image.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/link.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/list-item.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/root.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/strong.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/table.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/text.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/handlers/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/lib/index.js", + "../../../../node_modules/.pnpm/mdast-util-to-hast@10.2.0/node_modules/mdast-util-to-hast/index.js", + "../../../../node_modules/.pnpm/remark-rehype@8.1.0/node_modules/remark-rehype/index.js", + "../../../../node_modules/.pnpm/xtend@4.0.2/node_modules/xtend/immutable.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/schema.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/merge.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/normalize.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/info.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/types.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/defined-info.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/create.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/xlink.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/xml.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/case-sensitive-transform.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/util/case-insensitive-transform.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/xmlns.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/aria.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/html.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/html.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/lib/svg.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/svg.js", + "../../../../node_modules/.pnpm/property-information@5.6.0/node_modules/property-information/find.js", + "../../../../node_modules/.pnpm/space-separated-tokens@1.1.5/node_modules/space-separated-tokens/index.js", + "../../../../node_modules/.pnpm/comma-separated-tokens@1.0.8/node_modules/comma-separated-tokens/index.js", + "../../../../node_modules/.pnpm/inline-style-parser@0.1.1/node_modules/inline-style-parser/index.js", + "../../../../node_modules/.pnpm/style-to-object@0.3.0/node_modules/style-to-object/index.js", + "../../../../node_modules/.pnpm/hast-to-hyperscript@9.0.1/node_modules/hast-to-hyperscript/index.js", + "../../../../node_modules/.pnpm/unist-util-is@3.0.0/node_modules/unist-util-is/convert.js", + "../../../../node_modules/.pnpm/unist-util-visit-parents@2.1.2/node_modules/unist-util-visit-parents/index.js", + "../../../../node_modules/.pnpm/unist-util-visit@1.4.1/node_modules/unist-util-visit/index.js", + "../../../../node_modules/.pnpm/@mapbox+hast-util-table-cell-style@0.2.1/node_modules/@mapbox/hast-util-table-cell-style/index.js", + "../../../../node_modules/.pnpm/rehype-react@6.2.1/node_modules/rehype-react/index.js", + "../../../../node_modules/.pnpm/react-remark@2.1.0_react@18.3.1/node_modules/react-remark/dist/react-remark.esm.js", + "../../../../webview-ui/src/components/settings/styles.ts", + "../../../../webview-ui/src/components/settings/ModelDescriptionMarkdown.tsx", + "../../../../webview-ui/src/components/settings/ModelInfoView.tsx", + "../../../../webview-ui/src/components/settings/ApiErrorMessage.tsx", + "../../../../webview-ui/src/components/settings/ModelPicker.tsx", + "../../../../webview-ui/src/components/settings/providers/Glama.tsx", + "../../../../webview-ui/src/components/settings/providers/Groq.tsx", + "../../../../webview-ui/src/components/settings/providers/HuggingFace.tsx", + "../../../../webview-ui/src/components/settings/providers/LMStudio.tsx", + "../../../../webview-ui/src/components/settings/providers/Mistral.tsx", + "../../../../webview-ui/src/components/settings/providers/Moonshot.tsx", + "../../../../webview-ui/src/components/settings/providers/Ollama.tsx", + "../../../../webview-ui/src/components/settings/providers/OpenAI.tsx", + "../../../../webview-ui/src/components/settings/R1FormatSetting.tsx", + "../../../../webview-ui/src/components/settings/ThinkingBudget.tsx", + "../../../../webview-ui/src/components/settings/providers/OpenAICompatible.tsx", + "../../../../webview-ui/src/components/ui/hooks/useOpenRouterKeyInfo.ts", + "../../../../webview-ui/src/components/settings/providers/OpenRouterBalanceDisplay.tsx", + "../../../../webview-ui/src/components/settings/providers/OpenRouter.tsx", + "../../../../webview-ui/src/components/ui/hooks/useRequestyKeyInfo.ts", + "../../../../webview-ui/src/components/settings/providers/RequestyBalanceDisplay.tsx", + "../../../../webview-ui/src/components/settings/providers/Requesty.tsx", + "../../../../webview-ui/src/components/settings/providers/SambaNova.tsx", + "../../../../webview-ui/src/components/settings/providers/Unbound.tsx", + "../../../../webview-ui/src/components/settings/providers/Vertex.tsx", + "../../../../webview-ui/src/components/settings/providers/VSCodeLM.tsx", + "../../../../webview-ui/src/components/settings/providers/XAI.tsx", + "../../../../webview-ui/src/components/settings/providers/ZAi.tsx", + "../../../../webview-ui/src/components/settings/providers/LiteLLM.tsx", + "../../../../webview-ui/src/components/settings/providers/Fireworks.tsx", + "../../../../webview-ui/src/components/settings/constants.ts", + "../../../../webview-ui/src/components/settings/DiffSettingsControl.tsx", + "../../../../webview-ui/src/components/settings/TodoListSettingsControl.tsx", + "../../../../webview-ui/src/components/settings/TemperatureControl.tsx", + "../../../../webview-ui/src/components/settings/RateLimitSecondsControl.tsx", + "../../../../webview-ui/src/components/settings/ConsecutiveMistakeLimitControl.tsx", + "../../../../webview-ui/src/components/settings/providers/BedrockCustomArn.tsx", + "../../../../webview-ui/src/components/settings/ApiOptions.tsx", + "../../../../webview-ui/src/components/settings/Section.tsx", + "../../../../webview-ui/src/components/common/DecoratedVSCodeTextField.tsx", + "../../../../webview-ui/src/components/common/FormattedTextField.tsx", + "../../../../webview-ui/src/components/settings/MaxRequestsInput.tsx", + "../../../../webview-ui/src/components/settings/MaxCostInput.tsx", + "../../../../webview-ui/src/components/settings/MaxLimitInputs.tsx", + "../../../../webview-ui/src/components/settings/AutoApproveSettings.tsx", + "../../../../webview-ui/src/components/settings/BrowserSettings.tsx", + "../../../../webview-ui/src/components/settings/CheckpointSettings.tsx", + "../../../../webview-ui/src/components/settings/NotificationSettings.tsx", + "../../../../webview-ui/src/components/settings/ContextManagementSettings.tsx", + "../../../../webview-ui/src/components/settings/TerminalSettings.tsx", + "../../../../webview-ui/src/components/settings/ExperimentalFeature.tsx", + "../../../../webview-ui/src/components/settings/ExperimentalSettings.tsx", + "../../../../webview-ui/src/components/settings/LanguageSettings.tsx", + "../../../../webview-ui/src/components/settings/About.tsx", + "../../../shared/support-prompt.ts", + "../../../../webview-ui/src/components/settings/PromptsSettings.tsx", + "../../../../webview-ui/src/components/settings/SettingsView.tsx", + "../../../../node_modules/.pnpm/seed-random@2.2.0/node_modules/seed-random/index.js", + "../../../../node_modules/.pnpm/knuth-shuffle-seeded@1.0.6/node_modules/knuth-shuffle-seeded/index.js", + "../../../../webview-ui/src/components/welcome/WelcomeView.tsx", + "../../../../webview-ui/src/components/mcp/McpEnabledToggle.tsx", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constants.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructFrom.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/toDate.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultOptions.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeek.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeek.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeekYear.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeDates.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfDay.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarDays.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeekYear.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isDate.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isValid.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfYear.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/localize.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/match.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDayOfYear.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeek.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeekYear.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeekYear.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeek.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/addLeadingZeros.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightFormatters.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longFormatters.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/protectedTokens.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.js", + "../../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/formatRelative.js", + "../../../../webview-ui/src/components/mcp/McpErrorRow.tsx", + "../../../../webview-ui/src/components/mcp/McpView.tsx", + "../../../../webview-ui/src/components/marketplace/useStateManager.ts", + "../../../../webview-ui/src/utils/url.ts", + "../../../../webview-ui/src/components/marketplace/components/MarketplaceInstallModal.tsx", + "../../../../webview-ui/src/components/marketplace/components/MarketplaceItemCard.tsx", + "../../../../webview-ui/src/components/marketplace/IssueFooter.tsx", + "../../../../webview-ui/src/components/marketplace/MarketplaceListView.tsx", + "../../../../webview-ui/src/components/marketplace/MarketplaceView.tsx", + "../../../../webview-ui/src/components/modes/DeleteModeDialog.tsx", + "../../../../webview-ui/src/components/modes/ModesView.tsx", + "../../../../webview-ui/src/components/human-relay/HumanRelayDialog.tsx", + "../../../../webview-ui/src/components/chat/MessageModificationConfirmationDialog.tsx", + "../../../../webview-ui/src/components/ErrorBoundary.tsx", + "../../../../webview-ui/src/components/account/AccountView.tsx", + "../../../../webview-ui/src/App.tsx", + "../../../../webview-ui/src/index.tsx" + ], + "sourcesContent": [ + "/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n", + "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", + "/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n", + "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n", + "/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n", + "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", + "/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n", + "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n", + "'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n", + "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", + "export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n", + "'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n", + "import { useEffect, useRef } from 'react';\nvar isPrimitive = function (val) { return val !== Object(val); };\nvar useCustomCompareEffect = function (effect, deps, depsEqual) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(deps instanceof Array) || !deps.length) {\n console.warn('`useCustomCompareEffect` should not be used with no dependencies. Use React.useEffect instead.');\n }\n if (deps.every(isPrimitive)) {\n console.warn('`useCustomCompareEffect` should not be used with dependencies that are all primitive values. Use React.useEffect instead.');\n }\n if (typeof depsEqual !== 'function') {\n console.warn('`useCustomCompareEffect` should be used with depsEqual callback for comparing deps list');\n }\n }\n var ref = useRef(undefined);\n if (!ref.current || !depsEqual(deps, ref.current)) {\n ref.current = deps;\n }\n useEffect(effect, ref.current);\n};\nexport default useCustomCompareEffect;\n", + "import { useCallback, useEffect, useRef } from 'react';\nexport default function useTimeoutFn(fn, ms) {\n if (ms === void 0) { ms = 0; }\n var ready = useRef(false);\n var timeout = useRef();\n var callback = useRef(fn);\n var isReady = useCallback(function () { return ready.current; }, []);\n var set = useCallback(function () {\n ready.current = false;\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n ready.current = true;\n callback.current();\n }, ms);\n }, [ms]);\n var clear = useCallback(function () {\n ready.current = null;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n // update ref when function changes\n useEffect(function () {\n callback.current = fn;\n }, [fn]);\n // set on mount, clear on unmount\n useEffect(function () {\n set();\n return clear;\n }, [ms]);\n return [isReady, clear, set];\n}\n", + "import { useEffect } from 'react';\nimport useTimeoutFn from './useTimeoutFn';\nexport default function useDebounce(fn, ms, deps) {\n if (ms === void 0) { ms = 0; }\n if (deps === void 0) { deps = []; }\n var _a = useTimeoutFn(fn, ms), isReady = _a[0], cancel = _a[1], reset = _a[2];\n useEffect(reset, deps);\n return [isReady, cancel];\n}\n", + "import useCustomCompareEffect from './useCustomCompareEffect';\nimport isDeepEqual from './misc/isDeepEqual';\nvar isPrimitive = function (val) { return val !== Object(val); };\nvar useDeepCompareEffect = function (effect, deps) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(deps instanceof Array) || !deps.length) {\n console.warn('`useDeepCompareEffect` should not be used with no dependencies. Use React.useEffect instead.');\n }\n if (deps.every(isPrimitive)) {\n console.warn('`useDeepCompareEffect` should not be used with dependencies that are all primitive values. Use React.useEffect instead.');\n }\n }\n useCustomCompareEffect(effect, deps, isDeepEqual);\n};\nexport default useDeepCompareEffect;\n", + "import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n", + "import { useEffect } from 'react';\nimport { isBrowser, off, on } from './misc/util';\nvar defaultTarget = isBrowser ? window : null;\nvar isListenerType1 = function (target) {\n return !!target.addEventListener;\n};\nvar isListenerType2 = function (target) {\n return !!target.on;\n};\nvar useEvent = function (name, handler, target, options) {\n if (target === void 0) { target = defaultTarget; }\n useEffect(function () {\n if (!handler) {\n return;\n }\n if (!target) {\n return;\n }\n if (isListenerType1(target)) {\n on(target, name, handler, options);\n }\n else if (isListenerType2(target)) {\n target.on(name, handler, options);\n }\n return function () {\n if (isListenerType1(target)) {\n off(target, name, handler, options);\n }\n else if (isListenerType2(target)) {\n target.off(name, handler, options);\n }\n };\n }, [name, handler, target, JSON.stringify(options)]);\n};\nexport default useEvent;\n", + "import { useMemo } from 'react';\nimport useEvent from './useEvent';\nimport { noop } from './misc/util';\nvar createKeyPredicate = function (keyFilter) {\n return typeof keyFilter === 'function'\n ? keyFilter\n : typeof keyFilter === 'string'\n ? function (event) { return event.key === keyFilter; }\n : keyFilter\n ? function () { return true; }\n : function () { return false; };\n};\nvar useKey = function (key, fn, opts, deps) {\n if (fn === void 0) { fn = noop; }\n if (opts === void 0) { opts = {}; }\n if (deps === void 0) { deps = [key]; }\n var _a = opts.event, event = _a === void 0 ? 'keydown' : _a, target = opts.target, options = opts.options;\n var useMemoHandler = useMemo(function () {\n var predicate = createKeyPredicate(key);\n var handler = function (handlerEvent) {\n if (predicate(handlerEvent)) {\n return fn(handlerEvent);\n }\n };\n return handler;\n }, deps);\n useEvent(event, useMemoHandler, target, options);\n};\nexport default useKey;\n", + "import { useState } from 'react';\nimport useKey from './useKey';\nvar useKeyPress = function (keyFilter) {\n var _a = useState([false, null]), state = _a[0], set = _a[1];\n useKey(keyFilter, function (event) { return set([true, event]); }, { event: 'keydown' }, [state]);\n useKey(keyFilter, function (event) { return set([false, event]); }, { event: 'keyup' }, [state]);\n return state;\n};\nexport default useKeyPress;\n", + "import useEffectOnce from './useEffectOnce';\nvar useMount = function (fn) {\n useEffectOnce(function () {\n fn();\n });\n};\nexport default useMount;\n", + "import { useRef } from 'react';\nimport useEffectOnce from './useEffectOnce';\nvar useUnmount = function (fn) {\n var fnRef = useRef(fn);\n // update the ref each render so if it change the newest callback will be invoked\n fnRef.current = fn;\n useEffectOnce(function () { return function () { return fnRef.current(); }; });\n};\nexport default useUnmount;\n", + "import { useCallback, useRef, useState } from 'react';\nimport useUnmount from './useUnmount';\nvar useRafState = function (initialState) {\n var frame = useRef(0);\n var _a = useState(initialState), state = _a[0], setState = _a[1];\n var setRafState = useCallback(function (value) {\n cancelAnimationFrame(frame.current);\n frame.current = requestAnimationFrame(function () {\n setState(value);\n });\n }, []);\n useUnmount(function () {\n cancelAnimationFrame(frame.current);\n });\n return [state, setRafState];\n};\nexport default useRafState;\n", + "import { __spreadArrays } from \"tslib\";\nimport * as React from 'react';\nimport { isBrowser, off, on } from './misc/util';\nvar useState = React.useState, useEffect = React.useEffect, useRef = React.useRef;\nvar DRAF = function (callback) { return setTimeout(callback, 35); };\nvar useSize = function (element, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.width, width = _c === void 0 ? Infinity : _c, _d = _b.height, height = _d === void 0 ? Infinity : _d;\n if (!isBrowser) {\n return [\n typeof element === 'function' ? element({ width: width, height: height }) : element,\n { width: width, height: height },\n ];\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var _e = useState({ width: width, height: height }), state = _e[0], setState = _e[1];\n if (typeof element === 'function') {\n element = element(state);\n }\n var style = element.props.style || {};\n // eslint-disable-next-line react-hooks/rules-of-hooks\n var ref = useRef(null);\n var window = null;\n var setSize = function () {\n var iframe = ref.current;\n var size = iframe\n ? {\n width: iframe.offsetWidth,\n height: iframe.offsetHeight,\n }\n : { width: width, height: height };\n setState(size);\n };\n var onWindow = function (windowToListenOn) {\n on(windowToListenOn, 'resize', setSize);\n DRAF(setSize);\n };\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n var iframe = ref.current;\n if (!iframe) {\n // iframe will be undefined if component is already unmounted\n return;\n }\n if (iframe.contentWindow) {\n window = iframe.contentWindow;\n onWindow(window);\n }\n else {\n var onLoad_1 = function () {\n on(iframe, 'load', onLoad_1);\n window = iframe.contentWindow;\n onWindow(window);\n };\n off(iframe, 'load', onLoad_1);\n }\n return function () {\n if (window && window.removeEventListener) {\n off(window, 'resize', setSize);\n }\n };\n }, []);\n style.position = 'relative';\n var sized = React.cloneElement.apply(React, __spreadArrays([element, { style: style }], __spreadArrays([\n React.createElement('iframe', {\n ref: ref,\n style: {\n background: 'transparent',\n border: 'none',\n height: '100%',\n left: 0,\n position: 'absolute',\n top: 0,\n width: '100%',\n zIndex: -1,\n },\n })\n ], React.Children.toArray(element.props.children))));\n return [sized, state];\n};\nexport default useSize;\n", + "import { useEffect } from 'react';\nimport useRafState from './useRafState';\nimport { isBrowser, off, on } from './misc/util';\nvar useWindowSize = function (_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.initialWidth, initialWidth = _c === void 0 ? Infinity : _c, _d = _b.initialHeight, initialHeight = _d === void 0 ? Infinity : _d, onChange = _b.onChange;\n // Use the useRafState hook to maintain the current window size (width and height)\n var _e = useRafState({\n width: isBrowser ? window.innerWidth : initialWidth,\n height: isBrowser ? window.innerHeight : initialHeight,\n }), state = _e[0], setState = _e[1];\n useEffect(function () {\n // Only run the effect on the browser (to avoid issues with SSR)\n if (isBrowser) {\n var handler_1 = function () {\n var width = window.innerWidth;\n var height = window.innerHeight;\n // Update the state with the new window size\n setState({\n width: width,\n height: height,\n });\n // If an onChange callback is provided, call it with the new dimensions\n if (onChange)\n onChange(width, height);\n };\n // Add event listener for the resize event\n on(window, 'resize', handler_1);\n // Cleanup function to remove the event listener when the component is unmounted (it's for performance optimization)\n return function () {\n off(window, 'resize', handler_1);\n };\n }\n }, []);\n // Return the current window size (width and height)\n return state;\n};\nexport default useWindowSize;\n", + "// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map", + "// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in globalThis;\nfunction noop() {\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction resolveStaleTime(staleTime, query) {\n return typeof staleTime === \"function\" ? staleTime(query) : staleTime;\n}\nfunction resolveEnabled(enabled, query) {\n return typeof enabled === \"function\" ? enabled(query) : enabled;\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (fetchStatus && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return Object.keys(b).every((key) => partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if ((!array && aItems.includes(key) || array) && a[key] === void 0 && b[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (ctor === void 0) {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n if (Object.getPrototypeOf(o) !== Object.prototype) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(timeout) {\n return new Promise((resolve) => {\n setTimeout(resolve, timeout);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n return replaceEqualDeep(prevData, data);\n } catch (error) {\n console.error(\n `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error}`\n );\n throw error;\n }\n }\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nvar skipToken = Symbol();\nfunction ensureQueryFn(options, fetchOptions) {\n if (process.env.NODE_ENV !== \"production\") {\n if (options.queryFn === skipToken) {\n console.error(\n `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`\n );\n }\n }\n if (!options.queryFn && fetchOptions?.initialPromise) {\n return () => fetchOptions.initialPromise;\n }\n if (!options.queryFn || options.queryFn === skipToken) {\n return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));\n }\n return options.queryFn;\n}\nfunction shouldThrowError(throwOnError, params) {\n if (typeof throwOnError === \"function\") {\n return throwOnError(...params);\n }\n return !!throwOnError;\n}\nexport {\n addToEnd,\n addToStart,\n ensureQueryFn,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n shouldThrowError,\n skipToken,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map", + "// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n const isFocused = this.isFocused();\n this.listeners.forEach((listener) => {\n listener(isFocused);\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map", + "// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map", + "// src/thenable.ts\nfunction pendingThenable() {\n let resolve;\n let reject;\n const thenable = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n thenable.status = \"pending\";\n thenable.catch(() => {\n });\n function finalize(data) {\n Object.assign(thenable, data);\n delete thenable.resolve;\n delete thenable.reject;\n }\n thenable.resolve = (value) => {\n finalize({\n status: \"fulfilled\",\n value\n });\n resolve(value);\n };\n thenable.reject = (reason) => {\n finalize({\n status: \"rejected\",\n reason\n });\n reject(reason);\n };\n return thenable;\n}\nexport {\n pendingThenable\n};\n//# sourceMappingURL=thenable.js.map", + "// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class extends Error {\n constructor(options) {\n super(\"CancelledError\");\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n const thenable = pendingThenable();\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const canContinue = () => focusManager.isFocused() && (config.networkMode === \"always\" || onlineManager.isOnline()) && config.canRun();\n const canStart = () => canFetch(config.networkMode) && config.canRun();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n thenable.resolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n thenable.reject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n if (isResolved || canContinue()) {\n continueResolve(value);\n }\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n const initialPromise = failureCount === 0 ? config.initialPromise : void 0;\n try {\n promiseOrValue = initialPromise ?? config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n return canContinue() ? void 0 : pause();\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n return {\n promise: thenable,\n cancel,\n continue: () => {\n continueFn?.();\n return thenable;\n },\n cancelRetry,\n continueRetry,\n canStart,\n start: () => {\n if (canStart()) {\n run();\n } else {\n pause().then(run);\n }\n return thenable;\n }\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map", + "// src/notifyManager.ts\nvar defaultScheduler = (cb) => setTimeout(cb, 0);\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = defaultScheduler;\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n return {\n batch: (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n },\n /**\n * All calls to the wrapped function will be batched.\n */\n batchCalls: (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n },\n schedule,\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n setNotifyFunction: (fn) => {\n notifyFn = fn;\n },\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n setBatchNotifyFunction: (fn) => {\n batchNotifyFn = fn;\n },\n setScheduler: (fn) => {\n scheduleFn = fn;\n }\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n defaultScheduler,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map", + "// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map", + "// src/query.ts\nimport {\n ensureQueryFn,\n noop,\n replaceData,\n resolveEnabled,\n skipToken,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #client;\n #retryer;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.#client = config.client;\n this.#cache = this.#client.getQueryCache();\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = getDefaultState(this.options);\n this.state = config.state ?? this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n get promise() {\n return this.#retryer?.promise;\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#retryer?.promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.observers.some(\n (observer) => resolveEnabled(observer.options.enabled, this) !== false\n );\n }\n isDisabled() {\n if (this.getObserversCount() > 0) {\n return !this.isActive();\n }\n return this.options.queryFn === skipToken || this.state.dataUpdateCount + this.state.errorUpdateCount === 0;\n }\n isStale() {\n if (this.state.isInvalidated) {\n return true;\n }\n if (this.getObserversCount() > 0) {\n return this.observers.some(\n (observer) => observer.getCurrentResult().isStale\n );\n }\n return this.state.data === void 0;\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || this.state.data === void 0 || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.observers.includes(observer)) {\n this.observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.observers.includes(observer)) {\n this.observers = this.observers.filter((x) => x !== observer);\n if (!this.observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.data !== void 0 && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#retryer) {\n this.#retryer.continueRetry();\n return this.#retryer.promise;\n }\n }\n if (options) {\n this.setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.observers.find((x) => x.options.queryFn);\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n const fetchFn = () => {\n const queryFn = ensureQueryFn(this.options, fetchOptions);\n const queryFnContext = {\n client: this.#client,\n queryKey: this.queryKey,\n meta: this.meta\n };\n addSignalProperty(queryFnContext);\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n queryFn,\n queryFnContext,\n this\n );\n }\n return queryFn(queryFnContext);\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n client: this.#client,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n this.scheduleGc();\n };\n this.#retryer = createRetryer({\n initialPromise: fetchOptions?.initialPromise,\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (data === void 0) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n try {\n this.setData(data);\n } catch (error) {\n onError(error);\n return;\n }\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n this.scheduleGc();\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode,\n canRun: () => true\n });\n return this.#retryer.start();\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n ...fetchState(state.data, this.options),\n fetchMeta: action.meta ?? null\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction fetchState(data, options) {\n return {\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchStatus: canFetch(options.networkMode) ? \"fetching\" : \"paused\",\n ...data === void 0 && {\n error: null,\n status: \"pending\"\n }\n };\n}\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = data !== void 0;\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query,\n fetchState\n};\n//# sourceMappingURL=query.js.map", + "// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n client,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map", + "// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const onContinue = () => {\n this.#dispatch({ type: \"continue\" });\n };\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue,\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (restored) {\n onContinue();\n } else {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map", + "// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = /* @__PURE__ */ new Set();\n this.#scopes = /* @__PURE__ */ new Map();\n this.#mutationId = 0;\n }\n #mutations;\n #scopes;\n #mutationId;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.add(mutation);\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n scopedMutations.push(mutation);\n } else {\n this.#scopes.set(scope, [mutation]);\n }\n }\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n if (this.#mutations.delete(mutation)) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const scopedMutations = this.#scopes.get(scope);\n if (scopedMutations) {\n if (scopedMutations.length > 1) {\n const index = scopedMutations.indexOf(mutation);\n if (index !== -1) {\n scopedMutations.splice(index, 1);\n }\n } else if (scopedMutations[0] === mutation) {\n this.#scopes.delete(scope);\n }\n }\n }\n }\n this.notify({ type: \"removed\", mutation });\n }\n canRun(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const mutationsWithSameScope = this.#scopes.get(scope);\n const firstPendingMutation = mutationsWithSameScope?.find(\n (m) => m.state.status === \"pending\"\n );\n return !firstPendingMutation || firstPendingMutation === mutation;\n } else {\n return true;\n }\n }\n runNext(mutation) {\n const scope = scopeFor(mutation);\n if (typeof scope === \"string\") {\n const foundMutation = this.#scopes.get(scope)?.find((m) => m !== mutation && m.state.isPaused);\n return foundMutation?.continue() ?? Promise.resolve();\n } else {\n return Promise.resolve();\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.notify({ type: \"removed\", mutation });\n });\n this.#mutations.clear();\n this.#scopes.clear();\n });\n }\n getAll() {\n return Array.from(this.#mutations);\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.getAll().filter((mutation) => matchMutation(filters, mutation));\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n const pausedMutations = this.getAll().filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => Promise.all(\n pausedMutations.map((mutation) => mutation.continue().catch(noop))\n )\n );\n }\n};\nfunction scopeFor(mutation) {\n return mutation.options.scope?.id;\n}\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map", + "// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart, ensureQueryFn } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n let result = { pages: [], pageParams: [] };\n let currentPage = 0;\n const fetchFn = async () => {\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = ensureQueryFn(context.options, context.fetchOptions);\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n client: context.client,\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n const remainingPages = pages ?? oldPages.length;\n do {\n const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);\n if (currentPage > 0 && param == null) {\n break;\n }\n result = await fetchPage(result, param);\n currentPage++;\n } while (currentPage < remainingPages);\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n client: context.client,\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return pages.length > 0 ? options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n ) : void 0;\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;\n}\nfunction hasNextPage(options, data) {\n if (!data) return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam) return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map", + "// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey,\n resolveStaleTime,\n skipToken\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1) return;\n this.#unsubscribeFocus = focusManager.subscribe(async (focused) => {\n if (focused) {\n await this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(async (online) => {\n if (online) {\n await this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0) return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n /**\n * Imperative (non-reactive) way to retrieve data for a QueryKey.\n * Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates.\n *\n * Hint: Do not use this function inside a component, because it won't receive updates.\n * Use `useQuery` to create a `QueryObserver` that subscribes to changes.\n */\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n const query = this.#queryCache.build(this, defaultedOptions);\n const cachedData = query.state.data;\n if (cachedData === void 0) {\n return this.fetchQuery(options);\n }\n if (options.revalidateIfStale && query.isStaleByTime(resolveStaleTime(defaultedOptions.staleTime, query))) {\n void this.prefetchQuery(defaultedOptions);\n }\n return Promise.resolve(cachedData);\n }\n getQueriesData(filters) {\n return this.#queryCache.findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (data === void 0) {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.#queryCache.findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(\n options.queryHash\n )?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(\n {\n type: \"active\",\n ...filters\n },\n options\n );\n });\n }\n cancelQueries(filters, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters?.refetchType === \"none\") {\n return Promise.resolve();\n }\n return this.refetchQueries(\n {\n ...filters,\n type: filters?.refetchType ?? filters?.type ?? \"active\"\n },\n options\n );\n });\n }\n refetchQueries(filters, options = {}) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (defaultedOptions.retry === void 0) {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(\n resolveStaleTime(defaultedOptions.staleTime, query)\n ) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n ensureInfiniteQueryData(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.ensureQueryData(options);\n }\n resumePausedMutations() {\n if (onlineManager.isOnline()) {\n return this.#mutationCache.resumePausedMutations();\n }\n return Promise.resolve();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n const result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n Object.assign(result, queryDefault.defaultOptions);\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (defaultedOptions.refetchOnReconnect === void 0) {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (defaultedOptions.throwOnError === void 0) {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (!defaultedOptions.networkMode && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n if (defaultedOptions.queryFn === skipToken) {\n defaultedOptions.enabled = false;\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map", + "// src/queryObserver.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { fetchState } from \"./query.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { pendingThenable } from \"./thenable.js\";\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n resolveEnabled,\n resolveStaleTime,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.options = options;\n this.#client = client;\n this.#selectError = null;\n this.#currentThenable = pendingThenable();\n if (!this.options.experimental_prefetchInRender) {\n this.#currentThenable.reject(\n new Error(\"experimental_prefetchInRender feature flag is not enabled\")\n );\n }\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery = void 0;\n #currentQueryInitialState = void 0;\n #currentResult = void 0;\n #currentResultState;\n #currentResultOptions;\n #currentThenable;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps = /* @__PURE__ */ new Set();\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (this.options.enabled !== void 0 && typeof this.options.enabled !== \"boolean\" && typeof this.options.enabled !== \"function\" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== \"boolean\") {\n throw new Error(\n \"Expected enabled to be a boolean or a callback that returns a boolean\"\n );\n }\n this.#updateQuery();\n this.#currentQuery.setOptions(this.options);\n if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result, onPropTracked) {\n return new Proxy(result, {\n get: (target, key) => {\n this.trackProp(key);\n onPropTracked?.(key);\n return Reflect.get(target, key);\n }\n });\n }\n trackProp(key) {\n this.#trackedProps.add(key);\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n const staleTime = resolveStaleTime(\n this.options.staleTime,\n this.#currentQuery\n );\n if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {\n return;\n }\n const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let newState = { ...state };\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n newState = {\n ...newState,\n ...fetchState(state.data, query.options)\n };\n }\n if (options._optimisticResults === \"isRestoring\") {\n newState.fetchStatus = \"idle\";\n }\n }\n let { error, errorUpdatedAt, status } = newState;\n data = newState.data;\n let skipSelect = false;\n if (options.placeholderData !== void 0 && data === void 0 && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n skipSelect = true;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n }\n if (placeholderData !== void 0) {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (options.select && data !== void 0 && !skipSelect) {\n if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = newState.fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const hasData = data !== void 0;\n const result = {\n status,\n fetchStatus: newState.fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: newState.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: newState.fetchFailureCount,\n failureReason: newState.fetchFailureReason,\n errorUpdateCount: newState.errorUpdateCount,\n isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,\n isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && !hasData,\n isPaused: newState.fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && hasData,\n isStale: isStale(query, options),\n refetch: this.refetch,\n promise: this.#currentThenable\n };\n const nextResult = result;\n if (this.options.experimental_prefetchInRender) {\n const finalizeThenableIfPossible = (thenable) => {\n if (nextResult.status === \"error\") {\n thenable.reject(nextResult.error);\n } else if (nextResult.data !== void 0) {\n thenable.resolve(nextResult.data);\n }\n };\n const recreateThenable = () => {\n const pending = this.#currentThenable = nextResult.promise = pendingThenable();\n finalizeThenableIfPossible(pending);\n };\n const prevThenable = this.#currentThenable;\n switch (prevThenable.status) {\n case \"pending\":\n if (query.queryHash === prevQuery.queryHash) {\n finalizeThenableIfPossible(prevThenable);\n }\n break;\n case \"fulfilled\":\n if (nextResult.status === \"error\" || nextResult.data !== prevThenable.value) {\n recreateThenable();\n }\n break;\n case \"rejected\":\n if (nextResult.status !== \"error\" || nextResult.error !== prevThenable.reason) {\n recreateThenable();\n }\n break;\n }\n }\n return nextResult;\n }\n updateResult() {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n this.#notify({ listeners: shouldNotifyListeners() });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (resolveEnabled(options.enabled, query) !== false) {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map", + "\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map", + "\"use client\";\n\n// src/IsRestoringProvider.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=IsRestoringProvider.js.map", + "\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ jsx(QueryErrorResetBoundaryContext.Provider, { value, children: typeof children === \"function\" ? children(value) : children });\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map", + "\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"@tanstack/query-core\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query,\n suspense\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map", + "// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => query.state.data === void 0;\nvar ensureSuspenseTimers = (defaultedOptions) => {\n const originalStaleTime = defaultedOptions.staleTime;\n if (defaultedOptions.suspense) {\n defaultedOptions.staleTime = typeof originalStaleTime === \"function\" ? (...args) => Math.max(originalStaleTime(...args), 1e3) : Math.max(originalStaleTime ?? 1e3, 1e3);\n if (typeof defaultedOptions.gcTime === \"number\") {\n defaultedOptions.gcTime = Math.max(defaultedOptions.gcTime, 1e3);\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map", + "\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { isServer, noop, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n} from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n client.getDefaultOptions().queries?._experimental_beforeQuery?.(\n defaultedOptions\n );\n if (process.env.NODE_ENV !== \"production\") {\n if (!defaultedOptions.queryFn) {\n console.error(\n `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`\n );\n }\n }\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureSuspenseTimers(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop;\n observer.updateResult();\n return unsubscribe;\n },\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions);\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: client.getQueryCache().get(defaultedOptions.queryHash),\n suspense: defaultedOptions.suspense\n })) {\n throw result.error;\n }\n ;\n client.getDefaultOptions().queries?._experimental_afterQuery?.(\n defaultedOptions,\n result\n );\n if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {\n const promise = isNewCacheEntry ? (\n // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted\n fetchOptimistic(defaultedOptions, observer, errorResetBoundary)\n ) : (\n // subscribe to the \"cache promise\" so that we can finalize the currentThenable once data comes in\n client.getQueryCache().get(defaultedOptions.queryHash)?.promise\n );\n promise?.catch(noop).finally(() => {\n observer.updateResult();\n });\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map", + "\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map", + "/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n", + "import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n", + "export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n?.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;", + "const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);", + "import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;", + "let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;", + "import { Fragment, isValidElement, cloneElement, createElement, Children } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { isObject, isString, warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nconst hasChildren = (node, checkLength) => {\n if (!node) return false;\n const base = node.props?.children ?? node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n};\nconst getChildren = node => {\n if (!node) return [];\n const children = node.props?.children ?? node.children;\n return node.props?.i18nIsDynamicList ? getAsArray(children) : children;\n};\nconst hasValidReactChildren = children => Array.isArray(children) && children.every(isValidElement);\nconst getAsArray = data => Array.isArray(data) ? data : [data];\nconst mergeProps = (source, target) => {\n const newTarget = {\n ...target\n };\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n};\nexport const nodesToString = (children, i18nOptions, i18n, i18nKey) => {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions?.transSupportBasicHtmlNodes ? i18nOptions.transKeepBasicHtmlNodesFor ?? [] : [];\n childrenArray.forEach((child, childIndex) => {\n if (isString(child)) {\n stringNode += `${child}`;\n return;\n }\n if (isValidElement(child)) {\n const {\n props,\n type\n } = child;\n const childPropsCount = Object.keys(props).length;\n const shouldKeepChild = keepArray.indexOf(type) > -1;\n const childChildren = props.children;\n if (!childChildren && shouldKeepChild && !childPropsCount) {\n stringNode += `<${type}/>`;\n return;\n }\n if (!childChildren && (!shouldKeepChild || childPropsCount) || props.i18nIsDynamicList) {\n stringNode += `<${childIndex}></${childIndex}>`;\n return;\n }\n if (shouldKeepChild && childPropsCount === 1 && isString(childChildren)) {\n stringNode += `<${type}>${childChildren}</${type}>`;\n return;\n }\n const content = nodesToString(childChildren, i18nOptions, i18n, i18nKey);\n stringNode += `<${childIndex}>${content}</${childIndex}>`;\n return;\n }\n if (child === null) {\n warn(i18n, 'TRANS_NULL_VALUE', `Passed in a null value as child`, {\n i18nKey\n });\n return;\n }\n if (isObject(child)) {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n return;\n }\n warn(i18n, 'TRANS_INVALID_OBJ', `Invalid child - Object should only have keys {{ value, format }} (format is optional).`, {\n i18nKey,\n child\n });\n return;\n }\n warn(i18n, 'TRANS_INVALID_VAR', `Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`, {\n i18nKey,\n child\n });\n });\n return stringNode;\n};\nconst renderNodes = (children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) => {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = {};\n const getData = childs => {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (isString(child)) return;\n if (hasChildren(child)) getData(getChildren(child));else if (isObject(child) && !isValidElement(child)) Object.assign(data, child);\n });\n };\n getData(children);\n const ast = HTML.parse(`<0>${targetString}</0>`);\n const opts = {\n ...data,\n ...combinedTOpts\n };\n const renderInner = (child, node, rootReactNode) => {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props?.i18nIsDynamicList ? childs : mappedChildren;\n };\n const pushTranslatedJSX = (child, inner, mem, i, isVoid) => {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n const props = {\n ...c.props\n };\n delete props.i18nIsDynamicList;\n return createElement(c.type, {\n ...props,\n key: i,\n ref: c.ref\n }, isVoid ? null : inner);\n }));\n }\n };\n const mapAST = (reactNode, astNode, rootReactNode) => {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children?.[0]?.content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && isObject(child) && child.dummy && !isElement;\n const isKnownComponent = isObject(children) && Object.hasOwnProperty.call(children, node.name);\n if (isString(child)) {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}</${node.name}>`);\n }\n } else if (isObject(child) && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n };\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n};\nconst fixComponentProps = (component, index, translation) => {\n const componentKey = component.key || index;\n const comp = cloneElement(component, {\n key: componentKey\n });\n if (!comp.props || !comp.props.children || translation.indexOf(`${index}/>`) < 0 && translation.indexOf(`${index} />`) < 0) {\n return comp;\n }\n function Componentized() {\n return createElement(Fragment, null, comp);\n }\n return createElement(Componentized, {\n key: componentKey\n });\n};\nconst generateArrayComponents = (components, translation) => components.map((c, index) => fixComponentProps(c, index, translation));\nconst generateObjectComponents = (components, translation) => {\n const componentMap = {};\n Object.keys(components).forEach(c => {\n Object.assign(componentMap, {\n [c]: fixComponentProps(components[c], c, translation)\n });\n });\n return componentMap;\n};\nconst generateComponents = (components, translation, i18n, i18nKey) => {\n if (!components) return null;\n if (Array.isArray(components)) {\n return generateArrayComponents(components, translation);\n }\n if (isObject(components)) {\n return generateObjectComponents(components, translation);\n }\n warnOnce(i18n, 'TRANS_INVALID_COMPONENTS', `<Trans /> \"components\" prop expects an object or array`, {\n i18nKey\n });\n return null;\n};\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', `Trans: You need to pass in an i18next instance using i18nextReactModule`, {\n i18nKey\n });\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n const reactI18nextOptions = {\n ...getDefaults(),\n ...i18n.options?.react\n };\n let namespaces = ns || t.ns || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n const nodeAsString = nodesToString(children, reactI18nextOptions, i18n, i18nKey);\n const defaultValue = defaults || nodeAsString || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options?.interpolation?.defaultVariables) {\n values = values && Object.keys(values).length > 0 ? {\n ...values,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n }\n const interpolationOverride = values || count !== undefined && !i18n.options?.interpolation?.alwaysFormat || !children ? tOptions.interpolation : {\n interpolation: {\n ...tOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...tOptions,\n context: context || tOptions.context,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n const translation = key ? t(key, combinedTOpts) : defaultValue;\n const generatedComponents = generateComponents(components, translation, i18n, i18nKey);\n const content = renderNodes(generatedComponents || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n const useAsParent = parent ?? reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}", + "import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};", + "import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};", + "import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n}) {\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n?.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t?.ns || defaultNSFromContext || i18n?.options?.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}", + "import { useState, useEffect, useContext, useRef, useCallback } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nconst alwaysNewT = (i18n, language, namespace, keyPrefix) => i18n.getFixedT(language, namespace, keyPrefix);\nconst useMemoizedT = (i18n, language, namespace, keyPrefix) => useCallback(alwaysNewT(i18n, language, namespace, keyPrefix), [i18n, language, namespace, keyPrefix]);\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react?.wait) warnOnce(i18n, 'DEPRECATED_OPTION', 'useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options?.defaultNS;\n namespaces = isString(namespaces) ? [namespaces] : namespaces || ['translation'];\n i18n.reportNamespaces.addUsedNamespaces?.(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const memoGetT = useMemoizedT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const getT = () => memoGetT;\n const getNewT = () => alwaysNewT(i18n, props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getNewT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getNewT);\n }\n const boundReset = () => {\n if (isMounted.current) setT(getNewT);\n };\n if (bindI18n) i18n?.on(bindI18n, boundReset);\n if (bindI18nStore) i18n?.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (i18n) bindI18n?.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n useEffect(() => {\n if (isMounted.current && ready) {\n setT(getT);\n }\n }, [i18n, keyPrefix, ready]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n};", + "import { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation.js';\nimport { getDisplayName } from './utils.js';\nexport const withTranslation = (ns, options = {}) => function Extend(WrappedComponent) {\n function I18nextWithTranslation({\n forwardedRef,\n ...rest\n }) {\n const [t, i18n, ready] = useTranslation(ns, {\n ...rest,\n keyPrefix: options.keyPrefix\n });\n const passDownProps = {\n ...rest,\n t,\n i18n,\n tReady: ready\n };\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n return createElement(WrappedComponent, passDownProps);\n }\n I18nextWithTranslation.displayName = `withI18nextTranslation(${getDisplayName(WrappedComponent)})`;\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n const forwardRef = (props, ref) => createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n};", + "const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last?.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = (obj, path, keySeparator = '.') => {\n if (!obj) return undefined;\n if (obj[path]) {\n if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;\n return obj[path];\n }\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code?.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n console?.[type]?.apply?.(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger, options = {}) {\n this.init(concreteLogger, options);\n }\n init(concreteLogger, options = {}) {\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log(...args) {\n return this.forward(args, 'log', '', true);\n }\n warn(...args) {\n return this.forward(args, 'warn', '', true);\n }\n error(...args) {\n return this.forward(args, 'error', '');\n }\n deprecate(...args) {\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event, ...args) {\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(([observer, numTimesAdded]) => {\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data, options = {\n ns: ['translation'],\n defaultNS: 'translation'\n }) {\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key, options = {}) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data?.[lng]?.[ns], key, keySeparator);\n }\n addResource(lng, ns, key, value, options = {\n silent: false\n }) {\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources, options = {\n silent: false\n }) {\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite, options = {\n silent: false,\n skipCopy: false\n }) {\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n value = this.processors[processor]?.process(value, key, options, translator) ?? value;\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nconst shouldHandleAsObject = res => !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\nclass Translator extends EventEmitter {\n constructor(services, options = {}) {\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key, o = {\n interpolation: {}\n }) {\n const opt = {\n ...o\n };\n if (key == null) return false;\n const resolved = this.resolve(key, opt);\n return resolved?.res !== undefined;\n }\n extractFromKey(key, opt) {\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n let namespaces = opt.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !opt.keySeparator && !this.options.userDefinedNsSeparator && !opt.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, o, lastKey) {\n let opt = typeof o === 'object' ? {\n ...o\n } : o;\n if (typeof opt !== 'object' && this.options.overloadTranslationOptionHandler) {\n opt = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') opt = {\n ...opt\n };\n if (!opt) opt = {};\n if (keys == null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = opt.returnDetails !== undefined ? opt.returnDetails : this.options.returnDetails;\n const keySeparator = opt.keySeparator !== undefined ? opt.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], opt);\n const namespace = namespaces[namespaces.length - 1];\n let nsSeparator = opt.nsSeparator !== undefined ? opt.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const lng = opt.lng || this.language;\n const appendNamespaceToCIMode = opt.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng?.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(opt)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, opt);\n let res = resolved?.res;\n const resUsedKey = resolved?.usedKey || key;\n const resExactUsedKey = resolved?.exactUsedKey || key;\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = opt.joinArrays !== undefined ? opt.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const hasDefaultValue = Translator.hasDefaultValue(opt);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, opt) : '';\n const defaultValueSuffixOrdinalFallback = opt.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, opt.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const defaultValue = needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] || opt[`defaultValue${defaultValueSuffix}`] || opt[`defaultValue${defaultValueSuffixOrdinalFallback}`] || opt.defaultValue;\n let resForObjHndl = res;\n if (handleAsObjectInI18nFormat && !res && hasDefaultValue) {\n resForObjHndl = defaultValue;\n }\n const handleAsObject = shouldHandleAsObject(resForObjHndl);\n const resType = Object.prototype.toString.apply(resForObjHndl);\n if (handleAsObjectInI18nFormat && resForObjHndl && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(resForObjHndl))) {\n if (!opt.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, resForObjHndl, {\n ...opt,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(resForObjHndl);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in resForObjHndl) {\n if (Object.prototype.hasOwnProperty.call(resForObjHndl, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n if (hasDefaultValue && !res) {\n copy[m] = this.translate(deepKey, {\n ...opt,\n defaultValue: shouldHandleAsObject(defaultValue) ? defaultValue[m] : undefined,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n } else {\n copy[m] = this.translate(deepKey, {\n ...opt,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n }\n if (copy[m] === deepKey) copy[m] = resForObjHndl[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, opt, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = opt.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...opt,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, opt.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(opt.lng || this.language);\n } else {\n lngs.push(opt.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, opt);\n } else if (this.backendConnector?.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, opt);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, opt);\n if (needsZeroSuffixLookup && opt[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, opt[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, opt, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) {\n res = `${namespace}${nsSeparator}${key}`;\n }\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}${nsSeparator}${key}` : key, usedDefault ? res : undefined, opt);\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(opt);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, opt, resolved, lastKey) {\n if (this.i18nFormat?.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...opt\n }, opt.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!opt.skipInterpolation) {\n if (opt.interpolation) this.interpolator.init({\n ...opt,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...opt.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (opt?.interpolation?.skipOnVariables !== undefined ? opt.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = opt.replace && !isString(opt.replace) ? opt.replace : opt;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, opt.lng || this.language || resolved.usedLng, opt);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) opt.nest = false;\n }\n if (!opt.lng && resolved && resolved.res) opt.lng = this.language || resolved.usedLng;\n if (opt.nest !== false) res = this.interpolator.nest(res, (...args) => {\n if (lastKey?.[0] === args[0] && !opt.context) {\n this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return this.translate(...args, key);\n }, opt);\n if (opt.interpolation) this.interpolator.reset();\n }\n const postProcess = opt.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res != null && postProcessorNames?.length && opt.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(opt)\n },\n ...opt\n } : opt, this);\n }\n return res;\n }\n resolve(keys, opt = {}) {\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, opt);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = opt.count !== undefined && !isString(opt.count);\n const needsZeroSuffixLookup = needsPluralHandling && !opt.ordinal && opt.count === 0;\n const needsContextHandling = opt.context !== undefined && (isString(opt.context) || typeof opt.context === 'number') && opt.context !== '';\n const codes = opt.lngs ? opt.lngs : this.languageUtils.toResolveHierarchy(opt.lng || this.language, opt.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat?.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, opt);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, opt.count, opt);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${opt.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (opt.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, opt);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key, options = {}) {\n if (this.i18nFormat?.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails(options = {}) {\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n let formattedCode;\n try {\n formattedCode = Intl.getCanonicalLocales(code)[0];\n } catch (e) {}\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n if (this.options.lowerCaseLng) {\n return code.toLowerCase();\n }\n return code;\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngScOnly = this.getScriptPartFromCode(code);\n if (this.isSupportedCode(lngScOnly)) return found = lngScOnly;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes((fallbackCode === false ? [] : fallbackCode) || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst dummyRule = {\n select: count => count === 1 ? 'one' : 'other',\n resolvedOptions: () => ({\n pluralCategories: ['one', 'other']\n })\n};\nclass PluralResolver {\n constructor(languageUtils, options = {}) {\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code, options = {}) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!Intl) {\n this.logger.error('No Intl support, please use an Intl polyfill!');\n return dummyRule;\n }\n if (!code.match(/-|_/)) return dummyRule;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n needsPlural(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n return rule?.resolvedOptions().pluralCategories.length > 1;\n }\n getPluralFormsOfKey(code, key, options = {}) {\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code, options = {}) {\n let rule = this.getRule(code, options);\n if (!rule) rule = this.getRule('dev', options);\n if (!rule) return [];\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n getSuffix(code, count, options = {}) {\n const rule = this.getRule(code, options);\n if (rule) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return this.getSuffix('dev', count, options);\n }\n}\n\nconst deepFindWithDefaults = (data, defaultData, key, keySeparator = '.', ignoreJSONStructure = true) => {\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor(options = {}) {\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options?.interpolation?.format || (value => value);\n this.init(options);\n }\n init(options = {}) {\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp?.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options?.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options?.interpolation?.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc, options = {}) {\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if ((matchedSingleQuotes?.length ?? 0) % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (v, l, o) => {\n let optForCache = o;\n if (o && o.interpolationkey && o.formatParams && o.formatParams[o.interpolationkey] && o[o.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [o.interpolationkey]: undefined\n };\n }\n const key = l + JSON.stringify(optForCache);\n let frm = cache[key];\n if (!frm) {\n frm = fn(getCleanedCode(l), o);\n cache[key] = frm;\n }\n return frm(v);\n };\n};\nconst createNonCachedFormatter = fn => (v, l, o) => fn(getCleanedCode(l), o)(v);\nclass Formatter {\n constructor(options = {}) {\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.init(options);\n }\n init(services, options = {\n interpolation: {}\n }) {\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n const cf = options.cacheInBuiltFormats ? createCachedFormatter : createNonCachedFormatter;\n this.formats = {\n number: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: cf((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: cf((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: cf((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: cf((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng, options = {}) {\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options?.formatParams?.[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services, options = {}) {\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n this.backend?.init?.(services, options.backend, options);\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName, tried = 0, wait = this.retryTimeout, callback) {\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces, options = {}, callback) {\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name, prefix = '') {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate, options = {}, clb = () => {}) {\n if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend?.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initAsync: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n },\n cacheInBuiltFormats: true\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs?.indexOf?.('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n if (typeof options.initImmediate === 'boolean') options.initAsync = options.initImmediate;\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor(options = {}, callback) {\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initAsync) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init(options = {}, callback) {\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (options.defaultNS == null && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', (event, ...args) => {\n this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = (...args) => this.store[fcName](...args);\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = (...args) => {\n this.store[fcName](...args);\n return this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initAsync) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language, callback = noop) {\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng?.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n this.options.preload?.forEach?.(l => append(l));\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n if (!this.resolvedLanguage && this.languages.indexOf(l) < 0 && this.store.hasLanguageSomeTranslations(l)) {\n this.resolvedLanguage = l;\n this.languages.unshift(l);\n }\n }\n changeLanguage(lng, callback) {\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n if (this.isLanguageChangingTo === lng) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n }\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve((...args) => this.t(...args));\n if (callback) callback(err, (...args) => this.t(...args));\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const fl = isString(lngs) ? lngs : lngs && lngs[0];\n const l = this.store.hasLanguageSomeTranslations(fl) ? fl : this.services.languageUtils.getBestMatchFromCodes(isString(lngs) ? [lngs] : lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n this.services.languageDetector?.cacheUserLanguage?.(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n const fixedT = (key, opts, ...rest) => {\n let o;\n if (typeof opts !== 'object') {\n o = this.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n o = {\n ...opts\n };\n }\n o.lng = o.lng || fixedT.lng;\n o.lngs = o.lngs || fixedT.lngs;\n o.ns = o.ns || fixedT.ns;\n if (o.keyPrefix !== '') o.keyPrefix = o.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = this.options.keySeparator || '.';\n let resultKey;\n if (o.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${o.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = o.keyPrefix ? `${o.keyPrefix}${keySeparator}${key}` : key;\n }\n return this.t(resultKey, o);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t(...args) {\n return this.translator?.translate(...args);\n }\n exists(...args) {\n return this.translator?.exists(...args);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns, options = {}) {\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services?.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance(options = {}, callback) {\n return new I18n(options, callback);\n }\n cloneInstance(options = {}, callback = noop) {\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n const clonedData = Object.keys(this.store.data).reduce((prev, l) => {\n prev[l] = {\n ...this.store.data[l]\n };\n prev[l] = Object.keys(prev[l]).reduce((acc, n) => {\n acc[n] = {\n ...prev[l][n]\n };\n return acc;\n }, prev[l]);\n return prev;\n }, {});\n clone.store = new ResourceStore(clonedData, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', (event, ...args) => {\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n", + "import i18next from \"i18next\"\nimport { initReactI18next } from \"react-i18next\"\n\n// Build translations object\nconst translations: Record<string, Record<string, any>> = {}\n\n// Dynamically load locale files\nconst localeFiles = import.meta.glob(\"./locales/**/*.json\", { eager: true })\n\n// Process all locale files\nObject.entries(localeFiles).forEach(([path, module]) => {\n\t// Extract language and namespace from path\n\t// Example path: './locales/en/common.json' -> language: 'en', namespace: 'common'\n\tconst match = path.match(/\\.\\/locales\\/([^/]+)\\/([^/]+)\\.json/)\n\n\tif (match) {\n\t\tconst [, language, namespace] = match\n\n\t\t// Initialize language object if it doesn't exist\n\t\tif (!translations[language]) {\n\t\t\ttranslations[language] = {}\n\t\t}\n\n\t\t// Add namespace resources to language\n\t\ttranslations[language][namespace] = (module as any).default || module\n\t}\n})\n\nconsole.log(\"Dynamically loaded translations:\", Object.keys(translations))\n\n// Initialize i18next for React\n// This will be initialized with the VSCode language in TranslationProvider\ni18next.use(initReactI18next).init({\n\tlng: \"en\", // Default language (will be overridden)\n\tfallbackLng: \"en\",\n\tdebug: false,\n\tinterpolation: {\n\t\tescapeValue: false, // React already escapes by default\n\t},\n})\n\nexport function loadTranslations() {\n\tObject.entries(translations).forEach(([lang, namespaces]) => {\n\t\ttry {\n\t\t\tObject.entries(namespaces).forEach(([namespace, resources]) => {\n\t\t\t\ti18next.addResourceBundle(lang, namespace, resources, true, true)\n\t\t\t})\n\t\t} catch (error) {\n\t\t\tconsole.warn(`Could not load ${lang} translations:`, error)\n\t\t}\n\t})\n}\n\nexport default i18next\n", + "export var util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nexport var objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nexport const ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n", + "import { util } from \"./helpers/util.js\";\nexport const ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nexport const quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexport class ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n", + "import { ZodIssueCode } from \"../ZodError.js\";\nimport { util, ZodParsedType } from \"../helpers/util.js\";\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\nexport default errorMap;\n", + "import defaultErrorMap from \"./locales/en.js\";\nlet overrideErrorMap = defaultErrorMap;\nexport { defaultErrorMap };\nexport function setErrorMap(map) {\n overrideErrorMap = map;\n}\nexport function getErrorMap() {\n return overrideErrorMap;\n}\n", + "import { getErrorMap } from \"../errors.js\";\nimport defaultErrorMap from \"../locales/en.js\";\nexport const makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexport const EMPTY_PATH = [];\nexport function addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === defaultErrorMap ? undefined : defaultErrorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexport class ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexport const INVALID = Object.freeze({\n status: \"aborted\",\n});\nexport const DIRTY = (value) => ({ status: \"dirty\", value });\nexport const OK = (value) => ({ status: \"valid\", value });\nexport const isAborted = (x) => x.status === \"aborted\";\nexport const isDirty = (x) => x.status === \"dirty\";\nexport const isValid = (x) => x.status === \"valid\";\nexport const isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n", + "export var errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (errorUtil = {}));\n", + "import { ZodError, ZodIssueCode, } from \"./ZodError.js\";\nimport { defaultErrorMap, getErrorMap } from \"./errors.js\";\nimport { errorUtil } from \"./helpers/errorUtil.js\";\nimport { DIRTY, INVALID, OK, ParseStatus, addIssueToContext, isAborted, isAsync, isDirty, isValid, makeIssue, } from \"./helpers/parseUtil.js\";\nimport { util, ZodParsedType, getParsedType } from \"./helpers/util.js\";\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nexport class ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nexport class ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"duration\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"jwt\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cidr\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nexport class ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nexport class ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nexport class ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nexport class ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nexport class ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nexport class ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nexport class ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nexport class ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nexport class ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nexport class ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nexport class ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nexport class ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nexport class ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexport class ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nexport class ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nexport class ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexport class ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nexport class ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nexport class ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nZodEnum.create = createZodEnum;\nexport class ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nexport class ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nexport class ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!isValid(base))\n return INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nexport { ZodEffects as ZodTransformer };\nexport class ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nexport class ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nexport class ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nexport class ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nexport class ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexport const BRAND = Symbol(\"zod_brand\");\nexport class ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexport class ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexport class ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nexport function custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexport { ZodType as Schema, ZodType as ZodSchema };\nexport const late = {\n object: ZodObject.lazycreate,\n};\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nexport const coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexport { anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, dateType as date, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, instanceOfType as instanceof, intersectionType as intersection, lazyType as lazy, literalType as literal, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, recordType as record, setType as set, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, };\nexport const NEVER = INVALID;\n", + "import { z } from \"zod\"\n\n/**\n * ReasoningEffort\n */\n\nexport const reasoningEfforts = [\"low\", \"medium\", \"high\"] as const\n\nexport const reasoningEffortsSchema = z.enum(reasoningEfforts)\n\nexport type ReasoningEffort = z.infer<typeof reasoningEffortsSchema>\n\n/**\n * ModelParameter\n */\n\nexport const modelParameters = [\"max_tokens\", \"temperature\", \"reasoning\", \"include_reasoning\"] as const\n\nexport const modelParametersSchema = z.enum(modelParameters)\n\nexport type ModelParameter = z.infer<typeof modelParametersSchema>\n\nexport const isModelParameter = (value: string): value is ModelParameter =>\n\tmodelParameters.includes(value as ModelParameter)\n\n/**\n * ModelInfo\n */\n\nexport const modelInfoSchema = z.object({\n\tmaxTokens: z.number().nullish(),\n\tmaxThinkingTokens: z.number().nullish(),\n\tcontextWindow: z.number(),\n\tsupportsImages: z.boolean().optional(),\n\tsupportsComputerUse: z.boolean().optional(),\n\tsupportsPromptCache: z.boolean(),\n\tsupportsReasoningBudget: z.boolean().optional(),\n\trequiredReasoningBudget: z.boolean().optional(),\n\tsupportsReasoningEffort: z.boolean().optional(),\n\tsupportedParameters: z.array(modelParametersSchema).optional(),\n\tinputPrice: z.number().optional(),\n\toutputPrice: z.number().optional(),\n\tcacheWritesPrice: z.number().optional(),\n\tcacheReadsPrice: z.number().optional(),\n\tdescription: z.string().optional(),\n\treasoningEffort: reasoningEffortsSchema.optional(),\n\tminTokensPerCachePoint: z.number().optional(),\n\tmaxCachePoints: z.number().optional(),\n\tcachableFields: z.array(z.string()).optional(),\n\ttiers: z\n\t\t.array(\n\t\t\tz.object({\n\t\t\t\tcontextWindow: z.number(),\n\t\t\t\tinputPrice: z.number().optional(),\n\t\t\t\toutputPrice: z.number().optional(),\n\t\t\t\tcacheWritesPrice: z.number().optional(),\n\t\t\t\tcacheReadsPrice: z.number().optional(),\n\t\t\t}),\n\t\t)\n\t\t.optional(),\n})\n\nexport type ModelInfo = z.infer<typeof modelInfoSchema>\n", + "import { z } from \"zod\"\n\n/**\n * Codebase Index Constants\n */\nexport const CODEBASE_INDEX_DEFAULTS = {\n\tMIN_SEARCH_RESULTS: 10,\n\tMAX_SEARCH_RESULTS: 200,\n\tDEFAULT_SEARCH_RESULTS: 50,\n\tSEARCH_RESULTS_STEP: 10,\n\tMIN_SEARCH_SCORE: 0,\n\tMAX_SEARCH_SCORE: 1,\n\tDEFAULT_SEARCH_MIN_SCORE: 0.4,\n\tSEARCH_SCORE_STEP: 0.05,\n} as const\n\n/**\n * CodebaseIndexConfig\n */\n\nexport const codebaseIndexConfigSchema = z.object({\n\tcodebaseIndexEnabled: z.boolean().optional(),\n\tcodebaseIndexQdrantUrl: z.string().optional(),\n\tcodebaseIndexEmbedderProvider: z.enum([\"openai\", \"ollama\", \"openai-compatible\", \"gemini\", \"mistral\"]).optional(),\n\tcodebaseIndexEmbedderBaseUrl: z.string().optional(),\n\tcodebaseIndexEmbedderModelId: z.string().optional(),\n\tcodebaseIndexEmbedderModelDimension: z.number().optional(),\n\tcodebaseIndexSearchMinScore: z.number().min(0).max(1).optional(),\n\tcodebaseIndexSearchMaxResults: z\n\t\t.number()\n\t\t.min(CODEBASE_INDEX_DEFAULTS.MIN_SEARCH_RESULTS)\n\t\t.max(CODEBASE_INDEX_DEFAULTS.MAX_SEARCH_RESULTS)\n\t\t.optional(),\n\t// OpenAI Compatible specific fields\n\tcodebaseIndexOpenAiCompatibleBaseUrl: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleModelDimension: z.number().optional(),\n})\n\nexport type CodebaseIndexConfig = z.infer<typeof codebaseIndexConfigSchema>\n\n/**\n * CodebaseIndexModels\n */\n\nexport const codebaseIndexModelsSchema = z.object({\n\topenai: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tollama: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\t\"openai-compatible\": z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tgemini: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tmistral: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n})\n\nexport type CodebaseIndexModels = z.infer<typeof codebaseIndexModelsSchema>\n\n/**\n * CdebaseIndexProvider\n */\n\nexport const codebaseIndexProviderSchema = z.object({\n\tcodeIndexOpenAiKey: z.string().optional(),\n\tcodeIndexQdrantApiKey: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleBaseUrl: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleApiKey: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleModelDimension: z.number().optional(),\n\tcodebaseIndexGeminiApiKey: z.string().optional(),\n\tcodebaseIndexMistralApiKey: z.string().optional(),\n})\n\nexport type CodebaseIndexProvider = z.infer<typeof codebaseIndexProviderSchema>\n", + "import { z } from \"zod\"\n\nimport { reasoningEffortsSchema, modelInfoSchema } from \"./model.js\"\nimport { codebaseIndexProviderSchema } from \"./codebase-index.js\"\n\n/**\n * ProviderName\n */\n\nexport const providerNames = [\n\t\"anthropic\",\n\t\"claude-code\",\n\t\"glama\",\n\t\"openrouter\",\n\t\"bedrock\",\n\t\"vertex\",\n\t\"openai\",\n\t\"ollama\",\n\t\"vscode-lm\",\n\t\"lmstudio\",\n\t\"gemini\",\n\t\"gemini-cli\",\n\t\"openai-native\",\n\t\"mistral\",\n\t\"moonshot\",\n\t\"deepseek\",\n\t\"doubao\",\n\t\"unbound\",\n\t\"requesty\",\n\t\"human-relay\",\n\t\"fake-ai\",\n\t\"xai\",\n\t\"groq\",\n\t\"chutes\",\n\t\"litellm\",\n\t\"huggingface\",\n\t\"cerebras\",\n\t\"sambanova\",\n\t\"zai\",\n\t\"fireworks\",\n] as const\n\nexport const providerNamesSchema = z.enum(providerNames)\n\nexport type ProviderName = z.infer<typeof providerNamesSchema>\n\n/**\n * ProviderSettingsEntry\n */\n\nexport const providerSettingsEntrySchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tapiProvider: providerNamesSchema.optional(),\n})\n\nexport type ProviderSettingsEntry = z.infer<typeof providerSettingsEntrySchema>\n\n/**\n * ProviderSettings\n */\n\n/**\n * Default value for consecutive mistake limit\n */\nexport const DEFAULT_CONSECUTIVE_MISTAKE_LIMIT = 3\n\nconst baseProviderSettingsSchema = z.object({\n\tincludeMaxTokens: z.boolean().optional(),\n\tdiffEnabled: z.boolean().optional(),\n\ttodoListEnabled: z.boolean().optional(),\n\tfuzzyMatchThreshold: z.number().optional(),\n\tmodelTemperature: z.number().nullish(),\n\trateLimitSeconds: z.number().optional(),\n\tconsecutiveMistakeLimit: z.number().min(0).optional(),\n\n\t// Model reasoning.\n\tenableReasoningEffort: z.boolean().optional(),\n\treasoningEffort: reasoningEffortsSchema.optional(),\n\tmodelMaxTokens: z.number().optional(),\n\tmodelMaxThinkingTokens: z.number().optional(),\n})\n\n// Several of the providers share common model config properties.\nconst apiModelIdProviderModelSchema = baseProviderSettingsSchema.extend({\n\tapiModelId: z.string().optional(),\n})\n\nconst anthropicSchema = apiModelIdProviderModelSchema.extend({\n\tapiKey: z.string().optional(),\n\tanthropicBaseUrl: z.string().optional(),\n\tanthropicUseAuthToken: z.boolean().optional(),\n})\n\nconst claudeCodeSchema = apiModelIdProviderModelSchema.extend({\n\tclaudeCodePath: z.string().optional(),\n\tclaudeCodeMaxOutputTokens: z.number().int().min(1).max(200000).optional(),\n})\n\nconst glamaSchema = baseProviderSettingsSchema.extend({\n\tglamaModelId: z.string().optional(),\n\tglamaApiKey: z.string().optional(),\n})\n\nconst openRouterSchema = baseProviderSettingsSchema.extend({\n\topenRouterApiKey: z.string().optional(),\n\topenRouterModelId: z.string().optional(),\n\topenRouterBaseUrl: z.string().optional(),\n\topenRouterSpecificProvider: z.string().optional(),\n\topenRouterUseMiddleOutTransform: z.boolean().optional(),\n})\n\nconst bedrockSchema = apiModelIdProviderModelSchema.extend({\n\tawsAccessKey: z.string().optional(),\n\tawsSecretKey: z.string().optional(),\n\tawsSessionToken: z.string().optional(),\n\tawsRegion: z.string().optional(),\n\tawsUseCrossRegionInference: z.boolean().optional(),\n\tawsUsePromptCache: z.boolean().optional(),\n\tawsProfile: z.string().optional(),\n\tawsUseProfile: z.boolean().optional(),\n\tawsApiKey: z.string().optional(),\n\tawsUseApiKey: z.boolean().optional(),\n\tawsCustomArn: z.string().optional(),\n\tawsModelContextWindow: z.number().optional(),\n\tawsBedrockEndpointEnabled: z.boolean().optional(),\n\tawsBedrockEndpoint: z.string().optional(),\n})\n\nconst vertexSchema = apiModelIdProviderModelSchema.extend({\n\tvertexKeyFile: z.string().optional(),\n\tvertexJsonCredentials: z.string().optional(),\n\tvertexProjectId: z.string().optional(),\n\tvertexRegion: z.string().optional(),\n})\n\nconst openAiSchema = baseProviderSettingsSchema.extend({\n\topenAiBaseUrl: z.string().optional(),\n\topenAiApiKey: z.string().optional(),\n\topenAiLegacyFormat: z.boolean().optional(),\n\topenAiR1FormatEnabled: z.boolean().optional(),\n\topenAiModelId: z.string().optional(),\n\topenAiCustomModelInfo: modelInfoSchema.nullish(),\n\topenAiUseAzure: z.boolean().optional(),\n\tazureApiVersion: z.string().optional(),\n\topenAiStreamingEnabled: z.boolean().optional(),\n\topenAiHostHeader: z.string().optional(), // Keep temporarily for backward compatibility during migration.\n\topenAiHeaders: z.record(z.string(), z.string()).optional(),\n})\n\nconst ollamaSchema = baseProviderSettingsSchema.extend({\n\tollamaModelId: z.string().optional(),\n\tollamaBaseUrl: z.string().optional(),\n})\n\nconst vsCodeLmSchema = baseProviderSettingsSchema.extend({\n\tvsCodeLmModelSelector: z\n\t\t.object({\n\t\t\tvendor: z.string().optional(),\n\t\t\tfamily: z.string().optional(),\n\t\t\tversion: z.string().optional(),\n\t\t\tid: z.string().optional(),\n\t\t})\n\t\t.optional(),\n})\n\nconst lmStudioSchema = baseProviderSettingsSchema.extend({\n\tlmStudioModelId: z.string().optional(),\n\tlmStudioBaseUrl: z.string().optional(),\n\tlmStudioDraftModelId: z.string().optional(),\n\tlmStudioSpeculativeDecodingEnabled: z.boolean().optional(),\n})\n\nconst geminiSchema = apiModelIdProviderModelSchema.extend({\n\tgeminiApiKey: z.string().optional(),\n\tgoogleGeminiBaseUrl: z.string().optional(),\n\tenableUrlContext: z.boolean().optional(),\n\tenableGrounding: z.boolean().optional(),\n})\n\nconst geminiCliSchema = apiModelIdProviderModelSchema.extend({\n\tgeminiCliOAuthPath: z.string().optional(),\n\tgeminiCliProjectId: z.string().optional(),\n})\n\nconst openAiNativeSchema = apiModelIdProviderModelSchema.extend({\n\topenAiNativeApiKey: z.string().optional(),\n\topenAiNativeBaseUrl: z.string().optional(),\n})\n\nconst mistralSchema = apiModelIdProviderModelSchema.extend({\n\tmistralApiKey: z.string().optional(),\n\tmistralCodestralUrl: z.string().optional(),\n})\n\nconst deepSeekSchema = apiModelIdProviderModelSchema.extend({\n\tdeepSeekBaseUrl: z.string().optional(),\n\tdeepSeekApiKey: z.string().optional(),\n})\n\nconst doubaoSchema = apiModelIdProviderModelSchema.extend({\n\tdoubaoBaseUrl: z.string().optional(),\n\tdoubaoApiKey: z.string().optional(),\n})\n\nconst moonshotSchema = apiModelIdProviderModelSchema.extend({\n\tmoonshotBaseUrl: z\n\t\t.union([z.literal(\"https://api.moonshot.ai/v1\"), z.literal(\"https://api.moonshot.cn/v1\")])\n\t\t.optional(),\n\tmoonshotApiKey: z.string().optional(),\n})\n\nconst unboundSchema = baseProviderSettingsSchema.extend({\n\tunboundApiKey: z.string().optional(),\n\tunboundModelId: z.string().optional(),\n})\n\nconst requestySchema = baseProviderSettingsSchema.extend({\n\trequestyApiKey: z.string().optional(),\n\trequestyModelId: z.string().optional(),\n})\n\nconst humanRelaySchema = baseProviderSettingsSchema\n\nconst fakeAiSchema = baseProviderSettingsSchema.extend({\n\tfakeAi: z.unknown().optional(),\n})\n\nconst xaiSchema = apiModelIdProviderModelSchema.extend({\n\txaiApiKey: z.string().optional(),\n})\n\nconst groqSchema = apiModelIdProviderModelSchema.extend({\n\tgroqApiKey: z.string().optional(),\n})\n\nconst huggingFaceSchema = baseProviderSettingsSchema.extend({\n\thuggingFaceApiKey: z.string().optional(),\n\thuggingFaceModelId: z.string().optional(),\n\thuggingFaceInferenceProvider: z.string().optional(),\n})\n\nconst chutesSchema = apiModelIdProviderModelSchema.extend({\n\tchutesApiKey: z.string().optional(),\n})\n\nconst litellmSchema = baseProviderSettingsSchema.extend({\n\tlitellmBaseUrl: z.string().optional(),\n\tlitellmApiKey: z.string().optional(),\n\tlitellmModelId: z.string().optional(),\n\tlitellmUsePromptCache: z.boolean().optional(),\n})\n\nconst cerebrasSchema = apiModelIdProviderModelSchema.extend({\n\tcerebrasApiKey: z.string().optional(),\n})\n\nconst sambaNovaSchema = apiModelIdProviderModelSchema.extend({\n\tsambaNovaApiKey: z.string().optional(),\n})\n\nconst zaiSchema = apiModelIdProviderModelSchema.extend({\n\tzaiApiKey: z.string().optional(),\n\tzaiApiLine: z.union([z.literal(\"china\"), z.literal(\"international\")]).optional(),\n})\n\nconst fireworksSchema = apiModelIdProviderModelSchema.extend({\n\tfireworksApiKey: z.string().optional(),\n})\n\nconst defaultSchema = z.object({\n\tapiProvider: z.undefined(),\n})\n\nexport const providerSettingsSchemaDiscriminated = z.discriminatedUnion(\"apiProvider\", [\n\tanthropicSchema.merge(z.object({ apiProvider: z.literal(\"anthropic\") })),\n\tclaudeCodeSchema.merge(z.object({ apiProvider: z.literal(\"claude-code\") })),\n\tglamaSchema.merge(z.object({ apiProvider: z.literal(\"glama\") })),\n\topenRouterSchema.merge(z.object({ apiProvider: z.literal(\"openrouter\") })),\n\tbedrockSchema.merge(z.object({ apiProvider: z.literal(\"bedrock\") })),\n\tvertexSchema.merge(z.object({ apiProvider: z.literal(\"vertex\") })),\n\topenAiSchema.merge(z.object({ apiProvider: z.literal(\"openai\") })),\n\tollamaSchema.merge(z.object({ apiProvider: z.literal(\"ollama\") })),\n\tvsCodeLmSchema.merge(z.object({ apiProvider: z.literal(\"vscode-lm\") })),\n\tlmStudioSchema.merge(z.object({ apiProvider: z.literal(\"lmstudio\") })),\n\tgeminiSchema.merge(z.object({ apiProvider: z.literal(\"gemini\") })),\n\tgeminiCliSchema.merge(z.object({ apiProvider: z.literal(\"gemini-cli\") })),\n\topenAiNativeSchema.merge(z.object({ apiProvider: z.literal(\"openai-native\") })),\n\tmistralSchema.merge(z.object({ apiProvider: z.literal(\"mistral\") })),\n\tdeepSeekSchema.merge(z.object({ apiProvider: z.literal(\"deepseek\") })),\n\tdoubaoSchema.merge(z.object({ apiProvider: z.literal(\"doubao\") })),\n\tmoonshotSchema.merge(z.object({ apiProvider: z.literal(\"moonshot\") })),\n\tunboundSchema.merge(z.object({ apiProvider: z.literal(\"unbound\") })),\n\trequestySchema.merge(z.object({ apiProvider: z.literal(\"requesty\") })),\n\thumanRelaySchema.merge(z.object({ apiProvider: z.literal(\"human-relay\") })),\n\tfakeAiSchema.merge(z.object({ apiProvider: z.literal(\"fake-ai\") })),\n\txaiSchema.merge(z.object({ apiProvider: z.literal(\"xai\") })),\n\tgroqSchema.merge(z.object({ apiProvider: z.literal(\"groq\") })),\n\thuggingFaceSchema.merge(z.object({ apiProvider: z.literal(\"huggingface\") })),\n\tchutesSchema.merge(z.object({ apiProvider: z.literal(\"chutes\") })),\n\tlitellmSchema.merge(z.object({ apiProvider: z.literal(\"litellm\") })),\n\tcerebrasSchema.merge(z.object({ apiProvider: z.literal(\"cerebras\") })),\n\tsambaNovaSchema.merge(z.object({ apiProvider: z.literal(\"sambanova\") })),\n\tzaiSchema.merge(z.object({ apiProvider: z.literal(\"zai\") })),\n\tfireworksSchema.merge(z.object({ apiProvider: z.literal(\"fireworks\") })),\n\tdefaultSchema,\n])\n\nexport const providerSettingsSchema = z.object({\n\tapiProvider: providerNamesSchema.optional(),\n\t...anthropicSchema.shape,\n\t...claudeCodeSchema.shape,\n\t...glamaSchema.shape,\n\t...openRouterSchema.shape,\n\t...bedrockSchema.shape,\n\t...vertexSchema.shape,\n\t...openAiSchema.shape,\n\t...ollamaSchema.shape,\n\t...vsCodeLmSchema.shape,\n\t...lmStudioSchema.shape,\n\t...geminiSchema.shape,\n\t...geminiCliSchema.shape,\n\t...openAiNativeSchema.shape,\n\t...mistralSchema.shape,\n\t...deepSeekSchema.shape,\n\t...doubaoSchema.shape,\n\t...moonshotSchema.shape,\n\t...unboundSchema.shape,\n\t...requestySchema.shape,\n\t...humanRelaySchema.shape,\n\t...fakeAiSchema.shape,\n\t...xaiSchema.shape,\n\t...groqSchema.shape,\n\t...huggingFaceSchema.shape,\n\t...chutesSchema.shape,\n\t...litellmSchema.shape,\n\t...cerebrasSchema.shape,\n\t...sambaNovaSchema.shape,\n\t...zaiSchema.shape,\n\t...fireworksSchema.shape,\n\t...codebaseIndexProviderSchema.shape,\n})\n\nexport type ProviderSettings = z.infer<typeof providerSettingsSchema>\n\nexport const providerSettingsWithIdSchema = providerSettingsSchema.extend({ id: z.string().optional() })\nexport const discriminatedProviderSettingsWithIdSchema = providerSettingsSchemaDiscriminated.and(\n\tz.object({ id: z.string().optional() }),\n)\nexport type ProviderSettingsWithId = z.infer<typeof providerSettingsWithIdSchema>\n\nexport const PROVIDER_SETTINGS_KEYS = providerSettingsSchema.keyof().options\n\nexport const MODEL_ID_KEYS: Partial<keyof ProviderSettings>[] = [\n\t\"apiModelId\",\n\t\"glamaModelId\",\n\t\"openRouterModelId\",\n\t\"openAiModelId\",\n\t\"ollamaModelId\",\n\t\"lmStudioModelId\",\n\t\"lmStudioDraftModelId\",\n\t\"unboundModelId\",\n\t\"requestyModelId\",\n\t\"litellmModelId\",\n\t\"huggingFaceModelId\",\n]\n\nexport const getModelId = (settings: ProviderSettings): string | undefined => {\n\tconst modelIdKey = MODEL_ID_KEYS.find((key) => settings[key])\n\treturn modelIdKey ? (settings[modelIdKey] as string) : undefined\n}\n\n// Providers that use Anthropic-style API protocol\nexport const ANTHROPIC_STYLE_PROVIDERS: ProviderName[] = [\"anthropic\", \"claude-code\", \"bedrock\"]\n\n// Helper function to determine API protocol for a provider and model\nexport const getApiProtocol = (provider: ProviderName | undefined, modelId?: string): \"anthropic\" | \"openai\" => {\n\t// First check if the provider is an Anthropic-style provider\n\tif (provider && ANTHROPIC_STYLE_PROVIDERS.includes(provider)) {\n\t\treturn \"anthropic\"\n\t}\n\n\t// For vertex provider, check if the model ID contains \"claude\" (case-insensitive)\n\tif (provider && provider === \"vertex\" && modelId && modelId.toLowerCase().includes(\"claude\")) {\n\t\treturn \"anthropic\"\n\t}\n\n\t// Default to OpenAI protocol\n\treturn \"openai\"\n}\n", + "import { z } from \"zod\"\n\n/**\n * HistoryItem\n */\n\nexport const historyItemSchema = z.object({\n\tid: z.string(),\n\tnumber: z.number(),\n\tts: z.number(),\n\ttask: z.string(),\n\ttokensIn: z.number(),\n\ttokensOut: z.number(),\n\tcacheWrites: z.number().optional(),\n\tcacheReads: z.number().optional(),\n\ttotalCost: z.number(),\n\tsize: z.number().optional(),\n\tworkspace: z.string().optional(),\n\tmode: z.string().optional(),\n})\n\nexport type HistoryItem = z.infer<typeof historyItemSchema>\n", + "import { z } from \"zod\"\n\nimport type { Keys, Equals, AssertEqual } from \"./type-fu.js\"\n\n/**\n * ExperimentId\n */\n\nexport const experimentIds = [\"powerSteering\", \"multiFileApplyDiff\", \"preventFocusDisruption\", \"assistantMessageParser\"] as const\n\nexport const experimentIdsSchema = z.enum(experimentIds)\n\nexport type ExperimentId = z.infer<typeof experimentIdsSchema>\n\n/**\n * Experiments\n */\n\nexport const experimentsSchema = z.object({\n\tpowerSteering: z.boolean().optional(),\n\tmultiFileApplyDiff: z.boolean().optional(),\n\tpreventFocusDisruption: z.boolean().optional(),\n\tassistantMessageParser: z.boolean().optional(),\n})\n\nexport type Experiments = z.infer<typeof experimentsSchema>\n\ntype _AssertExperiments = AssertEqual<Equals<ExperimentId, Keys<Experiments>>>\n", + "import { z } from \"zod\"\n\n/**\n * ClineAsk\n */\n\n/**\n * Array of possible ask types that the LLM can use to request user interaction or approval.\n * These represent different scenarios where the assistant needs user input to proceed.\n *\n * @constant\n * @readonly\n *\n * Ask type descriptions:\n * - `followup`: LLM asks a clarifying question to gather more information needed to complete the task\n * - `command`: Permission to execute a terminal/shell command\n * - `command_output`: Permission to read the output from a previously executed command\n * - `completion_result`: Task has been completed, awaiting user feedback or a new task\n * - `tool`: Permission to use a tool for file operations (read, write, search, etc.)\n * - `api_req_failed`: API request failed, asking user whether to retry\n * - `resume_task`: Confirmation needed to resume a previously paused task\n * - `resume_completed_task`: Confirmation needed to resume a task that was already marked as completed\n * - `mistake_limit_reached`: Too many errors encountered, needs user guidance on how to proceed\n * - `browser_action_launch`: Permission to open or interact with a browser\n * - `use_mcp_server`: Permission to use Model Context Protocol (MCP) server functionality\n * - `auto_approval_max_req_reached`: Auto-approval limit has been reached, manual approval required\n */\nexport const clineAsks = [\n\t\"followup\",\n\t\"command\",\n\t\"command_output\",\n\t\"completion_result\",\n\t\"tool\",\n\t\"api_req_failed\",\n\t\"resume_task\",\n\t\"resume_completed_task\",\n\t\"mistake_limit_reached\",\n\t\"browser_action_launch\",\n\t\"use_mcp_server\",\n\t\"auto_approval_max_req_reached\",\n] as const\n\nexport const clineAskSchema = z.enum(clineAsks)\n\nexport type ClineAsk = z.infer<typeof clineAskSchema>\n\n/**\n * BlockingAsk\n */\n\nexport const blockingAsks: ClineAsk[] = [\n\t\"api_req_failed\",\n\t\"mistake_limit_reached\",\n\t\"completion_result\",\n\t\"resume_task\",\n\t\"resume_completed_task\",\n\t\"command_output\",\n\t\"auto_approval_max_req_reached\",\n] as const\n\nexport type BlockingAsk = (typeof blockingAsks)[number]\n\nexport function isBlockingAsk(ask: ClineAsk): ask is BlockingAsk {\n\treturn blockingAsks.includes(ask)\n}\n\n/**\n * ClineSay\n */\n\n/**\n * Array of possible say types that represent different kinds of messages the assistant can send.\n * These are used to categorize and handle various types of communication from the LLM to the user.\n *\n * @constant\n * @readonly\n *\n * Say type descriptions:\n * - `error`: General error message\n * - `api_req_started`: Indicates an API request has been initiated\n * - `api_req_finished`: Indicates an API request has completed successfully\n * - `api_req_retried`: Indicates an API request is being retried after a failure\n * - `api_req_retry_delayed`: Indicates an API request retry has been delayed\n * - `api_req_deleted`: Indicates an API request has been deleted/cancelled\n * - `text`: General text message or assistant response\n * - `reasoning`: Assistant's reasoning or thought process (often hidden from user)\n * - `completion_result`: Final result of task completion\n * - `user_feedback`: Message containing user feedback\n * - `user_feedback_diff`: Diff-formatted feedback from user showing requested changes\n * - `command_output`: Output from an executed command\n * - `shell_integration_warning`: Warning about shell integration issues or limitations\n * - `browser_action`: Action performed in the browser\n * - `browser_action_result`: Result of a browser action\n * - `mcp_server_request_started`: MCP server request has been initiated\n * - `mcp_server_response`: Response received from MCP server\n * - `subtask_result`: Result of a completed subtask\n * - `checkpoint_saved`: Indicates a checkpoint has been saved\n * - `rooignore_error`: Error related to .rooignore file processing\n * - `diff_error`: Error occurred while applying a diff/patch\n * - `condense_context`: Context condensation/summarization has started\n * - `condense_context_error`: Error occurred during context condensation\n * - `codebase_search_result`: Results from searching the codebase\n */\nexport const clineSays = [\n\t\"error\",\n\t\"api_req_started\",\n\t\"api_req_finished\",\n\t\"api_req_retried\",\n\t\"api_req_retry_delayed\",\n\t\"api_req_deleted\",\n\t\"text\",\n\t\"reasoning\",\n\t\"completion_result\",\n\t\"user_feedback\",\n\t\"user_feedback_diff\",\n\t\"command_output\",\n\t\"shell_integration_warning\",\n\t\"browser_action\",\n\t\"browser_action_result\",\n\t\"mcp_server_request_started\",\n\t\"mcp_server_response\",\n\t\"subtask_result\",\n\t\"checkpoint_saved\",\n\t\"rooignore_error\",\n\t\"diff_error\",\n\t\"condense_context\",\n\t\"condense_context_error\",\n\t\"codebase_search_result\",\n\t\"user_edit_todos\",\n] as const\n\nexport const clineSaySchema = z.enum(clineSays)\n\nexport type ClineSay = z.infer<typeof clineSaySchema>\n\n/**\n * ToolProgressStatus\n */\n\nexport const toolProgressStatusSchema = z.object({\n\ticon: z.string().optional(),\n\ttext: z.string().optional(),\n})\n\nexport type ToolProgressStatus = z.infer<typeof toolProgressStatusSchema>\n\n/**\n * ContextCondense\n */\n\nexport const contextCondenseSchema = z.object({\n\tcost: z.number(),\n\tprevContextTokens: z.number(),\n\tnewContextTokens: z.number(),\n\tsummary: z.string(),\n})\n\nexport type ContextCondense = z.infer<typeof contextCondenseSchema>\n\n/**\n * ClineMessage\n */\n\nexport const clineMessageSchema = z.object({\n\tts: z.number(),\n\ttype: z.union([z.literal(\"ask\"), z.literal(\"say\")]),\n\task: clineAskSchema.optional(),\n\tsay: clineSaySchema.optional(),\n\ttext: z.string().optional(),\n\timages: z.array(z.string()).optional(),\n\tpartial: z.boolean().optional(),\n\treasoning: z.string().optional(),\n\tconversationHistoryIndex: z.number().optional(),\n\tcheckpoint: z.record(z.string(), z.unknown()).optional(),\n\tprogressStatus: toolProgressStatusSchema.optional(),\n\tcontextCondense: contextCondenseSchema.optional(),\n\tisProtected: z.boolean().optional(),\n\tapiProtocol: z.union([z.literal(\"openai\"), z.literal(\"anthropic\")]).optional(),\n})\n\nexport type ClineMessage = z.infer<typeof clineMessageSchema>\n\n/**\n * TokenUsage\n */\n\nexport const tokenUsageSchema = z.object({\n\ttotalTokensIn: z.number(),\n\ttotalTokensOut: z.number(),\n\ttotalCacheWrites: z.number().optional(),\n\ttotalCacheReads: z.number().optional(),\n\ttotalCost: z.number(),\n\tcontextTokens: z.number(),\n})\n\nexport type TokenUsage = z.infer<typeof tokenUsageSchema>\n\n/**\n * QueuedMessage\n */\n\n/**\n * Represents a message that is queued to be sent when sending is enabled\n */\nexport interface QueuedMessage {\n\t/** Unique identifier for the queued message */\n\tid: string\n\t/** The text content of the message */\n\ttext: string\n\t/** Array of image data URLs attached to the message */\n\timages: string[]\n}\n", + "import { z } from \"zod\"\n\nimport { providerNames } from \"./provider-settings.js\"\nimport { clineMessageSchema } from \"./message.js\"\n\n/**\n * TelemetrySetting\n */\n\nexport const telemetrySettings = [\"unset\", \"enabled\", \"disabled\"] as const\n\nexport const telemetrySettingsSchema = z.enum(telemetrySettings)\n\nexport type TelemetrySetting = z.infer<typeof telemetrySettingsSchema>\n\n/**\n * TelemetryEventName\n */\n\nexport enum TelemetryEventName {\n\tTASK_CREATED = \"Task Created\",\n\tTASK_RESTARTED = \"Task Reopened\",\n\tTASK_COMPLETED = \"Task Completed\",\n\tTASK_MESSAGE = \"Task Message\",\n\tTASK_CONVERSATION_MESSAGE = \"Conversation Message\",\n\tLLM_COMPLETION = \"LLM Completion\",\n\tMODE_SWITCH = \"Mode Switched\",\n\tMODE_SELECTOR_OPENED = \"Mode Selector Opened\",\n\tTOOL_USED = \"Tool Used\",\n\n\tCHECKPOINT_CREATED = \"Checkpoint Created\",\n\tCHECKPOINT_RESTORED = \"Checkpoint Restored\",\n\tCHECKPOINT_DIFFED = \"Checkpoint Diffed\",\n\n\tTAB_SHOWN = \"Tab Shown\",\n\tMODE_SETTINGS_CHANGED = \"Mode Setting Changed\",\n\tCUSTOM_MODE_CREATED = \"Custom Mode Created\",\n\n\tCONTEXT_CONDENSED = \"Context Condensed\",\n\tSLIDING_WINDOW_TRUNCATION = \"Sliding Window Truncation\",\n\n\tCODE_ACTION_USED = \"Code Action Used\",\n\tPROMPT_ENHANCED = \"Prompt Enhanced\",\n\n\tTITLE_BUTTON_CLICKED = \"Title Button Clicked\",\n\n\tAUTHENTICATION_INITIATED = \"Authentication Initiated\",\n\n\tMARKETPLACE_ITEM_INSTALLED = \"Marketplace Item Installed\",\n\tMARKETPLACE_ITEM_REMOVED = \"Marketplace Item Removed\",\n\tMARKETPLACE_TAB_VIEWED = \"Marketplace Tab Viewed\",\n\tMARKETPLACE_INSTALL_BUTTON_CLICKED = \"Marketplace Install Button Clicked\",\n\n\tSHARE_BUTTON_CLICKED = \"Share Button Clicked\",\n\tSHARE_ORGANIZATION_CLICKED = \"Share Organization Clicked\",\n\tSHARE_PUBLIC_CLICKED = \"Share Public Clicked\",\n\tSHARE_CONNECT_TO_CLOUD_CLICKED = \"Share Connect To Cloud Clicked\",\n\n\tACCOUNT_CONNECT_CLICKED = \"Account Connect Clicked\",\n\tACCOUNT_CONNECT_SUCCESS = \"Account Connect Success\",\n\tACCOUNT_LOGOUT_CLICKED = \"Account Logout Clicked\",\n\tACCOUNT_LOGOUT_SUCCESS = \"Account Logout Success\",\n\n\tSCHEMA_VALIDATION_ERROR = \"Schema Validation Error\",\n\tDIFF_APPLICATION_ERROR = \"Diff Application Error\",\n\tSHELL_INTEGRATION_ERROR = \"Shell Integration Error\",\n\tCONSECUTIVE_MISTAKE_ERROR = \"Consecutive Mistake Error\",\n\tCODE_INDEX_ERROR = \"Code Index Error\",\n}\n\n/**\n * TelemetryProperties\n */\n\nexport const appPropertiesSchema = z.object({\n\tappName: z.string(),\n\tappVersion: z.string(),\n\tvscodeVersion: z.string(),\n\tplatform: z.string(),\n\teditorName: z.string(),\n\tlanguage: z.string(),\n\tmode: z.string(),\n\tcloudIsAuthenticated: z.boolean().optional(),\n})\n\nexport const taskPropertiesSchema = z.object({\n\ttaskId: z.string().optional(),\n\tapiProvider: z.enum(providerNames).optional(),\n\tmodelId: z.string().optional(),\n\tdiffStrategy: z.string().optional(),\n\tisSubtask: z.boolean().optional(),\n\ttodos: z\n\t\t.object({\n\t\t\ttotal: z.number(),\n\t\t\tcompleted: z.number(),\n\t\t\tinProgress: z.number(),\n\t\t\tpending: z.number(),\n\t\t})\n\t\t.optional(),\n})\n\nexport const gitPropertiesSchema = z.object({\n\trepositoryUrl: z.string().optional(),\n\trepositoryName: z.string().optional(),\n\tdefaultBranch: z.string().optional(),\n})\n\nexport const telemetryPropertiesSchema = z.object({\n\t...appPropertiesSchema.shape,\n\t...taskPropertiesSchema.shape,\n\t...gitPropertiesSchema.shape,\n})\n\nexport type TelemetryProperties = z.infer<typeof telemetryPropertiesSchema>\nexport type GitProperties = z.infer<typeof gitPropertiesSchema>\n\n/**\n * TelemetryEvent\n */\n\nexport type TelemetryEvent = {\n\tevent: TelemetryEventName\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tproperties?: Record<string, any>\n}\n\n/**\n * RooCodeTelemetryEvent\n */\n\nexport const rooCodeTelemetryEventSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.enum([\n\t\t\tTelemetryEventName.TASK_CREATED,\n\t\t\tTelemetryEventName.TASK_RESTARTED,\n\t\t\tTelemetryEventName.TASK_COMPLETED,\n\t\t\tTelemetryEventName.TASK_CONVERSATION_MESSAGE,\n\t\t\tTelemetryEventName.MODE_SWITCH,\n\t\t\tTelemetryEventName.MODE_SELECTOR_OPENED,\n\t\t\tTelemetryEventName.TOOL_USED,\n\t\t\tTelemetryEventName.CHECKPOINT_CREATED,\n\t\t\tTelemetryEventName.CHECKPOINT_RESTORED,\n\t\t\tTelemetryEventName.CHECKPOINT_DIFFED,\n\t\t\tTelemetryEventName.CODE_ACTION_USED,\n\t\t\tTelemetryEventName.PROMPT_ENHANCED,\n\t\t\tTelemetryEventName.TITLE_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.AUTHENTICATION_INITIATED,\n\t\t\tTelemetryEventName.MARKETPLACE_ITEM_INSTALLED,\n\t\t\tTelemetryEventName.MARKETPLACE_ITEM_REMOVED,\n\t\t\tTelemetryEventName.MARKETPLACE_TAB_VIEWED,\n\t\t\tTelemetryEventName.MARKETPLACE_INSTALL_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.SHARE_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.SHARE_ORGANIZATION_CLICKED,\n\t\t\tTelemetryEventName.SHARE_PUBLIC_CLICKED,\n\t\t\tTelemetryEventName.SHARE_CONNECT_TO_CLOUD_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_CONNECT_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_CONNECT_SUCCESS,\n\t\t\tTelemetryEventName.ACCOUNT_LOGOUT_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_LOGOUT_SUCCESS,\n\t\t\tTelemetryEventName.SCHEMA_VALIDATION_ERROR,\n\t\t\tTelemetryEventName.DIFF_APPLICATION_ERROR,\n\t\t\tTelemetryEventName.SHELL_INTEGRATION_ERROR,\n\t\t\tTelemetryEventName.CONSECUTIVE_MISTAKE_ERROR,\n\t\t\tTelemetryEventName.CODE_INDEX_ERROR,\n\t\t\tTelemetryEventName.CONTEXT_CONDENSED,\n\t\t\tTelemetryEventName.SLIDING_WINDOW_TRUNCATION,\n\t\t\tTelemetryEventName.TAB_SHOWN,\n\t\t\tTelemetryEventName.MODE_SETTINGS_CHANGED,\n\t\t\tTelemetryEventName.CUSTOM_MODE_CREATED,\n\t\t]),\n\t\tproperties: telemetryPropertiesSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(TelemetryEventName.TASK_MESSAGE),\n\t\tproperties: z.object({\n\t\t\t...telemetryPropertiesSchema.shape,\n\t\t\ttaskId: z.string(),\n\t\t\tmessage: clineMessageSchema,\n\t\t}),\n\t}),\n\tz.object({\n\t\ttype: z.literal(TelemetryEventName.LLM_COMPLETION),\n\t\tproperties: z.object({\n\t\t\t...telemetryPropertiesSchema.shape,\n\t\t\tinputTokens: z.number(),\n\t\t\toutputTokens: z.number(),\n\t\t\tcacheReadTokens: z.number().optional(),\n\t\t\tcacheWriteTokens: z.number().optional(),\n\t\t\tcost: z.number().optional(),\n\t\t}),\n\t}),\n])\n\nexport type RooCodeTelemetryEvent = z.infer<typeof rooCodeTelemetryEventSchema>\n\n/**\n * TelemetryEventSubscription\n */\n\nexport type TelemetryEventSubscription =\n\t| { type: \"include\"; events: TelemetryEventName[] }\n\t| { type: \"exclude\"; events: TelemetryEventName[] }\n\n/**\n * TelemetryPropertiesProvider\n */\n\nexport interface TelemetryPropertiesProvider {\n\tgetTelemetryProperties(): Promise<TelemetryProperties>\n}\n\n/**\n * TelemetryClient\n */\n\nexport interface TelemetryClient {\n\tsubscription?: TelemetryEventSubscription\n\n\tsetProvider(provider: TelemetryPropertiesProvider): void\n\tcapture(options: TelemetryEvent): Promise<void>\n\tupdateTelemetryState(didUserOptIn: boolean): void\n\tisTelemetryEnabled(): boolean\n\tshutdown(): Promise<void>\n}\n", + "import { z } from \"zod\"\n\n/**\n * ToolGroup\n */\n\nexport const toolGroups = [\"read\", \"edit\", \"browser\", \"command\", \"mcp\", \"modes\"] as const\n\nexport const toolGroupsSchema = z.enum(toolGroups)\n\nexport type ToolGroup = z.infer<typeof toolGroupsSchema>\n\n/**\n * ToolName\n */\n\nexport const toolNames = [\n\t\"execute_command\",\n\t\"read_file\",\n\t\"write_to_file\",\n\t\"apply_diff\",\n\t\"insert_content\",\n\t\"search_and_replace\",\n\t\"search_files\",\n\t\"list_files\",\n\t\"list_code_definition_names\",\n\t\"browser_action\",\n\t\"use_mcp_tool\",\n\t\"access_mcp_resource\",\n\t\"ask_followup_question\",\n\t\"attempt_completion\",\n\t\"switch_mode\",\n\t\"new_task\",\n\t\"fetch_instructions\",\n\t\"codebase_search\",\n\t\"update_todo_list\",\n] as const\n\nexport const toolNamesSchema = z.enum(toolNames)\n\nexport type ToolName = z.infer<typeof toolNamesSchema>\n\n/**\n * ToolUsage\n */\n\nexport const toolUsageSchema = z.record(\n\ttoolNamesSchema,\n\tz.object({\n\t\tattempts: z.number(),\n\t\tfailures: z.number(),\n\t}),\n)\n\nexport type ToolUsage = z.infer<typeof toolUsageSchema>\n", + "import { z } from \"zod\"\n\nimport { toolGroupsSchema } from \"./tool.js\"\n\n/**\n * GroupOptions\n */\n\nexport const groupOptionsSchema = z.object({\n\tfileRegex: z\n\t\t.string()\n\t\t.optional()\n\t\t.refine(\n\t\t\t(pattern) => {\n\t\t\t\tif (!pattern) {\n\t\t\t\t\treturn true // Optional, so empty is valid.\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tnew RegExp(pattern)\n\t\t\t\t\treturn true\n\t\t\t\t} catch {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ message: \"Invalid regular expression pattern\" },\n\t\t),\n\tdescription: z.string().optional(),\n})\n\nexport type GroupOptions = z.infer<typeof groupOptionsSchema>\n\n/**\n * GroupEntry\n */\n\nexport const groupEntrySchema = z.union([toolGroupsSchema, z.tuple([toolGroupsSchema, groupOptionsSchema])])\n\nexport type GroupEntry = z.infer<typeof groupEntrySchema>\n\n/**\n * ModeConfig\n */\n\nconst groupEntryArraySchema = z.array(groupEntrySchema).refine(\n\t(groups) => {\n\t\tconst seen = new Set()\n\n\t\treturn groups.every((group) => {\n\t\t\t// For tuples, check the group name (first element).\n\t\t\tconst groupName = Array.isArray(group) ? group[0] : group\n\n\t\t\tif (seen.has(groupName)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tseen.add(groupName)\n\t\t\treturn true\n\t\t})\n\t},\n\t{ message: \"Duplicate groups are not allowed\" },\n)\n\nexport const modeConfigSchema = z.object({\n\tslug: z.string().regex(/^[a-zA-Z0-9-]+$/, \"Slug must contain only letters numbers and dashes\"),\n\tname: z.string().min(1, \"Name is required\"),\n\troleDefinition: z.string().min(1, \"Role definition is required\"),\n\twhenToUse: z.string().optional(),\n\tdescription: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n\tgroups: groupEntryArraySchema,\n\tsource: z.enum([\"global\", \"project\"]).optional(),\n})\n\nexport type ModeConfig = z.infer<typeof modeConfigSchema>\n\n/**\n * CustomModesSettings\n */\n\nexport const customModesSettingsSchema = z.object({\n\tcustomModes: z.array(modeConfigSchema).refine(\n\t\t(modes) => {\n\t\t\tconst slugs = new Set()\n\n\t\t\treturn modes.every((mode) => {\n\t\t\t\tif (slugs.has(mode.slug)) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tslugs.add(mode.slug)\n\t\t\t\treturn true\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tmessage: \"Duplicate mode slugs are not allowed\",\n\t\t},\n\t),\n})\n\nexport type CustomModesSettings = z.infer<typeof customModesSettingsSchema>\n\n/**\n * PromptComponent\n */\n\nexport const promptComponentSchema = z.object({\n\troleDefinition: z.string().optional(),\n\twhenToUse: z.string().optional(),\n\tdescription: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n})\n\nexport type PromptComponent = z.infer<typeof promptComponentSchema>\n\n/**\n * CustomModePrompts\n */\n\nexport const customModePromptsSchema = z.record(z.string(), promptComponentSchema.optional())\n\nexport type CustomModePrompts = z.infer<typeof customModePromptsSchema>\n\n/**\n * CustomSupportPrompts\n */\n\nexport const customSupportPromptsSchema = z.record(z.string(), z.string().optional())\n\nexport type CustomSupportPrompts = z.infer<typeof customSupportPromptsSchema>\n\n/**\n * DEFAULT_MODES\n */\n\nexport const DEFAULT_MODES: readonly ModeConfig[] = [\n\t{\n\t\tslug: \"architect\",\n\t\tname: \"🏗️ Architect\",\n\t\troleDefinition:\n\t\t\t\"You are Roo, an experienced technical leader who is inquisitive and an excellent planner. Your goal is to gather information and get context to create a detailed plan for accomplishing the user's task, which the user will review and approve before they switch into another mode to implement the solution.\",\n\t\twhenToUse:\n\t\t\t\"Use this mode when you need to plan, design, or strategize before implementation. Perfect for breaking down complex problems, creating technical specifications, designing system architecture, or brainstorming solutions before coding.\",\n\t\tdescription: \"Plan and design before implementation\",\n\t\tgroups: [\"read\", [\"edit\", { fileRegex: \"\\\\.md$\", description: \"Markdown files only\" }], \"browser\", \"mcp\"],\n\t\tcustomInstructions:\n\t\t\t\"1. Do some information gathering (using provided tools) to get more context about the task.\\n\\n2. You should also ask the user clarifying questions to get a better understanding of the task.\\n\\n3. Once you've gained more context about the user's request, break down the task into clear, actionable steps and create a todo list using the `update_todo_list` tool. Each todo item should be:\\n - Specific and actionable\\n - Listed in logical execution order\\n - Focused on a single, well-defined outcome\\n - Clear enough that another mode could execute it independently\\n\\n **Note:** If the `update_todo_list` tool is not available, write the plan to a markdown file (e.g., `plan.md` or `todo.md`) instead.\\n\\n4. As you gather more information or discover new requirements, update the todo list to reflect the current understanding of what needs to be accomplished.\\n\\n5. Ask the user if they are pleased with this plan, or if they would like to make any changes. Think of this as a brainstorming session where you can discuss the task and refine the todo list.\\n\\n6. Include Mermaid diagrams if they help clarify complex workflows or system architecture. Please avoid using double quotes (\\\"\\\") and parentheses () inside square brackets ([]) in Mermaid diagrams, as this can cause parsing errors.\\n\\n7. Use the switch_mode tool to request that the user switch to another mode to implement the solution.\\n\\n**IMPORTANT: Focus on creating clear, actionable todo lists rather than lengthy markdown documents. Use the todo list as your primary planning tool to track and organize the work that needs to be done.**\",\n\t},\n\t{\n\t\tslug: \"code\",\n\t\tname: \"💻 Code\",\n\t\troleDefinition:\n\t\t\t\"You are Roo, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.\",\n\t\twhenToUse:\n\t\t\t\"Use this mode when you need to write, modify, or refactor code. Ideal for implementing features, fixing bugs, creating new files, or making code improvements across any programming language or framework.\",\n\t\tdescription: \"Write, modify, and refactor code\",\n\t\tgroups: [\"read\", \"edit\", \"browser\", \"command\", \"mcp\"],\n\t},\n\t{\n\t\tslug: \"ask\",\n\t\tname: \"❓ Ask\",\n\t\troleDefinition:\n\t\t\t\"You are Roo, a knowledgeable technical assistant focused on answering questions and providing information about software development, technology, and related topics.\",\n\t\twhenToUse:\n\t\t\t\"Use this mode when you need explanations, documentation, or answers to technical questions. Best for understanding concepts, analyzing existing code, getting recommendations, or learning about technologies without making changes.\",\n\t\tdescription: \"Get answers and explanations\",\n\t\tgroups: [\"read\", \"browser\", \"mcp\"],\n\t\tcustomInstructions:\n\t\t\t\"You can analyze code, explain concepts, and access external resources. Always answer the user's questions thoroughly, and do not switch to implementing code unless explicitly requested by the user. Include Mermaid diagrams when they clarify your response.\",\n\t},\n\t{\n\t\tslug: \"debug\",\n\t\tname: \"🪲 Debug\",\n\t\troleDefinition:\n\t\t\t\"You are Roo, an expert software debugger specializing in systematic problem diagnosis and resolution.\",\n\t\twhenToUse:\n\t\t\t\"Use this mode when you're troubleshooting issues, investigating errors, or diagnosing problems. Specialized in systematic debugging, adding logging, analyzing stack traces, and identifying root causes before applying fixes.\",\n\t\tdescription: \"Diagnose and fix software issues\",\n\t\tgroups: [\"read\", \"edit\", \"browser\", \"command\", \"mcp\"],\n\t\tcustomInstructions:\n\t\t\t\"Reflect on 5-7 different possible sources of the problem, distill those down to 1-2 most likely sources, and then add logs to validate your assumptions. Explicitly ask the user to confirm the diagnosis before fixing the problem.\",\n\t},\n\t{\n\t\tslug: \"orchestrator\",\n\t\tname: \"🪃 Orchestrator\",\n\t\troleDefinition:\n\t\t\t\"You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.\",\n\t\twhenToUse:\n\t\t\t\"Use this mode for complex, multi-step projects that require coordination across different specialties. Ideal when you need to break down large tasks into subtasks, manage workflows, or coordinate work that spans multiple domains or expertise areas.\",\n\t\tdescription: \"Coordinate tasks across multiple modes\",\n\t\tgroups: [],\n\t\tcustomInstructions:\n\t\t\t\"Your role is to coordinate complex workflows by delegating tasks to specialized modes. As an orchestrator, you should:\\n\\n1. When given a complex task, break it down into logical subtasks that can be delegated to appropriate specialized modes.\\n\\n2. For each subtask, use the `new_task` tool to delegate. Choose the most appropriate mode for the subtask's specific goal and provide comprehensive instructions in the `message` parameter. These instructions must include:\\n * All necessary context from the parent task or previous subtasks required to complete the work.\\n * A clearly defined scope, specifying exactly what the subtask should accomplish.\\n * An explicit statement that the subtask should *only* perform the work outlined in these instructions and not deviate.\\n * An instruction for the subtask to signal completion by using the `attempt_completion` tool, providing a concise yet thorough summary of the outcome in the `result` parameter, keeping in mind that this summary will be the source of truth used to keep track of what was completed on this project.\\n * A statement that these specific instructions supersede any conflicting general instructions the subtask's mode might have.\\n\\n3. Track and manage the progress of all subtasks. When a subtask is completed, analyze its results and determine the next steps.\\n\\n4. Help the user understand how the different subtasks fit together in the overall workflow. Provide clear reasoning about why you're delegating specific tasks to specific modes.\\n\\n5. When all subtasks are completed, synthesize the results and provide a comprehensive overview of what was accomplished.\\n\\n6. Ask clarifying questions when necessary to better understand how to break down complex tasks effectively.\\n\\n7. Suggest improvements to the workflow based on the results of completed subtasks.\\n\\nUse subtasks to maintain clarity. If a request significantly shifts focus or requires a different expertise (mode), consider creating a subtask rather than overloading the current one.\",\n\t},\n] as const\n", + "import { z } from \"zod\"\n\n/**\n * CodeAction\n */\n\nexport const codeActionIds = [\"explainCode\", \"fixCode\", \"improveCode\", \"addToContext\", \"newTask\"] as const\n\nexport type CodeActionId = (typeof codeActionIds)[number]\n\nexport type CodeActionName = \"EXPLAIN\" | \"FIX\" | \"IMPROVE\" | \"ADD_TO_CONTEXT\" | \"NEW_TASK\"\n\n/**\n * TerminalAction\n */\n\nexport const terminalActionIds = [\"terminalAddToContext\", \"terminalFixCommand\", \"terminalExplainCommand\"] as const\n\nexport type TerminalActionId = (typeof terminalActionIds)[number]\n\nexport type TerminalActionName = \"ADD_TO_CONTEXT\" | \"FIX\" | \"EXPLAIN\"\n\nexport type TerminalActionPromptType = `TERMINAL_${TerminalActionName}`\n\n/**\n * Command\n */\n\nexport const commandIds = [\n\t\"activationCompleted\",\n\n\t\"plusButtonClicked\",\n\t\"promptsButtonClicked\",\n\t\"mcpButtonClicked\",\n\t\"historyButtonClicked\",\n\t\"marketplaceButtonClicked\",\n\t\"popoutButtonClicked\",\n\t\"accountButtonClicked\",\n\t\"settingsButtonClicked\",\n\n\t\"openInNewTab\",\n\n\t\"showHumanRelayDialog\",\n\t\"registerHumanRelayCallback\",\n\t\"unregisterHumanRelayCallback\",\n\t\"handleHumanRelayResponse\",\n\n\t\"newTask\",\n\n\t\"setCustomStoragePath\",\n\t\"importSettings\",\n\n\t\"focusInput\",\n\t\"acceptInput\",\n\t\"focusPanel\",\n] as const\n\nexport type CommandId = (typeof commandIds)[number]\n\n/**\n * Language\n */\n\nexport const languages = [\n\t\"ca\",\n\t\"de\",\n\t\"en\",\n\t\"es\",\n\t\"fr\",\n\t\"hi\",\n\t\"id\",\n\t\"it\",\n\t\"ja\",\n\t\"ko\",\n\t\"nl\",\n\t\"pl\",\n\t\"pt-BR\",\n\t\"ru\",\n\t\"tr\",\n\t\"vi\",\n\t\"zh-CN\",\n\t\"zh-TW\",\n] as const\n\nexport const languagesSchema = z.enum(languages)\n\nexport type Language = z.infer<typeof languagesSchema>\n\nexport const isLanguage = (value: string): value is Language => languages.includes(value as Language)\n", + "import { z } from \"zod\"\n\nimport { type Keys } from \"./type-fu.js\"\nimport {\n\ttype ProviderSettings,\n\tPROVIDER_SETTINGS_KEYS,\n\tproviderSettingsEntrySchema,\n\tproviderSettingsSchema,\n} from \"./provider-settings.js\"\nimport { historyItemSchema } from \"./history.js\"\nimport { codebaseIndexModelsSchema, codebaseIndexConfigSchema } from \"./codebase-index.js\"\nimport { experimentsSchema } from \"./experiment.js\"\nimport { telemetrySettingsSchema } from \"./telemetry.js\"\nimport { modeConfigSchema } from \"./mode.js\"\nimport { customModePromptsSchema, customSupportPromptsSchema } from \"./mode.js\"\nimport { languagesSchema } from \"./vscode.js\"\n\n/**\n * Default delay in milliseconds after writes to allow diagnostics to detect potential problems.\n * This delay is particularly important for Go and other languages where tools like goimports\n * need time to automatically clean up unused imports.\n */\nexport const DEFAULT_WRITE_DELAY_MS = 1000\n\n/**\n * Default terminal output character limit constant.\n * This provides a reasonable default that aligns with typical terminal usage\n * while preventing context window explosions from extremely long lines.\n */\nexport const DEFAULT_TERMINAL_OUTPUT_CHARACTER_LIMIT = 50_000\n\n/**\n * GlobalSettings\n */\n\nexport const globalSettingsSchema = z.object({\n\tcurrentApiConfigName: z.string().optional(),\n\tlistApiConfigMeta: z.array(providerSettingsEntrySchema).optional(),\n\tpinnedApiConfigs: z.record(z.string(), z.boolean()).optional(),\n\n\tlastShownAnnouncementId: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n\ttaskHistory: z.array(historyItemSchema).optional(),\n\n\tcondensingApiConfigId: z.string().optional(),\n\tcustomCondensingPrompt: z.string().optional(),\n\n\tautoApprovalEnabled: z.boolean().optional(),\n\talwaysAllowReadOnly: z.boolean().optional(),\n\talwaysAllowReadOnlyOutsideWorkspace: z.boolean().optional(),\n\talwaysAllowWrite: z.boolean().optional(),\n\talwaysAllowWriteOutsideWorkspace: z.boolean().optional(),\n\talwaysAllowWriteProtected: z.boolean().optional(),\n\twriteDelayMs: z.number().min(0).optional(),\n\talwaysAllowBrowser: z.boolean().optional(),\n\talwaysApproveResubmit: z.boolean().optional(),\n\trequestDelaySeconds: z.number().optional(),\n\talwaysAllowMcp: z.boolean().optional(),\n\talwaysAllowModeSwitch: z.boolean().optional(),\n\talwaysAllowSubtasks: z.boolean().optional(),\n\talwaysAllowExecute: z.boolean().optional(),\n\talwaysAllowFollowupQuestions: z.boolean().optional(),\n\tfollowupAutoApproveTimeoutMs: z.number().optional(),\n\talwaysAllowUpdateTodoList: z.boolean().optional(),\n\tallowedCommands: z.array(z.string()).optional(),\n\tdeniedCommands: z.array(z.string()).optional(),\n\tcommandExecutionTimeout: z.number().optional(),\n\tcommandTimeoutAllowlist: z.array(z.string()).optional(),\n\tpreventCompletionWithOpenTodos: z.boolean().optional(),\n\tallowedMaxRequests: z.number().nullish(),\n\tallowedMaxCost: z.number().nullish(),\n\tautoCondenseContext: z.boolean().optional(),\n\tautoCondenseContextPercent: z.number().optional(),\n\tmaxConcurrentFileReads: z.number().optional(),\n\n\t/**\n\t * Whether to include diagnostic messages (errors, warnings) in tool outputs\n\t * @default true\n\t */\n\tincludeDiagnosticMessages: z.boolean().optional(),\n\t/**\n\t * Maximum number of diagnostic messages to include in tool outputs\n\t * @default 50\n\t */\n\tmaxDiagnosticMessages: z.number().optional(),\n\n\tbrowserToolEnabled: z.boolean().optional(),\n\tbrowserViewportSize: z.string().optional(),\n\tscreenshotQuality: z.number().optional(),\n\tremoteBrowserEnabled: z.boolean().optional(),\n\tremoteBrowserHost: z.string().optional(),\n\tcachedChromeHostUrl: z.string().optional(),\n\n\tenableCheckpoints: z.boolean().optional(),\n\n\tttsEnabled: z.boolean().optional(),\n\tttsSpeed: z.number().optional(),\n\tsoundEnabled: z.boolean().optional(),\n\tsoundVolume: z.number().optional(),\n\n\tmaxOpenTabsContext: z.number().optional(),\n\tmaxWorkspaceFiles: z.number().optional(),\n\tshowRooIgnoredFiles: z.boolean().optional(),\n\tmaxReadFileLine: z.number().optional(),\n\tmaxImageFileSize: z.number().optional(),\n\tmaxTotalImageSize: z.number().optional(),\n\n\tterminalOutputLineLimit: z.number().optional(),\n\tterminalOutputCharacterLimit: z.number().optional(),\n\tterminalShellIntegrationTimeout: z.number().optional(),\n\tterminalShellIntegrationDisabled: z.boolean().optional(),\n\tterminalCommandDelay: z.number().optional(),\n\tterminalPowershellCounter: z.boolean().optional(),\n\tterminalZshClearEolMark: z.boolean().optional(),\n\tterminalZshOhMy: z.boolean().optional(),\n\tterminalZshP10k: z.boolean().optional(),\n\tterminalZdotdir: z.boolean().optional(),\n\tterminalCompressProgressBar: z.boolean().optional(),\n\n\tdiagnosticsEnabled: z.boolean().optional(),\n\n\trateLimitSeconds: z.number().optional(),\n\tdiffEnabled: z.boolean().optional(),\n\tfuzzyMatchThreshold: z.number().optional(),\n\texperiments: experimentsSchema.optional(),\n\n\tcodebaseIndexModels: codebaseIndexModelsSchema.optional(),\n\tcodebaseIndexConfig: codebaseIndexConfigSchema.optional(),\n\n\tlanguage: languagesSchema.optional(),\n\n\ttelemetrySetting: telemetrySettingsSchema.optional(),\n\n\tmcpEnabled: z.boolean().optional(),\n\tenableMcpServerCreation: z.boolean().optional(),\n\n\tremoteControlEnabled: z.boolean().optional(),\n\n\tmode: z.string().optional(),\n\tmodeApiConfigs: z.record(z.string(), z.string()).optional(),\n\tcustomModes: z.array(modeConfigSchema).optional(),\n\tcustomModePrompts: customModePromptsSchema.optional(),\n\tcustomSupportPrompts: customSupportPromptsSchema.optional(),\n\tenhancementApiConfigId: z.string().optional(),\n\tincludeTaskHistoryInEnhance: z.boolean().optional(),\n\thistoryPreviewCollapsed: z.boolean().optional(),\n\tprofileThresholds: z.record(z.string(), z.number()).optional(),\n\thasOpenedModeSelector: z.boolean().optional(),\n\tlastModeExportPath: z.string().optional(),\n\tlastModeImportPath: z.string().optional(),\n})\n\nexport type GlobalSettings = z.infer<typeof globalSettingsSchema>\n\nexport const GLOBAL_SETTINGS_KEYS = globalSettingsSchema.keyof().options\n\n/**\n * RooCodeSettings\n */\n\nexport const rooCodeSettingsSchema = providerSettingsSchema.merge(globalSettingsSchema)\n\nexport type RooCodeSettings = GlobalSettings & ProviderSettings\n\n/**\n * SecretState\n */\nexport const SECRET_STATE_KEYS = [\n\t\"apiKey\",\n\t\"glamaApiKey\",\n\t\"openRouterApiKey\",\n\t\"awsAccessKey\",\n\t\"awsApiKey\",\n\t\"awsSecretKey\",\n\t\"awsSessionToken\",\n\t\"openAiApiKey\",\n\t\"geminiApiKey\",\n\t\"openAiNativeApiKey\",\n\t\"cerebrasApiKey\",\n\t\"deepSeekApiKey\",\n\t\"moonshotApiKey\",\n\t\"mistralApiKey\",\n\t\"unboundApiKey\",\n\t\"requestyApiKey\",\n\t\"xaiApiKey\",\n\t\"groqApiKey\",\n\t\"chutesApiKey\",\n\t\"litellmApiKey\",\n\t\"codeIndexOpenAiKey\",\n\t\"codeIndexQdrantApiKey\",\n\t\"codebaseIndexOpenAiCompatibleApiKey\",\n\t\"codebaseIndexGeminiApiKey\",\n\t\"codebaseIndexMistralApiKey\",\n\t\"huggingFaceApiKey\",\n\t\"sambaNovaApiKey\",\n\t\"fireworksApiKey\",\n] as const satisfies readonly (keyof ProviderSettings)[]\nexport type SecretState = Pick<ProviderSettings, (typeof SECRET_STATE_KEYS)[number]>\n\nexport const isSecretStateKey = (key: string): key is Keys<SecretState> =>\n\tSECRET_STATE_KEYS.includes(key as Keys<SecretState>)\n\n/**\n * GlobalState\n */\n\nexport type GlobalState = Omit<RooCodeSettings, Keys<SecretState>>\n\nexport const GLOBAL_STATE_KEYS = [...GLOBAL_SETTINGS_KEYS, ...PROVIDER_SETTINGS_KEYS].filter(\n\t(key: Keys<RooCodeSettings>) => !SECRET_STATE_KEYS.includes(key as Keys<SecretState>),\n) as Keys<GlobalState>[]\n\nexport const isGlobalStateKey = (key: string): key is Keys<GlobalState> =>\n\tGLOBAL_STATE_KEYS.includes(key as Keys<GlobalState>)\n\n/**\n * Evals\n */\n\n// Default settings when running evals (unless overridden).\nexport const EVALS_SETTINGS: RooCodeSettings = {\n\tapiProvider: \"openrouter\",\n\topenRouterUseMiddleOutTransform: false,\n\n\tlastShownAnnouncementId: \"jul-09-2025-3-23-0\",\n\n\tpinnedApiConfigs: {},\n\n\tautoApprovalEnabled: true,\n\talwaysAllowReadOnly: true,\n\talwaysAllowReadOnlyOutsideWorkspace: false,\n\talwaysAllowWrite: true,\n\talwaysAllowWriteOutsideWorkspace: false,\n\talwaysAllowWriteProtected: false,\n\twriteDelayMs: 1000,\n\talwaysAllowBrowser: true,\n\talwaysApproveResubmit: true,\n\trequestDelaySeconds: 10,\n\talwaysAllowMcp: true,\n\talwaysAllowModeSwitch: true,\n\talwaysAllowSubtasks: true,\n\talwaysAllowExecute: true,\n\talwaysAllowFollowupQuestions: true,\n\talwaysAllowUpdateTodoList: true,\n\tfollowupAutoApproveTimeoutMs: 0,\n\tallowedCommands: [\"*\"],\n\tcommandExecutionTimeout: 20,\n\tcommandTimeoutAllowlist: [],\n\tpreventCompletionWithOpenTodos: false,\n\n\tbrowserToolEnabled: false,\n\tbrowserViewportSize: \"900x600\",\n\tscreenshotQuality: 75,\n\tremoteBrowserEnabled: false,\n\n\tttsEnabled: false,\n\tttsSpeed: 1,\n\tsoundEnabled: false,\n\tsoundVolume: 0.5,\n\n\tterminalOutputLineLimit: 500,\n\tterminalOutputCharacterLimit: DEFAULT_TERMINAL_OUTPUT_CHARACTER_LIMIT,\n\tterminalShellIntegrationTimeout: 30000,\n\tterminalCommandDelay: 0,\n\tterminalPowershellCounter: false,\n\tterminalZshOhMy: true,\n\tterminalZshClearEolMark: true,\n\tterminalZshP10k: false,\n\tterminalZdotdir: true,\n\tterminalCompressProgressBar: true,\n\tterminalShellIntegrationDisabled: true,\n\n\tdiagnosticsEnabled: true,\n\n\tdiffEnabled: true,\n\tfuzzyMatchThreshold: 1,\n\n\tenableCheckpoints: false,\n\n\trateLimitSeconds: 0,\n\tmaxOpenTabsContext: 20,\n\tmaxWorkspaceFiles: 200,\n\tshowRooIgnoredFiles: true,\n\tmaxReadFileLine: -1, // -1 to enable full file reading.\n\n\tincludeDiagnosticMessages: true,\n\tmaxDiagnosticMessages: 50,\n\n\tlanguage: \"en\",\n\ttelemetrySetting: \"enabled\",\n\n\tmcpEnabled: false,\n\n\tremoteControlEnabled: false,\n\n\tmode: \"code\", // \"architect\",\n\n\tcustomModes: [],\n}\n\nexport const EVALS_TIMEOUT = 5 * 60 * 1_000\n", + "import { z } from \"zod\"\n\n/**\n * Schema for MCP parameter definitions\n */\nexport const mcpParameterSchema = z.object({\n\tname: z.string().min(1),\n\tkey: z.string().min(1),\n\tplaceholder: z.string().optional(),\n\toptional: z.boolean().optional().default(false),\n})\n\nexport type McpParameter = z.infer<typeof mcpParameterSchema>\n\n/**\n * Schema for MCP installation method with name\n */\nexport const mcpInstallationMethodSchema = z.object({\n\tname: z.string().min(1),\n\tcontent: z.string().min(1),\n\tparameters: z.array(mcpParameterSchema).optional(),\n\tprerequisites: z.array(z.string()).optional(),\n})\n\nexport type McpInstallationMethod = z.infer<typeof mcpInstallationMethodSchema>\n\n/**\n * Component type validation\n */\nexport const marketplaceItemTypeSchema = z.enum([\"mode\", \"mcp\"] as const)\n\nexport type MarketplaceItemType = z.infer<typeof marketplaceItemTypeSchema>\n\n/**\n * Base schema for common marketplace item fields\n */\nconst baseMarketplaceItemSchema = z.object({\n\tid: z.string().min(1),\n\tname: z.string().min(1, \"Name is required\"),\n\tdescription: z.string(),\n\tauthor: z.string().optional(),\n\tauthorUrl: z.string().url(\"Author URL must be a valid URL\").optional(),\n\ttags: z.array(z.string()).optional(),\n\tprerequisites: z.array(z.string()).optional(),\n})\n\n/**\n * Type-specific schemas for YAML parsing (without type field, added programmatically)\n */\nexport const modeMarketplaceItemSchema = baseMarketplaceItemSchema.extend({\n\tcontent: z.string().min(1), // YAML content for modes\n})\n\nexport type ModeMarketplaceItem = z.infer<typeof modeMarketplaceItemSchema>\n\nexport const mcpMarketplaceItemSchema = baseMarketplaceItemSchema.extend({\n\turl: z.string().url(), // Required url field\n\tcontent: z.union([z.string().min(1), z.array(mcpInstallationMethodSchema)]), // Single config or array of methods\n\tparameters: z.array(mcpParameterSchema).optional(),\n})\n\nexport type McpMarketplaceItem = z.infer<typeof mcpMarketplaceItemSchema>\n\n/**\n * Unified marketplace item schema using discriminated union\n */\nexport const marketplaceItemSchema = z.discriminatedUnion(\"type\", [\n\t// Mode marketplace item\n\tmodeMarketplaceItemSchema.extend({\n\t\ttype: z.literal(\"mode\"),\n\t}),\n\t// MCP marketplace item\n\tmcpMarketplaceItemSchema.extend({\n\t\ttype: z.literal(\"mcp\"),\n\t}),\n])\n\nexport type MarketplaceItem = z.infer<typeof marketplaceItemSchema>\n\n/**\n * Installation options for marketplace items\n */\nexport const installMarketplaceItemOptionsSchema = z.object({\n\ttarget: z.enum([\"global\", \"project\"]).optional().default(\"project\"),\n\tparameters: z.record(z.string(), z.any()).optional(),\n})\n\nexport type InstallMarketplaceItemOptions = z.infer<typeof installMarketplaceItemOptionsSchema>\n", + "import { z } from \"zod\"\n\nimport { globalSettingsSchema } from \"./global-settings.js\"\nimport { mcpMarketplaceItemSchema } from \"./marketplace.js\"\nimport { discriminatedProviderSettingsWithIdSchema } from \"./provider-settings.js\"\n\n/**\n * CloudUserInfo\n */\n\nexport interface CloudUserInfo {\n\tid?: string\n\tname?: string\n\temail?: string\n\tpicture?: string\n\torganizationId?: string\n\torganizationName?: string\n\torganizationRole?: string\n\torganizationImageUrl?: string\n\textensionBridgeEnabled?: boolean\n}\n\n/**\n * CloudOrganization Types\n */\n\nexport interface CloudOrganization {\n\tid: string\n\tname: string\n\tslug?: string\n\timage_url?: string\n\thas_image?: boolean\n\tcreated_at?: number\n\tupdated_at?: number\n}\n\nexport interface CloudOrganizationMembership {\n\tid: string\n\torganization: CloudOrganization\n\trole: string\n\tpermissions?: string[]\n\tcreated_at?: number\n\tupdated_at?: number\n}\n\n/**\n * OrganizationAllowList\n */\n\nexport const organizationAllowListSchema = z.object({\n\tallowAll: z.boolean(),\n\tproviders: z.record(\n\t\tz.object({\n\t\t\tallowAll: z.boolean(),\n\t\t\tmodels: z.array(z.string()).optional(),\n\t\t}),\n\t),\n})\n\nexport type OrganizationAllowList = z.infer<typeof organizationAllowListSchema>\n\n/**\n * OrganizationDefaultSettings\n */\n\nexport const organizationDefaultSettingsSchema = globalSettingsSchema\n\t.pick({\n\t\tenableCheckpoints: true,\n\t\tfuzzyMatchThreshold: true,\n\t\tmaxOpenTabsContext: true,\n\t\tmaxReadFileLine: true,\n\t\tmaxWorkspaceFiles: true,\n\t\tshowRooIgnoredFiles: true,\n\t\tterminalCommandDelay: true,\n\t\tterminalCompressProgressBar: true,\n\t\tterminalOutputLineLimit: true,\n\t\tterminalShellIntegrationDisabled: true,\n\t\tterminalShellIntegrationTimeout: true,\n\t\tterminalZshClearEolMark: true,\n\t})\n\t// Add stronger validations for some fields.\n\t.merge(\n\t\tz.object({\n\t\t\tmaxOpenTabsContext: z.number().int().nonnegative().optional(),\n\t\t\tmaxReadFileLine: z.number().int().gte(-1).optional(),\n\t\t\tmaxWorkspaceFiles: z.number().int().nonnegative().optional(),\n\t\t\tterminalCommandDelay: z.number().int().nonnegative().optional(),\n\t\t\tterminalOutputLineLimit: z.number().int().nonnegative().optional(),\n\t\t\tterminalShellIntegrationTimeout: z.number().int().nonnegative().optional(),\n\t\t}),\n\t)\n\nexport type OrganizationDefaultSettings = z.infer<typeof organizationDefaultSettingsSchema>\n\n/**\n * OrganizationCloudSettings\n */\n\nexport const organizationCloudSettingsSchema = z.object({\n\trecordTaskMessages: z.boolean().optional(),\n\tenableTaskSharing: z.boolean().optional(),\n\ttaskShareExpirationDays: z.number().int().positive().optional(),\n\tallowMembersViewAllTasks: z.boolean().optional(),\n})\n\nexport type OrganizationCloudSettings = z.infer<typeof organizationCloudSettingsSchema>\n\n/**\n * Organization Settings\n */\n\nexport const organizationSettingsSchema = z.object({\n\tversion: z.number(),\n\tcloudSettings: organizationCloudSettingsSchema.optional(),\n\tdefaultSettings: organizationDefaultSettingsSchema,\n\tallowList: organizationAllowListSchema,\n\thiddenMcps: z.array(z.string()).optional(),\n\thideMarketplaceMcps: z.boolean().optional(),\n\tmcps: z.array(mcpMarketplaceItemSchema).optional(),\n\tproviderProfiles: z.record(z.string(), discriminatedProviderSettingsWithIdSchema).optional(),\n})\n\nexport type OrganizationSettings = z.infer<typeof organizationSettingsSchema>\n\n/**\n * Constants\n */\n\nexport const ORGANIZATION_ALLOW_ALL: OrganizationAllowList = {\n\tallowAll: true,\n\tproviders: {},\n} as const\n\nexport const ORGANIZATION_DEFAULT: OrganizationSettings = {\n\tversion: 0,\n\tcloudSettings: {\n\t\trecordTaskMessages: true,\n\t\tenableTaskSharing: true,\n\t\ttaskShareExpirationDays: 30,\n\t\tallowMembersViewAllTasks: true,\n\t},\n\tdefaultSettings: {},\n\tallowList: ORGANIZATION_ALLOW_ALL,\n} as const\n\n/**\n * Share Types\n */\n\nexport const shareResponseSchema = z.object({\n\tsuccess: z.boolean(),\n\tshareUrl: z.string().optional(),\n\terror: z.string().optional(),\n\tisNewShare: z.boolean().optional(),\n\tmanageUrl: z.string().optional(),\n})\n\nexport type ShareResponse = z.infer<typeof shareResponseSchema>\n", + "import { z } from \"zod\"\n\nimport { clineMessageSchema, tokenUsageSchema } from \"./message.js\"\nimport { toolNamesSchema, toolUsageSchema } from \"./tool.js\"\n\n/**\n * RooCodeEventName\n */\n\nexport enum RooCodeEventName {\n\t// Task Provider Lifecycle\n\tTaskCreated = \"taskCreated\",\n\n\t// Task Lifecycle\n\tTaskStarted = \"taskStarted\",\n\tTaskCompleted = \"taskCompleted\",\n\tTaskAborted = \"taskAborted\",\n\tTaskFocused = \"taskFocused\",\n\tTaskUnfocused = \"taskUnfocused\",\n\tTaskActive = \"taskActive\",\n\tTaskIdle = \"taskIdle\",\n\n\t// Subtask Lifecycle\n\tTaskPaused = \"taskPaused\",\n\tTaskUnpaused = \"taskUnpaused\",\n\tTaskSpawned = \"taskSpawned\",\n\n\t// Task Execution\n\tMessage = \"message\",\n\tTaskModeSwitched = \"taskModeSwitched\",\n\tTaskAskResponded = \"taskAskResponded\",\n\n\t// Task Analytics\n\tTaskTokenUsageUpdated = \"taskTokenUsageUpdated\",\n\tTaskToolFailed = \"taskToolFailed\",\n\n\t// Evals\n\tEvalPass = \"evalPass\",\n\tEvalFail = \"evalFail\",\n}\n\n/**\n * RooCodeEvents\n */\n\nexport const rooCodeEventsSchema = z.object({\n\t[RooCodeEventName.TaskCreated]: z.tuple([z.string()]),\n\n\t[RooCodeEventName.TaskStarted]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskCompleted]: z.tuple([\n\t\tz.string(),\n\t\ttokenUsageSchema,\n\t\ttoolUsageSchema,\n\t\tz.object({\n\t\t\tisSubtask: z.boolean(),\n\t\t}),\n\t]),\n\t[RooCodeEventName.TaskAborted]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskFocused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskUnfocused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskActive]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskIdle]: z.tuple([z.string()]),\n\n\t[RooCodeEventName.TaskPaused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskUnpaused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskSpawned]: z.tuple([z.string(), z.string()]),\n\n\t[RooCodeEventName.Message]: z.tuple([\n\t\tz.object({\n\t\t\ttaskId: z.string(),\n\t\t\taction: z.union([z.literal(\"created\"), z.literal(\"updated\")]),\n\t\t\tmessage: clineMessageSchema,\n\t\t}),\n\t]),\n\t[RooCodeEventName.TaskModeSwitched]: z.tuple([z.string(), z.string()]),\n\t[RooCodeEventName.TaskAskResponded]: z.tuple([z.string()]),\n\n\t[RooCodeEventName.TaskToolFailed]: z.tuple([z.string(), toolNamesSchema, z.string()]),\n\t[RooCodeEventName.TaskTokenUsageUpdated]: z.tuple([z.string(), tokenUsageSchema]),\n})\n\nexport type RooCodeEvents = z.infer<typeof rooCodeEventsSchema>\n\n/**\n * TaskEvent\n */\n\nexport const taskEventSchema = z.discriminatedUnion(\"eventName\", [\n\t// Task Provider Lifecycle\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskCreated),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskCreated],\n\t\ttaskId: z.number().optional(),\n\t}),\n\n\t// Task Lifecycle\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskStarted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskStarted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskCompleted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskCompleted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskAborted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskAborted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskFocused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskFocused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskUnfocused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskUnfocused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskActive),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskActive],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskIdle),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskIdle],\n\t\ttaskId: z.number().optional(),\n\t}),\n\n\t// Subtask Lifecycle\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskPaused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskPaused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskUnpaused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskUnpaused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskSpawned),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskSpawned],\n\t\ttaskId: z.number().optional(),\n\t}),\n\n\t// Task Execution\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.Message),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.Message],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskModeSwitched),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskModeSwitched],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskAskResponded),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskAskResponded],\n\t\ttaskId: z.number().optional(),\n\t}),\n\n\t// Task Analytics\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskToolFailed),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskToolFailed],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskTokenUsageUpdated),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskTokenUsageUpdated],\n\t\ttaskId: z.number().optional(),\n\t}),\n\n\t// Evals\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.EvalPass),\n\t\tpayload: z.undefined(),\n\t\ttaskId: z.number(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.EvalFail),\n\t\tpayload: z.undefined(),\n\t\ttaskId: z.number(),\n\t}),\n])\n\nexport type TaskEvent = z.infer<typeof taskEventSchema>\n", + "import { z } from \"zod\"\n\n/**\n * Interface for follow-up data structure used in follow-up questions\n * This represents the data structure for follow-up questions that the LLM can ask\n * to gather more information needed to complete a task.\n */\nexport interface FollowUpData {\n\t/** The question being asked by the LLM */\n\tquestion?: string\n\t/** Array of suggested answers that the user can select */\n\tsuggest?: Array<SuggestionItem>\n}\n\n/**\n * Interface for a suggestion item with optional mode switching\n */\nexport interface SuggestionItem {\n\t/** The text of the suggestion */\n\tanswer: string\n\t/** Optional mode to switch to when selecting this suggestion */\n\tmode?: string\n}\n\n/**\n * Zod schema for SuggestionItem\n */\nexport const suggestionItemSchema = z.object({\n\tanswer: z.string(),\n\tmode: z.string().optional(),\n})\n\n/**\n * Zod schema for FollowUpData\n */\nexport const followUpDataSchema = z.object({\n\tquestion: z.string().optional(),\n\tsuggest: z.array(suggestionItemSchema).optional(),\n})\n\nexport type FollowUpDataType = z.infer<typeof followUpDataSchema>\n", + "import { z } from \"zod\"\n\nimport { type TaskEvent, taskEventSchema } from \"./events.js\"\nimport { rooCodeSettingsSchema } from \"./global-settings.js\"\n\n/**\n * IpcMessageType\n */\n\nexport enum IpcMessageType {\n\tConnect = \"Connect\",\n\tDisconnect = \"Disconnect\",\n\tAck = \"Ack\",\n\tTaskCommand = \"TaskCommand\",\n\tTaskEvent = \"TaskEvent\",\n}\n\n/**\n * IpcOrigin\n */\n\nexport enum IpcOrigin {\n\tClient = \"client\",\n\tServer = \"server\",\n}\n\n/**\n * Ack\n */\n\nexport const ackSchema = z.object({\n\tclientId: z.string(),\n\tpid: z.number(),\n\tppid: z.number(),\n})\n\nexport type Ack = z.infer<typeof ackSchema>\n\n/**\n * TaskCommandName\n */\n\nexport enum TaskCommandName {\n\tStartNewTask = \"StartNewTask\",\n\tCancelTask = \"CancelTask\",\n\tCloseTask = \"CloseTask\",\n}\n\n/**\n * TaskCommand\n */\n\nexport const taskCommandSchema = z.discriminatedUnion(\"commandName\", [\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.StartNewTask),\n\t\tdata: z.object({\n\t\t\tconfiguration: rooCodeSettingsSchema,\n\t\t\ttext: z.string(),\n\t\t\timages: z.array(z.string()).optional(),\n\t\t\tnewTab: z.boolean().optional(),\n\t\t}),\n\t}),\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.CancelTask),\n\t\tdata: z.string(),\n\t}),\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.CloseTask),\n\t\tdata: z.string(),\n\t}),\n])\n\nexport type TaskCommand = z.infer<typeof taskCommandSchema>\n\n/**\n * IpcMessage\n */\n\nexport const ipcMessageSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.Ack),\n\t\torigin: z.literal(IpcOrigin.Server),\n\t\tdata: ackSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.TaskCommand),\n\t\torigin: z.literal(IpcOrigin.Client),\n\t\tclientId: z.string(),\n\t\tdata: taskCommandSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.TaskEvent),\n\t\torigin: z.literal(IpcOrigin.Server),\n\t\trelayClientId: z.string().optional(),\n\t\tdata: taskEventSchema,\n\t}),\n])\n\nexport type IpcMessage = z.infer<typeof ipcMessageSchema>\n\n/**\n * IpcClientEvents\n */\n\nexport type IpcClientEvents = {\n\t[IpcMessageType.Connect]: []\n\t[IpcMessageType.Disconnect]: []\n\t[IpcMessageType.Ack]: [data: Ack]\n\t[IpcMessageType.TaskCommand]: [data: TaskCommand]\n\t[IpcMessageType.TaskEvent]: [data: TaskEvent]\n}\n\n/**\n * IpcServerEvents\n */\n\nexport type IpcServerEvents = {\n\t[IpcMessageType.Connect]: [clientId: string]\n\t[IpcMessageType.Disconnect]: [clientId: string]\n\t[IpcMessageType.TaskCommand]: [clientId: string, data: TaskCommand]\n\t[IpcMessageType.TaskEvent]: [relayClientId: string | undefined, data: TaskEvent]\n}\n", + "import { z } from \"zod\"\n\n/**\n * McpExecutionStatus\n */\n\nexport const mcpExecutionStatusSchema = z.discriminatedUnion(\"status\", [\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"started\"),\n\t\tserverName: z.string(),\n\t\ttoolName: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"output\"),\n\t\tresponse: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"completed\"),\n\t\tresponse: z.string().optional(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"error\"),\n\t\terror: z.string().optional(),\n\t}),\n])\n\nexport type McpExecutionStatus = z.infer<typeof mcpExecutionStatusSchema>\n", + "import { z } from \"zod\"\n\n/**\n * TodoStatus\n */\nexport const todoStatusSchema = z.enum([\"pending\", \"in_progress\", \"completed\"] as const)\n\nexport type TodoStatus = z.infer<typeof todoStatusSchema>\n\n/**\n * TodoItem\n */\nexport const todoItemSchema = z.object({\n\tid: z.string(),\n\tcontent: z.string(),\n\tstatus: todoStatusSchema,\n})\n\nexport type TodoItem = z.infer<typeof todoItemSchema>\n", + "import { z } from \"zod\"\n\n/**\n * CommandExecutionStatus\n */\n\nexport const commandExecutionStatusSchema = z.discriminatedUnion(\"status\", [\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"started\"),\n\t\tpid: z.number().optional(),\n\t\tcommand: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"output\"),\n\t\toutput: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"exited\"),\n\t\texitCode: z.number().optional(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"fallback\"),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"timeout\"),\n\t}),\n])\n\nexport type CommandExecutionStatus = z.infer<typeof commandExecutionStatusSchema>\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://docs.anthropic.com/en/docs/about-claude/models\n\nexport type AnthropicModelId = keyof typeof anthropicModels\nexport const anthropicDefaultModelId: AnthropicModelId = \"claude-sonnet-4-20250514\"\n\nexport const anthropicModels = {\n\t\"claude-sonnet-4-20250514\": {\n\t\tmaxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-opus-4-20250514\": {\n\t\tmaxTokens: 32_000, // Overridden to 8k if `enableReasoningEffort` is false.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0, // $15 per million input tokens\n\t\toutputPrice: 75.0, // $75 per million output tokens\n\t\tcacheWritesPrice: 18.75, // $18.75 per million tokens\n\t\tcacheReadsPrice: 1.5, // $1.50 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet-20250219:thinking\": {\n\t\tmaxTokens: 128_000, // Unlocked by passing `beta` flag to the model. Otherwise, it's 64k.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet-20250219\": {\n\t\tmaxTokens: 8192, // Since we already have a `:thinking` virtual model we aren't setting `supportsReasoningBudget: true` here.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t},\n\t\"claude-3-5-sonnet-20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t},\n\t\"claude-3-5-haiku-20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 5.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"claude-3-opus-20240229\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-haiku-20240307\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t\tcacheWritesPrice: 0.3,\n\t\tcacheReadsPrice: 0.03,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const ANTHROPIC_DEFAULT_MAX_TOKENS = 8192\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html\n\nexport type BedrockModelId = keyof typeof bedrockModels\n\nexport const bedrockDefaultModelId: BedrockModelId = \"anthropic.claude-sonnet-4-20250514-v1:0\"\n\nexport const bedrockDefaultPromptRouterModelId: BedrockModelId = \"anthropic.claude-3-sonnet-20240229-v1:0\"\n\n// March, 12 2025 - updated prices to match US-West-2 list price shown at\n// https://aws.amazon.com/bedrock/pricing, including older models that are part\n// of the default prompt routers AWS enabled for GA of the promot router\n// feature.\nexport const bedrockModels = {\n\t\"amazon.nova-pro-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 3.2,\n\t\tcacheWritesPrice: 0.8, // per million tokens\n\t\tcacheReadsPrice: 0.2, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"amazon.nova-pro-latency-optimized-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 1.0, // per million tokens\n\t\tcacheReadsPrice: 0.25, // per million tokens\n\t\tdescription: \"Amazon Nova Pro with latency optimized inference\",\n\t},\n\t\"amazon.nova-lite-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.06,\n\t\toutputPrice: 0.24,\n\t\tcacheWritesPrice: 0.06, // per million tokens\n\t\tcacheReadsPrice: 0.015, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"amazon.nova-micro-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.035,\n\t\toutputPrice: 0.14,\n\t\tcacheWritesPrice: 0.035, // per million tokens\n\t\tcacheReadsPrice: 0.00875, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"anthropic.claude-sonnet-4-20250514-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-opus-4-20250514-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-7-sonnet-20250219-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-sonnet-20241022-v2:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-haiku-20241022-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 1.0,\n\t\tcacheReadsPrice: 0.08,\n\t\tminTokensPerCachePoint: 2048,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-sonnet-20240620-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t},\n\t\"anthropic.claude-3-opus-20240229-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t},\n\t\"anthropic.claude-3-sonnet-20240229-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t},\n\t\"anthropic.claude-3-haiku-20240307-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t},\n\t\"anthropic.claude-2-1-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 8.0,\n\t\toutputPrice: 24.0,\n\t\tdescription: \"Claude 2.1\",\n\t},\n\t\"anthropic.claude-2-0-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 8.0,\n\t\toutputPrice: 24.0,\n\t\tdescription: \"Claude 2.0\",\n\t},\n\t\"anthropic.claude-instant-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 2.4,\n\t\tdescription: \"Claude Instant\",\n\t},\n\t\"deepseek.r1-v1:0\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.35,\n\t\toutputPrice: 5.4,\n\t},\n\t\"meta.llama3-3-70b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.3 Instruct (70B)\",\n\t},\n\t\"meta.llama3-2-90b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.2 Instruct (90B)\",\n\t},\n\t\"meta.llama3-2-11b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.16,\n\t\toutputPrice: 0.16,\n\t\tdescription: \"Llama 3.2 Instruct (11B)\",\n\t},\n\t\"meta.llama3-2-3b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.15,\n\t\tdescription: \"Llama 3.2 Instruct (3B)\",\n\t},\n\t\"meta.llama3-2-1b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.1,\n\t\tdescription: \"Llama 3.2 Instruct (1B)\",\n\t},\n\t\"meta.llama3-1-405b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.4,\n\t\toutputPrice: 2.4,\n\t\tdescription: \"Llama 3.1 Instruct (405B)\",\n\t},\n\t\"meta.llama3-1-70b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.1 Instruct (70B)\",\n\t},\n\t\"meta.llama3-1-70b-instruct-latency-optimized-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.9,\n\t\toutputPrice: 0.9,\n\t\tdescription: \"Llama 3.1 Instruct (70B) (w/ latency optimized inference)\",\n\t},\n\t\"meta.llama3-1-8b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.22,\n\t\toutputPrice: 0.22,\n\t\tdescription: \"Llama 3.1 Instruct (8B)\",\n\t},\n\t\"meta.llama3-70b-instruct-v1:0\": {\n\t\tmaxTokens: 2048,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.65,\n\t\toutputPrice: 3.5,\n\t},\n\t\"meta.llama3-8b-instruct-v1:0\": {\n\t\tmaxTokens: 2048,\n\t\tcontextWindow: 4_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.6,\n\t},\n\t\"amazon.titan-text-lite-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.2,\n\t\tdescription: \"Amazon Titan Text Lite\",\n\t},\n\t\"amazon.titan-text-express-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t\tdescription: \"Amazon Titan Text Express\",\n\t},\n\t\"amazon.titan-text-embeddings-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\tdescription: \"Amazon Titan Text Embeddings\",\n\t},\n\t\"amazon.titan-text-embeddings-v2:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.02,\n\t\tdescription: \"Amazon Titan Text Embeddings V2\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const BEDROCK_DEFAULT_TEMPERATURE = 0.3\n\nexport const BEDROCK_MAX_TOKENS = 4096\n\nexport const BEDROCK_DEFAULT_CONTEXT = 128_000\n\n// Amazon Bedrock Inference Profile mapping based on official documentation\n// https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html\n// This mapping is pre-ordered by pattern length (descending) to ensure more specific patterns match first\nexport const AWS_INFERENCE_PROFILE_MAPPING: Array<[string, string]> = [\n\t// US Government Cloud → ug. inference profile (most specific prefix first)\n\t[\"us-gov-\", \"ug.\"],\n\t// Americas regions → us. inference profile\n\t[\"us-\", \"us.\"],\n\t// Europe regions → eu. inference profile\n\t[\"eu-\", \"eu.\"],\n\t// Asia Pacific regions → apac. inference profile\n\t[\"ap-\", \"apac.\"],\n\t// Canada regions → ca. inference profile\n\t[\"ca-\", \"ca.\"],\n\t// South America regions → sa. inference profile\n\t[\"sa-\", \"sa.\"],\n]\n\n// Amazon Bedrock supported regions for the regions dropdown\n// Based on official AWS documentation\nexport const BEDROCK_REGIONS = [\n\t{ value: \"us-east-1\", label: \"us-east-1\" },\n\t{ value: \"us-east-2\", label: \"us-east-2\" },\n\t{ value: \"us-west-1\", label: \"us-west-1\" },\n\t{ value: \"us-west-2\", label: \"us-west-2\" },\n\t{ value: \"ap-northeast-1\", label: \"ap-northeast-1\" },\n\t{ value: \"ap-northeast-2\", label: \"ap-northeast-2\" },\n\t{ value: \"ap-northeast-3\", label: \"ap-northeast-3\" },\n\t{ value: \"ap-south-1\", label: \"ap-south-1\" },\n\t{ value: \"ap-south-2\", label: \"ap-south-2\" },\n\t{ value: \"ap-southeast-1\", label: \"ap-southeast-1\" },\n\t{ value: \"ap-southeast-2\", label: \"ap-southeast-2\" },\n\t{ value: \"ap-east-1\", label: \"ap-east-1\" },\n\t{ value: \"eu-central-1\", label: \"eu-central-1\" },\n\t{ value: \"eu-central-2\", label: \"eu-central-2\" },\n\t{ value: \"eu-west-1\", label: \"eu-west-1\" },\n\t{ value: \"eu-west-2\", label: \"eu-west-2\" },\n\t{ value: \"eu-west-3\", label: \"eu-west-3\" },\n\t{ value: \"eu-north-1\", label: \"eu-north-1\" },\n\t{ value: \"eu-south-1\", label: \"eu-south-1\" },\n\t{ value: \"eu-south-2\", label: \"eu-south-2\" },\n\t{ value: \"ca-central-1\", label: \"ca-central-1\" },\n\t{ value: \"sa-east-1\", label: \"sa-east-1\" },\n\t{ value: \"us-gov-east-1\", label: \"us-gov-east-1\" },\n\t{ value: \"us-gov-west-1\", label: \"us-gov-west-1\" },\n].sort((a, b) => a.value.localeCompare(b.value))\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://inference-docs.cerebras.ai/api-reference/chat-completions\nexport type CerebrasModelId = keyof typeof cerebrasModels\n\nexport const cerebrasDefaultModelId: CerebrasModelId = \"qwen-3-coder-480b-free\"\n\nexport const cerebrasModels = {\n\t\"qwen-3-coder-480b-free\": {\n\t\tmaxTokens: 40000,\n\t\tcontextWindow: 64000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription:\n\t\t\t\"SOTA coding model with ~2000 tokens/s ($0 free tier)\\n\\n• Use this if you don't have a Cerebras subscription\\n• 64K context window\\n• Rate limits: 150K TPM, 1M TPH/TPD, 10 RPM, 100 RPH/RPD\\n\\nUpgrade for higher limits: [https://cloud.cerebras.ai/?utm=roocode](https://cloud.cerebras.ai/?utm=roocode)\",\n\t},\n\t\"qwen-3-coder-480b\": {\n\t\tmaxTokens: 40000,\n\t\tcontextWindow: 128000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription:\n\t\t\t\"SOTA coding model with ~2000 tokens/s ($50/$250 paid tiers)\\n\\n• Use this if you have a Cerebras subscription\\n• 131K context window with higher rate limits\",\n\t},\n\t\"qwen-3-235b-a22b-instruct-2507\": {\n\t\tmaxTokens: 64000,\n\t\tcontextWindow: 64000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Intelligent model with ~1400 tokens/s\",\n\t},\n\t\"llama-3.3-70b\": {\n\t\tmaxTokens: 64000,\n\t\tcontextWindow: 64000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Powerful model with ~2600 tokens/s\",\n\t},\n\t\"qwen-3-32b\": {\n\t\tmaxTokens: 64000,\n\t\tcontextWindow: 64000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"SOTA coding performance with ~2500 tokens/s\",\n\t},\n\t\"qwen-3-235b-a22b-thinking-2507\": {\n\t\tmaxTokens: 40000,\n\t\tcontextWindow: 65000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"SOTA performance with ~1500 tokens/s\",\n\t\tsupportsReasoningEffort: true,\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://llm.chutes.ai/v1 (OpenAI compatible)\nexport type ChutesModelId =\n\t| \"deepseek-ai/DeepSeek-R1-0528\"\n\t| \"deepseek-ai/DeepSeek-R1\"\n\t| \"deepseek-ai/DeepSeek-V3\"\n\t| \"unsloth/Llama-3.3-70B-Instruct\"\n\t| \"chutesai/Llama-4-Scout-17B-16E-Instruct\"\n\t| \"unsloth/Mistral-Nemo-Instruct-2407\"\n\t| \"unsloth/gemma-3-12b-it\"\n\t| \"NousResearch/DeepHermes-3-Llama-3-8B-Preview\"\n\t| \"unsloth/gemma-3-4b-it\"\n\t| \"nvidia/Llama-3_3-Nemotron-Super-49B-v1\"\n\t| \"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1\"\n\t| \"chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8\"\n\t| \"deepseek-ai/DeepSeek-V3-Base\"\n\t| \"deepseek-ai/DeepSeek-R1-Zero\"\n\t| \"deepseek-ai/DeepSeek-V3-0324\"\n\t| \"Qwen/Qwen3-235B-A22B\"\n\t| \"Qwen/Qwen3-235B-A22B-Instruct-2507\"\n\t| \"Qwen/Qwen3-32B\"\n\t| \"Qwen/Qwen3-30B-A3B\"\n\t| \"Qwen/Qwen3-14B\"\n\t| \"Qwen/Qwen3-8B\"\n\t| \"microsoft/MAI-DS-R1-FP8\"\n\t| \"tngtech/DeepSeek-R1T-Chimera\"\n\t| \"zai-org/GLM-4.5-Air\"\n\t| \"zai-org/GLM-4.5-FP8\"\n\nexport const chutesDefaultModelId: ChutesModelId = \"deepseek-ai/DeepSeek-R1-0528\"\n\nexport const chutesModels = {\n\t\"deepseek-ai/DeepSeek-R1-0528\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 0528 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-R1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 model.\",\n\t},\n\t\"unsloth/Llama-3.3-70B-Instruct\": {\n\t\tmaxTokens: 32768, // From Groq\n\t\tcontextWindow: 131072, // From Groq\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Llama 3.3 70B Instruct model.\",\n\t},\n\t\"chutesai/Llama-4-Scout-17B-16E-Instruct\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 512000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"ChutesAI Llama 4 Scout 17B Instruct model, 512K context.\",\n\t},\n\t\"unsloth/Mistral-Nemo-Instruct-2407\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 128000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Mistral Nemo Instruct model.\",\n\t},\n\t\"unsloth/gemma-3-12b-it\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Gemma 3 12B IT model.\",\n\t},\n\t\"NousResearch/DeepHermes-3-Llama-3-8B-Preview\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nous DeepHermes 3 Llama 3 8B Preview model.\",\n\t},\n\t\"unsloth/gemma-3-4b-it\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Gemma 3 4B IT model.\",\n\t},\n\t\"nvidia/Llama-3_3-Nemotron-Super-49B-v1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nvidia Llama 3.3 Nemotron Super 49B model.\",\n\t},\n\t\"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nvidia Llama 3.1 Nemotron Ultra 253B model.\",\n\t},\n\t\"chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"ChutesAI Llama 4 Maverick 17B Instruct FP8 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3-Base\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 Base model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-R1-Zero\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 Zero model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3-0324\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 (0324) model.\",\n\t},\n\t\"Qwen/Qwen3-235B-A22B-Instruct-2507\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 262144,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 235B A22B Instruct 2507 model with 262K context window.\",\n\t},\n\t\"Qwen/Qwen3-235B-A22B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 235B A22B model.\",\n\t},\n\t\"Qwen/Qwen3-32B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 32B model.\",\n\t},\n\t\"Qwen/Qwen3-30B-A3B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 30B A3B model.\",\n\t},\n\t\"Qwen/Qwen3-14B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 14B model.\",\n\t},\n\t\"Qwen/Qwen3-8B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 8B model.\",\n\t},\n\t\"microsoft/MAI-DS-R1-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Microsoft MAI-DS-R1 FP8 model.\",\n\t},\n\t\"tngtech/DeepSeek-R1T-Chimera\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"TNGTech DeepSeek R1T Chimera model.\",\n\t},\n\t\"zai-org/GLM-4.5-Air\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 151329,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription:\n\t\t\t\"GLM-4.5-Air model with 151,329 token context window and 106B total parameters with 12B activated.\",\n\t},\n\t\"zai-org/GLM-4.5-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription:\n\t\t\t\"GLM-4.5-FP8 model with 128k token context window, optimized for agent-based applications with MoE architecture.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\nimport { anthropicModels } from \"./anthropic.js\"\n\n// Regex pattern to match 8-digit date at the end of model names\nconst VERTEX_DATE_PATTERN = /-(\\d{8})$/\n\n/**\n * Converts Claude model names from hyphen-date format to Vertex AI's @-date format.\n *\n * @param modelName - The original model name (e.g., \"claude-sonnet-4-20250514\")\n * @returns The converted model name for Vertex AI (e.g., \"claude-sonnet-4@20250514\")\n *\n * @example\n * convertModelNameForVertex(\"claude-sonnet-4-20250514\") // returns \"claude-sonnet-4@20250514\"\n * convertModelNameForVertex(\"claude-model\") // returns \"claude-model\" (no change)\n */\nexport function convertModelNameForVertex(modelName: string): string {\n\t// Convert hyphen-date format to @date format for Vertex AI\n\treturn modelName.replace(VERTEX_DATE_PATTERN, \"@$1\")\n}\n\n// Claude Code\nexport type ClaudeCodeModelId = keyof typeof claudeCodeModels\nexport const claudeCodeDefaultModelId: ClaudeCodeModelId = \"claude-sonnet-4-20250514\"\nexport const CLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS = 16000\n\n/**\n * Gets the appropriate model ID based on whether Vertex AI is being used.\n *\n * @param baseModelId - The base Claude Code model ID\n * @param useVertex - Whether to format the model ID for Vertex AI (default: false)\n * @returns The model ID, potentially formatted for Vertex AI\n *\n * @example\n * getClaudeCodeModelId(\"claude-sonnet-4-20250514\", true) // returns \"claude-sonnet-4@20250514\"\n * getClaudeCodeModelId(\"claude-sonnet-4-20250514\", false) // returns \"claude-sonnet-4-20250514\"\n */\nexport function getClaudeCodeModelId(baseModelId: ClaudeCodeModelId, useVertex = false): string {\n\treturn useVertex ? convertModelNameForVertex(baseModelId) : baseModelId\n}\n\nexport const claudeCodeModels = {\n\t\"claude-sonnet-4-20250514\": {\n\t\t...anthropicModels[\"claude-sonnet-4-20250514\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-opus-4-20250514\": {\n\t\t...anthropicModels[\"claude-opus-4-20250514\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-7-sonnet-20250219\": {\n\t\t...anthropicModels[\"claude-3-7-sonnet-20250219\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-5-sonnet-20241022\": {\n\t\t...anthropicModels[\"claude-3-5-sonnet-20241022\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-5-haiku-20241022\": {\n\t\t...anthropicModels[\"claude-3-5-haiku-20241022\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://platform.deepseek.com/docs/api\nexport type DeepSeekModelId = keyof typeof deepSeekModels\n\nexport const deepSeekDefaultModelId: DeepSeekModelId = \"deepseek-chat\"\n\nexport const deepSeekModels = {\n\t\"deepseek-chat\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 64_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.27, // $0.27 per million tokens (cache miss)\n\t\toutputPrice: 1.1, // $1.10 per million tokens\n\t\tcacheWritesPrice: 0.27, // $0.27 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.07, // $0.07 per million tokens (cache hit).\n\t\tdescription: `DeepSeek-V3 achieves a significant breakthrough in inference speed over previous models. It tops the leaderboard among open-source models and rivals the most advanced closed-source models globally.`,\n\t},\n\t\"deepseek-reasoner\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 64_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.55, // $0.55 per million tokens (cache miss)\n\t\toutputPrice: 2.19, // $2.19 per million tokens\n\t\tcacheWritesPrice: 0.55, // $0.55 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.14, // $0.14 per million tokens (cache hit)\n\t\tdescription: `DeepSeek-R1 achieves performance comparable to OpenAI-o1 across math, code, and reasoning tasks. Supports Chain of Thought reasoning with up to 32K tokens.`,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const DEEP_SEEK_DEFAULT_TEMPERATURE = 0.6\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://ai.google.dev/gemini-api/docs/models/gemini\nexport type GeminiModelId = keyof typeof geminiModels\n\nexport const geminiDefaultModelId: GeminiModelId = \"gemini-2.0-flash-001\"\n\nexport const geminiModels = {\n\t\"gemini-2.5-flash-preview-04-17:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-flash-preview-05-20:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-05-20\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t},\n\t\"gemini-2.5-flash\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 2.5,\n\t\tcacheReadsPrice: 0.075,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-pro-exp-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.5-pro-preview-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-preview-05-06\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-preview-06-05\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t},\n\t\"gemini-2.0-flash-lite-preview-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-pro-exp-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-01-21\": {\n\t\tmaxTokens: 65_536,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-1219\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32_767,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-exp\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15, // This is the pricing for prompts above 128k tokens.\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 128_000,\n\t\t\t\tinputPrice: 0.075,\n\t\t\t\toutputPrice: 0.3,\n\t\t\t\tcacheReadsPrice: 0.01875,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 0.15,\n\t\t\t\toutputPrice: 0.6,\n\t\t\t\tcacheReadsPrice: 0.0375,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-1.5-flash-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-8b-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-pro-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-pro-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-exp-1206\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.5-flash-lite-preview-06-17\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t\tsupportsReasoningBudget: true,\n\t\tmaxThinkingTokens: 24_576,\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://glama.ai/models\nexport const glamaDefaultModelId = \"anthropic/claude-3-7-sonnet\"\n\nexport const glamaDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and extended, step-by-step processing for complex tasks. The model demonstrates notable improvements in coding, particularly in front-end development and full-stack updates, and excels in agentic workflows, where it can autonomously navigate multi-step processes. Claude 3.7 Sonnet maintains performance parity with its predecessor in standard mode while offering an extended reasoning mode for enhanced accuracy in math, coding, and instruction-following tasks. Read more at the [blog post here](https://www.anthropic.com/news/claude-3-7-sonnet)\",\n}\n\nexport const GLAMA_DEFAULT_TEMPERATURE = 0\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://console.groq.com/docs/models\nexport type GroqModelId =\n\t| \"llama-3.1-8b-instant\"\n\t| \"llama-3.3-70b-versatile\"\n\t| \"meta-llama/llama-4-scout-17b-16e-instruct\"\n\t| \"meta-llama/llama-4-maverick-17b-128e-instruct\"\n\t| \"mistral-saba-24b\"\n\t| \"qwen-qwq-32b\"\n\t| \"qwen/qwen3-32b\"\n\t| \"deepseek-r1-distill-llama-70b\"\n\t| \"moonshotai/kimi-k2-instruct\"\n\nexport const groqDefaultModelId: GroqModelId = \"llama-3.3-70b-versatile\" // Defaulting to Llama3 70B Versatile\n\nexport const groqModels = {\n\t// Models based on API response: https://api.groq.com/openai/v1/models\n\t\"llama-3.1-8b-instant\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.05,\n\t\toutputPrice: 0.08,\n\t\tdescription: \"Meta Llama 3.1 8B Instant model, 128K context.\",\n\t},\n\t\"llama-3.3-70b-versatile\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.59,\n\t\toutputPrice: 0.79,\n\t\tdescription: \"Meta Llama 3.3 70B Versatile model, 128K context.\",\n\t},\n\t\"meta-llama/llama-4-scout-17b-16e-instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.11,\n\t\toutputPrice: 0.34,\n\t\tdescription: \"Meta Llama 4 Scout 17B Instruct model, 128K context.\",\n\t},\n\t\"meta-llama/llama-4-maverick-17b-128e-instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t\tdescription: \"Meta Llama 4 Maverick 17B Instruct model, 128K context.\",\n\t},\n\t\"mistral-saba-24b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.79,\n\t\toutputPrice: 0.79,\n\t\tdescription: \"Mistral Saba 24B model, 32K context.\",\n\t},\n\t\"qwen-qwq-32b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 0.39,\n\t\tdescription: \"Alibaba Qwen QwQ 32B model, 128K context.\",\n\t},\n\t\"qwen/qwen3-32b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 0.59,\n\t\tdescription: \"Alibaba Qwen 3 32B model, 128K context.\",\n\t},\n\t\"deepseek-r1-distill-llama-70b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.75,\n\t\toutputPrice: 0.99,\n\t\tdescription: \"DeepSeek R1 Distill Llama 70B model, 128K context.\",\n\t},\n\t\"moonshotai/kimi-k2-instruct\": {\n\t\tmaxTokens: 16384,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 3.0,\n\t\tdescription: \"Moonshot AI Kimi K2 Instruct 1T model, 128K context.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://docs.litellm.ai/\nexport const litellmDefaultModelId = \"claude-3-7-sonnet-20250219\"\n\nexport const litellmDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n}\n\nexport const LITELLM_COMPUTER_USE_MODELS = new Set([\n\t\"claude-3-5-sonnet-latest\",\n\t\"claude-opus-4-20250514\",\n\t\"claude-sonnet-4-20250514\",\n\t\"claude-3-7-sonnet-latest\",\n\t\"claude-3-7-sonnet-20250219\",\n\t\"claude-3-5-sonnet-20241022\",\n\t\"vertex_ai/claude-3-5-sonnet\",\n\t\"vertex_ai/claude-3-5-sonnet-v2\",\n\t\"vertex_ai/claude-3-5-sonnet-v2@20241022\",\n\t\"vertex_ai/claude-3-7-sonnet@20250219\",\n\t\"vertex_ai/claude-opus-4@20250514\",\n\t\"vertex_ai/claude-sonnet-4@20250514\",\n\t\"openrouter/anthropic/claude-3.5-sonnet\",\n\t\"openrouter/anthropic/claude-3.5-sonnet:beta\",\n\t\"openrouter/anthropic/claude-3.7-sonnet\",\n\t\"openrouter/anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic.claude-opus-4-20250514-v1:0\",\n\t\"anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"us.anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"us.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"us.anthropic.claude-opus-4-20250514-v1:0\",\n\t\"us.anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"eu.anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"eu.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"eu.anthropic.claude-opus-4-20250514-v1:0\",\n\t\"eu.anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"snowflake/claude-3-5-sonnet\",\n])\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://docs.mistral.ai/getting-started/models/models_overview/\nexport type MistralModelId = keyof typeof mistralModels\n\nexport const mistralDefaultModelId: MistralModelId = \"codestral-latest\"\n\nexport const mistralModels = {\n\t\"magistral-medium-latest\": {\n\t\tmaxTokens: 41_000,\n\t\tcontextWindow: 41_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 5.0,\n\t},\n\t\"devstral-medium-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 2.0,\n\t},\n\t\"mistral-medium-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 2.0,\n\t},\n\t\"codestral-latest\": {\n\t\tmaxTokens: 256_000,\n\t\tcontextWindow: 256_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.9,\n\t},\n\t\"mistral-large-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 6.0,\n\t},\n\t\"ministral-8b-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.1,\n\t},\n\t\"ministral-3b-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.04,\n\t\toutputPrice: 0.04,\n\t},\n\t\"mistral-small-latest\": {\n\t\tmaxTokens: 32_000,\n\t\tcontextWindow: 32_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t},\n\t\"pixtral-large-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 6.0,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const MISTRAL_DEFAULT_TEMPERATURE = 0\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://platform.moonshot.ai/\nexport type MoonshotModelId = keyof typeof moonshotModels\n\nexport const moonshotDefaultModelId: MoonshotModelId = \"kimi-k2-0711-preview\"\n\nexport const moonshotModels = {\n\t\"kimi-k2-0711-preview\": {\n\t\tmaxTokens: 32_000,\n\t\tcontextWindow: 131_072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.6, // $0.60 per million tokens (cache miss)\n\t\toutputPrice: 2.5, // $2.50 per million tokens\n\t\tcacheWritesPrice: 0, // $0 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.15, // $0.15 per million tokens (cache hit)\n\t\tdescription: `Kimi K2 is a state-of-the-art mixture-of-experts (MoE) language model with 32 billion activated parameters and 1 trillion total parameters.`,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const MOONSHOT_DEFAULT_TEMPERATURE = 0.6\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://openai.com/api/pricing/\nexport type OpenAiNativeModelId = keyof typeof openAiNativeModels\n\nexport const openAiNativeDefaultModelId: OpenAiNativeModelId = \"gpt-4.1\"\n\nexport const openAiNativeModels = {\n\t\"gpt-4.1\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2,\n\t\toutputPrice: 8,\n\t\tcacheReadsPrice: 0.5,\n\t},\n\t\"gpt-4.1-mini\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 1.6,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"gpt-4.1-nano\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t},\n\to3: {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o3-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o3-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\treasoningEffort: \"low\",\n\t},\n\t\"o4-mini\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o4-mini-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o4-mini-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\treasoningEffort: \"low\",\n\t},\n\t\"o3-mini\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o3-mini-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o3-mini-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\treasoningEffort: \"low\",\n\t},\n\to1: {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15,\n\t\toutputPrice: 60,\n\t\tcacheReadsPrice: 7.5,\n\t},\n\t\"o1-preview\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15,\n\t\toutputPrice: 60,\n\t\tcacheReadsPrice: 7.5,\n\t},\n\t\"o1-mini\": {\n\t\tmaxTokens: 65_536,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t},\n\t\"gpt-4.5-preview\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 75,\n\t\toutputPrice: 150,\n\t\tcacheReadsPrice: 37.5,\n\t},\n\t\"gpt-4o\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 10,\n\t\tcacheReadsPrice: 1.25,\n\t},\n\t\"gpt-4o-mini\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.075,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const openAiModelInfoSaneDefaults: ModelInfo = {\n\tmaxTokens: -1,\n\tcontextWindow: 128_000,\n\tsupportsImages: true,\n\tsupportsPromptCache: false,\n\tinputPrice: 0,\n\toutputPrice: 0,\n}\n\n// https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation\n// https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs\nexport const azureOpenAiDefaultApiVersion = \"2024-08-01-preview\"\n\nexport const OPENAI_NATIVE_DEFAULT_TEMPERATURE = 0\n\nexport const OPENAI_AZURE_AI_INFERENCE_PATH = \"/models/chat/completions\"\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://openrouter.ai/models?order=newest&supported_parameters=tools\nexport const openRouterDefaultModelId = \"anthropic/claude-sonnet-4\"\n\nexport const openRouterDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and extended, step-by-step processing for complex tasks. The model demonstrates notable improvements in coding, particularly in front-end development and full-stack updates, and excels in agentic workflows, where it can autonomously navigate multi-step processes. Claude 3.7 Sonnet maintains performance parity with its predecessor in standard mode while offering an extended reasoning mode for enhanced accuracy in math, coding, and instruction-following tasks. Read more at the [blog post here](https://www.anthropic.com/news/claude-3-7-sonnet)\",\n}\n\nexport const OPENROUTER_DEFAULT_PROVIDER_NAME = \"[default]\"\n\nexport const OPEN_ROUTER_PROMPT_CACHING_MODELS = new Set([\n\t\"anthropic/claude-3-haiku\",\n\t\"anthropic/claude-3-haiku:beta\",\n\t\"anthropic/claude-3-opus\",\n\t\"anthropic/claude-3-opus:beta\",\n\t\"anthropic/claude-3-sonnet\",\n\t\"anthropic/claude-3-sonnet:beta\",\n\t\"anthropic/claude-3.5-haiku\",\n\t\"anthropic/claude-3.5-haiku-20241022\",\n\t\"anthropic/claude-3.5-haiku-20241022:beta\",\n\t\"anthropic/claude-3.5-haiku:beta\",\n\t\"anthropic/claude-3.5-sonnet\",\n\t\"anthropic/claude-3.5-sonnet-20240620\",\n\t\"anthropic/claude-3.5-sonnet-20240620:beta\",\n\t\"anthropic/claude-3.5-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet\",\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"anthropic/claude-opus-4\",\n\t\"google/gemini-2.5-flash-preview\",\n\t\"google/gemini-2.5-flash-preview:thinking\",\n\t\"google/gemini-2.5-flash-preview-05-20\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n\t\"google/gemini-2.5-flash\",\n\t\"google/gemini-2.5-flash-lite-preview-06-17\",\n\t\"google/gemini-2.0-flash-001\",\n\t\"google/gemini-flash-1.5\",\n\t\"google/gemini-flash-1.5-8b\",\n])\n\n// https://www.anthropic.com/news/3-5-models-and-computer-use\nexport const OPEN_ROUTER_COMPUTER_USE_MODELS = new Set([\n\t\"anthropic/claude-3.5-sonnet\",\n\t\"anthropic/claude-3.5-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet\",\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"anthropic/claude-opus-4\",\n])\n\n// When we first launched these models we didn't have support for\n// enabling/disabling the reasoning budget for hybrid models. Now that we\n// do support this we should give users the option to enable/disable it\n// whenever possible. However these particular (virtual) model ids with the\n// `:thinking` suffix always require the reasoning budget to be enabled, so\n// for backwards compatibility we should still require it.\n// We should *not* be adding new models to this set.\nexport const OPEN_ROUTER_REQUIRED_REASONING_BUDGET_MODELS = new Set([\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"google/gemini-2.5-pro\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n])\n\nexport const OPEN_ROUTER_REASONING_BUDGET_MODELS = new Set([\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-opus-4\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"google/gemini-2.5-pro-preview\",\n\t\"google/gemini-2.5-pro\",\n\t\"google/gemini-2.5-flash-preview-05-20\",\n\t\"google/gemini-2.5-flash\",\n\t\"google/gemini-2.5-flash-lite-preview-06-17\",\n\t// Also include the models that require the reasoning budget to be enabled\n\t// even though `OPEN_ROUTER_REQUIRED_REASONING_BUDGET_MODELS` takes precedence.\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n])\n", + "import type { ModelInfo } from \"../model.js\"\n\n// Requesty\n// https://requesty.ai/router-2\nexport const requestyDefaultModelId = \"coding/claude-4-sonnet\"\n\nexport const requestyDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"The best coding model, optimized by Requesty, and automatically routed to the fastest provider. Claude 4 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities.\",\n}\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://docs.sambanova.ai/cloud/docs/get-started/supported-models\nexport type SambaNovaModelId =\n\t| \"Meta-Llama-3.1-8B-Instruct\"\n\t| \"Meta-Llama-3.3-70B-Instruct\"\n\t| \"DeepSeek-R1\"\n\t| \"DeepSeek-V3-0324\"\n\t| \"DeepSeek-R1-Distill-Llama-70B\"\n\t| \"Llama-4-Maverick-17B-128E-Instruct\"\n\t| \"Llama-3.3-Swallow-70B-Instruct-v0.4\"\n\t| \"Qwen3-32B\"\n\nexport const sambaNovaDefaultModelId: SambaNovaModelId = \"Meta-Llama-3.3-70B-Instruct\"\n\nexport const sambaNovaModels = {\n\t\"Meta-Llama-3.1-8B-Instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 16384,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.2,\n\t\tdescription: \"Meta Llama 3.1 8B Instruct model with 16K context window.\",\n\t},\n\t\"Meta-Llama-3.3-70B-Instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 1.2,\n\t\tdescription: \"Meta Llama 3.3 70B Instruct model with 128K context window.\",\n\t},\n\t\"DeepSeek-R1\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 5.0,\n\t\toutputPrice: 7.0,\n\t\tdescription: \"DeepSeek R1 reasoning model with 32K context window.\",\n\t},\n\t\"DeepSeek-V3-0324\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 4.5,\n\t\tdescription: \"DeepSeek V3 model with 32K context window.\",\n\t},\n\t\"DeepSeek-R1-Distill-Llama-70B\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.7,\n\t\toutputPrice: 1.4,\n\t\tdescription: \"DeepSeek R1 distilled Llama 70B model with 128K context window.\",\n\t},\n\t\"Llama-4-Maverick-17B-128E-Instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.63,\n\t\toutputPrice: 1.8,\n\t\tdescription: \"Meta Llama 4 Maverick 17B 128E Instruct model with 128K context window.\",\n\t},\n\t\"Llama-3.3-Swallow-70B-Instruct-v0.4\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 16384,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 1.2,\n\t\tdescription: \"Tokyotech Llama 3.3 Swallow 70B Instruct v0.4 model with 16K context window.\",\n\t},\n\t\"Qwen3-32B\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8192,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 0.8,\n\t\tdescription: \"Alibaba Qwen 3 32B model with 8K context window.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\n\nexport const unboundDefaultModelId = \"anthropic/claude-3-7-sonnet-20250219\"\n\nexport const unboundDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n}\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude\nexport type VertexModelId = keyof typeof vertexModels\n\nexport const vertexDefaultModelId: VertexModelId = \"claude-sonnet-4@20250514\"\n\nexport const vertexModels = {\n\t\"gemini-2.5-flash-preview-05-20:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-05-20\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-flash\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 2.5,\n\t\tcacheReadsPrice: 0.075,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-pro-preview-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t},\n\t\"gemini-2.5-pro-preview-05-06\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t},\n\t\"gemini-2.5-pro-preview-06-05\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-exp-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-pro-exp-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.0-flash-lite-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.075,\n\t\toutputPrice: 0.3,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-01-21\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32_768,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.075,\n\t\toutputPrice: 0.3,\n\t},\n\t\"gemini-1.5-pro-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.25,\n\t\toutputPrice: 5,\n\t},\n\t\"claude-sonnet-4@20250514\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-opus-4@20250514\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-7-sonnet@20250219:thinking\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet@20250219\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-sonnet-v2@20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-sonnet@20240620\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-haiku@20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 5.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"claude-3-opus@20240229\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-haiku@20240307\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t\tcacheWritesPrice: 0.3,\n\t\tcacheReadsPrice: 0.03,\n\t},\n\t\"gemini-2.5-flash-lite-preview-06-17\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"llama-4-maverick-17b-128e-instruct-maas\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.35,\n\t\toutputPrice: 1.15,\n\t\tdescription: \"Meta Llama 4 Maverick 17B Instruct model, 128K context.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const VERTEX_REGIONS = [\n\t{ value: \"global\", label: \"global\" },\n\t{ value: \"us-central1\", label: \"us-central1\" },\n\t{ value: \"us-east1\", label: \"us-east1\" },\n\t{ value: \"us-east4\", label: \"us-east4\" },\n\t{ value: \"us-east5\", label: \"us-east5\" },\n\t{ value: \"us-west1\", label: \"us-west1\" },\n\t{ value: \"us-west2\", label: \"us-west2\" },\n\t{ value: \"us-west3\", label: \"us-west3\" },\n\t{ value: \"us-west4\", label: \"us-west4\" },\n\t{ value: \"northamerica-northeast1\", label: \"northamerica-northeast1\" },\n\t{ value: \"northamerica-northeast2\", label: \"northamerica-northeast2\" },\n\t{ value: \"southamerica-east1\", label: \"southamerica-east1\" },\n\t{ value: \"europe-west1\", label: \"europe-west1\" },\n\t{ value: \"europe-west2\", label: \"europe-west2\" },\n\t{ value: \"europe-west3\", label: \"europe-west3\" },\n\t{ value: \"europe-west4\", label: \"europe-west4\" },\n\t{ value: \"europe-west6\", label: \"europe-west6\" },\n\t{ value: \"europe-central2\", label: \"europe-central2\" },\n\t{ value: \"asia-east1\", label: \"asia-east1\" },\n\t{ value: \"asia-east2\", label: \"asia-east2\" },\n\t{ value: \"asia-northeast1\", label: \"asia-northeast1\" },\n\t{ value: \"asia-northeast2\", label: \"asia-northeast2\" },\n\t{ value: \"asia-northeast3\", label: \"asia-northeast3\" },\n\t{ value: \"asia-south1\", label: \"asia-south1\" },\n\t{ value: \"asia-south2\", label: \"asia-south2\" },\n\t{ value: \"asia-southeast1\", label: \"asia-southeast1\" },\n\t{ value: \"asia-southeast2\", label: \"asia-southeast2\" },\n\t{ value: \"australia-southeast1\", label: \"australia-southeast1\" },\n\t{ value: \"australia-southeast2\", label: \"australia-southeast2\" },\n\t{ value: \"me-west1\", label: \"me-west1\" },\n\t{ value: \"me-central1\", label: \"me-central1\" },\n\t{ value: \"africa-south1\", label: \"africa-south1\" },\n]\n", + "import type { ModelInfo } from \"../model.js\"\n\nexport type VscodeLlmModelId = keyof typeof vscodeLlmModels\n\nexport const vscodeLlmDefaultModelId: VscodeLlmModelId = \"claude-3.5-sonnet\"\n\nexport const vscodeLlmModels = {\n\t\"gpt-3.5-turbo\": {\n\t\tcontextWindow: 12114,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-3.5-turbo\",\n\t\tversion: \"gpt-3.5-turbo-0613\",\n\t\tname: \"GPT 3.5 Turbo\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 12114,\n\t},\n\t\"gpt-4o-mini\": {\n\t\tcontextWindow: 12115,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4o-mini\",\n\t\tversion: \"gpt-4o-mini-2024-07-18\",\n\t\tname: \"GPT-4o mini\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 12115,\n\t},\n\t\"gpt-4\": {\n\t\tcontextWindow: 28501,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4\",\n\t\tversion: \"gpt-4-0613\",\n\t\tname: \"GPT 4\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 28501,\n\t},\n\t\"gpt-4-0125-preview\": {\n\t\tcontextWindow: 63826,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4-turbo\",\n\t\tversion: \"gpt-4-0125-preview\",\n\t\tname: \"GPT 4 Turbo\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63826,\n\t},\n\t\"gpt-4o\": {\n\t\tcontextWindow: 63827,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4o\",\n\t\tversion: \"gpt-4o-2024-11-20\",\n\t\tname: \"GPT-4o\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63827,\n\t},\n\to1: {\n\t\tcontextWindow: 19827,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o1-ga\",\n\t\tversion: \"o1-2024-12-17\",\n\t\tname: \"o1 (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 19827,\n\t},\n\t\"o3-mini\": {\n\t\tcontextWindow: 63827,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o3-mini\",\n\t\tversion: \"o3-mini-2025-01-31\",\n\t\tname: \"o3-mini\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63827,\n\t},\n\t\"claude-3.5-sonnet\": {\n\t\tcontextWindow: 81638,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"claude-3.5-sonnet\",\n\t\tversion: \"claude-3.5-sonnet\",\n\t\tname: \"Claude 3.5 Sonnet\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 81638,\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tcontextWindow: 127827,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gemini-2.0-flash\",\n\t\tversion: \"gemini-2.0-flash-001\",\n\t\tname: \"Gemini 2.0 Flash\",\n\t\tsupportsToolCalling: false,\n\t\tmaxInputTokens: 127827,\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tcontextWindow: 63830,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gemini-2.5-pro\",\n\t\tversion: \"gemini-2.5-pro-preview-03-25\",\n\t\tname: \"Gemini 2.5 Pro (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63830,\n\t},\n\t\"o4-mini\": {\n\t\tcontextWindow: 111446,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o4-mini\",\n\t\tversion: \"o4-mini-2025-04-16\",\n\t\tname: \"o4-mini (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 111446,\n\t},\n\t\"gpt-4.1\": {\n\t\tcontextWindow: 111446,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4.1\",\n\t\tversion: \"gpt-4.1-2025-04-14\",\n\t\tname: \"GPT-4.1 (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 111446,\n\t},\n} as const satisfies Record<\n\tstring,\n\tModelInfo & {\n\t\tfamily: string\n\t\tversion: string\n\t\tname: string\n\t\tsupportsToolCalling: boolean\n\t\tmaxInputTokens: number\n\t}\n>\n", + "import type { ModelInfo } from \"../model.js\"\n\n// https://docs.x.ai/docs/api-reference\nexport type XAIModelId = keyof typeof xaiModels\n\nexport const xaiDefaultModelId: XAIModelId = \"grok-4\"\n\nexport const xaiModels = {\n\t\"grok-4\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 0.75,\n\t\tcacheReadsPrice: 0.75,\n\t\tdescription: \"xAI's Grok-4 model with 256K context window\",\n\t},\n\t\"grok-3\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 0.75,\n\t\tcacheReadsPrice: 0.75,\n\t\tdescription: \"xAI's Grok-3 model with 128K context window\",\n\t},\n\t\"grok-3-fast\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 5.0,\n\t\toutputPrice: 25.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 1.25,\n\t\tdescription: \"xAI's Grok-3 fast model with 128K context window\",\n\t},\n\t\"grok-3-mini\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.5,\n\t\tcacheWritesPrice: 0.07,\n\t\tcacheReadsPrice: 0.07,\n\t\tdescription: \"xAI's Grok-3 mini model with 128K context window\",\n\t\tsupportsReasoningEffort: true,\n\t},\n\t\"grok-3-mini-fast\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 0.15,\n\t\tcacheReadsPrice: 0.15,\n\t\tdescription: \"xAI's Grok-3 mini fast model with 128K context window\",\n\t\tsupportsReasoningEffort: true,\n\t},\n\t\"grok-2-1212\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 10.0,\n\t\tdescription: \"xAI's Grok-2 model (version 1212) with 128K context window\",\n\t},\n\t\"grok-2-vision-1212\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 10.0,\n\t\tdescription: \"xAI's Grok-2 Vision model (version 1212) with image support and 32K context window\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "import type { ModelInfo } from \"../model.js\"\n\nexport const doubaoDefaultModelId = \"doubao-seed-1-6-250615\"\n\nexport const doubaoModels = {\n\t\"doubao-seed-1-6-250615\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.0001, // $0.0001 per million tokens (cache miss)\n\t\toutputPrice: 0.0004, // $0.0004 per million tokens\n\t\tcacheWritesPrice: 0.0001, // $0.0001 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.00002, // $0.00002 per million tokens (cache hit)\n\t\tdescription: `Doubao Seed 1.6 is a powerful model designed for high-performance tasks with extensive context handling.`,\n\t},\n\t\"doubao-seed-1-6-thinking-250715\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.0002, // $0.0002 per million tokens\n\t\toutputPrice: 0.0008, // $0.0008 per million tokens\n\t\tcacheWritesPrice: 0.0002, // $0.0002 per million\n\t\tcacheReadsPrice: 0.00004, // $0.00004 per million tokens (cache hit)\n\t\tdescription: `Doubao Seed 1.6 Thinking is optimized for reasoning tasks, providing enhanced performance in complex problem-solving scenarios.`,\n\t},\n\t\"doubao-seed-1-6-flash-250715\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.00015, // $0.00015 per million tokens\n\t\toutputPrice: 0.0006, // $0.0006 per million tokens\n\t\tcacheWritesPrice: 0.00015, // $0.00015 per million\n\t\tcacheReadsPrice: 0.00003, // $0.00003 per million tokens (cache hit)\n\t\tdescription: `Doubao Seed 1.6 Flash is tailored for speed and efficiency, making it ideal for applications requiring rapid responses.`,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const doubaoDefaultModelInfo: ModelInfo = doubaoModels[doubaoDefaultModelId]\n\nexport const DOUBAO_API_BASE_URL = \"https://ark.cn-beijing.volces.com/api/v3\"\nexport const DOUBAO_API_CHAT_PATH = \"/chat/completions\"\n", + "import type { ModelInfo } from \"../model.js\"\n\n// Z AI\n// https://docs.z.ai/guides/llm/glm-4.5\n// https://docs.z.ai/guides/overview/pricing\n\nexport type InternationalZAiModelId = keyof typeof internationalZAiModels\nexport const internationalZAiDefaultModelId: InternationalZAiModelId = \"glm-4.5\"\nexport const internationalZAiModels = {\n\t\"glm-4.5\": {\n\t\tmaxTokens: 98_304,\n\t\tcontextWindow: 131_072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 2.2,\n\t\tcacheWritesPrice: 0,\n\t\tcacheReadsPrice: 0.11,\n\t\tdescription:\n\t\t\t\"GLM-4.5 is Zhipu's latest featured model. Its comprehensive capabilities in reasoning, coding, and agent reach the state-of-the-art (SOTA) level among open-source models, with a context length of up to 128k.\",\n\t},\n\t\"glm-4.5-air\": {\n\t\tmaxTokens: 98_304,\n\t\tcontextWindow: 131_072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 1.1,\n\t\tcacheWritesPrice: 0,\n\t\tcacheReadsPrice: 0.03,\n\t\tdescription:\n\t\t\t\"GLM-4.5-Air is the lightweight version of GLM-4.5. It balances performance and cost-effectiveness, and can flexibly switch to hybrid thinking models.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport type MainlandZAiModelId = keyof typeof mainlandZAiModels\nexport const mainlandZAiDefaultModelId: MainlandZAiModelId = \"glm-4.5\"\nexport const mainlandZAiModels = {\n\t\"glm-4.5\": {\n\t\tmaxTokens: 98_304,\n\t\tcontextWindow: 131_072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 1.14,\n\t\tcacheWritesPrice: 0,\n\t\tcacheReadsPrice: 0.057,\n\t\tdescription:\n\t\t\t\"GLM-4.5 is Zhipu's latest featured model. Its comprehensive capabilities in reasoning, coding, and agent reach the state-of-the-art (SOTA) level among open-source models, with a context length of up to 128k.\",\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 32_000,\n\t\t\t\tinputPrice: 0.21,\n\t\t\t\toutputPrice: 1.0,\n\t\t\t\tcacheReadsPrice: 0.043,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: 128_000,\n\t\t\t\tinputPrice: 0.29,\n\t\t\t\toutputPrice: 1.14,\n\t\t\t\tcacheReadsPrice: 0.057,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 0.29,\n\t\t\t\toutputPrice: 1.14,\n\t\t\t\tcacheReadsPrice: 0.057,\n\t\t\t},\n\t\t],\n\t},\n\t\"glm-4.5-air\": {\n\t\tmaxTokens: 98_304,\n\t\tcontextWindow: 131_072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.6,\n\t\tcacheWritesPrice: 0,\n\t\tcacheReadsPrice: 0.02,\n\t\tdescription:\n\t\t\t\"GLM-4.5-Air is the lightweight version of GLM-4.5. It balances performance and cost-effectiveness, and can flexibly switch to hybrid thinking models.\",\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 32_000,\n\t\t\t\tinputPrice: 0.07,\n\t\t\t\toutputPrice: 0.4,\n\t\t\t\tcacheReadsPrice: 0.014,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: 128_000,\n\t\t\t\tinputPrice: 0.1,\n\t\t\t\toutputPrice: 0.6,\n\t\t\t\tcacheReadsPrice: 0.02,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 0.1,\n\t\t\t\toutputPrice: 0.6,\n\t\t\t\tcacheReadsPrice: 0.02,\n\t\t\t},\n\t\t],\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const ZAI_DEFAULT_TEMPERATURE = 0\n", + "import type { ModelInfo } from \"../model.js\"\n\nexport type FireworksModelId =\n\t| \"accounts/fireworks/models/kimi-k2-instruct\"\n\t| \"accounts/fireworks/models/qwen3-235b-a22b-instruct-2507\"\n\t| \"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct\"\n\t| \"accounts/fireworks/models/deepseek-r1-0528\"\n\t| \"accounts/fireworks/models/deepseek-v3\"\n\nexport const fireworksDefaultModelId: FireworksModelId = \"accounts/fireworks/models/kimi-k2-instruct\"\n\nexport const fireworksModels = {\n\t\"accounts/fireworks/models/kimi-k2-instruct\": {\n\t\tmaxTokens: 16384,\n\t\tcontextWindow: 128000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 2.5,\n\t\tdescription:\n\t\t\t\"Kimi K2 is a state-of-the-art mixture-of-experts (MoE) language model with 32 billion activated parameters and 1 trillion total parameters. Trained with the Muon optimizer, Kimi K2 achieves exceptional performance across frontier knowledge, reasoning, and coding tasks while being meticulously optimized for agentic capabilities.\",\n\t},\n\t\"accounts/fireworks/models/qwen3-235b-a22b-instruct-2507\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.22,\n\t\toutputPrice: 0.88,\n\t\tdescription: \"Latest Qwen3 thinking model, competitive against the best closed source models in Jul 2025.\",\n\t},\n\t\"accounts/fireworks/models/qwen3-coder-480b-a35b-instruct\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.45,\n\t\toutputPrice: 1.8,\n\t\tdescription: \"Qwen3's most agentic code model to date.\",\n\t},\n\t\"accounts/fireworks/models/deepseek-r1-0528\": {\n\t\tmaxTokens: 20480,\n\t\tcontextWindow: 160000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3,\n\t\toutputPrice: 8,\n\t\tdescription:\n\t\t\t\"05/28 updated checkpoint of Deepseek R1. Its overall performance is now approaching that of leading models, such as O3 and Gemini 2.5 Pro. Compared to the previous version, the upgraded model shows significant improvements in handling complex reasoning tasks, and this version also offers a reduced hallucination rate, enhanced support for function calling, and better experience for vibe coding. Note that fine-tuning for this model is only available through contacting fireworks at https://fireworks.ai/company/contact-us.\",\n\t},\n\t\"accounts/fireworks/models/deepseek-v3\": {\n\t\tmaxTokens: 16384,\n\t\tcontextWindow: 128000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.9,\n\t\toutputPrice: 0.9,\n\t\tdescription:\n\t\t\t\"A strong Mixture-of-Experts (MoE) language model with 671B total parameters with 37B activated for each token from Deepseek. Note that fine-tuning for this model is only available through contacting fireworks at https://fireworks.ai/company/contact-us.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n", + "/**\n * Returns the index of the last element in the array where predicate is true, and -1\n * otherwise.\n * @param array The source array to search in\n * @param predicate find calls predicate once for each element of the array, in descending\n * order, until it finds one where predicate returns true. If such an element is found,\n * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n */\nexport function findLastIndex<T>(array: Array<T>, predicate: (value: T, index: number, obj: T[]) => boolean): number {\n\tlet l = array.length\n\twhile (l--) {\n\t\tif (predicate(array[l], l, array)) {\n\t\t\treturn l\n\t\t}\n\t}\n\treturn -1\n}\n\nexport function findLast<T>(array: Array<T>, predicate: (value: T, index: number, obj: T[]) => boolean): T | undefined {\n\tconst index = findLastIndex(array, predicate)\n\treturn index === -1 ? undefined : array[index]\n}\n", + "import { SECRET_STATE_KEYS, ProviderSettings } from \"@roo-code/types\"\n\nexport function checkExistKey(config: ProviderSettings | undefined) {\n\tif (!config) {\n\t\treturn false\n\t}\n\n\t// Special case for human-relay, fake-ai, and claude-code providers which don't need any configuration.\n\tif (config.apiProvider && [\"human-relay\", \"fake-ai\", \"claude-code\"].includes(config.apiProvider)) {\n\t\treturn true\n\t}\n\n\t// Check all secret keys from the centralized SECRET_STATE_KEYS array.\n\tconst hasSecretKey = SECRET_STATE_KEYS.some((key) => config[key] !== undefined)\n\n\t// Check additional non-secret configuration properties\n\tconst hasOtherConfig = [\n\t\tconfig.awsRegion,\n\t\tconfig.vertexProjectId,\n\t\tconfig.ollamaModelId,\n\t\tconfig.lmStudioModelId,\n\t\tconfig.vsCodeLmModelSelector,\n\t].some((value) => value !== undefined)\n\n\treturn hasSecretKey || hasOtherConfig\n}\n", + "import { type Language, isLanguage } from \"@roo-code/types\"\n\n/**\n * Language name mapping from ISO codes to full language names.\n */\n\nexport const LANGUAGES: Record<Language, string> = {\n\tca: \"Català\",\n\tde: \"Deutsch\",\n\ten: \"English\",\n\tes: \"Español\",\n\tfr: \"Français\",\n\thi: \"हिन्दी\",\n\tid: \"Bahasa Indonesia\",\n\tit: \"Italiano\",\n\tja: \"日本語\",\n\tko: \"한국어\",\n\tnl: \"Nederlands\",\n\tpl: \"Polski\",\n\t\"pt-BR\": \"Português\",\n\tru: \"Русский\",\n\ttr: \"Türkçe\",\n\tvi: \"Tiếng Việt\",\n\t\"zh-CN\": \"简体中文\",\n\t\"zh-TW\": \"繁體中文\",\n}\n\n/**\n * Formats a VSCode locale string to ensure the region code is uppercase.\n * For example, transforms \"en-us\" to \"en-US\" or \"fr-ca\" to \"fr-CA\".\n *\n * @param vscodeLocale - The VSCode locale string to format (e.g., \"en-us\", \"fr-ca\")\n * @returns The formatted locale string with uppercase region code\n */\n\nexport function formatLanguage(vscodeLocale: string): Language {\n\tif (!vscodeLocale) {\n\t\treturn \"en\"\n\t}\n\n\tconst formattedLocale = vscodeLocale.replace(/-(\\w+)$/, (_, region) => `-${region.toUpperCase()}`)\n\treturn isLanguage(formattedLocale) ? formattedLocale : \"en\"\n}\n", + "import type { AssertEqual, Equals, Keys, Values, ExperimentId, Experiments } from \"@roo-code/types\"\n\nexport const EXPERIMENT_IDS = {\n\tMULTI_FILE_APPLY_DIFF: \"multiFileApplyDiff\",\n\tPOWER_STEERING: \"powerSteering\",\n\tPREVENT_FOCUS_DISRUPTION: \"preventFocusDisruption\",\n\tASSISTANT_MESSAGE_PARSER: \"assistantMessageParser\",\n} as const satisfies Record<string, ExperimentId>\n\ntype _AssertExperimentIds = AssertEqual<Equals<ExperimentId, Values<typeof EXPERIMENT_IDS>>>\n\ntype ExperimentKey = Keys<typeof EXPERIMENT_IDS>\n\ninterface ExperimentConfig {\n\tenabled: boolean\n}\n\nexport const experimentConfigsMap: Record<ExperimentKey, ExperimentConfig> = {\n\tMULTI_FILE_APPLY_DIFF: { enabled: false },\n\tPOWER_STEERING: { enabled: false },\n\tPREVENT_FOCUS_DISRUPTION: { enabled: false },\n\tASSISTANT_MESSAGE_PARSER: { enabled: false },\n}\n\nexport const experimentDefault = Object.fromEntries(\n\tObject.entries(experimentConfigsMap).map(([_, config]) => [\n\t\tEXPERIMENT_IDS[_ as keyof typeof EXPERIMENT_IDS] as ExperimentId,\n\t\tconfig.enabled,\n\t]),\n) as Record<ExperimentId, boolean>\n\nexport const experiments = {\n\tget: (id: ExperimentKey): ExperimentConfig | undefined => experimentConfigsMap[id],\n\tisEnabled: (experimentsConfig: Experiments, id: ExperimentId) => experimentsConfig[id] ?? experimentDefault[id],\n} as const\n", + "import { Anthropic } from \"@anthropic-ai/sdk\"\n\nimport type { ClineAsk, ToolProgressStatus, ToolGroup, ToolName } from \"@roo-code/types\"\n\nexport type ToolResponse = string | Array<Anthropic.TextBlockParam | Anthropic.ImageBlockParam>\n\nexport type AskApproval = (\n\ttype: ClineAsk,\n\tpartialMessage?: string,\n\tprogressStatus?: ToolProgressStatus,\n\tforceApproval?: boolean,\n) => Promise<boolean>\n\nexport type HandleError = (action: string, error: Error) => Promise<void>\n\nexport type PushToolResult = (content: ToolResponse) => void\n\nexport type RemoveClosingTag = (tag: ToolParamName, content?: string) => string\n\nexport type AskFinishSubTaskApproval = () => Promise<boolean>\n\nexport type ToolDescription = () => string\n\nexport interface TextContent {\n\ttype: \"text\"\n\tcontent: string\n\tpartial: boolean\n}\n\nexport const toolParamNames = [\n\t\"command\",\n\t\"path\",\n\t\"content\",\n\t\"line_count\",\n\t\"regex\",\n\t\"file_pattern\",\n\t\"recursive\",\n\t\"action\",\n\t\"url\",\n\t\"coordinate\",\n\t\"text\",\n\t\"server_name\",\n\t\"tool_name\",\n\t\"arguments\",\n\t\"uri\",\n\t\"question\",\n\t\"result\",\n\t\"diff\",\n\t\"mode_slug\",\n\t\"reason\",\n\t\"line\",\n\t\"mode\",\n\t\"message\",\n\t\"cwd\",\n\t\"follow_up\",\n\t\"task\",\n\t\"size\",\n\t\"search\",\n\t\"replace\",\n\t\"use_regex\",\n\t\"ignore_case\",\n\t\"args\",\n\t\"start_line\",\n\t\"end_line\",\n\t\"query\",\n\t\"args\",\n\t\"todos\",\n] as const\n\nexport type ToolParamName = (typeof toolParamNames)[number]\n\nexport interface ToolUse {\n\ttype: \"tool_use\"\n\tname: ToolName\n\t// params is a partial record, allowing only some or none of the possible parameters to be used\n\tparams: Partial<Record<ToolParamName, string>>\n\tpartial: boolean\n}\n\nexport interface ExecuteCommandToolUse extends ToolUse {\n\tname: \"execute_command\"\n\t// Pick<Record<ToolParamName, string>, \"command\"> makes \"command\" required, but Partial<> makes it optional\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"command\" | \"cwd\">>\n}\n\nexport interface ReadFileToolUse extends ToolUse {\n\tname: \"read_file\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"args\" | \"path\" | \"start_line\" | \"end_line\">>\n}\n\nexport interface FetchInstructionsToolUse extends ToolUse {\n\tname: \"fetch_instructions\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"task\">>\n}\n\nexport interface WriteToFileToolUse extends ToolUse {\n\tname: \"write_to_file\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"path\" | \"content\" | \"line_count\">>\n}\n\nexport interface InsertCodeBlockToolUse extends ToolUse {\n\tname: \"insert_content\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"path\" | \"line\" | \"content\">>\n}\n\nexport interface CodebaseSearchToolUse extends ToolUse {\n\tname: \"codebase_search\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"query\" | \"path\">>\n}\n\nexport interface SearchFilesToolUse extends ToolUse {\n\tname: \"search_files\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"path\" | \"regex\" | \"file_pattern\">>\n}\n\nexport interface ListFilesToolUse extends ToolUse {\n\tname: \"list_files\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"path\" | \"recursive\">>\n}\n\nexport interface ListCodeDefinitionNamesToolUse extends ToolUse {\n\tname: \"list_code_definition_names\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"path\">>\n}\n\nexport interface BrowserActionToolUse extends ToolUse {\n\tname: \"browser_action\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"action\" | \"url\" | \"coordinate\" | \"text\" | \"size\">>\n}\n\nexport interface UseMcpToolToolUse extends ToolUse {\n\tname: \"use_mcp_tool\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"server_name\" | \"tool_name\" | \"arguments\">>\n}\n\nexport interface AccessMcpResourceToolUse extends ToolUse {\n\tname: \"access_mcp_resource\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"server_name\" | \"uri\">>\n}\n\nexport interface AskFollowupQuestionToolUse extends ToolUse {\n\tname: \"ask_followup_question\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"question\" | \"follow_up\">>\n}\n\nexport interface AttemptCompletionToolUse extends ToolUse {\n\tname: \"attempt_completion\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"result\">>\n}\n\nexport interface SwitchModeToolUse extends ToolUse {\n\tname: \"switch_mode\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"mode_slug\" | \"reason\">>\n}\n\nexport interface NewTaskToolUse extends ToolUse {\n\tname: \"new_task\"\n\tparams: Partial<Pick<Record<ToolParamName, string>, \"mode\" | \"message\">>\n}\n\nexport interface SearchAndReplaceToolUse extends ToolUse {\n\tname: \"search_and_replace\"\n\tparams: Required<Pick<Record<ToolParamName, string>, \"path\" | \"search\" | \"replace\">> &\n\t\tPartial<Pick<Record<ToolParamName, string>, \"use_regex\" | \"ignore_case\" | \"start_line\" | \"end_line\">>\n}\n\n// Define tool group configuration\nexport type ToolGroupConfig = {\n\ttools: readonly string[]\n\talwaysAvailable?: boolean // Whether this group is always available and shouldn't show in prompts view\n}\n\nexport const TOOL_DISPLAY_NAMES: Record<ToolName, string> = {\n\texecute_command: \"run commands\",\n\tread_file: \"read files\",\n\tfetch_instructions: \"fetch instructions\",\n\twrite_to_file: \"write files\",\n\tapply_diff: \"apply changes\",\n\tsearch_files: \"search files\",\n\tlist_files: \"list files\",\n\tlist_code_definition_names: \"list definitions\",\n\tbrowser_action: \"use a browser\",\n\tuse_mcp_tool: \"use mcp tools\",\n\taccess_mcp_resource: \"access mcp resources\",\n\task_followup_question: \"ask questions\",\n\tattempt_completion: \"complete tasks\",\n\tswitch_mode: \"switch modes\",\n\tnew_task: \"create new task\",\n\tinsert_content: \"insert content\",\n\tsearch_and_replace: \"search and replace\",\n\tcodebase_search: \"codebase search\",\n\tupdate_todo_list: \"update todo list\",\n} as const\n\n// Define available tool groups.\nexport const TOOL_GROUPS: Record<ToolGroup, ToolGroupConfig> = {\n\tread: {\n\t\ttools: [\n\t\t\t\"read_file\",\n\t\t\t\"fetch_instructions\",\n\t\t\t\"search_files\",\n\t\t\t\"list_files\",\n\t\t\t\"list_code_definition_names\",\n\t\t\t\"codebase_search\",\n\t\t],\n\t},\n\tedit: {\n\t\ttools: [\"apply_diff\", \"write_to_file\", \"insert_content\", \"search_and_replace\"],\n\t},\n\tbrowser: {\n\t\ttools: [\"browser_action\"],\n\t},\n\tcommand: {\n\t\ttools: [\"execute_command\"],\n\t},\n\tmcp: {\n\t\ttools: [\"use_mcp_tool\", \"access_mcp_resource\"],\n\t},\n\tmodes: {\n\t\ttools: [\"switch_mode\", \"new_task\"],\n\t\talwaysAvailable: true,\n\t},\n}\n\n// Tools that are always available to all modes.\nexport const ALWAYS_AVAILABLE_TOOLS: ToolName[] = [\n\t\"ask_followup_question\",\n\t\"attempt_completion\",\n\t\"switch_mode\",\n\t\"new_task\",\n\t\"update_todo_list\",\n] as const\n\nexport type DiffResult =\n\t| { success: true; content: string; failParts?: DiffResult[] }\n\t| ({\n\t\t\tsuccess: false\n\t\t\terror?: string\n\t\t\tdetails?: {\n\t\t\t\tsimilarity?: number\n\t\t\t\tthreshold?: number\n\t\t\t\tmatchedRange?: { start: number; end: number }\n\t\t\t\tsearchContent?: string\n\t\t\t\tbestMatch?: string\n\t\t\t}\n\t\t\tfailParts?: DiffResult[]\n\t } & ({ error: string } | { failParts: DiffResult[] }))\n\nexport interface DiffItem {\n\tcontent: string\n\tstartLine?: number\n}\n\nexport interface DiffStrategy {\n\t/**\n\t * Get the name of this diff strategy for analytics and debugging\n\t * @returns The name of the diff strategy\n\t */\n\tgetName(): string\n\n\t/**\n\t * Get the tool description for this diff strategy\n\t * @param args The tool arguments including cwd and toolOptions\n\t * @returns The complete tool description including format requirements and examples\n\t */\n\tgetToolDescription(args: { cwd: string; toolOptions?: { [key: string]: string } }): string\n\n\t/**\n\t * Apply a diff to the original content\n\t * @param originalContent The original file content\n\t * @param diffContent The diff content in the strategy's format (string for legacy, DiffItem[] for new)\n\t * @param startLine Optional line number where the search block starts. If not provided, searches the entire file.\n\t * @param endLine Optional line number where the search block ends. If not provided, searches the entire file.\n\t * @returns A DiffResult object containing either the successful result or error details\n\t */\n\tapplyDiff(\n\t\toriginalContent: string,\n\t\tdiffContent: string | DiffItem[],\n\t\tstartLine?: number,\n\t\tendLine?: number,\n\t): Promise<DiffResult>\n\n\tgetProgressStatus?(toolUse: ToolUse, result?: any): ToolProgressStatus\n}\n", + "import * as vscode from \"vscode\"\n\nimport {\n\ttype GroupOptions,\n\ttype GroupEntry,\n\ttype ModeConfig,\n\ttype CustomModePrompts,\n\ttype ExperimentId,\n\ttype ToolGroup,\n\ttype PromptComponent,\n\tDEFAULT_MODES,\n} from \"@roo-code/types\"\n\nimport { addCustomInstructions } from \"../core/prompts/sections/custom-instructions\"\n\nimport { EXPERIMENT_IDS } from \"./experiments\"\nimport { TOOL_GROUPS, ALWAYS_AVAILABLE_TOOLS } from \"./tools\"\n\nexport type Mode = string\n\n// Helper to extract group name regardless of format\nexport function getGroupName(group: GroupEntry): ToolGroup {\n\tif (typeof group === \"string\") {\n\t\treturn group\n\t}\n\n\treturn group[0]\n}\n\n// Helper to get group options if they exist\nfunction getGroupOptions(group: GroupEntry): GroupOptions | undefined {\n\treturn Array.isArray(group) ? group[1] : undefined\n}\n\n// Helper to check if a file path matches a regex pattern\nexport function doesFileMatchRegex(filePath: string, pattern: string): boolean {\n\ttry {\n\t\tconst regex = new RegExp(pattern)\n\t\treturn regex.test(filePath)\n\t} catch (error) {\n\t\tconsole.error(`Invalid regex pattern: ${pattern}`, error)\n\t\treturn false\n\t}\n}\n\n// Helper to get all tools for a mode\nexport function getToolsForMode(groups: readonly GroupEntry[]): string[] {\n\tconst tools = new Set<string>()\n\n\t// Add tools from each group\n\tgroups.forEach((group) => {\n\t\tconst groupName = getGroupName(group)\n\t\tconst groupConfig = TOOL_GROUPS[groupName]\n\t\tgroupConfig.tools.forEach((tool: string) => tools.add(tool))\n\t})\n\n\t// Always add required tools\n\tALWAYS_AVAILABLE_TOOLS.forEach((tool) => tools.add(tool))\n\n\treturn Array.from(tools)\n}\n\n// Main modes configuration as an ordered array\nexport const modes = DEFAULT_MODES\n\n// Export the default mode slug\nexport const defaultModeSlug = modes[0].slug\n\n// Helper functions\nexport function getModeBySlug(slug: string, customModes?: ModeConfig[]): ModeConfig | undefined {\n\t// Check custom modes first\n\tconst customMode = customModes?.find((mode) => mode.slug === slug)\n\tif (customMode) {\n\t\treturn customMode\n\t}\n\t// Then check built-in modes\n\treturn modes.find((mode) => mode.slug === slug)\n}\n\nexport function getModeConfig(slug: string, customModes?: ModeConfig[]): ModeConfig {\n\tconst mode = getModeBySlug(slug, customModes)\n\tif (!mode) {\n\t\tthrow new Error(`No mode found for slug: ${slug}`)\n\t}\n\treturn mode\n}\n\n// Get all available modes, with custom modes overriding built-in modes\nexport function getAllModes(customModes?: ModeConfig[]): ModeConfig[] {\n\tif (!customModes?.length) {\n\t\treturn [...modes]\n\t}\n\n\t// Start with built-in modes\n\tconst allModes = [...modes]\n\n\t// Process custom modes\n\tcustomModes.forEach((customMode) => {\n\t\tconst index = allModes.findIndex((mode) => mode.slug === customMode.slug)\n\t\tif (index !== -1) {\n\t\t\t// Override existing mode\n\t\t\tallModes[index] = customMode\n\t\t} else {\n\t\t\t// Add new mode\n\t\t\tallModes.push(customMode)\n\t\t}\n\t})\n\n\treturn allModes\n}\n\n// Check if a mode is custom or an override\nexport function isCustomMode(slug: string, customModes?: ModeConfig[]): boolean {\n\treturn !!customModes?.some((mode) => mode.slug === slug)\n}\n\n/**\n * Find a mode by its slug, don't fall back to built-in modes\n */\nexport function findModeBySlug(slug: string, modes: readonly ModeConfig[] | undefined): ModeConfig | undefined {\n\treturn modes?.find((mode) => mode.slug === slug)\n}\n\n/**\n * Get the mode selection based on the provided mode slug, prompt component, and custom modes.\n * If a custom mode is found, it takes precedence over the built-in modes.\n * If no custom mode is found, the built-in mode is used with partial merging from promptComponent.\n * If neither is found, the default mode is used.\n */\nexport function getModeSelection(mode: string, promptComponent?: PromptComponent, customModes?: ModeConfig[]) {\n\tconst customMode = findModeBySlug(mode, customModes)\n\tconst builtInMode = findModeBySlug(mode, modes)\n\n\t// If we have a custom mode, use it entirely\n\tif (customMode) {\n\t\treturn {\n\t\t\troleDefinition: customMode.roleDefinition || \"\",\n\t\t\tbaseInstructions: customMode.customInstructions || \"\",\n\t\t\tdescription: customMode.description || \"\",\n\t\t}\n\t}\n\n\t// Otherwise, use built-in mode as base and merge with promptComponent\n\tconst baseMode = builtInMode || modes[0] // fallback to default mode\n\n\treturn {\n\t\troleDefinition: promptComponent?.roleDefinition || baseMode.roleDefinition || \"\",\n\t\tbaseInstructions: promptComponent?.customInstructions || baseMode.customInstructions || \"\",\n\t\tdescription: baseMode.description || \"\",\n\t}\n}\n\n// Edit operation parameters that indicate an actual edit operation\nconst EDIT_OPERATION_PARAMS = [\"diff\", \"content\", \"operations\", \"search\", \"replace\", \"args\", \"line\"] as const\n\n// Custom error class for file restrictions\nexport class FileRestrictionError extends Error {\n\tconstructor(mode: string, pattern: string, description: string | undefined, filePath: string, tool?: string) {\n\t\tconst toolInfo = tool ? `Tool '${tool}' in mode '${mode}'` : `This mode (${mode})`\n\t\tsuper(\n\t\t\t`${toolInfo} can only edit files matching pattern: ${pattern}${description ? ` (${description})` : \"\"}. Got: ${filePath}`,\n\t\t)\n\t\tthis.name = \"FileRestrictionError\"\n\t}\n}\n\nexport function isToolAllowedForMode(\n\ttool: string,\n\tmodeSlug: string,\n\tcustomModes: ModeConfig[],\n\ttoolRequirements?: Record<string, boolean>,\n\ttoolParams?: Record<string, any>, // All tool parameters\n\texperiments?: Record<string, boolean>,\n): boolean {\n\t// Always allow these tools\n\tif (ALWAYS_AVAILABLE_TOOLS.includes(tool as any)) {\n\t\treturn true\n\t}\n\tif (experiments && Object.values(EXPERIMENT_IDS).includes(tool as ExperimentId)) {\n\t\tif (!experiments[tool]) {\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Check tool requirements if any exist\n\tif (toolRequirements && typeof toolRequirements === \"object\") {\n\t\tif (tool in toolRequirements && !toolRequirements[tool]) {\n\t\t\treturn false\n\t\t}\n\t} else if (toolRequirements === false) {\n\t\t// If toolRequirements is a boolean false, all tools are disabled\n\t\treturn false\n\t}\n\n\tconst mode = getModeBySlug(modeSlug, customModes)\n\tif (!mode) {\n\t\treturn false\n\t}\n\n\t// Check if tool is in any of the mode's groups and respects any group options\n\tfor (const group of mode.groups) {\n\t\tconst groupName = getGroupName(group)\n\t\tconst options = getGroupOptions(group)\n\n\t\tconst groupConfig = TOOL_GROUPS[groupName]\n\n\t\t// If the tool isn't in this group's tools, continue to next group\n\t\tif (!groupConfig.tools.includes(tool)) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// If there are no options, allow the tool\n\t\tif (!options) {\n\t\t\treturn true\n\t\t}\n\n\t\t// For the edit group, check file regex if specified\n\t\tif (groupName === \"edit\" && options.fileRegex) {\n\t\t\tconst filePath = toolParams?.path\n\t\t\t// Check if this is an actual edit operation (not just path-only for streaming)\n\t\t\tconst isEditOperation = EDIT_OPERATION_PARAMS.some((param) => toolParams?.[param])\n\n\t\t\t// Handle single file path validation\n\t\t\tif (filePath && isEditOperation && !doesFileMatchRegex(filePath, options.fileRegex)) {\n\t\t\t\tthrow new FileRestrictionError(mode.name, options.fileRegex, options.description, filePath, tool)\n\t\t\t}\n\n\t\t\t// Handle XML args parameter (used by MULTI_FILE_APPLY_DIFF experiment)\n\t\t\tif (toolParams?.args && typeof toolParams.args === \"string\") {\n\t\t\t\t// Extract file paths from XML args with improved validation\n\t\t\t\ttry {\n\t\t\t\t\tconst filePathMatches = toolParams.args.match(/<path>([^<]+)<\\/path>/g)\n\t\t\t\t\tif (filePathMatches) {\n\t\t\t\t\t\tfor (const match of filePathMatches) {\n\t\t\t\t\t\t\t// More robust path extraction with validation\n\t\t\t\t\t\t\tconst pathMatch = match.match(/<path>([^<]+)<\\/path>/)\n\t\t\t\t\t\t\tif (pathMatch && pathMatch[1]) {\n\t\t\t\t\t\t\t\tconst extractedPath = pathMatch[1].trim()\n\t\t\t\t\t\t\t\t// Validate that the path is not empty and doesn't contain invalid characters\n\t\t\t\t\t\t\t\tif (extractedPath && !extractedPath.includes(\"<\") && !extractedPath.includes(\">\")) {\n\t\t\t\t\t\t\t\t\tif (!doesFileMatchRegex(extractedPath, options.fileRegex)) {\n\t\t\t\t\t\t\t\t\t\tthrow new FileRestrictionError(\n\t\t\t\t\t\t\t\t\t\t\tmode.name,\n\t\t\t\t\t\t\t\t\t\t\toptions.fileRegex,\n\t\t\t\t\t\t\t\t\t\t\toptions.description,\n\t\t\t\t\t\t\t\t\t\t\textractedPath,\n\t\t\t\t\t\t\t\t\t\t\ttool,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// Re-throw FileRestrictionError as it's an expected validation error\n\t\t\t\t\tif (error instanceof FileRestrictionError) {\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t\t// If XML parsing fails, log the error but don't block the operation\n\t\t\t\t\tconsole.warn(`Failed to parse XML args for file restriction validation: ${error}`)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn true\n\t}\n\n\treturn false\n}\n\n// Create the mode-specific default prompts\nexport const defaultPrompts: Readonly<CustomModePrompts> = Object.freeze(\n\tObject.fromEntries(\n\t\tmodes.map((mode) => [\n\t\t\tmode.slug,\n\t\t\t{\n\t\t\t\troleDefinition: mode.roleDefinition,\n\t\t\t\twhenToUse: mode.whenToUse,\n\t\t\t\tcustomInstructions: mode.customInstructions,\n\t\t\t\tdescription: mode.description,\n\t\t\t},\n\t\t]),\n\t),\n)\n\n// Helper function to get all modes with their prompt overrides from extension state\nexport async function getAllModesWithPrompts(context: vscode.ExtensionContext): Promise<ModeConfig[]> {\n\tconst customModes = (await context.globalState.get<ModeConfig[]>(\"customModes\")) || []\n\tconst customModePrompts = (await context.globalState.get<CustomModePrompts>(\"customModePrompts\")) || {}\n\n\tconst allModes = getAllModes(customModes)\n\treturn allModes.map((mode) => ({\n\t\t...mode,\n\t\troleDefinition: customModePrompts[mode.slug]?.roleDefinition ?? mode.roleDefinition,\n\t\twhenToUse: customModePrompts[mode.slug]?.whenToUse ?? mode.whenToUse,\n\t\tcustomInstructions: customModePrompts[mode.slug]?.customInstructions ?? mode.customInstructions,\n\t\t// description is not overridable via customModePrompts, so we keep the original\n\t}))\n}\n\n// Helper function to get complete mode details with all overrides\nexport async function getFullModeDetails(\n\tmodeSlug: string,\n\tcustomModes?: ModeConfig[],\n\tcustomModePrompts?: CustomModePrompts,\n\toptions?: {\n\t\tcwd?: string\n\t\tglobalCustomInstructions?: string\n\t\tlanguage?: string\n\t},\n): Promise<ModeConfig> {\n\t// First get the base mode config from custom modes or built-in modes\n\tconst baseMode = getModeBySlug(modeSlug, customModes) || modes.find((m) => m.slug === modeSlug) || modes[0]\n\n\t// Check for any prompt component overrides\n\tconst promptComponent = customModePrompts?.[modeSlug]\n\n\t// Get the base custom instructions\n\tconst baseCustomInstructions = promptComponent?.customInstructions || baseMode.customInstructions || \"\"\n\tconst baseWhenToUse = promptComponent?.whenToUse || baseMode.whenToUse || \"\"\n\tconst baseDescription = promptComponent?.description || baseMode.description || \"\"\n\n\t// If we have cwd, load and combine all custom instructions\n\tlet fullCustomInstructions = baseCustomInstructions\n\tif (options?.cwd) {\n\t\tfullCustomInstructions = await addCustomInstructions(\n\t\t\tbaseCustomInstructions,\n\t\t\toptions.globalCustomInstructions || \"\",\n\t\t\toptions.cwd,\n\t\t\tmodeSlug,\n\t\t\t{ language: options.language },\n\t\t)\n\t}\n\n\t// Return mode with any overrides applied\n\treturn {\n\t\t...baseMode,\n\t\troleDefinition: promptComponent?.roleDefinition || baseMode.roleDefinition,\n\t\twhenToUse: baseWhenToUse,\n\t\tdescription: baseDescription,\n\t\tcustomInstructions: fullCustomInstructions,\n\t}\n}\n\n// Helper function to safely get role definition\nexport function getRoleDefinition(modeSlug: string, customModes?: ModeConfig[]): string {\n\tconst mode = getModeBySlug(modeSlug, customModes)\n\tif (!mode) {\n\t\tconsole.warn(`No mode found for slug: ${modeSlug}`)\n\t\treturn \"\"\n\t}\n\treturn mode.roleDefinition\n}\n\n// Helper function to safely get description\nexport function getDescription(modeSlug: string, customModes?: ModeConfig[]): string {\n\tconst mode = getModeBySlug(modeSlug, customModes)\n\tif (!mode) {\n\t\tconsole.warn(`No mode found for slug: ${modeSlug}`)\n\t\treturn \"\"\n\t}\n\treturn mode.description ?? \"\"\n}\n\n// Helper function to safely get whenToUse\nexport function getWhenToUse(modeSlug: string, customModes?: ModeConfig[]): string {\n\tconst mode = getModeBySlug(modeSlug, customModes)\n\tif (!mode) {\n\t\tconsole.warn(`No mode found for slug: ${modeSlug}`)\n\t\treturn \"\"\n\t}\n\treturn mode.whenToUse ?? \"\"\n}\n\n// Helper function to safely get custom instructions\nexport function getCustomInstructions(modeSlug: string, customModes?: ModeConfig[]): string {\n\tconst mode = getModeBySlug(modeSlug, customModes)\n\tif (!mode) {\n\t\tconsole.warn(`No mode found for slug: ${modeSlug}`)\n\t\treturn \"\"\n\t}\n\treturn mode.customInstructions ?? \"\"\n}\n", + "import type { WebviewApi } from \"vscode-webview\"\n\nimport { WebviewMessage } from \"@roo/WebviewMessage\"\n\n/**\n * A utility wrapper around the acquireVsCodeApi() function, which enables\n * message passing and state management between the webview and extension\n * contexts.\n *\n * This utility also enables webview code to be run in a web browser-based\n * dev server by using native web browser features that mock the functionality\n * enabled by acquireVsCodeApi.\n */\nclass VSCodeAPIWrapper {\n\tprivate readonly vsCodeApi: WebviewApi<unknown> | undefined\n\n\tconstructor() {\n\t\t// Check if the acquireVsCodeApi function exists in the current development\n\t\t// context (i.e. VS Code development window or web browser)\n\t\tif (typeof acquireVsCodeApi === \"function\") {\n\t\t\tthis.vsCodeApi = acquireVsCodeApi()\n\t\t}\n\t}\n\n\t/**\n\t * Post a message (i.e. send arbitrary data) to the owner of the webview.\n\t *\n\t * @remarks When running webview code inside a web browser, postMessage will instead\n\t * log the given message to the console.\n\t *\n\t * @param message Arbitrary data (must be JSON serializable) to send to the extension context.\n\t */\n\tpublic postMessage(message: WebviewMessage) {\n\t\tif (this.vsCodeApi) {\n\t\t\tthis.vsCodeApi.postMessage(message)\n\t\t} else {\n\t\t\tconsole.log(message)\n\t\t}\n\t}\n\n\t/**\n\t * Get the persistent state stored for this webview.\n\t *\n\t * @remarks When running webview source code inside a web browser, getState will retrieve state\n\t * from local storage (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage).\n\t *\n\t * @return The current state or `undefined` if no state has been set.\n\t */\n\tpublic getState(): unknown | undefined {\n\t\tif (this.vsCodeApi) {\n\t\t\treturn this.vsCodeApi.getState()\n\t\t} else {\n\t\t\tconst state = localStorage.getItem(\"vscodeState\")\n\t\t\treturn state ? JSON.parse(state) : undefined\n\t\t}\n\t}\n\n\t/**\n\t * Set the persistent state stored for this webview.\n\t *\n\t * @remarks When running webview source code inside a web browser, setState will set the given\n\t * state using local storage (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage).\n\t *\n\t * @param newState New persisted state. This must be a JSON serializable object. Can be retrieved\n\t * using {@link getState}.\n\t *\n\t * @return The new state.\n\t */\n\tpublic setState<T extends unknown | undefined>(newState: T): T {\n\t\tif (this.vsCodeApi) {\n\t\t\treturn this.vsCodeApi.setState(newState)\n\t\t} else {\n\t\t\tlocalStorage.setItem(\"vscodeState\", JSON.stringify(newState))\n\t\t\treturn newState\n\t\t}\n\t}\n}\n\n// Exports class singleton to prevent multiple invocations of acquireVsCodeApi.\nexport const vscode = new VSCodeAPIWrapper()\n", + "const hljsToTextMate: Record<string, string[]> = {\n\t\".hljs-comment\": [\"comment\"],\n\t\".hljs-tag\": [\"tag\"],\n\t\".hljs-doctag\": [\"keyword\"],\n\t\".hljs-keyword\": [\"keyword\"],\n\t\".hljs-meta .hljs-keyword\": [\"keyword\"],\n\t\".hljs-template-tag\": [\"keyword\"],\n\t\".hljs-template-variable\": [\"keyword\"],\n\t\".hljs-type\": [\"keyword\"],\n\t\".hljs-variable.language_\": [\"keyword\"],\n\t\".hljs-title\": [\"title\", \"function\", \"class\"],\n\t\".hljs-title.class_\": [\"title\", \"function\", \"class\", \"variable\"],\n\t\".hljs-title.class_.inherited__\": [\"title\", \"function\", \"class\", \"variable\"],\n\t\".hljs-title.function_\": [\"support.function\", \"entity.name.function\", \"title\", \"function\", \"class\"],\n\t\".hljs-built_in\": [\"support.function\", \"entity.name.function\", \"title\", \"function\", \"class\"],\n\t\".hljs-name\": [\"constant\"],\n\t\".hljs-attr\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-attribute\": [\"attribute\", \"variable\", \"operator\", \"number\"],\n\t\".hljs-literal\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-meta\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-number\": [\"constant.numeric\", \"number\", \"variable\", \"operator\"],\n\t\".hljs-operator\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-variable\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-selector-attr\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-selector-class\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-selector-id\": [\"variable\", \"operator\", \"number\"],\n\t\".hljs-regexp\": [\"string\"],\n\t\".hljs-string\": [\"string\"],\n\t\".hljs-meta .hljs-string\": [\"string\"],\n\t\".hljs-params\": [\"variable\", \"operator\", \"number\"],\n}\n\ntype FullColorTheme = {\n\trules?: {\n\t\ttoken?: string\n\t\tforeground?: string\n\t}[]\n}\n\nfunction constructTheme(tmTheme: FullColorTheme): Record<string, string> {\n\tconst rules = tmTheme[\"rules\"] || []\n\n\tconst tokenToForeground: Record<string, string> = {}\n\trules.forEach(({ token, foreground }) => {\n\t\tif (!foreground || !token) {\n\t\t\treturn\n\t\t}\n\t\ttokenToForeground[token] = foreground\n\t})\n\n\tconst theme: Record<string, string> = {}\n\tObject.keys(hljsToTextMate).forEach((className) => {\n\t\tconst tokens = hljsToTextMate[className]\n\t\tfor (const scope of tokens) {\n\t\t\tif (tokenToForeground[scope]) {\n\t\t\t\ttheme[className] = tokenToForeground[scope]\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t})\n\n\tif (Object.keys(theme).length === 0) {\n\t\treturn fallbackTheme()\n\t}\n\n\treturn theme\n}\n\nfunction fallbackTheme() {\n\tconst styles = getComputedStyle(document.body)\n\tconst backgroundColor = styles.getPropertyValue(\"--vscode-editor-background\")\n\tconst { r, g, b } = parseHexColor(backgroundColor)\n\tconst avg = (r + g + b) / 3\n\n\treturn avg >= 128\n\t\t? {\n\t\t\t\t\".hljs-comment\": \"#008000\",\n\t\t\t\t\".hljs-doctag\": \"#0000ff\",\n\t\t\t\t\".hljs-keyword\": \"#0000ff\",\n\t\t\t\t\".hljs-meta .hljs-keyword\": \"#0000ff\",\n\t\t\t\t\".hljs-template-tag\": \"#0000ff\",\n\t\t\t\t\".hljs-template-variable\": \"#0000ff\",\n\t\t\t\t\".hljs-type\": \"#0000ff\",\n\t\t\t\t\".hljs-variable.language_\": \"#0000ff\",\n\t\t\t\t\".hljs-title.class_\": \"#001080\",\n\t\t\t\t\".hljs-title.class_.inherited__\": \"#001080\",\n\t\t\t\t\".hljs-title.function_\": \"#795E26\",\n\t\t\t\t\".hljs-built_in\": \"#795E26\",\n\t\t\t\t\".hljs-attr\": \"#001080\",\n\t\t\t\t\".hljs-attribute\": \"#001080\",\n\t\t\t\t\".hljs-literal\": \"#001080\",\n\t\t\t\t\".hljs-meta\": \"#001080\",\n\t\t\t\t\".hljs-number\": \"#098658\",\n\t\t\t\t\".hljs-operator\": \"#001080\",\n\t\t\t\t\".hljs-variable\": \"#001080\",\n\t\t\t\t\".hljs-selector-attr\": \"#001080\",\n\t\t\t\t\".hljs-selector-class\": \"#001080\",\n\t\t\t\t\".hljs-selector-id\": \"#001080\",\n\t\t\t\t\".hljs-regexp\": \"#a31515\",\n\t\t\t\t\".hljs-string\": \"#a31515\",\n\t\t\t\t\".hljs-meta .hljs-string\": \"#a31515\",\n\t\t\t\t\".hljs-params\": \"#001080\",\n\t\t\t}\n\t\t: {\n\t\t\t\t\".hljs-comment\": \"#6A9955\",\n\t\t\t\t\".hljs-doctag\": \"#569cd6\",\n\t\t\t\t\".hljs-keyword\": \"#569cd6\",\n\t\t\t\t\".hljs-meta .hljs-keyword\": \"#569cd6\",\n\t\t\t\t\".hljs-template-tag\": \"#569cd6\",\n\t\t\t\t\".hljs-template-variable\": \"#569cd6\",\n\t\t\t\t\".hljs-type\": \"#569cd6\",\n\t\t\t\t\".hljs-variable.language_\": \"#569cd6\",\n\t\t\t\t\".hljs-title.class_\": \"#9CDCFE\",\n\t\t\t\t\".hljs-title.class_.inherited__\": \"#9CDCFE\",\n\t\t\t\t\".hljs-title.function_\": \"#DCDCAA\",\n\t\t\t\t\".hljs-built_in\": \"#DCDCAA\",\n\t\t\t\t\".hljs-attr\": \"#9CDCFE\",\n\t\t\t\t\".hljs-attribute\": \"#9CDCFE\",\n\t\t\t\t\".hljs-literal\": \"#9CDCFE\",\n\t\t\t\t\".hljs-meta\": \"#9CDCFE\",\n\t\t\t\t\".hljs-number\": \"#b5cea8\",\n\t\t\t\t\".hljs-operator\": \"#9CDCFE\",\n\t\t\t\t\".hljs-variable\": \"#9CDCFE\",\n\t\t\t\t\".hljs-selector-attr\": \"#9CDCFE\",\n\t\t\t\t\".hljs-selector-class\": \"#9CDCFE\",\n\t\t\t\t\".hljs-selector-id\": \"#9CDCFE\",\n\t\t\t\t\".hljs-regexp\": \"#ce9178\",\n\t\t\t\t\".hljs-string\": \"#ce9178\",\n\t\t\t\t\".hljs-meta .hljs-string\": \"#ce9178\",\n\t\t\t\t\".hljs-params\": \"#9CDCFE\",\n\t\t\t}\n}\n\nexport function convertTextMateToHljs(fullColorTheme: any) {\n\treturn constructTheme(fullColorTheme || {})\n}\n\nfunction parseHexColor(hexColor: string): {\n\tr: number\n\tg: number\n\tb: number\n} {\n\tif (hexColor.startsWith(\"#\")) {\n\t\thexColor = hexColor.slice(1)\n\t}\n\n\tif (hexColor.length > 6) {\n\t\thexColor = hexColor.slice(0, 6)\n\t}\n\n\tconst r = parseInt(hexColor.substring(0, 2), 16)\n\tconst g = parseInt(hexColor.substring(2, 4), 16)\n\tconst b = parseInt(hexColor.substring(4, 6), 16)\n\n\treturn { r, g, b }\n}\n", + "import React, { createContext, useCallback, useContext, useEffect, useState } from \"react\"\n\nimport {\n\ttype ProviderSettings,\n\ttype ProviderSettingsEntry,\n\ttype CustomModePrompts,\n\ttype ModeConfig,\n\ttype ExperimentId,\n\ttype OrganizationAllowList,\n\tORGANIZATION_ALLOW_ALL,\n} from \"@roo-code/types\"\n\nimport { ExtensionMessage, ExtensionState, MarketplaceInstalledMetadata, Command } from \"@roo/ExtensionMessage\"\nimport { findLastIndex } from \"@roo/array\"\nimport { McpServer } from \"@roo/mcp\"\nimport { checkExistKey } from \"@roo/checkExistApiConfig\"\nimport { Mode, defaultModeSlug, defaultPrompts } from \"@roo/modes\"\nimport { CustomSupportPrompts } from \"@roo/support-prompt\"\nimport { experimentDefault } from \"@roo/experiments\"\nimport { TelemetrySetting } from \"@roo/TelemetrySetting\"\nimport { RouterModels } from \"@roo/api\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { convertTextMateToHljs } from \"@src/utils/textMateToHljs\"\n\nexport interface ExtensionStateContextType extends ExtensionState {\n\thistoryPreviewCollapsed?: boolean // Add the new state property\n\tdidHydrateState: boolean\n\tshowWelcome: boolean\n\ttheme: any\n\tmcpServers: McpServer[]\n\thasSystemPromptOverride?: boolean\n\tcurrentCheckpoint?: string\n\tfilePaths: string[]\n\topenedTabs: Array<{ label: string; isActive: boolean; path?: string }>\n\tcommands: Command[]\n\torganizationAllowList: OrganizationAllowList\n\torganizationSettingsVersion: number\n\tcloudIsAuthenticated: boolean\n\tsharingEnabled: boolean\n\tmaxConcurrentFileReads?: number\n\tmdmCompliant?: boolean\n\thasOpenedModeSelector: boolean // New property to track if user has opened mode selector\n\tsetHasOpenedModeSelector: (value: boolean) => void // Setter for the new property\n\talwaysAllowFollowupQuestions: boolean // New property for follow-up questions auto-approve\n\tsetAlwaysAllowFollowupQuestions: (value: boolean) => void // Setter for the new property\n\tfollowupAutoApproveTimeoutMs: number | undefined // Timeout in ms for auto-approving follow-up questions\n\tsetFollowupAutoApproveTimeoutMs: (value: number) => void // Setter for the timeout\n\tcondensingApiConfigId?: string\n\tsetCondensingApiConfigId: (value: string) => void\n\tcustomCondensingPrompt?: string\n\tsetCustomCondensingPrompt: (value: string) => void\n\tmarketplaceItems?: any[]\n\tmarketplaceInstalledMetadata?: MarketplaceInstalledMetadata\n\tprofileThresholds: Record<string, number>\n\tsetProfileThresholds: (value: Record<string, number>) => void\n\tsetApiConfiguration: (config: ProviderSettings) => void\n\tsetCustomInstructions: (value?: string) => void\n\tsetAlwaysAllowReadOnly: (value: boolean) => void\n\tsetAlwaysAllowReadOnlyOutsideWorkspace: (value: boolean) => void\n\tsetAlwaysAllowWrite: (value: boolean) => void\n\tsetAlwaysAllowWriteOutsideWorkspace: (value: boolean) => void\n\tsetAlwaysAllowExecute: (value: boolean) => void\n\tsetAlwaysAllowBrowser: (value: boolean) => void\n\tsetAlwaysAllowMcp: (value: boolean) => void\n\tsetAlwaysAllowModeSwitch: (value: boolean) => void\n\tsetAlwaysAllowSubtasks: (value: boolean) => void\n\tsetBrowserToolEnabled: (value: boolean) => void\n\tsetShowRooIgnoredFiles: (value: boolean) => void\n\tsetShowAnnouncement: (value: boolean) => void\n\tsetAllowedCommands: (value: string[]) => void\n\tsetDeniedCommands: (value: string[]) => void\n\tsetAllowedMaxRequests: (value: number | undefined) => void\n\tsetAllowedMaxCost: (value: number | undefined) => void\n\tsetSoundEnabled: (value: boolean) => void\n\tsetSoundVolume: (value: number) => void\n\tterminalShellIntegrationTimeout?: number\n\tsetTerminalShellIntegrationTimeout: (value: number) => void\n\tterminalShellIntegrationDisabled?: boolean\n\tsetTerminalShellIntegrationDisabled: (value: boolean) => void\n\tterminalZdotdir?: boolean\n\tsetTerminalZdotdir: (value: boolean) => void\n\tsetTtsEnabled: (value: boolean) => void\n\tsetTtsSpeed: (value: number) => void\n\tsetDiffEnabled: (value: boolean) => void\n\tsetEnableCheckpoints: (value: boolean) => void\n\tsetBrowserViewportSize: (value: string) => void\n\tsetFuzzyMatchThreshold: (value: number) => void\n\tsetWriteDelayMs: (value: number) => void\n\tscreenshotQuality?: number\n\tsetScreenshotQuality: (value: number) => void\n\tterminalOutputLineLimit?: number\n\tsetTerminalOutputLineLimit: (value: number) => void\n\tterminalOutputCharacterLimit?: number\n\tsetTerminalOutputCharacterLimit: (value: number) => void\n\tmcpEnabled: boolean\n\tsetMcpEnabled: (value: boolean) => void\n\tenableMcpServerCreation: boolean\n\tsetEnableMcpServerCreation: (value: boolean) => void\n\tremoteControlEnabled: boolean\n\tsetRemoteControlEnabled: (value: boolean) => void\n\talwaysApproveResubmit?: boolean\n\tsetAlwaysApproveResubmit: (value: boolean) => void\n\trequestDelaySeconds: number\n\tsetRequestDelaySeconds: (value: number) => void\n\tsetCurrentApiConfigName: (value: string) => void\n\tsetListApiConfigMeta: (value: ProviderSettingsEntry[]) => void\n\tmode: Mode\n\tsetMode: (value: Mode) => void\n\tsetCustomModePrompts: (value: CustomModePrompts) => void\n\tsetCustomSupportPrompts: (value: CustomSupportPrompts) => void\n\tenhancementApiConfigId?: string\n\tsetEnhancementApiConfigId: (value: string) => void\n\tsetExperimentEnabled: (id: ExperimentId, enabled: boolean) => void\n\tsetAutoApprovalEnabled: (value: boolean) => void\n\tcustomModes: ModeConfig[]\n\tsetCustomModes: (value: ModeConfig[]) => void\n\tsetMaxOpenTabsContext: (value: number) => void\n\tmaxWorkspaceFiles: number\n\tsetMaxWorkspaceFiles: (value: number) => void\n\tsetTelemetrySetting: (value: TelemetrySetting) => void\n\tremoteBrowserEnabled?: boolean\n\tsetRemoteBrowserEnabled: (value: boolean) => void\n\tawsUsePromptCache?: boolean\n\tsetAwsUsePromptCache: (value: boolean) => void\n\tmaxReadFileLine: number\n\tsetMaxReadFileLine: (value: number) => void\n\tmaxImageFileSize: number\n\tsetMaxImageFileSize: (value: number) => void\n\tmaxTotalImageSize: number\n\tsetMaxTotalImageSize: (value: number) => void\n\tmachineId?: string\n\tpinnedApiConfigs?: Record<string, boolean>\n\tsetPinnedApiConfigs: (value: Record<string, boolean>) => void\n\ttogglePinnedApiConfig: (configName: string) => void\n\tterminalCompressProgressBar?: boolean\n\tsetTerminalCompressProgressBar: (value: boolean) => void\n\tsetHistoryPreviewCollapsed: (value: boolean) => void\n\tautoCondenseContext: boolean\n\tsetAutoCondenseContext: (value: boolean) => void\n\tautoCondenseContextPercent: number\n\tsetAutoCondenseContextPercent: (value: number) => void\n\trouterModels?: RouterModels\n\talwaysAllowUpdateTodoList?: boolean\n\tsetAlwaysAllowUpdateTodoList: (value: boolean) => void\n\tincludeDiagnosticMessages?: boolean\n\tsetIncludeDiagnosticMessages: (value: boolean) => void\n\tmaxDiagnosticMessages?: number\n\tsetMaxDiagnosticMessages: (value: number) => void\n\tincludeTaskHistoryInEnhance?: boolean\n\tsetIncludeTaskHistoryInEnhance: (value: boolean) => void\n}\n\nexport const ExtensionStateContext = createContext<ExtensionStateContextType | undefined>(undefined)\n\nexport const mergeExtensionState = (prevState: ExtensionState, newState: ExtensionState) => {\n\tconst { customModePrompts: prevCustomModePrompts, experiments: prevExperiments, ...prevRest } = prevState\n\n\tconst {\n\t\tapiConfiguration,\n\t\tcustomModePrompts: newCustomModePrompts,\n\t\tcustomSupportPrompts,\n\t\texperiments: newExperiments,\n\t\t...newRest\n\t} = newState\n\n\tconst customModePrompts = { ...prevCustomModePrompts, ...newCustomModePrompts }\n\tconst experiments = { ...prevExperiments, ...newExperiments }\n\tconst rest = { ...prevRest, ...newRest }\n\n\t// Note that we completely replace the previous apiConfiguration and customSupportPrompts objects\n\t// with new ones since the state that is broadcast is the entire objects so merging is not necessary.\n\treturn { ...rest, apiConfiguration, customModePrompts, customSupportPrompts, experiments }\n}\n\nexport const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n\tconst [state, setState] = useState<ExtensionState & { organizationAllowList?: OrganizationAllowList }>({\n\t\tversion: \"\",\n\t\tclineMessages: [],\n\t\ttaskHistory: [],\n\t\tshouldShowAnnouncement: false,\n\t\tallowedCommands: [],\n\t\tdeniedCommands: [],\n\t\tsoundEnabled: false,\n\t\tsoundVolume: 0.5,\n\t\tttsEnabled: false,\n\t\tttsSpeed: 1.0,\n\t\tdiffEnabled: false,\n\t\tenableCheckpoints: true,\n\t\tfuzzyMatchThreshold: 1.0,\n\t\tlanguage: \"en\", // Default language code\n\t\twriteDelayMs: 1000,\n\t\tbrowserViewportSize: \"900x600\",\n\t\tscreenshotQuality: 75,\n\t\tterminalOutputLineLimit: 500,\n\t\tterminalOutputCharacterLimit: 50000,\n\t\tterminalShellIntegrationTimeout: 4000,\n\t\tmcpEnabled: true,\n\t\tenableMcpServerCreation: false,\n\t\tremoteControlEnabled: false,\n\t\talwaysApproveResubmit: false,\n\t\trequestDelaySeconds: 5,\n\t\tcurrentApiConfigName: \"default\",\n\t\tlistApiConfigMeta: [],\n\t\tmode: defaultModeSlug,\n\t\tcustomModePrompts: defaultPrompts,\n\t\tcustomSupportPrompts: {},\n\t\texperiments: experimentDefault,\n\t\tenhancementApiConfigId: \"\",\n\t\tcondensingApiConfigId: \"\", // Default empty string for condensing API config ID\n\t\tcustomCondensingPrompt: \"\", // Default empty string for custom condensing prompt\n\t\thasOpenedModeSelector: false, // Default to false (not opened yet)\n\t\tautoApprovalEnabled: false,\n\t\tcustomModes: [],\n\t\tmaxOpenTabsContext: 20,\n\t\tmaxWorkspaceFiles: 200,\n\t\tcwd: \"\",\n\t\tbrowserToolEnabled: true,\n\t\ttelemetrySetting: \"unset\",\n\t\tshowRooIgnoredFiles: true, // Default to showing .rooignore'd files with lock symbol (current behavior).\n\t\trenderContext: \"sidebar\",\n\t\tmaxReadFileLine: -1, // Default max read file line limit\n\t\tmaxImageFileSize: 5, // Default max image file size in MB\n\t\tmaxTotalImageSize: 20, // Default max total image size in MB\n\t\tpinnedApiConfigs: {}, // Empty object for pinned API configs\n\t\tterminalZshOhMy: false, // Default Oh My Zsh integration setting\n\t\tmaxConcurrentFileReads: 5, // Default concurrent file reads\n\t\tterminalZshP10k: false, // Default Powerlevel10k integration setting\n\t\tterminalZdotdir: false, // Default ZDOTDIR handling setting\n\t\tterminalCompressProgressBar: true, // Default to compress progress bar output\n\t\thistoryPreviewCollapsed: false, // Initialize the new state (default to expanded)\n\t\tcloudUserInfo: null,\n\t\tcloudIsAuthenticated: false,\n\t\tsharingEnabled: false,\n\t\torganizationAllowList: ORGANIZATION_ALLOW_ALL,\n\t\torganizationSettingsVersion: -1,\n\t\tautoCondenseContext: true,\n\t\tautoCondenseContextPercent: 100,\n\t\tprofileThresholds: {},\n\t\tcodebaseIndexConfig: {\n\t\t\tcodebaseIndexEnabled: true,\n\t\t\tcodebaseIndexQdrantUrl: \"http://localhost:6333\",\n\t\t\tcodebaseIndexEmbedderProvider: \"openai\",\n\t\t\tcodebaseIndexEmbedderBaseUrl: \"\",\n\t\t\tcodebaseIndexEmbedderModelId: \"\",\n\t\t\tcodebaseIndexSearchMaxResults: undefined,\n\t\t\tcodebaseIndexSearchMinScore: undefined,\n\t\t},\n\t\tcodebaseIndexModels: { ollama: {}, openai: {} },\n\t\talwaysAllowUpdateTodoList: true,\n\t\tincludeDiagnosticMessages: true,\n\t\tmaxDiagnosticMessages: 50,\n\t})\n\n\tconst [didHydrateState, setDidHydrateState] = useState(false)\n\tconst [showWelcome, setShowWelcome] = useState(false)\n\tconst [theme, setTheme] = useState<any>(undefined)\n\tconst [filePaths, setFilePaths] = useState<string[]>([])\n\tconst [openedTabs, setOpenedTabs] = useState<Array<{ label: string; isActive: boolean; path?: string }>>([])\n\tconst [commands, setCommands] = useState<Command[]>([])\n\tconst [mcpServers, setMcpServers] = useState<McpServer[]>([])\n\tconst [currentCheckpoint, setCurrentCheckpoint] = useState<string>()\n\tconst [extensionRouterModels, setExtensionRouterModels] = useState<RouterModels | undefined>(undefined)\n\tconst [marketplaceItems, setMarketplaceItems] = useState<any[]>([])\n\tconst [alwaysAllowFollowupQuestions, setAlwaysAllowFollowupQuestions] = useState(false) // Add state for follow-up questions auto-approve\n\tconst [followupAutoApproveTimeoutMs, setFollowupAutoApproveTimeoutMs] = useState<number | undefined>(undefined) // Will be set from global settings\n\tconst [marketplaceInstalledMetadata, setMarketplaceInstalledMetadata] = useState<MarketplaceInstalledMetadata>({\n\t\tproject: {},\n\t\tglobal: {},\n\t})\n\tconst [includeTaskHistoryInEnhance, setIncludeTaskHistoryInEnhance] = useState(false)\n\n\tconst setListApiConfigMeta = useCallback(\n\t\t(value: ProviderSettingsEntry[]) => setState((prevState) => ({ ...prevState, listApiConfigMeta: value })),\n\t\t[],\n\t)\n\n\tconst setApiConfiguration = useCallback((value: ProviderSettings) => {\n\t\tsetState((prevState) => ({\n\t\t\t...prevState,\n\t\t\tapiConfiguration: {\n\t\t\t\t...prevState.apiConfiguration,\n\t\t\t\t...value,\n\t\t\t},\n\t\t}))\n\t}, [])\n\n\tconst handleMessage = useCallback(\n\t\t(event: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = event.data\n\t\t\tswitch (message.type) {\n\t\t\t\tcase \"state\": {\n\t\t\t\t\tconst newState = message.state!\n\t\t\t\t\tsetState((prevState) => mergeExtensionState(prevState, newState))\n\t\t\t\t\tsetShowWelcome(!checkExistKey(newState.apiConfiguration))\n\t\t\t\t\tsetDidHydrateState(true)\n\t\t\t\t\t// Update alwaysAllowFollowupQuestions if present in state message\n\t\t\t\t\tif ((newState as any).alwaysAllowFollowupQuestions !== undefined) {\n\t\t\t\t\t\tsetAlwaysAllowFollowupQuestions((newState as any).alwaysAllowFollowupQuestions)\n\t\t\t\t\t}\n\t\t\t\t\t// Update followupAutoApproveTimeoutMs if present in state message\n\t\t\t\t\tif ((newState as any).followupAutoApproveTimeoutMs !== undefined) {\n\t\t\t\t\t\tsetFollowupAutoApproveTimeoutMs((newState as any).followupAutoApproveTimeoutMs)\n\t\t\t\t\t}\n\t\t\t\t\t// Update includeTaskHistoryInEnhance if present in state message\n\t\t\t\t\tif ((newState as any).includeTaskHistoryInEnhance !== undefined) {\n\t\t\t\t\t\tsetIncludeTaskHistoryInEnhance((newState as any).includeTaskHistoryInEnhance)\n\t\t\t\t\t}\n\t\t\t\t\t// Handle marketplace data if present in state message\n\t\t\t\t\tif (newState.marketplaceItems !== undefined) {\n\t\t\t\t\t\tsetMarketplaceItems(newState.marketplaceItems)\n\t\t\t\t\t}\n\t\t\t\t\tif (newState.marketplaceInstalledMetadata !== undefined) {\n\t\t\t\t\t\tsetMarketplaceInstalledMetadata(newState.marketplaceInstalledMetadata)\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"theme\": {\n\t\t\t\t\tif (message.text) {\n\t\t\t\t\t\tsetTheme(convertTextMateToHljs(JSON.parse(message.text)))\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"workspaceUpdated\": {\n\t\t\t\t\tconst paths = message.filePaths ?? []\n\t\t\t\t\tconst tabs = message.openedTabs ?? []\n\n\t\t\t\t\tsetFilePaths(paths)\n\t\t\t\t\tsetOpenedTabs(tabs)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"commands\": {\n\t\t\t\t\tsetCommands(message.commands ?? [])\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"messageUpdated\": {\n\t\t\t\t\tconst clineMessage = message.clineMessage!\n\t\t\t\t\tsetState((prevState) => {\n\t\t\t\t\t\t// worth noting it will never be possible for a more up-to-date message to be sent here or in normal messages post since the presentAssistantContent function uses lock\n\t\t\t\t\t\tconst lastIndex = findLastIndex(prevState.clineMessages, (msg) => msg.ts === clineMessage.ts)\n\t\t\t\t\t\tif (lastIndex !== -1) {\n\t\t\t\t\t\t\tconst newClineMessages = [...prevState.clineMessages]\n\t\t\t\t\t\t\tnewClineMessages[lastIndex] = clineMessage\n\t\t\t\t\t\t\treturn { ...prevState, clineMessages: newClineMessages }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn prevState\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"mcpServers\": {\n\t\t\t\t\tsetMcpServers(message.mcpServers ?? [])\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"currentCheckpointUpdated\": {\n\t\t\t\t\tsetCurrentCheckpoint(message.text)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"listApiConfig\": {\n\t\t\t\t\tsetListApiConfigMeta(message.listApiConfig ?? [])\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"routerModels\": {\n\t\t\t\t\tsetExtensionRouterModels(message.routerModels)\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tcase \"marketplaceData\": {\n\t\t\t\t\tif (message.marketplaceItems !== undefined) {\n\t\t\t\t\t\tsetMarketplaceItems(message.marketplaceItems)\n\t\t\t\t\t}\n\t\t\t\t\tif (message.marketplaceInstalledMetadata !== undefined) {\n\t\t\t\t\t\tsetMarketplaceInstalledMetadata(message.marketplaceInstalledMetadata)\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[setListApiConfigMeta],\n\t)\n\n\tuseEffect(() => {\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage)\n\t\t}\n\t}, [handleMessage])\n\n\tuseEffect(() => {\n\t\tvscode.postMessage({ type: \"webviewDidLaunch\" })\n\t}, [])\n\n\tconst contextValue: ExtensionStateContextType = {\n\t\t...state,\n\t\tdidHydrateState,\n\t\tshowWelcome,\n\t\ttheme,\n\t\tmcpServers,\n\t\tcurrentCheckpoint,\n\t\tfilePaths,\n\t\topenedTabs,\n\t\tcommands,\n\t\tsoundVolume: state.soundVolume,\n\t\tttsSpeed: state.ttsSpeed,\n\t\tfuzzyMatchThreshold: state.fuzzyMatchThreshold,\n\t\twriteDelayMs: state.writeDelayMs,\n\t\tscreenshotQuality: state.screenshotQuality,\n\t\trouterModels: extensionRouterModels,\n\t\tcloudIsAuthenticated: state.cloudIsAuthenticated ?? false,\n\t\torganizationSettingsVersion: state.organizationSettingsVersion ?? -1,\n\t\tmarketplaceItems,\n\t\tmarketplaceInstalledMetadata,\n\t\tprofileThresholds: state.profileThresholds ?? {},\n\t\talwaysAllowFollowupQuestions,\n\t\tfollowupAutoApproveTimeoutMs,\n\t\tremoteControlEnabled: state.remoteControlEnabled ?? false,\n\t\tsetExperimentEnabled: (id, enabled) =>\n\t\t\tsetState((prevState) => ({ ...prevState, experiments: { ...prevState.experiments, [id]: enabled } })),\n\t\tsetApiConfiguration,\n\t\tsetCustomInstructions: (value) => setState((prevState) => ({ ...prevState, customInstructions: value })),\n\t\tsetAlwaysAllowReadOnly: (value) => setState((prevState) => ({ ...prevState, alwaysAllowReadOnly: value })),\n\t\tsetAlwaysAllowReadOnlyOutsideWorkspace: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, alwaysAllowReadOnlyOutsideWorkspace: value })),\n\t\tsetAlwaysAllowWrite: (value) => setState((prevState) => ({ ...prevState, alwaysAllowWrite: value })),\n\t\tsetAlwaysAllowWriteOutsideWorkspace: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, alwaysAllowWriteOutsideWorkspace: value })),\n\t\tsetAlwaysAllowExecute: (value) => setState((prevState) => ({ ...prevState, alwaysAllowExecute: value })),\n\t\tsetAlwaysAllowBrowser: (value) => setState((prevState) => ({ ...prevState, alwaysAllowBrowser: value })),\n\t\tsetAlwaysAllowMcp: (value) => setState((prevState) => ({ ...prevState, alwaysAllowMcp: value })),\n\t\tsetAlwaysAllowModeSwitch: (value) => setState((prevState) => ({ ...prevState, alwaysAllowModeSwitch: value })),\n\t\tsetAlwaysAllowSubtasks: (value) => setState((prevState) => ({ ...prevState, alwaysAllowSubtasks: value })),\n\t\tsetAlwaysAllowFollowupQuestions,\n\t\tsetFollowupAutoApproveTimeoutMs: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, followupAutoApproveTimeoutMs: value })),\n\t\tsetShowAnnouncement: (value) => setState((prevState) => ({ ...prevState, shouldShowAnnouncement: value })),\n\t\tsetAllowedCommands: (value) => setState((prevState) => ({ ...prevState, allowedCommands: value })),\n\t\tsetDeniedCommands: (value) => setState((prevState) => ({ ...prevState, deniedCommands: value })),\n\t\tsetAllowedMaxRequests: (value) => setState((prevState) => ({ ...prevState, allowedMaxRequests: value })),\n\t\tsetAllowedMaxCost: (value) => setState((prevState) => ({ ...prevState, allowedMaxCost: value })),\n\t\tsetSoundEnabled: (value) => setState((prevState) => ({ ...prevState, soundEnabled: value })),\n\t\tsetSoundVolume: (value) => setState((prevState) => ({ ...prevState, soundVolume: value })),\n\t\tsetTtsEnabled: (value) => setState((prevState) => ({ ...prevState, ttsEnabled: value })),\n\t\tsetTtsSpeed: (value) => setState((prevState) => ({ ...prevState, ttsSpeed: value })),\n\t\tsetDiffEnabled: (value) => setState((prevState) => ({ ...prevState, diffEnabled: value })),\n\t\tsetEnableCheckpoints: (value) => setState((prevState) => ({ ...prevState, enableCheckpoints: value })),\n\t\tsetBrowserViewportSize: (value: string) =>\n\t\t\tsetState((prevState) => ({ ...prevState, browserViewportSize: value })),\n\t\tsetFuzzyMatchThreshold: (value) => setState((prevState) => ({ ...prevState, fuzzyMatchThreshold: value })),\n\t\tsetWriteDelayMs: (value) => setState((prevState) => ({ ...prevState, writeDelayMs: value })),\n\t\tsetScreenshotQuality: (value) => setState((prevState) => ({ ...prevState, screenshotQuality: value })),\n\t\tsetTerminalOutputLineLimit: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, terminalOutputLineLimit: value })),\n\t\tsetTerminalOutputCharacterLimit: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, terminalOutputCharacterLimit: value })),\n\t\tsetTerminalShellIntegrationTimeout: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, terminalShellIntegrationTimeout: value })),\n\t\tsetTerminalShellIntegrationDisabled: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, terminalShellIntegrationDisabled: value })),\n\t\tsetTerminalZdotdir: (value) => setState((prevState) => ({ ...prevState, terminalZdotdir: value })),\n\t\tsetMcpEnabled: (value) => setState((prevState) => ({ ...prevState, mcpEnabled: value })),\n\t\tsetEnableMcpServerCreation: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, enableMcpServerCreation: value })),\n\t\tsetRemoteControlEnabled: (value) => setState((prevState) => ({ ...prevState, remoteControlEnabled: value })),\n\t\tsetAlwaysApproveResubmit: (value) => setState((prevState) => ({ ...prevState, alwaysApproveResubmit: value })),\n\t\tsetRequestDelaySeconds: (value) => setState((prevState) => ({ ...prevState, requestDelaySeconds: value })),\n\t\tsetCurrentApiConfigName: (value) => setState((prevState) => ({ ...prevState, currentApiConfigName: value })),\n\t\tsetListApiConfigMeta,\n\t\tsetMode: (value: Mode) => setState((prevState) => ({ ...prevState, mode: value })),\n\t\tsetCustomModePrompts: (value) => setState((prevState) => ({ ...prevState, customModePrompts: value })),\n\t\tsetCustomSupportPrompts: (value) => setState((prevState) => ({ ...prevState, customSupportPrompts: value })),\n\t\tsetEnhancementApiConfigId: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, enhancementApiConfigId: value })),\n\t\tsetAutoApprovalEnabled: (value) => setState((prevState) => ({ ...prevState, autoApprovalEnabled: value })),\n\t\tsetCustomModes: (value) => setState((prevState) => ({ ...prevState, customModes: value })),\n\t\tsetMaxOpenTabsContext: (value) => setState((prevState) => ({ ...prevState, maxOpenTabsContext: value })),\n\t\tsetMaxWorkspaceFiles: (value) => setState((prevState) => ({ ...prevState, maxWorkspaceFiles: value })),\n\t\tsetBrowserToolEnabled: (value) => setState((prevState) => ({ ...prevState, browserToolEnabled: value })),\n\t\tsetTelemetrySetting: (value) => setState((prevState) => ({ ...prevState, telemetrySetting: value })),\n\t\tsetShowRooIgnoredFiles: (value) => setState((prevState) => ({ ...prevState, showRooIgnoredFiles: value })),\n\t\tsetRemoteBrowserEnabled: (value) => setState((prevState) => ({ ...prevState, remoteBrowserEnabled: value })),\n\t\tsetAwsUsePromptCache: (value) => setState((prevState) => ({ ...prevState, awsUsePromptCache: value })),\n\t\tsetMaxReadFileLine: (value) => setState((prevState) => ({ ...prevState, maxReadFileLine: value })),\n\t\tsetMaxImageFileSize: (value) => setState((prevState) => ({ ...prevState, maxImageFileSize: value })),\n\t\tsetMaxTotalImageSize: (value) => setState((prevState) => ({ ...prevState, maxTotalImageSize: value })),\n\t\tsetPinnedApiConfigs: (value) => setState((prevState) => ({ ...prevState, pinnedApiConfigs: value })),\n\t\tsetTerminalCompressProgressBar: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, terminalCompressProgressBar: value })),\n\t\ttogglePinnedApiConfig: (configId) =>\n\t\t\tsetState((prevState) => {\n\t\t\t\tconst currentPinned = prevState.pinnedApiConfigs || {}\n\t\t\t\tconst newPinned = {\n\t\t\t\t\t...currentPinned,\n\t\t\t\t\t[configId]: !currentPinned[configId],\n\t\t\t\t}\n\n\t\t\t\t// If the config is now unpinned, remove it from the object\n\t\t\t\tif (!newPinned[configId]) {\n\t\t\t\t\tdelete newPinned[configId]\n\t\t\t\t}\n\n\t\t\t\treturn { ...prevState, pinnedApiConfigs: newPinned }\n\t\t\t}),\n\t\tsetHistoryPreviewCollapsed: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, historyPreviewCollapsed: value })),\n\t\tsetHasOpenedModeSelector: (value) => setState((prevState) => ({ ...prevState, hasOpenedModeSelector: value })),\n\t\tsetAutoCondenseContext: (value) => setState((prevState) => ({ ...prevState, autoCondenseContext: value })),\n\t\tsetAutoCondenseContextPercent: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, autoCondenseContextPercent: value })),\n\t\tsetCondensingApiConfigId: (value) => setState((prevState) => ({ ...prevState, condensingApiConfigId: value })),\n\t\tsetCustomCondensingPrompt: (value) =>\n\t\t\tsetState((prevState) => ({ ...prevState, customCondensingPrompt: value })),\n\t\tsetProfileThresholds: (value) => setState((prevState) => ({ ...prevState, profileThresholds: value })),\n\t\talwaysAllowUpdateTodoList: state.alwaysAllowUpdateTodoList,\n\t\tsetAlwaysAllowUpdateTodoList: (value) => {\n\t\t\tsetState((prevState) => ({ ...prevState, alwaysAllowUpdateTodoList: value }))\n\t\t},\n\t\tincludeDiagnosticMessages: state.includeDiagnosticMessages,\n\t\tsetIncludeDiagnosticMessages: (value) => {\n\t\t\tsetState((prevState) => ({ ...prevState, includeDiagnosticMessages: value }))\n\t\t},\n\t\tmaxDiagnosticMessages: state.maxDiagnosticMessages,\n\t\tsetMaxDiagnosticMessages: (value) => {\n\t\t\tsetState((prevState) => ({ ...prevState, maxDiagnosticMessages: value }))\n\t\t},\n\t\tincludeTaskHistoryInEnhance,\n\t\tsetIncludeTaskHistoryInEnhance,\n\t}\n\n\treturn <ExtensionStateContext.Provider value={contextValue}>{children}</ExtensionStateContext.Provider>\n}\n\nexport const useExtensionState = () => {\n\tconst context = useContext(ExtensionStateContext)\n\n\tif (context === undefined) {\n\t\tthrow new Error(\"useExtensionState must be used within an ExtensionStateContextProvider\")\n\t}\n\n\treturn context\n}\n", + "import React, { createContext, useContext, ReactNode, useEffect, useCallback } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport i18next, { loadTranslations } from \"./setup\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\n\n// Create context for translations\nexport const TranslationContext = createContext<{\n\tt: (key: string, options?: Record<string, any>) => string\n\ti18n: typeof i18next\n}>({\n\tt: (key: string) => key,\n\ti18n: i18next,\n})\n\n// Translation provider component\nexport const TranslationProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n\t// Initialize with default configuration\n\tconst { i18n } = useTranslation()\n\t// Get the extension state directly - it already contains all state properties\n\tconst extensionState = useExtensionState()\n\n\t// Load translations once when the component mounts\n\tuseEffect(() => {\n\t\ttry {\n\t\t\tloadTranslations()\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Failed to load translations:\", error)\n\t\t}\n\t}, [])\n\n\tuseEffect(() => {\n\t\ti18n.changeLanguage(extensionState.language)\n\t}, [i18n, extensionState.language])\n\n\t// Memoize the translation function to prevent unnecessary re-renders\n\tconst translate = useCallback(\n\t\t(key: string, options?: Record<string, any>) => {\n\t\t\treturn i18n.t(key, options)\n\t\t},\n\t\t[i18n],\n\t)\n\n\treturn (\n\t\t<TranslationContext.Provider\n\t\t\tvalue={{\n\t\t\t\tt: translate,\n\t\t\t\ti18n,\n\t\t\t}}>\n\t\t\t{children}\n\t\t</TranslationContext.Provider>\n\t)\n}\n\n// Custom hook for easy translations\nexport const useAppTranslation = () => useContext(TranslationContext)\n\nexport default TranslationProvider\n", + "/**\n * MarketplaceViewStateManager\n *\n * This class manages the state for the marketplace view in the Roo Code extensions interface.\n *\n * IMPORTANT: Fixed issue where the marketplace feature was causing the Roo Code extensions interface\n * to switch to the browse tab and redraw it every 30 seconds. The fix prevents unnecessary tab switching\n * and redraws by:\n * 1. Only updating the UI when necessary\n * 2. Preserving the current tab when handling timeouts\n * 3. Using minimal state updates to avoid resetting scroll position\n */\n\nimport { MarketplaceItem } from \"@roo-code/types\"\nimport { vscode } from \"../../utils/vscode\"\nimport { WebviewMessage } from \"../../../../src/shared/WebviewMessage\"\n\nexport interface ViewState {\n\tallItems: MarketplaceItem[]\n\torganizationMcps: MarketplaceItem[]\n\tdisplayItems?: MarketplaceItem[] // Items currently being displayed (filtered or all)\n\tdisplayOrganizationMcps?: MarketplaceItem[] // Organization MCPs currently being displayed (filtered or all)\n\tisFetching: boolean\n\tactiveTab: \"mcp\" | \"mode\"\n\tfilters: {\n\t\ttype: string\n\t\tsearch: string\n\t\ttags: string[]\n\t}\n}\n\ntype TransitionPayloads = {\n\tFETCH_ITEMS: undefined\n\tFETCH_COMPLETE: { items: MarketplaceItem[] }\n\tFETCH_ERROR: undefined\n\tSET_ACTIVE_TAB: { tab: ViewState[\"activeTab\"] }\n\tUPDATE_FILTERS: { filters: Partial<ViewState[\"filters\"]> }\n}\n\nexport interface ViewStateTransition {\n\ttype: keyof TransitionPayloads\n\tpayload?: TransitionPayloads[keyof TransitionPayloads]\n}\n\nexport type StateChangeHandler = (state: ViewState) => void\n\nexport class MarketplaceViewStateManager {\n\tprivate state: ViewState = this.loadInitialState()\n\n\tprivate loadInitialState(): ViewState {\n\t\t// Always start with default state - no sessionStorage caching\n\t\t// This ensures fresh data from the extension is always used\n\t\treturn this.getDefaultState()\n\t}\n\n\tprivate getDefaultState(): ViewState {\n\t\treturn {\n\t\t\tallItems: [],\n\t\t\torganizationMcps: [],\n\t\t\tdisplayItems: [], // Always initialize as empty array, not undefined\n\t\t\tdisplayOrganizationMcps: [], // Always initialize as empty array, not undefined\n\t\t\tisFetching: true, // Start with loading state for initial load\n\t\t\tactiveTab: \"mcp\",\n\t\t\tfilters: {\n\t\t\t\ttype: \"\",\n\t\t\t\tsearch: \"\",\n\t\t\t\ttags: [],\n\t\t\t},\n\t\t}\n\t}\n\t// Removed auto-polling timeout\n\tprivate stateChangeHandlers: Set<StateChangeHandler> = new Set()\n\n\t// Empty constructor is required for test initialization\n\tconstructor() {\n\t\t// Initialize is now handled by the loadInitialState call in the property initialization\n\t}\n\n\tpublic initialize(): void {\n\t\t// Set initial state\n\t\tthis.state = this.getDefaultState()\n\t}\n\n\tpublic onStateChange(handler: StateChangeHandler): () => void {\n\t\tthis.stateChangeHandlers.add(handler)\n\t\treturn () => this.stateChangeHandlers.delete(handler)\n\t}\n\n\tpublic cleanup(): void {\n\t\t// Reset fetching state\n\t\tif (this.state.isFetching) {\n\t\t\tthis.state.isFetching = false\n\t\t\tthis.notifyStateChange()\n\t\t}\n\n\t\t// Clear handlers but preserve state\n\t\tthis.stateChangeHandlers.clear()\n\t}\n\n\tpublic getState(): ViewState {\n\t\t// Only create new arrays if they exist and have items\n\t\tconst allItems = this.state.allItems.length ? [...this.state.allItems] : []\n\t\tconst organizationMcps = this.state.organizationMcps.length ? [...this.state.organizationMcps] : []\n\t\t// Ensure displayItems is always an array, never undefined\n\t\t// If displayItems is undefined or null, fall back to allItems\n\t\tconst displayItems = this.state.displayItems ? [...this.state.displayItems] : [...allItems]\n\t\tconst displayOrganizationMcps = this.state.displayOrganizationMcps\n\t\t\t? [...this.state.displayOrganizationMcps]\n\t\t\t: [...organizationMcps]\n\t\tconst tags = this.state.filters.tags.length ? [...this.state.filters.tags] : []\n\n\t\t// Create minimal new state object\n\t\treturn {\n\t\t\t...this.state,\n\t\t\tallItems,\n\t\t\torganizationMcps,\n\t\t\tdisplayItems,\n\t\t\tdisplayOrganizationMcps,\n\t\t\tfilters: {\n\t\t\t\t...this.state.filters,\n\t\t\t\ttags,\n\t\t\t},\n\t\t}\n\t}\n\n\t/**\n\t * Notify all registered handlers of a state change\n\t * @param preserveTab If true, ensures the active tab is not changed during notification\n\t */\n\tprivate notifyStateChange(preserveTab: boolean = false): void {\n\t\tconst newState = this.getState() // Use getState to ensure proper copying\n\n\t\tif (preserveTab) {\n\t\t\t// When preserveTab is true, we're careful not to cause tab switching\n\t\t\t// This is used during timeout handling to prevent disrupting the user\n\t\t\tthis.stateChangeHandlers.forEach((handler) => {\n\t\t\t\t// Store the current active tab\n\t\t\t\tconst currentTab = newState.activeTab\n\n\t\t\t\t// Create a state update that won't change the active tab\n\t\t\t\tconst safeState = {\n\t\t\t\t\t...newState,\n\t\t\t\t\t// Don't change these properties to avoid UI disruption\n\t\t\t\t\tactiveTab: currentTab,\n\t\t\t\t}\n\t\t\t\thandler(safeState)\n\t\t\t})\n\t\t} else {\n\t\t\t// Normal state change notification\n\t\t\tthis.stateChangeHandlers.forEach((handler) => {\n\t\t\t\thandler(newState)\n\t\t\t})\n\t\t}\n\n\t\t// Removed sessionStorage caching to ensure fresh data from extension is always used\n\t\t// This prevents old cached marketplace items from overriding fresh data\n\t}\n\n\tpublic async transition(transition: ViewStateTransition): Promise<void> {\n\t\tswitch (transition.type) {\n\t\t\tcase \"FETCH_ITEMS\": {\n\t\t\t\t// Set fetching state to show loading indicator\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tisFetching: true,\n\t\t\t\t}\n\t\t\t\tthis.notifyStateChange()\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tcase \"FETCH_COMPLETE\": {\n\t\t\t\tconst { items } = transition.payload as TransitionPayloads[\"FETCH_COMPLETE\"]\n\t\t\t\t// No timeout to clear anymore\n\n\t\t\t\t// Compare with current state to avoid unnecessary updates\n\t\t\t\tif (JSON.stringify(items) === JSON.stringify(this.state.allItems)) {\n\t\t\t\t\t// No changes: update only isFetching flag and send minimal update\n\t\t\t\t\tthis.state.isFetching = false\n\t\t\t\t\tthis.stateChangeHandlers.forEach((handler) => {\n\t\t\t\t\t\thandler({\n\t\t\t\t\t\t\t...this.getState(),\n\t\t\t\t\t\t\tisFetching: false,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\t// Calculate display items based on current filters\n\t\t\t\tlet newDisplayItems: MarketplaceItem[]\n\t\t\t\tlet newDisplayOrganizationMcps: MarketplaceItem[]\n\t\t\t\tif (this.isFilterActive()) {\n\t\t\t\t\tnewDisplayItems = this.filterItems([...items])\n\t\t\t\t\tnewDisplayOrganizationMcps = this.filterItems([...this.state.organizationMcps])\n\t\t\t\t} else {\n\t\t\t\t\t// No filters active - show all items\n\t\t\t\t\tnewDisplayItems = [...items]\n\t\t\t\t\tnewDisplayOrganizationMcps = [...this.state.organizationMcps]\n\t\t\t\t}\n\n\t\t\t\t// Update allItems as source of truth\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tallItems: [...items],\n\t\t\t\t\tdisplayItems: newDisplayItems,\n\t\t\t\t\tdisplayOrganizationMcps: newDisplayOrganizationMcps,\n\t\t\t\t\tisFetching: false,\n\t\t\t\t}\n\n\t\t\t\t// Notify state change\n\t\t\t\tthis.notifyStateChange()\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tcase \"FETCH_ERROR\": {\n\t\t\t\t// Preserve current filters and items\n\t\t\t\tconst { filters, activeTab, allItems, displayItems } = this.state\n\n\t\t\t\t// Reset state but preserve filters and items\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.getDefaultState(),\n\t\t\t\t\tfilters,\n\t\t\t\t\tactiveTab,\n\t\t\t\t\tallItems,\n\t\t\t\t\tdisplayItems,\n\t\t\t\t\tisFetching: false,\n\t\t\t\t}\n\t\t\t\tthis.notifyStateChange()\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tcase \"SET_ACTIVE_TAB\": {\n\t\t\t\tconst { tab } = transition.payload as TransitionPayloads[\"SET_ACTIVE_TAB\"]\n\n\t\t\t\t// Update tab state\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tactiveTab: tab,\n\t\t\t\t}\n\n\t\t\t\t// Tab switching no longer triggers fetch - data comes automatically from extension\n\n\t\t\t\tthis.notifyStateChange()\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tcase \"UPDATE_FILTERS\": {\n\t\t\t\tconst { filters = {} } = (transition.payload as TransitionPayloads[\"UPDATE_FILTERS\"]) || {}\n\n\t\t\t\t// Create new filters object preserving existing values for undefined fields\n\t\t\t\tconst updatedFilters = {\n\t\t\t\t\ttype: filters.type !== undefined ? filters.type : this.state.filters.type,\n\t\t\t\t\tsearch: filters.search !== undefined ? filters.search : this.state.filters.search,\n\t\t\t\t\ttags: filters.tags !== undefined ? filters.tags : this.state.filters.tags,\n\t\t\t\t}\n\n\t\t\t\t// Update filters first\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tfilters: updatedFilters,\n\t\t\t\t}\n\n\t\t\t\t// Apply filters to displayItems and displayOrganizationMcps with the updated filters\n\t\t\t\tconst newDisplayItems = this.filterItems(this.state.allItems)\n\t\t\t\tconst newDisplayOrganizationMcps = this.filterItems(this.state.organizationMcps)\n\n\t\t\t\t// Update state with filtered items\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tdisplayItems: newDisplayItems,\n\t\t\t\t\tdisplayOrganizationMcps: newDisplayOrganizationMcps,\n\t\t\t\t}\n\n\t\t\t\t// Send filter message\n\t\t\t\tvscode.postMessage({\n\t\t\t\t\ttype: \"filterMarketplaceItems\",\n\t\t\t\t\tfilters: updatedFilters,\n\t\t\t\t} as WebviewMessage)\n\n\t\t\t\tthis.notifyStateChange()\n\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isFilterActive(): boolean {\n\t\treturn !!(this.state.filters.type || this.state.filters.search || this.state.filters.tags.length > 0)\n\t}\n\n\tpublic filterItems(items: MarketplaceItem[]): MarketplaceItem[] {\n\t\tconst { type, search, tags } = this.state.filters\n\n\t\treturn items\n\t\t\t.map((item) => {\n\t\t\t\t// Create a copy of the item to modify\n\t\t\t\tconst itemCopy = { ...item }\n\n\t\t\t\t// Check specific match conditions for the main item\n\t\t\t\tconst typeMatch = !type || item.type === type\n\t\t\t\tconst nameMatch = search ? item.name.toLowerCase().includes(search.toLowerCase()) : false\n\t\t\t\tconst descriptionMatch = search\n\t\t\t\t\t? (item.description || \"\").toLowerCase().includes(search.toLowerCase())\n\t\t\t\t\t: false\n\t\t\t\tconst tagMatch = tags.length > 0 ? item.tags?.some((tag) => tags.includes(tag)) : false\n\n\t\t\t\t// Determine if the main item matches all filters\n\t\t\t\tconst mainItemMatches =\n\t\t\t\t\ttypeMatch && (!search || nameMatch || descriptionMatch) && (!tags.length || tagMatch)\n\n\t\t\t\tconst hasMatchingSubcomponents = false\n\n\t\t\t\t// Return the item if it matches or has matching subcomponents\n\t\t\t\tif (mainItemMatches || Boolean(hasMatchingSubcomponents)) {\n\t\t\t\t\treturn itemCopy\n\t\t\t\t}\n\n\t\t\t\treturn null\n\t\t\t})\n\t\t\t.filter((item): item is MarketplaceItem => item !== null)\n\t}\n\n\tpublic async handleMessage(message: any): Promise<void> {\n\t\t// Handle empty or invalid message\n\t\tif (!message || !message.type || message.type === \"invalidType\") {\n\t\t\tthis.state = {\n\t\t\t\t...this.getDefaultState(),\n\t\t\t}\n\t\t\tthis.notifyStateChange()\n\t\t\treturn\n\t\t}\n\n\t\t// Handle state updates\n\t\tif (message.type === \"state\") {\n\t\t\t// Handle empty state\n\t\t\tif (!message.state) {\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.getDefaultState(),\n\t\t\t\t}\n\t\t\t\tthis.notifyStateChange()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Handle state updates for marketplace items\n\t\t\t// The state.marketplaceItems come from ClineProvider, see the file src/core/webview/ClineProvider.ts\n\t\t\tconst marketplaceItems = message.state.marketplaceItems\n\n\t\t\tif (marketplaceItems !== undefined) {\n\t\t\t\t// Always use the marketplace items from the extension when they're provided\n\t\t\t\t// This ensures fresh data is always displayed\n\t\t\t\tconst items = [...marketplaceItems]\n\n\t\t\t\t// Calculate display items based on current filters\n\t\t\t\t// If no filters are active, show all items\n\t\t\t\t// If filters are active, apply filtering\n\t\t\t\tlet newDisplayItems: MarketplaceItem[]\n\t\t\t\tlet newDisplayOrganizationMcps: MarketplaceItem[]\n\t\t\t\tif (this.isFilterActive()) {\n\t\t\t\t\tnewDisplayItems = this.filterItems(items)\n\t\t\t\t\tnewDisplayOrganizationMcps = this.filterItems(this.state.organizationMcps)\n\t\t\t\t} else {\n\t\t\t\t\t// No filters active - show all items\n\t\t\t\t\tnewDisplayItems = items\n\t\t\t\t\tnewDisplayOrganizationMcps = this.state.organizationMcps\n\t\t\t\t}\n\n\t\t\t\t// Update state in a single operation\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tisFetching: false,\n\t\t\t\t\tallItems: items,\n\t\t\t\t\tdisplayItems: newDisplayItems,\n\t\t\t\t\tdisplayOrganizationMcps: newDisplayOrganizationMcps,\n\t\t\t\t}\n\t\t\t\t// Notification is handled below after all state parts are processed\n\t\t\t}\n\n\t\t\t// Notify state change once after processing all parts (sources, metadata, items)\n\t\t\t// This prevents multiple redraws for a single 'state' message\n\t\t\t// Determine if notification should preserve tab based on item update logic\n\t\t\tconst isOnMcpTab = this.state.activeTab === \"mcp\"\n\t\t\tconst hasCurrentItems = (this.state.allItems || []).length > 0\n\t\t\tconst preserveTab = !isOnMcpTab && hasCurrentItems\n\n\t\t\tthis.notifyStateChange(preserveTab)\n\t\t}\n\n\t\t// Handle marketplace button clicks\n\t\tif (message.type === \"marketplaceButtonClicked\") {\n\t\t\tif (message.text) {\n\t\t\t\t// Error case\n\t\t\t\tvoid this.transition({ type: \"FETCH_ERROR\" })\n\t\t\t} else {\n\t\t\t\t// Check if a specific tab is requested\n\t\t\t\tif (\n\t\t\t\t\tmessage.values?.marketplaceTab &&\n\t\t\t\t\t(message.values.marketplaceTab === \"mcp\" || message.values.marketplaceTab === \"mode\")\n\t\t\t\t) {\n\t\t\t\t\t// Set the active tab\n\t\t\t\t\tvoid this.transition({\n\t\t\t\t\t\ttype: \"SET_ACTIVE_TAB\",\n\t\t\t\t\t\tpayload: { tab: message.values.marketplaceTab },\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t// Refresh request\n\t\t\t\tvoid this.transition({ type: \"FETCH_ITEMS\" })\n\t\t\t}\n\t\t}\n\n\t\t// Handle marketplace data updates (fetched on demand)\n\t\tif (message.type === \"marketplaceData\") {\n\t\t\tconst marketplaceItems = message.marketplaceItems\n\t\t\tconst organizationMcps = message.organizationMcps || []\n\n\t\t\tif (marketplaceItems !== undefined) {\n\t\t\t\t// Always use the marketplace items from the extension when they're provided\n\t\t\t\t// This ensures fresh data is always displayed\n\t\t\t\tconst items = [...marketplaceItems]\n\t\t\t\tconst orgMcps = [...organizationMcps]\n\t\t\t\tconst newDisplayItems = this.isFilterActive() ? this.filterItems(items) : items\n\t\t\t\tconst newDisplayOrganizationMcps = this.isFilterActive() ? this.filterItems(orgMcps) : orgMcps\n\n\t\t\t\t// Update state in a single operation\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\tisFetching: false,\n\t\t\t\t\tallItems: items,\n\t\t\t\t\torganizationMcps: orgMcps,\n\t\t\t\t\tdisplayItems: newDisplayItems,\n\t\t\t\t\tdisplayOrganizationMcps: newDisplayOrganizationMcps,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Notify state change\n\t\t\tthis.notifyStateChange()\n\t\t}\n\t}\n}\n", + "var t,i=\"undefined\"!=typeof window?window:void 0,e=\"undefined\"!=typeof globalThis?globalThis:i,r=Array.prototype,s=r.forEach,n=r.indexOf,o=null==e?void 0:e.navigator,a=null==e?void 0:e.document,l=null==e?void 0:e.location,h=null==e?void 0:e.fetch,u=null!=e&&e.XMLHttpRequest&&\"withCredentials\"in new e.XMLHttpRequest?e.XMLHttpRequest:void 0,d=null==e?void 0:e.AbortController,v=null==o?void 0:o.userAgent,c=null!=i?i:{},f={DEBUG:!1,LIB_VERSION:\"1.242.1\"},p=\"$copy_autocapture\",g=[\"$snapshot\",\"$pageview\",\"$pageleave\",\"$set\",\"survey dismissed\",\"survey sent\",\"survey shown\",\"$identify\",\"$groupidentify\",\"$create_alias\",\"$$client_ingestion_warning\",\"$web_experiment_applied\",\"$feature_enrollment_update\",\"$feature_flag_called\"];!function(t){t.GZipJS=\"gzip-js\",t.Base64=\"base64\"}(t||(t={}));var _=[\"fatal\",\"error\",\"warning\",\"log\",\"info\",\"debug\"];function m(t,i){return-1!==t.indexOf(i)}var b=function(t){return t.trim()},w=function(t){return t.replace(/^\\$/,\"\")};var y=Array.isArray,S=Object.prototype,$=S.hasOwnProperty,k=S.toString,x=y||function(t){return\"[object Array]\"===k.call(t)},E=t=>\"function\"==typeof t,I=t=>t===Object(t)&&!x(t),P=t=>{if(I(t)){for(var i in t)if($.call(t,i))return!1;return!0}return!1},R=t=>void 0===t,T=t=>\"[object String]\"==k.call(t),M=t=>T(t)&&0===t.trim().length,C=t=>null===t,O=t=>R(t)||C(t),F=t=>\"[object Number]\"==k.call(t),A=t=>\"[object Boolean]\"===k.call(t),D=t=>t instanceof FormData,j=t=>m(g,t),L=t=>{var e={t:function(e){if(i&&(f.DEBUG||c.POSTHOG_DEBUG)&&!R(i.console)&&i.console){for(var r=(\"__rrweb_original__\"in i.console[e]?i.console[e].__rrweb_original__:i.console[e]),s=arguments.length,n=new Array(s>1?s-1:0),o=1;o<s;o++)n[o-1]=arguments[o];r(t,...n)}},info:function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.t(\"log\",...i)},warn:function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.t(\"warn\",...i)},error:function(){for(var t=arguments.length,i=new Array(t),r=0;r<t;r++)i[r]=arguments[r];e.t(\"error\",...i)},critical:function(){for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];console.error(t,...e)},uninitializedWarning:t=>{e.error(\"You must initialize PostHog before calling \"+t)},createLogger:i=>L(t+\" \"+i)};return e},N=L(\"[PostHog.js]\"),z=N.createLogger,U=z(\"[ExternalScriptsLoader]\"),q=(t,i,e)=>{if(t.config.disable_external_dependency_loading)return U.warn(i+\" was requested but loading of external scripts is disabled.\"),e(\"Loading of external scripts is disabled\");var r=null==a?void 0:a.querySelectorAll(\"script\");if(r)for(var s=0;s<r.length;s++)if(r[s].src===i)return e();var n=()=>{if(!a)return e(\"document not found\");var r=a.createElement(\"script\");if(r.type=\"text/javascript\",r.crossOrigin=\"anonymous\",r.src=i,r.onload=t=>e(void 0,t),r.onerror=t=>e(t),t.config.prepare_external_dependency_script&&(r=t.config.prepare_external_dependency_script(r)),!r)return e(\"prepare_external_dependency_script returned null\");var s,n=a.querySelectorAll(\"body > script\");n.length>0?null==(s=n[0].parentNode)||s.insertBefore(r,n[0]):a.body.appendChild(r)};null!=a&&a.body?n():null==a||a.addEventListener(\"DOMContentLoaded\",n)};function B(){return B=Object.assign?Object.assign.bind():function(t){for(var i=1;i<arguments.length;i++){var e=arguments[i];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},B.apply(this,arguments)}function H(t,i){if(null==t)return{};var e,r,s={},n=Object.keys(t);for(r=0;r<n.length;r++)e=n[r],i.indexOf(e)>=0||(s[e]=t[e]);return s}c.__PosthogExtensions__=c.__PosthogExtensions__||{},c.__PosthogExtensions__.loadExternalDependency=(t,i,e)=>{var r=\"/static/\"+i+\".js?v=\"+t.version;if(\"remote-config\"===i&&(r=\"/array/\"+t.config.token+\"/config.js\"),\"toolbar\"===i){var s=3e5;r=r+\"&t=\"+Math.floor(Date.now()/s)*s}var n=t.requestRouter.endpointFor(\"assets\",r);q(t,n,e)},c.__PosthogExtensions__.loadSiteApp=(t,i,e)=>{var r=t.requestRouter.endpointFor(\"api\",i);q(t,r,e)};var W={};function G(t,i,e){if(x(t))if(s&&t.forEach===s)t.forEach(i,e);else if(\"length\"in t&&t.length===+t.length)for(var r=0,n=t.length;r<n;r++)if(r in t&&i.call(e,t[r],r)===W)return}function J(t,i,e){if(!O(t)){if(x(t))return G(t,i,e);if(D(t)){for(var r of t.entries())if(i.call(e,r[1],r[0])===W)return}else for(var s in t)if($.call(t,s)&&i.call(e,t[s],s)===W)return}}var V=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),r=1;r<i;r++)e[r-1]=arguments[r];return G(e,(function(i){for(var e in i)void 0!==i[e]&&(t[e]=i[e])})),t},K=function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),r=1;r<i;r++)e[r-1]=arguments[r];return G(e,(function(i){G(i,(function(i){t.push(i)}))})),t};function Y(t){for(var i=Object.keys(t),e=i.length,r=new Array(e);e--;)r[e]=[i[e],t[i[e]]];return r}var X=function(t){try{return t()}catch(t){return}},Q=function(t){return function(){try{for(var i=arguments.length,e=new Array(i),r=0;r<i;r++)e[r]=arguments[r];return t.apply(this,e)}catch(t){N.critical(\"Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A.\"),N.critical(t)}}},Z=function(t){var i={};return J(t,(function(t,e){(T(t)&&t.length>0||F(t))&&(i[e]=t)})),i};function tt(t,i){return e=t,r=t=>T(t)&&!C(i)?t.slice(0,i):t,s=new Set,function t(i,e){return i!==Object(i)?r?r(i,e):i:s.has(i)?void 0:(s.add(i),x(i)?(n=[],G(i,(i=>{n.push(t(i))}))):(n={},J(i,((i,e)=>{s.has(i)||(n[e]=t(i,e))}))),n);var n}(e);var e,r,s}var it=[\"herokuapp.com\",\"vercel.app\",\"netlify.app\"];function et(t){var i=null==t?void 0:t.hostname;if(!T(i))return!1;var e=i.split(\".\").slice(-2).join(\".\");for(var r of it)if(e===r)return!1;return!0}function rt(t,i){for(var e=0;e<t.length;e++)if(i(t[e]))return t[e]}function st(t,i,e,r){var{capture:s=!1,passive:n=!0}=null!=r?r:{};null==t||t.addEventListener(i,e,{capture:s,passive:n})}var nt=\"$people_distinct_id\",ot=\"__alias\",at=\"__timers\",lt=\"$autocapture_disabled_server_side\",ht=\"$heatmaps_enabled_server_side\",ut=\"$exception_capture_enabled_server_side\",dt=\"$web_vitals_enabled_server_side\",vt=\"$dead_clicks_enabled_server_side\",ct=\"$web_vitals_allowed_metrics\",ft=\"$session_recording_enabled_server_side\",pt=\"$console_log_recording_enabled_server_side\",gt=\"$session_recording_network_payload_capture\",_t=\"$session_recording_masking\",mt=\"$session_recording_canvas_recording\",bt=\"$replay_sample_rate\",wt=\"$replay_minimum_duration\",yt=\"$replay_script_config\",St=\"$sesid\",$t=\"$session_is_sampled\",kt=\"$session_recording_url_trigger_activated_session\",xt=\"$session_recording_event_trigger_activated_session\",Et=\"$enabled_feature_flags\",It=\"$early_access_features\",Pt=\"$feature_flag_details\",Rt=\"$stored_person_properties\",Tt=\"$stored_group_properties\",Mt=\"$surveys\",Ct=\"$surveys_activated\",Ot=\"$flag_call_reported\",Ft=\"$user_state\",At=\"$client_session_props\",Dt=\"$capture_rate_limit\",jt=\"$initial_campaign_params\",Lt=\"$initial_referrer_info\",Nt=\"$initial_person_info\",zt=\"$epp\",Ut=\"__POSTHOG_TOOLBAR__\",qt=\"$posthog_cookieless\",Bt=[nt,ot,\"__cmpns\",at,ft,ht,St,Et,Ft,It,Pt,Tt,Rt,Mt,Ot,At,Dt,jt,Lt,zt,Nt];function Ht(t){return t instanceof Element&&(t.id===Ut||!(null==t.closest||!t.closest(\".toolbar-global-fade-container\")))}function Wt(t){return!!t&&1===t.nodeType}function Gt(t,i){return!!t&&!!t.tagName&&t.tagName.toLowerCase()===i.toLowerCase()}function Jt(t){return!!t&&3===t.nodeType}function Vt(t){return!!t&&11===t.nodeType}function Kt(t){return t?b(t).split(/\\s+/):[]}function Yt(t){var e=null==i?void 0:i.location.href;return!!(e&&t&&t.some((t=>e.match(t))))}function Xt(t){var i=\"\";switch(typeof t.className){case\"string\":i=t.className;break;case\"object\":i=(t.className&&\"baseVal\"in t.className?t.className.baseVal:null)||t.getAttribute(\"class\")||\"\";break;default:i=\"\"}return Kt(i)}function Qt(t){return O(t)?null:b(t).split(/(\\s+)/).filter((t=>vi(t))).join(\"\").replace(/[\\r\\n]/g,\" \").replace(/[ ]+/g,\" \").substring(0,255)}function Zt(t){var i=\"\";return si(t)&&!ni(t)&&t.childNodes&&t.childNodes.length&&J(t.childNodes,(function(t){var e;Jt(t)&&t.textContent&&(i+=null!==(e=Qt(t.textContent))&&void 0!==e?e:\"\")})),b(i)}function ti(t){return R(t.target)?t.srcElement||null:null!=(i=t.target)&&i.shadowRoot?t.composedPath()[0]||null:t.target||null;var i}var ii=[\"a\",\"button\",\"form\",\"input\",\"select\",\"textarea\",\"label\"];function ei(t){var i=t.parentNode;return!(!i||!Wt(i))&&i}function ri(t,e,r,s,n){var o,a,l;if(void 0===r&&(r=void 0),!i||!t||Gt(t,\"html\")||!Wt(t))return!1;if(null!=(o=r)&&o.url_allowlist&&!Yt(r.url_allowlist))return!1;if(null!=(a=r)&&a.url_ignorelist&&Yt(r.url_ignorelist))return!1;if(null!=(l=r)&&l.dom_event_allowlist){var h=r.dom_event_allowlist;if(h&&!h.some((t=>e.type===t)))return!1}for(var u=!1,d=[t],v=!0,c=t;c.parentNode&&!Gt(c,\"body\");)if(Vt(c.parentNode))d.push(c.parentNode.host),c=c.parentNode.host;else{if(!(v=ei(c)))break;if(s||ii.indexOf(v.tagName.toLowerCase())>-1)u=!0;else{var f=i.getComputedStyle(v);f&&\"pointer\"===f.getPropertyValue(\"cursor\")&&(u=!0)}d.push(v),c=v}if(!function(t,i){var e=null==i?void 0:i.element_allowlist;if(R(e))return!0;var r=function(t){if(e.some((i=>t.tagName.toLowerCase()===i)))return{v:!0}};for(var s of t){var n=r(s);if(\"object\"==typeof n)return n.v}return!1}(d,r))return!1;if(!function(t,i){var e=null==i?void 0:i.css_selector_allowlist;if(R(e))return!0;var r=function(t){if(e.some((i=>t.matches(i))))return{v:!0}};for(var s of t){var n=r(s);if(\"object\"==typeof n)return n.v}return!1}(d,r))return!1;var p=i.getComputedStyle(t);if(p&&\"pointer\"===p.getPropertyValue(\"cursor\")&&\"click\"===e.type)return!0;var g=t.tagName.toLowerCase();switch(g){case\"html\":return!1;case\"form\":return(n||[\"submit\"]).indexOf(e.type)>=0;case\"input\":case\"select\":case\"textarea\":return(n||[\"change\",\"click\"]).indexOf(e.type)>=0;default:return u?(n||[\"click\"]).indexOf(e.type)>=0:(n||[\"click\"]).indexOf(e.type)>=0&&(ii.indexOf(g)>-1||\"true\"===t.getAttribute(\"contenteditable\"))}}function si(t){for(var i=t;i.parentNode&&!Gt(i,\"body\");i=i.parentNode){var e=Xt(i);if(m(e,\"ph-sensitive\")||m(e,\"ph-no-capture\"))return!1}if(m(Xt(t),\"ph-include\"))return!0;var r=t.type||\"\";if(T(r))switch(r.toLowerCase()){case\"hidden\":case\"password\":return!1}var s=t.name||t.id||\"\";if(T(s)){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(s.replace(/[^a-zA-Z0-9]/g,\"\")))return!1}return!0}function ni(t){return!!(Gt(t,\"input\")&&![\"button\",\"checkbox\",\"submit\",\"reset\"].includes(t.type)||Gt(t,\"select\")||Gt(t,\"textarea\")||\"true\"===t.getAttribute(\"contenteditable\"))}var oi=\"(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})\",ai=new RegExp(\"^(?:\"+oi+\")$\"),li=new RegExp(oi),hi=\"\\\\d{3}-?\\\\d{2}-?\\\\d{4}\",ui=new RegExp(\"^(\"+hi+\")$\"),di=new RegExp(\"(\"+hi+\")\");function vi(t,i){if(void 0===i&&(i=!0),O(t))return!1;if(T(t)){if(t=b(t),(i?ai:li).test((t||\"\").replace(/[- ]/g,\"\")))return!1;if((i?ui:di).test(t))return!1}return!0}function ci(t){var i=Zt(t);return vi(i=(i+\" \"+fi(t)).trim())?i:\"\"}function fi(t){var i=\"\";return t&&t.childNodes&&t.childNodes.length&&J(t.childNodes,(function(t){var e;if(t&&\"span\"===(null==(e=t.tagName)?void 0:e.toLowerCase()))try{var r=Zt(t);i=(i+\" \"+r).trim(),t.childNodes&&t.childNodes.length&&(i=(i+\" \"+fi(t)).trim())}catch(t){N.error(\"[AutoCapture]\",t)}})),i}function pi(t){return function(t){var i=t.map((t=>{var i,e,r=\"\";if(t.tag_name&&(r+=t.tag_name),t.attr_class)for(var s of(t.attr_class.sort(),t.attr_class))r+=\".\"+s.replace(/\"/g,\"\");var n=B({},t.text?{text:t.text}:{},{\"nth-child\":null!==(i=t.nth_child)&&void 0!==i?i:0,\"nth-of-type\":null!==(e=t.nth_of_type)&&void 0!==e?e:0},t.href?{href:t.href}:{},t.attr_id?{attr_id:t.attr_id}:{},t.attributes),o={};return Y(n).sort(((t,i)=>{var[e]=t,[r]=i;return e.localeCompare(r)})).forEach((t=>{var[i,e]=t;return o[gi(i.toString())]=gi(e.toString())})),r+=\":\",r+=Y(n).map((t=>{var[i,e]=t;return i+'=\"'+e+'\"'})).join(\"\")}));return i.join(\";\")}(function(t){return t.map((t=>{var i,e,r={text:null==(i=t.$el_text)?void 0:i.slice(0,400),tag_name:t.tag_name,href:null==(e=t.attr__href)?void 0:e.slice(0,2048),attr_class:_i(t),attr_id:t.attr__id,nth_child:t.nth_child,nth_of_type:t.nth_of_type,attributes:{}};return Y(t).filter((t=>{var[i]=t;return 0===i.indexOf(\"attr__\")})).forEach((t=>{var[i,e]=t;return r.attributes[i]=e})),r}))}(t))}function gi(t){return t.replace(/\"|\\\\\"/g,'\\\\\"')}function _i(t){var i=t.attr__class;return i?x(i)?i:Kt(i):void 0}class mi{constructor(){this.clicks=[]}isRageClick(t,i,e){var r=this.clicks[this.clicks.length-1];if(r&&Math.abs(t-r.x)+Math.abs(i-r.y)<30&&e-r.timestamp<1e3){if(this.clicks.push({x:t,y:i,timestamp:e}),3===this.clicks.length)return!0}else this.clicks=[{x:t,y:i,timestamp:e}];return!1}}var bi=[\"localhost\",\"127.0.0.1\"],wi=t=>{var i=null==a?void 0:a.createElement(\"a\");return R(i)?null:(i.href=t,i)},yi=function(t,i){var e,r;void 0===i&&(i=\"&\");var s=[];return J(t,(function(t,i){R(t)||R(i)||\"undefined\"===i||(e=encodeURIComponent((t=>t instanceof File)(t)?t.name:t.toString()),r=encodeURIComponent(i),s[s.length]=r+\"=\"+e)})),s.join(i)},Si=function(t,i){for(var e,r=((t.split(\"#\")[0]||\"\").split(/\\?(.*)/)[1]||\"\").replace(/^\\?+/g,\"\").split(\"&\"),s=0;s<r.length;s++){var n=r[s].split(\"=\");if(n[0]===i){e=n;break}}if(!x(e)||e.length<2)return\"\";var o=e[1];try{o=decodeURIComponent(o)}catch(t){N.error(\"Skipping decoding for malformed query param: \"+o)}return o.replace(/\\+/g,\" \")},$i=function(t,i,e){if(!t||!i||!i.length)return t;for(var r=t.split(\"#\"),s=r[0]||\"\",n=r[1],o=s.split(\"?\"),a=o[1],l=o[0],h=(a||\"\").split(\"&\"),u=[],d=0;d<h.length;d++){var v=h[d].split(\"=\");x(v)&&(i.includes(v[0])?u.push(v[0]+\"=\"+e):u.push(h[d]))}var c=l;return null!=a&&(c+=\"?\"+u.join(\"&\")),null!=n&&(c+=\"#\"+n),c},ki=function(t,i){var e=t.match(new RegExp(i+\"=([^&]*)\"));return e?e[1]:null},xi=z(\"[AutoCapture]\");function Ei(t,i){return i.length>t?i.slice(0,t)+\"...\":i}function Ii(t){if(t.previousElementSibling)return t.previousElementSibling;var i=t;do{i=i.previousSibling}while(i&&!Wt(i));return i}function Pi(t,i,e,r){var s=t.tagName.toLowerCase(),n={tag_name:s};ii.indexOf(s)>-1&&!e&&(\"a\"===s.toLowerCase()||\"button\"===s.toLowerCase()?n.$el_text=Ei(1024,ci(t)):n.$el_text=Ei(1024,Zt(t)));var o=Xt(t);o.length>0&&(n.classes=o.filter((function(t){return\"\"!==t}))),J(t.attributes,(function(e){var s;if((!ni(t)||-1!==[\"name\",\"id\",\"class\",\"aria-label\"].indexOf(e.name))&&((null==r||!r.includes(e.name))&&!i&&vi(e.value)&&(s=e.name,!T(s)||\"_ngcontent\"!==s.substring(0,10)&&\"_nghost\"!==s.substring(0,7)))){var o=e.value;\"class\"===e.name&&(o=Kt(o).join(\" \")),n[\"attr__\"+e.name]=Ei(1024,o)}}));for(var a=1,l=1,h=t;h=Ii(h);)a++,h.tagName===t.tagName&&l++;return n.nth_child=a,n.nth_of_type=l,n}function Ri(t,e){for(var r,s,{e:n,maskAllElementAttributes:o,maskAllText:a,elementAttributeIgnoreList:l,elementsChainAsString:h}=e,u=[t],d=t;d.parentNode&&!Gt(d,\"body\");)Vt(d.parentNode)?(u.push(d.parentNode.host),d=d.parentNode.host):(u.push(d.parentNode),d=d.parentNode);var v,c=[],f={},p=!1,g=!1;if(J(u,(t=>{var i=si(t);\"a\"===t.tagName.toLowerCase()&&(p=t.getAttribute(\"href\"),p=i&&p&&vi(p)&&p),m(Xt(t),\"ph-no-capture\")&&(g=!0),c.push(Pi(t,o,a,l));var e=function(t){if(!si(t))return{};var i={};return J(t.attributes,(function(t){if(t.name&&0===t.name.indexOf(\"data-ph-capture-attribute\")){var e=t.name.replace(\"data-ph-capture-attribute-\",\"\"),r=t.value;e&&r&&vi(r)&&(i[e]=r)}})),i}(t);V(f,e)})),g)return{props:{},explicitNoCapture:g};if(a||(\"a\"===t.tagName.toLowerCase()||\"button\"===t.tagName.toLowerCase()?c[0].$el_text=ci(t):c[0].$el_text=Zt(t)),p){var _,b;c[0].attr__href=p;var w=null==(_=wi(p))?void 0:_.host,y=null==i||null==(b=i.location)?void 0:b.host;w&&y&&w!==y&&(v=p)}return{props:V({$event_type:n.type,$ce_version:1},h?{}:{$elements:c},{$elements_chain:pi(c)},null!=(r=c[0])&&r.$el_text?{$el_text:null==(s=c[0])?void 0:s.$el_text}:{},v&&\"click\"===n.type?{$external_click_url:v}:{},f)}}class Ti{constructor(t){this.i=!1,this.o=null,this.rageclicks=new mi,this.h=!1,this.instance=t,this.m=null}get S(){var t,i,e=I(this.instance.config.autocapture)?this.instance.config.autocapture:{};return e.url_allowlist=null==(t=e.url_allowlist)?void 0:t.map((t=>new RegExp(t))),e.url_ignorelist=null==(i=e.url_ignorelist)?void 0:i.map((t=>new RegExp(t))),e}$(){if(this.isBrowserSupported()){if(i&&a){var t=t=>{t=t||(null==i?void 0:i.event);try{this.k(t)}catch(t){xi.error(\"Failed to capture event\",t)}};if(st(a,\"submit\",t,{capture:!0}),st(a,\"change\",t,{capture:!0}),st(a,\"click\",t,{capture:!0}),this.S.capture_copied_text){var e=t=>{t=t||(null==i?void 0:i.event),this.k(t,p)};st(a,\"copy\",e,{capture:!0}),st(a,\"cut\",e,{capture:!0})}}}else xi.info(\"Disabling Automatic Event Collection because this browser is not supported\")}startIfEnabled(){this.isEnabled&&!this.i&&(this.$(),this.i=!0)}onRemoteConfig(t){t.elementsChainAsString&&(this.h=t.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[lt]:!!t.autocapture_opt_out}),this.o=!!t.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(t){this.m=t}getElementSelectors(t){var i,e=[];return null==(i=this.m)||i.forEach((i=>{var r=null==a?void 0:a.querySelectorAll(i);null==r||r.forEach((r=>{t===r&&e.push(i)}))})),e}get isEnabled(){var t,i,e=null==(t=this.instance.persistence)?void 0:t.props[lt],r=this.o;if(C(r)&&!A(e)&&!this.instance.config.advanced_disable_decide)return!1;var s=null!==(i=this.o)&&void 0!==i?i:!!e;return!!this.instance.config.autocapture&&!s}k(t,e){if(void 0===e&&(e=\"$autocapture\"),this.isEnabled){var r,s=ti(t);if(Jt(s)&&(s=s.parentNode||null),\"$autocapture\"===e&&\"click\"===t.type&&t instanceof MouseEvent)this.instance.config.rageclick&&null!=(r=this.rageclicks)&&r.isRageClick(t.clientX,t.clientY,(new Date).getTime())&&this.k(t,\"$rageclick\");var n=e===p;if(s&&ri(s,t,this.S,n,n?[\"copy\",\"cut\"]:void 0)){var{props:o,explicitNoCapture:a}=Ri(s,{e:t,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.S.element_attribute_ignorelist,elementsChainAsString:this.h});if(a)return!1;var l=this.getElementSelectors(s);if(l&&l.length>0&&(o.$element_selectors=l),e===p){var h,u=Qt(null==i||null==(h=i.getSelection())?void 0:h.toString()),d=t.type||\"clipboard\";if(!u)return!1;o.$selected_content=u,o.$copy_type=d}return this.instance.capture(e,o),!0}}}isBrowserSupported(){return E(null==a?void 0:a.querySelectorAll)}}Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Number.isInteger||(Number.isInteger=function(t){return F(t)&&isFinite(t)&&Math.floor(t)===t});var Mi=\"0123456789abcdef\";class Ci{constructor(t){if(this.bytes=t,16!==t.length)throw new TypeError(\"not 128-bit length\")}static fromFieldsV7(t,i,e,r){if(!Number.isInteger(t)||!Number.isInteger(i)||!Number.isInteger(e)||!Number.isInteger(r)||t<0||i<0||e<0||r<0||t>0xffffffffffff||i>4095||e>1073741823||r>4294967295)throw new RangeError(\"invalid field value\");var s=new Uint8Array(16);return s[0]=t/Math.pow(2,40),s[1]=t/Math.pow(2,32),s[2]=t/Math.pow(2,24),s[3]=t/Math.pow(2,16),s[4]=t/Math.pow(2,8),s[5]=t,s[6]=112|i>>>8,s[7]=i,s[8]=128|e>>>24,s[9]=e>>>16,s[10]=e>>>8,s[11]=e,s[12]=r>>>24,s[13]=r>>>16,s[14]=r>>>8,s[15]=r,new Ci(s)}toString(){for(var t=\"\",i=0;i<this.bytes.length;i++)t=t+Mi.charAt(this.bytes[i]>>>4)+Mi.charAt(15&this.bytes[i]),3!==i&&5!==i&&7!==i&&9!==i||(t+=\"-\");if(36!==t.length)throw new Error(\"Invalid UUIDv7 was generated\");return t}clone(){return new Ci(this.bytes.slice(0))}equals(t){return 0===this.compareTo(t)}compareTo(t){for(var i=0;i<16;i++){var e=this.bytes[i]-t.bytes[i];if(0!==e)return Math.sign(e)}return 0}}class Oi{constructor(){this.I=0,this.P=0,this.R=new Di}generate(){var t=this.generateOrAbort();if(R(t)){this.I=0;var i=this.generateOrAbort();if(R(i))throw new Error(\"Could not generate UUID after timestamp reset\");return i}return t}generateOrAbort(){var t=Date.now();if(t>this.I)this.I=t,this.T();else{if(!(t+1e4>this.I))return;this.P++,this.P>4398046511103&&(this.I++,this.T())}return Ci.fromFieldsV7(this.I,Math.trunc(this.P/Math.pow(2,30)),this.P&Math.pow(2,30)-1,this.R.nextUint32())}T(){this.P=1024*this.R.nextUint32()+(1023&this.R.nextUint32())}}var Fi,Ai=t=>{if(\"undefined\"!=typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw new Error(\"no cryptographically strong RNG available\");for(var i=0;i<t.length;i++)t[i]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return t};i&&!R(i.crypto)&&crypto.getRandomValues&&(Ai=t=>crypto.getRandomValues(t));class Di{constructor(){this.M=new Uint32Array(8),this.C=1/0}nextUint32(){return this.C>=this.M.length&&(Ai(this.M),this.C=0),this.M[this.C++]}}var ji=()=>Li().toString(),Li=()=>(Fi||(Fi=new Oi)).generate(),Ni=\"Thu, 01 Jan 1970 00:00:00 GMT\",zi=\"\";var Ui=/[a-z0-9][a-z0-9-]+\\.[a-z]{2,}$/i;function qi(t,i){if(i){var e=function(t,i){if(void 0===i&&(i=a),zi)return zi;if(!i)return\"\";if([\"localhost\",\"127.0.0.1\"].includes(t))return\"\";for(var e=t.split(\".\"),r=Math.min(e.length,8),s=\"dmn_chk_\"+ji(),n=new RegExp(\"(^|;)\\\\s*\"+s+\"=1\");!zi&&r--;){var o=e.slice(r).join(\".\"),l=s+\"=1;domain=.\"+o;i.cookie=l,n.test(i.cookie)&&(i.cookie=l+\";expires=\"+Ni,zi=o)}return zi}(t);if(!e){var r=(t=>{var i=t.match(Ui);return i?i[0]:\"\"})(t);r!==e&&N.info(\"Warning: cookie subdomain discovery mismatch\",r,e),e=r}return e?\"; domain=.\"+e:\"\"}return\"\"}var Bi,Hi={O:()=>!!a,F:function(t){N.error(\"cookieStore error: \"+t)},A:function(t){if(a){try{for(var i=t+\"=\",e=a.cookie.split(\";\").filter((t=>t.length)),r=0;r<e.length;r++){for(var s=e[r];\" \"==s.charAt(0);)s=s.substring(1,s.length);if(0===s.indexOf(i))return decodeURIComponent(s.substring(i.length,s.length))}}catch(t){}return null}},D:function(t){var i;try{i=JSON.parse(Hi.A(t))||{}}catch(t){}return i},j:function(t,i,e,r,s){if(a)try{var n=\"\",o=\"\",l=qi(a.location.hostname,r);if(e){var h=new Date;h.setTime(h.getTime()+24*e*60*60*1e3),n=\"; expires=\"+h.toUTCString()}s&&(o=\"; secure\");var u=t+\"=\"+encodeURIComponent(JSON.stringify(i))+n+\"; SameSite=Lax; path=/\"+l+o;return u.length>3686.4&&N.warn(\"cookieStore warning: large cookie, len=\"+u.length),a.cookie=u,u}catch(t){return}},L:function(t,i){try{Hi.j(t,\"\",-1,i)}catch(t){return}}},Wi=null,Gi={O:function(){if(!C(Wi))return Wi;var t=!0;if(R(i))t=!1;else try{var e=\"__mplssupport__\";Gi.j(e,\"xyz\"),'\"xyz\"'!==Gi.A(e)&&(t=!1),Gi.L(e)}catch(i){t=!1}return t||N.error(\"localStorage unsupported; falling back to cookie store\"),Wi=t,t},F:function(t){N.error(\"localStorage error: \"+t)},A:function(t){try{return null==i?void 0:i.localStorage.getItem(t)}catch(t){Gi.F(t)}return null},D:function(t){try{return JSON.parse(Gi.A(t))||{}}catch(t){}return null},j:function(t,e){try{null==i||i.localStorage.setItem(t,JSON.stringify(e))}catch(t){Gi.F(t)}},L:function(t){try{null==i||i.localStorage.removeItem(t)}catch(t){Gi.F(t)}}},Ji=[\"distinct_id\",St,$t,zt,Nt],Vi=B({},Gi,{D:function(t){try{var i={};try{i=Hi.D(t)||{}}catch(t){}var e=V(i,JSON.parse(Gi.A(t)||\"{}\"));return Gi.j(t,e),e}catch(t){}return null},j:function(t,i,e,r,s,n){try{Gi.j(t,i,void 0,void 0,n);var o={};Ji.forEach((t=>{i[t]&&(o[t]=i[t])})),Object.keys(o).length&&Hi.j(t,o,e,r,s,n)}catch(t){Gi.F(t)}},L:function(t,e){try{null==i||i.localStorage.removeItem(t),Hi.L(t,e)}catch(t){Gi.F(t)}}}),Ki={},Yi={O:function(){return!0},F:function(t){N.error(\"memoryStorage error: \"+t)},A:function(t){return Ki[t]||null},D:function(t){return Ki[t]||null},j:function(t,i){Ki[t]=i},L:function(t){delete Ki[t]}},Xi=null,Qi={O:function(){if(!C(Xi))return Xi;if(Xi=!0,R(i))Xi=!1;else try{var t=\"__support__\";Qi.j(t,\"xyz\"),'\"xyz\"'!==Qi.A(t)&&(Xi=!1),Qi.L(t)}catch(t){Xi=!1}return Xi},F:function(t){N.error(\"sessionStorage error: \",t)},A:function(t){try{return null==i?void 0:i.sessionStorage.getItem(t)}catch(t){Qi.F(t)}return null},D:function(t){try{return JSON.parse(Qi.A(t))||null}catch(t){}return null},j:function(t,e){try{null==i||i.sessionStorage.setItem(t,JSON.stringify(e))}catch(t){Qi.F(t)}},L:function(t){try{null==i||i.sessionStorage.removeItem(t)}catch(t){Qi.F(t)}}};!function(t){t[t.PENDING=-1]=\"PENDING\",t[t.DENIED=0]=\"DENIED\",t[t.GRANTED=1]=\"GRANTED\"}(Bi||(Bi={}));class Zi{constructor(t){this._instance=t}get S(){return this._instance.config}get consent(){return this.N()?Bi.DENIED:this.U}isOptedOut(){return this.consent===Bi.DENIED||this.consent===Bi.PENDING&&this.S.opt_out_capturing_by_default}isOptedIn(){return!this.isOptedOut()}optInOut(t){this.q.j(this.B,t?1:0,this.S.cookie_expiration,this.S.cross_subdomain_cookie,this.S.secure_cookie)}reset(){this.q.L(this.B,this.S.cross_subdomain_cookie)}get B(){var{token:t,opt_out_capturing_cookie_prefix:i}=this._instance.config;return(i||\"__ph_opt_in_out_\")+t}get U(){var t=this.q.A(this.B);return\"1\"===t?Bi.GRANTED:\"0\"===t?Bi.DENIED:Bi.PENDING}get q(){if(!this.H){var t=this.S.opt_out_capturing_persistence_type;this.H=\"localStorage\"===t?Gi:Hi;var i=\"localStorage\"===t?Hi:Gi;i.A(this.B)&&(this.H.A(this.B)||this.optInOut(\"1\"===i.A(this.B)),i.L(this.B,this.S.cross_subdomain_cookie))}return this.H}N(){return!!this.S.respect_dnt&&!!rt([null==o?void 0:o.doNotTrack,null==o?void 0:o.msDoNotTrack,c.doNotTrack],(t=>m([!0,1,\"1\",\"yes\"],t)))}}var te=z(\"[Dead Clicks]\"),ie=()=>!0,ee=t=>{var i,e=!(null==(i=t.instance.persistence)||!i.get_property(vt)),r=t.instance.config.capture_dead_clicks;return A(r)?r:e};class re{get lazyLoadedDeadClicksAutocapture(){return this.W}constructor(t,i,e){this.instance=t,this.isEnabled=i,this.onCapture=e,this.startIfEnabled()}onRemoteConfig(t){this.instance.persistence&&this.instance.persistence.register({[vt]:null==t?void 0:t.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.G((()=>{this.J()}))}G(t){var i,e;null!=(i=c.__PosthogExtensions__)&&i.initDeadClicksAutocapture&&t(),null==(e=c.__PosthogExtensions__)||null==e.loadExternalDependency||e.loadExternalDependency(this.instance,\"dead-clicks-autocapture\",(i=>{i?te.error(\"failed to load script\",i):t()}))}J(){var t;if(a){if(!this.W&&null!=(t=c.__PosthogExtensions__)&&t.initDeadClicksAutocapture){var i=I(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};i.__onCapture=this.onCapture,this.W=c.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,i),this.W.start(a),te.info(\"starting...\")}}else te.error(\"`document` not found. Cannot start.\")}stop(){this.W&&(this.W.stop(),this.W=void 0,te.info(\"stopping...\"))}}var se=z(\"[ExceptionAutocapture]\");class ne{constructor(t){var e;this.V=()=>{var t;if(i&&this.isEnabled&&null!=(t=c.__PosthogExtensions__)&&t.errorWrappingFunctions){var e=c.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,r=c.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,s=c.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.K&&this.S.capture_unhandled_errors&&(this.K=e(this.captureException.bind(this))),!this.Y&&this.S.capture_unhandled_rejections&&(this.Y=r(this.captureException.bind(this))),!this.X&&this.S.capture_console_errors&&(this.X=s(this.captureException.bind(this)))}catch(t){se.error(\"failed to start\",t),this.Z()}}},this._instance=t,this.tt=!(null==(e=this._instance.persistence)||!e.props[ut]),this.S=this.it(),this.startIfEnabled()}it(){var t=this._instance.config.capture_exceptions,i={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return I(t)?i=B({},i,t):(R(t)?this.tt:t)&&(i=B({},i,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),i}get isEnabled(){return this.S.capture_console_errors||this.S.capture_unhandled_errors||this.S.capture_unhandled_rejections}startIfEnabled(){this.isEnabled&&(se.info(\"enabled\"),this.G(this.V))}G(t){var i,e;null!=(i=c.__PosthogExtensions__)&&i.errorWrappingFunctions&&t(),null==(e=c.__PosthogExtensions__)||null==e.loadExternalDependency||e.loadExternalDependency(this._instance,\"exception-autocapture\",(i=>{if(i)return se.error(\"failed to load script\",i);t()}))}Z(){var t,i,e;null==(t=this.K)||t.call(this),this.K=void 0,null==(i=this.Y)||i.call(this),this.Y=void 0,null==(e=this.X)||e.call(this),this.X=void 0}onRemoteConfig(t){var i=t.autocaptureExceptions;this.tt=!!i||!1,this.S=this.it(),this._instance.persistence&&this._instance.persistence.register({[ut]:this.tt}),this.startIfEnabled()}captureException(t){var i=this._instance.requestRouter.endpointFor(\"ui\");t.$exception_personURL=i+\"/project/\"+this._instance.config.token+\"/person/\"+this._instance.get_distinct_id(),this._instance.exceptions.sendExceptionEvent(t)}}function oe(t){return!R(Event)&&ae(t,Event)}function ae(t,i){try{return t instanceof i}catch(t){return!1}}function le(t){switch(Object.prototype.toString.call(t)){case\"[object Error]\":case\"[object Exception]\":case\"[object DOMException]\":case\"[object DOMError]\":return!0;default:return ae(t,Error)}}function he(t,i){return Object.prototype.toString.call(t)===\"[object \"+i+\"]\"}function ue(t){return he(t,\"DOMError\")}var de=/\\(error: (.*)\\)/,ve=50,ce=\"?\";function fe(t,i,e,r){var s={platform:\"web:javascript\",filename:t,function:\"<anonymous>\"===i?ce:i,in_app:!0};return R(e)||(s.lineno=e),R(r)||(s.colno=r),s}var pe=/^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i,ge=/^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i,_e=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/,me=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i,be=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i,we=function(){for(var t=arguments.length,i=new Array(t),e=0;e<t;e++)i[e]=arguments[e];var r=i.sort(((t,i)=>t[0]-i[0])).map((t=>t[1]));return function(t,i){void 0===i&&(i=0);for(var e=[],s=t.split(\"\\n\"),n=i;n<s.length;n++){var o=s[n];if(!(o.length>1024)){var a=de.test(o)?o.replace(de,\"$1\"):o;if(!a.match(/\\S*Error: /)){for(var l of r){var h=l(a);if(h){e.push(h);break}}if(e.length>=ve)break}}}return function(t){if(!t.length)return[];var i=Array.from(t);return i.reverse(),i.slice(0,ve).map((t=>B({},t,{filename:t.filename||ye(i).filename,function:t.function||ce})))}(e)}}(...[[30,t=>{var i=pe.exec(t);if(i){var[,e,r,s]=i;return fe(e,ce,+r,+s)}var n=ge.exec(t);if(n){if(n[2]&&0===n[2].indexOf(\"eval\")){var o=_e.exec(n[2]);o&&(n[2]=o[1],n[3]=o[2],n[4]=o[3])}var[a,l]=xe(n[1]||ce,n[2]);return fe(l,a,n[3]?+n[3]:void 0,n[4]?+n[4]:void 0)}}],[50,t=>{var i=me.exec(t);if(i){if(i[3]&&i[3].indexOf(\" > eval\")>-1){var e=be.exec(i[3]);e&&(i[1]=i[1]||\"eval\",i[3]=e[1],i[4]=e[2],i[5]=\"\")}var r=i[3],s=i[1]||ce;return[s,r]=xe(s,r),fe(r,s,i[4]?+i[4]:void 0,i[5]?+i[5]:void 0)}}]]);function ye(t){return t[t.length-1]||{}}var Se,$e,ke,xe=(t,i)=>{var e=-1!==t.indexOf(\"safari-extension\"),r=-1!==t.indexOf(\"safari-web-extension\");return e||r?[-1!==t.indexOf(\"@\")?t.split(\"@\")[0]:ce,e?\"safari-extension:\"+i:\"safari-web-extension:\"+i]:[t,i]};var Ee=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;function Ie(t,i){void 0===i&&(i=0);var e=t.stacktrace||t.stack||\"\",r=function(t){if(t&&Pe.test(t.message))return 1;return 0}(t);try{var s=we,n=function(t,i){var e=function(t){var i=globalThis._posthogChunkIds;if(!i)return{};var e=Object.keys(i);return ke&&e.length===$e||($e=e.length,ke=e.reduce(((e,r)=>{Se||(Se={});var s=Se[r];if(s)e[s[0]]=s[1];else for(var n=t(r),o=n.length-1;o>=0;o--){var a=n[o],l=null==a?void 0:a.filename,h=i[r];if(l&&h){e[l]=h,Se[r]=[l,h];break}}return e}),{})),ke}(i);return t.forEach((t=>{t.filename&&(t.chunk_id=e[t.filename])})),t}(s(e,r),s);return n.slice(0,n.length-i)}catch(t){}return[]}var Pe=/Minified React error #\\d+;/i;function Re(t,i){var e,r,s=Ie(t),n=null===(e=null==i?void 0:i.handled)||void 0===e||e,o=null!==(r=null==i?void 0:i.synthetic)&&void 0!==r&&r;return{type:null!=i&&i.overrideExceptionType?i.overrideExceptionType:t.name,value:function(t){var i=t.message;if(i.error&&\"string\"==typeof i.error.message)return String(i.error.message);return String(i)}(t),stacktrace:{frames:s,type:\"raw\"},mechanism:{handled:n,synthetic:o}}}function Te(t,i){var e=Re(t,i);return t.cause&&le(t.cause)&&t.cause!==t?[e,...Te(t.cause,{handled:null==i?void 0:i.handled,synthetic:null==i?void 0:i.synthetic})]:[e]}function Me(t,i){return{$exception_list:Te(t,i),$exception_level:\"error\"}}function Ce(t,i){var e,r,s,n=null===(e=null==i?void 0:i.handled)||void 0===e||e,o=null===(r=null==i?void 0:i.synthetic)||void 0===r||r,a={type:null!=i&&i.overrideExceptionType?i.overrideExceptionType:null!==(s=null==i?void 0:i.defaultExceptionType)&&void 0!==s?s:\"Error\",value:t||(null==i?void 0:i.defaultExceptionMessage),mechanism:{handled:n,synthetic:o}};if(null!=i&&i.syntheticException){var l=Ie(i.syntheticException,1);l.length&&(a.stacktrace={frames:l,type:\"raw\"})}return{$exception_list:[a],$exception_level:\"error\"}}function Oe(t){return T(t)&&!M(t)&&_.indexOf(t)>=0}function Fe(t,i){var e,r,s=null===(e=null==i?void 0:i.handled)||void 0===e||e,n=null===(r=null==i?void 0:i.synthetic)||void 0===r||r,o=null!=i&&i.overrideExceptionType?i.overrideExceptionType:oe(t)?t.constructor.name:\"Error\",a=\"Non-Error 'exception' captured with keys: \"+function(t,i){void 0===i&&(i=40);var e=Object.keys(t);if(e.sort(),!e.length)return\"[object has no keys]\";for(var r=e.length;r>0;r--){var s=e.slice(0,r).join(\", \");if(!(s.length>i))return r===e.length||s.length<=i?s:s.slice(0,i)+\"...\"}return\"\"}(t),l={type:o,value:a,mechanism:{handled:s,synthetic:n}};if(null!=i&&i.syntheticException){var h=Ie(null==i?void 0:i.syntheticException,1);h.length&&(l.stacktrace={frames:h,type:\"raw\"})}return{$exception_list:[l],$exception_level:Oe(t.level)?t.level:\"error\"}}function Ae(t,i){var{error:e,event:r}=t,s={$exception_list:[]},n=e||r;if(ue(n)||function(t){return he(t,\"DOMException\")}(n)){var o=n;if(function(t){return\"stack\"in t}(n))s=Me(n,i);else{var a=o.name||(ue(o)?\"DOMError\":\"DOMException\"),l=o.message?a+\": \"+o.message:a;s=Ce(l,B({},i,{overrideExceptionType:ue(o)?\"DOMError\":\"DOMException\",defaultExceptionMessage:l}))}return\"code\"in o&&(s.$exception_DOMException_code=\"\"+o.code),s}if(function(t){return he(t,\"ErrorEvent\")}(n)&&n.error)return Me(n.error,i);if(le(n))return Me(n,i);if(function(t){return he(t,\"Object\")}(n)||oe(n))return Fe(n,i);if(R(e)&&T(r)){var h=\"Error\",u=r,d=r.match(Ee);return d&&(h=d[1],u=d[2]),Ce(u,B({},i,{overrideExceptionType:h,defaultExceptionMessage:u}))}return Ce(n,i)}function De(t,i,e){try{if(!(i in t))return()=>{};var r=t[i],s=e(r);return E(s)&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__posthog_wrapped__:{enumerable:!1,value:!0}})),t[i]=s,()=>{t[i]=r}}catch(t){return()=>{}}}class je{constructor(t){var e;this._instance=t,this.et=(null==i||null==(e=i.location)?void 0:e.pathname)||\"\"}get isEnabled(){return\"history_change\"===this._instance.config.capture_pageview}startIfEnabled(){this.isEnabled&&(N.info(\"History API monitoring enabled, starting...\"),this.monitorHistoryChanges())}stop(){this.rt&&this.rt(),this.rt=void 0,N.info(\"History API monitoring stopped\")}monitorHistoryChanges(){var t,e;if(i&&i.history){var r=this;null!=(t=i.history.pushState)&&t.__posthog_wrapped__||De(i.history,\"pushState\",(t=>function(i,e,s){t.call(this,i,e,s),r.st(\"pushState\")})),null!=(e=i.history.replaceState)&&e.__posthog_wrapped__||De(i.history,\"replaceState\",(t=>function(i,e,s){t.call(this,i,e,s),r.st(\"replaceState\")})),this.nt()}}st(t){try{var e,r=null==i||null==(e=i.location)?void 0:e.pathname;if(!r)return;r!==this.et&&this.isEnabled&&this._instance.capture(\"$pageview\",{navigation_type:t}),this.et=r}catch(i){N.error(\"Error capturing \"+t+\" pageview\",i)}}nt(){if(!this.rt){var t=()=>{this.st(\"popstate\")};st(i,\"popstate\",t),this.rt=()=>{i&&i.removeEventListener(\"popstate\",t)}}}}function Le(t){var i,e;return(null==(i=JSON.stringify(t,(e=[],function(t,i){if(I(i)){for(;e.length>0&&e[e.length-1]!==this;)e.pop();return e.includes(i)?\"[Circular]\":(e.push(i),i)}return i})))?void 0:i.length)||0}function Ne(t,i){if(void 0===i&&(i=6606028.8),t.size>=i&&t.data.length>1){var e=Math.floor(t.data.length/2),r=t.data.slice(0,e),s=t.data.slice(e);return[Ne({size:Le(r),data:r,sessionId:t.sessionId,windowId:t.windowId}),Ne({size:Le(s),data:s,sessionId:t.sessionId,windowId:t.windowId})].flatMap((t=>t))}return[t]}var ze=(t=>(t[t.DomContentLoaded=0]=\"DomContentLoaded\",t[t.Load=1]=\"Load\",t[t.FullSnapshot=2]=\"FullSnapshot\",t[t.IncrementalSnapshot=3]=\"IncrementalSnapshot\",t[t.Meta=4]=\"Meta\",t[t.Custom=5]=\"Custom\",t[t.Plugin=6]=\"Plugin\",t))(ze||{}),Ue=(t=>(t[t.Mutation=0]=\"Mutation\",t[t.MouseMove=1]=\"MouseMove\",t[t.MouseInteraction=2]=\"MouseInteraction\",t[t.Scroll=3]=\"Scroll\",t[t.ViewportResize=4]=\"ViewportResize\",t[t.Input=5]=\"Input\",t[t.TouchMove=6]=\"TouchMove\",t[t.MediaInteraction=7]=\"MediaInteraction\",t[t.StyleSheetRule=8]=\"StyleSheetRule\",t[t.CanvasMutation=9]=\"CanvasMutation\",t[t.Font=10]=\"Font\",t[t.Log=11]=\"Log\",t[t.Drag=12]=\"Drag\",t[t.StyleDeclaration=13]=\"StyleDeclaration\",t[t.Selection=14]=\"Selection\",t[t.AdoptedStyleSheet=15]=\"AdoptedStyleSheet\",t[t.CustomElement=16]=\"CustomElement\",t))(Ue||{}),qe=\"[SessionRecording]\",Be=\"redacted\",He={initiatorTypes:[\"audio\",\"beacon\",\"body\",\"css\",\"early-hint\",\"embed\",\"fetch\",\"frame\",\"iframe\",\"icon\",\"image\",\"img\",\"input\",\"link\",\"navigation\",\"object\",\"ping\",\"script\",\"track\",\"video\",\"xmlhttprequest\"],maskRequestFn:t=>t,recordHeaders:!1,recordBody:!1,recordInitialRequests:!1,recordPerformance:!1,performanceEntryTypeToObserve:[\"first-input\",\"navigation\",\"paint\",\"resource\"],payloadSizeLimitBytes:1e6,payloadHostDenyList:[\".lr-ingest.io\",\".ingest.sentry.io\",\".clarity.ms\",\"analytics.google.com\"]},We=[\"authorization\",\"x-forwarded-for\",\"authorization\",\"cookie\",\"set-cookie\",\"x-api-key\",\"x-real-ip\",\"remote-addr\",\"forwarded\",\"proxy-authorization\",\"x-csrf-token\",\"x-csrftoken\",\"x-xsrf-token\"],Ge=[\"password\",\"secret\",\"passwd\",\"api_key\",\"apikey\",\"auth\",\"credentials\",\"mysql_pwd\",\"privatekey\",\"private_key\",\"token\"],Je=[\"/s/\",\"/e/\",\"/i/\"];function Ve(t,i,e,r){if(O(t))return t;var s=(null==i?void 0:i[\"content-length\"])||function(t){return new Blob([t]).size}(t);return T(s)&&(s=parseInt(s)),s>e?qe+\" \"+r+\" body too large to record (\"+s+\" bytes)\":t}function Ke(t,i){if(O(t))return t;var e=t;return vi(e,!1)||(e=qe+\" \"+i+\" body \"+Be),J(Ge,(t=>{var r,s;null!=(r=e)&&r.length&&-1!==(null==(s=e)?void 0:s.indexOf(t))&&(e=qe+\" \"+i+\" body \"+Be+\" as might contain: \"+t)})),e}var Ye=(t,i)=>{var e,r,s,n={payloadSizeLimitBytes:He.payloadSizeLimitBytes,performanceEntryTypeToObserve:[...He.performanceEntryTypeToObserve],payloadHostDenyList:[...i.payloadHostDenyList||[],...He.payloadHostDenyList]},o=!1!==t.session_recording.recordHeaders&&i.recordHeaders,a=!1!==t.session_recording.recordBody&&i.recordBody,l=!1!==t.capture_performance&&i.recordPerformance,h=(e=n,s=Math.min(1e6,null!==(r=e.payloadSizeLimitBytes)&&void 0!==r?r:1e6),t=>(null!=t&&t.requestBody&&(t.requestBody=Ve(t.requestBody,t.requestHeaders,s,\"Request\")),null!=t&&t.responseBody&&(t.responseBody=Ve(t.responseBody,t.responseHeaders,s,\"Response\")),t)),u=i=>{return h(((t,i)=>{var e,r=wi(t.name),s=0===i.indexOf(\"http\")?null==(e=wi(i))?void 0:e.pathname:i;\"/\"===s&&(s=\"\");var n=null==r?void 0:r.pathname.replace(s||\"\",\"\");if(!(r&&n&&Je.some((t=>0===n.indexOf(t)))))return t})((r=(e=i).requestHeaders,O(r)||J(Object.keys(null!=r?r:{}),(t=>{We.includes(t.toLowerCase())&&(r[t]=Be)})),e),t.api_host));var e,r},d=E(t.session_recording.maskNetworkRequestFn);return d&&E(t.session_recording.maskCapturedNetworkRequestFn)&&N.warn(\"Both `maskNetworkRequestFn` and `maskCapturedNetworkRequestFn` are defined. `maskNetworkRequestFn` will be ignored.\"),d&&(t.session_recording.maskCapturedNetworkRequestFn=i=>{var e=t.session_recording.maskNetworkRequestFn({url:i.name});return B({},i,{name:null==e?void 0:e.url})}),n.maskRequestFn=E(t.session_recording.maskCapturedNetworkRequestFn)?i=>{var e,r=u(i);return r&&null!==(e=null==t.session_recording.maskCapturedNetworkRequestFn?void 0:t.session_recording.maskCapturedNetworkRequestFn(r))&&void 0!==e?e:void 0}:t=>function(t){if(!R(t))return t.requestBody=Ke(t.requestBody,\"Request\"),t.responseBody=Ke(t.responseBody,\"Response\"),t}(u(t)),B({},He,n,{recordHeaders:o,recordBody:a,recordPerformance:l,recordInitialRequests:l})};function Xe(t,i,e,r,s){return i>e&&(N.warn(\"min cannot be greater than max.\"),i=e),F(t)?t>e?(r&&N.warn(r+\" cannot be greater than max: \"+e+\". Using max value instead.\"),e):t<i?(r&&N.warn(r+\" cannot be less than min: \"+i+\". Using min value instead.\"),i):t:(r&&N.warn(r+\" must be a number. using max or fallback. max: \"+e+\", fallback: \"+s),Xe(s||e,i,e,r))}class Qe{constructor(t,i){var e,r;void 0===i&&(i={}),this.ot=100,this.lt=10,this.ht={},this.ut={},this.dt=()=>{Object.keys(this.ht).forEach((t=>{this.ht[t]=this.ht[t]+this.lt,this.ht[t]>=this.ot&&delete this.ht[t]}))},this.vt=t=>{var i=this._rrweb.mirror.getNode(t);if(\"svg\"!==(null==i?void 0:i.nodeName)&&i instanceof Element){var e=i.closest(\"svg\");if(e)return[this._rrweb.mirror.getId(e),e]}return[t,i]},this.ct=t=>{var i,e,r,s,n,o,a,l;return(null!==(i=null==(e=t.removes)?void 0:e.length)&&void 0!==i?i:0)+(null!==(r=null==(s=t.attributes)?void 0:s.length)&&void 0!==r?r:0)+(null!==(n=null==(o=t.texts)?void 0:o.length)&&void 0!==n?n:0)+(null!==(a=null==(l=t.adds)?void 0:l.length)&&void 0!==a?a:0)},this.throttleMutations=t=>{if(3!==t.type||0!==t.data.source)return t;var i=t.data,e=this.ct(i);i.attributes&&(i.attributes=i.attributes.filter((t=>{var i,e,r,[s,n]=this.vt(t.id);if(0===this.ht[s])return!1;(this.ht[s]=null!==(i=this.ht[s])&&void 0!==i?i:this.ot,this.ht[s]=Math.max(this.ht[s]-1,0),0===this.ht[s])&&(this.ut[s]||(this.ut[s]=!0,null==(e=(r=this.ft).onBlockedNode)||e.call(r,s,n)));return t})));var r=this.ct(i);return 0!==r||e===r?t:void 0},this._rrweb=t,this.ft=i,this.lt=Xe(null!==(e=this.ft.refillRate)&&void 0!==e?e:this.lt,0,100,\"mutation throttling refill rate\"),this.ot=Xe(null!==(r=this.ft.bucketSize)&&void 0!==r?r:this.ot,0,100,\"mutation throttling bucket size\"),setInterval((()=>{this.dt()}),1e3)}}var Ze=Uint8Array,tr=Uint16Array,ir=Uint32Array,er=new Ze([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),rr=new Ze([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),sr=new Ze([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),nr=function(t,i){for(var e=new tr(31),r=0;r<31;++r)e[r]=i+=1<<t[r-1];var s=new ir(e[30]);for(r=1;r<30;++r)for(var n=e[r];n<e[r+1];++n)s[n]=n-e[r]<<5|r;return[e,s]},or=nr(er,2),ar=or[0],lr=or[1];ar[28]=258,lr[258]=28;for(var hr=nr(rr,0)[1],ur=new tr(32768),dr=0;dr<32768;++dr){var vr=(43690&dr)>>>1|(21845&dr)<<1;vr=(61680&(vr=(52428&vr)>>>2|(13107&vr)<<2))>>>4|(3855&vr)<<4,ur[dr]=((65280&vr)>>>8|(255&vr)<<8)>>>1}var cr=function(t,i,e){for(var r=t.length,s=0,n=new tr(i);s<r;++s)++n[t[s]-1];var o,a=new tr(i);for(s=0;s<i;++s)a[s]=a[s-1]+n[s-1]<<1;if(e){o=new tr(1<<i);var l=15-i;for(s=0;s<r;++s)if(t[s])for(var h=s<<4|t[s],u=i-t[s],d=a[t[s]-1]++<<u,v=d|(1<<u)-1;d<=v;++d)o[ur[d]>>>l]=h}else for(o=new tr(r),s=0;s<r;++s)o[s]=ur[a[t[s]-1]++]>>>15-t[s];return o},fr=new Ze(288);for(dr=0;dr<144;++dr)fr[dr]=8;for(dr=144;dr<256;++dr)fr[dr]=9;for(dr=256;dr<280;++dr)fr[dr]=7;for(dr=280;dr<288;++dr)fr[dr]=8;var pr=new Ze(32);for(dr=0;dr<32;++dr)pr[dr]=5;var gr=cr(fr,9,0),_r=cr(pr,5,0),mr=function(t){return(t/8>>0)+(7&t&&1)},br=function(t,i,e){(null==e||e>t.length)&&(e=t.length);var r=new(t instanceof tr?tr:t instanceof ir?ir:Ze)(e-i);return r.set(t.subarray(i,e)),r},wr=function(t,i,e){e<<=7&i;var r=i/8>>0;t[r]|=e,t[r+1]|=e>>>8},yr=function(t,i,e){e<<=7&i;var r=i/8>>0;t[r]|=e,t[r+1]|=e>>>8,t[r+2]|=e>>>16},Sr=function(t,i){for(var e=[],r=0;r<t.length;++r)t[r]&&e.push({s:r,f:t[r]});var s=e.length,n=e.slice();if(!s)return[new Ze(0),0];if(1==s){var o=new Ze(e[0].s+1);return o[e[0].s]=1,[o,1]}e.sort((function(t,i){return t.f-i.f})),e.push({s:-1,f:25001});var a=e[0],l=e[1],h=0,u=1,d=2;for(e[0]={s:-1,f:a.f+l.f,l:a,r:l};u!=s-1;)a=e[e[h].f<e[d].f?h++:d++],l=e[h!=u&&e[h].f<e[d].f?h++:d++],e[u++]={s:-1,f:a.f+l.f,l:a,r:l};var v=n[0].s;for(r=1;r<s;++r)n[r].s>v&&(v=n[r].s);var c=new tr(v+1),f=$r(e[u-1],c,0);if(f>i){r=0;var p=0,g=f-i,_=1<<g;for(n.sort((function(t,i){return c[i.s]-c[t.s]||t.f-i.f}));r<s;++r){var m=n[r].s;if(!(c[m]>i))break;p+=_-(1<<f-c[m]),c[m]=i}for(p>>>=g;p>0;){var b=n[r].s;c[b]<i?p-=1<<i-c[b]++-1:++r}for(;r>=0&&p;--r){var w=n[r].s;c[w]==i&&(--c[w],++p)}f=i}return[new Ze(c),f]},$r=function(t,i,e){return-1==t.s?Math.max($r(t.l,i,e+1),$r(t.r,i,e+1)):i[t.s]=e},kr=function(t){for(var i=t.length;i&&!t[--i];);for(var e=new tr(++i),r=0,s=t[0],n=1,o=function(t){e[r++]=t},a=1;a<=i;++a)if(t[a]==s&&a!=i)++n;else{if(!s&&n>2){for(;n>138;n-=138)o(32754);n>2&&(o(n>10?n-11<<5|28690:n-3<<5|12305),n=0)}else if(n>3){for(o(s),--n;n>6;n-=6)o(8304);n>2&&(o(n-3<<5|8208),n=0)}for(;n--;)o(s);n=1,s=t[a]}return[e.subarray(0,r),i]},xr=function(t,i){for(var e=0,r=0;r<i.length;++r)e+=t[r]*i[r];return e},Er=function(t,i,e){var r=e.length,s=mr(i+2);t[s]=255&r,t[s+1]=r>>>8,t[s+2]=255^t[s],t[s+3]=255^t[s+1];for(var n=0;n<r;++n)t[s+n+4]=e[n];return 8*(s+4+r)},Ir=function(t,i,e,r,s,n,o,a,l,h,u){wr(i,u++,e),++s[256];for(var d=Sr(s,15),v=d[0],c=d[1],f=Sr(n,15),p=f[0],g=f[1],_=kr(v),m=_[0],b=_[1],w=kr(p),y=w[0],S=w[1],$=new tr(19),k=0;k<m.length;++k)$[31&m[k]]++;for(k=0;k<y.length;++k)$[31&y[k]]++;for(var x=Sr($,7),E=x[0],I=x[1],P=19;P>4&&!E[sr[P-1]];--P);var R,T,M,C,O=h+5<<3,F=xr(s,fr)+xr(n,pr)+o,A=xr(s,v)+xr(n,p)+o+14+3*P+xr($,E)+(2*$[16]+3*$[17]+7*$[18]);if(O<=F&&O<=A)return Er(i,u,t.subarray(l,l+h));if(wr(i,u,1+(A<F)),u+=2,A<F){R=cr(v,c,0),T=v,M=cr(p,g,0),C=p;var D=cr(E,I,0);wr(i,u,b-257),wr(i,u+5,S-1),wr(i,u+10,P-4),u+=14;for(k=0;k<P;++k)wr(i,u+3*k,E[sr[k]]);u+=3*P;for(var j=[m,y],L=0;L<2;++L){var N=j[L];for(k=0;k<N.length;++k){var z=31&N[k];wr(i,u,D[z]),u+=E[z],z>15&&(wr(i,u,N[k]>>>5&127),u+=N[k]>>>12)}}}else R=gr,T=fr,M=_r,C=pr;for(k=0;k<a;++k)if(r[k]>255){z=r[k]>>>18&31;yr(i,u,R[z+257]),u+=T[z+257],z>7&&(wr(i,u,r[k]>>>23&31),u+=er[z]);var U=31&r[k];yr(i,u,M[U]),u+=C[U],U>3&&(yr(i,u,r[k]>>>5&8191),u+=rr[U])}else yr(i,u,R[r[k]]),u+=T[r[k]];return yr(i,u,R[256]),u+T[256]},Pr=new ir([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Rr=function(){for(var t=new ir(256),i=0;i<256;++i){for(var e=i,r=9;--r;)e=(1&e&&3988292384)^e>>>1;t[i]=e}return t}(),Tr=function(){var t=4294967295;return{p:function(i){for(var e=t,r=0;r<i.length;++r)e=Rr[255&e^i[r]]^e>>>8;t=e},d:function(){return 4294967295^t}}},Mr=function(t,i,e,r,s){return function(t,i,e,r,s,n){var o=t.length,a=new Ze(r+o+5*(1+Math.floor(o/7e3))+s),l=a.subarray(r,a.length-s),h=0;if(!i||o<8)for(var u=0;u<=o;u+=65535){var d=u+65535;d<o?h=Er(l,h,t.subarray(u,d)):(l[u]=n,h=Er(l,h,t.subarray(u,o)))}else{for(var v=Pr[i-1],c=v>>>13,f=8191&v,p=(1<<e)-1,g=new tr(32768),_=new tr(p+1),m=Math.ceil(e/3),b=2*m,w=function(i){return(t[i]^t[i+1]<<m^t[i+2]<<b)&p},y=new ir(25e3),S=new tr(288),$=new tr(32),k=0,x=0,E=(u=0,0),I=0,P=0;u<o;++u){var R=w(u),T=32767&u,M=_[R];if(g[T]=M,_[R]=T,I<=u){var C=o-u;if((k>7e3||E>24576)&&C>423){h=Ir(t,l,0,y,S,$,x,E,P,u-P,h),E=k=x=0,P=u;for(var O=0;O<286;++O)S[O]=0;for(O=0;O<30;++O)$[O]=0}var F=2,A=0,D=f,j=T-M&32767;if(C>2&&R==w(u-j))for(var L=Math.min(c,C)-1,N=Math.min(32767,u),z=Math.min(258,C);j<=N&&--D&&T!=M;){if(t[u+F]==t[u+F-j]){for(var U=0;U<z&&t[u+U]==t[u+U-j];++U);if(U>F){if(F=U,A=j,U>L)break;var q=Math.min(j,U-2),B=0;for(O=0;O<q;++O){var H=u-j+O+32768&32767,W=H-g[H]+32768&32767;W>B&&(B=W,M=H)}}}j+=(T=M)-(M=g[T])+32768&32767}if(A){y[E++]=268435456|lr[F]<<18|hr[A];var G=31&lr[F],J=31&hr[A];x+=er[G]+rr[J],++S[257+G],++$[J],I=u+F,++k}else y[E++]=t[u],++S[t[u]]}}h=Ir(t,l,n,y,S,$,x,E,P,u-P,h)}return br(a,0,r+mr(h)+s)}(t,null==i.level?6:i.level,null==i.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):12+i.mem,e,r,!s)},Cr=function(t,i,e){for(;e;++i)t[i]=e,e>>>=8},Or=function(t,i){var e=i.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=i.level<2?4:9==i.level?2:0,t[9]=3,0!=i.mtime&&Cr(t,4,Math.floor(new Date(i.mtime||Date.now())/1e3)),e){t[3]=8;for(var r=0;r<=e.length;++r)t[r+10]=e.charCodeAt(r)}},Fr=function(t){return 10+(t.filename&&t.filename.length+1||0)};function Ar(t,i){void 0===i&&(i={});var e=Tr(),r=t.length;e.p(t);var s=Mr(t,i,Fr(i),8),n=s.length;return Or(s,i),Cr(s,n-8,e.d()),Cr(s,n-4,r),s}function Dr(t,i){var e=t.length;if(\"undefined\"!=typeof TextEncoder)return(new TextEncoder).encode(t);for(var r=new Ze(t.length+(t.length>>>1)),s=0,n=function(t){r[s++]=t},o=0;o<e;++o){if(s+5>r.length){var a=new Ze(s+8+(e-o<<1));a.set(r),r=a}var l=t.charCodeAt(o);l<128||i?n(l):l<2048?(n(192|l>>>6),n(128|63&l)):l>55295&&l<57344?(n(240|(l=65536+(1047552&l)|1023&t.charCodeAt(++o))>>>18),n(128|l>>>12&63),n(128|l>>>6&63),n(128|63&l)):(n(224|l>>>12),n(128|l>>>6&63),n(128|63&l))}return br(r,0,s)}function jr(t,i){return function(t){for(var i=0,e=0;e<t.length;e++)i=(i<<5)-i+t.charCodeAt(e),i|=0;return Math.abs(i)}(t)%100<Xe(100*i,0,100)}var Lr=\"disabled\",Nr=\"sampled\",zr=\"active\",Ur=\"buffering\",qr=\"paused\",Br=\"trigger\",Hr=Br+\"_activated\",Wr=Br+\"_pending\",Gr=Br+\"_\"+Lr;function Jr(t,i){return i.some((i=>\"regex\"===i.matching&&new RegExp(i.url).test(t)))}class Vr{constructor(t){this.gt=t}triggerStatus(t){var i=this.gt.map((i=>i.triggerStatus(t)));return i.includes(Hr)?Hr:i.includes(Wr)?Wr:Gr}stop(){this.gt.forEach((t=>t.stop()))}}class Kr{constructor(t){this.gt=t}triggerStatus(t){var i=new Set;for(var e of this.gt)i.add(e.triggerStatus(t));switch(i.delete(Gr),i.size){case 0:return Gr;case 1:return Array.from(i)[0];default:return Wr}}stop(){this.gt.forEach((t=>t.stop()))}}class Yr{triggerStatus(){return Wr}stop(){}}class Xr{constructor(t){this._t=[],this.bt=[],this.urlBlocked=!1,this._instance=t}onRemoteConfig(t){var i,e;this._t=(null==(i=t.sessionRecording)?void 0:i.urlTriggers)||[],this.bt=(null==(e=t.sessionRecording)?void 0:e.urlBlocklist)||[]}wt(t){var i;return 0===this._t.length?Gr:(null==(i=this._instance)?void 0:i.get_property(kt))===t?Hr:Wr}triggerStatus(t){var i=this.wt(t),e=i===Hr?Hr:i===Wr?Wr:Gr;return this._instance.register_for_session({$sdk_debug_replay_url_trigger_status:e}),e}checkUrlTriggerConditions(t,e,r){if(void 0!==i&&i.location.href){var s=i.location.href,n=this.urlBlocked,o=Jr(s,this.bt);n&&o||(o&&!n?t():!o&&n&&e(),Jr(s,this._t)&&r(\"url\"))}}stop(){}}class Qr{constructor(t){this.linkedFlag=null,this.linkedFlagSeen=!1,this.yt=()=>{},this._instance=t}triggerStatus(){var t=Wr;return O(this.linkedFlag)&&(t=Gr),this.linkedFlagSeen&&(t=Hr),this._instance.register_for_session({$sdk_debug_replay_linked_flag_trigger_status:t}),t}onRemoteConfig(t,i){var e;if(this.linkedFlag=(null==(e=t.sessionRecording)?void 0:e.linkedFlag)||null,!O(this.linkedFlag)&&!this.linkedFlagSeen){var r=T(this.linkedFlag)?this.linkedFlag:this.linkedFlag.flag,s=T(this.linkedFlag)?null:this.linkedFlag.variant;this.yt=this._instance.onFeatureFlags(((t,e)=>{var n=I(e)&&r in e&&(s?e[r]===s:!0===e[r]);n&&i(r,s),this.linkedFlagSeen=n}))}}stop(){this.yt()}}class Zr{constructor(t){this.St=[],this._instance=t}onRemoteConfig(t){var i;this.St=(null==(i=t.sessionRecording)?void 0:i.eventTriggers)||[]}$t(t){var i;return 0===this.St.length?Gr:(null==(i=this._instance)?void 0:i.get_property(xt))===t?Hr:Wr}triggerStatus(t){var i=this.$t(t),e=i===Hr?Hr:i===Wr?Wr:Gr;return this._instance.register_for_session({$sdk_debug_replay_event_trigger_status:e}),e}stop(){}}function ts(t){return t.isRecordingEnabled?Ur:Lr}function is(t){if(!t.receivedDecide)return Ur;if(!t.isRecordingEnabled)return Lr;if(t.urlTriggerMatching.urlBlocked)return qr;var i=!0===t.isSampled,e=new Vr([t.eventTriggerMatching,t.urlTriggerMatching,t.linkedFlagMatching]).triggerStatus(t.sessionId);return i?Nr:e===Hr?zr:e===Wr?Ur:!1===t.isSampled?Lr:zr}function es(t){if(!t.receivedDecide)return Ur;if(!t.isRecordingEnabled)return Lr;if(t.urlTriggerMatching.urlBlocked)return qr;var i=new Kr([t.eventTriggerMatching,t.urlTriggerMatching,t.linkedFlagMatching]).triggerStatus(t.sessionId),e=i!==Gr,r=A(t.isSampled);return e&&i===Wr?Ur:e&&i===Gr||r&&!t.isSampled?Lr:!0===t.isSampled?Nr:zr}var rs=\"[SessionRecording]\",ss=z(rs);function ns(){var t,i;return null==c||null==(t=c.__PosthogExtensions__)||null==(i=t.rrweb)?void 0:i.record}var os=3e5,as=[Ue.MouseMove,Ue.MouseInteraction,Ue.Scroll,Ue.ViewportResize,Ue.Input,Ue.TouchMove,Ue.MediaInteraction,Ue.Drag],ls=t=>({rrwebMethod:t,enqueuedAt:Date.now(),attempt:1});function hs(t){return function(t,i){for(var e=\"\",r=0;r<t.length;){var s=t[r++];s<128||i?e+=String.fromCharCode(s):s<224?e+=String.fromCharCode((31&s)<<6|63&t[r++]):s<240?e+=String.fromCharCode((15&s)<<12|(63&t[r++])<<6|63&t[r++]):(s=((15&s)<<18|(63&t[r++])<<12|(63&t[r++])<<6|63&t[r++])-65536,e+=String.fromCharCode(55296|s>>10,56320|1023&s))}return e}(Ar(Dr(JSON.stringify(t))),!0)}function us(t){return t.type===ze.Custom&&\"sessionIdle\"===t.data.tag}class ds{get sessionId(){return this.kt}get xt(){return this._instance.config.session_recording.session_idle_threshold_ms||3e5}get started(){return this.Et}get It(){if(!this._instance.sessionManager)throw new Error(rs+\" must be started with a valid sessionManager.\");return this._instance.sessionManager}get Pt(){var t,i;return this.Rt.triggerStatus(this.sessionId)===Wr?6e4:null!==(t=null==(i=this._instance.config.session_recording)?void 0:i.full_snapshot_interval_millis)&&void 0!==t?t:os}get Tt(){var t=this._instance.get_property($t);return A(t)?t:null}get Mt(){var t,i,e=null==(t=this.M)?void 0:t.data[(null==(i=this.M)?void 0:i.data.length)-1],{sessionStartTimestamp:r}=this.It.checkAndGetSessionAndWindowId(!0);return e?e.timestamp-r:null}get Ct(){var t=!!this._instance.get_property(ft),e=!this._instance.config.disable_session_recording;return i&&t&&e}get Ot(){var t=!!this._instance.get_property(pt),i=this._instance.config.enable_recording_console_log;return null!=i?i:t}get Ft(){var t,i,e,r,s,n,o=this._instance.config.session_recording.captureCanvas,a=this._instance.get_property(mt),l=null!==(t=null!==(i=null==o?void 0:o.recordCanvas)&&void 0!==i?i:null==a?void 0:a.enabled)&&void 0!==t&&t,h=null!==(e=null!==(r=null==o?void 0:o.canvasFps)&&void 0!==r?r:null==a?void 0:a.fps)&&void 0!==e?e:4,u=null!==(s=null!==(n=null==o?void 0:o.canvasQuality)&&void 0!==n?n:null==a?void 0:a.quality)&&void 0!==s?s:.4;if(\"string\"==typeof u){var d=parseFloat(u);u=isNaN(d)?.4:d}return{enabled:l,fps:Xe(h,0,12,\"canvas recording fps\",4),quality:Xe(u,0,1,\"canvas recording quality\",.4)}}get At(){var t,i,e=this._instance.get_property(gt),r={recordHeaders:null==(t=this._instance.config.session_recording)?void 0:t.recordHeaders,recordBody:null==(i=this._instance.config.session_recording)?void 0:i.recordBody},s=(null==r?void 0:r.recordHeaders)||(null==e?void 0:e.recordHeaders),n=(null==r?void 0:r.recordBody)||(null==e?void 0:e.recordBody),o=I(this._instance.config.capture_performance)?this._instance.config.capture_performance.network_timing:this._instance.config.capture_performance,a=!!(A(o)?o:null==e?void 0:e.capturePerformance);return s||n||a?{recordHeaders:s,recordBody:n,recordPerformance:a}:void 0}get Dt(){var t,i,e,r,s,n,o=this._instance.get_property(_t),a={maskAllInputs:null==(t=this._instance.config.session_recording)?void 0:t.maskAllInputs,maskTextSelector:null==(i=this._instance.config.session_recording)?void 0:i.maskTextSelector,blockSelector:null==(e=this._instance.config.session_recording)?void 0:e.blockSelector},l=null!==(r=null==a?void 0:a.maskAllInputs)&&void 0!==r?r:null==o?void 0:o.maskAllInputs,h=null!==(s=null==a?void 0:a.maskTextSelector)&&void 0!==s?s:null==o?void 0:o.maskTextSelector,u=null!==(n=null==a?void 0:a.blockSelector)&&void 0!==n?n:null==o?void 0:o.blockSelector;return R(l)&&R(h)&&R(u)?void 0:{maskAllInputs:null==l||l,maskTextSelector:h,blockSelector:u}}get jt(){var t=this._instance.get_property(bt);return F(t)?t:null}get Lt(){var t=this._instance.get_property(wt);return F(t)?t:null}get status(){return this.Nt?this.zt({receivedDecide:this.Nt,isRecordingEnabled:this.Ct,isSampled:this.Tt,urlTriggerMatching:this.Ut,eventTriggerMatching:this.qt,linkedFlagMatching:this.Bt,sessionId:this.sessionId}):Ur}constructor(t){if(this.zt=ts,this.Nt=!1,this.Ht=[],this.Wt=\"unknown\",this.Gt=Date.now(),this.Rt=new Yr,this.Jt=void 0,this.Vt=void 0,this.Kt=void 0,this.Yt=void 0,this.Xt=void 0,this._forceAllowLocalhostNetworkCapture=!1,this.Qt=()=>{this.Zt()},this.ti=()=>{this.ii(\"browser offline\",{})},this.ei=()=>{this.ii(\"browser online\",{})},this.ri=()=>{if(null!=a&&a.visibilityState){var t=\"window \"+a.visibilityState;this.ii(t,{})}},this._instance=t,this.Et=!1,this.si=\"/s/\",this.ni=void 0,this.Nt=!1,!this._instance.sessionManager)throw ss.error(\"started without valid sessionManager\"),new Error(rs+\" started without valid sessionManager. This is a bug.\");if(this._instance.config.__preview_experimental_cookieless_mode)throw new Error(rs+\" cannot be used with __preview_experimental_cookieless_mode.\");this.Bt=new Qr(this._instance),this.Ut=new Xr(this._instance),this.qt=new Zr(this._instance);var{sessionId:i,windowId:e}=this.It.checkAndGetSessionAndWindowId();this.kt=i,this.oi=e,this.M=this.ai(),this.xt>=this.It.sessionTimeoutMs&&ss.warn(\"session_idle_threshold_ms (\"+this.xt+\") is greater than the session timeout (\"+this.It.sessionTimeoutMs+\"). Session will never be detected as idle\")}startIfEnabledOrStop(t){this.Ct?(this.li(t),st(i,\"beforeunload\",this.Qt),st(i,\"offline\",this.ti),st(i,\"online\",this.ei),st(i,\"visibilitychange\",this.ri),this.hi(),this.ui(),O(this.Jt)&&(this.Jt=this._instance.on(\"eventCaptured\",(t=>{try{if(\"$pageview\"===t.event){var i=null!=t&&t.properties.$current_url?this.di(null==t?void 0:t.properties.$current_url):\"\";if(!i)return;this.ii(\"$pageview\",{href:i})}}catch(t){ss.error(\"Could not add $pageview to rrweb session\",t)}}))),this.Vt||(this.Vt=this.It.onSessionId(((t,i,e)=>{var r,s,n,o;e&&(this.ii(\"$session_id_change\",{sessionId:t,windowId:i,changeReason:e}),null==(r=this._instance)||null==(s=r.persistence)||s.unregister(xt),null==(n=this._instance)||null==(o=n.persistence)||o.unregister(kt))})))):this.stopRecording()}stopRecording(){var t,e,r,s;this.Et&&this.ni&&(this.ni(),this.ni=void 0,this.Et=!1,null==i||i.removeEventListener(\"beforeunload\",this.Qt),null==i||i.removeEventListener(\"offline\",this.ti),null==i||i.removeEventListener(\"online\",this.ei),null==i||i.removeEventListener(\"visibilitychange\",this.ri),this.ai(),clearInterval(this.vi),null==(t=this.Jt)||t.call(this),this.Jt=void 0,null==(e=this.Xt)||e.call(this),this.Xt=void 0,null==(r=this.Vt)||r.call(this),this.Vt=void 0,null==(s=this.Yt)||s.call(this),this.Yt=void 0,this.qt.stop(),this.Ut.stop(),this.Bt.stop(),ss.info(\"stopped\"))}ci(){var t;null==(t=this._instance.persistence)||t.unregister($t)}fi(t){var i,e=this.kt!==t,r=this.jt;if(F(r)){var s=this.Tt,n=e||!A(s),o=n?jr(t,r):s;n&&(o?this.pi(Nr):ss.warn(\"Sample rate (\"+r+\") has determined that this sessionId (\"+t+\") will not be sent to the server.\"),this.ii(\"samplingDecisionMade\",{sampleRate:r,isSampled:o})),null==(i=this._instance.persistence)||i.register({[$t]:o})}else this.ci()}onRemoteConfig(t){var i,e,r,s;(this.ii(\"$remote_config_received\",t),this.gi(t),null!=(i=t.sessionRecording)&&i.endpoint)&&(this.si=null==(s=t.sessionRecording)?void 0:s.endpoint);this.hi(),\"any\"===(null==(e=t.sessionRecording)?void 0:e.triggerMatchType)?(this.zt=is,this.Rt=new Vr([this.qt,this.Ut])):(this.zt=es,this.Rt=new Kr([this.qt,this.Ut])),this._instance.register_for_session({$sdk_debug_replay_remote_trigger_matching_config:null==(r=t.sessionRecording)?void 0:r.triggerMatchType}),this.Ut.onRemoteConfig(t),this.qt.onRemoteConfig(t),this.Bt.onRemoteConfig(t,((t,i)=>{this.pi(\"linked_flag_matched\",{flag:t,variant:i})})),this.Nt=!0,this.startIfEnabledOrStop()}hi(){F(this.jt)&&O(this.Yt)&&(this.Yt=this.It.onSessionId((t=>{this.fi(t)})))}gi(t){if(this._instance.persistence){var i,e=this._instance.persistence,r=()=>{var i,r,s,n,o,a,l,h,u,d=null==(i=t.sessionRecording)?void 0:i.sampleRate,v=O(d)?null:parseFloat(d);O(v)&&this.ci();var c=null==(r=t.sessionRecording)?void 0:r.minimumDurationMilliseconds;e.register({[ft]:!!t.sessionRecording,[pt]:null==(s=t.sessionRecording)?void 0:s.consoleLogRecordingEnabled,[gt]:B({capturePerformance:t.capturePerformance},null==(n=t.sessionRecording)?void 0:n.networkPayloadCapture),[_t]:null==(o=t.sessionRecording)?void 0:o.masking,[mt]:{enabled:null==(a=t.sessionRecording)?void 0:a.recordCanvas,fps:null==(l=t.sessionRecording)?void 0:l.canvasFps,quality:null==(h=t.sessionRecording)?void 0:h.canvasQuality},[bt]:v,[wt]:R(c)?null:c,[yt]:null==(u=t.sessionRecording)?void 0:u.scriptConfig})};r(),null==(i=this.Kt)||i.call(this),this.Kt=this.It.onSessionId(r)}}log(t,i){var e;void 0===i&&(i=\"log\"),null==(e=this._instance.sessionRecording)||e.onRRwebEmit({type:6,data:{plugin:\"rrweb/console@1\",payload:{level:i,trace:[],payload:[JSON.stringify(t)]}},timestamp:Date.now()})}li(t){if(!R(Object.assign)&&!R(Array.from)&&!(this.Et||this._instance.config.disable_session_recording||this._instance.consent.isOptedOut())){var i;if(this.Et=!0,this.It.checkAndGetSessionAndWindowId(),ns())this.mi();else null==(i=c.__PosthogExtensions__)||null==i.loadExternalDependency||i.loadExternalDependency(this._instance,this.bi,(t=>{if(t)return ss.error(\"could not load recorder\",t);this.mi()}));ss.info(\"starting\"),this.status===zr&&this.pi(t||\"recording_initialized\")}}get bi(){var t,i,e;return(null==(t=this._instance)||null==(i=t.persistence)||null==(e=i.get_property(yt))?void 0:e.script)||\"recorder\"}wi(t){var i;return 3===t.type&&-1!==as.indexOf(null==(i=t.data)?void 0:i.source)}yi(t){var i=this.wi(t);i||this.Wt||t.timestamp-this.Gt>this.xt&&(this.Wt=!0,clearInterval(this.vi),this.ii(\"sessionIdle\",{eventTimestamp:t.timestamp,lastActivityTimestamp:this.Gt,threshold:this.xt,bufferLength:this.M.data.length,bufferSize:this.M.size}),this.Zt());var e=!1;if(i&&(this.Gt=t.timestamp,this.Wt)){var r=\"unknown\"===this.Wt;this.Wt=!1,r||(this.ii(\"sessionNoLongerIdle\",{reason:\"user activity\",type:t.type}),e=!0)}if(!this.Wt){var{windowId:s,sessionId:n}=this.It.checkAndGetSessionAndWindowId(!i,t.timestamp),o=this.kt!==n,a=this.oi!==s;this.oi=s,this.kt=n,o||a?(this.stopRecording(),this.startIfEnabledOrStop(\"session_id_changed\")):e&&this.Si()}}$i(t){try{return t.rrwebMethod(),!0}catch(i){return this.Ht.length<10?this.Ht.push({enqueuedAt:t.enqueuedAt||Date.now(),attempt:t.attempt++,rrwebMethod:t.rrwebMethod}):ss.warn(\"could not emit queued rrweb event.\",i,t),!1}}ii(t,i){return this.$i(ls((()=>ns().addCustomEvent(t,i))))}ki(){return this.$i(ls((()=>ns().takeFullSnapshot())))}mi(){var t,i,e,r,s={blockClass:\"ph-no-capture\",blockSelector:void 0,ignoreClass:\"ph-ignore-input\",maskTextClass:\"ph-mask\",maskTextSelector:void 0,maskTextFn:void 0,maskAllInputs:!0,maskInputOptions:{password:!0},maskInputFn:void 0,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1},n=this._instance.config.session_recording;for(var[o,a]of Object.entries(n||{}))o in s&&(\"maskInputOptions\"===o?s.maskInputOptions=B({password:!0},a):s[o]=a);(this.Ft&&this.Ft.enabled&&(s.recordCanvas=!0,s.sampling={canvas:this.Ft.fps},s.dataURLOptions={type:\"image/webp\",quality:this.Ft.quality}),this.Dt)&&(s.maskAllInputs=null===(i=this.Dt.maskAllInputs)||void 0===i||i,s.maskTextSelector=null!==(e=this.Dt.maskTextSelector)&&void 0!==e?e:void 0,s.blockSelector=null!==(r=this.Dt.blockSelector)&&void 0!==r?r:void 0);var l=ns();if(l){this.xi=null!==(t=this.xi)&&void 0!==t?t:new Qe(l,{refillRate:this._instance.config.session_recording.__mutationRateLimiterRefillRate,bucketSize:this._instance.config.session_recording.__mutationRateLimiterBucketSize,onBlockedNode:(t,i)=>{var e=\"Too many mutations on node '\"+t+\"'. Rate limiting. This could be due to SVG animations or something similar\";ss.info(e,{node:i}),this.log(rs+\" \"+e,\"warn\")}});var h=this.Ei();this.ni=l(B({emit:t=>{this.onRRwebEmit(t)},plugins:h},s)),this.Gt=Date.now(),this.Wt=A(this.Wt)?this.Wt:\"unknown\",this.ii(\"$session_options\",{sessionRecordingOptions:s,activePlugins:h.map((t=>null==t?void 0:t.name))}),this.ii(\"$posthog_config\",{config:this._instance.config})}else ss.error(\"onScriptLoaded was called but rrwebRecord is not available. This indicates something has gone wrong.\")}Si(){if(this.vi&&clearInterval(this.vi),!0!==this.Wt){var t=this.Pt;t&&(this.vi=setInterval((()=>{this.ki()}),t))}}Ei(){var t,i,e,r,s=[],n=null==(t=c.__PosthogExtensions__)||null==(i=t.rrwebPlugins)?void 0:i.getRecordConsolePlugin;n&&this.Ot&&s.push(n());var o=null==(e=c.__PosthogExtensions__)||null==(r=e.rrwebPlugins)?void 0:r.getRecordNetworkPlugin;this.At&&E(o)&&(!bi.includes(location.hostname)||this._forceAllowLocalhostNetworkCapture?s.push(o(Ye(this._instance.config,this.At))):ss.info(\"NetworkCapture not started because we are on localhost.\"));return s}onRRwebEmit(t){var i;if(this.Ii(),t&&I(t)){if(t.type===ze.Meta){var e=this.di(t.data.href);if(this.Pi=e,!e)return;t.data.href=e}else this.Ri();if(this.Ut.checkUrlTriggerConditions((()=>this.Ti()),(()=>this.Mi()),(t=>this.Ci(t))),!this.Ut.urlBlocked||(r=t).type===ze.Custom&&\"recording paused\"===r.data.tag){var r;t.type===ze.FullSnapshot&&this.Si(),t.type===ze.FullSnapshot&&this.Nt&&this.Rt.triggerStatus(this.sessionId)===Wr&&this.ai();var s=this.xi?this.xi.throttleMutations(t):t;if(s){var n=function(t){var i=t;if(i&&I(i)&&6===i.type&&I(i.data)&&\"rrweb/console@1\"===i.data.plugin){i.data.payload.payload.length>10&&(i.data.payload.payload=i.data.payload.payload.slice(0,10),i.data.payload.payload.push(\"...[truncated]\"));for(var e=[],r=0;r<i.data.payload.payload.length;r++)i.data.payload.payload[r]&&i.data.payload.payload[r].length>2e3?e.push(i.data.payload.payload[r].slice(0,2e3)+\"...[truncated]\"):e.push(i.data.payload.payload[r]);return i.data.payload.payload=e,t}return t}(s);if(this.yi(n),!0!==this.Wt||us(n)){if(us(n)){var o=n.data.payload;if(o){var a=o.lastActivityTimestamp,l=o.threshold;n.timestamp=a+l}}var h=null===(i=this._instance.config.session_recording.compress_events)||void 0===i||i?function(t){if(Le(t)<1024)return t;try{if(t.type===ze.FullSnapshot)return B({},t,{data:hs(t.data),cv:\"2024-10\"});if(t.type===ze.IncrementalSnapshot&&t.data.source===Ue.Mutation)return B({},t,{cv:\"2024-10\",data:B({},t.data,{texts:hs(t.data.texts),attributes:hs(t.data.attributes),removes:hs(t.data.removes),adds:hs(t.data.adds)})});if(t.type===ze.IncrementalSnapshot&&t.data.source===Ue.StyleSheetRule)return B({},t,{cv:\"2024-10\",data:B({},t.data,{adds:t.data.adds?hs(t.data.adds):void 0,removes:t.data.removes?hs(t.data.removes):void 0})})}catch(t){ss.error(\"could not compress event - will use uncompressed event\",t)}return t}(n):n,u={$snapshot_bytes:Le(h),$snapshot_data:h,$session_id:this.kt,$window_id:this.oi};this.status!==Lr?this.Oi(u):this.ai()}}}}}Ri(){if(!this._instance.config.capture_pageview&&i){var t=this.di(i.location.href);this.Pi!==t&&(this.ii(\"$url_changed\",{href:t}),this.Pi=t)}}Ii(){if(this.Ht.length){var t=[...this.Ht];this.Ht=[],t.forEach((t=>{Date.now()-t.enqueuedAt<=2e3&&this.$i(t)}))}}di(t){var i=this._instance.config.session_recording;if(i.maskNetworkRequestFn){var e,r={url:t};return null==(e=r=i.maskNetworkRequestFn(r))?void 0:e.url}return t}ai(){return this.M={size:0,data:[],sessionId:this.kt,windowId:this.oi},this.M}Zt(){this.Fi&&(clearTimeout(this.Fi),this.Fi=void 0);var t=this.Lt,i=this.Mt,e=F(i)&&i>=0,r=F(t)&&e&&i<t;if(this.status===Ur||this.status===qr||this.status===Lr||r)return this.Fi=setTimeout((()=>{this.Zt()}),2e3),this.M;this.M.data.length>0&&Ne(this.M).forEach((t=>{this.Ai({$snapshot_bytes:t.size,$snapshot_data:t.data,$session_id:t.sessionId,$window_id:t.windowId,$lib:\"web\",$lib_version:f.LIB_VERSION})}));return this.ai()}Oi(t){var i,e=2+((null==(i=this.M)?void 0:i.data.length)||0);!this.Wt&&(this.M.size+t.$snapshot_bytes+e>943718.4||this.M.sessionId!==this.kt)&&(this.M=this.Zt()),this.M.size+=t.$snapshot_bytes,this.M.data.push(t.$snapshot_data),this.Fi||this.Wt||(this.Fi=setTimeout((()=>{this.Zt()}),2e3))}Ai(t){this._instance.capture(\"$snapshot\",t,{_url:this._instance.requestRouter.endpointFor(\"api\",this.si),_noTruncate:!0,_batchKey:\"recordings\",skip_client_rate_limiting:!0})}Ci(t){var i,e;this.Rt.triggerStatus(this.sessionId)===Wr&&(null==(i=this._instance)||null==(e=i.persistence)||e.register({[\"url\"===t?kt:xt]:this.kt}),this.Zt(),this.pi(t+\"_trigger_matched\"))}Ti(){this.Ut.urlBlocked||(this.Ut.urlBlocked=!0,clearInterval(this.vi),ss.info(\"recording paused due to URL blocker\"),this.ii(\"recording paused\",{reason:\"url blocker\"}))}Mi(){this.Ut.urlBlocked&&(this.Ut.urlBlocked=!1,this.ki(),this.Si(),this.ii(\"recording resumed\",{reason:\"left blocked url\"}),ss.info(\"recording resumed\"))}ui(){0!==this.qt.St.length&&O(this.Xt)&&(this.Xt=this._instance.on(\"eventCaptured\",(t=>{try{this.qt.St.includes(t.event)&&this.Ci(\"event\")}catch(t){ss.error(\"Could not activate event trigger\",t)}})))}overrideLinkedFlag(){this.Bt.linkedFlagSeen=!0,this.ki(),this.pi(\"linked_flag_overridden\")}overrideSampling(){var t;null==(t=this._instance.persistence)||t.register({[$t]:!0}),this.ki(),this.pi(\"sampling_overridden\")}overrideTrigger(t){this.Ci(t)}pi(t,i){this._instance.register_for_session({$session_recording_start_reason:t}),ss.info(t.replace(\"_\",\" \"),i),m([\"recording_initialized\",\"session_id_changed\"],t)||this.ii(t,i)}get sdkDebugProperties(){var{sessionStartTimestamp:t}=this.It.checkAndGetSessionAndWindowId(!0);return{$recording_status:this.status,$sdk_debug_replay_internal_buffer_length:this.M.data.length,$sdk_debug_replay_internal_buffer_size:this.M.size,$sdk_debug_current_session_duration:this.Mt,$sdk_debug_session_start:t}}}var vs=z(\"[SegmentIntegration]\");function cs(t,i){var e=t.config.segment;if(!e)return i();!function(t,i){var e=t.config.segment;if(!e)return i();var r=e=>{var r=()=>e.anonymousId()||ji();t.config.get_device_id=r,e.id()&&(t.register({distinct_id:e.id(),$device_id:r()}),t.persistence.set_property(Ft,\"identified\")),i()},s=e.user();\"then\"in s&&E(s.then)?s.then((t=>r(t))):r(s)}(t,(()=>{e.register((t=>{Promise&&Promise.resolve||vs.warn(\"This browser does not have Promise support, and can not use the segment integration\");var i=(i,e)=>{if(!e)return i;i.event.userId||i.event.anonymousId===t.get_distinct_id()||(vs.info(\"No userId set, resetting PostHog\"),t.reset()),i.event.userId&&i.event.userId!==t.get_distinct_id()&&(vs.info(\"UserId set, identifying with PostHog\"),t.identify(i.event.userId));var r=t.calculateEventProperties(e,i.event.properties);return i.event.properties=Object.assign({},r,i.event.properties),i};return{name:\"PostHog JS\",type:\"enrichment\",version:\"1.0.0\",isLoaded:()=>!0,load:()=>Promise.resolve(),track:t=>i(t,t.event.event),page:t=>i(t,\"$pageview\"),identify:t=>i(t,\"$identify\"),screen:t=>i(t,\"$screen\")}})(t)).then((()=>{i()}))}))}var fs=\"posthog-js\";function ps(t,i){var{organization:e,projectId:r,prefix:s,severityAllowList:n=[\"error\"]}=void 0===i?{}:i;return i=>{var o,a,l,h,u;if(!(\"*\"===n||n.includes(i.level))||!t.__loaded)return i;i.tags||(i.tags={});var d=t.requestRouter.endpointFor(\"ui\",\"/project/\"+t.config.token+\"/person/\"+t.get_distinct_id());i.tags[\"PostHog Person URL\"]=d,t.sessionRecordingStarted()&&(i.tags[\"PostHog Recording URL\"]=t.get_session_replay_url({withTimestamp:!0}));var v=(null==(o=i.exception)?void 0:o.values)||[],c=v.map((t=>B({},t,{stacktrace:t.stacktrace?B({},t.stacktrace,{type:\"raw\",frames:(t.stacktrace.frames||[]).map((t=>B({},t,{platform:\"web:javascript\"})))}):void 0}))),f={$exception_message:(null==(a=v[0])?void 0:a.value)||i.message,$exception_type:null==(l=v[0])?void 0:l.type,$exception_personURL:d,$exception_level:i.level,$exception_list:c,$sentry_event_id:i.event_id,$sentry_exception:i.exception,$sentry_exception_message:(null==(h=v[0])?void 0:h.value)||i.message,$sentry_exception_type:null==(u=v[0])?void 0:u.type,$sentry_tags:i.tags};return e&&r&&(f.$sentry_url=(s||\"https://sentry.io/organizations/\")+e+\"/issues/?project=\"+r+\"&query=\"+i.event_id),t.exceptions.sendExceptionEvent(f),i}}class gs{constructor(t,i,e,r,s){this.name=fs,this.setupOnce=function(n){n(ps(t,{organization:i,projectId:e,prefix:r,severityAllowList:s}))}}}var _s,ms=null!=i&&i.location?ki(i.location.hash,\"__posthog\")||ki(location.hash,\"state\"):null,bs=\"_postHogToolbarParams\",ws=z(\"[Toolbar]\");!function(t){t[t.UNINITIALIZED=0]=\"UNINITIALIZED\",t[t.LOADING=1]=\"LOADING\",t[t.LOADED=2]=\"LOADED\"}(_s||(_s={}));class ys{constructor(t){this.instance=t}Di(t){c.ph_toolbar_state=t}ji(){var t;return null!==(t=c.ph_toolbar_state)&&void 0!==t?t:_s.UNINITIALIZED}maybeLoadToolbar(t,e,r){var s,n;if(void 0===t&&(t=void 0),void 0===e&&(e=void 0),void 0===r&&(r=void 0),!i||!a)return!1;t=null!==(s=t)&&void 0!==s?s:i.location,r=null!==(n=r)&&void 0!==n?n:i.history;try{if(!e){try{i.localStorage.setItem(\"test\",\"test\"),i.localStorage.removeItem(\"test\")}catch(t){return!1}e=null==i?void 0:i.localStorage}var o,l=ms||ki(t.hash,\"__posthog\")||ki(t.hash,\"state\"),h=l?X((()=>JSON.parse(atob(decodeURIComponent(l)))))||X((()=>JSON.parse(decodeURIComponent(l)))):null;return h&&\"ph_authorize\"===h.action?((o=h).source=\"url\",o&&Object.keys(o).length>0&&(h.desiredHash?t.hash=h.desiredHash:r?r.replaceState(r.state,\"\",t.pathname+t.search):t.hash=\"\")):((o=JSON.parse(e.getItem(bs)||\"{}\")).source=\"localstorage\",delete o.userIntent),!(!o.token||this.instance.config.token!==o.token)&&(this.loadToolbar(o),!0)}catch(t){return!1}}Li(t){var i=c.ph_load_toolbar||c.ph_load_editor;!O(i)&&E(i)?i(t,this.instance):ws.warn(\"No toolbar load function found\")}loadToolbar(t){var e=!(null==a||!a.getElementById(Ut));if(!i||e)return!1;var r=\"custom\"===this.instance.requestRouter.region&&this.instance.config.advanced_disable_toolbar_metrics,s=B({token:this.instance.config.token},t,{apiURL:this.instance.requestRouter.endpointFor(\"ui\")},r?{instrument:!1}:{});if(i.localStorage.setItem(bs,JSON.stringify(B({},s,{source:void 0}))),this.ji()===_s.LOADED)this.Li(s);else if(this.ji()===_s.UNINITIALIZED){var n;this.Di(_s.LOADING),null==(n=c.__PosthogExtensions__)||null==n.loadExternalDependency||n.loadExternalDependency(this.instance,\"toolbar\",(t=>{if(t)return ws.error(\"[Toolbar] Failed to load\",t),void this.Di(_s.UNINITIALIZED);this.Di(_s.LOADED),this.Li(s)})),st(i,\"turbolinks:load\",(()=>{this.Di(_s.UNINITIALIZED),this.loadToolbar(s)}))}return!0}Ni(t){return this.loadToolbar(t)}maybeLoadEditor(t,i,e){return void 0===t&&(t=void 0),void 0===i&&(i=void 0),void 0===e&&(e=void 0),this.maybeLoadToolbar(t,i,e)}}var Ss=z(\"[TracingHeaders]\");class $s{constructor(t){this.zi=void 0,this.Ui=void 0,this.V=()=>{var t,i,e,r;R(this.zi)&&(null==(t=c.__PosthogExtensions__)||null==(i=t.tracingHeadersPatchFns)||i._patchXHR(this._instance.sessionManager));R(this.Ui)&&(null==(e=c.__PosthogExtensions__)||null==(r=e.tracingHeadersPatchFns)||r._patchFetch(this._instance.sessionManager))},this._instance=t}G(t){var i,e;null!=(i=c.__PosthogExtensions__)&&i.tracingHeadersPatchFns&&t(),null==(e=c.__PosthogExtensions__)||null==e.loadExternalDependency||e.loadExternalDependency(this._instance,\"tracing-headers\",(i=>{if(i)return Ss.error(\"failed to load script\",i);t()}))}startIfEnabledOrStop(){var t,i;this._instance.config.__add_tracing_headers?this.G(this.V):(null==(t=this.zi)||t.call(this),null==(i=this.Ui)||i.call(this),this.zi=void 0,this.Ui=void 0)}}var ks=z(\"[Web Vitals]\"),xs=9e5;class Es{constructor(t){var i;this.qi=!1,this.i=!1,this.M={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Bi=()=>{clearTimeout(this.Hi),0!==this.M.metrics.length&&(this._instance.capture(\"$web_vitals\",this.M.metrics.reduce(((t,i)=>B({},t,{[\"$web_vitals_\"+i.name+\"_event\"]:B({},i),[\"$web_vitals_\"+i.name+\"_value\"]:i.value})),{})),this.M={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.Wi=t=>{var i,e=null==(i=this._instance.sessionManager)?void 0:i.checkAndGetSessionAndWindowId(!0);if(R(e))ks.error(\"Could not read session ID. Dropping metrics!\");else{this.M=this.M||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var r=this.Gi();if(!R(r))if(O(null==t?void 0:t.name)||O(null==t?void 0:t.value))ks.error(\"Invalid metric received\",t);else if(this.Ji&&t.value>=this.Ji)ks.error(\"Ignoring metric with value >= \"+this.Ji,t);else this.M.url!==r&&(this.Bi(),this.Hi=setTimeout(this.Bi,this.flushToCaptureTimeoutMs)),R(this.M.url)&&(this.M.url=r),this.M.firstMetricTimestamp=R(this.M.firstMetricTimestamp)?Date.now():this.M.firstMetricTimestamp,t.attribution&&t.attribution.interactionTargetElement&&(t.attribution.interactionTargetElement=void 0),this.M.metrics.push(B({},t,{$current_url:r,$session_id:e.sessionId,$window_id:e.windowId,timestamp:Date.now()})),this.M.metrics.length===this.allowedMetrics.length&&this.Bi()}},this.V=()=>{var t,i,e,r,s=c.__PosthogExtensions__;R(s)||R(s.postHogWebVitalsCallbacks)||({onLCP:t,onCLS:i,onFCP:e,onINP:r}=s.postHogWebVitalsCallbacks),t&&i&&e&&r?(this.allowedMetrics.indexOf(\"LCP\")>-1&&t(this.Wi.bind(this)),this.allowedMetrics.indexOf(\"CLS\")>-1&&i(this.Wi.bind(this)),this.allowedMetrics.indexOf(\"FCP\")>-1&&e(this.Wi.bind(this)),this.allowedMetrics.indexOf(\"INP\")>-1&&r(this.Wi.bind(this)),this.i=!0):ks.error(\"web vitals callbacks not loaded - not starting\")},this._instance=t,this.qi=!(null==(i=this._instance.persistence)||!i.props[dt]),this.startIfEnabled()}get allowedMetrics(){var t,i,e=I(this._instance.config.capture_performance)?null==(t=this._instance.config.capture_performance)?void 0:t.web_vitals_allowed_metrics:void 0;return R(e)?(null==(i=this._instance.persistence)?void 0:i.props[ct])||[\"CLS\",\"FCP\",\"INP\",\"LCP\"]:e}get flushToCaptureTimeoutMs(){return(I(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get Ji(){var t=I(this._instance.config.capture_performance)&&F(this._instance.config.capture_performance.__web_vitals_max_value)?this._instance.config.capture_performance.__web_vitals_max_value:xs;return 0<t&&t<=6e4?xs:t}get isEnabled(){var t=null==l?void 0:l.protocol;if(\"http:\"!==t&&\"https:\"!==t)return ks.info(\"Web Vitals are disabled on non-http/https protocols\"),!1;var i=I(this._instance.config.capture_performance)?this._instance.config.capture_performance.web_vitals:A(this._instance.config.capture_performance)?this._instance.config.capture_performance:void 0;return A(i)?i:this.qi}startIfEnabled(){this.isEnabled&&!this.i&&(ks.info(\"enabled, starting...\"),this.G(this.V))}onRemoteConfig(t){var i=I(t.capturePerformance)&&!!t.capturePerformance.web_vitals,e=I(t.capturePerformance)?t.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[dt]:i}),this._instance.persistence.register({[ct]:e})),this.qi=i,this.startIfEnabled()}G(t){var i,e;null!=(i=c.__PosthogExtensions__)&&i.postHogWebVitalsCallbacks&&t(),null==(e=c.__PosthogExtensions__)||null==e.loadExternalDependency||e.loadExternalDependency(this._instance,\"web-vitals\",(i=>{i?ks.error(\"failed to load script\",i):t()}))}Gi(){var t=i?i.location.href:void 0;return t||ks.error(\"Could not determine current URL\"),t}}var Is=z(\"[Heatmaps]\");function Ps(t){return I(t)&&\"clientX\"in t&&\"clientY\"in t&&F(t.clientX)&&F(t.clientY)}class Rs{constructor(t){var i;this.rageclicks=new mi,this.qi=!1,this.i=!1,this.Vi=null,this.instance=t,this.qi=!(null==(i=this.instance.persistence)||!i.props[ht])}get flushIntervalMilliseconds(){var t=5e3;return I(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(t=this.instance.config.capture_heatmaps.flush_interval_milliseconds),t}get isEnabled(){return R(this.instance.config.capture_heatmaps)?R(this.instance.config.enable_heatmaps)?this.qi:this.instance.config.enable_heatmaps:!1!==this.instance.config.capture_heatmaps}startIfEnabled(){if(this.isEnabled){if(this.i)return;Is.info(\"starting...\"),this.Ki(),this.Vi=setInterval(this.Yi.bind(this),this.flushIntervalMilliseconds)}else{var t,i;clearInterval(null!==(t=this.Vi)&&void 0!==t?t:void 0),null==(i=this.Xi)||i.stop(),this.getAndClearBuffer()}}onRemoteConfig(t){var i=!!t.heatmaps;this.instance.persistence&&this.instance.persistence.register({[ht]:i}),this.qi=i,this.startIfEnabled()}getAndClearBuffer(){var t=this.M;return this.M=void 0,t}Qi(t){this.Zi(t.originalEvent,\"deadclick\")}Ki(){i&&a&&(st(i,\"beforeunload\",this.Yi.bind(this)),st(a,\"click\",(t=>this.Zi(t||(null==i?void 0:i.event))),{capture:!0}),st(a,\"mousemove\",(t=>this.te(t||(null==i?void 0:i.event))),{capture:!0}),this.Xi=new re(this.instance,ie,this.Qi.bind(this)),this.Xi.startIfEnabled(),this.i=!0)}ie(t,e){var r=this.instance.scrollManager.scrollY(),s=this.instance.scrollManager.scrollX(),n=this.instance.scrollManager.scrollElement(),o=function(t,e,r){for(var s=t;s&&Wt(s)&&!Gt(s,\"body\");){if(s===r)return!1;if(m(e,null==i?void 0:i.getComputedStyle(s).position))return!0;s=ei(s)}return!1}(ti(t),[\"fixed\",\"sticky\"],n);return{x:t.clientX+(o?0:s),y:t.clientY+(o?0:r),target_fixed:o,type:e}}Zi(t,i){var e;if(void 0===i&&(i=\"click\"),!Ht(t.target)&&Ps(t)){var r=this.ie(t,i);null!=(e=this.rageclicks)&&e.isRageClick(t.clientX,t.clientY,(new Date).getTime())&&this.ee(B({},r,{type:\"rageclick\"})),this.ee(r)}}te(t){!Ht(t.target)&&Ps(t)&&(clearTimeout(this.re),this.re=setTimeout((()=>{this.ee(this.ie(t,\"mousemove\"))}),500))}ee(t){if(i){var e=i.location.href;this.M=this.M||{},this.M[e]||(this.M[e]=[]),this.M[e].push(t)}}Yi(){this.M&&!P(this.M)&&this.instance.capture(\"$$heatmap\",{$heatmap_data:this.getAndClearBuffer()})}}class Ts{constructor(t){this._instance=t}doPageView(t,e){var r,s=this.se(t,e);return this.ne={pathname:null!==(r=null==i?void 0:i.location.pathname)&&void 0!==r?r:\"\",pageViewId:e,timestamp:t},this._instance.scrollManager.resetContext(),s}doPageLeave(t){var i;return this.se(t,null==(i=this.ne)?void 0:i.pageViewId)}doEvent(){var t;return{$pageview_id:null==(t=this.ne)?void 0:t.pageViewId}}se(t,i){var e=this.ne;if(!e)return{$pageview_id:i};var r={$pageview_id:i,$prev_pageview_id:e.pageViewId},s=this._instance.scrollManager.getContext();if(s&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:n,lastScrollY:o,maxScrollY:a,maxContentHeight:l,lastContentY:h,maxContentY:u}=s;if(!(R(n)||R(o)||R(a)||R(l)||R(h)||R(u))){n=Math.ceil(n),o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),h=Math.ceil(h),u=Math.ceil(u);var d=n<=1?1:Xe(o/n,0,1),v=n<=1?1:Xe(a/n,0,1),c=l<=1?1:Xe(h/l,0,1),f=l<=1?1:Xe(u/l,0,1);r=V(r,{$prev_pageview_last_scroll:o,$prev_pageview_last_scroll_percentage:d,$prev_pageview_max_scroll:a,$prev_pageview_max_scroll_percentage:v,$prev_pageview_last_content:h,$prev_pageview_last_content_percentage:c,$prev_pageview_max_content:u,$prev_pageview_max_content_percentage:f})}}return e.pathname&&(r.$prev_pageview_pathname=e.pathname),e.timestamp&&(r.$prev_pageview_duration=(t.getTime()-e.timestamp.getTime())/1e3),r}}class Ms{constructor(t){this._instance=t}sendExceptionEvent(t){this._instance.capture(\"$exception\",t,{_noTruncate:!0,_batchKey:\"exceptionEvent\"})}}var Cs=\"Mobile\",Os=\"iOS\",Fs=\"Android\",As=\"Tablet\",Ds=Fs+\" \"+As,js=\"iPad\",Ls=\"Apple\",Ns=Ls+\" Watch\",zs=\"Safari\",Us=\"BlackBerry\",qs=\"Samsung\",Bs=qs+\"Browser\",Hs=qs+\" Internet\",Ws=\"Chrome\",Gs=Ws+\" OS\",Js=Ws+\" \"+Os,Vs=\"Internet Explorer\",Ks=Vs+\" \"+Cs,Ys=\"Opera\",Xs=Ys+\" Mini\",Qs=\"Edge\",Zs=\"Microsoft \"+Qs,tn=\"Firefox\",en=tn+\" \"+Os,rn=\"Nintendo\",sn=\"PlayStation\",nn=\"Xbox\",on=Fs+\" \"+Cs,an=Cs+\" \"+zs,ln=\"Windows\",hn=ln+\" Phone\",un=\"Nokia\",dn=\"Ouya\",vn=\"Generic\",cn=vn+\" \"+Cs.toLowerCase(),fn=vn+\" \"+As.toLowerCase(),pn=\"Konqueror\",gn=\"(\\\\d+(\\\\.\\\\d+)?)\",_n=new RegExp(\"Version/\"+gn),mn=new RegExp(nn,\"i\"),bn=new RegExp(sn+\" \\\\w+\",\"i\"),wn=new RegExp(rn+\" \\\\w+\",\"i\"),yn=new RegExp(Us+\"|PlayBook|BB10\",\"i\"),Sn={\"NT3.51\":\"NT 3.11\",\"NT4.0\":\"NT 4.0\",\"5.0\":\"2000\",5.1:\"XP\",5.2:\"XP\",\"6.0\":\"Vista\",6.1:\"7\",6.2:\"8\",6.3:\"8.1\",6.4:\"10\",\"10.0\":\"10\"};var $n=(t,i)=>i&&m(i,Ls)||function(t){return m(t,zs)&&!m(t,Ws)&&!m(t,Fs)}(t),kn=function(t,i){return i=i||\"\",m(t,\" OPR/\")&&m(t,\"Mini\")?Xs:m(t,\" OPR/\")?Ys:yn.test(t)?Us:m(t,\"IE\"+Cs)||m(t,\"WPDesktop\")?Ks:m(t,Bs)?Hs:m(t,Qs)||m(t,\"Edg/\")?Zs:m(t,\"FBIOS\")?\"Facebook \"+Cs:m(t,\"UCWEB\")||m(t,\"UCBrowser\")?\"UC Browser\":m(t,\"CriOS\")?Js:m(t,\"CrMo\")||m(t,Ws)?Ws:m(t,Fs)&&m(t,zs)?on:m(t,\"FxiOS\")?en:m(t.toLowerCase(),pn.toLowerCase())?pn:$n(t,i)?m(t,Cs)?an:zs:m(t,tn)?tn:m(t,\"MSIE\")||m(t,\"Trident/\")?Vs:m(t,\"Gecko\")?tn:\"\"},xn={[Ks]:[new RegExp(\"rv:\"+gn)],[Zs]:[new RegExp(Qs+\"?\\\\/\"+gn)],[Ws]:[new RegExp(\"(\"+Ws+\"|CrMo)\\\\/\"+gn)],[Js]:[new RegExp(\"CriOS\\\\/\"+gn)],\"UC Browser\":[new RegExp(\"(UCBrowser|UCWEB)\\\\/\"+gn)],[zs]:[_n],[an]:[_n],[Ys]:[new RegExp(\"(Opera|OPR)\\\\/\"+gn)],[tn]:[new RegExp(tn+\"\\\\/\"+gn)],[en]:[new RegExp(\"FxiOS\\\\/\"+gn)],[pn]:[new RegExp(\"Konqueror[:/]?\"+gn,\"i\")],[Us]:[new RegExp(Us+\" \"+gn),_n],[on]:[new RegExp(\"android\\\\s\"+gn,\"i\")],[Hs]:[new RegExp(Bs+\"\\\\/\"+gn)],[Vs]:[new RegExp(\"(rv:|MSIE )\"+gn)],Mozilla:[new RegExp(\"rv:\"+gn)]},En=function(t,i){var e=kn(t,i),r=xn[e];if(R(r))return null;for(var s=0;s<r.length;s++){var n=r[s],o=t.match(n);if(o)return parseFloat(o[o.length-2])}return null},In=[[new RegExp(nn+\"; \"+nn+\" (.*?)[);]\",\"i\"),t=>[nn,t&&t[1]||\"\"]],[new RegExp(rn,\"i\"),[rn,\"\"]],[new RegExp(sn,\"i\"),[sn,\"\"]],[yn,[Us,\"\"]],[new RegExp(ln,\"i\"),(t,i)=>{if(/Phone/.test(i)||/WPDesktop/.test(i))return[hn,\"\"];if(new RegExp(Cs).test(i)&&!/IEMobile\\b/.test(i))return[ln+\" \"+Cs,\"\"];var e=/Windows NT ([0-9.]+)/i.exec(i);if(e&&e[1]){var r=e[1],s=Sn[r]||\"\";return/arm/i.test(i)&&(s=\"RT\"),[ln,s]}return[ln,\"\"]}],[/((iPhone|iPad|iPod).*?OS (\\d+)_(\\d+)_?(\\d+)?|iPhone)/,t=>{if(t&&t[3]){var i=[t[3],t[4],t[5]||\"0\"];return[Os,i.join(\".\")]}return[Os,\"\"]}],[/(watch.*\\/(\\d+\\.\\d+\\.\\d+)|watch os,(\\d+\\.\\d+),)/i,t=>{var i=\"\";return t&&t.length>=3&&(i=R(t[2])?t[3]:t[2]),[\"watchOS\",i]}],[new RegExp(\"(\"+Fs+\" (\\\\d+)\\\\.(\\\\d+)\\\\.?(\\\\d+)?|\"+Fs+\")\",\"i\"),t=>{if(t&&t[2]){var i=[t[2],t[3],t[4]||\"0\"];return[Fs,i.join(\".\")]}return[Fs,\"\"]}],[/Mac OS X (\\d+)[_.](\\d+)[_.]?(\\d+)?/i,t=>{var i=[\"Mac OS X\",\"\"];if(t&&t[1]){var e=[t[1],t[2],t[3]||\"0\"];i[1]=e.join(\".\")}return i}],[/Mac/i,[\"Mac OS X\",\"\"]],[/CrOS/,[Gs,\"\"]],[/Linux|debian/i,[\"Linux\",\"\"]]],Pn=function(t){return wn.test(t)?rn:bn.test(t)?sn:mn.test(t)?nn:new RegExp(dn,\"i\").test(t)?dn:new RegExp(\"(\"+hn+\"|WPDesktop)\",\"i\").test(t)?hn:/iPad/.test(t)?js:/iPod/.test(t)?\"iPod Touch\":/iPhone/.test(t)?\"iPhone\":/(watch)(?: ?os[,/]|\\d,\\d\\/)[\\d.]+/i.test(t)?Ns:yn.test(t)?Us:/(kobo)\\s(ereader|touch)/i.test(t)?\"Kobo\":new RegExp(un,\"i\").test(t)?un:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i.test(t)||/(kf[a-z]+)( bui|\\)).+silk\\//i.test(t)?\"Kindle Fire\":/(Android|ZTE)/i.test(t)?!new RegExp(Cs).test(t)||/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(t)?/pixel[\\daxl ]{1,6}/i.test(t)&&!/pixel c/i.test(t)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(t)||/lmy47v/i.test(t)&&!/QTAQZ3/i.test(t)?Fs:Ds:Fs:new RegExp(\"(pda|\"+Cs+\")\",\"i\").test(t)?cn:new RegExp(As,\"i\").test(t)&&!new RegExp(As+\" pc\",\"i\").test(t)?fn:\"\"},Rn=\"https?://(.*)\",Tn=[\"gclid\",\"gclsrc\",\"dclid\",\"gbraid\",\"wbraid\",\"fbclid\",\"msclkid\",\"twclid\",\"li_fat_id\",\"igshid\",\"ttclid\",\"rdt_cid\",\"epik\",\"qclid\",\"sccid\",\"irclid\",\"_kx\"],Mn=K([\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\",\"gad_source\",\"mc_cid\"],Tn),Cn=\"<masked>\";function On(t,i,e){if(!a)return{};var r=i?K([],Tn,e||[]):[];return Fn($i(a.URL,r,Cn),t)}function Fn(t,i){var e=Mn.concat(i||[]),r={};return J(e,(function(i){var e=Si(t,i);r[i]=e||null})),r}function An(t){var i=function(t){return t?0===t.search(Rn+\"google.([^/?]*)\")?\"google\":0===t.search(Rn+\"bing.com\")?\"bing\":0===t.search(Rn+\"yahoo.com\")?\"yahoo\":0===t.search(Rn+\"duckduckgo.com\")?\"duckduckgo\":null:null}(t),e=\"yahoo\"!=i?\"q\":\"p\",r={};if(!C(i)){r.$search_engine=i;var s=a?Si(a.referrer,e):\"\";s.length&&(r.ph_keyword=s)}return r}function Dn(){return navigator.language||navigator.userLanguage}function jn(){return(null==a?void 0:a.referrer)||\"$direct\"}function Ln(t,i){var e=t?K([],Tn,i||[]):[],r=null==l?void 0:l.href.substring(0,1e3);return{r:jn().substring(0,1e3),u:r?$i(r,e,Cn):void 0}}function Nn(t){var i,{r:e,u:r}=t,s={$referrer:e,$referring_domain:null==e?void 0:\"$direct\"==e?\"$direct\":null==(i=wi(e))?void 0:i.host};if(r){s.$current_url=r;var n=wi(r);s.$host=null==n?void 0:n.host,s.$pathname=null==n?void 0:n.pathname;var o=Fn(r);V(s,o)}if(e){var a=An(e);V(s,a)}return s}function zn(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(t){return}}function Un(){try{return(new Date).getTimezoneOffset()}catch(t){return}}function qn(t,e){if(!v)return{};var r,s,n,o=t?K([],Tn,e||[]):[],[a,h]=function(t){for(var i=0;i<In.length;i++){var[e,r]=In[i],s=e.exec(t),n=s&&(E(r)?r(s,t):r);if(n)return n}return[\"\",\"\"]}(v);return V(Z({$os:a,$os_version:h,$browser:kn(v,navigator.vendor),$device:Pn(v),$device_type:(s=v,n=Pn(s),n===js||n===Ds||\"Kobo\"===n||\"Kindle Fire\"===n||n===fn?As:n===rn||n===nn||n===sn||n===dn?\"Console\":n===Ns?\"Wearable\":n?Cs:\"Desktop\"),$timezone:zn(),$timezone_offset:Un()}),{$current_url:$i(null==l?void 0:l.href,o,Cn),$host:null==l?void 0:l.host,$pathname:null==l?void 0:l.pathname,$raw_user_agent:v.length>1e3?v.substring(0,997)+\"...\":v,$browser_version:En(v,navigator.vendor),$browser_language:Dn(),$browser_language_prefix:(r=Dn(),\"string\"==typeof r?r.split(\"-\")[0]:void 0),$screen_height:null==i?void 0:i.screen.height,$screen_width:null==i?void 0:i.screen.width,$viewport_height:null==i?void 0:i.innerHeight,$viewport_width:null==i?void 0:i.innerWidth,$lib:\"web\",$lib_version:f.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})}var Bn,Hn=z(\"[FeatureFlags]\"),Wn=\"$active_feature_flags\",Gn=\"$override_feature_flags\",Jn=\"$feature_flag_payloads\",Vn=\"$override_feature_flag_payloads\",Kn=\"$feature_flag_request_id\",Yn=t=>{var i={};for(var[e,r]of Y(t||{}))r&&(i[e]=r);return i},Xn=t=>{var i=t.flags;return i?(t.featureFlags=Object.fromEntries(Object.keys(i).map((t=>{var e;return[t,null!==(e=i[t].variant)&&void 0!==e?e:i[t].enabled]}))),t.featureFlagPayloads=Object.fromEntries(Object.keys(i).filter((t=>i[t].enabled)).filter((t=>{var e;return null==(e=i[t].metadata)?void 0:e.payload})).map((t=>{var e;return[t,null==(e=i[t].metadata)?void 0:e.payload]})))):Hn.warn(\"Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version\"),t};!function(t){t.FeatureFlags=\"feature_flags\",t.Recordings=\"recordings\"}(Bn||(Bn={}));class Qn{constructor(t){this.oe=!1,this.ae=!1,this.le=!1,this.he=!1,this.ue=!1,this.de=!1,this.ve=!1,this._instance=t,this.featureFlagEventHandlers=[]}decide(){if(this._instance.config.__preview_remote_config)this.de=!0;else{var t=!this.ce&&(this._instance.config.advanced_disable_feature_flags||this._instance.config.advanced_disable_feature_flags_on_first_load);this.fe({disableFlags:t})}}get hasLoadedFlags(){return this.ae}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var t=this._instance.get_property(Pt),i=this._instance.get_property(Gn),e=this._instance.get_property(Vn);if(!e&&!i)return t||{};var r=V({},t||{}),s=[...new Set([...Object.keys(e||{}),...Object.keys(i||{})])];for(var n of s){var o,a,l=r[n],h=null==i?void 0:i[n],u=R(h)?null!==(o=null==l?void 0:l.enabled)&&void 0!==o&&o:!!h,d=R(h)?l.variant:\"string\"==typeof h?h:void 0,v=null==e?void 0:e[n],c=B({},l,{enabled:u,variant:u?null!=d?d:null==l?void 0:l.variant:void 0});if(u!==(null==l?void 0:l.enabled)&&(c.original_enabled=null==l?void 0:l.enabled),d!==(null==l?void 0:l.variant)&&(c.original_variant=null==l?void 0:l.variant),v)c.metadata=B({},null==l?void 0:l.metadata,{payload:v,original_payload:null==l||null==(a=l.metadata)?void 0:a.payload});r[n]=c}return this.oe||(Hn.warn(\" Overriding feature flag details!\",{flagDetails:t,overriddenPayloads:e,finalDetails:r}),this.oe=!0),r}getFlagVariants(){var t=this._instance.get_property(Et),i=this._instance.get_property(Gn);if(!i)return t||{};for(var e=V({},t),r=Object.keys(i),s=0;s<r.length;s++)e[r[s]]=i[r[s]];return this.oe||(Hn.warn(\" Overriding feature flags!\",{enabledFlags:t,overriddenFlags:i,finalFlags:e}),this.oe=!0),e}getFlagPayloads(){var t=this._instance.get_property(Jn),i=this._instance.get_property(Vn);if(!i)return t||{};for(var e=V({},t||{}),r=Object.keys(i),s=0;s<r.length;s++)e[r[s]]=i[r[s]];return this.oe||(Hn.warn(\" Overriding feature flag payloads!\",{flagPayloads:t,overriddenPayloads:i,finalPayloads:e}),this.oe=!0),e}reloadFeatureFlags(){this.he||this._instance.config.advanced_disable_feature_flags||this.ce||(this.ce=setTimeout((()=>{this.fe()}),5))}pe(){clearTimeout(this.ce),this.ce=void 0}ensureFlagsLoaded(){this.ae||this.le||this.ce||this.reloadFeatureFlags()}setAnonymousDistinctId(t){this.$anon_distinct_id=t}setReloadingPaused(t){this.he=t}fe(i){var e;if(this.pe(),!this._instance.config.advanced_disable_decide)if(this.le)this.ue=!0;else{var r={token:this._instance.config.token,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:B({},(null==(e=this._instance.persistence)?void 0:e.get_initial_props())||{},this._instance.get_property(Rt)||{}),group_properties:this._instance.get_property(Tt)};(null!=i&&i.disableFlags||this._instance.config.advanced_disable_feature_flags)&&(r.disable_flags=!0);var s=this._instance.config.__preview_flags_v2&&this._instance.config.__preview_remote_config;s&&(r.timezone=zn()),this.le=!0,this._instance.ge({method:\"POST\",url:this._instance.requestRouter.endpointFor(\"api\",s?\"/flags/?v=2\":\"/decide/?v=4\"),data:r,compression:this._instance.config.disable_compression?void 0:t.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:t=>{var i,e,s,n=!0;(200===t.statusCode&&(this.ue||(this.$anon_distinct_id=void 0),n=!1),this.le=!1,this.de)||(this.de=!0,this._instance._e(null!==(s=t.json)&&void 0!==s?s:{}));r.disable_flags&&!this.ue||(this.ve=!n,t.json&&null!=(i=t.json.quotaLimited)&&i.includes(Bn.FeatureFlags)?Hn.warn(\"You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more.\"):(this.receivedFeatureFlags(null!==(e=t.json)&&void 0!==e?e:{},n),this.ue&&(this.ue=!1,this.fe())))}})}}getFeatureFlag(t,i){if(void 0===i&&(i={}),this.ae||this.getFlags()&&this.getFlags().length>0){var e=this.getFlagVariants()[t],r=\"\"+e,s=this._instance.get_property(Kn)||void 0,n=this._instance.get_property(Ot)||{};if((i.send_event||!(\"send_event\"in i))&&(!(t in n)||!n[t].includes(r))){var o,a,l,h,u,d,v,c,f,p,g;x(n[t])?n[t].push(r):n[t]=[r],null==(o=this._instance.persistence)||o.register({[Ot]:n});var _=this.getFeatureFlagDetails(t),m={$feature_flag:t,$feature_flag_response:e,$feature_flag_payload:this.getFeatureFlagPayload(t)||null,$feature_flag_request_id:s,$feature_flag_bootstrapped_response:(null==(a=this._instance.config.bootstrap)||null==(l=a.featureFlags)?void 0:l[t])||null,$feature_flag_bootstrapped_payload:(null==(h=this._instance.config.bootstrap)||null==(u=h.featureFlagPayloads)?void 0:u[t])||null,$used_bootstrap_value:!this.ve};R(null==_||null==(d=_.metadata)?void 0:d.version)||(m.$feature_flag_version=_.metadata.version);var b,w=null!==(v=null==_||null==(c=_.reason)?void 0:c.description)&&void 0!==v?v:null==_||null==(f=_.reason)?void 0:f.code;if(w&&(m.$feature_flag_reason=w),null!=_&&null!=(p=_.metadata)&&p.id&&(m.$feature_flag_id=_.metadata.id),R(null==_?void 0:_.original_variant)&&R(null==_?void 0:_.original_enabled)||(m.$feature_flag_original_response=R(_.original_variant)?_.original_enabled:_.original_variant),null!=_&&null!=(g=_.metadata)&&g.original_payload)m.$feature_flag_original_payload=null==_||null==(b=_.metadata)?void 0:b.original_payload;this._instance.capture(\"$feature_flag_called\",m)}return e}Hn.warn('getFeatureFlag for key \"'+t+\"\\\" failed. Feature flags didn't load in time.\")}getFeatureFlagDetails(t){return this.getFlagsWithDetails()[t]}getFeatureFlagPayload(t){return this.getFlagPayloads()[t]}getRemoteConfigPayload(i,e){var r=this._instance.config.token;this._instance.ge({method:\"POST\",url:this._instance.requestRouter.endpointFor(\"api\",\"/decide/?v=4\"),data:{distinct_id:this._instance.get_distinct_id(),token:r},compression:this._instance.config.disable_compression?void 0:t.Base64,timeout:this._instance.config.feature_flag_request_timeout_ms,callback:t=>{var r,s=null==(r=t.json)?void 0:r.featureFlagPayloads;e((null==s?void 0:s[i])||void 0)}})}isFeatureEnabled(t,i){if(void 0===i&&(i={}),this.ae||this.getFlags()&&this.getFlags().length>0)return!!this.getFeatureFlag(t,i);Hn.warn('isFeatureEnabled for key \"'+t+\"\\\" failed. Feature flags didn't load in time.\")}addFeatureFlagsHandler(t){this.featureFlagEventHandlers.push(t)}removeFeatureFlagsHandler(t){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((i=>i!==t))}receivedFeatureFlags(t,i){if(this._instance.persistence){this.ae=!0;var e=this.getFlagVariants(),r=this.getFlagPayloads(),s=this.getFlagsWithDetails();!function(t,i,e,r,s){void 0===e&&(e={}),void 0===r&&(r={}),void 0===s&&(s={});var n=Xn(t),o=n.flags,a=n.featureFlags,l=n.featureFlagPayloads;if(a){var h=t.requestId;if(x(a)){Hn.warn(\"v1 of the feature flags endpoint is deprecated. Please use the latest version.\");var u={};if(a)for(var d=0;d<a.length;d++)u[a[d]]=!0;i&&i.register({[Wn]:a,[Et]:u})}else{var v=a,c=l,f=o;t.errorsWhileComputingFlags&&(v=B({},e,v),c=B({},r,c),f=B({},s,f)),i&&i.register(B({[Wn]:Object.keys(Yn(v)),[Et]:v||{},[Jn]:c||{},[Pt]:f||{}},h?{[Kn]:h}:{}))}}}(t,this._instance.persistence,e,r,s),this.me(i)}}override(t,i){void 0===i&&(i=!1),Hn.warn(\"override is deprecated. Please use overrideFeatureFlags instead.\"),this.overrideFeatureFlags({flags:t,suppressWarning:i})}overrideFeatureFlags(t){if(!this._instance.__loaded||!this._instance.persistence)return Hn.uninitializedWarning(\"posthog.featureFlags.overrideFeatureFlags\");if(!1===t)return this._instance.persistence.unregister(Gn),this._instance.persistence.unregister(Vn),void this.me();if(t&&\"object\"==typeof t&&(\"flags\"in t||\"payloads\"in t)){var i,e=t;if(this.oe=Boolean(null!==(i=e.suppressWarning)&&void 0!==i&&i),\"flags\"in e)if(!1===e.flags)this._instance.persistence.unregister(Gn);else if(e.flags)if(x(e.flags)){for(var r={},s=0;s<e.flags.length;s++)r[e.flags[s]]=!0;this._instance.persistence.register({[Gn]:r})}else this._instance.persistence.register({[Gn]:e.flags});return\"payloads\"in e&&(!1===e.payloads?this._instance.persistence.unregister(Vn):e.payloads&&this._instance.persistence.register({[Vn]:e.payloads})),void this.me()}this.me()}onFeatureFlags(t){if(this.addFeatureFlagsHandler(t),this.ae){var{flags:i,flagVariants:e}=this.be();t(i,e)}return()=>this.removeFeatureFlagsHandler(t)}updateEarlyAccessFeatureEnrollment(t,i){var e,r=(this._instance.get_property(It)||[]).find((i=>i.flagKey===t)),s={[\"$feature_enrollment/\"+t]:i},n={$feature_flag:t,$feature_enrollment:i,$set:s};r&&(n.$early_access_feature_name=r.name),this._instance.capture(\"$feature_enrollment_update\",n),this.setPersonPropertiesForFlags(s,!1);var o=B({},this.getFlagVariants(),{[t]:i});null==(e=this._instance.persistence)||e.register({[Wn]:Object.keys(Yn(o)),[Et]:o}),this.me()}getEarlyAccessFeatures(t,i,e){void 0===i&&(i=!1);var r=this._instance.get_property(It),s=e?\"&\"+e.map((t=>\"stage=\"+t)).join(\"&\"):\"\";if(r&&!i)return t(r);this._instance.ge({url:this._instance.requestRouter.endpointFor(\"api\",\"/api/early_access_features/?token=\"+this._instance.config.token+s),method:\"GET\",callback:i=>{var e;if(i.json){var r=i.json.earlyAccessFeatures;return null==(e=this._instance.persistence)||e.register({[It]:r}),t(r)}}})}be(){var t=this.getFlags(),i=this.getFlagVariants();return{flags:t.filter((t=>i[t])),flagVariants:Object.keys(i).filter((t=>i[t])).reduce(((t,e)=>(t[e]=i[e],t)),{})}}me(t){var{flags:i,flagVariants:e}=this.be();this.featureFlagEventHandlers.forEach((r=>r(i,e,{errorsLoading:t})))}setPersonPropertiesForFlags(t,i){void 0===i&&(i=!0);var e=this._instance.get_property(Rt)||{};this._instance.register({[Rt]:B({},e,t)}),i&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(Rt)}setGroupPropertiesForFlags(t,i){void 0===i&&(i=!0);var e=this._instance.get_property(Tt)||{};0!==Object.keys(e).length&&Object.keys(e).forEach((i=>{e[i]=B({},e[i],t[i]),delete t[i]})),this._instance.register({[Tt]:B({},e,t)}),i&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(t){if(t){var i=this._instance.get_property(Tt)||{};this._instance.register({[Tt]:B({},i,{[t]:{}})})}else this._instance.unregister(Tt)}}var Zn=[\"cookie\",\"localstorage\",\"localstorage+cookie\",\"sessionstorage\",\"memory\"];class to{constructor(t){this.S=t,this.props={},this.we=!1,this.ye=(t=>{var i=\"\";return t.token&&(i=t.token.replace(/\\+/g,\"PL\").replace(/\\//g,\"SL\").replace(/=/g,\"EQ\")),t.persistence_name?\"ph_\"+t.persistence_name:\"ph_\"+i+\"_posthog\"})(t),this.q=this.Se(t),this.load(),t.debug&&N.info(\"Persistence loaded\",t.persistence,B({},this.props)),this.update_config(t,t),this.save()}Se(t){-1===Zn.indexOf(t.persistence.toLowerCase())&&(N.critical(\"Unknown persistence type \"+t.persistence+\"; falling back to localStorage+cookie\"),t.persistence=\"localStorage+cookie\");var i=t.persistence.toLowerCase();return\"localstorage\"===i&&Gi.O()?Gi:\"localstorage+cookie\"===i&&Vi.O()?Vi:\"sessionstorage\"===i&&Qi.O()?Qi:\"memory\"===i?Yi:\"cookie\"===i?Hi:Vi.O()?Vi:Hi}properties(){var t={};return J(this.props,(function(i,e){if(e===Et&&I(i))for(var r=Object.keys(i),s=0;s<r.length;s++)t[\"$feature/\"+r[s]]=i[r[s]];else a=e,l=!1,(C(o=Bt)?l:n&&o.indexOf===n?-1!=o.indexOf(a):(J(o,(function(t){if(l||(l=t===a))return W})),l))||(t[e]=i);var o,a,l})),t}load(){if(!this.$e){var t=this.q.D(this.ye);t&&(this.props=V({},t))}}save(){this.$e||this.q.j(this.ye,this.props,this.ke,this.xe,this.Ee,this.S.debug)}remove(){this.q.L(this.ye,!1),this.q.L(this.ye,!0)}clear(){this.remove(),this.props={}}register_once(t,i,e){if(I(t)){R(i)&&(i=\"None\"),this.ke=R(e)?this.Ie:e;var r=!1;if(J(t,((t,e)=>{this.props.hasOwnProperty(e)&&this.props[e]!==i||(this.props[e]=t,r=!0)})),r)return this.save(),!0}return!1}register(t,i){if(I(t)){this.ke=R(i)?this.Ie:i;var e=!1;if(J(t,((i,r)=>{t.hasOwnProperty(r)&&this.props[r]!==i&&(this.props[r]=i,e=!0)})),e)return this.save(),!0}return!1}unregister(t){t in this.props&&(delete this.props[t],this.save())}update_campaign_params(){if(!this.we){var t=On(this.S.custom_campaign_params,this.S.mask_personal_data_properties,this.S.custom_personal_data_properties);P(Z(t))||this.register(t),this.we=!0}}update_search_keyword(){var t;this.register((t=null==a?void 0:a.referrer)?An(t):{})}update_referrer_info(){var t;this.register_once({$referrer:jn(),$referring_domain:null!=a&&a.referrer&&(null==(t=wi(a.referrer))?void 0:t.host)||\"$direct\"},void 0)}set_initial_person_info(){this.props[jt]||this.props[Lt]||this.register_once({[Nt]:Ln(this.S.mask_personal_data_properties,this.S.custom_personal_data_properties)},void 0)}get_initial_props(){var t={};J([Lt,jt],(i=>{var e=this.props[i];e&&J(e,(function(i,e){t[\"$initial_\"+w(e)]=i}))}));var i,e,r=this.props[Nt];if(r){var s=(i=Nn(r),e={},J(i,(function(t,i){e[\"$initial_\"+w(i)]=t})),e);V(t,s)}return t}safe_merge(t){return J(this.props,(function(i,e){e in t||(t[e]=i)})),t}update_config(t,i){if(this.Ie=this.ke=t.cookie_expiration,this.set_disabled(t.disable_persistence),this.set_cross_subdomain(t.cross_subdomain_cookie),this.set_secure(t.secure_cookie),t.persistence!==i.persistence){var e=this.Se(t),r=this.props;this.clear(),this.q=e,this.props=r,this.save()}}set_disabled(t){this.$e=t,this.$e?this.remove():this.save()}set_cross_subdomain(t){t!==this.xe&&(this.xe=t,this.remove(),this.save())}set_secure(t){t!==this.Ee&&(this.Ee=t,this.remove(),this.save())}set_event_timer(t,i){var e=this.props[at]||{};e[t]=i,this.props[at]=e,this.save()}remove_event_timer(t){var i=(this.props[at]||{})[t];return R(i)||(delete this.props[at][t],this.save()),i}get_property(t){return this.props[t]}set_property(t,i){this.props[t]=i,this.save()}}class io{constructor(){this.Pe={},this.Pe={}}on(t,i){return this.Pe[t]||(this.Pe[t]=[]),this.Pe[t].push(i),()=>{this.Pe[t]=this.Pe[t].filter((t=>t!==i))}}emit(t,i){for(var e of this.Pe[t]||[])e(i);for(var r of this.Pe[\"*\"]||[])r(t,i)}}var eo=function(t,i){if(!function(t){try{new RegExp(t)}catch(t){return!1}return!0}(i))return!1;try{return new RegExp(i).test(t)}catch(t){return!1}};class ro{constructor(t){this.Re=new io,this.Te=(t,i)=>this.Me(t,i)&&this.Ce(t,i)&&this.Oe(t,i),this.Me=(t,i)=>null==i||!i.event||(null==t?void 0:t.event)===(null==i?void 0:i.event),this._instance=t,this.Fe=new Set,this.Ae=new Set}init(){var t;if(!R(null==(t=this._instance)?void 0:t.De)){var i;null==(i=this._instance)||i.De(((t,i)=>{this.on(t,i)}))}}register(t){var i,e;if(!R(null==(i=this._instance)?void 0:i.De)&&(t.forEach((t=>{var i,e;null==(i=this.Ae)||i.add(t),null==(e=t.steps)||e.forEach((t=>{var i;null==(i=this.Fe)||i.add((null==t?void 0:t.event)||\"\")}))})),null!=(e=this._instance)&&e.autocapture)){var r,s=new Set;t.forEach((t=>{var i;null==(i=t.steps)||i.forEach((t=>{null!=t&&t.selector&&s.add(null==t?void 0:t.selector)}))})),null==(r=this._instance)||r.autocapture.setElementSelectors(s)}}on(t,i){var e;null!=i&&0!=t.length&&(this.Fe.has(t)||this.Fe.has(null==i?void 0:i.event))&&this.Ae&&(null==(e=this.Ae)?void 0:e.size)>0&&this.Ae.forEach((t=>{this.je(i,t)&&this.Re.emit(\"actionCaptured\",t.name)}))}Le(t){this.onAction(\"actionCaptured\",(i=>t(i)))}je(t,i){if(null==(null==i?void 0:i.steps))return!1;for(var e of i.steps)if(this.Te(t,e))return!0;return!1}onAction(t,i){return this.Re.on(t,i)}Ce(t,i){if(null!=i&&i.url){var e,r=null==t||null==(e=t.properties)?void 0:e.$current_url;if(!r||\"string\"!=typeof r)return!1;if(!ro.Ne(r,null==i?void 0:i.url,(null==i?void 0:i.url_matching)||\"contains\"))return!1}return!0}static Ne(t,e,r){switch(r){case\"regex\":return!!i&&eo(t,e);case\"exact\":return e===t;case\"contains\":var s=ro.ze(e).replace(/_/g,\".\").replace(/%/g,\".*\");return eo(t,s);default:return!1}}static ze(t){return t.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}Oe(t,i){if((null!=i&&i.href||null!=i&&i.tag_name||null!=i&&i.text)&&!this.Ue(t).some((t=>!(null!=i&&i.href&&!ro.Ne(t.href||\"\",null==i?void 0:i.href,(null==i?void 0:i.href_matching)||\"exact\"))&&((null==i||!i.tag_name||t.tag_name===(null==i?void 0:i.tag_name))&&!(null!=i&&i.text&&!ro.Ne(t.text||\"\",null==i?void 0:i.text,(null==i?void 0:i.text_matching)||\"exact\")&&!ro.Ne(t.$el_text||\"\",null==i?void 0:i.text,(null==i?void 0:i.text_matching)||\"exact\"))))))return!1;if(null!=i&&i.selector){var e,r=null==t||null==(e=t.properties)?void 0:e.$element_selectors;if(!r)return!1;if(!r.includes(null==i?void 0:i.selector))return!1}return!0}Ue(t){return null==(null==t?void 0:t.properties.$elements)?[]:null==t?void 0:t.properties.$elements}}var so=z(\"[Surveys]\");class no{constructor(t){this._instance=t,this.qe=new Map,this.Be=new Map}register(t){var i;R(null==(i=this._instance)?void 0:i.De)||(this.He(t),this.We(t))}We(t){var i=t.filter((t=>{var i,e,r,s;return(null==(i=t.conditions)?void 0:i.actions)&&(null==(e=t.conditions)||null==(r=e.actions)||null==(s=r.values)?void 0:s.length)>0}));if(0!==i.length){if(null==this.Ge){this.Ge=new ro(this._instance),this.Ge.init();this.Ge.Le((t=>{this.onAction(t)}))}i.forEach((t=>{var i,e,r,s,n,o,a,l,h,u;t.conditions&&null!=(i=t.conditions)&&i.actions&&null!=(e=t.conditions)&&null!=(r=e.actions)&&r.values&&(null==(s=t.conditions)||null==(n=s.actions)||null==(o=n.values)?void 0:o.length)>0&&(null==(a=this.Ge)||a.register(t.conditions.actions.values),null==(l=t.conditions)||null==(h=l.actions)||null==(u=h.values)||u.forEach((i=>{if(i&&i.name){var e=this.Be.get(i.name);e&&e.push(t.id),this.Be.set(i.name,e||[t.id])}})))}))}}He(t){var i;if(0!==t.filter((t=>{var i,e,r,s;return(null==(i=t.conditions)?void 0:i.events)&&(null==(e=t.conditions)||null==(r=e.events)||null==(s=r.values)?void 0:s.length)>0})).length){null==(i=this._instance)||i.De(((t,i)=>{this.onEvent(t,i)})),t.forEach((t=>{var i,e,r;null==(i=t.conditions)||null==(e=i.events)||null==(r=e.values)||r.forEach((i=>{if(i&&i.name){var e=this.qe.get(i.name);e&&e.push(t.id),this.qe.set(i.name,e||[t.id])}}))}))}}onEvent(t,i){var e,r,s=(null==(e=this._instance)||null==(r=e.persistence)?void 0:r.props[Ct])||[];if(\"survey shown\"===t&&i&&s.length>0){var n;so.info(\"survey event matched, removing survey from activated surveys\",{event:t,eventPayload:i,existingActivatedSurveys:s});var o=null==i||null==(n=i.properties)?void 0:n.$survey_id;if(o){var a=s.indexOf(o);a>=0&&(s.splice(a,1),this.Je(s))}}else this.qe.has(t)&&(so.info(\"survey event matched, updating activated surveys\",{event:t,surveys:this.qe.get(t)}),this.Je(s.concat(this.qe.get(t)||[])))}onAction(t){var i,e,r=(null==(i=this._instance)||null==(e=i.persistence)?void 0:e.props[Ct])||[];this.Be.has(t)&&this.Je(r.concat(this.Be.get(t)||[]))}Je(t){var i,e;null==(i=this._instance)||null==(e=i.persistence)||e.register({[Ct]:[...new Set(t)]})}getSurveys(){var t,i,e=null==(t=this._instance)||null==(i=t.persistence)?void 0:i.props[Ct];return e||[]}getEventToSurveys(){return this.qe}Ve(){return this.Ge}}class oo{constructor(t){this.Ke=null,this.Ye=!1,this.Xe=!1,this.Qe=[],this._instance=t,this._surveyEventReceiver=null}onRemoteConfig(t){var i=t.surveys;if(O(i))return so.warn(\"Decide not loaded yet. Not loading surveys.\");var e=x(i);this.Ze=e?i.length>0:i,so.info(\"decide response received, hasSurveys: \"+this.Ze),this.Ze&&this.loadIfEnabled()}reset(){localStorage.removeItem(\"lastSeenSurveyDate\");for(var t=[],i=0;i<localStorage.length;i++){var e=localStorage.key(i);(null!=e&&e.startsWith(\"seenSurvey_\")||null!=e&&e.startsWith(\"inProgressSurvey_\"))&&t.push(e)}t.forEach((t=>localStorage.removeItem(t)))}loadIfEnabled(){if(!this.Ke)if(this.Xe)so.info(\"Already initializing surveys, skipping...\");else if(this._instance.config.disable_surveys)so.info(\"Disabled. Not loading surveys.\");else if(this.Ze){var t=null==c?void 0:c.__PosthogExtensions__;if(t){this.Xe=!0;try{var i=t.generateSurveys;if(i)return void this.tr(i);var e=t.loadExternalDependency;if(!e)return void this.ir(\"PostHog loadExternalDependency extension not found.\");e(this._instance,\"surveys\",(i=>{i||!t.generateSurveys?this.ir(\"Could not load surveys script\",i):this.tr(t.generateSurveys)}))}catch(t){throw this.ir(\"Error initializing surveys\",t),t}finally{this.Xe=!1}}else so.error(\"PostHog Extensions not found.\")}else so.info(\"No surveys to load.\")}tr(t){this.Ke=t(this._instance),this._surveyEventReceiver=new no(this._instance),so.info(\"Surveys loaded successfully\"),this.er({isLoaded:!0})}ir(t,i){so.error(t,i),this.er({isLoaded:!1,error:t})}onSurveysLoaded(t){return this.Qe.push(t),this.Ke&&this.er({isLoaded:!0}),()=>{this.Qe=this.Qe.filter((i=>i!==t))}}getSurveys(t,i){if(void 0===i&&(i=!1),this._instance.config.disable_surveys)return so.info(\"Disabled. Not loading surveys.\"),t([]);var e=this._instance.get_property(Mt);if(e&&!i)return t(e,{isLoaded:!0});if(this.Ye)return t([],{isLoaded:!1,error:\"Surveys are already being loaded\"});try{this.Ye=!0,this._instance.ge({url:this._instance.requestRouter.endpointFor(\"api\",\"/api/surveys/?token=\"+this._instance.config.token),method:\"GET\",timeout:this._instance.config.surveys_request_timeout_ms,callback:i=>{var e;this.Ye=!1;var r=i.statusCode;if(200!==r||!i.json){var s=\"Surveys API could not be loaded, status: \"+r;return so.error(s),t([],{isLoaded:!1,error:s})}var n,o=i.json.surveys||[],a=o.filter((t=>function(t){return!(!t.start_date||t.end_date)}(t)&&(function(t){var i,e,r;return!(null==(i=t.conditions)||null==(e=i.events)||null==(r=e.values)||!r.length)}(t)||function(t){var i,e,r;return!(null==(i=t.conditions)||null==(e=i.actions)||null==(r=e.values)||!r.length)}(t))));a.length>0&&(null==(n=this._surveyEventReceiver)||n.register(a));return null==(e=this._instance.persistence)||e.register({[Mt]:o}),t(o,{isLoaded:!0})}})}catch(t){throw this.Ye=!1,t}}er(t){for(var i of this.Qe)try{t.isLoaded?this.getSurveys(i):i([],t)}catch(t){so.error(\"Error in survey callback\",t)}}getActiveMatchingSurveys(t,i){if(void 0===i&&(i=!1),!O(this.Ke))return this.Ke.getActiveMatchingSurveys(t,i);so.warn(\"init was not called\")}rr(t){var i=null;return this.getSurveys((e=>{var r;i=null!==(r=e.find((i=>i.id===t)))&&void 0!==r?r:null})),i}sr(t){if(O(this.Ke))return{eligible:!1,reason:\"SDK is not enabled or survey functionality is not yet loaded\"};var i=\"string\"==typeof t?this.rr(t):t;return i?this.Ke.checkSurveyEligibility(i):{eligible:!1,reason:\"Survey not found\"}}canRenderSurvey(t){if(O(this.Ke))return so.warn(\"init was not called\"),{visible:!1,disabledReason:\"SDK is not enabled or survey functionality is not yet loaded\"};var i=this.sr(t);return{visible:i.eligible,disabledReason:i.reason}}canRenderSurveyAsync(t,i){return O(this.Ke)?(so.warn(\"init was not called\"),Promise.resolve({visible:!1,disabledReason:\"SDK is not enabled or survey functionality is not yet loaded\"})):new Promise((e=>{this.getSurveys((i=>{var r,s=null!==(r=i.find((i=>i.id===t)))&&void 0!==r?r:null;if(s){var n=this.sr(s);e({visible:n.eligible,disabledReason:n.reason})}else e({visible:!1,disabledReason:\"Survey not found\"})}),i)}))}renderSurvey(t,i){if(O(this.Ke))so.warn(\"init was not called\");else{var e=this.rr(t),r=null==a?void 0:a.querySelector(i);e?r?this.Ke.renderSurvey(e,r):so.warn(\"Survey element not found\"):so.warn(\"Survey not found\")}}}var ao=z(\"[RateLimiter]\");class lo{constructor(t){var i,e;this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var i=t.text;if(i&&i.length)try{(JSON.parse(i).quota_limited||[]).forEach((t=>{ao.info((t||\"events\")+\" is quota limited.\"),this.serverLimits[t]=(new Date).getTime()+6e4}))}catch(t){return void ao.warn('could not rate limit - continuing. Error: \"'+(null==t?void 0:t.message)+'\"',{text:i})}},this.instance=t,this.captureEventsPerSecond=(null==(i=t.config.rate_limiting)?void 0:i.events_per_second)||10,this.captureEventsBurstLimit=Math.max((null==(e=t.config.rate_limiting)?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(t){var i,e,r;void 0===t&&(t=!1);var s=(new Date).getTime(),n=null!==(i=null==(e=this.instance.persistence)?void 0:e.get_property(Dt))&&void 0!==i?i:{tokens:this.captureEventsBurstLimit,last:s};n.tokens+=(s-n.last)/1e3*this.captureEventsPerSecond,n.last=s,n.tokens>this.captureEventsBurstLimit&&(n.tokens=this.captureEventsBurstLimit);var o=n.tokens<1;return o||t||(n.tokens=Math.max(0,n.tokens-1)),!o||this.lastEventRateLimited||t||this.instance.capture(\"$$client_ingestion_warning\",{$$client_ingestion_warning_message:\"posthog-js client rate limited. Config is set to \"+this.captureEventsPerSecond+\" events per second and \"+this.captureEventsBurstLimit+\" events burst limit.\"},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=o,null==(r=this.instance.persistence)||r.set_property(Dt,n),{isRateLimited:o,remainingTokens:n.tokens}}isServerRateLimited(t){var i=this.serverLimits[t||\"events\"]||!1;return!1!==i&&(new Date).getTime()<i}}var ho=z(\"[RemoteConfig]\");class uo{constructor(t){this._instance=t}get remoteConfig(){var t,i;return null==(t=c._POSTHOG_REMOTE_CONFIG)||null==(i=t[this._instance.config.token])?void 0:i.config}nr(t){var i,e;null!=(i=c.__PosthogExtensions__)&&i.loadExternalDependency?null==(e=c.__PosthogExtensions__)||null==e.loadExternalDependency||e.loadExternalDependency(this._instance,\"remote-config\",(()=>t(this.remoteConfig))):(ho.error(\"PostHog Extensions not found. Cannot load remote config.\"),t())}ar(t){this._instance.ge({method:\"GET\",url:this._instance.requestRouter.endpointFor(\"assets\",\"/array/\"+this._instance.config.token+\"/config\"),callback:i=>{t(i.json)}})}load(){try{if(this.remoteConfig)return ho.info(\"Using preloaded remote config\",this.remoteConfig),void this._e(this.remoteConfig);if(this._instance.config.advanced_disable_decide)return void ho.warn(\"Remote config is disabled. Falling back to local config.\");this.nr((t=>{if(!t)return ho.info(\"No config found after loading remote JS config. Falling back to JSON.\"),void this.ar((t=>{this._e(t)}));this._e(t)}))}catch(t){ho.error(\"Error loading remote config\",t)}}_e(t){t?this._instance.config.__preview_remote_config?(this._instance._e(t),!1!==t.hasFeatureFlags&&this._instance.featureFlags.ensureFlagsLoaded()):ho.info(\"__preview_remote_config is disabled. Logging config instead\",t):ho.error(\"Failed to fetch remote config from PostHog.\")}}var vo=function(t){var i,e,r,s,n=\"\";for(i=e=0,r=(t=(t+\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\")).length,s=0;s<r;s++){var o=t.charCodeAt(s),a=null;o<128?e++:a=o>127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),C(a)||(e>i&&(n+=t.substring(i,e)),n+=a,i=e=s+1)}return e>i&&(n+=t.substring(i,t.length)),n},co=!!u||!!h,fo=\"text/plain\",po=(t,i)=>{var[e,r]=t.split(\"?\"),s=B({},i);null==r||r.split(\"&\").forEach((t=>{var[i]=t.split(\"=\");delete s[i]}));var n=yi(s);return e+\"?\"+(n=n?(r?r+\"&\":\"\")+n:r)},go=(t,i)=>JSON.stringify(t,((t,i)=>\"bigint\"==typeof i?i.toString():i),i),_o=i=>{var{data:e,compression:r}=i;if(e){if(r===t.GZipJS){var s=Ar(Dr(go(e)),{mtime:0}),n=new Blob([s],{type:fo});return{contentType:fo,body:n,estimatedSize:n.size}}if(r===t.Base64){var o=function(t){var i,e,r,s,n,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",a=0,l=0,h=\"\",u=[];if(!t)return t;t=vo(t);do{i=(n=t.charCodeAt(a++)<<16|t.charCodeAt(a++)<<8|t.charCodeAt(a++))>>18&63,e=n>>12&63,r=n>>6&63,s=63&n,u[l++]=o.charAt(i)+o.charAt(e)+o.charAt(r)+o.charAt(s)}while(a<t.length);switch(h=u.join(\"\"),t.length%3){case 1:h=h.slice(0,-2)+\"==\";break;case 2:h=h.slice(0,-1)+\"=\"}return h}(go(e)),a=(t=>\"data=\"+encodeURIComponent(\"string\"==typeof t?t:go(t)))(o);return{contentType:\"application/x-www-form-urlencoded\",body:a,estimatedSize:new Blob([a]).size}}var l=go(e);return{contentType:\"application/json\",body:l,estimatedSize:new Blob([l]).size}}},mo=[];h&&mo.push({transport:\"fetch\",method:t=>{var i,e,{contentType:r,body:s,estimatedSize:n}=null!==(i=_o(t))&&void 0!==i?i:{},o=new Headers;J(t.headers,(function(t,i){o.append(i,t)})),r&&o.append(\"Content-Type\",r);var a=t.url,l=null;if(d){var u=new d;l={signal:u.signal,timeout:setTimeout((()=>u.abort()),t.timeout)}}h(a,B({method:(null==t?void 0:t.method)||\"GET\",headers:o,keepalive:\"POST\"===t.method&&(n||0)<52428.8,body:s,signal:null==(e=l)?void 0:e.signal},t.fetchOptions)).then((i=>i.text().then((e=>{var r={statusCode:i.status,text:e};if(200===i.status)try{r.json=JSON.parse(e)}catch(t){N.error(t)}null==t.callback||t.callback(r)})))).catch((i=>{N.error(i),null==t.callback||t.callback({statusCode:0,text:i})})).finally((()=>l?clearTimeout(l.timeout):null))}}),u&&mo.push({transport:\"XHR\",method:t=>{var i,e=new u;e.open(t.method||\"GET\",t.url,!0);var{contentType:r,body:s}=null!==(i=_o(t))&&void 0!==i?i:{};J(t.headers,(function(t,i){e.setRequestHeader(i,t)})),r&&e.setRequestHeader(\"Content-Type\",r),t.timeout&&(e.timeout=t.timeout),e.withCredentials=!0,e.onreadystatechange=()=>{if(4===e.readyState){var i={statusCode:e.status,text:e.responseText};if(200===e.status)try{i.json=JSON.parse(e.responseText)}catch(t){}null==t.callback||t.callback(i)}},e.send(s)}}),null!=o&&o.sendBeacon&&mo.push({transport:\"sendBeacon\",method:t=>{var i=po(t.url,{beacon:\"1\"});try{var e,{contentType:r,body:s}=null!==(e=_o(t))&&void 0!==e?e:{},n=\"string\"==typeof s?new Blob([s],{type:r}):s;o.sendBeacon(i,n)}catch(t){}}});var bo=3e3;class wo{constructor(t,i){this.lr=!0,this.hr=[],this.ur=Xe((null==i?void 0:i.flush_interval_ms)||bo,250,5e3,\"flush interval\",bo),this.dr=t}enqueue(t){this.hr.push(t),this.vr||this.cr()}unload(){this.pr();var t=this.hr.length>0?this.gr():{},i=Object.values(t);[...i.filter((t=>0===t.url.indexOf(\"/e\"))),...i.filter((t=>0!==t.url.indexOf(\"/e\")))].map((t=>{this.dr(B({},t,{transport:\"sendBeacon\"}))}))}enable(){this.lr=!1,this.cr()}cr(){var t=this;this.lr||(this.vr=setTimeout((()=>{if(this.pr(),this.hr.length>0){var i=this.gr(),e=function(e){var r=i[e],s=(new Date).getTime();r.data&&x(r.data)&&J(r.data,(t=>{t.offset=Math.abs(t.timestamp-s),delete t.timestamp})),t.dr(r)};for(var r in i)e(r)}}),this.ur))}pr(){clearTimeout(this.vr),this.vr=void 0}gr(){var t={};return J(this.hr,(i=>{var e,r=i,s=(r?r.batchKey:null)||r.url;R(t[s])&&(t[s]=B({},r,{data:[]})),null==(e=t[s].data)||e.push(r.data)})),this.hr=[],t}}var yo=[\"retriesPerformedSoFar\"];class So{constructor(t){this._r=!1,this.mr=3e3,this.hr=[],this._instance=t,this.hr=[],this.br=!0,!R(i)&&\"onLine\"in i.navigator&&(this.br=i.navigator.onLine,st(i,\"online\",(()=>{this.br=!0,this.Yi()})),st(i,\"offline\",(()=>{this.br=!1})))}get length(){return this.hr.length}retriableRequest(t){var{retriesPerformedSoFar:i}=t,e=H(t,yo);F(i)&&i>0&&(e.url=po(e.url,{retry_count:i})),this._instance.ge(B({},e,{callback:t=>{200!==t.statusCode&&(t.statusCode<400||t.statusCode>=500)&&(null!=i?i:0)<10?this.wr(B({retriesPerformedSoFar:i},e)):null==e.callback||e.callback(t)}}))}wr(t){var i=t.retriesPerformedSoFar||0;t.retriesPerformedSoFar=i+1;var e=function(t){var i=3e3*Math.pow(2,t),e=i/2,r=Math.min(18e5,i),s=(Math.random()-.5)*(r-e);return Math.ceil(r+s)}(i),r=Date.now()+e;this.hr.push({retryAt:r,requestOptions:t});var s=\"Enqueued failed request for retry in \"+e;navigator.onLine||(s+=\" (Browser is offline)\"),N.warn(s),this._r||(this._r=!0,this.yr())}yr(){this.Sr&&clearTimeout(this.Sr),this.Sr=setTimeout((()=>{this.br&&this.hr.length>0&&this.Yi(),this.yr()}),this.mr)}Yi(){var t=Date.now(),i=[],e=this.hr.filter((e=>e.retryAt<t||(i.push(e),!1)));if(this.hr=i,e.length>0)for(var{requestOptions:r}of e)this.retriableRequest(r)}unload(){for(var{requestOptions:t}of(this.Sr&&(clearTimeout(this.Sr),this.Sr=void 0),this.hr))try{this._instance.ge(B({},t,{transport:\"sendBeacon\"}))}catch(t){N.error(t)}this.hr=[]}}class $o{constructor(t){this.$r=()=>{var t,i,e,r;this.kr||(this.kr={});var s=this.scrollElement(),n=this.scrollY(),o=s?Math.max(0,s.scrollHeight-s.clientHeight):0,a=n+((null==s?void 0:s.clientHeight)||0),l=(null==s?void 0:s.scrollHeight)||0;this.kr.lastScrollY=Math.ceil(n),this.kr.maxScrollY=Math.max(n,null!==(t=this.kr.maxScrollY)&&void 0!==t?t:0),this.kr.maxScrollHeight=Math.max(o,null!==(i=this.kr.maxScrollHeight)&&void 0!==i?i:0),this.kr.lastContentY=a,this.kr.maxContentY=Math.max(a,null!==(e=this.kr.maxContentY)&&void 0!==e?e:0),this.kr.maxContentHeight=Math.max(l,null!==(r=this.kr.maxContentHeight)&&void 0!==r?r:0)},this._instance=t}getContext(){return this.kr}resetContext(){var t=this.kr;return setTimeout(this.$r,0),t}startMeasuringScrollPosition(){st(i,\"scroll\",this.$r,{capture:!0}),st(i,\"scrollend\",this.$r,{capture:!0}),st(i,\"resize\",this.$r)}scrollElement(){if(!this._instance.config.scroll_root_selector)return null==i?void 0:i.document.documentElement;var t=x(this._instance.config.scroll_root_selector)?this._instance.config.scroll_root_selector:[this._instance.config.scroll_root_selector];for(var e of t){var r=null==i?void 0:i.document.querySelector(e);if(r)return r}}scrollY(){if(this._instance.config.scroll_root_selector){var t=this.scrollElement();return t&&t.scrollTop||0}return i&&(i.scrollY||i.pageYOffset||i.document.documentElement.scrollTop)||0}scrollX(){if(this._instance.config.scroll_root_selector){var t=this.scrollElement();return t&&t.scrollLeft||0}return i&&(i.scrollX||i.pageXOffset||i.document.documentElement.scrollLeft)||0}}var ko=t=>Ln(null==t?void 0:t.config.mask_personal_data_properties,null==t?void 0:t.config.custom_personal_data_properties);class xo{constructor(t,i,e,r){this.Er=t=>{var i=this.Ir();if(!i||i.sessionId!==t){var e={sessionId:t,props:this.Pr(this._instance)};this.Rr.register({[At]:e})}},this._instance=t,this.Tr=i,this.Rr=e,this.Pr=r||ko,this.Tr.onSessionId(this.Er)}Ir(){return this.Rr.props[At]}getSetOnceProps(){var t,i=null==(t=this.Ir())?void 0:t.props;return i?\"r\"in i?Nn(i):{$referring_domain:i.referringDomain,$pathname:i.initialPathName,utm_source:i.utm_source,utm_campaign:i.utm_campaign,utm_medium:i.utm_medium,utm_content:i.utm_content,utm_term:i.utm_term}:{}}getSessionProps(){var t={};return J(Z(this.getSetOnceProps()),((i,e)=>{\"$current_url\"===e&&(e=\"url\"),t[\"$session_entry_\"+w(e)]=i})),t}}var Eo=z(\"[SessionId]\");class Io{constructor(t,i,e){var r;if(this.Mr=[],!t.persistence)throw new Error(\"SessionIdManager requires a PostHogPersistence instance\");if(t.config.__preview_experimental_cookieless_mode)throw new Error(\"SessionIdManager cannot be used with __preview_experimental_cookieless_mode\");this.S=t.config,this.Rr=t.persistence,this.oi=void 0,this.kt=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.Cr=i||ji,this.Or=e||ji;var s=this.S.persistence_name||this.S.token,n=this.S.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*Xe(n,60,36e3,\"session_idle_timeout_seconds\",1800),t.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.Fr(),this.Ar=\"ph_\"+s+\"_window_id\",this.Dr=\"ph_\"+s+\"_primary_window_exists\",this.jr()){var o=Qi.D(this.Ar),a=Qi.D(this.Dr);o&&!a?this.oi=o:Qi.L(this.Ar),Qi.j(this.Dr,!0)}if(null!=(r=this.S.bootstrap)&&r.sessionID)try{var l=(t=>{var i=t.replace(/-/g,\"\");if(32!==i.length)throw new Error(\"Not a valid UUID\");if(\"7\"!==i[12])throw new Error(\"Not a UUIDv7\");return parseInt(i.substring(0,12),16)})(this.S.bootstrap.sessionID);this.Lr(this.S.bootstrap.sessionID,(new Date).getTime(),l)}catch(t){Eo.error(\"Invalid sessionID in bootstrap\",t)}this.Nr()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(t){return R(this.Mr)&&(this.Mr=[]),this.Mr.push(t),this.kt&&t(this.kt,this.oi),()=>{this.Mr=this.Mr.filter((i=>i!==t))}}jr(){return\"memory\"!==this.S.persistence&&!this.Rr.$e&&Qi.O()}zr(t){t!==this.oi&&(this.oi=t,this.jr()&&Qi.j(this.Ar,t))}Ur(){return this.oi?this.oi:this.jr()?Qi.D(this.Ar):null}Lr(t,i,e){t===this.kt&&i===this._sessionActivityTimestamp&&e===this._sessionStartTimestamp||(this._sessionStartTimestamp=e,this._sessionActivityTimestamp=i,this.kt=t,this.Rr.register({[St]:[i,t,e]}))}qr(){if(this.kt&&this._sessionActivityTimestamp&&this._sessionStartTimestamp)return[this._sessionActivityTimestamp,this.kt,this._sessionStartTimestamp];var t=this.Rr.props[St];return x(t)&&2===t.length&&t.push(t[0]),t||[0,null,0]}resetSessionId(){this.Lr(null,null,null)}Nr(){st(i,\"beforeunload\",(()=>{this.jr()&&Qi.L(this.Dr)}),{capture:!1})}checkAndGetSessionAndWindowId(t,i){if(void 0===t&&(t=!1),void 0===i&&(i=null),this.S.__preview_experimental_cookieless_mode)throw new Error(\"checkAndGetSessionAndWindowId should not be called in __preview_experimental_cookieless_mode\");var e=i||(new Date).getTime(),[r,s,n]=this.qr(),o=this.Ur(),a=F(n)&&n>0&&Math.abs(e-n)>864e5,l=!1,h=!s,u=!t&&Math.abs(e-r)>this.sessionTimeoutMs;h||u||a?(s=this.Cr(),o=this.Or(),Eo.info(\"new session ID generated\",{sessionId:s,windowId:o,changeReason:{noSessionId:h,activityTimeout:u,sessionPastMaximumLength:a}}),n=e,l=!0):o||(o=this.Or(),l=!0);var d=0===r||!t||a?e:r,v=0===n?(new Date).getTime():n;return this.zr(o),this.Lr(s,d,v),t||this.Fr(),l&&this.Mr.forEach((t=>t(s,o,l?{noSessionId:h,activityTimeout:u,sessionPastMaximumLength:a}:void 0))),{sessionId:s,windowId:o,sessionStartTimestamp:v,changeReason:l?{noSessionId:h,activityTimeout:u,sessionPastMaximumLength:a}:void 0,lastActivityTimestamp:r}}Fr(){clearTimeout(this.Br),this.Br=setTimeout((()=>{this.resetSessionId()}),1.1*this.sessionTimeoutMs)}}var Po=[\"$set_once\",\"$set\"],Ro=z(\"[SiteApps]\");class To{constructor(t){this._instance=t,this.Hr=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}Wr(t,i){if(i){var e=this.globalsForEvent(i);this.Hr.push(e),this.Hr.length>1e3&&(this.Hr=this.Hr.slice(10))}}get siteAppLoaders(){var t,i;return null==(t=c._POSTHOG_REMOTE_CONFIG)||null==(i=t[this._instance.config.token])?void 0:i.siteApps}init(){if(this.isEnabled){var t=this._instance.De(this.Wr.bind(this));this.Gr=()=>{t(),this.Hr=[],this.Gr=void 0}}}globalsForEvent(t){var i,e,r,s,n,o,a;if(!t)throw new Error(\"Event payload is required\");var l={},h=this._instance.get_property(\"$groups\")||[],u=this._instance.get_property(\"$stored_group_properties\")||{};for(var[d,v]of Object.entries(u))l[d]={id:h[d],type:d,properties:v};var{$set_once:c,$set:f}=t;return{event:B({},H(t,Po),{properties:B({},t.properties,f?{$set:B({},null!==(i=null==(e=t.properties)?void 0:e.$set)&&void 0!==i?i:{},f)}:{},c?{$set_once:B({},null!==(r=null==(s=t.properties)?void 0:s.$set_once)&&void 0!==r?r:{},c)}:{}),elements_chain:null!==(n=null==(o=t.properties)?void 0:o.$elements_chain)&&void 0!==n?n:\"\",distinct_id:null==(a=t.properties)?void 0:a.distinct_id}),person:{properties:this._instance.get_property(\"$stored_person_properties\")},groups:l}}setupSiteApp(t){var i=this.apps[t.id],e=()=>{var e;(!i.errored&&this.Hr.length&&(Ro.info(\"Processing \"+this.Hr.length+\" events for site app with id \"+t.id),this.Hr.forEach((t=>null==i.processEvent?void 0:i.processEvent(t))),i.processedBuffer=!0),Object.values(this.apps).every((t=>t.processedBuffer||t.errored)))&&(null==(e=this.Gr)||e.call(this))},r=!1,s=s=>{i.errored=!s,i.loaded=!0,Ro.info(\"Site app with id \"+t.id+\" \"+(s?\"loaded\":\"errored\")),r&&e()};try{var{processEvent:n}=t.init({posthog:this._instance,callback:t=>{s(t)}});n&&(i.processEvent=n),r=!0}catch(i){Ro.error(\"Error while initializing PostHog app with config id \"+t.id,i),s(!1)}if(r&&i.loaded)try{e()}catch(e){Ro.error(\"Error while processing buffered events PostHog app with config id \"+t.id,e),i.errored=!0}}Jr(){var t=this.siteAppLoaders||[];for(var i of t)this.apps[i.id]={id:i.id,loaded:!1,errored:!1,processedBuffer:!1};for(var e of t)this.setupSiteApp(e)}Vr(t){if(0!==Object.keys(this.apps).length){var i=this.globalsForEvent(t);for(var e of Object.values(this.apps))try{null==e.processEvent||e.processEvent(i)}catch(i){Ro.error(\"Error while processing event \"+t.event+\" for site app \"+e.id,i)}}}onRemoteConfig(t){var i,e,r,s=this;if(null!=(i=this.siteAppLoaders)&&i.length)return this.isEnabled?(this.Jr(),void this._instance.on(\"eventCaptured\",(t=>this.Vr(t)))):void Ro.error('PostHog site apps are disabled. Enable the \"opt_in_site_apps\" config to proceed.');if(null==(e=this.Gr)||e.call(this),null!=(r=t.siteApps)&&r.length)if(this.isEnabled){var n=function(t,i){var e;c[\"__$$ph_site_app_\"+t]=s._instance,null==(e=c.__PosthogExtensions__)||null==e.loadSiteApp||e.loadSiteApp(s._instance,i,(i=>{if(i)return Ro.error(\"Error while initializing PostHog app with config id \"+t,i)}))};for(var{id:o,url:a}of t.siteApps)n(o,a)}else Ro.error('PostHog site apps are disabled. Enable the \"opt_in_site_apps\" config to proceed.')}}var Mo,Co=[\"amazonbot\",\"amazonproductbot\",\"app.hypefactors.com\",\"applebot\",\"archive.org_bot\",\"awariobot\",\"backlinksextendedbot\",\"baiduspider\",\"bingbot\",\"bingpreview\",\"chrome-lighthouse\",\"dataforseobot\",\"deepscan\",\"duckduckbot\",\"facebookexternal\",\"facebookcatalog\",\"http://yandex.com/bots\",\"hubspot\",\"ia_archiver\",\"linkedinbot\",\"meta-externalagent\",\"mj12bot\",\"msnbot\",\"nessus\",\"petalbot\",\"pinterest\",\"prerender\",\"rogerbot\",\"screaming frog\",\"sebot-wa\",\"sitebulb\",\"slackbot\",\"slurp\",\"trendictionbot\",\"turnitin\",\"twitterbot\",\"vercelbot\",\"yahoo! slurp\",\"yandexbot\",\"zoombot\",\"bot.htm\",\"bot.php\",\"(bot;\",\"bot/\",\"crawler\",\"ahrefsbot\",\"ahrefssiteaudit\",\"semrushbot\",\"siteauditbot\",\"splitsignalbot\",\"gptbot\",\"oai-searchbot\",\"chatgpt-user\",\"perplexitybot\",\"better uptime bot\",\"sentryuptimebot\",\"uptimerobot\",\"headlesschrome\",\"cypress\",\"google-hoteladsverifier\",\"adsbot-google\",\"apis-google\",\"duplexweb-google\",\"feedfetcher-google\",\"google favicon\",\"google web preview\",\"google-read-aloud\",\"googlebot\",\"googleweblight\",\"mediapartners-google\",\"storebot-google\",\"bytespider\"],Oo=function(t,i){if(!t)return!1;var e=t.toLowerCase();return Co.concat(i||[]).some((t=>{var i=t.toLowerCase();return-1!==e.indexOf(i)}))},Fo=function(t,i){if(!t)return!1;var e=t.userAgent;if(e&&Oo(e,i))return!0;try{var r=null==t?void 0:t.userAgentData;if(null!=r&&r.brands&&r.brands.some((t=>Oo(null==t?void 0:t.brand,i))))return!0}catch(t){}return!!t.webdriver};function Ao(t,i,e){return go({distinct_id:t,userPropertiesToSet:i,userPropertiesToSetOnce:e})}!function(t){t.US=\"us\",t.EU=\"eu\",t.CUSTOM=\"custom\"}(Mo||(Mo={}));var Do=\"i.posthog.com\";class jo{constructor(t){this.Kr={},this.instance=t}get apiHost(){var t=this.instance.config.api_host.trim().replace(/\\/$/,\"\");return\"https://app.posthog.com\"===t?\"https://us.i.posthog.com\":t}get uiHost(){var t,i=null==(t=this.instance.config.ui_host)?void 0:t.replace(/\\/$/,\"\");return i||(i=this.apiHost.replace(\".\"+Do,\".posthog.com\")),\"https://app.posthog.com\"===i?\"https://us.posthog.com\":i}get region(){return this.Kr[this.apiHost]||(/https:\\/\\/(app|us|us-assets)(\\.i)?\\.posthog\\.com/i.test(this.apiHost)?this.Kr[this.apiHost]=Mo.US:/https:\\/\\/(eu|eu-assets)(\\.i)?\\.posthog\\.com/i.test(this.apiHost)?this.Kr[this.apiHost]=Mo.EU:this.Kr[this.apiHost]=Mo.CUSTOM),this.Kr[this.apiHost]}endpointFor(t,i){if(void 0===i&&(i=\"\"),i&&(i=\"/\"===i[0]?i:\"/\"+i),\"ui\"===t)return this.uiHost+i;if(this.region===Mo.CUSTOM)return this.apiHost+i;var e=Do+i;switch(t){case\"assets\":return\"https://\"+this.region+\"-assets.\"+e;case\"api\":return\"https://\"+this.region+\".\"+e}}}var Lo={icontains:(t,e)=>!!i&&e.href.toLowerCase().indexOf(t.toLowerCase())>-1,not_icontains:(t,e)=>!!i&&-1===e.href.toLowerCase().indexOf(t.toLowerCase()),regex:(t,e)=>!!i&&eo(e.href,t),not_regex:(t,e)=>!!i&&!eo(e.href,t),exact:(t,i)=>i.href===t,is_not:(t,i)=>i.href!==t};class No{constructor(t){var i=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(t){void 0===t&&(t=!1),i.getWebExperiments((t=>{No.Yr(\"retrieved web experiments from the server\"),i.Xr=new Map,t.forEach((t=>{if(t.feature_flag_key){var e;if(i.Xr)No.Yr(\"setting flag key \",t.feature_flag_key,\" to web experiment \",t),null==(e=i.Xr)||e.set(t.feature_flag_key,t);var r=i._instance.getFeatureFlag(t.feature_flag_key);T(r)&&t.variants[r]&&i.Qr(t.name,r,t.variants[r].transforms)}else if(t.variants)for(var s in t.variants){var n=t.variants[s];No.Zr(n)&&i.Qr(t.name,s,n.transforms)}}))}),t)},this._instance=t,this._instance.onFeatureFlags((t=>{this.onFeatureFlags(t)}))}onFeatureFlags(t){if(this._is_bot())No.Yr(\"Refusing to render web experiment since the viewer is a likely bot\");else if(!this._instance.config.disable_web_experiments){if(O(this.Xr))return this.Xr=new Map,this.loadIfEnabled(),void this.previewWebExperiment();No.Yr(\"applying feature flags\",t),t.forEach((t=>{var i;if(this.Xr&&null!=(i=this.Xr)&&i.has(t)){var e,r=this._instance.getFeatureFlag(t),s=null==(e=this.Xr)?void 0:e.get(t);r&&null!=s&&s.variants[r]&&this.Qr(s.name,r,s.variants[r].transforms)}}))}}previewWebExperiment(){var t=No.getWindowLocation();if(null!=t&&t.search){var i=Si(null==t?void 0:t.search,\"__experiment_id\"),e=Si(null==t?void 0:t.search,\"__experiment_variant\");i&&e&&(No.Yr(\"previewing web experiments \"+i+\" && \"+e),this.getWebExperiments((t=>{this.ts(parseInt(i),e,t)}),!1,!0))}}loadIfEnabled(){this._instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(t,i,e){if(this._instance.config.disable_web_experiments&&!e)return t([]);var r=this._instance.get_property(\"$web_experiments\");if(r&&!i)return t(r);this._instance.ge({url:this._instance.requestRouter.endpointFor(\"api\",\"/api/web_experiments/?token=\"+this._instance.config.token),method:\"GET\",callback:i=>{if(200!==i.statusCode||!i.json)return t([]);var e=i.json.experiments||[];return t(e)}})}ts(t,i,e){var r=e.filter((i=>i.id===t));r&&r.length>0&&(No.Yr(\"Previewing web experiment [\"+r[0].name+\"] with variant [\"+i+\"]\"),this.Qr(r[0].name,i,r[0].variants[i].transforms))}static Zr(t){return!O(t.conditions)&&(No.es(t)&&No.rs(t))}static es(t){var i;if(O(t.conditions)||O(null==(i=t.conditions)?void 0:i.url))return!0;var e,r,s,n=No.getWindowLocation();return!!n&&(null==(e=t.conditions)||!e.url||Lo[null!==(r=null==(s=t.conditions)?void 0:s.urlMatchType)&&void 0!==r?r:\"icontains\"](t.conditions.url,n))}static getWindowLocation(){return null==i?void 0:i.location}static rs(t){var i;if(O(t.conditions)||O(null==(i=t.conditions)?void 0:i.utm))return!0;var e=On();if(e.utm_source){var r,s,n,o,a,l,h,u,d,v,c,f,p,g,_,m,b=null==(r=t.conditions)||null==(s=r.utm)||!s.utm_campaign||(null==(n=t.conditions)||null==(o=n.utm)?void 0:o.utm_campaign)==e.utm_campaign,w=null==(a=t.conditions)||null==(l=a.utm)||!l.utm_source||(null==(h=t.conditions)||null==(u=h.utm)?void 0:u.utm_source)==e.utm_source,y=null==(d=t.conditions)||null==(v=d.utm)||!v.utm_medium||(null==(c=t.conditions)||null==(f=c.utm)?void 0:f.utm_medium)==e.utm_medium,S=null==(p=t.conditions)||null==(g=p.utm)||!g.utm_term||(null==(_=t.conditions)||null==(m=_.utm)?void 0:m.utm_term)==e.utm_term;return b&&y&&S&&w}return!1}static Yr(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),r=1;r<i;r++)e[r-1]=arguments[r];N.info(\"[WebExperiments] \"+t,e)}Qr(t,i,e){this._is_bot()?No.Yr(\"Refusing to render web experiment since the viewer is a likely bot\"):\"control\"!==i?e.forEach((e=>{if(e.selector){var r;No.Yr(\"applying transform of variant \"+i+\" for experiment \"+t+\" \",e);var s=null==(r=document)?void 0:r.querySelectorAll(e.selector);null==s||s.forEach((t=>{var i=t;e.html&&(i.innerHTML=e.html),e.css&&i.setAttribute(\"style\",e.css)}))}})):No.Yr(\"Control variants leave the page unmodified.\")}_is_bot(){return o&&this._instance?Fo(o,this._instance.config.custom_blocked_useragents):void 0}}var zo={},Uo=()=>{},qo=\"posthog\",Bo=!co&&-1===(null==v?void 0:v.indexOf(\"MSIE\"))&&-1===(null==v?void 0:v.indexOf(\"Mozilla\")),Ho=()=>{var t;return{api_host:\"https://us.i.posthog.com\",ui_host:null,token:\"\",autocapture:!0,rageclick:!0,cross_subdomain_cookie:et(null==a?void 0:a.location),persistence:\"localStorage+cookie\",persistence_name:\"\",loaded:Uo,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageview:!0,capture_pageleave:\"if_capture_pageview\",debug:l&&T(null==l?void 0:l.search)&&-1!==l.search.indexOf(\"__posthog_debug=true\")||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:\"https:\"===(null==i||null==(t=i.location)?void 0:t.protocol),ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:\"localStorage\",opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,session_recording:{},mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error:t=>{var i=\"Bad HTTP status: \"+t.statusCode+\" \"+t.text;N.error(i)},get_device_id:t=>t,capture_performance:void 0,name:\"posthog\",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:\"identified_only\",before_send:void 0,request_queue_config:{flush_interval_ms:bo},_onCapture:Uo}},Wo=t=>{var i={};R(t.process_person)||(i.person_profiles=t.process_person),R(t.xhr_headers)||(i.request_headers=t.xhr_headers),R(t.cookie_name)||(i.persistence_name=t.cookie_name),R(t.disable_cookie)||(i.disable_persistence=t.disable_cookie),R(t.store_google)||(i.save_campaign_params=t.store_google),R(t.verbose)||(i.debug=t.verbose);var e=V({},i,t);return x(t.property_blacklist)&&(R(t.property_denylist)?e.property_denylist=t.property_blacklist:x(t.property_denylist)?e.property_denylist=[...t.property_blacklist,...t.property_denylist]:N.error(\"Invalid value for property_denylist config: \"+t.property_denylist)),e};class Go{constructor(){this.__forceAllowLocalhost=!1}get ss(){return this.__forceAllowLocalhost}set ss(t){N.error(\"WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`\"),this.__forceAllowLocalhost=t}}class Jo{get decideEndpointWasHit(){var t,i;return null!==(t=null==(i=this.featureFlags)?void 0:i.hasLoadedFlags)&&void 0!==t&&t}constructor(){this.webPerformance=new Go,this.ns=!1,this.version=f.LIB_VERSION,this.os=new io,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=Ho(),this.SentryIntegration=gs,this.sentryIntegration=t=>function(t,i){var e=ps(t,i);return{name:fs,processEvent:t=>e(t)}}(this,t),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint=\"/e/\",this.ls=!1,this.hs=null,this.us=null,this.ds=null,this.featureFlags=new Qn(this),this.toolbar=new ys(this),this.scrollManager=new $o(this),this.pageViewManager=new Ts(this),this.surveys=new oo(this),this.experiments=new No(this),this.exceptions=new Ms(this),this.rateLimiter=new lo(this),this.requestRouter=new jo(this),this.consent=new Zi(this),this.people={set:(t,i,e)=>{var r=T(t)?{[t]:i}:t;this.setPersonProperties(r),null==e||e({})},set_once:(t,i,e)=>{var r=T(t)?{[t]:i}:t;this.setPersonProperties(void 0,r),null==e||e({})}},this.on(\"eventCaptured\",(t=>N.info('send \"'+(null==t?void 0:t.event)+'\"',t)))}init(t,i,e){if(e&&e!==qo){var r,s=null!==(r=zo[e])&&void 0!==r?r:new Jo;return s._init(t,i,e),zo[e]=s,zo[qo][e]=s,s}return this._init(t,i,e)}_init(e,r,s){var n,o;if(void 0===r&&(r={}),R(e)||M(e))return N.critical(\"PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()\"),this;if(this.__loaded)return N.warn(\"You have already initialized PostHog! Re-initializing is a no-op\"),this;this.__loaded=!0,this.config={},this.vs=[],r.person_profiles&&(this.us=r.person_profiles),this.set_config(V({},Ho(),Wo(r),{name:s,token:e})),this.config.on_xhr_error&&N.error(\"on_xhr_error is deprecated. Use on_request_error instead\"),this.compression=r.disable_compression?void 0:t.GZipJS,this.persistence=new to(this.config),this.sessionPersistence=\"sessionStorage\"===this.config.persistence||\"memory\"===this.config.persistence?this.persistence:new to(B({},this.config,{persistence:\"sessionStorage\"}));var a=B({},this.persistence.props),l=B({},this.sessionPersistence.props);if(this.cs=new wo((t=>this.fs(t)),this.config.request_queue_config),this.ps=new So(this),this.__request_queue=[],this.config.__preview_experimental_cookieless_mode||(this.sessionManager=new Io(this),this.sessionPropsManager=new xo(this,this.sessionManager,this.persistence)),new $s(this).startIfEnabledOrStop(),this.siteApps=new To(this),null==(n=this.siteApps)||n.init(),this.config.__preview_experimental_cookieless_mode||(this.sessionRecording=new ds(this),this.sessionRecording.startIfEnabledOrStop()),this.config.disable_scroll_properties||this.scrollManager.startMeasuringScrollPosition(),this.autocapture=new Ti(this),this.autocapture.startIfEnabled(),this.surveys.loadIfEnabled(),this.heatmaps=new Rs(this),this.heatmaps.startIfEnabled(),this.webVitalsAutocapture=new Es(this),this.exceptionObserver=new ne(this),this.exceptionObserver.startIfEnabled(),this.deadClicksAutocapture=new re(this,ee),this.deadClicksAutocapture.startIfEnabled(),this.historyAutocapture=new je(this),this.historyAutocapture.startIfEnabled(),f.DEBUG=f.DEBUG||this.config.debug,f.DEBUG&&N.info(\"Starting in debug mode\",{this:this,config:r,thisC:B({},this.config),p:a,s:l}),this.gs(),void 0!==(null==(o=r.bootstrap)?void 0:o.distinctID)){var h,u,d=this.config.get_device_id(ji()),v=null!=(h=r.bootstrap)&&h.isIdentifiedID?d:r.bootstrap.distinctID;this.persistence.set_property(Ft,null!=(u=r.bootstrap)&&u.isIdentifiedID?\"identified\":\"anonymous\"),this.register({distinct_id:r.bootstrap.distinctID,$device_id:v})}if(this._s()){var c,p,g=Object.keys((null==(c=r.bootstrap)?void 0:c.featureFlags)||{}).filter((t=>{var i,e;return!(null==(i=r.bootstrap)||null==(e=i.featureFlags)||!e[t])})).reduce(((t,i)=>{var e,s;return t[i]=(null==(e=r.bootstrap)||null==(s=e.featureFlags)?void 0:s[i])||!1,t}),{}),_=Object.keys((null==(p=r.bootstrap)?void 0:p.featureFlagPayloads)||{}).filter((t=>g[t])).reduce(((t,i)=>{var e,s,n,o;null!=(e=r.bootstrap)&&null!=(s=e.featureFlagPayloads)&&s[i]&&(t[i]=null==(n=r.bootstrap)||null==(o=n.featureFlagPayloads)?void 0:o[i]);return t}),{});this.featureFlags.receivedFeatureFlags({featureFlags:g,featureFlagPayloads:_})}if(this.config.__preview_experimental_cookieless_mode)this.register_once({distinct_id:qt,$device_id:null},\"\");else if(!this.get_distinct_id()){var m=this.config.get_device_id(ji());this.register_once({distinct_id:m,$device_id:m},\"\"),this.persistence.set_property(Ft,\"anonymous\")}return st(i,\"onpagehide\"in self?\"pagehide\":\"unload\",this._handle_unload.bind(this),{passive:!1}),this.toolbar.maybeLoadToolbar(),r.segment?cs(this,(()=>this.bs())):this.bs(),E(this.config._onCapture)&&this.config._onCapture!==Uo&&(N.warn(\"onCapture is deprecated. Please use `before_send` instead\"),this.on(\"eventCaptured\",(t=>this.config._onCapture(t.event,t)))),this}_e(i){var e,r,s,n,o,l,h,u;if(!a||!a.body)return N.info(\"document not ready yet, trying again in 500 milliseconds...\"),void setTimeout((()=>{this._e(i)}),500);this.compression=void 0,i.supportedCompression&&!this.config.disable_compression&&(this.compression=m(i.supportedCompression,t.GZipJS)?t.GZipJS:m(i.supportedCompression,t.Base64)?t.Base64:void 0),null!=(e=i.analytics)&&e.endpoint&&(this.analyticsDefaultEndpoint=i.analytics.endpoint),this.set_config({person_profiles:this.us?this.us:\"identified_only\"}),null==(r=this.siteApps)||r.onRemoteConfig(i),null==(s=this.sessionRecording)||s.onRemoteConfig(i),null==(n=this.autocapture)||n.onRemoteConfig(i),null==(o=this.heatmaps)||o.onRemoteConfig(i),this.surveys.onRemoteConfig(i),null==(l=this.webVitalsAutocapture)||l.onRemoteConfig(i),null==(h=this.exceptionObserver)||h.onRemoteConfig(i),null==(u=this.deadClicksAutocapture)||u.onRemoteConfig(i)}bs(){try{this.config.loaded(this)}catch(t){N.critical(\"`loaded` function failed\",t)}this.ws(),this.config.capture_pageview&&setTimeout((()=>{this.consent.isOptedIn()&&this.ys()}),1),new uo(this).load(),this.featureFlags.decide()}ws(){var t;this.has_opted_out_capturing()||this.config.request_batching&&(null==(t=this.cs)||t.enable())}_dom_loaded(){this.has_opted_out_capturing()||G(this.__request_queue,(t=>this.fs(t))),this.__request_queue=[],this.ws()}_handle_unload(){var t,i;this.config.request_batching?(this.Ss()&&this.capture(\"$pageleave\"),null==(t=this.cs)||t.unload(),null==(i=this.ps)||i.unload()):this.Ss()&&this.capture(\"$pageleave\",null,{transport:\"sendBeacon\"})}ge(t){this.__loaded&&(Bo?this.__request_queue.push(t):this.rateLimiter.isServerRateLimited(t.batchKey)||(t.transport=t.transport||this.config.api_transport,t.url=po(t.url,{ip:this.config.ip?1:0}),t.headers=B({},this.config.request_headers),t.compression=\"best-available\"===t.compression?this.compression:t.compression,t.fetchOptions=t.fetchOptions||this.config.fetch_options,(t=>{var i,e,r,s=B({},t);s.timeout=s.timeout||6e4,s.url=po(s.url,{_:(new Date).getTime().toString(),ver:f.LIB_VERSION,compression:s.compression});var n=null!==(i=s.transport)&&void 0!==i?i:\"fetch\",o=null!==(e=null==(r=rt(mo,(t=>t.transport===n)))?void 0:r.method)&&void 0!==e?e:mo[0].method;if(!o)throw new Error(\"No available transport method\");o(s)})(B({},t,{callback:i=>{var e,r;(this.rateLimiter.checkForLimiting(i),i.statusCode>=400)&&(null==(e=(r=this.config).on_request_error)||e.call(r,i));null==t.callback||t.callback(i)}}))))}fs(t){this.ps?this.ps.retriableRequest(t):this.ge(t)}_execute_array(t){var i,e=[],r=[],s=[];G(t,(t=>{t&&(i=t[0],x(i)?s.push(t):E(t)?t.call(this):x(t)&&\"alias\"===i?e.push(t):x(t)&&-1!==i.indexOf(\"capture\")&&E(this[i])?s.push(t):r.push(t))}));var n=function(t,i){G(t,(function(t){if(x(t[0])){var e=i;J(t,(function(t){e=e[t[0]].apply(e,t.slice(1))}))}else this[t[0]].apply(this,t.slice(1))}),i)};n(e,this),n(r,this),n(s,this)}_s(){var t,i;return(null==(t=this.config.bootstrap)?void 0:t.featureFlags)&&Object.keys(null==(i=this.config.bootstrap)?void 0:i.featureFlags).length>0||!1}push(t){this._execute_array([t])}capture(t,i,e){var r;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.cs){if(!this.consent.isOptedOut())if(!R(t)&&T(t)){if(this.config.opt_out_useragent_filter||!this._is_bot()){var s=null!=e&&e.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(null==s||!s.isRateLimited){null!=i&&i.$current_url&&!T(null==i?void 0:i.$current_url)&&(N.error(\"Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value.\"),null==i||delete i.$current_url),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var n=new Date,o=(null==e?void 0:e.timestamp)||n,a=ji(),l={uuid:a,event:t,properties:this.calculateEventProperties(t,i||{},o,a)};s&&(l.properties.$lib_rate_limit_remaining_tokens=s.remainingTokens),(null==e?void 0:e.$set)&&(l.$set=null==e?void 0:e.$set);var h=this.$s(null==e?void 0:e.$set_once);h&&(l.$set_once=h),(l=tt(l,null!=e&&e._noTruncate?null:this.config.properties_string_max_length)).timestamp=o,R(null==e?void 0:e.timestamp)||(l.properties.$event_time_override_provided=!0,l.properties.$event_time_override_system_time=n);var u=B({},l.properties.$set,l.$set);if(P(u)||this.setPersonPropertiesForFlags(u),!O(this.config.before_send)){var d=this.ks(l);if(!d)return;l=d}this.os.emit(\"eventCaptured\",l);var v={method:\"POST\",url:null!==(r=null==e?void 0:e._url)&&void 0!==r?r:this.requestRouter.endpointFor(\"api\",this.analyticsDefaultEndpoint),data:l,compression:\"best-available\",batchKey:null==e?void 0:e._batchKey};return!this.config.request_batching||e&&(null==e||!e._batchKey)||null!=e&&e.send_instantly?this.fs(v):this.cs.enqueue(v),l}N.critical(\"This capture call is ignored due to client rate limiting.\")}}else N.error(\"No event name provided to posthog.capture\")}else N.uninitializedWarning(\"posthog.capture\")}De(t){return this.on(\"eventCaptured\",(i=>t(i.event,i)))}calculateEventProperties(t,i,e,r,s){if(e=e||new Date,!this.persistence||!this.sessionPersistence)return i;var n=s?void 0:this.persistence.remove_event_timer(t),o=B({},i);if(o.token=this.config.token,this.config.__preview_experimental_cookieless_mode&&(o.$cookieless_mode=!0),\"$snapshot\"===t){var l=B({},this.persistence.properties(),this.sessionPersistence.properties());return o.distinct_id=l.distinct_id,(!T(o.distinct_id)&&!F(o.distinct_id)||M(o.distinct_id))&&N.error(\"Invalid distinct_id for replay event. This indicates a bug in your implementation\"),o}var h,u=qn(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:d,windowId:c}=this.sessionManager.checkAndGetSessionAndWindowId(s,e.getTime());o.$session_id=d,o.$window_id=c}this.sessionPropsManager&&V(o,this.sessionPropsManager.getSessionProps());try{var f;this.sessionRecording&&V(o,this.sessionRecording.sdkDebugProperties),o.$sdk_debug_retry_queue_size=null==(f=this.ps)?void 0:f.length}catch(t){o.$sdk_debug_error_capturing_properties=String(t)}if(this.requestRouter.region===Mo.CUSTOM&&(o.$lib_custom_api_host=this.config.api_host),h=\"$pageview\"!==t||s?\"$pageleave\"!==t||s?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(e):this.pageViewManager.doPageView(e,r),o=V(o,h),\"$pageview\"===t&&a&&(o.title=a.title),!R(n)){var p=e.getTime()-n;o.$duration=parseFloat((p/1e3).toFixed(3))}v&&this.config.opt_out_useragent_filter&&(o.$browser_type=this._is_bot()?\"bot\":\"browser\"),(o=V({},u,this.persistence.properties(),this.sessionPersistence.properties(),o)).$is_identified=this._isIdentified(),x(this.config.property_denylist)?J(this.config.property_denylist,(function(t){delete o[t]})):N.error(\"Invalid value for property_denylist config: \"+this.config.property_denylist+\" or property_blacklist config: \"+this.config.property_blacklist);var g=this.config.sanitize_properties;g&&(N.error(\"sanitize_properties is deprecated. Use before_send instead\"),o=g(o,t));var _=this.xs();return o.$process_person_profile=_,_&&!s&&this.Es(\"_calculate_event_properties\"),o}$s(t){var i;if(!this.persistence||!this.xs())return t;if(this.ns)return t;var e=this.persistence.get_initial_props(),r=null==(i=this.sessionPropsManager)?void 0:i.getSetOnceProps(),s=V({},e,r||{},t||{}),n=this.config.sanitize_properties;return n&&(N.error(\"sanitize_properties is deprecated. Use before_send instead\"),s=n(s,\"$set_once\")),this.ns=!0,P(s)?void 0:s}register(t,i){var e;null==(e=this.persistence)||e.register(t,i)}register_once(t,i,e){var r;null==(r=this.persistence)||r.register_once(t,i,e)}register_for_session(t){var i;null==(i=this.sessionPersistence)||i.register(t)}unregister(t){var i;null==(i=this.persistence)||i.unregister(t)}unregister_for_session(t){var i;null==(i=this.sessionPersistence)||i.unregister(t)}Is(t,i){this.register({[t]:i})}getFeatureFlag(t,i){return this.featureFlags.getFeatureFlag(t,i)}getFeatureFlagPayload(t){var i=this.featureFlags.getFeatureFlagPayload(t);try{return JSON.parse(i)}catch(t){return i}}isFeatureEnabled(t,i){return this.featureFlags.isFeatureEnabled(t,i)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateEarlyAccessFeatureEnrollment(t,i){this.featureFlags.updateEarlyAccessFeatureEnrollment(t,i)}getEarlyAccessFeatures(t,i,e){return void 0===i&&(i=!1),this.featureFlags.getEarlyAccessFeatures(t,i,e)}on(t,i){return this.os.on(t,i)}onFeatureFlags(t){return this.featureFlags.onFeatureFlags(t)}onSurveysLoaded(t){return this.surveys.onSurveysLoaded(t)}onSessionId(t){var i,e;return null!==(i=null==(e=this.sessionManager)?void 0:e.onSessionId(t))&&void 0!==i?i:()=>{}}getSurveys(t,i){void 0===i&&(i=!1),this.surveys.getSurveys(t,i)}getActiveMatchingSurveys(t,i){void 0===i&&(i=!1),this.surveys.getActiveMatchingSurveys(t,i)}renderSurvey(t,i){this.surveys.renderSurvey(t,i)}canRenderSurvey(t){return this.surveys.canRenderSurvey(t)}canRenderSurveyAsync(t,i){return void 0===i&&(i=!1),this.surveys.canRenderSurveyAsync(t,i)}identify(t,i,e){if(!this.__loaded||!this.persistence)return N.uninitializedWarning(\"posthog.identify\");if(F(t)&&(t=t.toString(),N.warn(\"The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.\")),t){if([\"distinct_id\",\"distinctid\"].includes(t.toLowerCase()))N.critical('The string \"'+t+'\" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.');else if(this.Es(\"posthog.identify\")){var r=this.get_distinct_id();if(this.register({$user_id:t}),!this.get_property(\"$device_id\")){var s=r;this.register_once({$had_persisted_distinct_id:!0,$device_id:s},\"\")}t!==r&&t!==this.get_property(ot)&&(this.unregister(ot),this.register({distinct_id:t}));var n=\"anonymous\"===(this.persistence.get_property(Ft)||\"anonymous\");t!==r&&n?(this.persistence.set_property(Ft,\"identified\"),this.setPersonPropertiesForFlags(B({},e||{},i||{}),!1),this.capture(\"$identify\",{distinct_id:t,$anon_distinct_id:r},{$set:i||{},$set_once:e||{}}),this.ds=Ao(t,i,e),this.featureFlags.setAnonymousDistinctId(r)):(i||e)&&this.setPersonProperties(i,e),t!==r&&(this.reloadFeatureFlags(),this.unregister(Ot))}}else N.error(\"Unique user id has not been set in posthog.identify\")}setPersonProperties(t,i){if((t||i)&&this.Es(\"posthog.setPersonProperties\")){var e=Ao(this.get_distinct_id(),t,i);this.ds!==e?(this.setPersonPropertiesForFlags(B({},i||{},t||{})),this.capture(\"$set\",{$set:t||{},$set_once:i||{}}),this.ds=e):N.info(\"A duplicate setPersonProperties call was made with the same properties. It has been ignored.\")}}group(t,i,e){if(t&&i){if(this.Es(\"posthog.group\")){var r=this.getGroups();r[t]!==i&&this.resetGroupPropertiesForFlags(t),this.register({$groups:B({},r,{[t]:i})}),e&&(this.capture(\"$groupidentify\",{$group_type:t,$group_key:i,$group_set:e}),this.setGroupPropertiesForFlags({[t]:e})),r[t]===i||e||this.reloadFeatureFlags()}}else N.error(\"posthog.group requires a group type and group key\")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(t,i){void 0===i&&(i=!0),this.featureFlags.setPersonPropertiesForFlags(t,i)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(t,i){void 0===i&&(i=!0),this.Es(\"posthog.setGroupPropertiesForFlags\")&&this.featureFlags.setGroupPropertiesForFlags(t,i)}resetGroupPropertiesForFlags(t){this.featureFlags.resetGroupPropertiesForFlags(t)}reset(t){var i,e,r,s;if(N.info(\"reset\"),!this.__loaded)return N.uninitializedWarning(\"posthog.reset\");var n=this.get_property(\"$device_id\");if(this.consent.reset(),null==(i=this.persistence)||i.clear(),null==(e=this.sessionPersistence)||e.clear(),this.surveys.reset(),null==(r=this.persistence)||r.set_property(Ft,\"anonymous\"),null==(s=this.sessionManager)||s.resetSessionId(),this.ds=null,this.config.__preview_experimental_cookieless_mode)this.register_once({distinct_id:qt,$device_id:null},\"\");else{var o=this.config.get_device_id(ji());this.register_once({distinct_id:o,$device_id:t?o:n},\"\")}this.register({$last_posthog_reset:(new Date).toISOString()},1)}get_distinct_id(){return this.get_property(\"distinct_id\")}getGroups(){return this.get_property(\"$groups\")||{}}get_session_id(){var t,i;return null!==(t=null==(i=this.sessionManager)?void 0:i.checkAndGetSessionAndWindowId(!0).sessionId)&&void 0!==t?t:\"\"}get_session_replay_url(t){if(!this.sessionManager)return\"\";var{sessionId:i,sessionStartTimestamp:e}=this.sessionManager.checkAndGetSessionAndWindowId(!0),r=this.requestRouter.endpointFor(\"ui\",\"/project/\"+this.config.token+\"/replay/\"+i);if(null!=t&&t.withTimestamp&&e){var s,n=null!==(s=t.timestampLookBack)&&void 0!==s?s:10;if(!e)return r;r+=\"?t=\"+Math.max(Math.floor(((new Date).getTime()-e)/1e3)-n,0)}return r}alias(t,i){return t===this.get_property(nt)?(N.critical(\"Attempting to create alias for existing People user - aborting.\"),-2):this.Es(\"posthog.alias\")?(R(i)&&(i=this.get_distinct_id()),t!==i?(this.Is(ot,t),this.capture(\"$create_alias\",{alias:t,distinct_id:i})):(N.warn(\"alias matches current distinct_id - skipping api call.\"),this.identify(t),-1)):void 0}set_config(t){var i,e,r,s,n=B({},this.config);I(t)&&(V(this.config,Wo(t)),null==(i=this.persistence)||i.update_config(this.config,n),this.sessionPersistence=\"sessionStorage\"===this.config.persistence||\"memory\"===this.config.persistence?this.persistence:new to(B({},this.config,{persistence:\"sessionStorage\"})),Gi.O()&&\"true\"===Gi.A(\"ph_debug\")&&(this.config.debug=!0),this.config.debug&&(f.DEBUG=!0,N.info(\"set_config\",JSON.stringify({config:t,oldConfig:n,newConfig:B({},this.config)},null,2))),null==(e=this.sessionRecording)||e.startIfEnabledOrStop(),null==(r=this.autocapture)||r.startIfEnabled(),null==(s=this.heatmaps)||s.startIfEnabled(),this.surveys.loadIfEnabled(),this.gs())}startSessionRecording(t){var i=!0===t,e={sampling:i||!(null==t||!t.sampling),linked_flag:i||!(null==t||!t.linked_flag),url_trigger:i||!(null==t||!t.url_trigger),event_trigger:i||!(null==t||!t.event_trigger)};if(Object.values(e).some(Boolean)){var r,s,n,o,a;if(null==(r=this.sessionManager)||r.checkAndGetSessionAndWindowId(),e.sampling)null==(s=this.sessionRecording)||s.overrideSampling();if(e.linked_flag)null==(n=this.sessionRecording)||n.overrideLinkedFlag();if(e.url_trigger)null==(o=this.sessionRecording)||o.overrideTrigger(\"url\");if(e.event_trigger)null==(a=this.sessionRecording)||a.overrideTrigger(\"event\")}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var t;return!(null==(t=this.sessionRecording)||!t.started)}captureException(t,i){var e=new Error(\"PostHog syntheticException\");this.exceptions.sendExceptionEvent(B({},Ae((t=>t instanceof Error)(t)?{error:t,event:t.message}:{event:t},{syntheticException:e}),i))}loadToolbar(t){return this.toolbar.loadToolbar(t)}get_property(t){var i;return null==(i=this.persistence)?void 0:i.props[t]}getSessionProperty(t){var i;return null==(i=this.sessionPersistence)?void 0:i.props[t]}toString(){var t,i=null!==(t=this.config.name)&&void 0!==t?t:qo;return i!==qo&&(i=qo+\".\"+i),i}_isIdentified(){var t,i;return\"identified\"===(null==(t=this.persistence)?void 0:t.get_property(Ft))||\"identified\"===(null==(i=this.sessionPersistence)?void 0:i.get_property(Ft))}xs(){var t,i,e,r;return!(\"never\"===this.config.person_profiles||\"identified_only\"===this.config.person_profiles&&!this._isIdentified()&&P(this.getGroups())&&(null==(t=this.persistence)||null==(i=t.props)||!i[ot])&&(null==(e=this.persistence)||null==(r=e.props)||!r[zt]))}Ss(){return!0===this.config.capture_pageleave||\"if_capture_pageview\"===this.config.capture_pageleave&&(!0===this.config.capture_pageview||\"history_change\"===this.config.capture_pageview)}createPersonProfile(){this.xs()||this.Es(\"posthog.createPersonProfile\")&&this.setPersonProperties({},{})}Es(t){return\"never\"===this.config.person_profiles?(N.error(t+' was called, but process_person is set to \"never\". This call will be ignored.'),!1):(this.Is(zt,!0),!0)}gs(){var t,i,e,r,s=this.consent.isOptedOut(),n=this.config.opt_out_persistence_by_default,o=this.config.disable_persistence||s&&!!n;(null==(t=this.persistence)?void 0:t.$e)!==o&&(null==(e=this.persistence)||e.set_disabled(o));(null==(i=this.sessionPersistence)?void 0:i.$e)!==o&&(null==(r=this.sessionPersistence)||r.set_disabled(o))}opt_in_capturing(t){var i;(this.consent.optInOut(!0),this.gs(),R(null==t?void 0:t.captureEventName)||null!=t&&t.captureEventName)&&this.capture(null!==(i=null==t?void 0:t.captureEventName)&&void 0!==i?i:\"$opt_in\",null==t?void 0:t.captureProperties,{send_instantly:!0});this.config.capture_pageview&&this.ys()}opt_out_capturing(){this.consent.optInOut(!1),this.gs()}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}clear_opt_in_out_capturing(){this.consent.reset(),this.gs()}_is_bot(){return o?Fo(o,this.config.custom_blocked_useragents):void 0}ys(){a&&(\"visible\"===a.visibilityState?this.ls||(this.ls=!0,this.capture(\"$pageview\",{title:a.title},{send_instantly:!0}),this.hs&&(a.removeEventListener(\"visibilitychange\",this.hs),this.hs=null)):this.hs||(this.hs=this.ys.bind(this),st(a,\"visibilitychange\",this.hs)))}debug(t){!1===t?(null==i||i.console.log(\"You've disabled debug mode.\"),localStorage&&localStorage.removeItem(\"ph_debug\"),this.set_config({debug:!1})):(null==i||i.console.log(\"You're now in debug mode. All calls to PostHog will be logged in your console.\\nYou can disable this with `posthog.debug(false)`.\"),localStorage&&localStorage.setItem(\"ph_debug\",\"true\"),this.set_config({debug:!0}))}ks(t){if(O(this.config.before_send))return t;var i=x(this.config.before_send)?this.config.before_send:[this.config.before_send],e=t;for(var r of i){if(e=r(e),O(e)){var s=\"Event '\"+t.event+\"' was rejected in beforeSend function\";return j(t.event)?N.warn(s+\". This can cause unexpected behavior.\"):N.info(s),null}e.properties&&!P(e.properties)||N.warn(\"Event '\"+t.event+\"' has no properties after beforeSend function, this is likely an error.\")}return e}getPageViewId(){var t;return null==(t=this.pageViewManager.ne)?void 0:t.pageViewId}captureTraceFeedback(t,i){this.capture(\"$ai_feedback\",{$ai_trace_id:String(t),$ai_feedback_text:i})}captureTraceMetric(t,i,e){this.capture(\"$ai_metric\",{$ai_trace_id:String(t),$ai_metric_name:i,$ai_metric_value:String(e)})}}!function(t,i){for(var e=0;e<i.length;e++)t.prototype[i[e]]=Q(t.prototype[i[e]])}(Jo,[\"identify\"]);var Vo,Ko,Yo,Xo,Qo,Zo;!function(t){t.Button=\"button\",t.Tab=\"tab\",t.Selector=\"selector\"}(Vo||(Vo={})),function(t){t.Left=\"left\",t.Center=\"center\",t.Right=\"right\",t.NextToTrigger=\"next_to_trigger\"}(Ko||(Ko={})),function(t){t.Popover=\"popover\",t.API=\"api\",t.Widget=\"widget\"}(Yo||(Yo={})),function(t){t.Open=\"open\",t.MultipleChoice=\"multiple_choice\",t.SingleChoice=\"single_choice\",t.Rating=\"rating\",t.Link=\"link\"}(Xo||(Xo={})),function(t){t.NextQuestion=\"next_question\",t.End=\"end\",t.ResponseBased=\"response_based\",t.SpecificQuestion=\"specific_question\"}(Qo||(Qo={})),function(t){t.Once=\"once\",t.Recurring=\"recurring\",t.Always=\"always\"}(Zo||(Zo={}));var ta,ia=(ta=zo[qo]=new Jo,function(){function t(){t.done||(t.done=!0,Bo=!1,J(zo,(function(t){t._dom_loaded()})))}null!=a&&a.addEventListener?\"complete\"===a.readyState?t():st(a,\"DOMContentLoaded\",t,{capture:!1}):i&&N.error(\"Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized\")}(),ta);export{p as COPY_AUTOCAPTURE_EVENT,t as Compression,Jo as PostHog,Ko as SurveyPosition,Qo as SurveyQuestionBranchingType,Xo as SurveyQuestionType,Zo as SurveySchedule,Yo as SurveyType,Vo as SurveyWidgetType,ia as default,g as knownUnsafeEditableEvent,ia as posthog,_ as severityLevels};\n//# sourceMappingURL=module.js.map\n", + "import posthog from \"posthog-js\"\n\nimport { TelemetrySetting } from \"@roo/TelemetrySetting\"\n\nclass TelemetryClient {\n\tprivate static instance: TelemetryClient\n\tprivate static telemetryEnabled: boolean = false\n\n\tpublic updateTelemetryState(telemetrySetting: TelemetrySetting, apiKey?: string, distinctId?: string) {\n\t\tposthog.reset()\n\n\t\tif (telemetrySetting === \"enabled\" && apiKey && distinctId) {\n\t\t\tTelemetryClient.telemetryEnabled = true\n\n\t\t\tposthog.init(apiKey, {\n\t\t\t\tapi_host: \"https://us.i.posthog.com\",\n\t\t\t\tpersistence: \"localStorage\",\n\t\t\t\tloaded: () => posthog.identify(distinctId),\n\t\t\t\tcapture_pageview: false,\n\t\t\t\tcapture_pageleave: false,\n\t\t\t\tautocapture: false,\n\t\t\t})\n\t\t} else {\n\t\t\tTelemetryClient.telemetryEnabled = false\n\t\t}\n\t}\n\n\tpublic static getInstance(): TelemetryClient {\n\t\tif (!TelemetryClient.instance) {\n\t\t\tTelemetryClient.instance = new TelemetryClient()\n\t\t}\n\n\t\treturn TelemetryClient.instance\n\t}\n\n\tpublic capture(eventName: string, properties?: Record<string, any>) {\n\t\tif (TelemetryClient.telemetryEnabled) {\n\t\t\ttry {\n\t\t\t\tposthog.capture(eventName, properties)\n\t\t\t} catch (_error) {\n\t\t\t\t// Silently fail if there's an error capturing an event.\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport const telemetryClient = TelemetryClient.getInstance()\n", + "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stackframe', [], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.StackFrame = factory();\n }\n}(this, function() {\n 'use strict';\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n\n function _getter(p) {\n return function() {\n return this[p];\n };\n }\n\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n var objectProps = ['evalOrigin'];\n\n var props = booleanProps.concat(numericProps, stringProps, arrayProps, objectProps);\n\n function StackFrame(obj) {\n if (!obj) return;\n for (var i = 0; i < props.length; i++) {\n if (obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n\n StackFrame.prototype = {\n getArgs: function() {\n return this.args;\n },\n setArgs: function(v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n\n getEvalOrigin: function() {\n return this.evalOrigin;\n },\n setEvalOrigin: function(v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n\n toString: function() {\n var fileName = this.getFileName() || '';\n var lineNumber = this.getLineNumber() || '';\n var columnNumber = this.getColumnNumber() || '';\n var functionName = this.getFunctionName() || '';\n if (this.getIsEval()) {\n if (fileName) {\n return '[eval] (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return '[eval]:' + lineNumber + ':' + columnNumber;\n }\n if (functionName) {\n return functionName + ' (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return fileName + ':' + lineNumber + ':' + columnNumber;\n }\n };\n\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf('(');\n var argsEndIndex = str.lastIndexOf(')');\n\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(',');\n var locationString = str.substring(argsEndIndex + 1);\n\n if (locationString.indexOf('@') === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, '');\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = (function(p) {\n return function(v) {\n this[p] = Boolean(v);\n };\n })(booleanProps[i]);\n }\n\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = (function(p) {\n return function(v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n })(numericProps[j]);\n }\n\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = (function(p) {\n return function(v) {\n this[p] = String(v);\n };\n })(stringProps[k]);\n }\n\n return StackFrame;\n}));\n", + "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('error-stack-parser', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.ErrorStackParser = factory(root.StackFrame);\n }\n}(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n\n return {\n /**\n * Given an Error object, extract the most information from it.\n *\n * @param {Error} error object\n * @return {Array} of StackFrames\n */\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n\n // Separate line and column numbers from a string of the form: (URI:Line:Column)\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n // Fail-fast but return locations like \"(native)\"\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n if (line.indexOf('(eval ') > -1) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n\n // capture and preseve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n // case it has spaces in it, as the string is split on \\s+ later on\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n\n // remove the parenthesized location from the line, if it was matched\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n\n // if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n // because this line doesn't have function name\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', '<anonymous>'].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n\n return filtered.map(function(line) {\n // Throw away eval information until we implement stacktrace.js/stackframe#8\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n // Safari eval frames only have function names and nothing else\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || (e.message.indexOf('\\n') > -1 &&\n e.message.split('\\n').length > e.stacktrace.split('\\n').length)) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n\n return result;\n },\n\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(\n new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n })\n );\n }\n }\n\n return result;\n },\n\n // Opera 10.65+ Error.stack very similar to FF/Safari\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function(line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n\n return filtered.map(function(line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = (tokens.shift() || '');\n var functionName = functionCall\n .replace(/<anonymous function(: (\\w+))?>/, '$2')\n .replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ?\n undefined : argsRaw.split(',');\n\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n}));\n", + "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stack-generator', ['stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('stackframe'));\n } else {\n root.StackGenerator = factory(root.StackFrame);\n }\n}(this, function(StackFrame) {\n return {\n backtrace: function StackGenerator$$backtrace(opts) {\n var stack = [];\n var maxStackSize = 10;\n\n if (typeof opts === 'object' && typeof opts.maxStackSize === 'number') {\n maxStackSize = opts.maxStackSize;\n }\n\n var curr = arguments.callee;\n while (curr && stack.length < maxStackSize && curr['arguments']) {\n // Allow V8 optimizations\n var args = new Array(curr['arguments'].length);\n for (var i = 0; i < args.length; ++i) {\n args[i] = curr['arguments'][i];\n }\n if (/function(?:\\s+([\\w$]+))+\\s*\\(/.test(curr.toString())) {\n stack.push(new StackFrame({functionName: RegExp.$1 || undefined, args: args}));\n } else {\n stack.push(new StackFrame({args: args}));\n }\n\n try {\n curr = curr.caller;\n } catch (e) {\n break;\n }\n }\n return stack;\n }\n };\n}));\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '<dir>/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = util.toSetString(aStr);\n var isDuplicate = has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n this._set[sStr] = idx;\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n", + "/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap)\n : new BasicSourceMapConsumer(sourceMap);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n if (source != null && sourceRoot != null) {\n source = util.join(sourceRoot, source);\n }\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: Optional. the column number in the original source.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n if (this.sourceRoot != null) {\n needle.source = util.relative(this.sourceRoot, needle.source);\n }\n if (!this._sources.has(needle.source)) {\n return [];\n }\n needle.source = this._sources.indexOf(needle.source);\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The only parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._sources.toArray().map(function (s) {\n return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s;\n }, this);\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source.\n * - column: The column number in the generated source.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null.\n * - column: The column number in the original source, or null.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n if (this.sourceRoot != null) {\n source = util.join(this.sourceRoot, source);\n }\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n if (this.sourceRoot != null) {\n aSource = util.relative(this.sourceRoot, aSource);\n }\n\n if (this._sources.has(aSource)) {\n return this.sourcesContent[this._sources.indexOf(aSource)];\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = aSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + aSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + aSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: The column number in the original source.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n if (this.sourceRoot != null) {\n source = util.relative(this.sourceRoot, source);\n }\n if (!this._sources.has(source)) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n source = this._sources.indexOf(source);\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The only parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = JSON.parse(aSourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'))\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source.\n * - column: The column number in the generated source.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null.\n * - column: The column number in the original source, or null.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source.\n * - column: The column number in the original source.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null.\n * - column: The column number in the generated source, or null.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n if (section.consumer.sourceRoot !== null) {\n source = util.join(section.consumer.sourceRoot, source);\n }\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n", + "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stacktrace-gps', ['source-map', 'stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('source-map/lib/source-map-consumer'), require('stackframe'));\n } else {\n root.StackTraceGPS = factory(root.SourceMap || root.sourceMap, root.StackFrame);\n }\n}(this, function(SourceMap, StackFrame) {\n 'use strict';\n\n /**\n * Make a X-Domain request to url and callback.\n *\n * @param {String} url\n * @returns {Promise} with response text if fulfilled\n */\n function _xdr(url) {\n return new Promise(function(resolve, reject) {\n var req = new XMLHttpRequest();\n req.open('get', url);\n req.onerror = reject;\n req.onreadystatechange = function onreadystatechange() {\n if (req.readyState === 4) {\n if ((req.status >= 200 && req.status < 300) ||\n (url.substr(0, 7) === 'file://' && req.responseText)) {\n resolve(req.responseText);\n } else {\n reject(new Error('HTTP status: ' + req.status + ' retrieving ' + url));\n }\n }\n };\n req.send();\n });\n\n }\n\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== 'undefined' && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error('You must supply a polyfill for window.atob in this environment');\n }\n }\n\n function _parseJson(string) {\n if (typeof JSON !== 'undefined' && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error('You must supply a polyfill for JSON.parse in this environment');\n }\n }\n\n function _findFunctionName(source, lineNumber/*, columnNumber*/) {\n var syntaxes = [\n // {name} = function ({args}) TODO args capture\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/,\n // function {name}({args}) m[1]=name m[2]=args\n /function\\s+([^('\"`]*?)\\s*\\(([^)]*)\\)/,\n // {name} = eval()\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/,\n // fn_name() {\n /\\b(?!(?:if|for|switch|while|with|catch)\\b)(?:(?:static)\\s+)?(\\S+)\\s*\\(.*?\\)\\s*\\{/,\n // {name} = () => {\n /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*\\(.*?\\)\\s*=>/\n ];\n var lines = source.split('\\n');\n\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = '';\n var maxLines = Math.min(lineNumber, 20);\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf('//');\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n\n if (line) {\n code = line + code;\n var len = syntaxes.length;\n for (var index = 0; index < len; index++) {\n var m = syntaxes[index].exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n }\n return undefined;\n }\n\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== 'function' || typeof Object.create !== 'function') {\n throw new Error('Unable to consume source maps in older browsers');\n }\n }\n\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== 'object') {\n throw new TypeError('Given StackFrame is not an object');\n } else if (typeof stackframe.fileName !== 'string') {\n throw new TypeError('Given file name is not a String');\n } else if (typeof stackframe.lineNumber !== 'number' ||\n stackframe.lineNumber % 1 !== 0 ||\n stackframe.lineNumber < 1) {\n throw new TypeError('Given line number must be a positive integer');\n } else if (typeof stackframe.columnNumber !== 'number' ||\n stackframe.columnNumber % 1 !== 0 ||\n stackframe.columnNumber < 0) {\n throw new TypeError('Given column number must be a non-negative integer');\n }\n return true;\n }\n\n function _findSourceMappingURL(source) {\n var sourceMappingUrlRegExp = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/mg;\n var lastSourceMappingUrl;\n var matchSourceMappingUrl;\n // eslint-disable-next-line no-cond-assign\n while (matchSourceMappingUrl = sourceMappingUrlRegExp.exec(source)) {\n lastSourceMappingUrl = matchSourceMappingUrl[1];\n }\n if (lastSourceMappingUrl) {\n return lastSourceMappingUrl;\n } else {\n throw new Error('sourceMappingURL not found');\n }\n }\n\n function _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache) {\n return new Promise(function(resolve, reject) {\n var loc = sourceMapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n\n if (loc.source) {\n // cache mapped sources\n var mappedSource = sourceMapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n\n resolve(\n // given stackframe and source location, update stackframe\n new StackFrame({\n functionName: loc.name || stackframe.functionName,\n args: stackframe.args,\n fileName: loc.source,\n lineNumber: loc.line,\n columnNumber: loc.column\n }));\n } else {\n reject(new Error('Could not get original source for given stackframe and source map'));\n }\n });\n }\n\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.sourceMapConsumerCache = {/path/file.js.map: SourceMapConsumer}\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n\n this.sourceCache = opts.sourceCache || {};\n this.sourceMapConsumerCache = opts.sourceMapConsumerCache || {};\n\n this.ajax = opts.ajax || _xdr;\n\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function(resolve, reject) {\n var isDataUrl = location.substr(0, 5) === 'data:';\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error('Cannot make network requests in offline mode'));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp =\n /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error('The encoding of the inline sourcemap is not supported'));\n }\n } else {\n var xhrPromise = this.ajax(location, {method: 'get'});\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n\n /**\n * Creating SourceMapConsumers is expensive, so this wraps the creation of a\n * SourceMapConsumer in a per-instance cache.\n *\n * @param {String} sourceMappingURL = URL to fetch source map from\n * @param {String} defaultSourceRoot = Default source root for source map if undefined\n * @returns {Promise} that resolves a SourceMapConsumer\n */\n this._getSourceMapConsumer = function _getSourceMapConsumer(sourceMappingURL, defaultSourceRoot) {\n return new Promise(function(resolve) {\n if (this.sourceMapConsumerCache[sourceMappingURL]) {\n resolve(this.sourceMapConsumerCache[sourceMappingURL]);\n } else {\n var sourceMapConsumerPromise = new Promise(function(resolve, reject) {\n return this._get(sourceMappingURL).then(function(sourceMapSource) {\n if (typeof sourceMapSource === 'string') {\n sourceMapSource = _parseJson(sourceMapSource.replace(/^\\)\\]\\}'/, ''));\n }\n if (typeof sourceMapSource.sourceRoot === 'undefined') {\n sourceMapSource.sourceRoot = defaultSourceRoot;\n }\n\n resolve(new SourceMap.SourceMapConsumer(sourceMapSource));\n }).catch(reject);\n }.bind(this));\n this.sourceMapConsumerCache[sourceMappingURL] = sourceMapConsumerPromise;\n resolve(sourceMapConsumerPromise);\n }\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function(resolve, reject) {\n this.getMappedLocation(stackframe).then(function(mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n\n this.findFunctionName(mappedStackFrame)\n .then(resolve, resolveMappedStackFrame)\n // eslint-disable-next-line no-unexpected-multiline\n ['catch'](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function(resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame({\n functionName: guessedFunctionName,\n args: stackframe.args,\n fileName: stackframe.fileName,\n lineNumber: lineNumber,\n columnNumber: columnNumber\n }));\n } else {\n resolve(stackframe);\n }\n }, reject)['catch'](reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function(resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function(source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === 'data:';\n var defaultSourceRoot = fileName.substring(0, fileName.lastIndexOf('/') + 1);\n\n if (sourceMappingURL[0] !== '/' && !isDataUrl && !(/^https?:\\/\\/|^\\/\\//i).test(sourceMappingURL)) {\n sourceMappingURL = defaultSourceRoot + sourceMappingURL;\n }\n\n return this._getSourceMapConsumer(sourceMappingURL, defaultSourceRoot)\n .then(function(sourceMapConsumer) {\n return _extractLocationInfoFromSourceMapSource(stackframe, sourceMapConsumer, sourceCache)\n .then(resolve)['catch'](function() {\n resolve(stackframe);\n });\n });\n }.bind(this), reject)['catch'](reject);\n }.bind(this));\n };\n };\n}));\n", + "(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stacktrace', ['error-stack-parser', 'stack-generator', 'stacktrace-gps'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('error-stack-parser'), require('stack-generator'), require('stacktrace-gps'));\n } else {\n root.StackTrace = factory(root.ErrorStackParser, root.StackGenerator, root.StackTraceGPS);\n }\n}(this, function StackTrace(ErrorStackParser, StackGenerator, StackTraceGPS) {\n var _options = {\n filter: function(stackframe) {\n // Filter out stackframes for this library by default\n return (stackframe.functionName || '').indexOf('StackTrace$$') === -1 &&\n (stackframe.functionName || '').indexOf('ErrorStackParser$$') === -1 &&\n (stackframe.functionName || '').indexOf('StackTraceGPS$$') === -1 &&\n (stackframe.functionName || '').indexOf('StackGenerator$$') === -1;\n },\n sourceCache: {}\n };\n\n var _generateError = function StackTrace$$GenerateError() {\n try {\n // Error must be thrown to get stack in IE\n throw new Error();\n } catch (err) {\n return err;\n }\n };\n\n /**\n * Merge 2 given Objects. If a conflict occurs the second object wins.\n * Does not do deep merges.\n *\n * @param {Object} first base object\n * @param {Object} second overrides\n * @returns {Object} merged first and second\n * @private\n */\n function _merge(first, second) {\n var target = {};\n\n [first, second].forEach(function(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n target[prop] = obj[prop];\n }\n }\n return target;\n });\n\n return target;\n }\n\n function _isShapedLikeParsableError(err) {\n return err.stack || err['opera#sourceloc'];\n }\n\n function _filtered(stackframes, filter) {\n if (typeof filter === 'function') {\n return stackframes.filter(filter);\n }\n return stackframes;\n }\n\n return {\n /**\n * Get a backtrace from invocation point.\n *\n * @param {Object} opts\n * @returns {Array} of StackFrame\n */\n get: function StackTrace$$get(opts) {\n var err = _generateError();\n return _isShapedLikeParsableError(err) ? this.fromError(err, opts) : this.generateArtificially(opts);\n },\n\n /**\n * Get a backtrace from invocation point.\n * IMPORTANT: Does not handle source maps or guess function names!\n *\n * @param {Object} opts\n * @returns {Array} of StackFrame\n */\n getSync: function StackTrace$$getSync(opts) {\n opts = _merge(_options, opts);\n var err = _generateError();\n var stack = _isShapedLikeParsableError(err) ? ErrorStackParser.parse(err) : StackGenerator.backtrace(opts);\n return _filtered(stack, opts.filter);\n },\n\n /**\n * Given an error object, parse it.\n *\n * @param {Error} error object\n * @param {Object} opts\n * @returns {Promise} for Array[StackFrame}\n */\n fromError: function StackTrace$$fromError(error, opts) {\n opts = _merge(_options, opts);\n var gps = new StackTraceGPS(opts);\n return new Promise(function(resolve) {\n var stackframes = _filtered(ErrorStackParser.parse(error), opts.filter);\n resolve(Promise.all(stackframes.map(function(sf) {\n return new Promise(function(resolve) {\n function resolveOriginal() {\n resolve(sf);\n }\n\n gps.pinpoint(sf).then(resolve, resolveOriginal)['catch'](resolveOriginal);\n });\n })));\n }.bind(this));\n },\n\n /**\n * Use StackGenerator to generate a backtrace.\n *\n * @param {Object} opts\n * @returns {Promise} of Array[StackFrame]\n */\n generateArtificially: function StackTrace$$generateArtificially(opts) {\n opts = _merge(_options, opts);\n var stackFrames = StackGenerator.backtrace(opts);\n if (typeof opts.filter === 'function') {\n stackFrames = stackFrames.filter(opts.filter);\n }\n return Promise.resolve(stackFrames);\n },\n\n /**\n * Given a function, wrap it such that invocations trigger a callback that\n * is called with a stack trace.\n *\n * @param {Function} fn to be instrumented\n * @param {Function} callback function to call with a stack trace on invocation\n * @param {Function} errback optional function to call with error if unable to get stack trace.\n * @param {Object} thisArg optional context object (e.g. window)\n */\n instrument: function StackTrace$$instrument(fn, callback, errback, thisArg) {\n if (typeof fn !== 'function') {\n throw new Error('Cannot instrument non-function object');\n } else if (typeof fn.__stacktraceOriginalFn === 'function') {\n // Already instrumented, return given Function\n return fn;\n }\n\n var instrumented = function StackTrace$$instrumented() {\n try {\n this.get().then(callback, errback)['catch'](errback);\n return fn.apply(thisArg || this, arguments);\n } catch (e) {\n if (_isShapedLikeParsableError(e)) {\n this.fromError(e).then(callback, errback)['catch'](errback);\n }\n throw e;\n }\n }.bind(this);\n instrumented.__stacktraceOriginalFn = fn;\n\n return instrumented;\n },\n\n /**\n * Given a function that has been instrumented,\n * revert the function to it's original (non-instrumented) state.\n *\n * @param {Function} fn to de-instrument\n */\n deinstrument: function StackTrace$$deinstrument(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Cannot de-instrument non-function object');\n } else if (typeof fn.__stacktraceOriginalFn === 'function') {\n return fn.__stacktraceOriginalFn;\n } else {\n // Function not instrumented, return original\n return fn;\n }\n },\n\n /**\n * Given an error message and Array of StackFrames, serialize and POST to given URL.\n *\n * @param {Array} stackframes\n * @param {String} url\n * @param {String} errorMsg\n * @param {Object} requestOptions\n */\n report: function StackTrace$$report(stackframes, url, errorMsg, requestOptions) {\n return new Promise(function(resolve, reject) {\n var req = new XMLHttpRequest();\n req.onerror = reject;\n req.onreadystatechange = function onreadystatechange() {\n if (req.readyState === 4) {\n if (req.status >= 200 && req.status < 400) {\n resolve(req.responseText);\n } else {\n reject(new Error('POST to ' + url + ' failed with status: ' + req.status));\n }\n }\n };\n req.open('post', url);\n\n // Set request headers\n req.setRequestHeader('Content-Type', 'application/json');\n if (requestOptions && typeof requestOptions.headers === 'object') {\n var headers = requestOptions.headers;\n for (var header in headers) {\n if (Object.prototype.hasOwnProperty.call(headers, header)) {\n req.setRequestHeader(header, headers[header]);\n }\n }\n }\n\n var reportPayload = {stack: stackframes};\n if (errorMsg !== undefined && errorMsg !== null) {\n reportPayload.message = errorMsg;\n }\n\n req.send(JSON.stringify(reportPayload));\n });\n }\n };\n}));\n", + "import * as StackTrace from \"stacktrace-js\"\n\n/**\n * Extended Error interface with source mapped stack trace\n */\nexport interface EnhancedError extends Error {\n\tsourceMappedStack?: string\n\tsourceMappedComponentStack?: string\n}\n\n/**\n * Apply source maps to a stack trace using StackTrace.js\n * Returns the original stack trace if source maps can't be applied\n */\nexport async function applySourceMapsToStack(stack: string): Promise<string> {\n\tif (!stack) {\n\t\tconsole.debug(\"applySourceMapsToStack: Empty stack trace provided\")\n\t\treturn stack\n\t}\n\n\tconsole.debug(\"Original stack trace:\", stack)\n\n\ttry {\n\t\t// Create a temporary Error object with the provided stack\n\t\tconst tempError = new Error()\n\t\ttempError.stack = stack\n\n\t\t// Extract the error message (first line)\n\t\tconst errorMessage = stack.split(\"\\n\")[0]\n\t\tconsole.debug(\"Error message:\", errorMessage)\n\n\t\t// Use StackTrace.js to get source mapped stack frames\n\t\tconst stackFrames = await StackTrace.fromError(tempError)\n\t\tconsole.debug(\"StackTrace.js parsed frames:\", stackFrames)\n\n\t\t// Convert stack frames back to string format\n\t\tconst mappedFrames = stackFrames.map((frame: StackTrace.StackFrame) => {\n\t\t\tconst functionName = frame.functionName || \"<anonymous>\"\n\t\t\tconst fileName = frame.fileName || \"unknown\"\n\t\t\tconst lineNumber = frame.lineNumber || 0\n\t\t\tconst columnNumber = frame.columnNumber || 0\n\n\t\t\treturn ` at ${functionName} (${fileName}:${lineNumber}:${columnNumber})`\n\t\t})\n\n\t\t// Reconstruct the stack trace with the error message\n\t\tconst result = [errorMessage, ...mappedFrames].join(\"\\n\")\n\t\tconsole.debug(\"Final mapped stack trace:\", result)\n\t\treturn result\n\t} catch (error) {\n\t\tconsole.error(\"Error applying source maps with StackTrace.js:\", error)\n\t\treturn stack // Return original stack on error\n\t}\n}\n\n/**\n * Apply source maps to a React component stack trace using StackTrace.js\n */\nexport async function applySourceMapsToComponentStack(componentStack: string): Promise<string> {\n\tif (!componentStack) {\n\t\tconsole.debug(\"applySourceMapsToComponentStack: Empty component stack provided\")\n\t\treturn componentStack\n\t}\n\n\tconsole.debug(\"Original component stack:\", componentStack)\n\n\ttry {\n\t\t// Component stack has a different format than error stack\n\t\t// Example: at ComponentName (file:///path/to/file.tsx:123:45)\n\t\tconst lines = componentStack.split(\"\\n\")\n\t\tconst mappedLines = await Promise.all(\n\t\t\tlines.map(async (line) => {\n\t\t\t\t// Skip empty lines\n\t\t\t\tif (!line.trim()) return line\n\n\t\t\t\t// Extract file path, line and column numbers\n\t\t\t\tconst match = line.match(/at\\s+(.+?)\\s+\\((.+?):(\\d+):(\\d+)\\)/)\n\t\t\t\tif (!match) return line\n\n\t\t\t\tconst [_, componentName, fileName, lineNumber, columnNumber] = match\n\t\t\t\tconsole.debug(`Processing component stack line:`, { componentName, fileName, lineNumber, columnNumber })\n\n\t\t\t\ttry {\n\t\t\t\t\t// Create a synthetic stack frame for StackTrace.js\n\t\t\t\t\tconst syntheticError = new Error()\n\t\t\t\t\tsyntheticError.stack = `Error\\n at ${componentName} (${fileName}:${lineNumber}:${columnNumber})`\n\n\t\t\t\t\t// Use StackTrace.js to resolve source maps\n\t\t\t\t\tconst stackFrames = await StackTrace.fromError(syntheticError)\n\n\t\t\t\t\tif (stackFrames.length > 0) {\n\t\t\t\t\t\tconst frame = stackFrames[0]\n\t\t\t\t\t\tconst mappedFileName = frame.fileName || fileName\n\t\t\t\t\t\tconst mappedLineNumber = frame.lineNumber || parseInt(lineNumber, 10)\n\t\t\t\t\t\tconst mappedColumnNumber = frame.columnNumber || parseInt(columnNumber, 10)\n\n\t\t\t\t\t\treturn `at ${componentName} (${mappedFileName}:${mappedLineNumber}:${mappedColumnNumber})`\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.debug(`Error processing component stack line with StackTrace.js:`, e)\n\t\t\t\t}\n\n\t\t\t\treturn line\n\t\t\t}),\n\t\t)\n\n\t\tconst result = mappedLines.join(\"\\n\")\n\t\tconsole.debug(\"Final mapped component stack:\", result)\n\t\treturn result\n\t} catch (error) {\n\t\tconsole.error(\"Error applying source maps to component stack with StackTrace.js:\", error)\n\t\treturn componentStack\n\t}\n}\n\n/**\n * Enhance an Error object with source mapped stack trace and component stack\n */\nexport function enhanceErrorWithSourceMaps(error: Error, componentStack?: string): Promise<EnhancedError> {\n\tconsole.debug(\"Enhancing error with source maps using StackTrace.js:\", error)\n\n\treturn new Promise<EnhancedError>((resolve) => {\n\t\tif (!error.stack) {\n\t\t\tconsole.debug(\"Error has no stack trace\")\n\t\t\tresolve(error as EnhancedError)\n\t\t\treturn\n\t\t}\n\n\t\t// Process both stacks in parallel\n\t\tconst stackPromise = applySourceMapsToStack(error.stack)\n\t\tconst componentStackPromise = componentStack\n\t\t\t? applySourceMapsToComponentStack(componentStack)\n\t\t\t: Promise.resolve(undefined)\n\n\t\tPromise.all([stackPromise, componentStackPromise])\n\t\t\t.then(([sourceMappedStack, sourceMappedComponentStack]) => {\n\t\t\t\tconsole.debug(\"Source mapped stacks applied successfully with StackTrace.js\")\n\n\t\t\t\t// Extend the error object with the source mapped stack\n\t\t\t\tObject.defineProperty(error, \"sourceMappedStack\", {\n\t\t\t\t\tvalue: sourceMappedStack,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t})\n\n\t\t\t\t// Add the source mapped component stack if available\n\t\t\t\tif (sourceMappedComponentStack) {\n\t\t\t\t\tObject.defineProperty(error, \"sourceMappedComponentStack\", {\n\t\t\t\t\t\tvalue: sourceMappedComponentStack,\n\t\t\t\t\t\twritable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tresolve(error)\n\t\t\t})\n\t\t\t.catch((mapError) => {\n\t\t\t\tconsole.error(\"Error applying source maps with StackTrace.js:\", mapError)\n\t\t\t\t// If anything fails, just return the original error\n\t\t\t\tresolve(error)\n\t\t\t})\n\t})\n}\n\n/**\n * Parse a stack trace string into structured stack frames\n * This is kept for backward compatibility with tests\n */\nexport async function parseStackTrace(stack: string): Promise<any[]> {\n\tif (!stack) return []\n\n\ttry {\n\t\t// Create a temporary Error object with the provided stack\n\t\tconst tempError = new Error()\n\t\ttempError.stack = stack\n\n\t\t// Use StackTrace.js to parse the stack\n\t\tconst frames = await StackTrace.fromError(tempError)\n\t\treturn frames.map((frame: StackTrace.StackFrame) => ({\n\t\t\tfunctionName: frame.functionName || \"<anonymous>\",\n\t\t\tfileName: frame.fileName,\n\t\t\tlineNumber: frame.lineNumber,\n\t\t\tcolumnNumber: frame.columnNumber,\n\t\t\tsource: `at ${frame.functionName || \"<anonymous>\"} (${frame.fileName}:${frame.lineNumber}:${frame.columnNumber})`,\n\t\t}))\n\t} catch (error) {\n\t\tconsole.error(\"Error parsing stack trace with StackTrace.js:\", error)\n\t\treturn [] // Return empty array if parsing fails\n\t}\n}\n", + "/**\n * Source Map Initializer\n *\n * This utility ensures source maps are properly loaded in production builds.\n * It attempts to preload source maps for all scripts on the page and\n * sets up global error handlers to enhance errors with source maps.\n *\n * This implementation is compatible with VSCode's Content Security Policy.\n */\n\nimport { enhanceErrorWithSourceMaps } from \"./sourceMapUtils\"\n\n/**\n * Initialize source map support for production builds\n */\nexport function initializeSourceMaps(): void {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\t// Only needed in production builds\n\t\treturn\n\t}\n\n\tconsole.debug(\"Initializing CSP-compatible source map support for production build\")\n\n\t// Set up global error handler\n\twindow.addEventListener(\"error\", async (event) => {\n\t\tif (event.error && event.error instanceof Error) {\n\t\t\ttry {\n\t\t\t\t// Apply source maps to the error\n\t\t\t\tconst enhancedError = await enhanceErrorWithSourceMaps(event.error)\n\n\t\t\t\t// Log the enhanced error\n\t\t\t\tconsole.error(\"Source mapped error:\", enhancedError)\n\n\t\t\t\t// Don't prevent default handling - let the ErrorBoundary catch it\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(\"Error enhancing error with source maps:\", e)\n\t\t\t}\n\t\t}\n\t})\n\n\t// Set up unhandled promise rejection handler\n\twindow.addEventListener(\"unhandledrejection\", async (event) => {\n\t\tif (event.reason && event.reason instanceof Error) {\n\t\t\ttry {\n\t\t\t\t// Apply source maps to the error\n\t\t\t\tconst enhancedError = await enhanceErrorWithSourceMaps(event.reason)\n\n\t\t\t\t// Log the enhanced error\n\t\t\t\tconsole.error(\"Source mapped rejection:\", enhancedError)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(\"Error enhancing rejection with source maps:\", e)\n\t\t\t}\n\t\t}\n\t})\n\n\t// Preload source maps for all scripts\n\ttry {\n\t\tconst scripts = document.getElementsByTagName(\"script\")\n\t\tfor (let i = 0; i < scripts.length; i++) {\n\t\t\tconst script = scripts[i]\n\t\t\tif (script.src) {\n\t\t\t\t// Try multiple source map locations\n\t\t\t\tconst possibleMapUrls = [\n\t\t\t\t\t`${script.src}.map`,\n\t\t\t\t\t`${script.src}?source-map=true`,\n\t\t\t\t\tscript.src.replace(/\\.js$/, \".js.map\"),\n\t\t\t\t\tscript.src.replace(/\\.js$/, \".map.json\"),\n\t\t\t\t\tscript.src.replace(/\\.js$/, \".sourcemap\"),\n\t\t\t\t]\n\n\t\t\t\t// Preload all possible source map locations\n\t\t\t\tfor (const mapUrl of possibleMapUrls) {\n\t\t\t\t\tconst link = document.createElement(\"link\")\n\t\t\t\t\tlink.rel = \"preload\"\n\t\t\t\t\tlink.as = \"fetch\"\n\t\t\t\t\tlink.href = mapUrl\n\t\t\t\t\tlink.crossOrigin = \"anonymous\"\n\t\t\t\t\tdocument.head.appendChild(link)\n\t\t\t\t}\n\n\t\t\t\t// Also check for inline sourceMappingURL comments\n\t\t\t\tfetch(script.src)\n\t\t\t\t\t.then((response) => response.text())\n\t\t\t\t\t.then((content) => {\n\t\t\t\t\t\tconst sourceMappingURLMatch = content.match(/\\/\\/[#@]\\s*sourceMappingURL=([^\\s]+)/)\n\t\t\t\t\t\tif (sourceMappingURLMatch && sourceMappingURLMatch[1]) {\n\t\t\t\t\t\t\tconst sourceMappingURL = sourceMappingURLMatch[1]\n\n\t\t\t\t\t\t\t// If it's not a data: URL, preload it\n\t\t\t\t\t\t\tif (!sourceMappingURL.startsWith(\"data:\")) {\n\t\t\t\t\t\t\t\tconst scriptUrlObj = new URL(script.src)\n\t\t\t\t\t\t\t\tconst baseUrl = scriptUrlObj.href.substring(0, scriptUrlObj.href.lastIndexOf(\"/\") + 1)\n\t\t\t\t\t\t\t\tconst fullUrl = new URL(sourceMappingURL, baseUrl).href\n\n\t\t\t\t\t\t\t\tconst link = document.createElement(\"link\")\n\t\t\t\t\t\t\t\tlink.rel = \"preload\"\n\t\t\t\t\t\t\t\tlink.as = \"fetch\"\n\t\t\t\t\t\t\t\tlink.href = fullUrl\n\t\t\t\t\t\t\t\tlink.crossOrigin = \"anonymous\"\n\t\t\t\t\t\t\t\tdocument.head.appendChild(link)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => console.debug(\"Error checking for inline sourceMappingURL:\", e))\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.error(\"Error preloading source maps:\", e)\n\t}\n}\n\n/**\n * Expose source maps on the window object for debugging\n */\nexport function exposeSourceMapsForDebugging(): void {\n\tif (process.env.NODE_ENV !== \"production\") {\n\t\treturn\n\t}\n\n\ttry {\n\t\t// Add a global function to manually apply source maps to an error\n\t\t;(window as any).__applySourceMaps = async (error: Error) => {\n\t\t\tif (!(error instanceof Error)) {\n\t\t\t\tconsole.error(\"Not an Error object:\", error)\n\t\t\t\treturn error\n\t\t\t}\n\t\t\treturn await enhanceErrorWithSourceMaps(error)\n\t\t}\n\n\t\t// Add a global function to test source map functionality\n\t\t;(window as any).__testSourceMaps = () => {\n\t\t\ttry {\n\t\t\t\t// Intentionally cause an error\n\t\t\t\tconst obj: any = undefined\n\t\t\t\tobj.nonExistentMethod()\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof Error) {\n\t\t\t\t\tconsole.log(\"Original error:\", e)\n\t\t\t\t\t;(window as any).__applySourceMaps(e).then((enhanced: Error) => {\n\t\t\t\t\t\tconsole.log(\"Enhanced error:\", enhanced)\n\n\t\t\t\t\t\t// Log the source mapped stack if available\n\t\t\t\t\t\tif (\"sourceMappedStack\" in enhanced) {\n\t\t\t\t\t\t\tconsole.log(\"Source mapped stack:\", enhanced.sourceMappedStack)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Log the source mapped component stack if available\n\t\t\t\t\t\tif (\"sourceMappedComponentStack\" in enhanced) {\n\t\t\t\t\t\t\tconsole.log(\"Source mapped component stack:\", enhanced.sourceMappedComponentStack)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add a global function to check if source maps are available for a script\n\t\t;(window as any).__checkSourceMap = async (scriptUrl: string) => {\n\t\t\ttry {\n\t\t\t\tconst response = await fetch(`${scriptUrl}.map`)\n\t\t\t\tif (response.ok) {\n\t\t\t\t\tconst sourceMap = await response.json()\n\t\t\t\t\tconst originalFileName =\n\t\t\t\t\t\tsourceMap.sources && sourceMap.sources.length > 0 ? sourceMap.sources[0] : \"unknown\"\n\t\t\t\t\tconsole.log(`Source map found for ${scriptUrl}. Original file: ${originalFileName}`)\n\t\t\t\t\treturn true\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log(`No source map found for ${scriptUrl}`)\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error(`Error checking source map for ${scriptUrl}:`, e)\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tconsole.debug(\"Source map debugging utilities exposed on window object\")\n\t} catch (e) {\n\t\tconsole.error(\"Error exposing source maps for debugging:\", e)\n\t}\n}\n", + "function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\t// TODO: Deprecate the boolean parameter at some point.\n\tconst {immediate} = typeof options === 'boolean' ? {immediate: options} : options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n\n// Adds compatibility for ES modules\nmodule.exports.debounce = debounce;\n\nmodule.exports = debounce;\n", + "import { jsx as z, jsxs as Kt, Fragment as so } from \"react/jsx-runtime\";\nimport H, { createElement as $t } from \"react\";\nimport io from \"react-dom\";\nconst we = 0, zt = 1, qt = 2, En = 4;\nfunction ln(t) {\n return () => t;\n}\nfunction lo(t) {\n t();\n}\nfunction ne(t, e) {\n return (n) => t(e(n));\n}\nfunction cn(t, e) {\n return () => t(e);\n}\nfunction co(t, e) {\n return (n) => t(e, n);\n}\nfunction Me(t) {\n return t !== void 0;\n}\nfunction uo(...t) {\n return () => {\n t.map(lo);\n };\n}\nfunction Yt() {\n}\nfunction ve(t, e) {\n return e(t), t;\n}\nfunction ao(t, e) {\n return e(t);\n}\nfunction X(...t) {\n return t;\n}\nfunction K(t, e) {\n return t(zt, e);\n}\nfunction W(t, e) {\n t(we, e);\n}\nfunction We(t) {\n t(qt);\n}\nfunction lt(t) {\n return t(En);\n}\nfunction F(t, e) {\n return K(t, co(e, we));\n}\nfunction bt(t, e) {\n const n = t(zt, (o) => {\n n(), e(o);\n });\n return n;\n}\nfunction un(t) {\n let e, n;\n return (o) => (r) => {\n e = r, n && clearTimeout(n), n = setTimeout(() => {\n o(e);\n }, t);\n };\n}\nfunction Bn(t, e) {\n return t === e;\n}\nfunction Y(t = Bn) {\n let e;\n return (n) => (o) => {\n t(e, o) || (e = o, n(o));\n };\n}\nfunction P(t) {\n return (e) => (n) => {\n t(n) && e(n);\n };\n}\nfunction E(t) {\n return (e) => ne(e, t);\n}\nfunction yt(t) {\n return (e) => () => {\n e(t);\n };\n}\nfunction x(t, ...e) {\n const n = fo(...e);\n return (o, r) => {\n switch (o) {\n case qt:\n We(t);\n return;\n case zt:\n return K(t, n(r));\n }\n };\n}\nfunction Rt(t, e) {\n return (n) => (o) => {\n n(e = t(e, o));\n };\n}\nfunction jt(t) {\n return (e) => (n) => {\n t > 0 ? t-- : e(n);\n };\n}\nfunction Lt(t) {\n let e = null, n;\n return (o) => (r) => {\n e = r, !n && (n = setTimeout(() => {\n n = void 0, o(e);\n }, t));\n };\n}\nfunction G(...t) {\n const e = new Array(t.length);\n let n = 0, o = null;\n const r = Math.pow(2, t.length) - 1;\n return t.forEach((s, i) => {\n const l = Math.pow(2, i);\n K(s, (c) => {\n const a = n;\n n = n | l, e[i] = c, a !== r && n === r && o && (o(), o = null);\n });\n }), (s) => (i) => {\n const l = () => {\n s([i].concat(e));\n };\n n === r ? l() : o = l;\n };\n}\nfunction fo(...t) {\n return (e) => t.reduceRight(ao, e);\n}\nfunction mo(t) {\n let e, n;\n const o = () => e == null ? void 0 : e();\n return function(r, s) {\n switch (r) {\n case zt:\n return s ? n === s ? void 0 : (o(), n = s, e = K(t, s), e) : (o(), Yt);\n case qt:\n o(), n = null;\n return;\n }\n };\n}\nfunction v(t) {\n let e = t;\n const n = $();\n return (o, r) => {\n switch (o) {\n case we:\n e = r;\n break;\n case zt: {\n r(e);\n break;\n }\n case En:\n return e;\n }\n return n(o, r);\n };\n}\nfunction ct(t, e) {\n return ve(v(e), (n) => F(t, n));\n}\nfunction $() {\n const t = [];\n return (e, n) => {\n switch (e) {\n case we:\n t.slice().forEach((o) => {\n o(n);\n });\n return;\n case qt:\n t.splice(0, t.length);\n return;\n case zt:\n return t.push(n), () => {\n const o = t.indexOf(n);\n o > -1 && t.splice(o, 1);\n };\n }\n };\n}\nfunction pt(t) {\n return ve($(), (e) => F(t, e));\n}\nfunction U(t, e = [], { singleton: n } = { singleton: !0 }) {\n return {\n constructor: t,\n dependencies: e,\n id: po(),\n singleton: n\n };\n}\nconst po = () => Symbol();\nfunction ho(t) {\n const e = /* @__PURE__ */ new Map(), n = ({ constructor: o, dependencies: r, id: s, singleton: i }) => {\n if (i && e.has(s))\n return e.get(s);\n const l = o(r.map((c) => n(c)));\n return i && e.set(s, l), l;\n };\n return n(t);\n}\nfunction rt(...t) {\n const e = $(), n = new Array(t.length);\n let o = 0;\n const r = Math.pow(2, t.length) - 1;\n return t.forEach((s, i) => {\n const l = Math.pow(2, i);\n K(s, (c) => {\n n[i] = c, o = o | l, o === r && W(e, n);\n });\n }), function(s, i) {\n switch (s) {\n case qt: {\n We(e);\n return;\n }\n case zt:\n return o === r && i(n), K(e, i);\n }\n };\n}\nfunction A(t, e = Bn) {\n return x(t, Y(e));\n}\nfunction an(...t) {\n return function(e, n) {\n switch (e) {\n case qt:\n return;\n case zt:\n return uo(...t.map((o) => K(o, n)));\n }\n };\n}\nvar ht = /* @__PURE__ */ ((t) => (t[t.DEBUG = 0] = \"DEBUG\", t[t.INFO = 1] = \"INFO\", t[t.WARN = 2] = \"WARN\", t[t.ERROR = 3] = \"ERROR\", t))(ht || {});\nconst go = {\n 0: \"debug\",\n 3: \"error\",\n 1: \"log\",\n 2: \"warn\"\n}, Io = () => typeof globalThis > \"u\" ? window : globalThis, Vt = U(\n () => {\n const t = v(\n 3\n /* ERROR */\n );\n return {\n log: v((n, o, r = 1) => {\n var i;\n const s = (i = Io().VIRTUOSO_LOG_LEVEL) != null ? i : lt(t);\n r >= s && console[go[r]](\n \"%creact-virtuoso: %c%s %o\",\n \"color: #0253b3; font-weight: bold\",\n \"color: initial\",\n n,\n o\n );\n }),\n logLevel: t\n };\n },\n [],\n { singleton: !0 }\n);\nfunction Ht(t, e, n) {\n return _e(t, e, n).callbackRef;\n}\nfunction _e(t, e, n) {\n const o = H.useRef(null);\n let r = (i) => {\n };\n const s = H.useMemo(() => typeof ResizeObserver < \"u\" ? new ResizeObserver((i) => {\n const l = () => {\n const c = i[0].target;\n c.offsetParent !== null && t(c);\n };\n n ? l() : requestAnimationFrame(l);\n }) : null, [t, n]);\n return r = (i) => {\n i && e ? (s == null || s.observe(i), o.current = i) : (o.current && (s == null || s.unobserve(o.current)), o.current = null);\n }, { callbackRef: r, ref: o };\n}\nfunction kn(t, e, n, o, r, s, i, l, c) {\n const a = H.useCallback(\n (f) => {\n const S = So(f.children, e, l ? \"offsetWidth\" : \"offsetHeight\", r);\n let p = f.parentElement;\n for (; !p.dataset.virtuosoScroller; )\n p = p.parentElement;\n const m = p.lastElementChild.dataset.viewportType === \"window\";\n let w;\n m && (w = p.ownerDocument.defaultView);\n const I = i ? l ? i.scrollLeft : i.scrollTop : m ? l ? w.scrollX || w.document.documentElement.scrollLeft : w.scrollY || w.document.documentElement.scrollTop : l ? p.scrollLeft : p.scrollTop, C = i ? l ? i.scrollWidth : i.scrollHeight : m ? l ? w.document.documentElement.scrollWidth : w.document.documentElement.scrollHeight : l ? p.scrollWidth : p.scrollHeight, g = i ? l ? i.offsetWidth : i.offsetHeight : m ? l ? w.innerWidth : w.innerHeight : l ? p.offsetWidth : p.offsetHeight;\n o({\n scrollHeight: C,\n scrollTop: Math.max(I, 0),\n viewportHeight: g\n }), s == null || s(\n l ? dn(\"column-gap\", getComputedStyle(f).columnGap, r) : dn(\"row-gap\", getComputedStyle(f).rowGap, r)\n ), S !== null && t(S);\n },\n [t, e, r, s, i, o, l]\n );\n return _e(a, n, c);\n}\nfunction So(t, e, n, o) {\n const r = t.length;\n if (r === 0)\n return null;\n const s = [];\n for (let i = 0; i < r; i++) {\n const l = t.item(i);\n if (l.dataset.index === void 0)\n continue;\n const c = parseInt(l.dataset.index), a = parseFloat(l.dataset.knownSize), f = e(l, n);\n if (f === 0 && o(\"Zero-sized element, this should not happen\", { child: l }, ht.ERROR), f === a)\n continue;\n const S = s[s.length - 1];\n s.length === 0 || S.size !== f || S.endIndex !== c - 1 ? s.push({ endIndex: c, size: f, startIndex: c }) : s[s.length - 1].endIndex++;\n }\n return s;\n}\nfunction dn(t, e, n) {\n return e !== \"normal\" && !(e != null && e.endsWith(\"px\")) && n(`${t} was not resolved to pixel value correctly`, e, ht.WARN), e === \"normal\" ? 0 : parseInt(e != null ? e : \"0\", 10);\n}\nfunction Ge(t, e, n) {\n const o = H.useRef(null), r = H.useCallback(\n (c) => {\n if (!(c != null && c.offsetParent))\n return;\n const a = c.getBoundingClientRect(), f = a.width;\n let S, p;\n if (e) {\n const m = e.getBoundingClientRect(), w = a.top - m.top;\n p = m.height - Math.max(0, w), S = w + e.scrollTop;\n } else {\n const m = i.current.ownerDocument.defaultView;\n p = m.innerHeight - Math.max(0, a.top), S = a.top + m.scrollY;\n }\n o.current = {\n offsetTop: S,\n visibleHeight: p,\n visibleWidth: f\n }, t(o.current);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, e]\n ), { callbackRef: s, ref: i } = _e(r, !0, n), l = H.useCallback(() => {\n r(i.current);\n }, [r, i]);\n return H.useEffect(() => {\n var c;\n if (e) {\n e.addEventListener(\"scroll\", l);\n const a = new ResizeObserver(() => {\n requestAnimationFrame(l);\n });\n return a.observe(e), () => {\n e.removeEventListener(\"scroll\", l), a.unobserve(e);\n };\n } else {\n const a = (c = i.current) == null ? void 0 : c.ownerDocument.defaultView;\n return a == null || a.addEventListener(\"scroll\", l), a == null || a.addEventListener(\"resize\", l), () => {\n a == null || a.removeEventListener(\"scroll\", l), a == null || a.removeEventListener(\"resize\", l);\n };\n }\n }, [l, e, i]), s;\n}\nconst at = U(\n () => {\n const t = $(), e = $(), n = v(0), o = $(), r = v(0), s = $(), i = $(), l = v(0), c = v(0), a = v(0), f = v(0), S = $(), p = $(), m = v(!1), w = v(!1), I = v(!1);\n return F(\n x(\n t,\n E(({ scrollTop: C }) => C)\n ),\n e\n ), F(\n x(\n t,\n E(({ scrollHeight: C }) => C)\n ),\n i\n ), F(e, r), {\n deviation: n,\n fixedFooterHeight: a,\n fixedHeaderHeight: c,\n footerHeight: f,\n headerHeight: l,\n horizontalDirection: w,\n scrollBy: p,\n // input\n scrollContainerState: t,\n scrollHeight: i,\n scrollingInProgress: m,\n // signals\n scrollTo: S,\n scrollTop: e,\n skipAnimationFrameInResizeObserver: I,\n smoothScrollTargetReached: o,\n // state\n statefulScrollTop: r,\n viewportHeight: s\n };\n },\n [],\n { singleton: !0 }\n), oe = { lvl: 0 };\nfunction On(t, e) {\n const n = t.length;\n if (n === 0)\n return [];\n let { index: o, value: r } = e(t[0]);\n const s = [];\n for (let i = 1; i < n; i++) {\n const { index: l, value: c } = e(t[i]);\n s.push({ end: l - 1, start: o, value: r }), o = l, r = c;\n }\n return s.push({ end: 1 / 0, start: o, value: r }), s;\n}\nfunction j(t) {\n return t === oe;\n}\nfunction re(t, e) {\n if (!j(t))\n return e === t.k ? t.v : e < t.k ? re(t.l, e) : re(t.r, e);\n}\nfunction Ct(t, e, n = \"k\") {\n if (j(t))\n return [-1 / 0, void 0];\n if (Number(t[n]) === e)\n return [t.k, t.v];\n if (Number(t[n]) < e) {\n const o = Ct(t.r, e, n);\n return o[0] === -1 / 0 ? [t.k, t.v] : o;\n }\n return Ct(t.l, e, n);\n}\nfunction mt(t, e, n) {\n return j(t) ? zn(e, n, 1) : e === t.k ? ot(t, { k: e, v: n }) : e < t.k ? fn(ot(t, { l: mt(t.l, e, n) })) : fn(ot(t, { r: mt(t.r, e, n) }));\n}\nfunction Ut() {\n return oe;\n}\nfunction ye(t, e, n) {\n if (j(t))\n return [];\n const o = Ct(t, e)[0];\n return xo(ze(t, o, n));\n}\nfunction Le(t, e) {\n if (j(t)) return oe;\n const { k: n, l: o, r } = t;\n if (e === n) {\n if (j(o))\n return r;\n if (j(r))\n return o;\n {\n const [s, i] = Ln(o);\n return ge(ot(t, { k: s, l: Fn(o), v: i }));\n }\n } else return e < n ? ge(ot(t, { l: Le(o, e) })) : ge(ot(t, { r: Le(r, e) }));\n}\nfunction _t(t) {\n return j(t) ? [] : [..._t(t.l), { k: t.k, v: t.v }, ..._t(t.r)];\n}\nfunction ze(t, e, n) {\n if (j(t))\n return [];\n const { k: o, l: r, r: s, v: i } = t;\n let l = [];\n return o > e && (l = l.concat(ze(r, e, n))), o >= e && o <= n && l.push({ k: o, v: i }), o <= n && (l = l.concat(ze(s, e, n))), l;\n}\nfunction ge(t) {\n const { l: e, lvl: n, r: o } = t;\n if (o.lvl >= n - 1 && e.lvl >= n - 1)\n return t;\n if (n > o.lvl + 1) {\n if (Ee(e))\n return Vn(ot(t, { lvl: n - 1 }));\n if (!j(e) && !j(e.r))\n return ot(e.r, {\n l: ot(e, { r: e.r.l }),\n lvl: n,\n r: ot(t, {\n l: e.r.r,\n lvl: n - 1\n })\n });\n throw new Error(\"Unexpected empty nodes\");\n } else {\n if (Ee(t))\n return Ve(ot(t, { lvl: n - 1 }));\n if (!j(o) && !j(o.l)) {\n const r = o.l, s = Ee(r) ? o.lvl - 1 : o.lvl;\n return ot(r, {\n l: ot(t, {\n lvl: n - 1,\n r: r.l\n }),\n lvl: r.lvl + 1,\n r: Ve(ot(o, { l: r.r, lvl: s }))\n });\n } else\n throw new Error(\"Unexpected empty nodes\");\n }\n}\nfunction ot(t, e) {\n return zn(\n e.k !== void 0 ? e.k : t.k,\n e.v !== void 0 ? e.v : t.v,\n e.lvl !== void 0 ? e.lvl : t.lvl,\n e.l !== void 0 ? e.l : t.l,\n e.r !== void 0 ? e.r : t.r\n );\n}\nfunction Fn(t) {\n return j(t.r) ? t.l : ge(ot(t, { r: Fn(t.r) }));\n}\nfunction Ee(t) {\n return j(t) || t.lvl > t.r.lvl;\n}\nfunction Ln(t) {\n return j(t.r) ? [t.k, t.v] : Ln(t.r);\n}\nfunction zn(t, e, n, o = oe, r = oe) {\n return { k: t, l: o, lvl: n, r, v: e };\n}\nfunction fn(t) {\n return Ve(Vn(t));\n}\nfunction Vn(t) {\n const { l: e } = t;\n return !j(e) && e.lvl === t.lvl ? ot(e, { r: ot(t, { l: e.r }) }) : t;\n}\nfunction Ve(t) {\n const { lvl: e, r: n } = t;\n return !j(n) && !j(n.r) && n.lvl === e && n.r.lvl === e ? ot(n, { l: ot(t, { r: n.l }), lvl: e + 1 }) : t;\n}\nfunction xo(t) {\n return On(t, ({ k: e, v: n }) => ({ index: e, value: n }));\n}\nfunction Pn(t, e) {\n return !!(t && t.startIndex === e.startIndex && t.endIndex === e.endIndex);\n}\nfunction se(t, e) {\n return !!(t && t[0] === e[0] && t[1] === e[1]);\n}\nconst Ne = U(\n () => ({ recalcInProgress: v(!1) }),\n [],\n { singleton: !0 }\n);\nfunction An(t, e, n) {\n return t[Se(t, e, n)];\n}\nfunction Se(t, e, n, o = 0) {\n let r = t.length - 1;\n for (; o <= r; ) {\n const s = Math.floor((o + r) / 2), i = t[s], l = n(i, e);\n if (l === 0)\n return s;\n if (l === -1) {\n if (r - o < 2)\n return s - 1;\n r = s - 1;\n } else {\n if (r === o)\n return s;\n o = s + 1;\n }\n }\n throw new Error(`Failed binary finding record in array - ${t.join(\",\")}, searched for ${e}`);\n}\nfunction To(t, e, n, o) {\n const r = Se(t, e, o), s = Se(t, n, o, r);\n return t.slice(r, s + 1);\n}\nfunction wt(t, e) {\n return Math.round(t.getBoundingClientRect()[e]);\n}\nfunction Re(t) {\n return !j(t.groupOffsetTree);\n}\nfunction De({ index: t }, e) {\n return e === t ? 0 : e < t ? -1 : 1;\n}\nfunction Co() {\n return {\n groupIndices: [],\n groupOffsetTree: Ut(),\n lastIndex: 0,\n lastOffset: 0,\n lastSize: 0,\n offsetTree: [],\n sizeTree: Ut()\n };\n}\nfunction wo(t, e) {\n let n = j(t) ? 0 : 1 / 0;\n for (const o of e) {\n const { endIndex: r, size: s, startIndex: i } = o;\n if (n = Math.min(n, i), j(t)) {\n t = mt(t, 0, s);\n continue;\n }\n const l = ye(t, i - 1, r + 1);\n if (l.some(Bo(o)))\n continue;\n let c = !1, a = !1;\n for (const { end: f, start: S, value: p } of l)\n c ? (r >= S || s === p) && (t = Le(t, S)) : (a = p !== s, c = !0), f > r && r >= S && p !== s && (t = mt(t, r + 1, p));\n a && (t = mt(t, i, s));\n }\n return [t, n];\n}\nfunction vo(t) {\n return typeof t.groupIndex < \"u\";\n}\nfunction yo({ offset: t }, e) {\n return e === t ? 0 : e < t ? -1 : 1;\n}\nfunction ie(t, e, n) {\n if (e.length === 0)\n return 0;\n const { index: o, offset: r, size: s } = An(e, t, De), i = t - o, l = s * i + (i - 1) * n + r;\n return l > 0 ? l + n : l;\n}\nfunction Mn(t, e) {\n if (!Re(e))\n return t;\n let n = 0;\n for (; e.groupIndices[n] <= t + n; )\n n++;\n return t + n;\n}\nfunction Wn(t, e, n) {\n if (vo(t))\n return e.groupIndices[t.groupIndex] + 1;\n {\n const o = t.index === \"LAST\" ? n : t.index;\n let r = Mn(o, e);\n return r = Math.max(0, r, Math.min(n, r)), r;\n }\n}\nfunction Ro(t, e, n, o = 0) {\n return o > 0 && (e = Math.max(e, An(t, o, De).offset)), On(To(t, e, n, yo), Eo);\n}\nfunction bo(t, [e, n, o, r]) {\n e.length > 0 && o(\"received item sizes\", e, ht.DEBUG);\n const s = t.sizeTree;\n let i = s, l = 0;\n if (n.length > 0 && j(s) && e.length === 2) {\n const p = e[0].size, m = e[1].size;\n i = n.reduce((w, I) => mt(mt(w, I, p), I + 1, m), i);\n } else\n [i, l] = wo(i, e);\n if (i === s)\n return t;\n const { lastIndex: c, lastOffset: a, lastSize: f, offsetTree: S } = Pe(t.offsetTree, l, i, r);\n return {\n groupIndices: n,\n groupOffsetTree: n.reduce((p, m) => mt(p, m, ie(m, S, r)), Ut()),\n lastIndex: c,\n lastOffset: a,\n lastSize: f,\n offsetTree: S,\n sizeTree: i\n };\n}\nfunction Ho(t) {\n return _t(t).map(({ k: e, v: n }, o, r) => {\n const s = r[o + 1];\n return { endIndex: s ? s.k - 1 : 1 / 0, size: n, startIndex: e };\n });\n}\nfunction mn(t, e) {\n let n = 0, o = 0;\n for (; n < t; )\n n += e[o + 1] - e[o] - 1, o++;\n return o - (n === t ? 0 : 1);\n}\nfunction Pe(t, e, n, o) {\n let r = t, s = 0, i = 0, l = 0, c = 0;\n if (e !== 0) {\n c = Se(r, e - 1, De), l = r[c].offset;\n const f = Ct(n, e - 1);\n s = f[0], i = f[1], r.length && r[c].size === Ct(n, e)[1] && (c -= 1), r = r.slice(0, c + 1);\n } else\n r = [];\n for (const { start: a, value: f } of ye(n, e, 1 / 0)) {\n const S = a - s, p = S * i + l + S * o;\n r.push({\n index: a,\n offset: p,\n size: f\n }), s = a, l = p, i = f;\n }\n return {\n lastIndex: s,\n lastOffset: l,\n lastSize: i,\n offsetTree: r\n };\n}\nfunction Eo(t) {\n return { index: t.index, value: t };\n}\nfunction Bo(t) {\n const { endIndex: e, size: n, startIndex: o } = t;\n return (r) => r.start === o && (r.end === e || r.end === 1 / 0) && r.value === n;\n}\nconst ko = {\n offsetHeight: \"height\",\n offsetWidth: \"width\"\n}, Et = U(\n ([{ log: t }, { recalcInProgress: e }]) => {\n const n = $(), o = $(), r = ct(o, 0), s = $(), i = $(), l = v(0), c = v([]), a = v(void 0), f = v(void 0), S = v((h, d) => wt(h, ko[d])), p = v(void 0), m = v(0), w = Co(), I = ct(\n x(n, G(c, t, m), Rt(bo, w), Y()),\n w\n ), C = ct(\n x(\n c,\n Y(),\n Rt((h, d) => ({ current: d, prev: h.current }), {\n current: [],\n prev: []\n }),\n E(({ prev: h }) => h)\n ),\n []\n );\n F(\n x(\n c,\n P((h) => h.length > 0),\n G(I, m),\n E(([h, d, b]) => {\n const k = h.reduce((O, L, V) => mt(O, L, ie(L, d.offsetTree, b) || V), Ut());\n return {\n ...d,\n groupIndices: h,\n groupOffsetTree: k\n };\n })\n ),\n I\n ), F(\n x(\n o,\n G(I),\n P(([h, { lastIndex: d }]) => h < d),\n E(([h, { lastIndex: d, lastSize: b }]) => [\n {\n endIndex: d,\n size: b,\n startIndex: h\n }\n ])\n ),\n n\n ), F(a, f);\n const g = ct(\n x(\n a,\n E((h) => h === void 0)\n ),\n !0\n );\n F(\n x(\n f,\n P((h) => h !== void 0 && j(lt(I).sizeTree)),\n E((h) => [{ endIndex: 0, size: h, startIndex: 0 }])\n ),\n n\n );\n const u = pt(\n x(\n n,\n G(I),\n Rt(\n ({ sizes: h }, [d, b]) => ({\n changed: b !== h,\n sizes: b\n }),\n { changed: !1, sizes: w }\n ),\n E((h) => h.changed)\n )\n );\n K(\n x(\n l,\n Rt(\n (h, d) => ({ diff: h.prev - d, prev: d }),\n { diff: 0, prev: 0 }\n ),\n E((h) => h.diff)\n ),\n (h) => {\n const { groupIndices: d } = lt(I);\n if (h > 0)\n W(e, !0), W(s, h + mn(h, d));\n else if (h < 0) {\n const b = lt(C);\n b.length > 0 && (h -= mn(-h, b)), W(i, h);\n }\n }\n ), K(x(l, G(t)), ([h, d]) => {\n h < 0 && d(\n \"`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value\",\n { firstItemIndex: l },\n ht.ERROR\n );\n });\n const T = pt(s);\n F(\n x(\n s,\n G(I),\n E(([h, d]) => {\n const b = d.groupIndices.length > 0, k = [], O = d.lastSize;\n if (b) {\n const L = re(d.sizeTree, 0);\n let V = 0, D = 0;\n for (; V < h; ) {\n const B = d.groupIndices[D], q = d.groupIndices.length === D + 1 ? 1 / 0 : d.groupIndices[D + 1] - B - 1;\n k.push({\n endIndex: B,\n size: L,\n startIndex: B\n }), k.push({\n endIndex: B + 1 + q - 1,\n size: O,\n startIndex: B + 1\n }), D++, V += q + 1;\n }\n const J = _t(d.sizeTree);\n return V !== h && J.shift(), J.reduce(\n (B, { k: q, v: st }) => {\n let dt = B.ranges;\n return B.prevSize !== 0 && (dt = [\n ...B.ranges,\n {\n endIndex: q + h - 1,\n size: B.prevSize,\n startIndex: B.prevIndex\n }\n ]), {\n prevIndex: q + h,\n prevSize: st,\n ranges: dt\n };\n },\n {\n prevIndex: h,\n prevSize: 0,\n ranges: k\n }\n ).ranges;\n }\n return _t(d.sizeTree).reduce(\n (L, { k: V, v: D }) => ({\n prevIndex: V + h,\n prevSize: D,\n ranges: [...L.ranges, { endIndex: V + h - 1, size: L.prevSize, startIndex: L.prevIndex }]\n }),\n {\n prevIndex: 0,\n prevSize: O,\n ranges: []\n }\n ).ranges;\n })\n ),\n n\n );\n const R = pt(\n x(\n i,\n G(I, m),\n E(([h, { offsetTree: d }, b]) => {\n const k = -h;\n return ie(k, d, b);\n })\n )\n );\n return F(\n x(\n i,\n G(I, m),\n E(([h, d, b]) => {\n if (d.groupIndices.length > 0) {\n if (j(d.sizeTree))\n return d;\n let O = Ut();\n const L = lt(C);\n let V = 0, D = 0, J = 0;\n for (; V < -h; ) {\n J = L[D];\n const B = L[D + 1] - J - 1;\n D++, V += B + 1;\n }\n if (O = _t(d.sizeTree).reduce((B, { k: q, v: st }) => mt(B, Math.max(0, q + h), st), O), V !== -h) {\n const B = re(d.sizeTree, J);\n O = mt(O, 0, B);\n const q = Ct(d.sizeTree, -h + 1)[1];\n O = mt(O, 1, q);\n }\n return {\n ...d,\n sizeTree: O,\n ...Pe(d.offsetTree, 0, O, b)\n };\n } else {\n const O = _t(d.sizeTree).reduce((L, { k: V, v: D }) => mt(L, Math.max(0, V + h), D), Ut());\n return {\n ...d,\n sizeTree: O,\n ...Pe(d.offsetTree, 0, O, b)\n };\n }\n })\n ),\n I\n ), {\n beforeUnshiftWith: T,\n // input\n data: p,\n defaultItemSize: f,\n firstItemIndex: l,\n fixedItemSize: a,\n gap: m,\n groupIndices: c,\n itemSize: S,\n listRefresh: u,\n shiftWith: i,\n shiftWithOffset: R,\n sizeRanges: n,\n // output\n sizes: I,\n statefulTotalCount: r,\n totalCount: o,\n trackItemSizes: g,\n unshiftWith: s\n };\n },\n X(Vt, Ne),\n { singleton: !0 }\n);\nfunction Oo(t) {\n return t.reduce(\n (e, n) => (e.groupIndices.push(e.totalCount), e.totalCount += n + 1, e),\n {\n groupIndices: [],\n totalCount: 0\n }\n );\n}\nconst _n = U(\n ([{ groupIndices: t, sizes: e, totalCount: n }, { headerHeight: o, scrollTop: r }]) => {\n const s = $(), i = $(), l = pt(x(s, E(Oo)));\n return F(\n x(\n l,\n E((c) => c.totalCount)\n ),\n n\n ), F(\n x(\n l,\n E((c) => c.groupIndices)\n ),\n t\n ), F(\n x(\n rt(r, e, o),\n P(([c, a]) => Re(a)),\n E(([c, a, f]) => Ct(a.groupOffsetTree, Math.max(c - f, 0), \"v\")[0]),\n Y(),\n E((c) => [c])\n ),\n i\n ), { groupCounts: s, topItemsIndexes: i };\n },\n X(Et, at)\n), Pt = U(\n ([{ log: t }]) => {\n const e = v(!1), n = pt(\n x(\n e,\n P((o) => o),\n Y()\n )\n );\n return K(e, (o) => {\n o && lt(t)(\"props updated\", {}, ht.DEBUG);\n }), { didMount: n, propsReady: e };\n },\n X(Vt),\n { singleton: !0 }\n), Fo = typeof document < \"u\" && \"scrollBehavior\" in document.documentElement.style;\nfunction Gn(t) {\n const e = typeof t == \"number\" ? { index: t } : t;\n return e.align || (e.align = \"start\"), (!e.behavior || !Fo) && (e.behavior = \"auto\"), e.offset || (e.offset = 0), e;\n}\nconst ce = U(\n ([\n { gap: t, listRefresh: e, sizes: n, totalCount: o },\n {\n fixedFooterHeight: r,\n fixedHeaderHeight: s,\n footerHeight: i,\n headerHeight: l,\n scrollingInProgress: c,\n scrollTo: a,\n smoothScrollTargetReached: f,\n viewportHeight: S\n },\n { log: p }\n ]) => {\n const m = $(), w = $(), I = v(0);\n let C = null, g = null, u = null;\n function T() {\n C && (C(), C = null), u && (u(), u = null), g && (clearTimeout(g), g = null), W(c, !1);\n }\n return F(\n x(\n m,\n G(n, S, o, I, l, i, p),\n G(t, s, r),\n E(\n ([\n [R, h, d, b, k, O, L, V],\n D,\n J,\n nt\n ]) => {\n const B = Gn(R), { align: q, behavior: st, offset: dt } = B, St = b - 1, ft = Wn(B, h, St);\n let ut = ie(ft, h.offsetTree, D) + O;\n q === \"end\" ? (ut += J + Ct(h.sizeTree, ft)[1] - d + nt, ft === St && (ut += L)) : q === \"center\" ? ut += (J + Ct(h.sizeTree, ft)[1] - d + nt) / 2 : ut -= k, dt && (ut += dt);\n const At = (xt) => {\n T(), xt ? (V(\"retrying to scroll to\", { location: R }, ht.DEBUG), W(m, R)) : (W(w, !0), V(\"list did not change, scroll successful\", {}, ht.DEBUG));\n };\n if (T(), st === \"smooth\") {\n let xt = !1;\n u = K(e, (Xt) => {\n xt = xt || Xt;\n }), C = bt(f, () => {\n At(xt);\n });\n } else\n C = bt(x(e, Lo(150)), At);\n return g = setTimeout(() => {\n T();\n }, 1200), W(c, !0), V(\"scrolling from index to\", { behavior: st, index: ft, top: ut }, ht.DEBUG), { behavior: st, top: ut };\n }\n )\n ),\n a\n ), {\n scrollTargetReached: w,\n scrollToIndex: m,\n topListHeight: I\n };\n },\n X(Et, at, Vt),\n { singleton: !0 }\n);\nfunction Lo(t) {\n return (e) => {\n const n = setTimeout(() => {\n e(!1);\n }, t);\n return (o) => {\n o && (e(!0), clearTimeout(n));\n };\n };\n}\nfunction $e(t, e) {\n t == 0 ? e() : requestAnimationFrame(() => {\n $e(t - 1, e);\n });\n}\nfunction Ue(t, e) {\n const n = e - 1;\n return typeof t == \"number\" ? t : t.index === \"LAST\" ? n : t.index;\n}\nconst ue = U(\n ([{ defaultItemSize: t, listRefresh: e, sizes: n }, { scrollTop: o }, { scrollTargetReached: r, scrollToIndex: s }, { didMount: i }]) => {\n const l = v(!0), c = v(0), a = v(!0);\n return F(\n x(\n i,\n G(c),\n P(([f, S]) => !!S),\n yt(!1)\n ),\n l\n ), F(\n x(\n i,\n G(c),\n P(([f, S]) => !!S),\n yt(!1)\n ),\n a\n ), K(\n x(\n rt(e, i),\n G(l, n, t, a),\n P(([[, f], S, { sizeTree: p }, m, w]) => f && (!j(p) || Me(m)) && !S && !w),\n G(c)\n ),\n ([, f]) => {\n bt(r, () => {\n W(a, !0);\n }), $e(4, () => {\n bt(o, () => {\n W(l, !0);\n }), W(s, f);\n });\n }\n ), {\n initialItemFinalLocationReached: a,\n initialTopMostItemIndex: c,\n scrolledToInitialItem: l\n };\n },\n X(Et, at, ce, Pt),\n { singleton: !0 }\n);\nfunction Nn(t, e) {\n return Math.abs(t - e) < 1.01;\n}\nconst le = \"up\", te = \"down\", zo = \"none\", Vo = {\n atBottom: !1,\n notAtBottomBecause: \"NOT_SHOWING_LAST_ITEM\",\n state: {\n offsetBottom: 0,\n scrollHeight: 0,\n scrollTop: 0,\n viewportHeight: 0\n }\n}, Po = 0, ae = U(([{ footerHeight: t, headerHeight: e, scrollBy: n, scrollContainerState: o, scrollTop: r, viewportHeight: s }]) => {\n const i = v(!1), l = v(!0), c = $(), a = $(), f = v(4), S = v(Po), p = ct(\n x(\n an(x(A(r), jt(1), yt(!0)), x(A(r), jt(1), yt(!1), un(100))),\n Y()\n ),\n !1\n ), m = ct(\n x(an(x(n, yt(!0)), x(n, yt(!1), un(200))), Y()),\n !1\n );\n F(\n x(\n rt(A(r), A(S)),\n E(([u, T]) => u <= T),\n Y()\n ),\n l\n ), F(x(l, Lt(50)), a);\n const w = pt(\n x(\n rt(o, A(s), A(e), A(t), A(f)),\n Rt((u, [{ scrollHeight: T, scrollTop: R }, h, d, b, k]) => {\n const O = R + h - T > -k, L = {\n scrollHeight: T,\n scrollTop: R,\n viewportHeight: h\n };\n if (O) {\n let D, J;\n return R > u.state.scrollTop ? (D = \"SCROLLED_DOWN\", J = u.state.scrollTop - R) : (D = \"SIZE_DECREASED\", J = u.state.scrollTop - R || u.scrollTopDelta), {\n atBottom: !0,\n atBottomBecause: D,\n scrollTopDelta: J,\n state: L\n };\n }\n let V;\n return L.scrollHeight > u.state.scrollHeight ? V = \"SIZE_INCREASED\" : h < u.state.viewportHeight ? V = \"VIEWPORT_HEIGHT_DECREASING\" : R < u.state.scrollTop ? V = \"SCROLLING_UPWARDS\" : V = \"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM\", {\n atBottom: !1,\n notAtBottomBecause: V,\n state: L\n };\n }, Vo),\n Y((u, T) => u && u.atBottom === T.atBottom)\n )\n ), I = ct(\n x(\n o,\n Rt(\n (u, { scrollHeight: T, scrollTop: R, viewportHeight: h }) => {\n if (Nn(u.scrollHeight, T))\n return {\n changed: !1,\n jump: 0,\n scrollHeight: T,\n scrollTop: R\n };\n {\n const d = T - (R + h) < 1;\n return u.scrollTop !== R && d ? {\n changed: !0,\n jump: u.scrollTop - R,\n scrollHeight: T,\n scrollTop: R\n } : {\n changed: !0,\n jump: 0,\n scrollHeight: T,\n scrollTop: R\n };\n }\n },\n { changed: !1, jump: 0, scrollHeight: 0, scrollTop: 0 }\n ),\n P((u) => u.changed),\n E((u) => u.jump)\n ),\n 0\n );\n F(\n x(\n w,\n E((u) => u.atBottom)\n ),\n i\n ), F(x(i, Lt(50)), c);\n const C = v(te);\n F(\n x(\n o,\n E(({ scrollTop: u }) => u),\n Y(),\n Rt(\n (u, T) => lt(m) ? { direction: u.direction, prevScrollTop: T } : { direction: T < u.prevScrollTop ? le : te, prevScrollTop: T },\n { direction: te, prevScrollTop: 0 }\n ),\n E((u) => u.direction)\n ),\n C\n ), F(x(o, Lt(50), yt(zo)), C);\n const g = v(0);\n return F(\n x(\n p,\n P((u) => !u),\n yt(0)\n ),\n g\n ), F(\n x(\n r,\n Lt(100),\n G(p),\n P(([u, T]) => !!T),\n Rt(([u, T], [R]) => [T, R], [0, 0]),\n E(([u, T]) => T - u)\n ),\n g\n ), {\n atBottomState: w,\n atBottomStateChange: c,\n atBottomThreshold: f,\n atTopStateChange: a,\n atTopThreshold: S,\n isAtBottom: i,\n isAtTop: l,\n isScrolling: p,\n lastJumpDueToItemResize: I,\n scrollDirection: C,\n scrollVelocity: g\n };\n}, X(at)), xe = \"top\", Te = \"bottom\", pn = \"none\";\nfunction hn(t, e, n) {\n return typeof t == \"number\" ? n === le && e === xe || n === te && e === Te ? t : 0 : n === le ? e === xe ? t.main : t.reverse : e === Te ? t.main : t.reverse;\n}\nfunction gn(t, e) {\n var n;\n return typeof t == \"number\" ? t : (n = t[e]) != null ? n : 0;\n}\nconst Ke = U(\n ([{ deviation: t, fixedHeaderHeight: e, headerHeight: n, scrollTop: o, viewportHeight: r }]) => {\n const s = $(), i = v(0), l = v(0), c = v(0), a = ct(\n x(\n rt(\n A(o),\n A(r),\n A(n),\n A(s, se),\n A(c),\n A(i),\n A(e),\n A(t),\n A(l)\n ),\n E(\n ([\n f,\n S,\n p,\n [m, w],\n I,\n C,\n g,\n u,\n T\n ]) => {\n const R = f - u, h = C + g, d = Math.max(p - R, 0);\n let b = pn;\n const k = gn(T, xe), O = gn(T, Te);\n return m -= u, m += p + g, w += p + g, w -= u, m > f + h - k && (b = le), w < f - d + S + O && (b = te), b !== pn ? [\n Math.max(R - p - hn(I, xe, b) - k, 0),\n R - d - g + S + hn(I, Te, b) + O\n ] : null;\n }\n ),\n P((f) => f != null),\n Y(se)\n ),\n [0, 0]\n );\n return {\n increaseViewportBy: l,\n // input\n listBoundary: s,\n overscan: c,\n topListHeight: i,\n // output\n visibleRange: a\n };\n },\n X(at),\n { singleton: !0 }\n);\nfunction Ao(t, e, n) {\n if (Re(e)) {\n const o = Mn(t, e);\n return [\n { index: Ct(e.groupOffsetTree, o)[0], offset: 0, size: 0 },\n { data: n == null ? void 0 : n[0], index: o, offset: 0, size: 0 }\n ];\n }\n return [{ data: n == null ? void 0 : n[0], index: t, offset: 0, size: 0 }];\n}\nconst Be = {\n bottom: 0,\n firstItemIndex: 0,\n items: [],\n offsetBottom: 0,\n offsetTop: 0,\n top: 0,\n topItems: [],\n topListHeight: 0,\n totalCount: 0\n};\nfunction Ie(t, e, n, o, r, s) {\n const { lastIndex: i, lastOffset: l, lastSize: c } = r;\n let a = 0, f = 0;\n if (t.length > 0) {\n a = t[0].offset;\n const I = t[t.length - 1];\n f = I.offset + I.size;\n }\n const S = n - i, p = l + S * c + (S - 1) * o, m = a, w = p - f;\n return {\n bottom: f,\n firstItemIndex: s,\n items: In(t, r, s),\n offsetBottom: w,\n offsetTop: a,\n top: m,\n topItems: In(e, r, s),\n topListHeight: e.reduce((I, C) => C.size + I, 0),\n totalCount: n\n };\n}\nfunction Dn(t, e, n, o, r, s) {\n let i = 0;\n if (n.groupIndices.length > 0)\n for (const f of n.groupIndices) {\n if (f - i >= t)\n break;\n i++;\n }\n const l = t + i, c = Ue(e, l), a = Array.from({ length: l }).map((f, S) => ({\n data: s[S + c],\n index: S + c,\n offset: 0,\n size: 0\n }));\n return Ie(a, [], l, r, n, o);\n}\nfunction In(t, e, n) {\n if (t.length === 0)\n return [];\n if (!Re(e))\n return t.map((a) => ({ ...a, index: a.index + n, originalIndex: a.index }));\n const o = t[0].index, r = t[t.length - 1].index, s = [], i = ye(e.groupOffsetTree, o, r);\n let l, c = 0;\n for (const a of t) {\n (!l || l.end < a.index) && (l = i.shift(), c = e.groupIndices.indexOf(l.start));\n let f;\n a.index === l.start ? f = {\n index: c,\n type: \"group\"\n } : f = {\n groupIndex: c,\n index: a.index - (c + 1) + n\n }, s.push({\n ...f,\n data: a.data,\n offset: a.offset,\n originalIndex: a.index,\n size: a.size\n });\n }\n return s;\n}\nconst Gt = U(\n ([\n { data: t, firstItemIndex: e, gap: n, sizes: o, totalCount: r },\n s,\n { listBoundary: i, topListHeight: l, visibleRange: c },\n { initialTopMostItemIndex: a, scrolledToInitialItem: f },\n { topListHeight: S },\n p,\n { didMount: m },\n { recalcInProgress: w }\n ]) => {\n const I = v([]), C = v(0), g = $();\n F(s.topItemsIndexes, I);\n const u = ct(\n x(\n rt(\n m,\n w,\n A(c, se),\n A(r),\n A(o),\n A(a),\n f,\n A(I),\n A(e),\n A(n),\n t\n ),\n P(([d, b, , k, , , , , , , O]) => {\n const L = O && O.length !== k;\n return d && !b && !L;\n }),\n E(\n ([\n ,\n ,\n [d, b],\n k,\n O,\n L,\n V,\n D,\n J,\n nt,\n B\n ]) => {\n const q = O, { offsetTree: st, sizeTree: dt } = q, St = lt(C);\n if (k === 0)\n return { ...Be, totalCount: k };\n if (d === 0 && b === 0)\n return St === 0 ? { ...Be, totalCount: k } : Dn(St, L, O, J, nt, B || []);\n if (j(dt))\n return St > 0 ? null : Ie(\n Ao(Ue(L, k), q, B),\n [],\n k,\n nt,\n q,\n J\n );\n const ft = [];\n if (D.length > 0) {\n const Mt = D[0], vt = D[D.length - 1];\n let Bt = 0;\n for (const y of ye(dt, Mt, vt)) {\n const N = y.value, Q = Math.max(y.start, Mt), it = Math.min(y.end, vt);\n for (let tt = Q; tt <= it; tt++)\n ft.push({ data: B == null ? void 0 : B[tt], index: tt, offset: Bt, size: N }), Bt += N;\n }\n }\n if (!V)\n return Ie([], ft, k, nt, q, J);\n const ut = D.length > 0 ? D[D.length - 1] + 1 : 0, At = Ro(st, d, b, ut);\n if (At.length === 0)\n return null;\n const xt = k - 1, Xt = ve([], (Mt) => {\n for (const vt of At) {\n const Bt = vt.value;\n let y = Bt.offset, N = vt.start;\n const Q = Bt.size;\n if (Bt.offset < d) {\n N += Math.floor((d - Bt.offset + nt) / (Q + nt));\n const tt = N - vt.start;\n y += tt * Q + tt * nt;\n }\n N < ut && (y += (ut - N) * Q, N = ut);\n const it = Math.min(vt.end, xt);\n for (let tt = N; tt <= it && !(y >= b); tt++)\n Mt.push({ data: B == null ? void 0 : B[tt], index: tt, offset: y, size: Q }), y += Q + nt;\n }\n });\n return Ie(Xt, ft, k, nt, q, J);\n }\n ),\n //@ts-expect-error filter needs to be fixed\n P((d) => d !== null),\n Y()\n ),\n Be\n );\n F(\n x(\n t,\n P(Me),\n E((d) => d == null ? void 0 : d.length)\n ),\n r\n ), F(\n x(\n u,\n E((d) => d.topListHeight)\n ),\n S\n ), F(S, l), F(\n x(\n u,\n E((d) => [d.top, d.bottom])\n ),\n i\n ), F(\n x(\n u,\n E((d) => d.items)\n ),\n g\n );\n const T = pt(\n x(\n u,\n P(({ items: d }) => d.length > 0),\n G(r, t),\n P(([{ items: d }, b]) => d[d.length - 1].originalIndex === b - 1),\n E(([, d, b]) => [d - 1, b]),\n Y(se),\n E(([d]) => d)\n )\n ), R = pt(\n x(\n u,\n Lt(200),\n P(({ items: d, topItems: b }) => d.length > 0 && d[0].originalIndex === b.length),\n E(({ items: d }) => d[0].index),\n Y()\n )\n ), h = pt(\n x(\n u,\n P(({ items: d }) => d.length > 0),\n E(({ items: d }) => {\n let b = 0, k = d.length - 1;\n for (; d[b].type === \"group\" && b < k; )\n b++;\n for (; d[k].type === \"group\" && k > b; )\n k--;\n return {\n endIndex: d[k].index,\n startIndex: d[b].index\n };\n }),\n Y(Pn)\n )\n );\n return { endReached: T, initialItemCount: C, itemsRendered: g, listState: u, rangeChanged: h, startReached: R, topItemsIndexes: I, ...p };\n },\n X(\n Et,\n _n,\n Ke,\n ue,\n ce,\n ae,\n Pt,\n Ne\n ),\n { singleton: !0 }\n), $n = U(\n ([{ fixedFooterHeight: t, fixedHeaderHeight: e, footerHeight: n, headerHeight: o }, { listState: r }]) => {\n const s = $(), i = ct(\n x(\n rt(n, t, o, e, r),\n E(([l, c, a, f, S]) => l + c + a + f + S.offsetBottom + S.bottom)\n ),\n 0\n );\n return F(A(i), s), { totalListHeight: i, totalListHeightChanged: s };\n },\n X(at, Gt),\n { singleton: !0 }\n), Mo = U(\n ([{ viewportHeight: t }, { totalListHeight: e }]) => {\n const n = v(!1), o = ct(\n x(\n rt(n, t, e),\n P(([r]) => r),\n E(([, r, s]) => Math.max(0, r - s)),\n Lt(0),\n Y()\n ),\n 0\n );\n return { alignToBottom: n, paddingTopAddition: o };\n },\n X(at, $n),\n { singleton: !0 }\n);\nfunction Sn(t) {\n return t ? t === \"smooth\" ? \"smooth\" : \"auto\" : !1;\n}\nconst Wo = (t, e) => typeof t == \"function\" ? Sn(t(e)) : e && Sn(t), _o = U(\n ([\n { listRefresh: t, totalCount: e },\n { atBottomState: n, isAtBottom: o },\n { scrollToIndex: r },\n { scrolledToInitialItem: s },\n { didMount: i, propsReady: l },\n { log: c },\n { scrollingInProgress: a }\n ]) => {\n const f = v(!1), S = $();\n let p = null;\n function m(I) {\n W(r, {\n align: \"end\",\n behavior: I,\n index: \"LAST\"\n });\n }\n K(\n x(\n rt(x(A(e), jt(1)), i),\n G(A(f), o, s, a),\n E(([[I, C], g, u, T, R]) => {\n let h = C && T, d = \"auto\";\n return h && (d = Wo(g, u || R), h = h && !!d), { followOutputBehavior: d, shouldFollow: h, totalCount: I };\n }),\n P(({ shouldFollow: I }) => I)\n ),\n ({ followOutputBehavior: I, totalCount: C }) => {\n p && (p(), p = null), p = bt(t, () => {\n lt(c)(\"following output to \", { totalCount: C }, ht.DEBUG), m(I), p = null;\n });\n }\n );\n function w(I) {\n const C = bt(n, (g) => {\n I && !g.atBottom && g.notAtBottomBecause === \"SIZE_INCREASED\" && !p && (lt(c)(\"scrolling to bottom due to increased size\", {}, ht.DEBUG), m(\"auto\"));\n });\n setTimeout(C, 100);\n }\n return K(\n x(\n rt(A(f), e, l),\n P(([I, , C]) => I && C),\n Rt(\n ({ value: I }, [, C]) => ({ refreshed: I === C, value: C }),\n { refreshed: !1, value: 0 }\n ),\n P(({ refreshed: I }) => I),\n G(f, e)\n ),\n ([, I]) => {\n lt(s) && w(I !== !1);\n }\n ), K(S, () => {\n w(lt(f) !== !1);\n }), K(rt(A(f), n), ([I, C]) => {\n I && !C.atBottom && C.notAtBottomBecause === \"VIEWPORT_HEIGHT_DECREASING\" && m(\"auto\");\n }), { autoscrollToBottom: S, followOutput: f };\n },\n X(Et, ae, ce, ue, Pt, Vt, at)\n), Go = U(\n ([{ data: t, firstItemIndex: e, gap: n, sizes: o }, { initialTopMostItemIndex: r }, { initialItemCount: s, listState: i }, { didMount: l }]) => (F(\n x(\n l,\n G(s),\n P(([, c]) => c !== 0),\n G(r, o, e, n, t),\n E(([[, c], a, f, S, p, m = []]) => Dn(c, a, f, S, p, m))\n ),\n i\n ), {}),\n X(Et, ue, Gt, Pt),\n { singleton: !0 }\n), No = U(\n ([{ didMount: t }, { scrollTo: e }, { listState: n }]) => {\n const o = v(0);\n return K(\n x(\n t,\n G(o),\n P(([, r]) => r !== 0),\n E(([, r]) => ({ top: r }))\n ),\n (r) => {\n bt(\n x(\n n,\n jt(1),\n P((s) => s.items.length > 1)\n ),\n () => {\n requestAnimationFrame(() => {\n W(e, r);\n });\n }\n );\n }\n ), {\n initialScrollTop: o\n };\n },\n X(Pt, at, Gt),\n { singleton: !0 }\n), Do = ({\n itemBottom: t,\n itemTop: e,\n locationParams: { align: n, behavior: o, ...r },\n viewportBottom: s,\n viewportTop: i\n}) => e < i ? { ...r, align: n != null ? n : \"start\", behavior: o } : t > s ? { ...r, align: n != null ? n : \"end\", behavior: o } : null, $o = U(\n ([\n { gap: t, sizes: e, totalCount: n },\n { fixedFooterHeight: o, fixedHeaderHeight: r, headerHeight: s, scrollingInProgress: i, scrollTop: l, viewportHeight: c },\n { scrollToIndex: a }\n ]) => {\n const f = $();\n return F(\n x(\n f,\n G(e, c, n, s, r, o, l),\n G(t),\n E(([[S, p, m, w, I, C, g, u], T]) => {\n const { align: R, behavior: h, calculateViewLocation: d = Do, done: b, ...k } = S, O = Wn(S, p, w - 1), L = ie(O, p.offsetTree, T) + I + C, V = L + Ct(p.sizeTree, O)[1], D = u + C, J = u + m - g, nt = d({\n itemBottom: V,\n itemTop: L,\n locationParams: { align: R, behavior: h, ...k },\n viewportBottom: J,\n viewportTop: D\n });\n return nt ? b && bt(\n x(\n i,\n P((B) => !B),\n // skips the initial publish of false, and the cleanup call.\n // but if scrollingInProgress is true, we skip the initial publish.\n jt(lt(i) ? 1 : 2)\n ),\n b\n ) : b && b(), nt;\n }),\n P((S) => S !== null)\n ),\n a\n ), {\n scrollIntoView: f\n };\n },\n X(Et, at, ce, Gt, Vt),\n { singleton: !0 }\n), Un = U(\n ([{ scrollVelocity: t }]) => {\n const e = v(!1), n = $(), o = v(!1);\n return F(\n x(\n t,\n G(o, e, n),\n P(([r, s]) => !!s),\n E(([r, s, i, l]) => {\n const { enter: c, exit: a } = s;\n if (i) {\n if (a(r, l))\n return !1;\n } else if (c(r, l))\n return !0;\n return i;\n }),\n Y()\n ),\n e\n ), K(\n x(rt(e, t, n), G(o)),\n ([[r, s, i], l]) => {\n r && l && l.change && l.change(s, i);\n }\n ), { isSeeking: e, scrollSeekConfiguration: o, scrollSeekRangeChanged: n, scrollVelocity: t };\n },\n X(ae),\n { singleton: !0 }\n), je = U(([{ scrollContainerState: t, scrollTo: e }]) => {\n const n = $(), o = $(), r = $(), s = v(!1), i = v(void 0);\n return F(\n x(\n rt(n, o),\n E(([{ scrollHeight: l, scrollTop: c, viewportHeight: a }, { offsetTop: f }]) => ({\n scrollHeight: l,\n scrollTop: Math.max(0, c - f),\n viewportHeight: a\n }))\n ),\n t\n ), F(\n x(\n e,\n G(o),\n E(([l, { offsetTop: c }]) => ({\n ...l,\n top: l.top + c\n }))\n ),\n r\n ), {\n customScrollParent: i,\n // config\n useWindowScroll: s,\n // input\n windowScrollContainerState: n,\n // signals\n windowScrollTo: r,\n windowViewportRect: o\n };\n}, X(at)), Uo = U(\n ([\n { sizeRanges: t, sizes: e },\n { headerHeight: n, scrollTop: o },\n { initialTopMostItemIndex: r },\n { didMount: s },\n { useWindowScroll: i, windowScrollContainerState: l, windowViewportRect: c }\n ]) => {\n const a = $(), f = v(void 0), S = v(null), p = v(null);\n return F(l, S), F(c, p), K(\n x(\n a,\n G(e, o, i, S, p, n)\n ),\n ([m, w, I, C, g, u, T]) => {\n const R = Ho(w.sizeTree);\n C && g !== null && u !== null && (I = g.scrollTop - u.offsetTop), I -= T, m({ ranges: R, scrollTop: I });\n }\n ), F(x(f, P(Me), E(Ko)), r), F(\n x(\n s,\n G(f),\n P(([, m]) => m !== void 0),\n Y(),\n E(([, m]) => m.ranges)\n ),\n t\n ), {\n getState: a,\n restoreStateFrom: f\n };\n },\n X(Et, at, ue, Pt, je)\n);\nfunction Ko(t) {\n return { align: \"start\", index: 0, offset: t.scrollTop };\n}\nconst jo = U(([{ topItemsIndexes: t }]) => {\n const e = v(0);\n return F(\n x(\n e,\n P((n) => n >= 0),\n E((n) => Array.from({ length: n }).map((o, r) => r))\n ),\n t\n ), { topItemCount: e };\n}, X(Gt));\nfunction Kn(t) {\n let e = !1, n;\n return () => (e || (e = !0, n = t()), n);\n}\nconst qo = Kn(() => /iP(ad|od|hone)/i.test(navigator.userAgent) && /WebKit/i.test(navigator.userAgent)), Yo = U(\n ([\n { deviation: t, scrollBy: e, scrollingInProgress: n, scrollTop: o },\n { isAtBottom: r, isScrolling: s, lastJumpDueToItemResize: i, scrollDirection: l },\n { listState: c },\n { beforeUnshiftWith: a, gap: f, shiftWithOffset: S, sizes: p },\n { log: m },\n { recalcInProgress: w }\n ]) => {\n const I = pt(\n x(\n c,\n G(i),\n Rt(\n ([, g, u, T], [{ bottom: R, items: h, offsetBottom: d, totalCount: b }, k]) => {\n const O = R + d;\n let L = 0;\n return u === b && g.length > 0 && h.length > 0 && (h[0].originalIndex === 0 && g[0].originalIndex === 0 || (L = O - T, L !== 0 && (L += k))), [L, h, b, O];\n },\n [0, [], 0, 0]\n ),\n P(([g]) => g !== 0),\n G(o, l, n, r, m, w),\n P(([, g, u, T, , , R]) => !R && !T && g !== 0 && u === le),\n E(([[g], , , , , u]) => (u(\"Upward scrolling compensation\", { amount: g }, ht.DEBUG), g))\n )\n );\n function C(g) {\n g > 0 ? (W(e, { behavior: \"auto\", top: -g }), W(t, 0)) : (W(t, 0), W(e, { behavior: \"auto\", top: -g }));\n }\n return K(x(I, G(t, s)), ([g, u, T]) => {\n T && qo() ? W(t, u - g) : C(-g);\n }), K(\n x(\n rt(ct(s, !1), t, w),\n P(([g, u, T]) => !g && !T && u !== 0),\n E(([g, u]) => u),\n Lt(1)\n ),\n C\n ), F(\n x(\n S,\n E((g) => ({ top: -g }))\n ),\n e\n ), K(\n x(\n a,\n G(p, f),\n E(([g, { groupIndices: u, lastSize: T, sizeTree: R }, h]) => {\n function d(b) {\n return b * (T + h);\n }\n if (u.length === 0)\n return d(g);\n {\n let b = 0;\n const k = re(R, 0);\n let O = 0, L = 0;\n for (; O < g; ) {\n O++, b += k;\n let V = u.length === L + 1 ? 1 / 0 : u[L + 1] - u[L] - 1;\n O + V > g && (b -= k, V = g - O + 1), O += V, b += d(V), L++;\n }\n return b;\n }\n })\n ),\n (g) => {\n W(t, g), requestAnimationFrame(() => {\n W(e, { top: g }), requestAnimationFrame(() => {\n W(t, 0), W(w, !1);\n });\n });\n }\n ), { deviation: t };\n },\n X(at, ae, Gt, Et, Vt, Ne)\n), Zo = U(\n ([\n t,\n e,\n n,\n o,\n r,\n s,\n i,\n l,\n c,\n a\n ]) => ({\n ...t,\n ...e,\n ...n,\n ...o,\n ...r,\n ...s,\n ...i,\n ...l,\n ...c,\n ...a\n }),\n X(\n Ke,\n Go,\n Pt,\n Un,\n $n,\n No,\n Mo,\n je,\n $o,\n Vt\n )\n), jn = U(\n ([\n {\n data: t,\n defaultItemSize: e,\n firstItemIndex: n,\n fixedItemSize: o,\n gap: r,\n groupIndices: s,\n itemSize: i,\n sizeRanges: l,\n sizes: c,\n statefulTotalCount: a,\n totalCount: f,\n trackItemSizes: S\n },\n { initialItemFinalLocationReached: p, initialTopMostItemIndex: m, scrolledToInitialItem: w },\n I,\n C,\n g,\n { listState: u, topItemsIndexes: T, ...R },\n { scrollToIndex: h },\n d,\n { topItemCount: b },\n { groupCounts: k },\n O\n ]) => (F(R.rangeChanged, O.scrollSeekRangeChanged), F(\n x(\n O.windowViewportRect,\n E((L) => L.visibleHeight)\n ),\n I.viewportHeight\n ), {\n data: t,\n defaultItemHeight: e,\n firstItemIndex: n,\n fixedItemHeight: o,\n gap: r,\n groupCounts: k,\n initialItemFinalLocationReached: p,\n initialTopMostItemIndex: m,\n scrolledToInitialItem: w,\n sizeRanges: l,\n topItemCount: b,\n topItemsIndexes: T,\n // input\n totalCount: f,\n ...g,\n groupIndices: s,\n itemSize: i,\n listState: u,\n scrollToIndex: h,\n // output\n statefulTotalCount: a,\n trackItemSizes: S,\n // exported from stateFlagsSystem\n ...R,\n // the bag of IO from featureGroup1System\n ...O,\n ...I,\n sizes: c,\n ...C\n }),\n X(\n Et,\n ue,\n at,\n Uo,\n _o,\n Gt,\n ce,\n Yo,\n jo,\n _n,\n Zo\n )\n);\nfunction Xo(t, e) {\n const n = {}, o = {};\n let r = 0;\n const s = t.length;\n for (; r < s; )\n o[t[r]] = 1, r += 1;\n for (const i in e)\n Object.hasOwn(o, i) || (n[i] = e[i]);\n return n;\n}\nconst pe = typeof document < \"u\" ? H.useLayoutEffect : H.useEffect;\nfunction qe(t, e, n) {\n const o = Object.keys(e.required || {}), r = Object.keys(e.optional || {}), s = Object.keys(e.methods || {}), i = Object.keys(e.events || {}), l = H.createContext({});\n function c(g, u) {\n g.propsReady && W(g.propsReady, !1);\n for (const T of o) {\n const R = g[e.required[T]];\n W(R, u[T]);\n }\n for (const T of r)\n if (T in u) {\n const R = g[e.optional[T]];\n W(R, u[T]);\n }\n g.propsReady && W(g.propsReady, !0);\n }\n function a(g) {\n return s.reduce((u, T) => (u[T] = (R) => {\n const h = g[e.methods[T]];\n W(h, R);\n }, u), {});\n }\n function f(g) {\n return i.reduce((u, T) => (u[T] = mo(g[e.events[T]]), u), {});\n }\n const S = H.forwardRef((g, u) => {\n const { children: T, ...R } = g, [h] = H.useState(() => ve(ho(t), (k) => {\n c(k, R);\n })), [d] = H.useState(cn(f, h));\n pe(() => {\n for (const k of i)\n k in R && K(d[k], R[k]);\n return () => {\n Object.values(d).map(We);\n };\n }, [R, d, h]), pe(() => {\n c(h, R);\n }), H.useImperativeHandle(u, ln(a(h)));\n const b = n;\n return /* @__PURE__ */ z(l.Provider, { value: h, children: n ? /* @__PURE__ */ z(b, { ...Xo([...o, ...r, ...i], R), children: T }) : T });\n }), p = (g) => {\n const u = H.useContext(l);\n return H.useCallback(\n (T) => {\n W(u[g], T);\n },\n [u, g]\n );\n }, m = (g) => {\n const T = H.useContext(l)[g], R = H.useCallback(\n (h) => K(T, h),\n [T]\n );\n return H.useSyncExternalStore(\n R,\n () => lt(T),\n () => lt(T)\n );\n }, w = (g) => {\n const T = H.useContext(l)[g], [R, h] = H.useState(cn(lt, T));\n return pe(\n () => K(T, (d) => {\n d !== R && h(ln(d));\n }),\n [T, R]\n ), R;\n }, I = H.version.startsWith(\"18\") ? m : w;\n return {\n Component: S,\n useEmitter: (g, u) => {\n const R = H.useContext(l)[g];\n pe(() => K(R, u), [u, R]);\n },\n useEmitterValue: I,\n usePublisher: p\n };\n}\nconst be = H.createContext(void 0), qn = H.createContext(void 0), Yn = typeof document < \"u\" ? H.useLayoutEffect : H.useEffect;\nfunction ke(t) {\n return \"self\" in t;\n}\nfunction Jo(t) {\n return \"body\" in t;\n}\nfunction Zn(t, e, n, o = Yt, r, s) {\n const i = H.useRef(null), l = H.useRef(null), c = H.useRef(null), a = H.useCallback(\n (p) => {\n let m, w, I;\n const C = p.target;\n if (Jo(C) || ke(C)) {\n const u = ke(C) ? C : C.defaultView;\n I = s ? u.scrollX : u.scrollY, m = s ? u.document.documentElement.scrollWidth : u.document.documentElement.scrollHeight, w = s ? u.innerWidth : u.innerHeight;\n } else\n I = s ? C.scrollLeft : C.scrollTop, m = s ? C.scrollWidth : C.scrollHeight, w = s ? C.offsetWidth : C.offsetHeight;\n const g = () => {\n t({\n scrollHeight: m,\n scrollTop: Math.max(I, 0),\n viewportHeight: w\n });\n };\n p.suppressFlushSync ? g() : io.flushSync(g), l.current !== null && (I === l.current || I <= 0 || I === m - w) && (l.current = null, e(!0), c.current && (clearTimeout(c.current), c.current = null));\n },\n [t, e, s]\n );\n H.useEffect(() => {\n const p = r || i.current;\n return o(r || i.current), a({ suppressFlushSync: !0, target: p }), p.addEventListener(\"scroll\", a, { passive: !0 }), () => {\n o(null), p.removeEventListener(\"scroll\", a);\n };\n }, [i, a, n, o, r]);\n function f(p) {\n const m = i.current;\n if (!m || (s ? \"offsetWidth\" in m && m.offsetWidth === 0 : \"offsetHeight\" in m && m.offsetHeight === 0))\n return;\n const w = p.behavior === \"smooth\";\n let I, C, g;\n ke(m) ? (C = Math.max(\n wt(m.document.documentElement, s ? \"width\" : \"height\"),\n s ? m.document.documentElement.scrollWidth : m.document.documentElement.scrollHeight\n ), I = s ? m.innerWidth : m.innerHeight, g = s ? window.scrollX : window.scrollY) : (C = m[s ? \"scrollWidth\" : \"scrollHeight\"], I = wt(m, s ? \"width\" : \"height\"), g = m[s ? \"scrollLeft\" : \"scrollTop\"]);\n const u = C - I;\n if (p.top = Math.ceil(Math.max(Math.min(u, p.top), 0)), Nn(I, C) || p.top === g) {\n t({ scrollHeight: C, scrollTop: g, viewportHeight: I }), w && e(!0);\n return;\n }\n w ? (l.current = p.top, c.current && clearTimeout(c.current), c.current = setTimeout(() => {\n c.current = null, l.current = null, e(!0);\n }, 1e3)) : l.current = null, s && (p = { behavior: p.behavior, left: p.top }), m.scrollTo(p);\n }\n function S(p) {\n s && (p = { behavior: p.behavior, left: p.top }), i.current.scrollBy(p);\n }\n return { scrollByCallback: S, scrollerRef: i, scrollToCallback: f };\n}\nconst Oe = \"-webkit-sticky\", xn = \"sticky\", Xn = Kn(() => {\n if (typeof document > \"u\")\n return xn;\n const t = document.createElement(\"div\");\n return t.style.position = Oe, t.style.position === Oe ? Oe : xn;\n});\nfunction Ye(t) {\n return t;\n}\nconst Qo = /* @__PURE__ */ U(() => {\n const t = v((c) => `Item ${c}`), e = v(null), n = v((c) => `Group ${c}`), o = v({}), r = v(Ye), s = v(\"div\"), i = v(Yt), l = (c, a = null) => ct(\n x(\n o,\n E((f) => f[c]),\n Y()\n ),\n a\n );\n return {\n components: o,\n computeItemKey: r,\n context: e,\n EmptyPlaceholder: l(\"EmptyPlaceholder\"),\n FooterComponent: l(\"Footer\"),\n GroupComponent: l(\"Group\", \"div\"),\n groupContent: n,\n HeaderComponent: l(\"Header\"),\n HeaderFooterTag: s,\n ItemComponent: l(\"Item\", \"div\"),\n itemContent: t,\n ListComponent: l(\"List\", \"div\"),\n ScrollerComponent: l(\"Scroller\", \"div\"),\n scrollerRef: i,\n ScrollSeekPlaceholder: l(\"ScrollSeekPlaceholder\"),\n TopItemListComponent: l(\"TopItemList\")\n };\n}), tr = /* @__PURE__ */ U(\n ([t, e]) => ({ ...t, ...e }),\n X(jn, Qo)\n), er = ({ height: t }) => /* @__PURE__ */ z(\"div\", { style: { height: t } }), nr = { overflowAnchor: \"none\", position: Xn(), zIndex: 1 }, Jn = { overflowAnchor: \"none\" }, or = { ...Jn, display: \"inline-block\", height: \"100%\" }, Tn = /* @__PURE__ */ H.memo(function({ showTopList: e = !1 }) {\n const n = M(\"listState\"), o = gt(\"sizeRanges\"), r = M(\"useWindowScroll\"), s = M(\"customScrollParent\"), i = gt(\"windowScrollContainerState\"), l = gt(\"scrollContainerState\"), c = s || r ? i : l, a = M(\"itemContent\"), f = M(\"context\"), S = M(\"groupContent\"), p = M(\"trackItemSizes\"), m = M(\"itemSize\"), w = M(\"log\"), I = gt(\"gap\"), C = M(\"horizontalDirection\"), { callbackRef: g } = kn(\n o,\n m,\n p,\n e ? Yt : c,\n w,\n I,\n s,\n C,\n M(\"skipAnimationFrameInResizeObserver\")\n ), [u, T] = H.useState(0);\n Je(\"deviation\", (B) => {\n u !== B && T(B);\n });\n const R = M(\"EmptyPlaceholder\"), h = M(\"ScrollSeekPlaceholder\") || er, d = M(\"ListComponent\"), b = M(\"ItemComponent\"), k = M(\"GroupComponent\"), O = M(\"computeItemKey\"), L = M(\"isSeeking\"), V = M(\"groupIndices\").length > 0, D = M(\"alignToBottom\"), J = M(\"initialItemFinalLocationReached\"), nt = e ? {} : {\n boxSizing: \"border-box\",\n ...C ? {\n display: \"inline-block\",\n height: \"100%\",\n marginLeft: u !== 0 ? u : D ? \"auto\" : 0,\n paddingLeft: n.offsetTop,\n paddingRight: n.offsetBottom,\n whiteSpace: \"nowrap\"\n } : {\n marginTop: u !== 0 ? u : D ? \"auto\" : 0,\n paddingBottom: n.offsetBottom,\n paddingTop: n.offsetTop\n },\n ...J ? {} : { visibility: \"hidden\" }\n };\n return !e && n.totalCount === 0 && R ? /* @__PURE__ */ z(R, { ...Z(R, f) }) : /* @__PURE__ */ z(\n d,\n {\n ...Z(d, f),\n \"data-testid\": e ? \"virtuoso-top-item-list\" : \"virtuoso-item-list\",\n ref: g,\n style: nt,\n children: (e ? n.topItems : n.items).map((B) => {\n const q = B.originalIndex, st = O(q + n.firstItemIndex, B.data, f);\n return L ? /* @__PURE__ */ $t(\n h,\n {\n ...Z(h, f),\n height: B.size,\n index: B.index,\n key: st,\n type: B.type || \"item\",\n ...B.type === \"group\" ? {} : { groupIndex: B.groupIndex }\n }\n ) : B.type === \"group\" ? /* @__PURE__ */ $t(\n k,\n {\n ...Z(k, f),\n \"data-index\": q,\n \"data-item-index\": B.index,\n \"data-known-size\": B.size,\n key: st,\n style: nr\n },\n S(B.index, f)\n ) : /* @__PURE__ */ $t(\n b,\n {\n ...Z(b, f),\n ...Qn(b, B.data),\n \"data-index\": q,\n \"data-item-group-index\": B.groupIndex,\n \"data-item-index\": B.index,\n \"data-known-size\": B.size,\n key: st,\n style: C ? or : Jn\n },\n V ? a(B.index, B.groupIndex, B.data, f) : a(B.index, B.data, f)\n );\n })\n }\n );\n}), rr = {\n height: \"100%\",\n outline: \"none\",\n overflowY: \"auto\",\n position: \"relative\",\n WebkitOverflowScrolling: \"touch\"\n}, sr = {\n outline: \"none\",\n overflowX: \"auto\",\n position: \"relative\"\n}, Zt = (t) => ({\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n width: \"100%\",\n ...t ? { display: \"flex\", flexDirection: \"column\" } : {}\n}), ir = {\n position: Xn(),\n top: 0,\n width: \"100%\",\n zIndex: 1\n};\nfunction Z(t, e) {\n if (typeof t != \"string\")\n return { context: e };\n}\nfunction Qn(t, e) {\n return { item: typeof t == \"string\" ? void 0 : e };\n}\nconst lr = /* @__PURE__ */ H.memo(function() {\n const e = M(\"HeaderComponent\"), n = gt(\"headerHeight\"), o = M(\"HeaderFooterTag\"), r = Ht(\n H.useMemo(\n () => (i) => {\n n(wt(i, \"height\"));\n },\n [n]\n ),\n !0,\n M(\"skipAnimationFrameInResizeObserver\")\n ), s = M(\"context\");\n return e ? /* @__PURE__ */ z(o, { ref: r, children: /* @__PURE__ */ z(e, { ...Z(e, s) }) }) : null;\n}), cr = /* @__PURE__ */ H.memo(function() {\n const e = M(\"FooterComponent\"), n = gt(\"footerHeight\"), o = M(\"HeaderFooterTag\"), r = Ht(\n H.useMemo(\n () => (i) => {\n n(wt(i, \"height\"));\n },\n [n]\n ),\n !0,\n M(\"skipAnimationFrameInResizeObserver\")\n ), s = M(\"context\");\n return e ? /* @__PURE__ */ z(o, { ref: r, children: /* @__PURE__ */ z(e, { ...Z(e, s) }) }) : null;\n});\nfunction Ze({ useEmitter: t, useEmitterValue: e, usePublisher: n }) {\n return H.memo(function({ children: s, style: i, ...l }) {\n const c = n(\"scrollContainerState\"), a = e(\"ScrollerComponent\"), f = n(\"smoothScrollTargetReached\"), S = e(\"scrollerRef\"), p = e(\"context\"), m = e(\"horizontalDirection\") || !1, { scrollByCallback: w, scrollerRef: I, scrollToCallback: C } = Zn(\n c,\n f,\n a,\n S,\n void 0,\n m\n );\n return t(\"scrollTo\", C), t(\"scrollBy\", w), /* @__PURE__ */ z(\n a,\n {\n \"data-testid\": \"virtuoso-scroller\",\n \"data-virtuoso-scroller\": !0,\n ref: I,\n style: { ...m ? sr : rr, ...i },\n tabIndex: 0,\n ...l,\n ...Z(a, p),\n children: s\n }\n );\n });\n}\nfunction Xe({ useEmitter: t, useEmitterValue: e, usePublisher: n }) {\n return H.memo(function({ children: s, style: i, ...l }) {\n const c = n(\"windowScrollContainerState\"), a = e(\"ScrollerComponent\"), f = n(\"smoothScrollTargetReached\"), S = e(\"totalListHeight\"), p = e(\"deviation\"), m = e(\"customScrollParent\"), w = e(\"context\"), I = H.useRef(null), C = e(\"scrollerRef\"), { scrollByCallback: g, scrollerRef: u, scrollToCallback: T } = Zn(\n c,\n f,\n a,\n C,\n m\n );\n return Yn(() => {\n var R;\n return u.current = m || ((R = I.current) == null ? void 0 : R.ownerDocument.defaultView), () => {\n u.current = null;\n };\n }, [u, m]), t(\"windowScrollTo\", T), t(\"scrollBy\", g), /* @__PURE__ */ z(\n a,\n {\n ref: I,\n \"data-virtuoso-scroller\": !0,\n style: { position: \"relative\", ...i, ...S !== 0 ? { height: S + p } : {} },\n ...l,\n ...Z(a, w),\n children: s\n }\n );\n });\n}\nconst ur = ({ children: t }) => {\n const e = H.useContext(be), n = gt(\"viewportHeight\"), o = gt(\"fixedItemHeight\"), r = M(\"alignToBottom\"), s = M(\"horizontalDirection\"), i = H.useMemo(\n () => ne(n, (c) => wt(c, s ? \"width\" : \"height\")),\n [n, s]\n ), l = Ht(i, !0, M(\"skipAnimationFrameInResizeObserver\"));\n return H.useEffect(() => {\n e && (n(e.viewportHeight), o(e.itemHeight));\n }, [e, n, o]), /* @__PURE__ */ z(\"div\", { \"data-viewport-type\": \"element\", ref: l, style: Zt(r), children: t });\n}, ar = ({ children: t }) => {\n const e = H.useContext(be), n = gt(\"windowViewportRect\"), o = gt(\"fixedItemHeight\"), r = M(\"customScrollParent\"), s = Ge(\n n,\n r,\n M(\"skipAnimationFrameInResizeObserver\")\n ), i = M(\"alignToBottom\");\n return H.useEffect(() => {\n e && (o(e.itemHeight), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: 100 }));\n }, [e, n, o]), /* @__PURE__ */ z(\"div\", { \"data-viewport-type\": \"window\", ref: s, style: Zt(i), children: t });\n}, dr = ({ children: t }) => {\n const e = M(\"TopItemListComponent\") || \"div\", n = M(\"headerHeight\"), o = { ...ir, marginTop: `${n}px` }, r = M(\"context\");\n return /* @__PURE__ */ z(e, { style: o, ...Z(e, r), children: t });\n}, fr = /* @__PURE__ */ H.memo(function(e) {\n const n = M(\"useWindowScroll\"), o = M(\"topItemsIndexes\").length > 0, r = M(\"customScrollParent\"), s = M(\"context\"), i = r || n ? pr : mr, l = r || n ? ar : ur;\n return /* @__PURE__ */ Kt(i, { ...e, ...Z(i, s), children: [\n o && /* @__PURE__ */ z(dr, { children: /* @__PURE__ */ z(Tn, { showTopList: !0 }) }),\n /* @__PURE__ */ Kt(l, { children: [\n /* @__PURE__ */ z(lr, {}),\n /* @__PURE__ */ z(Tn, {}),\n /* @__PURE__ */ z(cr, {})\n ] })\n ] });\n}), {\n Component: to,\n useEmitter: Je,\n useEmitterValue: M,\n usePublisher: gt\n} = /* @__PURE__ */ qe(\n tr,\n {\n required: {},\n optional: {\n restoreStateFrom: \"restoreStateFrom\",\n context: \"context\",\n followOutput: \"followOutput\",\n itemContent: \"itemContent\",\n groupContent: \"groupContent\",\n overscan: \"overscan\",\n increaseViewportBy: \"increaseViewportBy\",\n totalCount: \"totalCount\",\n groupCounts: \"groupCounts\",\n topItemCount: \"topItemCount\",\n firstItemIndex: \"firstItemIndex\",\n initialTopMostItemIndex: \"initialTopMostItemIndex\",\n components: \"components\",\n atBottomThreshold: \"atBottomThreshold\",\n atTopThreshold: \"atTopThreshold\",\n computeItemKey: \"computeItemKey\",\n defaultItemHeight: \"defaultItemHeight\",\n fixedItemHeight: \"fixedItemHeight\",\n itemSize: \"itemSize\",\n scrollSeekConfiguration: \"scrollSeekConfiguration\",\n headerFooterTag: \"HeaderFooterTag\",\n data: \"data\",\n initialItemCount: \"initialItemCount\",\n initialScrollTop: \"initialScrollTop\",\n alignToBottom: \"alignToBottom\",\n useWindowScroll: \"useWindowScroll\",\n customScrollParent: \"customScrollParent\",\n scrollerRef: \"scrollerRef\",\n logLevel: \"logLevel\",\n horizontalDirection: \"horizontalDirection\",\n skipAnimationFrameInResizeObserver: \"skipAnimationFrameInResizeObserver\"\n },\n methods: {\n scrollToIndex: \"scrollToIndex\",\n scrollIntoView: \"scrollIntoView\",\n scrollTo: \"scrollTo\",\n scrollBy: \"scrollBy\",\n autoscrollToBottom: \"autoscrollToBottom\",\n getState: \"getState\"\n },\n events: {\n isScrolling: \"isScrolling\",\n endReached: \"endReached\",\n startReached: \"startReached\",\n rangeChanged: \"rangeChanged\",\n atBottomStateChange: \"atBottomStateChange\",\n atTopStateChange: \"atTopStateChange\",\n totalListHeightChanged: \"totalListHeightChanged\",\n itemsRendered: \"itemsRendered\",\n groupIndices: \"groupIndices\"\n }\n },\n fr\n), mr = /* @__PURE__ */ Ze({ useEmitter: Je, useEmitterValue: M, usePublisher: gt }), pr = /* @__PURE__ */ Xe({ useEmitter: Je, useEmitterValue: M, usePublisher: gt }), Kr = to, jr = to, hr = /* @__PURE__ */ U(() => {\n const t = v((c) => /* @__PURE__ */ Kt(\"td\", { children: [\n \"Item $\",\n c\n ] })), e = v(null), n = v(null), o = v(null), r = v({}), s = v(Ye), i = v(Yt), l = (c, a = null) => ct(\n x(\n r,\n E((f) => f[c]),\n Y()\n ),\n a\n );\n return {\n components: r,\n computeItemKey: s,\n context: e,\n EmptyPlaceholder: l(\"EmptyPlaceholder\"),\n FillerRow: l(\"FillerRow\"),\n fixedFooterContent: o,\n fixedHeaderContent: n,\n itemContent: t,\n ScrollerComponent: l(\"Scroller\", \"div\"),\n scrollerRef: i,\n ScrollSeekPlaceholder: l(\"ScrollSeekPlaceholder\"),\n TableBodyComponent: l(\"TableBody\", \"tbody\"),\n TableComponent: l(\"Table\", \"table\"),\n TableFooterComponent: l(\"TableFoot\", \"tfoot\"),\n TableHeadComponent: l(\"TableHead\", \"thead\"),\n TableRowComponent: l(\"TableRow\", \"tr\")\n };\n}), gr = /* @__PURE__ */ U(\n ([t, e]) => ({ ...t, ...e }),\n X(jn, hr)\n), Ir = ({ height: t }) => /* @__PURE__ */ z(\"tr\", { children: /* @__PURE__ */ z(\"td\", { style: { height: t } }) }), Sr = ({ height: t }) => /* @__PURE__ */ z(\"tr\", { children: /* @__PURE__ */ z(\"td\", { style: { border: 0, height: t, padding: 0 } }) }), xr = { overflowAnchor: \"none\" }, Cn = /* @__PURE__ */ H.memo(function({ showTopList: e = !1 }) {\n const n = _(\"listState\"), o = _(\"computeItemKey\"), r = _(\"firstItemIndex\"), s = _(\"isSeeking\"), i = _(\"ScrollSeekPlaceholder\") || Ir, l = _(\"context\"), c = _(\"TableRowComponent\"), a = _(\"fixedHeaderHeight\"), f = _(\"itemContent\"), S = (e ? n.topItems : []).reduce((m, w, I) => (I === 0 ? m.push(w.size) : m.push(m[I - 1] + w.size), m), []), p = (e ? n.topItems : n.items).map((m) => {\n const w = m.originalIndex, I = o(w + r, m.data, l), C = e ? w === 0 ? 0 : S[w - 1] : 0;\n return s ? /* @__PURE__ */ $t(\n i,\n {\n ...Z(i, l),\n height: m.size,\n index: m.index,\n key: I,\n type: m.type || \"item\"\n }\n ) : /* @__PURE__ */ $t(\n c,\n {\n ...Z(c, l),\n ...Qn(c, m.data),\n \"data-index\": w,\n \"data-item-index\": m.index,\n \"data-known-size\": m.size,\n key: I,\n style: e ? { overflowAnchor: \"none\", position: \"sticky\", top: a + C, zIndex: 2 } : xr\n },\n f(m.index, m.data, l)\n );\n });\n return /* @__PURE__ */ z(so, { children: p });\n}), Tr = /* @__PURE__ */ H.memo(function() {\n const e = _(\"listState\"), n = _(\"topItemsIndexes\").length > 0, o = Tt(\"sizeRanges\"), r = _(\"useWindowScroll\"), s = _(\"customScrollParent\"), i = Tt(\"windowScrollContainerState\"), l = Tt(\"scrollContainerState\"), c = s || r ? i : l, a = _(\"trackItemSizes\"), f = _(\"itemSize\"), S = _(\"log\"), { callbackRef: p, ref: m } = kn(\n o,\n f,\n a,\n c,\n S,\n void 0,\n s,\n !1,\n _(\"skipAnimationFrameInResizeObserver\")\n ), [w, I] = H.useState(0);\n Qe(\"deviation\", (V) => {\n w !== V && (m.current.style.marginTop = `${V}px`, I(V));\n });\n const C = _(\"EmptyPlaceholder\"), g = _(\"FillerRow\") || Sr, u = _(\"TableBodyComponent\"), T = _(\"paddingTopAddition\"), R = _(\"statefulTotalCount\"), h = _(\"context\");\n if (R === 0 && C)\n return /* @__PURE__ */ z(C, { ...Z(C, h) });\n const d = (n ? e.topItems : []).reduce((V, D) => V + D.size, 0), b = e.offsetTop + T + w - d, k = e.offsetBottom, O = b > 0 ? /* @__PURE__ */ z(g, { context: h, height: b }, \"padding-top\") : null, L = k > 0 ? /* @__PURE__ */ z(g, { context: h, height: k }, \"padding-bottom\") : null;\n return /* @__PURE__ */ Kt(u, { \"data-testid\": \"virtuoso-item-list\", ref: p, ...Z(u, h), children: [\n O,\n n && /* @__PURE__ */ z(Cn, { showTopList: !0 }),\n /* @__PURE__ */ z(Cn, {}),\n L\n ] });\n}), Cr = ({ children: t }) => {\n const e = H.useContext(be), n = Tt(\"viewportHeight\"), o = Tt(\"fixedItemHeight\"), r = Ht(\n H.useMemo(() => ne(n, (s) => wt(s, \"height\")), [n]),\n !0,\n _(\"skipAnimationFrameInResizeObserver\")\n );\n return H.useEffect(() => {\n e && (n(e.viewportHeight), o(e.itemHeight));\n }, [e, n, o]), /* @__PURE__ */ z(\"div\", { \"data-viewport-type\": \"element\", ref: r, style: Zt(!1), children: t });\n}, wr = ({ children: t }) => {\n const e = H.useContext(be), n = Tt(\"windowViewportRect\"), o = Tt(\"fixedItemHeight\"), r = _(\"customScrollParent\"), s = Ge(\n n,\n r,\n _(\"skipAnimationFrameInResizeObserver\")\n );\n return H.useEffect(() => {\n e && (o(e.itemHeight), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: 100 }));\n }, [e, n, o]), /* @__PURE__ */ z(\"div\", { \"data-viewport-type\": \"window\", ref: s, style: Zt(!1), children: t });\n}, vr = /* @__PURE__ */ H.memo(function(e) {\n const n = _(\"useWindowScroll\"), o = _(\"customScrollParent\"), r = Tt(\"fixedHeaderHeight\"), s = Tt(\"fixedFooterHeight\"), i = _(\"fixedHeaderContent\"), l = _(\"fixedFooterContent\"), c = _(\"context\"), a = Ht(\n H.useMemo(() => ne(r, (u) => wt(u, \"height\")), [r]),\n !0,\n _(\"skipAnimationFrameInResizeObserver\")\n ), f = Ht(\n H.useMemo(() => ne(s, (u) => wt(u, \"height\")), [s]),\n !0,\n _(\"skipAnimationFrameInResizeObserver\")\n ), S = o || n ? br : Rr, p = o || n ? wr : Cr, m = _(\"TableComponent\"), w = _(\"TableHeadComponent\"), I = _(\"TableFooterComponent\"), C = i ? /* @__PURE__ */ z(\n w,\n {\n ref: a,\n style: { position: \"sticky\", top: 0, zIndex: 2 },\n ...Z(w, c),\n children: i()\n },\n \"TableHead\"\n ) : null, g = l ? /* @__PURE__ */ z(\n I,\n {\n ref: f,\n style: { bottom: 0, position: \"sticky\", zIndex: 1 },\n ...Z(I, c),\n children: l()\n },\n \"TableFoot\"\n ) : null;\n return /* @__PURE__ */ z(S, { ...e, ...Z(S, c), children: /* @__PURE__ */ z(p, { children: /* @__PURE__ */ Kt(m, { style: { borderSpacing: 0, overflowAnchor: \"none\" }, ...Z(m, c), children: [\n C,\n /* @__PURE__ */ z(Tr, {}, \"TableBody\"),\n g\n ] }) }) });\n}), {\n Component: yr,\n useEmitter: Qe,\n useEmitterValue: _,\n usePublisher: Tt\n} = /* @__PURE__ */ qe(\n gr,\n {\n required: {},\n optional: {\n restoreStateFrom: \"restoreStateFrom\",\n context: \"context\",\n followOutput: \"followOutput\",\n firstItemIndex: \"firstItemIndex\",\n itemContent: \"itemContent\",\n fixedHeaderContent: \"fixedHeaderContent\",\n fixedFooterContent: \"fixedFooterContent\",\n overscan: \"overscan\",\n increaseViewportBy: \"increaseViewportBy\",\n totalCount: \"totalCount\",\n topItemCount: \"topItemCount\",\n initialTopMostItemIndex: \"initialTopMostItemIndex\",\n components: \"components\",\n groupCounts: \"groupCounts\",\n atBottomThreshold: \"atBottomThreshold\",\n atTopThreshold: \"atTopThreshold\",\n computeItemKey: \"computeItemKey\",\n defaultItemHeight: \"defaultItemHeight\",\n fixedItemHeight: \"fixedItemHeight\",\n itemSize: \"itemSize\",\n scrollSeekConfiguration: \"scrollSeekConfiguration\",\n data: \"data\",\n initialItemCount: \"initialItemCount\",\n initialScrollTop: \"initialScrollTop\",\n alignToBottom: \"alignToBottom\",\n useWindowScroll: \"useWindowScroll\",\n customScrollParent: \"customScrollParent\",\n scrollerRef: \"scrollerRef\",\n logLevel: \"logLevel\"\n },\n methods: {\n scrollToIndex: \"scrollToIndex\",\n scrollIntoView: \"scrollIntoView\",\n scrollTo: \"scrollTo\",\n scrollBy: \"scrollBy\",\n getState: \"getState\"\n },\n events: {\n isScrolling: \"isScrolling\",\n endReached: \"endReached\",\n startReached: \"startReached\",\n rangeChanged: \"rangeChanged\",\n atBottomStateChange: \"atBottomStateChange\",\n atTopStateChange: \"atTopStateChange\",\n totalListHeightChanged: \"totalListHeightChanged\",\n itemsRendered: \"itemsRendered\",\n groupIndices: \"groupIndices\"\n }\n },\n vr\n), Rr = /* @__PURE__ */ Ze({ useEmitter: Qe, useEmitterValue: _, usePublisher: Tt }), br = /* @__PURE__ */ Xe({ useEmitter: Qe, useEmitterValue: _, usePublisher: Tt }), qr = yr, wn = {\n bottom: 0,\n itemHeight: 0,\n items: [],\n itemWidth: 0,\n offsetBottom: 0,\n offsetTop: 0,\n top: 0\n}, Hr = {\n bottom: 0,\n itemHeight: 0,\n items: [{ index: 0 }],\n itemWidth: 0,\n offsetBottom: 0,\n offsetTop: 0,\n top: 0\n}, { ceil: vn, floor: Ce, max: ee, min: Fe, round: yn } = Math;\nfunction Rn(t, e, n) {\n return Array.from({ length: e - t + 1 }).map((o, r) => ({ data: n === null ? null : n[r + t], index: r + t }));\n}\nfunction Er(t) {\n return {\n ...Hr,\n items: t\n };\n}\nfunction he(t, e) {\n return t && t.width === e.width && t.height === e.height;\n}\nfunction Br(t, e) {\n return t && t.column === e.column && t.row === e.row;\n}\nconst kr = /* @__PURE__ */ U(\n ([\n { increaseViewportBy: t, listBoundary: e, overscan: n, visibleRange: o },\n { footerHeight: r, headerHeight: s, scrollBy: i, scrollContainerState: l, scrollTo: c, scrollTop: a, smoothScrollTargetReached: f, viewportHeight: S },\n p,\n m,\n { didMount: w, propsReady: I },\n { customScrollParent: C, useWindowScroll: g, windowScrollContainerState: u, windowScrollTo: T, windowViewportRect: R },\n h\n ]) => {\n const d = v(0), b = v(0), k = v(wn), O = v({ height: 0, width: 0 }), L = v({ height: 0, width: 0 }), V = $(), D = $(), J = v(0), nt = v(null), B = v({ column: 0, row: 0 }), q = $(), st = $(), dt = v(!1), St = v(0), ft = v(!0), ut = v(!1), At = v(!1);\n K(\n x(\n w,\n G(St),\n P(([y, N]) => !!N)\n ),\n () => {\n W(ft, !1);\n }\n ), K(\n x(\n rt(w, ft, L, O, St, ut),\n P(([y, N, Q, it, , tt]) => y && !N && Q.height !== 0 && it.height !== 0 && !tt)\n ),\n ([, , , , y]) => {\n W(ut, !0), $e(1, () => {\n W(V, y);\n }), bt(x(a), () => {\n W(e, [0, 0]), W(ft, !0);\n });\n }\n ), F(\n x(\n st,\n P((y) => y != null && y.scrollTop > 0),\n yt(0)\n ),\n b\n ), K(\n x(\n w,\n G(st),\n P(([, y]) => y != null)\n ),\n ([, y]) => {\n y && (W(O, y.viewport), W(L, y.item), W(B, y.gap), y.scrollTop > 0 && (W(dt, !0), bt(x(a, jt(1)), (N) => {\n W(dt, !1);\n }), W(c, { top: y.scrollTop })));\n }\n ), F(\n x(\n O,\n E(({ height: y }) => y)\n ),\n S\n ), F(\n x(\n rt(\n A(O, he),\n A(L, he),\n A(B, (y, N) => y && y.column === N.column && y.row === N.row),\n A(a)\n ),\n E(([y, N, Q, it]) => ({\n gap: Q,\n item: N,\n scrollTop: it,\n viewport: y\n }))\n ),\n q\n ), F(\n x(\n rt(\n A(d),\n o,\n A(B, Br),\n A(L, he),\n A(O, he),\n A(nt),\n A(b),\n A(dt),\n A(ft),\n A(St)\n ),\n P(([, , , , , , , y]) => !y),\n E(\n ([\n y,\n [N, Q],\n it,\n tt,\n kt,\n Jt,\n Nt,\n ,\n de,\n Ot\n ]) => {\n const { column: Ft, row: Qt } = it, { height: fe, width: He } = tt, { width: tn } = kt;\n if (Nt === 0 && (y === 0 || tn === 0))\n return wn;\n if (He === 0) {\n const sn = Ue(Ot, y), ro = sn + Math.max(Nt - 1, 0);\n return Er(Rn(sn, ro, Jt));\n }\n const me = eo(tn, He, Ft);\n let Dt, Wt;\n de ? N === 0 && Q === 0 && Nt > 0 ? (Dt = 0, Wt = Nt - 1) : (Dt = me * Ce((N + Qt) / (fe + Qt)), Wt = me * vn((Q + Qt) / (fe + Qt)) - 1, Wt = Fe(y - 1, ee(Wt, me - 1)), Dt = Fe(Wt, ee(0, Dt))) : (Dt = 0, Wt = -1);\n const en = Rn(Dt, Wt, Jt), { bottom: nn, top: on } = bn(kt, it, tt, en), rn = vn(y / me), oo = rn * fe + (rn - 1) * Qt - nn;\n return { bottom: nn, itemHeight: fe, items: en, itemWidth: He, offsetBottom: oo, offsetTop: on, top: on };\n }\n )\n ),\n k\n ), F(\n x(\n nt,\n P((y) => y !== null),\n E((y) => y.length)\n ),\n d\n ), F(\n x(\n rt(O, L, k, B),\n P(([y, N, { items: Q }]) => Q.length > 0 && N.height !== 0 && y.height !== 0),\n E(([y, N, { items: Q }, it]) => {\n const { bottom: tt, top: kt } = bn(y, it, N, Q);\n return [kt, tt];\n }),\n Y(se)\n ),\n e\n );\n const xt = v(!1);\n F(\n x(\n a,\n G(xt),\n E(([y, N]) => N || y !== 0)\n ),\n xt\n );\n const Xt = pt(\n x(\n rt(k, d),\n P(([{ items: y }]) => y.length > 0),\n G(xt),\n P(([[y, N], Q]) => {\n const tt = y.items[y.items.length - 1].index === N - 1;\n return (Q || y.bottom > 0 && y.itemHeight > 0 && y.offsetBottom === 0 && y.items.length === N) && tt;\n }),\n E(([[, y]]) => y - 1),\n Y()\n )\n ), Mt = pt(\n x(\n A(k),\n P(({ items: y }) => y.length > 0 && y[0].index === 0),\n yt(0),\n Y()\n )\n ), vt = pt(\n x(\n A(k),\n G(dt),\n P(([{ items: y }, N]) => y.length > 0 && !N),\n E(([{ items: y }]) => ({\n endIndex: y[y.length - 1].index,\n startIndex: y[0].index\n })),\n Y(Pn),\n Lt(0)\n )\n );\n F(vt, m.scrollSeekRangeChanged), F(\n x(\n V,\n G(O, L, d, B),\n E(([y, N, Q, it, tt]) => {\n const kt = Gn(y), { align: Jt, behavior: Nt, offset: de } = kt;\n let Ot = kt.index;\n Ot === \"LAST\" && (Ot = it - 1), Ot = ee(0, Ot, Fe(it - 1, Ot));\n let Ft = Ae(N, tt, Q, Ot);\n return Jt === \"end\" ? Ft = yn(Ft - N.height + Q.height) : Jt === \"center\" && (Ft = yn(Ft - N.height / 2 + Q.height / 2)), de && (Ft += de), { behavior: Nt, top: Ft };\n })\n ),\n c\n );\n const Bt = ct(\n x(\n k,\n E((y) => y.offsetBottom + y.bottom)\n ),\n 0\n );\n return F(\n x(\n R,\n E((y) => ({ height: y.visibleHeight, width: y.visibleWidth }))\n ),\n O\n ), {\n customScrollParent: C,\n // input\n data: nt,\n deviation: J,\n footerHeight: r,\n gap: B,\n headerHeight: s,\n increaseViewportBy: t,\n initialItemCount: b,\n itemDimensions: L,\n overscan: n,\n restoreStateFrom: st,\n scrollBy: i,\n scrollContainerState: l,\n scrollHeight: D,\n scrollTo: c,\n scrollToIndex: V,\n scrollTop: a,\n smoothScrollTargetReached: f,\n totalCount: d,\n useWindowScroll: g,\n viewportDimensions: O,\n windowScrollContainerState: u,\n windowScrollTo: T,\n windowViewportRect: R,\n ...m,\n // output\n gridState: k,\n horizontalDirection: At,\n initialTopMostItemIndex: St,\n totalListHeight: Bt,\n ...p,\n endReached: Xt,\n propsReady: I,\n rangeChanged: vt,\n startReached: Mt,\n stateChanged: q,\n stateRestoreInProgress: dt,\n ...h\n };\n },\n X(Ke, at, ae, Un, Pt, je, Vt)\n);\nfunction eo(t, e, n) {\n return ee(1, Ce((t + n) / (Ce(e) + n)));\n}\nfunction bn(t, e, n, o) {\n const { height: r } = n;\n if (r === void 0 || o.length === 0)\n return { bottom: 0, top: 0 };\n const s = Ae(t, e, n, o[0].index);\n return { bottom: Ae(t, e, n, o[o.length - 1].index) + r, top: s };\n}\nfunction Ae(t, e, n, o) {\n const r = eo(t.width, n.width, e.column), s = Ce(o / r), i = s * n.height + ee(0, s - 1) * e.row;\n return i > 0 ? i + e.row : i;\n}\nconst Or = /* @__PURE__ */ U(() => {\n const t = v((S) => `Item ${S}`), e = v({}), n = v(null), o = v(\"virtuoso-grid-item\"), r = v(\"virtuoso-grid-list\"), s = v(Ye), i = v(\"div\"), l = v(Yt), c = (S, p = null) => ct(\n x(\n e,\n E((m) => m[S]),\n Y()\n ),\n p\n ), a = v(!1), f = v(!1);\n return F(A(f), a), {\n components: e,\n computeItemKey: s,\n context: n,\n FooterComponent: c(\"Footer\"),\n HeaderComponent: c(\"Header\"),\n headerFooterTag: i,\n itemClassName: o,\n ItemComponent: c(\"Item\", \"div\"),\n itemContent: t,\n listClassName: r,\n ListComponent: c(\"List\", \"div\"),\n readyStateChanged: a,\n reportReadyState: f,\n ScrollerComponent: c(\"Scroller\", \"div\"),\n scrollerRef: l,\n ScrollSeekPlaceholder: c(\"ScrollSeekPlaceholder\", \"div\")\n };\n}), Fr = /* @__PURE__ */ U(\n ([t, e]) => ({ ...t, ...e }),\n X(kr, Or)\n), Lr = /* @__PURE__ */ H.memo(function() {\n const e = et(\"gridState\"), n = et(\"listClassName\"), o = et(\"itemClassName\"), r = et(\"itemContent\"), s = et(\"computeItemKey\"), i = et(\"isSeeking\"), l = It(\"scrollHeight\"), c = et(\"ItemComponent\"), a = et(\"ListComponent\"), f = et(\"ScrollSeekPlaceholder\"), S = et(\"context\"), p = It(\"itemDimensions\"), m = It(\"gap\"), w = et(\"log\"), I = et(\"stateRestoreInProgress\"), C = It(\"reportReadyState\"), g = Ht(\n H.useMemo(\n () => (u) => {\n const T = u.parentElement.parentElement.scrollHeight;\n l(T);\n const R = u.firstChild;\n if (R) {\n const { height: h, width: d } = R.getBoundingClientRect();\n p({ height: h, width: d });\n }\n m({\n column: Hn(\"column-gap\", getComputedStyle(u).columnGap, w),\n row: Hn(\"row-gap\", getComputedStyle(u).rowGap, w)\n });\n },\n [l, p, m, w]\n ),\n !0,\n !1\n );\n return Yn(() => {\n e.itemHeight > 0 && e.itemWidth > 0 && C(!0);\n }, [e]), I ? null : /* @__PURE__ */ z(\n a,\n {\n className: n,\n ref: g,\n ...Z(a, S),\n \"data-testid\": \"virtuoso-item-list\",\n style: { paddingBottom: e.offsetBottom, paddingTop: e.offsetTop },\n children: e.items.map((u) => {\n const T = s(u.index, u.data, S);\n return i ? /* @__PURE__ */ z(\n f,\n {\n ...Z(f, S),\n height: e.itemHeight,\n index: u.index,\n width: e.itemWidth\n },\n T\n ) : /* @__PURE__ */ $t(\n c,\n {\n ...Z(c, S),\n className: o,\n \"data-index\": u.index,\n key: T\n },\n r(u.index, u.data, S)\n );\n })\n }\n );\n}), zr = H.memo(function() {\n const e = et(\"HeaderComponent\"), n = It(\"headerHeight\"), o = et(\"headerFooterTag\"), r = Ht(\n H.useMemo(\n () => (i) => {\n n(wt(i, \"height\"));\n },\n [n]\n ),\n !0,\n !1\n ), s = et(\"context\");\n return e ? /* @__PURE__ */ z(o, { ref: r, children: /* @__PURE__ */ z(e, { ...Z(e, s) }) }) : null;\n}), Vr = H.memo(function() {\n const e = et(\"FooterComponent\"), n = It(\"footerHeight\"), o = et(\"headerFooterTag\"), r = Ht(\n H.useMemo(\n () => (i) => {\n n(wt(i, \"height\"));\n },\n [n]\n ),\n !0,\n !1\n ), s = et(\"context\");\n return e ? /* @__PURE__ */ z(o, { ref: r, children: /* @__PURE__ */ z(e, { ...Z(e, s) }) }) : null;\n}), Pr = ({ children: t }) => {\n const e = H.useContext(qn), n = It(\"itemDimensions\"), o = It(\"viewportDimensions\"), r = Ht(\n H.useMemo(\n () => (s) => {\n o(s.getBoundingClientRect());\n },\n [o]\n ),\n !0,\n !1\n );\n return H.useEffect(() => {\n e && (o({ height: e.viewportHeight, width: e.viewportWidth }), n({ height: e.itemHeight, width: e.itemWidth }));\n }, [e, o, n]), /* @__PURE__ */ z(\"div\", { ref: r, style: Zt(!1), children: t });\n}, Ar = ({ children: t }) => {\n const e = H.useContext(qn), n = It(\"windowViewportRect\"), o = It(\"itemDimensions\"), r = et(\"customScrollParent\"), s = Ge(n, r, !1);\n return H.useEffect(() => {\n e && (o({ height: e.itemHeight, width: e.itemWidth }), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: e.viewportWidth }));\n }, [e, n, o]), /* @__PURE__ */ z(\"div\", { ref: s, style: Zt(!1), children: t });\n}, Mr = /* @__PURE__ */ H.memo(function({ ...e }) {\n const n = et(\"useWindowScroll\"), o = et(\"customScrollParent\"), r = o || n ? Gr : _r, s = o || n ? Ar : Pr, i = et(\"context\");\n return /* @__PURE__ */ z(r, { ...e, ...Z(r, i), children: /* @__PURE__ */ Kt(s, { children: [\n /* @__PURE__ */ z(zr, {}),\n /* @__PURE__ */ z(Lr, {}),\n /* @__PURE__ */ z(Vr, {})\n ] }) });\n}), {\n Component: Wr,\n useEmitter: no,\n useEmitterValue: et,\n usePublisher: It\n} = /* @__PURE__ */ qe(\n Fr,\n {\n optional: {\n context: \"context\",\n totalCount: \"totalCount\",\n overscan: \"overscan\",\n itemContent: \"itemContent\",\n components: \"components\",\n computeItemKey: \"computeItemKey\",\n data: \"data\",\n initialItemCount: \"initialItemCount\",\n scrollSeekConfiguration: \"scrollSeekConfiguration\",\n headerFooterTag: \"headerFooterTag\",\n listClassName: \"listClassName\",\n itemClassName: \"itemClassName\",\n useWindowScroll: \"useWindowScroll\",\n customScrollParent: \"customScrollParent\",\n scrollerRef: \"scrollerRef\",\n logLevel: \"logLevel\",\n restoreStateFrom: \"restoreStateFrom\",\n initialTopMostItemIndex: \"initialTopMostItemIndex\",\n increaseViewportBy: \"increaseViewportBy\"\n },\n methods: {\n scrollTo: \"scrollTo\",\n scrollBy: \"scrollBy\",\n scrollToIndex: \"scrollToIndex\"\n },\n events: {\n isScrolling: \"isScrolling\",\n endReached: \"endReached\",\n startReached: \"startReached\",\n rangeChanged: \"rangeChanged\",\n atBottomStateChange: \"atBottomStateChange\",\n atTopStateChange: \"atTopStateChange\",\n stateChanged: \"stateChanged\",\n readyStateChanged: \"readyStateChanged\"\n }\n },\n Mr\n), _r = /* @__PURE__ */ Ze({ useEmitter: no, useEmitterValue: et, usePublisher: It }), Gr = /* @__PURE__ */ Xe({ useEmitter: no, useEmitterValue: et, usePublisher: It });\nfunction Hn(t, e, n) {\n return e !== \"normal\" && !(e != null && e.endsWith(\"px\")) && n(`${t} was not resolved to pixel value correctly`, e, ht.WARN), e === \"normal\" ? 0 : parseInt(e != null ? e : \"0\", 10);\n}\nconst Yr = Wr;\nexport {\n jr as GroupedVirtuoso,\n ht as LogLevel,\n qr as TableVirtuoso,\n Kr as Virtuoso,\n Yr as VirtuosoGrid,\n qn as VirtuosoGridMockContext,\n be as VirtuosoMockContext\n};\n", + "module.exports = function(md, options) {\n options = options || {};\n options.listUnicodeChar = options.hasOwnProperty('listUnicodeChar') ? options.listUnicodeChar : false;\n options.stripListLeaders = options.hasOwnProperty('stripListLeaders') ? options.stripListLeaders : true;\n options.gfm = options.hasOwnProperty('gfm') ? options.gfm : true;\n options.useImgAltText = options.hasOwnProperty('useImgAltText') ? options.useImgAltText : true;\n options.abbr = options.hasOwnProperty('abbr') ? options.abbr : false;\n options.replaceLinksWithURL = options.hasOwnProperty('replaceLinksWithURL') ? options.replaceLinksWithURL : false;\n options.htmlTagsToSkip = options.hasOwnProperty('htmlTagsToSkip') ? options.htmlTagsToSkip : [];\n options.throwError = options.hasOwnProperty('throwError') ? options.throwError : false;\n\n var output = md || '';\n\n // Remove horizontal rules (stripListHeaders conflict with this rule, which is why it has been moved to the top)\n output = output.replace(/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/gm, '');\n\n try {\n if (options.stripListLeaders) {\n if (options.listUnicodeChar)\n output = output.replace(/^([\\s\\t]*)([\\*\\-\\+]|\\d+\\.)\\s+/gm, options.listUnicodeChar + ' $1');\n else\n output = output.replace(/^([\\s\\t]*)([\\*\\-\\+]|\\d+\\.)\\s+/gm, '$1');\n }\n if (options.gfm) {\n output = output\n // Header\n .replace(/\\n={2,}/g, '\\n')\n // Fenced codeblocks\n .replace(/~{3}.*\\n/g, '')\n // Strikethrough\n .replace(/~~/g, '')\n // Fenced codeblocks with backticks\n .replace(/```(?:.*)\\n([\\s\\S]*?)```/g, (_, code) => code.trim());\n }\n if (options.abbr) {\n // Remove abbreviations\n output = output.replace(/\\*\\[.*\\]:.*\\n/, '');\n }\n \n let htmlReplaceRegex = /<[^>]*>/g\n if (options.htmlTagsToSkip && options.htmlTagsToSkip.length > 0) {\n // Create a regex that matches tags not in htmlTagsToSkip\n const joinedHtmlTagsToSkip = options.htmlTagsToSkip.join('|')\n htmlReplaceRegex = new RegExp(\n `<(?!\\/?(${joinedHtmlTagsToSkip})(?=>|\\s[^>]*>))[^>]*>`,\n 'g',\n )\n }\n\n output = output\n // Remove HTML tags\n .replace(htmlReplaceRegex, '')\n // Remove setext-style headers\n .replace(/^[=\\-]{2,}\\s*$/g, '')\n // Remove footnotes?\n .replace(/\\[\\^.+?\\](\\: .*?$)?/g, '')\n .replace(/\\s{0,2}\\[.*?\\]: .*?$/g, '')\n // Remove images\n .replace(/\\!\\[(.*?)\\][\\[\\(].*?[\\]\\)]/g, options.useImgAltText ? '$1' : '')\n // Remove inline links\n .replace(/\\[([\\s\\S]*?)\\]\\s*[\\(\\[].*?[\\)\\]]/g, options.replaceLinksWithURL ? '$2' : '$1')\n // Remove blockquotes\n .replace(/^(\\n)?\\s{0,3}>\\s?/gm, '$1')\n // .replace(/(^|\\n)\\s{0,3}>\\s?/g, '\\n\\n')\n // Remove reference-style links?\n .replace(/^\\s{1,2}\\[(.*?)\\]: (\\S+)( \".*?\")?\\s*$/g, '')\n // Remove atx-style headers\n .replace(/^(\\n)?\\s{0,}#{1,6}\\s*( (.+))? +#+$|^(\\n)?\\s{0,}#{1,6}\\s*( (.+))?$/gm, '$1$3$4$6')\n // Remove * emphasis\n .replace(/([\\*]+)(\\S)(.*?\\S)??\\1/g, '$2$3')\n // Remove _ emphasis. Unlike *, _ emphasis gets rendered only if \n // 1. Either there is a whitespace character before opening _ and after closing _.\n // 2. Or _ is at the start/end of the string.\n .replace(/(^|\\W)([_]+)(\\S)(.*?\\S)??\\2($|\\W)/g, '$1$3$4$5')\n // Remove single-line code blocks (already handled multiline above in gfm section)\n .replace(/(`{3,})(.*?)\\1/gm, '$2')\n // Remove inline code\n .replace(/`(.+?)`/g, '$1')\n // // Replace two or more newlines with exactly two? Not entirely sure this belongs here...\n // .replace(/\\n{2,}/g, '\\n\\n')\n // // Remove newlines in a paragraph\n // .replace(/(\\S+)\\n\\s*(\\S+)/g, '$1 $2')\n // Replace strike through\n .replace(/~(.*?)~/g, '$1');\n } catch(e) {\n if (options.throwError) throw e;\n\n console.error(\"remove-markdown encountered error: %s\", e);\n return md;\n }\n return output;\n};\n", + "/**\n * A reference to globalThis, with support\n * for browsers that don't yet support the spec.\n * @public\n */\nexport const $global = (function () {\n if (typeof globalThis !== \"undefined\") {\n // We're running in a modern environment.\n return globalThis;\n }\n if (typeof global !== \"undefined\") {\n // We're running in NodeJS\n return global;\n }\n if (typeof self !== \"undefined\") {\n // We're running in a worker.\n return self;\n }\n if (typeof window !== \"undefined\") {\n // We're running in the browser's main thread.\n return window;\n }\n try {\n // Hopefully we never get here...\n // Not all environments allow eval and Function. Use only as a last resort:\n // eslint-disable-next-line no-new-func\n return new Function(\"return this\")();\n }\n catch (_a) {\n // If all fails, give up and create an object.\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n return {};\n }\n})();\n// API-only Polyfill for trustedTypes\nif ($global.trustedTypes === void 0) {\n $global.trustedTypes = { createPolicy: (n, r) => r };\n}\nconst propConfig = {\n configurable: false,\n enumerable: false,\n writable: false,\n};\nif ($global.FAST === void 0) {\n Reflect.defineProperty($global, \"FAST\", Object.assign({ value: Object.create(null) }, propConfig));\n}\n/**\n * The FAST global.\n * @internal\n */\nexport const FAST = $global.FAST;\nif (FAST.getById === void 0) {\n const storage = Object.create(null);\n Reflect.defineProperty(FAST, \"getById\", Object.assign({ value(id, initialize) {\n let found = storage[id];\n if (found === void 0) {\n found = initialize ? (storage[id] = initialize()) : null;\n }\n return found;\n } }, propConfig));\n}\n/**\n * A readonly, empty array.\n * @remarks\n * Typically returned by APIs that return arrays when there are\n * no actual items to return.\n * @internal\n */\nexport const emptyArray = Object.freeze([]);\n/**\n * Creates a function capable of locating metadata associated with a type.\n * @returns A metadata locator function.\n * @internal\n */\nexport function createMetadataLocator() {\n const metadataLookup = new WeakMap();\n return function (target) {\n let metadata = metadataLookup.get(target);\n if (metadata === void 0) {\n let currentTarget = Reflect.getPrototypeOf(target);\n while (metadata === void 0 && currentTarget !== null) {\n metadata = metadataLookup.get(currentTarget);\n currentTarget = Reflect.getPrototypeOf(currentTarget);\n }\n metadata = metadata === void 0 ? [] : metadata.slice(0);\n metadataLookup.set(target, metadata);\n }\n return metadata;\n };\n}\n", + "import { $global } from \"./platform.js\";\nconst updateQueue = $global.FAST.getById(1 /* updateQueue */, () => {\n const tasks = [];\n const pendingErrors = [];\n function throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n }\n function tryRunTask(task) {\n try {\n task.call();\n }\n catch (error) {\n pendingErrors.push(error);\n setTimeout(throwFirstError, 0);\n }\n }\n function process() {\n const capacity = 1024;\n let index = 0;\n while (index < tasks.length) {\n tryRunTask(tasks[index]);\n index++;\n // Prevent leaking memory for long chains of recursive calls to `DOM.queueUpdate`.\n // If we call `DOM.queueUpdate` within a task scheduled by `DOM.queueUpdate`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (let scan = 0, newLength = tasks.length - index; scan < newLength; scan++) {\n tasks[scan] = tasks[scan + index];\n }\n tasks.length -= index;\n index = 0;\n }\n }\n tasks.length = 0;\n }\n function enqueue(callable) {\n if (tasks.length < 1) {\n $global.requestAnimationFrame(process);\n }\n tasks.push(callable);\n }\n return Object.freeze({\n enqueue,\n process,\n });\n});\n/* eslint-disable */\nconst fastHTMLPolicy = $global.trustedTypes.createPolicy(\"fast-html\", {\n createHTML: html => html,\n});\n/* eslint-enable */\nlet htmlPolicy = fastHTMLPolicy;\nconst marker = `fast-${Math.random().toString(36).substring(2, 8)}`;\n/** @internal */\nexport const _interpolationStart = `${marker}{`;\n/** @internal */\nexport const _interpolationEnd = `}${marker}`;\n/**\n * Common DOM APIs.\n * @public\n */\nexport const DOM = Object.freeze({\n /**\n * Indicates whether the DOM supports the adoptedStyleSheets feature.\n */\n supportsAdoptedStyleSheets: Array.isArray(document.adoptedStyleSheets) &&\n \"replace\" in CSSStyleSheet.prototype,\n /**\n * Sets the HTML trusted types policy used by the templating engine.\n * @param policy - The policy to set for HTML.\n * @remarks\n * This API can only be called once, for security reasons. It should be\n * called by the application developer at the start of their program.\n */\n setHTMLPolicy(policy) {\n if (htmlPolicy !== fastHTMLPolicy) {\n throw new Error(\"The HTML policy can only be set once.\");\n }\n htmlPolicy = policy;\n },\n /**\n * Turns a string into trusted HTML using the configured trusted types policy.\n * @param html - The string to turn into trusted HTML.\n * @remarks\n * Used internally by the template engine when creating templates\n * and setting innerHTML.\n */\n createHTML(html) {\n return htmlPolicy.createHTML(html);\n },\n /**\n * Determines if the provided node is a template marker used by the runtime.\n * @param node - The node to test.\n */\n isMarker(node) {\n return node && node.nodeType === 8 && node.data.startsWith(marker);\n },\n /**\n * Given a marker node, extract the {@link HTMLDirective} index from the placeholder.\n * @param node - The marker node to extract the index from.\n */\n extractDirectiveIndexFromMarker(node) {\n return parseInt(node.data.replace(`${marker}:`, \"\"));\n },\n /**\n * Creates a placeholder string suitable for marking out a location *within*\n * an attribute value or HTML content.\n * @param index - The directive index to create the placeholder for.\n * @remarks\n * Used internally by binding directives.\n */\n createInterpolationPlaceholder(index) {\n return `${_interpolationStart}${index}${_interpolationEnd}`;\n },\n /**\n * Creates a placeholder that manifests itself as an attribute on an\n * element.\n * @param attributeName - The name of the custom attribute.\n * @param index - The directive index to create the placeholder for.\n * @remarks\n * Used internally by attribute directives such as `ref`, `slotted`, and `children`.\n */\n createCustomAttributePlaceholder(attributeName, index) {\n return `${attributeName}=\"${this.createInterpolationPlaceholder(index)}\"`;\n },\n /**\n * Creates a placeholder that manifests itself as a marker within the DOM structure.\n * @param index - The directive index to create the placeholder for.\n * @remarks\n * Used internally by structural directives such as `repeat`.\n */\n createBlockPlaceholder(index) {\n return `<!--${marker}:${index}-->`;\n },\n /**\n * Schedules DOM update work in the next async batch.\n * @param callable - The callable function or object to queue.\n */\n queueUpdate: updateQueue.enqueue,\n /**\n * Immediately processes all work previously scheduled\n * through queueUpdate.\n * @remarks\n * This also forces nextUpdate promises\n * to resolve.\n */\n processUpdates: updateQueue.process,\n /**\n * Resolves with the next DOM update.\n */\n nextUpdate() {\n return new Promise(updateQueue.enqueue);\n },\n /**\n * Sets an attribute value on an element.\n * @param element - The element to set the attribute value on.\n * @param attributeName - The attribute name to set.\n * @param value - The value of the attribute to set.\n * @remarks\n * If the value is `null` or `undefined`, the attribute is removed, otherwise\n * it is set to the provided value using the standard `setAttribute` API.\n */\n setAttribute(element, attributeName, value) {\n if (value === null || value === undefined) {\n element.removeAttribute(attributeName);\n }\n else {\n element.setAttribute(attributeName, value);\n }\n },\n /**\n * Sets a boolean attribute value.\n * @param element - The element to set the boolean attribute value on.\n * @param attributeName - The attribute name to set.\n * @param value - The value of the attribute to set.\n * @remarks\n * If the value is true, the attribute is added; otherwise it is removed.\n */\n setBooleanAttribute(element, attributeName, value) {\n value\n ? element.setAttribute(attributeName, \"\")\n : element.removeAttribute(attributeName);\n },\n /**\n * Removes all the child nodes of the provided parent node.\n * @param parent - The node to remove the children from.\n */\n removeChildNodes(parent) {\n for (let child = parent.firstChild; child !== null; child = parent.firstChild) {\n parent.removeChild(child);\n }\n },\n /**\n * Creates a TreeWalker configured to walk a template fragment.\n * @param fragment - The fragment to walk.\n */\n createTemplateWalker(fragment) {\n return document.createTreeWalker(fragment, 133, // element, text, comment\n null, false);\n },\n});\n", + "/**\n * An implementation of {@link Notifier} that efficiently keeps track of\n * subscribers interested in a specific change notification on an\n * observable source.\n *\n * @remarks\n * This set is optimized for the most common scenario of 1 or 2 subscribers.\n * With this in mind, it can store a subscriber in an internal field, allowing it to avoid Array#push operations.\n * If the set ever exceeds two subscribers, it upgrades to an array automatically.\n * @public\n */\nexport class SubscriberSet {\n /**\n * Creates an instance of SubscriberSet for the specified source.\n * @param source - The object source that subscribers will receive notifications from.\n * @param initialSubscriber - An initial subscriber to changes.\n */\n constructor(source, initialSubscriber) {\n this.sub1 = void 0;\n this.sub2 = void 0;\n this.spillover = void 0;\n this.source = source;\n this.sub1 = initialSubscriber;\n }\n /**\n * Checks whether the provided subscriber has been added to this set.\n * @param subscriber - The subscriber to test for inclusion in this set.\n */\n has(subscriber) {\n return this.spillover === void 0\n ? this.sub1 === subscriber || this.sub2 === subscriber\n : this.spillover.indexOf(subscriber) !== -1;\n }\n /**\n * Subscribes to notification of changes in an object's state.\n * @param subscriber - The object that is subscribing for change notification.\n */\n subscribe(subscriber) {\n const spillover = this.spillover;\n if (spillover === void 0) {\n if (this.has(subscriber)) {\n return;\n }\n if (this.sub1 === void 0) {\n this.sub1 = subscriber;\n return;\n }\n if (this.sub2 === void 0) {\n this.sub2 = subscriber;\n return;\n }\n this.spillover = [this.sub1, this.sub2, subscriber];\n this.sub1 = void 0;\n this.sub2 = void 0;\n }\n else {\n const index = spillover.indexOf(subscriber);\n if (index === -1) {\n spillover.push(subscriber);\n }\n }\n }\n /**\n * Unsubscribes from notification of changes in an object's state.\n * @param subscriber - The object that is unsubscribing from change notification.\n */\n unsubscribe(subscriber) {\n const spillover = this.spillover;\n if (spillover === void 0) {\n if (this.sub1 === subscriber) {\n this.sub1 = void 0;\n }\n else if (this.sub2 === subscriber) {\n this.sub2 = void 0;\n }\n }\n else {\n const index = spillover.indexOf(subscriber);\n if (index !== -1) {\n spillover.splice(index, 1);\n }\n }\n }\n /**\n * Notifies all subscribers.\n * @param args - Data passed along to subscribers during notification.\n */\n notify(args) {\n const spillover = this.spillover;\n const source = this.source;\n if (spillover === void 0) {\n const sub1 = this.sub1;\n const sub2 = this.sub2;\n if (sub1 !== void 0) {\n sub1.handleChange(source, args);\n }\n if (sub2 !== void 0) {\n sub2.handleChange(source, args);\n }\n }\n else {\n for (let i = 0, ii = spillover.length; i < ii; ++i) {\n spillover[i].handleChange(source, args);\n }\n }\n }\n}\n/**\n * An implementation of Notifier that allows subscribers to be notified\n * of individual property changes on an object.\n * @public\n */\nexport class PropertyChangeNotifier {\n /**\n * Creates an instance of PropertyChangeNotifier for the specified source.\n * @param source - The object source that subscribers will receive notifications from.\n */\n constructor(source) {\n this.subscribers = {};\n this.sourceSubscribers = null;\n this.source = source;\n }\n /**\n * Notifies all subscribers, based on the specified property.\n * @param propertyName - The property name, passed along to subscribers during notification.\n */\n notify(propertyName) {\n var _a;\n const subscribers = this.subscribers[propertyName];\n if (subscribers !== void 0) {\n subscribers.notify(propertyName);\n }\n (_a = this.sourceSubscribers) === null || _a === void 0 ? void 0 : _a.notify(propertyName);\n }\n /**\n * Subscribes to notification of changes in an object's state.\n * @param subscriber - The object that is subscribing for change notification.\n * @param propertyToWatch - The name of the property that the subscriber is interested in watching for changes.\n */\n subscribe(subscriber, propertyToWatch) {\n var _a;\n if (propertyToWatch) {\n let subscribers = this.subscribers[propertyToWatch];\n if (subscribers === void 0) {\n this.subscribers[propertyToWatch] = subscribers = new SubscriberSet(this.source);\n }\n subscribers.subscribe(subscriber);\n }\n else {\n this.sourceSubscribers =\n (_a = this.sourceSubscribers) !== null && _a !== void 0 ? _a : new SubscriberSet(this.source);\n this.sourceSubscribers.subscribe(subscriber);\n }\n }\n /**\n * Unsubscribes from notification of changes in an object's state.\n * @param subscriber - The object that is unsubscribing from change notification.\n * @param propertyToUnwatch - The name of the property that the subscriber is no longer interested in watching.\n */\n unsubscribe(subscriber, propertyToUnwatch) {\n var _a;\n if (propertyToUnwatch) {\n const subscribers = this.subscribers[propertyToUnwatch];\n if (subscribers !== void 0) {\n subscribers.unsubscribe(subscriber);\n }\n }\n else {\n (_a = this.sourceSubscribers) === null || _a === void 0 ? void 0 : _a.unsubscribe(subscriber);\n }\n }\n}\n", + "import { DOM } from \"../dom.js\";\nimport { createMetadataLocator, FAST } from \"../platform.js\";\nimport { PropertyChangeNotifier, SubscriberSet } from \"./notifier.js\";\n/**\n * Common Observable APIs.\n * @public\n */\nexport const Observable = FAST.getById(2 /* observable */, () => {\n const volatileRegex = /(:|&&|\\|\\||if)/;\n const notifierLookup = new WeakMap();\n const queueUpdate = DOM.queueUpdate;\n let watcher = void 0;\n let createArrayObserver = (array) => {\n throw new Error(\"Must call enableArrayObservation before observing arrays.\");\n };\n function getNotifier(source) {\n let found = source.$fastController || notifierLookup.get(source);\n if (found === void 0) {\n if (Array.isArray(source)) {\n found = createArrayObserver(source);\n }\n else {\n notifierLookup.set(source, (found = new PropertyChangeNotifier(source)));\n }\n }\n return found;\n }\n const getAccessors = createMetadataLocator();\n class DefaultObservableAccessor {\n constructor(name) {\n this.name = name;\n this.field = `_${name}`;\n this.callback = `${name}Changed`;\n }\n getValue(source) {\n if (watcher !== void 0) {\n watcher.watch(source, this.name);\n }\n return source[this.field];\n }\n setValue(source, newValue) {\n const field = this.field;\n const oldValue = source[field];\n if (oldValue !== newValue) {\n source[field] = newValue;\n const callback = source[this.callback];\n if (typeof callback === \"function\") {\n callback.call(source, oldValue, newValue);\n }\n getNotifier(source).notify(this.name);\n }\n }\n }\n class BindingObserverImplementation extends SubscriberSet {\n constructor(binding, initialSubscriber, isVolatileBinding = false) {\n super(binding, initialSubscriber);\n this.binding = binding;\n this.isVolatileBinding = isVolatileBinding;\n this.needsRefresh = true;\n this.needsQueue = true;\n this.first = this;\n this.last = null;\n this.propertySource = void 0;\n this.propertyName = void 0;\n this.notifier = void 0;\n this.next = void 0;\n }\n observe(source, context) {\n if (this.needsRefresh && this.last !== null) {\n this.disconnect();\n }\n const previousWatcher = watcher;\n watcher = this.needsRefresh ? this : void 0;\n this.needsRefresh = this.isVolatileBinding;\n const result = this.binding(source, context);\n watcher = previousWatcher;\n return result;\n }\n disconnect() {\n if (this.last !== null) {\n let current = this.first;\n while (current !== void 0) {\n current.notifier.unsubscribe(this, current.propertyName);\n current = current.next;\n }\n this.last = null;\n this.needsRefresh = this.needsQueue = true;\n }\n }\n watch(propertySource, propertyName) {\n const prev = this.last;\n const notifier = getNotifier(propertySource);\n const current = prev === null ? this.first : {};\n current.propertySource = propertySource;\n current.propertyName = propertyName;\n current.notifier = notifier;\n notifier.subscribe(this, propertyName);\n if (prev !== null) {\n if (!this.needsRefresh) {\n // Declaring the variable prior to assignment below circumvents\n // a bug in Angular's optimization process causing infinite recursion\n // of this watch() method. Details https://github.com/microsoft/fast/issues/4969\n let prevValue;\n watcher = void 0;\n /* eslint-disable-next-line */\n prevValue = prev.propertySource[prev.propertyName];\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n watcher = this;\n if (propertySource === prevValue) {\n this.needsRefresh = true;\n }\n }\n prev.next = current;\n }\n this.last = current;\n }\n handleChange() {\n if (this.needsQueue) {\n this.needsQueue = false;\n queueUpdate(this);\n }\n }\n call() {\n if (this.last !== null) {\n this.needsQueue = true;\n this.notify(this);\n }\n }\n records() {\n let next = this.first;\n return {\n next: () => {\n const current = next;\n if (current === undefined) {\n return { value: void 0, done: true };\n }\n else {\n next = next.next;\n return {\n value: current,\n done: false,\n };\n }\n },\n [Symbol.iterator]: function () {\n return this;\n },\n };\n }\n }\n return Object.freeze({\n /**\n * @internal\n * @param factory - The factory used to create array observers.\n */\n setArrayObserverFactory(factory) {\n createArrayObserver = factory;\n },\n /**\n * Gets a notifier for an object or Array.\n * @param source - The object or Array to get the notifier for.\n */\n getNotifier,\n /**\n * Records a property change for a source object.\n * @param source - The object to record the change against.\n * @param propertyName - The property to track as changed.\n */\n track(source, propertyName) {\n if (watcher !== void 0) {\n watcher.watch(source, propertyName);\n }\n },\n /**\n * Notifies watchers that the currently executing property getter or function is volatile\n * with respect to its observable dependencies.\n */\n trackVolatile() {\n if (watcher !== void 0) {\n watcher.needsRefresh = true;\n }\n },\n /**\n * Notifies subscribers of a source object of changes.\n * @param source - the object to notify of changes.\n * @param args - The change args to pass to subscribers.\n */\n notify(source, args) {\n getNotifier(source).notify(args);\n },\n /**\n * Defines an observable property on an object or prototype.\n * @param target - The target object to define the observable on.\n * @param nameOrAccessor - The name of the property to define as observable;\n * or a custom accessor that specifies the property name and accessor implementation.\n */\n defineProperty(target, nameOrAccessor) {\n if (typeof nameOrAccessor === \"string\") {\n nameOrAccessor = new DefaultObservableAccessor(nameOrAccessor);\n }\n getAccessors(target).push(nameOrAccessor);\n Reflect.defineProperty(target, nameOrAccessor.name, {\n enumerable: true,\n get: function () {\n return nameOrAccessor.getValue(this);\n },\n set: function (newValue) {\n nameOrAccessor.setValue(this, newValue);\n },\n });\n },\n /**\n * Finds all the observable accessors defined on the target,\n * including its prototype chain.\n * @param target - The target object to search for accessor on.\n */\n getAccessors,\n /**\n * Creates a {@link BindingObserver} that can watch the\n * provided {@link Binding} for changes.\n * @param binding - The binding to observe.\n * @param initialSubscriber - An initial subscriber to changes in the binding value.\n * @param isVolatileBinding - Indicates whether the binding's dependency list must be re-evaluated on every value evaluation.\n */\n binding(binding, initialSubscriber, isVolatileBinding = this.isVolatileBinding(binding)) {\n return new BindingObserverImplementation(binding, initialSubscriber, isVolatileBinding);\n },\n /**\n * Determines whether a binding expression is volatile and needs to have its dependency list re-evaluated\n * on every evaluation of the value.\n * @param binding - The binding to inspect.\n */\n isVolatileBinding(binding) {\n return volatileRegex.test(binding.toString());\n },\n });\n});\n/**\n * Decorator: Defines an observable property on the target.\n * @param target - The target to define the observable on.\n * @param nameOrAccessor - The property name or accessor to define the observable as.\n * @public\n */\nexport function observable(target, nameOrAccessor) {\n Observable.defineProperty(target, nameOrAccessor);\n}\n/**\n * Decorator: Marks a property getter as having volatile observable dependencies.\n * @param target - The target that the property is defined on.\n * @param name - The property name.\n * @param name - The existing descriptor.\n * @public\n */\nexport function volatile(target, name, descriptor) {\n return Object.assign({}, descriptor, {\n get: function () {\n Observable.trackVolatile();\n return descriptor.get.apply(this);\n },\n });\n}\nconst contextEvent = FAST.getById(3 /* contextEvent */, () => {\n let current = null;\n return {\n get() {\n return current;\n },\n set(event) {\n current = event;\n },\n };\n});\n/**\n * Provides additional contextual information available to behaviors and expressions.\n * @public\n */\nexport class ExecutionContext {\n constructor() {\n /**\n * The index of the current item within a repeat context.\n */\n this.index = 0;\n /**\n * The length of the current collection within a repeat context.\n */\n this.length = 0;\n /**\n * The parent data object within a repeat context.\n */\n this.parent = null;\n /**\n * The parent execution context when in nested context scenarios.\n */\n this.parentContext = null;\n }\n /**\n * The current event within an event handler.\n */\n get event() {\n return contextEvent.get();\n }\n /**\n * Indicates whether the current item within a repeat context\n * has an even index.\n */\n get isEven() {\n return this.index % 2 === 0;\n }\n /**\n * Indicates whether the current item within a repeat context\n * has an odd index.\n */\n get isOdd() {\n return this.index % 2 !== 0;\n }\n /**\n * Indicates whether the current item within a repeat context\n * is the first item in the collection.\n */\n get isFirst() {\n return this.index === 0;\n }\n /**\n * Indicates whether the current item within a repeat context\n * is somewhere in the middle of the collection.\n */\n get isInMiddle() {\n return !this.isFirst && !this.isLast;\n }\n /**\n * Indicates whether the current item within a repeat context\n * is the last item in the collection.\n */\n get isLast() {\n return this.index === this.length - 1;\n }\n /**\n * Sets the event for the current execution context.\n * @param event - The event to set.\n * @internal\n */\n static setEvent(event) {\n contextEvent.set(event);\n }\n}\nObservable.defineProperty(ExecutionContext.prototype, \"index\");\nObservable.defineProperty(ExecutionContext.prototype, \"length\");\n/**\n * The default execution context used in binding expressions.\n * @public\n */\nexport const defaultExecutionContext = Object.seal(new ExecutionContext());\n", + "import { DOM } from \"../dom.js\";\n/**\n * Instructs the template engine to apply behavior to a node.\n * @public\n */\nexport class HTMLDirective {\n constructor() {\n /**\n * The index of the DOM node to which the created behavior will apply.\n */\n this.targetIndex = 0;\n }\n}\n/**\n * A {@link HTMLDirective} that targets a named attribute or property on a node.\n * @public\n */\nexport class TargetedHTMLDirective extends HTMLDirective {\n constructor() {\n super(...arguments);\n /**\n * Creates a placeholder string based on the directive's index within the template.\n * @param index - The index of the directive within the template.\n */\n this.createPlaceholder = DOM.createInterpolationPlaceholder;\n }\n}\n/**\n * A directive that attaches special behavior to an element via a custom attribute.\n * @public\n */\nexport class AttachedBehaviorHTMLDirective extends HTMLDirective {\n /**\n *\n * @param name - The name of the behavior; used as a custom attribute on the element.\n * @param behavior - The behavior to instantiate and attach to the element.\n * @param options - Options to pass to the behavior during creation.\n */\n constructor(name, behavior, options) {\n super();\n this.name = name;\n this.behavior = behavior;\n this.options = options;\n }\n /**\n * Creates a placeholder string based on the directive's index within the template.\n * @param index - The index of the directive within the template.\n * @remarks\n * Creates a custom attribute placeholder.\n */\n createPlaceholder(index) {\n return DOM.createCustomAttributePlaceholder(this.name, index);\n }\n /**\n * Creates a behavior for the provided target node.\n * @param target - The node instance to create the behavior for.\n * @remarks\n * Creates an instance of the `behavior` type this directive was constructed with\n * and passes the target and options to that `behavior`'s constructor.\n */\n createBehavior(target) {\n return new this.behavior(target, this.options);\n }\n}\n", + "import { DOM } from \"../dom.js\";\nimport { ExecutionContext, Observable, } from \"../observation/observable.js\";\nimport { TargetedHTMLDirective } from \"./html-directive.js\";\nfunction normalBind(source, context) {\n this.source = source;\n this.context = context;\n if (this.bindingObserver === null) {\n this.bindingObserver = Observable.binding(this.binding, this, this.isBindingVolatile);\n }\n this.updateTarget(this.bindingObserver.observe(source, context));\n}\nfunction triggerBind(source, context) {\n this.source = source;\n this.context = context;\n this.target.addEventListener(this.targetName, this);\n}\nfunction normalUnbind() {\n this.bindingObserver.disconnect();\n this.source = null;\n this.context = null;\n}\nfunction contentUnbind() {\n this.bindingObserver.disconnect();\n this.source = null;\n this.context = null;\n const view = this.target.$fastView;\n if (view !== void 0 && view.isComposed) {\n view.unbind();\n view.needsBindOnly = true;\n }\n}\nfunction triggerUnbind() {\n this.target.removeEventListener(this.targetName, this);\n this.source = null;\n this.context = null;\n}\nfunction updateAttributeTarget(value) {\n DOM.setAttribute(this.target, this.targetName, value);\n}\nfunction updateBooleanAttributeTarget(value) {\n DOM.setBooleanAttribute(this.target, this.targetName, value);\n}\nfunction updateContentTarget(value) {\n // If there's no actual value, then this equates to the\n // empty string for the purposes of content bindings.\n if (value === null || value === undefined) {\n value = \"\";\n }\n // If the value has a \"create\" method, then it's a template-like.\n if (value.create) {\n this.target.textContent = \"\";\n let view = this.target.$fastView;\n // If there's no previous view that we might be able to\n // reuse then create a new view from the template.\n if (view === void 0) {\n view = value.create();\n }\n else {\n // If there is a previous view, but it wasn't created\n // from the same template as the new value, then we\n // need to remove the old view if it's still in the DOM\n // and create a new view from the template.\n if (this.target.$fastTemplate !== value) {\n if (view.isComposed) {\n view.remove();\n view.unbind();\n }\n view = value.create();\n }\n }\n // It's possible that the value is the same as the previous template\n // and that there's actually no need to compose it.\n if (!view.isComposed) {\n view.isComposed = true;\n view.bind(this.source, this.context);\n view.insertBefore(this.target);\n this.target.$fastView = view;\n this.target.$fastTemplate = value;\n }\n else if (view.needsBindOnly) {\n view.needsBindOnly = false;\n view.bind(this.source, this.context);\n }\n }\n else {\n const view = this.target.$fastView;\n // If there is a view and it's currently composed into\n // the DOM, then we need to remove it.\n if (view !== void 0 && view.isComposed) {\n view.isComposed = false;\n view.remove();\n if (view.needsBindOnly) {\n view.needsBindOnly = false;\n }\n else {\n view.unbind();\n }\n }\n this.target.textContent = value;\n }\n}\nfunction updatePropertyTarget(value) {\n this.target[this.targetName] = value;\n}\nfunction updateClassTarget(value) {\n const classVersions = this.classVersions || Object.create(null);\n const target = this.target;\n let version = this.version || 0;\n // Add the classes, tracking the version at which they were added.\n if (value !== null && value !== undefined && value.length) {\n const names = value.split(/\\s+/);\n for (let i = 0, ii = names.length; i < ii; ++i) {\n const currentName = names[i];\n if (currentName === \"\") {\n continue;\n }\n classVersions[currentName] = version;\n target.classList.add(currentName);\n }\n }\n this.classVersions = classVersions;\n this.version = version + 1;\n // If this is the first call to add classes, there's no need to remove old ones.\n if (version === 0) {\n return;\n }\n // Remove classes from the previous version.\n version -= 1;\n for (const name in classVersions) {\n if (classVersions[name] === version) {\n target.classList.remove(name);\n }\n }\n}\n/**\n * A directive that configures data binding to element content and attributes.\n * @public\n */\nexport class HTMLBindingDirective extends TargetedHTMLDirective {\n /**\n * Creates an instance of BindingDirective.\n * @param binding - A binding that returns the data used to update the DOM.\n */\n constructor(binding) {\n super();\n this.binding = binding;\n this.bind = normalBind;\n this.unbind = normalUnbind;\n this.updateTarget = updateAttributeTarget;\n this.isBindingVolatile = Observable.isVolatileBinding(this.binding);\n }\n /**\n * Gets/sets the name of the attribute or property that this\n * binding is targeting.\n */\n get targetName() {\n return this.originalTargetName;\n }\n set targetName(value) {\n this.originalTargetName = value;\n if (value === void 0) {\n return;\n }\n switch (value[0]) {\n case \":\":\n this.cleanedTargetName = value.substr(1);\n this.updateTarget = updatePropertyTarget;\n if (this.cleanedTargetName === \"innerHTML\") {\n const binding = this.binding;\n this.binding = (s, c) => DOM.createHTML(binding(s, c));\n }\n break;\n case \"?\":\n this.cleanedTargetName = value.substr(1);\n this.updateTarget = updateBooleanAttributeTarget;\n break;\n case \"@\":\n this.cleanedTargetName = value.substr(1);\n this.bind = triggerBind;\n this.unbind = triggerUnbind;\n break;\n default:\n this.cleanedTargetName = value;\n if (value === \"class\") {\n this.updateTarget = updateClassTarget;\n }\n break;\n }\n }\n /**\n * Makes this binding target the content of an element rather than\n * a particular attribute or property.\n */\n targetAtContent() {\n this.updateTarget = updateContentTarget;\n this.unbind = contentUnbind;\n }\n /**\n * Creates the runtime BindingBehavior instance based on the configuration\n * information stored in the BindingDirective.\n * @param target - The target node that the binding behavior should attach to.\n */\n createBehavior(target) {\n /* eslint-disable-next-line @typescript-eslint/no-use-before-define */\n return new BindingBehavior(target, this.binding, this.isBindingVolatile, this.bind, this.unbind, this.updateTarget, this.cleanedTargetName);\n }\n}\n/**\n * A behavior that updates content and attributes based on a configured\n * BindingDirective.\n * @public\n */\nexport class BindingBehavior {\n /**\n * Creates an instance of BindingBehavior.\n * @param target - The target of the data updates.\n * @param binding - The binding that returns the latest value for an update.\n * @param isBindingVolatile - Indicates whether the binding has volatile dependencies.\n * @param bind - The operation to perform during binding.\n * @param unbind - The operation to perform during unbinding.\n * @param updateTarget - The operation to perform when updating.\n * @param targetName - The name of the target attribute or property to update.\n */\n constructor(target, binding, isBindingVolatile, bind, unbind, updateTarget, targetName) {\n /** @internal */\n this.source = null;\n /** @internal */\n this.context = null;\n /** @internal */\n this.bindingObserver = null;\n this.target = target;\n this.binding = binding;\n this.isBindingVolatile = isBindingVolatile;\n this.bind = bind;\n this.unbind = unbind;\n this.updateTarget = updateTarget;\n this.targetName = targetName;\n }\n /** @internal */\n handleChange() {\n this.updateTarget(this.bindingObserver.observe(this.source, this.context));\n }\n /** @internal */\n handleEvent(event) {\n ExecutionContext.setEvent(event);\n const result = this.binding(this.source, this.context);\n ExecutionContext.setEvent(null);\n if (result !== true) {\n event.preventDefault();\n }\n }\n}\n", + "import { _interpolationEnd, _interpolationStart, DOM } from \"../dom.js\";\nimport { HTMLBindingDirective } from \"./binding.js\";\nlet sharedContext = null;\nclass CompilationContext {\n addFactory(factory) {\n factory.targetIndex = this.targetIndex;\n this.behaviorFactories.push(factory);\n }\n captureContentBinding(directive) {\n directive.targetAtContent();\n this.addFactory(directive);\n }\n reset() {\n this.behaviorFactories = [];\n this.targetIndex = -1;\n }\n release() {\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n sharedContext = this;\n }\n static borrow(directives) {\n const shareable = sharedContext || new CompilationContext();\n shareable.directives = directives;\n shareable.reset();\n sharedContext = null;\n return shareable;\n }\n}\nfunction createAggregateBinding(parts) {\n if (parts.length === 1) {\n return parts[0];\n }\n let targetName;\n const partCount = parts.length;\n const finalParts = parts.map((x) => {\n if (typeof x === \"string\") {\n return () => x;\n }\n targetName = x.targetName || targetName;\n return x.binding;\n });\n const binding = (scope, context) => {\n let output = \"\";\n for (let i = 0; i < partCount; ++i) {\n output += finalParts[i](scope, context);\n }\n return output;\n };\n const directive = new HTMLBindingDirective(binding);\n directive.targetName = targetName;\n return directive;\n}\nconst interpolationEndLength = _interpolationEnd.length;\nfunction parseContent(context, value) {\n const valueParts = value.split(_interpolationStart);\n if (valueParts.length === 1) {\n return null;\n }\n const bindingParts = [];\n for (let i = 0, ii = valueParts.length; i < ii; ++i) {\n const current = valueParts[i];\n const index = current.indexOf(_interpolationEnd);\n let literal;\n if (index === -1) {\n literal = current;\n }\n else {\n const directiveIndex = parseInt(current.substring(0, index));\n bindingParts.push(context.directives[directiveIndex]);\n literal = current.substring(index + interpolationEndLength);\n }\n if (literal !== \"\") {\n bindingParts.push(literal);\n }\n }\n return bindingParts;\n}\nfunction compileAttributes(context, node, includeBasicValues = false) {\n const attributes = node.attributes;\n for (let i = 0, ii = attributes.length; i < ii; ++i) {\n const attr = attributes[i];\n const attrValue = attr.value;\n const parseResult = parseContent(context, attrValue);\n let result = null;\n if (parseResult === null) {\n if (includeBasicValues) {\n result = new HTMLBindingDirective(() => attrValue);\n result.targetName = attr.name;\n }\n }\n else {\n result = createAggregateBinding(parseResult);\n }\n if (result !== null) {\n node.removeAttributeNode(attr);\n i--;\n ii--;\n context.addFactory(result);\n }\n }\n}\nfunction compileContent(context, node, walker) {\n const parseResult = parseContent(context, node.textContent);\n if (parseResult !== null) {\n let lastNode = node;\n for (let i = 0, ii = parseResult.length; i < ii; ++i) {\n const currentPart = parseResult[i];\n const currentNode = i === 0\n ? node\n : lastNode.parentNode.insertBefore(document.createTextNode(\"\"), lastNode.nextSibling);\n if (typeof currentPart === \"string\") {\n currentNode.textContent = currentPart;\n }\n else {\n currentNode.textContent = \" \";\n context.captureContentBinding(currentPart);\n }\n lastNode = currentNode;\n context.targetIndex++;\n if (currentNode !== node) {\n walker.nextNode();\n }\n }\n context.targetIndex--;\n }\n}\n/**\n * Compiles a template and associated directives into a raw compilation\n * result which include a cloneable DocumentFragment and factories capable\n * of attaching runtime behavior to nodes within the fragment.\n * @param template - The template to compile.\n * @param directives - The directives referenced by the template.\n * @remarks\n * The template that is provided for compilation is altered in-place\n * and cannot be compiled again. If the original template must be preserved,\n * it is recommended that you clone the original and pass the clone to this API.\n * @public\n */\nexport function compileTemplate(template, directives) {\n const fragment = template.content;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1111864\n document.adoptNode(fragment);\n const context = CompilationContext.borrow(directives);\n compileAttributes(context, template, true);\n const hostBehaviorFactories = context.behaviorFactories;\n context.reset();\n const walker = DOM.createTemplateWalker(fragment);\n let node;\n while ((node = walker.nextNode())) {\n context.targetIndex++;\n switch (node.nodeType) {\n case 1: // element node\n compileAttributes(context, node);\n break;\n case 3: // text node\n compileContent(context, node, walker);\n break;\n case 8: // comment\n if (DOM.isMarker(node)) {\n context.addFactory(directives[DOM.extractDirectiveIndexFromMarker(node)]);\n }\n }\n }\n let targetOffset = 0;\n if (\n // If the first node in a fragment is a marker, that means it's an unstable first node,\n // because something like a when, repeat, etc. could add nodes before the marker.\n // To mitigate this, we insert a stable first node. However, if we insert a node,\n // that will alter the result of the TreeWalker. So, we also need to offset the target index.\n DOM.isMarker(fragment.firstChild) ||\n // Or if there is only one node and a directive, it means the template's content\n // is *only* the directive. In that case, HTMLView.dispose() misses any nodes inserted by\n // the directive. Inserting a new node ensures proper disposal of nodes added by the directive.\n (fragment.childNodes.length === 1 && directives.length)) {\n fragment.insertBefore(document.createComment(\"\"), fragment.firstChild);\n targetOffset = -1;\n }\n const viewBehaviorFactories = context.behaviorFactories;\n context.release();\n return {\n fragment,\n viewBehaviorFactories,\n hostBehaviorFactories,\n targetOffset,\n };\n}\n", + "// A singleton Range instance used to efficiently remove ranges of DOM nodes.\n// See the implementation of HTMLView below for further details.\nconst range = document.createRange();\n/**\n * The standard View implementation, which also implements ElementView and SyntheticView.\n * @public\n */\nexport class HTMLView {\n /**\n * Constructs an instance of HTMLView.\n * @param fragment - The html fragment that contains the nodes for this view.\n * @param behaviors - The behaviors to be applied to this view.\n */\n constructor(fragment, behaviors) {\n this.fragment = fragment;\n this.behaviors = behaviors;\n /**\n * The data that the view is bound to.\n */\n this.source = null;\n /**\n * The execution context the view is running within.\n */\n this.context = null;\n this.firstChild = fragment.firstChild;\n this.lastChild = fragment.lastChild;\n }\n /**\n * Appends the view's DOM nodes to the referenced node.\n * @param node - The parent node to append the view's DOM nodes to.\n */\n appendTo(node) {\n node.appendChild(this.fragment);\n }\n /**\n * Inserts the view's DOM nodes before the referenced node.\n * @param node - The node to insert the view's DOM before.\n */\n insertBefore(node) {\n if (this.fragment.hasChildNodes()) {\n node.parentNode.insertBefore(this.fragment, node);\n }\n else {\n const end = this.lastChild;\n if (node.previousSibling === end)\n return;\n const parentNode = node.parentNode;\n let current = this.firstChild;\n let next;\n while (current !== end) {\n next = current.nextSibling;\n parentNode.insertBefore(current, node);\n current = next;\n }\n parentNode.insertBefore(end, node);\n }\n }\n /**\n * Removes the view's DOM nodes.\n * The nodes are not disposed and the view can later be re-inserted.\n */\n remove() {\n const fragment = this.fragment;\n const end = this.lastChild;\n let current = this.firstChild;\n let next;\n while (current !== end) {\n next = current.nextSibling;\n fragment.appendChild(current);\n current = next;\n }\n fragment.appendChild(end);\n }\n /**\n * Removes the view and unbinds its behaviors, disposing of DOM nodes afterward.\n * Once a view has been disposed, it cannot be inserted or bound again.\n */\n dispose() {\n const parent = this.firstChild.parentNode;\n const end = this.lastChild;\n let current = this.firstChild;\n let next;\n while (current !== end) {\n next = current.nextSibling;\n parent.removeChild(current);\n current = next;\n }\n parent.removeChild(end);\n const behaviors = this.behaviors;\n const oldSource = this.source;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].unbind(oldSource);\n }\n }\n /**\n * Binds a view's behaviors to its binding source.\n * @param source - The binding source for the view's binding behaviors.\n * @param context - The execution context to run the behaviors within.\n */\n bind(source, context) {\n const behaviors = this.behaviors;\n if (this.source === source) {\n return;\n }\n else if (this.source !== null) {\n const oldSource = this.source;\n this.source = source;\n this.context = context;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n const current = behaviors[i];\n current.unbind(oldSource);\n current.bind(source, context);\n }\n }\n else {\n this.source = source;\n this.context = context;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].bind(source, context);\n }\n }\n }\n /**\n * Unbinds a view's behaviors from its binding source.\n */\n unbind() {\n if (this.source === null) {\n return;\n }\n const behaviors = this.behaviors;\n const oldSource = this.source;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].unbind(oldSource);\n }\n this.source = null;\n }\n /**\n * Efficiently disposes of a contiguous range of synthetic view instances.\n * @param views - A contiguous range of views to be disposed.\n */\n static disposeContiguousBatch(views) {\n if (views.length === 0) {\n return;\n }\n range.setStartBefore(views[0].firstChild);\n range.setEndAfter(views[views.length - 1].lastChild);\n range.deleteContents();\n for (let i = 0, ii = views.length; i < ii; ++i) {\n const view = views[i];\n const behaviors = view.behaviors;\n const oldSource = view.source;\n for (let j = 0, jj = behaviors.length; j < jj; ++j) {\n behaviors[j].unbind(oldSource);\n }\n }\n }\n}\n", + "import { DOM } from \"../dom.js\";\nimport { defaultExecutionContext } from \"../observation/observable.js\";\nimport { compileTemplate } from \"./compiler.js\";\nimport { HTMLView } from \"./view.js\";\nimport { HTMLDirective, TargetedHTMLDirective, } from \"./html-directive.js\";\nimport { HTMLBindingDirective } from \"./binding.js\";\n/**\n * A template capable of creating HTMLView instances or rendering directly to DOM.\n * @public\n */\n/* eslint-disable-next-line @typescript-eslint/no-unused-vars */\nexport class ViewTemplate {\n /**\n * Creates an instance of ViewTemplate.\n * @param html - The html representing what this template will instantiate, including placeholders for directives.\n * @param directives - The directives that will be connected to placeholders in the html.\n */\n constructor(html, directives) {\n this.behaviorCount = 0;\n this.hasHostBehaviors = false;\n this.fragment = null;\n this.targetOffset = 0;\n this.viewBehaviorFactories = null;\n this.hostBehaviorFactories = null;\n this.html = html;\n this.directives = directives;\n }\n /**\n * Creates an HTMLView instance based on this template definition.\n * @param hostBindingTarget - The element that host behaviors will be bound to.\n */\n create(hostBindingTarget) {\n if (this.fragment === null) {\n let template;\n const html = this.html;\n if (typeof html === \"string\") {\n template = document.createElement(\"template\");\n template.innerHTML = DOM.createHTML(html);\n const fec = template.content.firstElementChild;\n if (fec !== null && fec.tagName === \"TEMPLATE\") {\n template = fec;\n }\n }\n else {\n template = html;\n }\n const result = compileTemplate(template, this.directives);\n this.fragment = result.fragment;\n this.viewBehaviorFactories = result.viewBehaviorFactories;\n this.hostBehaviorFactories = result.hostBehaviorFactories;\n this.targetOffset = result.targetOffset;\n this.behaviorCount =\n this.viewBehaviorFactories.length + this.hostBehaviorFactories.length;\n this.hasHostBehaviors = this.hostBehaviorFactories.length > 0;\n }\n const fragment = this.fragment.cloneNode(true);\n const viewFactories = this.viewBehaviorFactories;\n const behaviors = new Array(this.behaviorCount);\n const walker = DOM.createTemplateWalker(fragment);\n let behaviorIndex = 0;\n let targetIndex = this.targetOffset;\n let node = walker.nextNode();\n for (let ii = viewFactories.length; behaviorIndex < ii; ++behaviorIndex) {\n const factory = viewFactories[behaviorIndex];\n const factoryIndex = factory.targetIndex;\n while (node !== null) {\n if (targetIndex === factoryIndex) {\n behaviors[behaviorIndex] = factory.createBehavior(node);\n break;\n }\n else {\n node = walker.nextNode();\n targetIndex++;\n }\n }\n }\n if (this.hasHostBehaviors) {\n const hostFactories = this.hostBehaviorFactories;\n for (let i = 0, ii = hostFactories.length; i < ii; ++i, ++behaviorIndex) {\n behaviors[behaviorIndex] = hostFactories[i].createBehavior(hostBindingTarget);\n }\n }\n return new HTMLView(fragment, behaviors);\n }\n /**\n * Creates an HTMLView from this template, binds it to the source, and then appends it to the host.\n * @param source - The data source to bind the template to.\n * @param host - The Element where the template will be rendered.\n * @param hostBindingTarget - An HTML element to target the host bindings at if different from the\n * host that the template is being attached to.\n */\n render(source, host, hostBindingTarget) {\n if (typeof host === \"string\") {\n host = document.getElementById(host);\n }\n if (hostBindingTarget === void 0) {\n hostBindingTarget = host;\n }\n const view = this.create(hostBindingTarget);\n view.bind(source, defaultExecutionContext);\n view.appendTo(host);\n return view;\n }\n}\n// Much thanks to LitHTML for working this out!\nconst lastAttributeNameRegex = \n/* eslint-disable-next-line no-control-regex */\n/([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/;\n/**\n * Transforms a template literal string into a renderable ViewTemplate.\n * @param strings - The string fragments that are interpolated with the values.\n * @param values - The values that are interpolated with the string fragments.\n * @remarks\n * The html helper supports interpolation of strings, numbers, binding expressions,\n * other template instances, and Directive instances.\n * @public\n */\nexport function html(strings, ...values) {\n const directives = [];\n let html = \"\";\n for (let i = 0, ii = strings.length - 1; i < ii; ++i) {\n const currentString = strings[i];\n let value = values[i];\n html += currentString;\n if (value instanceof ViewTemplate) {\n const template = value;\n value = () => template;\n }\n if (typeof value === \"function\") {\n value = new HTMLBindingDirective(value);\n }\n if (value instanceof TargetedHTMLDirective) {\n const match = lastAttributeNameRegex.exec(currentString);\n if (match !== null) {\n value.targetName = match[2];\n }\n }\n if (value instanceof HTMLDirective) {\n // Since not all values are directives, we can't use i\n // as the index for the placeholder. Instead, we need to\n // use directives.length to get the next index.\n html += value.createPlaceholder(directives.length);\n directives.push(value);\n }\n else {\n html += value;\n }\n }\n html += strings[strings.length - 1];\n return new ViewTemplate(html, directives);\n}\n", + "import { DOM } from \"../dom.js\";\n/**\n * Represents styles that can be applied to a custom element.\n * @public\n */\nexport class ElementStyles {\n constructor() {\n this.targets = new WeakSet();\n }\n /** @internal */\n addStylesTo(target) {\n this.targets.add(target);\n }\n /** @internal */\n removeStylesFrom(target) {\n this.targets.delete(target);\n }\n /** @internal */\n isAttachedTo(target) {\n return this.targets.has(target);\n }\n /**\n * Associates behaviors with this set of styles.\n * @param behaviors - The behaviors to associate.\n */\n withBehaviors(...behaviors) {\n this.behaviors =\n this.behaviors === null ? behaviors : this.behaviors.concat(behaviors);\n return this;\n }\n}\n/**\n * Create ElementStyles from ComposableStyles.\n */\nElementStyles.create = (() => {\n if (DOM.supportsAdoptedStyleSheets) {\n const styleSheetCache = new Map();\n return (styles) => \n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n new AdoptedStyleSheetsStyles(styles, styleSheetCache);\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return (styles) => new StyleElementStyles(styles);\n})();\nfunction reduceStyles(styles) {\n return styles\n .map((x) => x instanceof ElementStyles ? reduceStyles(x.styles) : [x])\n .reduce((prev, curr) => prev.concat(curr), []);\n}\nfunction reduceBehaviors(styles) {\n return styles\n .map((x) => (x instanceof ElementStyles ? x.behaviors : null))\n .reduce((prev, curr) => {\n if (curr === null) {\n return prev;\n }\n if (prev === null) {\n prev = [];\n }\n return prev.concat(curr);\n }, null);\n}\n/**\n * A Symbol that can be added to a CSSStyleSheet to cause it to be prepended (rather than appended) to adoptedStyleSheets.\n * @public\n */\nexport const prependToAdoptedStyleSheetsSymbol = Symbol(\"prependToAdoptedStyleSheets\");\nfunction separateSheetsToPrepend(sheets) {\n const prepend = [];\n const append = [];\n sheets.forEach(x => (x[prependToAdoptedStyleSheetsSymbol] ? prepend : append).push(x));\n return { prepend, append };\n}\nlet addAdoptedStyleSheets = (target, sheets) => {\n const { prepend, append } = separateSheetsToPrepend(sheets);\n target.adoptedStyleSheets = [...prepend, ...target.adoptedStyleSheets, ...append];\n};\nlet removeAdoptedStyleSheets = (target, sheets) => {\n target.adoptedStyleSheets = target.adoptedStyleSheets.filter((x) => sheets.indexOf(x) === -1);\n};\nif (DOM.supportsAdoptedStyleSheets) {\n try {\n // Test if browser implementation uses FrozenArray.\n // If not, use push / splice to alter the stylesheets\n // in place. This circumvents a bug in Safari 16.4 where\n // periodically, assigning the array would previously\n // cause sheets to be removed.\n document.adoptedStyleSheets.push();\n document.adoptedStyleSheets.splice();\n addAdoptedStyleSheets = (target, sheets) => {\n const { prepend, append } = separateSheetsToPrepend(sheets);\n target.adoptedStyleSheets.splice(0, 0, ...prepend);\n target.adoptedStyleSheets.push(...append);\n };\n removeAdoptedStyleSheets = (target, sheets) => {\n for (const sheet of sheets) {\n const index = target.adoptedStyleSheets.indexOf(sheet);\n if (index !== -1) {\n target.adoptedStyleSheets.splice(index, 1);\n }\n }\n };\n }\n catch (e) {\n // Do nothing if an error is thrown, the default\n // case handles FrozenArray.\n }\n}\n/**\n * https://wicg.github.io/construct-stylesheets/\n * https://developers.google.com/web/updates/2019/02/constructable-stylesheets\n *\n * @internal\n */\nexport class AdoptedStyleSheetsStyles extends ElementStyles {\n constructor(styles, styleSheetCache) {\n super();\n this.styles = styles;\n this.styleSheetCache = styleSheetCache;\n this._styleSheets = void 0;\n this.behaviors = reduceBehaviors(styles);\n }\n get styleSheets() {\n if (this._styleSheets === void 0) {\n const styles = this.styles;\n const styleSheetCache = this.styleSheetCache;\n this._styleSheets = reduceStyles(styles).map((x) => {\n if (x instanceof CSSStyleSheet) {\n return x;\n }\n let sheet = styleSheetCache.get(x);\n if (sheet === void 0) {\n sheet = new CSSStyleSheet();\n sheet.replaceSync(x);\n styleSheetCache.set(x, sheet);\n }\n return sheet;\n });\n }\n return this._styleSheets;\n }\n addStylesTo(target) {\n addAdoptedStyleSheets(target, this.styleSheets);\n super.addStylesTo(target);\n }\n removeStylesFrom(target) {\n removeAdoptedStyleSheets(target, this.styleSheets);\n super.removeStylesFrom(target);\n }\n}\nlet styleClassId = 0;\nfunction getNextStyleClass() {\n return `fast-style-class-${++styleClassId}`;\n}\n/**\n * @internal\n */\nexport class StyleElementStyles extends ElementStyles {\n constructor(styles) {\n super();\n this.styles = styles;\n this.behaviors = null;\n this.behaviors = reduceBehaviors(styles);\n this.styleSheets = reduceStyles(styles);\n this.styleClass = getNextStyleClass();\n }\n addStylesTo(target) {\n const styleSheets = this.styleSheets;\n const styleClass = this.styleClass;\n target = this.normalizeTarget(target);\n for (let i = 0; i < styleSheets.length; i++) {\n const element = document.createElement(\"style\");\n element.innerHTML = styleSheets[i];\n element.className = styleClass;\n target.append(element);\n }\n super.addStylesTo(target);\n }\n removeStylesFrom(target) {\n target = this.normalizeTarget(target);\n const styles = target.querySelectorAll(`.${this.styleClass}`);\n for (let i = 0, ii = styles.length; i < ii; ++i) {\n target.removeChild(styles[i]);\n }\n super.removeStylesFrom(target);\n }\n isAttachedTo(target) {\n return super.isAttachedTo(this.normalizeTarget(target));\n }\n normalizeTarget(target) {\n return target === document ? document.body : target;\n }\n}\n", + "import { Observable } from \"../observation/observable.js\";\nimport { DOM } from \"../dom.js\";\nimport { createMetadataLocator } from \"../platform.js\";\n/**\n * Metadata used to configure a custom attribute's behavior.\n * @public\n */\nexport const AttributeConfiguration = Object.freeze({\n /**\n * Locates all attribute configurations associated with a type.\n */\n locate: createMetadataLocator(),\n});\n/**\n * A {@link ValueConverter} that converts to and from `boolean` values.\n * @remarks\n * Used automatically when the `boolean` {@link AttributeMode} is selected.\n * @public\n */\nexport const booleanConverter = {\n toView(value) {\n return value ? \"true\" : \"false\";\n },\n fromView(value) {\n if (value === null ||\n value === void 0 ||\n value === \"false\" ||\n value === false ||\n value === 0) {\n return false;\n }\n return true;\n },\n};\n/**\n * A {@link ValueConverter} that converts to and from `number` values.\n * @remarks\n * This converter allows for nullable numbers, returning `null` if the\n * input was `null`, `undefined`, or `NaN`.\n * @public\n */\nexport const nullableNumberConverter = {\n toView(value) {\n if (value === null || value === undefined) {\n return null;\n }\n const number = value * 1;\n return isNaN(number) ? null : number.toString();\n },\n fromView(value) {\n if (value === null || value === undefined) {\n return null;\n }\n const number = value * 1;\n return isNaN(number) ? null : number;\n },\n};\n/**\n * An implementation of {@link Accessor} that supports reactivity,\n * change callbacks, attribute reflection, and type conversion for\n * custom elements.\n * @public\n */\nexport class AttributeDefinition {\n /**\n * Creates an instance of AttributeDefinition.\n * @param Owner - The class constructor that owns this attribute.\n * @param name - The name of the property associated with the attribute.\n * @param attribute - The name of the attribute in HTML.\n * @param mode - The {@link AttributeMode} that describes the behavior of this attribute.\n * @param converter - A {@link ValueConverter} that integrates with the property getter/setter\n * to convert values to and from a DOM string.\n */\n constructor(Owner, name, attribute = name.toLowerCase(), mode = \"reflect\", converter) {\n this.guards = new Set();\n this.Owner = Owner;\n this.name = name;\n this.attribute = attribute;\n this.mode = mode;\n this.converter = converter;\n this.fieldName = `_${name}`;\n this.callbackName = `${name}Changed`;\n this.hasCallback = this.callbackName in Owner.prototype;\n if (mode === \"boolean\" && converter === void 0) {\n this.converter = booleanConverter;\n }\n }\n /**\n * Sets the value of the attribute/property on the source element.\n * @param source - The source element to access.\n * @param value - The value to set the attribute/property to.\n */\n setValue(source, newValue) {\n const oldValue = source[this.fieldName];\n const converter = this.converter;\n if (converter !== void 0) {\n newValue = converter.fromView(newValue);\n }\n if (oldValue !== newValue) {\n source[this.fieldName] = newValue;\n this.tryReflectToAttribute(source);\n if (this.hasCallback) {\n source[this.callbackName](oldValue, newValue);\n }\n source.$fastController.notify(this.name);\n }\n }\n /**\n * Gets the value of the attribute/property on the source element.\n * @param source - The source element to access.\n */\n getValue(source) {\n Observable.track(source, this.name);\n return source[this.fieldName];\n }\n /** @internal */\n onAttributeChangedCallback(element, value) {\n if (this.guards.has(element)) {\n return;\n }\n this.guards.add(element);\n this.setValue(element, value);\n this.guards.delete(element);\n }\n tryReflectToAttribute(element) {\n const mode = this.mode;\n const guards = this.guards;\n if (guards.has(element) || mode === \"fromView\") {\n return;\n }\n DOM.queueUpdate(() => {\n guards.add(element);\n const latestValue = element[this.fieldName];\n switch (mode) {\n case \"reflect\":\n const converter = this.converter;\n DOM.setAttribute(element, this.attribute, converter !== void 0 ? converter.toView(latestValue) : latestValue);\n break;\n case \"boolean\":\n DOM.setBooleanAttribute(element, this.attribute, latestValue);\n break;\n }\n guards.delete(element);\n });\n }\n /**\n * Collects all attribute definitions associated with the owner.\n * @param Owner - The class constructor to collect attribute for.\n * @param attributeLists - Any existing attributes to collect and merge with those associated with the owner.\n * @internal\n */\n static collect(Owner, ...attributeLists) {\n const attributes = [];\n attributeLists.push(AttributeConfiguration.locate(Owner));\n for (let i = 0, ii = attributeLists.length; i < ii; ++i) {\n const list = attributeLists[i];\n if (list === void 0) {\n continue;\n }\n for (let j = 0, jj = list.length; j < jj; ++j) {\n const config = list[j];\n if (typeof config === \"string\") {\n attributes.push(new AttributeDefinition(Owner, config));\n }\n else {\n attributes.push(new AttributeDefinition(Owner, config.property, config.attribute, config.mode, config.converter));\n }\n }\n }\n return attributes;\n }\n}\nexport function attr(configOrTarget, prop) {\n let config;\n function decorator($target, $prop) {\n if (arguments.length > 1) {\n // Non invocation:\n // - @attr\n // Invocation with or w/o opts:\n // - @attr()\n // - @attr({...opts})\n config.property = $prop;\n }\n AttributeConfiguration.locate($target.constructor).push(config);\n }\n if (arguments.length > 1) {\n // Non invocation:\n // - @attr\n config = {};\n decorator(configOrTarget, prop);\n return;\n }\n // Invocation with or w/o opts:\n // - @attr()\n // - @attr({...opts})\n config = configOrTarget === void 0 ? {} : configOrTarget;\n return decorator;\n}\n", + "import { FAST } from \"../platform.js\";\nimport { Observable } from \"../observation/observable.js\";\nimport { ElementStyles } from \"../styles/element-styles.js\";\nimport { AttributeDefinition } from \"./attributes.js\";\nconst defaultShadowOptions = { mode: \"open\" };\nconst defaultElementOptions = {};\nconst fastRegistry = FAST.getById(4 /* elementRegistry */, () => {\n const typeToDefinition = new Map();\n return Object.freeze({\n register(definition) {\n if (typeToDefinition.has(definition.type)) {\n return false;\n }\n typeToDefinition.set(definition.type, definition);\n return true;\n },\n getByType(key) {\n return typeToDefinition.get(key);\n },\n });\n});\n/**\n * Defines metadata for a FASTElement.\n * @public\n */\nexport class FASTElementDefinition {\n /**\n * Creates an instance of FASTElementDefinition.\n * @param type - The type this definition is being created for.\n * @param nameOrConfig - The name of the element to define or a config object\n * that describes the element to define.\n */\n constructor(type, nameOrConfig = type.definition) {\n if (typeof nameOrConfig === \"string\") {\n nameOrConfig = { name: nameOrConfig };\n }\n this.type = type;\n this.name = nameOrConfig.name;\n this.template = nameOrConfig.template;\n const attributes = AttributeDefinition.collect(type, nameOrConfig.attributes);\n const observedAttributes = new Array(attributes.length);\n const propertyLookup = {};\n const attributeLookup = {};\n for (let i = 0, ii = attributes.length; i < ii; ++i) {\n const current = attributes[i];\n observedAttributes[i] = current.attribute;\n propertyLookup[current.name] = current;\n attributeLookup[current.attribute] = current;\n }\n this.attributes = attributes;\n this.observedAttributes = observedAttributes;\n this.propertyLookup = propertyLookup;\n this.attributeLookup = attributeLookup;\n this.shadowOptions =\n nameOrConfig.shadowOptions === void 0\n ? defaultShadowOptions\n : nameOrConfig.shadowOptions === null\n ? void 0\n : Object.assign(Object.assign({}, defaultShadowOptions), nameOrConfig.shadowOptions);\n this.elementOptions =\n nameOrConfig.elementOptions === void 0\n ? defaultElementOptions\n : Object.assign(Object.assign({}, defaultElementOptions), nameOrConfig.elementOptions);\n this.styles =\n nameOrConfig.styles === void 0\n ? void 0\n : Array.isArray(nameOrConfig.styles)\n ? ElementStyles.create(nameOrConfig.styles)\n : nameOrConfig.styles instanceof ElementStyles\n ? nameOrConfig.styles\n : ElementStyles.create([nameOrConfig.styles]);\n }\n /**\n * Indicates if this element has been defined in at least one registry.\n */\n get isDefined() {\n return !!fastRegistry.getByType(this.type);\n }\n /**\n * Defines a custom element based on this definition.\n * @param registry - The element registry to define the element in.\n */\n define(registry = customElements) {\n const type = this.type;\n if (fastRegistry.register(this)) {\n const attributes = this.attributes;\n const proto = type.prototype;\n for (let i = 0, ii = attributes.length; i < ii; ++i) {\n Observable.defineProperty(proto, attributes[i]);\n }\n Reflect.defineProperty(type, \"observedAttributes\", {\n value: this.observedAttributes,\n enumerable: true,\n });\n }\n if (!registry.get(this.name)) {\n registry.define(this.name, type, this.elementOptions);\n }\n return this;\n }\n}\n/**\n * Gets the element definition associated with the specified type.\n * @param type - The custom element type to retrieve the definition for.\n */\nFASTElementDefinition.forType = fastRegistry.getByType;\n", + "import { DOM } from \"../dom.js\";\nimport { PropertyChangeNotifier } from \"../observation/notifier.js\";\nimport { defaultExecutionContext, Observable } from \"../observation/observable.js\";\nimport { FASTElementDefinition } from \"./fast-definitions.js\";\nconst shadowRoots = new WeakMap();\nconst defaultEventOptions = {\n bubbles: true,\n composed: true,\n cancelable: true,\n};\nfunction getShadowRoot(element) {\n return element.shadowRoot || shadowRoots.get(element) || null;\n}\n/**\n * Controls the lifecycle and rendering of a `FASTElement`.\n * @public\n */\nexport class Controller extends PropertyChangeNotifier {\n /**\n * Creates a Controller to control the specified element.\n * @param element - The element to be controlled by this controller.\n * @param definition - The element definition metadata that instructs this\n * controller in how to handle rendering and other platform integrations.\n * @internal\n */\n constructor(element, definition) {\n super(element);\n this.boundObservables = null;\n this.behaviors = null;\n this.needsInitialization = true;\n this._template = null;\n this._styles = null;\n this._isConnected = false;\n /**\n * This allows Observable.getNotifier(...) to return the Controller\n * when the notifier for the Controller itself is being requested. The\n * result is that the Observable system does not need to create a separate\n * instance of Notifier for observables on the Controller. The component and\n * the controller will now share the same notifier, removing one-object construct\n * per web component instance.\n */\n this.$fastController = this;\n /**\n * The view associated with the custom element.\n * @remarks\n * If `null` then the element is managing its own rendering.\n */\n this.view = null;\n this.element = element;\n this.definition = definition;\n const shadowOptions = definition.shadowOptions;\n if (shadowOptions !== void 0) {\n const shadowRoot = element.attachShadow(shadowOptions);\n if (shadowOptions.mode === \"closed\") {\n shadowRoots.set(element, shadowRoot);\n }\n }\n // Capture any observable values that were set by the binding engine before\n // the browser upgraded the element. Then delete the property since it will\n // shadow the getter/setter that is required to make the observable operate.\n // Later, in the connect callback, we'll re-apply the values.\n const accessors = Observable.getAccessors(element);\n if (accessors.length > 0) {\n const boundObservables = (this.boundObservables = Object.create(null));\n for (let i = 0, ii = accessors.length; i < ii; ++i) {\n const propertyName = accessors[i].name;\n const value = element[propertyName];\n if (value !== void 0) {\n delete element[propertyName];\n boundObservables[propertyName] = value;\n }\n }\n }\n }\n /**\n * Indicates whether or not the custom element has been\n * connected to the document.\n */\n get isConnected() {\n Observable.track(this, \"isConnected\");\n return this._isConnected;\n }\n setIsConnected(value) {\n this._isConnected = value;\n Observable.notify(this, \"isConnected\");\n }\n /**\n * Gets/sets the template used to render the component.\n * @remarks\n * This value can only be accurately read after connect but can be set at any time.\n */\n get template() {\n return this._template;\n }\n set template(value) {\n if (this._template === value) {\n return;\n }\n this._template = value;\n if (!this.needsInitialization) {\n this.renderTemplate(value);\n }\n }\n /**\n * Gets/sets the primary styles used for the component.\n * @remarks\n * This value can only be accurately read after connect but can be set at any time.\n */\n get styles() {\n return this._styles;\n }\n set styles(value) {\n if (this._styles === value) {\n return;\n }\n if (this._styles !== null) {\n this.removeStyles(this._styles);\n }\n this._styles = value;\n if (!this.needsInitialization && value !== null) {\n this.addStyles(value);\n }\n }\n /**\n * Adds styles to this element. Providing an HTMLStyleElement will attach the element instance to the shadowRoot.\n * @param styles - The styles to add.\n */\n addStyles(styles) {\n const target = getShadowRoot(this.element) ||\n this.element.getRootNode();\n if (styles instanceof HTMLStyleElement) {\n target.append(styles);\n }\n else if (!styles.isAttachedTo(target)) {\n const sourceBehaviors = styles.behaviors;\n styles.addStylesTo(target);\n if (sourceBehaviors !== null) {\n this.addBehaviors(sourceBehaviors);\n }\n }\n }\n /**\n * Removes styles from this element. Providing an HTMLStyleElement will detach the element instance from the shadowRoot.\n * @param styles - the styles to remove.\n */\n removeStyles(styles) {\n const target = getShadowRoot(this.element) ||\n this.element.getRootNode();\n if (styles instanceof HTMLStyleElement) {\n target.removeChild(styles);\n }\n else if (styles.isAttachedTo(target)) {\n const sourceBehaviors = styles.behaviors;\n styles.removeStylesFrom(target);\n if (sourceBehaviors !== null) {\n this.removeBehaviors(sourceBehaviors);\n }\n }\n }\n /**\n * Adds behaviors to this element.\n * @param behaviors - The behaviors to add.\n */\n addBehaviors(behaviors) {\n const targetBehaviors = this.behaviors || (this.behaviors = new Map());\n const length = behaviors.length;\n const behaviorsToBind = [];\n for (let i = 0; i < length; ++i) {\n const behavior = behaviors[i];\n if (targetBehaviors.has(behavior)) {\n targetBehaviors.set(behavior, targetBehaviors.get(behavior) + 1);\n }\n else {\n targetBehaviors.set(behavior, 1);\n behaviorsToBind.push(behavior);\n }\n }\n if (this._isConnected) {\n const element = this.element;\n for (let i = 0; i < behaviorsToBind.length; ++i) {\n behaviorsToBind[i].bind(element, defaultExecutionContext);\n }\n }\n }\n /**\n * Removes behaviors from this element.\n * @param behaviors - The behaviors to remove.\n * @param force - Forces unbinding of behaviors.\n */\n removeBehaviors(behaviors, force = false) {\n const targetBehaviors = this.behaviors;\n if (targetBehaviors === null) {\n return;\n }\n const length = behaviors.length;\n const behaviorsToUnbind = [];\n for (let i = 0; i < length; ++i) {\n const behavior = behaviors[i];\n if (targetBehaviors.has(behavior)) {\n const count = targetBehaviors.get(behavior) - 1;\n count === 0 || force\n ? targetBehaviors.delete(behavior) && behaviorsToUnbind.push(behavior)\n : targetBehaviors.set(behavior, count);\n }\n }\n if (this._isConnected) {\n const element = this.element;\n for (let i = 0; i < behaviorsToUnbind.length; ++i) {\n behaviorsToUnbind[i].unbind(element);\n }\n }\n }\n /**\n * Runs connected lifecycle behavior on the associated element.\n */\n onConnectedCallback() {\n if (this._isConnected) {\n return;\n }\n const element = this.element;\n if (this.needsInitialization) {\n this.finishInitialization();\n }\n else if (this.view !== null) {\n this.view.bind(element, defaultExecutionContext);\n }\n const behaviors = this.behaviors;\n if (behaviors !== null) {\n for (const [behavior] of behaviors) {\n behavior.bind(element, defaultExecutionContext);\n }\n }\n this.setIsConnected(true);\n }\n /**\n * Runs disconnected lifecycle behavior on the associated element.\n */\n onDisconnectedCallback() {\n if (!this._isConnected) {\n return;\n }\n this.setIsConnected(false);\n const view = this.view;\n if (view !== null) {\n view.unbind();\n }\n const behaviors = this.behaviors;\n if (behaviors !== null) {\n const element = this.element;\n for (const [behavior] of behaviors) {\n behavior.unbind(element);\n }\n }\n }\n /**\n * Runs the attribute changed callback for the associated element.\n * @param name - The name of the attribute that changed.\n * @param oldValue - The previous value of the attribute.\n * @param newValue - The new value of the attribute.\n */\n onAttributeChangedCallback(name, oldValue, newValue) {\n const attrDef = this.definition.attributeLookup[name];\n if (attrDef !== void 0) {\n attrDef.onAttributeChangedCallback(this.element, newValue);\n }\n }\n /**\n * Emits a custom HTML event.\n * @param type - The type name of the event.\n * @param detail - The event detail object to send with the event.\n * @param options - The event options. By default bubbles and composed.\n * @remarks\n * Only emits events if connected.\n */\n emit(type, detail, options) {\n if (this._isConnected) {\n return this.element.dispatchEvent(new CustomEvent(type, Object.assign(Object.assign({ detail }, defaultEventOptions), options)));\n }\n return false;\n }\n finishInitialization() {\n const element = this.element;\n const boundObservables = this.boundObservables;\n // If we have any observables that were bound, re-apply their values.\n if (boundObservables !== null) {\n const propertyNames = Object.keys(boundObservables);\n for (let i = 0, ii = propertyNames.length; i < ii; ++i) {\n const propertyName = propertyNames[i];\n element[propertyName] = boundObservables[propertyName];\n }\n this.boundObservables = null;\n }\n const definition = this.definition;\n // 1. Template overrides take top precedence.\n if (this._template === null) {\n if (this.element.resolveTemplate) {\n // 2. Allow for element instance overrides next.\n this._template = this.element.resolveTemplate();\n }\n else if (definition.template) {\n // 3. Default to the static definition.\n this._template = definition.template || null;\n }\n }\n // If we have a template after the above process, render it.\n // If there's no template, then the element author has opted into\n // custom rendering and they will managed the shadow root's content themselves.\n if (this._template !== null) {\n this.renderTemplate(this._template);\n }\n // 1. Styles overrides take top precedence.\n if (this._styles === null) {\n if (this.element.resolveStyles) {\n // 2. Allow for element instance overrides next.\n this._styles = this.element.resolveStyles();\n }\n else if (definition.styles) {\n // 3. Default to the static definition.\n this._styles = definition.styles || null;\n }\n }\n // If we have styles after the above process, add them.\n if (this._styles !== null) {\n this.addStyles(this._styles);\n }\n this.needsInitialization = false;\n }\n renderTemplate(template) {\n const element = this.element;\n // When getting the host to render to, we start by looking\n // up the shadow root. If there isn't one, then that means\n // we're doing a Light DOM render to the element's direct children.\n const host = getShadowRoot(element) || element;\n if (this.view !== null) {\n // If there's already a view, we need to unbind and remove through dispose.\n this.view.dispose();\n this.view = null;\n }\n else if (!this.needsInitialization) {\n // If there was previous custom rendering, we need to clear out the host.\n DOM.removeChildNodes(host);\n }\n if (template) {\n // If a new template was provided, render it.\n this.view = template.render(element, host, element);\n }\n }\n /**\n * Locates or creates a controller for the specified element.\n * @param element - The element to return the controller for.\n * @remarks\n * The specified element must have a {@link FASTElementDefinition}\n * registered either through the use of the {@link customElement}\n * decorator or a call to `FASTElement.define`.\n */\n static forCustomElement(element) {\n const controller = element.$fastController;\n if (controller !== void 0) {\n return controller;\n }\n const definition = FASTElementDefinition.forType(element.constructor);\n if (definition === void 0) {\n throw new Error(\"Missing FASTElement definition.\");\n }\n return (element.$fastController = new Controller(element, definition));\n }\n}\n", + "import { Controller } from \"./controller.js\";\nimport { FASTElementDefinition, } from \"./fast-definitions.js\";\n/* eslint-disable-next-line @typescript-eslint/explicit-function-return-type */\nfunction createFASTElement(BaseType) {\n return class extends BaseType {\n constructor() {\n /* eslint-disable-next-line */\n super();\n Controller.forCustomElement(this);\n }\n $emit(type, detail, options) {\n return this.$fastController.emit(type, detail, options);\n }\n connectedCallback() {\n this.$fastController.onConnectedCallback();\n }\n disconnectedCallback() {\n this.$fastController.onDisconnectedCallback();\n }\n attributeChangedCallback(name, oldValue, newValue) {\n this.$fastController.onAttributeChangedCallback(name, oldValue, newValue);\n }\n };\n}\n/**\n * A minimal base class for FASTElements that also provides\n * static helpers for working with FASTElements.\n * @public\n */\nexport const FASTElement = Object.assign(createFASTElement(HTMLElement), {\n /**\n * Creates a new FASTElement base class inherited from the\n * provided base type.\n * @param BaseType - The base element type to inherit from.\n */\n from(BaseType) {\n return createFASTElement(BaseType);\n },\n /**\n * Defines a platform custom element based on the provided type and definition.\n * @param type - The custom element type to define.\n * @param nameOrDef - The name of the element to define or a definition object\n * that describes the element to define.\n */\n define(type, nameOrDef) {\n return new FASTElementDefinition(type, nameOrDef).define().type;\n },\n});\n/**\n * Decorator: Defines a platform custom element based on `FASTElement`.\n * @param nameOrDef - The name of the element to define or a definition object\n * that describes the element to define.\n * @public\n */\nexport function customElement(nameOrDef) {\n /* eslint-disable-next-line @typescript-eslint/explicit-function-return-type */\n return function (type) {\n new FASTElementDefinition(type, nameOrDef).define();\n };\n}\n", + "/**\n * Directive for use in {@link css}.\n *\n * @public\n */\nexport class CSSDirective {\n /**\n * Creates a CSS fragment to interpolate into the CSS document.\n * @returns - the string to interpolate into CSS\n */\n createCSS() {\n return \"\";\n }\n /**\n * Creates a behavior to bind to the host element.\n * @returns - the behavior to bind to the host element, or undefined.\n */\n createBehavior() {\n return undefined;\n }\n}\n", + "import { CSSDirective } from \"./css-directive.js\";\nimport { ElementStyles } from \"./element-styles.js\";\nfunction collectStyles(strings, values) {\n const styles = [];\n let cssString = \"\";\n const behaviors = [];\n for (let i = 0, ii = strings.length - 1; i < ii; ++i) {\n cssString += strings[i];\n let value = values[i];\n if (value instanceof CSSDirective) {\n const behavior = value.createBehavior();\n value = value.createCSS();\n if (behavior) {\n behaviors.push(behavior);\n }\n }\n if (value instanceof ElementStyles || value instanceof CSSStyleSheet) {\n if (cssString.trim() !== \"\") {\n styles.push(cssString);\n cssString = \"\";\n }\n styles.push(value);\n }\n else {\n cssString += value;\n }\n }\n cssString += strings[strings.length - 1];\n if (cssString.trim() !== \"\") {\n styles.push(cssString);\n }\n return {\n styles,\n behaviors,\n };\n}\n/**\n * Transforms a template literal string into styles.\n * @param strings - The string fragments that are interpolated with the values.\n * @param values - The values that are interpolated with the string fragments.\n * @remarks\n * The css helper supports interpolation of strings and ElementStyle instances.\n * @public\n */\nexport function css(strings, ...values) {\n const { styles, behaviors } = collectStyles(strings, values);\n const elementStyles = ElementStyles.create(styles);\n if (behaviors.length) {\n elementStyles.withBehaviors(...behaviors);\n }\n return elementStyles;\n}\nclass CSSPartial extends CSSDirective {\n constructor(styles, behaviors) {\n super();\n this.behaviors = behaviors;\n this.css = \"\";\n const stylesheets = styles.reduce((accumulated, current) => {\n if (typeof current === \"string\") {\n this.css += current;\n }\n else {\n accumulated.push(current);\n }\n return accumulated;\n }, []);\n if (stylesheets.length) {\n this.styles = ElementStyles.create(stylesheets);\n }\n }\n createBehavior() {\n return this;\n }\n createCSS() {\n return this.css;\n }\n bind(el) {\n if (this.styles) {\n el.$fastController.addStyles(this.styles);\n }\n if (this.behaviors.length) {\n el.$fastController.addBehaviors(this.behaviors);\n }\n }\n unbind(el) {\n if (this.styles) {\n el.$fastController.removeStyles(this.styles);\n }\n if (this.behaviors.length) {\n el.$fastController.removeBehaviors(this.behaviors);\n }\n }\n}\n/**\n * Transforms a template literal string into partial CSS.\n * @param strings - The string fragments that are interpolated with the values.\n * @param values - The values that are interpolated with the string fragments.\n * @public\n */\nexport function cssPartial(strings, ...values) {\n const { styles, behaviors } = collectStyles(strings, values);\n return new CSSPartial(styles, behaviors);\n}\n", + "import { emptyArray } from \"../platform.js\";\n/** @internal */\nexport function newSplice(index, removed, addedCount) {\n return {\n index: index,\n removed: removed,\n addedCount: addedCount,\n };\n}\nconst EDIT_LEAVE = 0;\nconst EDIT_UPDATE = 1;\nconst EDIT_ADD = 2;\nconst EDIT_DELETE = 3;\n// Note: This function is *based* on the computation of the Levenshtein\n// \"edit\" distance. The one change is that \"updates\" are treated as two\n// edits - not one. With Array splices, an update is really a delete\n// followed by an add. By retaining this, we optimize for \"keeping\" the\n// maximum array items in the original array. For example:\n//\n// 'xxxx123' -> '123yyyy'\n//\n// With 1-edit updates, the shortest path would be just to update all seven\n// characters. With 2-edit updates, we delete 4, leave 3, and add 4. This\n// leaves the substring '123' intact.\nfunction calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n // \"Deletion\" columns\n const rowCount = oldEnd - oldStart + 1;\n const columnCount = currentEnd - currentStart + 1;\n const distances = new Array(rowCount);\n let north;\n let west;\n // \"Addition\" rows. Initialize null column.\n for (let i = 0; i < rowCount; ++i) {\n distances[i] = new Array(columnCount);\n distances[i][0] = i;\n }\n // Initialize null row\n for (let j = 0; j < columnCount; ++j) {\n distances[0][j] = j;\n }\n for (let i = 1; i < rowCount; ++i) {\n for (let j = 1; j < columnCount; ++j) {\n if (current[currentStart + j - 1] === old[oldStart + i - 1]) {\n distances[i][j] = distances[i - 1][j - 1];\n }\n else {\n north = distances[i - 1][j] + 1;\n west = distances[i][j - 1] + 1;\n distances[i][j] = north < west ? north : west;\n }\n }\n }\n return distances;\n}\n// This starts at the final weight, and walks \"backward\" by finding\n// the minimum previous weight recursively until the origin of the weight\n// matrix.\nfunction spliceOperationsFromEditDistances(distances) {\n let i = distances.length - 1;\n let j = distances[0].length - 1;\n let current = distances[i][j];\n const edits = [];\n while (i > 0 || j > 0) {\n if (i === 0) {\n edits.push(EDIT_ADD);\n j--;\n continue;\n }\n if (j === 0) {\n edits.push(EDIT_DELETE);\n i--;\n continue;\n }\n const northWest = distances[i - 1][j - 1];\n const west = distances[i - 1][j];\n const north = distances[i][j - 1];\n let min;\n if (west < north) {\n min = west < northWest ? west : northWest;\n }\n else {\n min = north < northWest ? north : northWest;\n }\n if (min === northWest) {\n if (northWest === current) {\n edits.push(EDIT_LEAVE);\n }\n else {\n edits.push(EDIT_UPDATE);\n current = northWest;\n }\n i--;\n j--;\n }\n else if (min === west) {\n edits.push(EDIT_DELETE);\n i--;\n current = west;\n }\n else {\n edits.push(EDIT_ADD);\n j--;\n current = north;\n }\n }\n edits.reverse();\n return edits;\n}\nfunction sharedPrefix(current, old, searchLength) {\n for (let i = 0; i < searchLength; ++i) {\n if (current[i] !== old[i]) {\n return i;\n }\n }\n return searchLength;\n}\nfunction sharedSuffix(current, old, searchLength) {\n let index1 = current.length;\n let index2 = old.length;\n let count = 0;\n while (count < searchLength && current[--index1] === old[--index2]) {\n count++;\n }\n return count;\n}\nfunction intersect(start1, end1, start2, end2) {\n // Disjoint\n if (end1 < start2 || end2 < start1) {\n return -1;\n }\n // Adjacent\n if (end1 === start2 || end2 === start1) {\n return 0;\n }\n // Non-zero intersect, span1 first\n if (start1 < start2) {\n if (end1 < end2) {\n return end1 - start2; // Overlap\n }\n return end2 - start2; // Contained\n }\n // Non-zero intersect, span2 first\n if (end2 < end1) {\n return end2 - start1; // Overlap\n }\n return end1 - start1; // Contained\n}\n/**\n * Splice Projection functions:\n *\n * A splice map is a representation of how a previous array of items\n * was transformed into a new array of items. Conceptually it is a list of\n * tuples of\n *\n * <index, removed, addedCount>\n *\n * which are kept in ascending index order of. The tuple represents that at\n * the |index|, |removed| sequence of items were removed, and counting forward\n * from |index|, |addedCount| items were added.\n */\n/**\n * @internal\n * @remarks\n * Lacking individual splice mutation information, the minimal set of\n * splices can be synthesized given the previous state and final state of an\n * array. The basic approach is to calculate the edit distance matrix and\n * choose the shortest path through it.\n *\n * Complexity: O(l * p)\n * l: The length of the current array\n * p: The length of the old array\n */\nexport function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n let prefixCount = 0;\n let suffixCount = 0;\n const minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart);\n if (currentStart === 0 && oldStart === 0) {\n prefixCount = sharedPrefix(current, old, minLength);\n }\n if (currentEnd === current.length && oldEnd === old.length) {\n suffixCount = sharedSuffix(current, old, minLength - prefixCount);\n }\n currentStart += prefixCount;\n oldStart += prefixCount;\n currentEnd -= suffixCount;\n oldEnd -= suffixCount;\n if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) {\n return emptyArray;\n }\n if (currentStart === currentEnd) {\n const splice = newSplice(currentStart, [], 0);\n while (oldStart < oldEnd) {\n splice.removed.push(old[oldStart++]);\n }\n return [splice];\n }\n else if (oldStart === oldEnd) {\n return [newSplice(currentStart, [], currentEnd - currentStart)];\n }\n const ops = spliceOperationsFromEditDistances(calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd));\n const splices = [];\n let splice = void 0;\n let index = currentStart;\n let oldIndex = oldStart;\n for (let i = 0; i < ops.length; ++i) {\n switch (ops[i]) {\n case EDIT_LEAVE:\n if (splice !== void 0) {\n splices.push(splice);\n splice = void 0;\n }\n index++;\n oldIndex++;\n break;\n case EDIT_UPDATE:\n if (splice === void 0) {\n splice = newSplice(index, [], 0);\n }\n splice.addedCount++;\n index++;\n splice.removed.push(old[oldIndex]);\n oldIndex++;\n break;\n case EDIT_ADD:\n if (splice === void 0) {\n splice = newSplice(index, [], 0);\n }\n splice.addedCount++;\n index++;\n break;\n case EDIT_DELETE:\n if (splice === void 0) {\n splice = newSplice(index, [], 0);\n }\n splice.removed.push(old[oldIndex]);\n oldIndex++;\n break;\n // no default\n }\n }\n if (splice !== void 0) {\n splices.push(splice);\n }\n return splices;\n}\nconst $push = Array.prototype.push;\nfunction mergeSplice(splices, index, removed, addedCount) {\n const splice = newSplice(index, removed, addedCount);\n let inserted = false;\n let insertionOffset = 0;\n for (let i = 0; i < splices.length; i++) {\n const current = splices[i];\n current.index += insertionOffset;\n if (inserted) {\n continue;\n }\n const intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount);\n if (intersectCount >= 0) {\n // Merge the two splices\n splices.splice(i, 1);\n i--;\n insertionOffset -= current.addedCount - current.removed.length;\n splice.addedCount += current.addedCount - intersectCount;\n const deleteCount = splice.removed.length + current.removed.length - intersectCount;\n if (!splice.addedCount && !deleteCount) {\n // merged splice is a noop. discard.\n inserted = true;\n }\n else {\n let currentRemoved = current.removed;\n if (splice.index < current.index) {\n // some prefix of splice.removed is prepended to current.removed.\n const prepend = splice.removed.slice(0, current.index - splice.index);\n $push.apply(prepend, currentRemoved);\n currentRemoved = prepend;\n }\n if (splice.index + splice.removed.length >\n current.index + current.addedCount) {\n // some suffix of splice.removed is appended to current.removed.\n const append = splice.removed.slice(current.index + current.addedCount - splice.index);\n $push.apply(currentRemoved, append);\n }\n splice.removed = currentRemoved;\n if (current.index < splice.index) {\n splice.index = current.index;\n }\n }\n }\n else if (splice.index < current.index) {\n // Insert splice here.\n inserted = true;\n splices.splice(i, 0, splice);\n i++;\n const offset = splice.addedCount - splice.removed.length;\n current.index += offset;\n insertionOffset += offset;\n }\n }\n if (!inserted) {\n splices.push(splice);\n }\n}\nfunction createInitialSplices(changeRecords) {\n const splices = [];\n for (let i = 0, ii = changeRecords.length; i < ii; i++) {\n const record = changeRecords[i];\n mergeSplice(splices, record.index, record.removed, record.addedCount);\n }\n return splices;\n}\n/** @internal */\nexport function projectArraySplices(array, changeRecords) {\n let splices = [];\n const initialSplices = createInitialSplices(changeRecords);\n for (let i = 0, ii = initialSplices.length; i < ii; ++i) {\n const splice = initialSplices[i];\n if (splice.addedCount === 1 && splice.removed.length === 1) {\n if (splice.removed[0] !== array[splice.index]) {\n splices.push(splice);\n }\n continue;\n }\n splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length));\n }\n return splices;\n}\n", + "import { DOM } from \"../dom.js\";\nimport { calcSplices, newSplice, projectArraySplices } from \"./array-change-records.js\";\nimport { SubscriberSet } from \"./notifier.js\";\nimport { Observable } from \"./observable.js\";\nlet arrayObservationEnabled = false;\nfunction adjustIndex(changeRecord, array) {\n let index = changeRecord.index;\n const arrayLength = array.length;\n if (index > arrayLength) {\n index = arrayLength - changeRecord.addedCount;\n }\n else if (index < 0) {\n index =\n arrayLength + changeRecord.removed.length + index - changeRecord.addedCount;\n }\n if (index < 0) {\n index = 0;\n }\n changeRecord.index = index;\n return changeRecord;\n}\nclass ArrayObserver extends SubscriberSet {\n constructor(source) {\n super(source);\n this.oldCollection = void 0;\n this.splices = void 0;\n this.needsQueue = true;\n this.call = this.flush;\n Reflect.defineProperty(source, \"$fastController\", {\n value: this,\n enumerable: false,\n });\n }\n subscribe(subscriber) {\n this.flush();\n super.subscribe(subscriber);\n }\n addSplice(splice) {\n if (this.splices === void 0) {\n this.splices = [splice];\n }\n else {\n this.splices.push(splice);\n }\n if (this.needsQueue) {\n this.needsQueue = false;\n DOM.queueUpdate(this);\n }\n }\n reset(oldCollection) {\n this.oldCollection = oldCollection;\n if (this.needsQueue) {\n this.needsQueue = false;\n DOM.queueUpdate(this);\n }\n }\n flush() {\n const splices = this.splices;\n const oldCollection = this.oldCollection;\n if (splices === void 0 && oldCollection === void 0) {\n return;\n }\n this.needsQueue = true;\n this.splices = void 0;\n this.oldCollection = void 0;\n const finalSplices = oldCollection === void 0\n ? projectArraySplices(this.source, splices)\n : calcSplices(this.source, 0, this.source.length, oldCollection, 0, oldCollection.length);\n this.notify(finalSplices);\n }\n}\n/* eslint-disable prefer-rest-params */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/**\n * Enables the array observation mechanism.\n * @remarks\n * Array observation is enabled automatically when using the\n * {@link RepeatDirective}, so calling this API manually is\n * not typically necessary.\n * @public\n */\nexport function enableArrayObservation() {\n if (arrayObservationEnabled) {\n return;\n }\n arrayObservationEnabled = true;\n Observable.setArrayObserverFactory((collection) => {\n return new ArrayObserver(collection);\n });\n const proto = Array.prototype;\n // Don't patch Array if it has already been patched\n // by another copy of fast-element.\n if (proto.$fastPatch) {\n return;\n }\n Reflect.defineProperty(proto, \"$fastPatch\", {\n value: 1,\n enumerable: false,\n });\n const pop = proto.pop;\n const push = proto.push;\n const reverse = proto.reverse;\n const shift = proto.shift;\n const sort = proto.sort;\n const splice = proto.splice;\n const unshift = proto.unshift;\n proto.pop = function () {\n const notEmpty = this.length > 0;\n const methodCallResult = pop.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0 && notEmpty) {\n o.addSplice(newSplice(this.length, [methodCallResult], 0));\n }\n return methodCallResult;\n };\n proto.push = function () {\n const methodCallResult = push.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0) {\n o.addSplice(adjustIndex(newSplice(this.length - arguments.length, [], arguments.length), this));\n }\n return methodCallResult;\n };\n proto.reverse = function () {\n let oldArray;\n const o = this.$fastController;\n if (o !== void 0) {\n o.flush();\n oldArray = this.slice();\n }\n const methodCallResult = reverse.apply(this, arguments);\n if (o !== void 0) {\n o.reset(oldArray);\n }\n return methodCallResult;\n };\n proto.shift = function () {\n const notEmpty = this.length > 0;\n const methodCallResult = shift.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0 && notEmpty) {\n o.addSplice(newSplice(0, [methodCallResult], 0));\n }\n return methodCallResult;\n };\n proto.sort = function () {\n let oldArray;\n const o = this.$fastController;\n if (o !== void 0) {\n o.flush();\n oldArray = this.slice();\n }\n const methodCallResult = sort.apply(this, arguments);\n if (o !== void 0) {\n o.reset(oldArray);\n }\n return methodCallResult;\n };\n proto.splice = function () {\n const methodCallResult = splice.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0) {\n o.addSplice(adjustIndex(newSplice(+arguments[0], methodCallResult, arguments.length > 2 ? arguments.length - 2 : 0), this));\n }\n return methodCallResult;\n };\n proto.unshift = function () {\n const methodCallResult = unshift.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0) {\n o.addSplice(adjustIndex(newSplice(0, [], arguments.length), this));\n }\n return methodCallResult;\n };\n}\n/* eslint-enable prefer-rest-params */\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n", + "import { AttachedBehaviorHTMLDirective } from \"./html-directive.js\";\n/**\n * The runtime behavior for template references.\n * @public\n */\nexport class RefBehavior {\n /**\n * Creates an instance of RefBehavior.\n * @param target - The element to reference.\n * @param propertyName - The name of the property to assign the reference to.\n */\n constructor(target, propertyName) {\n this.target = target;\n this.propertyName = propertyName;\n }\n /**\n * Bind this behavior to the source.\n * @param source - The source to bind to.\n * @param context - The execution context that the binding is operating within.\n */\n bind(source) {\n source[this.propertyName] = this.target;\n }\n /**\n * Unbinds this behavior from the source.\n * @param source - The source to unbind from.\n */\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n unbind() { }\n}\n/**\n * A directive that observes the updates a property with a reference to the element.\n * @param propertyName - The name of the property to assign the reference to.\n * @public\n */\nexport function ref(propertyName) {\n return new AttachedBehaviorHTMLDirective(\"fast-ref\", RefBehavior, propertyName);\n}\n", + "/**\n * Determines whether or not an object is a function.\n * @public\n */\nexport const isFunction = (object) => typeof object === \"function\";\n", + "import { isFunction } from \"../interfaces.js\";\nconst noTemplate = () => null;\nfunction normalizeBinding(value) {\n return value === undefined ? noTemplate : isFunction(value) ? value : () => value;\n}\n/**\n * A directive that enables basic conditional rendering in a template.\n * @param binding - The condition to test for rendering.\n * @param templateOrTemplateBinding - The template or a binding that gets\n * the template to render when the condition is true.\n * @param elseTemplateOrTemplateBinding - Optional template or binding that that\n * gets the template to render when the conditional is false.\n * @public\n */\nexport function when(binding, templateOrTemplateBinding, elseTemplateOrTemplateBinding) {\n const dataBinding = isFunction(binding) ? binding : () => binding;\n const templateBinding = normalizeBinding(templateOrTemplateBinding);\n const elseBinding = normalizeBinding(elseTemplateOrTemplateBinding);\n return (source, context) => dataBinding(source, context)\n ? templateBinding(source, context)\n : elseBinding(source, context);\n}\n", + "import { DOM } from \"../dom.js\";\nimport { Observable, } from \"../observation/observable.js\";\nimport { enableArrayObservation } from \"../observation/array-observer.js\";\nimport { emptyArray } from \"../platform.js\";\nimport { HTMLDirective } from \"./html-directive.js\";\nimport { HTMLView } from \"./view.js\";\nconst defaultRepeatOptions = Object.freeze({\n positioning: false,\n recycle: true,\n});\nfunction bindWithoutPositioning(view, items, index, context) {\n view.bind(items[index], context);\n}\nfunction bindWithPositioning(view, items, index, context) {\n const childContext = Object.create(context);\n childContext.index = index;\n childContext.length = items.length;\n view.bind(items[index], childContext);\n}\n/**\n * A behavior that renders a template for each item in an array.\n * @public\n */\nexport class RepeatBehavior {\n /**\n * Creates an instance of RepeatBehavior.\n * @param location - The location in the DOM to render the repeat.\n * @param itemsBinding - The array to render.\n * @param isItemsBindingVolatile - Indicates whether the items binding has volatile dependencies.\n * @param templateBinding - The template to render for each item.\n * @param isTemplateBindingVolatile - Indicates whether the template binding has volatile dependencies.\n * @param options - Options used to turn on special repeat features.\n */\n constructor(location, itemsBinding, isItemsBindingVolatile, templateBinding, isTemplateBindingVolatile, options) {\n this.location = location;\n this.itemsBinding = itemsBinding;\n this.templateBinding = templateBinding;\n this.options = options;\n this.source = null;\n this.views = [];\n this.items = null;\n this.itemsObserver = null;\n this.originalContext = void 0;\n this.childContext = void 0;\n this.bindView = bindWithoutPositioning;\n this.itemsBindingObserver = Observable.binding(itemsBinding, this, isItemsBindingVolatile);\n this.templateBindingObserver = Observable.binding(templateBinding, this, isTemplateBindingVolatile);\n if (options.positioning) {\n this.bindView = bindWithPositioning;\n }\n }\n /**\n * Bind this behavior to the source.\n * @param source - The source to bind to.\n * @param context - The execution context that the binding is operating within.\n */\n bind(source, context) {\n this.source = source;\n this.originalContext = context;\n this.childContext = Object.create(context);\n this.childContext.parent = source;\n this.childContext.parentContext = this.originalContext;\n this.items = this.itemsBindingObserver.observe(source, this.originalContext);\n this.template = this.templateBindingObserver.observe(source, this.originalContext);\n this.observeItems(true);\n this.refreshAllViews();\n }\n /**\n * Unbinds this behavior from the source.\n * @param source - The source to unbind from.\n */\n unbind() {\n this.source = null;\n this.items = null;\n if (this.itemsObserver !== null) {\n this.itemsObserver.unsubscribe(this);\n }\n this.unbindAllViews();\n this.itemsBindingObserver.disconnect();\n this.templateBindingObserver.disconnect();\n }\n /** @internal */\n handleChange(source, args) {\n if (source === this.itemsBinding) {\n this.items = this.itemsBindingObserver.observe(this.source, this.originalContext);\n this.observeItems();\n this.refreshAllViews();\n }\n else if (source === this.templateBinding) {\n this.template = this.templateBindingObserver.observe(this.source, this.originalContext);\n this.refreshAllViews(true);\n }\n else {\n this.updateViews(args);\n }\n }\n observeItems(force = false) {\n if (!this.items) {\n this.items = emptyArray;\n return;\n }\n const oldObserver = this.itemsObserver;\n const newObserver = (this.itemsObserver = Observable.getNotifier(this.items));\n const hasNewObserver = oldObserver !== newObserver;\n if (hasNewObserver && oldObserver !== null) {\n oldObserver.unsubscribe(this);\n }\n if (hasNewObserver || force) {\n newObserver.subscribe(this);\n }\n }\n updateViews(splices) {\n const childContext = this.childContext;\n const views = this.views;\n const bindView = this.bindView;\n const items = this.items;\n const template = this.template;\n const recycle = this.options.recycle;\n const leftoverViews = [];\n let leftoverIndex = 0;\n let availableViews = 0;\n for (let i = 0, ii = splices.length; i < ii; ++i) {\n const splice = splices[i];\n const removed = splice.removed;\n let removeIndex = 0;\n let addIndex = splice.index;\n const end = addIndex + splice.addedCount;\n const removedViews = views.splice(splice.index, removed.length);\n const totalAvailableViews = (availableViews =\n leftoverViews.length + removedViews.length);\n for (; addIndex < end; ++addIndex) {\n const neighbor = views[addIndex];\n const location = neighbor ? neighbor.firstChild : this.location;\n let view;\n if (recycle && availableViews > 0) {\n if (removeIndex <= totalAvailableViews && removedViews.length > 0) {\n view = removedViews[removeIndex];\n removeIndex++;\n }\n else {\n view = leftoverViews[leftoverIndex];\n leftoverIndex++;\n }\n availableViews--;\n }\n else {\n view = template.create();\n }\n views.splice(addIndex, 0, view);\n bindView(view, items, addIndex, childContext);\n view.insertBefore(location);\n }\n if (removedViews[removeIndex]) {\n leftoverViews.push(...removedViews.slice(removeIndex));\n }\n }\n for (let i = leftoverIndex, ii = leftoverViews.length; i < ii; ++i) {\n leftoverViews[i].dispose();\n }\n if (this.options.positioning) {\n for (let i = 0, ii = views.length; i < ii; ++i) {\n const currentContext = views[i].context;\n currentContext.length = ii;\n currentContext.index = i;\n }\n }\n }\n refreshAllViews(templateChanged = false) {\n const items = this.items;\n const childContext = this.childContext;\n const template = this.template;\n const location = this.location;\n const bindView = this.bindView;\n let itemsLength = items.length;\n let views = this.views;\n let viewsLength = views.length;\n if (itemsLength === 0 || templateChanged || !this.options.recycle) {\n // all views need to be removed\n HTMLView.disposeContiguousBatch(views);\n viewsLength = 0;\n }\n if (viewsLength === 0) {\n // all views need to be created\n this.views = views = new Array(itemsLength);\n for (let i = 0; i < itemsLength; ++i) {\n const view = template.create();\n bindView(view, items, i, childContext);\n views[i] = view;\n view.insertBefore(location);\n }\n }\n else {\n // attempt to reuse existing views with new data\n let i = 0;\n for (; i < itemsLength; ++i) {\n if (i < viewsLength) {\n const view = views[i];\n bindView(view, items, i, childContext);\n }\n else {\n const view = template.create();\n bindView(view, items, i, childContext);\n views.push(view);\n view.insertBefore(location);\n }\n }\n const removed = views.splice(i, viewsLength - i);\n for (i = 0, itemsLength = removed.length; i < itemsLength; ++i) {\n removed[i].dispose();\n }\n }\n }\n unbindAllViews() {\n const views = this.views;\n for (let i = 0, ii = views.length; i < ii; ++i) {\n views[i].unbind();\n }\n }\n}\n/**\n * A directive that configures list rendering.\n * @public\n */\nexport class RepeatDirective extends HTMLDirective {\n /**\n * Creates an instance of RepeatDirective.\n * @param itemsBinding - The binding that provides the array to render.\n * @param templateBinding - The template binding used to obtain a template to render for each item in the array.\n * @param options - Options used to turn on special repeat features.\n */\n constructor(itemsBinding, templateBinding, options) {\n super();\n this.itemsBinding = itemsBinding;\n this.templateBinding = templateBinding;\n this.options = options;\n /**\n * Creates a placeholder string based on the directive's index within the template.\n * @param index - The index of the directive within the template.\n */\n this.createPlaceholder = DOM.createBlockPlaceholder;\n enableArrayObservation();\n this.isItemsBindingVolatile = Observable.isVolatileBinding(itemsBinding);\n this.isTemplateBindingVolatile = Observable.isVolatileBinding(templateBinding);\n }\n /**\n * Creates a behavior for the provided target node.\n * @param target - The node instance to create the behavior for.\n */\n createBehavior(target) {\n return new RepeatBehavior(target, this.itemsBinding, this.isItemsBindingVolatile, this.templateBinding, this.isTemplateBindingVolatile, this.options);\n }\n}\n/**\n * A directive that enables list rendering.\n * @param itemsBinding - The array to render.\n * @param templateOrTemplateBinding - The template or a template binding used obtain a template\n * to render for each item in the array.\n * @param options - Options used to turn on special repeat features.\n * @public\n */\nexport function repeat(itemsBinding, templateOrTemplateBinding, options = defaultRepeatOptions) {\n const templateBinding = typeof templateOrTemplateBinding === \"function\"\n ? templateOrTemplateBinding\n : () => templateOrTemplateBinding;\n return new RepeatDirective(itemsBinding, templateBinding, Object.assign(Object.assign({}, defaultRepeatOptions), options));\n}\n", + "import { Observable } from \"../observation/observable.js\";\nimport { emptyArray } from \"../platform.js\";\n/**\n * Creates a function that can be used to filter a Node array, selecting only elements.\n * @param selector - An optional selector to restrict the filter to.\n * @public\n */\nexport function elements(selector) {\n if (selector) {\n return function (value, index, array) {\n return value.nodeType === 1 && value.matches(selector);\n };\n }\n return function (value, index, array) {\n return value.nodeType === 1;\n };\n}\n/**\n * A base class for node observation.\n * @internal\n */\nexport class NodeObservationBehavior {\n /**\n * Creates an instance of NodeObservationBehavior.\n * @param target - The target to assign the nodes property on.\n * @param options - The options to use in configuring node observation.\n */\n constructor(target, options) {\n this.target = target;\n this.options = options;\n this.source = null;\n }\n /**\n * Bind this behavior to the source.\n * @param source - The source to bind to.\n * @param context - The execution context that the binding is operating within.\n */\n bind(source) {\n const name = this.options.property;\n this.shouldUpdate = Observable.getAccessors(source).some((x) => x.name === name);\n this.source = source;\n this.updateTarget(this.computeNodes());\n if (this.shouldUpdate) {\n this.observe();\n }\n }\n /**\n * Unbinds this behavior from the source.\n * @param source - The source to unbind from.\n */\n unbind() {\n this.updateTarget(emptyArray);\n this.source = null;\n if (this.shouldUpdate) {\n this.disconnect();\n }\n }\n /** @internal */\n handleEvent() {\n this.updateTarget(this.computeNodes());\n }\n computeNodes() {\n let nodes = this.getNodes();\n if (this.options.filter !== void 0) {\n nodes = nodes.filter(this.options.filter);\n }\n return nodes;\n }\n updateTarget(value) {\n this.source[this.options.property] = value;\n }\n}\n", + "import { AttachedBehaviorHTMLDirective } from \"./html-directive.js\";\nimport { NodeObservationBehavior } from \"./node-observation.js\";\n/**\n * The runtime behavior for slotted node observation.\n * @public\n */\nexport class SlottedBehavior extends NodeObservationBehavior {\n /**\n * Creates an instance of SlottedBehavior.\n * @param target - The slot element target to observe.\n * @param options - The options to use when observing the slot.\n */\n constructor(target, options) {\n super(target, options);\n }\n /**\n * Begins observation of the nodes.\n */\n observe() {\n this.target.addEventListener(\"slotchange\", this);\n }\n /**\n * Disconnects observation of the nodes.\n */\n disconnect() {\n this.target.removeEventListener(\"slotchange\", this);\n }\n /**\n * Retrieves the nodes that should be assigned to the target.\n */\n getNodes() {\n return this.target.assignedNodes(this.options);\n }\n}\n/**\n * A directive that observes the `assignedNodes()` of a slot and updates a property\n * whenever they change.\n * @param propertyOrOptions - The options used to configure slotted node observation.\n * @public\n */\nexport function slotted(propertyOrOptions) {\n if (typeof propertyOrOptions === \"string\") {\n propertyOrOptions = { property: propertyOrOptions };\n }\n return new AttachedBehaviorHTMLDirective(\"fast-slotted\", SlottedBehavior, propertyOrOptions);\n}\n", + "import { AttachedBehaviorHTMLDirective } from \"./html-directive.js\";\nimport { NodeObservationBehavior } from \"./node-observation.js\";\n/**\n * The runtime behavior for child node observation.\n * @public\n */\nexport class ChildrenBehavior extends NodeObservationBehavior {\n /**\n * Creates an instance of ChildrenBehavior.\n * @param target - The element target to observe children on.\n * @param options - The options to use when observing the element children.\n */\n constructor(target, options) {\n super(target, options);\n this.observer = null;\n options.childList = true;\n }\n /**\n * Begins observation of the nodes.\n */\n observe() {\n if (this.observer === null) {\n this.observer = new MutationObserver(this.handleEvent.bind(this));\n }\n this.observer.observe(this.target, this.options);\n }\n /**\n * Disconnects observation of the nodes.\n */\n disconnect() {\n this.observer.disconnect();\n }\n /**\n * Retrieves the nodes that should be assigned to the target.\n */\n getNodes() {\n if (\"subtree\" in this.options) {\n return Array.from(this.target.querySelectorAll(this.options.selector));\n }\n return Array.from(this.target.childNodes);\n }\n}\n/**\n * A directive that observes the `childNodes` of an element and updates a property\n * whenever they change.\n * @param propertyOrOptions - The options used to configure child node observation.\n * @public\n */\nexport function children(propertyOrOptions) {\n if (typeof propertyOrOptions === \"string\") {\n propertyOrOptions = {\n property: propertyOrOptions,\n };\n }\n return new AttachedBehaviorHTMLDirective(\"fast-children\", ChildrenBehavior, propertyOrOptions);\n}\n", + "import { html, ref } from \"@microsoft/fast-element\";\n/**\n * A mixin class implementing start and end elements.\n * These are generally used to decorate text elements with icons or other visual indicators.\n * @public\n */\nexport class StartEnd {\n handleStartContentChange() {\n this.startContainer.classList.toggle(\"start\", this.start.assignedNodes().length > 0);\n }\n handleEndContentChange() {\n this.endContainer.classList.toggle(\"end\", this.end.assignedNodes().length > 0);\n }\n}\n/**\n * The template for the end element.\n * For use with {@link StartEnd}\n *\n * @public\n */\nexport const endSlotTemplate = (context, definition) => html `\n <span\n part=\"end\"\n ${ref(\"endContainer\")}\n class=${x => (definition.end ? \"end\" : void 0)}\n >\n <slot name=\"end\" ${ref(\"end\")} @slotchange=\"${x => x.handleEndContentChange()}\">\n ${definition.end || \"\"}\n </slot>\n </span>\n`;\n/**\n * The template for the start element.\n * For use with {@link StartEnd}\n *\n * @public\n */\nexport const startSlotTemplate = (context, definition) => html `\n <span\n part=\"start\"\n ${ref(\"startContainer\")}\n class=\"${x => (definition.start ? \"start\" : void 0)}\"\n >\n <slot\n name=\"start\"\n ${ref(\"start\")}\n @slotchange=\"${x => x.handleStartContentChange()}\"\n >\n ${definition.start || \"\"}\n </slot>\n </span>\n`;\n/**\n * The template for the end element.\n * For use with {@link StartEnd}\n *\n * @public\n * @deprecated - use endSlotTemplate\n */\nexport const endTemplate = html `\n <span part=\"end\" ${ref(\"endContainer\")}>\n <slot\n name=\"end\"\n ${ref(\"end\")}\n @slotchange=\"${x => x.handleEndContentChange()}\"\n ></slot>\n </span>\n`;\n/**\n * The template for the start element.\n * For use with {@link StartEnd}\n *\n * @public\n * @deprecated - use startSlotTemplate\n */\nexport const startTemplate = html `\n <span part=\"start\" ${ref(\"startContainer\")}>\n <slot\n name=\"start\"\n ${ref(\"start\")}\n @slotchange=\"${x => x.handleStartContentChange()}\"\n ></slot>\n </span>\n`;\n", + "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", + "/**\n * Big thanks to https://github.com/fkleuver and the https://github.com/aurelia/aurelia project\n * for the bulk of this code and many of the associated tests.\n */\nimport { emptyArray, FASTElement } from \"@microsoft/fast-element\";\n// Tiny polyfill for TypeScript's Reflect metadata API.\nconst metadataByTarget = new Map();\nif (!(\"metadata\" in Reflect)) {\n Reflect.metadata = function (key, value) {\n return function (target) {\n Reflect.defineMetadata(key, value, target);\n };\n };\n Reflect.defineMetadata = function (key, value, target) {\n let metadata = metadataByTarget.get(target);\n if (metadata === void 0) {\n metadataByTarget.set(target, (metadata = new Map()));\n }\n metadata.set(key, value);\n };\n Reflect.getOwnMetadata = function (key, target) {\n const metadata = metadataByTarget.get(target);\n if (metadata !== void 0) {\n return metadata.get(key);\n }\n return void 0;\n };\n}\n/**\n * A utility class used that constructs and registers resolvers for a dependency\n * injection container. Supports a standard set of object lifetimes.\n * @public\n */\nexport class ResolverBuilder {\n /**\n *\n * @param container - The container to create resolvers for.\n * @param key - The key to register resolvers under.\n */\n constructor(container, key) {\n this.container = container;\n this.key = key;\n }\n /**\n * Creates a resolver for an existing object instance.\n * @param value - The instance to resolve.\n * @returns The resolver.\n */\n instance(value) {\n return this.registerResolver(0 /* instance */, value);\n }\n /**\n * Creates a resolver that enforces a singleton lifetime.\n * @param value - The type to create and cache the singleton for.\n * @returns The resolver.\n */\n singleton(value) {\n return this.registerResolver(1 /* singleton */, value);\n }\n /**\n * Creates a resolver that creates a new instance for every dependency request.\n * @param value - The type to create instances of.\n * @returns - The resolver.\n */\n transient(value) {\n return this.registerResolver(2 /* transient */, value);\n }\n /**\n * Creates a resolver that invokes a callback function for every dependency resolution\n * request, allowing custom logic to return the dependency.\n * @param value - The callback to call during resolution.\n * @returns The resolver.\n */\n callback(value) {\n return this.registerResolver(3 /* callback */, value);\n }\n /**\n * Creates a resolver that invokes a callback function the first time that a dependency\n * resolution is requested. The returned value is then cached and provided for all\n * subsequent requests.\n * @param value - The callback to call during the first resolution.\n * @returns The resolver.\n */\n cachedCallback(value) {\n return this.registerResolver(3 /* callback */, cacheCallbackResult(value));\n }\n /**\n * Aliases the current key to a different key.\n * @param destinationKey - The key to point the alias to.\n * @returns The resolver.\n */\n aliasTo(destinationKey) {\n return this.registerResolver(5 /* alias */, destinationKey);\n }\n registerResolver(strategy, state) {\n const { container, key } = this;\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n this.container = this.key = (void 0);\n return container.registerResolver(key, new ResolverImpl(key, strategy, state));\n }\n}\nfunction cloneArrayWithPossibleProps(source) {\n const clone = source.slice();\n const keys = Object.keys(source);\n const len = keys.length;\n let key;\n for (let i = 0; i < len; ++i) {\n key = keys[i];\n if (!isArrayIndex(key)) {\n clone[key] = source[key];\n }\n }\n return clone;\n}\n/**\n * A set of default resolvers useful in configuring a container.\n * @public\n */\nexport const DefaultResolver = Object.freeze({\n /**\n * Disables auto-registration and throws for all un-registered dependencies.\n * @param key - The key to create the resolver for.\n */\n none(key) {\n throw Error(`${key.toString()} not registered, did you forget to add @singleton()?`);\n },\n /**\n * Provides default singleton resolution behavior during auto-registration.\n * @param key - The key to create the resolver for.\n * @returns The resolver.\n */\n singleton(key) {\n return new ResolverImpl(key, 1 /* singleton */, key);\n },\n /**\n * Provides default transient resolution behavior during auto-registration.\n * @param key - The key to create the resolver for.\n * @returns The resolver.\n */\n transient(key) {\n return new ResolverImpl(key, 2 /* transient */, key);\n },\n});\n/**\n * Configuration for a dependency injection container.\n * @public\n */\nexport const ContainerConfiguration = Object.freeze({\n /**\n * The default configuration used when creating a DOM-disconnected container.\n * @remarks\n * The default creates a root container, with no parent container. It does not handle\n * owner requests and it uses singleton resolution behavior for auto-registration.\n */\n default: Object.freeze({\n parentLocator: () => null,\n responsibleForOwnerRequests: false,\n defaultResolver: DefaultResolver.singleton,\n }),\n});\nconst dependencyLookup = new Map();\nfunction getParamTypes(key) {\n return (Type) => {\n return Reflect.getOwnMetadata(key, Type);\n };\n}\nlet rootDOMContainer = null;\n/**\n * The gateway to dependency injection APIs.\n * @public\n */\nexport const DI = Object.freeze({\n /**\n * Creates a new dependency injection container.\n * @param config - The configuration for the container.\n * @returns A newly created dependency injection container.\n */\n createContainer(config) {\n return new ContainerImpl(null, Object.assign({}, ContainerConfiguration.default, config));\n },\n /**\n * Finds the dependency injection container responsible for providing dependencies\n * to the specified node.\n * @param node - The node to find the responsible container for.\n * @returns The container responsible for providing dependencies to the node.\n * @remarks\n * This will be the same as the parent container if the specified node\n * does not itself host a container configured with responsibleForOwnerRequests.\n */\n findResponsibleContainer(node) {\n const owned = node.$$container$$;\n if (owned && owned.responsibleForOwnerRequests) {\n return owned;\n }\n return DI.findParentContainer(node);\n },\n /**\n * Find the dependency injection container up the DOM tree from this node.\n * @param node - The node to find the parent container for.\n * @returns The parent container of this node.\n * @remarks\n * This will be the same as the responsible container if the specified node\n * does not itself host a container configured with responsibleForOwnerRequests.\n */\n findParentContainer(node) {\n const event = new CustomEvent(DILocateParentEventType, {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: { container: void 0 },\n });\n node.dispatchEvent(event);\n return event.detail.container || DI.getOrCreateDOMContainer();\n },\n /**\n * Returns a dependency injection container if one is explicitly owned by the specified\n * node. If one is not owned, then a new container is created and assigned to the node.\n * @param node - The node to find or create the container for.\n * @param config - The configuration for the container if one needs to be created.\n * @returns The located or created container.\n * @remarks\n * This API does not search for a responsible or parent container. It looks only for a container\n * directly defined on the specified node and creates one at that location if one does not\n * already exist.\n */\n getOrCreateDOMContainer(node, config) {\n if (!node) {\n return (rootDOMContainer ||\n (rootDOMContainer = new ContainerImpl(null, Object.assign({}, ContainerConfiguration.default, config, {\n parentLocator: () => null,\n }))));\n }\n return (node.$$container$$ ||\n new ContainerImpl(node, Object.assign({}, ContainerConfiguration.default, config, {\n parentLocator: DI.findParentContainer,\n })));\n },\n /**\n * Gets the \"design:paramtypes\" metadata for the specified type.\n * @param Type - The type to get the metadata for.\n * @returns The metadata array or undefined if no metadata is found.\n */\n getDesignParamtypes: getParamTypes(\"design:paramtypes\"),\n /**\n * Gets the \"di:paramtypes\" metadata for the specified type.\n * @param Type - The type to get the metadata for.\n * @returns The metadata array or undefined if no metadata is found.\n */\n getAnnotationParamtypes: getParamTypes(\"di:paramtypes\"),\n /**\n *\n * @param Type - Gets the \"di:paramtypes\" metadata for the specified type. If none is found,\n * an empty metadata array is created and added.\n * @returns The metadata array.\n */\n getOrCreateAnnotationParamTypes(Type) {\n let annotationParamtypes = this.getAnnotationParamtypes(Type);\n if (annotationParamtypes === void 0) {\n Reflect.defineMetadata(\"di:paramtypes\", (annotationParamtypes = []), Type);\n }\n return annotationParamtypes;\n },\n /**\n * Gets the dependency keys representing what is needed to instantiate the specified type.\n * @param Type - The type to get the dependencies for.\n * @returns An array of dependency keys.\n */\n getDependencies(Type) {\n // Note: Every detail of this getDependencies method is pretty deliberate at the moment, and probably not yet 100% tested from every possible angle,\n // so be careful with making changes here as it can have a huge impact on complex end user apps.\n // Preferably, only make changes to the dependency resolution process via a RFC.\n let dependencies = dependencyLookup.get(Type);\n if (dependencies === void 0) {\n // Type.length is the number of constructor parameters. If this is 0, it could mean the class has an empty constructor\n // but it could also mean the class has no constructor at all (in which case it inherits the constructor from the prototype).\n // Non-zero constructor length + no paramtypes means emitDecoratorMetadata is off, or the class has no decorator.\n // We're not doing anything with the above right now, but it's good to keep in mind for any future issues.\n const inject = Type.inject;\n if (inject === void 0) {\n // design:paramtypes is set by tsc when emitDecoratorMetadata is enabled.\n const designParamtypes = DI.getDesignParamtypes(Type);\n // di:paramtypes is set by the parameter decorator from DI.createInterface or by @inject\n const annotationParamtypes = DI.getAnnotationParamtypes(Type);\n if (designParamtypes === void 0) {\n if (annotationParamtypes === void 0) {\n // Only go up the prototype if neither static inject nor any of the paramtypes is defined, as\n // there is no sound way to merge a type's deps with its prototype's deps\n const Proto = Object.getPrototypeOf(Type);\n if (typeof Proto === \"function\" && Proto !== Function.prototype) {\n dependencies = cloneArrayWithPossibleProps(DI.getDependencies(Proto));\n }\n else {\n dependencies = [];\n }\n }\n else {\n // No design:paramtypes so just use the di:paramtypes\n dependencies = cloneArrayWithPossibleProps(annotationParamtypes);\n }\n }\n else if (annotationParamtypes === void 0) {\n // No di:paramtypes so just use the design:paramtypes\n dependencies = cloneArrayWithPossibleProps(designParamtypes);\n }\n else {\n // We've got both, so merge them (in case of conflict on same index, di:paramtypes take precedence)\n dependencies = cloneArrayWithPossibleProps(designParamtypes);\n let len = annotationParamtypes.length;\n let auAnnotationParamtype;\n for (let i = 0; i < len; ++i) {\n auAnnotationParamtype = annotationParamtypes[i];\n if (auAnnotationParamtype !== void 0) {\n dependencies[i] = auAnnotationParamtype;\n }\n }\n const keys = Object.keys(annotationParamtypes);\n len = keys.length;\n let key;\n for (let i = 0; i < len; ++i) {\n key = keys[i];\n if (!isArrayIndex(key)) {\n dependencies[key] = annotationParamtypes[key];\n }\n }\n }\n }\n else {\n // Ignore paramtypes if we have static inject\n dependencies = cloneArrayWithPossibleProps(inject);\n }\n dependencyLookup.set(Type, dependencies);\n }\n return dependencies;\n },\n /**\n * Defines a property on a web component class. The value of this property will\n * be resolved from the dependency injection container responsible for the element\n * instance, based on where it is connected in the DOM.\n * @param target - The target to define the property on.\n * @param propertyName - The name of the property to define.\n * @param key - The dependency injection key.\n * @param respectConnection - Indicates whether or not to update the property value if the\n * hosting component is disconnected and then re-connected at a different location in the DOM.\n * @remarks\n * The respectConnection option is only applicable to elements that descend from FASTElement.\n */\n defineProperty(target, propertyName, key, respectConnection = false) {\n const diPropertyKey = `$di_${propertyName}`;\n Reflect.defineProperty(target, propertyName, {\n get: function () {\n let value = this[diPropertyKey];\n if (value === void 0) {\n const container = this instanceof HTMLElement\n ? DI.findResponsibleContainer(this)\n : DI.getOrCreateDOMContainer();\n value = container.get(key);\n this[diPropertyKey] = value;\n if (respectConnection && this instanceof FASTElement) {\n const notifier = this.$fastController;\n const handleChange = () => {\n const newContainer = DI.findResponsibleContainer(this);\n const newValue = newContainer.get(key);\n const oldValue = this[diPropertyKey];\n if (newValue !== oldValue) {\n this[diPropertyKey] = value;\n notifier.notify(propertyName);\n }\n };\n notifier.subscribe({ handleChange }, \"isConnected\");\n }\n }\n return value;\n },\n });\n },\n /**\n * Creates a dependency injection key.\n * @param nameConfigOrCallback - A friendly name for the key or a lambda that configures a\n * default resolution for the dependency.\n * @param configuror - If a friendly name was provided for the first parameter, then an optional\n * lambda that configures a default resolution for the dependency can be provided second.\n * @returns The created key.\n * @remarks\n * The created key can be used as a property decorator or constructor parameter decorator,\n * in addition to its standard use in an inject array or through direct container APIs.\n */\n createInterface(nameConfigOrCallback, configuror) {\n const configure = typeof nameConfigOrCallback === \"function\"\n ? nameConfigOrCallback\n : configuror;\n const friendlyName = typeof nameConfigOrCallback === \"string\"\n ? nameConfigOrCallback\n : nameConfigOrCallback && \"friendlyName\" in nameConfigOrCallback\n ? nameConfigOrCallback.friendlyName || defaultFriendlyName\n : defaultFriendlyName;\n const respectConnection = typeof nameConfigOrCallback === \"string\"\n ? false\n : nameConfigOrCallback && \"respectConnection\" in nameConfigOrCallback\n ? nameConfigOrCallback.respectConnection || false\n : false;\n const Interface = function (target, property, index) {\n if (target == null || new.target !== undefined) {\n throw new Error(`No registration for interface: '${Interface.friendlyName}'`);\n }\n if (property) {\n DI.defineProperty(target, property, Interface, respectConnection);\n }\n else {\n const annotationParamtypes = DI.getOrCreateAnnotationParamTypes(target);\n annotationParamtypes[index] = Interface;\n }\n };\n Interface.$isInterface = true;\n Interface.friendlyName = friendlyName == null ? \"(anonymous)\" : friendlyName;\n if (configure != null) {\n Interface.register = function (container, key) {\n return configure(new ResolverBuilder(container, key !== null && key !== void 0 ? key : Interface));\n };\n }\n Interface.toString = function toString() {\n return `InterfaceSymbol<${Interface.friendlyName}>`;\n };\n return Interface;\n },\n /**\n * A decorator that specifies what to inject into its target.\n * @param dependencies - The dependencies to inject.\n * @returns The decorator to be applied to the target class.\n * @remarks\n * The decorator can be used to decorate a class, listing all of the classes dependencies.\n * Or it can be used to decorate a constructor paramter, indicating what to inject for that\n * parameter.\n * Or it can be used for a web component property, indicating what that property should resolve to.\n */\n inject(...dependencies) {\n return function (target, key, descriptor) {\n if (typeof descriptor === \"number\") {\n // It's a parameter decorator.\n const annotationParamtypes = DI.getOrCreateAnnotationParamTypes(target);\n const dep = dependencies[0];\n if (dep !== void 0) {\n annotationParamtypes[descriptor] = dep;\n }\n }\n else if (key) {\n DI.defineProperty(target, key, dependencies[0]);\n }\n else {\n const annotationParamtypes = descriptor\n ? DI.getOrCreateAnnotationParamTypes(descriptor.value)\n : DI.getOrCreateAnnotationParamTypes(target);\n let dep;\n for (let i = 0; i < dependencies.length; ++i) {\n dep = dependencies[i];\n if (dep !== void 0) {\n annotationParamtypes[i] = dep;\n }\n }\n }\n };\n },\n /**\n * Registers the `target` class as a transient dependency; each time the dependency is resolved\n * a new instance will be created.\n *\n * @param target - The class / constructor function to register as transient.\n * @returns The same class, with a static `register` method that takes a container and returns the appropriate resolver.\n *\n * @example\n * On an existing class\n * ```ts\n * class Foo { }\n * DI.transient(Foo);\n * ```\n *\n * @example\n * Inline declaration\n *\n * ```ts\n * const Foo = DI.transient(class { });\n * // Foo is now strongly typed with register\n * Foo.register(container);\n * ```\n *\n * @public\n */\n transient(target) {\n target.register = function register(container) {\n const registration = Registration.transient(target, target);\n return registration.register(container);\n };\n target.registerInRequestor = false;\n return target;\n },\n /**\n * Registers the `target` class as a singleton dependency; the class will only be created once. Each\n * consecutive time the dependency is resolved, the same instance will be returned.\n *\n * @param target - The class / constructor function to register as a singleton.\n * @returns The same class, with a static `register` method that takes a container and returns the appropriate resolver.\n * @example\n * On an existing class\n * ```ts\n * class Foo { }\n * DI.singleton(Foo);\n * ```\n *\n * @example\n * Inline declaration\n * ```ts\n * const Foo = DI.singleton(class { });\n * // Foo is now strongly typed with register\n * Foo.register(container);\n * ```\n *\n * @public\n */\n singleton(target, options = defaultSingletonOptions) {\n target.register = function register(container) {\n const registration = Registration.singleton(target, target);\n return registration.register(container);\n };\n target.registerInRequestor = options.scoped;\n return target;\n },\n});\n/**\n * The interface key that resolves the dependency injection container itself.\n * @public\n */\nexport const Container = DI.createInterface(\"Container\");\n/**\n * The interface key that resolves the service locator itself.\n * @public\n */\nexport const ServiceLocator = Container;\nfunction createResolver(getter) {\n return function (key) {\n const resolver = function (target, property, descriptor) {\n DI.inject(resolver)(target, property, descriptor);\n };\n resolver.$isResolver = true;\n resolver.resolve = function (handler, requestor) {\n return getter(key, handler, requestor);\n };\n return resolver;\n };\n}\n/**\n * A decorator that specifies what to inject into its target.\n * @param dependencies - The dependencies to inject.\n * @returns The decorator to be applied to the target class.\n * @remarks\n * The decorator can be used to decorate a class, listing all of the classes dependencies.\n * Or it can be used to decorate a constructor paramter, indicating what to inject for that\n * parameter.\n * Or it can be used for a web component property, indicating what that property should resolve to.\n *\n * @public\n */\nexport const inject = DI.inject;\nfunction transientDecorator(target) {\n return DI.transient(target);\n}\nexport function transient(target) {\n return target == null ? transientDecorator : transientDecorator(target);\n}\nconst defaultSingletonOptions = { scoped: false };\nfunction singletonDecorator(target) {\n return DI.singleton(target);\n}\n/**\n * @public\n */\nexport function singleton(targetOrOptions) {\n if (typeof targetOrOptions === \"function\") {\n return DI.singleton(targetOrOptions);\n }\n return function ($target) {\n return DI.singleton($target, targetOrOptions);\n };\n}\nfunction createAllResolver(getter) {\n return function (key, searchAncestors) {\n searchAncestors = !!searchAncestors;\n const resolver = function (target, property, descriptor) {\n DI.inject(resolver)(target, property, descriptor);\n };\n resolver.$isResolver = true;\n resolver.resolve = function (handler, requestor) {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n return getter(key, handler, requestor, searchAncestors);\n };\n return resolver;\n };\n}\n/**\n * A decorator and DI resolver that will resolve an array of all dependencies\n * registered with the specified key.\n * @param key - The key to resolve all dependencies for.\n * @param searchAncestors - [optional] Indicates whether to search ancestor containers.\n * @public\n */\nexport const all = createAllResolver((key, handler, requestor, searchAncestors) => requestor.getAll(key, searchAncestors));\n/**\n * A decorator that lazily injects a dependency depending on whether the `Key` is present at the time of function call.\n *\n * @example\n * You need to make your argument a function that returns the type, for example\n * ```ts\n * class Foo {\n * constructor( @lazy('random') public random: () => number )\n * }\n * const foo = container.get(Foo); // instanceof Foo\n * foo.random(); // throws\n * ```\n * would throw an exception because you haven't registered `'random'` before calling the method.\n * @example\n * This, would give you a new 'Math.random()' number each time.\n * ```ts\n * class Foo {\n * constructor( @lazy('random') public random: () => random )\n * }\n * container.register(Registration.callback('random', Math.random ));\n * container.get(Foo).random(); // some random number\n * container.get(Foo).random(); // another random number\n * ```\n *\n * `@lazy` does not manage the lifecycle of the underlying key. If you want a singleton, you have to register as a\n * `singleton`, `transient` would also behave as you would expect, providing you a new instance each time.\n *\n * @param key - The key to lazily resolve.\n * see {@link DI.createInterface} on interactions with interfaces\n *\n * @public\n */\nexport const lazy = createResolver((key, handler, requestor) => {\n return () => requestor.get(key);\n});\n/**\n * A decorator that allows you to optionally inject a dependency depending on whether the [[`Key`]] is present, for example:\n * @example\n * ```ts\n * class Foo {\n * constructor( @inject('mystring') public str: string = 'somestring' )\n * }\n * container.get(Foo); // throws\n * ```\n * would fail\n *\n * @example\n * ```ts\n * class Foo {\n * constructor( @optional('mystring') public str: string = 'somestring' )\n * }\n * container.get(Foo).str // somestring\n * ```\n * if you use it without a default it will inject `undefined`, so remember to mark your input type as\n * possibly `undefined`!\n *\n * @param key - The key to optionally resolve.\n * see {@link DI.createInterface} on interactions with interfaces\n *\n * @public\n */\nexport const optional = createResolver((key, handler, requestor) => {\n if (requestor.has(key, true)) {\n return requestor.get(key);\n }\n else {\n return undefined;\n }\n});\n/**\n * A decorator that tells the container not to try to inject a dependency.\n *\n * @public\n */\nexport function ignore(target, property, descriptor) {\n DI.inject(ignore)(target, property, descriptor);\n}\n// Hack: casting below used to prevent TS from generate a namespace which can't be commented\n// and results in documentation validation errors.\nignore.$isResolver = true;\nignore.resolve = () => undefined;\n/**\n * A decorator that indicates that a new instance should be injected scoped to the\n * container that requested the instance.\n * @param key - The dependency key for the new instance.\n * @remarks\n * This creates a resolver with an instance strategy pointing to the new instance, effectively\n * making this a singleton, scoped to the container or DOM's subtree.\n *\n * @public\n */\nexport const newInstanceForScope = createResolver((key, handler, requestor) => {\n const instance = createNewInstance(key, handler);\n const resolver = new ResolverImpl(key, 0 /* instance */, instance);\n requestor.registerResolver(key, resolver);\n return instance;\n});\n/**\n * A decorator that indicates that a new instance should be injected.\n * @param key - The dependency key for the new instance.\n * @remarks\n * The instance is not internally cached with a resolver as newInstanceForScope does.\n *\n * @public\n */\nexport const newInstanceOf = createResolver((key, handler, _requestor) => createNewInstance(key, handler));\nfunction createNewInstance(key, handler) {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n return handler.getFactory(key).construct(handler);\n}\n/** @internal */\nexport class ResolverImpl {\n constructor(key, strategy, state) {\n this.key = key;\n this.strategy = strategy;\n this.state = state;\n this.resolving = false;\n }\n get $isResolver() {\n return true;\n }\n register(container) {\n return container.registerResolver(this.key, this);\n }\n resolve(handler, requestor) {\n switch (this.strategy) {\n case 0 /* instance */:\n return this.state;\n case 1 /* singleton */: {\n if (this.resolving) {\n throw new Error(`Cyclic dependency found: ${this.state.name}`);\n }\n this.resolving = true;\n this.state = handler\n .getFactory(this.state)\n .construct(requestor);\n this.strategy = 0 /* instance */;\n this.resolving = false;\n return this.state;\n }\n case 2 /* transient */: {\n // Always create transients from the requesting container\n const factory = handler.getFactory(this.state);\n if (factory === null) {\n throw new Error(`Resolver for ${String(this.key)} returned a null factory`);\n }\n return factory.construct(requestor);\n }\n case 3 /* callback */:\n return this.state(handler, requestor, this);\n case 4 /* array */:\n return this.state[0].resolve(handler, requestor);\n case 5 /* alias */:\n return requestor.get(this.state);\n default:\n throw new Error(`Invalid resolver strategy specified: ${this.strategy}.`);\n }\n }\n getFactory(container) {\n var _a, _b, _c;\n switch (this.strategy) {\n case 1 /* singleton */:\n case 2 /* transient */:\n return container.getFactory(this.state);\n case 5 /* alias */:\n return (_c = (_b = (_a = container.getResolver(this.state)) === null || _a === void 0 ? void 0 : _a.getFactory) === null || _b === void 0 ? void 0 : _b.call(_a, container)) !== null && _c !== void 0 ? _c : null;\n default:\n return null;\n }\n }\n}\nfunction containerGetKey(d) {\n return this.get(d);\n}\nfunction transformInstance(inst, transform) {\n return transform(inst);\n}\n/** @internal */\nexport class FactoryImpl {\n constructor(Type, dependencies) {\n this.Type = Type;\n this.dependencies = dependencies;\n this.transformers = null;\n }\n construct(container, dynamicDependencies) {\n let instance;\n if (dynamicDependencies === void 0) {\n instance = new this.Type(...this.dependencies.map(containerGetKey, container));\n }\n else {\n instance = new this.Type(...this.dependencies.map(containerGetKey, container), ...dynamicDependencies);\n }\n if (this.transformers == null) {\n return instance;\n }\n return this.transformers.reduce(transformInstance, instance);\n }\n registerTransformer(transformer) {\n (this.transformers || (this.transformers = [])).push(transformer);\n }\n}\nconst containerResolver = {\n $isResolver: true,\n resolve(handler, requestor) {\n return requestor;\n },\n};\nfunction isRegistry(obj) {\n return typeof obj.register === \"function\";\n}\nfunction isSelfRegistry(obj) {\n return isRegistry(obj) && typeof obj.registerInRequestor === \"boolean\";\n}\nfunction isRegisterInRequester(obj) {\n return isSelfRegistry(obj) && obj.registerInRequestor;\n}\nfunction isClass(obj) {\n return obj.prototype !== void 0;\n}\nconst InstrinsicTypeNames = new Set([\n \"Array\",\n \"ArrayBuffer\",\n \"Boolean\",\n \"DataView\",\n \"Date\",\n \"Error\",\n \"EvalError\",\n \"Float32Array\",\n \"Float64Array\",\n \"Function\",\n \"Int8Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Map\",\n \"Number\",\n \"Object\",\n \"Promise\",\n \"RangeError\",\n \"ReferenceError\",\n \"RegExp\",\n \"Set\",\n \"SharedArrayBuffer\",\n \"String\",\n \"SyntaxError\",\n \"TypeError\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"URIError\",\n \"WeakMap\",\n \"WeakSet\",\n]);\nconst DILocateParentEventType = \"__DI_LOCATE_PARENT__\";\nconst factories = new Map();\n/**\n * @internal\n */\nexport class ContainerImpl {\n constructor(owner, config) {\n this.owner = owner;\n this.config = config;\n this._parent = void 0;\n this.registerDepth = 0;\n this.context = null;\n if (owner !== null) {\n owner.$$container$$ = this;\n }\n this.resolvers = new Map();\n this.resolvers.set(Container, containerResolver);\n if (owner instanceof Node) {\n owner.addEventListener(DILocateParentEventType, (e) => {\n if (e.composedPath()[0] !== this.owner) {\n e.detail.container = this;\n e.stopImmediatePropagation();\n }\n });\n }\n }\n get parent() {\n if (this._parent === void 0) {\n this._parent = this.config.parentLocator(this.owner);\n }\n return this._parent;\n }\n get depth() {\n return this.parent === null ? 0 : this.parent.depth + 1;\n }\n get responsibleForOwnerRequests() {\n return this.config.responsibleForOwnerRequests;\n }\n registerWithContext(context, ...params) {\n this.context = context;\n this.register(...params);\n this.context = null;\n return this;\n }\n register(...params) {\n if (++this.registerDepth === 100) {\n throw new Error(\"Unable to autoregister dependency\");\n // Most likely cause is trying to register a plain object that does not have a\n // register method and is not a class constructor\n }\n let current;\n let keys;\n let value;\n let j;\n let jj;\n const context = this.context;\n for (let i = 0, ii = params.length; i < ii; ++i) {\n current = params[i];\n if (!isObject(current)) {\n continue;\n }\n if (isRegistry(current)) {\n current.register(this, context);\n }\n else if (isClass(current)) {\n Registration.singleton(current, current).register(this);\n }\n else {\n keys = Object.keys(current);\n j = 0;\n jj = keys.length;\n for (; j < jj; ++j) {\n value = current[keys[j]];\n if (!isObject(value)) {\n continue;\n }\n // note: we could remove this if-branch and call this.register directly\n // - the extra check is just a perf tweak to create fewer unnecessary arrays by the spread operator\n if (isRegistry(value)) {\n value.register(this, context);\n }\n else {\n this.register(value);\n }\n }\n }\n }\n --this.registerDepth;\n return this;\n }\n registerResolver(key, resolver) {\n validateKey(key);\n const resolvers = this.resolvers;\n const result = resolvers.get(key);\n if (result == null) {\n resolvers.set(key, resolver);\n }\n else if (result instanceof ResolverImpl &&\n result.strategy === 4 /* array */) {\n result.state.push(resolver);\n }\n else {\n resolvers.set(key, new ResolverImpl(key, 4 /* array */, [result, resolver]));\n }\n return resolver;\n }\n registerTransformer(key, transformer) {\n const resolver = this.getResolver(key);\n if (resolver == null) {\n return false;\n }\n if (resolver.getFactory) {\n const factory = resolver.getFactory(this);\n if (factory == null) {\n return false;\n }\n // This type cast is a bit of a hacky one, necessary due to the duplicity of IResolverLike.\n // Problem is that that interface's type arg can be of type Key, but the getFactory method only works on\n // type Constructable. So the return type of that optional method has this additional constraint, which\n // seems to confuse the type checker.\n factory.registerTransformer(transformer);\n return true;\n }\n return false;\n }\n getResolver(key, autoRegister = true) {\n validateKey(key);\n if (key.resolve !== void 0) {\n return key;\n }\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n let current = this;\n let resolver;\n while (current != null) {\n resolver = current.resolvers.get(key);\n if (resolver == null) {\n if (current.parent == null) {\n const handler = isRegisterInRequester(key)\n ? this\n : current;\n return autoRegister ? this.jitRegister(key, handler) : null;\n }\n current = current.parent;\n }\n else {\n return resolver;\n }\n }\n return null;\n }\n has(key, searchAncestors = false) {\n return this.resolvers.has(key)\n ? true\n : searchAncestors && this.parent != null\n ? this.parent.has(key, true)\n : false;\n }\n get(key) {\n validateKey(key);\n if (key.$isResolver) {\n return key.resolve(this, this);\n }\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n let current = this;\n let resolver;\n while (current != null) {\n resolver = current.resolvers.get(key);\n if (resolver == null) {\n if (current.parent == null) {\n const handler = isRegisterInRequester(key)\n ? this\n : current;\n resolver = this.jitRegister(key, handler);\n return resolver.resolve(current, this);\n }\n current = current.parent;\n }\n else {\n return resolver.resolve(current, this);\n }\n }\n throw new Error(`Unable to resolve key: ${String(key)}`);\n }\n getAll(key, searchAncestors = false) {\n validateKey(key);\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n const requestor = this;\n let current = requestor;\n let resolver;\n if (searchAncestors) {\n let resolutions = emptyArray;\n while (current != null) {\n resolver = current.resolvers.get(key);\n if (resolver != null) {\n resolutions = resolutions.concat(\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n buildAllResponse(resolver, current, requestor));\n }\n current = current.parent;\n }\n return resolutions;\n }\n else {\n while (current != null) {\n resolver = current.resolvers.get(key);\n if (resolver == null) {\n current = current.parent;\n if (current == null) {\n return emptyArray;\n }\n }\n else {\n return buildAllResponse(resolver, current, requestor);\n }\n }\n }\n return emptyArray;\n }\n getFactory(Type) {\n let factory = factories.get(Type);\n if (factory === void 0) {\n if (isNativeFunction(Type)) {\n throw new Error(`${Type.name} is a native function and therefore cannot be safely constructed by DI. If this is intentional, please use a callback or cachedCallback resolver.`);\n }\n factories.set(Type, (factory = new FactoryImpl(Type, DI.getDependencies(Type))));\n }\n return factory;\n }\n registerFactory(key, factory) {\n factories.set(key, factory);\n }\n createChild(config) {\n return new ContainerImpl(null, Object.assign({}, this.config, config, { parentLocator: () => this }));\n }\n jitRegister(keyAsValue, handler) {\n if (typeof keyAsValue !== \"function\") {\n throw new Error(`Attempted to jitRegister something that is not a constructor: '${keyAsValue}'. Did you forget to register this dependency?`);\n }\n if (InstrinsicTypeNames.has(keyAsValue.name)) {\n throw new Error(`Attempted to jitRegister an intrinsic type: ${keyAsValue.name}. Did you forget to add @inject(Key)`);\n }\n if (isRegistry(keyAsValue)) {\n const registrationResolver = keyAsValue.register(handler);\n if (!(registrationResolver instanceof Object) ||\n registrationResolver.resolve == null) {\n const newResolver = handler.resolvers.get(keyAsValue);\n if (newResolver != void 0) {\n return newResolver;\n }\n throw new Error(\"A valid resolver was not returned from the static register method\");\n }\n return registrationResolver;\n }\n else if (keyAsValue.$isInterface) {\n throw new Error(`Attempted to jitRegister an interface: ${keyAsValue.friendlyName}`);\n }\n else {\n const resolver = this.config.defaultResolver(keyAsValue, handler);\n handler.resolvers.set(keyAsValue, resolver);\n return resolver;\n }\n }\n}\nconst cache = new WeakMap();\nfunction cacheCallbackResult(fun) {\n return function (handler, requestor, resolver) {\n if (cache.has(resolver)) {\n return cache.get(resolver);\n }\n const t = fun(handler, requestor, resolver);\n cache.set(resolver, t);\n return t;\n };\n}\n/**\n * You can use the resulting Registration of any of the factory methods\n * to register with the container.\n *\n * @example\n * ```\n * class Foo {}\n * const container = DI.createContainer();\n * container.register(Registration.instance(Foo, new Foo()));\n * container.get(Foo);\n * ```\n *\n * @public\n */\nexport const Registration = Object.freeze({\n /**\n * Allows you to pass an instance.\n * Every time you request this {@link Key} you will get this instance back.\n *\n * @example\n * ```\n * Registration.instance(Foo, new Foo()));\n * ```\n *\n * @param key - The key to register the instance under.\n * @param value - The instance to return when the key is requested.\n */\n instance(key, value) {\n return new ResolverImpl(key, 0 /* instance */, value);\n },\n /**\n * Creates an instance from the class.\n * Every time you request this {@link Key} you will get the same one back.\n *\n * @example\n * ```\n * Registration.singleton(Foo, Foo);\n * ```\n *\n * @param key - The key to register the singleton under.\n * @param value - The class to instantiate as a singleton when first requested.\n */\n singleton(key, value) {\n return new ResolverImpl(key, 1 /* singleton */, value);\n },\n /**\n * Creates an instance from a class.\n * Every time you request this {@link Key} you will get a new instance.\n *\n * @example\n * ```\n * Registration.instance(Foo, Foo);\n * ```\n *\n * @param key - The key to register the instance type under.\n * @param value - The class to instantiate each time the key is requested.\n */\n transient(key, value) {\n return new ResolverImpl(key, 2 /* transient */, value);\n },\n /**\n * Delegates to a callback function to provide the dependency.\n * Every time you request this {@link Key} the callback will be invoked to provide\n * the dependency.\n *\n * @example\n * ```\n * Registration.callback(Foo, () => new Foo());\n * Registration.callback(Bar, (c: Container) => new Bar(c.get(Foo)));\n * ```\n *\n * @param key - The key to register the callback for.\n * @param callback - The function that is expected to return the dependency.\n */\n callback(key, callback) {\n return new ResolverImpl(key, 3 /* callback */, callback);\n },\n /**\n * Delegates to a callback function to provide the dependency and then caches the\n * dependency for future requests.\n *\n * @example\n * ```\n * Registration.cachedCallback(Foo, () => new Foo());\n * Registration.cachedCallback(Bar, (c: Container) => new Bar(c.get(Foo)));\n * ```\n *\n * @param key - The key to register the callback for.\n * @param callback - The function that is expected to return the dependency.\n * @remarks\n * If you pass the same Registration to another container, the same cached value will be used.\n * Should all references to the resolver returned be removed, the cache will expire.\n */\n cachedCallback(key, callback) {\n return new ResolverImpl(key, 3 /* callback */, cacheCallbackResult(callback));\n },\n /**\n * Creates an alternate {@link Key} to retrieve an instance by.\n *\n * @example\n * ```\n * Register.singleton(Foo, Foo)\n * Register.aliasTo(Foo, MyFoos);\n *\n * container.getAll(MyFoos) // contains an instance of Foo\n * ```\n *\n * @param originalKey - The original key that has been registered.\n * @param aliasKey - The alias to the original key.\n */\n aliasTo(originalKey, aliasKey) {\n return new ResolverImpl(aliasKey, 5 /* alias */, originalKey);\n },\n});\n/** @internal */\nexport function validateKey(key) {\n if (key === null || key === void 0) {\n throw new Error(\"key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?\");\n }\n}\nfunction buildAllResponse(resolver, handler, requestor) {\n if (resolver instanceof ResolverImpl &&\n resolver.strategy === 4 /* array */) {\n const state = resolver.state;\n let i = state.length;\n const results = new Array(i);\n while (i--) {\n results[i] = state[i].resolve(handler, requestor);\n }\n return results;\n }\n return [resolver.resolve(handler, requestor)];\n}\nconst defaultFriendlyName = \"(anonymous)\";\nfunction isObject(value) {\n return (typeof value === \"object\" && value !== null) || typeof value === \"function\";\n}\n/**\n * Determine whether the value is a native function.\n *\n * @param fn - The function to check.\n * @returns `true` is the function is a native function, otherwise `false`\n */\nconst isNativeFunction = (function () {\n const lookup = new WeakMap();\n let isNative = false;\n let sourceText = \"\";\n let i = 0;\n return function (fn) {\n isNative = lookup.get(fn);\n if (isNative === void 0) {\n sourceText = fn.toString();\n i = sourceText.length;\n // http://www.ecma-international.org/ecma-262/#prod-NativeFunction\n isNative =\n // 29 is the length of 'function () { [native code] }' which is the smallest length of a native function string\n i >= 29 &&\n // 100 seems to be a safe upper bound of the max length of a native function. In Chrome and FF it's 56, in Edge it's 61.\n i <= 100 &&\n // This whole heuristic *could* be tricked by a comment. Do we need to care about that?\n sourceText.charCodeAt(i - 1) === 0x7d && // }\n // TODO: the spec is a little vague about the precise constraints, so we do need to test this across various browsers to make sure just one whitespace is a safe assumption.\n sourceText.charCodeAt(i - 2) <= 0x20 && // whitespace\n sourceText.charCodeAt(i - 3) === 0x5d && // ]\n sourceText.charCodeAt(i - 4) === 0x65 && // e\n sourceText.charCodeAt(i - 5) === 0x64 && // d\n sourceText.charCodeAt(i - 6) === 0x6f && // o\n sourceText.charCodeAt(i - 7) === 0x63 && // c\n sourceText.charCodeAt(i - 8) === 0x20 && //\n sourceText.charCodeAt(i - 9) === 0x65 && // e\n sourceText.charCodeAt(i - 10) === 0x76 && // v\n sourceText.charCodeAt(i - 11) === 0x69 && // i\n sourceText.charCodeAt(i - 12) === 0x74 && // t\n sourceText.charCodeAt(i - 13) === 0x61 && // a\n sourceText.charCodeAt(i - 14) === 0x6e && // n\n sourceText.charCodeAt(i - 15) === 0x58; // [\n lookup.set(fn, isNative);\n }\n return isNative;\n };\n})();\nconst isNumericLookup = {};\nfunction isArrayIndex(value) {\n switch (typeof value) {\n case \"number\":\n return value >= 0 && (value | 0) === value;\n case \"string\": {\n const result = isNumericLookup[value];\n if (result !== void 0) {\n return result;\n }\n const length = value.length;\n if (length === 0) {\n return (isNumericLookup[value] = false);\n }\n let ch = 0;\n for (let i = 0; i < length; ++i) {\n ch = value.charCodeAt(i);\n if ((i === 0 && ch === 0x30 && length > 1) /* must not start with 0 */ ||\n ch < 0x30 /* 0 */ ||\n ch > 0x39 /* 9 */) {\n return (isNumericLookup[value] = false);\n }\n }\n return (isNumericLookup[value] = true);\n }\n default:\n return false;\n }\n}\n", + "import { ElementStyles, } from \"@microsoft/fast-element\";\nimport { DI, Registration } from \"../di/di.js\";\nfunction presentationKeyFromTag(tagName) {\n return `${tagName.toLowerCase()}:presentation`;\n}\nconst presentationRegistry = new Map();\n/**\n * An API gateway to component presentation features.\n * @public\n */\nexport const ComponentPresentation = Object.freeze({\n /**\n * Defines a component presentation for an element.\n * @param tagName - The element name to define the presentation for.\n * @param presentation - The presentation that will be applied to matching elements.\n * @param container - The dependency injection container to register the configuration in.\n * @public\n */\n define(tagName, presentation, container) {\n const key = presentationKeyFromTag(tagName);\n const existing = presentationRegistry.get(key);\n if (existing === void 0) {\n presentationRegistry.set(key, presentation);\n }\n else {\n // false indicates that we have more than one presentation\n // registered for a tagName and we must resolve through DI\n presentationRegistry.set(key, false);\n }\n container.register(Registration.instance(key, presentation));\n },\n /**\n * Finds a component presentation for the specified element name,\n * searching the DOM hierarchy starting from the provided element.\n * @param tagName - The name of the element to locate the presentation for.\n * @param element - The element to begin the search from.\n * @returns The component presentation or null if none is found.\n * @public\n */\n forTag(tagName, element) {\n const key = presentationKeyFromTag(tagName);\n const existing = presentationRegistry.get(key);\n if (existing === false) {\n const container = DI.findResponsibleContainer(element);\n return container.get(key);\n }\n return existing || null;\n },\n});\n/**\n * The default implementation of ComponentPresentation, used by FoundationElement.\n * @public\n */\nexport class DefaultComponentPresentation {\n /**\n * Creates an instance of DefaultComponentPresentation.\n * @param template - The template to apply to the element.\n * @param styles - The styles to apply to the element.\n * @public\n */\n constructor(template, styles) {\n this.template = template || null;\n this.styles =\n styles === void 0\n ? null\n : Array.isArray(styles)\n ? ElementStyles.create(styles)\n : styles instanceof ElementStyles\n ? styles\n : ElementStyles.create([styles]);\n }\n /**\n * Applies the presentation details to the specified element.\n * @param element - The element to apply the presentation details to.\n * @public\n */\n applyTo(element) {\n const controller = element.$fastController;\n if (controller.template === null) {\n controller.template = this.template;\n }\n if (controller.styles === null) {\n controller.styles = this.styles;\n }\n }\n}\n", + "import { __decorate } from \"tslib\";\nimport { FASTElement, observable } from \"@microsoft/fast-element\";\nimport { ComponentPresentation, DefaultComponentPresentation, } from \"../design-system/component-presentation.js\";\n/**\n * Defines a foundation element class that:\n * 1. Connects the element to its ComponentPresentation\n * 2. Allows resolving the element template from the instance or ComponentPresentation\n * 3. Allows resolving the element styles from the instance or ComponentPresentation\n *\n * @public\n */\nexport class FoundationElement extends FASTElement {\n constructor() {\n super(...arguments);\n this._presentation = void 0;\n }\n /**\n * A property which resolves the ComponentPresentation instance\n * for the current component.\n * @public\n */\n get $presentation() {\n if (this._presentation === void 0) {\n this._presentation = ComponentPresentation.forTag(this.tagName, this);\n }\n return this._presentation;\n }\n templateChanged() {\n if (this.template !== undefined) {\n this.$fastController.template = this.template;\n }\n }\n stylesChanged() {\n if (this.styles !== undefined) {\n this.$fastController.styles = this.styles;\n }\n }\n /**\n * The connected callback for this FASTElement.\n * @remarks\n * This method is invoked by the platform whenever this FoundationElement\n * becomes connected to the document.\n * @public\n */\n connectedCallback() {\n if (this.$presentation !== null) {\n this.$presentation.applyTo(this);\n }\n super.connectedCallback();\n }\n /**\n * Defines an element registry function with a set of element definition defaults.\n * @param elementDefinition - The definition of the element to create the registry\n * function for.\n * @public\n */\n static compose(elementDefinition) {\n return (overrideDefinition = {}) => new FoundationElementRegistry(this === FoundationElement\n ? class extends FoundationElement {\n }\n : this, elementDefinition, overrideDefinition);\n }\n}\n__decorate([\n observable\n], FoundationElement.prototype, \"template\", void 0);\n__decorate([\n observable\n], FoundationElement.prototype, \"styles\", void 0);\nfunction resolveOption(option, context, definition) {\n if (typeof option === \"function\") {\n return option(context, definition);\n }\n return option;\n}\n/**\n * Registry capable of defining presentation properties for a DOM Container hierarchy.\n *\n * @internal\n */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport class FoundationElementRegistry {\n constructor(type, elementDefinition, overrideDefinition) {\n this.type = type;\n this.elementDefinition = elementDefinition;\n this.overrideDefinition = overrideDefinition;\n this.definition = Object.assign(Object.assign({}, this.elementDefinition), this.overrideDefinition);\n }\n register(container, context) {\n const definition = this.definition;\n const overrideDefinition = this.overrideDefinition;\n const prefix = definition.prefix || context.elementPrefix;\n const name = `${prefix}-${definition.baseName}`;\n context.tryDefineElement({\n name,\n type: this.type,\n baseClass: this.elementDefinition.baseClass,\n callback: x => {\n const presentation = new DefaultComponentPresentation(resolveOption(definition.template, x, definition), resolveOption(definition.styles, x, definition));\n x.definePresentation(presentation);\n let shadowOptions = resolveOption(definition.shadowOptions, x, definition);\n if (x.shadowRootMode) {\n // If the design system has overridden the shadow root mode, we need special handling.\n if (shadowOptions) {\n // If there are shadow options present in the definition, then\n // either the component itself has specified an option or the\n // registry function has overridden it.\n if (!overrideDefinition.shadowOptions) {\n // There were shadow options provided by the component and not overridden by\n // the registry.\n shadowOptions.mode = x.shadowRootMode;\n }\n }\n else if (shadowOptions !== null) {\n // If the component author did not provide shadow options,\n // and did not null them out (light dom opt-in) then they\n // were relying on the FASTElement default. So, if the\n // design system provides a mode, we need to create the options\n // to override the default.\n shadowOptions = { mode: x.shadowRootMode };\n }\n }\n x.defineElement({\n elementOptions: resolveOption(definition.elementOptions, x, definition),\n shadowOptions,\n attributes: resolveOption(definition.attributes, x, definition),\n });\n },\n });\n }\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n", + "import { AttributeConfiguration } from \"@microsoft/fast-element\";\n/**\n * Apply mixins to a constructor.\n * Sourced from {@link https://www.typescriptlang.org/docs/handbook/mixins.html | TypeScript Documentation }.\n * @public\n */\nexport function applyMixins(derivedCtor, ...baseCtors) {\n const derivedAttributes = AttributeConfiguration.locate(derivedCtor);\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n if (name !== \"constructor\") {\n Object.defineProperty(derivedCtor.prototype, name, \n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n }\n });\n const baseAttributes = AttributeConfiguration.locate(baseCtor);\n baseAttributes.forEach(x => derivedAttributes.push(x));\n });\n}\n", + "/**\n * Standard orientation values\n */\nexport const Orientation = {\n horizontal: \"horizontal\",\n vertical: \"vertical\",\n};\n", + "/**\n * Returns the index of the last element in the array where predicate is true, and -1 otherwise.\n *\n * @param array - the array to test\n * @param predicate - find calls predicate once for each element of the array, in descending order, until it finds one where predicate returns true. If such an element is found, findLastIndex immediately returns that element index. Otherwise, findIndex returns -1.\n */\nexport function findLastIndex(array, predicate) {\n let k = array.length;\n while (k--) {\n if (predicate(array[k], k, array)) {\n return k;\n }\n }\n return -1;\n}\n", + "/**\n * Checks if the DOM is available to access and use\n */\nexport function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n", + "import { canUseDOM } from \"exenv-es6\";\n/**\n * A test that ensures that all arguments are HTML Elements\n */\nexport function isHTMLElement(...args) {\n return args.every((arg) => arg instanceof HTMLElement);\n}\n/**\n * Returns all displayed elements inside of a root node that match a provided selector\n */\nexport function getDisplayedNodes(rootNode, selector) {\n if (!rootNode || !selector || !isHTMLElement(rootNode)) {\n return;\n }\n const nodes = Array.from(rootNode.querySelectorAll(selector));\n // offsetParent will be null if the element isn't currently displayed,\n // so this will allow us to operate only on visible nodes\n return nodes.filter((node) => node.offsetParent !== null);\n}\n/**\n * Gets the numeric key code associated with a keyboard event. This method is for use with DOM level 3 events\n * that still use the deprecated keyCode property.\n */\nexport function getKeyCode(event) {\n return event === null ? null : event.which || event.keyCode || event.charCode;\n}\n/**\n * Returns the nonce used in the page, if any.\n *\n * Based on https://github.com/cssinjs/jss/blob/master/packages/jss/src/DomRenderer.js\n */\nfunction getNonce() {\n const node = document.querySelector('meta[property=\"csp-nonce\"]');\n if (node) {\n return node.getAttribute(\"content\");\n }\n else {\n return null;\n }\n}\n/**\n * Test if the document supports :focus-visible\n */\nlet _canUseFocusVisible;\nexport function canUseFocusVisible() {\n if (typeof _canUseFocusVisible === \"boolean\") {\n return _canUseFocusVisible;\n }\n if (!canUseDOM()) {\n _canUseFocusVisible = false;\n return _canUseFocusVisible;\n }\n // Check to see if the document supports the focus-visible element\n const styleElement = document.createElement(\"style\");\n // If nonces are present on the page, use it when creating the style element\n // to test focus-visible support.\n const styleNonce = getNonce();\n if (styleNonce !== null) {\n styleElement.setAttribute(\"nonce\", styleNonce);\n }\n document.head.appendChild(styleElement);\n try {\n styleElement.sheet.insertRule(\"foo:focus-visible {color:inherit}\", 0);\n _canUseFocusVisible = true;\n }\n catch (e) {\n _canUseFocusVisible = false;\n }\n finally {\n document.head.removeChild(styleElement);\n }\n return _canUseFocusVisible;\n}\nlet _canUseCssGrid;\nexport function canUseCssGrid() {\n if (typeof _canUseCssGrid === \"boolean\") {\n return _canUseCssGrid;\n }\n try {\n _canUseCssGrid = CSS.supports(\"display\", \"grid\");\n }\n catch (_a) {\n _canUseCssGrid = false;\n }\n return _canUseCssGrid;\n}\nexport function canUseForcedColors() {\n return (canUseDOM() &&\n (window.matchMedia(\"(forced-colors: none)\").matches ||\n window.matchMedia(\"(forced-colors: active)\").matches));\n}\nexport function resetDocumentCache() {\n _canUseCssGrid = undefined;\n _canUseFocusVisible = undefined;\n}\n/**\n * @deprecated Use 'canUseForcedColors' instead\n */\nexport const canUsedForcedColors = canUseForcedColors;\n", + "/**\n * This set of exported strings reference https://developer.mozilla.org/en-US/docs/Web/Events\n * and should include all non-deprecated and non-experimental Standard events\n */\nexport const eventAbort = \"abort\";\nexport const eventAfterPrint = \"afterprint\";\nexport const eventAnimationCancel = \"animationcancel\";\nexport const eventAnimationEnd = \"animationend\";\nexport const eventAnimationIteration = \"animationiteration\";\nexport const eventAnimationStart = \"animationstart\";\nexport const eventAppInstalled = \"appinstalled\";\nexport const eventBeforePrint = \"beforeprint\";\nexport const eventBeforeUnload = \"beforeunload\";\nexport const eventBeginEvent = \"beginEvent\";\nexport const eventBlocked = \"blocked\";\nexport const eventBlur = \"blur\";\nexport const eventCanPlay = \"canplay\";\nexport const eventCanPlayThrough = \"canplaythrough\";\nexport const eventChange = \"change\";\nexport const eventChargingChange = \"chargingchange\";\nexport const eventChargingTimeChange = \"chargingtimechange\";\nexport const eventClick = \"click\";\nexport const eventClose = \"close\";\nexport const eventComplete = \"complete\";\nexport const eventCompositionEnd = \"compositionend\";\nexport const eventCompositionStart = \"compositionstart\";\nexport const eventCompositionUpdate = \"compositionupdate\";\nexport const eventContextMenu = \"contextmenu\";\nexport const eventCopy = \"copy\";\nexport const eventCut = \"cut\";\nexport const eventDblClick = \"dblclick\";\nexport const eventDeviceChange = \"devicechange\";\nexport const eventDeviceMotion = \"devicemotion\";\nexport const eventDeviceOrientation = \"deviceorientation\";\nexport const eventDischargingTimeChange = \"dischargingtimechange\";\nexport const eventDrag = \"drag\";\nexport const eventDragEnd = \"dragend\";\nexport const eventDragEnter = \"dragenter\";\nexport const eventDragLeave = \"dragleave\";\nexport const eventDragOver = \"dragover\";\nexport const eventDragStart = \"dragstart\";\nexport const eventDrop = \"drop\";\nexport const eventDurationChange = \"durationchange\";\nexport const eventEmptied = \"emptied\";\nexport const eventEnded = \"ended\";\nexport const eventEndEvent = \"endevent\";\nexport const eventError = \"error\";\nexport const eventFocus = \"focus\";\nexport const eventFocusIn = \"focusin\";\nexport const eventFocusOut = \"focusout\";\nexport const eventFullScreenChange = \"fullscreenchange\";\nexport const eventFullScreenError = \"fullscreenerror\";\nexport const eventGamePadConnected = \"gamepadconnected\";\nexport const eventGamePadDisconnected = \"gamepaddisconnected\";\nexport const eventGotPointerCapture = \"gotpointercapture\";\nexport const eventHashChange = \"hashchange\";\nexport const eventLostPointerCapture = \"lostpointercapture\";\nexport const eventInput = \"input\";\nexport const eventInvalid = \"invalid\";\nexport const eventKeyDown = \"keydown\";\nexport const eventKeyUp = \"keyup\";\nexport const eventLevelChange = \"levelchange\";\nexport const eventLoad = \"load\";\nexport const eventLoadedData = \"loadeddata\";\nexport const eventLoadedMetaData = \"loadedmetadata\";\nexport const eventLoadEnd = \"loadend\";\nexport const eventLoadStart = \"loadstart\";\nexport const eventMessage = \"message\";\nexport const eventMessageError = \"messageerror\";\nexport const eventMouseDown = \"mousedown\";\nexport const eventMouseEnter = \"mouseenter\";\nexport const eventMouseLeave = \"mouseleave\";\nexport const eventMouseMove = \"mousemove\";\nexport const eventMouseOut = \"mouseout\";\nexport const eventMouseOver = \"mouseover\";\nexport const eventMouseUp = \"mouseup\";\nexport const eventNotificationClick = \"notificationclick\";\nexport const eventOffline = \"offline\";\nexport const eventOnline = \"online\";\nexport const eventOpen = \"open\";\nexport const eventOrientationChange = \"orientationchange\";\nexport const eventPageHide = \"pagehide\";\nexport const eventPageShow = \"pageshow\";\nexport const eventPaste = \"paste\";\nexport const eventPause = \"pause\";\nexport const eventPointerCancel = \"pointercancel\";\nexport const eventPointerDown = \"pointerdown\";\nexport const eventPointerEnter = \"pointerenter\";\nexport const eventPointerLeave = \"pointerleave\";\nexport const eventPointerLockChange = \"pointerlockchange\";\nexport const eventPointerLockError = \"pointerlockerror\";\nexport const eventPointerMove = \"pointermove\";\nexport const eventPointerOut = \"pointerout\";\nexport const eventPointerOver = \"pointerover\";\nexport const eventPointerUp = \"pointerup\";\nexport const eventPlay = \"play\";\nexport const eventPlaying = \"playing\";\nexport const eventPopState = \"popstate\";\nexport const eventProgress = \"progress\";\nexport const eventPush = \"push\";\nexport const eventPushSubscriptionChange = \"pushsubscriptionchange\";\nexport const eventRateChange = \"ratechange\";\nexport const eventReadyStateChange = \"readystatechange\";\nexport const eventRepeatEvent = \"repeatevent\";\nexport const eventReset = \"reset\";\nexport const eventResize = \"resize\";\nexport const eventResourceTimingBufferFull = \"resourcetimingbufferfull\";\nexport const eventScroll = \"scroll\";\nexport const eventSeeked = \"seeked\";\nexport const eventSeeking = \"seeking\";\nexport const eventSelect = \"select\";\nexport const eventShow = \"show\";\nexport const eventSlotChange = \"slotchange\";\nexport const eventStalled = \"stalled\";\nexport const eventStart = \"start\";\nexport const eventStorage = \"storage\";\nexport const eventSubmit = \"submit\";\nexport const eventSuccess = \"success\";\nexport const eventSuspend = \"suspend\";\nexport const eventSVGAbort = \"SVGAbort\";\nexport const eventSVGError = \"SVGError\";\nexport const eventSVGLoad = \"SVGLoad\";\nexport const eventSVGResize = \"SVGResize\";\nexport const eventSVGScroll = \"SVGScroll\";\nexport const eventSVGUnload = \"SVGUnload\";\nexport const eventSVGZoom = \"SVGZoom\";\nexport const eventTimeOut = \"timeout\";\nexport const eventTimeUpdate = \"timeupdate\";\nexport const eventTouchCancel = \"touchcancel\";\nexport const eventTouchEnd = \"touchend\";\nexport const eventTouchMove = \"touchmove\";\nexport const eventTouchStart = \"touchstart\";\nexport const eventTransitionEnd = \"transitionend\";\nexport const eventUnload = \"unload\";\nexport const eventUpgradeNeeded = \"upgradeneeded\";\nexport const eventUserProximity = \"userproximity\";\nexport const eventVersionChange = \"versionchange\";\nexport const eventVisibilityChange = \"visibilitychange\";\nexport const eventVolumeChange = \"volumechange\";\nexport const eventWaiting = \"waiting\";\nexport const eventWheel = \"wheel\";\n", + "/**\n * Key Code values\n * @deprecated - KeyCodes are deprecated, use individual string key exports\n */\nexport var KeyCodes;\n(function (KeyCodes) {\n KeyCodes[KeyCodes[\"alt\"] = 18] = \"alt\";\n KeyCodes[KeyCodes[\"arrowDown\"] = 40] = \"arrowDown\";\n KeyCodes[KeyCodes[\"arrowLeft\"] = 37] = \"arrowLeft\";\n KeyCodes[KeyCodes[\"arrowRight\"] = 39] = \"arrowRight\";\n KeyCodes[KeyCodes[\"arrowUp\"] = 38] = \"arrowUp\";\n KeyCodes[KeyCodes[\"back\"] = 8] = \"back\";\n KeyCodes[KeyCodes[\"backSlash\"] = 220] = \"backSlash\";\n KeyCodes[KeyCodes[\"break\"] = 19] = \"break\";\n KeyCodes[KeyCodes[\"capsLock\"] = 20] = \"capsLock\";\n KeyCodes[KeyCodes[\"closeBracket\"] = 221] = \"closeBracket\";\n KeyCodes[KeyCodes[\"colon\"] = 186] = \"colon\";\n KeyCodes[KeyCodes[\"colon2\"] = 59] = \"colon2\";\n KeyCodes[KeyCodes[\"comma\"] = 188] = \"comma\";\n KeyCodes[KeyCodes[\"ctrl\"] = 17] = \"ctrl\";\n KeyCodes[KeyCodes[\"delete\"] = 46] = \"delete\";\n KeyCodes[KeyCodes[\"end\"] = 35] = \"end\";\n KeyCodes[KeyCodes[\"enter\"] = 13] = \"enter\";\n KeyCodes[KeyCodes[\"equals\"] = 187] = \"equals\";\n KeyCodes[KeyCodes[\"equals2\"] = 61] = \"equals2\";\n KeyCodes[KeyCodes[\"equals3\"] = 107] = \"equals3\";\n KeyCodes[KeyCodes[\"escape\"] = 27] = \"escape\";\n KeyCodes[KeyCodes[\"forwardSlash\"] = 191] = \"forwardSlash\";\n KeyCodes[KeyCodes[\"function1\"] = 112] = \"function1\";\n KeyCodes[KeyCodes[\"function10\"] = 121] = \"function10\";\n KeyCodes[KeyCodes[\"function11\"] = 122] = \"function11\";\n KeyCodes[KeyCodes[\"function12\"] = 123] = \"function12\";\n KeyCodes[KeyCodes[\"function2\"] = 113] = \"function2\";\n KeyCodes[KeyCodes[\"function3\"] = 114] = \"function3\";\n KeyCodes[KeyCodes[\"function4\"] = 115] = \"function4\";\n KeyCodes[KeyCodes[\"function5\"] = 116] = \"function5\";\n KeyCodes[KeyCodes[\"function6\"] = 117] = \"function6\";\n KeyCodes[KeyCodes[\"function7\"] = 118] = \"function7\";\n KeyCodes[KeyCodes[\"function8\"] = 119] = \"function8\";\n KeyCodes[KeyCodes[\"function9\"] = 120] = \"function9\";\n KeyCodes[KeyCodes[\"home\"] = 36] = \"home\";\n KeyCodes[KeyCodes[\"insert\"] = 45] = \"insert\";\n KeyCodes[KeyCodes[\"menu\"] = 93] = \"menu\";\n KeyCodes[KeyCodes[\"minus\"] = 189] = \"minus\";\n KeyCodes[KeyCodes[\"minus2\"] = 109] = \"minus2\";\n KeyCodes[KeyCodes[\"numLock\"] = 144] = \"numLock\";\n KeyCodes[KeyCodes[\"numPad0\"] = 96] = \"numPad0\";\n KeyCodes[KeyCodes[\"numPad1\"] = 97] = \"numPad1\";\n KeyCodes[KeyCodes[\"numPad2\"] = 98] = \"numPad2\";\n KeyCodes[KeyCodes[\"numPad3\"] = 99] = \"numPad3\";\n KeyCodes[KeyCodes[\"numPad4\"] = 100] = \"numPad4\";\n KeyCodes[KeyCodes[\"numPad5\"] = 101] = \"numPad5\";\n KeyCodes[KeyCodes[\"numPad6\"] = 102] = \"numPad6\";\n KeyCodes[KeyCodes[\"numPad7\"] = 103] = \"numPad7\";\n KeyCodes[KeyCodes[\"numPad8\"] = 104] = \"numPad8\";\n KeyCodes[KeyCodes[\"numPad9\"] = 105] = \"numPad9\";\n KeyCodes[KeyCodes[\"numPadDivide\"] = 111] = \"numPadDivide\";\n KeyCodes[KeyCodes[\"numPadDot\"] = 110] = \"numPadDot\";\n KeyCodes[KeyCodes[\"numPadMinus\"] = 109] = \"numPadMinus\";\n KeyCodes[KeyCodes[\"numPadMultiply\"] = 106] = \"numPadMultiply\";\n KeyCodes[KeyCodes[\"numPadPlus\"] = 107] = \"numPadPlus\";\n KeyCodes[KeyCodes[\"openBracket\"] = 219] = \"openBracket\";\n KeyCodes[KeyCodes[\"pageDown\"] = 34] = \"pageDown\";\n KeyCodes[KeyCodes[\"pageUp\"] = 33] = \"pageUp\";\n KeyCodes[KeyCodes[\"period\"] = 190] = \"period\";\n KeyCodes[KeyCodes[\"print\"] = 44] = \"print\";\n KeyCodes[KeyCodes[\"quote\"] = 222] = \"quote\";\n KeyCodes[KeyCodes[\"scrollLock\"] = 145] = \"scrollLock\";\n KeyCodes[KeyCodes[\"shift\"] = 16] = \"shift\";\n KeyCodes[KeyCodes[\"space\"] = 32] = \"space\";\n KeyCodes[KeyCodes[\"tab\"] = 9] = \"tab\";\n KeyCodes[KeyCodes[\"tilde\"] = 192] = \"tilde\";\n KeyCodes[KeyCodes[\"windowsLeft\"] = 91] = \"windowsLeft\";\n KeyCodes[KeyCodes[\"windowsOpera\"] = 219] = \"windowsOpera\";\n KeyCodes[KeyCodes[\"windowsRight\"] = 92] = \"windowsRight\";\n})(KeyCodes || (KeyCodes = {}));\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeAlt = 18;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeArrowDown = 40;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeArrowLeft = 37;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeArrowRight = 39;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeArrowUp = 38;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeBack = 8;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeBackSlash = 220;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeBreak = 19;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeCapsLock = 20;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeCloseBracket = 221;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeColon = 186;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeColon2 = 59; // Opera and Firefox\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeComma = 188;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeCtrl = 17;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeDelete = 46;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeEnd = 35;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeEnter = 13;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeEquals = 187;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeEquals2 = 61; // Opera\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeEquals3 = 107; // Firefox\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeEscape = 27;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeForwardSlash = 191;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction1 = 112;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction10 = 121;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction11 = 122;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction12 = 123;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction2 = 113;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction3 = 114;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction4 = 115;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction5 = 116;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction6 = 117;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction7 = 118;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction8 = 119;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeFunction9 = 120;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeHome = 36;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeInsert = 45;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeMenu = 93;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeMinus = 189;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeMinus2 = 109; // Opera and Firefox\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumLock = 144;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad0 = 96;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad1 = 97;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad2 = 98;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad3 = 99;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad4 = 100;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad5 = 101;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad6 = 102;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad7 = 103;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad8 = 104;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPad9 = 105;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPadDivide = 111;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPadDot = 110;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPadMinus = 109;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPadMultiply = 106;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeNumPadPlus = 107;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeOpenBracket = 219;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodePageDown = 34;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodePageUp = 33;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodePeriod = 190;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodePrint = 44;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeQuote = 222;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeScrollLock = 145;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeShift = 16;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeSpace = 32;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeTab = 9;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeTilde = 192;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeWindowsLeft = 91;\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeWindowsOpera = 219; // Opera\n/**\n * @deprecated - KeyCodes are deprecated, use string key exports\n */\nexport const keyCodeWindowsRight = 92;\n/**\n * String values for use with KeyboardEvent.key\n */\nexport const keyArrowDown = \"ArrowDown\";\nexport const keyArrowLeft = \"ArrowLeft\";\nexport const keyArrowRight = \"ArrowRight\";\nexport const keyArrowUp = \"ArrowUp\";\nexport const keyEnter = \"Enter\";\nexport const keyEscape = \"Escape\";\nexport const keyHome = \"Home\";\nexport const keyEnd = \"End\";\nexport const keyFunction2 = \"F2\";\nexport const keyPageDown = \"PageDown\";\nexport const keyPageUp = \"PageUp\";\nexport const keySpace = \" \";\nexport const keyTab = \"Tab\";\nexport const keyBackspace = \"Backspace\";\nexport const keyDelete = \"Delete\";\nexport const ArrowKeys = {\n ArrowDown: keyArrowDown,\n ArrowLeft: keyArrowLeft,\n ArrowRight: keyArrowRight,\n ArrowUp: keyArrowUp,\n};\n", + "/**\n * Expose ltr and rtl strings\n */\nexport var Direction;\n(function (Direction) {\n Direction[\"ltr\"] = \"ltr\";\n Direction[\"rtl\"] = \"rtl\";\n})(Direction || (Direction = {}));\n", + "/**\n * This method keeps a given value within the bounds of a min and max value. If the value\n * is larger than the max, the minimum value will be returned. If the value is smaller than the minimum,\n * the maximum will be returned. Otherwise, the value is returned un-changed.\n */\nexport function wrapInBounds(min, max, value) {\n if (value < min) {\n return max;\n }\n else if (value > max) {\n return min;\n }\n return value;\n}\n/**\n * Ensures that a value is between a min and max value. If value is lower than min, min will be returned.\n * If value is greater than max, max will be returned.\n */\nexport function limit(min, max, value) {\n return Math.min(Math.max(value, min), max);\n}\n/**\n * Determines if a number value is within a specified range.\n *\n * @param value - the value to check\n * @param min - the range start\n * @param max - the range end\n */\nexport function inRange(value, min, max = 0) {\n [min, max] = [min, max].sort((a, b) => a - b);\n return min <= value && value < max;\n}\n", + "let uniqueIdCounter = 0;\n/**\n * Generates a unique ID based on incrementing a counter.\n */\nexport function uniqueId(prefix = \"\") {\n return `${prefix}${uniqueIdCounter++}`;\n}\n/**\n * Builds a string from a format specifier and replacement parameters.\n */\nexport function format(formatSpecifier, ...parameters) {\n return formatSpecifier.replace(/{(\\d+)}/g, function (match, index) {\n if (index >= parameters.length) {\n return match;\n }\n const value = parameters[index];\n if (typeof value !== \"number\" && !value) {\n return \"\";\n }\n return value;\n });\n}\n/**\n * Check to see if one string starts with another\n */\nexport function startsWith(stringToSearch, searchFor, position = 0) {\n if (!stringToSearch || !searchFor) {\n return false;\n }\n return stringToSearch.substr(position, searchFor.length) === searchFor;\n}\n/**\n * Determines if the specified string is undefined, null, empty, or whitespace.\n * True if the value is undefined, null, empty, or whitespace, otherwise false.\n */\nexport function isNullOrWhiteSpace(value) {\n return !value || !value.trim();\n}\n/**\n * Converts a string to Pascal Case\n * where the first letter of each compound word is capitalized.\n */\nexport function pascalCase(value) {\n let newValue = `${value}`\n .replace(new RegExp(/[-_]+/, \"g\"), \" \")\n .replace(new RegExp(/[^\\w\\s]/, \"g\"), \"\")\n .replace(/^\\s+|\\s+$|\\s+(?=\\s)/g, \"\")\n .replace(new RegExp(/\\s+(.)(\\w*)/, \"g\"), ($1, $2, $3) => `${$2.toUpperCase() + $3.toLowerCase()}`)\n .replace(new RegExp(/\\w/), s => s.toUpperCase());\n let firstLowerIdx = 0;\n for (let i = 0; i < newValue.length; i++) {\n const currChar = newValue.charAt(i);\n if (currChar == currChar.toLowerCase()) {\n firstLowerIdx = i;\n break;\n }\n }\n if (firstLowerIdx > 1) {\n newValue =\n `${newValue.charAt(0).toUpperCase()}${newValue\n .slice(1, firstLowerIdx - 1)\n .toLowerCase()}` + newValue.slice(firstLowerIdx - 1);\n }\n return newValue;\n}\n/**\n * converts a string from camelCase or pascalCase to spinal-case\n * which is an lowercase dash separated naming style.\n *\n * An example of spinal case: foo-bar-bat\n */\nexport function spinalCase(value) {\n const valueWithLowerCaseFirstLetter = `${value\n .charAt(0)\n .toLowerCase()}${value.slice(1)}`;\n return valueWithLowerCaseFirstLetter.replace(/([A-Z]|[0-9])/g, function (match, group1) {\n return `-${group1.toLowerCase()}`;\n });\n}\n", + "import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Anchor:class)} component.\n * @public\n */\nexport const anchorTemplate = (context, definition) => html `\n <a\n class=\"control\"\n part=\"control\"\n download=\"${x => x.download}\"\n href=\"${x => x.href}\"\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref(\"control\")}\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </a>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\n/**\n * Some states and properties are applicable to all host language elements regardless of whether a role is applied.\n * The following global states and properties are supported by all roles and by all base markup elements.\n * {@link https://www.w3.org/TR/wai-aria-1.1/#global_states}\n *\n * This is intended to be used as a mixin. Be sure you extend FASTElement.\n *\n * @public\n */\nexport class ARIAGlobalStatesAndProperties {\n}\n__decorate([\n attr({ attribute: \"aria-atomic\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaAtomic\", void 0);\n__decorate([\n attr({ attribute: \"aria-busy\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaBusy\", void 0);\n__decorate([\n attr({ attribute: \"aria-controls\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaControls\", void 0);\n__decorate([\n attr({ attribute: \"aria-current\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaCurrent\", void 0);\n__decorate([\n attr({ attribute: \"aria-describedby\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaDescribedby\", void 0);\n__decorate([\n attr({ attribute: \"aria-details\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaDetails\", void 0);\n__decorate([\n attr({ attribute: \"aria-disabled\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaDisabled\", void 0);\n__decorate([\n attr({ attribute: \"aria-errormessage\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaErrormessage\", void 0);\n__decorate([\n attr({ attribute: \"aria-flowto\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaFlowto\", void 0);\n__decorate([\n attr({ attribute: \"aria-haspopup\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaHaspopup\", void 0);\n__decorate([\n attr({ attribute: \"aria-hidden\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaHidden\", void 0);\n__decorate([\n attr({ attribute: \"aria-invalid\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaInvalid\", void 0);\n__decorate([\n attr({ attribute: \"aria-keyshortcuts\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaKeyshortcuts\", void 0);\n__decorate([\n attr({ attribute: \"aria-label\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaLabel\", void 0);\n__decorate([\n attr({ attribute: \"aria-labelledby\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaLabelledby\", void 0);\n__decorate([\n attr({ attribute: \"aria-live\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaLive\", void 0);\n__decorate([\n attr({ attribute: \"aria-owns\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaOwns\", void 0);\n__decorate([\n attr({ attribute: \"aria-relevant\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaRelevant\", void 0);\n__decorate([\n attr({ attribute: \"aria-roledescription\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaRoledescription\", void 0);\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { FoundationElement, } from \"../foundation-element/foundation-element.js\";\nimport { ARIAGlobalStatesAndProperties, StartEnd, } from \"../patterns/index.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\n/**\n * An Anchor Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element }.\n *\n * @slot start - Content which can be provided before the anchor content\n * @slot end - Content which can be provided after the anchor content\n * @slot - The default slot for anchor content\n * @csspart control - The anchor element\n * @csspart content - The element wrapping anchor content\n *\n * @public\n */\nexport class Anchor extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * Overrides the focus call for where delegatesFocus is unsupported.\n * This check works for Chrome, Edge Chromium, FireFox, and Safari\n * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858\n */\n this.handleUnsupportedDelegatesFocus = () => {\n var _a;\n // Check to see if delegatesFocus is supported\n if (window.ShadowRoot &&\n !window.ShadowRoot.prototype.hasOwnProperty(\"delegatesFocus\") &&\n ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {\n this.focus = () => {\n var _a;\n (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();\n };\n }\n };\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.handleUnsupportedDelegatesFocus();\n }\n}\n__decorate([\n attr\n], Anchor.prototype, \"download\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"href\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"hreflang\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"ping\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"referrerpolicy\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"rel\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"target\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"type\", void 0);\n__decorate([\n observable\n], Anchor.prototype, \"defaultSlottedContent\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA link role\n *\n * @public\n */\nexport class DelegatesARIALink {\n}\n__decorate([\n attr({ attribute: \"aria-expanded\" })\n], DelegatesARIALink.prototype, \"ariaExpanded\", void 0);\napplyMixins(DelegatesARIALink, ARIAGlobalStatesAndProperties);\napplyMixins(Anchor, StartEnd, DelegatesARIALink);\n", + "import { Direction } from \"@microsoft/fast-web-utilities\";\n/**\n * a method to determine the current localization direction of the view\n * @param rootNode - the HTMLElement to begin the query from, usually \"this\" when used in a component controller\n * @public\n */\nexport const getDirection = (rootNode) => {\n const dirNode = rootNode.closest(\"[dir]\");\n return dirNode !== null && dirNode.dir === \"rtl\" ? Direction.rtl : Direction.ltr;\n};\n", + "import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Badge} component.\n * @public\n */\nexport const badgeTemplate = (context, definition) => html `\n <template class=\"${x => (x.circular ? \"circular\" : \"\")}\">\n <div class=\"control\" part=\"control\" style=\"${x => x.generateBadgeStyle()}\">\n <slot></slot>\n </div>\n </template>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\n/**\n * A Badge Custom HTML Element.\n * @slot - The default slot for the badge\n * @csspart control - The element representing the badge, which wraps the default slot\n *\n * @public\n */\nexport class Badge extends FoundationElement {\n constructor() {\n super(...arguments);\n this.generateBadgeStyle = () => {\n if (!this.fill && !this.color) {\n return;\n }\n const fill = `background-color: var(--badge-fill-${this.fill});`;\n const color = `color: var(--badge-color-${this.color});`;\n if (this.fill && !this.color) {\n return fill;\n }\n else if (this.color && !this.fill) {\n return color;\n }\n else {\n return `${color} ${fill}`;\n }\n };\n }\n}\n__decorate([\n attr({ attribute: \"fill\" })\n], Badge.prototype, \"fill\", void 0);\n__decorate([\n attr({ attribute: \"color\" })\n], Badge.prototype, \"color\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Badge.prototype, \"circular\", void 0);\n", + "import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Button:class)} component.\n * @public\n */\nexport const buttonTemplate = (context, definition) => html `\n <button\n class=\"control\"\n part=\"control\"\n ?autofocus=\"${x => x.autofocus}\"\n ?disabled=\"${x => x.disabled}\"\n form=\"${x => x.formId}\"\n formaction=\"${x => x.formaction}\"\n formenctype=\"${x => x.formenctype}\"\n formmethod=\"${x => x.formmethod}\"\n formnovalidate=\"${x => x.formnovalidate}\"\n formtarget=\"${x => x.formtarget}\"\n name=\"${x => x.name}\"\n type=\"${x => x.type}\"\n value=\"${x => x.value}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-pressed=\"${x => x.ariaPressed}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref(\"control\")}\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted(\"defaultSlottedContent\")}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </button>\n`;\n", + "import { attr, booleanConverter, DOM, emptyArray, observable, } from \"@microsoft/fast-element\";\nimport { keyEnter } from \"@microsoft/fast-web-utilities\";\nconst proxySlotName = \"form-associated-proxy\";\nconst ElementInternalsKey = \"ElementInternals\";\n/**\n * @alpha\n */\nexport const supportsElementInternals = ElementInternalsKey in window &&\n \"setFormValue\" in window[ElementInternalsKey].prototype;\nconst InternalsMap = new WeakMap();\n/**\n * Base function for providing Custom Element Form Association.\n *\n * @alpha\n */\nexport function FormAssociated(BaseCtor) {\n const C = class extends BaseCtor {\n constructor(...args) {\n super(...args);\n /**\n * Track whether the value has been changed from the initial value\n */\n this.dirtyValue = false;\n /**\n * Sets the element's disabled state. A disabled element will not be included during form submission.\n *\n * @remarks\n * HTML Attribute: disabled\n */\n this.disabled = false;\n /**\n * These are events that are still fired by the proxy\n * element based on user / programmatic interaction.\n *\n * The proxy implementation should be transparent to\n * the app author, so block these events from emitting.\n */\n this.proxyEventsToBlock = [\"change\", \"click\"];\n this.proxyInitialized = false;\n this.required = false;\n this.initialValue = this.initialValue || \"\";\n if (!this.elementInternals) {\n // When elementInternals is not supported, formResetCallback is\n // bound to an event listener, so ensure the handler's `this`\n // context is correct.\n this.formResetCallback = this.formResetCallback.bind(this);\n }\n }\n /**\n * Must evaluate to true to enable elementInternals.\n * Feature detects API support and resolve respectively\n *\n * @internal\n */\n static get formAssociated() {\n return supportsElementInternals;\n }\n /**\n * Returns the validity state of the element\n *\n * @alpha\n */\n get validity() {\n return this.elementInternals\n ? this.elementInternals.validity\n : this.proxy.validity;\n }\n /**\n * Retrieve a reference to the associated form.\n * Returns null if not associated to any form.\n *\n * @alpha\n */\n get form() {\n return this.elementInternals ? this.elementInternals.form : this.proxy.form;\n }\n /**\n * Retrieve the localized validation message,\n * or custom validation message if set.\n *\n * @alpha\n */\n get validationMessage() {\n return this.elementInternals\n ? this.elementInternals.validationMessage\n : this.proxy.validationMessage;\n }\n /**\n * Whether the element will be validated when the\n * form is submitted\n */\n get willValidate() {\n return this.elementInternals\n ? this.elementInternals.willValidate\n : this.proxy.willValidate;\n }\n /**\n * A reference to all associated label elements\n */\n get labels() {\n if (this.elementInternals) {\n return Object.freeze(Array.from(this.elementInternals.labels));\n }\n else if (this.proxy instanceof HTMLElement &&\n this.proxy.ownerDocument &&\n this.id) {\n // Labels associated by wrapping the element: <label><custom-element></custom-element></label>\n const parentLabels = this.proxy.labels;\n // Labels associated using the `for` attribute\n const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));\n const labels = parentLabels\n ? forLabels.concat(Array.from(parentLabels))\n : forLabels;\n return Object.freeze(labels);\n }\n else {\n return emptyArray;\n }\n }\n /**\n * Invoked when the `value` property changes\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `valueChanged` method\n * They must be sure to invoke `super.valueChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n valueChanged(previous, next) {\n this.dirtyValue = true;\n if (this.proxy instanceof HTMLElement) {\n this.proxy.value = this.value;\n }\n this.currentValue = this.value;\n this.setFormValue(this.value);\n this.validate();\n }\n currentValueChanged() {\n this.value = this.currentValue;\n }\n /**\n * Invoked when the `initialValue` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `initialValueChanged` method\n * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n initialValueChanged(previous, next) {\n // If the value is clean and the component is connected to the DOM\n // then set value equal to the attribute value.\n if (!this.dirtyValue) {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n }\n /**\n * Invoked when the `disabled` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `disabledChanged` method\n * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n disabledChanged(previous, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.disabled = this.disabled;\n }\n DOM.queueUpdate(() => this.classList.toggle(\"disabled\", this.disabled));\n }\n /**\n * Invoked when the `name` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `nameChanged` method\n * They must be sure to invoke `super.nameChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n nameChanged(previous, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.name = this.name;\n }\n }\n /**\n * Invoked when the `required` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `requiredChanged` method\n * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n requiredChanged(prev, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.required = this.required;\n }\n DOM.queueUpdate(() => this.classList.toggle(\"required\", this.required));\n this.validate();\n }\n /**\n * The element internals object. Will only exist\n * in browsers supporting the attachInternals API\n */\n get elementInternals() {\n if (!supportsElementInternals) {\n return null;\n }\n let internals = InternalsMap.get(this);\n if (!internals) {\n internals = this.attachInternals();\n InternalsMap.set(this, internals);\n }\n return internals;\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"keypress\", this._keypressHandler);\n if (!this.value) {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n if (!this.elementInternals) {\n this.attachProxy();\n if (this.form) {\n this.form.addEventListener(\"reset\", this.formResetCallback);\n }\n }\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));\n if (!this.elementInternals && this.form) {\n this.form.removeEventListener(\"reset\", this.formResetCallback);\n }\n }\n /**\n * Return the current validity of the element.\n */\n checkValidity() {\n return this.elementInternals\n ? this.elementInternals.checkValidity()\n : this.proxy.checkValidity();\n }\n /**\n * Return the current validity of the element.\n * If false, fires an invalid event at the element.\n */\n reportValidity() {\n return this.elementInternals\n ? this.elementInternals.reportValidity()\n : this.proxy.reportValidity();\n }\n /**\n * Set the validity of the control. In cases when the elementInternals object is not\n * available (and the proxy element is used to report validity), this function will\n * do nothing unless a message is provided, at which point the setCustomValidity method\n * of the proxy element will be invoked with the provided message.\n * @param flags - Validity flags\n * @param message - Optional message to supply\n * @param anchor - Optional element used by UA to display an interactive validation UI\n */\n setValidity(flags, message, anchor) {\n if (this.elementInternals) {\n this.elementInternals.setValidity(flags, message, anchor);\n }\n else if (typeof message === \"string\") {\n this.proxy.setCustomValidity(message);\n }\n }\n /**\n * Invoked when a connected component's form or fieldset has its disabled\n * state changed.\n * @param disabled - the disabled value of the form / fieldset\n */\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n formResetCallback() {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n /**\n * Attach the proxy element to the DOM\n */\n attachProxy() {\n var _a;\n if (!this.proxyInitialized) {\n this.proxyInitialized = true;\n this.proxy.style.display = \"none\";\n this.proxyEventsToBlock.forEach(name => this.proxy.addEventListener(name, this.stopPropagation));\n // These are typically mapped to the proxy during\n // property change callbacks, but during initialization\n // on the initial call of the callback, the proxy is\n // still undefined. We should find a better way to address this.\n this.proxy.disabled = this.disabled;\n this.proxy.required = this.required;\n if (typeof this.name === \"string\") {\n this.proxy.name = this.name;\n }\n if (typeof this.value === \"string\") {\n this.proxy.value = this.value;\n }\n this.proxy.setAttribute(\"slot\", proxySlotName);\n this.proxySlot = document.createElement(\"slot\");\n this.proxySlot.setAttribute(\"name\", proxySlotName);\n }\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(this.proxySlot);\n this.appendChild(this.proxy);\n }\n /**\n * Detach the proxy element from the DOM\n */\n detachProxy() {\n var _a;\n this.removeChild(this.proxy);\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeChild(this.proxySlot);\n }\n /** {@inheritDoc (FormAssociated:interface).validate} */\n validate(anchor) {\n if (this.proxy instanceof HTMLElement) {\n this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);\n }\n }\n /**\n * Associates the provided value (and optional state) with the parent form.\n * @param value - The value to set\n * @param state - The state object provided to during session restores and when autofilling.\n */\n setFormValue(value, state) {\n if (this.elementInternals) {\n this.elementInternals.setFormValue(value, state || value);\n }\n }\n _keypressHandler(e) {\n switch (e.key) {\n case keyEnter:\n if (this.form instanceof HTMLFormElement) {\n // Implicit submission\n const defaultButton = this.form.querySelector(\"[type=submit]\");\n defaultButton === null || defaultButton === void 0 ? void 0 : defaultButton.click();\n }\n break;\n }\n }\n /**\n * Used to stop propagation of proxy element events\n * @param e - Event object\n */\n stopPropagation(e) {\n e.stopPropagation();\n }\n };\n attr({ mode: \"boolean\" })(C.prototype, \"disabled\");\n attr({ mode: \"fromView\", attribute: \"value\" })(C.prototype, \"initialValue\");\n attr({ attribute: \"current-value\" })(C.prototype, \"currentValue\");\n attr(C.prototype, \"name\");\n attr({ mode: \"boolean\" })(C.prototype, \"required\");\n observable(C.prototype, \"value\");\n return C;\n}\n/**\n * @alpha\n */\nexport function CheckableFormAssociated(BaseCtor) {\n class C extends FormAssociated(BaseCtor) {\n }\n class D extends C {\n constructor(...args) {\n super(args);\n /**\n * Tracks whether the \"checked\" property has been changed.\n * This is necessary to provide consistent behavior with\n * normal input checkboxes\n */\n this.dirtyChecked = false;\n /**\n * Provides the default checkedness of the input element\n * Passed down to proxy\n *\n * @public\n * @remarks\n * HTML Attribute: checked\n */\n this.checkedAttribute = false;\n /**\n * The checked state of the control.\n *\n * @public\n */\n this.checked = false;\n // Re-initialize dirtyChecked because initialization of other values\n // causes it to become true\n this.dirtyChecked = false;\n }\n checkedAttributeChanged() {\n this.defaultChecked = this.checkedAttribute;\n }\n /**\n * @internal\n */\n defaultCheckedChanged() {\n if (!this.dirtyChecked) {\n // Setting this.checked will cause us to enter a dirty state,\n // but if we are clean when defaultChecked is changed, we want to stay\n // in a clean state, so reset this.dirtyChecked\n this.checked = this.defaultChecked;\n this.dirtyChecked = false;\n }\n }\n checkedChanged(prev, next) {\n if (!this.dirtyChecked) {\n this.dirtyChecked = true;\n }\n this.currentChecked = this.checked;\n this.updateForm();\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.checked = this.checked;\n }\n if (prev !== undefined) {\n this.$emit(\"change\");\n }\n this.validate();\n }\n currentCheckedChanged(prev, next) {\n this.checked = this.currentChecked;\n }\n updateForm() {\n const value = this.checked ? this.value : null;\n this.setFormValue(value, value);\n }\n connectedCallback() {\n super.connectedCallback();\n this.updateForm();\n }\n formResetCallback() {\n super.formResetCallback();\n this.checked = !!this.checkedAttribute;\n this.dirtyChecked = false;\n }\n }\n attr({ attribute: \"checked\", mode: \"boolean\" })(D.prototype, \"checkedAttribute\");\n attr({ attribute: \"current-checked\", converter: booleanConverter })(D.prototype, \"currentChecked\");\n observable(D.prototype, \"defaultChecked\");\n observable(D.prototype, \"checked\");\n return D;\n}\n", + "import { FormAssociated } from \"../form-associated/form-associated.js\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nclass _Button extends FoundationElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(Button:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedButton extends FormAssociated(_Button) {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"input\");\n }\n}\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { ARIAGlobalStatesAndProperties, StartEnd, } from \"../patterns/index.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\nimport { FormAssociatedButton } from \"./button.form-associated.js\";\n/**\n * A Button Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | <button> element }.\n *\n * @slot start - Content which can be provided before the button content\n * @slot end - Content which can be provided after the button content\n * @slot - The default slot for button content\n * @csspart control - The button element\n * @csspart content - The element wrapping button content\n *\n * @public\n */\nexport class Button extends FormAssociatedButton {\n constructor() {\n super(...arguments);\n /**\n * Prevent events to propagate if disabled and has no slotted content wrapped in HTML elements\n * @internal\n */\n this.handleClick = (e) => {\n var _a;\n if (this.disabled && ((_a = this.defaultSlottedContent) === null || _a === void 0 ? void 0 : _a.length) <= 1) {\n e.stopPropagation();\n }\n };\n /**\n * Submits the parent form\n */\n this.handleSubmission = () => {\n if (!this.form) {\n return;\n }\n const attached = this.proxy.isConnected;\n if (!attached) {\n this.attachProxy();\n }\n // Browser support for requestSubmit is not comprehensive\n // so click the proxy if it isn't supported\n typeof this.form.requestSubmit === \"function\"\n ? this.form.requestSubmit(this.proxy)\n : this.proxy.click();\n if (!attached) {\n this.detachProxy();\n }\n };\n /**\n * Resets the parent form\n */\n this.handleFormReset = () => {\n var _a;\n (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();\n };\n /**\n * Overrides the focus call for where delegatesFocus is unsupported.\n * This check works for Chrome, Edge Chromium, FireFox, and Safari\n * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858\n */\n this.handleUnsupportedDelegatesFocus = () => {\n var _a;\n // Check to see if delegatesFocus is supported\n if (window.ShadowRoot &&\n !window.ShadowRoot.prototype.hasOwnProperty(\"delegatesFocus\") &&\n ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {\n this.focus = () => {\n this.control.focus();\n };\n }\n };\n }\n formactionChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.formAction = this.formaction;\n }\n }\n formenctypeChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.formEnctype = this.formenctype;\n }\n }\n formmethodChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.formMethod = this.formmethod;\n }\n }\n formnovalidateChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.formNoValidate = this.formnovalidate;\n }\n }\n formtargetChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.formTarget = this.formtarget;\n }\n }\n typeChanged(previous, next) {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.type = this.type;\n }\n next === \"submit\" && this.addEventListener(\"click\", this.handleSubmission);\n previous === \"submit\" && this.removeEventListener(\"click\", this.handleSubmission);\n next === \"reset\" && this.addEventListener(\"click\", this.handleFormReset);\n previous === \"reset\" && this.removeEventListener(\"click\", this.handleFormReset);\n }\n /** {@inheritDoc (FormAssociated:interface).validate} */\n validate() {\n super.validate(this.control);\n }\n /**\n * @internal\n */\n connectedCallback() {\n var _a;\n super.connectedCallback();\n this.proxy.setAttribute(\"type\", this.type);\n this.handleUnsupportedDelegatesFocus();\n const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);\n if (elements) {\n elements.forEach((span) => {\n span.addEventListener(\"click\", this.handleClick);\n });\n }\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n var _a;\n super.disconnectedCallback();\n const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);\n if (elements) {\n elements.forEach((span) => {\n span.removeEventListener(\"click\", this.handleClick);\n });\n }\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], Button.prototype, \"autofocus\", void 0);\n__decorate([\n attr({ attribute: \"form\" })\n], Button.prototype, \"formId\", void 0);\n__decorate([\n attr\n], Button.prototype, \"formaction\", void 0);\n__decorate([\n attr\n], Button.prototype, \"formenctype\", void 0);\n__decorate([\n attr\n], Button.prototype, \"formmethod\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Button.prototype, \"formnovalidate\", void 0);\n__decorate([\n attr\n], Button.prototype, \"formtarget\", void 0);\n__decorate([\n attr\n], Button.prototype, \"type\", void 0);\n__decorate([\n observable\n], Button.prototype, \"defaultSlottedContent\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA button role\n *\n * @public\n */\nexport class DelegatesARIAButton {\n}\n__decorate([\n attr({ attribute: \"aria-expanded\" })\n], DelegatesARIAButton.prototype, \"ariaExpanded\", void 0);\n__decorate([\n attr({ attribute: \"aria-pressed\" })\n], DelegatesARIAButton.prototype, \"ariaPressed\", void 0);\napplyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);\napplyMixins(Button, StartEnd, DelegatesARIAButton);\n", + "/**\n * Enumerates the data grid auto generated header options\n * default option generates a non-sticky header row\n *\n * @public\n */\nexport const GenerateHeaderOptions = {\n none: \"none\",\n default: \"default\",\n sticky: \"sticky\",\n};\n/**\n * Enumerates possible data grid cell types.\n *\n * @public\n */\nexport const DataGridCellTypes = {\n default: \"default\",\n columnHeader: \"columnheader\",\n rowHeader: \"rowheader\",\n};\n/**\n * Enumerates possible data grid row types\n *\n * @public\n */\nexport const DataGridRowTypes = {\n default: \"default\",\n header: \"header\",\n stickyHeader: \"sticky-header\",\n};\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable, RepeatDirective, } from \"@microsoft/fast-element\";\nimport { eventFocusOut, eventKeyDown, keyArrowLeft, keyArrowRight, keyEnd, keyHome, } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { DataGridRowTypes } from \"./data-grid.options.js\";\n/**\n * A Data Grid Row Custom HTML Element.\n *\n * @fires row-focused - Fires a custom 'row-focused' event when focus is on an element (usually a cell or its contents) in the row\n * @slot - The default slot for custom cell elements\n * @public\n */\nexport class DataGridRow extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * The type of row\n *\n * @public\n * @remarks\n * HTML Attribute: row-type\n */\n this.rowType = DataGridRowTypes.default;\n /**\n * The base data for this row\n *\n * @public\n */\n this.rowData = null;\n /**\n * The column definitions of the row\n *\n * @public\n */\n this.columnDefinitions = null;\n /**\n * Whether focus is on/in a cell within this row.\n *\n * @internal\n */\n this.isActiveRow = false;\n this.cellsRepeatBehavior = null;\n this.cellsPlaceholder = null;\n /**\n * @internal\n */\n this.focusColumnIndex = 0;\n this.refocusOnLoad = false;\n this.updateRowStyle = () => {\n this.style.gridTemplateColumns = this.gridTemplateColumns;\n };\n }\n gridTemplateColumnsChanged() {\n if (this.$fastController.isConnected) {\n this.updateRowStyle();\n }\n }\n rowTypeChanged() {\n if (this.$fastController.isConnected) {\n this.updateItemTemplate();\n }\n }\n rowDataChanged() {\n if (this.rowData !== null && this.isActiveRow) {\n this.refocusOnLoad = true;\n return;\n }\n }\n cellItemTemplateChanged() {\n this.updateItemTemplate();\n }\n headerCellItemTemplateChanged() {\n this.updateItemTemplate();\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // note that row elements can be reused with a different data object\n // as the parent grid's repeat behavior reacts to changes in the data set.\n if (this.cellsRepeatBehavior === null) {\n this.cellsPlaceholder = document.createComment(\"\");\n this.appendChild(this.cellsPlaceholder);\n this.updateItemTemplate();\n this.cellsRepeatBehavior = new RepeatDirective(x => x.columnDefinitions, x => x.activeCellItemTemplate, { positioning: true }).createBehavior(this.cellsPlaceholder);\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n this.$fastController.addBehaviors([this.cellsRepeatBehavior]);\n }\n this.addEventListener(\"cell-focused\", this.handleCellFocus);\n this.addEventListener(eventFocusOut, this.handleFocusout);\n this.addEventListener(eventKeyDown, this.handleKeydown);\n this.updateRowStyle();\n if (this.refocusOnLoad) {\n // if focus was on the row when data changed try to refocus on same cell\n this.refocusOnLoad = false;\n if (this.cellElements.length > this.focusColumnIndex) {\n this.cellElements[this.focusColumnIndex].focus();\n }\n }\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"cell-focused\", this.handleCellFocus);\n this.removeEventListener(eventFocusOut, this.handleFocusout);\n this.removeEventListener(eventKeyDown, this.handleKeydown);\n }\n handleFocusout(e) {\n if (!this.contains(e.target)) {\n this.isActiveRow = false;\n this.focusColumnIndex = 0;\n }\n }\n handleCellFocus(e) {\n this.isActiveRow = true;\n this.focusColumnIndex = this.cellElements.indexOf(e.target);\n this.$emit(\"row-focused\", this);\n }\n handleKeydown(e) {\n if (e.defaultPrevented) {\n return;\n }\n let newFocusColumnIndex = 0;\n switch (e.key) {\n case keyArrowLeft:\n // focus left one cell\n newFocusColumnIndex = Math.max(0, this.focusColumnIndex - 1);\n this.cellElements[newFocusColumnIndex].focus();\n e.preventDefault();\n break;\n case keyArrowRight:\n // focus right one cell\n newFocusColumnIndex = Math.min(this.cellElements.length - 1, this.focusColumnIndex + 1);\n this.cellElements[newFocusColumnIndex].focus();\n e.preventDefault();\n break;\n case keyHome:\n if (!e.ctrlKey) {\n this.cellElements[0].focus();\n e.preventDefault();\n }\n break;\n case keyEnd:\n if (!e.ctrlKey) {\n // focus last cell of the row\n this.cellElements[this.cellElements.length - 1].focus();\n e.preventDefault();\n }\n break;\n }\n }\n updateItemTemplate() {\n this.activeCellItemTemplate =\n this.rowType === DataGridRowTypes.default &&\n this.cellItemTemplate !== undefined\n ? this.cellItemTemplate\n : this.rowType === DataGridRowTypes.default &&\n this.cellItemTemplate === undefined\n ? this.defaultCellItemTemplate\n : this.headerCellItemTemplate !== undefined\n ? this.headerCellItemTemplate\n : this.defaultHeaderCellItemTemplate;\n }\n}\n__decorate([\n attr({ attribute: \"grid-template-columns\" })\n], DataGridRow.prototype, \"gridTemplateColumns\", void 0);\n__decorate([\n attr({ attribute: \"row-type\" })\n], DataGridRow.prototype, \"rowType\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"rowData\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"columnDefinitions\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"cellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"headerCellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"rowIndex\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"isActiveRow\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"activeCellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"defaultCellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"defaultHeaderCellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGridRow.prototype, \"cellElements\", void 0);\n", + "import { children, elements, html } from \"@microsoft/fast-element\";\nimport { DataGridRow } from \"./data-grid-row.js\";\nfunction createRowItemTemplate(context) {\n const rowTag = context.tagFor(DataGridRow);\n return html `\n <${rowTag}\n :rowData=\"${x => x}\"\n :cellItemTemplate=\"${(x, c) => c.parent.cellItemTemplate}\"\n :headerCellItemTemplate=\"${(x, c) => c.parent.headerCellItemTemplate}\"\n ></${rowTag}>\n`;\n}\n/**\n * Generates a template for the {@link @microsoft/fast-foundation#DataGrid} component using\n * the provided prefix.\n *\n * @public\n */\nexport const dataGridTemplate = (context, definition) => {\n const rowItemTemplate = createRowItemTemplate(context);\n const rowTag = context.tagFor(DataGridRow);\n return html `\n <template\n role=\"grid\"\n tabindex=\"0\"\n :rowElementTag=\"${() => rowTag}\"\n :defaultRowItemTemplate=\"${rowItemTemplate}\"\n ${children({\n property: \"rowElements\",\n filter: elements(\"[role=row]\"),\n })}\n >\n <slot></slot>\n </template>\n `;\n};\n", + "import { __decorate } from \"tslib\";\nimport { attr, DOM, observable, RepeatDirective, } from \"@microsoft/fast-element\";\nimport { eventFocus, eventFocusOut, eventKeyDown, keyArrowDown, keyArrowUp, keyEnd, keyHome, keyPageDown, keyPageUp, } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { DataGridRowTypes, GenerateHeaderOptions } from \"./data-grid.options.js\";\nexport { DataGridRowTypes, GenerateHeaderOptions };\n/**\n * A Data Grid Custom HTML Element.\n *\n * @slot - The default slot for custom row elements\n * @public\n */\nexport class DataGrid extends FoundationElement {\n constructor() {\n super();\n /**\n * When true the component will not add itself to the tab queue.\n * Default is false.\n *\n * @public\n * @remarks\n * HTML Attribute: no-tabbing\n */\n this.noTabbing = false;\n /**\n * Whether the grid should automatically generate a header row and its type\n *\n * @public\n * @remarks\n * HTML Attribute: generate-header\n */\n this.generateHeader = GenerateHeaderOptions.default;\n /**\n * The data being displayed in the grid\n *\n * @public\n */\n this.rowsData = [];\n /**\n * The column definitions of the grid\n *\n * @public\n */\n this.columnDefinitions = null;\n /**\n * The index of the row that will receive focus the next time the\n * grid is focused. This value changes as focus moves to different\n * rows within the grid. Changing this value when focus is already\n * within the grid moves focus to the specified row.\n *\n * @public\n */\n this.focusRowIndex = 0;\n /**\n * The index of the column that will receive focus the next time the\n * grid is focused. This value changes as focus moves to different rows\n * within the grid. Changing this value when focus is already within\n * the grid moves focus to the specified column.\n *\n * @public\n */\n this.focusColumnIndex = 0;\n this.rowsPlaceholder = null;\n this.generatedHeader = null;\n this.isUpdatingFocus = false;\n this.pendingFocusUpdate = false;\n this.rowindexUpdateQueued = false;\n this.columnDefinitionsStale = true;\n this.generatedGridTemplateColumns = \"\";\n this.focusOnCell = (rowIndex, columnIndex, scrollIntoView) => {\n if (this.rowElements.length === 0) {\n this.focusRowIndex = 0;\n this.focusColumnIndex = 0;\n return;\n }\n const focusRowIndex = Math.max(0, Math.min(this.rowElements.length - 1, rowIndex));\n const focusRow = this.rowElements[focusRowIndex];\n const cells = focusRow.querySelectorAll('[role=\"cell\"], [role=\"gridcell\"], [role=\"columnheader\"], [role=\"rowheader\"]');\n const focusColumnIndex = Math.max(0, Math.min(cells.length - 1, columnIndex));\n const focusTarget = cells[focusColumnIndex];\n if (scrollIntoView &&\n this.scrollHeight !== this.clientHeight &&\n ((focusRowIndex < this.focusRowIndex && this.scrollTop > 0) ||\n (focusRowIndex > this.focusRowIndex &&\n this.scrollTop < this.scrollHeight - this.clientHeight))) {\n focusTarget.scrollIntoView({ block: \"center\", inline: \"center\" });\n }\n focusTarget.focus();\n };\n this.onChildListChange = (mutations, \n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n observer) => {\n if (mutations && mutations.length) {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((newNode) => {\n if (newNode.nodeType === 1 &&\n newNode.getAttribute(\"role\") === \"row\") {\n newNode.columnDefinitions = this.columnDefinitions;\n }\n });\n });\n this.queueRowIndexUpdate();\n }\n };\n this.queueRowIndexUpdate = () => {\n if (!this.rowindexUpdateQueued) {\n this.rowindexUpdateQueued = true;\n DOM.queueUpdate(this.updateRowIndexes);\n }\n };\n this.updateRowIndexes = () => {\n let newGridTemplateColumns = this.gridTemplateColumns;\n if (newGridTemplateColumns === undefined) {\n // try to generate columns based on manual rows\n if (this.generatedGridTemplateColumns === \"\" && this.rowElements.length > 0) {\n const firstRow = this.rowElements[0];\n this.generatedGridTemplateColumns = new Array(firstRow.cellElements.length)\n .fill(\"1fr\")\n .join(\" \");\n }\n newGridTemplateColumns = this.generatedGridTemplateColumns;\n }\n this.rowElements.forEach((element, index) => {\n const thisRow = element;\n thisRow.rowIndex = index;\n thisRow.gridTemplateColumns = newGridTemplateColumns;\n if (this.columnDefinitionsStale) {\n thisRow.columnDefinitions = this.columnDefinitions;\n }\n });\n this.rowindexUpdateQueued = false;\n this.columnDefinitionsStale = false;\n };\n }\n /**\n * generates a gridTemplateColumns based on columndata array\n */\n static generateTemplateColumns(columnDefinitions) {\n let templateColumns = \"\";\n columnDefinitions.forEach((column) => {\n templateColumns = `${templateColumns}${templateColumns === \"\" ? \"\" : \" \"}${\"1fr\"}`;\n });\n return templateColumns;\n }\n noTabbingChanged() {\n if (this.$fastController.isConnected) {\n if (this.noTabbing) {\n this.setAttribute(\"tabIndex\", \"-1\");\n }\n else {\n this.setAttribute(\"tabIndex\", this.contains(document.activeElement) ||\n this === document.activeElement\n ? \"-1\"\n : \"0\");\n }\n }\n }\n generateHeaderChanged() {\n if (this.$fastController.isConnected) {\n this.toggleGeneratedHeader();\n }\n }\n gridTemplateColumnsChanged() {\n if (this.$fastController.isConnected) {\n this.updateRowIndexes();\n }\n }\n rowsDataChanged() {\n if (this.columnDefinitions === null && this.rowsData.length > 0) {\n this.columnDefinitions = DataGrid.generateColumns(this.rowsData[0]);\n }\n if (this.$fastController.isConnected) {\n this.toggleGeneratedHeader();\n }\n }\n columnDefinitionsChanged() {\n if (this.columnDefinitions === null) {\n this.generatedGridTemplateColumns = \"\";\n return;\n }\n this.generatedGridTemplateColumns = DataGrid.generateTemplateColumns(this.columnDefinitions);\n if (this.$fastController.isConnected) {\n this.columnDefinitionsStale = true;\n this.queueRowIndexUpdate();\n }\n }\n headerCellItemTemplateChanged() {\n if (this.$fastController.isConnected) {\n if (this.generatedHeader !== null) {\n this.generatedHeader.headerCellItemTemplate = this.headerCellItemTemplate;\n }\n }\n }\n focusRowIndexChanged() {\n if (this.$fastController.isConnected) {\n this.queueFocusUpdate();\n }\n }\n focusColumnIndexChanged() {\n if (this.$fastController.isConnected) {\n this.queueFocusUpdate();\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.rowItemTemplate === undefined) {\n this.rowItemTemplate = this.defaultRowItemTemplate;\n }\n this.rowsPlaceholder = document.createComment(\"\");\n this.appendChild(this.rowsPlaceholder);\n this.toggleGeneratedHeader();\n this.rowsRepeatBehavior = new RepeatDirective(x => x.rowsData, x => x.rowItemTemplate, { positioning: true }).createBehavior(this.rowsPlaceholder);\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n this.$fastController.addBehaviors([this.rowsRepeatBehavior]);\n this.addEventListener(\"row-focused\", this.handleRowFocus);\n this.addEventListener(eventFocus, this.handleFocus);\n this.addEventListener(eventKeyDown, this.handleKeydown);\n this.addEventListener(eventFocusOut, this.handleFocusOut);\n this.observer = new MutationObserver(this.onChildListChange);\n // only observe if nodes are added or removed\n this.observer.observe(this, { childList: true });\n if (this.noTabbing) {\n this.setAttribute(\"tabindex\", \"-1\");\n }\n DOM.queueUpdate(this.queueRowIndexUpdate);\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"row-focused\", this.handleRowFocus);\n this.removeEventListener(eventFocus, this.handleFocus);\n this.removeEventListener(eventKeyDown, this.handleKeydown);\n this.removeEventListener(eventFocusOut, this.handleFocusOut);\n // disconnect observer\n this.observer.disconnect();\n this.rowsPlaceholder = null;\n this.generatedHeader = null;\n }\n /**\n * @internal\n */\n handleRowFocus(e) {\n this.isUpdatingFocus = true;\n const focusRow = e.target;\n this.focusRowIndex = this.rowElements.indexOf(focusRow);\n this.focusColumnIndex = focusRow.focusColumnIndex;\n this.setAttribute(\"tabIndex\", \"-1\");\n this.isUpdatingFocus = false;\n }\n /**\n * @internal\n */\n handleFocus(e) {\n this.focusOnCell(this.focusRowIndex, this.focusColumnIndex, true);\n }\n /**\n * @internal\n */\n handleFocusOut(e) {\n if (e.relatedTarget === null || !this.contains(e.relatedTarget)) {\n this.setAttribute(\"tabIndex\", this.noTabbing ? \"-1\" : \"0\");\n }\n }\n /**\n * @internal\n */\n handleKeydown(e) {\n if (e.defaultPrevented) {\n return;\n }\n let newFocusRowIndex;\n const maxIndex = this.rowElements.length - 1;\n const currentGridBottom = this.offsetHeight + this.scrollTop;\n const lastRow = this.rowElements[maxIndex];\n switch (e.key) {\n case keyArrowUp:\n e.preventDefault();\n // focus up one row\n this.focusOnCell(this.focusRowIndex - 1, this.focusColumnIndex, true);\n break;\n case keyArrowDown:\n e.preventDefault();\n // focus down one row\n this.focusOnCell(this.focusRowIndex + 1, this.focusColumnIndex, true);\n break;\n case keyPageUp:\n e.preventDefault();\n if (this.rowElements.length === 0) {\n this.focusOnCell(0, 0, false);\n break;\n }\n if (this.focusRowIndex === 0) {\n this.focusOnCell(0, this.focusColumnIndex, false);\n return;\n }\n newFocusRowIndex = this.focusRowIndex - 1;\n for (newFocusRowIndex; newFocusRowIndex >= 0; newFocusRowIndex--) {\n const thisRow = this.rowElements[newFocusRowIndex];\n if (thisRow.offsetTop < this.scrollTop) {\n this.scrollTop =\n thisRow.offsetTop + thisRow.clientHeight - this.clientHeight;\n break;\n }\n }\n this.focusOnCell(newFocusRowIndex, this.focusColumnIndex, false);\n break;\n case keyPageDown:\n e.preventDefault();\n if (this.rowElements.length === 0) {\n this.focusOnCell(0, 0, false);\n break;\n }\n // focus down one \"page\"\n if (this.focusRowIndex >= maxIndex ||\n lastRow.offsetTop + lastRow.offsetHeight <= currentGridBottom) {\n this.focusOnCell(maxIndex, this.focusColumnIndex, false);\n return;\n }\n newFocusRowIndex = this.focusRowIndex + 1;\n for (newFocusRowIndex; newFocusRowIndex <= maxIndex; newFocusRowIndex++) {\n const thisRow = this.rowElements[newFocusRowIndex];\n if (thisRow.offsetTop + thisRow.offsetHeight > currentGridBottom) {\n let stickyHeaderOffset = 0;\n if (this.generateHeader === GenerateHeaderOptions.sticky &&\n this.generatedHeader !== null) {\n stickyHeaderOffset = this.generatedHeader.clientHeight;\n }\n this.scrollTop = thisRow.offsetTop - stickyHeaderOffset;\n break;\n }\n }\n this.focusOnCell(newFocusRowIndex, this.focusColumnIndex, false);\n break;\n case keyHome:\n if (e.ctrlKey) {\n e.preventDefault();\n // focus first cell of first row\n this.focusOnCell(0, 0, true);\n }\n break;\n case keyEnd:\n if (e.ctrlKey && this.columnDefinitions !== null) {\n e.preventDefault();\n // focus last cell of last row\n this.focusOnCell(this.rowElements.length - 1, this.columnDefinitions.length - 1, true);\n }\n break;\n }\n }\n queueFocusUpdate() {\n if (this.isUpdatingFocus &&\n (this.contains(document.activeElement) || this === document.activeElement)) {\n return;\n }\n if (this.pendingFocusUpdate === false) {\n this.pendingFocusUpdate = true;\n DOM.queueUpdate(() => this.updateFocus());\n }\n }\n updateFocus() {\n this.pendingFocusUpdate = false;\n this.focusOnCell(this.focusRowIndex, this.focusColumnIndex, true);\n }\n toggleGeneratedHeader() {\n if (this.generatedHeader !== null) {\n this.removeChild(this.generatedHeader);\n this.generatedHeader = null;\n }\n if (this.generateHeader !== GenerateHeaderOptions.none &&\n this.rowsData.length > 0) {\n const generatedHeaderElement = document.createElement(this.rowElementTag);\n this.generatedHeader = generatedHeaderElement;\n this.generatedHeader.columnDefinitions = this.columnDefinitions;\n this.generatedHeader.gridTemplateColumns = this.gridTemplateColumns;\n this.generatedHeader.rowType =\n this.generateHeader === GenerateHeaderOptions.sticky\n ? DataGridRowTypes.stickyHeader\n : DataGridRowTypes.header;\n if (this.firstChild !== null || this.rowsPlaceholder !== null) {\n this.insertBefore(generatedHeaderElement, this.firstChild !== null ? this.firstChild : this.rowsPlaceholder);\n }\n return;\n }\n }\n}\n/**\n * generates a basic column definition by examining sample row data\n */\nDataGrid.generateColumns = (row) => {\n return Object.getOwnPropertyNames(row).map((property, index) => {\n return {\n columnDataKey: property,\n gridColumn: `${index}`,\n };\n });\n};\n__decorate([\n attr({ attribute: \"no-tabbing\", mode: \"boolean\" })\n], DataGrid.prototype, \"noTabbing\", void 0);\n__decorate([\n attr({ attribute: \"generate-header\" })\n], DataGrid.prototype, \"generateHeader\", void 0);\n__decorate([\n attr({ attribute: \"grid-template-columns\" })\n], DataGrid.prototype, \"gridTemplateColumns\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"rowsData\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"columnDefinitions\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"rowItemTemplate\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"cellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"headerCellItemTemplate\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"focusRowIndex\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"focusColumnIndex\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"defaultRowItemTemplate\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"rowElementTag\", void 0);\n__decorate([\n observable\n], DataGrid.prototype, \"rowElements\", void 0);\n", + "import { __decorate } from \"tslib\";\nimport { attr, html, observable } from \"@microsoft/fast-element\";\nimport { eventFocusIn, eventFocusOut, eventKeyDown, keyEnter, keyEscape, keyFunction2, } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { DataGridCellTypes } from \"./data-grid.options.js\";\nexport { DataGridCellTypes };\nconst defaultCellContentsTemplate = html `\n <template>\n ${x => x.rowData === null ||\n x.columnDefinition === null ||\n x.columnDefinition.columnDataKey === null\n ? null\n : x.rowData[x.columnDefinition.columnDataKey]}\n </template>\n`;\nconst defaultHeaderCellContentsTemplate = html `\n <template>\n ${x => x.columnDefinition === null\n ? null\n : x.columnDefinition.title === undefined\n ? x.columnDefinition.columnDataKey\n : x.columnDefinition.title}\n </template>\n`;\n/**\n * A Data Grid Cell Custom HTML Element.\n *\n * @fires cell-focused - Fires a custom 'cell-focused' event when focus is on the cell or its contents\n * @slot - The default slot for cell contents. The \"cell contents template\" renders here.\n * @public\n */\nexport class DataGridCell extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * The type of cell\n *\n * @public\n * @remarks\n * HTML Attribute: cell-type\n */\n this.cellType = DataGridCellTypes.default;\n /**\n * The base data for the parent row\n *\n * @public\n */\n this.rowData = null;\n /**\n * The base data for the column\n *\n * @public\n */\n this.columnDefinition = null;\n this.isActiveCell = false;\n this.customCellView = null;\n this.updateCellStyle = () => {\n this.style.gridColumn = this.gridColumn;\n };\n }\n cellTypeChanged() {\n if (this.$fastController.isConnected) {\n this.updateCellView();\n }\n }\n gridColumnChanged() {\n if (this.$fastController.isConnected) {\n this.updateCellStyle();\n }\n }\n columnDefinitionChanged(oldValue, newValue) {\n if (this.$fastController.isConnected) {\n this.updateCellView();\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n var _a;\n super.connectedCallback();\n this.addEventListener(eventFocusIn, this.handleFocusin);\n this.addEventListener(eventFocusOut, this.handleFocusout);\n this.addEventListener(eventKeyDown, this.handleKeydown);\n this.style.gridColumn = `${((_a = this.columnDefinition) === null || _a === void 0 ? void 0 : _a.gridColumn) === undefined\n ? 0\n : this.columnDefinition.gridColumn}`;\n this.updateCellView();\n this.updateCellStyle();\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(eventFocusIn, this.handleFocusin);\n this.removeEventListener(eventFocusOut, this.handleFocusout);\n this.removeEventListener(eventKeyDown, this.handleKeydown);\n this.disconnectCellView();\n }\n handleFocusin(e) {\n if (this.isActiveCell) {\n return;\n }\n this.isActiveCell = true;\n switch (this.cellType) {\n case DataGridCellTypes.columnHeader:\n if (this.columnDefinition !== null &&\n this.columnDefinition.headerCellInternalFocusQueue !== true &&\n typeof this.columnDefinition.headerCellFocusTargetCallback ===\n \"function\") {\n // move focus to the focus target\n const focusTarget = this.columnDefinition.headerCellFocusTargetCallback(this);\n if (focusTarget !== null) {\n focusTarget.focus();\n }\n }\n break;\n default:\n if (this.columnDefinition !== null &&\n this.columnDefinition.cellInternalFocusQueue !== true &&\n typeof this.columnDefinition.cellFocusTargetCallback === \"function\") {\n // move focus to the focus target\n const focusTarget = this.columnDefinition.cellFocusTargetCallback(this);\n if (focusTarget !== null) {\n focusTarget.focus();\n }\n }\n break;\n }\n this.$emit(\"cell-focused\", this);\n }\n handleFocusout(e) {\n if (this !== document.activeElement && !this.contains(document.activeElement)) {\n this.isActiveCell = false;\n }\n }\n handleKeydown(e) {\n if (e.defaultPrevented ||\n this.columnDefinition === null ||\n (this.cellType === DataGridCellTypes.default &&\n this.columnDefinition.cellInternalFocusQueue !== true) ||\n (this.cellType === DataGridCellTypes.columnHeader &&\n this.columnDefinition.headerCellInternalFocusQueue !== true)) {\n return;\n }\n switch (e.key) {\n case keyEnter:\n case keyFunction2:\n if (this.contains(document.activeElement) &&\n document.activeElement !== this) {\n return;\n }\n switch (this.cellType) {\n case DataGridCellTypes.columnHeader:\n if (this.columnDefinition.headerCellFocusTargetCallback !==\n undefined) {\n const focusTarget = this.columnDefinition.headerCellFocusTargetCallback(this);\n if (focusTarget !== null) {\n focusTarget.focus();\n }\n e.preventDefault();\n }\n break;\n default:\n if (this.columnDefinition.cellFocusTargetCallback !== undefined) {\n const focusTarget = this.columnDefinition.cellFocusTargetCallback(this);\n if (focusTarget !== null) {\n focusTarget.focus();\n }\n e.preventDefault();\n }\n break;\n }\n break;\n case keyEscape:\n if (this.contains(document.activeElement) &&\n document.activeElement !== this) {\n this.focus();\n e.preventDefault();\n }\n break;\n }\n }\n updateCellView() {\n this.disconnectCellView();\n if (this.columnDefinition === null) {\n return;\n }\n switch (this.cellType) {\n case DataGridCellTypes.columnHeader:\n if (this.columnDefinition.headerCellTemplate !== undefined) {\n this.customCellView = this.columnDefinition.headerCellTemplate.render(this, this);\n }\n else {\n this.customCellView = defaultHeaderCellContentsTemplate.render(this, this);\n }\n break;\n case undefined:\n case DataGridCellTypes.rowHeader:\n case DataGridCellTypes.default:\n if (this.columnDefinition.cellTemplate !== undefined) {\n this.customCellView = this.columnDefinition.cellTemplate.render(this, this);\n }\n else {\n this.customCellView = defaultCellContentsTemplate.render(this, this);\n }\n break;\n }\n }\n disconnectCellView() {\n if (this.customCellView !== null) {\n this.customCellView.dispose();\n this.customCellView = null;\n }\n }\n}\n__decorate([\n attr({ attribute: \"cell-type\" })\n], DataGridCell.prototype, \"cellType\", void 0);\n__decorate([\n attr({ attribute: \"grid-column\" })\n], DataGridCell.prototype, \"gridColumn\", void 0);\n__decorate([\n observable\n], DataGridCell.prototype, \"rowData\", void 0);\n__decorate([\n observable\n], DataGridCell.prototype, \"columnDefinition\", void 0);\n", + "import { children, elements, html, slotted } from \"@microsoft/fast-element\";\nimport { DataGridCell } from \"./data-grid-cell.js\";\nfunction createCellItemTemplate(context) {\n const cellTag = context.tagFor(DataGridCell);\n return html `\n <${cellTag}\n cell-type=\"${x => (x.isRowHeader ? \"rowheader\" : undefined)}\"\n grid-column=\"${(x, c) => c.index + 1}\"\n :rowData=\"${(x, c) => c.parent.rowData}\"\n :columnDefinition=\"${x => x}\"\n ></${cellTag}>\n`;\n}\nfunction createHeaderCellItemTemplate(context) {\n const cellTag = context.tagFor(DataGridCell);\n return html `\n <${cellTag}\n cell-type=\"columnheader\"\n grid-column=\"${(x, c) => c.index + 1}\"\n :columnDefinition=\"${x => x}\"\n ></${cellTag}>\n`;\n}\n/**\n * Generates a template for the {@link @microsoft/fast-foundation#DataGridRow} component using\n * the provided prefix.\n *\n * @public\n */\nexport const dataGridRowTemplate = (context, definition) => {\n const cellItemTemplate = createCellItemTemplate(context);\n const headerCellItemTemplate = createHeaderCellItemTemplate(context);\n return html `\n <template\n role=\"row\"\n class=\"${x => (x.rowType !== \"default\" ? x.rowType : \"\")}\"\n :defaultCellItemTemplate=\"${cellItemTemplate}\"\n :defaultHeaderCellItemTemplate=\"${headerCellItemTemplate}\"\n ${children({\n property: \"cellElements\",\n filter: elements('[role=\"cell\"],[role=\"gridcell\"],[role=\"columnheader\"],[role=\"rowheader\"]'),\n })}\n >\n <slot ${slotted(\"slottedCellElements\")}></slot>\n </template>\n `;\n};\n", + "import { html } from \"@microsoft/fast-element\";\n/**\n * Generates a template for the {@link @microsoft/fast-foundation#DataGridCell} component using\n * the provided prefix.\n * @public\n */\nexport const dataGridCellTemplate = (context, definition) => {\n return html `\n <template\n tabindex=\"-1\"\n role=\"${x => !x.cellType || x.cellType === \"default\" ? \"gridcell\" : x.cellType}\"\n class=\"\n ${x => x.cellType === \"columnheader\"\n ? \"column-header\"\n : x.cellType === \"rowheader\"\n ? \"row-header\"\n : \"\"}\n \"\n >\n <slot></slot>\n </template>\n `;\n};\n", + "import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Checkbox:class)} component.\n * @public\n */\nexport const checkboxTemplate = (context, definition) => html `\n <template\n role=\"checkbox\"\n aria-checked=\"${x => x.checked}\"\n aria-required=\"${x => x.required}\"\n aria-disabled=\"${x => x.disabled}\"\n aria-readonly=\"${x => x.readOnly}\"\n tabindex=\"${x => (x.disabled ? null : 0)}\"\n @keypress=\"${(x, c) => x.keypressHandler(c.event)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n class=\"${x => (x.readOnly ? \"readonly\" : \"\")} ${x => x.checked ? \"checked\" : \"\"} ${x => (x.indeterminate ? \"indeterminate\" : \"\")}\"\n >\n <div part=\"control\" class=\"control\">\n <slot name=\"checked-indicator\">\n ${definition.checkedIndicator || \"\"}\n </slot>\n <slot name=\"indeterminate-indicator\">\n ${definition.indeterminateIndicator || \"\"}\n </slot>\n </div>\n <label\n part=\"label\"\n class=\"${x => x.defaultSlottedNodes && x.defaultSlottedNodes.length\n ? \"label\"\n : \"label label__hidden\"}\"\n >\n <slot ${slotted(\"defaultSlottedNodes\")}></slot>\n </label>\n </template>\n`;\n", + "import { CheckableFormAssociated } from \"../form-associated/form-associated.js\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nclass _Checkbox extends FoundationElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(Checkbox:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedCheckbox extends CheckableFormAssociated(_Checkbox) {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"input\");\n }\n}\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { keySpace } from \"@microsoft/fast-web-utilities\";\nimport { FormAssociatedCheckbox } from \"./checkbox.form-associated.js\";\n/**\n * A Checkbox Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#checkbox | ARIA checkbox }.\n *\n * @slot checked-indicator - The checked indicator\n * @slot indeterminate-indicator - The indeterminate indicator\n * @slot - The default slot for the label\n * @csspart control - The element representing the visual checkbox control\n * @csspart label - The label\n * @fires change - Emits a custom change event when the checked state changes\n *\n * @public\n */\nexport class Checkbox extends FormAssociatedCheckbox {\n constructor() {\n super();\n /**\n * The element's value to be included in form submission when checked.\n * Default to \"on\" to reach parity with input[type=\"checkbox\"]\n *\n * @internal\n */\n this.initialValue = \"on\";\n /**\n * The indeterminate state of the control\n */\n this.indeterminate = false;\n /**\n * @internal\n */\n this.keypressHandler = (e) => {\n if (this.readOnly) {\n return;\n }\n switch (e.key) {\n case keySpace:\n if (this.indeterminate) {\n this.indeterminate = false;\n }\n this.checked = !this.checked;\n break;\n }\n };\n /**\n * @internal\n */\n this.clickHandler = (e) => {\n if (!this.disabled && !this.readOnly) {\n if (this.indeterminate) {\n this.indeterminate = false;\n }\n this.checked = !this.checked;\n }\n };\n this.proxy.setAttribute(\"type\", \"checkbox\");\n }\n readOnlyChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.readOnly = this.readOnly;\n }\n }\n}\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], Checkbox.prototype, \"readOnly\", void 0);\n__decorate([\n observable\n], Checkbox.prototype, \"defaultSlottedNodes\", void 0);\n__decorate([\n observable\n], Checkbox.prototype, \"indeterminate\", void 0);\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable, Observable } from \"@microsoft/fast-element\";\nimport { isHTMLElement } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { ARIAGlobalStatesAndProperties } from \"../patterns/aria-global.js\";\nimport { StartEnd } from \"../patterns/start-end.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\n/**\n * Determines if the element is a {@link (ListboxOption:class)}\n *\n * @param element - the element to test.\n * @public\n */\nexport function isListboxOption(el) {\n return (isHTMLElement(el) &&\n (el.getAttribute(\"role\") === \"option\" ||\n el instanceof HTMLOptionElement));\n}\n/**\n * An Option Custom HTML Element.\n * Implements {@link https://www.w3.org/TR/wai-aria-1.1/#option | ARIA option }.\n *\n * @slot start - Content which can be provided before the listbox option content\n * @slot end - Content which can be provided after the listbox option content\n * @slot - The default slot for listbox option content\n * @csspart content - Wraps the listbox option content\n *\n * @public\n */\nexport class ListboxOption extends FoundationElement {\n constructor(text, value, defaultSelected, selected) {\n super();\n /**\n * The defaultSelected state of the option.\n * @public\n */\n this.defaultSelected = false;\n /**\n * Tracks whether the \"selected\" property has been changed.\n * @internal\n */\n this.dirtySelected = false;\n /**\n * The checked state of the control.\n *\n * @public\n */\n this.selected = this.defaultSelected;\n /**\n * Track whether the value has been changed from the initial value\n */\n this.dirtyValue = false;\n if (text) {\n this.textContent = text;\n }\n if (value) {\n this.initialValue = value;\n }\n if (defaultSelected) {\n this.defaultSelected = defaultSelected;\n }\n if (selected) {\n this.selected = selected;\n }\n this.proxy = new Option(`${this.textContent}`, this.initialValue, this.defaultSelected, this.selected);\n this.proxy.disabled = this.disabled;\n }\n /**\n * Updates the ariaChecked property when the checked property changes.\n *\n * @param prev - the previous checked value\n * @param next - the current checked value\n *\n * @public\n */\n checkedChanged(prev, next) {\n if (typeof next === \"boolean\") {\n this.ariaChecked = next ? \"true\" : \"false\";\n return;\n }\n this.ariaChecked = null;\n }\n /**\n * Updates the proxy's text content when the default slot changes.\n * @param prev - the previous content value\n * @param next - the current content value\n *\n * @internal\n */\n contentChanged(prev, next) {\n if (this.proxy instanceof HTMLOptionElement) {\n this.proxy.textContent = this.textContent;\n }\n this.$emit(\"contentchange\", null, { bubbles: true });\n }\n defaultSelectedChanged() {\n if (!this.dirtySelected) {\n this.selected = this.defaultSelected;\n if (this.proxy instanceof HTMLOptionElement) {\n this.proxy.selected = this.defaultSelected;\n }\n }\n }\n disabledChanged(prev, next) {\n this.ariaDisabled = this.disabled ? \"true\" : \"false\";\n if (this.proxy instanceof HTMLOptionElement) {\n this.proxy.disabled = this.disabled;\n }\n }\n selectedAttributeChanged() {\n this.defaultSelected = this.selectedAttribute;\n if (this.proxy instanceof HTMLOptionElement) {\n this.proxy.defaultSelected = this.defaultSelected;\n }\n }\n selectedChanged() {\n this.ariaSelected = this.selected ? \"true\" : \"false\";\n if (!this.dirtySelected) {\n this.dirtySelected = true;\n }\n if (this.proxy instanceof HTMLOptionElement) {\n this.proxy.selected = this.selected;\n }\n }\n initialValueChanged(previous, next) {\n // If the value is clean and the component is connected to the DOM\n // then set value equal to the attribute value.\n if (!this.dirtyValue) {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n }\n get label() {\n var _a;\n return (_a = this.value) !== null && _a !== void 0 ? _a : this.text;\n }\n get text() {\n var _a, _b;\n return (_b = (_a = this.textContent) === null || _a === void 0 ? void 0 : _a.replace(/\\s+/g, \" \").trim()) !== null && _b !== void 0 ? _b : \"\";\n }\n set value(next) {\n const newValue = `${next !== null && next !== void 0 ? next : \"\"}`;\n this._value = newValue;\n this.dirtyValue = true;\n if (this.proxy instanceof HTMLOptionElement) {\n this.proxy.value = newValue;\n }\n Observable.notify(this, \"value\");\n }\n get value() {\n var _a;\n Observable.track(this, \"value\");\n return (_a = this._value) !== null && _a !== void 0 ? _a : this.text;\n }\n get form() {\n return this.proxy ? this.proxy.form : null;\n }\n}\n__decorate([\n observable\n], ListboxOption.prototype, \"checked\", void 0);\n__decorate([\n observable\n], ListboxOption.prototype, \"content\", void 0);\n__decorate([\n observable\n], ListboxOption.prototype, \"defaultSelected\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], ListboxOption.prototype, \"disabled\", void 0);\n__decorate([\n attr({ attribute: \"selected\", mode: \"boolean\" })\n], ListboxOption.prototype, \"selectedAttribute\", void 0);\n__decorate([\n observable\n], ListboxOption.prototype, \"selected\", void 0);\n__decorate([\n attr({ attribute: \"value\", mode: \"fromView\" })\n], ListboxOption.prototype, \"initialValue\", void 0);\n/**\n * States and properties relating to the ARIA `option` role.\n *\n * @public\n */\nexport class DelegatesARIAListboxOption {\n}\n__decorate([\n observable\n], DelegatesARIAListboxOption.prototype, \"ariaChecked\", void 0);\n__decorate([\n observable\n], DelegatesARIAListboxOption.prototype, \"ariaPosInSet\", void 0);\n__decorate([\n observable\n], DelegatesARIAListboxOption.prototype, \"ariaSelected\", void 0);\n__decorate([\n observable\n], DelegatesARIAListboxOption.prototype, \"ariaSetSize\", void 0);\napplyMixins(DelegatesARIAListboxOption, ARIAGlobalStatesAndProperties);\napplyMixins(ListboxOption, StartEnd, DelegatesARIAListboxOption);\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable, Observable } from \"@microsoft/fast-element\";\nimport { findLastIndex, keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, keySpace, keyTab, uniqueId, } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { isListboxOption } from \"../listbox-option/listbox-option.js\";\nimport { ARIAGlobalStatesAndProperties } from \"../patterns/aria-global.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\n/**\n * A Listbox Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#listbox | ARIA listbox }.\n *\n * @slot - The default slot for the listbox options\n *\n * @public\n */\nexport class Listbox extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * The internal unfiltered list of selectable options.\n *\n * @internal\n */\n this._options = [];\n /**\n * The index of the selected option.\n *\n * @public\n */\n this.selectedIndex = -1;\n /**\n * A collection of the selected options.\n *\n * @public\n */\n this.selectedOptions = [];\n /**\n * A standard `click` event creates a `focus` event before firing, so a\n * `mousedown` event is used to skip that initial focus.\n *\n * @internal\n */\n this.shouldSkipFocus = false;\n /**\n * The current typeahead buffer string.\n *\n * @internal\n */\n this.typeaheadBuffer = \"\";\n /**\n * Flag for the typeahead timeout expiration.\n *\n * @internal\n */\n this.typeaheadExpired = true;\n /**\n * The timeout ID for the typeahead handler.\n *\n * @internal\n */\n this.typeaheadTimeout = -1;\n }\n /**\n * The first selected option.\n *\n * @internal\n */\n get firstSelectedOption() {\n var _a;\n return (_a = this.selectedOptions[0]) !== null && _a !== void 0 ? _a : null;\n }\n /**\n * Returns true if there is one or more selectable option.\n *\n * @internal\n */\n get hasSelectableOptions() {\n return this.options.length > 0 && !this.options.every(o => o.disabled);\n }\n /**\n * The number of options.\n *\n * @public\n */\n get length() {\n var _a, _b;\n return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;\n }\n /**\n * The list of options.\n *\n * @public\n */\n get options() {\n Observable.track(this, \"options\");\n return this._options;\n }\n set options(value) {\n this._options = value;\n Observable.notify(this, \"options\");\n }\n /**\n * Flag for the typeahead timeout expiration.\n *\n * @deprecated use `Listbox.typeaheadExpired`\n * @internal\n */\n get typeAheadExpired() {\n return this.typeaheadExpired;\n }\n set typeAheadExpired(value) {\n this.typeaheadExpired = value;\n }\n /**\n * Handle click events for listbox options.\n *\n * @internal\n */\n clickHandler(e) {\n const captured = e.target.closest(`option,[role=option]`);\n if (captured && !captured.disabled) {\n this.selectedIndex = this.options.indexOf(captured);\n return true;\n }\n }\n /**\n * Ensures that the provided option is focused and scrolled into view.\n *\n * @param optionToFocus - The option to focus\n * @internal\n */\n focusAndScrollOptionIntoView(optionToFocus = this.firstSelectedOption) {\n // To ensure that the browser handles both `focus()` and `scrollIntoView()`, the\n // timing here needs to guarantee that they happen on different frames. Since this\n // function is typically called from the `openChanged` observer, `DOM.queueUpdate`\n // causes the calls to be grouped into the same frame. To prevent this,\n // `requestAnimationFrame` is used instead of `DOM.queueUpdate`.\n if (this.contains(document.activeElement) && optionToFocus !== null) {\n optionToFocus.focus();\n requestAnimationFrame(() => {\n optionToFocus.scrollIntoView({ block: \"nearest\" });\n });\n }\n }\n /**\n * Handles `focusin` actions for the component. When the component receives focus,\n * the list of selected options is refreshed and the first selected option is scrolled\n * into view.\n *\n * @internal\n */\n focusinHandler(e) {\n if (!this.shouldSkipFocus && e.target === e.currentTarget) {\n this.setSelectedOptions();\n this.focusAndScrollOptionIntoView();\n }\n this.shouldSkipFocus = false;\n }\n /**\n * Returns the options which match the current typeahead buffer.\n *\n * @internal\n */\n getTypeaheadMatches() {\n const pattern = this.typeaheadBuffer.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n const re = new RegExp(`^${pattern}`, \"gi\");\n return this.options.filter((o) => o.text.trim().match(re));\n }\n /**\n * Determines the index of the next option which is selectable, if any.\n *\n * @param prev - the previous selected index\n * @param next - the next index to select\n *\n * @internal\n */\n getSelectableIndex(prev = this.selectedIndex, next) {\n const direction = prev > next ? -1 : prev < next ? 1 : 0;\n const potentialDirection = prev + direction;\n let nextSelectableOption = null;\n switch (direction) {\n case -1: {\n nextSelectableOption = this.options.reduceRight((nextSelectableOption, thisOption, index) => !nextSelectableOption &&\n !thisOption.disabled &&\n index < potentialDirection\n ? thisOption\n : nextSelectableOption, nextSelectableOption);\n break;\n }\n case 1: {\n nextSelectableOption = this.options.reduce((nextSelectableOption, thisOption, index) => !nextSelectableOption &&\n !thisOption.disabled &&\n index > potentialDirection\n ? thisOption\n : nextSelectableOption, nextSelectableOption);\n break;\n }\n }\n return this.options.indexOf(nextSelectableOption);\n }\n /**\n * Handles external changes to child options.\n *\n * @param source - the source object\n * @param propertyName - the property\n *\n * @internal\n */\n handleChange(source, propertyName) {\n switch (propertyName) {\n case \"selected\": {\n if (Listbox.slottedOptionFilter(source)) {\n this.selectedIndex = this.options.indexOf(source);\n }\n this.setSelectedOptions();\n break;\n }\n }\n }\n /**\n * Moves focus to an option whose label matches characters typed by the user.\n * Consecutive keystrokes are batched into a buffer of search text used\n * to match against the set of options. If `TYPE_AHEAD_TIMEOUT_MS` passes\n * between consecutive keystrokes, the search restarts.\n *\n * @param key - the key to be evaluated\n *\n * @internal\n */\n handleTypeAhead(key) {\n if (this.typeaheadTimeout) {\n window.clearTimeout(this.typeaheadTimeout);\n }\n this.typeaheadTimeout = window.setTimeout(() => (this.typeaheadExpired = true), Listbox.TYPE_AHEAD_TIMEOUT_MS);\n if (key.length > 1) {\n return;\n }\n this.typeaheadBuffer = `${this.typeaheadExpired ? \"\" : this.typeaheadBuffer}${key}`;\n }\n /**\n * Handles `keydown` actions for listbox navigation and typeahead.\n *\n * @internal\n */\n keydownHandler(e) {\n if (this.disabled) {\n return true;\n }\n this.shouldSkipFocus = false;\n const key = e.key;\n switch (key) {\n // Select the first available option\n case keyHome: {\n if (!e.shiftKey) {\n e.preventDefault();\n this.selectFirstOption();\n }\n break;\n }\n // Select the next selectable option\n case keyArrowDown: {\n if (!e.shiftKey) {\n e.preventDefault();\n this.selectNextOption();\n }\n break;\n }\n // Select the previous selectable option\n case keyArrowUp: {\n if (!e.shiftKey) {\n e.preventDefault();\n this.selectPreviousOption();\n }\n break;\n }\n // Select the last available option\n case keyEnd: {\n e.preventDefault();\n this.selectLastOption();\n break;\n }\n case keyTab: {\n this.focusAndScrollOptionIntoView();\n return true;\n }\n case keyEnter:\n case keyEscape: {\n return true;\n }\n case keySpace: {\n if (this.typeaheadExpired) {\n return true;\n }\n }\n // Send key to Typeahead handler\n default: {\n if (key.length === 1) {\n this.handleTypeAhead(`${key}`);\n }\n return true;\n }\n }\n }\n /**\n * Prevents `focusin` events from firing before `click` events when the\n * element is unfocused.\n *\n * @internal\n */\n mousedownHandler(e) {\n this.shouldSkipFocus = !this.contains(document.activeElement);\n return true;\n }\n /**\n * Switches between single-selection and multi-selection mode.\n *\n * @param prev - the previous value of the `multiple` attribute\n * @param next - the next value of the `multiple` attribute\n *\n * @internal\n */\n multipleChanged(prev, next) {\n this.ariaMultiSelectable = next ? \"true\" : null;\n }\n /**\n * Updates the list of selected options when the `selectedIndex` changes.\n *\n * @param prev - the previous selected index value\n * @param next - the current selected index value\n *\n * @internal\n */\n selectedIndexChanged(prev, next) {\n var _a;\n if (!this.hasSelectableOptions) {\n this.selectedIndex = -1;\n return;\n }\n if (((_a = this.options[this.selectedIndex]) === null || _a === void 0 ? void 0 : _a.disabled) && typeof prev === \"number\") {\n const selectableIndex = this.getSelectableIndex(prev, next);\n const newNext = selectableIndex > -1 ? selectableIndex : prev;\n this.selectedIndex = newNext;\n if (next === newNext) {\n this.selectedIndexChanged(next, newNext);\n }\n return;\n }\n this.setSelectedOptions();\n }\n /**\n * Updates the selectedness of each option when the list of selected options changes.\n *\n * @param prev - the previous list of selected options\n * @param next - the current list of selected options\n *\n * @internal\n */\n selectedOptionsChanged(prev, next) {\n var _a;\n const filteredNext = next.filter(Listbox.slottedOptionFilter);\n (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.unsubscribe(this, \"selected\");\n o.selected = filteredNext.includes(o);\n notifier.subscribe(this, \"selected\");\n });\n }\n /**\n * Moves focus to the first selectable option.\n *\n * @public\n */\n selectFirstOption() {\n var _a, _b;\n if (!this.disabled) {\n this.selectedIndex = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.findIndex(o => !o.disabled)) !== null && _b !== void 0 ? _b : -1;\n }\n }\n /**\n * Moves focus to the last selectable option.\n *\n * @internal\n */\n selectLastOption() {\n if (!this.disabled) {\n this.selectedIndex = findLastIndex(this.options, o => !o.disabled);\n }\n }\n /**\n * Moves focus to the next selectable option.\n *\n * @internal\n */\n selectNextOption() {\n if (!this.disabled && this.selectedIndex < this.options.length - 1) {\n this.selectedIndex += 1;\n }\n }\n /**\n * Moves focus to the previous selectable option.\n *\n * @internal\n */\n selectPreviousOption() {\n if (!this.disabled && this.selectedIndex > 0) {\n this.selectedIndex = this.selectedIndex - 1;\n }\n }\n /**\n * Updates the selected index to match the first selected option.\n *\n * @internal\n */\n setDefaultSelectedOption() {\n var _a, _b;\n this.selectedIndex = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.findIndex(el => el.defaultSelected)) !== null && _b !== void 0 ? _b : -1;\n }\n /**\n * Sets an option as selected and gives it focus.\n *\n * @public\n */\n setSelectedOptions() {\n var _a, _b, _c;\n if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) {\n this.selectedOptions = [this.options[this.selectedIndex]];\n this.ariaActiveDescendant = (_c = (_b = this.firstSelectedOption) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : \"\";\n this.focusAndScrollOptionIntoView();\n }\n }\n /**\n * Updates the list of options and resets the selected option when the slotted option content changes.\n *\n * @param prev - the previous list of slotted options\n * @param next - the current list of slotted options\n *\n * @internal\n */\n slottedOptionsChanged(prev, next) {\n this.options = next.reduce((options, item) => {\n if (isListboxOption(item)) {\n options.push(item);\n }\n return options;\n }, []);\n const setSize = `${this.options.length}`;\n this.options.forEach((option, index) => {\n if (!option.id) {\n option.id = uniqueId(\"option-\");\n }\n option.ariaPosInSet = `${index + 1}`;\n option.ariaSetSize = setSize;\n });\n if (this.$fastController.isConnected) {\n this.setSelectedOptions();\n this.setDefaultSelectedOption();\n }\n }\n /**\n * Updates the filtered list of options when the typeahead buffer changes.\n *\n * @param prev - the previous typeahead buffer value\n * @param next - the current typeahead buffer value\n *\n * @internal\n */\n typeaheadBufferChanged(prev, next) {\n if (this.$fastController.isConnected) {\n const typeaheadMatches = this.getTypeaheadMatches();\n if (typeaheadMatches.length) {\n const selectedIndex = this.options.indexOf(typeaheadMatches[0]);\n if (selectedIndex > -1) {\n this.selectedIndex = selectedIndex;\n }\n }\n this.typeaheadExpired = false;\n }\n }\n}\n/**\n * A static filter to include only selectable options.\n *\n * @param n - element to filter\n * @public\n */\nListbox.slottedOptionFilter = (n) => isListboxOption(n) && !n.hidden;\n/**\n * Typeahead timeout in milliseconds.\n *\n * @internal\n */\nListbox.TYPE_AHEAD_TIMEOUT_MS = 1000;\n__decorate([\n attr({ mode: \"boolean\" })\n], Listbox.prototype, \"disabled\", void 0);\n__decorate([\n observable\n], Listbox.prototype, \"selectedIndex\", void 0);\n__decorate([\n observable\n], Listbox.prototype, \"selectedOptions\", void 0);\n__decorate([\n observable\n], Listbox.prototype, \"slottedOptions\", void 0);\n__decorate([\n observable\n], Listbox.prototype, \"typeaheadBuffer\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA listbox role\n *\n * @public\n */\nexport class DelegatesARIAListbox {\n}\n__decorate([\n observable\n], DelegatesARIAListbox.prototype, \"ariaActiveDescendant\", void 0);\n__decorate([\n observable\n], DelegatesARIAListbox.prototype, \"ariaDisabled\", void 0);\n__decorate([\n observable\n], DelegatesARIAListbox.prototype, \"ariaExpanded\", void 0);\n__decorate([\n observable\n], DelegatesARIAListbox.prototype, \"ariaMultiSelectable\", void 0);\napplyMixins(DelegatesARIAListbox, ARIAGlobalStatesAndProperties);\napplyMixins(Listbox, DelegatesARIAListbox);\n", + "/**\n * Positioning directions for the listbox when a select is open.\n * @public\n */\nexport const SelectPosition = {\n above: \"above\",\n below: \"below\",\n};\n", + "/**\n * Retrieves the \"composed parent\" element of a node, ignoring DOM tree boundaries.\n * When the parent of a node is a shadow-root, it will return the host\n * element of the shadow root. Otherwise it will return the parent node or null if\n * no parent node exists.\n * @param element - The element for which to retrieve the composed parent\n *\n * @public\n */\nexport function composedParent(element) {\n const parentNode = element.parentElement;\n if (parentNode) {\n return parentNode;\n }\n else {\n const rootNode = element.getRootNode();\n if (rootNode.host instanceof HTMLElement) {\n // this is shadow-root\n return rootNode.host;\n }\n }\n return null;\n}\n", + "import { composedParent } from \"./composed-parent.js\";\n/**\n * Determines if the reference element contains the test element in a \"composed\" DOM tree that\n * ignores shadow DOM boundaries.\n *\n * Returns true of the test element is a descendent of the reference, or exist in\n * a shadow DOM that is a logical descendent of the reference. Otherwise returns false.\n * @param reference - The element to test for containment against.\n * @param test - The element being tested for containment.\n *\n * @public\n */\nexport function composedContains(reference, test) {\n let current = test;\n while (current !== null) {\n if (current === reference) {\n return true;\n }\n current = composedParent(current);\n }\n return false;\n}\n", + "import { __decorate } from \"tslib\";\nimport { DOM, ElementStyles, FASTElement, observable, Observable, prependToAdoptedStyleSheetsSymbol, } from \"@microsoft/fast-element\";\nexport const defaultElement = document.createElement(\"div\");\nfunction isFastElement(element) {\n return element instanceof FASTElement;\n}\nclass QueuedStyleSheetTarget {\n setProperty(name, value) {\n DOM.queueUpdate(() => this.target.setProperty(name, value));\n }\n removeProperty(name) {\n DOM.queueUpdate(() => this.target.removeProperty(name));\n }\n}\n/**\n * Handles setting properties for a FASTElement using Constructable Stylesheets\n */\nclass ConstructableStyleSheetTarget extends QueuedStyleSheetTarget {\n constructor(source) {\n super();\n const sheet = new CSSStyleSheet();\n sheet[prependToAdoptedStyleSheetsSymbol] = true;\n this.target = sheet.cssRules[sheet.insertRule(\":host{}\")].style;\n source.$fastController.addStyles(ElementStyles.create([sheet]));\n }\n}\nclass DocumentStyleSheetTarget extends QueuedStyleSheetTarget {\n constructor() {\n super();\n const sheet = new CSSStyleSheet();\n this.target = sheet.cssRules[sheet.insertRule(\":root{}\")].style;\n document.adoptedStyleSheets = [\n ...document.adoptedStyleSheets,\n sheet,\n ];\n }\n}\nclass HeadStyleElementStyleSheetTarget extends QueuedStyleSheetTarget {\n constructor() {\n super();\n this.style = document.createElement(\"style\");\n document.head.appendChild(this.style);\n const { sheet } = this.style;\n // Because the HTMLStyleElement has been appended,\n // there shouldn't exist a case where `sheet` is null,\n // but if-check it just in case.\n if (sheet) {\n // https://github.com/jsdom/jsdom uses https://github.com/NV/CSSOM for it's CSSOM implementation,\n // which implements the DOM Level 2 spec for CSSStyleSheet where insertRule() requires an index argument.\n const index = sheet.insertRule(\":root{}\", sheet.cssRules.length);\n this.target = sheet.cssRules[index].style;\n }\n }\n}\n/**\n * Handles setting properties for a FASTElement using an HTMLStyleElement\n */\nclass StyleElementStyleSheetTarget {\n constructor(target) {\n this.store = new Map();\n this.target = null;\n const controller = target.$fastController;\n this.style = document.createElement(\"style\");\n controller.addStyles(this.style);\n Observable.getNotifier(controller).subscribe(this, \"isConnected\");\n this.handleChange(controller, \"isConnected\");\n }\n targetChanged() {\n if (this.target !== null) {\n for (const [key, value] of this.store.entries()) {\n this.target.setProperty(key, value);\n }\n }\n }\n setProperty(name, value) {\n this.store.set(name, value);\n DOM.queueUpdate(() => {\n if (this.target !== null) {\n this.target.setProperty(name, value);\n }\n });\n }\n removeProperty(name) {\n this.store.delete(name);\n DOM.queueUpdate(() => {\n if (this.target !== null) {\n this.target.removeProperty(name);\n }\n });\n }\n handleChange(source, key) {\n // HTMLStyleElement.sheet is null if the element isn't connected to the DOM,\n // so this method reacts to changes in DOM connection for the element hosting\n // the HTMLStyleElement.\n //\n // All rules applied via the CSSOM also get cleared when the element disconnects,\n // so we need to add a new rule each time and populate it with the stored properties\n const { sheet } = this.style;\n if (sheet) {\n // Safari will throw if we try to use the return result of insertRule()\n // to index the rule inline, so store as a const prior to indexing.\n // https://github.com/jsdom/jsdom uses https://github.com/NV/CSSOM for it's CSSOM implementation,\n // which implements the DOM Level 2 spec for CSSStyleSheet where insertRule() requires an index argument.\n const index = sheet.insertRule(\":host{}\", sheet.cssRules.length);\n this.target = sheet.cssRules[index].style;\n }\n else {\n this.target = null;\n }\n }\n}\n__decorate([\n observable\n], StyleElementStyleSheetTarget.prototype, \"target\", void 0);\n/**\n * Handles setting properties for a normal HTMLElement\n */\nclass ElementStyleSheetTarget {\n constructor(source) {\n this.target = source.style;\n }\n setProperty(name, value) {\n DOM.queueUpdate(() => this.target.setProperty(name, value));\n }\n removeProperty(name) {\n DOM.queueUpdate(() => this.target.removeProperty(name));\n }\n}\n/**\n * Controls emission for default values. This control is capable\n * of emitting to multiple {@link PropertyTarget | PropertyTargets},\n * and only emits if it has at least one root.\n *\n * @internal\n */\nexport class RootStyleSheetTarget {\n setProperty(name, value) {\n RootStyleSheetTarget.properties[name] = value;\n for (const target of RootStyleSheetTarget.roots.values()) {\n PropertyTargetManager.getOrCreate(RootStyleSheetTarget.normalizeRoot(target)).setProperty(name, value);\n }\n }\n removeProperty(name) {\n delete RootStyleSheetTarget.properties[name];\n for (const target of RootStyleSheetTarget.roots.values()) {\n PropertyTargetManager.getOrCreate(RootStyleSheetTarget.normalizeRoot(target)).removeProperty(name);\n }\n }\n static registerRoot(root) {\n const { roots } = RootStyleSheetTarget;\n if (!roots.has(root)) {\n roots.add(root);\n const target = PropertyTargetManager.getOrCreate(this.normalizeRoot(root));\n for (const key in RootStyleSheetTarget.properties) {\n target.setProperty(key, RootStyleSheetTarget.properties[key]);\n }\n }\n }\n static unregisterRoot(root) {\n const { roots } = RootStyleSheetTarget;\n if (roots.has(root)) {\n roots.delete(root);\n const target = PropertyTargetManager.getOrCreate(RootStyleSheetTarget.normalizeRoot(root));\n for (const key in RootStyleSheetTarget.properties) {\n target.removeProperty(key);\n }\n }\n }\n /**\n * Returns the document when provided the default element,\n * otherwise is a no-op\n * @param root - the root to normalize\n */\n static normalizeRoot(root) {\n return root === defaultElement ? document : root;\n }\n}\nRootStyleSheetTarget.roots = new Set();\nRootStyleSheetTarget.properties = {};\n// Caches PropertyTarget instances\nconst propertyTargetCache = new WeakMap();\n// Use Constructable StyleSheets for FAST elements when supported, otherwise use\n// HTMLStyleElement instances\nconst propertyTargetCtor = DOM.supportsAdoptedStyleSheets\n ? ConstructableStyleSheetTarget\n : StyleElementStyleSheetTarget;\n/**\n * Manages creation and caching of PropertyTarget instances.\n *\n * @internal\n */\nexport const PropertyTargetManager = Object.freeze({\n getOrCreate(source) {\n if (propertyTargetCache.has(source)) {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n return propertyTargetCache.get(source);\n }\n let target;\n if (source === defaultElement) {\n target = new RootStyleSheetTarget();\n }\n else if (source instanceof Document) {\n target = DOM.supportsAdoptedStyleSheets\n ? new DocumentStyleSheetTarget()\n : new HeadStyleElementStyleSheetTarget();\n }\n else if (isFastElement(source)) {\n target = new propertyTargetCtor(source);\n }\n else {\n target = new ElementStyleSheetTarget(source);\n }\n propertyTargetCache.set(source, target);\n return target;\n },\n});\n", + "import { __decorate } from \"tslib\";\nimport { CSSDirective, defaultExecutionContext, FASTElement, observable, Observable, } from \"@microsoft/fast-element\";\nimport { composedParent } from \"../utilities/composed-parent.js\";\nimport { composedContains } from \"../utilities/composed-contains.js\";\nimport { PropertyTargetManager, RootStyleSheetTarget, } from \"./custom-property-manager.js\";\nimport { defaultElement } from \"./custom-property-manager.js\";\n/**\n * Implementation of {@link (DesignToken:interface)}\n */\nclass DesignTokenImpl extends CSSDirective {\n constructor(configuration) {\n super();\n this.subscribers = new WeakMap();\n this._appliedTo = new Set();\n this.name = configuration.name;\n if (configuration.cssCustomPropertyName !== null) {\n this.cssCustomProperty = `--${configuration.cssCustomPropertyName}`;\n this.cssVar = `var(${this.cssCustomProperty})`;\n }\n this.id = DesignTokenImpl.uniqueId();\n DesignTokenImpl.tokensById.set(this.id, this);\n }\n get appliedTo() {\n return [...this._appliedTo];\n }\n static from(nameOrConfig) {\n return new DesignTokenImpl({\n name: typeof nameOrConfig === \"string\" ? nameOrConfig : nameOrConfig.name,\n cssCustomPropertyName: typeof nameOrConfig === \"string\"\n ? nameOrConfig\n : nameOrConfig.cssCustomPropertyName === void 0\n ? nameOrConfig.name\n : nameOrConfig.cssCustomPropertyName,\n });\n }\n static isCSSDesignToken(token) {\n return typeof token.cssCustomProperty === \"string\";\n }\n static isDerivedDesignTokenValue(value) {\n return typeof value === \"function\";\n }\n /**\n * Gets a token by ID. Returns undefined if the token was not found.\n * @param id - The ID of the token\n * @returns\n */\n static getTokenById(id) {\n return DesignTokenImpl.tokensById.get(id);\n }\n getOrCreateSubscriberSet(target = this) {\n return (this.subscribers.get(target) ||\n (this.subscribers.set(target, new Set()) && this.subscribers.get(target)));\n }\n createCSS() {\n return this.cssVar || \"\";\n }\n getValueFor(element) {\n const value = DesignTokenNode.getOrCreate(element).get(this);\n if (value !== undefined) {\n return value;\n }\n throw new Error(`Value could not be retrieved for token named \"${this.name}\". Ensure the value is set for ${element} or an ancestor of ${element}.`);\n }\n setValueFor(element, value) {\n this._appliedTo.add(element);\n if (value instanceof DesignTokenImpl) {\n value = this.alias(value);\n }\n DesignTokenNode.getOrCreate(element).set(this, value);\n return this;\n }\n deleteValueFor(element) {\n this._appliedTo.delete(element);\n if (DesignTokenNode.existsFor(element)) {\n DesignTokenNode.getOrCreate(element).delete(this);\n }\n return this;\n }\n withDefault(value) {\n this.setValueFor(defaultElement, value);\n return this;\n }\n subscribe(subscriber, target) {\n const subscriberSet = this.getOrCreateSubscriberSet(target);\n if (target && !DesignTokenNode.existsFor(target)) {\n DesignTokenNode.getOrCreate(target);\n }\n if (!subscriberSet.has(subscriber)) {\n subscriberSet.add(subscriber);\n }\n }\n unsubscribe(subscriber, target) {\n const list = this.subscribers.get(target || this);\n if (list && list.has(subscriber)) {\n list.delete(subscriber);\n }\n }\n /**\n * Notifies subscribers that the value for an element has changed.\n * @param element - The element to emit a notification for\n */\n notify(element) {\n const record = Object.freeze({ token: this, target: element });\n if (this.subscribers.has(this)) {\n this.subscribers.get(this).forEach(sub => sub.handleChange(record));\n }\n if (this.subscribers.has(element)) {\n this.subscribers.get(element).forEach(sub => sub.handleChange(record));\n }\n }\n /**\n * Alias the token to the provided token.\n * @param token - the token to alias to\n */\n alias(token) {\n return ((target) => token.getValueFor(target));\n }\n}\nDesignTokenImpl.uniqueId = (() => {\n let id = 0;\n return () => {\n id++;\n return id.toString(16);\n };\n})();\n/**\n * Token storage by token ID\n */\nDesignTokenImpl.tokensById = new Map();\nclass CustomPropertyReflector {\n startReflection(token, target) {\n token.subscribe(this, target);\n this.handleChange({ token, target });\n }\n stopReflection(token, target) {\n token.unsubscribe(this, target);\n this.remove(token, target);\n }\n handleChange(record) {\n const { token, target } = record;\n this.add(token, target);\n }\n add(token, target) {\n PropertyTargetManager.getOrCreate(target).setProperty(token.cssCustomProperty, this.resolveCSSValue(DesignTokenNode.getOrCreate(target).get(token)));\n }\n remove(token, target) {\n PropertyTargetManager.getOrCreate(target).removeProperty(token.cssCustomProperty);\n }\n resolveCSSValue(value) {\n return value && typeof value.createCSS === \"function\" ? value.createCSS() : value;\n }\n}\n/**\n * A light wrapper around BindingObserver to handle value caching and\n * token notification\n */\nclass DesignTokenBindingObserver {\n constructor(source, token, node) {\n this.source = source;\n this.token = token;\n this.node = node;\n this.dependencies = new Set();\n this.observer = Observable.binding(source, this, false);\n // This is a little bit hacky because it's using internal APIs of BindingObserverImpl.\n // BindingObserverImpl queues updates to batch it's notifications which doesn't work for this\n // scenario because the DesignToken.getValueFor API is not async. Without this, using DesignToken.getValueFor()\n // after DesignToken.setValueFor() when setting a dependency of the value being retrieved can return a stale\n // value. Assigning .handleChange to .call forces immediate invocation of this classes handleChange() method,\n // allowing resolution of values synchronously.\n // TODO: https://github.com/microsoft/fast/issues/5110\n this.observer.handleChange = this.observer.call;\n this.handleChange();\n }\n disconnect() {\n this.observer.disconnect();\n }\n /**\n * @internal\n */\n handleChange() {\n try {\n this.node.store.set(this.token, this.observer.observe(this.node.target, defaultExecutionContext));\n }\n catch (e) {\n console.error(e);\n }\n }\n}\n/**\n * Stores resolved token/value pairs and notifies on changes\n */\nclass Store {\n constructor() {\n this.values = new Map();\n }\n set(token, value) {\n if (this.values.get(token) !== value) {\n this.values.set(token, value);\n Observable.getNotifier(this).notify(token.id);\n }\n }\n get(token) {\n Observable.track(this, token.id);\n return this.values.get(token);\n }\n delete(token) {\n this.values.delete(token);\n Observable.getNotifier(this).notify(token.id);\n }\n all() {\n return this.values.entries();\n }\n}\nconst nodeCache = new WeakMap();\nconst childToParent = new WeakMap();\n/**\n * A node responsible for setting and getting token values,\n * emitting values to CSS custom properties, and maintaining\n * inheritance structures.\n */\nclass DesignTokenNode {\n constructor(target) {\n this.target = target;\n /**\n * Stores all resolved token values for a node\n */\n this.store = new Store();\n /**\n * All children assigned to the node\n */\n this.children = [];\n /**\n * All values explicitly assigned to the node in their raw form\n */\n this.assignedValues = new Map();\n /**\n * Tokens currently being reflected to CSS custom properties\n */\n this.reflecting = new Set();\n /**\n * Binding observers for assigned and inherited derived values.\n */\n this.bindingObservers = new Map();\n /**\n * Emits notifications to token when token values\n * change the DesignTokenNode\n */\n this.tokenValueChangeHandler = {\n handleChange: (source, arg) => {\n const token = DesignTokenImpl.getTokenById(arg);\n if (token) {\n // Notify any token subscribers\n token.notify(this.target);\n this.updateCSSTokenReflection(source, token);\n }\n },\n };\n nodeCache.set(target, this);\n // Map store change notifications to token change notifications\n Observable.getNotifier(this.store).subscribe(this.tokenValueChangeHandler);\n if (target instanceof FASTElement) {\n target.$fastController.addBehaviors([this]);\n }\n else if (target.isConnected) {\n this.bind();\n }\n }\n /**\n * Returns a DesignTokenNode for an element.\n * Creates a new instance if one does not already exist for a node,\n * otherwise returns the cached instance\n *\n * @param target - The HTML element to retrieve a DesignTokenNode for\n */\n static getOrCreate(target) {\n return nodeCache.get(target) || new DesignTokenNode(target);\n }\n /**\n * Determines if a DesignTokenNode has been created for a target\n * @param target - The element to test\n */\n static existsFor(target) {\n return nodeCache.has(target);\n }\n /**\n * Searches for and return the nearest parent DesignTokenNode.\n * Null is returned if no node is found or the node provided is for a default element.\n */\n static findParent(node) {\n if (!(defaultElement === node.target)) {\n let parent = composedParent(node.target);\n while (parent !== null) {\n if (nodeCache.has(parent)) {\n return nodeCache.get(parent);\n }\n parent = composedParent(parent);\n }\n return DesignTokenNode.getOrCreate(defaultElement);\n }\n return null;\n }\n /**\n * Finds the closest node with a value explicitly assigned for a token, otherwise null.\n * @param token - The token to look for\n * @param start - The node to start looking for value assignment\n * @returns\n */\n static findClosestAssignedNode(token, start) {\n let current = start;\n do {\n if (current.has(token)) {\n return current;\n }\n current = current.parent\n ? current.parent\n : current.target !== defaultElement\n ? DesignTokenNode.getOrCreate(defaultElement)\n : null;\n } while (current !== null);\n return null;\n }\n /**\n * The parent DesignTokenNode, or null.\n */\n get parent() {\n return childToParent.get(this) || null;\n }\n updateCSSTokenReflection(source, token) {\n if (DesignTokenImpl.isCSSDesignToken(token)) {\n const parent = this.parent;\n const reflecting = this.isReflecting(token);\n if (parent) {\n const parentValue = parent.get(token);\n const sourceValue = source.get(token);\n if (parentValue !== sourceValue && !reflecting) {\n this.reflectToCSS(token);\n }\n else if (parentValue === sourceValue && reflecting) {\n this.stopReflectToCSS(token);\n }\n }\n else if (!reflecting) {\n this.reflectToCSS(token);\n }\n }\n }\n /**\n * Checks if a token has been assigned an explicit value the node.\n * @param token - the token to check.\n */\n has(token) {\n return this.assignedValues.has(token);\n }\n /**\n * Gets the value of a token for a node\n * @param token - The token to retrieve the value for\n * @returns\n */\n get(token) {\n const value = this.store.get(token);\n if (value !== undefined) {\n return value;\n }\n const raw = this.getRaw(token);\n if (raw !== undefined) {\n this.hydrate(token, raw);\n return this.get(token);\n }\n }\n /**\n * Retrieves the raw assigned value of a token from the nearest assigned node.\n * @param token - The token to retrieve a raw value for\n * @returns\n */\n getRaw(token) {\n var _a;\n if (this.assignedValues.has(token)) {\n return this.assignedValues.get(token);\n }\n return (_a = DesignTokenNode.findClosestAssignedNode(token, this)) === null || _a === void 0 ? void 0 : _a.getRaw(token);\n }\n /**\n * Sets a token to a value for a node\n * @param token - The token to set\n * @param value - The value to set the token to\n */\n set(token, value) {\n if (DesignTokenImpl.isDerivedDesignTokenValue(this.assignedValues.get(token))) {\n this.tearDownBindingObserver(token);\n }\n this.assignedValues.set(token, value);\n if (DesignTokenImpl.isDerivedDesignTokenValue(value)) {\n this.setupBindingObserver(token, value);\n }\n else {\n this.store.set(token, value);\n }\n }\n /**\n * Deletes a token value for the node.\n * @param token - The token to delete the value for\n */\n delete(token) {\n this.assignedValues.delete(token);\n this.tearDownBindingObserver(token);\n const upstream = this.getRaw(token);\n if (upstream) {\n this.hydrate(token, upstream);\n }\n else {\n this.store.delete(token);\n }\n }\n /**\n * Invoked when the DesignTokenNode.target is attached to the document\n */\n bind() {\n const parent = DesignTokenNode.findParent(this);\n if (parent) {\n parent.appendChild(this);\n }\n for (const key of this.assignedValues.keys()) {\n key.notify(this.target);\n }\n }\n /**\n * Invoked when the DesignTokenNode.target is detached from the document\n */\n unbind() {\n if (this.parent) {\n const parent = childToParent.get(this);\n parent.removeChild(this);\n }\n for (const token of this.bindingObservers.keys()) {\n this.tearDownBindingObserver(token);\n }\n }\n /**\n * Appends a child to a parent DesignTokenNode.\n * @param child - The child to append to the node\n */\n appendChild(child) {\n if (child.parent) {\n childToParent.get(child).removeChild(child);\n }\n const reParent = this.children.filter(x => child.contains(x));\n childToParent.set(child, this);\n this.children.push(child);\n reParent.forEach(x => child.appendChild(x));\n Observable.getNotifier(this.store).subscribe(child);\n // How can we not notify *every* subscriber?\n for (const [token, value] of this.store.all()) {\n child.hydrate(token, this.bindingObservers.has(token) ? this.getRaw(token) : value);\n // Need to stop reflecting any tokens that can now be inherited\n child.updateCSSTokenReflection(child.store, token);\n }\n }\n /**\n * Removes a child from a node.\n * @param child - The child to remove.\n */\n removeChild(child) {\n const childIndex = this.children.indexOf(child);\n if (childIndex !== -1) {\n this.children.splice(childIndex, 1);\n }\n Observable.getNotifier(this.store).unsubscribe(child);\n if (child.parent !== this) {\n return false;\n }\n const deleted = childToParent.delete(child);\n for (const [token] of this.store.all()) {\n child.hydrate(token, child.getRaw(token));\n // Need to start reflecting any assigned values that were previously inherited\n child.updateCSSTokenReflection(child.store, token);\n }\n return deleted;\n }\n /**\n * Tests whether a provided node is contained by\n * the calling node.\n * @param test - The node to test\n */\n contains(test) {\n return composedContains(this.target, test.target);\n }\n /**\n * Instructs the node to reflect a design token for the provided token.\n * @param token - The design token to reflect\n */\n reflectToCSS(token) {\n if (!this.isReflecting(token)) {\n this.reflecting.add(token);\n DesignTokenNode.cssCustomPropertyReflector.startReflection(token, this.target);\n }\n }\n /**\n * Stops reflecting a DesignToken to CSS\n * @param token - The design token to stop reflecting\n */\n stopReflectToCSS(token) {\n if (this.isReflecting(token)) {\n this.reflecting.delete(token);\n DesignTokenNode.cssCustomPropertyReflector.stopReflection(token, this.target);\n }\n }\n /**\n * Determines if a token is being reflected to CSS for a node.\n * @param token - The token to check for reflection\n * @returns\n */\n isReflecting(token) {\n return this.reflecting.has(token);\n }\n /**\n * Handle changes to upstream tokens\n * @param source - The parent DesignTokenNode\n * @param property - The token ID that changed\n */\n handleChange(source, property) {\n const token = DesignTokenImpl.getTokenById(property);\n if (!token) {\n return;\n }\n this.hydrate(token, this.getRaw(token));\n this.updateCSSTokenReflection(this.store, token);\n }\n /**\n * Hydrates a token with a DesignTokenValue, making retrieval available.\n * @param token - The token to hydrate\n * @param value - The value to hydrate\n */\n hydrate(token, value) {\n if (!this.has(token)) {\n const observer = this.bindingObservers.get(token);\n if (DesignTokenImpl.isDerivedDesignTokenValue(value)) {\n if (observer) {\n // If the binding source doesn't match, we need\n // to update the binding\n if (observer.source !== value) {\n this.tearDownBindingObserver(token);\n this.setupBindingObserver(token, value);\n }\n }\n else {\n this.setupBindingObserver(token, value);\n }\n }\n else {\n if (observer) {\n this.tearDownBindingObserver(token);\n }\n this.store.set(token, value);\n }\n }\n }\n /**\n * Sets up a binding observer for a derived token value that notifies token\n * subscribers on change.\n *\n * @param token - The token to notify when the binding updates\n * @param source - The binding source\n */\n setupBindingObserver(token, source) {\n const binding = new DesignTokenBindingObserver(source, token, this);\n this.bindingObservers.set(token, binding);\n return binding;\n }\n /**\n * Tear down a binding observer for a token.\n */\n tearDownBindingObserver(token) {\n if (this.bindingObservers.has(token)) {\n this.bindingObservers.get(token).disconnect();\n this.bindingObservers.delete(token);\n return true;\n }\n return false;\n }\n}\n/**\n * Responsible for reflecting tokens to CSS custom properties\n */\nDesignTokenNode.cssCustomPropertyReflector = new CustomPropertyReflector();\n__decorate([\n observable\n], DesignTokenNode.prototype, \"children\", void 0);\nfunction create(nameOrConfig) {\n return DesignTokenImpl.from(nameOrConfig);\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n/**\n * Factory object for creating {@link (DesignToken:interface)} instances.\n * @public\n */\nexport const DesignToken = Object.freeze({\n create,\n /**\n * Informs DesignToken that an HTMLElement for which tokens have\n * been set has been connected to the document.\n *\n * The browser does not provide a reliable mechanism to observe an HTMLElement's connectedness\n * in all scenarios, so invoking this method manually is necessary when:\n *\n * 1. Token values are set for an HTMLElement.\n * 2. The HTMLElement does not inherit from FASTElement.\n * 3. The HTMLElement is not connected to the document when token values are set.\n *\n * @param element - The element to notify\n * @returns - true if notification was successful, otherwise false.\n */\n notifyConnection(element) {\n if (!element.isConnected || !DesignTokenNode.existsFor(element)) {\n return false;\n }\n DesignTokenNode.getOrCreate(element).bind();\n return true;\n },\n /**\n * Informs DesignToken that an HTMLElement for which tokens have\n * been set has been disconnected to the document.\n *\n * The browser does not provide a reliable mechanism to observe an HTMLElement's connectedness\n * in all scenarios, so invoking this method manually is necessary when:\n *\n * 1. Token values are set for an HTMLElement.\n * 2. The HTMLElement does not inherit from FASTElement.\n *\n * @param element - The element to notify\n * @returns - true if notification was successful, otherwise false.\n */\n notifyDisconnection(element) {\n if (element.isConnected || !DesignTokenNode.existsFor(element)) {\n return false;\n }\n DesignTokenNode.getOrCreate(element).unbind();\n return true;\n },\n /**\n * Registers and element or document as a DesignToken root.\n * {@link CSSDesignToken | CSSDesignTokens} with default values assigned via\n * {@link (DesignToken:interface).withDefault} will emit CSS custom properties to all\n * registered roots.\n * @param target - The root to register\n */\n registerRoot(target = defaultElement) {\n RootStyleSheetTarget.registerRoot(target);\n },\n /**\n * Unregister an element or document as a DesignToken root.\n * @param target - The root to deregister\n */\n unregisterRoot(target = defaultElement) {\n RootStyleSheetTarget.unregisterRoot(target);\n },\n});\n/* eslint-enable @typescript-eslint/no-non-null-assertion */\n", + "import { FASTElementDefinition } from \"@microsoft/fast-element\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { DI, Registration } from \"../di/di.js\";\nimport { DesignToken } from \"../design-token/design-token.js\";\nimport { ComponentPresentation } from \"./component-presentation.js\";\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/**\n * Indicates what to do with an ambiguous (duplicate) element.\n * @public\n */\nexport const ElementDisambiguation = Object.freeze({\n /**\n * Skip defining the element but still call the provided callback passed\n * to DesignSystemRegistrationContext.tryDefineElement\n */\n definitionCallbackOnly: null,\n /**\n * Ignore the duplicate element entirely.\n */\n ignoreDuplicate: Symbol(),\n});\nconst elementTypesByTag = new Map();\nconst elementTagsByType = new Map();\nlet rootDesignSystem = null;\nconst designSystemKey = DI.createInterface(x => x.cachedCallback(handler => {\n if (rootDesignSystem === null) {\n rootDesignSystem = new DefaultDesignSystem(null, handler);\n }\n return rootDesignSystem;\n}));\n/**\n * An API gateway to design system features.\n * @public\n */\nexport const DesignSystem = Object.freeze({\n /**\n * Returns the HTML element name that the type is defined as.\n * @param type - The type to lookup.\n * @public\n */\n tagFor(type) {\n return elementTagsByType.get(type);\n },\n /**\n * Searches the DOM hierarchy for the design system that is responsible\n * for the provided element.\n * @param element - The element to locate the design system for.\n * @returns The located design system.\n * @public\n */\n responsibleFor(element) {\n const owned = element.$$designSystem$$;\n if (owned) {\n return owned;\n }\n const container = DI.findResponsibleContainer(element);\n return container.get(designSystemKey);\n },\n /**\n * Gets the DesignSystem if one is explicitly defined on the provided element;\n * otherwise creates a design system defined directly on the element.\n * @param element - The element to get or create a design system for.\n * @returns The design system.\n * @public\n */\n getOrCreate(node) {\n if (!node) {\n if (rootDesignSystem === null) {\n rootDesignSystem = DI.getOrCreateDOMContainer().get(designSystemKey);\n }\n return rootDesignSystem;\n }\n const owned = node.$$designSystem$$;\n if (owned) {\n return owned;\n }\n const container = DI.getOrCreateDOMContainer(node);\n if (container.has(designSystemKey, false)) {\n return container.get(designSystemKey);\n }\n else {\n const system = new DefaultDesignSystem(node, container);\n container.register(Registration.instance(designSystemKey, system));\n return system;\n }\n },\n});\nfunction extractTryDefineElementParams(params, elementDefinitionType, elementDefinitionCallback) {\n if (typeof params === \"string\") {\n return {\n name: params,\n type: elementDefinitionType,\n callback: elementDefinitionCallback,\n };\n }\n else {\n return params;\n }\n}\nclass DefaultDesignSystem {\n constructor(owner, container) {\n this.owner = owner;\n this.container = container;\n this.designTokensInitialized = false;\n this.prefix = \"fast\";\n this.shadowRootMode = undefined;\n this.disambiguate = () => ElementDisambiguation.definitionCallbackOnly;\n if (owner !== null) {\n owner.$$designSystem$$ = this;\n }\n }\n withPrefix(prefix) {\n this.prefix = prefix;\n return this;\n }\n withShadowRootMode(mode) {\n this.shadowRootMode = mode;\n return this;\n }\n withElementDisambiguation(callback) {\n this.disambiguate = callback;\n return this;\n }\n withDesignTokenRoot(root) {\n this.designTokenRoot = root;\n return this;\n }\n register(...registrations) {\n const container = this.container;\n const elementDefinitionEntries = [];\n const disambiguate = this.disambiguate;\n const shadowRootMode = this.shadowRootMode;\n const context = {\n elementPrefix: this.prefix,\n tryDefineElement(params, elementDefinitionType, elementDefinitionCallback) {\n const extractedParams = extractTryDefineElementParams(params, elementDefinitionType, elementDefinitionCallback);\n const { name, callback, baseClass } = extractedParams;\n let { type } = extractedParams;\n let elementName = name;\n let typeFoundByName = elementTypesByTag.get(elementName);\n let needsDefine = true;\n while (typeFoundByName) {\n const result = disambiguate(elementName, type, typeFoundByName);\n switch (result) {\n case ElementDisambiguation.ignoreDuplicate:\n return;\n case ElementDisambiguation.definitionCallbackOnly:\n needsDefine = false;\n typeFoundByName = void 0;\n break;\n default:\n elementName = result;\n typeFoundByName = elementTypesByTag.get(elementName);\n break;\n }\n }\n if (needsDefine) {\n if (elementTagsByType.has(type) || type === FoundationElement) {\n type = class extends type {\n };\n }\n elementTypesByTag.set(elementName, type);\n elementTagsByType.set(type, elementName);\n if (baseClass) {\n elementTagsByType.set(baseClass, elementName);\n }\n }\n elementDefinitionEntries.push(new ElementDefinitionEntry(container, elementName, type, shadowRootMode, callback, needsDefine));\n },\n };\n if (!this.designTokensInitialized) {\n this.designTokensInitialized = true;\n if (this.designTokenRoot !== null) {\n DesignToken.registerRoot(this.designTokenRoot);\n }\n }\n container.registerWithContext(context, ...registrations);\n for (const entry of elementDefinitionEntries) {\n entry.callback(entry);\n if (entry.willDefine && entry.definition !== null) {\n entry.definition.define();\n }\n }\n return this;\n }\n}\nclass ElementDefinitionEntry {\n constructor(container, name, type, shadowRootMode, callback, willDefine) {\n this.container = container;\n this.name = name;\n this.type = type;\n this.shadowRootMode = shadowRootMode;\n this.callback = callback;\n this.willDefine = willDefine;\n this.definition = null;\n }\n definePresentation(presentation) {\n ComponentPresentation.define(this.name, presentation, this.container);\n }\n defineElement(definition) {\n this.definition = new FASTElementDefinition(this.type, Object.assign(Object.assign({}, definition), { name: this.name }));\n }\n tagFor(type) {\n return DesignSystem.tagFor(type);\n }\n}\n/* eslint-enable @typescript-eslint/no-non-null-assertion */\n", + "import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Divider} component.\n * @public\n */\nexport const dividerTemplate = (context, definition) => html `\n <template role=\"${x => x.role}\" aria-orientation=\"${x => x.orientation}\"></template>\n`;\n", + "/**\n * Divider roles\n * @public\n */\nexport const DividerRole = {\n /**\n * The divider semantically separates content\n */\n separator: \"separator\",\n /**\n * The divider has no semantic value and is for visual presentation only.\n */\n presentation: \"presentation\",\n};\n", + "import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { Orientation } from \"@microsoft/fast-web-utilities\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nimport { DividerRole } from \"./divider.options.js\";\nexport { DividerRole };\n/**\n * A Divider Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#separator | ARIA separator } or {@link https://www.w3.org/TR/wai-aria-1.1/#presentation | ARIA presentation}.\n *\n * @public\n */\nexport class Divider extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * The role of the element.\n *\n * @public\n * @remarks\n * HTML Attribute: role\n */\n this.role = DividerRole.separator;\n /**\n * The orientation of the divider.\n *\n * @public\n * @remarks\n * HTML Attribute: orientation\n */\n this.orientation = Orientation.horizontal;\n }\n}\n__decorate([\n attr\n], Divider.prototype, \"role\", void 0);\n__decorate([\n attr\n], Divider.prototype, \"orientation\", void 0);\n", + "import { html, slotted } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(ListboxOption:class)} component.\n * @public\n */\nexport const listboxOptionTemplate = (context, definition) => html `\n <template\n aria-checked=\"${x => x.ariaChecked}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-posinset=\"${x => x.ariaPosInSet}\"\n aria-selected=\"${x => x.ariaSelected}\"\n aria-setsize=\"${x => x.ariaSetSize}\"\n class=\"${x => [x.checked && \"checked\", x.selected && \"selected\", x.disabled && \"disabled\"]\n .filter(Boolean)\n .join(\" \")}\"\n role=\"option\"\n >\n ${startSlotTemplate(context, definition)}\n <span class=\"content\" part=\"content\">\n <slot ${slotted(\"content\")}></slot>\n </span>\n ${endSlotTemplate(context, definition)}\n </template>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr, DOM, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { inRange, keyArrowDown, keyArrowUp, keyEnd, keyEscape, keyHome, keySpace, keyTab, } from \"@microsoft/fast-web-utilities\";\nimport { Listbox } from \"./listbox.js\";\n/**\n * A Listbox Custom HTML Element.\n * Implements the {@link https://w3c.github.io/aria/#listbox | ARIA listbox }.\n *\n * @public\n */\nexport class ListboxElement extends Listbox {\n constructor() {\n super(...arguments);\n /**\n * The index of the most recently checked option.\n *\n * @internal\n * @remarks\n * Multiple-selection mode only.\n */\n this.activeIndex = -1;\n /**\n * The start index when checking a range of options.\n *\n * @internal\n */\n this.rangeStartIndex = -1;\n }\n /**\n * Returns the last checked option.\n *\n * @internal\n */\n get activeOption() {\n return this.options[this.activeIndex];\n }\n /**\n * Returns the list of checked options.\n *\n * @internal\n */\n get checkedOptions() {\n var _a;\n return (_a = this.options) === null || _a === void 0 ? void 0 : _a.filter(o => o.checked);\n }\n /**\n * Returns the index of the first selected option.\n *\n * @internal\n */\n get firstSelectedOptionIndex() {\n return this.options.indexOf(this.firstSelectedOption);\n }\n /**\n * Updates the `ariaActiveDescendant` property when the active index changes.\n *\n * @param prev - the previous active index\n * @param next - the next active index\n *\n * @internal\n */\n activeIndexChanged(prev, next) {\n var _a, _b;\n this.ariaActiveDescendant = (_b = (_a = this.options[next]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : \"\";\n this.focusAndScrollOptionIntoView();\n }\n /**\n * Toggles the checked state for the currently active option.\n *\n * @remarks\n * Multiple-selection mode only.\n *\n * @internal\n */\n checkActiveIndex() {\n if (!this.multiple) {\n return;\n }\n const activeItem = this.activeOption;\n if (activeItem) {\n activeItem.checked = true;\n }\n }\n /**\n * Sets the active index to the first option and marks it as checked.\n *\n * @remarks\n * Multi-selection mode only.\n *\n * @param preserveChecked - mark all options unchecked before changing the active index\n *\n * @internal\n */\n checkFirstOption(preserveChecked = false) {\n if (preserveChecked) {\n if (this.rangeStartIndex === -1) {\n this.rangeStartIndex = this.activeIndex + 1;\n }\n this.options.forEach((o, i) => {\n o.checked = inRange(i, this.rangeStartIndex);\n });\n }\n else {\n this.uncheckAllOptions();\n }\n this.activeIndex = 0;\n this.checkActiveIndex();\n }\n /**\n * Decrements the active index and sets the matching option as checked.\n *\n * @remarks\n * Multi-selection mode only.\n *\n * @param preserveChecked - mark all options unchecked before changing the active index\n *\n * @internal\n */\n checkLastOption(preserveChecked = false) {\n if (preserveChecked) {\n if (this.rangeStartIndex === -1) {\n this.rangeStartIndex = this.activeIndex;\n }\n this.options.forEach((o, i) => {\n o.checked = inRange(i, this.rangeStartIndex, this.options.length);\n });\n }\n else {\n this.uncheckAllOptions();\n }\n this.activeIndex = this.options.length - 1;\n this.checkActiveIndex();\n }\n /**\n * @override\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"focusout\", this.focusoutHandler);\n }\n /**\n * @override\n * @internal\n */\n disconnectedCallback() {\n this.removeEventListener(\"focusout\", this.focusoutHandler);\n super.disconnectedCallback();\n }\n /**\n * Increments the active index and marks the matching option as checked.\n *\n * @remarks\n * Multiple-selection mode only.\n *\n * @param preserveChecked - mark all options unchecked before changing the active index\n *\n * @internal\n */\n checkNextOption(preserveChecked = false) {\n if (preserveChecked) {\n if (this.rangeStartIndex === -1) {\n this.rangeStartIndex = this.activeIndex;\n }\n this.options.forEach((o, i) => {\n o.checked = inRange(i, this.rangeStartIndex, this.activeIndex + 1);\n });\n }\n else {\n this.uncheckAllOptions();\n }\n this.activeIndex += this.activeIndex < this.options.length - 1 ? 1 : 0;\n this.checkActiveIndex();\n }\n /**\n * Decrements the active index and marks the matching option as checked.\n *\n * @remarks\n * Multiple-selection mode only.\n *\n * @param preserveChecked - mark all options unchecked before changing the active index\n *\n * @internal\n */\n checkPreviousOption(preserveChecked = false) {\n if (preserveChecked) {\n if (this.rangeStartIndex === -1) {\n this.rangeStartIndex = this.activeIndex;\n }\n if (this.checkedOptions.length === 1) {\n this.rangeStartIndex += 1;\n }\n this.options.forEach((o, i) => {\n o.checked = inRange(i, this.activeIndex, this.rangeStartIndex);\n });\n }\n else {\n this.uncheckAllOptions();\n }\n this.activeIndex -= this.activeIndex > 0 ? 1 : 0;\n this.checkActiveIndex();\n }\n /**\n * Handles click events for listbox options.\n *\n * @param e - the event object\n *\n * @override\n * @internal\n */\n clickHandler(e) {\n var _a;\n if (!this.multiple) {\n return super.clickHandler(e);\n }\n const captured = (_a = e.target) === null || _a === void 0 ? void 0 : _a.closest(`[role=option]`);\n if (!captured || captured.disabled) {\n return;\n }\n this.uncheckAllOptions();\n this.activeIndex = this.options.indexOf(captured);\n this.checkActiveIndex();\n this.toggleSelectedForAllCheckedOptions();\n return true;\n }\n /**\n * @override\n * @internal\n */\n focusAndScrollOptionIntoView() {\n super.focusAndScrollOptionIntoView(this.activeOption);\n }\n /**\n * In multiple-selection mode:\n * If any options are selected, the first selected option is checked when\n * the listbox receives focus. If no options are selected, the first\n * selectable option is checked.\n *\n * @override\n * @internal\n */\n focusinHandler(e) {\n if (!this.multiple) {\n return super.focusinHandler(e);\n }\n if (!this.shouldSkipFocus && e.target === e.currentTarget) {\n this.uncheckAllOptions();\n if (this.activeIndex === -1) {\n this.activeIndex =\n this.firstSelectedOptionIndex !== -1\n ? this.firstSelectedOptionIndex\n : 0;\n }\n this.checkActiveIndex();\n this.setSelectedOptions();\n this.focusAndScrollOptionIntoView();\n }\n this.shouldSkipFocus = false;\n }\n /**\n * Unchecks all options when the listbox loses focus.\n *\n * @internal\n */\n focusoutHandler(e) {\n if (this.multiple) {\n this.uncheckAllOptions();\n }\n }\n /**\n * Handles keydown actions for listbox navigation and typeahead\n *\n * @override\n * @internal\n */\n keydownHandler(e) {\n if (!this.multiple) {\n return super.keydownHandler(e);\n }\n if (this.disabled) {\n return true;\n }\n const { key, shiftKey } = e;\n this.shouldSkipFocus = false;\n switch (key) {\n // Select the first available option\n case keyHome: {\n this.checkFirstOption(shiftKey);\n return;\n }\n // Select the next selectable option\n case keyArrowDown: {\n this.checkNextOption(shiftKey);\n return;\n }\n // Select the previous selectable option\n case keyArrowUp: {\n this.checkPreviousOption(shiftKey);\n return;\n }\n // Select the last available option\n case keyEnd: {\n this.checkLastOption(shiftKey);\n return;\n }\n case keyTab: {\n this.focusAndScrollOptionIntoView();\n return true;\n }\n case keyEscape: {\n this.uncheckAllOptions();\n this.checkActiveIndex();\n return true;\n }\n case keySpace: {\n e.preventDefault();\n if (this.typeAheadExpired) {\n this.toggleSelectedForAllCheckedOptions();\n return;\n }\n }\n // Send key to Typeahead handler\n default: {\n if (key.length === 1) {\n this.handleTypeAhead(`${key}`);\n }\n return true;\n }\n }\n }\n /**\n * Prevents `focusin` events from firing before `click` events when the\n * element is unfocused.\n *\n * @override\n * @internal\n */\n mousedownHandler(e) {\n if (e.offsetX >= 0 && e.offsetX <= this.scrollWidth) {\n return super.mousedownHandler(e);\n }\n }\n /**\n * Switches between single-selection and multi-selection mode.\n *\n * @internal\n */\n multipleChanged(prev, next) {\n var _a;\n this.ariaMultiSelectable = next ? \"true\" : null;\n (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(o => {\n o.checked = next ? false : undefined;\n });\n this.setSelectedOptions();\n }\n /**\n * Sets an option as selected and gives it focus.\n *\n * @override\n * @public\n */\n setSelectedOptions() {\n if (!this.multiple) {\n super.setSelectedOptions();\n return;\n }\n if (this.$fastController.isConnected && this.options) {\n this.selectedOptions = this.options.filter(o => o.selected);\n this.focusAndScrollOptionIntoView();\n }\n }\n /**\n * Ensures the size is a positive integer when the property is updated.\n *\n * @param prev - the previous size value\n * @param next - the current size value\n *\n * @internal\n */\n sizeChanged(prev, next) {\n var _a;\n const size = Math.max(0, parseInt((_a = next === null || next === void 0 ? void 0 : next.toFixed()) !== null && _a !== void 0 ? _a : \"\", 10));\n if (size !== next) {\n DOM.queueUpdate(() => {\n this.size = size;\n });\n }\n }\n /**\n * Toggles the selected state of the provided options. If any provided items\n * are in an unselected state, all items are set to selected. If every\n * provided item is selected, they are all unselected.\n *\n * @internal\n */\n toggleSelectedForAllCheckedOptions() {\n const enabledCheckedOptions = this.checkedOptions.filter(o => !o.disabled);\n const force = !enabledCheckedOptions.every(o => o.selected);\n enabledCheckedOptions.forEach(o => (o.selected = force));\n this.selectedIndex = this.options.indexOf(enabledCheckedOptions[enabledCheckedOptions.length - 1]);\n this.setSelectedOptions();\n }\n /**\n * @override\n * @internal\n */\n typeaheadBufferChanged(prev, next) {\n if (!this.multiple) {\n super.typeaheadBufferChanged(prev, next);\n return;\n }\n if (this.$fastController.isConnected) {\n const typeaheadMatches = this.getTypeaheadMatches();\n const activeIndex = this.options.indexOf(typeaheadMatches[0]);\n if (activeIndex > -1) {\n this.activeIndex = activeIndex;\n this.uncheckAllOptions();\n this.checkActiveIndex();\n }\n this.typeAheadExpired = false;\n }\n }\n /**\n * Unchecks all options.\n *\n * @remarks\n * Multiple-selection mode only.\n *\n * @param preserveChecked - reset the rangeStartIndex\n *\n * @internal\n */\n uncheckAllOptions(preserveChecked = false) {\n this.options.forEach(o => (o.checked = this.multiple ? false : undefined));\n if (!preserveChecked) {\n this.rangeStartIndex = -1;\n }\n }\n}\n__decorate([\n observable\n], ListboxElement.prototype, \"activeIndex\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], ListboxElement.prototype, \"multiple\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], ListboxElement.prototype, \"size\", void 0);\n", + "import { FormAssociated } from \"../form-associated/form-associated.js\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nclass _TextField extends FoundationElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(TextField:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedTextField extends FormAssociated(_TextField) {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"input\");\n }\n}\n", + "/**\n * Text field sub-types\n * @public\n */\nexport const TextFieldType = {\n /**\n * An email TextField\n */\n email: \"email\",\n /**\n * A password TextField\n */\n password: \"password\",\n /**\n * A telephone TextField\n */\n tel: \"tel\",\n /**\n * A text TextField\n */\n text: \"text\",\n /**\n * A URL TextField\n */\n url: \"url\",\n};\n", + "import { __decorate } from \"tslib\";\nimport { attr, DOM, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { ARIAGlobalStatesAndProperties, StartEnd, } from \"../patterns/index.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\nimport { FormAssociatedTextField } from \"./text-field.form-associated.js\";\nimport { TextFieldType } from \"./text-field.options.js\";\nexport { TextFieldType };\n/**\n * A Text Field Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/text | <input type=\"text\" /> element }.\n *\n * @slot start - Content which can be provided before the number field input\n * @slot end - Content which can be provided after the number field input\n * @slot - The default slot for the label\n * @csspart label - The label\n * @csspart root - The element wrapping the control, including start and end slots\n * @csspart control - The text field element\n * @fires change - Fires a custom 'change' event when the value has changed\n *\n * @public\n */\nexport class TextField extends FormAssociatedTextField {\n constructor() {\n super(...arguments);\n /**\n * Allows setting a type or mode of text.\n * @public\n * @remarks\n * HTML Attribute: type\n */\n this.type = TextFieldType.text;\n }\n readOnlyChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.readOnly = this.readOnly;\n this.validate();\n }\n }\n autofocusChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.autofocus = this.autofocus;\n this.validate();\n }\n }\n placeholderChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.placeholder = this.placeholder;\n }\n }\n typeChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.type = this.type;\n this.validate();\n }\n }\n listChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.setAttribute(\"list\", this.list);\n this.validate();\n }\n }\n maxlengthChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.maxLength = this.maxlength;\n this.validate();\n }\n }\n minlengthChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.minLength = this.minlength;\n this.validate();\n }\n }\n patternChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.pattern = this.pattern;\n this.validate();\n }\n }\n sizeChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.size = this.size;\n }\n }\n spellcheckChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.spellcheck = this.spellcheck;\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.proxy.setAttribute(\"type\", this.type);\n this.validate();\n if (this.autofocus) {\n DOM.queueUpdate(() => {\n this.focus();\n });\n }\n }\n /**\n * Selects all the text in the text field\n *\n * @public\n */\n select() {\n this.control.select();\n /**\n * The select event does not permeate the shadow DOM boundary.\n * This fn effectively proxies the select event,\n * emitting a `select` event whenever the internal\n * control emits a `select` event\n */\n this.$emit(\"select\");\n }\n /**\n * Handles the internal control's `input` event\n * @internal\n */\n handleTextInput() {\n this.value = this.control.value;\n }\n /**\n * Change event handler for inner control.\n * @remarks\n * \"Change\" events are not `composable` so they will not\n * permeate the shadow DOM boundary. This fn effectively proxies\n * the change event, emitting a `change` event whenever the internal\n * control emits a `change` event\n * @internal\n */\n handleChange() {\n this.$emit(\"change\");\n }\n /** {@inheritDoc (FormAssociated:interface).validate} */\n validate() {\n super.validate(this.control);\n }\n}\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], TextField.prototype, \"readOnly\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TextField.prototype, \"autofocus\", void 0);\n__decorate([\n attr\n], TextField.prototype, \"placeholder\", void 0);\n__decorate([\n attr\n], TextField.prototype, \"type\", void 0);\n__decorate([\n attr\n], TextField.prototype, \"list\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], TextField.prototype, \"maxlength\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], TextField.prototype, \"minlength\", void 0);\n__decorate([\n attr\n], TextField.prototype, \"pattern\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], TextField.prototype, \"size\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TextField.prototype, \"spellcheck\", void 0);\n__decorate([\n observable\n], TextField.prototype, \"defaultSlottedNodes\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA textbox role\n *\n * @public\n */\nexport class DelegatesARIATextbox {\n}\napplyMixins(DelegatesARIATextbox, ARIAGlobalStatesAndProperties);\napplyMixins(TextField, StartEnd, DelegatesARIATextbox);\n", + "import { html, when } from \"@microsoft/fast-element\";\nconst progressSegments = 44;\n/**\n * The template for the {@link @microsoft/fast-foundation#BaseProgress} component.\n * @public\n */\nexport const progressRingTemplate = (context, definition) => html `\n <template\n role=\"progressbar\"\n aria-valuenow=\"${x => x.value}\"\n aria-valuemin=\"${x => x.min}\"\n aria-valuemax=\"${x => x.max}\"\n class=\"${x => (x.paused ? \"paused\" : \"\")}\"\n >\n ${when(x => typeof x.value === \"number\", html `\n <svg\n class=\"progress\"\n part=\"progress\"\n viewBox=\"0 0 16 16\"\n slot=\"determinate\"\n >\n <circle\n class=\"background\"\n part=\"background\"\n cx=\"8px\"\n cy=\"8px\"\n r=\"7px\"\n ></circle>\n <circle\n class=\"determinate\"\n part=\"determinate\"\n style=\"stroke-dasharray: ${x => (progressSegments * x.percentComplete) /\n 100}px ${progressSegments}px\"\n cx=\"8px\"\n cy=\"8px\"\n r=\"7px\"\n ></circle>\n </svg>\n `, html `\n <slot name=\"indeterminate\" slot=\"indeterminate\">\n ${definition.indeterminateIndicator || \"\"}\n </slot>\n `)}\n </template>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr, nullableNumberConverter, observable, } from \"@microsoft/fast-element\";\nimport { FoundationElement, } from \"../foundation-element/foundation-element.js\";\n/**\n * An Progress HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#progressbar | ARIA progressbar }.\n *\n * @slot indeterminate - The slot for a custom indeterminate indicator\n * @csspart progress - Represents the progress element\n * @csspart determinate - The determinate indicator\n * @csspart indeterminate - The indeterminate indicator\n *\n * @public\n */\nexport class BaseProgress extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * Indicates progress in %\n * @internal\n */\n this.percentComplete = 0;\n }\n valueChanged() {\n if (this.$fastController.isConnected) {\n this.updatePercentComplete();\n }\n }\n minChanged() {\n if (this.$fastController.isConnected) {\n this.updatePercentComplete();\n }\n }\n maxChanged() {\n if (this.$fastController.isConnected) {\n this.updatePercentComplete();\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.updatePercentComplete();\n }\n updatePercentComplete() {\n const min = typeof this.min === \"number\" ? this.min : 0;\n const max = typeof this.max === \"number\" ? this.max : 100;\n const value = typeof this.value === \"number\" ? this.value : 0;\n const range = max - min;\n this.percentComplete =\n range === 0 ? 0 : Math.fround(((value - min) / range) * 100);\n }\n}\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseProgress.prototype, \"value\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseProgress.prototype, \"min\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], BaseProgress.prototype, \"max\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], BaseProgress.prototype, \"paused\", void 0);\n__decorate([\n observable\n], BaseProgress.prototype, \"percentComplete\", void 0);\n", + "import { elements, html, slotted } from \"@microsoft/fast-element\";\nimport { Orientation } from \"@microsoft/fast-web-utilities\";\n/**\n * The template for the {@link @microsoft/fast-foundation#RadioGroup} component.\n * @public\n */\nexport const radioGroupTemplate = (context, definition) => html `\n <template\n role=\"radiogroup\"\n aria-disabled=\"${x => x.disabled}\"\n aria-readonly=\"${x => x.readOnly}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n @focusout=\"${(x, c) => x.focusOutHandler(c.event)}\"\n >\n <slot name=\"label\"></slot>\n <div\n class=\"positioning-region ${x => x.orientation === Orientation.horizontal ? \"horizontal\" : \"vertical\"}\"\n part=\"positioning-region\"\n >\n <slot\n ${slotted({\n property: \"slottedRadioButtons\",\n filter: elements(\"[role=radio]\"),\n})}\n ></slot>\n </div>\n </template>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { ArrowKeys, Direction, keyArrowDown, keyArrowLeft, keyArrowRight, keyArrowUp, keyEnter, Orientation, } from \"@microsoft/fast-web-utilities\";\nimport { getDirection } from \"../utilities/direction.js\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\n/**\n * An Radio Group Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#radiogroup | ARIA radiogroup }.\n *\n * @slot label - The slot for the label\n * @slot - The default slot for radio buttons\n * @csspart positioning-region - The positioning region for laying out the radios\n * @fires change - Fires a custom 'change' event when the value changes\n *\n * @public\n */\nexport class RadioGroup extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * The orientation of the group\n *\n * @public\n * @remarks\n * HTML Attribute: orientation\n */\n this.orientation = Orientation.horizontal;\n this.radioChangeHandler = (e) => {\n const changedRadio = e.target;\n if (changedRadio.checked) {\n this.slottedRadioButtons.forEach((radio) => {\n if (radio !== changedRadio) {\n radio.checked = false;\n if (!this.isInsideFoundationToolbar) {\n radio.setAttribute(\"tabindex\", \"-1\");\n }\n }\n });\n this.selectedRadio = changedRadio;\n this.value = changedRadio.value;\n changedRadio.setAttribute(\"tabindex\", \"0\");\n this.focusedRadio = changedRadio;\n }\n e.stopPropagation();\n };\n this.moveToRadioByIndex = (group, index) => {\n const radio = group[index];\n if (!this.isInsideToolbar) {\n radio.setAttribute(\"tabindex\", \"0\");\n if (radio.readOnly) {\n this.slottedRadioButtons.forEach((nextRadio) => {\n if (nextRadio !== radio) {\n nextRadio.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n else {\n radio.checked = true;\n this.selectedRadio = radio;\n }\n }\n this.focusedRadio = radio;\n radio.focus();\n };\n this.moveRightOffGroup = () => {\n var _a;\n (_a = this.nextElementSibling) === null || _a === void 0 ? void 0 : _a.focus();\n };\n this.moveLeftOffGroup = () => {\n var _a;\n (_a = this.previousElementSibling) === null || _a === void 0 ? void 0 : _a.focus();\n };\n /**\n * @internal\n */\n this.focusOutHandler = (e) => {\n const group = this.slottedRadioButtons;\n const radio = e.target;\n const index = radio !== null ? group.indexOf(radio) : 0;\n const focusedIndex = this.focusedRadio\n ? group.indexOf(this.focusedRadio)\n : -1;\n if ((focusedIndex === 0 && index === focusedIndex) ||\n (focusedIndex === group.length - 1 && focusedIndex === index)) {\n if (!this.selectedRadio) {\n this.focusedRadio = group[0];\n this.focusedRadio.setAttribute(\"tabindex\", \"0\");\n group.forEach((nextRadio) => {\n if (nextRadio !== this.focusedRadio) {\n nextRadio.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n else {\n this.focusedRadio = this.selectedRadio;\n if (!this.isInsideFoundationToolbar) {\n this.selectedRadio.setAttribute(\"tabindex\", \"0\");\n group.forEach((nextRadio) => {\n if (nextRadio !== this.selectedRadio) {\n nextRadio.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n }\n }\n return true;\n };\n /**\n * @internal\n */\n this.clickHandler = (e) => {\n const radio = e.target;\n if (radio) {\n const group = this.slottedRadioButtons;\n if (radio.checked || group.indexOf(radio) === 0) {\n radio.setAttribute(\"tabindex\", \"0\");\n this.selectedRadio = radio;\n }\n else {\n radio.setAttribute(\"tabindex\", \"-1\");\n this.selectedRadio = null;\n }\n this.focusedRadio = radio;\n }\n e.preventDefault();\n };\n this.shouldMoveOffGroupToTheRight = (index, group, key) => {\n return index === group.length && this.isInsideToolbar && key === keyArrowRight;\n };\n this.shouldMoveOffGroupToTheLeft = (group, key) => {\n const index = this.focusedRadio ? group.indexOf(this.focusedRadio) - 1 : 0;\n return index < 0 && this.isInsideToolbar && key === keyArrowLeft;\n };\n this.checkFocusedRadio = () => {\n if (this.focusedRadio !== null &&\n !this.focusedRadio.readOnly &&\n !this.focusedRadio.checked) {\n this.focusedRadio.checked = true;\n this.focusedRadio.setAttribute(\"tabindex\", \"0\");\n this.focusedRadio.focus();\n this.selectedRadio = this.focusedRadio;\n }\n };\n this.moveRight = (e) => {\n const group = this.slottedRadioButtons;\n let index = 0;\n index = this.focusedRadio ? group.indexOf(this.focusedRadio) + 1 : 1;\n if (this.shouldMoveOffGroupToTheRight(index, group, e.key)) {\n this.moveRightOffGroup();\n return;\n }\n else if (index === group.length) {\n index = 0;\n }\n /* looping to get to next radio that is not disabled */\n /* matching native radio/radiogroup which does not select an item if there is only 1 in the group */\n while (index < group.length && group.length > 1) {\n if (!group[index].disabled) {\n this.moveToRadioByIndex(group, index);\n break;\n }\n else if (this.focusedRadio && index === group.indexOf(this.focusedRadio)) {\n break;\n }\n else if (index + 1 >= group.length) {\n if (this.isInsideToolbar) {\n break;\n }\n else {\n index = 0;\n }\n }\n else {\n index += 1;\n }\n }\n };\n this.moveLeft = (e) => {\n const group = this.slottedRadioButtons;\n let index = 0;\n index = this.focusedRadio ? group.indexOf(this.focusedRadio) - 1 : 0;\n index = index < 0 ? group.length - 1 : index;\n if (this.shouldMoveOffGroupToTheLeft(group, e.key)) {\n this.moveLeftOffGroup();\n return;\n }\n /* looping to get to next radio that is not disabled */\n while (index >= 0 && group.length > 1) {\n if (!group[index].disabled) {\n this.moveToRadioByIndex(group, index);\n break;\n }\n else if (this.focusedRadio && index === group.indexOf(this.focusedRadio)) {\n break;\n }\n else if (index - 1 < 0) {\n index = group.length - 1;\n }\n else {\n index -= 1;\n }\n }\n };\n /**\n * keyboard handling per https://w3c.github.io/aria-practices/#for-radio-groups-not-contained-in-a-toolbar\n * navigation is different when there is an ancestor with role='toolbar'\n *\n * @internal\n */\n this.keydownHandler = (e) => {\n const key = e.key;\n if (key in ArrowKeys && this.isInsideFoundationToolbar) {\n return true;\n }\n switch (key) {\n case keyEnter: {\n this.checkFocusedRadio();\n break;\n }\n case keyArrowRight:\n case keyArrowDown: {\n if (this.direction === Direction.ltr) {\n this.moveRight(e);\n }\n else {\n this.moveLeft(e);\n }\n break;\n }\n case keyArrowLeft:\n case keyArrowUp: {\n if (this.direction === Direction.ltr) {\n this.moveLeft(e);\n }\n else {\n this.moveRight(e);\n }\n break;\n }\n default: {\n return true;\n }\n }\n };\n }\n readOnlyChanged() {\n if (this.slottedRadioButtons !== undefined) {\n this.slottedRadioButtons.forEach((radio) => {\n if (this.readOnly) {\n radio.readOnly = true;\n }\n else {\n radio.readOnly = false;\n }\n });\n }\n }\n disabledChanged() {\n if (this.slottedRadioButtons !== undefined) {\n this.slottedRadioButtons.forEach((radio) => {\n if (this.disabled) {\n radio.disabled = true;\n }\n else {\n radio.disabled = false;\n }\n });\n }\n }\n nameChanged() {\n if (this.slottedRadioButtons) {\n this.slottedRadioButtons.forEach((radio) => {\n radio.setAttribute(\"name\", this.name);\n });\n }\n }\n valueChanged() {\n if (this.slottedRadioButtons) {\n this.slottedRadioButtons.forEach((radio) => {\n if (radio.value === this.value) {\n radio.checked = true;\n this.selectedRadio = radio;\n }\n });\n }\n this.$emit(\"change\");\n }\n slottedRadioButtonsChanged(oldValue, newValue) {\n if (this.slottedRadioButtons && this.slottedRadioButtons.length > 0) {\n this.setupRadioButtons();\n }\n }\n get parentToolbar() {\n return this.closest('[role=\"toolbar\"]');\n }\n get isInsideToolbar() {\n var _a;\n return ((_a = this.parentToolbar) !== null && _a !== void 0 ? _a : false);\n }\n get isInsideFoundationToolbar() {\n var _a;\n return !!((_a = this.parentToolbar) === null || _a === void 0 ? void 0 : _a[\"$fastController\"]);\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.direction = getDirection(this);\n this.setupRadioButtons();\n }\n disconnectedCallback() {\n this.slottedRadioButtons.forEach((radio) => {\n radio.removeEventListener(\"change\", this.radioChangeHandler);\n });\n }\n setupRadioButtons() {\n const checkedRadios = this.slottedRadioButtons.filter((radio) => {\n return radio.hasAttribute(\"checked\");\n });\n const numberOfCheckedRadios = checkedRadios ? checkedRadios.length : 0;\n if (numberOfCheckedRadios > 1) {\n const lastCheckedRadio = checkedRadios[numberOfCheckedRadios - 1];\n lastCheckedRadio.checked = true;\n }\n let foundMatchingVal = false;\n this.slottedRadioButtons.forEach((radio) => {\n if (this.name !== undefined) {\n radio.setAttribute(\"name\", this.name);\n }\n if (this.disabled) {\n radio.disabled = true;\n }\n if (this.readOnly) {\n radio.readOnly = true;\n }\n if (this.value && this.value === radio.value) {\n this.selectedRadio = radio;\n this.focusedRadio = radio;\n radio.checked = true;\n radio.setAttribute(\"tabindex\", \"0\");\n foundMatchingVal = true;\n }\n else {\n if (!this.isInsideFoundationToolbar) {\n radio.setAttribute(\"tabindex\", \"-1\");\n }\n radio.checked = false;\n }\n radio.addEventListener(\"change\", this.radioChangeHandler);\n });\n if (this.value === undefined && this.slottedRadioButtons.length > 0) {\n const checkedRadios = this.slottedRadioButtons.filter((radio) => {\n return radio.hasAttribute(\"checked\");\n });\n const numberOfCheckedRadios = checkedRadios !== null ? checkedRadios.length : 0;\n if (numberOfCheckedRadios > 0 && !foundMatchingVal) {\n const lastCheckedRadio = checkedRadios[numberOfCheckedRadios - 1];\n lastCheckedRadio.checked = true;\n this.focusedRadio = lastCheckedRadio;\n lastCheckedRadio.setAttribute(\"tabindex\", \"0\");\n }\n else {\n this.slottedRadioButtons[0].setAttribute(\"tabindex\", \"0\");\n this.focusedRadio = this.slottedRadioButtons[0];\n }\n }\n }\n}\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], RadioGroup.prototype, \"readOnly\", void 0);\n__decorate([\n attr({ attribute: \"disabled\", mode: \"boolean\" })\n], RadioGroup.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], RadioGroup.prototype, \"name\", void 0);\n__decorate([\n attr\n], RadioGroup.prototype, \"value\", void 0);\n__decorate([\n attr\n], RadioGroup.prototype, \"orientation\", void 0);\n__decorate([\n observable\n], RadioGroup.prototype, \"childItems\", void 0);\n__decorate([\n observable\n], RadioGroup.prototype, \"slottedRadioButtons\", void 0);\n", + "import { html, slotted } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Radio:class)} component.\n * @public\n */\nexport const radioTemplate = (context, definition) => html `\n <template\n role=\"radio\"\n class=\"${x => (x.checked ? \"checked\" : \"\")} ${x => x.readOnly ? \"readonly\" : \"\"}\"\n aria-checked=\"${x => x.checked}\"\n aria-required=\"${x => x.required}\"\n aria-disabled=\"${x => x.disabled}\"\n aria-readonly=\"${x => x.readOnly}\"\n @keypress=\"${(x, c) => x.keypressHandler(c.event)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n >\n <div part=\"control\" class=\"control\">\n <slot name=\"checked-indicator\">\n ${definition.checkedIndicator || \"\"}\n </slot>\n </div>\n <label\n part=\"label\"\n class=\"${x => x.defaultSlottedNodes && x.defaultSlottedNodes.length\n ? \"label\"\n : \"label label__hidden\"}\"\n >\n <slot ${slotted(\"defaultSlottedNodes\")}></slot>\n </label>\n </template>\n`;\n", + "import { CheckableFormAssociated } from \"../form-associated/form-associated.js\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nclass _Radio extends FoundationElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(Radio:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedRadio extends CheckableFormAssociated(_Radio) {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"input\");\n }\n}\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { keySpace } from \"@microsoft/fast-web-utilities\";\nimport { FormAssociatedRadio } from \"./radio.form-associated.js\";\n/**\n * A Radio Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#radio | ARIA radio }.\n *\n * @slot checked-indicator - The checked indicator\n * @slot - The default slot for the label\n * @csspart control - The element representing the visual radio control\n * @csspart label - The label\n * @fires change - Emits a custom change event when the checked state changes\n *\n * @public\n */\nexport class Radio extends FormAssociatedRadio {\n constructor() {\n super();\n /**\n * The element's value to be included in form submission when checked.\n * Default to \"on\" to reach parity with input[type=\"radio\"]\n *\n * @internal\n */\n this.initialValue = \"on\";\n /**\n * @internal\n */\n this.keypressHandler = (e) => {\n switch (e.key) {\n case keySpace:\n if (!this.checked && !this.readOnly) {\n this.checked = true;\n }\n return;\n }\n return true;\n };\n this.proxy.setAttribute(\"type\", \"radio\");\n }\n readOnlyChanged() {\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.readOnly = this.readOnly;\n }\n }\n /**\n * @internal\n */\n defaultCheckedChanged() {\n var _a;\n if (this.$fastController.isConnected && !this.dirtyChecked) {\n // Setting this.checked will cause us to enter a dirty state,\n // but if we are clean when defaultChecked is changed, we want to stay\n // in a clean state, so reset this.dirtyChecked\n if (!this.isInsideRadioGroup()) {\n this.checked = (_a = this.defaultChecked) !== null && _a !== void 0 ? _a : false;\n this.dirtyChecked = false;\n }\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n var _a, _b;\n super.connectedCallback();\n this.validate();\n if (((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.getAttribute(\"role\")) !== \"radiogroup\" &&\n this.getAttribute(\"tabindex\") === null) {\n if (!this.disabled) {\n this.setAttribute(\"tabindex\", \"0\");\n }\n }\n if (this.checkedAttribute) {\n if (!this.dirtyChecked) {\n // Setting this.checked will cause us to enter a dirty state,\n // but if we are clean when defaultChecked is changed, we want to stay\n // in a clean state, so reset this.dirtyChecked\n if (!this.isInsideRadioGroup()) {\n this.checked = (_b = this.defaultChecked) !== null && _b !== void 0 ? _b : false;\n this.dirtyChecked = false;\n }\n }\n }\n }\n isInsideRadioGroup() {\n const parent = this.closest(\"[role=radiogroup]\");\n return parent !== null;\n }\n /**\n * @internal\n */\n clickHandler(e) {\n if (!this.disabled && !this.readOnly && !this.checked) {\n this.checked = true;\n }\n }\n}\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], Radio.prototype, \"readOnly\", void 0);\n__decorate([\n observable\n], Radio.prototype, \"name\", void 0);\n__decorate([\n observable\n], Radio.prototype, \"defaultSlottedNodes\", void 0);\n", + "/**\n * a method to filter out any whitespace _only_ nodes, to be used inside a template\n * @param value - The Node that is being inspected\n * @param index - The index of the node within the array\n * @param array - The Node array that is being filtered\n *\n * @public\n */\nexport function whitespaceFilter(value, index, array) {\n return value.nodeType !== Node.TEXT_NODE\n ? true\n : typeof value.nodeValue === \"string\" && !!value.nodeValue.trim().length;\n}\n", + "import { ListboxElement } from \"../listbox/listbox.element.js\";\nimport { FormAssociated } from \"../form-associated/form-associated.js\";\nclass _Select extends ListboxElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(Select:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedSelect extends FormAssociated(_Select) {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"select\");\n }\n}\n", + "import { __decorate } from \"tslib\";\nimport { attr, DOM, Observable, observable, volatile } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowUp, keyEnd, keyEnter, keyEscape, keyHome, keySpace, keyTab, uniqueId, } from \"@microsoft/fast-web-utilities\";\nimport { DelegatesARIAListbox, Listbox } from \"../listbox/listbox.js\";\nimport { StartEnd } from \"../patterns/start-end.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\nimport { FormAssociatedSelect } from \"./select.form-associated.js\";\nimport { SelectPosition } from \"./select.options.js\";\n/**\n * A Select Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#select | ARIA select }.\n *\n * @slot start - Content which can be provided before the button content\n * @slot end - Content which can be provided after the button content\n * @slot button-container - The element representing the select button\n * @slot selected-value - The selected value\n * @slot indicator - The visual indicator for the expand/collapse state of the button\n * @slot - The default slot for slotted options\n * @csspart control - The element representing the select invoking element\n * @csspart selected-value - The element wrapping the selected value\n * @csspart indicator - The element wrapping the visual indicator\n * @csspart listbox - The listbox element\n * @fires input - Fires a custom 'input' event when the value updates\n * @fires change - Fires a custom 'change' event when the value updates\n *\n * @public\n */\nexport class Select extends FormAssociatedSelect {\n constructor() {\n super(...arguments);\n /**\n * The open attribute.\n *\n * @public\n * @remarks\n * HTML Attribute: open\n */\n this.open = false;\n /**\n * Indicates the initial state of the position attribute.\n *\n * @internal\n */\n this.forcedPosition = false;\n /**\n * The unique id for the internal listbox element.\n *\n * @internal\n */\n this.listboxId = uniqueId(\"listbox-\");\n /**\n * The max height for the listbox when opened.\n *\n * @internal\n */\n this.maxHeight = 0;\n }\n /**\n * Sets focus and synchronizes ARIA attributes when the open property changes.\n *\n * @param prev - the previous open value\n * @param next - the current open value\n *\n * @internal\n */\n openChanged(prev, next) {\n if (!this.collapsible) {\n return;\n }\n if (this.open) {\n this.ariaControls = this.listboxId;\n this.ariaExpanded = \"true\";\n this.setPositioning();\n this.focusAndScrollOptionIntoView();\n this.indexWhenOpened = this.selectedIndex;\n // focus is directed to the element when `open` is changed programmatically\n DOM.queueUpdate(() => this.focus());\n return;\n }\n this.ariaControls = \"\";\n this.ariaExpanded = \"false\";\n }\n /**\n * The component is collapsible when in single-selection mode with no size attribute.\n *\n * @internal\n */\n get collapsible() {\n return !(this.multiple || typeof this.size === \"number\");\n }\n /**\n * The value property.\n *\n * @public\n */\n get value() {\n Observable.track(this, \"value\");\n return this._value;\n }\n set value(next) {\n var _a, _b, _c, _d, _e, _f, _g;\n const prev = `${this._value}`;\n if ((_a = this._options) === null || _a === void 0 ? void 0 : _a.length) {\n const selectedIndex = this._options.findIndex(el => el.value === next);\n const prevSelectedValue = (_c = (_b = this._options[this.selectedIndex]) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : null;\n const nextSelectedValue = (_e = (_d = this._options[selectedIndex]) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : null;\n if (selectedIndex === -1 || prevSelectedValue !== nextSelectedValue) {\n next = \"\";\n this.selectedIndex = selectedIndex;\n }\n next = (_g = (_f = this.firstSelectedOption) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : next;\n }\n if (prev !== next) {\n this._value = next;\n super.valueChanged(prev, next);\n Observable.notify(this, \"value\");\n this.updateDisplayValue();\n }\n }\n /**\n * Sets the value and display value to match the first selected option.\n *\n * @param shouldEmit - if true, the input and change events will be emitted\n *\n * @internal\n */\n updateValue(shouldEmit) {\n var _a, _b;\n if (this.$fastController.isConnected) {\n this.value = (_b = (_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : \"\";\n }\n if (shouldEmit) {\n this.$emit(\"input\");\n this.$emit(\"change\", this, {\n bubbles: true,\n composed: undefined,\n });\n }\n }\n /**\n * Updates the proxy value when the selected index changes.\n *\n * @param prev - the previous selected index\n * @param next - the next selected index\n *\n * @internal\n */\n selectedIndexChanged(prev, next) {\n super.selectedIndexChanged(prev, next);\n this.updateValue();\n }\n positionChanged(prev, next) {\n this.positionAttribute = next;\n this.setPositioning();\n }\n /**\n * Calculate and apply listbox positioning based on available viewport space.\n *\n * @public\n */\n setPositioning() {\n const currentBox = this.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const availableBottom = viewportHeight - currentBox.bottom;\n this.position = this.forcedPosition\n ? this.positionAttribute\n : currentBox.top > availableBottom\n ? SelectPosition.above\n : SelectPosition.below;\n this.positionAttribute = this.forcedPosition\n ? this.positionAttribute\n : this.position;\n this.maxHeight =\n this.position === SelectPosition.above ? ~~currentBox.top : ~~availableBottom;\n }\n /**\n * The value displayed on the button.\n *\n * @public\n */\n get displayValue() {\n var _a, _b;\n Observable.track(this, \"displayValue\");\n return (_b = (_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : \"\";\n }\n /**\n * Synchronize the `aria-disabled` property when the `disabled` property changes.\n *\n * @param prev - The previous disabled value\n * @param next - The next disabled value\n *\n * @internal\n */\n disabledChanged(prev, next) {\n if (super.disabledChanged) {\n super.disabledChanged(prev, next);\n }\n this.ariaDisabled = this.disabled ? \"true\" : \"false\";\n }\n /**\n * Reset the element to its first selectable option when its parent form is reset.\n *\n * @internal\n */\n formResetCallback() {\n this.setProxyOptions();\n // Call the base class's implementation setDefaultSelectedOption instead of the select's\n // override, in order to reset the selectedIndex without using the value property.\n super.setDefaultSelectedOption();\n if (this.selectedIndex === -1) {\n this.selectedIndex = 0;\n }\n }\n /**\n * Handle opening and closing the listbox when the select is clicked.\n *\n * @param e - the mouse event\n * @internal\n */\n clickHandler(e) {\n // do nothing if the select is disabled\n if (this.disabled) {\n return;\n }\n if (this.open) {\n const captured = e.target.closest(`option,[role=option]`);\n if (captured && captured.disabled) {\n return;\n }\n }\n super.clickHandler(e);\n this.open = this.collapsible && !this.open;\n if (!this.open && this.indexWhenOpened !== this.selectedIndex) {\n this.updateValue(true);\n }\n return true;\n }\n /**\n * Handles focus state when the element or its children lose focus.\n *\n * @param e - The focus event\n * @internal\n */\n focusoutHandler(e) {\n var _a;\n super.focusoutHandler(e);\n if (!this.open) {\n return true;\n }\n const focusTarget = e.relatedTarget;\n if (this.isSameNode(focusTarget)) {\n this.focus();\n return;\n }\n if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.includes(focusTarget))) {\n this.open = false;\n if (this.indexWhenOpened !== this.selectedIndex) {\n this.updateValue(true);\n }\n }\n }\n /**\n * Updates the value when an option's value changes.\n *\n * @param source - the source object\n * @param propertyName - the property to evaluate\n *\n * @internal\n * @override\n */\n handleChange(source, propertyName) {\n super.handleChange(source, propertyName);\n if (propertyName === \"value\") {\n this.updateValue();\n }\n }\n /**\n * Synchronize the form-associated proxy and updates the value property of the element.\n *\n * @param prev - the previous collection of slotted option elements\n * @param next - the next collection of slotted option elements\n *\n * @internal\n */\n slottedOptionsChanged(prev, next) {\n this.options.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.unsubscribe(this, \"value\");\n });\n super.slottedOptionsChanged(prev, next);\n this.options.forEach(o => {\n const notifier = Observable.getNotifier(o);\n notifier.subscribe(this, \"value\");\n });\n this.setProxyOptions();\n this.updateValue();\n }\n /**\n * Prevents focus when size is set and a scrollbar is clicked.\n *\n * @param e - the mouse event object\n *\n * @override\n * @internal\n */\n mousedownHandler(e) {\n var _a;\n if (e.offsetX >= 0 && e.offsetX <= ((_a = this.listbox) === null || _a === void 0 ? void 0 : _a.scrollWidth)) {\n return super.mousedownHandler(e);\n }\n return this.collapsible;\n }\n /**\n * Sets the multiple property on the proxy element.\n *\n * @param prev - the previous multiple value\n * @param next - the current multiple value\n */\n multipleChanged(prev, next) {\n super.multipleChanged(prev, next);\n if (this.proxy) {\n this.proxy.multiple = next;\n }\n }\n /**\n * Updates the selectedness of each option when the list of selected options changes.\n *\n * @param prev - the previous list of selected options\n * @param next - the current list of selected options\n *\n * @override\n * @internal\n */\n selectedOptionsChanged(prev, next) {\n var _a;\n super.selectedOptionsChanged(prev, next);\n (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach((o, i) => {\n var _a;\n const proxyOption = (_a = this.proxy) === null || _a === void 0 ? void 0 : _a.options.item(i);\n if (proxyOption) {\n proxyOption.selected = o.selected;\n }\n });\n }\n /**\n * Sets the selected index to match the first option with the selected attribute, or\n * the first selectable option.\n *\n * @override\n * @internal\n */\n setDefaultSelectedOption() {\n var _a;\n const options = (_a = this.options) !== null && _a !== void 0 ? _a : Array.from(this.children).filter(Listbox.slottedOptionFilter);\n const selectedIndex = options === null || options === void 0 ? void 0 : options.findIndex(el => el.hasAttribute(\"selected\") || el.selected || el.value === this.value);\n if (selectedIndex !== -1) {\n this.selectedIndex = selectedIndex;\n return;\n }\n this.selectedIndex = 0;\n }\n /**\n * Resets and fills the proxy to match the component's options.\n *\n * @internal\n */\n setProxyOptions() {\n if (this.proxy instanceof HTMLSelectElement && this.options) {\n this.proxy.options.length = 0;\n this.options.forEach(option => {\n const proxyOption = option.proxy ||\n (option instanceof HTMLOptionElement ? option.cloneNode() : null);\n if (proxyOption) {\n this.proxy.options.add(proxyOption);\n }\n });\n }\n }\n /**\n * Handle keyboard interaction for the select.\n *\n * @param e - the keyboard event\n * @internal\n */\n keydownHandler(e) {\n super.keydownHandler(e);\n const key = e.key || e.key.charCodeAt(0);\n switch (key) {\n case keySpace: {\n e.preventDefault();\n if (this.collapsible && this.typeAheadExpired) {\n this.open = !this.open;\n }\n break;\n }\n case keyHome:\n case keyEnd: {\n e.preventDefault();\n break;\n }\n case keyEnter: {\n e.preventDefault();\n this.open = !this.open;\n break;\n }\n case keyEscape: {\n if (this.collapsible && this.open) {\n e.preventDefault();\n this.open = false;\n }\n break;\n }\n case keyTab: {\n if (this.collapsible && this.open) {\n e.preventDefault();\n this.open = false;\n }\n return true;\n }\n }\n if (!this.open && this.indexWhenOpened !== this.selectedIndex) {\n this.updateValue(true);\n this.indexWhenOpened = this.selectedIndex;\n }\n return !(key === keyArrowDown || key === keyArrowUp);\n }\n connectedCallback() {\n super.connectedCallback();\n this.forcedPosition = !!this.positionAttribute;\n this.addEventListener(\"contentchange\", this.updateDisplayValue);\n }\n disconnectedCallback() {\n this.removeEventListener(\"contentchange\", this.updateDisplayValue);\n super.disconnectedCallback();\n }\n /**\n * Updates the proxy's size property when the size attribute changes.\n *\n * @param prev - the previous size\n * @param next - the current size\n *\n * @override\n * @internal\n */\n sizeChanged(prev, next) {\n super.sizeChanged(prev, next);\n if (this.proxy) {\n this.proxy.size = next;\n }\n }\n /**\n *\n * @internal\n */\n updateDisplayValue() {\n if (this.collapsible) {\n Observable.notify(this, \"displayValue\");\n }\n }\n}\n__decorate([\n attr({ attribute: \"open\", mode: \"boolean\" })\n], Select.prototype, \"open\", void 0);\n__decorate([\n volatile\n], Select.prototype, \"collapsible\", null);\n__decorate([\n observable\n], Select.prototype, \"control\", void 0);\n__decorate([\n attr({ attribute: \"position\" })\n], Select.prototype, \"positionAttribute\", void 0);\n__decorate([\n observable\n], Select.prototype, \"position\", void 0);\n__decorate([\n observable\n], Select.prototype, \"maxHeight\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA select role.\n *\n * @public\n */\nexport class DelegatesARIASelect {\n}\n__decorate([\n observable\n], DelegatesARIASelect.prototype, \"ariaControls\", void 0);\napplyMixins(DelegatesARIASelect, DelegatesARIAListbox);\napplyMixins(Select, StartEnd, DelegatesARIASelect);\n", + "import { html, ref, slotted, when } from \"@microsoft/fast-element\";\nimport { Listbox } from \"../listbox/listbox.js\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Select:class)} component.\n * @public\n */\nexport const selectTemplate = (context, definition) => html `\n <template\n class=\"${x => [\n x.collapsible && \"collapsible\",\n x.collapsible && x.open && \"open\",\n x.disabled && \"disabled\",\n x.collapsible && x.position,\n]\n .filter(Boolean)\n .join(\" \")}\"\n aria-activedescendant=\"${x => x.ariaActiveDescendant}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-haspopup=\"${x => (x.collapsible ? \"listbox\" : null)}\"\n aria-multiselectable=\"${x => x.ariaMultiSelectable}\"\n ?open=\"${x => x.open}\"\n role=\"combobox\"\n tabindex=\"${x => (!x.disabled ? \"0\" : null)}\"\n @click=\"${(x, c) => x.clickHandler(c.event)}\"\n @focusin=\"${(x, c) => x.focusinHandler(c.event)}\"\n @focusout=\"${(x, c) => x.focusoutHandler(c.event)}\"\n @keydown=\"${(x, c) => x.keydownHandler(c.event)}\"\n @mousedown=\"${(x, c) => x.mousedownHandler(c.event)}\"\n >\n ${when(x => x.collapsible, html `\n <div\n class=\"control\"\n part=\"control\"\n ?disabled=\"${x => x.disabled}\"\n ${ref(\"control\")}\n >\n ${startSlotTemplate(context, definition)}\n <slot name=\"button-container\">\n <div class=\"selected-value\" part=\"selected-value\">\n <slot name=\"selected-value\">${x => x.displayValue}</slot>\n </div>\n <div aria-hidden=\"true\" class=\"indicator\" part=\"indicator\">\n <slot name=\"indicator\">\n ${definition.indicator || \"\"}\n </slot>\n </div>\n </slot>\n ${endSlotTemplate(context, definition)}\n </div>\n `)}\n <div\n class=\"listbox\"\n id=\"${x => x.listboxId}\"\n part=\"listbox\"\n role=\"listbox\"\n ?disabled=\"${x => x.disabled}\"\n ?hidden=\"${x => (x.collapsible ? !x.open : false)}\"\n ${ref(\"listbox\")}\n >\n <slot\n ${slotted({\n filter: Listbox.slottedOptionFilter,\n flatten: true,\n property: \"slottedOptions\",\n})}\n ></slot>\n </div>\n </template>\n`;\n", + "import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#TabPanel} component.\n * @public\n */\nexport const tabPanelTemplate = (context, definition) => html `\n <template slot=\"tabpanel\" role=\"tabpanel\">\n <slot></slot>\n </template>\n`;\n", + "import { FoundationElement } from \"../foundation-element/foundation-element.js\";\n/**\n * A TabPanel Component to be used with {@link @microsoft/fast-foundation#(Tabs:class)}\n *\n * @slot - The default slot for the tabpanel content\n *\n * @public\n */\nexport class TabPanel extends FoundationElement {\n}\n", + "import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Tab} component.\n * @public\n */\nexport const tabTemplate = (context, definition) => html `\n <template slot=\"tab\" role=\"tab\" aria-disabled=\"${x => x.disabled}\">\n <slot></slot>\n </template>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\n/**\n * A Tab Component to be used with {@link @microsoft/fast-foundation#(Tabs:class)}\n *\n * @slot - The default slot for the tab content\n *\n * @public\n */\nexport class Tab extends FoundationElement {\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], Tab.prototype, \"disabled\", void 0);\n", + "import { html, ref, slotted, when } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Tabs:class)} component.\n * @public\n */\nexport const tabsTemplate = (context, definition) => html `\n <template class=\"${x => x.orientation}\">\n ${startSlotTemplate(context, definition)}\n <div class=\"tablist\" part=\"tablist\" role=\"tablist\">\n <slot class=\"tab\" name=\"tab\" part=\"tab\" ${slotted(\"tabs\")}></slot>\n\n ${when(x => x.showActiveIndicator, html `\n <div\n ${ref(\"activeIndicatorRef\")}\n class=\"activeIndicator\"\n part=\"activeIndicator\"\n ></div>\n `)}\n </div>\n ${endSlotTemplate(context, definition)}\n <div class=\"tabpanel\" part=\"tabpanel\">\n <slot name=\"tabpanel\" ${slotted(\"tabpanels\")}></slot>\n </div>\n </template>\n`;\n", + "import { __decorate } from \"tslib\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nimport { keyArrowDown, keyArrowLeft, keyArrowRight, keyArrowUp, keyEnd, keyHome, limit, uniqueId, } from \"@microsoft/fast-web-utilities\";\nimport { StartEnd } from \"../patterns/start-end.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\nimport { FoundationElement, } from \"../foundation-element/foundation-element.js\";\n/**\n * The orientation of the {@link @microsoft/fast-foundation#(Tabs:class)} component\n * @public\n */\nexport const TabsOrientation = {\n vertical: \"vertical\",\n horizontal: \"horizontal\",\n};\n/**\n * A Tabs Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#tablist | ARIA tablist }.\n *\n * @slot start - Content which can be provided before the tablist element\n * @slot end - Content which can be provided after the tablist element\n * @slot tab - The slot for tabs\n * @slot tabpanel - The slot for tabpanels\n * @csspart tablist - The element wrapping for the tabs\n * @csspart tab - The tab slot\n * @csspart activeIndicator - The visual indicator\n * @csspart tabpanel - The tabpanel slot\n * @fires change - Fires a custom 'change' event when a tab is clicked or during keyboard navigation\n *\n * @public\n */\nexport class Tabs extends FoundationElement {\n constructor() {\n super(...arguments);\n /**\n * The orientation\n * @public\n * @remarks\n * HTML Attribute: orientation\n */\n this.orientation = TabsOrientation.horizontal;\n /**\n * Whether or not to show the active indicator\n * @public\n * @remarks\n * HTML Attribute: activeindicator\n */\n this.activeindicator = true;\n /**\n * @internal\n */\n this.showActiveIndicator = true;\n this.prevActiveTabIndex = 0;\n this.activeTabIndex = 0;\n this.ticking = false;\n this.change = () => {\n this.$emit(\"change\", this.activetab);\n };\n this.isDisabledElement = (el) => {\n return el.getAttribute(\"aria-disabled\") === \"true\";\n };\n this.isHiddenElement = (el) => {\n return el.hasAttribute(\"hidden\");\n };\n this.isFocusableElement = (el) => {\n return !this.isDisabledElement(el) && !this.isHiddenElement(el);\n };\n this.setTabs = () => {\n const gridHorizontalProperty = \"gridColumn\";\n const gridVerticalProperty = \"gridRow\";\n const gridProperty = this.isHorizontal()\n ? gridHorizontalProperty\n : gridVerticalProperty;\n this.activeTabIndex = this.getActiveIndex();\n this.showActiveIndicator = false;\n this.tabs.forEach((tab, index) => {\n if (tab.slot === \"tab\") {\n const isActiveTab = this.activeTabIndex === index && this.isFocusableElement(tab);\n if (this.activeindicator && this.isFocusableElement(tab)) {\n this.showActiveIndicator = true;\n }\n const tabId = this.tabIds[index];\n const tabpanelId = this.tabpanelIds[index];\n tab.setAttribute(\"id\", tabId);\n tab.setAttribute(\"aria-selected\", isActiveTab ? \"true\" : \"false\");\n tab.setAttribute(\"aria-controls\", tabpanelId);\n tab.addEventListener(\"click\", this.handleTabClick);\n tab.addEventListener(\"keydown\", this.handleTabKeyDown);\n tab.setAttribute(\"tabindex\", isActiveTab ? \"0\" : \"-1\");\n if (isActiveTab) {\n this.activetab = tab;\n this.activeid = tabId;\n }\n }\n // If the original property isn't emptied out,\n // the next set will morph into a grid-area style setting that is not what we want\n tab.style[gridHorizontalProperty] = \"\";\n tab.style[gridVerticalProperty] = \"\";\n tab.style[gridProperty] = `${index + 1}`;\n !this.isHorizontal()\n ? tab.classList.add(\"vertical\")\n : tab.classList.remove(\"vertical\");\n });\n };\n this.setTabPanels = () => {\n this.tabpanels.forEach((tabpanel, index) => {\n const tabId = this.tabIds[index];\n const tabpanelId = this.tabpanelIds[index];\n tabpanel.setAttribute(\"id\", tabpanelId);\n tabpanel.setAttribute(\"aria-labelledby\", tabId);\n this.activeTabIndex !== index\n ? tabpanel.setAttribute(\"hidden\", \"\")\n : tabpanel.removeAttribute(\"hidden\");\n });\n };\n this.handleTabClick = (event) => {\n const selectedTab = event.currentTarget;\n if (selectedTab.nodeType === 1 && this.isFocusableElement(selectedTab)) {\n this.prevActiveTabIndex = this.activeTabIndex;\n this.activeTabIndex = this.tabs.indexOf(selectedTab);\n this.setComponent();\n }\n };\n this.handleTabKeyDown = (event) => {\n if (this.isHorizontal()) {\n switch (event.key) {\n case keyArrowLeft:\n event.preventDefault();\n this.adjustBackward(event);\n break;\n case keyArrowRight:\n event.preventDefault();\n this.adjustForward(event);\n break;\n }\n }\n else {\n switch (event.key) {\n case keyArrowUp:\n event.preventDefault();\n this.adjustBackward(event);\n break;\n case keyArrowDown:\n event.preventDefault();\n this.adjustForward(event);\n break;\n }\n }\n switch (event.key) {\n case keyHome:\n event.preventDefault();\n this.adjust(-this.activeTabIndex);\n break;\n case keyEnd:\n event.preventDefault();\n this.adjust(this.tabs.length - this.activeTabIndex - 1);\n break;\n }\n };\n this.adjustForward = (e) => {\n const group = this.tabs;\n let index = 0;\n index = this.activetab ? group.indexOf(this.activetab) + 1 : 1;\n if (index === group.length) {\n index = 0;\n }\n while (index < group.length && group.length > 1) {\n if (this.isFocusableElement(group[index])) {\n this.moveToTabByIndex(group, index);\n break;\n }\n else if (this.activetab && index === group.indexOf(this.activetab)) {\n break;\n }\n else if (index + 1 >= group.length) {\n index = 0;\n }\n else {\n index += 1;\n }\n }\n };\n this.adjustBackward = (e) => {\n const group = this.tabs;\n let index = 0;\n index = this.activetab ? group.indexOf(this.activetab) - 1 : 0;\n index = index < 0 ? group.length - 1 : index;\n while (index >= 0 && group.length > 1) {\n if (this.isFocusableElement(group[index])) {\n this.moveToTabByIndex(group, index);\n break;\n }\n else if (index - 1 < 0) {\n index = group.length - 1;\n }\n else {\n index -= 1;\n }\n }\n };\n this.moveToTabByIndex = (group, index) => {\n const tab = group[index];\n this.activetab = tab;\n this.prevActiveTabIndex = this.activeTabIndex;\n this.activeTabIndex = index;\n tab.focus();\n this.setComponent();\n };\n }\n /**\n * @internal\n */\n orientationChanged() {\n if (this.$fastController.isConnected) {\n this.setTabs();\n this.setTabPanels();\n this.handleActiveIndicatorPosition();\n }\n }\n /**\n * @internal\n */\n activeidChanged(oldValue, newValue) {\n if (this.$fastController.isConnected &&\n this.tabs.length <= this.tabpanels.length) {\n this.prevActiveTabIndex = this.tabs.findIndex((item) => item.id === oldValue);\n this.setTabs();\n this.setTabPanels();\n this.handleActiveIndicatorPosition();\n }\n }\n /**\n * @internal\n */\n tabsChanged() {\n if (this.$fastController.isConnected &&\n this.tabs.length <= this.tabpanels.length) {\n this.tabIds = this.getTabIds();\n this.tabpanelIds = this.getTabPanelIds();\n this.setTabs();\n this.setTabPanels();\n this.handleActiveIndicatorPosition();\n }\n }\n /**\n * @internal\n */\n tabpanelsChanged() {\n if (this.$fastController.isConnected &&\n this.tabpanels.length <= this.tabs.length) {\n this.tabIds = this.getTabIds();\n this.tabpanelIds = this.getTabPanelIds();\n this.setTabs();\n this.setTabPanels();\n this.handleActiveIndicatorPosition();\n }\n }\n getActiveIndex() {\n const id = this.activeid;\n if (id !== undefined) {\n return this.tabIds.indexOf(this.activeid) === -1\n ? 0\n : this.tabIds.indexOf(this.activeid);\n }\n else {\n return 0;\n }\n }\n getTabIds() {\n return this.tabs.map((tab) => {\n var _a;\n return (_a = tab.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `tab-${uniqueId()}`;\n });\n }\n getTabPanelIds() {\n return this.tabpanels.map((tabPanel) => {\n var _a;\n return (_a = tabPanel.getAttribute(\"id\")) !== null && _a !== void 0 ? _a : `panel-${uniqueId()}`;\n });\n }\n setComponent() {\n if (this.activeTabIndex !== this.prevActiveTabIndex) {\n this.activeid = this.tabIds[this.activeTabIndex];\n this.focusTab();\n this.change();\n }\n }\n isHorizontal() {\n return this.orientation === TabsOrientation.horizontal;\n }\n handleActiveIndicatorPosition() {\n // Ignore if we click twice on the same tab\n if (this.showActiveIndicator &&\n this.activeindicator &&\n this.activeTabIndex !== this.prevActiveTabIndex) {\n if (this.ticking) {\n this.ticking = false;\n }\n else {\n this.ticking = true;\n this.animateActiveIndicator();\n }\n }\n }\n animateActiveIndicator() {\n this.ticking = true;\n const gridProperty = this.isHorizontal() ? \"gridColumn\" : \"gridRow\";\n const translateProperty = this.isHorizontal()\n ? \"translateX\"\n : \"translateY\";\n const offsetProperty = this.isHorizontal() ? \"offsetLeft\" : \"offsetTop\";\n const prev = this.activeIndicatorRef[offsetProperty];\n this.activeIndicatorRef.style[gridProperty] = `${this.activeTabIndex + 1}`;\n const next = this.activeIndicatorRef[offsetProperty];\n this.activeIndicatorRef.style[gridProperty] = `${this.prevActiveTabIndex + 1}`;\n const dif = next - prev;\n this.activeIndicatorRef.style.transform = `${translateProperty}(${dif}px)`;\n this.activeIndicatorRef.classList.add(\"activeIndicatorTransition\");\n this.activeIndicatorRef.addEventListener(\"transitionend\", () => {\n this.ticking = false;\n this.activeIndicatorRef.style[gridProperty] = `${this.activeTabIndex + 1}`;\n this.activeIndicatorRef.style.transform = `${translateProperty}(0px)`;\n this.activeIndicatorRef.classList.remove(\"activeIndicatorTransition\");\n });\n }\n /**\n * The adjust method for FASTTabs\n * @public\n * @remarks\n * This method allows the active index to be adjusted by numerical increments\n */\n adjust(adjustment) {\n const focusableTabs = this.tabs.filter(t => this.isFocusableElement(t));\n const currentActiveTabIndex = focusableTabs.indexOf(this.activetab);\n const nextTabIndex = limit(0, focusableTabs.length - 1, currentActiveTabIndex + adjustment);\n // the index of the next focusable tab within the context of all available tabs\n const nextIndex = this.tabs.indexOf(focusableTabs[nextTabIndex]);\n if (nextIndex > -1) {\n this.moveToTabByIndex(this.tabs, nextIndex);\n }\n }\n focusTab() {\n this.tabs[this.activeTabIndex].focus();\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.tabIds = this.getTabIds();\n this.tabpanelIds = this.getTabPanelIds();\n this.activeTabIndex = this.getActiveIndex();\n }\n}\n__decorate([\n attr\n], Tabs.prototype, \"orientation\", void 0);\n__decorate([\n attr\n], Tabs.prototype, \"activeid\", void 0);\n__decorate([\n observable\n], Tabs.prototype, \"tabs\", void 0);\n__decorate([\n observable\n], Tabs.prototype, \"tabpanels\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], Tabs.prototype, \"activeindicator\", void 0);\n__decorate([\n observable\n], Tabs.prototype, \"activeIndicatorRef\", void 0);\n__decorate([\n observable\n], Tabs.prototype, \"showActiveIndicator\", void 0);\napplyMixins(Tabs, StartEnd);\n", + "import { FormAssociated } from \"../form-associated/form-associated.js\";\nimport { FoundationElement } from \"../foundation-element/foundation-element.js\";\nclass _TextArea extends FoundationElement {\n}\n/**\n * A form-associated base class for the {@link @microsoft/fast-foundation#(TextArea:class)} component.\n *\n * @internal\n */\nexport class FormAssociatedTextArea extends FormAssociated(_TextArea) {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"textarea\");\n }\n}\n", + "/**\n * Resize mode for a TextArea\n * @public\n */\nexport const TextAreaResize = {\n /**\n * No resize.\n */\n none: \"none\",\n /**\n * Resize vertically and horizontally.\n */\n both: \"both\",\n /**\n * Resize horizontally.\n */\n horizontal: \"horizontal\",\n /**\n * Resize vertically.\n */\n vertical: \"vertical\",\n};\n", + "import { __decorate } from \"tslib\";\nimport { attr, nullableNumberConverter, observable } from \"@microsoft/fast-element\";\nimport { DelegatesARIATextbox } from \"../text-field/text-field.js\";\nimport { applyMixins } from \"../utilities/apply-mixins.js\";\nimport { FormAssociatedTextArea } from \"./text-area.form-associated.js\";\nimport { TextAreaResize } from \"./text-area.options.js\";\nexport { TextAreaResize };\n/**\n * A Text Area Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea | <textarea> element }.\n *\n * @slot - The default slot for the label\n * @csspart label - The label\n * @csspart root - The element wrapping the control\n * @csspart control - The textarea element\n * @fires change - Emits a custom 'change' event when the textarea emits a change event\n *\n * @public\n */\nexport class TextArea extends FormAssociatedTextArea {\n constructor() {\n super(...arguments);\n /**\n * The resize mode of the element.\n * @public\n * @remarks\n * HTML Attribute: resize\n */\n this.resize = TextAreaResize.none;\n /**\n * Sizes the element horizontally by a number of character columns.\n *\n * @public\n * @remarks\n * HTML Attribute: cols\n */\n this.cols = 20;\n /**\n * @internal\n */\n this.handleTextInput = () => {\n this.value = this.control.value;\n };\n }\n readOnlyChanged() {\n if (this.proxy instanceof HTMLTextAreaElement) {\n this.proxy.readOnly = this.readOnly;\n }\n }\n autofocusChanged() {\n if (this.proxy instanceof HTMLTextAreaElement) {\n this.proxy.autofocus = this.autofocus;\n }\n }\n listChanged() {\n if (this.proxy instanceof HTMLTextAreaElement) {\n this.proxy.setAttribute(\"list\", this.list);\n }\n }\n maxlengthChanged() {\n if (this.proxy instanceof HTMLTextAreaElement) {\n this.proxy.maxLength = this.maxlength;\n }\n }\n minlengthChanged() {\n if (this.proxy instanceof HTMLTextAreaElement) {\n this.proxy.minLength = this.minlength;\n }\n }\n spellcheckChanged() {\n if (this.proxy instanceof HTMLTextAreaElement) {\n this.proxy.spellcheck = this.spellcheck;\n }\n }\n /**\n * Selects all the text in the text area\n *\n * @public\n */\n select() {\n this.control.select();\n /**\n * The select event does not permeate the shadow DOM boundary.\n * This fn effectively proxies the select event,\n * emitting a `select` event whenever the internal\n * control emits a `select` event\n */\n this.$emit(\"select\");\n }\n /**\n * Change event handler for inner control.\n * @remarks\n * \"Change\" events are not `composable` so they will not\n * permeate the shadow DOM boundary. This fn effectively proxies\n * the change event, emitting a `change` event whenever the internal\n * control emits a `change` event\n * @internal\n */\n handleChange() {\n this.$emit(\"change\");\n }\n /** {@inheritDoc (FormAssociated:interface).validate} */\n validate() {\n super.validate(this.control);\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], TextArea.prototype, \"readOnly\", void 0);\n__decorate([\n attr\n], TextArea.prototype, \"resize\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TextArea.prototype, \"autofocus\", void 0);\n__decorate([\n attr({ attribute: \"form\" })\n], TextArea.prototype, \"formId\", void 0);\n__decorate([\n attr\n], TextArea.prototype, \"list\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], TextArea.prototype, \"maxlength\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], TextArea.prototype, \"minlength\", void 0);\n__decorate([\n attr\n], TextArea.prototype, \"name\", void 0);\n__decorate([\n attr\n], TextArea.prototype, \"placeholder\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter, mode: \"fromView\" })\n], TextArea.prototype, \"cols\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter, mode: \"fromView\" })\n], TextArea.prototype, \"rows\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TextArea.prototype, \"spellcheck\", void 0);\n__decorate([\n observable\n], TextArea.prototype, \"defaultSlottedNodes\", void 0);\napplyMixins(TextArea, DelegatesARIATextbox);\n", + "import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { TextAreaResize } from \"./text-area.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(TextArea:class)} component.\n * @public\n */\nexport const textAreaTemplate = (context, definition) => html `\n <template\n class=\"\n ${x => (x.readOnly ? \"readonly\" : \"\")}\n ${x => (x.resize !== TextAreaResize.none ? `resize-${x.resize}` : \"\")}\"\n >\n <label\n part=\"label\"\n for=\"control\"\n class=\"${x => x.defaultSlottedNodes && x.defaultSlottedNodes.length\n ? \"label\"\n : \"label label__hidden\"}\"\n >\n <slot ${slotted(\"defaultSlottedNodes\")}></slot>\n </label>\n <textarea\n part=\"control\"\n class=\"control\"\n id=\"control\"\n ?autofocus=\"${x => x.autofocus}\"\n cols=\"${x => x.cols}\"\n ?disabled=\"${x => x.disabled}\"\n form=\"${x => x.form}\"\n list=\"${x => x.list}\"\n maxlength=\"${x => x.maxlength}\"\n minlength=\"${x => x.minlength}\"\n name=\"${x => x.name}\"\n placeholder=\"${x => x.placeholder}\"\n ?readonly=\"${x => x.readOnly}\"\n ?required=\"${x => x.required}\"\n rows=\"${x => x.rows}\"\n ?spellcheck=\"${x => x.spellcheck}\"\n :value=\"${x => x.value}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n @input=\"${(x, c) => x.handleTextInput()}\"\n @change=\"${x => x.handleChange()}\"\n ${ref(\"control\")}\n ></textarea>\n </template>\n`;\n", + "import { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { endSlotTemplate, startSlotTemplate } from \"../patterns/start-end.js\";\nimport { whitespaceFilter } from \"../utilities/whitespace-filter.js\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(TextField:class)} component.\n * @public\n */\nexport const textFieldTemplate = (context, definition) => html `\n <template\n class=\"\n ${x => (x.readOnly ? \"readonly\" : \"\")}\n \"\n >\n <label\n part=\"label\"\n for=\"control\"\n class=\"${x => x.defaultSlottedNodes && x.defaultSlottedNodes.length\n ? \"label\"\n : \"label label__hidden\"}\"\n >\n <slot\n ${slotted({ property: \"defaultSlottedNodes\", filter: whitespaceFilter })}\n ></slot>\n </label>\n <div class=\"root\" part=\"root\">\n ${startSlotTemplate(context, definition)}\n <input\n class=\"control\"\n part=\"control\"\n id=\"control\"\n @input=\"${x => x.handleTextInput()}\"\n @change=\"${x => x.handleChange()}\"\n ?autofocus=\"${x => x.autofocus}\"\n ?disabled=\"${x => x.disabled}\"\n list=\"${x => x.list}\"\n maxlength=\"${x => x.maxlength}\"\n minlength=\"${x => x.minlength}\"\n pattern=\"${x => x.pattern}\"\n placeholder=\"${x => x.placeholder}\"\n ?readonly=\"${x => x.readOnly}\"\n ?required=\"${x => x.required}\"\n size=\"${x => x.size}\"\n ?spellcheck=\"${x => x.spellcheck}\"\n :value=\"${x => x.value}\"\n type=\"${x => x.type}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedby=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n ${ref(\"control\")}\n />\n ${endSlotTemplate(context, definition)}\n </div>\n </template>\n`;\n", + "/**\n * The CSS value for disabled cursors.\n * @public\n */\nexport const disabledCursor = \"not-allowed\";\n", + "/**\n * A CSS fragment to set `display: none;` when the host is hidden using the [hidden] attribute.\n * @public\n */\nexport const hidden = `:host([hidden]){display:none}`;\n/**\n * Applies a CSS display property.\n * Also adds CSS rules to not display the element when the [hidden] attribute is applied to the element.\n * @param display - The CSS display property value\n * @public\n */\nexport function display(displayValue) {\n return `${hidden}:host{display:${displayValue}}`;\n}\n", + "import { canUseFocusVisible } from \"@microsoft/fast-web-utilities\";\n/**\n * The string representing the focus selector to be used. Value\n * will be \"focus-visible\" when https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo\n * is supported and \"focus\" when it is not.\n *\n * @public\n */\nexport const focusVisible = canUseFocusVisible() ? \"focus-visible\" : \"focus\";\n", + "import { FASTElementDefinition, Observable, } from \"@microsoft/fast-element\";\nimport { FoundationElementRegistry, } from \"@microsoft/fast-foundation\";\nconst reservedReactProperties = new Set([\n \"children\",\n \"localName\",\n \"ref\",\n \"style\",\n \"className\",\n]);\nconst emptyProps = Object.freeze(Object.create(null));\nconst DEFAULT_CACHE_NAME = \"_default\";\n// This will be a two levels cache Map<type, Map<name, ReactWrapper>>\n// to distinguish components of same type but different tag name.\n// Default name: '_default'\nconst wrappersCache = new Map();\n// There are 2 kinds of refs and there's no built in React API to set one.\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n }\n else {\n ref.current = value;\n }\n}\nfunction getTagName(type, config) {\n if (!config.name) {\n /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */\n const definition = FASTElementDefinition.forType(type);\n if (definition) {\n config.name = definition.name;\n }\n else {\n throw new Error(\"React wrappers must wrap a FASTElement or be configured with a name.\");\n }\n }\n return config.name;\n}\nfunction getElementEvents(config) {\n return config.events || (config.events = {});\n}\nfunction keyIsValid(type, config, name) {\n if (reservedReactProperties.has(name)) {\n console.warn(`${getTagName(type, config)} contains property ${name} which is a React ` +\n `reserved property. It will be used by React and not set on ` +\n `the element.`);\n return false;\n }\n return true;\n}\nfunction getElementKeys(type, config) {\n if (!config.keys) {\n if (config.properties) {\n config.keys = new Set(config.properties.concat(Object.keys(getElementEvents(config))));\n }\n else {\n const keys = new Set(Object.keys(getElementEvents(config)));\n const accessors = Observable.getAccessors(type.prototype);\n if (accessors.length > 0) {\n for (const a of accessors) {\n if (keyIsValid(type, config, a.name)) {\n keys.add(a.name);\n }\n }\n }\n else {\n for (const p in type.prototype) {\n if (!(p in HTMLElement.prototype) && keyIsValid(type, config, p)) {\n keys.add(p);\n }\n }\n }\n config.keys = keys;\n }\n }\n return config.keys;\n}\n/**\n * @param React - The React module, typically imported from the `react` npm\n * package\n * @param designSystem - A design system to register the components with.\n * @public\n */\nexport function provideReactWrapper(React, designSystem) {\n let registrations = [];\n const registry = {\n register(container, ...rest) {\n registrations.forEach(x => x.register(container, ...rest));\n registrations = [];\n },\n };\n function wrap(type, config = {}) {\n var _a, _b;\n if (type instanceof FoundationElementRegistry) {\n if (designSystem) {\n designSystem.register(type);\n }\n else {\n registrations.push(type);\n }\n type = type.type;\n }\n const cachedCandidates = wrappersCache.get(type);\n if (cachedCandidates) {\n const cachedWrapper = cachedCandidates.get((_a = config.name) !== null && _a !== void 0 ? _a : DEFAULT_CACHE_NAME);\n if (cachedWrapper) {\n return cachedWrapper;\n }\n }\n class ReactComponent extends React.Component {\n constructor() {\n super(...arguments);\n this._element = null;\n }\n _updateElement(oldProps) {\n const element = this._element;\n if (element === null) {\n return;\n }\n const currentProps = this.props;\n const previousProps = oldProps || emptyProps;\n const events = getElementEvents(config);\n for (const key in this._elementProps) {\n const newValue = currentProps[key];\n const event = events[key];\n if (event === undefined) {\n element[key] = newValue;\n }\n else {\n const oldValue = previousProps[key];\n if (newValue === oldValue) {\n continue;\n }\n if (oldValue !== undefined) {\n element.removeEventListener(event, oldValue);\n }\n if (newValue !== undefined) {\n element.addEventListener(event, newValue);\n }\n }\n }\n }\n componentDidMount() {\n this._updateElement();\n }\n componentDidUpdate(old) {\n this._updateElement(old);\n }\n render() {\n // Since refs only get fulfilled once, pass a new one if the user's\n // ref changed. This allows refs to be fulfilled as expected, going from\n // having a value to null.\n const userRef = this.props.__forwardedRef;\n if (this._ref === undefined || this._userRef !== userRef) {\n this._ref = (value) => {\n if (this._element === null) {\n this._element = value;\n }\n if (userRef !== null) {\n setRef(userRef, value);\n }\n this._userRef = userRef;\n };\n }\n // Filter class properties and pass the remaining attributes to React.\n // This allows attributes to use framework rules\n // for setting attributes and render correctly under SSR.\n const newReactProps = { ref: this._ref };\n const newElementProps = (this._elementProps = {});\n const elementKeys = getElementKeys(type, config);\n const currentProps = this.props;\n for (const k in currentProps) {\n const v = currentProps[k];\n if (elementKeys.has(k)) {\n newElementProps[k] = v;\n }\n else {\n // React does *not* handle `className` for custom elements so\n // coerce it to `class` so it's handled correctly.\n newReactProps[k === \"className\" ? \"class\" : k] = v;\n }\n }\n return React.createElement(getTagName(type, config), newReactProps);\n }\n }\n const reactComponent = React.forwardRef((props, ref) => React.createElement(ReactComponent, Object.assign(Object.assign({}, props), { __forwardedRef: ref }), props === null || props === void 0 ? void 0 : props.children));\n if (!wrappersCache.has(type)) {\n wrappersCache.set(type, new Map());\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n wrappersCache.get(type).set((_b = config.name) !== null && _b !== void 0 ? _b : DEFAULT_CACHE_NAME, reactComponent);\n return reactComponent;\n }\n return { wrap, registry };\n}\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { DesignSystem } from '@microsoft/fast-foundation';\n/**\n * Provides a design system for the specified element either by returning one that was\n * already created for that element or creating one.\n * @param element - The element to root the design system at. By default, this is the body.\n * @returns A VSCode Design System\n * @public\n */\nexport function provideVSCodeDesignSystem(element) {\n return DesignSystem.getOrCreate(element).withPrefix('vscode');\n}\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * Configures a MutationObserver to watch for Visual Studio Code theme changes and\n * applies the current Visual Studio Code theme to the toolkit components.\n */\nexport function initThemeChangeListener(tokenMappings) {\n window.addEventListener('load', () => {\n const observer = new MutationObserver(() => {\n applyCurrentTheme(tokenMappings);\n });\n observer.observe(document.body, {\n attributes: true,\n attributeFilter: ['class'],\n });\n applyCurrentTheme(tokenMappings);\n });\n}\n/**\n * Applies the current Visual Studio Code theme to the toolkit components.\n */\nfunction applyCurrentTheme(tokenMappings) {\n // Get all the styles applied to the <body> tag in the webview HTML\n // Importantly this includes all the CSS variables associated with the\n // current Visual Studio Code theme\n const styles = getComputedStyle(document.body);\n const body = document.querySelector('body');\n if (body) {\n const themeKind = body.getAttribute('data-vscode-theme-kind');\n for (const [vscodeTokenName, toolkitToken] of tokenMappings) {\n let value = styles.getPropertyValue(vscodeTokenName).toString();\n // Handle a couple of styling edge cases when a high contrast theme is applied\n if (themeKind === 'vscode-high-contrast') {\n // Developer note:\n //\n // There are a handful of VS Code theme tokens that have no value when a high\n // contrast theme is applied.\n //\n // This is an issue because when no value is set the toolkit tokens will fall\n // back to their default color values (aka the VS Code dark theme color palette).\n // This results in the backgrounds of a couple of components having default dark\n // theme colors––thus breaking the high contrast theme.\n //\n // The below code, catches these tokens which have no value and are also background\n // tokens, then overrides their value to be transparent.\n if (value.length === 0 &&\n toolkitToken.name.includes('background')) {\n value = 'transparent';\n }\n // Set icon button hover to be transparent in high contrast themes\n if (toolkitToken.name === 'button-icon-hover-background') {\n value = 'transparent';\n }\n }\n else if (themeKind === 'vscode-high-contrast-light') {\n if (value.length === 0 &&\n toolkitToken.name.includes('background')) {\n // Set button variant hover backgrounds to correct values based on VS Code core source:\n // https://github.com/microsoft/vscode/blob/fd0ee4f77e354de10ae591c9e97fe5ad41b398fc/src/vs/platform/theme/common/colorRegistry.ts#L270-L276\n switch (toolkitToken.name) {\n case 'button-primary-hover-background':\n value = '#0F4A85';\n break;\n case 'button-secondary-hover-background':\n value = 'transparent';\n break;\n case 'button-icon-hover-background':\n value = 'transparent';\n break;\n }\n }\n }\n else {\n // Set contrast-active-border token to be transparent in non-high-contrast themes\n if (toolkitToken.name === 'contrast-active-border') {\n value = 'transparent';\n }\n }\n toolkitToken.setValueFor(body, value);\n }\n }\n}\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { DesignToken } from '@microsoft/fast-foundation';\nimport { initThemeChangeListener } from '../theme/applyTheme.js';\n/**\n * A mapping of all the Visual Studio Code theme CSS variables mapped to the\n * toolkit design tokens.\n */\nexport const tokenMappings = new Map();\n/**\n * Boolean flag that ensures the VS Code theme listener is initialized once.\n */\nlet isThemeListenerInitialized = false;\n/**\n * Given a design token name, return a new FAST CSSDesignToken.\n *\n * @remarks A VS Code theme CSS variable can be optionally passed to be\n * associated with the design token.\n *\n * @remarks On the first execution the VS Code theme listener will also be\n * initialized.\n *\n * @param name A design token name.\n * @param vscodeThemeVar A VS Code theme CSS variable name to be associated with\n * the design token.\n * @returns A FAST CSSDesignToken that emits a CSS custom property.\n */\nexport function create(name, vscodeThemeVar) {\n const designToken = DesignToken.create(name);\n if (vscodeThemeVar) {\n // If the fake vscode token is passed in, attach a unique ID to it so that it can\n // be added to the tokenMappings map without overriding a previous fake token value\n if (vscodeThemeVar.includes('--fake-vscode-token')) {\n const uniqueId = 'id' + Math.random().toString(16).slice(2);\n vscodeThemeVar = `${vscodeThemeVar}-${uniqueId}`;\n }\n tokenMappings.set(vscodeThemeVar, designToken);\n }\n if (!isThemeListenerInitialized) {\n initThemeChangeListener(tokenMappings);\n isThemeListenerInitialized = true;\n }\n return designToken;\n}\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { create } from './utilities/design-tokens/create.js';\n/**\n * Developer note:\n *\n * There are some tokens defined in this file that make use of `--fake-vscode-token`. This is\n * done when a toolkit token should be added to the tokenMappings map (and subsequently altered\n * in the applyTheme function) but does not have a corresponding VS Code token that can be used.\n *\n * An example is buttonIconHoverBackground token which does not have a corresponding VS Code token\n * at this time (it's a hardcoded value in VS Code), but needs to be adjusted to be transparent when a\n * high contrast theme is applied.\n *\n * As a rule of thumb, if there are special cases where a token needs to be adjusted based on the\n * VS Code theme and does not have a corresponding VS Code token, `--fake-vscode-token` can be used\n * to indicate that it should be added to the tokenMappings map and thus make it accessible to the\n * applyTheme function where it can be dynamically adjusted.\n */\n/**\n * Global design tokens.\n */\nexport const background = create('background', '--vscode-editor-background').withDefault('#1e1e1e');\nexport const borderWidth = create('border-width').withDefault(1);\nexport const contrastActiveBorder = create('contrast-active-border', '--vscode-contrastActiveBorder').withDefault('#f38518');\nexport const contrastBorder = create('contrast-border', '--vscode-contrastBorder').withDefault('#6fc3df');\nexport const cornerRadius = create('corner-radius').withDefault(0);\nexport const cornerRadiusRound = create('corner-radius-round').withDefault(2);\nexport const designUnit = create('design-unit').withDefault(4);\nexport const disabledOpacity = create('disabled-opacity').withDefault(0.4);\nexport const focusBorder = create('focus-border', '--vscode-focusBorder').withDefault('#007fd4');\nexport const fontFamily = create('font-family', '--vscode-font-family').withDefault('-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol');\nexport const fontWeight = create('font-weight', '--vscode-font-weight').withDefault('400');\nexport const foreground = create('foreground', '--vscode-foreground').withDefault('#cccccc');\nexport const inputHeight = create('input-height').withDefault('26');\nexport const inputMinWidth = create('input-min-width').withDefault('100px');\nexport const typeRampBaseFontSize = create('type-ramp-base-font-size', '--vscode-font-size').withDefault('13px');\nexport const typeRampBaseLineHeight = create('type-ramp-base-line-height').withDefault('normal');\nexport const typeRampMinus1FontSize = create('type-ramp-minus1-font-size').withDefault('11px');\nexport const typeRampMinus1LineHeight = create('type-ramp-minus1-line-height').withDefault('16px');\nexport const typeRampMinus2FontSize = create('type-ramp-minus2-font-size').withDefault('9px');\nexport const typeRampMinus2LineHeight = create('type-ramp-minus2-line-height').withDefault('16px');\nexport const typeRampPlus1FontSize = create('type-ramp-plus1-font-size').withDefault('16px');\nexport const typeRampPlus1LineHeight = create('type-ramp-plus1-line-height').withDefault('24px');\nexport const scrollbarWidth = create('scrollbarWidth').withDefault('10px');\nexport const scrollbarHeight = create('scrollbarHeight').withDefault('10px');\nexport const scrollbarSliderBackground = create('scrollbar-slider-background', '--vscode-scrollbarSlider-background').withDefault('#79797966');\nexport const scrollbarSliderHoverBackground = create('scrollbar-slider-hover-background', '--vscode-scrollbarSlider-hoverBackground').withDefault('#646464b3');\nexport const scrollbarSliderActiveBackground = create('scrollbar-slider-active-background', '--vscode-scrollbarSlider-activeBackground').withDefault('#bfbfbf66');\n/**\n * Badge design tokens.\n */\nexport const badgeBackground = create('badge-background', '--vscode-badge-background').withDefault('#4d4d4d');\nexport const badgeForeground = create('badge-foreground', '--vscode-badge-foreground').withDefault('#ffffff');\n/**\n * Button design tokens.\n */\n// Note: Button border is used only for high contrast themes and should be left as transparent otherwise.\nexport const buttonBorder = create('button-border', '--vscode-button-border').withDefault('transparent');\nexport const buttonIconBackground = create('button-icon-background').withDefault('transparent');\nexport const buttonIconCornerRadius = create('button-icon-corner-radius').withDefault('5px');\nexport const buttonIconFocusBorderOffset = create('button-icon-outline-offset').withDefault(0);\n// Note usage of `--fake-vscode-token` (refer to doc comment at top of file for explanation).\nexport const buttonIconHoverBackground = create('button-icon-hover-background', '--fake-vscode-token').withDefault('rgba(90, 93, 94, 0.31)');\nexport const buttonIconPadding = create('button-icon-padding').withDefault('3px');\nexport const buttonPrimaryBackground = create('button-primary-background', '--vscode-button-background').withDefault('#0e639c');\nexport const buttonPrimaryForeground = create('button-primary-foreground', '--vscode-button-foreground').withDefault('#ffffff');\nexport const buttonPrimaryHoverBackground = create('button-primary-hover-background', '--vscode-button-hoverBackground').withDefault('#1177bb');\nexport const buttonSecondaryBackground = create('button-secondary-background', '--vscode-button-secondaryBackground').withDefault('#3a3d41');\nexport const buttonSecondaryForeground = create('button-secondary-foreground', '--vscode-button-secondaryForeground').withDefault('#ffffff');\nexport const buttonSecondaryHoverBackground = create('button-secondary-hover-background', '--vscode-button-secondaryHoverBackground').withDefault('#45494e');\nexport const buttonPaddingHorizontal = create('button-padding-horizontal').withDefault('11px');\nexport const buttonPaddingVertical = create('button-padding-vertical').withDefault('4px');\n/**\n * Checkbox design tokens.\n */\nexport const checkboxBackground = create('checkbox-background', '--vscode-checkbox-background').withDefault('#3c3c3c');\nexport const checkboxBorder = create('checkbox-border', '--vscode-checkbox-border').withDefault('#3c3c3c');\nexport const checkboxCornerRadius = create('checkbox-corner-radius').withDefault(3);\nexport const checkboxForeground = create('checkbox-foreground', '--vscode-checkbox-foreground').withDefault('#f0f0f0');\n/**\n * Data Grid design tokens\n */\nexport const listActiveSelectionBackground = create('list-active-selection-background', '--vscode-list-activeSelectionBackground').withDefault('#094771');\nexport const listActiveSelectionForeground = create('list-active-selection-foreground', '--vscode-list-activeSelectionForeground').withDefault('#ffffff');\nexport const listHoverBackground = create('list-hover-background', '--vscode-list-hoverBackground').withDefault('#2a2d2e');\n/**\n * Divider design tokens.\n */\nexport const dividerBackground = create('divider-background', '--vscode-settings-dropdownListBorder').withDefault('#454545');\n/**\n * Dropdown design tokens.\n */\nexport const dropdownBackground = create('dropdown-background', '--vscode-dropdown-background').withDefault('#3c3c3c');\nexport const dropdownBorder = create('dropdown-border', '--vscode-dropdown-border').withDefault('#3c3c3c');\nexport const dropdownForeground = create('dropdown-foreground', '--vscode-dropdown-foreground').withDefault('#f0f0f0');\nexport const dropdownListMaxHeight = create('dropdown-list-max-height').withDefault('200px');\n/**\n * Text Field & Area design tokens.\n */\nexport const inputBackground = create('input-background', '--vscode-input-background').withDefault('#3c3c3c');\nexport const inputForeground = create('input-foreground', '--vscode-input-foreground').withDefault('#cccccc');\nexport const inputPlaceholderForeground = create('input-placeholder-foreground', '--vscode-input-placeholderForeground').withDefault('#cccccc');\n/**\n * Link design tokens.\n */\nexport const linkActiveForeground = create('link-active-foreground', '--vscode-textLink-activeForeground').withDefault('#3794ff');\nexport const linkForeground = create('link-foreground', '--vscode-textLink-foreground').withDefault('#3794ff');\n/**\n * Progress ring design tokens.\n */\nexport const progressBackground = create('progress-background', '--vscode-progressBar-background').withDefault('#0e70c0');\n/**\n * Panels design tokens.\n */\nexport const panelTabActiveBorder = create('panel-tab-active-border', '--vscode-panelTitle-activeBorder').withDefault('#e7e7e7');\nexport const panelTabActiveForeground = create('panel-tab-active-foreground', '--vscode-panelTitle-activeForeground').withDefault('#e7e7e7');\nexport const panelTabForeground = create('panel-tab-foreground', '--vscode-panelTitle-inactiveForeground').withDefault('#e7e7e799');\nexport const panelViewBackground = create('panel-view-background', '--vscode-panel-background').withDefault('#1e1e1e');\nexport const panelViewBorder = create('panel-view-border', '--vscode-panel-border').withDefault('#80808059');\n/**\n * Tag design tokens.\n */\nexport const tagCornerRadius = create('tag-corner-radius').withDefault('2px');\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { badgeBackground, badgeForeground, borderWidth, buttonBorder, designUnit, fontFamily, typeRampMinus1FontSize, typeRampMinus1LineHeight, } from '../design-tokens.js';\nexport const badgeStyles = (context, definition) => css `\n\t${display('inline-block')} :host {\n\t\tbox-sizing: border-box;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampMinus1FontSize};\n\t\tline-height: ${typeRampMinus1LineHeight};\n\t\ttext-align: center;\n\t}\n\t.control {\n\t\talign-items: center;\n\t\tbackground-color: ${badgeBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid ${buttonBorder};\n\t\tborder-radius: 11px;\n\t\tbox-sizing: border-box;\n\t\tcolor: ${badgeForeground};\n\t\tdisplay: flex;\n\t\theight: calc(${designUnit} * 4px);\n\t\tjustify-content: center;\n\t\tmin-width: calc(${designUnit} * 4px + 2px);\n\t\tmin-height: calc(${designUnit} * 4px + 2px);\n\t\tpadding: 3px 6px;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Badge as FoundationBadge, badgeTemplate as template, } from '@microsoft/fast-foundation';\nimport { badgeStyles as styles } from './badge.styles.js';\n/**\n * The Visual Studio Code badge class.\n *\n * @public\n */\nexport class Badge extends FoundationBadge {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // This will override any usage of the circular attribute\n // inherited by the FAST Foundation Badge component so\n // that VSCode Badges are always circular\n if (!this.circular) {\n this.circular = true;\n }\n }\n}\n/**\n * The Visual Studio Code badge component registration.\n *\n * @remarks\n * HTML Element: `<vscode-badge>`\n *\n * @public\n */\nexport const vsCodeBadge = Badge.compose({\n baseName: 'badge',\n template,\n styles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, buttonBorder, buttonIconBackground, buttonIconCornerRadius, buttonIconFocusBorderOffset, buttonIconHoverBackground, buttonIconPadding, buttonPaddingHorizontal, buttonPaddingVertical, buttonPrimaryBackground, buttonPrimaryForeground, buttonPrimaryHoverBackground, buttonSecondaryBackground, buttonSecondaryForeground, buttonSecondaryHoverBackground, contrastActiveBorder, cornerRadiusRound, designUnit, disabledOpacity, focusBorder, fontFamily, foreground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\n/**\n * Developer note:\n *\n * The prettier-ignore command is used on this block of code because when removed the\n * '.control:${focusVisible}' CSS selector will be automatically reformatted to\n * '.control: ${focusVisible}' (note the space between the colon and dollar sign).\n *\n * This results in non-valid CSS that will not render a focus outline on base buttons.\n *\n * Additionally, this prettier command must be declared on the entire code block and not\n * directly above the CSS selector line because the below code block is a template literal\n * string which will end up being used directly in the final component CSS.\n *\n * Thus having '// prettier-ignore' directly in the final CSS will also break the component\n * styling.\n *\n * @internal\n */\n// prettier-ignore\nconst BaseButtonStyles = css `\n\t${display('inline-flex')} :host {\n\t\toutline: none;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tcolor: ${buttonPrimaryForeground};\n\t\tbackground: ${buttonPrimaryBackground};\n\t\tborder-radius: calc(${cornerRadiusRound} * 1px);\n\t\tfill: currentColor;\n\t\tcursor: pointer;\n\t}\n\t.control {\n\t\tbackground: transparent;\n\t\theight: inherit;\n\t\tflex-grow: 1;\n\t\tbox-sizing: border-box;\n\t\tdisplay: inline-flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tpadding: ${buttonPaddingVertical} ${buttonPaddingHorizontal};\n\t\twhite-space: wrap;\n\t\toutline: none;\n\t\ttext-decoration: none;\n\t\tborder: calc(${borderWidth} * 1px) solid ${buttonBorder};\n\t\tcolor: inherit;\n\t\tborder-radius: inherit;\n\t\tfill: inherit;\n\t\tcursor: inherit;\n\t\tfont-family: inherit;\n\t}\n\t:host(:hover) {\n\t\tbackground: ${buttonPrimaryHoverBackground};\n\t}\n\t:host(:active) {\n\t\tbackground: ${buttonPrimaryBackground};\n\t}\n\t.control:${focusVisible} {\n\t\toutline: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t\toutline-offset: calc(${borderWidth} * 2px);\n\t}\n\t.control::-moz-focus-inner {\n\t\tborder: 0;\n\t}\n\t:host([disabled]) {\n\t\topacity: ${disabledOpacity};\n\t\tbackground: ${buttonPrimaryBackground};\n\t\tcursor: ${disabledCursor};\n\t}\n\t.content {\n\t\tdisplay: flex;\n\t}\n\t.start {\n\t\tdisplay: flex;\n\t}\n\t::slotted(svg),\n\t::slotted(span) {\n\t\twidth: calc(${designUnit} * 4px);\n\t\theight: calc(${designUnit} * 4px);\n\t}\n\t.start {\n\t\tmargin-inline-end: 8px;\n\t}\n`;\n/**\n * @internal\n */\nconst PrimaryButtonStyles = css `\n\t:host([appearance='primary']) {\n\t\tbackground: ${buttonPrimaryBackground};\n\t\tcolor: ${buttonPrimaryForeground};\n\t}\n\t:host([appearance='primary']:hover) {\n\t\tbackground: ${buttonPrimaryHoverBackground};\n\t}\n\t:host([appearance='primary']:active) .control:active {\n\t\tbackground: ${buttonPrimaryBackground};\n\t}\n\t:host([appearance='primary']) .control:${focusVisible} {\n\t\toutline: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t\toutline-offset: calc(${borderWidth} * 2px);\n\t}\n\t:host([appearance='primary'][disabled]) {\n\t\tbackground: ${buttonPrimaryBackground};\n\t}\n`;\n/**\n * @internal\n */\nconst SecondaryButtonStyles = css `\n\t:host([appearance='secondary']) {\n\t\tbackground: ${buttonSecondaryBackground};\n\t\tcolor: ${buttonSecondaryForeground};\n\t}\n\t:host([appearance='secondary']:hover) {\n\t\tbackground: ${buttonSecondaryHoverBackground};\n\t}\n\t:host([appearance='secondary']:active) .control:active {\n\t\tbackground: ${buttonSecondaryBackground};\n\t}\n\t:host([appearance='secondary']) .control:${focusVisible} {\n\t\toutline: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t\toutline-offset: calc(${borderWidth} * 2px);\n\t}\n\t:host([appearance='secondary'][disabled]) {\n\t\tbackground: ${buttonSecondaryBackground};\n\t}\n`;\n/**\n * @internal\n */\nconst IconButtonStyles = css `\n\t:host([appearance='icon']) {\n\t\tbackground: ${buttonIconBackground};\n\t\tborder-radius: ${buttonIconCornerRadius};\n\t\tcolor: ${foreground};\n\t}\n\t:host([appearance='icon']:hover) {\n\t\tbackground: ${buttonIconHoverBackground};\n\t\toutline: 1px dotted ${contrastActiveBorder};\n\t\toutline-offset: -1px;\n\t}\n\t:host([appearance='icon']) .control {\n\t\tpadding: ${buttonIconPadding};\n\t\tborder: none;\n\t}\n\t:host([appearance='icon']:active) .control:active {\n\t\tbackground: ${buttonIconHoverBackground};\n\t}\n\t:host([appearance='icon']) .control:${focusVisible} {\n\t\toutline: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t\toutline-offset: ${buttonIconFocusBorderOffset};\n\t}\n\t:host([appearance='icon'][disabled]) {\n\t\tbackground: ${buttonIconBackground};\n\t}\n`;\nexport const buttonStyles = (context, definition) => css `\n\t${BaseButtonStyles}\n\t${PrimaryButtonStyles}\n\t${SecondaryButtonStyles}\n\t${IconButtonStyles}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { __decorate } from \"tslib\";\nimport { attr } from '@microsoft/fast-element';\nimport { Button as FoundationButton, buttonTemplate as template, } from '@microsoft/fast-foundation';\nimport { buttonStyles as styles } from './button.styles.js';\n/**\n * The Visual Studio Code button class.\n *\n * @public\n */\nexport class Button extends FoundationButton {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // If the appearance property has not been set, set it to the\n // value of the appearance attribute.\n if (!this.appearance) {\n const appearanceValue = this.getAttribute('appearance');\n this.appearance = appearanceValue;\n }\n }\n /**\n * Component lifecycle method that runs when an attribute of the\n * element is changed.\n *\n * @param attrName - The attribute that was changed\n * @param oldVal - The old value of the attribute\n * @param newVal - The new value of the attribute\n *\n * @internal\n */\n attributeChangedCallback(attrName, oldVal, newVal) {\n // In the case when an icon only button is created add a default ARIA\n // label to the button since there is no longer button text to use\n // as the label\n if (attrName === 'appearance' && newVal === 'icon') {\n // Only set the ARIA label to the default text if an aria-label attribute\n // does not exist on the button\n const ariaLabelValue = this.getAttribute('aria-label');\n if (!ariaLabelValue) {\n this.ariaLabel = 'Icon Button';\n }\n }\n // In the case when the aria-label attribute has been defined on the\n // <vscode-button>, this will programmatically propogate the value to\n // the <button> HTML element that lives in the Shadow DOM\n if (attrName === 'aria-label') {\n this.ariaLabel = newVal;\n }\n if (attrName === 'disabled') {\n this.disabled = newVal !== null;\n }\n }\n}\n__decorate([\n attr\n], Button.prototype, \"appearance\", void 0);\n/**\n * The Visual Studio Code button component registration.\n *\n * @remarks\n * HTML Element: `<vscode-button>`\n *\n * @public\n */\nexport const vsCodeButton = Button.compose({\n baseName: 'button',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, checkboxBackground, checkboxBorder, checkboxCornerRadius, designUnit, disabledOpacity, focusBorder, fontFamily, foreground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const checkboxStyles = (context, defintiion) => css `\n\t${display('inline-flex')} :host {\n\t\talign-items: center;\n\t\toutline: none;\n\t\tmargin: calc(${designUnit} * 1px) 0;\n\t\tuser-select: none;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t}\n\t.control {\n\t\tposition: relative;\n\t\twidth: calc(${designUnit} * 4px + 2px);\n\t\theight: calc(${designUnit} * 4px + 2px);\n\t\tbox-sizing: border-box;\n\t\tborder-radius: calc(${checkboxCornerRadius} * 1px);\n\t\tborder: calc(${borderWidth} * 1px) solid ${checkboxBorder};\n\t\tbackground: ${checkboxBackground};\n\t\toutline: none;\n\t\tcursor: pointer;\n\t}\n\t.label {\n\t\tfont-family: ${fontFamily};\n\t\tcolor: ${foreground};\n\t\tpadding-inline-start: calc(${designUnit} * 2px + 2px);\n\t\tmargin-inline-end: calc(${designUnit} * 2px + 2px);\n\t\tcursor: pointer;\n\t}\n\t.label__hidden {\n\t\tdisplay: none;\n\t\tvisibility: hidden;\n\t}\n\t.checked-indicator {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tdisplay: block;\n\t\tfill: ${foreground};\n\t\topacity: 0;\n\t\tpointer-events: none;\n\t}\n\t.indeterminate-indicator {\n\t\tborder-radius: 2px;\n\t\tbackground: ${foreground};\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\twidth: 50%;\n\t\theight: 50%;\n\t\ttransform: translate(-50%, -50%);\n\t\topacity: 0;\n\t}\n\t:host(:enabled) .control:hover {\n\t\tbackground: ${checkboxBackground};\n\t\tborder-color: ${checkboxBorder};\n\t}\n\t:host(:enabled) .control:active {\n\t\tbackground: ${checkboxBackground};\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host(:${focusVisible}) .control {\n\t\tborder: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t}\n\t:host(.disabled) .label,\n\t:host(.readonly) .label,\n\t:host(.readonly) .control,\n\t:host(.disabled) .control {\n\t\tcursor: ${disabledCursor};\n\t}\n\t:host(.checked:not(.indeterminate)) .checked-indicator,\n\t:host(.indeterminate) .indeterminate-indicator {\n\t\topacity: 1;\n\t}\n\t:host(.disabled) {\n\t\topacity: ${disabledOpacity};\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Checkbox as FoundationCheckbox, checkboxTemplate as template, } from '@microsoft/fast-foundation';\nimport { checkboxStyles as styles } from './checkbox.styles.js';\n/**\n * The Visual Studio Code checkbox class.\n *\n * @public\n */\nexport class Checkbox extends FoundationCheckbox {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.textContent) {\n this.setAttribute('aria-label', this.textContent);\n }\n else {\n // Fallback to the label if there is no text content\n this.setAttribute('aria-label', 'Checkbox');\n }\n }\n}\n/**\n * The Visual Studio Code checkbox component registration.\n *\n * @remarks\n * HTML Element: `<vscode-checkbox>`\n *\n * @public\n */\nexport const vsCodeCheckbox = Checkbox.compose({\n baseName: 'checkbox',\n template,\n styles,\n checkedIndicator: `\n\t\t<svg \n\t\t\tpart=\"checked-indicator\"\n\t\t\tclass=\"checked-indicator\"\n\t\t\twidth=\"16\" \n\t\t\theight=\"16\" \n\t\t\tviewBox=\"0 0 16 16\" \n\t\t\txmlns=\"http://www.w3.org/2000/svg\" \n\t\t\tfill=\"currentColor\"\n\t\t>\n\t\t\t<path \n\t\t\t\tfill-rule=\"evenodd\" \n\t\t\t\tclip-rule=\"evenodd\" \n\t\t\t\td=\"M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z\"\n\t\t\t/>\n\t\t</svg>\n\t`,\n indeterminateIndicator: `\n\t\t<div part=\"indeterminate-indicator\" class=\"indeterminate-indicator\"></div>\n\t`,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nexport const dataGridStyles = (context, definition) => css `\n\t:host {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { background, contrastActiveBorder, designUnit, listHoverBackground, } from '../design-tokens.js';\nexport const dataGridRowStyles = (context, definition) => css `\n\t:host {\n\t\tdisplay: grid;\n\t\tpadding: calc((${designUnit} / 4) * 1px) 0;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tbackground: transparent;\n\t}\n\t:host(.header) {\n\t}\n\t:host(.sticky-header) {\n\t\tbackground: ${background};\n\t\tposition: sticky;\n\t\ttop: 0;\n\t}\n\t:host(:hover) {\n\t\tbackground: ${listHoverBackground};\n\t\toutline: 1px dotted ${contrastActiveBorder};\n\t\toutline-offset: -1px;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadius, designUnit, focusBorder, fontFamily, foreground, listActiveSelectionBackground, listActiveSelectionForeground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const dataGridCellStyles = (context, definition) => css `\n\t:host {\n\t\tpadding: calc(${designUnit} * 1px) calc(${designUnit} * 3px);\n\t\tcolor: ${foreground};\n\t\topacity: 1;\n\t\tbox-sizing: border-box;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tfont-weight: 400;\n\t\tborder: solid calc(${borderWidth} * 1px) transparent;\n\t\tborder-radius: calc(${cornerRadius} * 1px);\n\t\twhite-space: wrap;\n\t\toverflow-wrap: anywhere;\n\t}\n\t:host(.column-header) {\n\t\tfont-weight: 600;\n\t}\n\t:host(:${focusVisible}),\n\t:host(:focus),\n\t:host(:active) {\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tborder: solid calc(${borderWidth} * 1px) ${focusBorder};\n\t\tcolor: ${listActiveSelectionForeground};\n\t\toutline: none;\n\t}\n\t:host(:${focusVisible}) ::slotted(*),\n\t:host(:focus) ::slotted(*),\n\t:host(:active) ::slotted(*) {\n\t\tcolor: ${listActiveSelectionForeground} !important;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { dataGridCellTemplate as cellTemplate, DataGridCellTypes, DataGridRowTypes, DataGrid as FoundationDataGrid, DataGridCell as FoundationDataGridCell, DataGridRow as FoundationDataGridRow, GenerateHeaderOptions, dataGridTemplate as gridTemplate, dataGridRowTemplate as rowTemplate, } from '@microsoft/fast-foundation';\nimport { dataGridStyles as gridStyles } from './data-grid.styles.js';\nimport { dataGridRowStyles as rowStyles } from './data-grid-row.styles.js';\nimport { dataGridCellStyles as cellStyles } from './data-grid-cell.styles.js';\nexport { DataGridCellTypes, DataGridRowTypes, GenerateHeaderOptions };\n/**\n * The Visual Studio Code data grid class.\n *\n * @public\n */\nexport class DataGrid extends FoundationDataGrid {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // Sets a default ARIA label on the data grid only if an aria-label attribute\n // does not already exist\n const ariaLabelValue = this.getAttribute('aria-label');\n if (!ariaLabelValue) {\n this.setAttribute('aria-label', 'Data Grid');\n }\n }\n}\n/**\n * The Visual Studio Code data grid component registration.\n *\n * @remarks\n * HTML Element: `<vscode-data-grid>`\n *\n * @public\n */\nexport const vsCodeDataGrid = DataGrid.compose({\n baseName: 'data-grid',\n baseClass: FoundationDataGrid,\n template: gridTemplate,\n styles: gridStyles,\n});\n/**\n * The Visual Studio Code data grid row class.\n *\n * @public\n */\nexport class DataGridRow extends FoundationDataGridRow {\n}\n/**\n * The Visual Studio Code data grid row component registration.\n *\n * @remarks\n * HTML Element: `<vscode-data-grid-row>`\n *\n * @public\n */\nexport const vsCodeDataGridRow = DataGridRow.compose({\n baseName: 'data-grid-row',\n baseClass: FoundationDataGridRow,\n template: rowTemplate,\n styles: rowStyles,\n});\n/**\n * The Visual Studio Code data grid cell class.\n *\n * @public\n */\nexport class DataGridCell extends FoundationDataGridCell {\n}\n/**\n * The Visual Studio Code data grid cell component registration.\n *\n * @remarks\n * HTML Element: `<vscode-data-grid-cell>`\n *\n * @public\n */\nexport const vsCodeDataGridCell = DataGridCell.compose({\n baseName: 'data-grid-cell',\n baseClass: FoundationDataGridCell,\n template: cellTemplate,\n styles: cellStyles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { borderWidth, designUnit, dividerBackground } from '../design-tokens.js';\nexport const dividerStyles = (context, definition) => css `\n\t${display('block')} :host {\n\t\tborder: none;\n\t\tborder-top: calc(${borderWidth} * 1px) solid ${dividerBackground};\n\t\tbox-sizing: content-box;\n\t\theight: 0;\n\t\tmargin: calc(${designUnit} * 1px) 0;\n\t\twidth: 100%;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { DividerRole, Divider as FoundationDivider, dividerTemplate as template, } from '@microsoft/fast-foundation';\nimport { dividerStyles as styles } from './divider.styles.js';\nexport { DividerRole };\n/**\n * The Visual Studio Code divider class.\n *\n * @public\n */\nexport class Divider extends FoundationDivider {\n}\n/**\n * The Visual Studio Code divider component registration.\n *\n * @remarks\n * HTML Element: `<vscode-divider>`\n *\n * @public\n */\nexport const vsCodeDivider = Divider.compose({\n baseName: 'divider',\n template,\n styles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadiusRound, designUnit, disabledOpacity, dropdownBackground, dropdownBorder, dropdownListMaxHeight, focusBorder, fontFamily, foreground, inputHeight, inputMinWidth, listActiveSelectionBackground, listActiveSelectionForeground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const dropdownStyles = (context, definition) => css `\n\t${display('inline-flex')} :host {\n\t\tbackground: ${dropdownBackground};\n\t\tborder-radius: calc(${cornerRadiusRound} * 1px);\n\t\tbox-sizing: border-box;\n\t\tcolor: ${foreground};\n\t\tcontain: contents;\n\t\tfont-family: ${fontFamily};\n\t\theight: calc(${inputHeight} * 1px);\n\t\tposition: relative;\n\t\tuser-select: none;\n\t\tmin-width: ${inputMinWidth};\n\t\toutline: none;\n\t\tvertical-align: top;\n\t}\n\t.control {\n\t\talign-items: center;\n\t\tbox-sizing: border-box;\n\t\tborder: calc(${borderWidth} * 1px) solid ${dropdownBorder};\n\t\tborder-radius: calc(${cornerRadiusRound} * 1px);\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tfont-family: inherit;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tmin-height: 100%;\n\t\tpadding: 2px 6px 2px 8px;\n\t\twidth: 100%;\n\t}\n\t.listbox {\n\t\tbackground: ${dropdownBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t\tborder-radius: calc(${cornerRadiusRound} * 1px);\n\t\tbox-sizing: border-box;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\tleft: 0;\n\t\tmax-height: ${dropdownListMaxHeight};\n\t\tpadding: 0;\n\t\toverflow-y: auto;\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\tz-index: 1;\n\t}\n\t.listbox[hidden] {\n\t\tdisplay: none;\n\t}\n\t:host(:${focusVisible}) .control {\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host(:not([disabled]):hover) {\n\t\tbackground: ${dropdownBackground};\n\t\tborder-color: ${dropdownBorder};\n\t}\n\t:host(:${focusVisible}) ::slotted([aria-selected=\"true\"][role=\"option\"]:not([disabled])) {\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid transparent;\n\t\tcolor: ${listActiveSelectionForeground};\n\t}\n\t:host([disabled]) {\n\t\tcursor: ${disabledCursor};\n\t\topacity: ${disabledOpacity};\n\t}\n\t:host([disabled]) .control {\n\t\tcursor: ${disabledCursor};\n\t\tuser-select: none;\n\t}\n\t:host([disabled]:hover) {\n\t\tbackground: ${dropdownBackground};\n\t\tcolor: ${foreground};\n\t\tfill: currentcolor;\n\t}\n\t:host(:not([disabled])) .control:active {\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host(:empty) .listbox {\n\t\tdisplay: none;\n\t}\n\t:host([open]) .control {\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host([open][position='above']) .listbox {\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t}\n\t:host([open][position='below']) .listbox {\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n\t:host([open][position='above']) .listbox {\n\t\tbottom: calc(${inputHeight} * 1px);\n\t}\n\t:host([open][position='below']) .listbox {\n\t\ttop: calc(${inputHeight} * 1px);\n\t}\n\t.selected-value {\n\t\tflex: 1 1 auto;\n\t\tfont-family: inherit;\n\t\toverflow: hidden;\n\t\ttext-align: start;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n\t.indicator {\n\t\tflex: 0 0 auto;\n\t\tmargin-inline-start: 1em;\n\t}\n\tslot[name='listbox'] {\n\t\tdisplay: none;\n\t\twidth: 100%;\n\t}\n\t:host([open]) slot[name='listbox'] {\n\t\tdisplay: flex;\n\t\tposition: absolute;\n\t}\n\t.end {\n\t\tmargin-inline-start: auto;\n\t}\n\t.start,\n\t.end,\n\t.indicator,\n\t.select-indicator,\n\t::slotted(svg),\n\t::slotted(span) {\n\t\tfill: currentcolor;\n\t\theight: 1em;\n\t\tmin-height: calc(${designUnit} * 4px);\n\t\tmin-width: calc(${designUnit} * 4px);\n\t\twidth: 1em;\n\t}\n\t::slotted([role='option']),\n\t::slotted(option) {\n\t\tflex: 0 0 auto;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { SelectPosition as DropdownPosition, Select as FoundationSelect, selectTemplate as template, } from '@microsoft/fast-foundation';\nimport { dropdownStyles as styles } from './dropdown.styles.js';\nexport { DropdownPosition };\n/**\n * The Visual Studio Code dropdown class.\n *\n * @public\n */\nexport class Dropdown extends FoundationSelect {\n}\n/**\n * The Visual Studio Code link dropdown registration.\n *\n * @remarks\n * HTML Element: `<vscode-dropdown>`\n *\n * @public\n */\nexport const vsCodeDropdown = Dropdown.compose({\n baseName: 'dropdown',\n template,\n styles,\n indicator: `\n\t\t<svg \n\t\t\tclass=\"select-indicator\"\n\t\t\tpart=\"select-indicator\"\n\t\t\twidth=\"16\" \n\t\t\theight=\"16\" \n\t\t\tviewBox=\"0 0 16 16\" \n\t\t\txmlns=\"http://www.w3.org/2000/svg\" \n\t\t\tfill=\"currentColor\"\n\t\t>\n\t\t\t<path \n\t\t\t\tfill-rule=\"evenodd\" \n\t\t\t\tclip-rule=\"evenodd\" \n\t\t\t\td=\"M7.976 10.072l4.357-4.357.62.618L8.284 11h-.618L3 6.333l.619-.618 4.357 4.357z\"\n\t\t\t/>\n\t\t</svg>\n\t`,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadius, focusBorder, fontFamily, linkActiveForeground, linkForeground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const linkStyles = (context, definition) => css `\n\t${display('inline-flex')} :host {\n\t\tbackground: transparent;\n\t\tbox-sizing: border-box;\n\t\tcolor: ${linkForeground};\n\t\tcursor: pointer;\n\t\tfill: currentcolor;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\toutline: none;\n\t}\n\t.control {\n\t\tbackground: transparent;\n\t\tborder: calc(${borderWidth} * 1px) solid transparent;\n\t\tborder-radius: calc(${cornerRadius} * 1px);\n\t\tbox-sizing: border-box;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\t\tfill: inherit;\n\t\tfont-family: inherit;\n\t\theight: inherit;\n\t\tpadding: 0;\n\t\toutline: none;\n\t\ttext-decoration: none;\n\t\tword-break: break-word;\n\t}\n\t.control::-moz-focus-inner {\n\t\tborder: 0;\n\t}\n\t:host(:hover) {\n\t\tcolor: ${linkActiveForeground};\n\t}\n\t:host(:hover) .content {\n\t\ttext-decoration: underline;\n\t}\n\t:host(:active) {\n\t\tbackground: transparent;\n\t\tcolor: ${linkActiveForeground};\n\t}\n\t:host(:${focusVisible}) .control,\n\t:host(:focus) .control {\n\t\tborder: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Anchor as FoundationAnchor, anchorTemplate as template, } from '@microsoft/fast-foundation';\nimport { linkStyles as styles } from './link.styles.js';\n/**\n * The Visual Studio Code link class.\n *\n * @public\n */\nexport class Link extends FoundationAnchor {\n}\n/**\n * The Visual Studio Code link component registration.\n *\n * @remarks\n * HTML Element: `<vscode-link>`\n *\n * @public\n */\nexport const vsCodeLink = Link.compose({\n baseName: 'link',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadius, designUnit, disabledOpacity, focusBorder, foreground, listActiveSelectionBackground, listActiveSelectionForeground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const optionStyles = (context, definition) => css `\n\t${display('inline-flex')} :host {\n\t\tfont-family: var(--body-font);\n\t\tborder-radius: ${cornerRadius};\n\t\tborder: calc(${borderWidth} * 1px) solid transparent;\n\t\tbox-sizing: border-box;\n\t\tcolor: ${foreground};\n\t\tcursor: pointer;\n\t\tfill: currentcolor;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tmargin: 0;\n\t\toutline: none;\n\t\toverflow: hidden;\n\t\tpadding: 0 calc((${designUnit} / 2) * 1px)\n\t\t\tcalc((${designUnit} / 4) * 1px);\n\t\tuser-select: none;\n\t\twhite-space: nowrap;\n\t}\n\t:host(:${focusVisible}) {\n\t\tborder-color: ${focusBorder};\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tcolor: ${foreground};\n\t}\n\t:host([aria-selected='true']) {\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid transparent;\n\t\tcolor: ${listActiveSelectionForeground};\n\t}\n\t:host(:active) {\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tcolor: ${listActiveSelectionForeground};\n\t}\n\t:host(:not([aria-selected='true']):hover) {\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid transparent;\n\t\tcolor: ${listActiveSelectionForeground};\n\t}\n\t:host(:not([aria-selected='true']):active) {\n\t\tbackground: ${listActiveSelectionBackground};\n\t\tcolor: ${foreground};\n\t}\n\t:host([disabled]) {\n\t\tcursor: ${disabledCursor};\n\t\topacity: ${disabledOpacity};\n\t}\n\t:host([disabled]:hover) {\n\t\tbackground-color: inherit;\n\t}\n\t.content {\n\t\tgrid-column-start: 2;\n\t\tjustify-self: start;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { ListboxOption as FoundationListboxOption, listboxOptionTemplate as template, } from '@microsoft/fast-foundation';\nimport { optionStyles as styles } from './option.styles.js';\n/**\n * The Visual Studio Code option class.\n *\n * @public\n */\nexport class Option extends FoundationListboxOption {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.textContent) {\n this.setAttribute('aria-label', this.textContent);\n }\n else {\n // Fallback to the label if there is no text content\n this.setAttribute('aria-label', 'Option');\n }\n }\n}\n/**\n * The Visual Studio Code option component registration.\n *\n * @remarks\n * HTML Element: `<vscode-option>`\n *\n * @public\n */\nexport const vsCodeOption = Option.compose({\n baseName: 'option',\n template,\n styles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { cornerRadius, designUnit, fontFamily, foreground, panelTabActiveForeground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const panelsStyles = (context, definition) => css `\n\t${display('grid')} :host {\n\t\tbox-sizing: border-box;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tcolor: ${foreground};\n\t\tgrid-template-columns: auto 1fr auto;\n\t\tgrid-template-rows: auto 1fr;\n\t\toverflow-x: auto;\n\t}\n\t.tablist {\n\t\tdisplay: grid;\n\t\tgrid-template-rows: auto auto;\n\t\tgrid-template-columns: auto;\n\t\tcolumn-gap: calc(${designUnit} * 8px);\n\t\tposition: relative;\n\t\twidth: max-content;\n\t\talign-self: end;\n\t\tpadding: calc(${designUnit} * 1px) calc(${designUnit} * 1px) 0;\n\t\tbox-sizing: border-box;\n\t}\n\t.start,\n\t.end {\n\t\talign-self: center;\n\t}\n\t.activeIndicator {\n\t\tgrid-row: 2;\n\t\tgrid-column: 1;\n\t\twidth: 100%;\n\t\theight: calc((${designUnit} / 4) * 1px);\n\t\tjustify-self: center;\n\t\tbackground: ${panelTabActiveForeground};\n\t\tmargin: 0;\n\t\tborder-radius: calc(${cornerRadius} * 1px);\n\t}\n\t.activeIndicatorTransition {\n\t\ttransition: transform 0.01s linear;\n\t}\n\t.tabpanel {\n\t\tgrid-row: 2;\n\t\tgrid-column-start: 1;\n\t\tgrid-column-end: 4;\n\t\tposition: relative;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadius, designUnit, fontFamily, panelTabActiveBorder, panelTabActiveForeground, panelTabForeground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const panelTabStyles = (context, definition) => css `\n\t${display('inline-flex')} :host {\n\t\tbox-sizing: border-box;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\theight: calc(${designUnit} * 7px);\n\t\tpadding: calc(${designUnit} * 1px) 0;\n\t\tcolor: ${panelTabForeground};\n\t\tfill: currentcolor;\n\t\tborder-radius: calc(${cornerRadius} * 1px);\n\t\tborder: solid calc(${borderWidth} * 1px) transparent;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tgrid-row: 1;\n\t\tcursor: pointer;\n\t}\n\t:host(:hover) {\n\t\tcolor: ${panelTabActiveForeground};\n\t\tfill: currentcolor;\n\t}\n\t:host(:active) {\n\t\tcolor: ${panelTabActiveForeground};\n\t\tfill: currentcolor;\n\t}\n\t:host([aria-selected='true']) {\n\t\tbackground: transparent;\n\t\tcolor: ${panelTabActiveForeground};\n\t\tfill: currentcolor;\n\t}\n\t:host([aria-selected='true']:hover) {\n\t\tbackground: transparent;\n\t\tcolor: ${panelTabActiveForeground};\n\t\tfill: currentcolor;\n\t}\n\t:host([aria-selected='true']:active) {\n\t\tbackground: transparent;\n\t\tcolor: ${panelTabActiveForeground};\n\t\tfill: currentcolor;\n\t}\n\t:host(:${focusVisible}) {\n\t\toutline: none;\n\t\tborder: solid calc(${borderWidth} * 1px) ${panelTabActiveBorder};\n\t}\n\t:host(:focus) {\n\t\toutline: none;\n\t}\n\t::slotted(vscode-badge) {\n\t\tmargin-inline-start: calc(${designUnit} * 2px);\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { borderWidth, designUnit, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const panelViewStyles = (context, definition) => css `\n\t${display('flex')} :host {\n\t\tcolor: inherit;\n\t\tbackground-color: transparent;\n\t\tborder: solid calc(${borderWidth} * 1px) transparent;\n\t\tbox-sizing: border-box;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tpadding: 10px calc((${designUnit} + 2) * 1px);\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Tab as FoundationTab, TabPanel as FoundationTabPanel, Tabs as FoundationTabs, tabPanelTemplate, TabsOrientation, tabsTemplate, tabTemplate, } from '@microsoft/fast-foundation';\nimport { panelsStyles } from './panels.styles.js';\nimport { panelTabStyles } from './panel-tab.styles.js';\nimport { panelViewStyles } from './panel-view.styles.js';\n/**\n * The Visual Studio Code panels class.\n *\n * @public\n */\nexport class Panels extends FoundationTabs {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // This will override any usage of the orientation attribute\n // inherited by the FAST Foundation Tabs component so that\n // VSCodePanels are always oriented horizontally\n if (this.orientation) {\n this.orientation = TabsOrientation.horizontal;\n }\n // Sets a default ARIA label on the panels component only if an\n // aria-label attribute does not already exist\n const ariaLabelValue = this.getAttribute('aria-label');\n if (!ariaLabelValue) {\n this.setAttribute('aria-label', 'Panels');\n }\n }\n}\n/**\n * The Visual Studio Code panels component registration.\n *\n * @remarks\n * HTML Element: `<vscode-panels>`\n *\n * @public\n */\nexport const vsCodePanels = Panels.compose({\n baseName: 'panels',\n template: tabsTemplate,\n styles: panelsStyles,\n});\n/**\n * The Visual Studio Code panel tab class.\n *\n * @public\n */\nexport class PanelTab extends FoundationTab {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // This will override any usage of the disabled attribute\n // inherited by the FAST Foundation Tab component so that\n // VSCodePanelTab can never be disabled\n if (this.disabled) {\n this.disabled = false;\n }\n if (this.textContent) {\n this.setAttribute('aria-label', this.textContent);\n }\n }\n}\n/**\n * The Visual Studio Code panel tab component registration.\n *\n * @remarks\n * HTML Element: `<vscode-panel-tab>`\n *\n * @public\n */\nexport const vsCodePanelTab = PanelTab.compose({\n baseName: 'panel-tab',\n template: tabTemplate,\n styles: panelTabStyles,\n});\n/**\n * The Visual Studio Code panel view class.\n *\n * @public\n */\nexport class PanelView extends FoundationTabPanel {\n}\n/**\n * The Visual Studio Code panel view component registration.\n *\n * @remarks\n * HTML Element: `<vscode-panel-view>`\n *\n * @public\n */\nexport const vsCodePanelView = PanelView.compose({\n baseName: 'panel-view',\n template: tabPanelTemplate,\n styles: panelViewStyles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { designUnit, progressBackground } from '../design-tokens.js';\nexport const progressRingStyles = (context, definition) => css `\n\t${display('flex')} :host {\n\t\talign-items: center;\n\t\toutline: none;\n\t\theight: calc(${designUnit} * 7px);\n\t\twidth: calc(${designUnit} * 7px);\n\t\tmargin: 0;\n\t}\n\t.progress {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.background {\n\t\tfill: none;\n\t\tstroke: transparent;\n\t\tstroke-width: calc(${designUnit} / 2 * 1px);\n\t}\n\t.indeterminate-indicator-1 {\n\t\tfill: none;\n\t\tstroke: ${progressBackground};\n\t\tstroke-width: calc(${designUnit} / 2 * 1px);\n\t\tstroke-linecap: square;\n\t\ttransform-origin: 50% 50%;\n\t\ttransform: rotate(-90deg);\n\t\ttransition: all 0.2s ease-in-out;\n\t\tanimation: spin-infinite 2s linear infinite;\n\t}\n\t@keyframes spin-infinite {\n\t\t0% {\n\t\t\tstroke-dasharray: 0.01px 43.97px;\n\t\t\ttransform: rotate(0deg);\n\t\t}\n\t\t50% {\n\t\t\tstroke-dasharray: 21.99px 21.99px;\n\t\t\ttransform: rotate(450deg);\n\t\t}\n\t\t100% {\n\t\t\tstroke-dasharray: 0.01px 43.97px;\n\t\t\ttransform: rotate(1080deg);\n\t\t}\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { BaseProgress, progressRingTemplate as template, } from '@microsoft/fast-foundation';\nimport { progressRingStyles as styles } from './progress-ring.styles.js';\n/**\n * The Visual Studio Code progress ring class.\n *\n * @public\n */\nexport class ProgressRing extends BaseProgress {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // This will override any usage of the paused attribute\n // inherited by the FAST Foundation BaseProgress component\n // so that VSCodeProgressRing can never be paused\n if (this.paused) {\n this.paused = false;\n }\n // Defines a default aria label that screen readers can access\n this.setAttribute('aria-label', 'Loading');\n this.setAttribute('aria-live', 'assertive');\n this.setAttribute('role', 'alert');\n }\n /**\n * Component lifecycle method that runs when an attribute of the\n * element is changed.\n *\n * @param attrName - The attribute that was changed\n * @param oldVal - The old value of the attribute\n * @param newVal - The new value of the attribute\n *\n * @internal\n */\n attributeChangedCallback(attrName, oldVal, newVal) {\n if (attrName === 'value') {\n // This will override any usage of the value attribute\n // inherited by the FAST Foundation BaseProgress component\n // so that VSCodeProgressRing can never set to be a\n // determinate state\n this.removeAttribute('value');\n }\n }\n}\n/**\n * The Visual Studio Code progress ring component registration.\n *\n * @remarks\n * HTML Element: `<vscode-progress-ring>`\n *\n * @public\n */\nexport const vsCodeProgressRing = ProgressRing.compose({\n baseName: 'progress-ring',\n template,\n styles,\n indeterminateIndicator: `\n\t\t<svg class=\"progress\" part=\"progress\" viewBox=\"0 0 16 16\">\n\t\t\t<circle\n\t\t\t\tclass=\"background\"\n\t\t\t\tpart=\"background\"\n\t\t\t\tcx=\"8px\"\n\t\t\t\tcy=\"8px\"\n\t\t\t\tr=\"7px\"\n\t\t\t></circle>\n\t\t\t<circle\n\t\t\t\tclass=\"indeterminate-indicator-1\"\n\t\t\t\tpart=\"indeterminate-indicator-1\"\n\t\t\t\tcx=\"8px\"\n\t\t\t\tcy=\"8px\"\n\t\t\t\tr=\"7px\"\n\t\t\t></circle>\n\t\t</svg>\n\t`,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { designUnit, foreground, typeRampBaseFontSize, } from '../design-tokens.js';\nexport const radioGroupStyles = (context, definition) => css `\n\t${display('flex')} :host {\n\t\talign-items: flex-start;\n\t\tmargin: calc(${designUnit} * 1px) 0;\n\t\tflex-direction: column;\n\t}\n\t.positioning-region {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\t:host([orientation='vertical']) .positioning-region {\n\t\tflex-direction: column;\n\t}\n\t:host([orientation='horizontal']) .positioning-region {\n\t\tflex-direction: row;\n\t}\n\t::slotted([slot='label']) {\n\t\tcolor: ${foreground};\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tmargin: calc(${designUnit} * 1px) 0;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Orientation as RadioGroupOrientation } from '@microsoft/fast-web-utilities';\nimport { RadioGroup as FoundationRadioGroup, radioGroupTemplate as template, } from '@microsoft/fast-foundation';\nimport { radioGroupStyles as styles } from './radio-group.styles.js';\nexport { RadioGroupOrientation };\n/**\n * The Visual Studio Code radio group class.\n *\n * @public\n */\nexport class RadioGroup extends FoundationRadioGroup {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // Generates a unique id for each radio group label so that the label element\n // within the group can be correctly associated with the radio group.\n const label = this.querySelector('label');\n if (label) {\n const id = 'radio-group-' + Math.random().toString(16).slice(2);\n label.setAttribute('id', id);\n this.setAttribute('aria-labelledby', id);\n }\n }\n}\n/**\n * The Visual Studio Code radio group component registration.\n *\n * @remarks\n * HTML Element: `<vscode-radio-group>`\n *\n * @public\n */\nexport const vsCodeRadioGroup = RadioGroup.compose({\n baseName: 'radio-group',\n template,\n styles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, checkboxBackground, checkboxBorder, designUnit, disabledOpacity, focusBorder, fontFamily, foreground, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const radioStyles = (context, definition) => css `\n\t${display('inline-flex')} :host {\n\t\talign-items: center;\n\t\tflex-direction: row;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tmargin: calc(${designUnit} * 1px) 0;\n\t\toutline: none;\n\t\tposition: relative;\n\t\ttransition: all 0.2s ease-in-out;\n\t\tuser-select: none;\n\t}\n\t.control {\n\t\tbackground: ${checkboxBackground};\n\t\tborder-radius: 999px;\n\t\tborder: calc(${borderWidth} * 1px) solid ${checkboxBorder};\n\t\tbox-sizing: border-box;\n\t\tcursor: pointer;\n\t\theight: calc(${designUnit} * 4px);\n\t\tposition: relative;\n\t\toutline: none;\n\t\twidth: calc(${designUnit} * 4px);\n\t}\n\t.label {\n\t\tcolor: ${foreground};\n\t\tcursor: pointer;\n\t\tfont-family: ${fontFamily};\n\t\tmargin-inline-end: calc(${designUnit} * 2px + 2px);\n\t\tpadding-inline-start: calc(${designUnit} * 2px + 2px);\n\t}\n\t.label__hidden {\n\t\tdisplay: none;\n\t\tvisibility: hidden;\n\t}\n\t.control,\n\t.checked-indicator {\n\t\tflex-shrink: 0;\n\t}\n\t.checked-indicator {\n\t\tbackground: ${foreground};\n\t\tborder-radius: 999px;\n\t\tdisplay: inline-block;\n\t\tinset: calc(${designUnit} * 1px);\n\t\topacity: 0;\n\t\tpointer-events: none;\n\t\tposition: absolute;\n\t}\n\t:host(:not([disabled])) .control:hover {\n\t\tbackground: ${checkboxBackground};\n\t\tborder-color: ${checkboxBorder};\n\t}\n\t:host(:not([disabled])) .control:active {\n\t\tbackground: ${checkboxBackground};\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host(:${focusVisible}) .control {\n\t\tborder: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t}\n\t:host([aria-checked='true']) .control {\n\t\tbackground: ${checkboxBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid ${checkboxBorder};\n\t}\n\t:host([aria-checked='true']:not([disabled])) .control:hover {\n\t\tbackground: ${checkboxBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid ${checkboxBorder};\n\t}\n\t:host([aria-checked='true']:not([disabled])) .control:active {\n\t\tbackground: ${checkboxBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t}\n\t:host([aria-checked=\"true\"]:${focusVisible}:not([disabled])) .control {\n\t\tborder: calc(${borderWidth} * 1px) solid ${focusBorder};\n\t}\n\t:host([disabled]) .label,\n\t:host([readonly]) .label,\n\t:host([readonly]) .control,\n\t:host([disabled]) .control {\n\t\tcursor: ${disabledCursor};\n\t}\n\t:host([aria-checked='true']) .checked-indicator {\n\t\topacity: 1;\n\t}\n\t:host([disabled]) {\n\t\topacity: ${disabledOpacity};\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Radio as FoundationRadio, radioTemplate as template, } from '@microsoft/fast-foundation';\nimport { radioStyles as styles } from './radio.styles.js';\n/**\n * The Visual Studio Code radio class.\n *\n * @public\n */\nexport class Radio extends FoundationRadio {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.textContent) {\n this.setAttribute('aria-label', this.textContent);\n }\n else {\n // Fallback to the label if there is no text content\n this.setAttribute('aria-label', 'Radio');\n }\n }\n}\n/**\n * The Visual Studio Code radio component registration.\n *\n * @remarks\n * HTML Element: `<vscode-radio>`\n *\n * @public\n */\nexport const vsCodeRadio = Radio.compose({\n baseName: 'radio',\n template,\n styles,\n checkedIndicator: `\n\t\t<div part=\"checked-indicator\" class=\"checked-indicator\"></div>\n\t`,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { display, } from '@microsoft/fast-foundation';\nimport { badgeBackground, badgeForeground, borderWidth, buttonBorder, designUnit, fontFamily, tagCornerRadius, typeRampMinus1FontSize, typeRampMinus1LineHeight, } from '../design-tokens.js';\nexport const tagStyles = (context, definition) => css `\n\t${display('inline-block')} :host {\n\t\tbox-sizing: border-box;\n\t\tfont-family: ${fontFamily};\n\t\tfont-size: ${typeRampMinus1FontSize};\n\t\tline-height: ${typeRampMinus1LineHeight};\n\t}\n\t.control {\n\t\tbackground-color: ${badgeBackground};\n\t\tborder: calc(${borderWidth} * 1px) solid ${buttonBorder};\n\t\tborder-radius: ${tagCornerRadius};\n\t\tcolor: ${badgeForeground};\n\t\tpadding: calc(${designUnit} * 0.5px) calc(${designUnit} * 1px);\n\t\ttext-transform: uppercase;\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Badge as FoundationBadge, badgeTemplate as template, } from '@microsoft/fast-foundation';\nimport { tagStyles as styles } from './tag.styles.js';\n/**\n * The Visual Studio Code tag class.\n *\n * @public\n */\nexport class Tag extends FoundationBadge {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n // This will override any usage of the circular attribute\n // inherited by the FAST Foundation Badge component so that\n // VSCodeTags are never circular\n if (this.circular) {\n this.circular = false;\n }\n }\n}\n/**\n * The Visual Studio Code tag component registration.\n *\n * @remarks\n * HTML Element: `<vscode-tag>`\n *\n * @public\n */\nexport const vsCodeTag = Tag.compose({\n baseName: 'tag',\n template,\n styles,\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadiusRound, designUnit, disabledOpacity, dropdownBorder, focusBorder, fontFamily, foreground, inputBackground, inputForeground, inputMinWidth, scrollbarHeight, scrollbarSliderActiveBackground, scrollbarSliderBackground, scrollbarSliderHoverBackground, scrollbarWidth, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const textAreaStyles = (context, definition) => css `\n\t${display('inline-block')} :host {\n\t\tfont-family: ${fontFamily};\n\t\toutline: none;\n\t\tuser-select: none;\n\t}\n\t.control {\n\t\tbox-sizing: border-box;\n\t\tposition: relative;\n\t\tcolor: ${inputForeground};\n\t\tbackground: ${inputBackground};\n\t\tborder-radius: calc(${cornerRadiusRound} * 1px);\n\t\tborder: calc(${borderWidth} * 1px) solid ${dropdownBorder};\n\t\tfont: inherit;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tpadding: calc(${designUnit} * 2px + 1px);\n\t\twidth: 100%;\n\t\tmin-width: ${inputMinWidth};\n\t\tresize: none;\n\t}\n\t.control:hover:enabled {\n\t\tbackground: ${inputBackground};\n\t\tborder-color: ${dropdownBorder};\n\t}\n\t.control:active:enabled {\n\t\tbackground: ${inputBackground};\n\t\tborder-color: ${focusBorder};\n\t}\n\t.control:hover,\n\t.control:${focusVisible},\n\t.control:disabled,\n\t.control:active {\n\t\toutline: none;\n\t}\n\t.control::-webkit-scrollbar {\n\t\twidth: ${scrollbarWidth};\n\t\theight: ${scrollbarHeight};\n\t}\n\t.control::-webkit-scrollbar-corner {\n\t\tbackground: ${inputBackground};\n\t}\n\t.control::-webkit-scrollbar-thumb {\n\t\tbackground: ${scrollbarSliderBackground};\n\t}\n\t.control::-webkit-scrollbar-thumb:hover {\n\t\tbackground: ${scrollbarSliderHoverBackground};\n\t}\n\t.control::-webkit-scrollbar-thumb:active {\n\t\tbackground: ${scrollbarSliderActiveBackground};\n\t}\n\t:host(:focus-within:not([disabled])) .control {\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host([resize='both']) .control {\n\t\tresize: both;\n\t}\n\t:host([resize='horizontal']) .control {\n\t\tresize: horizontal;\n\t}\n\t:host([resize='vertical']) .control {\n\t\tresize: vertical;\n\t}\n\t.label {\n\t\tdisplay: block;\n\t\tcolor: ${foreground};\n\t\tcursor: pointer;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tmargin-bottom: 2px;\n\t}\n\t.label__hidden {\n\t\tdisplay: none;\n\t\tvisibility: hidden;\n\t}\n\t:host([disabled]) .label,\n\t:host([readonly]) .label,\n\t:host([readonly]) .control,\n\t:host([disabled]) .control {\n\t\tcursor: ${disabledCursor};\n\t}\n\t:host([disabled]) {\n\t\topacity: ${disabledOpacity};\n\t}\n\t:host([disabled]) .control {\n\t\tborder-color: ${dropdownBorder};\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { TextArea as FoundationTextArea, textAreaTemplate as template, TextAreaResize, } from '@microsoft/fast-foundation';\nimport { textAreaStyles as styles } from './text-area.styles.js';\nexport { TextAreaResize };\n/**\n * The Visual Studio Code text area class.\n *\n * @remarks\n * HTML Element: `<vscode-text-area>`\n *\n * @public\n */\nexport class TextArea extends FoundationTextArea {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.textContent) {\n this.setAttribute('aria-label', this.textContent);\n }\n else {\n // Describe the generic component if no label is provided\n this.setAttribute('aria-label', 'Text area');\n }\n }\n}\n/**\n * The Visual Studio Code text area component registration.\n *\n * @remarks\n * HTML Element: `<vscode-text-area>`\n *\n * @public\n */\nexport const vsCodeTextArea = TextArea.compose({\n baseName: 'text-area',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible, } from '@microsoft/fast-foundation';\nimport { borderWidth, cornerRadiusRound, designUnit, disabledOpacity, dropdownBorder, focusBorder, fontFamily, foreground, inputBackground, inputForeground, inputHeight, inputMinWidth, typeRampBaseFontSize, typeRampBaseLineHeight, } from '../design-tokens.js';\nexport const textFieldStyles = (context, definition) => css `\n\t${display('inline-block')} :host {\n\t\tfont-family: ${fontFamily};\n\t\toutline: none;\n\t\tuser-select: none;\n\t}\n\t.root {\n\t\tbox-sizing: border-box;\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tcolor: ${inputForeground};\n\t\tbackground: ${inputBackground};\n\t\tborder-radius: calc(${cornerRadiusRound} * 1px);\n\t\tborder: calc(${borderWidth} * 1px) solid ${dropdownBorder};\n\t\theight: calc(${inputHeight} * 1px);\n\t\tmin-width: ${inputMinWidth};\n\t}\n\t.control {\n\t\t-webkit-appearance: none;\n\t\tfont: inherit;\n\t\tbackground: transparent;\n\t\tborder: 0;\n\t\tcolor: inherit;\n\t\theight: calc(100% - (${designUnit} * 1px));\n\t\twidth: 100%;\n\t\tmargin-top: auto;\n\t\tmargin-bottom: auto;\n\t\tborder: none;\n\t\tpadding: 0 calc(${designUnit} * 2px + 1px);\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t}\n\t.control:hover,\n\t.control:${focusVisible},\n\t.control:disabled,\n\t.control:active {\n\t\toutline: none;\n\t}\n\t.label {\n\t\tdisplay: block;\n\t\tcolor: ${foreground};\n\t\tcursor: pointer;\n\t\tfont-size: ${typeRampBaseFontSize};\n\t\tline-height: ${typeRampBaseLineHeight};\n\t\tmargin-bottom: 2px;\n\t}\n\t.label__hidden {\n\t\tdisplay: none;\n\t\tvisibility: hidden;\n\t}\n\t.start,\n\t.end {\n\t\tdisplay: flex;\n\t\tmargin: auto;\n\t\tfill: currentcolor;\n\t}\n\t::slotted(svg),\n\t::slotted(span) {\n\t\twidth: calc(${designUnit} * 4px);\n\t\theight: calc(${designUnit} * 4px);\n\t}\n\t.start {\n\t\tmargin-inline-start: calc(${designUnit} * 2px);\n\t}\n\t.end {\n\t\tmargin-inline-end: calc(${designUnit} * 2px);\n\t}\n\t:host(:hover:not([disabled])) .root {\n\t\tbackground: ${inputBackground};\n\t\tborder-color: ${dropdownBorder};\n\t}\n\t:host(:active:not([disabled])) .root {\n\t\tbackground: ${inputBackground};\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host(:focus-within:not([disabled])) .root {\n\t\tborder-color: ${focusBorder};\n\t}\n\t:host([disabled]) .label,\n\t:host([readonly]) .label,\n\t:host([readonly]) .control,\n\t:host([disabled]) .control {\n\t\tcursor: ${disabledCursor};\n\t}\n\t:host([disabled]) {\n\t\topacity: ${disabledOpacity};\n\t}\n\t:host([disabled]) .control {\n\t\tborder-color: ${dropdownBorder};\n\t}\n`;\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { TextField as FoundationTextField, textFieldTemplate as template, TextFieldType, } from '@microsoft/fast-foundation';\nimport { textFieldStyles as styles } from './text-field.styles.js';\nexport { TextFieldType };\n/**\n * The Visual Studio Code text field class.\n *\n * @public\n */\nexport class TextField extends FoundationTextField {\n /**\n * Component lifecycle method that runs when the component is inserted\n * into the DOM.\n *\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.textContent) {\n this.setAttribute('aria-label', this.textContent);\n }\n else {\n // Describe the generic component if no label is provided\n this.setAttribute('aria-label', 'Text field');\n }\n }\n}\n/**\n * The Visual Studio Code text field component registration.\n *\n * @remarks\n * HTML Element: `<vscode-text-field>`\n *\n * @public\n */\nexport const vsCodeTextField = TextField.compose({\n baseName: 'text-field',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n});\n", + "// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { provideReactWrapper } from '@microsoft/fast-react-wrapper';\nimport React from 'react';\nimport { vsCodeBadge, vsCodeButton, vsCodeCheckbox, vsCodeDataGrid, vsCodeDataGridCell, vsCodeDataGridRow, vsCodeDivider, vsCodeDropdown, vsCodeLink, vsCodeOption, vsCodePanels, vsCodePanelTab, vsCodePanelView, vsCodeProgressRing, vsCodeRadio, vsCodeRadioGroup, vsCodeTag, vsCodeTextArea, vsCodeTextField, } from '../dist/index.js';\nimport { provideVSCodeDesignSystem } from '../dist/vscode-design-system.js';\nconst { wrap } = provideReactWrapper(React, provideVSCodeDesignSystem());\n/**\n * VS Code Badge React component.\n *\n * @public\n */\nexport const VSCodeBadge = wrap(vsCodeBadge(), {\n name: 'vscode-badge',\n});\n/**\n * VS Code Button React component.\n *\n * @public\n */\nexport const VSCodeButton = wrap(vsCodeButton(), {\n name: 'vscode-button',\n});\n/**\n * VS Code Checkbox React component.\n *\n * @public\n */\nexport const VSCodeCheckbox = wrap(vsCodeCheckbox(), {\n name: 'vscode-checkbox',\n events: {\n onChange: 'change',\n },\n});\n/**\n * VS Code Data Grid React component.\n *\n * @public\n */\nexport const VSCodeDataGrid = wrap(vsCodeDataGrid(), {\n name: 'vscode-data-grid',\n});\n/**\n * VS Code Data Grid Cell React component.\n *\n * @public\n */\nexport const VSCodeDataGridCell = wrap(vsCodeDataGridCell(), {\n name: 'vscode-data-grid-cell',\n});\n/**\n * VS Code Data Grid Row React component.\n *\n * @public\n */\nexport const VSCodeDataGridRow = wrap(vsCodeDataGridRow(), {\n name: 'vscode-data-grid-row',\n});\n/**\n * VS Code Divider React component.\n *\n * @public\n */\nexport const VSCodeDivider = wrap(vsCodeDivider(), {\n name: 'vscode-divider',\n});\n/**\n * VS Code Dropdown React component.\n *\n * @public\n */\nexport const VSCodeDropdown = wrap(vsCodeDropdown(), {\n name: 'vscode-dropdown',\n events: {\n onChange: 'change',\n },\n});\n/**\n * VS Code Link React component.\n *\n * @public\n */\nexport const VSCodeLink = wrap(vsCodeLink(), {\n name: 'vscode-link',\n});\n/**\n * VS Code Option React component.\n *\n * @public\n */\nexport const VSCodeOption = wrap(vsCodeOption(), {\n name: 'vscode-option',\n});\n/**\n * VS Code Panels React component.\n *\n * @public\n */\nexport const VSCodePanels = wrap(vsCodePanels(), {\n name: 'vscode-panels',\n events: {\n onChange: 'change',\n },\n});\n/**\n * VS Code Panel Tab React component.\n *\n * @public\n */\nexport const VSCodePanelTab = wrap(vsCodePanelTab(), {\n name: 'vscode-panel-tab',\n});\n/**\n * VS Code Panel View React component.\n *\n * @public\n */\nexport const VSCodePanelView = wrap(vsCodePanelView(), {\n name: 'vscode-panel-view',\n});\n/**\n * VS Code Progress Ring React component.\n *\n * @public\n */\nexport const VSCodeProgressRing = wrap(vsCodeProgressRing(), {\n name: 'vscode-progress-ring',\n});\n/**\n * VS Code Radio React component.\n *\n * @public\n */\nexport const VSCodeRadio = wrap(vsCodeRadio(), {\n name: 'vscode-radio',\n events: {\n onChange: 'change',\n },\n});\n/**\n * VS Code Radio Group React component.\n *\n * @public\n */\nexport const VSCodeRadioGroup = wrap(vsCodeRadioGroup(), {\n name: 'vscode-radio-group',\n events: {\n onChange: 'change',\n },\n});\n/**\n * VS Code Tag React component.\n *\n * @public\n */\nexport const VSCodeTag = wrap(vsCodeTag(), {\n name: 'vscode-tag',\n});\n/**\n * VS Code Text Area React component.\n *\n * @public\n */\nexport const VSCodeTextArea = wrap(vsCodeTextArea(), {\n name: 'vscode-text-area',\n events: {\n onChange: 'change',\n onInput: 'input',\n },\n});\n/**\n * VS Code Text Field React component.\n *\n * @public\n */\nexport const VSCodeTextField = wrap(vsCodeTextField(), {\n name: 'vscode-text-field',\n events: {\n onChange: 'change',\n onInput: 'input',\n },\n});\n", + "import React__default, { useEffect } from 'react';\n\nfunction _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\n\nfunction useOnMount(callback) {\n useEffect(callback, []);\n}\n\nvar _excluded = [\"id\", \"volume\", \"playbackRate\", \"soundEnabled\", \"interrupt\", \"onload\"];\nfunction useSound(src, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$volume = _ref.volume,\n volume = _ref$volume === void 0 ? 1 : _ref$volume,\n _ref$playbackRate = _ref.playbackRate,\n playbackRate = _ref$playbackRate === void 0 ? 1 : _ref$playbackRate,\n _ref$soundEnabled = _ref.soundEnabled,\n soundEnabled = _ref$soundEnabled === void 0 ? true : _ref$soundEnabled,\n _ref$interrupt = _ref.interrupt,\n interrupt = _ref$interrupt === void 0 ? false : _ref$interrupt,\n onload = _ref.onload,\n delegated = _objectWithoutPropertiesLoose(_ref, _excluded);\n var HowlConstructor = React__default.useRef(null);\n var isMounted = React__default.useRef(false);\n var _React$useState = React__default.useState(null),\n duration = _React$useState[0],\n setDuration = _React$useState[1];\n var _React$useState2 = React__default.useState(null),\n sound = _React$useState2[0],\n setSound = _React$useState2[1];\n var handleLoad = function handleLoad() {\n if (typeof onload === 'function') {\n // @ts-ignore\n onload.call(this);\n }\n if (isMounted.current) {\n // @ts-ignore\n setDuration(this.duration() * 1000);\n }\n // @ts-ignore\n setSound(this);\n };\n // We want to lazy-load Howler, since sounds can't play on load anyway.\n useOnMount(function () {\n import('howler').then(function (mod) {\n if (!isMounted.current) {\n var _mod$Howl;\n // Depending on the module system used, `mod` might hold\n // the export directly, or it might be under `default`.\n HowlConstructor.current = (_mod$Howl = mod.Howl) !== null && _mod$Howl !== void 0 ? _mod$Howl : mod[\"default\"].Howl;\n isMounted.current = true;\n new HowlConstructor.current(_extends({\n src: Array.isArray(src) ? src : [src],\n volume: volume,\n rate: playbackRate,\n onload: handleLoad\n }, delegated));\n }\n });\n return function () {\n isMounted.current = false;\n };\n });\n // When the `src` changes, we have to do a whole thing where we recreate\n // the Howl instance. This is because Howler doesn't expose a way to\n // tweak the sound\n React__default.useEffect(function () {\n if (HowlConstructor.current && sound) {\n setSound(new HowlConstructor.current(_extends({\n src: Array.isArray(src) ? src : [src],\n volume: volume,\n onload: handleLoad\n }, delegated)));\n }\n // The linter wants to run this effect whenever ANYTHING changes,\n // but very specifically I only want to recreate the Howl instance\n // when the `src` changes. Other changes should have no effect.\n // Passing array to the useEffect dependencies list will result in\n // ifinite loop so we need to stringify it, for more details check\n // https://github.com/facebook/react/issues/14476#issuecomment-471199055\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(src)]);\n // Whenever volume/playbackRate are changed, change those properties\n // on the sound instance.\n React__default.useEffect(function () {\n if (sound) {\n sound.volume(volume);\n // HACK: When a sprite is defined, `sound.rate()` throws an error, because Howler tries to reset the \"_default\" sprite, which doesn't exist. This is likely a bug within Howler, but I don’t have the bandwidth to investigate, so instead, we’re ignoring playbackRate changes when a sprite is defined.\n if (!delegated.sprite) {\n sound.rate(playbackRate);\n }\n }\n }, [sound, volume, playbackRate]);\n var play = React__default.useCallback(function (options) {\n if (typeof options === 'undefined') {\n options = {};\n }\n if (!sound || !soundEnabled && !options.forceSoundEnabled) {\n return;\n }\n if (interrupt) {\n sound.stop();\n }\n if (options.playbackRate) {\n sound.rate(options.playbackRate);\n }\n sound.play(options.id);\n }, [sound, soundEnabled, interrupt]);\n var stop = React__default.useCallback(function (id) {\n if (!sound) {\n return;\n }\n sound.stop(id);\n }, [sound]);\n var pause = React__default.useCallback(function (id) {\n if (!sound) {\n return;\n }\n sound.pause(id);\n }, [sound]);\n var returnedValue = [play, {\n sound: sound,\n stop: stop,\n pause: pause,\n duration: duration\n }];\n return returnedValue;\n}\n\nexport default useSound;\nexport { useSound };\n//# sourceMappingURL=use-sound.esm.js.map\n", + "/**\n * @module LRUCache\n */\nconst perf = typeof performance === 'object' &&\n performance &&\n typeof performance.now === 'function'\n ? performance\n : Date;\nconst warned = new Set();\n/* c8 ignore start */\nconst PROCESS = (typeof process === 'object' && !!process ? process : {});\n/* c8 ignore start */\nconst emitWarning = (msg, type, code, fn) => {\n typeof PROCESS.emitWarning === 'function'\n ? PROCESS.emitWarning(msg, type, code, fn)\n : console.error(`[${code}] ${type}: ${msg}`);\n};\nlet AC = globalThis.AbortController;\nlet AS = globalThis.AbortSignal;\n/* c8 ignore start */\nif (typeof AC === 'undefined') {\n //@ts-ignore\n AS = class AbortSignal {\n onabort;\n _onabort = [];\n reason;\n aborted = false;\n addEventListener(_, fn) {\n this._onabort.push(fn);\n }\n };\n //@ts-ignore\n AC = class AbortController {\n constructor() {\n warnACPolyfill();\n }\n signal = new AS();\n abort(reason) {\n if (this.signal.aborted)\n return;\n //@ts-ignore\n this.signal.reason = reason;\n //@ts-ignore\n this.signal.aborted = true;\n //@ts-ignore\n for (const fn of this.signal._onabort) {\n fn(reason);\n }\n this.signal.onabort?.(reason);\n }\n };\n let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1';\n const warnACPolyfill = () => {\n if (!printACPolyfillWarning)\n return;\n printACPolyfillWarning = false;\n emitWarning('AbortController is not defined. If using lru-cache in ' +\n 'node 14, load an AbortController polyfill from the ' +\n '`node-abort-controller` package. A minimal polyfill is ' +\n 'provided for use by LRUCache.fetch(), but it should not be ' +\n 'relied upon in other contexts (eg, passing it to other APIs that ' +\n 'use AbortController/AbortSignal might have undesirable effects). ' +\n 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.', 'NO_ABORT_CONTROLLER', 'ENOTSUP', warnACPolyfill);\n };\n}\n/* c8 ignore stop */\nconst shouldWarn = (code) => !warned.has(code);\nconst TYPE = Symbol('type');\nconst isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);\n/* c8 ignore start */\n// This is a little bit ridiculous, tbh.\n// The maximum array length is 2^32-1 or thereabouts on most JS impls.\n// And well before that point, you're caching the entire world, I mean,\n// that's ~32GB of just integers for the next/prev links, plus whatever\n// else to hold that many keys and values. Just filling the memory with\n// zeroes at init time is brutal when you get that big.\n// But why not be complete?\n// Maybe in the future, these limits will have expanded.\nconst getUintArray = (max) => !isPosInt(max)\n ? null\n : max <= Math.pow(2, 8)\n ? Uint8Array\n : max <= Math.pow(2, 16)\n ? Uint16Array\n : max <= Math.pow(2, 32)\n ? Uint32Array\n : max <= Number.MAX_SAFE_INTEGER\n ? ZeroArray\n : null;\n/* c8 ignore stop */\nclass ZeroArray extends Array {\n constructor(size) {\n super(size);\n this.fill(0);\n }\n}\nclass Stack {\n heap;\n length;\n // private constructor\n static #constructing = false;\n static create(max) {\n const HeapCls = getUintArray(max);\n if (!HeapCls)\n return [];\n Stack.#constructing = true;\n const s = new Stack(max, HeapCls);\n Stack.#constructing = false;\n return s;\n }\n constructor(max, HeapCls) {\n /* c8 ignore start */\n if (!Stack.#constructing) {\n throw new TypeError('instantiate Stack using Stack.create(n)');\n }\n /* c8 ignore stop */\n this.heap = new HeapCls(max);\n this.length = 0;\n }\n push(n) {\n this.heap[this.length++] = n;\n }\n pop() {\n return this.heap[--this.length];\n }\n}\n/**\n * Default export, the thing you're using this module to get.\n *\n * The `K` and `V` types define the key and value types, respectively. The\n * optional `FC` type defines the type of the `context` object passed to\n * `cache.fetch()` and `cache.memo()`.\n *\n * Keys and values **must not** be `null` or `undefined`.\n *\n * All properties from the options object (with the exception of `max`,\n * `maxSize`, `fetchMethod`, `memoMethod`, `dispose` and `disposeAfter`) are\n * added as normal public members. (The listed options are read-only getters.)\n *\n * Changing any of these will alter the defaults for subsequent method calls.\n */\nexport class LRUCache {\n // options that cannot be changed without disaster\n #max;\n #maxSize;\n #dispose;\n #onInsert;\n #disposeAfter;\n #fetchMethod;\n #memoMethod;\n /**\n * {@link LRUCache.OptionsBase.ttl}\n */\n ttl;\n /**\n * {@link LRUCache.OptionsBase.ttlResolution}\n */\n ttlResolution;\n /**\n * {@link LRUCache.OptionsBase.ttlAutopurge}\n */\n ttlAutopurge;\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnGet}\n */\n updateAgeOnGet;\n /**\n * {@link LRUCache.OptionsBase.updateAgeOnHas}\n */\n updateAgeOnHas;\n /**\n * {@link LRUCache.OptionsBase.allowStale}\n */\n allowStale;\n /**\n * {@link LRUCache.OptionsBase.noDisposeOnSet}\n */\n noDisposeOnSet;\n /**\n * {@link LRUCache.OptionsBase.noUpdateTTL}\n */\n noUpdateTTL;\n /**\n * {@link LRUCache.OptionsBase.maxEntrySize}\n */\n maxEntrySize;\n /**\n * {@link LRUCache.OptionsBase.sizeCalculation}\n */\n sizeCalculation;\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}\n */\n noDeleteOnFetchRejection;\n /**\n * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}\n */\n noDeleteOnStaleGet;\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}\n */\n allowStaleOnFetchAbort;\n /**\n * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}\n */\n allowStaleOnFetchRejection;\n /**\n * {@link LRUCache.OptionsBase.ignoreFetchAbort}\n */\n ignoreFetchAbort;\n // computed properties\n #size;\n #calculatedSize;\n #keyMap;\n #keyList;\n #valList;\n #next;\n #prev;\n #head;\n #tail;\n #free;\n #disposed;\n #sizes;\n #starts;\n #ttls;\n #hasDispose;\n #hasFetchMethod;\n #hasDisposeAfter;\n #hasOnInsert;\n /**\n * Do not call this method unless you need to inspect the\n * inner workings of the cache. If anything returned by this\n * object is modified in any way, strange breakage may occur.\n *\n * These fields are private for a reason!\n *\n * @internal\n */\n static unsafeExposeInternals(c) {\n return {\n // properties\n starts: c.#starts,\n ttls: c.#ttls,\n sizes: c.#sizes,\n keyMap: c.#keyMap,\n keyList: c.#keyList,\n valList: c.#valList,\n next: c.#next,\n prev: c.#prev,\n get head() {\n return c.#head;\n },\n get tail() {\n return c.#tail;\n },\n free: c.#free,\n // methods\n isBackgroundFetch: (p) => c.#isBackgroundFetch(p),\n backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),\n moveToTail: (index) => c.#moveToTail(index),\n indexes: (options) => c.#indexes(options),\n rindexes: (options) => c.#rindexes(options),\n isStale: (index) => c.#isStale(index),\n };\n }\n // Protected read-only members\n /**\n * {@link LRUCache.OptionsBase.max} (read-only)\n */\n get max() {\n return this.#max;\n }\n /**\n * {@link LRUCache.OptionsBase.maxSize} (read-only)\n */\n get maxSize() {\n return this.#maxSize;\n }\n /**\n * The total computed size of items in the cache (read-only)\n */\n get calculatedSize() {\n return this.#calculatedSize;\n }\n /**\n * The number of items stored in the cache (read-only)\n */\n get size() {\n return this.#size;\n }\n /**\n * {@link LRUCache.OptionsBase.fetchMethod} (read-only)\n */\n get fetchMethod() {\n return this.#fetchMethod;\n }\n get memoMethod() {\n return this.#memoMethod;\n }\n /**\n * {@link LRUCache.OptionsBase.dispose} (read-only)\n */\n get dispose() {\n return this.#dispose;\n }\n /**\n * {@link LRUCache.OptionsBase.onInsert} (read-only)\n */\n get onInsert() {\n return this.#onInsert;\n }\n /**\n * {@link LRUCache.OptionsBase.disposeAfter} (read-only)\n */\n get disposeAfter() {\n return this.#disposeAfter;\n }\n constructor(options) {\n const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, onInsert, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, } = options;\n if (max !== 0 && !isPosInt(max)) {\n throw new TypeError('max option must be a nonnegative integer');\n }\n const UintArray = max ? getUintArray(max) : Array;\n if (!UintArray) {\n throw new Error('invalid max value: ' + max);\n }\n this.#max = max;\n this.#maxSize = maxSize;\n this.maxEntrySize = maxEntrySize || this.#maxSize;\n this.sizeCalculation = sizeCalculation;\n if (this.sizeCalculation) {\n if (!this.#maxSize && !this.maxEntrySize) {\n throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize');\n }\n if (typeof this.sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation set to non-function');\n }\n }\n if (memoMethod !== undefined &&\n typeof memoMethod !== 'function') {\n throw new TypeError('memoMethod must be a function if defined');\n }\n this.#memoMethod = memoMethod;\n if (fetchMethod !== undefined &&\n typeof fetchMethod !== 'function') {\n throw new TypeError('fetchMethod must be a function if specified');\n }\n this.#fetchMethod = fetchMethod;\n this.#hasFetchMethod = !!fetchMethod;\n this.#keyMap = new Map();\n this.#keyList = new Array(max).fill(undefined);\n this.#valList = new Array(max).fill(undefined);\n this.#next = new UintArray(max);\n this.#prev = new UintArray(max);\n this.#head = 0;\n this.#tail = 0;\n this.#free = Stack.create(max);\n this.#size = 0;\n this.#calculatedSize = 0;\n if (typeof dispose === 'function') {\n this.#dispose = dispose;\n }\n if (typeof onInsert === 'function') {\n this.#onInsert = onInsert;\n }\n if (typeof disposeAfter === 'function') {\n this.#disposeAfter = disposeAfter;\n this.#disposed = [];\n }\n else {\n this.#disposeAfter = undefined;\n this.#disposed = undefined;\n }\n this.#hasDispose = !!this.#dispose;\n this.#hasOnInsert = !!this.#onInsert;\n this.#hasDisposeAfter = !!this.#disposeAfter;\n this.noDisposeOnSet = !!noDisposeOnSet;\n this.noUpdateTTL = !!noUpdateTTL;\n this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;\n this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;\n this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;\n this.ignoreFetchAbort = !!ignoreFetchAbort;\n // NB: maxEntrySize is set to maxSize if it's set\n if (this.maxEntrySize !== 0) {\n if (this.#maxSize !== 0) {\n if (!isPosInt(this.#maxSize)) {\n throw new TypeError('maxSize must be a positive integer if specified');\n }\n }\n if (!isPosInt(this.maxEntrySize)) {\n throw new TypeError('maxEntrySize must be a positive integer if specified');\n }\n this.#initializeSizeTracking();\n }\n this.allowStale = !!allowStale;\n this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;\n this.updateAgeOnGet = !!updateAgeOnGet;\n this.updateAgeOnHas = !!updateAgeOnHas;\n this.ttlResolution =\n isPosInt(ttlResolution) || ttlResolution === 0\n ? ttlResolution\n : 1;\n this.ttlAutopurge = !!ttlAutopurge;\n this.ttl = ttl || 0;\n if (this.ttl) {\n if (!isPosInt(this.ttl)) {\n throw new TypeError('ttl must be a positive integer if specified');\n }\n this.#initializeTTLTracking();\n }\n // do not allow completely unbounded caches\n if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {\n throw new TypeError('At least one of max, maxSize, or ttl is required');\n }\n if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {\n const code = 'LRU_CACHE_UNBOUNDED';\n if (shouldWarn(code)) {\n warned.add(code);\n const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' +\n 'result in unbounded memory consumption.';\n emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache);\n }\n }\n }\n /**\n * Return the number of ms left in the item's TTL. If item is not in cache,\n * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.\n */\n getRemainingTTL(key) {\n return this.#keyMap.has(key) ? Infinity : 0;\n }\n #initializeTTLTracking() {\n const ttls = new ZeroArray(this.#max);\n const starts = new ZeroArray(this.#max);\n this.#ttls = ttls;\n this.#starts = starts;\n this.#setItemTTL = (index, ttl, start = perf.now()) => {\n starts[index] = ttl !== 0 ? start : 0;\n ttls[index] = ttl;\n if (ttl !== 0 && this.ttlAutopurge) {\n const t = setTimeout(() => {\n if (this.#isStale(index)) {\n this.#delete(this.#keyList[index], 'expire');\n }\n }, ttl + 1);\n // unref() not supported on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref();\n }\n /* c8 ignore stop */\n }\n };\n this.#updateItemAge = index => {\n starts[index] = ttls[index] !== 0 ? perf.now() : 0;\n };\n this.#statusTTL = (status, index) => {\n if (ttls[index]) {\n const ttl = ttls[index];\n const start = starts[index];\n /* c8 ignore next */\n if (!ttl || !start)\n return;\n status.ttl = ttl;\n status.start = start;\n status.now = cachedNow || getNow();\n const age = status.now - start;\n status.remainingTTL = ttl - age;\n }\n };\n // debounce calls to perf.now() to 1s so we're not hitting\n // that costly call repeatedly.\n let cachedNow = 0;\n const getNow = () => {\n const n = perf.now();\n if (this.ttlResolution > 0) {\n cachedNow = n;\n const t = setTimeout(() => (cachedNow = 0), this.ttlResolution);\n // not available on all platforms\n /* c8 ignore start */\n if (t.unref) {\n t.unref();\n }\n /* c8 ignore stop */\n }\n return n;\n };\n this.getRemainingTTL = key => {\n const index = this.#keyMap.get(key);\n if (index === undefined) {\n return 0;\n }\n const ttl = ttls[index];\n const start = starts[index];\n if (!ttl || !start) {\n return Infinity;\n }\n const age = (cachedNow || getNow()) - start;\n return ttl - age;\n };\n this.#isStale = index => {\n const s = starts[index];\n const t = ttls[index];\n return !!t && !!s && (cachedNow || getNow()) - s > t;\n };\n }\n // conditionally set private methods related to TTL\n #updateItemAge = () => { };\n #statusTTL = () => { };\n #setItemTTL = () => { };\n /* c8 ignore stop */\n #isStale = () => false;\n #initializeSizeTracking() {\n const sizes = new ZeroArray(this.#max);\n this.#calculatedSize = 0;\n this.#sizes = sizes;\n this.#removeItemSize = index => {\n this.#calculatedSize -= sizes[index];\n sizes[index] = 0;\n };\n this.#requireSize = (k, v, size, sizeCalculation) => {\n // provisionally accept background fetches.\n // actual value size will be checked when they return.\n if (this.#isBackgroundFetch(v)) {\n return 0;\n }\n if (!isPosInt(size)) {\n if (sizeCalculation) {\n if (typeof sizeCalculation !== 'function') {\n throw new TypeError('sizeCalculation must be a function');\n }\n size = sizeCalculation(v, k);\n if (!isPosInt(size)) {\n throw new TypeError('sizeCalculation return invalid (expect positive integer)');\n }\n }\n else {\n throw new TypeError('invalid size value (must be positive integer). ' +\n 'When maxSize or maxEntrySize is used, sizeCalculation ' +\n 'or size must be set.');\n }\n }\n return size;\n };\n this.#addItemSize = (index, size, status) => {\n sizes[index] = size;\n if (this.#maxSize) {\n const maxSize = this.#maxSize - sizes[index];\n while (this.#calculatedSize > maxSize) {\n this.#evict(true);\n }\n }\n this.#calculatedSize += sizes[index];\n if (status) {\n status.entrySize = size;\n status.totalCalculatedSize = this.#calculatedSize;\n }\n };\n }\n #removeItemSize = _i => { };\n #addItemSize = (_i, _s, _st) => { };\n #requireSize = (_k, _v, size, sizeCalculation) => {\n if (size || sizeCalculation) {\n throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache');\n }\n return 0;\n };\n *#indexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#tail; true;) {\n if (!this.#isValidIndex(i)) {\n break;\n }\n if (allowStale || !this.#isStale(i)) {\n yield i;\n }\n if (i === this.#head) {\n break;\n }\n else {\n i = this.#prev[i];\n }\n }\n }\n }\n *#rindexes({ allowStale = this.allowStale } = {}) {\n if (this.#size) {\n for (let i = this.#head; true;) {\n if (!this.#isValidIndex(i)) {\n break;\n }\n if (allowStale || !this.#isStale(i)) {\n yield i;\n }\n if (i === this.#tail) {\n break;\n }\n else {\n i = this.#next[i];\n }\n }\n }\n }\n #isValidIndex(index) {\n return (index !== undefined &&\n this.#keyMap.get(this.#keyList[index]) === index);\n }\n /**\n * Return a generator yielding `[key, value]` pairs,\n * in order from most recently used to least recently used.\n */\n *entries() {\n for (const i of this.#indexes()) {\n if (this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])) {\n yield [this.#keyList[i], this.#valList[i]];\n }\n }\n }\n /**\n * Inverse order version of {@link LRUCache.entries}\n *\n * Return a generator yielding `[key, value]` pairs,\n * in order from least recently used to most recently used.\n */\n *rentries() {\n for (const i of this.#rindexes()) {\n if (this.#valList[i] !== undefined &&\n this.#keyList[i] !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])) {\n yield [this.#keyList[i], this.#valList[i]];\n }\n }\n }\n /**\n * Return a generator yielding the keys in the cache,\n * in order from most recently used to least recently used.\n */\n *keys() {\n for (const i of this.#indexes()) {\n const k = this.#keyList[i];\n if (k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])) {\n yield k;\n }\n }\n }\n /**\n * Inverse order version of {@link LRUCache.keys}\n *\n * Return a generator yielding the keys in the cache,\n * in order from least recently used to most recently used.\n */\n *rkeys() {\n for (const i of this.#rindexes()) {\n const k = this.#keyList[i];\n if (k !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])) {\n yield k;\n }\n }\n }\n /**\n * Return a generator yielding the values in the cache,\n * in order from most recently used to least recently used.\n */\n *values() {\n for (const i of this.#indexes()) {\n const v = this.#valList[i];\n if (v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])) {\n yield this.#valList[i];\n }\n }\n }\n /**\n * Inverse order version of {@link LRUCache.values}\n *\n * Return a generator yielding the values in the cache,\n * in order from least recently used to most recently used.\n */\n *rvalues() {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i];\n if (v !== undefined &&\n !this.#isBackgroundFetch(this.#valList[i])) {\n yield this.#valList[i];\n }\n }\n }\n /**\n * Iterating over the cache itself yields the same results as\n * {@link LRUCache.entries}\n */\n [Symbol.iterator]() {\n return this.entries();\n }\n /**\n * A String value that is used in the creation of the default string\n * description of an object. Called by the built-in method\n * `Object.prototype.toString`.\n */\n [Symbol.toStringTag] = 'LRUCache';\n /**\n * Find a value for which the supplied fn method returns a truthy value,\n * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.\n */\n find(fn, getOptions = {}) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i];\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v;\n if (value === undefined)\n continue;\n if (fn(value, this.#keyList[i], this)) {\n return this.get(this.#keyList[i], getOptions);\n }\n }\n }\n /**\n * Call the supplied function on each item in the cache, in order from most\n * recently used to least recently used.\n *\n * `fn` is called as `fn(value, key, cache)`.\n *\n * If `thisp` is provided, function will be called in the `this`-context of\n * the provided object, or the cache if no `thisp` object is provided.\n *\n * Does not update age or recenty of use, or iterate over stale values.\n */\n forEach(fn, thisp = this) {\n for (const i of this.#indexes()) {\n const v = this.#valList[i];\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v;\n if (value === undefined)\n continue;\n fn.call(thisp, value, this.#keyList[i], this);\n }\n }\n /**\n * The same as {@link LRUCache.forEach} but items are iterated over in\n * reverse order. (ie, less recently used items are iterated over first.)\n */\n rforEach(fn, thisp = this) {\n for (const i of this.#rindexes()) {\n const v = this.#valList[i];\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v;\n if (value === undefined)\n continue;\n fn.call(thisp, value, this.#keyList[i], this);\n }\n }\n /**\n * Delete any stale entries. Returns true if anything was removed,\n * false otherwise.\n */\n purgeStale() {\n let deleted = false;\n for (const i of this.#rindexes({ allowStale: true })) {\n if (this.#isStale(i)) {\n this.#delete(this.#keyList[i], 'expire');\n deleted = true;\n }\n }\n return deleted;\n }\n /**\n * Get the extended info about a given entry, to get its value, size, and\n * TTL info simultaneously. Returns `undefined` if the key is not present.\n *\n * Unlike {@link LRUCache#dump}, which is designed to be portable and survive\n * serialization, the `start` value is always the current timestamp, and the\n * `ttl` is a calculated remaining time to live (negative if expired).\n *\n * Always returns stale values, if their info is found in the cache, so be\n * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})\n * if relevant.\n */\n info(key) {\n const i = this.#keyMap.get(key);\n if (i === undefined)\n return undefined;\n const v = this.#valList[i];\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v;\n if (value === undefined)\n return undefined;\n const entry = { value };\n if (this.#ttls && this.#starts) {\n const ttl = this.#ttls[i];\n const start = this.#starts[i];\n if (ttl && start) {\n const remain = ttl - (perf.now() - start);\n entry.ttl = remain;\n entry.start = Date.now();\n }\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i];\n }\n return entry;\n }\n /**\n * Return an array of [key, {@link LRUCache.Entry}] tuples which can be\n * passed to {@link LRUCache#load}.\n *\n * The `start` fields are calculated relative to a portable `Date.now()`\n * timestamp, even if `performance.now()` is available.\n *\n * Stale entries are always included in the `dump`, even if\n * {@link LRUCache.OptionsBase.allowStale} is false.\n *\n * Note: this returns an actual array, not a generator, so it can be more\n * easily passed around.\n */\n dump() {\n const arr = [];\n for (const i of this.#indexes({ allowStale: true })) {\n const key = this.#keyList[i];\n const v = this.#valList[i];\n const value = this.#isBackgroundFetch(v)\n ? v.__staleWhileFetching\n : v;\n if (value === undefined || key === undefined)\n continue;\n const entry = { value };\n if (this.#ttls && this.#starts) {\n entry.ttl = this.#ttls[i];\n // always dump the start relative to a portable timestamp\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = perf.now() - this.#starts[i];\n entry.start = Math.floor(Date.now() - age);\n }\n if (this.#sizes) {\n entry.size = this.#sizes[i];\n }\n arr.unshift([key, entry]);\n }\n return arr;\n }\n /**\n * Reset the cache and load in the items in entries in the order listed.\n *\n * The shape of the resulting cache may be different if the same options are\n * not used in both caches.\n *\n * The `start` fields are assumed to be calculated relative to a portable\n * `Date.now()` timestamp, even if `performance.now()` is available.\n */\n load(arr) {\n this.clear();\n for (const [key, entry] of arr) {\n if (entry.start) {\n // entry.start is a portable timestamp, but we may be using\n // node's performance.now(), so calculate the offset, so that\n // we get the intended remaining TTL, no matter how long it's\n // been on ice.\n //\n // it's ok for this to be a bit slow, it's a rare operation.\n const age = Date.now() - entry.start;\n entry.start = perf.now() - age;\n }\n this.set(key, entry.value, entry);\n }\n }\n /**\n * Add a value to the cache.\n *\n * Note: if `undefined` is specified as a value, this is an alias for\n * {@link LRUCache#delete}\n *\n * Fields on the {@link LRUCache.SetOptions} options param will override\n * their corresponding values in the constructor options for the scope\n * of this single `set()` operation.\n *\n * If `start` is provided, then that will set the effective start\n * time for the TTL calculation. Note that this must be a previous\n * value of `performance.now()` if supported, or a previous value of\n * `Date.now()` if not.\n *\n * Options object may also include `size`, which will prevent\n * calling the `sizeCalculation` function and just use the specified\n * number if it is a positive integer, and `noDisposeOnSet` which\n * will prevent calling a `dispose` function in the case of\n * overwrites.\n *\n * If the `size` (or return value of `sizeCalculation`) for a given\n * entry is greater than `maxEntrySize`, then the item will not be\n * added to the cache.\n *\n * Will update the recency of the entry.\n *\n * If the value is `undefined`, then this is an alias for\n * `cache.delete(key)`. `undefined` is never stored in the cache.\n */\n set(k, v, setOptions = {}) {\n if (v === undefined) {\n this.delete(k);\n return this;\n }\n const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;\n let { noUpdateTTL = this.noUpdateTTL } = setOptions;\n const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);\n // if the item doesn't fit, don't do anything\n // NB: maxEntrySize set to maxSize by default\n if (this.maxEntrySize && size > this.maxEntrySize) {\n if (status) {\n status.set = 'miss';\n status.maxEntrySizeExceeded = true;\n }\n // have to delete, in case something is there already.\n this.#delete(k, 'set');\n return this;\n }\n let index = this.#size === 0 ? undefined : this.#keyMap.get(k);\n if (index === undefined) {\n // addition\n index = (this.#size === 0\n ? this.#tail\n : this.#free.length !== 0\n ? this.#free.pop()\n : this.#size === this.#max\n ? this.#evict(false)\n : this.#size);\n this.#keyList[index] = k;\n this.#valList[index] = v;\n this.#keyMap.set(k, index);\n this.#next[this.#tail] = index;\n this.#prev[index] = this.#tail;\n this.#tail = index;\n this.#size++;\n this.#addItemSize(index, size, status);\n if (status)\n status.set = 'add';\n noUpdateTTL = false;\n if (this.#hasOnInsert) {\n this.#onInsert?.(v, k, 'add');\n }\n }\n else {\n // update\n this.#moveToTail(index);\n const oldVal = this.#valList[index];\n if (v !== oldVal) {\n if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {\n oldVal.__abortController.abort(new Error('replaced'));\n const { __staleWhileFetching: s } = oldVal;\n if (s !== undefined && !noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(s, k, 'set');\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([s, k, 'set']);\n }\n }\n }\n else if (!noDisposeOnSet) {\n if (this.#hasDispose) {\n this.#dispose?.(oldVal, k, 'set');\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([oldVal, k, 'set']);\n }\n }\n this.#removeItemSize(index);\n this.#addItemSize(index, size, status);\n this.#valList[index] = v;\n if (status) {\n status.set = 'replace';\n const oldValue = oldVal && this.#isBackgroundFetch(oldVal)\n ? oldVal.__staleWhileFetching\n : oldVal;\n if (oldValue !== undefined)\n status.oldValue = oldValue;\n }\n }\n else if (status) {\n status.set = 'update';\n }\n if (this.#hasOnInsert) {\n this.onInsert?.(v, k, v === oldVal ? 'update' : 'replace');\n }\n }\n if (ttl !== 0 && !this.#ttls) {\n this.#initializeTTLTracking();\n }\n if (this.#ttls) {\n if (!noUpdateTTL) {\n this.#setItemTTL(index, ttl, start);\n }\n if (status)\n this.#statusTTL(status, index);\n }\n if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed;\n let task;\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task);\n }\n }\n return this;\n }\n /**\n * Evict the least recently used item, returning its value or\n * `undefined` if cache is empty.\n */\n pop() {\n try {\n while (this.#size) {\n const val = this.#valList[this.#head];\n this.#evict(true);\n if (this.#isBackgroundFetch(val)) {\n if (val.__staleWhileFetching) {\n return val.__staleWhileFetching;\n }\n }\n else if (val !== undefined) {\n return val;\n }\n }\n }\n finally {\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed;\n let task;\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task);\n }\n }\n }\n }\n #evict(free) {\n const head = this.#head;\n const k = this.#keyList[head];\n const v = this.#valList[head];\n if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('evicted'));\n }\n else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v, k, 'evict');\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, 'evict']);\n }\n }\n this.#removeItemSize(head);\n // if we aren't about to use the index, then null these out\n if (free) {\n this.#keyList[head] = undefined;\n this.#valList[head] = undefined;\n this.#free.push(head);\n }\n if (this.#size === 1) {\n this.#head = this.#tail = 0;\n this.#free.length = 0;\n }\n else {\n this.#head = this.#next[head];\n }\n this.#keyMap.delete(k);\n this.#size--;\n return head;\n }\n /**\n * Check if a key is in the cache, without updating the recency of use.\n * Will return false if the item is stale, even though it is technically\n * in the cache.\n *\n * Check if a key is in the cache, without updating the recency of\n * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set\n * to `true` in either the options or the constructor.\n *\n * Will return `false` if the item is stale, even though it is technically in\n * the cache. The difference can be determined (if it matters) by using a\n * `status` argument, and inspecting the `has` field.\n *\n * Will not update item age unless\n * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.\n */\n has(k, hasOptions = {}) {\n const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;\n const index = this.#keyMap.get(k);\n if (index !== undefined) {\n const v = this.#valList[index];\n if (this.#isBackgroundFetch(v) &&\n v.__staleWhileFetching === undefined) {\n return false;\n }\n if (!this.#isStale(index)) {\n if (updateAgeOnHas) {\n this.#updateItemAge(index);\n }\n if (status) {\n status.has = 'hit';\n this.#statusTTL(status, index);\n }\n return true;\n }\n else if (status) {\n status.has = 'stale';\n this.#statusTTL(status, index);\n }\n }\n else if (status) {\n status.has = 'miss';\n }\n return false;\n }\n /**\n * Like {@link LRUCache#get} but doesn't update recency or delete stale\n * items.\n *\n * Returns `undefined` if the item is stale, unless\n * {@link LRUCache.OptionsBase.allowStale} is set.\n */\n peek(k, peekOptions = {}) {\n const { allowStale = this.allowStale } = peekOptions;\n const index = this.#keyMap.get(k);\n if (index === undefined ||\n (!allowStale && this.#isStale(index))) {\n return;\n }\n const v = this.#valList[index];\n // either stale and allowed, or forcing a refresh of non-stale value\n return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;\n }\n #backgroundFetch(k, index, options, context) {\n const v = index === undefined ? undefined : this.#valList[index];\n if (this.#isBackgroundFetch(v)) {\n return v;\n }\n const ac = new AC();\n const { signal } = options;\n // when/if our AC signals, then stop listening to theirs.\n signal?.addEventListener('abort', () => ac.abort(signal.reason), {\n signal: ac.signal,\n });\n const fetchOpts = {\n signal: ac.signal,\n options,\n context,\n };\n const cb = (v, updateCache = false) => {\n const { aborted } = ac.signal;\n const ignoreAbort = options.ignoreFetchAbort && v !== undefined;\n if (options.status) {\n if (aborted && !updateCache) {\n options.status.fetchAborted = true;\n options.status.fetchError = ac.signal.reason;\n if (ignoreAbort)\n options.status.fetchAbortIgnored = true;\n }\n else {\n options.status.fetchResolved = true;\n }\n }\n if (aborted && !ignoreAbort && !updateCache) {\n return fetchFail(ac.signal.reason);\n }\n // either we didn't abort, and are still here, or we did, and ignored\n const bf = p;\n if (this.#valList[index] === p) {\n if (v === undefined) {\n if (bf.__staleWhileFetching) {\n this.#valList[index] = bf.__staleWhileFetching;\n }\n else {\n this.#delete(k, 'fetch');\n }\n }\n else {\n if (options.status)\n options.status.fetchUpdated = true;\n this.set(k, v, fetchOpts.options);\n }\n }\n return v;\n };\n const eb = (er) => {\n if (options.status) {\n options.status.fetchRejected = true;\n options.status.fetchError = er;\n }\n return fetchFail(er);\n };\n const fetchFail = (er) => {\n const { aborted } = ac.signal;\n const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;\n const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;\n const noDelete = allowStale || options.noDeleteOnFetchRejection;\n const bf = p;\n if (this.#valList[index] === p) {\n // if we allow stale on fetch rejections, then we need to ensure that\n // the stale value is not removed from the cache when the fetch fails.\n const del = !noDelete || bf.__staleWhileFetching === undefined;\n if (del) {\n this.#delete(k, 'fetch');\n }\n else if (!allowStaleAborted) {\n // still replace the *promise* with the stale value,\n // since we are done with the promise at this point.\n // leave it untouched if we're still waiting for an\n // aborted background fetch that hasn't yet returned.\n this.#valList[index] = bf.__staleWhileFetching;\n }\n }\n if (allowStale) {\n if (options.status && bf.__staleWhileFetching !== undefined) {\n options.status.returnedStale = true;\n }\n return bf.__staleWhileFetching;\n }\n else if (bf.__returned === bf) {\n throw er;\n }\n };\n const pcall = (res, rej) => {\n const fmp = this.#fetchMethod?.(k, v, fetchOpts);\n if (fmp && fmp instanceof Promise) {\n fmp.then(v => res(v === undefined ? undefined : v), rej);\n }\n // ignored, we go until we finish, regardless.\n // defer check until we are actually aborting,\n // so fetchMethod can override.\n ac.signal.addEventListener('abort', () => {\n if (!options.ignoreFetchAbort ||\n options.allowStaleOnFetchAbort) {\n res(undefined);\n // when it eventually resolves, update the cache.\n if (options.allowStaleOnFetchAbort) {\n res = v => cb(v, true);\n }\n }\n });\n };\n if (options.status)\n options.status.fetchDispatched = true;\n const p = new Promise(pcall).then(cb, eb);\n const bf = Object.assign(p, {\n __abortController: ac,\n __staleWhileFetching: v,\n __returned: undefined,\n });\n if (index === undefined) {\n // internal, don't expose status.\n this.set(k, bf, { ...fetchOpts.options, status: undefined });\n index = this.#keyMap.get(k);\n }\n else {\n this.#valList[index] = bf;\n }\n return bf;\n }\n #isBackgroundFetch(p) {\n if (!this.#hasFetchMethod)\n return false;\n const b = p;\n return (!!b &&\n b instanceof Promise &&\n b.hasOwnProperty('__staleWhileFetching') &&\n b.__abortController instanceof AC);\n }\n async fetch(k, fetchOptions = {}) {\n const { \n // get options\n allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, \n // set options\n ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, \n // fetch exclusive options\n noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal, } = fetchOptions;\n if (!this.#hasFetchMethod) {\n if (status)\n status.fetch = 'get';\n return this.get(k, {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n status,\n });\n }\n const options = {\n allowStale,\n updateAgeOnGet,\n noDeleteOnStaleGet,\n ttl,\n noDisposeOnSet,\n size,\n sizeCalculation,\n noUpdateTTL,\n noDeleteOnFetchRejection,\n allowStaleOnFetchRejection,\n allowStaleOnFetchAbort,\n ignoreFetchAbort,\n status,\n signal,\n };\n let index = this.#keyMap.get(k);\n if (index === undefined) {\n if (status)\n status.fetch = 'miss';\n const p = this.#backgroundFetch(k, index, options, context);\n return (p.__returned = p);\n }\n else {\n // in cache, maybe already fetching\n const v = this.#valList[index];\n if (this.#isBackgroundFetch(v)) {\n const stale = allowStale && v.__staleWhileFetching !== undefined;\n if (status) {\n status.fetch = 'inflight';\n if (stale)\n status.returnedStale = true;\n }\n return stale ? v.__staleWhileFetching : (v.__returned = v);\n }\n // if we force a refresh, that means do NOT serve the cached value,\n // unless we are already in the process of refreshing the cache.\n const isStale = this.#isStale(index);\n if (!forceRefresh && !isStale) {\n if (status)\n status.fetch = 'hit';\n this.#moveToTail(index);\n if (updateAgeOnGet) {\n this.#updateItemAge(index);\n }\n if (status)\n this.#statusTTL(status, index);\n return v;\n }\n // ok, it is stale or a forced refresh, and not already fetching.\n // refresh the cache.\n const p = this.#backgroundFetch(k, index, options, context);\n const hasStale = p.__staleWhileFetching !== undefined;\n const staleVal = hasStale && allowStale;\n if (status) {\n status.fetch = isStale ? 'stale' : 'refresh';\n if (staleVal && isStale)\n status.returnedStale = true;\n }\n return staleVal ? p.__staleWhileFetching : (p.__returned = p);\n }\n }\n async forceFetch(k, fetchOptions = {}) {\n const v = await this.fetch(k, fetchOptions);\n if (v === undefined)\n throw new Error('fetch() returned undefined');\n return v;\n }\n memo(k, memoOptions = {}) {\n const memoMethod = this.#memoMethod;\n if (!memoMethod) {\n throw new Error('no memoMethod provided to constructor');\n }\n const { context, forceRefresh, ...options } = memoOptions;\n const v = this.get(k, options);\n if (!forceRefresh && v !== undefined)\n return v;\n const vv = memoMethod(k, v, {\n options,\n context,\n });\n this.set(k, vv, options);\n return vv;\n }\n /**\n * Return a value from the cache. Will update the recency of the cache\n * entry found.\n *\n * If the key is not found, get() will return `undefined`.\n */\n get(k, getOptions = {}) {\n const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status, } = getOptions;\n const index = this.#keyMap.get(k);\n if (index !== undefined) {\n const value = this.#valList[index];\n const fetching = this.#isBackgroundFetch(value);\n if (status)\n this.#statusTTL(status, index);\n if (this.#isStale(index)) {\n if (status)\n status.get = 'stale';\n // delete only if not an in-flight background fetch\n if (!fetching) {\n if (!noDeleteOnStaleGet) {\n this.#delete(k, 'expire');\n }\n if (status && allowStale)\n status.returnedStale = true;\n return allowStale ? value : undefined;\n }\n else {\n if (status &&\n allowStale &&\n value.__staleWhileFetching !== undefined) {\n status.returnedStale = true;\n }\n return allowStale ? value.__staleWhileFetching : undefined;\n }\n }\n else {\n if (status)\n status.get = 'hit';\n // if we're currently fetching it, we don't actually have it yet\n // it's not stale, which means this isn't a staleWhileRefetching.\n // If it's not stale, and fetching, AND has a __staleWhileFetching\n // value, then that means the user fetched with {forceRefresh:true},\n // so it's safe to return that value.\n if (fetching) {\n return value.__staleWhileFetching;\n }\n this.#moveToTail(index);\n if (updateAgeOnGet) {\n this.#updateItemAge(index);\n }\n return value;\n }\n }\n else if (status) {\n status.get = 'miss';\n }\n }\n #connect(p, n) {\n this.#prev[n] = p;\n this.#next[p] = n;\n }\n #moveToTail(index) {\n // if tail already, nothing to do\n // if head, move head to next[index]\n // else\n // move next[prev[index]] to next[index] (head has no prev)\n // move prev[next[index]] to prev[index]\n // prev[index] = tail\n // next[tail] = index\n // tail = index\n if (index !== this.#tail) {\n if (index === this.#head) {\n this.#head = this.#next[index];\n }\n else {\n this.#connect(this.#prev[index], this.#next[index]);\n }\n this.#connect(this.#tail, index);\n this.#tail = index;\n }\n }\n /**\n * Deletes a key out of the cache.\n *\n * Returns true if the key was deleted, false otherwise.\n */\n delete(k) {\n return this.#delete(k, 'delete');\n }\n #delete(k, reason) {\n let deleted = false;\n if (this.#size !== 0) {\n const index = this.#keyMap.get(k);\n if (index !== undefined) {\n deleted = true;\n if (this.#size === 1) {\n this.#clear(reason);\n }\n else {\n this.#removeItemSize(index);\n const v = this.#valList[index];\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'));\n }\n else if (this.#hasDispose || this.#hasDisposeAfter) {\n if (this.#hasDispose) {\n this.#dispose?.(v, k, reason);\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, reason]);\n }\n }\n this.#keyMap.delete(k);\n this.#keyList[index] = undefined;\n this.#valList[index] = undefined;\n if (index === this.#tail) {\n this.#tail = this.#prev[index];\n }\n else if (index === this.#head) {\n this.#head = this.#next[index];\n }\n else {\n const pi = this.#prev[index];\n this.#next[pi] = this.#next[index];\n const ni = this.#next[index];\n this.#prev[ni] = this.#prev[index];\n }\n this.#size--;\n this.#free.push(index);\n }\n }\n }\n if (this.#hasDisposeAfter && this.#disposed?.length) {\n const dt = this.#disposed;\n let task;\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task);\n }\n }\n return deleted;\n }\n /**\n * Clear the cache entirely, throwing away all values.\n */\n clear() {\n return this.#clear('delete');\n }\n #clear(reason) {\n for (const index of this.#rindexes({ allowStale: true })) {\n const v = this.#valList[index];\n if (this.#isBackgroundFetch(v)) {\n v.__abortController.abort(new Error('deleted'));\n }\n else {\n const k = this.#keyList[index];\n if (this.#hasDispose) {\n this.#dispose?.(v, k, reason);\n }\n if (this.#hasDisposeAfter) {\n this.#disposed?.push([v, k, reason]);\n }\n }\n }\n this.#keyMap.clear();\n this.#valList.fill(undefined);\n this.#keyList.fill(undefined);\n if (this.#ttls && this.#starts) {\n this.#ttls.fill(0);\n this.#starts.fill(0);\n }\n if (this.#sizes) {\n this.#sizes.fill(0);\n }\n this.#head = 0;\n this.#tail = 0;\n this.#free.length = 0;\n this.#calculatedSize = 0;\n this.#size = 0;\n if (this.#hasDisposeAfter && this.#disposed) {\n const dt = this.#disposed;\n let task;\n while ((task = dt?.shift())) {\n this.#disposeAfter?.(...task);\n }\n }\n }\n}\n//# sourceMappingURL=index.js.map", + "import { useEffect, useRef } from \"react\"\n\ntype VoidFn = () => void\n\n/**\n * Runs `effectRef.current()` after `delay` ms whenever any of the `deps` change,\n * but cancels/re-schedules if they change again before the delay.\n */\nexport function useDebounceEffect(effect: VoidFn, delay: number, deps: any[]) {\n\tconst callbackRef = useRef<VoidFn>(effect)\n\tconst timeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n\t// Keep callbackRef current\n\tuseEffect(() => {\n\t\tcallbackRef.current = effect\n\t}, [effect])\n\n\tuseEffect(() => {\n\t\t// Clear any queued call\n\t\tif (timeoutRef.current) {\n\t\t\tclearTimeout(timeoutRef.current)\n\t\t}\n\n\t\t// Schedule a new call\n\t\ttimeoutRef.current = setTimeout(() => {\n\t\t\t// always call the *latest* version of effect\n\t\t\tcallbackRef.current()\n\t\t}, delay)\n\n\t\t// Cleanup on unmount or next effect\n\t\treturn () => {\n\t\t\tif (timeoutRef.current) {\n\t\t\t\tclearTimeout(timeoutRef.current)\n\t\t\t}\n\t\t}\n\n\t\t// We want to re‐schedule if any item in `deps` changed,\n\t\t// or if `delay` changed.\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [delay, ...deps])\n}\n", + "/**\n * Utility function to append new images to existing images array\n * while respecting the maximum image limit\n *\n * @param currentImages - The current array of images\n * @param newImages - The new images to append\n * @param maxImages - The maximum number of images allowed\n * @returns The updated images array\n */\nexport function appendImages(currentImages: string[], newImages: string[] | undefined, maxImages: number): string[] {\n\tconst imagesToAdd = newImages ?? []\n\tif (imagesToAdd.length === 0) {\n\t\treturn currentImages\n\t}\n\n\treturn [...currentImages, ...imagesToAdd].slice(0, maxImages)\n}\n", + "import type { ClineMessage } from \"@roo-code/types\"\n\n/**\n * Combines API request start and finish messages in an array of ClineMessages.\n *\n * This function looks for pairs of 'api_req_started' and 'api_req_finished' messages.\n * When it finds a pair, it combines them into a single 'api_req_combined' message.\n * The JSON data in the text fields of both messages are merged.\n *\n * @param messages - An array of ClineMessage objects to process.\n * @returns A new array of ClineMessage objects with API requests combined.\n *\n * @example\n * const messages = [\n * { type: \"say\", say: \"api_req_started\", text: '{\"request\":\"GET /api/data\"}', ts: 1000 },\n * { type: \"say\", say: \"api_req_finished\", text: '{\"cost\":0.005}', ts: 1001 }\n * ];\n * const result = combineApiRequests(messages);\n * // Result: [{ type: \"say\", say: \"api_req_started\", text: '{\"request\":\"GET /api/data\",\"cost\":0.005}', ts: 1000 }]\n */\nexport function combineApiRequests(messages: ClineMessage[]): ClineMessage[] {\n\tif (messages.length === 0) {\n\t\treturn []\n\t}\n\n\tif (messages.length === 1) {\n\t\treturn messages\n\t}\n\n\tlet isMergeNecessary = false\n\n\tfor (const msg of messages) {\n\t\tif (msg.type === \"say\" && (msg.say === \"api_req_started\" || msg.say === \"api_req_finished\")) {\n\t\t\tisMergeNecessary = true\n\t\t\tbreak\n\t\t}\n\t}\n\n\tif (!isMergeNecessary) {\n\t\treturn messages\n\t}\n\n\tconst result: ClineMessage[] = []\n\tconst startedIndices: number[] = []\n\n\tfor (const message of messages) {\n\t\tif (message.type !== \"say\" || (message.say !== \"api_req_started\" && message.say !== \"api_req_finished\")) {\n\t\t\tresult.push(message)\n\t\t\tcontinue\n\t\t}\n\n\t\tif (message.say === \"api_req_started\") {\n\t\t\t// Add to result and track the index.\n\t\t\tresult.push(message)\n\t\t\tstartedIndices.push(result.length - 1)\n\t\t\tcontinue\n\t\t}\n\n\t\t// Find the most recent api_req_started that hasn't been combined.\n\t\tconst startIndex = startedIndices.length > 0 ? startedIndices.pop() : undefined\n\n\t\tif (startIndex !== undefined) {\n\t\t\tconst startMessage = result[startIndex]\n\t\t\tlet startData = {}\n\t\t\tlet finishData = {}\n\n\t\t\ttry {\n\t\t\t\tif (startMessage.text) {\n\t\t\t\t\tstartData = JSON.parse(startMessage.text)\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\ttry {\n\t\t\t\tif (message.text) {\n\t\t\t\t\tfinishData = JSON.parse(message.text)\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tresult[startIndex] = { ...startMessage, text: JSON.stringify({ ...startData, ...finishData }) }\n\t\t}\n\t}\n\n\treturn result\n}\n", + "/**\n * Safely parses JSON without crashing on invalid input\n *\n * @param jsonString The string to parse\n * @param defaultValue Value to return if parsing fails\n * @returns Parsed JSON object or defaultValue if parsing fails\n */\nexport function safeJsonParse<T>(jsonString: string | null | undefined, defaultValue?: T): T | undefined {\n\tif (!jsonString) {\n\t\treturn defaultValue\n\t}\n\n\ttry {\n\t\treturn JSON.parse(jsonString) as T\n\t} catch (error) {\n\t\t// Log the error to the console for debugging\n\t\tconsole.error(\"Error parsing JSON:\", error)\n\t\treturn defaultValue\n\t}\n}\n", + "import { ClineMessage } from \"@roo-code/types\"\nimport { safeJsonParse } from \"./safeJsonParse\"\n\nexport const COMMAND_OUTPUT_STRING = \"Output:\"\n\n/**\n * Combines sequences of command and command_output messages in an array of ClineMessages.\n * Also combines sequences of use_mcp_server and mcp_server_response messages.\n *\n * This function processes an array of ClineMessages objects, looking for sequences\n * where a 'command' message is followed by one or more 'command_output' messages,\n * or where a 'use_mcp_server' message is followed by one or more 'mcp_server_response' messages.\n * When such a sequence is found, it combines them into a single message, merging\n * their text contents.\n *\n * @param messages - An array of ClineMessage objects to process.\n * @returns A new array of ClineMessage objects with command and MCP sequences combined.\n *\n * @example\n * const messages: ClineMessage[] = [\n * { type: 'ask', ask: 'command', text: 'ls', ts: 1625097600000 },\n * { type: 'ask', ask: 'command_output', text: 'file1.txt', ts: 1625097601000 },\n * { type: 'ask', ask: 'command_output', text: 'file2.txt', ts: 1625097602000 }\n * ];\n * const result = simpleCombineCommandSequences(messages);\n * // Result: [{ type: 'ask', ask: 'command', text: 'ls\\nfile1.txt\\nfile2.txt', ts: 1625097600000 }]\n */\nexport function combineCommandSequences(messages: ClineMessage[]): ClineMessage[] {\n\tconst combinedMessages = new Map<number, ClineMessage>()\n\tconst processedIndices = new Set<number>()\n\n\t// Single pass through all messages\n\tfor (let i = 0; i < messages.length; i++) {\n\t\tconst msg = messages[i]\n\n\t\t// Handle MCP server requests\n\t\tif (msg.type === \"ask\" && msg.ask === \"use_mcp_server\") {\n\t\t\t// Look ahead for MCP responses\n\t\t\tlet responses: string[] = []\n\t\t\tlet j = i + 1\n\n\t\t\twhile (j < messages.length) {\n\t\t\t\tif (messages[j].say === \"mcp_server_response\") {\n\t\t\t\t\tresponses.push(messages[j].text || \"\")\n\t\t\t\t\tprocessedIndices.add(j)\n\t\t\t\t\tj++\n\t\t\t\t} else if (messages[j].type === \"ask\" && messages[j].ask === \"use_mcp_server\") {\n\t\t\t\t\t// Stop if we encounter another MCP request\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\tj++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (responses.length > 0) {\n\t\t\t\t// Parse the JSON from the message text\n\t\t\t\tconst jsonObj = safeJsonParse<any>(msg.text || \"{}\", {})\n\n\t\t\t\t// Add the response to the JSON object\n\t\t\t\tjsonObj.response = responses.join(\"\\n\")\n\n\t\t\t\t// Stringify the updated JSON object\n\t\t\t\tconst combinedText = JSON.stringify(jsonObj)\n\n\t\t\t\tcombinedMessages.set(msg.ts, { ...msg, text: combinedText })\n\t\t\t} else {\n\t\t\t\t// If there's no response, just keep the original message\n\t\t\t\tcombinedMessages.set(msg.ts, { ...msg })\n\t\t\t}\n\t\t}\n\t\t// Handle command sequences\n\t\telse if (msg.type === \"ask\" && msg.ask === \"command\") {\n\t\t\tlet combinedText = msg.text || \"\"\n\t\t\tlet j = i + 1\n\t\t\tlet previous: { type: \"ask\" | \"say\"; text: string } | undefined\n\t\t\tlet lastProcessedIndex = i\n\n\t\t\twhile (j < messages.length) {\n\t\t\t\tconst { type, ask, say, text = \"\" } = messages[j]\n\n\t\t\t\tif (type === \"ask\" && ask === \"command\") {\n\t\t\t\t\tbreak // Stop if we encounter the next command.\n\t\t\t\t}\n\n\t\t\t\tif (ask === \"command_output\" || say === \"command_output\") {\n\t\t\t\t\tif (!previous) {\n\t\t\t\t\t\tcombinedText += `\\n${COMMAND_OUTPUT_STRING}`\n\t\t\t\t\t}\n\n\t\t\t\t\tconst isDuplicate = previous && previous.type !== type && previous.text === text\n\n\t\t\t\t\tif (text.length > 0 && !isDuplicate) {\n\t\t\t\t\t\t// Add a newline before adding the text if there's already content\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tprevious &&\n\t\t\t\t\t\t\tcombinedText.length >\n\t\t\t\t\t\t\t\tcombinedText.indexOf(COMMAND_OUTPUT_STRING) + COMMAND_OUTPUT_STRING.length\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcombinedText += \"\\n\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcombinedText += text\n\t\t\t\t\t}\n\n\t\t\t\t\tprevious = { type, text }\n\t\t\t\t\tprocessedIndices.add(j)\n\t\t\t\t\tlastProcessedIndex = j\n\t\t\t\t}\n\n\t\t\t\tj++\n\t\t\t}\n\n\t\t\tcombinedMessages.set(msg.ts, { ...msg, text: combinedText })\n\n\t\t\t// Only skip ahead if we actually processed command outputs\n\t\t\tif (lastProcessedIndex > i) {\n\t\t\t\ti = lastProcessedIndex\n\t\t\t}\n\t\t}\n\t}\n\n\t// Build final result: filter out processed messages and use combined versions\n\tconst result: ClineMessage[] = []\n\tfor (let i = 0; i < messages.length; i++) {\n\t\tconst msg = messages[i]\n\n\t\t// Skip messages that were processed as outputs/responses\n\t\tif (processedIndices.has(i)) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Skip command_output and mcp_server_response messages\n\t\tif (msg.ask === \"command_output\" || msg.say === \"command_output\" || msg.say === \"mcp_server_response\") {\n\t\t\tcontinue\n\t\t}\n\n\t\t// Use combined version if available\n\t\tif (combinedMessages.has(msg.ts)) {\n\t\t\tresult.push(combinedMessages.get(msg.ts)!)\n\t\t} else {\n\t\t\tresult.push(msg)\n\t\t}\n\t}\n\n\treturn result\n}\n", + "import type { TokenUsage, ClineMessage } from \"@roo-code/types\"\n\nexport type ParsedApiReqStartedTextType = {\n\ttokensIn: number\n\ttokensOut: number\n\tcacheWrites: number\n\tcacheReads: number\n\tcost?: number // Only present if combineApiRequests has been called\n\tapiProtocol?: \"anthropic\" | \"openai\"\n}\n\n/**\n * Calculates API metrics from an array of ClineMessages.\n *\n * This function processes 'condense_context' messages and 'api_req_started' messages that have been\n * combined with their corresponding 'api_req_finished' messages by the combineApiRequests function.\n * It extracts and sums up the tokensIn, tokensOut, cacheWrites, cacheReads, and cost from these messages.\n *\n * @param messages - An array of ClineMessage objects to process.\n * @returns An ApiMetrics object containing totalTokensIn, totalTokensOut, totalCacheWrites, totalCacheReads, totalCost, and contextTokens.\n *\n * @example\n * const messages = [\n * { type: \"say\", say: \"api_req_started\", text: '{\"request\":\"GET /api/data\",\"tokensIn\":10,\"tokensOut\":20,\"cost\":0.005}', ts: 1000 }\n * ];\n * const { totalTokensIn, totalTokensOut, totalCost } = getApiMetrics(messages);\n * // Result: { totalTokensIn: 10, totalTokensOut: 20, totalCost: 0.005 }\n */\nexport function getApiMetrics(messages: ClineMessage[]) {\n\tconst result: TokenUsage = {\n\t\ttotalTokensIn: 0,\n\t\ttotalTokensOut: 0,\n\t\ttotalCacheWrites: undefined,\n\t\ttotalCacheReads: undefined,\n\t\ttotalCost: 0,\n\t\tcontextTokens: 0,\n\t}\n\n\t// Calculate running totals\n\tmessages.forEach((message) => {\n\t\tif (message.type === \"say\" && message.say === \"api_req_started\" && message.text) {\n\t\t\ttry {\n\t\t\t\tconst parsedText: ParsedApiReqStartedTextType = JSON.parse(message.text)\n\t\t\t\tconst { tokensIn, tokensOut, cacheWrites, cacheReads, cost } = parsedText\n\n\t\t\t\tif (typeof tokensIn === \"number\") {\n\t\t\t\t\tresult.totalTokensIn += tokensIn\n\t\t\t\t}\n\t\t\t\tif (typeof tokensOut === \"number\") {\n\t\t\t\t\tresult.totalTokensOut += tokensOut\n\t\t\t\t}\n\t\t\t\tif (typeof cacheWrites === \"number\") {\n\t\t\t\t\tresult.totalCacheWrites = (result.totalCacheWrites ?? 0) + cacheWrites\n\t\t\t\t}\n\t\t\t\tif (typeof cacheReads === \"number\") {\n\t\t\t\t\tresult.totalCacheReads = (result.totalCacheReads ?? 0) + cacheReads\n\t\t\t\t}\n\t\t\t\tif (typeof cost === \"number\") {\n\t\t\t\t\tresult.totalCost += cost\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error parsing JSON:\", error)\n\t\t\t}\n\t\t} else if (message.type === \"say\" && message.say === \"condense_context\") {\n\t\t\tresult.totalCost += message.contextCondense?.cost ?? 0\n\t\t}\n\t})\n\n\t// Calculate context tokens, from the last API request started or condense context message\n\tresult.contextTokens = 0\n\tfor (let i = messages.length - 1; i >= 0; i--) {\n\t\tconst message = messages[i]\n\t\tif (message.type === \"say\" && message.say === \"api_req_started\" && message.text) {\n\t\t\ttry {\n\t\t\t\tconst parsedText: ParsedApiReqStartedTextType = JSON.parse(message.text)\n\t\t\t\tconst { tokensIn, tokensOut, cacheWrites, cacheReads, apiProtocol } = parsedText\n\n\t\t\t\t// Calculate context tokens based on API protocol\n\t\t\t\tif (apiProtocol === \"anthropic\") {\n\t\t\t\t\tresult.contextTokens = (tokensIn || 0) + (tokensOut || 0) + (cacheWrites || 0) + (cacheReads || 0)\n\t\t\t\t} else {\n\t\t\t\t\t// For OpenAI (or when protocol is not specified)\n\t\t\t\t\tresult.contextTokens = (tokensIn || 0) + (tokensOut || 0)\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error parsing JSON:\", error)\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else if (message.type === \"say\" && message.say === \"condense_context\") {\n\t\t\tresult.contextTokens = message.contextCondense?.newContextTokens ?? 0\n\t\t}\n\t\tif (result.contextTokens) {\n\t\t\tbreak\n\t\t}\n\t}\n\n\treturn result\n}\n", + "import { OrganizationAllowList, ProviderSettings } from \"@roo-code/types\"\n\nexport class ProfileValidator {\n\tpublic static isProfileAllowed(profile: ProviderSettings, allowList: OrganizationAllowList): boolean {\n\t\tif (allowList.allowAll) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (!profile.apiProvider) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (!this.isProviderAllowed(profile.apiProvider, allowList)) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (profile.apiProvider === \"human-relay\") {\n\t\t\treturn true\n\t\t}\n\n\t\tconst modelId = this.getModelIdFromProfile(profile)\n\n\t\tif (!modelId) {\n\t\t\treturn allowList.providers[profile.apiProvider]?.allowAll === true\n\t\t}\n\n\t\treturn this.isModelAllowed(profile.apiProvider, modelId, allowList)\n\t}\n\n\tprivate static isProviderAllowed(providerName: string, allowList: OrganizationAllowList): boolean {\n\t\tif (allowList.allowAll) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn providerName in allowList.providers\n\t}\n\n\tprivate static isModelAllowed(providerName: string, modelId: string, allowList: OrganizationAllowList): boolean {\n\t\tif (allowList.allowAll) {\n\t\t\treturn true\n\t\t}\n\n\t\tconst providerAllowList = allowList.providers[providerName]\n\n\t\tif (!providerAllowList) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (providerAllowList.allowAll) {\n\t\t\treturn true\n\t\t}\n\n\t\treturn providerAllowList.models?.includes(modelId) ?? false\n\t}\n\n\tprivate static getModelIdFromProfile(profile: ProviderSettings): string | undefined {\n\t\tswitch (profile.apiProvider) {\n\t\t\tcase \"openai\":\n\t\t\t\treturn profile.openAiModelId\n\t\t\tcase \"anthropic\":\n\t\t\tcase \"openai-native\":\n\t\t\tcase \"bedrock\":\n\t\t\tcase \"vertex\":\n\t\t\tcase \"gemini\":\n\t\t\tcase \"mistral\":\n\t\t\tcase \"deepseek\":\n\t\t\tcase \"xai\":\n\t\t\tcase \"groq\":\n\t\t\tcase \"sambanova\":\n\t\t\tcase \"chutes\":\n\t\t\tcase \"fireworks\":\n\t\t\t\treturn profile.apiModelId\n\t\t\tcase \"litellm\":\n\t\t\t\treturn profile.litellmModelId\n\t\t\tcase \"unbound\":\n\t\t\t\treturn profile.unboundModelId\n\t\t\tcase \"lmstudio\":\n\t\t\t\treturn profile.lmStudioModelId\n\t\t\tcase \"vscode-lm\":\n\t\t\t\t// We probably need something more flexible for this one, if we need to really support it here.\n\t\t\t\treturn profile.vsCodeLmModelSelector?.id\n\t\t\tcase \"openrouter\":\n\t\t\t\treturn profile.openRouterModelId\n\t\t\tcase \"glama\":\n\t\t\t\treturn profile.glamaModelId\n\t\t\tcase \"ollama\":\n\t\t\t\treturn profile.ollamaModelId\n\t\t\tcase \"requesty\":\n\t\t\t\treturn profile.requestyModelId\n\t\t\tcase \"human-relay\":\n\t\t\tcase \"fake-ai\":\n\t\t\tdefault:\n\t\t\t\treturn undefined\n\t\t}\n\t}\n}\n", + "'use strict';\n\nmodule.exports = function quote(xs) {\n\treturn xs.map(function (s) {\n\t\tif (s === '') {\n\t\t\treturn '\\'\\'';\n\t\t}\n\t\tif (s && typeof s === 'object') {\n\t\t\treturn s.op.replace(/(.)/g, '\\\\$1');\n\t\t}\n\t\tif ((/[\"\\s]/).test(s) && !(/'/).test(s)) {\n\t\t\treturn \"'\" + s.replace(/(['\\\\])/g, '\\\\$1') + \"'\";\n\t\t}\n\t\tif ((/[\"'\\s]/).test(s)) {\n\t\t\treturn '\"' + s.replace(/([\"\\\\$`!])/g, '\\\\$1') + '\"';\n\t\t}\n\t\treturn String(s).replace(/([A-Za-z]:)?([#!\"$&'()*,:;<=>?@[\\\\\\]^`{|}])/g, '$1\\\\$2');\n\t}).join(' ');\n};\n", + "'use strict';\n\n// '<(' is process substitution operator and\n// can be parsed the same as control operator\nvar CONTROL = '(?:' + [\n\t'\\\\|\\\\|',\n\t'\\\\&\\\\&',\n\t';;',\n\t'\\\\|\\\\&',\n\t'\\\\<\\\\(',\n\t'\\\\<\\\\<\\\\<',\n\t'>>',\n\t'>\\\\&',\n\t'<\\\\&',\n\t'[&;()|<>]'\n].join('|') + ')';\nvar controlRE = new RegExp('^' + CONTROL + '$');\nvar META = '|&;()<> \\\\t';\nvar SINGLE_QUOTE = '\"((\\\\\\\\\"|[^\"])*?)\"';\nvar DOUBLE_QUOTE = '\\'((\\\\\\\\\\'|[^\\'])*?)\\'';\nvar hash = /^#$/;\n\nvar SQ = \"'\";\nvar DQ = '\"';\nvar DS = '$';\n\nvar TOKEN = '';\nvar mult = 0x100000000; // Math.pow(16, 8);\nfor (var i = 0; i < 4; i++) {\n\tTOKEN += (mult * Math.random()).toString(16);\n}\nvar startsWithToken = new RegExp('^' + TOKEN);\n\nfunction matchAll(s, r) {\n\tvar origIndex = r.lastIndex;\n\n\tvar matches = [];\n\tvar matchObj;\n\n\twhile ((matchObj = r.exec(s))) {\n\t\tmatches.push(matchObj);\n\t\tif (r.lastIndex === matchObj.index) {\n\t\t\tr.lastIndex += 1;\n\t\t}\n\t}\n\n\tr.lastIndex = origIndex;\n\n\treturn matches;\n}\n\nfunction getVar(env, pre, key) {\n\tvar r = typeof env === 'function' ? env(key) : env[key];\n\tif (typeof r === 'undefined' && key != '') {\n\t\tr = '';\n\t} else if (typeof r === 'undefined') {\n\t\tr = '$';\n\t}\n\n\tif (typeof r === 'object') {\n\t\treturn pre + TOKEN + JSON.stringify(r) + TOKEN;\n\t}\n\treturn pre + r;\n}\n\nfunction parseInternal(string, env, opts) {\n\tif (!opts) {\n\t\topts = {};\n\t}\n\tvar BS = opts.escape || '\\\\';\n\tvar BAREWORD = '(\\\\' + BS + '[\\'\"' + META + ']|[^\\\\s\\'\"' + META + '])+';\n\n\tvar chunker = new RegExp([\n\t\t'(' + CONTROL + ')', // control chars\n\t\t'(' + BAREWORD + '|' + SINGLE_QUOTE + '|' + DOUBLE_QUOTE + ')+'\n\t].join('|'), 'g');\n\n\tvar matches = matchAll(string, chunker);\n\n\tif (matches.length === 0) {\n\t\treturn [];\n\t}\n\tif (!env) {\n\t\tenv = {};\n\t}\n\n\tvar commented = false;\n\n\treturn matches.map(function (match) {\n\t\tvar s = match[0];\n\t\tif (!s || commented) {\n\t\t\treturn void undefined;\n\t\t}\n\t\tif (controlRE.test(s)) {\n\t\t\treturn { op: s };\n\t\t}\n\n\t\t// Hand-written scanner/parser for Bash quoting rules:\n\t\t//\n\t\t// 1. inside single quotes, all characters are printed literally.\n\t\t// 2. inside double quotes, all characters are printed literally\n\t\t// except variables prefixed by '$' and backslashes followed by\n\t\t// either a double quote or another backslash.\n\t\t// 3. outside of any quotes, backslashes are treated as escape\n\t\t// characters and not printed (unless they are themselves escaped)\n\t\t// 4. quote context can switch mid-token if there is no whitespace\n\t\t// between the two quote contexts (e.g. all'one'\"token\" parses as\n\t\t// \"allonetoken\")\n\t\tvar quote = false;\n\t\tvar esc = false;\n\t\tvar out = '';\n\t\tvar isGlob = false;\n\t\tvar i;\n\n\t\tfunction parseEnvVar() {\n\t\t\ti += 1;\n\t\t\tvar varend;\n\t\t\tvar varname;\n\t\t\tvar char = s.charAt(i);\n\n\t\t\tif (char === '{') {\n\t\t\t\ti += 1;\n\t\t\t\tif (s.charAt(i) === '}') {\n\t\t\t\t\tthrow new Error('Bad substitution: ' + s.slice(i - 2, i + 1));\n\t\t\t\t}\n\t\t\t\tvarend = s.indexOf('}', i);\n\t\t\t\tif (varend < 0) {\n\t\t\t\t\tthrow new Error('Bad substitution: ' + s.slice(i));\n\t\t\t\t}\n\t\t\t\tvarname = s.slice(i, varend);\n\t\t\t\ti = varend;\n\t\t\t} else if ((/[*@#?$!_-]/).test(char)) {\n\t\t\t\tvarname = char;\n\t\t\t\ti += 1;\n\t\t\t} else {\n\t\t\t\tvar slicedFromI = s.slice(i);\n\t\t\t\tvarend = slicedFromI.match(/[^\\w\\d_]/);\n\t\t\t\tif (!varend) {\n\t\t\t\t\tvarname = slicedFromI;\n\t\t\t\t\ti = s.length;\n\t\t\t\t} else {\n\t\t\t\t\tvarname = slicedFromI.slice(0, varend.index);\n\t\t\t\t\ti += varend.index - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn getVar(env, '', varname);\n\t\t}\n\n\t\tfor (i = 0; i < s.length; i++) {\n\t\t\tvar c = s.charAt(i);\n\t\t\tisGlob = isGlob || (!quote && (c === '*' || c === '?'));\n\t\t\tif (esc) {\n\t\t\t\tout += c;\n\t\t\t\tesc = false;\n\t\t\t} else if (quote) {\n\t\t\t\tif (c === quote) {\n\t\t\t\t\tquote = false;\n\t\t\t\t} else if (quote == SQ) {\n\t\t\t\t\tout += c;\n\t\t\t\t} else { // Double quote\n\t\t\t\t\tif (c === BS) {\n\t\t\t\t\t\ti += 1;\n\t\t\t\t\t\tc = s.charAt(i);\n\t\t\t\t\t\tif (c === DQ || c === BS || c === DS) {\n\t\t\t\t\t\t\tout += c;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tout += BS + c;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (c === DS) {\n\t\t\t\t\t\tout += parseEnvVar();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tout += c;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (c === DQ || c === SQ) {\n\t\t\t\tquote = c;\n\t\t\t} else if (controlRE.test(c)) {\n\t\t\t\treturn { op: s };\n\t\t\t} else if (hash.test(c)) {\n\t\t\t\tcommented = true;\n\t\t\t\tvar commentObj = { comment: string.slice(match.index + i + 1) };\n\t\t\t\tif (out.length) {\n\t\t\t\t\treturn [out, commentObj];\n\t\t\t\t}\n\t\t\t\treturn [commentObj];\n\t\t\t} else if (c === BS) {\n\t\t\t\tesc = true;\n\t\t\t} else if (c === DS) {\n\t\t\t\tout += parseEnvVar();\n\t\t\t} else {\n\t\t\t\tout += c;\n\t\t\t}\n\t\t}\n\n\t\tif (isGlob) {\n\t\t\treturn { op: 'glob', pattern: out };\n\t\t}\n\n\t\treturn out;\n\t}).reduce(function (prev, arg) { // finalize parsed arguments\n\t\t// TODO: replace this whole reduce with a concat\n\t\treturn typeof arg === 'undefined' ? prev : prev.concat(arg);\n\t}, []);\n}\n\nmodule.exports = function parse(s, env, opts) {\n\tvar mapped = parseInternal(s, env, opts);\n\tif (typeof env !== 'function') {\n\t\treturn mapped;\n\t}\n\treturn mapped.reduce(function (acc, s) {\n\t\tif (typeof s === 'object') {\n\t\t\treturn acc.concat(s);\n\t\t}\n\t\tvar xs = s.split(RegExp('(' + TOKEN + '.*?' + TOKEN + ')', 'g'));\n\t\tif (xs.length === 1) {\n\t\t\treturn acc.concat(xs[0]);\n\t\t}\n\t\treturn acc.concat(xs.filter(Boolean).map(function (x) {\n\t\t\tif (startsWithToken.test(x)) {\n\t\t\t\treturn JSON.parse(x.split(TOKEN)[1]);\n\t\t\t}\n\t\t\treturn x;\n\t\t}));\n\t}, []);\n};\n", + "'use strict';\n\nexports.quote = require('./quote');\nexports.parse = require('./parse');\n", + "import { parse } from \"shell-quote\"\n\ntype ShellToken = string | { op: string } | { command: string }\n\n/**\n * # Command Denylist Feature - Longest Prefix Match Strategy\n *\n * This module implements a sophisticated command validation system that uses the\n * \"longest prefix match\" strategy to resolve conflicts between allowlist and denylist patterns.\n *\n * ## Core Concept: Longest Prefix Match\n *\n * When a command matches patterns in both the allowlist and denylist, the system uses\n * the longest (most specific) match to determine the final decision. This approach\n * provides fine-grained control over command execution permissions.\n *\n * ### Examples:\n *\n * **Example 1: Specific denial overrides general allowance**\n * - Allowlist: [\"git\"]\n * - Denylist: [\"git push\"]\n * - Command: \"git push origin main\"\n * - Result: DENIED (denylist match \"git push\" is longer than allowlist match \"git\")\n *\n * **Example 2: Specific allowance overrides general denial**\n * - Allowlist: [\"git push --dry-run\"]\n * - Denylist: [\"git push\"]\n * - Command: \"git push --dry-run origin main\"\n * - Result: APPROVED (allowlist match is longer and more specific)\n *\n * **Example 3: Wildcard handling**\n * - Allowlist: [\"*\"]\n * - Denylist: [\"rm\", \"sudo\"]\n * - Command: \"rm -rf /\"\n * - Result: DENIED (specific denylist match overrides wildcard allowlist)\n *\n * ## Command Processing Pipeline:\n *\n * 1. **Subshell Detection**: Commands containing dangerous patterns like $(), ``, or (cmd1; cmd2) are flagged as security risks\n * 2. **Command Parsing**: Split chained commands (&&, ||, ;, |, &) into individual commands for separate validation\n * 3. **Pattern Matching**: For each individual command, find the longest matching prefix in both allowlist and denylist\n * 4. **Decision Logic**: Apply longest prefix match rule - more specific (longer) matches take precedence\n * 5. **Aggregation**: Combine individual decisions - if any command is denied, the entire chain is denied\n *\n * ## Security Considerations:\n *\n * - **Subshell Protection**: Detects and blocks command injection attempts via command substitution, process substitution, and subshell grouping\n * - **Chain Analysis**: Each command in a chain (cmd1 && cmd2) is validated separately to prevent bypassing via chaining\n * - **Case Insensitive**: All pattern matching is case-insensitive for consistent behavior across different input styles\n * - **Whitespace Handling**: Commands are trimmed and normalized before matching to prevent whitespace-based bypasses\n *\n * ## Configuration Merging:\n *\n * The system merges command lists from two sources with global state taking precedence:\n * 1. Global state (user preferences)\n * 2. Workspace configuration (project-specific settings)\n *\n * This allows users to have personal defaults while projects can define specific restrictions.\n */\n\n/**\n * Detect subshell usage and command substitution patterns that could be security risks.\n *\n * Subshells allow executing commands in isolated environments and can be used to bypass\n * command validation by hiding dangerous commands inside substitution patterns.\n *\n * Detected patterns:\n * - $() - command substitution: executes command and substitutes output\n * - `` - backticks (legacy command substitution): same as $() but older syntax\n * - <() - process substitution (input): creates temporary file descriptor for command output\n * - >() - process substitution (output): creates temporary file descriptor for command input\n * - $(()) - arithmetic expansion: evaluates mathematical expressions (can contain commands)\n * - $[] - arithmetic expansion (alternative syntax): same as $(()) but older syntax\n * - (cmd1; cmd2) - subshell grouping: executes multiple commands in isolated subshell\n *\n * @param source - The command string to analyze for subshell patterns\n * @returns true if any subshell patterns are detected, false otherwise\n *\n * @example\n * ```typescript\n * // Command substitution - executes 'date' and substitutes its output\n * containsSubshell(\"echo $(date)\") // true\n *\n * // Backtick substitution - legacy syntax for command substitution\n * containsSubshell(\"echo `date`\") // true\n *\n * // Process substitution - creates file descriptor for command output\n * containsSubshell(\"diff <(sort f1)\") // true\n *\n * // Arithmetic expansion - can contain command execution\n * containsSubshell(\"echo $((1+2))\") // true\n * containsSubshell(\"echo $[1+2]\") // true\n *\n * // Subshell grouping - executes commands in isolated environment\n * containsSubshell(\"(ls; rm file)\") // true\n * containsSubshell(\"(cd /tmp && rm -rf *)\") // true\n *\n * // Safe patterns that should NOT be flagged\n * containsSubshell(\"func(arg1, arg2)\") // false - function call, not subshell\n * containsSubshell(\"echo hello\") // false - no subshell patterns\n * containsSubshell(\"(simple text)\") // false - no shell operators in parentheses\n * ```\n */\nexport function containsSubshell(source: string): boolean {\n\t// Check for command substitution, process substitution, and arithmetic expansion patterns\n\t// These patterns allow executing commands and substituting their output, which can bypass validation\n\tconst commandSubstitutionPatterns = /(\\$\\()|`|(<\\(|>\\()|(\\$\\(\\()|(\\$\\[)/.test(source)\n\n\t// Check for subshell grouping: parentheses containing shell command operators\n\t// Pattern explanation: \\( = literal opening paren, [^)]* = any chars except closing paren,\n\t// [;&|]+ = one or more shell operators (semicolon, ampersand, pipe), [^)]* = any chars except closing paren, \\) = literal closing paren\n\t// This detects dangerous patterns like: (cmd1; cmd2), (cmd1 && cmd2), (cmd1 || cmd2), (cmd1 | cmd2), (cmd1 & cmd2)\n\t// But avoids false positives like function calls: func(arg1, arg2) - no shell operators inside\n\tconst subshellGroupingPattern = /\\([^)]*[;&|]+[^)]*\\)/.test(source)\n\n\t// Return true if any subshell pattern is detected\n\treturn commandSubstitutionPatterns || subshellGroupingPattern\n}\n\n/**\n * Split a command string into individual sub-commands by\n * chaining operators (&&, ||, ;, |, or &) and newlines.\n *\n * Uses shell-quote to properly handle:\n * - Quoted strings (preserves quotes)\n * - Subshell commands ($(cmd), `cmd`, <(cmd), >(cmd))\n * - PowerShell redirections (2>&1)\n * - Chain operators (&&, ||, ;, |, &)\n * - Newlines as command separators\n */\nexport function parseCommand(command: string): string[] {\n\tif (!command?.trim()) return []\n\n\t// Split by newlines first (handle different line ending formats)\n\t// This regex splits on \\r\\n (Windows), \\n (Unix), or \\r (old Mac)\n\tconst lines = command.split(/\\r\\n|\\r|\\n/)\n\tconst allCommands: string[] = []\n\n\tfor (const line of lines) {\n\t\t// Skip empty lines\n\t\tif (!line.trim()) continue\n\n\t\t// Process each line through the existing parsing logic\n\t\tconst lineCommands = parseCommandLine(line)\n\t\tallCommands.push(...lineCommands)\n\t}\n\n\treturn allCommands\n}\n\n/**\n * Helper function to restore placeholders in a command string\n */\nfunction restorePlaceholders(\n\tcommand: string,\n\tquotes: string[],\n\tredirections: string[],\n\tarrayIndexing: string[],\n\tarithmeticExpressions: string[],\n\tparameterExpansions: string[],\n\tvariables: string[],\n\tsubshells: string[],\n): string {\n\tlet result = command\n\t// Restore quotes\n\tresult = result.replace(/__QUOTE_(\\d+)__/g, (_, i) => quotes[parseInt(i)])\n\t// Restore redirections\n\tresult = result.replace(/__REDIR_(\\d+)__/g, (_, i) => redirections[parseInt(i)])\n\t// Restore array indexing expressions\n\tresult = result.replace(/__ARRAY_(\\d+)__/g, (_, i) => arrayIndexing[parseInt(i)])\n\t// Restore arithmetic expressions\n\tresult = result.replace(/__ARITH_(\\d+)__/g, (_, i) => arithmeticExpressions[parseInt(i)])\n\t// Restore parameter expansions\n\tresult = result.replace(/__PARAM_(\\d+)__/g, (_, i) => parameterExpansions[parseInt(i)])\n\t// Restore variable references\n\tresult = result.replace(/__VAR_(\\d+)__/g, (_, i) => variables[parseInt(i)])\n\tresult = result.replace(/__SUBSH_(\\d+)__/g, (_, i) => subshells[parseInt(i)])\n\treturn result\n}\n\n/**\n * Parse a single line of commands (internal helper function)\n */\nfunction parseCommandLine(command: string): string[] {\n\tif (!command?.trim()) return []\n\n\t// Storage for replaced content\n\tconst redirections: string[] = []\n\tconst subshells: string[] = []\n\tconst quotes: string[] = []\n\tconst arrayIndexing: string[] = []\n\tconst arithmeticExpressions: string[] = []\n\tconst variables: string[] = []\n\tconst parameterExpansions: string[] = []\n\n\t// First handle PowerShell redirections by temporarily replacing them\n\tlet processedCommand = command.replace(/\\d*>&\\d*/g, (match) => {\n\t\tredirections.push(match)\n\t\treturn `__REDIR_${redirections.length - 1}__`\n\t})\n\n\t// Handle arithmetic expressions: $((...)) pattern\n\t// Match the entire arithmetic expression including nested parentheses\n\tprocessedCommand = processedCommand.replace(/\\$\\(\\([^)]*(?:\\)[^)]*)*\\)\\)/g, (match) => {\n\t\tarithmeticExpressions.push(match)\n\t\treturn `__ARITH_${arithmeticExpressions.length - 1}__`\n\t})\n\n\t// Handle $[...] arithmetic expressions (alternative syntax)\n\tprocessedCommand = processedCommand.replace(/\\$\\[[^\\]]*\\]/g, (match) => {\n\t\tarithmeticExpressions.push(match)\n\t\treturn `__ARITH_${arithmeticExpressions.length - 1}__`\n\t})\n\n\t// Handle parameter expansions: ${...} patterns (including array indexing)\n\t// This covers ${var}, ${var:-default}, ${var:+alt}, ${#var}, ${var%pattern}, etc.\n\tprocessedCommand = processedCommand.replace(/\\$\\{[^}]+\\}/g, (match) => {\n\t\tparameterExpansions.push(match)\n\t\treturn `__PARAM_${parameterExpansions.length - 1}__`\n\t})\n\n\t// Handle process substitutions: <(...) and >(...)\n\tprocessedCommand = processedCommand.replace(/[<>]\\(([^)]+)\\)/g, (_, inner) => {\n\t\tsubshells.push(inner.trim())\n\t\treturn `__SUBSH_${subshells.length - 1}__`\n\t})\n\n\t// Handle simple variable references: $varname pattern\n\t// This prevents shell-quote from splitting $count into separate tokens\n\tprocessedCommand = processedCommand.replace(/\\$[a-zA-Z_][a-zA-Z0-9_]*/g, (match) => {\n\t\tvariables.push(match)\n\t\treturn `__VAR_${variables.length - 1}__`\n\t})\n\n\t// Handle special bash variables: $?, $!, $#, $$, $@, $*, $-, $0-$9\n\tprocessedCommand = processedCommand.replace(/\\$[?!#$@*\\-0-9]/g, (match) => {\n\t\tvariables.push(match)\n\t\treturn `__VAR_${variables.length - 1}__`\n\t})\n\n\t// Then handle subshell commands $() and back-ticks\n\tprocessedCommand = processedCommand\n\t\t.replace(/\\$\\((.*?)\\)/g, (_, inner) => {\n\t\t\tsubshells.push(inner.trim())\n\t\t\treturn `__SUBSH_${subshells.length - 1}__`\n\t\t})\n\t\t.replace(/`(.*?)`/g, (_, inner) => {\n\t\t\tsubshells.push(inner.trim())\n\t\t\treturn `__SUBSH_${subshells.length - 1}__`\n\t\t})\n\n\t// Then handle quoted strings\n\tprocessedCommand = processedCommand.replace(/\"[^\"]*\"/g, (match) => {\n\t\tquotes.push(match)\n\t\treturn `__QUOTE_${quotes.length - 1}__`\n\t})\n\n\tlet tokens: ShellToken[]\n\ttry {\n\t\ttokens = parse(processedCommand) as ShellToken[]\n\t} catch (error: any) {\n\t\t// If shell-quote fails to parse, fall back to simple splitting\n\t\tconsole.warn(\"shell-quote parse error:\", error.message, \"for command:\", processedCommand)\n\n\t\t// Simple fallback: split by common operators\n\t\tconst fallbackCommands = processedCommand\n\t\t\t.split(/(?:&&|\\|\\||;|\\||&)/)\n\t\t\t.map((cmd) => cmd.trim())\n\t\t\t.filter((cmd) => cmd.length > 0)\n\n\t\t// Restore all placeholders for each command\n\t\treturn fallbackCommands.map((cmd) =>\n\t\t\trestorePlaceholders(\n\t\t\t\tcmd,\n\t\t\t\tquotes,\n\t\t\t\tredirections,\n\t\t\t\tarrayIndexing,\n\t\t\t\tarithmeticExpressions,\n\t\t\t\tparameterExpansions,\n\t\t\t\tvariables,\n\t\t\t\tsubshells,\n\t\t\t),\n\t\t)\n\t}\n\n\tconst commands: string[] = []\n\tlet currentCommand: string[] = []\n\n\tfor (const token of tokens) {\n\t\tif (typeof token === \"object\" && \"op\" in token) {\n\t\t\t// Chain operator - split command\n\t\t\tif ([\"&&\", \"||\", \";\", \"|\", \"&\"].includes(token.op)) {\n\t\t\t\tif (currentCommand.length > 0) {\n\t\t\t\t\tcommands.push(currentCommand.join(\" \"))\n\t\t\t\t\tcurrentCommand = []\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Other operators (>) are part of the command\n\t\t\t\tcurrentCommand.push(token.op)\n\t\t\t}\n\t\t} else if (typeof token === \"string\") {\n\t\t\t// Check if it's a subshell placeholder\n\t\t\tconst subshellMatch = token.match(/__SUBSH_(\\d+)__/)\n\t\t\tif (subshellMatch) {\n\t\t\t\tif (currentCommand.length > 0) {\n\t\t\t\t\tcommands.push(currentCommand.join(\" \"))\n\t\t\t\t\tcurrentCommand = []\n\t\t\t\t}\n\t\t\t\tcommands.push(subshells[parseInt(subshellMatch[1])])\n\t\t\t} else {\n\t\t\t\tcurrentCommand.push(token)\n\t\t\t}\n\t\t}\n\t}\n\n\t// Add any remaining command\n\tif (currentCommand.length > 0) {\n\t\tcommands.push(currentCommand.join(\" \"))\n\t}\n\n\t// Restore quotes and redirections\n\treturn commands.map((cmd) =>\n\t\trestorePlaceholders(\n\t\t\tcmd,\n\t\t\tquotes,\n\t\t\tredirections,\n\t\t\tarrayIndexing,\n\t\t\tarithmeticExpressions,\n\t\t\tparameterExpansions,\n\t\t\tvariables,\n\t\t\tsubshells,\n\t\t),\n\t)\n}\n\n/**\n * Find the longest matching prefix from a list of prefixes for a given command.\n *\n * This is the core function that implements the \"longest prefix match\" strategy.\n * It searches through all provided prefixes and returns the longest one that\n * matches the beginning of the command (case-insensitive).\n *\n * **Special Cases:**\n * - Wildcard \"*\" matches any command but is treated as length 1 for comparison\n * - Empty command or empty prefixes list returns null\n * - Matching is case-insensitive and uses startsWith logic\n *\n * **Examples:**\n * ```typescript\n * findLongestPrefixMatch(\"git push origin\", [\"git\", \"git push\"])\n * // Returns \"git push\" (longer match)\n *\n * findLongestPrefixMatch(\"npm install\", [\"*\", \"npm\"])\n * // Returns \"npm\" (specific match preferred over wildcard)\n *\n * findLongestPrefixMatch(\"unknown command\", [\"git\", \"npm\"])\n * // Returns null (no match found)\n * ```\n *\n * @param command - The command to match against\n * @param prefixes - List of prefix patterns to search through\n * @returns The longest matching prefix, or null if no match found\n */\nexport function findLongestPrefixMatch(command: string, prefixes: string[]): string | null {\n\tif (!command || !prefixes?.length) return null\n\n\tconst trimmedCommand = command.trim().toLowerCase()\n\tlet longestMatch: string | null = null\n\n\tfor (const prefix of prefixes) {\n\t\tconst lowerPrefix = prefix.toLowerCase()\n\t\t// Handle wildcard \"*\" - it matches any command\n\t\tif (lowerPrefix === \"*\" || trimmedCommand.startsWith(lowerPrefix)) {\n\t\t\tif (!longestMatch || lowerPrefix.length > longestMatch.length) {\n\t\t\t\tlongestMatch = lowerPrefix\n\t\t\t}\n\t\t}\n\t}\n\n\treturn longestMatch\n}\n\n/**\n * Check if a single command should be auto-approved.\n * Returns true only for commands that explicitly match the allowlist\n * and either don't match the denylist or have a longer allowlist match.\n *\n * Special handling for wildcards: \"*\" in allowlist allows any command,\n * but denylist can still block specific commands.\n */\nexport function isAutoApprovedSingleCommand(\n\tcommand: string,\n\tallowedCommands: string[],\n\tdeniedCommands?: string[],\n): boolean {\n\tif (!command) return true\n\n\t// If no allowlist configured, nothing can be auto-approved\n\tif (!allowedCommands?.length) return false\n\n\t// Check if wildcard is present in allowlist\n\tconst hasWildcard = allowedCommands.some((cmd) => cmd.toLowerCase() === \"*\")\n\n\t// If no denylist provided (undefined), use simple allowlist logic\n\tif (deniedCommands === undefined) {\n\t\tconst trimmedCommand = command.trim().toLowerCase()\n\t\treturn allowedCommands.some((prefix) => {\n\t\t\tconst lowerPrefix = prefix.toLowerCase()\n\t\t\t// Handle wildcard \"*\" - it matches any command\n\t\t\treturn lowerPrefix === \"*\" || trimmedCommand.startsWith(lowerPrefix)\n\t\t})\n\t}\n\n\t// Find longest matching prefix in both lists\n\tconst longestDeniedMatch = findLongestPrefixMatch(command, deniedCommands)\n\tconst longestAllowedMatch = findLongestPrefixMatch(command, allowedCommands)\n\n\t// Special case: if wildcard is present and no denylist match, auto-approve\n\tif (hasWildcard && !longestDeniedMatch) return true\n\n\t// Must have an allowlist match to be auto-approved\n\tif (!longestAllowedMatch) return false\n\n\t// If no denylist match, auto-approve\n\tif (!longestDeniedMatch) return true\n\n\t// Both have matches - allowlist must be longer to auto-approve\n\treturn longestAllowedMatch.length > longestDeniedMatch.length\n}\n\n/**\n * Check if a single command should be auto-denied.\n * Returns true only for commands that explicitly match the denylist\n * and either don't match the allowlist or have a longer denylist match.\n */\nexport function isAutoDeniedSingleCommand(\n\tcommand: string,\n\tallowedCommands: string[],\n\tdeniedCommands?: string[],\n): boolean {\n\tif (!command) return false\n\n\t// If no denylist configured, nothing can be auto-denied\n\tif (!deniedCommands?.length) return false\n\n\t// Find longest matching prefix in both lists\n\tconst longestDeniedMatch = findLongestPrefixMatch(command, deniedCommands)\n\tconst longestAllowedMatch = findLongestPrefixMatch(command, allowedCommands || [])\n\n\t// Must have a denylist match to be auto-denied\n\tif (!longestDeniedMatch) return false\n\n\t// If no allowlist match, auto-deny\n\tif (!longestAllowedMatch) return true\n\n\t// Both have matches - denylist must be longer or equal to auto-deny\n\treturn longestDeniedMatch.length >= longestAllowedMatch.length\n}\n\n/**\n * Command approval decision types\n */\nexport type CommandDecision = \"auto_approve\" | \"auto_deny\" | \"ask_user\"\n\n/**\n * Unified command validation that implements the longest prefix match rule.\n * Returns a definitive decision for a command based on allowlist and denylist.\n *\n * This is the main entry point for command validation in the Command Denylist feature.\n * It handles complex command chains and applies the longest prefix match strategy\n * to resolve conflicts between allowlist and denylist patterns.\n *\n * **Decision Logic:**\n * 1. **Subshell Protection**: If subshells ($() or ``) are present and denylist exists → auto-deny\n * 2. **Command Parsing**: Split command chains (&&, ||, ;, |, &) into individual commands\n * 3. **Individual Validation**: For each sub-command, apply longest prefix match rule\n * 4. **Aggregation**: Combine decisions using \"any denial blocks all\" principle\n *\n * **Return Values:**\n * - `\"auto_approve\"`: All sub-commands are explicitly allowed\n * - `\"auto_deny\"`: At least one sub-command is explicitly denied\n * - `\"ask_user\"`: Mixed or no matches found, requires user decision\n *\n * **Examples:**\n * ```typescript\n * // Simple approval\n * getCommandDecision(\"git status\", [\"git\"], [])\n * // Returns \"auto_approve\"\n *\n * // Longest prefix match - denial wins\n * getCommandDecision(\"git push origin\", [\"git\"], [\"git push\"])\n * // Returns \"auto_deny\"\n *\n * // Command chain - any denial blocks all\n * getCommandDecision(\"git status && rm file\", [\"git\"], [\"rm\"])\n * // Returns \"auto_deny\"\n *\n * // No matches - ask user\n * getCommandDecision(\"unknown command\", [\"git\"], [\"rm\"])\n * // Returns \"ask_user\"\n * ```\n *\n * @param command - The full command string to validate\n * @param allowedCommands - List of allowed command prefixes\n * @param deniedCommands - Optional list of denied command prefixes\n * @returns Decision indicating whether to approve, deny, or ask user\n */\nexport function getCommandDecision(\n\tcommand: string,\n\tallowedCommands: string[],\n\tdeniedCommands?: string[],\n): CommandDecision {\n\tif (!command?.trim()) return \"auto_approve\"\n\n\t// Parse into sub-commands (split by &&, ||, ;, |)\n\tconst subCommands = parseCommand(command)\n\n\t// Check each sub-command and collect decisions\n\tconst decisions: CommandDecision[] = subCommands.map((cmd) => {\n\t\t// Remove simple PowerShell-like redirections (e.g. 2>&1) before checking\n\t\tconst cmdWithoutRedirection = cmd.replace(/\\d*>&\\d*/, \"\").trim()\n\n\t\treturn getSingleCommandDecision(cmdWithoutRedirection, allowedCommands, deniedCommands)\n\t})\n\n\t// If any sub-command is denied, deny the whole command\n\tif (decisions.includes(\"auto_deny\")) {\n\t\treturn \"auto_deny\"\n\t}\n\n\t// If all sub-commands are approved, approve the whole command\n\tif (decisions.every((decision) => decision === \"auto_approve\")) {\n\t\treturn \"auto_approve\"\n\t}\n\n\t// Otherwise, ask user\n\treturn \"ask_user\"\n}\n\n/**\n * Get the decision for a single command using longest prefix match rule.\n *\n * This is the core logic that implements the conflict resolution between\n * allowlist and denylist using the \"longest prefix match\" strategy.\n *\n * **Longest Prefix Match Algorithm:**\n * 1. Find the longest matching prefix in the allowlist\n * 2. Find the longest matching prefix in the denylist\n * 3. Compare lengths to determine which rule takes precedence\n * 4. Longer (more specific) match wins the conflict\n *\n * **Decision Matrix:**\n * | Allowlist Match | Denylist Match | Result | Reason |\n * |----------------|----------------|---------|---------|\n * | Yes | No | auto_approve | Only allowlist matches |\n * | No | Yes | auto_deny | Only denylist matches |\n * | Yes | Yes (shorter) | auto_approve | Allowlist is more specific |\n * | Yes | Yes (longer/equal) | auto_deny | Denylist is more specific |\n * | No | No | ask_user | No rules apply |\n *\n * **Examples:**\n * ```typescript\n * // Only allowlist matches\n * getSingleCommandDecision(\"git status\", [\"git\"], [\"npm\"])\n * // Returns \"auto_approve\"\n *\n * // Denylist is more specific\n * getSingleCommandDecision(\"git push origin\", [\"git\"], [\"git push\"])\n * // Returns \"auto_deny\" (denylist \"git push\" > allowlist \"git\")\n *\n * // Allowlist is more specific\n * getSingleCommandDecision(\"git push --dry-run\", [\"git push --dry-run\"], [\"git push\"])\n * // Returns \"auto_approve\" (allowlist is longer)\n *\n * // No matches\n * getSingleCommandDecision(\"unknown\", [\"git\"], [\"npm\"])\n * // Returns \"ask_user\"\n * ```\n *\n * @param command - Single command to validate (no chaining)\n * @param allowedCommands - List of allowed command prefixes\n * @param deniedCommands - Optional list of denied command prefixes\n * @returns Decision for this specific command\n */\nexport function getSingleCommandDecision(\n\tcommand: string,\n\tallowedCommands: string[],\n\tdeniedCommands?: string[],\n): CommandDecision {\n\tif (!command) return \"auto_approve\"\n\n\t// Find longest matching prefixes in both lists\n\tconst longestAllowedMatch = findLongestPrefixMatch(command, allowedCommands || [])\n\tconst longestDeniedMatch = findLongestPrefixMatch(command, deniedCommands || [])\n\n\t// If only allowlist has a match, auto-approve\n\tif (longestAllowedMatch && !longestDeniedMatch) {\n\t\treturn \"auto_approve\"\n\t}\n\n\t// If only denylist has a match, auto-deny\n\tif (!longestAllowedMatch && longestDeniedMatch) {\n\t\treturn \"auto_deny\"\n\t}\n\n\t// Both lists have matches - apply longest prefix match rule\n\tif (longestAllowedMatch && longestDeniedMatch) {\n\t\treturn longestAllowedMatch.length > longestDeniedMatch.length ? \"auto_approve\" : \"auto_deny\"\n\t}\n\n\t// If neither list has a match, ask user\n\treturn \"ask_user\"\n}\n\n/**\n * Centralized Command Validation Service\n *\n * This class provides a unified interface for all command validation operations\n * in the Command Denylist feature. It encapsulates the validation logic and\n * provides convenient methods for different validation scenarios.\n */\nexport class CommandValidator {\n\tconstructor(\n\t\tprivate allowedCommands: string[],\n\t\tprivate deniedCommands?: string[],\n\t) {}\n\n\t/**\n\t * Update the command lists used for validation\n\t */\n\tupdateCommandLists(allowedCommands: string[], deniedCommands?: string[]) {\n\t\tthis.allowedCommands = allowedCommands\n\t\tthis.deniedCommands = deniedCommands\n\t}\n\n\t/**\n\t * Get the current command lists\n\t */\n\tgetCommandLists() {\n\t\treturn {\n\t\t\tallowedCommands: [...this.allowedCommands],\n\t\t\tdeniedCommands: this.deniedCommands ? [...this.deniedCommands] : undefined,\n\t\t}\n\t}\n\n\t/**\n\t * Validate a command and return a decision\n\t * This is the main validation method that should be used for all command validation\n\t */\n\tvalidateCommand(command: string): CommandDecision {\n\t\treturn getCommandDecision(command, this.allowedCommands, this.deniedCommands)\n\t}\n\n\t/**\n\t * Check if a command would be auto-approved\n\t */\n\tisAutoApproved(command: string): boolean {\n\t\treturn this.validateCommand(command) === \"auto_approve\"\n\t}\n\n\t/**\n\t * Check if a command would be auto-denied\n\t */\n\tisAutoDenied(command: string): boolean {\n\t\treturn this.validateCommand(command) === \"auto_deny\"\n\t}\n\n\t/**\n\t * Check if a command requires user input\n\t */\n\trequiresUserInput(command: string): boolean {\n\t\treturn this.validateCommand(command) === \"ask_user\"\n\t}\n\n\t/**\n\t * Get detailed validation information for a command\n\t * Useful for debugging and providing user feedback\n\t */\n\tgetValidationDetails(command: string): {\n\t\tdecision: CommandDecision\n\t\tsubCommands: string[]\n\t\tallowedMatches: Array<{ command: string; match: string | null }>\n\t\tdeniedMatches: Array<{ command: string; match: string | null }>\n\t\thasSubshells: boolean\n\t} {\n\t\tconst subCommands = parseCommand(command)\n\t\tconst hasSubshells = containsSubshell(command)\n\n\t\tconst allowedMatches = subCommands.map((cmd) => ({\n\t\t\tcommand: cmd,\n\t\t\tmatch: findLongestPrefixMatch(cmd.replace(/\\d*>&\\d*/, \"\").trim(), this.allowedCommands),\n\t\t}))\n\n\t\tconst deniedMatches = subCommands.map((cmd) => ({\n\t\t\tcommand: cmd,\n\t\t\tmatch: findLongestPrefixMatch(cmd.replace(/\\d*>&\\d*/, \"\").trim(), this.deniedCommands || []),\n\t\t}))\n\n\t\treturn {\n\t\t\tdecision: this.validateCommand(command),\n\t\t\tsubCommands,\n\t\t\tallowedMatches,\n\t\t\tdeniedMatches,\n\t\t\thasSubshells,\n\t\t}\n\t}\n\n\t/**\n\t * Validate multiple commands at once\n\t * Returns a map of command to decision\n\t */\n\tvalidateCommands(commands: string[]): Map<string, CommandDecision> {\n\t\tconst results = new Map<string, CommandDecision>()\n\t\tfor (const command of commands) {\n\t\t\tresults.set(command, this.validateCommand(command))\n\t\t}\n\t\treturn results\n\t}\n\n\t/**\n\t * Check if the validator has any rules configured\n\t */\n\thasRules(): boolean {\n\t\treturn this.allowedCommands.length > 0 || (this.deniedCommands?.length ?? 0) > 0\n\t}\n\n\t/**\n\t * Get statistics about the current configuration\n\t */\n\tgetStats() {\n\t\treturn {\n\t\t\tallowedCount: this.allowedCommands.length,\n\t\t\tdeniedCount: this.deniedCommands?.length ?? 0,\n\t\t\thasWildcard: this.allowedCommands.some((cmd) => cmd.toLowerCase() === \"*\"),\n\t\t\thasRules: this.hasRules(),\n\t\t}\n\t}\n}\n\n/**\n * Factory function to create a CommandValidator instance\n * This is the recommended way to create validators in the application\n */\nexport function createCommandValidator(allowedCommands: string[], deniedCommands?: string[]): CommandValidator {\n\treturn new CommandValidator(allowedCommands, deniedCommands)\n}\n", + "import { useQuery } from \"@tanstack/react-query\"\n\nimport { RouterModels } from \"@roo/api\"\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { vscode } from \"@src/utils/vscode\"\n\nconst getRouterModels = async () =>\n\tnew Promise<RouterModels>((resolve, reject) => {\n\t\tconst cleanup = () => {\n\t\t\twindow.removeEventListener(\"message\", handler)\n\t\t}\n\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcleanup()\n\t\t\treject(new Error(\"Router models request timed out\"))\n\t\t}, 10000)\n\n\t\tconst handler = (event: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = event.data\n\n\t\t\tif (message.type === \"routerModels\") {\n\t\t\t\tclearTimeout(timeout)\n\t\t\t\tcleanup()\n\n\t\t\t\tif (message.routerModels) {\n\t\t\t\t\tresolve(message.routerModels)\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error(\"No router models in response\"))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handler)\n\t\tvscode.postMessage({ type: \"requestRouterModels\" })\n\t})\n\nexport const useRouterModels = () => useQuery({ queryKey: [\"routerModels\"], queryFn: getRouterModels })\n", + "'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n", + "'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n", + "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n", + "// eslint-disable-next-line strict\nexport default null;\n", + "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n", + "'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n", + "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n", + "'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n", + "'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n", + "'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n", + "'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n", + "'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n", + "import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n", + "const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n", + "import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n", + "'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n", + "'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n", + "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n", + "'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n", + "'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n", + "'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n", + "'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n", + "'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n", + "'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n", + "'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n", + "'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n", + "/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n", + "import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n", + "import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n", + "import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n", + "'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n", + "'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n", + "'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n", + "'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n", + "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n", + "import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n", + "import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n", + "\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n", + "import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n", + "import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n", + "'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n", + "export const VERSION = \"1.9.0\";", + "'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n", + "'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n", + "'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n", + "'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n", + "'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n", + "const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n", + "'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n", + "import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n", + "import type { ModelInfo } from \"@roo-code/types\"\n\nfunction calculateApiCostInternal(\n\tmodelInfo: ModelInfo,\n\tinputTokens: number,\n\toutputTokens: number,\n\tcacheCreationInputTokens: number,\n\tcacheReadInputTokens: number,\n): number {\n\tconst cacheWritesCost = ((modelInfo.cacheWritesPrice || 0) / 1_000_000) * cacheCreationInputTokens\n\tconst cacheReadsCost = ((modelInfo.cacheReadsPrice || 0) / 1_000_000) * cacheReadInputTokens\n\tconst baseInputCost = ((modelInfo.inputPrice || 0) / 1_000_000) * inputTokens\n\tconst outputCost = ((modelInfo.outputPrice || 0) / 1_000_000) * outputTokens\n\tconst totalCost = cacheWritesCost + cacheReadsCost + baseInputCost + outputCost\n\treturn totalCost\n}\n\n// For Anthropic compliant usage, the input tokens count does NOT include the\n// cached tokens.\nexport function calculateApiCostAnthropic(\n\tmodelInfo: ModelInfo,\n\tinputTokens: number,\n\toutputTokens: number,\n\tcacheCreationInputTokens?: number,\n\tcacheReadInputTokens?: number,\n): number {\n\treturn calculateApiCostInternal(\n\t\tmodelInfo,\n\t\tinputTokens,\n\t\toutputTokens,\n\t\tcacheCreationInputTokens || 0,\n\t\tcacheReadInputTokens || 0,\n\t)\n}\n\n// For OpenAI compliant usage, the input tokens count INCLUDES the cached tokens.\nexport function calculateApiCostOpenAI(\n\tmodelInfo: ModelInfo,\n\tinputTokens: number,\n\toutputTokens: number,\n\tcacheCreationInputTokens?: number,\n\tcacheReadInputTokens?: number,\n): number {\n\tconst cacheCreationInputTokensNum = cacheCreationInputTokens || 0\n\tconst cacheReadInputTokensNum = cacheReadInputTokens || 0\n\tconst nonCachedInputTokens = Math.max(0, inputTokens - cacheCreationInputTokensNum - cacheReadInputTokensNum)\n\n\treturn calculateApiCostInternal(\n\t\tmodelInfo,\n\t\tnonCachedInputTokens,\n\t\toutputTokens,\n\t\tcacheCreationInputTokensNum,\n\t\tcacheReadInputTokensNum,\n\t)\n}\n\nexport const parseApiPrice = (price: any) => (price ? parseFloat(price) * 1_000_000 : undefined)\n", + "import axios from \"axios\"\nimport { z } from \"zod\"\nimport { useQuery, UseQueryOptions } from \"@tanstack/react-query\"\n\nimport type { ModelInfo } from \"@roo-code/types\"\n\nimport { parseApiPrice } from \"@roo/cost\"\n\nexport const OPENROUTER_DEFAULT_PROVIDER_NAME = \"[default]\"\n\nconst openRouterEndpointsSchema = z.object({\n\tdata: z.object({\n\t\tid: z.string(),\n\t\tname: z.string(),\n\t\tdescription: z.string().optional(),\n\t\tarchitecture: z\n\t\t\t.object({\n\t\t\t\tmodality: z.string().nullish(),\n\t\t\t\ttokenizer: z.string().nullish(),\n\t\t\t})\n\t\t\t.nullish(),\n\t\tendpoints: z.array(\n\t\t\tz.object({\n\t\t\t\tname: z.string(),\n\t\t\t\tcontext_length: z.number(),\n\t\t\t\tmax_completion_tokens: z.number().nullish(),\n\t\t\t\tpricing: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tprompt: z.union([z.string(), z.number()]).optional(),\n\t\t\t\t\t\tcompletion: z.union([z.string(), z.number()]).optional(),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t}),\n\t\t),\n\t}),\n})\n\ntype OpenRouterModelProvider = ModelInfo & {\n\tlabel: string\n}\n\nasync function getOpenRouterProvidersForModel(modelId: string) {\n\tconst models: Record<string, OpenRouterModelProvider> = {}\n\n\ttry {\n\t\tconst response = await axios.get(`https://openrouter.ai/api/v1/models/${modelId}/endpoints`)\n\t\tconst result = openRouterEndpointsSchema.safeParse(response.data)\n\n\t\tif (!result.success) {\n\t\t\tconsole.error(\"OpenRouter API response validation failed:\", result.error)\n\t\t\treturn models\n\t\t}\n\n\t\tconst { id, description, architecture, endpoints } = result.data.data\n\n\t\tfor (const endpoint of endpoints) {\n\t\t\tconst providerName = endpoint.name.split(\"|\")[0].trim()\n\t\t\tconst inputPrice = parseApiPrice(endpoint.pricing?.prompt)\n\t\t\tconst outputPrice = parseApiPrice(endpoint.pricing?.completion)\n\n\t\t\tconst modelInfo: OpenRouterModelProvider = {\n\t\t\t\tmaxTokens: endpoint.max_completion_tokens || endpoint.context_length,\n\t\t\t\tcontextWindow: endpoint.context_length,\n\t\t\t\tsupportsImages: architecture?.modality?.includes(\"image\"),\n\t\t\t\tsupportsPromptCache: false,\n\t\t\t\tinputPrice,\n\t\t\t\toutputPrice,\n\t\t\t\tdescription,\n\t\t\t\tlabel: providerName,\n\t\t\t}\n\n\t\t\t// TODO: This is wrong. We need to fetch the model info from\n\t\t\t// OpenRouter instead of hardcoding it here. The endpoints payload\n\t\t\t// doesn't include this unfortunately, so we need to get it from the\n\t\t\t// main models endpoint.\n\t\t\tswitch (true) {\n\t\t\t\tcase modelId.startsWith(\"anthropic/claude-3.7-sonnet\"):\n\t\t\t\t\tmodelInfo.supportsComputerUse = true\n\t\t\t\t\tmodelInfo.supportsPromptCache = true\n\t\t\t\t\tmodelInfo.cacheWritesPrice = 3.75\n\t\t\t\t\tmodelInfo.cacheReadsPrice = 0.3\n\t\t\t\t\tmodelInfo.maxTokens = id === \"anthropic/claude-3.7-sonnet:thinking\" ? 64_000 : 8192\n\t\t\t\t\tbreak\n\t\t\t\tcase modelId.startsWith(\"anthropic/claude-3.5-sonnet-20240620\"):\n\t\t\t\t\tmodelInfo.supportsPromptCache = true\n\t\t\t\t\tmodelInfo.cacheWritesPrice = 3.75\n\t\t\t\t\tmodelInfo.cacheReadsPrice = 0.3\n\t\t\t\t\tmodelInfo.maxTokens = 8192\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tmodelInfo.supportsPromptCache = true\n\t\t\t\t\tmodelInfo.cacheWritesPrice = 0.3\n\t\t\t\t\tmodelInfo.cacheReadsPrice = 0.03\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tmodels[providerName] = modelInfo\n\t\t}\n\t} catch (error) {\n\t\tif (error instanceof z.ZodError) {\n\t\t\tconsole.error(`OpenRouter API response validation failed:`, error.errors)\n\t\t} else {\n\t\t\tconsole.error(`Error fetching OpenRouter providers:`, error)\n\t\t}\n\t}\n\n\treturn models\n}\n\ntype UseOpenRouterModelProvidersOptions = Omit<\n\tUseQueryOptions<Record<string, OpenRouterModelProvider>>,\n\t\"queryKey\" | \"queryFn\"\n>\n\nexport const useOpenRouterModelProviders = (modelId?: string, options?: UseOpenRouterModelProvidersOptions) =>\n\tuseQuery<Record<string, OpenRouterModelProvider>>({\n\t\tqueryKey: [\"openrouter-model-providers\", modelId],\n\t\tqueryFn: () => (modelId ? getOpenRouterProvidersForModel(modelId) : {}),\n\t\t...options,\n\t})\n", + "import { useQuery } from \"@tanstack/react-query\"\n\nimport { ModelRecord } from \"@roo/api\"\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { vscode } from \"@src/utils/vscode\"\n\nconst getLmStudioModels = async () =>\n\tnew Promise<ModelRecord>((resolve, reject) => {\n\t\tconst cleanup = () => {\n\t\t\twindow.removeEventListener(\"message\", handler)\n\t\t}\n\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcleanup()\n\t\t\treject(new Error(\"LM Studio models request timed out\"))\n\t\t}, 10000)\n\n\t\tconst handler = (event: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = event.data\n\n\t\t\tif (message.type === \"lmStudioModels\") {\n\t\t\t\tclearTimeout(timeout)\n\t\t\t\tcleanup()\n\n\t\t\t\tif (message.lmStudioModels) {\n\t\t\t\t\tresolve(message.lmStudioModels)\n\t\t\t\t} else {\n\t\t\t\t\treject(new Error(\"No LMStudio models in response\"))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handler)\n\t\tvscode.postMessage({ type: \"requestLmStudioModels\" })\n\t})\n\nexport const useLmStudioModels = (modelId?: string) =>\n\tuseQuery({ queryKey: [\"lmStudioModels\"], queryFn: () => (modelId ? getLmStudioModels() : {}) })\n", + "import {\n\ttype ProviderName,\n\ttype ProviderSettings,\n\ttype ModelInfo,\n\tanthropicDefaultModelId,\n\tanthropicModels,\n\tbedrockDefaultModelId,\n\tbedrockModels,\n\tcerebrasDefaultModelId,\n\tcerebrasModels,\n\tdeepSeekDefaultModelId,\n\tdeepSeekModels,\n\tmoonshotDefaultModelId,\n\tmoonshotModels,\n\tgeminiDefaultModelId,\n\tgeminiModels,\n\tmistralDefaultModelId,\n\tmistralModels,\n\topenAiModelInfoSaneDefaults,\n\topenAiNativeDefaultModelId,\n\topenAiNativeModels,\n\tvertexDefaultModelId,\n\tvertexModels,\n\txaiDefaultModelId,\n\txaiModels,\n\tgroqModels,\n\tgroqDefaultModelId,\n\tchutesModels,\n\tchutesDefaultModelId,\n\tvscodeLlmModels,\n\tvscodeLlmDefaultModelId,\n\topenRouterDefaultModelId,\n\trequestyDefaultModelId,\n\tglamaDefaultModelId,\n\tunboundDefaultModelId,\n\tlitellmDefaultModelId,\n\tclaudeCodeDefaultModelId,\n\tclaudeCodeModels,\n\tsambaNovaModels,\n\tsambaNovaDefaultModelId,\n\tdoubaoModels,\n\tdoubaoDefaultModelId,\n\tinternationalZAiDefaultModelId,\n\tmainlandZAiDefaultModelId,\n\tinternationalZAiModels,\n\tmainlandZAiModels,\n\tfireworksModels,\n\tfireworksDefaultModelId,\n} from \"@roo-code/types\"\n\nimport type { ModelRecord, RouterModels } from \"@roo/api\"\n\nimport { useRouterModels } from \"./useRouterModels\"\nimport { useOpenRouterModelProviders } from \"./useOpenRouterModelProviders\"\nimport { useLmStudioModels } from \"./useLmStudioModels\"\n\nexport const useSelectedModel = (apiConfiguration?: ProviderSettings) => {\n\tconst provider = apiConfiguration?.apiProvider || \"anthropic\"\n\tconst openRouterModelId = provider === \"openrouter\" ? apiConfiguration?.openRouterModelId : undefined\n\tconst lmStudioModelId = provider === \"lmstudio\" ? apiConfiguration?.lmStudioModelId : undefined\n\n\tconst routerModels = useRouterModels()\n\tconst openRouterModelProviders = useOpenRouterModelProviders(openRouterModelId)\n\tconst lmStudioModels = useLmStudioModels(lmStudioModelId)\n\n\tconst { id, info } =\n\t\tapiConfiguration &&\n\t\t(typeof lmStudioModelId === \"undefined\" || typeof lmStudioModels.data !== \"undefined\") &&\n\t\ttypeof routerModels.data !== \"undefined\" &&\n\t\ttypeof openRouterModelProviders.data !== \"undefined\"\n\t\t\t? getSelectedModel({\n\t\t\t\t\tprovider,\n\t\t\t\t\tapiConfiguration,\n\t\t\t\t\trouterModels: routerModels.data,\n\t\t\t\t\topenRouterModelProviders: openRouterModelProviders.data,\n\t\t\t\t\tlmStudioModels: lmStudioModels.data,\n\t\t\t\t})\n\t\t\t: { id: anthropicDefaultModelId, info: undefined }\n\n\treturn {\n\t\tprovider,\n\t\tid,\n\t\tinfo,\n\t\tisLoading:\n\t\t\trouterModels.isLoading ||\n\t\t\topenRouterModelProviders.isLoading ||\n\t\t\t(apiConfiguration?.lmStudioModelId && lmStudioModels!.isLoading),\n\t\tisError:\n\t\t\trouterModels.isError ||\n\t\t\topenRouterModelProviders.isError ||\n\t\t\t(apiConfiguration?.lmStudioModelId && lmStudioModels!.isError),\n\t}\n}\n\nfunction getSelectedModel({\n\tprovider,\n\tapiConfiguration,\n\trouterModels,\n\topenRouterModelProviders,\n\tlmStudioModels,\n}: {\n\tprovider: ProviderName\n\tapiConfiguration: ProviderSettings\n\trouterModels: RouterModels\n\topenRouterModelProviders: Record<string, ModelInfo>\n\tlmStudioModels: ModelRecord | undefined\n}): { id: string; info: ModelInfo | undefined } {\n\t// the `undefined` case are used to show the invalid selection to prevent\n\t// users from seeing the default model if their selection is invalid\n\t// this gives a better UX than showing the default model\n\tswitch (provider) {\n\t\tcase \"openrouter\": {\n\t\t\tconst id = apiConfiguration.openRouterModelId ?? openRouterDefaultModelId\n\t\t\tlet info = routerModels.openrouter[id]\n\t\t\tconst specificProvider = apiConfiguration.openRouterSpecificProvider\n\n\t\t\tif (specificProvider && openRouterModelProviders[specificProvider]) {\n\t\t\t\t// Overwrite the info with the specific provider info. Some\n\t\t\t\t// fields are missing the model info for `openRouterModelProviders`\n\t\t\t\t// so we need to merge the two.\n\t\t\t\tinfo = info\n\t\t\t\t\t? { ...info, ...openRouterModelProviders[specificProvider] }\n\t\t\t\t\t: openRouterModelProviders[specificProvider]\n\t\t\t}\n\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"requesty\": {\n\t\t\tconst id = apiConfiguration.requestyModelId ?? requestyDefaultModelId\n\t\t\tconst info = routerModels.requesty[id]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"glama\": {\n\t\t\tconst id = apiConfiguration.glamaModelId ?? glamaDefaultModelId\n\t\t\tconst info = routerModels.glama[id]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"unbound\": {\n\t\t\tconst id = apiConfiguration.unboundModelId ?? unboundDefaultModelId\n\t\t\tconst info = routerModels.unbound[id]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"litellm\": {\n\t\t\tconst id = apiConfiguration.litellmModelId ?? litellmDefaultModelId\n\t\t\tconst info = routerModels.litellm[id]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"xai\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? xaiDefaultModelId\n\t\t\tconst info = xaiModels[id as keyof typeof xaiModels]\n\t\t\treturn info ? { id, info } : { id, info: undefined }\n\t\t}\n\t\tcase \"groq\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? groqDefaultModelId\n\t\t\tconst info = groqModels[id as keyof typeof groqModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"huggingface\": {\n\t\t\tconst id = apiConfiguration.huggingFaceModelId ?? \"meta-llama/Llama-3.3-70B-Instruct\"\n\t\t\tconst info = {\n\t\t\t\tmaxTokens: 8192,\n\t\t\t\tcontextWindow: 131072,\n\t\t\t\tsupportsImages: false,\n\t\t\t\tsupportsPromptCache: false,\n\t\t\t}\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"chutes\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? chutesDefaultModelId\n\t\t\tconst info = chutesModels[id as keyof typeof chutesModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"bedrock\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? bedrockDefaultModelId\n\t\t\tconst info = bedrockModels[id as keyof typeof bedrockModels]\n\n\t\t\t// Special case for custom ARN.\n\t\t\tif (id === \"custom-arn\") {\n\t\t\t\treturn {\n\t\t\t\t\tid,\n\t\t\t\t\tinfo: { maxTokens: 5000, contextWindow: 128_000, supportsPromptCache: false, supportsImages: true },\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"vertex\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? vertexDefaultModelId\n\t\t\tconst info = vertexModels[id as keyof typeof vertexModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"gemini\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? geminiDefaultModelId\n\t\t\tconst info = geminiModels[id as keyof typeof geminiModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"deepseek\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? deepSeekDefaultModelId\n\t\t\tconst info = deepSeekModels[id as keyof typeof deepSeekModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"doubao\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? doubaoDefaultModelId\n\t\t\tconst info = doubaoModels[id as keyof typeof doubaoModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"moonshot\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? moonshotDefaultModelId\n\t\t\tconst info = moonshotModels[id as keyof typeof moonshotModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"zai\": {\n\t\t\tconst isChina = apiConfiguration.zaiApiLine === \"china\"\n\t\t\tconst models = isChina ? mainlandZAiModels : internationalZAiModels\n\t\t\tconst defaultModelId = isChina ? mainlandZAiDefaultModelId : internationalZAiDefaultModelId\n\t\t\tconst id = apiConfiguration.apiModelId ?? defaultModelId\n\t\t\tconst info = models[id as keyof typeof models]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"openai-native\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? openAiNativeDefaultModelId\n\t\t\tconst info = openAiNativeModels[id as keyof typeof openAiNativeModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"mistral\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? mistralDefaultModelId\n\t\t\tconst info = mistralModels[id as keyof typeof mistralModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"openai\": {\n\t\t\tconst id = apiConfiguration.openAiModelId ?? \"\"\n\t\t\tconst info = apiConfiguration?.openAiCustomModelInfo ?? openAiModelInfoSaneDefaults\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"ollama\": {\n\t\t\tconst id = apiConfiguration.ollamaModelId ?? \"\"\n\t\t\tconst info = routerModels.ollama && routerModels.ollama[id]\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tinfo: info || undefined,\n\t\t\t}\n\t\t}\n\t\tcase \"lmstudio\": {\n\t\t\tconst id = apiConfiguration.lmStudioModelId ?? \"\"\n\t\t\tconst info = lmStudioModels && lmStudioModels[apiConfiguration.lmStudioModelId!]\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tinfo: info || undefined,\n\t\t\t}\n\t\t}\n\t\tcase \"vscode-lm\": {\n\t\t\tconst id = apiConfiguration?.vsCodeLmModelSelector\n\t\t\t\t? `${apiConfiguration.vsCodeLmModelSelector.vendor}/${apiConfiguration.vsCodeLmModelSelector.family}`\n\t\t\t\t: vscodeLlmDefaultModelId\n\t\t\tconst modelFamily = apiConfiguration?.vsCodeLmModelSelector?.family ?? vscodeLlmDefaultModelId\n\t\t\tconst info = vscodeLlmModels[modelFamily as keyof typeof vscodeLlmModels]\n\t\t\treturn { id, info: { ...openAiModelInfoSaneDefaults, ...info, supportsImages: false } } // VSCode LM API currently doesn't support images.\n\t\t}\n\t\tcase \"claude-code\": {\n\t\t\t// Claude Code models extend anthropic models but with images and prompt caching disabled\n\t\t\tconst id = apiConfiguration.apiModelId ?? claudeCodeDefaultModelId\n\t\t\tconst info = claudeCodeModels[id as keyof typeof claudeCodeModels]\n\t\t\treturn { id, info: { ...openAiModelInfoSaneDefaults, ...info } }\n\t\t}\n\t\tcase \"cerebras\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? cerebrasDefaultModelId\n\t\t\tconst info = cerebrasModels[id as keyof typeof cerebrasModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"sambanova\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? sambaNovaDefaultModelId\n\t\t\tconst info = sambaNovaModels[id as keyof typeof sambaNovaModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\tcase \"fireworks\": {\n\t\t\tconst id = apiConfiguration.apiModelId ?? fireworksDefaultModelId\n\t\t\tconst info = fireworksModels[id as keyof typeof fireworksModels]\n\t\t\treturn { id, info }\n\t\t}\n\t\t// case \"anthropic\":\n\t\t// case \"human-relay\":\n\t\t// case \"fake-ai\":\n\t\tdefault: {\n\t\t\tprovider satisfies \"anthropic\" | \"gemini-cli\" | \"human-relay\" | \"fake-ai\"\n\t\t\tconst id = apiConfiguration.apiModelId ?? anthropicDefaultModelId\n\t\t\tconst info = anthropicModels[id as keyof typeof anthropicModels]\n\t\t\treturn { id, info }\n\t\t}\n\t}\n}\n", + "import { useState } from \"react\"\n\nconst RooHero = () => {\n\tconst [imagesBaseUri] = useState(() => {\n\t\tconst w = window as any\n\t\treturn w.IMAGES_BASE_URI || \"\"\n\t})\n\n\treturn (\n\t\t<div className=\"flex flex-col items-center justify-center pb-4 forced-color-adjust-none\">\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: \"var(--vscode-foreground)\",\n\t\t\t\t\tWebkitMaskImage: `url('${imagesBaseUri}/roo-logo.svg')`,\n\t\t\t\t\tWebkitMaskRepeat: \"no-repeat\",\n\t\t\t\t\tWebkitMaskSize: \"contain\",\n\t\t\t\t\tmaskImage: `url('${imagesBaseUri}/roo-logo.svg')`,\n\t\t\t\t\tmaskRepeat: \"no-repeat\",\n\t\t\t\t\tmaskSize: \"contain\",\n\t\t\t\t}}\n\t\t\t\tclassName=\"mx-auto\">\n\t\t\t\t<img src={imagesBaseUri + \"/roo-logo.svg\"} alt=\"Roo logo\" className=\"h-8 opacity-0\" />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default RooHero\n", + "/**\n * Utility for building Roo Code documentation links with UTM telemetry.\n *\n * @param path - The path after the docs root (no leading slash)\n * @param campaign - The UTM campaign context (e.g. \"welcome\", \"provider_docs\", \"tips\", \"error_tooltip\")\n * @returns The full docs URL with UTM parameters\n */\nexport function buildDocLink(path: string, campaign: string): string {\n\t// Remove any leading slash from path\n\tconst cleanPath = path.replace(/^\\//, \"\")\n\tconst [basePath, hash] = cleanPath.split(\"#\")\n\tconst baseUrl = `https://docs.roocode.com/${basePath}?utm_source=extension&utm_medium=ide&utm_campaign=${encodeURIComponent(campaign)}`\n\treturn hash ? `${baseUrl}#${hash}` : baseUrl\n}\n", + "import { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { useTranslation } from \"react-i18next\"\nimport { Trans } from \"react-i18next\"\n\nimport { buildDocLink } from \"@src/utils/docLinks\"\n\nconst tips = [\n\t{\n\t\ticon: \"codicon-account\",\n\t\thref: buildDocLink(\"basic-usage/using-modes\", \"tips\"),\n\t\ttitleKey: \"rooTips.customizableModes.title\",\n\t\tdescriptionKey: \"rooTips.customizableModes.description\",\n\t},\n\t{\n\t\ticon: \"codicon-list-tree\",\n\t\thref: buildDocLink(\"features/boomerang-tasks\", \"tips\"),\n\t\ttitleKey: \"rooTips.boomerangTasks.title\",\n\t\tdescriptionKey: \"rooTips.boomerangTasks.description\",\n\t},\n]\n\nconst RooTips = () => {\n\tconst { t } = useTranslation(\"chat\")\n\n\treturn (\n\t\t<div>\n\t\t\t<p className=\"text-vscode-editor-foreground leading-tight font-vscode-font-family text-center text-balance max-w-[380px] mx-auto my-0\">\n\t\t\t\t<Trans\n\t\t\t\t\ti18nKey=\"chat:about\"\n\t\t\t\t\tcomponents={{\n\t\t\t\t\t\tDocsLink: (\n\t\t\t\t\t\t\t<a href={buildDocLink(\"\", \"welcome\")} target=\"_blank\" rel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t\tthe docs\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</p>\n\t\t\t<div className=\"flex flex-col items-center justify-center px-5 py-2.5 gap-4\">\n\t\t\t\t{tips.map((tip) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={tip.titleKey}\n\t\t\t\t\t\tclassName=\"flex items-center gap-2 text-vscode-editor-foreground font-vscode max-w-[250px]\">\n\t\t\t\t\t\t<span className={`codicon ${tip.icon}`}></span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<VSCodeLink className=\"forced-color-adjust-none\" href={tip.href}>\n\t\t\t\t\t\t\t\t{t(tip.titleKey)}\n\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t: {t(tip.descriptionKey)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default RooTips\n", + "import { useTranslation } from \"react-i18next\"\n\nexport function RooCloudCTA() {\n\tconst { t } = useTranslation(\"chat\")\n\n\treturn (\n\t\t<div className=\"border border-muted/20 px-4 py-1 text-center flex items-start gap-2\">\n\t\t\t<i className=\"mr-1 codicon codicon-cloud text-xl! mt-2 text-vscode-descriptionForeground\" />\n\t\t\t<div className=\"text-left\">\n\t\t\t\t<p>\n\t\t\t\t\t<strong>{t(\"rooCloudCTA.title\")}</strong>\n\t\t\t\t\t<br />\n\t\t\t\t\t<span>{t(\"rooCloudCTA.description\")}</span>\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t<a href=\"https://roocode.com/cloud-waitlist\">{t(\"rooCloudCTA.joinWaitlist\")}</a>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default RooCloudCTA\n", + "// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n", + "// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/slot.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenRef = React.isValidElement(children) ? getElementRef(children) : void 0;\n const ref = useComposedRefs(childrenRef, forwardedRef);\n if (React.isValidElement(children)) {\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = ref;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n", + "// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction findVisible(elements, container) {\n for (const element of elements) {\n if (!isHidden(element, { upTo: container })) return element;\n }\n}\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// packages/react/focus-guards/src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\nfunction useFocusGuards() {\n React.useEffect(() => {\n const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n count++;\n return () => {\n if (count === 1) {\n document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n }\n count--;\n };\n }, []);\n}\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\nvar Root = FocusGuards;\nexport {\n FocusGuards,\n Root,\n useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n", + "export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n", + "/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n", + "import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n },\n },\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n", + "import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n // handle refs changes - added or removed\n useIsomorphicLayoutEffect(function () {\n var oldValue = currentValues.get(callbackRef);\n if (oldValue) {\n var prevRefs_1 = new Set(oldValue);\n var nextRefs_1 = new Set(refs);\n var current_1 = callbackRef.current;\n prevRefs_1.forEach(function (ref) {\n if (!nextRefs_1.has(ref)) {\n assignRef(ref, null);\n }\n });\n nextRefs_1.forEach(function (ref) {\n if (!prevRefs_1.has(ref)) {\n assignRef(ref, current_1);\n }\n });\n }\n currentValues.set(callbackRef, refs);\n }, [refs]);\n return callbackRef;\n}\n", + "import { __assign } from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = __assign({ async: true, ssr: false }, options);\n return medium;\n}\n", + "import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n var Target = sideCar.read();\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}\n", + "import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n", + "import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n", + "var currentNonce;\nexport var setNonce = function (nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function () {\n if (currentNonce) {\n return currentNonce;\n }\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n return undefined;\n};\n", + "import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n if (!document)\n return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n return tag;\n}\nfunction injectStyles(tag, css) {\n // @ts-ignore\n if (tag.styleSheet) {\n // @ts-ignore\n tag.styleSheet.cssText = css;\n }\n else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function (style) {\n if (counter == 0) {\n if ((stylesheet = makeStyleTag())) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n counter++;\n },\n remove: function () {\n counter--;\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n },\n };\n};\n", + "import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n var sheet = stylesheetSingleton();\n return function (styles, isDynamic) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, [styles && isDynamic]);\n };\n};\n", + "import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n var useStyle = styleHookSingleton();\n var Sheet = function (_a) {\n var styles = _a.styles, dynamic = _a.dynamic;\n useStyle(styles, dynamic);\n return null;\n };\n return Sheet;\n};\n", + "export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n if (gapMode === void 0) { gapMode = 'margin'; }\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n };\n};\n", + "import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n if (gapMode === void 0) { gapMode = 'margin'; }\n return \"\\n .\".concat(noScrollbarsClassName, \" {\\n overflow: hidden \").concat(important, \";\\n padding-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n body[\").concat(lockAttribute, \"] {\\n overflow: hidden \").concat(important, \";\\n overscroll-behavior: contain;\\n \").concat([\n allowRelative && \"position: relative \".concat(important, \";\"),\n gapMode === 'margin' &&\n \"\\n padding-left: \".concat(left, \"px;\\n padding-top: \").concat(top, \"px;\\n padding-right: \").concat(right, \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n \"),\n gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n ]\n .filter(Boolean)\n .join(''), \"\\n }\\n \\n .\").concat(zeroRightClassName, \" {\\n right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" {\\n margin-right: \").concat(gap, \"px \").concat(important, \";\\n }\\n \\n .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n right: 0 \").concat(important, \";\\n }\\n \\n .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n margin-right: 0 \").concat(important, \";\\n }\\n \\n body[\").concat(lockAttribute, \"] {\\n \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n }\\n\");\n};\nvar getCurrentUseCounter = function () {\n var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n React.useEffect(function () {\n document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n return function () {\n var newCounter = getCurrentUseCounter() - 1;\n if (newCounter <= 0) {\n document.body.removeAttribute(lockAttribute);\n }\n else {\n document.body.setAttribute(lockAttribute, newCounter.toString());\n }\n };\n }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n useLockAttribute();\n /*\n gap will be measured on every component mount\n however it will be used only by the \"first\" invocation\n due to singleton nature of <Style\n */\n var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n", + "var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n", + "var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n if (target instanceof ShadowRoot) {\n target = target.host;\n }\n else {\n target = target.parentNode;\n }\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n", + "import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\n", + "import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n", + "import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n", + "var getDefaultParent = function (originalTarget) {\n if (typeof document === 'undefined') {\n return null;\n }\n var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n return targets\n .map(function (target) {\n if (parent.contains(target)) {\n return target;\n }\n var correctedTarget = unwrapHost(target);\n if (correctedTarget && parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n return null;\n })\n .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n var markerCounter = markerMap[markerName];\n var hiddenNodes = [];\n var elementsToKeep = new Set();\n var elementsToStop = new Set(targets);\n var keep = function (el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n keep(el.parentNode);\n };\n targets.forEach(keep);\n var deep = function (parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n Array.prototype.forEach.call(parent.children, function (node) {\n if (elementsToKeep.has(node)) {\n deep(node);\n }\n else {\n try {\n var attr = node.getAttribute(controlAttribute);\n var alreadyHidden = attr !== null && attr !== 'false';\n var counterValue = (counterMap.get(node) || 0) + 1;\n var markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenNodes.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledNodes.set(node, true);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, 'true');\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, 'true');\n }\n }\n catch (e) {\n console.error('aria-hidden: cannot operate on ', node, e);\n }\n }\n });\n };\n deep(parentNode);\n elementsToKeep.clear();\n lockCount++;\n return function () {\n hiddenNodes.forEach(function (node) {\n var counterValue = counterMap.get(node) - 1;\n var markerValue = markerCounter.get(node) - 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n if (!counterValue) {\n if (!uncontrolledNodes.has(node)) {\n node.removeAttribute(controlAttribute);\n }\n uncontrolledNodes.delete(node);\n }\n if (!markerValue) {\n node.removeAttribute(markerName);\n }\n });\n lockCount--;\n if (!lockCount) {\n // clear\n counterMap = new WeakMap();\n counterMap = new WeakMap();\n uncontrolledNodes = new WeakMap();\n markerMap = {};\n }\n };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n // we should not hide ariaLive elements - https://github.com/theKashey/aria-hidden/issues/10\n targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live]')));\n return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-inert-ed'; }\n var activeParentNode = parentNode || getDefaultParent(originalTarget);\n if (!activeParentNode) {\n return function () { return null; };\n }\n return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n if (markerName === void 0) { markerName = 'data-suppressed'; }\n return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n", + "\"use client\";\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/alert-dialog.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { createDialogScope } from \"@radix-ui/react-dialog\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar ROOT_NAME = \"AlertDialog\";\nvar [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [\n createDialogScope\n]);\nvar useDialogScope = createDialogScope();\nvar AlertDialog = (props) => {\n const { __scopeAlertDialog, ...alertDialogProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });\n};\nAlertDialog.displayName = ROOT_NAME;\nvar TRIGGER_NAME = \"AlertDialogTrigger\";\nvar AlertDialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...triggerProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });\n }\n);\nAlertDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"AlertDialogPortal\";\nvar AlertDialogPortal = (props) => {\n const { __scopeAlertDialog, ...portalProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });\n};\nAlertDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"AlertDialogOverlay\";\nvar AlertDialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...overlayProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });\n }\n);\nAlertDialogOverlay.displayName = OVERLAY_NAME;\nvar CONTENT_NAME = \"AlertDialogContent\";\nvar [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);\nvar Slottable = createSlottable(\"AlertDialogContent\");\nvar AlertDialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, children, ...contentProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const cancelRef = React.useRef(null);\n return /* @__PURE__ */ jsx(\n DialogPrimitive.WarningProvider,\n {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"alert-dialog\",\n children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(\n DialogPrimitive.Content,\n {\n role: \"alertdialog\",\n ...dialogScope,\n ...contentProps,\n ref: composedRefs,\n onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {\n event.preventDefault();\n cancelRef.current?.focus({ preventScroll: true });\n }),\n onPointerDownOutside: (event) => event.preventDefault(),\n onInteractOutside: (event) => event.preventDefault(),\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef })\n ]\n }\n ) })\n }\n );\n }\n);\nAlertDialogContent.displayName = CONTENT_NAME;\nvar TITLE_NAME = \"AlertDialogTitle\";\nvar AlertDialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...titleProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });\n }\n);\nAlertDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"AlertDialogDescription\";\nvar AlertDialogDescription = React.forwardRef((props, forwardedRef) => {\n const { __scopeAlertDialog, ...descriptionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });\n});\nAlertDialogDescription.displayName = DESCRIPTION_NAME;\nvar ACTION_NAME = \"AlertDialogAction\";\nvar AlertDialogAction = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...actionProps } = props;\n const dialogScope = useDialogScope(__scopeAlertDialog);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });\n }\n);\nAlertDialogAction.displayName = ACTION_NAME;\nvar CANCEL_NAME = \"AlertDialogCancel\";\nvar AlertDialogCancel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeAlertDialog, ...cancelProps } = props;\n const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);\n const dialogScope = useDialogScope(__scopeAlertDialog);\n const ref = useComposedRefs(forwardedRef, cancelRef);\n return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });\n }\n);\nAlertDialogCancel.displayName = CANCEL_NAME;\nvar DescriptionWarning = ({ contentRef }) => {\n const MESSAGE = `\\`${CONTENT_NAME}\\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \\`${CONTENT_NAME}\\` by passing a \\`${DESCRIPTION_NAME}\\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \\`id\\` and passing the same value to the \\`aria-describedby\\` prop in \\`${CONTENT_NAME}\\`. If the description is confusing or duplicative for sighted users, you can use the \\`@radix-ui/react-visually-hidden\\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;\n React.useEffect(() => {\n const hasDescription = document.getElementById(\n contentRef.current?.getAttribute(\"aria-describedby\")\n );\n if (!hasDescription) console.warn(MESSAGE);\n }, [MESSAGE, contentRef]);\n return null;\n};\nvar Root2 = AlertDialog;\nvar Trigger2 = AlertDialogTrigger;\nvar Portal2 = AlertDialogPortal;\nvar Overlay2 = AlertDialogOverlay;\nvar Content2 = AlertDialogContent;\nvar Action = AlertDialogAction;\nvar Cancel = AlertDialogCancel;\nvar Title2 = AlertDialogTitle;\nvar Description2 = AlertDialogDescription;\nexport {\n Action,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n Cancel,\n Content2 as Content,\n Description2 as Description,\n Overlay2 as Overlay,\n Portal2 as Portal,\n Root2 as Root,\n Title2 as Title,\n Trigger2 as Trigger,\n createAlertDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;", + "const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift();\n }\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n const conflicts = conflictingClassGroups[classGroupId] || [];\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n }\n return conflicts;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[0];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart;\n }\n if (classPartObject.validators.length === 0) {\n return undefined;\n }\n const classRest = classParts.join(CLASS_PART_SEPARATOR);\n return classPartObject.validators.find(({\n validator\n }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property;\n }\n }\n};\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n classGroups\n } = config;\n const classMap = {\n nextPart: new Map(),\n validators: []\n };\n for (const classGroupId in classGroups) {\n processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);\n }\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n classGroup.forEach(classDefinition => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n return;\n }\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId\n });\n return;\n }\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n });\n });\n};\nconst getPart = (classPartObject, path) => {\n let currentClassPartObject = classPartObject;\n path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: []\n });\n }\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n });\n return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = new Map();\n let previousCache = new Map();\n const update = (key, value) => {\n cache.set(key, value);\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = new Map();\n }\n };\n return {\n get(key) {\n let value = cache.get(key);\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value);\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;\nconst createParseClassName = config => {\n const {\n prefix,\n experimentalParseClassName\n } = config;\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = className => {\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + MODIFIER_SEPARATOR_LENGTH;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') {\n bracketDepth++;\n } else if (currentCharacter === ']') {\n bracketDepth--;\n } else if (currentCharacter === '(') {\n parenDepth++;\n } else if (currentCharacter === ')') {\n parenDepth--;\n }\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);\n const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n };\n };\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {\n isExternal: true,\n modifiers: [],\n hasImportantModifier: false,\n baseClassName: className,\n maybePostfixModifierPosition: undefined\n };\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n};\nconst stripImportantModifier = baseClassName => {\n if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(0, baseClassName.length - 1);\n }\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(1);\n }\n return baseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));\n const sortModifiers = modifiers => {\n if (modifiers.length <= 1) {\n return modifiers;\n }\n const sortedModifiers = [];\n let unsortedModifiers = [];\n modifiers.forEach(modifier => {\n const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];\n if (isPositionSensitive) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n unsortedModifiers = [];\n } else {\n unsortedModifiers.push(modifier);\n }\n });\n sortedModifiers.push(...unsortedModifiers.sort());\n return sortedModifiers;\n };\n return sortModifiers;\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nfunction twJoin() {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < arguments.length) {\n if (argument = arguments[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n}\nconst toValue = mix => {\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall = initTailwindMerge;\n function initTailwindMerge(classList) {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n }\n function tailwindMerge(classList) {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n }\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments));\n };\n}\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || [];\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n const themeColor = fromTheme('color');\n const themeFont = fromTheme('font');\n const themeText = fromTheme('text');\n const themeFontWeight = fromTheme('font-weight');\n const themeTracking = fromTheme('tracking');\n const themeLeading = fromTheme('leading');\n const themeBreakpoint = fromTheme('breakpoint');\n const themeContainer = fromTheme('container');\n const themeSpacing = fromTheme('spacing');\n const themeRadius = fromTheme('radius');\n const themeShadow = fromTheme('shadow');\n const themeInsetShadow = fromTheme('inset-shadow');\n const themeTextShadow = fromTheme('text-shadow');\n const themeDropShadow = fromTheme('drop-shadow');\n const themeBlur = fromTheme('blur');\n const themePerspective = fromTheme('perspective');\n const themeAspect = fromTheme('aspect');\n const themeEase = fromTheme('ease');\n const themeAnimate = fromTheme('animate');\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top', 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top', 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom', 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom'];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const scaleOverscroll = () => ['auto', 'contain', 'none'];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => ['auto', {\n span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => ['no-repeat', {\n repeat: ['', 'x', 'y', 'space', 'round']\n }];\n const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': scaleInset()\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': scaleInset()\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: scaleInset()\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['nowrap', 'wrap', 'wrap-reverse']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: [...scaleAlignPrimaryAxis(), 'normal']\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', ...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{\n 'space-x': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{\n 'space-y': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, 'screen', ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none', ...scaleSizing()]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n }, ...scaleSizing()]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: ['screen', 'lh', ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': ['screen', 'lh', ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [{\n 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading, ...scaleUnambiguousSpacing()]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...scaleLineStyle(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: ['break-word', 'anywhere', 'normal']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n linear: [{\n to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': scaleBorderWidth()\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': scaleBorderWidth()\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': scaleBorderWidth()\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{\n 'divide-x': scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{\n 'divide-y': scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{\n divide: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: scaleColor()\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': scaleColor()\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': scaleColor()\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': scaleColor()\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: [...scaleLineStyle(), 'none', 'hidden']\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [{\n 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{\n 'inset-shadow': scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{\n 'ring-offset': [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{\n 'ring-offset': scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{\n 'inset-ring': scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{\n 'inset-ring': scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [{\n 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{\n 'text-shadow': scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [{\n 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }, 'mask-no-clip'],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{\n mask: ['add', 'subtract', 'intersect', 'exclude']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{\n 'mask-linear': [isNumber]\n }],\n 'mask-image-linear-from-pos': [{\n 'mask-linear-from': scaleMaskImagePosition()\n }],\n 'mask-image-linear-to-pos': [{\n 'mask-linear-to': scaleMaskImagePosition()\n }],\n 'mask-image-linear-from-color': [{\n 'mask-linear-from': scaleColor()\n }],\n 'mask-image-linear-to-color': [{\n 'mask-linear-to': scaleColor()\n }],\n 'mask-image-t-from-pos': [{\n 'mask-t-from': scaleMaskImagePosition()\n }],\n 'mask-image-t-to-pos': [{\n 'mask-t-to': scaleMaskImagePosition()\n }],\n 'mask-image-t-from-color': [{\n 'mask-t-from': scaleColor()\n }],\n 'mask-image-t-to-color': [{\n 'mask-t-to': scaleColor()\n }],\n 'mask-image-r-from-pos': [{\n 'mask-r-from': scaleMaskImagePosition()\n }],\n 'mask-image-r-to-pos': [{\n 'mask-r-to': scaleMaskImagePosition()\n }],\n 'mask-image-r-from-color': [{\n 'mask-r-from': scaleColor()\n }],\n 'mask-image-r-to-color': [{\n 'mask-r-to': scaleColor()\n }],\n 'mask-image-b-from-pos': [{\n 'mask-b-from': scaleMaskImagePosition()\n }],\n 'mask-image-b-to-pos': [{\n 'mask-b-to': scaleMaskImagePosition()\n }],\n 'mask-image-b-from-color': [{\n 'mask-b-from': scaleColor()\n }],\n 'mask-image-b-to-color': [{\n 'mask-b-to': scaleColor()\n }],\n 'mask-image-l-from-pos': [{\n 'mask-l-from': scaleMaskImagePosition()\n }],\n 'mask-image-l-to-pos': [{\n 'mask-l-to': scaleMaskImagePosition()\n }],\n 'mask-image-l-from-color': [{\n 'mask-l-from': scaleColor()\n }],\n 'mask-image-l-to-color': [{\n 'mask-l-to': scaleColor()\n }],\n 'mask-image-x-from-pos': [{\n 'mask-x-from': scaleMaskImagePosition()\n }],\n 'mask-image-x-to-pos': [{\n 'mask-x-to': scaleMaskImagePosition()\n }],\n 'mask-image-x-from-color': [{\n 'mask-x-from': scaleColor()\n }],\n 'mask-image-x-to-color': [{\n 'mask-x-to': scaleColor()\n }],\n 'mask-image-y-from-pos': [{\n 'mask-y-from': scaleMaskImagePosition()\n }],\n 'mask-image-y-to-pos': [{\n 'mask-y-to': scaleMaskImagePosition()\n }],\n 'mask-image-y-from-color': [{\n 'mask-y-from': scaleColor()\n }],\n 'mask-image-y-to-color': [{\n 'mask-y-to': scaleColor()\n }],\n 'mask-image-radial': [{\n 'mask-radial': [isArbitraryVariable, isArbitraryValue]\n }],\n 'mask-image-radial-from-pos': [{\n 'mask-radial-from': scaleMaskImagePosition()\n }],\n 'mask-image-radial-to-pos': [{\n 'mask-radial-to': scaleMaskImagePosition()\n }],\n 'mask-image-radial-from-color': [{\n 'mask-radial-from': scaleColor()\n }],\n 'mask-image-radial-to-color': [{\n 'mask-radial-to': scaleColor()\n }],\n 'mask-image-radial-shape': [{\n 'mask-radial': ['circle', 'ellipse']\n }],\n 'mask-image-radial-size': [{\n 'mask-radial': [{\n closest: ['side', 'corner'],\n farthest: ['side', 'corner']\n }]\n }],\n 'mask-image-radial-pos': [{\n 'mask-radial-at': scalePosition()\n }],\n 'mask-image-conic-pos': [{\n 'mask-conic': [isNumber]\n }],\n 'mask-image-conic-from-pos': [{\n 'mask-conic-from': scaleMaskImagePosition()\n }],\n 'mask-image-conic-to-pos': [{\n 'mask-conic-to': scaleMaskImagePosition()\n }],\n 'mask-image-conic-from-color': [{\n 'mask-conic-from': scaleColor()\n }],\n 'mask-image-conic-to-color': [{\n 'mask-conic-to': scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{\n mask: ['alpha', 'luminance', 'match']\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [{\n 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{\n 'mask-type': ['alpha', 'luminance']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{\n mask: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{\n 'drop-shadow': scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{\n transition: ['normal', 'discrete']\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: ['hidden', 'visible']\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{\n 'perspective-origin': scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{\n 'rotate-x': scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{\n 'rotate-y': scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{\n 'rotate-z': scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{\n 'scale-z': scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{\n transform: ['3d', 'flat']\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{\n 'translate-z': scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [{\n scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{\n 'field-sizing': ['fixed', 'content']\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['auto', 'none']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', '', 'y', 'x']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: ['none', ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: ['none', ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n },\n orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n overrideConfigProperties(baseConfig.theme, override.theme);\n overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n mergeConfigProperties(baseConfig.theme, extend.theme);\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key);\n }\n }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n", + "import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n\treturn twMerge(clsx(inputs))\n}\n", + "/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n", + "import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n\t\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xs text-base font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer active:opacity-80\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: \"border border-vscode-input-border bg-primary text-primary-foreground hover:bg-primary/90\",\n\t\t\t\tdestructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n\t\t\t\toutline:\n\t\t\t\t\t\"border border-vscode-input-border bg-transparent hover:bg-accent hover:text-accent-foreground\",\n\t\t\t\tsecondary:\n\t\t\t\t\t\"border border-vscode-input-border bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\t\tghost: \"hover:bg-accent hover:text-accent-foreground\",\n\t\t\t\tlink: \"text-primary underline-offset-4 hover:underline\",\n\t\t\t\tcombobox:\n\t\t\t\t\t\"border border-vscode-dropdown-border focus-visible:border-vscode-focusBorder bg-vscode-dropdown-background hover:bg-transparent text-vscode-dropdown-foreground font-normal\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: \"h-7 px-3\",\n\t\t\t\tsm: \"h-6 px-2 text-sm\",\n\t\t\t\tlg: \"h-8 px-4 text-lg\",\n\t\t\t\ticon: \"h-7 w-7\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"default\",\n\t\t\tsize: \"default\",\n\t\t},\n\t},\n)\n\nexport interface ButtonProps\n\textends React.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tVariantProps<typeof buttonVariants> {\n\tasChild?: boolean\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n\t({ className, variant, size, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"button\"\n\t\treturn <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n\t},\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n", + "import * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"@/lib/utils\"\nimport { buttonVariants } from \"@/components/ui/button\"\n\nfunction AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n\treturn <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n\treturn <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n}\n\nfunction AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n\treturn <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n}\n\nfunction AlertDialogOverlay({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n\treturn (\n\t\t<AlertDialogPrimitive.Overlay\n\t\t\tdata-slot=\"alert-dialog-overlay\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction AlertDialogContent({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n\treturn (\n\t\t<AlertDialogPortal>\n\t\t\t<AlertDialogOverlay />\n\t\t\t<AlertDialogPrimitive.Content\n\t\t\t\tdata-slot=\"alert-dialog-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-vscode-editor-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-3 rounded-sm border border-vscode-panel-border p-4 shadow-lg duration-200 sm:max-w-md\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</AlertDialogPortal>\n\t)\n}\n\nfunction AlertDialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn <div data-slot=\"alert-dialog-header\" className={cn(\"flex flex-col gap-1 text-left\", className)} {...props} />\n}\n\nfunction AlertDialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"alert-dialog-footer\"\n\t\t\tclassName={cn(\"flex flex-row justify-end gap-2 mt-4\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n\treturn (\n\t\t<AlertDialogPrimitive.Title\n\t\t\tdata-slot=\"alert-dialog-title\"\n\t\t\tclassName={cn(\n\t\t\t\t\"text-base font-medium text-vscode-editor-foreground flex items-center gap-2 text-left\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction AlertDialogDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n\treturn (\n\t\t<AlertDialogPrimitive.Description\n\t\t\tdata-slot=\"alert-dialog-description\"\n\t\t\tclassName={cn(\"text-vscode-descriptionForeground text-sm text-left\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction AlertDialogAction({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n\treturn (\n\t\t<AlertDialogPrimitive.Action\n\t\t\tclassName={cn(\n\t\t\t\tbuttonVariants(),\n\t\t\t\t\"bg-vscode-button-background text-vscode-button-foreground hover:bg-vscode-button-hoverBackground h-6 px-3 py-1 border\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction AlertDialogCancel({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n\treturn (\n\t\t<AlertDialogPrimitive.Cancel\n\t\t\tclassName={cn(\n\t\t\t\tbuttonVariants({ variant: \"outline\" }),\n\t\t\t\t\"bg-vscode-button-secondaryBackground text-vscode-button-secondaryForeground hover:bg-vscode-button-secondaryHoverBackground h-6 px-3 py-1 border\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport {\n\tAlertDialog,\n\tAlertDialogPortal,\n\tAlertDialogOverlay,\n\tAlertDialogTrigger,\n\tAlertDialogContent,\n\tAlertDialogHeader,\n\tAlertDialogFooter,\n\tAlertDialogTitle,\n\tAlertDialogDescription,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n}\n", + "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ninterface UseAutosizeTextAreaProps {\n\ttextAreaRef: React.MutableRefObject<HTMLTextAreaElement | null>\n\tminHeight?: number\n\tmaxHeight?: number\n\ttriggerAutoSize: string\n}\n\nexport const useAutosizeTextArea = ({\n\ttextAreaRef,\n\ttriggerAutoSize,\n\tmaxHeight = Number.MAX_SAFE_INTEGER,\n\tminHeight = 0,\n}: UseAutosizeTextAreaProps) => {\n\tconst [init, setInit] = React.useState(true)\n\n\tReact.useEffect(() => {\n\t\t// We need to reset the height momentarily to get the correct scrollHeight\n\t\t// for the textarea.\n\t\tconst offsetBorder = 6\n\t\tconst textAreaElement = textAreaRef.current\n\n\t\tif (textAreaElement) {\n\t\t\tif (init) {\n\t\t\t\ttextAreaElement.style.minHeight = `${minHeight + offsetBorder}px`\n\n\t\t\t\tif (maxHeight > minHeight) {\n\t\t\t\t\ttextAreaElement.style.maxHeight = `${maxHeight}px`\n\t\t\t\t}\n\n\t\t\t\tsetInit(false)\n\t\t\t}\n\n\t\t\ttextAreaElement.style.height = `${minHeight + offsetBorder}px`\n\t\t\tconst scrollHeight = textAreaElement.scrollHeight\n\n\t\t\t// We then set the height directly, outside of the render loop\n\t\t\t// Trying to set this with state or a ref will product an incorrect value.\n\t\t\tif (scrollHeight > maxHeight) {\n\t\t\t\ttextAreaElement.style.height = `${maxHeight}px`\n\t\t\t} else {\n\t\t\t\ttextAreaElement.style.height = `${scrollHeight + offsetBorder}px`\n\t\t\t}\n\t\t}\n\t}, [init, minHeight, maxHeight, textAreaRef, triggerAutoSize])\n}\n\nexport type AutosizeTextAreaRef = {\n\ttextArea: HTMLTextAreaElement\n\tminHeight: number\n\tmaxHeight: number\n}\n\ntype AutosizeTextAreaProps = {\n\tminHeight: number\n\tmaxHeight: number\n} & React.TextareaHTMLAttributes<HTMLTextAreaElement>\n\nexport const AutosizeTextarea = React.forwardRef<AutosizeTextAreaRef, AutosizeTextAreaProps>(\n\t(\n\t\t{ minHeight, maxHeight, className, onChange, value, ...props }: AutosizeTextAreaProps,\n\t\tref: React.Ref<AutosizeTextAreaRef>,\n\t) => {\n\t\tconst textAreaRef = React.useRef<HTMLTextAreaElement | null>(null)\n\t\tconst [triggerAutoSize, setTriggerAutoSize] = React.useState(\"\")\n\n\t\tuseAutosizeTextArea({\n\t\t\ttextAreaRef,\n\t\t\ttriggerAutoSize: triggerAutoSize,\n\t\t\tmaxHeight,\n\t\t\tminHeight,\n\t\t})\n\n\t\tReact.useImperativeHandle(ref, () => ({\n\t\t\ttextArea: textAreaRef.current as HTMLTextAreaElement,\n\t\t\tfocus: () => textAreaRef?.current?.focus(),\n\t\t\tmaxHeight,\n\t\t\tminHeight,\n\t\t}))\n\n\t\tReact.useEffect(() => {\n\t\t\tsetTriggerAutoSize(value as string)\n\t\t}, [props?.defaultValue, value])\n\n\t\treturn (\n\t\t\t<textarea\n\t\t\t\t{...props}\n\t\t\t\tvalue={value}\n\t\t\t\tref={textAreaRef}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex w-full rounded-xs ring-offset-background placeholder:text-muted-foreground focus:outline-0 focus-visible:outline-none focus-visible:border-vscode-focusBorder disabled:cursor-not-allowed disabled:opacity-50 scrollbar-hide\",\n\t\t\t\t\t\"border-[var(--vscode-input-border,var(--vscode-input-background))] focus-visible:border-vscode-focusBorder\",\n\t\t\t\t\t\"bg-vscode-input-background\",\n\t\t\t\t\t\"text-vscode-input-foreground\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tonChange={(e) => {\n\t\t\t\t\tsetTriggerAutoSize(e.target.value)\n\t\t\t\t\tonChange?.(e)\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t},\n)\nAutosizeTextarea.displayName = \"AutosizeTextarea\"\n", + "// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\n\nexport { hasA11yProp, mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses, hasA11yProp } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 12h18\", key: \"1i2n21\" }],\n [\"path\", { d: \"M3 18h18\", key: \"1h113x\" }],\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }]\n];\nconst AlignJustify = createLucideIcon(\"align-justify\", __iconNode);\n\nexport { __iconNode, AlignJustify as default };\n//# sourceMappingURL=align-justify.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M10.268 21a2 2 0 0 0 3.464 0\", key: \"vwvbt9\" }],\n [\n \"path\",\n {\n d: \"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326\",\n key: \"11g9vi\"\n }\n ]\n];\nconst Bell = createLucideIcon(\"bell\", __iconNode);\n\nexport { __iconNode, Bell as default };\n//# sourceMappingURL=bell.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M18 6 7 17l-5-5\", key: \"116fxf\" }],\n [\"path\", { d: \"m22 10-7.5 7.5L13 16\", key: \"ke71qq\" }]\n];\nconst CheckCheck = createLucideIcon(\"check-check\", __iconNode);\n\nexport { __iconNode, CheckCheck as default };\n//# sourceMappingURL=check-check.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m18 15-6-6-6 6\", key: \"153udz\" }]];\nconst ChevronUp = createLucideIcon(\"chevron-up\", __iconNode);\n\nexport { __iconNode, ChevronUp as default };\n//# sourceMappingURL=chevron-up.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n];\nconst ChevronsUpDown = createLucideIcon(\"chevrons-up-down\", __iconNode);\n\nexport { __iconNode, ChevronsUpDown as default };\n//# sourceMappingURL=chevrons-up-down.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 13v8l-4-4\", key: \"1f5nwf\" }],\n [\"path\", { d: \"m12 21 4-4\", key: \"1lfcce\" }],\n [\"path\", { d: \"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284\", key: \"ui1hmy\" }]\n];\nconst CloudDownload = createLucideIcon(\"cloud-download\", __iconNode);\n\nexport { __iconNode, CloudDownload as default };\n//# sourceMappingURL=cloud-download.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 13v8\", key: \"1l5pq0\" }],\n [\"path\", { d: \"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242\", key: \"1pljnt\" }],\n [\"path\", { d: \"m8 17 4-4 4 4\", key: \"1quai1\" }]\n];\nconst CloudUpload = createLucideIcon(\"cloud-upload\", __iconNode);\n\nexport { __iconNode, CloudUpload as default };\n//# sourceMappingURL=cloud-upload.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"8\", cy: \"8\", r: \"6\", key: \"3yglwk\" }],\n [\"path\", { d: \"M18.09 10.37A6 6 0 1 1 10.34 18\", key: \"t5s6rm\" }],\n [\"path\", { d: \"M7 6h1v4\", key: \"1obek4\" }],\n [\"path\", { d: \"m16.71 13.88.7.71-2.82 2.82\", key: \"1rbuyh\" }]\n];\nconst Coins = createLucideIcon(\"coins\", __iconNode);\n\nexport { __iconNode, Coins as default };\n//# sourceMappingURL=coins.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n];\nconst Copy = createLucideIcon(\"copy\", __iconNode);\n\nexport { __iconNode, Copy as default };\n//# sourceMappingURL=copy.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"ellipse\", { cx: \"12\", cy: \"5\", rx: \"9\", ry: \"3\", key: \"msslwz\" }],\n [\"path\", { d: \"M3 5V19A9 3 0 0 0 21 19V5\", key: \"1wlel7\" }],\n [\"path\", { d: \"M3 12A9 3 0 0 0 21 12\", key: \"mv7ke4\" }]\n];\nconst Database = createLucideIcon(\"database\", __iconNode);\n\nexport { __iconNode, Database as default };\n//# sourceMappingURL=database.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 15V3\", key: \"m9g1x1\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"path\", { d: \"m7 10 5 5 5-5\", key: \"brsn70\" }]\n];\nconst Download = createLucideIcon(\"download\", __iconNode);\n\nexport { __iconNode, Download as default };\n//# sourceMappingURL=download.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }]\n];\nconst File = createLucideIcon(\"file\", __iconNode);\n\nexport { __iconNode, File as default };\n//# sourceMappingURL=file.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2\",\n key: \"18mbvz\"\n }\n ],\n [\"path\", { d: \"M6.453 15h11.094\", key: \"3shlmq\" }],\n [\"path\", { d: \"M8.5 2h7\", key: \"csnxdl\" }]\n];\nconst FlaskConical = createLucideIcon(\"flask-conical\", __iconNode);\n\nexport { __iconNode, FlaskConical as default };\n//# sourceMappingURL=flask-conical.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 22v-6\", key: \"6o8u61\" }],\n [\"path\", { d: \"M12 8V2\", key: \"1wkif3\" }],\n [\"path\", { d: \"M4 12H2\", key: \"rhcxmi\" }],\n [\"path\", { d: \"M10 12H8\", key: \"s88cx1\" }],\n [\"path\", { d: \"M16 12h-2\", key: \"10asgb\" }],\n [\"path\", { d: \"M22 12h-2\", key: \"14jgyd\" }],\n [\"path\", { d: \"m15 19-3-3-3 3\", key: \"e37ymu\" }],\n [\"path\", { d: \"m15 5-3 3-3-3\", key: \"19d6lf\" }]\n];\nconst FoldVertical = createLucideIcon(\"fold-vertical\", __iconNode);\n\nexport { __iconNode, FoldVertical as default };\n//# sourceMappingURL=fold-vertical.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\",\n key: \"1kt360\"\n }\n ]\n];\nconst Folder = createLucideIcon(\"folder\", __iconNode);\n\nexport { __iconNode, Folder as default };\n//# sourceMappingURL=folder.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"line\", { x1: \"6\", x2: \"6\", y1: \"3\", y2: \"15\", key: \"17qcm7\" }],\n [\"circle\", { cx: \"18\", cy: \"6\", r: \"3\", key: \"1h7g24\" }],\n [\"circle\", { cx: \"6\", cy: \"18\", r: \"3\", key: \"fqmcym\" }],\n [\"path\", { d: \"M18 9a9 9 0 0 1-9 9\", key: \"n2h4wq\" }]\n];\nconst GitBranch = createLucideIcon(\"git-branch\", __iconNode);\n\nexport { __iconNode, GitBranch as default };\n//# sourceMappingURL=git-branch.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\", key: \"13o1zl\" }],\n [\"path\", { d: \"M2 12h20\", key: \"9i4pu4\" }]\n];\nconst Globe = createLucideIcon(\"globe\", __iconNode);\n\nexport { __iconNode, Globe as default };\n//# sourceMappingURL=globe.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }],\n [\"path\", { d: \"M12 7v5l4 2\", key: \"1fdv2h\" }]\n];\nconst History = createLucideIcon(\"history\", __iconNode);\n\nexport { __iconNode, History as default };\n//# sourceMappingURL=history.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", ry: \"2\", key: \"1m3agn\" }],\n [\"circle\", { cx: \"9\", cy: \"9\", r: \"2\", key: \"af1f0g\" }],\n [\"path\", { d: \"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\", key: \"1xmnt7\" }]\n];\nconst Image = createLucideIcon(\"image\", __iconNode);\n\nexport { __iconNode, Image as default };\n//# sourceMappingURL=image.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n];\nconst Info = createLucideIcon(\"info\", __iconNode);\n\nexport { __iconNode, Info as default };\n//# sourceMappingURL=info.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\", key: \"1lielz\" }]\n];\nconst MessageSquare = createLucideIcon(\"message-square\", __iconNode);\n\nexport { __iconNode, MessageSquare as default };\n//# sourceMappingURL=message-square.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M11 17h3v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-3a3.16 3.16 0 0 0 2-2h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-1a5 5 0 0 0-2-4V3a4 4 0 0 0-3.2 1.6l-.3.4H11a6 6 0 0 0-6 6v1a5 5 0 0 0 2 4v3a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z\",\n key: \"1piglc\"\n }\n ],\n [\"path\", { d: \"M16 10h.01\", key: \"1m94wz\" }],\n [\"path\", { d: \"M2 8v1a2 2 0 0 0 2 2h1\", key: \"1env43\" }]\n];\nconst PiggyBank = createLucideIcon(\"piggy-bank\", __iconNode);\n\nexport { __iconNode, PiggyBank as default };\n//# sourceMappingURL=piggy-bank.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n];\nconst Plus = createLucideIcon(\"plus\", __iconNode);\n\nexport { __iconNode, Plus as default };\n//# sourceMappingURL=plus.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"14\", rx: \"2\", key: \"w68u3i\" }],\n [\"path\", { d: \"M6.01 18H6\", key: \"19vcac\" }],\n [\"path\", { d: \"M10.01 18H10\", key: \"uamcmx\" }],\n [\"path\", { d: \"M15 10v4\", key: \"qjz1xs\" }],\n [\"path\", { d: \"M17.84 7.17a4 4 0 0 0-5.66 0\", key: \"1rif40\" }],\n [\"path\", { d: \"M20.66 4.34a8 8 0 0 0-11.31 0\", key: \"6a5xfq\" }]\n];\nconst Router = createLucideIcon(\"router\", __iconNode);\n\nexport { __iconNode, Router as default };\n//# sourceMappingURL=router.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z\",\n key: \"117uat\"\n }\n ],\n [\"path\", { d: \"M6 12h16\", key: \"s4cdu5\" }]\n];\nconst SendHorizontal = createLucideIcon(\"send-horizontal\", __iconNode);\n\nexport { __iconNode, SendHorizontal as default };\n//# sourceMappingURL=send-horizontal.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"2\", rx: \"2\", ry: \"2\", key: \"ngkwjq\" }],\n [\"rect\", { width: \"20\", height: \"8\", x: \"2\", y: \"14\", rx: \"2\", ry: \"2\", key: \"iecqi9\" }],\n [\"line\", { x1: \"6\", x2: \"6.01\", y1: \"6\", y2: \"6\", key: \"16zg32\" }],\n [\"line\", { x1: \"6\", x2: \"6.01\", y1: \"18\", y2: \"18\", key: \"nzw8ys\" }]\n];\nconst Server = createLucideIcon(\"server\", __iconNode);\n\nexport { __iconNode, Server as default };\n//# sourceMappingURL=server.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m12.5 17-.5-1-.5 1h1z\", key: \"3me087\" }],\n [\n \"path\",\n {\n d: \"M15 22a1 1 0 0 0 1-1v-1a2 2 0 0 0 1.56-3.25 8 8 0 1 0-11.12 0A2 2 0 0 0 8 20v1a1 1 0 0 0 1 1z\",\n key: \"1o5pge\"\n }\n ],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }]\n];\nconst Skull = createLucideIcon(\"skull\", __iconNode);\n\nexport { __iconNode, Skull as default };\n//# sourceMappingURL=skull.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6\", key: \"y09zxi\" }],\n [\"path\", { d: \"m21 3-9 9\", key: \"mpx6sq\" }],\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }]\n];\nconst SquareArrowOutUpRight = createLucideIcon(\"square-arrow-out-up-right\", __iconNode);\n\nexport { __iconNode, SquareArrowOutUpRight as default };\n//# sourceMappingURL=square-arrow-out-up-right.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z\",\n key: \"xwnzip\"\n }\n ],\n [\"path\", { d: \"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6\", key: \"14rsvq\" }]\n];\nconst SquareMousePointer = createLucideIcon(\"square-mouse-pointer\", __iconNode);\n\nexport { __iconNode, SquareMousePointer as default };\n//# sourceMappingURL=square-mouse-pointer.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\", key: \"1m0v6g\" }],\n [\n \"path\",\n {\n d: \"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\",\n key: \"ohrbg2\"\n }\n ]\n];\nconst SquarePen = createLucideIcon(\"square-pen\", __iconNode);\n\nexport { __iconNode, SquarePen as default };\n//# sourceMappingURL=square-pen.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m7 11 2-2-2-2\", key: \"1lz0vl\" }],\n [\"path\", { d: \"M11 13h4\", key: \"1p7l4v\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", ry: \"2\", key: \"1m3agn\" }]\n];\nconst SquareTerminal = createLucideIcon(\"square-terminal\", __iconNode);\n\nexport { __iconNode, SquareTerminal as default };\n//# sourceMappingURL=square-terminal.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\", key: \"4alrt4\" }],\n [\"path\", { d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\", key: \"v07s0e\" }],\n [\"line\", { x1: \"10\", x2: \"10\", y1: \"11\", y2: \"17\", key: \"1uufr5\" }],\n [\"line\", { x1: \"14\", x2: \"14\", y1: \"11\", y2: \"17\", key: \"xtxkd\" }]\n];\nconst Trash2 = createLucideIcon(\"trash-2\", __iconNode);\n\nexport { __iconNode, Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n];\nconst TriangleAlert = createLucideIcon(\"triangle-alert\", __iconNode);\n\nexport { __iconNode, TriangleAlert as default };\n//# sourceMappingURL=triangle-alert.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 3v12\", key: \"1x0j5s\" }],\n [\"path\", { d: \"m17 8-5-5-5 5\", key: \"7q97r8\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }]\n];\nconst Upload = createLucideIcon(\"upload\", __iconNode);\n\nexport { __iconNode, Upload as default };\n//# sourceMappingURL=upload.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z\",\n key: \"uqj9uw\"\n }\n ],\n [\"line\", { x1: \"22\", x2: \"16\", y1: \"9\", y2: \"15\", key: \"1ewh16\" }],\n [\"line\", { x1: \"16\", x2: \"22\", y1: \"9\", y2: \"15\", key: \"5ykzw1\" }]\n];\nconst VolumeX = createLucideIcon(\"volume-x\", __iconNode);\n\nexport { __iconNode, VolumeX as default };\n//# sourceMappingURL=volume-x.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\",\n key: \"ul74o6\"\n }\n ],\n [\"path\", { d: \"m14 7 3 3\", key: \"1r5n42\" }],\n [\"path\", { d: \"M5 6v4\", key: \"ilb8ba\" }],\n [\"path\", { d: \"M19 14v4\", key: \"blhpug\" }],\n [\"path\", { d: \"M10 2v2\", key: \"7u0qdc\" }],\n [\"path\", { d: \"M7 8H3\", key: \"zfb6yr\" }],\n [\"path\", { d: \"M21 16h-4\", key: \"1cnmox\" }],\n [\"path\", { d: \"M11 3H9\", key: \"1obp7u\" }]\n];\nconst WandSparkles = createLucideIcon(\"wand-sparkles\", __iconNode);\n\nexport { __iconNode, WandSparkles as default };\n//# sourceMappingURL=wand-sparkles.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2\",\n key: \"q3hayz\"\n }\n ],\n [\"path\", { d: \"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06\", key: \"1go1hn\" }],\n [\"path\", { d: \"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8\", key: \"qlwsc0\" }]\n];\nconst Webhook = createLucideIcon(\"webhook\", __iconNode);\n\nexport { __iconNode, Webhook as default };\n//# sourceMappingURL=webhook.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m16 16-2 2 2 2\", key: \"kkc6pm\" }],\n [\"path\", { d: \"M3 12h15a3 3 0 1 1 0 6h-4\", key: \"1cl7v7\" }],\n [\"path\", { d: \"M3 18h7\", key: \"sq21v6\" }],\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }]\n];\nconst WrapText = createLucideIcon(\"wrap-text\", __iconNode);\n\nexport { __iconNode, WrapText as default };\n//# sourceMappingURL=wrap-text.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n];\nconst X = createLucideIcon(\"x\", __iconNode);\n\nexport { __iconNode, X as default };\n//# sourceMappingURL=x.js.map\n", + "/**\n * @license lucide-react v0.518.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n];\nconst Zap = createLucideIcon(\"zap\", __iconNode);\n\nexport { __iconNode, Zap as default };\n//# sourceMappingURL=zap.js.map\n", + "\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check } from \"lucide-react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst checkboxVariants = cva(\n\t\"peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault:\n\t\t\t\t\t\"border-vscode-foreground data-[state=checked]:bg-vscode-foreground data-[state=checked]:text-primary-foreground\",\n\t\t\t\tdescription:\n\t\t\t\t\t\"border-vscode-descriptionForeground data-[state=checked]:bg-vscode-descriptionForeground data-[state=checked]:text-white\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"default\",\n\t\t},\n\t},\n)\n\nexport interface CheckboxProps\n\textends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>,\n\t\tVariantProps<typeof checkboxVariants> {}\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\n\t({ className, variant, ...props }, ref) => (\n\t\t<CheckboxPrimitive.Root ref={ref} className={cn(checkboxVariants({ variant, className }))} {...props}>\n\t\t\t<CheckboxPrimitive.Indicator className={cn(\"flex items-center justify-center text-current\")}>\n\t\t\t\t<Check className=\"h-4 w-4 text-vscode-background\" />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t),\n)\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox, checkboxVariants }\n", + "\"use client\";\n\n// src/collapsible.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar COLLAPSIBLE_NAME = \"Collapsible\";\nvar [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\nvar [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);\nvar Collapsible = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME\n });\n return /* @__PURE__ */ jsx(\n CollapsibleProvider,\n {\n scope: __scopeCollapsible,\n disabled,\n contentId: useId(),\n open,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(open),\n \"data-disabled\": disabled ? \"\" : void 0,\n ...collapsibleProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nCollapsible.displayName = COLLAPSIBLE_NAME;\nvar TRIGGER_NAME = \"CollapsibleTrigger\";\nvar CollapsibleTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open || false,\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n disabled: context.disabled,\n ...triggerProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nCollapsibleTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"CollapsibleContent\";\nvar CollapsibleContent = React.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });\n }\n);\nCollapsibleContent.displayName = CONTENT_NAME;\nvar CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef(void 0);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName\n };\n node.style.transitionDuration = \"0s\";\n node.style.animationName = \"none\";\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n setIsPresent(present);\n }\n }, [context.open, present]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n id: context.contentId,\n hidden: !isOpen,\n ...contentProps,\n ref: composedRefs,\n style: {\n [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,\n [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,\n ...props.style\n },\n children: isOpen && children\n }\n );\n});\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root = Collapsible;\nvar Trigger = CollapsibleTrigger;\nvar Content = CollapsibleContent;\nexport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n Content,\n Root,\n Trigger,\n createCollapsibleScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n", + "var U=1,Y=.9,H=.8,J=.17,p=.1,u=.999,$=.9999;var k=.99,m=/[\\\\\\/_+.#\"@\\[\\(\\{&]/,B=/[\\\\\\/_+.#\"@\\[\\(\\{&]/g,K=/[\\s-]/,X=/[\\s-]/g;function G(_,C,h,P,A,f,O){if(f===C.length)return A===_.length?U:k;var T=`${A},${f}`;if(O[T]!==void 0)return O[T];for(var L=P.charAt(f),c=h.indexOf(L,A),S=0,E,N,R,M;c>=0;)E=G(_,C,h,P,c+1,f+1,O),E>S&&(c===A?E*=U:m.test(_.charAt(c-1))?(E*=H,R=_.slice(A,c-1).match(B),R&&A>0&&(E*=Math.pow(u,R.length))):K.test(_.charAt(c-1))?(E*=Y,M=_.slice(A,c-1).match(X),M&&A>0&&(E*=Math.pow(u,M.length))):(E*=J,A>0&&(E*=Math.pow(u,c-A))),_.charAt(c)!==C.charAt(f)&&(E*=$)),(E<p&&h.charAt(c-1)===P.charAt(f+1)||P.charAt(f+1)===P.charAt(f)&&h.charAt(c-1)!==P.charAt(f))&&(N=G(_,C,h,P,c+1,f+2,O),N*p>E&&(E=N*p)),E>S&&(S=E),c=h.indexOf(L,c+1);return O[T]=S,S}function D(_){return _.toLowerCase().replace(X,\" \")}function W(_,C,h){return _=h&&h.length>0?`${_+\" \"+h.join(\" \")}`:_,G(_,C,D(_),D(C),0,0,{})}export{W as a};\n", + "\"use client\";import{a as ae}from\"./chunk-NZJY6EH4.mjs\";import*as w from\"@radix-ui/react-dialog\";import*as t from\"react\";import{Primitive as D}from\"@radix-ui/react-primitive\";import{useId as H}from\"@radix-ui/react-id\";import{composeRefs as G}from\"@radix-ui/react-compose-refs\";var N='[cmdk-group=\"\"]',Y='[cmdk-group-items=\"\"]',be='[cmdk-group-heading=\"\"]',le='[cmdk-item=\"\"]',ce=`${le}:not([aria-disabled=\"true\"])`,Z=\"cmdk-item-select\",T=\"data-value\",Re=(r,o,n)=>ae(r,o,n),ue=t.createContext(void 0),K=()=>t.useContext(ue),de=t.createContext(void 0),ee=()=>t.useContext(de),fe=t.createContext(void 0),me=t.forwardRef((r,o)=>{let n=L(()=>{var e,a;return{search:\"\",value:(a=(e=r.value)!=null?e:r.defaultValue)!=null?a:\"\",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),u=L(()=>new Set),c=L(()=>new Map),d=L(()=>new Map),f=L(()=>new Set),p=pe(r),{label:b,children:m,value:R,onValueChange:x,filter:C,shouldFilter:S,loop:A,disablePointerSelection:ge=!1,vimBindings:j=!0,...O}=r,$=H(),q=H(),_=H(),I=t.useRef(null),v=ke();k(()=>{if(R!==void 0){let e=R.trim();n.current.value=e,E.emit()}},[R]),k(()=>{v(6,ne)},[]);let E=t.useMemo(()=>({subscribe:e=>(f.current.add(e),()=>f.current.delete(e)),snapshot:()=>n.current,setState:(e,a,s)=>{var i,l,g,y;if(!Object.is(n.current[e],a)){if(n.current[e]=a,e===\"search\")J(),z(),v(1,W);else if(e===\"value\"){if(document.activeElement.hasAttribute(\"cmdk-input\")||document.activeElement.hasAttribute(\"cmdk-root\")){let h=document.getElementById(_);h?h.focus():(i=document.getElementById($))==null||i.focus()}if(v(7,()=>{var h;n.current.selectedItemId=(h=M())==null?void 0:h.id,E.emit()}),s||v(5,ne),((l=p.current)==null?void 0:l.value)!==void 0){let h=a!=null?a:\"\";(y=(g=p.current).onValueChange)==null||y.call(g,h);return}}E.emit()}},emit:()=>{f.current.forEach(e=>e())}}),[]),U=t.useMemo(()=>({value:(e,a,s)=>{var i;a!==((i=d.current.get(e))==null?void 0:i.value)&&(d.current.set(e,{value:a,keywords:s}),n.current.filtered.items.set(e,te(a,s)),v(2,()=>{z(),E.emit()}))},item:(e,a)=>(u.current.add(e),a&&(c.current.has(a)?c.current.get(a).add(e):c.current.set(a,new Set([e]))),v(3,()=>{J(),z(),n.current.value||W(),E.emit()}),()=>{d.current.delete(e),u.current.delete(e),n.current.filtered.items.delete(e);let s=M();v(4,()=>{J(),(s==null?void 0:s.getAttribute(\"id\"))===e&&W(),E.emit()})}),group:e=>(c.current.has(e)||c.current.set(e,new Set),()=>{d.current.delete(e),c.current.delete(e)}),filter:()=>p.current.shouldFilter,label:b||r[\"aria-label\"],getDisablePointerSelection:()=>p.current.disablePointerSelection,listId:$,inputId:_,labelId:q,listInnerRef:I}),[]);function te(e,a){var i,l;let s=(l=(i=p.current)==null?void 0:i.filter)!=null?l:Re;return e?s(e,n.current.search,a):0}function z(){if(!n.current.search||p.current.shouldFilter===!1)return;let e=n.current.filtered.items,a=[];n.current.filtered.groups.forEach(i=>{let l=c.current.get(i),g=0;l.forEach(y=>{let h=e.get(y);g=Math.max(h,g)}),a.push([i,g])});let s=I.current;V().sort((i,l)=>{var h,F;let g=i.getAttribute(\"id\"),y=l.getAttribute(\"id\");return((h=e.get(y))!=null?h:0)-((F=e.get(g))!=null?F:0)}).forEach(i=>{let l=i.closest(Y);l?l.appendChild(i.parentElement===l?i:i.closest(`${Y} > *`)):s.appendChild(i.parentElement===s?i:i.closest(`${Y} > *`))}),a.sort((i,l)=>l[1]-i[1]).forEach(i=>{var g;let l=(g=I.current)==null?void 0:g.querySelector(`${N}[${T}=\"${encodeURIComponent(i[0])}\"]`);l==null||l.parentElement.appendChild(l)})}function W(){let e=V().find(s=>s.getAttribute(\"aria-disabled\")!==\"true\"),a=e==null?void 0:e.getAttribute(T);E.setState(\"value\",a||void 0)}function J(){var a,s,i,l;if(!n.current.search||p.current.shouldFilter===!1){n.current.filtered.count=u.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let g of u.current){let y=(s=(a=d.current.get(g))==null?void 0:a.value)!=null?s:\"\",h=(l=(i=d.current.get(g))==null?void 0:i.keywords)!=null?l:[],F=te(y,h);n.current.filtered.items.set(g,F),F>0&&e++}for(let[g,y]of c.current)for(let h of y)if(n.current.filtered.items.get(h)>0){n.current.filtered.groups.add(g);break}n.current.filtered.count=e}function ne(){var a,s,i;let e=M();e&&(((a=e.parentElement)==null?void 0:a.firstChild)===e&&((i=(s=e.closest(N))==null?void 0:s.querySelector(be))==null||i.scrollIntoView({block:\"nearest\"})),e.scrollIntoView({block:\"nearest\"}))}function M(){var e;return(e=I.current)==null?void 0:e.querySelector(`${le}[aria-selected=\"true\"]`)}function V(){var e;return Array.from(((e=I.current)==null?void 0:e.querySelectorAll(ce))||[])}function X(e){let s=V()[e];s&&E.setState(\"value\",s.getAttribute(T))}function Q(e){var g;let a=M(),s=V(),i=s.findIndex(y=>y===a),l=s[i+e];(g=p.current)!=null&&g.loop&&(l=i+e<0?s[s.length-1]:i+e===s.length?s[0]:s[i+e]),l&&E.setState(\"value\",l.getAttribute(T))}function re(e){let a=M(),s=a==null?void 0:a.closest(N),i;for(;s&&!i;)s=e>0?we(s,N):De(s,N),i=s==null?void 0:s.querySelector(ce);i?E.setState(\"value\",i.getAttribute(T)):Q(e)}let oe=()=>X(V().length-1),ie=e=>{e.preventDefault(),e.metaKey?oe():e.altKey?re(1):Q(1)},se=e=>{e.preventDefault(),e.metaKey?X(0):e.altKey?re(-1):Q(-1)};return t.createElement(D.div,{ref:o,tabIndex:-1,...O,\"cmdk-root\":\"\",onKeyDown:e=>{var s;(s=O.onKeyDown)==null||s.call(O,e);let a=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||a))switch(e.key){case\"n\":case\"j\":{j&&e.ctrlKey&&ie(e);break}case\"ArrowDown\":{ie(e);break}case\"p\":case\"k\":{j&&e.ctrlKey&&se(e);break}case\"ArrowUp\":{se(e);break}case\"Home\":{e.preventDefault(),X(0);break}case\"End\":{e.preventDefault(),oe();break}case\"Enter\":{e.preventDefault();let i=M();if(i){let l=new Event(Z);i.dispatchEvent(l)}}}}},t.createElement(\"label\",{\"cmdk-label\":\"\",htmlFor:U.inputId,id:U.labelId,style:Te},b),B(r,e=>t.createElement(de.Provider,{value:E},t.createElement(ue.Provider,{value:U},e))))}),he=t.forwardRef((r,o)=>{var _,I;let n=H(),u=t.useRef(null),c=t.useContext(fe),d=K(),f=pe(r),p=(I=(_=f.current)==null?void 0:_.forceMount)!=null?I:c==null?void 0:c.forceMount;k(()=>{if(!p)return d.item(n,c==null?void 0:c.id)},[p]);let b=ve(n,u,[r.value,r.children,u],r.keywords),m=ee(),R=P(v=>v.value&&v.value===b.current),x=P(v=>p||d.filter()===!1?!0:v.search?v.filtered.items.get(n)>0:!0);t.useEffect(()=>{let v=u.current;if(!(!v||r.disabled))return v.addEventListener(Z,C),()=>v.removeEventListener(Z,C)},[x,r.onSelect,r.disabled]);function C(){var v,E;S(),(E=(v=f.current).onSelect)==null||E.call(v,b.current)}function S(){m.setState(\"value\",b.current,!0)}if(!x)return null;let{disabled:A,value:ge,onSelect:j,forceMount:O,keywords:$,...q}=r;return t.createElement(D.div,{ref:G(u,o),...q,id:n,\"cmdk-item\":\"\",role:\"option\",\"aria-disabled\":!!A,\"aria-selected\":!!R,\"data-disabled\":!!A,\"data-selected\":!!R,onPointerMove:A||d.getDisablePointerSelection()?void 0:S,onClick:A?void 0:C},r.children)}),Ee=t.forwardRef((r,o)=>{let{heading:n,children:u,forceMount:c,...d}=r,f=H(),p=t.useRef(null),b=t.useRef(null),m=H(),R=K(),x=P(S=>c||R.filter()===!1?!0:S.search?S.filtered.groups.has(f):!0);k(()=>R.group(f),[]),ve(f,p,[r.value,r.heading,b]);let C=t.useMemo(()=>({id:f,forceMount:c}),[c]);return t.createElement(D.div,{ref:G(p,o),...d,\"cmdk-group\":\"\",role:\"presentation\",hidden:x?void 0:!0},n&&t.createElement(\"div\",{ref:b,\"cmdk-group-heading\":\"\",\"aria-hidden\":!0,id:m},n),B(r,S=>t.createElement(\"div\",{\"cmdk-group-items\":\"\",role:\"group\",\"aria-labelledby\":n?m:void 0},t.createElement(fe.Provider,{value:C},S))))}),ye=t.forwardRef((r,o)=>{let{alwaysRender:n,...u}=r,c=t.useRef(null),d=P(f=>!f.search);return!n&&!d?null:t.createElement(D.div,{ref:G(c,o),...u,\"cmdk-separator\":\"\",role:\"separator\"})}),Se=t.forwardRef((r,o)=>{let{onValueChange:n,...u}=r,c=r.value!=null,d=ee(),f=P(m=>m.search),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{r.value!=null&&d.setState(\"search\",r.value)},[r.value]),t.createElement(D.input,{ref:o,...u,\"cmdk-input\":\"\",autoComplete:\"off\",autoCorrect:\"off\",spellCheck:!1,\"aria-autocomplete\":\"list\",role:\"combobox\",\"aria-expanded\":!0,\"aria-controls\":b.listId,\"aria-labelledby\":b.labelId,\"aria-activedescendant\":p,id:b.inputId,type:\"text\",value:c?r.value:f,onChange:m=>{c||d.setState(\"search\",m.target.value),n==null||n(m.target.value)}})}),Ce=t.forwardRef((r,o)=>{let{children:n,label:u=\"Suggestions\",...c}=r,d=t.useRef(null),f=t.useRef(null),p=P(m=>m.selectedItemId),b=K();return t.useEffect(()=>{if(f.current&&d.current){let m=f.current,R=d.current,x,C=new ResizeObserver(()=>{x=requestAnimationFrame(()=>{let S=m.offsetHeight;R.style.setProperty(\"--cmdk-list-height\",S.toFixed(1)+\"px\")})});return C.observe(m),()=>{cancelAnimationFrame(x),C.unobserve(m)}}},[]),t.createElement(D.div,{ref:G(d,o),...c,\"cmdk-list\":\"\",role:\"listbox\",tabIndex:-1,\"aria-activedescendant\":p,\"aria-label\":u,id:b.listId},B(r,m=>t.createElement(\"div\",{ref:G(f,b.listInnerRef),\"cmdk-list-sizer\":\"\"},m)))}),xe=t.forwardRef((r,o)=>{let{open:n,onOpenChange:u,overlayClassName:c,contentClassName:d,container:f,...p}=r;return t.createElement(w.Root,{open:n,onOpenChange:u},t.createElement(w.Portal,{container:f},t.createElement(w.Overlay,{\"cmdk-overlay\":\"\",className:c}),t.createElement(w.Content,{\"aria-label\":r.label,\"cmdk-dialog\":\"\",className:d},t.createElement(me,{ref:o,...p}))))}),Ie=t.forwardRef((r,o)=>P(u=>u.filtered.count===0)?t.createElement(D.div,{ref:o,...r,\"cmdk-empty\":\"\",role:\"presentation\"}):null),Pe=t.forwardRef((r,o)=>{let{progress:n,children:u,label:c=\"Loading...\",...d}=r;return t.createElement(D.div,{ref:o,...d,\"cmdk-loading\":\"\",role:\"progressbar\",\"aria-valuenow\":n,\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-label\":c},B(r,f=>t.createElement(\"div\",{\"aria-hidden\":!0},f)))}),_e=Object.assign(me,{List:Ce,Item:he,Input:Se,Group:Ee,Separator:ye,Dialog:xe,Empty:Ie,Loading:Pe});function we(r,o){let n=r.nextElementSibling;for(;n;){if(n.matches(o))return n;n=n.nextElementSibling}}function De(r,o){let n=r.previousElementSibling;for(;n;){if(n.matches(o))return n;n=n.previousElementSibling}}function pe(r){let o=t.useRef(r);return k(()=>{o.current=r}),o}var k=typeof window==\"undefined\"?t.useEffect:t.useLayoutEffect;function L(r){let o=t.useRef();return o.current===void 0&&(o.current=r()),o}function P(r){let o=ee(),n=()=>r(o.snapshot());return t.useSyncExternalStore(o.subscribe,n,n)}function ve(r,o,n,u=[]){let c=t.useRef(),d=K();return k(()=>{var b;let f=(()=>{var m;for(let R of n){if(typeof R==\"string\")return R.trim();if(typeof R==\"object\"&&\"current\"in R)return R.current?(m=R.current.textContent)==null?void 0:m.trim():c.current}})(),p=u.map(m=>m.trim());d.value(r,f,p),(b=o.current)==null||b.setAttribute(T,f),c.current=f}),c}var ke=()=>{let[r,o]=t.useState(),n=L(()=>new Map);return k(()=>{n.current.forEach(u=>u()),n.current=new Map},[r]),(u,c)=>{n.current.set(u,c),o({})}};function Me(r){let o=r.type;return typeof o==\"function\"?o(r.props):\"render\"in o?o.render(r.props):r}function B({asChild:r,children:o},n){return r&&t.isValidElement(o)?t.cloneElement(Me(o),{ref:o.ref},n(o.props.children)):n(o)}var Te={position:\"absolute\",width:\"1px\",height:\"1px\",padding:\"0\",margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",borderWidth:\"0\"};export{_e as Command,xe as CommandDialog,Ie as CommandEmpty,Ee as CommandGroup,Se as CommandInput,he as CommandItem,Ce as CommandList,Pe as CommandLoading,me as CommandRoot,ye as CommandSeparator,Re as defaultFilter,P as useCommandState};\n", + "import { forwardRef, createElement } from 'react';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"color\"];\nvar AccessibilityIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877197 7.49984C0.877197 3.84216 3.84234 0.877014 7.50003 0.877014C11.1577 0.877014 14.1229 3.84216 14.1229 7.49984C14.1229 11.1575 11.1577 14.1227 7.50003 14.1227C3.84234 14.1227 0.877197 11.1575 0.877197 7.49984ZM7.50003 1.82701C4.36702 1.82701 1.8272 4.36683 1.8272 7.49984C1.8272 10.6328 4.36702 13.1727 7.50003 13.1727C10.633 13.1727 13.1729 10.6328 13.1729 7.49984C13.1729 4.36683 10.633 1.82701 7.50003 1.82701ZM7.12457 9.00001C7.06994 9.12735 6.33165 11.9592 6.33165 11.9592C6.26018 12.226 5.98601 12.3843 5.71928 12.3128C5.45255 12.2413 5.29425 11.9672 5.36573 11.7004C5.36573 11.7004 6.24661 8.87268 6.24661 8.27007V6.80099L4.28763 6.27608C4.0209 6.20461 3.86261 5.93045 3.93408 5.66371C4.00555 5.39698 4.27972 5.23869 4.54645 5.31016C4.54645 5.31016 6.20042 5.87268 6.84579 5.87268H8.15505C8.80042 5.87268 10.4534 5.31042 10.4534 5.31042C10.7202 5.23895 10.9943 5.39724 11.0658 5.66397C11.1373 5.93071 10.979 6.20487 10.7122 6.27635L8.74661 6.80303V8.27007C8.74661 8.87268 9.62663 11.6971 9.62663 11.6971C9.6981 11.9639 9.5398 12.238 9.27307 12.3095C9.00634 12.381 8.73217 12.2227 8.6607 11.956C8.6607 11.956 7.91994 9.12735 7.86866 9.00001C7.81994 8.87268 7.65006 8.87268 7.65006 8.87268H7.34317C7.34317 8.87268 7.16994 8.87268 7.12457 9.00001ZM7.50043 5.12007C8.12175 5.12007 8.62543 4.61639 8.62543 3.99507C8.62543 3.37375 8.12175 2.87007 7.50043 2.87007C6.87911 2.87007 6.37543 3.37375 6.37543 3.99507C6.37543 4.61639 6.87911 5.12007 7.50043 5.12007Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1 = [\"color\"];\nvar ActivityLogIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0 1.5C0 1.22386 0.223858 1 0.5 1H2.5C2.77614 1 3 1.22386 3 1.5C3 1.77614 2.77614 2 2.5 2H0.5C0.223858 2 0 1.77614 0 1.5ZM4 1.5C4 1.22386 4.22386 1 4.5 1H14.5C14.7761 1 15 1.22386 15 1.5C15 1.77614 14.7761 2 14.5 2H4.5C4.22386 2 4 1.77614 4 1.5ZM4 4.5C4 4.22386 4.22386 4 4.5 4H11.5C11.7761 4 12 4.22386 12 4.5C12 4.77614 11.7761 5 11.5 5H4.5C4.22386 5 4 4.77614 4 4.5ZM0 7.5C0 7.22386 0.223858 7 0.5 7H2.5C2.77614 7 3 7.22386 3 7.5C3 7.77614 2.77614 8 2.5 8H0.5C0.223858 8 0 7.77614 0 7.5ZM4 7.5C4 7.22386 4.22386 7 4.5 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H4.5C4.22386 8 4 7.77614 4 7.5ZM4 10.5C4 10.2239 4.22386 10 4.5 10H11.5C11.7761 10 12 10.2239 12 10.5C12 10.7761 11.7761 11 11.5 11H4.5C4.22386 11 4 10.7761 4 10.5ZM0 13.5C0 13.2239 0.223858 13 0.5 13H2.5C2.77614 13 3 13.2239 3 13.5C3 13.7761 2.77614 14 2.5 14H0.5C0.223858 14 0 13.7761 0 13.5ZM4 13.5C4 13.2239 4.22386 13 4.5 13H14.5C14.7761 13 15 13.2239 15 13.5C15 13.7761 14.7761 14 14.5 14H4.5C4.22386 14 4 13.7761 4 13.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2 = [\"color\"];\nvar AlignBaselineIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10.5 1.75003C10.7107 1.75003 10.8988 1.88217 10.9703 2.08042L13.9703 10.4C14.064 10.6598 13.9293 10.9463 13.6696 11.04C13.4098 11.1336 13.1233 10.999 13.0296 10.7392L12.0477 8.01606H8.95227L7.97031 10.7392C7.87664 10.999 7.59012 11.1336 7.33035 11.04C7.07058 10.9463 6.93593 10.6598 7.0296 10.4L10.0296 2.08042C10.1011 1.88217 10.2892 1.75003 10.5 1.75003ZM10.5 3.72402L11.7411 7.16606H9.25877L10.5 3.72402ZM2.49949 2.09997C2.7204 2.09997 2.89949 2.27906 2.89949 2.49997L2.89949 9.53428L4.21664 8.21713C4.37285 8.06092 4.62612 8.06092 4.78233 8.21713C4.93854 8.37334 4.93854 8.6266 4.78233 8.78281L2.78233 10.7828C2.70732 10.8578 2.60557 10.9 2.49949 10.9C2.3934 10.9 2.29166 10.8578 2.21664 10.7828L0.216645 8.78281C0.0604349 8.6266 0.0604349 8.37334 0.216645 8.21713C0.372854 8.06092 0.62612 8.06092 0.78233 8.21713L2.09949 9.53428L2.09949 2.49997C2.09949 2.27906 2.27857 2.09997 2.49949 2.09997ZM0.0999695 13.5001C0.0999695 13.2791 0.279056 13.1001 0.499969 13.1001H14.5C14.7209 13.1001 14.9 13.2791 14.9 13.5001C14.9 13.721 14.7209 13.9001 14.5 13.9001H0.499969C0.279056 13.9001 0.0999695 13.721 0.0999695 13.5001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3 = [\"color\"];\nvar AlignBottomIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9 3C9 2.44772 8.55229 2 8 2H7C6.44772 2 6 2.44772 6 3L6 14H1.5C1.22386 14 1 14.2239 1 14.5C1 14.7761 1.22386 15 1.5 15L6 15H9H13.5C13.7761 15 14 14.7761 14 14.5C14 14.2239 13.7761 14 13.5 14H9V3Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4 = [\"color\"];\nvar AlignCenterHorizontallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.99988 6C1.44759 6 0.999877 6.44772 0.999877 7L0.999877 8C0.999877 8.55228 1.44759 9 1.99988 9L6.99988 9L6.99988 13.5C6.99988 13.7761 7.22374 14 7.49988 14C7.77602 14 7.99988 13.7761 7.99988 13.5L7.99988 9L12.9999 9C13.5522 9 13.9999 8.55228 13.9999 8L13.9999 7C13.9999 6.44772 13.5522 6 12.9999 6L7.99988 6L7.99988 1.5C7.99988 1.22386 7.77602 1 7.49988 1C7.22373 1 6.99988 1.22386 6.99988 1.5L6.99988 6L1.99988 6Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$5 = [\"color\"];\nvar AlignCenterVerticallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$5);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.99988 1C6.44759 1 5.99988 1.44772 5.99988 2V7H1.49988C1.22374 7 0.999878 7.22386 0.999878 7.5C0.999878 7.77614 1.22374 8 1.49988 8H5.99988V13C5.99988 13.5523 6.44759 14 6.99988 14H7.99988C8.55216 14 8.99988 13.5523 8.99988 13V8H13.4999C13.776 8 13.9999 7.77614 13.9999 7.5C13.9999 7.22386 13.776 7 13.4999 7H8.99988V2C8.99988 1.44772 8.55216 1 7.99988 1L6.99988 1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$6 = [\"color\"];\nvar AlignLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$6);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.499995 0.999995C0.223855 0.999995 -5.58458e-07 1.22385 -5.46388e-07 1.49999L-2.18554e-08 13.4999C-9.78492e-09 13.776 0.223855 13.9999 0.499995 13.9999C0.776136 13.9999 0.999991 13.776 0.999991 13.4999L0.999991 8.99993L12 8.99993C12.5523 8.99993 13 8.55222 13 7.99993L13 6.99994C13 6.44766 12.5523 5.99995 12 5.99995L0.999991 5.99995L0.999991 1.49999C0.999991 1.22385 0.776135 0.999995 0.499995 0.999995Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$7 = [\"color\"];\nvar AlignRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$7);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14.4999 1C14.2237 1 13.9999 1.22386 13.9999 1.5L13.9999 6L2.99988 6C2.44759 6 1.99988 6.44772 1.99988 7L1.99988 8C1.99988 8.55228 2.44759 9 2.99988 9L13.9999 9L13.9999 13.5C13.9999 13.7761 14.2237 14 14.4999 14C14.776 14 14.9999 13.7761 14.9999 13.5L14.9999 9L14.9999 6L14.9999 1.5C14.9999 1.22386 14.776 1 14.4999 1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$8 = [\"color\"];\nvar AlignTopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$8);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.5 0C1.22386 0 1 0.223858 1 0.5C1 0.776142 1.22386 1 1.5 1H6V12C6 12.5523 6.44772 13 7 13H8C8.55228 13 9 12.5523 9 12V1H13.5C13.7761 1 14 0.776142 14 0.5C14 0.223858 13.7761 0 13.5 0H9H6H1.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$9 = [\"color\"];\nvar AllSidesIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$9);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 0.75L9.75 3H5.25L7.5 0.75ZM7.5 14.25L9.75 12H5.25L7.5 14.25ZM3 5.25L0.75 7.5L3 9.75V5.25ZM14.25 7.5L12 5.25V9.75L14.25 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$a = [\"color\"];\nvar AngleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$a);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.8914 2.1937C9.1158 2.35464 9.16725 2.66701 9.00631 2.89141L2.47388 12H13.5C13.7761 12 14 12.2239 14 12.5C14 12.7762 13.7761 13 13.5 13H1.5C1.31254 13 1.14082 12.8952 1.0552 12.7284C0.969578 12.5616 0.984438 12.361 1.09369 12.2086L8.19369 2.30862C8.35462 2.08422 8.667 2.03277 8.8914 2.1937ZM11.1 6.50001C11.1 6.22387 11.3238 6.00001 11.6 6.00001C11.8761 6.00001 12.1 6.22387 12.1 6.50001C12.1 6.77615 11.8761 7.00001 11.6 7.00001C11.3238 7.00001 11.1 6.77615 11.1 6.50001ZM10.4 4.00001C10.1239 4.00001 9.90003 4.22387 9.90003 4.50001C9.90003 4.77615 10.1239 5.00001 10.4 5.00001C10.6762 5.00001 10.9 4.77615 10.9 4.50001C10.9 4.22387 10.6762 4.00001 10.4 4.00001ZM12.1 8.50001C12.1 8.22387 12.3238 8.00001 12.6 8.00001C12.8761 8.00001 13.1 8.22387 13.1 8.50001C13.1 8.77615 12.8761 9.00001 12.6 9.00001C12.3238 9.00001 12.1 8.77615 12.1 8.50001ZM13.4 10C13.1239 10 12.9 10.2239 12.9 10.5C12.9 10.7761 13.1239 11 13.4 11C13.6762 11 13.9 10.7761 13.9 10.5C13.9 10.2239 13.6762 10 13.4 10Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$b = [\"color\"];\nvar ArchiveIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$b);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.30902 1C2.93025 1 2.58398 1.214 2.41459 1.55279L1.05279 4.27639C1.01807 4.34582 1 4.42238 1 4.5V13C1 13.5523 1.44772 14 2 14H13C13.5523 14 14 13.5523 14 13V4.5C14 4.42238 13.9819 4.34582 13.9472 4.27639L12.5854 1.55281C12.416 1.21403 12.0698 1.00003 11.691 1.00003L7.5 1.00001L3.30902 1ZM3.30902 2L7 2.00001V4H2.30902L3.30902 2ZM8 4V2.00002L11.691 2.00003L12.691 4H8ZM7.5 5H13V13H2V5H7.5ZM5.5 7C5.22386 7 5 7.22386 5 7.5C5 7.77614 5.22386 8 5.5 8H9.5C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7H5.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$c = [\"color\"];\nvar ArrowBottomLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$c);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.3536 3.64644C11.5488 3.8417 11.5488 4.15828 11.3536 4.35354L4.70711 11L9 11C9.27614 11 9.5 11.2239 9.5 11.5C9.5 11.7761 9.27614 12 9 12L3.5 12C3.36739 12 3.24021 11.9473 3.14645 11.8536C3.05268 11.7598 3 11.6326 3 11.5L3 5.99999C3 5.72385 3.22386 5.49999 3.5 5.49999C3.77614 5.49999 4 5.72385 4 5.99999V10.2929L10.6464 3.64643C10.8417 3.45117 11.1583 3.45117 11.3536 3.64644Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$d = [\"color\"];\nvar ArrowBottomRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$d);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.64645 3.64644C3.45118 3.8417 3.45118 4.15828 3.64645 4.35354L10.2929 11L6 11C5.72386 11 5.5 11.2239 5.5 11.5C5.5 11.7761 5.72386 12 6 12L11.5 12C11.6326 12 11.7598 11.9473 11.8536 11.8536C11.9473 11.7598 12 11.6326 12 11.5L12 5.99999C12 5.72385 11.7761 5.49999 11.5 5.49999C11.2239 5.49999 11 5.72385 11 5.99999V10.2929L4.35355 3.64643C4.15829 3.45117 3.84171 3.45117 3.64645 3.64644Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$e = [\"color\"];\nvar ArrowDownIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$e);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 2C7.77614 2 8 2.22386 8 2.5L8 11.2929L11.1464 8.14645C11.3417 7.95118 11.6583 7.95118 11.8536 8.14645C12.0488 8.34171 12.0488 8.65829 11.8536 8.85355L7.85355 12.8536C7.75979 12.9473 7.63261 13 7.5 13C7.36739 13 7.24021 12.9473 7.14645 12.8536L3.14645 8.85355C2.95118 8.65829 2.95118 8.34171 3.14645 8.14645C3.34171 7.95118 3.65829 7.95118 3.85355 8.14645L7 11.2929L7 2.5C7 2.22386 7.22386 2 7.5 2Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$f = [\"color\"];\nvar ArrowLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$f);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.85355 3.14645C7.04882 3.34171 7.04882 3.65829 6.85355 3.85355L3.70711 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H3.70711L6.85355 11.1464C7.04882 11.3417 7.04882 11.6583 6.85355 11.8536C6.65829 12.0488 6.34171 12.0488 6.14645 11.8536L2.14645 7.85355C1.95118 7.65829 1.95118 7.34171 2.14645 7.14645L6.14645 3.14645C6.34171 2.95118 6.65829 2.95118 6.85355 3.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$g = [\"color\"];\nvar ArrowRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$g);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.14645 3.14645C8.34171 2.95118 8.65829 2.95118 8.85355 3.14645L12.8536 7.14645C13.0488 7.34171 13.0488 7.65829 12.8536 7.85355L8.85355 11.8536C8.65829 12.0488 8.34171 12.0488 8.14645 11.8536C7.95118 11.6583 7.95118 11.3417 8.14645 11.1464L11.2929 8H2.5C2.22386 8 2 7.77614 2 7.5C2 7.22386 2.22386 7 2.5 7H11.2929L8.14645 3.85355C7.95118 3.65829 7.95118 3.34171 8.14645 3.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$h = [\"color\"];\nvar ArrowTopLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$h);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.3536 11.3536C11.5488 11.1583 11.5488 10.8417 11.3536 10.6465L4.70711 4L9 4C9.27614 4 9.5 3.77614 9.5 3.5C9.5 3.22386 9.27614 3 9 3L3.5 3C3.36739 3 3.24021 3.05268 3.14645 3.14645C3.05268 3.24022 3 3.36739 3 3.5L3 9.00001C3 9.27615 3.22386 9.50001 3.5 9.50001C3.77614 9.50001 4 9.27615 4 9.00001V4.70711L10.6464 11.3536C10.8417 11.5488 11.1583 11.5488 11.3536 11.3536Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$i = [\"color\"];\nvar ArrowTopRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$i);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.64645 11.3536C3.45118 11.1583 3.45118 10.8417 3.64645 10.6465L10.2929 4L6 4C5.72386 4 5.5 3.77614 5.5 3.5C5.5 3.22386 5.72386 3 6 3L11.5 3C11.6326 3 11.7598 3.05268 11.8536 3.14645C11.9473 3.24022 12 3.36739 12 3.5L12 9.00001C12 9.27615 11.7761 9.50001 11.5 9.50001C11.2239 9.50001 11 9.27615 11 9.00001V4.70711L4.35355 11.3536C4.15829 11.5488 3.84171 11.5488 3.64645 11.3536Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$j = [\"color\"];\nvar ArrowUpIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$j);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.14645 2.14645C7.34171 1.95118 7.65829 1.95118 7.85355 2.14645L11.8536 6.14645C12.0488 6.34171 12.0488 6.65829 11.8536 6.85355C11.6583 7.04882 11.3417 7.04882 11.1464 6.85355L8 3.70711L8 12.5C8 12.7761 7.77614 13 7.5 13C7.22386 13 7 12.7761 7 12.5L7 3.70711L3.85355 6.85355C3.65829 7.04882 3.34171 7.04882 3.14645 6.85355C2.95118 6.65829 2.95118 6.34171 3.14645 6.14645L7.14645 2.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$k = [\"color\"];\nvar AspectRatioIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$k);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.5 2H12.5C12.7761 2 13 2.22386 13 2.5V12.5C13 12.7761 12.7761 13 12.5 13H2.5C2.22386 13 2 12.7761 2 12.5V2.5C2 2.22386 2.22386 2 2.5 2ZM1 2.5C1 1.67157 1.67157 1 2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5ZM7.5 4C7.77614 4 8 3.77614 8 3.5C8 3.22386 7.77614 3 7.5 3C7.22386 3 7 3.22386 7 3.5C7 3.77614 7.22386 4 7.5 4ZM8 5.5C8 5.77614 7.77614 6 7.5 6C7.22386 6 7 5.77614 7 5.5C7 5.22386 7.22386 5 7.5 5C7.77614 5 8 5.22386 8 5.5ZM7.5 8C7.77614 8 8 7.77614 8 7.5C8 7.22386 7.77614 7 7.5 7C7.22386 7 7 7.22386 7 7.5C7 7.77614 7.22386 8 7.5 8ZM10 7.5C10 7.77614 9.77614 8 9.5 8C9.22386 8 9 7.77614 9 7.5C9 7.22386 9.22386 7 9.5 7C9.77614 7 10 7.22386 10 7.5ZM11.5 8C11.7761 8 12 7.77614 12 7.5C12 7.22386 11.7761 7 11.5 7C11.2239 7 11 7.22386 11 7.5C11 7.77614 11.2239 8 11.5 8Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$l = [\"color\"];\nvar AvatarIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$l);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877014 7.49988C0.877014 3.84219 3.84216 0.877045 7.49985 0.877045C11.1575 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1575 14.1227 7.49985 14.1227C3.84216 14.1227 0.877014 11.1575 0.877014 7.49988ZM7.49985 1.82704C4.36683 1.82704 1.82701 4.36686 1.82701 7.49988C1.82701 8.97196 2.38774 10.3131 3.30727 11.3213C4.19074 9.94119 5.73818 9.02499 7.50023 9.02499C9.26206 9.02499 10.8093 9.94097 11.6929 11.3208C12.6121 10.3127 13.1727 8.97172 13.1727 7.49988C13.1727 4.36686 10.6328 1.82704 7.49985 1.82704ZM10.9818 11.9787C10.2839 10.7795 8.9857 9.97499 7.50023 9.97499C6.01458 9.97499 4.71624 10.7797 4.01845 11.9791C4.97952 12.7272 6.18765 13.1727 7.49985 13.1727C8.81227 13.1727 10.0206 12.727 10.9818 11.9787ZM5.14999 6.50487C5.14999 5.207 6.20212 4.15487 7.49999 4.15487C8.79786 4.15487 9.84999 5.207 9.84999 6.50487C9.84999 7.80274 8.79786 8.85487 7.49999 8.85487C6.20212 8.85487 5.14999 7.80274 5.14999 6.50487ZM7.49999 5.10487C6.72679 5.10487 6.09999 5.73167 6.09999 6.50487C6.09999 7.27807 6.72679 7.90487 7.49999 7.90487C8.27319 7.90487 8.89999 7.27807 8.89999 6.50487C8.89999 5.73167 8.27319 5.10487 7.49999 5.10487Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$m = [\"color\"];\nvar BackpackIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$m);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 1C5 0.447715 5.44772 0 6 0H9C9.55228 0 10 0.447715 10 1V2H14C14.5523 2 15 2.44772 15 3V6C15 6.8888 14.6131 7.68734 14 8.23608V11.5C14 12.3284 13.3284 13 12.5 13H2.5C1.67157 13 1 12.3284 1 11.5V8.2359C0.38697 7.68721 0 6.88883 0 6V3C0 2.44772 0.447716 2 1 2H5V1ZM9 1V2H6V1H9ZM1 3H5H5.5H9.5H10H14V6C14 6.654 13.6866 7.23467 13.1997 7.6004C12.8655 7.85144 12.4508 8 12 8H8V7.5C8 7.22386 7.77614 7 7.5 7C7.22386 7 7 7.22386 7 7.5V8H3C2.5493 8 2.1346 7.85133 1.80029 7.60022C1.31335 7.23446 1 6.65396 1 6V3ZM7 9H3C2.64961 9 2.31292 8.93972 2 8.82905V11.5C2 11.7761 2.22386 12 2.5 12H12.5C12.7761 12 13 11.7761 13 11.5V8.82915C12.6871 8.93978 12.3504 9 12 9H8V9.5C8 9.77614 7.77614 10 7.5 10C7.22386 10 7 9.77614 7 9.5V9Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$n = [\"color\"];\nvar BadgeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$n);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.5 6H11.5C12.3284 6 13 6.67157 13 7.5C13 8.32843 12.3284 9 11.5 9H3.5C2.67157 9 2 8.32843 2 7.5C2 6.67157 2.67157 6 3.5 6ZM1 7.5C1 6.11929 2.11929 5 3.5 5H11.5C12.8807 5 14 6.11929 14 7.5C14 8.88071 12.8807 10 11.5 10H3.5C2.11929 10 1 8.88071 1 7.5ZM4.5 7C4.22386 7 4 7.22386 4 7.5C4 7.77614 4.22386 8 4.5 8H10.5C10.7761 8 11 7.77614 11 7.5C11 7.22386 10.7761 7 10.5 7H4.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$o = [\"color\"];\nvar BarChartIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$o);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.5 1C11.7761 1 12 1.22386 12 1.5V13.5C12 13.7761 11.7761 14 11.5 14C11.2239 14 11 13.7761 11 13.5V1.5C11 1.22386 11.2239 1 11.5 1ZM9.5 3C9.77614 3 10 3.22386 10 3.5V13.5C10 13.7761 9.77614 14 9.5 14C9.22386 14 9 13.7761 9 13.5V3.5C9 3.22386 9.22386 3 9.5 3ZM13.5 3C13.7761 3 14 3.22386 14 3.5V13.5C14 13.7761 13.7761 14 13.5 14C13.2239 14 13 13.7761 13 13.5V3.5C13 3.22386 13.2239 3 13.5 3ZM5.5 4C5.77614 4 6 4.22386 6 4.5V13.5C6 13.7761 5.77614 14 5.5 14C5.22386 14 5 13.7761 5 13.5V4.5C5 4.22386 5.22386 4 5.5 4ZM1.5 5C1.77614 5 2 5.22386 2 5.5V13.5C2 13.7761 1.77614 14 1.5 14C1.22386 14 1 13.7761 1 13.5V5.5C1 5.22386 1.22386 5 1.5 5ZM7.5 5C7.77614 5 8 5.22386 8 5.5V13.5C8 13.7761 7.77614 14 7.5 14C7.22386 14 7 13.7761 7 13.5V5.5C7 5.22386 7.22386 5 7.5 5ZM3.5 7C3.77614 7 4 7.22386 4 7.5V13.5C4 13.7761 3.77614 14 3.5 14C3.22386 14 3 13.7761 3 13.5V7.5C3 7.22386 3.22386 7 3.5 7Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$p = [\"color\"];\nvar BellIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$p);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.60124 1.25086C8.60124 1.75459 8.26278 2.17927 7.80087 2.30989C10.1459 2.4647 12 4.41582 12 6.79999V10.25C12 11.0563 12.0329 11.7074 12.7236 12.0528C12.931 12.1565 13.0399 12.3892 12.9866 12.6149C12.9333 12.8406 12.7319 13 12.5 13H8.16144C8.36904 13.1832 8.49997 13.4513 8.49997 13.75C8.49997 14.3023 8.05226 14.75 7.49997 14.75C6.94769 14.75 6.49997 14.3023 6.49997 13.75C6.49997 13.4513 6.63091 13.1832 6.83851 13H2.49999C2.2681 13 2.06664 12.8406 2.01336 12.6149C1.96009 12.3892 2.06897 12.1565 2.27638 12.0528C2.96708 11.7074 2.99999 11.0563 2.99999 10.25V6.79999C2.99999 4.41537 4.85481 2.46396 7.20042 2.3098C6.73867 2.17908 6.40036 1.75448 6.40036 1.25086C6.40036 0.643104 6.89304 0.150421 7.5008 0.150421C8.10855 0.150421 8.60124 0.643104 8.60124 1.25086ZM7.49999 3.29999C5.56699 3.29999 3.99999 4.86699 3.99999 6.79999V10.25L4.00002 10.3009C4.0005 10.7463 4.00121 11.4084 3.69929 12H11.3007C10.9988 11.4084 10.9995 10.7463 11 10.3009L11 10.25V6.79999C11 4.86699 9.43299 3.29999 7.49999 3.29999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$q = [\"color\"];\nvar BlendingModeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 9C3 6.5 4.5 4.25 7.5 1.5C10.5 4.25 12 6.5 12 9C12 11.4853 9.98528 13.5 7.5 13.5C5.01472 13.5 3 11.4853 3 9ZM10.9524 8.30307C9.67347 7.82121 8.2879 8.46208 6.98956 9.06259C5.9327 9.55142 4.93365 10.0135 4.09695 9.82153C4.03357 9.55804 4 9.28294 4 9C4 7.11203 5.02686 5.27195 7.5 2.87357C9.66837 4.97639 10.725 6.65004 10.9524 8.30307Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$r = [\"color\"];\nvar BookmarkIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$r);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 2.5C3 2.22386 3.22386 2 3.5 2H11.5C11.7761 2 12 2.22386 12 2.5V13.5C12 13.6818 11.9014 13.8492 11.7424 13.9373C11.5834 14.0254 11.3891 14.0203 11.235 13.924L7.5 11.5896L3.765 13.924C3.61087 14.0203 3.41659 14.0254 3.25762 13.9373C3.09864 13.8492 3 13.6818 3 13.5V2.5ZM4 3V12.5979L6.97 10.7416C7.29427 10.539 7.70573 10.539 8.03 10.7416L11 12.5979V3H4Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$s = [\"color\"];\nvar BookmarkFilledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$s);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.5 2C3.22386 2 3 2.22386 3 2.5V13.5C3 13.6818 3.09864 13.8492 3.25762 13.9373C3.41659 14.0254 3.61087 14.0203 3.765 13.924L7.5 11.5896L11.235 13.924C11.3891 14.0203 11.5834 14.0254 11.7424 13.9373C11.9014 13.8492 12 13.6818 12 13.5V2.5C12 2.22386 11.7761 2 11.5 2H3.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$t = [\"color\"];\nvar BorderAllIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$t);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.25 1C0.25 0.585786 0.585786 0.25 1 0.25H14C14.4142 0.25 14.75 0.585786 14.75 1V14C14.75 14.4142 14.4142 14.75 14 14.75H1C0.585786 14.75 0.25 14.4142 0.25 14V1ZM1.75 1.75V13.25H13.25V1.75H1.75Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"5\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"3\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"9\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"11\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }));\n});\n\nvar _excluded$u = [\"color\"];\nvar BorderBottomIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$u);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 13.25L14 13.25V14.75L1 14.75V13.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"5\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"5\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"3\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"3\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"9\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"9\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"11\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"11\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"5\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"3\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"9\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"11\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }));\n});\n\nvar _excluded$v = [\"color\"];\nvar BorderDashedIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$v);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0 7.5C0 7.22386 0.223858 7 0.5 7H3C3.27614 7 3.5 7.22386 3.5 7.5C3.5 7.77614 3.27614 8 3 8H0.5C0.223858 8 0 7.77614 0 7.5ZM5.75 7.5C5.75 7.22386 5.97386 7 6.25 7H8.75C9.02614 7 9.25 7.22386 9.25 7.5C9.25 7.77614 9.02614 8 8.75 8H6.25C5.97386 8 5.75 7.77614 5.75 7.5ZM12 7C11.7239 7 11.5 7.22386 11.5 7.5C11.5 7.77614 11.7239 8 12 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$w = [\"color\"];\nvar BorderDottedIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$w);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.5 6.625C1.01675 6.625 0.625 7.01675 0.625 7.5C0.625 7.98325 1.01675 8.375 1.5 8.375C1.98325 8.375 2.375 7.98325 2.375 7.5C2.375 7.01675 1.98325 6.625 1.5 6.625ZM5.5 6.625C5.01675 6.625 4.625 7.01675 4.625 7.5C4.625 7.98325 5.01675 8.375 5.5 8.375C5.98325 8.375 6.375 7.98325 6.375 7.5C6.375 7.01675 5.98325 6.625 5.5 6.625ZM9.5 6.625C9.01675 6.625 8.625 7.01675 8.625 7.5C8.625 7.98325 9.01675 8.375 9.5 8.375C9.98325 8.375 10.375 7.98325 10.375 7.5C10.375 7.01675 9.98325 6.625 9.5 6.625ZM12.625 7.5C12.625 7.01675 13.0168 6.625 13.5 6.625C13.9832 6.625 14.375 7.01675 14.375 7.5C14.375 7.98325 13.9832 8.375 13.5 8.375C13.0168 8.375 12.625 7.98325 12.625 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$x = [\"color\"];\nvar BorderLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$x);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.75 1L1.75 14L0.249999 14L0.25 1L1.75 1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"rect\", {\n x: \"10\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 10 7)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"10\",\n y: \"13\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 10 13)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"12\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 12 7)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"12\",\n y: \"13\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 12 13)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 7)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 7)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"13\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 13)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"13\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 13)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"5\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 5)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"5\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 5)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"3\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 3)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"3\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 3)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"9\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 9)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"9\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 9)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"11\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 11)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"11\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 11)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"6\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 6 7)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"6\",\n y: \"13\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 6 13)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"4\",\n y: \"7\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 4 7)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"4\",\n y: \"13\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 4 13)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"10\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 10 1)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"12\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 12 1)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 8 1)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 14 1)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"6\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 6 1)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"4\",\n y: \"1\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(90 4 1)\",\n fill: color\n }));\n});\n\nvar _excluded$y = [\"color\"];\nvar BorderNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"5.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"5.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"3.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"3.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"9.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"9.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"11.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"11.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"5.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"3.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"9.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"11.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }));\n});\n\nvar _excluded$z = [\"color\"];\nvar BorderRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.25 1L13.25 14L14.75 14L14.75 1L13.25 1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 5 7)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 5 13)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 3 7)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 3 13)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 7)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 7)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 13)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 13)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 5)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 5)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 3)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 3)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 9)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 9)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 11)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 11)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 9 7)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 9 13)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 11 7)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 11 13)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 5 1)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 3 1)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 7 1)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 1 1)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 9 1)\",\n fill: color\n }), createElement(\"rect\", {\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"matrix(0 1 1 0 11 1)\",\n fill: color\n }));\n});\n\nvar _excluded$A = [\"color\"];\nvar BorderSolidIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$A);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.25 7.5C1.25 7.22386 1.47386 7 1.75 7H13.25C13.5261 7 13.75 7.22386 13.75 7.5C13.75 7.77614 13.5261 8 13.25 8H1.75C1.47386 8 1.25 7.77614 1.25 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$B = [\"color\"];\nvar BorderSplitIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$B);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"5.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"3.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"13.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"1.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"13\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"5\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"3\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"9\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"11\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"9.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"7\",\n y: \"11.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"rect\", {\n x: \"1\",\n y: \"7.025\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n fill: color\n }), createElement(\"path\", {\n d: \"M1 1.49994C1 1.2238 1.22386 0.999939 1.5 0.999939H6V1.99994H2V5.99994H1V1.49994ZM13 1.99994H9V0.999939H13.5C13.7761 0.999939 14 1.2238 14 1.49994V5.99994H13V1.99994ZM1 13.4999V8.99994H2V12.9999H6V13.9999H1.5C1.22386 13.9999 1 13.7761 1 13.4999ZM13 12.9999V8.99994H14V13.4999C14 13.7761 13.7761 13.9999 13.5 13.9999H9.5V12.9999H13Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$C = [\"color\"];\nvar BorderStyleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$C);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.5 3C1.22386 3 1 3.22386 1 3.5C1 3.77614 1.22386 4 1.5 4H13.5C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3H1.5ZM1 7.5C1 7.22386 1.22386 7 1.5 7H3.5C3.77614 7 4 7.22386 4 7.5C4 7.77614 3.77614 8 3.5 8H1.5C1.22386 8 1 7.77614 1 7.5ZM1 11.5C1 11.2239 1.22386 11 1.5 11C1.77614 11 2 11.2239 2 11.5C2 11.7761 1.77614 12 1.5 12C1.22386 12 1 11.7761 1 11.5ZM3 11.5C3 11.2239 3.22386 11 3.5 11C3.77614 11 4 11.2239 4 11.5C4 11.7761 3.77614 12 3.5 12C3.22386 12 3 11.7761 3 11.5ZM5.5 11C5.22386 11 5 11.2239 5 11.5C5 11.7761 5.22386 12 5.5 12C5.77614 12 6 11.7761 6 11.5C6 11.2239 5.77614 11 5.5 11ZM7 11.5C7 11.2239 7.22386 11 7.5 11C7.77614 11 8 11.2239 8 11.5C8 11.7761 7.77614 12 7.5 12C7.22386 12 7 11.7761 7 11.5ZM9.5 11C9.22386 11 9 11.2239 9 11.5C9 11.7761 9.22386 12 9.5 12C9.77614 12 10 11.7761 10 11.5C10 11.2239 9.77614 11 9.5 11ZM11 11.5C11 11.2239 11.2239 11 11.5 11C11.7761 11 12 11.2239 12 11.5C12 11.7761 11.7761 12 11.5 12C11.2239 12 11 11.7761 11 11.5ZM13.5 11C13.2239 11 13 11.2239 13 11.5C13 11.7761 13.2239 12 13.5 12C13.7761 12 14 11.7761 14 11.5C14 11.2239 13.7761 11 13.5 11ZM6.5 7C6.22386 7 6 7.22386 6 7.5C6 7.77614 6.22386 8 6.5 8H8.5C8.77614 8 9 7.77614 9 7.5C9 7.22386 8.77614 7 8.5 7H6.5ZM11 7.5C11 7.22386 11.2239 7 11.5 7H13.5C13.7761 7 14 7.22386 14 7.5C14 7.77614 13.7761 8 13.5 8H11.5C11.2239 8 11 7.77614 11 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$D = [\"color\"];\nvar BorderTopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$D);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14 1.75L1 1.75L1 0.249999L14 0.25L14 1.75Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"10\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 8 10)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"2\",\n y: \"10\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 2 10)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"12\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 8 12)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"2\",\n y: \"12\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 2 12)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 8 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 8 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"2\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 2 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"2\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 2 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"10\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 10 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"10\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 10 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"12\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 12 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"12\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 12 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"6\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 6 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"6\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 6 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"4\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 4 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"4\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 4 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"6\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 8 6)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"2\",\n y: \"6\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 2 6)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"8\",\n y: \"4\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 8 4)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"2\",\n y: \"4\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 2 4)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"10\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 14 10)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"12\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 14 12)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"8\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 14 8)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"14\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 14 14)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"6\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 14 6)\",\n fill: color\n }), createElement(\"rect\", {\n x: \"14\",\n y: \"4\",\n width: \"1\",\n height: \"1\",\n rx: \".5\",\n transform: \"rotate(-180 14 4)\",\n fill: color\n }));\n});\n\nvar _excluded$E = [\"color\"];\nvar BorderWidthIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$E);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 3H14V4H1V3ZM1 6H14V8H1V6ZM14 10.25H1V12.75H14V10.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$F = [\"color\"];\nvar BoxIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$F);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.5 2H2.5C2.22386 2 2 2.22386 2 2.5V12.5C2 12.7761 2.22386 13 2.5 13H12.5C12.7761 13 13 12.7761 13 12.5V2.5C13 2.22386 12.7761 2 12.5 2ZM2.5 1C1.67157 1 1 1.67157 1 2.5V12.5C1 13.3284 1.67157 14 2.5 14H12.5C13.3284 14 14 13.3284 14 12.5V2.5C14 1.67157 13.3284 1 12.5 1H2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$G = [\"color\"];\nvar BoxModelIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$G);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.99998 0.999976C1.44769 0.999976 0.999976 1.44769 0.999976 1.99998V13C0.999976 13.5523 1.44769 14 1.99998 14H13C13.5523 14 14 13.5523 14 13V1.99998C14 1.44769 13.5523 0.999976 13 0.999976H1.99998ZM1.99998 1.99998L13 1.99998V13H1.99998V1.99998ZM4.49996 3.99996C4.22382 3.99996 3.99996 4.22382 3.99996 4.49996V10.5C3.99996 10.7761 4.22382 11 4.49996 11H10.5C10.7761 11 11 10.7761 11 10.5V4.49996C11 4.22382 10.7761 3.99996 10.5 3.99996H4.49996ZM4.99996 9.99996V4.99996H9.99996V9.99996H4.99996Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$H = [\"color\"];\nvar ButtonIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$H);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 5H13C13.5523 5 14 5.44772 14 6V9C14 9.55228 13.5523 10 13 10H2C1.44772 10 1 9.55228 1 9V6C1 5.44772 1.44772 5 2 5ZM0 6C0 4.89543 0.895431 4 2 4H13C14.1046 4 15 4.89543 15 6V9C15 10.1046 14.1046 11 13 11H2C0.89543 11 0 10.1046 0 9V6ZM4.5 6.75C4.08579 6.75 3.75 7.08579 3.75 7.5C3.75 7.91421 4.08579 8.25 4.5 8.25C4.91421 8.25 5.25 7.91421 5.25 7.5C5.25 7.08579 4.91421 6.75 4.5 6.75ZM6.75 7.5C6.75 7.08579 7.08579 6.75 7.5 6.75C7.91421 6.75 8.25 7.08579 8.25 7.5C8.25 7.91421 7.91421 8.25 7.5 8.25C7.08579 8.25 6.75 7.91421 6.75 7.5ZM10.5 6.75C10.0858 6.75 9.75 7.08579 9.75 7.5C9.75 7.91421 10.0858 8.25 10.5 8.25C10.9142 8.25 11.25 7.91421 11.25 7.5C11.25 7.08579 10.9142 6.75 10.5 6.75Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$I = [\"color\"];\nvar CalendarIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$I);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.5 1C4.77614 1 5 1.22386 5 1.5V2H10V1.5C10 1.22386 10.2239 1 10.5 1C10.7761 1 11 1.22386 11 1.5V2H12.5C13.3284 2 14 2.67157 14 3.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V3.5C1 2.67157 1.67157 2 2.5 2H4V1.5C4 1.22386 4.22386 1 4.5 1ZM10 3V3.5C10 3.77614 10.2239 4 10.5 4C10.7761 4 11 3.77614 11 3.5V3H12.5C12.7761 3 13 3.22386 13 3.5V5H2V3.5C2 3.22386 2.22386 3 2.5 3H4V3.5C4 3.77614 4.22386 4 4.5 4C4.77614 4 5 3.77614 5 3.5V3H10ZM2 6V12.5C2 12.7761 2.22386 13 2.5 13H12.5C12.7761 13 13 12.7761 13 12.5V6H2ZM7 7.5C7 7.22386 7.22386 7 7.5 7C7.77614 7 8 7.22386 8 7.5C8 7.77614 7.77614 8 7.5 8C7.22386 8 7 7.77614 7 7.5ZM9.5 7C9.22386 7 9 7.22386 9 7.5C9 7.77614 9.22386 8 9.5 8C9.77614 8 10 7.77614 10 7.5C10 7.22386 9.77614 7 9.5 7ZM11 7.5C11 7.22386 11.2239 7 11.5 7C11.7761 7 12 7.22386 12 7.5C12 7.77614 11.7761 8 11.5 8C11.2239 8 11 7.77614 11 7.5ZM11.5 9C11.2239 9 11 9.22386 11 9.5C11 9.77614 11.2239 10 11.5 10C11.7761 10 12 9.77614 12 9.5C12 9.22386 11.7761 9 11.5 9ZM9 9.5C9 9.22386 9.22386 9 9.5 9C9.77614 9 10 9.22386 10 9.5C10 9.77614 9.77614 10 9.5 10C9.22386 10 9 9.77614 9 9.5ZM7.5 9C7.22386 9 7 9.22386 7 9.5C7 9.77614 7.22386 10 7.5 10C7.77614 10 8 9.77614 8 9.5C8 9.22386 7.77614 9 7.5 9ZM5 9.5C5 9.22386 5.22386 9 5.5 9C5.77614 9 6 9.22386 6 9.5C6 9.77614 5.77614 10 5.5 10C5.22386 10 5 9.77614 5 9.5ZM3.5 9C3.22386 9 3 9.22386 3 9.5C3 9.77614 3.22386 10 3.5 10C3.77614 10 4 9.77614 4 9.5C4 9.22386 3.77614 9 3.5 9ZM3 11.5C3 11.2239 3.22386 11 3.5 11C3.77614 11 4 11.2239 4 11.5C4 11.7761 3.77614 12 3.5 12C3.22386 12 3 11.7761 3 11.5ZM5.5 11C5.22386 11 5 11.2239 5 11.5C5 11.7761 5.22386 12 5.5 12C5.77614 12 6 11.7761 6 11.5C6 11.2239 5.77614 11 5.5 11ZM7 11.5C7 11.2239 7.22386 11 7.5 11C7.77614 11 8 11.2239 8 11.5C8 11.7761 7.77614 12 7.5 12C7.22386 12 7 11.7761 7 11.5ZM9.5 11C9.22386 11 9 11.2239 9 11.5C9 11.7761 9.22386 12 9.5 12C9.77614 12 10 11.7761 10 11.5C10 11.2239 9.77614 11 9.5 11Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$J = [\"color\"];\nvar CameraIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$J);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 3C1.44772 3 1 3.44772 1 4V11C1 11.5523 1.44772 12 2 12H13C13.5523 12 14 11.5523 14 11V4C14 3.44772 13.5523 3 13 3H2ZM0 4C0 2.89543 0.895431 2 2 2H13C14.1046 2 15 2.89543 15 4V11C15 12.1046 14.1046 13 13 13H2C0.895431 13 0 12.1046 0 11V4ZM2 4.25C2 4.11193 2.11193 4 2.25 4H4.75C4.88807 4 5 4.11193 5 4.25V5.75454C5 5.89261 4.88807 6.00454 4.75 6.00454H2.25C2.11193 6.00454 2 5.89261 2 5.75454V4.25ZM12.101 7.58421C12.101 9.02073 10.9365 10.1853 9.49998 10.1853C8.06346 10.1853 6.89893 9.02073 6.89893 7.58421C6.89893 6.14769 8.06346 4.98315 9.49998 4.98315C10.9365 4.98315 12.101 6.14769 12.101 7.58421ZM13.101 7.58421C13.101 9.57302 11.4888 11.1853 9.49998 11.1853C7.51117 11.1853 5.89893 9.57302 5.89893 7.58421C5.89893 5.5954 7.51117 3.98315 9.49998 3.98315C11.4888 3.98315 13.101 5.5954 13.101 7.58421Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$K = [\"color\"];\nvar CardStackIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$K);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 3.5C2 3.22386 2.22386 3 2.5 3H12.5C12.7761 3 13 3.22386 13 3.5V9.5C13 9.77614 12.7761 10 12.5 10H2.5C2.22386 10 2 9.77614 2 9.5V3.5ZM2 10.9146C1.4174 10.7087 1 10.1531 1 9.5V3.5C1 2.67157 1.67157 2 2.5 2H12.5C13.3284 2 14 2.67157 14 3.5V9.5C14 10.1531 13.5826 10.7087 13 10.9146V11.5C13 12.3284 12.3284 13 11.5 13H3.5C2.67157 13 2 12.3284 2 11.5V10.9146ZM12 11V11.5C12 11.7761 11.7761 12 11.5 12H3.5C3.22386 12 3 11.7761 3 11.5V11H12Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$L = [\"color\"];\nvar CardStackMinusIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$L);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.5 3C2.22386 3 2 3.22386 2 3.5V9.5C2 9.77614 2.22386 10 2.5 10H12.5C12.7761 10 13 9.77614 13 9.5V3.5C13 3.22386 12.7761 3 12.5 3H2.5ZM1 9.5C1 10.1531 1.4174 10.7087 2 10.9146V11.5C2 12.3284 2.67157 13 3.5 13H11.5C12.3284 13 13 12.3284 13 11.5V10.9146C13.5826 10.7087 14 10.1531 14 9.5V3.5C14 2.67157 13.3284 2 12.5 2H2.5C1.67157 2 1 2.67157 1 3.5V9.5ZM12 11.5V11H3V11.5C3 11.7761 3.22386 12 3.5 12H11.5C11.7761 12 12 11.7761 12 11.5ZM5.5 6C5.22386 6 5 6.22386 5 6.5C5 6.77614 5.22386 7 5.5 7H9.5C9.77614 7 10 6.77614 10 6.5C10 6.22386 9.77614 6 9.5 6H5.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$M = [\"color\"];\nvar CardStackPlusIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$M);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 3.5C2 3.22386 2.22386 3 2.5 3H12.5C12.7761 3 13 3.22386 13 3.5V9.5C13 9.77614 12.7761 10 12.5 10H2.5C2.22386 10 2 9.77614 2 9.5V3.5ZM2 10.9146C1.4174 10.7087 1 10.1531 1 9.5V3.5C1 2.67157 1.67157 2 2.5 2H12.5C13.3284 2 14 2.67157 14 3.5V9.5C14 10.1531 13.5826 10.7087 13 10.9146V11.5C13 12.3284 12.3284 13 11.5 13H3.5C2.67157 13 2 12.3284 2 11.5V10.9146ZM12 11V11.5C12 11.7761 11.7761 12 11.5 12H3.5C3.22386 12 3 11.7761 3 11.5V11H12ZM5 6.5C5 6.22386 5.22386 6 5.5 6H7V4.5C7 4.22386 7.22386 4 7.5 4C7.77614 4 8 4.22386 8 4.5V6H9.5C9.77614 6 10 6.22386 10 6.5C10 6.77614 9.77614 7 9.5 7H8V8.5C8 8.77614 7.77614 9 7.5 9C7.22386 9 7 8.77614 7 8.5V7H5.5C5.22386 7 5 6.77614 5 6.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$N = [\"color\"];\nvar CaretDownIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$N);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.18179 6.18181C4.35753 6.00608 4.64245 6.00608 4.81819 6.18181L7.49999 8.86362L10.1818 6.18181C10.3575 6.00608 10.6424 6.00608 10.8182 6.18181C10.9939 6.35755 10.9939 6.64247 10.8182 6.81821L7.81819 9.81821C7.73379 9.9026 7.61934 9.95001 7.49999 9.95001C7.38064 9.95001 7.26618 9.9026 7.18179 9.81821L4.18179 6.81821C4.00605 6.64247 4.00605 6.35755 4.18179 6.18181Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$O = [\"color\"];\nvar CaretLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$O);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.81809 4.18179C8.99383 4.35753 8.99383 4.64245 8.81809 4.81819L6.13629 7.49999L8.81809 10.1818C8.99383 10.3575 8.99383 10.6424 8.81809 10.8182C8.64236 10.9939 8.35743 10.9939 8.1817 10.8182L5.1817 7.81819C5.09731 7.73379 5.0499 7.61933 5.0499 7.49999C5.0499 7.38064 5.09731 7.26618 5.1817 7.18179L8.1817 4.18179C8.35743 4.00605 8.64236 4.00605 8.81809 4.18179Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$P = [\"color\"];\nvar CaretRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$P);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.18194 4.18185C6.35767 4.00611 6.6426 4.00611 6.81833 4.18185L9.81833 7.18185C9.90272 7.26624 9.95013 7.3807 9.95013 7.50005C9.95013 7.6194 9.90272 7.73386 9.81833 7.81825L6.81833 10.8182C6.6426 10.994 6.35767 10.994 6.18194 10.8182C6.0062 10.6425 6.0062 10.3576 6.18194 10.1819L8.86374 7.50005L6.18194 4.81825C6.0062 4.64251 6.0062 4.35759 6.18194 4.18185Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$Q = [\"color\"];\nvar CaretSortIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$Q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$R = [\"color\"];\nvar CaretUpIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$R);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.18179 8.81819C4.00605 8.64245 4.00605 8.35753 4.18179 8.18179L7.18179 5.18179C7.26618 5.0974 7.38064 5.04999 7.49999 5.04999C7.61933 5.04999 7.73379 5.0974 7.81819 5.18179L10.8182 8.18179C10.9939 8.35753 10.9939 8.64245 10.8182 8.81819C10.6424 8.99392 10.3575 8.99392 10.1818 8.81819L7.49999 6.13638L4.81819 8.81819C4.64245 8.99392 4.35753 8.99392 4.18179 8.81819Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$S = [\"color\"];\nvar ChatBubbleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$S);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.5 3L2.5 3.00002C1.67157 3.00002 1 3.6716 1 4.50002V9.50003C1 10.3285 1.67157 11 2.5 11H7.50003C7.63264 11 7.75982 11.0527 7.85358 11.1465L10 13.2929V11.5C10 11.2239 10.2239 11 10.5 11H12.5C13.3284 11 14 10.3285 14 9.50003V4.5C14 3.67157 13.3284 3 12.5 3ZM2.49999 2.00002L12.5 2C13.8807 2 15 3.11929 15 4.5V9.50003C15 10.8807 13.8807 12 12.5 12H11V14.5C11 14.7022 10.8782 14.8845 10.6913 14.9619C10.5045 15.0393 10.2894 14.9965 10.1464 14.8536L7.29292 12H2.5C1.11929 12 0 10.8807 0 9.50003V4.50002C0 3.11931 1.11928 2.00003 2.49999 2.00002Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$T = [\"color\"];\nvar CheckIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$T);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$U = [\"color\"];\nvar CheckCircledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$U);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.877045C3.84222 0.877045 0.877075 3.84219 0.877075 7.49988C0.877075 11.1575 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 3.84219 11.1576 0.877045 7.49991 0.877045ZM1.82708 7.49988C1.82708 4.36686 4.36689 1.82704 7.49991 1.82704C10.6329 1.82704 13.1727 4.36686 13.1727 7.49988C13.1727 10.6329 10.6329 13.1727 7.49991 13.1727C4.36689 13.1727 1.82708 10.6329 1.82708 7.49988ZM10.1589 5.53774C10.3178 5.31191 10.2636 5.00001 10.0378 4.84109C9.81194 4.68217 9.50004 4.73642 9.34112 4.96225L6.51977 8.97154L5.35681 7.78706C5.16334 7.59002 4.84677 7.58711 4.64973 7.78058C4.45268 7.97404 4.44978 8.29061 4.64325 8.48765L6.22658 10.1003C6.33054 10.2062 6.47617 10.2604 6.62407 10.2483C6.77197 10.2363 6.90686 10.1591 6.99226 10.0377L10.1589 5.53774Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$V = [\"color\"];\nvar CheckboxIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$V);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 3H12V12H3L3 3ZM2 3C2 2.44771 2.44772 2 3 2H12C12.5523 2 13 2.44772 13 3V12C13 12.5523 12.5523 13 12 13H3C2.44771 13 2 12.5523 2 12V3ZM10.3498 5.51105C10.506 5.28337 10.4481 4.97212 10.2204 4.81587C9.99275 4.65961 9.6815 4.71751 9.52525 4.94519L6.64048 9.14857L5.19733 7.40889C5.02102 7.19635 4.7058 7.16699 4.49327 7.34329C4.28073 7.5196 4.25137 7.83482 4.42767 8.04735L6.2934 10.2964C6.39348 10.4171 6.54437 10.4838 6.70097 10.4767C6.85757 10.4695 7.00177 10.3894 7.09047 10.2601L10.3498 5.51105Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$W = [\"color\"];\nvar ChevronDownIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$W);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$X = [\"color\"];\nvar ChevronLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$X);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.84182 3.13514C9.04327 3.32401 9.05348 3.64042 8.86462 3.84188L5.43521 7.49991L8.86462 11.1579C9.05348 11.3594 9.04327 11.6758 8.84182 11.8647C8.64036 12.0535 8.32394 12.0433 8.13508 11.8419L4.38508 7.84188C4.20477 7.64955 4.20477 7.35027 4.38508 7.15794L8.13508 3.15794C8.32394 2.95648 8.64036 2.94628 8.84182 3.13514Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$Y = [\"color\"];\nvar ChevronRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$Y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$Z = [\"color\"];\nvar ChevronUpIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$Z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.13523 8.84197C3.3241 9.04343 3.64052 9.05363 3.84197 8.86477L7.5 5.43536L11.158 8.86477C11.3595 9.05363 11.6759 9.04343 11.8648 8.84197C12.0536 8.64051 12.0434 8.32409 11.842 8.13523L7.84197 4.38523C7.64964 4.20492 7.35036 4.20492 7.15803 4.38523L3.15803 8.13523C2.95657 8.32409 2.94637 8.64051 3.13523 8.84197Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$_ = [\"color\"];\nvar CircleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$_);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877075 7.49991C0.877075 3.84222 3.84222 0.877075 7.49991 0.877075C11.1576 0.877075 14.1227 3.84222 14.1227 7.49991C14.1227 11.1576 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1576 0.877075 7.49991ZM7.49991 1.82708C4.36689 1.82708 1.82708 4.36689 1.82708 7.49991C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49991C13.1727 4.36689 10.6329 1.82708 7.49991 1.82708Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$$ = [\"color\"];\nvar CircleBackslashIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$$);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.877075C3.84222 0.877075 0.877075 3.84222 0.877075 7.49991C0.877075 11.1576 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1576 14.1227 7.49991C14.1227 3.84222 11.1576 0.877075 7.49991 0.877075ZM3.85768 3.15057C4.84311 2.32448 6.11342 1.82708 7.49991 1.82708C10.6329 1.82708 13.1727 4.36689 13.1727 7.49991C13.1727 8.88638 12.6753 10.1567 11.8492 11.1421L3.85768 3.15057ZM3.15057 3.85768C2.32448 4.84311 1.82708 6.11342 1.82708 7.49991C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C8.88638 13.1727 10.1567 12.6753 11.1421 11.8492L3.15057 3.85768Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$10 = [\"color\"];\nvar ClipboardIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$10);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$11 = [\"color\"];\nvar ClipboardCopyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$11);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H7V13H3.5C3.22386 13 3 12.7761 3 12.5V2.5C3 2.22386 3.22386 2 3.5 2H4V2.25C4 2.66421 4.33579 3 4.75 3H10.25C10.6642 3 11 2.66421 11 2.25V2H11.5C11.7761 2 12 2.22386 12 2.5V7H13V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM9 8.5C9 8.77614 8.77614 9 8.5 9C8.22386 9 8 8.77614 8 8.5C8 8.22386 8.22386 8 8.5 8C8.77614 8 9 8.22386 9 8.5ZM10.5 9C10.7761 9 11 8.77614 11 8.5C11 8.22386 10.7761 8 10.5 8C10.2239 8 10 8.22386 10 8.5C10 8.77614 10.2239 9 10.5 9ZM13 8.5C13 8.77614 12.7761 9 12.5 9C12.2239 9 12 8.77614 12 8.5C12 8.22386 12.2239 8 12.5 8C12.7761 8 13 8.22386 13 8.5ZM14.5 9C14.7761 9 15 8.77614 15 8.5C15 8.22386 14.7761 8 14.5 8C14.2239 8 14 8.22386 14 8.5C14 8.77614 14.2239 9 14.5 9ZM15 10.5C15 10.7761 14.7761 11 14.5 11C14.2239 11 14 10.7761 14 10.5C14 10.2239 14.2239 10 14.5 10C14.7761 10 15 10.2239 15 10.5ZM14.5 13C14.7761 13 15 12.7761 15 12.5C15 12.2239 14.7761 12 14.5 12C14.2239 12 14 12.2239 14 12.5C14 12.7761 14.2239 13 14.5 13ZM14.5 15C14.7761 15 15 14.7761 15 14.5C15 14.2239 14.7761 14 14.5 14C14.2239 14 14 14.2239 14 14.5C14 14.7761 14.2239 15 14.5 15ZM8.5 11C8.77614 11 9 10.7761 9 10.5C9 10.2239 8.77614 10 8.5 10C8.22386 10 8 10.2239 8 10.5C8 10.7761 8.22386 11 8.5 11ZM9 12.5C9 12.7761 8.77614 13 8.5 13C8.22386 13 8 12.7761 8 12.5C8 12.2239 8.22386 12 8.5 12C8.77614 12 9 12.2239 9 12.5ZM8.5 15C8.77614 15 9 14.7761 9 14.5C9 14.2239 8.77614 14 8.5 14C8.22386 14 8 14.2239 8 14.5C8 14.7761 8.22386 15 8.5 15ZM11 14.5C11 14.7761 10.7761 15 10.5 15C10.2239 15 10 14.7761 10 14.5C10 14.2239 10.2239 14 10.5 14C10.7761 14 11 14.2239 11 14.5ZM12.5 15C12.7761 15 13 14.7761 13 14.5C13 14.2239 12.7761 14 12.5 14C12.2239 14 12 14.2239 12 14.5C12 14.7761 12.2239 15 12.5 15Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$12 = [\"color\"];\nvar ClockIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$12);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.50009 0.877014C3.84241 0.877014 0.877258 3.84216 0.877258 7.49984C0.877258 11.1575 3.8424 14.1227 7.50009 14.1227C11.1578 14.1227 14.1229 11.1575 14.1229 7.49984C14.1229 3.84216 11.1577 0.877014 7.50009 0.877014ZM1.82726 7.49984C1.82726 4.36683 4.36708 1.82701 7.50009 1.82701C10.6331 1.82701 13.1729 4.36683 13.1729 7.49984C13.1729 10.6328 10.6331 13.1727 7.50009 13.1727C4.36708 13.1727 1.82726 10.6328 1.82726 7.49984ZM8 4.50001C8 4.22387 7.77614 4.00001 7.5 4.00001C7.22386 4.00001 7 4.22387 7 4.50001V7.50001C7 7.63262 7.05268 7.7598 7.14645 7.85357L9.14645 9.85357C9.34171 10.0488 9.65829 10.0488 9.85355 9.85357C10.0488 9.65831 10.0488 9.34172 9.85355 9.14646L8 7.29291V4.50001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$13 = [\"color\"];\nvar CodeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$13);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.96424 2.68571C10.0668 2.42931 9.94209 2.13833 9.6857 2.03577C9.4293 1.93322 9.13832 2.05792 9.03576 2.31432L5.03576 12.3143C4.9332 12.5707 5.05791 12.8617 5.3143 12.9642C5.5707 13.0668 5.86168 12.9421 5.96424 12.6857L9.96424 2.68571ZM3.85355 5.14646C4.04882 5.34172 4.04882 5.6583 3.85355 5.85356L2.20711 7.50001L3.85355 9.14646C4.04882 9.34172 4.04882 9.6583 3.85355 9.85356C3.65829 10.0488 3.34171 10.0488 3.14645 9.85356L1.14645 7.85356C0.951184 7.6583 0.951184 7.34172 1.14645 7.14646L3.14645 5.14646C3.34171 4.9512 3.65829 4.9512 3.85355 5.14646ZM11.1464 5.14646C11.3417 4.9512 11.6583 4.9512 11.8536 5.14646L13.8536 7.14646C14.0488 7.34172 14.0488 7.6583 13.8536 7.85356L11.8536 9.85356C11.6583 10.0488 11.3417 10.0488 11.1464 9.85356C10.9512 9.6583 10.9512 9.34172 11.1464 9.14646L12.7929 7.50001L11.1464 5.85356C10.9512 5.6583 10.9512 5.34172 11.1464 5.14646Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$14 = [\"color\"];\nvar CodeSandboxLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$14);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.71144 0.796902C7.57741 0.734357 7.42257 0.734357 7.28855 0.796902L1.28855 3.5969C1.11251 3.67905 0.999993 3.85573 0.999993 4.04999V10.95C0.999993 11.1443 1.11251 11.3209 1.28855 11.4031L7.28855 14.2031C7.42257 14.2656 7.57741 14.2656 7.71144 14.2031L13.7114 11.4031C13.8875 11.3209 14 11.1443 14 10.95V4.04999C14 3.85573 13.8875 3.67905 13.7114 3.5969L7.71144 0.796902ZM7.49999 3.15674L5.98039 2.51091L7.49999 1.80176L9.01959 2.51091L7.49999 3.15674ZM7.69556 4.16018L10.2382 3.07958L12.2719 4.02865L7.49999 6.05671L2.72808 4.02865L4.76181 3.07958L7.30442 4.16018C7.42939 4.2133 7.57059 4.2133 7.69556 4.16018ZM7.99999 6.93078L13 4.80578V7.92966L11.0821 8.8119C10.7273 8.97509 10.5 9.32988 10.5 9.72039V11.7982L7.99999 12.9649V6.93078ZM11.5 11.3316L13 10.6316V9.03039L11.5 9.72039V11.3316ZM6.99999 6.93078V12.9649L4.50231 11.7993V9.72036C4.50231 9.32985 4.27499 8.97506 3.92022 8.81187L1.99999 7.92856V4.80578L6.99999 6.93078ZM1.99999 10.6316L3.50231 11.3326L3.50231 9.72036L1.99999 9.02929V10.6316Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$15 = [\"color\"];\nvar ColorWheelIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$15);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877075 7.49985C0.877075 3.84216 3.84222 0.877014 7.49991 0.877014C11.1576 0.877014 14.1227 3.84216 14.1227 7.49985C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49985ZM3.78135 3.21565C4.68298 2.43239 5.83429 1.92904 7.09998 1.84089V6.53429L3.78135 3.21565ZM3.21567 3.78134C2.43242 4.68298 1.92909 5.83428 1.84095 7.09997H6.5343L3.21567 3.78134ZM6.5343 7.89997H1.84097C1.92916 9.16562 2.43253 10.3169 3.21579 11.2185L6.5343 7.89997ZM3.78149 11.7842C4.6831 12.5673 5.83435 13.0707 7.09998 13.1588V8.46566L3.78149 11.7842ZM7.89998 8.46566V13.1588C9.16559 13.0706 10.3168 12.5673 11.2184 11.7841L7.89998 8.46566ZM11.7841 11.2184C12.5673 10.3168 13.0707 9.16558 13.1588 7.89997H8.46567L11.7841 11.2184ZM8.46567 7.09997H13.1589C13.0707 5.83432 12.5674 4.68305 11.7842 3.78143L8.46567 7.09997ZM11.2185 3.21573C10.3169 2.43246 9.16565 1.92909 7.89998 1.8409V6.53429L11.2185 3.21573Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$16 = [\"color\"];\nvar ColumnSpacingIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$16);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.00012 1.5C8.00012 1.22386 7.77626 1 7.50012 1C7.22398 1 7.00012 1.22386 7.00012 1.5V13.5C7.00012 13.7761 7.22398 14 7.50012 14C7.77626 14 8.00012 13.7761 8.00012 13.5V1.5ZM3.31812 5.818C3.49386 5.64227 3.49386 5.35734 3.31812 5.18161C3.14239 5.00587 2.85746 5.00587 2.68173 5.18161L0.681729 7.18161C0.505993 7.35734 0.505993 7.64227 0.681729 7.818L2.68173 9.818C2.85746 9.99374 3.14239 9.99374 3.31812 9.818C3.49386 9.64227 3.49386 9.35734 3.31812 9.18161L2.08632 7.9498H5.50017C5.7487 7.9498 5.95017 7.74833 5.95017 7.4998C5.95017 7.25128 5.7487 7.0498 5.50017 7.0498H2.08632L3.31812 5.818ZM12.3181 5.18161C12.1424 5.00587 11.8575 5.00587 11.6817 5.18161C11.506 5.35734 11.506 5.64227 11.6817 5.818L12.9135 7.0498H9.50017C9.25164 7.0498 9.05017 7.25128 9.05017 7.4998C9.05017 7.74833 9.25164 7.9498 9.50017 7.9498H12.9135L11.6817 9.18161C11.506 9.35734 11.506 9.64227 11.6817 9.818C11.8575 9.99374 12.1424 9.99374 12.3181 9.818L14.3181 7.818C14.4939 7.64227 14.4939 7.35734 14.3181 7.18161L12.3181 5.18161Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$17 = [\"color\"];\nvar ColumnsIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$17);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.14998 14V1H0.849976V14H2.14998ZM6.14998 14V1H4.84998V14H6.14998ZM10.15 1V14H8.84998V1H10.15ZM14.15 14V1H12.85V14H14.15Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$18 = [\"color\"];\nvar CommitIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$18);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.94969 7.49989C9.94969 8.85288 8.85288 9.94969 7.49989 9.94969C6.14691 9.94969 5.0501 8.85288 5.0501 7.49989C5.0501 6.14691 6.14691 5.0501 7.49989 5.0501C8.85288 5.0501 9.94969 6.14691 9.94969 7.49989ZM10.8632 8C10.6213 9.64055 9.20764 10.8997 7.49989 10.8997C5.79214 10.8997 4.37847 9.64055 4.13662 8H0.5C0.223858 8 0 7.77614 0 7.5C0 7.22386 0.223858 7 0.5 7H4.13659C4.37835 5.35935 5.79206 4.1001 7.49989 4.1001C9.20772 4.1001 10.6214 5.35935 10.8632 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H10.8632Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$19 = [\"color\"];\nvar Component1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$19);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.67129 3.14634C4.47603 3.34161 4.47603 3.65819 4.67129 3.85345L7.14616 6.32833C7.34142 6.52359 7.65801 6.52359 7.85327 6.32833L10.3281 3.85345C10.5234 3.65819 10.5234 3.34161 10.3281 3.14634L7.85327 0.671471C7.65801 0.476209 7.34142 0.476209 7.14616 0.671471L4.67129 3.14634ZM7.49971 5.26766L5.73195 3.4999L7.49971 1.73213L9.26748 3.4999L7.49971 5.26766ZM8.67129 7.14634C8.47603 7.34161 8.47603 7.65819 8.67129 7.85345L11.1462 10.3283C11.3414 10.5236 11.658 10.5236 11.8533 10.3283L14.3281 7.85345C14.5234 7.65819 14.5234 7.34161 14.3281 7.14634L11.8533 4.67147C11.658 4.47621 11.3414 4.47621 11.1462 4.67147L8.67129 7.14634ZM11.4997 9.26766L9.73195 7.4999L11.4997 5.73213L13.2675 7.4999L11.4997 9.26766ZM4.67129 11.8535C4.47603 11.6582 4.47603 11.3416 4.67129 11.1463L7.14616 8.67147C7.34142 8.47621 7.65801 8.47621 7.85327 8.67147L10.3281 11.1463C10.5234 11.3416 10.5234 11.6582 10.3281 11.8535L7.85327 14.3283C7.65801 14.5236 7.34142 14.5236 7.14616 14.3283L4.67129 11.8535ZM5.73195 11.4999L7.49971 13.2677L9.26748 11.4999L7.49971 9.73213L5.73195 11.4999ZM0.671288 7.14649C0.476026 7.34175 0.476026 7.65834 0.671288 7.8536L3.14616 10.3285C3.34142 10.5237 3.65801 10.5237 3.85327 10.3285L6.32814 7.8536C6.5234 7.65834 6.5234 7.34175 6.32814 7.14649L3.85327 4.67162C3.65801 4.47636 3.34142 4.47636 3.14616 4.67162L0.671288 7.14649ZM3.49972 9.26781L1.73195 7.50005L3.49972 5.73228L5.26748 7.50005L3.49972 9.26781Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1a = [\"color\"];\nvar Component2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1a);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.87935 1H3.9H11.1H11.1207C11.5231 0.999994 11.8553 0.999989 12.1259 1.0221C12.407 1.04506 12.6653 1.09434 12.908 1.21799C13.2843 1.40973 13.5903 1.7157 13.782 2.09202C13.9057 2.33469 13.9549 2.59304 13.9779 2.87409C14 3.14468 14 3.47686 14 3.87934V3.9V11.1V11.1207C14 11.5231 14 11.8553 13.9779 12.1259C13.9549 12.407 13.9057 12.6653 13.782 12.908C13.5903 13.2843 13.2843 13.5903 12.908 13.782C12.6653 13.9057 12.407 13.9549 12.1259 13.9779C11.8553 14 11.5231 14 11.1207 14H11.1H3.9H3.87934C3.47686 14 3.14468 14 2.87409 13.9779C2.59304 13.9549 2.33469 13.9057 2.09202 13.782C1.7157 13.5903 1.40973 13.2843 1.21799 12.908C1.09434 12.6653 1.04506 12.407 1.0221 12.1259C0.999989 11.8553 0.999994 11.5231 1 11.1207V11.1207V11.1V3.9V3.87935V3.87934C0.999994 3.47686 0.999989 3.14468 1.0221 2.87409C1.04506 2.59304 1.09434 2.33469 1.21799 2.09202C1.40973 1.7157 1.7157 1.40973 2.09202 1.21799C2.33469 1.09434 2.59304 1.04506 2.87409 1.0221C3.14469 0.999989 3.47687 0.999994 3.87935 1ZM2.95552 2.01878C2.73631 2.03669 2.62421 2.06915 2.54601 2.10899C2.35785 2.20487 2.20487 2.35785 2.10899 2.54601C2.06915 2.62421 2.03669 2.73631 2.01878 2.95552C2.00039 3.18056 2 3.47171 2 3.9V7H7V2H3.9C3.47171 2 3.18056 2.00039 2.95552 2.01878ZM7 8H2V11.1C2 11.5283 2.00039 11.8194 2.01878 12.0445C2.03669 12.2637 2.06915 12.3758 2.10899 12.454C2.20487 12.6422 2.35785 12.7951 2.54601 12.891C2.62421 12.9309 2.73631 12.9633 2.95552 12.9812C3.18056 12.9996 3.47171 13 3.9 13H7V8ZM8 8H13V11.1C13 11.5283 12.9996 11.8194 12.9812 12.0445C12.9633 12.2637 12.9309 12.3758 12.891 12.454C12.7951 12.6422 12.6422 12.7951 12.454 12.891C12.3758 12.9309 12.2637 12.9633 12.0445 12.9812C11.8194 12.9996 11.5283 13 11.1 13H8V8ZM13 7H8V2H11.1C11.5283 2 11.8194 2.00039 12.0445 2.01878C12.2637 2.03669 12.3758 2.06915 12.454 2.10899C12.6422 2.20487 12.7951 2.35785 12.891 2.54601C12.9309 2.62421 12.9633 2.73631 12.9812 2.95552C12.9996 3.18056 13 3.47171 13 3.9V7Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1b = [\"color\"];\nvar ComponentBooleanIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1b);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.85367 1.48956C7.65841 1.29429 7.34182 1.29429 7.14656 1.48956L1.48971 7.14641C1.29445 7.34167 1.29445 7.65825 1.48971 7.85352L7.14656 13.5104C7.34182 13.7056 7.65841 13.7056 7.85367 13.5104L13.5105 7.85352C13.7058 7.65825 13.7058 7.34167 13.5105 7.14641L7.85367 1.48956ZM7.5 2.55033L2.55037 7.49996L7.5 12.4496V2.55033Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1c = [\"color\"];\nvar ComponentInstanceIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1c);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.1465 1.48959C7.34176 1.29432 7.65835 1.29432 7.85361 1.48959L13.5105 7.14644C13.7057 7.3417 13.7057 7.65829 13.5105 7.85355L7.85361 13.5104C7.65835 13.7057 7.34176 13.7057 7.1465 13.5104L1.48965 7.85355C1.29439 7.65829 1.29439 7.3417 1.48965 7.14644L7.1465 1.48959ZM7.50005 2.55025L2.55031 7.49999L7.50005 12.4497L12.4498 7.49999L7.50005 2.55025Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1d = [\"color\"];\nvar ComponentNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1d);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.85361 1.48959C7.65835 1.29432 7.34176 1.29432 7.1465 1.48959L1.48965 7.14644C1.29439 7.3417 1.29439 7.65829 1.48965 7.85355L3.9645 10.3284L1.64644 12.6464C1.45118 12.8417 1.45118 13.1583 1.64644 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.6716 11.0355L7.1465 13.5104C7.34176 13.7057 7.65835 13.7057 7.85361 13.5104L13.5105 7.85355C13.7057 7.65829 13.7057 7.3417 13.5105 7.14644L11.0356 4.67154L13.3535 2.35355C13.5488 2.15829 13.5488 1.84171 13.3535 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.3285 3.96443L7.85361 1.48959ZM9.62135 4.67154L7.50005 2.55025L2.55031 7.49999L4.6716 9.62129L9.62135 4.67154ZM5.37871 10.3284L7.50005 12.4497L12.4498 7.49999L10.3285 5.37865L5.37871 10.3284Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1e = [\"color\"];\nvar ComponentPlaceholderIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1e);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.8034 7.14644C12.9986 6.95118 13.3152 6.95118 13.5105 7.14644C13.7057 7.3417 13.7057 7.65829 13.5105 7.85355C13.3152 8.04881 12.9986 8.04881 12.8034 7.85355C12.6081 7.65828 12.6081 7.3417 12.8034 7.14644ZM12.0962 8.56065C12.2915 8.75592 12.2915 9.0725 12.0962 9.26776C11.901 9.46302 11.5844 9.46302 11.3891 9.26776C11.1939 9.0725 11.1939 8.75592 11.3891 8.56065C11.5844 8.36539 11.901 8.36539 12.0962 8.56065ZM10.682 9.97487C10.8773 10.1701 10.8773 10.4867 10.682 10.682C10.4868 10.8772 10.1702 10.8772 9.97493 10.682C9.77967 10.4867 9.77967 10.1701 9.97493 9.97487C10.1702 9.7796 10.4868 9.7796 10.682 9.97487ZM9.26782 11.3891C9.46308 11.5843 9.46308 11.9009 9.26782 12.0962C9.07256 12.2915 8.75598 12.2915 8.56071 12.0962C8.36545 11.9009 8.36545 11.5843 8.56072 11.3891C8.75598 11.1938 9.07256 11.1938 9.26782 11.3891ZM7.1465 13.5104C6.95124 13.3151 6.95124 12.9986 7.1465 12.8033C7.17091 12.7789 7.19721 12.7575 7.22494 12.7392C7.41901 12.6111 7.68275 12.6324 7.85361 12.8033C8.04887 12.9986 8.04887 13.3151 7.85361 13.5104C7.65835 13.7057 7.34176 13.7057 7.1465 13.5104Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M2.90386 8.56065C2.7086 8.75592 2.7086 9.0725 2.90386 9.26776 3.09912 9.46302 3.41571 9.46302 3.61097 9.26776 3.80623 9.0725 3.80623 8.75592 3.61097 8.56065 3.41571 8.36539 3.09912 8.36539 2.90386 8.56065zM4.31807 9.97487C4.12281 10.1701 4.12281 10.4867 4.31807 10.682 4.51334 10.8772 4.82992 10.8772 5.02518 10.682 5.22044 10.4867 5.22044 10.1701 5.02518 9.97487 4.82992 9.7796 4.51334 9.7796 4.31807 9.97487zM5.73229 11.3891C5.53703 11.5843 5.53703 11.9009 5.73229 12.0962 5.92755 12.2914 6.24413 12.2915 6.43939 12.0962 6.63466 11.9009 6.63466 11.5843 6.43939 11.3891 6.24413 11.1938 5.92755 11.1938 5.73229 11.3891zM2.19675 7.85355C2.36761 7.68269 2.38897 7.41895 2.26082 7.22488 2.09046 6.96684 1.71063 6.92546 1.48965 7.14644 1.29439 7.3417 1.29439 7.65829 1.48965 7.85355 1.68491 8.04881 2.00149 8.04881 2.19675 7.85355zM3.61097 5.73223C3.41571 5.53696 3.09912 5.53696 2.90386 5.73223 2.7086 5.92749 2.7086 6.24407 2.90386 6.43933 3.09912 6.6346 3.41571 6.6346 3.61097 6.43933 3.80623 6.24407 3.80623 5.92749 3.61097 5.73223zM5.02518 4.31801C4.82992 4.12275 4.51334 4.12275 4.31807 4.31801 4.12281 4.51328 4.12281 4.82986 4.31807 5.02512 4.51334 5.22038 4.82992 5.22038 5.02518 5.02512 5.22044 4.82986 5.22044 4.51328 5.02518 4.31801zM6.43939 2.9038C6.24413 2.70854 5.92755 2.70854 5.73229 2.9038 5.53703 3.09906 5.53703 3.41564 5.73229 3.61091 5.92755 3.80617 6.24413 3.80617 6.43939 3.61091 6.63466 3.41564 6.63466 3.09906 6.43939 2.9038zM7.85361 1.48959C7.65835 1.29432 7.34176 1.29432 7.1465 1.48959 6.95124 1.68485 6.95124 2.00143 7.1465 2.19669 7.34176 2.39196 7.65835 2.39196 7.85361 2.19669 8.04887 2.00143 8.04887 1.68485 7.85361 1.48959zM9.26782 2.9038C9.07256 2.70854 8.75598 2.70854 8.56071 2.9038 8.36545 3.09906 8.36545 3.41564 8.56071 3.61091 8.75598 3.80617 9.07256 3.80617 9.26782 3.61091 9.46308 3.41564 9.46308 3.09906 9.26782 2.9038zM10.682 4.31801C10.4868 4.12275 10.1702 4.12275 9.97493 4.31801 9.77967 4.51328 9.77967 4.82986 9.97493 5.02512 10.1702 5.22038 10.4868 5.22038 10.682 5.02512 10.8773 4.82986 10.8773 4.51328 10.682 4.31801zM12.0962 5.73223C11.901 5.53696 11.5844 5.53696 11.3891 5.73223 11.1939 5.92749 11.1939 6.24407 11.3891 6.43933 11.5844 6.6346 11.901 6.6346 12.0962 6.43933 12.2915 6.24407 12.2915 5.92749 12.0962 5.73223z\",\n fill: color\n }));\n});\n\nvar _excluded$1f = [\"color\"];\nvar ContainerIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1f);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 1.5C2 1.77614 1.77614 2 1.5 2C1.22386 2 1 1.77614 1 1.5C1 1.22386 1.22386 1 1.5 1C1.77614 1 2 1.22386 2 1.5ZM5 13H10V2L5 2L5 13ZM4 13C4 13.5523 4.44772 14 5 14H10C10.5523 14 11 13.5523 11 13V2C11 1.44772 10.5523 1 10 1H5C4.44772 1 4 1.44771 4 2V13ZM13.5 2C13.7761 2 14 1.77614 14 1.5C14 1.22386 13.7761 1 13.5 1C13.2239 1 13 1.22386 13 1.5C13 1.77614 13.2239 2 13.5 2ZM2 3.5C2 3.77614 1.77614 4 1.5 4C1.22386 4 1 3.77614 1 3.5C1 3.22386 1.22386 3 1.5 3C1.77614 3 2 3.22386 2 3.5ZM13.5 4C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3C13.2239 3 13 3.22386 13 3.5C13 3.77614 13.2239 4 13.5 4ZM2 5.5C2 5.77614 1.77614 6 1.5 6C1.22386 6 1 5.77614 1 5.5C1 5.22386 1.22386 5 1.5 5C1.77614 5 2 5.22386 2 5.5ZM13.5 6C13.7761 6 14 5.77614 14 5.5C14 5.22386 13.7761 5 13.5 5C13.2239 5 13 5.22386 13 5.5C13 5.77614 13.2239 6 13.5 6ZM2 7.5C2 7.77614 1.77614 8 1.5 8C1.22386 8 1 7.77614 1 7.5C1 7.22386 1.22386 7 1.5 7C1.77614 7 2 7.22386 2 7.5ZM13.5 8C13.7761 8 14 7.77614 14 7.5C14 7.22386 13.7761 7 13.5 7C13.2239 7 13 7.22386 13 7.5C13 7.77614 13.2239 8 13.5 8ZM2 9.5C2 9.77614 1.77614 10 1.5 10C1.22386 10 1 9.77614 1 9.5C1 9.22386 1.22386 9 1.5 9C1.77614 9 2 9.22386 2 9.5ZM13.5 10C13.7761 10 14 9.77614 14 9.5C14 9.22386 13.7761 9 13.5 9C13.2239 9 13 9.22386 13 9.5C13 9.77614 13.2239 10 13.5 10ZM2 11.5C2 11.7761 1.77614 12 1.5 12C1.22386 12 1 11.7761 1 11.5C1 11.2239 1.22386 11 1.5 11C1.77614 11 2 11.2239 2 11.5ZM13.5 12C13.7761 12 14 11.7761 14 11.5C14 11.2239 13.7761 11 13.5 11C13.2239 11 13 11.2239 13 11.5C13 11.7761 13.2239 12 13.5 12ZM2 13.5C2 13.7761 1.77614 14 1.5 14C1.22386 14 1 13.7761 1 13.5C1 13.2239 1.22386 13 1.5 13C1.77614 13 2 13.2239 2 13.5ZM13.5 14C13.7761 14 14 13.7761 14 13.5C14 13.2239 13.7761 13 13.5 13C13.2239 13 13 13.2239 13 13.5C13 13.7761 13.2239 14 13.5 14Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1g = [\"color\"];\nvar CookieIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1g);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.0697 1.76746C12.4807 1.21947 11.4605 0.454311 11.0495 1.0023C10.6385 1.55028 11.6588 2.31544 12.0697 1.76746ZM8.39263 1.07811C7.15585 0.950602 5.7823 1.16348 4.58433 1.70937C3.38552 2.25563 2.32735 3.15309 1.78844 4.41832C1.37574 5.38724 1.01715 6.28113 1.00088 7.44354C0.984724 8.59844 1.30522 9.96898 2.13174 11.928C2.61142 13.0649 4.03963 13.5446 5.13895 13.8079C6.40836 14.1119 7.80857 14.1914 8.6644 14.0742C9.36515 13.9782 10.1448 13.8284 10.7987 13.297C11.8977 12.4039 12.9009 11.3955 13.4994 10.3393C14.104 9.27221 14.3256 8.09207 13.7216 6.95324C13.5628 6.65373 13.316 6.57734 13.0412 6.4923C12.9374 6.46016 12.8295 6.42678 12.7209 6.37966C11.6211 5.90234 10.9646 5.34963 10.9135 5.02876C10.8656 4.72808 10.9221 4.51463 10.9811 4.29181C11.0129 4.17199 11.0453 4.04947 11.0626 3.90922C11.0838 3.73737 11.0814 3.33319 10.6996 3.12761C10.4048 2.96888 10.2164 2.65843 10.0407 2.36904C9.99742 2.29775 9.95492 2.22773 9.9118 2.16158C9.62634 1.72367 9.20769 1.16213 8.39263 1.07811ZM4.99899 2.61935C3.96483 3.09058 3.12554 3.83097 2.70846 4.81018C2.29808 5.77368 2.01406 6.50873 2.00079 7.45753C1.98741 8.41385 2.25043 9.6368 3.0531 11.5393C3.39181 12.3421 4.62167 12.6557 5.37186 12.8354C6.5493 13.1174 7.822 13.1802 8.52868 13.0834C9.21271 12.9897 9.74568 12.8642 10.1681 12.5209C11.229 11.6587 12.121 10.7435 12.6293 9.84635C12.9349 9.30709 13.5141 7.7028 12.6292 7.3873C10.7539 6.71875 10.262 6.06669 9.99011 5.41268C9.80915 4.97744 9.82868 4.52282 9.95741 4.07885L9.95741 4.07884C9.97662 4.0126 9.99538 3.94791 10.0334 3.88882C9.81857 3.73676 9.6515 3.55195 9.51464 3.3715C9.42876 3.25828 9.3469 3.12099 9.26197 2.97856C9.01866 2.57052 8.75018 2.12027 8.29008 2.07283C7.22889 1.96343 6.03398 2.14772 4.99899 2.61935ZM13.2081 3.77471C13.441 3.22671 12.4547 2.63606 12.0822 3.10163C11.5817 3.72732 12.9029 4.49281 13.2081 3.77471ZM14.3672 2.26031C14.9668 2.27493 15.1551 1.11603 14.5718 0.949371C13.8076 0.731026 13.5918 2.24139 14.3672 2.26031ZM14.2857 5.09098C14.8644 5.10004 15.0462 4.38222 14.4832 4.27899C13.7455 4.14375 13.5373 5.07927 14.2857 5.09098ZM6.9075 4.28672C6.46898 4.66754 6.0522 4.15185 5.97983 3.7365C5.86848 3.09744 6.33696 2.56856 6.94823 2.91156C7.43344 3.18382 7.26678 3.97471 6.9075 4.28672ZM4.94455 5.88184C5.40885 5.41754 4.59567 4.57013 4.11425 5.05154C3.83338 5.33242 4.00936 5.65376 4.23744 5.88184C4.43271 6.0771 4.74929 6.0771 4.94455 5.88184ZM6.97716 6.71984C7.31181 7.38914 8.48804 6.79159 7.99413 6.14788C7.86519 5.97983 7.68657 5.9494 7.62145 5.94207C7.21217 5.89601 6.76349 6.2925 6.97716 6.71984ZM6.98798 8.72461C7.14066 9.1188 7.51122 9.3187 7.91915 9.1633C8.27434 9.02799 8.33186 8.39689 8.17175 8.07427C8.02331 7.77514 7.63956 7.67793 7.33747 7.79417C6.98512 7.92976 6.85672 8.38708 6.98576 8.71889L6.98798 8.72461ZM10.3885 8.84081C10.7575 8.6566 11.4617 8.82771 11.4617 9.31199C11.4617 9.71286 10.9587 10.2165 10.5634 10.2826C10.1813 10.3465 9.70515 9.97581 9.76648 9.57718C9.81445 9.26539 10.1217 8.97401 10.3885 8.84081ZM7.56704 10.8432C7.33461 10.7502 7.14353 10.8601 7.11437 10.8769L7.11279 10.8778C6.90782 10.9949 6.71383 11.2439 6.6747 11.4842C6.59018 12.0034 7.13199 12.1239 7.52661 12.0987C8.2074 12.0553 8.06547 11.0426 7.56704 10.8432ZM4.8805 10.8932C5.0674 10.7723 5.15658 10.5363 5.08293 10.3153C4.93046 9.79687 4.3246 9.71252 3.96561 10.1297C3.79336 10.3299 3.80749 10.6274 3.99214 10.8105L3.99495 10.814L3.9979 10.8176C4.22025 11.0942 4.63624 11.1857 4.8805 10.8932ZM3.04695 7.81318C3.33147 8.0977 3.60077 8.15067 3.98443 8.05859C4.60826 7.90887 4.13814 6.24299 3.047 6.87296C2.70939 7.06788 2.86716 7.63339 3.04695 7.81318Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1h = [\"color\"];\nvar CopyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1h);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 9.50006C1 10.3285 1.67157 11.0001 2.5 11.0001H4L4 10.0001H2.5C2.22386 10.0001 2 9.7762 2 9.50006L2 2.50006C2 2.22392 2.22386 2.00006 2.5 2.00006L9.5 2.00006C9.77614 2.00006 10 2.22392 10 2.50006V4.00002H5.5C4.67158 4.00002 4 4.67159 4 5.50002V12.5C4 13.3284 4.67158 14 5.5 14H12.5C13.3284 14 14 13.3284 14 12.5V5.50002C14 4.67159 13.3284 4.00002 12.5 4.00002H11V2.50006C11 1.67163 10.3284 1.00006 9.5 1.00006H2.5C1.67157 1.00006 1 1.67163 1 2.50006V9.50006ZM5 5.50002C5 5.22388 5.22386 5.00002 5.5 5.00002H12.5C12.7761 5.00002 13 5.22388 13 5.50002V12.5C13 12.7762 12.7761 13 12.5 13H5.5C5.22386 13 5 12.7762 5 12.5V5.50002Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1i = [\"color\"];\nvar CornerBottomLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1i);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.87737 12H9.9H11.5C11.7761 12 12 11.7761 12 11.5C12 11.2239 11.7761 11 11.5 11H9.9C8.77164 11 7.95545 10.9996 7.31352 10.9472C6.67744 10.8952 6.25662 10.7946 5.91103 10.6185C5.25247 10.283 4.71703 9.74753 4.38148 9.08897C4.20539 8.74338 4.10481 8.32256 4.05284 7.68648C4.00039 7.04455 4 6.22836 4 5.1V3.5C4 3.22386 3.77614 3 3.5 3C3.22386 3 3 3.22386 3 3.5V5.1V5.12263C3 6.22359 3 7.08052 3.05616 7.76791C3.11318 8.46584 3.23058 9.0329 3.49047 9.54296C3.9219 10.3897 4.61031 11.0781 5.45704 11.5095C5.9671 11.7694 6.53416 11.8868 7.23209 11.9438C7.91948 12 8.77641 12 9.87737 12Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1j = [\"color\"];\nvar CornerBottomRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1j);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.12263 12H5.1H3.5C3.22386 12 3 11.7761 3 11.5C3 11.2239 3.22386 11 3.5 11H5.1C6.22836 11 7.04455 10.9996 7.68648 10.9472C8.32256 10.8952 8.74338 10.7946 9.08897 10.6185C9.74753 10.283 10.283 9.74753 10.6185 9.08897C10.7946 8.74338 10.8952 8.32256 10.9472 7.68648C10.9996 7.04455 11 6.22836 11 5.1V3.5C11 3.22386 11.2239 3 11.5 3C11.7761 3 12 3.22386 12 3.5V5.1V5.12263C12 6.22359 12 7.08052 11.9438 7.76791C11.8868 8.46584 11.7694 9.0329 11.5095 9.54296C11.0781 10.3897 10.3897 11.0781 9.54296 11.5095C9.0329 11.7694 8.46584 11.8868 7.76791 11.9438C7.08052 12 6.22359 12 5.12263 12Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1k = [\"color\"];\nvar CornerTopLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1k);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.87737 3H9.9H11.5C11.7761 3 12 3.22386 12 3.5C12 3.77614 11.7761 4 11.5 4H9.9C8.77164 4 7.95545 4.00039 7.31352 4.05284C6.67744 4.10481 6.25662 4.20539 5.91103 4.38148C5.25247 4.71703 4.71703 5.25247 4.38148 5.91103C4.20539 6.25662 4.10481 6.67744 4.05284 7.31352C4.00039 7.95545 4 8.77164 4 9.9V11.5C4 11.7761 3.77614 12 3.5 12C3.22386 12 3 11.7761 3 11.5V9.9V9.87737C3 8.77641 3 7.91948 3.05616 7.23209C3.11318 6.53416 3.23058 5.9671 3.49047 5.45704C3.9219 4.61031 4.61031 3.9219 5.45704 3.49047C5.9671 3.23058 6.53416 3.11318 7.23209 3.05616C7.91948 3 8.77641 3 9.87737 3Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1l = [\"color\"];\nvar CornerTopRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1l);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.12263 3H5.1H3.5C3.22386 3 3 3.22386 3 3.5C3 3.77614 3.22386 4 3.5 4H5.1C6.22836 4 7.04455 4.00039 7.68648 4.05284C8.32256 4.10481 8.74338 4.20539 9.08897 4.38148C9.74753 4.71703 10.283 5.25247 10.6185 5.91103C10.7946 6.25662 10.8952 6.67744 10.9472 7.31352C10.9996 7.95545 11 8.77164 11 9.9V11.5C11 11.7761 11.2239 12 11.5 12C11.7761 12 12 11.7761 12 11.5V9.9V9.87737C12 8.77641 12 7.91948 11.9438 7.23209C11.8868 6.53416 11.7694 5.9671 11.5095 5.45704C11.0781 4.61031 10.3897 3.9219 9.54296 3.49047C9.0329 3.23058 8.46584 3.11318 7.76791 3.05616C7.08052 3 6.22359 3 5.12263 3Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1m = [\"color\"];\nvar CornersIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1m);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.5 2L4.87935 2C4.47687 1.99999 4.14469 1.99999 3.87409 2.0221C3.59304 2.04506 3.33469 2.09434 3.09202 2.21799C2.7157 2.40973 2.40973 2.7157 2.21799 3.09202C2.09434 3.33469 2.04506 3.59304 2.0221 3.87409C1.99999 4.14468 1.99999 4.47686 2 4.87933V4.87935V5.5C2 5.77614 2.22386 6 2.5 6C2.77614 6 3 5.77614 3 5.5V4.9C3 4.47171 3.00039 4.18056 3.01878 3.95552C3.03669 3.73631 3.06915 3.62421 3.10899 3.54601C3.20487 3.35785 3.35785 3.20487 3.54601 3.10899C3.62421 3.06915 3.73631 3.03669 3.95552 3.01878C4.18056 3.00039 4.47171 3 4.9 3H5.5C5.77614 3 6 2.77614 6 2.5C6 2.22386 5.77614 2 5.5 2ZM13 9.5C13 9.22386 12.7761 9 12.5 9C12.2239 9 12 9.22386 12 9.5V10.1C12 10.5283 11.9996 10.8194 11.9812 11.0445C11.9633 11.2637 11.9309 11.3758 11.891 11.454C11.7951 11.6422 11.6422 11.7951 11.454 11.891C11.3758 11.9309 11.2637 11.9633 11.0445 11.9812C10.8194 11.9996 10.5283 12 10.1 12H9.5C9.22386 12 9 12.2239 9 12.5C9 12.7761 9.22386 13 9.5 13H10.1206C10.5231 13 10.8553 13 11.1259 12.9779C11.407 12.9549 11.6653 12.9057 11.908 12.782C12.2843 12.5903 12.5903 12.2843 12.782 11.908C12.9057 11.6653 12.9549 11.407 12.9779 11.1259C13 10.8553 13 10.5232 13 10.1207V10.1207V10.1207V10.1206V9.5ZM2.5 9C2.77614 9 3 9.22386 3 9.5V10.1C3 10.5283 3.00039 10.8194 3.01878 11.0445C3.03669 11.2637 3.06915 11.3758 3.10899 11.454C3.20487 11.6422 3.35785 11.7951 3.54601 11.891C3.62421 11.9309 3.73631 11.9633 3.95552 11.9812C4.18056 11.9996 4.47171 12 4.9 12H5.5C5.77614 12 6 12.2239 6 12.5C6 12.7761 5.77614 13 5.5 13H4.87935C4.47687 13 4.14469 13 3.87409 12.9779C3.59304 12.9549 3.33469 12.9057 3.09202 12.782C2.7157 12.5903 2.40973 12.2843 2.21799 11.908C2.09434 11.6653 2.04506 11.407 2.0221 11.1259C1.99999 10.8553 1.99999 10.5231 2 10.1207V10.1206V10.1V9.5C2 9.22386 2.22386 9 2.5 9ZM10.1 3C10.5283 3 10.8194 3.00039 11.0445 3.01878C11.2637 3.03669 11.3758 3.06915 11.454 3.10899C11.6422 3.20487 11.7951 3.35785 11.891 3.54601C11.9309 3.62421 11.9633 3.73631 11.9812 3.95552C11.9996 4.18056 12 4.47171 12 4.9V5.5C12 5.77614 12.2239 6 12.5 6C12.7761 6 13 5.77614 13 5.5V4.87935V4.87934C13 4.47686 13 4.14468 12.9779 3.87409C12.9549 3.59304 12.9057 3.33469 12.782 3.09202C12.5903 2.7157 12.2843 2.40973 11.908 2.21799C11.6653 2.09434 11.407 2.04506 11.1259 2.0221C10.8553 1.99999 10.5231 1.99999 10.1206 2L10.1 2H9.5C9.22386 2 9 2.22386 9 2.5C9 2.77614 9.22386 3 9.5 3H10.1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1n = [\"color\"];\nvar CountdownTimerIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1n);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.15 7.49998C13.15 4.66458 10.9402 1.84998 7.50002 1.84998C4.7217 1.84998 3.34851 3.90636 2.76336 4.99997H4.5C4.77614 4.99997 5 5.22383 5 5.49997C5 5.77611 4.77614 5.99997 4.5 5.99997H1.5C1.22386 5.99997 1 5.77611 1 5.49997V2.49997C1 2.22383 1.22386 1.99997 1.5 1.99997C1.77614 1.99997 2 2.22383 2 2.49997V4.31318C2.70453 3.07126 4.33406 0.849976 7.50002 0.849976C11.5628 0.849976 14.15 4.18537 14.15 7.49998C14.15 10.8146 11.5628 14.15 7.50002 14.15C5.55618 14.15 3.93778 13.3808 2.78548 12.2084C2.16852 11.5806 1.68668 10.839 1.35816 10.0407C1.25306 9.78536 1.37488 9.49315 1.63024 9.38806C1.8856 9.28296 2.17781 9.40478 2.2829 9.66014C2.56374 10.3425 2.97495 10.9745 3.4987 11.5074C4.47052 12.4963 5.83496 13.15 7.50002 13.15C10.9402 13.15 13.15 10.3354 13.15 7.49998ZM7 10V5.00001H8V10H7Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1o = [\"color\"];\nvar CounterClockwiseClockIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1o);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.15 7.49998C13.15 4.66458 10.9402 1.84998 7.50002 1.84998C4.72167 1.84998 3.34849 3.9064 2.76335 5H4.5C4.77614 5 5 5.22386 5 5.5C5 5.77614 4.77614 6 4.5 6H1.5C1.22386 6 1 5.77614 1 5.5V2.5C1 2.22386 1.22386 2 1.5 2C1.77614 2 2 2.22386 2 2.5V4.31318C2.70453 3.07126 4.33406 0.849976 7.50002 0.849976C11.5628 0.849976 14.15 4.18537 14.15 7.49998C14.15 10.8146 11.5628 14.15 7.50002 14.15C5.55618 14.15 3.93778 13.3808 2.78548 12.2084C2.16852 11.5806 1.68668 10.839 1.35816 10.0407C1.25306 9.78536 1.37488 9.49315 1.63024 9.38806C1.8856 9.28296 2.17781 9.40478 2.2829 9.66014C2.56374 10.3425 2.97495 10.9745 3.4987 11.5074C4.47052 12.4963 5.83496 13.15 7.50002 13.15C10.9402 13.15 13.15 10.3354 13.15 7.49998ZM7.5 4.00001C7.77614 4.00001 8 4.22387 8 4.50001V7.29291L9.85355 9.14646C10.0488 9.34172 10.0488 9.65831 9.85355 9.85357C9.65829 10.0488 9.34171 10.0488 9.14645 9.85357L7.14645 7.85357C7.05268 7.7598 7 7.63262 7 7.50001V4.50001C7 4.22387 7.22386 4.00001 7.5 4.00001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1p = [\"color\"];\nvar CropIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1p);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.5 8.00684e-07C3.77614 7.88614e-07 4 0.223859 4 0.500001L4 3.00006L11.5 3.00006C11.7761 3.00006 12 3.22392 12 3.50006L12 11.0001L14.5 11C14.7761 11 15 11.2238 15 11.5C15 11.7761 14.7762 12 14.5 12L12 12.0001L12 14.5C12 14.7761 11.7761 15 11.5 15C11.2239 15 11 14.7761 11 14.5L11 12.0001L3.5 12.0001C3.22386 12.0001 3 11.7762 3 11.5001L3 4.00005L0.499989 4C0.223847 4 -6.10541e-06 3.77613 -5.02576e-07 3.49999C5.13006e-06 3.22385 0.223867 3 0.50001 3L3 3.00005L3 0.500001C3 0.223859 3.22386 8.12755e-07 3.5 8.00684e-07ZM4 4.00006L4 11.0001L11 11.0001L11 4.00006L4 4.00006Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1q = [\"color\"];\nvar Cross1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.8536 2.85355C13.0488 2.65829 13.0488 2.34171 12.8536 2.14645C12.6583 1.95118 12.3417 1.95118 12.1464 2.14645L7.5 6.79289L2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L6.79289 7.5L2.14645 12.1464C1.95118 12.3417 1.95118 12.6583 2.14645 12.8536C2.34171 13.0488 2.65829 13.0488 2.85355 12.8536L7.5 8.20711L12.1464 12.8536C12.3417 13.0488 12.6583 13.0488 12.8536 12.8536C13.0488 12.6583 13.0488 12.3417 12.8536 12.1464L8.20711 7.5L12.8536 2.85355Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1r = [\"color\"];\nvar Cross2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1r);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1s = [\"color\"];\nvar CrossCircledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1s);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704ZM9.85358 5.14644C10.0488 5.3417 10.0488 5.65829 9.85358 5.85355L8.20713 7.49999L9.85358 9.14644C10.0488 9.3417 10.0488 9.65829 9.85358 9.85355C9.65832 10.0488 9.34173 10.0488 9.14647 9.85355L7.50002 8.2071L5.85358 9.85355C5.65832 10.0488 5.34173 10.0488 5.14647 9.85355C4.95121 9.65829 4.95121 9.3417 5.14647 9.14644L6.79292 7.49999L5.14647 5.85355C4.95121 5.65829 4.95121 5.3417 5.14647 5.14644C5.34173 4.95118 5.65832 4.95118 5.85358 5.14644L7.50002 6.79289L9.14647 5.14644C9.34173 4.95118 9.65832 4.95118 9.85358 5.14644Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1t = [\"color\"];\nvar Crosshair1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1t);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877075 7.50207C0.877075 3.84319 3.84319 0.877075 7.50208 0.877075C11.1609 0.877075 14.1271 3.84319 14.1271 7.50207C14.1271 11.1609 11.1609 14.1271 7.50208 14.1271C3.84319 14.1271 0.877075 11.1609 0.877075 7.50207ZM1.84898 7.00003C2.0886 4.26639 4.26639 2.0886 7.00003 1.84898V4.50003C7.00003 4.77617 7.22388 5.00003 7.50003 5.00003C7.77617 5.00003 8.00003 4.77617 8.00003 4.50003V1.84862C10.7356 2.08643 12.9154 4.26502 13.1552 7.00003H10.5C10.2239 7.00003 10 7.22388 10 7.50003C10 7.77617 10.2239 8.00003 10.5 8.00003H13.1555C12.9176 10.7369 10.7369 12.9176 8.00003 13.1555V10.5C8.00003 10.2239 7.77617 10 7.50003 10C7.22388 10 7.00003 10.2239 7.00003 10.5V13.1552C4.26502 12.9154 2.08643 10.7356 1.84862 8.00003H4.50003C4.77617 8.00003 5.00003 7.77617 5.00003 7.50003C5.00003 7.22388 4.77617 7.00003 4.50003 7.00003H1.84898Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1u = [\"color\"];\nvar Crosshair2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1u);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 0C7.77614 0 8 0.223858 8 0.5V1.80687C10.6922 2.0935 12.8167 4.28012 13.0068 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H12.9888C12.7094 10.6244 10.6244 12.7094 8 12.9888V14.5C8 14.7761 7.77614 15 7.5 15C7.22386 15 7 14.7761 7 14.5V13.0068C4.28012 12.8167 2.0935 10.6922 1.80687 8H0.5C0.223858 8 0 7.77614 0 7.5C0 7.22386 0.223858 7 0.5 7H1.78886C1.98376 4.21166 4.21166 1.98376 7 1.78886V0.5C7 0.223858 7.22386 0 7.5 0ZM8 12.0322V9.5C8 9.22386 7.77614 9 7.5 9C7.22386 9 7 9.22386 7 9.5V12.054C4.80517 11.8689 3.04222 10.1668 2.76344 8H5.5C5.77614 8 6 7.77614 6 7.5C6 7.22386 5.77614 7 5.5 7H2.7417C2.93252 4.73662 4.73662 2.93252 7 2.7417V5.5C7 5.77614 7.22386 6 7.5 6C7.77614 6 8 5.77614 8 5.5V2.76344C10.1668 3.04222 11.8689 4.80517 12.054 7H9.5C9.22386 7 9 7.22386 9 7.5C9 7.77614 9.22386 8 9.5 8H12.0322C11.7621 10.0991 10.0991 11.7621 8 12.0322Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1v = [\"color\"];\nvar CrumpledPaperIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1v);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.60913 0.0634287C4.39082 0.0088505 4.16575 0.12393 4.08218 0.332867L3.1538 2.6538L0.832866 3.58218C0.702884 3.63417 0.604504 3.7437 0.566705 3.87849C0.528906 4.01329 0.555994 4.158 0.639992 4.26999L2.01148 6.09864L1.06343 9.89085C1.00944 10.1068 1.12145 10.3298 1.32691 10.4154L4.20115 11.613L5.62557 13.7496C5.73412 13.9124 5.93545 13.9864 6.12362 13.9327L9.62362 12.9327C9.62988 12.9309 9.63611 12.929 9.64229 12.9269L12.6423 11.9269C12.7923 11.8769 12.905 11.7519 12.9393 11.5976L13.9393 7.09761C13.9776 6.92506 13.9114 6.74605 13.77 6.63999L11.95 5.27499V2.99999C11.95 2.82955 11.8537 2.67373 11.7012 2.5975L8.70124 1.0975C8.67187 1.08282 8.64098 1.07139 8.60913 1.06343L4.60913 0.0634287ZM11.4323 6.01173L12.7748 7.01858L10.2119 9.15429C10.1476 9.20786 10.0995 9.2783 10.0731 9.35769L9.25382 11.8155L7.73849 10.8684C7.52774 10.7367 7.25011 10.8007 7.11839 11.0115C6.98667 11.2222 7.05074 11.4999 7.26149 11.6316L8.40341 12.3453L6.19221 12.9771L4.87441 11.0004C4.82513 10.9265 4.75508 10.8688 4.67307 10.8346L2.03046 9.73352L2.85134 6.44999H4.99999C5.24852 6.44999 5.44999 6.24852 5.44999 5.99999C5.44999 5.75146 5.24852 5.54999 4.99999 5.54999H2.72499L1.7123 4.19974L3.51407 3.47903L6.35769 4.4269C6.53655 4.48652 6.73361 4.42832 6.85138 4.28111L8.62413 2.06518L11.05 3.27811V5.19533L8.83287 6.08218C8.70996 6.13134 8.61494 6.23212 8.57308 6.35769L8.07308 7.85769C7.99449 8.09346 8.12191 8.34831 8.35769 8.4269C8.59346 8.50549 8.84831 8.37807 8.9269 8.14229L9.3609 6.84029L11.4323 6.01173ZM7.71052 1.76648L6.34462 3.47386L4.09505 2.724L4.77192 1.03183L7.71052 1.76648ZM10.2115 11.7885L12.116 11.1537L12.7745 8.19034L10.8864 9.76374L10.2115 11.7885Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1w = [\"color\"];\nvar CubeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1w);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.28856 0.796908C7.42258 0.734364 7.57742 0.734364 7.71144 0.796908L13.7114 3.59691C13.8875 3.67906 14 3.85574 14 4.05V10.95C14 11.1443 13.8875 11.3209 13.7114 11.4031L7.71144 14.2031C7.57742 14.2656 7.42258 14.2656 7.28856 14.2031L1.28856 11.4031C1.11252 11.3209 1 11.1443 1 10.95V4.05C1 3.85574 1.11252 3.67906 1.28856 3.59691L7.28856 0.796908ZM2 4.80578L7 6.93078V12.9649L2 10.6316V4.80578ZM8 12.9649L13 10.6316V4.80578L8 6.93078V12.9649ZM7.5 6.05672L12.2719 4.02866L7.5 1.80176L2.72809 4.02866L7.5 6.05672Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1x = [\"color\"];\nvar CursorArrowIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1x);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.29227 0.048984C3.47033 -0.032338 3.67946 -0.00228214 3.8274 0.125891L12.8587 7.95026C13.0134 8.08432 13.0708 8.29916 13.0035 8.49251C12.9362 8.68586 12.7578 8.81866 12.5533 8.82768L9.21887 8.97474L11.1504 13.2187C11.2648 13.47 11.1538 13.7664 10.9026 13.8808L8.75024 14.8613C8.499 14.9758 8.20255 14.8649 8.08802 14.6137L6.15339 10.3703L3.86279 12.7855C3.72196 12.934 3.50487 12.9817 3.31479 12.9059C3.1247 12.8301 3 12.6461 3 12.4414V0.503792C3 0.308048 3.11422 0.130306 3.29227 0.048984ZM4 1.59852V11.1877L5.93799 9.14425C6.05238 9.02363 6.21924 8.96776 6.38319 8.99516C6.54715 9.02256 6.68677 9.12965 6.75573 9.2809L8.79056 13.7441L10.0332 13.178L8.00195 8.71497C7.93313 8.56376 7.94391 8.38824 8.03072 8.24659C8.11753 8.10494 8.26903 8.01566 8.435 8.00834L11.2549 7.88397L4 1.59852Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1y = [\"color\"];\nvar CursorTextIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.5 1C4.22386 1 4 1.22386 4 1.5C4 1.77614 4.22386 2 4.5 2C5.42215 2 6.0399 2.23054 6.42075 2.56379C6.79286 2.88939 7 3.36626 7 4V7H5.75C5.47386 7 5.25 7.22386 5.25 7.5C5.25 7.77614 5.47386 8 5.75 8H7V11C7 11.6337 6.79286 12.1106 6.42075 12.4362C6.0399 12.7695 5.42215 13 4.5 13C4.22386 13 4 13.2239 4 13.5C4 13.7761 4.22386 14 4.5 14C5.57785 14 6.4601 13.7305 7.07925 13.1888C7.24168 13.0467 7.38169 12.8896 7.5 12.7198C7.61832 12.8896 7.75832 13.0467 7.92075 13.1888C8.5399 13.7305 9.42215 14 10.5 14C10.7761 14 11 13.7761 11 13.5C11 13.2239 10.7761 13 10.5 13C9.57785 13 8.9601 12.7695 8.57925 12.4362C8.20714 12.1106 8 11.6337 8 11V8H9.25C9.52614 8 9.75 7.77614 9.75 7.5C9.75 7.22386 9.52614 7 9.25 7H8V4C8 3.36626 8.20714 2.88939 8.57925 2.56379C8.9601 2.23054 9.57785 2 10.5 2C10.7761 2 11 1.77614 11 1.5C11 1.22386 10.7761 1 10.5 1C9.42215 1 8.5399 1.26946 7.92075 1.81121C7.75832 1.95333 7.61832 2.11043 7.5 2.28023C7.38168 2.11043 7.24168 1.95333 7.07925 1.81121C6.4601 1.26946 5.57785 1 4.5 1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1z = [\"color\"];\nvar DashIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 7.5C5 7.22386 5.22386 7 5.5 7H9.5C9.77614 7 10 7.22386 10 7.5C10 7.77614 9.77614 8 9.5 8H5.5C5.22386 8 5 7.77614 5 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1A = [\"color\"];\nvar DashboardIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1A);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.8 1L2.74967 0.99997C2.52122 0.999752 2.32429 0.999564 2.14983 1.04145C1.60136 1.17312 1.17312 1.60136 1.04145 2.14983C0.999564 2.32429 0.999752 2.52122 0.99997 2.74967L1 2.8V5.2L0.99997 5.25033C0.999752 5.47878 0.999564 5.67572 1.04145 5.85017C1.17312 6.39864 1.60136 6.82688 2.14983 6.95856C2.32429 7.00044 2.52122 7.00025 2.74967 7.00003L2.8 7H5.2L5.25033 7.00003C5.47878 7.00025 5.67572 7.00044 5.85017 6.95856C6.39864 6.82688 6.82688 6.39864 6.95856 5.85017C7.00044 5.67572 7.00025 5.47878 7.00003 5.25033L7 5.2V2.8L7.00003 2.74967C7.00025 2.52122 7.00044 2.32429 6.95856 2.14983C6.82688 1.60136 6.39864 1.17312 5.85017 1.04145C5.67572 0.999564 5.47878 0.999752 5.25033 0.99997L5.2 1H2.8ZM2.38328 2.01382C2.42632 2.00348 2.49222 2 2.8 2H5.2C5.50779 2 5.57369 2.00348 5.61672 2.01382C5.79955 2.05771 5.94229 2.20045 5.98619 2.38328C5.99652 2.42632 6 2.49222 6 2.8V5.2C6 5.50779 5.99652 5.57369 5.98619 5.61672C5.94229 5.79955 5.79955 5.94229 5.61672 5.98619C5.57369 5.99652 5.50779 6 5.2 6H2.8C2.49222 6 2.42632 5.99652 2.38328 5.98619C2.20045 5.94229 2.05771 5.79955 2.01382 5.61672C2.00348 5.57369 2 5.50779 2 5.2V2.8C2 2.49222 2.00348 2.42632 2.01382 2.38328C2.05771 2.20045 2.20045 2.05771 2.38328 2.01382ZM9.8 1L9.74967 0.99997C9.52122 0.999752 9.32429 0.999564 9.14983 1.04145C8.60136 1.17312 8.17312 1.60136 8.04145 2.14983C7.99956 2.32429 7.99975 2.52122 7.99997 2.74967L8 2.8V5.2L7.99997 5.25033C7.99975 5.47878 7.99956 5.67572 8.04145 5.85017C8.17312 6.39864 8.60136 6.82688 9.14983 6.95856C9.32429 7.00044 9.52122 7.00025 9.74967 7.00003L9.8 7H12.2L12.2503 7.00003C12.4788 7.00025 12.6757 7.00044 12.8502 6.95856C13.3986 6.82688 13.8269 6.39864 13.9586 5.85017C14.0004 5.67572 14.0003 5.47878 14 5.25033L14 5.2V2.8L14 2.74967C14.0003 2.52122 14.0004 2.32429 13.9586 2.14983C13.8269 1.60136 13.3986 1.17312 12.8502 1.04145C12.6757 0.999564 12.4788 0.999752 12.2503 0.99997L12.2 1H9.8ZM9.38328 2.01382C9.42632 2.00348 9.49222 2 9.8 2H12.2C12.5078 2 12.5737 2.00348 12.6167 2.01382C12.7995 2.05771 12.9423 2.20045 12.9862 2.38328C12.9965 2.42632 13 2.49222 13 2.8V5.2C13 5.50779 12.9965 5.57369 12.9862 5.61672C12.9423 5.79955 12.7995 5.94229 12.6167 5.98619C12.5737 5.99652 12.5078 6 12.2 6H9.8C9.49222 6 9.42632 5.99652 9.38328 5.98619C9.20045 5.94229 9.05771 5.79955 9.01382 5.61672C9.00348 5.57369 9 5.50779 9 5.2V2.8C9 2.49222 9.00348 2.42632 9.01382 2.38328C9.05771 2.20045 9.20045 2.05771 9.38328 2.01382ZM2.74967 7.99997L2.8 8H5.2L5.25033 7.99997C5.47878 7.99975 5.67572 7.99956 5.85017 8.04145C6.39864 8.17312 6.82688 8.60136 6.95856 9.14983C7.00044 9.32429 7.00025 9.52122 7.00003 9.74967L7 9.8V12.2L7.00003 12.2503C7.00025 12.4788 7.00044 12.6757 6.95856 12.8502C6.82688 13.3986 6.39864 13.8269 5.85017 13.9586C5.67572 14.0004 5.47878 14.0003 5.25033 14L5.2 14H2.8L2.74967 14C2.52122 14.0003 2.32429 14.0004 2.14983 13.9586C1.60136 13.8269 1.17312 13.3986 1.04145 12.8502C0.999564 12.6757 0.999752 12.4788 0.99997 12.2503L1 12.2V9.8L0.99997 9.74967C0.999752 9.52122 0.999564 9.32429 1.04145 9.14983C1.17312 8.60136 1.60136 8.17312 2.14983 8.04145C2.32429 7.99956 2.52122 7.99975 2.74967 7.99997ZM2.8 9C2.49222 9 2.42632 9.00348 2.38328 9.01382C2.20045 9.05771 2.05771 9.20045 2.01382 9.38328C2.00348 9.42632 2 9.49222 2 9.8V12.2C2 12.5078 2.00348 12.5737 2.01382 12.6167C2.05771 12.7995 2.20045 12.9423 2.38328 12.9862C2.42632 12.9965 2.49222 13 2.8 13H5.2C5.50779 13 5.57369 12.9965 5.61672 12.9862C5.79955 12.9423 5.94229 12.7995 5.98619 12.6167C5.99652 12.5737 6 12.5078 6 12.2V9.8C6 9.49222 5.99652 9.42632 5.98619 9.38328C5.94229 9.20045 5.79955 9.05771 5.61672 9.01382C5.57369 9.00348 5.50779 9 5.2 9H2.8ZM9.8 8L9.74967 7.99997C9.52122 7.99975 9.32429 7.99956 9.14983 8.04145C8.60136 8.17312 8.17312 8.60136 8.04145 9.14983C7.99956 9.32429 7.99975 9.52122 7.99997 9.74967L8 9.8V12.2L7.99997 12.2503C7.99975 12.4788 7.99956 12.6757 8.04145 12.8502C8.17312 13.3986 8.60136 13.8269 9.14983 13.9586C9.32429 14.0004 9.52122 14.0003 9.74967 14L9.8 14H12.2L12.2503 14C12.4788 14.0003 12.6757 14.0004 12.8502 13.9586C13.3986 13.8269 13.8269 13.3986 13.9586 12.8502C14.0004 12.6757 14.0003 12.4788 14 12.2503L14 12.2V9.8L14 9.74967C14.0003 9.52122 14.0004 9.32429 13.9586 9.14983C13.8269 8.60136 13.3986 8.17312 12.8502 8.04145C12.6757 7.99956 12.4788 7.99975 12.2503 7.99997L12.2 8H9.8ZM9.38328 9.01382C9.42632 9.00348 9.49222 9 9.8 9H12.2C12.5078 9 12.5737 9.00348 12.6167 9.01382C12.7995 9.05771 12.9423 9.20045 12.9862 9.38328C12.9965 9.42632 13 9.49222 13 9.8V12.2C13 12.5078 12.9965 12.5737 12.9862 12.6167C12.9423 12.7995 12.7995 12.9423 12.6167 12.9862C12.5737 12.9965 12.5078 13 12.2 13H9.8C9.49222 13 9.42632 12.9965 9.38328 12.9862C9.20045 12.9423 9.05771 12.7995 9.01382 12.6167C9.00348 12.5737 9 12.5078 9 12.2V9.8C9 9.49222 9.00348 9.42632 9.01382 9.38328C9.05771 9.20045 9.20045 9.05771 9.38328 9.01382Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1B = [\"color\"];\nvar DesktopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1B);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 3.25C1 3.11193 1.11193 3 1.25 3H13.75C13.8881 3 14 3.11193 14 3.25V10.75C14 10.8881 13.8881 11 13.75 11H1.25C1.11193 11 1 10.8881 1 10.75V3.25ZM1.25 2C0.559643 2 0 2.55964 0 3.25V10.75C0 11.4404 0.559644 12 1.25 12H5.07341L4.82991 13.2986C4.76645 13.6371 5.02612 13.95 5.37049 13.95H9.62951C9.97389 13.95 10.2336 13.6371 10.1701 13.2986L9.92659 12H13.75C14.4404 12 15 11.4404 15 10.75V3.25C15 2.55964 14.4404 2 13.75 2H1.25ZM9.01091 12H5.98909L5.79222 13.05H9.20778L9.01091 12Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1C = [\"color\"];\nvar DimensionsIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1C);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.00014 2.73895C3.00014 2.94698 2.76087 3.06401 2.59666 2.93628L1.00386 1.69744C0.875177 1.59735 0.875177 1.40286 1.00386 1.30277L2.59666 0.063928C2.76087 -0.0637944 3.00014 0.0532293 3.00014 0.261266V1.00012H9.00009V0.261296C9.00009 0.0532591 9.23936 -0.0637646 9.40358 0.0639578L10.9964 1.3028C11.1251 1.40289 11.1251 1.59738 10.9964 1.69747L9.40358 2.93631C9.23936 3.06404 9.00009 2.94701 9.00009 2.73898V2.00012H3.00014V2.73895ZM9.50002 4.99998H2.50002C2.22388 4.99998 2.00002 5.22384 2.00002 5.49998V12.5C2.00002 12.7761 2.22388 13 2.50002 13H9.50002C9.77616 13 10 12.7761 10 12.5V5.49998C10 5.22384 9.77616 4.99998 9.50002 4.99998ZM2.50002 3.99998C1.67159 3.99998 1.00002 4.67156 1.00002 5.49998V12.5C1.00002 13.3284 1.67159 14 2.50002 14H9.50002C10.3284 14 11 13.3284 11 12.5V5.49998C11 4.67156 10.3284 3.99998 9.50002 3.99998H2.50002ZM14.7389 6.00001H14V12H14.7389C14.9469 12 15.064 12.2393 14.9362 12.4035L13.6974 13.9963C13.5973 14.125 13.4028 14.125 13.3027 13.9963L12.0639 12.4035C11.9362 12.2393 12.0532 12 12.2612 12H13V6.00001H12.2612C12.0532 6.00001 11.9361 5.76074 12.0639 5.59653L13.3027 4.00373C13.4028 3.87505 13.5973 3.87505 13.6974 4.00374L14.9362 5.59653C15.0639 5.76074 14.9469 6.00001 14.7389 6.00001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1D = [\"color\"];\nvar DiscIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1D);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.877075C3.84222 0.877075 0.877075 3.84222 0.877075 7.49991C0.877075 11.1576 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1576 14.1227 7.49991C14.1227 3.84222 11.1576 0.877075 7.49991 0.877075ZM1.82708 7.49991C1.82708 4.36689 4.36689 1.82707 7.49991 1.82707C10.6329 1.82707 13.1727 4.36689 13.1727 7.49991C13.1727 10.6329 10.6329 13.1727 7.49991 13.1727C4.36689 13.1727 1.82708 10.6329 1.82708 7.49991ZM8.37287 7.50006C8.37287 7.98196 7.98221 8.37263 7.5003 8.37263C7.01839 8.37263 6.62773 7.98196 6.62773 7.50006C6.62773 7.01815 7.01839 6.62748 7.5003 6.62748C7.98221 6.62748 8.37287 7.01815 8.37287 7.50006ZM9.32287 7.50006C9.32287 8.50664 8.50688 9.32263 7.5003 9.32263C6.49372 9.32263 5.67773 8.50664 5.67773 7.50006C5.67773 6.49348 6.49372 5.67748 7.5003 5.67748C8.50688 5.67748 9.32287 6.49348 9.32287 7.50006Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1E = [\"color\"];\nvar DiscordLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1E);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.07451 1.82584C5.03267 1.81926 4.99014 1.81825 4.94803 1.82284C4.10683 1.91446 2.82673 2.36828 2.07115 2.77808C2.02106 2.80525 1.97621 2.84112 1.93869 2.88402C1.62502 3.24266 1.34046 3.82836 1.11706 4.38186C0.887447 4.95076 0.697293 5.55032 0.588937 5.98354C0.236232 7.39369 0.042502 9.08728 0.0174948 10.6925C0.0162429 10.7729 0.0351883 10.8523 0.0725931 10.9234C0.373679 11.496 1.02015 12.027 1.66809 12.4152C2.32332 12.8078 3.08732 13.1182 3.70385 13.1778C3.85335 13.1922 4.00098 13.1358 4.10282 13.0255C4.2572 12.8581 4.5193 12.4676 4.71745 12.1643C4.80739 12.0267 4.89157 11.8953 4.95845 11.7901C5.62023 11.9106 6.45043 11.9801 7.50002 11.9801C8.54844 11.9801 9.37796 11.9107 10.0394 11.7905C10.1062 11.8957 10.1903 12.0269 10.2801 12.1643C10.4783 12.4676 10.7404 12.8581 10.8947 13.0255C10.9966 13.1358 11.1442 13.1922 11.2937 13.1778C11.9102 13.1182 12.6742 12.8078 13.3295 12.4152C13.9774 12.027 14.6239 11.496 14.925 10.9234C14.9624 10.8523 14.9813 10.7729 14.9801 10.6925C14.9551 9.08728 14.7613 7.39369 14.4086 5.98354C14.3003 5.55032 14.1101 4.95076 13.8805 4.38186C13.6571 3.82836 13.3725 3.24266 13.0589 2.88402C13.0214 2.84112 12.9765 2.80525 12.9264 2.77808C12.1708 2.36828 10.8907 1.91446 10.0495 1.82284C10.0074 1.81825 9.96489 1.81926 9.92305 1.82584C9.71676 1.85825 9.5391 1.96458 9.40809 2.06355C9.26977 2.16804 9.1413 2.29668 9.0304 2.42682C8.86968 2.61544 8.71437 2.84488 8.61428 3.06225C8.27237 3.03501 7.90138 3.02 7.5 3.02C7.0977 3.02 6.72593 3.03508 6.38337 3.06244C6.28328 2.84501 6.12792 2.61549 5.96716 2.42682C5.85626 2.29668 5.72778 2.16804 5.58947 2.06355C5.45846 1.96458 5.2808 1.85825 5.07451 1.82584ZM11.0181 11.5382C11.0395 11.5713 11.0615 11.6051 11.0838 11.6392C11.2169 11.843 11.3487 12.0385 11.4508 12.1809C11.8475 12.0916 12.352 11.8818 12.8361 11.5917C13.3795 11.2661 13.8098 10.8918 14.0177 10.5739C13.9852 9.06758 13.7993 7.50369 13.4773 6.21648C13.38 5.82759 13.2038 5.27021 12.9903 4.74117C12.7893 4.24326 12.5753 3.82162 12.388 3.5792C11.7376 3.24219 10.7129 2.88582 10.0454 2.78987C10.0308 2.79839 10.0113 2.81102 9.98675 2.82955C9.91863 2.881 9.84018 2.95666 9.76111 3.04945C9.71959 3.09817 9.68166 3.1471 9.64768 3.19449C9.953 3.25031 10.2253 3.3171 10.4662 3.39123C11.1499 3.6016 11.6428 3.89039 11.884 4.212C12.0431 4.42408 12.0001 4.72494 11.788 4.884C11.5759 5.04306 11.2751 5.00008 11.116 4.788C11.0572 4.70961 10.8001 4.4984 10.1838 4.30877C9.58933 4.12585 8.71356 3.98 7.5 3.98C6.28644 3.98 5.41067 4.12585 4.81616 4.30877C4.19988 4.4984 3.94279 4.70961 3.884 4.788C3.72494 5.00008 3.42408 5.04306 3.212 4.884C2.99992 4.72494 2.95694 4.42408 3.116 4.212C3.35721 3.89039 3.85011 3.6016 4.53383 3.39123C4.77418 3.31727 5.04571 3.25062 5.35016 3.19488C5.31611 3.14738 5.27808 3.09831 5.23645 3.04945C5.15738 2.95666 5.07893 2.881 5.01081 2.82955C4.98628 2.81102 4.96674 2.79839 4.95217 2.78987C4.28464 2.88582 3.25999 3.24219 2.60954 3.5792C2.42226 3.82162 2.20825 4.24326 2.00729 4.74117C1.79376 5.27021 1.61752 5.82759 1.52025 6.21648C1.19829 7.50369 1.01236 9.06758 0.97986 10.5739C1.18772 10.8918 1.61807 11.2661 2.16148 11.5917C2.64557 11.8818 3.15003 12.0916 3.5468 12.1809C3.64885 12.0385 3.78065 11.843 3.9138 11.6392C3.93626 11.6048 3.95838 11.5708 3.97996 11.5375C3.19521 11.2591 2.77361 10.8758 2.50064 10.4664C2.35359 10.2458 2.4132 9.94778 2.63377 9.80074C2.85435 9.65369 3.15236 9.71329 3.29941 9.93387C3.56077 10.3259 4.24355 11.0201 7.50002 11.0201C10.7565 11.0201 11.4392 10.326 11.7006 9.93386C11.8477 9.71329 12.1457 9.65369 12.3663 9.80074C12.5869 9.94779 12.6465 10.2458 12.4994 10.4664C12.2262 10.8762 11.8041 11.2598 11.0181 11.5382ZM4.08049 7.01221C4.32412 6.74984 4.65476 6.60162 5.00007 6.59998C5.34538 6.60162 5.67603 6.74984 5.91966 7.01221C6.16329 7.27459 6.30007 7.62974 6.30007 7.99998C6.30007 8.37021 6.16329 8.72536 5.91966 8.98774C5.67603 9.25011 5.34538 9.39833 5.00007 9.39998C4.65476 9.39833 4.32412 9.25011 4.08049 8.98774C3.83685 8.72536 3.70007 8.37021 3.70007 7.99998C3.70007 7.62974 3.83685 7.27459 4.08049 7.01221ZM9.99885 6.59998C9.65354 6.60162 9.3229 6.74984 9.07926 7.01221C8.83563 7.27459 8.69885 7.62974 8.69885 7.99998C8.69885 8.37021 8.83563 8.72536 9.07926 8.98774C9.3229 9.25011 9.65354 9.39833 9.99885 9.39998C10.3442 9.39833 10.6748 9.25011 10.9184 8.98774C11.1621 8.72536 11.2989 8.37021 11.2989 7.99998C11.2989 7.62974 11.1621 7.27459 10.9184 7.01221C10.6748 6.74984 10.3442 6.60162 9.99885 6.59998Z\",\n fill: color\n }));\n});\n\nvar _excluded$1F = [\"color\"];\nvar DividerHorizontalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1F);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1G = [\"color\"];\nvar DividerVerticalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1G);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 2C7.77614 2 8 2.22386 8 2.5L8 12.5C8 12.7761 7.77614 13 7.5 13C7.22386 13 7 12.7761 7 12.5L7 2.5C7 2.22386 7.22386 2 7.5 2Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1H = [\"color\"];\nvar DotIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1H);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 9.125C8.39746 9.125 9.125 8.39746 9.125 7.5C9.125 6.60254 8.39746 5.875 7.5 5.875C6.60254 5.875 5.875 6.60254 5.875 7.5C5.875 8.39746 6.60254 9.125 7.5 9.125ZM7.5 10.125C8.94975 10.125 10.125 8.94975 10.125 7.5C10.125 6.05025 8.94975 4.875 7.5 4.875C6.05025 4.875 4.875 6.05025 4.875 7.5C4.875 8.94975 6.05025 10.125 7.5 10.125Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1I = [\"color\"];\nvar DotFilledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1I);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z\",\n fill: color\n }));\n});\n\nvar _excluded$1J = [\"color\"];\nvar DotsHorizontalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1J);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.625 7.5C3.625 8.12132 3.12132 8.625 2.5 8.625C1.87868 8.625 1.375 8.12132 1.375 7.5C1.375 6.87868 1.87868 6.375 2.5 6.375C3.12132 6.375 3.625 6.87868 3.625 7.5ZM8.625 7.5C8.625 8.12132 8.12132 8.625 7.5 8.625C6.87868 8.625 6.375 8.12132 6.375 7.5C6.375 6.87868 6.87868 6.375 7.5 6.375C8.12132 6.375 8.625 6.87868 8.625 7.5ZM12.5 8.625C13.1213 8.625 13.625 8.12132 13.625 7.5C13.625 6.87868 13.1213 6.375 12.5 6.375C11.8787 6.375 11.375 6.87868 11.375 7.5C11.375 8.12132 11.8787 8.625 12.5 8.625Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1K = [\"color\"];\nvar DotsVerticalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1K);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.625 2.5C8.625 3.12132 8.12132 3.625 7.5 3.625C6.87868 3.625 6.375 3.12132 6.375 2.5C6.375 1.87868 6.87868 1.375 7.5 1.375C8.12132 1.375 8.625 1.87868 8.625 2.5ZM8.625 7.5C8.625 8.12132 8.12132 8.625 7.5 8.625C6.87868 8.625 6.375 8.12132 6.375 7.5C6.375 6.87868 6.87868 6.375 7.5 6.375C8.12132 6.375 8.625 6.87868 8.625 7.5ZM7.5 13.625C8.12132 13.625 8.625 13.1213 8.625 12.5C8.625 11.8787 8.12132 11.375 7.5 11.375C6.87868 11.375 6.375 11.8787 6.375 12.5C6.375 13.1213 6.87868 13.625 7.5 13.625Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1L = [\"color\"];\nvar DoubleArrowDownIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1L);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.85355 2.14645C3.65829 1.95118 3.34171 1.95118 3.14645 2.14645C2.95118 2.34171 2.95118 2.65829 3.14645 2.85355L7.14645 6.85355C7.34171 7.04882 7.65829 7.04882 7.85355 6.85355L11.8536 2.85355C12.0488 2.65829 12.0488 2.34171 11.8536 2.14645C11.6583 1.95118 11.3417 1.95118 11.1464 2.14645L7.5 5.79289L3.85355 2.14645ZM3.85355 8.14645C3.65829 7.95118 3.34171 7.95118 3.14645 8.14645C2.95118 8.34171 2.95118 8.65829 3.14645 8.85355L7.14645 12.8536C7.34171 13.0488 7.65829 13.0488 7.85355 12.8536L11.8536 8.85355C12.0488 8.65829 12.0488 8.34171 11.8536 8.14645C11.6583 7.95118 11.3417 7.95118 11.1464 8.14645L7.5 11.7929L3.85355 8.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1M = [\"color\"];\nvar DoubleArrowLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1M);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1N = [\"color\"];\nvar DoubleArrowRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1N);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1O = [\"color\"];\nvar DoubleArrowUpIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1O);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.1464 6.85355C11.3417 7.04882 11.6583 7.04882 11.8536 6.85355C12.0488 6.65829 12.0488 6.34171 11.8536 6.14645L7.85355 2.14645C7.65829 1.95118 7.34171 1.95118 7.14645 2.14645L3.14645 6.14645C2.95118 6.34171 2.95118 6.65829 3.14645 6.85355C3.34171 7.04882 3.65829 7.04882 3.85355 6.85355L7.5 3.20711L11.1464 6.85355ZM11.1464 12.8536C11.3417 13.0488 11.6583 13.0488 11.8536 12.8536C12.0488 12.6583 12.0488 12.3417 11.8536 12.1464L7.85355 8.14645C7.65829 7.95118 7.34171 7.95118 7.14645 8.14645L3.14645 12.1464C2.95118 12.3417 2.95118 12.6583 3.14645 12.8536C3.34171 13.0488 3.65829 13.0488 3.85355 12.8536L7.5 9.20711L11.1464 12.8536Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1P = [\"color\"];\nvar DownloadIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1P);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.50005 1.04999C7.74858 1.04999 7.95005 1.25146 7.95005 1.49999V8.41359L10.1819 6.18179C10.3576 6.00605 10.6425 6.00605 10.8182 6.18179C10.994 6.35753 10.994 6.64245 10.8182 6.81819L7.81825 9.81819C7.64251 9.99392 7.35759 9.99392 7.18185 9.81819L4.18185 6.81819C4.00611 6.64245 4.00611 6.35753 4.18185 6.18179C4.35759 6.00605 4.64251 6.00605 4.81825 6.18179L7.05005 8.41359V1.49999C7.05005 1.25146 7.25152 1.04999 7.50005 1.04999ZM2.5 10C2.77614 10 3 10.2239 3 10.5V12C3 12.5539 3.44565 13 3.99635 13H11.0012C11.5529 13 12 12.5528 12 12V10.5C12 10.2239 12.2239 10 12.5 10C12.7761 10 13 10.2239 13 10.5V12C13 13.1041 12.1062 14 11.0012 14H3.99635C2.89019 14 2 13.103 2 12V10.5C2 10.2239 2.22386 10 2.5 10Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1Q = [\"color\"];\nvar DragHandleDots1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1Q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"circle\", {\n cx: \"4.5\",\n cy: \"2.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"4.5\",\n cy: \"4.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"4.5\",\n cy: \"6.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"4.5\",\n cy: \"8.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"4.5\",\n cy: \"10.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"4.5\",\n cy: \"12.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"2.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"4.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"6.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"8.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"10.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"6.5\",\n cy: \"12.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"8.499\",\n cy: \"2.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"8.499\",\n cy: \"4.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"8.499\",\n cy: \"6.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"8.499\",\n cy: \"8.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"8.499\",\n cy: \"10.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"8.499\",\n cy: \"12.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"10.499\",\n cy: \"2.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"10.499\",\n cy: \"4.5\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"10.499\",\n cy: \"6.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"10.499\",\n cy: \"8.499\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"10.499\",\n cy: \"10.498\",\n r: \".6\",\n fill: color\n }), createElement(\"circle\", {\n cx: \"10.499\",\n cy: \"12.498\",\n r: \".6\",\n fill: color\n }));\n});\n\nvar _excluded$1R = [\"color\"];\nvar DragHandleDots2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1R);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.5 4.625C6.12132 4.625 6.625 4.12132 6.625 3.5C6.625 2.87868 6.12132 2.375 5.5 2.375C4.87868 2.375 4.375 2.87868 4.375 3.5C4.375 4.12132 4.87868 4.625 5.5 4.625ZM9.5 4.625C10.1213 4.625 10.625 4.12132 10.625 3.5C10.625 2.87868 10.1213 2.375 9.5 2.375C8.87868 2.375 8.375 2.87868 8.375 3.5C8.375 4.12132 8.87868 4.625 9.5 4.625ZM10.625 7.5C10.625 8.12132 10.1213 8.625 9.5 8.625C8.87868 8.625 8.375 8.12132 8.375 7.5C8.375 6.87868 8.87868 6.375 9.5 6.375C10.1213 6.375 10.625 6.87868 10.625 7.5ZM5.5 8.625C6.12132 8.625 6.625 8.12132 6.625 7.5C6.625 6.87868 6.12132 6.375 5.5 6.375C4.87868 6.375 4.375 6.87868 4.375 7.5C4.375 8.12132 4.87868 8.625 5.5 8.625ZM10.625 11.5C10.625 12.1213 10.1213 12.625 9.5 12.625C8.87868 12.625 8.375 12.1213 8.375 11.5C8.375 10.8787 8.87868 10.375 9.5 10.375C10.1213 10.375 10.625 10.8787 10.625 11.5ZM5.5 12.625C6.12132 12.625 6.625 12.1213 6.625 11.5C6.625 10.8787 6.12132 10.375 5.5 10.375C4.87868 10.375 4.375 10.8787 4.375 11.5C4.375 12.1213 4.87868 12.625 5.5 12.625Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1S = [\"color\"];\nvar DragHandleHorizontalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1S);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.49998 4.09998C2.27906 4.09998 2.09998 4.27906 2.09998 4.49998C2.09998 4.72089 2.27906 4.89998 2.49998 4.89998H12.5C12.7209 4.89998 12.9 4.72089 12.9 4.49998C12.9 4.27906 12.7209 4.09998 12.5 4.09998H2.49998ZM2.49998 6.09998C2.27906 6.09998 2.09998 6.27906 2.09998 6.49998C2.09998 6.72089 2.27906 6.89998 2.49998 6.89998H12.5C12.7209 6.89998 12.9 6.72089 12.9 6.49998C12.9 6.27906 12.7209 6.09998 12.5 6.09998H2.49998ZM2.09998 8.49998C2.09998 8.27906 2.27906 8.09998 2.49998 8.09998H12.5C12.7209 8.09998 12.9 8.27906 12.9 8.49998C12.9 8.72089 12.7209 8.89998 12.5 8.89998H2.49998C2.27906 8.89998 2.09998 8.72089 2.09998 8.49998ZM2.49998 10.1C2.27906 10.1 2.09998 10.2791 2.09998 10.5C2.09998 10.7209 2.27906 10.9 2.49998 10.9H12.5C12.7209 10.9 12.9 10.7209 12.9 10.5C12.9 10.2791 12.7209 10.1 12.5 10.1H2.49998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1T = [\"color\"];\nvar DragHandleVerticalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1T);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.09998 12.5C4.09998 12.7209 4.27906 12.9 4.49998 12.9C4.72089 12.9 4.89998 12.7209 4.89998 12.5L4.89998 2.50002C4.89998 2.27911 4.72089 2.10003 4.49998 2.10003C4.27906 2.10003 4.09998 2.27911 4.09998 2.50002L4.09998 12.5ZM6.09998 12.5C6.09998 12.7209 6.27906 12.9 6.49998 12.9C6.72089 12.9 6.89998 12.7209 6.89998 12.5L6.89998 2.50002C6.89998 2.27911 6.72089 2.10003 6.49998 2.10003C6.27906 2.10003 6.09998 2.27911 6.09998 2.50002L6.09998 12.5ZM8.49998 12.9C8.27906 12.9 8.09998 12.7209 8.09998 12.5L8.09998 2.50002C8.09998 2.27911 8.27906 2.10002 8.49998 2.10002C8.72089 2.10002 8.89998 2.27911 8.89998 2.50002L8.89998 12.5C8.89998 12.7209 8.72089 12.9 8.49998 12.9ZM10.1 12.5C10.1 12.7209 10.2791 12.9 10.5 12.9C10.7209 12.9 10.9 12.7209 10.9 12.5L10.9 2.50002C10.9 2.27911 10.7209 2.10002 10.5 2.10002C10.2791 2.10002 10.1 2.27911 10.1 2.50002L10.1 12.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1U = [\"color\"];\nvar DrawingPinIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1U);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10.3285 1.13607C10.1332 0.940809 9.81662 0.940808 9.62136 1.13607C9.42609 1.33133 9.42609 1.64792 9.62136 1.84318L10.2744 2.49619L5.42563 6.13274L4.31805 5.02516C4.12279 4.8299 3.80621 4.8299 3.61095 5.02516C3.41569 5.22042 3.41569 5.537 3.61095 5.73226L5.02516 7.14648L6.08582 8.20714L2.81545 11.4775C2.62019 11.6728 2.62019 11.9894 2.81545 12.1846C3.01072 12.3799 3.3273 12.3799 3.52256 12.1846L6.79293 8.91425L7.85359 9.97491L9.2678 11.3891C9.46306 11.5844 9.77965 11.5844 9.97491 11.3891C10.1702 11.1939 10.1702 10.8773 9.97491 10.682L8.86733 9.57443L12.5039 4.7257L13.1569 5.37871C13.3522 5.57397 13.6687 5.57397 13.864 5.37871C14.0593 5.18345 14.0593 4.86687 13.864 4.6716L12.8033 3.61094L11.3891 2.19673L10.3285 1.13607ZM6.13992 6.84702L10.9887 3.21047L11.7896 4.01142L8.15305 8.86015L6.13992 6.84702Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1V = [\"color\"];\nvar DrawingPinFilledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1V);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.62129 1.13607C9.81656 0.940808 10.1331 0.940809 10.3284 1.13607L11.3891 2.19673L12.8033 3.61094L13.8639 4.6716C14.0592 4.86687 14.0592 5.18345 13.8639 5.37871C13.6687 5.57397 13.3521 5.57397 13.1568 5.37871L12.5038 4.7257L8.86727 9.57443L9.97485 10.682C10.1701 10.8773 10.1701 11.1939 9.97485 11.3891C9.77959 11.5844 9.463 11.5844 9.26774 11.3891L7.85353 9.97491L6.79287 8.91425L3.5225 12.1846C3.32724 12.3799 3.01065 12.3799 2.81539 12.1846C2.62013 11.9894 2.62013 11.6728 2.81539 11.4775L6.08576 8.20714L5.0251 7.14648L3.61089 5.73226C3.41563 5.537 3.41562 5.22042 3.61089 5.02516C3.80615 4.8299 4.12273 4.8299 4.31799 5.02516L5.42557 6.13274L10.2743 2.49619L9.62129 1.84318C9.42603 1.64792 9.42603 1.33133 9.62129 1.13607Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M9.62129 1.13607C9.81656 0.940808 10.1331 0.940809 10.3284 1.13607L11.3891 2.19673L12.8033 3.61094L13.8639 4.6716C14.0592 4.86687 14.0592 5.18345 13.8639 5.37871C13.6687 5.57397 13.3521 5.57397 13.1568 5.37871L12.5038 4.7257L8.86727 9.57443L9.97485 10.682C10.1701 10.8773 10.1701 11.1939 9.97485 11.3891C9.77959 11.5844 9.463 11.5844 9.26774 11.3891L7.85353 9.97491L6.79287 8.91425L3.5225 12.1846C3.32724 12.3799 3.01065 12.3799 2.81539 12.1846C2.62013 11.9894 2.62013 11.6728 2.81539 11.4775L6.08576 8.20714L5.0251 7.14648L3.61089 5.73226C3.41563 5.537 3.41562 5.22042 3.61089 5.02516C3.80615 4.8299 4.12273 4.8299 4.31799 5.02516L5.42557 6.13274L10.2743 2.49619L9.62129 1.84318C9.42603 1.64792 9.42603 1.33133 9.62129 1.13607Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1W = [\"color\"];\nvar DropdownMenuIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1W);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49999 3.09998C7.27907 3.09998 7.09999 3.27906 7.09999 3.49998C7.09999 3.72089 7.27907 3.89998 7.49999 3.89998H14.5C14.7209 3.89998 14.9 3.72089 14.9 3.49998C14.9 3.27906 14.7209 3.09998 14.5 3.09998H7.49999ZM7.49998 5.1C7.27907 5.1 7.09998 5.27908 7.09998 5.5C7.09998 5.72091 7.27907 5.9 7.49998 5.9H14.5C14.7209 5.9 14.9 5.72091 14.9 5.5C14.9 5.27908 14.7209 5.1 14.5 5.1H7.49998ZM7.1 7.5C7.1 7.27908 7.27909 7.1 7.5 7.1H14.5C14.7209 7.1 14.9 7.27908 14.9 7.5C14.9 7.72091 14.7209 7.9 14.5 7.9H7.5C7.27909 7.9 7.1 7.72091 7.1 7.5ZM7.49998 9.1C7.27907 9.1 7.09998 9.27908 7.09998 9.5C7.09998 9.72091 7.27907 9.9 7.49998 9.9H14.5C14.7209 9.9 14.9 9.72091 14.9 9.5C14.9 9.27908 14.7209 9.1 14.5 9.1H7.49998ZM7.09998 11.5C7.09998 11.2791 7.27907 11.1 7.49998 11.1H14.5C14.7209 11.1 14.9 11.2791 14.9 11.5C14.9 11.7209 14.7209 11.9 14.5 11.9H7.49998C7.27907 11.9 7.09998 11.7209 7.09998 11.5ZM2.5 9.25003L5 6.00003H0L2.5 9.25003Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1X = [\"color\"];\nvar EnterIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1X);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.5 1C4.22386 1 4 1.22386 4 1.5C4 1.77614 4.22386 2 4.5 2H12V13H4.5C4.22386 13 4 13.2239 4 13.5C4 13.7761 4.22386 14 4.5 14H12C12.5523 14 13 13.5523 13 13V2C13 1.44772 12.5523 1 12 1H4.5ZM6.60355 4.89645C6.40829 4.70118 6.09171 4.70118 5.89645 4.89645C5.70118 5.09171 5.70118 5.40829 5.89645 5.60355L7.29289 7H0.5C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H7.29289L5.89645 9.39645C5.70118 9.59171 5.70118 9.90829 5.89645 10.1036C6.09171 10.2988 6.40829 10.2988 6.60355 10.1036L8.85355 7.85355C9.04882 7.65829 9.04882 7.34171 8.85355 7.14645L6.60355 4.89645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1Y = [\"color\"];\nvar EnterFullScreenIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1Y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 2.5C2 2.22386 2.22386 2 2.5 2H5.5C5.77614 2 6 2.22386 6 2.5C6 2.77614 5.77614 3 5.5 3H3V5.5C3 5.77614 2.77614 6 2.5 6C2.22386 6 2 5.77614 2 5.5V2.5ZM9 2.5C9 2.22386 9.22386 2 9.5 2H12.5C12.7761 2 13 2.22386 13 2.5V5.5C13 5.77614 12.7761 6 12.5 6C12.2239 6 12 5.77614 12 5.5V3H9.5C9.22386 3 9 2.77614 9 2.5ZM2.5 9C2.77614 9 3 9.22386 3 9.5V12H5.5C5.77614 12 6 12.2239 6 12.5C6 12.7761 5.77614 13 5.5 13H2.5C2.22386 13 2 12.7761 2 12.5V9.5C2 9.22386 2.22386 9 2.5 9ZM12.5 9C12.7761 9 13 9.22386 13 9.5V12.5C13 12.7761 12.7761 13 12.5 13H9.5C9.22386 13 9 12.7761 9 12.5C9 12.2239 9.22386 12 9.5 12H12V9.5C12 9.22386 12.2239 9 12.5 9Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1Z = [\"color\"];\nvar EnvelopeClosedIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1Z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 2C0.447715 2 0 2.44772 0 3V12C0 12.5523 0.447715 13 1 13H14C14.5523 13 15 12.5523 15 12V3C15 2.44772 14.5523 2 14 2H1ZM1 3L14 3V3.92494C13.9174 3.92486 13.8338 3.94751 13.7589 3.99505L7.5 7.96703L1.24112 3.99505C1.16621 3.94751 1.0826 3.92486 1 3.92494V3ZM1 4.90797V12H14V4.90797L7.74112 8.87995C7.59394 8.97335 7.40606 8.97335 7.25888 8.87995L1 4.90797Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1_ = [\"color\"];\nvar EnvelopeOpenIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1_);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.94721 0.164594C7.66569 0.0238299 7.33431 0.0238302 7.05279 0.164594L0.552786 3.41459C0.214002 3.58399 0 3.93025 0 4.30902V12C0 12.5523 0.447715 13 1 13H14C14.5523 13 15 12.5523 15 12V4.30902C15 3.93025 14.786 3.58399 14.4472 3.41459L7.94721 0.164594ZM13.5689 4.09349L7.5 1.05902L1.43105 4.09349L7.5 7.29136L13.5689 4.09349ZM1 4.88366V12H14V4.88366L7.70977 8.19813C7.57848 8.26731 7.42152 8.26731 7.29023 8.19813L1 4.88366Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$1$ = [\"color\"];\nvar EraserIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1$);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.36052 0.72921C8.55578 0.533948 8.87236 0.533948 9.06763 0.72921L14.2708 5.93235C14.466 6.12761 14.466 6.4442 14.2708 6.63946L8.95513 11.9551L7.3466 13.5636C6.76081 14.1494 5.81106 14.1494 5.22528 13.5636L1.43635 9.7747C0.850563 9.18891 0.850563 8.23917 1.43635 7.65338L3.04488 6.04485L8.36052 0.72921ZM8.71407 1.78987L4.10554 6.3984L8.60157 10.8944L13.2101 6.28591L8.71407 1.78987ZM7.89447 11.6015L3.39843 7.10551L2.14346 8.36049C1.94819 8.55575 1.94819 8.87233 2.14346 9.06759L5.93238 12.8565C6.12765 13.0518 6.44423 13.0518 6.63949 12.8565L7.89447 11.6015Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$20 = [\"color\"];\nvar ExclamationTriangleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$20);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.4449 0.608765C8.0183 -0.107015 6.9817 -0.107015 6.55509 0.608766L0.161178 11.3368C-0.275824 12.07 0.252503 13 1.10608 13H13.8939C14.7475 13 15.2758 12.07 14.8388 11.3368L8.4449 0.608765ZM7.4141 1.12073C7.45288 1.05566 7.54712 1.05566 7.5859 1.12073L13.9798 11.8488C14.0196 11.9154 13.9715 12 13.8939 12H1.10608C1.02849 12 0.980454 11.9154 1.02018 11.8488L7.4141 1.12073ZM6.8269 4.48611C6.81221 4.10423 7.11783 3.78663 7.5 3.78663C7.88217 3.78663 8.18778 4.10423 8.1731 4.48612L8.01921 8.48701C8.00848 8.766 7.7792 8.98664 7.5 8.98664C7.2208 8.98664 6.99151 8.766 6.98078 8.48701L6.8269 4.48611ZM8.24989 10.476C8.24989 10.8902 7.9141 11.226 7.49989 11.226C7.08567 11.226 6.74989 10.8902 6.74989 10.476C6.74989 10.0618 7.08567 9.72599 7.49989 9.72599C7.9141 9.72599 8.24989 10.0618 8.24989 10.476Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$21 = [\"color\"];\nvar ExitIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$21);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 1C2.44771 1 2 1.44772 2 2V13C2 13.5523 2.44772 14 3 14H10.5C10.7761 14 11 13.7761 11 13.5C11 13.2239 10.7761 13 10.5 13H3V2L10.5 2C10.7761 2 11 1.77614 11 1.5C11 1.22386 10.7761 1 10.5 1H3ZM12.6036 4.89645C12.4083 4.70118 12.0917 4.70118 11.8964 4.89645C11.7012 5.09171 11.7012 5.40829 11.8964 5.60355L13.2929 7H6.5C6.22386 7 6 7.22386 6 7.5C6 7.77614 6.22386 8 6.5 8H13.2929L11.8964 9.39645C11.7012 9.59171 11.7012 9.90829 11.8964 10.1036C12.0917 10.2988 12.4083 10.2988 12.6036 10.1036L14.8536 7.85355C15.0488 7.65829 15.0488 7.34171 14.8536 7.14645L12.6036 4.89645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$22 = [\"color\"];\nvar ExitFullScreenIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$22);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.5 2C5.77614 2 6 2.22386 6 2.5V5.5C6 5.77614 5.77614 6 5.5 6H2.5C2.22386 6 2 5.77614 2 5.5C2 5.22386 2.22386 5 2.5 5H5V2.5C5 2.22386 5.22386 2 5.5 2ZM9.5 2C9.77614 2 10 2.22386 10 2.5V5H12.5C12.7761 5 13 5.22386 13 5.5C13 5.77614 12.7761 6 12.5 6H9.5C9.22386 6 9 5.77614 9 5.5V2.5C9 2.22386 9.22386 2 9.5 2ZM2 9.5C2 9.22386 2.22386 9 2.5 9H5.5C5.77614 9 6 9.22386 6 9.5V12.5C6 12.7761 5.77614 13 5.5 13C5.22386 13 5 12.7761 5 12.5V10H2.5C2.22386 10 2 9.77614 2 9.5ZM9 9.5C9 9.22386 9.22386 9 9.5 9H12.5C12.7761 9 13 9.22386 13 9.5C13 9.77614 12.7761 10 12.5 10H10V12.5C10 12.7761 9.77614 13 9.5 13C9.22386 13 9 12.7761 9 12.5V9.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$23 = [\"color\"];\nvar ExternalLinkIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$23);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 2C2.44772 2 2 2.44772 2 3V12C2 12.5523 2.44772 13 3 13H12C12.5523 13 13 12.5523 13 12V8.5C13 8.22386 12.7761 8 12.5 8C12.2239 8 12 8.22386 12 8.5V12H3V3L6.5 3C6.77614 3 7 2.77614 7 2.5C7 2.22386 6.77614 2 6.5 2H3ZM12.8536 2.14645C12.9015 2.19439 12.9377 2.24964 12.9621 2.30861C12.9861 2.36669 12.9996 2.4303 13 2.497L13 2.5V2.50049V5.5C13 5.77614 12.7761 6 12.5 6C12.2239 6 12 5.77614 12 5.5V3.70711L6.85355 8.85355C6.65829 9.04882 6.34171 9.04882 6.14645 8.85355C5.95118 8.65829 5.95118 8.34171 6.14645 8.14645L11.2929 3H9.5C9.22386 3 9 2.77614 9 2.5C9 2.22386 9.22386 2 9.5 2H12.4999H12.5C12.5678 2 12.6324 2.01349 12.6914 2.03794C12.7504 2.06234 12.8056 2.09851 12.8536 2.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$24 = [\"color\"];\nvar EyeClosedIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$24);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14.7649 6.07596C14.9991 6.22231 15.0703 6.53079 14.9239 6.76495C14.4849 7.46743 13.9632 8.10645 13.3702 8.66305L14.5712 9.86406C14.7664 10.0593 14.7664 10.3759 14.5712 10.5712C14.3759 10.7664 14.0593 10.7664 13.8641 10.5712L12.6011 9.30817C11.805 9.90283 10.9089 10.3621 9.93375 10.651L10.383 12.3277C10.4544 12.5944 10.2961 12.8685 10.0294 12.94C9.76267 13.0115 9.4885 12.8532 9.41704 12.5865L8.95917 10.8775C8.48743 10.958 8.00036 10.9999 7.50001 10.9999C6.99965 10.9999 6.51257 10.958 6.04082 10.8775L5.58299 12.5864C5.51153 12.8532 5.23737 13.0115 4.97064 12.94C4.7039 12.8686 4.5456 12.5944 4.61706 12.3277L5.06625 10.651C4.09111 10.3621 3.19503 9.90282 2.3989 9.30815L1.1359 10.5712C0.940638 10.7664 0.624058 10.7664 0.428798 10.5712C0.233537 10.3759 0.233537 10.0593 0.428798 9.86405L1.62982 8.66303C1.03682 8.10643 0.515113 7.46742 0.0760677 6.76495C-0.0702867 6.53079 0.000898544 6.22231 0.235065 6.07596C0.469231 5.9296 0.777703 6.00079 0.924058 6.23496C1.40354 7.00213 1.989 7.68057 2.66233 8.2427C2.67315 8.25096 2.6837 8.25972 2.69397 8.26898C4.00897 9.35527 5.65537 9.99991 7.50001 9.99991C10.3078 9.99991 12.6564 8.5063 14.076 6.23495C14.2223 6.00079 14.5308 5.9296 14.7649 6.07596Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$25 = [\"color\"];\nvar EyeNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$25);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$26 = [\"color\"];\nvar EyeOpenIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$26);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$27 = [\"color\"];\nvar FaceIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$27);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82708 7.49972C1.82708 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82708 10.6327 1.82708 7.49972ZM5.03747 9.21395C4.87949 8.98746 4.56782 8.93193 4.34133 9.08991C4.11484 9.24789 4.05931 9.55956 4.21729 9.78605C4.93926 10.8211 6.14033 11.5 7.50004 11.5C8.85974 11.5 10.0608 10.8211 10.7828 9.78605C10.9408 9.55956 10.8852 9.24789 10.6587 9.08991C10.4323 8.93193 10.1206 8.98746 9.9626 9.21395C9.41963 9.99238 8.51907 10.5 7.50004 10.5C6.481 10.5 5.58044 9.99238 5.03747 9.21395ZM5.37503 6.84998C5.85828 6.84998 6.25003 6.45815 6.25003 5.97498C6.25003 5.4918 5.85828 5.09998 5.37503 5.09998C4.89179 5.09998 4.50003 5.4918 4.50003 5.97498C4.50003 6.45815 4.89179 6.84998 5.37503 6.84998ZM10.5 5.97498C10.5 6.45815 10.1083 6.84998 9.62503 6.84998C9.14179 6.84998 8.75003 6.45815 8.75003 5.97498C8.75003 5.4918 9.14179 5.09998 9.62503 5.09998C10.1083 5.09998 10.5 5.4918 10.5 5.97498Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$28 = [\"color\"];\nvar FigmaLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$28);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.00005 2.04999H5.52505C4.71043 2.04999 4.05005 2.71037 4.05005 3.52499C4.05005 4.33961 4.71043 4.99999 5.52505 4.99999H7.00005V2.04999ZM7.00005 1.04999H8.00005H9.47505C10.842 1.04999 11.95 2.15808 11.95 3.52499C11.95 4.33163 11.5642 5.04815 10.9669 5.49999C11.5642 5.95184 11.95 6.66836 11.95 7.475C11.95 8.8419 10.842 9.95 9.47505 9.95C8.92236 9.95 8.41198 9.76884 8.00005 9.46266V9.95L8.00005 11.425C8.00005 12.7919 6.89195 13.9 5.52505 13.9C4.15814 13.9 3.05005 12.7919 3.05005 11.425C3.05005 10.6183 3.43593 9.90184 4.03317 9.44999C3.43593 8.99814 3.05005 8.28163 3.05005 7.475C3.05005 6.66836 3.43594 5.95184 4.03319 5.5C3.43594 5.04815 3.05005 4.33163 3.05005 3.52499C3.05005 2.15808 4.15814 1.04999 5.52505 1.04999H7.00005ZM8.00005 2.04999V4.99999H9.47505C10.2897 4.99999 10.95 4.33961 10.95 3.52499C10.95 2.71037 10.2897 2.04999 9.47505 2.04999H8.00005ZM5.52505 8.94998H7.00005L7.00005 7.4788L7.00005 7.475L7.00005 7.4712V6H5.52505C4.71043 6 4.05005 6.66038 4.05005 7.475C4.05005 8.28767 4.70727 8.94684 5.5192 8.94999L5.52505 8.94998ZM4.05005 11.425C4.05005 10.6123 4.70727 9.95315 5.5192 9.94999L5.52505 9.95H7.00005L7.00005 11.425C7.00005 12.2396 6.33967 12.9 5.52505 12.9C4.71043 12.9 4.05005 12.2396 4.05005 11.425ZM8.00005 7.47206C8.00164 6.65879 8.66141 6 9.47505 6C10.2897 6 10.95 6.66038 10.95 7.475C10.95 8.28962 10.2897 8.95 9.47505 8.95C8.66141 8.95 8.00164 8.29121 8.00005 7.47794V7.47206Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$29 = [\"color\"];\nvar FileIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$29);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.5 2C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V6H8.5C8.22386 6 8 5.77614 8 5.5V2H3.5ZM9 2.70711L11.2929 5H9V2.70711ZM2 2.5C2 1.67157 2.67157 1 3.5 1H8.5C8.63261 1 8.75979 1.05268 8.85355 1.14645L12.8536 5.14645C12.9473 5.24021 13 5.36739 13 5.5V12.5C13 13.3284 12.3284 14 11.5 14H3.5C2.67157 14 2 13.3284 2 12.5V2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2a = [\"color\"];\nvar FileMinusIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2a);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 2.5C3 2.22386 3.22386 2 3.5 2H9.29289L12 4.70711V12.5C12 12.7761 11.7761 13 11.5 13H3.5C3.22386 13 3 12.7761 3 12.5V2.5ZM3.5 1C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V4.60355C13 4.40464 12.921 4.21388 12.7803 4.07322L9.85355 1.14645C9.75979 1.05268 9.63261 1 9.5 1H3.5ZM5.25 7C4.97386 7 4.75 7.22386 4.75 7.5C4.75 7.77614 4.97386 8 5.25 8H9.75C10.0261 8 10.25 7.77614 10.25 7.5C10.25 7.22386 10.0261 7 9.75 7H5.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2b = [\"color\"];\nvar FilePlusIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2b);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.5 2C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V4.70711L9.29289 2H3.5ZM2 2.5C2 1.67157 2.67157 1 3.5 1H9.5C9.63261 1 9.75979 1.05268 9.85355 1.14645L12.7803 4.07322C12.921 4.21388 13 4.40464 13 4.60355V12.5C13 13.3284 12.3284 14 11.5 14H3.5C2.67157 14 2 13.3284 2 12.5V2.5ZM4.75 7.5C4.75 7.22386 4.97386 7 5.25 7H7V5.25C7 4.97386 7.22386 4.75 7.5 4.75C7.77614 4.75 8 4.97386 8 5.25V7H9.75C10.0261 7 10.25 7.22386 10.25 7.5C10.25 7.77614 10.0261 8 9.75 8H8V9.75C8 10.0261 7.77614 10.25 7.5 10.25C7.22386 10.25 7 10.0261 7 9.75V8H5.25C4.97386 8 4.75 7.77614 4.75 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2c = [\"color\"];\nvar FileTextIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2c);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 2.5C3 2.22386 3.22386 2 3.5 2H9.08579C9.21839 2 9.34557 2.05268 9.43934 2.14645L11.8536 4.56066C11.9473 4.65443 12 4.78161 12 4.91421V12.5C12 12.7761 11.7761 13 11.5 13H3.5C3.22386 13 3 12.7761 3 12.5V2.5ZM3.5 1C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V4.91421C13 4.51639 12.842 4.13486 12.5607 3.85355L10.1464 1.43934C9.86514 1.15804 9.48361 1 9.08579 1H3.5ZM4.5 4C4.22386 4 4 4.22386 4 4.5C4 4.77614 4.22386 5 4.5 5H7.5C7.77614 5 8 4.77614 8 4.5C8 4.22386 7.77614 4 7.5 4H4.5ZM4.5 7C4.22386 7 4 7.22386 4 7.5C4 7.77614 4.22386 8 4.5 8H10.5C10.7761 8 11 7.77614 11 7.5C11 7.22386 10.7761 7 10.5 7H4.5ZM4.5 10C4.22386 10 4 10.2239 4 10.5C4 10.7761 4.22386 11 4.5 11H10.5C10.7761 11 11 10.7761 11 10.5C11 10.2239 10.7761 10 10.5 10H4.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2d = [\"color\"];\nvar FontBoldIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2d);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.10505 12C4.70805 12 4.4236 11.912 4.25171 11.736C4.0839 11.5559 4 11.2715 4 10.8827V4.11733C4 3.72033 4.08595 3.43588 4.25784 3.26398C4.43383 3.08799 4.71623 3 5.10505 3C6.42741 3 8.25591 3 9.02852 3C10.1373 3 11.0539 3.98153 11.0539 5.1846C11.0539 6.08501 10.6037 6.81855 9.70327 7.23602C10.8657 7.44851 11.5176 8.62787 11.5176 9.48128C11.5176 10.5125 10.9902 12 9.27734 12C8.77742 12 6.42626 12 5.10505 12ZM8.37891 8.00341H5.8V10.631H8.37891C8.9 10.631 9.6296 10.1211 9.6296 9.29877C9.6296 8.47643 8.9 8.00341 8.37891 8.00341ZM5.8 4.36903V6.69577H8.17969C8.53906 6.69577 9.27734 6.35939 9.27734 5.50002C9.27734 4.64064 8.48047 4.36903 8.17969 4.36903H5.8Z\",\n fill: color\n }));\n});\n\nvar _excluded$2e = [\"color\"];\nvar FontFamilyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2e);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.5 4.5C2.5 3.09886 3.59886 2 5 2H12.499C12.7752 2 13 2.22386 13 2.5C13 2.77614 12.7761 3 12.5 3H8.69244L8.40509 3.85458C8.18869 4.49752 7.89401 5.37197 7.58091 6.29794C7.50259 6.52956 7.42308 6.76453 7.34332 7H8.5C8.77614 7 9 7.22386 9 7.5C9 7.77614 8.77614 8 8.5 8H7.00407C6.56724 9.28543 6.16435 10.4613 5.95799 11.0386C5.63627 11.9386 5.20712 12.4857 4.66741 12.7778C4.16335 13.0507 3.64154 13.0503 3.28378 13.05L3.25 13.05C2.94624 13.05 2.7 12.8037 2.7 12.5C2.7 12.1962 2.94624 11.95 3.25 11.95C3.64182 11.95 3.9035 11.9405 4.14374 11.8105C4.36443 11.691 4.65532 11.4148 4.92217 10.6683C5.10695 10.1514 5.45375 9.14134 5.8422 8H4.5C4.22386 8 4 7.77614 4 7.5C4 7.22386 4.22386 7 4.5 7H6.18187C6.30127 6.64785 6.42132 6.29323 6.53887 5.94559C6.85175 5.02025 7.14627 4.14631 7.36256 3.50368L7.53192 3H5C4.15114 3 3.5 3.65114 3.5 4.5C3.5 4.77614 3.27614 5 3 5C2.72386 5 2.5 4.77614 2.5 4.5Z\",\n fill: color\n }));\n});\n\nvar _excluded$2f = [\"color\"];\nvar FontItalicIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2f);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.67494 3.50017C5.67494 3.25164 5.87641 3.05017 6.12494 3.05017H10.6249C10.8735 3.05017 11.0749 3.25164 11.0749 3.50017C11.0749 3.7487 10.8735 3.95017 10.6249 3.95017H9.00587L7.2309 11.05H8.87493C9.12345 11.05 9.32493 11.2515 9.32493 11.5C9.32493 11.7486 9.12345 11.95 8.87493 11.95H4.37493C4.1264 11.95 3.92493 11.7486 3.92493 11.5C3.92493 11.2515 4.1264 11.05 4.37493 11.05H5.99397L7.76894 3.95017H6.12494C5.87641 3.95017 5.67494 3.7487 5.67494 3.50017Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2g = [\"color\"];\nvar FontRomanIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2g);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.79993 3.50017C4.79993 3.25164 5.0014 3.05017 5.24993 3.05017H9.74993C9.99845 3.05017 10.1999 3.25164 10.1999 3.50017C10.1999 3.7487 9.99845 3.95017 9.74993 3.95017H8.09993V11.05H9.74994C9.99847 11.05 10.1999 11.2515 10.1999 11.5C10.1999 11.7486 9.99847 11.95 9.74994 11.95H5.24994C5.00141 11.95 4.79994 11.7486 4.79994 11.5C4.79994 11.2515 5.00141 11.05 5.24994 11.05H6.89993V3.95017H5.24993C5.0014 3.95017 4.79993 3.7487 4.79993 3.50017Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2h = [\"color\"];\nvar FontSizeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2h);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.78233 2.21707C2.70732 2.14206 2.60557 2.09991 2.49949 2.09991C2.3934 2.09991 2.29166 2.14206 2.21664 2.21707L0.216645 4.21707C0.0604351 4.37328 0.0604351 4.62655 0.216645 4.78276C0.372855 4.93897 0.626121 4.93897 0.78233 4.78276L2.09949 3.4656L2.09949 11.5342L0.78233 10.2171C0.62612 10.0609 0.372854 10.0609 0.216645 10.2171C0.0604349 10.3733 0.0604349 10.6265 0.216645 10.7828L2.21664 12.7828C2.29166 12.8578 2.3934 12.8999 2.49949 12.8999C2.60557 12.8999 2.70731 12.8578 2.78233 12.7828L4.78233 10.7828C4.93854 10.6265 4.93854 10.3733 4.78233 10.2171C4.62612 10.0609 4.37285 10.0609 4.21664 10.2171L2.89949 11.5342L2.89949 3.4656L4.21664 4.78276C4.37285 4.93897 4.62612 4.93897 4.78233 4.78276C4.93854 4.62655 4.93854 4.37328 4.78233 4.21707L2.78233 2.21707ZM10.5 2.74997C10.7107 2.74997 10.8988 2.88211 10.9703 3.08036L13.9703 11.3999C14.064 11.6597 13.9293 11.9462 13.6696 12.0399C13.4098 12.1336 13.1233 11.9989 13.0296 11.7392L12.0477 9.016H8.95228L7.97033 11.7392C7.87666 11.9989 7.59013 12.1336 7.33036 12.0399C7.07059 11.9462 6.93595 11.6597 7.02962 11.3999L10.0296 3.08036C10.1011 2.88211 10.2892 2.74997 10.5 2.74997ZM10.5 4.72396L11.7412 8.166H9.25879L10.5 4.72396Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2i = [\"color\"];\nvar FontStyleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2i);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.03791 9.98075C0.934777 9.6583 1.11603 9.37719 1.40005 9.24871C1.68408 9.12022 2.09463 9.13412 2.27071 9.45426C2.85393 10.5147 3.64599 10.7282 4.48665 10.7282C5.52721 10.7282 6.29659 10.2615 6.29659 9.45426C6.29659 8.8047 5.9119 8.46416 4.87134 8.14253L4.15872 7.92181C2.64518 7.44883 1.88842 6.69206 1.88842 5.45601C1.88842 3.79743 3.27583 2.6875 5.24342 2.6875C6.91733 2.6875 7.97409 3.33536 8.43833 4.31065C8.57087 4.58909 8.57614 4.91294 8.22794 5.19114C7.87974 5.46934 7.52351 5.34799 7.23327 5.03839C6.47215 4.22653 5.99545 4.04968 5.25604 4.04968C4.1398 4.04968 3.547 4.63618 3.547 5.27943C3.547 5.86592 3.96322 6.23169 4.94702 6.5344L5.67856 6.76143C7.22994 7.23441 7.97409 7.95964 7.97409 9.17047C7.97409 10.7723 6.69389 12.0903 4.46143 12.0903C2.86612 12.0903 1.40005 11.1131 1.03791 9.98075ZM11.8491 8.77985C10.661 8.39543 10.1649 7.86114 10.1649 6.98805C10.1649 5.86736 11.1636 5.04639 12.6128 5.04639C13.8546 5.04639 14.6629 5.63345 14.9778 6.6346C15.0443 6.84599 14.9593 6.98006 14.7475 7.0491C14.5394 7.11697 14.3176 7.09974 14.238 6.89611C13.9356 6.12273 13.352 5.76311 12.5998 5.76311C11.6467 5.76311 11.0135 6.25178 11.0135 6.91638C11.0135 7.45066 11.3464 7.75038 12.2473 8.04358L12.8348 8.23254C14.062 8.62999 14.5516 9.13821 14.5516 10.0178C14.5516 11.1972 13.481 12.0442 11.9927 12.0442C10.6439 12.0442 9.65644 11.2809 9.41979 10.3361C9.36535 10.1188 9.41192 10.0287 9.70039 9.96184C9.98886 9.89499 10.0714 9.89918 10.1715 10.1369C10.4555 10.8114 11.1531 11.3275 12.0318 11.3275C12.9914 11.3275 13.6834 10.7802 13.6834 10.0634C13.6834 9.53567 13.3961 9.28807 12.4366 8.97532L11.8491 8.77985Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2j = [\"color\"];\nvar FrameIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2j);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11 1.5C11 1.22386 10.7761 1 10.5 1C10.2239 1 10 1.22386 10 1.5V4H5V1.5C5 1.22386 4.77614 1 4.5 1C4.22386 1 4 1.22386 4 1.5V4H1.5C1.22386 4 1 4.22386 1 4.5C1 4.77614 1.22386 5 1.5 5H4V10H1.5C1.22386 10 1 10.2239 1 10.5C1 10.7761 1.22386 11 1.5 11H4V13.5C4 13.7761 4.22386 14 4.5 14C4.77614 14 5 13.7761 5 13.5V11H10V13.5C10 13.7761 10.2239 14 10.5 14C10.7761 14 11 13.7761 11 13.5V11H13.5C13.7761 11 14 10.7761 14 10.5C14 10.2239 13.7761 10 13.5 10H11V5H13.5C13.7761 5 14 4.77614 14 4.5C14 4.22386 13.7761 4 13.5 4H11V1.5ZM10 10V5H5V10H10Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2k = [\"color\"];\nvar FramerLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2k);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.3825 1.29567C3.46241 1.11432 3.64188 0.997284 3.84005 0.997284H11.5C11.7761 0.997284 12 1.22114 12 1.49728V5.5C12 5.77614 11.7761 6 11.5 6H8.63521L11.5288 9.16247C11.6626 9.3087 11.6974 9.52015 11.6175 9.70154C11.5376 9.88293 11.3582 10 11.16 10H8V13.5C8 13.7022 7.87818 13.8845 7.69134 13.9619C7.5045 14.0393 7.28945 13.9966 7.14645 13.8536L3.14645 9.85355C3.05268 9.75979 3 9.63261 3 9.5V5.5C3 5.22386 3.22386 5 3.5 5H6.36531L3.47105 1.83468C3.33732 1.68844 3.30259 1.47701 3.3825 1.29567ZM7.72032 5L4.97474 1.99728H11V5H7.72032ZM7.27978 6H4V9H7.5H10.0247L7.27978 6ZM4.70711 10L7 12.2929V10H4.70711Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2l = [\"color\"];\nvar GearIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2l);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.07095 0.650238C6.67391 0.650238 6.32977 0.925096 6.24198 1.31231L6.0039 2.36247C5.6249 2.47269 5.26335 2.62363 4.92436 2.81013L4.01335 2.23585C3.67748 2.02413 3.23978 2.07312 2.95903 2.35386L2.35294 2.95996C2.0722 3.2407 2.0232 3.6784 2.23493 4.01427L2.80942 4.92561C2.62307 5.2645 2.47227 5.62594 2.36216 6.00481L1.31209 6.24287C0.924883 6.33065 0.650024 6.6748 0.650024 7.07183V7.92897C0.650024 8.32601 0.924883 8.67015 1.31209 8.75794L2.36228 8.99603C2.47246 9.375 2.62335 9.73652 2.80979 10.0755L2.2354 10.9867C2.02367 11.3225 2.07267 11.7602 2.35341 12.041L2.95951 12.6471C3.24025 12.9278 3.67795 12.9768 4.01382 12.7651L4.92506 12.1907C5.26384 12.377 5.62516 12.5278 6.0039 12.6379L6.24198 13.6881C6.32977 14.0753 6.67391 14.3502 7.07095 14.3502H7.92809C8.32512 14.3502 8.66927 14.0753 8.75705 13.6881L8.99505 12.6383C9.37411 12.5282 9.73573 12.3773 10.0748 12.1909L10.986 12.7653C11.3218 12.977 11.7595 12.928 12.0403 12.6473L12.6464 12.0412C12.9271 11.7604 12.9761 11.3227 12.7644 10.9869L12.1902 10.076C12.3768 9.73688 12.5278 9.37515 12.638 8.99596L13.6879 8.75794C14.0751 8.67015 14.35 8.32601 14.35 7.92897V7.07183C14.35 6.6748 14.0751 6.33065 13.6879 6.24287L12.6381 6.00488C12.528 5.62578 12.3771 5.26414 12.1906 4.92507L12.7648 4.01407C12.9766 3.6782 12.9276 3.2405 12.6468 2.95975L12.0407 2.35366C11.76 2.07292 11.3223 2.02392 10.9864 2.23565L10.0755 2.80989C9.73622 2.62328 9.37437 2.47229 8.99505 2.36209L8.75705 1.31231C8.66927 0.925096 8.32512 0.650238 7.92809 0.650238H7.07095ZM4.92053 3.81251C5.44724 3.44339 6.05665 3.18424 6.71543 3.06839L7.07095 1.50024H7.92809L8.28355 3.06816C8.94267 3.18387 9.5524 3.44302 10.0794 3.81224L11.4397 2.9547L12.0458 3.56079L11.1882 4.92117C11.5573 5.44798 11.8164 6.0575 11.9321 6.71638L13.5 7.07183V7.92897L11.932 8.28444C11.8162 8.94342 11.557 9.55301 11.1878 10.0798L12.0453 11.4402L11.4392 12.0462L10.0787 11.1886C9.55192 11.5576 8.94241 11.8166 8.28355 11.9323L7.92809 13.5002H7.07095L6.71543 11.932C6.0569 11.8162 5.44772 11.5572 4.92116 11.1883L3.56055 12.046L2.95445 11.4399L3.81213 10.0794C3.4431 9.55266 3.18403 8.94326 3.06825 8.2845L1.50002 7.92897V7.07183L3.06818 6.71632C3.18388 6.05765 3.44283 5.44833 3.81171 4.92165L2.95398 3.561L3.56008 2.95491L4.92053 3.81251ZM9.02496 7.50008C9.02496 8.34226 8.34223 9.02499 7.50005 9.02499C6.65786 9.02499 5.97513 8.34226 5.97513 7.50008C5.97513 6.65789 6.65786 5.97516 7.50005 5.97516C8.34223 5.97516 9.02496 6.65789 9.02496 7.50008ZM9.92496 7.50008C9.92496 8.83932 8.83929 9.92499 7.50005 9.92499C6.1608 9.92499 5.07513 8.83932 5.07513 7.50008C5.07513 6.16084 6.1608 5.07516 7.50005 5.07516C8.83929 5.07516 9.92496 6.16084 9.92496 7.50008Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2m = [\"color\"];\nvar GitHubLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2m);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49933 0.25C3.49635 0.25 0.25 3.49593 0.25 7.50024C0.25 10.703 2.32715 13.4206 5.2081 14.3797C5.57084 14.446 5.70302 14.2222 5.70302 14.0299C5.70302 13.8576 5.69679 13.4019 5.69323 12.797C3.67661 13.235 3.25112 11.825 3.25112 11.825C2.92132 10.9874 2.44599 10.7644 2.44599 10.7644C1.78773 10.3149 2.49584 10.3238 2.49584 10.3238C3.22353 10.375 3.60629 11.0711 3.60629 11.0711C4.25298 12.1788 5.30335 11.8588 5.71638 11.6732C5.78225 11.205 5.96962 10.8854 6.17658 10.7043C4.56675 10.5209 2.87415 9.89918 2.87415 7.12104C2.87415 6.32925 3.15677 5.68257 3.62053 5.17563C3.54576 4.99226 3.29697 4.25521 3.69174 3.25691C3.69174 3.25691 4.30015 3.06196 5.68522 3.99973C6.26337 3.83906 6.8838 3.75895 7.50022 3.75583C8.1162 3.75895 8.73619 3.83906 9.31523 3.99973C10.6994 3.06196 11.3069 3.25691 11.3069 3.25691C11.7026 4.25521 11.4538 4.99226 11.3795 5.17563C11.8441 5.68257 12.1245 6.32925 12.1245 7.12104C12.1245 9.9063 10.4292 10.5192 8.81452 10.6985C9.07444 10.9224 9.30633 11.3648 9.30633 12.0413C9.30633 13.0102 9.29742 13.7922 9.29742 14.0299C9.29742 14.2239 9.42828 14.4496 9.79591 14.3788C12.6746 13.4179 14.75 10.7025 14.75 7.50024C14.75 3.49593 11.5036 0.25 7.49933 0.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2n = [\"color\"];\nvar GlobeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2n);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49996 1.80002C4.35194 1.80002 1.79996 4.352 1.79996 7.50002C1.79996 10.648 4.35194 13.2 7.49996 13.2C10.648 13.2 13.2 10.648 13.2 7.50002C13.2 4.352 10.648 1.80002 7.49996 1.80002ZM0.899963 7.50002C0.899963 3.85494 3.85488 0.900024 7.49996 0.900024C11.145 0.900024 14.1 3.85494 14.1 7.50002C14.1 11.1451 11.145 14.1 7.49996 14.1C3.85488 14.1 0.899963 11.1451 0.899963 7.50002Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M13.4999 7.89998H1.49994V7.09998H13.4999V7.89998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M7.09991 13.5V1.5H7.89991V13.5H7.09991zM10.375 7.49998C10.375 5.32724 9.59364 3.17778 8.06183 1.75656L8.53793 1.24341C10.2396 2.82218 11.075 5.17273 11.075 7.49998 11.075 9.82724 10.2396 12.1778 8.53793 13.7566L8.06183 13.2434C9.59364 11.8222 10.375 9.67273 10.375 7.49998zM3.99969 7.5C3.99969 5.17611 4.80786 2.82678 6.45768 1.24719L6.94177 1.75281C5.4582 3.17323 4.69969 5.32389 4.69969 7.5 4.6997 9.67611 5.45822 11.8268 6.94179 13.2472L6.45769 13.7528C4.80788 12.1732 3.9997 9.8239 3.99969 7.5z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M7.49996 3.95801C9.66928 3.95801 11.8753 4.35915 13.3706 5.19448 13.5394 5.28875 13.5998 5.50197 13.5055 5.67073 13.4113 5.83948 13.198 5.89987 13.0293 5.8056 11.6794 5.05155 9.60799 4.65801 7.49996 4.65801 5.39192 4.65801 3.32052 5.05155 1.97064 5.8056 1.80188 5.89987 1.58866 5.83948 1.49439 5.67073 1.40013 5.50197 1.46051 5.28875 1.62927 5.19448 3.12466 4.35915 5.33063 3.95801 7.49996 3.95801zM7.49996 10.85C9.66928 10.85 11.8753 10.4488 13.3706 9.6135 13.5394 9.51924 13.5998 9.30601 13.5055 9.13726 13.4113 8.9685 13.198 8.90812 13.0293 9.00238 11.6794 9.75643 9.60799 10.15 7.49996 10.15 5.39192 10.15 3.32052 9.75643 1.97064 9.00239 1.80188 8.90812 1.58866 8.9685 1.49439 9.13726 1.40013 9.30601 1.46051 9.51924 1.62927 9.6135 3.12466 10.4488 5.33063 10.85 7.49996 10.85z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2o = [\"color\"];\nvar GridIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2o);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.5 2H8V7H13V2.5C13 2.22386 12.7761 2 12.5 2ZM13 8H8V13H12.5C12.7761 13 13 12.7761 13 12.5V8ZM7 7V2H2.5C2.22386 2 2 2.22386 2 2.5V7H7ZM2 8V12.5C2 12.7761 2.22386 13 2.5 13H7V8H2ZM2.5 1C1.67157 1 1 1.67157 1 2.5V12.5C1 13.3284 1.67157 14 2.5 14H12.5C13.3284 14 14 13.3284 14 12.5V2.5C14 1.67157 13.3284 1 12.5 1H2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2p = [\"color\"];\nvar GroupIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2p);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.44995 0.949951C1.31734 0.949951 1.19016 1.00263 1.0964 1.0964C1.00263 1.19017 0.949951 1.31735 0.949951 1.44995L0.949966 3.44995C0.949969 3.7261 1.17383 3.94995 1.44997 3.94995C1.72611 3.94995 1.94997 3.72609 1.94997 3.44995L1.94995 1.94995H3.44997C3.72611 1.94995 3.94997 1.72609 3.94997 1.44995C3.94997 1.17381 3.72611 0.949951 3.44997 0.949951H1.44995ZM5.94995 0.949951C5.67381 0.949951 5.44995 1.17381 5.44995 1.44995C5.44995 1.72609 5.67381 1.94995 5.94995 1.94995H8.94995C9.22609 1.94995 9.44995 1.72609 9.44995 1.44995C9.44995 1.17381 9.22609 0.949951 8.94995 0.949951H5.94995ZM5.44995 13.45C5.44995 13.1738 5.67381 12.95 5.94995 12.95H8.94995C9.22609 12.95 9.44995 13.1738 9.44995 13.45C9.44995 13.7261 9.22609 13.95 8.94995 13.95H5.94995C5.67381 13.95 5.44995 13.7261 5.44995 13.45ZM1.94995 5.94995C1.94995 5.67381 1.72609 5.44995 1.44995 5.44995C1.17381 5.44995 0.949951 5.67381 0.949951 5.94995V8.94995C0.949951 9.22609 1.17381 9.44995 1.44995 9.44995C1.72609 9.44995 1.94995 9.22609 1.94995 8.94995V5.94995ZM13.45 5.44995C13.7261 5.44995 13.95 5.67381 13.95 5.94995V8.94995C13.95 9.22609 13.7261 9.44995 13.45 9.44995C13.1738 9.44995 12.95 9.22609 12.95 8.94995V5.94995C12.95 5.67381 13.1738 5.44995 13.45 5.44995ZM11.45 0.949951C11.1738 0.949951 10.95 1.17381 10.95 1.44995C10.95 1.72609 11.1738 1.94995 11.45 1.94995H12.9499V3.44995C12.9499 3.72609 13.1738 3.94995 13.4499 3.94995C13.7261 3.94995 13.9499 3.72609 13.9499 3.44995V1.44995C13.9499 1.17381 13.7252 0.949951 13.449 0.949951H11.45ZM1.44995 10.95C1.72609 10.95 1.94995 11.1738 1.94995 11.45V12.95H3.44997C3.72611 12.95 3.94997 13.1738 3.94997 13.45C3.94997 13.7261 3.72611 13.95 3.44997 13.95H1.44995C1.17381 13.95 0.949951 13.7261 0.949951 13.45V11.45C0.949951 11.1738 1.17381 10.95 1.44995 10.95ZM13.95 11.45C13.95 11.1738 13.7261 10.95 13.45 10.95C13.1738 10.9499 12.95 11.1738 12.95 11.4499L12.9491 12.95H11.45C11.1738 12.95 10.95 13.1738 10.95 13.45C10.95 13.7261 11.1738 13.95 11.45 13.95H13.4499C13.7261 13.95 13.9499 13.7261 13.9499 13.45L13.95 11.45Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2q = [\"color\"];\nvar Half1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM7.00003 1.84861C4.10114 2.1017 1.82707 4.53515 1.82707 7.49972C1.82707 10.4643 4.10114 12.8977 7.00003 13.1508V1.84861ZM8.00003 13.1508C10.8988 12.8976 13.1727 10.4642 13.1727 7.49972C13.1727 4.53524 10.8988 2.10185 8.00003 1.84864V13.1508Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2r = [\"color\"];\nvar Half2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2r);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM7.49988 1.82689C4.36688 1.8269 1.82707 4.36672 1.82707 7.49972C1.82707 10.6327 4.36688 13.1725 7.49988 13.1726V1.82689Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2s = [\"color\"];\nvar HamburgerMenuIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2s);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.5 3C1.22386 3 1 3.22386 1 3.5C1 3.77614 1.22386 4 1.5 4H13.5C13.7761 4 14 3.77614 14 3.5C14 3.22386 13.7761 3 13.5 3H1.5ZM1 7.5C1 7.22386 1.22386 7 1.5 7H13.5C13.7761 7 14 7.22386 14 7.5C14 7.77614 13.7761 8 13.5 8H1.5C1.22386 8 1 7.77614 1 7.5ZM1 11.5C1 11.2239 1.22386 11 1.5 11H13.5C13.7761 11 14 11.2239 14 11.5C14 11.7761 13.7761 12 13.5 12H1.5C1.22386 12 1 11.7761 1 11.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2t = [\"color\"];\nvar HandIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2t);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.8113 1.64706C6.62188 2.87918 6.68268 3.88523 6.76848 5.30499C6.78415 5.56426 6.80065 5.83732 6.81661 6.12808C6.83111 6.39208 6.63758 6.62172 6.37495 6.65217C6.11232 6.68262 5.87138 6.50334 5.82509 6.24304L5.74754 5.80698C5.64402 5.16529 5.48355 4.25481 5.17807 3.44741C4.86241 2.61312 4.4486 2.04121 3.93436 1.86044C3.64994 1.76104 3.41901 1.84279 3.25868 2.01052C3.08746 2.18962 2.9976 2.47065 3.0627 2.75399C3.2146 3.34424 3.44627 3.9167 3.69836 4.51802C3.72082 4.57158 3.74346 4.62543 3.76621 4.67954C3.9954 5.22457 4.23619 5.7972 4.41644 6.39081L4.41691 6.39238C4.562 6.87586 4.65646 7.2595 4.73086 7.56165C4.76034 7.68138 4.78667 7.78831 4.81175 7.88359C4.86768 8.09606 4.77836 8.32014 4.59161 8.43588C4.40486 8.55161 4.16445 8.53188 3.99907 8.38725C3.73749 8.15848 3.515 7.92784 3.31817 7.71802C3.27627 7.67335 3.23602 7.63018 3.19705 7.58838C3.04777 7.42826 2.91712 7.28812 2.78334 7.16029C2.45989 6.85122 2.18398 6.68004 1.80585 6.64369L1.80324 6.64343C1.56117 6.61888 1.41402 6.66441 1.31756 6.72627C1.21899 6.78947 1.11988 6.90414 1.03784 7.1123C0.976576 7.28492 1.01515 7.62987 1.1929 7.96911L1.19728 7.97747C1.40086 8.38452 1.74475 8.81587 2.18141 9.29299C2.39739 9.52898 2.62872 9.76849 2.86934 10.0174L2.87966 10.0281C3.11546 10.2721 3.35962 10.5247 3.59713 10.7827C4.4288 11.6863 5.27706 12.7538 5.4627 14H11.5087C11.5636 12.4353 11.8756 11.268 12.2875 10.1346C12.4454 9.70041 12.6121 9.28412 12.7826 8.85829C13.1097 8.04139 13.4509 7.18937 13.7705 6.10824C14.0989 4.99737 14.0097 4.37033 13.8613 4.03984C13.717 3.71858 13.4914 3.61786 13.3816 3.59606C13.1381 3.54774 13.0384 3.60947 12.9698 3.67901C12.867 3.78316 12.7698 3.98273 12.6921 4.30269C12.6166 4.61345 12.5752 4.96517 12.533 5.32501L12.5298 5.35285C12.4924 5.67242 12.4505 6.03016 12.3665 6.30098C12.3383 6.40699 12.2819 6.50407 12.1979 6.57539C12.1382 6.6261 12.0104 6.70818 11.8309 6.69312C11.5424 6.66891 11.3712 6.42143 11.365 6.14783C11.356 5.75454 11.3883 5.35864 11.4074 4.96608C11.4428 4.23646 11.477 3.5337 11.4245 2.8342L11.4242 2.82934C11.3916 2.32997 11.0493 2.00228 10.7007 1.9228C10.5305 1.88401 10.369 1.90601 10.2347 1.9835C10.103 2.05946 9.95535 2.21318 9.8574 2.51394L9.85631 2.51726C9.81525 2.6404 9.77298 2.87753 9.73606 3.2124C9.70044 3.53542 9.67337 3.91279 9.65156 4.29418C9.6329 4.62033 9.61785 4.9584 9.60434 5.26194C9.58728 5.64529 9.57267 5.97357 9.55633 6.1532C9.54983 6.22459 9.52939 6.29493 9.49501 6.35785C9.47356 6.39711 9.36115 6.60947 9.07106 6.61843C8.77917 6.62744 8.63975 6.40057 8.61698 6.35919C8.55634 6.24899 8.55066 6.11807 8.54754 5.99283C8.54474 5.88064 8.54294 5.71798 8.54174 5.54767C8.53935 5.20582 8.53935 4.81919 8.53935 4.70952C8.53935 3.6657 8.53838 2.65372 8.44714 1.64372C8.39183 1.24127 8.06278 1.00455 7.6436 1.00005C7.22399 0.995552 6.87918 1.22704 6.8113 1.64706ZM9.41219 1.3617C9.21469 0.448484 8.39913 0.00810324 7.65433 0.00011154C6.86452 -0.00836308 5.98761 0.465881 5.82365 1.49037L5.82318 1.49334C5.78239 1.7584 5.75229 2.01481 5.7309 2.26652C5.39423 1.67364 4.92622 1.14894 4.2655 0.916859C3.58661 0.679312 2.9492 0.887087 2.53582 1.31952C2.13415 1.73971 1.94438 2.36742 2.09031 2.98746L2.09269 2.99713C2.26478 3.66808 2.52396 4.30316 2.77613 4.90465C2.79814 4.95717 2.8201 5.00941 2.84194 5.06139C3.02139 5.48842 3.19378 5.89866 3.33871 6.31256C2.96404 5.98142 2.51925 5.70796 1.90276 5.6484C1.48865 5.60663 1.10391 5.67536 0.777805 5.88444C0.454239 6.0919 0.240671 6.40405 0.104187 6.75406L0.100868 6.76281C-0.10184 7.31286 0.0663312 7.97157 0.304895 8.42897C0.573704 8.96474 0.996104 9.47904 1.44372 9.96813C1.67046 10.2159 1.91136 10.4652 2.15033 10.7124L2.15682 10.7191C2.39524 10.9658 2.63217 11.2109 2.86134 11.4599C3.80937 12.49 4.50002 13.4632 4.50002 14.5C4.50002 14.7761 4.72388 15 5.00002 15H12C12.2762 15 12.5 14.7761 12.5 14.5C12.5 12.8212 12.8021 11.6462 13.2274 10.4762C13.3653 10.0968 13.5216 9.70579 13.6868 9.29247C14.0238 8.44922 14.398 7.51298 14.7295 6.39175C15.0956 5.15324 15.0559 4.25904 14.7735 3.63017C14.487 2.99208 13.9798 2.6953 13.5763 2.6152C13.1276 2.52614 12.7367 2.60475 12.4268 2.83081C12.4253 2.80773 12.4236 2.78468 12.4219 2.76167C12.3587 1.8105 11.6907 1.12285 10.923 0.947821C10.5346 0.859287 10.1111 0.900393 9.73509 1.11724C9.61852 1.18446 9.51055 1.26623 9.41219 1.3617Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2u = [\"color\"];\nvar HeadingIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2u);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.75432 2.0502C8.50579 2.0502 8.30432 2.25167 8.30432 2.5002C8.30432 2.74873 8.50579 2.9502 8.75432 2.9502H9.94997V7.05004H5.04997V2.9502H6.25432C6.50285 2.9502 6.70432 2.74873 6.70432 2.5002C6.70432 2.25167 6.50285 2.0502 6.25432 2.0502H2.75432C2.50579 2.0502 2.30432 2.25167 2.30432 2.5002C2.30432 2.74873 2.50579 2.9502 2.75432 2.9502H3.94997V12.0502H2.75432C2.50579 12.0502 2.30432 12.2517 2.30432 12.5002C2.30432 12.7487 2.50579 12.9502 2.75432 12.9502H6.25432C6.50285 12.9502 6.70432 12.7487 6.70432 12.5002C6.70432 12.2517 6.50285 12.0502 6.25432 12.0502H5.04997V7.95004H9.94997V12.0502H8.75432C8.50579 12.0502 8.30432 12.2517 8.30432 12.5002C8.30432 12.7487 8.50579 12.9502 8.75432 12.9502H12.2543C12.5028 12.9502 12.7043 12.7487 12.7043 12.5002C12.7043 12.2517 12.5028 12.0502 12.2543 12.0502H11.05V2.9502H12.2543C12.5028 2.9502 12.7043 2.74873 12.7043 2.5002C12.7043 2.25167 12.5028 2.0502 12.2543 2.0502H8.75432Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2v = [\"color\"];\nvar HeartIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2v);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.89346 2.35248C3.49195 2.35248 2.35248 3.49359 2.35248 4.90532C2.35248 6.38164 3.20954 7.9168 4.37255 9.33522C5.39396 10.581 6.59464 11.6702 7.50002 12.4778C8.4054 11.6702 9.60608 10.581 10.6275 9.33522C11.7905 7.9168 12.6476 6.38164 12.6476 4.90532C12.6476 3.49359 11.5081 2.35248 10.1066 2.35248C9.27059 2.35248 8.81894 2.64323 8.5397 2.95843C8.27877 3.25295 8.14623 3.58566 8.02501 3.88993C8.00391 3.9429 7.98315 3.99501 7.96211 4.04591C7.88482 4.23294 7.7024 4.35494 7.50002 4.35494C7.29765 4.35494 7.11523 4.23295 7.03793 4.04592C7.01689 3.99501 6.99612 3.94289 6.97502 3.8899C6.8538 3.58564 6.72126 3.25294 6.46034 2.95843C6.18109 2.64323 5.72945 2.35248 4.89346 2.35248ZM1.35248 4.90532C1.35248 2.94498 2.936 1.35248 4.89346 1.35248C6.0084 1.35248 6.73504 1.76049 7.20884 2.2953C7.32062 2.42147 7.41686 2.55382 7.50002 2.68545C7.58318 2.55382 7.67941 2.42147 7.79119 2.2953C8.265 1.76049 8.99164 1.35248 10.1066 1.35248C12.064 1.35248 13.6476 2.94498 13.6476 4.90532C13.6476 6.74041 12.6013 8.50508 11.4008 9.96927C10.2636 11.3562 8.92194 12.5508 8.00601 13.3664C7.94645 13.4194 7.88869 13.4709 7.83291 13.5206C7.64324 13.6899 7.3568 13.6899 7.16713 13.5206C7.11135 13.4709 7.05359 13.4194 6.99403 13.3664C6.0781 12.5508 4.73641 11.3562 3.59926 9.96927C2.39872 8.50508 1.35248 6.74041 1.35248 4.90532Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2w = [\"color\"];\nvar HeartFilledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2w);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.35248 4.90532C1.35248 2.94498 2.936 1.35248 4.89346 1.35248C6.25769 1.35248 6.86058 1.92336 7.50002 2.93545C8.13946 1.92336 8.74235 1.35248 10.1066 1.35248C12.064 1.35248 13.6476 2.94498 13.6476 4.90532C13.6476 6.74041 12.6013 8.50508 11.4008 9.96927C10.2636 11.3562 8.92194 12.5508 8.00601 13.3664C7.94645 13.4194 7.88869 13.4709 7.83291 13.5206C7.64324 13.6899 7.3568 13.6899 7.16713 13.5206C7.11135 13.4709 7.05359 13.4194 6.99403 13.3664C6.0781 12.5508 4.73641 11.3562 3.59926 9.96927C2.39872 8.50508 1.35248 6.74041 1.35248 4.90532Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2x = [\"color\"];\nvar HeightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2x);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.1813 1.68179C7.35704 1.50605 7.64196 1.50605 7.8177 1.68179L10.3177 4.18179C10.4934 4.35753 10.4934 4.64245 10.3177 4.81819C10.142 4.99392 9.85704 4.99392 9.6813 4.81819L7.9495 3.08638L7.9495 11.9136L9.6813 10.1818C9.85704 10.0061 10.142 10.0061 10.3177 10.1818C10.4934 10.3575 10.4934 10.6424 10.3177 10.8182L7.8177 13.3182C7.73331 13.4026 7.61885 13.45 7.4995 13.45C7.38015 13.45 7.26569 13.4026 7.1813 13.3182L4.6813 10.8182C4.50557 10.6424 4.50557 10.3575 4.6813 10.1818C4.85704 10.0061 5.14196 10.0061 5.3177 10.1818L7.0495 11.9136L7.0495 3.08638L5.3177 4.81819C5.14196 4.99392 4.85704 4.99392 4.6813 4.81819C4.50557 4.64245 4.50557 4.35753 4.6813 4.18179L7.1813 1.68179Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2y = [\"color\"];\nvar HobbyKnifeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.3536 13.3536C12.1583 13.5488 11.8417 13.5488 11.6465 13.3536L6.39645 8.10355C6.36478 8.07188 6.33824 8.03702 6.31685 8H5.00002C4.78719 8 4.59769 7.86528 4.52777 7.66426L2.12777 0.764277C2.05268 0.548387 2.13355 0.309061 2.3242 0.182972C2.51486 0.0568819 2.76674 0.0761337 2.93602 0.229734L8.336 5.12972C8.44044 5.22449 8.50001 5.35897 8.50001 5.5V5.81684C8.53702 5.83824 8.57189 5.86478 8.60356 5.89645L13.8536 11.1464C14.0488 11.3417 14.0488 11.6583 13.8536 11.8536L12.3536 13.3536ZM8.25 6.95711L7.45711 7.75L12 12.2929L12.7929 11.5L8.25 6.95711ZM3.71669 2.28845L5.35549 7H6.2929L7.50001 5.79289V5.72146L3.71669 2.28845Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2z = [\"color\"];\nvar HomeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.07926 0.222253C7.31275 -0.007434 7.6873 -0.007434 7.92079 0.222253L14.6708 6.86227C14.907 7.09465 14.9101 7.47453 14.6778 7.71076C14.4454 7.947 14.0655 7.95012 13.8293 7.71773L13 6.90201V12.5C13 12.7761 12.7762 13 12.5 13H2.50002C2.22388 13 2.00002 12.7761 2.00002 12.5V6.90201L1.17079 7.71773C0.934558 7.95012 0.554672 7.947 0.32229 7.71076C0.0899079 7.47453 0.0930283 7.09465 0.32926 6.86227L7.07926 0.222253ZM7.50002 1.49163L12 5.91831V12H10V8.49999C10 8.22385 9.77617 7.99999 9.50002 7.99999H6.50002C6.22388 7.99999 6.00002 8.22385 6.00002 8.49999V12H3.00002V5.91831L7.50002 1.49163ZM7.00002 12H9.00002V8.99999H7.00002V12Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2A = [\"color\"];\nvar IconJarLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2A);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 0.0032959C6.80473 0.0032959 6.24953 0.281106 6.25 0.749995C6.25 0.997258 6.42446 1.12014 6.57687 1.22749C6.69507 1.31074 6.8 1.38465 6.8 1.5C6.8 1.7071 6.06224 1.74264 5.19789 1.78427C3.97553 1.84314 2.5 1.91421 2.5 2.5C2.5 2.77614 2.72386 3 3 3H12C12.2761 3 12.5 2.77614 12.5 2.5C12.5 1.91421 11.0245 1.84314 9.80211 1.78427C8.93776 1.74264 8.2 1.7071 8.2 1.5C8.2 1.38465 8.30493 1.31074 8.42313 1.22749C8.57554 1.12014 8.75 0.997258 8.75 0.749995C8.75047 0.281106 8.19527 0.0032959 7.5 0.0032959ZM2.89451 6.12266C2.25806 6.52471 1.90417 7.31118 2.02473 8.0556L2.83588 12.4772C3.00993 13.3562 3.7629 14 4.66061 14H10.3373C11.2354 14 11.9884 13.3562 12.1625 12.4772L12.9736 8.05607C13.089 7.32358 12.8284 6.53276 12.1331 6.09373C11.7283 5.83013 11.6412 5.33231 12.1331 5.12796C12.8284 4.86435 12.6948 4 12 4H10.3001H6.80005H2.99996C2.30469 4 2.19878 4.89328 2.89451 5.15689C3.38642 5.33231 3.29939 5.83013 2.89451 6.12266ZM8.20006 6.25C8.20006 5.81769 8.08572 5.37615 7.90635 5L4.11093 5C4.20626 5.21312 4.2419 5.43889 4.22904 5.65521C4.19522 6.22412 3.84587 6.66899 3.48016 6.93322L3.45492 6.95146L3.42858 6.9681C3.13407 7.15414 2.95801 7.53989 3.01058 7.88749L3.81797 12.2886C3.90513 12.7154 4.26148 13 4.66061 13H10.3373C10.737 13 11.0932 12.7153 11.1804 12.2886L11.9874 7.8898C12.048 7.48247 11.8954 7.12631 11.5992 6.93927L11.5875 6.93184L11.5875 6.93176C11.1947 6.67602 10.8331 6.22785 10.7986 5.64798C10.7846 5.412 10.8264 5.19397 10.9112 5H9.05517C9.01987 5.14611 9.00006 5.31201 9.00006 5.5C9.00006 5.9745 9.21679 6.37127 9.44367 6.78662C9.69284 7.24278 9.95425 7.72136 9.95425 8.34993C9.95425 9.2698 9.49868 9.84205 8.62189 9.84205C8.13206 9.84205 7.57818 9.46097 7.57818 8.75781C7.57818 8.35279 7.71558 8.01646 7.86121 7.65998C8.0254 7.25806 8.20006 6.83051 8.20006 6.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2B = [\"color\"];\nvar IdCardIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2B);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14 11.0001V4.00006L1 4.00006L1 11.0001H14ZM15 4.00006V11.0001C15 11.5523 14.5523 12.0001 14 12.0001H1C0.447715 12.0001 0 11.5523 0 11.0001V4.00006C0 3.44778 0.447715 3.00006 1 3.00006H14C14.5523 3.00006 15 3.44778 15 4.00006ZM2 5.25C2 5.11193 2.11193 5 2.25 5H5.75C5.88807 5 6 5.11193 6 5.25V9.75C6 9.88807 5.88807 10 5.75 10H2.25C2.11193 10 2 9.88807 2 9.75V5.25ZM7.5 7C7.22386 7 7 7.22386 7 7.5C7 7.77614 7.22386 8 7.5 8H10.5C10.7761 8 11 7.77614 11 7.5C11 7.22386 10.7761 7 10.5 7H7.5ZM7 9.5C7 9.22386 7.22386 9 7.5 9H12.5C12.7761 9 13 9.22386 13 9.5C13 9.77614 12.7761 10 12.5 10H7.5C7.22386 10 7 9.77614 7 9.5ZM7.5 5C7.22386 5 7 5.22386 7 5.5C7 5.77614 7.22386 6 7.5 6H11.5C11.7761 6 12 5.77614 12 5.5C12 5.22386 11.7761 5 11.5 5H7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2C = [\"color\"];\nvar ImageIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2C);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5C1 1.67157 1.67157 1 2.5 1ZM2.5 2C2.22386 2 2 2.22386 2 2.5V8.3636L3.6818 6.6818C3.76809 6.59551 3.88572 6.54797 4.00774 6.55007C4.12975 6.55216 4.24568 6.60372 4.32895 6.69293L7.87355 10.4901L10.6818 7.6818C10.8575 7.50607 11.1425 7.50607 11.3182 7.6818L13 9.3636V2.5C13 2.22386 12.7761 2 12.5 2H2.5ZM2 12.5V9.6364L3.98887 7.64753L7.5311 11.4421L8.94113 13H2.5C2.22386 13 2 12.7761 2 12.5ZM12.5 13H10.155L8.48336 11.153L11 8.6364L13 10.6364V12.5C13 12.7761 12.7761 13 12.5 13ZM6.64922 5.5C6.64922 5.03013 7.03013 4.64922 7.5 4.64922C7.96987 4.64922 8.35078 5.03013 8.35078 5.5C8.35078 5.96987 7.96987 6.35078 7.5 6.35078C7.03013 6.35078 6.64922 5.96987 6.64922 5.5ZM7.5 3.74922C6.53307 3.74922 5.74922 4.53307 5.74922 5.5C5.74922 6.46693 6.53307 7.25078 7.5 7.25078C8.46693 7.25078 9.25078 6.46693 9.25078 5.5C9.25078 4.53307 8.46693 3.74922 7.5 3.74922Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2D = [\"color\"];\nvar InfoCircledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2D);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2E = [\"color\"];\nvar InputIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2E);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.5 1C6.22386 1 6 1.22386 6 1.5C6 1.77614 6.22386 2 6.5 2C7.12671 2 7.45718 2.20028 7.65563 2.47812C7.8781 2.78957 8 3.28837 8 4V11C8 11.7116 7.8781 12.2104 7.65563 12.5219C7.45718 12.7997 7.12671 13 6.5 13C6.22386 13 6 13.2239 6 13.5C6 13.7761 6.22386 14 6.5 14C7.37329 14 8.04282 13.7003 8.46937 13.1031C8.47976 13.0886 8.48997 13.0739 8.5 13.0591C8.51003 13.0739 8.52024 13.0886 8.53063 13.1031C8.95718 13.7003 9.62671 14 10.5 14C10.7761 14 11 13.7761 11 13.5C11 13.2239 10.7761 13 10.5 13C9.87329 13 9.54282 12.7997 9.34437 12.5219C9.1219 12.2104 9 11.7116 9 11V4C9 3.28837 9.1219 2.78957 9.34437 2.47812C9.54282 2.20028 9.87329 2 10.5 2C10.7761 2 11 1.77614 11 1.5C11 1.22386 10.7761 1 10.5 1C9.62671 1 8.95718 1.29972 8.53063 1.89688C8.52024 1.91143 8.51003 1.92611 8.5 1.9409C8.48997 1.92611 8.47976 1.91143 8.46937 1.89688C8.04282 1.29972 7.37329 1 6.5 1ZM14 5H11V4H14C14.5523 4 15 4.44772 15 5V10C15 10.5523 14.5523 11 14 11H11V10H14V5ZM6 4V5H1L1 10H6V11H1C0.447715 11 0 10.5523 0 10V5C0 4.44772 0.447715 4 1 4H6Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2F = [\"color\"];\nvar InstagramLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2F);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.9091 12.909C13.2365 12.5817 13.4918 12.1895 13.6588 11.7577C13.8195 11.3443 13.9294 10.8718 13.961 10.1799C13.9926 9.48665 14.0001 9.26529 14.0001 7.50001C14.0001 5.73473 13.9926 5.51328 13.961 4.82008C13.9294 4.12821 13.8195 3.65573 13.6588 3.24228C13.4956 2.80857 13.2398 2.41567 12.9091 2.091C12.5844 1.76028 12.1915 1.50437 11.7578 1.34113C11.3443 1.18056 10.8718 1.0707 10.1799 1.03924C9.48675 1.00748 9.26537 1 7.50006 1C5.73476 1 5.51333 1.00748 4.82014 1.03912C4.12826 1.0707 3.65578 1.18056 3.24233 1.34125C2.80862 1.50447 2.41573 1.76032 2.09105 2.09098C1.76032 2.41563 1.5044 2.80852 1.34113 3.24225C1.18056 3.65573 1.0707 4.12821 1.03924 4.82008C1.00748 5.51328 1 5.73471 1 7.50001C1 9.26532 1.00748 9.48675 1.03924 10.1799C1.07083 10.8718 1.18069 11.3443 1.34138 11.7577C1.5046 12.1915 1.76045 12.5843 2.09111 12.909C2.41578 13.2397 2.80867 13.4955 3.24238 13.6587C3.65586 13.8194 4.12834 13.9293 4.82019 13.9609C5.51348 13.9925 5.73483 14 7.50012 14C9.2654 14 9.48685 13.9925 10.18 13.9609C10.8719 13.9293 11.3444 13.8194 11.7578 13.6587C12.1896 13.4917 12.5818 13.2364 12.9091 12.909ZM1.99949 6.73496C1.99974 6.94524 2.00005 7.19543 2.00005 7.50002C2.00005 7.80461 1.99974 8.0548 1.99949 8.26507C1.99849 9.08596 1.99824 9.29856 2.01963 9.7655C2.04625 10.3509 2.07823 10.7811 2.17588 11.1053C2.26976 11.417 2.37505 11.7342 2.7188 12.1171C3.06255 12.4999 3.39411 12.6733 3.81645 12.8007C4.23879 12.928 4.7696 12.9554 5.23052 12.9764C5.75332 13.0003 5.96052 13.0002 7.05714 12.9999L7.50006 12.9999C7.79304 12.9999 8.03569 13.0001 8.2409 13.0004C9.08195 13.0013 9.29425 13.0015 9.76575 12.9799C10.3512 12.9533 10.7814 12.9213 11.1056 12.8237C11.4173 12.7298 11.7345 12.6245 12.1173 12.2807C12.5001 11.937 12.6735 11.6054 12.8009 11.1831C12.9283 10.7607 12.9557 10.2299 12.9767 9.76902C13.0005 9.24689 13.0004 9.04027 13.0002 7.94749V7.94738L13.0001 7.50039L13.0001 7.05747C13.0004 5.96085 13.0005 5.75365 12.9766 5.23085C12.9556 4.76993 12.9282 4.23912 12.8009 3.81678C12.6735 3.39445 12.5001 3.06288 12.1173 2.71913C11.7345 2.37538 11.4172 2.27009 11.1056 2.17621C10.7813 2.07856 10.3511 2.04658 9.76571 2.01996C9.29421 1.99836 9.08194 1.99859 8.24092 1.99951H8.24092C8.0357 1.99974 7.79305 2.00001 7.50006 2.00001L7.05704 1.99993C5.96051 1.99964 5.75331 1.99958 5.23052 2.02343C4.7696 2.04446 4.23879 2.07183 3.81645 2.19921C3.39411 2.32659 3.06255 2.49999 2.7188 2.88281C2.37505 3.26562 2.26976 3.58286 2.17588 3.89453C2.07823 4.21874 2.04625 4.64894 2.01963 5.23437C1.99824 5.70131 1.99849 5.91401 1.99949 6.73496ZM7.49996 5.25015C6.25741 5.25015 5.25012 6.25744 5.25012 7.49999C5.25012 8.74254 6.25741 9.74983 7.49996 9.74983C8.74251 9.74983 9.7498 8.74254 9.7498 7.49999C9.7498 6.25744 8.74251 5.25015 7.49996 5.25015ZM4.25012 7.49999C4.25012 5.70515 5.70512 4.25015 7.49996 4.25015C9.2948 4.25015 10.7498 5.70515 10.7498 7.49999C10.7498 9.29483 9.2948 10.7498 7.49996 10.7498C5.70512 10.7498 4.25012 9.29483 4.25012 7.49999ZM10.9697 4.7803C11.3839 4.7803 11.7197 4.44452 11.7197 4.0303C11.7197 3.61609 11.3839 3.2803 10.9697 3.2803C10.5555 3.2803 10.2197 3.61609 10.2197 4.0303C10.2197 4.44452 10.5555 4.7803 10.9697 4.7803Z\",\n fill: color\n }));\n});\n\nvar _excluded$2G = [\"color\"];\nvar KeyboardIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2G);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.5 4H1.5C1.22386 4 1 4.22386 1 4.5V10.5C1 10.7761 1.22386 11 1.5 11H13.5C13.7761 11 14 10.7761 14 10.5V4.5C14 4.22386 13.7761 4 13.5 4ZM1.5 3C0.671573 3 0 3.67157 0 4.5V10.5C0 11.3284 0.671573 12 1.5 12H13.5C14.3284 12 15 11.3284 15 10.5V4.5C15 3.67157 14.3284 3 13.5 3H1.5ZM2 5H3V6H2V5ZM5 5H4V6H5V5ZM6 5H7V6H6V5ZM9 5H8V6H9V5ZM10 5H11V6H10V5ZM13 5H12V6H13V5ZM11 7H12V8H11V7ZM13 9H12V10H13V9ZM9 7H10V8H9V7ZM8 7H7V8H8V7ZM5 7H6V8H5V7ZM4 7H3V8H4V7ZM2 9H3V10H2V9ZM11 9H4V10H11V9Z\",\n fill: color\n }));\n});\n\nvar _excluded$2H = [\"color\"];\nvar LapTimerIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2H);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L12.058 2.05806C12.3021 1.81398 12.6978 1.81398 12.9419 2.05806C13.186 2.30214 13.186 2.69786 12.9419 2.94194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13361 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.49998 8.49998V4.09998C5.06992 4.09998 3.09998 6.06992 3.09998 8.49998C3.09998 10.93 5.06992 12.9 7.49998 12.9C8.715 12.9 9.815 12.4075 10.6112 11.6112L7.49998 8.49998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2I = [\"color\"];\nvar LaptopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2I);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 4.25C2 4.11193 2.11193 4 2.25 4H12.75C12.8881 4 13 4.11193 13 4.25V11.5H2V4.25ZM2.25 3C1.55964 3 1 3.55964 1 4.25V12H0V12.5C0 12.7761 0.223858 13 0.5 13H14.5C14.7761 13 15 12.7761 15 12.5V12H14V4.25C14 3.55964 13.4404 3 12.75 3H2.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2J = [\"color\"];\nvar LayersIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2J);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.75432 0.819537C7.59742 0.726821 7.4025 0.726821 7.24559 0.819537L1.74559 4.06954C1.59336 4.15949 1.49996 4.32317 1.49996 4.5C1.49996 4.67683 1.59336 4.84051 1.74559 4.93046L7.24559 8.18046C7.4025 8.27318 7.59742 8.27318 7.75432 8.18046L13.2543 4.93046C13.4066 4.84051 13.5 4.67683 13.5 4.5C13.5 4.32317 13.4066 4.15949 13.2543 4.06954L7.75432 0.819537ZM7.49996 7.16923L2.9828 4.5L7.49996 1.83077L12.0171 4.5L7.49996 7.16923ZM1.5695 7.49564C1.70998 7.2579 2.01659 7.17906 2.25432 7.31954L7.49996 10.4192L12.7456 7.31954C12.9833 7.17906 13.2899 7.2579 13.4304 7.49564C13.5709 7.73337 13.4921 8.03998 13.2543 8.18046L7.75432 11.4305C7.59742 11.5232 7.4025 11.5232 7.24559 11.4305L1.74559 8.18046C1.50786 8.03998 1.42901 7.73337 1.5695 7.49564ZM1.56949 10.4956C1.70998 10.2579 2.01658 10.1791 2.25432 10.3195L7.49996 13.4192L12.7456 10.3195C12.9833 10.1791 13.2899 10.2579 13.4304 10.4956C13.5709 10.7334 13.4921 11.04 13.2543 11.1805L7.75432 14.4305C7.59742 14.5232 7.4025 14.5232 7.24559 14.4305L1.74559 11.1805C1.50785 11.04 1.42901 10.7334 1.56949 10.4956Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2K = [\"color\"];\nvar LayoutIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2K);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9 2H6V13H9V2ZM10 2V13H12.5C12.7761 13 13 12.7761 13 12.5V2.5C13 2.22386 12.7761 2 12.5 2H10ZM2.5 2H5V13H2.5C2.22386 13 2 12.7761 2 12.5V2.5C2 2.22386 2.22386 2 2.5 2ZM2.5 1C1.67157 1 1 1.67157 1 2.5V12.5C1 13.3284 1.67157 14 2.5 14H12.5C13.3284 14 14 13.3284 14 12.5V2.5C14 1.67157 13.3284 1 12.5 1H2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2L = [\"color\"];\nvar LetterCaseCapitalizeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2L);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.68979 2.75C3.89667 2.74979 4.08232 2.87701 4.15679 3.07003L7.36662 11.39C7.46602 11.6477 7.33774 11.9371 7.0801 12.0365C6.82247 12.1359 6.53304 12.0076 6.43365 11.75L5.3825 9.02537H2.01133L0.966992 11.749C0.868128 12.0068 0.578964 12.1357 0.321126 12.0369C0.0632878 11.938 -0.0655864 11.6488 0.0332774 11.391L3.22344 3.07099C3.29751 2.87782 3.4829 2.75021 3.68979 2.75ZM3.69174 4.64284L5.05458 8.17537H2.33724L3.69174 4.64284ZM10.8989 5.20703C9.25818 5.20703 8.00915 6.68569 8.00915 8.60972C8.00915 10.6337 9.35818 12.0124 10.8989 12.0124C11.7214 12.0124 12.5744 11.6692 13.1543 11.0219V11.53C13.1543 11.7785 13.3557 11.98 13.6043 11.98C13.8528 11.98 14.0543 11.7785 14.0543 11.53V5.72C14.0543 5.47147 13.8528 5.27 13.6043 5.27C13.3557 5.27 13.1543 5.47147 13.1543 5.72V6.22317C12.6054 5.60095 11.7924 5.20703 10.8989 5.20703ZM13.1543 9.79823V7.30195C12.7639 6.58101 11.9414 6.05757 11.0868 6.05757C10.1088 6.05757 9.03503 6.96581 9.03503 8.60955C9.03503 10.1533 10.0088 11.1615 11.0868 11.1615C11.9701 11.1615 12.7719 10.4952 13.1543 9.79823Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2M = [\"color\"];\nvar LetterCaseLowercaseIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2M);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.69899 5.20703C2.05823 5.20703 0.809204 6.68569 0.809204 8.60972C0.809204 10.6337 2.15823 12.0124 3.69899 12.0124C4.52126 12.0124 5.37402 11.6693 5.9539 11.0223V11.53C5.9539 11.7785 6.15537 11.98 6.4039 11.98C6.65243 11.98 6.8539 11.7785 6.8539 11.53V5.72001C6.8539 5.47149 6.65243 5.27001 6.4039 5.27001C6.15537 5.27001 5.9539 5.47149 5.9539 5.72001V6.22269C5.40506 5.60075 4.59218 5.20703 3.69899 5.20703ZM5.9539 9.799V7.30117C5.56339 6.58064 4.74118 6.05757 3.8868 6.05757C2.9089 6.05757 1.83508 6.96581 1.83508 8.60955C1.83508 10.1533 2.80889 11.1615 3.8868 11.1615C4.76984 11.1615 5.57141 10.4957 5.9539 9.799ZM10.799 5.20703C9.15823 5.20703 7.9092 6.68569 7.9092 8.60972C7.9092 10.6337 9.25823 12.0124 10.799 12.0124C11.6215 12.0124 12.4744 11.6692 13.0543 11.0218V11.53C13.0543 11.7785 13.2558 11.98 13.5043 11.98C13.7529 11.98 13.9543 11.7785 13.9543 11.53V5.72C13.9543 5.47147 13.7529 5.27 13.5043 5.27C13.2558 5.27 13.0543 5.47147 13.0543 5.72V6.22318C12.5055 5.60095 11.6924 5.20703 10.799 5.20703ZM13.0543 9.79822V7.30196C12.664 6.58102 11.8415 6.05757 10.9868 6.05757C10.0089 6.05757 8.93508 6.96581 8.93508 8.60955C8.93508 10.1533 9.90889 11.1615 10.9868 11.1615C11.8702 11.1615 12.672 10.4952 13.0543 9.79822Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2N = [\"color\"];\nvar LetterCaseToggleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2N);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.2895 2.75C11.4964 2.74979 11.6821 2.87701 11.7565 3.07003L14.9664 11.39C15.0657 11.6477 14.9375 11.9371 14.6798 12.0365C14.4222 12.1359 14.1328 12.0076 14.0334 11.75L12.9822 9.02537H9.61106L8.56672 11.749C8.46786 12.0068 8.1787 12.1357 7.92086 12.0369C7.66302 11.938 7.53415 11.6488 7.63301 11.391L10.8232 3.07099C10.8972 2.87782 11.0826 2.75021 11.2895 2.75ZM11.2915 4.64284L12.6543 8.17537H9.93698L11.2915 4.64284ZM2.89895 5.20703C1.25818 5.20703 0.00915527 6.68569 0.00915527 8.60972C0.00915527 10.6337 1.35818 12.0124 2.89895 12.0124C3.72141 12.0124 4.57438 11.6692 5.15427 11.0219V11.53C5.15427 11.7785 5.35574 11.98 5.60427 11.98C5.8528 11.98 6.05427 11.7785 6.05427 11.53V5.72C6.05427 5.47147 5.8528 5.27 5.60427 5.27C5.35574 5.27 5.15427 5.47147 5.15427 5.72V6.22317C4.60543 5.60095 3.79236 5.20703 2.89895 5.20703ZM5.15427 9.79823V7.30195C4.76393 6.58101 3.94144 6.05757 3.08675 6.05757C2.10885 6.05757 1.03503 6.96581 1.03503 8.60955C1.03503 10.1533 2.00885 11.1615 3.08675 11.1615C3.97011 11.1615 4.77195 10.4952 5.15427 9.79823Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2O = [\"color\"];\nvar LetterCaseUppercaseIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2O);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.6255 2.75C3.83478 2.75 4.02192 2.88034 4.09448 3.07664L7.16985 11.3962C7.2656 11.6552 7.13324 11.9428 6.87423 12.0386C6.61522 12.1343 6.32763 12.002 6.23188 11.7429L5.22387 9.01603H2.02712L1.01911 11.7429C0.923362 12.002 0.635774 12.1343 0.376762 12.0386C0.117749 11.9428 -0.0146052 11.6552 0.0811401 11.3962L3.15651 3.07664C3.22908 2.88034 3.41621 2.75 3.6255 2.75ZM3.6255 4.69207L4.90966 8.16603H2.34133L3.6255 4.69207ZM11.3719 2.75C11.5811 2.75 11.7683 2.88034 11.8408 3.07664L14.9162 11.3962C15.012 11.6552 14.8796 11.9428 14.6206 12.0386C14.3616 12.1343 14.074 12.002 13.9782 11.7429L12.9702 9.01603H9.77348L8.76547 11.7429C8.66972 12.002 8.38213 12.1343 8.12312 12.0386C7.86411 11.9428 7.73175 11.6552 7.8275 11.3962L10.9029 3.07664C10.9754 2.88034 11.1626 2.75 11.3719 2.75ZM11.3719 4.69207L12.656 8.16603H10.0877L11.3719 4.69207Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2P = [\"color\"];\nvar LetterSpacingIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2P);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.55293 0.999969C4.75295 0.999969 4.93372 1.11917 5.0125 1.30301L8.01106 8.29982C8.11984 8.55363 8.00226 8.84757 7.74844 8.95635C7.49463 9.06512 7.20069 8.94754 7.09191 8.69373L6.11613 6.41685H2.98973L2.01395 8.69373C1.90517 8.94754 1.61123 9.06512 1.35742 8.95635C1.1036 8.84757 0.986023 8.55363 1.0948 8.29982L4.09336 1.30301C4.17214 1.11917 4.35291 0.999969 4.55293 0.999969ZM4.55293 2.76929L5.75186 5.56685H3.354L4.55293 2.76929ZM11.0562 9.00214C11.2617 9.00214 11.4463 8.87633 11.5215 8.68502L14.2733 1.68299C14.3743 1.42598 14.2478 1.13575 13.9908 1.03475C13.7338 0.933747 13.4436 1.06021 13.3426 1.31722L11.0562 7.13514L8.76973 1.31722C8.66873 1.06021 8.3785 0.933747 8.1215 1.03475C7.86449 1.13575 7.73802 1.42598 7.83902 1.68299L10.5908 8.68502C10.666 8.87633 10.8506 9.00214 11.0562 9.00214ZM14.9537 12.4999C14.9537 12.606 14.9115 12.7077 14.8365 12.7828L12.8365 14.7828C12.6803 14.939 12.4271 14.939 12.2708 14.7828C12.1146 14.6265 12.1146 14.3733 12.2708 14.2171L13.588 12.8999H1.51937L2.83653 14.2171C2.99274 14.3733 2.99274 14.6265 2.83653 14.7828C2.68032 14.939 2.42705 14.939 2.27084 14.7828L0.270843 12.7828C0.195828 12.7077 0.153687 12.606 0.153687 12.4999C0.153687 12.3938 0.195828 12.2921 0.270843 12.2171L2.27084 10.2171C2.42705 10.0609 2.68032 10.0609 2.83653 10.2171C2.99274 10.3733 2.99274 10.6265 2.83653 10.7828L1.51937 12.0999L13.588 12.0999L12.2708 10.7828C12.1146 10.6265 12.1146 10.3733 12.2708 10.2171C12.4271 10.0609 12.6803 10.0609 12.8365 10.2171L14.8365 12.2171C14.9115 12.2921 14.9537 12.3938 14.9537 12.4999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2Q = [\"color\"];\nvar LightningBoltIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2Q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.69667 0.0403541C8.90859 0.131038 9.03106 0.354857 8.99316 0.582235L8.0902 6.00001H12.5C12.6893 6.00001 12.8625 6.10701 12.9472 6.27641C13.0319 6.4458 13.0136 6.6485 12.8999 6.80001L6.89997 14.8C6.76167 14.9844 6.51521 15.0503 6.30328 14.9597C6.09135 14.869 5.96888 14.6452 6.00678 14.4178L6.90974 9H2.49999C2.31061 9 2.13748 8.893 2.05278 8.72361C1.96809 8.55422 1.98636 8.35151 2.09999 8.2L8.09997 0.200038C8.23828 0.0156255 8.48474 -0.0503301 8.69667 0.0403541ZM3.49999 8.00001H7.49997C7.64695 8.00001 7.78648 8.06467 7.88148 8.17682C7.97648 8.28896 8.01733 8.43723 7.99317 8.5822L7.33027 12.5596L11.5 7.00001H7.49997C7.353 7.00001 7.21347 6.93534 7.11846 6.8232C7.02346 6.71105 6.98261 6.56279 7.00678 6.41781L7.66968 2.44042L3.49999 8.00001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2R = [\"color\"];\nvar LineHeightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2R);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.78233 2.21713C3.70732 2.14212 3.60557 2.09998 3.49949 2.09998C3.3934 2.09998 3.29166 2.14212 3.21664 2.21713L1.21664 4.21713C1.06044 4.37334 1.06044 4.62661 1.21664 4.78282C1.37285 4.93903 1.62612 4.93903 1.78233 4.78282L3.09949 3.46566L3.09949 11.5343L1.78233 10.2171C1.62612 10.0609 1.37285 10.0609 1.21664 10.2171C1.06043 10.3733 1.06043 10.6266 1.21664 10.7828L3.21664 12.7828C3.29166 12.8578 3.3934 12.9 3.49949 12.9C3.60557 12.9 3.70731 12.8578 3.78233 12.7828L5.78233 10.7828C5.93854 10.6266 5.93854 10.3733 5.78233 10.2171C5.62612 10.0609 5.37285 10.0609 5.21664 10.2171L3.89949 11.5343L3.89949 3.46566L5.21664 4.78282C5.37285 4.93903 5.62612 4.93903 5.78233 4.78282C5.93854 4.62661 5.93854 4.37334 5.78233 4.21713L3.78233 2.21713ZM8.49998 3.99997C8.22383 3.99997 7.99998 4.22382 7.99998 4.49997C7.99998 4.77611 8.22383 4.99997 8.49998 4.99997H14.5C14.7761 4.99997 15 4.77611 15 4.49997C15 4.22382 14.7761 3.99997 14.5 3.99997H8.49998ZM7.99998 7.49997C7.99998 7.22382 8.22383 6.99997 8.49998 6.99997H14.5C14.7761 6.99997 15 7.22382 15 7.49997C15 7.77611 14.7761 7.99997 14.5 7.99997H8.49998C8.22383 7.99997 7.99998 7.77611 7.99998 7.49997ZM8.49998 9.99997C8.22383 9.99997 7.99998 10.2238 7.99998 10.5C7.99998 10.7761 8.22383 11 8.49998 11H14.5C14.7761 11 15 10.7761 15 10.5C15 10.2238 14.7761 9.99997 14.5 9.99997H8.49998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2S = [\"color\"];\nvar Link1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2S);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.62471 4.00001L4.56402 4.00001C4.04134 3.99993 3.70687 3.99988 3.4182 4.055C2.2379 4.28039 1.29846 5.17053 1.05815 6.33035C0.999538 6.61321 0.999604 6.93998 0.999703 7.43689L0.999711 7.50001L0.999703 7.56313C0.999604 8.06004 0.999538 8.38681 1.05815 8.66967C1.29846 9.8295 2.2379 10.7196 3.4182 10.945C3.70688 11.0001 4.04135 11.0001 4.56403 11L4.62471 11H5.49971C5.77585 11 5.99971 10.7762 5.99971 10.5C5.99971 10.2239 5.77585 10 5.49971 10H4.62471C4.02084 10 3.78907 9.99777 3.60577 9.96277C2.80262 9.8094 2.19157 9.21108 2.03735 8.46678C2.00233 8.29778 1.99971 8.08251 1.99971 7.50001C1.99971 6.91752 2.00233 6.70225 2.03735 6.53324C2.19157 5.78895 2.80262 5.19062 3.60577 5.03725C3.78907 5.00225 4.02084 5.00001 4.62471 5.00001H5.49971C5.77585 5.00001 5.99971 4.77615 5.99971 4.50001C5.99971 4.22387 5.77585 4.00001 5.49971 4.00001H4.62471ZM10.3747 5.00001C10.9786 5.00001 11.2104 5.00225 11.3937 5.03725C12.1968 5.19062 12.8079 5.78895 12.9621 6.53324C12.9971 6.70225 12.9997 6.91752 12.9997 7.50001C12.9997 8.08251 12.9971 8.29778 12.9621 8.46678C12.8079 9.21108 12.1968 9.8094 11.3937 9.96277C11.2104 9.99777 10.9786 10 10.3747 10H9.49971C9.22357 10 8.99971 10.2239 8.99971 10.5C8.99971 10.7762 9.22357 11 9.49971 11H10.3747L10.4354 11C10.9581 11.0001 11.2925 11.0001 11.5812 10.945C12.7615 10.7196 13.701 9.8295 13.9413 8.66967C13.9999 8.38681 13.9998 8.06005 13.9997 7.56314L13.9997 7.50001L13.9997 7.43688C13.9998 6.93998 13.9999 6.61321 13.9413 6.33035C13.701 5.17053 12.7615 4.28039 11.5812 4.055C11.2925 3.99988 10.9581 3.99993 10.4354 4.00001L10.3747 4.00001H9.49971C9.22357 4.00001 8.99971 4.22387 8.99971 4.50001C8.99971 4.77615 9.22357 5.00001 9.49971 5.00001H10.3747ZM5.00038 7C4.72424 7 4.50038 7.22386 4.50038 7.5C4.50038 7.77614 4.72424 8 5.00038 8H10.0004C10.2765 8 10.5004 7.77614 10.5004 7.5C10.5004 7.22386 10.2765 7 10.0004 7H5.00038Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2T = [\"color\"];\nvar Link2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2T);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8.51194 3.00541C9.18829 2.54594 10.0435 2.53694 10.6788 2.95419C10.8231 3.04893 10.9771 3.1993 11.389 3.61119C11.8009 4.02307 11.9513 4.17714 12.046 4.32141C12.4633 4.95675 12.4543 5.81192 11.9948 6.48827C11.8899 6.64264 11.7276 6.80811 11.3006 7.23511L10.6819 7.85383C10.4867 8.04909 10.4867 8.36567 10.6819 8.56093C10.8772 8.7562 11.1938 8.7562 11.389 8.56093L12.0077 7.94221L12.0507 7.89929C12.4203 7.52976 12.6568 7.2933 12.822 7.0502C13.4972 6.05623 13.5321 4.76252 12.8819 3.77248C12.7233 3.53102 12.4922 3.30001 12.1408 2.94871L12.0961 2.90408L12.0515 2.85942C11.7002 2.508 11.4692 2.27689 11.2277 2.11832C10.2377 1.46813 8.94398 1.50299 7.95001 2.17822C7.70691 2.34336 7.47044 2.57991 7.1009 2.94955L7.058 2.99247L6.43928 3.61119C6.24401 3.80645 6.24401 4.12303 6.43928 4.31829C6.63454 4.51355 6.95112 4.51355 7.14638 4.31829L7.7651 3.69957C8.1921 3.27257 8.35757 3.11027 8.51194 3.00541ZM4.31796 7.14672C4.51322 6.95146 4.51322 6.63487 4.31796 6.43961C4.12269 6.24435 3.80611 6.24435 3.61085 6.43961L2.99213 7.05833L2.94922 7.10124C2.57957 7.47077 2.34303 7.70724 2.17788 7.95035C1.50265 8.94432 1.4678 10.238 2.11799 11.2281C2.27656 11.4695 2.50766 11.7005 2.8591 12.0518L2.90374 12.0965L2.94837 12.1411C3.29967 12.4925 3.53068 12.7237 3.77214 12.8822C4.76219 13.5324 6.05589 13.4976 7.04986 12.8223C7.29296 12.6572 7.52943 12.4206 7.89896 12.051L7.89897 12.051L7.94188 12.0081L8.5606 11.3894C8.75586 11.1941 8.75586 10.8775 8.5606 10.6823C8.36533 10.487 8.04875 10.487 7.85349 10.6823L7.23477 11.301C6.80777 11.728 6.6423 11.8903 6.48794 11.9951C5.81158 12.4546 4.95642 12.4636 4.32107 12.0464C4.17681 11.9516 4.02274 11.8012 3.61085 11.3894C3.19896 10.9775 3.0486 10.8234 2.95385 10.6791C2.53661 10.0438 2.54561 9.18863 3.00507 8.51227C3.10993 8.35791 3.27224 8.19244 3.69924 7.76544L4.31796 7.14672ZM9.62172 6.08558C9.81698 5.89032 9.81698 5.57373 9.62172 5.37847C9.42646 5.18321 9.10988 5.18321 8.91461 5.37847L5.37908 8.91401C5.18382 9.10927 5.18382 9.42585 5.37908 9.62111C5.57434 9.81637 5.89092 9.81637 6.08619 9.62111L9.62172 6.08558Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2U = [\"color\"];\nvar LinkBreak1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2U);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L13.3536 2.35355ZM2.03735 8.46678C2.17398 9.12619 2.66918 9.67103 3.33886 9.89338L2.57833 10.6539C1.80843 10.2534 1.23784 9.53693 1.05815 8.66967C0.999538 8.38681 0.999604 8.06004 0.999703 7.56313L0.999711 7.50001L0.999703 7.43689C0.999604 6.93998 0.999538 6.61321 1.05815 6.33035C1.29846 5.17053 2.2379 4.28039 3.4182 4.055C3.70687 3.99988 4.04134 3.99993 4.56402 4.00001L4.62471 4.00001H5.49971C5.77585 4.00001 5.99971 4.22387 5.99971 4.50001C5.99971 4.77615 5.77585 5.00001 5.49971 5.00001H4.62471C4.02084 5.00001 3.78907 5.00225 3.60577 5.03725C2.80262 5.19062 2.19157 5.78895 2.03735 6.53324C2.00233 6.70225 1.99971 6.91752 1.99971 7.50001C1.99971 8.08251 2.00233 8.29778 2.03735 8.46678ZM12.9621 6.53324C12.8255 5.87397 12.3304 5.32922 11.661 5.10679L12.4215 4.34631C13.1912 4.74686 13.7616 5.46323 13.9413 6.33035C13.9999 6.61321 13.9998 6.93998 13.9997 7.43688L13.9997 7.50001L13.9997 7.56314C13.9998 8.06005 13.9999 8.38681 13.9413 8.66967C13.701 9.8295 12.7615 10.7196 11.5812 10.945C11.2925 11.0001 10.9581 11.0001 10.4354 11L10.3747 11H9.49971C9.22357 11 8.99971 10.7762 8.99971 10.5C8.99971 10.2239 9.22357 10 9.49971 10H10.3747C10.9786 10 11.2104 9.99777 11.3937 9.96277C12.1968 9.8094 12.8079 9.21108 12.9621 8.46678C12.9971 8.29778 12.9997 8.08251 12.9997 7.50001C12.9997 6.91752 12.9971 6.70225 12.9621 6.53324Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2V = [\"color\"];\nvar LinkBreak2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2V);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.50021 0C4.77635 0 5.0002 0.223853 5.0002 0.49999V2.49995C5.0002 2.77609 4.77635 2.99994 4.50021 2.99994C4.22408 2.99994 4.00022 2.77609 4.00022 2.49995V0.49999C4.00022 0.223853 4.22408 0 4.50021 0ZM0.646451 0.64647C0.84171 0.451212 1.15829 0.451212 1.35354 0.64647L2.85351 2.14644C3.04877 2.3417 3.04877 2.65827 2.85351 2.85353C2.65826 3.04879 2.34168 3.04879 2.14642 2.85353L0.646452 1.35356C0.451193 1.1583 0.451193 0.841728 0.646451 0.64647ZM0.00030517 4.49991C0.00030517 4.22377 0.224158 3.99992 0.500295 3.99992H2.50025C2.77639 3.99992 3.00024 4.22377 3.00024 4.49991C3.00024 4.77605 2.77639 4.9999 2.50025 4.9999H0.500295C0.224158 4.9999 0.00030517 4.77605 0.00030517 4.49991ZM12.0001 10.4998C12.0001 10.2236 12.2239 9.9998 12.5001 9.9998H14.5C14.7761 9.9998 15 10.2236 15 10.4998C15 10.7759 14.7761 10.9998 14.5 10.9998H12.5001C12.2239 10.9998 12.0001 10.7759 12.0001 10.4998ZM10.5001 11.9998C10.7762 11.9998 11.0001 12.2236 11.0001 12.4997V14.4997C11.0001 14.7758 10.7762 14.9997 10.5001 14.9997C10.224 14.9997 10.0001 14.7758 10.0001 14.4997V12.4997C10.0001 12.2236 10.224 11.9998 10.5001 11.9998ZM12.1462 12.1462C12.3415 11.951 12.658 11.951 12.8533 12.1462L14.3533 13.6462C14.5485 13.8415 14.5485 14.158 14.3533 14.3533C14.158 14.5485 13.8414 14.5485 13.6462 14.3533L12.1462 12.8533C11.951 12.6581 11.951 12.3415 12.1462 12.1462ZM7.76478 3.69938C8.19177 3.27238 8.35724 3.11008 8.5116 3.00522C9.18794 2.54577 10.0431 2.53677 10.6784 2.95401C10.8227 3.04875 10.9767 3.19911 11.3886 3.61099C11.8005 4.02287 11.9509 4.17694 12.0456 4.3212C12.4628 4.95653 12.4539 5.81168 11.9944 6.48802C11.8895 6.64238 11.7272 6.80785 11.3002 7.23484L10.6815 7.85354C10.4863 8.0488 10.4863 8.36538 10.6815 8.56064C10.8768 8.75589 11.1934 8.75589 11.3886 8.56064L12.0073 7.94193L12.0502 7.89903C12.4199 7.5295 12.6564 7.29303 12.8216 7.04993C13.4968 6.05598 13.5316 4.7623 12.8815 3.77228C12.7229 3.53083 12.4918 3.29982 12.1404 2.94853L12.0957 2.9039L12.0511 2.85925C11.6998 2.50782 11.4688 2.27672 11.2273 2.11816C10.2373 1.46798 8.94364 1.50284 7.94968 2.17805C7.70659 2.34319 7.47012 2.57973 7.1006 2.94936L7.1006 2.94937L7.05769 2.99228L6.43898 3.61099C6.24372 3.80625 6.24372 4.12282 6.43898 4.31808C6.63424 4.51334 6.95081 4.51334 7.14607 4.31808L7.76478 3.69938ZM2.99191 7.05807L2.94899 7.10097C2.57935 7.4705 2.34282 7.70697 2.17767 7.95006C1.50246 8.94401 1.4676 10.2377 2.11778 11.2277C2.27634 11.4692 2.50744 11.7002 2.85886 12.0515L2.85888 12.0515L2.90352 12.0961L2.94815 12.1407L2.94815 12.1407L2.94817 12.1408C3.29945 12.4922 3.53045 12.7233 3.7719 12.8818C4.76193 13.532 6.0556 13.4972 7.04956 12.8219C7.29265 12.6568 7.52912 12.4203 7.89865 12.0506L7.94155 12.0077L8.56026 11.389C8.75552 11.1937 8.75552 10.8772 8.56026 10.6819C8.365 10.4867 8.04842 10.4867 7.85317 10.6819L7.23446 11.3006C6.80747 11.7276 6.642 11.8899 6.48764 11.9948C5.8113 12.4542 4.95615 12.4632 4.32082 12.046C4.17656 11.9512 4.02249 11.8009 3.61061 11.389C3.19873 10.9771 3.04837 10.8231 2.95363 10.6788C2.53639 10.0435 2.54539 9.18832 3.00484 8.51198C3.10971 8.35761 3.27201 8.19215 3.699 7.76516L4.3177 7.14645C4.51296 6.95119 4.51296 6.63462 4.3177 6.43936C4.12245 6.2441 3.80587 6.2441 3.61061 6.43936L2.99191 7.05807Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2W = [\"color\"];\nvar LinkNone1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2W);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.56427 3.99988C4.58422 3.99989 4.60445 3.99989 4.62496 3.99989H5.49996C5.7761 3.99989 5.99996 4.22375 5.99996 4.49989C5.99996 4.77603 5.7761 4.99989 5.49996 4.99989H4.62496C4.02108 4.99989 3.78932 5.00213 3.60601 5.03713C2.80287 5.1905 2.19181 5.78883 2.03759 6.53312C2.00257 6.70212 1.99996 6.91739 1.99996 7.49989C1.99996 8.08239 2.00257 8.29766 2.03759 8.46666C2.19181 9.21095 2.80287 9.80928 3.60601 9.96265C3.78932 9.99765 4.02108 9.99989 4.62496 9.99989H5.49996C5.7761 9.99989 5.99996 10.2237 5.99996 10.4999C5.99996 10.776 5.7761 10.9999 5.49996 10.9999H4.62496C4.60445 10.9999 4.58422 10.9999 4.56427 10.9999C4.04159 11 3.70712 11 3.41845 10.9449C2.23814 10.7195 1.29871 9.82937 1.05839 8.66955C0.999782 8.38669 0.999848 8.05992 0.999947 7.56301C0.999951 7.54227 0.999955 7.52123 0.999955 7.49989C0.999955 7.47855 0.999951 7.45751 0.999947 7.43677C0.999848 6.93986 0.999782 6.61309 1.05839 6.33023C1.29871 5.17041 2.23814 4.28027 3.41845 4.05488C3.70712 3.99976 4.04159 3.99981 4.56427 3.99988ZM11.3939 5.03713C11.2106 5.00213 10.9788 4.99989 10.375 4.99989H9.49996C9.22381 4.99989 8.99996 4.77603 8.99996 4.49989C8.99996 4.22375 9.22381 3.99989 9.49996 3.99989H10.375C10.3955 3.99989 10.4157 3.99989 10.4356 3.99988C10.9583 3.99981 11.2928 3.99976 11.5815 4.05488C12.7618 4.28027 13.7012 5.17041 13.9415 6.33023C14.0001 6.61309 14.0001 6.93985 14 7.43676C14 7.4575 14 7.47854 14 7.49989C14 7.52124 14 7.54228 14 7.56302C14.0001 8.05992 14.0001 8.38669 13.9415 8.66955C13.7012 9.82937 12.7618 10.7195 11.5815 10.9449C11.2928 11 10.9583 11 10.4356 10.9999C10.4157 10.9999 10.3955 10.9999 10.375 10.9999H9.49996C9.22381 10.9999 8.99996 10.776 8.99996 10.4999C8.99996 10.2237 9.22381 9.99989 9.49996 9.99989H10.375C10.9788 9.99989 11.2106 9.99765 11.3939 9.96265C12.197 9.80928 12.8081 9.21095 12.9623 8.46666C12.9973 8.29766 13 8.08239 13 7.49989C13 6.91739 12.9973 6.70212 12.9623 6.53312C12.8081 5.78883 12.197 5.1905 11.3939 5.03713Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2X = [\"color\"];\nvar LinkNone2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2X);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10.6788 2.95419C10.0435 2.53694 9.18829 2.54594 8.51194 3.00541C8.35757 3.11027 8.1921 3.27257 7.7651 3.69957L7.14638 4.31829C6.95112 4.51355 6.63454 4.51355 6.43928 4.31829C6.24401 4.12303 6.24401 3.80645 6.43928 3.61119L7.058 2.99247C7.0725 2.97797 7.08679 2.96366 7.1009 2.94955C7.47044 2.57991 7.70691 2.34336 7.95001 2.17822C8.94398 1.50299 10.2377 1.46813 11.2277 2.11832C11.4692 2.27689 11.7002 2.508 12.0515 2.85942C12.0662 2.8741 12.081 2.88898 12.0961 2.90408C12.1112 2.91917 12.1261 2.93405 12.1408 2.94871C12.4922 3.30001 12.7233 3.53102 12.8819 3.77248C13.5321 4.76252 13.4972 6.05623 12.822 7.0502C12.6568 7.2933 12.4203 7.52976 12.0507 7.89929C12.0366 7.9134 12.0222 7.92771 12.0077 7.94221L11.389 8.56093C11.1938 8.7562 10.8772 8.7562 10.6819 8.56093C10.4867 8.36567 10.4867 8.04909 10.6819 7.85383L11.3006 7.23511C11.7276 6.80811 11.8899 6.64264 11.9948 6.48827C12.4543 5.81192 12.4633 4.95675 12.046 4.32141C11.9513 4.17714 11.8009 4.02307 11.389 3.61119C10.9771 3.1993 10.8231 3.04893 10.6788 2.95419ZM4.31796 6.43961C4.51322 6.63487 4.51322 6.95146 4.31796 7.14672L3.69924 7.76544C3.27224 8.19244 3.10993 8.35791 3.00507 8.51227C2.54561 9.18863 2.53661 10.0438 2.95385 10.6791C3.0486 10.8234 3.19896 10.9775 3.61085 11.3894C4.02274 11.8012 4.17681 11.9516 4.32107 12.0464C4.95642 12.4636 5.81158 12.4546 6.48794 11.9951C6.6423 11.8903 6.80777 11.728 7.23477 11.301L7.85349 10.6823C8.04875 10.487 8.36533 10.487 8.5606 10.6823C8.75586 10.8775 8.75586 11.1941 8.5606 11.3894L7.94188 12.0081C7.92738 12.0226 7.91307 12.0369 7.89897 12.051C7.52943 12.4206 7.29296 12.6572 7.04986 12.8223C6.05589 13.4976 4.76219 13.5324 3.77214 12.8822C3.53068 12.7237 3.29967 12.4925 2.94837 12.1411C2.93371 12.1264 2.91883 12.1116 2.90374 12.0965C2.88865 12.0814 2.87377 12.0665 2.8591 12.0518C2.50766 11.7005 2.27656 11.4695 2.11799 11.2281C1.4678 10.238 1.50265 8.94432 2.17788 7.95035C2.34303 7.70724 2.57957 7.47077 2.94922 7.10124C2.96333 7.08713 2.97763 7.07283 2.99213 7.05833L3.61085 6.43961C3.80611 6.24435 4.12269 6.24435 4.31796 6.43961Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2Y = [\"color\"];\nvar LinkedInLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2Y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 1C1.44772 1 1 1.44772 1 2V13C1 13.5523 1.44772 14 2 14H13C13.5523 14 14 13.5523 14 13V2C14 1.44772 13.5523 1 13 1H2ZM3.05 6H4.95V12H3.05V6ZM5.075 4.005C5.075 4.59871 4.59371 5.08 4 5.08C3.4063 5.08 2.925 4.59871 2.925 4.005C2.925 3.41129 3.4063 2.93 4 2.93C4.59371 2.93 5.075 3.41129 5.075 4.005ZM12 8.35713C12 6.55208 10.8334 5.85033 9.67449 5.85033C9.29502 5.83163 8.91721 5.91119 8.57874 6.08107C8.32172 6.21007 8.05265 6.50523 7.84516 7.01853H7.79179V6.00044H6V12.0047H7.90616V8.8112C7.8786 8.48413 7.98327 8.06142 8.19741 7.80987C8.41156 7.55832 8.71789 7.49825 8.95015 7.46774H9.02258C9.62874 7.46774 10.0786 7.84301 10.0786 8.78868V12.0047H11.9847L12 8.35713Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2Z = [\"color\"];\nvar ListBulletIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2Z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.5 5.25C1.91421 5.25 2.25 4.91421 2.25 4.5C2.25 4.08579 1.91421 3.75 1.5 3.75C1.08579 3.75 0.75 4.08579 0.75 4.5C0.75 4.91421 1.08579 5.25 1.5 5.25ZM4 4.5C4 4.22386 4.22386 4 4.5 4H13.5C13.7761 4 14 4.22386 14 4.5C14 4.77614 13.7761 5 13.5 5H4.5C4.22386 5 4 4.77614 4 4.5ZM4.5 7C4.22386 7 4 7.22386 4 7.5C4 7.77614 4.22386 8 4.5 8H13.5C13.7761 8 14 7.77614 14 7.5C14 7.22386 13.7761 7 13.5 7H4.5ZM4.5 10C4.22386 10 4 10.2239 4 10.5C4 10.7761 4.22386 11 4.5 11H13.5C13.7761 11 14 10.7761 14 10.5C14 10.2239 13.7761 10 13.5 10H4.5ZM2.25 7.5C2.25 7.91421 1.91421 8.25 1.5 8.25C1.08579 8.25 0.75 7.91421 0.75 7.5C0.75 7.08579 1.08579 6.75 1.5 6.75C1.91421 6.75 2.25 7.08579 2.25 7.5ZM1.5 11.25C1.91421 11.25 2.25 10.9142 2.25 10.5C2.25 10.0858 1.91421 9.75 1.5 9.75C1.08579 9.75 0.75 10.0858 0.75 10.5C0.75 10.9142 1.08579 11.25 1.5 11.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2_ = [\"color\"];\nvar LockClosedIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2_);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 4.63601C5 3.76031 5.24219 3.1054 5.64323 2.67357C6.03934 2.24705 6.64582 1.9783 7.5014 1.9783C8.35745 1.9783 8.96306 2.24652 9.35823 2.67208C9.75838 3.10299 10 3.75708 10 4.63325V5.99999H5V4.63601ZM4 5.99999V4.63601C4 3.58148 4.29339 2.65754 4.91049 1.99307C5.53252 1.32329 6.42675 0.978302 7.5014 0.978302C8.57583 0.978302 9.46952 1.32233 10.091 1.99162C10.7076 2.65557 11 3.57896 11 4.63325V5.99999H12C12.5523 5.99999 13 6.44771 13 6.99999V13C13 13.5523 12.5523 14 12 14H3C2.44772 14 2 13.5523 2 13V6.99999C2 6.44771 2.44772 5.99999 3 5.99999H4ZM3 6.99999H12V13H3V6.99999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$2$ = [\"color\"];\nvar LockOpen1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2$);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.4986 0C6.3257 0 5.36107 0.38943 4.73753 1.19361C4.23745 1.83856 4 2.68242 4 3.63325H5C5 2.84313 5.19691 2.23312 5.5278 1.80636C5.91615 1.30552 6.55152 1 7.4986 1C8.35683 1 8.96336 1.26502 9.35846 1.68623C9.75793 2.11211 10 2.76044 10 3.63601V6H3C2.44772 6 2 6.44772 2 7V13C2 13.5523 2.44772 14 3 14H12C12.5523 14 13 13.5523 13 13V7C13 6.44771 12.5523 6 12 6H11V3.63601C11 2.58135 10.7065 1.66167 10.0878 1.0021C9.46477 0.337871 8.57061 0 7.4986 0ZM3 7H12V13H3V7Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$30 = [\"color\"];\nvar LockOpen2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$30);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9 3.63601C9 2.76044 9.24207 2.11211 9.64154 1.68623C10.0366 1.26502 10.6432 1 11.5014 1C12.4485 1 13.0839 1.30552 13.4722 1.80636C13.8031 2.23312 14 2.84313 14 3.63325H15C15 2.68242 14.7626 1.83856 14.2625 1.19361C13.6389 0.38943 12.6743 0 11.5014 0C10.4294 0 9.53523 0.337871 8.91218 1.0021C8.29351 1.66167 8 2.58135 8 3.63601V6H1C0.447715 6 0 6.44772 0 7V13C0 13.5523 0.447715 14 1 14H10C10.5523 14 11 13.5523 11 13V7C11 6.44772 10.5523 6 10 6H9V3.63601ZM1 7H10V13H1V7Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$31 = [\"color\"];\nvar LoopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$31);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.35355 1.85355C3.54882 1.65829 3.54882 1.34171 3.35355 1.14645C3.15829 0.951184 2.84171 0.951184 2.64645 1.14645L0.646447 3.14645C0.451184 3.34171 0.451184 3.65829 0.646447 3.85355L2.64645 5.85355C2.84171 6.04882 3.15829 6.04882 3.35355 5.85355C3.54882 5.65829 3.54882 5.34171 3.35355 5.14645L2.20711 4H9.5C11.433 4 13 5.567 13 7.5C13 7.77614 13.2239 8 13.5 8C13.7761 8 14 7.77614 14 7.5C14 5.01472 11.9853 3 9.5 3H2.20711L3.35355 1.85355ZM2 7.5C2 7.22386 1.77614 7 1.5 7C1.22386 7 1 7.22386 1 7.5C1 9.98528 3.01472 12 5.5 12H12.7929L11.6464 13.1464C11.4512 13.3417 11.4512 13.6583 11.6464 13.8536C11.8417 14.0488 12.1583 14.0488 12.3536 13.8536L14.3536 11.8536C14.5488 11.6583 14.5488 11.3417 14.3536 11.1464L12.3536 9.14645C12.1583 8.95118 11.8417 8.95118 11.6464 9.14645C11.4512 9.34171 11.4512 9.65829 11.6464 9.85355L12.7929 11H5.5C3.567 11 2 9.433 2 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$32 = [\"color\"];\nvar MagicWandIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$32);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.9 0.499976C13.9 0.279062 13.7209 0.0999756 13.5 0.0999756C13.2791 0.0999756 13.1 0.279062 13.1 0.499976V1.09998H12.5C12.2791 1.09998 12.1 1.27906 12.1 1.49998C12.1 1.72089 12.2791 1.89998 12.5 1.89998H13.1V2.49998C13.1 2.72089 13.2791 2.89998 13.5 2.89998C13.7209 2.89998 13.9 2.72089 13.9 2.49998V1.89998H14.5C14.7209 1.89998 14.9 1.72089 14.9 1.49998C14.9 1.27906 14.7209 1.09998 14.5 1.09998H13.9V0.499976ZM11.8536 3.14642C12.0488 3.34168 12.0488 3.65826 11.8536 3.85353L10.8536 4.85353C10.6583 5.04879 10.3417 5.04879 10.1465 4.85353C9.9512 4.65827 9.9512 4.34169 10.1465 4.14642L11.1464 3.14643C11.3417 2.95116 11.6583 2.95116 11.8536 3.14642ZM9.85357 5.14642C10.0488 5.34168 10.0488 5.65827 9.85357 5.85353L2.85355 12.8535C2.65829 13.0488 2.34171 13.0488 2.14645 12.8535C1.95118 12.6583 1.95118 12.3417 2.14645 12.1464L9.14646 5.14642C9.34172 4.95116 9.65831 4.95116 9.85357 5.14642ZM13.5 5.09998C13.7209 5.09998 13.9 5.27906 13.9 5.49998V6.09998H14.5C14.7209 6.09998 14.9 6.27906 14.9 6.49998C14.9 6.72089 14.7209 6.89998 14.5 6.89998H13.9V7.49998C13.9 7.72089 13.7209 7.89998 13.5 7.89998C13.2791 7.89998 13.1 7.72089 13.1 7.49998V6.89998H12.5C12.2791 6.89998 12.1 6.72089 12.1 6.49998C12.1 6.27906 12.2791 6.09998 12.5 6.09998H13.1V5.49998C13.1 5.27906 13.2791 5.09998 13.5 5.09998ZM8.90002 0.499976C8.90002 0.279062 8.72093 0.0999756 8.50002 0.0999756C8.2791 0.0999756 8.10002 0.279062 8.10002 0.499976V1.09998H7.50002C7.2791 1.09998 7.10002 1.27906 7.10002 1.49998C7.10002 1.72089 7.2791 1.89998 7.50002 1.89998H8.10002V2.49998C8.10002 2.72089 8.2791 2.89998 8.50002 2.89998C8.72093 2.89998 8.90002 2.72089 8.90002 2.49998V1.89998H9.50002C9.72093 1.89998 9.90002 1.72089 9.90002 1.49998C9.90002 1.27906 9.72093 1.09998 9.50002 1.09998H8.90002V0.499976Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$33 = [\"color\"];\nvar MagnifyingGlassIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$33);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$34 = [\"color\"];\nvar MarginIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$34);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.49988 2.00012C1.77602 2.00012 1.99988 1.77626 1.99988 1.50012C1.99988 1.22398 1.77602 1.00012 1.49988 1.00012C1.22374 1.00012 0.999878 1.22398 0.999878 1.50012C0.999878 1.77626 1.22374 2.00012 1.49988 2.00012ZM4.49988 2.00012C4.77602 2.00012 4.99988 1.77626 4.99988 1.50012C4.99988 1.22398 4.77602 1.00012 4.49988 1.00012C4.22374 1.00012 3.99988 1.22398 3.99988 1.50012C3.99988 1.77626 4.22374 2.00012 4.49988 2.00012ZM7.99988 1.50012C7.99988 1.77626 7.77602 2.00012 7.49988 2.00012C7.22374 2.00012 6.99988 1.77626 6.99988 1.50012C6.99988 1.22398 7.22374 1.00012 7.49988 1.00012C7.77602 1.00012 7.99988 1.22398 7.99988 1.50012ZM10.4999 2.00012C10.776 2.00012 10.9999 1.77626 10.9999 1.50012C10.9999 1.22398 10.776 1.00012 10.4999 1.00012C10.2237 1.00012 9.99988 1.22398 9.99988 1.50012C9.99988 1.77626 10.2237 2.00012 10.4999 2.00012ZM13.9999 1.50012C13.9999 1.77626 13.776 2.00012 13.4999 2.00012C13.2237 2.00012 12.9999 1.77626 12.9999 1.50012C12.9999 1.22398 13.2237 1.00012 13.4999 1.00012C13.776 1.00012 13.9999 1.22398 13.9999 1.50012ZM1.49988 14.0001C1.77602 14.0001 1.99988 13.7763 1.99988 13.5001C1.99988 13.224 1.77602 13.0001 1.49988 13.0001C1.22374 13.0001 0.999878 13.224 0.999878 13.5001C0.999878 13.7763 1.22374 14.0001 1.49988 14.0001ZM1.99988 10.5001C1.99988 10.7763 1.77602 11.0001 1.49988 11.0001C1.22374 11.0001 0.999878 10.7763 0.999878 10.5001C0.999878 10.224 1.22374 10.0001 1.49988 10.0001C1.77602 10.0001 1.99988 10.224 1.99988 10.5001ZM1.49988 8.00012C1.77602 8.00012 1.99988 7.77626 1.99988 7.50012C1.99988 7.22398 1.77602 7.00012 1.49988 7.00012C1.22374 7.00012 0.999878 7.22398 0.999878 7.50012C0.999878 7.77626 1.22374 8.00012 1.49988 8.00012ZM1.99988 4.50012C1.99988 4.77626 1.77602 5.00012 1.49988 5.00012C1.22374 5.00012 0.999878 4.77626 0.999878 4.50012C0.999878 4.22398 1.22374 4.00012 1.49988 4.00012C1.77602 4.00012 1.99988 4.22398 1.99988 4.50012ZM13.4999 11.0001C13.776 11.0001 13.9999 10.7763 13.9999 10.5001C13.9999 10.224 13.776 10.0001 13.4999 10.0001C13.2237 10.0001 12.9999 10.224 12.9999 10.5001C12.9999 10.7763 13.2237 11.0001 13.4999 11.0001ZM13.9999 7.50012C13.9999 7.77626 13.776 8.00012 13.4999 8.00012C13.2237 8.00012 12.9999 7.77626 12.9999 7.50012C12.9999 7.22398 13.2237 7.00012 13.4999 7.00012C13.776 7.00012 13.9999 7.22398 13.9999 7.50012ZM13.4999 5.00012C13.776 5.00012 13.9999 4.77626 13.9999 4.50012C13.9999 4.22398 13.776 4.00012 13.4999 4.00012C13.2237 4.00012 12.9999 4.22398 12.9999 4.50012C12.9999 4.77626 13.2237 5.00012 13.4999 5.00012ZM4.99988 13.5001C4.99988 13.7763 4.77602 14.0001 4.49988 14.0001C4.22374 14.0001 3.99988 13.7763 3.99988 13.5001C3.99988 13.224 4.22374 13.0001 4.49988 13.0001C4.77602 13.0001 4.99988 13.224 4.99988 13.5001ZM7.49988 14.0001C7.77602 14.0001 7.99988 13.7763 7.99988 13.5001C7.99988 13.224 7.77602 13.0001 7.49988 13.0001C7.22374 13.0001 6.99988 13.224 6.99988 13.5001C6.99988 13.7763 7.22374 14.0001 7.49988 14.0001ZM10.9999 13.5001C10.9999 13.7763 10.776 14.0001 10.4999 14.0001C10.2237 14.0001 9.99988 13.7763 9.99988 13.5001C9.99988 13.224 10.2237 13.0001 10.4999 13.0001C10.776 13.0001 10.9999 13.224 10.9999 13.5001ZM13.4999 14.0001C13.776 14.0001 13.9999 13.7763 13.9999 13.5001C13.9999 13.224 13.776 13.0001 13.4999 13.0001C13.2237 13.0001 12.9999 13.224 12.9999 13.5001C12.9999 13.7763 13.2237 14.0001 13.4999 14.0001ZM3.99988 5.00012C3.99988 4.44784 4.44759 4.00012 4.99988 4.00012H9.99988C10.5522 4.00012 10.9999 4.44784 10.9999 5.00012V10.0001C10.9999 10.5524 10.5522 11.0001 9.99988 11.0001H4.99988C4.44759 11.0001 3.99988 10.5524 3.99988 10.0001V5.00012ZM4.99988 5.00012H9.99988V10.0001H4.99988V5.00012Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$35 = [\"color\"];\nvar MaskOffIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$35);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 2H14V13H1L1 2ZM0 2C0 1.44772 0.447715 1 1 1H14C14.5523 1 15 1.44772 15 2V13C15 13.5523 14.5523 14 14 14H1C0.447715 14 0 13.5523 0 13V2ZM4.875 7.5C4.875 6.05025 6.05025 4.875 7.5 4.875C8.94975 4.875 10.125 6.05025 10.125 7.5C10.125 8.94975 8.94975 10.125 7.5 10.125C6.05025 10.125 4.875 8.94975 4.875 7.5ZM7.5 3.875C5.49797 3.875 3.875 5.49797 3.875 7.5C3.875 9.50203 5.49797 11.125 7.5 11.125C9.50203 11.125 11.125 9.50203 11.125 7.5C11.125 5.49797 9.50203 3.875 7.5 3.875Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$36 = [\"color\"];\nvar MaskOnIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$36);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 1C0.447715 1 0 1.44772 0 2V13C0 13.5523 0.447715 14 1 14H14C14.5523 14 15 13.5523 15 13V2C15 1.44772 14.5523 1 14 1H1ZM7.5 10.625C9.22589 10.625 10.625 9.22589 10.625 7.5C10.625 5.77411 9.22589 4.375 7.5 4.375C5.77411 4.375 4.375 5.77411 4.375 7.5C4.375 9.22589 5.77411 10.625 7.5 10.625Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$37 = [\"color\"];\nvar MinusIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$37);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.25 7.5C2.25 7.22386 2.47386 7 2.75 7H12.25C12.5261 7 12.75 7.22386 12.75 7.5C12.75 7.77614 12.5261 8 12.25 8H2.75C2.47386 8 2.25 7.77614 2.25 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$38 = [\"color\"];\nvar MinusCircledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$38);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM4.50003 7C4.22389 7 4.00003 7.22386 4.00003 7.5C4.00003 7.77614 4.22389 8 4.50003 8H10.5C10.7762 8 11 7.77614 11 7.5C11 7.22386 10.7762 7 10.5 7H4.50003Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$39 = [\"color\"];\nvar MixIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$39);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.14921 3.99996C2.14921 2.97778 2.97784 2.14915 4.00002 2.14915C5.02219 2.14915 5.85083 2.97778 5.85083 3.99996C5.85083 5.02213 5.02219 5.85077 4.00002 5.85077C2.97784 5.85077 2.14921 5.02213 2.14921 3.99996ZM4.00002 1.24915C2.48079 1.24915 1.24921 2.48073 1.24921 3.99996C1.24921 5.51919 2.48079 6.75077 4.00002 6.75077C5.51925 6.75077 6.75083 5.51919 6.75083 3.99996C6.75083 2.48073 5.51925 1.24915 4.00002 1.24915ZM5.82034 11.0001L2.49998 12.8369V9.16331L5.82034 11.0001ZM2.63883 8.21159C2.17228 7.9535 1.59998 8.29093 1.59998 8.82411V13.1761C1.59998 13.7093 2.17228 14.0467 2.63883 13.7886L6.57235 11.6126C7.05389 11.3462 7.05389 10.654 6.57235 10.3876L2.63883 8.21159ZM8.30001 9.00003C8.30001 8.61343 8.61341 8.30003 9.00001 8.30003H13C13.3866 8.30003 13.7 8.61343 13.7 9.00003V13C13.7 13.3866 13.3866 13.7 13 13.7H9.00001C8.61341 13.7 8.30001 13.3866 8.30001 13V9.00003ZM9.20001 9.20003V12.8H12.8V9.20003H9.20001ZM13.4432 2.19311C13.6189 2.01737 13.6189 1.73245 13.4432 1.55671C13.2675 1.38098 12.9826 1.38098 12.8068 1.55671L11 3.36353L9.19321 1.55674C9.01748 1.381 8.73255 1.381 8.55682 1.55674C8.38108 1.73247 8.38108 2.0174 8.55682 2.19313L10.3636 3.99992L8.55682 5.80671C8.38108 5.98245 8.38108 6.26737 8.55682 6.44311C8.73255 6.61885 9.01748 6.61885 9.19321 6.44311L11 4.63632L12.8068 6.44314C12.9826 6.61887 13.2675 6.61887 13.4432 6.44314C13.6189 6.2674 13.6189 5.98247 13.4432 5.80674L11.6364 3.99992L13.4432 2.19311Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3a = [\"color\"];\nvar MixerHorizontalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3a);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.5 3C4.67157 3 4 3.67157 4 4.5C4 5.32843 4.67157 6 5.5 6C6.32843 6 7 5.32843 7 4.5C7 3.67157 6.32843 3 5.5 3ZM3 5C3.01671 5 3.03323 4.99918 3.04952 4.99758C3.28022 6.1399 4.28967 7 5.5 7C6.71033 7 7.71978 6.1399 7.95048 4.99758C7.96677 4.99918 7.98329 5 8 5H13.5C13.7761 5 14 4.77614 14 4.5C14 4.22386 13.7761 4 13.5 4H8C7.98329 4 7.96677 4.00082 7.95048 4.00242C7.71978 2.86009 6.71033 2 5.5 2C4.28967 2 3.28022 2.86009 3.04952 4.00242C3.03323 4.00082 3.01671 4 3 4H1.5C1.22386 4 1 4.22386 1 4.5C1 4.77614 1.22386 5 1.5 5H3ZM11.9505 10.9976C11.7198 12.1399 10.7103 13 9.5 13C8.28967 13 7.28022 12.1399 7.04952 10.9976C7.03323 10.9992 7.01671 11 7 11H1.5C1.22386 11 1 10.7761 1 10.5C1 10.2239 1.22386 10 1.5 10H7C7.01671 10 7.03323 10.0008 7.04952 10.0024C7.28022 8.8601 8.28967 8 9.5 8C10.7103 8 11.7198 8.8601 11.9505 10.0024C11.9668 10.0008 11.9833 10 12 10H13.5C13.7761 10 14 10.2239 14 10.5C14 10.7761 13.7761 11 13.5 11H12C11.9833 11 11.9668 10.9992 11.9505 10.9976ZM8 10.5C8 9.67157 8.67157 9 9.5 9C10.3284 9 11 9.67157 11 10.5C11 11.3284 10.3284 12 9.5 12C8.67157 12 8 11.3284 8 10.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3b = [\"color\"];\nvar MixerVerticalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3b);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 1.5C5 1.22386 4.77614 1 4.5 1C4.22386 1 4 1.22386 4 1.5L4 7C4 7.01671 4.00082 7.03323 4.00242 7.04952C2.86009 7.28022 2 8.28967 2 9.5C2 10.7103 2.86009 11.7198 4.00242 11.9505C4.00082 11.9668 4 11.9833 4 12V13.5C4 13.7761 4.22386 14 4.5 14C4.77614 14 5 13.7761 5 13.5V12C5 11.9833 4.99918 11.9668 4.99758 11.9505C6.1399 11.7198 7 10.7103 7 9.5C7 8.28967 6.1399 7.28022 4.99758 7.04952C4.99918 7.03323 5 7.01671 5 7L5 1.5ZM11 1.5C11 1.22386 10.7761 1 10.5 1C10.2239 1 10 1.22386 10 1.5V3C10 3.01671 10.0008 3.03323 10.0024 3.04952C8.8601 3.28022 8 4.28967 8 5.5C8 6.71033 8.8601 7.71978 10.0024 7.95048C10.0008 7.96677 10 7.98329 10 8V13.5C10 13.7761 10.2239 14 10.5 14C10.7761 14 11 13.7761 11 13.5V8C11 7.98329 10.9992 7.96677 10.9976 7.95048C12.1399 7.71978 13 6.71033 13 5.5C13 4.28967 12.1399 3.28022 10.9976 3.04952C10.9992 3.03323 11 3.01671 11 3V1.5ZM4.5 8C3.67157 8 3 8.67157 3 9.5C3 10.3284 3.67157 11 4.5 11C5.32843 11 6 10.3284 6 9.5C6 8.67157 5.32843 8 4.5 8ZM9 5.5C9 4.67157 9.67157 4 10.5 4C11.3284 4 12 4.67157 12 5.5C12 6.32843 11.3284 7 10.5 7C9.67157 7 9 6.32843 9 5.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3c = [\"color\"];\nvar MobileIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3c);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4 2.5C4 2.22386 4.22386 2 4.5 2H10.5C10.7761 2 11 2.22386 11 2.5V12.5C11 12.7761 10.7761 13 10.5 13H4.5C4.22386 13 4 12.7761 4 12.5V2.5ZM4.5 1C3.67157 1 3 1.67157 3 2.5V12.5C3 13.3284 3.67157 14 4.5 14H10.5C11.3284 14 12 13.3284 12 12.5V2.5C12 1.67157 11.3284 1 10.5 1H4.5ZM6 11.65C5.8067 11.65 5.65 11.8067 5.65 12C5.65 12.1933 5.8067 12.35 6 12.35H9C9.1933 12.35 9.35 12.1933 9.35 12C9.35 11.8067 9.1933 11.65 9 11.65H6Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3d = [\"color\"];\nvar ModulzLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3d);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.25925 3.16667L4.37036 5.33333V1L7.25925 3.16667ZM1 8.22222L3.88889 6.05555L1 3.88889V8.22222ZM1 14L3.88889 11.8333L1 9.66666V14ZM7.74072 8.22222L10.6296 6.05555L7.74072 3.88889V8.22222ZM14 3.16667L11.1111 5.33333V1L14 3.16667ZM11.1111 11.1111L14 8.94444L11.1111 6.77777V11.1111ZM3.88889 11.1111L1 8.94444L3.88889 6.77777V11.1111ZM4.37036 6.05555L7.25925 8.22222V3.88889L4.37036 6.05555ZM3.88889 5.33333L1 3.16667L3.88889 1V5.33333ZM7.74072 3.16667L10.6296 5.33333V1L7.74072 3.16667ZM14 8.22222L11.1111 6.05555L14 3.88889V8.22222ZM11.1111 11.8333L14 14V9.66666L11.1111 11.8333Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3e = [\"color\"];\nvar MoonIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3e);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3f = [\"color\"];\nvar MoveIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3f);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.81819 0.93179C7.64245 0.756054 7.35753 0.756054 7.18179 0.93179L5.43179 2.68179C5.25605 2.85753 5.25605 3.14245 5.43179 3.31819C5.60753 3.49392 5.89245 3.49392 6.06819 3.31819L6.99999 2.38638V5.49999C6.99999 5.77613 7.22385 5.99999 7.49999 5.99999C7.77613 5.99999 7.99999 5.77613 7.99999 5.49999V2.38638L8.93179 3.31819C9.10753 3.49392 9.39245 3.49392 9.56819 3.31819C9.74392 3.14245 9.74392 2.85753 9.56819 2.68179L7.81819 0.93179ZM7.99999 9.49999C7.99999 9.22385 7.77613 8.99999 7.49999 8.99999C7.22385 8.99999 6.99999 9.22385 6.99999 9.49999V12.6136L6.06819 11.6818C5.89245 11.5061 5.60753 11.5061 5.43179 11.6818C5.25605 11.8575 5.25605 12.1424 5.43179 12.3182L7.18179 14.0682C7.35753 14.2439 7.64245 14.2439 7.81819 14.0682L9.56819 12.3182C9.74392 12.1424 9.74392 11.8575 9.56819 11.6818C9.39245 11.5061 9.10753 11.5061 8.93179 11.6818L7.99999 12.6136V9.49999ZM8.99999 7.49999C8.99999 7.22385 9.22385 6.99999 9.49999 6.99999H12.6136L11.6818 6.06819C11.5061 5.89245 11.5061 5.60753 11.6818 5.43179C11.8575 5.25605 12.1424 5.25605 12.3182 5.43179L14.0682 7.18179C14.2439 7.35753 14.2439 7.64245 14.0682 7.81819L12.3182 9.56819C12.1424 9.74392 11.8575 9.74392 11.6818 9.56819C11.5061 9.39245 11.5061 9.10753 11.6818 8.93179L12.6136 7.99999H9.49999C9.22385 7.99999 8.99999 7.77613 8.99999 7.49999ZM3.31819 6.06819L2.38638 6.99999H5.49999C5.77613 6.99999 5.99999 7.22385 5.99999 7.49999C5.99999 7.77613 5.77613 7.99999 5.49999 7.99999H2.38638L3.31819 8.93179C3.49392 9.10753 3.49392 9.39245 3.31819 9.56819C3.14245 9.74392 2.85753 9.74392 2.68179 9.56819L0.93179 7.81819C0.756054 7.64245 0.756054 7.35753 0.93179 7.18179L2.68179 5.43179C2.85753 5.25605 3.14245 5.25605 3.31819 5.43179C3.49392 5.60753 3.49392 5.89245 3.31819 6.06819Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3g = [\"color\"];\nvar NotionLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3g);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.25781 3.11684C3.67771 3.45796 3.83523 3.43193 4.62369 3.37933L12.0571 2.93299C12.2147 2.93299 12.0836 2.77571 12.0311 2.74957L10.7965 1.85711C10.56 1.67347 10.2448 1.46315 9.64083 1.51576L2.44308 2.04074C2.18059 2.06677 2.12815 2.19801 2.2327 2.30322L3.25781 3.11684ZM3.7041 4.84917V12.6704C3.7041 13.0907 3.91415 13.248 4.38693 13.222L12.5562 12.7493C13.0292 12.7233 13.0819 12.4341 13.0819 12.0927V4.32397C13.0819 3.98306 12.9508 3.79921 12.6612 3.82545L4.12422 4.32397C3.80918 4.35044 3.7041 4.50803 3.7041 4.84917ZM11.7688 5.26872C11.8212 5.50518 11.7688 5.74142 11.5319 5.76799L11.1383 5.84641V11.6205C10.7965 11.8042 10.4814 11.9092 10.2188 11.9092C9.79835 11.9092 9.69305 11.7779 9.37812 11.3844L6.80345 7.34249V11.2532L7.61816 11.437C7.61816 11.437 7.61816 11.9092 6.96086 11.9092L5.14879 12.0143C5.09615 11.9092 5.14879 11.647 5.33259 11.5944L5.80546 11.4634V6.29276L5.1489 6.24015C5.09625 6.00369 5.22739 5.66278 5.5954 5.63631L7.53935 5.50528L10.2188 9.5998V5.97765L9.53564 5.89924C9.4832 5.61018 9.69305 5.40028 9.95576 5.37425L11.7688 5.26872ZM1.83874 1.33212L9.32557 0.780787C10.245 0.701932 10.4815 0.754753 11.0594 1.17452L13.4492 2.85424C13.8436 3.14309 13.975 3.22173 13.975 3.53661V12.7493C13.975 13.3266 13.7647 13.6681 13.0293 13.7203L4.33492 14.2454C3.78291 14.2717 3.52019 14.193 3.23111 13.8253L1.47116 11.5419C1.1558 11.1216 1.02466 10.8071 1.02466 10.4392V2.25041C1.02466 1.77825 1.23504 1.38441 1.83874 1.33212Z\",\n fill: color\n }));\n});\n\nvar _excluded$3h = [\"color\"];\nvar OpacityIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3h);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 1.5C4.5 4.25 3 6.5 3 9C3 11.4853 5.01472 13.5 7.5 13.5C9.98528 13.5 12 11.4853 12 9C12 6.5 10.5 4.25 7.5 1.5ZM11 9C11 7.11203 9.97315 5.27195 7.5 2.87357C5.02686 5.27195 4 7.11203 4 9C4 10.933 5.567 12.5 7.5 12.5C9.433 12.5 11 10.933 11 9Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3i = [\"color\"];\nvar OpenInNewWindowIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3i);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 13C12.5523 13 13 12.5523 13 12V3C13 2.44771 12.5523 2 12 2H3C2.44771 2 2 2.44771 2 3V6.5C2 6.77614 2.22386 7 2.5 7C2.77614 7 3 6.77614 3 6.5V3H12V12H8.5C8.22386 12 8 12.2239 8 12.5C8 12.7761 8.22386 13 8.5 13H12ZM9 6.5C9 6.5001 9 6.50021 9 6.50031V6.50035V9.5C9 9.77614 8.77614 10 8.5 10C8.22386 10 8 9.77614 8 9.5V7.70711L2.85355 12.8536C2.65829 13.0488 2.34171 13.0488 2.14645 12.8536C1.95118 12.6583 1.95118 12.3417 2.14645 12.1464L7.29289 7H5.5C5.22386 7 5 6.77614 5 6.5C5 6.22386 5.22386 6 5.5 6H8.5C8.56779 6 8.63244 6.01349 8.69139 6.03794C8.74949 6.06198 8.80398 6.09744 8.85143 6.14433C8.94251 6.23434 8.9992 6.35909 8.99999 6.49708L8.99999 6.49738\",\n fill: color\n }));\n});\n\nvar _excluded$3j = [\"color\"];\nvar OverlineIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3j);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.49985 1.10001C3.27894 1.10001 3.09985 1.27909 3.09985 1.50001C3.09985 1.72092 3.27894 1.90001 3.49985 1.90001H11.4999C11.7208 1.90001 11.8999 1.72092 11.8999 1.50001C11.8999 1.27909 11.7208 1.10001 11.4999 1.10001H3.49985ZM4.99995 4.25001C4.99995 3.97387 4.77609 3.75001 4.49995 3.75001C4.22381 3.75001 3.99995 3.97387 3.99995 4.25001V9.55001C3.99995 11.483 5.56695 13.05 7.49995 13.05C9.43295 13.05 11 11.483 11 9.55001V4.25001C11 3.97387 10.7761 3.75001 10.5 3.75001C10.2238 3.75001 9.99995 3.97387 9.99995 4.25001V9.55001C9.99995 10.9307 8.88066 12.05 7.49995 12.05C6.11924 12.05 4.99995 10.9307 4.99995 9.55001V4.25001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3k = [\"color\"];\nvar PaddingIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3k);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.85714 2H12.1429C12.6162 2 13 2.38376 13 2.85714V12.1429C13 12.6162 12.6162 13 12.1429 13H2.85714C2.38376 13 2 12.6162 2 12.1429V2.85714C2 2.38376 2.38376 2 2.85714 2ZM1 2.85714C1 1.83147 1.83147 1 2.85714 1H12.1429C13.1685 1 14 1.83147 14 2.85714V12.1429C14 13.1685 13.1685 14 12.1429 14H2.85714C1.83147 14 1 13.1685 1 12.1429V2.85714ZM7.49988 5.00012C7.77602 5.00012 7.99988 4.77626 7.99988 4.50012C7.99988 4.22398 7.77602 4.00012 7.49988 4.00012C7.22374 4.00012 6.99988 4.22398 6.99988 4.50012C6.99988 4.77626 7.22374 5.00012 7.49988 5.00012ZM4.49988 11.0001C4.77602 11.0001 4.99988 10.7763 4.99988 10.5001C4.99988 10.224 4.77602 10.0001 4.49988 10.0001C4.22374 10.0001 3.99988 10.224 3.99988 10.5001C3.99988 10.7763 4.22374 11.0001 4.49988 11.0001ZM4.99988 7.50012C4.99988 7.77626 4.77602 8.00012 4.49988 8.00012C4.22374 8.00012 3.99988 7.77626 3.99988 7.50012C3.99988 7.22398 4.22374 7.00012 4.49988 7.00012C4.77602 7.00012 4.99988 7.22398 4.99988 7.50012ZM4.49988 5.00012C4.77602 5.00012 4.99988 4.77626 4.99988 4.50012C4.99988 4.22398 4.77602 4.00012 4.49988 4.00012C4.22374 4.00012 3.99988 4.22398 3.99988 4.50012C3.99988 4.77626 4.22374 5.00012 4.49988 5.00012ZM10.9999 10.5001C10.9999 10.7763 10.776 11.0001 10.4999 11.0001C10.2237 11.0001 9.99988 10.7763 9.99988 10.5001C9.99988 10.224 10.2237 10.0001 10.4999 10.0001C10.776 10.0001 10.9999 10.224 10.9999 10.5001ZM10.4999 8.00012C10.776 8.00012 10.9999 7.77626 10.9999 7.50012C10.9999 7.22398 10.776 7.00012 10.4999 7.00012C10.2237 7.00012 9.99988 7.22398 9.99988 7.50012C9.99988 7.77626 10.2237 8.00012 10.4999 8.00012ZM10.9999 4.50012C10.9999 4.77626 10.776 5.00012 10.4999 5.00012C10.2237 5.00012 9.99988 4.77626 9.99988 4.50012C9.99988 4.22398 10.2237 4.00012 10.4999 4.00012C10.776 4.00012 10.9999 4.22398 10.9999 4.50012ZM7.49988 11.0001C7.77602 11.0001 7.99988 10.7763 7.99988 10.5001C7.99988 10.224 7.77602 10.0001 7.49988 10.0001C7.22374 10.0001 6.99988 10.224 6.99988 10.5001C6.99988 10.7763 7.22374 11.0001 7.49988 11.0001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3l = [\"color\"];\nvar PaperPlaneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3l);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.20308 1.04312C1.00481 0.954998 0.772341 1.0048 0.627577 1.16641C0.482813 1.32802 0.458794 1.56455 0.568117 1.75196L3.92115 7.50002L0.568117 13.2481C0.458794 13.4355 0.482813 13.672 0.627577 13.8336C0.772341 13.9952 1.00481 14.045 1.20308 13.9569L14.7031 7.95693C14.8836 7.87668 15 7.69762 15 7.50002C15 7.30243 14.8836 7.12337 14.7031 7.04312L1.20308 1.04312ZM4.84553 7.10002L2.21234 2.586L13.2689 7.50002L2.21234 12.414L4.84552 7.90002H9C9.22092 7.90002 9.4 7.72094 9.4 7.50002C9.4 7.27911 9.22092 7.10002 9 7.10002H4.84553Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3m = [\"color\"];\nvar PauseIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3m);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.04995 2.74998C6.04995 2.44623 5.80371 2.19998 5.49995 2.19998C5.19619 2.19998 4.94995 2.44623 4.94995 2.74998V12.25C4.94995 12.5537 5.19619 12.8 5.49995 12.8C5.80371 12.8 6.04995 12.5537 6.04995 12.25V2.74998ZM10.05 2.74998C10.05 2.44623 9.80371 2.19998 9.49995 2.19998C9.19619 2.19998 8.94995 2.44623 8.94995 2.74998V12.25C8.94995 12.5537 9.19619 12.8 9.49995 12.8C9.80371 12.8 10.05 12.5537 10.05 12.25V2.74998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3n = [\"color\"];\nvar Pencil1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3n);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.8536 1.14645C11.6583 0.951184 11.3417 0.951184 11.1465 1.14645L3.71455 8.57836C3.62459 8.66832 3.55263 8.77461 3.50251 8.89155L2.04044 12.303C1.9599 12.491 2.00189 12.709 2.14646 12.8536C2.29103 12.9981 2.50905 13.0401 2.69697 12.9596L6.10847 11.4975C6.2254 11.4474 6.3317 11.3754 6.42166 11.2855L13.8536 3.85355C14.0488 3.65829 14.0488 3.34171 13.8536 3.14645L11.8536 1.14645ZM4.42166 9.28547L11.5 2.20711L12.7929 3.5L5.71455 10.5784L4.21924 11.2192L3.78081 10.7808L4.42166 9.28547Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3o = [\"color\"];\nvar Pencil2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3o);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.1464 1.14645C12.3417 0.951184 12.6583 0.951184 12.8535 1.14645L14.8535 3.14645C15.0488 3.34171 15.0488 3.65829 14.8535 3.85355L10.9109 7.79618C10.8349 7.87218 10.7471 7.93543 10.651 7.9835L6.72359 9.94721C6.53109 10.0435 6.29861 10.0057 6.14643 9.85355C5.99425 9.70137 5.95652 9.46889 6.05277 9.27639L8.01648 5.34897C8.06455 5.25283 8.1278 5.16507 8.2038 5.08907L12.1464 1.14645ZM12.5 2.20711L8.91091 5.79618L7.87266 7.87267L8.12731 8.12732L10.2038 7.08907L13.7929 3.5L12.5 2.20711ZM9.99998 2L8.99998 3H4.9C4.47171 3 4.18056 3.00039 3.95552 3.01877C3.73631 3.03668 3.62421 3.06915 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3.06915 3.62421 3.03669 3.73631 3.01878 3.95552C3.00039 4.18056 3 4.47171 3 4.9V11.1C3 11.5283 3.00039 11.8194 3.01878 12.0445C3.03669 12.2637 3.06915 12.3758 3.10899 12.454C3.20487 12.6422 3.35785 12.7951 3.54601 12.891C3.62421 12.9309 3.73631 12.9633 3.95552 12.9812C4.18056 12.9996 4.47171 13 4.9 13H11.1C11.5283 13 11.8194 12.9996 12.0445 12.9812C12.2637 12.9633 12.3758 12.9309 12.454 12.891C12.6422 12.7951 12.7951 12.6422 12.891 12.454C12.9309 12.3758 12.9633 12.2637 12.9812 12.0445C12.9996 11.8194 13 11.5283 13 11.1V6.99998L14 5.99998V11.1V11.1207C14 11.5231 14 11.8553 13.9779 12.1259C13.9549 12.407 13.9057 12.6653 13.782 12.908C13.5903 13.2843 13.2843 13.5903 12.908 13.782C12.6653 13.9057 12.407 13.9549 12.1259 13.9779C11.8553 14 11.5231 14 11.1207 14H11.1H4.9H4.87934C4.47686 14 4.14468 14 3.87409 13.9779C3.59304 13.9549 3.33469 13.9057 3.09202 13.782C2.7157 13.5903 2.40973 13.2843 2.21799 12.908C2.09434 12.6653 2.04506 12.407 2.0221 12.1259C1.99999 11.8553 1.99999 11.5231 2 11.1207V11.1206V11.1V4.9V4.87935V4.87932V4.87931C1.99999 4.47685 1.99999 4.14468 2.0221 3.87409C2.04506 3.59304 2.09434 3.33469 2.21799 3.09202C2.40973 2.71569 2.7157 2.40973 3.09202 2.21799C3.33469 2.09434 3.59304 2.04506 3.87409 2.0221C4.14468 1.99999 4.47685 1.99999 4.87932 2H4.87935H4.9H9.99998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3p = [\"color\"];\nvar PersonIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3p);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 0.875C5.49797 0.875 3.875 2.49797 3.875 4.5C3.875 6.15288 4.98124 7.54738 6.49373 7.98351C5.2997 8.12901 4.27557 8.55134 3.50407 9.31167C2.52216 10.2794 2.02502 11.72 2.02502 13.5999C2.02502 13.8623 2.23769 14.0749 2.50002 14.0749C2.76236 14.0749 2.97502 13.8623 2.97502 13.5999C2.97502 11.8799 3.42786 10.7206 4.17091 9.9883C4.91536 9.25463 6.02674 8.87499 7.49995 8.87499C8.97317 8.87499 10.0846 9.25463 10.8291 9.98831C11.5721 10.7206 12.025 11.8799 12.025 13.5999C12.025 13.8623 12.2376 14.0749 12.5 14.0749C12.7623 14.075 12.975 13.8623 12.975 13.6C12.975 11.72 12.4778 10.2794 11.4959 9.31166C10.7244 8.55135 9.70025 8.12903 8.50625 7.98352C10.0187 7.5474 11.125 6.15289 11.125 4.5C11.125 2.49797 9.50203 0.875 7.5 0.875ZM4.825 4.5C4.825 3.02264 6.02264 1.825 7.5 1.825C8.97736 1.825 10.175 3.02264 10.175 4.5C10.175 5.97736 8.97736 7.175 7.5 7.175C6.02264 7.175 4.825 5.97736 4.825 4.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3q = [\"color\"];\nvar PieChartIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.85001 7.50043C1.85001 4.37975 4.37963 1.85001 7.50001 1.85001C10.6204 1.85001 13.15 4.37975 13.15 7.50043C13.15 10.6211 10.6204 13.1509 7.50001 13.1509C4.37963 13.1509 1.85001 10.6211 1.85001 7.50043ZM7.50001 0.850006C3.82728 0.850006 0.850006 3.82753 0.850006 7.50043C0.850006 11.1733 3.82728 14.1509 7.50001 14.1509C11.1727 14.1509 14.15 11.1733 14.15 7.50043C14.15 3.82753 11.1727 0.850006 7.50001 0.850006ZM7.00001 8.00001V3.12811C7.16411 3.10954 7.33094 3.10001 7.50001 3.10001C9.93006 3.10001 11.9 5.07014 11.9 7.50043C11.9 7.66935 11.8905 7.83604 11.872 8.00001H7.00001Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3r = [\"color\"];\nvar PilcrowIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3r);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3 5.5C3 7.983 4.99169 9 7 9V12.5C7 12.7761 7.22386 13 7.5 13C7.77614 13 8 12.7761 8 12.5V9V3.1H9V12.5C9 12.7761 9.22386 13 9.5 13C9.77614 13 10 12.7761 10 12.5V3.1H11.5C11.8038 3.1 12.05 2.85376 12.05 2.55C12.05 2.24624 11.8038 2 11.5 2H9.5H8H7.5H7C4.99169 2 3 3.017 3 5.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3s = [\"color\"];\nvar PinBottomIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3s);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.5 13.95C13.7485 13.95 13.95 13.7485 13.95 13.5C13.95 13.2514 13.7485 13.05 13.5 13.05L1.49995 13.05C1.25142 13.05 1.04995 13.2514 1.04995 13.5C1.04995 13.7485 1.25142 13.95 1.49995 13.95L13.5 13.95ZM11.0681 7.5683C11.2439 7.39257 11.2439 7.10764 11.0681 6.93191C10.8924 6.75617 10.6075 6.75617 10.4317 6.93191L7.94993 9.41371L7.94993 1.49998C7.94993 1.25146 7.74846 1.04998 7.49993 1.04998C7.2514 1.04998 7.04993 1.25146 7.04993 1.49998L7.04993 9.41371L4.56813 6.93191C4.39239 6.75617 4.10746 6.75617 3.93173 6.93191C3.75599 7.10764 3.75599 7.39257 3.93173 7.5683L7.18173 10.8183C7.35746 10.994 7.64239 10.994 7.81812 10.8183L11.0681 7.5683Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3t = [\"color\"];\nvar PinLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3t);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.05005 13.5C2.05005 13.7485 2.25152 13.95 2.50005 13.95C2.74858 13.95 2.95005 13.7485 2.95005 13.5L2.95005 1.49995C2.95005 1.25142 2.74858 1.04995 2.50005 1.04995C2.25152 1.04995 2.05005 1.25142 2.05005 1.49995L2.05005 13.5ZM8.4317 11.0681C8.60743 11.2439 8.89236 11.2439 9.06809 11.0681C9.24383 10.8924 9.24383 10.6075 9.06809 10.4317L6.58629 7.94993L14.5 7.94993C14.7485 7.94993 14.95 7.74846 14.95 7.49993C14.95 7.2514 14.7485 7.04993 14.5 7.04993L6.58629 7.04993L9.06809 4.56813C9.24383 4.39239 9.24383 4.10746 9.06809 3.93173C8.89236 3.75599 8.60743 3.75599 8.4317 3.93173L5.1817 7.18173C5.00596 7.35746 5.00596 7.64239 5.1817 7.81812L8.4317 11.0681Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3u = [\"color\"];\nvar PinRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3u);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.95 1.50005C12.95 1.25152 12.7485 1.05005 12.5 1.05005C12.2514 1.05005 12.05 1.25152 12.05 1.50005L12.05 13.5C12.05 13.7486 12.2514 13.95 12.5 13.95C12.7485 13.95 12.95 13.7486 12.95 13.5L12.95 1.50005ZM6.5683 3.93188C6.39257 3.75614 6.10764 3.75614 5.93191 3.93188C5.75617 4.10761 5.75617 4.39254 5.93191 4.56827L8.41371 7.05007L0.499984 7.05007C0.251456 7.05007 0.0499847 7.25155 0.0499847 7.50007C0.0499846 7.7486 0.251457 7.95007 0.499984 7.95007L8.41371 7.95007L5.93191 10.4319C5.75617 10.6076 5.75617 10.8925 5.93191 11.0683C6.10764 11.244 6.39257 11.244 6.56831 11.0683L9.8183 7.81827C9.99404 7.64254 9.99404 7.35761 9.8183 7.18188L6.5683 3.93188Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3v = [\"color\"];\nvar PinTopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3v);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.50005 1.05005C1.25152 1.05005 1.05005 1.25152 1.05005 1.50005C1.05005 1.74858 1.25152 1.95005 1.50005 1.95005L13.5 1.95005C13.7486 1.95005 13.95 1.74858 13.95 1.50005C13.95 1.25152 13.7486 1.05005 13.5 1.05005H1.50005ZM3.93188 7.43169C3.75614 7.60743 3.75614 7.89236 3.93188 8.06809C4.10761 8.24383 4.39254 8.24383 4.56827 8.06809L7.05007 5.58629V13.5C7.05007 13.7485 7.25155 13.95 7.50007 13.95C7.7486 13.95 7.95007 13.7485 7.95007 13.5L7.95007 5.58629L10.4319 8.06809C10.6076 8.24383 10.8925 8.24383 11.0683 8.06809C11.244 7.89235 11.244 7.60743 11.0683 7.43169L7.81827 4.18169C7.64254 4.00596 7.35761 4.00596 7.18188 4.18169L3.93188 7.43169Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3w = [\"color\"];\nvar PlayIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3w);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.24182 2.32181C3.3919 2.23132 3.5784 2.22601 3.73338 2.30781L12.7334 7.05781C12.8974 7.14436 13 7.31457 13 7.5C13 7.68543 12.8974 7.85564 12.7334 7.94219L3.73338 12.6922C3.5784 12.774 3.3919 12.7687 3.24182 12.6782C3.09175 12.5877 3 12.4252 3 12.25V2.75C3 2.57476 3.09175 2.4123 3.24182 2.32181ZM4 3.57925V11.4207L11.4288 7.5L4 3.57925Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3x = [\"color\"];\nvar PlusIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3x);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8 2.75C8 2.47386 7.77614 2.25 7.5 2.25C7.22386 2.25 7 2.47386 7 2.75V7H2.75C2.47386 7 2.25 7.22386 2.25 7.5C2.25 7.77614 2.47386 8 2.75 8H7V12.25C7 12.5261 7.22386 12.75 7.5 12.75C7.77614 12.75 8 12.5261 8 12.25V8H12.25C12.5261 8 12.75 7.77614 12.75 7.5C12.75 7.22386 12.5261 7 12.25 7H8V2.75Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3y = [\"color\"];\nvar PlusCircledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM7.50003 4C7.77617 4 8.00003 4.22386 8.00003 4.5V7H10.5C10.7762 7 11 7.22386 11 7.5C11 7.77614 10.7762 8 10.5 8H8.00003V10.5C8.00003 10.7761 7.77617 11 7.50003 11C7.22389 11 7.00003 10.7761 7.00003 10.5V8H4.50003C4.22389 8 4.00003 7.77614 4.00003 7.5C4.00003 7.22386 4.22389 7 4.50003 7H7.00003V4.5C7.00003 4.22386 7.22389 4 7.50003 4Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3z = [\"color\"];\nvar QuestionMarkIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.07505 4.10001C5.07505 2.91103 6.25727 1.92502 7.50005 1.92502C8.74283 1.92502 9.92505 2.91103 9.92505 4.10001C9.92505 5.19861 9.36782 5.71436 8.61854 6.37884L8.58757 6.4063C7.84481 7.06467 6.92505 7.87995 6.92505 9.5C6.92505 9.81757 7.18248 10.075 7.50005 10.075C7.81761 10.075 8.07505 9.81757 8.07505 9.5C8.07505 8.41517 8.62945 7.90623 9.38156 7.23925L9.40238 7.22079C10.1496 6.55829 11.075 5.73775 11.075 4.10001C11.075 2.12757 9.21869 0.775024 7.50005 0.775024C5.7814 0.775024 3.92505 2.12757 3.92505 4.10001C3.92505 4.41758 4.18249 4.67501 4.50005 4.67501C4.81761 4.67501 5.07505 4.41758 5.07505 4.10001ZM7.50005 13.3575C7.9833 13.3575 8.37505 12.9657 8.37505 12.4825C8.37505 11.9992 7.9833 11.6075 7.50005 11.6075C7.0168 11.6075 6.62505 11.9992 6.62505 12.4825C6.62505 12.9657 7.0168 13.3575 7.50005 13.3575Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3A = [\"color\"];\nvar QuestionMarkCircledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3A);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877075 7.49972C0.877075 3.84204 3.84222 0.876892 7.49991 0.876892C11.1576 0.876892 14.1227 3.84204 14.1227 7.49972C14.1227 11.1574 11.1576 14.1226 7.49991 14.1226C3.84222 14.1226 0.877075 11.1574 0.877075 7.49972ZM7.49991 1.82689C4.36689 1.82689 1.82708 4.36671 1.82708 7.49972C1.82708 10.6327 4.36689 13.1726 7.49991 13.1726C10.6329 13.1726 13.1727 10.6327 13.1727 7.49972C13.1727 4.36671 10.6329 1.82689 7.49991 1.82689ZM8.24993 10.5C8.24993 10.9142 7.91414 11.25 7.49993 11.25C7.08571 11.25 6.74993 10.9142 6.74993 10.5C6.74993 10.0858 7.08571 9.75 7.49993 9.75C7.91414 9.75 8.24993 10.0858 8.24993 10.5ZM6.05003 6.25C6.05003 5.57211 6.63511 4.925 7.50003 4.925C8.36496 4.925 8.95003 5.57211 8.95003 6.25C8.95003 6.74118 8.68002 6.99212 8.21447 7.27494C8.16251 7.30651 8.10258 7.34131 8.03847 7.37854L8.03841 7.37858C7.85521 7.48497 7.63788 7.61119 7.47449 7.73849C7.23214 7.92732 6.95003 8.23198 6.95003 8.7C6.95004 9.00376 7.19628 9.25 7.50004 9.25C7.8024 9.25 8.04778 9.00601 8.05002 8.70417L8.05056 8.7033C8.05924 8.6896 8.08493 8.65735 8.15058 8.6062C8.25207 8.52712 8.36508 8.46163 8.51567 8.37436L8.51571 8.37433C8.59422 8.32883 8.68296 8.27741 8.78559 8.21506C9.32004 7.89038 10.05 7.35382 10.05 6.25C10.05 4.92789 8.93511 3.825 7.50003 3.825C6.06496 3.825 4.95003 4.92789 4.95003 6.25C4.95003 6.55376 5.19628 6.8 5.50003 6.8C5.80379 6.8 6.05003 6.55376 6.05003 6.25Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3B = [\"color\"];\nvar QuoteIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3B);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9.42503 3.44136C10.0561 3.23654 10.7837 3.2402 11.3792 3.54623C12.7532 4.25224 13.3477 6.07191 12.7946 8C12.5465 8.8649 12.1102 9.70472 11.1861 10.5524C10.262 11.4 8.98034 11.9 8.38571 11.9C8.17269 11.9 8 11.7321 8 11.525C8 11.3179 8.17644 11.15 8.38571 11.15C9.06497 11.15 9.67189 10.7804 10.3906 10.236C10.9406 9.8193 11.3701 9.28633 11.608 8.82191C12.0628 7.93367 12.0782 6.68174 11.3433 6.34901C10.9904 6.73455 10.5295 6.95946 9.97725 6.95946C8.7773 6.95946 8.0701 5.99412 8.10051 5.12009C8.12957 4.28474 8.66032 3.68954 9.42503 3.44136ZM3.42503 3.44136C4.05614 3.23654 4.78366 3.2402 5.37923 3.54623C6.7532 4.25224 7.34766 6.07191 6.79462 8C6.54654 8.8649 6.11019 9.70472 5.1861 10.5524C4.26201 11.4 2.98034 11.9 2.38571 11.9C2.17269 11.9 2 11.7321 2 11.525C2 11.3179 2.17644 11.15 2.38571 11.15C3.06497 11.15 3.67189 10.7804 4.39058 10.236C4.94065 9.8193 5.37014 9.28633 5.60797 8.82191C6.06282 7.93367 6.07821 6.68174 5.3433 6.34901C4.99037 6.73455 4.52948 6.95946 3.97725 6.95946C2.7773 6.95946 2.0701 5.99412 2.10051 5.12009C2.12957 4.28474 2.66032 3.68954 3.42503 3.44136Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3C = [\"color\"];\nvar RadiobuttonIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3C);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49985 0.877045C3.84216 0.877045 0.877014 3.84219 0.877014 7.49988C0.877014 11.1575 3.84216 14.1227 7.49985 14.1227C11.1575 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 3.84219 11.1575 0.877045 7.49985 0.877045ZM1.82701 7.49988C1.82701 4.36686 4.36683 1.82704 7.49985 1.82704C10.6328 1.82704 13.1727 4.36686 13.1727 7.49988C13.1727 10.6329 10.6328 13.1727 7.49985 13.1727C4.36683 13.1727 1.82701 10.6329 1.82701 7.49988ZM7.49999 9.49999C8.60456 9.49999 9.49999 8.60456 9.49999 7.49999C9.49999 6.39542 8.60456 5.49999 7.49999 5.49999C6.39542 5.49999 5.49999 6.39542 5.49999 7.49999C5.49999 8.60456 6.39542 9.49999 7.49999 9.49999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3D = [\"color\"];\nvar ReaderIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3D);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.2 1H4.17741H4.1774C3.86936 0.999988 3.60368 0.999978 3.38609 1.02067C3.15576 1.04257 2.92825 1.09113 2.71625 1.22104C2.51442 1.34472 2.34473 1.51442 2.22104 1.71625C2.09113 1.92825 2.04257 2.15576 2.02067 2.38609C1.99998 2.60367 1.99999 2.86935 2 3.17738V3.1774V3.2V11.8V11.8226V11.8226C1.99999 12.1307 1.99998 12.3963 2.02067 12.6139C2.04257 12.8442 2.09113 13.0717 2.22104 13.2837C2.34473 13.4856 2.51442 13.6553 2.71625 13.779C2.92825 13.9089 3.15576 13.9574 3.38609 13.9793C3.60368 14 3.86937 14 4.17741 14H4.2H10.8H10.8226C11.1306 14 11.3963 14 11.6139 13.9793C11.8442 13.9574 12.0717 13.9089 12.2837 13.779C12.4856 13.6553 12.6553 13.4856 12.779 13.2837C12.9089 13.0717 12.9574 12.8442 12.9793 12.6139C13 12.3963 13 12.1306 13 11.8226V11.8V3.2V3.17741C13 2.86936 13 2.60368 12.9793 2.38609C12.9574 2.15576 12.9089 1.92825 12.779 1.71625C12.6553 1.51442 12.4856 1.34472 12.2837 1.22104C12.0717 1.09113 11.8442 1.04257 11.6139 1.02067C11.3963 0.999978 11.1306 0.999988 10.8226 1H10.8H4.2ZM3.23875 2.07368C3.26722 2.05623 3.32362 2.03112 3.48075 2.01618C3.64532 2.00053 3.86298 2 4.2 2H10.8C11.137 2 11.3547 2.00053 11.5193 2.01618C11.6764 2.03112 11.7328 2.05623 11.7613 2.07368C11.8285 2.11491 11.8851 2.17147 11.9263 2.23875C11.9438 2.26722 11.9689 2.32362 11.9838 2.48075C11.9995 2.64532 12 2.86298 12 3.2V11.8C12 12.137 11.9995 12.3547 11.9838 12.5193C11.9689 12.6764 11.9438 12.7328 11.9263 12.7613C11.8851 12.8285 11.8285 12.8851 11.7613 12.9263C11.7328 12.9438 11.6764 12.9689 11.5193 12.9838C11.3547 12.9995 11.137 13 10.8 13H4.2C3.86298 13 3.64532 12.9995 3.48075 12.9838C3.32362 12.9689 3.26722 12.9438 3.23875 12.9263C3.17147 12.8851 3.11491 12.8285 3.07368 12.7613C3.05624 12.7328 3.03112 12.6764 3.01618 12.5193C3.00053 12.3547 3 12.137 3 11.8V3.2C3 2.86298 3.00053 2.64532 3.01618 2.48075C3.03112 2.32362 3.05624 2.26722 3.07368 2.23875C3.11491 2.17147 3.17147 2.11491 3.23875 2.07368ZM5 10C4.72386 10 4.5 10.2239 4.5 10.5C4.5 10.7761 4.72386 11 5 11H8C8.27614 11 8.5 10.7761 8.5 10.5C8.5 10.2239 8.27614 10 8 10H5ZM4.5 7.5C4.5 7.22386 4.72386 7 5 7H10C10.2761 7 10.5 7.22386 10.5 7.5C10.5 7.77614 10.2761 8 10 8H5C4.72386 8 4.5 7.77614 4.5 7.5ZM5 4C4.72386 4 4.5 4.22386 4.5 4.5C4.5 4.77614 4.72386 5 5 5H10C10.2761 5 10.5 4.77614 10.5 4.5C10.5 4.22386 10.2761 4 10 4H5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3E = [\"color\"];\nvar ReloadIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3E);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.84998 7.49998C1.84998 4.66458 4.05979 1.84998 7.49998 1.84998C10.2783 1.84998 11.6515 3.9064 12.2367 5H10.5C10.2239 5 10 5.22386 10 5.5C10 5.77614 10.2239 6 10.5 6H13.5C13.7761 6 14 5.77614 14 5.5V2.5C14 2.22386 13.7761 2 13.5 2C13.2239 2 13 2.22386 13 2.5V4.31318C12.2955 3.07126 10.6659 0.849976 7.49998 0.849976C3.43716 0.849976 0.849976 4.18537 0.849976 7.49998C0.849976 10.8146 3.43716 14.15 7.49998 14.15C9.44382 14.15 11.0622 13.3808 12.2145 12.2084C12.8315 11.5806 13.3133 10.839 13.6418 10.0407C13.7469 9.78536 13.6251 9.49315 13.3698 9.38806C13.1144 9.28296 12.8222 9.40478 12.7171 9.66014C12.4363 10.3425 12.0251 10.9745 11.5013 11.5074C10.5295 12.4963 9.16504 13.15 7.49998 13.15C4.05979 13.15 1.84998 10.3354 1.84998 7.49998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3F = [\"color\"];\nvar ResetIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3F);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.85355 2.14645C5.04882 2.34171 5.04882 2.65829 4.85355 2.85355L3.70711 4H9C11.4853 4 13.5 6.01472 13.5 8.5C13.5 10.9853 11.4853 13 9 13H5C4.72386 13 4.5 12.7761 4.5 12.5C4.5 12.2239 4.72386 12 5 12H9C10.933 12 12.5 10.433 12.5 8.5C12.5 6.567 10.933 5 9 5H3.70711L4.85355 6.14645C5.04882 6.34171 5.04882 6.65829 4.85355 6.85355C4.65829 7.04882 4.34171 7.04882 4.14645 6.85355L2.14645 4.85355C1.95118 4.65829 1.95118 4.34171 2.14645 4.14645L4.14645 2.14645C4.34171 1.95118 4.65829 1.95118 4.85355 2.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3G = [\"color\"];\nvar ResumeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3G);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.04995 2.74995C3.04995 2.44619 2.80371 2.19995 2.49995 2.19995C2.19619 2.19995 1.94995 2.44619 1.94995 2.74995V12.25C1.94995 12.5537 2.19619 12.8 2.49995 12.8C2.80371 12.8 3.04995 12.5537 3.04995 12.25V2.74995ZM5.73333 2.30776C5.57835 2.22596 5.39185 2.23127 5.24177 2.32176C5.0917 2.41225 4.99995 2.57471 4.99995 2.74995V12.25C4.99995 12.4252 5.0917 12.5877 5.24177 12.6781C5.39185 12.7686 5.57835 12.7739 5.73333 12.6921L14.7333 7.94214C14.8973 7.85559 15 7.68539 15 7.49995C15 7.31452 14.8973 7.14431 14.7333 7.05776L5.73333 2.30776ZM5.99995 11.4207V3.5792L13.4287 7.49995L5.99995 11.4207Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3H = [\"color\"];\nvar RocketIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3H);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.85357 3.85355L7.65355 3.05353C8.2981 2.40901 9.42858 1.96172 10.552 1.80125C11.1056 1.72217 11.6291 1.71725 12.0564 1.78124C12.4987 1.84748 12.7698 1.97696 12.8965 2.10357C13.0231 2.23018 13.1526 2.50125 13.2188 2.94357C13.2828 3.37086 13.2779 3.89439 13.1988 4.44801C13.0383 5.57139 12.591 6.70188 11.9464 7.34645L7.49999 11.7929L6.35354 10.6465C6.15827 10.4512 5.84169 10.4512 5.64643 10.6465C5.45117 10.8417 5.45117 11.1583 5.64643 11.3536L7.14644 12.8536C7.34171 13.0488 7.65829 13.0488 7.85355 12.8536L8.40073 12.3064L9.57124 14.2572C9.65046 14.3893 9.78608 14.4774 9.9389 14.4963C10.0917 14.5151 10.2447 14.4624 10.3535 14.3536L12.3535 12.3536C12.4648 12.2423 12.5172 12.0851 12.495 11.9293L12.0303 8.67679L12.6536 8.05355C13.509 7.19808 14.0117 5.82855 14.1887 4.58943C14.2784 3.9618 14.2891 3.33847 14.2078 2.79546C14.1287 2.26748 13.9519 1.74482 13.6035 1.39645C13.2552 1.04809 12.7325 0.871332 12.2045 0.792264C11.6615 0.710945 11.0382 0.721644 10.4105 0.8113C9.17143 0.988306 7.80189 1.491 6.94644 2.34642L6.32322 2.96968L3.07071 2.50504C2.91492 2.48278 2.75773 2.53517 2.64645 2.64646L0.646451 4.64645C0.537579 4.75533 0.484938 4.90829 0.50375 5.0611C0.522563 5.21391 0.61073 5.34954 0.742757 5.42876L2.69364 6.59928L2.14646 7.14645C2.0527 7.24022 2.00002 7.3674 2.00002 7.50001C2.00002 7.63261 2.0527 7.75979 2.14646 7.85356L3.64647 9.35356C3.84173 9.54883 4.15831 9.54883 4.35357 9.35356C4.54884 9.1583 4.54884 8.84172 4.35357 8.64646L3.20712 7.50001L3.85357 6.85356L6.85357 3.85355ZM10.0993 13.1936L9.12959 11.5775L11.1464 9.56067L11.4697 11.8232L10.0993 13.1936ZM3.42251 5.87041L5.43935 3.85356L3.17678 3.53034L1.80638 4.90074L3.42251 5.87041ZM2.35356 10.3535C2.54882 10.1583 2.54882 9.8417 2.35356 9.64644C2.1583 9.45118 1.84171 9.45118 1.64645 9.64644L0.646451 10.6464C0.451188 10.8417 0.451188 11.1583 0.646451 11.3535C0.841713 11.5488 1.1583 11.5488 1.35356 11.3535L2.35356 10.3535ZM3.85358 11.8536C4.04884 11.6583 4.04885 11.3417 3.85359 11.1465C3.65833 10.9512 3.34175 10.9512 3.14648 11.1465L1.14645 13.1464C0.95119 13.3417 0.951187 13.6583 1.14645 13.8535C1.34171 14.0488 1.65829 14.0488 1.85355 13.8536L3.85358 11.8536ZM5.35356 13.3535C5.54882 13.1583 5.54882 12.8417 5.35356 12.6464C5.1583 12.4512 4.84171 12.4512 4.64645 12.6464L3.64645 13.6464C3.45119 13.8417 3.45119 14.1583 3.64645 14.3535C3.84171 14.5488 4.1583 14.5488 4.35356 14.3535L5.35356 13.3535ZM9.49997 6.74881C10.1897 6.74881 10.7488 6.1897 10.7488 5.5C10.7488 4.8103 10.1897 4.25118 9.49997 4.25118C8.81026 4.25118 8.25115 4.8103 8.25115 5.5C8.25115 6.1897 8.81026 6.74881 9.49997 6.74881Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3I = [\"color\"];\nvar RotateCounterClockwiseIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3I);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.59664 2.93628C7.76085 3.06401 8.00012 2.94698 8.00012 2.73895V1.99998C9.98143 2 11.1848 2.3637 11.9105 3.08945C12.6363 3.81522 13 5.0186 13 6.99998C13 7.27613 13.2239 7.49998 13.5 7.49998C13.7761 7.49998 14 7.27613 14 6.99998C14 4.9438 13.6325 3.39719 12.6176 2.38234C11.6028 1.36752 10.0562 0.999999 8.00012 0.999984V0.261266C8.00012 0.0532293 7.76085 -0.0637944 7.59664 0.063928L6.00384 1.30277C5.87516 1.40286 5.87516 1.59735 6.00384 1.69744L7.59664 2.93628ZM9.5 5H2.5C2.22386 5 2 5.22386 2 5.5V12.5C2 12.7761 2.22386 13 2.5 13H9.5C9.77614 13 10 12.7761 10 12.5V5.5C10 5.22386 9.77614 5 9.5 5ZM2.5 4C1.67157 4 1 4.67157 1 5.5V12.5C1 13.3284 1.67157 14 2.5 14H9.5C10.3284 14 11 13.3284 11 12.5V5.5C11 4.67157 10.3284 4 9.5 4H2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3J = [\"color\"];\nvar RowSpacingIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3J);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.81832 0.68179C7.64258 0.506054 7.35766 0.506054 7.18192 0.68179L5.18192 2.68179C5.00619 2.85753 5.00619 3.14245 5.18192 3.31819C5.35766 3.49392 5.64258 3.49392 5.81832 3.31819L7.05012 2.08638L7.05012 5.50023C7.05012 5.74876 7.25159 5.95023 7.50012 5.95023C7.74865 5.95023 7.95012 5.74876 7.95012 5.50023L7.95012 2.08638L9.18192 3.31819C9.35766 3.49392 9.64258 3.49392 9.81832 3.31819C9.99406 3.14245 9.99406 2.85753 9.81832 2.68179L7.81832 0.68179ZM7.95012 12.9136V9.50023C7.95012 9.2517 7.74865 9.05023 7.50012 9.05023C7.25159 9.05023 7.05012 9.2517 7.05012 9.50023V12.9136L5.81832 11.6818C5.64258 11.5061 5.35766 11.5061 5.18192 11.6818C5.00619 11.8575 5.00619 12.1424 5.18192 12.3182L7.18192 14.3182C7.26632 14.4026 7.38077 14.45 7.50012 14.45C7.61947 14.45 7.73393 14.4026 7.81832 14.3182L9.81832 12.3182C9.99406 12.1424 9.99406 11.8575 9.81832 11.6818C9.64258 11.5061 9.35766 11.5061 9.18192 11.6818L7.95012 12.9136ZM1.49994 7.00017C1.2238 7.00017 0.999939 7.22403 0.999939 7.50017C0.999939 7.77631 1.2238 8.00017 1.49994 8.00017L13.4999 8.00017C13.7761 8.00017 13.9999 7.77631 13.9999 7.50017C13.9999 7.22403 13.7761 7.00017 13.4999 7.00017L1.49994 7.00017Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3K = [\"color\"];\nvar RowsIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3K);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14 12.85L1 12.85L1 14.15L14 14.15L14 12.85ZM14 8.85002L1 8.85002L1 10.15L14 10.15L14 8.85002ZM1 4.85003L14 4.85003L14 6.15003L1 6.15002L1 4.85003ZM14 0.850025L1 0.850025L1 2.15002L14 2.15002L14 0.850025Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3L = [\"color\"];\nvar RulerHorizontalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3L);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.5 4C0.223858 4 0 4.22386 0 4.5V10.5C0 10.7761 0.223858 11 0.5 11H14.5C14.7761 11 15 10.7761 15 10.5V4.5C15 4.22386 14.7761 4 14.5 4H0.5ZM1 10V5H2.075V7.5C2.075 7.73472 2.26528 7.925 2.5 7.925C2.73472 7.925 2.925 7.73472 2.925 7.5V5H4.075V6.5C4.075 6.73472 4.26528 6.925 4.5 6.925C4.73472 6.925 4.925 6.73472 4.925 6.5V5H6.075V6.5C6.075 6.73472 6.26528 6.925 6.5 6.925C6.73472 6.925 6.925 6.73472 6.925 6.5V5H8.075V7.5C8.075 7.73472 8.26528 7.925 8.5 7.925C8.73472 7.925 8.925 7.73472 8.925 7.5V5H10.075V6.5C10.075 6.73472 10.2653 6.925 10.5 6.925C10.7347 6.925 10.925 6.73472 10.925 6.5V5H12.075V6.5C12.075 6.73472 12.2653 6.925 12.5 6.925C12.7347 6.925 12.925 6.73472 12.925 6.5V5H14V10H1Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3M = [\"color\"];\nvar RulerSquareIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3M);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.5 0C0.223858 0 0 0.223858 0 0.5V14.5C0 14.7761 0.223858 15 0.5 15H4.5C4.77614 15 5 14.7761 5 14.5V5H14.5C14.7761 5 15 4.77614 15 4.5V0.5C15 0.223858 14.7761 0 14.5 0H0.5ZM1 4.07505L1 1H4.07502C4.07502 1 4.07502 1 4.07502 1L4.07505 4.07507L1 4.07505ZM0.999997 4.92505L1 14H4V12.925H2.75002C2.5153 12.925 2.32502 12.7348 2.32502 12.5C2.32502 12.2653 2.5153 12.075 2.75002 12.075H4V10.925H2.25002C2.0153 10.925 1.82502 10.7347 1.82502 10.5C1.82502 10.2653 2.0153 10.075 2.25002 10.075H4V8.92504L2.75002 8.92502C2.5153 8.92502 2.32502 8.73474 2.32502 8.50002C2.32503 8.26529 2.51531 8.07502 2.75003 8.07502L4 8.07504V6.92502L2.74999 6.925C2.51527 6.925 2.325 6.73472 2.325 6.5C2.325 6.26528 2.51529 6.075 2.75001 6.075L4 6.07502V4.92507L0.999997 4.92505ZM4.92505 4H6.075V2.75006C6.075 2.51534 6.26528 2.32506 6.5 2.32506C6.73472 2.32506 6.925 2.51534 6.925 2.75006V4H8.07502V2.75005C8.07502 2.51533 8.2653 2.32505 8.50002 2.32505C8.73474 2.32505 8.92502 2.51533 8.92502 2.75005V4H10.0751V2.25005C10.0751 2.01533 10.2653 1.82505 10.5001 1.82505C10.7348 1.82505 10.9251 2.01533 10.9251 2.25005V4H12.0751V2.75005C12.0751 2.51533 12.2654 2.32505 12.5001 2.32505C12.7348 2.32505 12.9251 2.51533 12.9251 2.75005V4H14V1H4.92502L4.92505 4Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3N = [\"color\"];\nvar ScissorsIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3N);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.949988 4.48455C0.949988 5.34059 1.64395 6.03455 2.49999 6.03455C3.35603 6.03455 4.04999 5.34059 4.04999 4.48455C4.04999 3.6285 3.35603 2.93455 2.49999 2.93455C1.64395 2.93455 0.949988 3.6285 0.949988 4.48455ZM2.49999 6.93455C1.14689 6.93455 0.0499878 5.83764 0.0499878 4.48455C0.0499878 3.13145 1.14689 2.03455 2.49999 2.03455C3.85309 2.03455 4.94999 3.13145 4.94999 4.48455C4.94999 4.80813 4.88726 5.11707 4.77329 5.39985L5.73655 6.04413C5.72943 6.06656 5.72269 6.08914 5.71635 6.11188L5.56288 6.66186L5.21005 6.89773L4.21554 6.23366C3.77357 6.6672 3.168 6.93455 2.49999 6.93455ZM0.949991 10.5C0.949991 9.64394 1.64395 8.94998 2.49999 8.94998C3.35603 8.94998 4.04999 9.64394 4.04999 10.5C4.04999 11.356 3.35603 12.05 2.49999 12.05C1.64395 12.05 0.949991 11.356 0.949991 10.5ZM2.49999 8.04998C1.14689 8.04998 0.0499908 9.14688 0.0499908 10.5C0.0499908 11.8531 1.14689 12.95 2.49999 12.95C3.85309 12.95 4.94999 11.8531 4.94999 10.5C4.94999 10.1803 4.88877 9.87497 4.77743 9.595L15 2.75737L14.0486 2.85737C12.7077 2.9983 11.4091 3.40895 10.231 4.06461L7.15646 5.77564C6.92307 5.90553 6.75134 6.12339 6.67955 6.38066L6.42653 7.28737L4.22437 8.75957C3.78166 8.32091 3.17246 8.04998 2.49999 8.04998ZM7.14435 9.2149L7.15646 9.22176L10.231 10.9328C11.4091 11.5884 12.7077 11.9991 14.0486 12.14L15 12.24L8.81072 8.1003L7.14435 9.2149Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3O = [\"color\"];\nvar SectionIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3O);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 1.5C2 1.77614 1.77614 2 1.5 2C1.22386 2 1 1.77614 1 1.5C1 1.22386 1.22386 1 1.5 1C1.77614 1 2 1.22386 2 1.5ZM2 5L2 10H13V5H2ZM2 4C1.44772 4 1 4.44772 1 5V10C1 10.5523 1.44772 11 2 11H13C13.5523 11 14 10.5523 14 10V5C14 4.44772 13.5523 4 13 4H2ZM1.5 14C1.77614 14 2 13.7761 2 13.5C2 13.2239 1.77614 13 1.5 13C1.22386 13 1 13.2239 1 13.5C1 13.7761 1.22386 14 1.5 14ZM4 1.5C4 1.77614 3.77614 2 3.5 2C3.22386 2 3 1.77614 3 1.5C3 1.22386 3.22386 1 3.5 1C3.77614 1 4 1.22386 4 1.5ZM3.5 14C3.77614 14 4 13.7761 4 13.5C4 13.2239 3.77614 13 3.5 13C3.22386 13 3 13.2239 3 13.5C3 13.7761 3.22386 14 3.5 14ZM6 1.5C6 1.77614 5.77614 2 5.5 2C5.22386 2 5 1.77614 5 1.5C5 1.22386 5.22386 1 5.5 1C5.77614 1 6 1.22386 6 1.5ZM5.5 14C5.77614 14 6 13.7761 6 13.5C6 13.2239 5.77614 13 5.5 13C5.22386 13 5 13.2239 5 13.5C5 13.7761 5.22386 14 5.5 14ZM8 1.5C8 1.77614 7.77614 2 7.5 2C7.22386 2 7 1.77614 7 1.5C7 1.22386 7.22386 1 7.5 1C7.77614 1 8 1.22386 8 1.5ZM7.5 14C7.77614 14 8 13.7761 8 13.5C8 13.2239 7.77614 13 7.5 13C7.22386 13 7 13.2239 7 13.5C7 13.7761 7.22386 14 7.5 14ZM10 1.5C10 1.77614 9.77614 2 9.5 2C9.22386 2 9 1.77614 9 1.5C9 1.22386 9.22386 1 9.5 1C9.77614 1 10 1.22386 10 1.5ZM9.5 14C9.77614 14 10 13.7761 10 13.5C10 13.2239 9.77614 13 9.5 13C9.22386 13 9 13.2239 9 13.5C9 13.7761 9.22386 14 9.5 14ZM12 1.5C12 1.77614 11.7761 2 11.5 2C11.2239 2 11 1.77614 11 1.5C11 1.22386 11.2239 1 11.5 1C11.7761 1 12 1.22386 12 1.5ZM11.5 14C11.7761 14 12 13.7761 12 13.5C12 13.2239 11.7761 13 11.5 13C11.2239 13 11 13.2239 11 13.5C11 13.7761 11.2239 14 11.5 14ZM14 1.5C14 1.77614 13.7761 2 13.5 2C13.2239 2 13 1.77614 13 1.5C13 1.22386 13.2239 1 13.5 1C13.7761 1 14 1.22386 14 1.5ZM13.5 14C13.7761 14 14 13.7761 14 13.5C14 13.2239 13.7761 13 13.5 13C13.2239 13 13 13.2239 13 13.5C13 13.7761 13.2239 14 13.5 14Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3P = [\"color\"];\nvar SewingPinIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3P);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6 3.5C6 2.67157 6.67157 2 7.5 2C8.32843 2 9 2.67157 9 3.5C9 4.32843 8.32843 5 7.5 5C6.67157 5 6 4.32843 6 3.5ZM8 5.94999C9.14112 5.71836 10 4.70948 10 3.5C10 2.11929 8.88071 1 7.5 1C6.11929 1 5 2.11929 5 3.5C5 4.70948 5.85888 5.71836 7 5.94999V13.5C7 13.7761 7.22386 14 7.5 14C7.77614 14 8 13.7761 8 13.5V5.94999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3Q = [\"color\"];\nvar SewingPinFilledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3Q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10 3.5C10 4.70948 9.14112 5.71836 8 5.94999V13.5C8 13.7761 7.77614 14 7.5 14C7.22386 14 7 13.7761 7 13.5V5.94999C5.85888 5.71836 5 4.70948 5 3.5C5 2.11929 6.11929 1 7.5 1C8.88071 1 10 2.11929 10 3.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3R = [\"color\"];\nvar ShadowIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3R);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n opacity: \".05\",\n d: \"M6.78296 13.376C8.73904 9.95284 8.73904 5.04719 6.78296 1.62405L7.21708 1.37598C9.261 4.95283 9.261 10.0472 7.21708 13.624L6.78296 13.376Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".1\",\n d: \"M7.28204 13.4775C9.23929 9.99523 9.23929 5.00475 7.28204 1.52248L7.71791 1.2775C9.76067 4.9119 9.76067 10.0881 7.71791 13.7225L7.28204 13.4775Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".15\",\n d: \"M7.82098 13.5064C9.72502 9.99523 9.72636 5.01411 7.82492 1.50084L8.26465 1.26285C10.2465 4.92466 10.2451 10.085 8.26052 13.7448L7.82098 13.5064Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".2\",\n d: \"M8.41284 13.429C10.1952 9.92842 10.1957 5.07537 8.41435 1.57402L8.85999 1.34729C10.7139 4.99113 10.7133 10.0128 8.85841 13.6559L8.41284 13.429Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".25\",\n d: \"M9.02441 13.2956C10.6567 9.8379 10.6586 5.17715 9.03005 1.71656L9.48245 1.50366C11.1745 5.09919 11.1726 9.91629 9.47657 13.5091L9.02441 13.2956Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".3\",\n d: \"M9.66809 13.0655C11.1097 9.69572 11.1107 5.3121 9.67088 1.94095L10.1307 1.74457C11.6241 5.24121 11.6231 9.76683 10.1278 13.2622L9.66809 13.0655Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".35\",\n d: \"M10.331 12.7456C11.5551 9.52073 11.5564 5.49103 10.3347 2.26444L10.8024 2.0874C12.0672 5.42815 12.0659 9.58394 10.7985 12.9231L10.331 12.7456Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".4\",\n d: \"M11.0155 12.2986C11.9938 9.29744 11.9948 5.71296 11.0184 2.71067L11.4939 2.55603C12.503 5.6589 12.502 9.35178 11.4909 12.4535L11.0155 12.2986Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".45\",\n d: \"M11.7214 11.668C12.4254 9.01303 12.4262 5.99691 11.7237 3.34116L12.2071 3.21329C12.9318 5.95292 12.931 9.05728 12.2047 11.7961L11.7214 11.668Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".5\",\n d: \"M12.4432 10.752C12.8524 8.63762 12.8523 6.36089 12.4429 4.2466L12.9338 4.15155C13.3553 6.32861 13.3554 8.66985 12.9341 10.847L12.4432 10.752Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3S = [\"color\"];\nvar ShadowInnerIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3S);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n opacity: \".05\",\n d: \"M12.1619 3.85182C8.35817 4.88918 4.88936 8.358 3.85199 12.1617L3.3696 12.0301C4.45356 8.05564 8.05581 4.45339 12.0303 3.36943L12.1619 3.85182Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".1\",\n d: \"M11.8807 3.42707C8.03441 4.50542 4.50561 8.03422 3.42726 11.8805L2.94582 11.7456C4.07129 7.73121 7.7314 4.0711 11.7458 2.94563L11.8807 3.42707Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".15\",\n d: \"M11.5201 3.02556C7.69092 4.16199 4.16779 7.68323 3.02805 11.512L2.54883 11.3694C3.73676 7.37869 7.38659 3.73076 11.3778 2.54623L11.5201 3.02556Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".2\",\n d: \"M11.0468 2.66169C7.31117 3.87664 3.87918 7.3079 2.66298 11.0434L2.18754 10.8886C3.45324 7.00109 7.00445 3.45062 10.8921 2.18621L11.0468 2.66169Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".25\",\n d: \"M10.5201 2.32365C6.92091 3.61447 3.62391 6.90876 2.32845 10.5073L1.858 10.338C3.20398 6.59909 6.61155 3.19424 10.3513 1.85301L10.5201 2.32365Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".3\",\n d: \"M9.90222 2.03122C6.50003 3.39465 3.39968 6.49367 2.03399 9.89551L1.56998 9.70924C2.98651 6.18076 6.18728 2.98133 9.71622 1.5671L9.90222 2.03122Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".35\",\n d: \"M9.20727 1.78873C6.06136 3.20349 3.21103 6.05203 1.79331 9.19738L1.33747 8.99192C2.80536 5.73528 5.74485 2.7976 9.0022 1.33272L9.20727 1.78873Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".4\",\n d: \"M8.40713 1.62085C5.59323 3.05117 3.05794 5.58509 1.62544 8.39847L1.17987 8.1716C2.66036 5.26397 5.27232 2.6534 8.18057 1.17513L8.40713 1.62085Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".45\",\n d: \"M7.46207 1.56747C5.08689 2.94695 2.95362 5.07912 1.57249 7.45379L1.14028 7.20241C2.56503 4.75273 4.7607 2.55818 7.21096 1.1351L7.46207 1.56747Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".5\",\n d: \"M6.30407 1.70487C4.51964 2.91063 2.90983 4.52061 1.7043 6.30513L1.28998 6.02524C2.5313 4.18773 4.18673 2.53214 6.02413 1.29059L6.30407 1.70487Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3T = [\"color\"];\nvar ShadowNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3T);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n opacity: \".05\",\n d: \"M6.78296 13.376C8.73904 9.95284 8.73904 5.04719 6.78296 1.62405L7.21708 1.37598C9.261 4.95283 9.261 10.0472 7.21708 13.624L6.78296 13.376Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".1\",\n d: \"M7.28204 13.4775C9.23929 9.99523 9.23929 5.00475 7.28204 1.52248L7.71791 1.2775C9.76067 4.9119 9.76067 10.0881 7.71791 13.7225L7.28204 13.4775Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".15\",\n d: \"M7.82098 13.5064C9.72502 9.99523 9.72636 5.01411 7.82492 1.50084L8.26465 1.26285C10.2465 4.92466 10.2451 10.085 8.26052 13.7448L7.82098 13.5064Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".2\",\n d: \"M8.41284 13.429C10.1952 9.92842 10.1957 5.07537 8.41435 1.57402L8.85999 1.34729C10.7139 4.99113 10.7133 10.0128 8.85841 13.6559L8.41284 13.429Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".25\",\n d: \"M9.02441 13.2956C10.6567 9.8379 10.6586 5.17715 9.03005 1.71656L9.48245 1.50366C11.1745 5.09919 11.1726 9.91629 9.47657 13.5091L9.02441 13.2956Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".3\",\n d: \"M9.66809 13.0655C11.1097 9.69572 11.1107 5.3121 9.67088 1.94095L10.1307 1.74457C11.6241 5.24121 11.6231 9.76683 10.1278 13.2622L9.66809 13.0655Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".35\",\n d: \"M10.331 12.7456C11.5551 9.52073 11.5564 5.49103 10.3347 2.26444L10.8024 2.0874C12.0672 5.42815 12.0659 9.58394 10.7985 12.9231L10.331 12.7456Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".4\",\n d: \"M11.0155 12.2986C11.9938 9.29744 11.9948 5.71296 11.0184 2.71067L11.4939 2.55603C12.503 5.6589 12.502 9.35178 11.4909 12.4535L11.0155 12.2986Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".45\",\n d: \"M11.7214 11.668C12.4254 9.01303 12.4262 5.99691 11.7237 3.34116L12.2071 3.21329C12.9318 5.95292 12.931 9.05728 12.2047 11.7961L11.7214 11.668Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".5\",\n d: \"M12.4432 10.752C12.8524 8.63762 12.8523 6.36089 12.4429 4.2466L12.9338 4.15155C13.3553 6.32861 13.3554 8.66985 12.9341 10.847L12.4432 10.752Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M7.49991 0.877045C3.84222 0.877045 0.877075 3.84219 0.877075 7.49988C0.877075 9.1488 1.47969 10.657 2.4767 11.8162L1.64647 12.6464C1.45121 12.8417 1.45121 13.1583 1.64647 13.3535C1.84173 13.5488 2.15832 13.5488 2.35358 13.3535L3.18383 12.5233C4.34302 13.5202 5.8511 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 5.85107 13.5202 4.34298 12.5233 3.1838L13.3536 2.35355C13.5488 2.15829 13.5488 1.8417 13.3536 1.64644C13.1583 1.45118 12.8417 1.45118 12.6465 1.64644L11.8162 2.47667C10.657 1.47966 9.14883 0.877045 7.49991 0.877045ZM11.1423 3.15065C10.1568 2.32449 8.88644 1.82704 7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 8.88641 2.32452 10.1568 3.15069 11.1422L11.1423 3.15065ZM3.85781 11.8493C4.84322 12.6753 6.11348 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 6.11345 12.6754 4.84319 11.8493 3.85778L3.85781 11.8493Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3U = [\"color\"];\nvar ShadowOuterIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3U);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n opacity: \".05\",\n d: \"M12.1398 3.88617C13.8553 4.94159 15 6.83701 15 9.00001C15 12.3137 12.3137 15 9.00002 15C6.84351 15 4.95296 13.8621 3.89569 12.1552L4.32076 11.8919C5.29069 13.4578 7.02376 14.5 9.00002 14.5C12.0376 14.5 14.5 12.0375 14.5 9.00001C14.5 7.01781 13.4516 5.28027 11.8778 4.31203L12.1398 3.88617Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".2\",\n d: \"M12.851 5.07321C13.8684 6.07106 14.5 7.46199 14.5 9C14.5 12.0375 12.0376 14.5 9.00004 14.5C7.46215 14.5 6.07132 13.8685 5.07349 12.8513L5.43043 12.5011C6.3381 13.4264 7.60186 14 9.00004 14C11.7614 14 14 11.7614 14 9C14 7.60171 13.4264 6.33786 12.5009 5.43017L12.851 5.07321Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".35\",\n d: \"M13.3022 6.45071C13.7455 7.19737 14 8.06935 14 9.00001C14 11.7614 11.7614 14 9.00002 14C8.04868 14 7.15868 13.7341 6.40118 13.2724L6.66142 12.8454C7.34275 13.2607 8.14306 13.5 9.00002 13.5C11.4853 13.5 13.5 11.4853 13.5 9.00001C13.5 8.16165 13.271 7.37754 12.8722 6.70599L13.3022 6.45071Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".5\",\n d: \"M13.3745 7.94022C13.4566 8.28031 13.5 8.63525 13.5 9.00001C13.5 11.4853 11.4853 13.5 9.00003 13.5C8.61104 13.5 8.23323 13.4506 7.87268 13.3576L7.99759 12.8734C8.31768 12.956 8.65353 13 9.00003 13C11.2091 13 13 11.2091 13 9.00001C13 8.67509 12.9613 8.35953 12.8884 8.05757L13.3745 7.94022Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n opacity: \".65\",\n d: \"M12.9155 9.82133C12.5898 11.3813 11.3562 12.6072 9.79205 12.9215L9.69354 12.4313C11.0613 12.1565 12.1413 11.0834 12.4261 9.71915L12.9155 9.82133Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }), createElement(\"path\", {\n d: \"M1.2771 7.50253C1.2771 4.06456 4.06413 1.27753 7.5021 1.27753C10.94 1.27753 13.7271 4.06456 13.7271 7.50253C13.7271 10.9405 10.94 13.7275 7.5021 13.7275C4.06413 13.7275 1.2771 10.9405 1.2771 7.50253ZM7.5021 2.22753C4.5888 2.22753 2.2271 4.58923 2.2271 7.50253C2.2271 10.4158 4.5888 12.7775 7.5021 12.7775C10.4154 12.7775 12.7771 10.4158 12.7771 7.50253C12.7771 4.58923 10.4154 2.22753 7.5021 2.22753Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3V = [\"color\"];\nvar Share1Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3V);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 7.50003C5 8.32845 4.32843 9.00003 3.5 9.00003C2.67157 9.00003 2 8.32845 2 7.50003C2 6.6716 2.67157 6.00003 3.5 6.00003C4.32843 6.00003 5 6.6716 5 7.50003ZM5.71313 8.66388C5.29445 9.45838 4.46048 10 3.5 10C2.11929 10 1 8.88074 1 7.50003C1 6.11931 2.11929 5.00003 3.5 5.00003C4.46048 5.00003 5.29445 5.54167 5.71313 6.33616L9.10424 4.21671C9.03643 3.98968 9 3.74911 9 3.50003C9 2.11932 10.1193 1.00003 11.5 1.00003C12.8807 1.00003 14 2.11932 14 3.50003C14 4.88074 12.8807 6.00003 11.5 6.00003C10.6915 6.00003 9.97264 5.61624 9.51566 5.0209L5.9853 7.22738C5.99502 7.31692 6 7.40789 6 7.50003C6 7.59216 5.99502 7.68312 5.9853 7.77267L9.51567 9.97915C9.97265 9.38382 10.6915 9.00003 11.5 9.00003C12.8807 9.00003 14 10.1193 14 11.5C14 12.8807 12.8807 14 11.5 14C10.1193 14 9 12.8807 9 11.5C9 11.2509 9.03643 11.0104 9.10425 10.7833L5.71313 8.66388ZM11.5 5.00003C12.3284 5.00003 13 4.32846 13 3.50003C13 2.6716 12.3284 2.00003 11.5 2.00003C10.6716 2.00003 10 2.6716 10 3.50003C10 4.32846 10.6716 5.00003 11.5 5.00003ZM13 11.5C13 12.3285 12.3284 13 11.5 13C10.6716 13 10 12.3285 10 11.5C10 10.6716 10.6716 10 11.5 10C12.3284 10 13 10.6716 13 11.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3W = [\"color\"];\nvar Share2Icon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3W);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.5 5.00006C3.22386 5.00006 3 5.22392 3 5.50006L3 11.5001C3 11.7762 3.22386 12.0001 3.5 12.0001L11.5 12.0001C11.7761 12.0001 12 11.7762 12 11.5001L12 5.50006C12 5.22392 11.7761 5.00006 11.5 5.00006L10.25 5.00006C9.97386 5.00006 9.75 4.7762 9.75 4.50006C9.75 4.22392 9.97386 4.00006 10.25 4.00006L11.5 4.00006C12.3284 4.00006 13 4.67163 13 5.50006L13 11.5001C13 12.3285 12.3284 13.0001 11.5 13.0001L3.5 13.0001C2.67157 13.0001 2 12.3285 2 11.5001L2 5.50006C2 4.67163 2.67157 4.00006 3.5 4.00006L4.75 4.00006C5.02614 4.00006 5.25 4.22392 5.25 4.50006C5.25 4.7762 5.02614 5.00006 4.75 5.00006L3.5 5.00006ZM7 1.6364L5.5682 3.0682C5.39246 3.24393 5.10754 3.24393 4.9318 3.0682C4.75607 2.89246 4.75607 2.60754 4.9318 2.4318L7.1818 0.181802C7.26619 0.09741 7.38065 0.049999 7.5 0.049999C7.61935 0.049999 7.73381 0.09741 7.8182 0.181802L10.0682 2.4318C10.2439 2.60754 10.2439 2.89246 10.0682 3.0682C9.89246 3.24393 9.60754 3.24393 9.4318 3.0682L8 1.6364L8 8.5C8 8.77614 7.77614 9 7.5 9C7.22386 9 7 8.77614 7 8.5L7 1.6364Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3X = [\"color\"];\nvar ShuffleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3X);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M12.3536 1.14645C12.1583 0.951184 11.8417 0.951184 11.6464 1.14645C11.4512 1.34171 11.4512 1.65829 11.6464 1.85355L12.7929 3H12C10.7037 3 9.71111 3.58423 8.87248 4.38931C8.20065 5.03427 7.59349 5.85684 6.99461 6.6682C6.86287 6.84668 6.73154 7.02462 6.6 7.2C5.10874 9.18835 3.49037 11 0.5 11C0.223858 11 0 11.2239 0 11.5C0 11.7761 0.223858 12 0.5 12C4.00963 12 5.89126 9.81165 7.4 7.8C7.54367 7.60845 7.6832 7.41962 7.81996 7.23454L7.82005 7.23443L7.82006 7.23441C8.41674 6.42695 8.96069 5.69085 9.56502 5.11069C10.2889 4.41577 11.0463 4 12 4H12.7929L11.6464 5.14645C11.4512 5.34171 11.4512 5.65829 11.6464 5.85355C11.8417 6.04882 12.1583 6.04882 12.3536 5.85355L14.3536 3.85355C14.5488 3.65829 14.5488 3.34171 14.3536 3.14645L12.3536 1.14645ZM0.5 3C3.35278 3 5.12992 4.44588 6.50548 6.06746L6.3762 6.24266C6.2483 6.4161 6.12293 6.58609 6 6.75C5.96397 6.79804 5.92798 6.84581 5.892 6.89331C4.57348 5.29306 3.02637 4 0.5 4C0.223858 4 0 3.77614 0 3.5C0 3.22386 0.223858 3 0.5 3ZM8.87248 10.6107C8.37284 10.131 7.90897 9.55314 7.45767 8.95468C7.64688 8.71693 7.82704 8.48061 8 8.25L8.08987 8.12987C8.58412 8.79402 9.05288 9.39766 9.56502 9.88931C10.2889 10.5842 11.0463 11 12 11H12.7929L11.6464 9.85355C11.4512 9.65829 11.4512 9.34171 11.6464 9.14645C11.8417 8.95118 12.1583 8.95118 12.3536 9.14645L14.3536 11.1464C14.5488 11.3417 14.5488 11.6583 14.3536 11.8536L12.3536 13.8536C12.1583 14.0488 11.8417 14.0488 11.6464 13.8536C11.4512 13.6583 11.4512 13.3417 11.6464 13.1464L12.7929 12H12C10.7037 12 9.71111 11.4158 8.87248 10.6107Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3Y = [\"color\"];\nvar SizeIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3Y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M11.5 3.04999C11.7485 3.04999 11.95 3.25146 11.95 3.49999V7.49999C11.95 7.74852 11.7485 7.94999 11.5 7.94999C11.2515 7.94999 11.05 7.74852 11.05 7.49999V4.58639L4.58638 11.05H7.49999C7.74852 11.05 7.94999 11.2515 7.94999 11.5C7.94999 11.7485 7.74852 11.95 7.49999 11.95L3.49999 11.95C3.38064 11.95 3.26618 11.9026 3.18179 11.8182C3.0974 11.7338 3.04999 11.6193 3.04999 11.5L3.04999 7.49999C3.04999 7.25146 3.25146 7.04999 3.49999 7.04999C3.74852 7.04999 3.94999 7.25146 3.94999 7.49999L3.94999 10.4136L10.4136 3.94999L7.49999 3.94999C7.25146 3.94999 7.04999 3.74852 7.04999 3.49999C7.04999 3.25146 7.25146 3.04999 7.49999 3.04999L11.5 3.04999Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3Z = [\"color\"];\nvar SketchLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3Z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.53731 0.826873C7.5125 0.824392 7.4875 0.824392 7.46269 0.826873L3.96269 1.17687C3.85672 1.18747 3.76025 1.24262 3.69736 1.32857L0.699771 5.42528C0.654046 5.48627 0.62647 5.56165 0.625057 5.6434C0.625019 5.6456 0.625 5.64781 0.625 5.65001C0.625 5.65052 0.625001 5.65103 0.625003 5.65153C0.625363 5.74237 0.658021 5.82559 0.712087 5.8903L7.21042 13.7883C7.28165 13.8749 7.38789 13.925 7.5 13.925C7.61211 13.925 7.71835 13.8749 7.78958 13.7883L14.2879 5.89031C14.342 5.8256 14.3746 5.74237 14.375 5.65153C14.375 5.65103 14.375 5.65052 14.375 5.65001C14.375 5.64849 14.375 5.64697 14.375 5.64545C14.3749 5.63963 14.3747 5.63382 14.3744 5.62801C14.37 5.55219 14.3431 5.48242 14.3002 5.42527L11.3026 1.32857C11.2397 1.24262 11.1433 1.18747 11.0373 1.17687L7.53731 0.826873ZM10.925 5.27501V5.25236L10.9223 5.27501H10.925ZM10.9342 5.17498H13.1877L11.2495 2.5261L10.9342 5.17498ZM10.5707 1.88395L8.04432 1.63131L10.1747 5.21034L10.5707 1.88395ZM6.95568 1.63131L4.42931 1.88395L4.82531 5.21034L6.95568 1.63131ZM3.75046 2.5261L1.81226 5.17498H4.0658L3.75046 2.5261ZM1.79416 6.02501L6.75861 12.0587L4.22371 6.0669C4.21787 6.0531 4.21314 6.0391 4.20949 6.02501H1.79416ZM5.15055 6.02501L7.49999 12.1085L9.84943 6.02501H9.78681H5.21319H5.15055ZM10.7905 6.02501C10.7869 6.0391 10.7821 6.0531 10.7763 6.0669L8.24139 12.0587L13.2058 6.02501H10.7905ZM7.5 2.18317L9.34038 5.27501H5.65962L7.5 2.18317Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3_ = [\"color\"];\nvar SlashIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3_);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.10876 14L9.46582 1H10.8178L5.46074 14H4.10876Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$3$ = [\"color\"];\nvar SliderIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3$);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10.3004 7.49991C10.3004 8.4943 9.49426 9.30041 8.49988 9.30041C7.50549 9.30041 6.69938 8.4943 6.69938 7.49991C6.69938 6.50553 7.50549 5.69942 8.49988 5.69942C9.49426 5.69942 10.3004 6.50553 10.3004 7.49991ZM11.205 8C10.9699 9.28029 9.84816 10.2504 8.49988 10.2504C7.1516 10.2504 6.0299 9.28029 5.79473 8H0.5C0.223858 8 0 7.77614 0 7.5C0 7.22386 0.223858 7 0.5 7H5.7947C6.0298 5.71962 7.15154 4.74942 8.49988 4.74942C9.84822 4.74942 10.97 5.71962 11.2051 7H14.5C14.7761 7 15 7.22386 15 7.5C15 7.77614 14.7761 8 14.5 8H11.205Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$40 = [\"color\"];\nvar SpaceBetweenHorizontallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$40);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14.4999 0.999994C14.2237 0.999994 13.9999 1.22385 13.9999 1.49999L13.9999 5.99995L9.99992 5.99995C9.44764 5.99995 8.99993 6.44766 8.99993 6.99994L8.99993 7.99994C8.99993 8.55222 9.44764 8.99993 9.99992 8.99993L13.9999 8.99993L13.9999 13.4999C13.9999 13.776 14.2237 13.9999 14.4999 13.9999C14.776 13.9999 14.9999 13.776 14.9999 13.4999L14.9999 1.49999C14.9999 1.22385 14.776 0.999994 14.4999 0.999994ZM4.99996 5.99995L0.999992 5.99995L0.999992 1.49999C0.999992 1.22385 0.776136 0.999994 0.499996 0.999994C0.223856 0.999994 -9.7852e-09 1.22385 -2.18557e-08 1.49999L4.07279e-07 13.4999C3.95208e-07 13.776 0.223855 13.9999 0.499996 13.9999C0.776136 13.9999 0.999992 13.776 0.999992 13.4999L0.999992 8.99993L4.99996 8.99993C5.55224 8.99993 5.99995 8.55222 5.99995 7.99993L5.99995 6.99994C5.99995 6.44766 5.55224 5.99995 4.99996 5.99995Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$41 = [\"color\"];\nvar SpaceBetweenVerticallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$41);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.999878 0.5C0.999878 0.223858 1.22374 0 1.49988 0H13.4999C13.776 0 13.9999 0.223858 13.9999 0.5C13.9999 0.776142 13.776 1 13.4999 1L9 1V5C9 5.55228 8.55228 6 8 6H7C6.44772 6 6 5.55228 6 5V1H1.49988C1.22374 1 0.999878 0.776142 0.999878 0.5ZM7 9C6.44772 9 6 9.44771 6 10V14H1.49988C1.22374 14 0.999878 14.2239 0.999878 14.5C0.999878 14.7761 1.22374 15 1.49988 15H13.4999C13.776 15 13.9999 14.7761 13.9999 14.5C13.9999 14.2239 13.776 14 13.4999 14H9V10C9 9.44772 8.55228 9 8 9H7Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$42 = [\"color\"];\nvar SpaceEvenlyHorizontallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$42);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14.4999 0.999992C14.2237 0.999992 13.9999 1.22385 13.9999 1.49999L13.9999 13.4999C13.9999 13.776 14.2237 13.9999 14.4999 13.9999C14.776 13.9999 14.9999 13.776 14.9999 13.4999L14.9999 1.49999C14.9999 1.22385 14.776 0.999992 14.4999 0.999992ZM0.499996 0.999992C0.223856 0.999992 -9.78509e-09 1.22385 -2.18556e-08 1.49999L4.07279e-07 13.4999C3.95208e-07 13.776 0.223855 13.9999 0.499996 13.9999C0.776136 13.9999 0.999992 13.776 0.999992 13.4999L0.999992 1.49999C0.999992 1.22385 0.776136 0.999992 0.499996 0.999992ZM1.99998 6.99994C1.99998 6.44766 2.44769 5.99995 2.99998 5.99995L5.99995 5.99995C6.55223 5.99995 6.99994 6.44766 6.99994 6.99994L6.99994 7.99993C6.99994 8.55221 6.55223 8.99992 5.99995 8.99992L2.99998 8.99992C2.4477 8.99992 1.99998 8.55221 1.99998 7.99993L1.99998 6.99994ZM8.99993 5.99995C8.44765 5.99995 7.99993 6.44766 7.99993 6.99994L7.99993 7.99993C7.99993 8.55221 8.44765 8.99992 8.99993 8.99992L11.9999 8.99992C12.5522 8.99992 12.9999 8.55221 12.9999 7.99993L12.9999 6.99994C12.9999 6.44766 12.5522 5.99995 11.9999 5.99995L8.99993 5.99995Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$43 = [\"color\"];\nvar SpaceEvenlyVerticallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$43);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.999878 0.5C0.999878 0.223858 1.22374 0 1.49988 0H13.4999C13.776 0 13.9999 0.223858 13.9999 0.5C13.9999 0.776142 13.776 1 13.4999 1H1.49988C1.22374 1 0.999878 0.776142 0.999878 0.5ZM7 2C6.44772 2 6 2.44772 6 3V6C6 6.55228 6.44772 7 7 7H8C8.55228 7 9 6.55228 9 6V3C9 2.44772 8.55228 2 8 2H7ZM7 8C6.44772 8 6 8.44771 6 9V12C6 12.5523 6.44772 13 7 13H8C8.55228 13 9 12.5523 9 12V9C9 8.44772 8.55228 8 8 8H7ZM1.49988 14C1.22374 14 0.999878 14.2239 0.999878 14.5C0.999878 14.7761 1.22374 15 1.49988 15H13.4999C13.776 15 13.9999 14.7761 13.9999 14.5C13.9999 14.2239 13.776 14 13.4999 14H1.49988Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$44 = [\"color\"];\nvar SpeakerLoudIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$44);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.46968 1.05085C7.64122 1.13475 7.75 1.30904 7.75 1.5V13.5C7.75 13.691 7.64122 13.8653 7.46968 13.9492C7.29813 14.0331 7.09377 14.0119 6.94303 13.8947L3.2213 11H1.5C0.671571 11 0 10.3284 0 9.5V5.5C0 4.67158 0.671573 4 1.5 4H3.2213L6.94303 1.10533C7.09377 0.988085 7.29813 0.966945 7.46968 1.05085ZM6.75 2.52232L3.69983 4.89468C3.61206 4.96294 3.50405 5 3.39286 5H1.5C1.22386 5 1 5.22386 1 5.5V9.5C1 9.77615 1.22386 10 1.5 10H3.39286C3.50405 10 3.61206 10.0371 3.69983 10.1053L6.75 12.4777V2.52232ZM10.2784 3.84804C10.4623 3.72567 10.7106 3.77557 10.833 3.95949C12.2558 6.09798 12.2558 8.90199 10.833 11.0405C10.7106 11.2244 10.4623 11.2743 10.2784 11.1519C10.0944 11.0296 10.0445 10.7813 10.1669 10.5973C11.4111 8.72728 11.4111 6.27269 10.1669 4.40264C10.0445 4.21871 10.0944 3.97041 10.2784 3.84804ZM12.6785 1.43044C12.5356 1.2619 12.2832 1.24104 12.1147 1.38386C11.9462 1.52667 11.9253 1.77908 12.0681 1.94762C14.7773 5.14488 14.7773 9.85513 12.0681 13.0524C11.9253 13.2209 11.9462 13.4733 12.1147 13.6161C12.2832 13.759 12.5356 13.7381 12.6785 13.5696C15.6406 10.0739 15.6406 4.92612 12.6785 1.43044Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$45 = [\"color\"];\nvar SpeakerModerateIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$45);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8 1.5C8 1.31062 7.893 1.13749 7.72361 1.05279C7.55421 0.968093 7.35151 0.986371 7.2 1.1L3.33333 4H1.5C0.671573 4 0 4.67158 0 5.5V9.5C0 10.3284 0.671573 11 1.5 11H3.33333L7.2 13.9C7.35151 14.0136 7.55421 14.0319 7.72361 13.9472C7.893 13.8625 8 13.6894 8 13.5V1.5ZM3.8 4.9L7 2.5V12.5L3.8 10.1C3.71345 10.0351 3.60819 10 3.5 10H1.5C1.22386 10 1 9.77614 1 9.5V5.5C1 5.22386 1.22386 5 1.5 5H3.5C3.60819 5 3.71345 4.96491 3.8 4.9ZM10.833 3.95949C10.7106 3.77557 10.4623 3.72567 10.2784 3.84804C10.0944 3.97041 10.0445 4.21871 10.1669 4.40264C11.4111 6.27268 11.4111 8.72728 10.1669 10.5973C10.0445 10.7813 10.0944 11.0296 10.2784 11.1519C10.4623 11.2743 10.7106 11.2244 10.833 11.0405C12.2558 8.90199 12.2558 6.09798 10.833 3.95949Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$46 = [\"color\"];\nvar SpeakerOffIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$46);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.72361 1.05279C7.893 1.13749 8 1.31062 8 1.5V13.5C8 13.6894 7.893 13.8625 7.72361 13.9472C7.55421 14.0319 7.35151 14.0136 7.2 13.9L3.33333 11H1.5C0.671573 11 0 10.3284 0 9.5V5.5C0 4.67158 0.671573 4 1.5 4H3.33333L7.2 1.1C7.35151 0.986371 7.55421 0.968093 7.72361 1.05279ZM7 2.5L3.8 4.9C3.71345 4.96491 3.60819 5 3.5 5H1.5C1.22386 5 1 5.22386 1 5.5V9.5C1 9.77614 1.22386 10 1.5 10H3.5C3.60819 10 3.71345 10.0351 3.8 10.1L7 12.5V2.5ZM14.8536 5.14645C15.0488 5.34171 15.0488 5.65829 14.8536 5.85355L13.2071 7.5L14.8536 9.14645C15.0488 9.34171 15.0488 9.65829 14.8536 9.85355C14.6583 10.0488 14.3417 10.0488 14.1464 9.85355L12.5 8.20711L10.8536 9.85355C10.6583 10.0488 10.3417 10.0488 10.1464 9.85355C9.95118 9.65829 9.95118 9.34171 10.1464 9.14645L11.7929 7.5L10.1464 5.85355C9.95118 5.65829 9.95118 5.34171 10.1464 5.14645C10.3417 4.95118 10.6583 4.95118 10.8536 5.14645L12.5 6.79289L14.1464 5.14645C14.3417 4.95118 14.6583 4.95118 14.8536 5.14645Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$47 = [\"color\"];\nvar SpeakerQuietIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$47);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8 1.5C8 1.31062 7.893 1.13749 7.72361 1.05279C7.55421 0.968093 7.35151 0.986371 7.2 1.1L3.33333 4H1.5C0.671573 4 0 4.67158 0 5.5V9.5C0 10.3284 0.671573 11 1.5 11H3.33333L7.2 13.9C7.35151 14.0136 7.55421 14.0319 7.72361 13.9472C7.893 13.8625 8 13.6894 8 13.5V1.5ZM3.8 4.9L7 2.5V12.5L3.8 10.1C3.71345 10.0351 3.60819 10 3.5 10H1.5C1.22386 10 1 9.77614 1 9.5V5.5C1 5.22386 1.22386 5 1.5 5H3.5C3.60819 5 3.71345 4.96491 3.8 4.9ZM10.083 5.05577C9.96066 4.87185 9.71235 4.82195 9.52843 4.94432C9.3445 5.06669 9.2946 5.31499 9.41697 5.49892C10.2207 6.70693 10.2207 8.29303 9.41697 9.50104C9.2946 9.68496 9.3445 9.93326 9.52843 10.0556C9.71235 10.178 9.96066 10.1281 10.083 9.94418C11.0653 8.46773 11.0653 6.53222 10.083 5.05577Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$48 = [\"color\"];\nvar SquareIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$48);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 1H1.5H13.5H14V1.5V13.5V14H13.5H1.5H1V13.5V1.5V1ZM2 2V13H13V2H2Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$49 = [\"color\"];\nvar StackIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$49);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.75432 1.81954C7.59742 1.72682 7.4025 1.72682 7.24559 1.81954L1.74559 5.06954C1.59336 5.15949 1.49996 5.32317 1.49996 5.5C1.49996 5.67683 1.59336 5.84051 1.74559 5.93046L7.24559 9.18046C7.4025 9.27318 7.59742 9.27318 7.75432 9.18046L13.2543 5.93046C13.4066 5.84051 13.5 5.67683 13.5 5.5C13.5 5.32317 13.4066 5.15949 13.2543 5.06954L7.75432 1.81954ZM7.49996 8.16923L2.9828 5.5L7.49996 2.83077L12.0171 5.5L7.49996 8.16923ZM2.25432 8.31954C2.01658 8.17906 1.70998 8.2579 1.56949 8.49564C1.42901 8.73337 1.50785 9.03998 1.74559 9.18046L7.24559 12.4305C7.4025 12.5232 7.59742 12.5232 7.75432 12.4305L13.2543 9.18046C13.4921 9.03998 13.5709 8.73337 13.4304 8.49564C13.2899 8.2579 12.9833 8.17906 12.7456 8.31954L7.49996 11.4192L2.25432 8.31954Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4a = [\"color\"];\nvar StarIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4a);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.97942 1.25171L6.9585 1.30199L5.58662 4.60039C5.54342 4.70426 5.44573 4.77523 5.3336 4.78422L1.7727 5.0697L1.71841 5.07405L1.38687 5.10063L1.08608 5.12475C0.820085 5.14607 0.712228 5.47802 0.914889 5.65162L1.14406 5.84793L1.39666 6.06431L1.43802 6.09974L4.15105 8.42374C4.23648 8.49692 4.2738 8.61176 4.24769 8.72118L3.41882 12.196L3.40618 12.249L3.32901 12.5725L3.25899 12.866C3.19708 13.1256 3.47945 13.3308 3.70718 13.1917L3.9647 13.0344L4.24854 12.861L4.29502 12.8326L7.34365 10.9705C7.43965 10.9119 7.5604 10.9119 7.6564 10.9705L10.705 12.8326L10.7515 12.861L11.0354 13.0344L11.2929 13.1917C11.5206 13.3308 11.803 13.1256 11.7411 12.866L11.671 12.5725L11.5939 12.249L11.5812 12.196L10.7524 8.72118C10.7263 8.61176 10.7636 8.49692 10.849 8.42374L13.562 6.09974L13.6034 6.06431L13.856 5.84793L14.0852 5.65162C14.2878 5.47802 14.18 5.14607 13.914 5.12475L13.6132 5.10063L13.2816 5.07405L13.2274 5.0697L9.66645 4.78422C9.55432 4.77523 9.45663 4.70426 9.41343 4.60039L8.04155 1.30199L8.02064 1.25171L7.89291 0.944609L7.77702 0.665992C7.67454 0.419604 7.32551 0.419604 7.22303 0.665992L7.10715 0.944609L6.97942 1.25171ZM7.50003 2.60397L6.50994 4.98442C6.32273 5.43453 5.89944 5.74207 5.41351 5.78103L2.84361 5.98705L4.8016 7.66428C5.17183 7.98142 5.33351 8.47903 5.2204 8.95321L4.62221 11.461L6.8224 10.1171C7.23842 9.86302 7.76164 9.86302 8.17766 10.1171L10.3778 11.461L9.77965 8.95321C9.66654 8.47903 9.82822 7.98142 10.1984 7.66428L12.1564 5.98705L9.58654 5.78103C9.10061 5.74207 8.67732 5.43453 8.49011 4.98442L7.50003 2.60397Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4b = [\"color\"];\nvar StarFilledIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4b);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.22303 0.665992C7.32551 0.419604 7.67454 0.419604 7.77702 0.665992L9.41343 4.60039C9.45663 4.70426 9.55432 4.77523 9.66645 4.78422L13.914 5.12475C14.18 5.14607 14.2878 5.47802 14.0852 5.65162L10.849 8.42374C10.7636 8.49692 10.7263 8.61176 10.7524 8.72118L11.7411 12.866C11.803 13.1256 11.5206 13.3308 11.2929 13.1917L7.6564 10.9705C7.5604 10.9119 7.43965 10.9119 7.34365 10.9705L3.70718 13.1917C3.47945 13.3308 3.19708 13.1256 3.25899 12.866L4.24769 8.72118C4.2738 8.61176 4.23648 8.49692 4.15105 8.42374L0.914889 5.65162C0.712228 5.47802 0.820086 5.14607 1.08608 5.12475L5.3336 4.78422C5.44573 4.77523 5.54342 4.70426 5.58662 4.60039L7.22303 0.665992Z\",\n fill: color\n }));\n});\n\nvar _excluded$4c = [\"color\"];\nvar StitchesLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4c);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.84998 7.49998C1.84998 7.21321 1.87134 6.93143 1.91256 6.65615L9.56374 2.23875C9.86311 2.35627 10.15 2.49861 10.4219 2.66322L3.77065 6.50332C3.73669 6.52183 3.70482 6.5449 3.67602 6.57238C3.5911 6.65308 3.54245 6.76286 3.53682 6.87658C3.53359 6.9418 3.54451 7.00831 3.57086 7.07137C3.58927 7.1157 3.6149 7.15742 3.64744 7.19458C3.67306 7.22396 3.702 7.24941 3.73337 7.27069L7.32533 9.83813L3.87232 11.8317C2.63604 10.7953 1.84998 9.23944 1.84998 7.49998ZM8.36843 10.2751C8.37682 10.2706 8.38509 10.2659 8.39322 10.2608L9.84091 9.42499C9.84706 9.42163 9.85314 9.41812 9.85915 9.41446L11.3101 8.57677C11.3655 8.54649 11.4154 8.504 11.4554 8.44995C11.6034 8.25031 11.5616 7.96848 11.362 7.82046L7.82779 5.20017L11.2161 3.24393C12.4013 4.27963 13.15 5.80237 13.15 7.49998C13.15 7.83546 13.1207 8.16411 13.0647 8.48353L5.56875 12.8113C5.26138 12.6995 4.96646 12.5618 4.68662 12.4008L8.36843 10.2751ZM8.18149 9.34383L4.81659 6.93868L5.50918 6.53881L8.80604 8.98324L8.18149 9.34383ZM6.35875 6.04832L6.97822 5.69067L10.2751 8.13506L9.6556 8.49275L6.35875 6.04832ZM8.3318 1.91078L2.24263 5.42636C3.06941 3.33188 5.11164 1.84998 7.49998 1.84998C7.78258 1.84998 8.06033 1.87072 8.3318 1.91078ZM6.84684 13.1126C7.06114 13.1373 7.27908 13.15 7.49998 13.15C9.8246 13.15 11.8213 11.7461 12.6886 9.7399L6.84684 13.1126ZM7.49998 0.849976C3.82728 0.849976 0.849976 3.82728 0.849976 7.49998C0.849976 11.1727 3.82728 14.15 7.49998 14.15C11.1727 14.15 14.15 11.1727 14.15 7.49998C14.15 3.82728 11.1727 0.849976 7.49998 0.849976Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4d = [\"color\"];\nvar StopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4d);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 3C2 2.44772 2.44772 2 3 2H12C12.5523 2 13 2.44772 13 3V12C13 12.5523 12.5523 13 12 13H3C2.44772 13 2 12.5523 2 12V3ZM12 3H3V12H12V3Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4e = [\"color\"];\nvar StopwatchIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4e);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L11.858 2.25806C12.1021 2.01398 12.4978 2.01398 12.7419 2.25806C12.986 2.50214 12.986 2.89786 12.7419 3.14194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13362 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.99998 4.5C7.99998 4.22386 7.77612 4 7.49998 4C7.22383 4 6.99998 4.22386 6.99998 4.5V9.5C6.99998 9.77614 7.22383 10 7.49998 10C7.77612 10 7.99998 9.77614 7.99998 9.5V4.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4f = [\"color\"];\nvar StretchHorizontallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4f);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14.4999 0.999992C14.2237 0.999992 13.9999 1.22385 13.9999 1.49999L13.9999 5.99995L0.999992 5.99995L0.999992 1.49999C0.999992 1.22385 0.776136 0.999992 0.499996 0.999992C0.223856 0.999992 -9.78509e-09 1.22385 -2.18556e-08 1.49999L4.07279e-07 13.4999C3.95208e-07 13.776 0.223855 13.9999 0.499996 13.9999C0.776136 13.9999 0.999992 13.776 0.999992 13.4999L0.999992 8.99992L13.9999 8.99992L13.9999 13.4999C13.9999 13.776 14.2237 13.9999 14.4999 13.9999C14.776 13.9999 14.9999 13.776 14.9999 13.4999L14.9999 1.49999C14.9999 1.22385 14.776 0.999992 14.4999 0.999992Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4g = [\"color\"];\nvar StretchVerticallyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4g);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.999878 0.5C0.999878 0.223858 1.22374 0 1.49988 0H13.4999C13.776 0 13.9999 0.223858 13.9999 0.5C13.9999 0.776142 13.776 1 13.4999 1H6H1.49988C1.22374 1 0.999878 0.776142 0.999878 0.5ZM9 14V1L6 1V14H1.49988C1.22374 14 0.999878 14.2239 0.999878 14.5C0.999878 14.7761 1.22374 15 1.49988 15H13.4999C13.776 15 13.9999 14.7761 13.9999 14.5C13.9999 14.2239 13.776 14 13.4999 14H9Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4h = [\"color\"];\nvar StrikethroughIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4h);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.00003 3.25C5.00003 2.97386 4.77617 2.75 4.50003 2.75C4.22389 2.75 4.00003 2.97386 4.00003 3.25V7.10003H2.49998C2.27906 7.10003 2.09998 7.27912 2.09998 7.50003C2.09998 7.72094 2.27906 7.90003 2.49998 7.90003H4.00003V8.55C4.00003 10.483 5.56703 12.05 7.50003 12.05C9.43303 12.05 11 10.483 11 8.55V7.90003H12.5C12.7209 7.90003 12.9 7.72094 12.9 7.50003C12.9 7.27912 12.7209 7.10003 12.5 7.10003H11V3.25C11 2.97386 10.7762 2.75 10.5 2.75C10.2239 2.75 10 2.97386 10 3.25V7.10003H5.00003V3.25ZM5.00003 7.90003V8.55C5.00003 9.93071 6.11932 11.05 7.50003 11.05C8.88074 11.05 10 9.93071 10 8.55V7.90003H5.00003Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4i = [\"color\"];\nvar SunIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4i);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4j = [\"color\"];\nvar SwitchIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4j);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10.5 4C8.567 4 7 5.567 7 7.5C7 9.433 8.567 11 10.5 11C12.433 11 14 9.433 14 7.5C14 5.567 12.433 4 10.5 4ZM7.67133 11C6.65183 10.175 6 8.91363 6 7.5C6 6.08637 6.65183 4.82498 7.67133 4H4.5C2.567 4 1 5.567 1 7.5C1 9.433 2.567 11 4.5 11H7.67133ZM0 7.5C0 5.01472 2.01472 3 4.5 3H10.5C12.9853 3 15 5.01472 15 7.5C15 9.98528 12.9853 12 10.5 12H4.5C2.01472 12 0 9.98528 0 7.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4k = [\"color\"];\nvar SymbolIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4k);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.90321 7.29677C1.90321 10.341 4.11041 12.4147 6.58893 12.8439C6.87255 12.893 7.06266 13.1627 7.01355 13.4464C6.96444 13.73 6.69471 13.9201 6.41109 13.871C3.49942 13.3668 0.86084 10.9127 0.86084 7.29677C0.860839 5.76009 1.55996 4.55245 2.37639 3.63377C2.96124 2.97568 3.63034 2.44135 4.16846 2.03202L2.53205 2.03202C2.25591 2.03202 2.03205 1.80816 2.03205 1.53202C2.03205 1.25588 2.25591 1.03202 2.53205 1.03202L5.53205 1.03202C5.80819 1.03202 6.03205 1.25588 6.03205 1.53202L6.03205 4.53202C6.03205 4.80816 5.80819 5.03202 5.53205 5.03202C5.25591 5.03202 5.03205 4.80816 5.03205 4.53202L5.03205 2.68645L5.03054 2.68759L5.03045 2.68766L5.03044 2.68767L5.03043 2.68767C4.45896 3.11868 3.76059 3.64538 3.15554 4.3262C2.44102 5.13021 1.90321 6.10154 1.90321 7.29677ZM13.0109 7.70321C13.0109 4.69115 10.8505 2.6296 8.40384 2.17029C8.12093 2.11718 7.93465 1.84479 7.98776 1.56188C8.04087 1.27898 8.31326 1.0927 8.59616 1.14581C11.4704 1.68541 14.0532 4.12605 14.0532 7.70321C14.0532 9.23988 13.3541 10.4475 12.5377 11.3662C11.9528 12.0243 11.2837 12.5586 10.7456 12.968L12.3821 12.968C12.6582 12.968 12.8821 13.1918 12.8821 13.468C12.8821 13.7441 12.6582 13.968 12.3821 13.968L9.38205 13.968C9.10591 13.968 8.88205 13.7441 8.88205 13.468L8.88205 10.468C8.88205 10.1918 9.10591 9.96796 9.38205 9.96796C9.65819 9.96796 9.88205 10.1918 9.88205 10.468L9.88205 12.3135L9.88362 12.3123C10.4551 11.8813 11.1535 11.3546 11.7585 10.6738C12.4731 9.86976 13.0109 8.89844 13.0109 7.70321Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4l = [\"color\"];\nvar TableIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4l);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8 2H12.5C12.7761 2 13 2.22386 13 2.5V5H8V2ZM7 5V2H2.5C2.22386 2 2 2.22386 2 2.5V5H7ZM2 6V9H7V6H2ZM8 6H13V9H8V6ZM8 10H13V12.5C13 12.7761 12.7761 13 12.5 13H8V10ZM2 12.5V10H7V13H2.5C2.22386 13 2 12.7761 2 12.5ZM1 2.5C1 1.67157 1.67157 1 2.5 1H12.5C13.3284 1 14 1.67157 14 2.5V12.5C14 13.3284 13.3284 14 12.5 14H2.5C1.67157 14 1 13.3284 1 12.5V2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4m = [\"color\"];\nvar TargetIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4m);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.900024 7.50002C0.900024 3.85495 3.85495 0.900024 7.50002 0.900024C11.1451 0.900024 14.1 3.85495 14.1 7.50002C14.1 11.1451 11.1451 14.1 7.50002 14.1C3.85495 14.1 0.900024 11.1451 0.900024 7.50002ZM7.50002 1.80002C4.35201 1.80002 1.80002 4.35201 1.80002 7.50002C1.80002 10.648 4.35201 13.2 7.50002 13.2C10.648 13.2 13.2 10.648 13.2 7.50002C13.2 4.35201 10.648 1.80002 7.50002 1.80002ZM3.07504 7.50002C3.07504 5.05617 5.05618 3.07502 7.50004 3.07502C9.94388 3.07502 11.925 5.05617 11.925 7.50002C11.925 9.94386 9.94388 11.925 7.50004 11.925C5.05618 11.925 3.07504 9.94386 3.07504 7.50002ZM7.50004 3.92502C5.52562 3.92502 3.92504 5.52561 3.92504 7.50002C3.92504 9.47442 5.52563 11.075 7.50004 11.075C9.47444 11.075 11.075 9.47442 11.075 7.50002C11.075 5.52561 9.47444 3.92502 7.50004 3.92502ZM7.50004 5.25002C6.2574 5.25002 5.25004 6.25739 5.25004 7.50002C5.25004 8.74266 6.2574 9.75002 7.50004 9.75002C8.74267 9.75002 9.75004 8.74266 9.75004 7.50002C9.75004 6.25738 8.74267 5.25002 7.50004 5.25002ZM6.05004 7.50002C6.05004 6.69921 6.69923 6.05002 7.50004 6.05002C8.30084 6.05002 8.95004 6.69921 8.95004 7.50002C8.95004 8.30083 8.30084 8.95002 7.50004 8.95002C6.69923 8.95002 6.05004 8.30083 6.05004 7.50002Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4n = [\"color\"];\nvar TextIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4n);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.94993 2.95002L3.94993 4.49998C3.94993 4.74851 3.74845 4.94998 3.49993 4.94998C3.2514 4.94998 3.04993 4.74851 3.04993 4.49998V2.50004C3.04993 2.45246 3.05731 2.40661 3.07099 2.36357C3.12878 2.18175 3.29897 2.05002 3.49993 2.05002H11.4999C11.6553 2.05002 11.7922 2.12872 11.8731 2.24842C11.9216 2.32024 11.9499 2.40682 11.9499 2.50002L11.9499 2.50004V4.49998C11.9499 4.74851 11.7485 4.94998 11.4999 4.94998C11.2514 4.94998 11.0499 4.74851 11.0499 4.49998V2.95002H8.04993V12.05H9.25428C9.50281 12.05 9.70428 12.2515 9.70428 12.5C9.70428 12.7486 9.50281 12.95 9.25428 12.95H5.75428C5.50575 12.95 5.30428 12.7486 5.30428 12.5C5.30428 12.2515 5.50575 12.05 5.75428 12.05H6.94993V2.95002H3.94993Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4o = [\"color\"];\nvar TextAlignBottomIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4o);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.89949 5.50002C3.89949 5.27911 3.7204 5.10003 3.49949 5.10003C3.27857 5.10003 3.09949 5.27911 3.09949 5.50002L3.09949 12.5343L1.78233 11.2172C1.62612 11.061 1.37285 11.061 1.21664 11.2172C1.06043 11.3734 1.06043 11.6267 1.21664 11.7829L3.21664 13.7829C3.29166 13.8579 3.3934 13.9 3.49949 13.9C3.60557 13.9 3.70732 13.8579 3.78233 13.7829L5.78233 11.7829C5.93854 11.6267 5.93854 11.3734 5.78233 11.2172C5.62612 11.061 5.37285 11.061 5.21664 11.2172L3.89949 12.5343L3.89949 5.50002ZM8.49998 13C8.22383 13 7.99998 12.7762 7.99998 12.5C7.99998 12.2239 8.22383 12 8.49998 12H14.5C14.7761 12 15 12.2239 15 12.5C15 12.7762 14.7761 13 14.5 13H8.49998ZM8.49998 10C8.22383 10 7.99998 9.77617 7.99998 9.50002C7.99998 9.22388 8.22383 9.00002 8.49998 9.00002H14.5C14.7761 9.00002 15 9.22388 15 9.50002C15 9.77617 14.7761 10 14.5 10H8.49998ZM7.99998 6.50002C7.99998 6.77617 8.22383 7.00002 8.49998 7.00002H14.5C14.7761 7.00002 15 6.77617 15 6.50002C15 6.22388 14.7761 6.00002 14.5 6.00002H8.49998C8.22383 6.00002 7.99998 6.22388 7.99998 6.50002Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4p = [\"color\"];\nvar TextAlignCenterIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4p);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 4.5C2 4.22386 2.22386 4 2.5 4H12.5C12.7761 4 13 4.22386 13 4.5C13 4.77614 12.7761 5 12.5 5H2.5C2.22386 5 2 4.77614 2 4.5ZM4 7.5C4 7.22386 4.22386 7 4.5 7H10.5C10.7761 7 11 7.22386 11 7.5C11 7.77614 10.7761 8 10.5 8H4.5C4.22386 8 4 7.77614 4 7.5ZM3 10.5C3 10.2239 3.22386 10 3.5 10H11.5C11.7761 10 12 10.2239 12 10.5C12 10.7761 11.7761 11 11.5 11H3.5C3.22386 11 3 10.7761 3 10.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4q = [\"color\"];\nvar TextAlignJustifyIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2.5 4C2.22386 4 2 4.22386 2 4.5C2 4.77614 2.22386 5 2.5 5H12.5C12.7761 5 13 4.77614 13 4.5C13 4.22386 12.7761 4 12.5 4H2.5ZM2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5ZM2 10.5C2 10.2239 2.22386 10 2.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H2.5C2.22386 11 2 10.7761 2 10.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4r = [\"color\"];\nvar TextAlignLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4r);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 4.5C2 4.22386 2.22386 4 2.5 4H12.5C12.7761 4 13 4.22386 13 4.5C13 4.77614 12.7761 5 12.5 5H2.5C2.22386 5 2 4.77614 2 4.5ZM2 7.5C2 7.22386 2.22386 7 2.5 7H7.5C7.77614 7 8 7.22386 8 7.5C8 7.77614 7.77614 8 7.5 8H2.5C2.22386 8 2 7.77614 2 7.5ZM2 10.5C2 10.2239 2.22386 10 2.5 10H10.5C10.7761 10 11 10.2239 11 10.5C11 10.7761 10.7761 11 10.5 11H2.5C2.22386 11 2 10.7761 2 10.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4s = [\"color\"];\nvar TextAlignMiddleIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4s);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.49949 14.9C3.7204 14.9 3.89949 14.7209 3.89949 14.5L3.89949 10.4657L5.21664 11.7829C5.37285 11.9391 5.62612 11.9391 5.78233 11.7829C5.93854 11.6267 5.93854 11.3734 5.78233 11.2172L3.78233 9.21718C3.70732 9.14217 3.60557 9.10002 3.49949 9.10002C3.3934 9.10002 3.29166 9.14217 3.21664 9.21718L1.21664 11.2172C1.06043 11.3734 1.06043 11.6267 1.21664 11.7829C1.37285 11.9391 1.62612 11.9391 1.78233 11.7829L3.09949 10.4657L3.09949 14.5C3.09949 14.7209 3.27857 14.9 3.49949 14.9ZM7.99998 10.5C7.99998 10.7762 8.22383 11 8.49998 11H14.5C14.7761 11 15 10.7762 15 10.5C15 10.2239 14.7761 10 14.5 10H8.49998C8.22383 10 7.99998 10.2239 7.99998 10.5ZM7.99998 7.50002C7.99998 7.77617 8.22383 8.00002 8.49998 8.00002H14.5C14.7761 8.00002 15 7.77617 15 7.50002C15 7.22388 14.7761 7.00002 14.5 7.00002H8.49998C8.22383 7.00002 7.99998 7.22388 7.99998 7.50002ZM8.49998 5.00002C8.22383 5.00002 7.99998 4.77617 7.99998 4.50002C7.99998 4.22388 8.22383 4.00002 8.49998 4.00002H14.5C14.7761 4.00002 15 4.22388 15 4.50002C15 4.77617 14.7761 5.00002 14.5 5.00002H8.49998ZM3.89949 0.500025C3.89949 0.279111 3.7204 0.100025 3.49949 0.100025C3.27857 0.100025 3.09949 0.279111 3.09949 0.500025L3.09949 4.53434L1.78233 3.21718C1.62612 3.06097 1.37285 3.06097 1.21664 3.21718C1.06043 3.37339 1.06043 3.62666 1.21664 3.78287L3.21664 5.78287C3.29166 5.85788 3.3934 5.90002 3.49949 5.90002C3.60557 5.90002 3.70732 5.85788 3.78233 5.78287L5.78233 3.78287C5.93854 3.62666 5.93854 3.37339 5.78233 3.21718C5.62612 3.06097 5.37285 3.06097 5.21664 3.21718L3.89949 4.53434L3.89949 0.500025Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4t = [\"color\"];\nvar TextAlignRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4t);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M2 4.5C2 4.22386 2.22386 4 2.5 4H12.5C12.7761 4 13 4.22386 13 4.5C13 4.77614 12.7761 5 12.5 5H2.5C2.22386 5 2 4.77614 2 4.5ZM7 7.5C7 7.22386 7.22386 7 7.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H7.5C7.22386 8 7 7.77614 7 7.5ZM4 10.5C4 10.2239 4.22386 10 4.5 10H12.5C12.7761 10 13 10.2239 13 10.5C13 10.7761 12.7761 11 12.5 11H4.5C4.22386 11 4 10.7761 4 10.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4u = [\"color\"];\nvar TextAlignTopIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4u);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M3.89949 9.49998C3.89949 9.72089 3.7204 9.89997 3.49949 9.89997C3.27857 9.89997 3.09949 9.72089 3.09949 9.49998L3.09949 2.46566L1.78233 3.78282C1.62612 3.93903 1.37285 3.93903 1.21664 3.78282C1.06043 3.62661 1.06043 3.37334 1.21664 3.21713L3.21664 1.21713C3.29166 1.14212 3.3934 1.09998 3.49949 1.09998C3.60557 1.09998 3.70732 1.14212 3.78233 1.21713L5.78233 3.21713C5.93854 3.37334 5.93854 3.62661 5.78233 3.78282C5.62612 3.93903 5.37285 3.93903 5.21664 3.78282L3.89949 2.46566L3.89949 9.49998ZM8.49998 1.99998C8.22383 1.99998 7.99998 2.22383 7.99998 2.49998C7.99998 2.77612 8.22383 2.99998 8.49998 2.99998H14.5C14.7761 2.99998 15 2.77612 15 2.49998C15 2.22383 14.7761 1.99998 14.5 1.99998H8.49998ZM8.49998 4.99998C8.22383 4.99998 7.99998 5.22383 7.99998 5.49998C7.99998 5.77612 8.22383 5.99998 8.49998 5.99998H14.5C14.7761 5.99998 15 5.77612 15 5.49998C15 5.22383 14.7761 4.99998 14.5 4.99998H8.49998ZM7.99998 8.49998C7.99998 8.22383 8.22383 7.99998 8.49998 7.99998H14.5C14.7761 7.99998 15 8.22383 15 8.49998C15 8.77612 14.7761 8.99998 14.5 8.99998H8.49998C8.22383 8.99998 7.99998 8.77612 7.99998 8.49998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4v = [\"color\"];\nvar TextNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4v);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L11.9291 2.36383C11.9159 2.32246 11.897 2.28368 11.8732 2.24845C11.7923 2.12875 11.6554 2.05005 11.5001 2.05005H3.50005C3.29909 2.05005 3.1289 2.18178 3.07111 2.3636C3.05743 2.40665 3.05005 2.45249 3.05005 2.50007V4.50001C3.05005 4.74854 3.25152 4.95001 3.50005 4.95001C3.74858 4.95001 3.95005 4.74854 3.95005 4.50001V2.95005H6.95006V7.34284L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L6.95006 8.75705V12.0501H5.7544C5.50587 12.0501 5.3044 12.2515 5.3044 12.5001C5.3044 12.7486 5.50587 12.9501 5.7544 12.9501H9.2544C9.50293 12.9501 9.7044 12.7486 9.7044 12.5001C9.7044 12.2515 9.50293 12.0501 9.2544 12.0501H8.05006V7.65705L13.3536 2.35355ZM8.05006 6.24284L11.0501 3.24283V2.95005H8.05006V6.24284Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4w = [\"color\"];\nvar ThickArrowDownIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4w);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5 3.5C5 3.22386 5.22386 3 5.5 3H9.5C9.77614 3 10 3.22386 10 3.5V6H12.5C12.6873 6 12.8589 6.10467 12.9446 6.27121C13.0303 6.43774 13.0157 6.63821 12.9069 6.79062L7.90687 13.7906C7.81301 13.922 7.66148 14 7.5 14C7.33853 14 7.18699 13.922 7.09314 13.7906L2.09314 6.79062C1.98427 6.63821 1.96972 6.43774 2.05542 6.27121C2.14112 6.10467 2.31271 6 2.5 6H5V3.5ZM6 4V6.5C6 6.77614 5.77614 7 5.5 7H3.4716L7.5 12.6398L11.5284 7H9.5C9.22386 7 9 6.77614 9 6.5V4H6Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4x = [\"color\"];\nvar ThickArrowLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4x);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1 7.5C1 7.66148 1.07798 7.81301 1.20938 7.90687L8.20938 12.9069C8.36179 13.0157 8.56226 13.0303 8.72879 12.9446C8.89533 12.8589 9 12.6873 9 12.5L9 10L11.5 10C11.7761 10 12 9.77614 12 9.5L12 5.5C12 5.22386 11.7761 5 11.5 5L9 5L9 2.5C9 2.31271 8.89533 2.14112 8.72879 2.05542C8.56226 1.96972 8.36179 1.98427 8.20938 2.09313L1.20938 7.09314C1.07798 7.18699 1 7.33853 1 7.5ZM8 3.4716L8 5.5C8 5.77614 8.22386 6 8.5 6L11 6L11 9L8.5 9C8.22386 9 8 9.22386 8 9.5L8 11.5284L2.36023 7.5L8 3.4716Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4y = [\"color\"];\nvar ThickArrowRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14 7.5C14 7.66148 13.922 7.81301 13.7906 7.90687L6.79062 12.9069C6.63821 13.0157 6.43774 13.0303 6.27121 12.9446C6.10467 12.8589 6 12.6873 6 12.5L6 10L3.5 10C3.22386 10 3 9.77614 3 9.5L3 5.5C3 5.22386 3.22386 5 3.5 5L6 5L6 2.5C6 2.31271 6.10467 2.14112 6.27121 2.05542C6.43774 1.96972 6.63821 1.98427 6.79062 2.09313L13.7906 7.09314C13.922 7.18699 14 7.33853 14 7.5ZM7 3.4716L7 5.5C7 5.77614 6.77614 6 6.5 6L4 6L4 9L6.5 9C6.77614 9 7 9.22386 7 9.5L7 11.5284L12.6398 7.5L7 3.4716Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4z = [\"color\"];\nvar ThickArrowUpIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.5 1C7.66148 1 7.81301 1.07798 7.90687 1.20938L12.9069 8.20938C13.0157 8.36179 13.0303 8.56226 12.9446 8.72879C12.8589 8.89533 12.6873 9 12.5 9H10V11.5C10 11.7761 9.77614 12 9.5 12H5.5C5.22386 12 5 11.7761 5 11.5V9H2.5C2.31271 9 2.14112 8.89533 2.05542 8.72879C1.96972 8.56226 1.98427 8.36179 2.09314 8.20938L7.09314 1.20938C7.18699 1.07798 7.33853 1 7.5 1ZM3.4716 8H5.5C5.77614 8 6 8.22386 6 8.5V11H9V8.5C9 8.22386 9.22386 8 9.5 8H11.5284L7.5 2.36023L3.4716 8Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4A = [\"color\"];\nvar TimerIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4A);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49998 0.849976C7.22383 0.849976 6.99998 1.07383 6.99998 1.34998V3.52234C6.99998 3.79848 7.22383 4.02234 7.49998 4.02234C7.77612 4.02234 7.99998 3.79848 7.99998 3.52234V1.8718C10.8862 2.12488 13.15 4.54806 13.15 7.49998C13.15 10.6204 10.6204 13.15 7.49998 13.15C4.37957 13.15 1.84998 10.6204 1.84998 7.49998C1.84998 6.10612 2.35407 4.83128 3.19049 3.8459C3.36919 3.63538 3.34339 3.31985 3.13286 3.14115C2.92234 2.96245 2.60681 2.98825 2.42811 3.19877C1.44405 4.35808 0.849976 5.86029 0.849976 7.49998C0.849976 11.1727 3.82728 14.15 7.49998 14.15C11.1727 14.15 14.15 11.1727 14.15 7.49998C14.15 3.82728 11.1727 0.849976 7.49998 0.849976ZM6.74049 8.08072L4.22363 4.57237C4.15231 4.47295 4.16346 4.33652 4.24998 4.25C4.33649 4.16348 4.47293 4.15233 4.57234 4.22365L8.08069 6.74051C8.56227 7.08599 8.61906 7.78091 8.19998 8.2C7.78089 8.61909 7.08597 8.56229 6.74049 8.08072Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4B = [\"color\"];\nvar TokensIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4B);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.5 2C3.11929 2 2 3.11929 2 4.5C2 5.88072 3.11929 7 4.5 7C5.88072 7 7 5.88072 7 4.5C7 3.11929 5.88072 2 4.5 2ZM3 4.5C3 3.67157 3.67157 3 4.5 3C5.32843 3 6 3.67157 6 4.5C6 5.32843 5.32843 6 4.5 6C3.67157 6 3 5.32843 3 4.5ZM10.5 2C9.11929 2 8 3.11929 8 4.5C8 5.88072 9.11929 7 10.5 7C11.8807 7 13 5.88072 13 4.5C13 3.11929 11.8807 2 10.5 2ZM9 4.5C9 3.67157 9.67157 3 10.5 3C11.3284 3 12 3.67157 12 4.5C12 5.32843 11.3284 6 10.5 6C9.67157 6 9 5.32843 9 4.5ZM2 10.5C2 9.11929 3.11929 8 4.5 8C5.88072 8 7 9.11929 7 10.5C7 11.8807 5.88072 13 4.5 13C3.11929 13 2 11.8807 2 10.5ZM4.5 9C3.67157 9 3 9.67157 3 10.5C3 11.3284 3.67157 12 4.5 12C5.32843 12 6 11.3284 6 10.5C6 9.67157 5.32843 9 4.5 9ZM10.5 8C9.11929 8 8 9.11929 8 10.5C8 11.8807 9.11929 13 10.5 13C11.8807 13 13 11.8807 13 10.5C13 9.11929 11.8807 8 10.5 8ZM9 10.5C9 9.67157 9.67157 9 10.5 9C11.3284 9 12 9.67157 12 10.5C12 11.3284 11.3284 12 10.5 12C9.67157 12 9 11.3284 9 10.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4C = [\"color\"];\nvar TrackNextIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4C);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M13.0502 2.74989C13.0502 2.44613 12.804 2.19989 12.5002 2.19989C12.1965 2.19989 11.9502 2.44613 11.9502 2.74989V7.2825C11.9046 7.18802 11.8295 7.10851 11.7334 7.05776L2.73338 2.30776C2.5784 2.22596 2.3919 2.23127 2.24182 2.32176C2.09175 2.41225 2 2.57471 2 2.74995V12.25C2 12.4252 2.09175 12.5877 2.24182 12.6781C2.3919 12.7686 2.5784 12.7739 2.73338 12.6921L11.7334 7.94214C11.8295 7.89139 11.9046 7.81188 11.9502 7.7174V12.2499C11.9502 12.5536 12.1965 12.7999 12.5002 12.7999C12.804 12.7999 13.0502 12.5536 13.0502 12.2499V2.74989ZM3 11.4207V3.5792L10.4288 7.49995L3 11.4207Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4D = [\"color\"];\nvar TrackPreviousIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4D);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.94976 2.74989C1.94976 2.44613 2.196 2.19989 2.49976 2.19989C2.80351 2.19989 3.04976 2.44613 3.04976 2.74989V7.2825C3.0954 7.18802 3.17046 7.10851 3.26662 7.05776L12.2666 2.30776C12.4216 2.22596 12.6081 2.23127 12.7582 2.32176C12.9083 2.41225 13 2.57471 13 2.74995V12.25C13 12.4252 12.9083 12.5877 12.7582 12.6781C12.6081 12.7686 12.4216 12.7739 12.2666 12.6921L3.26662 7.94214C3.17046 7.89139 3.0954 7.81188 3.04976 7.7174V12.2499C3.04976 12.5536 2.80351 12.7999 2.49976 12.7999C2.196 12.7999 1.94976 12.5536 1.94976 12.2499V2.74989ZM4.57122 7.49995L12 11.4207V3.5792L4.57122 7.49995Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4E = [\"color\"];\nvar TransformIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4E);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.849976 1.74998C0.849976 1.25292 1.25292 0.849976 1.74998 0.849976H3.24998C3.74703 0.849976 4.14998 1.25292 4.14998 1.74998V2.04998H10.85V1.74998C10.85 1.25292 11.2529 0.849976 11.75 0.849976H13.25C13.747 0.849976 14.15 1.25292 14.15 1.74998V3.24998C14.15 3.74703 13.747 4.14998 13.25 4.14998H12.95V10.85H13.25C13.747 10.85 14.15 11.2529 14.15 11.75V13.25C14.15 13.747 13.747 14.15 13.25 14.15H11.75C11.2529 14.15 10.85 13.747 10.85 13.25V12.95H4.14998V13.25C4.14998 13.747 3.74703 14.15 3.24998 14.15H1.74998C1.25292 14.15 0.849976 13.747 0.849976 13.25V11.75C0.849976 11.2529 1.25292 10.85 1.74998 10.85H2.04998V4.14998H1.74998C1.25292 4.14998 0.849976 3.74703 0.849976 3.24998V1.74998ZM2.94998 4.14998V10.85H3.24998C3.74703 10.85 4.14998 11.2529 4.14998 11.75V12.05H10.85V11.75C10.85 11.2529 11.2529 10.85 11.75 10.85H12.05V4.14998H11.75C11.2529 4.14998 10.85 3.74703 10.85 3.24998V2.94998H4.14998V3.24998C4.14998 3.74703 3.74703 4.14998 3.24998 4.14998H2.94998ZM2.34998 1.74998H1.74998V2.34998V2.64998V3.24998H2.34998H2.64998H3.24998V2.64998V2.34998V1.74998H2.64998H2.34998ZM5.09998 5.99998C5.09998 5.50292 5.50292 5.09998 5.99998 5.09998H6.99998C7.49703 5.09998 7.89998 5.50292 7.89998 5.99998V6.99998C7.89998 7.03591 7.89787 7.07134 7.89378 7.10618C7.92861 7.10208 7.96405 7.09998 7.99998 7.09998H8.99998C9.49703 7.09998 9.89998 7.50292 9.89998 7.99998V8.99998C9.89998 9.49703 9.49703 9.89998 8.99998 9.89998H7.99998C7.50292 9.89998 7.09998 9.49703 7.09998 8.99998V7.99998C7.09998 7.96405 7.10208 7.92861 7.10618 7.89378C7.07134 7.89787 7.03591 7.89998 6.99998 7.89998H5.99998C5.50292 7.89998 5.09998 7.49703 5.09998 6.99998V5.99998ZM6.09998 5.99998H5.99998V6.09998V6.89998V6.99998H6.09998H6.89998H6.99998V6.89998V6.09998V5.99998H6.89998H6.09998ZM7.99998 7.99998H8.09998H8.89998H8.99998V8.09998V8.89998V8.99998H8.89998H8.09998H7.99998V8.89998V8.09998V7.99998ZM2.64998 11.75H2.34998H1.74998V12.35V12.65V13.25H2.34998H2.64998H3.24998V12.65V12.35V11.75H2.64998ZM11.75 1.74998H12.35H12.65H13.25V2.34998V2.64998V3.24998H12.65H12.35H11.75V2.64998V2.34998V1.74998ZM12.65 11.75H12.35H11.75V12.35V12.65V13.25H12.35H12.65H13.25V12.65V12.35V11.75H12.65Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4F = [\"color\"];\nvar TransparencyGridIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4F);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n opacity: \".25\",\n d: \"M0 0H3V3H0V0ZM6 3H3V6H0V9H3V12H0V15H3V12H6V15H9V12H12V15H15V12H12V9H15V6H12V3H15V0H12V3H9V0H6V3ZM6 6V3H9V6H6ZM6 9H3V6H6V9ZM9 9V6H12V9H9ZM9 9H6V12H9V9Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4G = [\"color\"];\nvar TrashIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4G);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.5 1C5.22386 1 5 1.22386 5 1.5C5 1.77614 5.22386 2 5.5 2H9.5C9.77614 2 10 1.77614 10 1.5C10 1.22386 9.77614 1 9.5 1H5.5ZM3 3.5C3 3.22386 3.22386 3 3.5 3H5H10H11.5C11.7761 3 12 3.22386 12 3.5C12 3.77614 11.7761 4 11.5 4H11V12C11 12.5523 10.5523 13 10 13H5C4.44772 13 4 12.5523 4 12V4L3.5 4C3.22386 4 3 3.77614 3 3.5ZM5 4H10V12H5V4Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4H = [\"color\"];\nvar TriangleDownIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4H);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4 6H11L7.5 10.5L4 6Z\",\n fill: color\n }));\n});\n\nvar _excluded$4I = [\"color\"];\nvar TriangleLeftIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4I);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M9 4L9 11L4.5 7.5L9 4Z\",\n fill: color\n }));\n});\n\nvar _excluded$4J = [\"color\"];\nvar TriangleRightIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4J);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6 11L6 4L10.5 7.5L6 11Z\",\n fill: color\n }));\n});\n\nvar _excluded$4K = [\"color\"];\nvar TriangleUpIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4K);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4 9H11L7.5 4.5L4 9Z\",\n fill: color\n }));\n});\n\nvar _excluded$4L = [\"color\"];\nvar TwitterLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4L);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.23336 4.69629C7.23336 2.96884 8.63335 1.56857 10.36 1.56857C11.3736 1.56857 12.183 2.04804 12.7254 2.74385C13.3079 2.62467 13.8557 2.40913 14.3513 2.11508C14.1559 2.72598 13.7424 3.2396 13.2033 3.56463C13.2038 3.56568 13.2042 3.56674 13.2047 3.56779C13.7334 3.50361 14.2364 3.36302 14.7048 3.15546L14.7037 3.15715C14.3667 3.66183 13.9431 4.10736 13.4561 4.47034C13.4823 4.64672 13.4956 4.82427 13.4956 5.00079C13.4956 8.6871 10.6873 12.9746 5.52122 12.9746C3.93906 12.9746 2.46544 12.511 1.22505 11.7152C0.992632 11.5661 0.925108 11.2568 1.07423 11.0244C1.0874 11.0038 1.10183 10.9846 1.11734 10.9666C1.20582 10.8202 1.37438 10.7309 1.5554 10.7522C2.47066 10.8601 3.38568 10.7485 4.19219 10.3962C3.39226 10.0434 2.77129 9.35975 2.50204 8.51974C2.45359 8.3686 2.48835 8.20311 2.59351 8.08422C2.59716 8.0801 2.60087 8.07606 2.60464 8.0721C1.96391 7.50819 1.55973 6.68208 1.55973 5.76143V5.72759C1.55973 5.56814 1.64411 5.42059 1.78155 5.33974C1.82671 5.31317 1.87537 5.29511 1.92532 5.28558C1.70549 4.86154 1.58116 4.37984 1.58116 3.86958C1.58116 3.40165 1.58384 2.81192 1.91332 2.28081C1.98718 2.16175 2.10758 2.08915 2.2364 2.07195C2.42588 2.01237 2.64087 2.06969 2.77406 2.23302C3.86536 3.57126 5.44066 4.49583 7.23366 4.73961L7.23336 4.69629ZM5.52122 11.9746C4.73387 11.9746 3.97781 11.8435 3.27248 11.6023C4.13012 11.4538 4.95307 11.1159 5.66218 10.5602C5.81211 10.4427 5.87182 10.2435 5.81126 10.0629C5.7507 9.88234 5.583 9.75943 5.39255 9.75607C4.68968 9.74366 4.06712 9.39716 3.67793 8.86845C3.86828 8.85306 4.05428 8.82039 4.23445 8.77167C4.43603 8.71716 4.57363 8.53114 4.56674 8.32243C4.55985 8.11372 4.41029 7.93718 4.20555 7.89607C3.42694 7.73977 2.79883 7.16764 2.56169 6.42174C2.76255 6.47025 2.97102 6.4991 3.18482 6.5061C3.38563 6.51267 3.56646 6.38533 3.62795 6.19405C3.68943 6.00277 3.61666 5.79391 3.44963 5.68224C2.86523 5.29155 2.48116 4.62464 2.48116 3.86958C2.48116 3.70213 2.48352 3.55268 2.49355 3.41719C3.85115 4.79913 5.70873 5.68931 7.77588 5.79338C7.93225 5.80126 8.08328 5.73543 8.18395 5.61553C8.28463 5.49562 8.32332 5.33548 8.28851 5.18284C8.25255 5.02517 8.23336 4.86284 8.23336 4.69629C8.23336 3.52085 9.18591 2.56857 10.36 2.56857C11.5943 2.56857 12.4956 3.71208 12.4956 5.00079C12.4956 8.25709 10.0202 11.9746 5.52122 11.9746Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4M = [\"color\"];\nvar UnderlineIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4M);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M5.00001 2.75C5.00001 2.47386 4.77615 2.25 4.50001 2.25C4.22387 2.25 4.00001 2.47386 4.00001 2.75V8.05C4.00001 9.983 5.56702 11.55 7.50001 11.55C9.43301 11.55 11 9.983 11 8.05V2.75C11 2.47386 10.7762 2.25 10.5 2.25C10.2239 2.25 10 2.47386 10 2.75V8.05C10 9.43071 8.88072 10.55 7.50001 10.55C6.1193 10.55 5.00001 9.43071 5.00001 8.05V2.75ZM3.49998 13.1001C3.27906 13.1001 3.09998 13.2791 3.09998 13.5001C3.09998 13.721 3.27906 13.9001 3.49998 13.9001H11.5C11.7209 13.9001 11.9 13.721 11.9 13.5001C11.9 13.2791 11.7209 13.1001 11.5 13.1001H3.49998Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4N = [\"color\"];\nvar UpdateIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4N);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.90321 7.29677C1.90321 10.341 4.11041 12.4147 6.58893 12.8439C6.87255 12.893 7.06266 13.1627 7.01355 13.4464C6.96444 13.73 6.69471 13.9201 6.41109 13.871C3.49942 13.3668 0.86084 10.9127 0.86084 7.29677C0.860839 5.76009 1.55996 4.55245 2.37639 3.63377C2.96124 2.97568 3.63034 2.44135 4.16846 2.03202L2.53205 2.03202C2.25591 2.03202 2.03205 1.80816 2.03205 1.53202C2.03205 1.25588 2.25591 1.03202 2.53205 1.03202L5.53205 1.03202C5.80819 1.03202 6.03205 1.25588 6.03205 1.53202L6.03205 4.53202C6.03205 4.80816 5.80819 5.03202 5.53205 5.03202C5.25591 5.03202 5.03205 4.80816 5.03205 4.53202L5.03205 2.68645L5.03054 2.68759L5.03045 2.68766L5.03044 2.68767L5.03043 2.68767C4.45896 3.11868 3.76059 3.64538 3.15554 4.3262C2.44102 5.13021 1.90321 6.10154 1.90321 7.29677ZM13.0109 7.70321C13.0109 4.69115 10.8505 2.6296 8.40384 2.17029C8.12093 2.11718 7.93465 1.84479 7.98776 1.56188C8.04087 1.27898 8.31326 1.0927 8.59616 1.14581C11.4704 1.68541 14.0532 4.12605 14.0532 7.70321C14.0532 9.23988 13.3541 10.4475 12.5377 11.3662C11.9528 12.0243 11.2837 12.5586 10.7456 12.968L12.3821 12.968C12.6582 12.968 12.8821 13.1918 12.8821 13.468C12.8821 13.7441 12.6582 13.968 12.3821 13.968L9.38205 13.968C9.10591 13.968 8.88205 13.7441 8.88205 13.468L8.88205 10.468C8.88205 10.1918 9.10591 9.96796 9.38205 9.96796C9.65819 9.96796 9.88205 10.1918 9.88205 10.468L9.88205 12.3135L9.88362 12.3123C10.4551 11.8813 11.1535 11.3546 11.7585 10.6738C12.4731 9.86976 13.0109 8.89844 13.0109 7.70321Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4O = [\"color\"];\nvar UploadIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4O);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.81825 1.18188C7.64251 1.00615 7.35759 1.00615 7.18185 1.18188L4.18185 4.18188C4.00611 4.35762 4.00611 4.64254 4.18185 4.81828C4.35759 4.99401 4.64251 4.99401 4.81825 4.81828L7.05005 2.58648V9.49996C7.05005 9.74849 7.25152 9.94996 7.50005 9.94996C7.74858 9.94996 7.95005 9.74849 7.95005 9.49996V2.58648L10.1819 4.81828C10.3576 4.99401 10.6425 4.99401 10.8182 4.81828C10.994 4.64254 10.994 4.35762 10.8182 4.18188L7.81825 1.18188ZM2.5 9.99997C2.77614 9.99997 3 10.2238 3 10.5V12C3 12.5538 3.44565 13 3.99635 13H11.0012C11.5529 13 12 12.5528 12 12V10.5C12 10.2238 12.2239 9.99997 12.5 9.99997C12.7761 9.99997 13 10.2238 13 10.5V12C13 13.104 12.1062 14 11.0012 14H3.99635C2.89019 14 2 13.103 2 12V10.5C2 10.2238 2.22386 9.99997 2.5 9.99997Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4P = [\"color\"];\nvar ValueIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4P);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4Q = [\"color\"];\nvar ValueNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4Q);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49985 0.877045C3.84216 0.877045 0.877014 3.84219 0.877014 7.49988C0.877014 9.1488 1.47963 10.657 2.47665 11.8162L1.64643 12.6464C1.45117 12.8417 1.45117 13.1583 1.64643 13.3535C1.8417 13.5488 2.15828 13.5488 2.35354 13.3535L3.18377 12.5233C4.34296 13.5202 5.85104 14.1227 7.49985 14.1227C11.1575 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 5.85107 13.5202 4.34299 12.5233 3.1838L13.3535 2.35354C13.5488 2.15827 13.5488 1.84169 13.3535 1.64643C13.1583 1.45117 12.8417 1.45117 12.6464 1.64643L11.8162 2.47668C10.657 1.47966 9.14877 0.877045 7.49985 0.877045ZM11.1422 3.15066C10.1567 2.32449 8.88639 1.82704 7.49985 1.82704C4.36683 1.82704 1.82701 4.36686 1.82701 7.49988C1.82701 8.88642 2.32446 10.1568 3.15063 11.1422L11.1422 3.15066ZM3.85776 11.8493C4.84317 12.6753 6.11343 13.1727 7.49985 13.1727C10.6328 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 6.11346 12.6753 4.8432 11.8493 3.85779L3.85776 11.8493Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4R = [\"color\"];\nvar VercelLogoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4R);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7.49998 1L6.92321 2.00307L1.17498 12L0.599976 13H1.7535H13.2464H14.4L13.825 12L8.07674 2.00307L7.49998 1ZM7.49998 3.00613L2.3285 12H12.6714L7.49998 3.00613Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4S = [\"color\"];\nvar VideoIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4S);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.76447 3.12199C5.63151 3.04859 6.56082 3 7.5 3C8.43918 3 9.36849 3.04859 10.2355 3.12199C11.2796 3.21037 11.9553 3.27008 12.472 3.39203C12.9425 3.50304 13.2048 3.64976 13.4306 3.88086C13.4553 3.90618 13.4902 3.94414 13.5133 3.97092C13.7126 4.20149 13.8435 4.4887 13.918 5.03283C13.9978 5.6156 14 6.37644 14 7.52493C14 8.66026 13.9978 9.41019 13.9181 9.98538C13.8439 10.5206 13.7137 10.8061 13.5125 11.0387C13.4896 11.0651 13.4541 11.1038 13.4296 11.1287C13.2009 11.3625 12.9406 11.5076 12.4818 11.6164C11.9752 11.7365 11.3143 11.7942 10.2878 11.8797C9.41948 11.9521 8.47566 12 7.5 12C6.52434 12 5.58052 11.9521 4.7122 11.8797C3.68572 11.7942 3.02477 11.7365 2.51816 11.6164C2.05936 11.5076 1.7991 11.3625 1.57037 11.1287C1.54593 11.1038 1.51035 11.0651 1.48748 11.0387C1.28628 10.8061 1.15612 10.5206 1.08193 9.98538C1.00221 9.41019 1 8.66026 1 7.52493C1 6.37644 1.00216 5.6156 1.082 5.03283C1.15654 4.4887 1.28744 4.20149 1.48666 3.97092C1.5098 3.94414 1.54468 3.90618 1.56942 3.88086C1.7952 3.64976 2.05752 3.50304 2.52796 3.39203C3.04473 3.27008 3.7204 3.21037 4.76447 3.12199ZM0 7.52493C0 5.28296 0 4.16198 0.729985 3.31713C0.766457 3.27491 0.815139 3.22194 0.854123 3.18204C1.63439 2.38339 2.64963 2.29744 4.68012 2.12555C5.56923 2.05028 6.52724 2 7.5 2C8.47276 2 9.43077 2.05028 10.3199 2.12555C12.3504 2.29744 13.3656 2.38339 14.1459 3.18204C14.1849 3.22194 14.2335 3.27491 14.27 3.31713C15 4.16198 15 5.28296 15 7.52493C15 9.74012 15 10.8477 14.2688 11.6929C14.2326 11.7348 14.1832 11.7885 14.1444 11.8281C13.3629 12.6269 12.3655 12.71 10.3709 12.8763C9.47971 12.9505 8.50782 13 7.5 13C6.49218 13 5.52028 12.9505 4.62915 12.8763C2.63446 12.71 1.63712 12.6269 0.855558 11.8281C0.816844 11.7885 0.767442 11.7348 0.731221 11.6929C0 10.8477 0 9.74012 0 7.52493ZM5.25 5.38264C5.25 5.20225 5.43522 5.08124 5.60041 5.15369L10.428 7.27105C10.6274 7.35853 10.6274 7.64147 10.428 7.72895L5.60041 9.84631C5.43522 9.91876 5.25 9.79775 5.25 9.61736V5.38264Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4T = [\"color\"];\nvar ViewGridIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4T);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M7 2H1.5C1.22386 2 1 2.22386 1 2.5V7H7V2ZM8 2V7H14V2.5C14 2.22386 13.7761 2 13.5 2H8ZM7 8H1V12.5C1 12.7761 1.22386 13 1.5 13H7V8ZM8 13V8H14V12.5C14 12.7761 13.7761 13 13.5 13H8ZM1.5 1C0.671573 1 0 1.67157 0 2.5V12.5C0 13.3284 0.671573 14 1.5 14H13.5C14.3284 14 15 13.3284 15 12.5V2.5C15 1.67157 14.3284 1 13.5 1H1.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4U = [\"color\"];\nvar ViewHorizontalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4U);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M1.5 2H13.5C13.7761 2 14 2.22386 14 2.5V7H1V2.5C1 2.22386 1.22386 2 1.5 2ZM1 8V12.5C1 12.7761 1.22386 13 1.5 13H13.5C13.7761 13 14 12.7761 14 12.5V8H1ZM0 2.5C0 1.67157 0.671573 1 1.5 1H13.5C14.3284 1 15 1.67157 15 2.5V12.5C15 13.3284 14.3284 14 13.5 14H1.5C0.671573 14 0 13.3284 0 12.5V2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4V = [\"color\"];\nvar ViewNoneIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4V);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M14 2.58711L1.85163 13H13.5C13.7761 13 14 12.7761 14 12.5V2.58711ZM0.762879 13.8067L0.825396 13.8796L0.854717 13.8545C1.05017 13.9478 1.26899 14 1.5 14H13.5C14.3284 14 15 13.3284 15 12.5V2.5C15 1.93949 14.6926 1.45078 14.2371 1.19331L14.1746 1.12037L14.1453 1.1455C13.9498 1.05222 13.731 1 13.5 1H1.5C0.671573 1 0 1.67157 0 2.5V12.5C0 13.0605 0.307435 13.5492 0.762879 13.8067ZM1 12.4129L13.1484 2H1.5C1.22386 2 1 2.22386 1 2.5V12.4129Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4W = [\"color\"];\nvar ViewVerticalIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4W);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M8 2H13.5C13.7761 2 14 2.22386 14 2.5V12.5C14 12.7761 13.7761 13 13.5 13H8V2ZM7 2H1.5C1.22386 2 1 2.22386 1 2.5V12.5C1 12.7761 1.22386 13 1.5 13H7V2ZM0 2.5C0 1.67157 0.671573 1 1.5 1H13.5C14.3284 1 15 1.67157 15 2.5V12.5C15 13.3284 14.3284 14 13.5 14H1.5C0.671573 14 0 13.3284 0 12.5V2.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4X = [\"color\"];\nvar WidthIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4X);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M4.81812 4.68161C4.99386 4.85734 4.99386 5.14227 4.81812 5.318L3.08632 7.0498H11.9135L10.1817 5.318C10.006 5.14227 10.006 4.85734 10.1817 4.68161C10.3575 4.50587 10.6424 4.50587 10.8181 4.68161L13.3181 7.18161C13.4939 7.35734 13.4939 7.64227 13.3181 7.818L10.8181 10.318C10.6424 10.4937 10.3575 10.4937 10.1817 10.318C10.006 10.1423 10.006 9.85734 10.1817 9.68161L11.9135 7.9498H3.08632L4.81812 9.68161C4.99386 9.85734 4.99386 10.1423 4.81812 10.318C4.64239 10.4937 4.35746 10.4937 4.18173 10.318L1.68173 7.818C1.50599 7.64227 1.50599 7.35734 1.68173 7.18161L4.18173 4.68161C4.35746 4.50587 4.64239 4.50587 4.81812 4.68161Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4Y = [\"color\"];\nvar ZoomInIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4Y);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159ZM4.25 6.5C4.25 6.22386 4.47386 6 4.75 6H6V4.75C6 4.47386 6.22386 4.25 6.5 4.25C6.77614 4.25 7 4.47386 7 4.75V6H8.25C8.52614 6 8.75 6.22386 8.75 6.5C8.75 6.77614 8.52614 7 8.25 7H7V8.25C7 8.52614 6.77614 8.75 6.5 8.75C6.22386 8.75 6 8.52614 6 8.25V7H4.75C4.47386 7 4.25 6.77614 4.25 6.5Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nvar _excluded$4Z = [\"color\"];\nvar ZoomOutIcon = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {\n var _ref$color = _ref.color,\n color = _ref$color === void 0 ? 'currentColor' : _ref$color,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$4Z);\n\n return createElement(\"svg\", Object.assign({\n width: \"15\",\n height: \"15\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props, {\n ref: forwardedRef\n }), createElement(\"path\", {\n d: \"M6.5 10C8.433 10 10 8.433 10 6.5C10 4.567 8.433 3 6.5 3C4.567 3 3 4.567 3 6.5C3 8.433 4.567 10 6.5 10ZM6.5 11C7.56251 11 8.53901 10.6318 9.30884 10.0159L12.1464 12.8536C12.3417 13.0488 12.6583 13.0488 12.8536 12.8536C13.0488 12.6583 13.0488 12.3417 12.8536 12.1464L10.0159 9.30884C10.6318 8.53901 11 7.56251 11 6.5C11 4.01472 8.98528 2 6.5 2C4.01472 2 2 4.01472 2 6.5C2 8.98528 4.01472 11 6.5 11ZM4.75 6C4.47386 6 4.25 6.22386 4.25 6.5C4.25 6.77614 4.47386 7 4.75 7H8.25C8.52614 7 8.75 6.77614 8.75 6.5C8.75 6.22386 8.52614 6 8.25 6H4.75Z\",\n fill: color,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }));\n});\n\nexport { AccessibilityIcon, ActivityLogIcon, AlignBaselineIcon, AlignBottomIcon, AlignCenterHorizontallyIcon, AlignCenterVerticallyIcon, AlignLeftIcon, AlignRightIcon, AlignTopIcon, AllSidesIcon, AngleIcon, ArchiveIcon, ArrowBottomLeftIcon, ArrowBottomRightIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowTopLeftIcon, ArrowTopRightIcon, ArrowUpIcon, AspectRatioIcon, AvatarIcon, BackpackIcon, BadgeIcon, BarChartIcon, BellIcon, BlendingModeIcon, BookmarkFilledIcon, BookmarkIcon, BorderAllIcon, BorderBottomIcon, BorderDashedIcon, BorderDottedIcon, BorderLeftIcon, BorderNoneIcon, BorderRightIcon, BorderSolidIcon, BorderSplitIcon, BorderStyleIcon, BorderTopIcon, BorderWidthIcon, BoxIcon, BoxModelIcon, ButtonIcon, CalendarIcon, CameraIcon, CardStackIcon, CardStackMinusIcon, CardStackPlusIcon, CaretDownIcon, CaretLeftIcon, CaretRightIcon, CaretSortIcon, CaretUpIcon, ChatBubbleIcon, CheckCircledIcon, CheckIcon, CheckboxIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleBackslashIcon, CircleIcon, ClipboardCopyIcon, ClipboardIcon, ClockIcon, CodeIcon, CodeSandboxLogoIcon, ColorWheelIcon, ColumnSpacingIcon, ColumnsIcon, CommitIcon, Component1Icon, Component2Icon, ComponentBooleanIcon, ComponentInstanceIcon, ComponentNoneIcon, ComponentPlaceholderIcon, ContainerIcon, CookieIcon, CopyIcon, CornerBottomLeftIcon, CornerBottomRightIcon, CornerTopLeftIcon, CornerTopRightIcon, CornersIcon, CountdownTimerIcon, CounterClockwiseClockIcon, CropIcon, Cross1Icon, Cross2Icon, CrossCircledIcon, Crosshair1Icon, Crosshair2Icon, CrumpledPaperIcon, CubeIcon, CursorArrowIcon, CursorTextIcon, DashIcon, DashboardIcon, DesktopIcon, DimensionsIcon, DiscIcon, DiscordLogoIcon, DividerHorizontalIcon, DividerVerticalIcon, DotFilledIcon, DotIcon, DotsHorizontalIcon, DotsVerticalIcon, DoubleArrowDownIcon, DoubleArrowLeftIcon, DoubleArrowRightIcon, DoubleArrowUpIcon, DownloadIcon, DragHandleDots1Icon, DragHandleDots2Icon, DragHandleHorizontalIcon, DragHandleVerticalIcon, DrawingPinFilledIcon, DrawingPinIcon, DropdownMenuIcon, EnterFullScreenIcon, EnterIcon, EnvelopeClosedIcon, EnvelopeOpenIcon, EraserIcon, ExclamationTriangleIcon, ExitFullScreenIcon, ExitIcon, ExternalLinkIcon, EyeClosedIcon, EyeNoneIcon, EyeOpenIcon, FaceIcon, FigmaLogoIcon, FileIcon, FileMinusIcon, FilePlusIcon, FileTextIcon, FontBoldIcon, FontFamilyIcon, FontItalicIcon, FontRomanIcon, FontSizeIcon, FontStyleIcon, FrameIcon, FramerLogoIcon, GearIcon, GitHubLogoIcon, GlobeIcon, GridIcon, GroupIcon, Half1Icon, Half2Icon, HamburgerMenuIcon, HandIcon, HeadingIcon, HeartFilledIcon, HeartIcon, HeightIcon, HobbyKnifeIcon, HomeIcon, IconJarLogoIcon, IdCardIcon, ImageIcon, InfoCircledIcon, InputIcon, InstagramLogoIcon, KeyboardIcon, LapTimerIcon, LaptopIcon, LayersIcon, LayoutIcon, LetterCaseCapitalizeIcon, LetterCaseLowercaseIcon, LetterCaseToggleIcon, LetterCaseUppercaseIcon, LetterSpacingIcon, LightningBoltIcon, LineHeightIcon, Link1Icon, Link2Icon, LinkBreak1Icon, LinkBreak2Icon, LinkNone1Icon, LinkNone2Icon, LinkedInLogoIcon, ListBulletIcon, LockClosedIcon, LockOpen1Icon, LockOpen2Icon, LoopIcon, MagicWandIcon, MagnifyingGlassIcon, MarginIcon, MaskOffIcon, MaskOnIcon, MinusCircledIcon, MinusIcon, MixIcon, MixerHorizontalIcon, MixerVerticalIcon, MobileIcon, ModulzLogoIcon, MoonIcon, MoveIcon, NotionLogoIcon, OpacityIcon, OpenInNewWindowIcon, OverlineIcon, PaddingIcon, PaperPlaneIcon, PauseIcon, Pencil1Icon, Pencil2Icon, PersonIcon, PieChartIcon, PilcrowIcon, PinBottomIcon, PinLeftIcon, PinRightIcon, PinTopIcon, PlayIcon, PlusCircledIcon, PlusIcon, QuestionMarkCircledIcon, QuestionMarkIcon, QuoteIcon, RadiobuttonIcon, ReaderIcon, ReloadIcon, ResetIcon, ResumeIcon, RocketIcon, RotateCounterClockwiseIcon, RowSpacingIcon, RowsIcon, RulerHorizontalIcon, RulerSquareIcon, ScissorsIcon, SectionIcon, SewingPinFilledIcon, SewingPinIcon, ShadowIcon, ShadowInnerIcon, ShadowNoneIcon, ShadowOuterIcon, Share1Icon, Share2Icon, ShuffleIcon, SizeIcon, SketchLogoIcon, SlashIcon, SliderIcon, SpaceBetweenHorizontallyIcon, SpaceBetweenVerticallyIcon, SpaceEvenlyHorizontallyIcon, SpaceEvenlyVerticallyIcon, SpeakerLoudIcon, SpeakerModerateIcon, SpeakerOffIcon, SpeakerQuietIcon, SquareIcon, StackIcon, StarFilledIcon, StarIcon, StitchesLogoIcon, StopIcon, StopwatchIcon, StretchHorizontallyIcon, StretchVerticallyIcon, StrikethroughIcon, SunIcon, SwitchIcon, SymbolIcon, TableIcon, TargetIcon, TextAlignBottomIcon, TextAlignCenterIcon, TextAlignJustifyIcon, TextAlignLeftIcon, TextAlignMiddleIcon, TextAlignRightIcon, TextAlignTopIcon, TextIcon, TextNoneIcon, ThickArrowDownIcon, ThickArrowLeftIcon, ThickArrowRightIcon, ThickArrowUpIcon, TimerIcon, TokensIcon, TrackNextIcon, TrackPreviousIcon, TransformIcon, TransparencyGridIcon, TrashIcon, TriangleDownIcon, TriangleLeftIcon, TriangleRightIcon, TriangleUpIcon, TwitterLogoIcon, UnderlineIcon, UpdateIcon, UploadIcon, ValueIcon, ValueNoneIcon, VercelLogoIcon, VideoIcon, ViewGridIcon, ViewHorizontalIcon, ViewNoneIcon, ViewVerticalIcon, WidthIcon, ZoomInIcon, ZoomOutIcon };\n//# sourceMappingURL=react-icons.esm.js.map\n", + "import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n\treturn <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n\treturn <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n\treturn <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n\treturn <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n\treturn (\n\t\t<DialogPrimitive.Overlay\n\t\t\tdata-slot=\"dialog-overlay\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DialogContent({ className, children, ...props }: React.ComponentProps<typeof DialogPrimitive.Content>) {\n\treturn (\n\t\t<DialogPortal data-slot=\"dialog-portal\">\n\t\t\t<DialogOverlay />\n\t\t\t<DialogPrimitive.Content\n\t\t\t\tdata-slot=\"dialog-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-vscode-editor-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}>\n\t\t\t\t{children}\n\t\t\t\t<DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\">\n\t\t\t\t\t<XIcon />\n\t\t\t\t\t<span className=\"sr-only\">Close</span>\n\t\t\t\t</DialogPrimitive.Close>\n\t\t\t</DialogPrimitive.Content>\n\t\t</DialogPortal>\n\t)\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"dialog-header\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"dialog-footer\"\n\t\t\tclassName={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n\treturn (\n\t\t<DialogPrimitive.Title\n\t\t\tdata-slot=\"dialog-title\"\n\t\t\tclassName={cn(\"text-lg leading-none font-semibold my-0\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>) {\n\treturn (\n\t\t<DialogPrimitive.Description\n\t\t\tdata-slot=\"dialog-description\"\n\t\t\tclassName={cn(\"text-muted-foreground text-sm my-0\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport {\n\tDialog,\n\tDialogClose,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogOverlay,\n\tDialogPortal,\n\tDialogTitle,\n\tDialogTrigger,\n}\n", + "import * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { MagnifyingGlassIcon } from \"@radix-ui/react-icons\"\n\nimport { cn } from \"@/lib/utils\"\n\nimport { Dialog, DialogContent } from \"@/components/ui/dialog\"\n\nconst Command = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n\t<CommandPrimitive\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t\"flex h-full w-full flex-col overflow-hidden rounded-xs bg-popover text-popover-foreground\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n))\nCommand.displayName = CommandPrimitive.displayName\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n\treturn (\n\t\t<Dialog {...props}>\n\t\t\t<DialogContent className=\"overflow-hidden p-0\">\n\t\t\t\t<Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n\t\t\t\t\t{children}\n\t\t\t\t</Command>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t)\n}\n\nconst CommandInput = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Input>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n\t// eslint-disable-next-line react/no-unknown-property\n\t<div className=\"flex items-center border-b border-vscode-dropdown-border px-3\" cmdk-input-wrapper=\"\">\n\t\t<MagnifyingGlassIcon className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t<CommandPrimitive.Input\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"flex h-10 w-full rounded-xs bg-transparent py-3 text-base outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.List>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n\t<CommandPrimitive.List\n\t\tref={ref}\n\t\tclassName={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n\t\t{...props}\n\t/>\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Empty>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />)\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Group>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n\t<CommandPrimitive.Group\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t\"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n\t<CommandPrimitive.Separator\n\t\tref={ref}\n\t\tclassName={cn(\"-mx-1 h-px bg-vscode-dropdown-border\", className)}\n\t\t{...props}\n\t/>\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n\tReact.ElementRef<typeof CommandPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n\t<CommandPrimitive.Item\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t\"relative flex gap-2 select-none items-center px-2 py-1.5 outline-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n\t\t\t\"data-[selected=true]:bg-vscode-list-activeSelectionBackground data-[selected=true]:text-vscode-list-activeSelectionForeground\",\n\t\t\t\"text-vscode-dropdown-foreground text-sm\",\n\t\t\t\"rounded-xs active:opacity-90 cursor-pointer\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn(\"ml-auto text-xs tracking-widest text-muted-foreground\", className)} {...props} />\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n\tCommand,\n\tCommandDialog,\n\tCommandInput,\n\tCommandList,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandItem,\n\tCommandShortcut,\n\tCommandSeparator,\n}\n", + "\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n", + "// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n", + "/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n", + "import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n var _overflowsData$;\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n const hasInitialMainAxisOverflow = ((_overflowsData$ = overflowsData[0]) == null ? void 0 : _overflowsData$.overflows[0]) > 0;\n if (!ignoreCrossAxisOverflow || hasInitialMainAxisOverflow) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n", + "function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n", + "import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n", + "import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n", + "// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { PortalProps } from \"@radix-ui/react-portal\"\nimport { CheckIcon, DotFilledIcon } from \"@radix-ui/react-icons\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & Pick<PortalProps, \"container\">\n>(({ className, sideOffset = 4, container, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Portal container={container}>\n\t\t<DropdownMenuPrimitive.Content\n\t\t\tref={ref}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn(\n\t\t\t\t\"z-50 min-w-[8rem] overflow-hidden rounded-xs p-1 shadow-xs\",\n\t\t\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n\t\t\t\t\"border border-vscode-focusBorder\",\n\t\t\t\t\"bg-vscode-dropdown-background bg-opacity-100\",\n\t\t\t\t\"text-vscode-dropdown-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n\t\tinset?: boolean\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Item\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t\"relative flex select-none items-center gap-2 px-2 py-1.5 outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\t\"focus:bg-vscode-list-activeSelectionBackground focus:text-vscode-list-activeSelectionForeground\",\n\t\t\t\"text-vscode-dropdown-foreground text-sm\",\n\t\t\t\"rounded-xs active:opacity-90 cursor-pointer\",\n\t\t\tinset && \"pl-8\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n))\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n\t<DropdownMenuPrimitive.CheckboxItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n\t\t\t\"focus:bg-vscode-list-activeSelectionBackground focus:text-vscode-list-activeSelectionForeground\",\n\t\t\tclassName,\n\t\t)}\n\t\tchecked={checked}\n\t\t{...props}>\n\t\t<span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<CheckIcon className=\"h-4 w-4\" />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n\t<DropdownMenuPrimitive.RadioItem\n\t\tref={ref}\n\t\tclassName={cn(\n\t\t\t\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-vscode-list-activeSelectionBackground focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}>\n\t\t<span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\n\t\t\t\t<DotFilledIcon className=\"h-2 w-2 fill-current\" />\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\n\t\t</span>\n\t\t{children}\n\t</DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n\t\tinset?: boolean\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Label\n\t\tref={ref}\n\t\tclassName={cn(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className)}\n\t\t{...props}\n\t/>\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n\t<DropdownMenuPrimitive.Separator\n\t\tref={ref}\n\t\tclassName={cn(\"-mx-1 my-1 h-px bg-vscode-dropdown-foreground/10\", className)}\n\t\t{...props}\n\t/>\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)} {...props} />\n}\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\"\n\nexport {\n\tDropdownMenu,\n\tDropdownMenuTrigger,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuCheckboxItem,\n\tDropdownMenuRadioItem,\n\tDropdownMenuLabel,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuGroup,\n\tDropdownMenuPortal,\n\tDropdownMenuRadioGroup,\n}\n", + "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n\t({ className, type, ...props }, ref) => {\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype={type}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex w-full text-vscode-input-foreground border border-vscode-dropdown-border bg-vscode-input-background rounded-xs px-3 py-1 text-base transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus:outline-0 focus-visible:outline-none focus-visible:border-vscode-focusBorder disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t},\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n", + "\"use client\";\n\n// src/popover.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar POPOVER_NAME = \"Popover\";\nvar [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);\nvar Popover = (props) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: POPOVER_NAME\n });\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n PopoverProvider,\n {\n scope: __scopePopover,\n contentId: useId(),\n triggerRef,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n hasCustomAnchor,\n onCustomAnchorAdd: React.useCallback(() => setHasCustomAnchor(true), []),\n onCustomAnchorRemove: React.useCallback(() => setHasCustomAnchor(false), []),\n modal,\n children\n }\n ) });\n};\nPopover.displayName = POPOVER_NAME;\nvar ANCHOR_NAME = \"PopoverAnchor\";\nvar PopoverAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nPopoverAnchor.displayName = ANCHOR_NAME;\nvar TRIGGER_NAME = \"PopoverTrigger\";\nvar PopoverTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n const trigger = /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: trigger });\n }\n);\nPopoverTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"PopoverPortal\";\nvar [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar PopoverPortal = (props) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nPopoverPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"PopoverContent\";\nvar PopoverContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nPopoverContent.displayName = CONTENT_NAME;\nvar Slot = createSlot(\"PopoverContent.RemoveScroll\");\nvar PopoverContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n ),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nvar PopoverContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n PopoverContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar PopoverContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n useFocusGuards();\n return /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onInteractOutside,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n \"data-state\": getState(context.open),\n role: \"dialog\",\n id: context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-popover-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-popover-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-popover-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-popover-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-popover-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n )\n }\n )\n }\n );\n }\n);\nvar CLOSE_NAME = \"PopoverClose\";\nvar PopoverClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nPopoverClose.displayName = CLOSE_NAME;\nvar ARROW_NAME = \"PopoverArrow\";\nvar PopoverArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nPopoverArrow.displayName = ARROW_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar Root2 = Popover;\nvar Anchor2 = PopoverAnchor;\nvar Trigger = PopoverTrigger;\nvar Portal = PopoverPortal;\nvar Content2 = PopoverContent;\nvar Close = PopoverClose;\nvar Arrow2 = PopoverArrow;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n Close,\n Content2 as Content,\n Popover,\n PopoverAnchor,\n PopoverArrow,\n PopoverClose,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n Portal,\n Root2 as Root,\n Trigger,\n createPopoverScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport { PortalProps } from \"@radix-ui/react-portal\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverAnchor = PopoverPrimitive.Anchor\n\nconst PopoverContent = React.forwardRef<\n\tReact.ElementRef<typeof PopoverPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & Pick<PortalProps, \"container\">\n>(({ className, align = \"center\", sideOffset = 4, container, ...props }, ref) => (\n\t<PopoverPrimitive.Portal container={container}>\n\t\t<PopoverPrimitive.Content\n\t\t\tref={ref}\n\t\t\talign={align}\n\t\t\tsideOffset={sideOffset}\n\t\t\tclassName={cn(\n\t\t\t\t\"z-50 w-72 rounded-xs p-4 shadow-xs outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n\t\t\t\t\"bg-popover\",\n\t\t\t\t\"border border-vscode-focusBorder\",\n\t\t\t\t\"text-popover-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n", + "\"use client\";\n\n// src/progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Progress = React.forwardRef<\n\tReact.ElementRef<typeof ProgressPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n\t<ProgressPrimitive.Root\n\t\tref={ref}\n\t\tclassName={cn(\"relative h-2 w-full overflow-hidden rounded-full bg-vscode-editor-background\", className)}\n\t\t{...props}>\n\t\t<ProgressPrimitive.Indicator\n\t\t\tclassName=\"h-full w-full flex-1 bg-vscode-badge-background transition-all\"\n\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n\t\t/>\n\t</ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress }\n", + "import { useEffect, useCallback } from \"react\"\n\n/**\n * Custom hook for handling ESC key press events\n * @param isOpen - Whether the component is currently open/visible\n * @param onEscape - Callback function to execute when ESC is pressed\n * @param options - Additional options for the hook\n */\nexport function useEscapeKey(\n\tisOpen: boolean,\n\tonEscape: () => void,\n\toptions: {\n\t\tpreventDefault?: boolean\n\t\tstopPropagation?: boolean\n\t} = {},\n) {\n\tconst { preventDefault = true, stopPropagation = true } = options\n\n\tconst handleKeyDown = useCallback(\n\t\t(event: KeyboardEvent) => {\n\t\t\t// Check isOpen inside the handler to ensure proper cleanup\n\t\t\tif (event.key === \"Escape\" && isOpen) {\n\t\t\t\tif (preventDefault) {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t\tif (stopPropagation) {\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t}\n\t\t\t\tonEscape()\n\t\t\t}\n\t\t},\n\t\t[isOpen, onEscape, preventDefault, stopPropagation],\n\t)\n\n\tuseEffect(() => {\n\t\t// Always add the event listener to ensure proper cleanup on unmount\n\t\t// The isOpen check is now inside the handler\n\t\twindow.addEventListener(\"keydown\", handleKeyDown)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"keydown\", handleKeyDown)\n\t\t}\n\t}, [handleKeyDown])\n}\n", + "import * as React from \"react\"\nimport { Check, ChevronDown, X } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport {\n\tButton,\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger,\n} from \"@/components/ui\"\nimport { useEscapeKey } from \"@/hooks/useEscapeKey\"\n\nexport interface SearchableSelectOption {\n\tvalue: string\n\tlabel: string\n\tdisabled?: boolean\n\ticon?: React.ReactNode\n}\n\ninterface SearchableSelectProps {\n\tvalue?: string\n\tonValueChange: (value: string) => void\n\toptions: SearchableSelectOption[]\n\tplaceholder: string\n\tsearchPlaceholder: string\n\temptyMessage: string\n\tclassName?: string\n\tdisabled?: boolean\n\t\"data-testid\"?: string\n}\n\nexport function SearchableSelect({\n\tvalue,\n\tonValueChange,\n\toptions,\n\tplaceholder,\n\tsearchPlaceholder,\n\temptyMessage,\n\tclassName,\n\tdisabled,\n\t\"data-testid\": dataTestId,\n}: SearchableSelectProps) {\n\tconst [open, setOpen] = React.useState(false)\n\tconst [searchValue, setSearchValue] = React.useState(\"\")\n\tconst searchInputRef = React.useRef<HTMLInputElement>(null)\n\tconst searchResetTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\tconst isMountedRef = React.useRef(true)\n\n\t// Find the selected option\n\tconst selectedOption = options.find((option) => option.value === value)\n\n\t// Filter options based on search\n\tconst filteredOptions = React.useMemo(() => {\n\t\tif (!searchValue) return options\n\t\treturn options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n\t}, [options, searchValue])\n\n\t// Cleanup timeout on unmount\n\tReact.useEffect(() => {\n\t\treturn () => {\n\t\t\tisMountedRef.current = false\n\t\t\tif (searchResetTimeoutRef.current) {\n\t\t\t\tclearTimeout(searchResetTimeoutRef.current)\n\t\t\t}\n\t\t}\n\t}, [])\n\n\t// Reset search when value changes\n\tReact.useEffect(() => {\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tif (isMountedRef.current) {\n\t\t\t\tsetSearchValue(\"\")\n\t\t\t}\n\t\t}, 100)\n\t\treturn () => clearTimeout(timeoutId)\n\t}, [value])\n\n\t// Use the shared ESC key handler hook\n\tuseEscapeKey(open, () => setOpen(false))\n\n\tconst handleOpenChange = (open: boolean) => {\n\t\tsetOpen(open)\n\t\t// Reset search when closing\n\t\tif (!open) {\n\t\t\tif (searchResetTimeoutRef.current) {\n\t\t\t\tclearTimeout(searchResetTimeoutRef.current)\n\t\t\t}\n\t\t\tsearchResetTimeoutRef.current = setTimeout(() => setSearchValue(\"\"), 100)\n\t\t}\n\t}\n\n\tconst handleSelect = (selectedValue: string) => {\n\t\tsetOpen(false)\n\t\tonValueChange(selectedValue)\n\t}\n\n\tconst handleClearSearch = () => {\n\t\tsetSearchValue(\"\")\n\t\tsearchInputRef.current?.focus()\n\t}\n\n\treturn (\n\t\t<Popover open={open} onOpenChange={handleOpenChange}>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-expanded={open}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"w-full justify-between font-normal\",\n\t\t\t\t\t\t\"h-7 px-3 py-2\",\n\t\t\t\t\t\t\"border border-vscode-dropdown-border\",\n\t\t\t\t\t\t\"bg-vscode-dropdown-background hover:bg-transparent\",\n\t\t\t\t\t\t\"text-vscode-dropdown-foreground\",\n\t\t\t\t\t\t\"focus-visible:border-vscode-focusBorder\",\n\t\t\t\t\t\t\"aria-expanded:border-vscode-focusBorder\",\n\t\t\t\t\t\t!selectedOption && \"text-muted-foreground\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\tdata-testid={dataTestId}>\n\t\t\t\t\t<span className=\"truncate\">{selectedOption ? selectedOption.label : placeholder}</span>\n\t\t\t\t\t<ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t\t\t</Button>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent className=\"p-0 w-[var(--radix-popover-trigger-width)]\">\n\t\t\t\t<Command>\n\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\t\tonValueChange={setSearchValue}\n\t\t\t\t\t\t\tplaceholder={searchPlaceholder}\n\t\t\t\t\t\t\tclassName=\"h-9 mr-4\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{searchValue.length > 0 && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"absolute right-2 top-0 bottom-0 flex items-center justify-center\"\n\t\t\t\t\t\t\t\tdata-testid=\"clear-search-button\"\n\t\t\t\t\t\t\t\tonClick={handleClearSearch}>\n\t\t\t\t\t\t\t\t<X className=\"text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t\t{searchValue && <div className=\"py-2 px-1 text-sm\">{emptyMessage}</div>}\n\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t{filteredOptions.map((option) => (\n\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\t\t\t\tvalue={option.label}\n\t\t\t\t\t\t\t\t\tonSelect={() => handleSelect(option.value)}\n\t\t\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\t\t\tclassName={option.disabled ? \"text-vscode-errorForeground\" : \"\"}>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t\t\t{option.icon}\n\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<Check\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\"ml-auto h-4 w-4 p-0.5\",\n\t\t\t\t\t\t\t\t\t\t\tvalue === option.value ? \"opacity-100\" : \"opacity-0\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t</CommandList>\n\t\t\t\t</Command>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t)\n}\n", + "// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Separator = React.forwardRef<\n\tReact.ElementRef<typeof SeparatorPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = \"horizontal\", decorative = true, ...props }, ref) => (\n\t<SeparatorPrimitive.Root\n\t\tref={ref}\n\t\tdecorative={decorative}\n\t\torientation={orientation}\n\t\tclassName={cn(\n\t\t\t\"shrink-0 bg-vscode-editor-background my-5\",\n\t\t\torientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n\t\t\tclassName,\n\t\t)}\n\t\t{...props}\n\t/>\n))\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n", + "// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar SliderBubbleInput = React.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSliderBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Slider = React.forwardRef<\n\tReact.ElementRef<typeof SliderPrimitive.Root>,\n\tReact.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n\t<SliderPrimitive.Root\n\t\tref={ref}\n\t\tclassName={cn(\"relative flex w-full touch-none select-none items-center\", className)}\n\t\t{...props}>\n\t\t<SliderPrimitive.Track className=\"relative w-full h-[8px] grow overflow-hidden bg-accent rounded-sm border\">\n\t\t\t<SliderPrimitive.Range className=\"absolute h-full bg-vscode-button-background\" />\n\t\t</SliderPrimitive.Track>\n\t\t<SliderPrimitive.Thumb className=\"block h-3 w-3 rounded-full border border-primary/50 bg-vscode-button-background transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\" />\n\t</SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n", + "/** @license\n * fzf v0.5.2\n * Copyright (c) 2021 Ajit\n * Licensed under BSD 3-Clause\n */\nconst normalized = {\n 216: \"O\",\n 223: \"s\",\n 248: \"o\",\n 273: \"d\",\n 295: \"h\",\n 305: \"i\",\n 320: \"l\",\n 322: \"l\",\n 359: \"t\",\n 383: \"s\",\n 384: \"b\",\n 385: \"B\",\n 387: \"b\",\n 390: \"O\",\n 392: \"c\",\n 393: \"D\",\n 394: \"D\",\n 396: \"d\",\n 398: \"E\",\n 400: \"E\",\n 402: \"f\",\n 403: \"G\",\n 407: \"I\",\n 409: \"k\",\n 410: \"l\",\n 412: \"M\",\n 413: \"N\",\n 414: \"n\",\n 415: \"O\",\n 421: \"p\",\n 427: \"t\",\n 429: \"t\",\n 430: \"T\",\n 434: \"V\",\n 436: \"y\",\n 438: \"z\",\n 477: \"e\",\n 485: \"g\",\n 544: \"N\",\n 545: \"d\",\n 549: \"z\",\n 564: \"l\",\n 565: \"n\",\n 566: \"t\",\n 567: \"j\",\n 570: \"A\",\n 571: \"C\",\n 572: \"c\",\n 573: \"L\",\n 574: \"T\",\n 575: \"s\",\n 576: \"z\",\n 579: \"B\",\n 580: \"U\",\n 581: \"V\",\n 582: \"E\",\n 583: \"e\",\n 584: \"J\",\n 585: \"j\",\n 586: \"Q\",\n 587: \"q\",\n 588: \"R\",\n 589: \"r\",\n 590: \"Y\",\n 591: \"y\",\n 592: \"a\",\n 593: \"a\",\n 595: \"b\",\n 596: \"o\",\n 597: \"c\",\n 598: \"d\",\n 599: \"d\",\n 600: \"e\",\n 603: \"e\",\n 604: \"e\",\n 605: \"e\",\n 606: \"e\",\n 607: \"j\",\n 608: \"g\",\n 609: \"g\",\n 610: \"G\",\n 613: \"h\",\n 614: \"h\",\n 616: \"i\",\n 618: \"I\",\n 619: \"l\",\n 620: \"l\",\n 621: \"l\",\n 623: \"m\",\n 624: \"m\",\n 625: \"m\",\n 626: \"n\",\n 627: \"n\",\n 628: \"N\",\n 629: \"o\",\n 633: \"r\",\n 634: \"r\",\n 635: \"r\",\n 636: \"r\",\n 637: \"r\",\n 638: \"r\",\n 639: \"r\",\n 640: \"R\",\n 641: \"R\",\n 642: \"s\",\n 647: \"t\",\n 648: \"t\",\n 649: \"u\",\n 651: \"v\",\n 652: \"v\",\n 653: \"w\",\n 654: \"y\",\n 655: \"Y\",\n 656: \"z\",\n 657: \"z\",\n 663: \"c\",\n 665: \"B\",\n 666: \"e\",\n 667: \"G\",\n 668: \"H\",\n 669: \"j\",\n 670: \"k\",\n 671: \"L\",\n 672: \"q\",\n 686: \"h\",\n 867: \"a\",\n 868: \"e\",\n 869: \"i\",\n 870: \"o\",\n 871: \"u\",\n 872: \"c\",\n 873: \"d\",\n 874: \"h\",\n 875: \"m\",\n 876: \"r\",\n 877: \"t\",\n 878: \"v\",\n 879: \"x\",\n 7424: \"A\",\n 7427: \"B\",\n 7428: \"C\",\n 7429: \"D\",\n 7431: \"E\",\n 7432: \"e\",\n 7433: \"i\",\n 7434: \"J\",\n 7435: \"K\",\n 7436: \"L\",\n 7437: \"M\",\n 7438: \"N\",\n 7439: \"O\",\n 7440: \"O\",\n 7441: \"o\",\n 7442: \"o\",\n 7443: \"o\",\n 7446: \"o\",\n 7447: \"o\",\n 7448: \"P\",\n 7449: \"R\",\n 7450: \"R\",\n 7451: \"T\",\n 7452: \"U\",\n 7453: \"u\",\n 7454: \"u\",\n 7455: \"m\",\n 7456: \"V\",\n 7457: \"W\",\n 7458: \"Z\",\n 7522: \"i\",\n 7523: \"r\",\n 7524: \"u\",\n 7525: \"v\",\n 7834: \"a\",\n 7835: \"s\",\n 8305: \"i\",\n 8341: \"h\",\n 8342: \"k\",\n 8343: \"l\",\n 8344: \"m\",\n 8345: \"n\",\n 8346: \"p\",\n 8347: \"s\",\n 8348: \"t\",\n 8580: \"c\"\n};\nfor (let i = \"\\u0300\".codePointAt(0); i <= \"\\u036F\".codePointAt(0); ++i) {\n const diacritic = String.fromCodePoint(i);\n for (const asciiChar of \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\") {\n const withDiacritic = (asciiChar + diacritic).normalize();\n const withDiacriticCodePoint = withDiacritic.codePointAt(0);\n if (withDiacriticCodePoint > 126) {\n normalized[withDiacriticCodePoint] = asciiChar;\n }\n }\n}\nconst ranges = {\n a: [7844, 7863],\n e: [7870, 7879],\n o: [7888, 7907],\n u: [7912, 7921]\n};\nfor (const lowerChar of Object.keys(ranges)) {\n const upperChar = lowerChar.toUpperCase();\n for (let i = ranges[lowerChar][0]; i <= ranges[lowerChar][1]; ++i) {\n normalized[i] = i % 2 === 0 ? upperChar : lowerChar;\n }\n}\nfunction normalizeRune(rune) {\n if (rune < 192 || rune > 8580) {\n return rune;\n }\n const normalizedChar = normalized[rune];\n if (normalizedChar !== void 0)\n return normalizedChar.codePointAt(0);\n return rune;\n}\nfunction toShort(number) {\n return number;\n}\nfunction toInt(number) {\n return number;\n}\nfunction maxInt16(num1, num2) {\n return num1 > num2 ? num1 : num2;\n}\nconst strToRunes = (str) => str.split(\"\").map((s) => s.codePointAt(0));\nconst runesToStr = (runes) => runes.map((r) => String.fromCodePoint(r)).join(\"\");\nconst whitespaceRunes = new Set(\n \" \\f\\n\\r\t\\v\\xA0\\u1680\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF\".split(\"\").map((v) => v.codePointAt(0))\n);\nfor (let codePoint = \"\\u2000\".codePointAt(0); codePoint <= \"\\u200A\".codePointAt(0); codePoint++) {\n whitespaceRunes.add(codePoint);\n}\nconst isWhitespace = (rune) => whitespaceRunes.has(rune);\nconst whitespacesAtStart = (runes) => {\n let whitespaces = 0;\n for (const rune of runes) {\n if (isWhitespace(rune))\n whitespaces++;\n else\n break;\n }\n return whitespaces;\n};\nconst whitespacesAtEnd = (runes) => {\n let whitespaces = 0;\n for (let i = runes.length - 1; i >= 0; i--) {\n if (isWhitespace(runes[i]))\n whitespaces++;\n else\n break;\n }\n return whitespaces;\n};\nconst MAX_ASCII = \"\\x7F\".codePointAt(0);\nconst CAPITAL_A_RUNE = \"A\".codePointAt(0);\nconst CAPITAL_Z_RUNE = \"Z\".codePointAt(0);\nconst SMALL_A_RUNE = \"a\".codePointAt(0);\nconst SMALL_Z_RUNE = \"z\".codePointAt(0);\nconst NUMERAL_ZERO_RUNE = \"0\".codePointAt(0);\nconst NUMERAL_NINE_RUNE = \"9\".codePointAt(0);\nfunction indexAt(index, max, forward) {\n if (forward) {\n return index;\n }\n return max - index - 1;\n}\nconst SCORE_MATCH = 16, SCORE_GAP_START = -3, SCORE_GAP_EXTENTION = -1, BONUS_BOUNDARY = SCORE_MATCH / 2, BONUS_NON_WORD = SCORE_MATCH / 2, BONUS_CAMEL_123 = BONUS_BOUNDARY + SCORE_GAP_EXTENTION, BONUS_CONSECUTIVE = -(SCORE_GAP_START + SCORE_GAP_EXTENTION), BONUS_FIRST_CHAR_MULTIPLIER = 2;\nfunction createPosSet(withPos) {\n if (withPos) {\n return /* @__PURE__ */ new Set();\n }\n return null;\n}\nfunction alloc16(offset, slab2, size) {\n if (slab2 !== null && slab2.i16.length > offset + size) {\n const subarray = slab2.i16.subarray(offset, offset + size);\n return [offset + size, subarray];\n }\n return [offset, new Int16Array(size)];\n}\nfunction alloc32(offset, slab2, size) {\n if (slab2 !== null && slab2.i32.length > offset + size) {\n const subarray = slab2.i32.subarray(offset, offset + size);\n return [offset + size, subarray];\n }\n return [offset, new Int32Array(size)];\n}\nfunction charClassOfAscii(rune) {\n if (rune >= SMALL_A_RUNE && rune <= SMALL_Z_RUNE) {\n return 1;\n } else if (rune >= CAPITAL_A_RUNE && rune <= CAPITAL_Z_RUNE) {\n return 2;\n } else if (rune >= NUMERAL_ZERO_RUNE && rune <= NUMERAL_NINE_RUNE) {\n return 4;\n } else {\n return 0;\n }\n}\nfunction charClassOfNonAscii(rune) {\n const char = String.fromCodePoint(rune);\n if (char !== char.toUpperCase()) {\n return 1;\n } else if (char !== char.toLowerCase()) {\n return 2;\n } else if (char.match(/\\p{Number}/gu) !== null) {\n return 4;\n } else if (char.match(/\\p{Letter}/gu) !== null) {\n return 3;\n }\n return 0;\n}\nfunction charClassOf(rune) {\n if (rune <= MAX_ASCII) {\n return charClassOfAscii(rune);\n }\n return charClassOfNonAscii(rune);\n}\nfunction bonusFor(prevClass, currClass) {\n if (prevClass === 0 && currClass !== 0) {\n return BONUS_BOUNDARY;\n } else if (prevClass === 1 && currClass === 2 || prevClass !== 4 && currClass === 4) {\n return BONUS_CAMEL_123;\n } else if (currClass === 0) {\n return BONUS_NON_WORD;\n }\n return 0;\n}\nfunction bonusAt(input, idx) {\n if (idx === 0) {\n return BONUS_BOUNDARY;\n }\n return bonusFor(charClassOf(input[idx - 1]), charClassOf(input[idx]));\n}\nfunction trySkip(input, caseSensitive, char, from) {\n let rest = input.slice(from);\n let idx = rest.indexOf(char);\n if (idx === 0) {\n return from;\n }\n if (!caseSensitive && char >= SMALL_A_RUNE && char <= SMALL_Z_RUNE) {\n if (idx > 0) {\n rest = rest.slice(0, idx);\n }\n const uidx = rest.indexOf(char - 32);\n if (uidx >= 0) {\n idx = uidx;\n }\n }\n if (idx < 0) {\n return -1;\n }\n return from + idx;\n}\nfunction isAscii(runes) {\n for (const rune of runes) {\n if (rune >= 128) {\n return false;\n }\n }\n return true;\n}\nfunction asciiFuzzyIndex(input, pattern, caseSensitive) {\n if (!isAscii(input)) {\n return 0;\n }\n if (!isAscii(pattern)) {\n return -1;\n }\n let firstIdx = 0, idx = 0;\n for (let pidx = 0; pidx < pattern.length; pidx++) {\n idx = trySkip(input, caseSensitive, pattern[pidx], idx);\n if (idx < 0) {\n return -1;\n }\n if (pidx === 0 && idx > 0) {\n firstIdx = idx - 1;\n }\n idx++;\n }\n return firstIdx;\n}\nconst fuzzyMatchV2 = (caseSensitive, normalize, forward, input, pattern, withPos, slab2) => {\n const M = pattern.length;\n if (M === 0) {\n return [{ start: 0, end: 0, score: 0 }, createPosSet(withPos)];\n }\n const N = input.length;\n if (slab2 !== null && N * M > slab2.i16.length) {\n return fuzzyMatchV1(caseSensitive, normalize, forward, input, pattern, withPos);\n }\n const idx = asciiFuzzyIndex(input, pattern, caseSensitive);\n if (idx < 0) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n let offset16 = 0, offset32 = 0, H0 = null, C0 = null, B = null, F = null;\n [offset16, H0] = alloc16(offset16, slab2, N);\n [offset16, C0] = alloc16(offset16, slab2, N);\n [offset16, B] = alloc16(offset16, slab2, N);\n [offset32, F] = alloc32(offset32, slab2, M);\n const [, T] = alloc32(offset32, slab2, N);\n for (let i = 0; i < T.length; i++) {\n T[i] = input[i];\n }\n let maxScore = toShort(0), maxScorePos = 0;\n let pidx = 0, lastIdx = 0;\n const pchar0 = pattern[0];\n let pchar = pattern[0], prevH0 = toShort(0), prevCharClass = 0, inGap = false;\n let Tsub = T.subarray(idx);\n let H0sub = H0.subarray(idx).subarray(0, Tsub.length), C0sub = C0.subarray(idx).subarray(0, Tsub.length), Bsub = B.subarray(idx).subarray(0, Tsub.length);\n for (let [off, char] of Tsub.entries()) {\n let charClass = null;\n if (char <= MAX_ASCII) {\n charClass = charClassOfAscii(char);\n if (!caseSensitive && charClass === 2) {\n char += 32;\n }\n } else {\n charClass = charClassOfNonAscii(char);\n if (!caseSensitive && charClass === 2) {\n char = String.fromCodePoint(char).toLowerCase().codePointAt(0);\n }\n if (normalize) {\n char = normalizeRune(char);\n }\n }\n Tsub[off] = char;\n const bonus = bonusFor(prevCharClass, charClass);\n Bsub[off] = bonus;\n prevCharClass = charClass;\n if (char === pchar) {\n if (pidx < M) {\n F[pidx] = toInt(idx + off);\n pidx++;\n pchar = pattern[Math.min(pidx, M - 1)];\n }\n lastIdx = idx + off;\n }\n if (char === pchar0) {\n const score = SCORE_MATCH + bonus * BONUS_FIRST_CHAR_MULTIPLIER;\n H0sub[off] = score;\n C0sub[off] = 1;\n if (M === 1 && (forward && score > maxScore || !forward && score >= maxScore)) {\n maxScore = score;\n maxScorePos = idx + off;\n if (forward && bonus === BONUS_BOUNDARY) {\n break;\n }\n }\n inGap = false;\n } else {\n if (inGap) {\n H0sub[off] = maxInt16(prevH0 + SCORE_GAP_EXTENTION, 0);\n } else {\n H0sub[off] = maxInt16(prevH0 + SCORE_GAP_START, 0);\n }\n C0sub[off] = 0;\n inGap = true;\n }\n prevH0 = H0sub[off];\n }\n if (pidx !== M) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n if (M === 1) {\n const result = {\n start: maxScorePos,\n end: maxScorePos + 1,\n score: maxScore\n };\n if (!withPos) {\n return [result, null];\n }\n const pos2 = /* @__PURE__ */ new Set();\n pos2.add(maxScorePos);\n return [result, pos2];\n }\n const f0 = F[0];\n const width = lastIdx - f0 + 1;\n let H = null;\n [offset16, H] = alloc16(offset16, slab2, width * M);\n {\n const toCopy = H0.subarray(f0, lastIdx + 1);\n for (const [i, v] of toCopy.entries()) {\n H[i] = v;\n }\n }\n let [, C] = alloc16(offset16, slab2, width * M);\n {\n const toCopy = C0.subarray(f0, lastIdx + 1);\n for (const [i, v] of toCopy.entries()) {\n C[i] = v;\n }\n }\n const Fsub = F.subarray(1);\n const Psub = pattern.slice(1).slice(0, Fsub.length);\n for (const [off, f] of Fsub.entries()) {\n let inGap2 = false;\n const pchar2 = Psub[off], pidx2 = off + 1, row = pidx2 * width, Tsub2 = T.subarray(f, lastIdx + 1), Bsub2 = B.subarray(f).subarray(0, Tsub2.length), Csub = C.subarray(row + f - f0).subarray(0, Tsub2.length), Cdiag = C.subarray(row + f - f0 - 1 - width).subarray(0, Tsub2.length), Hsub = H.subarray(row + f - f0).subarray(0, Tsub2.length), Hdiag = H.subarray(row + f - f0 - 1 - width).subarray(0, Tsub2.length), Hleft = H.subarray(row + f - f0 - 1).subarray(0, Tsub2.length);\n Hleft[0] = 0;\n for (const [off2, char] of Tsub2.entries()) {\n const col = off2 + f;\n let s1 = 0, s2 = 0, consecutive = 0;\n if (inGap2) {\n s2 = Hleft[off2] + SCORE_GAP_EXTENTION;\n } else {\n s2 = Hleft[off2] + SCORE_GAP_START;\n }\n if (pchar2 === char) {\n s1 = Hdiag[off2] + SCORE_MATCH;\n let b = Bsub2[off2];\n consecutive = Cdiag[off2] + 1;\n if (b === BONUS_BOUNDARY) {\n consecutive = 1;\n } else if (consecutive > 1) {\n b = maxInt16(b, maxInt16(BONUS_CONSECUTIVE, B[col - consecutive + 1]));\n }\n if (s1 + b < s2) {\n s1 += Bsub2[off2];\n consecutive = 0;\n } else {\n s1 += b;\n }\n }\n Csub[off2] = consecutive;\n inGap2 = s1 < s2;\n const score = maxInt16(maxInt16(s1, s2), 0);\n if (pidx2 === M - 1 && (forward && score > maxScore || !forward && score >= maxScore)) {\n maxScore = score;\n maxScorePos = col;\n }\n Hsub[off2] = score;\n }\n }\n const pos = createPosSet(withPos);\n let j = f0;\n if (withPos && pos !== null) {\n let i = M - 1;\n j = maxScorePos;\n let preferMatch = true;\n while (true) {\n const I = i * width, j0 = j - f0, s = H[I + j0];\n let s1 = 0, s2 = 0;\n if (i > 0 && j >= F[i]) {\n s1 = H[I - width + j0 - 1];\n }\n if (j > F[i]) {\n s2 = H[I + j0 - 1];\n }\n if (s > s1 && (s > s2 || s === s2 && preferMatch)) {\n pos.add(j);\n if (i === 0) {\n break;\n }\n i--;\n }\n preferMatch = C[I + j0] > 1 || I + width + j0 + 1 < C.length && C[I + width + j0 + 1] > 0;\n j--;\n }\n }\n return [{ start: j, end: maxScorePos + 1, score: maxScore }, pos];\n};\nfunction calculateScore(caseSensitive, normalize, text, pattern, sidx, eidx, withPos) {\n let pidx = 0, score = 0, inGap = false, consecutive = 0, firstBonus = toShort(0);\n const pos = createPosSet(withPos);\n let prevCharClass = 0;\n if (sidx > 0) {\n prevCharClass = charClassOf(text[sidx - 1]);\n }\n for (let idx = sidx; idx < eidx; idx++) {\n let rune = text[idx];\n const charClass = charClassOf(rune);\n if (!caseSensitive) {\n if (rune >= CAPITAL_A_RUNE && rune <= CAPITAL_Z_RUNE) {\n rune += 32;\n } else if (rune > MAX_ASCII) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n }\n if (normalize) {\n rune = normalizeRune(rune);\n }\n if (rune === pattern[pidx]) {\n if (withPos && pos !== null) {\n pos.add(idx);\n }\n score += SCORE_MATCH;\n let bonus = bonusFor(prevCharClass, charClass);\n if (consecutive === 0) {\n firstBonus = bonus;\n } else {\n if (bonus === BONUS_BOUNDARY) {\n firstBonus = bonus;\n }\n bonus = maxInt16(maxInt16(bonus, firstBonus), BONUS_CONSECUTIVE);\n }\n if (pidx === 0) {\n score += bonus * BONUS_FIRST_CHAR_MULTIPLIER;\n } else {\n score += bonus;\n }\n inGap = false;\n consecutive++;\n pidx++;\n } else {\n if (inGap) {\n score += SCORE_GAP_EXTENTION;\n } else {\n score += SCORE_GAP_START;\n }\n inGap = true;\n consecutive = 0;\n firstBonus = 0;\n }\n prevCharClass = charClass;\n }\n return [score, pos];\n}\nconst fuzzyMatchV1 = (caseSensitive, normalize, forward, text, pattern, withPos, slab2) => {\n if (pattern.length === 0) {\n return [{ start: 0, end: 0, score: 0 }, null];\n }\n if (asciiFuzzyIndex(text, pattern, caseSensitive) < 0) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n let pidx = 0, sidx = -1, eidx = -1;\n const lenRunes = text.length;\n const lenPattern = pattern.length;\n for (let index = 0; index < lenRunes; index++) {\n let rune = text[indexAt(index, lenRunes, forward)];\n if (!caseSensitive) {\n if (rune >= CAPITAL_A_RUNE && rune <= CAPITAL_Z_RUNE) {\n rune += 32;\n } else if (rune > MAX_ASCII) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n }\n if (normalize) {\n rune = normalizeRune(rune);\n }\n const pchar = pattern[indexAt(pidx, lenPattern, forward)];\n if (rune === pchar) {\n if (sidx < 0) {\n sidx = index;\n }\n pidx++;\n if (pidx === lenPattern) {\n eidx = index + 1;\n break;\n }\n }\n }\n if (sidx >= 0 && eidx >= 0) {\n pidx--;\n for (let index = eidx - 1; index >= sidx; index--) {\n const tidx = indexAt(index, lenRunes, forward);\n let rune = text[tidx];\n if (!caseSensitive) {\n if (rune >= CAPITAL_A_RUNE && rune <= CAPITAL_Z_RUNE) {\n rune += 32;\n } else if (rune > MAX_ASCII) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n }\n const pidx_ = indexAt(pidx, lenPattern, forward);\n const pchar = pattern[pidx_];\n if (rune === pchar) {\n pidx--;\n if (pidx < 0) {\n sidx = index;\n break;\n }\n }\n }\n if (!forward) {\n const sidxTemp = sidx;\n sidx = lenRunes - eidx;\n eidx = lenRunes - sidxTemp;\n }\n const [score, pos] = calculateScore(\n caseSensitive,\n normalize,\n text,\n pattern,\n sidx,\n eidx,\n withPos\n );\n return [{ start: sidx, end: eidx, score }, pos];\n }\n return [{ start: -1, end: -1, score: 0 }, null];\n};\nconst exactMatchNaive = (caseSensitive, normalize, forward, text, pattern, withPos, slab2) => {\n if (pattern.length === 0) {\n return [{ start: 0, end: 0, score: 0 }, null];\n }\n const lenRunes = text.length;\n const lenPattern = pattern.length;\n if (lenRunes < lenPattern) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n if (asciiFuzzyIndex(text, pattern, caseSensitive) < 0) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n let pidx = 0;\n let bestPos = -1, bonus = toShort(0), bestBonus = toShort(-1);\n for (let index = 0; index < lenRunes; index++) {\n const index_ = indexAt(index, lenRunes, forward);\n let rune = text[index_];\n if (!caseSensitive) {\n if (rune >= CAPITAL_A_RUNE && rune <= CAPITAL_Z_RUNE) {\n rune += 32;\n } else if (rune > MAX_ASCII) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n }\n if (normalize) {\n rune = normalizeRune(rune);\n }\n const pidx_ = indexAt(pidx, lenPattern, forward);\n const pchar = pattern[pidx_];\n if (pchar === rune) {\n if (pidx_ === 0) {\n bonus = bonusAt(text, index_);\n }\n pidx++;\n if (pidx === lenPattern) {\n if (bonus > bestBonus) {\n bestPos = index;\n bestBonus = bonus;\n }\n if (bonus === BONUS_BOUNDARY) {\n break;\n }\n index -= pidx - 1;\n pidx = 0;\n bonus = 0;\n }\n } else {\n index -= pidx;\n pidx = 0;\n bonus = 0;\n }\n }\n if (bestPos >= 0) {\n let sidx = 0, eidx = 0;\n if (forward) {\n sidx = bestPos - lenPattern + 1;\n eidx = bestPos + 1;\n } else {\n sidx = lenRunes - (bestPos + 1);\n eidx = lenRunes - (bestPos - lenPattern + 1);\n }\n const [score] = calculateScore(caseSensitive, normalize, text, pattern, sidx, eidx, false);\n return [{ start: sidx, end: eidx, score }, null];\n }\n return [{ start: -1, end: -1, score: 0 }, null];\n};\nconst prefixMatch = (caseSensitive, normalize, forward, text, pattern, withPos, slab2) => {\n if (pattern.length === 0) {\n return [{ start: 0, end: 0, score: 0 }, null];\n }\n let trimmedLen = 0;\n if (!isWhitespace(pattern[0])) {\n trimmedLen = whitespacesAtStart(text);\n }\n if (text.length - trimmedLen < pattern.length) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n for (const [index, r] of pattern.entries()) {\n let rune = text[trimmedLen + index];\n if (!caseSensitive) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n if (normalize) {\n rune = normalizeRune(rune);\n }\n if (rune !== r) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n }\n const lenPattern = pattern.length;\n const [score] = calculateScore(\n caseSensitive,\n normalize,\n text,\n pattern,\n trimmedLen,\n trimmedLen + lenPattern,\n false\n );\n return [{ start: trimmedLen, end: trimmedLen + lenPattern, score }, null];\n};\nconst suffixMatch = (caseSensitive, normalize, forward, text, pattern, withPos, slab2) => {\n const lenRunes = text.length;\n let trimmedLen = lenRunes;\n if (pattern.length === 0 || !isWhitespace(pattern[pattern.length - 1])) {\n trimmedLen -= whitespacesAtEnd(text);\n }\n if (pattern.length === 0) {\n return [{ start: trimmedLen, end: trimmedLen, score: 0 }, null];\n }\n const diff = trimmedLen - pattern.length;\n if (diff < 0) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n for (const [index, r] of pattern.entries()) {\n let rune = text[index + diff];\n if (!caseSensitive) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n if (normalize) {\n rune = normalizeRune(rune);\n }\n if (rune !== r) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n }\n const lenPattern = pattern.length;\n const sidx = trimmedLen - lenPattern;\n const eidx = trimmedLen;\n const [score] = calculateScore(caseSensitive, normalize, text, pattern, sidx, eidx, false);\n return [{ start: sidx, end: eidx, score }, null];\n};\nconst equalMatch = (caseSensitive, normalize, forward, text, pattern, withPos, slab2) => {\n const lenPattern = pattern.length;\n if (lenPattern === 0) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n let trimmedLen = 0;\n if (!isWhitespace(pattern[0])) {\n trimmedLen = whitespacesAtStart(text);\n }\n let trimmedEndLen = 0;\n if (!isWhitespace(pattern[lenPattern - 1])) {\n trimmedEndLen = whitespacesAtEnd(text);\n }\n if (text.length - trimmedLen - trimmedEndLen != lenPattern) {\n return [{ start: -1, end: -1, score: 0 }, null];\n }\n let match = true;\n if (normalize) {\n const runes = text;\n for (const [idx, pchar] of pattern.entries()) {\n let rune = runes[trimmedLen + idx];\n if (!caseSensitive) {\n rune = String.fromCodePoint(rune).toLowerCase().codePointAt(0);\n }\n if (normalizeRune(pchar) !== normalizeRune(rune)) {\n match = false;\n break;\n }\n }\n } else {\n let runesStr = runesToStr(text).substring(trimmedLen, text.length - trimmedEndLen);\n if (!caseSensitive) {\n runesStr = runesStr.toLowerCase();\n }\n match = runesStr === runesToStr(pattern);\n }\n if (match) {\n return [\n {\n start: trimmedLen,\n end: trimmedLen + lenPattern,\n score: (SCORE_MATCH + BONUS_BOUNDARY) * lenPattern + (BONUS_FIRST_CHAR_MULTIPLIER - 1) * BONUS_BOUNDARY\n },\n null\n ];\n }\n return [{ start: -1, end: -1, score: 0 }, null];\n};\nconst SLAB_16_SIZE = 100 * 1024;\nconst SLAB_32_SIZE = 2048;\nfunction makeSlab(size16, size32) {\n return {\n i16: new Int16Array(size16),\n i32: new Int32Array(size32)\n };\n}\nconst slab = makeSlab(SLAB_16_SIZE, SLAB_32_SIZE);\nvar TermType = /* @__PURE__ */ ((TermType2) => {\n TermType2[TermType2[\"Fuzzy\"] = 0] = \"Fuzzy\";\n TermType2[TermType2[\"Exact\"] = 1] = \"Exact\";\n TermType2[TermType2[\"Prefix\"] = 2] = \"Prefix\";\n TermType2[TermType2[\"Suffix\"] = 3] = \"Suffix\";\n TermType2[TermType2[\"Equal\"] = 4] = \"Equal\";\n return TermType2;\n})(TermType || {});\nconst termTypeMap = {\n [0]: fuzzyMatchV2,\n [1]: exactMatchNaive,\n [2]: prefixMatch,\n [3]: suffixMatch,\n [4]: equalMatch\n};\nfunction buildPatternForExtendedMatch(fuzzy, caseMode, normalize, str) {\n let cacheable = true;\n str = str.trimLeft();\n {\n const trimmedAtRightStr = str.trimRight();\n if (trimmedAtRightStr.endsWith(\"\\\\\") && str[trimmedAtRightStr.length] === \" \") {\n str = trimmedAtRightStr + \" \";\n } else {\n str = trimmedAtRightStr;\n }\n }\n let sortable = false;\n let termSets = [];\n termSets = parseTerms(fuzzy, caseMode, normalize, str);\n Loop:\n for (const termSet of termSets) {\n for (const [idx, term] of termSet.entries()) {\n if (!term.inv) {\n sortable = true;\n }\n if (!cacheable || idx > 0 || term.inv || fuzzy && term.typ !== 0 || !fuzzy && term.typ !== 1) {\n cacheable = false;\n if (sortable) {\n break Loop;\n }\n }\n }\n }\n return {\n str,\n termSets,\n sortable,\n cacheable,\n fuzzy\n };\n}\nfunction parseTerms(fuzzy, caseMode, normalize, str) {\n str = str.replace(/\\\\ /g, \"\t\");\n const tokens = str.split(/ +/);\n const sets = [];\n let set = [];\n let switchSet = false;\n let afterBar = false;\n for (const token of tokens) {\n let typ = 0, inv = false, text = token.replace(/\\t/g, \" \");\n const lowerText = text.toLowerCase();\n const caseSensitive = caseMode === \"case-sensitive\" || caseMode === \"smart-case\" && text !== lowerText;\n const normalizeTerm = normalize && lowerText === runesToStr(strToRunes(lowerText).map(normalizeRune));\n if (!caseSensitive) {\n text = lowerText;\n }\n if (!fuzzy) {\n typ = 1;\n }\n if (set.length > 0 && !afterBar && text === \"|\") {\n switchSet = false;\n afterBar = true;\n continue;\n }\n afterBar = false;\n if (text.startsWith(\"!\")) {\n inv = true;\n typ = 1;\n text = text.substring(1);\n }\n if (text !== \"$\" && text.endsWith(\"$\")) {\n typ = 3;\n text = text.substring(0, text.length - 1);\n }\n if (text.startsWith(\"'\")) {\n if (fuzzy && !inv) {\n typ = 1;\n } else {\n typ = 0;\n }\n text = text.substring(1);\n } else if (text.startsWith(\"^\")) {\n if (typ === 3) {\n typ = 4;\n } else {\n typ = 2;\n }\n text = text.substring(1);\n }\n if (text.length > 0) {\n if (switchSet) {\n sets.push(set);\n set = [];\n }\n let textRunes = strToRunes(text);\n if (normalizeTerm) {\n textRunes = textRunes.map(normalizeRune);\n }\n set.push({\n typ,\n inv,\n text: textRunes,\n caseSensitive,\n normalize: normalizeTerm\n });\n switchSet = true;\n }\n }\n if (set.length > 0) {\n sets.push(set);\n }\n return sets;\n}\nconst buildPatternForBasicMatch = (query, casing, normalize) => {\n let caseSensitive = false;\n switch (casing) {\n case \"smart-case\":\n if (query.toLowerCase() !== query) {\n caseSensitive = true;\n }\n break;\n case \"case-sensitive\":\n caseSensitive = true;\n break;\n case \"case-insensitive\":\n query = query.toLowerCase();\n caseSensitive = false;\n break;\n }\n let queryRunes = strToRunes(query);\n if (normalize) {\n queryRunes = queryRunes.map(normalizeRune);\n }\n return {\n queryRunes,\n caseSensitive\n };\n};\nfunction iter(algoFn, tokens, caseSensitive, normalize, forward, pattern, slab2) {\n for (const part of tokens) {\n const [res, pos] = algoFn(caseSensitive, normalize, forward, part.text, pattern, true, slab2);\n if (res.start >= 0) {\n const sidx = res.start + part.prefixLength;\n const eidx = res.end + part.prefixLength;\n if (pos !== null) {\n const newPos = /* @__PURE__ */ new Set();\n pos.forEach((v) => newPos.add(part.prefixLength + v));\n return [[sidx, eidx], res.score, newPos];\n }\n return [[sidx, eidx], res.score, pos];\n }\n }\n return [[-1, -1], 0, null];\n}\nfunction computeExtendedMatch(text, pattern, fuzzyAlgo, forward) {\n const input = [\n {\n text,\n prefixLength: 0\n }\n ];\n const offsets = [];\n let totalScore = 0;\n const allPos = /* @__PURE__ */ new Set();\n for (const termSet of pattern.termSets) {\n let offset = [0, 0];\n let currentScore = 0;\n let matched = false;\n for (const term of termSet) {\n let algoFn = termTypeMap[term.typ];\n if (term.typ === TermType.Fuzzy) {\n algoFn = fuzzyAlgo;\n }\n const [off, score, pos] = iter(\n algoFn,\n input,\n term.caseSensitive,\n term.normalize,\n forward,\n term.text,\n slab\n );\n const sidx = off[0];\n if (sidx >= 0) {\n if (term.inv) {\n continue;\n }\n offset = off;\n currentScore = score;\n matched = true;\n if (pos !== null) {\n pos.forEach((v) => allPos.add(v));\n } else {\n for (let idx = off[0]; idx < off[1]; ++idx) {\n allPos.add(idx);\n }\n }\n break;\n } else if (term.inv) {\n offset = [0, 0];\n currentScore = 0;\n matched = true;\n continue;\n }\n }\n if (matched) {\n offsets.push(offset);\n totalScore += currentScore;\n }\n }\n return { offsets, totalScore, allPos };\n}\nfunction getResultFromScoreMap(scoreMap, limit) {\n const scoresInDesc = Object.keys(scoreMap).map((v) => parseInt(v, 10)).sort((a, b) => b - a);\n let result = [];\n for (const score of scoresInDesc) {\n result = result.concat(scoreMap[score]);\n if (result.length >= limit) {\n break;\n }\n }\n return result;\n}\nfunction getBasicMatchIter(scoreMap, queryRunes, caseSensitive) {\n return (idx) => {\n const itemRunes = this.runesList[idx];\n if (queryRunes.length > itemRunes.length)\n return;\n let [match, positions] = this.algoFn(\n caseSensitive,\n this.opts.normalize,\n this.opts.forward,\n itemRunes,\n queryRunes,\n true,\n slab\n );\n if (match.start === -1)\n return;\n if (this.opts.fuzzy === false) {\n positions = /* @__PURE__ */ new Set();\n for (let position = match.start; position < match.end; ++position) {\n positions.add(position);\n }\n }\n const scoreKey = this.opts.sort ? match.score : 0;\n if (scoreMap[scoreKey] === void 0) {\n scoreMap[scoreKey] = [];\n }\n scoreMap[scoreKey].push({\n item: this.items[idx],\n ...match,\n positions: positions != null ? positions : /* @__PURE__ */ new Set()\n });\n };\n}\nfunction getExtendedMatchIter(scoreMap, pattern) {\n return (idx) => {\n const runes = this.runesList[idx];\n const match = computeExtendedMatch(runes, pattern, this.algoFn, this.opts.forward);\n if (match.offsets.length !== pattern.termSets.length)\n return;\n let sidx = -1, eidx = -1;\n if (match.allPos.size > 0) {\n sidx = Math.min(...match.allPos);\n eidx = Math.max(...match.allPos) + 1;\n }\n const scoreKey = this.opts.sort ? match.totalScore : 0;\n if (scoreMap[scoreKey] === void 0) {\n scoreMap[scoreKey] = [];\n }\n scoreMap[scoreKey].push({\n score: match.totalScore,\n item: this.items[idx],\n positions: match.allPos,\n start: sidx,\n end: eidx\n });\n };\n}\nfunction basicMatch(query) {\n const { queryRunes, caseSensitive } = buildPatternForBasicMatch(\n query,\n this.opts.casing,\n this.opts.normalize\n );\n const scoreMap = {};\n const iter2 = getBasicMatchIter.bind(this)(\n scoreMap,\n queryRunes,\n caseSensitive\n );\n for (let i = 0, len = this.runesList.length; i < len; ++i) {\n iter2(i);\n }\n return getResultFromScoreMap(scoreMap, this.opts.limit);\n}\nfunction extendedMatch(query) {\n const pattern = buildPatternForExtendedMatch(\n Boolean(this.opts.fuzzy),\n this.opts.casing,\n this.opts.normalize,\n query\n );\n const scoreMap = {};\n const iter2 = getExtendedMatchIter.bind(this)(scoreMap, pattern);\n for (let i = 0, len = this.runesList.length; i < len; ++i) {\n iter2(i);\n }\n return getResultFromScoreMap(scoreMap, this.opts.limit);\n}\nconst isNode = typeof require !== \"undefined\" && typeof window === \"undefined\";\nfunction asyncMatcher(token, len, iter2, onFinish) {\n return new Promise((resolve, reject) => {\n const INCREMENT = 1e3;\n let i = 0, end = Math.min(INCREMENT, len);\n const step = () => {\n if (token.cancelled)\n return reject(\"search cancelled\");\n for (; i < end; ++i) {\n iter2(i);\n }\n if (end < len) {\n end = Math.min(end + INCREMENT, len);\n isNode ? setImmediate(step) : setTimeout(step);\n } else {\n resolve(onFinish());\n }\n };\n step();\n });\n}\nfunction asyncBasicMatch(query, token) {\n const { queryRunes, caseSensitive } = buildPatternForBasicMatch(\n query,\n this.opts.casing,\n this.opts.normalize\n );\n const scoreMap = {};\n return asyncMatcher(\n token,\n this.runesList.length,\n getBasicMatchIter.bind(this)(scoreMap, queryRunes, caseSensitive),\n () => getResultFromScoreMap(scoreMap, this.opts.limit)\n );\n}\nfunction asyncExtendedMatch(query, token) {\n const pattern = buildPatternForExtendedMatch(\n Boolean(this.opts.fuzzy),\n this.opts.casing,\n this.opts.normalize,\n query\n );\n const scoreMap = {};\n return asyncMatcher(\n token,\n this.runesList.length,\n getExtendedMatchIter.bind(this)(scoreMap, pattern),\n () => getResultFromScoreMap(scoreMap, this.opts.limit)\n );\n}\nconst defaultOpts = {\n limit: Infinity,\n selector: (v) => v,\n casing: \"smart-case\",\n normalize: true,\n fuzzy: \"v2\",\n tiebreakers: [],\n sort: true,\n forward: true\n};\nclass BaseFinder {\n constructor(list, ...optionsTuple) {\n this.opts = { ...defaultOpts, ...optionsTuple[0] };\n this.items = list;\n this.runesList = list.map((item) => strToRunes(this.opts.selector(item).normalize()));\n this.algoFn = exactMatchNaive;\n switch (this.opts.fuzzy) {\n case \"v2\":\n this.algoFn = fuzzyMatchV2;\n break;\n case \"v1\":\n this.algoFn = fuzzyMatchV1;\n break;\n }\n }\n}\nconst syncDefaultOpts = {\n ...defaultOpts,\n match: basicMatch\n};\nclass SyncFinder extends BaseFinder {\n constructor(list, ...optionsTuple) {\n super(list, ...optionsTuple);\n this.opts = { ...syncDefaultOpts, ...optionsTuple[0] };\n }\n find(query) {\n if (query.length === 0 || this.items.length === 0)\n return this.items.slice(0, this.opts.limit).map(createResultItemWithEmptyPos);\n query = query.normalize();\n let result = this.opts.match.bind(this)(query);\n return postProcessResultItems(result, this.opts);\n }\n}\nconst asyncDefaultOpts = {\n ...defaultOpts,\n match: asyncBasicMatch\n};\nclass AsyncFinder extends BaseFinder {\n constructor(list, ...optionsTuple) {\n super(list, ...optionsTuple);\n this.opts = { ...asyncDefaultOpts, ...optionsTuple[0] };\n this.token = { cancelled: false };\n }\n async find(query) {\n this.token.cancelled = true;\n this.token = { cancelled: false };\n if (query.length === 0 || this.items.length === 0)\n return this.items.slice(0, this.opts.limit).map(createResultItemWithEmptyPos);\n query = query.normalize();\n let result = await this.opts.match.bind(this)(query, this.token);\n return postProcessResultItems(result, this.opts);\n }\n}\nconst createResultItemWithEmptyPos = (item) => ({\n item,\n start: -1,\n end: -1,\n score: 0,\n positions: /* @__PURE__ */ new Set()\n});\nfunction postProcessResultItems(result, opts) {\n if (opts.sort) {\n const { selector } = opts;\n result.sort((a, b) => {\n if (a.score === b.score) {\n for (const tiebreaker of opts.tiebreakers) {\n const diff = tiebreaker(a, b, selector);\n if (diff !== 0) {\n return diff;\n }\n }\n }\n return 0;\n });\n }\n if (Number.isFinite(opts.limit)) {\n result.splice(opts.limit);\n }\n return result;\n}\nfunction byLengthAsc(a, b, selector) {\n return selector(a.item).length - selector(b.item).length;\n}\nfunction byStartAsc(a, b) {\n return a.start - b.start;\n}\nclass Fzf {\n constructor(list, ...optionsTuple) {\n this.finder = new SyncFinder(list, ...optionsTuple);\n this.find = this.finder.find.bind(this.finder);\n }\n}\nclass AsyncFzf {\n constructor(list, ...optionsTuple) {\n this.finder = new AsyncFinder(list, ...optionsTuple);\n this.find = this.finder.find.bind(this.finder);\n }\n}\nexport { AsyncFzf, Fzf, asyncBasicMatch, asyncExtendedMatch, basicMatch, byLengthAsc, byStartAsc, extendedMatch };\n", + "import { useState } from \"react\"\nimport { useMount } from \"react-use\"\n\nexport const useRooPortal = (id: string) => {\n\tconst [container, setContainer] = useState<HTMLElement>()\n\n\tuseMount(() => setContainer(document.getElementById(id) ?? undefined))\n\n\treturn container\n}\n", + "import * as React from \"react\"\nimport { CaretUpIcon } from \"@radix-ui/react-icons\"\nimport { Check, X } from \"lucide-react\"\nimport { Fzf } from \"fzf\"\nimport { useTranslation } from \"react-i18next\"\n\nimport { cn } from \"@/lib/utils\"\nimport { useRooPortal } from \"./hooks/useRooPortal\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui\"\nimport { StandardTooltip } from \"@/components/ui\"\n\nexport enum DropdownOptionType {\n\tITEM = \"item\",\n\tSEPARATOR = \"separator\",\n\tSHORTCUT = \"shortcut\",\n\tACTION = \"action\",\n}\n\nexport interface DropdownOption {\n\tvalue: string\n\tlabel: string\n\tdisabled?: boolean\n\ttype?: DropdownOptionType\n\tpinned?: boolean\n}\n\nexport interface SelectDropdownProps {\n\tvalue: string\n\toptions: DropdownOption[]\n\tonChange: (value: string) => void\n\tdisabled?: boolean\n\ttitle?: string\n\ttriggerClassName?: string\n\tcontentClassName?: string\n\titemClassName?: string\n\tsideOffset?: number\n\talign?: \"start\" | \"center\" | \"end\"\n\tplaceholder?: string\n\tshortcutText?: string\n\trenderItem?: (option: DropdownOption) => React.ReactNode\n\tdisableSearch?: boolean\n}\n\nexport const SelectDropdown = React.memo(\n\tReact.forwardRef<React.ElementRef<typeof PopoverTrigger>, SelectDropdownProps>(\n\t\t(\n\t\t\t{\n\t\t\t\tvalue,\n\t\t\t\toptions,\n\t\t\t\tonChange,\n\t\t\t\tdisabled = false,\n\t\t\t\ttitle = \"\",\n\t\t\t\ttriggerClassName = \"\",\n\t\t\t\tcontentClassName = \"\",\n\t\t\t\titemClassName = \"\",\n\t\t\t\tsideOffset = 4,\n\t\t\t\talign = \"start\",\n\t\t\t\tplaceholder = \"\",\n\t\t\t\tshortcutText = \"\",\n\t\t\t\trenderItem,\n\t\t\t\tdisableSearch = false,\n\t\t\t},\n\t\t\tref,\n\t\t) => {\n\t\t\tconst { t } = useTranslation()\n\t\t\tconst [open, setOpen] = React.useState(false)\n\t\t\tconst [searchValue, setSearchValue] = React.useState(\"\")\n\t\t\tconst searchInputRef = React.useRef<HTMLInputElement>(null)\n\t\t\tconst portalContainer = useRooPortal(\"roo-portal\")\n\n\t\t\t// Memoize the selected option to prevent unnecessary calculations\n\t\t\tconst selectedOption = React.useMemo(\n\t\t\t\t() => options.find((option) => option.value === value),\n\t\t\t\t[options, value],\n\t\t\t)\n\n\t\t\t// Memoize the display text to prevent recalculation on every render\n\t\t\tconst displayText = React.useMemo(\n\t\t\t\t() =>\n\t\t\t\t\tvalue && !selectedOption && placeholder ? placeholder : selectedOption?.label || placeholder || \"\",\n\t\t\t\t[value, selectedOption, placeholder],\n\t\t\t)\n\n\t\t\t// Reset search value when dropdown closes\n\t\t\tconst onOpenChange = React.useCallback((open: boolean) => {\n\t\t\t\tsetOpen(open)\n\t\t\t\t// Clear search when closing - no need for setTimeout\n\t\t\t\tif (!open) {\n\t\t\t\t\t// Use requestAnimationFrame instead of setTimeout for better performance\n\t\t\t\t\trequestAnimationFrame(() => setSearchValue(\"\"))\n\t\t\t\t}\n\t\t\t}, [])\n\n\t\t\t// Clear search and focus input\n\t\t\tconst onClearSearch = React.useCallback(() => {\n\t\t\t\tsetSearchValue(\"\")\n\t\t\t\tsearchInputRef.current?.focus()\n\t\t\t}, [])\n\n\t\t\t// Filter options based on search value using Fzf for fuzzy search\n\t\t\t// Memoize searchable items to avoid recreating them on every search\n\t\t\tconst searchableItems = React.useMemo(() => {\n\t\t\t\treturn options\n\t\t\t\t\t.filter(\n\t\t\t\t\t\t(option) =>\n\t\t\t\t\t\t\toption.type !== DropdownOptionType.SEPARATOR && option.type !== DropdownOptionType.SHORTCUT,\n\t\t\t\t\t)\n\t\t\t\t\t.map((option) => ({\n\t\t\t\t\t\toriginal: option,\n\t\t\t\t\t\tsearchStr: [option.label, option.value].filter(Boolean).join(\" \"),\n\t\t\t\t\t}))\n\t\t\t}, [options])\n\n\t\t\t// Create a memoized Fzf instance that only updates when searchable items change\n\t\t\tconst fzfInstance = React.useMemo(() => {\n\t\t\t\treturn new Fzf(searchableItems, {\n\t\t\t\t\tselector: (item) => item.searchStr,\n\t\t\t\t})\n\t\t\t}, [searchableItems])\n\n\t\t\t// Filter options based on search value using memoized Fzf instance\n\t\t\tconst filteredOptions = React.useMemo(() => {\n\t\t\t\t// If search is disabled or no search value, return all options without filtering\n\t\t\t\tif (disableSearch || !searchValue) return options\n\n\t\t\t\t// Get fuzzy matching items - only perform search if we have a search value\n\t\t\t\tconst matchingItems = fzfInstance.find(searchValue).map((result) => result.item.original)\n\n\t\t\t\t// Always include separators and shortcuts\n\t\t\t\treturn options.filter((option) => {\n\t\t\t\t\tif (option.type === DropdownOptionType.SEPARATOR || option.type === DropdownOptionType.SHORTCUT) {\n\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\n\t\t\t\t\t// Include if it's in the matching items\n\t\t\t\t\treturn matchingItems.some((item) => item.value === option.value)\n\t\t\t\t})\n\t\t\t}, [options, searchValue, fzfInstance, disableSearch])\n\n\t\t\t// Group options by type and handle separators\n\t\t\tconst groupedOptions = React.useMemo(() => {\n\t\t\t\tconst result: DropdownOption[] = []\n\t\t\t\tlet lastWasSeparator = false\n\n\t\t\t\tfilteredOptions.forEach((option) => {\n\t\t\t\t\tif (option.type === DropdownOptionType.SEPARATOR) {\n\t\t\t\t\t\t// Only add separator if we have items before and after it\n\t\t\t\t\t\tif (result.length > 0 && !lastWasSeparator) {\n\t\t\t\t\t\t\tresult.push(option)\n\t\t\t\t\t\t\tlastWasSeparator = true\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.push(option)\n\t\t\t\t\t\tlastWasSeparator = false\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t// Remove trailing separator if present\n\t\t\t\tif (result.length > 0 && result[result.length - 1].type === DropdownOptionType.SEPARATOR) {\n\t\t\t\t\tresult.pop()\n\t\t\t\t}\n\n\t\t\t\treturn result\n\t\t\t}, [filteredOptions])\n\n\t\t\tconst handleSelect = React.useCallback(\n\t\t\t\t(optionValue: string) => {\n\t\t\t\t\tconst option = options.find((opt) => opt.value === optionValue)\n\n\t\t\t\t\tif (!option) return\n\n\t\t\t\t\tif (option.type === DropdownOptionType.ACTION) {\n\t\t\t\t\t\twindow.postMessage({ type: \"action\", action: option.value })\n\t\t\t\t\t\tsetSearchValue(\"\")\n\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tif (option.disabled) return\n\n\t\t\t\t\tonChange(option.value)\n\t\t\t\t\tsetSearchValue(\"\")\n\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t// Clear search value immediately\n\t\t\t\t},\n\t\t\t\t[onChange, options],\n\t\t\t)\n\n\t\t\tconst triggerContent = (\n\t\t\t\t<PopoverTrigger\n\t\t\t\t\tref={ref}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tdata-testid=\"dropdown-trigger\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"w-full min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs\",\n\t\t\t\t\t\t\"bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground w-auto\",\n\t\t\t\t\t\t\"transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder focus-visible:ring-inset\",\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t? \"opacity-50 cursor-not-allowed\"\n\t\t\t\t\t\t\t: \"opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer\",\n\t\t\t\t\t\ttriggerClassName,\n\t\t\t\t\t)}>\n\t\t\t\t\t<CaretUpIcon className=\"pointer-events-none opacity-80 flex-shrink-0 size-3\" />\n\t\t\t\t\t<span className=\"truncate\">{displayText}</span>\n\t\t\t\t</PopoverTrigger>\n\t\t\t)\n\n\t\t\treturn (\n\t\t\t\t<Popover open={open} onOpenChange={onOpenChange} data-testid=\"dropdown-root\">\n\t\t\t\t\t{title ? <StandardTooltip content={title}>{triggerContent}</StandardTooltip> : triggerContent}\n\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\talign={align}\n\t\t\t\t\t\tsideOffset={sideOffset}\n\t\t\t\t\t\tcontainer={portalContainer}\n\t\t\t\t\t\tclassName={cn(\"p-0 overflow-hidden\", contentClassName)}>\n\t\t\t\t\t\t<div className=\"flex flex-col w-full\">\n\t\t\t\t\t\t\t{/* Search input */}\n\t\t\t\t\t\t\t{!disableSearch && (\n\t\t\t\t\t\t\t\t<div className=\"relative p-2 border-b border-vscode-dropdown-border\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\taria-label=\"Search\"\n\t\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchValue(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"common:ui.search_placeholder\")}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{searchValue.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"absolute right-4 top-0 bottom-0 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t\t\t<X\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={onClearSearch}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{/* Dropdown items - Use windowing for large lists */}\n\t\t\t\t\t\t\t<div className=\"max-h-[300px] overflow-y-auto\">\n\t\t\t\t\t\t\t\t{groupedOptions.length === 0 && searchValue ? (\n\t\t\t\t\t\t\t\t\t<div className=\"py-2 px-3 text-sm text-vscode-foreground/70\">No results found</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t\t\t\t\t{groupedOptions.map((option, index) => {\n\t\t\t\t\t\t\t\t\t\t\t// Memoize rendering of each item type for better performance\n\t\t\t\t\t\t\t\t\t\t\tif (option.type === DropdownOptionType.SEPARATOR) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`sep-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"mx-1 my-1 h-px bg-vscode-dropdown-foreground/10\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"dropdown-separator\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\toption.type === DropdownOptionType.SHORTCUT ||\n\t\t\t\t\t\t\t\t\t\t\t\t(option.disabled && shortcutText && option.label.includes(shortcutText))\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`label-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"px-3 py-1.5 text-sm opacity-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Use stable keys for better reconciliation\n\t\t\t\t\t\t\t\t\t\t\tconst itemKey = `item-${option.value || option.label || index}`\n\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={itemKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => !option.disabled && handleSelect(option.value)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"px-3 py-1.5 text-sm cursor-pointer flex items-center\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.disabled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"opacity-50 cursor-not-allowed\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"hover:bg-vscode-list-hoverBackground\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.value === value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titemClassName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"dropdown-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{renderItem ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trenderItem(option)\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.value === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className=\"ml-auto size-4 p-0.5\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t)\n\t\t},\n\t),\n)\n\nSelectDropdown.displayName = \"SelectDropdown\"\n", + "// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n", + "\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport { PortalProps } from \"@radix-ui/react-portal\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n\treturn <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n\treturn <SelectPrimitive.Group data-slot=\"select-group\" {...props} />\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n\treturn <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n\treturn (\n\t\t<SelectPrimitive.Trigger\n\t\t\tdata-slot=\"select-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:border-destructive flex h-7 w-fit items-center justify-between gap-2 rounded-xs px-3 py-2 whitespace-nowrap transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 cursor-pointer\",\n\t\t\t\t\"border border-vscode-dropdown-border aria-expanded:border-vscode-focusBorder focus-visible:border-vscode-focusBorder\",\n\t\t\t\t\"bg-vscode-dropdown-background hover:bg-transparent\",\n\t\t\t\t\"text-vscode-dropdown-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}>\n\t\t\t{children}\n\t\t\t<SelectPrimitive.Icon asChild>\n\t\t\t\t<ChevronDown className=\"size-4 opacity-50\" />\n\t\t\t</SelectPrimitive.Icon>\n\t\t</SelectPrimitive.Trigger>\n\t)\n}\n\nfunction SelectContent({\n\tclassName,\n\tchildren,\n\tposition = \"popper\",\n\tcontainer,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.Content> & Pick<PortalProps, \"container\">) {\n\treturn (\n\t\t<SelectPrimitive.Portal container={container}>\n\t\t\t<SelectPrimitive.Content\n\t\t\t\tdata-slot=\"select-content\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-72 min-w-[8rem] overflow-hidden rounded-xs shadow-xs\",\n\t\t\t\t\t\"bg-popover\",\n\t\t\t\t\t\"border border-vscode-focusBorder\",\n\t\t\t\t\t\"text-popover-foreground\",\n\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tposition={position}\n\t\t\t\t{...props}>\n\t\t\t\t<SelectScrollUpButton />\n\t\t\t\t<SelectPrimitive.Viewport\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"p-1\",\n\t\t\t\t\t\tposition === \"popper\" &&\n\t\t\t\t\t\t\t\"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n\t\t\t\t\t)}>\n\t\t\t\t\t{children}\n\t\t\t\t</SelectPrimitive.Viewport>\n\t\t\t\t<SelectScrollDownButton />\n\t\t\t</SelectPrimitive.Content>\n\t\t</SelectPrimitive.Portal>\n\t)\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n\treturn (\n\t\t<SelectPrimitive.Label\n\t\t\tdata-slot=\"select-label\"\n\t\t\tclassName={cn(\"px-2 py-1.5 text-sm font-medium\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n\treturn (\n\t\t<SelectPrimitive.Item\n\t\t\tdata-slot=\"select-item\"\n\t\t\tclassName={cn(\n\t\t\t\t\"[&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full items-center gap-2 py-1.5 pr-8 pl-2 outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n\t\t\t\t\"focus:bg-vscode-list-activeSelectionBackground focus:text-vscode-list-activeSelectionForeground\",\n\t\t\t\t\"text-vscode-dropdown-foreground text-sm\",\n\t\t\t\t\"rounded-xs active:opacity-90 cursor-pointer\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}>\n\t\t\t<span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n\t\t\t\t<SelectPrimitive.ItemIndicator>\n\t\t\t\t\t<Check className=\"size-4 p-0.5\" />\n\t\t\t\t</SelectPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n\t\t</SelectPrimitive.Item>\n\t)\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n\treturn (\n\t\t<SelectPrimitive.Separator\n\t\t\tdata-slot=\"select-separator\"\n\t\t\tclassName={cn(\"bg-vscode-dropdown-foreground/10 pointer-events-none -mx-1 my-1 h-px\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollUpButton\n\t\t\tdata-slot=\"select-scroll-up-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}>\n\t\t\t<ChevronUp className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollUpButton>\n\t)\n}\n\nfunction SelectScrollDownButton({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n\treturn (\n\t\t<SelectPrimitive.ScrollDownButton\n\t\t\tdata-slot=\"select-scroll-down-button\"\n\t\t\tclassName={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n\t\t\t{...props}>\n\t\t\t<ChevronDown className=\"size-4\" />\n\t\t</SelectPrimitive.ScrollDownButton>\n\t)\n}\n\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectScrollDownButton,\n\tSelectScrollUpButton,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n}\n", + "import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.ComponentProps<\"textarea\">>(\n\t({ className, ...props }, ref) => {\n\t\treturn (\n\t\t\t<textarea\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex min-h-[60px] w-full rounded-xs px-3 py-2 text-base placeholder:text-muted-foreground focus:outline-0 focus-visible:outline-none focus-visible:border-vscode-focusBorder disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\t\t\"border border-[var(--vscode-input-border,var(--vscode-input-background))] focus-visible:border-vscode-focusBorder\",\n\t\t\t\t\t\"bg-vscode-input-background\",\n\t\t\t\t\t\"text-vscode-input-foreground\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t},\n)\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n", + "\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n", + "import * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n\tReact.ElementRef<typeof TooltipPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n\t<TooltipPrimitive.Portal>\n\t\t<TooltipPrimitive.Content\n\t\t\tref={ref}\n\t\t\tsideOffset={sideOffset}\n\t\t\tcollisionPadding={10}\n\t\t\tavoidCollisions={true}\n\t\t\tclassName={cn(\n\t\t\t\t\"z-50 rounded-xs bg-vscode-notifications-background border border-vscode-notifications-border px-3 py-1.5 text-xs text-vscode-notifications-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n\t\t\t\t\"max-w-[300px] break-words\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t</TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n", + "import * as React from \"react\"\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"./tooltip\"\n\nexport const STANDARD_TOOLTIP_DELAY = 300\n\ninterface StandardTooltipProps {\n\t/** The element(s) that trigger the tooltip */\n\tchildren: React.ReactNode\n\t/** The content to display in the tooltip */\n\tcontent: React.ReactNode\n\t/** The preferred side of the trigger to render the tooltip */\n\tside?: \"top\" | \"right\" | \"bottom\" | \"left\"\n\t/** The preferred alignment against the trigger */\n\talign?: \"start\" | \"center\" | \"end\"\n\t/** Distance in pixels from the trigger */\n\tsideOffset?: number\n\t/** Additional CSS classes for the tooltip content */\n\tclassName?: string\n\t/** Whether the trigger should be rendered as a child */\n\tasChild?: boolean\n\t/** Maximum width of the tooltip content */\n\tmaxWidth?: number | string\n}\n\n/**\n * StandardTooltip component that enforces consistent 300ms delay across the application.\n * This component wraps the Radix UI tooltip with a standardized delay duration.\n *\n * @example\n * // Basic usage\n * <StandardTooltip content=\"Delete item\">\n * <Button>Delete</Button>\n * </StandardTooltip>\n *\n * // With custom positioning\n * <StandardTooltip content=\"Long tooltip text\" side=\"right\" sideOffset={8}>\n * <IconButton icon=\"info\" />\n * </StandardTooltip>\n *\n * @note This replaces native HTML title attributes for consistent timing.\n * @note Requires a TooltipProvider to be present in the component tree (typically at the app root).\n * @note Do not nest StandardTooltip components as this can cause UI issues.\n */\nexport function StandardTooltip({\n\tchildren,\n\tcontent,\n\tside = \"top\",\n\talign = \"center\",\n\tsideOffset = 4,\n\tclassName,\n\tasChild = true,\n\tmaxWidth,\n}: StandardTooltipProps) {\n\t// Don't render tooltip if content is empty or only whitespace\n\tif (!content || (typeof content === \"string\" && !content.trim())) {\n\t\treturn <>{children}</>\n\t}\n\n\tconst style = maxWidth ? { maxWidth: typeof maxWidth === \"number\" ? `${maxWidth}px` : maxWidth } : undefined\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild={asChild}>{children}</TooltipTrigger>\n\t\t\t<TooltipContent side={side} align={align} sideOffset={sideOffset} className={className} style={style}>\n\t\t\t\t{content}\n\t\t\t</TooltipContent>\n\t\t</Tooltip>\n\t)\n}\n", + "import React from \"react\"\n\nexport interface ToggleSwitchProps {\n\tchecked: boolean\n\tonChange: () => void\n\tdisabled?: boolean\n\tsize?: \"small\" | \"medium\"\n\t\"aria-label\"?: string\n\t\"data-testid\"?: string\n}\n\nexport const ToggleSwitch: React.FC<ToggleSwitchProps> = ({\n\tchecked,\n\tonChange,\n\tdisabled = false,\n\tsize = \"small\",\n\t\"aria-label\": ariaLabel,\n\t\"data-testid\": dataTestId,\n}) => {\n\tconst dimensions = size === \"small\" ? { width: 16, height: 8, dotSize: 4 } : { width: 20, height: 10, dotSize: 6 }\n\n\tconst handleKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\te.preventDefault()\n\t\t\tif (!disabled) {\n\t\t\t\tonChange()\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t<div\n\t\t\trole=\"switch\"\n\t\t\taria-checked={checked}\n\t\t\taria-label={ariaLabel}\n\t\t\ttabIndex={disabled ? -1 : 0}\n\t\t\tdata-testid={dataTestId}\n\t\t\tstyle={{\n\t\t\t\twidth: `${dimensions.width}px`,\n\t\t\t\theight: `${dimensions.height}px`,\n\t\t\t\tbackgroundColor: checked\n\t\t\t\t\t? \"var(--vscode-button-background)\"\n\t\t\t\t\t: \"var(--vscode-titleBar-inactiveForeground)\",\n\t\t\t\tborderRadius: `${dimensions.height / 2}px`,\n\t\t\t\tposition: \"relative\",\n\t\t\t\tcursor: disabled ? \"not-allowed\" : \"pointer\",\n\t\t\t\ttransition: \"background-color 0.2s\",\n\t\t\t\topacity: disabled ? 0.4 : checked ? 0.8 : 0.6,\n\t\t\t}}\n\t\t\tonClick={disabled ? undefined : onChange}\n\t\t\tonKeyDown={handleKeyDown}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: `${dimensions.dotSize}px`,\n\t\t\t\t\theight: `${dimensions.dotSize}px`,\n\t\t\t\t\tbackgroundColor: \"var(--vscode-titleBar-activeForeground)\",\n\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\ttop: `${(dimensions.height - dimensions.dotSize) / 2}px`,\n\t\t\t\t\tleft: checked\n\t\t\t\t\t\t? `${dimensions.width - dimensions.dotSize - (dimensions.height - dimensions.dotSize) / 2}px`\n\t\t\t\t\t\t: `${(dimensions.height - dimensions.dotSize) / 2}px`,\n\t\t\t\t\ttransition: \"left 0.2s\",\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n", + "import { useMemo } from \"react\"\n\ninterface AutoApprovalToggles {\n\talwaysAllowReadOnly?: boolean\n\talwaysAllowWrite?: boolean\n\talwaysAllowExecute?: boolean\n\talwaysAllowBrowser?: boolean\n\talwaysAllowMcp?: boolean\n\talwaysAllowModeSwitch?: boolean\n\talwaysAllowSubtasks?: boolean\n\talwaysApproveResubmit?: boolean\n\talwaysAllowFollowupQuestions?: boolean\n\talwaysAllowUpdateTodoList?: boolean\n}\n\nexport function useAutoApprovalState(toggles: AutoApprovalToggles, autoApprovalEnabled?: boolean) {\n\tconst hasEnabledOptions = useMemo(() => {\n\t\treturn Object.values(toggles).some((value) => !!value)\n\t}, [toggles])\n\n\tconst effectiveAutoApprovalEnabled = useMemo(() => {\n\t\treturn hasEnabledOptions && (autoApprovalEnabled ?? false)\n\t}, [hasEnabledOptions, autoApprovalEnabled])\n\n\treturn {\n\t\thasEnabledOptions,\n\t\teffectiveAutoApprovalEnabled,\n\t}\n}\n", + "import { useMemo } from \"react\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\n\n/**\n * Custom hook that creates and returns the auto-approval toggles object\n * This encapsulates the logic for creating the toggles object from extension state\n */\nexport function useAutoApprovalToggles() {\n\tconst {\n\t\talwaysAllowReadOnly,\n\t\talwaysAllowWrite,\n\t\talwaysAllowExecute,\n\t\talwaysAllowBrowser,\n\t\talwaysAllowMcp,\n\t\talwaysAllowModeSwitch,\n\t\talwaysAllowSubtasks,\n\t\talwaysApproveResubmit,\n\t\talwaysAllowFollowupQuestions,\n\t\talwaysAllowUpdateTodoList,\n\t} = useExtensionState()\n\n\tconst toggles = useMemo(\n\t\t() => ({\n\t\t\talwaysAllowReadOnly,\n\t\t\talwaysAllowWrite,\n\t\t\talwaysAllowExecute,\n\t\t\talwaysAllowBrowser,\n\t\t\talwaysAllowMcp,\n\t\t\talwaysAllowModeSwitch,\n\t\t\talwaysAllowSubtasks,\n\t\t\talwaysApproveResubmit,\n\t\t\talwaysAllowFollowupQuestions,\n\t\t\talwaysAllowUpdateTodoList,\n\t\t}),\n\t\t[\n\t\t\talwaysAllowReadOnly,\n\t\t\talwaysAllowWrite,\n\t\t\talwaysAllowExecute,\n\t\t\talwaysAllowBrowser,\n\t\t\talwaysAllowMcp,\n\t\t\talwaysAllowModeSwitch,\n\t\t\talwaysAllowSubtasks,\n\t\t\talwaysApproveResubmit,\n\t\t\talwaysAllowFollowupQuestions,\n\t\t\talwaysAllowUpdateTodoList,\n\t\t],\n\t)\n\n\treturn toggles\n}\n", + "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", + "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n", + "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n", + "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", + "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n", + "import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n", + "import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", + "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", + "var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n", + "import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import o,{useRef as r,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.18\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"undefined\"!=typeof document,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var o=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(o,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\\nSee https://styled-components.com/docs/basics#define-styled-components-outside-of-the-render-method for more info.\\n\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},r(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,W=G?Symbol.for(\"react.forward_ref\"):60112,q={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[W]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:q;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if(\"string\"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n)}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<r.length;++a){var c=r[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function re(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],o=1;o<e.length;o++)n+=t?t+e[o]:e[o];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var o=0;o<t.length;o++)e[o]=le(e[o],t[o]);else if(ce(t))for(var o in t)e[o]=le(e[o],t[o]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],o=[],r=1,s=e.length;r<s;r+=1)o.push(e[r]);return o.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s<r;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;s<r;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var o,r=n.split(\",\"),s=0,i=r.length;s<i;s++)(o=r[s])&&e.registerName(t,o)},Pe=function(e,t){for(var n,o=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),r=[],s=0,i=o.length;s<i;s++){var a=o[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,r)),r.length=0}else r.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,o=t.length;n<o;n++){var r=t[n];r&&r.getAttribute(f)!==m&&(Pe(e,r),r.parentNode&&r.parentNode.removeChild(r))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,o=document.createElement(\"style\"),r=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==r?r.nextSibling:null;o.setAttribute(f,m),o.setAttribute(y,v);var i=Ce();return i&&o.setAttribute(\"nonce\",i),n.insertBefore(o,s),o},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,o){void 0===e&&(e=C),void 0===n&&(n={});var r=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(o),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,o=\"\",r=function(n){var r=function(e){return ve.get(e)}(n);if(void 0===r)return\"continue\";var s=e.names.get(r),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(r,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),o+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)r(s);return o}(r)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,o){return void 0===o&&(o=!0),new e(t(t({},this.options),n),this.gs,o&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,o,r=void 0===e?C:e,s=r.options,i=void 0===s?C:s,a=r.plugins,c=void 0===a?_:a,l=function(e,o,r){return r.startsWith(n)&&r.endsWith(n)&&r.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,r,s,a){void 0===r&&(r=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=r,o=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||r?\"\".concat(s,\" \").concat(r,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=o.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=o.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],r=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||r(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return o.createElement($e.Provider,{value:d},o.createElement(Le.Provider,{value:u},e.children))}var We=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),qe=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var o=e[n];if(1===n&&\"-\"===o&&\"-\"===e[0])return e;qe(o)?t+=\"-\"+o.toLowerCase():t+=o}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,o,r=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||re(i)?r.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?r.push.apply(r,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):r.push(\"\".concat(He(s),\": \").concat((n=s,null==(o=i)||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||n in h||n.startsWith(\"--\")?String(o).trim():\"\".concat(o,\"px\")),\";\")))}return r};function Xe(e,t,n,o){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(re(e)){if(!re(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var r=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof r||Array.isArray(r)||r instanceof We||ce(r)||null===r||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(r,t,n,o)}var s;return e instanceof We?n?(e.inject(n,o),[e.getName(o)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,o)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(re(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))o=ie(o,this.staticRulesId);else{var r=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,r)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}o=ie(o,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),o=ie(o,d)}}return o},e}(),et=o.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function ot(e){var n=o.useContext(et),r=i(function(){return function(e,n){if(!e)throw he(14);if(re(e)){var o=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===o||Array.isArray(o)||\"object\"!=typeof o))throw he(7);return o}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?o.createElement(et.Provider,{value:r},e.children):null}var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!L(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);rt[n]=(rt[n]||0)+1;var o=\"\".concat(n,\"-\").concat($(v+n+rt[n]));return t?\"\".concat(t,\"-\").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=r.displayName&&r.componentId?\"\".concat(R(r.displayName),\"-\").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=o.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=t(t({},n),{className:void 0,theme:o}),i=0;i<e.length;i+=1){var a=re(r=e[i])?r(s):r;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,r,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(o),o}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,r)}O.displayName=y;var D=o.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var o=0,r=t;o<r.length;o++)le(e,r[o],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},o=!1;return function(r){if(!o&&(n[r]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),o=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(re(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var r=t;return 0===n.length&&1===r.length&&\"string\"==typeof r[0]?Xe(r):ct(Xe(at(r,n)))}function ut(n,o,r){if(void 0===r&&(r=C),!o)throw he(1,o);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(o,r,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,o,t(t({},r),{attrs:Array.prototype.concat(r.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,o,t(t({},r),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,o){var r=o(ae(Xe(this.rules,t,n,o)),\"\"),s=this.componentId+e;n.insertRules(s,s,r)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,o){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,o)},e}();function ft(n){for(var r=[],s=1;s<arguments.length;s++)r[s-1]=arguments[s];var i=lt.apply(void 0,e([n],r,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var t=Ge(),n=o.useContext(et),r=o.useRef(t.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&o.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.styleSheet.server&&u(r,e,t.styleSheet,n,t.stylis),o.useLayoutEffect(function(){if(!t.styleSheet.server)return u(r,e,t.styleSheet,n,t.stylis),function(){return c.removeStyles(r,t.styleSheet)}},[r,e,t.styleSheet,n,t.stylis]),null};function u(e,n,o,r,s){if(c.isStatic)c.renderStyles(e,b,o,s);else{var i=t(t({},n),{theme:I(n,r,l.defaultProps)});c.renderStyles(e,i,o,s)}}return o.memo(l)}function mt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var r=ae(lt.apply(void 0,e([t],n,!1))),s=$(r);return new We(s,r)}function yt(e){var n=o.forwardRef(function(n,r){var s=I(n,o.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),o.createElement(e,t({},n,{theme:s,ref:r}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),oe(n,e)}var vt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),o=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(o,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var r=e.instance.toString();if(!r)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:r},n),i=Ce();return i&&(s.nonce=i),[o.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return o.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw he(3)},e}(),gt={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var St=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[St]||(window[St]=0),1===window[St]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[St]+=1);export{vt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,ot as ThemeProvider,gt as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n", + "import { memo, useState } from \"react\"\nimport { VSCodeButton, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport styled from \"styled-components\"\nimport { Trans } from \"react-i18next\"\n\nimport { TelemetrySetting } from \"@roo/TelemetrySetting\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\n\nconst BannerContainer = styled.div`\n\tbackground-color: var(--vscode-banner-background);\n\tpadding: 12px 20px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 10px;\n\tflex-shrink: 0;\n\tmargin-bottom: 6px;\n`\n\nconst ButtonContainer = styled.div`\n\tdisplay: flex;\n\tgap: 8px;\n\twidth: 100%;\n\t& > vscode-button {\n\t\tflex: 1;\n\t}\n`\n\nconst TelemetryBanner = () => {\n\tconst { t } = useAppTranslation()\n\tconst [hasChosen, setHasChosen] = useState(false)\n\n\tconst handleAllow = () => {\n\t\tsetHasChosen(true)\n\t\tvscode.postMessage({ type: \"telemetrySetting\", text: \"enabled\" satisfies TelemetrySetting })\n\t}\n\n\tconst handleDeny = () => {\n\t\tsetHasChosen(true)\n\t\tvscode.postMessage({ type: \"telemetrySetting\", text: \"disabled\" satisfies TelemetrySetting })\n\t}\n\n\tconst handleOpenSettings = () => {\n\t\twindow.postMessage({\n\t\t\ttype: \"action\",\n\t\t\taction: \"settingsButtonClicked\",\n\t\t\tvalues: { section: \"about\" }, // Link directly to about settings with telemetry controls\n\t\t})\n\t}\n\n\treturn (\n\t\t<BannerContainer>\n\t\t\t<div>\n\t\t\t\t<strong>{t(\"welcome:telemetry.title\")}</strong>\n\t\t\t\t<div className=\"mt-1\">\n\t\t\t\t\t<Trans\n\t\t\t\t\t\ti18nKey=\"welcome:telemetry.anonymousTelemetry\"\n\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\tprivacyLink: <VSCodeLink href=\"https://roocode.com/privacy\" />,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"mt-1\">\n\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\ti18nKey=\"welcome:telemetry.changeSettings\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tsettingsLink: <VSCodeLink href=\"#\" onClick={handleOpenSettings} />,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t.\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<ButtonContainer>\n\t\t\t\t<VSCodeButton appearance=\"primary\" onClick={handleAllow} disabled={hasChosen}>\n\t\t\t\t\t{t(\"welcome:telemetry.allow\")}\n\t\t\t\t</VSCodeButton>\n\t\t\t\t<VSCodeButton appearance=\"secondary\" onClick={handleDeny} disabled={hasChosen}>\n\t\t\t\t\t{t(\"welcome:telemetry.deny\")}\n\t\t\t\t</VSCodeButton>\n\t\t\t</ButtonContainer>\n\t\t</BannerContainer>\n\t)\n}\n\nexport default memo(TelemetryBanner)\n", + "/**\n * Package\n */\n\nimport { publisher, name, version } from \"../package.json\"\n\n// These ENV variables can be defined by ESBuild when building the extension\n// in order to override the values in package.json. This allows us to build\n// different extension variants with the same package.json file.\n// The build process still needs to emit a modified package.json for consumption\n// by VSCode, but that build artifact is not used during the transpile step of\n// the build, so we still need this override mechanism.\nexport const Package = {\n\tpublisher,\n\tname: process.env.PKG_NAME || name,\n\tversion: process.env.PKG_VERSION || version,\n\toutputChannel: process.env.PKG_OUTPUT_CHANNEL || \"Roo-Code\",\n\tsha: process.env.PKG_SHA,\n} as const\n", + "import React from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { Package } from \"@roo/package\"\n\ninterface VersionIndicatorProps {\n\tonClick: () => void\n\tclassName?: string\n}\n\nconst VersionIndicator: React.FC<VersionIndicatorProps> = ({ onClick, className = \"\" }) => {\n\tconst { t } = useTranslation()\n\n\treturn (\n\t\t<button\n\t\t\tonClick={onClick}\n\t\t\tclassName={`text-xs text-vscode-descriptionForeground hover:text-vscode-foreground transition-colors cursor-pointer px-2 py-1 rounded border border-vscode-panel-border hover:border-vscode-focusBorder ${className}`}\n\t\t\taria-label={t(\"chat:versionIndicator.ariaLabel\", { version: Package.version })}>\n\t\t\tv{Package.version}\n\t\t</button>\n\t)\n}\n\nexport default VersionIndicator\n", + "import { LRUCache } from \"lru-cache\"\n\n// LRU cache for escapeHtml with reasonable size limit\nconst escapeHtmlCache = new LRUCache<string, string>({ max: 500 })\n\nfunction escapeHtml(text: string): string {\n\t// Check cache first\n\tconst cached = escapeHtmlCache.get(text)\n\tif (cached !== undefined) {\n\t\treturn cached\n\t}\n\n\t// Compute escaped text\n\tconst escaped = text\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/</g, \"<\")\n\t\t.replace(/>/g, \">\")\n\t\t.replace(/\"/g, \""\")\n\t\t.replace(/'/g, \"'\")\n\n\t// Cache the result\n\tescapeHtmlCache.set(text, escaped)\n\n\treturn escaped\n}\n\nexport function highlightFzfMatch(\n\ttext: string,\n\tpositions: number[],\n\thighlightClassName: string = \"history-item-highlight\",\n) {\n\tif (!positions.length) return text\n\n\tconst parts: { text: string; highlight: boolean }[] = []\n\tlet lastIndex = 0\n\n\t// Sort positions to ensure we process them in order\n\tpositions.sort((a, b) => a - b)\n\n\tpositions.forEach((pos) => {\n\t\t// Add non-highlighted text before this position\n\t\tif (pos > lastIndex) {\n\t\t\tparts.push({\n\t\t\t\ttext: text.substring(lastIndex, pos),\n\t\t\t\thighlight: false,\n\t\t\t})\n\t\t}\n\n\t\t// Add highlighted character\n\t\tparts.push({\n\t\t\ttext: text[pos],\n\t\t\thighlight: true,\n\t\t})\n\n\t\tlastIndex = pos + 1\n\t})\n\n\t// Add any remaining text\n\tif (lastIndex < text.length) {\n\t\tparts.push({\n\t\t\ttext: text.substring(lastIndex),\n\t\t\thighlight: false,\n\t\t})\n\t}\n\n\t// Build final string\n\treturn parts\n\t\t.map((part) => {\n\t\t\tconst escapedText = escapeHtml(part.text)\n\t\t\treturn part.highlight ? `<span class=\"${highlightClassName}\">${escapedText}</span>` : escapedText\n\t\t})\n\t\t.join(\"\")\n}\n", + "import { useState, useEffect, useMemo } from \"react\"\nimport { Fzf } from \"fzf\"\n\nimport { highlightFzfMatch } from \"@/utils/highlight\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\n\ntype SortOption = \"newest\" | \"oldest\" | \"mostExpensive\" | \"mostTokens\" | \"mostRelevant\"\n\nexport const useTaskSearch = () => {\n\tconst { taskHistory, cwd } = useExtensionState()\n\tconst [searchQuery, setSearchQuery] = useState(\"\")\n\tconst [sortOption, setSortOption] = useState<SortOption>(\"newest\")\n\tconst [lastNonRelevantSort, setLastNonRelevantSort] = useState<SortOption | null>(\"newest\")\n\tconst [showAllWorkspaces, setShowAllWorkspaces] = useState(false)\n\n\tuseEffect(() => {\n\t\tif (searchQuery && sortOption !== \"mostRelevant\" && !lastNonRelevantSort) {\n\t\t\tsetLastNonRelevantSort(sortOption)\n\t\t\tsetSortOption(\"mostRelevant\")\n\t\t} else if (!searchQuery && sortOption === \"mostRelevant\" && lastNonRelevantSort) {\n\t\t\tsetSortOption(lastNonRelevantSort)\n\t\t\tsetLastNonRelevantSort(null)\n\t\t}\n\t}, [searchQuery, sortOption, lastNonRelevantSort])\n\n\tconst presentableTasks = useMemo(() => {\n\t\tlet tasks = taskHistory.filter((item) => item.ts && item.task)\n\t\tif (!showAllWorkspaces) {\n\t\t\ttasks = tasks.filter((item) => item.workspace === cwd)\n\t\t}\n\t\treturn tasks\n\t}, [taskHistory, showAllWorkspaces, cwd])\n\n\tconst fzf = useMemo(() => {\n\t\treturn new Fzf(presentableTasks, {\n\t\t\tselector: (item) => item.task,\n\t\t})\n\t}, [presentableTasks])\n\n\tconst tasks = useMemo(() => {\n\t\tlet results = presentableTasks\n\n\t\tif (searchQuery) {\n\t\t\tconst searchResults = fzf.find(searchQuery)\n\t\t\tresults = searchResults.map((result) => {\n\t\t\t\tconst positions = Array.from(result.positions)\n\t\t\t\tconst taskEndIndex = result.item.task.length\n\n\t\t\t\treturn {\n\t\t\t\t\t...result.item,\n\t\t\t\t\thighlight: highlightFzfMatch(\n\t\t\t\t\t\tresult.item.task,\n\t\t\t\t\t\tpositions.filter((p) => p < taskEndIndex),\n\t\t\t\t\t),\n\t\t\t\t\tworkspace: result.item.workspace,\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\t// Then sort the results\n\t\treturn [...results].sort((a, b) => {\n\t\t\tswitch (sortOption) {\n\t\t\t\tcase \"oldest\":\n\t\t\t\t\treturn (a.ts || 0) - (b.ts || 0)\n\t\t\t\tcase \"mostExpensive\":\n\t\t\t\t\treturn (b.totalCost || 0) - (a.totalCost || 0)\n\t\t\t\tcase \"mostTokens\":\n\t\t\t\t\tconst aTokens = (a.tokensIn || 0) + (a.tokensOut || 0) + (a.cacheWrites || 0) + (a.cacheReads || 0)\n\t\t\t\t\tconst bTokens = (b.tokensIn || 0) + (b.tokensOut || 0) + (b.cacheWrites || 0) + (b.cacheReads || 0)\n\t\t\t\t\treturn bTokens - aTokens\n\t\t\t\tcase \"mostRelevant\":\n\t\t\t\t\t// Keep fuse order if searching, otherwise sort by newest\n\t\t\t\t\treturn searchQuery ? 0 : (b.ts || 0) - (a.ts || 0)\n\t\t\t\tcase \"newest\":\n\t\t\t\tdefault:\n\t\t\t\t\treturn (b.ts || 0) - (a.ts || 0)\n\t\t\t}\n\t\t})\n\t}, [presentableTasks, searchQuery, fzf, sortOption])\n\n\treturn {\n\t\ttasks,\n\t\tsearchQuery,\n\t\tsetSearchQuery,\n\t\tsortOption,\n\t\tsetSortOption,\n\t\tlastNonRelevantSort,\n\t\tsetLastNonRelevantSort,\n\t\tshowAllWorkspaces,\n\t\tsetShowAllWorkspaces,\n\t}\n}\n", + "import i18next from \"i18next\"\n\nexport function formatLargeNumber(num: number): string {\n\tif (num >= 1e9) {\n\t\treturn (num / 1e9).toFixed(1) + i18next.t(\"common:number_format.billion_suffix\")\n\t}\n\tif (num >= 1e6) {\n\t\treturn (num / 1e6).toFixed(1) + i18next.t(\"common:number_format.million_suffix\")\n\t}\n\tif (num >= 1e3) {\n\t\treturn (num / 1e3).toFixed(1) + i18next.t(\"common:number_format.thousand_suffix\")\n\t}\n\treturn num.toString()\n}\n\nexport const formatDate = (timestamp: number) => {\n\tconst date = new Date(timestamp)\n\tconst locale = i18next.language || \"en\"\n\n\t// Get date format style from translations or use default transformations\n\tconst dateStr = date.toLocaleString(locale, {\n\t\tmonth: \"long\",\n\t\tday: \"numeric\",\n\t\thour: \"numeric\",\n\t\tminute: \"2-digit\",\n\t\thour12: true,\n\t})\n\n\t// Apply transformations based on locale or use default\n\tif (locale === \"en\") {\n\t\treturn dateStr.replace(\", \", \" \").replace(\" at\", \",\").toUpperCase()\n\t}\n\n\treturn dateStr.toUpperCase()\n}\n", + "import { useCallback } from \"react\"\n\nimport { Button, StandardTooltip } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { vscode } from \"@/utils/vscode\"\n\ntype DeleteButtonProps = {\n\titemId: string\n\tonDelete?: (taskId: string) => void\n}\n\nexport const DeleteButton = ({ itemId, onDelete }: DeleteButtonProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleDeleteClick = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\te.stopPropagation()\n\t\t\tif (e.shiftKey) {\n\t\t\t\tvscode.postMessage({ type: \"deleteTaskWithId\", text: itemId })\n\t\t\t} else if (onDelete) {\n\t\t\t\tonDelete(itemId)\n\t\t\t}\n\t\t},\n\t\t[itemId, onDelete],\n\t)\n\n\treturn (\n\t\t<StandardTooltip content={t(\"history:deleteTaskTitle\")}>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"icon\"\n\t\t\t\tdata-testid=\"delete-task-button\"\n\t\t\t\tonClick={handleDeleteClick}\n\t\t\t\tclassName=\"group-hover:opacity-100 opacity-50 transition-opacity\">\n\t\t\t\t<span className=\"codicon codicon-trash size-4 align-middle text-vscode-descriptionForeground\" />\n\t\t\t</Button>\n\t\t</StandardTooltip>\n\t)\n}\n", + "import React from \"react\"\nimport type { HistoryItem } from \"@roo-code/types\"\nimport { formatDate } from \"@/utils/format\"\nimport { DeleteButton } from \"./DeleteButton\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface TaskItemHeaderProps {\n\titem: HistoryItem\n\tisSelectionMode: boolean\n\tonDelete?: (taskId: string) => void\n}\n\nconst TaskItemHeader: React.FC<TaskItemHeaderProps> = ({ item, isSelectionMode, onDelete }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"flex justify-between items-center\", {\n\t\t\t\t// this is to balance out the margin when we don't have a delete button\n\t\t\t\t// because the delete button sorta pushes the date up due to its size\n\t\t\t\t\"mb-1\": !onDelete,\n\t\t\t})}>\n\t\t\t<div className=\"flex items-center flex-wrap gap-x-2 text-xs\">\n\t\t\t\t<span className=\"text-vscode-descriptionForeground font-medium text-sm uppercase\">\n\t\t\t\t\t{formatDate(item.ts)}\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t{/* Action Buttons */}\n\t\t\t{!isSelectionMode && (\n\t\t\t\t<div className=\"flex flex-row gap-0 items-center opacity-20 group-hover:opacity-50 hover:opacity-100\">\n\t\t\t\t\t{onDelete && <DeleteButton itemId={item.id} onDelete={onDelete} />}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default TaskItemHeader\n", + "const BYTE_UNITS = [\n\t'B',\n\t'kB',\n\t'MB',\n\t'GB',\n\t'TB',\n\t'PB',\n\t'EB',\n\t'ZB',\n\t'YB',\n];\n\nconst BIBYTE_UNITS = [\n\t'B',\n\t'KiB',\n\t'MiB',\n\t'GiB',\n\t'TiB',\n\t'PiB',\n\t'EiB',\n\t'ZiB',\n\t'YiB',\n];\n\nconst BIT_UNITS = [\n\t'b',\n\t'kbit',\n\t'Mbit',\n\t'Gbit',\n\t'Tbit',\n\t'Pbit',\n\t'Ebit',\n\t'Zbit',\n\t'Ybit',\n];\n\nconst BIBIT_UNITS = [\n\t'b',\n\t'kibit',\n\t'Mibit',\n\t'Gibit',\n\t'Tibit',\n\t'Pibit',\n\t'Eibit',\n\t'Zibit',\n\t'Yibit',\n];\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number, locale, options) => {\n\tlet result = number;\n\tif (typeof locale === 'string' || Array.isArray(locale)) {\n\t\tresult = number.toLocaleString(locale, options);\n\t} else if (locale === true || options !== undefined) {\n\t\tresult = number.toLocaleString(undefined, options);\n\t}\n\n\treturn result;\n};\n\nconst log10 = numberOrBigInt => {\n\tif (typeof numberOrBigInt === 'number') {\n\t\treturn Math.log10(numberOrBigInt);\n\t}\n\n\tconst string = numberOrBigInt.toString(10);\n\n\treturn string.length + Math.log10('0.' + string.slice(0, 15));\n};\n\nconst log = numberOrBigInt => {\n\tif (typeof numberOrBigInt === 'number') {\n\t\treturn Math.log(numberOrBigInt);\n\t}\n\n\treturn log10(numberOrBigInt) * Math.log(10);\n};\n\nconst divide = (numberOrBigInt, divisor) => {\n\tif (typeof numberOrBigInt === 'number') {\n\t\treturn numberOrBigInt / divisor;\n\t}\n\n\tconst integerPart = numberOrBigInt / BigInt(divisor);\n\tconst remainder = numberOrBigInt % BigInt(divisor);\n\treturn Number(integerPart) + (Number(remainder) / divisor);\n};\n\nexport default function prettyBytes(number, options) {\n\tif (typeof number !== 'bigint' && !Number.isFinite(number)) {\n\t\tthrow new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n\t}\n\n\toptions = {\n\t\tbits: false,\n\t\tbinary: false,\n\t\tspace: true,\n\t\t...options,\n\t};\n\n\tconst UNITS = options.bits\n\t\t? (options.binary ? BIBIT_UNITS : BIT_UNITS)\n\t\t: (options.binary ? BIBYTE_UNITS : BYTE_UNITS);\n\n\tconst separator = options.space ? ' ' : '';\n\n\tif (options.signed && (typeof number === 'number' ? number === 0 : number === 0n)) {\n\t\treturn ` 0${separator}${UNITS[0]}`;\n\t}\n\n\tconst isNegative = number < 0;\n\tconst prefix = isNegative ? '-' : (options.signed ? '+' : '');\n\n\tif (isNegative) {\n\t\tnumber = -number;\n\t}\n\n\tlet localeOptions;\n\n\tif (options.minimumFractionDigits !== undefined) {\n\t\tlocaleOptions = {minimumFractionDigits: options.minimumFractionDigits};\n\t}\n\n\tif (options.maximumFractionDigits !== undefined) {\n\t\tlocaleOptions = {maximumFractionDigits: options.maximumFractionDigits, ...localeOptions};\n\t}\n\n\tif (number < 1) {\n\t\tconst numberString = toLocaleString(number, options.locale, localeOptions);\n\t\treturn prefix + numberString + separator + UNITS[0];\n\t}\n\n\tconst exponent = Math.min(Math.floor(options.binary ? log(number) / Math.log(1024) : log10(number) / 3), UNITS.length - 1);\n\tnumber = divide(number, (options.binary ? 1024 : 1000) ** exponent);\n\n\tif (!localeOptions) {\n\t\tnumber = number.toPrecision(3);\n\t}\n\n\tconst numberString = toLocaleString(Number(number), options.locale, localeOptions);\n\n\tconst unit = UNITS[exponent];\n\n\treturn prefix + numberString + separator + unit;\n}\n", + "import { useState } from \"react\"\n\nexport interface UseClipboardProps {\n\ttimeout?: number\n}\n\nexport function useClipboard({ timeout = 2000 }: UseClipboardProps = {}) {\n\tconst [isCopied, setIsCopied] = useState(false)\n\n\tconst copy = (value: string) => {\n\t\tif (typeof window === \"undefined\" || !navigator.clipboard?.writeText || !value) {\n\t\t\treturn\n\t\t}\n\n\t\tnavigator.clipboard.writeText(value).then(() => {\n\t\t\tsetIsCopied(true)\n\t\t\tsetTimeout(() => setIsCopied(false), timeout)\n\t\t})\n\t}\n\n\treturn { isCopied, copy }\n}\n", + "import { useEffect } from \"react\"\n\n/**\n * Hook that listens for clicks on non-interactive elements and calls the provided handler.\n *\n * Interactive elements (inputs, textareas, selects, contentEditable) are excluded\n * to avoid disrupting user typing or form interactions.\n *\n * @param handler - Function to call when a non-interactive element is clicked\n */\nexport function useAddNonInteractiveClickListener(handler: () => void) {\n\tuseEffect(() => {\n\t\tconst handleContentClick = (e: MouseEvent) => {\n\t\t\tconst target = e.target as HTMLElement\n\n\t\t\t// Don't trigger for input elements to avoid disrupting typing\n\t\t\tif (\n\t\t\t\ttarget.tagName !== \"INPUT\" &&\n\t\t\t\ttarget.tagName !== \"SELECT\" &&\n\t\t\t\ttarget.tagName !== \"TEXTAREA\" &&\n\t\t\t\ttarget.tagName !== \"VSCODE-TEXT-AREA\" &&\n\t\t\t\ttarget.tagName !== \"VSCODE-TEXT-FIELD\" &&\n\t\t\t\t!target.isContentEditable\n\t\t\t) {\n\t\t\t\thandler()\n\t\t\t}\n\t\t}\n\n\t\t// Add listener to the document body to handle all clicks\n\t\tdocument.body.addEventListener(\"click\", handleContentClick)\n\n\t\treturn () => {\n\t\t\tdocument.body.removeEventListener(\"click\", handleContentClick)\n\t\t}\n\t}, [handler])\n}\n", + "import { useCallback } from \"react\"\n\nimport { useClipboard } from \"@/components/ui/hooks\"\nimport { Button, StandardTooltip } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { cn } from \"@/lib/utils\"\n\ntype CopyButtonProps = {\n\titemTask: string\n}\n\nexport const CopyButton = ({ itemTask }: CopyButtonProps) => {\n\tconst { isCopied, copy } = useClipboard()\n\tconst { t } = useAppTranslation()\n\n\tconst onCopy = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\te.stopPropagation()\n\n\t\t\tif (!isCopied) {\n\t\t\t\tcopy(itemTask)\n\t\t\t}\n\t\t},\n\t\t[isCopied, copy, itemTask],\n\t)\n\n\treturn (\n\t\t<StandardTooltip content={t(\"history:copyPrompt\")}>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"icon\"\n\t\t\t\tonClick={onCopy}\n\t\t\t\tclassName=\"group-hover:opacity-100 opacity-50 transition-opacity\"\n\t\t\t\tdata-testid=\"copy-prompt-button\">\n\t\t\t\t<span className={cn(\"codicon scale-80\", { \"codicon-check\": isCopied, \"codicon-copy\": !isCopied })} />\n\t\t\t</Button>\n\t\t</StandardTooltip>\n\t)\n}\n", + "import { vscode } from \"@/utils/vscode\"\nimport { Button, StandardTooltip } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { useCallback } from \"react\"\n\nexport const ExportButton = ({ itemId }: { itemId: string }) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleExportClick = useCallback(\n\t\t(e: React.MouseEvent) => {\n\t\t\te.stopPropagation()\n\t\t\tvscode.postMessage({ type: \"exportTaskWithId\", text: itemId })\n\t\t},\n\t\t[itemId],\n\t)\n\n\treturn (\n\t\t<StandardTooltip content={t(\"history:exportTask\")}>\n\t\t\t<Button\n\t\t\t\tdata-testid=\"export\"\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"icon\"\n\t\t\t\tclassName=\"group-hover:opacity-100 opacity-50 transition-opacity\"\n\t\t\t\tonClick={handleExportClick}>\n\t\t\t\t<span className=\"codicon codicon-desktop-download scale-80\" />\n\t\t\t</Button>\n\t\t</StandardTooltip>\n\t)\n}\n", + "import React from \"react\"\nimport type { HistoryItem } from \"@roo-code/types\"\nimport { Coins, FileIcon } from \"lucide-react\"\nimport prettyBytes from \"pretty-bytes\"\nimport { formatLargeNumber } from \"@/utils/format\"\nimport { CopyButton } from \"./CopyButton\"\nimport { ExportButton } from \"./ExportButton\"\n\nexport interface TaskItemFooterProps {\n\titem: HistoryItem\n\tvariant: \"compact\" | \"full\"\n\tisSelectionMode?: boolean\n}\n\nconst TaskItemFooter: React.FC<TaskItemFooterProps> = ({ item, variant, isSelectionMode = false }) => {\n\treturn (\n\t\t<div className=\"text-xs text-vscode-descriptionForeground flex justify-between items-center mt-1\">\n\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t{!!(item.cacheReads || item.cacheWrites) && (\n\t\t\t\t\t<span className=\"flex items-center\" data-testid=\"cache-compact\">\n\t\t\t\t\t\t<i className=\"mr-1 codicon codicon-cloud-upload text-sm! text-vscode-descriptionForeground\" />\n\t\t\t\t\t\t<span className=\"inline-block mr-1\">{formatLargeNumber(item.cacheWrites || 0)}</span>\n\t\t\t\t\t\t<i className=\"mr-1 codicon codicon-cloud-download text-sm! text-vscode-descriptionForeground\" />\n\t\t\t\t\t\t<span>{formatLargeNumber(item.cacheReads || 0)}</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\n\t\t\t\t{/* Full Tokens */}\n\t\t\t\t{!!(item.tokensIn || item.tokensOut) && (\n\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t<span data-testid=\"tokens-in-footer-compact\">↑ {formatLargeNumber(item.tokensIn || 0)}</span>\n\t\t\t\t\t\t<span data-testid=\"tokens-out-footer-compact\">↓ {formatLargeNumber(item.tokensOut || 0)}</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\n\t\t\t\t{/* Full Cost */}\n\t\t\t\t{!!item.totalCost && (\n\t\t\t\t\t<span className=\"flex items-center\">\n\t\t\t\t\t\t<Coins className=\"inline-block size-[1em] mr-1\" />\n\t\t\t\t\t\t<span data-testid=\"cost-footer-compact\">{\"$\" + item.totalCost.toFixed(2)}</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\n\t\t\t\t{!!item.size && (\n\t\t\t\t\t<span className=\"flex items-center\">\n\t\t\t\t\t\t<FileIcon className=\"inline-block size-[1em] mr-1\" />\n\t\t\t\t\t\t<span data-testid=\"size-footer-compact\">{prettyBytes(item.size)}</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Action Buttons for non-compact view */}\n\t\t\t{!isSelectionMode && (\n\t\t\t\t<div className=\"flex flex-row gap-0 items-center opacity-50 hover:opacity-100\">\n\t\t\t\t\t<CopyButton itemTask={item.task} />\n\t\t\t\t\t{variant === \"full\" && <ExportButton itemId={item.id} />}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default TaskItemFooter\n", + "import { memo } from \"react\"\nimport type { HistoryItem } from \"@roo-code/types\"\n\nimport { vscode } from \"@/utils/vscode\"\nimport { cn } from \"@/lib/utils\"\nimport { Checkbox } from \"@/components/ui/checkbox\"\n\nimport TaskItemHeader from \"./TaskItemHeader\"\nimport TaskItemFooter from \"./TaskItemFooter\"\n\ninterface DisplayHistoryItem extends HistoryItem {\n\thighlight?: string\n}\n\ninterface TaskItemProps {\n\titem: DisplayHistoryItem\n\tvariant: \"compact\" | \"full\"\n\tshowWorkspace?: boolean\n\tisSelectionMode?: boolean\n\tisSelected?: boolean\n\tonToggleSelection?: (taskId: string, isSelected: boolean) => void\n\tonDelete?: (taskId: string) => void\n\tclassName?: string\n}\n\nconst TaskItem = ({\n\titem,\n\tvariant,\n\tshowWorkspace = false,\n\tisSelectionMode = false,\n\tisSelected = false,\n\tonToggleSelection,\n\tonDelete,\n\tclassName,\n}: TaskItemProps) => {\n\tconst handleClick = () => {\n\t\tif (isSelectionMode && onToggleSelection) {\n\t\t\tonToggleSelection(item.id, !isSelected)\n\t\t} else {\n\t\t\tvscode.postMessage({ type: \"showTaskWithId\", text: item.id })\n\t\t}\n\t}\n\n\tconst isCompact = variant === \"compact\"\n\n\treturn (\n\t\t<div\n\t\t\tkey={item.id}\n\t\t\tdata-testid={`task-item-${item.id}`}\n\t\t\tclassName={cn(\n\t\t\t\t\"cursor-pointer group bg-vscode-editor-background rounded relative overflow-hidden hover:border-vscode-toolbar-hoverBackground/60\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tonClick={handleClick}>\n\t\t\t<div className=\"flex gap-2 p-3\">\n\t\t\t\t{/* Selection checkbox - only in full variant */}\n\t\t\t\t{!isCompact && isSelectionMode && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"task-checkbox mt-1\"\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\tonCheckedChange={(checked: boolean) => onToggleSelection?.(item.id, checked === true)}\n\t\t\t\t\t\t\tvariant=\"description\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t{/* Header with metadata */}\n\t\t\t\t\t<TaskItemHeader item={item} isSelectionMode={isSelectionMode} onDelete={onDelete} />\n\n\t\t\t\t\t{/* Task content */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\"overflow-hidden whitespace-pre-wrap text-vscode-foreground text-ellipsis\", {\n\t\t\t\t\t\t\t\"text-base line-clamp-3\": !isCompact,\n\t\t\t\t\t\t\t\"line-clamp-2\": isCompact,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tdata-testid=\"task-content\"\n\t\t\t\t\t\t{...(item.highlight ? { dangerouslySetInnerHTML: { __html: item.highlight } } : {})}>\n\t\t\t\t\t\t{item.highlight ? undefined : item.task}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Task Item Footer */}\n\t\t\t\t\t<TaskItemFooter item={item} variant={variant} isSelectionMode={isSelectionMode} />\n\n\t\t\t\t\t{/* Workspace info */}\n\t\t\t\t\t{showWorkspace && item.workspace && (\n\t\t\t\t\t\t<div className=\"flex flex-row gap-1 text-vscode-descriptionForeground text-xs mt-1\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-folder scale-80\" />\n\t\t\t\t\t\t\t<span>{item.workspace}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default memo(TaskItem)\n", + "import { memo } from \"react\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\n\nimport { useTaskSearch } from \"./useTaskSearch\"\nimport TaskItem from \"./TaskItem\"\n\nconst HistoryPreview = () => {\n\tconst { tasks } = useTaskSearch()\n\tconst { t } = useAppTranslation()\n\n\tconst handleViewAllHistory = () => {\n\t\tvscode.postMessage({ type: \"switchTab\", tab: \"history\" })\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-3\">\n\t\t\t{tasks.length !== 0 && (\n\t\t\t\t<>\n\t\t\t\t\t{tasks.slice(0, 3).map((item) => (\n\t\t\t\t\t\t<TaskItem key={item.id} item={item} variant=\"compact\" />\n\t\t\t\t\t))}\n\t\t\t\t\t<button\n\t\t\t\t\t\tonClick={handleViewAllHistory}\n\t\t\t\t\t\tclassName=\"text-base text-vscode-descriptionForeground hover:text-vscode-textLink-foreground transition-colors cursor-pointer text-center w-full\"\n\t\t\t\t\t\taria-label={t(\"history:viewAllHistory\")}>\n\t\t\t\t\t\t{t(\"history:viewAllHistory\")}\n\t\t\t\t\t</button>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default memo(HistoryPreview)\n", + "import { useState, memo } from \"react\"\nimport { Trans } from \"react-i18next\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { Package } from \"@roo/package\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"@src/components/ui\"\n\ninterface AnnouncementProps {\n\thideAnnouncement: () => void\n}\n\n/**\n * You must update the `latestAnnouncementId` in ClineProvider for new\n * announcements to show to users. This new id will be compared with what's in\n * state for the 'last announcement shown', and if it's different then the\n * announcement will render. As soon as an announcement is shown, the id will be\n * updated in state. This ensures that announcements are not shown more than\n * once, even if the user doesn't close it themselves.\n */\n\nconst Announcement = ({ hideAnnouncement }: AnnouncementProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [open, setOpen] = useState(true)\n\n\treturn (\n\t\t<Dialog\n\t\t\topen={open}\n\t\t\tonOpenChange={(open) => {\n\t\t\t\tsetOpen(open)\n\n\t\t\t\tif (!open) {\n\t\t\t\t\thideAnnouncement()\n\t\t\t\t}\n\t\t\t}}>\n\t\t\t<DialogContent className=\"max-w-96\">\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>{t(\"chat:announcement.title\", { version: Package.version })}</DialogTitle>\n\t\t\t\t\t<DialogDescription>\n\t\t\t\t\t\t{t(\"chat:announcement.description\", { version: Package.version })}\n\t\t\t\t\t</DialogDescription>\n\t\t\t\t</DialogHeader>\n\t\t\t\t<div>\n\t\t\t\t\t<h3>{t(\"chat:announcement.whatsNew\")}</h3>\n\t\t\t\t\t<ul className=\"space-y-2\">\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t•{\" \"}\n\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\ti18nKey=\"chat:announcement.feature1\"\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\tbold: <b />,\n\t\t\t\t\t\t\t\t\tcode: <code />,\n\t\t\t\t\t\t\t\t\tsettingsLink: (\n\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\t\t\t\t\t\t\thideAnnouncement()\n\t\t\t\t\t\t\t\t\t\t\t\twindow.postMessage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"action\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taction: \"settingsButtonClicked\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues: { section: \"codebaseIndexing\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t•{\" \"}\n\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\ti18nKey=\"chat:announcement.feature2\"\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\tbold: <b />,\n\t\t\t\t\t\t\t\t\tcode: <code />,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t•{\" \"}\n\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\ti18nKey=\"chat:announcement.feature3\"\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\tbold: <b />,\n\t\t\t\t\t\t\t\t\tcode: <code />,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t<Trans\n\t\t\t\t\t\ti18nKey=\"chat:announcement.detailsDiscussLinks\"\n\t\t\t\t\t\tcomponents={{ discordLink: <DiscordLink />, redditLink: <RedditLink /> }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t)\n}\n\nconst DiscordLink = () => (\n\t<VSCodeLink\n\t\thref=\"https://discord.gg/roocode\"\n\t\tonClick={(e) => {\n\t\t\te.preventDefault()\n\t\t\twindow.postMessage(\n\t\t\t\t{ type: \"action\", action: \"openExternal\", data: { url: \"https://discord.gg/roocode\" } },\n\t\t\t\t\"*\",\n\t\t\t)\n\t\t}}>\n\t\tDiscord\n\t</VSCodeLink>\n)\n\nconst RedditLink = () => (\n\t<VSCodeLink\n\t\thref=\"https://reddit.com/r/RooCode\"\n\t\tonClick={(e) => {\n\t\t\te.preventDefault()\n\t\t\twindow.postMessage(\n\t\t\t\t{ type: \"action\", action: \"openExternal\", data: { url: \"https://reddit.com/r/RooCode\" } },\n\t\t\t\t\"*\",\n\t\t\t)\n\t\t}}>\n\t\tReddit\n\t</VSCodeLink>\n)\n\nexport default memo(Announcement)\n", + "'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n", + "import { useState, useCallback, useEffect, useRef } from \"react\"\n\n/**\n * Options for copying text to clipboard\n */\ninterface CopyOptions {\n\t/** Duration in ms to show success feedback (default: 2000) */\n\tfeedbackDuration?: number\n\t/** Optional callback when copy succeeds */\n\tonSuccess?: () => void\n\t/** Optional callback when copy fails */\n\tonError?: (error: Error) => void\n}\n\n/**\n * Copy text to clipboard with error handling\n */\nexport const copyToClipboard = async (text: string, options?: CopyOptions): Promise<boolean> => {\n\ttry {\n\t\tawait navigator.clipboard.writeText(text)\n\t\toptions?.onSuccess?.()\n\t\treturn true\n\t} catch (error) {\n\t\tconst err = error instanceof Error ? error : new Error(\"Failed to copy to clipboard\")\n\t\toptions?.onError?.(err)\n\t\tconsole.error(\"Failed to copy to clipboard:\", err)\n\t\treturn false\n\t}\n}\n\n/**\n * React hook for managing clipboard copy state with feedback\n */\nexport const useCopyToClipboard = (feedbackDuration = 2000) => {\n\tconst [showCopyFeedback, setShowCopyFeedback] = useState(false)\n\tconst timeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n\tconst copyWithFeedback = useCallback(\n\t\tasync (text: string, e?: React.MouseEvent) => {\n\t\t\te?.stopPropagation()\n\n\t\t\t// Clear any existing timeout\n\t\t\tif (timeoutRef.current) {\n\t\t\t\tclearTimeout(timeoutRef.current)\n\t\t\t}\n\n\t\t\tconst success = await copyToClipboard(text, {\n\t\t\t\tonSuccess: () => {\n\t\t\t\t\tsetShowCopyFeedback(true)\n\t\t\t\t\ttimeoutRef.current = setTimeout(() => {\n\t\t\t\t\t\tsetShowCopyFeedback(false)\n\t\t\t\t\t\ttimeoutRef.current = null\n\t\t\t\t\t}, feedbackDuration)\n\t\t\t\t},\n\t\t\t})\n\n\t\t\treturn success\n\t\t},\n\t\t[feedbackDuration],\n\t)\n\n\t// Cleanup timeout on unmount\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (timeoutRef.current) {\n\t\t\t\tclearTimeout(timeoutRef.current)\n\t\t\t}\n\t\t}\n\t}, [])\n\n\treturn {\n\t\tshowCopyFeedback,\n\t\tcopyWithFeedback,\n\t}\n}\n", + "class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n", + "// src/utils.ts\nfunction clone(something) {\n return doClone(something);\n}\nfunction doClone(something) {\n if (Array.isArray(something)) {\n return cloneArray(something);\n }\n if (something instanceof RegExp) {\n return something;\n }\n if (typeof something === \"object\") {\n return cloneObj(something);\n }\n return something;\n}\nfunction cloneArray(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = doClone(arr[i]);\n }\n return r;\n}\nfunction cloneObj(obj) {\n let r = {};\n for (let key in obj) {\n r[key] = doClone(obj[key]);\n }\n return r;\n}\nfunction mergeObjects(target, ...sources) {\n sources.forEach((source) => {\n for (let key in source) {\n target[key] = source[key];\n }\n });\n return target;\n}\nfunction basename(path) {\n const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n if (idx === 0) {\n return path;\n } else if (~idx === path.length - 1) {\n return basename(path.substring(0, path.length - 1));\n } else {\n return path.substr(~idx + 1);\n }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n static hasCaptures(regexSource) {\n if (regexSource === null) {\n return false;\n }\n CAPTURING_REGEX_SOURCE.lastIndex = 0;\n return CAPTURING_REGEX_SOURCE.test(regexSource);\n }\n static replaceCaptures(regexSource, captureSource, captureIndices) {\n return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n let capture = captureIndices[parseInt(index || commandIndex, 10)];\n if (capture) {\n let result = captureSource.substring(capture.start, capture.end);\n while (result[0] === \".\") {\n result = result.substring(1);\n }\n switch (command) {\n case \"downcase\":\n return result.toLowerCase();\n case \"upcase\":\n return result.toUpperCase();\n default:\n return result;\n }\n } else {\n return match;\n }\n });\n }\n};\nfunction strcmp(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nfunction strArrCmp(a, b) {\n if (a === null && b === null) {\n return 0;\n }\n if (!a) {\n return -1;\n }\n if (!b) {\n return 1;\n }\n let len1 = a.length;\n let len2 = b.length;\n if (len1 === len2) {\n for (let i = 0; i < len1; i++) {\n let res = strcmp(a[i], b[i]);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n }\n return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n if (/^#[0-9a-f]{6}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{8}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{3}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{4}$/i.test(hex)) {\n return true;\n }\n return false;\n}\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n constructor(fn) {\n this.fn = fn;\n }\n cache = /* @__PURE__ */ new Map();\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n const value = this.fn(key);\n this.cache.set(key, value);\n return value;\n }\n};\n\n// src/theme.ts\nvar Theme = class {\n constructor(_colorMap, _defaults, _root) {\n this._colorMap = _colorMap;\n this._defaults = _defaults;\n this._root = _root;\n }\n static createFromRawTheme(source, colorMap) {\n return this.createFromParsedTheme(parseTheme(source), colorMap);\n }\n static createFromParsedTheme(source, colorMap) {\n return resolveParsedThemeRules(source, colorMap);\n }\n _cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\n getColorMap() {\n return this._colorMap.getColorMap();\n }\n getDefaults() {\n return this._defaults;\n }\n match(scopePath) {\n if (scopePath === null) {\n return this._defaults;\n }\n const scopeName = scopePath.scopeName;\n const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n const effectiveRule = matchingTrieElements.find(\n (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n );\n if (!effectiveRule) {\n return null;\n }\n return new StyleAttributes(\n effectiveRule.fontStyle,\n effectiveRule.foreground,\n effectiveRule.background\n );\n }\n};\nvar ScopeStack = class _ScopeStack {\n constructor(parent, scopeName) {\n this.parent = parent;\n this.scopeName = scopeName;\n }\n static push(path, scopeNames) {\n for (const name of scopeNames) {\n path = new _ScopeStack(path, name);\n }\n return path;\n }\n static from(...segments) {\n let result = null;\n for (let i = 0; i < segments.length; i++) {\n result = new _ScopeStack(result, segments[i]);\n }\n return result;\n }\n push(scopeName) {\n return new _ScopeStack(this, scopeName);\n }\n getSegments() {\n let item = this;\n const result = [];\n while (item) {\n result.push(item.scopeName);\n item = item.parent;\n }\n result.reverse();\n return result;\n }\n toString() {\n return this.getSegments().join(\" \");\n }\n extends(other) {\n if (this === other) {\n return true;\n }\n if (this.parent === null) {\n return false;\n }\n return this.parent.extends(other);\n }\n getExtensionIfDefined(base) {\n const result = [];\n let item = this;\n while (item && item !== base) {\n result.push(item.scopeName);\n item = item.parent;\n }\n return item === base ? result.reverse() : void 0;\n }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n if (parentScopes.length === 0) {\n return true;\n }\n for (let index = 0; index < parentScopes.length; index++) {\n let scopePattern = parentScopes[index];\n let scopeMustMatch = false;\n if (scopePattern === \">\") {\n if (index === parentScopes.length - 1) {\n return false;\n }\n scopePattern = parentScopes[++index];\n scopeMustMatch = true;\n }\n while (scopePath) {\n if (_matchesScope(scopePath.scopeName, scopePattern)) {\n break;\n }\n if (scopeMustMatch) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n if (!scopePath) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n constructor(fontStyle, foregroundId, backgroundId) {\n this.fontStyle = fontStyle;\n this.foregroundId = foregroundId;\n this.backgroundId = backgroundId;\n }\n};\nfunction parseTheme(source) {\n if (!source) {\n return [];\n }\n if (!source.settings || !Array.isArray(source.settings)) {\n return [];\n }\n let settings = source.settings;\n let result = [], resultLen = 0;\n for (let i = 0, len = settings.length; i < len; i++) {\n let entry = settings[i];\n if (!entry.settings) {\n continue;\n }\n let scopes;\n if (typeof entry.scope === \"string\") {\n let _scope = entry.scope;\n _scope = _scope.replace(/^[,]+/, \"\");\n _scope = _scope.replace(/[,]+$/, \"\");\n scopes = _scope.split(\",\");\n } else if (Array.isArray(entry.scope)) {\n scopes = entry.scope;\n } else {\n scopes = [\"\"];\n }\n let fontStyle = -1 /* NotSet */;\n if (typeof entry.settings.fontStyle === \"string\") {\n fontStyle = 0 /* None */;\n let segments = entry.settings.fontStyle.split(\" \");\n for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n let segment = segments[j];\n switch (segment) {\n case \"italic\":\n fontStyle = fontStyle | 1 /* Italic */;\n break;\n case \"bold\":\n fontStyle = fontStyle | 2 /* Bold */;\n break;\n case \"underline\":\n fontStyle = fontStyle | 4 /* Underline */;\n break;\n case \"strikethrough\":\n fontStyle = fontStyle | 8 /* Strikethrough */;\n break;\n }\n }\n }\n let foreground = null;\n if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n foreground = entry.settings.foreground;\n }\n let background = null;\n if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n background = entry.settings.background;\n }\n for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n let _scope = scopes[j].trim();\n let segments = _scope.split(\" \");\n let scope = segments[segments.length - 1];\n let parentScopes = null;\n if (segments.length > 1) {\n parentScopes = segments.slice(0, segments.length - 1);\n parentScopes.reverse();\n }\n result[resultLen++] = new ParsedThemeRule(\n scope,\n parentScopes,\n i,\n fontStyle,\n foreground,\n background\n );\n }\n }\n return result;\n}\nvar ParsedThemeRule = class {\n constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n this.scope = scope;\n this.parentScopes = parentScopes;\n this.index = index;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n parsedThemeRules.sort((a, b) => {\n let r = strcmp(a.scope, b.scope);\n if (r !== 0) {\n return r;\n }\n r = strArrCmp(a.parentScopes, b.parentScopes);\n if (r !== 0) {\n return r;\n }\n return a.index - b.index;\n });\n let defaultFontStyle = 0 /* None */;\n let defaultForeground = \"#000000\";\n let defaultBackground = \"#ffffff\";\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n let incomingDefaults = parsedThemeRules.shift();\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n defaultFontStyle = incomingDefaults.fontStyle;\n }\n if (incomingDefaults.foreground !== null) {\n defaultForeground = incomingDefaults.foreground;\n }\n if (incomingDefaults.background !== null) {\n defaultBackground = incomingDefaults.background;\n }\n }\n let colorMap = new ColorMap(_colorMap);\n let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n let rule = parsedThemeRules[i];\n root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n }\n return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n _isFrozen;\n _lastColorId;\n _id2color;\n _color2id;\n constructor(_colorMap) {\n this._lastColorId = 0;\n this._id2color = [];\n this._color2id = /* @__PURE__ */ Object.create(null);\n if (Array.isArray(_colorMap)) {\n this._isFrozen = true;\n for (let i = 0, len = _colorMap.length; i < len; i++) {\n this._color2id[_colorMap[i]] = i;\n this._id2color[i] = _colorMap[i];\n }\n } else {\n this._isFrozen = false;\n }\n }\n getId(color) {\n if (color === null) {\n return 0;\n }\n color = color.toUpperCase();\n let value = this._color2id[color];\n if (value) {\n return value;\n }\n if (this._isFrozen) {\n throw new Error(`Missing color in color map - ${color}`);\n }\n value = ++this._lastColorId;\n this._color2id[color] = value;\n this._id2color[value] = color;\n return value;\n }\n getColorMap() {\n return this._id2color.slice(0);\n }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n scopeDepth;\n parentScopes;\n fontStyle;\n foreground;\n background;\n constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n this.scopeDepth = scopeDepth;\n this.parentScopes = parentScopes || emptyParentScopes;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n clone() {\n return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n }\n static cloneArr(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = arr[i].clone();\n }\n return r;\n }\n acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n if (this.scopeDepth > scopeDepth) {\n console.log(\"how did this happen?\");\n } else {\n this.scopeDepth = scopeDepth;\n }\n if (fontStyle !== -1 /* NotSet */) {\n this.fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n this.foreground = foreground;\n }\n if (background !== 0) {\n this.background = background;\n }\n }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n this._mainRule = _mainRule;\n this._children = _children;\n this._rulesWithParentScopes = rulesWithParentScopes;\n }\n _rulesWithParentScopes;\n static _cmpBySpecificity(a, b) {\n if (a.scopeDepth !== b.scopeDepth) {\n return b.scopeDepth - a.scopeDepth;\n }\n let aParentIndex = 0;\n let bParentIndex = 0;\n while (true) {\n if (a.parentScopes[aParentIndex] === \">\") {\n aParentIndex++;\n }\n if (b.parentScopes[bParentIndex] === \">\") {\n bParentIndex++;\n }\n if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n break;\n }\n const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n if (parentScopeLengthDiff !== 0) {\n return parentScopeLengthDiff;\n }\n aParentIndex++;\n bParentIndex++;\n }\n return b.parentScopes.length - a.parentScopes.length;\n }\n match(scope) {\n if (scope !== \"\") {\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n if (this._children.hasOwnProperty(head)) {\n return this._children[head].match(tail);\n }\n }\n const rules = this._rulesWithParentScopes.concat(this._mainRule);\n rules.sort(_ThemeTrieElement._cmpBySpecificity);\n return rules;\n }\n insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n if (scope === \"\") {\n this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n return;\n }\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n let child;\n if (this._children.hasOwnProperty(head)) {\n child = this._children[head];\n } else {\n child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n this._children[head] = child;\n }\n child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n }\n _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n if (parentScopes === null) {\n this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n let rule = this._rulesWithParentScopes[i];\n if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n }\n if (fontStyle === -1 /* NotSet */) {\n fontStyle = this._mainRule.fontStyle;\n }\n if (foreground === 0) {\n foreground = this._mainRule.foreground;\n }\n if (background === 0) {\n background = this._mainRule.background;\n }\n this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n static toBinaryStr(encodedTokenAttributes) {\n return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n }\n static print(encodedTokenAttributes) {\n const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n console.log({\n languageId,\n tokenType,\n fontStyle,\n foreground,\n background\n });\n }\n static getLanguageId(encodedTokenAttributes) {\n return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n }\n static getTokenType(encodedTokenAttributes) {\n return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n }\n static containsBalancedBrackets(encodedTokenAttributes) {\n return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n }\n static getFontStyle(encodedTokenAttributes) {\n return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n }\n static getForeground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n }\n static getBackground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n }\n /**\n * Updates the fields in `metadata`.\n * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n */\n static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n if (languageId !== 0) {\n _languageId = languageId;\n }\n if (tokenType !== 8 /* NotSet */) {\n _tokenType = fromOptionalTokenType(tokenType);\n }\n if (containsBalancedBrackets !== null) {\n _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n }\n if (fontStyle !== -1 /* NotSet */) {\n _fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n _foreground = foreground;\n }\n if (background !== 0) {\n _background = background;\n }\n return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n }\n};\nfunction toOptionalTokenType(standardType) {\n return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n const results = [];\n const tokenizer = newTokenizer(selector);\n let token = tokenizer.next();\n while (token !== null) {\n let priority = 0;\n if (token.length === 2 && token.charAt(1) === \":\") {\n switch (token.charAt(0)) {\n case \"R\":\n priority = 1;\n break;\n case \"L\":\n priority = -1;\n break;\n default:\n console.log(`Unknown priority ${token} in scope selector`);\n }\n token = tokenizer.next();\n }\n let matcher = parseConjunction();\n results.push({ matcher, priority });\n if (token !== \",\") {\n break;\n }\n token = tokenizer.next();\n }\n return results;\n function parseOperand() {\n if (token === \"-\") {\n token = tokenizer.next();\n const expressionToNegate = parseOperand();\n return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n }\n if (token === \"(\") {\n token = tokenizer.next();\n const expressionInParents = parseInnerExpression();\n if (token === \")\") {\n token = tokenizer.next();\n }\n return expressionInParents;\n }\n if (isIdentifier(token)) {\n const identifiers = [];\n do {\n identifiers.push(token);\n token = tokenizer.next();\n } while (isIdentifier(token));\n return (matcherInput) => matchesName(identifiers, matcherInput);\n }\n return null;\n }\n function parseConjunction() {\n const matchers = [];\n let matcher = parseOperand();\n while (matcher) {\n matchers.push(matcher);\n matcher = parseOperand();\n }\n return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n }\n function parseInnerExpression() {\n const matchers = [];\n let matcher = parseConjunction();\n while (matcher) {\n matchers.push(matcher);\n if (token === \"|\" || token === \",\") {\n do {\n token = tokenizer.next();\n } while (token === \"|\" || token === \",\");\n } else {\n break;\n }\n matcher = parseConjunction();\n }\n return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n }\n}\nfunction isIdentifier(token) {\n return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n let match = regex.exec(input);\n return {\n next: () => {\n if (!match) {\n return null;\n }\n const res = match[0];\n match = regex.exec(input);\n return res;\n }\n };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n if (typeof str.dispose === \"function\") {\n str.dispose();\n }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n toKey() {\n return this.scopeName;\n }\n};\nvar TopLevelRepositoryRuleReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n toKey() {\n return `${this.scopeName}#${this.ruleName}`;\n }\n};\nvar ExternalReferenceCollector = class {\n _references = [];\n _seenReferenceKeys = /* @__PURE__ */ new Set();\n get references() {\n return this._references;\n }\n visitedRule = /* @__PURE__ */ new Set();\n add(reference) {\n const key = reference.toKey();\n if (this._seenReferenceKeys.has(key)) {\n return;\n }\n this._seenReferenceKeys.add(key);\n this._references.push(reference);\n }\n};\nvar ScopeDependencyProcessor = class {\n constructor(repo, initialScopeName) {\n this.repo = repo;\n this.initialScopeName = initialScopeName;\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\n seenFullScopeRequests = /* @__PURE__ */ new Set();\n seenPartialScopeRequests = /* @__PURE__ */ new Set();\n Q;\n processQueue() {\n const q = this.Q;\n this.Q = [];\n const deps = new ExternalReferenceCollector();\n for (const dep of q) {\n collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n }\n for (const dep of deps.references) {\n if (dep instanceof TopLevelRuleReference) {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n this.seenFullScopeRequests.add(dep.scopeName);\n this.Q.push(dep);\n } else {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n if (this.seenPartialScopeRequests.has(dep.toKey())) {\n continue;\n }\n this.seenPartialScopeRequests.add(dep.toKey());\n this.Q.push(dep);\n }\n }\n }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n const selfGrammar = repo.lookup(reference.scopeName);\n if (!selfGrammar) {\n if (reference.scopeName === baseGrammarScopeName) {\n throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n }\n return;\n }\n const baseGrammar = repo.lookup(baseGrammarScopeName);\n if (reference instanceof TopLevelRuleReference) {\n collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n } else {\n collectExternalReferencesInTopLevelRepositoryRule(\n reference.ruleName,\n { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n result\n );\n }\n const injections = repo.injections(reference.scopeName);\n if (injections) {\n for (const injection of injections) {\n result.add(new TopLevelRuleReference(injection));\n }\n }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n if (context.repository && context.repository[ruleName]) {\n const rule = context.repository[ruleName];\n collectExternalReferencesInRules([rule], context, result);\n }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n collectExternalReferencesInRules(\n context.selfGrammar.patterns,\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n if (context.selfGrammar.injections) {\n collectExternalReferencesInRules(\n Object.values(context.selfGrammar.injections),\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n for (const rule of rules) {\n if (result.visitedRule.has(rule)) {\n continue;\n }\n result.visitedRule.add(rule);\n const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n if (Array.isArray(rule.patterns)) {\n collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n }\n const include = rule.include;\n if (!include) {\n continue;\n }\n const reference = parseInclude(include);\n switch (reference.kind) {\n case 0 /* Base */:\n collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n break;\n case 1 /* Self */:\n collectExternalReferencesInTopLevelRule(context, result);\n break;\n case 2 /* RelativeReference */:\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n if (selfGrammar) {\n const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n } else {\n collectExternalReferencesInTopLevelRule(newContext, result);\n }\n } else {\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n } else {\n result.add(new TopLevelRuleReference(reference.scopeName));\n }\n }\n break;\n }\n }\n}\nvar BaseReference = class {\n kind = 0 /* Base */;\n};\nvar SelfReference = class {\n kind = 1 /* Self */;\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n }\n kind = 2 /* RelativeReference */;\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n kind = 3 /* TopLevelReference */;\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n kind = 4 /* TopLevelRepositoryReference */;\n};\nfunction parseInclude(include) {\n if (include === \"$base\") {\n return new BaseReference();\n } else if (include === \"$self\") {\n return new SelfReference();\n }\n const indexOfSharp = include.indexOf(\"#\");\n if (indexOfSharp === -1) {\n return new TopLevelReference(include);\n } else if (indexOfSharp === 0) {\n return new RelativeReference(include.substring(1));\n } else {\n const scopeName = include.substring(0, indexOfSharp);\n const ruleName = include.substring(indexOfSharp + 1);\n return new TopLevelRepositoryReference(scopeName, ruleName);\n }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n return id;\n}\nfunction ruleIdToNumber(id) {\n return id;\n}\nvar Rule = class {\n $location;\n id;\n _nameIsCapturing;\n _name;\n _contentNameIsCapturing;\n _contentName;\n constructor($location, id, name, contentName) {\n this.$location = $location;\n this.id = id;\n this._name = name || null;\n this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n this._contentName = contentName || null;\n this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n }\n get debugName() {\n const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n return `${this.constructor.name}#${this.id} @ ${location}`;\n }\n getName(lineText, captureIndices) {\n if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n return this._name;\n }\n return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n }\n getContentName(lineText, captureIndices) {\n if (!this._contentNameIsCapturing || this._contentName === null) {\n return this._contentName;\n }\n return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n }\n};\nvar CaptureRule = class extends Rule {\n retokenizeCapturedWithRuleId;\n constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n super($location, id, name, contentName);\n this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n }\n dispose() {\n }\n collectPatterns(grammar, out) {\n throw new Error(\"Not supported!\");\n }\n compile(grammar, endRegexSource) {\n throw new Error(\"Not supported!\");\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n throw new Error(\"Not supported!\");\n }\n};\nvar MatchRule = class extends Rule {\n _match;\n captures;\n _cachedCompiledPatterns;\n constructor($location, id, name, match, captures) {\n super($location, id, name, null);\n this._match = new RegExpSource(match, this.id);\n this.captures = captures;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugMatchRegExp() {\n return `${this._match.source}`;\n }\n collectPatterns(grammar, out) {\n out.push(this._match);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar IncludeOnlyRule = class extends Rule {\n hasMissingPatterns;\n patterns;\n _cachedCompiledPatterns;\n constructor($location, id, name, contentName, patterns) {\n super($location, id, name, contentName);\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n collectPatterns(grammar, out) {\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, out);\n }\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginEndRule = class extends Rule {\n _begin;\n beginCaptures;\n _end;\n endHasBackReferences;\n endCaptures;\n applyEndPatternLast;\n hasMissingPatterns;\n patterns;\n _cachedCompiledPatterns;\n constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n this.endHasBackReferences = this._end.hasBackReferences;\n this.endCaptures = endCaptures;\n this.applyEndPatternLast = applyEndPatternLast || false;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugEndRegExp() {\n return `${this._end.source}`;\n }\n getEndWithResolvedBackReferences(lineText, captureIndices) {\n return this._end.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n } else {\n this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n }\n }\n if (this._end.hasBackReferences) {\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n } else {\n this._cachedCompiledPatterns.setSource(0, endRegexSource);\n }\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginWhileRule = class extends Rule {\n _begin;\n beginCaptures;\n whileCaptures;\n _while;\n whileHasBackReferences;\n hasMissingPatterns;\n patterns;\n _cachedCompiledPatterns;\n _cachedCompiledWhilePatterns;\n constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this.whileCaptures = whileCaptures;\n this._while = new RegExpSource(_while, whileRuleId);\n this.whileHasBackReferences = this._while.hasBackReferences;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n this._cachedCompiledWhilePatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n if (this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns.dispose();\n this._cachedCompiledWhilePatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugWhileRegExp() {\n return `${this._while.source}`;\n }\n getWhileWithResolvedBackReferences(lineText, captureIndices) {\n return this._while.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n }\n return this._cachedCompiledPatterns;\n }\n compileWhile(grammar, endRegexSource) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n }\n compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns = new RegExpSourceList();\n this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n }\n if (this._while.hasBackReferences) {\n this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n }\n return this._cachedCompiledWhilePatterns;\n }\n};\nvar RuleFactory = class _RuleFactory {\n static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n return helper.registerRule((id) => {\n return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n });\n }\n static getCompiledRuleId(desc, helper, repository) {\n if (!desc.id) {\n helper.registerRule((id) => {\n desc.id = id;\n if (desc.match) {\n return new MatchRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.match,\n _RuleFactory._compileCaptures(desc.captures, helper, repository)\n );\n }\n if (typeof desc.begin === \"undefined\") {\n if (desc.repository) {\n repository = mergeObjects({}, repository, desc.repository);\n }\n let patterns = desc.patterns;\n if (typeof patterns === \"undefined\" && desc.include) {\n patterns = [{ include: desc.include }];\n }\n return new IncludeOnlyRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n _RuleFactory._compilePatterns(patterns, helper, repository)\n );\n }\n if (desc.while) {\n return new BeginWhileRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.while,\n _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n }\n return new BeginEndRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.end,\n _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n desc.applyEndPatternLast,\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n });\n }\n return desc.id;\n }\n static _compileCaptures(captures, helper, repository) {\n let r = [];\n if (captures) {\n let maximumCaptureId = 0;\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n if (numericCaptureId > maximumCaptureId) {\n maximumCaptureId = numericCaptureId;\n }\n }\n for (let i = 0; i <= maximumCaptureId; i++) {\n r[i] = null;\n }\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n let retokenizeCapturedWithRuleId = 0;\n if (captures[captureId].patterns) {\n retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n }\n r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n }\n }\n return r;\n }\n static _compilePatterns(patterns, helper, repository) {\n let r = [];\n if (patterns) {\n for (let i = 0, len = patterns.length; i < len; i++) {\n const pattern = patterns[i];\n let ruleId = -1;\n if (pattern.include) {\n const reference = parseInclude(pattern.include);\n switch (reference.kind) {\n case 0 /* Base */:\n case 1 /* Self */:\n ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n break;\n case 2 /* RelativeReference */:\n let localIncludedRule = repository[reference.ruleName];\n if (localIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n } else {\n }\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const externalGrammarName = reference.scopeName;\n const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n if (externalGrammar) {\n if (externalGrammarInclude) {\n let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n if (externalIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n } else {\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n }\n } else {\n }\n break;\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n }\n if (ruleId !== -1) {\n const rule = helper.getRule(ruleId);\n let skipRule = false;\n if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n skipRule = true;\n }\n }\n if (skipRule) {\n continue;\n }\n r.push(ruleId);\n }\n }\n }\n return {\n patterns: r,\n hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n };\n }\n};\nvar RegExpSource = class _RegExpSource {\n source;\n ruleId;\n hasAnchor;\n hasBackReferences;\n _anchorCache;\n constructor(regExpSource, ruleId) {\n if (regExpSource && typeof regExpSource === \"string\") {\n const len = regExpSource.length;\n let lastPushedPos = 0;\n let output = [];\n let hasAnchor = false;\n for (let pos = 0; pos < len; pos++) {\n const ch = regExpSource.charAt(pos);\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n const nextCh = regExpSource.charAt(pos + 1);\n if (nextCh === \"z\") {\n output.push(regExpSource.substring(lastPushedPos, pos));\n output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n lastPushedPos = pos + 2;\n } else if (nextCh === \"A\" || nextCh === \"G\") {\n hasAnchor = true;\n }\n pos++;\n }\n }\n }\n this.hasAnchor = hasAnchor;\n if (lastPushedPos === 0) {\n this.source = regExpSource;\n } else {\n output.push(regExpSource.substring(lastPushedPos, len));\n this.source = output.join(\"\");\n }\n } else {\n this.hasAnchor = false;\n this.source = regExpSource;\n }\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n } else {\n this._anchorCache = null;\n }\n this.ruleId = ruleId;\n if (typeof this.source === \"string\") {\n this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n } else {\n this.hasBackReferences = false;\n }\n }\n clone() {\n return new _RegExpSource(this.source, this.ruleId);\n }\n setSource(newSource) {\n if (this.source === newSource) {\n return;\n }\n this.source = newSource;\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n }\n }\n resolveBackReferences(lineText, captureIndices) {\n if (typeof this.source !== \"string\") {\n throw new Error(\"This method should only be called if the source is a string\");\n }\n let capturedValues = captureIndices.map((capture) => {\n return lineText.substring(capture.start, capture.end);\n });\n BACK_REFERENCING_END.lastIndex = 0;\n return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n });\n }\n _buildAnchorCache() {\n if (typeof this.source !== \"string\") {\n throw new Error(\"This method should only be called if the source is a string\");\n }\n let A0_G0_result = [];\n let A0_G1_result = [];\n let A1_G0_result = [];\n let A1_G1_result = [];\n let pos, len, ch, nextCh;\n for (pos = 0, len = this.source.length; pos < len; pos++) {\n ch = this.source.charAt(pos);\n A0_G0_result[pos] = ch;\n A0_G1_result[pos] = ch;\n A1_G0_result[pos] = ch;\n A1_G1_result[pos] = ch;\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n nextCh = this.source.charAt(pos + 1);\n if (nextCh === \"A\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"\\uFFFF\";\n A1_G0_result[pos + 1] = \"A\";\n A1_G1_result[pos + 1] = \"A\";\n } else if (nextCh === \"G\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"G\";\n A1_G0_result[pos + 1] = \"\\uFFFF\";\n A1_G1_result[pos + 1] = \"G\";\n } else {\n A0_G0_result[pos + 1] = nextCh;\n A0_G1_result[pos + 1] = nextCh;\n A1_G0_result[pos + 1] = nextCh;\n A1_G1_result[pos + 1] = nextCh;\n }\n pos++;\n }\n }\n }\n return {\n A0_G0: A0_G0_result.join(\"\"),\n A0_G1: A0_G1_result.join(\"\"),\n A1_G0: A1_G0_result.join(\"\"),\n A1_G1: A1_G1_result.join(\"\")\n };\n }\n resolveAnchors(allowA, allowG) {\n if (!this.hasAnchor || !this._anchorCache || typeof this.source !== \"string\") {\n return this.source;\n }\n if (allowA) {\n if (allowG) {\n return this._anchorCache.A1_G1;\n } else {\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n return this._anchorCache.A0_G1;\n } else {\n return this._anchorCache.A0_G0;\n }\n }\n }\n};\nvar RegExpSourceList = class {\n _items;\n _hasAnchors;\n _cached;\n _anchorCache;\n constructor() {\n this._items = [];\n this._hasAnchors = false;\n this._cached = null;\n this._anchorCache = {\n A0_G0: null,\n A0_G1: null,\n A1_G0: null,\n A1_G1: null\n };\n }\n dispose() {\n this._disposeCaches();\n }\n _disposeCaches() {\n if (this._cached) {\n this._cached.dispose();\n this._cached = null;\n }\n if (this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0.dispose();\n this._anchorCache.A0_G0 = null;\n }\n if (this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1.dispose();\n this._anchorCache.A0_G1 = null;\n }\n if (this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0.dispose();\n this._anchorCache.A1_G0 = null;\n }\n if (this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1.dispose();\n this._anchorCache.A1_G1 = null;\n }\n }\n push(item) {\n this._items.push(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n unshift(item) {\n this._items.unshift(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n length() {\n return this._items.length;\n }\n setSource(index, newSource) {\n if (this._items[index].source !== newSource) {\n this._disposeCaches();\n this._items[index].setSource(newSource);\n }\n }\n compile(onigLib) {\n if (!this._cached) {\n let regExps = this._items.map((e) => e.source);\n this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n return this._cached;\n }\n compileAG(onigLib, allowA, allowG) {\n if (!this._hasAnchors) {\n return this.compile(onigLib);\n } else {\n if (allowA) {\n if (allowG) {\n if (!this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G1;\n } else {\n if (!this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n if (!this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G1;\n } else {\n if (!this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G0;\n }\n }\n }\n }\n _resolveAnchors(onigLib, allowA, allowG) {\n let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n};\nvar CompiledRule = class {\n constructor(onigLib, regExps, rules) {\n this.regExps = regExps;\n this.rules = rules;\n this.scanner = onigLib.createOnigScanner(regExps);\n }\n scanner;\n dispose() {\n if (typeof this.scanner.dispose === \"function\") {\n this.scanner.dispose();\n }\n }\n toString() {\n const r = [];\n for (let i = 0, len = this.rules.length; i < len; i++) {\n r.push(\" - \" + this.rules[i] + \": \" + this.regExps[i]);\n }\n return r.join(\"\\n\");\n }\n findNextMatchSync(string, startPosition, options) {\n const result = this.scanner.findNextMatchSync(string, startPosition, options);\n if (!result) {\n return null;\n }\n return {\n ruleId: this.rules[result.index],\n captureIndices: result.captureIndices\n };\n }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n constructor(languageId, tokenType) {\n this.languageId = languageId;\n this.tokenType = tokenType;\n }\n};\nvar BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n _defaultAttributes;\n _embeddedLanguagesMatcher;\n constructor(initialLanguageId, embeddedLanguages) {\n this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n }\n getDefaultAttributes() {\n return this._defaultAttributes;\n }\n getBasicScopeAttributes(scopeName) {\n if (scopeName === null) {\n return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n }\n return this._getBasicScopeAttributes.get(scopeName);\n }\n static _NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n _getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\n /**\n * Given a produced TM scope, return the language that token describes or null if unknown.\n * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n */\n _scopeToLanguage(scope) {\n return this._embeddedLanguagesMatcher.match(scope) || 0;\n }\n _toStandardTokenType(scopeName) {\n const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n if (!m) {\n return 8 /* NotSet */;\n }\n switch (m[1]) {\n case \"comment\":\n return 1 /* Comment */;\n case \"string\":\n return 2 /* String */;\n case \"regex\":\n return 3 /* RegEx */;\n case \"meta.embedded\":\n return 0 /* Other */;\n }\n throw new Error(\"Unexpected match for standard token type!\");\n }\n static STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\n};\nvar ScopeMatcher = class {\n values;\n scopesRegExp;\n constructor(values) {\n if (values.length === 0) {\n this.values = null;\n this.scopesRegExp = null;\n } else {\n this.values = new Map(values);\n const escapedScopes = values.map(\n ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n );\n escapedScopes.sort();\n escapedScopes.reverse();\n this.scopesRegExp = new RegExp(\n `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n \"\"\n );\n }\n }\n match(scope) {\n if (!this.scopesRegExp) {\n return void 0;\n }\n const m = scope.match(this.scopesRegExp);\n if (!m) {\n return void 0;\n }\n return this.values.get(m[1]);\n }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n constructor(stack, stoppedEarly) {\n this.stack = stack;\n this.stoppedEarly = stoppedEarly;\n }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n const lineLength = lineText.content.length;\n let STOP = false;\n let anchorPosition = -1;\n if (checkWhileConditions) {\n const whileCheckResult = _checkWhileConditions(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n lineTokens\n );\n stack = whileCheckResult.stack;\n linePos = whileCheckResult.linePos;\n isFirstLine = whileCheckResult.isFirstLine;\n anchorPosition = whileCheckResult.anchorPosition;\n }\n const startTime = Date.now();\n while (!STOP) {\n if (timeLimit !== 0) {\n const elapsedTime = Date.now() - startTime;\n if (elapsedTime > timeLimit) {\n return new TokenizeStringResult(stack, true);\n }\n }\n scanNext();\n }\n return new TokenizeStringResult(stack, false);\n function scanNext() {\n if (false) {\n console.log(\"\");\n console.log(\n `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n );\n }\n const r = matchRuleOrInjections(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n anchorPosition\n );\n if (!r) {\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n const captureIndices = r.captureIndices;\n const matchedRuleId = r.matchedRuleId;\n const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n if (matchedRuleId === endRuleId) {\n const poppedRule = stack.getRule(grammar);\n if (false) {\n console.log(\n \" popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n );\n }\n lineTokens.produce(stack, captureIndices[0].start);\n stack = stack.withContentNameScopesList(stack.nameScopesList);\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n poppedRule.endCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n const popped = stack;\n stack = stack.parent;\n anchorPosition = popped.getAnchorPos();\n if (!hasAdvanced && popped.getEnterPos() === linePos) {\n if (false) {\n console.error(\n \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n );\n }\n stack = popped;\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const _rule = grammar.getRule(matchedRuleId);\n lineTokens.produce(stack, captureIndices[0].start);\n const beforePush = stack;\n const scopeName = _rule.getName(lineText.content, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(\n scopeName,\n grammar\n );\n stack = stack.push(\n matchedRuleId,\n linePos,\n anchorPosition,\n captureIndices[0].end === lineLength,\n null,\n nameScopesList,\n nameScopesList\n );\n if (_rule instanceof BeginEndRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\n \" pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.endHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getEndWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else if (_rule instanceof BeginWhileRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\" pushing \" + pushedRule.debugName);\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.whileHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getWhileWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const matchingRule = _rule;\n if (false) {\n console.log(\n \" matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n matchingRule.captures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n stack = stack.pop();\n if (!hasAdvanced) {\n if (false) {\n console.error(\n \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n );\n }\n stack = stack.safePop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n }\n }\n if (captureIndices[0].end > linePos) {\n linePos = captureIndices[0].end;\n isFirstLine = false;\n }\n }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n const whileRules = [];\n for (let node = stack; node; node = node.pop()) {\n const nodeRule = node.getRule(grammar);\n if (nodeRule instanceof BeginWhileRule) {\n whileRules.push({\n rule: nodeRule,\n stack: node\n });\n }\n }\n for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (false) {\n console.log(\" scanning for while rule\");\n console.log(ruleScanner.toString());\n }\n if (r) {\n const matchedRuleId = r.ruleId;\n if (matchedRuleId !== whileRuleId) {\n stack = whileRule.stack.pop();\n break;\n }\n if (r.captureIndices && r.captureIndices.length) {\n lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n anchorPosition = r.captureIndices[0].end;\n if (r.captureIndices[0].end > linePos) {\n linePos = r.captureIndices[0].end;\n isFirstLine = false;\n }\n }\n } else {\n if (false) {\n console.log(\" popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n }\n stack = whileRule.stack.pop();\n break;\n }\n }\n return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n const injections = grammar.getInjections();\n if (injections.length === 0) {\n return matchResult;\n }\n const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n if (!injectionResult) {\n return matchResult;\n }\n if (!matchResult) {\n return injectionResult;\n }\n const matchResultScore = matchResult.captureIndices[0].start;\n const injectionResultScore = injectionResult.captureIndices[0].start;\n if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n return injectionResult;\n }\n return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const rule = stack.getRule(grammar);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (r) {\n return {\n captureIndices: r.captureIndices,\n matchedRuleId: r.ruleId\n };\n }\n return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n let bestMatchRating = Number.MAX_VALUE;\n let bestMatchCaptureIndices = null;\n let bestMatchRuleId;\n let bestMatchResultPriority = 0;\n const scopes = stack.contentNameScopesList.getScopeNames();\n for (let i = 0, len = injections.length; i < len; i++) {\n const injection = injections[i];\n if (!injection.matcher(scopes)) {\n continue;\n }\n const rule = grammar.getRule(injection.ruleId);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (!matchResult) {\n continue;\n }\n if (false) {\n console.log(` matched injection: ${injection.debugSelector}`);\n console.log(ruleScanner.toString());\n }\n const matchRating = matchResult.captureIndices[0].start;\n if (matchRating >= bestMatchRating) {\n continue;\n }\n bestMatchRating = matchRating;\n bestMatchCaptureIndices = matchResult.captureIndices;\n bestMatchRuleId = matchResult.ruleId;\n bestMatchResultPriority = injection.priority;\n if (bestMatchRating === linePos) {\n break;\n }\n }\n if (bestMatchCaptureIndices) {\n return {\n priorityMatch: bestMatchResultPriority === -1,\n captureIndices: bestMatchCaptureIndices,\n matchedRuleId: bestMatchRuleId\n };\n }\n return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n let options = 0 /* None */;\n if (!allowA) {\n options |= 1 /* NotBeginString */;\n }\n if (!allowG) {\n options |= 4 /* NotBeginPosition */;\n }\n return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n if (captures.length === 0) {\n return;\n }\n const lineTextContent = lineText.content;\n const len = Math.min(captures.length, captureIndices.length);\n const localStack = [];\n const maxEnd = captureIndices[0].end;\n for (let i = 0; i < len; i++) {\n const captureRule = captures[i];\n if (captureRule === null) {\n continue;\n }\n const captureIndex = captureIndices[i];\n if (captureIndex.length === 0) {\n continue;\n }\n if (captureIndex.start > maxEnd) {\n break;\n }\n while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n if (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n } else {\n lineTokens.produce(stack, captureIndex.start);\n }\n if (captureRule.retokenizeCapturedWithRuleId) {\n const scopeName = captureRule.getName(lineTextContent, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n _tokenizeString(\n grammar,\n onigSubStr,\n isFirstLine && captureIndex.start === 0,\n captureIndex.start,\n stackClone,\n lineTokens,\n false,\n /* no time limit */\n 0\n );\n disposeOnigString(onigSubStr);\n continue;\n }\n const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n if (captureRuleScopeName !== null) {\n const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n }\n }\n while (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n}\nvar LocalStackElement = class {\n scopes;\n endPos;\n constructor(scopes, endPos) {\n this.scopes = scopes;\n this.endPos = endPos;\n }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n return new Grammar(\n scopeName,\n grammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n grammarRepository,\n onigLib\n );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n const matchers = createMatchers(selector, nameMatcher);\n const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n for (const matcher of matchers) {\n result.push({\n debugSelector: selector,\n matcher: matcher.matcher,\n ruleId,\n grammar,\n priority: matcher.priority\n });\n }\n}\nfunction nameMatcher(identifers, scopes) {\n if (scopes.length < identifers.length) {\n return false;\n }\n let lastIndex = 0;\n return identifers.every((identifier) => {\n for (let i = lastIndex; i < scopes.length; i++) {\n if (scopesAreMatching(scopes[i], identifier)) {\n lastIndex = i + 1;\n return true;\n }\n }\n return false;\n });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n if (!thisScopeName) {\n return false;\n }\n if (thisScopeName === scopeName) {\n return true;\n }\n const len = scopeName.length;\n return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n this._rootScopeName = _rootScopeName;\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._onigLib = _onigLib;\n this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n initialLanguage,\n embeddedLanguages\n );\n this._rootId = -1;\n this._lastRuleId = 0;\n this._ruleId2desc = [null];\n this._includedGrammars = {};\n this._grammarRepository = grammarRepository;\n this._grammar = initGrammar(grammar, null);\n this._injections = null;\n this._tokenTypeMatchers = [];\n if (tokenTypes) {\n for (const selector of Object.keys(tokenTypes)) {\n const matchers = createMatchers(selector, nameMatcher);\n for (const matcher of matchers) {\n this._tokenTypeMatchers.push({\n matcher: matcher.matcher,\n type: tokenTypes[selector]\n });\n }\n }\n }\n }\n _rootId;\n _lastRuleId;\n _ruleId2desc;\n _includedGrammars;\n _grammarRepository;\n _grammar;\n _injections;\n _basicScopeAttributesProvider;\n _tokenTypeMatchers;\n get themeProvider() {\n return this._grammarRepository;\n }\n dispose() {\n for (const rule of this._ruleId2desc) {\n if (rule) {\n rule.dispose();\n }\n }\n }\n createOnigScanner(sources) {\n return this._onigLib.createOnigScanner(sources);\n }\n createOnigString(sources) {\n return this._onigLib.createOnigString(sources);\n }\n getMetadataForScope(scope) {\n return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n }\n _collectInjections() {\n const grammarRepository = {\n lookup: (scopeName2) => {\n if (scopeName2 === this._rootScopeName) {\n return this._grammar;\n }\n return this.getExternalGrammar(scopeName2);\n },\n injections: (scopeName2) => {\n return this._grammarRepository.injections(scopeName2);\n }\n };\n const result = [];\n const scopeName = this._rootScopeName;\n const grammar = grammarRepository.lookup(scopeName);\n if (grammar) {\n const rawInjections = grammar.injections;\n if (rawInjections) {\n for (let expression in rawInjections) {\n collectInjections(\n result,\n expression,\n rawInjections[expression],\n this,\n grammar\n );\n }\n }\n const injectionScopeNames = this._grammarRepository.injections(scopeName);\n if (injectionScopeNames) {\n injectionScopeNames.forEach((injectionScopeName) => {\n const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n if (injectionGrammar) {\n const selector = injectionGrammar.injectionSelector;\n if (selector) {\n collectInjections(\n result,\n selector,\n injectionGrammar,\n this,\n injectionGrammar\n );\n }\n }\n });\n }\n }\n result.sort((i1, i2) => i1.priority - i2.priority);\n return result;\n }\n getInjections() {\n if (this._injections === null) {\n this._injections = this._collectInjections();\n }\n return this._injections;\n }\n registerRule(factory) {\n const id = ++this._lastRuleId;\n const result = factory(ruleIdFromNumber(id));\n this._ruleId2desc[id] = result;\n return result;\n }\n getRule(ruleId) {\n return this._ruleId2desc[ruleIdToNumber(ruleId)];\n }\n getExternalGrammar(scopeName, repository) {\n if (this._includedGrammars[scopeName]) {\n return this._includedGrammars[scopeName];\n } else if (this._grammarRepository) {\n const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n if (rawIncludedGrammar) {\n this._includedGrammars[scopeName] = initGrammar(\n rawIncludedGrammar,\n repository && repository.$base\n );\n return this._includedGrammars[scopeName];\n }\n }\n return void 0;\n }\n tokenizeLine(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, false, timeLimit);\n return {\n tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n tokenizeLine2(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, true, timeLimit);\n return {\n tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n if (this._rootId === -1) {\n this._rootId = RuleFactory.getCompiledRuleId(\n this._grammar.repository.$self,\n this,\n this._grammar.repository\n );\n this.getInjections();\n }\n let isFirstLine;\n if (!prevState || prevState === StateStackImpl.NULL) {\n isFirstLine = true;\n const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n const defaultStyle = this.themeProvider.getDefaults();\n const defaultMetadata = EncodedTokenMetadata.set(\n 0,\n rawDefaultMetadata.languageId,\n rawDefaultMetadata.tokenType,\n null,\n defaultStyle.fontStyle,\n defaultStyle.foregroundId,\n defaultStyle.backgroundId\n );\n const rootScopeName = this.getRule(this._rootId).getName(\n null,\n null\n );\n let scopeList;\n if (rootScopeName) {\n scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n rootScopeName,\n defaultMetadata,\n this\n );\n } else {\n scopeList = AttributedScopeStack.createRoot(\n \"unknown\",\n defaultMetadata\n );\n }\n prevState = new StateStackImpl(\n null,\n this._rootId,\n -1,\n -1,\n false,\n null,\n scopeList,\n scopeList\n );\n } else {\n isFirstLine = false;\n prevState.reset();\n }\n lineText = lineText + \"\\n\";\n const onigLineText = this.createOnigString(lineText);\n const lineLength = onigLineText.content.length;\n const lineTokens = new LineTokens(\n emitBinaryTokens,\n lineText,\n this._tokenTypeMatchers,\n this.balancedBracketSelectors\n );\n const r = _tokenizeString(\n this,\n onigLineText,\n isFirstLine,\n 0,\n prevState,\n lineTokens,\n true,\n timeLimit\n );\n disposeOnigString(onigLineText);\n return {\n lineLength,\n lineTokens,\n ruleStack: r.stack,\n stoppedEarly: r.stoppedEarly\n };\n }\n};\nfunction initGrammar(grammar, base) {\n grammar = clone(grammar);\n grammar.repository = grammar.repository || {};\n grammar.repository.$self = {\n $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n patterns: grammar.patterns,\n name: grammar.scopeName\n };\n grammar.repository.$base = base || grammar.repository.$self;\n return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n /**\n * Invariant:\n * ```\n * if (parent && !scopePath.extends(parent.scopePath)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, scopePath, tokenAttributes) {\n this.parent = parent;\n this.scopePath = scopePath;\n this.tokenAttributes = tokenAttributes;\n }\n static fromExtension(namesScopeList, contentNameScopesList) {\n let current = namesScopeList;\n let scopeNames = namesScopeList?.scopePath ?? null;\n for (const frame of contentNameScopesList) {\n scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n }\n return current;\n }\n static createRoot(scopeName, tokenAttributes) {\n return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n }\n static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n const scopePath = new ScopeStack(null, scopeName);\n const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n tokenAttributes,\n rawRootMetadata,\n rootStyle\n );\n return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n }\n get scopeName() {\n return this.scopePath.scopeName;\n }\n toString() {\n return this.getScopeNames().join(\" \");\n }\n equals(other) {\n return _AttributedScopeStack.equals(this, other);\n }\n static equals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n let fontStyle = -1 /* NotSet */;\n let foreground = 0;\n let background = 0;\n if (styleAttributes !== null) {\n fontStyle = styleAttributes.fontStyle;\n foreground = styleAttributes.foregroundId;\n background = styleAttributes.backgroundId;\n }\n return EncodedTokenMetadata.set(\n existingTokenAttributes,\n basicScopeAttributes.languageId,\n basicScopeAttributes.tokenType,\n null,\n fontStyle,\n foreground,\n background\n );\n }\n pushAttributed(scopePath, grammar) {\n if (scopePath === null) {\n return this;\n }\n if (scopePath.indexOf(\" \") === -1) {\n return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n }\n const scopes = scopePath.split(/ /g);\n let result = this;\n for (const scope of scopes) {\n result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n }\n return result;\n }\n static _pushAttributed(target, scopeName, grammar) {\n const rawMetadata = grammar.getMetadataForScope(scopeName);\n const newPath = target.scopePath.push(scopeName);\n const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n const metadata = _AttributedScopeStack.mergeAttributes(\n target.tokenAttributes,\n rawMetadata,\n scopeThemeMatchResult\n );\n return new _AttributedScopeStack(target, newPath, metadata);\n }\n getScopeNames() {\n return this.scopePath.getSegments();\n }\n getExtensionIfDefined(base) {\n const result = [];\n let self = this;\n while (self && self !== base) {\n result.push({\n encodedTokenAttributes: self.tokenAttributes,\n scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n });\n self = self.parent;\n }\n return self === base ? result.reverse() : void 0;\n }\n};\nvar StateStackImpl = class _StateStackImpl {\n /**\n * Invariant:\n * ```\n * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n * \tthrow new Error();\n * }\n * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n this.parent = parent;\n this.ruleId = ruleId;\n this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n this.endRule = endRule;\n this.nameScopesList = nameScopesList;\n this.contentNameScopesList = contentNameScopesList;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\n _stackElementBrand = void 0;\n // TODO remove me\n static NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n );\n /**\n * The position on the current line where this state was pushed.\n * This is relevant only while tokenizing a line, to detect endless loops.\n * Its value is meaningless across lines.\n */\n _enterPos;\n /**\n * The captured anchor position when this stack element was pushed.\n * This is relevant only while tokenizing a line, to restore the anchor position when popping.\n * Its value is meaningless across lines.\n */\n _anchorPos;\n /**\n * The depth of the stack.\n */\n depth;\n equals(other) {\n if (other === null) {\n return false;\n }\n return _StateStackImpl._equals(this, other);\n }\n static _equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!this._structuralEquals(a, b)) {\n return false;\n }\n return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n }\n /**\n * A structural equals check. Does not take into account `scopes`.\n */\n static _structuralEquals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n clone() {\n return this;\n }\n static _reset(el) {\n while (el) {\n el._enterPos = -1;\n el._anchorPos = -1;\n el = el.parent;\n }\n }\n reset() {\n _StateStackImpl._reset(this);\n }\n pop() {\n return this.parent;\n }\n safePop() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n return new _StateStackImpl(\n this,\n ruleId,\n enterPos,\n anchorPos,\n beginRuleCapturedEOL,\n endRule,\n nameScopesList,\n contentNameScopesList\n );\n }\n getEnterPos() {\n return this._enterPos;\n }\n getAnchorPos() {\n return this._anchorPos;\n }\n getRule(grammar) {\n return grammar.getRule(this.ruleId);\n }\n toString() {\n const r = [];\n this._writeString(r, 0);\n return \"[\" + r.join(\",\") + \"]\";\n }\n _writeString(res, outIndex) {\n if (this.parent) {\n outIndex = this.parent._writeString(res, outIndex);\n }\n res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n return outIndex;\n }\n withContentNameScopesList(contentNameScopeStack) {\n if (this.contentNameScopesList === contentNameScopeStack) {\n return this;\n }\n return this.parent.push(\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n this.endRule,\n this.nameScopesList,\n contentNameScopeStack\n );\n }\n withEndRule(endRule) {\n if (this.endRule === endRule) {\n return this;\n }\n return new _StateStackImpl(\n this.parent,\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n endRule,\n this.nameScopesList,\n this.contentNameScopesList\n );\n }\n // Used to warn of endless loops\n hasSameRuleAs(other) {\n let el = this;\n while (el && el._enterPos === other._enterPos) {\n if (el.ruleId === other.ruleId) {\n return true;\n }\n el = el.parent;\n }\n return false;\n }\n toStateStackFrame() {\n return {\n ruleId: ruleIdToNumber(this.ruleId),\n beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n endRule: this.endRule,\n nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n };\n }\n static pushFrame(self, frame) {\n const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n return new _StateStackImpl(\n self,\n ruleIdFromNumber(frame.ruleId),\n frame.enterPos ?? -1,\n frame.anchorPos ?? -1,\n frame.beginRuleCapturedEOL,\n frame.endRule,\n namesScopeList,\n AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n );\n }\n};\nvar BalancedBracketSelectors = class {\n balancedBracketScopes;\n unbalancedBracketScopes;\n allowAny = false;\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.balancedBracketScopes = balancedBracketScopes.flatMap(\n (selector) => {\n if (selector === \"*\") {\n this.allowAny = true;\n return [];\n }\n return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n }\n );\n this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n );\n }\n get matchesAlways() {\n return this.allowAny && this.unbalancedBracketScopes.length === 0;\n }\n get matchesNever() {\n return this.balancedBracketScopes.length === 0 && !this.allowAny;\n }\n match(scopes) {\n for (const excluder of this.unbalancedBracketScopes) {\n if (excluder(scopes)) {\n return false;\n }\n }\n for (const includer of this.balancedBracketScopes) {\n if (includer(scopes)) {\n return true;\n }\n }\n return this.allowAny;\n }\n};\nvar LineTokens = class {\n constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._emitBinaryTokens = emitBinaryTokens;\n this._tokenTypeOverrides = tokenTypeOverrides;\n if (false) {\n this._lineText = lineText;\n } else {\n this._lineText = null;\n }\n this._tokens = [];\n this._binaryTokens = [];\n this._lastTokenEndIndex = 0;\n }\n _emitBinaryTokens;\n /**\n * defined only if `false`.\n */\n _lineText;\n /**\n * used only if `_emitBinaryTokens` is false.\n */\n _tokens;\n /**\n * used only if `_emitBinaryTokens` is true.\n */\n _binaryTokens;\n _lastTokenEndIndex;\n _tokenTypeOverrides;\n produce(stack, endIndex) {\n this.produceFromScopes(stack.contentNameScopesList, endIndex);\n }\n produceFromScopes(scopesList, endIndex) {\n if (this._lastTokenEndIndex >= endIndex) {\n return;\n }\n if (this._emitBinaryTokens) {\n let metadata = scopesList?.tokenAttributes ?? 0;\n let containsBalancedBrackets = false;\n if (this.balancedBracketSelectors?.matchesAlways) {\n containsBalancedBrackets = true;\n }\n if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n const scopes2 = scopesList?.getScopeNames() ?? [];\n for (const tokenType of this._tokenTypeOverrides) {\n if (tokenType.matcher(scopes2)) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n toOptionalTokenType(tokenType.type),\n null,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n }\n if (this.balancedBracketSelectors) {\n containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n }\n }\n if (containsBalancedBrackets) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n 8 /* NotSet */,\n containsBalancedBrackets,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n this._lastTokenEndIndex = endIndex;\n return;\n }\n this._binaryTokens.push(this._lastTokenEndIndex);\n this._binaryTokens.push(metadata);\n this._lastTokenEndIndex = endIndex;\n return;\n }\n const scopes = scopesList?.getScopeNames() ?? [];\n this._tokens.push({\n startIndex: this._lastTokenEndIndex,\n endIndex,\n // value: lineText.substring(lastTokenEndIndex, endIndex),\n scopes\n });\n this._lastTokenEndIndex = endIndex;\n }\n getResult(stack, lineLength) {\n if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n this._tokens.pop();\n }\n if (this._tokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._tokens[this._tokens.length - 1].startIndex = 0;\n }\n return this._tokens;\n }\n getBinaryResult(stack, lineLength) {\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n this._binaryTokens.pop();\n this._binaryTokens.pop();\n }\n if (this._binaryTokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._binaryTokens[this._binaryTokens.length - 2] = 0;\n }\n const result = new Uint32Array(this._binaryTokens.length);\n for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n result[i] = this._binaryTokens[i];\n }\n return result;\n }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n constructor(theme, _onigLib) {\n this._onigLib = _onigLib;\n this._theme = theme;\n }\n _grammars = /* @__PURE__ */ new Map();\n _rawGrammars = /* @__PURE__ */ new Map();\n _injectionGrammars = /* @__PURE__ */ new Map();\n _theme;\n dispose() {\n for (const grammar of this._grammars.values()) {\n grammar.dispose();\n }\n }\n setTheme(theme) {\n this._theme = theme;\n }\n getColorMap() {\n return this._theme.getColorMap();\n }\n /**\n * Add `grammar` to registry and return a list of referenced scope names\n */\n addGrammar(grammar, injectionScopeNames) {\n this._rawGrammars.set(grammar.scopeName, grammar);\n if (injectionScopeNames) {\n this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n }\n }\n /**\n * Lookup a raw grammar.\n */\n lookup(scopeName) {\n return this._rawGrammars.get(scopeName);\n }\n /**\n * Returns the injections for the given grammar\n */\n injections(targetScope) {\n return this._injectionGrammars.get(targetScope);\n }\n /**\n * Get the default theme settings\n */\n getDefaults() {\n return this._theme.getDefaults();\n }\n /**\n * Match a scope in the theme.\n */\n themeMatch(scopePath) {\n return this._theme.match(scopePath);\n }\n /**\n * Lookup a grammar.\n */\n grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n if (!this._grammars.has(scopeName)) {\n let rawGrammar = this._rawGrammars.get(scopeName);\n if (!rawGrammar) {\n return null;\n }\n this._grammars.set(scopeName, createGrammar(\n scopeName,\n rawGrammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n this,\n this._onigLib\n ));\n }\n return this._grammars.get(scopeName);\n }\n};\n\n// src/index.ts\nvar Registry = class {\n _options;\n _syncRegistry;\n _ensureGrammarCache;\n constructor(options) {\n this._options = options;\n this._syncRegistry = new SyncRegistry(\n Theme.createFromRawTheme(options.theme, options.colorMap),\n options.onigLib\n );\n this._ensureGrammarCache = /* @__PURE__ */ new Map();\n }\n dispose() {\n this._syncRegistry.dispose();\n }\n /**\n * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n */\n setTheme(theme, colorMap) {\n this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n }\n /**\n * Returns a lookup array for color ids.\n */\n getColorMap() {\n return this._syncRegistry.getColorMap();\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n return this._loadGrammar(\n initialScopeName,\n initialLanguage,\n configuration.embeddedLanguages,\n configuration.tokenTypes,\n new BalancedBracketSelectors(\n configuration.balancedBracketSelectors || [],\n configuration.unbalancedBracketSelectors || []\n )\n );\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n */\n loadGrammar(initialScopeName) {\n return this._loadGrammar(initialScopeName, 0, null, null, null);\n }\n _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n while (dependencyProcessor.Q.length > 0) {\n dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n dependencyProcessor.processQueue();\n }\n return this._grammarForScopeName(\n initialScopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n _loadSingleGrammar(scopeName) {\n if (!this._ensureGrammarCache.has(scopeName)) {\n this._doLoadSingleGrammar(scopeName);\n this._ensureGrammarCache.set(scopeName, true);\n }\n }\n _doLoadSingleGrammar(scopeName) {\n const grammar = this._options.loadGrammar(scopeName);\n if (grammar) {\n const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n this._syncRegistry.addGrammar(grammar, injections);\n }\n }\n /**\n * Adds a rawGrammar.\n */\n addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n this._syncRegistry.addGrammar(rawGrammar, injections);\n return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n }\n /**\n * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n */\n _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n return this._syncRegistry.grammarForScopeName(\n scopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n EncodedTokenMetadata,\n FindOption,\n FontStyle,\n INITIAL,\n Registry,\n Theme,\n disposeOnigString\n};\n", + "/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n", + "/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n /**\n * @param {SchemaType['property']} property\n * Property.\n * @param {SchemaType['normal']} normal\n * Normal.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Schema.\n */\n constructor(property, normal, space) {\n this.normal = normal\n this.property = property\n\n if (space) {\n this.space = space\n }\n }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n", + "/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray<Schema>} definitions\n * Definitions.\n * @param {Space | undefined} [space]\n * Space.\n * @returns {Schema}\n * Schema.\n */\nexport function merge(definitions, space) {\n /** @type {Record<string, Info>} */\n const property = {}\n /** @type {Record<string, string>} */\n const normal = {}\n\n for (const definition of definitions) {\n Object.assign(property, definition.property)\n Object.assign(normal, definition.normal)\n }\n\n return new Schema(property, normal, space)\n}\n", + "/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n * An attribute-like or property-like name.\n * @returns {string}\n * Value that can be used to look up the properly cased property on a\n * `Schema`.\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n", + "/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n /**\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @returns\n * Info.\n */\n constructor(property, attribute) {\n this.attribute = attribute\n this.property = property\n }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n", + "let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n", + "/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray<keyof typeof types>} */ (\n Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * Property.\n * @param {string} attribute\n * Attribute.\n * @param {number | null | undefined} [mask]\n * Mask.\n * @param {Space | undefined} [space]\n * Space.\n * @returns\n * Info.\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n * Key type.\n * @param {DefinedInfo} values\n * Info.\n * @param {Key} key\n * Key.\n * @param {DefinedInfo[Key]} value\n * Value.\n * @returns {undefined}\n * Nothing.\n */\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n", + "/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n * Definition of a schema.\n * @property {Record<string, string> | undefined} [attributes]\n * Normalzed names to special attribute case.\n * @property {ReadonlyArray<string> | undefined} [mustUseProperty]\n * Normalized names that must be set as properties.\n * @property {Record<string, number | null>} properties\n * Property names to their types.\n * @property {Space | undefined} [space]\n * Space.\n * @property {Transform} transform\n * Transform a property name.\n */\n\n/**\n * @callback Transform\n * Transform.\n * @param {Record<string, string>} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n * Definition.\n * @returns {Schema}\n * Schema.\n */\nexport function create(definition) {\n /** @type {Record<string, Info>} */\n const properties = {}\n /** @type {Record<string, string>} */\n const normals = {}\n\n for (const [property, value] of Object.entries(definition.properties)) {\n const info = new DefinedInfo(\n property,\n definition.transform(definition.attributes || {}, property),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(property)\n ) {\n info.mustUseProperty = true\n }\n\n properties[property] = info\n\n normals[normalize(property)] = property\n normals[normalize(info.attribute)] = property\n }\n\n return new Schema(properties, normals, definition.space)\n}\n", + "import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n },\n transform(_, property) {\n return property === 'role'\n ? property\n : 'aria-' + property.slice(4).toLowerCase()\n }\n})\n", + "/**\n * @param {Record<string, string>} attributes\n * Attributes.\n * @param {string} attribute\n * Attribute.\n * @returns {string}\n * Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n", + "import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * Attributes.\n * @param {string} property\n * Property.\n * @returns {string}\n * Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n", + "import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n booleanish,\n boolean,\n commaSeparated,\n number,\n overloadedBoolean,\n spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: overloadedBoolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n },\n space: 'html',\n transform: caseInsensitiveTransform\n})\n", + "import {caseSensitiveTransform} from './util/case-sensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n boolean,\n commaOrSpaceSeparated,\n commaSeparated,\n number,\n spaceSeparated\n} from './util/types.js'\n\nexport const svg = create({\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n },\n space: 'svg',\n transform: caseSensitiveTransform\n})\n", + "import {create} from './util/create.js'\n\nexport const xlink = create({\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n },\n space: 'xlink',\n transform(_, property) {\n return 'xlink:' + property.slice(5).toLowerCase()\n }\n})\n", + "import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n properties: {xmlnsXLink: null, xmlns: null},\n space: 'xmlns',\n transform: caseInsensitiveTransform\n})\n", + "import {create} from './util/create.js'\n\nexport const xml = create({\n properties: {xmlBase: null, xmlLang: null, xmlSpace: null},\n space: 'xml',\n transform(_, property) {\n return 'xml:' + property.slice(3).toLowerCase()\n }\n})\n", + "/**\n * Special cases for React (`Record<string, string>`).\n *\n * `hast` is close to `React` but differs in a couple of cases.\n * To get a React property from a hast property,\n * check if it is in `hastToReact`.\n * If it is, use the corresponding value;\n * otherwise, use the hast property.\n *\n * @type {Record<string, string>}\n */\nexport const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n", + "/**\n * @import {Schema} from 'property-information'\n */\n\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\nimport {normalize} from './normalize.js'\n\nconst cap = /[A-Z]/g\nconst dash = /-[a-z]/g\nconst valid = /^data[-\\w.:]+$/i\n\n/**\n * Look up info on a property.\n *\n * In most cases the given `schema` contains info on the property.\n * All standard,\n * most legacy,\n * and some non-standard properties are supported.\n * For these cases,\n * the returned `Info` has hints about the value of the property.\n *\n * `name` can also be a valid data attribute or property,\n * in which case an `Info` object with the correctly cased `attribute` and\n * `property` is returned.\n *\n * `name` can be an unknown attribute,\n * in which case an `Info` object with `attribute` and `property` set to the\n * given name is returned.\n * It is not recommended to provide unsupported legacy or recently specced\n * properties.\n *\n *\n * @param {Schema} schema\n * Schema;\n * either the `html` or `svg` export.\n * @param {string} value\n * An attribute-like or property-like name;\n * it will be passed through `normalize` to hopefully find the correct info.\n * @returns {Info}\n * Info.\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let property = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n property = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(property, value)\n}\n\n/**\n * @param {string} $0\n * Value.\n * @returns {string}\n * Kebab.\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * Value.\n * @returns {string}\n * Camel.\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n", + "// Note: types exposed from `index.d.ts`.\nimport {merge} from './lib/util/merge.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\nimport {xlink} from './lib/xlink.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {xml} from './lib/xml.js'\n\nexport {hastToReact} from './lib/hast-to-react.js'\n\nexport const html = merge([aria, htmlBase, xlink, xmlns, xml], 'html')\n\nexport {find} from './lib/find.js'\nexport {normalize} from './lib/normalize.js'\n\nexport const svg = merge([aria, svgBase, xlink, xmlns, xml], 'svg')\n", + "/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n", + "/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n * Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n * Whether to only escape possibly dangerous characters.\n * Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n * Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n value = value.replace(\n options.subset\n ? charactersToExpressionCached(options.subset)\n : defaultSubsetRegex,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(surrogatePairsRegex, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(controlCharactersRegex, basic)\n )\n\n /**\n * @param {string} pair\n * @param {number} index\n * @param {string} all\n */\n function surrogate(pair, index, all) {\n return options.format(\n (pair.charCodeAt(0) - 0xd800) * 0x400 +\n pair.charCodeAt(1) -\n 0xdc00 +\n 0x10000,\n all.charCodeAt(index + 2),\n options\n )\n }\n\n /**\n * @param {string} character\n * @param {number} index\n * @param {string} all\n */\n function basic(character, index, all) {\n return options.format(\n character.charCodeAt(0),\n all.charCodeAt(index + 1),\n options\n )\n }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n let cached = subsetToRegexCache.get(subset)\n\n if (!cached) {\n cached = charactersToExpression(subset)\n subsetToRegexCache.set(subset, cached)\n }\n\n return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n /** @type {Array<string>} */\n const groups = []\n let index = -1\n\n while (++index < subset.length) {\n groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n", + "const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n const value = '&#x' + code.toString(16).toUpperCase()\n return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n", + "const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n const value = '&#' + String(code)\n return omit && next && !decimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n", + "/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n 'AElig',\n 'AMP',\n 'Aacute',\n 'Acirc',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Auml',\n 'COPY',\n 'Ccedil',\n 'ETH',\n 'Eacute',\n 'Ecirc',\n 'Egrave',\n 'Euml',\n 'GT',\n 'Iacute',\n 'Icirc',\n 'Igrave',\n 'Iuml',\n 'LT',\n 'Ntilde',\n 'Oacute',\n 'Ocirc',\n 'Ograve',\n 'Oslash',\n 'Otilde',\n 'Ouml',\n 'QUOT',\n 'REG',\n 'THORN',\n 'Uacute',\n 'Ucirc',\n 'Ugrave',\n 'Uuml',\n 'Yacute',\n 'aacute',\n 'acirc',\n 'acute',\n 'aelig',\n 'agrave',\n 'amp',\n 'aring',\n 'atilde',\n 'auml',\n 'brvbar',\n 'ccedil',\n 'cedil',\n 'cent',\n 'copy',\n 'curren',\n 'deg',\n 'divide',\n 'eacute',\n 'ecirc',\n 'egrave',\n 'eth',\n 'euml',\n 'frac12',\n 'frac14',\n 'frac34',\n 'gt',\n 'iacute',\n 'icirc',\n 'iexcl',\n 'igrave',\n 'iquest',\n 'iuml',\n 'laquo',\n 'lt',\n 'macr',\n 'micro',\n 'middot',\n 'nbsp',\n 'not',\n 'ntilde',\n 'oacute',\n 'ocirc',\n 'ograve',\n 'ordf',\n 'ordm',\n 'oslash',\n 'otilde',\n 'ouml',\n 'para',\n 'plusmn',\n 'pound',\n 'quot',\n 'raquo',\n 'reg',\n 'sect',\n 'shy',\n 'sup1',\n 'sup2',\n 'sup3',\n 'szlig',\n 'thorn',\n 'times',\n 'uacute',\n 'ucirc',\n 'ugrave',\n 'uml',\n 'uuml',\n 'yacute',\n 'yen',\n 'yuml'\n]\n", + "/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n nbsp: ' ',\n iexcl: '¡',\n cent: '¢',\n pound: '£',\n curren: '¤',\n yen: '¥',\n brvbar: '¦',\n sect: '§',\n uml: '¨',\n copy: '©',\n ordf: 'ª',\n laquo: '«',\n not: '¬',\n shy: '­',\n reg: '®',\n macr: '¯',\n deg: '°',\n plusmn: '±',\n sup2: '²',\n sup3: '³',\n acute: '´',\n micro: 'µ',\n para: '¶',\n middot: '·',\n cedil: '¸',\n sup1: '¹',\n ordm: 'º',\n raquo: '»',\n frac14: '¼',\n frac12: '½',\n frac34: '¾',\n iquest: '¿',\n Agrave: 'À',\n Aacute: 'Á',\n Acirc: 'Â',\n Atilde: 'Ã',\n Auml: 'Ä',\n Aring: 'Å',\n AElig: 'Æ',\n Ccedil: 'Ç',\n Egrave: 'È',\n Eacute: 'É',\n Ecirc: 'Ê',\n Euml: 'Ë',\n Igrave: 'Ì',\n Iacute: 'Í',\n Icirc: 'Î',\n Iuml: 'Ï',\n ETH: 'Ð',\n Ntilde: 'Ñ',\n Ograve: 'Ò',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Otilde: 'Õ',\n Ouml: 'Ö',\n times: '×',\n Oslash: 'Ø',\n Ugrave: 'Ù',\n Uacute: 'Ú',\n Ucirc: 'Û',\n Uuml: 'Ü',\n Yacute: 'Ý',\n THORN: 'Þ',\n szlig: 'ß',\n agrave: 'à',\n aacute: 'á',\n acirc: 'â',\n atilde: 'ã',\n auml: 'ä',\n aring: 'å',\n aelig: 'æ',\n ccedil: 'ç',\n egrave: 'è',\n eacute: 'é',\n ecirc: 'ê',\n euml: 'ë',\n igrave: 'ì',\n iacute: 'í',\n icirc: 'î',\n iuml: 'ï',\n eth: 'ð',\n ntilde: 'ñ',\n ograve: 'ò',\n oacute: 'ó',\n ocirc: 'ô',\n otilde: 'õ',\n ouml: 'ö',\n divide: '÷',\n oslash: 'ø',\n ugrave: 'ù',\n uacute: 'ú',\n ucirc: 'û',\n uuml: 'ü',\n yacute: 'ý',\n thorn: 'þ',\n yuml: 'ÿ',\n fnof: 'ƒ',\n Alpha: 'Α',\n Beta: 'Β',\n Gamma: 'Γ',\n Delta: 'Δ',\n Epsilon: 'Ε',\n Zeta: 'Ζ',\n Eta: 'Η',\n Theta: 'Θ',\n Iota: 'Ι',\n Kappa: 'Κ',\n Lambda: 'Λ',\n Mu: 'Μ',\n Nu: 'Ν',\n Xi: 'Ξ',\n Omicron: 'Ο',\n Pi: 'Π',\n Rho: 'Ρ',\n Sigma: 'Σ',\n Tau: 'Τ',\n Upsilon: 'Υ',\n Phi: 'Φ',\n Chi: 'Χ',\n Psi: 'Ψ',\n Omega: 'Ω',\n alpha: 'α',\n beta: 'β',\n gamma: 'γ',\n delta: 'δ',\n epsilon: 'ε',\n zeta: 'ζ',\n eta: 'η',\n theta: 'θ',\n iota: 'ι',\n kappa: 'κ',\n lambda: 'λ',\n mu: 'μ',\n nu: 'ν',\n xi: 'ξ',\n omicron: 'ο',\n pi: 'π',\n rho: 'ρ',\n sigmaf: 'ς',\n sigma: 'σ',\n tau: 'τ',\n upsilon: 'υ',\n phi: 'φ',\n chi: 'χ',\n psi: 'ψ',\n omega: 'ω',\n thetasym: 'ϑ',\n upsih: 'ϒ',\n piv: 'ϖ',\n bull: '•',\n hellip: '…',\n prime: '′',\n Prime: '″',\n oline: '‾',\n frasl: '⁄',\n weierp: '℘',\n image: 'ℑ',\n real: 'ℜ',\n trade: '™',\n alefsym: 'ℵ',\n larr: '←',\n uarr: '↑',\n rarr: '→',\n darr: '↓',\n harr: '↔',\n crarr: '↵',\n lArr: '⇐',\n uArr: '⇑',\n rArr: '⇒',\n dArr: '⇓',\n hArr: '⇔',\n forall: '∀',\n part: '∂',\n exist: '∃',\n empty: '∅',\n nabla: '∇',\n isin: '∈',\n notin: '∉',\n ni: '∋',\n prod: '∏',\n sum: '∑',\n minus: '−',\n lowast: '∗',\n radic: '√',\n prop: '∝',\n infin: '∞',\n ang: '∠',\n and: '∧',\n or: '∨',\n cap: '∩',\n cup: '∪',\n int: '∫',\n there4: '∴',\n sim: '∼',\n cong: '≅',\n asymp: '≈',\n ne: '≠',\n equiv: '≡',\n le: '≤',\n ge: '≥',\n sub: '⊂',\n sup: '⊃',\n nsub: '⊄',\n sube: '⊆',\n supe: '⊇',\n oplus: '⊕',\n otimes: '⊗',\n perp: '⊥',\n sdot: '⋅',\n lceil: '⌈',\n rceil: '⌉',\n lfloor: '⌊',\n rfloor: '⌋',\n lang: '〈',\n rang: '〉',\n loz: '◊',\n spades: '♠',\n clubs: '♣',\n hearts: '♥',\n diams: '♦',\n quot: '\"',\n amp: '&',\n lt: '<',\n gt: '>',\n OElig: 'Œ',\n oelig: 'œ',\n Scaron: 'Š',\n scaron: 'š',\n Yuml: 'Ÿ',\n circ: 'ˆ',\n tilde: '˜',\n ensp: ' ',\n emsp: ' ',\n thinsp: ' ',\n zwnj: '‌',\n zwj: '‍',\n lrm: '‎',\n rlm: '‏',\n ndash: '–',\n mdash: '—',\n lsquo: '‘',\n rsquo: '’',\n sbquo: '‚',\n ldquo: '“',\n rdquo: '”',\n bdquo: '„',\n dagger: '†',\n Dagger: '‡',\n permil: '‰',\n lsaquo: '‹',\n rsaquo: '›',\n euro: '€'\n}\n", + "/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n 'cent',\n 'copy',\n 'divide',\n 'gt',\n 'lt',\n 'not',\n 'para',\n 'times'\n]\n", + "import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n if (own.call(characterEntitiesHtml4, key)) {\n characters[characterEntitiesHtml4[key]] = key\n }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n const character = String.fromCharCode(code)\n\n if (own.call(characters, character)) {\n const name = characters[character]\n const value = '&' + name\n\n if (\n omit &&\n characterEntitiesLegacy.includes(name) &&\n !dangerous.includes(name) &&\n (!attribute ||\n (next &&\n next !== 61 /* `=` */ &&\n notAlphanumericRegex.test(String.fromCharCode(next))))\n ) {\n return value\n }\n\n return value + ';'\n }\n\n return ''\n}\n", + "/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&`) where possible.\n * @property {boolean} [useShortestReferences=false]\n * Prefer the shortest possible reference, if that results in less bytes.\n * **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n * Whether to omit semicolons when possible.\n * **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n * Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n * Create character references which don’t fail in attributes.\n * **Note**: `attribute` only applies when operating dangerously with\n * `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n /** @type {string|undefined} */\n let named\n\n if (options.useNamedReferences || options.useShortestReferences) {\n named = toNamed(\n code,\n next,\n options.omitOptionalSemicolons,\n options.attribute\n )\n }\n\n // Use the shortest numeric reference when requested.\n // A simple algorithm would use decimal for all code points under 100, as\n // those are shorter than hexadecimal:\n //\n // * `c` vs `c` (decimal shorter)\n // * `d` vs `d` (equal)\n //\n // However, because we take `next` into consideration when `omit` is used,\n // And it would be possible that decimals are shorter on bigger values as\n // well if `next` is hexadecimal but not decimal, we instead compare both.\n if (\n (options.useShortestReferences || !named) &&\n options.useShortestReferences\n ) {\n const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n if (decimal.length < numeric.length) {\n numeric = decimal\n }\n }\n\n return named &&\n (!options.useShortestReferences || named.length < numeric.length)\n ? named\n : numeric\n}\n", + "/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n * Value to encode.\n * @param {Options} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntities(value, options) {\n return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n * Value to encode.\n * @param {LightOptions} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n return core(value, Object.assign({format: formatBasic}, options))\n}\n", + "/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n return state.settings.bogusComments\n ? '<?' +\n stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: bogusCommentEntitySubset\n })\n ) +\n '>'\n : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n /**\n * @param {string} $0\n */\n function encode($0) {\n return stringifyEntities(\n $0,\n Object.assign({}, state.settings.characterReferences, {\n subset: commentEntitySubset\n })\n )\n }\n}\n", + "/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n * Node to handle.\n * @param {number | undefined} _2\n * Index of `node` in `parent.\n * @param {Parents | undefined} _3\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n return (\n '<!' +\n (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n (state.settings.tightDoctype ? '' : ' ') +\n 'html>'\n )\n}\n", + "/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n", + "/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n", + "/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n", + "/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n", + "/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n return sibling\n\n /**\n * Find applicable siblings in a direction.\n *\n * @template {Parents} Parent\n * Parent type.\n * @param {Parent | undefined} parent\n * Parent.\n * @param {number | undefined} index\n * Index of child in `parent`.\n * @param {boolean | undefined} [includeWhitespace=false]\n * Whether to include whitespace (default: `false`).\n * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n * Child of parent.\n */\n function sibling(parent, index, includeWhitespace) {\n const siblings = parent ? parent.children : emptyChildren\n let offset = (index || 0) + increment\n let next = siblings[offset]\n\n if (!includeWhitespace) {\n while (next && whitespace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n // @ts-expect-error: it’s a correct child.\n return next\n }\n}\n", + "/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n * Check if a tag can be omitted.\n * @param {Element} element\n * Element to check.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n * Omission handlers, where each key is a tag name, and each value is the\n * corresponding handler.\n * @returns {OmitHandle}\n * Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n return omit\n\n /**\n * Check if a given node can have a tag omitted.\n *\n * @type {OmitHandle}\n */\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n", + "/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n body,\n caption: headOrColgroupOrCaption,\n colgroup: headOrColgroupOrCaption,\n dd,\n dt,\n head: headOrColgroupOrCaption,\n html,\n li,\n optgroup,\n option,\n p,\n rp: rubyElement,\n rt: rubyElement,\n tbody,\n td: cells,\n tfoot,\n th: cells,\n thead,\n tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n const next = siblingAfter(parent, index, true)\n return (\n !next ||\n (next.type !== 'comment' &&\n !(next.type === 'text' && whitespace(next.value.charAt(0))))\n )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n const next = siblingAfter(parent, index)\n return next\n ? next.type === 'element' &&\n (next.tagName === 'address' ||\n next.tagName === 'article' ||\n next.tagName === 'aside' ||\n next.tagName === 'blockquote' ||\n next.tagName === 'details' ||\n next.tagName === 'div' ||\n next.tagName === 'dl' ||\n next.tagName === 'fieldset' ||\n next.tagName === 'figcaption' ||\n next.tagName === 'figure' ||\n next.tagName === 'footer' ||\n next.tagName === 'form' ||\n next.tagName === 'h1' ||\n next.tagName === 'h2' ||\n next.tagName === 'h3' ||\n next.tagName === 'h4' ||\n next.tagName === 'h5' ||\n next.tagName === 'h6' ||\n next.tagName === 'header' ||\n next.tagName === 'hgroup' ||\n next.tagName === 'hr' ||\n next.tagName === 'main' ||\n next.tagName === 'menu' ||\n next.tagName === 'nav' ||\n next.tagName === 'ol' ||\n next.tagName === 'p' ||\n next.tagName === 'pre' ||\n next.tagName === 'section' ||\n next.tagName === 'table' ||\n next.tagName === 'ul')\n : !parent ||\n // Confusing parent.\n !(\n parent.type === 'element' &&\n (parent.tagName === 'a' ||\n parent.tagName === 'audio' ||\n parent.tagName === 'del' ||\n parent.tagName === 'ins' ||\n parent.tagName === 'map' ||\n parent.tagName === 'noscript' ||\n parent.tagName === 'video')\n )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd')\n )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd'))\n )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'rp' || next.tagName === 'rt'))\n )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'option' || next.tagName === 'optgroup'))\n )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot')\n )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'td' || next.tagName === 'th'))\n )\n}\n", + "/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n body,\n colgroup,\n head,\n html,\n tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction html(node) {\n const head = siblingAfter(node, -1)\n return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction head(node) {\n /** @type {Set<string>} */\n const seen = new Set()\n\n // Whether `srcdoc` or not,\n // make sure the content model at least doesn’t have too many `base`s/`title`s.\n for (const child of node.children) {\n if (\n child.type === 'element' &&\n (child.tagName === 'base' || child.tagName === 'title')\n ) {\n if (seen.has(child.tagName)) return false\n seen.add(child.tagName)\n }\n }\n\n // “May be omitted if the element is empty,\n // or if the first thing inside the head element is an element.”\n const child = node.children[0]\n return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction body(node) {\n const head = siblingAfter(node, -1, true)\n\n return (\n !head ||\n (head.type !== 'comment' &&\n !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n !(\n head.type === 'element' &&\n (head.tagName === 'meta' ||\n head.tagName === 'link' ||\n head.tagName === 'script' ||\n head.tagName === 'style' ||\n head.tagName === 'template')\n ))\n )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n previous.tagName === 'colgroup' &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1)\n\n // Previous table section was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n", + "/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function element(node, index, parent, state) {\n const schema = state.schema\n const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n let selfClosing =\n schema.space === 'svg'\n ? state.settings.closeEmptyElements\n : state.settings.voids.includes(node.tagName.toLowerCase())\n /** @type {Array<string>} */\n const parts = []\n /** @type {string} */\n let last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n state.schema = svg\n }\n\n const attributes = serializeAttributes(state, node.properties)\n\n const content = state.all(\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n state.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n // Note: `menuitem` has since been removed from the HTML spec, and so is no\n // longer void.\n if (content) selfClosing = false\n\n if (attributes || !omit || !opening(node, index, parent)) {\n parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n if (\n selfClosing &&\n (schema.space === 'svg' || state.settings.closeSelfClosing)\n ) {\n last = attributes.charAt(attributes.length - 1)\n if (\n !state.settings.tightSelfClosing ||\n last === '/' ||\n (last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !closing(node, index, parent))) {\n parts.push('</' + node.tagName + '>')\n }\n\n return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n /** @type {Array<string>} */\n const values = []\n let index = -1\n /** @type {string} */\n let key\n\n if (properties) {\n for (key in properties) {\n if (properties[key] !== null && properties[key] !== undefined) {\n const value = serializeAttribute(state, key, properties[key])\n if (value) values.push(value)\n }\n }\n }\n\n while (++index < values.length) {\n const last = state.settings.tightAttributes\n ? values[index].charAt(values[index].length - 1)\n : undefined\n\n // In tight mode, don’t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n const info = find(state.schema, key)\n const x =\n state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n const y = state.settings.allowDangerousCharacters ? 0 : 1\n let quote = state.quote\n /** @type {string | undefined} */\n let result\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n (info.boolean || info.overloadedBoolean) &&\n (typeof value !== 'string' || value === info.attribute || value === '')\n ) {\n value = Boolean(value)\n }\n\n if (\n value === null ||\n value === undefined ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return ''\n }\n\n const name = stringifyEntities(\n info.attribute,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: constants.name[x][y]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // `<a>`.\n // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n // so I can’t test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // <!doctype html>\n // <svg viewBox=\"0 0 100 100\">\n // <a href=https://example.com download>\n // <circle cx=50 cy=40 r=35 />\n // </a>\n // </svg>\n // ```\n //\n // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n if (value === true) return name\n\n // `spaces` doesn’t accept a second argument, but it’s given here just to\n // keep the code cleaner.\n value = Array.isArray(value)\n ? (info.commaSeparated ? commas : spaces)(value, {\n padLeft: !state.settings.tightCommaSeparatedLists\n })\n : String(value)\n\n if (state.settings.collapseEmptyAttributes && !value) return name\n\n // Check unquoted value.\n if (state.settings.preferUnquoted) {\n result = stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n attribute: true,\n subset: constants.unquoted[x][y]\n })\n )\n }\n\n // If we don’t want unquoted, or if `value` contains character references when\n // unquoted…\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (\n state.settings.quoteSmart &&\n ccount(value, quote) > ccount(value, state.alternative)\n ) {\n quote = state.alternative\n }\n\n result =\n quote +\n stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don’t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n", + "/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n * Node to handle.\n * @param {number | undefined} _\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function text(node, _, parent, state) {\n // Check if content of `node` should be escaped.\n return parent &&\n parent.type === 'element' &&\n (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: textEntitySubset\n })\n )\n}\n", + "/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function raw(node, index, parent, state) {\n return state.settings.allowDangerousHtml\n ? node.value\n : text(node, index, parent, state)\n}\n", + "/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function root(node, _1, _2, state) {\n return state.all(node)\n}\n", + "/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n invalid,\n unknown,\n handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n * Unknown value.\n * @returns {never}\n * Never.\n */\nfunction invalid(node) {\n throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n * Unknown node.\n * @returns {never}\n * Never.\n */\nfunction unknown(node_) {\n // `type` is guaranteed by runtime JS.\n const node = /** @type {Nodes} */ (node_)\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n", + "/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n * Do not encode some characters which cause XSS vulnerabilities in older\n * browsers (default: `false`).\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n * When `false`, `Raw` nodes are encoded.\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n * Do not encode characters which cause parse errors (even though they work),\n * to save bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n * Use “bogus comments” instead of comments to save byes: `<?charlie>`\n * instead of `<!--charlie-->` (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n * Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n * Close SVG elements without any content with slash (`/`) on the opening tag\n * instead of an end tag: `<circle />` instead of `<circle></circle>`\n * (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n * Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n * `<img>` (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n * Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n * `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n * Omit optional opening and closing tags (default: `false`).\n *\n * For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n * tags can be omitted.\n * The first because it’s followed by another `li`, the last because it’s\n * followed by nothing.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n * Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n * Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n * Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it (default: `'html'`).\n *\n * > 👉 **Note**: hast is not XML.\n * > It supports SVG as embedded in HTML.\n * > It does not support the features available in XML.\n * > Passing SVG might break but fragments of modern SVG should be fine.\n * > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n * Join attributes together, without whitespace, if possible: get\n * `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n * bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n * Join known comma-separated attribute values with just a comma (`,`),\n * instead of padding them on the right as well (`,␠`, where `␠` represents a\n * space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n * Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n * `<!doctype html>` to save bytes (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n * Do not use an extra space when closing self-closing elements: `<img/>`\n * instead of `<img />` (default: `false`).\n *\n * > 👉 **Note**: only used if `closeSelfClosing: true` or\n * > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n * Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n * Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n * Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n * > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n * HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n * Serialize the children of a parent node.\n * @property {Quote} alternative\n * Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n * Serialize one node.\n * @property {Quote} quote\n * Preferred quote.\n * @property {Schema} schema\n * Current schema.\n * @property {Settings} settings\n * User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n * Tree to serialize.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized HTML.\n */\nexport function toHtml(tree, options) {\n const options_ = options || emptyOptions\n const quote = options_.quote || '\"'\n const alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n /** @type {State} */\n const state = {\n one,\n all,\n settings: {\n omitOptionalTags: options_.omitOptionalTags || false,\n allowParseErrors: options_.allowParseErrors || false,\n allowDangerousCharacters: options_.allowDangerousCharacters || false,\n quoteSmart: options_.quoteSmart || false,\n preferUnquoted: options_.preferUnquoted || false,\n tightAttributes: options_.tightAttributes || false,\n upperDoctype: options_.upperDoctype || false,\n tightDoctype: options_.tightDoctype || false,\n bogusComments: options_.bogusComments || false,\n tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n tightSelfClosing: options_.tightSelfClosing || false,\n collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n allowDangerousHtml: options_.allowDangerousHtml || false,\n voids: options_.voids || htmlVoidElements,\n characterReferences:\n options_.characterReferences || emptyCharacterReferences,\n closeSelfClosing: options_.closeSelfClosing || false,\n closeEmptyElements: options_.closeEmptyElements || false\n },\n schema: options_.space === 'svg' ? svg : html,\n quote,\n alternative\n }\n\n return state.one(\n Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n undefined,\n undefined\n )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Nodes} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {string}\n * Serialized node.\n */\nfunction one(node, index, parent) {\n return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Parents | undefined} parent\n * Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n /** @type {Array<string>} */\n const results = []\n const children = (parent && parent.children) || emptyChildren\n let index = -1\n\n while (++index < children.length) {\n results[index] = this.one(children[index], index, parent)\n }\n\n return results.join('')\n}\n", + "import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\n\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\n\nfunction addClassToHast(node, className) {\n if (!className)\n return node;\n node.properties ||= {};\n node.properties.class ||= [];\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\n\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n const langs = /* @__PURE__ */ new Set();\n for (const match of code.matchAll(/lang=[\"']([\\w-]+)[\"']/g)) {\n langs.add(match[1]);\n }\n for (const match of code.matchAll(/(?:```|~~~)([\\w-]+)/g)) {\n langs.add(match[1]);\n }\n for (const match of code.matchAll(/\\\\begin\\{([\\w-]+)\\}/g)) {\n langs.add(match[1]);\n }\n if (!highlighter)\n return Array.from(langs);\n const bundle = highlighter.getBundledLanguages();\n return Array.from(langs).filter((l) => l && bundle[l]);\n}\n\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = {};\n styles.forEach((cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n mergedStyles[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n mergedStyles[varKey] = value;\n }\n }\n });\n token.htmlStyle = mergedStyles;\n return token;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n const decorations = [];\n if (token.fontStyle & FontStyle.Underline)\n decorations.push(\"underline\");\n if (token.fontStyle & FontStyle.Strikethrough)\n decorations.push(\"line-through\");\n if (decorations.length)\n styles[\"text-decoration\"] = decorations.join(\" \");\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n if (typeof token === \"string\")\n return token;\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n /**\n * Theme to Stack mapping\n */\n _stacks = {};\n lang;\n get themes() {\n return Object.keys(this._stacks);\n }\n get theme() {\n return this.themes[0];\n }\n get _stack() {\n return this._stacks[this.theme];\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, themes) {\n return new GrammarState(\n Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n lang\n );\n }\n constructor(...args) {\n if (args.length === 2) {\n const [stacksMap, lang] = args;\n this.lang = lang;\n this._stacks = stacksMap;\n } else {\n const [stack, lang, theme] = args;\n this.lang = lang;\n this._stacks = { [theme]: stack };\n }\n }\n /**\n * Get the internal stack object.\n * @internal\n */\n getInternalStack(theme = this.theme) {\n return this._stacks[theme];\n }\n getScopes(theme = this.theme) {\n return getScopes(this._stacks[theme]);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n themes: this.themes,\n scopes: this.getScopes()\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state, theme) {\n if (!(state instanceof GrammarState))\n throw new ShikiError$1(\"Invalid grammar state\");\n return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError$1(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n const isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarStart && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 8: \"hidden\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B\", position);\n if (nextEscape !== -1) {\n if (value[nextEscape + 1] === \"[\") {\n const nextClose = value.indexOf(\"m\", nextEscape);\n if (nextClose !== -1) {\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n }\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence) {\n const colorMode = sequence.shift();\n if (colorMode === \"2\") {\n const rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n if (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x)))\n return;\n return {\n type: \"rgb\",\n rgb\n };\n } else if (colorMode === \"5\") {\n const index = sequence.shift();\n if (index) {\n return { type: \"table\", index: Number(index) };\n }\n }\n}\nfunction parseSequence(sequence) {\n const commands = [];\n while (sequence.length > 0) {\n const code = sequence.shift();\n if (!code)\n continue;\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n if (decoration === \"dim\") {\n commands.push({\n type: \"resetDecoration\",\n value: \"bold\"\n });\n }\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const color = parseColor(sequence);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const color = parseColor(sequence);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt === 53) {\n commands.push({\n type: \"setDecoration\",\n value: \"overline\"\n });\n } else if (codeInt === 55) {\n commands.push({\n type: \"resetDecoration\",\n value: \"overline\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n if (token.decorations.has(\"strikethrough\"))\n fontStyle |= FontStyle.Strikethrough;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (!options.grammarState.themes.includes(theme.name)) {\n throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n if (args.length === 2) {\n return getLastGrammarStateFromMap(args[1]);\n }\n const [internal, code, options = {}] = args;\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n const grammarState = new GrammarState(\n _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n grammar.name,\n theme.name\n );\n setLastGrammarStateToMap(result.tokens, grammarState);\n return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack, tokenizeTimeLimit);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const themedTokens = themes.map((t) => {\n const tokens2 = codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n });\n const state = getLastGrammarStateFromMap(tokens2);\n const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n return {\n tokens: tokens2,\n state,\n theme\n };\n });\n const tokens = syncThemesTokenization(\n ...themedTokens.map((i) => i.tokens)\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n themedTokens[0].state.lang\n ) : void 0;\n if (mergedGrammarState)\n setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n let grammarState;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError$1(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n grammarState = getLastGrammarStateFromMap(themeTokens);\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor)));\n if (grammarState)\n setLastGrammarStateToMap(tokens, grammarState);\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n grammarState = getLastGrammarStateFromMap(tokens);\n } else {\n throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n };\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle,\n grammarState\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true,\n mergeSameStyleTokens = false\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n if (mergeSameStyleTokens) {\n tokens = mergeAdjacentStyledTokens(tokens);\n }\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource,\n grammarState\n );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n ...tabindex !== false && tabindex != null ? {\n tabindex: tabindex.toString()\n } : {},\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {\n ...token.htmlAttrs\n },\n children: [{ type: \"text\", value: token.content }]\n };\n const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n if (grammarState)\n setLastGrammarStateToMap(result, grammarState);\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n const couldMerge = !isDecorated;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\nfunction mergeAdjacentStyledTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n for (const token of line) {\n if (newLine.length === 0) {\n newLine.push({ ...token });\n continue;\n }\n const prevToken = newLine[newLine.length - 1];\n const prevStyle = prevToken.htmlStyle || stringifyTokenStyle(getTokenStyleObject(prevToken));\n const currentStyle = token.htmlStyle || stringifyTokenStyle(getTokenStyleObject(token));\n const isPrevDecorated = prevToken.fontStyle && (prevToken.fontStyle & FontStyle.Underline || prevToken.fontStyle & FontStyle.Strikethrough);\n const isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n if (!isPrevDecorated && !isDecorated && prevStyle === currentStyle) {\n prevToken.content += token.content;\n } else {\n newLine.push({ ...token });\n }\n }\n return newLine;\n });\n}\n\nconst hastToHtml = toHtml;\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = hastToHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type ||= \"dark\";\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings ||= [];\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nlet _emitDeprecation = 3;\nlet _emitError = false;\nfunction enableDeprecationWarnings(emitDeprecation = true, emitError = false) {\n _emitDeprecation = emitDeprecation;\n _emitError = emitError;\n}\nfunction warnDeprecated(message, version = 3) {\n if (!_emitDeprecation)\n return;\n if (typeof _emitDeprecation === \"number\" && version > _emitDeprecation)\n return;\n if (_emitError) {\n throw new Error(`[SHIKI DEPRECATE]: ${message}`);\n } else {\n console.trace(`[SHIKI DEPRECATE]: ${message}`);\n }\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n _resolvedThemes = /* @__PURE__ */ new Map();\n _resolvedGrammars = /* @__PURE__ */ new Map();\n _langMap = /* @__PURE__ */ new Map();\n _langGraph = /* @__PURE__ */ new Map();\n _textmateThemeCache = /* @__PURE__ */ new WeakMap();\n _loadedThemesCache = null;\n _loadedLanguagesCache = null;\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nclass Resolver {\n _langs = /* @__PURE__ */ new Map();\n _scopeToLang = /* @__PURE__ */ new Map();\n _injections = /* @__PURE__ */ new Map();\n _onigLib;\n constructor(engine, langs) {\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options) {\n if (!options.engine) {\n warnDeprecated(\"`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.\");\n }\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine\n ]);\n return createShikiInternalSync({\n ...options,\n themes,\n langs,\n engine\n });\n}\n\nasync function createHighlighterCore(options) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n getBundledLanguages: () => ({}),\n getBundledThemes: () => ({}),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n getBundledLanguages: () => ({}),\n getBundledThemes: () => ({}),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\n\nfunction createdBundledHighlighter(options) {\n const bundledLanguages = options.langs;\n const bundledThemes = options.themes;\n const engine = options.engine;\n async function createHighlighter(options2) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options2.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options2.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: options2.engine ?? engine(),\n ...options2,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n },\n getBundledLanguages() {\n return bundledLanguages;\n },\n getBundledThemes() {\n return bundledThemes;\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n async function get(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n const langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n if (langs) {\n await shiki.loadLanguage(...langs);\n }\n return shiki;\n }\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await get(code, options);\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nfunction createCssVariablesTheme(options = {}) {\n const {\n name = \"css-variables\",\n variablePrefix = \"--shiki-\",\n fontStyle = true\n } = options;\n const variable = (name2) => {\n if (options.variableDefaults?.[name2])\n return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n return `var(${variablePrefix}${name2})`;\n };\n const theme = {\n name,\n type: \"dark\",\n colors: {\n \"editor.foreground\": variable(\"foreground\"),\n \"editor.background\": variable(\"background\"),\n \"terminal.ansiBlack\": variable(\"ansi-black\"),\n \"terminal.ansiRed\": variable(\"ansi-red\"),\n \"terminal.ansiGreen\": variable(\"ansi-green\"),\n \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n \"terminal.ansiWhite\": variable(\"ansi-white\"),\n \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n },\n tokenColors: [\n {\n scope: [\n \"keyword.operator.accessor\",\n \"meta.group.braces.round.function.arguments\",\n \"meta.template.expression\",\n \"markup.fenced_code meta.embedded.block\"\n ],\n settings: {\n foreground: variable(\"foreground\")\n }\n },\n {\n scope: \"emphasis\",\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n settings: {\n fontStyle: \"bold\"\n }\n },\n {\n scope: [\"markup.italic.markdown\"],\n settings: {\n fontStyle: \"italic\"\n }\n },\n {\n scope: \"meta.link.inline.markdown\",\n settings: {\n fontStyle: \"underline\",\n foreground: variable(\"token-link\")\n }\n },\n {\n scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n scope: [\"comment\", \"string.quoted.docstring.multi\"],\n settings: {\n foreground: variable(\"token-comment\")\n }\n },\n {\n scope: [\n \"constant.numeric\",\n \"constant.language\",\n \"constant.other.placeholder\",\n \"constant.character.format.placeholder\",\n \"variable.language.this\",\n \"variable.other.object\",\n \"variable.other.class\",\n \"variable.other.constant\",\n \"meta.property-name\",\n \"meta.property-value\",\n \"support\"\n ],\n settings: {\n foreground: variable(\"token-constant\")\n }\n },\n {\n scope: [\n \"keyword\",\n \"storage.modifier\",\n \"storage.type\",\n \"storage.control.clojure\",\n \"entity.name.function.clojure\",\n \"entity.name.tag.yaml\",\n \"support.function.node\",\n \"support.type.property-name.json\",\n \"punctuation.separator.key-value\",\n \"punctuation.definition.template-expression\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n scope: \"variable.parameter.function\",\n settings: {\n foreground: variable(\"token-parameter\")\n }\n },\n {\n scope: [\n \"support.function\",\n \"entity.name.type\",\n \"entity.other.inherited-class\",\n \"meta.function-call\",\n \"meta.instance.constructor\",\n \"entity.other.attribute-name\",\n \"entity.name.function\",\n \"constant.keyword.clojure\"\n ],\n settings: {\n foreground: variable(\"token-function\")\n }\n },\n {\n scope: [\n \"entity.name.tag\",\n \"string.quoted\",\n \"string.regexp\",\n \"string.interpolated\",\n \"string.template\",\n \"string.unquoted.plain.out.yaml\",\n \"keyword.other.template\"\n ],\n settings: {\n foreground: variable(\"token-string-expression\")\n }\n },\n {\n scope: [\n \"punctuation.definition.arguments\",\n \"punctuation.definition.dict\",\n \"punctuation.separator\",\n \"meta.function-call.arguments\"\n ],\n settings: {\n foreground: variable(\"token-punctuation\")\n }\n },\n {\n // [Custom] Markdown links\n scope: [\n \"markup.underline.link\",\n \"punctuation.definition.metadata.markdown\"\n ],\n settings: {\n foreground: variable(\"token-link\")\n }\n },\n {\n // [Custom] Markdown list\n scope: [\"beginning.punctuation.definition.list.markdown\"],\n settings: {\n foreground: variable(\"token-string\")\n }\n },\n {\n // [Custom] Markdown punctuation definition brackets\n scope: [\n \"punctuation.definition.string.begin.markdown\",\n \"punctuation.definition.string.end.markdown\",\n \"string.other.link.title.markdown\",\n \"string.other.link.description.markdown\"\n ],\n settings: {\n foreground: variable(\"token-keyword\")\n }\n },\n {\n // [Custom] Diff\n scope: [\n \"markup.inserted\",\n \"meta.diff.header.to-file\",\n \"punctuation.definition.inserted\"\n ],\n settings: {\n foreground: variable(\"token-inserted\")\n }\n },\n {\n scope: [\n \"markup.deleted\",\n \"meta.diff.header.from-file\",\n \"punctuation.definition.deleted\"\n ],\n settings: {\n foreground: variable(\"token-deleted\")\n }\n },\n {\n scope: [\n \"markup.changed\",\n \"punctuation.definition.changed\"\n ],\n settings: {\n foreground: variable(\"token-changed\")\n }\n }\n ]\n };\n if (!fontStyle) {\n theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n if (tokenColor.settings?.fontStyle)\n delete tokenColor.settings.fontStyle;\n return tokenColor;\n });\n }\n return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, enableDeprecationWarnings, flatTokenVariants, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n", + "const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('@shikijs/langs/abap')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('@shikijs/langs/actionscript-3')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('@shikijs/langs/ada')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('@shikijs/langs/angular-html')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('@shikijs/langs/angular-ts')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('@shikijs/langs/apache')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('@shikijs/langs/apex')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('@shikijs/langs/apl')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('@shikijs/langs/applescript')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('@shikijs/langs/ara')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('@shikijs/langs/asciidoc')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('@shikijs/langs/asm')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('@shikijs/langs/astro')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('@shikijs/langs/awk')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('@shikijs/langs/ballerina')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('@shikijs/langs/bat')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('@shikijs/langs/beancount')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('@shikijs/langs/berry')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('@shikijs/langs/bibtex')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('@shikijs/langs/bicep')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('@shikijs/langs/blade')\n },\n {\n \"id\": \"bsl\",\n \"name\": \"1C (Enterprise)\",\n \"aliases\": [\n \"1c\"\n ],\n \"import\": () => import('@shikijs/langs/bsl')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('@shikijs/langs/c')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('@shikijs/langs/cadence')\n },\n {\n \"id\": \"cairo\",\n \"name\": \"Cairo\",\n \"import\": () => import('@shikijs/langs/cairo')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('@shikijs/langs/clarity')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('@shikijs/langs/clojure')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('@shikijs/langs/cmake')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('@shikijs/langs/cobol')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('@shikijs/langs/codeowners')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('@shikijs/langs/codeql')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('@shikijs/langs/coffee')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('@shikijs/langs/common-lisp')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('@shikijs/langs/coq')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('@shikijs/langs/cpp')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('@shikijs/langs/crystal')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('@shikijs/langs/csharp')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('@shikijs/langs/css')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('@shikijs/langs/csv')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('@shikijs/langs/cue')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('@shikijs/langs/cypher')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('@shikijs/langs/d')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('@shikijs/langs/dart')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('@shikijs/langs/dax')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('@shikijs/langs/desktop')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('@shikijs/langs/diff')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('@shikijs/langs/docker')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('@shikijs/langs/dotenv')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('@shikijs/langs/dream-maker')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('@shikijs/langs/edge')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('@shikijs/langs/elixir')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('@shikijs/langs/elm')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('@shikijs/langs/emacs-lisp')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('@shikijs/langs/erb')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('@shikijs/langs/erlang')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('@shikijs/langs/fennel')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('@shikijs/langs/fish')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('@shikijs/langs/fluent')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('@shikijs/langs/fortran-fixed-form')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('@shikijs/langs/fortran-free-form')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('@shikijs/langs/fsharp')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('@shikijs/langs/gdresource')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('@shikijs/langs/gdscript')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('@shikijs/langs/gdshader')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('@shikijs/langs/genie')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('@shikijs/langs/gherkin')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('@shikijs/langs/git-commit')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('@shikijs/langs/git-rebase')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('@shikijs/langs/gleam')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('@shikijs/langs/glimmer-js')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('@shikijs/langs/glimmer-ts')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('@shikijs/langs/glsl')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('@shikijs/langs/gnuplot')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('@shikijs/langs/go')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('@shikijs/langs/graphql')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('@shikijs/langs/groovy')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('@shikijs/langs/hack')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('@shikijs/langs/haml')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('@shikijs/langs/handlebars')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('@shikijs/langs/haskell')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('@shikijs/langs/haxe')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('@shikijs/langs/hcl')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('@shikijs/langs/hjson')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('@shikijs/langs/hlsl')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('@shikijs/langs/html')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('@shikijs/langs/html-derivative')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('@shikijs/langs/http')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('@shikijs/langs/hxml')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('@shikijs/langs/hy')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('@shikijs/langs/imba')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('@shikijs/langs/ini')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('@shikijs/langs/java')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('@shikijs/langs/javascript')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('@shikijs/langs/jinja')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('@shikijs/langs/jison')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('@shikijs/langs/json')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('@shikijs/langs/json5')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('@shikijs/langs/jsonc')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('@shikijs/langs/jsonl')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('@shikijs/langs/jsonnet')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('@shikijs/langs/jssm')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('@shikijs/langs/jsx')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('@shikijs/langs/julia')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('@shikijs/langs/kotlin')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('@shikijs/langs/kusto')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('@shikijs/langs/latex')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('@shikijs/langs/lean')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('@shikijs/langs/less')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('@shikijs/langs/liquid')\n },\n {\n \"id\": \"llvm\",\n \"name\": \"LLVM IR\",\n \"import\": () => import('@shikijs/langs/llvm')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('@shikijs/langs/log')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('@shikijs/langs/logo')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('@shikijs/langs/lua')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('@shikijs/langs/luau')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('@shikijs/langs/make')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('@shikijs/langs/markdown')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('@shikijs/langs/marko')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('@shikijs/langs/matlab')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('@shikijs/langs/mdc')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('@shikijs/langs/mdx')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"aliases\": [\n \"mmd\"\n ],\n \"import\": () => import('@shikijs/langs/mermaid')\n },\n {\n \"id\": \"mipsasm\",\n \"name\": \"MIPS Assembly\",\n \"aliases\": [\n \"mips\"\n ],\n \"import\": () => import('@shikijs/langs/mipsasm')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('@shikijs/langs/mojo')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('@shikijs/langs/move')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('@shikijs/langs/narrat')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('@shikijs/langs/nextflow')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('@shikijs/langs/nginx')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('@shikijs/langs/nim')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('@shikijs/langs/nix')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('@shikijs/langs/nushell')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('@shikijs/langs/objective-c')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('@shikijs/langs/objective-cpp')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('@shikijs/langs/ocaml')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('@shikijs/langs/pascal')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('@shikijs/langs/perl')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('@shikijs/langs/php')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('@shikijs/langs/plsql')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('@shikijs/langs/po')\n },\n {\n \"id\": \"polar\",\n \"name\": \"Polar\",\n \"import\": () => import('@shikijs/langs/polar')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('@shikijs/langs/postcss')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('@shikijs/langs/powerquery')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('@shikijs/langs/powershell')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('@shikijs/langs/prisma')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('@shikijs/langs/prolog')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('@shikijs/langs/proto')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('@shikijs/langs/pug')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('@shikijs/langs/puppet')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('@shikijs/langs/purescript')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('@shikijs/langs/python')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('@shikijs/langs/qml')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('@shikijs/langs/qmldir')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('@shikijs/langs/qss')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('@shikijs/langs/r')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('@shikijs/langs/racket')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('@shikijs/langs/raku')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('@shikijs/langs/razor')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('@shikijs/langs/reg')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('@shikijs/langs/regexp')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('@shikijs/langs/rel')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('@shikijs/langs/riscv')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('@shikijs/langs/rst')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('@shikijs/langs/ruby')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('@shikijs/langs/rust')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('@shikijs/langs/sas')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('@shikijs/langs/sass')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('@shikijs/langs/scala')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('@shikijs/langs/scheme')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('@shikijs/langs/scss')\n },\n {\n \"id\": \"sdbl\",\n \"name\": \"1C (Query)\",\n \"aliases\": [\n \"1c-query\"\n ],\n \"import\": () => import('@shikijs/langs/sdbl')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('@shikijs/langs/shaderlab')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('@shikijs/langs/shellscript')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('@shikijs/langs/shellsession')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('@shikijs/langs/smalltalk')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('@shikijs/langs/solidity')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('@shikijs/langs/soy')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('@shikijs/langs/sparql')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('@shikijs/langs/splunk')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('@shikijs/langs/sql')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('@shikijs/langs/ssh-config')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('@shikijs/langs/stata')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('@shikijs/langs/stylus')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('@shikijs/langs/svelte')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('@shikijs/langs/swift')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('@shikijs/langs/system-verilog')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('@shikijs/langs/systemd')\n },\n {\n \"id\": \"talonscript\",\n \"name\": \"TalonScript\",\n \"aliases\": [\n \"talon\"\n ],\n \"import\": () => import('@shikijs/langs/talonscript')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('@shikijs/langs/tasl')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('@shikijs/langs/tcl')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('@shikijs/langs/templ')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('@shikijs/langs/terraform')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('@shikijs/langs/tex')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('@shikijs/langs/toml')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('@shikijs/langs/ts-tags')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('@shikijs/langs/tsv')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('@shikijs/langs/tsx')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('@shikijs/langs/turtle')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('@shikijs/langs/twig')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('@shikijs/langs/typescript')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('@shikijs/langs/typespec')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('@shikijs/langs/typst')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('@shikijs/langs/v')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('@shikijs/langs/vala')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('@shikijs/langs/vb')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('@shikijs/langs/verilog')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('@shikijs/langs/vhdl')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('@shikijs/langs/viml')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('@shikijs/langs/vue')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('@shikijs/langs/vue-html')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('@shikijs/langs/vyper')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('@shikijs/langs/wasm')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('@shikijs/langs/wenyan')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('@shikijs/langs/wgsl')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('@shikijs/langs/wikitext')\n },\n {\n \"id\": \"wit\",\n \"name\": \"WebAssembly Interface Types\",\n \"import\": () => import('@shikijs/langs/wit')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('@shikijs/langs/wolfram')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('@shikijs/langs/xml')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('@shikijs/langs/xsl')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('@shikijs/langs/yaml')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('@shikijs/langs/zenscript')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('@shikijs/langs/zig')\n }\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n", + "const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/andromeeda')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/aurora-x')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/ayu-dark')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/catppuccin-frappe')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/catppuccin-latte')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/catppuccin-macchiato')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/catppuccin-mocha')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/dark-plus')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/dracula')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/dracula-soft')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/everforest-dark')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/everforest-light')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/github-dark')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/github-dark-default')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/github-dark-dimmed')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/github-dark-high-contrast')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/github-light')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/github-light-default')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/github-light-high-contrast')\n },\n {\n \"id\": \"gruvbox-dark-hard\",\n \"displayName\": \"Gruvbox Dark Hard\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/gruvbox-dark-hard')\n },\n {\n \"id\": \"gruvbox-dark-medium\",\n \"displayName\": \"Gruvbox Dark Medium\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/gruvbox-dark-medium')\n },\n {\n \"id\": \"gruvbox-dark-soft\",\n \"displayName\": \"Gruvbox Dark Soft\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/gruvbox-dark-soft')\n },\n {\n \"id\": \"gruvbox-light-hard\",\n \"displayName\": \"Gruvbox Light Hard\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/gruvbox-light-hard')\n },\n {\n \"id\": \"gruvbox-light-medium\",\n \"displayName\": \"Gruvbox Light Medium\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/gruvbox-light-medium')\n },\n {\n \"id\": \"gruvbox-light-soft\",\n \"displayName\": \"Gruvbox Light Soft\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/gruvbox-light-soft')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/houston')\n },\n {\n \"id\": \"kanagawa-dragon\",\n \"displayName\": \"Kanagawa Dragon\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/kanagawa-dragon')\n },\n {\n \"id\": \"kanagawa-lotus\",\n \"displayName\": \"Kanagawa Lotus\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/kanagawa-lotus')\n },\n {\n \"id\": \"kanagawa-wave\",\n \"displayName\": \"Kanagawa Wave\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/kanagawa-wave')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/laserwave')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/light-plus')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/material-theme')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/material-theme-darker')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/material-theme-lighter')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/material-theme-ocean')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/material-theme-palenight')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/min-dark')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/min-light')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/monokai')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/night-owl')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/nord')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/one-dark-pro')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/one-light')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/plastic')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/poimandres')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/red')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/rose-pine')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/rose-pine-dawn')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/rose-pine-moon')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/slack-dark')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/slack-ochin')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/snazzy-light')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/solarized-dark')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/solarized-light')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/synthwave-84')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/tokyo-night')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/vesper')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/vitesse-black')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('@shikijs/themes/vitesse-dark')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('@shikijs/themes/vitesse-light')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n", + "class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n } catch {\n }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = \"\";\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode((u0 & 31) << 6 | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n } else {\n u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n } else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : \"\";\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nlet onigBinding = null;\nfunction throwLastOnigError(onigBinding2) {\n throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));\n}\nclass UtfString {\n constructor(str) {\n __publicField(this, \"utf16Length\");\n __publicField(this, \"utf8Length\");\n __publicField(this, \"utf16Value\");\n __publicField(this, \"utf8Value\");\n __publicField(this, \"utf16OffsetToUtf8\");\n __publicField(this, \"utf8OffsetToUtf16\");\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = utf8Length !== utf16Length;\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 55296 && charCode <= 56319) {\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 127) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n } else if (codePoint <= 2047) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n } else if (codePoint <= 65535) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n } else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 127) {\n utf8Value[i8++] = codePoint;\n } else if (codePoint <= 2047) {\n utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;\n utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n } else if (codePoint <= 65535) {\n utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;\n utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n } else {\n utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;\n utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;\n utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 55296 && charCode <= 56319) {\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 127)\n result += 1;\n else if (codepoint <= 2047)\n result += 2;\n else if (codepoint <= 65535)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n createString(onigBinding2) {\n const result = onigBinding2.omalloc(this.utf8Length);\n onigBinding2.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nconst _OnigString = class _OnigString {\n constructor(str) {\n __publicField(this, \"id\", ++_OnigString.LAST_ID);\n __publicField(this, \"_onigBinding\");\n __publicField(this, \"content\");\n __publicField(this, \"utf16Length\");\n __publicField(this, \"utf8Length\");\n __publicField(this, \"utf16OffsetToUtf8\");\n __publicField(this, \"utf8OffsetToUtf16\");\n __publicField(this, \"ptr\");\n if (!onigBinding)\n throw new ShikiError(\"Must invoke loadWasm first.\");\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 1e4 && !_OnigString._sharedPtrInUse) {\n if (!_OnigString._sharedPtr)\n _OnigString._sharedPtr = onigBinding.omalloc(1e4);\n _OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString._sharedPtr);\n this.ptr = _OnigString._sharedPtr;\n } else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === _OnigString._sharedPtr)\n _OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n};\n__publicField(_OnigString, \"LAST_ID\", 0);\n__publicField(_OnigString, \"_sharedPtr\", 0);\n// a pointer to a string of 10000 bytes\n__publicField(_OnigString, \"_sharedPtrInUse\", false);\nlet OnigString = _OnigString;\nclass OnigScanner {\n constructor(patterns) {\n __publicField(this, \"_onigBinding\");\n __publicField(this, \"_ptr\");\n if (!onigBinding)\n throw new ShikiError(\"Must invoke loadWasm first.\");\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n let options = 0 /* None */;\n if (typeof arg === \"number\") {\n options = arg;\n }\n if (typeof string === \"string\") {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding2 = this._onigBinding;\n const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n return null;\n }\n const HEAPU32 = onigBinding2.HEAPU32;\n let offset = resultPtr / 4;\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg\n };\n }\n return {\n index,\n captureIndices\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return typeof dataOrOptions.instantiator === \"function\";\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return typeof dataOrOptions.default === \"function\";\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return typeof dataOrOptions.data !== \"undefined\";\n}\nfunction isResponse(dataOrOptions) {\n return typeof Response !== \"undefined\" && dataOrOptions instanceof Response;\n}\nfunction isArrayBuffer(data) {\n return typeof ArrayBuffer !== \"undefined\" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== \"undefined\" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== \"undefined\" && data instanceof SharedArrayBuffer || typeof Uint32Array !== \"undefined\" && data instanceof Uint32Array;\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === \"function\")\n instance = await instance(info);\n if (typeof instance === \"function\")\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n } else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n } else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === \"function\")\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n } else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n } else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n } else if (\"default\" in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if (\"instance\" in instance)\n instance = instance.instance;\n if (\"exports\" in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return (importObject) => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return (importObject) => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns.map((p) => typeof p === \"string\" ? p : p.source));\n },\n createString(s) {\n return new OnigString(s);\n }\n };\n}\n\nexport { createOnigurumaEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n", + "import { createSingletonShorthands, createdBundledHighlighter, guessEmbeddedLanguages } from '@shikijs/core';\nexport * from '@shikijs/core';\nimport { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nimport { createOnigurumaEngine } from '@shikijs/engine-oniguruma';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createOnigurumaEngine(import('shiki/wasm'))\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter,\n { guessEmbeddedLanguages }\n);\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getLastGrammarState, getSingletonHighlighter };\n", + "import {\n\tcreateHighlighter,\n\ttype Highlighter,\n\ttype BundledTheme,\n\ttype BundledLanguage,\n\tbundledLanguages,\n\tbundledThemes,\n} from \"shiki\"\n\n// Extend BundledLanguage to include 'txt' because Shiki supports this but it is\n// not listed in the bundled languages\nexport type ExtendedLanguage = BundledLanguage | \"txt\"\n\n// Map common language aliases to their Shiki BundledLanguage equivalent\nconst languageAliases: Record<string, ExtendedLanguage> = {\n\t// Plain text variants\n\ttext: \"txt\",\n\tplaintext: \"txt\",\n\tplain: \"txt\",\n\n\t// Shell/Bash variants\n\tsh: \"shell\",\n\tbash: \"shell\",\n\tzsh: \"shell\",\n\tshellscript: \"shell\",\n\t\"shell-script\": \"shell\",\n\tconsole: \"shell\",\n\tterminal: \"shell\",\n\n\t// JavaScript variants\n\tjs: \"javascript\",\n\tnode: \"javascript\",\n\tnodejs: \"javascript\",\n\n\t// TypeScript variants\n\tts: \"typescript\",\n\n\t// Python variants\n\tpy: \"python\",\n\tpython3: \"python\",\n\tpy3: \"python\",\n\n\t// Ruby variants\n\trb: \"ruby\",\n\n\t// Markdown variants\n\tmd: \"markdown\",\n\n\t// C++ variants\n\tcpp: \"c++\",\n\tcc: \"c++\",\n\n\t// C# variants\n\tcs: \"c#\",\n\tcsharp: \"c#\",\n\n\t// HTML variants\n\thtm: \"html\",\n\n\t// YAML variants\n\tyml: \"yaml\",\n\n\t// Docker variants\n\tdockerfile: \"docker\",\n\n\t// CSS variants\n\tstyles: \"css\",\n\tstyle: \"css\",\n\n\t// JSON variants\n\tjsonc: \"json\",\n\tjson5: \"json\",\n\n\t// XML variants\n\txaml: \"xml\",\n\txhtml: \"xml\",\n\tsvg: \"xml\",\n\n\t// SQL variants\n\tmysql: \"sql\",\n\tpostgresql: \"sql\",\n\tpostgres: \"sql\",\n\tpgsql: \"sql\",\n\tplsql: \"sql\",\n\toracle: \"sql\",\n}\n\n// Track which languages we've warned about to avoid duplicate warnings\nconst warnedLanguages = new Set<string>()\n\n// Normalize language to a valid Shiki language\nexport function normalizeLanguage(language: string | undefined): ExtendedLanguage {\n\tif (language === undefined) {\n\t\treturn \"txt\"\n\t}\n\n\t// Convert to lowercase for consistent matching\n\tconst normalizedInput = language.toLowerCase()\n\n\t// If it's already a valid bundled language, return it\n\tif (normalizedInput in bundledLanguages) {\n\t\treturn normalizedInput as BundledLanguage\n\t}\n\n\t// Check if it's an alias\n\tif (normalizedInput in languageAliases) {\n\t\treturn languageAliases[normalizedInput]\n\t}\n\n\t// Warn about unrecognized language and default to txt (only once per language)\n\tif (language !== \"txt\" && !warnedLanguages.has(language)) {\n\t\tconsole.warn(`[Shiki] Unrecognized language '${language}', defaulting to txt.`)\n\t\twarnedLanguages.add(language)\n\t}\n\n\treturn \"txt\"\n}\n\n// Export function to check if a language is loaded\nexport const isLanguageLoaded = (language: string): boolean => {\n\treturn state.loadedLanguages.has(normalizeLanguage(language))\n}\n\n// Artificial delay for testing language loading (ms) - for testing\nconst LANGUAGE_LOAD_DELAY = 0\n\n// Common languages for first-stage initialization\nconst initialLanguages: BundledLanguage[] = [\"shell\", \"log\"]\n\n// Singleton state\nconst state: {\n\tinstance: Highlighter | null\n\tinstanceInitPromise: Promise<Highlighter> | null\n\tloadedLanguages: Set<ExtendedLanguage>\n\tpendingLanguageLoads: Map<ExtendedLanguage, Promise<void>>\n} = {\n\tinstance: null,\n\tinstanceInitPromise: null,\n\tloadedLanguages: new Set<ExtendedLanguage>([\"txt\"]),\n\tpendingLanguageLoads: new Map(),\n}\n\nexport const getHighlighter = async (language?: string): Promise<Highlighter> => {\n\ttry {\n\t\tconst shikilang = normalizeLanguage(language)\n\n\t\t// Initialize highlighter if needed\n\t\tif (!state.instanceInitPromise) {\n\t\t\tstate.instanceInitPromise = (async () => {\n\t\t\t\t// const startTime = performance.now()\n\t\t\t\t// console.debug(\"[Shiki] Initialization started...\")\n\n\t\t\t\tconst instance = await createHighlighter({\n\t\t\t\t\tthemes: Object.keys(bundledThemes) as BundledTheme[],\n\t\t\t\t\tlangs: initialLanguages,\n\t\t\t\t})\n\n\t\t\t\t// const elapsed = Math.round(performance.now() - startTime)\n\t\t\t\t// console.debug(`[Shiki] Initialization complete (${elapsed}ms)`)\n\n\t\t\t\tstate.instance = instance\n\n\t\t\t\t// Track initially loaded languages\n\t\t\t\tinitialLanguages.forEach((lang) => state.loadedLanguages.add(lang))\n\n\t\t\t\treturn instance\n\t\t\t})()\n\t\t}\n\n\t\t// Wait for initialization to complete\n\t\tconst instance = await state.instanceInitPromise\n\n\t\t// Load requested language if needed (txt is already in loadedLanguages)\n\t\tif (!state.loadedLanguages.has(shikilang)) {\n\t\t\t// Check for existing pending load\n\t\t\tlet loadingPromise = state.pendingLanguageLoads.get(shikilang)\n\n\t\t\tif (!loadingPromise) {\n\t\t\t\t// const loadStart = performance.now()\n\t\t\t\t// Create new loading promise\n\t\t\t\tloadingPromise = (async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Add artificial delay for testing if nonzero\n\t\t\t\t\t\tif (LANGUAGE_LOAD_DELAY > 0) {\n\t\t\t\t\t\t\tawait new Promise((resolve) => setTimeout(resolve, LANGUAGE_LOAD_DELAY))\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tawait instance.loadLanguage(shikilang as BundledLanguage)\n\t\t\t\t\t\tstate.loadedLanguages.add(shikilang)\n\n\t\t\t\t\t\t// const loadTime = Math.round(performance.now() - loadStart)\n\t\t\t\t\t\t// console.debug(`[Shiki] Loaded language ${shikilang} (${loadTime}ms)`)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(`[Shiki] Failed to load language ${shikilang}:`, error)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t// Clean up pending promise after completion\n\t\t\t\t\t\tstate.pendingLanguageLoads.delete(shikilang)\n\t\t\t\t\t}\n\t\t\t\t})()\n\n\t\t\t\t// Store the promise\n\t\t\t\tstate.pendingLanguageLoads.set(shikilang, loadingPromise)\n\t\t\t}\n\n\t\t\tawait loadingPromise\n\t\t}\n\n\t\treturn instance\n\t} catch (error) {\n\t\tconsole.error(\"[Shiki] Error in getHighlighter:\", error)\n\t\tthrow error\n\t}\n}\n", + "/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n", + "// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n", + "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map", + "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.camelCase = void 0;\nvar CUSTOM_PROPERTY_REGEX = /^--[a-zA-Z0-9_-]+$/;\nvar HYPHEN_REGEX = /-([a-z])/g;\nvar NO_HYPHEN_REGEX = /^[^-]+$/;\nvar VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/;\nvar MS_VENDOR_PREFIX_REGEX = /^-(ms)-/;\n/**\n * Checks whether to skip camelCase.\n */\nvar skipCamelCase = function (property) {\n return !property ||\n NO_HYPHEN_REGEX.test(property) ||\n CUSTOM_PROPERTY_REGEX.test(property);\n};\n/**\n * Replacer that capitalizes first character.\n */\nvar capitalize = function (match, character) {\n return character.toUpperCase();\n};\n/**\n * Replacer that removes beginning hyphen of vendor prefix property.\n */\nvar trimHyphen = function (match, prefix) { return \"\".concat(prefix, \"-\"); };\n/**\n * CamelCases a CSS property.\n */\nvar camelCase = function (property, options) {\n if (options === void 0) { options = {}; }\n if (skipCamelCase(property)) {\n return property;\n }\n property = property.toLowerCase();\n if (options.reactCompat) {\n // `-ms` vendor prefix should not be capitalized\n property = property.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen);\n }\n else {\n // for non-React, remove first hyphen so vendor prefix is not capitalized\n property = property.replace(VENDOR_PREFIX_REGEX, trimHyphen);\n }\n return property.replace(HYPHEN_REGEX, capitalize);\n};\nexports.camelCase = camelCase;\n//# sourceMappingURL=utilities.js.map", + "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar style_to_object_1 = __importDefault(require(\"style-to-object\"));\nvar utilities_1 = require(\"./utilities\");\n/**\n * Parses CSS inline style to JavaScript object (camelCased).\n */\nfunction StyleToJS(style, options) {\n var output = {};\n if (!style || typeof style !== 'string') {\n return output;\n }\n (0, style_to_object_1.default)(style, function (property, value) {\n // skip CSS comment\n if (property && value) {\n output[(0, utilities_1.camelCase)(property, options)] = value;\n }\n });\n return output;\n}\nStyleToJS.default = StyleToJS;\nmodule.exports = StyleToJS;\n//# sourceMappingURL=index.js.map", + "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Get the ending point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointEnd = point('end')\n\n/**\n * Get the starting point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointStart = point('start')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'end' | 'start'} type\n * Side.\n * @returns\n * Getter.\n */\nfunction point(type) {\n return point\n\n /**\n * Get the point info of `node` at a bound side.\n *\n * @param {Node | NodeLike | null | undefined} [node]\n * @returns {Point | undefined}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n if (\n typeof point.line === 'number' &&\n point.line > 0 &&\n typeof point.column === 'number' &&\n point.column > 0\n ) {\n return {\n line: point.line,\n column: point.column,\n offset:\n typeof point.offset === 'number' && point.offset > -1\n ? point.offset\n : undefined\n }\n }\n }\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {Node | NodeLike | null | undefined} [node]\n * Node.\n * @returns {Position | undefined}\n * Position.\n */\nexport function position(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n if (start && end) {\n return {start, end}\n }\n}\n", + "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Point | PointLike | Position | PositionLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n", + "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef Options\n * Configuration.\n * @property {Array<Node> | null | undefined} [ancestors]\n * Stack of (inclusive) ancestor nodes surrounding the message (optional).\n * @property {Error | null | undefined} [cause]\n * Original error cause of the message (optional).\n * @property {Point | Position | null | undefined} [place]\n * Place of message (optional).\n * @property {string | null | undefined} [ruleId]\n * Category of message (optional, example: `'my-rule'`).\n * @property {string | null | undefined} [source]\n * Namespace of who sent the message (optional, example: `'my-package'`).\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {Options | null | undefined} [options]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // eslint-disable-next-line complexity\n constructor(causeOrReason, optionsOrParentOrPlace, origin) {\n super()\n\n if (typeof optionsOrParentOrPlace === 'string') {\n origin = optionsOrParentOrPlace\n optionsOrParentOrPlace = undefined\n }\n\n /** @type {string} */\n let reason = ''\n /** @type {Options} */\n let options = {}\n let legacyCause = false\n\n if (optionsOrParentOrPlace) {\n // Point.\n if (\n 'line' in optionsOrParentOrPlace &&\n 'column' in optionsOrParentOrPlace\n ) {\n options = {place: optionsOrParentOrPlace}\n }\n // Position.\n else if (\n 'start' in optionsOrParentOrPlace &&\n 'end' in optionsOrParentOrPlace\n ) {\n options = {place: optionsOrParentOrPlace}\n }\n // Node.\n else if ('type' in optionsOrParentOrPlace) {\n options = {\n ancestors: [optionsOrParentOrPlace],\n place: optionsOrParentOrPlace.position\n }\n }\n // Options.\n else {\n options = {...optionsOrParentOrPlace}\n }\n }\n\n if (typeof causeOrReason === 'string') {\n reason = causeOrReason\n }\n // Error.\n else if (!options.cause && causeOrReason) {\n legacyCause = true\n reason = causeOrReason.message\n options.cause = causeOrReason\n }\n\n if (!options.ruleId && !options.source && typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n options.ruleId = origin\n } else {\n options.source = origin.slice(0, index)\n options.ruleId = origin.slice(index + 1)\n }\n }\n\n if (!options.place && options.ancestors && options.ancestors) {\n const parent = options.ancestors[options.ancestors.length - 1]\n\n if (parent) {\n options.place = parent.position\n }\n }\n\n const start =\n options.place && 'start' in options.place\n ? options.place.start\n : options.place\n\n /* eslint-disable no-unused-expressions */\n /**\n * Stack of ancestor nodes surrounding the message.\n *\n * @type {Array<Node> | undefined}\n */\n this.ancestors = options.ancestors || undefined\n\n /**\n * Original error cause of the message.\n *\n * @type {Error | undefined}\n */\n this.cause = options.cause || undefined\n\n /**\n * Starting column of message.\n *\n * @type {number | undefined}\n */\n this.column = start ? start.column : undefined\n\n /**\n * State of problem.\n *\n * * `true` — error, file not usable\n * * `false` — warning, change may be needed\n * * `undefined` — change likely not needed\n *\n * @type {boolean | null | undefined}\n */\n this.fatal = undefined\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | undefined}\n */\n this.file\n\n // Field from `Error`.\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = reason\n\n /**\n * Starting line of error.\n *\n * @type {number | undefined}\n */\n this.line = start ? start.line : undefined\n\n // Field from `Error`.\n /**\n * Serialized positional info of message.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(options.place) || '1:1'\n\n /**\n * Place of message.\n *\n * @type {Point | Position | undefined}\n */\n this.place = options.place || undefined\n\n /**\n * Reason for message, should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | undefined}\n */\n this.ruleId = options.ruleId || undefined\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | undefined}\n */\n this.source = options.source || undefined\n\n // Field from `Error`.\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack =\n legacyCause && options.cause && typeof options.cause.stack === 'string'\n ? options.cause.stack\n : ''\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | undefined}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array<string> | undefined}\n */\n this.expected\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | undefined}\n */\n this.note\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | undefined}\n */\n this.url\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.column = undefined\nVFileMessage.prototype.line = undefined\nVFileMessage.prototype.ancestors = undefined\nVFileMessage.prototype.cause = undefined\nVFileMessage.prototype.fatal = undefined\nVFileMessage.prototype.place = undefined\nVFileMessage.prototype.ruleId = undefined\nVFileMessage.prototype.source = undefined\n", + "/**\n * @import {Identifier, Literal, MemberExpression} from 'estree'\n * @import {Jsx, JsxDev, Options, Props} from 'hast-util-to-jsx-runtime'\n * @import {Element, Nodes, Parents, Root, Text} from 'hast'\n * @import {MdxFlowExpressionHast, MdxTextExpressionHast} from 'mdast-util-mdx-expression'\n * @import {MdxJsxFlowElementHast, MdxJsxTextElementHast} from 'mdast-util-mdx-jsx'\n * @import {MdxjsEsmHast} from 'mdast-util-mdxjs-esm'\n * @import {Position} from 'unist'\n * @import {Child, Create, Field, JsxElement, State, Style} from './types.js'\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {ok as assert} from 'devlop'\nimport {name as isIdentifierName} from 'estree-util-is-identifier-name'\nimport {whitespace} from 'hast-util-whitespace'\nimport {find, hastToReact, html, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport styleToJs from 'style-to-js'\nimport {pointStart} from 'unist-util-position'\nimport {VFileMessage} from 'vfile-message'\n\n// To do: next major: `Object.hasOwn`.\nconst own = {}.hasOwnProperty\n\n/** @type {Map<string, number>} */\nconst emptyMap = new Map()\n\nconst cap = /[A-Z]/g\n\n// `react-dom` triggers a warning for *any* white space in tables.\n// To follow GFM, `mdast-util-to-hast` injects line endings between elements.\n// Other tools might do so too, but they don’t do here, so we remove all of\n// that.\n\n// See: <https://github.com/facebook/react/pull/7081>.\n// See: <https://github.com/facebook/react/pull/7515>.\n// See: <https://github.com/remarkjs/remark-react/issues/64>.\n// See: <https://github.com/rehypejs/rehype-react/pull/29>.\n// See: <https://github.com/rehypejs/rehype-react/pull/32>.\n// See: <https://github.com/rehypejs/rehype-react/pull/45>.\nconst tableElements = new Set(['table', 'tbody', 'thead', 'tfoot', 'tr'])\n\nconst tableCellElement = new Set(['td', 'th'])\n\nconst docs = 'https://github.com/syntax-tree/hast-util-to-jsx-runtime'\n\n/**\n * Transform a hast tree to preact, react, solid, svelte, vue, etc.,\n * with an automatic JSX runtime.\n *\n * @param {Nodes} tree\n * Tree to transform.\n * @param {Options} options\n * Configuration (required).\n * @returns {JsxElement}\n * JSX element.\n */\n\nexport function toJsxRuntime(tree, options) {\n if (!options || options.Fragment === undefined) {\n throw new TypeError('Expected `Fragment` in options')\n }\n\n const filePath = options.filePath || undefined\n /** @type {Create} */\n let create\n\n if (options.development) {\n if (typeof options.jsxDEV !== 'function') {\n throw new TypeError(\n 'Expected `jsxDEV` in options when `development: true`'\n )\n }\n\n create = developmentCreate(filePath, options.jsxDEV)\n } else {\n if (typeof options.jsx !== 'function') {\n throw new TypeError('Expected `jsx` in production options')\n }\n\n if (typeof options.jsxs !== 'function') {\n throw new TypeError('Expected `jsxs` in production options')\n }\n\n create = productionCreate(filePath, options.jsx, options.jsxs)\n }\n\n /** @type {State} */\n const state = {\n Fragment: options.Fragment,\n ancestors: [],\n components: options.components || {},\n create,\n elementAttributeNameCase: options.elementAttributeNameCase || 'react',\n evaluater: options.createEvaluater ? options.createEvaluater() : undefined,\n filePath,\n ignoreInvalidStyle: options.ignoreInvalidStyle || false,\n passKeys: options.passKeys !== false,\n passNode: options.passNode || false,\n schema: options.space === 'svg' ? svg : html,\n stylePropertyNameCase: options.stylePropertyNameCase || 'dom',\n tableCellAlignToStyle: options.tableCellAlignToStyle !== false\n }\n\n const result = one(state, tree, undefined)\n\n // JSX element.\n if (result && typeof result !== 'string') {\n return result\n }\n\n // Text node or something that turned into nothing.\n return state.create(\n tree,\n state.Fragment,\n {children: result || undefined},\n undefined\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around.\n * @param {Nodes} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction one(state, node, key) {\n if (node.type === 'element') {\n return element(state, node, key)\n }\n\n if (node.type === 'mdxFlowExpression' || node.type === 'mdxTextExpression') {\n return mdxExpression(state, node)\n }\n\n if (node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement') {\n return mdxJsxElement(state, node, key)\n }\n\n if (node.type === 'mdxjsEsm') {\n return mdxEsm(state, node)\n }\n\n if (node.type === 'root') {\n return root(state, node, key)\n }\n\n if (node.type === 'text') {\n return text(state, node)\n }\n}\n\n/**\n * Handle element.\n *\n * @param {State} state\n * Info passed around.\n * @param {Element} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction element(state, node, key) {\n const parentSchema = state.schema\n let schema = parentSchema\n\n if (node.tagName.toLowerCase() === 'svg' && parentSchema.space === 'html') {\n schema = svg\n state.schema = schema\n }\n\n state.ancestors.push(node)\n\n const type = findComponentFromName(state, node.tagName, false)\n const props = createElementProps(state, node)\n let children = createChildren(state, node)\n\n if (tableElements.has(node.tagName)) {\n children = children.filter(function (child) {\n return typeof child === 'string' ? !whitespace(child) : true\n })\n }\n\n addNode(state, props, type, node)\n addChildren(props, children)\n\n // Restore.\n state.ancestors.pop()\n state.schema = parentSchema\n\n return state.create(node, type, props, key)\n}\n\n/**\n * Handle MDX expression.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxFlowExpressionHast | MdxTextExpressionHast} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxExpression(state, node) {\n if (node.data && node.data.estree && state.evaluater) {\n const program = node.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n\n // Assume result is a child.\n return /** @type {Child | undefined} */ (\n state.evaluater.evaluateExpression(expression.expression)\n )\n }\n\n crashEstree(state, node.position)\n}\n\n/**\n * Handle MDX ESM.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxjsEsmHast} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxEsm(state, node) {\n if (node.data && node.data.estree && state.evaluater) {\n // Assume result is a child.\n return /** @type {Child | undefined} */ (\n state.evaluater.evaluateProgram(node.data.estree)\n )\n }\n\n crashEstree(state, node.position)\n}\n\n/**\n * Handle MDX JSX.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxJsxElement(state, node, key) {\n const parentSchema = state.schema\n let schema = parentSchema\n\n if (node.name === 'svg' && parentSchema.space === 'html') {\n schema = svg\n state.schema = schema\n }\n\n state.ancestors.push(node)\n\n const type =\n node.name === null\n ? state.Fragment\n : findComponentFromName(state, node.name, true)\n const props = createJsxElementProps(state, node)\n const children = createChildren(state, node)\n\n addNode(state, props, type, node)\n addChildren(props, children)\n\n // Restore.\n state.ancestors.pop()\n state.schema = parentSchema\n\n return state.create(node, type, props, key)\n}\n\n/**\n * Handle root.\n *\n * @param {State} state\n * Info passed around.\n * @param {Root} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction root(state, node, key) {\n /** @type {Props} */\n const props = {}\n\n addChildren(props, createChildren(state, node))\n\n return state.create(node, state.Fragment, props, key)\n}\n\n/**\n * Handle text.\n *\n * @param {State} _\n * Info passed around.\n * @param {Text} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction text(_, node) {\n return node.value\n}\n\n/**\n * Add `node` to props.\n *\n * @param {State} state\n * Info passed around.\n * @param {Props} props\n * Props.\n * @param {unknown} type\n * Type.\n * @param {Element | MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Node.\n * @returns {undefined}\n * Nothing.\n */\nfunction addNode(state, props, type, node) {\n // If this is swapped out for a component:\n if (typeof type !== 'string' && type !== state.Fragment && state.passNode) {\n props.node = node\n }\n}\n\n/**\n * Add children to props.\n *\n * @param {Props} props\n * Props.\n * @param {Array<Child>} children\n * Children.\n * @returns {undefined}\n * Nothing.\n */\nfunction addChildren(props, children) {\n if (children.length > 0) {\n const value = children.length > 1 ? children : children[0]\n\n if (value) {\n props.children = value\n }\n }\n}\n\n/**\n * @param {string | undefined} _\n * Path to file.\n * @param {Jsx} jsx\n * Dynamic.\n * @param {Jsx} jsxs\n * Static.\n * @returns {Create}\n * Create a production element.\n */\nfunction productionCreate(_, jsx, jsxs) {\n return create\n /** @type {Create} */\n function create(_, type, props, key) {\n // Only an array when there are 2 or more children.\n const isStaticChildren = Array.isArray(props.children)\n const fn = isStaticChildren ? jsxs : jsx\n return key ? fn(type, props, key) : fn(type, props)\n }\n}\n\n/**\n * @param {string | undefined} filePath\n * Path to file.\n * @param {JsxDev} jsxDEV\n * Development.\n * @returns {Create}\n * Create a development element.\n */\nfunction developmentCreate(filePath, jsxDEV) {\n return create\n /** @type {Create} */\n function create(node, type, props, key) {\n // Only an array when there are 2 or more children.\n const isStaticChildren = Array.isArray(props.children)\n const point = pointStart(node)\n return jsxDEV(\n type,\n props,\n key,\n isStaticChildren,\n {\n columnNumber: point ? point.column - 1 : undefined,\n fileName: filePath,\n lineNumber: point ? point.line : undefined\n },\n undefined\n )\n }\n}\n\n/**\n * Create props from an element.\n *\n * @param {State} state\n * Info passed around.\n * @param {Element} node\n * Current element.\n * @returns {Props}\n * Props.\n */\nfunction createElementProps(state, node) {\n /** @type {Props} */\n const props = {}\n /** @type {string | undefined} */\n let alignValue\n /** @type {string} */\n let prop\n\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(state, prop, node.properties[prop])\n\n if (result) {\n const [key, value] = result\n\n if (\n state.tableCellAlignToStyle &&\n key === 'align' &&\n typeof value === 'string' &&\n tableCellElement.has(node.tagName)\n ) {\n alignValue = value\n } else {\n props[key] = value\n }\n }\n }\n }\n\n if (alignValue) {\n // Assume style is an object.\n const style = /** @type {Style} */ (props.style || (props.style = {}))\n style[state.stylePropertyNameCase === 'css' ? 'text-align' : 'textAlign'] =\n alignValue\n }\n\n return props\n}\n\n/**\n * Create props from a JSX element.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Current JSX element.\n * @returns {Props}\n * Props.\n */\nfunction createJsxElementProps(state, node) {\n /** @type {Props} */\n const props = {}\n\n for (const attribute of node.attributes) {\n if (attribute.type === 'mdxJsxExpressionAttribute') {\n if (attribute.data && attribute.data.estree && state.evaluater) {\n const program = attribute.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n const objectExpression = expression.expression\n assert(objectExpression.type === 'ObjectExpression')\n const property = objectExpression.properties[0]\n assert(property.type === 'SpreadElement')\n\n Object.assign(\n props,\n state.evaluater.evaluateExpression(property.argument)\n )\n } else {\n crashEstree(state, node.position)\n }\n } else {\n // For JSX, the author is responsible of passing in the correct values.\n const name = attribute.name\n /** @type {unknown} */\n let value\n\n if (attribute.value && typeof attribute.value === 'object') {\n if (\n attribute.value.data &&\n attribute.value.data.estree &&\n state.evaluater\n ) {\n const program = attribute.value.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n value = state.evaluater.evaluateExpression(expression.expression)\n } else {\n crashEstree(state, node.position)\n }\n } else {\n value = attribute.value === null ? true : attribute.value\n }\n\n // Assume a prop.\n props[name] = /** @type {Props[keyof Props]} */ (value)\n }\n }\n\n return props\n}\n\n/**\n * Create children.\n *\n * @param {State} state\n * Info passed around.\n * @param {Parents} node\n * Current element.\n * @returns {Array<Child>}\n * Children.\n */\nfunction createChildren(state, node) {\n /** @type {Array<Child>} */\n const children = []\n let index = -1\n /** @type {Map<string, number>} */\n // Note: test this when Solid doesn’t want to merge my upcoming PR.\n /* c8 ignore next */\n const countsByName = state.passKeys ? new Map() : emptyMap\n\n while (++index < node.children.length) {\n const child = node.children[index]\n /** @type {string | undefined} */\n let key\n\n if (state.passKeys) {\n const name =\n child.type === 'element'\n ? child.tagName\n : child.type === 'mdxJsxFlowElement' ||\n child.type === 'mdxJsxTextElement'\n ? child.name\n : undefined\n\n if (name) {\n const count = countsByName.get(name) || 0\n key = name + '-' + count\n countsByName.set(name, count + 1)\n }\n }\n\n const result = one(state, child, key)\n if (result !== undefined) children.push(result)\n }\n\n return children\n}\n\n/**\n * Handle a property.\n *\n * @param {State} state\n * Info passed around.\n * @param {string} prop\n * Key.\n * @param {Array<number | string> | boolean | number | string | null | undefined} value\n * hast property value.\n * @returns {Field | undefined}\n * Field for runtime, optional.\n */\nfunction createProperty(state, prop, value) {\n const info = find(state.schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === null ||\n value === undefined ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // React only accepts `style` as object.\n if (info.property === 'style') {\n let styleObject =\n typeof value === 'object' ? value : parseStyle(state, String(value))\n\n if (state.stylePropertyNameCase === 'css') {\n styleObject = transformStylesToCssCasing(styleObject)\n }\n\n return ['style', styleObject]\n }\n\n return [\n state.elementAttributeNameCase === 'react' && info.space\n ? hastToReact[info.property] || info.property\n : info.attribute,\n value\n ]\n}\n\n/**\n * Parse a CSS declaration to an object.\n *\n * @param {State} state\n * Info passed around.\n * @param {string} value\n * CSS declarations.\n * @returns {Style}\n * Properties.\n * @throws\n * Throws `VFileMessage` when CSS cannot be parsed.\n */\nfunction parseStyle(state, value) {\n try {\n return styleToJs(value, {reactCompat: true})\n } catch (error) {\n if (state.ignoreInvalidStyle) {\n return {}\n }\n\n const cause = /** @type {Error} */ (error)\n const message = new VFileMessage('Cannot parse `style` attribute', {\n ancestors: state.ancestors,\n cause,\n ruleId: 'style',\n source: 'hast-util-to-jsx-runtime'\n })\n message.file = state.filePath || undefined\n message.url = docs + '#cannot-parse-style-attribute'\n\n throw message\n }\n}\n\n/**\n * Create a JSX name from a string.\n *\n * @param {State} state\n * To do.\n * @param {string} name\n * Name.\n * @param {boolean} allowExpression\n * Allow member expressions and identifiers.\n * @returns {unknown}\n * To do.\n */\nfunction findComponentFromName(state, name, allowExpression) {\n /** @type {Identifier | Literal | MemberExpression} */\n let result\n\n if (!allowExpression) {\n result = {type: 'Literal', value: name}\n } else if (name.includes('.')) {\n const identifiers = name.split('.')\n let index = -1\n /** @type {Identifier | Literal | MemberExpression | undefined} */\n let node\n\n while (++index < identifiers.length) {\n /** @type {Identifier | Literal} */\n const prop = isIdentifierName(identifiers[index])\n ? {type: 'Identifier', name: identifiers[index]}\n : {type: 'Literal', value: identifiers[index]}\n node = node\n ? {\n type: 'MemberExpression',\n object: node,\n property: prop,\n computed: Boolean(index && prop.type === 'Literal'),\n optional: false\n }\n : prop\n }\n\n assert(node, 'always a result')\n result = node\n } else {\n result =\n isIdentifierName(name) && !/^[a-z]/.test(name)\n ? {type: 'Identifier', name}\n : {type: 'Literal', value: name}\n }\n\n // Only literals can be passed in `components` currently.\n // No identifiers / member expressions.\n if (result.type === 'Literal') {\n const name = /** @type {string | number} */ (result.value)\n return own.call(state.components, name) ? state.components[name] : name\n }\n\n // Assume component.\n if (state.evaluater) {\n return state.evaluater.evaluateExpression(result)\n }\n\n crashEstree(state)\n}\n\n/**\n * @param {State} state\n * @param {Position | undefined} [place]\n * @returns {never}\n */\nfunction crashEstree(state, place) {\n const message = new VFileMessage(\n 'Cannot handle MDX estrees without `createEvaluater`',\n {\n ancestors: state.ancestors,\n place,\n ruleId: 'mdx-estree',\n source: 'hast-util-to-jsx-runtime'\n }\n )\n message.file = state.filePath || undefined\n message.url = docs + '#cannot-handle-mdx-estrees-without-createevaluater'\n\n throw message\n}\n\n/**\n * Transform a DOM casing style object to a CSS casing style object.\n *\n * @param {Style} domCasing\n * @returns {Style}\n */\nfunction transformStylesToCssCasing(domCasing) {\n /** @type {Style} */\n const cssCasing = {}\n /** @type {string} */\n let from\n\n for (from in domCasing) {\n if (own.call(domCasing, from)) {\n cssCasing[transformStyleToCssCasing(from)] = domCasing[from]\n }\n }\n\n return cssCasing\n}\n\n/**\n * Transform a DOM casing style field to a CSS casing style field.\n *\n * @param {string} from\n * @returns {string}\n */\nfunction transformStyleToCssCasing(from) {\n let to = from.replace(cap, toDash)\n // Handle `ms-xxx` -> `-ms-xxx`.\n if (to.slice(0, 3) === 'ms-') to = '-' + to\n return to\n}\n\n/**\n * Make `$0` dash cased.\n *\n * @param {string} $0\n * Capitalized ASCII leter.\n * @returns {string}\n * Dash and lower letter.\n */\nfunction toDash($0) {\n return '-' + $0.toLowerCase()\n}\n", + "import { memo, useEffect, useRef, useCallback, useState } from \"react\"\nimport styled from \"styled-components\"\nimport { useCopyToClipboard } from \"@src/utils/clipboard\"\nimport { getHighlighter, isLanguageLoaded, normalizeLanguage, ExtendedLanguage } from \"@src/utils/highlighter\"\nimport { bundledLanguages } from \"shiki\"\nimport type { ShikiTransformer } from \"shiki\"\nimport { toJsxRuntime } from \"hast-util-to-jsx-runtime\"\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\"\nimport { ChevronDown, ChevronUp, WrapText, AlignJustify, Copy, Check } from \"lucide-react\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { StandardTooltip } from \"@/components/ui\"\n\nexport const CODE_BLOCK_BG_COLOR = \"var(--vscode-editor-background, --vscode-sideBar-background, rgb(30 30 30))\"\nexport const WRAPPER_ALPHA = \"cc\" // 80% opacity\n\n// Configuration constants\nexport const WINDOW_SHADE_SETTINGS = {\n\ttransitionDelayS: 0.2,\n\tcollapsedHeight: 500, // Default collapsed height in pixels\n}\n\n// Tolerance in pixels for determining when a container is considered \"at the bottom\"\nexport const SCROLL_SNAP_TOLERANCE = 20\n\n/*\noverflowX: auto + inner div with padding results in an issue where the top/left/bottom padding renders but the right padding inside does not count as overflow as the width of the element is not exceeded. Once the inner div is outside the boundaries of the parent it counts as overflow.\nhttps://stackoverflow.com/questions/60778406/why-is-padding-right-clipped-with-overflowscroll/77292459#77292459\nthis fixes the issue of right padding clipped off \n“ideal” size in a given axis when given infinite available space--allows the syntax highlighter to grow to largest possible width including its padding\nminWidth: \"max-content\",\n*/\n\ninterface CodeBlockProps {\n\tsource?: string\n\trawSource?: string // Add rawSource prop for copying raw text\n\tlanguage: string\n\tpreStyle?: React.CSSProperties\n\tinitialWordWrap?: boolean\n\tcollapsedHeight?: number\n\tinitialWindowShade?: boolean\n\tonLanguageChange?: (language: string) => void\n}\n\nconst CodeBlockButton = styled.button`\n\tbackground: transparent;\n\tborder: none;\n\tcolor: var(--vscode-foreground);\n\tcursor: var(--copy-button-cursor, default);\n\tpadding: 4px;\n\tmargin: 0 0px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\topacity: 0.4;\n\tborder-radius: 3px;\n\tpointer-events: var(--copy-button-events, none);\n\tmargin-left: 4px;\n\theight: 24px;\n\twidth: 24px;\n\n\t&:hover {\n\t\tbackground: var(--vscode-toolbar-hoverBackground);\n\t\topacity: 1;\n\t}\n\n\t/* Style for Lucide icons to ensure consistent sizing and positioning */\n\tsvg {\n\t\tdisplay: block;\n\t}\n`\n\nconst CodeBlockButtonWrapper = styled.div`\n\tposition: fixed;\n\ttop: var(--copy-button-top);\n\tright: var(--copy-button-right, 8px);\n\theight: auto;\n\tz-index: 100;\n\tbackground: ${CODE_BLOCK_BG_COLOR}${WRAPPER_ALPHA};\n\toverflow: visible;\n\tpointer-events: none;\n\topacity: var(--copy-button-opacity, 0);\n\tpadding: 4px 6px;\n\tborder-radius: 3px;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t&:hover {\n\t\tbackground: var(--vscode-editor-background);\n\t\topacity: 1 !important;\n\t}\n\n\t${CodeBlockButton} {\n\t\tposition: relative;\n\t\ttop: 0;\n\t\tright: 0;\n\t}\n`\n\nconst CodeBlockContainer = styled.div`\n\tposition: relative;\n\toverflow: hidden;\n\tbackground-color: ${CODE_BLOCK_BG_COLOR};\n\n\t${CodeBlockButtonWrapper} {\n\t\topacity: 0;\n\t\tpointer-events: none;\n\t\ttransition: opacity 0.2s; /* Keep opacity transition for buttons */\n\t}\n\n\t&[data-partially-visible=\"true\"]:hover ${CodeBlockButtonWrapper} {\n\t\topacity: 1;\n\t\tpointer-events: all;\n\t\tcursor: pointer;\n\t}\n`\n\nexport const StyledPre = styled.div<{\n\tpreStyle?: React.CSSProperties\n\twordwrap?: \"true\" | \"false\" | undefined\n\twindowshade?: \"true\" | \"false\"\n\tcollapsedHeight?: number\n}>`\n\tbackground-color: ${CODE_BLOCK_BG_COLOR};\n\tmax-height: ${({ windowshade, collapsedHeight }) =>\n\t\twindowshade === \"true\" ? `${collapsedHeight || WINDOW_SHADE_SETTINGS.collapsedHeight}px` : \"none\"};\n\toverflow-y: auto;\n\tpadding: 10px;\n\tborder-radius: 5px;\n\t${({ preStyle }) => preStyle && { ...preStyle }}\n\n\tpre {\n\t\tbackground-color: ${CODE_BLOCK_BG_COLOR};\n\t\tborder-radius: 5px;\n\t\tmargin: 0;\n\t\tpadding: 10px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t}\n\n\tpre,\n\tcode {\n\t\t/* Undefined wordwrap defaults to true (pre-wrap) behavior. */\n\t\twhite-space: ${({ wordwrap }) => (wordwrap === \"false\" ? \"pre\" : \"pre-wrap\")};\n\t\tword-break: ${({ wordwrap }) => (wordwrap === \"false\" ? \"normal\" : \"normal\")};\n\t\toverflow-wrap: ${({ wordwrap }) => (wordwrap === \"false\" ? \"normal\" : \"break-word\")};\n\t\tfont-size: var(--vscode-editor-font-size, var(--vscode-font-size, 12px));\n\t\tfont-family: var(--vscode-editor-font-family);\n\t}\n\n\tpre > code {\n\t\t.hljs-deletion {\n\t\t\tbackground-color: var(--vscode-diffEditor-removedTextBackground);\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 100%;\n\t\t}\n\t\t.hljs-addition {\n\t\t\tbackground-color: var(--vscode-diffEditor-insertedTextBackground);\n\t\t\tdisplay: inline-block;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t.hljs {\n\t\tcolor: var(--vscode-editor-foreground, #fff);\n\t\tbackground-color: ${CODE_BLOCK_BG_COLOR};\n\t}\n`\n\nconst LanguageSelect = styled.select`\n\tfont-size: 12px;\n\tcolor: var(--vscode-foreground);\n\topacity: 0.4;\n\tfont-family: monospace;\n\tappearance: none;\n\tbackground: transparent;\n\tborder: none;\n\tcursor: pointer;\n\tpadding: 4px;\n\tmargin: 0;\n\tvertical-align: middle;\n\theight: 24px;\n\n\t& option {\n\t\tbackground: var(--vscode-editor-background);\n\t\tcolor: var(--vscode-foreground);\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t&::-webkit-scrollbar {\n\t\twidth: 6px;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground: var(--vscode-scrollbarSlider-background);\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground: var(--vscode-editor-background);\n\t}\n\n\t&:hover {\n\t\topacity: 1;\n\t\tbackground: var(--vscode-toolbar-hoverBackground);\n\t\tborder-radius: 3px;\n\t}\n\n\t&:focus {\n\t\topacity: 1;\n\t\toutline: none;\n\t\tborder-radius: 3px;\n\t}\n`\n\nconst CodeBlock = memo(\n\t({\n\t\tsource,\n\t\trawSource,\n\t\tlanguage,\n\t\tpreStyle,\n\t\tinitialWordWrap = true,\n\t\tinitialWindowShade = true,\n\t\tcollapsedHeight,\n\t\tonLanguageChange,\n\t}: CodeBlockProps) => {\n\t\tconst [wordWrap, setWordWrap] = useState(initialWordWrap)\n\t\tconst [windowShade, setWindowShade] = useState(initialWindowShade)\n\t\tconst [currentLanguage, setCurrentLanguage] = useState<ExtendedLanguage>(() => normalizeLanguage(language))\n\t\tconst userChangedLanguageRef = useRef(false)\n\t\tconst [highlightedCode, setHighlightedCode] = useState<React.ReactNode>(null)\n\t\tconst [showCollapseButton, setShowCollapseButton] = useState(true)\n\t\tconst codeBlockRef = useRef<HTMLDivElement>(null)\n\t\tconst preRef = useRef<HTMLDivElement>(null)\n\t\tconst copyButtonWrapperRef = useRef<HTMLDivElement>(null)\n\t\tconst { showCopyFeedback, copyWithFeedback } = useCopyToClipboard()\n\t\tconst { t } = useAppTranslation()\n\t\tconst isMountedRef = useRef(true)\n\t\tconst buttonPositionTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\t\tconst collapseTimeout1Ref = useRef<NodeJS.Timeout | null>(null)\n\t\tconst collapseTimeout2Ref = useRef<NodeJS.Timeout | null>(null)\n\n\t\t// Update current language when prop changes, but only if user hasn't\n\t\t// made a selection.\n\t\tuseEffect(() => {\n\t\t\tconst normalizedLang = normalizeLanguage(language)\n\n\t\t\tif (normalizedLang !== currentLanguage && !userChangedLanguageRef.current) {\n\t\t\t\tsetCurrentLanguage(normalizedLang)\n\t\t\t}\n\t\t}, [language, currentLanguage])\n\n\t\t// Syntax highlighting with cached Shiki instance and mounted state management\n\t\tuseEffect(() => {\n\t\t\t// Set mounted state at the beginning of this effect\n\t\t\tisMountedRef.current = true\n\n\t\t\t// Create a safe fallback using React elements instead of HTML string\n\t\t\tconst fallback = (\n\t\t\t\t<pre style={{ padding: 0, margin: 0 }}>\n\t\t\t\t\t<code className={`hljs language-${currentLanguage || \"txt\"}`}>{source || \"\"}</code>\n\t\t\t\t</pre>\n\t\t\t)\n\n\t\t\tconst highlight = async () => {\n\t\t\t\t// Show plain text if language needs to be loaded.\n\t\t\t\tif (currentLanguage && !isLanguageLoaded(currentLanguage)) {\n\t\t\t\t\tif (isMountedRef.current) {\n\t\t\t\t\t\tsetHighlightedCode(fallback)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst highlighter = await getHighlighter(currentLanguage)\n\t\t\t\tif (!isMountedRef.current) return\n\n\t\t\t\tconst hast = await highlighter.codeToHast(source || \"\", {\n\t\t\t\t\tlang: currentLanguage || \"txt\",\n\t\t\t\t\ttheme: document.body.className.toLowerCase().includes(\"light\") ? \"github-light\" : \"github-dark\",\n\t\t\t\t\ttransformers: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpre(node) {\n\t\t\t\t\t\t\t\tnode.properties.style = \"padding: 0; margin: 0;\"\n\t\t\t\t\t\t\t\treturn node\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcode(node) {\n\t\t\t\t\t\t\t\t// Add hljs classes for consistent styling\n\t\t\t\t\t\t\t\tnode.properties.class = `hljs language-${currentLanguage}`\n\t\t\t\t\t\t\t\treturn node\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tline(node) {\n\t\t\t\t\t\t\t\t// Preserve existing line handling\n\t\t\t\t\t\t\t\tnode.properties.class = node.properties.class || \"\"\n\t\t\t\t\t\t\t\treturn node\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t] as ShikiTransformer[],\n\t\t\t\t})\n\t\t\t\tif (!isMountedRef.current) return\n\n\t\t\t\t// Convert HAST to React elements using hast-util-to-jsx-runtime\n\t\t\t\t// This approach eliminates XSS vulnerabilities by avoiding dangerouslySetInnerHTML\n\t\t\t\t// while maintaining the exact same visual output and syntax highlighting\n\t\t\t\ttry {\n\t\t\t\t\tconst reactElement = toJsxRuntime(hast, {\n\t\t\t\t\t\tFragment,\n\t\t\t\t\t\tjsx,\n\t\t\t\t\t\tjsxs,\n\t\t\t\t\t\t// Don't override components - let them render as-is to maintain exact output\n\t\t\t\t\t})\n\n\t\t\t\t\tif (isMountedRef.current) {\n\t\t\t\t\t\tsetHighlightedCode(reactElement)\n\t\t\t\t\t}\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(\"[CodeBlock] Error converting HAST to JSX:\", error)\n\t\t\t\t\tif (isMountedRef.current) {\n\t\t\t\t\t\tsetHighlightedCode(fallback)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\thighlight().catch((e) => {\n\t\t\t\tconsole.error(\"[CodeBlock] Syntax highlighting error:\", e, \"\\nStack trace:\", e.stack)\n\t\t\t\tif (isMountedRef.current) {\n\t\t\t\t\tsetHighlightedCode(fallback)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// Cleanup function - manage mounted state and clear all timeouts\n\t\t\treturn () => {\n\t\t\t\tisMountedRef.current = false\n\t\t\t\tif (buttonPositionTimeoutRef.current) {\n\t\t\t\t\tclearTimeout(buttonPositionTimeoutRef.current)\n\t\t\t\t\tbuttonPositionTimeoutRef.current = null\n\t\t\t\t}\n\t\t\t\tif (collapseTimeout1Ref.current) {\n\t\t\t\t\tclearTimeout(collapseTimeout1Ref.current)\n\t\t\t\t\tcollapseTimeout1Ref.current = null\n\t\t\t\t}\n\t\t\t\tif (collapseTimeout2Ref.current) {\n\t\t\t\t\tclearTimeout(collapseTimeout2Ref.current)\n\t\t\t\t\tcollapseTimeout2Ref.current = null\n\t\t\t\t}\n\t\t\t}\n\t\t}, [source, currentLanguage, collapsedHeight])\n\n\t\t// Check if content height exceeds collapsed height whenever content changes\n\t\tuseEffect(() => {\n\t\t\tconst codeBlock = codeBlockRef.current\n\n\t\t\tif (codeBlock) {\n\t\t\t\tconst actualHeight = codeBlock.scrollHeight\n\t\t\t\tsetShowCollapseButton(actualHeight >= WINDOW_SHADE_SETTINGS.collapsedHeight)\n\t\t\t}\n\t\t}, [highlightedCode])\n\n\t\t// Ref to track if user was scrolled up *before* the source update\n\t\t// potentially changes scrollHeight\n\t\tconst wasScrolledUpRef = useRef(false)\n\n\t\t// Ref to track if outer container was near bottom\n\t\tconst outerContainerNearBottomRef = useRef(false)\n\n\t\t// Effect to listen to scroll events and update the ref\n\t\tuseEffect(() => {\n\t\t\tconst preElement = preRef.current\n\t\t\tif (!preElement) return\n\n\t\t\tconst handleScroll = () => {\n\t\t\t\tconst isAtBottom =\n\t\t\t\t\tMath.abs(preElement.scrollHeight - preElement.scrollTop - preElement.clientHeight) <\n\t\t\t\t\tSCROLL_SNAP_TOLERANCE\n\t\t\t\twasScrolledUpRef.current = !isAtBottom\n\t\t\t}\n\n\t\t\tpreElement.addEventListener(\"scroll\", handleScroll, { passive: true })\n\t\t\t// Initial check in case it starts scrolled up\n\t\t\thandleScroll()\n\n\t\t\treturn () => {\n\t\t\t\tpreElement.removeEventListener(\"scroll\", handleScroll)\n\t\t\t}\n\t\t}, []) // Empty dependency array: runs once on mount\n\n\t\t// Effect to track outer container scroll position\n\t\tuseEffect(() => {\n\t\t\tconst scrollContainer = document.querySelector('[data-virtuoso-scroller=\"true\"]')\n\t\t\tif (!scrollContainer) return\n\n\t\t\tconst handleOuterScroll = () => {\n\t\t\t\tconst isAtBottom =\n\t\t\t\t\tMath.abs(scrollContainer.scrollHeight - scrollContainer.scrollTop - scrollContainer.clientHeight) <\n\t\t\t\t\tSCROLL_SNAP_TOLERANCE\n\t\t\t\touterContainerNearBottomRef.current = isAtBottom\n\t\t\t}\n\n\t\t\tscrollContainer.addEventListener(\"scroll\", handleOuterScroll, { passive: true })\n\n\t\t\t// Initial check\n\t\t\thandleOuterScroll()\n\n\t\t\treturn () => {\n\t\t\t\tscrollContainer.removeEventListener(\"scroll\", handleOuterScroll)\n\t\t\t}\n\t\t}, [])\n\n\t\t// Store whether we should scroll after highlighting completes\n\t\tconst shouldScrollAfterHighlightRef = useRef(false)\n\n\t\t// Check if we should scroll when source changes\n\t\tuseEffect(() => {\n\t\t\t// Only set the flag if we're at the bottom when source changes\n\t\t\tif (preRef.current && source && !wasScrolledUpRef.current) {\n\t\t\t\tshouldScrollAfterHighlightRef.current = true\n\t\t\t} else {\n\t\t\t\tshouldScrollAfterHighlightRef.current = false\n\t\t\t}\n\t\t}, [source])\n\n\t\tconst updateCodeBlockButtonPosition = useCallback((forceHide = false) => {\n\t\t\tconst codeBlock = codeBlockRef.current\n\t\t\tconst copyWrapper = copyButtonWrapperRef.current\n\n\t\t\tif (!codeBlock) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst rectCodeBlock = codeBlock.getBoundingClientRect()\n\t\t\tconst scrollContainer = document.querySelector('[data-virtuoso-scroller=\"true\"]')\n\n\t\t\tif (!scrollContainer) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Get wrapper height dynamically\n\t\t\tlet wrapperHeight\n\n\t\t\tif (copyWrapper) {\n\t\t\t\tconst copyRect = copyWrapper.getBoundingClientRect()\n\n\t\t\t\t// If height is 0 due to styling, estimate from children\n\t\t\t\tif (copyRect.height > 0) {\n\t\t\t\t\twrapperHeight = copyRect.height\n\t\t\t\t} else if (copyWrapper.children.length > 0) {\n\t\t\t\t\t// Try to get height from the button inside\n\t\t\t\t\tconst buttonRect = copyWrapper.children[0].getBoundingClientRect()\n\t\t\t\t\tconst buttonStyle = window.getComputedStyle(copyWrapper.children[0] as Element)\n\t\t\t\t\tconst buttonPadding =\n\t\t\t\t\t\tparseInt(buttonStyle.getPropertyValue(\"padding-top\") || \"0\", 10) +\n\t\t\t\t\t\tparseInt(buttonStyle.getPropertyValue(\"padding-bottom\") || \"0\", 10)\n\t\t\t\t\twrapperHeight = buttonRect.height + buttonPadding\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we still don't have a height, calculate from font size\n\t\t\tif (!wrapperHeight) {\n\t\t\t\tconst fontSize = parseInt(window.getComputedStyle(document.body).getPropertyValue(\"font-size\"), 10)\n\t\t\t\twrapperHeight = fontSize * 2.5 // Approximate button height based on font size\n\t\t\t}\n\n\t\t\tconst scrollRect = scrollContainer.getBoundingClientRect()\n\t\t\tconst copyButtonEdge = 48\n\t\t\tconst isPartiallyVisible =\n\t\t\t\trectCodeBlock.top < scrollRect.bottom - copyButtonEdge &&\n\t\t\t\trectCodeBlock.bottom >= scrollRect.top + copyButtonEdge\n\n\t\t\t// Calculate margin from existing padding in the component\n\t\t\tconst computedStyle = window.getComputedStyle(codeBlock)\n\t\t\tconst paddingValue = parseInt(computedStyle.getPropertyValue(\"padding\") || \"0\", 10)\n\t\t\tconst margin =\n\t\t\t\tpaddingValue > 0 ? paddingValue : parseInt(computedStyle.getPropertyValue(\"padding-top\") || \"0\", 10)\n\n\t\t\t// Update visibility state and button interactivity\n\t\t\tconst isVisible = !forceHide && isPartiallyVisible\n\t\t\tcodeBlock.setAttribute(\"data-partially-visible\", isPartiallyVisible ? \"true\" : \"false\")\n\t\t\tcodeBlock.style.setProperty(\"--copy-button-cursor\", isVisible ? \"pointer\" : \"default\")\n\t\t\tcodeBlock.style.setProperty(\"--copy-button-events\", isVisible ? \"all\" : \"none\")\n\t\t\tcodeBlock.style.setProperty(\"--copy-button-opacity\", isVisible ? \"1\" : \"0\")\n\n\t\t\tif (isPartiallyVisible) {\n\t\t\t\t// Keep button within code block bounds using dynamic measurements\n\t\t\t\tconst topPosition = Math.max(\n\t\t\t\t\tscrollRect.top + margin,\n\t\t\t\t\tMath.min(rectCodeBlock.bottom - wrapperHeight - margin, rectCodeBlock.top + margin),\n\t\t\t\t)\n\t\t\t\tconst rightPosition = Math.max(margin, scrollRect.right - rectCodeBlock.right + margin)\n\n\t\t\t\tcodeBlock.style.setProperty(\"--copy-button-top\", `${topPosition}px`)\n\t\t\t\tcodeBlock.style.setProperty(\"--copy-button-right\", `${rightPosition}px`)\n\t\t\t}\n\t\t}, [])\n\n\t\tuseEffect(() => {\n\t\t\tconst handleScroll = () => updateCodeBlockButtonPosition()\n\t\t\tconst handleResize = () => updateCodeBlockButtonPosition()\n\n\t\t\tconst scrollContainer = document.querySelector('[data-virtuoso-scroller=\"true\"]')\n\t\t\tif (scrollContainer) {\n\t\t\t\tscrollContainer.addEventListener(\"scroll\", handleScroll)\n\t\t\t\twindow.addEventListener(\"resize\", handleResize)\n\t\t\t\tupdateCodeBlockButtonPosition()\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (scrollContainer) {\n\t\t\t\t\tscrollContainer.removeEventListener(\"scroll\", handleScroll)\n\t\t\t\t\twindow.removeEventListener(\"resize\", handleResize)\n\t\t\t\t}\n\t\t\t}\n\t\t}, [updateCodeBlockButtonPosition])\n\n\t\t// Update button position and scroll when highlightedCode changes\n\t\tuseEffect(() => {\n\t\t\tif (highlightedCode) {\n\t\t\t\t// Clear any existing timeout before setting a new one\n\t\t\t\tif (buttonPositionTimeoutRef.current) {\n\t\t\t\t\tclearTimeout(buttonPositionTimeoutRef.current)\n\t\t\t\t}\n\t\t\t\t// Update button position\n\t\t\t\tbuttonPositionTimeoutRef.current = setTimeout(() => {\n\t\t\t\t\tupdateCodeBlockButtonPosition()\n\t\t\t\t\tbuttonPositionTimeoutRef.current = null // Optional: Clear ref after execution\n\t\t\t\t}, 0)\n\n\t\t\t\t// Scroll to bottom if needed (immediately after Shiki updates)\n\t\t\t\tif (shouldScrollAfterHighlightRef.current) {\n\t\t\t\t\t// Scroll inner container\n\t\t\t\t\tif (preRef.current) {\n\t\t\t\t\t\tpreRef.current.scrollTop = preRef.current.scrollHeight\n\t\t\t\t\t\twasScrolledUpRef.current = false\n\t\t\t\t\t}\n\n\t\t\t\t\t// Also scroll outer container if it was near bottom\n\t\t\t\t\tif (outerContainerNearBottomRef.current) {\n\t\t\t\t\t\tconst scrollContainer = document.querySelector('[data-virtuoso-scroller=\"true\"]')\n\t\t\t\t\t\tif (scrollContainer) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollContainer.scrollHeight\n\t\t\t\t\t\t\touterContainerNearBottomRef.current = true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Reset the flag\n\t\t\t\t\tshouldScrollAfterHighlightRef.current = false\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Cleanup function for this effect\n\t\t\treturn () => {\n\t\t\t\tif (buttonPositionTimeoutRef.current) {\n\t\t\t\t\tclearTimeout(buttonPositionTimeoutRef.current)\n\t\t\t\t}\n\t\t\t}\n\t\t}, [highlightedCode, updateCodeBlockButtonPosition])\n\n\t\t// Advanced inertial scroll chaining\n\t\t// This effect handles the transition between scrolling the code block and the outer container.\n\t\t// When a user scrolls to the boundary of a code block (top or bottom), this implementation:\n\t\t// 1. Detects the boundary condition\n\t\t// 2. Applies inertial scrolling to the outer container for a smooth transition\n\t\t// 3. Adds physics-based momentum for natural deceleration\n\t\t// This creates a seamless experience where scrolling flows naturally between nested scrollable areas\n\t\tuseEffect(() => {\n\t\t\tif (!preRef.current) return\n\n\t\t\t// Find the outer scrollable container\n\t\t\tconst getScrollContainer = () => {\n\t\t\t\treturn document.querySelector('[data-virtuoso-scroller=\"true\"]') as HTMLElement\n\t\t\t}\n\n\t\t\t// Inertial scrolling implementation\n\t\t\tlet velocity = 0\n\t\t\tlet animationFrameId: number | null = null\n\t\t\tconst FRICTION = 0.85 // Friction coefficient (lower = more friction)\n\t\t\tconst MIN_VELOCITY = 0.5 // Minimum velocity before stopping\n\n\t\t\t// Animation function for inertial scrolling\n\t\t\tconst animate = () => {\n\t\t\t\tconst scrollContainer = getScrollContainer()\n\t\t\t\tif (!scrollContainer) return\n\n\t\t\t\t// Apply current velocity\n\t\t\t\tif (Math.abs(velocity) > MIN_VELOCITY) {\n\t\t\t\t\tscrollContainer.scrollBy(0, velocity)\n\t\t\t\t\tvelocity *= FRICTION // Apply friction\n\t\t\t\t\tanimationFrameId = requestAnimationFrame(animate)\n\t\t\t\t} else {\n\t\t\t\t\tvelocity = 0\n\t\t\t\t\tanimationFrameId = null\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Wheel event handler with inertial scrolling\n\t\t\tconst handleWheel = (e: WheelEvent) => {\n\t\t\t\t// If shift is pressed, let the browser handle default horizontal scrolling\n\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (!preRef.current) return\n\n\t\t\t\t// Only handle wheel events if the inner container has a scrollbar,\n\t\t\t\t// otherwise let the browser handle the default scrolling\n\t\t\t\tconst hasScrollbar = preRef.current.scrollHeight > preRef.current.clientHeight\n\n\t\t\t\t// Pass through events if we don't need special handling\n\t\t\t\tif (!hasScrollbar) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst scrollContainer = getScrollContainer()\n\t\t\t\tif (!scrollContainer) return\n\n\t\t\t\t// Check if we're at the top or bottom of the inner container\n\t\t\t\tconst isAtVeryTop = preRef.current.scrollTop === 0\n\t\t\t\tconst isAtVeryBottom =\n\t\t\t\t\tMath.abs(preRef.current.scrollHeight - preRef.current.scrollTop - preRef.current.clientHeight) < 1\n\n\t\t\t\t// Handle scrolling at container boundaries\n\t\t\t\tif ((e.deltaY < 0 && isAtVeryTop) || (e.deltaY > 0 && isAtVeryBottom)) {\n\t\t\t\t\t// Prevent default to stop inner container from handling\n\t\t\t\t\te.preventDefault()\n\n\t\t\t\t\tconst boost = 0.15\n\t\t\t\t\tvelocity += e.deltaY * boost\n\n\t\t\t\t\t// Start animation if not already running\n\t\t\t\t\tif (!animationFrameId) {\n\t\t\t\t\t\tanimationFrameId = requestAnimationFrame(animate)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add wheel event listener to inner container\n\t\t\tconst preElement = preRef.current\n\t\t\tpreElement.addEventListener(\"wheel\", handleWheel, { passive: false })\n\n\t\t\t// Clean up\n\t\t\treturn () => {\n\t\t\t\tpreElement.removeEventListener(\"wheel\", handleWheel)\n\n\t\t\t\t// Cancel any ongoing animation\n\t\t\t\tif (animationFrameId) {\n\t\t\t\t\tcancelAnimationFrame(animationFrameId)\n\t\t\t\t}\n\t\t\t}\n\t\t}, [])\n\n\t\t// Track text selection state\n\t\tconst [isSelecting, setIsSelecting] = useState(false)\n\n\t\tuseEffect(() => {\n\t\t\tif (!preRef.current) return\n\n\t\t\tconst handleMouseDown = (e: MouseEvent) => {\n\t\t\t\t// Only trigger if clicking the pre element directly\n\t\t\t\tif (e.currentTarget === preRef.current) {\n\t\t\t\t\tsetIsSelecting(true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst handleMouseUp = () => {\n\t\t\t\tsetIsSelecting(false)\n\t\t\t}\n\n\t\t\tconst preElement = preRef.current\n\t\t\tpreElement.addEventListener(\"mousedown\", handleMouseDown)\n\t\t\tdocument.addEventListener(\"mouseup\", handleMouseUp)\n\n\t\t\treturn () => {\n\t\t\t\tpreElement.removeEventListener(\"mousedown\", handleMouseDown)\n\t\t\t\tdocument.removeEventListener(\"mouseup\", handleMouseUp)\n\t\t\t}\n\t\t}, [])\n\n\t\tconst handleCopy = useCallback(\n\t\t\t(e: React.MouseEvent) => {\n\t\t\t\te.stopPropagation()\n\n\t\t\t\t// Check if code block is partially visible before allowing copy\n\t\t\t\tconst codeBlock = codeBlockRef.current\n\t\t\t\tif (!codeBlock || codeBlock.getAttribute(\"data-partially-visible\") !== \"true\") {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconst textToCopy = rawSource !== undefined ? rawSource : source || \"\"\n\t\t\t\tif (textToCopy) {\n\t\t\t\t\tcopyWithFeedback(textToCopy, e)\n\t\t\t\t}\n\t\t\t},\n\t\t\t[source, rawSource, copyWithFeedback],\n\t\t)\n\n\t\tif (source?.length === 0) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn (\n\t\t\t<CodeBlockContainer ref={codeBlockRef}>\n\t\t\t\t<MemoizedStyledPre\n\t\t\t\t\tpreRef={preRef}\n\t\t\t\t\tpreStyle={preStyle}\n\t\t\t\t\twordWrap={wordWrap}\n\t\t\t\t\twindowShade={windowShade}\n\t\t\t\t\tcollapsedHeight={collapsedHeight}\n\t\t\t\t\thighlightedCode={highlightedCode}\n\t\t\t\t\tupdateCodeBlockButtonPosition={updateCodeBlockButtonPosition}\n\t\t\t\t/>\n\t\t\t\t{!isSelecting && (\n\t\t\t\t\t<CodeBlockButtonWrapper\n\t\t\t\t\t\tref={copyButtonWrapperRef}\n\t\t\t\t\t\tonMouseOver={() => updateCodeBlockButtonPosition()}\n\t\t\t\t\t\tstyle={{ gap: 0 }}>\n\t\t\t\t\t\t<LanguageSelect\n\t\t\t\t\t\t\tvalue={currentLanguage}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: `calc(${currentLanguage?.length || 0}ch + 9px)`,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.currentTarget.focus()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst newLang = normalizeLanguage(e.target.value)\n\t\t\t\t\t\t\t\tuserChangedLanguageRef.current = true\n\t\t\t\t\t\t\t\tsetCurrentLanguage(newLang)\n\t\t\t\t\t\t\t\tif (onLanguageChange) {\n\t\t\t\t\t\t\t\t\tonLanguageChange(newLang)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\tvalue={normalizeLanguage(language)}\n\t\t\t\t\t\t\t\tstyle={{ fontWeight: \"bold\", textAlign: \"left\", fontSize: \"1.2em\" }}>\n\t\t\t\t\t\t\t\t{normalizeLanguage(language)}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// Display all available languages in alphabetical order\n\t\t\t\t\t\t\t\tObject.keys(bundledLanguages)\n\t\t\t\t\t\t\t\t\t.sort()\n\t\t\t\t\t\t\t\t\t.map((lang) => {\n\t\t\t\t\t\t\t\t\t\tconst normalizedLang = normalizeLanguage(lang)\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\t\t\tkey={normalizedLang}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={normalizedLang}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: normalizedLang === currentLanguage ? \"bold\" : \"normal\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: normalizedLang === currentLanguage ? \"1.2em\" : \"inherit\",\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t{normalizedLang}\n\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</LanguageSelect>\n\t\t\t\t\t\t{showCollapseButton && (\n\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\tcontent={t(`chat:codeblock.tooltips.${windowShade ? \"expand\" : \"collapse\"}`)}\n\t\t\t\t\t\t\t\tside=\"top\">\n\t\t\t\t\t\t\t\t<CodeBlockButton\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t// Get the current code block element\n\t\t\t\t\t\t\t\t\t\tconst codeBlock = codeBlockRef.current // Capture ref early\n\t\t\t\t\t\t\t\t\t\t// Toggle window shade state\n\t\t\t\t\t\t\t\t\t\tsetWindowShade(!windowShade)\n\n\t\t\t\t\t\t\t\t\t\t// Clear any previous timeouts\n\t\t\t\t\t\t\t\t\t\tif (collapseTimeout1Ref.current) clearTimeout(collapseTimeout1Ref.current)\n\t\t\t\t\t\t\t\t\t\tif (collapseTimeout2Ref.current) clearTimeout(collapseTimeout2Ref.current)\n\n\t\t\t\t\t\t\t\t\t\t// After UI updates, ensure code block is visible and update button position\n\t\t\t\t\t\t\t\t\t\tcollapseTimeout1Ref.current = setTimeout(\n\t\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (codeBlock) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Check if codeBlock element still exists\n\t\t\t\t\t\t\t\t\t\t\t\t\tcodeBlock.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" })\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Wait for scroll to complete before updating button position\n\t\t\t\t\t\t\t\t\t\t\t\t\tcollapseTimeout2Ref.current = setTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// updateCodeBlockButtonPosition itself should also check for refs if needed\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateCodeBlockButtonPosition()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcollapseTimeout2Ref.current = null\n\t\t\t\t\t\t\t\t\t\t\t\t\t}, 50)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tcollapseTimeout1Ref.current = null\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tWINDOW_SHADE_SETTINGS.transitionDelayS * 1000 + 50,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{windowShade ? <ChevronDown size={16} /> : <ChevronUp size={16} />}\n\t\t\t\t\t\t\t\t</CodeBlockButton>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\tcontent={t(`chat:codeblock.tooltips.${wordWrap ? \"disable_wrap\" : \"enable_wrap\"}`)}\n\t\t\t\t\t\t\tside=\"top\">\n\t\t\t\t\t\t\t<CodeBlockButton onClick={() => setWordWrap(!wordWrap)}>\n\t\t\t\t\t\t\t\t{wordWrap ? <AlignJustify size={16} /> : <WrapText size={16} />}\n\t\t\t\t\t\t\t</CodeBlockButton>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t<StandardTooltip content={t(\"chat:codeblock.tooltips.copy_code\")} side=\"top\">\n\t\t\t\t\t\t\t<CodeBlockButton onClick={handleCopy}>\n\t\t\t\t\t\t\t\t{showCopyFeedback ? <Check size={16} /> : <Copy size={16} />}\n\t\t\t\t\t\t\t</CodeBlockButton>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</CodeBlockButtonWrapper>\n\t\t\t\t)}\n\t\t\t</CodeBlockContainer>\n\t\t)\n\t},\n)\n\n// Memoized content component to prevent unnecessary re-renders of highlighted code\nconst MemoizedCodeContent = memo(({ children }: { children: React.ReactNode }) => <>{children}</>)\n\n// Memoized StyledPre component\nconst MemoizedStyledPre = memo(\n\t({\n\t\tpreRef,\n\t\tpreStyle,\n\t\twordWrap,\n\t\twindowShade,\n\t\tcollapsedHeight,\n\t\thighlightedCode,\n\t\tupdateCodeBlockButtonPosition,\n\t}: {\n\t\tpreRef: React.RefObject<HTMLDivElement>\n\t\tpreStyle?: React.CSSProperties\n\t\twordWrap: boolean\n\t\twindowShade: boolean\n\t\tcollapsedHeight?: number\n\t\thighlightedCode: React.ReactNode\n\t\tupdateCodeBlockButtonPosition: (forceHide?: boolean) => void\n\t}) => (\n\t\t<StyledPre\n\t\t\tref={preRef}\n\t\t\tpreStyle={preStyle}\n\t\t\twordwrap={wordWrap ? \"true\" : \"false\"}\n\t\t\twindowshade={windowShade ? \"true\" : \"false\"}\n\t\t\tcollapsedHeight={collapsedHeight}\n\t\t\tonMouseDown={() => updateCodeBlockButtonPosition(true)}\n\t\t\tonMouseUp={() => updateCodeBlockButtonPosition(false)}>\n\t\t\t<MemoizedCodeContent>{highlightedCode}</MemoizedCodeContent>\n\t\t</StyledPre>\n\t),\n)\n\nexport default CodeBlock\n", + "import { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { McpTool } from \"@roo/mcp\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { StandardTooltip, ToggleSwitch } from \"@/components/ui\"\n\ntype McpToolRowProps = {\n\ttool: McpTool\n\tserverName?: string\n\tserverSource?: \"global\" | \"project\"\n\talwaysAllowMcp?: boolean\n\tisInChatContext?: boolean\n}\n\nconst McpToolRow = ({ tool, serverName, serverSource, alwaysAllowMcp, isInChatContext = false }: McpToolRowProps) => {\n\tconst { t } = useAppTranslation()\n\tconst isToolEnabled = tool.enabledForPrompt ?? true\n\n\tconst handleAlwaysAllowChange = () => {\n\t\tif (!serverName) return\n\t\tvscode.postMessage({\n\t\t\ttype: \"toggleToolAlwaysAllow\",\n\t\t\tserverName,\n\t\t\tsource: serverSource || \"global\",\n\t\t\ttoolName: tool.name,\n\t\t\talwaysAllow: !tool.alwaysAllow,\n\t\t})\n\t}\n\n\tconst handleEnabledForPromptChange = () => {\n\t\tif (!serverName) return\n\t\tvscode.postMessage({\n\t\t\ttype: \"toggleToolEnabledForPrompt\",\n\t\t\tserverName,\n\t\t\tsource: serverSource || \"global\",\n\t\t\ttoolName: tool.name,\n\t\t\tisEnabled: !tool.enabledForPrompt,\n\t\t})\n\t}\n\n\treturn (\n\t\t<div key={tool.name} className=\"py-2 border-b border-vscode-panel-border last:border-b-0\">\n\t\t\t<div\n\t\t\t\tdata-testid=\"tool-row-container\"\n\t\t\t\tclassName=\"flex items-center gap-4\"\n\t\t\t\tonClick={(e) => e.stopPropagation()}>\n\t\t\t\t{/* Tool name section */}\n\t\t\t\t<div className=\"flex items-center min-w-0 flex-1\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`codicon codicon-symbol-method mr-2 flex-shrink-0 ${\n\t\t\t\t\t\t\tisToolEnabled\n\t\t\t\t\t\t\t\t? \"text-vscode-symbolIcon-methodForeground\"\n\t\t\t\t\t\t\t\t: \"text-vscode-descriptionForeground opacity-60\"\n\t\t\t\t\t\t}`}></span>\n\t\t\t\t\t<StandardTooltip content={tool.name}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={`font-medium truncate ${\n\t\t\t\t\t\t\t\tisToolEnabled\n\t\t\t\t\t\t\t\t\t? \"text-vscode-foreground\"\n\t\t\t\t\t\t\t\t\t: \"text-vscode-descriptionForeground opacity-60\"\n\t\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t\t{tool.name}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Controls section */}\n\t\t\t\t{serverName && (\n\t\t\t\t\t<div className=\"flex items-center gap-4 flex-shrink-0\">\n\t\t\t\t\t\t{/* Always Allow checkbox - only show when tool is enabled */}\n\t\t\t\t\t\t{alwaysAllowMcp && isToolEnabled && (\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={tool.alwaysAllow}\n\t\t\t\t\t\t\t\tonChange={handleAlwaysAllowChange}\n\t\t\t\t\t\t\t\tdata-tool={tool.name}\n\t\t\t\t\t\t\t\tclassName=\"text-xs\">\n\t\t\t\t\t\t\t\t<span className=\"text-vscode-descriptionForeground whitespace-nowrap\">\n\t\t\t\t\t\t\t\t\t{t(\"mcp:tool.alwaysAllow\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Enabled toggle switch - only show in settings context */}\n\t\t\t\t\t\t{!isInChatContext && (\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"mcp:tool.togglePromptInclusion\")}>\n\t\t\t\t\t\t\t\t<ToggleSwitch\n\t\t\t\t\t\t\t\t\tchecked={isToolEnabled}\n\t\t\t\t\t\t\t\t\tonChange={handleEnabledForPromptChange}\n\t\t\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\t\t\taria-label={t(\"mcp:tool.togglePromptInclusion\")}\n\t\t\t\t\t\t\t\t\tdata-testid={`tool-prompt-toggle-${tool.name}`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{tool.description && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={`mt-1 text-xs text-vscode-descriptionForeground ${\n\t\t\t\t\t\tisToolEnabled ? \"opacity-80\" : \"opacity-40\"\n\t\t\t\t\t}`}>\n\t\t\t\t\t{tool.description}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{isToolEnabled &&\n\t\t\t\ttool.inputSchema &&\n\t\t\t\t\"properties\" in tool.inputSchema &&\n\t\t\t\tObject.keys(tool.inputSchema.properties as Record<string, any>).length > 0 && (\n\t\t\t\t\t<div className=\"mt-2 text-xs border border-vscode-panel-border rounded p-2\">\n\t\t\t\t\t\t<div className=\"mb-1 text-[11px] uppercase opacity-80 text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t{t(\"mcp:tool.parameters\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{Object.entries(tool.inputSchema.properties as Record<string, any>).map(\n\t\t\t\t\t\t\t([paramName, schema]) => {\n\t\t\t\t\t\t\t\tconst isRequired =\n\t\t\t\t\t\t\t\t\ttool.inputSchema &&\n\t\t\t\t\t\t\t\t\t\"required\" in tool.inputSchema &&\n\t\t\t\t\t\t\t\t\tArray.isArray(tool.inputSchema.required) &&\n\t\t\t\t\t\t\t\t\ttool.inputSchema.required.includes(paramName)\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<div key={paramName} className=\"flex items-baseline mt-1\">\n\t\t\t\t\t\t\t\t\t\t<code className=\"text-vscode-textPreformat-foreground mr-2\">\n\t\t\t\t\t\t\t\t\t\t\t{paramName}\n\t\t\t\t\t\t\t\t\t\t\t{isRequired && <span className=\"text-vscode-errorForeground\">*</span>}\n\t\t\t\t\t\t\t\t\t\t</code>\n\t\t\t\t\t\t\t\t\t\t<span className=\"opacity-80 break-words text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t\t{schema.description || t(\"mcp:tool.noDescription\")}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default McpToolRow\n", + "/**\n * HTML URL properties.\n *\n * Each key is a property name and each value is a list of tag names it applies\n * to or `null` if it applies to all elements.\n *\n * @type {Record<string, Array<string> | null>}\n */\nexport const urlAttributes = {\n action: ['form'],\n cite: ['blockquote', 'del', 'ins', 'q'],\n data: ['object'],\n formAction: ['button', 'input'],\n href: ['a', 'area', 'base', 'link'],\n icon: ['menuitem'],\n itemId: null,\n manifest: ['html'],\n ping: ['a', 'area'],\n poster: ['video'],\n src: [\n 'audio',\n 'embed',\n 'iframe',\n 'img',\n 'input',\n 'script',\n 'source',\n 'track',\n 'video'\n ]\n}\n", + "/**\n * @typedef {import('mdast').Nodes} Nodes\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s (default: `true`).\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML (default: `true`).\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} [value]\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array<unknown>} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array<string>} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Nodes}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n", + "/// <reference lib=\"dom\" />\n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string | false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const character = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n if (\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n character.charCodeAt(character.length - 1) === 59 /* `;` */ &&\n value !== 'semi'\n ) {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return character === characterReference ? false : character\n}\n", + "/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array<T>} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array<T>} items\n * Items to inject into `list`.\n * @returns {undefined}\n * Nothing.\n */\nexport function splice(list, start, remove, items) {\n const end = list.length;\n let chunkStart = 0;\n /** @type {Array<unknown>} */\n let parameters;\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start;\n } else {\n start = start > end ? end : start;\n }\n remove = remove > 0 ? remove : 0;\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items);\n parameters.unshift(start, remove);\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters);\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove);\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000);\n parameters.unshift(start, 0);\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters);\n chunkStart += 10000;\n start += 10000;\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array<T>} list\n * List to operate on.\n * @param {Array<T>} items\n * Items to add to `list`.\n * @returns {Array<T>}\n * Either `list` or `items`.\n */\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items);\n return list;\n }\n return items;\n}", + "/**\n * @import {\n * Extension,\n * Handles,\n * HtmlExtension,\n * NormalizedExtension\n * } from 'micromark-util-types'\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {ReadonlyArray<Extension>} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record<string, unknown>} */\n const left = maybe || (all[hook] = {})\n /** @type {Record<string, unknown> | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array<unknown>} existing\n * List of constructs to merge into.\n * @param {Array<unknown>} list\n * List of constructs to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array<unknown>} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {ReadonlyArray<HtmlExtension>} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * Single combined HTML extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n", + "/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}", + "/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nexport function normalizeIdentifier(value) {\n return value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, \" \")\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase().toUpperCase();\n}", + "/**\n * @import {Code} from 'micromark-util-types'\n */\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlpha = regexCheck(/[A-Za-z]/);\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/);\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/);\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n );\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiDigit = regexCheck(/\\d/);\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/);\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEnding(code) {\n return code !== null && code < -2;\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32);\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32;\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nexport const unicodePunctuation = regexCheck(/\\p{P}|\\p{S}/u);\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nexport const unicodeWhitespace = regexCheck(/\\s/);\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * Expression.\n * @returns {(code: Code) => boolean}\n * Check.\n */\nfunction regexCheck(regex) {\n return check;\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && code > -1 && regex.test(String.fromCharCode(code));\n }\n}", + "import { asciiAlphanumeric } from 'micromark-util-character';\nimport { encode } from 'micromark-util-encode';\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''));\n if (!protocol) {\n return value;\n }\n const colon = value.indexOf(':');\n const questionMark = value.indexOf('?');\n const numberSign = value.indexOf('#');\n const slash = value.indexOf('/');\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))) {\n return value;\n }\n return '';\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array<string>} */\n const result = [];\n let index = -1;\n let start = 0;\n let skip = 0;\n while (++index < value.length) {\n const code = value.charCodeAt(index);\n /** @type {string} */\n let replace = '';\n\n // A correct percent encoded value.\n if (code === 37 && asciiAlphanumeric(value.charCodeAt(index + 1)) && asciiAlphanumeric(value.charCodeAt(index + 2))) {\n skip = 2;\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code);\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1);\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next);\n skip = 1;\n }\n // Lone surrogate.\n else {\n replace = \"\\uFFFD\";\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code);\n }\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace));\n start = index + skip + 1;\n replace = '';\n }\n if (skip) {\n index += skip;\n skip = 0;\n }\n }\n return result.join('') + value.slice(start);\n}", + "/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { markdownSpace } from 'micromark-util-character';\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns {State}\n * Start state.\n */\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type);\n return prefix(code);\n }\n return ok(code);\n }\n\n /** @type {State} */\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code);\n return prefix;\n }\n effects.exit(type);\n return ok(code);\n }\n}", + "/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n * Content.\n */\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(this.parser.constructs.contentInitial, afterContentStartConstruct, paragraphInitial);\n /** @type {Token} */\n let previous;\n return contentStart;\n\n /** @type {State} */\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, contentStart, \"linePrefix\");\n }\n\n /** @type {State} */\n function paragraphInitial(code) {\n effects.enter(\"paragraph\");\n return lineStart(code);\n }\n\n /** @type {State} */\n function lineStart(code) {\n const token = effects.enter(\"chunkText\", {\n contentType: \"text\",\n previous\n });\n if (previous) {\n previous.next = token;\n }\n previous = token;\n return data(code);\n }\n\n /** @type {State} */\n function data(code) {\n if (code === null) {\n effects.exit(\"chunkText\");\n effects.exit(\"paragraph\");\n effects.consume(code);\n return;\n }\n if (markdownLineEnding(code)) {\n effects.consume(code);\n effects.exit(\"chunkText\");\n return lineStart;\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n}", + "/**\n * @import {\n * Construct,\n * ContainerState,\n * InitialConstruct,\n * Initializer,\n * Point,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @typedef {[Construct, ContainerState]} StackItem\n * Construct and its state.\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { splice } from 'micromark-util-chunked';\n/** @type {InitialConstruct} */\nexport const document = {\n tokenize: initializeDocument\n};\n\n/** @type {Construct} */\nconst containerConstruct = {\n tokenize: tokenizeContainer\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeDocument(effects) {\n const self = this;\n /** @type {Array<StackItem>} */\n const stack = [];\n let continued = 0;\n /** @type {TokenizeContext | undefined} */\n let childFlow;\n /** @type {Token | undefined} */\n let childToken;\n /** @type {number} */\n let lineStartOffset;\n return start;\n\n /** @type {State} */\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued];\n self.containerState = item[1];\n return effects.attempt(item[0].continuation, documentContinue, checkNewContainers)(code);\n }\n\n // Done.\n return checkNewContainers(code);\n }\n\n /** @type {State} */\n function documentContinue(code) {\n continued++;\n\n // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined;\n if (childFlow) {\n closeFlow();\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n /** @type {Point | undefined} */\n let point;\n\n // Find the flow chunk.\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === 'exit' && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n point = self.events[indexBeforeFlow][1].end;\n break;\n }\n }\n exitContainers(continued);\n\n // Fix positions.\n let index = indexBeforeExits;\n while (index < self.events.length) {\n self.events[index][1].end = {\n ...point\n };\n index++;\n }\n\n // Inject the exits earlier (they’re still also at the end).\n splice(self.events, indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));\n\n // Discard the duplicate exits.\n self.events.length = index;\n return checkNewContainers(code);\n }\n return start(code);\n }\n\n /** @type {State} */\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code);\n }\n\n // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code);\n }\n\n // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer\n // needed in micromark-extension-gfm-table@1.0.6).\n self.interrupt = Boolean(childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack);\n }\n\n // Check if there is a new container.\n self.containerState = {};\n return effects.check(containerConstruct, thereIsANewContainer, thereIsNoNewContainer)(code);\n }\n\n /** @type {State} */\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow();\n exitContainers(continued);\n return documentContinued(code);\n }\n\n /** @type {State} */\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length;\n lineStartOffset = self.now().offset;\n return flowStart(code);\n }\n\n /** @type {State} */\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {};\n return effects.attempt(containerConstruct, containerContinue, flowStart)(code);\n }\n\n /** @type {State} */\n function containerContinue(code) {\n continued++;\n stack.push([self.currentConstruct, self.containerState]);\n // Try another.\n return documentContinued(code);\n }\n\n /** @type {State} */\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow();\n exitContainers(0);\n effects.consume(code);\n return;\n }\n childFlow = childFlow || self.parser.flow(self.now());\n effects.enter(\"chunkFlow\", {\n _tokenizer: childFlow,\n contentType: \"flow\",\n previous: childToken\n });\n return flowContinue(code);\n }\n\n /** @type {State} */\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit(\"chunkFlow\"), true);\n exitContainers(0);\n effects.consume(code);\n return;\n }\n if (markdownLineEnding(code)) {\n effects.consume(code);\n writeToChild(effects.exit(\"chunkFlow\"));\n // Get ready for the next line.\n continued = 0;\n self.interrupt = undefined;\n return start;\n }\n effects.consume(code);\n return flowContinue;\n }\n\n /**\n * @param {Token} token\n * Token.\n * @param {boolean | undefined} [endOfFile]\n * Whether the token is at the end of the file (default: `false`).\n * @returns {undefined}\n * Nothing.\n */\n function writeToChild(token, endOfFile) {\n const stream = self.sliceStream(token);\n if (endOfFile) stream.push(null);\n token.previous = childToken;\n if (childToken) childToken.next = token;\n childToken = token;\n childFlow.defineSkip(token.start);\n childFlow.write(stream);\n\n // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length;\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && (\n // …and either is not ended yet…\n !childFlow.events[index][1].end ||\n // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return;\n }\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n const indexBeforeExits = self.events.length;\n let indexBeforeFlow = indexBeforeExits;\n /** @type {boolean | undefined} */\n let seen;\n /** @type {Point | undefined} */\n let point;\n\n // Find the previous chunk (the one before the lazy line).\n while (indexBeforeFlow--) {\n if (self.events[indexBeforeFlow][0] === 'exit' && self.events[indexBeforeFlow][1].type === \"chunkFlow\") {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end;\n break;\n }\n seen = true;\n }\n }\n exitContainers(continued);\n\n // Fix positions.\n index = indexBeforeExits;\n while (index < self.events.length) {\n self.events[index][1].end = {\n ...point\n };\n index++;\n }\n\n // Inject the exits earlier (they’re still also at the end).\n splice(self.events, indexBeforeFlow + 1, 0, self.events.slice(indexBeforeExits));\n\n // Discard the duplicate exits.\n self.events.length = index;\n }\n }\n\n /**\n * @param {number} size\n * Size.\n * @returns {undefined}\n * Nothing.\n */\n function exitContainers(size) {\n let index = stack.length;\n\n // Exit open containers.\n while (index-- > size) {\n const entry = stack[index];\n self.containerState = entry[1];\n entry[0].exit.call(self, effects);\n }\n stack.length = size;\n }\n function closeFlow() {\n childFlow.write([null]);\n childToken = undefined;\n childFlow = undefined;\n self.containerState._closeFlow = undefined;\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n * Tokenizer.\n */\nfunction tokenizeContainer(effects, ok, nok) {\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok, nok), \"linePrefix\", this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4);\n}", + "/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport { markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return 1;\n }\n if (unicodePunctuation(code)) {\n return 2;\n }\n}", + "/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array<Event>} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array<Event>}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array<Resolver>} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n", + "/**\n * @import {\n * Code,\n * Construct,\n * Event,\n * Point,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { push, splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n resolveAll: resolveAllAttention,\n tokenize: tokenizeAttention\n};\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1;\n /** @type {number} */\n let open;\n /** @type {Token} */\n let group;\n /** @type {Token} */\n let text;\n /** @type {Token} */\n let openingSequence;\n /** @type {Token} */\n let closingSequence;\n /** @type {number} */\n let use;\n /** @type {Array<Event>} */\n let nextEvents;\n /** @type {number} */\n let offset;\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n }\n\n // Number of markers to use from the sequence.\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n const start = {\n ...events[open][1].end\n };\n const end = {\n ...events[index][1].start\n };\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: {\n ...events[open][1].end\n }\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: {\n ...events[index][1].start\n },\n end\n };\n text = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: {\n ...events[open][1].end\n },\n end: {\n ...events[index][1].start\n }\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: {\n ...openingSequence.start\n },\n end: {\n ...closingSequence.end\n }\n };\n events[open][1].end = {\n ...openingSequence.start\n };\n events[index][1].start = {\n ...closingSequence.end\n };\n nextEvents = [];\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n }\n\n // Opening.\n nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context));\n\n // Closing.\n nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]);\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null;\n const previous = this.previous;\n const before = classifyCharacter(previous);\n\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code;\n effects.enter('attentionSequence');\n return inside(code);\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n const token = effects.exit('attentionSequence');\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code);\n\n // Always populated by defaults.\n\n const open = !after || after === 2 && before || attentionMarkers.includes(code);\n const close = !before || before === 2 && after || attentionMarkers.includes(previous);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok(code);\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * Point.\n * @param {number} offset\n * Amount to move.\n * @returns {undefined}\n * Nothing.\n */\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, asciiAtext, asciiControl } from 'micromark-util-character';\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n if (code === 64) {\n return nok(code);\n }\n return emailAtext(code);\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1;\n return schemeInsideOrEmailAtext(code);\n }\n return emailAtext(code);\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * > | a<user@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n size = 0;\n return urlInside;\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n size = 0;\n return emailAtext(code);\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | a<https://example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit(\"autolinkProtocol\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return urlInside;\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | a<user.name@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n return emailAtSignOrDot;\n }\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n return nok(code);\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | a<user.name@example.com>b\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | a<user.name@example.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n return emailValue(code);\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | a<user.name@ex-ample.com>b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel;\n effects.consume(code);\n return next;\n }\n return nok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blankLine = {\n partial: true,\n tokenize: tokenizeBlankLine\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLine(effects, ok, nok) {\n return start;\n\n /**\n * Start of blank line.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n return markdownSpace(code) ? factorySpace(effects, after, \"linePrefix\")(code) : after(code);\n }\n\n /**\n * At eof/eol, after optional whitespace.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const blockQuote = {\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit,\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of block quote.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 62) {\n const state = self.containerState;\n if (!state.open) {\n effects.enter(\"blockQuote\", {\n _container: true\n });\n state.open = true;\n }\n effects.enter(\"blockQuotePrefix\");\n effects.enter(\"blockQuoteMarker\");\n effects.consume(code);\n effects.exit(\"blockQuoteMarker\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `>`, before optional whitespace.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter(\"blockQuotePrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"blockQuotePrefixWhitespace\");\n effects.exit(\"blockQuotePrefix\");\n return ok;\n }\n effects.exit(\"blockQuotePrefix\");\n return ok(code);\n }\n}\n\n/**\n * Start of block quote continuation.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n const self = this;\n return contStart;\n\n /**\n * Start of block quote continuation.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contStart(code) {\n if (markdownSpace(code)) {\n // Always populated by defaults.\n\n return factorySpace(effects, contBefore, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n return contBefore(code);\n }\n\n /**\n * At `>`, after optional whitespace.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contBefore(code) {\n return effects.attempt(blockQuote, ok, nok)(code);\n }\n}\n\n/** @type {Exiter} */\nfunction exit(effects) {\n effects.exit(\"blockQuote\");\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiPunctuation } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code);\n effects.exit(\"escapeMarker\");\n return inside;\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok;\n }\n return nok(code);\n }\n}", + "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { asciiAlphanumeric, asciiDigit, asciiHexDigit } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this;\n let size = 0;\n /** @type {number} */\n let max;\n /** @type {(code: Code) => boolean} */\n let test;\n return start;\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code);\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok;\n }\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n return nok(code);\n }\n}", + "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nconst nonLazyContinuation = {\n partial: true,\n tokenize: tokenizeNonLazyContinuation\n};\n\n/** @type {Construct} */\nexport const codeFenced = {\n concrete: true,\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this;\n /** @type {Construct} */\n const closeStart = {\n partial: true,\n tokenize: tokenizeCloseStart\n };\n let initialPrefix = 0;\n let sizeOpen = 0;\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code);\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1];\n initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n marker = code;\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++;\n effects.consume(code);\n return sequenceOpen;\n }\n if (sizeOpen < 3) {\n return nok(code);\n }\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, infoBefore, \"whitespace\")(code) : infoBefore(code);\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code);\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return infoBefore(code);\n }\n if (markdownSpace(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return info;\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return infoBefore(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code);\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return contentStart;\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialPrefix + 1)(code) : beforeContentChunk(code);\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return contentChunk(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(\"codeFenced\");\n return ok(code);\n }\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0;\n return startBefore;\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return start;\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter(\"codeFencedFence\");\n return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code);\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceClose(code);\n }\n return nok(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size >= sizeOpen) {\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, \"whitespace\")(code) : sequenceCloseAfter(code);\n }\n return nok(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n};\n\n/** @type {Construct} */\nconst furtherStart = {\n partial: true,\n tokenize: tokenizeFurtherStart\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of code (indented).\n *\n * > **Parsing note**: it is not needed to check if this first line is a\n * > filled line (that it has a non-whitespace character), because blank lines\n * > are parsed already, so we never run into that.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: manually check if interrupting like `markdown-rs`.\n\n effects.enter(\"codeIndented\");\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code);\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? atBreak(code) : nok(code);\n }\n\n /**\n * At a break.\n *\n * ```markdown\n * > | aaa\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === null) {\n return after(code);\n }\n if (markdownLineEnding(code)) {\n return effects.attempt(furtherStart, atBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return inside(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * > | aaa\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return atBreak(code);\n }\n effects.consume(code);\n return inside;\n }\n\n /** @type {State} */\n function after(code) {\n effects.exit(\"codeIndented\");\n // To do: allow interrupting like `markdown-rs`.\n // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeFurtherStart(effects, ok, nok) {\n const self = this;\n return furtherStart;\n\n /**\n * At eol, trying to parse another indent.\n *\n * ```markdown\n * > | aaa\n * ^\n * | bbb\n * ```\n *\n * @type {State}\n */\n function furtherStart(code) {\n // To do: improve `lazy` / `pierce` handling.\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return furtherStart;\n }\n\n // To do: the code here in `micromark-js` is a bit different from\n // `markdown-rs` because there it can attempt spaces.\n // We can’t yet.\n //\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(effects, afterPrefix, \"linePrefix\", 4 + 1)(code);\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4 ? ok(code) : markdownLineEnding(code) ? furtherStart(code) : nok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * Previous,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n previous,\n resolve: resolveCodeText,\n tokenize: tokenizeCodeText\n};\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === \"codeTextData\") {\n // Then we have padding.\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeTextSequence\");\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return sequenceClose(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter(\"codeTextData\");\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit(\"codeTextData\");\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = \"codeTextData\";\n return data(code);\n }\n}", + "/**\n * Some of the internal operations of micromark do lots of editing\n * operations on very large arrays. This runs into problems with two\n * properties of most circa-2020 JavaScript interpreters:\n *\n * - Array-length modifications at the high end of an array (push/pop) are\n * expected to be common and are implemented in (amortized) time\n * proportional to the number of elements added or removed, whereas\n * other operations (shift/unshift and splice) are much less efficient.\n * - Function arguments are passed on the stack, so adding tens of thousands\n * of elements to an array with `arr.push(...newElements)` will frequently\n * cause stack overflows. (see <https://stackoverflow.com/questions/22123769/rangeerror-maximum-call-stack-size-exceeded-why>)\n *\n * SpliceBuffers are an implementation of gap buffers, which are a\n * generalization of the \"queue made of two stacks\" idea. The splice buffer\n * maintains a cursor, and moving the cursor has cost proportional to the\n * distance the cursor moves, but inserting, deleting, or splicing in\n * new information at the cursor is as efficient as the push/pop operation.\n * This allows for an efficient sequence of splices (or pushes, pops, shifts,\n * or unshifts) as long such edits happen at the same part of the array or\n * generally sweep through the array from the beginning to the end.\n *\n * The interface for splice buffers also supports large numbers of inputs by\n * passing a single array argument rather passing multiple arguments on the\n * function call stack.\n *\n * @template T\n * Item type.\n */\nexport class SpliceBuffer {\n /**\n * @param {ReadonlyArray<T> | null | undefined} [initial]\n * Initial items (optional).\n * @returns\n * Splice buffer.\n */\n constructor(initial) {\n /** @type {Array<T>} */\n this.left = initial ? [...initial] : [];\n /** @type {Array<T>} */\n this.right = [];\n }\n\n /**\n * Array access;\n * does not move the cursor.\n *\n * @param {number} index\n * Index.\n * @return {T}\n * Item.\n */\n get(index) {\n if (index < 0 || index >= this.left.length + this.right.length) {\n throw new RangeError('Cannot access index `' + index + '` in a splice buffer of size `' + (this.left.length + this.right.length) + '`');\n }\n if (index < this.left.length) return this.left[index];\n return this.right[this.right.length - index + this.left.length - 1];\n }\n\n /**\n * The length of the splice buffer, one greater than the largest index in the\n * array.\n */\n get length() {\n return this.left.length + this.right.length;\n }\n\n /**\n * Remove and return `list[0]`;\n * moves the cursor to `0`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n shift() {\n this.setCursor(0);\n return this.right.pop();\n }\n\n /**\n * Slice the buffer to get an array;\n * does not move the cursor.\n *\n * @param {number} start\n * Start.\n * @param {number | null | undefined} [end]\n * End (optional).\n * @returns {Array<T>}\n * Array of items.\n */\n slice(start, end) {\n /** @type {number} */\n const stop = end === null || end === undefined ? Number.POSITIVE_INFINITY : end;\n if (stop < this.left.length) {\n return this.left.slice(start, stop);\n }\n if (start > this.left.length) {\n return this.right.slice(this.right.length - stop + this.left.length, this.right.length - start + this.left.length).reverse();\n }\n return this.left.slice(start).concat(this.right.slice(this.right.length - stop + this.left.length).reverse());\n }\n\n /**\n * Mimics the behavior of Array.prototype.splice() except for the change of\n * interface necessary to avoid segfaults when patching in very large arrays.\n *\n * This operation moves cursor is moved to `start` and results in the cursor\n * placed after any inserted items.\n *\n * @param {number} start\n * Start;\n * zero-based index at which to start changing the array;\n * negative numbers count backwards from the end of the array and values\n * that are out-of bounds are clamped to the appropriate end of the array.\n * @param {number | null | undefined} [deleteCount=0]\n * Delete count (default: `0`);\n * maximum number of elements to delete, starting from start.\n * @param {Array<T> | null | undefined} [items=[]]\n * Items to include in place of the deleted items (default: `[]`).\n * @return {Array<T>}\n * Any removed items.\n */\n splice(start, deleteCount, items) {\n /** @type {number} */\n const count = deleteCount || 0;\n this.setCursor(Math.trunc(start));\n const removed = this.right.splice(this.right.length - count, Number.POSITIVE_INFINITY);\n if (items) chunkedPush(this.left, items);\n return removed.reverse();\n }\n\n /**\n * Remove and return the highest-numbered item in the array, so\n * `list[list.length - 1]`;\n * Moves the cursor to `length`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n pop() {\n this.setCursor(Number.POSITIVE_INFINITY);\n return this.left.pop();\n }\n\n /**\n * Inserts a single item to the high-numbered side of the array;\n * moves the cursor to `length`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n push(item) {\n this.setCursor(Number.POSITIVE_INFINITY);\n this.left.push(item);\n }\n\n /**\n * Inserts many items to the high-numbered side of the array.\n * Moves the cursor to `length`.\n *\n * @param {Array<T>} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n pushMany(items) {\n this.setCursor(Number.POSITIVE_INFINITY);\n chunkedPush(this.left, items);\n }\n\n /**\n * Inserts a single item to the low-numbered side of the array;\n * Moves the cursor to `0`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n unshift(item) {\n this.setCursor(0);\n this.right.push(item);\n }\n\n /**\n * Inserts many items to the low-numbered side of the array;\n * moves the cursor to `0`.\n *\n * @param {Array<T>} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n unshiftMany(items) {\n this.setCursor(0);\n chunkedPush(this.right, items.reverse());\n }\n\n /**\n * Move the cursor to a specific position in the array. Requires\n * time proportional to the distance moved.\n *\n * If `n < 0`, the cursor will end up at the beginning.\n * If `n > length`, the cursor will end up at the end.\n *\n * @param {number} n\n * Position.\n * @return {undefined}\n * Nothing.\n */\n setCursor(n) {\n if (n === this.left.length || n > this.left.length && this.right.length === 0 || n < 0 && this.left.length === 0) return;\n if (n < this.left.length) {\n // Move cursor to the this.left\n const removed = this.left.splice(n, Number.POSITIVE_INFINITY);\n chunkedPush(this.right, removed.reverse());\n } else {\n // Move cursor to the this.right\n const removed = this.right.splice(this.left.length + this.right.length - n, Number.POSITIVE_INFINITY);\n chunkedPush(this.left, removed.reverse());\n }\n }\n}\n\n/**\n * Avoid stack overflow by pushing items onto the stack in segments\n *\n * @template T\n * Item type.\n * @param {Array<T>} list\n * List to inject into.\n * @param {ReadonlyArray<T>} right\n * Items to inject.\n * @return {undefined}\n * Nothing.\n */\nfunction chunkedPush(list, right) {\n /** @type {number} */\n let chunkStart = 0;\n if (right.length < 10000) {\n list.push(...right);\n } else {\n while (chunkStart < right.length) {\n list.push(...right.slice(chunkStart, chunkStart + 10000));\n chunkStart += 10000;\n }\n }\n}", + "/**\n * @import {Chunk, Event, Token} from 'micromark-util-types'\n */\n\nimport { splice } from 'micromark-util-chunked';\nimport { SpliceBuffer } from './lib/splice-buffer.js';\n\n// Hidden API exposed for testing.\nexport { SpliceBuffer } from './lib/splice-buffer.js';\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array<Event>} eventsArray\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\n// eslint-disable-next-line complexity\nexport function subtokenize(eventsArray) {\n /** @type {Record<string, number>} */\n const jumps = {};\n let index = -1;\n /** @type {Event} */\n let event;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number} */\n let otherIndex;\n /** @type {Event} */\n let otherEvent;\n /** @type {Array<Event>} */\n let parameters;\n /** @type {Array<Event>} */\n let subevents;\n /** @type {boolean | undefined} */\n let more;\n const events = new SpliceBuffer(eventsArray);\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index];\n }\n event = events.get(index);\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (index && event[1].type === \"chunkFlow\" && events.get(index - 1)[1].type === \"listItemPrefix\") {\n subevents = event[1]._tokenizer.events;\n otherIndex = 0;\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"lineEndingBlank\") {\n otherIndex += 2;\n }\n if (otherIndex < subevents.length && subevents[otherIndex][1].type === \"content\") {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === \"content\") {\n break;\n }\n if (subevents[otherIndex][1].type === \"chunkText\") {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true;\n otherIndex++;\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index));\n index = jumps[index];\n more = true;\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index;\n lineIndex = undefined;\n while (otherIndex--) {\n otherEvent = events.get(otherIndex);\n if (otherEvent[1].type === \"lineEnding\" || otherEvent[1].type === \"lineEndingBlank\") {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events.get(lineIndex)[1].type = \"lineEndingBlank\";\n }\n otherEvent[1].type = \"lineEnding\";\n lineIndex = otherIndex;\n }\n } else if (otherEvent[1].type === \"linePrefix\" || otherEvent[1].type === \"listItemIndent\") {\n // Move past.\n } else {\n break;\n }\n }\n if (lineIndex) {\n // Fix position.\n event[1].end = {\n ...events.get(lineIndex)[1].start\n };\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index);\n parameters.unshift(event);\n events.splice(lineIndex, index - lineIndex + 1, parameters);\n }\n }\n }\n\n // The changes to the `events` buffer must be copied back into the eventsArray\n splice(eventsArray, 0, Number.POSITIVE_INFINITY, events.slice(0));\n return !more;\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {SpliceBuffer<Event>} events\n * Events.\n * @param {number} eventIndex\n * Index.\n * @returns {Record<string, number>}\n * Gaps.\n */\nfunction subcontent(events, eventIndex) {\n const token = events.get(eventIndex)[1];\n const context = events.get(eventIndex)[2];\n let startPosition = eventIndex - 1;\n /** @type {Array<number>} */\n const startPositions = [];\n let tokenizer = token._tokenizer;\n if (!tokenizer) {\n tokenizer = context.parser[token.contentType](token.start);\n if (token._contentTypeTextTrailing) {\n tokenizer._contentTypeTextTrailing = true;\n }\n }\n const childEvents = tokenizer.events;\n /** @type {Array<[number, number]>} */\n const jumps = [];\n /** @type {Record<string, number>} */\n const gaps = {};\n /** @type {Array<Chunk>} */\n let stream;\n /** @type {Token | undefined} */\n let previous;\n let index = -1;\n /** @type {Token | undefined} */\n let current = token;\n let adjust = 0;\n let start = 0;\n const breaks = [start];\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events.get(++startPosition)[1] !== current) {\n // Empty.\n }\n startPositions.push(startPosition);\n if (!current._tokenizer) {\n stream = context.sliceStream(current);\n if (!current.next) {\n stream.push(null);\n }\n if (previous) {\n tokenizer.defineSkip(current.start);\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true;\n }\n tokenizer.write(stream);\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined;\n }\n }\n\n // Unravel the next token.\n previous = current;\n current = current.next;\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token;\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' && childEvents[index - 1][0] === 'enter' && childEvents[index][1].type === childEvents[index - 1][1].type && childEvents[index][1].start.line !== childEvents[index][1].end.line) {\n start = index + 1;\n breaks.push(start);\n // Help GC.\n current._tokenizer = undefined;\n current.previous = undefined;\n current = current.next;\n }\n }\n\n // Help GC.\n tokenizer.events = [];\n\n // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined;\n current.previous = undefined;\n } else {\n breaks.pop();\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n index = breaks.length;\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1]);\n const start = startPositions.pop();\n jumps.push([start, start + slice.length - 1]);\n events.splice(start, 2, slice);\n }\n jumps.reverse();\n index = -1;\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1];\n adjust += jumps[index][1] - jumps[index][0] - 1;\n }\n return gaps;\n}", + "/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { subtokenize } from 'micromark-util-subtokenize';\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n resolve: resolveContent,\n tokenize: tokenizeContent\n};\n\n/** @type {Construct} */\nconst continuationConstruct = {\n partial: true,\n tokenize: tokenizeContinuation\n};\n\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\nfunction resolveContent(events) {\n subtokenize(events);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContent(effects, ok) {\n /** @type {Token | undefined} */\n let previous;\n return chunkStart;\n\n /**\n * Before a content chunk.\n *\n * ```markdown\n * > | abc\n * ^\n * ```\n *\n * @type {State}\n */\n function chunkStart(code) {\n effects.enter(\"content\");\n previous = effects.enter(\"chunkContent\", {\n contentType: \"content\"\n });\n return chunkInside(code);\n }\n\n /**\n * In a content chunk.\n *\n * ```markdown\n * > | abc\n * ^^^\n * ```\n *\n * @type {State}\n */\n function chunkInside(code) {\n if (code === null) {\n return contentEnd(code);\n }\n\n // To do: in `markdown-rs`, each line is parsed on its own, and everything\n // is stitched together resolving.\n if (markdownLineEnding(code)) {\n return effects.check(continuationConstruct, contentContinue, contentEnd)(code);\n }\n\n // Data.\n effects.consume(code);\n return chunkInside;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentEnd(code) {\n effects.exit(\"chunkContent\");\n effects.exit(\"content\");\n return ok(code);\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentContinue(code) {\n effects.consume(code);\n effects.exit(\"chunkContent\");\n previous.next = effects.enter(\"chunkContent\", {\n contentType: \"content\",\n previous\n });\n previous = previous.next;\n return chunkInside;\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this;\n return startLookahead;\n\n /**\n *\n *\n * @type {State}\n */\n function startLookahead(code) {\n effects.exit(\"chunkContent\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, prefixed, \"linePrefix\");\n }\n\n /**\n *\n *\n * @type {State}\n */\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n\n // Always populated by defaults.\n\n const tail = self.events[self.events.length - 1];\n if (!self.parser.constructs.disable.null.includes('codeIndented') && tail && tail[1].type === \"linePrefix\" && tail[2].sliceSerialize(tail[1], true).length >= 4) {\n return ok(code);\n }\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code);\n }\n}", + "/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport { asciiControl, markdownLineEndingOrSpace, markdownLineEnding } from 'micromark-util-character';\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * <a>\n * <a\\>b>\n * <a b>\n * <a)>\n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (`<a>` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (`<a>`).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */\nexport function factoryDestination(effects, ok, nok, type, literalType, literalMarkerType, rawType, stringType, max) {\n const limit = max || Number.POSITIVE_INFINITY;\n let balance = 0;\n return start;\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | <aa>\n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 60) {\n effects.enter(type);\n effects.enter(literalType);\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n return enclosedBefore;\n }\n\n // ASCII control, space, closing paren.\n if (code === null || code === 32 || code === 41 || asciiControl(code)) {\n return nok(code);\n }\n effects.enter(type);\n effects.enter(rawType);\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return raw(code);\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | <aa>\n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType);\n effects.consume(code);\n effects.exit(literalMarkerType);\n effects.exit(literalType);\n effects.exit(type);\n return ok;\n }\n effects.enter(stringType);\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return enclosed(code);\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | <aa>\n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === 62) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n return enclosedBefore(code);\n }\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code);\n }\n effects.consume(code);\n return code === 92 ? enclosedEscape : enclosed;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | <a\\*a>\n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code);\n return enclosed;\n }\n return enclosed(code);\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (!balance && (code === null || code === 41 || markdownLineEndingOrSpace(code))) {\n effects.exit(\"chunkString\");\n effects.exit(stringType);\n effects.exit(rawType);\n effects.exit(type);\n return ok(code);\n }\n if (balance < limit && code === 40) {\n effects.consume(code);\n balance++;\n return raw;\n }\n if (code === 41) {\n effects.consume(code);\n balance--;\n return raw;\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn’t.\n if (code === null || code === 32 || code === 40 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return code === 92 ? rawEscape : raw;\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code);\n return raw;\n }\n return raw(code);\n }\n}", + "/**\n * @import {\n * Effects,\n * State,\n * TokenizeContext,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/**\n * Parse labels.\n *\n * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this;\n let size = 0;\n /** @type {boolean} */\n let seen;\n return start;\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.enter(stringType);\n return atBreak;\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (size > 999 || code === null || code === 91 || code === 93 && !seen ||\n // To do: remove in the future once we’ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn’t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n code === 94 && !size && '_hiddenFootnoteSupport' in self.parser.constructs) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit(stringType);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return atBreak;\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return labelInside(code);\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (code === null || code === 91 || code === 93 || markdownLineEnding(code) || size++ > 999) {\n effects.exit(\"chunkString\");\n return atBreak(code);\n }\n effects.consume(code);\n if (!seen) seen = !markdownSpace(code);\n return code === 92 ? labelEscape : labelInside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return labelInside;\n }\n return labelInside(code);\n }\n}", + "/**\n * @import {\n * Code,\n * Effects,\n * State,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 34 || code === 39 || code === 40) {\n effects.enter(type);\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n marker = code === 40 ? 41 : code;\n return begin;\n }\n return nok(code);\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType);\n effects.consume(code);\n effects.exit(markerType);\n effects.exit(type);\n return ok;\n }\n effects.enter(stringType);\n return atBreak(code);\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType);\n return begin(marker);\n }\n if (code === null) {\n return nok(code);\n }\n\n // Note: blank lines can’t exist in content.\n if (markdownLineEnding(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, atBreak, \"linePrefix\");\n }\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return inside(code);\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n return atBreak(code);\n }\n effects.consume(code);\n return code === 92 ? escape : inside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === 92) {\n effects.consume(code);\n return inside;\n }\n return inside(code);\n }\n}", + "/**\n * @import {Effects, State} from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns {State}\n * Start state.\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n seen = true;\n return start;\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, start, seen ? \"linePrefix\" : \"lineSuffix\")(code);\n }\n return ok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factorySpace } from 'micromark-factory-space';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n};\n\n/** @type {Construct} */\nconst titleBefore = {\n partial: true,\n tokenize: tokenizeTitleBefore\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this;\n /** @type {string} */\n let identifier;\n return start;\n\n /**\n * At start of a definition.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Do not interrupt paragraphs (but do follow definitions).\n // To do: do `interrupt` the way `markdown-rs` does.\n // To do: parse whitespace the way `markdown-rs` does.\n effects.enter(\"definition\");\n return before(code);\n }\n\n /**\n * After optional whitespace, at `[`.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n // To do: parse whitespace the way `markdown-rs` does.\n\n return factoryLabel.call(self, effects, labelAfter,\n // Note: we don’t need to reset the way `markdown-rs` does.\n nok, \"definitionLabel\", \"definitionLabelMarker\", \"definitionLabelString\")(code);\n }\n\n /**\n * After label.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n identifier = normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1));\n if (code === 58) {\n effects.enter(\"definitionMarker\");\n effects.consume(code);\n effects.exit(\"definitionMarker\");\n return markerAfter;\n }\n return nok(code);\n }\n\n /**\n * After marker.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function markerAfter(code) {\n // Note: whitespace is optional.\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, destinationBefore)(code) : destinationBefore(code);\n }\n\n /**\n * Before destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationBefore(code) {\n return factoryDestination(effects, destinationAfter,\n // Note: we don’t need to reset the way `markdown-rs` does.\n nok, \"definitionDestination\", \"definitionDestinationLiteral\", \"definitionDestinationLiteralMarker\", \"definitionDestinationRaw\", \"definitionDestinationString\")(code);\n }\n\n /**\n * After destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationAfter(code) {\n return effects.attempt(titleBefore, after, after)(code);\n }\n\n /**\n * After definition.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return markdownSpace(code) ? factorySpace(effects, afterWhitespace, \"whitespace\")(code) : afterWhitespace(code);\n }\n\n /**\n * After definition, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function afterWhitespace(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"definition\");\n\n // Note: we don’t care about uniqueness.\n // It’s likely that that doesn’t happen very frequently.\n // It is more likely that it wastes precious time.\n self.parser.defined.push(identifier);\n\n // To do: `markdown-rs` interrupt.\n // // You’d be interrupting.\n // tokenizer.interrupt = true\n return ok(code);\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeTitleBefore(effects, ok, nok) {\n return titleBefore;\n\n /**\n * After destination, at whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, beforeMarker)(code) : nok(code);\n }\n\n /**\n * At title.\n *\n * ```markdown\n * | [a]: b\n * > | \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeMarker(code) {\n return factoryTitle(effects, titleAfter, nok, \"definitionTitle\", \"definitionTitleMarker\", \"definitionTitleString\")(code);\n }\n\n /**\n * After title.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfter(code) {\n return markdownSpace(code) ? factorySpace(effects, titleAfterOptionalWhitespace, \"whitespace\")(code) : titleAfterOptionalWhitespace(code);\n }\n\n /**\n * After title, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfterOptionalWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"hardBreakEscape\");\n effects.consume(code);\n return after;\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(\"hardBreakEscape\");\n return ok(code);\n }\n return nok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { splice } from 'micromark-util-chunked';\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n resolve: resolveHeadingAtx,\n tokenize: tokenizeHeadingAtx\n};\n\n/** @type {Resolver} */\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2;\n let contentStart = 3;\n /** @type {Token} */\n let content;\n /** @type {Token} */\n let text;\n\n // Prefix whitespace, part of the opening.\n if (events[contentStart][1].type === \"whitespace\") {\n contentStart += 2;\n }\n\n // Suffix whitespace, part of the closing.\n if (contentEnd - 2 > contentStart && events[contentEnd][1].type === \"whitespace\") {\n contentEnd -= 2;\n }\n if (events[contentEnd][1].type === \"atxHeadingSequence\" && (contentStart === contentEnd - 1 || contentEnd - 4 > contentStart && events[contentEnd - 2][1].type === \"whitespace\")) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4;\n }\n if (contentEnd > contentStart) {\n content = {\n type: \"atxHeadingText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n };\n text = {\n type: \"chunkText\",\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: \"text\"\n };\n splice(events, contentStart, contentEnd - contentStart + 1, [['enter', content, context], ['enter', text, context], ['exit', text, context], ['exit', content, context]]);\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of a heading (atx).\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n effects.enter(\"atxHeading\");\n return before(code);\n }\n\n /**\n * After optional whitespace, at `#`.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"atxHeadingSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code);\n return sequenceOpen;\n }\n\n // Always at least one `#`.\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit(\"atxHeadingSequence\");\n return atBreak(code);\n }\n return nok(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === 35) {\n effects.enter(\"atxHeadingSequence\");\n return sequenceFurther(code);\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"atxHeading\");\n // To do: interrupt like `markdown-rs`.\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code);\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, \"whitespace\")(code);\n }\n\n // To do: generate `data` tokens, add the `text` token later.\n // Needs edit map, see: `markdown.rs`.\n effects.enter(\"atxHeadingText\");\n return data(code);\n }\n\n /**\n * In further sequence (after whitespace).\n *\n * Could be normal “visible” hashes in the heading or a final sequence.\n *\n * ```markdown\n * > | ## aa ##\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceFurther(code) {\n if (code === 35) {\n effects.consume(code);\n return sequenceFurther;\n }\n effects.exit(\"atxHeadingSequence\");\n return atBreak(code);\n }\n\n /**\n * In text.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"atxHeadingText\");\n return atBreak(code);\n }\n effects.consume(code);\n return data;\n }\n}", + "/**\n * List of lowercase HTML “block” tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn’t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * > 👉 **Note**: `search` was added in `CommonMark@0.31`.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML “raw” tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n", + "/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\nimport { htmlBlockNames, htmlRawNames } from 'micromark-util-html-tag-name';\nimport { blankLine } from './blank-line.js';\n\n/** @type {Construct} */\nexport const htmlFlow = {\n concrete: true,\n name: 'htmlFlow',\n resolveTo: resolveToHtmlFlow,\n tokenize: tokenizeHtmlFlow\n};\n\n/** @type {Construct} */\nconst blankLineBefore = {\n partial: true,\n tokenize: tokenizeBlankLineBefore\n};\nconst nonLazyContinuationStart = {\n partial: true,\n tokenize: tokenizeNonLazyContinuationStart\n};\n\n/** @type {Resolver} */\nfunction resolveToHtmlFlow(events) {\n let index = events.length;\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === \"htmlFlow\") {\n break;\n }\n }\n if (index > 1 && events[index - 2][1].type === \"linePrefix\") {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start;\n // Add the prefix start to the HTML line token.\n events[index + 1][1].start = events[index - 2][1].start;\n // Remove the line prefix.\n events.splice(index - 2, 2);\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this;\n /** @type {number} */\n let marker;\n /** @type {boolean} */\n let closingTag;\n /** @type {string} */\n let buffer;\n /** @type {number} */\n let index;\n /** @type {Code} */\n let markerB;\n return start;\n\n /**\n * Start of HTML (flow).\n *\n * ```markdown\n * > | <x />\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * At `<`, after optional whitespace.\n *\n * ```markdown\n * > | <x />\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"htmlFlow\");\n effects.enter(\"htmlFlowData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | <x />\n * ^\n * > | <!doctype>\n * ^\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n closingTag = true;\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n marker = 3;\n // To do:\n // tokenizer.concrete = true\n // To do: use `markdown-rs` style interrupt.\n // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n // Always the case.\n effects.consume(code);\n buffer = String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * After `<!`, at declaration, comment, or CDATA.\n *\n * ```markdown\n * > | <!doctype>\n * ^\n * > | <!--xxx-->\n * ^\n * > | <![CDATA[>&<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n marker = 2;\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n marker = 5;\n index = 0;\n return cdataOpenInside;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n marker = 4;\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n return nok(code);\n }\n\n /**\n * After `<!-`, inside a comment, at another `-`.\n *\n * ```markdown\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside;\n }\n return nok(code);\n }\n\n /**\n * After `<![`, inside CDATA, expecting `CDATA[`.\n *\n * ```markdown\n * > | <![CDATA[>&<]]>\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n if (index === value.length) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation;\n }\n return cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * After `</`, in closing tag, at tag name.\n *\n * ```markdown\n * > | </x>\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n // Always the case.\n effects.consume(code);\n buffer = String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * In tag name.\n *\n * ```markdown\n * > | <ab>\n * ^^\n * > | </ab>\n * ^^\n * ```\n *\n * @type {State}\n */\n function tagName(code) {\n if (code === null || code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n const slash = code === 47;\n const name = buffer.toLowerCase();\n if (!slash && !closingTag && htmlRawNames.includes(name)) {\n marker = 1;\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code);\n }\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n marker = 6;\n if (slash) {\n effects.consume(code);\n return basicSelfClosing;\n }\n\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code);\n }\n marker = 7;\n // Do not support complete HTML when interrupting.\n return self.interrupt && !self.parser.lazy[self.now().line] ? nok(code) : closingTag ? completeClosingTagAfter(code) : completeAttributeNameBefore(code);\n }\n\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return tagName;\n }\n return nok(code);\n }\n\n /**\n * After closing slash of a basic tag name.\n *\n * ```markdown\n * > | <div/>\n * ^\n * ```\n *\n * @type {State}\n */\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code);\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation;\n }\n return nok(code);\n }\n\n /**\n * After closing slash of a complete tag name.\n *\n * ```markdown\n * > | <x/>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeClosingTagAfter;\n }\n return completeEnd(code);\n }\n\n /**\n * At an attribute name.\n *\n * At first, this state is used after a complete tag name, after whitespace,\n * where it expects optional attributes or the end of the tag.\n * It is also reused after attributes, when expecting more optional\n * attributes.\n *\n * ```markdown\n * > | <a />\n * ^\n * > | <a :b>\n * ^\n * > | <a _b>\n * ^\n * > | <a b>\n * ^\n * > | <a >\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code);\n return completeEnd;\n }\n\n // ASCII alphanumerical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameBefore;\n }\n return completeEnd(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | <a :b>\n * ^\n * > | <a _b>\n * ^\n * > | <a b>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeName(code) {\n // ASCII alphanumerical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return completeAttributeName;\n }\n return completeAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, at an optional initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | <a b>\n * ^\n * > | <a b=c>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeNameAfter;\n }\n return completeAttributeNameBefore(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | <a b=c>\n * ^\n * > | <a b=\"c\">\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n markerB = code;\n return completeAttributeValueQuoted;\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAttributeValueBefore;\n }\n return completeAttributeValueUnquoted(code);\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | <a b=\"c\">\n * ^\n * > | <a b='c'>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuoted(code) {\n if (code === markerB) {\n effects.consume(code);\n markerB = null;\n return completeAttributeValueQuotedAfter;\n }\n if (code === null || markdownLineEnding(code)) {\n return nok(code);\n }\n effects.consume(code);\n return completeAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | <a b=c>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 47 || code === 60 || code === 61 || code === 62 || code === 96 || markdownLineEndingOrSpace(code)) {\n return completeAttributeNameAfter(code);\n }\n effects.consume(code);\n return completeAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the\n * end of the tag.\n *\n * ```markdown\n * > | <a b=\"c\">\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a complete tag where only an `>` is allowed.\n *\n * ```markdown\n * > | <a b=\"c\">\n * ^\n * ```\n *\n * @type {State}\n */\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code);\n return completeAfter;\n }\n return nok(code);\n }\n\n /**\n * After `>` in a complete tag.\n *\n * ```markdown\n * > | <x>\n * ^\n * ```\n *\n * @type {State}\n */\n function completeAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return continuation(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return completeAfter;\n }\n return nok(code);\n }\n\n /**\n * In continuation of any HTML kind.\n *\n * ```markdown\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function continuation(code) {\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationCommentInside;\n }\n if (code === 60 && marker === 1) {\n effects.consume(code);\n return continuationRawTagOpen;\n }\n if (code === 62 && marker === 4) {\n effects.consume(code);\n return continuationClose;\n }\n if (code === 63 && marker === 3) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n if (code === 93 && marker === 5) {\n effects.consume(code);\n return continuationCdataInside;\n }\n if (markdownLineEnding(code) && (marker === 6 || marker === 7)) {\n effects.exit(\"htmlFlowData\");\n return effects.check(blankLineBefore, continuationAfter, continuationStart)(code);\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationStart(code);\n }\n effects.consume(code);\n return continuation;\n }\n\n /**\n * In continuation, at eol.\n *\n * ```markdown\n * > | <x>\n * ^\n * | asd\n * ```\n *\n * @type {State}\n */\n function continuationStart(code) {\n return effects.check(nonLazyContinuationStart, continuationStartNonLazy, continuationAfter)(code);\n }\n\n /**\n * In continuation, at eol, before non-lazy content.\n *\n * ```markdown\n * > | <x>\n * ^\n * | asd\n * ```\n *\n * @type {State}\n */\n function continuationStartNonLazy(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return continuationBefore;\n }\n\n /**\n * In continuation, before non-lazy content.\n *\n * ```markdown\n * | <x>\n * > | asd\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return continuationStart(code);\n }\n effects.enter(\"htmlFlowData\");\n return continuation(code);\n }\n\n /**\n * In comment continuation, after one `-`, expecting another.\n *\n * ```markdown\n * > | <!--xxx-->\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after `<`, at `/`.\n *\n * ```markdown\n * > | <script>console.log(1)</script>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after `</`, in a raw tag name.\n *\n * ```markdown\n * > | <script>console.log(1)</script>\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n // Always the case.\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | <![CDATA[>&<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | <!-->\n * ^\n * > | <?>\n * ^\n * > | <!q>\n * ^\n * > | <!--ab-->\n * ^\n * > | <![CDATA[>&<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | <!doctype>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | <!doctype>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > | <div>\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}", + "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable<Code> | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a <b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a <b> c\n * ^\n * > | a <!doctype> c\n * ^\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After `<!`, at declaration, comment, or CDATA.\n *\n * ```markdown\n * > | a <!doctype> c\n * ^\n * > | a <!--b--> c\n * ^\n * > | a <![CDATA[>&<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after `<!-`, at another `-`.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a <!--b--> c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After `<![`, in CDATA, expecting `CDATA[`.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a <![CDATA[>&<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a <!b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a <?b?> c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a <?b?> c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After `</`, in closing tag, at tag name.\n *\n * ```markdown\n * > | a </b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After `</x`, in a tag name.\n *\n * ```markdown\n * > | a </b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a </b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After `<x`, in opening tag name.\n *\n * ```markdown\n * > | a <b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a <b> c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a <b c> d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a <b c> d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a <b c=d> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a <b c=\"d\"> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a <b c=d> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a <b c=\"d\"> e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a <b c=\"d\"> e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a <!--a\n * ^\n * | b-->\n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a <!--a\n * > | b-->\n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a <!--a\n * > | b-->\n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n /** @type {Array<Event>} */\n const newEvents = [];\n while (++index < events.length) {\n const token = events[index][1];\n newEvents.push(events[index]);\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n const offset = token.type === \"labelImage\" ? 4 : 2;\n token.type = \"data\";\n index += offset;\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents);\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array<Event>} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n const label = {\n type: \"label\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[close][1].end\n }\n };\n const text = {\n type: \"labelText\",\n start: {\n ...events[open + offset + 2][1].end\n },\n end: {\n ...events[close - 2][1].start\n }\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n * <p>!<a href=\\\"b\\\">^a</a></p>\n * <p>!<a href=\\\"c\\\">^a</a></p>\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}", + "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}", + "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0;\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"thematicBreak\");\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code;\n return atBreak(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code);\n }\n if (size >= 3 && (code === null || markdownLineEnding(code))) {\n effects.exit(\"thematicBreak\");\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return markdownSpace(code) ? factorySpace(effects, atBreak, \"whitespace\")(code) : atBreak(code);\n }\n}", + "/**\n * @import {\n * Code,\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiDigit, markdownSpace } from 'micromark-util-character';\nimport { blankLine } from './blank-line.js';\nimport { thematicBreak } from './thematic-break.js';\n\n/** @type {Construct} */\nexport const list = {\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd,\n name: 'list',\n tokenize: tokenizeListStart\n};\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n partial: true,\n tokenize: tokenizeListItemPrefixWhitespace\n};\n\n/** @type {Construct} */\nconst indentConstruct = {\n partial: true,\n tokenize: tokenizeIndent\n};\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n const kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n if (!self.interrupt || code === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code);\n }\n }\n return nok(code);\n }\n\n /** @type {State} */\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code);\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter(\"listItemMarker\");\n effects.consume(code);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(blankLine,\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code);\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(blankLine, onBlank, notBlank);\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return factorySpace(effects, ok, \"listItemIndent\", self.containerState.size + 1)(code);\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true;\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined;\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(list, ok, nok), \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"listItemIndent\", self.containerState.size + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Exiter}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this;\n\n // Always populated by defaults.\n\n return factorySpace(effects, afterPrefix, \"listItemPrefixWhitespace\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok(code) : nok(code);\n }\n}", + "/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n resolveTo: resolveToSetextUnderline,\n tokenize: tokenizeSetextUnderline\n};\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length;\n /** @type {number | undefined} */\n let content;\n /** @type {number | undefined} */\n let text;\n /** @type {number | undefined} */\n let definition;\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === \"content\") {\n content = index;\n break;\n }\n if (events[index][1].type === \"paragraph\") {\n text = index;\n }\n }\n // Exit\n else {\n if (events[index][1].type === \"content\") {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1);\n }\n if (!definition && events[index][1].type === \"definition\") {\n definition = index;\n }\n }\n }\n const heading = {\n type: \"setextHeading\",\n start: {\n ...events[content][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n\n // Change the paragraph to setext heading text.\n events[text][1].type = \"setextHeadingText\";\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = {\n ...events[definition][1].end\n };\n } else {\n events[content][1] = heading;\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context]);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable<Code>} */\n let marker;\n return start;\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length;\n /** @type {boolean | undefined} */\n let paragraph;\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== \"lineEnding\" && self.events[index][1].type !== \"linePrefix\" && self.events[index][1].type !== \"content\") {\n paragraph = self.events[index][1].type === \"paragraph\";\n break;\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter(\"setextHeadingLine\");\n marker = code;\n return before(code);\n }\n return nok(code);\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"setextHeadingLineSequence\");\n return inside(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return markdownSpace(code) ? factorySpace(effects, after, \"lineSuffix\")(code) : after(code);\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"setextHeadingLine\");\n return ok(code);\n }\n return nok(code);\n }\n}", + "/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nimport { blankLine, content } from 'micromark-core-commonmark';\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeFlow(effects) {\n const self = this;\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine, atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects, effects.attempt(this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct)), \"linePrefix\")));\n return initial;\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEndingBlank\");\n effects.consume(code);\n effects.exit(\"lineEndingBlank\");\n self.currentConstruct = undefined;\n return initial;\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n self.currentConstruct = undefined;\n return initial;\n }\n}", + "/**\n * @import {\n * Code,\n * InitialConstruct,\n * Initializer,\n * Resolver,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nexport const resolver = {\n resolveAll: createResolver()\n};\nexport const string = initializeFactory('string');\nexport const text = initializeFactory('text');\n\n/**\n * @param {'string' | 'text'} field\n * Field.\n * @returns {InitialConstruct}\n * Construct.\n */\nfunction initializeFactory(field) {\n return {\n resolveAll: createResolver(field === 'text' ? resolveAllLineSuffixes : undefined),\n tokenize: initializeText\n };\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this;\n const constructs = this.parser.constructs[field];\n const text = effects.attempt(constructs, start, notText);\n return start;\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code);\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"data\");\n effects.consume(code);\n return data;\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit(\"data\");\n return text(code);\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n\n /**\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether the code is a break.\n */\n function atBreak(code) {\n if (code === null) {\n return true;\n }\n const list = constructs[code];\n let index = -1;\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index];\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * Resolver.\n * @returns {Resolver}\n * Resolver.\n */\nfunction createResolver(extraResolver) {\n return resolveAllText;\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1;\n /** @type {number | undefined} */\n let enter;\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === \"data\") {\n enter = index;\n index++;\n }\n } else if (!events[index] || events[index][1].type !== \"data\") {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return extraResolver ? extraResolver(events, context) : events;\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0; // Skip first.\n\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === \"lineEnding\") && events[eventIndex - 1][1].type === \"data\") {\n const data = events[eventIndex - 1][1];\n const chunks = context.sliceStream(data);\n let index = chunks.length;\n let bufferIndex = -1;\n let size = 0;\n /** @type {boolean | undefined} */\n let tabs;\n while (index--) {\n const chunk = chunks[index];\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length;\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n if (bufferIndex) break;\n bufferIndex = -1;\n }\n // Number\n else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++;\n break;\n }\n }\n\n // Allow final trailing whitespace.\n if (context._contentTypeTextTrailing && eventIndex === events.length) {\n size = 0;\n }\n if (size) {\n const token = {\n type: eventIndex === events.length || tabs || size < 2 ? \"lineSuffix\" : \"hardBreakTrailing\",\n start: {\n _bufferIndex: index ? bufferIndex : data.start._bufferIndex + bufferIndex,\n _index: data.start._index + index,\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size\n },\n end: {\n ...data.end\n }\n };\n data.end = {\n ...token.start\n };\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token);\n } else {\n events.splice(eventIndex, 0, ['enter', token, context], ['exit', token, context]);\n eventIndex += 2;\n }\n }\n eventIndex++;\n }\n }\n return events;\n}", + "/**\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { attention, autolink, blockQuote, characterEscape, characterReference, codeFenced, codeIndented, codeText, definition, hardBreakEscape, headingAtx, htmlFlow, htmlText, labelEnd, labelStartImage, labelStartLink, lineEnding, list, setextUnderline, thematicBreak } from 'micromark-core-commonmark';\nimport { resolver as resolveText } from './initialize/text.js';\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n};\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n};\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n};\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n};\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n};\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n};\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n};", + "/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit<Point, '_bufferIndex' | '_index'> | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record<string, number>} */\n const columnStart = {};\n /** @type {Array<Construct>} */\n const resolveAllConstructs = [];\n /** @type {Array<Chunk>} */\n let chunks = [];\n /** @type {Array<Token>} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array<Construct> | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray<Construct>} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray<Construct>} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray<Chunk>} chunks\n * Chunks.\n * @param {Pick<Token, 'end' | 'start'>} token\n * Token.\n * @returns {Array<Chunk>}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array<Chunk>} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n /* c8 ignore next 4 -- used to be used, no longer */\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray<Chunk>} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array<string>} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}", + "/**\n * @import {\n * Create,\n * FullNormalizedExtension,\n * InitialConstruct,\n * ParseContext,\n * ParseOptions\n * } from 'micromark-util-types'\n */\n\nimport { combineExtensions } from 'micromark-util-combine-extensions';\nimport { content } from './initialize/content.js';\nimport { document } from './initialize/document.js';\nimport { flow } from './initialize/flow.js';\nimport { string, text } from './initialize/text.js';\nimport * as defaultConstructs from './constructs.js';\nimport { createTokenizer } from './create-tokenizer.js';\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ParseContext}\n * Parser.\n */\nexport function parse(options) {\n const settings = options || {};\n const constructs = /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])]);\n\n /** @type {ParseContext} */\n const parser = {\n constructs,\n content: create(content),\n defined: [],\n document: create(document),\n flow: create(flow),\n lazy: {},\n string: create(string),\n text: create(text)\n };\n return parser;\n\n /**\n * @param {InitialConstruct} initial\n * Construct to start with.\n * @returns {Create}\n * Create a tokenizer.\n */\n function create(initial) {\n return creator;\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}", + "/**\n * @import {Event} from 'micromark-util-types'\n */\n\nimport { subtokenize } from 'micromark-util-subtokenize';\n\n/**\n * @param {Array<Event>} events\n * Events.\n * @returns {Array<Event>}\n * Events.\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events;\n}", + "/**\n * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @callback Preprocessor\n * Preprocess a value.\n * @param {Value} value\n * Value.\n * @param {Encoding | null | undefined} [encoding]\n * Encoding when `value` is a typed array (optional).\n * @param {boolean | null | undefined} [end=false]\n * Whether this is the last chunk (default: `false`).\n * @returns {Array<Chunk>}\n * Chunks.\n */\n\nconst search = /[\\0\\t\\n\\r]/g;\n\n/**\n * @returns {Preprocessor}\n * Preprocess a value.\n */\nexport function preprocess() {\n let column = 1;\n let buffer = '';\n /** @type {boolean | undefined} */\n let start = true;\n /** @type {boolean | undefined} */\n let atCarriageReturn;\n return preprocessor;\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = [];\n /** @type {RegExpMatchArray | null} */\n let match;\n /** @type {number} */\n let next;\n /** @type {number} */\n let startPosition;\n /** @type {number} */\n let endPosition;\n /** @type {Code} */\n let code;\n value = buffer + (typeof value === 'string' ? value.toString() : new TextDecoder(encoding || undefined).decode(value));\n startPosition = 0;\n buffer = '';\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = undefined;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== undefined ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code) {\n case 0:\n {\n chunks.push(65533);\n column++;\n break;\n }\n case 9:\n {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next) chunks.push(-1);\n break;\n }\n case 10:\n {\n chunks.push(-4);\n column = 1;\n break;\n }\n default:\n {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}", + "import { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\n\n/**\n * @param {string} $0\n * Match.\n * @param {string} $1\n * Character escape.\n * @param {string} $2\n * Character reference.\n * @returns {string}\n * Decoded value\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1;\n }\n\n // Reference.\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head = $2.charCodeAt(1);\n const hex = head === 120 || head === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}", + "/**\n * @import {\n * Break,\n * Blockquote,\n * Code,\n * Definition,\n * Emphasis,\n * Heading,\n * Html,\n * Image,\n * InlineCode,\n * Link,\n * ListItem,\n * List,\n * Nodes,\n * Paragraph,\n * PhrasingContent,\n * ReferenceType,\n * Root,\n * Strong,\n * Text,\n * ThematicBreak\n * } from 'mdast'\n * @import {\n * Encoding,\n * Event,\n * Token,\n * Value\n * } from 'micromark-util-types'\n * @import {Point} from 'unist'\n * @import {\n * CompileContext,\n * CompileData,\n * Config,\n * Extension,\n * Handle,\n * OnEnterError,\n * Options\n * } from './types.js'\n */\n\nimport { toString } from 'mdast-util-to-string';\nimport { parse, postprocess, preprocess } from 'micromark';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nimport { decodeString } from 'micromark-util-decode-string';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { stringifyPosition } from 'unist-util-stringify-position';\nconst own = {}.hasOwnProperty;\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding;\n encoding = undefined;\n }\n return compiler(options)(postprocess(parse(options).document().write(preprocess()(value, encoding, true))));\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n characterReference: onexitcharacterreference,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n };\n configure(config, (options || {}).mdastExtensions || []);\n\n /** @type {CompileData} */\n const data = {};\n return compile;\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array<Event>} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n };\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n };\n /** @type {Array<number>} */\n const listStack = [];\n let index = -1;\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === \"listOrdered\" || events[index][1].type === \"listUnordered\") {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n const tail = listStack.pop();\n index = prepareList(events, tail, index);\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n const handler = config[events[index][0]];\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(Object.assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, undefined, tail[0]);\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n\n // Call transforms.\n index = -1;\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n return tree;\n }\n\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n /** @type {Token | undefined} */\n let listItem;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number | undefined} */\n let firstBlankLineIndex;\n /** @type {boolean | undefined} */\n let atMarker;\n while (++index <= length) {\n const event = events[index];\n switch (event[1].type) {\n case \"listUnordered\":\n case \"listOrdered\":\n case \"blockQuote\":\n {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = undefined;\n break;\n }\n case \"lineEndingBlank\":\n {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n atMarker = undefined;\n }\n break;\n }\n case \"linePrefix\":\n case \"listItemValue\":\n case \"listItemMarker\":\n case \"listItemPrefix\":\n case \"listItemPrefixWhitespace\":\n {\n // Empty.\n\n break;\n }\n default:\n {\n atMarker = undefined;\n }\n }\n if (!containerBalance && event[0] === 'enter' && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === 'exit' && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem) {\n let tailIndex = index;\n lineIndex = undefined;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === 'exit') continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\") {\n // Empty\n } else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n }\n\n // Fix position.\n listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n }\n\n // Create a new list item.\n if (event[1].type === \"listItemPrefix\") {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n };\n listItem = item;\n events.splice(index, 0, ['enter', item, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['buffer']}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n /**\n * @type {CompileContext['enter']}\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n /** @type {Array<Nodes>} */\n const siblings = parent.children;\n siblings.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler || undefined]);\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n };\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['exit']}\n */\n function exit(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it’s not open');\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point(token.end);\n }\n\n /**\n * @type {CompileContext['resume']}\n */\n function resume() {\n return toString(this.stack.pop());\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n this.data.expectingFirstListItemValue = undefined;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return;\n this.buffer();\n this.data.flowCodeInside = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n this.data.flowCodeInside = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '');\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1];\n /** @type {Array<Nodes>} */\n const siblings = node.children;\n let tail = siblings[siblings.length - 1];\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n };\n siblings.push(tail);\n }\n this.stack.push(tail);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point(token.end);\n this.data.atHardBreak = undefined;\n return;\n }\n if (!this.data.setextHeadingSlurpLineEnding && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token);\n const ancestor = this.stack[this.stack.length - 2];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string);\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n // Assume a reference.\n this.data.inReference = true;\n if (node.type === 'link') {\n /** @type {Array<PhrasingContent>} */\n const children = fragment.children;\n node.children = children;\n } else {\n node.alt = value;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label;\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n this.data.referenceType = 'full';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token);\n const type = this.data.characterReferenceType;\n /** @type {string} */\n let value;\n if (type) {\n value = decodeNumericCharacterReference(data, type === \"characterReferenceMarkerNumeric\" ? 10 : 16);\n this.data.characterReferenceType = undefined;\n } else {\n const result = decodeNamedCharacterReference(data);\n value = result;\n }\n const tail = this.stack[this.stack.length - 1];\n tail.value += value;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreference(token) {\n const tail = this.stack.pop();\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = 'mailto:' + this.sliceSerialize(token);\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n };\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n}\n\n/**\n * @param {Config} combined\n * @param {Array<Array<Extension> | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1;\n while (++index < extensions.length) {\n const value = extensions[index];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key;\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'transforms':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'enter':\n case 'exit':\n {\n const right = extension[key];\n if (right) {\n Object.assign(combined[key], right);\n }\n break;\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error('Cannot close `' + left.type + '` (' + stringifyPosition({\n start: left.start,\n end: left.end\n }) + '): a different token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is open');\n } else {\n throw new Error('Cannot close document, a token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is still open');\n }\n}", + "/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser<Root>} Parser\n * @typedef {import('unified').Processor<Root>} Processor\n */\n\n/**\n * @typedef {Omit<FromMarkdownOptions, 'extensions' | 'mdastExtensions'>} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly<Options> | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array<Element | Text>}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create `<code>`.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `<pre>`.\n result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n state.patch(node, result)\n return result\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Delete} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strikethrough(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'del',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Emphasis} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function emphasis(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'em',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {FootnoteReference} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function footnoteReference(state, node) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const id = String(node.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n const index = state.footnoteOrder.indexOf(id)\n /** @type {number} */\n let counter\n\n let reuseCounter = state.footnoteCounts.get(id)\n\n if (reuseCounter === undefined) {\n reuseCounter = 0\n state.footnoteOrder.push(id)\n counter = state.footnoteOrder.length\n } else {\n counter = index + 1\n }\n\n reuseCounter += 1\n state.footnoteCounts.set(id, reuseCounter)\n\n /** @type {Element} */\n const link = {\n type: 'element',\n tagName: 'a',\n properties: {\n href: '#' + clobberPrefix + 'fn-' + safeId,\n id:\n clobberPrefix +\n 'fnref-' +\n safeId +\n (reuseCounter > 1 ? '-' + reuseCounter : ''),\n dataFootnoteRef: true,\n ariaDescribedBy: ['footnote-label']\n },\n children: [{type: 'text', value: String(counter)}]\n }\n state.patch(node, link)\n\n /** @type {Element} */\n const sup = {\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [link]\n }\n state.patch(node, sup)\n return state.applyData(node, sup)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Heading} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function heading(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'h' + node.depth,\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Html} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n * Info passed around.\n * @param {Html} node\n * mdast node.\n * @returns {Element | Raw | undefined}\n * hast node.\n */\nexport function html(state, node) {\n if (state.options.allowDangerousHtml) {\n /** @type {Raw} */\n const result = {type: 'raw', value: node.value}\n state.patch(node, result)\n return state.applyData(node, result)\n }\n\n return undefined\n}\n", + "/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Reference} Reference\n *\n * @typedef {import('./state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {Extract<Nodes, Reference>} node\n * Reference node (image, link).\n * @returns {Array<ElementContent>}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return [{type: 'text', value: '![' + node.alt + suffix}]\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ImageReference} node\n * mdast node.\n * @returns {Array<ElementContent> | ElementContent}\n * hast node.\n */\nexport function imageReference(state, node) {\n const id = String(node.identifier).toUpperCase()\n const definition = state.definitionById.get(id)\n\n if (!definition) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {src: normalizeUri(definition.url || ''), alt: node.alt}\n\n if (definition.title !== null && definition.title !== undefined) {\n properties.title = definition.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Image} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function image(state, node) {\n /** @type {Properties} */\n const properties = {src: normalizeUri(node.url)}\n\n if (node.alt !== null && node.alt !== undefined) {\n properties.alt = node.alt\n }\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'img', properties, children: []}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {InlineCode} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function inlineCode(state, node) {\n /** @type {Text} */\n const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n state.patch(node, text)\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'code',\n properties: {},\n children: [text]\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {LinkReference} node\n * mdast node.\n * @returns {Array<ElementContent> | ElementContent}\n * hast node.\n */\nexport function linkReference(state, node) {\n const id = String(node.identifier).toUpperCase()\n const definition = state.definitionById.get(id)\n\n if (!definition) {\n return revert(state, node)\n }\n\n /** @type {Properties} */\n const properties = {href: normalizeUri(definition.url || '')}\n\n if (definition.title !== null && definition.title !== undefined) {\n properties.title = definition.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Link} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function link(state, node) {\n /** @type {Properties} */\n const properties = {href: normalizeUri(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n properties.title = node.title\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'a',\n properties,\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ListItem} node\n * mdast node.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function listItem(state, node, parent) {\n const results = state.all(node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const properties = {}\n /** @type {Array<ElementContent>} */\n const children = []\n\n if (typeof node.checked === 'boolean') {\n const head = results[0]\n /** @type {Element} */\n let paragraph\n\n if (head && head.type === 'element' && head.tagName === 'p') {\n paragraph = head\n } else {\n paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n results.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift({type: 'text', value: ' '})\n }\n\n paragraph.children.unshift({\n type: 'element',\n tagName: 'input',\n properties: {type: 'checkbox', checked: node.checked, disabled: true},\n children: []\n })\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n properties.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < results.length) {\n const child = results[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n children.push({type: 'text', value: '\\n'})\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n const tail = results[results.length - 1]\n\n // Add a final eol.\n if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n children.push({type: 'text', value: '\\n'})\n }\n\n /** @type {Element} */\n const result = {type: 'element', tagName: 'li', properties, children}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = false\n if (node.type === 'list') {\n loose = node.spread || false\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n }\n\n return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === null || spread === undefined\n ? node.children.length > 1\n : spread\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {List} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function list(state, node) {\n /** @type {Properties} */\n const properties = {}\n const results = state.all(node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n properties.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < results.length) {\n const child = results[index]\n\n if (\n child.type === 'element' &&\n child.tagName === 'li' &&\n child.properties &&\n Array.isArray(child.properties.className) &&\n child.properties.className.includes('task-list-item')\n ) {\n properties.className = ['contains-task-list']\n break\n }\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: node.ordered ? 'ol' : 'ul',\n properties,\n children: state.wrap(results, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Paragraph} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function paragraph(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'p',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Parents} HastParents\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastRoot} node\n * mdast node.\n * @returns {HastParents}\n * hast node.\n */\nexport function root(state, node) {\n /** @type {HastRoot} */\n const result = {type: 'root', children: state.wrap(state.all(node))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Strong} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function strong(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'strong',\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Table} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function table(state, node) {\n const rows = state.all(node)\n const firstRow = rows.shift()\n /** @type {Array<Element>} */\n const tableContent = []\n\n if (firstRow) {\n /** @type {Element} */\n const head = {\n type: 'element',\n tagName: 'thead',\n properties: {},\n children: state.wrap([firstRow], true)\n }\n state.patch(node.children[0], head)\n tableContent.push(head)\n }\n\n if (rows.length > 0) {\n /** @type {Element} */\n const body = {\n type: 'element',\n tagName: 'tbody',\n properties: {},\n children: state.wrap(rows, true)\n }\n\n const start = pointStart(node.children[1])\n const end = pointEnd(node.children[node.children.length - 1])\n if (start && end) body.position = {start, end}\n tableContent.push(body)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'table',\n properties: {},\n children: state.wrap(tableContent, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableRow} node\n * mdast node.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {Element}\n * hast node.\n */\nexport function tableRow(state, node, parent) {\n const siblings = parent ? parent.children : undefined\n // Generate a body row when without parent.\n const rowIndex = siblings ? siblings.indexOf(node) : 1\n const tagName = rowIndex === 0 ? 'th' : 'td'\n // To do: option to use `style`?\n const align = parent && parent.type === 'table' ? parent.align : undefined\n const length = align ? align.length : node.children.length\n let cellIndex = -1\n /** @type {Array<ElementContent>} */\n const cells = []\n\n while (++cellIndex < length) {\n // Note: can also be undefined.\n const cell = node.children[cellIndex]\n /** @type {Properties} */\n const properties = {}\n const alignValue = align ? align[cellIndex] : undefined\n\n if (alignValue) {\n properties.align = alignValue\n }\n\n /** @type {Element} */\n let result = {type: 'element', tagName, properties, children: []}\n\n if (cell) {\n result.children = state.all(cell)\n state.patch(cell, result)\n result = state.applyData(cell, result)\n }\n\n cells.push(result)\n }\n\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'tr',\n properties: {},\n children: state.wrap(cells, true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {TableCell} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function tableCell(state, node) {\n // Note: this function is normally not called: see `table-row` for how rows\n // and their cells are compiled.\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'td', // Assume body cell.\n properties: {},\n children: state.all(node)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array<string>} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n", + "/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastText} node\n * mdast node.\n * @returns {HastElement | HastText}\n * hast node.\n */\nexport function text(state, node) {\n /** @type {HastText} */\n const result = {type: 'text', value: trimLines(String(node.value))}\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {ThematicBreak} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function thematicBreak(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'hr',\n properties: {},\n children: []\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", + "import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {import('../state.js').Handlers}\n */\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n // @ts-expect-error: root is different, but hard to type.\n root,\n strong,\n table,\n tableCell,\n tableRow,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return undefined\n}\n", + "export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n", + "import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n case 'ArrayBuffer':\n return as(new Uint8Array(value).buffer, value);\n case 'DataView': {\n const { buffer } = new Uint8Array(value);\n return as(new DataView(buffer), value);\n }\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array<string,any>} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n", + "import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n case 'DataView':\n return [ARRAY, asString];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type) {\n let spread = value;\n if (type === 'DataView') {\n spread = new Uint8Array(value.buffer);\n }\n else if (type === 'ArrayBuffer') {\n spread = new Uint8Array(value);\n }\n return as([type, [...spread]], value);\n }\n\n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array<string,any>} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n", + "import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array<string,any>} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n * Generate content for the backreference dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array<ElementContent> | ElementContent | string}\n * Content for the backreference when linking back from definitions to their\n * reference.\n *\n * @callback FootnoteBackLabelTemplate\n * Generate a back label dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array<ElementContent>}\n * Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n /** @type {Array<ElementContent>} */\n const result = [{type: 'text', value: '↩'}]\n\n if (rereferenceIndex > 1) {\n result.push({\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [{type: 'text', value: String(rereferenceIndex)}]\n })\n }\n\n return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n return (\n 'Back to reference ' +\n (referenceIndex + 1) +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const footnoteBackContent =\n state.options.footnoteBackContent || defaultFootnoteBackContent\n const footnoteBackLabel =\n state.options.footnoteBackLabel || defaultFootnoteBackLabel\n const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n className: ['sr-only']\n }\n /** @type {Array<ElementContent>} */\n const listItems = []\n let referenceIndex = -1\n\n while (++referenceIndex < state.footnoteOrder.length) {\n const definition = state.footnoteById.get(\n state.footnoteOrder[referenceIndex]\n )\n\n if (!definition) {\n continue\n }\n\n const content = state.all(definition)\n const id = String(definition.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let rereferenceIndex = 0\n /** @type {Array<ElementContent>} */\n const backReferences = []\n const counts = state.footnoteCounts.get(id)\n\n // eslint-disable-next-line no-unmodified-loop-condition\n while (counts !== undefined && ++rereferenceIndex <= counts) {\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n let children =\n typeof footnoteBackContent === 'string'\n ? footnoteBackContent\n : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n if (typeof children === 'string') {\n children = {type: 'text', value: children}\n }\n\n backReferences.push({\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n clobberPrefix +\n 'fnref-' +\n safeId +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n dataFootnoteBackref: '',\n ariaLabel:\n typeof footnoteBackLabel === 'string'\n ? footnoteBackLabel\n : footnoteBackLabel(referenceIndex, rereferenceIndex),\n className: ['data-footnote-backref']\n },\n children: Array.isArray(children) ? children : [children]\n })\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(definition, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: footnoteLabelTagName,\n properties: {\n ...structuredClone(footnoteLabelProperties),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n", + "/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record<string, unknown> | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array<Props | TestFunction | string> | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends string>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * (<Condition extends Props>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * (<Condition extends TestFunction>(node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends string>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * (<Condition extends Props>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * (<Condition extends TestFunction>(test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate<Condition, Node>) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array<Props | TestFunction | string>} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array<Check>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propsFactory(check) {\n const checkAsRecord = /** @type {Record<string, unknown>} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record<string, unknown>} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n", + "/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude<import('unist-util-is').Test, undefined> | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate<Check, Value> extends Value\n * ? Predicate<Check, Value>\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array<any>\n * ? MatchesOne<Value, Check[keyof Check]>\n * : MatchesOne<Value, Check>\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array<infer Children>}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent<InclusiveDescendant<Tree>, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent<Node, Child>\n * | InternalAncestor<Node, InternalParent<Node, Child>, Max, Increment<Depth>>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor<InclusiveDescendant<Tree>, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant<Tree['children'][number], Max, Increment<Depth>>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array<VisitedParents>} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor<Matches<InclusiveDescendant<Tree>, Check>, Ancestor<Tree, Matches<InclusiveDescendant<Tree>, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly<ActionTuple>} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor<Tree, Check>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor<Tree>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array<UnistParent>} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record<string, unknown>} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly<ActionTuple>} */\n let result = empty\n /** @type {Readonly<ActionTuple>} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array<UnistParent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly<ActionTuple>}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n", + "/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Exclude<import('unist-util-is').Test, undefined> | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate<Check, Value> extends Value\n * ? Predicate<Check, Value>\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array<any>\n * ? MatchesOne<Value, Check[keyof Check]>\n * : MatchesOne<Value, Check>\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array<infer Children>}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent<InclusiveDescendant<Tree>, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent<Node, Child>\n * | InternalAncestor<Node, InternalParent<Node, Child>, Max, Increment<Depth>>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant<Tree['children'][number], Max, Increment<Depth>>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor<Visited, Parent<Ancestor, Visited>>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches<Descendant, Check>,\n * Extract<Descendant, UnistParent>\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant<Tree>,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor<Tree, Check>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor<Tree>} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array<UnistParent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n", + "/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n * Handle a node.\n * @param {State} state\n * Info passed around.\n * @param {any} node\n * mdast node to handle.\n * @param {MdastParents | undefined} parent\n * Parent of `node`.\n * @returns {Array<HastElementContent> | HastElementContent | undefined}\n * hast node.\n *\n * @typedef {Partial<Record<MdastNodes['type'], Handler>>} Handlers\n * Handle nodes.\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Whether to persist raw HTML in markdown in the hast tree (default:\n * `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n * Prefix to use before the `id` property on footnotes to prevent them from\n * *clobbering* (default: `'user-content-'`).\n *\n * Pass `''` for trusted markdown and when you are careful with\n * polyfilling.\n * You could pass a different prefix.\n *\n * DOM clobbering is this:\n *\n * ```html\n * <p id=\"x\"></p>\n * <script>alert(x) // `x` now refers to the `p#x` DOM element</script>\n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array<MdastNodes['type']> | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array<HastElementContent>} all\n * Transform the children of an mdast parent to hast.\n * @property {<Type extends HastNodes>(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map<string, MdastDefinition>} definitionById\n * Definitions by their identifier.\n * @property {Map<string, MdastFootnoteDefinition>} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map<string, number>} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array<string>} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array<HastElementContent> | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {<Type extends HastRootContent>(nodes: Array<Type>, loose?: boolean | undefined) => Array<HastText | Type>} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map<string, MdastDefinition>} */\n const definitionById = new Map()\n /** @type {Map<string, MdastFootnoteDefinition>} */\n const footnoteById = new Map()\n /** @type {Map<string, number>} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/9032189/lib/index.js#L20-L21>.\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array<HastElementContent> | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array<HastElementContent>}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array<HastElementContent>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array<HastElementContent>} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array<Type>} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array<HastText | Type>}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array<HastText | Type>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n", + "/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * <p id=x></p>\n * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `<div>` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n", + "/**\n * @import {Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {Options as ToHastOptions} from 'mdast-util-to-hast'\n * @import {Processor} from 'unified'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit<ToHastOptions, 'file'>} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise<undefined>}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given,\n * runs the (rehype) plugins used on it with a hast tree,\n * then discards the result (*bridge mode*)\n * * otherwise,\n * returns a hast tree,\n * the plugins used after `remarkRehype` are rehype plugins (*mutate mode*)\n *\n * > 👉 **Note**:\n * > It’s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don’t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc);\n * this is a heavy task as it needs a full HTML parser,\n * but it is the only way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark,\n * which we follow by default.\n * They are supported by GitHub,\n * so footnotes can be enabled in markdown with `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes,\n * which is hidden for sighted users but shown to assistive technology.\n * When your page is not in English,\n * you must define translated values.\n *\n * Back references use ARIA attributes,\n * but the section label itself uses a heading that is hidden with an\n * `sr-only` class.\n * To show it to sighted users,\n * define different attributes in `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem,\n * as it links footnote calls to footnote definitions on the page through `id`\n * attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * <p id=x></p>\n * <script>alert(x) // `x` now refers to the DOM `p#x` element</script>\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value`\n * (and doesn’t have `data.hName`, `data.hProperties`, or `data.hChildren`,\n * see later),\n * create a hast `text` node\n * * otherwise,\n * create a `<div>` element (which could be changed with `data.hName`),\n * with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly<Options> | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly<Options> | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @overload\n * @param {Readonly<Options> | Processor | null | undefined} [destination]\n * @param {Readonly<Options> | null | undefined} [options]\n * @returns {TransformBridge | TransformMutate}\n *\n * @param {Readonly<Options> | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly<Options> | null | undefined} [options]\n * When a processor was given,\n * configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n", + "/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n", + "'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n", + "export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n", + "// To do: remove `void`s\n// To do: remove `null` from output of our APIs, allow it as user APIs.\n\n/**\n * @typedef {(error?: Error | null | undefined, ...output: Array<any>) => void} Callback\n * Callback.\n *\n * @typedef {(...input: Array<any>) => any} Middleware\n * Ware.\n *\n * @typedef Pipeline\n * Pipeline.\n * @property {Run} run\n * Run the pipeline.\n * @property {Use} use\n * Add middleware.\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n *\n * Calls `done` on completion with either an error or the output of the\n * last middleware.\n *\n * > 👉 **Note**: as the length of input defines whether async functions get a\n * > `next` function,\n * > it’s recommended to keep `input` at one value normally.\n\n *\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n * Pipeline.\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error | null | undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware` into a uniform interface.\n *\n * You can pass all input to the resulting function.\n * `callback` is then called with the output of `middleware`.\n *\n * If `middleware` accepts more arguments than the later given in input,\n * an extra `done` function is passed to it after that input,\n * which must be called by `middleware`.\n *\n * The first value in `input` is the main input value.\n * All other input values are the rest input values.\n * The values given to `callback` are the input values,\n * merged with every non-nullish output value.\n *\n * * if `middleware` throws an error,\n * returns a promise that is rejected,\n * or calls the given `done` function with an error,\n * `callback` is called with that error\n * * if `middleware` returns a value or returns a promise that is resolved,\n * that value is the main output value\n * * if `middleware` calls `done`,\n * all non-nullish values except for the first one (the error) overwrite the\n * output values\n *\n * @param {Middleware} middleware\n * Function to wrap.\n * @param {Callback} callback\n * Callback called with the output of `middleware`.\n * @returns {Run}\n * Wrapped middleware.\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result && result.then && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n *\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n", + "// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const minpath = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [extname]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, extname) {\n if (extname !== undefined && typeof extname !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (\n extname === undefined ||\n extname.length === 0 ||\n extname.length > path.length\n ) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (extname === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extnameIndex = extname.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extnameIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === extname.codePointAt(extnameIndex--)) {\n if (extnameIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extnameIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array<string>} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n", + "// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const minproc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n", + "/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: <https://github.com/nodejs/node/blob/6a3403c/lib/internal/url.js#L720>\nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n", + "import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: <https://github.com/nodejs/node/blob/6a3403c/lib/internal/url.js>\n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n", + "/**\n * @import {Node, Point, Position} from 'unist'\n * @import {Options as MessageOptions} from 'vfile-message'\n * @import {Compatible, Data, Map, Options, Value} from 'vfile'\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {minpath} from '#minpath'\nimport {minproc} from '#minproc'\nimport {urlToPath, isUrl} from '#minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n // Prevent calling `cwd` (which could be expensive) if it’s not needed;\n // the empty string will be overridden in the next block.\n this.cwd = 'cwd' in options ? '' : minproc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const field = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n field in options &&\n options[field] !== undefined &&\n options[field] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[field] = field === 'history' ? [...options[field]] : options[field]\n }\n }\n\n /** @type {string} */\n let field\n\n // Set non-path related properties.\n for (field in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(field)) {\n // @ts-expect-error: fine to set other things.\n this[field] = options[field]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path)\n : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = minpath.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string'\n ? minpath.dirname(this.path)\n : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = minpath.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string'\n ? minpath.extname(this.path)\n : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = minpath.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = minpath.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > <https://nodejs.org/api/util.html#whatwg-supported-encodings>.\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(minpath.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + minpath.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n", + "export const CallableInstance =\n /**\n * @type {new <Parameters extends Array<unknown>, Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array<unknown>) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record<string | symbol, Function>} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const value = proto[property]\n /** @type {(...parameters: Array<unknown>) => unknown} */\n const apply = function () {\n return value.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n // Not needed for us in `unified`: we only call this on the `copy`\n // function,\n // and we don't need to add its fields (`length`, `name`)\n // over.\n // See also: GH-246.\n // const names = Object.getOwnPropertyNames(value)\n //\n // for (const p of names) {\n // const descriptor = Object.getOwnPropertyDescriptor(value, p)\n // if (descriptor) Object.defineProperty(apply, p, descriptor)\n // }\n\n return apply\n }\n )\n )\n", + "/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@linkcode CompileResultMap}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@linkcode Node}\n * and {@linkcode VFile} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@linkcode VFile} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@linkcode Node}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin<Array<any>, any, any> |\n * PluginTuple<Array<any>, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array<Pluggable>} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// <https://github.com/microsoft/TypeScript/issues/55197>.\n/**\n * @template {Array<unknown>} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array<unknown>} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin<TupleParameters, Input, Output>,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback<Output>} next\n * Callback.\n * @returns {(\n * Promise<Output | undefined | void> |\n * Promise<never> | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise<undefined>` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise<Node>` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>\n * : // Unknown.\n * Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@linkcode VFile} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@linkcode VFile}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser<ParseTree extends undefined ? Node : ParseTree> |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array<PluginTuple<Array<unknown>>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser<ParseTree extends undefined ? Node : ParseTree> |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n * New *unfrozen* processor ({@linkcode Processor}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > **Note**: to register custom data in TypeScript, augment the\n * > {@linkcode Data} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback<VFileWithOutput<CompileResult>>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise<VFileWithOutput<CompileResult>>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback<VFileWithOutput<CompileResult>> | undefined} [done]\n * Callback (optional).\n * @returns {Promise<VFile> | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput<CompileResult>) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput<CompileResult>} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput<CompileResult> | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput<CompileResult>}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput<CompileResult> | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback<VFileWithOutput<CompileResult>>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback<TailTree extends undefined ? Node : TailTree>} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback<TailTree extends undefined ? Node : TailTree>} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise<TailTree extends undefined ? Node : TailTree>}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback<TailTree extends undefined ? Node : TailTree> |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback<TailTree extends undefined ? Node : TailTree>} [done]\n * Callback (optional).\n * @returns {Promise<TailTree extends undefined ? Node : TailTree> | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback<TailTree extends undefined ? Node : TailTree>}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array<unknown>} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n *\n * @overload\n * @param {Plugin<Parameters, Input, Output>} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin<ParseTree, HeadTree, TailTree, CompileTree, CompileResult, Input, Output>}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor<ParseTree, HeadTree, TailTree, CompileTree, CompileResult>}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple<Array<unknown>>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array<unknown>} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n", + "/**\n * @import {Element, ElementContent, Nodes, Parents, Root} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {ComponentProps, ElementType, ReactElement} from 'react'\n * @import {Options as RemarkRehypeOptions} from 'remark-rehype'\n * @import {BuildVisitor} from 'unist-util-visit'\n * @import {PluggableList, Processor} from 'unified'\n */\n\n/**\n * @callback AllowElement\n * Filter elements.\n * @param {Readonly<Element>} element\n * Element to check.\n * @param {number} index\n * Index of `element` in `parent`.\n * @param {Readonly<Parents> | undefined} parent\n * Parent of `element`.\n * @returns {boolean | null | undefined}\n * Whether to allow `element` (default: `false`).\n */\n\n/**\n * @typedef ExtraProps\n * Extra fields we pass.\n * @property {Element | undefined} [node]\n * passed when `passNode` is on.\n */\n\n/**\n * @typedef {{\n * [Key in Extract<ElementType, string>]?: ElementType<ComponentProps<Key> & ExtraProps>\n * }} Components\n * Map tag names to components.\n */\n\n/**\n * @typedef Deprecation\n * Deprecation.\n * @property {string} from\n * Old field.\n * @property {string} id\n * ID in readme.\n * @property {keyof Options} [to]\n * New field.\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {AllowElement | null | undefined} [allowElement]\n * Filter elements (optional);\n * `allowedElements` / `disallowedElements` is used first.\n * @property {ReadonlyArray<string> | null | undefined} [allowedElements]\n * Tag names to allow (default: all tag names);\n * cannot combine w/ `disallowedElements`.\n * @property {string | null | undefined} [children]\n * Markdown.\n * @property {string | null | undefined} [className]\n * Wrap in a `div` with this class name.\n * @property {Components | null | undefined} [components]\n * Map tag names to components.\n * @property {ReadonlyArray<string> | null | undefined} [disallowedElements]\n * Tag names to disallow (default: `[]`);\n * cannot combine w/ `allowedElements`.\n * @property {PluggableList | null | undefined} [rehypePlugins]\n * List of rehype plugins to use.\n * @property {PluggableList | null | undefined} [remarkPlugins]\n * List of remark plugins to use.\n * @property {Readonly<RemarkRehypeOptions> | null | undefined} [remarkRehypeOptions]\n * Options to pass through to `remark-rehype`.\n * @property {boolean | null | undefined} [skipHtml=false]\n * Ignore HTML in markdown completely (default: `false`).\n * @property {boolean | null | undefined} [unwrapDisallowed=false]\n * Extract (unwrap) what’s in disallowed elements (default: `false`);\n * normally when say `strong` is not allowed, it and it’s children are dropped,\n * with `unwrapDisallowed` the element itself is replaced by its children.\n * @property {UrlTransform | null | undefined} [urlTransform]\n * Change URLs (default: `defaultUrlTransform`)\n */\n\n/**\n * @callback UrlTransform\n * Transform all URLs.\n * @param {string} url\n * URL.\n * @param {string} key\n * Property name (example: `'href'`).\n * @param {Readonly<Element>} node\n * Node.\n * @returns {string | null | undefined}\n * Transformed URL (optional).\n */\n\nimport {unreachable} from 'devlop'\nimport {toJsxRuntime} from 'hast-util-to-jsx-runtime'\nimport {urlAttributes} from 'html-url-attributes'\nimport {Fragment, jsx, jsxs} from 'react/jsx-runtime'\nimport {createElement, useEffect, useState} from 'react'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport {unified} from 'unified'\nimport {visit} from 'unist-util-visit'\nimport {VFile} from 'vfile'\n\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {PluggableList} */\nconst emptyPlugins = []\n/** @type {Readonly<RemarkRehypeOptions>} */\nconst emptyRemarkRehypeOptions = {allowDangerousHtml: true}\nconst safeProtocol = /^(https?|ircs?|mailto|xmpp)$/i\n\n// Mutable because we `delete` any time it’s used and a message is sent.\n/** @type {ReadonlyArray<Readonly<Deprecation>>} */\nconst deprecations = [\n {from: 'astPlugins', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'allowDangerousHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {\n from: 'allowNode',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowElement'\n },\n {\n from: 'allowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'allowedElements'\n },\n {\n from: 'disallowedTypes',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes',\n to: 'disallowedElements'\n },\n {from: 'escapeHtml', id: 'remove-buggy-html-in-markdown-parser'},\n {from: 'includeElementIndex', id: '#remove-includeelementindex'},\n {\n from: 'includeNodeIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n },\n {from: 'linkTarget', id: 'remove-linktarget'},\n {from: 'plugins', id: 'change-plugins-to-remarkplugins', to: 'remarkPlugins'},\n {from: 'rawSourcePos', id: '#remove-rawsourcepos'},\n {from: 'renderers', id: 'change-renderers-to-components', to: 'components'},\n {from: 'source', id: 'change-source-to-children', to: 'children'},\n {from: 'sourcePos', id: '#remove-sourcepos'},\n {from: 'transformImageUri', id: '#add-urltransform', to: 'urlTransform'},\n {from: 'transformLinkUri', id: '#add-urltransform', to: 'urlTransform'}\n]\n\n/**\n * Component to render markdown.\n *\n * This is a synchronous component.\n * When using async plugins,\n * see {@linkcode MarkdownAsync} or {@linkcode MarkdownHooks}.\n *\n * @param {Readonly<Options>} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nexport function Markdown(options) {\n const processor = createProcessor(options)\n const file = createFile(options)\n return post(processor.runSync(processor.parse(file), file), options)\n}\n\n/**\n * Component to render markdown with support for async plugins\n * through async/await.\n *\n * Components returning promises are supported on the server.\n * For async support on the client,\n * see {@linkcode MarkdownHooks}.\n *\n * @param {Readonly<Options>} options\n * Props.\n * @returns {Promise<ReactElement>}\n * Promise to a React element.\n */\nexport async function MarkdownAsync(options) {\n const processor = createProcessor(options)\n const file = createFile(options)\n const tree = await processor.run(processor.parse(file), file)\n return post(tree, options)\n}\n\n/**\n * Component to render markdown with support for async plugins through hooks.\n *\n * This uses `useEffect` and `useState` hooks.\n * Hooks run on the client and do not immediately render something.\n * For async support on the server,\n * see {@linkcode MarkdownAsync}.\n *\n * @param {Readonly<Options>} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nexport function MarkdownHooks(options) {\n const processor = createProcessor(options)\n const [error, setError] = useState(\n /** @type {Error | undefined} */ (undefined)\n )\n const [tree, setTree] = useState(/** @type {Root | undefined} */ (undefined))\n\n useEffect(\n /* c8 ignore next 7 -- hooks are client-only. */\n function () {\n const file = createFile(options)\n processor.run(processor.parse(file), file, function (error, tree) {\n setError(error)\n setTree(tree)\n })\n },\n [\n options.children,\n options.rehypePlugins,\n options.remarkPlugins,\n options.remarkRehypeOptions\n ]\n )\n\n /* c8 ignore next -- hooks are client-only. */\n if (error) throw error\n\n /* c8 ignore next -- hooks are client-only. */\n return tree ? post(tree, options) : createElement(Fragment)\n}\n\n/**\n * Set up the `unified` processor.\n *\n * @param {Readonly<Options>} options\n * Props.\n * @returns {Processor<MdastRoot, MdastRoot, Root, undefined, undefined>}\n * Result.\n */\nfunction createProcessor(options) {\n const rehypePlugins = options.rehypePlugins || emptyPlugins\n const remarkPlugins = options.remarkPlugins || emptyPlugins\n const remarkRehypeOptions = options.remarkRehypeOptions\n ? {...options.remarkRehypeOptions, ...emptyRemarkRehypeOptions}\n : emptyRemarkRehypeOptions\n\n const processor = unified()\n .use(remarkParse)\n .use(remarkPlugins)\n .use(remarkRehype, remarkRehypeOptions)\n .use(rehypePlugins)\n\n return processor\n}\n\n/**\n * Set up the virtual file.\n *\n * @param {Readonly<Options>} options\n * Props.\n * @returns {VFile}\n * Result.\n */\nfunction createFile(options) {\n const children = options.children || ''\n const file = new VFile()\n\n if (typeof children === 'string') {\n file.value = children\n } else {\n unreachable(\n 'Unexpected value `' +\n children +\n '` for `children` prop, expected `string`'\n )\n }\n\n return file\n}\n\n/**\n * Process the result from unified some more.\n *\n * @param {Nodes} tree\n * Tree.\n * @param {Readonly<Options>} options\n * Props.\n * @returns {ReactElement}\n * React element.\n */\nfunction post(tree, options) {\n const allowedElements = options.allowedElements\n const allowElement = options.allowElement\n const components = options.components\n const disallowedElements = options.disallowedElements\n const skipHtml = options.skipHtml\n const unwrapDisallowed = options.unwrapDisallowed\n const urlTransform = options.urlTransform || defaultUrlTransform\n\n for (const deprecation of deprecations) {\n if (Object.hasOwn(options, deprecation.from)) {\n unreachable(\n 'Unexpected `' +\n deprecation.from +\n '` prop, ' +\n (deprecation.to\n ? 'use `' + deprecation.to + '` instead'\n : 'remove it') +\n ' (see <' +\n changelog +\n '#' +\n deprecation.id +\n '> for more info)'\n )\n }\n }\n\n if (allowedElements && disallowedElements) {\n unreachable(\n 'Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other'\n )\n }\n\n // Wrap in `div` if there’s a class name.\n if (options.className) {\n tree = {\n type: 'element',\n tagName: 'div',\n properties: {className: options.className},\n // Assume no doctypes.\n children: /** @type {Array<ElementContent>} */ (\n tree.type === 'root' ? tree.children : [tree]\n )\n }\n }\n\n visit(tree, transform)\n\n return toJsxRuntime(tree, {\n Fragment,\n // @ts-expect-error\n // React components are allowed to return numbers,\n // but not according to the types in hast-util-to-jsx-runtime\n components,\n ignoreInvalidStyle: true,\n jsx,\n jsxs,\n passKeys: true,\n passNode: true\n })\n\n /** @type {BuildVisitor<Root>} */\n function transform(node, index, parent) {\n if (node.type === 'raw' && parent && typeof index === 'number') {\n if (skipHtml) {\n parent.children.splice(index, 1)\n } else {\n parent.children[index] = {type: 'text', value: node.value}\n }\n\n return index\n }\n\n if (node.type === 'element') {\n /** @type {string} */\n let key\n\n for (key in urlAttributes) {\n if (\n Object.hasOwn(urlAttributes, key) &&\n Object.hasOwn(node.properties, key)\n ) {\n const value = node.properties[key]\n const test = urlAttributes[key]\n if (test === null || test.includes(node.tagName)) {\n node.properties[key] = urlTransform(String(value || ''), key, node)\n }\n }\n }\n }\n\n if (node.type === 'element') {\n let remove = allowedElements\n ? !allowedElements.includes(node.tagName)\n : disallowedElements\n ? disallowedElements.includes(node.tagName)\n : false\n\n if (!remove && allowElement && typeof index === 'number') {\n remove = !allowElement(node, index, parent)\n }\n\n if (remove && parent && typeof index === 'number') {\n if (unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n }\n }\n}\n\n/**\n * Make a URL safe.\n *\n * @satisfies {UrlTransform}\n * @param {string} value\n * URL.\n * @returns {string}\n * Safe URL.\n */\nexport function defaultUrlTransform(value) {\n // Same as:\n // <https://github.com/micromark/micromark/blob/929275e/packages/micromark-util-sanitize-uri/dev/index.js#L34>\n // But without the `encode` part.\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon === -1 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash !== -1 && colon > slash) ||\n (questionMark !== -1 && colon > questionMark) ||\n (numberSign !== -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n safeProtocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n */\n\n/**\n * @template {string} SimpleSelector\n * Selector type.\n * @template {string} DefaultTagName\n * Default tag name.\n * @typedef {(\n * SimpleSelector extends ''\n * ? DefaultTagName\n * : SimpleSelector extends `${infer TagName}.${infer Rest}`\n * ? ExtractTagName<TagName, DefaultTagName>\n * : SimpleSelector extends `${infer TagName}#${infer Rest}`\n * ? ExtractTagName<TagName, DefaultTagName>\n * : SimpleSelector extends string\n * ? SimpleSelector\n * : DefaultTagName\n * )} ExtractTagName\n * Extract tag name from a simple selector.\n */\n\nconst search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @template {string} Selector\n * Type of selector.\n * @template {string} [DefaultTagName='div']\n * Type of default tag name (default: `'div'`).\n * @param {Selector | null | undefined} [selector]\n * Simple CSS selector (optional).\n *\n * Can contain a tag name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param {DefaultTagName | null | undefined} [defaultTagName='div']\n * Tag name to use if `selector` does not specify one (default: `'div'`).\n * @returns {Element & {tagName: ExtractTagName<Selector, DefaultTagName>}}\n * Built element.\n */\nexport function parseSelector(selector, defaultTagName) {\n const value = selector || ''\n /** @type {Properties} */\n const props = {}\n let start = 0\n /** @type {string | undefined} */\n let previous\n /** @type {string | undefined} */\n let tagName\n\n while (start < value.length) {\n search.lastIndex = start\n const match = search.exec(value)\n const subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n tagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n // @ts-expect-error: tag name is parsed.\n tagName: tagName || defaultTagName || 'div',\n properties: props,\n children: []\n }\n}\n", + "/**\n * @import {Element, Nodes, RootContent, Root} from 'hast'\n * @import {Info, Schema} from 'property-information'\n */\n\n/**\n * @typedef {Array<Nodes | PrimitiveChild>} ArrayChildNested\n * List of children (deep).\n */\n\n/**\n * @typedef {Array<ArrayChildNested | Nodes | PrimitiveChild>} ArrayChild\n * List of children.\n */\n\n/**\n * @typedef {Array<number | string>} ArrayValue\n * List of property values for space- or comma separated values (such as `className`).\n */\n\n/**\n * @typedef {ArrayChild | Nodes | PrimitiveChild} Child\n * Acceptable child value.\n */\n\n/**\n * @typedef {number | string | null | undefined} PrimitiveChild\n * Primitive children, either ignored (nullish), or turned into text nodes.\n */\n\n/**\n * @typedef {boolean | number | string | null | undefined} PrimitiveValue\n * Primitive property value.\n */\n\n/**\n * @typedef {Record<string, PropertyValue | Style>} Properties\n * Acceptable value for element properties.\n */\n\n/**\n * @typedef {ArrayValue | PrimitiveValue} PropertyValue\n * Primitive value or list value.\n */\n\n/**\n * @typedef {Element | Root} Result\n * Result from a `h` (or `s`) call.\n */\n\n/**\n * @typedef {number | string} StyleValue\n * Value for a CSS style field.\n */\n\n/**\n * @typedef {Record<string, StyleValue>} Style\n * Supported value of a `style` prop.\n */\n\nimport {parse as parseCommas} from 'comma-separated-tokens'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {find, normalize} from 'property-information'\nimport {parse as parseSpaces} from 'space-separated-tokens'\n\n/**\n * @param {Schema} schema\n * Schema to use.\n * @param {string} defaultTagName\n * Default tag name.\n * @param {ReadonlyArray<string> | undefined} [caseSensitive]\n * Case-sensitive tag names (default: `undefined`).\n * @returns\n * `h`.\n */\nexport function createH(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive ? createAdjustMap(caseSensitive) : undefined\n\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @overload\n * @param {null | undefined} [selector]\n * @param {...Child} children\n * @returns {Root}\n *\n * @overload\n * @param {string} selector\n * @param {Properties} properties\n * @param {...Child} children\n * @returns {Element}\n *\n * @overload\n * @param {string} selector\n * @param {...Child} children\n * @returns {Element}\n *\n * @param {string | null | undefined} [selector]\n * Selector.\n * @param {Child | Properties | null | undefined} [properties]\n * Properties (or first child) (default: `undefined`).\n * @param {...Child} children\n * Children.\n * @returns {Result}\n * Result.\n */\n function h(selector, properties, ...children) {\n /** @type {Result} */\n let node\n\n if (selector === null || selector === undefined) {\n node = {type: 'root', children: []}\n // Properties are not supported for roots.\n const child = /** @type {Child} */ (properties)\n children.unshift(child)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n const lower = node.tagName.toLowerCase()\n const adjusted = adjust ? adjust.get(lower) : undefined\n node.tagName = adjusted || lower\n\n // Handle properties.\n if (isChild(properties)) {\n children.unshift(properties)\n } else {\n for (const [key, value] of Object.entries(properties)) {\n addProperty(schema, node.properties, key, value)\n }\n }\n }\n\n // Handle children.\n for (const child of children) {\n addChild(node.children, child)\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n return h\n}\n\n/**\n * Check if something is properties or a child.\n *\n * @param {Child | Properties} value\n * Value to check.\n * @returns {value is Child}\n * Whether `value` is definitely a child.\n */\nfunction isChild(value) {\n // Never properties if not an object.\n if (value === null || typeof value !== 'object' || Array.isArray(value)) {\n return true\n }\n\n // Never node without `type`; that’s the main discriminator.\n if (typeof value.type !== 'string') return false\n\n // Slower check: never property value if object or array with\n // non-number/strings.\n const record = /** @type {Record<string, unknown>} */ (value)\n const keys = Object.keys(value)\n\n for (const key of keys) {\n const value = record[key]\n\n if (value && typeof value === 'object') {\n if (!Array.isArray(value)) return true\n\n const list = /** @type {ReadonlyArray<unknown>} */ (value)\n\n for (const item of list) {\n if (typeof item !== 'number' && typeof item !== 'string') {\n return true\n }\n }\n }\n }\n\n // Also see empty `children` as a node.\n if ('children' in value && Array.isArray(value.children)) {\n return true\n }\n\n // Default to properties, someone can always pass an empty object,\n // put `data: {}` in a node,\n // or wrap it in an array.\n return false\n}\n\n/**\n * @param {Schema} schema\n * Schema.\n * @param {Properties} properties\n * Properties object.\n * @param {string} key\n * Property name.\n * @param {PropertyValue | Style} value\n * Property value.\n * @returns {undefined}\n * Nothing.\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n /** @type {PropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === null || value === undefined) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = parseSpaces(value)\n } else if (info.commaSeparated) {\n result = parseCommas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = parseSpaces(parseCommas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = [...value]\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array<number | string>} */\n const finalResult = []\n\n for (const item of result) {\n // Assume no booleans in array.\n finalResult.push(\n /** @type {number | string} */ (\n parsePrimitive(info, info.property, item)\n )\n )\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // Assume no booleans in `className`.\n result = properties.className.concat(\n /** @type {Array<number | string> | number | string} */ (result)\n )\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array<RootContent>} nodes\n * Children.\n * @param {Child} value\n * Child.\n * @returns {undefined}\n * Nothing.\n */\nfunction addChild(nodes, value) {\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'number' || typeof value === 'string') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n for (const child of value) {\n addChild(nodes, child)\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * Property information.\n * @param {string} name\n * Property name.\n * @param {PrimitiveValue} value\n * Property value.\n * @returns {PrimitiveValue}\n * Property value.\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * Serialize a `style` object as a string.\n *\n * @param {Style} styles\n * Style object.\n * @returns {string}\n * CSS string.\n */\nfunction style(styles) {\n /** @type {Array<string>} */\n const result = []\n\n for (const [key, value] of Object.entries(styles)) {\n result.push([key, value].join(': '))\n }\n\n return result.join('; ')\n}\n\n/**\n * Create a map to adjust casing.\n *\n * @param {ReadonlyArray<string>} values\n * List of properly cased keys.\n * @returns {Map<string, string>}\n * Map of lowercase keys to uppercase keys.\n */\nfunction createAdjustMap(values) {\n /** @type {Map<string, string>} */\n const result = new Map()\n\n for (const value of values) {\n result.set(value.toLowerCase(), value)\n }\n\n return result\n}\n", + "/**\n * List of case-sensitive SVG tag names.\n *\n * @type {ReadonlyArray<string>}\n */\nexport const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feDropShadow',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n", + "// Register the JSX namespace on `h`.\n/**\n * @typedef {import('./jsx-classic.js').Element} h.JSX.Element\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} h.JSX.IntrinsicElements\n */\n\n// Register the JSX namespace on `s`.\n/**\n * @typedef {import('./jsx-classic.js').Element} s.JSX.Element\n * @typedef {import('./jsx-classic.js').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n * @typedef {import('./jsx-classic.js').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic.js').IntrinsicElements} s.JSX.IntrinsicElements\n */\n\nimport {html, svg} from 'property-information'\nimport {createH} from './create-h.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\n// Note: this explicit type is needed, otherwise TS creates broken types.\n/** @type {ReturnType<createH>} */\nexport const h = createH(html, 'div')\n\n// Note: this explicit type is needed, otherwise TS creates broken types.\n/** @type {ReturnType<createH>} */\nexport const s = createH(svg, 'g', svgCaseSensitiveTagNames)\n", + "/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n", + "/**\n * @import {\n * Comment as HastComment,\n * Doctype as HastDoctype,\n * Element as HastElement,\n * Nodes as HastNodes,\n * RootContent as HastRootContent,\n * Root as HastRoot,\n * Text as HastText,\n * } from 'hast'\n */\n\n/**\n * @callback AfterTransform\n * Callback called when each node is transformed.\n * @param {Node} domNode\n * DOM node that was handled.\n * @param {HastNodes} hastNode\n * Corresponding hast node.\n * @returns {undefined | void}\n * Nothing.\n *\n * Note: `void` included until TS infers `undefined` nicely.\n *\n * @typedef Options\n * Configuration.\n * @property {AfterTransform | null | undefined} [afterTransform]\n * Callback called when each node is transformed (optional).\n */\n\nimport {h, s} from 'hastscript'\nimport {webNamespaces} from 'web-namespaces'\n\n/**\n * Transform a DOM tree to a hast tree.\n *\n * @param {Node} tree\n * DOM tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * Equivalent hast node.\n */\nexport function fromDom(tree, options) {\n return transform(tree, options || {}) || {type: 'root', children: []}\n}\n\n/**\n * @param {Node} node\n * DOM node to transform.\n * @param {Options} options\n * Configuration.\n * @returns {HastNodes | undefined}\n * Equivalent hast node.\n *\n * Note that certain legacy DOM nodes (i.e., Attr nodes (2), CDATA, processing instructions)\n */\nfunction transform(node, options) {\n const transformed = one(node, options)\n if (transformed && options.afterTransform)\n options.afterTransform(node, transformed)\n return transformed\n}\n\n/**\n * @param {Node} node\n * DOM node to transform.\n * @param {Options} options\n * Configuration.\n * @returns {HastNodes | undefined}\n * Equivalent hast node.\n */\nfunction one(node, options) {\n switch (node.nodeType) {\n case 1 /* Element */: {\n const domNode = /** @type {Element} */ (node)\n return element(domNode, options)\n }\n\n // Ignore: Attr (2).\n\n case 3 /* Text */: {\n const domNode = /** @type {Text} */ (node)\n return text(domNode)\n }\n\n // Ignore: CDATA (4).\n // Removed: Entity reference (5)\n // Removed: Entity (6)\n // Ignore: Processing instruction (7).\n\n case 8 /* Comment */: {\n const domNode = /** @type {Comment} */ (node)\n return comment(domNode)\n }\n\n case 9 /* Document */: {\n const domNode = /** @type {Document} */ (node)\n return root(domNode, options)\n }\n\n case 10 /* Document type */: {\n return doctype()\n }\n\n case 11 /* Document fragment */: {\n const domNode = /** @type {DocumentFragment} */ (node)\n return root(domNode, options)\n }\n\n default: {\n return undefined\n }\n }\n}\n\n/**\n * Transform a document.\n *\n * @param {Document | DocumentFragment} node\n * DOM node to transform.\n * @param {Options} options\n * Configuration.\n * @returns {HastRoot}\n * Equivalent hast node.\n */\nfunction root(node, options) {\n return {type: 'root', children: all(node, options)}\n}\n\n/**\n * Transform a doctype.\n *\n * @returns {HastDoctype}\n * Equivalent hast node.\n */\nfunction doctype() {\n return {type: 'doctype'}\n}\n\n/**\n * Transform a text.\n *\n * @param {Text} node\n * DOM node to transform.\n * @returns {HastText}\n * Equivalent hast node.\n */\nfunction text(node) {\n return {type: 'text', value: node.nodeValue || ''}\n}\n\n/**\n * Transform a comment.\n *\n * @param {Comment} node\n * DOM node to transform.\n * @returns {HastComment}\n * Equivalent hast node.\n */\nfunction comment(node) {\n return {type: 'comment', value: node.nodeValue || ''}\n}\n\n/**\n * Transform an element.\n *\n * @param {Element} node\n * DOM node to transform.\n * @param {Options} options\n * Configuration.\n * @returns {HastElement}\n * Equivalent hast node.\n */\nfunction element(node, options) {\n const space = node.namespaceURI\n const x = space === webNamespaces.svg ? s : h\n const tagName =\n space === webNamespaces.html ? node.tagName.toLowerCase() : node.tagName\n /** @type {DocumentFragment | Element} */\n const content =\n // @ts-expect-error: DOM types are wrong, content can exist.\n space === webNamespaces.html && tagName === 'template' ? node.content : node\n const attributes = node.getAttributeNames()\n /** @type {Record<string, string>} */\n const properties = {}\n let index = -1\n\n while (++index < attributes.length) {\n properties[attributes[index]] = node.getAttribute(attributes[index]) || ''\n }\n\n return x(tagName, properties, all(content, options))\n}\n\n/**\n * Transform child nodes in a parent.\n *\n * @param {Document | DocumentFragment | Element} node\n * DOM node to transform.\n * @param {Options} options\n * Configuration.\n * @returns {Array<HastRootContent>}\n * Equivalent hast nodes.\n */\nfunction all(node, options) {\n const nodes = node.childNodes\n /** @type {Array<HastRootContent>} */\n const children = []\n let index = -1\n\n while (++index < nodes.length) {\n const child = transform(nodes[index], options)\n\n if (child !== undefined) {\n // @ts-expect-error Assume no document inside document.\n children.push(child)\n }\n }\n\n return children\n}\n", + "/**\n * @typedef {import('hast').Root} Root\n *\n * @typedef {typeof import('./index.js').fromHtmlIsomorphic} FromHtmlIsomorphic\n */\n\nimport {fromDom} from 'hast-util-from-dom'\n\nconst parser = new DOMParser()\n\n/** @type {FromHtmlIsomorphic} */\nexport function fromHtmlIsomorphic(value, options) {\n const node = options?.fragment\n ? parseFragment(value)\n : parser.parseFromString(value, 'text/html')\n\n return /** @type {Root} */ (fromDom(node))\n}\n\n/**\n * Parse as a fragment.\n *\n * @param {string} value\n * @returns {DocumentFragment}\n */\nfunction parseFragment(value) {\n const template = document.createElement('template')\n template.innerHTML = value\n return template.content\n}\n", + "/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude<import('unist-util-is').Test, undefined> | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate<Check, Value> extends Value\n * ? Predicate<Check, Value>\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array<any>\n * ? MatchesOne<Value, Check[keyof Check]>\n * : MatchesOne<Value, Check>\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {(\n * Kind extends {children: Array<infer Child>}\n * ? Child\n * : never\n * )} Child\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Kind\n * All node types.\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Find the first node in `parent` after another `node` or after an index,\n * that passes `test`.\n *\n * @param parent\n * Parent node.\n * @param index\n * Child node or index.\n * @param [test=undefined]\n * Test for child to look for (optional).\n * @returns\n * A child (matching `test`, if given) or `undefined`.\n */\nexport const findAfter =\n // Note: overloads like this are needed to support optional generics.\n /**\n * @type {(\n * (<Kind extends UnistParent, Check extends Test>(parent: Kind, index: Child<Kind> | number, test: Check) => Matches<Child<Kind>, Check> | undefined) &\n * (<Kind extends UnistParent>(parent: Kind, index: Child<Kind> | number, test?: null | undefined) => Child<Kind> | undefined)\n * )}\n */\n (\n /**\n * @param {UnistParent} parent\n * @param {UnistNode | number} index\n * @param {Test} [test]\n * @returns {UnistNode | undefined}\n */\n function (parent, index, test) {\n const is = convert(test)\n\n if (!parent || !parent.type || !parent.children) {\n throw new Error('Expected parent node')\n }\n\n if (typeof index === 'number') {\n if (index < 0 || index === Number.POSITIVE_INFINITY) {\n throw new Error('Expected positive finite number as index')\n }\n } else {\n index = parent.children.indexOf(index)\n\n if (index < 0) {\n throw new Error('Expected child node or index')\n }\n }\n\n while (++index < parent.children.length) {\n if (is(parent.children[index], index, parent)) {\n return parent.children[index]\n }\n }\n\n return undefined\n }\n )\n", + "/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Parents} Parents\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is an element.\n * @param {unknown} this\n * Context object (`this`) to call `test` with\n * @param {unknown} [element]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | null | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean}\n * Whether this is an element and passes a test.\n *\n * @typedef {Array<TestFunction | string> | TestFunction | string | null | undefined} Test\n * Check for an arbitrary element.\n *\n * * when `string`, checks that the element has that tag name\n * * when `function`, see `TestFunction`\n * * when `Array`, checks if one of the subtests pass\n *\n * @callback TestFunction\n * Check if an element passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Element} element\n * An element.\n * @param {number | undefined} [index]\n * Position of `element` in its parent.\n * @param {Parents | undefined} [parent]\n * Parent of `element`.\n * @returns {boolean | undefined | void}\n * Whether this element passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `element` is an `Element` and whether it passes the given test.\n *\n * @param element\n * Thing to check, typically `element`.\n * @param test\n * Check for a specific element.\n * @param index\n * Position of `element` in its parent.\n * @param parent\n * Parent of `element`.\n * @param context\n * Context object (`this`) to call `test` with.\n * @returns\n * Whether `element` is an `Element` and passes a test.\n * @throws\n * When an incorrect `test`, `index`, or `parent` is given; there is no error\n * thrown when `element` is not a node or not an element.\n */\nexport const isElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends TestFunction>(element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate<Condition, Element>) &\n * (<Condition extends string>(element: unknown, test: Condition, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((element?: null | undefined) => false) &\n * ((element: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((element: unknown, test?: Test, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [element]\n * @param {Test | undefined} [test]\n * @param {number | null | undefined} [index]\n * @param {Parents | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (element, test, index, parent, context) {\n const check = convertElement(test)\n\n if (\n index !== null &&\n index !== undefined &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite `index`')\n }\n\n if (\n parent !== null &&\n parent !== undefined &&\n (!parent.type || !parent.children)\n ) {\n throw new Error('Expected valid `parent`')\n }\n\n if (\n (index === null || index === undefined) !==\n (parent === null || parent === undefined)\n ) {\n throw new Error('Expected both `index` and `parent`')\n }\n\n return looksLikeAnElement(element)\n ? check.call(context, element, index, parent)\n : false\n }\n )\n\n/**\n * Generate a check from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * an `element`, `index`, and `parent`.\n *\n * @param test\n * A test for a specific element.\n * @returns\n * A check.\n */\nexport const convertElement =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * (<Condition extends TestFunction>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & Predicate<Condition, Element>) &\n * (<Condition extends string>(test: Condition) => (element: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element & {tagName: Condition}) &\n * ((test?: null | undefined) => (element?: unknown, index?: number | null | undefined, parent?: Parents | null | undefined, context?: unknown) => element is Element) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test | null | undefined} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return element\n }\n\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n // Assume array.\n if (typeof test === 'object') {\n return anyFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or array as `test`')\n }\n )\n\n/**\n * Handle multiple tests.\n *\n * @param {Array<TestFunction | string>} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array<Check>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convertElement(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn a string into a test for an element with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction tagNameFactory(check) {\n return castFactory(tagName)\n\n /**\n * @param {Element} element\n * @returns {boolean}\n */\n function tagName(element) {\n return element.tagName === check\n }\n}\n\n/**\n * Turn a custom test into a test for an element that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeAnElement(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\n/**\n * Make sure something is an element.\n *\n * @param {unknown} element\n * @returns {element is Element}\n */\nfunction element(element) {\n return Boolean(\n element &&\n typeof element === 'object' &&\n 'type' in element &&\n element.type === 'element' &&\n 'tagName' in element &&\n typeof element.tagName === 'string'\n )\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Element}\n */\nfunction looksLikeAnElement(value) {\n return (\n value !== null &&\n typeof value === 'object' &&\n 'type' in value &&\n 'tagName' in value\n )\n}\n", + "/**\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Nodes} Nodes\n * @typedef {import('hast').Parents} Parents\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast-util-is-element').TestFunction} TestFunction\n */\n\n/**\n * @typedef {'normal' | 'nowrap' | 'pre' | 'pre-wrap'} Whitespace\n * Valid and useful whitespace values (from CSS).\n *\n * @typedef {0 | 1 | 2} BreakNumber\n * Specific break:\n *\n * * `0` — space\n * * `1` — line ending\n * * `2` — blank line\n *\n * @typedef {'\\n'} BreakForce\n * Forced break.\n *\n * @typedef {boolean} BreakValue\n * Whether there was a break.\n *\n * @typedef {BreakNumber | BreakValue | undefined} BreakBefore\n * Any value for a break before.\n *\n * @typedef {BreakForce | BreakNumber | BreakValue | undefined} BreakAfter\n * Any value for a break after.\n *\n * @typedef CollectionInfo\n * Info on current collection.\n * @property {BreakAfter} breakAfter\n * Whether there was a break after.\n * @property {BreakBefore} breakBefore\n * Whether there was a break before.\n * @property {Whitespace} whitespace\n * Current whitespace setting.\n *\n * @typedef Options\n * Configuration.\n * @property {Whitespace | null | undefined} [whitespace='normal']\n * Initial CSS whitespace setting to use (default: `'normal'`).\n */\n\nimport {findAfter} from 'unist-util-find-after'\nimport {convertElement} from 'hast-util-is-element'\n\nconst searchLineFeeds = /\\n/g\nconst searchTabOrSpaces = /[\\t ]+/g\n\nconst br = convertElement('br')\nconst cell = convertElement(isCell)\nconst p = convertElement('p')\nconst row = convertElement('tr')\n\n// Note that we don’t need to include void elements here as they don’t have text.\n// See: <https://github.com/wooorm/html-void-elements>\nconst notRendered = convertElement([\n // List from: <https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements>\n 'datalist',\n 'head',\n 'noembed',\n 'noframes',\n 'noscript', // Act as if we support scripting.\n 'rp',\n 'script',\n 'style',\n 'template',\n 'title',\n // Hidden attribute.\n hidden,\n // From: <https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3>\n closedDialog\n])\n\n// See: <https://html.spec.whatwg.org/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints>\nconst blockOrCaption = convertElement([\n 'address', // Flow content\n 'article', // Sections and headings\n 'aside', // Sections and headings\n 'blockquote', // Flow content\n 'body', // Page\n 'caption', // `table-caption`\n 'center', // Flow content (legacy)\n 'dd', // Lists\n 'dialog', // Flow content\n 'dir', // Lists (legacy)\n 'dl', // Lists\n 'dt', // Lists\n 'div', // Flow content\n 'figure', // Flow content\n 'figcaption', // Flow content\n 'footer', // Flow content\n 'form,', // Flow content\n 'h1', // Sections and headings\n 'h2', // Sections and headings\n 'h3', // Sections and headings\n 'h4', // Sections and headings\n 'h5', // Sections and headings\n 'h6', // Sections and headings\n 'header', // Flow content\n 'hgroup', // Sections and headings\n 'hr', // Flow content\n 'html', // Page\n 'legend', // Flow content\n 'li', // Lists (as `display: list-item`)\n 'listing', // Flow content (legacy)\n 'main', // Flow content\n 'menu', // Lists\n 'nav', // Sections and headings\n 'ol', // Lists\n 'p', // Flow content\n 'plaintext', // Flow content (legacy)\n 'pre', // Flow content\n 'section', // Sections and headings\n 'ul', // Lists\n 'xmp' // Flow content (legacy)\n])\n\n/**\n * Get the plain-text value of a node.\n *\n * ###### Algorithm\n *\n * * if `tree` is a comment, returns its `value`\n * * if `tree` is a text, applies normal whitespace collapsing to its\n * `value`, as defined by the CSS Text spec\n * * if `tree` is a root or element, applies an algorithm similar to the\n * `innerText` getter as defined by HTML\n *\n * ###### Notes\n *\n * > 👉 **Note**: the algorithm acts as if `tree` is being rendered, and as if\n * > we’re a CSS-supporting user agent, with scripting enabled.\n *\n * * if `tree` is an element that is not displayed (such as a `head`), we’ll\n * still use the `innerText` algorithm instead of switching to `textContent`\n * * if descendants of `tree` are elements that are not displayed, they are\n * ignored\n * * CSS is not considered, except for the default user agent style sheet\n * * a line feed is collapsed instead of ignored in cases where Fullwidth, Wide,\n * or Halfwidth East Asian Width characters are used, the same goes for a case\n * with Chinese, Japanese, or Yi writing systems\n * * replaced elements (such as `audio`) are treated like non-replaced elements\n *\n * @param {Nodes} tree\n * Tree to turn into text.\n * @param {Readonly<Options> | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `tree`.\n */\nexport function toText(tree, options) {\n const options_ = options || {}\n const children = 'children' in tree ? tree.children : []\n const block = blockOrCaption(tree)\n const whitespace = inferWhitespace(tree, {\n whitespace: options_.whitespace || 'normal',\n breakBefore: false,\n breakAfter: false\n })\n\n /** @type {Array<BreakNumber | string>} */\n const results = []\n\n // Treat `text` and `comment` as having normal white-space.\n // This deviates from the spec as in the DOM the node’s `.data` has to be\n // returned.\n // If you want that behavior use `hast-util-to-string`.\n // All other nodes are later handled as if they are `element`s (so the\n // algorithm also works on a `root`).\n // Nodes without children are treated as a void element, so `doctype` is thus\n // ignored.\n if (tree.type === 'text' || tree.type === 'comment') {\n results.push(\n ...collectText(tree, {\n whitespace,\n breakBefore: true,\n breakAfter: true\n })\n )\n }\n\n // 1. If this element is not being rendered, or if the user agent is a\n // non-CSS user agent, then return the same value as the textContent IDL\n // attribute on this element.\n //\n // Note: we’re not supporting stylesheets so we’re acting as if the node\n // is rendered.\n //\n // If you want that behavior use `hast-util-to-string`.\n // Important: we’ll have to account for this later though.\n\n // 2. Let results be a new empty list.\n let index = -1\n\n // 3. For each child node node of this element:\n while (++index < children.length) {\n // 3.1. Let current be the list resulting in running the inner text\n // collection steps with node.\n // Each item in results will either be a JavaScript string or a\n // positive integer (a required line break count).\n // 3.2. For each item item in current, append item to results.\n results.push(\n ...renderedTextCollection(\n children[index],\n // @ts-expect-error: `tree` is a parent if we’re here.\n tree,\n {\n whitespace,\n breakBefore: index ? undefined : block,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : block\n }\n )\n )\n }\n\n // 4. Remove any items from results that are the empty string.\n // 5. Remove any runs of consecutive required line break count items at the\n // start or end of results.\n // 6. Replace each remaining run of consecutive required line break count\n // items with a string consisting of as many U+000A LINE FEED (LF)\n // characters as the maximum of the values in the required line break\n // count items.\n /** @type {Array<string>} */\n const result = []\n /** @type {number | undefined} */\n let count\n\n index = -1\n\n while (++index < results.length) {\n const value = results[index]\n\n if (typeof value === 'number') {\n if (count !== undefined && value > count) count = value\n } else if (value) {\n if (count !== undefined && count > -1) {\n result.push('\\n'.repeat(count) || ' ')\n }\n\n count = -1\n result.push(value)\n }\n }\n\n // 7. Return the concatenation of the string items in results.\n return result.join('')\n}\n\n/**\n * <https://html.spec.whatwg.org/multipage/dom.html#rendered-text-collection-steps>\n *\n * @param {Nodes} node\n * @param {Parents} parent\n * @param {CollectionInfo} info\n * @returns {Array<BreakNumber | string>}\n */\nfunction renderedTextCollection(node, parent, info) {\n if (node.type === 'element') {\n return collectElement(node, parent, info)\n }\n\n if (node.type === 'text') {\n return info.whitespace === 'normal'\n ? collectText(node, info)\n : collectPreText(node)\n }\n\n return []\n}\n\n/**\n * Collect an element.\n *\n * @param {Element} node\n * Element node.\n * @param {Parents} parent\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array<BreakNumber | string>}\n */\nfunction collectElement(node, parent, info) {\n // First we infer the `white-space` property.\n const whitespace = inferWhitespace(node, info)\n const children = node.children || []\n let index = -1\n /** @type {Array<BreakNumber | string>} */\n let items = []\n\n // We’re ignoring point 3, and exiting without any content here, because we\n // deviated from the spec in `toText` at step 3.\n if (notRendered(node)) {\n return items\n }\n\n /** @type {BreakNumber | undefined} */\n let prefix\n /** @type {BreakForce | BreakNumber | undefined} */\n let suffix\n // Note: we first detect if there is going to be a break before or after the\n // contents, as that changes the white-space handling.\n\n // 2. If node’s computed value of `visibility` is not `visible`, then return\n // items.\n //\n // Note: Ignored, as everything is visible by default user agent styles.\n\n // 3. If node is not being rendered, then return items. [...]\n //\n // Note: We already did this above.\n\n // See `collectText` for step 4.\n\n // 5. If node is a `<br>` element, then append a string containing a single\n // U+000A LINE FEED (LF) character to items.\n if (br(node)) {\n suffix = '\\n'\n }\n\n // 7. If node’s computed value of `display` is `table-row`, and node’s CSS\n // box is not the last `table-row` box of the nearest ancestor `table`\n // box, then append a string containing a single U+000A LINE FEED (LF)\n // character to items.\n //\n // See: <https://html.spec.whatwg.org/multipage/rendering.html#tables-2>\n // Note: needs further investigation as this does not account for implicit\n // rows.\n else if (\n row(node) &&\n // @ts-expect-error: something up with types of parents.\n findAfter(parent, node, row)\n ) {\n suffix = '\\n'\n }\n\n // 8. If node is a `<p>` element, then append 2 (a required line break count)\n // at the beginning and end of items.\n else if (p(node)) {\n prefix = 2\n suffix = 2\n }\n\n // 9. If node’s used value of `display` is block-level or `table-caption`,\n // then append 1 (a required line break count) at the beginning and end of\n // items.\n else if (blockOrCaption(node)) {\n prefix = 1\n suffix = 1\n }\n\n // 1. Let items be the result of running the inner text collection steps with\n // each child node of node in tree order, and then concatenating the\n // results to a single list.\n while (++index < children.length) {\n items = items.concat(\n renderedTextCollection(children[index], node, {\n whitespace,\n breakBefore: index ? undefined : prefix,\n breakAfter:\n index < children.length - 1 ? br(children[index + 1]) : suffix\n })\n )\n }\n\n // 6. If node’s computed value of `display` is `table-cell`, and node’s CSS\n // box is not the last `table-cell` box of its enclosing `table-row` box,\n // then append a string containing a single U+0009 CHARACTER TABULATION\n // (tab) character to items.\n //\n // See: <https://html.spec.whatwg.org/multipage/rendering.html#tables-2>\n if (\n cell(node) &&\n // @ts-expect-error: something up with types of parents.\n findAfter(parent, node, cell)\n ) {\n items.push('\\t')\n }\n\n // Add the pre- and suffix.\n if (prefix) items.unshift(prefix)\n if (suffix) items.push(suffix)\n\n return items\n}\n\n/**\n * 4. If node is a Text node, then for each CSS text box produced by node,\n * in content order, compute the text of the box after application of the\n * CSS `white-space` processing rules and `text-transform` rules, set\n * items to the list of the resulting strings, and return items.\n * The CSS `white-space` processing rules are slightly modified:\n * collapsible spaces at the end of lines are always collapsed, but they\n * are only removed if the line is the last line of the block, or it ends\n * with a br element.\n * Soft hyphens should be preserved.\n *\n * Note: See `collectText` and `collectPreText`.\n * Note: we don’t deal with `text-transform`, no element has that by\n * default.\n *\n * See: <https://drafts.csswg.org/css-text/#white-space-phase-1>\n *\n * @param {Comment | Text} node\n * Text node.\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Array<BreakNumber | string>}\n * Result.\n */\nfunction collectText(node, info) {\n const value = String(node.value)\n /** @type {Array<string>} */\n const lines = []\n /** @type {Array<BreakNumber | string>} */\n const result = []\n let start = 0\n\n while (start <= value.length) {\n searchLineFeeds.lastIndex = start\n\n const match = searchLineFeeds.exec(value)\n const end = match && 'index' in match ? match.index : value.length\n\n lines.push(\n // Any sequence of collapsible spaces and tabs immediately preceding or\n // following a segment break is removed.\n trimAndCollapseSpacesAndTabs(\n // […] ignoring bidi formatting characters (characters with the\n // Bidi_Control property [UAX9]: ALM, LTR, RTL, LRE-RLO, LRI-PDI) as if\n // they were not there.\n value\n .slice(start, end)\n .replace(/[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]/g, ''),\n start === 0 ? info.breakBefore : true,\n end === value.length ? info.breakAfter : true\n )\n )\n\n start = end + 1\n }\n\n // Collapsible segment breaks are transformed for rendering according to the\n // segment break transformation rules.\n // So here we jump to 4.1.2 of [CSSTEXT]:\n // Any collapsible segment break immediately following another collapsible\n // segment break is removed\n let index = -1\n /** @type {BreakNumber | undefined} */\n let join\n\n while (++index < lines.length) {\n // * If the character immediately before or immediately after the segment\n // break is the zero-width space character (U+200B), then the break is\n // removed, leaving behind the zero-width space.\n if (\n lines[index].charCodeAt(lines[index].length - 1) === 0x20_0b /* ZWSP */ ||\n (index < lines.length - 1 &&\n lines[index + 1].charCodeAt(0) === 0x20_0b) /* ZWSP */\n ) {\n result.push(lines[index])\n join = undefined\n }\n\n // * Otherwise, if the East Asian Width property [UAX11] of both the\n // character before and after the segment break is Fullwidth, Wide, or\n // Halfwidth (not Ambiguous), and neither side is Hangul, then the\n // segment break is removed.\n //\n // Note: ignored.\n // * Otherwise, if the writing system of the segment break is Chinese,\n // Japanese, or Yi, and the character before or after the segment break\n // is punctuation or a symbol (Unicode general category P* or S*) and\n // has an East Asian Width property of Ambiguous, and the character on\n // the other side of the segment break is Fullwidth, Wide, or Halfwidth,\n // and not Hangul, then the segment break is removed.\n //\n // Note: ignored.\n\n // * Otherwise, the segment break is converted to a space (U+0020).\n else if (lines[index]) {\n if (typeof join === 'number') result.push(join)\n result.push(lines[index])\n join = 0\n } else if (index === 0 || index === lines.length - 1) {\n // If this line is empty, and it’s the first or last, add a space.\n // Note that this function is only called in normal whitespace, so we\n // don’t worry about `pre`.\n result.push(0)\n }\n }\n\n return result\n}\n\n/**\n * Collect a text node as “pre” whitespace.\n *\n * @param {Text} node\n * Text node.\n * @returns {Array<BreakNumber | string>}\n * Result.\n */\nfunction collectPreText(node) {\n return [String(node.value)]\n}\n\n/**\n * 3. Every collapsible tab is converted to a collapsible space (U+0020).\n * 4. Any collapsible space immediately following another collapsible\n * space—even one outside the boundary of the inline containing that\n * space, provided both spaces are within the same inline formatting\n * context—is collapsed to have zero advance width. (It is invisible,\n * but retains its soft wrap opportunity, if any.)\n *\n * @param {string} value\n * Value to collapse.\n * @param {BreakBefore} breakBefore\n * Whether there was a break before.\n * @param {BreakAfter} breakAfter\n * Whether there was a break after.\n * @returns {string}\n * Result.\n */\nfunction trimAndCollapseSpacesAndTabs(value, breakBefore, breakAfter) {\n /** @type {Array<string>} */\n const result = []\n let start = 0\n /** @type {number | undefined} */\n let end\n\n while (start < value.length) {\n searchTabOrSpaces.lastIndex = start\n const match = searchTabOrSpaces.exec(value)\n end = match ? match.index : value.length\n\n // If we’re not directly after a segment break, but there was white space,\n // add an empty value that will be turned into a space.\n if (!start && !end && match && !breakBefore) {\n result.push('')\n }\n\n if (start !== end) {\n result.push(value.slice(start, end))\n }\n\n start = match ? end + match[0].length : end\n }\n\n // If we reached the end, there was trailing white space, and there’s no\n // segment break after this node, add an empty value that will be turned\n // into a space.\n if (start !== end && !breakAfter) {\n result.push('')\n }\n\n return result.join(' ')\n}\n\n/**\n * Figure out the whitespace of a node.\n *\n * We don’t support void elements here (so `nobr wbr` -> `normal` is ignored).\n *\n * @param {Nodes} node\n * Node (typically `Element`).\n * @param {CollectionInfo} info\n * Info on current collection.\n * @returns {Whitespace}\n * Applied whitespace.\n */\nfunction inferWhitespace(node, info) {\n if (node.type === 'element') {\n const properties = node.properties || {}\n switch (node.tagName) {\n case 'listing':\n case 'plaintext':\n case 'xmp': {\n return 'pre'\n }\n\n case 'nobr': {\n return 'nowrap'\n }\n\n case 'pre': {\n return properties.wrap ? 'pre-wrap' : 'pre'\n }\n\n case 'td':\n case 'th': {\n return properties.noWrap ? 'nowrap' : info.whitespace\n }\n\n case 'textarea': {\n return 'pre-wrap'\n }\n\n default:\n }\n }\n\n return info.whitespace\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {properties: {hidden: true}}}\n */\nfunction hidden(node) {\n return Boolean((node.properties || {}).hidden)\n}\n\n/**\n * @type {TestFunction}\n * @param {Element} node\n * @returns {node is {tagName: 'td' | 'th'}}\n */\nfunction isCell(node) {\n return node.tagName === 'td' || node.tagName === 'th'\n}\n\n/**\n * @type {TestFunction}\n */\nfunction closedDialog(node) {\n return node.tagName === 'dialog' && !(node.properties || {}).open\n}\n", + "/**\n * @import {ElementContent, Root} from 'hast'\n * @import {KatexOptions} from 'katex'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit<KatexOptions, 'displayMode' | 'throwOnError'>} Options\n */\n\nimport {fromHtmlIsomorphic} from 'hast-util-from-html-isomorphic'\nimport {toText} from 'hast-util-to-text'\nimport katex from 'katex'\nimport {SKIP, visitParents} from 'unist-util-visit-parents'\n\n/** @type {Readonly<Options>} */\nconst emptyOptions = {}\n/** @type {ReadonlyArray<unknown>} */\nconst emptyClasses = []\n\n/**\n * Render elements with a `language-math` (or `math-display`, `math-inline`)\n * class with KaTeX.\n *\n * @param {Readonly<Options> | null | undefined} [options]\n * Configuration (optional).\n * @returns\n * Transform.\n */\nexport default function rehypeKatex(options) {\n const settings = options || emptyOptions\n\n /**\n * Transform.\n *\n * @param {Root} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {undefined}\n * Nothing.\n */\n return function (tree, file) {\n visitParents(tree, 'element', function (element, parents) {\n const classes = Array.isArray(element.properties.className)\n ? element.properties.className\n : emptyClasses\n // This class can be generated from markdown with ` ```math `.\n const languageMath = classes.includes('language-math')\n // This class is used by `remark-math` for flow math (block, `$$\\nmath\\n$$`).\n const mathDisplay = classes.includes('math-display')\n // This class is used by `remark-math` for text math (inline, `$math$`).\n const mathInline = classes.includes('math-inline')\n let displayMode = mathDisplay\n\n // Any class is fine.\n if (!languageMath && !mathDisplay && !mathInline) {\n return\n }\n\n let parent = parents[parents.length - 1]\n let scope = element\n\n // If this was generated with ` ```math `, replace the `<pre>` and use\n // display.\n if (\n element.tagName === 'code' &&\n languageMath &&\n parent &&\n parent.type === 'element' &&\n parent.tagName === 'pre'\n ) {\n scope = parent\n parent = parents[parents.length - 2]\n displayMode = true\n }\n\n /* c8 ignore next -- verbose to test. */\n if (!parent) return\n\n const value = toText(scope, {whitespace: 'pre'})\n\n /** @type {Array<ElementContent> | string | undefined} */\n let result\n\n try {\n result = katex.renderToString(value, {\n ...settings,\n displayMode,\n throwOnError: true\n })\n } catch (error) {\n const cause = /** @type {Error} */ (error)\n const ruleId = cause.name.toLowerCase()\n\n file.message('Could not render math with KaTeX', {\n ancestors: [...parents, element],\n cause,\n place: element.position,\n ruleId,\n source: 'rehype-katex'\n })\n\n // KaTeX *should* handle `ParseError` itself, but not others.\n // it doesn’t always:\n // <https://github.com/remarkjs/react-markdown/issues/853>\n try {\n result = katex.renderToString(value, {\n ...settings,\n displayMode,\n strict: 'ignore',\n throwOnError: false\n })\n } catch {\n // Generate similar markup if this is an other error.\n // See: <https://github.com/KaTeX/KaTeX/blob/5dc7af0/docs/error.md>.\n result = [\n {\n type: 'element',\n tagName: 'span',\n properties: {\n className: ['katex-error'],\n style: 'color:' + (settings.errorColor || '#cc0000'),\n title: String(error)\n },\n children: [{type: 'text', value}]\n }\n ]\n }\n }\n\n if (typeof result === 'string') {\n const root = fromHtmlIsomorphic(result, {fragment: true})\n // Cast as we don’t expect `doctypes` in KaTeX result.\n result = /** @type {Array<ElementContent>} */ (root.children)\n }\n\n const index = parent.children.indexOf(scope)\n parent.children.splice(index, 1, ...result)\n return SKIP\n })\n }\n}\n", + "/**\n * Get the count of the longest repeating streak of `substring` in `value`.\n *\n * @param {string} value\n * Content to search in.\n * @param {string} substring\n * Substring to look for, typically one character.\n * @returns {number}\n * Count of most frequent adjacent `substring`s in `value`.\n */\nexport function longestStreak(value, substring) {\n const source = String(value)\n let index = source.indexOf(substring)\n let expected = index\n let count = 0\n let max = 0\n\n if (typeof substring !== 'string') {\n throw new TypeError('Expected substring')\n }\n\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count\n }\n } else {\n count = 1\n }\n\n expected = index + substring.length\n index = source.indexOf(substring, expected)\n }\n\n return max\n}\n", + "/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('../index.js').InlineMath} InlineMath\n * @typedef {import('../index.js').Math} Math\n *\n * @typedef ToOptions\n * Configuration.\n * @property {boolean | null | undefined} [singleDollarTextMath=true]\n * Whether to support math (text) with a single dollar (default: `true`).\n *\n * Single dollars work in Pandoc and many other places, but often interfere\n * with “normal” dollars in text.\n * If you turn this off, you can still use two or more dollars for text math.\n */\n\nimport {ok as assert} from 'devlop'\nimport {longestStreak} from 'longest-streak'\n\n/**\n * Create an extension for `mdast-util-from-markdown`.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown`.\n */\nexport function mathFromMarkdown() {\n return {\n enter: {\n mathFlow: enterMathFlow,\n mathFlowFenceMeta: enterMathFlowMeta,\n mathText: enterMathText\n },\n exit: {\n mathFlow: exitMathFlow,\n mathFlowFence: exitMathFlowFence,\n mathFlowFenceMeta: exitMathFlowMeta,\n mathFlowValue: exitMathData,\n mathText: exitMathText,\n mathTextData: exitMathData\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function enterMathFlow(token) {\n /** @type {HastElement} */\n const code = {\n type: 'element',\n tagName: 'code',\n properties: {className: ['language-math', 'math-display']},\n children: []\n }\n this.enter(\n {\n type: 'math',\n meta: null,\n value: '',\n data: {hName: 'pre', hChildren: [code]}\n },\n token\n )\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function enterMathFlowMeta() {\n this.buffer()\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function exitMathFlowMeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'math')\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function exitMathFlowFence() {\n // Exit if this is the closing fence.\n if (this.data.mathFlowInside) return\n this.buffer()\n this.data.mathFlowInside = true\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function exitMathFlow(token) {\n const data = this.resume().replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'math')\n this.exit(token)\n node.value = data\n // @ts-expect-error: we defined it in `enterMathFlow`.\n const code = /** @type {HastElement} */ (node.data.hChildren[0])\n assert(code.type === 'element')\n assert(code.tagName === 'code')\n code.children.push({type: 'text', value: data})\n this.data.mathFlowInside = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function enterMathText(token) {\n this.enter(\n {\n type: 'inlineMath',\n value: '',\n data: {\n hName: 'code',\n hProperties: {className: ['language-math', 'math-inline']},\n hChildren: []\n }\n },\n token\n )\n this.buffer()\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function exitMathText(token) {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'inlineMath')\n this.exit(token)\n node.value = data\n const children = /** @type {Array<HastElementContent>} */ (\n // @ts-expect-error: we defined it in `enterMathFlow`.\n node.data.hChildren\n )\n children.push({type: 'text', value: data})\n }\n\n /**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\n function exitMathData(token) {\n this.config.enter.data.call(this, token)\n this.config.exit.data.call(this, token)\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown`.\n *\n * @param {ToOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown`.\n */\nexport function mathToMarkdown(options) {\n let single = (options || {}).singleDollarTextMath\n\n if (single === null || single === undefined) {\n single = true\n }\n\n inlineMath.peek = inlineMathPeek\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'mathFlowMeta'},\n {character: '\\n', inConstruct: 'mathFlowMeta'},\n {\n character: '$',\n after: single ? undefined : '\\\\$',\n inConstruct: 'phrasing'\n },\n {character: '$', inConstruct: 'mathFlowMeta'},\n {atBreak: true, character: '$', after: '\\\\$'}\n ],\n handlers: {math, inlineMath}\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Math} node\n */\n // Note: fixing this code? Please also fix the similar code for code:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/main/lib/handle/code.js>\n function math(node, _, state, info) {\n const raw = node.value || ''\n const tracker = state.createTracker(info)\n const sequence = '$'.repeat(Math.max(longestStreak(raw, '$') + 1, 2))\n const exit = state.enter('mathFlow')\n let value = tracker.move(sequence)\n\n if (node.meta) {\n const subexit = state.enter('mathFlowMeta')\n value += tracker.move(\n state.safe(node.meta, {\n after: '\\n',\n before: value,\n encode: ['$'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n value += tracker.move('\\n')\n\n if (raw) {\n value += tracker.move(raw + '\\n')\n }\n\n value += tracker.move(sequence)\n exit()\n return value\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineMath} node\n */\n // Note: fixing this code? Please also fix the similar code for inline code:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/main/lib/handle/inline-code.js>\n function inlineMath(node, _, state) {\n let value = node.value || ''\n let size = 1\n\n if (!single) size++\n\n // If there is a single dollar sign on its own in the math, use a fence of\n // two.\n // If there are two in a row, use one.\n while (\n new RegExp('(^|[^$])' + '\\\\$'.repeat(size) + '([^$]|$)').test(value)\n ) {\n size++\n }\n\n const sequence = '$'.repeat(size)\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first and last character are a space or eol, or the first or last\n // character are dollar signs, then pad with spaces.\n if (\n // Contains non-space.\n /[^ \\r\\n]/.test(value) &&\n // Starts with space and ends with space.\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) ||\n // Starts or ends with dollar.\n /^\\$|\\$$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n let index = -1\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineMath`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index]\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n const expression = state.compilePattern(pattern)\n /** @type {RegExpExecArray | null} */\n let match\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.codePointAt(position) === 10 /* `\\n` */ &&\n value.codePointAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n }\n\n /**\n * @returns {string}\n */\n function inlineMathPeek() {\n return '$'\n }\n}\n", + "/**\n * @import {Construct, State, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const mathFlow = {\n tokenize: tokenizeMathFenced,\n concrete: true,\n name: 'mathFlow'\n};\n\n/** @type {Construct} */\nconst nonLazyContinuation = {\n tokenize: tokenizeNonLazyContinuation,\n partial: true\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeMathFenced(effects, ok, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n const initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let sizeOpen = 0;\n return start;\n\n /**\n * Start of math.\n *\n * ```markdown\n * > | $$\n * ^\n * | \\frac{1}{2}\n * | $$\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('mathFlow');\n effects.enter('mathFlowFence');\n effects.enter('mathFlowFenceSequence');\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | $$\n * ^\n * | \\frac{1}{2}\n * | $$\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 36) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n if (sizeOpen < 2) {\n return nok(code);\n }\n effects.exit('mathFlowFenceSequence');\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n\n /**\n * In opening fence, before meta.\n *\n * ```markdown\n * > | $$asciimath\n * ^\n * | x < y\n * | $$\n * ```\n *\n * @type {State}\n */\n\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return metaAfter(code);\n }\n effects.enter('mathFlowFenceMeta');\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | $$asciimath\n * ^\n * | x < y\n * | $$\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit('mathFlowFenceMeta');\n return metaAfter(code);\n }\n if (code === 36) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * After meta.\n *\n * ```markdown\n * > | $$\n * ^\n * | \\frac{1}{2}\n * | $$\n * ```\n *\n * @type {State}\n */\n function metaAfter(code) {\n // Guaranteed to be eol/eof.\n effects.exit('mathFlowFence');\n if (self.interrupt) {\n return ok(code);\n }\n return effects.attempt(nonLazyContinuation, beforeNonLazyContinuation, after)(code);\n }\n\n /**\n * After eol/eof in math, at a non-lazy closing fence or content.\n *\n * ```markdown\n * | $$\n * > | \\frac{1}{2}\n * ^\n * > | $$\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeNonLazyContinuation(code) {\n return effects.attempt({\n tokenize: tokenizeClosingFence,\n partial: true\n }, after, contentStart)(code);\n }\n\n /**\n * Before math content, definitely not before a closing fence.\n *\n * ```markdown\n * | $$\n * > | \\frac{1}{2}\n * ^\n * | $$\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return (initialSize ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialSize + 1) : beforeContentChunk)(code);\n }\n\n /**\n * Before math content, after optional prefix.\n *\n * ```markdown\n * | $$\n * > | \\frac{1}{2}\n * ^\n * | $$\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null) {\n return after(code);\n }\n if (markdownLineEnding(code)) {\n return effects.attempt(nonLazyContinuation, beforeNonLazyContinuation, after)(code);\n }\n effects.enter('mathFlowValue');\n return contentChunk(code);\n }\n\n /**\n * In math content.\n *\n * ```markdown\n * | $$\n * > | \\frac{1}{2}\n * ^\n * | $$\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('mathFlowValue');\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After math (ha!).\n *\n * ```markdown\n * | $$\n * | \\frac{1}{2}\n * > | $$\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit('mathFlow');\n return ok(code);\n }\n\n /** @type {Tokenizer} */\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0;\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | $$\n * | \\frac{1}{2}\n * > | $$\n * ^\n * ```\n */\n return factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4);\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | $$\n * | \\frac{1}{2}\n * > | $$\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n effects.enter('mathFlowFence');\n effects.enter('mathFlowFenceSequence');\n return sequenceClose(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | $$\n * | \\frac{1}{2}\n * > | $$\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === 36) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size < sizeOpen) {\n return nok(code);\n }\n effects.exit('mathFlowFenceSequence');\n return factorySpace(effects, afterSequenceClose, \"whitespace\")(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | $$\n * | \\frac{1}{2}\n * > | $$\n * ^\n * ```\n *\n * @type {State}\n */\n function afterSequenceClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('mathFlowFence');\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (code === null) {\n return ok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /** @type {State} */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}", + "/**\n * @import {Options} from 'micromark-extension-math'\n * @import {Construct, Previous, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\n// To do: next major: clean spaces in HTML compiler.\n// This has to be coordinated together with `mdast-util-math`.\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/**\n * @param {Options | null | undefined} [options={}]\n * Configuration (default: `{}`).\n * @returns {Construct}\n * Construct.\n */\nexport function mathText(options) {\n const options_ = options || {};\n let single = options_.singleDollarTextMath;\n if (single === null || single === undefined) {\n single = true;\n }\n return {\n tokenize: tokenizeMathText,\n resolve: resolveMathText,\n previous,\n name: 'mathText'\n };\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeMathText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of math (text).\n *\n * ```markdown\n * > | $a$\n * ^\n * > | \\$a$\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('mathText');\n effects.enter('mathTextSequence');\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | $a$\n * ^\n * ```\n *\n * @type {State}\n */\n\n function sequenceOpen(code) {\n if (code === 36) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n\n // Not enough markers in the sequence.\n if (sizeOpen < 2 && !single) {\n return nok(code);\n }\n effects.exit('mathTextSequence');\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | $a$\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 36) {\n token = effects.enter('mathTextSequence');\n size = 0;\n return sequenceClose(code);\n }\n\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter('mathTextData');\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | $a$\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 36 || markdownLineEnding(code)) {\n effects.exit('mathTextData');\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n\n function sequenceClose(code) {\n // More.\n if (code === 36) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit('mathTextSequence');\n effects.exit('mathText');\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = 'mathTextData';\n return data(code);\n }\n }\n}\n\n/** @type {Resolver} */\nfunction resolveMathText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'mathTextData') {\n // Then we have padding.\n events[tailExitIndex][1].type = 'mathTextPadding';\n events[headEnterIndex][1].type = 'mathTextPadding';\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = 'mathTextData';\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 36 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}", + "/**\n * @import {Options} from 'micromark-extension-math'\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { mathFlow } from './math-flow.js';\nimport { mathText } from './math-text.js';\n\n/**\n * Create an extension for `micromark` to enable math syntax.\n *\n * @param {Options | null | undefined} [options={}]\n * Configuration (default: `{}`).\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable math syntax.\n */\nexport function math(options) {\n return {\n flow: {\n [36]: mathFlow\n },\n text: {\n [36]: mathText(options)\n }\n };\n}", + "/// <reference types=\"mdast-util-math\" />\n/// <reference types=\"remark-parse\" />\n/// <reference types=\"remark-stringify\" />\n\n/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-math').ToOptions} Options\n * @typedef {import('unified').Processor<Root>} Processor\n */\n\nimport {mathFromMarkdown, mathToMarkdown} from 'mdast-util-math'\nimport {math} from 'micromark-extension-math'\n\n/** @type {Readonly<Options>} */\nconst emptyOptions = {}\n\n/**\n * Add support for math.\n *\n * @param {Readonly<Options> | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkMath(options) {\n // @ts-expect-error: TS is wrong about `this`.\n // eslint-disable-next-line unicorn/no-this-assignment\n const self = /** @type {Processor} */ (this)\n const settings = options || emptyOptions\n const data = self.data()\n\n const micromarkExtensions =\n data.micromarkExtensions || (data.micromarkExtensions = [])\n const fromMarkdownExtensions =\n data.fromMarkdownExtensions || (data.fromMarkdownExtensions = [])\n const toMarkdownExtensions =\n data.toMarkdownExtensions || (data.toMarkdownExtensions = [])\n\n micromarkExtensions.push(math(settings))\n fromMarkdownExtensions.push(mathFromMarkdown())\n toMarkdownExtensions.push(mathToMarkdown(settings))\n}\n", + "export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n", + "/**\n * @import {Nodes, Parents, PhrasingContent, Root, Text} from 'mdast'\n * @import {BuildVisitor, Test, VisitorResult} from 'unist-util-visit-parents'\n */\n\n/**\n * @typedef RegExpMatchObject\n * Info on the match.\n * @property {number} index\n * The index of the search at which the result was found.\n * @property {string} input\n * A copy of the search string in the text node.\n * @property {[...Array<Parents>, Text]} stack\n * All ancestors of the text node, where the last node is the text itself.\n *\n * @typedef {RegExp | string} Find\n * Pattern to find.\n *\n * Strings are escaped and then turned into global expressions.\n *\n * @typedef {Array<FindAndReplaceTuple>} FindAndReplaceList\n * Several find and replaces, in array form.\n *\n * @typedef {[Find, Replace?]} FindAndReplaceTuple\n * Find and replace in tuple form.\n *\n * @typedef {ReplaceFunction | string | null | undefined} Replace\n * Thing to replace with.\n *\n * @callback ReplaceFunction\n * Callback called when a search matches.\n * @param {...any} parameters\n * The parameters are the result of corresponding search expression:\n *\n * * `value` (`string`) — whole match\n * * `...capture` (`Array<string>`) — matches from regex capture groups\n * * `match` (`RegExpMatchObject`) — info on the match\n * @returns {Array<PhrasingContent> | PhrasingContent | string | false | null | undefined}\n * Thing to replace with.\n *\n * * when `null`, `undefined`, `''`, remove the match\n * * …or when `false`, do not replace at all\n * * …or when `string`, replace with a text node of that value\n * * …or when `Node` or `Array<Node>`, replace with those nodes\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * Normalized find and replace.\n *\n * @typedef {Array<Pair>} Pairs\n * All find and replaced.\n *\n * @typedef Options\n * Configuration.\n * @property {Test | null | undefined} [ignore]\n * Test for which nodes to ignore (optional).\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\n/**\n * Find patterns in a tree and replace them.\n *\n * The algorithm searches the tree in *preorder* for complete values in `Text`\n * nodes.\n * Partial matches are not supported.\n *\n * @param {Nodes} tree\n * Tree to change.\n * @param {FindAndReplaceList | FindAndReplaceTuple} list\n * Patterns to find.\n * @param {Options | null | undefined} [options]\n * Configuration (when `find` is not `Find`).\n * @returns {undefined}\n * Nothing.\n */\nexport function findAndReplace(tree, list, options) {\n const settings = options || {}\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(list)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n /** @type {BuildVisitor<Root, 'text'>} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parents | undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = parents[index]\n /** @type {Array<Nodes> | undefined} */\n const siblings = grandparent ? grandparent.children : undefined\n\n if (\n ignored(\n parent,\n siblings ? siblings.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n return handler(node, parents)\n }\n }\n\n /**\n * Handle a text node which is not in an ignored parent.\n *\n * @param {Text} node\n * Text node.\n * @param {Array<Parents>} parents\n * Parents.\n * @returns {VisitorResult}\n * Result.\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n /** @type {Array<Nodes>} */\n const siblings = parent.children\n const index = siblings.indexOf(node)\n let change = false\n /** @type {Array<PhrasingContent>} */\n let nodes = []\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n // It wasn’t a match after all.\n if (value === false) {\n // False acts as if there was no match.\n // So we need to reset `lastIndex`, which currently being at the end of\n // the current match, to the beginning.\n find.lastIndex = position + 1\n } else {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n}\n\n/**\n * Turn a tuple or a list of tuples into pairs.\n *\n * @param {FindAndReplaceList | FindAndReplaceTuple} tupleOrList\n * Schema.\n * @returns {Pairs}\n * Clean pairs.\n */\nfunction toPairs(tupleOrList) {\n /** @type {Pairs} */\n const result = []\n\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError('Expected find and replace tuple or list of tuples')\n }\n\n /** @type {FindAndReplaceList} */\n // @ts-expect-error: correct.\n const list =\n !tupleOrList[0] || Array.isArray(tupleOrList[0])\n ? tupleOrList\n : [tupleOrList]\n\n let index = -1\n\n while (++index < list.length) {\n const tuple = list[index]\n result.push([toExpression(tuple[0]), toFunction(tuple[1])])\n }\n\n return result\n}\n\n/**\n * Turn a find into an expression.\n *\n * @param {Find} find\n * Find.\n * @returns {RegExp}\n * Expression.\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * Turn a replace into a function.\n *\n * @param {Replace} replace\n * Replace.\n * @returns {ReplaceFunction}\n * Function.\n */\nfunction toFunction(replace) {\n return typeof replace === 'function'\n ? replace\n : function () {\n return replace\n }\n}\n", + "/**\n * @import {RegExpMatchObject, ReplaceFunction} from 'mdast-util-find-and-replace'\n * @import {CompileContext, Extension as FromMarkdownExtension, Handle as FromMarkdownHandle, Transform as FromMarkdownTransform} from 'mdast-util-from-markdown'\n * @import {ConstructName, Options as ToMarkdownExtension} from 'mdast-util-to-markdown'\n * @import {Link, PhrasingContent} from 'mdast'\n */\n\nimport {ccount} from 'ccount'\nimport {ok as assert} from 'devlop'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\n\n/** @type {ConstructName} */\nconst inConstruct = 'phrasing'\n/** @type {Array<ConstructName>} */\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: ':',\n before: '[ps]',\n after: '\\\\/',\n inConstruct,\n notInConstruct\n }\n ]\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'link')\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/gu, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n * @returns {Array<PhrasingContent> | Link | false}\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {Link} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n * @returns {Link | false}\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string | undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n\n if (!trailExec) {\n return [url, undefined]\n }\n\n url = url.slice(0, trailExec.index)\n\n let trail = trailExec[0]\n let closingParenIndex = trail.indexOf(')')\n const openingParens = ccount(url, '(')\n let closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean | null | undefined} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n // If it’s an email, the previous character should not be a slash.\n (!email || code !== 47)\n )\n}\n", + "/**\n * @import {\n * CompileContext,\n * Extension as FromMarkdownExtension,\n * Handle as FromMarkdownHandle\n * } from 'mdast-util-from-markdown'\n * @import {ToMarkdownOptions} from 'mdast-util-gfm-footnote'\n * @import {\n * Handle as ToMarkdownHandle,\n * Map,\n * Options as ToMarkdownExtension\n * } from 'mdast-util-to-markdown'\n * @import {FootnoteDefinition, FootnoteReference} from 'mdast'\n */\n\nimport {ok as assert} from 'devlop'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\n\nfootnoteReference.peek = footnoteReferencePeek\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCallString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCallString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteReference')\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n node.label = label\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCall(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteDefinition')\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n node.label = label\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinition(token) {\n this.exit(token)\n}\n\n/** @type {ToMarkdownHandle} */\nfunction footnoteReferencePeek() {\n return '['\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\nfunction footnoteReference(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteReference')\n const subexit = state.enter('reference')\n value += tracker.move(\n state.safe(state.associationId(node), {after: ']', before: value})\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n}\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown`.\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteCallString: enterFootnoteCallString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: enterFootnoteDefinition\n },\n exit: {\n gfmFootnoteCallString: exitFootnoteCallString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: exitFootnoteDefinition\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @param {ToMarkdownOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown`.\n */\nexport function gfmFootnoteToMarkdown(options) {\n // To do: next major: change default.\n let firstLineBlank = false\n\n if (options && options.firstLineBlank) {\n firstLineBlank = true\n }\n\n return {\n handlers: {footnoteDefinition, footnoteReference},\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['label', 'phrasing', 'reference']}]\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\n function footnoteDefinition(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteDefinition')\n const subexit = state.enter('label')\n value += tracker.move(\n state.safe(state.associationId(node), {before: value, after: ']'})\n )\n subexit()\n\n value += tracker.move(']:')\n\n if (node.children && node.children.length > 0) {\n tracker.shift(4)\n\n value += tracker.move(\n (firstLineBlank ? '\\n' : ' ') +\n state.indentLines(\n state.containerFlow(node, tracker.current()),\n firstLineBlank ? mapAll : mapExceptFirst\n )\n )\n }\n\n exit()\n\n return value\n }\n}\n\n/** @type {Map} */\nfunction mapExceptFirst(line, index, blank) {\n return index === 0 ? line : mapAll(line, index, blank)\n}\n\n/** @type {Map} */\nfunction mapAll(line, index, blank) {\n return (blank ? '' : ' ') + line\n}\n", + "/**\n * @typedef {import('mdast').Delete} Delete\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * List of constructs that occur in phrasing (paragraphs, headings), but cannot\n * contain strikethrough.\n * So they sort of cancel each other out.\n * Note: could use a better name.\n *\n * Note: keep in sync with: <https://github.com/syntax-tree/mdast-util-to-markdown/blob/8ce8dbf/lib/unsafe.js#L14>\n *\n * @type {Array<ConstructName>}\n */\nconst constructsWithoutStrikethrough = [\n 'autolink',\n 'destinationLiteral',\n 'destinationRaw',\n 'reference',\n 'titleQuote',\n 'titleApostrophe'\n]\n\nhandleDelete.peek = peekDelete\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: '~',\n inConstruct: 'phrasing',\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: {delete: handleDelete}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, state, info) {\n const tracker = state.createTracker(info)\n const exit = state.enter('strikethrough')\n let value = tracker.move('~~')\n value += state.containerPhrasing(node, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n", + "// To do: next major: remove.\n/**\n * @typedef {Options} MarkdownTableOptions\n * Configuration.\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [alignDelimiters=true]\n * Whether to align the delimiters (default: `true`);\n * they are aligned by default:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {ReadonlyArray<string | null | undefined> | string | null | undefined} [align]\n * How to align columns (default: `''`);\n * one style for all columns or styles for their respective columns;\n * each style is either `'l'` (left), `'r'` (right), or `'c'` (center);\n * other values are treated as `''`, which doesn’t place the colon in the\n * alignment row but does align left;\n * *only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean | null | undefined} [delimiterEnd=true]\n * Whether to end each row with the delimiter (default: `true`).\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean | null | undefined} [delimiterStart=true]\n * Whether to begin each row with the delimiter (default: `true`).\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean | null | undefined} [padding=true]\n * Whether to add a space of padding between delimiters and cells\n * (default: `true`).\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {((value: string) => number) | null | undefined} [stringLength]\n * Function to detect the length of table cell content (optional);\n * this is used when aligning the delimiters (`|`) between table cells;\n * full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source;\n * to fix this, you can pass this function,\n * which receives the cell content and returns its “visible” size;\n * note that what is and isn’t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩‍❤️‍👩', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | 中文 | Charlie |\n * | 👩‍❤️‍👩 | Delta |\n * ```\n */\n\n/**\n * @param {string} value\n * Cell value.\n * @returns {number}\n * Cell size.\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * Generate a markdown\n * ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables))\n * table.\n *\n * @param {ReadonlyArray<ReadonlyArray<string | null | undefined>>} table\n * Table data (matrix of strings).\n * @param {Readonly<Options> | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Result.\n */\nexport function markdownTable(table, options) {\n const settings = options || {}\n // To do: next major: change to spread.\n const align = (settings.align || []).concat()\n const stringLength = settings.stringLength || defaultStringLength\n /** @type {Array<number>} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array<Array<string>>} Cells per row. */\n const cellMatrix = []\n /** @type {Array<Array<number>>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array<number>} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don’t align delimiters, but otherwise we’d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array<string>} */\n const row = []\n /** @type {Array<number>} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (settings.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array<string>} */\n const row = []\n /** @type {Array<number>} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n settings.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (settings.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array<string>} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array<string>} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (settings.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (settings.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n settings.padding !== false &&\n // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(settings.alignDelimiters === false && cell === '') &&\n (settings.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (settings.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (settings.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (settings.padding !== false) {\n line.push(' ')\n }\n\n if (\n settings.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n settings.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string | null | undefined} [value]\n * Value to serialize.\n * @returns {string}\n * Result.\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string | null | undefined} value\n * Value.\n * @returns {number}\n * Alignment.\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n", + "/**\n * @import {Blockquote, Parents} from 'mdast'\n * @import {Info, Map, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {Blockquote} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function blockquote(node, _, state, info) {\n const exit = state.enter('blockquote')\n const tracker = state.createTracker(info)\n tracker.move('> ')\n tracker.shift(2)\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return '>' + (blank ? '' : ' ') + line\n}\n", + "/**\n * @import {ConstructName, Unsafe} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {Array<ConstructName>} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array<ConstructName>} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (typeof list === 'string') {\n list = [list]\n }\n\n if (!list || list.length === 0) {\n return none\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n", + "/**\n * @import {Break, Parents} from 'mdast'\n * @import {Info, State} from 'mdast-util-to-markdown'\n */\n\nimport {patternInScope} from '../util/pattern-in-scope.js'\n\n/**\n * @param {Break} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function hardBreak(_, _1, state, info) {\n let index = -1\n\n while (++index < state.unsafe.length) {\n // If we can’t put eols in this construct (setext headings, tables), use a\n // space instead.\n if (\n state.unsafe[index].character === '\\n' &&\n patternInScope(state.stack, state.unsafe[index])\n ) {\n return /[ \\t]/.test(info.before) ? '' : ' '\n }\n }\n\n return '\\\\\\n'\n}\n", + "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Code} from 'mdast'\n */\n\n/**\n * @param {Code} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatCodeAsIndented(node, state) {\n return Boolean(\n state.options.fences === false &&\n node.value &&\n // If there’s no info…\n !node.lang &&\n // And there’s a non-whitespace character…\n /[^ \\r\\n]/.test(node.value) &&\n // And the value doesn’t start or end in a blank…\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n )\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['fence'], null | undefined>}\n */\nexport function checkFence(state) {\n const marker = state.options.fence || '`'\n\n if (marker !== '`' && marker !== '~') {\n throw new Error(\n 'Cannot serialize code with `' +\n marker +\n '` for `options.fence`, expected `` ` `` or `~`'\n )\n }\n\n return marker\n}\n", + "/**\n * @import {Info, Map, State} from 'mdast-util-to-markdown'\n * @import {Code, Parents} from 'mdast'\n */\n\nimport {longestStreak} from 'longest-streak'\nimport {formatCodeAsIndented} from '../util/format-code-as-indented.js'\nimport {checkFence} from '../util/check-fence.js'\n\n/**\n * @param {Code} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function code(node, _, state, info) {\n const marker = checkFence(state)\n const raw = node.value || ''\n const suffix = marker === '`' ? 'GraveAccent' : 'Tilde'\n\n if (formatCodeAsIndented(node, state)) {\n const exit = state.enter('codeIndented')\n const value = state.indentLines(raw, map)\n exit()\n return value\n }\n\n const tracker = state.createTracker(info)\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3))\n const exit = state.enter('codeFenced')\n let value = tracker.move(sequence)\n\n if (node.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`)\n value += tracker.move(\n state.safe(node.lang, {\n before: value,\n after: ' ',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n if (node.lang && node.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`)\n value += tracker.move(' ')\n value += tracker.move(\n state.safe(node.meta, {\n before: value,\n after: '\\n',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n value += tracker.move('\\n')\n\n if (raw) {\n value += tracker.move(raw + '\\n')\n }\n\n value += tracker.move(sequence)\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return (blank ? '' : ' ') + line\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['quote'], null | undefined>}\n */\nexport function checkQuote(state) {\n const marker = state.options.quote || '\"'\n\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n 'Cannot serialize title with `' +\n marker +\n '` for `options.quote`, expected `\"`, or `\\'`'\n )\n }\n\n return marker\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Definition, Parents} from 'mdast'\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\n/**\n * @param {Definition} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function definition(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('definition')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n value += tracker.move(\n state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n )\n value += tracker.move(']: ')\n\n subexit()\n\n if (\n // If there’s no url, or…\n !node.url ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : '\\n',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n exit()\n\n return value\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['emphasis'], null | undefined>}\n */\nexport function checkEmphasis(state) {\n const marker = state.options.emphasis || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize emphasis with `' +\n marker +\n '` for `options.emphasis`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n", + "/**\n * Encode a code point as a character reference.\n *\n * @param {number} code\n * Code point to encode.\n * @returns {string}\n * Encoded character reference.\n */\nexport function encodeCharacterReference(code) {\n return '&#x' + code.toString(16).toUpperCase() + ';'\n}\n", + "/**\n * @import {EncodeSides} from '../types.js'\n */\n\nimport {classifyCharacter} from 'micromark-util-classify-character'\n\n/**\n * Check whether to encode (as a character reference) the characters\n * surrounding an attention run.\n *\n * Which characters are around an attention run influence whether it works or\n * not.\n *\n * See <https://github.com/orgs/syntax-tree/discussions/60> for more info.\n * See this markdown in a particular renderer to see what works:\n *\n * ```markdown\n * | | A (letter inside) | B (punctuation inside) | C (whitespace inside) | D (nothing inside) |\n * | ----------------------- | ----------------- | ---------------------- | --------------------- | ------------------ |\n * | 1 (letter outside) | x*y*z | x*.*z | x* *z | x**z |\n * | 2 (punctuation outside) | .*y*. | .*.*. | .* *. | .**. |\n * | 3 (whitespace outside) | x *y* z | x *.* z | x * * z | x ** z |\n * | 4 (nothing outside) | *x* | *.* | * * | ** |\n * ```\n *\n * @param {number} outside\n * Code point on the outer side of the run.\n * @param {number} inside\n * Code point on the inner side of the run.\n * @param {'*' | '_'} marker\n * Marker of the run.\n * Underscores are handled more strictly (they form less often) than\n * asterisks.\n * @returns {EncodeSides}\n * Whether to encode characters.\n */\n// Important: punctuation must never be encoded.\n// Punctuation is solely used by markdown constructs.\n// And by encoding itself.\n// Encoding them will break constructs or double encode things.\nexport function encodeInfo(outside, inside, marker) {\n const outsideKind = classifyCharacter(outside)\n const insideKind = classifyCharacter(inside)\n\n // Letter outside:\n if (outsideKind === undefined) {\n return insideKind === undefined\n ? // Letter inside:\n // we have to encode *both* letters for `_` as it is looser.\n // it already forms for `*` (and GFMs `~`).\n marker === '_'\n ? {inside: true, outside: true}\n : {inside: false, outside: false}\n : insideKind === 1\n ? // Whitespace inside: encode both (letter, whitespace).\n {inside: true, outside: true}\n : // Punctuation inside: encode outer (letter)\n {inside: false, outside: true}\n }\n\n // Whitespace outside:\n if (outsideKind === 1) {\n return insideKind === undefined\n ? // Letter inside: already forms.\n {inside: false, outside: false}\n : insideKind === 1\n ? // Whitespace inside: encode both (whitespace).\n {inside: true, outside: true}\n : // Punctuation inside: already forms.\n {inside: false, outside: false}\n }\n\n // Punctuation outside:\n return insideKind === undefined\n ? // Letter inside: already forms.\n {inside: false, outside: false}\n : insideKind === 1\n ? // Whitespace inside: encode inner (whitespace).\n {inside: true, outside: false}\n : // Punctuation inside: already forms.\n {inside: false, outside: false}\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Emphasis, Parents} from 'mdast'\n */\n\nimport {checkEmphasis} from '../util/check-emphasis.js'\nimport {encodeCharacterReference} from '../util/encode-character-reference.js'\nimport {encodeInfo} from '../util/encode-info.js'\n\nemphasis.peek = emphasisPeek\n\n/**\n * @param {Emphasis} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function emphasis(node, _, state, info) {\n const marker = checkEmphasis(state)\n const exit = state.enter('emphasis')\n const tracker = state.createTracker(info)\n const before = tracker.move(marker)\n\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n )\n const betweenHead = between.charCodeAt(0)\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n )\n\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1)\n }\n\n const betweenTail = between.charCodeAt(between.length - 1)\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker)\n\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail)\n }\n\n const after = tracker.move(marker)\n\n exit()\n\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n }\n return before + between + after\n}\n\n/**\n * @param {Emphasis} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || '*'\n}\n", + "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Heading} from 'mdast'\n */\n\nimport {EXIT, visit} from 'unist-util-visit'\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Heading} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatHeadingAsSetext(node, state) {\n let literalWithBreak = false\n\n // Look for literals with a line break.\n // Note that this also\n visit(node, function (node) {\n if (\n ('value' in node && /\\r?\\n|\\r/.test(node.value)) ||\n node.type === 'break'\n ) {\n literalWithBreak = true\n return EXIT\n }\n })\n\n return Boolean(\n (!node.depth || node.depth < 3) &&\n toString(node) &&\n (state.options.setext || literalWithBreak)\n )\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Heading, Parents} from 'mdast'\n */\n\nimport {encodeCharacterReference} from '../util/encode-character-reference.js'\nimport {formatHeadingAsSetext} from '../util/format-heading-as-setext.js'\n\n/**\n * @param {Heading} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function heading(node, _, state, info) {\n const rank = Math.max(Math.min(6, node.depth || 1), 1)\n const tracker = state.createTracker(info)\n\n if (formatHeadingAsSetext(node, state)) {\n const exit = state.enter('headingSetext')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...tracker.current(),\n before: '\\n',\n after: '\\n'\n })\n subexit()\n exit()\n\n return (\n value +\n '\\n' +\n (rank === 1 ? '=' : '-').repeat(\n // The whole size…\n value.length -\n // Minus the position of the character after the last EOL (or\n // 0 if there is none)…\n (Math.max(value.lastIndexOf('\\r'), value.lastIndexOf('\\n')) + 1)\n )\n )\n }\n\n const sequence = '#'.repeat(rank)\n const exit = state.enter('headingAtx')\n const subexit = state.enter('phrasing')\n\n // Note: for proper tracking, we should reset the output positions when there\n // is no content returned, because then the space is not output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n tracker.move(sequence + ' ')\n\n let value = state.containerPhrasing(node, {\n before: '# ',\n after: '\\n',\n ...tracker.current()\n })\n\n if (/^[\\t ]/.test(value)) {\n // To do: what effect has the character reference on tracking?\n value = encodeCharacterReference(value.charCodeAt(0)) + value.slice(1)\n }\n\n value = value ? sequence + ' ' + value : sequence\n\n if (state.options.closeAtx) {\n value += ' ' + sequence\n }\n\n subexit()\n exit()\n\n return value\n}\n", + "/**\n * @import {Html} from 'mdast'\n */\n\nhtml.peek = htmlPeek\n\n/**\n * @param {Html} node\n * @returns {string}\n */\nexport function html(node) {\n return node.value || ''\n}\n\n/**\n * @returns {string}\n */\nfunction htmlPeek() {\n return '<'\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Image, Parents} from 'mdast'\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\nimage.peek = imagePeek\n\n/**\n * @param {Image} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function image(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('image')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n value += tracker.move(\n state.safe(node.alt, {before: value, after: ']', ...tracker.current()})\n )\n value += tracker.move('](')\n\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n exit()\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imagePeek() {\n return '!'\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {ImageReference, Parents} from 'mdast'\n */\n\nimageReference.peek = imageReferencePeek\n\n/**\n * @param {ImageReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function imageReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('imageReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n const alt = state.safe(node.alt, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(alt + '][')\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !alt || alt !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imageReferencePeek() {\n return '!'\n}\n", + "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {InlineCode, Parents} from 'mdast'\n */\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @param {InlineCode} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nexport function inlineCode(node, _, state) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index]\n const expression = state.compilePattern(pattern)\n /** @type {RegExpExecArray | null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @returns {string}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n", + "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Link} from 'mdast'\n */\n\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Link} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatLinkAsAutolink(node, state) {\n const raw = toString(node)\n\n return Boolean(\n !state.options.resourceLink &&\n // If there’s a url…\n node.url &&\n // And there’s a no title…\n !node.title &&\n // And the content of `node` is a single text node…\n node.children &&\n node.children.length === 1 &&\n node.children[0].type === 'text' &&\n // And if the url is the same as the content…\n (raw === node.url || 'mailto:' + raw === node.url) &&\n // And that starts w/ a protocol…\n /^[a-z][a-z+.-]+:/i.test(node.url) &&\n // And that doesn’t contain ASCII control codes (character escapes and\n // references don’t work), space, or angle brackets…\n !/[\\0- <>\\u007F]/.test(node.url)\n )\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Link, Parents} from 'mdast'\n * @import {Exit} from '../types.js'\n */\n\nimport {checkQuote} from '../util/check-quote.js'\nimport {formatLinkAsAutolink} from '../util/format-link-as-autolink.js'\n\nlink.peek = linkPeek\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function link(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const tracker = state.createTracker(info)\n /** @type {Exit} */\n let exit\n /** @type {Exit} */\n let subexit\n\n if (formatLinkAsAutolink(node, state)) {\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n exit = state.enter('autolink')\n let value = tracker.move('<')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '>',\n ...tracker.current()\n })\n )\n value += tracker.move('>')\n exit()\n state.stack = stack\n return value\n }\n\n exit = state.enter('link')\n subexit = state.enter('label')\n let value = tracker.move('[')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '](',\n ...tracker.current()\n })\n )\n value += tracker.move('](')\n subexit()\n\n if (\n // If there’s no url but there is a title…\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n\n exit()\n return value\n}\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nfunction linkPeek(node, _, state) {\n return formatLinkAsAutolink(node, state) ? '<' : '['\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {LinkReference, Parents} from 'mdast'\n */\n\nlinkReference.peek = linkReferencePeek\n\n/**\n * @param {LinkReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function linkReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('linkReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n const text = state.containerPhrasing(node, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(text + '][')\n\n subexit()\n // Hide the fact that we’re in phrasing, because escapes don’t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn’t matter that\n // we’ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !text || text !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction linkReferencePeek() {\n return '['\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['bullet'], null | undefined>}\n */\nexport function checkBullet(state) {\n const marker = state.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\nimport {checkBullet} from './check-bullet.js'\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['bullet'], null | undefined>}\n */\nexport function checkBulletOther(state) {\n const bullet = checkBullet(state)\n const bulletOther = state.options.bulletOther\n\n if (!bulletOther) {\n return bullet === '*' ? '-' : '*'\n }\n\n if (bulletOther !== '*' && bulletOther !== '+' && bulletOther !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n bulletOther +\n '` for `options.bulletOther`, expected `*`, `+`, or `-`'\n )\n }\n\n if (bulletOther === bullet) {\n throw new Error(\n 'Expected `bullet` (`' +\n bullet +\n '`) and `bulletOther` (`' +\n bulletOther +\n '`) to be different'\n )\n }\n\n return bulletOther\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['bulletOrdered'], null | undefined>}\n */\nexport function checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || '.'\n\n if (marker !== '.' && marker !== ')') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bulletOrdered`, expected `.` or `)`'\n )\n }\n\n return marker\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['rule'], null | undefined>}\n */\nexport function checkRule(state) {\n const marker = state.options.rule || '*'\n\n if (marker !== '*' && marker !== '-' && marker !== '_') {\n throw new Error(\n 'Cannot serialize rules with `' +\n marker +\n '` for `options.rule`, expected `*`, `-`, or `_`'\n )\n }\n\n return marker\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {List, Parents} from 'mdast'\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkBulletOther} from '../util/check-bullet-other.js'\nimport {checkBulletOrdered} from '../util/check-bullet-ordered.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {List} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function list(node, parent, state, info) {\n const exit = state.enter('list')\n const bulletCurrent = state.bulletCurrent\n /** @type {string} */\n let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state)\n /** @type {string} */\n const bulletOther = node.ordered\n ? bullet === '.'\n ? ')'\n : '.'\n : checkBulletOther(state)\n let useDifferentMarker =\n parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false\n\n if (!node.ordered) {\n const firstListItem = node.children ? node.children[0] : undefined\n\n // If there’s an empty first list item directly in two list items,\n // we have to use a different bullet:\n //\n // ```markdown\n // * - *\n // ```\n //\n // …because otherwise it would become one big thematic break.\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === '*' || bullet === '-') &&\n // Empty first list item:\n firstListItem &&\n (!firstListItem.children || !firstListItem.children[0]) &&\n // Directly in two other list items:\n state.stack[state.stack.length - 1] === 'list' &&\n state.stack[state.stack.length - 2] === 'listItem' &&\n state.stack[state.stack.length - 3] === 'list' &&\n state.stack[state.stack.length - 4] === 'listItem' &&\n // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 &&\n state.indexStack[state.indexStack.length - 2] === 0 &&\n state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true\n }\n\n // If there’s a thematic break at the start of the first list item,\n // we have to use a different bullet:\n //\n // ```markdown\n // * ---\n // ```\n //\n // …because otherwise it would become one big thematic break.\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1\n\n while (++index < node.children.length) {\n const item = node.children[index]\n\n if (\n item &&\n item.type === 'listItem' &&\n item.children &&\n item.children[0] &&\n item.children[0].type === 'thematicBreak'\n ) {\n useDifferentMarker = true\n break\n }\n }\n }\n }\n\n if (useDifferentMarker) {\n bullet = bulletOther\n }\n\n state.bulletCurrent = bullet\n const value = state.containerFlow(node, info)\n state.bulletLastUsed = bullet\n state.bulletCurrent = bulletCurrent\n exit()\n return value\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['listItemIndent'], null | undefined>}\n */\nexport function checkListItemIndent(state) {\n const style = state.options.listItemIndent || 'one'\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n", + "/**\n * @import {Info, Map, State} from 'mdast-util-to-markdown'\n * @import {ListItem, Parents} from 'mdast'\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\n\n/**\n * @param {ListItem} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state)\n let bullet = state.bulletCurrent || checkBullet(state)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (state.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = state.createTracker(info)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = state.enter('listItem')\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Paragraph, Parents} from 'mdast'\n */\n\n/**\n * @param {Paragraph} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function paragraph(node, _, state, info) {\n const exit = state.enter('paragraph')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, info)\n subexit()\n exit()\n return value\n}\n", + "/**\n * @typedef {import('mdast').Html} Html\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Check if the given value is *phrasing content*.\n *\n * > 👉 **Note**: Excludes `html`, which can be both phrasing or flow.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @returns\n * Whether `value` is phrasing content.\n */\n\nexport const phrasing =\n /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */\n (\n convert([\n 'break',\n 'delete',\n 'emphasis',\n // To do: next major: removed since footnotes were added to GFM.\n 'footnote',\n 'footnoteReference',\n 'image',\n 'imageReference',\n 'inlineCode',\n // Enabled by `mdast-util-math`:\n 'inlineMath',\n 'link',\n 'linkReference',\n // Enabled by `mdast-util-mdx`:\n 'mdxJsxTextElement',\n // Enabled by `mdast-util-mdx`:\n 'mdxTextExpression',\n 'strong',\n 'text',\n // Enabled by `mdast-util-directive`:\n 'textDirective'\n ])\n )\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Parents, Root} from 'mdast'\n */\n\nimport {phrasing} from 'mdast-util-phrasing'\n\n/**\n * @param {Root} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function root(node, _, state, info) {\n // Note: `html` nodes are ambiguous.\n const hasPhrasing = node.children.some(function (d) {\n return phrasing(d)\n })\n\n const container = hasPhrasing ? state.containerPhrasing : state.containerFlow\n return container.call(state, node, info)\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['strong'], null | undefined>}\n */\nexport function checkStrong(state) {\n const marker = state.options.strong || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize strong with `' +\n marker +\n '` for `options.strong`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Parents, Strong} from 'mdast'\n */\n\nimport {checkStrong} from '../util/check-strong.js'\nimport {encodeCharacterReference} from '../util/encode-character-reference.js'\nimport {encodeInfo} from '../util/encode-info.js'\n\nstrong.peek = strongPeek\n\n/**\n * @param {Strong} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function strong(node, _, state, info) {\n const marker = checkStrong(state)\n const exit = state.enter('strong')\n const tracker = state.createTracker(info)\n const before = tracker.move(marker + marker)\n\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n )\n const betweenHead = between.charCodeAt(0)\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n )\n\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1)\n }\n\n const betweenTail = between.charCodeAt(between.length - 1)\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker)\n\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail)\n }\n\n const after = tracker.move(marker + marker)\n\n exit()\n\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n }\n return before + between + after\n}\n\n/**\n * @param {Strong} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction strongPeek(_, _1, state) {\n return state.options.strong || '*'\n}\n", + "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Parents, Text} from 'mdast'\n */\n\n/**\n * @param {Text} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function text(node, _, state, info) {\n return state.safe(node.value, info)\n}\n", + "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude<Options['ruleRepetition'], null | undefined>}\n */\nexport function checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3\n\n if (repetition < 3) {\n throw new Error(\n 'Cannot serialize rules with repetition `' +\n repetition +\n '` for `options.ruleRepetition`, expected `3` or more'\n )\n }\n\n return repetition\n}\n", + "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Parents, ThematicBreak} from 'mdast'\n */\n\nimport {checkRuleRepetition} from '../util/check-rule-repetition.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {ThematicBreak} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nexport function thematicBreak(_, _1, state) {\n const value = (\n checkRule(state) + (state.options.ruleSpaces ? ' ' : '')\n ).repeat(checkRuleRepetition(state))\n\n return state.options.ruleSpaces ? value.slice(0, -1) : value\n}\n", + "import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {definition} from './definition.js'\nimport {emphasis} from './emphasis.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {image} from './image.js'\nimport {imageReference} from './image-reference.js'\nimport {inlineCode} from './inline-code.js'\nimport {link} from './link.js'\nimport {linkReference} from './link-reference.js'\nimport {list} from './list.js'\nimport {listItem} from './list-item.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default (CommonMark) handlers.\n */\nexport const handle = {\n blockquote,\n break: hardBreak,\n code,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text,\n thematicBreak\n}\n", + "/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').TableRow} TableRow\n *\n * @typedef {import('markdown-table').Options} MarkdownTableOptions\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').State} State\n * @typedef {import('mdast-util-to-markdown').Info} Info\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [tableCellPadding=true]\n * Whether to add a space of padding between delimiters and cells (default:\n * `true`).\n * @property {boolean | null | undefined} [tablePipeAlign=true]\n * Whether to align the delimiters (default: `true`).\n * @property {MarkdownTableOptions['stringLength'] | null | undefined} [stringLength]\n * Function to detect the length of table cell content, used when aligning\n * the delimiters between cells (optional).\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownTable} from 'markdown-table'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM tables in\n * markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM tables.\n */\nexport function gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterTable(token) {\n const align = token._align\n assert(align, 'expected `_align` on table')\n this.enter(\n {\n type: 'table',\n align: align.map(function (d) {\n return d === 'none' ? null : d\n }),\n children: []\n },\n token\n )\n this.data.inTable = true\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitTable(token) {\n this.exit(token)\n this.data.inTable = undefined\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exit(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'inlineCode')\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don’t (but can’t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM tables in\n * markdown.\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM tables.\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, state, info) {\n return serializeData(handleTableAsData(node, state, info), node.align)\n }\n\n /**\n * This function isn’t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, state, info) {\n const row = handleTableRowAsData(node, state, info)\n const value = serializeData([row])\n // `markdown-table` will always add an align row\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, state, info) {\n const exit = state.enter('tableCell')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...info,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array<Array<string>>} matrix\n * @param {Array<string | null | undefined> | null | undefined} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array<Array<string>>} */\n const result = []\n const subexit = state.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableRowAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array<string>} */\n const result = []\n const subexit = state.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(children[index], node, state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, state) {\n let value = defaultHandlers.inlineCode(node, parent, state)\n\n if (state.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n", + "/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {ok as assert} from 'devlop'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM task\n * list items in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM task list\n * items in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCheck(token) {\n // We’re always in a paragraph, in a list item.\n const node = this.stack[this.stack.length - 2]\n assert(node.type === 'listItem')\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2]\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean'\n ) {\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'paragraph')\n const head = node.children[0]\n\n if (head && head.type === 'text') {\n const siblings = parent.children\n let index = -1\n /** @type {Paragraph | undefined} */\n let firstParaghraph\n\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, state, info) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = state.createTracker(info)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = defaultHandlers.listItem(node, parent, state, {\n ...info,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n", + "/**\n * @import {Extension as FromMarkdownExtension} from 'mdast-util-from-markdown'\n * @import {Options} from 'mdast-util-gfm'\n * @import {Options as ToMarkdownExtension} from 'mdast-util-to-markdown'\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @returns {Array<FromMarkdownExtension>}\n * Extension for `mdast-util-from-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ]\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(options),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n }\n}\n", + "/**\n * @import {Code, ConstructRecord, Event, Extension, Previous, State, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { asciiAlpha, asciiAlphanumeric, asciiControl, markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n name: 'wwwAutolink',\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n name: 'protocolAutolink',\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n name: 'emailAutolink',\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\n\n/** @type {ConstructRecord} */\nconst text = {};\n\n/**\n * Create an extension for `micromark` to support GitHub autolink literal\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * autolink literal syntax.\n */\nexport function gfmAutolinkLiteral() {\n return {\n text\n };\n}\n\n/** @type {Code} */\nlet code = 48;\n\n// Add alphanumerics.\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\n\n// To do: perform email autolink literals on events, afterwards.\n// That’s where `markdown-rs` and `cmark-gfm` perform it.\n// It should look for `@`, then for atext backwards, and then for a label\n// forwards.\n// To do: `mailto:`, `xmpp:` protocol as prefix.\n\n/**\n * Email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this;\n /** @type {boolean | undefined} */\n let dot;\n /** @type {boolean} */\n let data;\n return start;\n\n /**\n * Start of email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (!gfmAtext(code) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter('literalAutolink');\n effects.enter('literalAutolinkEmail');\n return atext(code);\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code);\n return atext;\n }\n if (code === 64) {\n effects.consume(code);\n return emailDomain;\n }\n return nok(code);\n }\n\n /**\n * In email domain.\n *\n * The reference code is a bit overly complex as it handles the `@`, of which\n * there may be just one.\n * Source: <https://github.com/github/cmark-gfm/blob/ef1cfcb/extensions/autolink.c#L318>\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomain(code) {\n // Dot followed by alphanumerical (not `-` or `_`).\n if (code === 46) {\n return effects.check(emailDomainDotTrail, emailDomainAfter, emailDomainDot)(code);\n }\n\n // Alphanumerical, `-`, and `_`.\n if (code === 45 || code === 95 || asciiAlphanumeric(code)) {\n data = true;\n effects.consume(code);\n return emailDomain;\n }\n\n // To do: `/` if xmpp.\n\n // Note: normally we’d truncate trailing punctuation from the link.\n // However, email autolink literals cannot contain any of those markers,\n // except for `.`, but that can only occur if it isn’t trailing.\n // So we can ignore truncating!\n return emailDomainAfter(code);\n }\n\n /**\n * In email domain, on dot that is not a trail.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainDot(code) {\n effects.consume(code);\n dot = true;\n return emailDomain;\n }\n\n /**\n * After email domain.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainAfter(code) {\n // Domain must not be empty, must include a dot, and must end in alphabetical.\n // Source: <https://github.com/github/cmark-gfm/blob/ef1cfcb/extensions/autolink.c#L332>.\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit('literalAutolinkEmail');\n effects.exit('literalAutolink');\n return ok(code);\n }\n return nok(code);\n }\n}\n\n/**\n * `www` autolink literal.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this;\n return wwwStart;\n\n /**\n * Start of www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwStart(code) {\n if (code !== 87 && code !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter('literalAutolink');\n effects.enter('literalAutolinkWww');\n // Note: we *check*, so we can discard the `www.` we parsed.\n // If it worked, we consider it as a part of the domain.\n return effects.check(wwwPrefix, effects.attempt(domain, effects.attempt(path, wwwAfter), nok), nok)(code);\n }\n\n /**\n * After a www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwAfter(code) {\n effects.exit('literalAutolinkWww');\n effects.exit('literalAutolink');\n return ok(code);\n }\n}\n\n/**\n * Protocol autolink literal.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeProtocolAutolink(effects, ok, nok) {\n const self = this;\n let buffer = '';\n let seen = false;\n return protocolStart;\n\n /**\n * Start of protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolStart(code) {\n if ((code === 72 || code === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter('literalAutolink');\n effects.enter('literalAutolinkHttp');\n buffer += String.fromCodePoint(code);\n effects.consume(code);\n return protocolPrefixInside;\n }\n return nok(code);\n }\n\n /**\n * In protocol.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^^^^\n * ```\n *\n * @type {State}\n */\n function protocolPrefixInside(code) {\n // `5` is size of `https`\n if (asciiAlpha(code) && buffer.length < 5) {\n // @ts-expect-error: definitely number.\n buffer += String.fromCodePoint(code);\n effects.consume(code);\n return protocolPrefixInside;\n }\n if (code === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === 'http' || protocol === 'https') {\n effects.consume(code);\n return protocolSlashesInside;\n }\n }\n return nok(code);\n }\n\n /**\n * In slashes.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^\n * ```\n *\n * @type {State}\n */\n function protocolSlashesInside(code) {\n if (code === 47) {\n effects.consume(code);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code);\n }\n\n /**\n * After protocol, before domain.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function afterProtocol(code) {\n // To do: this is different from `markdown-rs`:\n // https://github.com/wooorm/markdown-rs/blob/b3a921c761309ae00a51fe348d8a43adbc54b518/src/construct/gfm_autolink_literal.rs#L172-L182\n return code === null || asciiControl(code) || markdownLineEndingOrSpace(code) || unicodeWhitespace(code) || unicodePunctuation(code) ? nok(code) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code);\n }\n\n /**\n * After a protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolAfter(code) {\n effects.exit('literalAutolinkHttp');\n effects.exit('literalAutolink');\n return ok(code);\n }\n}\n\n/**\n * `www` prefix.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwPrefix(effects, ok, nok) {\n let size = 0;\n return wwwPrefixInside;\n\n /**\n * In www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixInside(code) {\n if ((code === 87 || code === 119) && size < 3) {\n size++;\n effects.consume(code);\n return wwwPrefixInside;\n }\n if (code === 46 && size === 3) {\n effects.consume(code);\n return wwwPrefixAfter;\n }\n return nok(code);\n }\n\n /**\n * After www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixAfter(code) {\n // If there is *anything*, we can link.\n return code === null ? nok(code) : ok(code);\n }\n}\n\n/**\n * Domain.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean | undefined} */\n let underscoreInLastSegment;\n /** @type {boolean | undefined} */\n let underscoreInLastLastSegment;\n /** @type {boolean | undefined} */\n let seen;\n return domainInside;\n\n /**\n * In domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^^^^^^^^^^\n * ```\n *\n * @type {State}\n */\n function domainInside(code) {\n // Check whether this marker, which is a trailing punctuation\n // marker, optionally followed by more trailing markers, and then\n // followed by an end.\n if (code === 46 || code === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code);\n }\n\n // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so that’s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n // Source: <https://github.com/github/cmark-gfm/blob/ef1cfcb/extensions/autolink.c#L12>.\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code) || code !== 45 && unicodePunctuation(code)) {\n return domainAfter(code);\n }\n seen = true;\n effects.consume(code);\n return domainInside;\n }\n\n /**\n * In domain, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function domainAtPunctuation(code) {\n // There is an underscore in the last segment of the domain\n if (code === 95) {\n underscoreInLastSegment = true;\n }\n // Otherwise, it’s a `.`: save the last segment underscore in the\n // penultimate segment slot.\n else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = undefined;\n }\n effects.consume(code);\n return domainInside;\n }\n\n /**\n * After domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^\n * ```\n *\n * @type {State} */\n function domainAfter(code) {\n // Note: that’s GH says a dot is needed, but it’s not true:\n // <https://github.com/github/cmark-gfm/issues/279>\n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code);\n }\n return ok(code);\n }\n}\n\n/**\n * Path.\n *\n * ```markdown\n * > | a https://example.org/stuff b\n * ^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePath(effects, ok) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n\n /**\n * In path.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^\n * ```\n *\n * @type {State}\n */\n function pathInside(code) {\n if (code === 40) {\n sizeOpen++;\n effects.consume(code);\n return pathInside;\n }\n\n // To do: `markdown-rs` also needs this.\n // If this is a paren, and there are less closings than openings,\n // we don’t check for a trail.\n if (code === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code);\n }\n\n // Check whether this trailing punctuation marker is optionally\n // followed by more trailing markers, and then followed\n // by an end.\n if (code === 33 || code === 34 || code === 38 || code === 39 || code === 41 || code === 42 || code === 44 || code === 46 || code === 58 || code === 59 || code === 60 || code === 63 || code === 93 || code === 95 || code === 126) {\n return effects.check(trail, ok, pathAtPunctuation)(code);\n }\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return ok(code);\n }\n effects.consume(code);\n return pathInside;\n }\n\n /**\n * In path, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com/a\"b\n * ^\n * ```\n *\n * @type {State}\n */\n function pathAtPunctuation(code) {\n // Count closing parens.\n if (code === 41) {\n sizeClose++;\n }\n effects.consume(code);\n return pathInside;\n }\n}\n\n/**\n * Trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the entire trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | https://example.com\").\n * ^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTrail(effects, ok, nok) {\n return trail;\n\n /**\n * In trail of domain or path.\n *\n * ```markdown\n * > | https://example.com\").\n * ^\n * ```\n *\n * @type {State}\n */\n function trail(code) {\n // Regular trailing punctuation.\n if (code === 33 || code === 34 || code === 39 || code === 41 || code === 42 || code === 44 || code === 46 || code === 58 || code === 59 || code === 63 || code === 95 || code === 126) {\n effects.consume(code);\n return trail;\n }\n\n // `&` followed by one or more alphabeticals and then a `;`, is\n // as a whole considered as trailing punctuation.\n // In all other cases, it is considered as continuation of the URL.\n if (code === 38) {\n effects.consume(code);\n return trailCharacterReferenceStart;\n }\n\n // Needed because we allow literals after `[`, as we fix:\n // <https://github.com/github/cmark-gfm/issues/278>.\n // Check that it is not followed by `(` or `[`.\n if (code === 93) {\n effects.consume(code);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code === 60 ||\n // So is whitespace.\n code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In trail, after `]`.\n *\n * > 👉 **Note**: this deviates from `cmark-gfm` to fix a bug.\n * > See end of <https://github.com/github/cmark-gfm/issues/278> for more.\n *\n * ```markdown\n * > | https://example.com](\n * ^\n * ```\n *\n * @type {State}\n */\n function trailBracketAfter(code) {\n // Whitespace or something that could start a resource or reference is the end.\n // Switch back to trail otherwise.\n if (code === null || code === 40 || code === 91 || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return ok(code);\n }\n return trail(code);\n }\n\n /**\n * In character-reference like trail, after `&`.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharacterReferenceStart(code) {\n // When non-alpha, it’s not a trail.\n return asciiAlpha(code) ? trailCharacterReferenceInside(code) : nok(code);\n }\n\n /**\n * In character-reference like trail.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharacterReferenceInside(code) {\n // Switch back to trail if this is well-formed.\n if (code === 59) {\n effects.consume(code);\n return trail;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return trailCharacterReferenceInside;\n }\n\n // It’s not a trail.\n return nok(code);\n }\n}\n\n/**\n * Dot in email domain trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | contact@example.org.\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailDomainDotTrail(effects, ok, nok) {\n return start;\n\n /**\n * Dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Must be dot.\n effects.consume(code);\n return after;\n }\n\n /**\n * After dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Not a trail if alphanumeric.\n return asciiAlphanumeric(code) ? nok(code) : ok(code);\n }\n}\n\n/**\n * See:\n * <https://github.com/github/cmark-gfm/blob/ef1cfcb/extensions/autolink.c#L156>.\n *\n * @type {Previous}\n */\nfunction previousWww(code) {\n return code === null || code === 40 || code === 42 || code === 95 || code === 91 || code === 93 || code === 126 || markdownLineEndingOrSpace(code);\n}\n\n/**\n * See:\n * <https://github.com/github/cmark-gfm/blob/ef1cfcb/extensions/autolink.c#L214>.\n *\n * @type {Previous}\n */\nfunction previousProtocol(code) {\n return !asciiAlpha(code);\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previousEmail(code) {\n // Do not allow a slash “inside” atext.\n // The reference code is a bit weird, but that’s what it results in.\n // Source: <https://github.com/github/cmark-gfm/blob/ef1cfcb/extensions/autolink.c#L307>.\n // Other than slash, every preceding character is allowed.\n return !(code === 47 || gfmAtext(code));\n}\n\n/**\n * @param {Code} code\n * @returns {boolean}\n */\nfunction gfmAtext(code) {\n return code === 43 || code === 45 || code === 46 || code === 95 || asciiAlphanumeric(code);\n}\n\n/**\n * @param {Array<Event>} events\n * @returns {boolean}\n */\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === 'labelLink' || token.type === 'labelImage') && !token._balanced) {\n result = true;\n break;\n }\n\n // If we’ve seen this token, and it was marked as not having any unbalanced\n // bracket before it, we can exit.\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n // Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}", + "/**\n * @import {Event, Exiter, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { blankLine } from 'micromark-core-commonmark';\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\n\n// To do: micromark should support a `_hiddenGfmFootnoteSupport`, which only\n// affects label start (image).\n// That will let us drop `tokenizePotentialGfmFootnote*`.\n// It currently has a `_hiddenFootnoteSupport`, which affects that and more.\n// That can be removed when `micromark-extension-footnote` is archived.\n\n/**\n * Create an extension for `micromark` to enable GFM footnote syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to\n * enable GFM footnote syntax.\n */\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n name: 'gfmFootnoteDefinition',\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n name: 'gfmFootnoteCall',\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n name: 'gfmPotentialFootnoteCall',\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\n\n// To do: remove after micromark update.\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n /** @type {Token} */\n let labelStart;\n\n // Find an opening.\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n\n // Exit if we’ve walked far enough.\n if (token.type === 'gfmFootnoteCall' || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n\n /**\n * @type {State}\n */\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code);\n }\n const id = normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n }));\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code);\n }\n effects.enter('gfmFootnoteCallLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallLabelMarker');\n return ok(code);\n }\n}\n\n// To do: remove after micromark update.\n/** @type {Resolver} */\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n /** @type {Token | undefined} */\n let labelStart;\n\n // Find an opening.\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === 'enter') {\n labelStart = events[index][1];\n break;\n }\n }\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker';\n\n // The whole (without `!`):\n /** @type {Token} */\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n // The `^` marker\n /** @type {Token} */\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n // Increment the end 1 character.\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n /** @type {Token} */\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n /** @type {Token} */\n const chunk = {\n type: \"chunkString\",\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n\n /** @type {Array<Event>} */\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1], events[index + 2], ['enter', call, context],\n // The `[`\n events[index + 3], events[index + 4],\n // The `^`.\n ['enter', marker, context], ['exit', marker, context],\n // Everything in between.\n ['enter', string, context], ['enter', chunk, context], ['exit', chunk, context], ['exit', string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2], events[events.length - 1], ['exit', call, context]];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n /** @type {boolean} */\n let data;\n\n // Note: the implementation of `markdown-rs` is different, because it houses\n // core *and* extensions in one project.\n // Therefore, it can include footnote logic inside `label-end`.\n // We can’t do that, but luckily, we can parse footnotes in a simpler way than\n // needed for labels.\n return start;\n\n /**\n * Start of footnote label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteCall');\n effects.enter('gfmFootnoteCallLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallLabelMarker');\n return callStart;\n }\n\n /**\n * After `[`, at `^`.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callStart(code) {\n if (code !== 94) return nok(code);\n effects.enter('gfmFootnoteCallMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallMarker');\n effects.enter('gfmFootnoteCallString');\n effects.enter('chunkString').contentType = 'string';\n return callData;\n }\n\n /**\n * In label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callData(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n code === 93 && !data ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null || code === 91 || markdownLineEndingOrSpace(code)) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit('chunkString');\n const token = effects.exit('gfmFootnoteCallString');\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code);\n }\n effects.enter('gfmFootnoteCallLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallLabelMarker');\n effects.exit('gfmFootnoteCall');\n return ok;\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true;\n }\n size++;\n effects.consume(code);\n return code === 92 ? callEscape : callData;\n }\n\n /**\n * On character after escape.\n *\n * ```markdown\n * > | a [^b\\c] d\n * ^\n * ```\n *\n * @type {State}\n */\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return callData;\n }\n return callData(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n /** @type {string} */\n let identifier;\n let size = 0;\n /** @type {boolean | undefined} */\n let data;\n return start;\n\n /**\n * Start of GFM footnote definition.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true;\n effects.enter('gfmFootnoteDefinitionLabel');\n effects.enter('gfmFootnoteDefinitionLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteDefinitionLabelMarker');\n return labelAtMarker;\n }\n\n /**\n * In label, at caret.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAtMarker(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteDefinitionMarker');\n effects.enter('gfmFootnoteDefinitionLabelString');\n effects.enter('chunkString').contentType = 'string';\n return labelInside;\n }\n return nok(code);\n }\n\n /**\n * In label.\n *\n * > 👉 **Note**: `cmark-gfm` prevents whitespace from occurring in footnote\n * > definition labels.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n code === 93 && !data ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null || code === 91 || markdownLineEndingOrSpace(code)) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit('chunkString');\n const token = effects.exit('gfmFootnoteDefinitionLabelString');\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter('gfmFootnoteDefinitionLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteDefinitionLabelMarker');\n effects.exit('gfmFootnoteDefinitionLabel');\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true;\n }\n size++;\n effects.consume(code);\n return code === 92 ? labelEscape : labelInside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * > 👉 **Note**: `cmark-gfm` currently does not support escaped brackets:\n * > <https://github.com/github/cmark-gfm/issues/240>\n *\n * ```markdown\n * > | [^a\\*b]: c\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return labelInside;\n }\n return labelInside(code);\n }\n\n /**\n * After definition label.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker');\n effects.consume(code);\n effects.exit('definitionMarker');\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n\n // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n return factorySpace(effects, whitespaceAfter, 'gfmFootnoteDefinitionWhitespace');\n }\n return nok(code);\n }\n\n /**\n * After definition prefix.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function whitespaceAfter(code) {\n // `markdown-rs` has a wrapping token for the prefix that is closed here.\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n /// Start of footnote definition continuation.\n ///\n /// ```markdown\n /// | [^a]: b\n /// > | c\n /// ^\n /// ```\n //\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok));\n}\n\n/** @type {Exiter} */\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition');\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, 'gfmFootnoteDefinitionIndent', 4 + 1);\n\n /**\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === 'gfmFootnoteDefinitionIndent' && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok(code) : nok(code);\n }\n}", + "/**\n * @import {Options} from 'micromark-extension-gfm-strikethrough'\n * @import {Event, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create an extension for `micromark` to enable GFM strikethrough syntax.\n *\n * @param {Options | null | undefined} [options={}]\n * Configuration.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable GFM strikethrough syntax.\n */\nexport function gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n name: 'strikethrough',\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === undefined) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n\n // Walk through all events.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'strikethroughSequenceTemporary' && events[index][1]._close) {\n let open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'strikethroughSequenceTemporary' && events[open][1]._open &&\n // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = 'strikethroughSequence';\n events[open][1].type = 'strikethroughSequence';\n\n /** @type {Token} */\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n\n /** @type {Token} */\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n\n // Opening.\n /** @type {Array<Event>} */\n const nextEvents = [['enter', strikethrough, context], ['enter', events[open][1], context], ['exit', events[open][1], context], ['enter', text, context]];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n // Between.\n splice(nextEvents, nextEvents.length, 0, resolveAll(insideSpan, events.slice(open + 1, index), context));\n }\n\n // Closing.\n splice(nextEvents, nextEvents.length, 0, [['exit', text, context], ['enter', events[index][1], context], ['exit', events[index][1], context], ['exit', strikethrough, context]]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (previous === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code);\n }\n effects.enter('strikethroughSequenceTemporary');\n return more(code);\n }\n\n /** @type {State} */\n function more(code) {\n const before = classifyCharacter(previous);\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code);\n effects.consume(code);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code);\n const token = effects.exit('strikethroughSequenceTemporary');\n const after = classifyCharacter(code);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok(code);\n }\n }\n}", + "/**\n * @import {Event} from 'micromark-util-types'\n */\n\n// Port of `edit_map.rs` from `markdown-rs`.\n// This should move to `markdown-js` later.\n\n// Deal with several changes in events, batching them together.\n//\n// Preferably, changes should be kept to a minimum.\n// Sometimes, it’s needed to change the list of events, because parsing can be\n// messy, and it helps to expose a cleaner interface of events to the compiler\n// and other users.\n// It can also help to merge many adjacent similar events.\n// And, in other cases, it’s needed to parse subcontent: pass some events\n// through another tokenizer and inject the result.\n\n/**\n * @typedef {[number, number, Array<Event>]} Change\n * @typedef {[number, number, number]} Jump\n */\n\n/**\n * Tracks a bunch of edits.\n */\nexport class EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n /**\n * Record of changes.\n *\n * @type {Array<Change>}\n */\n this.map = [];\n }\n\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array<Event>} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImplementation(this, index, remove, add);\n }\n\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array<Event>} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImplementation(this, index, remove, add, true)\n // }\n\n /**\n * Done, change the events.\n *\n * @param {Array<Event>} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function (a, b) {\n return a[0] - b[0];\n });\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (this.map.length === 0) {\n return;\n }\n\n // To do: if links are added in events, like they are in `markdown-rs`,\n // this is needed.\n // // Calculate jumps: where items in the current list move to.\n // /** @type {Array<Jump>} */\n // const jumps = []\n // let index = 0\n // let addAcc = 0\n // let removeAcc = 0\n // while (index < this.map.length) {\n // const [at, remove, add] = this.map[index]\n // removeAcc += remove\n // addAcc += add.length\n // jumps.push([at, removeAcc, addAcc])\n // index += 1\n // }\n //\n // . shiftLinks(events, jumps)\n\n let index = this.map.length;\n /** @type {Array<Array<Event>>} */\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(events.slice(this.map[index][0] + this.map[index][1]), this.map[index][2]);\n\n // Truncate rest.\n events.length = this.map[index][0];\n }\n vecs.push(events.slice());\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n for (const element of slice) {\n events.push(element);\n }\n slice = vecs.pop();\n }\n\n // Truncate everything.\n this.map.length = 0;\n }\n}\n\n/**\n * Create an edit.\n *\n * @param {EditMap} editMap\n * @param {number} at\n * @param {number} remove\n * @param {Array<Event>} add\n * @returns {undefined}\n */\nfunction addImplementation(editMap, at, remove, add) {\n let index = 0;\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n\n // To do: before not used by tables, use when moving to micromark.\n // if (before) {\n // add.push(...editMap.map[index][2])\n // editMap.map[index][2] = add\n // } else {\n editMap.map[index][2].push(...add);\n // }\n\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\n\n// /**\n// * Shift `previous` and `next` links according to `jumps`.\n// *\n// * This fixes links in case there are events removed or added between them.\n// *\n// * @param {Array<Event>} events\n// * @param {Array<Jump>} jumps\n// */\n// function shiftLinks(events, jumps) {\n// let jumpIndex = 0\n// let index = 0\n// let add = 0\n// let rm = 0\n\n// while (index < events.length) {\n// const rmCurr = rm\n\n// while (jumpIndex < jumps.length && jumps[jumpIndex][0] <= index) {\n// add = jumps[jumpIndex][2]\n// rm = jumps[jumpIndex][1]\n// jumpIndex += 1\n// }\n\n// // Ignore items that will be removed.\n// if (rm > rmCurr) {\n// index += rm - rmCurr\n// } else {\n// // ?\n// // if let Some(link) = &events[index].link {\n// // if let Some(next) = link.next {\n// // events[next].link.as_mut().unwrap().previous = Some(index + add - rm);\n// // while jumpIndex < jumps.len() && jumps[jumpIndex].0 <= next {\n// // add = jumps[jumpIndex].2;\n// // rm = jumps[jumpIndex].1;\n// // jumpIndex += 1;\n// // }\n// // events[index].link.as_mut().unwrap().next = Some(next + add - rm);\n// // index = next;\n// // continue;\n// // }\n// // }\n// index += 1\n// }\n// }\n// }", + "/**\n * @import {Event} from 'micromark-util-types'\n */\n\n/**\n * @typedef {'center' | 'left' | 'none' | 'right'} Align\n */\n\n/**\n * Figure out the alignment of a GFM table.\n *\n * @param {Readonly<Array<Event>>} events\n * List of events.\n * @param {number} index\n * Table enter event.\n * @returns {Array<Align>}\n * List of aligns.\n */\nexport function gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n /** @type {Array<Align>} */\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === 'enter') {\n // Start of alignment value: set a new column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n if (event[1].type === 'tableContent') {\n align.push(events[index + 1][1].type === 'tableDelimiterMarker' ? 'left' : 'none');\n }\n }\n // Exits:\n // End of alignment value: change the column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n else if (event[1].type === 'tableContent') {\n if (events[index - 1][1].type === 'tableDelimiterMarker') {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === 'left' ? 'center' : 'right';\n }\n }\n // Done!\n else if (event[1].type === 'tableDelimiterRow') {\n break;\n }\n } else if (event[0] === 'enter' && event[1].type === 'tableDelimiterRow') {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}", + "/**\n * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\n/**\n * @typedef {[number, number, number, number]} Range\n * Cell info.\n *\n * @typedef {0 | 1 | 2 | 3} RowKind\n * Where we are: `1` for head row, `2` for delimiter row, `3` for body row.\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';\nimport { EditMap } from './edit-map.js';\nimport { gfmTableAlign } from './infer.js';\n\n/**\n * Create an HTML extension for `micromark` to support GitHub tables syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * table syntax.\n */\nexport function gfmTable() {\n return {\n flow: {\n null: {\n name: 'table',\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTable(effects, ok, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n /** @type {boolean | undefined} */\n let seen;\n return start;\n\n /**\n * Start of a GFM table.\n *\n * If there is a valid table row or table head before, then we try to parse\n * another row.\n * Otherwise, we try to parse a head.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * > | | b |\n * ^\n * ```\n * @type {State}\n */\n function start(code) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" ||\n // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\") index--;else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore;\n\n // Don’t allow lazy body rows.\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n return next(code);\n }\n\n /**\n * Before table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBefore(code) {\n effects.enter('tableHead');\n effects.enter('tableRow');\n return headRowStart(code);\n }\n\n /**\n * Before table head row, after whitespace.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowStart(code) {\n if (code === 124) {\n return headRowBreak(code);\n }\n\n // To do: micromark-js should let us parse our own whitespace in extensions,\n // like `markdown-rs`:\n //\n // ```js\n // // 4+ spaces.\n // if (markdownSpace(code)) {\n // return nok(code)\n // }\n // ```\n\n seen = true;\n // Count the first character, that isn’t a pipe, double.\n sizeB += 1;\n return headRowBreak(code);\n }\n\n /**\n * At break in table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * ^\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBreak(code) {\n if (code === null) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n // If anything other than one pipe (ignoring whitespace) was used, it’s fine.\n if (sizeB > 1) {\n sizeB = 0;\n // To do: check if this works.\n // Feel free to interrupt:\n self.interrupt = true;\n effects.exit('tableRow');\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code);\n }\n if (markdownSpace(code)) {\n // To do: check if this is fine.\n // effects.attempt(State::Next(StateName::GfmTableHeadRowBreak), State::Nok)\n // State::Retry(space_or_tab(tokenizer))\n return factorySpace(effects, headRowBreak, \"whitespace\")(code);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n // Header cell count.\n size += 1;\n }\n if (code === 124) {\n effects.enter('tableCellDivider');\n effects.consume(code);\n effects.exit('tableCellDivider');\n // Whether a delimiter was seen.\n seen = true;\n return headRowBreak;\n }\n\n // Anything else is cell data.\n effects.enter(\"data\");\n return headRowData(code);\n }\n\n /**\n * In table head row data.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"data\");\n return headRowBreak(code);\n }\n effects.consume(code);\n return code === 92 ? headRowEscape : headRowData;\n }\n\n /**\n * In table head row escape.\n *\n * ```markdown\n * > | | a\\-b |\n * ^\n * | | ---- |\n * | | c |\n * ```\n *\n * @type {State}\n */\n function headRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code);\n return headRowData;\n }\n return headRowData(code);\n }\n\n /**\n * Before delimiter row.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterStart(code) {\n // Reset `interrupt`.\n self.interrupt = false;\n\n // Note: in `markdown-rs`, we need to handle piercing here too.\n if (self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n effects.enter('tableDelimiterRow');\n // Track if we’ve seen a `:` or `|`.\n seen = false;\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterBefore, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n return headDelimiterBefore(code);\n }\n\n /**\n * Before delimiter row, after optional whitespace.\n *\n * Reused when a `|` is found later, to parse another cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterBefore(code) {\n if (code === 45 || code === 58) {\n return headDelimiterValueBefore(code);\n }\n if (code === 124) {\n seen = true;\n // If we start with a pipe, we open a cell marker.\n effects.enter('tableCellDivider');\n effects.consume(code);\n effects.exit('tableCellDivider');\n return headDelimiterCellBefore;\n }\n\n // More whitespace / empty row not allowed at start.\n return headDelimiterNok(code);\n }\n\n /**\n * After `|`, before delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellBefore(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code);\n }\n return headDelimiterValueBefore(code);\n }\n\n /**\n * Before delimiter cell value.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterValueBefore(code) {\n // Align: left.\n if (code === 58) {\n sizeB += 1;\n seen = true;\n effects.enter('tableDelimiterMarker');\n effects.consume(code);\n effects.exit('tableDelimiterMarker');\n return headDelimiterLeftAlignmentAfter;\n }\n\n // Align: none.\n if (code === 45) {\n sizeB += 1;\n // To do: seems weird that this *isn’t* left aligned, but that state is used?\n return headDelimiterLeftAlignmentAfter(code);\n }\n if (code === null || markdownLineEnding(code)) {\n return headDelimiterCellAfter(code);\n }\n return headDelimiterNok(code);\n }\n\n /**\n * After delimiter cell left alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | :- |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterLeftAlignmentAfter(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller');\n return headDelimiterFiller(code);\n }\n\n // Anything else is not ok after the left-align colon.\n return headDelimiterNok(code);\n }\n\n /**\n * In delimiter cell filler.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterFiller(code) {\n if (code === 45) {\n effects.consume(code);\n return headDelimiterFiller;\n }\n\n // Align is `center` if it was `left`, `right` otherwise.\n if (code === 58) {\n seen = true;\n effects.exit('tableDelimiterFiller');\n effects.enter('tableDelimiterMarker');\n effects.consume(code);\n effects.exit('tableDelimiterMarker');\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit('tableDelimiterFiller');\n return headDelimiterRightAlignmentAfter(code);\n }\n\n /**\n * After delimiter cell right alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterRightAlignmentAfter(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code);\n }\n return headDelimiterCellAfter(code);\n }\n\n /**\n * After delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellAfter(code) {\n if (code === 124) {\n return headDelimiterBefore(code);\n }\n if (code === null || markdownLineEnding(code)) {\n // Exit when:\n // * there was no `:` or `|` at all (it’s a thematic break or setext\n // underline instead)\n // * the header cell count is not the delimiter cell count\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code);\n }\n\n // Note: in markdown-rs`, a reset is needed here.\n effects.exit('tableDelimiterRow');\n effects.exit('tableHead');\n // To do: in `markdown-rs`, resolvers need to be registered manually.\n // effects.register_resolver(ResolveName::GfmTable)\n return ok(code);\n }\n return headDelimiterNok(code);\n }\n\n /**\n * In delimiter row, at a disallowed byte.\n *\n * ```markdown\n * | | a |\n * > | | x |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterNok(code) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don‘t.\n return nok(code);\n }\n\n /**\n * Before table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowStart(code) {\n // Note: in `markdown-rs` we need to manually take care of a prefix,\n // but in `micromark-js` that is done for us, so if we’re here, we’re\n // never at whitespace.\n effects.enter('tableRow');\n return bodyRowBreak(code);\n }\n\n /**\n * At break in table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ^\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowBreak(code) {\n if (code === 124) {\n effects.enter('tableCellDivider');\n effects.consume(code);\n effects.exit('tableCellDivider');\n return bodyRowBreak;\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit('tableRow');\n return ok(code);\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code);\n }\n\n // Anything else is cell content.\n effects.enter(\"data\");\n return bodyRowData(code);\n }\n\n /**\n * In table body row data.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"data\");\n return bodyRowBreak(code);\n }\n effects.consume(code);\n return code === 92 ? bodyRowEscape : bodyRowData;\n }\n\n /**\n * In table body row escape.\n *\n * ```markdown\n * | | a |\n * | | ---- |\n * > | | b\\-c |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code);\n return bodyRowData;\n }\n return bodyRowData(code);\n }\n}\n\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n /** @type {RowKind} */\n let rowKind = 0;\n /** @type {Range} */\n let lastCell = [0, 0, 0, 0];\n /** @type {Range} */\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n /** @type {Token | undefined} */\n let currentTable;\n /** @type {Token | undefined} */\n let currentBody;\n /** @type {Token | undefined} */\n let currentCell;\n const map = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === 'enter') {\n // Start of head.\n if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = false;\n\n // Inject previous (body end and) table end.\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody);\n currentBody = undefined;\n lastTableEnd = 0;\n }\n\n // Inject table start.\n currentTable = {\n type: 'table',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map.add(index, 0, [['enter', currentTable, context]]);\n } else if (token.type === 'tableRow' || token.type === 'tableDelimiterRow') {\n inFirstCellAwaitingPipe = true;\n currentCell = undefined;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n\n // Inject table body start.\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: 'tableBody',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map.add(index, 0, [['enter', currentBody, context]]);\n }\n rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1;\n }\n // Cell data.\n else if (rowKind && (token.type === \"data\" || token.type === 'tableDelimiterMarker' || token.type === 'tableDelimiterFiller')) {\n inFirstCellAwaitingPipe = false;\n\n // First value in cell.\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map, context, lastCell, rowKind, undefined, currentCell);\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === 'tableCellDivider') {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map, context, lastCell, rowKind, undefined, currentCell);\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n }\n // Exit events.\n else if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === 'tableRow' || token.type === 'tableDelimiterRow') {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map, context, lastCell, rowKind, index, currentCell);\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === 'tableDelimiterMarker' || token.type === 'tableDelimiterFiller')) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody);\n }\n map.consume(context.events);\n\n // To do: move this into `html`, when events are exposed there.\n // That’s what `markdown-rs` does.\n // That needs updates to `mdast-util-gfm-table`.\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === 'enter' && event[1].type === 'table') {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\n\n/**\n * Generate a cell.\n *\n * @param {EditMap} map\n * @param {Readonly<TokenizeContext>} context\n * @param {Readonly<Range>} range\n * @param {RowKind} rowKind\n * @param {number | undefined} rowEnd\n * @param {Token | undefined} previousCell\n * @returns {Token | undefined}\n */\n// eslint-disable-next-line max-params\nfunction flushCell(map, context, range, rowKind, rowEnd, previousCell) {\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCell' : 'tableCell'\n const groupName = rowKind === 1 ? 'tableHeader' : rowKind === 2 ? 'tableDelimiter' : 'tableData';\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCellValue' : 'tableCellText'\n const valueName = 'tableContent';\n\n // Insert an exit for the previous cell, if there is one.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map.add(range[0], 0, [['exit', previousCell, context]]);\n }\n\n // Insert enter of this cell.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^^^^-- this cell\n // ```\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map.add(range[1], 0, [['enter', previousCell, context]]);\n\n // Insert text start at first data start and end at last data end, and\n // remove events between.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n /** @type {Token} */\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map.add(range[2], 0, [['enter', valueToken, context]]);\n if (rowKind !== 2) {\n // Fix positional info on remaining events\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n\n // Remove if needed.\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map.add(a, b, []);\n }\n }\n map.add(range[3] + 1, 0, [['exit', valueToken, context]]);\n }\n\n // Insert an exit for the last cell, if at the row end.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^^^-- this cell (the last one contains two “between” parts)\n // ```\n if (rowEnd !== undefined) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map.add(rowEnd, 0, [['exit', previousCell, context]]);\n previousCell = undefined;\n }\n return previousCell;\n}\n\n/**\n * Generate table end (and table body end).\n *\n * @param {Readonly<EditMap>} map\n * @param {Readonly<TokenizeContext>} context\n * @param {number} index\n * @param {Token} table\n * @param {Token | undefined} tableBody\n */\n// eslint-disable-next-line max-params\nfunction flushTableEnd(map, context, index, table, tableBody) {\n /** @type {Array<Event>} */\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push(['exit', tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push(['exit', table, context]);\n map.add(index + 1, 0, exits);\n}\n\n/**\n * @param {Readonly<Array<Event>>} events\n * @param {number} index\n * @returns {Readonly<Point>}\n */\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === 'enter' ? 'start' : 'end';\n return event[1][side];\n}", + "/**\n * @import {Extension, State, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';\nconst tasklistCheck = {\n name: 'tasklistCheck',\n tokenize: tokenizeTasklistCheck\n};\n\n/**\n * Create an HTML extension for `micromark` to support GFM task list items\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM task list items when serializing to HTML.\n */\nexport function gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this;\n return open;\n\n /**\n * At start of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null ||\n // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem) {\n return nok(code);\n }\n effects.enter('taskListCheck');\n effects.enter('taskListCheckMarker');\n effects.consume(code);\n effects.exit('taskListCheckMarker');\n return inside;\n }\n\n /**\n * In task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // Currently we match how GH works in files.\n // To match how GH works in comments, use `markdownSpace` (`[\\t ]`) instead\n // of `markdownLineEndingOrSpace` (`[\\t\\n\\r ]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked');\n effects.consume(code);\n effects.exit('taskListCheckValueUnchecked');\n return close;\n }\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked');\n effects.consume(code);\n effects.exit('taskListCheckValueChecked');\n return close;\n }\n return nok(code);\n }\n\n /**\n * At close of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker');\n effects.consume(code);\n effects.exit('taskListCheckMarker');\n effects.exit('taskListCheck');\n return after;\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n */\n function after(code) {\n // EOL in paragraph means there must be something else after it.\n if (markdownLineEnding(code)) {\n return ok(code);\n }\n\n // Space or tab?\n // Check what comes after.\n if (markdownSpace(code)) {\n return effects.check({\n tokenize: spaceThenNonSpace\n }, ok, nok)(code);\n }\n\n // EOF, or non-whitespace, both wrong.\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction spaceThenNonSpace(effects, ok, nok) {\n return factorySpace(effects, after, \"whitespace\");\n\n /**\n * After whitespace, after task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // EOF means there was nothing, so bad.\n // EOL means there’s content after it, so good.\n // Impossible to have more spaces.\n // Anything else is good.\n return code === null ? nok(code) : ok(code);\n }\n}", + "/**\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Create an extension for `micromark` to enable GFM syntax.\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-strikethrough`.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * syntax.\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ])\n}\n\n/**\n * Create an extension for `micromark` to support GFM when serializing to HTML.\n *\n * @param {HtmlOptions | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-footnote`.\n * @returns {HtmlExtension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM when serializing to HTML.\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml(),\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml(),\n gfmTableHtml(),\n gfmTagfilterHtml(),\n gfmTaskListItemHtml()\n ])\n}\n", + "/**\n * @import {Root} from 'mdast'\n * @import {Options} from 'remark-gfm'\n * @import {} from 'remark-parse'\n * @import {} from 'remark-stringify'\n * @import {Processor} from 'unified'\n */\n\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\nimport {gfm} from 'micromark-extension-gfm'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Add support GFM (autolink literals, footnotes, strikethrough, tables,\n * tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkGfm(options) {\n // @ts-expect-error: TS is wrong about `this`.\n // eslint-disable-next-line unicorn/no-this-assignment\n const self = /** @type {Processor<Root>} */ (this)\n const settings = options || emptyOptions\n const data = self.data()\n\n const micromarkExtensions =\n data.micromarkExtensions || (data.micromarkExtensions = [])\n const fromMarkdownExtensions =\n data.fromMarkdownExtensions || (data.fromMarkdownExtensions = [])\n const toMarkdownExtensions =\n data.toMarkdownExtensions || (data.toMarkdownExtensions = [])\n\n micromarkExtensions.push(gfm(settings))\n fromMarkdownExtensions.push(gfmFromMarkdown())\n toMarkdownExtensions.push(gfmToMarkdown(settings))\n}\n", + "import { StandardTooltip } from \"@/components/ui\"\n\ninterface IconButtonProps {\n\ticon: string\n\tonClick?: (e: React.MouseEvent) => void\n\tonMouseDown?: (e: React.MouseEvent) => void\n\tonMouseUp?: (e: React.MouseEvent) => void\n\tonMouseLeave?: (e: React.MouseEvent) => void\n\ttitle?: string\n\tsize?: \"small\" | \"medium\"\n\tvariant?: \"default\" | \"transparent\"\n}\n\nexport function IconButton({\n\ticon,\n\tonClick,\n\tonMouseDown,\n\tonMouseUp,\n\tonMouseLeave,\n\ttitle,\n\tsize = \"medium\",\n\tvariant = \"default\",\n}: IconButtonProps) {\n\tconst sizeClasses = {\n\t\tsmall: \"w-6 h-6\",\n\t\tmedium: \"w-7 h-7\",\n\t}\n\n\tconst variantClasses = {\n\t\tdefault: \"bg-transparent hover:bg-vscode-toolbar-hoverBackground\",\n\t\ttransparent: \"bg-transparent hover:bg-vscode-toolbar-hoverBackground\",\n\t}\n\n\tconst handleClick = onClick || ((_event: React.MouseEvent) => {})\n\n\tconst button = (\n\t\t<button\n\t\t\tclassName={`${sizeClasses[size]} flex items-center justify-center border-none text-vscode-editor-foreground cursor-pointer rounded-[3px] ${variantClasses[variant]}`}\n\t\t\taria-label={title}\n\t\t\tonClick={handleClick}\n\t\t\tonMouseDown={onMouseDown}\n\t\t\tonMouseUp={onMouseUp}\n\t\t\tonMouseLeave={onMouseLeave}>\n\t\t\t<span className={`codicon codicon-${icon}`}></span>\n\t\t</button>\n\t)\n\n\tif (title) {\n\t\treturn <StandardTooltip content={title}>{button}</StandardTooltip>\n\t}\n\n\treturn button\n}\n", + "import { IconButton } from \"./IconButton\"\nimport { useRef, useEffect } from \"react\"\nimport { StandardTooltip } from \"@/components/ui\"\n\ninterface ZoomControlsProps {\n\tzoomLevel: number\n\tzoomInTitle?: string\n\tzoomOutTitle?: string\n\tuseContinuousZoom?: boolean\n\tadjustZoom?: (amount: number) => void\n\tzoomInStep?: number\n\tzoomOutStep?: number\n\tonZoomIn?: () => void\n\tonZoomOut?: () => void\n}\n\nexport function ZoomControls({\n\tzoomLevel,\n\tzoomInTitle,\n\tzoomOutTitle,\n\tuseContinuousZoom = false,\n\tadjustZoom,\n\tzoomInStep = 0.1,\n\tzoomOutStep = -0.1,\n\tonZoomIn,\n\tonZoomOut,\n}: ZoomControlsProps) {\n\tconst zoomIntervalRef = useRef<NodeJS.Timeout | null>(null)\n\n\t/**\n\t * Start continuous zoom on mouse down\n\t */\n\tconst startContinuousZoom = (amount: number) => {\n\t\tif (!useContinuousZoom || !adjustZoom) return\n\n\t\t// Clear any existing interval first\n\t\tif (zoomIntervalRef.current) {\n\t\t\tclearInterval(zoomIntervalRef.current)\n\t\t}\n\n\t\t// Immediately apply first zoom adjustment\n\t\tadjustZoom(amount)\n\n\t\t// Set up interval for continuous zooming\n\t\tzoomIntervalRef.current = setInterval(() => {\n\t\t\tadjustZoom(amount)\n\t\t}, 150) // Adjust every 150ms while button is held down\n\t}\n\n\t/**\n\t * Stop continuous zoom on mouse up or mouse leave\n\t */\n\tconst stopContinuousZoom = () => {\n\t\tif (zoomIntervalRef.current) {\n\t\t\tclearInterval(zoomIntervalRef.current)\n\t\t\tzoomIntervalRef.current = null\n\t\t}\n\t}\n\n\t// Clean up interval on unmount\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (zoomIntervalRef.current) {\n\t\t\t\tclearInterval(zoomIntervalRef.current)\n\t\t\t}\n\t\t}\n\t}, [])\n\n\treturn (\n\t\t<div className=\"flex items-center gap-2\">\n\t\t\t<StandardTooltip content={zoomOutTitle}>\n\t\t\t\t<IconButton\n\t\t\t\t\ticon=\"zoom-out\"\n\t\t\t\t\tonClick={!useContinuousZoom ? onZoomOut || (() => adjustZoom?.(zoomOutStep)) : undefined}\n\t\t\t\t\tonMouseDown={useContinuousZoom && adjustZoom ? () => startContinuousZoom(zoomOutStep) : undefined}\n\t\t\t\t\tonMouseUp={useContinuousZoom && adjustZoom ? stopContinuousZoom : undefined}\n\t\t\t\t\tonMouseLeave={useContinuousZoom && adjustZoom ? stopContinuousZoom : undefined}\n\t\t\t\t/>\n\t\t\t</StandardTooltip>\n\t\t\t<div className=\"text-sm text-vscode-editor-foreground min-w-[50px] text-center\">\n\t\t\t\t{Math.round(zoomLevel * 100)}%\n\t\t\t</div>\n\t\t\t<StandardTooltip content={zoomInTitle}>\n\t\t\t\t<IconButton\n\t\t\t\t\ticon=\"zoom-in\"\n\t\t\t\t\tonClick={!useContinuousZoom ? onZoomIn || (() => adjustZoom?.(zoomInStep)) : undefined}\n\t\t\t\t\tonMouseDown={useContinuousZoom && adjustZoom ? () => startContinuousZoom(zoomInStep) : undefined}\n\t\t\t\t\tonMouseUp={useContinuousZoom && adjustZoom ? stopContinuousZoom : undefined}\n\t\t\t\t\tonMouseLeave={useContinuousZoom && adjustZoom ? stopContinuousZoom : undefined}\n\t\t\t\t/>\n\t\t\t</StandardTooltip>\n\t\t</div>\n\t)\n}\n", + "import React from \"react\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { IconButton } from \"./IconButton\"\nimport { ZoomControls } from \"./ZoomControls\"\nimport { StandardTooltip } from \"@/components/ui\"\n\ninterface MermaidActionButtonsProps {\n\tonZoom?: (e: React.MouseEvent) => void\n\tonZoomIn?: () => void\n\tonZoomOut?: () => void\n\tonCopy: (e: React.MouseEvent) => void\n\tonSave?: (e: React.MouseEvent) => void\n\tonViewCode: () => void\n\tonClose?: () => void\n\tcopyFeedback: boolean\n\tshowZoomControls?: boolean\n\tzoomLevel?: number\n}\n\nexport const MermaidActionButtons: React.FC<MermaidActionButtonsProps> = ({\n\tonZoom,\n\tonZoomIn,\n\tonZoomOut,\n\tonCopy,\n\tonSave,\n\tonViewCode,\n\tonClose,\n\tcopyFeedback,\n\tshowZoomControls = false,\n\tzoomLevel,\n}) => {\n\tconst { t } = useAppTranslation()\n\n\tif (showZoomControls && onZoomOut && onZoomIn && zoomLevel !== undefined) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ZoomControls\n\t\t\t\t\tzoomLevel={zoomLevel}\n\t\t\t\t\tonZoomIn={onZoomIn}\n\t\t\t\t\tonZoomOut={onZoomOut}\n\t\t\t\t\tzoomInTitle={t(\"common:mermaid.buttons.zoomIn\")}\n\t\t\t\t\tzoomOutTitle={t(\"common:mermaid.buttons.zoomOut\")}\n\t\t\t\t/>\n\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.viewCode\")}>\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticon=\"code\"\n\t\t\t\t\t\tonClick={(e: React.MouseEvent) => {\n\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\tonViewCode()\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</StandardTooltip>\n\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.copy\")}>\n\t\t\t\t\t<IconButton icon={copyFeedback ? \"check\" : \"copy\"} onClick={onCopy} />\n\t\t\t\t</StandardTooltip>\n\t\t\t</>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{onZoom && (\n\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.zoom\")}>\n\t\t\t\t\t<IconButton icon=\"zoom-in\" onClick={onZoom} />\n\t\t\t\t</StandardTooltip>\n\t\t\t)}\n\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.viewCode\")}>\n\t\t\t\t<IconButton\n\t\t\t\t\ticon=\"code\"\n\t\t\t\t\tonClick={(e: React.MouseEvent) => {\n\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\tonViewCode()\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</StandardTooltip>\n\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.copy\")}>\n\t\t\t\t<IconButton icon={copyFeedback ? \"check\" : \"copy\"} onClick={onCopy} />\n\t\t\t</StandardTooltip>\n\t\t\t{onSave && (\n\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.save\")}>\n\t\t\t\t\t<IconButton icon=\"save\" onClick={onSave} />\n\t\t\t\t</StandardTooltip>\n\t\t\t)}\n\t\t\t{onClose && (\n\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.close\")}>\n\t\t\t\t\t<IconButton icon=\"close\" onClick={onClose} />\n\t\t\t\t</StandardTooltip>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "interface ModalProps {\n\tisOpen: boolean\n\tonClose: () => void\n\tchildren: React.ReactNode\n\tclassName?: string\n}\n\nexport function Modal({ isOpen, onClose, children, className = \"\" }: ModalProps) {\n\tif (!isOpen) return null\n\n\treturn (\n\t\t<div className=\"fixed inset-0 bg-black/70 flex items-center justify-center z-[1000]\" onClick={onClose}>\n\t\t\t<div\n\t\t\t\tclassName={`bg-vscode-editor-background rounded w-[90%] h-[90%] max-w-[1200px] flex flex-col shadow-[0_5px_15px_rgba(0,0,0,0.5)] border border-vscode-editorGroup-border relative ${className}`}\n\t\t\t\tonClick={(e) => e.stopPropagation()}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "interface TabButtonProps {\n\ticon: string\n\tlabel: string\n\tisActive: boolean\n\tonClick: () => void\n}\n\nexport function TabButton({ icon, label, isActive, onClick }: TabButtonProps) {\n\tconst activeClasses =\n\t\t\"bg-vscode-editor-background border-b-2 border-vscode-focusBorder text-vscode-editor-foreground\"\n\tconst inactiveClasses =\n\t\t\"bg-transparent border-b-2 border-transparent text-vscode-descriptionForeground hover:text-vscode-editor-foreground hover:bg-vscode-toolbar-hoverBackground\"\n\n\treturn (\n\t\t<button\n\t\t\tclassName={`px-4 py-2 border-none cursor-pointer flex items-center gap-1.5 text-[13px] transition-all duration-200 ease-in-out ${\n\t\t\t\tisActive ? activeClasses : inactiveClasses\n\t\t\t}`}\n\t\t\tonClick={onClick}>\n\t\t\t<span\n\t\t\t\tclassName={`codicon codicon-${icon} text-sm`}\n\t\t\t\tstyle={isActive ? { color: \"var(--vscode-focusBorder)\" } : undefined}></span>\n\t\t\t{label}\n\t\t</button>\n\t)\n}\n", + "import { useState, useCallback } from \"react\"\nimport { useCopyToClipboard } from \"@src/utils/clipboard\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { MermaidActionButtons } from \"./MermaidActionButtons\"\nimport { Modal } from \"./Modal\"\nimport { TabButton } from \"./TabButton\"\nimport { IconButton } from \"./IconButton\"\nimport { ZoomControls } from \"./ZoomControls\"\nimport { StandardTooltip } from \"@/components/ui\"\n\nconst MIN_ZOOM = 0.5\nconst MAX_ZOOM = 20\n\nexport interface MermaidButtonProps {\n\tcontainerRef: React.RefObject<HTMLDivElement>\n\tcode: string\n\tisLoading: boolean\n\tsvgToPng: (svgEl: SVGElement) => Promise<string>\n\tchildren: React.ReactNode\n}\n\nexport function MermaidButton({ containerRef, code, isLoading, svgToPng, children }: MermaidButtonProps) {\n\tconst [showModal, setShowModal] = useState(false)\n\tconst [zoomLevel, setZoomLevel] = useState(1)\n\tconst [copyFeedback, setCopyFeedback] = useState(false)\n\tconst [isHovering, setIsHovering] = useState(false)\n\tconst [modalViewMode, setModalViewMode] = useState<\"diagram\" | \"code\">(\"diagram\")\n\tconst [isDragging, setIsDragging] = useState(false)\n\tconst [dragPosition, setDragPosition] = useState({ x: 0, y: 0 })\n\tconst { copyWithFeedback } = useCopyToClipboard()\n\tconst { t } = useAppTranslation()\n\n\t/**\n\t * Opens a modal with the diagram for zooming\n\t */\n\tconst handleZoom = async (e: React.MouseEvent) => {\n\t\te.stopPropagation()\n\t\tsetShowModal(true)\n\t\tsetZoomLevel(1)\n\t\tsetModalViewMode(\"diagram\")\n\t}\n\n\t/**\n\t * Copies the diagram text to clipboard\n\t */\n\tconst handleCopy = async (e: React.MouseEvent) => {\n\t\te.stopPropagation()\n\n\t\ttry {\n\t\t\tawait copyWithFeedback(code, e)\n\n\t\t\t// Show feedback\n\t\t\tsetCopyFeedback(true)\n\t\t\tsetTimeout(() => setCopyFeedback(false), 2000)\n\t\t} catch (err) {\n\t\t\tconsole.error(\"Error copying text:\", err instanceof Error ? err.message : String(err))\n\t\t}\n\t}\n\n\t/**\n\t * Saves the diagram as an image file\n\t */\n\tconst handleSave = async (e: React.MouseEvent) => {\n\t\te.stopPropagation()\n\n\t\t// Get the SVG element from the container\n\t\tconst svgEl = containerRef.current?.querySelector(\"svg\")\n\t\tif (!svgEl) {\n\t\t\tconsole.error(\"SVG element not found\")\n\t\t\treturn\n\t\t}\n\n\t\ttry {\n\t\t\t// Convert SVG to PNG\n\t\t\tconst pngDataUrl = await svgToPng(svgEl)\n\n\t\t\t// Send message to VSCode to save the image\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"saveImage\",\n\t\t\t\tdataUri: pngDataUrl,\n\t\t\t})\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Error saving image:\", error)\n\t\t}\n\t}\n\n\t/**\n\t * Adjust zoom level in the modal\n\t */\n\tconst adjustZoom = (amount: number) => {\n\t\tsetZoomLevel((prev) => {\n\t\t\tconst newZoom = prev + amount\n\t\t\treturn Math.max(MIN_ZOOM, Math.min(MAX_ZOOM, newZoom))\n\t\t})\n\t}\n\n\t/**\n\t * Handle wheel event for zooming with scroll wheel\n\t */\n\tconst handleWheel = useCallback((e: React.WheelEvent) => {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\n\t\t// Determine zoom direction and amount\n\t\t// Negative deltaY means scrolling up (zoom in), positive means scrolling down (zoom out)\n\t\tconst delta = e.deltaY > 0 ? -0.2 : 0.2\n\t\tadjustZoom(delta)\n\t}, [])\n\n\t/**\n\t * Handle mouse enter event for diagram container\n\t */\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovering(true)\n\t}\n\n\t/**\n\t * Handle mouse leave event for diagram container\n\t */\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovering(false)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"relative w-full\" onMouseEnter={handleMouseEnter} onMouseLeave={handleMouseLeave}>\n\t\t\t\t{children}\n\t\t\t\t{!isLoading && isHovering && (\n\t\t\t\t\t<div className=\"absolute bottom-2 right-2 flex gap-1 bg-vscode-editor-background/90 rounded p-0.5 z-10 opacity-100 transition-opacity duration-200 ease-in-out\">\n\t\t\t\t\t\t<MermaidActionButtons\n\t\t\t\t\t\t\tonZoom={handleZoom}\n\t\t\t\t\t\t\tonCopy={handleCopy}\n\t\t\t\t\t\t\tonSave={handleSave}\n\t\t\t\t\t\t\tonViewCode={() => {\n\t\t\t\t\t\t\t\tsetShowModal(true)\n\t\t\t\t\t\t\t\tsetModalViewMode(\"code\")\n\t\t\t\t\t\t\t\tsetZoomLevel(1)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcopyFeedback={copyFeedback}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<Modal isOpen={showModal} onClose={() => setShowModal(false)}>\n\t\t\t\t<div className=\"flex justify-between items-center border-b border-vscode-editorGroup-border\">\n\t\t\t\t\t<div className=\"flex gap-0\">\n\t\t\t\t\t\t<TabButton\n\t\t\t\t\t\t\ticon=\"graph\"\n\t\t\t\t\t\t\tlabel={t(\"common:mermaid.tabs.diagram\")}\n\t\t\t\t\t\t\tisActive={modalViewMode === \"diagram\"}\n\t\t\t\t\t\t\tonClick={() => setModalViewMode(\"diagram\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TabButton\n\t\t\t\t\t\t\ticon=\"code\"\n\t\t\t\t\t\t\tlabel={t(\"common:mermaid.tabs.code\")}\n\t\t\t\t\t\t\tisActive={modalViewMode === \"code\"}\n\t\t\t\t\t\t\tonClick={() => setModalViewMode(\"code\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"pr-3\">\n\t\t\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.close\")}>\n\t\t\t\t\t\t\t<IconButton icon=\"close\" onClick={() => setShowModal(false)} />\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"flex-1 p-4 pb-[60px] overflow-auto flex items-center justify-center\"\n\t\t\t\t\tonWheel={modalViewMode === \"diagram\" ? handleWheel : undefined}>\n\t\t\t\t\t{modalViewMode === \"diagram\" ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttransform: `scale(${zoomLevel}) translate(${dragPosition.x}px, ${dragPosition.y}px)`,\n\t\t\t\t\t\t\t\t\ttransformOrigin: \"center center\",\n\t\t\t\t\t\t\t\t\ttransition: isDragging ? \"none\" : \"transform 0.1s ease\",\n\t\t\t\t\t\t\t\t\tcursor: isDragging ? \"grabbing\" : \"grab\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\tsetIsDragging(true)\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseMove={(e) => {\n\t\t\t\t\t\t\t\t\tif (isDragging) {\n\t\t\t\t\t\t\t\t\t\tsetDragPosition((prev) => ({\n\t\t\t\t\t\t\t\t\t\t\tx: prev.x + e.movementX / zoomLevel,\n\t\t\t\t\t\t\t\t\t\t\ty: prev.y + e.movementY / zoomLevel,\n\t\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseUp={() => setIsDragging(false)}\n\t\t\t\t\t\t\t\tonMouseLeave={() => setIsDragging(false)}>\n\t\t\t\t\t\t\t\t{containerRef.current && containerRef.current.innerHTML && (\n\t\t\t\t\t\t\t\t\t<div dangerouslySetInnerHTML={{ __html: containerRef.current.innerHTML }} />\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"absolute bottom-4 left-4 bg-vscode-editor-background border border-vscode-editorGroup-border rounded px-2 py-1 text-xs text-vscode-descriptionForeground pointer-events-none opacity-80\">\n\t\t\t\t\t\t\t\t{Math.round(zoomLevel * 100)}%\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tclassName=\"w-full min-h-[200px] bg-vscode-editor-background text-vscode-editor-foreground border border-vscode-editorGroup-border rounded-[3px] p-2 font-mono resize-y outline-none\"\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tvalue={code}\n\t\t\t\t\t\t\tstyle={{ height: \"100%\", minHeight: \"unset\", fontSize: \"var(--vscode-editor-font-size)\" }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"absolute bottom-0 right-0 left-0 p-3 flex items-center justify-end gap-2 bg-vscode-editor-background border-t border-vscode-editorGroup-border rounded-b\">\n\t\t\t\t\t{modalViewMode === \"diagram\" ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ZoomControls\n\t\t\t\t\t\t\t\tzoomLevel={zoomLevel}\n\t\t\t\t\t\t\t\tzoomInTitle={t(\"common:mermaid.buttons.zoomIn\")}\n\t\t\t\t\t\t\t\tzoomOutTitle={t(\"common:mermaid.buttons.zoomOut\")}\n\t\t\t\t\t\t\t\tuseContinuousZoom={true}\n\t\t\t\t\t\t\t\tadjustZoom={adjustZoom}\n\t\t\t\t\t\t\t\tzoomInStep={0.2}\n\t\t\t\t\t\t\t\tzoomOutStep={-0.2}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.copy\")}>\n\t\t\t\t\t\t\t\t<IconButton icon={copyFeedback ? \"check\" : \"copy\"} onClick={handleCopy} />\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.save\")}>\n\t\t\t\t\t\t\t\t<IconButton icon=\"save\" onClick={handleSave} />\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<StandardTooltip content={t(\"common:mermaid.buttons.copy\")}>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticon={copyFeedback ? \"check\" : \"copy\"}\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tcopyWithFeedback(code, e)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t</>\n\t)\n}\n", + "import { useEffect, useRef, useState } from \"react\"\nimport mermaid from \"mermaid\"\nimport styled from \"styled-components\"\nimport { useDebounceEffect } from \"@src/utils/useDebounceEffect\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useCopyToClipboard } from \"@src/utils/clipboard\"\nimport CodeBlock from \"./CodeBlock\"\nimport { MermaidButton } from \"@/components/common/MermaidButton\"\n\n// Removed previous attempts at static imports for individual diagram types\n// as the paths were incorrect for Mermaid v11.4.1 and caused errors.\n// The primary strategy will now rely on Vite's bundling configuration.\n\nconst MERMAID_THEME = {\n\tbackground: \"#1e1e1e\", // VS Code dark theme background\n\ttextColor: \"#ffffff\", // Main text color\n\tmainBkg: \"#2d2d2d\", // Background for nodes\n\tnodeBorder: \"#888888\", // Border color for nodes\n\tlineColor: \"#cccccc\", // Lines connecting nodes\n\tprimaryColor: \"#3c3c3c\", // Primary color for highlights\n\tprimaryTextColor: \"#ffffff\", // Text in primary colored elements\n\tprimaryBorderColor: \"#888888\",\n\tsecondaryColor: \"#2d2d2d\", // Secondary color for alternate elements\n\ttertiaryColor: \"#454545\", // Third color for special elements\n\n\t// Class diagram specific\n\tclassText: \"#ffffff\",\n\n\t// State diagram specific\n\tlabelColor: \"#ffffff\",\n\n\t// Sequence diagram specific\n\tactorLineColor: \"#cccccc\",\n\tactorBkg: \"#2d2d2d\",\n\tactorBorder: \"#888888\",\n\tactorTextColor: \"#ffffff\",\n\n\t// Flow diagram specific\n\tfillType0: \"#2d2d2d\",\n\tfillType1: \"#3c3c3c\",\n\tfillType2: \"#454545\",\n}\n\nmermaid.initialize({\n\tstartOnLoad: false,\n\tsecurityLevel: \"loose\",\n\ttheme: \"dark\",\n\tsuppressErrorRendering: true,\n\tthemeVariables: {\n\t\t...MERMAID_THEME,\n\t\tfontSize: \"16px\",\n\t\tfontFamily: \"var(--vscode-font-family, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif)\",\n\n\t\t// Additional styling\n\t\tnoteTextColor: \"#ffffff\",\n\t\tnoteBkgColor: \"#454545\",\n\t\tnoteBorderColor: \"#888888\",\n\n\t\t// Improve contrast for special elements\n\t\tcritBorderColor: \"#ff9580\",\n\t\tcritBkgColor: \"#803d36\",\n\n\t\t// Task diagram specific\n\t\ttaskTextColor: \"#ffffff\",\n\t\ttaskTextOutsideColor: \"#ffffff\",\n\t\ttaskTextLightColor: \"#ffffff\",\n\n\t\t// Numbers/sections\n\t\tsectionBkgColor: \"#2d2d2d\",\n\t\tsectionBkgColor2: \"#3c3c3c\",\n\n\t\t// Alt sections in sequence diagrams\n\t\taltBackground: \"#2d2d2d\",\n\n\t\t// Links\n\t\tlinkColor: \"#6cb6ff\",\n\n\t\t// Borders and lines\n\t\tcompositeBackground: \"#2d2d2d\",\n\t\tcompositeBorder: \"#888888\",\n\t\ttitleColor: \"#ffffff\",\n\t},\n})\n\ninterface MermaidBlockProps {\n\tcode: string\n}\n\nexport default function MermaidBlock({ code }: MermaidBlockProps) {\n\tconst containerRef = useRef<HTMLDivElement>(null)\n\tconst [isLoading, setIsLoading] = useState(false)\n\tconst [error, setError] = useState<string | null>(null)\n\tconst [isErrorExpanded, setIsErrorExpanded] = useState(false)\n\tconst { showCopyFeedback, copyWithFeedback } = useCopyToClipboard()\n\tconst { t } = useAppTranslation()\n\n\t// 1) Whenever `code` changes, mark that we need to re-render a new chart\n\tuseEffect(() => {\n\t\tsetIsLoading(true)\n\t\tsetError(null)\n\t}, [code])\n\n\t// 2) Debounce the actual parse/render\n\tuseDebounceEffect(\n\t\t() => {\n\t\t\tif (containerRef.current) {\n\t\t\t\tcontainerRef.current.innerHTML = \"\"\n\t\t\t}\n\n\t\t\tmermaid\n\t\t\t\t.parse(code)\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst id = `mermaid-${Math.random().toString(36).substring(2)}`\n\t\t\t\t\treturn mermaid.render(id, code)\n\t\t\t\t})\n\t\t\t\t.then(({ svg }) => {\n\t\t\t\t\tif (containerRef.current) {\n\t\t\t\t\t\tcontainerRef.current.innerHTML = svg\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.warn(\"Mermaid parse/render failed:\", err)\n\t\t\t\t\tsetError(err.message || \"Failed to render Mermaid diagram\")\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetIsLoading(false)\n\t\t\t\t})\n\t\t},\n\t\t500, // Delay 500ms\n\t\t[code], // Dependencies for scheduling\n\t)\n\n\t/**\n\t * Called when user clicks the rendered diagram.\n\t * Converts the <svg> to a PNG and sends it to the extension.\n\t */\n\tconst handleClick = async () => {\n\t\tif (!containerRef.current) return\n\t\tconst svgEl = containerRef.current.querySelector(\"svg\")\n\t\tif (!svgEl) return\n\n\t\ttry {\n\t\t\tconst pngDataUrl = await svgToPng(svgEl)\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"openImage\",\n\t\t\t\ttext: pngDataUrl,\n\t\t\t})\n\t\t} catch (err) {\n\t\t\tconsole.error(\"Error converting SVG to PNG:\", err)\n\t\t}\n\t}\n\n\t// Copy functionality handled directly through the copyWithFeedback utility\n\n\treturn (\n\t\t<MermaidBlockContainer>\n\t\t\t{isLoading && <LoadingMessage>{t(\"common:mermaid.loading\")}</LoadingMessage>}\n\n\t\t\t{error ? (\n\t\t\t\t<div style={{ marginTop: \"0px\", overflow: \"hidden\", marginBottom: \"8px\" }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderBottom: isErrorExpanded ? \"1px solid var(--vscode-editorGroup-border)\" : \"none\",\n\t\t\t\t\t\t\tfontWeight: \"normal\",\n\t\t\t\t\t\t\tfontSize: \"var(--vscode-font-size)\",\n\t\t\t\t\t\t\tcolor: \"var(--vscode-editor-foreground)\",\n\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => setIsErrorExpanded(!isErrorExpanded)}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tgap: \"10px\",\n\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-warning\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-editorWarning-foreground)\",\n\t\t\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\t\tmarginBottom: \"-1.5px\",\n\t\t\t\t\t\t\t\t}}></span>\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>{t(\"common:mermaid.render_error\")}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div style={{ display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t\t\t\t<CopyButton\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tconst combinedContent = `Error: ${error}\\n\\n\\`\\`\\`mermaid\\n${code}\\n\\`\\`\\``\n\t\t\t\t\t\t\t\t\tcopyWithFeedback(combinedContent, e)\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className={`codicon codicon-${showCopyFeedback ? \"check\" : \"copy\"}`}></span>\n\t\t\t\t\t\t\t</CopyButton>\n\t\t\t\t\t\t\t<span className={`codicon codicon-chevron-${isErrorExpanded ? \"up\" : \"down\"}`}></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{isErrorExpanded && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tpadding: \"8px\",\n\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\t\tborderTop: \"none\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div style={{ marginBottom: \"8px\", color: \"var(--vscode-descriptionForeground)\" }}>\n\t\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<CodeBlock language=\"mermaid\" source={code} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<MermaidButton containerRef={containerRef} code={code} isLoading={isLoading} svgToPng={svgToPng}>\n\t\t\t\t\t<SvgContainer onClick={handleClick} ref={containerRef} $isLoading={isLoading}></SvgContainer>\n\t\t\t\t</MermaidButton>\n\t\t\t)}\n\t\t</MermaidBlockContainer>\n\t)\n}\n\nasync function svgToPng(svgEl: SVGElement): Promise<string> {\n\t// Clone the SVG to avoid modifying the original\n\tconst svgClone = svgEl.cloneNode(true) as SVGElement\n\n\t// Get the original viewBox\n\tconst viewBox = svgClone.getAttribute(\"viewBox\")?.split(\" \").map(Number) || []\n\tconst originalWidth = viewBox[2] || svgClone.clientWidth\n\tconst originalHeight = viewBox[3] || svgClone.clientHeight\n\n\t// Calculate the scale factor to fit editor width while maintaining aspect ratio\n\n\t// Unless we can find a way to get the actual editor window dimensions through the VS Code API (which might be possible but would require changes to the extension side),\n\t// the fixed width seems like a reliable approach.\n\tconst editorWidth = 3_600\n\n\tconst scale = editorWidth / originalWidth\n\tconst scaledHeight = originalHeight * scale\n\n\t// Update SVG dimensions\n\tsvgClone.setAttribute(\"width\", `${editorWidth}`)\n\tsvgClone.setAttribute(\"height\", `${scaledHeight}`)\n\n\tconst serializer = new XMLSerializer()\n\tconst svgString = serializer.serializeToString(svgClone)\n\n\t// Create a data URL directly\n\t// First, ensure the SVG string is properly encoded\n\tconst encodedSvg = encodeURIComponent(svgString).replace(/'/g, \"%27\").replace(/\"/g, \"%22\")\n\n\tconst svgDataUrl = `data:image/svg+xml;charset=utf-8,${encodedSvg}`\n\n\treturn new Promise((resolve, reject) => {\n\t\tconst img = new Image()\n\n\t\timg.onload = () => {\n\t\t\tconst canvas = document.createElement(\"canvas\")\n\t\t\tcanvas.width = editorWidth\n\t\t\tcanvas.height = scaledHeight\n\n\t\t\tconst ctx = canvas.getContext(\"2d\")\n\t\t\tif (!ctx) return reject(\"Canvas context not available\")\n\n\t\t\t// Fill background with Mermaid's dark theme background color\n\t\t\tctx.fillStyle = MERMAID_THEME.background\n\t\t\tctx.fillRect(0, 0, canvas.width, canvas.height)\n\n\t\t\tctx.imageSmoothingEnabled = true\n\t\t\tctx.imageSmoothingQuality = \"high\"\n\n\t\t\tctx.drawImage(img, 0, 0, editorWidth, scaledHeight)\n\t\t\tresolve(canvas.toDataURL(\"image/png\", 1.0))\n\t\t}\n\t\timg.onerror = reject\n\t\timg.src = svgDataUrl\n\t})\n}\n\nconst MermaidBlockContainer = styled.div`\n\tposition: relative;\n\tmargin: 8px 0;\n`\n\nconst LoadingMessage = styled.div`\n\tpadding: 8px 0;\n\tcolor: var(--vscode-descriptionForeground);\n\tfont-style: italic;\n\tfont-size: 0.9em;\n`\n\nconst CopyButton = styled.button`\n\tpadding: 3px;\n\theight: 24px;\n\tmargin-right: 4px;\n\tcolor: var(--vscode-editor-foreground);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground: transparent;\n\tborder: none;\n\tcursor: pointer;\n\n\t&:hover {\n\t\topacity: 0.8;\n\t}\n`\n\ninterface SvgContainerProps {\n\t$isLoading: boolean\n}\n\nconst SvgContainer = styled.div<SvgContainerProps>`\n\topacity: ${(props) => (props.$isLoading ? 0.3 : 1)};\n\tmin-height: 20px;\n\ttransition: opacity 0.2s ease;\n\tcursor: pointer;\n\tdisplay: flex;\n\tjustify-content: center;\n\tmax-height: 400px;\n\n\t/* Ensure the SVG scales within the container */\n\t& > svg {\n\t\tdisplay: block; /* Ensure block layout */\n\t\twidth: 100%;\n\t\tmax-height: 100%; /* Respect container's max-height */\n\t}\n`\n", + "import React, { memo, useMemo } from \"react\"\nimport ReactMarkdown from \"react-markdown\"\nimport styled from \"styled-components\"\nimport { visit } from \"unist-util-visit\"\nimport rehypeKatex from \"rehype-katex\"\nimport remarkMath from \"remark-math\"\nimport remarkGfm from \"remark-gfm\"\n\nimport { vscode } from \"@src/utils/vscode\"\n\nimport CodeBlock from \"./CodeBlock\"\nimport MermaidBlock from \"./MermaidBlock\"\n\ninterface MarkdownBlockProps {\n\tmarkdown?: string\n}\n\nconst StyledMarkdown = styled.div`\n\tcode:not(pre > code) {\n\t\tfont-family: var(--vscode-editor-font-family, monospace);\n\t\tfilter: saturation(110%) brightness(95%);\n\t\tcolor: var(--vscode-textPreformat-foreground) !important;\n\t\tbackground-color: var(--vscode-textPreformat-background) !important;\n\t\tpadding: 0px 2px;\n\t\twhite-space: pre-line;\n\t\tword-break: break-word;\n\t\toverflow-wrap: anywhere;\n\t}\n\n\t/* Target only Dark High Contrast theme using the data attribute VS Code adds to the body */\n\tbody[data-vscode-theme-kind=\"vscode-high-contrast\"] & code:not(pre > code) {\n\t\tcolor: var(\n\t\t\t--vscode-editorInlayHint-foreground,\n\t\t\tvar(--vscode-symbolIcon-stringForeground, var(--vscode-charts-orange, #e9a700))\n\t\t);\n\t}\n\n\t/* KaTeX styling */\n\t.katex {\n\t\tfont-size: 1.1em;\n\t\tcolor: var(--vscode-editor-foreground);\n\t\tfont-family: KaTeX_Main, \"Times New Roman\", serif;\n\t\tline-height: 1.2;\n\t\twhite-space: normal;\n\t\ttext-indent: 0;\n\t}\n\n\t.katex-display {\n\t\tdisplay: block;\n\t\tmargin: 1em 0;\n\t\ttext-align: center;\n\t\tpadding: 0.5em;\n\t\toverflow-x: auto;\n\t\toverflow-y: hidden;\n\t\tbackground-color: var(--vscode-textCodeBlock-background);\n\t\tborder-radius: 3px;\n\t}\n\n\t.katex-error {\n\t\tcolor: var(--vscode-errorForeground);\n\t}\n\n\tfont-family:\n\t\tvar(--vscode-font-family),\n\t\tsystem-ui,\n\t\t-apple-system,\n\t\tBlinkMacSystemFont,\n\t\t\"Segoe UI\",\n\t\tRoboto,\n\t\tOxygen,\n\t\tUbuntu,\n\t\tCantarell,\n\t\t\"Open Sans\",\n\t\t\"Helvetica Neue\",\n\t\tsans-serif;\n\n\tfont-size: var(--vscode-font-size, 13px);\n\n\tp,\n\tli,\n\tol,\n\tul {\n\t\tline-height: 1.25;\n\t}\n\n\tol,\n\tul {\n\t\tpadding-left: 2.5em;\n\t\tmargin-left: 0;\n\t}\n\n\tol {\n\t\tlist-style-type: decimal;\n\t}\n\n\tul {\n\t\tlist-style-type: disc;\n\t}\n\n\t/* Nested list styles */\n\tul ul {\n\t\tlist-style-type: circle;\n\t}\n\n\tul ul ul {\n\t\tlist-style-type: square;\n\t}\n\n\tol ol {\n\t\tlist-style-type: lower-alpha;\n\t}\n\n\tol ol ol {\n\t\tlist-style-type: lower-roman;\n\t}\n\n\tp {\n\t\twhite-space: pre-wrap;\n\t\tmargin: 0.5em 0;\n\t}\n\n\t/* Prevent layout shifts during streaming */\n\tpre {\n\t\tmin-height: 3em;\n\t\ttransition: height 0.2s ease-out;\n\t}\n\n\t/* Code block container styling */\n\tdiv:has(> pre) {\n\t\tposition: relative;\n\t\tcontain: layout style;\n\t}\n\n\ta {\n\t\tcolor: var(--vscode-textLink-foreground);\n\t\ttext-decoration-line: underline;\n\t\ttext-decoration-style: dotted;\n\t\ttext-decoration-color: var(--vscode-textLink-foreground);\n\t\t&:hover {\n\t\t\tcolor: var(--vscode-textLink-activeForeground);\n\t\t\ttext-decoration-style: solid;\n\t\t\ttext-decoration-color: var(--vscode-textLink-activeForeground);\n\t\t}\n\t}\n\n\t/* Table styles for remark-gfm */\n\ttable {\n\t\tborder-collapse: collapse;\n\t\tmargin: 1em 0;\n\t\twidth: auto;\n\t\tmin-width: 50%;\n\t\tmax-width: 100%;\n\t\ttable-layout: fixed;\n\t}\n\n\t/* Table wrapper for horizontal scrolling */\n\t.table-wrapper {\n\t\toverflow-x: auto;\n\t\tmargin: 1em 0;\n\t}\n\n\tth,\n\ttd {\n\t\tborder: 1px solid var(--vscode-panel-border);\n\t\tpadding: 8px 12px;\n\t\ttext-align: left;\n\t\tword-wrap: break-word;\n\t\toverflow-wrap: break-word;\n\t}\n\n\tth {\n\t\tbackground-color: var(--vscode-editor-background);\n\t\tfont-weight: 600;\n\t\tcolor: var(--vscode-foreground);\n\t}\n\n\ttr:nth-child(even) {\n\t\tbackground-color: var(--vscode-editor-inactiveSelectionBackground);\n\t}\n\n\ttr:hover {\n\t\tbackground-color: var(--vscode-list-hoverBackground);\n\t}\n`\n\nconst MarkdownBlock = memo(({ markdown }: MarkdownBlockProps) => {\n\tconst components = useMemo(\n\t\t() => ({\n\t\t\ttable: ({ children, ...props }: any) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div className=\"table-wrapper\">\n\t\t\t\t\t\t<table {...props}>{children}</table>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t},\n\t\t\ta: ({ href, children, ...props }: any) => {\n\t\t\t\tconst handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\n\t\t\t\t\t// Only process file:// protocol or local file paths\n\t\t\t\t\tconst isLocalPath = href?.startsWith(\"file://\") || href?.startsWith(\"/\") || !href?.includes(\"://\")\n\n\t\t\t\t\tif (!isLocalPath) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\te.preventDefault()\n\n\t\t\t\t\t// Handle absolute vs project-relative paths\n\t\t\t\t\tlet filePath = href.replace(\"file://\", \"\")\n\n\t\t\t\t\t// Extract line number if present\n\t\t\t\t\tconst match = filePath.match(/(.*):(\\d+)(-\\d+)?$/)\n\t\t\t\t\tlet values = undefined\n\t\t\t\t\tif (match) {\n\t\t\t\t\t\tfilePath = match[1]\n\t\t\t\t\t\tvalues = { line: parseInt(match[2]) }\n\t\t\t\t\t}\n\n\t\t\t\t\t// Add ./ prefix if needed\n\t\t\t\t\tif (!filePath.startsWith(\"/\") && !filePath.startsWith(\"./\")) {\n\t\t\t\t\t\tfilePath = \"./\" + filePath\n\t\t\t\t\t}\n\n\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\ttype: \"openFile\",\n\t\t\t\t\t\ttext: filePath,\n\t\t\t\t\t\tvalues,\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<a {...props} href={href} onClick={handleClick}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</a>\n\t\t\t\t)\n\t\t\t},\n\t\t\tpre: ({ children, ..._props }: any) => {\n\t\t\t\t// The structure from react-markdown v9 is: pre > code > text\n\t\t\t\tconst codeEl = children as React.ReactElement\n\n\t\t\t\tif (!codeEl || !codeEl.props) {\n\t\t\t\t\treturn <pre>{children}</pre>\n\t\t\t\t}\n\n\t\t\t\tconst { className = \"\", children: codeChildren } = codeEl.props\n\n\t\t\t\t// Get the actual code text\n\t\t\t\tlet codeString = \"\"\n\t\t\t\tif (typeof codeChildren === \"string\") {\n\t\t\t\t\tcodeString = codeChildren\n\t\t\t\t} else if (Array.isArray(codeChildren)) {\n\t\t\t\t\tcodeString = codeChildren.filter((child) => typeof child === \"string\").join(\"\")\n\t\t\t\t}\n\n\t\t\t\t// Handle mermaid diagrams\n\t\t\t\tif (className.includes(\"language-mermaid\")) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div style={{ margin: \"1em 0\" }}>\n\t\t\t\t\t\t\t<MermaidBlock code={codeString} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Extract language from className\n\t\t\t\tconst match = /language-(\\w+)/.exec(className)\n\t\t\t\tconst language = match ? match[1] : \"text\"\n\n\t\t\t\t// Wrap CodeBlock in a div to ensure proper separation\n\t\t\t\treturn (\n\t\t\t\t\t<div style={{ margin: \"1em 0\" }}>\n\t\t\t\t\t\t<CodeBlock source={codeString} language={language} />\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t},\n\t\t\tcode: ({ children, className, ...props }: any) => {\n\t\t\t\t// This handles inline code\n\t\t\t\treturn (\n\t\t\t\t\t<code className={className} {...props}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</code>\n\t\t\t\t)\n\t\t\t},\n\t\t}),\n\t\t[],\n\t)\n\n\treturn (\n\t\t<StyledMarkdown>\n\t\t\t<ReactMarkdown\n\t\t\t\tremarkPlugins={[\n\t\t\t\t\tremarkGfm,\n\t\t\t\t\tremarkMath,\n\t\t\t\t\t() => {\n\t\t\t\t\t\treturn (tree: any) => {\n\t\t\t\t\t\t\tvisit(tree, \"code\", (node: any) => {\n\t\t\t\t\t\t\t\tif (!node.lang) {\n\t\t\t\t\t\t\t\t\tnode.lang = \"text\"\n\t\t\t\t\t\t\t\t} else if (node.lang.includes(\".\")) {\n\t\t\t\t\t\t\t\t\tnode.lang = node.lang.split(\".\").slice(-1)[0]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t]}\n\t\t\t\trehypePlugins={[rehypeKatex as any]}\n\t\t\t\tcomponents={components}>\n\t\t\t\t{markdown || \"\"}\n\t\t\t</ReactMarkdown>\n\t\t</StyledMarkdown>\n\t)\n})\n\nexport default MarkdownBlock\n", + "import { memo, useState } from \"react\"\nimport { VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { useCopyToClipboard } from \"@src/utils/clipboard\"\nimport { StandardTooltip } from \"@src/components/ui\"\n\nimport MarkdownBlock from \"../common/MarkdownBlock\"\n\nexport const Markdown = memo(({ markdown, partial }: { markdown?: string; partial?: boolean }) => {\n\tconst [isHovering, setIsHovering] = useState(false)\n\n\t// Shorter feedback duration for copy button flash.\n\tconst { copyWithFeedback } = useCopyToClipboard(200)\n\n\tif (!markdown || markdown.length === 0) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tonMouseEnter={() => setIsHovering(true)}\n\t\t\tonMouseLeave={() => setIsHovering(false)}\n\t\t\tstyle={{ position: \"relative\" }}>\n\t\t\t<div style={{ wordBreak: \"break-word\", overflowWrap: \"anywhere\" }}>\n\t\t\t\t<MarkdownBlock markdown={markdown} />\n\t\t\t</div>\n\t\t\t{markdown && !partial && isHovering && (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\tbottom: \"-4px\",\n\t\t\t\t\t\tright: \"8px\",\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\tanimation: \"fadeIn 0.2s ease-in-out forwards\",\n\t\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<style>{`@keyframes fadeIn { from { opacity: 0; } to { opacity: 1.0; } }`}</style>\n\t\t\t\t\t<StandardTooltip content=\"Copy as markdown\">\n\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\tclassName=\"copy-button\"\n\t\t\t\t\t\t\tappearance=\"icon\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\theight: \"24px\",\n\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\tbackground: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\t\ttransition: \"background 0.2s ease-in-out\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\tconst success = await copyWithFeedback(markdown)\n\t\t\t\t\t\t\t\tif (success) {\n\t\t\t\t\t\t\t\t\tconst button = document.activeElement as HTMLElement\n\t\t\t\t\t\t\t\t\tif (button) {\n\t\t\t\t\t\t\t\t\t\tbutton.style.background = \"var(--vscode-button-background)\"\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\tbutton.style.background = \"\"\n\t\t\t\t\t\t\t\t\t\t}, 200)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<span className=\"codicon codicon-copy\" />\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n})\n", + "import { useCallback, useEffect, useMemo, useState, memo } from \"react\"\nimport { Server, ChevronDown } from \"lucide-react\"\nimport { useEvent } from \"react-use\"\nimport { useTranslation } from \"react-i18next\"\n\nimport { McpExecutionStatus, mcpExecutionStatusSchema } from \"@roo-code/types\"\nimport { ExtensionMessage, ClineAskUseMcpServer } from \"../../../../src/shared/ExtensionMessage\"\nimport { safeJsonParse } from \"../../../../src/shared/safeJsonParse\"\nimport { cn } from \"@src/lib/utils\"\nimport { Button } from \"@src/components/ui\"\nimport CodeBlock from \"../common/CodeBlock\"\nimport McpToolRow from \"../mcp/McpToolRow\"\nimport { Markdown } from \"./Markdown\"\n\ninterface McpExecutionProps {\n\texecutionId: string\n\ttext?: string\n\tserverName?: string\n\ttoolName?: string\n\tisArguments?: boolean\n\tserver?: {\n\t\ttools?: Array<{\n\t\t\tname: string\n\t\t\tdescription?: string\n\t\t\talwaysAllow?: boolean\n\t\t}>\n\t\tsource?: \"global\" | \"project\"\n\t}\n\tuseMcpServer?: ClineAskUseMcpServer\n\talwaysAllowMcp?: boolean\n}\n\nexport const McpExecution = ({\n\texecutionId,\n\ttext,\n\tserverName: initialServerName,\n\ttoolName: initialToolName,\n\tisArguments = false,\n\tserver,\n\tuseMcpServer,\n\talwaysAllowMcp = false,\n}: McpExecutionProps) => {\n\tconst { t } = useTranslation(\"mcp\")\n\n\t// State for tracking MCP response status\n\tconst [status, setStatus] = useState<McpExecutionStatus | null>(null)\n\tconst [responseText, setResponseText] = useState(text || \"\")\n\tconst [argumentsText, setArgumentsText] = useState(text || \"\")\n\tconst [serverName, setServerName] = useState(initialServerName)\n\tconst [toolName, setToolName] = useState(initialToolName)\n\n\t// Only need expanded state for response section (like command output)\n\tconst [isResponseExpanded, setIsResponseExpanded] = useState(false)\n\n\t// Try to parse JSON and return both the result and formatted text\n\tconst tryParseJson = useCallback((text: string): { isJson: boolean; formatted: string } => {\n\t\tif (!text) return { isJson: false, formatted: \"\" }\n\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(text)\n\t\t\treturn {\n\t\t\t\tisJson: true,\n\t\t\t\tformatted: JSON.stringify(parsed, null, 2),\n\t\t\t}\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\tisJson: false,\n\t\t\t\tformatted: text,\n\t\t\t}\n\t\t}\n\t}, [])\n\n\t// Only parse response data when expanded AND complete to avoid parsing partial JSON\n\tconst responseData = useMemo(() => {\n\t\tif (!isResponseExpanded) {\n\t\t\treturn { isJson: false, formatted: responseText }\n\t\t}\n\t\t// Only try to parse JSON if the response is complete\n\t\tif (status && status.status === \"completed\") {\n\t\t\treturn tryParseJson(responseText)\n\t\t}\n\t\t// For partial responses, just return as-is without parsing\n\t\treturn { isJson: false, formatted: responseText }\n\t}, [responseText, isResponseExpanded, tryParseJson, status])\n\n\t// Only parse arguments data when complete to avoid parsing partial JSON\n\tconst argumentsData = useMemo(() => {\n\t\tif (!argumentsText) {\n\t\t\treturn { isJson: false, formatted: \"\" }\n\t\t}\n\n\t\t// For arguments, we don't have a streaming status, so we check if it looks like complete JSON\n\t\tconst trimmed = argumentsText.trim()\n\n\t\t// Basic check for complete JSON structure\n\t\tif (\n\t\t\ttrimmed &&\n\t\t\t((trimmed.startsWith(\"{\") && trimmed.endsWith(\"}\")) || (trimmed.startsWith(\"[\") && trimmed.endsWith(\"]\")))\n\t\t) {\n\t\t\t// Try to parse, but if it fails, return as-is\n\t\t\ttry {\n\t\t\t\tconst parsed = JSON.parse(trimmed)\n\t\t\t\treturn {\n\t\t\t\t\tisJson: true,\n\t\t\t\t\tformatted: JSON.stringify(parsed, null, 2),\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\t// JSON structure looks complete but is invalid, return as-is\n\t\t\t\treturn { isJson: false, formatted: argumentsText }\n\t\t\t}\n\t\t}\n\n\t\t// For non-JSON or incomplete data, just return as-is\n\t\treturn { isJson: false, formatted: argumentsText }\n\t}, [argumentsText])\n\n\tconst formattedResponseText = responseData.formatted\n\tconst formattedArgumentsText = argumentsData.formatted\n\tconst responseIsJson = responseData.isJson\n\n\tconst onToggleResponseExpand = useCallback(() => {\n\t\tsetIsResponseExpanded(!isResponseExpanded)\n\t}, [isResponseExpanded])\n\n\t// Listen for MCP execution status messages\n\tconst onMessage = useCallback(\n\t\t(event: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = event.data\n\n\t\t\tif (message.type === \"mcpExecutionStatus\") {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = mcpExecutionStatusSchema.safeParse(safeJsonParse(message.text || \"{}\", {}))\n\n\t\t\t\t\tif (result.success) {\n\t\t\t\t\t\tconst data = result.data\n\n\t\t\t\t\t\t// Only update if this message is for our response\n\t\t\t\t\t\tif (data.executionId === executionId) {\n\t\t\t\t\t\t\tsetStatus(data)\n\n\t\t\t\t\t\t\tif (data.status === \"output\" && data.response) {\n\t\t\t\t\t\t\t\tsetResponseText((prev) => prev + data.response)\n\t\t\t\t\t\t\t} else if (data.status === \"completed\" && data.response) {\n\t\t\t\t\t\t\t\tsetResponseText(data.response)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(\"Failed to parse MCP execution status\", e)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[executionId],\n\t)\n\n\tuseEvent(\"message\", onMessage)\n\n\t// Initialize with text if provided and parse command/response sections\n\tuseEffect(() => {\n\t\t// Handle arguments text - don't parse JSON here as it might be incomplete\n\t\tif (text) {\n\t\t\tsetArgumentsText(text)\n\t\t}\n\n\t\t// Handle response text\n\t\tif (useMcpServer?.response) {\n\t\t\tsetResponseText(useMcpServer.response)\n\t\t}\n\n\t\tif (initialServerName && initialServerName !== serverName) {\n\t\t\tsetServerName(initialServerName)\n\t\t}\n\n\t\tif (initialToolName && initialToolName !== toolName) {\n\t\t\tsetToolName(initialToolName)\n\t\t}\n\t}, [text, useMcpServer, initialServerName, initialToolName, serverName, toolName, isArguments])\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"flex flex-row items-center justify-between gap-2 mb-1\">\n\t\t\t\t<div className=\"flex flex-row items-center gap-1 flex-wrap\">\n\t\t\t\t\t<Server size={16} className=\"text-vscode-descriptionForeground\" />\n\t\t\t\t\t<div className=\"flex items-center gap-1 flex-wrap\">\n\t\t\t\t\t\t{serverName && <span className=\"font-bold text-vscode-foreground\">{serverName}</span>}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex flex-row items-center justify-between gap-2 px-1\">\n\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t{status && (\n\t\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-2 font-mono text-xs\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\"rounded-full size-1.5\", {\n\t\t\t\t\t\t\t\t\t\t\"bg-lime-400\": status.status === \"started\" || status.status === \"completed\",\n\t\t\t\t\t\t\t\t\t\t\"bg-red-400\": status.status === \"error\",\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\"whitespace-nowrap\", {\n\t\t\t\t\t\t\t\t\t\t\"text-vscode-foreground\":\n\t\t\t\t\t\t\t\t\t\t\tstatus.status === \"started\" || status.status === \"completed\",\n\t\t\t\t\t\t\t\t\t\t\"text-vscode-errorForeground\": status.status === \"error\",\n\t\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t\t{status.status === \"started\"\n\t\t\t\t\t\t\t\t\t\t? t(\"execution.running\")\n\t\t\t\t\t\t\t\t\t\t: status.status === \"completed\"\n\t\t\t\t\t\t\t\t\t\t\t? t(\"execution.completed\")\n\t\t\t\t\t\t\t\t\t\t\t: t(\"execution.error\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{status.status === \"error\" && \"error\" in status && status.error && (\n\t\t\t\t\t\t\t\t\t<div className=\"whitespace-nowrap\">({status.error})</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{responseText && responseText.length > 0 && (\n\t\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={onToggleResponseExpand}>\n\t\t\t\t\t\t\t\t<ChevronDown\n\t\t\t\t\t\t\t\t\tclassName={cn(\"size-4 transition-transform duration-300\", {\n\t\t\t\t\t\t\t\t\t\t\"rotate-180\": isResponseExpanded,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"w-full bg-vscode-editor-background rounded-xs p-2\">\n\t\t\t\t{/* Tool information section */}\n\t\t\t\t{useMcpServer?.type === \"use_mcp_tool\" && (\n\t\t\t\t\t<div onClick={(e) => e.stopPropagation()}>\n\t\t\t\t\t\t<McpToolRow\n\t\t\t\t\t\t\ttool={{\n\t\t\t\t\t\t\t\tname: useMcpServer.toolName || \"\",\n\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\tserver?.tools?.find((tool) => tool.name === useMcpServer.toolName)?.description ||\n\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\talwaysAllow:\n\t\t\t\t\t\t\t\t\tserver?.tools?.find((tool) => tool.name === useMcpServer.toolName)?.alwaysAllow ||\n\t\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tserverName={useMcpServer.serverName}\n\t\t\t\t\t\t\tserverSource={server?.source}\n\t\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\t\tisInChatContext={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{!useMcpServer && toolName && serverName && (\n\t\t\t\t\t<div onClick={(e) => e.stopPropagation()}>\n\t\t\t\t\t\t<McpToolRow\n\t\t\t\t\t\t\ttool={{\n\t\t\t\t\t\t\t\tname: toolName || \"\",\n\t\t\t\t\t\t\t\tdescription: \"\",\n\t\t\t\t\t\t\t\talwaysAllow: false,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tserverName={serverName}\n\t\t\t\t\t\t\tserverSource={undefined}\n\t\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\t\tisInChatContext={true}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{/* Arguments section - display like command (always visible) */}\n\t\t\t\t{(isArguments || useMcpServer?.arguments || argumentsText) && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn({\n\t\t\t\t\t\t\t\"mt-1 pt-1\":\n\t\t\t\t\t\t\t\t!isArguments && (useMcpServer?.type === \"use_mcp_tool\" || (toolName && serverName)),\n\t\t\t\t\t\t})}>\n\t\t\t\t\t\t<CodeBlock source={formattedArgumentsText} language=\"json\" />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{/* Response section - collapsible like command output */}\n\t\t\t\t<ResponseContainer\n\t\t\t\t\tisExpanded={isResponseExpanded}\n\t\t\t\t\tresponse={formattedResponseText}\n\t\t\t\t\tisJson={responseIsJson}\n\t\t\t\t\thasArguments={!!(isArguments || useMcpServer?.arguments || argumentsText)}\n\t\t\t\t\tisPartial={status ? status.status !== \"completed\" : false}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nMcpExecution.displayName = \"McpExecution\"\n\nconst ResponseContainerInternal = ({\n\tisExpanded,\n\tresponse,\n\tisJson,\n\thasArguments,\n\tisPartial = false,\n}: {\n\tisExpanded: boolean\n\tresponse: string\n\tisJson: boolean\n\thasArguments?: boolean\n\tisPartial?: boolean\n}) => {\n\t// Only render content when expanded to prevent performance issues with large responses\n\tif (!isExpanded || response.length === 0) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\"overflow-hidden\", {\n\t\t\t\t\t\"max-h-0\": !isExpanded,\n\t\t\t\t})}\n\t\t\t/>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\"overflow-hidden\", {\n\t\t\t\t\"max-h-96 overflow-y-auto mt-1 pt-1 border-t border-border/25\": hasArguments,\n\t\t\t\t\"max-h-96 overflow-y-auto mt-1 pt-1\": !hasArguments,\n\t\t\t})}>\n\t\t\t{isJson ? (\n\t\t\t\t<CodeBlock source={response} language=\"json\" />\n\t\t\t) : (\n\t\t\t\t<Markdown markdown={response} partial={isPartial} />\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nconst ResponseContainer = memo(ResponseContainerInternal)\n", + "import { McpResource, McpResourceTemplate } from \"@roo/mcp\"\n\n/**\n * Matches a URI against an array of URI templates and returns the matching template\n * @param uri The URI to match\n * @param templates Array of URI templates to match against\n * @returns The matching template or undefined if no match is found\n */\nexport function findMatchingTemplate(\n\turi: string,\n\ttemplates: McpResourceTemplate[] = [],\n): McpResourceTemplate | undefined {\n\treturn templates.find((template) => {\n\t\t// Convert template to regex pattern\n\t\tconst pattern = String(template.uriTemplate)\n\t\t\t// First escape special regex characters\n\t\t\t.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n\t\t\t// Then replace {param} with ([^/]+) to match any non-slash characters\n\t\t\t// We need to use \\{ and \\} because we just escaped them\n\t\t\t.replace(/\\\\\\{([^}]+)\\\\\\}/g, \"([^/]+)\")\n\n\t\tconst regex = new RegExp(`^${pattern}$`)\n\t\treturn regex.test(uri)\n\t})\n}\n\n/**\n * Finds either an exact resource match or a matching template for a given URI\n * @param uri The URI to find a match for\n * @param resources Array of concrete resources\n * @param templates Array of resource templates\n * @returns The matching resource, template, or undefined\n */\nexport function findMatchingResourceOrTemplate(\n\turi: string,\n\tresources: McpResource[] = [],\n\ttemplates: McpResourceTemplate[] = [],\n): McpResource | McpResourceTemplate | undefined {\n\t// First try to find an exact resource match\n\tconst exactMatch = resources.find((resource) => resource.uri === uri)\n\tif (exactMatch) return exactMatch\n\n\t// If no exact match, try to find a matching template\n\treturn findMatchingTemplate(uri, templates)\n}\n", + "// We need to remove certain leading characters from the path in order for our\n// leading ellipses trick to work.\n// However, we want to preserve all language characters (including CJK,\n// Cyrillic, etc.) and only remove specific punctuation that might interfere\n// with the ellipsis display.\n//\n// Only remove specific punctuation characters that might interfere with\n// ellipsis display. Keep all language characters (including CJK, Cyrillic\n// etc.) and numbers.\nexport const removeLeadingNonAlphanumeric = (path: string): string => path.replace(/^[/\\\\:*?\"<>|]+/, \"\")\n", + "const extensionToLanguage: { [key: string]: string } = {\n\t// Web technologies\n\thtml: \"html\",\n\thtm: \"html\",\n\tcss: \"css\",\n\tjs: \"javascript\",\n\tjsx: \"jsx\",\n\tts: \"typescript\",\n\ttsx: \"tsx\",\n\n\t// Backend languages\n\tpy: \"python\",\n\trb: \"ruby\",\n\tphp: \"php\",\n\tjava: \"java\",\n\tcs: \"csharp\",\n\tgo: \"go\",\n\trs: \"rust\",\n\tscala: \"scala\",\n\tkt: \"kotlin\",\n\tswift: \"swift\",\n\n\t// Markup and data\n\tjson: \"json\",\n\txml: \"xml\",\n\tyaml: \"yaml\",\n\tyml: \"yaml\",\n\tmd: \"markdown\",\n\tcsv: \"csv\",\n\n\t// Shell and scripting\n\tsh: \"bash\",\n\tbash: \"bash\",\n\tzsh: \"bash\",\n\tps1: \"powershell\",\n\n\t// Configuration\n\ttoml: \"toml\",\n\tini: \"ini\",\n\tcfg: \"ini\",\n\tconf: \"ini\",\n\n\t// Other\n\tsql: \"sql\",\n\tgraphql: \"graphql\",\n\tgql: \"graphql\",\n\ttex: \"latex\",\n\tsvg: \"svg\",\n\ttxt: \"text\",\n\n\t// C-family languages\n\tc: \"c\",\n\tcpp: \"cpp\",\n\th: \"c\",\n\thpp: \"cpp\",\n\n\t// Functional languages\n\ths: \"haskell\",\n\tlhs: \"haskell\",\n\telm: \"elm\",\n\tclj: \"clojure\",\n\tcljs: \"clojure\",\n\terl: \"erlang\",\n\tex: \"elixir\",\n\texs: \"elixir\",\n\n\t// Mobile development\n\tdart: \"dart\",\n\tm: \"objectivec\",\n\tmm: \"objectivec\",\n\n\t// Game development\n\tlua: \"lua\",\n\tgd: \"gdscript\", // Godot\n\tunity: \"csharp\", // Unity (using C#)\n\n\t// Data science and ML\n\tr: \"r\",\n\tjl: \"julia\",\n\tipynb: \"jupyter\", // Jupyter notebooks\n}\n\n// Example usage:\n// console.log(getLanguageFromPath('/path/to/file.js')); // Output: javascript\n\nexport function getLanguageFromPath(path: string): string | undefined {\n\tconst extension = path.split(\".\").pop()?.toLowerCase() || \"\"\n\treturn extensionToLanguage[extension]\n}\n", + "function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };", + "function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };", + "import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport { index as default };\n", + "import React from 'react';\nimport useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';\n\nvar useLatest = function useLatest(value) {\n var ref = React.useRef(value);\n useIsomorphicLayoutEffect(function () {\n ref.current = value;\n });\n return ref;\n};\n\nexport { useLatest as default };\n", + "import React from 'react';\n\n// basically Exclude<React.ClassAttributes<T>[\"ref\"], string>\n\nvar updateRef = function updateRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n return;\n }\n ref.current = value;\n};\nvar useComposedRef = function useComposedRef(libRef, userRef) {\n var prevUserRef = React.useRef();\n return React.useCallback(function (instance) {\n libRef.current = instance;\n if (prevUserRef.current) {\n updateRef(prevUserRef.current, null);\n }\n prevUserRef.current = userRef;\n if (!userRef) {\n return;\n }\n updateRef(userRef, instance);\n }, [userRef]);\n};\n\nexport { useComposedRef as default };\n", + "import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport * as React from 'react';\nimport useLatest from 'use-latest';\nimport useComposedRef from 'use-composed-ref';\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0',\n display: 'block'\n};\nvar forceHiddenStyles = function forceHiddenStyles(node) {\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n node.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n};\nvar forceHiddenStyles$1 = forceHiddenStyles;\n\nvar hiddenTextarea = null;\nvar getHeight = function getHeight(node, sizingData) {\n var height = node.scrollHeight;\n if (sizingData.sizingStyle.boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n return height + sizingData.borderSize;\n }\n\n // remove padding, since height = content\n return height - sizingData.paddingSize;\n};\nfunction calculateNodeHeight(sizingData, value, minRows, maxRows) {\n if (minRows === void 0) {\n minRows = 1;\n }\n if (maxRows === void 0) {\n maxRows = Infinity;\n }\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tabindex', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n forceHiddenStyles$1(hiddenTextarea);\n }\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n var paddingSize = sizingData.paddingSize,\n borderSize = sizingData.borderSize,\n sizingStyle = sizingData.sizingStyle;\n var boxSizing = sizingStyle.boxSizing;\n Object.keys(sizingStyle).forEach(function (_key) {\n var key = _key;\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n forceHiddenStyles$1(hiddenTextarea);\n hiddenTextarea.value = value;\n var height = getHeight(hiddenTextarea, sizingData);\n // Double set and calc due to Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1795904\n hiddenTextarea.value = value;\n height = getHeight(hiddenTextarea, sizingData);\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var rowHeight = hiddenTextarea.scrollHeight - paddingSize;\n var minHeight = rowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n var maxHeight = rowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n return [height, rowHeight];\n}\n\nvar noop = function noop() {};\nvar pick = function pick(props, obj) {\n return props.reduce(function (acc, prop) {\n acc[prop] = obj[prop];\n return acc;\n }, {});\n};\n\nvar SIZING_STYLE = ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth', 'boxSizing', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'letterSpacing', 'lineHeight', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop',\n// non-standard\n'tabSize', 'textIndent',\n// non-standard\n'textRendering', 'textTransform', 'width', 'wordBreak', 'wordSpacing', 'scrollbarGutter'];\nvar isIE = !!document.documentElement.currentStyle ;\nvar getSizingData = function getSizingData(node) {\n var style = window.getComputedStyle(node);\n if (style === null) {\n return null;\n }\n var sizingStyle = pick(SIZING_STYLE, style);\n var boxSizing = sizingStyle.boxSizing;\n\n // probably node is detached from DOM, can't read computed dimensions\n if (boxSizing === '') {\n return null;\n }\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(sizingStyle.borderRightWidth) + parseFloat(sizingStyle.borderLeftWidth) + parseFloat(sizingStyle.paddingRight) + parseFloat(sizingStyle.paddingLeft) + 'px';\n }\n var paddingSize = parseFloat(sizingStyle.paddingBottom) + parseFloat(sizingStyle.paddingTop);\n var borderSize = parseFloat(sizingStyle.borderBottomWidth) + parseFloat(sizingStyle.borderTopWidth);\n return {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize\n };\n};\nvar getSizingData$1 = getSizingData;\n\nfunction useListener(target, type, listener) {\n var latestListener = useLatest(listener);\n React.useLayoutEffect(function () {\n var handler = function handler(ev) {\n return latestListener.current(ev);\n };\n // might happen if document.fonts is not defined, for instance\n if (!target) {\n return;\n }\n target.addEventListener(type, handler);\n return function () {\n return target.removeEventListener(type, handler);\n };\n }, []);\n}\nvar useFormResetListener = function useFormResetListener(libRef, listener) {\n useListener(document.body, 'reset', function (ev) {\n if (libRef.current.form === ev.target) {\n listener(ev);\n }\n });\n};\nvar useWindowResizeListener = function useWindowResizeListener(listener) {\n useListener(window, 'resize', listener);\n};\nvar useFontsLoadedListener = function useFontsLoadedListener(listener) {\n useListener(document.fonts, 'loadingdone', listener);\n};\n\nvar _excluded = [\"cacheMeasurements\", \"maxRows\", \"minRows\", \"onChange\", \"onHeightChange\"];\nvar TextareaAutosize = function TextareaAutosize(_ref, userRef) {\n var cacheMeasurements = _ref.cacheMeasurements,\n maxRows = _ref.maxRows,\n minRows = _ref.minRows,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$onHeightChange = _ref.onHeightChange,\n onHeightChange = _ref$onHeightChange === void 0 ? noop : _ref$onHeightChange,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n var isControlled = props.value !== undefined;\n var libRef = React.useRef(null);\n var ref = useComposedRef(libRef, userRef);\n var heightRef = React.useRef(0);\n var measurementsCacheRef = React.useRef();\n var resizeTextarea = function resizeTextarea() {\n var node = libRef.current;\n var nodeSizingData = cacheMeasurements && measurementsCacheRef.current ? measurementsCacheRef.current : getSizingData$1(node);\n if (!nodeSizingData) {\n return;\n }\n measurementsCacheRef.current = nodeSizingData;\n var _calculateNodeHeight = calculateNodeHeight(nodeSizingData, node.value || node.placeholder || 'x', minRows, maxRows),\n height = _calculateNodeHeight[0],\n rowHeight = _calculateNodeHeight[1];\n if (heightRef.current !== height) {\n heightRef.current = height;\n node.style.setProperty('height', height + \"px\", 'important');\n onHeightChange(height, {\n rowHeight: rowHeight\n });\n }\n };\n var handleChange = function handleChange(event) {\n if (!isControlled) {\n resizeTextarea();\n }\n onChange(event);\n };\n {\n React.useLayoutEffect(resizeTextarea);\n useFormResetListener(libRef, function () {\n if (!isControlled) {\n var currentValue = libRef.current.value;\n requestAnimationFrame(function () {\n var node = libRef.current;\n if (node && currentValue !== node.value) {\n resizeTextarea();\n }\n });\n }\n });\n useWindowResizeListener(resizeTextarea);\n useFontsLoadedListener(resizeTextarea);\n return /*#__PURE__*/React.createElement(\"textarea\", _extends({}, props, {\n onChange: handleChange,\n ref: ref\n }));\n }\n};\nvar index = /* #__PURE__ */React.forwardRef(TextareaAutosize);\n\nexport { index as default };\n", + "/*\nMention regex:\n- **Purpose**: \n - To identify and highlight specific mentions in text that start with '@'. \n - These mentions can be file paths, URLs, or the exact word 'problems'.\n - Ensures that trailing punctuation marks (like commas, periods, etc.) are not included in the match, allowing punctuation to follow the mention without being part of it.\n\n- **Regex Breakdown**:\n - `/@`: \n\t- **@**: The mention must start with the '@' symbol.\n \n - `((?:\\/|\\w+:\\/\\/)[^\\s]+?|problems\\b|git-changes\\b)`:\n\t- **Capturing Group (`(...)`)**: Captures the part of the string that matches one of the specified patterns.\n\t- `(?:\\/|\\w+:\\/\\/)`: \n\t - **Non-Capturing Group (`(?:...)`)**: Groups the alternatives without capturing them for back-referencing.\n\t - `\\/`: \n\t\t- **Slash (`/`)**: Indicates that the mention is a file or folder path starting with a '/'.\n\t - `|`: Logical OR.\n\t - `\\w+:\\/\\/`:\n\t - **Protocol (`\\w+://`)**: Matches URLs that start with a word character sequence followed by '://', such as 'http://', 'https://', 'ftp://', etc.\n\t- `(?:[^\\s\\\\]|\\\\ )+?`:\n\t - **Non-Capturing Group (`(?:...)`)**: Groups the alternatives without capturing them.\n\t - **Non-Whitespace and Non-Backslash (`[^\\s\\\\]`)**: Matches any character that is not whitespace or a backslash.\n\t - **OR (`|`)**: Logical OR.\n\t - **Escaped Space (`\\\\ `)**: Matches a backslash followed by a space (an escaped space).\n\t - **Non-Greedy (`+?`)**: Ensures the smallest possible match, preventing the inclusion of trailing punctuation.\n\t- `|`: Logical OR.\n\t- `problems\\b`: \n\t - **Exact Word ('problems')**: Matches the exact word 'problems'.\n\t - **Word Boundary (`\\b`)**: Ensures that 'problems' is matched as a whole word and not as part of another word (e.g., 'problematic').\n\t\t- `|`: Logical OR.\n - `terminal\\b`:\n - **Exact Word ('terminal')**: Matches the exact word 'terminal'.\n - **Word Boundary (`\\b`)**: Ensures that 'terminal' is matched as a whole word and not as part of another word (e.g., 'terminals').\n - `(?=[.,;:!?]?(?=[\\s\\r\\n]|$))`:\n\t- **Positive Lookahead (`(?=...)`)**: Ensures that the match is followed by specific patterns without including them in the match.\n\t- `[.,;:!?]?`: \n\t - **Optional Punctuation (`[.,;:!?]?`)**: Matches zero or one of the specified punctuation marks.\n\t- `(?=[\\s\\r\\n]|$)`: \n\t - **Nested Positive Lookahead (`(?=[\\s\\r\\n]|$)`)**: Ensures that the punctuation (if present) is followed by a whitespace character, a line break, or the end of the string.\n \n- **Summary**:\n - The regex effectively matches:\n\t- Mentions that are file or folder paths starting with '/' and containing any non-whitespace characters (including periods within the path).\n\t- File paths can include spaces if they are escaped with a backslash (e.g., `@/path/to/file\\ with\\ spaces.txt`).\n\t- URLs that start with a protocol (like 'http://') followed by any non-whitespace characters (including query parameters).\n\t- The exact word 'problems'.\n\t- The exact word 'git-changes'.\n - The exact word 'terminal'.\n - It ensures that any trailing punctuation marks (such as ',', '.', '!', etc.) are not included in the matched mention, allowing the punctuation to follow the mention naturally in the text.\n\n- **Global Regex**:\n - `mentionRegexGlobal`: Creates a global version of the `mentionRegex` to find all matches within a given string.\n\n*/\nexport const mentionRegex =\n\t/(?<!\\\\)@((?:\\/|\\w+:\\/\\/)(?:[^\\s\\\\]|\\\\ )+?|[a-f0-9]{7,40}\\b|problems\\b|git-changes\\b|terminal\\b)(?=[.,;:!?]?(?=[\\s\\r\\n]|$))/\nexport const mentionRegexGlobal = new RegExp(mentionRegex.source, \"g\")\n\n// Regex to match command mentions like /command-name anywhere in text\nexport const commandRegexGlobal = /(?:^|\\s)\\/([a-zA-Z0-9_\\.-]+)(?=\\s|$)/g\n\nexport interface MentionSuggestion {\n\ttype: \"file\" | \"folder\" | \"git\" | \"problems\"\n\tlabel: string\n\tdescription?: string\n\tvalue: string\n\ticon?: string\n}\n\nexport interface GitMentionSuggestion extends MentionSuggestion {\n\ttype: \"git\"\n\thash: string\n\tshortHash: string\n\tsubject: string\n\tauthor: string\n\tdate: string\n}\n\nexport function formatGitSuggestion(commit: {\n\thash: string\n\tshortHash: string\n\tsubject: string\n\tauthor: string\n\tdate: string\n}): GitMentionSuggestion {\n\treturn {\n\t\ttype: \"git\",\n\t\tlabel: commit.subject,\n\t\tdescription: `${commit.shortHash} by ${commit.author} on ${commit.date}`,\n\t\tvalue: commit.hash,\n\t\ticon: \"$(git-commit)\", // VSCode git commit icon\n\t\thash: commit.hash,\n\t\tshortHash: commit.shortHash,\n\t\tsubject: commit.subject,\n\t\tauthor: commit.author,\n\t\tdate: commit.date,\n\t}\n}\n\n// Helper function to unescape paths with backslash-escaped spaces\nexport function unescapeSpaces(path: string): string {\n\treturn path.replace(/\\\\ /g, \" \")\n}\n", + "/**\n * Utilities for handling path-related operations in mentions\n */\n\n/**\n * Escapes spaces in a path with backslashes\n *\n * @param path The path to escape\n * @returns A path with spaces escaped\n */\nexport function escapeSpaces(path: string): string {\n\treturn path.replace(/ /g, \"\\\\ \")\n}\n\n/**\n * Converts an absolute path to a mention-friendly path\n * If the provided path starts with the current working directory,\n * it's converted to a relative path prefixed with @\n * Spaces in the path are escaped with backslashes\n *\n * @param path The path to convert\n * @param cwd The current working directory\n * @returns A mention-friendly path\n */\nexport function convertToMentionPath(path: string, cwd?: string): string {\n\t// Strip file:// or vscode-remote:// protocol if present\n\tlet pathWithoutProtocol = path\n\n\tif (path.startsWith(\"file://\")) {\n\t\tpathWithoutProtocol = path.substring(7)\n\t} else if (path.startsWith(\"vscode-remote://\")) {\n\t\tconst protocolStripped = path.substring(\"vscode-remote://\".length)\n\t\tconst firstSlashIndex = protocolStripped.indexOf(\"/\")\n\t\tif (firstSlashIndex !== -1) {\n\t\t\tpathWithoutProtocol = protocolStripped.substring(firstSlashIndex + 1)\n\t\t} else {\n\t\t\tpathWithoutProtocol = \"\"\n\t\t}\n\t}\n\n\ttry {\n\t\tpathWithoutProtocol = decodeURIComponent(pathWithoutProtocol)\n\t\t// Fix: Remove leading slash for Windows paths like /d:/...\n\t\tif (pathWithoutProtocol.startsWith(\"/\") && pathWithoutProtocol[2] === \":\") {\n\t\t\tpathWithoutProtocol = pathWithoutProtocol.substring(1)\n\t\t}\n\t} catch (e) {\n\t\t// Log error if decoding fails, but continue with the potentially problematic path\n\t\tconsole.error(\"Error decoding URI component in convertToMentionPath:\", e, pathWithoutProtocol)\n\t}\n\n\tconst normalizedPath = pathWithoutProtocol.replace(/\\\\/g, \"/\")\n\tlet normalizedCwd = cwd ? cwd.replace(/\\\\/g, \"/\") : \"\"\n\n\tif (!normalizedCwd) {\n\t\treturn pathWithoutProtocol\n\t}\n\n\t// Remove trailing slash from cwd if it exists\n\tif (normalizedCwd.endsWith(\"/\")) {\n\t\tnormalizedCwd = normalizedCwd.slice(0, -1)\n\t}\n\n\t// Always use case-insensitive comparison for path matching\n\tconst lowerPath = normalizedPath.toLowerCase()\n\tconst lowerCwd = normalizedCwd.toLowerCase()\n\n\tif (lowerPath.startsWith(lowerCwd)) {\n\t\tlet relativePath = normalizedPath.substring(normalizedCwd.length)\n\t\t// Ensure there's a slash after the @ symbol when we create the mention path\n\t\trelativePath = relativePath.startsWith(\"/\") ? relativePath : \"/\" + relativePath\n\n\t\t// Escape any spaces in the path with backslashes\n\t\tconst escapedRelativePath = escapeSpaces(relativePath)\n\n\t\treturn \"@\" + escapedRelativePath\n\t}\n\n\treturn pathWithoutProtocol\n}\n", + "import { Fzf } from \"fzf\"\n\nimport type { ModeConfig } from \"@roo-code/types\"\nimport type { Command } from \"@roo/ExtensionMessage\"\n\nimport { mentionRegex } from \"@roo/context-mentions\"\n\nimport { escapeSpaces } from \"./path-mentions\"\n\n/**\n * Gets the description for a mode, prioritizing description > whenToUse > roleDefinition\n * and taking only the first line\n */\nfunction getModeDescription(mode: ModeConfig): string {\n\treturn (mode.description || mode.whenToUse || mode.roleDefinition).split(\"\\n\")[0]\n}\n\nexport interface SearchResult {\n\tpath: string\n\ttype: \"file\" | \"folder\"\n\tlabel?: string\n}\n\nfunction getBasename(filepath: string): string {\n\treturn filepath.split(\"/\").pop() || filepath\n}\n\nexport function insertMention(\n\ttext: string,\n\tposition: number,\n\tvalue: string,\n\tisSlashCommand: boolean = false,\n): { newValue: string; mentionIndex: number } {\n\t// Handle slash command selection (only when explicitly selecting a slash command)\n\tif (isSlashCommand) {\n\t\treturn {\n\t\t\tnewValue: value,\n\t\t\tmentionIndex: 0,\n\t\t}\n\t}\n\n\tconst beforeCursor = text.slice(0, position)\n\tconst afterCursor = text.slice(position)\n\n\t// Find the position of the last '@' symbol before the cursor\n\tconst lastAtIndex = beforeCursor.lastIndexOf(\"@\")\n\n\t// Process the value - escape spaces if it's a file path\n\tlet processedValue = value\n\tif (value && value.startsWith(\"/\")) {\n\t\t// Only escape if the path contains spaces that aren't already escaped\n\t\tif (value.includes(\" \") && !value.includes(\"\\\\ \")) {\n\t\t\tprocessedValue = escapeSpaces(value)\n\t\t}\n\t}\n\n\tlet newValue: string\n\tlet mentionIndex: number\n\n\tif (lastAtIndex !== -1) {\n\t\t// If there's an '@' symbol, replace everything after it with the new mention\n\t\tconst beforeMention = text.slice(0, lastAtIndex)\n\t\t// Only replace if afterCursor is all alphanumerical\n\t\t// This is required to handle languages that don't use space as a word separator (chinese, japanese, korean, etc)\n\t\tconst afterCursorContent = /^[a-zA-Z0-9\\s]*$/.test(afterCursor)\n\t\t\t? afterCursor.replace(/^[^\\s]*/, \"\")\n\t\t\t: afterCursor\n\t\tnewValue = beforeMention + \"@\" + processedValue + \" \" + afterCursorContent\n\t\tmentionIndex = lastAtIndex\n\t} else {\n\t\t// If there's no '@' symbol, insert the mention at the cursor position\n\t\tnewValue = beforeCursor + \"@\" + processedValue + \" \" + afterCursor\n\t\tmentionIndex = position\n\t}\n\n\treturn { newValue, mentionIndex }\n}\n\nexport function removeMention(text: string, position: number): { newText: string; newPosition: number } {\n\tconst beforeCursor = text.slice(0, position)\n\tconst afterCursor = text.slice(position)\n\n\t// Check if we're at the end of a mention\n\tconst matchEnd = beforeCursor.match(new RegExp(mentionRegex.source + \"$\"))\n\n\tif (matchEnd) {\n\t\t// If we're at the end of a mention, remove it\n\t\t// Remove the mention and the first space that follows it\n\t\tconst mentionLength = matchEnd[0].length\n\t\t// Remove the mention and one space after it if it exists\n\t\tconst newText = text.slice(0, position - mentionLength) + afterCursor.replace(/^\\s/, \"\")\n\t\tconst newPosition = position - mentionLength\n\t\treturn { newText, newPosition }\n\t}\n\n\t// If we're not at the end of a mention, just return the original text and position\n\treturn { newText: text, newPosition: position }\n}\n\nexport enum ContextMenuOptionType {\n\tOpenedFile = \"openedFile\",\n\tFile = \"file\",\n\tFolder = \"folder\",\n\tProblems = \"problems\",\n\tTerminal = \"terminal\",\n\tURL = \"url\",\n\tGit = \"git\",\n\tNoResults = \"noResults\",\n\tMode = \"mode\", // Add mode type\n\tCommand = \"command\", // Add command type\n\tSectionHeader = \"sectionHeader\", // Add section header type\n}\n\nexport interface ContextMenuQueryItem {\n\ttype: ContextMenuOptionType\n\tvalue?: string\n\tlabel?: string\n\tdescription?: string\n\ticon?: string\n\tslashCommand?: string\n\tsecondaryText?: string\n\targumentHint?: string\n}\n\nexport function getContextMenuOptions(\n\tquery: string,\n\tselectedType: ContextMenuOptionType | null = null,\n\tqueryItems: ContextMenuQueryItem[],\n\tdynamicSearchResults: SearchResult[] = [],\n\tmodes?: ModeConfig[],\n\tcommands?: Command[],\n): ContextMenuQueryItem[] {\n\t// Handle slash commands for modes and commands\n\t// Only process as slash command if the query itself starts with \"/\" (meaning we're typing a slash command)\n\tif (query.startsWith(\"/\")) {\n\t\tconst slashQuery = query.slice(1)\n\t\tconst results: ContextMenuQueryItem[] = []\n\n\t\t// Add command suggestions first (prioritize commands at the top)\n\t\tif (commands?.length) {\n\t\t\t// Create searchable strings array for fzf\n\t\t\tconst searchableCommands = commands.map((command) => ({\n\t\t\t\toriginal: command,\n\t\t\t\tsearchStr: command.name,\n\t\t\t}))\n\n\t\t\t// Initialize fzf instance for fuzzy search\n\t\t\tconst fzf = new Fzf(searchableCommands, {\n\t\t\t\tselector: (item) => item.searchStr,\n\t\t\t})\n\n\t\t\t// Get fuzzy matching commands\n\t\t\tconst matchingCommands = slashQuery\n\t\t\t\t? fzf.find(slashQuery).map((result) => ({\n\t\t\t\t\t\ttype: ContextMenuOptionType.Command,\n\t\t\t\t\t\tvalue: result.item.original.name,\n\t\t\t\t\t\tslashCommand: `/${result.item.original.name}`,\n\t\t\t\t\t\tdescription: result.item.original.description,\n\t\t\t\t\t\targumentHint: result.item.original.argumentHint,\n\t\t\t\t\t}))\n\t\t\t\t: commands.map((command) => ({\n\t\t\t\t\t\ttype: ContextMenuOptionType.Command,\n\t\t\t\t\t\tvalue: command.name,\n\t\t\t\t\t\tslashCommand: `/${command.name}`,\n\t\t\t\t\t\tdescription: command.description,\n\t\t\t\t\t\targumentHint: command.argumentHint,\n\t\t\t\t\t}))\n\n\t\t\tif (matchingCommands.length > 0) {\n\t\t\t\tresults.push({\n\t\t\t\t\ttype: ContextMenuOptionType.SectionHeader,\n\t\t\t\t\tlabel: \"Custom Commands\",\n\t\t\t\t})\n\t\t\t\tresults.push(...matchingCommands)\n\t\t\t}\n\t\t}\n\n\t\t// Add mode suggestions second\n\t\tif (modes?.length) {\n\t\t\t// Create searchable strings array for fzf\n\t\t\tconst searchableItems = modes.map((mode) => ({\n\t\t\t\toriginal: mode,\n\t\t\t\tsearchStr: mode.name,\n\t\t\t}))\n\n\t\t\t// Initialize fzf instance for fuzzy search\n\t\t\tconst fzf = new Fzf(searchableItems, {\n\t\t\t\tselector: (item) => item.searchStr,\n\t\t\t})\n\n\t\t\t// Get fuzzy matching items\n\t\t\tconst matchingModes = slashQuery\n\t\t\t\t? fzf.find(slashQuery).map((result) => ({\n\t\t\t\t\t\ttype: ContextMenuOptionType.Mode,\n\t\t\t\t\t\tvalue: result.item.original.slug,\n\t\t\t\t\t\tslashCommand: `/${result.item.original.slug}`,\n\t\t\t\t\t\tdescription: getModeDescription(result.item.original),\n\t\t\t\t\t}))\n\t\t\t\t: modes.map((mode) => ({\n\t\t\t\t\t\ttype: ContextMenuOptionType.Mode,\n\t\t\t\t\t\tvalue: mode.slug,\n\t\t\t\t\t\tslashCommand: `/${mode.slug}`,\n\t\t\t\t\t\tdescription: getModeDescription(mode),\n\t\t\t\t\t}))\n\n\t\t\tif (matchingModes.length > 0) {\n\t\t\t\tresults.push({\n\t\t\t\t\ttype: ContextMenuOptionType.SectionHeader,\n\t\t\t\t\tlabel: \"Modes\",\n\t\t\t\t})\n\t\t\t\tresults.push(...matchingModes)\n\t\t\t}\n\t\t}\n\n\t\treturn results.length > 0 ? results : [{ type: ContextMenuOptionType.NoResults }]\n\t}\n\n\tconst workingChanges: ContextMenuQueryItem = {\n\t\ttype: ContextMenuOptionType.Git,\n\t\tvalue: \"git-changes\",\n\t\tlabel: \"Working changes\",\n\t\tdescription: \"Current uncommitted changes\",\n\t\ticon: \"$(git-commit)\",\n\t}\n\n\tif (query === \"\") {\n\t\tif (selectedType === ContextMenuOptionType.File) {\n\t\t\tconst files = queryItems\n\t\t\t\t.filter(\n\t\t\t\t\t(item) =>\n\t\t\t\t\t\titem.type === ContextMenuOptionType.File || item.type === ContextMenuOptionType.OpenedFile,\n\t\t\t\t)\n\t\t\t\t.map((item) => ({\n\t\t\t\t\ttype: item.type,\n\t\t\t\t\tvalue: item.value,\n\t\t\t\t}))\n\t\t\treturn files.length > 0 ? files : [{ type: ContextMenuOptionType.NoResults }]\n\t\t}\n\n\t\tif (selectedType === ContextMenuOptionType.Folder) {\n\t\t\tconst folders = queryItems\n\t\t\t\t.filter((item) => item.type === ContextMenuOptionType.Folder)\n\t\t\t\t.map((item) => ({ type: ContextMenuOptionType.Folder, value: item.value }))\n\t\t\treturn folders.length > 0 ? folders : [{ type: ContextMenuOptionType.NoResults }]\n\t\t}\n\n\t\tif (selectedType === ContextMenuOptionType.Git) {\n\t\t\tconst commits = queryItems.filter((item) => item.type === ContextMenuOptionType.Git)\n\t\t\treturn commits.length > 0 ? [workingChanges, ...commits] : [workingChanges]\n\t\t}\n\n\t\treturn [\n\t\t\t{ type: ContextMenuOptionType.Problems },\n\t\t\t{ type: ContextMenuOptionType.Terminal },\n\t\t\t{ type: ContextMenuOptionType.URL },\n\t\t\t{ type: ContextMenuOptionType.Folder },\n\t\t\t{ type: ContextMenuOptionType.File },\n\t\t\t{ type: ContextMenuOptionType.Git },\n\t\t]\n\t}\n\n\tconst lowerQuery = query.toLowerCase()\n\tconst suggestions: ContextMenuQueryItem[] = []\n\n\t// Check for top-level option matches\n\tif (\"git\".startsWith(lowerQuery)) {\n\t\tsuggestions.push({\n\t\t\ttype: ContextMenuOptionType.Git,\n\t\t\tlabel: \"Git Commits\",\n\t\t\tdescription: \"Search repository history\",\n\t\t\ticon: \"$(git-commit)\",\n\t\t})\n\t} else if (\"git-changes\".startsWith(lowerQuery)) {\n\t\tsuggestions.push(workingChanges)\n\t}\n\tif (\"problems\".startsWith(lowerQuery)) {\n\t\tsuggestions.push({ type: ContextMenuOptionType.Problems })\n\t}\n\tif (\"terminal\".startsWith(lowerQuery)) {\n\t\tsuggestions.push({ type: ContextMenuOptionType.Terminal })\n\t}\n\tif (query.startsWith(\"http\")) {\n\t\tsuggestions.push({ type: ContextMenuOptionType.URL, value: query })\n\t}\n\n\t// Add exact SHA matches to suggestions\n\tif (/^[a-f0-9]{7,40}$/i.test(lowerQuery)) {\n\t\tconst exactMatches = queryItems.filter(\n\t\t\t(item) => item.type === ContextMenuOptionType.Git && item.value?.toLowerCase() === lowerQuery,\n\t\t)\n\t\tif (exactMatches.length > 0) {\n\t\t\tsuggestions.push(...exactMatches)\n\t\t} else {\n\t\t\t// If no exact match but valid SHA format, add as option\n\t\t\tsuggestions.push({\n\t\t\t\ttype: ContextMenuOptionType.Git,\n\t\t\t\tvalue: lowerQuery,\n\t\t\t\tlabel: `Commit ${lowerQuery}`,\n\t\t\t\tdescription: \"Git commit hash\",\n\t\t\t\ticon: \"$(git-commit)\",\n\t\t\t})\n\t\t}\n\t}\n\n\tconst searchableItems = queryItems.map((item) => ({\n\t\toriginal: item,\n\t\tsearchStr: [item.value, item.label, item.description].filter(Boolean).join(\" \"),\n\t}))\n\n\t// Initialize fzf instance for fuzzy search\n\tconst fzf = new Fzf(searchableItems, {\n\t\tselector: (item) => item.searchStr,\n\t})\n\n\t// Get fuzzy matching items\n\tconst matchingItems = query ? fzf.find(query).map((result) => result.item.original) : []\n\n\t// Separate matches by type\n\tconst openedFileMatches = matchingItems.filter((item) => item.type === ContextMenuOptionType.OpenedFile)\n\n\tconst gitMatches = matchingItems.filter((item) => item.type === ContextMenuOptionType.Git)\n\n\t// Convert search results to queryItems format\n\tconst searchResultItems = dynamicSearchResults.map((result) => {\n\t\t// Ensure paths start with / for consistency\n\t\tconst formattedPath = result.path.startsWith(\"/\") ? result.path : `/${result.path}`\n\n\t\t// For display purposes, we don't escape spaces in the label or description\n\t\tconst displayPath = formattedPath\n\t\tconst displayName = result.label || getBasename(result.path)\n\n\t\t// We don't need to escape spaces here because the insertMention function\n\t\t// will handle that when the user selects a suggestion\n\n\t\treturn {\n\t\t\ttype: result.type === \"folder\" ? ContextMenuOptionType.Folder : ContextMenuOptionType.File,\n\t\t\tvalue: formattedPath,\n\t\t\tlabel: displayName,\n\t\t\tdescription: displayPath,\n\t\t}\n\t})\n\n\tconst allItems = [...suggestions, ...openedFileMatches, ...searchResultItems, ...gitMatches]\n\n\t// Remove duplicates - normalize paths by ensuring all have leading slashes\n\tconst seen = new Set()\n\tconst deduped = allItems.filter((item) => {\n\t\t// Normalize paths for deduplication by ensuring leading slashes\n\t\tconst normalizedValue = item.value\n\t\tlet key = \"\"\n\t\tif (\n\t\t\titem.type === ContextMenuOptionType.File ||\n\t\t\titem.type === ContextMenuOptionType.Folder ||\n\t\t\titem.type === ContextMenuOptionType.OpenedFile\n\t\t) {\n\t\t\tkey = normalizedValue!\n\t\t} else {\n\t\t\tkey = `${item.type}-${normalizedValue}`\n\t\t}\n\t\tif (seen.has(key)) return false\n\t\tseen.add(key)\n\t\treturn true\n\t})\n\n\treturn deduped.length > 0 ? deduped : [{ type: ContextMenuOptionType.NoResults }]\n}\n\nexport function shouldShowContextMenu(text: string, position: number): boolean {\n\tconst beforeCursor = text.slice(0, position)\n\n\t// Check if we're in a slash command context (at the beginning and no space yet)\n\tif (text.startsWith(\"/\") && !text.includes(\" \") && position <= text.length) {\n\t\treturn true\n\t}\n\n\t// Check for @ mention context\n\tconst atIndex = beforeCursor.lastIndexOf(\"@\")\n\n\tif (atIndex === -1) {\n\t\treturn false\n\t}\n\n\tconst textAfterAt = beforeCursor.slice(atIndex + 1)\n\n\t// Check if there's any unescaped whitespace after the '@'\n\t// We need to check for whitespace that isn't preceded by a backslash\n\t// Using a negative lookbehind to ensure the space isn't escaped\n\tconst hasUnescapedSpace = /(?<!\\\\)\\s/.test(textAfterAt)\n\tif (hasUnescapedSpace) return false\n\n\t// Don't show the menu if it's clearly a URL\n\tif (textAfterAt.toLowerCase().startsWith(\"http\")) {\n\t\treturn false\n\t}\n\n\t// Show menu in all other cases\n\treturn true\n}\n", + "import React, { useState, useRef, useLayoutEffect, memo } from \"react\"\nimport { useWindowSize } from \"react-use\"\nimport { vscode } from \"@src/utils/vscode\"\n\ninterface ThumbnailsProps {\n\timages: string[]\n\tstyle?: React.CSSProperties\n\tsetImages?: React.Dispatch<React.SetStateAction<string[]>>\n\tonHeightChange?: (height: number) => void\n}\n\nconst Thumbnails = ({ images, style, setImages, onHeightChange }: ThumbnailsProps) => {\n\tconst [hoveredIndex, setHoveredIndex] = useState<number | null>(null)\n\tconst containerRef = useRef<HTMLDivElement>(null)\n\tconst { width } = useWindowSize()\n\n\tuseLayoutEffect(() => {\n\t\tif (containerRef.current) {\n\t\t\tlet height = containerRef.current.clientHeight\n\t\t\t// some browsers return 0 for clientHeight\n\t\t\tif (!height) {\n\t\t\t\theight = containerRef.current.getBoundingClientRect().height\n\t\t\t}\n\t\t\tonHeightChange?.(height)\n\t\t}\n\t\tsetHoveredIndex(null)\n\t}, [images, width, onHeightChange])\n\n\tconst handleDelete = (index: number) => {\n\t\tsetImages?.((prevImages) => prevImages.filter((_, i) => i !== index))\n\t}\n\n\tconst isDeletable = setImages !== undefined\n\n\tconst handleImageClick = (image: string) => {\n\t\tvscode.postMessage({ type: \"openImage\", text: image })\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={containerRef}\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexWrap: \"wrap\",\n\t\t\t\tgap: 5,\n\t\t\t\trowGap: 3,\n\t\t\t\t...style,\n\t\t\t}}>\n\t\t\t{images.map((image, index) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={index}\n\t\t\t\t\tstyle={{ position: \"relative\" }}\n\t\t\t\t\tonMouseEnter={() => setHoveredIndex(index)}\n\t\t\t\t\tonMouseLeave={() => setHoveredIndex(null)}>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={image}\n\t\t\t\t\t\talt={`Thumbnail ${index + 1}`}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: 34,\n\t\t\t\t\t\t\theight: 34,\n\t\t\t\t\t\t\tobjectFit: \"cover\",\n\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => handleImageClick(image)}\n\t\t\t\t\t/>\n\t\t\t\t\t{isDeletable && hoveredIndex === index && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonClick={() => handleDelete(index)}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: -4,\n\t\t\t\t\t\t\t\tright: -4,\n\t\t\t\t\t\t\t\twidth: 13,\n\t\t\t\t\t\t\t\theight: 13,\n\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-close\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-foreground)\",\n\t\t\t\t\t\t\t\t\tfontSize: 10,\n\t\t\t\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\t\t\t}}></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</div>\n\t)\n}\n\nexport default memo(Thumbnails)\n", + "import { cn } from \"@/lib/utils\"\nimport { StandardTooltip } from \"@/components/ui\"\n\ninterface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n\ticonClass: string\n\ttitle: string\n\tdisabled?: boolean\n\tisLoading?: boolean\n\tstyle?: React.CSSProperties\n}\n\nexport const IconButton: React.FC<IconButtonProps> = ({\n\ticonClass,\n\ttitle,\n\tclassName,\n\tdisabled,\n\tisLoading,\n\tonClick,\n\tstyle,\n\t...props\n}) => {\n\tconst buttonClasses = cn(\n\t\t\"relative inline-flex items-center justify-center\",\n\t\t\"bg-transparent border-none p-1.5\",\n\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\"text-vscode-foreground opacity-85\",\n\t\t\"transition-all duration-150\",\n\t\t\"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t!disabled && \"cursor-pointer\",\n\t\tdisabled &&\n\t\t\t\"opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent\",\n\t\tclassName,\n\t)\n\n\tconst iconClasses = cn(\"codicon\", iconClass, isLoading && \"codicon-modifier-spin\")\n\n\tconst button = (\n\t\t<button\n\t\t\taria-label={title}\n\t\t\tclassName={buttonClasses}\n\t\t\tdisabled={disabled}\n\t\t\tonClick={!disabled ? onClick : undefined}\n\t\t\tstyle={{ fontSize: 16.5, ...style }}\n\t\t\t{...props}>\n\t\t\t<span className={iconClasses} />\n\t\t</button>\n\t)\n\n\treturn <StandardTooltip content={title}>{button}</StandardTooltip>\n}\n", + "import React from \"react\"\nimport { ChevronUp, Check, X } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport { useRooPortal } from \"@/components/ui/hooks/useRooPortal\"\nimport { Popover, PopoverContent, PopoverTrigger, StandardTooltip } from \"@/components/ui\"\nimport { IconButton } from \"./IconButton\"\nimport { vscode } from \"@/utils/vscode\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { Mode, getAllModes } from \"@roo/modes\"\nimport { ModeConfig, CustomModePrompts } from \"@roo-code/types\"\nimport { telemetryClient } from \"@/utils/TelemetryClient\"\nimport { TelemetryEventName } from \"@roo-code/types\"\nimport { Fzf } from \"fzf\"\n\n// Minimum number of modes required to show search functionality\nconst SEARCH_THRESHOLD = 6\n\ninterface ModeSelectorProps {\n\tvalue: Mode\n\tonChange: (value: Mode) => void\n\tdisabled?: boolean\n\ttitle?: string\n\ttriggerClassName?: string\n\tmodeShortcutText: string\n\tcustomModes?: ModeConfig[]\n\tcustomModePrompts?: CustomModePrompts\n\tdisableSearch?: boolean\n}\n\nexport const ModeSelector = ({\n\tvalue,\n\tonChange,\n\tdisabled = false,\n\ttitle = \"\",\n\ttriggerClassName = \"\",\n\tmodeShortcutText,\n\tcustomModes,\n\tcustomModePrompts,\n\tdisableSearch = false,\n}: ModeSelectorProps) => {\n\tconst [open, setOpen] = React.useState(false)\n\tconst [searchValue, setSearchValue] = React.useState(\"\")\n\tconst searchInputRef = React.useRef<HTMLInputElement>(null)\n\tconst portalContainer = useRooPortal(\"roo-portal\")\n\tconst { hasOpenedModeSelector, setHasOpenedModeSelector } = useExtensionState()\n\tconst { t } = useAppTranslation()\n\n\tconst trackModeSelectorOpened = React.useCallback(() => {\n\t\t// Track telemetry every time the mode selector is opened\n\t\ttelemetryClient.capture(TelemetryEventName.MODE_SELECTOR_OPENED)\n\n\t\t// Track first-time usage for UI purposes\n\t\tif (!hasOpenedModeSelector) {\n\t\t\tsetHasOpenedModeSelector(true)\n\t\t\tvscode.postMessage({ type: \"hasOpenedModeSelector\", bool: true })\n\t\t}\n\t}, [hasOpenedModeSelector, setHasOpenedModeSelector])\n\n\t// Get all modes including custom modes and merge custom prompt descriptions\n\tconst modes = React.useMemo(() => {\n\t\tconst allModes = getAllModes(customModes)\n\t\treturn allModes.map((mode) => ({\n\t\t\t...mode,\n\t\t\tdescription: customModePrompts?.[mode.slug]?.description ?? mode.description,\n\t\t}))\n\t}, [customModes, customModePrompts])\n\n\t// Find the selected mode\n\tconst selectedMode = React.useMemo(() => modes.find((mode) => mode.slug === value), [modes, value])\n\n\t// Memoize searchable items for fuzzy search with separate name and description search\n\tconst nameSearchItems = React.useMemo(() => {\n\t\treturn modes.map((mode) => ({\n\t\t\toriginal: mode,\n\t\t\tsearchStr: [mode.name, mode.slug].filter(Boolean).join(\" \"),\n\t\t}))\n\t}, [modes])\n\n\tconst descriptionSearchItems = React.useMemo(() => {\n\t\treturn modes.map((mode) => ({\n\t\t\toriginal: mode,\n\t\t\tsearchStr: mode.description || \"\",\n\t\t}))\n\t}, [modes])\n\n\t// Create memoized Fzf instances for name and description searches\n\tconst nameFzfInstance = React.useMemo(() => {\n\t\treturn new Fzf(nameSearchItems, {\n\t\t\tselector: (item) => item.searchStr,\n\t\t})\n\t}, [nameSearchItems])\n\n\tconst descriptionFzfInstance = React.useMemo(() => {\n\t\treturn new Fzf(descriptionSearchItems, {\n\t\t\tselector: (item) => item.searchStr,\n\t\t})\n\t}, [descriptionSearchItems])\n\n\t// Filter modes based on search value using fuzzy search with priority\n\tconst filteredModes = React.useMemo(() => {\n\t\tif (!searchValue) return modes\n\n\t\t// First search in names/slugs\n\t\tconst nameMatches = nameFzfInstance.find(searchValue)\n\t\tconst nameMatchedModes = new Set(nameMatches.map((result) => result.item.original.slug))\n\n\t\t// Then search in descriptions\n\t\tconst descriptionMatches = descriptionFzfInstance.find(searchValue)\n\n\t\t// Combine results: name matches first, then description matches\n\t\tconst combinedResults = [\n\t\t\t...nameMatches.map((result) => result.item.original),\n\t\t\t...descriptionMatches\n\t\t\t\t.filter((result) => !nameMatchedModes.has(result.item.original.slug))\n\t\t\t\t.map((result) => result.item.original),\n\t\t]\n\n\t\treturn combinedResults\n\t}, [modes, searchValue, nameFzfInstance, descriptionFzfInstance])\n\n\tconst onClearSearch = React.useCallback(() => {\n\t\tsetSearchValue(\"\")\n\t\tsearchInputRef.current?.focus()\n\t}, [])\n\n\tconst handleSelect = React.useCallback(\n\t\t(modeSlug: string) => {\n\t\t\tonChange(modeSlug as Mode)\n\t\t\tsetOpen(false)\n\t\t\t// Clear search after selection\n\t\t\tsetSearchValue(\"\")\n\t\t},\n\t\t[onChange],\n\t)\n\n\tconst onOpenChange = React.useCallback(\n\t\t(isOpen: boolean) => {\n\t\t\tif (isOpen) trackModeSelectorOpened()\n\t\t\tsetOpen(isOpen)\n\t\t\t// Clear search when closing\n\t\t\tif (!isOpen) {\n\t\t\t\tsetSearchValue(\"\")\n\t\t\t}\n\t\t},\n\t\t[trackModeSelectorOpened],\n\t)\n\n\t// Auto-focus search input when popover opens\n\tReact.useEffect(() => {\n\t\tif (open && searchInputRef.current) {\n\t\t\tsearchInputRef.current.focus()\n\t\t}\n\t}, [open])\n\n\t// Determine if search should be shown\n\tconst showSearch = !disableSearch && modes.length > SEARCH_THRESHOLD\n\n\t// Combine instruction text for tooltip\n\tconst instructionText = `${t(\"chat:modeSelector.description\")} ${modeShortcutText}`\n\n\tconst trigger = (\n\t\t<PopoverTrigger\n\t\t\tdisabled={disabled}\n\t\t\tdata-testid=\"mode-selector-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs\",\n\t\t\t\t\"bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground\",\n\t\t\t\t\"transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder focus-visible:ring-inset\",\n\t\t\t\tdisabled\n\t\t\t\t\t? \"opacity-50 cursor-not-allowed\"\n\t\t\t\t\t: \"opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer\",\n\t\t\t\ttriggerClassName,\n\t\t\t\t!disabled && !hasOpenedModeSelector\n\t\t\t\t\t? \"bg-primary opacity-90 hover:bg-primary-hover text-vscode-button-foreground\"\n\t\t\t\t\t: null,\n\t\t\t)}>\n\t\t\t<ChevronUp className=\"pointer-events-none opacity-80 flex-shrink-0 size-3\" />\n\t\t\t<span className=\"truncate\">{selectedMode?.name || \"\"}</span>\n\t\t</PopoverTrigger>\n\t)\n\n\treturn (\n\t\t<Popover open={open} onOpenChange={onOpenChange} data-testid=\"mode-selector-root\">\n\t\t\t{title ? <StandardTooltip content={title}>{trigger}</StandardTooltip> : trigger}\n\n\t\t\t<PopoverContent\n\t\t\t\talign=\"start\"\n\t\t\t\tsideOffset={4}\n\t\t\t\tcontainer={portalContainer}\n\t\t\t\tclassName=\"p-0 overflow-hidden min-w-80 max-w-9/10\">\n\t\t\t\t<div className=\"flex flex-col w-full\">\n\t\t\t\t\t{/* Show search bar only when there are more than SEARCH_THRESHOLD items, otherwise show info blurb */}\n\t\t\t\t\t{showSearch ? (\n\t\t\t\t\t\t<div className=\"relative p-2 border-b border-vscode-dropdown-border\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\taria-label=\"Search modes\"\n\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchValue(e.target.value)}\n\t\t\t\t\t\t\t\tplaceholder={t(\"chat:modeSelector.searchPlaceholder\")}\n\t\t\t\t\t\t\t\tclassName=\"w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0\"\n\t\t\t\t\t\t\t\tdata-testid=\"mode-search-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{searchValue.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"absolute right-4 top-0 bottom-0 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t<X\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\tonClick={onClearSearch}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"p-3 border-b border-vscode-dropdown-border\">\n\t\t\t\t\t\t\t<p className=\"m-0 text-xs text-vscode-descriptionForeground\">{instructionText}</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Mode List */}\n\t\t\t\t\t<div className=\"max-h-[300px] overflow-y-auto\">\n\t\t\t\t\t\t{filteredModes.length === 0 && searchValue ? (\n\t\t\t\t\t\t\t<div className=\"py-2 px-3 text-sm text-vscode-foreground/70\">\n\t\t\t\t\t\t\t\t{t(\"chat:modeSelector.noResults\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t\t\t{filteredModes.map((mode) => (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={mode.slug}\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleSelect(mode.slug)}\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\"px-3 py-1.5 text-sm cursor-pointer flex items-center\",\n\t\t\t\t\t\t\t\t\t\t\t\"hover:bg-vscode-list-hoverBackground\",\n\t\t\t\t\t\t\t\t\t\t\tmode.slug === value\n\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"mode-selector-item\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex-1 min-w-0\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"font-bold truncate\">{mode.name}</div>\n\t\t\t\t\t\t\t\t\t\t\t{mode.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground truncate\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{mode.description}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{mode.slug === value && <Check className=\"ml-auto size-4 p-0.5\" />}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Bottom bar with buttons on left and title on right */}\n\t\t\t\t\t<div className=\"flex flex-row items-center justify-between px-2 py-2 border-t border-vscode-dropdown-border\">\n\t\t\t\t\t\t<div className=\"flex flex-row gap-1\">\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticonClass=\"codicon-extensions\"\n\t\t\t\t\t\t\t\ttitle={t(\"chat:modeSelector.marketplace\")}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\twindow.postMessage(\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"action\",\n\t\t\t\t\t\t\t\t\t\t\taction: \"marketplaceButtonClicked\",\n\t\t\t\t\t\t\t\t\t\t\tvalues: { marketplaceTab: \"mode\" },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticonClass=\"codicon-settings-gear\"\n\t\t\t\t\t\t\t\ttitle={t(\"chat:modeSelector.settings\")}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\ttype: \"switchTab\",\n\t\t\t\t\t\t\t\t\t\ttab: \"modes\",\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Info icon and title on the right - only show info icon when search bar is visible */}\n\t\t\t\t\t\t<div className=\"flex items-center gap-1 pr-1\">\n\t\t\t\t\t\t\t{showSearch && (\n\t\t\t\t\t\t\t\t<StandardTooltip content={instructionText}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-info text-xs text-vscode-descriptionForeground opacity-70 hover:opacity-100 cursor-help\" />\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<h4 className=\"m-0 font-medium text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t{t(\"chat:modeSelector.title\")}\n\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t)\n}\n\nexport default ModeSelector\n", + "import React, { useState, useMemo, useCallback } from \"react\"\nimport { cn } from \"@/lib/utils\"\nimport { useRooPortal } from \"@/components/ui/hooks/useRooPortal\"\nimport { Popover, PopoverContent, PopoverTrigger, StandardTooltip } from \"@/components/ui\"\nimport { IconButton } from \"./IconButton\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { vscode } from \"@/utils/vscode\"\nimport { Fzf } from \"fzf\"\nimport { Button } from \"@/components/ui\"\n\ninterface ApiConfigSelectorProps {\n\tvalue: string\n\tdisplayName: string\n\tdisabled?: boolean\n\ttitle?: string\n\tonChange: (value: string) => void\n\ttriggerClassName?: string\n\tlistApiConfigMeta: Array<{ id: string; name: string }>\n\tpinnedApiConfigs?: Record<string, boolean>\n\ttogglePinnedApiConfig: (id: string) => void\n}\n\nexport const ApiConfigSelector = ({\n\tvalue,\n\tdisplayName,\n\tdisabled = false,\n\ttitle = \"\",\n\tonChange,\n\ttriggerClassName = \"\",\n\tlistApiConfigMeta,\n\tpinnedApiConfigs,\n\ttogglePinnedApiConfig,\n}: ApiConfigSelectorProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [open, setOpen] = useState(false)\n\tconst [searchValue, setSearchValue] = useState(\"\")\n\tconst portalContainer = useRooPortal(\"roo-portal\")\n\n\t// Create searchable items for fuzzy search\n\tconst searchableItems = useMemo(() => {\n\t\treturn listApiConfigMeta.map((config) => ({\n\t\t\toriginal: config,\n\t\t\tsearchStr: config.name,\n\t\t}))\n\t}, [listApiConfigMeta])\n\n\t// Create Fzf instance\n\tconst fzfInstance = useMemo(() => {\n\t\treturn new Fzf(searchableItems, {\n\t\t\tselector: (item) => item.searchStr,\n\t\t})\n\t}, [searchableItems])\n\n\t// Filter configs based on search\n\tconst filteredConfigs = useMemo(() => {\n\t\tif (!searchValue) return listApiConfigMeta\n\n\t\tconst matchingItems = fzfInstance.find(searchValue).map((result) => result.item.original)\n\t\treturn matchingItems\n\t}, [listApiConfigMeta, searchValue, fzfInstance])\n\n\t// Separate pinned and unpinned configs\n\tconst { pinnedConfigs, unpinnedConfigs } = useMemo(() => {\n\t\tconst pinned = filteredConfigs.filter((config) => pinnedApiConfigs?.[config.id])\n\t\tconst unpinned = filteredConfigs.filter((config) => !pinnedApiConfigs?.[config.id])\n\t\treturn { pinnedConfigs: pinned, unpinnedConfigs: unpinned }\n\t}, [filteredConfigs, pinnedApiConfigs])\n\n\tconst handleSelect = useCallback(\n\t\t(configId: string) => {\n\t\t\tonChange(configId)\n\t\t\tsetOpen(false)\n\t\t\tsetSearchValue(\"\")\n\t\t},\n\t\t[onChange],\n\t)\n\n\tconst handleEditClick = useCallback(() => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"switchTab\",\n\t\t\ttab: \"settings\",\n\t\t})\n\t\tsetOpen(false)\n\t}, [])\n\n\tconst renderConfigItem = useCallback(\n\t\t(config: { id: string; name: string }, isPinned: boolean) => {\n\t\t\tconst isCurrentConfig = config.id === value\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={config.id}\n\t\t\t\t\tonClick={() => handleSelect(config.id)}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"px-3 py-1.5 text-sm cursor-pointer flex items-center group\",\n\t\t\t\t\t\t\"hover:bg-vscode-list-hoverBackground\",\n\t\t\t\t\t\tisCurrentConfig &&\n\t\t\t\t\t\t\t\"bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground\",\n\t\t\t\t\t)}>\n\t\t\t\t\t<span className=\"flex-1 truncate\">{config.name}</span>\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t{isCurrentConfig && (\n\t\t\t\t\t\t\t<div className=\"size-5 p-1 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-check text-xs\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<StandardTooltip content={isPinned ? t(\"chat:unpin\") : t(\"chat:pin\")}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\ttogglePinnedApiConfig(config.id)\n\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\ttype: \"toggleApiConfigPin\",\n\t\t\t\t\t\t\t\t\t\ttext: config.id,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName={cn(\"size-5 flex items-center justify-center\", {\n\t\t\t\t\t\t\t\t\t\"opacity-0 group-hover:opacity-100\": !isPinned && !isCurrentConfig,\n\t\t\t\t\t\t\t\t\t\"bg-accent opacity-100\": isPinned,\n\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-pin text-xs opacity-50\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)\n\t\t},\n\t\t[value, handleSelect, t, togglePinnedApiConfig],\n\t)\n\n\tconst triggerContent = (\n\t\t<PopoverTrigger\n\t\t\tdisabled={disabled}\n\t\t\tdata-testid=\"dropdown-trigger\"\n\t\t\tclassName={cn(\n\t\t\t\t\"w-full min-w-0 max-w-full inline-flex items-center gap-1.5 relative whitespace-nowrap px-1.5 py-1 text-xs\",\n\t\t\t\t\"bg-transparent border border-[rgba(255,255,255,0.08)] rounded-md text-vscode-foreground\",\n\t\t\t\t\"transition-all duration-150 focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder focus-visible:ring-inset\",\n\t\t\t\tdisabled\n\t\t\t\t\t? \"opacity-50 cursor-not-allowed\"\n\t\t\t\t\t: \"opacity-90 hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)] cursor-pointer\",\n\t\t\t\ttriggerClassName,\n\t\t\t)}>\n\t\t\t<span\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"codicon codicon-chevron-up pointer-events-none opacity-80 flex-shrink-0 text-xs transition-transform duration-200\",\n\t\t\t\t\topen && \"rotate-180\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<span className=\"truncate\">{displayName}</span>\n\t\t</PopoverTrigger>\n\t)\n\n\treturn (\n\t\t<Popover open={open} onOpenChange={setOpen}>\n\t\t\t{title ? <StandardTooltip content={title}>{triggerContent}</StandardTooltip> : triggerContent}\n\t\t\t<PopoverContent\n\t\t\t\talign=\"start\"\n\t\t\t\tsideOffset={4}\n\t\t\t\tcontainer={portalContainer}\n\t\t\t\tclassName=\"p-0 overflow-hidden w-[300px]\">\n\t\t\t\t<div className=\"flex flex-col w-full\">\n\t\t\t\t\t{/* Search input or info blurb */}\n\t\t\t\t\t{listApiConfigMeta.length > 6 ? (\n\t\t\t\t\t\t<div className=\"relative p-2 border-b border-vscode-dropdown-border\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\taria-label={t(\"common:ui.search_placeholder\")}\n\t\t\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\t\t\tonChange={(e) => setSearchValue(e.target.value)}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common:ui.search_placeholder\")}\n\t\t\t\t\t\t\t\tclassName=\"w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0\"\n\t\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{searchValue.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"absolute right-4 top-0 bottom-0 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-close text-vscode-input-foreground opacity-50 hover:opacity-100 text-xs cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => setSearchValue(\"\")}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"p-3 border-b border-vscode-dropdown-border\">\n\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-descriptionForeground m-0\">\n\t\t\t\t\t\t\t\t{t(\"prompts:apiConfiguration.select\")}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Config list */}\n\t\t\t\t\t<div className=\"max-h-[300px] overflow-y-auto\">\n\t\t\t\t\t\t{filteredConfigs.length === 0 && searchValue ? (\n\t\t\t\t\t\t\t<div className=\"py-2 px-3 text-sm text-vscode-foreground/70\">\n\t\t\t\t\t\t\t\t{t(\"common:ui.no_results\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t\t\t\t{/* Pinned configs */}\n\t\t\t\t\t\t\t\t{pinnedConfigs.map((config) => renderConfigItem(config, true))}\n\n\t\t\t\t\t\t\t\t{/* Separator between pinned and unpinned */}\n\t\t\t\t\t\t\t\t{pinnedConfigs.length > 0 && unpinnedConfigs.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"mx-1 my-1 h-px bg-vscode-dropdown-foreground/10\" />\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Unpinned configs */}\n\t\t\t\t\t\t\t\t{unpinnedConfigs.map((config) => renderConfigItem(config, false))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Bottom bar with buttons on left and title on right */}\n\t\t\t\t\t<div className=\"flex flex-row items-center justify-between p-2 border-t border-vscode-dropdown-border\">\n\t\t\t\t\t\t<div className=\"flex flex-row gap-1\">\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\ticonClass=\"codicon-settings-gear\"\n\t\t\t\t\t\t\t\ttitle={t(\"chat:edit\")}\n\t\t\t\t\t\t\t\tonClick={handleEditClick}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Info icon and title on the right with matching spacing */}\n\t\t\t\t\t\t<div className=\"flex items-center gap-1 pr-1\">\n\t\t\t\t\t\t\t{listApiConfigMeta.length > 6 && (\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:apiConfiguration.select\")}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-info text-xs text-vscode-descriptionForeground opacity-70 hover:opacity-100 cursor-help\" />\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<h4 className=\"m-0 font-medium text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t{t(\"prompts:apiConfiguration.title\")}\n\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t)\n}\n", + "// generated/icon-map.json\nvar icon_map_default = {\n iconDefinitions: {\n git: {\n iconPath: \"./../icons/git.svg\"\n },\n yaml: {\n iconPath: \"./../icons/yaml.svg\"\n },\n xml: {\n iconPath: \"./../icons/xml.svg\"\n },\n matlab: {\n iconPath: \"./../icons/matlab.svg\"\n },\n settings: {\n iconPath: \"./../icons/settings.svg\"\n },\n shaderlab: {\n iconPath: \"./../icons/shaderlab.svg\"\n },\n diff: {\n iconPath: \"./../icons/diff.svg\"\n },\n json: {\n iconPath: \"./../icons/json.svg\"\n },\n blink: {\n iconPath: \"./../icons/blink.svg\"\n },\n java: {\n iconPath: \"./../icons/java.svg\"\n },\n razor: {\n iconPath: \"./../icons/razor.svg\"\n },\n python: {\n iconPath: \"./../icons/python.svg\"\n },\n mojo: {\n iconPath: \"./../icons/mojo.svg\"\n },\n javascript: {\n iconPath: \"./../icons/javascript.svg\"\n },\n typescript: {\n iconPath: \"./../icons/typescript.svg\"\n },\n scala: {\n iconPath: \"./../icons/scala.svg\"\n },\n handlebars: {\n iconPath: \"./../icons/handlebars.svg\"\n },\n perl: {\n iconPath: \"./../icons/perl.svg\"\n },\n haxe: {\n iconPath: \"./../icons/haxe.svg\"\n },\n puppet: {\n iconPath: \"./../icons/puppet.svg\"\n },\n elixir: {\n iconPath: \"./../icons/elixir.svg\"\n },\n livescript: {\n iconPath: \"./../icons/livescript.svg\"\n },\n erlang: {\n iconPath: \"./../icons/erlang.svg\"\n },\n twig: {\n iconPath: \"./../icons/twig.svg\"\n },\n julia: {\n iconPath: \"./../icons/julia.svg\"\n },\n elm: {\n iconPath: \"./../icons/elm.svg\"\n },\n purescript: {\n iconPath: \"./../icons/purescript.svg\"\n },\n stylus: {\n iconPath: \"./../icons/stylus.svg\"\n },\n nunjucks: {\n iconPath: \"./../icons/nunjucks.svg\"\n },\n pug: {\n iconPath: \"./../icons/pug.svg\"\n },\n robot: {\n iconPath: \"./../icons/robot.svg\"\n },\n sass: {\n iconPath: \"./../icons/sass.svg\"\n },\n less: {\n iconPath: \"./../icons/less.svg\"\n },\n css: {\n iconPath: \"./../icons/css.svg\"\n },\n visualstudio: {\n iconPath: \"./../icons/visualstudio.svg\"\n },\n angular: {\n iconPath: \"./../icons/angular.svg\"\n },\n graphql: {\n iconPath: \"./../icons/graphql.svg\"\n },\n solidity: {\n iconPath: \"./../icons/solidity.svg\"\n },\n autoit: {\n iconPath: \"./../icons/autoit.svg\"\n },\n haml: {\n iconPath: \"./../icons/haml.svg\"\n },\n yang: {\n iconPath: \"./../icons/yang.svg\"\n },\n terraform: {\n iconPath: \"./../icons/terraform.svg\"\n },\n applescript: {\n iconPath: \"./../icons/applescript.svg\"\n },\n cake: {\n iconPath: \"./../icons/cake.svg\"\n },\n cucumber: {\n iconPath: \"./../icons/cucumber.svg\"\n },\n nim: {\n iconPath: \"./../icons/nim.svg\"\n },\n apiblueprint: {\n iconPath: \"./../icons/apiblueprint.svg\"\n },\n riot: {\n iconPath: \"./../icons/riot.svg\"\n },\n postcss: {\n iconPath: \"./../icons/postcss.svg\"\n },\n coldfusion: {\n iconPath: \"./../icons/coldfusion.svg\"\n },\n haskell: {\n iconPath: \"./../icons/haskell.svg\"\n },\n dhall: {\n iconPath: \"./../icons/dhall.svg\"\n },\n cabal: {\n iconPath: \"./../icons/cabal.svg\"\n },\n nix: {\n iconPath: \"./../icons/nix.svg\"\n },\n ruby: {\n iconPath: \"./../icons/ruby.svg\"\n },\n slim: {\n iconPath: \"./../icons/slim.svg\"\n },\n php: {\n iconPath: \"./../icons/php.svg\"\n },\n php_elephant: {\n iconPath: \"./../icons/php_elephant.svg\"\n },\n php_elephant_pink: {\n iconPath: \"./../icons/php_elephant_pink.svg\"\n },\n hack: {\n iconPath: \"./../icons/hack.svg\"\n },\n react: {\n iconPath: \"./../icons/react.svg\"\n },\n mjml: {\n iconPath: \"./../icons/mjml.svg\"\n },\n processing: {\n iconPath: \"./../icons/processing.svg\"\n },\n hcl: {\n iconPath: \"./../icons/hcl.svg\"\n },\n go: {\n iconPath: \"./../icons/go.svg\"\n },\n go_gopher: {\n iconPath: \"./../icons/go_gopher.svg\"\n },\n nodejs_alt: {\n iconPath: \"./../icons/nodejs_alt.svg\"\n },\n django: {\n iconPath: \"./../icons/django.svg\"\n },\n html: {\n iconPath: \"./../icons/html.svg\"\n },\n godot: {\n iconPath: \"./../icons/godot.svg\"\n },\n \"godot-assets\": {\n iconPath: \"./../icons/godot-assets.svg\"\n },\n vim: {\n iconPath: \"./../icons/vim.svg\"\n },\n silverstripe: {\n iconPath: \"./../icons/silverstripe.svg\"\n },\n prolog: {\n iconPath: \"./../icons/prolog.svg\"\n },\n pawn: {\n iconPath: \"./../icons/pawn.svg\"\n },\n reason: {\n iconPath: \"./../icons/reason.svg\"\n },\n sml: {\n iconPath: \"./../icons/sml.svg\"\n },\n tex: {\n iconPath: \"./../icons/tex.svg\"\n },\n salesforce: {\n iconPath: \"./../icons/salesforce.svg\"\n },\n sas: {\n iconPath: \"./../icons/sas.svg\"\n },\n docker: {\n iconPath: \"./../icons/docker.svg\"\n },\n table: {\n iconPath: \"./../icons/table.svg\"\n },\n csharp: {\n iconPath: \"./../icons/csharp.svg\"\n },\n console: {\n iconPath: \"./../icons/console.svg\"\n },\n c: {\n iconPath: \"./../icons/c.svg\"\n },\n cpp: {\n iconPath: \"./../icons/cpp.svg\"\n },\n \"objective-c\": {\n iconPath: \"./../icons/objective-c.svg\"\n },\n \"objective-cpp\": {\n iconPath: \"./../icons/objective-cpp.svg\"\n },\n coffee: {\n iconPath: \"./../icons/coffee.svg\"\n },\n fsharp: {\n iconPath: \"./../icons/fsharp.svg\"\n },\n editorconfig: {\n iconPath: \"./../icons/editorconfig.svg\"\n },\n clojure: {\n iconPath: \"./../icons/clojure.svg\"\n },\n groovy: {\n iconPath: \"./../icons/groovy.svg\"\n },\n markdown: {\n iconPath: \"./../icons/markdown.svg\"\n },\n jinja: {\n iconPath: \"./../icons/jinja.svg\"\n },\n proto: {\n iconPath: \"./../icons/proto.svg\"\n },\n \"python-misc\": {\n iconPath: \"./../icons/python-misc.svg\"\n },\n vue: {\n iconPath: \"./../icons/vue.svg\"\n },\n lua: {\n iconPath: \"./../icons/lua.svg\"\n },\n lib: {\n iconPath: \"./../icons/lib.svg\"\n },\n log: {\n iconPath: \"./../icons/log.svg\"\n },\n jupyter: {\n iconPath: \"./../icons/jupyter.svg\"\n },\n document: {\n iconPath: \"./../icons/document.svg\"\n },\n pdf: {\n iconPath: \"./../icons/pdf.svg\"\n },\n powershell: {\n iconPath: \"./../icons/powershell.svg\"\n },\n r: {\n iconPath: \"./../icons/r.svg\"\n },\n rust: {\n iconPath: \"./../icons/rust.svg\"\n },\n database: {\n iconPath: \"./../icons/database.svg\"\n },\n kusto: {\n iconPath: \"./../icons/kusto.svg\"\n },\n lock: {\n iconPath: \"./../icons/lock.svg\"\n },\n svg: {\n iconPath: \"./../icons/svg.svg\"\n },\n swift: {\n iconPath: \"./../icons/swift.svg\"\n },\n react_ts: {\n iconPath: \"./../icons/react_ts.svg\"\n },\n search: {\n iconPath: \"./../icons/search.svg\"\n },\n minecraft: {\n iconPath: \"./../icons/minecraft.svg\"\n },\n rescript: {\n iconPath: \"./../icons/rescript.svg\"\n },\n otne: {\n iconPath: \"./../icons/otne.svg\"\n },\n twine: {\n iconPath: \"./../icons/twine.svg\"\n },\n grain: {\n iconPath: \"./../icons/grain.svg\"\n },\n lolcode: {\n iconPath: \"./../icons/lolcode.svg\"\n },\n idris: {\n iconPath: \"./../icons/idris.svg\"\n },\n chess: {\n iconPath: \"./../icons/chess.svg\"\n },\n gemini: {\n iconPath: \"./../icons/gemini.svg\"\n },\n vlang: {\n iconPath: \"./../icons/vlang.svg\"\n },\n wolframlanguage: {\n iconPath: \"./../icons/wolframlanguage.svg\"\n },\n shader: {\n iconPath: \"./../icons/shader.svg\"\n },\n tree: {\n iconPath: \"./../icons/tree.svg\"\n },\n svelte: {\n iconPath: \"./../icons/svelte.svg\"\n },\n dart: {\n iconPath: \"./../icons/dart.svg\"\n },\n cadence: {\n iconPath: \"./../icons/cadence.svg\"\n },\n stylable: {\n iconPath: \"./../icons/stylable.svg\"\n },\n hjson: {\n iconPath: \"./../icons/hjson.svg\"\n },\n huff: {\n iconPath: \"./../icons/huff.svg\"\n },\n concourse: {\n iconPath: \"./../icons/concourse.svg\"\n },\n blink_light: {\n iconPath: \"./../icons/blink_light.svg\"\n },\n jinja_light: {\n iconPath: \"./../icons/jinja_light.svg\"\n },\n playwright: {\n iconPath: \"./../icons/playwright.svg\"\n },\n sublime: {\n iconPath: \"./../icons/sublime.svg\"\n },\n image: {\n iconPath: \"./../icons/image.svg\"\n },\n routing: {\n iconPath: \"./../icons/routing.svg\"\n },\n \"typescript-def\": {\n iconPath: \"./../icons/typescript-def.svg\"\n },\n markojs: {\n iconPath: \"./../icons/markojs.svg\"\n },\n astro: {\n iconPath: \"./../icons/astro.svg\"\n },\n vscode: {\n iconPath: \"./../icons/vscode.svg\"\n },\n qsharp: {\n iconPath: \"./../icons/qsharp.svg\"\n },\n zip: {\n iconPath: \"./../icons/zip.svg\"\n },\n vala: {\n iconPath: \"./../icons/vala.svg\"\n },\n zig: {\n iconPath: \"./../icons/zig.svg\"\n },\n exe: {\n iconPath: \"./../icons/exe.svg\"\n },\n hex: {\n iconPath: \"./../icons/hex.svg\"\n },\n jar: {\n iconPath: \"./../icons/jar.svg\"\n },\n javaclass: {\n iconPath: \"./../icons/javaclass.svg\"\n },\n h: {\n iconPath: \"./../icons/h.svg\"\n },\n hpp: {\n iconPath: \"./../icons/hpp.svg\"\n },\n rc: {\n iconPath: \"./../icons/rc.svg\"\n },\n \"go-mod\": {\n iconPath: \"./../icons/go-mod.svg\"\n },\n url: {\n iconPath: \"./../icons/url.svg\"\n },\n gradle: {\n iconPath: \"./../icons/gradle.svg\"\n },\n word: {\n iconPath: \"./../icons/word.svg\"\n },\n certificate: {\n iconPath: \"./../icons/certificate.svg\"\n },\n key: {\n iconPath: \"./../icons/key.svg\"\n },\n font: {\n iconPath: \"./../icons/font.svg\"\n },\n dll: {\n iconPath: \"./../icons/dll.svg\"\n },\n gemfile: {\n iconPath: \"./../icons/gemfile.svg\"\n },\n rubocop: {\n iconPath: \"./../icons/rubocop.svg\"\n },\n rubocop_light: {\n iconPath: \"./../icons/rubocop_light.svg\"\n },\n rspec: {\n iconPath: \"./../icons/rspec.svg\"\n },\n arduino: {\n iconPath: \"./../icons/arduino.svg\"\n },\n powerpoint: {\n iconPath: \"./../icons/powerpoint.svg\"\n },\n video: {\n iconPath: \"./../icons/video.svg\"\n },\n virtual: {\n iconPath: \"./../icons/virtual.svg\"\n },\n vedic: {\n iconPath: \"./../icons/vedic.svg\"\n },\n email: {\n iconPath: \"./../icons/email.svg\"\n },\n audio: {\n iconPath: \"./../icons/audio.svg\"\n },\n raml: {\n iconPath: \"./../icons/raml.svg\"\n },\n xaml: {\n iconPath: \"./../icons/xaml.svg\"\n },\n kotlin: {\n iconPath: \"./../icons/kotlin.svg\"\n },\n dart_generated: {\n iconPath: \"./../icons/dart_generated.svg\"\n },\n actionscript: {\n iconPath: \"./../icons/actionscript.svg\"\n },\n mxml: {\n iconPath: \"./../icons/mxml.svg\"\n },\n autohotkey: {\n iconPath: \"./../icons/autohotkey.svg\"\n },\n flash: {\n iconPath: \"./../icons/flash.svg\"\n },\n swc: {\n iconPath: \"./../icons/swc.svg\"\n },\n cmake: {\n iconPath: \"./../icons/cmake.svg\"\n },\n assembly: {\n iconPath: \"./../icons/assembly.svg\"\n },\n semgrep: {\n iconPath: \"./../icons/semgrep.svg\"\n },\n \"vue-config\": {\n iconPath: \"./../icons/vue-config.svg\"\n },\n nuxt: {\n iconPath: \"./../icons/nuxt.svg\"\n },\n ocaml: {\n iconPath: \"./../icons/ocaml.svg\"\n },\n odin: {\n iconPath: \"./../icons/odin.svg\"\n },\n \"javascript-map\": {\n iconPath: \"./../icons/javascript-map.svg\"\n },\n \"css-map\": {\n iconPath: \"./../icons/css-map.svg\"\n },\n \"test-ts\": {\n iconPath: \"./../icons/test-ts.svg\"\n },\n \"test-jsx\": {\n iconPath: \"./../icons/test-jsx.svg\"\n },\n \"test-js\": {\n iconPath: \"./../icons/test-js.svg\"\n },\n \"angular-component\": {\n iconPath: \"./../icons/angular-component.svg\"\n },\n \"angular-guard\": {\n iconPath: \"./../icons/angular-guard.svg\"\n },\n \"angular-service\": {\n iconPath: \"./../icons/angular-service.svg\"\n },\n \"angular-pipe\": {\n iconPath: \"./../icons/angular-pipe.svg\"\n },\n \"angular-directive\": {\n iconPath: \"./../icons/angular-directive.svg\"\n },\n \"angular-resolver\": {\n iconPath: \"./../icons/angular-resolver.svg\"\n },\n smarty: {\n iconPath: \"./../icons/smarty.svg\"\n },\n bucklescript: {\n iconPath: \"./../icons/bucklescript.svg\"\n },\n merlin: {\n iconPath: \"./../icons/merlin.svg\"\n },\n verilog: {\n iconPath: \"./../icons/verilog.svg\"\n },\n mathematica: {\n iconPath: \"./../icons/mathematica.svg\"\n },\n vercel: {\n iconPath: \"./../icons/vercel.svg\"\n },\n vercel_light: {\n iconPath: \"./../icons/vercel_light.svg\"\n },\n verdaccio: {\n iconPath: \"./../icons/verdaccio.svg\"\n },\n payload: {\n iconPath: \"./../icons/payload.svg\"\n },\n payload_light: {\n iconPath: \"./../icons/payload_light.svg\"\n },\n next: {\n iconPath: \"./../icons/next.svg\"\n },\n next_light: {\n iconPath: \"./../icons/next_light.svg\"\n },\n remix: {\n iconPath: \"./../icons/remix.svg\"\n },\n remix_light: {\n iconPath: \"./../icons/remix_light.svg\"\n },\n laravel: {\n iconPath: \"./../icons/laravel.svg\"\n },\n vfl: {\n iconPath: \"./../icons/vfl.svg\"\n },\n kl: {\n iconPath: \"./../icons/kl.svg\"\n },\n posthtml: {\n iconPath: \"./../icons/posthtml.svg\"\n },\n todo: {\n iconPath: \"./../icons/todo.svg\"\n },\n http: {\n iconPath: \"./../icons/http.svg\"\n },\n restql: {\n iconPath: \"./../icons/restql.svg\"\n },\n kivy: {\n iconPath: \"./../icons/kivy.svg\"\n },\n graphcool: {\n iconPath: \"./../icons/graphcool.svg\"\n },\n sbt: {\n iconPath: \"./../icons/sbt.svg\"\n },\n webpack: {\n iconPath: \"./../icons/webpack.svg\"\n },\n ionic: {\n iconPath: \"./../icons/ionic.svg\"\n },\n gulp: {\n iconPath: \"./../icons/gulp.svg\"\n },\n nodejs: {\n iconPath: \"./../icons/nodejs.svg\"\n },\n npm: {\n iconPath: \"./../icons/npm.svg\"\n },\n yarn: {\n iconPath: \"./../icons/yarn.svg\"\n },\n android: {\n iconPath: \"./../icons/android.svg\"\n },\n tune: {\n iconPath: \"./../icons/tune.svg\"\n },\n turborepo: {\n iconPath: \"./../icons/turborepo.svg\"\n },\n turborepo_light: {\n iconPath: \"./../icons/turborepo_light.svg\"\n },\n babel: {\n iconPath: \"./../icons/babel.svg\"\n },\n blitz: {\n iconPath: \"./../icons/blitz.svg\"\n },\n contributing: {\n iconPath: \"./../icons/contributing.svg\"\n },\n readme: {\n iconPath: \"./../icons/readme.svg\"\n },\n changelog: {\n iconPath: \"./../icons/changelog.svg\"\n },\n architecture: {\n iconPath: \"./../icons/architecture.svg\"\n },\n credits: {\n iconPath: \"./../icons/credits.svg\"\n },\n authors: {\n iconPath: \"./../icons/authors.svg\"\n },\n flow: {\n iconPath: \"./../icons/flow.svg\"\n },\n favicon: {\n iconPath: \"./../icons/favicon.svg\"\n },\n karma: {\n iconPath: \"./../icons/karma.svg\"\n },\n bithound: {\n iconPath: \"./../icons/bithound.svg\"\n },\n svgo: {\n iconPath: \"./../icons/svgo.svg\"\n },\n appveyor: {\n iconPath: \"./../icons/appveyor.svg\"\n },\n travis: {\n iconPath: \"./../icons/travis.svg\"\n },\n codecov: {\n iconPath: \"./../icons/codecov.svg\"\n },\n sonarcloud: {\n iconPath: \"./../icons/sonarcloud.svg\"\n },\n protractor: {\n iconPath: \"./../icons/protractor.svg\"\n },\n fusebox: {\n iconPath: \"./../icons/fusebox.svg\"\n },\n heroku: {\n iconPath: \"./../icons/heroku.svg\"\n },\n gitlab: {\n iconPath: \"./../icons/gitlab.svg\"\n },\n bower: {\n iconPath: \"./../icons/bower.svg\"\n },\n eslint: {\n iconPath: \"./../icons/eslint.svg\"\n },\n conduct: {\n iconPath: \"./../icons/conduct.svg\"\n },\n watchman: {\n iconPath: \"./../icons/watchman.svg\"\n },\n aurelia: {\n iconPath: \"./../icons/aurelia.svg\"\n },\n auto: {\n iconPath: \"./../icons/auto.svg\"\n },\n auto_light: {\n iconPath: \"./../icons/auto_light.svg\"\n },\n mocha: {\n iconPath: \"./../icons/mocha.svg\"\n },\n jenkins: {\n iconPath: \"./../icons/jenkins.svg\"\n },\n firebase: {\n iconPath: \"./../icons/firebase.svg\"\n },\n figma: {\n iconPath: \"./../icons/figma.svg\"\n },\n rollup: {\n iconPath: \"./../icons/rollup.svg\"\n },\n huff_light: {\n iconPath: \"./../icons/huff_light.svg\"\n },\n hardhat: {\n iconPath: \"./../icons/hardhat.svg\"\n },\n stylelint: {\n iconPath: \"./../icons/stylelint.svg\"\n },\n stylelint_light: {\n iconPath: \"./../icons/stylelint_light.svg\"\n },\n \"code-climate\": {\n iconPath: \"./../icons/code-climate.svg\"\n },\n \"code-climate_light\": {\n iconPath: \"./../icons/code-climate_light.svg\"\n },\n prettier: {\n iconPath: \"./../icons/prettier.svg\"\n },\n renovate: {\n iconPath: \"./../icons/renovate.svg\"\n },\n apollo: {\n iconPath: \"./../icons/apollo.svg\"\n },\n nodemon: {\n iconPath: \"./../icons/nodemon.svg\"\n },\n webhint: {\n iconPath: \"./../icons/webhint.svg\"\n },\n browserlist: {\n iconPath: \"./../icons/browserlist.svg\"\n },\n browserlist_light: {\n iconPath: \"./../icons/browserlist_light.svg\"\n },\n crystal: {\n iconPath: \"./../icons/crystal.svg\"\n },\n crystal_light: {\n iconPath: \"./../icons/crystal_light.svg\"\n },\n snyk: {\n iconPath: \"./../icons/snyk.svg\"\n },\n drone: {\n iconPath: \"./../icons/drone.svg\"\n },\n drone_light: {\n iconPath: \"./../icons/drone_light.svg\"\n },\n cuda: {\n iconPath: \"./../icons/cuda.svg\"\n },\n dotjs: {\n iconPath: \"./../icons/dotjs.svg\"\n },\n ejs: {\n iconPath: \"./../icons/ejs.svg\"\n },\n sequelize: {\n iconPath: \"./../icons/sequelize.svg\"\n },\n gatsby: {\n iconPath: \"./../icons/gatsby.svg\"\n },\n wakatime: {\n iconPath: \"./../icons/wakatime.svg\"\n },\n wakatime_light: {\n iconPath: \"./../icons/wakatime_light.svg\"\n },\n circleci: {\n iconPath: \"./../icons/circleci.svg\"\n },\n circleci_light: {\n iconPath: \"./../icons/circleci_light.svg\"\n },\n cloudfoundry: {\n iconPath: \"./../icons/cloudfoundry.svg\"\n },\n grunt: {\n iconPath: \"./../icons/grunt.svg\"\n },\n jest: {\n iconPath: \"./../icons/jest.svg\"\n },\n storybook: {\n iconPath: \"./../icons/storybook.svg\"\n },\n wepy: {\n iconPath: \"./../icons/wepy.svg\"\n },\n fastlane: {\n iconPath: \"./../icons/fastlane.svg\"\n },\n hcl_light: {\n iconPath: \"./../icons/hcl_light.svg\"\n },\n helm: {\n iconPath: \"./../icons/helm.svg\"\n },\n san: {\n iconPath: \"./../icons/san.svg\"\n },\n quokka: {\n iconPath: \"./../icons/quokka.svg\"\n },\n wallaby: {\n iconPath: \"./../icons/wallaby.svg\"\n },\n stencil: {\n iconPath: \"./../icons/stencil.svg\"\n },\n red: {\n iconPath: \"./../icons/red.svg\"\n },\n makefile: {\n iconPath: \"./../icons/makefile.svg\"\n },\n foxpro: {\n iconPath: \"./../icons/foxpro.svg\"\n },\n i18n: {\n iconPath: \"./../icons/i18n.svg\"\n },\n webassembly: {\n iconPath: \"./../icons/webassembly.svg\"\n },\n \"semantic-release\": {\n iconPath: \"./../icons/semantic-release.svg\"\n },\n \"semantic-release_light\": {\n iconPath: \"./../icons/semantic-release_light.svg\"\n },\n bitbucket: {\n iconPath: \"./../icons/bitbucket.svg\"\n },\n d: {\n iconPath: \"./../icons/d.svg\"\n },\n mdx: {\n iconPath: \"./../icons/mdx.svg\"\n },\n mdsvex: {\n iconPath: \"./../icons/mdsvex.svg\"\n },\n ballerina: {\n iconPath: \"./../icons/ballerina.svg\"\n },\n racket: {\n iconPath: \"./../icons/racket.svg\"\n },\n bazel: {\n iconPath: \"./../icons/bazel.svg\"\n },\n mint: {\n iconPath: \"./../icons/mint.svg\"\n },\n velocity: {\n iconPath: \"./../icons/velocity.svg\"\n },\n \"azure-pipelines\": {\n iconPath: \"./../icons/azure-pipelines.svg\"\n },\n azure: {\n iconPath: \"./../icons/azure.svg\"\n },\n vagrant: {\n iconPath: \"./../icons/vagrant.svg\"\n },\n prisma: {\n iconPath: \"./../icons/prisma.svg\"\n },\n abc: {\n iconPath: \"./../icons/abc.svg\"\n },\n asciidoc: {\n iconPath: \"./../icons/asciidoc.svg\"\n },\n istanbul: {\n iconPath: \"./../icons/istanbul.svg\"\n },\n edge: {\n iconPath: \"./../icons/edge.svg\"\n },\n scheme: {\n iconPath: \"./../icons/scheme.svg\"\n },\n lisp: {\n iconPath: \"./../icons/lisp.svg\"\n },\n tailwindcss: {\n iconPath: \"./../icons/tailwindcss.svg\"\n },\n \"3d\": {\n iconPath: \"./../icons/3d.svg\"\n },\n buildkite: {\n iconPath: \"./../icons/buildkite.svg\"\n },\n netlify: {\n iconPath: \"./../icons/netlify.svg\"\n },\n netlify_light: {\n iconPath: \"./../icons/netlify_light.svg\"\n },\n nest: {\n iconPath: \"./../icons/nest.svg\"\n },\n moon: {\n iconPath: \"./../icons/moon.svg\"\n },\n moonscript: {\n iconPath: \"./../icons/moonscript.svg\"\n },\n percy: {\n iconPath: \"./../icons/percy.svg\"\n },\n gitpod: {\n iconPath: \"./../icons/gitpod.svg\"\n },\n advpl_prw: {\n iconPath: \"./../icons/advpl_prw.svg\"\n },\n advpl_ptm: {\n iconPath: \"./../icons/advpl_ptm.svg\"\n },\n advpl_tlpp: {\n iconPath: \"./../icons/advpl_tlpp.svg\"\n },\n advpl_include: {\n iconPath: \"./../icons/advpl_include.svg\"\n },\n codeowners: {\n iconPath: \"./../icons/codeowners.svg\"\n },\n gcp: {\n iconPath: \"./../icons/gcp.svg\"\n },\n disc: {\n iconPath: \"./../icons/disc.svg\"\n },\n fortran: {\n iconPath: \"./../icons/fortran.svg\"\n },\n tcl: {\n iconPath: \"./../icons/tcl.svg\"\n },\n liquid: {\n iconPath: \"./../icons/liquid.svg\"\n },\n husky: {\n iconPath: \"./../icons/husky.svg\"\n },\n coconut: {\n iconPath: \"./../icons/coconut.svg\"\n },\n tilt: {\n iconPath: \"./../icons/tilt.svg\"\n },\n capacitor: {\n iconPath: \"./../icons/capacitor.svg\"\n },\n sketch: {\n iconPath: \"./../icons/sketch.svg\"\n },\n adonis: {\n iconPath: \"./../icons/adonis.svg\"\n },\n forth: {\n iconPath: \"./../icons/forth.svg\"\n },\n uml: {\n iconPath: \"./../icons/uml.svg\"\n },\n uml_light: {\n iconPath: \"./../icons/uml_light.svg\"\n },\n meson: {\n iconPath: \"./../icons/meson.svg\"\n },\n commitlint: {\n iconPath: \"./../icons/commitlint.svg\"\n },\n buck: {\n iconPath: \"./../icons/buck.svg\"\n },\n nx: {\n iconPath: \"./../icons/nx.svg\"\n },\n opam: {\n iconPath: \"./../icons/opam.svg\"\n },\n dune: {\n iconPath: \"./../icons/dune.svg\"\n },\n imba: {\n iconPath: \"./../icons/imba.svg\"\n },\n drawio: {\n iconPath: \"./../icons/drawio.svg\"\n },\n pascal: {\n iconPath: \"./../icons/pascal.svg\"\n },\n roadmap: {\n iconPath: \"./../icons/roadmap.svg\"\n },\n nuget: {\n iconPath: \"./../icons/nuget.svg\"\n },\n command: {\n iconPath: \"./../icons/command.svg\"\n },\n stryker: {\n iconPath: \"./../icons/stryker.svg\"\n },\n denizenscript: {\n iconPath: \"./../icons/denizenscript.svg\"\n },\n modernizr: {\n iconPath: \"./../icons/modernizr.svg\"\n },\n slug: {\n iconPath: \"./../icons/slug.svg\"\n },\n stitches: {\n iconPath: \"./../icons/stitches.svg\"\n },\n stitches_light: {\n iconPath: \"./../icons/stitches_light.svg\"\n },\n nginx: {\n iconPath: \"./../icons/nginx.svg\"\n },\n replit: {\n iconPath: \"./../icons/replit.svg\"\n },\n \"rescript-interface\": {\n iconPath: \"./../icons/rescript-interface.svg\"\n },\n snowpack: {\n iconPath: \"./../icons/snowpack.svg\"\n },\n snowpack_light: {\n iconPath: \"./../icons/snowpack_light.svg\"\n },\n brainfuck: {\n iconPath: \"./../icons/brainfuck.svg\"\n },\n bicep: {\n iconPath: \"./../icons/bicep.svg\"\n },\n cobol: {\n iconPath: \"./../icons/cobol.svg\"\n },\n quasar: {\n iconPath: \"./../icons/quasar.svg\"\n },\n dependabot: {\n iconPath: \"./../icons/dependabot.svg\"\n },\n pipeline: {\n iconPath: \"./../icons/pipeline.svg\"\n },\n vite: {\n iconPath: \"./../icons/vite.svg\"\n },\n vitest: {\n iconPath: \"./../icons/vitest.svg\"\n },\n opa: {\n iconPath: \"./../icons/opa.svg\"\n },\n lerna: {\n iconPath: \"./../icons/lerna.svg\"\n },\n windicss: {\n iconPath: \"./../icons/windicss.svg\"\n },\n textlint: {\n iconPath: \"./../icons/textlint.svg\"\n },\n lilypond: {\n iconPath: \"./../icons/lilypond.svg\"\n },\n chess_light: {\n iconPath: \"./../icons/chess_light.svg\"\n },\n sentry: {\n iconPath: \"./../icons/sentry.svg\"\n },\n phpunit: {\n iconPath: \"./../icons/phpunit.svg\"\n },\n \"php-cs-fixer\": {\n iconPath: \"./../icons/php-cs-fixer.svg\"\n },\n robots: {\n iconPath: \"./../icons/robots.svg\"\n },\n tsconfig: {\n iconPath: \"./../icons/tsconfig.svg\"\n },\n tauri: {\n iconPath: \"./../icons/tauri.svg\"\n },\n jsconfig: {\n iconPath: \"./../icons/jsconfig.svg\"\n },\n maven: {\n iconPath: \"./../icons/maven.svg\"\n },\n ada: {\n iconPath: \"./../icons/ada.svg\"\n },\n serverless: {\n iconPath: \"./../icons/serverless.svg\"\n },\n supabase: {\n iconPath: \"./../icons/supabase.svg\"\n },\n ember: {\n iconPath: \"./../icons/ember.svg\"\n },\n horusec: {\n iconPath: \"./../icons/horusec.svg\"\n },\n poetry: {\n iconPath: \"./../icons/poetry.svg\"\n },\n pdm: {\n iconPath: \"./../icons/pdm.svg\"\n },\n coala: {\n iconPath: \"./../icons/coala.svg\"\n },\n parcel: {\n iconPath: \"./../icons/parcel.svg\"\n },\n dinophp: {\n iconPath: \"./../icons/dinophp.svg\"\n },\n teal: {\n iconPath: \"./../icons/teal.svg\"\n },\n template: {\n iconPath: \"./../icons/template.svg\"\n },\n astyle: {\n iconPath: \"./../icons/astyle.svg\"\n },\n lighthouse: {\n iconPath: \"./../icons/lighthouse.svg\"\n },\n svgr: {\n iconPath: \"./../icons/svgr.svg\"\n },\n rome: {\n iconPath: \"./../icons/rome.svg\"\n },\n cypress: {\n iconPath: \"./../icons/cypress.svg\"\n },\n siyuan: {\n iconPath: \"./../icons/siyuan.svg\"\n },\n ndst: {\n iconPath: \"./../icons/ndst.svg\"\n },\n plop: {\n iconPath: \"./../icons/plop.svg\"\n },\n tobi: {\n iconPath: \"./../icons/tobi.svg\"\n },\n tobimake: {\n iconPath: \"./../icons/tobimake.svg\"\n },\n gleam: {\n iconPath: \"./../icons/gleam.svg\"\n },\n pnpm: {\n iconPath: \"./../icons/pnpm.svg\"\n },\n pnpm_light: {\n iconPath: \"./../icons/pnpm_light.svg\"\n },\n gridsome: {\n iconPath: \"./../icons/gridsome.svg\"\n },\n steadybit: {\n iconPath: \"./../icons/steadybit.svg\"\n },\n capnp: {\n iconPath: \"./../icons/capnp.svg\"\n },\n caddy: {\n iconPath: \"./../icons/caddy.svg\"\n },\n openapi: {\n iconPath: \"./../icons/openapi.svg\"\n },\n openapi_light: {\n iconPath: \"./../icons/openapi_light.svg\"\n },\n swagger: {\n iconPath: \"./../icons/swagger.svg\"\n },\n bun: {\n iconPath: \"./../icons/bun.svg\"\n },\n bun_light: {\n iconPath: \"./../icons/bun_light.svg\"\n },\n antlr: {\n iconPath: \"./../icons/antlr.svg\"\n },\n pinejs: {\n iconPath: \"./../icons/pinejs.svg\"\n },\n \"nano-staged\": {\n iconPath: \"./../icons/nano-staged.svg\"\n },\n \"nano-staged_light\": {\n iconPath: \"./../icons/nano-staged_light.svg\"\n },\n knip: {\n iconPath: \"./../icons/knip.svg\"\n },\n taskfile: {\n iconPath: \"./../icons/taskfile.svg\"\n },\n craco: {\n iconPath: \"./../icons/craco.svg\"\n },\n gamemaker: {\n iconPath: \"./../icons/gamemaker.svg\"\n },\n tldraw: {\n iconPath: \"./../icons/tldraw.svg\"\n },\n tldraw_light: {\n iconPath: \"./../icons/tldraw_light.svg\"\n },\n mercurial: {\n iconPath: \"./../icons/mercurial.svg\"\n },\n deno: {\n iconPath: \"./../icons/deno.svg\"\n },\n deno_light: {\n iconPath: \"./../icons/deno_light.svg\"\n },\n plastic: {\n iconPath: \"./../icons/plastic.svg\"\n },\n typst: {\n iconPath: \"./../icons/typst.svg\"\n },\n unocss: {\n iconPath: \"./../icons/unocss.svg\"\n },\n \"ifanr-cloud\": {\n iconPath: \"./../icons/ifanr-cloud.svg\"\n },\n mermaid: {\n iconPath: \"./../icons/mermaid.svg\"\n },\n syncpack: {\n iconPath: \"./../icons/syncpack.svg\"\n },\n werf: {\n iconPath: \"./../icons/werf.svg\"\n },\n roblox: {\n iconPath: \"./../icons/roblox.svg\"\n },\n panda: {\n iconPath: \"./../icons/panda.svg\"\n },\n biome: {\n iconPath: \"./../icons/biome.svg\"\n },\n esbuild: {\n iconPath: \"./../icons/esbuild.svg\"\n },\n spwn: {\n iconPath: \"./../icons/spwn.svg\"\n },\n templ: {\n iconPath: \"./../icons/templ.svg\"\n },\n chrome: {\n iconPath: \"./../icons/chrome.svg\"\n },\n stan: {\n iconPath: \"./../icons/stan.svg\"\n },\n abap: {\n iconPath: \"./../icons/abap.svg\"\n },\n lottie: {\n iconPath: \"./../icons/lottie.svg\"\n },\n puppeteer: {\n iconPath: \"./../icons/puppeteer.svg\"\n },\n \"apps-script\": {\n iconPath: \"./../icons/apps-script.svg\"\n },\n pkl: {\n iconPath: \"./../icons/pkl.svg\"\n },\n kubernetes: {\n iconPath: \"./../icons/kubernetes.svg\"\n },\n file: {\n iconPath: \"./../icons/file.svg\"\n },\n \"folder-robot\": {\n iconPath: \"./../icons/folder-robot.svg\"\n },\n \"folder-robot-open\": {\n iconPath: \"./../icons/folder-robot-open.svg\"\n },\n \"folder-src\": {\n iconPath: \"./../icons/folder-src.svg\"\n },\n \"folder-src-open\": {\n iconPath: \"./../icons/folder-src-open.svg\"\n },\n \"folder-dist\": {\n iconPath: \"./../icons/folder-dist.svg\"\n },\n \"folder-dist-open\": {\n iconPath: \"./../icons/folder-dist-open.svg\"\n },\n \"folder-css\": {\n iconPath: \"./../icons/folder-css.svg\"\n },\n \"folder-css-open\": {\n iconPath: \"./../icons/folder-css-open.svg\"\n },\n \"folder-sass\": {\n iconPath: \"./../icons/folder-sass.svg\"\n },\n \"folder-sass-open\": {\n iconPath: \"./../icons/folder-sass-open.svg\"\n },\n \"folder-television\": {\n iconPath: \"./../icons/folder-television.svg\"\n },\n \"folder-television-open\": {\n iconPath: \"./../icons/folder-television-open.svg\"\n },\n \"folder-desktop\": {\n iconPath: \"./../icons/folder-desktop.svg\"\n },\n \"folder-desktop-open\": {\n iconPath: \"./../icons/folder-desktop-open.svg\"\n },\n \"folder-console\": {\n iconPath: \"./../icons/folder-console.svg\"\n },\n \"folder-console-open\": {\n iconPath: \"./../icons/folder-console-open.svg\"\n },\n \"folder-images\": {\n iconPath: \"./../icons/folder-images.svg\"\n },\n \"folder-images-open\": {\n iconPath: \"./../icons/folder-images-open.svg\"\n },\n \"folder-scripts\": {\n iconPath: \"./../icons/folder-scripts.svg\"\n },\n \"folder-scripts-open\": {\n iconPath: \"./../icons/folder-scripts-open.svg\"\n },\n \"folder-node\": {\n iconPath: \"./../icons/folder-node.svg\"\n },\n \"folder-node-open\": {\n iconPath: \"./../icons/folder-node-open.svg\"\n },\n \"folder-javascript\": {\n iconPath: \"./../icons/folder-javascript.svg\"\n },\n \"folder-javascript-open\": {\n iconPath: \"./../icons/folder-javascript-open.svg\"\n },\n \"folder-json\": {\n iconPath: \"./../icons/folder-json.svg\"\n },\n \"folder-json-open\": {\n iconPath: \"./../icons/folder-json-open.svg\"\n },\n \"folder-font\": {\n iconPath: \"./../icons/folder-font.svg\"\n },\n \"folder-font-open\": {\n iconPath: \"./../icons/folder-font-open.svg\"\n },\n \"folder-bower\": {\n iconPath: \"./../icons/folder-bower.svg\"\n },\n \"folder-bower-open\": {\n iconPath: \"./../icons/folder-bower-open.svg\"\n },\n \"folder-test\": {\n iconPath: \"./../icons/folder-test.svg\"\n },\n \"folder-test-open\": {\n iconPath: \"./../icons/folder-test-open.svg\"\n },\n \"folder-jinja\": {\n iconPath: \"./../icons/folder-jinja.svg\"\n },\n \"folder-jinja-open\": {\n iconPath: \"./../icons/folder-jinja-open.svg\"\n },\n \"folder-jinja_light\": {\n iconPath: \"./../icons/folder-jinja_light.svg\"\n },\n \"folder-jinja-open_light\": {\n iconPath: \"./../icons/folder-jinja-open_light.svg\"\n },\n \"folder-markdown\": {\n iconPath: \"./../icons/folder-markdown.svg\"\n },\n \"folder-markdown-open\": {\n iconPath: \"./../icons/folder-markdown-open.svg\"\n },\n \"folder-pdm\": {\n iconPath: \"./../icons/folder-pdm.svg\"\n },\n \"folder-pdm-open\": {\n iconPath: \"./../icons/folder-pdm-open.svg\"\n },\n \"folder-php\": {\n iconPath: \"./../icons/folder-php.svg\"\n },\n \"folder-php-open\": {\n iconPath: \"./../icons/folder-php-open.svg\"\n },\n \"folder-phpmailer\": {\n iconPath: \"./../icons/folder-phpmailer.svg\"\n },\n \"folder-phpmailer-open\": {\n iconPath: \"./../icons/folder-phpmailer-open.svg\"\n },\n \"folder-sublime\": {\n iconPath: \"./../icons/folder-sublime.svg\"\n },\n \"folder-sublime-open\": {\n iconPath: \"./../icons/folder-sublime-open.svg\"\n },\n \"folder-docs\": {\n iconPath: \"./../icons/folder-docs.svg\"\n },\n \"folder-docs-open\": {\n iconPath: \"./../icons/folder-docs-open.svg\"\n },\n \"folder-git\": {\n iconPath: \"./../icons/folder-git.svg\"\n },\n \"folder-git-open\": {\n iconPath: \"./../icons/folder-git-open.svg\"\n },\n \"folder-github\": {\n iconPath: \"./../icons/folder-github.svg\"\n },\n \"folder-github-open\": {\n iconPath: \"./../icons/folder-github-open.svg\"\n },\n \"folder-gitlab\": {\n iconPath: \"./../icons/folder-gitlab.svg\"\n },\n \"folder-gitlab-open\": {\n iconPath: \"./../icons/folder-gitlab-open.svg\"\n },\n \"folder-vscode\": {\n iconPath: \"./../icons/folder-vscode.svg\"\n },\n \"folder-vscode-open\": {\n iconPath: \"./../icons/folder-vscode-open.svg\"\n },\n \"folder-views\": {\n iconPath: \"./../icons/folder-views.svg\"\n },\n \"folder-views-open\": {\n iconPath: \"./../icons/folder-views-open.svg\"\n },\n \"folder-vue\": {\n iconPath: \"./../icons/folder-vue.svg\"\n },\n \"folder-vue-open\": {\n iconPath: \"./../icons/folder-vue-open.svg\"\n },\n \"folder-vuepress\": {\n iconPath: \"./../icons/folder-vuepress.svg\"\n },\n \"folder-vuepress-open\": {\n iconPath: \"./../icons/folder-vuepress-open.svg\"\n },\n \"folder-expo\": {\n iconPath: \"./../icons/folder-expo.svg\"\n },\n \"folder-expo-open\": {\n iconPath: \"./../icons/folder-expo-open.svg\"\n },\n \"folder-config\": {\n iconPath: \"./../icons/folder-config.svg\"\n },\n \"folder-config-open\": {\n iconPath: \"./../icons/folder-config-open.svg\"\n },\n \"folder-i18n\": {\n iconPath: \"./../icons/folder-i18n.svg\"\n },\n \"folder-i18n-open\": {\n iconPath: \"./../icons/folder-i18n-open.svg\"\n },\n \"folder-components\": {\n iconPath: \"./../icons/folder-components.svg\"\n },\n \"folder-components-open\": {\n iconPath: \"./../icons/folder-components-open.svg\"\n },\n \"folder-verdaccio\": {\n iconPath: \"./../icons/folder-verdaccio.svg\"\n },\n \"folder-verdaccio-open\": {\n iconPath: \"./../icons/folder-verdaccio-open.svg\"\n },\n \"folder-aurelia\": {\n iconPath: \"./../icons/folder-aurelia.svg\"\n },\n \"folder-aurelia-open\": {\n iconPath: \"./../icons/folder-aurelia-open.svg\"\n },\n \"folder-resource\": {\n iconPath: \"./../icons/folder-resource.svg\"\n },\n \"folder-resource-open\": {\n iconPath: \"./../icons/folder-resource-open.svg\"\n },\n \"folder-lib\": {\n iconPath: \"./../icons/folder-lib.svg\"\n },\n \"folder-lib-open\": {\n iconPath: \"./../icons/folder-lib-open.svg\"\n },\n \"folder-theme\": {\n iconPath: \"./../icons/folder-theme.svg\"\n },\n \"folder-theme-open\": {\n iconPath: \"./../icons/folder-theme-open.svg\"\n },\n \"folder-webpack\": {\n iconPath: \"./../icons/folder-webpack.svg\"\n },\n \"folder-webpack-open\": {\n iconPath: \"./../icons/folder-webpack-open.svg\"\n },\n \"folder-global\": {\n iconPath: \"./../icons/folder-global.svg\"\n },\n \"folder-global-open\": {\n iconPath: \"./../icons/folder-global-open.svg\"\n },\n \"folder-public\": {\n iconPath: \"./../icons/folder-public.svg\"\n },\n \"folder-public-open\": {\n iconPath: \"./../icons/folder-public-open.svg\"\n },\n \"folder-include\": {\n iconPath: \"./../icons/folder-include.svg\"\n },\n \"folder-include-open\": {\n iconPath: \"./../icons/folder-include-open.svg\"\n },\n \"folder-docker\": {\n iconPath: \"./../icons/folder-docker.svg\"\n },\n \"folder-docker-open\": {\n iconPath: \"./../icons/folder-docker-open.svg\"\n },\n \"folder-database\": {\n iconPath: \"./../icons/folder-database.svg\"\n },\n \"folder-database-open\": {\n iconPath: \"./../icons/folder-database-open.svg\"\n },\n \"folder-log\": {\n iconPath: \"./../icons/folder-log.svg\"\n },\n \"folder-log-open\": {\n iconPath: \"./../icons/folder-log-open.svg\"\n },\n \"folder-target\": {\n iconPath: \"./../icons/folder-target.svg\"\n },\n \"folder-target-open\": {\n iconPath: \"./../icons/folder-target-open.svg\"\n },\n \"folder-temp\": {\n iconPath: \"./../icons/folder-temp.svg\"\n },\n \"folder-temp-open\": {\n iconPath: \"./../icons/folder-temp-open.svg\"\n },\n \"folder-aws\": {\n iconPath: \"./../icons/folder-aws.svg\"\n },\n \"folder-aws-open\": {\n iconPath: \"./../icons/folder-aws-open.svg\"\n },\n \"folder-audio\": {\n iconPath: \"./../icons/folder-audio.svg\"\n },\n \"folder-audio-open\": {\n iconPath: \"./../icons/folder-audio-open.svg\"\n },\n \"folder-video\": {\n iconPath: \"./../icons/folder-video.svg\"\n },\n \"folder-video-open\": {\n iconPath: \"./../icons/folder-video-open.svg\"\n },\n \"folder-kubernetes\": {\n iconPath: \"./../icons/folder-kubernetes.svg\"\n },\n \"folder-kubernetes-open\": {\n iconPath: \"./../icons/folder-kubernetes-open.svg\"\n },\n \"folder-import\": {\n iconPath: \"./../icons/folder-import.svg\"\n },\n \"folder-import-open\": {\n iconPath: \"./../icons/folder-import-open.svg\"\n },\n \"folder-export\": {\n iconPath: \"./../icons/folder-export.svg\"\n },\n \"folder-export-open\": {\n iconPath: \"./../icons/folder-export-open.svg\"\n },\n \"folder-wakatime\": {\n iconPath: \"./../icons/folder-wakatime.svg\"\n },\n \"folder-wakatime-open\": {\n iconPath: \"./../icons/folder-wakatime-open.svg\"\n },\n \"folder-circleci\": {\n iconPath: \"./../icons/folder-circleci.svg\"\n },\n \"folder-circleci-open\": {\n iconPath: \"./../icons/folder-circleci-open.svg\"\n },\n \"folder-wordpress\": {\n iconPath: \"./../icons/folder-wordpress.svg\"\n },\n \"folder-wordpress-open\": {\n iconPath: \"./../icons/folder-wordpress-open.svg\"\n },\n \"folder-gradle\": {\n iconPath: \"./../icons/folder-gradle.svg\"\n },\n \"folder-gradle-open\": {\n iconPath: \"./../icons/folder-gradle-open.svg\"\n },\n \"folder-coverage\": {\n iconPath: \"./../icons/folder-coverage.svg\"\n },\n \"folder-coverage-open\": {\n iconPath: \"./../icons/folder-coverage-open.svg\"\n },\n \"folder-class\": {\n iconPath: \"./../icons/folder-class.svg\"\n },\n \"folder-class-open\": {\n iconPath: \"./../icons/folder-class-open.svg\"\n },\n \"folder-other\": {\n iconPath: \"./../icons/folder-other.svg\"\n },\n \"folder-other-open\": {\n iconPath: \"./../icons/folder-other-open.svg\"\n },\n \"folder-lua\": {\n iconPath: \"./../icons/folder-lua.svg\"\n },\n \"folder-lua-open\": {\n iconPath: \"./../icons/folder-lua-open.svg\"\n },\n \"folder-typescript\": {\n iconPath: \"./../icons/folder-typescript.svg\"\n },\n \"folder-typescript-open\": {\n iconPath: \"./../icons/folder-typescript-open.svg\"\n },\n \"folder-graphql\": {\n iconPath: \"./../icons/folder-graphql.svg\"\n },\n \"folder-graphql-open\": {\n iconPath: \"./../icons/folder-graphql-open.svg\"\n },\n \"folder-routes\": {\n iconPath: \"./../icons/folder-routes.svg\"\n },\n \"folder-routes-open\": {\n iconPath: \"./../icons/folder-routes-open.svg\"\n },\n \"folder-ci\": {\n iconPath: \"./../icons/folder-ci.svg\"\n },\n \"folder-ci-open\": {\n iconPath: \"./../icons/folder-ci-open.svg\"\n },\n \"folder-benchmark\": {\n iconPath: \"./../icons/folder-benchmark.svg\"\n },\n \"folder-benchmark-open\": {\n iconPath: \"./../icons/folder-benchmark-open.svg\"\n },\n \"folder-messages\": {\n iconPath: \"./../icons/folder-messages.svg\"\n },\n \"folder-messages-open\": {\n iconPath: \"./../icons/folder-messages-open.svg\"\n },\n \"folder-less\": {\n iconPath: \"./../icons/folder-less.svg\"\n },\n \"folder-less-open\": {\n iconPath: \"./../icons/folder-less-open.svg\"\n },\n \"folder-gulp\": {\n iconPath: \"./../icons/folder-gulp.svg\"\n },\n \"folder-gulp-open\": {\n iconPath: \"./../icons/folder-gulp-open.svg\"\n },\n \"folder-python\": {\n iconPath: \"./../icons/folder-python.svg\"\n },\n \"folder-python-open\": {\n iconPath: \"./../icons/folder-python-open.svg\"\n },\n \"folder-mojo\": {\n iconPath: \"./../icons/folder-mojo.svg\"\n },\n \"folder-mojo-open\": {\n iconPath: \"./../icons/folder-mojo-open.svg\"\n },\n \"folder-moon\": {\n iconPath: \"./../icons/folder-moon.svg\"\n },\n \"folder-moon-open\": {\n iconPath: \"./../icons/folder-moon-open.svg\"\n },\n \"folder-debug\": {\n iconPath: \"./../icons/folder-debug.svg\"\n },\n \"folder-debug-open\": {\n iconPath: \"./../icons/folder-debug-open.svg\"\n },\n \"folder-fastlane\": {\n iconPath: \"./../icons/folder-fastlane.svg\"\n },\n \"folder-fastlane-open\": {\n iconPath: \"./../icons/folder-fastlane-open.svg\"\n },\n \"folder-plugin\": {\n iconPath: \"./../icons/folder-plugin.svg\"\n },\n \"folder-plugin-open\": {\n iconPath: \"./../icons/folder-plugin-open.svg\"\n },\n \"folder-middleware\": {\n iconPath: \"./../icons/folder-middleware.svg\"\n },\n \"folder-middleware-open\": {\n iconPath: \"./../icons/folder-middleware-open.svg\"\n },\n \"folder-controller\": {\n iconPath: \"./../icons/folder-controller.svg\"\n },\n \"folder-controller-open\": {\n iconPath: \"./../icons/folder-controller-open.svg\"\n },\n \"folder-ansible\": {\n iconPath: \"./../icons/folder-ansible.svg\"\n },\n \"folder-ansible-open\": {\n iconPath: \"./../icons/folder-ansible-open.svg\"\n },\n \"folder-server\": {\n iconPath: \"./../icons/folder-server.svg\"\n },\n \"folder-server-open\": {\n iconPath: \"./../icons/folder-server-open.svg\"\n },\n \"folder-client\": {\n iconPath: \"./../icons/folder-client.svg\"\n },\n \"folder-client-open\": {\n iconPath: \"./../icons/folder-client-open.svg\"\n },\n \"folder-tasks\": {\n iconPath: \"./../icons/folder-tasks.svg\"\n },\n \"folder-tasks-open\": {\n iconPath: \"./../icons/folder-tasks-open.svg\"\n },\n \"folder-android\": {\n iconPath: \"./../icons/folder-android.svg\"\n },\n \"folder-android-open\": {\n iconPath: \"./../icons/folder-android-open.svg\"\n },\n \"folder-ios\": {\n iconPath: \"./../icons/folder-ios.svg\"\n },\n \"folder-ios-open\": {\n iconPath: \"./../icons/folder-ios-open.svg\"\n },\n \"folder-upload\": {\n iconPath: \"./../icons/folder-upload.svg\"\n },\n \"folder-upload-open\": {\n iconPath: \"./../icons/folder-upload-open.svg\"\n },\n \"folder-download\": {\n iconPath: \"./../icons/folder-download.svg\"\n },\n \"folder-download-open\": {\n iconPath: \"./../icons/folder-download-open.svg\"\n },\n \"folder-tools\": {\n iconPath: \"./../icons/folder-tools.svg\"\n },\n \"folder-tools-open\": {\n iconPath: \"./../icons/folder-tools-open.svg\"\n },\n \"folder-helper\": {\n iconPath: \"./../icons/folder-helper.svg\"\n },\n \"folder-helper-open\": {\n iconPath: \"./../icons/folder-helper-open.svg\"\n },\n \"folder-serverless\": {\n iconPath: \"./../icons/folder-serverless.svg\"\n },\n \"folder-serverless-open\": {\n iconPath: \"./../icons/folder-serverless-open.svg\"\n },\n \"folder-api\": {\n iconPath: \"./../icons/folder-api.svg\"\n },\n \"folder-api-open\": {\n iconPath: \"./../icons/folder-api-open.svg\"\n },\n \"folder-app\": {\n iconPath: \"./../icons/folder-app.svg\"\n },\n \"folder-app-open\": {\n iconPath: \"./../icons/folder-app-open.svg\"\n },\n \"folder-apollo\": {\n iconPath: \"./../icons/folder-apollo.svg\"\n },\n \"folder-apollo-open\": {\n iconPath: \"./../icons/folder-apollo-open.svg\"\n },\n \"folder-archive\": {\n iconPath: \"./../icons/folder-archive.svg\"\n },\n \"folder-archive-open\": {\n iconPath: \"./../icons/folder-archive-open.svg\"\n },\n \"folder-batch\": {\n iconPath: \"./../icons/folder-batch.svg\"\n },\n \"folder-batch-open\": {\n iconPath: \"./../icons/folder-batch-open.svg\"\n },\n \"folder-buildkite\": {\n iconPath: \"./../icons/folder-buildkite.svg\"\n },\n \"folder-buildkite-open\": {\n iconPath: \"./../icons/folder-buildkite-open.svg\"\n },\n \"folder-cluster\": {\n iconPath: \"./../icons/folder-cluster.svg\"\n },\n \"folder-cluster-open\": {\n iconPath: \"./../icons/folder-cluster-open.svg\"\n },\n \"folder-command\": {\n iconPath: \"./../icons/folder-command.svg\"\n },\n \"folder-command-open\": {\n iconPath: \"./../icons/folder-command-open.svg\"\n },\n \"folder-constant\": {\n iconPath: \"./../icons/folder-constant.svg\"\n },\n \"folder-constant-open\": {\n iconPath: \"./../icons/folder-constant-open.svg\"\n },\n \"folder-container\": {\n iconPath: \"./../icons/folder-container.svg\"\n },\n \"folder-container-open\": {\n iconPath: \"./../icons/folder-container-open.svg\"\n },\n \"folder-content\": {\n iconPath: \"./../icons/folder-content.svg\"\n },\n \"folder-content-open\": {\n iconPath: \"./../icons/folder-content-open.svg\"\n },\n \"folder-context\": {\n iconPath: \"./../icons/folder-context.svg\"\n },\n \"folder-context-open\": {\n iconPath: \"./../icons/folder-context-open.svg\"\n },\n \"folder-core\": {\n iconPath: \"./../icons/folder-core.svg\"\n },\n \"folder-core-open\": {\n iconPath: \"./../icons/folder-core-open.svg\"\n },\n \"folder-delta\": {\n iconPath: \"./../icons/folder-delta.svg\"\n },\n \"folder-delta-open\": {\n iconPath: \"./../icons/folder-delta-open.svg\"\n },\n \"folder-dump\": {\n iconPath: \"./../icons/folder-dump.svg\"\n },\n \"folder-dump-open\": {\n iconPath: \"./../icons/folder-dump-open.svg\"\n },\n \"folder-examples\": {\n iconPath: \"./../icons/folder-examples.svg\"\n },\n \"folder-examples-open\": {\n iconPath: \"./../icons/folder-examples-open.svg\"\n },\n \"folder-environment\": {\n iconPath: \"./../icons/folder-environment.svg\"\n },\n \"folder-environment-open\": {\n iconPath: \"./../icons/folder-environment-open.svg\"\n },\n \"folder-functions\": {\n iconPath: \"./../icons/folder-functions.svg\"\n },\n \"folder-functions-open\": {\n iconPath: \"./../icons/folder-functions-open.svg\"\n },\n \"folder-generator\": {\n iconPath: \"./../icons/folder-generator.svg\"\n },\n \"folder-generator-open\": {\n iconPath: \"./../icons/folder-generator-open.svg\"\n },\n \"folder-hook\": {\n iconPath: \"./../icons/folder-hook.svg\"\n },\n \"folder-hook-open\": {\n iconPath: \"./../icons/folder-hook-open.svg\"\n },\n \"folder-job\": {\n iconPath: \"./../icons/folder-job.svg\"\n },\n \"folder-job-open\": {\n iconPath: \"./../icons/folder-job-open.svg\"\n },\n \"folder-keys\": {\n iconPath: \"./../icons/folder-keys.svg\"\n },\n \"folder-keys-open\": {\n iconPath: \"./../icons/folder-keys-open.svg\"\n },\n \"folder-layout\": {\n iconPath: \"./../icons/folder-layout.svg\"\n },\n \"folder-layout-open\": {\n iconPath: \"./../icons/folder-layout-open.svg\"\n },\n \"folder-mail\": {\n iconPath: \"./../icons/folder-mail.svg\"\n },\n \"folder-mail-open\": {\n iconPath: \"./../icons/folder-mail-open.svg\"\n },\n \"folder-mappings\": {\n iconPath: \"./../icons/folder-mappings.svg\"\n },\n \"folder-mappings-open\": {\n iconPath: \"./../icons/folder-mappings-open.svg\"\n },\n \"folder-meta\": {\n iconPath: \"./../icons/folder-meta.svg\"\n },\n \"folder-meta-open\": {\n iconPath: \"./../icons/folder-meta-open.svg\"\n },\n \"folder-changesets\": {\n iconPath: \"./../icons/folder-changesets.svg\"\n },\n \"folder-changesets-open\": {\n iconPath: \"./../icons/folder-changesets-open.svg\"\n },\n \"folder-packages\": {\n iconPath: \"./../icons/folder-packages.svg\"\n },\n \"folder-packages-open\": {\n iconPath: \"./../icons/folder-packages-open.svg\"\n },\n \"folder-shared\": {\n iconPath: \"./../icons/folder-shared.svg\"\n },\n \"folder-shared-open\": {\n iconPath: \"./../icons/folder-shared-open.svg\"\n },\n \"folder-shader\": {\n iconPath: \"./../icons/folder-shader.svg\"\n },\n \"folder-shader-open\": {\n iconPath: \"./../icons/folder-shader-open.svg\"\n },\n \"folder-stack\": {\n iconPath: \"./../icons/folder-stack.svg\"\n },\n \"folder-stack-open\": {\n iconPath: \"./../icons/folder-stack-open.svg\"\n },\n \"folder-template\": {\n iconPath: \"./../icons/folder-template.svg\"\n },\n \"folder-template-open\": {\n iconPath: \"./../icons/folder-template-open.svg\"\n },\n \"folder-utils\": {\n iconPath: \"./../icons/folder-utils.svg\"\n },\n \"folder-utils-open\": {\n iconPath: \"./../icons/folder-utils-open.svg\"\n },\n \"folder-supabase\": {\n iconPath: \"./../icons/folder-supabase.svg\"\n },\n \"folder-supabase-open\": {\n iconPath: \"./../icons/folder-supabase-open.svg\"\n },\n \"folder-private\": {\n iconPath: \"./../icons/folder-private.svg\"\n },\n \"folder-private-open\": {\n iconPath: \"./../icons/folder-private-open.svg\"\n },\n \"folder-linux\": {\n iconPath: \"./../icons/folder-linux.svg\"\n },\n \"folder-linux-open\": {\n iconPath: \"./../icons/folder-linux-open.svg\"\n },\n \"folder-windows\": {\n iconPath: \"./../icons/folder-windows.svg\"\n },\n \"folder-windows-open\": {\n iconPath: \"./../icons/folder-windows-open.svg\"\n },\n \"folder-macos\": {\n iconPath: \"./../icons/folder-macos.svg\"\n },\n \"folder-macos-open\": {\n iconPath: \"./../icons/folder-macos-open.svg\"\n },\n \"folder-error\": {\n iconPath: \"./../icons/folder-error.svg\"\n },\n \"folder-error-open\": {\n iconPath: \"./../icons/folder-error-open.svg\"\n },\n \"folder-event\": {\n iconPath: \"./../icons/folder-event.svg\"\n },\n \"folder-event-open\": {\n iconPath: \"./../icons/folder-event-open.svg\"\n },\n \"folder-secure\": {\n iconPath: \"./../icons/folder-secure.svg\"\n },\n \"folder-secure-open\": {\n iconPath: \"./../icons/folder-secure-open.svg\"\n },\n \"folder-custom\": {\n iconPath: \"./../icons/folder-custom.svg\"\n },\n \"folder-custom-open\": {\n iconPath: \"./../icons/folder-custom-open.svg\"\n },\n \"folder-mock\": {\n iconPath: \"./../icons/folder-mock.svg\"\n },\n \"folder-mock-open\": {\n iconPath: \"./../icons/folder-mock-open.svg\"\n },\n \"folder-syntax\": {\n iconPath: \"./../icons/folder-syntax.svg\"\n },\n \"folder-syntax-open\": {\n iconPath: \"./../icons/folder-syntax-open.svg\"\n },\n \"folder-vm\": {\n iconPath: \"./../icons/folder-vm.svg\"\n },\n \"folder-vm-open\": {\n iconPath: \"./../icons/folder-vm-open.svg\"\n },\n \"folder-stylus\": {\n iconPath: \"./../icons/folder-stylus.svg\"\n },\n \"folder-stylus-open\": {\n iconPath: \"./../icons/folder-stylus-open.svg\"\n },\n \"folder-flow\": {\n iconPath: \"./../icons/folder-flow.svg\"\n },\n \"folder-flow-open\": {\n iconPath: \"./../icons/folder-flow-open.svg\"\n },\n \"folder-rules\": {\n iconPath: \"./../icons/folder-rules.svg\"\n },\n \"folder-rules-open\": {\n iconPath: \"./../icons/folder-rules-open.svg\"\n },\n \"folder-review\": {\n iconPath: \"./../icons/folder-review.svg\"\n },\n \"folder-review-open\": {\n iconPath: \"./../icons/folder-review-open.svg\"\n },\n \"folder-animation\": {\n iconPath: \"./../icons/folder-animation.svg\"\n },\n \"folder-animation-open\": {\n iconPath: \"./../icons/folder-animation-open.svg\"\n },\n \"folder-guard\": {\n iconPath: \"./../icons/folder-guard.svg\"\n },\n \"folder-guard-open\": {\n iconPath: \"./../icons/folder-guard-open.svg\"\n },\n \"folder-prisma\": {\n iconPath: \"./../icons/folder-prisma.svg\"\n },\n \"folder-prisma-open\": {\n iconPath: \"./../icons/folder-prisma-open.svg\"\n },\n \"folder-pipe\": {\n iconPath: \"./../icons/folder-pipe.svg\"\n },\n \"folder-pipe-open\": {\n iconPath: \"./../icons/folder-pipe-open.svg\"\n },\n \"folder-svg\": {\n iconPath: \"./../icons/folder-svg.svg\"\n },\n \"folder-svg-open\": {\n iconPath: \"./../icons/folder-svg-open.svg\"\n },\n \"folder-terraform\": {\n iconPath: \"./../icons/folder-terraform.svg\"\n },\n \"folder-terraform-open\": {\n iconPath: \"./../icons/folder-terraform-open.svg\"\n },\n \"folder-mobile\": {\n iconPath: \"./../icons/folder-mobile.svg\"\n },\n \"folder-mobile-open\": {\n iconPath: \"./../icons/folder-mobile-open.svg\"\n },\n \"folder-stencil\": {\n iconPath: \"./../icons/folder-stencil.svg\"\n },\n \"folder-stencil-open\": {\n iconPath: \"./../icons/folder-stencil-open.svg\"\n },\n \"folder-firebase\": {\n iconPath: \"./../icons/folder-firebase.svg\"\n },\n \"folder-firebase-open\": {\n iconPath: \"./../icons/folder-firebase-open.svg\"\n },\n \"folder-svelte\": {\n iconPath: \"./../icons/folder-svelte.svg\"\n },\n \"folder-svelte-open\": {\n iconPath: \"./../icons/folder-svelte-open.svg\"\n },\n \"folder-update\": {\n iconPath: \"./../icons/folder-update.svg\"\n },\n \"folder-update-open\": {\n iconPath: \"./../icons/folder-update-open.svg\"\n },\n \"folder-intellij\": {\n iconPath: \"./../icons/folder-intellij.svg\"\n },\n \"folder-intellij-open\": {\n iconPath: \"./../icons/folder-intellij-open.svg\"\n },\n \"folder-intellij_light\": {\n iconPath: \"./../icons/folder-intellij_light.svg\"\n },\n \"folder-intellij-open_light\": {\n iconPath: \"./../icons/folder-intellij-open_light.svg\"\n },\n \"folder-azure-pipelines\": {\n iconPath: \"./../icons/folder-azure-pipelines.svg\"\n },\n \"folder-azure-pipelines-open\": {\n iconPath: \"./../icons/folder-azure-pipelines-open.svg\"\n },\n \"folder-mjml\": {\n iconPath: \"./../icons/folder-mjml.svg\"\n },\n \"folder-mjml-open\": {\n iconPath: \"./../icons/folder-mjml-open.svg\"\n },\n \"folder-admin\": {\n iconPath: \"./../icons/folder-admin.svg\"\n },\n \"folder-admin-open\": {\n iconPath: \"./../icons/folder-admin-open.svg\"\n },\n \"folder-scala\": {\n iconPath: \"./../icons/folder-scala.svg\"\n },\n \"folder-scala-open\": {\n iconPath: \"./../icons/folder-scala-open.svg\"\n },\n \"folder-connection\": {\n iconPath: \"./../icons/folder-connection.svg\"\n },\n \"folder-connection-open\": {\n iconPath: \"./../icons/folder-connection-open.svg\"\n },\n \"folder-quasar\": {\n iconPath: \"./../icons/folder-quasar.svg\"\n },\n \"folder-quasar-open\": {\n iconPath: \"./../icons/folder-quasar-open.svg\"\n },\n \"folder-next\": {\n iconPath: \"./../icons/folder-next.svg\"\n },\n \"folder-next-open\": {\n iconPath: \"./../icons/folder-next-open.svg\"\n },\n \"folder-cobol\": {\n iconPath: \"./../icons/folder-cobol.svg\"\n },\n \"folder-cobol-open\": {\n iconPath: \"./../icons/folder-cobol-open.svg\"\n },\n \"folder-yarn\": {\n iconPath: \"./../icons/folder-yarn.svg\"\n },\n \"folder-yarn-open\": {\n iconPath: \"./../icons/folder-yarn-open.svg\"\n },\n \"folder-husky\": {\n iconPath: \"./../icons/folder-husky.svg\"\n },\n \"folder-husky-open\": {\n iconPath: \"./../icons/folder-husky-open.svg\"\n },\n \"folder-storybook\": {\n iconPath: \"./../icons/folder-storybook.svg\"\n },\n \"folder-storybook-open\": {\n iconPath: \"./../icons/folder-storybook-open.svg\"\n },\n \"folder-base\": {\n iconPath: \"./../icons/folder-base.svg\"\n },\n \"folder-base-open\": {\n iconPath: \"./../icons/folder-base-open.svg\"\n },\n \"folder-cart\": {\n iconPath: \"./../icons/folder-cart.svg\"\n },\n \"folder-cart-open\": {\n iconPath: \"./../icons/folder-cart-open.svg\"\n },\n \"folder-home\": {\n iconPath: \"./../icons/folder-home.svg\"\n },\n \"folder-home-open\": {\n iconPath: \"./../icons/folder-home-open.svg\"\n },\n \"folder-project\": {\n iconPath: \"./../icons/folder-project.svg\"\n },\n \"folder-project-open\": {\n iconPath: \"./../icons/folder-project-open.svg\"\n },\n \"folder-interface\": {\n iconPath: \"./../icons/folder-interface.svg\"\n },\n \"folder-interface-open\": {\n iconPath: \"./../icons/folder-interface-open.svg\"\n },\n \"folder-netlify\": {\n iconPath: \"./../icons/folder-netlify.svg\"\n },\n \"folder-netlify-open\": {\n iconPath: \"./../icons/folder-netlify-open.svg\"\n },\n \"folder-enum\": {\n iconPath: \"./../icons/folder-enum.svg\"\n },\n \"folder-enum-open\": {\n iconPath: \"./../icons/folder-enum-open.svg\"\n },\n \"folder-contract\": {\n iconPath: \"./../icons/folder-contract.svg\"\n },\n \"folder-contract-open\": {\n iconPath: \"./../icons/folder-contract-open.svg\"\n },\n \"folder-queue\": {\n iconPath: \"./../icons/folder-queue.svg\"\n },\n \"folder-queue-open\": {\n iconPath: \"./../icons/folder-queue-open.svg\"\n },\n \"folder-vercel\": {\n iconPath: \"./../icons/folder-vercel.svg\"\n },\n \"folder-vercel-open\": {\n iconPath: \"./../icons/folder-vercel-open.svg\"\n },\n \"folder-cypress\": {\n iconPath: \"./../icons/folder-cypress.svg\"\n },\n \"folder-cypress-open\": {\n iconPath: \"./../icons/folder-cypress-open.svg\"\n },\n \"folder-decorators\": {\n iconPath: \"./../icons/folder-decorators.svg\"\n },\n \"folder-decorators-open\": {\n iconPath: \"./../icons/folder-decorators-open.svg\"\n },\n \"folder-java\": {\n iconPath: \"./../icons/folder-java.svg\"\n },\n \"folder-java-open\": {\n iconPath: \"./../icons/folder-java-open.svg\"\n },\n \"folder-resolver\": {\n iconPath: \"./../icons/folder-resolver.svg\"\n },\n \"folder-resolver-open\": {\n iconPath: \"./../icons/folder-resolver-open.svg\"\n },\n \"folder-angular\": {\n iconPath: \"./../icons/folder-angular.svg\"\n },\n \"folder-angular-open\": {\n iconPath: \"./../icons/folder-angular-open.svg\"\n },\n \"folder-unity\": {\n iconPath: \"./../icons/folder-unity.svg\"\n },\n \"folder-unity-open\": {\n iconPath: \"./../icons/folder-unity-open.svg\"\n },\n \"folder-pdf\": {\n iconPath: \"./../icons/folder-pdf.svg\"\n },\n \"folder-pdf-open\": {\n iconPath: \"./../icons/folder-pdf-open.svg\"\n },\n \"folder-proto\": {\n iconPath: \"./../icons/folder-proto.svg\"\n },\n \"folder-proto-open\": {\n iconPath: \"./../icons/folder-proto-open.svg\"\n },\n \"folder-plastic\": {\n iconPath: \"./../icons/folder-plastic.svg\"\n },\n \"folder-plastic-open\": {\n iconPath: \"./../icons/folder-plastic-open.svg\"\n },\n \"folder-gamemaker\": {\n iconPath: \"./../icons/folder-gamemaker.svg\"\n },\n \"folder-gamemaker-open\": {\n iconPath: \"./../icons/folder-gamemaker-open.svg\"\n },\n \"folder-mercurial\": {\n iconPath: \"./../icons/folder-mercurial.svg\"\n },\n \"folder-mercurial-open\": {\n iconPath: \"./../icons/folder-mercurial-open.svg\"\n },\n \"folder-godot\": {\n iconPath: \"./../icons/folder-godot.svg\"\n },\n \"folder-godot-open\": {\n iconPath: \"./../icons/folder-godot-open.svg\"\n },\n \"folder-lottie\": {\n iconPath: \"./../icons/folder-lottie.svg\"\n },\n \"folder-lottie-open\": {\n iconPath: \"./../icons/folder-lottie-open.svg\"\n },\n \"folder-taskfile\": {\n iconPath: \"./../icons/folder-taskfile.svg\"\n },\n \"folder-taskfile-open\": {\n iconPath: \"./../icons/folder-taskfile-open.svg\"\n },\n \"folder-cloudflare\": {\n iconPath: \"./../icons/folder-cloudflare.svg\"\n },\n \"folder-cloudflare-open\": {\n iconPath: \"./../icons/folder-cloudflare-open.svg\"\n },\n \"folder-seeders\": {\n iconPath: \"./../icons/folder-seeders.svg\"\n },\n \"folder-seeders-open\": {\n iconPath: \"./../icons/folder-seeders-open.svg\"\n },\n folder: {\n iconPath: \"./../icons/folder.svg\"\n },\n \"folder-open\": {\n iconPath: \"./../icons/folder-open.svg\"\n },\n \"folder-root\": {\n iconPath: \"./../icons/folder-root.svg\"\n },\n \"folder-root-open\": {\n iconPath: \"./../icons/folder-root-open.svg\"\n }\n },\n folderNames: {\n bot: \"folder-robot\",\n \".bot\": \"folder-robot\",\n _bot: \"folder-robot\",\n __bot__: \"folder-robot\",\n robot: \"folder-robot\",\n \".robot\": \"folder-robot\",\n _robot: \"folder-robot\",\n __robot__: \"folder-robot\",\n src: \"folder-src\",\n \".src\": \"folder-src\",\n _src: \"folder-src\",\n __src__: \"folder-src\",\n srcs: \"folder-src\",\n \".srcs\": \"folder-src\",\n _srcs: \"folder-src\",\n __srcs__: \"folder-src\",\n source: \"folder-src\",\n \".source\": \"folder-src\",\n _source: \"folder-src\",\n __source__: \"folder-src\",\n sources: \"folder-src\",\n \".sources\": \"folder-src\",\n _sources: \"folder-src\",\n __sources__: \"folder-src\",\n code: \"folder-src\",\n \".code\": \"folder-src\",\n _code: \"folder-src\",\n __code__: \"folder-src\",\n dist: \"folder-dist\",\n \".dist\": \"folder-dist\",\n _dist: \"folder-dist\",\n __dist__: \"folder-dist\",\n out: \"folder-dist\",\n \".out\": \"folder-dist\",\n _out: \"folder-dist\",\n __out__: \"folder-dist\",\n build: \"folder-dist\",\n \".build\": \"folder-dist\",\n _build: \"folder-dist\",\n __build__: \"folder-dist\",\n release: \"folder-dist\",\n \".release\": \"folder-dist\",\n _release: \"folder-dist\",\n __release__: \"folder-dist\",\n bin: \"folder-dist\",\n \".bin\": \"folder-dist\",\n _bin: \"folder-dist\",\n __bin__: \"folder-dist\",\n css: \"folder-css\",\n \".css\": \"folder-css\",\n _css: \"folder-css\",\n __css__: \"folder-css\",\n stylesheet: \"folder-css\",\n \".stylesheet\": \"folder-css\",\n _stylesheet: \"folder-css\",\n __stylesheet__: \"folder-css\",\n stylesheets: \"folder-css\",\n \".stylesheets\": \"folder-css\",\n _stylesheets: \"folder-css\",\n __stylesheets__: \"folder-css\",\n style: \"folder-css\",\n \".style\": \"folder-css\",\n _style: \"folder-css\",\n __style__: \"folder-css\",\n styles: \"folder-css\",\n \".styles\": \"folder-css\",\n _styles: \"folder-css\",\n __styles__: \"folder-css\",\n sass: \"folder-sass\",\n \".sass\": \"folder-sass\",\n _sass: \"folder-sass\",\n __sass__: \"folder-sass\",\n scss: \"folder-sass\",\n \".scss\": \"folder-sass\",\n _scss: \"folder-sass\",\n __scss__: \"folder-sass\",\n tv: \"folder-television\",\n \".tv\": \"folder-television\",\n _tv: \"folder-television\",\n __tv__: \"folder-television\",\n television: \"folder-television\",\n \".television\": \"folder-television\",\n _television: \"folder-television\",\n __television__: \"folder-television\",\n desktop: \"folder-desktop\",\n \".desktop\": \"folder-desktop\",\n _desktop: \"folder-desktop\",\n __desktop__: \"folder-desktop\",\n console: \"folder-console\",\n \".console\": \"folder-console\",\n _console: \"folder-console\",\n __console__: \"folder-console\",\n images: \"folder-images\",\n \".images\": \"folder-images\",\n _images: \"folder-images\",\n __images__: \"folder-images\",\n image: \"folder-images\",\n \".image\": \"folder-images\",\n _image: \"folder-images\",\n __image__: \"folder-images\",\n imgs: \"folder-images\",\n \".imgs\": \"folder-images\",\n _imgs: \"folder-images\",\n __imgs__: \"folder-images\",\n img: \"folder-images\",\n \".img\": \"folder-images\",\n _img: \"folder-images\",\n __img__: \"folder-images\",\n icons: \"folder-images\",\n \".icons\": \"folder-images\",\n _icons: \"folder-images\",\n __icons__: \"folder-images\",\n icon: \"folder-images\",\n \".icon\": \"folder-images\",\n _icon: \"folder-images\",\n __icon__: \"folder-images\",\n icos: \"folder-images\",\n \".icos\": \"folder-images\",\n _icos: \"folder-images\",\n __icos__: \"folder-images\",\n ico: \"folder-images\",\n \".ico\": \"folder-images\",\n _ico: \"folder-images\",\n __ico__: \"folder-images\",\n figures: \"folder-images\",\n \".figures\": \"folder-images\",\n _figures: \"folder-images\",\n __figures__: \"folder-images\",\n figure: \"folder-images\",\n \".figure\": \"folder-images\",\n _figure: \"folder-images\",\n __figure__: \"folder-images\",\n figs: \"folder-images\",\n \".figs\": \"folder-images\",\n _figs: \"folder-images\",\n __figs__: \"folder-images\",\n fig: \"folder-images\",\n \".fig\": \"folder-images\",\n _fig: \"folder-images\",\n __fig__: \"folder-images\",\n screenshot: \"folder-images\",\n \".screenshot\": \"folder-images\",\n _screenshot: \"folder-images\",\n __screenshot__: \"folder-images\",\n screenshots: \"folder-images\",\n \".screenshots\": \"folder-images\",\n _screenshots: \"folder-images\",\n __screenshots__: \"folder-images\",\n screengrab: \"folder-images\",\n \".screengrab\": \"folder-images\",\n _screengrab: \"folder-images\",\n __screengrab__: \"folder-images\",\n screengrabs: \"folder-images\",\n \".screengrabs\": \"folder-images\",\n _screengrabs: \"folder-images\",\n __screengrabs__: \"folder-images\",\n pic: \"folder-images\",\n \".pic\": \"folder-images\",\n _pic: \"folder-images\",\n __pic__: \"folder-images\",\n pics: \"folder-images\",\n \".pics\": \"folder-images\",\n _pics: \"folder-images\",\n __pics__: \"folder-images\",\n picture: \"folder-images\",\n \".picture\": \"folder-images\",\n _picture: \"folder-images\",\n __picture__: \"folder-images\",\n pictures: \"folder-images\",\n \".pictures\": \"folder-images\",\n _pictures: \"folder-images\",\n __pictures__: \"folder-images\",\n photo: \"folder-images\",\n \".photo\": \"folder-images\",\n _photo: \"folder-images\",\n __photo__: \"folder-images\",\n photos: \"folder-images\",\n \".photos\": \"folder-images\",\n _photos: \"folder-images\",\n __photos__: \"folder-images\",\n photograph: \"folder-images\",\n \".photograph\": \"folder-images\",\n _photograph: \"folder-images\",\n __photograph__: \"folder-images\",\n photographs: \"folder-images\",\n \".photographs\": \"folder-images\",\n _photographs: \"folder-images\",\n __photographs__: \"folder-images\",\n script: \"folder-scripts\",\n \".script\": \"folder-scripts\",\n _script: \"folder-scripts\",\n __script__: \"folder-scripts\",\n scripts: \"folder-scripts\",\n \".scripts\": \"folder-scripts\",\n _scripts: \"folder-scripts\",\n __scripts__: \"folder-scripts\",\n scripting: \"folder-scripts\",\n \".scripting\": \"folder-scripts\",\n _scripting: \"folder-scripts\",\n __scripting__: \"folder-scripts\",\n node_modules: \"folder-node\",\n \".node_modules\": \"folder-node\",\n _node_modules: \"folder-node\",\n __node_modules__: \"folder-node\",\n js: \"folder-javascript\",\n \".js\": \"folder-javascript\",\n _js: \"folder-javascript\",\n __js__: \"folder-javascript\",\n javascript: \"folder-javascript\",\n \".javascript\": \"folder-javascript\",\n _javascript: \"folder-javascript\",\n __javascript__: \"folder-javascript\",\n javascripts: \"folder-javascript\",\n \".javascripts\": \"folder-javascript\",\n _javascripts: \"folder-javascript\",\n __javascripts__: \"folder-javascript\",\n json: \"folder-json\",\n \".json\": \"folder-json\",\n _json: \"folder-json\",\n __json__: \"folder-json\",\n jsons: \"folder-json\",\n \".jsons\": \"folder-json\",\n _jsons: \"folder-json\",\n __jsons__: \"folder-json\",\n font: \"folder-font\",\n \".font\": \"folder-font\",\n _font: \"folder-font\",\n __font__: \"folder-font\",\n fonts: \"folder-font\",\n \".fonts\": \"folder-font\",\n _fonts: \"folder-font\",\n __fonts__: \"folder-font\",\n bower_components: \"folder-bower\",\n \".bower_components\": \"folder-bower\",\n _bower_components: \"folder-bower\",\n __bower_components__: \"folder-bower\",\n test: \"folder-test\",\n \".test\": \"folder-test\",\n _test: \"folder-test\",\n __test__: \"folder-test\",\n tests: \"folder-test\",\n \".tests\": \"folder-test\",\n _tests: \"folder-test\",\n __tests__: \"folder-test\",\n testing: \"folder-test\",\n \".testing\": \"folder-test\",\n _testing: \"folder-test\",\n __testing__: \"folder-test\",\n snapshots: \"folder-test\",\n \".snapshots\": \"folder-test\",\n _snapshots: \"folder-test\",\n __snapshots__: \"folder-test\",\n spec: \"folder-test\",\n \".spec\": \"folder-test\",\n _spec: \"folder-test\",\n __spec__: \"folder-test\",\n specs: \"folder-test\",\n \".specs\": \"folder-test\",\n _specs: \"folder-test\",\n __specs__: \"folder-test\",\n jinja: \"folder-jinja\",\n \".jinja\": \"folder-jinja\",\n _jinja: \"folder-jinja\",\n __jinja__: \"folder-jinja\",\n jinja2: \"folder-jinja\",\n \".jinja2\": \"folder-jinja\",\n _jinja2: \"folder-jinja\",\n __jinja2__: \"folder-jinja\",\n j2: \"folder-jinja\",\n \".j2\": \"folder-jinja\",\n _j2: \"folder-jinja\",\n __j2__: \"folder-jinja\",\n markdown: \"folder-markdown\",\n \".markdown\": \"folder-markdown\",\n _markdown: \"folder-markdown\",\n __markdown__: \"folder-markdown\",\n md: \"folder-markdown\",\n \".md\": \"folder-markdown\",\n _md: \"folder-markdown\",\n __md__: \"folder-markdown\",\n \"pdm-plugins\": \"folder-pdm\",\n \".pdm-plugins\": \"folder-pdm\",\n \"_pdm-plugins\": \"folder-pdm\",\n \"__pdm-plugins__\": \"folder-pdm\",\n \"pdm-build\": \"folder-pdm\",\n \".pdm-build\": \"folder-pdm\",\n \"_pdm-build\": \"folder-pdm\",\n \"__pdm-build__\": \"folder-pdm\",\n php: \"folder-php\",\n \".php\": \"folder-php\",\n _php: \"folder-php\",\n __php__: \"folder-php\",\n phpmailer: \"folder-phpmailer\",\n \".phpmailer\": \"folder-phpmailer\",\n _phpmailer: \"folder-phpmailer\",\n __phpmailer__: \"folder-phpmailer\",\n sublime: \"folder-sublime\",\n \".sublime\": \"folder-sublime\",\n _sublime: \"folder-sublime\",\n __sublime__: \"folder-sublime\",\n doc: \"folder-docs\",\n \".doc\": \"folder-docs\",\n _doc: \"folder-docs\",\n __doc__: \"folder-docs\",\n docs: \"folder-docs\",\n \".docs\": \"folder-docs\",\n _docs: \"folder-docs\",\n __docs__: \"folder-docs\",\n document: \"folder-docs\",\n \".document\": \"folder-docs\",\n _document: \"folder-docs\",\n __document__: \"folder-docs\",\n documents: \"folder-docs\",\n \".documents\": \"folder-docs\",\n _documents: \"folder-docs\",\n __documents__: \"folder-docs\",\n documentation: \"folder-docs\",\n \".documentation\": \"folder-docs\",\n _documentation: \"folder-docs\",\n __documentation__: \"folder-docs\",\n post: \"folder-docs\",\n \".post\": \"folder-docs\",\n _post: \"folder-docs\",\n __post__: \"folder-docs\",\n posts: \"folder-docs\",\n \".posts\": \"folder-docs\",\n _posts: \"folder-docs\",\n __posts__: \"folder-docs\",\n article: \"folder-docs\",\n \".article\": \"folder-docs\",\n _article: \"folder-docs\",\n __article__: \"folder-docs\",\n articles: \"folder-docs\",\n \".articles\": \"folder-docs\",\n _articles: \"folder-docs\",\n __articles__: \"folder-docs\",\n git: \"folder-git\",\n \".git\": \"folder-git\",\n _git: \"folder-git\",\n __git__: \"folder-git\",\n patches: \"folder-git\",\n \".patches\": \"folder-git\",\n _patches: \"folder-git\",\n __patches__: \"folder-git\",\n githooks: \"folder-git\",\n \".githooks\": \"folder-git\",\n _githooks: \"folder-git\",\n __githooks__: \"folder-git\",\n submodules: \"folder-git\",\n \".submodules\": \"folder-git\",\n _submodules: \"folder-git\",\n __submodules__: \"folder-git\",\n github: \"folder-github\",\n \".github\": \"folder-github\",\n _github: \"folder-github\",\n __github__: \"folder-github\",\n gitlab: \"folder-gitlab\",\n \".gitlab\": \"folder-gitlab\",\n _gitlab: \"folder-gitlab\",\n __gitlab__: \"folder-gitlab\",\n vscode: \"folder-vscode\",\n \".vscode\": \"folder-vscode\",\n _vscode: \"folder-vscode\",\n __vscode__: \"folder-vscode\",\n \"vscode-test\": \"folder-vscode\",\n \".vscode-test\": \"folder-vscode\",\n \"_vscode-test\": \"folder-vscode\",\n \"__vscode-test__\": \"folder-vscode\",\n view: \"folder-views\",\n \".view\": \"folder-views\",\n _view: \"folder-views\",\n __view__: \"folder-views\",\n views: \"folder-views\",\n \".views\": \"folder-views\",\n _views: \"folder-views\",\n __views__: \"folder-views\",\n screen: \"folder-views\",\n \".screen\": \"folder-views\",\n _screen: \"folder-views\",\n __screen__: \"folder-views\",\n screens: \"folder-views\",\n \".screens\": \"folder-views\",\n _screens: \"folder-views\",\n __screens__: \"folder-views\",\n page: \"folder-views\",\n \".page\": \"folder-views\",\n _page: \"folder-views\",\n __page__: \"folder-views\",\n pages: \"folder-views\",\n \".pages\": \"folder-views\",\n _pages: \"folder-views\",\n __pages__: \"folder-views\",\n public_html: \"folder-views\",\n \".public_html\": \"folder-views\",\n _public_html: \"folder-views\",\n __public_html__: \"folder-views\",\n html: \"folder-views\",\n \".html\": \"folder-views\",\n _html: \"folder-views\",\n __html__: \"folder-views\",\n vue: \"folder-vue\",\n \".vue\": \"folder-vue\",\n _vue: \"folder-vue\",\n __vue__: \"folder-vue\",\n vuepress: \"folder-vuepress\",\n \".vuepress\": \"folder-vuepress\",\n _vuepress: \"folder-vuepress\",\n __vuepress__: \"folder-vuepress\",\n expo: \"folder-expo\",\n \".expo\": \"folder-expo\",\n _expo: \"folder-expo\",\n __expo__: \"folder-expo\",\n \"expo-shared\": \"folder-expo\",\n \".expo-shared\": \"folder-expo\",\n \"_expo-shared\": \"folder-expo\",\n \"__expo-shared__\": \"folder-expo\",\n cfg: \"folder-config\",\n \".cfg\": \"folder-config\",\n _cfg: \"folder-config\",\n __cfg__: \"folder-config\",\n cfgs: \"folder-config\",\n \".cfgs\": \"folder-config\",\n _cfgs: \"folder-config\",\n __cfgs__: \"folder-config\",\n conf: \"folder-config\",\n \".conf\": \"folder-config\",\n _conf: \"folder-config\",\n __conf__: \"folder-config\",\n confs: \"folder-config\",\n \".confs\": \"folder-config\",\n _confs: \"folder-config\",\n __confs__: \"folder-config\",\n config: \"folder-config\",\n \".config\": \"folder-config\",\n _config: \"folder-config\",\n __config__: \"folder-config\",\n configs: \"folder-config\",\n \".configs\": \"folder-config\",\n _configs: \"folder-config\",\n __configs__: \"folder-config\",\n configuration: \"folder-config\",\n \".configuration\": \"folder-config\",\n _configuration: \"folder-config\",\n __configuration__: \"folder-config\",\n configurations: \"folder-config\",\n \".configurations\": \"folder-config\",\n _configurations: \"folder-config\",\n __configurations__: \"folder-config\",\n setting: \"folder-config\",\n \".setting\": \"folder-config\",\n _setting: \"folder-config\",\n __setting__: \"folder-config\",\n settings: \"folder-config\",\n \".settings\": \"folder-config\",\n _settings: \"folder-config\",\n __settings__: \"folder-config\",\n \"META-INF\": \"folder-config\",\n \".META-INF\": \"folder-config\",\n \"_META-INF\": \"folder-config\",\n \"__META-INF__\": \"folder-config\",\n option: \"folder-config\",\n \".option\": \"folder-config\",\n _option: \"folder-config\",\n __option__: \"folder-config\",\n options: \"folder-config\",\n \".options\": \"folder-config\",\n _options: \"folder-config\",\n __options__: \"folder-config\",\n i18n: \"folder-i18n\",\n \".i18n\": \"folder-i18n\",\n _i18n: \"folder-i18n\",\n __i18n__: \"folder-i18n\",\n internationalization: \"folder-i18n\",\n \".internationalization\": \"folder-i18n\",\n _internationalization: \"folder-i18n\",\n __internationalization__: \"folder-i18n\",\n lang: \"folder-i18n\",\n \".lang\": \"folder-i18n\",\n _lang: \"folder-i18n\",\n __lang__: \"folder-i18n\",\n langs: \"folder-i18n\",\n \".langs\": \"folder-i18n\",\n _langs: \"folder-i18n\",\n __langs__: \"folder-i18n\",\n language: \"folder-i18n\",\n \".language\": \"folder-i18n\",\n _language: \"folder-i18n\",\n __language__: \"folder-i18n\",\n languages: \"folder-i18n\",\n \".languages\": \"folder-i18n\",\n _languages: \"folder-i18n\",\n __languages__: \"folder-i18n\",\n locale: \"folder-i18n\",\n \".locale\": \"folder-i18n\",\n _locale: \"folder-i18n\",\n __locale__: \"folder-i18n\",\n locales: \"folder-i18n\",\n \".locales\": \"folder-i18n\",\n _locales: \"folder-i18n\",\n __locales__: \"folder-i18n\",\n l10n: \"folder-i18n\",\n \".l10n\": \"folder-i18n\",\n _l10n: \"folder-i18n\",\n __l10n__: \"folder-i18n\",\n localization: \"folder-i18n\",\n \".localization\": \"folder-i18n\",\n _localization: \"folder-i18n\",\n __localization__: \"folder-i18n\",\n translation: \"folder-i18n\",\n \".translation\": \"folder-i18n\",\n _translation: \"folder-i18n\",\n __translation__: \"folder-i18n\",\n translate: \"folder-i18n\",\n \".translate\": \"folder-i18n\",\n _translate: \"folder-i18n\",\n __translate__: \"folder-i18n\",\n translations: \"folder-i18n\",\n \".translations\": \"folder-i18n\",\n _translations: \"folder-i18n\",\n __translations__: \"folder-i18n\",\n tx: \"folder-i18n\",\n \".tx\": \"folder-i18n\",\n _tx: \"folder-i18n\",\n __tx__: \"folder-i18n\",\n components: \"folder-components\",\n \".components\": \"folder-components\",\n _components: \"folder-components\",\n __components__: \"folder-components\",\n widget: \"folder-components\",\n \".widget\": \"folder-components\",\n _widget: \"folder-components\",\n __widget__: \"folder-components\",\n widgets: \"folder-components\",\n \".widgets\": \"folder-components\",\n _widgets: \"folder-components\",\n __widgets__: \"folder-components\",\n fragments: \"folder-components\",\n \".fragments\": \"folder-components\",\n _fragments: \"folder-components\",\n __fragments__: \"folder-components\",\n verdaccio: \"folder-verdaccio\",\n \".verdaccio\": \"folder-verdaccio\",\n _verdaccio: \"folder-verdaccio\",\n __verdaccio__: \"folder-verdaccio\",\n aurelia_project: \"folder-aurelia\",\n \".aurelia_project\": \"folder-aurelia\",\n _aurelia_project: \"folder-aurelia\",\n __aurelia_project__: \"folder-aurelia\",\n resource: \"folder-resource\",\n \".resource\": \"folder-resource\",\n _resource: \"folder-resource\",\n __resource__: \"folder-resource\",\n resources: \"folder-resource\",\n \".resources\": \"folder-resource\",\n _resources: \"folder-resource\",\n __resources__: \"folder-resource\",\n res: \"folder-resource\",\n \".res\": \"folder-resource\",\n _res: \"folder-resource\",\n __res__: \"folder-resource\",\n asset: \"folder-resource\",\n \".asset\": \"folder-resource\",\n _asset: \"folder-resource\",\n __asset__: \"folder-resource\",\n assets: \"folder-resource\",\n \".assets\": \"folder-resource\",\n _assets: \"folder-resource\",\n __assets__: \"folder-resource\",\n static: \"folder-resource\",\n \".static\": \"folder-resource\",\n _static: \"folder-resource\",\n __static__: \"folder-resource\",\n report: \"folder-resource\",\n \".report\": \"folder-resource\",\n _report: \"folder-resource\",\n __report__: \"folder-resource\",\n reports: \"folder-resource\",\n \".reports\": \"folder-resource\",\n _reports: \"folder-resource\",\n __reports__: \"folder-resource\",\n lib: \"folder-lib\",\n \".lib\": \"folder-lib\",\n _lib: \"folder-lib\",\n __lib__: \"folder-lib\",\n libs: \"folder-lib\",\n \".libs\": \"folder-lib\",\n _libs: \"folder-lib\",\n __libs__: \"folder-lib\",\n library: \"folder-lib\",\n \".library\": \"folder-lib\",\n _library: \"folder-lib\",\n __library__: \"folder-lib\",\n libraries: \"folder-lib\",\n \".libraries\": \"folder-lib\",\n _libraries: \"folder-lib\",\n __libraries__: \"folder-lib\",\n vendor: \"folder-lib\",\n \".vendor\": \"folder-lib\",\n _vendor: \"folder-lib\",\n __vendor__: \"folder-lib\",\n vendors: \"folder-lib\",\n \".vendors\": \"folder-lib\",\n _vendors: \"folder-lib\",\n __vendors__: \"folder-lib\",\n \"third-party\": \"folder-lib\",\n \".third-party\": \"folder-lib\",\n \"_third-party\": \"folder-lib\",\n \"__third-party__\": \"folder-lib\",\n themes: \"folder-theme\",\n \".themes\": \"folder-theme\",\n _themes: \"folder-theme\",\n __themes__: \"folder-theme\",\n theme: \"folder-theme\",\n \".theme\": \"folder-theme\",\n _theme: \"folder-theme\",\n __theme__: \"folder-theme\",\n color: \"folder-theme\",\n \".color\": \"folder-theme\",\n _color: \"folder-theme\",\n __color__: \"folder-theme\",\n colors: \"folder-theme\",\n \".colors\": \"folder-theme\",\n _colors: \"folder-theme\",\n __colors__: \"folder-theme\",\n design: \"folder-theme\",\n \".design\": \"folder-theme\",\n _design: \"folder-theme\",\n __design__: \"folder-theme\",\n designs: \"folder-theme\",\n \".designs\": \"folder-theme\",\n _designs: \"folder-theme\",\n __designs__: \"folder-theme\",\n webpack: \"folder-webpack\",\n \".webpack\": \"folder-webpack\",\n _webpack: \"folder-webpack\",\n __webpack__: \"folder-webpack\",\n global: \"folder-global\",\n \".global\": \"folder-global\",\n _global: \"folder-global\",\n __global__: \"folder-global\",\n public: \"folder-public\",\n \".public\": \"folder-public\",\n _public: \"folder-public\",\n __public__: \"folder-public\",\n www: \"folder-public\",\n \".www\": \"folder-public\",\n _www: \"folder-public\",\n __www__: \"folder-public\",\n wwwroot: \"folder-public\",\n \".wwwroot\": \"folder-public\",\n _wwwroot: \"folder-public\",\n __wwwroot__: \"folder-public\",\n web: \"folder-public\",\n \".web\": \"folder-public\",\n _web: \"folder-public\",\n __web__: \"folder-public\",\n website: \"folder-public\",\n \".website\": \"folder-public\",\n _website: \"folder-public\",\n __website__: \"folder-public\",\n site: \"folder-public\",\n \".site\": \"folder-public\",\n _site: \"folder-public\",\n __site__: \"folder-public\",\n browser: \"folder-public\",\n \".browser\": \"folder-public\",\n _browser: \"folder-public\",\n __browser__: \"folder-public\",\n browsers: \"folder-public\",\n \".browsers\": \"folder-public\",\n _browsers: \"folder-public\",\n __browsers__: \"folder-public\",\n inc: \"folder-include\",\n \".inc\": \"folder-include\",\n _inc: \"folder-include\",\n __inc__: \"folder-include\",\n include: \"folder-include\",\n \".include\": \"folder-include\",\n _include: \"folder-include\",\n __include__: \"folder-include\",\n includes: \"folder-include\",\n \".includes\": \"folder-include\",\n _includes: \"folder-include\",\n __includes__: \"folder-include\",\n partial: \"folder-include\",\n \".partial\": \"folder-include\",\n _partial: \"folder-include\",\n __partial__: \"folder-include\",\n partials: \"folder-include\",\n \".partials\": \"folder-include\",\n _partials: \"folder-include\",\n __partials__: \"folder-include\",\n docker: \"folder-docker\",\n \".docker\": \"folder-docker\",\n _docker: \"folder-docker\",\n __docker__: \"folder-docker\",\n dockerfiles: \"folder-docker\",\n \".dockerfiles\": \"folder-docker\",\n _dockerfiles: \"folder-docker\",\n __dockerfiles__: \"folder-docker\",\n db: \"folder-database\",\n \".db\": \"folder-database\",\n _db: \"folder-database\",\n __db__: \"folder-database\",\n data: \"folder-database\",\n \".data\": \"folder-database\",\n _data: \"folder-database\",\n __data__: \"folder-database\",\n database: \"folder-database\",\n \".database\": \"folder-database\",\n _database: \"folder-database\",\n __database__: \"folder-database\",\n databases: \"folder-database\",\n \".databases\": \"folder-database\",\n _databases: \"folder-database\",\n __databases__: \"folder-database\",\n sql: \"folder-database\",\n \".sql\": \"folder-database\",\n _sql: \"folder-database\",\n __sql__: \"folder-database\",\n log: \"folder-log\",\n \".log\": \"folder-log\",\n _log: \"folder-log\",\n __log__: \"folder-log\",\n logs: \"folder-log\",\n \".logs\": \"folder-log\",\n _logs: \"folder-log\",\n __logs__: \"folder-log\",\n logging: \"folder-log\",\n \".logging\": \"folder-log\",\n _logging: \"folder-log\",\n __logging__: \"folder-log\",\n target: \"folder-target\",\n \".target\": \"folder-target\",\n _target: \"folder-target\",\n __target__: \"folder-target\",\n temp: \"folder-temp\",\n \".temp\": \"folder-temp\",\n _temp: \"folder-temp\",\n __temp__: \"folder-temp\",\n tmp: \"folder-temp\",\n \".tmp\": \"folder-temp\",\n _tmp: \"folder-temp\",\n __tmp__: \"folder-temp\",\n cached: \"folder-temp\",\n \".cached\": \"folder-temp\",\n _cached: \"folder-temp\",\n __cached__: \"folder-temp\",\n cache: \"folder-temp\",\n \".cache\": \"folder-temp\",\n _cache: \"folder-temp\",\n __cache__: \"folder-temp\",\n aws: \"folder-aws\",\n \".aws\": \"folder-aws\",\n _aws: \"folder-aws\",\n __aws__: \"folder-aws\",\n aud: \"folder-audio\",\n \".aud\": \"folder-audio\",\n _aud: \"folder-audio\",\n __aud__: \"folder-audio\",\n auds: \"folder-audio\",\n \".auds\": \"folder-audio\",\n _auds: \"folder-audio\",\n __auds__: \"folder-audio\",\n audio: \"folder-audio\",\n \".audio\": \"folder-audio\",\n _audio: \"folder-audio\",\n __audio__: \"folder-audio\",\n audios: \"folder-audio\",\n \".audios\": \"folder-audio\",\n _audios: \"folder-audio\",\n __audios__: \"folder-audio\",\n music: \"folder-audio\",\n \".music\": \"folder-audio\",\n _music: \"folder-audio\",\n __music__: \"folder-audio\",\n sound: \"folder-audio\",\n \".sound\": \"folder-audio\",\n _sound: \"folder-audio\",\n __sound__: \"folder-audio\",\n sounds: \"folder-audio\",\n \".sounds\": \"folder-audio\",\n _sounds: \"folder-audio\",\n __sounds__: \"folder-audio\",\n vid: \"folder-video\",\n \".vid\": \"folder-video\",\n _vid: \"folder-video\",\n __vid__: \"folder-video\",\n vids: \"folder-video\",\n \".vids\": \"folder-video\",\n _vids: \"folder-video\",\n __vids__: \"folder-video\",\n video: \"folder-video\",\n \".video\": \"folder-video\",\n _video: \"folder-video\",\n __video__: \"folder-video\",\n videos: \"folder-video\",\n \".videos\": \"folder-video\",\n _videos: \"folder-video\",\n __videos__: \"folder-video\",\n movie: \"folder-video\",\n \".movie\": \"folder-video\",\n _movie: \"folder-video\",\n __movie__: \"folder-video\",\n movies: \"folder-video\",\n \".movies\": \"folder-video\",\n _movies: \"folder-video\",\n __movies__: \"folder-video\",\n kubernetes: \"folder-kubernetes\",\n \".kubernetes\": \"folder-kubernetes\",\n _kubernetes: \"folder-kubernetes\",\n __kubernetes__: \"folder-kubernetes\",\n k8s: \"folder-kubernetes\",\n \".k8s\": \"folder-kubernetes\",\n _k8s: \"folder-kubernetes\",\n __k8s__: \"folder-kubernetes\",\n import: \"folder-import\",\n \".import\": \"folder-import\",\n _import: \"folder-import\",\n __import__: \"folder-import\",\n imports: \"folder-import\",\n \".imports\": \"folder-import\",\n _imports: \"folder-import\",\n __imports__: \"folder-import\",\n imported: \"folder-import\",\n \".imported\": \"folder-import\",\n _imported: \"folder-import\",\n __imported__: \"folder-import\",\n export: \"folder-export\",\n \".export\": \"folder-export\",\n _export: \"folder-export\",\n __export__: \"folder-export\",\n exports: \"folder-export\",\n \".exports\": \"folder-export\",\n _exports: \"folder-export\",\n __exports__: \"folder-export\",\n exported: \"folder-export\",\n \".exported\": \"folder-export\",\n _exported: \"folder-export\",\n __exported__: \"folder-export\",\n wakatime: \"folder-wakatime\",\n \".wakatime\": \"folder-wakatime\",\n _wakatime: \"folder-wakatime\",\n __wakatime__: \"folder-wakatime\",\n circleci: \"folder-circleci\",\n \".circleci\": \"folder-circleci\",\n _circleci: \"folder-circleci\",\n __circleci__: \"folder-circleci\",\n \"wordpress-org\": \"folder-wordpress\",\n \".wordpress-org\": \"folder-wordpress\",\n \"_wordpress-org\": \"folder-wordpress\",\n \"__wordpress-org__\": \"folder-wordpress\",\n \"wp-content\": \"folder-wordpress\",\n \".wp-content\": \"folder-wordpress\",\n \"_wp-content\": \"folder-wordpress\",\n \"__wp-content__\": \"folder-wordpress\",\n gradle: \"folder-gradle\",\n \".gradle\": \"folder-gradle\",\n _gradle: \"folder-gradle\",\n __gradle__: \"folder-gradle\",\n coverage: \"folder-coverage\",\n \".coverage\": \"folder-coverage\",\n _coverage: \"folder-coverage\",\n __coverage__: \"folder-coverage\",\n \"nyc-output\": \"folder-coverage\",\n \".nyc-output\": \"folder-coverage\",\n \"_nyc-output\": \"folder-coverage\",\n \"__nyc-output__\": \"folder-coverage\",\n nyc_output: \"folder-coverage\",\n \".nyc_output\": \"folder-coverage\",\n _nyc_output: \"folder-coverage\",\n __nyc_output__: \"folder-coverage\",\n e2e: \"folder-coverage\",\n \".e2e\": \"folder-coverage\",\n _e2e: \"folder-coverage\",\n __e2e__: \"folder-coverage\",\n it: \"folder-coverage\",\n \".it\": \"folder-coverage\",\n _it: \"folder-coverage\",\n __it__: \"folder-coverage\",\n \"integration-test\": \"folder-coverage\",\n \".integration-test\": \"folder-coverage\",\n \"_integration-test\": \"folder-coverage\",\n \"__integration-test__\": \"folder-coverage\",\n \"integration-tests\": \"folder-coverage\",\n \".integration-tests\": \"folder-coverage\",\n \"_integration-tests\": \"folder-coverage\",\n \"__integration-tests__\": \"folder-coverage\",\n class: \"folder-class\",\n \".class\": \"folder-class\",\n _class: \"folder-class\",\n __class__: \"folder-class\",\n classes: \"folder-class\",\n \".classes\": \"folder-class\",\n _classes: \"folder-class\",\n __classes__: \"folder-class\",\n model: \"folder-class\",\n \".model\": \"folder-class\",\n _model: \"folder-class\",\n __model__: \"folder-class\",\n models: \"folder-class\",\n \".models\": \"folder-class\",\n _models: \"folder-class\",\n __models__: \"folder-class\",\n schemas: \"folder-class\",\n \".schemas\": \"folder-class\",\n _schemas: \"folder-class\",\n __schemas__: \"folder-class\",\n schema: \"folder-class\",\n \".schema\": \"folder-class\",\n _schema: \"folder-class\",\n __schema__: \"folder-class\",\n other: \"folder-other\",\n \".other\": \"folder-other\",\n _other: \"folder-other\",\n __other__: \"folder-other\",\n others: \"folder-other\",\n \".others\": \"folder-other\",\n _others: \"folder-other\",\n __others__: \"folder-other\",\n misc: \"folder-other\",\n \".misc\": \"folder-other\",\n _misc: \"folder-other\",\n __misc__: \"folder-other\",\n miscellaneous: \"folder-other\",\n \".miscellaneous\": \"folder-other\",\n _miscellaneous: \"folder-other\",\n __miscellaneous__: \"folder-other\",\n extra: \"folder-other\",\n \".extra\": \"folder-other\",\n _extra: \"folder-other\",\n __extra__: \"folder-other\",\n extras: \"folder-other\",\n \".extras\": \"folder-other\",\n _extras: \"folder-other\",\n __extras__: \"folder-other\",\n etc: \"folder-other\",\n \".etc\": \"folder-other\",\n _etc: \"folder-other\",\n __etc__: \"folder-other\",\n lua: \"folder-lua\",\n \".lua\": \"folder-lua\",\n _lua: \"folder-lua\",\n __lua__: \"folder-lua\",\n typescript: \"folder-typescript\",\n \".typescript\": \"folder-typescript\",\n _typescript: \"folder-typescript\",\n __typescript__: \"folder-typescript\",\n ts: \"folder-typescript\",\n \".ts\": \"folder-typescript\",\n _ts: \"folder-typescript\",\n __ts__: \"folder-typescript\",\n typings: \"folder-typescript\",\n \".typings\": \"folder-typescript\",\n _typings: \"folder-typescript\",\n __typings__: \"folder-typescript\",\n \"@types\": \"folder-typescript\",\n \".@types\": \"folder-typescript\",\n \"_@types\": \"folder-typescript\",\n \"__@types__\": \"folder-typescript\",\n types: \"folder-typescript\",\n \".types\": \"folder-typescript\",\n _types: \"folder-typescript\",\n __types__: \"folder-typescript\",\n graphql: \"folder-graphql\",\n \".graphql\": \"folder-graphql\",\n _graphql: \"folder-graphql\",\n __graphql__: \"folder-graphql\",\n gql: \"folder-graphql\",\n \".gql\": \"folder-graphql\",\n _gql: \"folder-graphql\",\n __gql__: \"folder-graphql\",\n routes: \"folder-routes\",\n \".routes\": \"folder-routes\",\n _routes: \"folder-routes\",\n __routes__: \"folder-routes\",\n router: \"folder-routes\",\n \".router\": \"folder-routes\",\n _router: \"folder-routes\",\n __router__: \"folder-routes\",\n routers: \"folder-routes\",\n \".routers\": \"folder-routes\",\n _routers: \"folder-routes\",\n __routers__: \"folder-routes\",\n ci: \"folder-ci\",\n \".ci\": \"folder-ci\",\n _ci: \"folder-ci\",\n __ci__: \"folder-ci\",\n benchmark: \"folder-benchmark\",\n \".benchmark\": \"folder-benchmark\",\n _benchmark: \"folder-benchmark\",\n __benchmark__: \"folder-benchmark\",\n benchmarks: \"folder-benchmark\",\n \".benchmarks\": \"folder-benchmark\",\n _benchmarks: \"folder-benchmark\",\n __benchmarks__: \"folder-benchmark\",\n performance: \"folder-benchmark\",\n \".performance\": \"folder-benchmark\",\n _performance: \"folder-benchmark\",\n __performance__: \"folder-benchmark\",\n measure: \"folder-benchmark\",\n \".measure\": \"folder-benchmark\",\n _measure: \"folder-benchmark\",\n __measure__: \"folder-benchmark\",\n measures: \"folder-benchmark\",\n \".measures\": \"folder-benchmark\",\n _measures: \"folder-benchmark\",\n __measures__: \"folder-benchmark\",\n measurement: \"folder-benchmark\",\n \".measurement\": \"folder-benchmark\",\n _measurement: \"folder-benchmark\",\n __measurement__: \"folder-benchmark\",\n messages: \"folder-messages\",\n \".messages\": \"folder-messages\",\n _messages: \"folder-messages\",\n __messages__: \"folder-messages\",\n messaging: \"folder-messages\",\n \".messaging\": \"folder-messages\",\n _messaging: \"folder-messages\",\n __messaging__: \"folder-messages\",\n forum: \"folder-messages\",\n \".forum\": \"folder-messages\",\n _forum: \"folder-messages\",\n __forum__: \"folder-messages\",\n chat: \"folder-messages\",\n \".chat\": \"folder-messages\",\n _chat: \"folder-messages\",\n __chat__: \"folder-messages\",\n chats: \"folder-messages\",\n \".chats\": \"folder-messages\",\n _chats: \"folder-messages\",\n __chats__: \"folder-messages\",\n conversation: \"folder-messages\",\n \".conversation\": \"folder-messages\",\n _conversation: \"folder-messages\",\n __conversation__: \"folder-messages\",\n conversations: \"folder-messages\",\n \".conversations\": \"folder-messages\",\n _conversations: \"folder-messages\",\n __conversations__: \"folder-messages\",\n less: \"folder-less\",\n \".less\": \"folder-less\",\n _less: \"folder-less\",\n __less__: \"folder-less\",\n gulp: \"folder-gulp\",\n \".gulp\": \"folder-gulp\",\n _gulp: \"folder-gulp\",\n __gulp__: \"folder-gulp\",\n \"gulp-tasks\": \"folder-gulp\",\n \".gulp-tasks\": \"folder-gulp\",\n \"_gulp-tasks\": \"folder-gulp\",\n \"__gulp-tasks__\": \"folder-gulp\",\n \"gulpfile.js\": \"folder-gulp\",\n \".gulpfile.js\": \"folder-gulp\",\n \"_gulpfile.js\": \"folder-gulp\",\n \"__gulpfile.js__\": \"folder-gulp\",\n \"gulpfile.mjs\": \"folder-gulp\",\n \".gulpfile.mjs\": \"folder-gulp\",\n \"_gulpfile.mjs\": \"folder-gulp\",\n \"__gulpfile.mjs__\": \"folder-gulp\",\n \"gulpfile.ts\": \"folder-gulp\",\n \".gulpfile.ts\": \"folder-gulp\",\n \"_gulpfile.ts\": \"folder-gulp\",\n \"__gulpfile.ts__\": \"folder-gulp\",\n \"gulpfile.babel.js\": \"folder-gulp\",\n \".gulpfile.babel.js\": \"folder-gulp\",\n \"_gulpfile.babel.js\": \"folder-gulp\",\n \"__gulpfile.babel.js__\": \"folder-gulp\",\n python: \"folder-python\",\n \".python\": \"folder-python\",\n _python: \"folder-python\",\n __python__: \"folder-python\",\n pycache: \"folder-python\",\n \".pycache\": \"folder-python\",\n _pycache: \"folder-python\",\n __pycache__: \"folder-python\",\n pytest_cache: \"folder-python\",\n \".pytest_cache\": \"folder-python\",\n _pytest_cache: \"folder-python\",\n __pytest_cache__: \"folder-python\",\n mojo: \"folder-mojo\",\n \".mojo\": \"folder-mojo\",\n _mojo: \"folder-mojo\",\n __mojo__: \"folder-mojo\",\n moon: \"folder-moon\",\n \".moon\": \"folder-moon\",\n _moon: \"folder-moon\",\n __moon__: \"folder-moon\",\n debug: \"folder-debug\",\n \".debug\": \"folder-debug\",\n _debug: \"folder-debug\",\n __debug__: \"folder-debug\",\n debugging: \"folder-debug\",\n \".debugging\": \"folder-debug\",\n _debugging: \"folder-debug\",\n __debugging__: \"folder-debug\",\n fastlane: \"folder-fastlane\",\n \".fastlane\": \"folder-fastlane\",\n _fastlane: \"folder-fastlane\",\n __fastlane__: \"folder-fastlane\",\n plugin: \"folder-plugin\",\n \".plugin\": \"folder-plugin\",\n _plugin: \"folder-plugin\",\n __plugin__: \"folder-plugin\",\n plugins: \"folder-plugin\",\n \".plugins\": \"folder-plugin\",\n _plugins: \"folder-plugin\",\n __plugins__: \"folder-plugin\",\n mod: \"folder-plugin\",\n \".mod\": \"folder-plugin\",\n _mod: \"folder-plugin\",\n __mod__: \"folder-plugin\",\n mods: \"folder-plugin\",\n \".mods\": \"folder-plugin\",\n _mods: \"folder-plugin\",\n __mods__: \"folder-plugin\",\n modding: \"folder-plugin\",\n \".modding\": \"folder-plugin\",\n _modding: \"folder-plugin\",\n __modding__: \"folder-plugin\",\n extension: \"folder-plugin\",\n \".extension\": \"folder-plugin\",\n _extension: \"folder-plugin\",\n __extension__: \"folder-plugin\",\n extensions: \"folder-plugin\",\n \".extensions\": \"folder-plugin\",\n _extensions: \"folder-plugin\",\n __extensions__: \"folder-plugin\",\n addon: \"folder-plugin\",\n \".addon\": \"folder-plugin\",\n _addon: \"folder-plugin\",\n __addon__: \"folder-plugin\",\n addons: \"folder-plugin\",\n \".addons\": \"folder-plugin\",\n _addons: \"folder-plugin\",\n __addons__: \"folder-plugin\",\n module: \"folder-plugin\",\n \".module\": \"folder-plugin\",\n _module: \"folder-plugin\",\n __module__: \"folder-plugin\",\n modules: \"folder-plugin\",\n \".modules\": \"folder-plugin\",\n _modules: \"folder-plugin\",\n __modules__: \"folder-plugin\",\n middleware: \"folder-middleware\",\n \".middleware\": \"folder-middleware\",\n _middleware: \"folder-middleware\",\n __middleware__: \"folder-middleware\",\n middlewares: \"folder-middleware\",\n \".middlewares\": \"folder-middleware\",\n _middlewares: \"folder-middleware\",\n __middlewares__: \"folder-middleware\",\n controller: \"folder-controller\",\n \".controller\": \"folder-controller\",\n _controller: \"folder-controller\",\n __controller__: \"folder-controller\",\n controllers: \"folder-controller\",\n \".controllers\": \"folder-controller\",\n _controllers: \"folder-controller\",\n __controllers__: \"folder-controller\",\n service: \"folder-controller\",\n \".service\": \"folder-controller\",\n _service: \"folder-controller\",\n __service__: \"folder-controller\",\n services: \"folder-controller\",\n \".services\": \"folder-controller\",\n _services: \"folder-controller\",\n __services__: \"folder-controller\",\n provider: \"folder-controller\",\n \".provider\": \"folder-controller\",\n _provider: \"folder-controller\",\n __provider__: \"folder-controller\",\n providers: \"folder-controller\",\n \".providers\": \"folder-controller\",\n _providers: \"folder-controller\",\n __providers__: \"folder-controller\",\n handler: \"folder-controller\",\n \".handler\": \"folder-controller\",\n _handler: \"folder-controller\",\n __handler__: \"folder-controller\",\n handlers: \"folder-controller\",\n \".handlers\": \"folder-controller\",\n _handlers: \"folder-controller\",\n __handlers__: \"folder-controller\",\n ansible: \"folder-ansible\",\n \".ansible\": \"folder-ansible\",\n _ansible: \"folder-ansible\",\n __ansible__: \"folder-ansible\",\n server: \"folder-server\",\n \".server\": \"folder-server\",\n _server: \"folder-server\",\n __server__: \"folder-server\",\n servers: \"folder-server\",\n \".servers\": \"folder-server\",\n _servers: \"folder-server\",\n __servers__: \"folder-server\",\n backend: \"folder-server\",\n \".backend\": \"folder-server\",\n _backend: \"folder-server\",\n __backend__: \"folder-server\",\n backends: \"folder-server\",\n \".backends\": \"folder-server\",\n _backends: \"folder-server\",\n __backends__: \"folder-server\",\n client: \"folder-client\",\n \".client\": \"folder-client\",\n _client: \"folder-client\",\n __client__: \"folder-client\",\n clients: \"folder-client\",\n \".clients\": \"folder-client\",\n _clients: \"folder-client\",\n __clients__: \"folder-client\",\n frontend: \"folder-client\",\n \".frontend\": \"folder-client\",\n _frontend: \"folder-client\",\n __frontend__: \"folder-client\",\n frontends: \"folder-client\",\n \".frontends\": \"folder-client\",\n _frontends: \"folder-client\",\n __frontends__: \"folder-client\",\n pwa: \"folder-client\",\n \".pwa\": \"folder-client\",\n _pwa: \"folder-client\",\n __pwa__: \"folder-client\",\n tasks: \"folder-tasks\",\n \".tasks\": \"folder-tasks\",\n _tasks: \"folder-tasks\",\n __tasks__: \"folder-tasks\",\n tickets: \"folder-tasks\",\n \".tickets\": \"folder-tasks\",\n _tickets: \"folder-tasks\",\n __tickets__: \"folder-tasks\",\n android: \"folder-android\",\n \".android\": \"folder-android\",\n _android: \"folder-android\",\n __android__: \"folder-android\",\n ios: \"folder-ios\",\n \".ios\": \"folder-ios\",\n _ios: \"folder-ios\",\n __ios__: \"folder-ios\",\n uploads: \"folder-upload\",\n \".uploads\": \"folder-upload\",\n _uploads: \"folder-upload\",\n __uploads__: \"folder-upload\",\n upload: \"folder-upload\",\n \".upload\": \"folder-upload\",\n _upload: \"folder-upload\",\n __upload__: \"folder-upload\",\n downloads: \"folder-download\",\n \".downloads\": \"folder-download\",\n _downloads: \"folder-download\",\n __downloads__: \"folder-download\",\n download: \"folder-download\",\n \".download\": \"folder-download\",\n _download: \"folder-download\",\n __download__: \"folder-download\",\n tools: \"folder-tools\",\n \".tools\": \"folder-tools\",\n _tools: \"folder-tools\",\n __tools__: \"folder-tools\",\n toolkit: \"folder-tools\",\n \".toolkit\": \"folder-tools\",\n _toolkit: \"folder-tools\",\n __toolkit__: \"folder-tools\",\n toolkits: \"folder-tools\",\n \".toolkits\": \"folder-tools\",\n _toolkits: \"folder-tools\",\n __toolkits__: \"folder-tools\",\n toolbox: \"folder-tools\",\n \".toolbox\": \"folder-tools\",\n _toolbox: \"folder-tools\",\n __toolbox__: \"folder-tools\",\n toolboxes: \"folder-tools\",\n \".toolboxes\": \"folder-tools\",\n _toolboxes: \"folder-tools\",\n __toolboxes__: \"folder-tools\",\n tooling: \"folder-tools\",\n \".tooling\": \"folder-tools\",\n _tooling: \"folder-tools\",\n __tooling__: \"folder-tools\",\n helpers: \"folder-helper\",\n \".helpers\": \"folder-helper\",\n _helpers: \"folder-helper\",\n __helpers__: \"folder-helper\",\n helper: \"folder-helper\",\n \".helper\": \"folder-helper\",\n _helper: \"folder-helper\",\n __helper__: \"folder-helper\",\n serverless: \"folder-serverless\",\n \".serverless\": \"folder-serverless\",\n _serverless: \"folder-serverless\",\n __serverless__: \"folder-serverless\",\n api: \"folder-api\",\n \".api\": \"folder-api\",\n _api: \"folder-api\",\n __api__: \"folder-api\",\n apis: \"folder-api\",\n \".apis\": \"folder-api\",\n _apis: \"folder-api\",\n __apis__: \"folder-api\",\n restapi: \"folder-api\",\n \".restapi\": \"folder-api\",\n _restapi: \"folder-api\",\n __restapi__: \"folder-api\",\n app: \"folder-app\",\n \".app\": \"folder-app\",\n _app: \"folder-app\",\n __app__: \"folder-app\",\n apps: \"folder-app\",\n \".apps\": \"folder-app\",\n _apps: \"folder-app\",\n __apps__: \"folder-app\",\n apollo: \"folder-apollo\",\n \".apollo\": \"folder-apollo\",\n _apollo: \"folder-apollo\",\n __apollo__: \"folder-apollo\",\n \"apollo-client\": \"folder-apollo\",\n \".apollo-client\": \"folder-apollo\",\n \"_apollo-client\": \"folder-apollo\",\n \"__apollo-client__\": \"folder-apollo\",\n \"apollo-cache\": \"folder-apollo\",\n \".apollo-cache\": \"folder-apollo\",\n \"_apollo-cache\": \"folder-apollo\",\n \"__apollo-cache__\": \"folder-apollo\",\n \"apollo-config\": \"folder-apollo\",\n \".apollo-config\": \"folder-apollo\",\n \"_apollo-config\": \"folder-apollo\",\n \"__apollo-config__\": \"folder-apollo\",\n arc: \"folder-archive\",\n \".arc\": \"folder-archive\",\n _arc: \"folder-archive\",\n __arc__: \"folder-archive\",\n arcs: \"folder-archive\",\n \".arcs\": \"folder-archive\",\n _arcs: \"folder-archive\",\n __arcs__: \"folder-archive\",\n archive: \"folder-archive\",\n \".archive\": \"folder-archive\",\n _archive: \"folder-archive\",\n __archive__: \"folder-archive\",\n archives: \"folder-archive\",\n \".archives\": \"folder-archive\",\n _archives: \"folder-archive\",\n __archives__: \"folder-archive\",\n archival: \"folder-archive\",\n \".archival\": \"folder-archive\",\n _archival: \"folder-archive\",\n __archival__: \"folder-archive\",\n bkp: \"folder-archive\",\n \".bkp\": \"folder-archive\",\n _bkp: \"folder-archive\",\n __bkp__: \"folder-archive\",\n bkps: \"folder-archive\",\n \".bkps\": \"folder-archive\",\n _bkps: \"folder-archive\",\n __bkps__: \"folder-archive\",\n bak: \"folder-archive\",\n \".bak\": \"folder-archive\",\n _bak: \"folder-archive\",\n __bak__: \"folder-archive\",\n baks: \"folder-archive\",\n \".baks\": \"folder-archive\",\n _baks: \"folder-archive\",\n __baks__: \"folder-archive\",\n backup: \"folder-archive\",\n \".backup\": \"folder-archive\",\n _backup: \"folder-archive\",\n __backup__: \"folder-archive\",\n backups: \"folder-archive\",\n \".backups\": \"folder-archive\",\n _backups: \"folder-archive\",\n __backups__: \"folder-archive\",\n \"back-up\": \"folder-archive\",\n \".back-up\": \"folder-archive\",\n \"_back-up\": \"folder-archive\",\n \"__back-up__\": \"folder-archive\",\n \"back-ups\": \"folder-archive\",\n \".back-ups\": \"folder-archive\",\n \"_back-ups\": \"folder-archive\",\n \"__back-ups__\": \"folder-archive\",\n history: \"folder-archive\",\n \".history\": \"folder-archive\",\n _history: \"folder-archive\",\n __history__: \"folder-archive\",\n histories: \"folder-archive\",\n \".histories\": \"folder-archive\",\n _histories: \"folder-archive\",\n __histories__: \"folder-archive\",\n batch: \"folder-batch\",\n \".batch\": \"folder-batch\",\n _batch: \"folder-batch\",\n __batch__: \"folder-batch\",\n batchs: \"folder-batch\",\n \".batchs\": \"folder-batch\",\n _batchs: \"folder-batch\",\n __batchs__: \"folder-batch\",\n batches: \"folder-batch\",\n \".batches\": \"folder-batch\",\n _batches: \"folder-batch\",\n __batches__: \"folder-batch\",\n buildkite: \"folder-buildkite\",\n \".buildkite\": \"folder-buildkite\",\n _buildkite: \"folder-buildkite\",\n __buildkite__: \"folder-buildkite\",\n cluster: \"folder-cluster\",\n \".cluster\": \"folder-cluster\",\n _cluster: \"folder-cluster\",\n __cluster__: \"folder-cluster\",\n clusters: \"folder-cluster\",\n \".clusters\": \"folder-cluster\",\n _clusters: \"folder-cluster\",\n __clusters__: \"folder-cluster\",\n command: \"folder-command\",\n \".command\": \"folder-command\",\n _command: \"folder-command\",\n __command__: \"folder-command\",\n commands: \"folder-command\",\n \".commands\": \"folder-command\",\n _commands: \"folder-command\",\n __commands__: \"folder-command\",\n cmd: \"folder-command\",\n \".cmd\": \"folder-command\",\n _cmd: \"folder-command\",\n __cmd__: \"folder-command\",\n cli: \"folder-command\",\n \".cli\": \"folder-command\",\n _cli: \"folder-command\",\n __cli__: \"folder-command\",\n clis: \"folder-command\",\n \".clis\": \"folder-command\",\n _clis: \"folder-command\",\n __clis__: \"folder-command\",\n constant: \"folder-constant\",\n \".constant\": \"folder-constant\",\n _constant: \"folder-constant\",\n __constant__: \"folder-constant\",\n constants: \"folder-constant\",\n \".constants\": \"folder-constant\",\n _constants: \"folder-constant\",\n __constants__: \"folder-constant\",\n container: \"folder-container\",\n \".container\": \"folder-container\",\n _container: \"folder-container\",\n __container__: \"folder-container\",\n containers: \"folder-container\",\n \".containers\": \"folder-container\",\n _containers: \"folder-container\",\n __containers__: \"folder-container\",\n devcontainer: \"folder-container\",\n \".devcontainer\": \"folder-container\",\n _devcontainer: \"folder-container\",\n __devcontainer__: \"folder-container\",\n content: \"folder-content\",\n \".content\": \"folder-content\",\n _content: \"folder-content\",\n __content__: \"folder-content\",\n contents: \"folder-content\",\n \".contents\": \"folder-content\",\n _contents: \"folder-content\",\n __contents__: \"folder-content\",\n context: \"folder-context\",\n \".context\": \"folder-context\",\n _context: \"folder-context\",\n __context__: \"folder-context\",\n contexts: \"folder-context\",\n \".contexts\": \"folder-context\",\n _contexts: \"folder-context\",\n __contexts__: \"folder-context\",\n core: \"folder-core\",\n \".core\": \"folder-core\",\n _core: \"folder-core\",\n __core__: \"folder-core\",\n delta: \"folder-delta\",\n \".delta\": \"folder-delta\",\n _delta: \"folder-delta\",\n __delta__: \"folder-delta\",\n deltas: \"folder-delta\",\n \".deltas\": \"folder-delta\",\n _deltas: \"folder-delta\",\n __deltas__: \"folder-delta\",\n changes: \"folder-delta\",\n \".changes\": \"folder-delta\",\n _changes: \"folder-delta\",\n __changes__: \"folder-delta\",\n dump: \"folder-dump\",\n \".dump\": \"folder-dump\",\n _dump: \"folder-dump\",\n __dump__: \"folder-dump\",\n dumps: \"folder-dump\",\n \".dumps\": \"folder-dump\",\n _dumps: \"folder-dump\",\n __dumps__: \"folder-dump\",\n demo: \"folder-examples\",\n \".demo\": \"folder-examples\",\n _demo: \"folder-examples\",\n __demo__: \"folder-examples\",\n demos: \"folder-examples\",\n \".demos\": \"folder-examples\",\n _demos: \"folder-examples\",\n __demos__: \"folder-examples\",\n example: \"folder-examples\",\n \".example\": \"folder-examples\",\n _example: \"folder-examples\",\n __example__: \"folder-examples\",\n examples: \"folder-examples\",\n \".examples\": \"folder-examples\",\n _examples: \"folder-examples\",\n __examples__: \"folder-examples\",\n sample: \"folder-examples\",\n \".sample\": \"folder-examples\",\n _sample: \"folder-examples\",\n __sample__: \"folder-examples\",\n samples: \"folder-examples\",\n \".samples\": \"folder-examples\",\n _samples: \"folder-examples\",\n __samples__: \"folder-examples\",\n \"sample-data\": \"folder-examples\",\n \".sample-data\": \"folder-examples\",\n \"_sample-data\": \"folder-examples\",\n \"__sample-data__\": \"folder-examples\",\n env: \"folder-environment\",\n \".env\": \"folder-environment\",\n _env: \"folder-environment\",\n __env__: \"folder-environment\",\n envs: \"folder-environment\",\n \".envs\": \"folder-environment\",\n _envs: \"folder-environment\",\n __envs__: \"folder-environment\",\n environment: \"folder-environment\",\n \".environment\": \"folder-environment\",\n _environment: \"folder-environment\",\n __environment__: \"folder-environment\",\n environments: \"folder-environment\",\n \".environments\": \"folder-environment\",\n _environments: \"folder-environment\",\n __environments__: \"folder-environment\",\n venv: \"folder-environment\",\n \".venv\": \"folder-environment\",\n _venv: \"folder-environment\",\n __venv__: \"folder-environment\",\n func: \"folder-functions\",\n \".func\": \"folder-functions\",\n _func: \"folder-functions\",\n __func__: \"folder-functions\",\n funcs: \"folder-functions\",\n \".funcs\": \"folder-functions\",\n _funcs: \"folder-functions\",\n __funcs__: \"folder-functions\",\n function: \"folder-functions\",\n \".function\": \"folder-functions\",\n _function: \"folder-functions\",\n __function__: \"folder-functions\",\n functions: \"folder-functions\",\n \".functions\": \"folder-functions\",\n _functions: \"folder-functions\",\n __functions__: \"folder-functions\",\n lambda: \"folder-functions\",\n \".lambda\": \"folder-functions\",\n _lambda: \"folder-functions\",\n __lambda__: \"folder-functions\",\n lambdas: \"folder-functions\",\n \".lambdas\": \"folder-functions\",\n _lambdas: \"folder-functions\",\n __lambdas__: \"folder-functions\",\n logic: \"folder-functions\",\n \".logic\": \"folder-functions\",\n _logic: \"folder-functions\",\n __logic__: \"folder-functions\",\n math: \"folder-functions\",\n \".math\": \"folder-functions\",\n _math: \"folder-functions\",\n __math__: \"folder-functions\",\n maths: \"folder-functions\",\n \".maths\": \"folder-functions\",\n _maths: \"folder-functions\",\n __maths__: \"folder-functions\",\n calc: \"folder-functions\",\n \".calc\": \"folder-functions\",\n _calc: \"folder-functions\",\n __calc__: \"folder-functions\",\n calcs: \"folder-functions\",\n \".calcs\": \"folder-functions\",\n _calcs: \"folder-functions\",\n __calcs__: \"folder-functions\",\n calculation: \"folder-functions\",\n \".calculation\": \"folder-functions\",\n _calculation: \"folder-functions\",\n __calculation__: \"folder-functions\",\n calculations: \"folder-functions\",\n \".calculations\": \"folder-functions\",\n _calculations: \"folder-functions\",\n __calculations__: \"folder-functions\",\n generator: \"folder-generator\",\n \".generator\": \"folder-generator\",\n _generator: \"folder-generator\",\n __generator__: \"folder-generator\",\n generators: \"folder-generator\",\n \".generators\": \"folder-generator\",\n _generators: \"folder-generator\",\n __generators__: \"folder-generator\",\n generated: \"folder-generator\",\n \".generated\": \"folder-generator\",\n _generated: \"folder-generator\",\n __generated__: \"folder-generator\",\n \"cfn-gen\": \"folder-generator\",\n \".cfn-gen\": \"folder-generator\",\n \"_cfn-gen\": \"folder-generator\",\n \"__cfn-gen__\": \"folder-generator\",\n gen: \"folder-generator\",\n \".gen\": \"folder-generator\",\n _gen: \"folder-generator\",\n __gen__: \"folder-generator\",\n gens: \"folder-generator\",\n \".gens\": \"folder-generator\",\n _gens: \"folder-generator\",\n __gens__: \"folder-generator\",\n auto: \"folder-generator\",\n \".auto\": \"folder-generator\",\n _auto: \"folder-generator\",\n __auto__: \"folder-generator\",\n hook: \"folder-hook\",\n \".hook\": \"folder-hook\",\n _hook: \"folder-hook\",\n __hook__: \"folder-hook\",\n hooks: \"folder-hook\",\n \".hooks\": \"folder-hook\",\n _hooks: \"folder-hook\",\n __hooks__: \"folder-hook\",\n trigger: \"folder-hook\",\n \".trigger\": \"folder-hook\",\n _trigger: \"folder-hook\",\n __trigger__: \"folder-hook\",\n triggers: \"folder-hook\",\n \".triggers\": \"folder-hook\",\n _triggers: \"folder-hook\",\n __triggers__: \"folder-hook\",\n job: \"folder-job\",\n \".job\": \"folder-job\",\n _job: \"folder-job\",\n __job__: \"folder-job\",\n jobs: \"folder-job\",\n \".jobs\": \"folder-job\",\n _jobs: \"folder-job\",\n __jobs__: \"folder-job\",\n key: \"folder-keys\",\n \".key\": \"folder-keys\",\n _key: \"folder-keys\",\n __key__: \"folder-keys\",\n keys: \"folder-keys\",\n \".keys\": \"folder-keys\",\n _keys: \"folder-keys\",\n __keys__: \"folder-keys\",\n token: \"folder-keys\",\n \".token\": \"folder-keys\",\n _token: \"folder-keys\",\n __token__: \"folder-keys\",\n tokens: \"folder-keys\",\n \".tokens\": \"folder-keys\",\n _tokens: \"folder-keys\",\n __tokens__: \"folder-keys\",\n jwt: \"folder-keys\",\n \".jwt\": \"folder-keys\",\n _jwt: \"folder-keys\",\n __jwt__: \"folder-keys\",\n secret: \"folder-keys\",\n \".secret\": \"folder-keys\",\n _secret: \"folder-keys\",\n __secret__: \"folder-keys\",\n secrets: \"folder-keys\",\n \".secrets\": \"folder-keys\",\n _secrets: \"folder-keys\",\n __secrets__: \"folder-keys\",\n layout: \"folder-layout\",\n \".layout\": \"folder-layout\",\n _layout: \"folder-layout\",\n __layout__: \"folder-layout\",\n layouts: \"folder-layout\",\n \".layouts\": \"folder-layout\",\n _layouts: \"folder-layout\",\n __layouts__: \"folder-layout\",\n mail: \"folder-mail\",\n \".mail\": \"folder-mail\",\n _mail: \"folder-mail\",\n __mail__: \"folder-mail\",\n mails: \"folder-mail\",\n \".mails\": \"folder-mail\",\n _mails: \"folder-mail\",\n __mails__: \"folder-mail\",\n email: \"folder-mail\",\n \".email\": \"folder-mail\",\n _email: \"folder-mail\",\n __email__: \"folder-mail\",\n emails: \"folder-mail\",\n \".emails\": \"folder-mail\",\n _emails: \"folder-mail\",\n __emails__: \"folder-mail\",\n smtp: \"folder-mail\",\n \".smtp\": \"folder-mail\",\n _smtp: \"folder-mail\",\n __smtp__: \"folder-mail\",\n mailers: \"folder-mail\",\n \".mailers\": \"folder-mail\",\n _mailers: \"folder-mail\",\n __mailers__: \"folder-mail\",\n mappings: \"folder-mappings\",\n \".mappings\": \"folder-mappings\",\n _mappings: \"folder-mappings\",\n __mappings__: \"folder-mappings\",\n mapping: \"folder-mappings\",\n \".mapping\": \"folder-mappings\",\n _mapping: \"folder-mappings\",\n __mapping__: \"folder-mappings\",\n meta: \"folder-meta\",\n \".meta\": \"folder-meta\",\n _meta: \"folder-meta\",\n __meta__: \"folder-meta\",\n changesets: \"folder-changesets\",\n \".changesets\": \"folder-changesets\",\n _changesets: \"folder-changesets\",\n __changesets__: \"folder-changesets\",\n changeset: \"folder-changesets\",\n \".changeset\": \"folder-changesets\",\n _changeset: \"folder-changesets\",\n __changeset__: \"folder-changesets\",\n package: \"folder-packages\",\n \".package\": \"folder-packages\",\n _package: \"folder-packages\",\n __package__: \"folder-packages\",\n packages: \"folder-packages\",\n \".packages\": \"folder-packages\",\n _packages: \"folder-packages\",\n __packages__: \"folder-packages\",\n pkg: \"folder-packages\",\n \".pkg\": \"folder-packages\",\n _pkg: \"folder-packages\",\n __pkg__: \"folder-packages\",\n pkgs: \"folder-packages\",\n \".pkgs\": \"folder-packages\",\n _pkgs: \"folder-packages\",\n __pkgs__: \"folder-packages\",\n shared: \"folder-shared\",\n \".shared\": \"folder-shared\",\n _shared: \"folder-shared\",\n __shared__: \"folder-shared\",\n common: \"folder-shared\",\n \".common\": \"folder-shared\",\n _common: \"folder-shared\",\n __common__: \"folder-shared\",\n glsl: \"folder-shader\",\n \".glsl\": \"folder-shader\",\n _glsl: \"folder-shader\",\n __glsl__: \"folder-shader\",\n hlsl: \"folder-shader\",\n \".hlsl\": \"folder-shader\",\n _hlsl: \"folder-shader\",\n __hlsl__: \"folder-shader\",\n shader: \"folder-shader\",\n \".shader\": \"folder-shader\",\n _shader: \"folder-shader\",\n __shader__: \"folder-shader\",\n shaders: \"folder-shader\",\n \".shaders\": \"folder-shader\",\n _shaders: \"folder-shader\",\n __shaders__: \"folder-shader\",\n stack: \"folder-stack\",\n \".stack\": \"folder-stack\",\n _stack: \"folder-stack\",\n __stack__: \"folder-stack\",\n stacks: \"folder-stack\",\n \".stacks\": \"folder-stack\",\n _stacks: \"folder-stack\",\n __stacks__: \"folder-stack\",\n template: \"folder-template\",\n \".template\": \"folder-template\",\n _template: \"folder-template\",\n __template__: \"folder-template\",\n templates: \"folder-template\",\n \".templates\": \"folder-template\",\n _templates: \"folder-template\",\n __templates__: \"folder-template\",\n util: \"folder-utils\",\n \".util\": \"folder-utils\",\n _util: \"folder-utils\",\n __util__: \"folder-utils\",\n utils: \"folder-utils\",\n \".utils\": \"folder-utils\",\n _utils: \"folder-utils\",\n __utils__: \"folder-utils\",\n utility: \"folder-utils\",\n \".utility\": \"folder-utils\",\n _utility: \"folder-utils\",\n __utility__: \"folder-utils\",\n utilities: \"folder-utils\",\n \".utilities\": \"folder-utils\",\n _utilities: \"folder-utils\",\n __utilities__: \"folder-utils\",\n supabase: \"folder-supabase\",\n \".supabase\": \"folder-supabase\",\n _supabase: \"folder-supabase\",\n __supabase__: \"folder-supabase\",\n private: \"folder-private\",\n \".private\": \"folder-private\",\n _private: \"folder-private\",\n __private__: \"folder-private\",\n linux: \"folder-linux\",\n \".linux\": \"folder-linux\",\n _linux: \"folder-linux\",\n __linux__: \"folder-linux\",\n linuxbsd: \"folder-linux\",\n \".linuxbsd\": \"folder-linux\",\n _linuxbsd: \"folder-linux\",\n __linuxbsd__: \"folder-linux\",\n unix: \"folder-linux\",\n \".unix\": \"folder-linux\",\n _unix: \"folder-linux\",\n __unix__: \"folder-linux\",\n windows: \"folder-windows\",\n \".windows\": \"folder-windows\",\n _windows: \"folder-windows\",\n __windows__: \"folder-windows\",\n win: \"folder-windows\",\n \".win\": \"folder-windows\",\n _win: \"folder-windows\",\n __win__: \"folder-windows\",\n macos: \"folder-macos\",\n \".macos\": \"folder-macos\",\n _macos: \"folder-macos\",\n __macos__: \"folder-macos\",\n mac: \"folder-macos\",\n \".mac\": \"folder-macos\",\n _mac: \"folder-macos\",\n __mac__: \"folder-macos\",\n DS_Store: \"folder-macos\",\n \".DS_Store\": \"folder-macos\",\n _DS_Store: \"folder-macos\",\n __DS_Store__: \"folder-macos\",\n error: \"folder-error\",\n \".error\": \"folder-error\",\n _error: \"folder-error\",\n __error__: \"folder-error\",\n errors: \"folder-error\",\n \".errors\": \"folder-error\",\n _errors: \"folder-error\",\n __errors__: \"folder-error\",\n err: \"folder-error\",\n \".err\": \"folder-error\",\n _err: \"folder-error\",\n __err__: \"folder-error\",\n errs: \"folder-error\",\n \".errs\": \"folder-error\",\n _errs: \"folder-error\",\n __errs__: \"folder-error\",\n crash: \"folder-error\",\n \".crash\": \"folder-error\",\n _crash: \"folder-error\",\n __crash__: \"folder-error\",\n crashes: \"folder-error\",\n \".crashes\": \"folder-error\",\n _crashes: \"folder-error\",\n __crashes__: \"folder-error\",\n event: \"folder-event\",\n \".event\": \"folder-event\",\n _event: \"folder-event\",\n __event__: \"folder-event\",\n events: \"folder-event\",\n \".events\": \"folder-event\",\n _events: \"folder-event\",\n __events__: \"folder-event\",\n auth: \"folder-secure\",\n \".auth\": \"folder-secure\",\n _auth: \"folder-secure\",\n __auth__: \"folder-secure\",\n authentication: \"folder-secure\",\n \".authentication\": \"folder-secure\",\n _authentication: \"folder-secure\",\n __authentication__: \"folder-secure\",\n secure: \"folder-secure\",\n \".secure\": \"folder-secure\",\n _secure: \"folder-secure\",\n __secure__: \"folder-secure\",\n security: \"folder-secure\",\n \".security\": \"folder-secure\",\n _security: \"folder-secure\",\n __security__: \"folder-secure\",\n cert: \"folder-secure\",\n \".cert\": \"folder-secure\",\n _cert: \"folder-secure\",\n __cert__: \"folder-secure\",\n certs: \"folder-secure\",\n \".certs\": \"folder-secure\",\n _certs: \"folder-secure\",\n __certs__: \"folder-secure\",\n certificate: \"folder-secure\",\n \".certificate\": \"folder-secure\",\n _certificate: \"folder-secure\",\n __certificate__: \"folder-secure\",\n certificates: \"folder-secure\",\n \".certificates\": \"folder-secure\",\n _certificates: \"folder-secure\",\n __certificates__: \"folder-secure\",\n ssl: \"folder-secure\",\n \".ssl\": \"folder-secure\",\n _ssl: \"folder-secure\",\n __ssl__: \"folder-secure\",\n custom: \"folder-custom\",\n \".custom\": \"folder-custom\",\n _custom: \"folder-custom\",\n __custom__: \"folder-custom\",\n customs: \"folder-custom\",\n \".customs\": \"folder-custom\",\n _customs: \"folder-custom\",\n __customs__: \"folder-custom\",\n draft: \"folder-mock\",\n \".draft\": \"folder-mock\",\n _draft: \"folder-mock\",\n __draft__: \"folder-mock\",\n drafts: \"folder-mock\",\n \".drafts\": \"folder-mock\",\n _drafts: \"folder-mock\",\n __drafts__: \"folder-mock\",\n mock: \"folder-mock\",\n \".mock\": \"folder-mock\",\n _mock: \"folder-mock\",\n __mock__: \"folder-mock\",\n mocks: \"folder-mock\",\n \".mocks\": \"folder-mock\",\n _mocks: \"folder-mock\",\n __mocks__: \"folder-mock\",\n fixture: \"folder-mock\",\n \".fixture\": \"folder-mock\",\n _fixture: \"folder-mock\",\n __fixture__: \"folder-mock\",\n fixtures: \"folder-mock\",\n \".fixtures\": \"folder-mock\",\n _fixtures: \"folder-mock\",\n __fixtures__: \"folder-mock\",\n concept: \"folder-mock\",\n \".concept\": \"folder-mock\",\n _concept: \"folder-mock\",\n __concept__: \"folder-mock\",\n concepts: \"folder-mock\",\n \".concepts\": \"folder-mock\",\n _concepts: \"folder-mock\",\n __concepts__: \"folder-mock\",\n sketch: \"folder-mock\",\n \".sketch\": \"folder-mock\",\n _sketch: \"folder-mock\",\n __sketch__: \"folder-mock\",\n sketches: \"folder-mock\",\n \".sketches\": \"folder-mock\",\n _sketches: \"folder-mock\",\n __sketches__: \"folder-mock\",\n syntax: \"folder-syntax\",\n \".syntax\": \"folder-syntax\",\n _syntax: \"folder-syntax\",\n __syntax__: \"folder-syntax\",\n syntaxes: \"folder-syntax\",\n \".syntaxes\": \"folder-syntax\",\n _syntaxes: \"folder-syntax\",\n __syntaxes__: \"folder-syntax\",\n spellcheck: \"folder-syntax\",\n \".spellcheck\": \"folder-syntax\",\n _spellcheck: \"folder-syntax\",\n __spellcheck__: \"folder-syntax\",\n vm: \"folder-vm\",\n \".vm\": \"folder-vm\",\n _vm: \"folder-vm\",\n __vm__: \"folder-vm\",\n vms: \"folder-vm\",\n \".vms\": \"folder-vm\",\n _vms: \"folder-vm\",\n __vms__: \"folder-vm\",\n stylus: \"folder-stylus\",\n \".stylus\": \"folder-stylus\",\n _stylus: \"folder-stylus\",\n __stylus__: \"folder-stylus\",\n \"flow-typed\": \"folder-flow\",\n \".flow-typed\": \"folder-flow\",\n \"_flow-typed\": \"folder-flow\",\n \"__flow-typed__\": \"folder-flow\",\n rule: \"folder-rules\",\n \".rule\": \"folder-rules\",\n _rule: \"folder-rules\",\n __rule__: \"folder-rules\",\n rules: \"folder-rules\",\n \".rules\": \"folder-rules\",\n _rules: \"folder-rules\",\n __rules__: \"folder-rules\",\n validation: \"folder-rules\",\n \".validation\": \"folder-rules\",\n _validation: \"folder-rules\",\n __validation__: \"folder-rules\",\n validations: \"folder-rules\",\n \".validations\": \"folder-rules\",\n _validations: \"folder-rules\",\n __validations__: \"folder-rules\",\n validator: \"folder-rules\",\n \".validator\": \"folder-rules\",\n _validator: \"folder-rules\",\n __validator__: \"folder-rules\",\n validators: \"folder-rules\",\n \".validators\": \"folder-rules\",\n _validators: \"folder-rules\",\n __validators__: \"folder-rules\",\n review: \"folder-review\",\n \".review\": \"folder-review\",\n _review: \"folder-review\",\n __review__: \"folder-review\",\n reviews: \"folder-review\",\n \".reviews\": \"folder-review\",\n _reviews: \"folder-review\",\n __reviews__: \"folder-review\",\n revisal: \"folder-review\",\n \".revisal\": \"folder-review\",\n _revisal: \"folder-review\",\n __revisal__: \"folder-review\",\n revisals: \"folder-review\",\n \".revisals\": \"folder-review\",\n _revisals: \"folder-review\",\n __revisals__: \"folder-review\",\n reviewed: \"folder-review\",\n \".reviewed\": \"folder-review\",\n _reviewed: \"folder-review\",\n __reviewed__: \"folder-review\",\n anim: \"folder-animation\",\n \".anim\": \"folder-animation\",\n _anim: \"folder-animation\",\n __anim__: \"folder-animation\",\n anims: \"folder-animation\",\n \".anims\": \"folder-animation\",\n _anims: \"folder-animation\",\n __anims__: \"folder-animation\",\n animation: \"folder-animation\",\n \".animation\": \"folder-animation\",\n _animation: \"folder-animation\",\n __animation__: \"folder-animation\",\n animations: \"folder-animation\",\n \".animations\": \"folder-animation\",\n _animations: \"folder-animation\",\n __animations__: \"folder-animation\",\n animated: \"folder-animation\",\n \".animated\": \"folder-animation\",\n _animated: \"folder-animation\",\n __animated__: \"folder-animation\",\n guard: \"folder-guard\",\n \".guard\": \"folder-guard\",\n _guard: \"folder-guard\",\n __guard__: \"folder-guard\",\n guards: \"folder-guard\",\n \".guards\": \"folder-guard\",\n _guards: \"folder-guard\",\n __guards__: \"folder-guard\",\n prisma: \"folder-prisma\",\n \".prisma\": \"folder-prisma\",\n _prisma: \"folder-prisma\",\n __prisma__: \"folder-prisma\",\n pipe: \"folder-pipe\",\n \".pipe\": \"folder-pipe\",\n _pipe: \"folder-pipe\",\n __pipe__: \"folder-pipe\",\n pipes: \"folder-pipe\",\n \".pipes\": \"folder-pipe\",\n _pipes: \"folder-pipe\",\n __pipes__: \"folder-pipe\",\n svg: \"folder-svg\",\n \".svg\": \"folder-svg\",\n _svg: \"folder-svg\",\n __svg__: \"folder-svg\",\n svgs: \"folder-svg\",\n \".svgs\": \"folder-svg\",\n _svgs: \"folder-svg\",\n __svgs__: \"folder-svg\",\n terraform: \"folder-terraform\",\n \".terraform\": \"folder-terraform\",\n _terraform: \"folder-terraform\",\n __terraform__: \"folder-terraform\",\n mobile: \"folder-mobile\",\n \".mobile\": \"folder-mobile\",\n _mobile: \"folder-mobile\",\n __mobile__: \"folder-mobile\",\n mobiles: \"folder-mobile\",\n \".mobiles\": \"folder-mobile\",\n _mobiles: \"folder-mobile\",\n __mobiles__: \"folder-mobile\",\n portable: \"folder-mobile\",\n \".portable\": \"folder-mobile\",\n _portable: \"folder-mobile\",\n __portable__: \"folder-mobile\",\n portability: \"folder-mobile\",\n \".portability\": \"folder-mobile\",\n _portability: \"folder-mobile\",\n __portability__: \"folder-mobile\",\n stencil: \"folder-stencil\",\n \".stencil\": \"folder-stencil\",\n _stencil: \"folder-stencil\",\n __stencil__: \"folder-stencil\",\n firebase: \"folder-firebase\",\n \".firebase\": \"folder-firebase\",\n _firebase: \"folder-firebase\",\n __firebase__: \"folder-firebase\",\n svelte: \"folder-svelte\",\n \".svelte\": \"folder-svelte\",\n _svelte: \"folder-svelte\",\n __svelte__: \"folder-svelte\",\n \"svelte-kit\": \"folder-svelte\",\n \".svelte-kit\": \"folder-svelte\",\n \"_svelte-kit\": \"folder-svelte\",\n \"__svelte-kit__\": \"folder-svelte\",\n update: \"folder-update\",\n \".update\": \"folder-update\",\n _update: \"folder-update\",\n __update__: \"folder-update\",\n updates: \"folder-update\",\n \".updates\": \"folder-update\",\n _updates: \"folder-update\",\n __updates__: \"folder-update\",\n upgrade: \"folder-update\",\n \".upgrade\": \"folder-update\",\n _upgrade: \"folder-update\",\n __upgrade__: \"folder-update\",\n upgrades: \"folder-update\",\n \".upgrades\": \"folder-update\",\n _upgrades: \"folder-update\",\n __upgrades__: \"folder-update\",\n idea: \"folder-intellij\",\n \".idea\": \"folder-intellij\",\n _idea: \"folder-intellij\",\n __idea__: \"folder-intellij\",\n \"azure-pipelines\": \"folder-azure-pipelines\",\n \".azure-pipelines\": \"folder-azure-pipelines\",\n \"_azure-pipelines\": \"folder-azure-pipelines\",\n \"__azure-pipelines__\": \"folder-azure-pipelines\",\n \"azure-pipelines-ci\": \"folder-azure-pipelines\",\n \".azure-pipelines-ci\": \"folder-azure-pipelines\",\n \"_azure-pipelines-ci\": \"folder-azure-pipelines\",\n \"__azure-pipelines-ci__\": \"folder-azure-pipelines\",\n mjml: \"folder-mjml\",\n \".mjml\": \"folder-mjml\",\n _mjml: \"folder-mjml\",\n __mjml__: \"folder-mjml\",\n admin: \"folder-admin\",\n \".admin\": \"folder-admin\",\n _admin: \"folder-admin\",\n __admin__: \"folder-admin\",\n admins: \"folder-admin\",\n \".admins\": \"folder-admin\",\n _admins: \"folder-admin\",\n __admins__: \"folder-admin\",\n manager: \"folder-admin\",\n \".manager\": \"folder-admin\",\n _manager: \"folder-admin\",\n __manager__: \"folder-admin\",\n managers: \"folder-admin\",\n \".managers\": \"folder-admin\",\n _managers: \"folder-admin\",\n __managers__: \"folder-admin\",\n moderator: \"folder-admin\",\n \".moderator\": \"folder-admin\",\n _moderator: \"folder-admin\",\n __moderator__: \"folder-admin\",\n moderators: \"folder-admin\",\n \".moderators\": \"folder-admin\",\n _moderators: \"folder-admin\",\n __moderators__: \"folder-admin\",\n scala: \"folder-scala\",\n \".scala\": \"folder-scala\",\n _scala: \"folder-scala\",\n __scala__: \"folder-scala\",\n connection: \"folder-connection\",\n \".connection\": \"folder-connection\",\n _connection: \"folder-connection\",\n __connection__: \"folder-connection\",\n connections: \"folder-connection\",\n \".connections\": \"folder-connection\",\n _connections: \"folder-connection\",\n __connections__: \"folder-connection\",\n integration: \"folder-connection\",\n \".integration\": \"folder-connection\",\n _integration: \"folder-connection\",\n __integration__: \"folder-connection\",\n integrations: \"folder-connection\",\n \".integrations\": \"folder-connection\",\n _integrations: \"folder-connection\",\n __integrations__: \"folder-connection\",\n quasar: \"folder-quasar\",\n \".quasar\": \"folder-quasar\",\n _quasar: \"folder-quasar\",\n __quasar__: \"folder-quasar\",\n next: \"folder-next\",\n \".next\": \"folder-next\",\n _next: \"folder-next\",\n __next__: \"folder-next\",\n cobol: \"folder-cobol\",\n \".cobol\": \"folder-cobol\",\n _cobol: \"folder-cobol\",\n __cobol__: \"folder-cobol\",\n yarn: \"folder-yarn\",\n \".yarn\": \"folder-yarn\",\n _yarn: \"folder-yarn\",\n __yarn__: \"folder-yarn\",\n husky: \"folder-husky\",\n \".husky\": \"folder-husky\",\n _husky: \"folder-husky\",\n __husky__: \"folder-husky\",\n storybook: \"folder-storybook\",\n \".storybook\": \"folder-storybook\",\n _storybook: \"folder-storybook\",\n __storybook__: \"folder-storybook\",\n stories: \"folder-storybook\",\n \".stories\": \"folder-storybook\",\n _stories: \"folder-storybook\",\n __stories__: \"folder-storybook\",\n base: \"folder-base\",\n \".base\": \"folder-base\",\n _base: \"folder-base\",\n __base__: \"folder-base\",\n bases: \"folder-base\",\n \".bases\": \"folder-base\",\n _bases: \"folder-base\",\n __bases__: \"folder-base\",\n cart: \"folder-cart\",\n \".cart\": \"folder-cart\",\n _cart: \"folder-cart\",\n __cart__: \"folder-cart\",\n \"shopping-cart\": \"folder-cart\",\n \".shopping-cart\": \"folder-cart\",\n \"_shopping-cart\": \"folder-cart\",\n \"__shopping-cart__\": \"folder-cart\",\n shopping: \"folder-cart\",\n \".shopping\": \"folder-cart\",\n _shopping: \"folder-cart\",\n __shopping__: \"folder-cart\",\n shop: \"folder-cart\",\n \".shop\": \"folder-cart\",\n _shop: \"folder-cart\",\n __shop__: \"folder-cart\",\n home: \"folder-home\",\n \".home\": \"folder-home\",\n _home: \"folder-home\",\n __home__: \"folder-home\",\n start: \"folder-home\",\n \".start\": \"folder-home\",\n _start: \"folder-home\",\n __start__: \"folder-home\",\n project: \"folder-project\",\n \".project\": \"folder-project\",\n _project: \"folder-project\",\n __project__: \"folder-project\",\n projects: \"folder-project\",\n \".projects\": \"folder-project\",\n _projects: \"folder-project\",\n __projects__: \"folder-project\",\n interface: \"folder-interface\",\n \".interface\": \"folder-interface\",\n _interface: \"folder-interface\",\n __interface__: \"folder-interface\",\n interfaces: \"folder-interface\",\n \".interfaces\": \"folder-interface\",\n _interfaces: \"folder-interface\",\n __interfaces__: \"folder-interface\",\n netlify: \"folder-netlify\",\n \".netlify\": \"folder-netlify\",\n _netlify: \"folder-netlify\",\n __netlify__: \"folder-netlify\",\n enum: \"folder-enum\",\n \".enum\": \"folder-enum\",\n _enum: \"folder-enum\",\n __enum__: \"folder-enum\",\n enums: \"folder-enum\",\n \".enums\": \"folder-enum\",\n _enums: \"folder-enum\",\n __enums__: \"folder-enum\",\n pact: \"folder-contract\",\n \".pact\": \"folder-contract\",\n _pact: \"folder-contract\",\n __pact__: \"folder-contract\",\n pacts: \"folder-contract\",\n \".pacts\": \"folder-contract\",\n _pacts: \"folder-contract\",\n __pacts__: \"folder-contract\",\n contract: \"folder-contract\",\n \".contract\": \"folder-contract\",\n _contract: \"folder-contract\",\n __contract__: \"folder-contract\",\n contracts: \"folder-contract\",\n \".contracts\": \"folder-contract\",\n _contracts: \"folder-contract\",\n __contracts__: \"folder-contract\",\n \"contract-testing\": \"folder-contract\",\n \".contract-testing\": \"folder-contract\",\n \"_contract-testing\": \"folder-contract\",\n \"__contract-testing__\": \"folder-contract\",\n \"contract-test\": \"folder-contract\",\n \".contract-test\": \"folder-contract\",\n \"_contract-test\": \"folder-contract\",\n \"__contract-test__\": \"folder-contract\",\n \"contract-tests\": \"folder-contract\",\n \".contract-tests\": \"folder-contract\",\n \"_contract-tests\": \"folder-contract\",\n \"__contract-tests__\": \"folder-contract\",\n queue: \"folder-queue\",\n \".queue\": \"folder-queue\",\n _queue: \"folder-queue\",\n __queue__: \"folder-queue\",\n queues: \"folder-queue\",\n \".queues\": \"folder-queue\",\n _queues: \"folder-queue\",\n __queues__: \"folder-queue\",\n bull: \"folder-queue\",\n \".bull\": \"folder-queue\",\n _bull: \"folder-queue\",\n __bull__: \"folder-queue\",\n mq: \"folder-queue\",\n \".mq\": \"folder-queue\",\n _mq: \"folder-queue\",\n __mq__: \"folder-queue\",\n vercel: \"folder-vercel\",\n \".vercel\": \"folder-vercel\",\n _vercel: \"folder-vercel\",\n __vercel__: \"folder-vercel\",\n now: \"folder-vercel\",\n \".now\": \"folder-vercel\",\n _now: \"folder-vercel\",\n __now__: \"folder-vercel\",\n cypress: \"folder-cypress\",\n \".cypress\": \"folder-cypress\",\n _cypress: \"folder-cypress\",\n __cypress__: \"folder-cypress\",\n decorator: \"folder-decorators\",\n \".decorator\": \"folder-decorators\",\n _decorator: \"folder-decorators\",\n __decorator__: \"folder-decorators\",\n decorators: \"folder-decorators\",\n \".decorators\": \"folder-decorators\",\n _decorators: \"folder-decorators\",\n __decorators__: \"folder-decorators\",\n java: \"folder-java\",\n \".java\": \"folder-java\",\n _java: \"folder-java\",\n __java__: \"folder-java\",\n resolver: \"folder-resolver\",\n \".resolver\": \"folder-resolver\",\n _resolver: \"folder-resolver\",\n __resolver__: \"folder-resolver\",\n resolvers: \"folder-resolver\",\n \".resolvers\": \"folder-resolver\",\n _resolvers: \"folder-resolver\",\n __resolvers__: \"folder-resolver\",\n angular: \"folder-angular\",\n \".angular\": \"folder-angular\",\n _angular: \"folder-angular\",\n __angular__: \"folder-angular\",\n unity: \"folder-unity\",\n \".unity\": \"folder-unity\",\n _unity: \"folder-unity\",\n __unity__: \"folder-unity\",\n pdf: \"folder-pdf\",\n \".pdf\": \"folder-pdf\",\n _pdf: \"folder-pdf\",\n __pdf__: \"folder-pdf\",\n pdfs: \"folder-pdf\",\n \".pdfs\": \"folder-pdf\",\n _pdfs: \"folder-pdf\",\n __pdfs__: \"folder-pdf\",\n protobuf: \"folder-proto\",\n \".protobuf\": \"folder-proto\",\n _protobuf: \"folder-proto\",\n __protobuf__: \"folder-proto\",\n protobufs: \"folder-proto\",\n \".protobufs\": \"folder-proto\",\n _protobufs: \"folder-proto\",\n __protobufs__: \"folder-proto\",\n proto: \"folder-proto\",\n \".proto\": \"folder-proto\",\n _proto: \"folder-proto\",\n protos: \"folder-proto\",\n \".protos\": \"folder-proto\",\n _protos: \"folder-proto\",\n __protos__: \"folder-proto\",\n plastic: \"folder-plastic\",\n \".plastic\": \"folder-plastic\",\n _plastic: \"folder-plastic\",\n __plastic__: \"folder-plastic\",\n gamemaker: \"folder-gamemaker\",\n \".gamemaker\": \"folder-gamemaker\",\n _gamemaker: \"folder-gamemaker\",\n __gamemaker__: \"folder-gamemaker\",\n gamemaker2: \"folder-gamemaker\",\n \".gamemaker2\": \"folder-gamemaker\",\n _gamemaker2: \"folder-gamemaker\",\n __gamemaker2__: \"folder-gamemaker\",\n hg: \"folder-mercurial\",\n \".hg\": \"folder-mercurial\",\n _hg: \"folder-mercurial\",\n __hg__: \"folder-mercurial\",\n hghooks: \"folder-mercurial\",\n \".hghooks\": \"folder-mercurial\",\n _hghooks: \"folder-mercurial\",\n __hghooks__: \"folder-mercurial\",\n hgext: \"folder-mercurial\",\n \".hgext\": \"folder-mercurial\",\n _hgext: \"folder-mercurial\",\n __hgext__: \"folder-mercurial\",\n godot: \"folder-godot\",\n \".godot\": \"folder-godot\",\n _godot: \"folder-godot\",\n __godot__: \"folder-godot\",\n \"godot-cpp\": \"folder-godot\",\n \".godot-cpp\": \"folder-godot\",\n \"_godot-cpp\": \"folder-godot\",\n \"__godot-cpp__\": \"folder-godot\",\n lottie: \"folder-lottie\",\n \".lottie\": \"folder-lottie\",\n _lottie: \"folder-lottie\",\n __lottie__: \"folder-lottie\",\n lotties: \"folder-lottie\",\n \".lotties\": \"folder-lottie\",\n _lotties: \"folder-lottie\",\n __lotties__: \"folder-lottie\",\n lottiefiles: \"folder-lottie\",\n \".lottiefiles\": \"folder-lottie\",\n _lottiefiles: \"folder-lottie\",\n __lottiefiles__: \"folder-lottie\",\n taskfile: \"folder-taskfile\",\n \".taskfile\": \"folder-taskfile\",\n _taskfile: \"folder-taskfile\",\n __taskfile__: \"folder-taskfile\",\n taskfiles: \"folder-taskfile\",\n \".taskfiles\": \"folder-taskfile\",\n _taskfiles: \"folder-taskfile\",\n __taskfiles__: \"folder-taskfile\",\n cloudflare: \"folder-cloudflare\",\n \".cloudflare\": \"folder-cloudflare\",\n _cloudflare: \"folder-cloudflare\",\n __cloudflare__: \"folder-cloudflare\",\n seeds: \"folder-seeders\",\n \".seeds\": \"folder-seeders\",\n _seeds: \"folder-seeders\",\n __seeds__: \"folder-seeders\",\n seeders: \"folder-seeders\",\n \".seeders\": \"folder-seeders\",\n _seeders: \"folder-seeders\",\n __seeders__: \"folder-seeders\",\n seed: \"folder-seeders\",\n \".seed\": \"folder-seeders\",\n _seed: \"folder-seeders\",\n __seed__: \"folder-seeders\",\n seeding: \"folder-seeders\",\n \".seeding\": \"folder-seeders\",\n _seeding: \"folder-seeders\",\n __seeding__: \"folder-seeders\"\n },\n folderNamesExpanded: {\n bot: \"folder-robot-open\",\n \".bot\": \"folder-robot-open\",\n _bot: \"folder-robot-open\",\n __bot__: \"folder-robot-open\",\n robot: \"folder-robot-open\",\n \".robot\": \"folder-robot-open\",\n _robot: \"folder-robot-open\",\n __robot__: \"folder-robot-open\",\n src: \"folder-src-open\",\n \".src\": \"folder-src-open\",\n _src: \"folder-src-open\",\n __src__: \"folder-src-open\",\n srcs: \"folder-src-open\",\n \".srcs\": \"folder-src-open\",\n _srcs: \"folder-src-open\",\n __srcs__: \"folder-src-open\",\n source: \"folder-src-open\",\n \".source\": \"folder-src-open\",\n _source: \"folder-src-open\",\n __source__: \"folder-src-open\",\n sources: \"folder-src-open\",\n \".sources\": \"folder-src-open\",\n _sources: \"folder-src-open\",\n __sources__: \"folder-src-open\",\n code: \"folder-src-open\",\n \".code\": \"folder-src-open\",\n _code: \"folder-src-open\",\n __code__: \"folder-src-open\",\n dist: \"folder-dist-open\",\n \".dist\": \"folder-dist-open\",\n _dist: \"folder-dist-open\",\n __dist__: \"folder-dist-open\",\n out: \"folder-dist-open\",\n \".out\": \"folder-dist-open\",\n _out: \"folder-dist-open\",\n __out__: \"folder-dist-open\",\n build: \"folder-dist-open\",\n \".build\": \"folder-dist-open\",\n _build: \"folder-dist-open\",\n __build__: \"folder-dist-open\",\n release: \"folder-dist-open\",\n \".release\": \"folder-dist-open\",\n _release: \"folder-dist-open\",\n __release__: \"folder-dist-open\",\n bin: \"folder-dist-open\",\n \".bin\": \"folder-dist-open\",\n _bin: \"folder-dist-open\",\n __bin__: \"folder-dist-open\",\n css: \"folder-css-open\",\n \".css\": \"folder-css-open\",\n _css: \"folder-css-open\",\n __css__: \"folder-css-open\",\n stylesheet: \"folder-css-open\",\n \".stylesheet\": \"folder-css-open\",\n _stylesheet: \"folder-css-open\",\n __stylesheet__: \"folder-css-open\",\n stylesheets: \"folder-css-open\",\n \".stylesheets\": \"folder-css-open\",\n _stylesheets: \"folder-css-open\",\n __stylesheets__: \"folder-css-open\",\n style: \"folder-css-open\",\n \".style\": \"folder-css-open\",\n _style: \"folder-css-open\",\n __style__: \"folder-css-open\",\n styles: \"folder-css-open\",\n \".styles\": \"folder-css-open\",\n _styles: \"folder-css-open\",\n __styles__: \"folder-css-open\",\n sass: \"folder-sass-open\",\n \".sass\": \"folder-sass-open\",\n _sass: \"folder-sass-open\",\n __sass__: \"folder-sass-open\",\n scss: \"folder-sass-open\",\n \".scss\": \"folder-sass-open\",\n _scss: \"folder-sass-open\",\n __scss__: \"folder-sass-open\",\n tv: \"folder-television-open\",\n \".tv\": \"folder-television-open\",\n _tv: \"folder-television-open\",\n __tv__: \"folder-television-open\",\n television: \"folder-television-open\",\n \".television\": \"folder-television-open\",\n _television: \"folder-television-open\",\n __television__: \"folder-television-open\",\n desktop: \"folder-desktop-open\",\n \".desktop\": \"folder-desktop-open\",\n _desktop: \"folder-desktop-open\",\n __desktop__: \"folder-desktop-open\",\n console: \"folder-console-open\",\n \".console\": \"folder-console-open\",\n _console: \"folder-console-open\",\n __console__: \"folder-console-open\",\n images: \"folder-images-open\",\n \".images\": \"folder-images-open\",\n _images: \"folder-images-open\",\n __images__: \"folder-images-open\",\n image: \"folder-images-open\",\n \".image\": \"folder-images-open\",\n _image: \"folder-images-open\",\n __image__: \"folder-images-open\",\n imgs: \"folder-images-open\",\n \".imgs\": \"folder-images-open\",\n _imgs: \"folder-images-open\",\n __imgs__: \"folder-images-open\",\n img: \"folder-images-open\",\n \".img\": \"folder-images-open\",\n _img: \"folder-images-open\",\n __img__: \"folder-images-open\",\n icons: \"folder-images-open\",\n \".icons\": \"folder-images-open\",\n _icons: \"folder-images-open\",\n __icons__: \"folder-images-open\",\n icon: \"folder-images-open\",\n \".icon\": \"folder-images-open\",\n _icon: \"folder-images-open\",\n __icon__: \"folder-images-open\",\n icos: \"folder-images-open\",\n \".icos\": \"folder-images-open\",\n _icos: \"folder-images-open\",\n __icos__: \"folder-images-open\",\n ico: \"folder-images-open\",\n \".ico\": \"folder-images-open\",\n _ico: \"folder-images-open\",\n __ico__: \"folder-images-open\",\n figures: \"folder-images-open\",\n \".figures\": \"folder-images-open\",\n _figures: \"folder-images-open\",\n __figures__: \"folder-images-open\",\n figure: \"folder-images-open\",\n \".figure\": \"folder-images-open\",\n _figure: \"folder-images-open\",\n __figure__: \"folder-images-open\",\n figs: \"folder-images-open\",\n \".figs\": \"folder-images-open\",\n _figs: \"folder-images-open\",\n __figs__: \"folder-images-open\",\n fig: \"folder-images-open\",\n \".fig\": \"folder-images-open\",\n _fig: \"folder-images-open\",\n __fig__: \"folder-images-open\",\n screenshot: \"folder-images-open\",\n \".screenshot\": \"folder-images-open\",\n _screenshot: \"folder-images-open\",\n __screenshot__: \"folder-images-open\",\n screenshots: \"folder-images-open\",\n \".screenshots\": \"folder-images-open\",\n _screenshots: \"folder-images-open\",\n __screenshots__: \"folder-images-open\",\n screengrab: \"folder-images-open\",\n \".screengrab\": \"folder-images-open\",\n _screengrab: \"folder-images-open\",\n __screengrab__: \"folder-images-open\",\n screengrabs: \"folder-images-open\",\n \".screengrabs\": \"folder-images-open\",\n _screengrabs: \"folder-images-open\",\n __screengrabs__: \"folder-images-open\",\n pic: \"folder-images-open\",\n \".pic\": \"folder-images-open\",\n _pic: \"folder-images-open\",\n __pic__: \"folder-images-open\",\n pics: \"folder-images-open\",\n \".pics\": \"folder-images-open\",\n _pics: \"folder-images-open\",\n __pics__: \"folder-images-open\",\n picture: \"folder-images-open\",\n \".picture\": \"folder-images-open\",\n _picture: \"folder-images-open\",\n __picture__: \"folder-images-open\",\n pictures: \"folder-images-open\",\n \".pictures\": \"folder-images-open\",\n _pictures: \"folder-images-open\",\n __pictures__: \"folder-images-open\",\n photo: \"folder-images-open\",\n \".photo\": \"folder-images-open\",\n _photo: \"folder-images-open\",\n __photo__: \"folder-images-open\",\n photos: \"folder-images-open\",\n \".photos\": \"folder-images-open\",\n _photos: \"folder-images-open\",\n __photos__: \"folder-images-open\",\n photograph: \"folder-images-open\",\n \".photograph\": \"folder-images-open\",\n _photograph: \"folder-images-open\",\n __photograph__: \"folder-images-open\",\n photographs: \"folder-images-open\",\n \".photographs\": \"folder-images-open\",\n _photographs: \"folder-images-open\",\n __photographs__: \"folder-images-open\",\n script: \"folder-scripts-open\",\n \".script\": \"folder-scripts-open\",\n _script: \"folder-scripts-open\",\n __script__: \"folder-scripts-open\",\n scripts: \"folder-scripts-open\",\n \".scripts\": \"folder-scripts-open\",\n _scripts: \"folder-scripts-open\",\n __scripts__: \"folder-scripts-open\",\n scripting: \"folder-scripts-open\",\n \".scripting\": \"folder-scripts-open\",\n _scripting: \"folder-scripts-open\",\n __scripting__: \"folder-scripts-open\",\n node_modules: \"folder-node-open\",\n \".node_modules\": \"folder-node-open\",\n _node_modules: \"folder-node-open\",\n __node_modules__: \"folder-node-open\",\n js: \"folder-javascript-open\",\n \".js\": \"folder-javascript-open\",\n _js: \"folder-javascript-open\",\n __js__: \"folder-javascript-open\",\n javascript: \"folder-javascript-open\",\n \".javascript\": \"folder-javascript-open\",\n _javascript: \"folder-javascript-open\",\n __javascript__: \"folder-javascript-open\",\n javascripts: \"folder-javascript-open\",\n \".javascripts\": \"folder-javascript-open\",\n _javascripts: \"folder-javascript-open\",\n __javascripts__: \"folder-javascript-open\",\n json: \"folder-json-open\",\n \".json\": \"folder-json-open\",\n _json: \"folder-json-open\",\n __json__: \"folder-json-open\",\n jsons: \"folder-json-open\",\n \".jsons\": \"folder-json-open\",\n _jsons: \"folder-json-open\",\n __jsons__: \"folder-json-open\",\n font: \"folder-font-open\",\n \".font\": \"folder-font-open\",\n _font: \"folder-font-open\",\n __font__: \"folder-font-open\",\n fonts: \"folder-font-open\",\n \".fonts\": \"folder-font-open\",\n _fonts: \"folder-font-open\",\n __fonts__: \"folder-font-open\",\n bower_components: \"folder-bower-open\",\n \".bower_components\": \"folder-bower-open\",\n _bower_components: \"folder-bower-open\",\n __bower_components__: \"folder-bower-open\",\n test: \"folder-test-open\",\n \".test\": \"folder-test-open\",\n _test: \"folder-test-open\",\n __test__: \"folder-test-open\",\n tests: \"folder-test-open\",\n \".tests\": \"folder-test-open\",\n _tests: \"folder-test-open\",\n __tests__: \"folder-test-open\",\n testing: \"folder-test-open\",\n \".testing\": \"folder-test-open\",\n _testing: \"folder-test-open\",\n __testing__: \"folder-test-open\",\n snapshots: \"folder-test-open\",\n \".snapshots\": \"folder-test-open\",\n _snapshots: \"folder-test-open\",\n __snapshots__: \"folder-test-open\",\n spec: \"folder-test-open\",\n \".spec\": \"folder-test-open\",\n _spec: \"folder-test-open\",\n __spec__: \"folder-test-open\",\n specs: \"folder-test-open\",\n \".specs\": \"folder-test-open\",\n _specs: \"folder-test-open\",\n __specs__: \"folder-test-open\",\n jinja: \"folder-jinja-open\",\n \".jinja\": \"folder-jinja-open\",\n _jinja: \"folder-jinja-open\",\n __jinja__: \"folder-jinja-open\",\n jinja2: \"folder-jinja-open\",\n \".jinja2\": \"folder-jinja-open\",\n _jinja2: \"folder-jinja-open\",\n __jinja2__: \"folder-jinja-open\",\n j2: \"folder-jinja-open\",\n \".j2\": \"folder-jinja-open\",\n _j2: \"folder-jinja-open\",\n __j2__: \"folder-jinja-open\",\n markdown: \"folder-markdown-open\",\n \".markdown\": \"folder-markdown-open\",\n _markdown: \"folder-markdown-open\",\n __markdown__: \"folder-markdown-open\",\n md: \"folder-markdown-open\",\n \".md\": \"folder-markdown-open\",\n _md: \"folder-markdown-open\",\n __md__: \"folder-markdown-open\",\n \"pdm-plugins\": \"folder-pdm-open\",\n \".pdm-plugins\": \"folder-pdm-open\",\n \"_pdm-plugins\": \"folder-pdm-open\",\n \"__pdm-plugins__\": \"folder-pdm-open\",\n \"pdm-build\": \"folder-pdm-open\",\n \".pdm-build\": \"folder-pdm-open\",\n \"_pdm-build\": \"folder-pdm-open\",\n \"__pdm-build__\": \"folder-pdm-open\",\n php: \"folder-php-open\",\n \".php\": \"folder-php-open\",\n _php: \"folder-php-open\",\n __php__: \"folder-php-open\",\n phpmailer: \"folder-phpmailer-open\",\n \".phpmailer\": \"folder-phpmailer-open\",\n _phpmailer: \"folder-phpmailer-open\",\n __phpmailer__: \"folder-phpmailer-open\",\n sublime: \"folder-sublime-open\",\n \".sublime\": \"folder-sublime-open\",\n _sublime: \"folder-sublime-open\",\n __sublime__: \"folder-sublime-open\",\n doc: \"folder-docs-open\",\n \".doc\": \"folder-docs-open\",\n _doc: \"folder-docs-open\",\n __doc__: \"folder-docs-open\",\n docs: \"folder-docs-open\",\n \".docs\": \"folder-docs-open\",\n _docs: \"folder-docs-open\",\n __docs__: \"folder-docs-open\",\n document: \"folder-docs-open\",\n \".document\": \"folder-docs-open\",\n _document: \"folder-docs-open\",\n __document__: \"folder-docs-open\",\n documents: \"folder-docs-open\",\n \".documents\": \"folder-docs-open\",\n _documents: \"folder-docs-open\",\n __documents__: \"folder-docs-open\",\n documentation: \"folder-docs-open\",\n \".documentation\": \"folder-docs-open\",\n _documentation: \"folder-docs-open\",\n __documentation__: \"folder-docs-open\",\n post: \"folder-docs-open\",\n \".post\": \"folder-docs-open\",\n _post: \"folder-docs-open\",\n __post__: \"folder-docs-open\",\n posts: \"folder-docs-open\",\n \".posts\": \"folder-docs-open\",\n _posts: \"folder-docs-open\",\n __posts__: \"folder-docs-open\",\n article: \"folder-docs-open\",\n \".article\": \"folder-docs-open\",\n _article: \"folder-docs-open\",\n __article__: \"folder-docs-open\",\n articles: \"folder-docs-open\",\n \".articles\": \"folder-docs-open\",\n _articles: \"folder-docs-open\",\n __articles__: \"folder-docs-open\",\n git: \"folder-git-open\",\n \".git\": \"folder-git-open\",\n _git: \"folder-git-open\",\n __git__: \"folder-git-open\",\n patches: \"folder-git-open\",\n \".patches\": \"folder-git-open\",\n _patches: \"folder-git-open\",\n __patches__: \"folder-git-open\",\n githooks: \"folder-git-open\",\n \".githooks\": \"folder-git-open\",\n _githooks: \"folder-git-open\",\n __githooks__: \"folder-git-open\",\n submodules: \"folder-git-open\",\n \".submodules\": \"folder-git-open\",\n _submodules: \"folder-git-open\",\n __submodules__: \"folder-git-open\",\n github: \"folder-github-open\",\n \".github\": \"folder-github-open\",\n _github: \"folder-github-open\",\n __github__: \"folder-github-open\",\n gitlab: \"folder-gitlab-open\",\n \".gitlab\": \"folder-gitlab-open\",\n _gitlab: \"folder-gitlab-open\",\n __gitlab__: \"folder-gitlab-open\",\n vscode: \"folder-vscode-open\",\n \".vscode\": \"folder-vscode-open\",\n _vscode: \"folder-vscode-open\",\n __vscode__: \"folder-vscode-open\",\n \"vscode-test\": \"folder-vscode-open\",\n \".vscode-test\": \"folder-vscode-open\",\n \"_vscode-test\": \"folder-vscode-open\",\n \"__vscode-test__\": \"folder-vscode-open\",\n view: \"folder-views-open\",\n \".view\": \"folder-views-open\",\n _view: \"folder-views-open\",\n __view__: \"folder-views-open\",\n views: \"folder-views-open\",\n \".views\": \"folder-views-open\",\n _views: \"folder-views-open\",\n __views__: \"folder-views-open\",\n screen: \"folder-views-open\",\n \".screen\": \"folder-views-open\",\n _screen: \"folder-views-open\",\n __screen__: \"folder-views-open\",\n screens: \"folder-views-open\",\n \".screens\": \"folder-views-open\",\n _screens: \"folder-views-open\",\n __screens__: \"folder-views-open\",\n page: \"folder-views-open\",\n \".page\": \"folder-views-open\",\n _page: \"folder-views-open\",\n __page__: \"folder-views-open\",\n pages: \"folder-views-open\",\n \".pages\": \"folder-views-open\",\n _pages: \"folder-views-open\",\n __pages__: \"folder-views-open\",\n public_html: \"folder-views-open\",\n \".public_html\": \"folder-views-open\",\n _public_html: \"folder-views-open\",\n __public_html__: \"folder-views-open\",\n html: \"folder-views-open\",\n \".html\": \"folder-views-open\",\n _html: \"folder-views-open\",\n __html__: \"folder-views-open\",\n vue: \"folder-vue-open\",\n \".vue\": \"folder-vue-open\",\n _vue: \"folder-vue-open\",\n __vue__: \"folder-vue-open\",\n vuepress: \"folder-vuepress-open\",\n \".vuepress\": \"folder-vuepress-open\",\n _vuepress: \"folder-vuepress-open\",\n __vuepress__: \"folder-vuepress-open\",\n expo: \"folder-expo-open\",\n \".expo\": \"folder-expo-open\",\n _expo: \"folder-expo-open\",\n __expo__: \"folder-expo-open\",\n \"expo-shared\": \"folder-expo-open\",\n \".expo-shared\": \"folder-expo-open\",\n \"_expo-shared\": \"folder-expo-open\",\n \"__expo-shared__\": \"folder-expo-open\",\n cfg: \"folder-config-open\",\n \".cfg\": \"folder-config-open\",\n _cfg: \"folder-config-open\",\n __cfg__: \"folder-config-open\",\n cfgs: \"folder-config-open\",\n \".cfgs\": \"folder-config-open\",\n _cfgs: \"folder-config-open\",\n __cfgs__: \"folder-config-open\",\n conf: \"folder-config-open\",\n \".conf\": \"folder-config-open\",\n _conf: \"folder-config-open\",\n __conf__: \"folder-config-open\",\n confs: \"folder-config-open\",\n \".confs\": \"folder-config-open\",\n _confs: \"folder-config-open\",\n __confs__: \"folder-config-open\",\n config: \"folder-config-open\",\n \".config\": \"folder-config-open\",\n _config: \"folder-config-open\",\n __config__: \"folder-config-open\",\n configs: \"folder-config-open\",\n \".configs\": \"folder-config-open\",\n _configs: \"folder-config-open\",\n __configs__: \"folder-config-open\",\n configuration: \"folder-config-open\",\n \".configuration\": \"folder-config-open\",\n _configuration: \"folder-config-open\",\n __configuration__: \"folder-config-open\",\n configurations: \"folder-config-open\",\n \".configurations\": \"folder-config-open\",\n _configurations: \"folder-config-open\",\n __configurations__: \"folder-config-open\",\n setting: \"folder-config-open\",\n \".setting\": \"folder-config-open\",\n _setting: \"folder-config-open\",\n __setting__: \"folder-config-open\",\n settings: \"folder-config-open\",\n \".settings\": \"folder-config-open\",\n _settings: \"folder-config-open\",\n __settings__: \"folder-config-open\",\n \"META-INF\": \"folder-config-open\",\n \".META-INF\": \"folder-config-open\",\n \"_META-INF\": \"folder-config-open\",\n \"__META-INF__\": \"folder-config-open\",\n option: \"folder-config-open\",\n \".option\": \"folder-config-open\",\n _option: \"folder-config-open\",\n __option__: \"folder-config-open\",\n options: \"folder-config-open\",\n \".options\": \"folder-config-open\",\n _options: \"folder-config-open\",\n __options__: \"folder-config-open\",\n i18n: \"folder-i18n-open\",\n \".i18n\": \"folder-i18n-open\",\n _i18n: \"folder-i18n-open\",\n __i18n__: \"folder-i18n-open\",\n internationalization: \"folder-i18n-open\",\n \".internationalization\": \"folder-i18n-open\",\n _internationalization: \"folder-i18n-open\",\n __internationalization__: \"folder-i18n-open\",\n lang: \"folder-i18n-open\",\n \".lang\": \"folder-i18n-open\",\n _lang: \"folder-i18n-open\",\n __lang__: \"folder-i18n-open\",\n langs: \"folder-i18n-open\",\n \".langs\": \"folder-i18n-open\",\n _langs: \"folder-i18n-open\",\n __langs__: \"folder-i18n-open\",\n language: \"folder-i18n-open\",\n \".language\": \"folder-i18n-open\",\n _language: \"folder-i18n-open\",\n __language__: \"folder-i18n-open\",\n languages: \"folder-i18n-open\",\n \".languages\": \"folder-i18n-open\",\n _languages: \"folder-i18n-open\",\n __languages__: \"folder-i18n-open\",\n locale: \"folder-i18n-open\",\n \".locale\": \"folder-i18n-open\",\n _locale: \"folder-i18n-open\",\n __locale__: \"folder-i18n-open\",\n locales: \"folder-i18n-open\",\n \".locales\": \"folder-i18n-open\",\n _locales: \"folder-i18n-open\",\n __locales__: \"folder-i18n-open\",\n l10n: \"folder-i18n-open\",\n \".l10n\": \"folder-i18n-open\",\n _l10n: \"folder-i18n-open\",\n __l10n__: \"folder-i18n-open\",\n localization: \"folder-i18n-open\",\n \".localization\": \"folder-i18n-open\",\n _localization: \"folder-i18n-open\",\n __localization__: \"folder-i18n-open\",\n translation: \"folder-i18n-open\",\n \".translation\": \"folder-i18n-open\",\n _translation: \"folder-i18n-open\",\n __translation__: \"folder-i18n-open\",\n translate: \"folder-i18n-open\",\n \".translate\": \"folder-i18n-open\",\n _translate: \"folder-i18n-open\",\n __translate__: \"folder-i18n-open\",\n translations: \"folder-i18n-open\",\n \".translations\": \"folder-i18n-open\",\n _translations: \"folder-i18n-open\",\n __translations__: \"folder-i18n-open\",\n tx: \"folder-i18n-open\",\n \".tx\": \"folder-i18n-open\",\n _tx: \"folder-i18n-open\",\n __tx__: \"folder-i18n-open\",\n components: \"folder-components-open\",\n \".components\": \"folder-components-open\",\n _components: \"folder-components-open\",\n __components__: \"folder-components-open\",\n widget: \"folder-components-open\",\n \".widget\": \"folder-components-open\",\n _widget: \"folder-components-open\",\n __widget__: \"folder-components-open\",\n widgets: \"folder-components-open\",\n \".widgets\": \"folder-components-open\",\n _widgets: \"folder-components-open\",\n __widgets__: \"folder-components-open\",\n fragments: \"folder-components-open\",\n \".fragments\": \"folder-components-open\",\n _fragments: \"folder-components-open\",\n __fragments__: \"folder-components-open\",\n verdaccio: \"folder-verdaccio-open\",\n \".verdaccio\": \"folder-verdaccio-open\",\n _verdaccio: \"folder-verdaccio-open\",\n __verdaccio__: \"folder-verdaccio-open\",\n aurelia_project: \"folder-aurelia-open\",\n \".aurelia_project\": \"folder-aurelia-open\",\n _aurelia_project: \"folder-aurelia-open\",\n __aurelia_project__: \"folder-aurelia-open\",\n resource: \"folder-resource-open\",\n \".resource\": \"folder-resource-open\",\n _resource: \"folder-resource-open\",\n __resource__: \"folder-resource-open\",\n resources: \"folder-resource-open\",\n \".resources\": \"folder-resource-open\",\n _resources: \"folder-resource-open\",\n __resources__: \"folder-resource-open\",\n res: \"folder-resource-open\",\n \".res\": \"folder-resource-open\",\n _res: \"folder-resource-open\",\n __res__: \"folder-resource-open\",\n asset: \"folder-resource-open\",\n \".asset\": \"folder-resource-open\",\n _asset: \"folder-resource-open\",\n __asset__: \"folder-resource-open\",\n assets: \"folder-resource-open\",\n \".assets\": \"folder-resource-open\",\n _assets: \"folder-resource-open\",\n __assets__: \"folder-resource-open\",\n static: \"folder-resource-open\",\n \".static\": \"folder-resource-open\",\n _static: \"folder-resource-open\",\n __static__: \"folder-resource-open\",\n report: \"folder-resource-open\",\n \".report\": \"folder-resource-open\",\n _report: \"folder-resource-open\",\n __report__: \"folder-resource-open\",\n reports: \"folder-resource-open\",\n \".reports\": \"folder-resource-open\",\n _reports: \"folder-resource-open\",\n __reports__: \"folder-resource-open\",\n lib: \"folder-lib-open\",\n \".lib\": \"folder-lib-open\",\n _lib: \"folder-lib-open\",\n __lib__: \"folder-lib-open\",\n libs: \"folder-lib-open\",\n \".libs\": \"folder-lib-open\",\n _libs: \"folder-lib-open\",\n __libs__: \"folder-lib-open\",\n library: \"folder-lib-open\",\n \".library\": \"folder-lib-open\",\n _library: \"folder-lib-open\",\n __library__: \"folder-lib-open\",\n libraries: \"folder-lib-open\",\n \".libraries\": \"folder-lib-open\",\n _libraries: \"folder-lib-open\",\n __libraries__: \"folder-lib-open\",\n vendor: \"folder-lib-open\",\n \".vendor\": \"folder-lib-open\",\n _vendor: \"folder-lib-open\",\n __vendor__: \"folder-lib-open\",\n vendors: \"folder-lib-open\",\n \".vendors\": \"folder-lib-open\",\n _vendors: \"folder-lib-open\",\n __vendors__: \"folder-lib-open\",\n \"third-party\": \"folder-lib-open\",\n \".third-party\": \"folder-lib-open\",\n \"_third-party\": \"folder-lib-open\",\n \"__third-party__\": \"folder-lib-open\",\n themes: \"folder-theme-open\",\n \".themes\": \"folder-theme-open\",\n _themes: \"folder-theme-open\",\n __themes__: \"folder-theme-open\",\n theme: \"folder-theme-open\",\n \".theme\": \"folder-theme-open\",\n _theme: \"folder-theme-open\",\n __theme__: \"folder-theme-open\",\n color: \"folder-theme-open\",\n \".color\": \"folder-theme-open\",\n _color: \"folder-theme-open\",\n __color__: \"folder-theme-open\",\n colors: \"folder-theme-open\",\n \".colors\": \"folder-theme-open\",\n _colors: \"folder-theme-open\",\n __colors__: \"folder-theme-open\",\n design: \"folder-theme-open\",\n \".design\": \"folder-theme-open\",\n _design: \"folder-theme-open\",\n __design__: \"folder-theme-open\",\n designs: \"folder-theme-open\",\n \".designs\": \"folder-theme-open\",\n _designs: \"folder-theme-open\",\n __designs__: \"folder-theme-open\",\n webpack: \"folder-webpack-open\",\n \".webpack\": \"folder-webpack-open\",\n _webpack: \"folder-webpack-open\",\n __webpack__: \"folder-webpack-open\",\n global: \"folder-global-open\",\n \".global\": \"folder-global-open\",\n _global: \"folder-global-open\",\n __global__: \"folder-global-open\",\n public: \"folder-public-open\",\n \".public\": \"folder-public-open\",\n _public: \"folder-public-open\",\n __public__: \"folder-public-open\",\n www: \"folder-public-open\",\n \".www\": \"folder-public-open\",\n _www: \"folder-public-open\",\n __www__: \"folder-public-open\",\n wwwroot: \"folder-public-open\",\n \".wwwroot\": \"folder-public-open\",\n _wwwroot: \"folder-public-open\",\n __wwwroot__: \"folder-public-open\",\n web: \"folder-public-open\",\n \".web\": \"folder-public-open\",\n _web: \"folder-public-open\",\n __web__: \"folder-public-open\",\n website: \"folder-public-open\",\n \".website\": \"folder-public-open\",\n _website: \"folder-public-open\",\n __website__: \"folder-public-open\",\n site: \"folder-public-open\",\n \".site\": \"folder-public-open\",\n _site: \"folder-public-open\",\n __site__: \"folder-public-open\",\n browser: \"folder-public-open\",\n \".browser\": \"folder-public-open\",\n _browser: \"folder-public-open\",\n __browser__: \"folder-public-open\",\n browsers: \"folder-public-open\",\n \".browsers\": \"folder-public-open\",\n _browsers: \"folder-public-open\",\n __browsers__: \"folder-public-open\",\n inc: \"folder-include-open\",\n \".inc\": \"folder-include-open\",\n _inc: \"folder-include-open\",\n __inc__: \"folder-include-open\",\n include: \"folder-include-open\",\n \".include\": \"folder-include-open\",\n _include: \"folder-include-open\",\n __include__: \"folder-include-open\",\n includes: \"folder-include-open\",\n \".includes\": \"folder-include-open\",\n _includes: \"folder-include-open\",\n __includes__: \"folder-include-open\",\n partial: \"folder-include-open\",\n \".partial\": \"folder-include-open\",\n _partial: \"folder-include-open\",\n __partial__: \"folder-include-open\",\n partials: \"folder-include-open\",\n \".partials\": \"folder-include-open\",\n _partials: \"folder-include-open\",\n __partials__: \"folder-include-open\",\n docker: \"folder-docker-open\",\n \".docker\": \"folder-docker-open\",\n _docker: \"folder-docker-open\",\n __docker__: \"folder-docker-open\",\n dockerfiles: \"folder-docker-open\",\n \".dockerfiles\": \"folder-docker-open\",\n _dockerfiles: \"folder-docker-open\",\n __dockerfiles__: \"folder-docker-open\",\n db: \"folder-database-open\",\n \".db\": \"folder-database-open\",\n _db: \"folder-database-open\",\n __db__: \"folder-database-open\",\n data: \"folder-database-open\",\n \".data\": \"folder-database-open\",\n _data: \"folder-database-open\",\n __data__: \"folder-database-open\",\n database: \"folder-database-open\",\n \".database\": \"folder-database-open\",\n _database: \"folder-database-open\",\n __database__: \"folder-database-open\",\n databases: \"folder-database-open\",\n \".databases\": \"folder-database-open\",\n _databases: \"folder-database-open\",\n __databases__: \"folder-database-open\",\n sql: \"folder-database-open\",\n \".sql\": \"folder-database-open\",\n _sql: \"folder-database-open\",\n __sql__: \"folder-database-open\",\n log: \"folder-log-open\",\n \".log\": \"folder-log-open\",\n _log: \"folder-log-open\",\n __log__: \"folder-log-open\",\n logs: \"folder-log-open\",\n \".logs\": \"folder-log-open\",\n _logs: \"folder-log-open\",\n __logs__: \"folder-log-open\",\n logging: \"folder-log-open\",\n \".logging\": \"folder-log-open\",\n _logging: \"folder-log-open\",\n __logging__: \"folder-log-open\",\n target: \"folder-target-open\",\n \".target\": \"folder-target-open\",\n _target: \"folder-target-open\",\n __target__: \"folder-target-open\",\n temp: \"folder-temp-open\",\n \".temp\": \"folder-temp-open\",\n _temp: \"folder-temp-open\",\n __temp__: \"folder-temp-open\",\n tmp: \"folder-temp-open\",\n \".tmp\": \"folder-temp-open\",\n _tmp: \"folder-temp-open\",\n __tmp__: \"folder-temp-open\",\n cached: \"folder-temp-open\",\n \".cached\": \"folder-temp-open\",\n _cached: \"folder-temp-open\",\n __cached__: \"folder-temp-open\",\n cache: \"folder-temp-open\",\n \".cache\": \"folder-temp-open\",\n _cache: \"folder-temp-open\",\n __cache__: \"folder-temp-open\",\n aws: \"folder-aws-open\",\n \".aws\": \"folder-aws-open\",\n _aws: \"folder-aws-open\",\n __aws__: \"folder-aws-open\",\n aud: \"folder-audio-open\",\n \".aud\": \"folder-audio-open\",\n _aud: \"folder-audio-open\",\n __aud__: \"folder-audio-open\",\n auds: \"folder-audio-open\",\n \".auds\": \"folder-audio-open\",\n _auds: \"folder-audio-open\",\n __auds__: \"folder-audio-open\",\n audio: \"folder-audio-open\",\n \".audio\": \"folder-audio-open\",\n _audio: \"folder-audio-open\",\n __audio__: \"folder-audio-open\",\n audios: \"folder-audio-open\",\n \".audios\": \"folder-audio-open\",\n _audios: \"folder-audio-open\",\n __audios__: \"folder-audio-open\",\n music: \"folder-audio-open\",\n \".music\": \"folder-audio-open\",\n _music: \"folder-audio-open\",\n __music__: \"folder-audio-open\",\n sound: \"folder-audio-open\",\n \".sound\": \"folder-audio-open\",\n _sound: \"folder-audio-open\",\n __sound__: \"folder-audio-open\",\n sounds: \"folder-audio-open\",\n \".sounds\": \"folder-audio-open\",\n _sounds: \"folder-audio-open\",\n __sounds__: \"folder-audio-open\",\n vid: \"folder-video-open\",\n \".vid\": \"folder-video-open\",\n _vid: \"folder-video-open\",\n __vid__: \"folder-video-open\",\n vids: \"folder-video-open\",\n \".vids\": \"folder-video-open\",\n _vids: \"folder-video-open\",\n __vids__: \"folder-video-open\",\n video: \"folder-video-open\",\n \".video\": \"folder-video-open\",\n _video: \"folder-video-open\",\n __video__: \"folder-video-open\",\n videos: \"folder-video-open\",\n \".videos\": \"folder-video-open\",\n _videos: \"folder-video-open\",\n __videos__: \"folder-video-open\",\n movie: \"folder-video-open\",\n \".movie\": \"folder-video-open\",\n _movie: \"folder-video-open\",\n __movie__: \"folder-video-open\",\n movies: \"folder-video-open\",\n \".movies\": \"folder-video-open\",\n _movies: \"folder-video-open\",\n __movies__: \"folder-video-open\",\n kubernetes: \"folder-kubernetes-open\",\n \".kubernetes\": \"folder-kubernetes-open\",\n _kubernetes: \"folder-kubernetes-open\",\n __kubernetes__: \"folder-kubernetes-open\",\n k8s: \"folder-kubernetes-open\",\n \".k8s\": \"folder-kubernetes-open\",\n _k8s: \"folder-kubernetes-open\",\n __k8s__: \"folder-kubernetes-open\",\n import: \"folder-import-open\",\n \".import\": \"folder-import-open\",\n _import: \"folder-import-open\",\n __import__: \"folder-import-open\",\n imports: \"folder-import-open\",\n \".imports\": \"folder-import-open\",\n _imports: \"folder-import-open\",\n __imports__: \"folder-import-open\",\n imported: \"folder-import-open\",\n \".imported\": \"folder-import-open\",\n _imported: \"folder-import-open\",\n __imported__: \"folder-import-open\",\n export: \"folder-export-open\",\n \".export\": \"folder-export-open\",\n _export: \"folder-export-open\",\n __export__: \"folder-export-open\",\n exports: \"folder-export-open\",\n \".exports\": \"folder-export-open\",\n _exports: \"folder-export-open\",\n __exports__: \"folder-export-open\",\n exported: \"folder-export-open\",\n \".exported\": \"folder-export-open\",\n _exported: \"folder-export-open\",\n __exported__: \"folder-export-open\",\n wakatime: \"folder-wakatime-open\",\n \".wakatime\": \"folder-wakatime-open\",\n _wakatime: \"folder-wakatime-open\",\n __wakatime__: \"folder-wakatime-open\",\n circleci: \"folder-circleci-open\",\n \".circleci\": \"folder-circleci-open\",\n _circleci: \"folder-circleci-open\",\n __circleci__: \"folder-circleci-open\",\n \"wordpress-org\": \"folder-wordpress-open\",\n \".wordpress-org\": \"folder-wordpress-open\",\n \"_wordpress-org\": \"folder-wordpress-open\",\n \"__wordpress-org__\": \"folder-wordpress-open\",\n \"wp-content\": \"folder-wordpress-open\",\n \".wp-content\": \"folder-wordpress-open\",\n \"_wp-content\": \"folder-wordpress-open\",\n \"__wp-content__\": \"folder-wordpress-open\",\n gradle: \"folder-gradle-open\",\n \".gradle\": \"folder-gradle-open\",\n _gradle: \"folder-gradle-open\",\n __gradle__: \"folder-gradle-open\",\n coverage: \"folder-coverage-open\",\n \".coverage\": \"folder-coverage-open\",\n _coverage: \"folder-coverage-open\",\n __coverage__: \"folder-coverage-open\",\n \"nyc-output\": \"folder-coverage-open\",\n \".nyc-output\": \"folder-coverage-open\",\n \"_nyc-output\": \"folder-coverage-open\",\n \"__nyc-output__\": \"folder-coverage-open\",\n nyc_output: \"folder-coverage-open\",\n \".nyc_output\": \"folder-coverage-open\",\n _nyc_output: \"folder-coverage-open\",\n __nyc_output__: \"folder-coverage-open\",\n e2e: \"folder-coverage-open\",\n \".e2e\": \"folder-coverage-open\",\n _e2e: \"folder-coverage-open\",\n __e2e__: \"folder-coverage-open\",\n it: \"folder-coverage-open\",\n \".it\": \"folder-coverage-open\",\n _it: \"folder-coverage-open\",\n __it__: \"folder-coverage-open\",\n \"integration-test\": \"folder-coverage-open\",\n \".integration-test\": \"folder-coverage-open\",\n \"_integration-test\": \"folder-coverage-open\",\n \"__integration-test__\": \"folder-coverage-open\",\n \"integration-tests\": \"folder-coverage-open\",\n \".integration-tests\": \"folder-coverage-open\",\n \"_integration-tests\": \"folder-coverage-open\",\n \"__integration-tests__\": \"folder-coverage-open\",\n class: \"folder-class-open\",\n \".class\": \"folder-class-open\",\n _class: \"folder-class-open\",\n __class__: \"folder-class-open\",\n classes: \"folder-class-open\",\n \".classes\": \"folder-class-open\",\n _classes: \"folder-class-open\",\n __classes__: \"folder-class-open\",\n model: \"folder-class-open\",\n \".model\": \"folder-class-open\",\n _model: \"folder-class-open\",\n __model__: \"folder-class-open\",\n models: \"folder-class-open\",\n \".models\": \"folder-class-open\",\n _models: \"folder-class-open\",\n __models__: \"folder-class-open\",\n schemas: \"folder-class-open\",\n \".schemas\": \"folder-class-open\",\n _schemas: \"folder-class-open\",\n __schemas__: \"folder-class-open\",\n schema: \"folder-class-open\",\n \".schema\": \"folder-class-open\",\n _schema: \"folder-class-open\",\n __schema__: \"folder-class-open\",\n other: \"folder-other-open\",\n \".other\": \"folder-other-open\",\n _other: \"folder-other-open\",\n __other__: \"folder-other-open\",\n others: \"folder-other-open\",\n \".others\": \"folder-other-open\",\n _others: \"folder-other-open\",\n __others__: \"folder-other-open\",\n misc: \"folder-other-open\",\n \".misc\": \"folder-other-open\",\n _misc: \"folder-other-open\",\n __misc__: \"folder-other-open\",\n miscellaneous: \"folder-other-open\",\n \".miscellaneous\": \"folder-other-open\",\n _miscellaneous: \"folder-other-open\",\n __miscellaneous__: \"folder-other-open\",\n extra: \"folder-other-open\",\n \".extra\": \"folder-other-open\",\n _extra: \"folder-other-open\",\n __extra__: \"folder-other-open\",\n extras: \"folder-other-open\",\n \".extras\": \"folder-other-open\",\n _extras: \"folder-other-open\",\n __extras__: \"folder-other-open\",\n etc: \"folder-other-open\",\n \".etc\": \"folder-other-open\",\n _etc: \"folder-other-open\",\n __etc__: \"folder-other-open\",\n lua: \"folder-lua-open\",\n \".lua\": \"folder-lua-open\",\n _lua: \"folder-lua-open\",\n __lua__: \"folder-lua-open\",\n typescript: \"folder-typescript-open\",\n \".typescript\": \"folder-typescript-open\",\n _typescript: \"folder-typescript-open\",\n __typescript__: \"folder-typescript-open\",\n ts: \"folder-typescript-open\",\n \".ts\": \"folder-typescript-open\",\n _ts: \"folder-typescript-open\",\n __ts__: \"folder-typescript-open\",\n typings: \"folder-typescript-open\",\n \".typings\": \"folder-typescript-open\",\n _typings: \"folder-typescript-open\",\n __typings__: \"folder-typescript-open\",\n \"@types\": \"folder-typescript-open\",\n \".@types\": \"folder-typescript-open\",\n \"_@types\": \"folder-typescript-open\",\n \"__@types__\": \"folder-typescript-open\",\n types: \"folder-typescript-open\",\n \".types\": \"folder-typescript-open\",\n _types: \"folder-typescript-open\",\n __types__: \"folder-typescript-open\",\n graphql: \"folder-graphql-open\",\n \".graphql\": \"folder-graphql-open\",\n _graphql: \"folder-graphql-open\",\n __graphql__: \"folder-graphql-open\",\n gql: \"folder-graphql-open\",\n \".gql\": \"folder-graphql-open\",\n _gql: \"folder-graphql-open\",\n __gql__: \"folder-graphql-open\",\n routes: \"folder-routes-open\",\n \".routes\": \"folder-routes-open\",\n _routes: \"folder-routes-open\",\n __routes__: \"folder-routes-open\",\n router: \"folder-routes-open\",\n \".router\": \"folder-routes-open\",\n _router: \"folder-routes-open\",\n __router__: \"folder-routes-open\",\n routers: \"folder-routes-open\",\n \".routers\": \"folder-routes-open\",\n _routers: \"folder-routes-open\",\n __routers__: \"folder-routes-open\",\n ci: \"folder-ci-open\",\n \".ci\": \"folder-ci-open\",\n _ci: \"folder-ci-open\",\n __ci__: \"folder-ci-open\",\n benchmark: \"folder-benchmark-open\",\n \".benchmark\": \"folder-benchmark-open\",\n _benchmark: \"folder-benchmark-open\",\n __benchmark__: \"folder-benchmark-open\",\n benchmarks: \"folder-benchmark-open\",\n \".benchmarks\": \"folder-benchmark-open\",\n _benchmarks: \"folder-benchmark-open\",\n __benchmarks__: \"folder-benchmark-open\",\n performance: \"folder-benchmark-open\",\n \".performance\": \"folder-benchmark-open\",\n _performance: \"folder-benchmark-open\",\n __performance__: \"folder-benchmark-open\",\n measure: \"folder-benchmark-open\",\n \".measure\": \"folder-benchmark-open\",\n _measure: \"folder-benchmark-open\",\n __measure__: \"folder-benchmark-open\",\n measures: \"folder-benchmark-open\",\n \".measures\": \"folder-benchmark-open\",\n _measures: \"folder-benchmark-open\",\n __measures__: \"folder-benchmark-open\",\n measurement: \"folder-benchmark-open\",\n \".measurement\": \"folder-benchmark-open\",\n _measurement: \"folder-benchmark-open\",\n __measurement__: \"folder-benchmark-open\",\n messages: \"folder-messages-open\",\n \".messages\": \"folder-messages-open\",\n _messages: \"folder-messages-open\",\n __messages__: \"folder-messages-open\",\n messaging: \"folder-messages-open\",\n \".messaging\": \"folder-messages-open\",\n _messaging: \"folder-messages-open\",\n __messaging__: \"folder-messages-open\",\n forum: \"folder-messages-open\",\n \".forum\": \"folder-messages-open\",\n _forum: \"folder-messages-open\",\n __forum__: \"folder-messages-open\",\n chat: \"folder-messages-open\",\n \".chat\": \"folder-messages-open\",\n _chat: \"folder-messages-open\",\n __chat__: \"folder-messages-open\",\n chats: \"folder-messages-open\",\n \".chats\": \"folder-messages-open\",\n _chats: \"folder-messages-open\",\n __chats__: \"folder-messages-open\",\n conversation: \"folder-messages-open\",\n \".conversation\": \"folder-messages-open\",\n _conversation: \"folder-messages-open\",\n __conversation__: \"folder-messages-open\",\n conversations: \"folder-messages-open\",\n \".conversations\": \"folder-messages-open\",\n _conversations: \"folder-messages-open\",\n __conversations__: \"folder-messages-open\",\n less: \"folder-less-open\",\n \".less\": \"folder-less-open\",\n _less: \"folder-less-open\",\n __less__: \"folder-less-open\",\n gulp: \"folder-gulp-open\",\n \".gulp\": \"folder-gulp-open\",\n _gulp: \"folder-gulp-open\",\n __gulp__: \"folder-gulp-open\",\n \"gulp-tasks\": \"folder-gulp-open\",\n \".gulp-tasks\": \"folder-gulp-open\",\n \"_gulp-tasks\": \"folder-gulp-open\",\n \"__gulp-tasks__\": \"folder-gulp-open\",\n \"gulpfile.js\": \"folder-gulp-open\",\n \".gulpfile.js\": \"folder-gulp-open\",\n \"_gulpfile.js\": \"folder-gulp-open\",\n \"__gulpfile.js__\": \"folder-gulp-open\",\n \"gulpfile.mjs\": \"folder-gulp-open\",\n \".gulpfile.mjs\": \"folder-gulp-open\",\n \"_gulpfile.mjs\": \"folder-gulp-open\",\n \"__gulpfile.mjs__\": \"folder-gulp-open\",\n \"gulpfile.ts\": \"folder-gulp-open\",\n \".gulpfile.ts\": \"folder-gulp-open\",\n \"_gulpfile.ts\": \"folder-gulp-open\",\n \"__gulpfile.ts__\": \"folder-gulp-open\",\n \"gulpfile.babel.js\": \"folder-gulp-open\",\n \".gulpfile.babel.js\": \"folder-gulp-open\",\n \"_gulpfile.babel.js\": \"folder-gulp-open\",\n \"__gulpfile.babel.js__\": \"folder-gulp-open\",\n python: \"folder-python-open\",\n \".python\": \"folder-python-open\",\n _python: \"folder-python-open\",\n __python__: \"folder-python-open\",\n pycache: \"folder-python-open\",\n \".pycache\": \"folder-python-open\",\n _pycache: \"folder-python-open\",\n __pycache__: \"folder-python-open\",\n pytest_cache: \"folder-python-open\",\n \".pytest_cache\": \"folder-python-open\",\n _pytest_cache: \"folder-python-open\",\n __pytest_cache__: \"folder-python-open\",\n mojo: \"folder-mojo-open\",\n \".mojo\": \"folder-mojo-open\",\n _mojo: \"folder-mojo-open\",\n __mojo__: \"folder-mojo-open\",\n moon: \"folder-moon-open\",\n \".moon\": \"folder-moon-open\",\n _moon: \"folder-moon-open\",\n __moon__: \"folder-moon-open\",\n debug: \"folder-debug-open\",\n \".debug\": \"folder-debug-open\",\n _debug: \"folder-debug-open\",\n __debug__: \"folder-debug-open\",\n debugging: \"folder-debug-open\",\n \".debugging\": \"folder-debug-open\",\n _debugging: \"folder-debug-open\",\n __debugging__: \"folder-debug-open\",\n fastlane: \"folder-fastlane-open\",\n \".fastlane\": \"folder-fastlane-open\",\n _fastlane: \"folder-fastlane-open\",\n __fastlane__: \"folder-fastlane-open\",\n plugin: \"folder-plugin-open\",\n \".plugin\": \"folder-plugin-open\",\n _plugin: \"folder-plugin-open\",\n __plugin__: \"folder-plugin-open\",\n plugins: \"folder-plugin-open\",\n \".plugins\": \"folder-plugin-open\",\n _plugins: \"folder-plugin-open\",\n __plugins__: \"folder-plugin-open\",\n mod: \"folder-plugin-open\",\n \".mod\": \"folder-plugin-open\",\n _mod: \"folder-plugin-open\",\n __mod__: \"folder-plugin-open\",\n mods: \"folder-plugin-open\",\n \".mods\": \"folder-plugin-open\",\n _mods: \"folder-plugin-open\",\n __mods__: \"folder-plugin-open\",\n modding: \"folder-plugin-open\",\n \".modding\": \"folder-plugin-open\",\n _modding: \"folder-plugin-open\",\n __modding__: \"folder-plugin-open\",\n extension: \"folder-plugin-open\",\n \".extension\": \"folder-plugin-open\",\n _extension: \"folder-plugin-open\",\n __extension__: \"folder-plugin-open\",\n extensions: \"folder-plugin-open\",\n \".extensions\": \"folder-plugin-open\",\n _extensions: \"folder-plugin-open\",\n __extensions__: \"folder-plugin-open\",\n addon: \"folder-plugin-open\",\n \".addon\": \"folder-plugin-open\",\n _addon: \"folder-plugin-open\",\n __addon__: \"folder-plugin-open\",\n addons: \"folder-plugin-open\",\n \".addons\": \"folder-plugin-open\",\n _addons: \"folder-plugin-open\",\n __addons__: \"folder-plugin-open\",\n module: \"folder-plugin-open\",\n \".module\": \"folder-plugin-open\",\n _module: \"folder-plugin-open\",\n __module__: \"folder-plugin-open\",\n modules: \"folder-plugin-open\",\n \".modules\": \"folder-plugin-open\",\n _modules: \"folder-plugin-open\",\n __modules__: \"folder-plugin-open\",\n middleware: \"folder-middleware-open\",\n \".middleware\": \"folder-middleware-open\",\n _middleware: \"folder-middleware-open\",\n __middleware__: \"folder-middleware-open\",\n middlewares: \"folder-middleware-open\",\n \".middlewares\": \"folder-middleware-open\",\n _middlewares: \"folder-middleware-open\",\n __middlewares__: \"folder-middleware-open\",\n controller: \"folder-controller-open\",\n \".controller\": \"folder-controller-open\",\n _controller: \"folder-controller-open\",\n __controller__: \"folder-controller-open\",\n controllers: \"folder-controller-open\",\n \".controllers\": \"folder-controller-open\",\n _controllers: \"folder-controller-open\",\n __controllers__: \"folder-controller-open\",\n service: \"folder-controller-open\",\n \".service\": \"folder-controller-open\",\n _service: \"folder-controller-open\",\n __service__: \"folder-controller-open\",\n services: \"folder-controller-open\",\n \".services\": \"folder-controller-open\",\n _services: \"folder-controller-open\",\n __services__: \"folder-controller-open\",\n provider: \"folder-controller-open\",\n \".provider\": \"folder-controller-open\",\n _provider: \"folder-controller-open\",\n __provider__: \"folder-controller-open\",\n providers: \"folder-controller-open\",\n \".providers\": \"folder-controller-open\",\n _providers: \"folder-controller-open\",\n __providers__: \"folder-controller-open\",\n handler: \"folder-controller-open\",\n \".handler\": \"folder-controller-open\",\n _handler: \"folder-controller-open\",\n __handler__: \"folder-controller-open\",\n handlers: \"folder-controller-open\",\n \".handlers\": \"folder-controller-open\",\n _handlers: \"folder-controller-open\",\n __handlers__: \"folder-controller-open\",\n ansible: \"folder-ansible-open\",\n \".ansible\": \"folder-ansible-open\",\n _ansible: \"folder-ansible-open\",\n __ansible__: \"folder-ansible-open\",\n server: \"folder-server-open\",\n \".server\": \"folder-server-open\",\n _server: \"folder-server-open\",\n __server__: \"folder-server-open\",\n servers: \"folder-server-open\",\n \".servers\": \"folder-server-open\",\n _servers: \"folder-server-open\",\n __servers__: \"folder-server-open\",\n backend: \"folder-server-open\",\n \".backend\": \"folder-server-open\",\n _backend: \"folder-server-open\",\n __backend__: \"folder-server-open\",\n backends: \"folder-server-open\",\n \".backends\": \"folder-server-open\",\n _backends: \"folder-server-open\",\n __backends__: \"folder-server-open\",\n client: \"folder-client-open\",\n \".client\": \"folder-client-open\",\n _client: \"folder-client-open\",\n __client__: \"folder-client-open\",\n clients: \"folder-client-open\",\n \".clients\": \"folder-client-open\",\n _clients: \"folder-client-open\",\n __clients__: \"folder-client-open\",\n frontend: \"folder-client-open\",\n \".frontend\": \"folder-client-open\",\n _frontend: \"folder-client-open\",\n __frontend__: \"folder-client-open\",\n frontends: \"folder-client-open\",\n \".frontends\": \"folder-client-open\",\n _frontends: \"folder-client-open\",\n __frontends__: \"folder-client-open\",\n pwa: \"folder-client-open\",\n \".pwa\": \"folder-client-open\",\n _pwa: \"folder-client-open\",\n __pwa__: \"folder-client-open\",\n tasks: \"folder-tasks-open\",\n \".tasks\": \"folder-tasks-open\",\n _tasks: \"folder-tasks-open\",\n __tasks__: \"folder-tasks-open\",\n tickets: \"folder-tasks-open\",\n \".tickets\": \"folder-tasks-open\",\n _tickets: \"folder-tasks-open\",\n __tickets__: \"folder-tasks-open\",\n android: \"folder-android-open\",\n \".android\": \"folder-android-open\",\n _android: \"folder-android-open\",\n __android__: \"folder-android-open\",\n ios: \"folder-ios-open\",\n \".ios\": \"folder-ios-open\",\n _ios: \"folder-ios-open\",\n __ios__: \"folder-ios-open\",\n uploads: \"folder-upload-open\",\n \".uploads\": \"folder-upload-open\",\n _uploads: \"folder-upload-open\",\n __uploads__: \"folder-upload-open\",\n upload: \"folder-upload-open\",\n \".upload\": \"folder-upload-open\",\n _upload: \"folder-upload-open\",\n __upload__: \"folder-upload-open\",\n downloads: \"folder-download-open\",\n \".downloads\": \"folder-download-open\",\n _downloads: \"folder-download-open\",\n __downloads__: \"folder-download-open\",\n download: \"folder-download-open\",\n \".download\": \"folder-download-open\",\n _download: \"folder-download-open\",\n __download__: \"folder-download-open\",\n tools: \"folder-tools-open\",\n \".tools\": \"folder-tools-open\",\n _tools: \"folder-tools-open\",\n __tools__: \"folder-tools-open\",\n toolkit: \"folder-tools-open\",\n \".toolkit\": \"folder-tools-open\",\n _toolkit: \"folder-tools-open\",\n __toolkit__: \"folder-tools-open\",\n toolkits: \"folder-tools-open\",\n \".toolkits\": \"folder-tools-open\",\n _toolkits: \"folder-tools-open\",\n __toolkits__: \"folder-tools-open\",\n toolbox: \"folder-tools-open\",\n \".toolbox\": \"folder-tools-open\",\n _toolbox: \"folder-tools-open\",\n __toolbox__: \"folder-tools-open\",\n toolboxes: \"folder-tools-open\",\n \".toolboxes\": \"folder-tools-open\",\n _toolboxes: \"folder-tools-open\",\n __toolboxes__: \"folder-tools-open\",\n tooling: \"folder-tools-open\",\n \".tooling\": \"folder-tools-open\",\n _tooling: \"folder-tools-open\",\n __tooling__: \"folder-tools-open\",\n helpers: \"folder-helper-open\",\n \".helpers\": \"folder-helper-open\",\n _helpers: \"folder-helper-open\",\n __helpers__: \"folder-helper-open\",\n helper: \"folder-helper-open\",\n \".helper\": \"folder-helper-open\",\n _helper: \"folder-helper-open\",\n __helper__: \"folder-helper-open\",\n serverless: \"folder-serverless-open\",\n \".serverless\": \"folder-serverless-open\",\n _serverless: \"folder-serverless-open\",\n __serverless__: \"folder-serverless-open\",\n api: \"folder-api-open\",\n \".api\": \"folder-api-open\",\n _api: \"folder-api-open\",\n __api__: \"folder-api-open\",\n apis: \"folder-api-open\",\n \".apis\": \"folder-api-open\",\n _apis: \"folder-api-open\",\n __apis__: \"folder-api-open\",\n restapi: \"folder-api-open\",\n \".restapi\": \"folder-api-open\",\n _restapi: \"folder-api-open\",\n __restapi__: \"folder-api-open\",\n app: \"folder-app-open\",\n \".app\": \"folder-app-open\",\n _app: \"folder-app-open\",\n __app__: \"folder-app-open\",\n apps: \"folder-app-open\",\n \".apps\": \"folder-app-open\",\n _apps: \"folder-app-open\",\n __apps__: \"folder-app-open\",\n apollo: \"folder-apollo-open\",\n \".apollo\": \"folder-apollo-open\",\n _apollo: \"folder-apollo-open\",\n __apollo__: \"folder-apollo-open\",\n \"apollo-client\": \"folder-apollo-open\",\n \".apollo-client\": \"folder-apollo-open\",\n \"_apollo-client\": \"folder-apollo-open\",\n \"__apollo-client__\": \"folder-apollo-open\",\n \"apollo-cache\": \"folder-apollo-open\",\n \".apollo-cache\": \"folder-apollo-open\",\n \"_apollo-cache\": \"folder-apollo-open\",\n \"__apollo-cache__\": \"folder-apollo-open\",\n \"apollo-config\": \"folder-apollo-open\",\n \".apollo-config\": \"folder-apollo-open\",\n \"_apollo-config\": \"folder-apollo-open\",\n \"__apollo-config__\": \"folder-apollo-open\",\n arc: \"folder-archive-open\",\n \".arc\": \"folder-archive-open\",\n _arc: \"folder-archive-open\",\n __arc__: \"folder-archive-open\",\n arcs: \"folder-archive-open\",\n \".arcs\": \"folder-archive-open\",\n _arcs: \"folder-archive-open\",\n __arcs__: \"folder-archive-open\",\n archive: \"folder-archive-open\",\n \".archive\": \"folder-archive-open\",\n _archive: \"folder-archive-open\",\n __archive__: \"folder-archive-open\",\n archives: \"folder-archive-open\",\n \".archives\": \"folder-archive-open\",\n _archives: \"folder-archive-open\",\n __archives__: \"folder-archive-open\",\n archival: \"folder-archive-open\",\n \".archival\": \"folder-archive-open\",\n _archival: \"folder-archive-open\",\n __archival__: \"folder-archive-open\",\n bkp: \"folder-archive-open\",\n \".bkp\": \"folder-archive-open\",\n _bkp: \"folder-archive-open\",\n __bkp__: \"folder-archive-open\",\n bkps: \"folder-archive-open\",\n \".bkps\": \"folder-archive-open\",\n _bkps: \"folder-archive-open\",\n __bkps__: \"folder-archive-open\",\n bak: \"folder-archive-open\",\n \".bak\": \"folder-archive-open\",\n _bak: \"folder-archive-open\",\n __bak__: \"folder-archive-open\",\n baks: \"folder-archive-open\",\n \".baks\": \"folder-archive-open\",\n _baks: \"folder-archive-open\",\n __baks__: \"folder-archive-open\",\n backup: \"folder-archive-open\",\n \".backup\": \"folder-archive-open\",\n _backup: \"folder-archive-open\",\n __backup__: \"folder-archive-open\",\n backups: \"folder-archive-open\",\n \".backups\": \"folder-archive-open\",\n _backups: \"folder-archive-open\",\n __backups__: \"folder-archive-open\",\n \"back-up\": \"folder-archive-open\",\n \".back-up\": \"folder-archive-open\",\n \"_back-up\": \"folder-archive-open\",\n \"__back-up__\": \"folder-archive-open\",\n \"back-ups\": \"folder-archive-open\",\n \".back-ups\": \"folder-archive-open\",\n \"_back-ups\": \"folder-archive-open\",\n \"__back-ups__\": \"folder-archive-open\",\n history: \"folder-archive-open\",\n \".history\": \"folder-archive-open\",\n _history: \"folder-archive-open\",\n __history__: \"folder-archive-open\",\n histories: \"folder-archive-open\",\n \".histories\": \"folder-archive-open\",\n _histories: \"folder-archive-open\",\n __histories__: \"folder-archive-open\",\n batch: \"folder-batch-open\",\n \".batch\": \"folder-batch-open\",\n _batch: \"folder-batch-open\",\n __batch__: \"folder-batch-open\",\n batchs: \"folder-batch-open\",\n \".batchs\": \"folder-batch-open\",\n _batchs: \"folder-batch-open\",\n __batchs__: \"folder-batch-open\",\n batches: \"folder-batch-open\",\n \".batches\": \"folder-batch-open\",\n _batches: \"folder-batch-open\",\n __batches__: \"folder-batch-open\",\n buildkite: \"folder-buildkite-open\",\n \".buildkite\": \"folder-buildkite-open\",\n _buildkite: \"folder-buildkite-open\",\n __buildkite__: \"folder-buildkite-open\",\n cluster: \"folder-cluster-open\",\n \".cluster\": \"folder-cluster-open\",\n _cluster: \"folder-cluster-open\",\n __cluster__: \"folder-cluster-open\",\n clusters: \"folder-cluster-open\",\n \".clusters\": \"folder-cluster-open\",\n _clusters: \"folder-cluster-open\",\n __clusters__: \"folder-cluster-open\",\n command: \"folder-command-open\",\n \".command\": \"folder-command-open\",\n _command: \"folder-command-open\",\n __command__: \"folder-command-open\",\n commands: \"folder-command-open\",\n \".commands\": \"folder-command-open\",\n _commands: \"folder-command-open\",\n __commands__: \"folder-command-open\",\n cmd: \"folder-command-open\",\n \".cmd\": \"folder-command-open\",\n _cmd: \"folder-command-open\",\n __cmd__: \"folder-command-open\",\n cli: \"folder-command-open\",\n \".cli\": \"folder-command-open\",\n _cli: \"folder-command-open\",\n __cli__: \"folder-command-open\",\n clis: \"folder-command-open\",\n \".clis\": \"folder-command-open\",\n _clis: \"folder-command-open\",\n __clis__: \"folder-command-open\",\n constant: \"folder-constant-open\",\n \".constant\": \"folder-constant-open\",\n _constant: \"folder-constant-open\",\n __constant__: \"folder-constant-open\",\n constants: \"folder-constant-open\",\n \".constants\": \"folder-constant-open\",\n _constants: \"folder-constant-open\",\n __constants__: \"folder-constant-open\",\n container: \"folder-container-open\",\n \".container\": \"folder-container-open\",\n _container: \"folder-container-open\",\n __container__: \"folder-container-open\",\n containers: \"folder-container-open\",\n \".containers\": \"folder-container-open\",\n _containers: \"folder-container-open\",\n __containers__: \"folder-container-open\",\n devcontainer: \"folder-container-open\",\n \".devcontainer\": \"folder-container-open\",\n _devcontainer: \"folder-container-open\",\n __devcontainer__: \"folder-container-open\",\n content: \"folder-content-open\",\n \".content\": \"folder-content-open\",\n _content: \"folder-content-open\",\n __content__: \"folder-content-open\",\n contents: \"folder-content-open\",\n \".contents\": \"folder-content-open\",\n _contents: \"folder-content-open\",\n __contents__: \"folder-content-open\",\n context: \"folder-context-open\",\n \".context\": \"folder-context-open\",\n _context: \"folder-context-open\",\n __context__: \"folder-context-open\",\n contexts: \"folder-context-open\",\n \".contexts\": \"folder-context-open\",\n _contexts: \"folder-context-open\",\n __contexts__: \"folder-context-open\",\n core: \"folder-core-open\",\n \".core\": \"folder-core-open\",\n _core: \"folder-core-open\",\n __core__: \"folder-core-open\",\n delta: \"folder-delta-open\",\n \".delta\": \"folder-delta-open\",\n _delta: \"folder-delta-open\",\n __delta__: \"folder-delta-open\",\n deltas: \"folder-delta-open\",\n \".deltas\": \"folder-delta-open\",\n _deltas: \"folder-delta-open\",\n __deltas__: \"folder-delta-open\",\n changes: \"folder-delta-open\",\n \".changes\": \"folder-delta-open\",\n _changes: \"folder-delta-open\",\n __changes__: \"folder-delta-open\",\n dump: \"folder-dump-open\",\n \".dump\": \"folder-dump-open\",\n _dump: \"folder-dump-open\",\n __dump__: \"folder-dump-open\",\n dumps: \"folder-dump-open\",\n \".dumps\": \"folder-dump-open\",\n _dumps: \"folder-dump-open\",\n __dumps__: \"folder-dump-open\",\n demo: \"folder-examples-open\",\n \".demo\": \"folder-examples-open\",\n _demo: \"folder-examples-open\",\n __demo__: \"folder-examples-open\",\n demos: \"folder-examples-open\",\n \".demos\": \"folder-examples-open\",\n _demos: \"folder-examples-open\",\n __demos__: \"folder-examples-open\",\n example: \"folder-examples-open\",\n \".example\": \"folder-examples-open\",\n _example: \"folder-examples-open\",\n __example__: \"folder-examples-open\",\n examples: \"folder-examples-open\",\n \".examples\": \"folder-examples-open\",\n _examples: \"folder-examples-open\",\n __examples__: \"folder-examples-open\",\n sample: \"folder-examples-open\",\n \".sample\": \"folder-examples-open\",\n _sample: \"folder-examples-open\",\n __sample__: \"folder-examples-open\",\n samples: \"folder-examples-open\",\n \".samples\": \"folder-examples-open\",\n _samples: \"folder-examples-open\",\n __samples__: \"folder-examples-open\",\n \"sample-data\": \"folder-examples-open\",\n \".sample-data\": \"folder-examples-open\",\n \"_sample-data\": \"folder-examples-open\",\n \"__sample-data__\": \"folder-examples-open\",\n env: \"folder-environment-open\",\n \".env\": \"folder-environment-open\",\n _env: \"folder-environment-open\",\n __env__: \"folder-environment-open\",\n envs: \"folder-environment-open\",\n \".envs\": \"folder-environment-open\",\n _envs: \"folder-environment-open\",\n __envs__: \"folder-environment-open\",\n environment: \"folder-environment-open\",\n \".environment\": \"folder-environment-open\",\n _environment: \"folder-environment-open\",\n __environment__: \"folder-environment-open\",\n environments: \"folder-environment-open\",\n \".environments\": \"folder-environment-open\",\n _environments: \"folder-environment-open\",\n __environments__: \"folder-environment-open\",\n venv: \"folder-environment-open\",\n \".venv\": \"folder-environment-open\",\n _venv: \"folder-environment-open\",\n __venv__: \"folder-environment-open\",\n func: \"folder-functions-open\",\n \".func\": \"folder-functions-open\",\n _func: \"folder-functions-open\",\n __func__: \"folder-functions-open\",\n funcs: \"folder-functions-open\",\n \".funcs\": \"folder-functions-open\",\n _funcs: \"folder-functions-open\",\n __funcs__: \"folder-functions-open\",\n function: \"folder-functions-open\",\n \".function\": \"folder-functions-open\",\n _function: \"folder-functions-open\",\n __function__: \"folder-functions-open\",\n functions: \"folder-functions-open\",\n \".functions\": \"folder-functions-open\",\n _functions: \"folder-functions-open\",\n __functions__: \"folder-functions-open\",\n lambda: \"folder-functions-open\",\n \".lambda\": \"folder-functions-open\",\n _lambda: \"folder-functions-open\",\n __lambda__: \"folder-functions-open\",\n lambdas: \"folder-functions-open\",\n \".lambdas\": \"folder-functions-open\",\n _lambdas: \"folder-functions-open\",\n __lambdas__: \"folder-functions-open\",\n logic: \"folder-functions-open\",\n \".logic\": \"folder-functions-open\",\n _logic: \"folder-functions-open\",\n __logic__: \"folder-functions-open\",\n math: \"folder-functions-open\",\n \".math\": \"folder-functions-open\",\n _math: \"folder-functions-open\",\n __math__: \"folder-functions-open\",\n maths: \"folder-functions-open\",\n \".maths\": \"folder-functions-open\",\n _maths: \"folder-functions-open\",\n __maths__: \"folder-functions-open\",\n calc: \"folder-functions-open\",\n \".calc\": \"folder-functions-open\",\n _calc: \"folder-functions-open\",\n __calc__: \"folder-functions-open\",\n calcs: \"folder-functions-open\",\n \".calcs\": \"folder-functions-open\",\n _calcs: \"folder-functions-open\",\n __calcs__: \"folder-functions-open\",\n calculation: \"folder-functions-open\",\n \".calculation\": \"folder-functions-open\",\n _calculation: \"folder-functions-open\",\n __calculation__: \"folder-functions-open\",\n calculations: \"folder-functions-open\",\n \".calculations\": \"folder-functions-open\",\n _calculations: \"folder-functions-open\",\n __calculations__: \"folder-functions-open\",\n generator: \"folder-generator-open\",\n \".generator\": \"folder-generator-open\",\n _generator: \"folder-generator-open\",\n __generator__: \"folder-generator-open\",\n generators: \"folder-generator-open\",\n \".generators\": \"folder-generator-open\",\n _generators: \"folder-generator-open\",\n __generators__: \"folder-generator-open\",\n generated: \"folder-generator-open\",\n \".generated\": \"folder-generator-open\",\n _generated: \"folder-generator-open\",\n __generated__: \"folder-generator-open\",\n \"cfn-gen\": \"folder-generator-open\",\n \".cfn-gen\": \"folder-generator-open\",\n \"_cfn-gen\": \"folder-generator-open\",\n \"__cfn-gen__\": \"folder-generator-open\",\n gen: \"folder-generator-open\",\n \".gen\": \"folder-generator-open\",\n _gen: \"folder-generator-open\",\n __gen__: \"folder-generator-open\",\n gens: \"folder-generator-open\",\n \".gens\": \"folder-generator-open\",\n _gens: \"folder-generator-open\",\n __gens__: \"folder-generator-open\",\n auto: \"folder-generator-open\",\n \".auto\": \"folder-generator-open\",\n _auto: \"folder-generator-open\",\n __auto__: \"folder-generator-open\",\n hook: \"folder-hook-open\",\n \".hook\": \"folder-hook-open\",\n _hook: \"folder-hook-open\",\n __hook__: \"folder-hook-open\",\n hooks: \"folder-hook-open\",\n \".hooks\": \"folder-hook-open\",\n _hooks: \"folder-hook-open\",\n __hooks__: \"folder-hook-open\",\n trigger: \"folder-hook-open\",\n \".trigger\": \"folder-hook-open\",\n _trigger: \"folder-hook-open\",\n __trigger__: \"folder-hook-open\",\n triggers: \"folder-hook-open\",\n \".triggers\": \"folder-hook-open\",\n _triggers: \"folder-hook-open\",\n __triggers__: \"folder-hook-open\",\n job: \"folder-job-open\",\n \".job\": \"folder-job-open\",\n _job: \"folder-job-open\",\n __job__: \"folder-job-open\",\n jobs: \"folder-job-open\",\n \".jobs\": \"folder-job-open\",\n _jobs: \"folder-job-open\",\n __jobs__: \"folder-job-open\",\n key: \"folder-keys-open\",\n \".key\": \"folder-keys-open\",\n _key: \"folder-keys-open\",\n __key__: \"folder-keys-open\",\n keys: \"folder-keys-open\",\n \".keys\": \"folder-keys-open\",\n _keys: \"folder-keys-open\",\n __keys__: \"folder-keys-open\",\n token: \"folder-keys-open\",\n \".token\": \"folder-keys-open\",\n _token: \"folder-keys-open\",\n __token__: \"folder-keys-open\",\n tokens: \"folder-keys-open\",\n \".tokens\": \"folder-keys-open\",\n _tokens: \"folder-keys-open\",\n __tokens__: \"folder-keys-open\",\n jwt: \"folder-keys-open\",\n \".jwt\": \"folder-keys-open\",\n _jwt: \"folder-keys-open\",\n __jwt__: \"folder-keys-open\",\n secret: \"folder-keys-open\",\n \".secret\": \"folder-keys-open\",\n _secret: \"folder-keys-open\",\n __secret__: \"folder-keys-open\",\n secrets: \"folder-keys-open\",\n \".secrets\": \"folder-keys-open\",\n _secrets: \"folder-keys-open\",\n __secrets__: \"folder-keys-open\",\n layout: \"folder-layout-open\",\n \".layout\": \"folder-layout-open\",\n _layout: \"folder-layout-open\",\n __layout__: \"folder-layout-open\",\n layouts: \"folder-layout-open\",\n \".layouts\": \"folder-layout-open\",\n _layouts: \"folder-layout-open\",\n __layouts__: \"folder-layout-open\",\n mail: \"folder-mail-open\",\n \".mail\": \"folder-mail-open\",\n _mail: \"folder-mail-open\",\n __mail__: \"folder-mail-open\",\n mails: \"folder-mail-open\",\n \".mails\": \"folder-mail-open\",\n _mails: \"folder-mail-open\",\n __mails__: \"folder-mail-open\",\n email: \"folder-mail-open\",\n \".email\": \"folder-mail-open\",\n _email: \"folder-mail-open\",\n __email__: \"folder-mail-open\",\n emails: \"folder-mail-open\",\n \".emails\": \"folder-mail-open\",\n _emails: \"folder-mail-open\",\n __emails__: \"folder-mail-open\",\n smtp: \"folder-mail-open\",\n \".smtp\": \"folder-mail-open\",\n _smtp: \"folder-mail-open\",\n __smtp__: \"folder-mail-open\",\n mailers: \"folder-mail-open\",\n \".mailers\": \"folder-mail-open\",\n _mailers: \"folder-mail-open\",\n __mailers__: \"folder-mail-open\",\n mappings: \"folder-mappings-open\",\n \".mappings\": \"folder-mappings-open\",\n _mappings: \"folder-mappings-open\",\n __mappings__: \"folder-mappings-open\",\n mapping: \"folder-mappings-open\",\n \".mapping\": \"folder-mappings-open\",\n _mapping: \"folder-mappings-open\",\n __mapping__: \"folder-mappings-open\",\n meta: \"folder-meta-open\",\n \".meta\": \"folder-meta-open\",\n _meta: \"folder-meta-open\",\n __meta__: \"folder-meta-open\",\n changesets: \"folder-changesets-open\",\n \".changesets\": \"folder-changesets-open\",\n _changesets: \"folder-changesets-open\",\n __changesets__: \"folder-changesets-open\",\n changeset: \"folder-changesets-open\",\n \".changeset\": \"folder-changesets-open\",\n _changeset: \"folder-changesets-open\",\n __changeset__: \"folder-changesets-open\",\n package: \"folder-packages-open\",\n \".package\": \"folder-packages-open\",\n _package: \"folder-packages-open\",\n __package__: \"folder-packages-open\",\n packages: \"folder-packages-open\",\n \".packages\": \"folder-packages-open\",\n _packages: \"folder-packages-open\",\n __packages__: \"folder-packages-open\",\n pkg: \"folder-packages-open\",\n \".pkg\": \"folder-packages-open\",\n _pkg: \"folder-packages-open\",\n __pkg__: \"folder-packages-open\",\n pkgs: \"folder-packages-open\",\n \".pkgs\": \"folder-packages-open\",\n _pkgs: \"folder-packages-open\",\n __pkgs__: \"folder-packages-open\",\n shared: \"folder-shared-open\",\n \".shared\": \"folder-shared-open\",\n _shared: \"folder-shared-open\",\n __shared__: \"folder-shared-open\",\n common: \"folder-shared-open\",\n \".common\": \"folder-shared-open\",\n _common: \"folder-shared-open\",\n __common__: \"folder-shared-open\",\n glsl: \"folder-shader-open\",\n \".glsl\": \"folder-shader-open\",\n _glsl: \"folder-shader-open\",\n __glsl__: \"folder-shader-open\",\n hlsl: \"folder-shader-open\",\n \".hlsl\": \"folder-shader-open\",\n _hlsl: \"folder-shader-open\",\n __hlsl__: \"folder-shader-open\",\n shader: \"folder-shader-open\",\n \".shader\": \"folder-shader-open\",\n _shader: \"folder-shader-open\",\n __shader__: \"folder-shader-open\",\n shaders: \"folder-shader-open\",\n \".shaders\": \"folder-shader-open\",\n _shaders: \"folder-shader-open\",\n __shaders__: \"folder-shader-open\",\n stack: \"folder-stack-open\",\n \".stack\": \"folder-stack-open\",\n _stack: \"folder-stack-open\",\n __stack__: \"folder-stack-open\",\n stacks: \"folder-stack-open\",\n \".stacks\": \"folder-stack-open\",\n _stacks: \"folder-stack-open\",\n __stacks__: \"folder-stack-open\",\n template: \"folder-template-open\",\n \".template\": \"folder-template-open\",\n _template: \"folder-template-open\",\n __template__: \"folder-template-open\",\n templates: \"folder-template-open\",\n \".templates\": \"folder-template-open\",\n _templates: \"folder-template-open\",\n __templates__: \"folder-template-open\",\n util: \"folder-utils-open\",\n \".util\": \"folder-utils-open\",\n _util: \"folder-utils-open\",\n __util__: \"folder-utils-open\",\n utils: \"folder-utils-open\",\n \".utils\": \"folder-utils-open\",\n _utils: \"folder-utils-open\",\n __utils__: \"folder-utils-open\",\n utility: \"folder-utils-open\",\n \".utility\": \"folder-utils-open\",\n _utility: \"folder-utils-open\",\n __utility__: \"folder-utils-open\",\n utilities: \"folder-utils-open\",\n \".utilities\": \"folder-utils-open\",\n _utilities: \"folder-utils-open\",\n __utilities__: \"folder-utils-open\",\n supabase: \"folder-supabase-open\",\n \".supabase\": \"folder-supabase-open\",\n _supabase: \"folder-supabase-open\",\n __supabase__: \"folder-supabase-open\",\n private: \"folder-private-open\",\n \".private\": \"folder-private-open\",\n _private: \"folder-private-open\",\n __private__: \"folder-private-open\",\n linux: \"folder-linux-open\",\n \".linux\": \"folder-linux-open\",\n _linux: \"folder-linux-open\",\n __linux__: \"folder-linux-open\",\n linuxbsd: \"folder-linux-open\",\n \".linuxbsd\": \"folder-linux-open\",\n _linuxbsd: \"folder-linux-open\",\n __linuxbsd__: \"folder-linux-open\",\n unix: \"folder-linux-open\",\n \".unix\": \"folder-linux-open\",\n _unix: \"folder-linux-open\",\n __unix__: \"folder-linux-open\",\n windows: \"folder-windows-open\",\n \".windows\": \"folder-windows-open\",\n _windows: \"folder-windows-open\",\n __windows__: \"folder-windows-open\",\n win: \"folder-windows-open\",\n \".win\": \"folder-windows-open\",\n _win: \"folder-windows-open\",\n __win__: \"folder-windows-open\",\n macos: \"folder-macos-open\",\n \".macos\": \"folder-macos-open\",\n _macos: \"folder-macos-open\",\n __macos__: \"folder-macos-open\",\n mac: \"folder-macos-open\",\n \".mac\": \"folder-macos-open\",\n _mac: \"folder-macos-open\",\n __mac__: \"folder-macos-open\",\n DS_Store: \"folder-macos-open\",\n \".DS_Store\": \"folder-macos-open\",\n _DS_Store: \"folder-macos-open\",\n __DS_Store__: \"folder-macos-open\",\n error: \"folder-error-open\",\n \".error\": \"folder-error-open\",\n _error: \"folder-error-open\",\n __error__: \"folder-error-open\",\n errors: \"folder-error-open\",\n \".errors\": \"folder-error-open\",\n _errors: \"folder-error-open\",\n __errors__: \"folder-error-open\",\n err: \"folder-error-open\",\n \".err\": \"folder-error-open\",\n _err: \"folder-error-open\",\n __err__: \"folder-error-open\",\n errs: \"folder-error-open\",\n \".errs\": \"folder-error-open\",\n _errs: \"folder-error-open\",\n __errs__: \"folder-error-open\",\n crash: \"folder-error-open\",\n \".crash\": \"folder-error-open\",\n _crash: \"folder-error-open\",\n __crash__: \"folder-error-open\",\n crashes: \"folder-error-open\",\n \".crashes\": \"folder-error-open\",\n _crashes: \"folder-error-open\",\n __crashes__: \"folder-error-open\",\n event: \"folder-event-open\",\n \".event\": \"folder-event-open\",\n _event: \"folder-event-open\",\n __event__: \"folder-event-open\",\n events: \"folder-event-open\",\n \".events\": \"folder-event-open\",\n _events: \"folder-event-open\",\n __events__: \"folder-event-open\",\n auth: \"folder-secure-open\",\n \".auth\": \"folder-secure-open\",\n _auth: \"folder-secure-open\",\n __auth__: \"folder-secure-open\",\n authentication: \"folder-secure-open\",\n \".authentication\": \"folder-secure-open\",\n _authentication: \"folder-secure-open\",\n __authentication__: \"folder-secure-open\",\n secure: \"folder-secure-open\",\n \".secure\": \"folder-secure-open\",\n _secure: \"folder-secure-open\",\n __secure__: \"folder-secure-open\",\n security: \"folder-secure-open\",\n \".security\": \"folder-secure-open\",\n _security: \"folder-secure-open\",\n __security__: \"folder-secure-open\",\n cert: \"folder-secure-open\",\n \".cert\": \"folder-secure-open\",\n _cert: \"folder-secure-open\",\n __cert__: \"folder-secure-open\",\n certs: \"folder-secure-open\",\n \".certs\": \"folder-secure-open\",\n _certs: \"folder-secure-open\",\n __certs__: \"folder-secure-open\",\n certificate: \"folder-secure-open\",\n \".certificate\": \"folder-secure-open\",\n _certificate: \"folder-secure-open\",\n __certificate__: \"folder-secure-open\",\n certificates: \"folder-secure-open\",\n \".certificates\": \"folder-secure-open\",\n _certificates: \"folder-secure-open\",\n __certificates__: \"folder-secure-open\",\n ssl: \"folder-secure-open\",\n \".ssl\": \"folder-secure-open\",\n _ssl: \"folder-secure-open\",\n __ssl__: \"folder-secure-open\",\n custom: \"folder-custom-open\",\n \".custom\": \"folder-custom-open\",\n _custom: \"folder-custom-open\",\n __custom__: \"folder-custom-open\",\n customs: \"folder-custom-open\",\n \".customs\": \"folder-custom-open\",\n _customs: \"folder-custom-open\",\n __customs__: \"folder-custom-open\",\n draft: \"folder-mock-open\",\n \".draft\": \"folder-mock-open\",\n _draft: \"folder-mock-open\",\n __draft__: \"folder-mock-open\",\n drafts: \"folder-mock-open\",\n \".drafts\": \"folder-mock-open\",\n _drafts: \"folder-mock-open\",\n __drafts__: \"folder-mock-open\",\n mock: \"folder-mock-open\",\n \".mock\": \"folder-mock-open\",\n _mock: \"folder-mock-open\",\n __mock__: \"folder-mock-open\",\n mocks: \"folder-mock-open\",\n \".mocks\": \"folder-mock-open\",\n _mocks: \"folder-mock-open\",\n __mocks__: \"folder-mock-open\",\n fixture: \"folder-mock-open\",\n \".fixture\": \"folder-mock-open\",\n _fixture: \"folder-mock-open\",\n __fixture__: \"folder-mock-open\",\n fixtures: \"folder-mock-open\",\n \".fixtures\": \"folder-mock-open\",\n _fixtures: \"folder-mock-open\",\n __fixtures__: \"folder-mock-open\",\n concept: \"folder-mock-open\",\n \".concept\": \"folder-mock-open\",\n _concept: \"folder-mock-open\",\n __concept__: \"folder-mock-open\",\n concepts: \"folder-mock-open\",\n \".concepts\": \"folder-mock-open\",\n _concepts: \"folder-mock-open\",\n __concepts__: \"folder-mock-open\",\n sketch: \"folder-mock-open\",\n \".sketch\": \"folder-mock-open\",\n _sketch: \"folder-mock-open\",\n __sketch__: \"folder-mock-open\",\n sketches: \"folder-mock-open\",\n \".sketches\": \"folder-mock-open\",\n _sketches: \"folder-mock-open\",\n __sketches__: \"folder-mock-open\",\n syntax: \"folder-syntax-open\",\n \".syntax\": \"folder-syntax-open\",\n _syntax: \"folder-syntax-open\",\n __syntax__: \"folder-syntax-open\",\n syntaxes: \"folder-syntax-open\",\n \".syntaxes\": \"folder-syntax-open\",\n _syntaxes: \"folder-syntax-open\",\n __syntaxes__: \"folder-syntax-open\",\n spellcheck: \"folder-syntax-open\",\n \".spellcheck\": \"folder-syntax-open\",\n _spellcheck: \"folder-syntax-open\",\n __spellcheck__: \"folder-syntax-open\",\n vm: \"folder-vm-open\",\n \".vm\": \"folder-vm-open\",\n _vm: \"folder-vm-open\",\n __vm__: \"folder-vm-open\",\n vms: \"folder-vm-open\",\n \".vms\": \"folder-vm-open\",\n _vms: \"folder-vm-open\",\n __vms__: \"folder-vm-open\",\n stylus: \"folder-stylus-open\",\n \".stylus\": \"folder-stylus-open\",\n _stylus: \"folder-stylus-open\",\n __stylus__: \"folder-stylus-open\",\n \"flow-typed\": \"folder-flow-open\",\n \".flow-typed\": \"folder-flow-open\",\n \"_flow-typed\": \"folder-flow-open\",\n \"__flow-typed__\": \"folder-flow-open\",\n rule: \"folder-rules-open\",\n \".rule\": \"folder-rules-open\",\n _rule: \"folder-rules-open\",\n __rule__: \"folder-rules-open\",\n rules: \"folder-rules-open\",\n \".rules\": \"folder-rules-open\",\n _rules: \"folder-rules-open\",\n __rules__: \"folder-rules-open\",\n validation: \"folder-rules-open\",\n \".validation\": \"folder-rules-open\",\n _validation: \"folder-rules-open\",\n __validation__: \"folder-rules-open\",\n validations: \"folder-rules-open\",\n \".validations\": \"folder-rules-open\",\n _validations: \"folder-rules-open\",\n __validations__: \"folder-rules-open\",\n validator: \"folder-rules-open\",\n \".validator\": \"folder-rules-open\",\n _validator: \"folder-rules-open\",\n __validator__: \"folder-rules-open\",\n validators: \"folder-rules-open\",\n \".validators\": \"folder-rules-open\",\n _validators: \"folder-rules-open\",\n __validators__: \"folder-rules-open\",\n review: \"folder-review-open\",\n \".review\": \"folder-review-open\",\n _review: \"folder-review-open\",\n __review__: \"folder-review-open\",\n reviews: \"folder-review-open\",\n \".reviews\": \"folder-review-open\",\n _reviews: \"folder-review-open\",\n __reviews__: \"folder-review-open\",\n revisal: \"folder-review-open\",\n \".revisal\": \"folder-review-open\",\n _revisal: \"folder-review-open\",\n __revisal__: \"folder-review-open\",\n revisals: \"folder-review-open\",\n \".revisals\": \"folder-review-open\",\n _revisals: \"folder-review-open\",\n __revisals__: \"folder-review-open\",\n reviewed: \"folder-review-open\",\n \".reviewed\": \"folder-review-open\",\n _reviewed: \"folder-review-open\",\n __reviewed__: \"folder-review-open\",\n anim: \"folder-animation-open\",\n \".anim\": \"folder-animation-open\",\n _anim: \"folder-animation-open\",\n __anim__: \"folder-animation-open\",\n anims: \"folder-animation-open\",\n \".anims\": \"folder-animation-open\",\n _anims: \"folder-animation-open\",\n __anims__: \"folder-animation-open\",\n animation: \"folder-animation-open\",\n \".animation\": \"folder-animation-open\",\n _animation: \"folder-animation-open\",\n __animation__: \"folder-animation-open\",\n animations: \"folder-animation-open\",\n \".animations\": \"folder-animation-open\",\n _animations: \"folder-animation-open\",\n __animations__: \"folder-animation-open\",\n animated: \"folder-animation-open\",\n \".animated\": \"folder-animation-open\",\n _animated: \"folder-animation-open\",\n __animated__: \"folder-animation-open\",\n guard: \"folder-guard-open\",\n \".guard\": \"folder-guard-open\",\n _guard: \"folder-guard-open\",\n __guard__: \"folder-guard-open\",\n guards: \"folder-guard-open\",\n \".guards\": \"folder-guard-open\",\n _guards: \"folder-guard-open\",\n __guards__: \"folder-guard-open\",\n prisma: \"folder-prisma-open\",\n \".prisma\": \"folder-prisma-open\",\n _prisma: \"folder-prisma-open\",\n __prisma__: \"folder-prisma-open\",\n pipe: \"folder-pipe-open\",\n \".pipe\": \"folder-pipe-open\",\n _pipe: \"folder-pipe-open\",\n __pipe__: \"folder-pipe-open\",\n pipes: \"folder-pipe-open\",\n \".pipes\": \"folder-pipe-open\",\n _pipes: \"folder-pipe-open\",\n __pipes__: \"folder-pipe-open\",\n svg: \"folder-svg-open\",\n \".svg\": \"folder-svg-open\",\n _svg: \"folder-svg-open\",\n __svg__: \"folder-svg-open\",\n svgs: \"folder-svg-open\",\n \".svgs\": \"folder-svg-open\",\n _svgs: \"folder-svg-open\",\n __svgs__: \"folder-svg-open\",\n terraform: \"folder-terraform-open\",\n \".terraform\": \"folder-terraform-open\",\n _terraform: \"folder-terraform-open\",\n __terraform__: \"folder-terraform-open\",\n mobile: \"folder-mobile-open\",\n \".mobile\": \"folder-mobile-open\",\n _mobile: \"folder-mobile-open\",\n __mobile__: \"folder-mobile-open\",\n mobiles: \"folder-mobile-open\",\n \".mobiles\": \"folder-mobile-open\",\n _mobiles: \"folder-mobile-open\",\n __mobiles__: \"folder-mobile-open\",\n portable: \"folder-mobile-open\",\n \".portable\": \"folder-mobile-open\",\n _portable: \"folder-mobile-open\",\n __portable__: \"folder-mobile-open\",\n portability: \"folder-mobile-open\",\n \".portability\": \"folder-mobile-open\",\n _portability: \"folder-mobile-open\",\n __portability__: \"folder-mobile-open\",\n stencil: \"folder-stencil-open\",\n \".stencil\": \"folder-stencil-open\",\n _stencil: \"folder-stencil-open\",\n __stencil__: \"folder-stencil-open\",\n firebase: \"folder-firebase-open\",\n \".firebase\": \"folder-firebase-open\",\n _firebase: \"folder-firebase-open\",\n __firebase__: \"folder-firebase-open\",\n svelte: \"folder-svelte-open\",\n \".svelte\": \"folder-svelte-open\",\n _svelte: \"folder-svelte-open\",\n __svelte__: \"folder-svelte-open\",\n \"svelte-kit\": \"folder-svelte-open\",\n \".svelte-kit\": \"folder-svelte-open\",\n \"_svelte-kit\": \"folder-svelte-open\",\n \"__svelte-kit__\": \"folder-svelte-open\",\n update: \"folder-update-open\",\n \".update\": \"folder-update-open\",\n _update: \"folder-update-open\",\n __update__: \"folder-update-open\",\n updates: \"folder-update-open\",\n \".updates\": \"folder-update-open\",\n _updates: \"folder-update-open\",\n __updates__: \"folder-update-open\",\n upgrade: \"folder-update-open\",\n \".upgrade\": \"folder-update-open\",\n _upgrade: \"folder-update-open\",\n __upgrade__: \"folder-update-open\",\n upgrades: \"folder-update-open\",\n \".upgrades\": \"folder-update-open\",\n _upgrades: \"folder-update-open\",\n __upgrades__: \"folder-update-open\",\n idea: \"folder-intellij-open\",\n \".idea\": \"folder-intellij-open\",\n _idea: \"folder-intellij-open\",\n __idea__: \"folder-intellij-open\",\n \"azure-pipelines\": \"folder-azure-pipelines-open\",\n \".azure-pipelines\": \"folder-azure-pipelines-open\",\n \"_azure-pipelines\": \"folder-azure-pipelines-open\",\n \"__azure-pipelines__\": \"folder-azure-pipelines-open\",\n \"azure-pipelines-ci\": \"folder-azure-pipelines-open\",\n \".azure-pipelines-ci\": \"folder-azure-pipelines-open\",\n \"_azure-pipelines-ci\": \"folder-azure-pipelines-open\",\n \"__azure-pipelines-ci__\": \"folder-azure-pipelines-open\",\n mjml: \"folder-mjml-open\",\n \".mjml\": \"folder-mjml-open\",\n _mjml: \"folder-mjml-open\",\n __mjml__: \"folder-mjml-open\",\n admin: \"folder-admin-open\",\n \".admin\": \"folder-admin-open\",\n _admin: \"folder-admin-open\",\n __admin__: \"folder-admin-open\",\n admins: \"folder-admin-open\",\n \".admins\": \"folder-admin-open\",\n _admins: \"folder-admin-open\",\n __admins__: \"folder-admin-open\",\n manager: \"folder-admin-open\",\n \".manager\": \"folder-admin-open\",\n _manager: \"folder-admin-open\",\n __manager__: \"folder-admin-open\",\n managers: \"folder-admin-open\",\n \".managers\": \"folder-admin-open\",\n _managers: \"folder-admin-open\",\n __managers__: \"folder-admin-open\",\n moderator: \"folder-admin-open\",\n \".moderator\": \"folder-admin-open\",\n _moderator: \"folder-admin-open\",\n __moderator__: \"folder-admin-open\",\n moderators: \"folder-admin-open\",\n \".moderators\": \"folder-admin-open\",\n _moderators: \"folder-admin-open\",\n __moderators__: \"folder-admin-open\",\n scala: \"folder-scala-open\",\n \".scala\": \"folder-scala-open\",\n _scala: \"folder-scala-open\",\n __scala__: \"folder-scala-open\",\n connection: \"folder-connection-open\",\n \".connection\": \"folder-connection-open\",\n _connection: \"folder-connection-open\",\n __connection__: \"folder-connection-open\",\n connections: \"folder-connection-open\",\n \".connections\": \"folder-connection-open\",\n _connections: \"folder-connection-open\",\n __connections__: \"folder-connection-open\",\n integration: \"folder-connection-open\",\n \".integration\": \"folder-connection-open\",\n _integration: \"folder-connection-open\",\n __integration__: \"folder-connection-open\",\n integrations: \"folder-connection-open\",\n \".integrations\": \"folder-connection-open\",\n _integrations: \"folder-connection-open\",\n __integrations__: \"folder-connection-open\",\n quasar: \"folder-quasar-open\",\n \".quasar\": \"folder-quasar-open\",\n _quasar: \"folder-quasar-open\",\n __quasar__: \"folder-quasar-open\",\n next: \"folder-next-open\",\n \".next\": \"folder-next-open\",\n _next: \"folder-next-open\",\n __next__: \"folder-next-open\",\n cobol: \"folder-cobol-open\",\n \".cobol\": \"folder-cobol-open\",\n _cobol: \"folder-cobol-open\",\n __cobol__: \"folder-cobol-open\",\n yarn: \"folder-yarn-open\",\n \".yarn\": \"folder-yarn-open\",\n _yarn: \"folder-yarn-open\",\n __yarn__: \"folder-yarn-open\",\n husky: \"folder-husky-open\",\n \".husky\": \"folder-husky-open\",\n _husky: \"folder-husky-open\",\n __husky__: \"folder-husky-open\",\n storybook: \"folder-storybook-open\",\n \".storybook\": \"folder-storybook-open\",\n _storybook: \"folder-storybook-open\",\n __storybook__: \"folder-storybook-open\",\n stories: \"folder-storybook-open\",\n \".stories\": \"folder-storybook-open\",\n _stories: \"folder-storybook-open\",\n __stories__: \"folder-storybook-open\",\n base: \"folder-base-open\",\n \".base\": \"folder-base-open\",\n _base: \"folder-base-open\",\n __base__: \"folder-base-open\",\n bases: \"folder-base-open\",\n \".bases\": \"folder-base-open\",\n _bases: \"folder-base-open\",\n __bases__: \"folder-base-open\",\n cart: \"folder-cart-open\",\n \".cart\": \"folder-cart-open\",\n _cart: \"folder-cart-open\",\n __cart__: \"folder-cart-open\",\n \"shopping-cart\": \"folder-cart-open\",\n \".shopping-cart\": \"folder-cart-open\",\n \"_shopping-cart\": \"folder-cart-open\",\n \"__shopping-cart__\": \"folder-cart-open\",\n shopping: \"folder-cart-open\",\n \".shopping\": \"folder-cart-open\",\n _shopping: \"folder-cart-open\",\n __shopping__: \"folder-cart-open\",\n shop: \"folder-cart-open\",\n \".shop\": \"folder-cart-open\",\n _shop: \"folder-cart-open\",\n __shop__: \"folder-cart-open\",\n home: \"folder-home-open\",\n \".home\": \"folder-home-open\",\n _home: \"folder-home-open\",\n __home__: \"folder-home-open\",\n start: \"folder-home-open\",\n \".start\": \"folder-home-open\",\n _start: \"folder-home-open\",\n __start__: \"folder-home-open\",\n project: \"folder-project-open\",\n \".project\": \"folder-project-open\",\n _project: \"folder-project-open\",\n __project__: \"folder-project-open\",\n projects: \"folder-project-open\",\n \".projects\": \"folder-project-open\",\n _projects: \"folder-project-open\",\n __projects__: \"folder-project-open\",\n interface: \"folder-interface-open\",\n \".interface\": \"folder-interface-open\",\n _interface: \"folder-interface-open\",\n __interface__: \"folder-interface-open\",\n interfaces: \"folder-interface-open\",\n \".interfaces\": \"folder-interface-open\",\n _interfaces: \"folder-interface-open\",\n __interfaces__: \"folder-interface-open\",\n netlify: \"folder-netlify-open\",\n \".netlify\": \"folder-netlify-open\",\n _netlify: \"folder-netlify-open\",\n __netlify__: \"folder-netlify-open\",\n enum: \"folder-enum-open\",\n \".enum\": \"folder-enum-open\",\n _enum: \"folder-enum-open\",\n __enum__: \"folder-enum-open\",\n enums: \"folder-enum-open\",\n \".enums\": \"folder-enum-open\",\n _enums: \"folder-enum-open\",\n __enums__: \"folder-enum-open\",\n pact: \"folder-contract-open\",\n \".pact\": \"folder-contract-open\",\n _pact: \"folder-contract-open\",\n __pact__: \"folder-contract-open\",\n pacts: \"folder-contract-open\",\n \".pacts\": \"folder-contract-open\",\n _pacts: \"folder-contract-open\",\n __pacts__: \"folder-contract-open\",\n contract: \"folder-contract-open\",\n \".contract\": \"folder-contract-open\",\n _contract: \"folder-contract-open\",\n __contract__: \"folder-contract-open\",\n contracts: \"folder-contract-open\",\n \".contracts\": \"folder-contract-open\",\n _contracts: \"folder-contract-open\",\n __contracts__: \"folder-contract-open\",\n \"contract-testing\": \"folder-contract-open\",\n \".contract-testing\": \"folder-contract-open\",\n \"_contract-testing\": \"folder-contract-open\",\n \"__contract-testing__\": \"folder-contract-open\",\n \"contract-test\": \"folder-contract-open\",\n \".contract-test\": \"folder-contract-open\",\n \"_contract-test\": \"folder-contract-open\",\n \"__contract-test__\": \"folder-contract-open\",\n \"contract-tests\": \"folder-contract-open\",\n \".contract-tests\": \"folder-contract-open\",\n \"_contract-tests\": \"folder-contract-open\",\n \"__contract-tests__\": \"folder-contract-open\",\n queue: \"folder-queue-open\",\n \".queue\": \"folder-queue-open\",\n _queue: \"folder-queue-open\",\n __queue__: \"folder-queue-open\",\n queues: \"folder-queue-open\",\n \".queues\": \"folder-queue-open\",\n _queues: \"folder-queue-open\",\n __queues__: \"folder-queue-open\",\n bull: \"folder-queue-open\",\n \".bull\": \"folder-queue-open\",\n _bull: \"folder-queue-open\",\n __bull__: \"folder-queue-open\",\n mq: \"folder-queue-open\",\n \".mq\": \"folder-queue-open\",\n _mq: \"folder-queue-open\",\n __mq__: \"folder-queue-open\",\n vercel: \"folder-vercel-open\",\n \".vercel\": \"folder-vercel-open\",\n _vercel: \"folder-vercel-open\",\n __vercel__: \"folder-vercel-open\",\n now: \"folder-vercel-open\",\n \".now\": \"folder-vercel-open\",\n _now: \"folder-vercel-open\",\n __now__: \"folder-vercel-open\",\n cypress: \"folder-cypress-open\",\n \".cypress\": \"folder-cypress-open\",\n _cypress: \"folder-cypress-open\",\n __cypress__: \"folder-cypress-open\",\n decorator: \"folder-decorators-open\",\n \".decorator\": \"folder-decorators-open\",\n _decorator: \"folder-decorators-open\",\n __decorator__: \"folder-decorators-open\",\n decorators: \"folder-decorators-open\",\n \".decorators\": \"folder-decorators-open\",\n _decorators: \"folder-decorators-open\",\n __decorators__: \"folder-decorators-open\",\n java: \"folder-java-open\",\n \".java\": \"folder-java-open\",\n _java: \"folder-java-open\",\n __java__: \"folder-java-open\",\n resolver: \"folder-resolver-open\",\n \".resolver\": \"folder-resolver-open\",\n _resolver: \"folder-resolver-open\",\n __resolver__: \"folder-resolver-open\",\n resolvers: \"folder-resolver-open\",\n \".resolvers\": \"folder-resolver-open\",\n _resolvers: \"folder-resolver-open\",\n __resolvers__: \"folder-resolver-open\",\n angular: \"folder-angular-open\",\n \".angular\": \"folder-angular-open\",\n _angular: \"folder-angular-open\",\n __angular__: \"folder-angular-open\",\n unity: \"folder-unity-open\",\n \".unity\": \"folder-unity-open\",\n _unity: \"folder-unity-open\",\n __unity__: \"folder-unity-open\",\n pdf: \"folder-pdf-open\",\n \".pdf\": \"folder-pdf-open\",\n _pdf: \"folder-pdf-open\",\n __pdf__: \"folder-pdf-open\",\n pdfs: \"folder-pdf-open\",\n \".pdfs\": \"folder-pdf-open\",\n _pdfs: \"folder-pdf-open\",\n __pdfs__: \"folder-pdf-open\",\n protobuf: \"folder-proto-open\",\n \".protobuf\": \"folder-proto-open\",\n _protobuf: \"folder-proto-open\",\n __protobuf__: \"folder-proto-open\",\n protobufs: \"folder-proto-open\",\n \".protobufs\": \"folder-proto-open\",\n _protobufs: \"folder-proto-open\",\n __protobufs__: \"folder-proto-open\",\n proto: \"folder-proto-open\",\n \".proto\": \"folder-proto-open\",\n _proto: \"folder-proto-open\",\n protos: \"folder-proto-open\",\n \".protos\": \"folder-proto-open\",\n _protos: \"folder-proto-open\",\n __protos__: \"folder-proto-open\",\n plastic: \"folder-plastic-open\",\n \".plastic\": \"folder-plastic-open\",\n _plastic: \"folder-plastic-open\",\n __plastic__: \"folder-plastic-open\",\n gamemaker: \"folder-gamemaker-open\",\n \".gamemaker\": \"folder-gamemaker-open\",\n _gamemaker: \"folder-gamemaker-open\",\n __gamemaker__: \"folder-gamemaker-open\",\n gamemaker2: \"folder-gamemaker-open\",\n \".gamemaker2\": \"folder-gamemaker-open\",\n _gamemaker2: \"folder-gamemaker-open\",\n __gamemaker2__: \"folder-gamemaker-open\",\n hg: \"folder-mercurial-open\",\n \".hg\": \"folder-mercurial-open\",\n _hg: \"folder-mercurial-open\",\n __hg__: \"folder-mercurial-open\",\n hghooks: \"folder-mercurial-open\",\n \".hghooks\": \"folder-mercurial-open\",\n _hghooks: \"folder-mercurial-open\",\n __hghooks__: \"folder-mercurial-open\",\n hgext: \"folder-mercurial-open\",\n \".hgext\": \"folder-mercurial-open\",\n _hgext: \"folder-mercurial-open\",\n __hgext__: \"folder-mercurial-open\",\n godot: \"folder-godot-open\",\n \".godot\": \"folder-godot-open\",\n _godot: \"folder-godot-open\",\n __godot__: \"folder-godot-open\",\n \"godot-cpp\": \"folder-godot-open\",\n \".godot-cpp\": \"folder-godot-open\",\n \"_godot-cpp\": \"folder-godot-open\",\n \"__godot-cpp__\": \"folder-godot-open\",\n lottie: \"folder-lottie-open\",\n \".lottie\": \"folder-lottie-open\",\n _lottie: \"folder-lottie-open\",\n __lottie__: \"folder-lottie-open\",\n lotties: \"folder-lottie-open\",\n \".lotties\": \"folder-lottie-open\",\n _lotties: \"folder-lottie-open\",\n __lotties__: \"folder-lottie-open\",\n lottiefiles: \"folder-lottie-open\",\n \".lottiefiles\": \"folder-lottie-open\",\n _lottiefiles: \"folder-lottie-open\",\n __lottiefiles__: \"folder-lottie-open\",\n taskfile: \"folder-taskfile-open\",\n \".taskfile\": \"folder-taskfile-open\",\n _taskfile: \"folder-taskfile-open\",\n __taskfile__: \"folder-taskfile-open\",\n taskfiles: \"folder-taskfile-open\",\n \".taskfiles\": \"folder-taskfile-open\",\n _taskfiles: \"folder-taskfile-open\",\n __taskfiles__: \"folder-taskfile-open\",\n cloudflare: \"folder-cloudflare-open\",\n \".cloudflare\": \"folder-cloudflare-open\",\n _cloudflare: \"folder-cloudflare-open\",\n __cloudflare__: \"folder-cloudflare-open\",\n seeds: \"folder-seeders-open\",\n \".seeds\": \"folder-seeders-open\",\n _seeds: \"folder-seeders-open\",\n __seeds__: \"folder-seeders-open\",\n seeders: \"folder-seeders-open\",\n \".seeders\": \"folder-seeders-open\",\n _seeders: \"folder-seeders-open\",\n __seeders__: \"folder-seeders-open\",\n seed: \"folder-seeders-open\",\n \".seed\": \"folder-seeders-open\",\n _seed: \"folder-seeders-open\",\n __seed__: \"folder-seeders-open\",\n seeding: \"folder-seeders-open\",\n \".seeding\": \"folder-seeders-open\",\n _seeding: \"folder-seeders-open\",\n __seeding__: \"folder-seeders-open\"\n },\n fileExtensions: {\n htm: \"html\",\n xhtml: \"html\",\n html_vm: \"html\",\n asp: \"html\",\n jade: \"pug\",\n pug: \"pug\",\n md: \"markdown\",\n markdown: \"markdown\",\n rst: \"markdown\",\n blink: \"blink\",\n css: \"css\",\n scss: \"sass\",\n sass: \"sass\",\n less: \"less\",\n json: \"json\",\n jsonc: \"json\",\n tsbuildinfo: \"json\",\n json5: \"json\",\n jsonl: \"json\",\n ndjson: \"json\",\n hjson: \"hjson\",\n jinja: \"jinja\",\n jinja2: \"jinja\",\n j2: \"jinja\",\n \"jinja-html\": \"jinja\",\n proto: \"proto\",\n \"sublime-project\": \"sublime\",\n \"sublime-workspace\": \"sublime\",\n tw: \"twine\",\n twee: \"twine\",\n \"yml.dist\": \"yaml\",\n \"yaml.dist\": \"yaml\",\n \"YAML-tmLanguage\": \"yaml\",\n xml: \"xml\",\n plist: \"xml\",\n xsd: \"xml\",\n dtd: \"xml\",\n xsl: \"xml\",\n xslt: \"xml\",\n resx: \"xml\",\n iml: \"xml\",\n xquery: \"xml\",\n tmLanguage: \"xml\",\n manifest: \"xml\",\n project: \"xml\",\n \"xml.dist\": \"xml\",\n \"xml.dist.sample\": \"xml\",\n dmn: \"xml\",\n jrxml: \"xml\",\n png: \"image\",\n jpeg: \"image\",\n jpg: \"image\",\n gif: \"image\",\n ico: \"image\",\n tif: \"image\",\n tiff: \"image\",\n psd: \"image\",\n psb: \"image\",\n ami: \"image\",\n apx: \"image\",\n avif: \"image\",\n bmp: \"image\",\n bpg: \"image\",\n brk: \"image\",\n cur: \"image\",\n dds: \"image\",\n dng: \"image\",\n exr: \"image\",\n fpx: \"image\",\n gbr: \"image\",\n img: \"image\",\n jbig2: \"image\",\n jb2: \"image\",\n jng: \"image\",\n jxr: \"image\",\n pgf: \"image\",\n pic: \"image\",\n raw: \"image\",\n webp: \"image\",\n eps: \"image\",\n afphoto: \"image\",\n ase: \"image\",\n aseprite: \"image\",\n clip: \"image\",\n cpt: \"image\",\n heif: \"image\",\n heic: \"image\",\n kra: \"image\",\n mdp: \"image\",\n ora: \"image\",\n pdn: \"image\",\n reb: \"image\",\n sai: \"image\",\n tga: \"image\",\n xcf: \"image\",\n jfif: \"image\",\n ppm: \"image\",\n pbm: \"image\",\n pgm: \"image\",\n pnm: \"image\",\n icns: \"image\",\n esx: \"javascript\",\n mjs: \"javascript\",\n jsx: \"react\",\n tsx: \"react_ts\",\n \"routing.ts\": \"routing\",\n \"routing.tsx\": \"routing\",\n \"routing.js\": \"routing\",\n \"routing.jsx\": \"routing\",\n \"routes.ts\": \"routing\",\n \"routes.tsx\": \"routing\",\n \"routes.js\": \"routing\",\n \"routes.jsx\": \"routing\",\n ini: \"settings\",\n dlc: \"settings\",\n config: \"settings\",\n conf: \"settings\",\n properties: \"settings\",\n prop: \"settings\",\n settings: \"settings\",\n option: \"settings\",\n props: \"settings\",\n toml: \"settings\",\n prefs: \"settings\",\n \"sln.dotsettings\": \"settings\",\n \"sln.dotsettings.user\": \"settings\",\n cfg: \"settings\",\n \"d.ts\": \"typescript-def\",\n \"d.cts\": \"typescript-def\",\n \"d.mts\": \"typescript-def\",\n marko: \"markojs\",\n astro: \"astro\",\n pdf: \"pdf\",\n xlsx: \"table\",\n xlsm: \"table\",\n xls: \"table\",\n csv: \"table\",\n tsv: \"table\",\n psv: \"table\",\n ods: \"table\",\n vscodeignore: \"vscode\",\n vsixmanifest: \"vscode\",\n vsix: \"vscode\",\n \"code-workplace\": \"vscode\",\n \"code-workspace\": \"vscode\",\n \"code-profile\": \"vscode\",\n \"code-snippets\": \"vscode\",\n csproj: \"visualstudio\",\n ruleset: \"visualstudio\",\n sln: \"visualstudio\",\n slnx: \"visualstudio\",\n suo: \"visualstudio\",\n vb: \"visualstudio\",\n vbs: \"visualstudio\",\n vcxitems: \"visualstudio\",\n \"vcxitems.filters\": \"visualstudio\",\n vcxproj: \"visualstudio\",\n \"vcxproj.filters\": \"visualstudio\",\n pdb: \"database\",\n sql: \"database\",\n pks: \"database\",\n pkb: \"database\",\n accdb: \"database\",\n mdb: \"database\",\n sqlite: \"database\",\n sqlite3: \"database\",\n pgsql: \"database\",\n postgres: \"database\",\n plpgsql: \"database\",\n psql: \"database\",\n db: \"database\",\n db3: \"database\",\n dblite: \"database\",\n dblite3: \"database\",\n debugsymbols: \"database\",\n kql: \"kusto\",\n cs: \"csharp\",\n csx: \"csharp\",\n csharp: \"csharp\",\n qs: \"qsharp\",\n zip: \"zip\",\n tar: \"zip\",\n gz: \"zip\",\n xz: \"zip\",\n lzma: \"zip\",\n lz4: \"zip\",\n br: \"zip\",\n bz2: \"zip\",\n bzip2: \"zip\",\n gzip: \"zip\",\n brotli: \"zip\",\n \"7z\": \"zip\",\n rar: \"zip\",\n tz: \"zip\",\n txz: \"zip\",\n tgz: \"zip\",\n zst: \"zip\",\n vala: \"vala\",\n zig: \"zig\",\n zon: \"zig\",\n exe: \"exe\",\n msi: \"exe\",\n dat: \"hex\",\n bin: \"hex\",\n hex: \"hex\",\n java: \"java\",\n jsp: \"java\",\n jar: \"jar\",\n class: \"javaclass\",\n c: \"c\",\n i: \"c\",\n mi: \"c\",\n h: \"h\",\n cc: \"cpp\",\n cpp: \"cpp\",\n cxx: \"cpp\",\n \"c++\": \"cpp\",\n cp: \"cpp\",\n mii: \"cpp\",\n ii: \"cpp\",\n hh: \"hpp\",\n hpp: \"hpp\",\n hxx: \"hpp\",\n \"h++\": \"hpp\",\n hp: \"hpp\",\n tcc: \"hpp\",\n inl: \"hpp\",\n rc: \"rc\",\n go: \"go\",\n py: \"python\",\n pyc: \"python-misc\",\n whl: \"python-misc\",\n url: \"url\",\n sh: \"console\",\n ksh: \"console\",\n csh: \"console\",\n tcsh: \"console\",\n zsh: \"console\",\n bash: \"console\",\n bat: \"console\",\n cmd: \"console\",\n awk: \"console\",\n fish: \"console\",\n exp: \"console\",\n nu: \"console\",\n ps1: \"powershell\",\n psm1: \"powershell\",\n psd1: \"powershell\",\n ps1xml: \"powershell\",\n psc1: \"powershell\",\n pssc: \"powershell\",\n gradle: \"gradle\",\n doc: \"word\",\n docx: \"word\",\n rtf: \"word\",\n odt: \"word\",\n cer: \"certificate\",\n cert: \"certificate\",\n crt: \"certificate\",\n pub: \"key\",\n key: \"key\",\n pem: \"key\",\n asc: \"key\",\n gpg: \"key\",\n passwd: \"key\",\n woff: \"font\",\n woff2: \"font\",\n ttf: \"font\",\n eot: \"font\",\n suit: \"font\",\n otf: \"font\",\n bmap: \"font\",\n fnt: \"font\",\n odttf: \"font\",\n ttc: \"font\",\n font: \"font\",\n fonts: \"font\",\n sui: \"font\",\n ntf: \"font\",\n mrf: \"font\",\n lib: \"lib\",\n bib: \"lib\",\n a: \"lib\",\n dll: \"dll\",\n ilk: \"dll\",\n so: \"dll\",\n rb: \"ruby\",\n erb: \"ruby\",\n rbs: \"ruby\",\n fs: \"fsharp\",\n fsx: \"fsharp\",\n fsi: \"fsharp\",\n fsproj: \"fsharp\",\n swift: \"swift\",\n ino: \"arduino\",\n dockerignore: \"docker\",\n dockerfile: \"docker\",\n \"docker-compose.yml\": \"docker\",\n \"docker-compose.yaml\": \"docker\",\n containerignore: \"docker\",\n containerfile: \"docker\",\n \"compose.yaml\": \"docker\",\n \"compose.yml\": \"docker\",\n tex: \"tex\",\n sty: \"tex\",\n dtx: \"tex\",\n ltx: \"tex\",\n pptx: \"powerpoint\",\n ppt: \"powerpoint\",\n pptm: \"powerpoint\",\n potx: \"powerpoint\",\n potm: \"powerpoint\",\n ppsx: \"powerpoint\",\n ppsm: \"powerpoint\",\n pps: \"powerpoint\",\n ppam: \"powerpoint\",\n ppa: \"powerpoint\",\n odp: \"powerpoint\",\n webm: \"video\",\n mkv: \"video\",\n flv: \"video\",\n vob: \"video\",\n ogv: \"video\",\n ogg: \"video\",\n gifv: \"video\",\n avi: \"video\",\n mov: \"video\",\n qt: \"video\",\n wmv: \"video\",\n yuv: \"video\",\n rm: \"video\",\n rmvb: \"video\",\n mp4: \"video\",\n m4v: \"video\",\n mpg: \"video\",\n mp2: \"video\",\n mpeg: \"video\",\n mpe: \"video\",\n mpv: \"video\",\n m2v: \"video\",\n vdi: \"virtual\",\n vbox: \"virtual\",\n \"vbox-prev\": \"virtual\",\n ved: \"vedic\",\n veda: \"vedic\",\n vedic: \"vedic\",\n ics: \"email\",\n mp3: \"audio\",\n flac: \"audio\",\n m4a: \"audio\",\n wma: \"audio\",\n aiff: \"audio\",\n wav: \"audio\",\n coffee: \"coffee\",\n cson: \"coffee\",\n iced: \"coffee\",\n txt: \"document\",\n graphql: \"graphql\",\n gql: \"graphql\",\n rs: \"rust\",\n ron: \"rust\",\n raml: \"raml\",\n xaml: \"xaml\",\n hs: \"haskell\",\n kt: \"kotlin\",\n kts: \"kotlin\",\n otne: \"otne\",\n patch: \"git\",\n lua: \"lua\",\n clj: \"clojure\",\n cljs: \"clojure\",\n cljc: \"clojure\",\n groovy: \"groovy\",\n r: \"r\",\n rmd: \"r\",\n dart: \"dart\",\n \"freezed.dart\": \"dart_generated\",\n \"g.dart\": \"dart_generated\",\n as: \"actionscript\",\n mxml: \"mxml\",\n ahk: \"autohotkey\",\n swf: \"flash\",\n swc: \"swc\",\n cmake: \"cmake\",\n asm: \"assembly\",\n a51: \"assembly\",\n inc: \"assembly\",\n nasm: \"assembly\",\n s: \"assembly\",\n ms: \"assembly\",\n agc: \"assembly\",\n ags: \"assembly\",\n aea: \"assembly\",\n argus: \"assembly\",\n mitigus: \"assembly\",\n binsource: \"assembly\",\n vue: \"vue\",\n ml: \"ocaml\",\n mli: \"ocaml\",\n cmx: \"ocaml\",\n odin: \"odin\",\n \"js.map\": \"javascript-map\",\n \"mjs.map\": \"javascript-map\",\n \"cjs.map\": \"javascript-map\",\n \"css.map\": \"css-map\",\n lock: \"lock\",\n hbs: \"handlebars\",\n mustache: \"handlebars\",\n pm: \"perl\",\n raku: \"perl\",\n hx: \"haxe\",\n \"spec.ts\": \"test-ts\",\n \"spec.cts\": \"test-ts\",\n \"spec.mts\": \"test-ts\",\n \"cy.ts\": \"test-ts\",\n \"e2e-spec.ts\": \"test-ts\",\n \"e2e-spec.cts\": \"test-ts\",\n \"e2e-spec.mts\": \"test-ts\",\n \"test.ts\": \"test-ts\",\n \"test.cts\": \"test-ts\",\n \"test.mts\": \"test-ts\",\n \"ts.snap\": \"test-ts\",\n \"spec-d.ts\": \"test-ts\",\n \"test-d.ts\": \"test-ts\",\n \"spec.tsx\": \"test-jsx\",\n \"test.tsx\": \"test-jsx\",\n \"tsx.snap\": \"test-jsx\",\n \"spec.jsx\": \"test-jsx\",\n \"test.jsx\": \"test-jsx\",\n \"jsx.snap\": \"test-jsx\",\n \"cy.jsx\": \"test-jsx\",\n \"cy.tsx\": \"test-jsx\",\n \"spec-d.tsx\": \"test-jsx\",\n \"test-d.tsx\": \"test-jsx\",\n \"spec.js\": \"test-js\",\n \"spec.cjs\": \"test-js\",\n \"spec.mjs\": \"test-js\",\n \"e2e-spec.js\": \"test-js\",\n \"e2e-spec.cjs\": \"test-js\",\n \"e2e-spec.mjs\": \"test-js\",\n \"test.js\": \"test-js\",\n \"test.cjs\": \"test-js\",\n \"test.mjs\": \"test-js\",\n \"js.snap\": \"test-js\",\n \"cy.js\": \"test-js\",\n \"module.ts\": \"angular\",\n \"module.js\": \"angular\",\n \"ng-template\": \"angular\",\n \"component.ts\": \"angular-component\",\n \"component.js\": \"angular-component\",\n \"guard.ts\": \"angular-guard\",\n \"guard.js\": \"angular-guard\",\n \"service.ts\": \"angular-service\",\n \"service.js\": \"angular-service\",\n \"pipe.ts\": \"angular-pipe\",\n \"pipe.js\": \"angular-pipe\",\n \"filter.js\": \"angular-pipe\",\n \"directive.ts\": \"angular-directive\",\n \"directive.js\": \"angular-directive\",\n \"resolver.ts\": \"angular-resolver\",\n \"resolver.js\": \"angular-resolver\",\n pp: \"puppet\",\n ex: \"elixir\",\n exs: \"elixir\",\n eex: \"elixir\",\n leex: \"elixir\",\n heex: \"elixir\",\n ls: \"livescript\",\n erl: \"erlang\",\n twig: \"twig\",\n jl: \"julia\",\n elm: \"elm\",\n pure: \"purescript\",\n purs: \"purescript\",\n tpl: \"smarty\",\n styl: \"stylus\",\n re: \"reason\",\n rei: \"reason\",\n cmj: \"bucklescript\",\n merlin: \"merlin\",\n vhd: \"verilog\",\n sv: \"verilog\",\n svh: \"verilog\",\n nb: \"mathematica\",\n wl: \"wolframlanguage\",\n wls: \"wolframlanguage\",\n njk: \"nunjucks\",\n nunjucks: \"nunjucks\",\n robot: \"robot\",\n sol: \"solidity\",\n au3: \"autoit\",\n haml: \"haml\",\n yang: \"yang\",\n mjml: \"mjml\",\n tf: \"terraform\",\n \"tf.json\": \"terraform\",\n tfvars: \"terraform\",\n tfstate: \"terraform\",\n tfbackend: \"terraform\",\n \"blade.php\": \"laravel\",\n \"inky.php\": \"laravel\",\n applescript: \"applescript\",\n ipa: \"applescript\",\n cake: \"cake\",\n feature: \"cucumber\",\n features: \"cucumber\",\n nim: \"nim\",\n nimble: \"nim\",\n apib: \"apiblueprint\",\n apiblueprint: \"apiblueprint\",\n riot: \"riot\",\n tag: \"riot\",\n vfl: \"vfl\",\n kl: \"kl\",\n pcss: \"postcss\",\n sss: \"postcss\",\n todo: \"todo\",\n cfml: \"coldfusion\",\n cfc: \"coldfusion\",\n lucee: \"coldfusion\",\n cfm: \"coldfusion\",\n cabal: \"cabal\",\n nix: \"nix\",\n slim: \"slim\",\n http: \"http\",\n rest: \"http\",\n rql: \"restql\",\n restql: \"restql\",\n kv: \"kivy\",\n graphcool: \"graphcool\",\n sbt: \"sbt\",\n apk: \"android\",\n smali: \"android\",\n dex: \"android\",\n env: \"tune\",\n \"gitlab-ci.yml\": \"gitlab\",\n jenkinsfile: \"jenkins\",\n jenkins: \"jenkins\",\n fig: \"figma\",\n huff: \"huff\",\n cr: \"crystal\",\n ecr: \"crystal\",\n \"drone.yml\": \"drone\",\n cu: \"cuda\",\n cuh: \"cuda\",\n log: \"log\",\n def: \"dotjs\",\n dot: \"dotjs\",\n jst: \"dotjs\",\n ejs: \"ejs\",\n \".wakatime-project\": \"wakatime\",\n pde: \"processing\",\n \"stories.js\": \"storybook\",\n \"stories.jsx\": \"storybook\",\n \"stories.mdx\": \"storybook\",\n \"story.js\": \"storybook\",\n \"story.jsx\": \"storybook\",\n \"stories.ts\": \"storybook\",\n \"stories.tsx\": \"storybook\",\n \"story.ts\": \"storybook\",\n \"story.tsx\": \"storybook\",\n \"stories.svelte\": \"storybook\",\n \"story.mdx\": \"storybook\",\n wpy: \"wepy\",\n hcl: \"hcl\",\n san: \"san\",\n \"quokka.js\": \"quokka\",\n \"quokka.ts\": \"quokka\",\n \"quokka.jsx\": \"quokka\",\n \"quokka.tsx\": \"quokka\",\n djt: \"django\",\n red: \"red\",\n mk: \"makefile\",\n fxp: \"foxpro\",\n prg: \"foxpro\",\n pot: \"i18n\",\n po: \"i18n\",\n mo: \"i18n\",\n lang: \"i18n\",\n wat: \"webassembly\",\n wasm: \"webassembly\",\n ipynb: \"jupyter\",\n d: \"d\",\n mdx: \"mdx\",\n svx: \"mdsvex\",\n bal: \"ballerina\",\n balx: \"ballerina\",\n rkt: \"racket\",\n bzl: \"bazel\",\n bazel: \"bazel\",\n mint: \"mint\",\n vm: \"velocity\",\n fhtml: \"velocity\",\n vtl: \"velocity\",\n gd: \"godot\",\n godot: \"godot-assets\",\n tres: \"godot-assets\",\n tscn: \"godot-assets\",\n gdns: \"godot-assets\",\n gdnlib: \"godot-assets\",\n gdshader: \"godot-assets\",\n gdshaderinc: \"godot-assets\",\n gdextension: \"godot-assets\",\n \"azure-pipelines.yml\": \"azure-pipelines\",\n \"azure-pipelines.yaml\": \"azure-pipelines\",\n \"azure-pipelines-main.yml\": \"azure-pipelines\",\n \"azure-pipelines-main.yaml\": \"azure-pipelines\",\n azcli: \"azure\",\n vagrantfile: \"vagrant\",\n prisma: \"prisma\",\n cshtml: \"razor\",\n vbhtml: \"razor\",\n abc: \"abc\",\n ad: \"asciidoc\",\n adoc: \"asciidoc\",\n asciidoc: \"asciidoc\",\n edge: \"edge\",\n ss: \"scheme\",\n scm: \"scheme\",\n lisp: \"lisp\",\n lsp: \"lisp\",\n cl: \"lisp\",\n fast: \"lisp\",\n stl: \"3d\",\n stp: \"3d\",\n obj: \"3d\",\n o: \"3d\",\n ac: \"3d\",\n blend: \"3d\",\n dxf: \"3d\",\n fbx: \"3d\",\n mesh: \"3d\",\n mqo: \"3d\",\n pmd: \"3d\",\n pmx: \"3d\",\n skp: \"3d\",\n vac: \"3d\",\n vdp: \"3d\",\n vox: \"3d\",\n svg: \"svg\",\n svelte: \"svelte\",\n vimrc: \"vim\",\n gvimrc: \"vim\",\n exrc: \"vim\",\n vim: \"vim\",\n viminfo: \"vim\",\n moon: \"moonscript\",\n prw: \"advpl_prw\",\n prx: \"advpl_prw\",\n ptm: \"advpl_ptm\",\n tlpp: \"advpl_tlpp\",\n ch: \"advpl_include\",\n iso: \"disc\",\n vmdk: \"disc\",\n hdd: \"disc\",\n qcow: \"disc\",\n qcow2: \"disc\",\n qed: \"disc\",\n dmg: \"disc\",\n f: \"fortran\",\n f77: \"fortran\",\n f90: \"fortran\",\n f95: \"fortran\",\n f03: \"fortran\",\n f08: \"fortran\",\n tcl: \"tcl\",\n liquid: \"liquid\",\n p: \"prolog\",\n pro: \"prolog\",\n pl: \"prolog\",\n coco: \"coconut\",\n sketch: \"sketch\",\n pwn: \"pawn\",\n amx: \"pawn\",\n \"4th\": \"forth\",\n fth: \"forth\",\n frt: \"forth\",\n iuml: \"uml\",\n pu: \"uml\",\n puml: \"uml\",\n plantuml: \"uml\",\n wsd: \"uml\",\n wrap: \"meson\",\n dhall: \"dhall\",\n dhallb: \"dhall\",\n sml: \"sml\",\n mlton: \"sml\",\n mlb: \"sml\",\n sig: \"sml\",\n fun: \"sml\",\n cm: \"sml\",\n lex: \"sml\",\n use: \"sml\",\n grm: \"sml\",\n opam: \"opam\",\n imba: \"imba\",\n drawio: \"drawio\",\n dio: \"drawio\",\n pas: \"pascal\",\n unity: \"shaderlab\",\n sas: \"sas\",\n sas7bdat: \"sas\",\n sashdat: \"sas\",\n astore: \"sas\",\n ast: \"sas\",\n sast: \"sas\",\n nupkg: \"nuget\",\n command: \"command\",\n dsc: \"denizenscript\",\n \"code-search\": \"search\",\n nginx: \"nginx\",\n nginxconf: \"nginx\",\n nginxconfig: \"nginx\",\n mcfunction: \"minecraft\",\n mcmeta: \"minecraft\",\n mcr: \"minecraft\",\n mca: \"minecraft\",\n mcgame: \"minecraft\",\n mclevel: \"minecraft\",\n mcworld: \"minecraft\",\n mine: \"minecraft\",\n mus: \"minecraft\",\n mcstructure: \"minecraft\",\n mcpack: \"minecraft\",\n mcaddon: \"minecraft\",\n mctemplate: \"minecraft\",\n mcproject: \"minecraft\",\n res: \"rescript\",\n resi: \"rescript-interface\",\n b: \"brainfuck\",\n bf: \"brainfuck\",\n bicep: \"bicep\",\n cob: \"cobol\",\n cbl: \"cobol\",\n gr: \"grain\",\n lol: \"lolcode\",\n idr: \"idris\",\n ibc: \"idris\",\n pipeline: \"pipeline\",\n rego: \"opa\",\n windi: \"windicss\",\n scala: \"scala\",\n sc: \"scala\",\n ly: \"lilypond\",\n v: \"vlang\",\n pgn: \"chess\",\n fen: \"chess\",\n gmi: \"gemini\",\n gemini: \"gemini\",\n \"tsconfig.json\": \"tsconfig\",\n tauri: \"tauri\",\n \"jsconfig.json\": \"jsconfig\",\n ada: \"ada\",\n adb: \"ada\",\n ads: \"ada\",\n ali: \"ada\",\n \"horusec-config.json\": \"horusec\",\n \"pdm.lock\": \"pdm\",\n \"pdm.toml\": \"pdm\",\n coarc: \"coala\",\n coafile: \"coala\",\n bubble: \"dinophp\",\n \"html.bubble\": \"dinophp\",\n \"php.bubble\": \"dinophp\",\n tl: \"teal\",\n template: \"template\",\n glsl: \"shader\",\n vert: \"shader\",\n tesc: \"shader\",\n tese: \"shader\",\n geom: \"shader\",\n frag: \"shader\",\n comp: \"shader\",\n \"vert.glsl\": \"shader\",\n \"tesc.glsl\": \"shader\",\n \"tese.glsl\": \"shader\",\n \"geom.glsl\": \"shader\",\n \"frag.glsl\": \"shader\",\n \"comp.glsl\": \"shader\",\n \"vertex.glsl\": \"shader\",\n \"geometry.glsl\": \"shader\",\n \"fragment.glsl\": \"shader\",\n \"compute.glsl\": \"shader\",\n \"ts.glsl\": \"shader\",\n \"gs.glsl\": \"shader\",\n \"vs.glsl\": \"shader\",\n \"fs.glsl\": \"shader\",\n shader: \"shader\",\n vertexshader: \"shader\",\n fragmentshader: \"shader\",\n geometryshader: \"shader\",\n computeshader: \"shader\",\n hlsl: \"shader\",\n \"pixel.hlsl\": \"shader\",\n \"geometry.hlsl\": \"shader\",\n \"compute.hlsl\": \"shader\",\n \"tessellation.hlsl\": \"shader\",\n \"px.hlsl\": \"shader\",\n \"geom.hlsl\": \"shader\",\n \"comp.hlsl\": \"shader\",\n \"tess.hlsl\": \"shader\",\n wgsl: \"shader\",\n sy: \"siyuan\",\n \"ndst.yml\": \"ndst\",\n \"ndst.yaml\": \"ndst\",\n \"ndst.json\": \"ndst\",\n tobi: \"tobi\",\n gleam: \"gleam\",\n \"steadybit.yml\": \"steadybit\",\n \"steadybit.yaml\": \"steadybit\",\n capnp: \"capnp\",\n tree: \"tree\",\n cdc: \"cadence\",\n \"openapi.json\": \"openapi\",\n \"openapi.yml\": \"openapi\",\n \"openapi.yaml\": \"openapi\",\n \"swagger.json\": \"swagger\",\n \"swagger.yml\": \"swagger\",\n \"swagger.yaml\": \"swagger\",\n g4: \"antlr\",\n \"st.css\": \"stylable\",\n pine: \"pinejs\",\n \"taskfile.yml\": \"taskfile\",\n \"taskfile.yaml\": \"taskfile\",\n gml: \"gamemaker\",\n yy: \"gamemaker\",\n yyp: \"gamemaker\",\n yyz: \"gamemaker\",\n tldr: \"tldraw\",\n typ: \"typst\",\n mmd: \"mermaid\",\n mermaid: \"mermaid\",\n mojo: \"mojo\",\n \"\\u{1F525}\": \"mojo\",\n rbxl: \"roblox\",\n rbxlx: \"roblox\",\n rbxm: \"roblox\",\n rbxmx: \"roblox\",\n spwn: \"spwn\",\n templ: \"templ\",\n crx: \"chrome\",\n stan: \"stan\",\n abap: \"abap\",\n acds: \"abap\",\n asddls: \"abap\",\n lottie: \"lottie\",\n gs: \"apps-script\",\n pkl: \"pkl\"\n },\n fileNames: {\n \".pug-lintrc\": \"pug\",\n \".pug-lintrc.js\": \"pug\",\n \".pug-lintrc.json\": \"pug\",\n \".jscsrc\": \"json\",\n \".jshintrc\": \"json\",\n \"composer.lock\": \"json\",\n \".jsbeautifyrc\": \"json\",\n \".esformatter\": \"json\",\n \"cdp.pid\": \"json\",\n \".lintstagedrc\": \"json\",\n \".whitesource\": \"json\",\n \"playwright.config.js\": \"playwright\",\n \"playwright.config.mjs\": \"playwright\",\n \"playwright.config.ts\": \"playwright\",\n \"playwright.config.base.js\": \"playwright\",\n \"playwright.config.base.mjs\": \"playwright\",\n \"playwright.config.base.ts\": \"playwright\",\n \"playwright-ct.config.js\": \"playwright\",\n \"playwright-ct.config.mjs\": \"playwright\",\n \"playwright-ct.config.ts\": \"playwright\",\n \".htaccess\": \"xml\",\n \"router.js\": \"routing\",\n \"router.jsx\": \"routing\",\n \"router.ts\": \"routing\",\n \"router.tsx\": \"routing\",\n \"routes.js\": \"routing\",\n \"routes.jsx\": \"routing\",\n \"routes.ts\": \"routing\",\n \"routes.tsx\": \"routing\",\n \".jshintignore\": \"settings\",\n \".buildignore\": \"settings\",\n \".mrconfig\": \"settings\",\n \".yardopts\": \"settings\",\n \"manifest.mf\": \"settings\",\n \".clang-format\": \"settings\",\n \".clang-tidy\": \"settings\",\n \"astro.config.js\": \"astro\",\n \"astro.config.mjs\": \"astro\",\n \"astro.config.cjs\": \"astro\",\n \"astro.config.ts\": \"astro\",\n \"astro.config.cts\": \"astro\",\n \"astro.config.mts\": \"astro\",\n \"go.mod\": \"go-mod\",\n \"go.sum\": \"go-mod\",\n \"go.work\": \"go-mod\",\n \"go.work.sum\": \"go-mod\",\n \"requirements.txt\": \"python-misc\",\n pipfile: \"python-misc\",\n \".python-version\": \"python-misc\",\n \"manifest.in\": \"python-misc\",\n pylintrc: \"python-misc\",\n \".pylintrc\": \"python-misc\",\n \"pyproject.toml\": \"python-misc\",\n \"commit-msg\": \"console\",\n \"pre-commit\": \"console\",\n \"pre-push\": \"console\",\n \"post-merge\": \"console\",\n \"gradle.properties\": \"gradle\",\n gradlew: \"gradle\",\n \"gradle-wrapper.properties\": \"gradle\",\n copying: \"certificate\",\n \"copying.md\": \"certificate\",\n \"copying.rst\": \"certificate\",\n \"copying.txt\": \"certificate\",\n copyright: \"certificate\",\n \"copyright.md\": \"certificate\",\n \"copyright.rst\": \"certificate\",\n \"copyright.txt\": \"certificate\",\n license: \"certificate\",\n \"license-agpl\": \"certificate\",\n \"license-apache\": \"certificate\",\n \"license-bsd\": \"certificate\",\n \"license-mit\": \"certificate\",\n \"license-gpl\": \"certificate\",\n \"license-lgpl\": \"certificate\",\n \"license.md\": \"certificate\",\n \"license.rst\": \"certificate\",\n \"license.txt\": \"certificate\",\n licence: \"certificate\",\n \"licence-agpl\": \"certificate\",\n \"licence-apache\": \"certificate\",\n \"licence-bsd\": \"certificate\",\n \"licence-mit\": \"certificate\",\n \"licence-gpl\": \"certificate\",\n \"licence-lgpl\": \"certificate\",\n \"licence.md\": \"certificate\",\n \"licence.rst\": \"certificate\",\n \"licence.txt\": \"certificate\",\n \".htpasswd\": \"key\",\n \".ruby-version\": \"ruby\",\n gemfile: \"gemfile\",\n \".rubocop.yml\": \"rubocop\",\n \".rubocop-todo.yml\": \"rubocop\",\n \".rubocop_todo.yml\": \"rubocop\",\n \".rspec\": \"rspec\",\n dockerfile: \"docker\",\n \"dockerfile.prod\": \"docker\",\n \"dockerfile.production\": \"docker\",\n \"dockerfile.alpha\": \"docker\",\n \"dockerfile.beta\": \"docker\",\n \"dockerfile.stage\": \"docker\",\n \"dockerfile.staging\": \"docker\",\n \"dockerfile.dev\": \"docker\",\n \"dockerfile.development\": \"docker\",\n \"dockerfile.local\": \"docker\",\n \"dockerfile.test\": \"docker\",\n \"dockerfile.testing\": \"docker\",\n \"dockerfile.ci\": \"docker\",\n \"dockerfile.web\": \"docker\",\n \"dockerfile.worker\": \"docker\",\n \"docker-compose.yml\": \"docker\",\n \"docker-compose.override.yml\": \"docker\",\n \"docker-compose.prod.yml\": \"docker\",\n \"docker-compose.production.yml\": \"docker\",\n \"docker-compose.alpha.yml\": \"docker\",\n \"docker-compose.beta.yml\": \"docker\",\n \"docker-compose.stage.yml\": \"docker\",\n \"docker-compose.staging.yml\": \"docker\",\n \"docker-compose.dev.yml\": \"docker\",\n \"docker-compose.development.yml\": \"docker\",\n \"docker-compose.local.yml\": \"docker\",\n \"docker-compose.test.yml\": \"docker\",\n \"docker-compose.testing.yml\": \"docker\",\n \"docker-compose.ci.yml\": \"docker\",\n \"docker-compose.web.yml\": \"docker\",\n \"docker-compose.worker.yml\": \"docker\",\n \"docker-compose.yaml\": \"docker\",\n \"docker-compose.override.yaml\": \"docker\",\n \"docker-compose.prod.yaml\": \"docker\",\n \"docker-compose.production.yaml\": \"docker\",\n \"docker-compose.alpha.yaml\": \"docker\",\n \"docker-compose.beta.yaml\": \"docker\",\n \"docker-compose.stage.yaml\": \"docker\",\n \"docker-compose.staging.yaml\": \"docker\",\n \"docker-compose.dev.yaml\": \"docker\",\n \"docker-compose.development.yaml\": \"docker\",\n \"docker-compose.local.yaml\": \"docker\",\n \"docker-compose.test.yaml\": \"docker\",\n \"docker-compose.testing.yaml\": \"docker\",\n \"docker-compose.ci.yaml\": \"docker\",\n \"docker-compose.web.yaml\": \"docker\",\n \"docker-compose.worker.yaml\": \"docker\",\n containerfile: \"docker\",\n \"containerfile.prod\": \"docker\",\n \"containerfile.production\": \"docker\",\n \"containerfile.alpha\": \"docker\",\n \"containerfile.beta\": \"docker\",\n \"containerfile.stage\": \"docker\",\n \"containerfile.staging\": \"docker\",\n \"containerfile.dev\": \"docker\",\n \"containerfile.development\": \"docker\",\n \"containerfile.local\": \"docker\",\n \"containerfile.test\": \"docker\",\n \"containerfile.testing\": \"docker\",\n \"containerfile.ci\": \"docker\",\n \"containerfile.web\": \"docker\",\n \"containerfile.worker\": \"docker\",\n \"compose.yaml\": \"docker\",\n \"compose.override.yaml\": \"docker\",\n \"compose.prod.yaml\": \"docker\",\n \"compose.production.yaml\": \"docker\",\n \"compose.alpha.yaml\": \"docker\",\n \"compose.beta.yaml\": \"docker\",\n \"compose.stage.yaml\": \"docker\",\n \"compose.staging.yaml\": \"docker\",\n \"compose.dev.yaml\": \"docker\",\n \"compose.development.yaml\": \"docker\",\n \"compose.local.yaml\": \"docker\",\n \"compose.test.yaml\": \"docker\",\n \"compose.testing.yaml\": \"docker\",\n \"compose.ci.yaml\": \"docker\",\n \"compose.web.yaml\": \"docker\",\n \"compose.worker.yaml\": \"docker\",\n \"compose.yml\": \"docker\",\n \"compose.override.yml\": \"docker\",\n \"compose.prod.yml\": \"docker\",\n \"compose.production.yml\": \"docker\",\n \"compose.alpha.yml\": \"docker\",\n \"compose.beta.yml\": \"docker\",\n \"compose.stage.yml\": \"docker\",\n \"compose.staging.yml\": \"docker\",\n \"compose.dev.yml\": \"docker\",\n \"compose.development.yml\": \"docker\",\n \"compose.local.yml\": \"docker\",\n \"compose.test.yml\": \"docker\",\n \"compose.testing.yml\": \"docker\",\n \"compose.ci.yml\": \"docker\",\n \"compose.web.yml\": \"docker\",\n \"compose.worker.yml\": \"docker\",\n \".mailmap\": \"email\",\n \".graphqlrc\": \"graphql\",\n \".graphqlrc.json\": \"graphql\",\n \".graphqlrc.jsonc\": \"graphql\",\n \".graphqlrc.json5\": \"graphql\",\n \".graphqlrc.yaml\": \"graphql\",\n \".graphqlrc.yml\": \"graphql\",\n \".graphqlrc.toml\": \"graphql\",\n \".graphqlrc.js\": \"graphql\",\n \".graphqlrc.mjs\": \"graphql\",\n \".graphqlrc.cjs\": \"graphql\",\n \".graphqlrc.ts\": \"graphql\",\n \".graphqlrc.mts\": \"graphql\",\n \".graphqlrc.cts\": \"graphql\",\n \".config/graphqlrc\": \"graphql\",\n \".config/graphqlrc.json\": \"graphql\",\n \".config/graphqlrc.jsonc\": \"graphql\",\n \".config/graphqlrc.json5\": \"graphql\",\n \".config/graphqlrc.yaml\": \"graphql\",\n \".config/graphqlrc.yml\": \"graphql\",\n \".config/graphqlrc.toml\": \"graphql\",\n \".config/graphqlrc.js\": \"graphql\",\n \".config/graphqlrc.mjs\": \"graphql\",\n \".config/graphqlrc.cjs\": \"graphql\",\n \".config/graphqlrc.ts\": \"graphql\",\n \".config/graphqlrc.mts\": \"graphql\",\n \".config/graphqlrc.cts\": \"graphql\",\n \"graphql.config.json\": \"graphql\",\n \"graphql.config.jsonc\": \"graphql\",\n \"graphql.config.json5\": \"graphql\",\n \"graphql.config.yaml\": \"graphql\",\n \"graphql.config.yml\": \"graphql\",\n \"graphql.config.toml\": \"graphql\",\n \"graphql.config.js\": \"graphql\",\n \"graphql.config.mjs\": \"graphql\",\n \"graphql.config.cjs\": \"graphql\",\n \"graphql.config.ts\": \"graphql\",\n \"graphql.config.mts\": \"graphql\",\n \"graphql.config.cts\": \"graphql\",\n \".graphqlconfig\": \"graphql\",\n \".git\": \"git\",\n \".gitignore\": \"git\",\n \".gitmessage\": \"git\",\n \".gitignore-global\": \"git\",\n \".gitignore_global\": \"git\",\n \".gitattributes\": \"git\",\n \".gitattributes-global\": \"git\",\n \".gitattributes_global\": \"git\",\n \".gitconfig\": \"git\",\n \".gitmodules\": \"git\",\n \".gitkeep\": \"git\",\n \".keep\": \"git\",\n \".gitpreserve\": \"git\",\n \".gitinclude\": \"git\",\n \".git-blame-ignore\": \"git\",\n \".git-blame-ignore-revs\": \"git\",\n \".git-for-windows-updater\": \"git\",\n \"git-history\": \"git\",\n \".luacheckrc\": \"lua\",\n \".Rhistory\": \"r\",\n \".pubignore\": \"dart\",\n \"cmakelists.txt\": \"cmake\",\n \"cmakecache.txt\": \"cmake\",\n \"semgrep.yml\": \"semgrep\",\n \".semgrepignore\": \"semgrep\",\n \"vue.config.js\": \"vue-config\",\n \"vue.config.ts\": \"vue-config\",\n \"vetur.config.js\": \"vue-config\",\n \"vetur.config.ts\": \"vue-config\",\n \"volar.config.js\": \"vue-config\",\n \"nuxt.config.js\": \"nuxt\",\n \"nuxt.config.ts\": \"nuxt\",\n \".nuxtignore\": \"nuxt\",\n \"security.md\": \"lock\",\n \"security.txt\": \"lock\",\n security: \"lock\",\n \"angular-cli.json\": \"angular\",\n \".angular-cli.json\": \"angular\",\n \"angular.json\": \"angular\",\n \"ng-package.json\": \"angular\",\n \".mjmlconfig\": \"mjml\",\n \"vercel.json\": \"vercel\",\n \".vercelignore\": \"vercel\",\n \"now.json\": \"vercel\",\n \".nowignore\": \"vercel\",\n \"verdaccio.yml\": \"verdaccio\",\n \"payload.config.js\": \"payload\",\n \"payload.config.mjs\": \"payload\",\n \"payload.config.ts\": \"payload\",\n \"payload.config.mts\": \"payload\",\n \"next.config.js\": \"next\",\n \"next.config.mjs\": \"next\",\n \"next.config.ts\": \"next\",\n \"next.config.mts\": \"next\",\n \"remix.config.js\": \"remix\",\n \"remix.config.ts\": \"remix\",\n artisan: \"laravel\",\n \".vfl\": \"vfl\",\n \".kl\": \"kl\",\n \".postcssrc\": \"postcss\",\n \".postcssrc.json\": \"postcss\",\n \".postcssrc.jsonc\": \"postcss\",\n \".postcssrc.json5\": \"postcss\",\n \".postcssrc.yaml\": \"postcss\",\n \".postcssrc.yml\": \"postcss\",\n \".postcssrc.toml\": \"postcss\",\n \".postcssrc.js\": \"postcss\",\n \".postcssrc.mjs\": \"postcss\",\n \".postcssrc.cjs\": \"postcss\",\n \".postcssrc.ts\": \"postcss\",\n \".postcssrc.mts\": \"postcss\",\n \".postcssrc.cts\": \"postcss\",\n \".config/postcssrc\": \"postcss\",\n \".config/postcssrc.json\": \"postcss\",\n \".config/postcssrc.jsonc\": \"postcss\",\n \".config/postcssrc.json5\": \"postcss\",\n \".config/postcssrc.yaml\": \"postcss\",\n \".config/postcssrc.yml\": \"postcss\",\n \".config/postcssrc.toml\": \"postcss\",\n \".config/postcssrc.js\": \"postcss\",\n \".config/postcssrc.mjs\": \"postcss\",\n \".config/postcssrc.cjs\": \"postcss\",\n \".config/postcssrc.ts\": \"postcss\",\n \".config/postcssrc.mts\": \"postcss\",\n \".config/postcssrc.cts\": \"postcss\",\n \"postcss.config.json\": \"postcss\",\n \"postcss.config.jsonc\": \"postcss\",\n \"postcss.config.json5\": \"postcss\",\n \"postcss.config.yaml\": \"postcss\",\n \"postcss.config.yml\": \"postcss\",\n \"postcss.config.toml\": \"postcss\",\n \"postcss.config.js\": \"postcss\",\n \"postcss.config.mjs\": \"postcss\",\n \"postcss.config.cjs\": \"postcss\",\n \"postcss.config.ts\": \"postcss\",\n \"postcss.config.mts\": \"postcss\",\n \"postcss.config.cts\": \"postcss\",\n \".posthtmlrc\": \"posthtml\",\n \".posthtmlrc.json\": \"posthtml\",\n \".posthtmlrc.jsonc\": \"posthtml\",\n \".posthtmlrc.json5\": \"posthtml\",\n \".posthtmlrc.yaml\": \"posthtml\",\n \".posthtmlrc.yml\": \"posthtml\",\n \".posthtmlrc.toml\": \"posthtml\",\n \".posthtmlrc.js\": \"posthtml\",\n \".posthtmlrc.mjs\": \"posthtml\",\n \".posthtmlrc.cjs\": \"posthtml\",\n \".posthtmlrc.ts\": \"posthtml\",\n \".posthtmlrc.mts\": \"posthtml\",\n \".posthtmlrc.cts\": \"posthtml\",\n \".config/posthtmlrc\": \"posthtml\",\n \".config/posthtmlrc.json\": \"posthtml\",\n \".config/posthtmlrc.jsonc\": \"posthtml\",\n \".config/posthtmlrc.json5\": \"posthtml\",\n \".config/posthtmlrc.yaml\": \"posthtml\",\n \".config/posthtmlrc.yml\": \"posthtml\",\n \".config/posthtmlrc.toml\": \"posthtml\",\n \".config/posthtmlrc.js\": \"posthtml\",\n \".config/posthtmlrc.mjs\": \"posthtml\",\n \".config/posthtmlrc.cjs\": \"posthtml\",\n \".config/posthtmlrc.ts\": \"posthtml\",\n \".config/posthtmlrc.mts\": \"posthtml\",\n \".config/posthtmlrc.cts\": \"posthtml\",\n \"posthtml.config.json\": \"posthtml\",\n \"posthtml.config.jsonc\": \"posthtml\",\n \"posthtml.config.json5\": \"posthtml\",\n \"posthtml.config.yaml\": \"posthtml\",\n \"posthtml.config.yml\": \"posthtml\",\n \"posthtml.config.toml\": \"posthtml\",\n \"posthtml.config.js\": \"posthtml\",\n \"posthtml.config.mjs\": \"posthtml\",\n \"posthtml.config.cjs\": \"posthtml\",\n \"posthtml.config.ts\": \"posthtml\",\n \"posthtml.config.mts\": \"posthtml\",\n \"posthtml.config.cts\": \"posthtml\",\n \"todo.md\": \"todo\",\n \"todos.md\": \"todo\",\n \"cabal.project\": \"cabal\",\n \"cabal.project.freeze\": \"cabal\",\n \"cabal.project.local\": \"cabal\",\n CNAME: \"http\",\n \"project.graphcool\": \"graphcool\",\n \"webpack.base.js\": \"webpack\",\n \"webpack.base.mjs\": \"webpack\",\n \"webpack.base.cjs\": \"webpack\",\n \"webpack.base.ts\": \"webpack\",\n \"webpack.base.mts\": \"webpack\",\n \"webpack.base.cts\": \"webpack\",\n \"webpack.client.js\": \"webpack\",\n \"webpack.client.mjs\": \"webpack\",\n \"webpack.client.cjs\": \"webpack\",\n \"webpack.client.ts\": \"webpack\",\n \"webpack.client.mts\": \"webpack\",\n \"webpack.client.cts\": \"webpack\",\n \"webpack.common.js\": \"webpack\",\n \"webpack.common.mjs\": \"webpack\",\n \"webpack.common.cjs\": \"webpack\",\n \"webpack.common.ts\": \"webpack\",\n \"webpack.common.mts\": \"webpack\",\n \"webpack.common.cts\": \"webpack\",\n \"webpack.config.babel.js\": \"webpack\",\n \"webpack.config.babel.mjs\": \"webpack\",\n \"webpack.config.babel.cjs\": \"webpack\",\n \"webpack.config.babel.ts\": \"webpack\",\n \"webpack.config.babel.mts\": \"webpack\",\n \"webpack.config.babel.cts\": \"webpack\",\n \"webpack.config.base.babel.js\": \"webpack\",\n \"webpack.config.base.babel.mjs\": \"webpack\",\n \"webpack.config.base.babel.cjs\": \"webpack\",\n \"webpack.config.base.babel.ts\": \"webpack\",\n \"webpack.config.base.babel.mts\": \"webpack\",\n \"webpack.config.base.babel.cts\": \"webpack\",\n \"webpack.config.base.js\": \"webpack\",\n \"webpack.config.base.mjs\": \"webpack\",\n \"webpack.config.base.cjs\": \"webpack\",\n \"webpack.config.base.ts\": \"webpack\",\n \"webpack.config.base.mts\": \"webpack\",\n \"webpack.config.base.cts\": \"webpack\",\n \"webpack.config.client.js\": \"webpack\",\n \"webpack.config.client.mjs\": \"webpack\",\n \"webpack.config.client.cjs\": \"webpack\",\n \"webpack.config.client.ts\": \"webpack\",\n \"webpack.config.client.mts\": \"webpack\",\n \"webpack.config.client.cts\": \"webpack\",\n \"webpack.config.common.babel.js\": \"webpack\",\n \"webpack.config.common.babel.mjs\": \"webpack\",\n \"webpack.config.common.babel.cjs\": \"webpack\",\n \"webpack.config.common.babel.ts\": \"webpack\",\n \"webpack.config.common.babel.mts\": \"webpack\",\n \"webpack.config.common.babel.cts\": \"webpack\",\n \"webpack.config.common.js\": \"webpack\",\n \"webpack.config.common.mjs\": \"webpack\",\n \"webpack.config.common.cjs\": \"webpack\",\n \"webpack.config.common.ts\": \"webpack\",\n \"webpack.config.common.mts\": \"webpack\",\n \"webpack.config.common.cts\": \"webpack\",\n \"webpack.config.dev.babel.js\": \"webpack\",\n \"webpack.config.dev.babel.mjs\": \"webpack\",\n \"webpack.config.dev.babel.cjs\": \"webpack\",\n \"webpack.config.dev.babel.ts\": \"webpack\",\n \"webpack.config.dev.babel.mts\": \"webpack\",\n \"webpack.config.dev.babel.cts\": \"webpack\",\n \"webpack.config.dev.js\": \"webpack\",\n \"webpack.config.dev.mjs\": \"webpack\",\n \"webpack.config.dev.cjs\": \"webpack\",\n \"webpack.config.dev.ts\": \"webpack\",\n \"webpack.config.dev.mts\": \"webpack\",\n \"webpack.config.dev.cts\": \"webpack\",\n \"webpack.config.main.js\": \"webpack\",\n \"webpack.config.main.mjs\": \"webpack\",\n \"webpack.config.main.cjs\": \"webpack\",\n \"webpack.config.main.ts\": \"webpack\",\n \"webpack.config.main.mts\": \"webpack\",\n \"webpack.config.main.cts\": \"webpack\",\n \"webpack.config.prod.babel.js\": \"webpack\",\n \"webpack.config.prod.babel.mjs\": \"webpack\",\n \"webpack.config.prod.babel.cjs\": \"webpack\",\n \"webpack.config.prod.babel.ts\": \"webpack\",\n \"webpack.config.prod.babel.mts\": \"webpack\",\n \"webpack.config.prod.babel.cts\": \"webpack\",\n \"webpack.config.prod.js\": \"webpack\",\n \"webpack.config.prod.mjs\": \"webpack\",\n \"webpack.config.prod.cjs\": \"webpack\",\n \"webpack.config.prod.ts\": \"webpack\",\n \"webpack.config.prod.mts\": \"webpack\",\n \"webpack.config.prod.cts\": \"webpack\",\n \"webpack.config.production.babel.js\": \"webpack\",\n \"webpack.config.production.babel.mjs\": \"webpack\",\n \"webpack.config.production.babel.cjs\": \"webpack\",\n \"webpack.config.production.babel.ts\": \"webpack\",\n \"webpack.config.production.babel.mts\": \"webpack\",\n \"webpack.config.production.babel.cts\": \"webpack\",\n \"webpack.config.production.js\": \"webpack\",\n \"webpack.config.production.mjs\": \"webpack\",\n \"webpack.config.production.cjs\": \"webpack\",\n \"webpack.config.production.ts\": \"webpack\",\n \"webpack.config.production.mts\": \"webpack\",\n \"webpack.config.production.cts\": \"webpack\",\n \"webpack.config.renderer.js\": \"webpack\",\n \"webpack.config.renderer.mjs\": \"webpack\",\n \"webpack.config.renderer.cjs\": \"webpack\",\n \"webpack.config.renderer.ts\": \"webpack\",\n \"webpack.config.renderer.mts\": \"webpack\",\n \"webpack.config.renderer.cts\": \"webpack\",\n \"webpack.config.server.js\": \"webpack\",\n \"webpack.config.server.mjs\": \"webpack\",\n \"webpack.config.server.cjs\": \"webpack\",\n \"webpack.config.server.ts\": \"webpack\",\n \"webpack.config.server.mts\": \"webpack\",\n \"webpack.config.server.cts\": \"webpack\",\n \"webpack.config.staging.babel.js\": \"webpack\",\n \"webpack.config.staging.babel.mjs\": \"webpack\",\n \"webpack.config.staging.babel.cjs\": \"webpack\",\n \"webpack.config.staging.babel.ts\": \"webpack\",\n \"webpack.config.staging.babel.mts\": \"webpack\",\n \"webpack.config.staging.babel.cts\": \"webpack\",\n \"webpack.config.staging.js\": \"webpack\",\n \"webpack.config.staging.mjs\": \"webpack\",\n \"webpack.config.staging.cjs\": \"webpack\",\n \"webpack.config.staging.ts\": \"webpack\",\n \"webpack.config.staging.mts\": \"webpack\",\n \"webpack.config.staging.cts\": \"webpack\",\n \"webpack.config.test.js\": \"webpack\",\n \"webpack.config.test.mjs\": \"webpack\",\n \"webpack.config.test.cjs\": \"webpack\",\n \"webpack.config.test.ts\": \"webpack\",\n \"webpack.config.test.mts\": \"webpack\",\n \"webpack.config.test.cts\": \"webpack\",\n \"webpack.config.vendor.production.js\": \"webpack\",\n \"webpack.config.vendor.production.mjs\": \"webpack\",\n \"webpack.config.vendor.production.cjs\": \"webpack\",\n \"webpack.config.vendor.production.ts\": \"webpack\",\n \"webpack.config.vendor.production.mts\": \"webpack\",\n \"webpack.config.vendor.production.cts\": \"webpack\",\n \"webpack.config.vendor.js\": \"webpack\",\n \"webpack.config.vendor.mjs\": \"webpack\",\n \"webpack.config.vendor.cjs\": \"webpack\",\n \"webpack.config.vendor.ts\": \"webpack\",\n \"webpack.config.vendor.mts\": \"webpack\",\n \"webpack.config.vendor.cts\": \"webpack\",\n \"webpack.config.js\": \"webpack\",\n \"webpack.config.mjs\": \"webpack\",\n \"webpack.config.cjs\": \"webpack\",\n \"webpack.config.ts\": \"webpack\",\n \"webpack.config.mts\": \"webpack\",\n \"webpack.config.cts\": \"webpack\",\n \"webpack.dev.js\": \"webpack\",\n \"webpack.dev.mjs\": \"webpack\",\n \"webpack.dev.cjs\": \"webpack\",\n \"webpack.dev.ts\": \"webpack\",\n \"webpack.dev.mts\": \"webpack\",\n \"webpack.dev.cts\": \"webpack\",\n \"webpack.development.js\": \"webpack\",\n \"webpack.development.mjs\": \"webpack\",\n \"webpack.development.cjs\": \"webpack\",\n \"webpack.development.ts\": \"webpack\",\n \"webpack.development.mts\": \"webpack\",\n \"webpack.development.cts\": \"webpack\",\n \"webpack.dist.js\": \"webpack\",\n \"webpack.dist.mjs\": \"webpack\",\n \"webpack.dist.cjs\": \"webpack\",\n \"webpack.dist.ts\": \"webpack\",\n \"webpack.dist.mts\": \"webpack\",\n \"webpack.dist.cts\": \"webpack\",\n \"webpack.mix.js\": \"webpack\",\n \"webpack.mix.mjs\": \"webpack\",\n \"webpack.mix.cjs\": \"webpack\",\n \"webpack.mix.ts\": \"webpack\",\n \"webpack.mix.mts\": \"webpack\",\n \"webpack.mix.cts\": \"webpack\",\n \"webpack.prod.config.js\": \"webpack\",\n \"webpack.prod.config.mjs\": \"webpack\",\n \"webpack.prod.config.cjs\": \"webpack\",\n \"webpack.prod.config.ts\": \"webpack\",\n \"webpack.prod.config.mts\": \"webpack\",\n \"webpack.prod.config.cts\": \"webpack\",\n \"webpack.prod.js\": \"webpack\",\n \"webpack.prod.mjs\": \"webpack\",\n \"webpack.prod.cjs\": \"webpack\",\n \"webpack.prod.ts\": \"webpack\",\n \"webpack.prod.mts\": \"webpack\",\n \"webpack.prod.cts\": \"webpack\",\n \"webpack.production.js\": \"webpack\",\n \"webpack.production.mjs\": \"webpack\",\n \"webpack.production.cjs\": \"webpack\",\n \"webpack.production.ts\": \"webpack\",\n \"webpack.production.mts\": \"webpack\",\n \"webpack.production.cts\": \"webpack\",\n \"webpack.server.js\": \"webpack\",\n \"webpack.server.mjs\": \"webpack\",\n \"webpack.server.cjs\": \"webpack\",\n \"webpack.server.ts\": \"webpack\",\n \"webpack.server.mts\": \"webpack\",\n \"webpack.server.cts\": \"webpack\",\n \"webpack.test.js\": \"webpack\",\n \"webpack.test.mjs\": \"webpack\",\n \"webpack.test.cjs\": \"webpack\",\n \"webpack.test.ts\": \"webpack\",\n \"webpack.test.mts\": \"webpack\",\n \"webpack.test.cts\": \"webpack\",\n \"webpack.js\": \"webpack\",\n \"webpack.mjs\": \"webpack\",\n \"webpack.cjs\": \"webpack\",\n \"webpack.ts\": \"webpack\",\n \"webpack.mts\": \"webpack\",\n \"webpack.cts\": \"webpack\",\n \"webpackfile.js\": \"webpack\",\n \"webpackfile.mjs\": \"webpack\",\n \"webpackfile.cjs\": \"webpack\",\n \"webpackfile.ts\": \"webpack\",\n \"webpackfile.mts\": \"webpack\",\n \"webpackfile.cts\": \"webpack\",\n \"webpack.config.coffee\": \"webpack\",\n \"ionic.config.json\": \"ionic\",\n \".io-config.json\": \"ionic\",\n \"gulpfile.js\": \"gulp\",\n \"gulpfile.mjs\": \"gulp\",\n \"gulpfile.ts\": \"gulp\",\n \"gulpfile.cts\": \"gulp\",\n \"gulpfile.mts\": \"gulp\",\n \"gulpfile.babel.js\": \"gulp\",\n \"package.json\": \"nodejs\",\n \"package-lock.json\": \"nodejs\",\n \".nvmrc\": \"nodejs\",\n \".esmrc\": \"nodejs\",\n \".node-version\": \"nodejs\",\n \".npmignore\": \"npm\",\n \".npmrc\": \"npm\",\n \".yarnrc\": \"yarn\",\n \"yarn.lock\": \"yarn\",\n \".yarnclean\": \"yarn\",\n \".yarn-integrity\": \"yarn\",\n \"yarn-error.log\": \"yarn\",\n \".yarnrc.yml\": \"yarn\",\n \".yarnrc.yaml\": \"yarn\",\n \"androidmanifest.xml\": \"android\",\n \".env.defaults\": \"tune\",\n \".env.example\": \"tune\",\n \".env.sample\": \"tune\",\n \".env.template\": \"tune\",\n \".env.schema\": \"tune\",\n \".env.local\": \"tune\",\n \".env.dev\": \"tune\",\n \".env.development\": \"tune\",\n \".env.alpha\": \"tune\",\n \".env.e2e\": \"tune\",\n \".env.qa\": \"tune\",\n \".env.dist\": \"tune\",\n \".env.prod\": \"tune\",\n \".env.production\": \"tune\",\n \".env.stage\": \"tune\",\n \".env.staging\": \"tune\",\n \".env.preview\": \"tune\",\n \".env.test\": \"tune\",\n \".env.testing\": \"tune\",\n \".env.development.local\": \"tune\",\n \".env.qa.local\": \"tune\",\n \".env.production.local\": \"tune\",\n \".env.staging.local\": \"tune\",\n \".env.test.local\": \"tune\",\n \".env.uat\": \"tune\",\n \"turbo.json\": \"turborepo\",\n \".babelrc\": \"babel\",\n \".babelrc.json\": \"babel\",\n \".babelrc.jsonc\": \"babel\",\n \".babelrc.json5\": \"babel\",\n \".babelrc.yaml\": \"babel\",\n \".babelrc.yml\": \"babel\",\n \".babelrc.toml\": \"babel\",\n \".babelrc.js\": \"babel\",\n \".babelrc.mjs\": \"babel\",\n \".babelrc.cjs\": \"babel\",\n \".babelrc.ts\": \"babel\",\n \".babelrc.mts\": \"babel\",\n \".babelrc.cts\": \"babel\",\n \".config/babelrc\": \"babel\",\n \".config/babelrc.json\": \"babel\",\n \".config/babelrc.jsonc\": \"babel\",\n \".config/babelrc.json5\": \"babel\",\n \".config/babelrc.yaml\": \"babel\",\n \".config/babelrc.yml\": \"babel\",\n \".config/babelrc.toml\": \"babel\",\n \".config/babelrc.js\": \"babel\",\n \".config/babelrc.mjs\": \"babel\",\n \".config/babelrc.cjs\": \"babel\",\n \".config/babelrc.ts\": \"babel\",\n \".config/babelrc.mts\": \"babel\",\n \".config/babelrc.cts\": \"babel\",\n \"babel.config.json\": \"babel\",\n \"babel.config.jsonc\": \"babel\",\n \"babel.config.json5\": \"babel\",\n \"babel.config.yaml\": \"babel\",\n \"babel.config.yml\": \"babel\",\n \"babel.config.toml\": \"babel\",\n \"babel.config.js\": \"babel\",\n \"babel.config.mjs\": \"babel\",\n \"babel.config.cjs\": \"babel\",\n \"babel.config.ts\": \"babel\",\n \"babel.config.mts\": \"babel\",\n \"babel.config.cts\": \"babel\",\n \".babel-plugin-macrosrc\": \"babel\",\n \".babel-plugin-macrosrc.json\": \"babel\",\n \".babel-plugin-macrosrc.jsonc\": \"babel\",\n \".babel-plugin-macrosrc.json5\": \"babel\",\n \".babel-plugin-macrosrc.yaml\": \"babel\",\n \".babel-plugin-macrosrc.yml\": \"babel\",\n \".babel-plugin-macrosrc.toml\": \"babel\",\n \".babel-plugin-macrosrc.js\": \"babel\",\n \".babel-plugin-macrosrc.mjs\": \"babel\",\n \".babel-plugin-macrosrc.cjs\": \"babel\",\n \".babel-plugin-macrosrc.ts\": \"babel\",\n \".babel-plugin-macrosrc.mts\": \"babel\",\n \".babel-plugin-macrosrc.cts\": \"babel\",\n \".config/babel-plugin-macrosrc\": \"babel\",\n \".config/babel-plugin-macrosrc.json\": \"babel\",\n \".config/babel-plugin-macrosrc.jsonc\": \"babel\",\n \".config/babel-plugin-macrosrc.json5\": \"babel\",\n \".config/babel-plugin-macrosrc.yaml\": \"babel\",\n \".config/babel-plugin-macrosrc.yml\": \"babel\",\n \".config/babel-plugin-macrosrc.toml\": \"babel\",\n \".config/babel-plugin-macrosrc.js\": \"babel\",\n \".config/babel-plugin-macrosrc.mjs\": \"babel\",\n \".config/babel-plugin-macrosrc.cjs\": \"babel\",\n \".config/babel-plugin-macrosrc.ts\": \"babel\",\n \".config/babel-plugin-macrosrc.mts\": \"babel\",\n \".config/babel-plugin-macrosrc.cts\": \"babel\",\n \"babel-plugin-macros.config.json\": \"babel\",\n \"babel-plugin-macros.config.jsonc\": \"babel\",\n \"babel-plugin-macros.config.json5\": \"babel\",\n \"babel-plugin-macros.config.yaml\": \"babel\",\n \"babel-plugin-macros.config.yml\": \"babel\",\n \"babel-plugin-macros.config.toml\": \"babel\",\n \"babel-plugin-macros.config.js\": \"babel\",\n \"babel-plugin-macros.config.mjs\": \"babel\",\n \"babel-plugin-macros.config.cjs\": \"babel\",\n \"babel-plugin-macros.config.ts\": \"babel\",\n \"babel-plugin-macros.config.mts\": \"babel\",\n \"babel-plugin-macros.config.cts\": \"babel\",\n \"babel-transform.js\": \"babel\",\n \"blitz.config.js\": \"blitz\",\n \"blitz.config.ts\": \"blitz\",\n \".blitz.config.compiled.js\": \"blitz\",\n \"contributing.md\": \"contributing\",\n \"contributing.rst\": \"contributing\",\n \"contributing.txt\": \"contributing\",\n contributing: \"contributing\",\n \"readme.md\": \"readme\",\n \"readme.rst\": \"readme\",\n \"readme.txt\": \"readme\",\n readme: \"readme\",\n changelog: \"changelog\",\n \"changelog.md\": \"changelog\",\n \"changelog.rst\": \"changelog\",\n \"changelog.txt\": \"changelog\",\n changes: \"changelog\",\n \"changes.md\": \"changelog\",\n \"changes.rst\": \"changelog\",\n \"changes.txt\": \"changelog\",\n \"architecture.md\": \"architecture\",\n \"architecture.rst\": \"architecture\",\n \"architecture.txt\": \"architecture\",\n architecture: \"architecture\",\n \"credits.md\": \"credits\",\n \"credits.rst\": \"credits\",\n \"credits.txt\": \"credits\",\n credits: \"credits\",\n \"authors.md\": \"authors\",\n \"authors.rst\": \"authors\",\n \"authors.txt\": \"authors\",\n authors: \"authors\",\n \"contributors.md\": \"authors\",\n \"contributors.rst\": \"authors\",\n \"contributors.txt\": \"authors\",\n contributors: \"authors\",\n \".flowconfig\": \"flow\",\n \"favicon.ico\": \"favicon\",\n \"karma.conf.js\": \"karma\",\n \"karma.conf.ts\": \"karma\",\n \"karma.conf.coffee\": \"karma\",\n \"karma.config.js\": \"karma\",\n \"karma.config.ts\": \"karma\",\n \"karma-main.js\": \"karma\",\n \"karma-main.ts\": \"karma\",\n \".bithoundrc\": \"bithound\",\n \"svgo.config.js\": \"svgo\",\n \"svgo.config.cjs\": \"svgo\",\n \"svgo.config.mjs\": \"svgo\",\n \".appveyor.yml\": \"appveyor\",\n \"appveyor.yml\": \"appveyor\",\n \".travis.yml\": \"travis\",\n \".codecov.yml\": \"codecov\",\n \"codecov.yml\": \"codecov\",\n \"sonar-project.properties\": \"sonarcloud\",\n \".sonarcloud.properties\": \"sonarcloud\",\n \"sonarcloud.yaml\": \"sonarcloud\",\n \"protractor.conf.js\": \"protractor\",\n \"protractor.conf.ts\": \"protractor\",\n \"protractor.conf.coffee\": \"protractor\",\n \"protractor.config.js\": \"protractor\",\n \"protractor.config.ts\": \"protractor\",\n \"fuse.js\": \"fusebox\",\n procfile: \"heroku\",\n \"procfile.windows\": \"heroku\",\n \".editorconfig\": \"editorconfig\",\n \".bowerrc\": \"bower\",\n \"bower.json\": \"bower\",\n \".eslintrc\": \"eslint\",\n \".eslintrc.json\": \"eslint\",\n \".eslintrc.jsonc\": \"eslint\",\n \".eslintrc.json5\": \"eslint\",\n \".eslintrc.yaml\": \"eslint\",\n \".eslintrc.yml\": \"eslint\",\n \".eslintrc.toml\": \"eslint\",\n \".eslintrc.js\": \"eslint\",\n \".eslintrc.mjs\": \"eslint\",\n \".eslintrc.cjs\": \"eslint\",\n \".eslintrc.ts\": \"eslint\",\n \".eslintrc.mts\": \"eslint\",\n \".eslintrc.cts\": \"eslint\",\n \".config/eslintrc\": \"eslint\",\n \".config/eslintrc.json\": \"eslint\",\n \".config/eslintrc.jsonc\": \"eslint\",\n \".config/eslintrc.json5\": \"eslint\",\n \".config/eslintrc.yaml\": \"eslint\",\n \".config/eslintrc.yml\": \"eslint\",\n \".config/eslintrc.toml\": \"eslint\",\n \".config/eslintrc.js\": \"eslint\",\n \".config/eslintrc.mjs\": \"eslint\",\n \".config/eslintrc.cjs\": \"eslint\",\n \".config/eslintrc.ts\": \"eslint\",\n \".config/eslintrc.mts\": \"eslint\",\n \".config/eslintrc.cts\": \"eslint\",\n \"eslint.config.json\": \"eslint\",\n \"eslint.config.jsonc\": \"eslint\",\n \"eslint.config.json5\": \"eslint\",\n \"eslint.config.yaml\": \"eslint\",\n \"eslint.config.yml\": \"eslint\",\n \"eslint.config.toml\": \"eslint\",\n \"eslint.config.js\": \"eslint\",\n \"eslint.config.mjs\": \"eslint\",\n \"eslint.config.cjs\": \"eslint\",\n \"eslint.config.ts\": \"eslint\",\n \"eslint.config.mts\": \"eslint\",\n \"eslint.config.cts\": \"eslint\",\n \".eslintrc-md.js\": \"eslint\",\n \".eslintrc-jsdoc.js\": \"eslint\",\n \".eslintignore\": \"eslint\",\n \".eslintcache\": \"eslint\",\n \".eslintrc.base.json\": \"eslint\",\n \"code_of_conduct.md\": \"conduct\",\n \"code_of_conduct.txt\": \"conduct\",\n code_of_conduct: \"conduct\",\n \".watchmanconfig\": \"watchman\",\n \"aurelia.json\": \"aurelia\",\n \".autorc\": \"auto\",\n \"auto.config.js\": \"auto\",\n \"auto.config.ts\": \"auto\",\n \"auto-config.json\": \"auto\",\n \"auto-config.yaml\": \"auto\",\n \"auto-config.yml\": \"auto\",\n \"auto-config.ts\": \"auto\",\n \"auto-config.js\": \"auto\",\n \"mocha.opts\": \"mocha\",\n \".mocharc.yml\": \"mocha\",\n \".mocharc.yaml\": \"mocha\",\n \".mocharc.js\": \"mocha\",\n \".mocharc.json\": \"mocha\",\n \".mocharc.jsonc\": \"mocha\",\n jenkinsfile: \"jenkins\",\n \"firebase.json\": \"firebase\",\n \".firebaserc\": \"firebase\",\n \"firestore.rules\": \"firebase\",\n \"firestore.indexes.json\": \"firebase\",\n \"rollup.config.js\": \"rollup\",\n \"rollup.config.mjs\": \"rollup\",\n \"rollup.config.ts\": \"rollup\",\n \"rollup-config.js\": \"rollup\",\n \"rollup-config.mjs\": \"rollup\",\n \"rollup-config.ts\": \"rollup\",\n \"rollup.config.common.js\": \"rollup\",\n \"rollup.config.common.mjs\": \"rollup\",\n \"rollup.config.common.ts\": \"rollup\",\n \"rollup.config.base.js\": \"rollup\",\n \"rollup.config.base.mjs\": \"rollup\",\n \"rollup.config.base.ts\": \"rollup\",\n \"rollup.config.prod.js\": \"rollup\",\n \"rollup.config.prod.mjs\": \"rollup\",\n \"rollup.config.prod.ts\": \"rollup\",\n \"rollup.config.dev.js\": \"rollup\",\n \"rollup.config.dev.mjs\": \"rollup\",\n \"rollup.config.dev.ts\": \"rollup\",\n \"rollup.config.prod.vendor.js\": \"rollup\",\n \"rollup.config.prod.vendor.mjs\": \"rollup\",\n \"rollup.config.prod.vendor.ts\": \"rollup\",\n \".hhconfig\": \"hack\",\n \"hardhat.config.js\": \"hardhat\",\n \"hardhat.config.ts\": \"hardhat\",\n \".stylelintrc\": \"stylelint\",\n \".stylelintrc.json\": \"stylelint\",\n \".stylelintrc.jsonc\": \"stylelint\",\n \".stylelintrc.json5\": \"stylelint\",\n \".stylelintrc.yaml\": \"stylelint\",\n \".stylelintrc.yml\": \"stylelint\",\n \".stylelintrc.toml\": \"stylelint\",\n \".stylelintrc.js\": \"stylelint\",\n \".stylelintrc.mjs\": \"stylelint\",\n \".stylelintrc.cjs\": \"stylelint\",\n \".stylelintrc.ts\": \"stylelint\",\n \".stylelintrc.mts\": \"stylelint\",\n \".stylelintrc.cts\": \"stylelint\",\n \".config/stylelintrc\": \"stylelint\",\n \".config/stylelintrc.json\": \"stylelint\",\n \".config/stylelintrc.jsonc\": \"stylelint\",\n \".config/stylelintrc.json5\": \"stylelint\",\n \".config/stylelintrc.yaml\": \"stylelint\",\n \".config/stylelintrc.yml\": \"stylelint\",\n \".config/stylelintrc.toml\": \"stylelint\",\n \".config/stylelintrc.js\": \"stylelint\",\n \".config/stylelintrc.mjs\": \"stylelint\",\n \".config/stylelintrc.cjs\": \"stylelint\",\n \".config/stylelintrc.ts\": \"stylelint\",\n \".config/stylelintrc.mts\": \"stylelint\",\n \".config/stylelintrc.cts\": \"stylelint\",\n \"stylelint.config.json\": \"stylelint\",\n \"stylelint.config.jsonc\": \"stylelint\",\n \"stylelint.config.json5\": \"stylelint\",\n \"stylelint.config.yaml\": \"stylelint\",\n \"stylelint.config.yml\": \"stylelint\",\n \"stylelint.config.toml\": \"stylelint\",\n \"stylelint.config.js\": \"stylelint\",\n \"stylelint.config.mjs\": \"stylelint\",\n \"stylelint.config.cjs\": \"stylelint\",\n \"stylelint.config.ts\": \"stylelint\",\n \"stylelint.config.mts\": \"stylelint\",\n \"stylelint.config.cts\": \"stylelint\",\n \".stylelintignore\": \"stylelint\",\n \".stylelintcache\": \"stylelint\",\n \".codeclimate.yml\": \"code-climate\",\n \".prettierrc\": \"prettier\",\n \".prettierrc.json\": \"prettier\",\n \".prettierrc.jsonc\": \"prettier\",\n \".prettierrc.json5\": \"prettier\",\n \".prettierrc.yaml\": \"prettier\",\n \".prettierrc.yml\": \"prettier\",\n \".prettierrc.toml\": \"prettier\",\n \".prettierrc.js\": \"prettier\",\n \".prettierrc.mjs\": \"prettier\",\n \".prettierrc.cjs\": \"prettier\",\n \".prettierrc.ts\": \"prettier\",\n \".prettierrc.mts\": \"prettier\",\n \".prettierrc.cts\": \"prettier\",\n \".config/prettierrc\": \"prettier\",\n \".config/prettierrc.json\": \"prettier\",\n \".config/prettierrc.jsonc\": \"prettier\",\n \".config/prettierrc.json5\": \"prettier\",\n \".config/prettierrc.yaml\": \"prettier\",\n \".config/prettierrc.yml\": \"prettier\",\n \".config/prettierrc.toml\": \"prettier\",\n \".config/prettierrc.js\": \"prettier\",\n \".config/prettierrc.mjs\": \"prettier\",\n \".config/prettierrc.cjs\": \"prettier\",\n \".config/prettierrc.ts\": \"prettier\",\n \".config/prettierrc.mts\": \"prettier\",\n \".config/prettierrc.cts\": \"prettier\",\n \"prettier.config.json\": \"prettier\",\n \"prettier.config.jsonc\": \"prettier\",\n \"prettier.config.json5\": \"prettier\",\n \"prettier.config.yaml\": \"prettier\",\n \"prettier.config.yml\": \"prettier\",\n \"prettier.config.toml\": \"prettier\",\n \"prettier.config.js\": \"prettier\",\n \"prettier.config.mjs\": \"prettier\",\n \"prettier.config.cjs\": \"prettier\",\n \"prettier.config.ts\": \"prettier\",\n \"prettier.config.mts\": \"prettier\",\n \"prettier.config.cts\": \"prettier\",\n \".prettierignore\": \"prettier\",\n \".renovaterc\": \"renovate\",\n \".renovaterc.json\": \"renovate\",\n \"renovate-config.json\": \"renovate\",\n \"renovate.json\": \"renovate\",\n \"renovate.json5\": \"renovate\",\n \"apollo.config.js\": \"apollo\",\n \"nodemon.json\": \"nodemon\",\n \"nodemon-debug.json\": \"nodemon\",\n \".hintrc\": \"webhint\",\n browserslist: \"browserlist\",\n \".browserslistrc\": \"browserlist\",\n \".snyk\": \"snyk\",\n \".drone.yml\": \"drone\",\n \".sequelizerc\": \"sequelize\",\n \"gatsby-config.js\": \"gatsby\",\n \"gatsby-config.mjs\": \"gatsby\",\n \"gatsby-config.ts\": \"gatsby\",\n \"gatsby-node.js\": \"gatsby\",\n \"gatsby-node.mjs\": \"gatsby\",\n \"gatsby-node.ts\": \"gatsby\",\n \"gatsby-browser.js\": \"gatsby\",\n \"gatsby-browser.tsx\": \"gatsby\",\n \"gatsby-ssr.js\": \"gatsby\",\n \"gatsby-ssr.tsx\": \"gatsby\",\n \".wakatime-project\": \"wakatime\",\n \"circle.yml\": \"circleci\",\n \".cfignore\": \"cloudfoundry\",\n \"gruntfile.js\": \"grunt\",\n \"gruntfile.ts\": \"grunt\",\n \"gruntfile.cjs\": \"grunt\",\n \"gruntfile.cts\": \"grunt\",\n \"gruntfile.coffee\": \"grunt\",\n \"gruntfile.babel.js\": \"grunt\",\n \"gruntfile.babel.ts\": \"grunt\",\n \"gruntfile.babel.coffee\": \"grunt\",\n \"jest.config.js\": \"jest\",\n \"jest.config.cjs\": \"jest\",\n \"jest.config.mjs\": \"jest\",\n \"jest.config.ts\": \"jest\",\n \"jest.config.cts\": \"jest\",\n \"jest.config.mts\": \"jest\",\n \"jest.config.json\": \"jest\",\n \"jest.e2e.config.js\": \"jest\",\n \"jest.e2e.config.cjs\": \"jest\",\n \"jest.e2e.config.mjs\": \"jest\",\n \"jest.e2e.config.ts\": \"jest\",\n \"jest.e2e.config.cts\": \"jest\",\n \"jest.e2e.config.mts\": \"jest\",\n \"jest.e2e.config.json\": \"jest\",\n \"jest.e2e.json\": \"jest\",\n \"jest-unit.config.js\": \"jest\",\n \"jest-e2e.config.js\": \"jest\",\n \"jest-e2e.config.cjs\": \"jest\",\n \"jest-e2e.config.mjs\": \"jest\",\n \"jest-e2e.config.ts\": \"jest\",\n \"jest-e2e.config.cts\": \"jest\",\n \"jest-e2e.config.mts\": \"jest\",\n \"jest-e2e.config.json\": \"jest\",\n \"jest-e2e.json\": \"jest\",\n \"jest-github-actions-reporter.js\": \"jest\",\n \"jest.setup.js\": \"jest\",\n \"jest.setup.ts\": \"jest\",\n \"jest.json\": \"jest\",\n \".jestrc\": \"jest\",\n \".jestrc.js\": \"jest\",\n \".jestrc.json\": \"jest\",\n \"jest.teardown.js\": \"jest\",\n \"jest-preset.json\": \"jest\",\n \"jest-preset.js\": \"jest\",\n \"jest-preset.cjs\": \"jest\",\n \"jest-preset.mjs\": \"jest\",\n \"jest.preset.js\": \"jest\",\n \"jest.preset.mjs\": \"jest\",\n \"jest.preset.cjs\": \"jest\",\n \"jest.preset.json\": \"jest\",\n fastfile: \"fastlane\",\n appfile: \"fastlane\",\n \".helmignore\": \"helm\",\n \"wallaby.js\": \"wallaby\",\n \"wallaby.conf.js\": \"wallaby\",\n \"stencil.config.js\": \"stencil\",\n \"stencil.config.ts\": \"stencil\",\n makefile: \"makefile\",\n gnumakefile: \"makefile\",\n kbuild: \"makefile\",\n \".releaserc\": \"semantic-release\",\n \".releaserc.json\": \"semantic-release\",\n \".releaserc.jsonc\": \"semantic-release\",\n \".releaserc.json5\": \"semantic-release\",\n \".releaserc.yaml\": \"semantic-release\",\n \".releaserc.yml\": \"semantic-release\",\n \".releaserc.toml\": \"semantic-release\",\n \".releaserc.js\": \"semantic-release\",\n \".releaserc.mjs\": \"semantic-release\",\n \".releaserc.cjs\": \"semantic-release\",\n \".releaserc.ts\": \"semantic-release\",\n \".releaserc.mts\": \"semantic-release\",\n \".releaserc.cts\": \"semantic-release\",\n \".config/releaserc\": \"semantic-release\",\n \".config/releaserc.json\": \"semantic-release\",\n \".config/releaserc.jsonc\": \"semantic-release\",\n \".config/releaserc.json5\": \"semantic-release\",\n \".config/releaserc.yaml\": \"semantic-release\",\n \".config/releaserc.yml\": \"semantic-release\",\n \".config/releaserc.toml\": \"semantic-release\",\n \".config/releaserc.js\": \"semantic-release\",\n \".config/releaserc.mjs\": \"semantic-release\",\n \".config/releaserc.cjs\": \"semantic-release\",\n \".config/releaserc.ts\": \"semantic-release\",\n \".config/releaserc.mts\": \"semantic-release\",\n \".config/releaserc.cts\": \"semantic-release\",\n \"release.config.json\": \"semantic-release\",\n \"release.config.jsonc\": \"semantic-release\",\n \"release.config.json5\": \"semantic-release\",\n \"release.config.yaml\": \"semantic-release\",\n \"release.config.yml\": \"semantic-release\",\n \"release.config.toml\": \"semantic-release\",\n \"release.config.js\": \"semantic-release\",\n \"release.config.mjs\": \"semantic-release\",\n \"release.config.cjs\": \"semantic-release\",\n \"release.config.ts\": \"semantic-release\",\n \"release.config.mts\": \"semantic-release\",\n \"release.config.cts\": \"semantic-release\",\n \"bitbucket-pipelines.yaml\": \"bitbucket\",\n \"bitbucket-pipelines.yml\": \"bitbucket\",\n \".bazelignore\": \"bazel\",\n \".bazelrc\": \"bazel\",\n \".bazelversion\": \"bazel\",\n \".gdignore\": \"godot-assets\",\n \"._sc_\": \"godot-assets\",\n _sc_: \"godot-assets\",\n \"azure-pipelines.yml\": \"azure-pipelines\",\n \"azure-pipelines.yaml\": \"azure-pipelines\",\n \"azure-pipelines-main.yml\": \"azure-pipelines\",\n \"azure-pipelines-main.yaml\": \"azure-pipelines\",\n vagrantfile: \"vagrant\",\n \"prisma.yml\": \"prisma\",\n \".nycrc\": \"istanbul\",\n \".nycrc.json\": \"istanbul\",\n \".nycrc.yaml\": \"istanbul\",\n \".nycrc.yml\": \"istanbul\",\n \"nyc.config.js\": \"istanbul\",\n \".istanbul.yml\": \"istanbul\",\n \"tailwind.js\": \"tailwindcss\",\n \"tailwind.ts\": \"tailwindcss\",\n \"tailwind.config.js\": \"tailwindcss\",\n \"tailwind.config.cjs\": \"tailwindcss\",\n \"tailwind.config.mjs\": \"tailwindcss\",\n \"tailwind.config.ts\": \"tailwindcss\",\n \"tailwind.config.cts\": \"tailwindcss\",\n \"tailwind.config.mts\": \"tailwindcss\",\n \"buildkite.yml\": \"buildkite\",\n \"buildkite.yaml\": \"buildkite\",\n \"netlify.json\": \"netlify\",\n \"netlify.yml\": \"netlify\",\n \"netlify.yaml\": \"netlify\",\n \"netlify.toml\": \"netlify\",\n \"svelte.config.js\": \"svelte\",\n \"svelte.config.cjs\": \"svelte\",\n \"nest-cli.json\": \"nest\",\n \".nest-cli.json\": \"nest\",\n \"nestconfig.json\": \"nest\",\n \".nestconfig.json\": \"nest\",\n \"moon.yml\": \"moon\",\n \".percy.yml\": \"percy\",\n \".gitpod.yml\": \"gitpod\",\n codeowners: \"codeowners\",\n OWNERS: \"codeowners\",\n \".gcloudignore\": \"gcp\",\n \".huskyrc\": \"husky\",\n \".huskyrc.json\": \"husky\",\n \".huskyrc.jsonc\": \"husky\",\n \".huskyrc.json5\": \"husky\",\n \".huskyrc.yaml\": \"husky\",\n \".huskyrc.yml\": \"husky\",\n \".huskyrc.toml\": \"husky\",\n \".huskyrc.js\": \"husky\",\n \".huskyrc.mjs\": \"husky\",\n \".huskyrc.cjs\": \"husky\",\n \".huskyrc.ts\": \"husky\",\n \".huskyrc.mts\": \"husky\",\n \".huskyrc.cts\": \"husky\",\n \".config/huskyrc\": \"husky\",\n \".config/huskyrc.json\": \"husky\",\n \".config/huskyrc.jsonc\": \"husky\",\n \".config/huskyrc.json5\": \"husky\",\n \".config/huskyrc.yaml\": \"husky\",\n \".config/huskyrc.yml\": \"husky\",\n \".config/huskyrc.toml\": \"husky\",\n \".config/huskyrc.js\": \"husky\",\n \".config/huskyrc.mjs\": \"husky\",\n \".config/huskyrc.cjs\": \"husky\",\n \".config/huskyrc.ts\": \"husky\",\n \".config/huskyrc.mts\": \"husky\",\n \".config/huskyrc.cts\": \"husky\",\n \"husky.config.json\": \"husky\",\n \"husky.config.jsonc\": \"husky\",\n \"husky.config.json5\": \"husky\",\n \"husky.config.yaml\": \"husky\",\n \"husky.config.yml\": \"husky\",\n \"husky.config.toml\": \"husky\",\n \"husky.config.js\": \"husky\",\n \"husky.config.mjs\": \"husky\",\n \"husky.config.cjs\": \"husky\",\n \"husky.config.ts\": \"husky\",\n \"husky.config.mts\": \"husky\",\n \"husky.config.cts\": \"husky\",\n tiltfile: \"tilt\",\n \"capacitor.config.json\": \"capacitor\",\n \"capacitor.config.ts\": \"capacitor\",\n \".adonisrc.json\": \"adonis\",\n ace: \"adonis\",\n \"meson.build\": \"meson\",\n \"meson_options.txt\": \"meson\",\n \".commitlintrc\": \"commitlint\",\n \".commitlintrc.json\": \"commitlint\",\n \".commitlintrc.jsonc\": \"commitlint\",\n \".commitlintrc.json5\": \"commitlint\",\n \".commitlintrc.yaml\": \"commitlint\",\n \".commitlintrc.yml\": \"commitlint\",\n \".commitlintrc.toml\": \"commitlint\",\n \".commitlintrc.js\": \"commitlint\",\n \".commitlintrc.mjs\": \"commitlint\",\n \".commitlintrc.cjs\": \"commitlint\",\n \".commitlintrc.ts\": \"commitlint\",\n \".commitlintrc.mts\": \"commitlint\",\n \".commitlintrc.cts\": \"commitlint\",\n \".config/commitlintrc\": \"commitlint\",\n \".config/commitlintrc.json\": \"commitlint\",\n \".config/commitlintrc.jsonc\": \"commitlint\",\n \".config/commitlintrc.json5\": \"commitlint\",\n \".config/commitlintrc.yaml\": \"commitlint\",\n \".config/commitlintrc.yml\": \"commitlint\",\n \".config/commitlintrc.toml\": \"commitlint\",\n \".config/commitlintrc.js\": \"commitlint\",\n \".config/commitlintrc.mjs\": \"commitlint\",\n \".config/commitlintrc.cjs\": \"commitlint\",\n \".config/commitlintrc.ts\": \"commitlint\",\n \".config/commitlintrc.mts\": \"commitlint\",\n \".config/commitlintrc.cts\": \"commitlint\",\n \"commitlint.config.json\": \"commitlint\",\n \"commitlint.config.jsonc\": \"commitlint\",\n \"commitlint.config.json5\": \"commitlint\",\n \"commitlint.config.yaml\": \"commitlint\",\n \"commitlint.config.yml\": \"commitlint\",\n \"commitlint.config.toml\": \"commitlint\",\n \"commitlint.config.js\": \"commitlint\",\n \"commitlint.config.mjs\": \"commitlint\",\n \"commitlint.config.cjs\": \"commitlint\",\n \"commitlint.config.ts\": \"commitlint\",\n \"commitlint.config.mts\": \"commitlint\",\n \"commitlint.config.cts\": \"commitlint\",\n \".commitlint.yaml\": \"commitlint\",\n \".commitlint.yml\": \"commitlint\",\n \".buckconfig\": \"buck\",\n \"nx.json\": \"nx\",\n \".nxignore\": \"nx\",\n dune: \"dune\",\n \"dune-project\": \"dune\",\n \"dune-workspace\": \"dune\",\n \"dune-workspace.dev\": \"dune\",\n \"roadmap.md\": \"roadmap\",\n \"roadmap.txt\": \"roadmap\",\n \"timeline.md\": \"roadmap\",\n \"timeline.txt\": \"roadmap\",\n \"milestones.md\": \"roadmap\",\n \"milestones.txt\": \"roadmap\",\n \"nuget.config\": \"nuget\",\n \".nuspec\": \"nuget\",\n \"nuget.exe\": \"nuget\",\n \"stryker.conf.json\": \"stryker\",\n \"stryker.conf.js\": \"stryker\",\n \"stryker.conf.cjs\": \"stryker\",\n \"stryker.conf.mjs\": \"stryker\",\n \".stryker.conf.json\": \"stryker\",\n \".stryker.conf.js\": \"stryker\",\n \".stryker.conf.cjs\": \"stryker\",\n \".stryker.conf.mjs\": \"stryker\",\n \".modernizrrc\": \"modernizr\",\n \".modernizrrc.js\": \"modernizr\",\n \".modernizrrc.json\": \"modernizr\",\n \".slugignore\": \"slug\",\n \"stitches.config.js\": \"stitches\",\n \"stitches.config.ts\": \"stitches\",\n \"nginx.conf\": \"nginx\",\n \".mcattributes\": \"minecraft\",\n \".mcdefinitions\": \"minecraft\",\n \".mcignore\": \"minecraft\",\n \".replit\": \"replit\",\n \"snowpack.config.js\": \"snowpack\",\n \"snowpack.config.cjs\": \"snowpack\",\n \"snowpack.config.mjs\": \"snowpack\",\n \"snowpack.config.ts\": \"snowpack\",\n \"snowpack.config.cts\": \"snowpack\",\n \"snowpack.config.mts\": \"snowpack\",\n \"snowpack.deps.json\": \"snowpack\",\n \"snowpack.config.json\": \"snowpack\",\n \"quasar.conf.js\": \"quasar\",\n \"quasar.config.js\": \"quasar\",\n \"dependabot.yml\": \"dependabot\",\n \"dependabot.yaml\": \"dependabot\",\n \"vite.config.js\": \"vite\",\n \"vite.config.mjs\": \"vite\",\n \"vite.config.cjs\": \"vite\",\n \"vite.config.ts\": \"vite\",\n \"vite.config.cts\": \"vite\",\n \"vite.config.mts\": \"vite\",\n \"vitest.config.ts\": \"vitest\",\n \"vitest.config.mts\": \"vitest\",\n \"vitest.config.cts\": \"vitest\",\n \"vitest.config.js\": \"vitest\",\n \"vitest.config.mjs\": \"vitest\",\n \"vitest.config.cjs\": \"vitest\",\n \"vitest.workspace.ts\": \"vitest\",\n \"vitest.workspace.mts\": \"vitest\",\n \"vitest.workspace.cts\": \"vitest\",\n \"vitest.workspace.js\": \"vitest\",\n \"vitest.workspace.mjs\": \"vitest\",\n \"vitest.workspace.cjs\": \"vitest\",\n \"lerna.json\": \"lerna\",\n \"windi.config.js\": \"windicss\",\n \"windi.config.cjs\": \"windicss\",\n \"windi.config.ts\": \"windicss\",\n \"windi.config.cts\": \"windicss\",\n \"windi.config.json\": \"windicss\",\n \".textlintrc\": \"textlint\",\n \".textlintrc.js\": \"textlint\",\n \".textlintrc.json\": \"textlint\",\n \".textlintrc.yml\": \"textlint\",\n \".textlintrc.yaml\": \"textlint\",\n \"vpkg.json\": \"vlang\",\n \"v.mod\": \"vlang\",\n \".sentryclirc\": \"sentry\",\n \".phpunit.result.cache\": \"phpunit\",\n \".phpunit-watcher.yml\": \"phpunit\",\n \"phpunit.xml\": \"phpunit\",\n \"phpunit.xml.dist\": \"phpunit\",\n \"phpunit-watcher.yml\": \"phpunit\",\n \"phpunit-watcher.yml.dist\": \"phpunit\",\n \".php_cs\": \"php-cs-fixer\",\n \".php_cs.dist\": \"php-cs-fixer\",\n \".php_cs.php\": \"php-cs-fixer\",\n \".php_cs.dist.php\": \"php-cs-fixer\",\n \".php-cs-fixer.php\": \"php-cs-fixer\",\n \".php-cs-fixer.dist.php\": \"php-cs-fixer\",\n \"robots.txt\": \"robots\",\n \"tsconfig.json\": \"tsconfig\",\n \"tsconfig.app.json\": \"tsconfig\",\n \"tsconfig.editor.json\": \"tsconfig\",\n \"tsconfig.spec.json\": \"tsconfig\",\n \"tsconfig.base.json\": \"tsconfig\",\n \"tsconfig.build.json\": \"tsconfig\",\n \"tsconfig.eslint.json\": \"tsconfig\",\n \"tsconfig.lib.json\": \"tsconfig\",\n \"tsconfig.lib.prod.json\": \"tsconfig\",\n \"tsconfig.node.json\": \"tsconfig\",\n \"tsconfig.test.json\": \"tsconfig\",\n \"tsconfig.e2e.json\": \"tsconfig\",\n \"tsconfig.web.json\": \"tsconfig\",\n \"tsconfig.webworker.json\": \"tsconfig\",\n \"tsconfig.worker.json\": \"tsconfig\",\n \"tsconfig.config.json\": \"tsconfig\",\n \"tsconfig.vitest.json\": \"tsconfig\",\n \"tsconfig.cjs.json\": \"tsconfig\",\n \"tsconfig.esm.json\": \"tsconfig\",\n \"tsconfig.mjs.json\": \"tsconfig\",\n \"tsconfig.doc.json\": \"tsconfig\",\n \"tsconfig.paths.json\": \"tsconfig\",\n \"tsconfig.main.json\": \"tsconfig\",\n \"tsconfig.renderer.json\": \"tsconfig\",\n \"tsconfig.server.json\": \"tsconfig\",\n \"tauri.conf.json\": \"tauri\",\n \"tauri.config.json\": \"tauri\",\n \"tauri.linux.conf.json\": \"tauri\",\n \"tauri.windows.conf.json\": \"tauri\",\n \"tauri.macos.conf.json\": \"tauri\",\n \".taurignore\": \"tauri\",\n \"jsconfig.json\": \"jsconfig\",\n \"maven.config\": \"maven\",\n \"jvm.config\": \"maven\",\n \"pom.xml\": \"maven\",\n \"serverless.yml\": \"serverless\",\n \"serverless.yaml\": \"serverless\",\n \"serverless.json\": \"serverless\",\n \"serverless.js\": \"serverless\",\n \"serverless.ts\": \"serverless\",\n \"supabase.js\": \"supabase\",\n \"supabase.py\": \"supabase\",\n \".ember-cli\": \"ember\",\n \".ember-cli.js\": \"ember\",\n \"ember-cli-builds.js\": \"ember\",\n \"horusec-config.json\": \"horusec\",\n \"poetry.lock\": \"poetry\",\n \"pdm.lock\": \"pdm\",\n \"pdm.toml\": \"pdm\",\n \".pdm-python\": \"pdm\",\n \".parcelrc\": \"parcel\",\n \".astylerc\": \"astyle\",\n \".lighthouserc.js\": \"lighthouse\",\n \"lighthouserc.js\": \"lighthouse\",\n \".lighthouserc.cjs\": \"lighthouse\",\n \"lighthouserc.cjs\": \"lighthouse\",\n \".lighthouserc.json\": \"lighthouse\",\n \"lighthouserc.json\": \"lighthouse\",\n \".lighthouserc.yml\": \"lighthouse\",\n \"lighthouserc.yml\": \"lighthouse\",\n \".lighthouserc.yaml\": \"lighthouse\",\n \"lighthouserc.yaml\": \"lighthouse\",\n \".svgrrc\": \"svgr\",\n \".svgrrc.json\": \"svgr\",\n \".svgrrc.jsonc\": \"svgr\",\n \".svgrrc.json5\": \"svgr\",\n \".svgrrc.yaml\": \"svgr\",\n \".svgrrc.yml\": \"svgr\",\n \".svgrrc.toml\": \"svgr\",\n \".svgrrc.js\": \"svgr\",\n \".svgrrc.mjs\": \"svgr\",\n \".svgrrc.cjs\": \"svgr\",\n \".svgrrc.ts\": \"svgr\",\n \".svgrrc.mts\": \"svgr\",\n \".svgrrc.cts\": \"svgr\",\n \".config/svgrrc\": \"svgr\",\n \".config/svgrrc.json\": \"svgr\",\n \".config/svgrrc.jsonc\": \"svgr\",\n \".config/svgrrc.json5\": \"svgr\",\n \".config/svgrrc.yaml\": \"svgr\",\n \".config/svgrrc.yml\": \"svgr\",\n \".config/svgrrc.toml\": \"svgr\",\n \".config/svgrrc.js\": \"svgr\",\n \".config/svgrrc.mjs\": \"svgr\",\n \".config/svgrrc.cjs\": \"svgr\",\n \".config/svgrrc.ts\": \"svgr\",\n \".config/svgrrc.mts\": \"svgr\",\n \".config/svgrrc.cts\": \"svgr\",\n \"svgr.config.json\": \"svgr\",\n \"svgr.config.jsonc\": \"svgr\",\n \"svgr.config.json5\": \"svgr\",\n \"svgr.config.yaml\": \"svgr\",\n \"svgr.config.yml\": \"svgr\",\n \"svgr.config.toml\": \"svgr\",\n \"svgr.config.js\": \"svgr\",\n \"svgr.config.mjs\": \"svgr\",\n \"svgr.config.cjs\": \"svgr\",\n \"svgr.config.ts\": \"svgr\",\n \"svgr.config.mts\": \"svgr\",\n \"svgr.config.cts\": \"svgr\",\n \"rome.json\": \"rome\",\n \"cypress.json\": \"cypress\",\n \"cypress.env.json\": \"cypress\",\n \"cypress.config.ts\": \"cypress\",\n \"cypress.config.js\": \"cypress\",\n \"cypress.config.cjs\": \"cypress\",\n \"cypress.config.mjs\": \"cypress\",\n \"plopfile.js\": \"plop\",\n \"plopfile.cjs\": \"plop\",\n \"plopfile.mjs\": \"plop\",\n \"plopfile.ts\": \"plop\",\n \".tobimake\": \"tobimake\",\n \"gleam.toml\": \"gleam\",\n \"pnpm-lock.yaml\": \"pnpm\",\n \"pnpm-workspace.yaml\": \"pnpm\",\n \".pnpmfile.cjs\": \"pnpm\",\n \"gridsome.config.js\": \"gridsome\",\n \"gridsome.server.js\": \"gridsome\",\n \".steadybit.yml\": \"steadybit\",\n \"steadybit.yml\": \"steadybit\",\n \".steadybit.yaml\": \"steadybit\",\n \"steadybit.yaml\": \"steadybit\",\n Caddyfile: \"caddy\",\n \"openapi.json\": \"openapi\",\n \"openapi.yml\": \"openapi\",\n \"openapi.yaml\": \"openapi\",\n \"swagger.json\": \"swagger\",\n \"swagger.yml\": \"swagger\",\n \"swagger.yaml\": \"swagger\",\n \"bun.lockb\": \"bun\",\n \"bunfig.toml\": \"bun\",\n \".nano-staged.js\": \"nano-staged\",\n \"nano-staged.js\": \"nano-staged\",\n \".nano-staged.cjs\": \"nano-staged\",\n \"nano-staged.cjs\": \"nano-staged\",\n \".nano-staged.mjs\": \"nano-staged\",\n \"nano-staged.mjs\": \"nano-staged\",\n \".nano-staged.json\": \"nano-staged\",\n \"nano-staged.json\": \"nano-staged\",\n \".nanostagedrc\": \"nano-staged\",\n \"knip.json\": \"knip\",\n \"knip.jsonc\": \"knip\",\n \".knip.json\": \"knip\",\n \".knip.jsonc\": \"knip\",\n \"knip.ts\": \"knip\",\n \"knip.js\": \"knip\",\n \"knip.config.ts\": \"knip\",\n \"knip.config.js\": \"knip\",\n \"taskfile.yml\": \"taskfile\",\n \"taskfile.yaml\": \"taskfile\",\n \"taskfile.dist.yml\": \"taskfile\",\n \"taskfile.dist.yaml\": \"taskfile\",\n \".cracorc\": \"craco\",\n \".cracorc.json\": \"craco\",\n \".cracorc.jsonc\": \"craco\",\n \".cracorc.json5\": \"craco\",\n \".cracorc.yaml\": \"craco\",\n \".cracorc.yml\": \"craco\",\n \".cracorc.toml\": \"craco\",\n \".cracorc.js\": \"craco\",\n \".cracorc.mjs\": \"craco\",\n \".cracorc.cjs\": \"craco\",\n \".cracorc.ts\": \"craco\",\n \".cracorc.mts\": \"craco\",\n \".cracorc.cts\": \"craco\",\n \".config/cracorc\": \"craco\",\n \".config/cracorc.json\": \"craco\",\n \".config/cracorc.jsonc\": \"craco\",\n \".config/cracorc.json5\": \"craco\",\n \".config/cracorc.yaml\": \"craco\",\n \".config/cracorc.yml\": \"craco\",\n \".config/cracorc.toml\": \"craco\",\n \".config/cracorc.js\": \"craco\",\n \".config/cracorc.mjs\": \"craco\",\n \".config/cracorc.cjs\": \"craco\",\n \".config/cracorc.ts\": \"craco\",\n \".config/cracorc.mts\": \"craco\",\n \".config/cracorc.cts\": \"craco\",\n \"craco.config.json\": \"craco\",\n \"craco.config.jsonc\": \"craco\",\n \"craco.config.json5\": \"craco\",\n \"craco.config.yaml\": \"craco\",\n \"craco.config.yml\": \"craco\",\n \"craco.config.toml\": \"craco\",\n \"craco.config.js\": \"craco\",\n \"craco.config.mjs\": \"craco\",\n \"craco.config.cjs\": \"craco\",\n \"craco.config.ts\": \"craco\",\n \"craco.config.mts\": \"craco\",\n \"craco.config.cts\": \"craco\",\n \".hg\": \"mercurial\",\n \".hgignore\": \"mercurial\",\n \".hgflow\": \"mercurial\",\n \".hgrc\": \"mercurial\",\n hgrc: \"mercurial\",\n \"mercurial.ini\": \"mercurial\",\n \"deno.json\": \"deno\",\n \"deno.jsonc\": \"deno\",\n \"deno.lock\": \"deno\",\n \"plastic.branchexplorer\": \"plastic\",\n \"plastic.selector\": \"plastic\",\n \"plastic.wktree\": \"plastic\",\n \"plastic.workspace\": \"plastic\",\n \"plastic.workspaces\": \"plastic\",\n \"uno.config.js\": \"unocss\",\n \"uno.config.mjs\": \"unocss\",\n \"uno.config.ts\": \"unocss\",\n \"uno.config.mts\": \"unocss\",\n \"unocss.config.js\": \"unocss\",\n \"unocss.config.mjs\": \"unocss\",\n \"unocss.config.ts\": \"unocss\",\n \"unocss.config.mts\": \"unocss\",\n \".mincloudrc\": \"ifanr-cloud\",\n \"concourse.yml\": \"concourse\",\n \".syncpackrc\": \"syncpack\",\n \".syncpackrc.json\": \"syncpack\",\n \".syncpackrc.jsonc\": \"syncpack\",\n \".syncpackrc.json5\": \"syncpack\",\n \".syncpackrc.yaml\": \"syncpack\",\n \".syncpackrc.yml\": \"syncpack\",\n \".syncpackrc.toml\": \"syncpack\",\n \".syncpackrc.js\": \"syncpack\",\n \".syncpackrc.mjs\": \"syncpack\",\n \".syncpackrc.cjs\": \"syncpack\",\n \".syncpackrc.ts\": \"syncpack\",\n \".syncpackrc.mts\": \"syncpack\",\n \".syncpackrc.cts\": \"syncpack\",\n \".config/syncpackrc\": \"syncpack\",\n \".config/syncpackrc.json\": \"syncpack\",\n \".config/syncpackrc.jsonc\": \"syncpack\",\n \".config/syncpackrc.json5\": \"syncpack\",\n \".config/syncpackrc.yaml\": \"syncpack\",\n \".config/syncpackrc.yml\": \"syncpack\",\n \".config/syncpackrc.toml\": \"syncpack\",\n \".config/syncpackrc.js\": \"syncpack\",\n \".config/syncpackrc.mjs\": \"syncpack\",\n \".config/syncpackrc.cjs\": \"syncpack\",\n \".config/syncpackrc.ts\": \"syncpack\",\n \".config/syncpackrc.mts\": \"syncpack\",\n \".config/syncpackrc.cts\": \"syncpack\",\n \"syncpack.config.json\": \"syncpack\",\n \"syncpack.config.jsonc\": \"syncpack\",\n \"syncpack.config.json5\": \"syncpack\",\n \"syncpack.config.yaml\": \"syncpack\",\n \"syncpack.config.yml\": \"syncpack\",\n \"syncpack.config.toml\": \"syncpack\",\n \"syncpack.config.js\": \"syncpack\",\n \"syncpack.config.mjs\": \"syncpack\",\n \"syncpack.config.cjs\": \"syncpack\",\n \"syncpack.config.ts\": \"syncpack\",\n \"syncpack.config.mts\": \"syncpack\",\n \"syncpack.config.cts\": \"syncpack\",\n \"werf.yaml\": \"werf\",\n \"werf.yml\": \"werf\",\n \"werf-giterminism.yaml\": \"werf\",\n \"werf-giterminism.yml\": \"werf\",\n \"panda.config.ts\": \"panda\",\n \"panda.config.js\": \"panda\",\n \"panda.config.mjs\": \"panda\",\n \"panda.config.mts\": \"panda\",\n \"panda.config.cjs\": \"panda\",\n \"biome.json\": \"biome\",\n \"esbuild.js\": \"esbuild\",\n \"esbuild.ts\": \"esbuild\",\n \"esbuild.cjs\": \"esbuild\",\n \"esbuild.mjs\": \"esbuild\",\n \"esbuild.config.js\": \"esbuild\",\n \"esbuild.config.ts\": \"esbuild\",\n \"esbuild.config.cjs\": \"esbuild\",\n \"esbuild.config.mjs\": \"esbuild\",\n \".puppeteerrc\": \"puppeteer\",\n \".puppeteerrc.json\": \"puppeteer\",\n \".puppeteerrc.jsonc\": \"puppeteer\",\n \".puppeteerrc.json5\": \"puppeteer\",\n \".puppeteerrc.yaml\": \"puppeteer\",\n \".puppeteerrc.yml\": \"puppeteer\",\n \".puppeteerrc.toml\": \"puppeteer\",\n \".puppeteerrc.js\": \"puppeteer\",\n \".puppeteerrc.mjs\": \"puppeteer\",\n \".puppeteerrc.cjs\": \"puppeteer\",\n \".puppeteerrc.ts\": \"puppeteer\",\n \".puppeteerrc.mts\": \"puppeteer\",\n \".puppeteerrc.cts\": \"puppeteer\",\n \".config/puppeteerrc\": \"puppeteer\",\n \".config/puppeteerrc.json\": \"puppeteer\",\n \".config/puppeteerrc.jsonc\": \"puppeteer\",\n \".config/puppeteerrc.json5\": \"puppeteer\",\n \".config/puppeteerrc.yaml\": \"puppeteer\",\n \".config/puppeteerrc.yml\": \"puppeteer\",\n \".config/puppeteerrc.toml\": \"puppeteer\",\n \".config/puppeteerrc.js\": \"puppeteer\",\n \".config/puppeteerrc.mjs\": \"puppeteer\",\n \".config/puppeteerrc.cjs\": \"puppeteer\",\n \".config/puppeteerrc.ts\": \"puppeteer\",\n \".config/puppeteerrc.mts\": \"puppeteer\",\n \".config/puppeteerrc.cts\": \"puppeteer\",\n \"puppeteer.config.json\": \"puppeteer\",\n \"puppeteer.config.jsonc\": \"puppeteer\",\n \"puppeteer.config.json5\": \"puppeteer\",\n \"puppeteer.config.yaml\": \"puppeteer\",\n \"puppeteer.config.yml\": \"puppeteer\",\n \"puppeteer.config.toml\": \"puppeteer\",\n \"puppeteer.config.js\": \"puppeteer\",\n \"puppeteer.config.mjs\": \"puppeteer\",\n \"puppeteer.config.cjs\": \"puppeteer\",\n \"puppeteer.config.ts\": \"puppeteer\",\n \"puppeteer.config.mts\": \"puppeteer\",\n \"puppeteer.config.cts\": \"puppeteer\",\n PklProject: \"pkl\",\n \"PklProject.deps.json\": \"pkl\",\n \"k8s.yml\": \"kubernetes\",\n \"k8s.yaml\": \"kubernetes\",\n \"kubernetes.yml\": \"kubernetes\",\n \"kubernetes.yaml\": \"kubernetes\",\n \".k8s.yml\": \"kubernetes\",\n \".k8s.yaml\": \"kubernetes\"\n },\n languageIds: {\n git: \"git\",\n \"git-commit\": \"git\",\n \"git-rebase\": \"git\",\n ignore: \"git\",\n yaml: \"yaml\",\n \"github-actions-workflow\": \"yaml\",\n \"spring-boot-properties-yaml\": \"yaml\",\n ansible: \"yaml\",\n \"ansible-jinja\": \"yaml\",\n xml: \"xml\",\n xquery: \"xml\",\n xsl: \"xml\",\n matlab: \"matlab\",\n makefile: \"settings\",\n toml: \"settings\",\n ini: \"settings\",\n properties: \"settings\",\n \"spring-boot-properties\": \"settings\",\n shaderlab: \"shaderlab\",\n diff: \"diff\",\n json: \"json\",\n jsonc: \"json\",\n json5: \"json\",\n blink: \"blink\",\n java: \"java\",\n razor: \"razor\",\n aspnetcorerazor: \"razor\",\n python: \"python\",\n mojo: \"mojo\",\n javascript: \"javascript\",\n typescript: \"typescript\",\n scala: \"scala\",\n handlebars: \"handlebars\",\n perl: \"perl\",\n perl6: \"perl\",\n haxe: \"haxe\",\n hxml: \"haxe\",\n puppet: \"puppet\",\n elixir: \"elixir\",\n livescript: \"livescript\",\n erlang: \"erlang\",\n twig: \"twig\",\n julia: \"julia\",\n elm: \"elm\",\n purescript: \"purescript\",\n stylus: \"stylus\",\n nunjucks: \"nunjucks\",\n pug: \"pug\",\n robotframework: \"robot\",\n sass: \"sass\",\n scss: \"sass\",\n less: \"less\",\n css: \"css\",\n testOutput: \"visualstudio\",\n vb: \"visualstudio\",\n \"ng-template\": \"angular\",\n graphql: \"graphql\",\n solidity: \"solidity\",\n autoit: \"autoit\",\n haml: \"haml\",\n yang: \"yang\",\n terraform: \"terraform\",\n applescript: \"applescript\",\n cake: \"cake\",\n cucumber: \"cucumber\",\n nim: \"nim\",\n nimble: \"nim\",\n apiblueprint: \"apiblueprint\",\n riot: \"riot\",\n postcss: \"postcss\",\n \"lang-cfml\": \"coldfusion\",\n haskell: \"haskell\",\n dhall: \"dhall\",\n cabal: \"cabal\",\n nix: \"nix\",\n ruby: \"ruby\",\n slim: \"slim\",\n php: \"php\",\n hack: \"hack\",\n javascriptreact: \"react\",\n mjml: \"mjml\",\n processing: \"processing\",\n hcl: \"hcl\",\n go: \"go\",\n \"django-html\": \"django\",\n \"django-txt\": \"django\",\n html: \"html\",\n gdscript: \"godot\",\n gdresource: \"godot-assets\",\n gdshader: \"godot-assets\",\n viml: \"vim\",\n prolog: \"prolog\",\n pawn: \"pawn\",\n reason: \"reason\",\n reason_lisp: \"reason\",\n sml: \"sml\",\n tex: \"tex\",\n doctex: \"tex\",\n latex: \"tex\",\n \"latex-expl3\": \"tex\",\n apex: \"salesforce\",\n sas: \"sas\",\n dockerfile: \"docker\",\n dockercompose: \"docker\",\n csv: \"table\",\n tsv: \"table\",\n psv: \"table\",\n csharp: \"csharp\",\n bat: \"console\",\n awk: \"console\",\n shellscript: \"console\",\n c: \"c\",\n cpp: \"cpp\",\n \"objective-c\": \"objective-c\",\n \"objective-cpp\": \"objective-cpp\",\n coffeescript: \"coffee\",\n fsharp: \"fsharp\",\n editorconfig: \"editorconfig\",\n clojure: \"clojure\",\n groovy: \"groovy\",\n markdown: \"markdown\",\n jinja: \"jinja\",\n proto: \"proto\",\n \"pip-requirements\": \"python-misc\",\n vue: \"vue\",\n \"vue-postcss\": \"vue\",\n \"vue-html\": \"vue\",\n lua: \"lua\",\n bibtex: \"lib\",\n \"bibtex-style\": \"lib\",\n log: \"log\",\n jupyter: \"jupyter\",\n plaintext: \"document\",\n pdf: \"pdf\",\n powershell: \"powershell\",\n jade: \"pug\",\n r: \"r\",\n rsweave: \"r\",\n rust: \"rust\",\n sql: \"database\",\n kql: \"kusto\",\n ssh_config: \"lock\",\n svg: \"svg\",\n swift: \"swift\",\n typescriptreact: \"react_ts\",\n \"search-result\": \"search\",\n mcfunction: \"minecraft\",\n rescript: \"rescript\",\n otne: \"otne\",\n twee3: \"twine\",\n \"twee3-harlowe-3\": \"twine\",\n \"twee3-chapbook-1\": \"twine\",\n \"twee3-sugarcube-2\": \"twine\",\n grain: \"grain\",\n lolcode: \"lolcode\",\n idris: \"idris\",\n pgn: \"chess\",\n gemini: \"gemini\",\n \"text-gemini\": \"gemini\",\n v: \"vlang\",\n wolfram: \"wolframlanguage\",\n hlsl: \"shader\",\n glsl: \"shader\",\n wgsl: \"shader\",\n tree: \"tree\",\n svelte: \"svelte\",\n dart: \"dart\",\n cadence: \"cadence\",\n stylable: \"stylable\",\n hjson: \"hjson\",\n huff: \"huff\",\n \"concourse-pipeline-yaml\": \"concourse\",\n \"concourse-task-yaml\": \"concourse\"\n },\n light: {\n fileExtensions: {\n blink: \"blink_light\",\n jinja: \"jinja_light\",\n jinja2: \"jinja_light\",\n j2: \"jinja_light\",\n \"jinja-html\": \"jinja_light\",\n huff: \"huff_light\",\n cr: \"crystal_light\",\n ecr: \"crystal_light\",\n \"drone.yml\": \"drone_light\",\n \".wakatime-project\": \"wakatime_light\",\n hcl: \"hcl_light\",\n iuml: \"uml_light\",\n pu: \"uml_light\",\n puml: \"uml_light\",\n plantuml: \"uml_light\",\n wsd: \"uml_light\",\n pgn: \"chess_light\",\n fen: \"chess_light\",\n \"openapi.json\": \"openapi_light\",\n \"openapi.yml\": \"openapi_light\",\n \"openapi.yaml\": \"openapi_light\",\n tldr: \"tldraw_light\"\n },\n fileNames: {\n \".rubocop.yml\": \"rubocop_light\",\n \".rubocop-todo.yml\": \"rubocop_light\",\n \".rubocop_todo.yml\": \"rubocop_light\",\n \"vercel.json\": \"vercel_light\",\n \".vercelignore\": \"vercel_light\",\n \"now.json\": \"vercel_light\",\n \".nowignore\": \"vercel_light\",\n \"payload.config.js\": \"payload_light\",\n \"payload.config.mjs\": \"payload_light\",\n \"payload.config.ts\": \"payload_light\",\n \"payload.config.mts\": \"payload_light\",\n \"next.config.js\": \"next_light\",\n \"next.config.mjs\": \"next_light\",\n \"next.config.ts\": \"next_light\",\n \"next.config.mts\": \"next_light\",\n \"remix.config.js\": \"remix_light\",\n \"remix.config.ts\": \"remix_light\",\n \"turbo.json\": \"turborepo_light\",\n \".autorc\": \"auto_light\",\n \"auto.config.js\": \"auto_light\",\n \"auto.config.ts\": \"auto_light\",\n \"auto-config.json\": \"auto_light\",\n \"auto-config.yaml\": \"auto_light\",\n \"auto-config.yml\": \"auto_light\",\n \"auto-config.ts\": \"auto_light\",\n \"auto-config.js\": \"auto_light\",\n \".stylelintrc\": \"stylelint_light\",\n \".stylelintrc.json\": \"stylelint_light\",\n \".stylelintrc.jsonc\": \"stylelint_light\",\n \".stylelintrc.json5\": \"stylelint_light\",\n \".stylelintrc.yaml\": \"stylelint_light\",\n \".stylelintrc.yml\": \"stylelint_light\",\n \".stylelintrc.toml\": \"stylelint_light\",\n \".stylelintrc.js\": \"stylelint_light\",\n \".stylelintrc.mjs\": \"stylelint_light\",\n \".stylelintrc.cjs\": \"stylelint_light\",\n \".stylelintrc.ts\": \"stylelint_light\",\n \".stylelintrc.mts\": \"stylelint_light\",\n \".stylelintrc.cts\": \"stylelint_light\",\n \".config/stylelintrc\": \"stylelint_light\",\n \".config/stylelintrc.json\": \"stylelint_light\",\n \".config/stylelintrc.jsonc\": \"stylelint_light\",\n \".config/stylelintrc.json5\": \"stylelint_light\",\n \".config/stylelintrc.yaml\": \"stylelint_light\",\n \".config/stylelintrc.yml\": \"stylelint_light\",\n \".config/stylelintrc.toml\": \"stylelint_light\",\n \".config/stylelintrc.js\": \"stylelint_light\",\n \".config/stylelintrc.mjs\": \"stylelint_light\",\n \".config/stylelintrc.cjs\": \"stylelint_light\",\n \".config/stylelintrc.ts\": \"stylelint_light\",\n \".config/stylelintrc.mts\": \"stylelint_light\",\n \".config/stylelintrc.cts\": \"stylelint_light\",\n \"stylelint.config.json\": \"stylelint_light\",\n \"stylelint.config.jsonc\": \"stylelint_light\",\n \"stylelint.config.json5\": \"stylelint_light\",\n \"stylelint.config.yaml\": \"stylelint_light\",\n \"stylelint.config.yml\": \"stylelint_light\",\n \"stylelint.config.toml\": \"stylelint_light\",\n \"stylelint.config.js\": \"stylelint_light\",\n \"stylelint.config.mjs\": \"stylelint_light\",\n \"stylelint.config.cjs\": \"stylelint_light\",\n \"stylelint.config.ts\": \"stylelint_light\",\n \"stylelint.config.mts\": \"stylelint_light\",\n \"stylelint.config.cts\": \"stylelint_light\",\n \".stylelintignore\": \"stylelint_light\",\n \".stylelintcache\": \"stylelint_light\",\n \".codeclimate.yml\": \"code-climate_light\",\n browserslist: \"browserlist_light\",\n \".browserslistrc\": \"browserlist_light\",\n \".drone.yml\": \"drone_light\",\n \".wakatime-project\": \"wakatime_light\",\n \"circle.yml\": \"circleci_light\",\n \".releaserc\": \"semantic-release_light\",\n \".releaserc.json\": \"semantic-release_light\",\n \".releaserc.jsonc\": \"semantic-release_light\",\n \".releaserc.json5\": \"semantic-release_light\",\n \".releaserc.yaml\": \"semantic-release_light\",\n \".releaserc.yml\": \"semantic-release_light\",\n \".releaserc.toml\": \"semantic-release_light\",\n \".releaserc.js\": \"semantic-release_light\",\n \".releaserc.mjs\": \"semantic-release_light\",\n \".releaserc.cjs\": \"semantic-release_light\",\n \".releaserc.ts\": \"semantic-release_light\",\n \".releaserc.mts\": \"semantic-release_light\",\n \".releaserc.cts\": \"semantic-release_light\",\n \".config/releaserc\": \"semantic-release_light\",\n \".config/releaserc.json\": \"semantic-release_light\",\n \".config/releaserc.jsonc\": \"semantic-release_light\",\n \".config/releaserc.json5\": \"semantic-release_light\",\n \".config/releaserc.yaml\": \"semantic-release_light\",\n \".config/releaserc.yml\": \"semantic-release_light\",\n \".config/releaserc.toml\": \"semantic-release_light\",\n \".config/releaserc.js\": \"semantic-release_light\",\n \".config/releaserc.mjs\": \"semantic-release_light\",\n \".config/releaserc.cjs\": \"semantic-release_light\",\n \".config/releaserc.ts\": \"semantic-release_light\",\n \".config/releaserc.mts\": \"semantic-release_light\",\n \".config/releaserc.cts\": \"semantic-release_light\",\n \"release.config.json\": \"semantic-release_light\",\n \"release.config.jsonc\": \"semantic-release_light\",\n \"release.config.json5\": \"semantic-release_light\",\n \"release.config.yaml\": \"semantic-release_light\",\n \"release.config.yml\": \"semantic-release_light\",\n \"release.config.toml\": \"semantic-release_light\",\n \"release.config.js\": \"semantic-release_light\",\n \"release.config.mjs\": \"semantic-release_light\",\n \"release.config.cjs\": \"semantic-release_light\",\n \"release.config.ts\": \"semantic-release_light\",\n \"release.config.mts\": \"semantic-release_light\",\n \"release.config.cts\": \"semantic-release_light\",\n \"netlify.json\": \"netlify_light\",\n \"netlify.yml\": \"netlify_light\",\n \"netlify.yaml\": \"netlify_light\",\n \"netlify.toml\": \"netlify_light\",\n \"stitches.config.js\": \"stitches_light\",\n \"stitches.config.ts\": \"stitches_light\",\n \"snowpack.config.js\": \"snowpack_light\",\n \"snowpack.config.cjs\": \"snowpack_light\",\n \"snowpack.config.mjs\": \"snowpack_light\",\n \"snowpack.config.ts\": \"snowpack_light\",\n \"snowpack.config.cts\": \"snowpack_light\",\n \"snowpack.config.mts\": \"snowpack_light\",\n \"snowpack.deps.json\": \"snowpack_light\",\n \"snowpack.config.json\": \"snowpack_light\",\n \"pnpm-lock.yaml\": \"pnpm_light\",\n \"pnpm-workspace.yaml\": \"pnpm_light\",\n \".pnpmfile.cjs\": \"pnpm_light\",\n \"openapi.json\": \"openapi_light\",\n \"openapi.yml\": \"openapi_light\",\n \"openapi.yaml\": \"openapi_light\",\n \"bun.lockb\": \"bun_light\",\n \"bunfig.toml\": \"bun_light\",\n \".nano-staged.js\": \"nano-staged_light\",\n \"nano-staged.js\": \"nano-staged_light\",\n \".nano-staged.cjs\": \"nano-staged_light\",\n \"nano-staged.cjs\": \"nano-staged_light\",\n \".nano-staged.mjs\": \"nano-staged_light\",\n \"nano-staged.mjs\": \"nano-staged_light\",\n \".nano-staged.json\": \"nano-staged_light\",\n \"nano-staged.json\": \"nano-staged_light\",\n \".nanostagedrc\": \"nano-staged_light\",\n \"deno.json\": \"deno_light\",\n \"deno.jsonc\": \"deno_light\",\n \"deno.lock\": \"deno_light\"\n },\n folderNames: {\n jinja: \"folder-jinja_light\",\n \".jinja\": \"folder-jinja_light\",\n _jinja: \"folder-jinja_light\",\n __jinja__: \"folder-jinja_light\",\n jinja2: \"folder-jinja_light\",\n \".jinja2\": \"folder-jinja_light\",\n _jinja2: \"folder-jinja_light\",\n __jinja2__: \"folder-jinja_light\",\n j2: \"folder-jinja_light\",\n \".j2\": \"folder-jinja_light\",\n _j2: \"folder-jinja_light\",\n __j2__: \"folder-jinja_light\",\n idea: \"folder-intellij_light\",\n \".idea\": \"folder-intellij_light\",\n _idea: \"folder-intellij_light\",\n __idea__: \"folder-intellij_light\"\n },\n folderNamesExpanded: {\n jinja: \"folder-jinja-open_light\",\n \".jinja\": \"folder-jinja-open_light\",\n _jinja: \"folder-jinja-open_light\",\n __jinja__: \"folder-jinja-open_light\",\n jinja2: \"folder-jinja-open_light\",\n \".jinja2\": \"folder-jinja-open_light\",\n _jinja2: \"folder-jinja-open_light\",\n __jinja2__: \"folder-jinja-open_light\",\n j2: \"folder-jinja-open_light\",\n \".j2\": \"folder-jinja-open_light\",\n _j2: \"folder-jinja-open_light\",\n __j2__: \"folder-jinja-open_light\",\n idea: \"folder-intellij-open_light\",\n \".idea\": \"folder-intellij-open_light\",\n _idea: \"folder-intellij-open_light\",\n __idea__: \"folder-intellij-open_light\"\n }\n },\n highContrast: {\n fileExtensions: {},\n fileNames: {}\n },\n options: {\n folders: {\n theme: \"specific\",\n color: \"#90a4ae\",\n associations: {}\n },\n activeIconPack: \"angular\",\n hidesExplorerArrows: false,\n opacity: 1,\n saturation: 1,\n files: {\n color: \"#90a4ae\",\n associations: {}\n },\n languages: {\n associations: {}\n }\n },\n file: \"file\",\n hidesExplorerArrows: false,\n folder: \"folder\",\n folderExpanded: \"folder-open\",\n rootFolder: \"folder-root\",\n rootFolderExpanded: \"folder-root-open\"\n};\n\n// src/lib/constants.ts\nvar MATERIAL_ICONS = Object.keys(icon_map_default.iconDefinitions);\n\n// src/lib/utils.ts\nfunction filenameFromPath(path) {\n const segments = path.split(\"/\");\n return segments[segments.length - 1] ?? path;\n}\nfunction getIconNameForFileName(fileName) {\n return icon_map_default.fileNames[fileName] ?? icon_map_default.fileNames[fileName.toLowerCase()] ?? icon_map_default.fileExtensions[getFileSuffix(fileName)] ?? icon_map_default.fileExtensions[getFileExtension(fileName)] ?? (fileName.endsWith(\".html\") ? \"html\" : null) ?? (fileName.endsWith(\".ts\") ? \"typescript\" : null) ?? (fileName.endsWith(\".js\") ? \"javascript\" : null) ?? \"file\";\n}\nfunction getIconNameForDirectoryName(dirName) {\n return icon_map_default.folderNames[dirName] ?? icon_map_default.folderNames[dirName.toLowerCase()] ?? \"folder\";\n}\nfunction getFileExtension(fileName) {\n return fileName.substring(fileName.lastIndexOf(\".\") + 1);\n}\nfunction getFileSuffix(fileName) {\n return fileName.slice(fileName.indexOf(\".\") + 1);\n}\nfunction findKeysByValue(needle, haystack) {\n return Object.entries(haystack).filter(([, value]) => value === needle).map(([key]) => key);\n}\n\n// src/lib/functions.ts\nfunction isMaterialIconName(value) {\n return typeof value === \"string\" && value in icon_map_default.iconDefinitions;\n}\nfunction getIconUrlByName(iconName, iconsUrl) {\n return `${iconsUrl}/${iconName.toString()}.svg`;\n}\nfunction getIconUrlForFilePath(path, iconsUrl) {\n const iconName = getIconForFilePath(path);\n return getIconUrlByName(iconName, iconsUrl);\n}\nfunction getIconForFilePath(path) {\n const fileName = filenameFromPath(path);\n return getIconNameForFileName(fileName);\n}\nfunction getIconForDirectoryPath(path) {\n const dirName = filenameFromPath(path);\n return getIconNameForDirectoryName(dirName);\n}\nfunction getIconInfo(name) {\n const fileExtensions = findKeysByValue(name, icon_map_default.fileExtensions);\n const fileNames = findKeysByValue(name, icon_map_default.fileNames);\n const folderNames = findKeysByValue(name, icon_map_default.folderNames);\n const folderNamesExpanded = findKeysByValue(\n name,\n icon_map_default.folderNamesExpanded\n );\n return {\n name,\n ...fileExtensions.length > 0 && { fileExtensions },\n ...fileNames.length > 0 && { fileNames },\n ...folderNames.length > 0 && { folderNames },\n ...folderNamesExpanded.length > 0 && { folderNamesExpanded }\n };\n}\nexport {\n MATERIAL_ICONS,\n getIconForDirectoryPath,\n getIconForFilePath,\n getIconInfo,\n getIconUrlByName,\n getIconUrlForFilePath,\n isMaterialIconName\n};\n", + "import React, { useEffect, useMemo, useRef, useState } from \"react\"\nimport { getIconForFilePath, getIconUrlByName, getIconForDirectoryPath } from \"vscode-material-icons\"\n\nimport type { ModeConfig } from \"@roo-code/types\"\nimport type { Command } from \"@roo/ExtensionMessage\"\n\nimport {\n\tContextMenuOptionType,\n\tContextMenuQueryItem,\n\tgetContextMenuOptions,\n\tSearchResult,\n} from \"@src/utils/context-mentions\"\nimport { removeLeadingNonAlphanumeric } from \"@src/utils/removeLeadingNonAlphanumeric\"\n\ninterface ContextMenuProps {\n\tonSelect: (type: ContextMenuOptionType, value?: string) => void\n\tsearchQuery: string\n\tinputValue: string\n\tonMouseDown: () => void\n\tselectedIndex: number\n\tsetSelectedIndex: (index: number) => void\n\tselectedType: ContextMenuOptionType | null\n\tqueryItems: ContextMenuQueryItem[]\n\tmodes?: ModeConfig[]\n\tloading?: boolean\n\tdynamicSearchResults?: SearchResult[]\n\tcommands?: Command[]\n}\n\nconst ContextMenu: React.FC<ContextMenuProps> = ({\n\tonSelect,\n\tsearchQuery,\n\tonMouseDown,\n\tselectedIndex,\n\tsetSelectedIndex,\n\tselectedType,\n\tqueryItems,\n\tmodes,\n\tdynamicSearchResults = [],\n\tcommands = [],\n}) => {\n\tconst [materialIconsBaseUri, setMaterialIconsBaseUri] = useState(\"\")\n\tconst menuRef = useRef<HTMLDivElement>(null)\n\n\tconst filteredOptions = useMemo(() => {\n\t\treturn getContextMenuOptions(searchQuery, selectedType, queryItems, dynamicSearchResults, modes, commands)\n\t}, [searchQuery, selectedType, queryItems, dynamicSearchResults, modes, commands])\n\n\tuseEffect(() => {\n\t\tif (menuRef.current) {\n\t\t\tconst selectedElement = menuRef.current.children[selectedIndex] as HTMLElement\n\t\t\tif (selectedElement) {\n\t\t\t\tconst menuRect = menuRef.current.getBoundingClientRect()\n\t\t\t\tconst selectedRect = selectedElement.getBoundingClientRect()\n\n\t\t\t\tif (selectedRect.bottom > menuRect.bottom) {\n\t\t\t\t\tmenuRef.current.scrollTop += selectedRect.bottom - menuRect.bottom\n\t\t\t\t} else if (selectedRect.top < menuRect.top) {\n\t\t\t\t\tmenuRef.current.scrollTop -= menuRect.top - selectedRect.top\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [selectedIndex])\n\n\t// get the icons base uri on mount\n\tuseEffect(() => {\n\t\tconst w = window as any\n\t\tsetMaterialIconsBaseUri(w.MATERIAL_ICONS_BASE_URI)\n\t}, [])\n\n\tconst renderOptionContent = (option: ContextMenuQueryItem) => {\n\t\tswitch (option.type) {\n\t\t\tcase ContextMenuOptionType.SectionHeader:\n\t\t\t\treturn (\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\t\tfontSize: \"0.85em\",\n\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\ttextTransform: \"uppercase\",\n\t\t\t\t\t\t\tletterSpacing: \"0.5px\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{option.label}\n\t\t\t\t\t</span>\n\t\t\t\t)\n\t\t\tcase ContextMenuOptionType.Mode:\n\t\t\t\treturn (\n\t\t\t\t\t<div style={{ display: \"flex\", flexDirection: \"column\", gap: \"2px\" }}>\n\t\t\t\t\t\t<div style={{ lineHeight: \"1.2\" }}>\n\t\t\t\t\t\t\t<span>{option.slashCommand}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{option.description && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\topacity: 0.5,\n\t\t\t\t\t\t\t\t\tfontSize: \"0.9em\",\n\t\t\t\t\t\t\t\t\tlineHeight: \"1.2\",\n\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\tcase ContextMenuOptionType.Command:\n\t\t\t\treturn (\n\t\t\t\t\t<div style={{ display: \"flex\", flexDirection: \"column\", gap: \"2px\" }}>\n\t\t\t\t\t\t<div style={{ lineHeight: \"1.2\", display: \"flex\", alignItems: \"center\", gap: \"6px\" }}>\n\t\t\t\t\t\t\t<span>{option.slashCommand}</span>\n\t\t\t\t\t\t\t{option.argumentHint && (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\topacity: 0.5,\n\t\t\t\t\t\t\t\t\t\tfontSize: \"0.9em\",\n\t\t\t\t\t\t\t\t\t\tlineHeight: \"1.2\",\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{option.argumentHint}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{option.description && (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\topacity: 0.5,\n\t\t\t\t\t\t\t\t\tfontSize: \"0.9em\",\n\t\t\t\t\t\t\t\t\tlineHeight: \"1.2\",\n\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\tcase ContextMenuOptionType.Problems:\n\t\t\t\treturn <span>Problems</span>\n\t\t\tcase ContextMenuOptionType.Terminal:\n\t\t\t\treturn <span>Terminal</span>\n\t\t\tcase ContextMenuOptionType.URL:\n\t\t\t\treturn <span>Paste URL to fetch contents</span>\n\t\t\tcase ContextMenuOptionType.NoResults:\n\t\t\t\treturn <span>No results found</span>\n\t\t\tcase ContextMenuOptionType.Git:\n\t\t\t\tif (option.value) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div style={{ display: \"flex\", flexDirection: \"column\", gap: 0 }}>\n\t\t\t\t\t\t\t<span style={{ lineHeight: \"1.2\" }}>{option.label}</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tfontSize: \"0.85em\",\n\t\t\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t\tlineHeight: \"1.2\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{option.description}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\treturn <span>Git Commits</span>\n\t\t\t\t}\n\t\t\tcase ContextMenuOptionType.File:\n\t\t\tcase ContextMenuOptionType.OpenedFile:\n\t\t\tcase ContextMenuOptionType.Folder:\n\t\t\t\tif (option.value) {\n\t\t\t\t\t// remove trailing slash\n\t\t\t\t\tconst path = removeLeadingNonAlphanumeric(option.value || \"\").replace(/\\/$/, \"\")\n\t\t\t\t\tconst pathList = path.split(\"/\")\n\t\t\t\t\tconst filename = pathList.at(-1)\n\t\t\t\t\tconst folderPath = pathList.slice(0, -1).join(\"/\")\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\tgap: \"0.5em\",\n\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\ttextAlign: \"left\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<span>{filename}</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t\tdirection: \"rtl\",\n\t\t\t\t\t\t\t\t\ttextAlign: \"right\",\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\topacity: 0.75,\n\t\t\t\t\t\t\t\t\tfontSize: \"0.75em\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{folderPath}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t} else {\n\t\t\t\t\treturn <span>Add {option.type === ContextMenuOptionType.File ? \"File\" : \"Folder\"}</span>\n\t\t\t\t}\n\t\t}\n\t}\n\n\tconst getIconForOption = (option: ContextMenuQueryItem): string => {\n\t\tswitch (option.type) {\n\t\t\tcase ContextMenuOptionType.Mode:\n\t\t\t\treturn \"symbol-misc\"\n\t\t\tcase ContextMenuOptionType.Command:\n\t\t\t\treturn \"play\"\n\t\t\tcase ContextMenuOptionType.OpenedFile:\n\t\t\t\treturn \"window\"\n\t\t\tcase ContextMenuOptionType.File:\n\t\t\t\treturn \"file\"\n\t\t\tcase ContextMenuOptionType.Folder:\n\t\t\t\treturn \"folder\"\n\t\t\tcase ContextMenuOptionType.Problems:\n\t\t\t\treturn \"warning\"\n\t\t\tcase ContextMenuOptionType.Terminal:\n\t\t\t\treturn \"terminal\"\n\t\t\tcase ContextMenuOptionType.URL:\n\t\t\t\treturn \"link\"\n\t\t\tcase ContextMenuOptionType.Git:\n\t\t\t\treturn \"git-commit\"\n\t\t\tcase ContextMenuOptionType.NoResults:\n\t\t\t\treturn \"info\"\n\t\t\tdefault:\n\t\t\t\treturn \"file\"\n\t\t}\n\t}\n\n\tconst getMaterialIconForOption = (option: ContextMenuQueryItem): string => {\n\t\t// only take the last part of the path to handle both file and folder icons\n\t\t// since material-icons have specific folder icons, we use them if available\n\t\tconst name = option.value?.split(\"/\").filter(Boolean).at(-1) ?? \"\"\n\t\tconst iconName =\n\t\t\toption.type === ContextMenuOptionType.Folder ? getIconForDirectoryPath(name) : getIconForFilePath(name)\n\t\treturn getIconUrlByName(iconName, materialIconsBaseUri)\n\t}\n\n\tconst isOptionSelectable = (option: ContextMenuQueryItem): boolean => {\n\t\treturn (\n\t\t\toption.type !== ContextMenuOptionType.NoResults &&\n\t\t\toption.type !== ContextMenuOptionType.URL &&\n\t\t\toption.type !== ContextMenuOptionType.SectionHeader\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tbottom: \"calc(100% - 10px)\",\n\t\t\t\tleft: 15,\n\t\t\t\tright: 15,\n\t\t\t\toverflowX: \"hidden\",\n\t\t\t}}\n\t\t\tonMouseDown={onMouseDown}>\n\t\t\t<div\n\t\t\t\tref={menuRef}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: \"var(--vscode-dropdown-background)\",\n\t\t\t\t\tborder: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\tborderRadius: \"3px\",\n\t\t\t\t\tboxShadow: \"0 4px 10px rgba(0, 0, 0, 0.25)\",\n\t\t\t\t\tzIndex: 1000,\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\tmaxHeight: \"300px\",\n\t\t\t\t\toverflowY: \"auto\",\n\t\t\t\t\toverflowX: \"hidden\",\n\t\t\t\t}}>\n\t\t\t\t{filteredOptions && filteredOptions.length > 0 ? (\n\t\t\t\t\tfilteredOptions.map((option, index) => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={`${option.type}-${option.value || index}`}\n\t\t\t\t\t\t\tonClick={() => isOptionSelectable(option) && onSelect(option.type, option.value)}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tpadding:\n\t\t\t\t\t\t\t\t\toption.type === ContextMenuOptionType.SectionHeader ? \"8px 6px 4px 6px\" : \"4px 6px\",\n\t\t\t\t\t\t\t\tcursor: isOptionSelectable(option) ? \"pointer\" : \"default\",\n\t\t\t\t\t\t\t\tcolor: \"var(--vscode-dropdown-foreground)\",\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\t\t\t...(option.type === ContextMenuOptionType.SectionHeader\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tborderBottom: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: \"2px\",\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t...(index === selectedIndex && isOptionSelectable(option)\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-list-activeSelectionBackground)\",\n\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-list-activeSelectionForeground)\",\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonMouseEnter={() => isOptionSelectable(option) && setSelectedIndex(index)}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{(option.type === ContextMenuOptionType.File ||\n\t\t\t\t\t\t\t\t\toption.type === ContextMenuOptionType.Folder ||\n\t\t\t\t\t\t\t\t\toption.type === ContextMenuOptionType.OpenedFile) && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={getMaterialIconForOption(option)}\n\t\t\t\t\t\t\t\t\t\talt=\"Mode\"\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: \"6px\",\n\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\twidth: \"16px\",\n\t\t\t\t\t\t\t\t\t\t\theight: \"16px\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{option.type !== ContextMenuOptionType.Mode &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.Command &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.File &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.Folder &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.OpenedFile &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.SectionHeader &&\n\t\t\t\t\t\t\t\t\tgetIconForOption(option) && (\n\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-${getIconForOption(option)}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: \"6px\",\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: \"14px\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{renderOptionContent(option)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{(option.type === ContextMenuOptionType.File ||\n\t\t\t\t\t\t\t\toption.type === ContextMenuOptionType.Folder ||\n\t\t\t\t\t\t\t\toption.type === ContextMenuOptionType.Git) &&\n\t\t\t\t\t\t\t\t!option.value && (\n\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-chevron-right\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ fontSize: \"10px\", flexShrink: 0, marginLeft: 8 }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))\n\t\t\t\t) : (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tpadding: \"4px\",\n\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\tcolor: \"var(--vscode-foreground)\",\n\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<span>No results found</span>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default ContextMenu\n", + "import { useState, useCallback, useRef } from \"react\"\n\ninterface UseTooltipOptions {\n\tdelay?: number\n}\n\nexport const useTooltip = (options: UseTooltipOptions = {}) => {\n\tconst { delay = 300 } = options\n\tconst [showTooltip, setShowTooltip] = useState(false)\n\tconst timeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n\tconst handleMouseEnter = useCallback(() => {\n\t\tif (timeoutRef.current) clearTimeout(timeoutRef.current)\n\t\ttimeoutRef.current = setTimeout(() => setShowTooltip(true), delay)\n\t}, [delay])\n\n\tconst handleMouseLeave = useCallback(() => {\n\t\tif (timeoutRef.current) {\n\t\t\tclearTimeout(timeoutRef.current)\n\t\t\ttimeoutRef.current = null\n\t\t}\n\t\tsetShowTooltip(false)\n\t}, [])\n\n\t// Cleanup on unmount\n\tconst cleanup = useCallback(() => {\n\t\tif (timeoutRef.current) {\n\t\t\tclearTimeout(timeoutRef.current)\n\t\t\ttimeoutRef.current = null\n\t\t}\n\t}, [])\n\n\treturn {\n\t\tshowTooltip,\n\t\thandleMouseEnter,\n\t\thandleMouseLeave,\n\t\tcleanup,\n\t}\n}\n", + "import React, { useState, useEffect, useMemo, useCallback, useRef } from \"react\"\nimport { Trans } from \"react-i18next\"\nimport { z } from \"zod\"\nimport {\n\tVSCodeButton,\n\tVSCodeTextField,\n\tVSCodeDropdown,\n\tVSCodeOption,\n\tVSCodeLink,\n\tVSCodeCheckbox,\n} from \"@vscode/webview-ui-toolkit/react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\nimport { cn } from \"@src/lib/utils\"\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n\tAlertDialogTrigger,\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger,\n\tSlider,\n\tStandardTooltip,\n} from \"@src/components/ui\"\nimport { AlertTriangle } from \"lucide-react\"\nimport { useRooPortal } from \"@src/components/ui/hooks/useRooPortal\"\nimport { useEscapeKey } from \"@src/hooks/useEscapeKey\"\nimport type { EmbedderProvider } from \"@roo/embeddingModels\"\nimport type { IndexingStatus } from \"@roo/ExtensionMessage\"\nimport { CODEBASE_INDEX_DEFAULTS } from \"@roo-code/types\"\n\n// Default URLs for providers\nconst DEFAULT_QDRANT_URL = \"http://localhost:6333\"\nconst DEFAULT_OLLAMA_URL = \"http://localhost:11434\"\n\ninterface CodeIndexPopoverProps {\n\tchildren: React.ReactNode\n\tindexingStatus: IndexingStatus\n}\n\ninterface LocalCodeIndexSettings {\n\t// Global state settings\n\tcodebaseIndexEnabled: boolean\n\tcodebaseIndexQdrantUrl: string\n\tcodebaseIndexEmbedderProvider: EmbedderProvider\n\tcodebaseIndexEmbedderBaseUrl?: string\n\tcodebaseIndexEmbedderModelId: string\n\tcodebaseIndexEmbedderModelDimension?: number // Generic dimension for all providers\n\tcodebaseIndexSearchMaxResults?: number\n\tcodebaseIndexSearchMinScore?: number\n\n\t// Secret settings (start empty, will be loaded separately)\n\tcodeIndexOpenAiKey?: string\n\tcodeIndexQdrantApiKey?: string\n\tcodebaseIndexOpenAiCompatibleBaseUrl?: string\n\tcodebaseIndexOpenAiCompatibleApiKey?: string\n\tcodebaseIndexGeminiApiKey?: string\n\tcodebaseIndexMistralApiKey?: string\n}\n\n// Validation schema for codebase index settings\nconst createValidationSchema = (provider: EmbedderProvider, t: any) => {\n\tconst baseSchema = z.object({\n\t\tcodebaseIndexEnabled: z.boolean(),\n\t\tcodebaseIndexQdrantUrl: z\n\t\t\t.string()\n\t\t\t.min(1, t(\"settings:codeIndex.validation.qdrantUrlRequired\"))\n\t\t\t.url(t(\"settings:codeIndex.validation.invalidQdrantUrl\")),\n\t\tcodeIndexQdrantApiKey: z.string().optional(),\n\t})\n\n\tswitch (provider) {\n\t\tcase \"openai\":\n\t\t\treturn baseSchema.extend({\n\t\t\t\tcodeIndexOpenAiKey: z.string().min(1, t(\"settings:codeIndex.validation.openaiApiKeyRequired\")),\n\t\t\t\tcodebaseIndexEmbedderModelId: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.modelSelectionRequired\")),\n\t\t\t})\n\n\t\tcase \"ollama\":\n\t\t\treturn baseSchema.extend({\n\t\t\t\tcodebaseIndexEmbedderBaseUrl: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.ollamaBaseUrlRequired\"))\n\t\t\t\t\t.url(t(\"settings:codeIndex.validation.invalidOllamaUrl\")),\n\t\t\t\tcodebaseIndexEmbedderModelId: z.string().min(1, t(\"settings:codeIndex.validation.modelIdRequired\")),\n\t\t\t\tcodebaseIndexEmbedderModelDimension: z\n\t\t\t\t\t.number()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.modelDimensionRequired\"))\n\t\t\t\t\t.optional(),\n\t\t\t})\n\n\t\tcase \"openai-compatible\":\n\t\t\treturn baseSchema.extend({\n\t\t\t\tcodebaseIndexOpenAiCompatibleBaseUrl: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.baseUrlRequired\"))\n\t\t\t\t\t.url(t(\"settings:codeIndex.validation.invalidBaseUrl\")),\n\t\t\t\tcodebaseIndexOpenAiCompatibleApiKey: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.apiKeyRequired\")),\n\t\t\t\tcodebaseIndexEmbedderModelId: z.string().min(1, t(\"settings:codeIndex.validation.modelIdRequired\")),\n\t\t\t\tcodebaseIndexEmbedderModelDimension: z\n\t\t\t\t\t.number()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.modelDimensionRequired\")),\n\t\t\t})\n\n\t\tcase \"gemini\":\n\t\t\treturn baseSchema.extend({\n\t\t\t\tcodebaseIndexGeminiApiKey: z.string().min(1, t(\"settings:codeIndex.validation.geminiApiKeyRequired\")),\n\t\t\t\tcodebaseIndexEmbedderModelId: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.modelSelectionRequired\")),\n\t\t\t})\n\n\t\tcase \"mistral\":\n\t\t\treturn baseSchema.extend({\n\t\t\t\tcodebaseIndexMistralApiKey: z.string().min(1, t(\"settings:codeIndex.validation.mistralApiKeyRequired\")),\n\t\t\t\tcodebaseIndexEmbedderModelId: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.min(1, t(\"settings:codeIndex.validation.modelSelectionRequired\")),\n\t\t\t})\n\n\t\tdefault:\n\t\t\treturn baseSchema\n\t}\n}\n\nexport const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({\n\tchildren,\n\tindexingStatus: externalIndexingStatus,\n}) => {\n\tconst SECRET_PLACEHOLDER = \"••••••••••••••••\"\n\tconst { t } = useAppTranslation()\n\tconst { codebaseIndexConfig, codebaseIndexModels, cwd } = useExtensionState()\n\tconst [open, setOpen] = useState(false)\n\tconst [isAdvancedSettingsOpen, setIsAdvancedSettingsOpen] = useState(false)\n\tconst [isSetupSettingsOpen, setIsSetupSettingsOpen] = useState(false)\n\n\tconst [indexingStatus, setIndexingStatus] = useState<IndexingStatus>(externalIndexingStatus)\n\n\tconst [saveStatus, setSaveStatus] = useState<\"idle\" | \"saving\" | \"saved\" | \"error\">(\"idle\")\n\tconst [saveError, setSaveError] = useState<string | null>(null)\n\n\t// Form validation state\n\tconst [formErrors, setFormErrors] = useState<Record<string, string>>({})\n\n\t// Discard changes dialog state\n\tconst [isDiscardDialogShow, setDiscardDialogShow] = useState(false)\n\tconst confirmDialogHandler = useRef<(() => void) | null>(null)\n\n\t// Default settings template\n\tconst getDefaultSettings = (): LocalCodeIndexSettings => ({\n\t\tcodebaseIndexEnabled: true,\n\t\tcodebaseIndexQdrantUrl: \"\",\n\t\tcodebaseIndexEmbedderProvider: \"openai\",\n\t\tcodebaseIndexEmbedderBaseUrl: \"\",\n\t\tcodebaseIndexEmbedderModelId: \"\",\n\t\tcodebaseIndexEmbedderModelDimension: undefined,\n\t\tcodebaseIndexSearchMaxResults: CODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_RESULTS,\n\t\tcodebaseIndexSearchMinScore: CODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_MIN_SCORE,\n\t\tcodeIndexOpenAiKey: \"\",\n\t\tcodeIndexQdrantApiKey: \"\",\n\t\tcodebaseIndexOpenAiCompatibleBaseUrl: \"\",\n\t\tcodebaseIndexOpenAiCompatibleApiKey: \"\",\n\t\tcodebaseIndexGeminiApiKey: \"\",\n\t\tcodebaseIndexMistralApiKey: \"\",\n\t})\n\n\t// Initial settings state - stores the settings when popover opens\n\tconst [initialSettings, setInitialSettings] = useState<LocalCodeIndexSettings>(getDefaultSettings())\n\n\t// Current settings state - tracks user changes\n\tconst [currentSettings, setCurrentSettings] = useState<LocalCodeIndexSettings>(getDefaultSettings())\n\n\t// Update indexing status from parent\n\tuseEffect(() => {\n\t\tsetIndexingStatus(externalIndexingStatus)\n\t}, [externalIndexingStatus])\n\n\t// Initialize settings from global state\n\tuseEffect(() => {\n\t\tif (codebaseIndexConfig) {\n\t\t\tconst settings = {\n\t\t\t\tcodebaseIndexEnabled: codebaseIndexConfig.codebaseIndexEnabled ?? true,\n\t\t\t\tcodebaseIndexQdrantUrl: codebaseIndexConfig.codebaseIndexQdrantUrl || \"\",\n\t\t\t\tcodebaseIndexEmbedderProvider: codebaseIndexConfig.codebaseIndexEmbedderProvider || \"openai\",\n\t\t\t\tcodebaseIndexEmbedderBaseUrl: codebaseIndexConfig.codebaseIndexEmbedderBaseUrl || \"\",\n\t\t\t\tcodebaseIndexEmbedderModelId: codebaseIndexConfig.codebaseIndexEmbedderModelId || \"\",\n\t\t\t\tcodebaseIndexEmbedderModelDimension:\n\t\t\t\t\tcodebaseIndexConfig.codebaseIndexEmbedderModelDimension || undefined,\n\t\t\t\tcodebaseIndexSearchMaxResults:\n\t\t\t\t\tcodebaseIndexConfig.codebaseIndexSearchMaxResults ?? CODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_RESULTS,\n\t\t\t\tcodebaseIndexSearchMinScore:\n\t\t\t\t\tcodebaseIndexConfig.codebaseIndexSearchMinScore ?? CODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_MIN_SCORE,\n\t\t\t\tcodeIndexOpenAiKey: \"\",\n\t\t\t\tcodeIndexQdrantApiKey: \"\",\n\t\t\t\tcodebaseIndexOpenAiCompatibleBaseUrl: codebaseIndexConfig.codebaseIndexOpenAiCompatibleBaseUrl || \"\",\n\t\t\t\tcodebaseIndexOpenAiCompatibleApiKey: \"\",\n\t\t\t\tcodebaseIndexGeminiApiKey: \"\",\n\t\t\t\tcodebaseIndexMistralApiKey: \"\",\n\t\t\t}\n\t\t\tsetInitialSettings(settings)\n\t\t\tsetCurrentSettings(settings)\n\n\t\t\t// Request secret status to check if secrets exist\n\t\t\tvscode.postMessage({ type: \"requestCodeIndexSecretStatus\" })\n\t\t}\n\t}, [codebaseIndexConfig])\n\n\t// Request initial indexing status\n\tuseEffect(() => {\n\t\tif (open) {\n\t\t\tvscode.postMessage({ type: \"requestIndexingStatus\" })\n\t\t\tvscode.postMessage({ type: \"requestCodeIndexSecretStatus\" })\n\t\t}\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tif (event.data.type === \"workspaceUpdated\") {\n\t\t\t\t// When workspace changes, request updated indexing status\n\t\t\t\tif (open) {\n\t\t\t\t\tvscode.postMessage({ type: \"requestIndexingStatus\" })\n\t\t\t\t\tvscode.postMessage({ type: \"requestCodeIndexSecretStatus\" })\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [open])\n\n\t// Use a ref to capture current settings for the save handler\n\tconst currentSettingsRef = useRef(currentSettings)\n\tcurrentSettingsRef.current = currentSettings\n\n\t// Listen for indexing status updates and save responses\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent<any>) => {\n\t\t\tif (event.data.type === \"indexingStatusUpdate\") {\n\t\t\t\tif (!event.data.values.workspacePath || event.data.values.workspacePath === cwd) {\n\t\t\t\t\tsetIndexingStatus({\n\t\t\t\t\t\tsystemStatus: event.data.values.systemStatus,\n\t\t\t\t\t\tmessage: event.data.values.message || \"\",\n\t\t\t\t\t\tprocessedItems: event.data.values.processedItems,\n\t\t\t\t\t\ttotalItems: event.data.values.totalItems,\n\t\t\t\t\t\tcurrentItemUnit: event.data.values.currentItemUnit || \"items\",\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} else if (event.data.type === \"codeIndexSettingsSaved\") {\n\t\t\t\tif (event.data.success) {\n\t\t\t\t\tsetSaveStatus(\"saved\")\n\t\t\t\t\t// Update initial settings to match current settings after successful save\n\t\t\t\t\t// This ensures hasUnsavedChanges becomes false\n\t\t\t\t\tconst savedSettings = { ...currentSettingsRef.current }\n\t\t\t\t\tsetInitialSettings(savedSettings)\n\t\t\t\t\t// Also update current settings to maintain consistency\n\t\t\t\t\tsetCurrentSettings(savedSettings)\n\t\t\t\t\t// Request secret status to ensure we have the latest state\n\t\t\t\t\t// This is important to maintain placeholder display after save\n\n\t\t\t\t\tvscode.postMessage({ type: \"requestCodeIndexSecretStatus\" })\n\n\t\t\t\t\tsetSaveStatus(\"idle\")\n\t\t\t\t} else {\n\t\t\t\t\tsetSaveStatus(\"error\")\n\t\t\t\t\tsetSaveError(event.data.error || t(\"settings:codeIndex.saveError\"))\n\t\t\t\t\t// Clear error message after 5 seconds\n\t\t\t\t\tsetSaveStatus(\"idle\")\n\t\t\t\t\tsetSaveError(null)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [t, cwd])\n\n\t// Listen for secret status\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tif (event.data.type === \"codeIndexSecretStatus\") {\n\t\t\t\t// Update settings to show placeholders for existing secrets\n\t\t\t\tconst secretStatus = event.data.values\n\n\t\t\t\t// Update both current and initial settings based on what secrets exist\n\t\t\t\tconst updateWithSecrets = (prev: LocalCodeIndexSettings): LocalCodeIndexSettings => {\n\t\t\t\t\tconst updated = { ...prev }\n\n\t\t\t\t\t// Only update to placeholder if the field is currently empty or already a placeholder\n\t\t\t\t\t// This preserves user input when they're actively editing\n\t\t\t\t\tif (!prev.codeIndexOpenAiKey || prev.codeIndexOpenAiKey === SECRET_PLACEHOLDER) {\n\t\t\t\t\t\tupdated.codeIndexOpenAiKey = secretStatus.hasOpenAiKey ? SECRET_PLACEHOLDER : \"\"\n\t\t\t\t\t}\n\t\t\t\t\tif (!prev.codeIndexQdrantApiKey || prev.codeIndexQdrantApiKey === SECRET_PLACEHOLDER) {\n\t\t\t\t\t\tupdated.codeIndexQdrantApiKey = secretStatus.hasQdrantApiKey ? SECRET_PLACEHOLDER : \"\"\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\t!prev.codebaseIndexOpenAiCompatibleApiKey ||\n\t\t\t\t\t\tprev.codebaseIndexOpenAiCompatibleApiKey === SECRET_PLACEHOLDER\n\t\t\t\t\t) {\n\t\t\t\t\t\tupdated.codebaseIndexOpenAiCompatibleApiKey = secretStatus.hasOpenAiCompatibleApiKey\n\t\t\t\t\t\t\t? SECRET_PLACEHOLDER\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t}\n\t\t\t\t\tif (!prev.codebaseIndexGeminiApiKey || prev.codebaseIndexGeminiApiKey === SECRET_PLACEHOLDER) {\n\t\t\t\t\t\tupdated.codebaseIndexGeminiApiKey = secretStatus.hasGeminiApiKey ? SECRET_PLACEHOLDER : \"\"\n\t\t\t\t\t}\n\t\t\t\t\tif (!prev.codebaseIndexMistralApiKey || prev.codebaseIndexMistralApiKey === SECRET_PLACEHOLDER) {\n\t\t\t\t\t\tupdated.codebaseIndexMistralApiKey = secretStatus.hasMistralApiKey ? SECRET_PLACEHOLDER : \"\"\n\t\t\t\t\t}\n\n\t\t\t\t\treturn updated\n\t\t\t\t}\n\n\t\t\t\t// Only update settings if we're not in the middle of saving\n\t\t\t\t// After save is complete (saved status), we still want to update to maintain consistency\n\t\t\t\tif (saveStatus === \"idle\" || saveStatus === \"saved\") {\n\t\t\t\t\tsetCurrentSettings(updateWithSecrets)\n\t\t\t\t\tsetInitialSettings(updateWithSecrets)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [saveStatus])\n\n\t// Generic comparison function that detects changes between initial and current settings\n\tconst hasUnsavedChanges = useMemo(() => {\n\t\t// Get all keys from both objects to handle any field\n\t\tconst allKeys = [...Object.keys(initialSettings), ...Object.keys(currentSettings)] as Array<\n\t\t\tkeyof LocalCodeIndexSettings\n\t\t>\n\n\t\t// Use a Set to ensure unique keys\n\t\tconst uniqueKeys = Array.from(new Set(allKeys))\n\n\t\tfor (const key of uniqueKeys) {\n\t\t\tconst currentValue = currentSettings[key]\n\t\t\tconst initialValue = initialSettings[key]\n\n\t\t\t// For secret fields, check if the value has been modified from placeholder\n\t\t\tif (currentValue === SECRET_PLACEHOLDER) {\n\t\t\t\t// If it's still showing placeholder, no change\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Compare values - handles all types including undefined\n\t\t\tif (currentValue !== initialValue) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}, [currentSettings, initialSettings])\n\n\tconst updateSetting = (key: keyof LocalCodeIndexSettings, value: any) => {\n\t\tsetCurrentSettings((prev) => ({ ...prev, [key]: value }))\n\t\t// Clear validation error for this field when user starts typing\n\t\tif (formErrors[key]) {\n\t\t\tsetFormErrors((prev) => {\n\t\t\t\tconst newErrors = { ...prev }\n\t\t\t\tdelete newErrors[key]\n\t\t\t\treturn newErrors\n\t\t\t})\n\t\t}\n\t}\n\n\t// Validation function\n\tconst validateSettings = (): boolean => {\n\t\tconst schema = createValidationSchema(currentSettings.codebaseIndexEmbedderProvider, t)\n\n\t\t// Prepare data for validation\n\t\tconst dataToValidate: any = {}\n\t\tfor (const [key, value] of Object.entries(currentSettings)) {\n\t\t\t// For secret fields with placeholder values, treat them as valid (they exist in backend)\n\t\t\tif (value === SECRET_PLACEHOLDER) {\n\t\t\t\t// Add a dummy value that will pass validation for these fields\n\t\t\t\tif (\n\t\t\t\t\tkey === \"codeIndexOpenAiKey\" ||\n\t\t\t\t\tkey === \"codebaseIndexOpenAiCompatibleApiKey\" ||\n\t\t\t\t\tkey === \"codebaseIndexGeminiApiKey\" ||\n\t\t\t\t\tkey === \"codebaseIndexMistralApiKey\"\n\t\t\t\t) {\n\t\t\t\t\tdataToValidate[key] = \"placeholder-valid\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataToValidate[key] = value\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\t// Validate using the schema\n\t\t\tschema.parse(dataToValidate)\n\t\t\tsetFormErrors({})\n\t\t\treturn true\n\t\t} catch (error) {\n\t\t\tif (error instanceof z.ZodError) {\n\t\t\t\tconst errors: Record<string, string> = {}\n\t\t\t\terror.errors.forEach((err) => {\n\t\t\t\t\tif (err.path[0]) {\n\t\t\t\t\t\terrors[err.path[0] as string] = err.message\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tsetFormErrors(errors)\n\t\t\t}\n\t\t\treturn false\n\t\t}\n\t}\n\n\t// Discard changes functionality\n\tconst checkUnsavedChanges = useCallback(\n\t\t(then: () => void) => {\n\t\t\tif (hasUnsavedChanges) {\n\t\t\t\tconfirmDialogHandler.current = then\n\t\t\t\tsetDiscardDialogShow(true)\n\t\t\t} else {\n\t\t\t\tthen()\n\t\t\t}\n\t\t},\n\t\t[hasUnsavedChanges],\n\t)\n\n\tconst onConfirmDialogResult = useCallback(\n\t\t(confirm: boolean) => {\n\t\t\tif (confirm) {\n\t\t\t\t// Discard changes: Reset to initial settings\n\t\t\t\tsetCurrentSettings(initialSettings)\n\t\t\t\tsetFormErrors({}) // Clear any validation errors\n\t\t\t\tconfirmDialogHandler.current?.() // Execute the pending action (e.g., close popover)\n\t\t\t}\n\t\t\tsetDiscardDialogShow(false)\n\t\t},\n\t\t[initialSettings],\n\t)\n\n\t// Handle popover close with unsaved changes check\n\tconst handlePopoverClose = useCallback(() => {\n\t\tcheckUnsavedChanges(() => {\n\t\t\tsetOpen(false)\n\t\t})\n\t}, [checkUnsavedChanges])\n\n\t// Use the shared ESC key handler hook - respects unsaved changes logic\n\tuseEscapeKey(open, handlePopoverClose)\n\n\tconst handleSaveSettings = () => {\n\t\t// Validate settings before saving\n\t\tif (!validateSettings()) {\n\t\t\treturn\n\t\t}\n\n\t\tsetSaveStatus(\"saving\")\n\t\tsetSaveError(null)\n\n\t\t// Prepare settings to save\n\t\tconst settingsToSave: any = {}\n\n\t\t// Iterate through all current settings\n\t\tfor (const [key, value] of Object.entries(currentSettings)) {\n\t\t\t// For secret fields with placeholder, don't send the placeholder\n\t\t\t// but also don't send an empty string - just skip the field\n\t\t\t// This tells the backend to keep the existing secret\n\t\t\tif (value === SECRET_PLACEHOLDER) {\n\t\t\t\t// Skip sending placeholder values - backend will preserve existing secrets\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// Include all other fields, including empty strings (which clear secrets)\n\t\t\tsettingsToSave[key] = value\n\t\t}\n\n\t\t// Always include codebaseIndexEnabled to ensure it's persisted\n\t\tsettingsToSave.codebaseIndexEnabled = currentSettings.codebaseIndexEnabled\n\n\t\t// Save settings to backend\n\t\tvscode.postMessage({\n\t\t\ttype: \"saveCodeIndexSettingsAtomic\",\n\t\t\tcodeIndexSettings: settingsToSave,\n\t\t})\n\t}\n\n\tconst progressPercentage = useMemo(\n\t\t() =>\n\t\t\tindexingStatus.totalItems > 0\n\t\t\t\t? Math.round((indexingStatus.processedItems / indexingStatus.totalItems) * 100)\n\t\t\t\t: 0,\n\t\t[indexingStatus.processedItems, indexingStatus.totalItems],\n\t)\n\n\tconst transformStyleString = `translateX(-${100 - progressPercentage}%)`\n\n\tconst getAvailableModels = () => {\n\t\tif (!codebaseIndexModels) return []\n\n\t\tconst models = codebaseIndexModels[currentSettings.codebaseIndexEmbedderProvider]\n\t\treturn models ? Object.keys(models) : []\n\t}\n\n\tconst portalContainer = useRooPortal(\"roo-portal\")\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={(newOpen) => {\n\t\t\t\t\tif (!newOpen) {\n\t\t\t\t\t\t// User is trying to close the popover\n\t\t\t\t\t\thandlePopoverClose()\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetOpen(newOpen)\n\t\t\t\t\t}\n\t\t\t\t}}>\n\t\t\t\t<PopoverTrigger asChild>{children}</PopoverTrigger>\n\t\t\t\t<PopoverContent\n\t\t\t\t\tclassName=\"w-[calc(100vw-32px)] max-w-[450px] max-h-[80vh] overflow-y-auto p-0\"\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\talignOffset={0}\n\t\t\t\t\tside=\"bottom\"\n\t\t\t\t\tsideOffset={5}\n\t\t\t\t\tcollisionPadding={16}\n\t\t\t\t\tavoidCollisions={true}\n\t\t\t\t\tcontainer={portalContainer}>\n\t\t\t\t\t<div className=\"p-3 border-b border-vscode-dropdown-border cursor-default\">\n\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-1 p-0 mt-0 mb-1 w-full\">\n\t\t\t\t\t\t\t<h4 className=\"m-0 pb-2 flex-1\">{t(\"settings:codeIndex.title\")}</h4>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<p className=\"my-0 pr-4 text-sm w-full\">\n\t\t\t\t\t\t\t<Trans i18nKey=\"settings:codeIndex.description\">\n\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\thref={buildDocLink(\"features/experimental/codebase-indexing\", \"settings\")}\n\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"p-4\">\n\t\t\t\t\t\t{/* Enable/Disable Toggle */}\n\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\tchecked={currentSettings.codebaseIndexEnabled}\n\t\t\t\t\t\t\t\t\tonChange={(e: any) => updateSetting(\"codebaseIndexEnabled\", e.target.checked)}>\n\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:codeIndex.enableLabel\")}</span>\n\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:codeIndex.enableDescription\")}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help\" />\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Status Section */}\n\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t<h4 className=\"text-sm font-medium\">{t(\"settings:codeIndex.statusTitle\")}</h4>\n\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={cn(\"inline-block w-3 h-3 rounded-full mr-2\", {\n\t\t\t\t\t\t\t\t\t\t\"bg-gray-400\": indexingStatus.systemStatus === \"Standby\",\n\t\t\t\t\t\t\t\t\t\t\"bg-yellow-500 animate-pulse\": indexingStatus.systemStatus === \"Indexing\",\n\t\t\t\t\t\t\t\t\t\t\"bg-green-500\": indexingStatus.systemStatus === \"Indexed\",\n\t\t\t\t\t\t\t\t\t\t\"bg-red-500\": indexingStatus.systemStatus === \"Error\",\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{t(`settings:codeIndex.indexingStatuses.${indexingStatus.systemStatus.toLowerCase()}`)}\n\t\t\t\t\t\t\t\t{indexingStatus.message ? ` - ${indexingStatus.message}` : \"\"}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{indexingStatus.systemStatus === \"Indexing\" && (\n\t\t\t\t\t\t\t\t<div className=\"mt-2\">\n\t\t\t\t\t\t\t\t\t<ProgressPrimitive.Root\n\t\t\t\t\t\t\t\t\t\tclassName=\"relative h-2 w-full overflow-hidden rounded-full bg-secondary\"\n\t\t\t\t\t\t\t\t\t\tvalue={progressPercentage}>\n\t\t\t\t\t\t\t\t\t\t<ProgressPrimitive.Indicator\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-full w-full flex-1 bg-primary transition-transform duration-300 ease-in-out\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\ttransform: transformStyleString,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ProgressPrimitive.Root>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Setup Settings Disclosure */}\n\t\t\t\t\t\t<div className=\"mt-4\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={() => setIsSetupSettingsOpen(!isSetupSettingsOpen)}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center text-xs text-vscode-foreground hover:text-vscode-textLink-foreground focus:outline-none\"\n\t\t\t\t\t\t\t\taria-expanded={isSetupSettingsOpen}>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-${isSetupSettingsOpen ? \"chevron-down\" : \"chevron-right\"} mr-1`}></span>\n\t\t\t\t\t\t\t\t<span className=\"text-base font-semibold\">\n\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.setupConfigLabel\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t{isSetupSettingsOpen && (\n\t\t\t\t\t\t\t\t<div className=\"mt-4 space-y-4\">\n\t\t\t\t\t\t\t\t\t{/* Embedder Provider Section */}\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.embedderProviderLabel\")}\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderProvider}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={(value: EmbedderProvider) => {\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderProvider\", value)\n\t\t\t\t\t\t\t\t\t\t\t\t// Clear model selection when switching providers\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelId\", \"\")\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectValue />\n\t\t\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"openai\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.openaiProvider\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"ollama\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.ollamaProvider\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"openai-compatible\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.openaiCompatibleProvider\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"gemini\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.geminiProvider\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"mistral\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.mistralProvider\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t{/* Provider-specific settings */}\n\t\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEmbedderProvider === \"openai\" && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.openAiKeyLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codeIndexOpenAiKey || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codeIndexOpenAiKey\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.openAiKeyPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codeIndexOpenAiKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codeIndexOpenAiKey && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codeIndexOpenAiKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelId\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexEmbedderModelId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeOption value=\"\" className=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.selectModel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{getAvailableModels().map((modelId) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst model =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcodebaseIndexModels?.[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexEmbedderProvider\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.[modelId]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeOption key={modelId} value={modelId} className=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelId}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{model\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"settings:codeIndex.modelDimensions\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension: model.dimension,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeDropdown>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEmbedderProvider === \"ollama\" && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.ollamaBaseUrlLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderBaseUrl || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderBaseUrl\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(e: any) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Set default Ollama URL if field is empty\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!e.target.value.trim()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.target.value = DEFAULT_OLLAMA_URL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"codebaseIndexEmbedderBaseUrl\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDEFAULT_OLLAMA_URL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.ollamaUrlPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexEmbedderBaseUrl,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderBaseUrl && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderBaseUrl}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderModelId || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelId\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.modelPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexEmbedderModelId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelDimensionLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexEmbedderModelDimension?.toString() ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst value = e.target.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? parseInt(e.target.value, 10) || undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelDimension\", value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.modelDimensionPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformErrors.codebaseIndexEmbedderModelDimension,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelDimension && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelDimension}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEmbedderProvider === \"openai-compatible\" && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.openAiCompatibleBaseUrlLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexOpenAiCompatibleBaseUrl || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"codebaseIndexOpenAiCompatibleBaseUrl\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings:codeIndex.openAiCompatibleBaseUrlPlaceholder\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformErrors.codebaseIndexOpenAiCompatibleBaseUrl,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexOpenAiCompatibleBaseUrl && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexOpenAiCompatibleBaseUrl}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.openAiCompatibleApiKeyLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexOpenAiCompatibleApiKey || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"codebaseIndexOpenAiCompatibleApiKey\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings:codeIndex.openAiCompatibleApiKeyPlaceholder\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformErrors.codebaseIndexOpenAiCompatibleApiKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexOpenAiCompatibleApiKey && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexOpenAiCompatibleApiKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderModelId || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelId\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.modelPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexEmbedderModelId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelDimensionLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexEmbedderModelDimension?.toString() ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst value = e.target.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? parseInt(e.target.value, 10) || undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelDimension\", value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.modelDimensionPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformErrors.codebaseIndexEmbedderModelDimension,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelDimension && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelDimension}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEmbedderProvider === \"gemini\" && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.geminiApiKeyLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexGeminiApiKey || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexGeminiApiKey\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.geminiApiKeyPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexGeminiApiKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexGeminiApiKey && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexGeminiApiKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelId\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexEmbedderModelId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeOption value=\"\" className=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.selectModel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{getAvailableModels().map((modelId) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst model =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcodebaseIndexModels?.[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexEmbedderProvider\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.[modelId]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeOption key={modelId} value={modelId} className=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelId}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{model\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"settings:codeIndex.modelDimensions\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension: model.dimension,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeDropdown>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEmbedderProvider === \"mistral\" && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.mistralApiKeyLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexMistralApiKey || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexMistralApiKey\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.mistralApiKeyPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexMistralApiKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexMistralApiKey && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexMistralApiKey}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.modelLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeDropdown\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexEmbedderModelId\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexEmbedderModelId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeOption value=\"\" className=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.selectModel\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{getAvailableModels().map((modelId) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst model =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcodebaseIndexModels?.[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexEmbedderProvider\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.[modelId]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeOption key={modelId} value={modelId} className=\"p-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modelId}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{model\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"settings:codeIndex.modelDimensions\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdimension: model.dimension,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeDropdown>\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexEmbedderModelId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{/* Qdrant Settings */}\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.qdrantUrlLabel\")}\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codebaseIndexQdrantUrl || \"\"}\n\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexQdrantUrl\", e.target.value)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonBlur={(e: any) => {\n\t\t\t\t\t\t\t\t\t\t\t\t// Set default Qdrant URL if field is empty\n\t\t\t\t\t\t\t\t\t\t\t\tif (!e.target.value.trim()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexQdrantUrl = DEFAULT_QDRANT_URL\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexQdrantUrl\", DEFAULT_QDRANT_URL)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.qdrantUrlPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codebaseIndexQdrantUrl,\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexQdrantUrl && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codebaseIndexQdrantUrl}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.qdrantApiKeyLabel\")}\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={currentSettings.codeIndexQdrantApiKey || \"\"}\n\t\t\t\t\t\t\t\t\t\t\tonInput={(e: any) => updateSetting(\"codeIndexQdrantApiKey\", e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:codeIndex.qdrantApiKeyPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\"w-full\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\"border-red-500\": formErrors.codeIndexQdrantApiKey,\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{formErrors.codeIndexQdrantApiKey && (\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"text-xs text-vscode-errorForeground mt-1 mb-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t{formErrors.codeIndexQdrantApiKey}\n\t\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Advanced Settings Disclosure */}\n\t\t\t\t\t\t<div className=\"mt-4\">\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={() => setIsAdvancedSettingsOpen(!isAdvancedSettingsOpen)}\n\t\t\t\t\t\t\t\tclassName=\"flex items-center text-xs text-vscode-foreground hover:text-vscode-textLink-foreground focus:outline-none\"\n\t\t\t\t\t\t\t\taria-expanded={isAdvancedSettingsOpen}>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-${isAdvancedSettingsOpen ? \"chevron-down\" : \"chevron-right\"} mr-1`}></span>\n\t\t\t\t\t\t\t\t<span className=\"text-base font-semibold\">\n\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.advancedConfigLabel\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t{isAdvancedSettingsOpen && (\n\t\t\t\t\t\t\t\t<div className=\"mt-4 space-y-4\">\n\t\t\t\t\t\t\t\t\t{/* Search Score Threshold Slider */}\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.searchMinScoreLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\t\t\tcontent={t(\"settings:codeIndex.searchMinScoreDescription\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help\" />\n\t\t\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t\t\t\tmin={CODEBASE_INDEX_DEFAULTS.MIN_SEARCH_SCORE}\n\t\t\t\t\t\t\t\t\t\t\t\tmax={CODEBASE_INDEX_DEFAULTS.MAX_SEARCH_SCORE}\n\t\t\t\t\t\t\t\t\t\t\t\tstep={CODEBASE_INDEX_DEFAULTS.SEARCH_SCORE_STEP}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexSearchMinScore ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_MIN_SCORE,\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexSearchMinScore\", values[0])\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"search-min-score-slider\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"w-12 text-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t{(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexSearchMinScore ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tCODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_MIN_SCORE\n\t\t\t\t\t\t\t\t\t\t\t\t).toFixed(2)}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\t\t\tappearance=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={t(\"settings:codeIndex.resetToDefault\")}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"codebaseIndexSearchMinScore\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_MIN_SCORE,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\" />\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t{/* Maximum Search Results Slider */}\n\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t<label className=\"text-sm font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.searchMaxResultsLabel\")}\n\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\t\t\tcontent={t(\"settings:codeIndex.searchMaxResultsDescription\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-info text-xs text-vscode-descriptionForeground cursor-help\" />\n\t\t\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t\t\t\tmin={CODEBASE_INDEX_DEFAULTS.MIN_SEARCH_RESULTS}\n\t\t\t\t\t\t\t\t\t\t\t\tmax={CODEBASE_INDEX_DEFAULTS.MAX_SEARCH_RESULTS}\n\t\t\t\t\t\t\t\t\t\t\t\tstep={CODEBASE_INDEX_DEFAULTS.SEARCH_RESULTS_STEP}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={[\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentSettings.codebaseIndexSearchMaxResults ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_RESULTS,\n\t\t\t\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\"codebaseIndexSearchMaxResults\", values[0])\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex-1\"\n\t\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"search-max-results-slider\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"w-12 text-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexSearchMaxResults ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tCODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_RESULTS}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\t\t\tappearance=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\t\ttitle={t(\"settings:codeIndex.resetToDefault\")}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"codebaseIndexSearchMaxResults\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCODEBASE_INDEX_DEFAULTS.DEFAULT_SEARCH_RESULTS,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\" />\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Action Buttons */}\n\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-2 pt-6\">\n\t\t\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEnabled &&\n\t\t\t\t\t\t\t\t\t(indexingStatus.systemStatus === \"Error\" ||\n\t\t\t\t\t\t\t\t\t\tindexingStatus.systemStatus === \"Standby\") && (\n\t\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"startIndexing\" })}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={saveStatus === \"saving\" || hasUnsavedChanges}>\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.startIndexingButton\")}\n\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{currentSettings.codebaseIndexEnabled &&\n\t\t\t\t\t\t\t\t\t(indexingStatus.systemStatus === \"Indexed\" ||\n\t\t\t\t\t\t\t\t\t\tindexingStatus.systemStatus === \"Error\") && (\n\t\t\t\t\t\t\t\t\t\t<AlertDialog>\n\t\t\t\t\t\t\t\t\t\t\t<AlertDialogTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeButton appearance=\"secondary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.clearIndexDataButton\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t\t\t</AlertDialogTrigger>\n\t\t\t\t\t\t\t\t\t\t\t<AlertDialogContent>\n\t\t\t\t\t\t\t\t\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<AlertDialogTitle>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.clearDataDialog.title\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</AlertDialogTitle>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<AlertDialogDescription>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.clearDataDialog.description\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t\t\t\t\t\t\t\t\t</AlertDialogHeader>\n\t\t\t\t\t\t\t\t\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<AlertDialogCancel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.clearDataDialog.cancelButton\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<AlertDialogAction\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"clearIndexData\" })}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:codeIndex.clearDataDialog.confirmButton\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t\t\t\t\t\t\t\t\t</AlertDialogFooter>\n\t\t\t\t\t\t\t\t\t\t\t</AlertDialogContent>\n\t\t\t\t\t\t\t\t\t\t</AlertDialog>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\tonClick={handleSaveSettings}\n\t\t\t\t\t\t\t\tdisabled={!hasUnsavedChanges || saveStatus === \"saving\"}>\n\t\t\t\t\t\t\t\t{saveStatus === \"saving\"\n\t\t\t\t\t\t\t\t\t? t(\"settings:codeIndex.saving\")\n\t\t\t\t\t\t\t\t\t: t(\"settings:codeIndex.saveSettings\")}\n\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Save Status Messages */}\n\t\t\t\t\t\t{saveStatus === \"error\" && (\n\t\t\t\t\t\t\t<div className=\"mt-2\">\n\t\t\t\t\t\t\t\t<span className=\"text-sm text-vscode-errorForeground block\">\n\t\t\t\t\t\t\t\t\t{saveError || t(\"settings:codeIndex.saveError\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\n\t\t\t{/* Discard Changes Dialog */}\n\t\t\t<AlertDialog open={isDiscardDialogShow} onOpenChange={setDiscardDialogShow}>\n\t\t\t\t<AlertDialogContent>\n\t\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t\t<AlertDialogTitle className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<AlertTriangle className=\"w-5 h-5 text-yellow-500\" />\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.title\")}\n\t\t\t\t\t\t</AlertDialogTitle>\n\t\t\t\t\t\t<AlertDialogDescription>\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.description\")}\n\t\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t\t</AlertDialogHeader>\n\t\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t\t<AlertDialogCancel onClick={() => onConfirmDialogResult(false)}>\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.cancelButton\")}\n\t\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t\t<AlertDialogAction onClick={() => onConfirmDialogResult(true)}>\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.discardButton\")}\n\t\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t\t</AlertDialogFooter>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</AlertDialog>\n\t\t</>\n\t)\n}\n", + "import React, { useState, useEffect, useMemo } from \"react\"\nimport { Database } from \"lucide-react\"\nimport { cn } from \"@src/lib/utils\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { useTooltip } from \"@/hooks/useTooltip\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { CodeIndexPopover } from \"./CodeIndexPopover\"\nimport type { IndexingStatus, IndexingStatusUpdateMessage } from \"@roo/ExtensionMessage\"\n\ninterface IndexingStatusBadgeProps {\n\tclassName?: string\n}\n\nexport const IndexingStatusBadge: React.FC<IndexingStatusBadgeProps> = ({ className }) => {\n\tconst { t } = useAppTranslation()\n\tconst { cwd } = useExtensionState()\n\tconst { showTooltip, handleMouseEnter, handleMouseLeave, cleanup } = useTooltip({ delay: 300 })\n\tconst [isHovered, setIsHovered] = useState(false)\n\n\tconst [indexingStatus, setIndexingStatus] = useState<IndexingStatus>({\n\t\tsystemStatus: \"Standby\",\n\t\tprocessedItems: 0,\n\t\ttotalItems: 0,\n\t\tcurrentItemUnit: \"items\",\n\t})\n\n\tuseEffect(() => {\n\t\t// Request initial indexing status\n\t\tvscode.postMessage({ type: \"requestIndexingStatus\" })\n\n\t\t// Set up message listener for status updates\n\t\tconst handleMessage = (event: MessageEvent<IndexingStatusUpdateMessage>) => {\n\t\t\tif (event.data.type === \"indexingStatusUpdate\") {\n\t\t\t\tconst status = event.data.values\n\t\t\t\tif (!status.workspacePath || status.workspacePath === cwd) {\n\t\t\t\t\tsetIndexingStatus(status)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage)\n\t\t\tcleanup()\n\t\t}\n\t}, [cleanup, cwd])\n\n\t// Calculate progress percentage with memoization\n\tconst progressPercentage = useMemo(\n\t\t() =>\n\t\t\tindexingStatus.totalItems > 0\n\t\t\t\t? Math.round((indexingStatus.processedItems / indexingStatus.totalItems) * 100)\n\t\t\t\t: 0,\n\t\t[indexingStatus.processedItems, indexingStatus.totalItems],\n\t)\n\n\t// Get tooltip text with internationalization\n\tconst getTooltipText = () => {\n\t\tswitch (indexingStatus.systemStatus) {\n\t\t\tcase \"Standby\":\n\t\t\t\treturn t(\"chat:indexingStatus.ready\")\n\t\t\tcase \"Indexing\":\n\t\t\t\treturn t(\"chat:indexingStatus.indexing\", { percentage: progressPercentage })\n\t\t\tcase \"Indexed\":\n\t\t\t\treturn t(\"chat:indexingStatus.indexed\")\n\t\t\tcase \"Error\":\n\t\t\t\treturn t(\"chat:indexingStatus.error\")\n\t\t\tdefault:\n\t\t\t\treturn t(\"chat:indexingStatus.status\")\n\t\t}\n\t}\n\n\tconst handleMouseEnterButton = () => {\n\t\tsetIsHovered(true)\n\t\thandleMouseEnter()\n\t}\n\n\tconst handleMouseLeaveButton = () => {\n\t\tsetIsHovered(false)\n\t\thandleMouseLeave()\n\t}\n\n\t// Get status color classes for the badge dot\n\tconst getStatusColorClass = () => {\n\t\tconst statusColors = {\n\t\t\tStandby: {\n\t\t\t\tdefault: \"bg-vscode-descriptionForeground/60\",\n\t\t\t\thover: \"bg-vscode-descriptionForeground/80\",\n\t\t\t},\n\t\t\tIndexing: {\n\t\t\t\tdefault: \"bg-yellow-500 animate-pulse\",\n\t\t\t\thover: \"bg-yellow-500 animate-pulse\",\n\t\t\t},\n\t\t\tIndexed: {\n\t\t\t\tdefault: \"bg-green-500\",\n\t\t\t\thover: \"bg-green-500\",\n\t\t\t},\n\t\t\tError: {\n\t\t\t\tdefault: \"bg-red-500\",\n\t\t\t\thover: \"bg-red-500\",\n\t\t\t},\n\t\t}\n\n\t\tconst colors = statusColors[indexingStatus.systemStatus as keyof typeof statusColors] || statusColors.Standby\n\t\treturn isHovered ? colors.hover : colors.default\n\t}\n\n\treturn (\n\t\t<div className={cn(\"relative inline-block\", className)}>\n\t\t\t<CodeIndexPopover indexingStatus={indexingStatus}>\n\t\t\t\t<button\n\t\t\t\t\tonMouseEnter={handleMouseEnterButton}\n\t\t\t\t\tonMouseLeave={handleMouseLeaveButton}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\"opacity-85 text-vscode-foreground\",\n\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\taria-label={getTooltipText()}>\n\t\t\t\t\t{/* File search icon */}\n\t\t\t\t\t<Database className=\"w-4 h-4 text-vscode-foreground\" />\n\n\t\t\t\t\t{/* Status dot badge */}\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"absolute top-1 right-1 w-1.5 h-1.5 rounded-full transition-colors duration-200\",\n\t\t\t\t\t\t\tgetStatusColorClass(),\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</button>\n\t\t\t</CodeIndexPopover>\n\t\t\t{showTooltip && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"absolute bottom-full left-1/2 transform -translate-x-1/2 mb-2\",\n\t\t\t\t\t\t\"px-2 py-1 text-xs font-medium text-vscode-foreground\",\n\t\t\t\t\t\t\"bg-vscode-editor-background border border-vscode-panel-border\",\n\t\t\t\t\t\t\"rounded shadow-lg whitespace-nowrap z-50\",\n\t\t\t\t\t)}\n\t\t\t\t\trole=\"tooltip\">\n\t\t\t\t\t{getTooltipText()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"absolute top-full left-1/2 transform -translate-x-1/2\",\n\t\t\t\t\t\t\t\"w-0 h-0 border-l-4 border-r-4 border-t-4\",\n\t\t\t\t\t\t\t\"border-l-transparent border-r-transparent border-t-vscode-panel-border\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import React from \"react\"\nimport { Edit, Trash2 } from \"lucide-react\"\n\nimport type { Command } from \"@roo/ExtensionMessage\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { Button, StandardTooltip } from \"@/components/ui\"\nimport { vscode } from \"@/utils/vscode\"\n\ninterface SlashCommandItemProps {\n\tcommand: Command\n\tonDelete: (command: Command) => void\n\tonClick?: (command: Command) => void\n}\n\nexport const SlashCommandItem: React.FC<SlashCommandItemProps> = ({ command, onDelete, onClick }) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleEdit = () => {\n\t\tif (command.filePath) {\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"openFile\",\n\t\t\t\ttext: command.filePath,\n\t\t\t})\n\t\t} else {\n\t\t\t// Fallback: request to open command file by name and source\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"openCommandFile\",\n\t\t\t\ttext: command.name,\n\t\t\t\tvalues: { source: command.source },\n\t\t\t})\n\t\t}\n\t}\n\n\tconst handleDelete = () => {\n\t\tonDelete(command)\n\t}\n\n\treturn (\n\t\t<div className=\"px-4 py-2 text-sm flex items-center group hover:bg-vscode-list-hoverBackground\">\n\t\t\t{/* Command name - clickable */}\n\t\t\t<div className=\"flex-1 min-w-0 cursor-pointer\" onClick={() => onClick?.(command)}>\n\t\t\t\t<span className=\"truncate text-vscode-foreground\">{command.name}</span>\n\t\t\t</div>\n\n\t\t\t{/* Action buttons */}\n\t\t\t<div className=\"flex items-center gap-2 ml-2\">\n\t\t\t\t<StandardTooltip content={t(\"chat:slashCommands.editCommand\")}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\tonClick={handleEdit}\n\t\t\t\t\t\tclassName=\"size-6 flex items-center justify-center opacity-60 hover:opacity-100\">\n\t\t\t\t\t\t<Edit className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</StandardTooltip>\n\n\t\t\t\t<StandardTooltip content={t(\"chat:slashCommands.deleteCommand\")}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\tonClick={handleDelete}\n\t\t\t\t\t\tclassName=\"size-6 flex items-center justify-center opacity-60 hover:opacity-100 hover:text-red-400\">\n\t\t\t\t\t\t<Trash2 className=\"w-4 h-4\" />\n\t\t\t\t\t</Button>\n\t\t\t\t</StandardTooltip>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import React, { useState } from \"react\"\nimport { Plus, Globe, Folder } from \"lucide-react\"\n\nimport type { Command } from \"@roo/ExtensionMessage\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n\tButton,\n} from \"@/components/ui\"\nimport { vscode } from \"@/utils/vscode\"\n\nimport { SlashCommandItem } from \"./SlashCommandItem\"\n\ninterface SlashCommandsListProps {\n\tcommands: Command[]\n\tonRefresh: () => void\n}\n\nexport const SlashCommandsList: React.FC<SlashCommandsListProps> = ({ commands, onRefresh }) => {\n\tconst { t } = useAppTranslation()\n\tconst { cwd } = useExtensionState()\n\tconst [deleteDialogOpen, setDeleteDialogOpen] = useState(false)\n\tconst [commandToDelete, setCommandToDelete] = useState<Command | null>(null)\n\tconst [globalNewName, setGlobalNewName] = useState(\"\")\n\tconst [workspaceNewName, setWorkspaceNewName] = useState(\"\")\n\n\t// Check if we're in a workspace/project\n\tconst hasWorkspace = Boolean(cwd)\n\n\tconst handleDeleteClick = (command: Command) => {\n\t\tsetCommandToDelete(command)\n\t\tsetDeleteDialogOpen(true)\n\t}\n\n\tconst handleDeleteConfirm = () => {\n\t\tif (commandToDelete) {\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"deleteCommand\",\n\t\t\t\ttext: commandToDelete.name,\n\t\t\t\tvalues: { source: commandToDelete.source },\n\t\t\t})\n\t\t\tsetDeleteDialogOpen(false)\n\t\t\tsetCommandToDelete(null)\n\t\t\t// Refresh the commands list after deletion\n\t\t\tsetTimeout(onRefresh, 100)\n\t\t}\n\t}\n\n\tconst handleDeleteCancel = () => {\n\t\tsetDeleteDialogOpen(false)\n\t\tsetCommandToDelete(null)\n\t}\n\n\tconst handleCreateCommand = (source: \"global\" | \"project\", name: string) => {\n\t\tif (!name.trim()) return\n\n\t\t// Append .md if not already present\n\t\tconst fileName = name.trim().endsWith(\".md\") ? name.trim() : `${name.trim()}.md`\n\n\t\tvscode.postMessage({\n\t\t\ttype: \"createCommand\",\n\t\t\ttext: fileName,\n\t\t\tvalues: { source },\n\t\t})\n\n\t\t// Clear the input and refresh\n\t\tif (source === \"global\") {\n\t\t\tsetGlobalNewName(\"\")\n\t\t} else {\n\t\t\tsetWorkspaceNewName(\"\")\n\t\t}\n\t\tsetTimeout(onRefresh, 500)\n\t}\n\n\tconst handleCommandClick = (command: Command) => {\n\t\t// Insert the command into the textarea\n\t\tvscode.postMessage({\n\t\t\ttype: \"insertTextIntoTextarea\",\n\t\t\ttext: `/${command.name}`,\n\t\t})\n\t}\n\n\t// Group commands by source\n\tconst globalCommands = commands.filter((cmd) => cmd.source === \"global\")\n\tconst projectCommands = commands.filter((cmd) => cmd.source === \"project\")\n\n\treturn (\n\t\t<>\n\t\t\t{/* Commands list */}\n\t\t\t<div className=\"max-h-[300px] overflow-y-auto\">\n\t\t\t\t<div className=\"py-1\">\n\t\t\t\t\t{/* Global Commands Section */}\n\t\t\t\t\t<div className=\"px-3 py-1.5 text-xs font-medium text-vscode-descriptionForeground flex items-center gap-1.5\">\n\t\t\t\t\t\t<Globe className=\"w-3 h-3\" />\n\t\t\t\t\t\t{t(\"chat:slashCommands.globalCommands\")}\n\t\t\t\t\t</div>\n\t\t\t\t\t{globalCommands.map((command) => (\n\t\t\t\t\t\t<SlashCommandItem\n\t\t\t\t\t\t\tkey={`global-${command.name}`}\n\t\t\t\t\t\t\tcommand={command}\n\t\t\t\t\t\t\tonDelete={handleDeleteClick}\n\t\t\t\t\t\t\tonClick={handleCommandClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{/* New global command input */}\n\t\t\t\t\t<div className=\"px-4 py-2 flex items-center gap-2 hover:bg-vscode-list-hoverBackground\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tvalue={globalNewName}\n\t\t\t\t\t\t\tonChange={(e) => setGlobalNewName(e.target.value)}\n\t\t\t\t\t\t\tplaceholder={t(\"chat:slashCommands.newGlobalCommandPlaceholder\")}\n\t\t\t\t\t\t\tclassName=\"flex-1 bg-transparent text-vscode-input-foreground placeholder-vscode-input-placeholderForeground border-none outline-none focus:outline-0 text-sm\"\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\thandleCreateCommand(\"global\", globalNewName)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\tonClick={() => handleCreateCommand(\"global\", globalNewName)}\n\t\t\t\t\t\t\tdisabled={!globalNewName.trim()}\n\t\t\t\t\t\t\tclassName=\"size-6 flex items-center justify-center opacity-60 hover:opacity-100\">\n\t\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Workspace Commands Section - Only show if in a workspace */}\n\t\t\t\t\t{hasWorkspace && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"px-3 py-1.5 text-xs font-medium text-vscode-descriptionForeground mt-4 flex items-center gap-1.5\">\n\t\t\t\t\t\t\t\t<Folder className=\"w-3 h-3\" />\n\t\t\t\t\t\t\t\t{t(\"chat:slashCommands.workspaceCommands\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{projectCommands.map((command) => (\n\t\t\t\t\t\t\t\t<SlashCommandItem\n\t\t\t\t\t\t\t\t\tkey={`project-${command.name}`}\n\t\t\t\t\t\t\t\t\tcommand={command}\n\t\t\t\t\t\t\t\t\tonDelete={handleDeleteClick}\n\t\t\t\t\t\t\t\t\tonClick={handleCommandClick}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{/* New workspace command input */}\n\t\t\t\t\t\t\t<div className=\"px-4 py-2 flex items-center gap-2 hover:bg-vscode-list-hoverBackground\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tvalue={workspaceNewName}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setWorkspaceNewName(e.target.value)}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"chat:slashCommands.newWorkspaceCommandPlaceholder\")}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 bg-transparent text-vscode-input-foreground placeholder-vscode-input-placeholderForeground border-none outline-none focus:outline-0 text-sm\"\n\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\t\thandleCreateCommand(\"project\", workspaceNewName)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\tonClick={() => handleCreateCommand(\"project\", workspaceNewName)}\n\t\t\t\t\t\t\t\t\tdisabled={!workspaceNewName.trim()}\n\t\t\t\t\t\t\t\t\tclassName=\"size-6 flex items-center justify-center opacity-60 hover:opacity-100\">\n\t\t\t\t\t\t\t\t\t<Plus className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<AlertDialog open={deleteDialogOpen} onOpenChange={setDeleteDialogOpen}>\n\t\t\t\t<AlertDialogContent>\n\t\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t\t<AlertDialogTitle>{t(\"chat:slashCommands.deleteDialog.title\")}</AlertDialogTitle>\n\t\t\t\t\t\t<AlertDialogDescription>\n\t\t\t\t\t\t\t{t(\"chat:slashCommands.deleteDialog.description\", { name: commandToDelete?.name })}\n\t\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t\t</AlertDialogHeader>\n\t\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t\t<AlertDialogCancel onClick={handleDeleteCancel}>\n\t\t\t\t\t\t\t{t(\"chat:slashCommands.deleteDialog.cancel\")}\n\t\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t\t<AlertDialogAction onClick={handleDeleteConfirm}>\n\t\t\t\t\t\t\t{t(\"chat:slashCommands.deleteDialog.confirm\")}\n\t\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t\t</AlertDialogFooter>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</AlertDialog>\n\t\t</>\n\t)\n}\n", + "import React, { useEffect, useState } from \"react\"\nimport { Zap } from \"lucide-react\"\nimport { Trans } from \"react-i18next\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport { Button, Popover, PopoverContent, PopoverTrigger, StandardTooltip } from \"@/components/ui\"\nimport { useRooPortal } from \"@/components/ui/hooks/useRooPortal\"\nimport { cn } from \"@/lib/utils\"\nimport { vscode } from \"@/utils/vscode\"\nimport { buildDocLink } from \"@/utils/docLinks\"\n\nimport { SlashCommandsList } from \"./SlashCommandsList\"\n\ninterface SlashCommandsPopoverProps {\n\tclassName?: string\n}\n\nexport const SlashCommandsPopover: React.FC<SlashCommandsPopoverProps> = ({ className }) => {\n\tconst { t } = useAppTranslation()\n\tconst { commands } = useExtensionState()\n\tconst [isOpen, setIsOpen] = useState(false)\n\tconst portalContainer = useRooPortal(\"roo-portal\")\n\n\t// Request commands when popover opens\n\tuseEffect(() => {\n\t\tif (isOpen && (!commands || commands.length === 0)) {\n\t\t\thandleRefresh()\n\t\t}\n\t}, [isOpen, commands])\n\n\tconst handleRefresh = () => {\n\t\tvscode.postMessage({ type: \"requestCommands\" })\n\t}\n\n\tconst handleOpenChange = (open: boolean) => {\n\t\tsetIsOpen(open)\n\t\tif (open) {\n\t\t\t// Always refresh when opening to get latest commands\n\t\t\thandleRefresh()\n\t\t}\n\t}\n\n\tconst trigger = (\n\t\t<PopoverTrigger asChild>\n\t\t\t<Button\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"h-7 w-7 p-0\",\n\t\t\t\t\t\"text-vscode-foreground opacity-85\",\n\t\t\t\t\t\"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)]\",\n\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}>\n\t\t\t\t<Zap className=\"w-4 h-4\" />\n\t\t\t</Button>\n\t\t</PopoverTrigger>\n\t)\n\n\treturn (\n\t\t<Popover open={isOpen} onOpenChange={handleOpenChange}>\n\t\t\t<StandardTooltip content={t(\"chat:slashCommands.tooltip\")}>{trigger}</StandardTooltip>\n\n\t\t\t<PopoverContent\n\t\t\t\talign=\"start\"\n\t\t\t\tsideOffset={4}\n\t\t\t\tcontainer={portalContainer}\n\t\t\t\tclassName=\"p-0 overflow-hidden min-w-80 max-w-9/10\">\n\t\t\t\t<div className=\"flex flex-col w-full\">\n\t\t\t\t\t{/* Header section */}\n\t\t\t\t\t<div className=\"p-3 border-b border-vscode-dropdown-border\">\n\t\t\t\t\t\t<p className=\"m-0 text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\ti18nKey=\"chat:slashCommands.description\"\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\tDocsLink: (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\"features/slash-commands\", \"slash_commands\")}\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t\t\t\t\tDocs\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Commands list */}\n\t\t\t\t\t<SlashCommandsList commands={commands || []} onRefresh={handleRefresh} />\n\t\t\t\t</div>\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t)\n}\n", + "import { ClineMessage, HistoryItem } from \"@roo-code/types\"\nimport { useCallback, useEffect, useMemo, useState } from \"react\"\n\ninterface UsePromptHistoryProps {\n\tclineMessages: ClineMessage[] | undefined\n\ttaskHistory: HistoryItem[] | undefined\n\tcwd: string | undefined\n\tinputValue: string\n\tsetInputValue: (value: string) => void\n}\n\nexport interface UsePromptHistoryReturn {\n\thistoryIndex: number\n\tsetHistoryIndex: (index: number) => void\n\ttempInput: string\n\tsetTempInput: (input: string) => void\n\tpromptHistory: string[]\n\thandleHistoryNavigation: (\n\t\tevent: React.KeyboardEvent<HTMLTextAreaElement>,\n\t\tshowContextMenu: boolean,\n\t\tisComposing: boolean,\n\t) => boolean\n\tresetHistoryNavigation: () => void\n\tresetOnInputChange: () => void\n}\n\nexport const usePromptHistory = ({\n\tclineMessages,\n\ttaskHistory,\n\tcwd,\n\tinputValue,\n\tsetInputValue,\n}: UsePromptHistoryProps): UsePromptHistoryReturn => {\n\t// Maximum number of prompts to keep in history for memory management\n\tconst MAX_PROMPT_HISTORY_SIZE = 100\n\n\t// Prompt history navigation state\n\tconst [historyIndex, setHistoryIndex] = useState(-1)\n\tconst [tempInput, setTempInput] = useState(\"\")\n\tconst [promptHistory, setPromptHistory] = useState<string[]>([])\n\n\t// Initialize prompt history with hybrid approach: conversation messages if in task, otherwise task history\n\tconst filteredPromptHistory = useMemo(() => {\n\t\t// First try to get conversation messages (user_feedback from clineMessages)\n\t\tconst conversationPrompts = clineMessages\n\t\t\t?.filter((message) => message.type === \"say\" && message.say === \"user_feedback\" && message.text?.trim())\n\t\t\t.map((message) => message.text!)\n\n\t\t// If we have conversation messages, use those (newest first when navigating up)\n\t\tif (conversationPrompts?.length) {\n\t\t\treturn conversationPrompts.slice(-MAX_PROMPT_HISTORY_SIZE).reverse()\n\t\t}\n\n\t\t// If we have clineMessages array (meaning we're in an active task), don't fall back to task history\n\t\t// Only use task history when starting fresh (no active conversation)\n\t\tif (clineMessages?.length) {\n\t\t\treturn []\n\t\t}\n\n\t\t// Fall back to task history only when starting fresh (no active conversation)\n\t\tif (!taskHistory?.length || !cwd) {\n\t\t\treturn []\n\t\t}\n\n\t\t// Extract user prompts from task history for the current workspace only\n\t\treturn taskHistory\n\t\t\t.filter((item) => item.task?.trim() && (!item.workspace || item.workspace === cwd))\n\t\t\t.map((item) => item.task)\n\t\t\t.slice(0, MAX_PROMPT_HISTORY_SIZE)\n\t}, [clineMessages, taskHistory, cwd])\n\n\t// Update prompt history when filtered history changes and reset navigation\n\tuseEffect(() => {\n\t\tsetPromptHistory(filteredPromptHistory)\n\t\t// Reset navigation state when switching between history sources\n\t\tsetHistoryIndex(-1)\n\t\tsetTempInput(\"\")\n\t}, [filteredPromptHistory])\n\n\t// Reset history navigation when user types (but not when we're setting it programmatically)\n\tconst resetOnInputChange = useCallback(() => {\n\t\tif (historyIndex !== -1) {\n\t\t\tsetHistoryIndex(-1)\n\t\t\tsetTempInput(\"\")\n\t\t}\n\t}, [historyIndex])\n\n\t// Helper to set cursor position after React renders\n\tconst setCursorPosition = useCallback(\n\t\t(textarea: HTMLTextAreaElement, position: number | \"start\" | \"end\", length?: number) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (position === \"start\") {\n\t\t\t\t\ttextarea.setSelectionRange(0, 0)\n\t\t\t\t} else if (position === \"end\") {\n\t\t\t\t\tconst len = length ?? textarea.value.length\n\t\t\t\t\ttextarea.setSelectionRange(len, len)\n\t\t\t\t} else {\n\t\t\t\t\ttextarea.setSelectionRange(position, position)\n\t\t\t\t}\n\t\t\t}, 0)\n\t\t},\n\t\t[],\n\t)\n\n\t// Helper to navigate to a specific history entry\n\tconst navigateToHistory = useCallback(\n\t\t(newIndex: number, textarea: HTMLTextAreaElement, cursorPos: \"start\" | \"end\" = \"start\"): boolean => {\n\t\t\tif (newIndex < 0 || newIndex >= promptHistory.length) return false\n\n\t\t\tconst historicalPrompt = promptHistory[newIndex]\n\t\t\tif (!historicalPrompt) return false\n\n\t\t\tsetHistoryIndex(newIndex)\n\t\t\tsetInputValue(historicalPrompt)\n\t\t\tsetCursorPosition(textarea, cursorPos, historicalPrompt.length)\n\n\t\t\treturn true\n\t\t},\n\t\t[promptHistory, setInputValue, setCursorPosition],\n\t)\n\n\t// Helper to return to current input\n\tconst returnToCurrentInput = useCallback(\n\t\t(textarea: HTMLTextAreaElement, cursorPos: \"start\" | \"end\" = \"end\") => {\n\t\t\tsetHistoryIndex(-1)\n\t\t\tsetInputValue(tempInput)\n\t\t\tsetCursorPosition(textarea, cursorPos, tempInput.length)\n\t\t},\n\t\t[tempInput, setInputValue, setCursorPosition],\n\t)\n\n\tconst handleHistoryNavigation = useCallback(\n\t\t(event: React.KeyboardEvent<HTMLTextAreaElement>, showContextMenu: boolean, isComposing: boolean): boolean => {\n\t\t\t// Handle prompt history navigation\n\t\t\tif (!showContextMenu && promptHistory.length > 0 && !isComposing) {\n\t\t\t\tconst textarea = event.currentTarget\n\t\t\t\tconst { selectionStart, selectionEnd, value } = textarea\n\t\t\t\tconst hasSelection = selectionStart !== selectionEnd\n\t\t\t\tconst isAtBeginning = selectionStart === 0 && selectionEnd === 0\n\t\t\t\tconst isAtEnd = selectionStart === value.length && selectionEnd === value.length\n\n\t\t\t\t// Handle smart navigation\n\t\t\t\tif (!hasSelection) {\n\t\t\t\t\t// Only navigate history with UP if cursor is at the very beginning\n\t\t\t\t\tif (event.key === \"ArrowUp\" && isAtBeginning) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t// Save current input if starting navigation\n\t\t\t\t\t\tif (historyIndex === -1) {\n\t\t\t\t\t\t\tsetTempInput(inputValue)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn navigateToHistory(historyIndex + 1, textarea, \"start\")\n\t\t\t\t\t}\n\n\t\t\t\t\t// Handle DOWN arrow - only in history navigation mode\n\t\t\t\t\tif (event.key === \"ArrowDown\" && historyIndex >= 0 && (isAtBeginning || isAtEnd)) {\n\t\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\t\tif (historyIndex > 0) {\n\t\t\t\t\t\t\t// Keep cursor position consistent with where we started\n\t\t\t\t\t\t\treturn navigateToHistory(historyIndex - 1, textarea, isAtBeginning ? \"start\" : \"end\")\n\t\t\t\t\t\t} else if (historyIndex === 0) {\n\t\t\t\t\t\t\treturnToCurrentInput(textarea, isAtBeginning ? \"start\" : \"end\")\n\t\t\t\t\t\t\treturn true\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\t[promptHistory, historyIndex, inputValue, navigateToHistory, returnToCurrentInput],\n\t)\n\n\tconst resetHistoryNavigation = useCallback(() => {\n\t\tsetHistoryIndex(-1)\n\t\tsetTempInput(\"\")\n\t}, [])\n\n\treturn {\n\t\thistoryIndex,\n\t\tsetHistoryIndex,\n\t\ttempInput,\n\t\tsetTempInput,\n\t\tpromptHistory,\n\t\thandleHistoryNavigation,\n\t\tresetHistoryNavigation,\n\t\tresetOnInputChange,\n\t}\n}\n", + "import React from \"react\"\nimport { Mode } from \"@roo/modes\"\nimport { Button, StandardTooltip } from \"@/components/ui\"\nimport { Image, SendHorizontal } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport ModeSelector from \"./ModeSelector\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\ninterface EditModeControlsProps {\n\tmode: Mode\n\tonModeChange: (value: Mode) => void\n\tmodeShortcutText: string\n\tcustomModes: any\n\tcustomModePrompts: any\n\tonCancel?: () => void\n\tonSend: () => void\n\tonSelectImages: () => void\n\tsendingDisabled: boolean\n\tshouldDisableImages: boolean\n}\n\nexport const EditModeControls: React.FC<EditModeControlsProps> = ({\n\tmode,\n\tonModeChange,\n\tmodeShortcutText,\n\tcustomModes,\n\tcustomModePrompts,\n\tonCancel,\n\tonSend,\n\tonSelectImages,\n\tsendingDisabled,\n\tshouldDisableImages,\n}) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"flex\",\n\t\t\t\t\"items-center\",\n\t\t\t\t\"justify-between\",\n\t\t\t\t\"absolute\",\n\t\t\t\t\"bottom-2\",\n\t\t\t\t\"left-2\",\n\t\t\t\t\"right-2\",\n\t\t\t\t\"z-30\",\n\t\t\t)}>\n\t\t\t<div className={cn(\"flex\", \"items-center\", \"gap-1\", \"flex-1\", \"min-w-0\")}>\n\t\t\t\t<div className=\"shrink-0\">\n\t\t\t\t\t<ModeSelector\n\t\t\t\t\t\tvalue={mode}\n\t\t\t\t\t\ttitle={t(\"chat:selectMode\")}\n\t\t\t\t\t\tonChange={onModeChange}\n\t\t\t\t\t\ttriggerClassName=\"w-full\"\n\t\t\t\t\t\tmodeShortcutText={modeShortcutText}\n\t\t\t\t\t\tcustomModes={customModes}\n\t\t\t\t\t\tcustomModePrompts={customModePrompts}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className={cn(\"flex\", \"items-center\", \"gap-0.5\", \"shrink-0\", \"ml-2\")}>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\tonClick={onCancel}\n\t\t\t\t\tdisabled={sendingDisabled}\n\t\t\t\t\tclassName=\"text-xs bg-vscode-toolbar-hoverBackground hover:bg-vscode-button-secondaryBackground text-vscode-button-secondaryForeground\">\n\t\t\t\t\tCancel\n\t\t\t\t</Button>\n\t\t\t\t<StandardTooltip content={t(\"chat:addImages\")}>\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-label={t(\"chat:addImages\")}\n\t\t\t\t\t\tdisabled={shouldDisableImages}\n\t\t\t\t\t\tonClick={!shouldDisableImages ? onSelectImages : undefined}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\t\"opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground\",\n\t\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\t\"hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\t!shouldDisableImages && \"cursor-pointer\",\n\t\t\t\t\t\t\tshouldDisableImages &&\n\t\t\t\t\t\t\t\t\"opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent\",\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<Image className=\"w-4 h-4\" />\n\t\t\t\t\t</button>\n\t\t\t\t</StandardTooltip>\n\t\t\t\t<StandardTooltip content={t(\"chat:save.tooltip\")}>\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-label={t(\"chat:save.tooltip\")}\n\t\t\t\t\t\tdisabled={sendingDisabled}\n\t\t\t\t\t\tonClick={!sendingDisabled ? onSend : undefined}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\t\"opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground\",\n\t\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\t\"hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\t!sendingDisabled && \"cursor-pointer\",\n\t\t\t\t\t\t\tsendingDisabled &&\n\t\t\t\t\t\t\t\t\"opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent\",\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<SendHorizontal className=\"w-4 h-4\" />\n\t\t\t\t\t</button>\n\t\t\t\t</StandardTooltip>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import React, { forwardRef, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\"\nimport { useEvent } from \"react-use\"\nimport DynamicTextArea from \"react-textarea-autosize\"\n\nimport { mentionRegex, mentionRegexGlobal, commandRegexGlobal, unescapeSpaces } from \"@roo/context-mentions\"\nimport { WebviewMessage } from \"@roo/WebviewMessage\"\nimport { Mode, getAllModes } from \"@roo/modes\"\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { vscode } from \"@/utils/vscode\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport {\n\tContextMenuOptionType,\n\tgetContextMenuOptions,\n\tinsertMention,\n\tremoveMention,\n\tshouldShowContextMenu,\n\tSearchResult,\n} from \"@src/utils/context-mentions\"\nimport { convertToMentionPath } from \"@/utils/path-mentions\"\nimport { StandardTooltip } from \"@/components/ui\"\n\nimport Thumbnails from \"../common/Thumbnails\"\nimport ModeSelector from \"./ModeSelector\"\nimport { ApiConfigSelector } from \"./ApiConfigSelector\"\nimport { MAX_IMAGES_PER_MESSAGE } from \"./ChatView\"\nimport ContextMenu from \"./ContextMenu\"\nimport { VolumeX, Image, WandSparkles, SendHorizontal } from \"lucide-react\"\nimport { IndexingStatusBadge } from \"./IndexingStatusBadge\"\nimport { SlashCommandsPopover } from \"./SlashCommandsPopover\"\nimport { cn } from \"@/lib/utils\"\nimport { usePromptHistory } from \"./hooks/usePromptHistory\"\nimport { EditModeControls } from \"./EditModeControls\"\n\ninterface ChatTextAreaProps {\n\tinputValue: string\n\tsetInputValue: (value: string) => void\n\tsendingDisabled: boolean\n\tselectApiConfigDisabled: boolean\n\tplaceholderText: string\n\tselectedImages: string[]\n\tsetSelectedImages: React.Dispatch<React.SetStateAction<string[]>>\n\tonSend: () => void\n\tonSelectImages: () => void\n\tshouldDisableImages: boolean\n\tonHeightChange?: (height: number) => void\n\tmode: Mode\n\tsetMode: (value: Mode) => void\n\tmodeShortcutText: string\n\t// Edit mode props\n\tisEditMode?: boolean\n\tonCancel?: () => void\n}\n\nconst ChatTextArea = forwardRef<HTMLTextAreaElement, ChatTextAreaProps>(\n\t(\n\t\t{\n\t\t\tinputValue,\n\t\t\tsetInputValue,\n\t\t\tsendingDisabled,\n\t\t\tselectApiConfigDisabled,\n\t\t\tplaceholderText,\n\t\t\tselectedImages,\n\t\t\tsetSelectedImages,\n\t\t\tonSend,\n\t\t\tonSelectImages,\n\t\t\tshouldDisableImages,\n\t\t\tonHeightChange,\n\t\t\tmode,\n\t\t\tsetMode,\n\t\t\tmodeShortcutText,\n\t\t\tisEditMode = false,\n\t\t\tonCancel,\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst { t } = useAppTranslation()\n\t\tconst {\n\t\t\tfilePaths,\n\t\t\topenedTabs,\n\t\t\tcurrentApiConfigName,\n\t\t\tlistApiConfigMeta,\n\t\t\tcustomModes,\n\t\t\tcustomModePrompts,\n\t\t\tcwd,\n\t\t\tpinnedApiConfigs,\n\t\t\ttogglePinnedApiConfig,\n\t\t\ttaskHistory,\n\t\t\tclineMessages,\n\t\t\tcommands,\n\t\t} = useExtensionState()\n\n\t\t// Find the ID and display text for the currently selected API configuration\n\t\tconst { currentConfigId, displayName } = useMemo(() => {\n\t\t\tconst currentConfig = listApiConfigMeta?.find((config) => config.name === currentApiConfigName)\n\t\t\treturn {\n\t\t\t\tcurrentConfigId: currentConfig?.id || \"\",\n\t\t\t\tdisplayName: currentApiConfigName || \"\", // Use the name directly for display\n\t\t\t}\n\t\t}, [listApiConfigMeta, currentApiConfigName])\n\n\t\tconst [gitCommits, setGitCommits] = useState<any[]>([])\n\t\tconst [showDropdown, setShowDropdown] = useState(false)\n\t\tconst [fileSearchResults, setFileSearchResults] = useState<SearchResult[]>([])\n\t\tconst [searchLoading, setSearchLoading] = useState(false)\n\t\tconst [searchRequestId, setSearchRequestId] = useState<string>(\"\")\n\n\t\t// Close dropdown when clicking outside.\n\t\tuseEffect(() => {\n\t\t\tconst handleClickOutside = () => {\n\t\t\t\tif (showDropdown) {\n\t\t\t\t\tsetShowDropdown(false)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tdocument.addEventListener(\"mousedown\", handleClickOutside)\n\t\t\treturn () => document.removeEventListener(\"mousedown\", handleClickOutside)\n\t\t}, [showDropdown])\n\n\t\t// Handle enhanced prompt response and search results.\n\t\tuseEffect(() => {\n\t\t\tconst messageHandler = (event: MessageEvent) => {\n\t\t\t\tconst message = event.data\n\n\t\t\t\tif (message.type === \"enhancedPrompt\") {\n\t\t\t\t\tif (message.text && textAreaRef.current) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t// Use execCommand to replace text while preserving undo history\n\t\t\t\t\t\t\tif (document.execCommand) {\n\t\t\t\t\t\t\t\t// Use native browser methods to preserve undo stack\n\t\t\t\t\t\t\t\tconst textarea = textAreaRef.current\n\n\t\t\t\t\t\t\t\t// Focus the textarea to ensure it's the active element\n\t\t\t\t\t\t\t\ttextarea.focus()\n\n\t\t\t\t\t\t\t\t// Select all text first\n\t\t\t\t\t\t\t\ttextarea.select()\n\t\t\t\t\t\t\t\tdocument.execCommand(\"insertText\", false, message.text)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetInputValue(message.text)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tsetInputValue(message.text)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tsetIsEnhancingPrompt(false)\n\t\t\t\t} else if (message.type === \"insertTextIntoTextarea\") {\n\t\t\t\t\tif (message.text && textAreaRef.current) {\n\t\t\t\t\t\t// Insert the command text at the current cursor position\n\t\t\t\t\t\tconst textarea = textAreaRef.current\n\t\t\t\t\t\tconst currentValue = inputValue\n\t\t\t\t\t\tconst cursorPos = textarea.selectionStart || 0\n\n\t\t\t\t\t\t// Check if we need to add a space before the command\n\t\t\t\t\t\tconst textBefore = currentValue.slice(0, cursorPos)\n\t\t\t\t\t\tconst needsSpaceBefore = textBefore.length > 0 && !textBefore.endsWith(\" \")\n\t\t\t\t\t\tconst prefix = needsSpaceBefore ? \" \" : \"\"\n\n\t\t\t\t\t\t// Insert the text at cursor position\n\t\t\t\t\t\tconst newValue =\n\t\t\t\t\t\t\tcurrentValue.slice(0, cursorPos) +\n\t\t\t\t\t\t\tprefix +\n\t\t\t\t\t\t\tmessage.text +\n\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\tcurrentValue.slice(cursorPos)\n\t\t\t\t\t\tsetInputValue(newValue)\n\n\t\t\t\t\t\t// Set cursor position after the inserted text\n\t\t\t\t\t\tconst newCursorPos = cursorPos + prefix.length + message.text.length + 1\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tif (textAreaRef.current) {\n\t\t\t\t\t\t\t\ttextAreaRef.current.focus()\n\t\t\t\t\t\t\t\ttextAreaRef.current.setSelectionRange(newCursorPos, newCursorPos)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, 0)\n\t\t\t\t\t}\n\t\t\t\t} else if (message.type === \"commitSearchResults\") {\n\t\t\t\t\tconst commits = message.commits.map((commit: any) => ({\n\t\t\t\t\t\ttype: ContextMenuOptionType.Git,\n\t\t\t\t\t\tvalue: commit.hash,\n\t\t\t\t\t\tlabel: commit.subject,\n\t\t\t\t\t\tdescription: `${commit.shortHash} by ${commit.author} on ${commit.date}`,\n\t\t\t\t\t\ticon: \"$(git-commit)\",\n\t\t\t\t\t}))\n\n\t\t\t\t\tsetGitCommits(commits)\n\t\t\t\t} else if (message.type === \"fileSearchResults\") {\n\t\t\t\t\tsetSearchLoading(false)\n\t\t\t\t\tif (message.requestId === searchRequestId) {\n\t\t\t\t\t\tsetFileSearchResults(message.results || [])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twindow.addEventListener(\"message\", messageHandler)\n\t\t\treturn () => window.removeEventListener(\"message\", messageHandler)\n\t\t}, [setInputValue, searchRequestId, inputValue])\n\n\t\tconst [isDraggingOver, setIsDraggingOver] = useState(false)\n\t\tconst [textAreaBaseHeight, setTextAreaBaseHeight] = useState<number | undefined>(undefined)\n\t\tconst [showContextMenu, setShowContextMenu] = useState(false)\n\t\tconst [cursorPosition, setCursorPosition] = useState(0)\n\t\tconst [searchQuery, setSearchQuery] = useState(\"\")\n\t\tconst textAreaRef = useRef<HTMLTextAreaElement | null>(null)\n\t\tconst [isMouseDownOnMenu, setIsMouseDownOnMenu] = useState(false)\n\t\tconst highlightLayerRef = useRef<HTMLDivElement>(null)\n\t\tconst [selectedMenuIndex, setSelectedMenuIndex] = useState(-1)\n\t\tconst [selectedType, setSelectedType] = useState<ContextMenuOptionType | null>(null)\n\t\tconst [justDeletedSpaceAfterMention, setJustDeletedSpaceAfterMention] = useState(false)\n\t\tconst [intendedCursorPosition, setIntendedCursorPosition] = useState<number | null>(null)\n\t\tconst contextMenuContainerRef = useRef<HTMLDivElement>(null)\n\t\tconst [isEnhancingPrompt, setIsEnhancingPrompt] = useState(false)\n\t\tconst [isFocused, setIsFocused] = useState(false)\n\n\t\t// Use custom hook for prompt history navigation\n\t\tconst { handleHistoryNavigation, resetHistoryNavigation, resetOnInputChange } = usePromptHistory({\n\t\t\tclineMessages,\n\t\t\ttaskHistory,\n\t\t\tcwd,\n\t\t\tinputValue,\n\t\t\tsetInputValue,\n\t\t})\n\n\t\t// Fetch git commits when Git is selected or when typing a hash.\n\t\tuseEffect(() => {\n\t\t\tif (selectedType === ContextMenuOptionType.Git || /^[a-f0-9]+$/i.test(searchQuery)) {\n\t\t\t\tconst message: WebviewMessage = {\n\t\t\t\t\ttype: \"searchCommits\",\n\t\t\t\t\tquery: searchQuery || \"\",\n\t\t\t\t} as const\n\t\t\t\tvscode.postMessage(message)\n\t\t\t}\n\t\t}, [selectedType, searchQuery])\n\n\t\tconst handleEnhancePrompt = useCallback(() => {\n\t\t\tconst trimmedInput = inputValue.trim()\n\n\t\t\tif (trimmedInput) {\n\t\t\t\tsetIsEnhancingPrompt(true)\n\t\t\t\tvscode.postMessage({ type: \"enhancePrompt\" as const, text: trimmedInput })\n\t\t\t} else {\n\t\t\t\tsetInputValue(t(\"chat:enhancePromptDescription\"))\n\t\t\t}\n\t\t}, [inputValue, setInputValue, t])\n\n\t\tconst allModes = useMemo(() => getAllModes(customModes), [customModes])\n\n\t\tconst queryItems = useMemo(() => {\n\t\t\treturn [\n\t\t\t\t{ type: ContextMenuOptionType.Problems, value: \"problems\" },\n\t\t\t\t{ type: ContextMenuOptionType.Terminal, value: \"terminal\" },\n\t\t\t\t...gitCommits,\n\t\t\t\t...openedTabs\n\t\t\t\t\t.filter((tab) => tab.path)\n\t\t\t\t\t.map((tab) => ({\n\t\t\t\t\t\ttype: ContextMenuOptionType.OpenedFile,\n\t\t\t\t\t\tvalue: \"/\" + tab.path,\n\t\t\t\t\t})),\n\t\t\t\t...filePaths\n\t\t\t\t\t.map((file) => \"/\" + file)\n\t\t\t\t\t.filter((path) => !openedTabs.some((tab) => tab.path && \"/\" + tab.path === path)) // Filter out paths that are already in openedTabs\n\t\t\t\t\t.map((path) => ({\n\t\t\t\t\t\ttype: path.endsWith(\"/\") ? ContextMenuOptionType.Folder : ContextMenuOptionType.File,\n\t\t\t\t\t\tvalue: path,\n\t\t\t\t\t})),\n\t\t\t]\n\t\t}, [filePaths, gitCommits, openedTabs])\n\n\t\tuseEffect(() => {\n\t\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\t\tif (\n\t\t\t\t\tcontextMenuContainerRef.current &&\n\t\t\t\t\t!contextMenuContainerRef.current.contains(event.target as Node)\n\t\t\t\t) {\n\t\t\t\t\tsetShowContextMenu(false)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (showContextMenu) {\n\t\t\t\tdocument.addEventListener(\"mousedown\", handleClickOutside)\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"mousedown\", handleClickOutside)\n\t\t\t}\n\t\t}, [showContextMenu, setShowContextMenu])\n\n\t\tconst handleMentionSelect = useCallback(\n\t\t\t(type: ContextMenuOptionType, value?: string) => {\n\t\t\t\tif (type === ContextMenuOptionType.NoResults) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (type === ContextMenuOptionType.Mode && value) {\n\t\t\t\t\t// Handle mode selection.\n\t\t\t\t\tsetMode(value)\n\t\t\t\t\tsetInputValue(\"\")\n\t\t\t\t\tsetShowContextMenu(false)\n\t\t\t\t\tvscode.postMessage({ type: \"mode\", text: value })\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (type === ContextMenuOptionType.Command && value) {\n\t\t\t\t\t// Handle command selection.\n\t\t\t\t\tsetSelectedMenuIndex(-1)\n\t\t\t\t\tsetInputValue(\"\")\n\t\t\t\t\tsetShowContextMenu(false)\n\n\t\t\t\t\t// Insert the command mention into the textarea\n\t\t\t\t\tconst commandMention = `/${value}`\n\t\t\t\t\tsetInputValue(commandMention + \" \")\n\t\t\t\t\tsetCursorPosition(commandMention.length + 1)\n\t\t\t\t\tsetIntendedCursorPosition(commandMention.length + 1)\n\n\t\t\t\t\t// Focus the textarea\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (textAreaRef.current) {\n\t\t\t\t\t\t\ttextAreaRef.current.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0)\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\ttype === ContextMenuOptionType.File ||\n\t\t\t\t\ttype === ContextMenuOptionType.Folder ||\n\t\t\t\t\ttype === ContextMenuOptionType.Git\n\t\t\t\t) {\n\t\t\t\t\tif (!value) {\n\t\t\t\t\t\tsetSelectedType(type)\n\t\t\t\t\t\tsetSearchQuery(\"\")\n\t\t\t\t\t\tsetSelectedMenuIndex(0)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsetShowContextMenu(false)\n\t\t\t\tsetSelectedType(null)\n\n\t\t\t\tif (textAreaRef.current) {\n\t\t\t\t\tlet insertValue = value || \"\"\n\n\t\t\t\t\tif (type === ContextMenuOptionType.URL) {\n\t\t\t\t\t\tinsertValue = value || \"\"\n\t\t\t\t\t} else if (type === ContextMenuOptionType.File || type === ContextMenuOptionType.Folder) {\n\t\t\t\t\t\tinsertValue = value || \"\"\n\t\t\t\t\t} else if (type === ContextMenuOptionType.Problems) {\n\t\t\t\t\t\tinsertValue = \"problems\"\n\t\t\t\t\t} else if (type === ContextMenuOptionType.Terminal) {\n\t\t\t\t\t\tinsertValue = \"terminal\"\n\t\t\t\t\t} else if (type === ContextMenuOptionType.Git) {\n\t\t\t\t\t\tinsertValue = value || \"\"\n\t\t\t\t\t} else if (type === ContextMenuOptionType.Command) {\n\t\t\t\t\t\tinsertValue = value ? `/${value}` : \"\"\n\t\t\t\t\t}\n\n\t\t\t\t\t// Determine if this is a slash command selection\n\t\t\t\t\tconst isSlashCommand = type === ContextMenuOptionType.Mode || type === ContextMenuOptionType.Command\n\n\t\t\t\t\tconst { newValue, mentionIndex } = insertMention(\n\t\t\t\t\t\ttextAreaRef.current.value,\n\t\t\t\t\t\tcursorPosition,\n\t\t\t\t\t\tinsertValue,\n\t\t\t\t\t\tisSlashCommand,\n\t\t\t\t\t)\n\n\t\t\t\t\tsetInputValue(newValue)\n\t\t\t\t\tconst newCursorPosition = newValue.indexOf(\" \", mentionIndex + insertValue.length) + 1\n\t\t\t\t\tsetCursorPosition(newCursorPosition)\n\t\t\t\t\tsetIntendedCursorPosition(newCursorPosition)\n\n\t\t\t\t\t// Scroll to cursor.\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (textAreaRef.current) {\n\t\t\t\t\t\t\ttextAreaRef.current.blur()\n\t\t\t\t\t\t\ttextAreaRef.current.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0)\n\t\t\t\t}\n\t\t\t},\n\t\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t\t[setInputValue, cursorPosition],\n\t\t)\n\n\t\tconst handleKeyDown = useCallback(\n\t\t\t(event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n\t\t\t\tif (showContextMenu) {\n\t\t\t\t\tif (event.key === \"Escape\") {\n\t\t\t\t\t\tsetSelectedType(null)\n\t\t\t\t\t\tsetSelectedMenuIndex(3) // File by default\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tif (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tsetSelectedMenuIndex((prevIndex) => {\n\t\t\t\t\t\t\tconst direction = event.key === \"ArrowUp\" ? -1 : 1\n\t\t\t\t\t\t\tconst options = getContextMenuOptions(\n\t\t\t\t\t\t\t\tsearchQuery,\n\t\t\t\t\t\t\t\tselectedType,\n\t\t\t\t\t\t\t\tqueryItems,\n\t\t\t\t\t\t\t\tfileSearchResults,\n\t\t\t\t\t\t\t\tallModes,\n\t\t\t\t\t\t\t\tcommands,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tconst optionsLength = options.length\n\n\t\t\t\t\t\t\tif (optionsLength === 0) return prevIndex\n\n\t\t\t\t\t\t\t// Find selectable options (non-URL types)\n\t\t\t\t\t\t\tconst selectableOptions = options.filter(\n\t\t\t\t\t\t\t\t(option) =>\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.URL &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.NoResults &&\n\t\t\t\t\t\t\t\t\toption.type !== ContextMenuOptionType.SectionHeader,\n\t\t\t\t\t\t\t)\n\n\t\t\t\t\t\t\tif (selectableOptions.length === 0) return -1 // No selectable options\n\n\t\t\t\t\t\t\t// Find the index of the next selectable option\n\t\t\t\t\t\t\tconst currentSelectableIndex = selectableOptions.findIndex(\n\t\t\t\t\t\t\t\t(option) => option === options[prevIndex],\n\t\t\t\t\t\t\t)\n\n\t\t\t\t\t\t\tconst newSelectableIndex =\n\t\t\t\t\t\t\t\t(currentSelectableIndex + direction + selectableOptions.length) %\n\t\t\t\t\t\t\t\tselectableOptions.length\n\n\t\t\t\t\t\t\t// Find the index of the selected option in the original options array\n\t\t\t\t\t\t\treturn options.findIndex((option) => option === selectableOptions[newSelectableIndex])\n\t\t\t\t\t\t})\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif ((event.key === \"Enter\" || event.key === \"Tab\") && selectedMenuIndex !== -1) {\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\tconst selectedOption = getContextMenuOptions(\n\t\t\t\t\t\t\tsearchQuery,\n\t\t\t\t\t\t\tselectedType,\n\t\t\t\t\t\t\tqueryItems,\n\t\t\t\t\t\t\tfileSearchResults,\n\t\t\t\t\t\t\tallModes,\n\t\t\t\t\t\t\tcommands,\n\t\t\t\t\t\t)[selectedMenuIndex]\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tselectedOption &&\n\t\t\t\t\t\t\tselectedOption.type !== ContextMenuOptionType.URL &&\n\t\t\t\t\t\t\tselectedOption.type !== ContextMenuOptionType.NoResults &&\n\t\t\t\t\t\t\tselectedOption.type !== ContextMenuOptionType.SectionHeader\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thandleMentionSelect(selectedOption.type, selectedOption.value)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst isComposing = event.nativeEvent?.isComposing ?? false\n\n\t\t\t\t// Handle prompt history navigation using custom hook\n\t\t\t\tif (handleHistoryNavigation(event, showContextMenu, isComposing)) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (event.key === \"Enter\" && !event.shiftKey && !isComposing) {\n\t\t\t\t\tevent.preventDefault()\n\n\t\t\t\t\t// Always call onSend - let ChatView handle queueing when disabled\n\t\t\t\t\tresetHistoryNavigation()\n\t\t\t\t\tonSend()\n\t\t\t\t}\n\n\t\t\t\tif (event.key === \"Backspace\" && !isComposing) {\n\t\t\t\t\tconst charBeforeCursor = inputValue[cursorPosition - 1]\n\t\t\t\t\tconst charAfterCursor = inputValue[cursorPosition + 1]\n\n\t\t\t\t\tconst charBeforeIsWhitespace =\n\t\t\t\t\t\tcharBeforeCursor === \" \" || charBeforeCursor === \"\\n\" || charBeforeCursor === \"\\r\\n\"\n\n\t\t\t\t\tconst charAfterIsWhitespace =\n\t\t\t\t\t\tcharAfterCursor === \" \" || charAfterCursor === \"\\n\" || charAfterCursor === \"\\r\\n\"\n\n\t\t\t\t\t// Checks if char before cusor is whitespace after a mention.\n\t\t\t\t\tif (\n\t\t\t\t\t\tcharBeforeIsWhitespace &&\n\t\t\t\t\t\t// \"$\" is added to ensure the match occurs at the end of the string.\n\t\t\t\t\t\tinputValue.slice(0, cursorPosition - 1).match(new RegExp(mentionRegex.source + \"$\"))\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst newCursorPosition = cursorPosition - 1\n\t\t\t\t\t\t// If mention is followed by another word, then instead\n\t\t\t\t\t\t// of deleting the space separating them we just move\n\t\t\t\t\t\t// the cursor to the end of the mention.\n\t\t\t\t\t\tif (!charAfterIsWhitespace) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\ttextAreaRef.current?.setSelectionRange(newCursorPosition, newCursorPosition)\n\t\t\t\t\t\t\tsetCursorPosition(newCursorPosition)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetCursorPosition(newCursorPosition)\n\t\t\t\t\t\tsetJustDeletedSpaceAfterMention(true)\n\t\t\t\t\t} else if (justDeletedSpaceAfterMention) {\n\t\t\t\t\t\tconst { newText, newPosition } = removeMention(inputValue, cursorPosition)\n\n\t\t\t\t\t\tif (newText !== inputValue) {\n\t\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t\t\tsetInputValue(newText)\n\t\t\t\t\t\t\tsetIntendedCursorPosition(newPosition) // Store the new cursor position in state\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetJustDeletedSpaceAfterMention(false)\n\t\t\t\t\t\tsetShowContextMenu(false)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetJustDeletedSpaceAfterMention(false)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tonSend,\n\t\t\t\tshowContextMenu,\n\t\t\t\tsearchQuery,\n\t\t\t\tselectedMenuIndex,\n\t\t\t\thandleMentionSelect,\n\t\t\t\tselectedType,\n\t\t\t\tinputValue,\n\t\t\t\tcursorPosition,\n\t\t\t\tsetInputValue,\n\t\t\t\tjustDeletedSpaceAfterMention,\n\t\t\t\tqueryItems,\n\t\t\t\tallModes,\n\t\t\t\tfileSearchResults,\n\t\t\t\thandleHistoryNavigation,\n\t\t\t\tresetHistoryNavigation,\n\t\t\t\tcommands,\n\t\t\t],\n\t\t)\n\n\t\tuseLayoutEffect(() => {\n\t\t\tif (intendedCursorPosition !== null && textAreaRef.current) {\n\t\t\t\ttextAreaRef.current.setSelectionRange(intendedCursorPosition, intendedCursorPosition)\n\t\t\t\tsetIntendedCursorPosition(null) // Reset the state.\n\t\t\t}\n\t\t}, [inputValue, intendedCursorPosition])\n\n\t\t// Ref to store the search timeout.\n\t\tconst searchTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n\t\tconst handleInputChange = useCallback(\n\t\t\t(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\t\t\tconst newValue = e.target.value\n\t\t\t\tsetInputValue(newValue)\n\n\t\t\t\t// Reset history navigation when user types\n\t\t\t\tresetOnInputChange()\n\n\t\t\t\tconst newCursorPosition = e.target.selectionStart\n\t\t\t\tsetCursorPosition(newCursorPosition)\n\n\t\t\t\tconst showMenu = shouldShowContextMenu(newValue, newCursorPosition)\n\t\t\t\tsetShowContextMenu(showMenu)\n\n\t\t\t\tif (showMenu) {\n\t\t\t\t\tif (newValue.startsWith(\"/\") && !newValue.includes(\" \")) {\n\t\t\t\t\t\t// Handle slash command - request fresh commands\n\t\t\t\t\t\tconst query = newValue\n\t\t\t\t\t\tsetSearchQuery(query)\n\t\t\t\t\t\t// Set to first selectable item (skip section headers)\n\t\t\t\t\t\tsetSelectedMenuIndex(1) // Section header is at 0, first command is at 1\n\t\t\t\t\t\t// Request commands fresh each time slash menu is shown\n\t\t\t\t\t\tvscode.postMessage({ type: \"requestCommands\" })\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Existing @ mention handling.\n\t\t\t\t\t\tconst lastAtIndex = newValue.lastIndexOf(\"@\", newCursorPosition - 1)\n\t\t\t\t\t\tconst query = newValue.slice(lastAtIndex + 1, newCursorPosition)\n\t\t\t\t\t\tsetSearchQuery(query)\n\n\t\t\t\t\t\t// Send file search request if query is not empty.\n\t\t\t\t\t\tif (query.length > 0) {\n\t\t\t\t\t\t\tsetSelectedMenuIndex(0)\n\n\t\t\t\t\t\t\t// Don't clear results until we have new ones. This\n\t\t\t\t\t\t\t// prevents flickering.\n\n\t\t\t\t\t\t\t// Clear any existing timeout.\n\t\t\t\t\t\t\tif (searchTimeoutRef.current) {\n\t\t\t\t\t\t\t\tclearTimeout(searchTimeoutRef.current)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Set a timeout to debounce the search requests.\n\t\t\t\t\t\t\tsearchTimeoutRef.current = setTimeout(() => {\n\t\t\t\t\t\t\t\t// Generate a request ID for this search.\n\t\t\t\t\t\t\t\tconst reqId = Math.random().toString(36).substring(2, 9)\n\t\t\t\t\t\t\t\tsetSearchRequestId(reqId)\n\t\t\t\t\t\t\t\tsetSearchLoading(true)\n\n\t\t\t\t\t\t\t\t// Send message to extension to search files.\n\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\ttype: \"searchFiles\",\n\t\t\t\t\t\t\t\t\tquery: unescapeSpaces(query),\n\t\t\t\t\t\t\t\t\trequestId: reqId,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, 200) // 200ms debounce.\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetSelectedMenuIndex(3) // Set to \"File\" option by default.\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetSearchQuery(\"\")\n\t\t\t\t\tsetSelectedMenuIndex(-1)\n\t\t\t\t\tsetFileSearchResults([]) // Clear file search results.\n\t\t\t\t}\n\t\t\t},\n\t\t\t[setInputValue, setSearchRequestId, setFileSearchResults, setSearchLoading, resetOnInputChange],\n\t\t)\n\n\t\tuseEffect(() => {\n\t\t\tif (!showContextMenu) {\n\t\t\t\tsetSelectedType(null)\n\t\t\t}\n\t\t}, [showContextMenu])\n\n\t\tconst handleBlur = useCallback(() => {\n\t\t\t// Only hide the context menu if the user didn't click on it.\n\t\t\tif (!isMouseDownOnMenu) {\n\t\t\t\tsetShowContextMenu(false)\n\t\t\t}\n\n\t\t\tsetIsFocused(false)\n\t\t}, [isMouseDownOnMenu])\n\n\t\tconst handlePaste = useCallback(\n\t\t\tasync (e: React.ClipboardEvent) => {\n\t\t\t\tconst items = e.clipboardData.items\n\n\t\t\t\tconst pastedText = e.clipboardData.getData(\"text\")\n\t\t\t\t// Check if the pasted content is a URL, add space after so user\n\t\t\t\t// can easily delete if they don't want it.\n\t\t\t\tconst urlRegex = /^\\S+:\\/\\/\\S+$/\n\t\t\t\tif (urlRegex.test(pastedText.trim())) {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tconst trimmedUrl = pastedText.trim()\n\t\t\t\t\tconst newValue =\n\t\t\t\t\t\tinputValue.slice(0, cursorPosition) + trimmedUrl + \" \" + inputValue.slice(cursorPosition)\n\t\t\t\t\tsetInputValue(newValue)\n\t\t\t\t\tconst newCursorPosition = cursorPosition + trimmedUrl.length + 1\n\t\t\t\t\tsetCursorPosition(newCursorPosition)\n\t\t\t\t\tsetIntendedCursorPosition(newCursorPosition)\n\t\t\t\t\tsetShowContextMenu(false)\n\n\t\t\t\t\t// Scroll to new cursor position.\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (textAreaRef.current) {\n\t\t\t\t\t\t\ttextAreaRef.current.blur()\n\t\t\t\t\t\t\ttextAreaRef.current.focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0)\n\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst acceptedTypes = [\"png\", \"jpeg\", \"webp\"]\n\n\t\t\t\tconst imageItems = Array.from(items).filter((item) => {\n\t\t\t\t\tconst [type, subtype] = item.type.split(\"/\")\n\t\t\t\t\treturn type === \"image\" && acceptedTypes.includes(subtype)\n\t\t\t\t})\n\n\t\t\t\tif (!shouldDisableImages && imageItems.length > 0) {\n\t\t\t\t\te.preventDefault()\n\n\t\t\t\t\tconst imagePromises = imageItems.map((item) => {\n\t\t\t\t\t\treturn new Promise<string | null>((resolve) => {\n\t\t\t\t\t\t\tconst blob = item.getAsFile()\n\n\t\t\t\t\t\t\tif (!blob) {\n\t\t\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst reader = new FileReader()\n\n\t\t\t\t\t\t\treader.onloadend = () => {\n\t\t\t\t\t\t\t\tif (reader.error) {\n\t\t\t\t\t\t\t\t\tconsole.error(t(\"chat:errorReadingFile\"), reader.error)\n\t\t\t\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst result = reader.result\n\t\t\t\t\t\t\t\t\tresolve(typeof result === \"string\" ? result : null)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treader.readAsDataURL(blob)\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\n\t\t\t\t\tconst imageDataArray = await Promise.all(imagePromises)\n\t\t\t\t\tconst dataUrls = imageDataArray.filter((dataUrl): dataUrl is string => dataUrl !== null)\n\n\t\t\t\t\tif (dataUrls.length > 0) {\n\t\t\t\t\t\tsetSelectedImages((prevImages) => [...prevImages, ...dataUrls].slice(0, MAX_IMAGES_PER_MESSAGE))\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.warn(t(\"chat:noValidImages\"))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[shouldDisableImages, setSelectedImages, cursorPosition, setInputValue, inputValue, t],\n\t\t)\n\n\t\tconst handleMenuMouseDown = useCallback(() => {\n\t\t\tsetIsMouseDownOnMenu(true)\n\t\t}, [])\n\n\t\tconst updateHighlights = useCallback(() => {\n\t\t\tif (!textAreaRef.current || !highlightLayerRef.current) return\n\n\t\t\tconst text = textAreaRef.current.value\n\n\t\t\t// Helper function to check if a command is valid\n\t\t\tconst isValidCommand = (commandName: string): boolean => {\n\t\t\t\treturn commands?.some((cmd) => cmd.name === commandName) || false\n\t\t\t}\n\n\t\t\t// Process the text to highlight mentions and valid commands\n\t\t\tlet processedText = text\n\t\t\t\t.replace(/\\n$/, \"\\n\\n\")\n\t\t\t\t.replace(/[<>&]/g, (c) => ({ \"<\": \"<\", \">\": \">\", \"&\": \"&\" })[c] || c)\n\t\t\t\t.replace(mentionRegexGlobal, '<mark class=\"mention-context-textarea-highlight\">$&</mark>')\n\n\t\t\t// Custom replacement for commands - only highlight valid ones\n\t\t\tprocessedText = processedText.replace(commandRegexGlobal, (match, commandName) => {\n\t\t\t\t// Only highlight if the command exists in the valid commands list\n\t\t\t\tif (isValidCommand(commandName)) {\n\t\t\t\t\t// Check if the match starts with a space\n\t\t\t\t\tconst startsWithSpace = match.startsWith(\" \")\n\t\t\t\t\tconst commandPart = `/${commandName}`\n\n\t\t\t\t\tif (startsWithSpace) {\n\t\t\t\t\t\t// Keep the space but only highlight the command part\n\t\t\t\t\t\treturn ` <mark class=\"mention-context-textarea-highlight\">${commandPart}</mark>`\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Highlight the entire command (starts at beginning of line)\n\t\t\t\t\t\treturn `<mark class=\"mention-context-textarea-highlight\">${commandPart}</mark>`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn match // Return unhighlighted if command is not valid\n\t\t\t})\n\n\t\t\thighlightLayerRef.current.innerHTML = processedText\n\n\t\t\thighlightLayerRef.current.scrollTop = textAreaRef.current.scrollTop\n\t\t\thighlightLayerRef.current.scrollLeft = textAreaRef.current.scrollLeft\n\t\t}, [commands])\n\n\t\tuseLayoutEffect(() => {\n\t\t\tupdateHighlights()\n\t\t}, [inputValue, updateHighlights])\n\n\t\tconst updateCursorPosition = useCallback(() => {\n\t\t\tif (textAreaRef.current) {\n\t\t\t\tsetCursorPosition(textAreaRef.current.selectionStart)\n\t\t\t}\n\t\t}, [])\n\n\t\tconst handleKeyUp = useCallback(\n\t\t\t(e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n\t\t\t\tif ([\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(e.key)) {\n\t\t\t\t\tupdateCursorPosition()\n\t\t\t\t}\n\t\t\t},\n\t\t\t[updateCursorPosition],\n\t\t)\n\n\t\tconst handleDrop = useCallback(\n\t\t\tasync (e: React.DragEvent<HTMLDivElement>) => {\n\t\t\t\te.preventDefault()\n\t\t\t\tsetIsDraggingOver(false)\n\n\t\t\t\tconst textFieldList = e.dataTransfer.getData(\"text\")\n\t\t\t\tconst textUriList = e.dataTransfer.getData(\"application/vnd.code.uri-list\")\n\t\t\t\t// When textFieldList is empty, it may attempt to use textUriList obtained from drag-and-drop tabs; if not empty, it will use textFieldList.\n\t\t\t\tconst text = textFieldList || textUriList\n\t\t\t\tif (text) {\n\t\t\t\t\t// Split text on newlines to handle multiple files\n\t\t\t\t\tconst lines = text.split(/\\r?\\n/).filter((line) => line.trim() !== \"\")\n\n\t\t\t\t\tif (lines.length > 0) {\n\t\t\t\t\t\t// Process each line as a separate file path\n\t\t\t\t\t\tlet newValue = inputValue.slice(0, cursorPosition)\n\t\t\t\t\t\tlet totalLength = 0\n\n\t\t\t\t\t\t// Using a standard for loop instead of forEach for potential performance gains.\n\t\t\t\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\t\t\t\tconst line = lines[i]\n\t\t\t\t\t\t\t// Convert each path to a mention-friendly format\n\t\t\t\t\t\t\tconst mentionText = convertToMentionPath(line, cwd)\n\t\t\t\t\t\t\tnewValue += mentionText\n\t\t\t\t\t\t\ttotalLength += mentionText.length\n\n\t\t\t\t\t\t\t// Add space after each mention except the last one\n\t\t\t\t\t\t\tif (i < lines.length - 1) {\n\t\t\t\t\t\t\t\tnewValue += \" \"\n\t\t\t\t\t\t\t\ttotalLength += 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Add space after the last mention and append the rest of the input\n\t\t\t\t\t\tnewValue += \" \" + inputValue.slice(cursorPosition)\n\t\t\t\t\t\ttotalLength += 1\n\n\t\t\t\t\t\tsetInputValue(newValue)\n\t\t\t\t\t\tconst newCursorPosition = cursorPosition + totalLength\n\t\t\t\t\t\tsetCursorPosition(newCursorPosition)\n\t\t\t\t\t\tsetIntendedCursorPosition(newCursorPosition)\n\t\t\t\t\t}\n\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst files = Array.from(e.dataTransfer.files)\n\n\t\t\t\tif (files.length > 0) {\n\t\t\t\t\tconst acceptedTypes = [\"png\", \"jpeg\", \"webp\"]\n\n\t\t\t\t\tconst imageFiles = files.filter((file) => {\n\t\t\t\t\t\tconst [type, subtype] = file.type.split(\"/\")\n\t\t\t\t\t\treturn type === \"image\" && acceptedTypes.includes(subtype)\n\t\t\t\t\t})\n\n\t\t\t\t\tif (!shouldDisableImages && imageFiles.length > 0) {\n\t\t\t\t\t\tconst imagePromises = imageFiles.map((file) => {\n\t\t\t\t\t\t\treturn new Promise<string | null>((resolve) => {\n\t\t\t\t\t\t\t\tconst reader = new FileReader()\n\n\t\t\t\t\t\t\t\treader.onloadend = () => {\n\t\t\t\t\t\t\t\t\tif (reader.error) {\n\t\t\t\t\t\t\t\t\t\tconsole.error(t(\"chat:errorReadingFile\"), reader.error)\n\t\t\t\t\t\t\t\t\t\tresolve(null)\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tconst result = reader.result\n\t\t\t\t\t\t\t\t\t\tresolve(typeof result === \"string\" ? result : null)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treader.readAsDataURL(file)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\tconst imageDataArray = await Promise.all(imagePromises)\n\t\t\t\t\t\tconst dataUrls = imageDataArray.filter((dataUrl): dataUrl is string => dataUrl !== null)\n\n\t\t\t\t\t\tif (dataUrls.length > 0) {\n\t\t\t\t\t\t\tsetSelectedImages((prevImages) =>\n\t\t\t\t\t\t\t\t[...prevImages, ...dataUrls].slice(0, MAX_IMAGES_PER_MESSAGE),\n\t\t\t\t\t\t\t)\n\n\t\t\t\t\t\t\tif (typeof vscode !== \"undefined\") {\n\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"draggedImages\", dataUrls: dataUrls })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.warn(t(\"chat:noValidImages\"))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tcursorPosition,\n\t\t\t\tcwd,\n\t\t\t\tinputValue,\n\t\t\t\tsetInputValue,\n\t\t\t\tsetCursorPosition,\n\t\t\t\tsetIntendedCursorPosition,\n\t\t\t\tshouldDisableImages,\n\t\t\t\tsetSelectedImages,\n\t\t\t\tt,\n\t\t\t],\n\t\t)\n\n\t\tconst [isTtsPlaying, setIsTtsPlaying] = useState(false)\n\n\t\tuseEvent(\"message\", (event: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = event.data\n\n\t\t\tif (message.type === \"ttsStart\") {\n\t\t\t\tsetIsTtsPlaying(true)\n\t\t\t} else if (message.type === \"ttsStop\") {\n\t\t\t\tsetIsTtsPlaying(false)\n\t\t\t}\n\t\t})\n\n\t\tconst placeholderBottomText = `\\n(${t(\"chat:addContext\")}${shouldDisableImages ? `, ${t(\"chat:dragFiles\")}` : `, ${t(\"chat:dragFilesImages\")}`})`\n\n\t\t// Common mode selector handler\n\t\tconst handleModeChange = useCallback(\n\t\t\t(value: Mode) => {\n\t\t\t\tsetMode(value)\n\t\t\t\tvscode.postMessage({ type: \"mode\", text: value })\n\t\t\t},\n\t\t\t[setMode],\n\t\t)\n\n\t\t// Helper function to render mode selector\n\t\tconst renderModeSelector = () => (\n\t\t\t<ModeSelector\n\t\t\t\tvalue={mode}\n\t\t\t\ttitle={t(\"chat:selectMode\")}\n\t\t\t\tonChange={handleModeChange}\n\t\t\t\ttriggerClassName=\"w-full\"\n\t\t\t\tmodeShortcutText={modeShortcutText}\n\t\t\t\tcustomModes={customModes}\n\t\t\t\tcustomModePrompts={customModePrompts}\n\t\t\t/>\n\t\t)\n\n\t\t// Helper function to handle API config change\n\t\tconst handleApiConfigChange = useCallback((value: string) => {\n\t\t\tvscode.postMessage({ type: \"loadApiConfigurationById\", text: value })\n\t\t}, [])\n\n\t\t// Helper function to render non-edit mode controls\n\t\tconst renderNonEditModeControls = () => (\n\t\t\t<div className={cn(\"flex\", \"justify-between\", \"items-center\", \"mt-auto\")}>\n\t\t\t\t<div className={cn(\"flex\", \"items-center\", \"gap-1\", \"min-w-0\")}>\n\t\t\t\t\t<div className=\"shrink-0\">{renderModeSelector()}</div>\n\n\t\t\t\t\t<div className={cn(\"flex-1\", \"min-w-0\", \"overflow-hidden\")}>\n\t\t\t\t\t\t<ApiConfigSelector\n\t\t\t\t\t\t\tvalue={currentConfigId}\n\t\t\t\t\t\t\tdisplayName={displayName}\n\t\t\t\t\t\t\tdisabled={selectApiConfigDisabled}\n\t\t\t\t\t\t\ttitle={t(\"chat:selectApiConfig\")}\n\t\t\t\t\t\t\tonChange={handleApiConfigChange}\n\t\t\t\t\t\t\ttriggerClassName=\"w-full text-ellipsis overflow-hidden\"\n\t\t\t\t\t\t\tlistApiConfigMeta={listApiConfigMeta || []}\n\t\t\t\t\t\t\tpinnedApiConfigs={pinnedApiConfigs}\n\t\t\t\t\t\t\ttogglePinnedApiConfig={togglePinnedApiConfig}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className={cn(\"flex\", \"items-center\", \"gap-0.5\", \"shrink-0\")}>\n\t\t\t\t\t{isTtsPlaying && (\n\t\t\t\t\t\t<StandardTooltip content={t(\"chat:stopTts\")}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\taria-label={t(\"chat:stopTts\")}\n\t\t\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"stopTts\" })}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\t\t\t\"text-vscode-foreground opacity-85\",\n\t\t\t\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\t\t\t\"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t<VolumeX className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t)}\n\t\t\t\t\t<SlashCommandsPopover />\n\t\t\t\t\t<IndexingStatusBadge />\n\t\t\t\t\t<StandardTooltip content={t(\"chat:addImages\")}>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={t(\"chat:addImages\")}\n\t\t\t\t\t\t\tdisabled={shouldDisableImages}\n\t\t\t\t\t\t\tonClick={!shouldDisableImages ? onSelectImages : undefined}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\t\t\"text-vscode-foreground opacity-85\",\n\t\t\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\t\t\"hover:opacity-100 hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\t\t!shouldDisableImages && \"cursor-pointer\",\n\t\t\t\t\t\t\t\tshouldDisableImages &&\n\t\t\t\t\t\t\t\t\t\"opacity-40 cursor-not-allowed grayscale-[30%] hover:bg-transparent hover:border-[rgba(255,255,255,0.08)] active:bg-transparent\",\n\t\t\t\t\t\t\t\t\"mr-1\",\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t<Image className=\"w-4 h-4\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t)\n\n\t\t// Helper function to render the text area section\n\t\tconst renderTextAreaSection = () => (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"flex-1\",\n\t\t\t\t\t\"flex\",\n\t\t\t\t\t\"flex-col-reverse\",\n\t\t\t\t\t\"min-h-0\",\n\t\t\t\t\t\"overflow-hidden\",\n\t\t\t\t\t\"rounded\",\n\t\t\t\t)}>\n\t\t\t\t<div\n\t\t\t\t\tref={highlightLayerRef}\n\t\t\t\t\tdata-testid=\"highlight-layer\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\"inset-0\",\n\t\t\t\t\t\t\"pointer-events-none\",\n\t\t\t\t\t\t\"whitespace-pre-wrap\",\n\t\t\t\t\t\t\"break-words\",\n\t\t\t\t\t\t\"text-transparent\",\n\t\t\t\t\t\t\"overflow-hidden\",\n\t\t\t\t\t\t\"font-vscode-font-family\",\n\t\t\t\t\t\t\"text-vscode-editor-font-size\",\n\t\t\t\t\t\t\"leading-vscode-editor-line-height\",\n\t\t\t\t\t\tisFocused\n\t\t\t\t\t\t\t? \"border border-vscode-focusBorder outline outline-vscode-focusBorder\"\n\t\t\t\t\t\t\t: isDraggingOver\n\t\t\t\t\t\t\t\t? \"border-2 border-dashed border-vscode-focusBorder\"\n\t\t\t\t\t\t\t\t: \"border border-transparent\",\n\t\t\t\t\t\tisEditMode ? \"pt-1.5 pb-10 px-2\" : \"py-1.5 px-2\",\n\t\t\t\t\t\t\"px-[8px]\",\n\t\t\t\t\t\t\"pr-9\",\n\t\t\t\t\t\t\"z-10\",\n\t\t\t\t\t\t\"forced-color-adjust-none\",\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tcolor: \"transparent\",\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<DynamicTextArea\n\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\tif (typeof ref === \"function\") {\n\t\t\t\t\t\t\tref(el)\n\t\t\t\t\t\t} else if (ref) {\n\t\t\t\t\t\t\tref.current = el\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttextAreaRef.current = el\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\thandleInputChange(e)\n\t\t\t\t\t\tupdateHighlights()\n\t\t\t\t\t}}\n\t\t\t\t\tonFocus={() => setIsFocused(true)}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\tonKeyUp={handleKeyUp}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\tonSelect={updateCursorPosition}\n\t\t\t\t\tonMouseUp={updateCursorPosition}\n\t\t\t\t\tonHeightChange={(height) => {\n\t\t\t\t\t\tif (textAreaBaseHeight === undefined || height < textAreaBaseHeight) {\n\t\t\t\t\t\t\tsetTextAreaBaseHeight(height)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonHeightChange?.(height)\n\t\t\t\t\t}}\n\t\t\t\t\tplaceholder={placeholderText}\n\t\t\t\t\tminRows={3}\n\t\t\t\t\tmaxRows={15}\n\t\t\t\t\tautoFocus={true}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"w-full\",\n\t\t\t\t\t\t\"text-vscode-input-foreground\",\n\t\t\t\t\t\t\"font-vscode-font-family\",\n\t\t\t\t\t\t\"text-vscode-editor-font-size\",\n\t\t\t\t\t\t\"leading-vscode-editor-line-height\",\n\t\t\t\t\t\t\"cursor-text\",\n\t\t\t\t\t\tisEditMode ? \"pt-1.5 pb-10 px-2\" : \"py-1.5 px-2\",\n\t\t\t\t\t\tisFocused\n\t\t\t\t\t\t\t? \"border border-vscode-focusBorder outline outline-vscode-focusBorder\"\n\t\t\t\t\t\t\t: isDraggingOver\n\t\t\t\t\t\t\t\t? \"border-2 border-dashed border-vscode-focusBorder\"\n\t\t\t\t\t\t\t\t: \"border border-transparent\",\n\t\t\t\t\t\tisDraggingOver\n\t\t\t\t\t\t\t? \"bg-[color-mix(in_srgb,var(--vscode-input-background)_95%,var(--vscode-focusBorder))]\"\n\t\t\t\t\t\t\t: \"bg-vscode-input-background\",\n\t\t\t\t\t\t\"transition-background-color duration-150 ease-in-out\",\n\t\t\t\t\t\t\"will-change-background-color\",\n\t\t\t\t\t\t\"min-h-[90px]\",\n\t\t\t\t\t\t\"box-border\",\n\t\t\t\t\t\t\"rounded\",\n\t\t\t\t\t\t\"resize-none\",\n\t\t\t\t\t\t\"overflow-x-hidden\",\n\t\t\t\t\t\t\"overflow-y-auto\",\n\t\t\t\t\t\t\"pr-9\",\n\t\t\t\t\t\t\"flex-none flex-grow\",\n\t\t\t\t\t\t\"z-[2]\",\n\t\t\t\t\t\t\"scrollbar-none\",\n\t\t\t\t\t\t\"scrollbar-hide\",\n\t\t\t\t\t)}\n\t\t\t\t\tonScroll={() => updateHighlights()}\n\t\t\t\t/>\n\n\t\t\t\t<div className=\"absolute top-1 right-1 z-30\">\n\t\t\t\t\t<StandardTooltip content={t(\"chat:enhancePrompt\")}>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\taria-label={t(\"chat:enhancePrompt\")}\n\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\tonClick={handleEnhancePrompt}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\t\t\"opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground\",\n\t\t\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\t\t\"hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t<WandSparkles className={cn(\"w-4 h-4\", isEnhancingPrompt && \"animate-spin\")} />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\n\t\t\t\t{!isEditMode && (\n\t\t\t\t\t<div className=\"absolute bottom-1 right-1 z-30\">\n\t\t\t\t\t\t<StandardTooltip content={t(\"chat:sendMessage\")}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\taria-label={t(\"chat:sendMessage\")}\n\t\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\t\tonClick={onSend}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"relative inline-flex items-center justify-center\",\n\t\t\t\t\t\t\t\t\t\"bg-transparent border-none p-1.5\",\n\t\t\t\t\t\t\t\t\t\"rounded-md min-w-[28px] min-h-[28px]\",\n\t\t\t\t\t\t\t\t\t\"opacity-60 hover:opacity-100 text-vscode-descriptionForeground hover:text-vscode-foreground\",\n\t\t\t\t\t\t\t\t\t\"transition-all duration-150\",\n\t\t\t\t\t\t\t\t\t\"hover:bg-[rgba(255,255,255,0.03)] hover:border-[rgba(255,255,255,0.15)]\",\n\t\t\t\t\t\t\t\t\t\"focus:outline-none focus-visible:ring-1 focus-visible:ring-vscode-focusBorder\",\n\t\t\t\t\t\t\t\t\t\"active:bg-[rgba(255,255,255,0.1)]\",\n\t\t\t\t\t\t\t\t\t\"cursor-pointer\",\n\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t<SendHorizontal className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!inputValue && !isEditMode && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"absolute left-2 z-30 pr-9 flex items-center h-8 font-vscode-font-family text-vscode-editor-font-size leading-vscode-editor-line-height\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tbottom: \"0.25rem\",\n\t\t\t\t\t\t\tcolor: \"color-mix(in oklab, var(--vscode-input-foreground) 50%, transparent)\",\n\t\t\t\t\t\t\tuserSelect: \"none\",\n\t\t\t\t\t\t\tpointerEvents: \"none\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{placeholderBottomText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative\",\n\t\t\t\t\t\"flex\",\n\t\t\t\t\t\"flex-col\",\n\t\t\t\t\t\"gap-1\",\n\t\t\t\t\t\"bg-editor-background\",\n\t\t\t\t\tisEditMode ? \"px-0\" : \"px-1.5\",\n\t\t\t\t\t\"pb-1\",\n\t\t\t\t\t\"outline-none\",\n\t\t\t\t\t\"border\",\n\t\t\t\t\t\"border-none\",\n\t\t\t\t\tisEditMode ? \"w-full\" : \"w-[calc(100%-16px)]\",\n\t\t\t\t\t\"ml-auto\",\n\t\t\t\t\t\"mr-auto\",\n\t\t\t\t\t\"box-border\",\n\t\t\t\t)}>\n\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\"chat-text-area\", \"relative\", \"flex\", \"flex-col\", \"outline-none\")}\n\t\t\t\t\t\tonDrop={handleDrop}\n\t\t\t\t\t\tonDragOver={(e) => {\n\t\t\t\t\t\t\t// Only allowed to drop images/files on shift key pressed.\n\t\t\t\t\t\t\tif (!e.shiftKey) {\n\t\t\t\t\t\t\t\tsetIsDraggingOver(false)\n\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tsetIsDraggingOver(true)\n\t\t\t\t\t\t\te.dataTransfer.dropEffect = \"copy\"\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonDragLeave={(e) => {\n\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\tconst rect = e.currentTarget.getBoundingClientRect()\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\te.clientX <= rect.left ||\n\t\t\t\t\t\t\t\te.clientX >= rect.right ||\n\t\t\t\t\t\t\t\te.clientY <= rect.top ||\n\t\t\t\t\t\t\t\te.clientY >= rect.bottom\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tsetIsDraggingOver(false)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{showContextMenu && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tref={contextMenuContainerRef}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"absolute\",\n\t\t\t\t\t\t\t\t\t\"bottom-full\",\n\t\t\t\t\t\t\t\t\t\"left-0\",\n\t\t\t\t\t\t\t\t\t\"right-0\",\n\t\t\t\t\t\t\t\t\t\"z-[1000]\",\n\t\t\t\t\t\t\t\t\t\"mb-2\",\n\t\t\t\t\t\t\t\t\t\"filter\",\n\t\t\t\t\t\t\t\t\t\"drop-shadow-md\",\n\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t<ContextMenu\n\t\t\t\t\t\t\t\t\tonSelect={handleMentionSelect}\n\t\t\t\t\t\t\t\t\tsearchQuery={searchQuery}\n\t\t\t\t\t\t\t\t\tinputValue={inputValue}\n\t\t\t\t\t\t\t\t\tonMouseDown={handleMenuMouseDown}\n\t\t\t\t\t\t\t\t\tselectedIndex={selectedMenuIndex}\n\t\t\t\t\t\t\t\t\tsetSelectedIndex={setSelectedMenuIndex}\n\t\t\t\t\t\t\t\t\tselectedType={selectedType}\n\t\t\t\t\t\t\t\t\tqueryItems={queryItems}\n\t\t\t\t\t\t\t\t\tmodes={allModes}\n\t\t\t\t\t\t\t\t\tloading={searchLoading}\n\t\t\t\t\t\t\t\t\tdynamicSearchResults={fileSearchResults}\n\t\t\t\t\t\t\t\t\tcommands={commands}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{renderTextAreaSection()}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{isEditMode && (\n\t\t\t\t\t\t<EditModeControls\n\t\t\t\t\t\t\tmode={mode}\n\t\t\t\t\t\t\tonModeChange={handleModeChange}\n\t\t\t\t\t\t\tmodeShortcutText={modeShortcutText}\n\t\t\t\t\t\t\tcustomModes={customModes}\n\t\t\t\t\t\t\tcustomModePrompts={customModePrompts}\n\t\t\t\t\t\t\tonCancel={onCancel}\n\t\t\t\t\t\t\tonSend={onSend}\n\t\t\t\t\t\t\tonSelectImages={onSelectImages}\n\t\t\t\t\t\t\tsendingDisabled={sendingDisabled}\n\t\t\t\t\t\t\tshouldDisableImages={shouldDisableImages}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{selectedImages.length > 0 && (\n\t\t\t\t\t<Thumbnails\n\t\t\t\t\t\timages={selectedImages}\n\t\t\t\t\t\tsetImages={setSelectedImages}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tleft: \"16px\",\n\t\t\t\t\t\t\tzIndex: 2,\n\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{!isEditMode && renderNonEditModeControls()}\n\t\t\t</div>\n\t\t)\n\t},\n)\n\nexport default ChatTextArea\n", + "import { cn } from \"@/lib/utils\"\n\nimport { CODE_BLOCK_BG_COLOR } from \"./CodeBlock\"\n\nexport const ToolUseBlock = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div\n\t\tclassName={cn(\"overflow-hidden border border-vscode-border rounded-xs p-2 cursor-pointer\", className)}\n\t\tstyle={{\n\t\t\tbackgroundColor: CODE_BLOCK_BG_COLOR,\n\t\t}}\n\t\t{...props}\n\t/>\n)\n\nexport const ToolUseBlockHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n\t<div className={cn(\"flex items-center select-none text-vscode-descriptionForeground\", className)} {...props} />\n)\n", + "import React, { useState, useEffect, useRef } from \"react\"\nimport { ToolUseBlock, ToolUseBlockHeader } from \"../common/ToolUseBlock\"\nimport MarkdownBlock from \"../common/MarkdownBlock\"\n\ninterface TodoItem {\n\tid?: string\n\tcontent: string\n\tstatus?: \"completed\" | \"in_progress\" | string\n}\n\n/**\n * @description\n * Editable Todo List component. Each time the todo list changes (edit, add, delete, status switch), the parent component will be notified via the onChange callback.\n * The parent component should synchronize the latest todos to the model in onChange.\n */\ninterface UpdateTodoListToolBlockProps {\n\ttodos?: TodoItem[]\n\tcontent?: string\n\t/**\n\t * Callback when todos change, be sure to implement and notify the model with the latest todos\n\t * @param todos Latest todo list\n\t */\n\tonChange: (todos: TodoItem[]) => void\n\t/** Whether editing is allowed (controlled externally) */\n\teditable?: boolean\n\tuserEdited?: boolean\n}\n\nconst STATUS_OPTIONS = [\n\t{ value: \"\", label: \"Not Started\", color: \"var(--vscode-foreground)\", border: \"#bbb\", bg: \"transparent\" },\n\t{\n\t\tvalue: \"in_progress\",\n\t\tlabel: \"In Progress\",\n\t\tcolor: \"var(--vscode-charts-yellow)\",\n\t\tborder: \"var(--vscode-charts-yellow)\",\n\t\tbg: \"rgba(255, 221, 51, 0.15)\",\n\t},\n\t{\n\t\tvalue: \"completed\",\n\t\tlabel: \"Completed\",\n\t\tcolor: \"var(--vscode-charts-green)\",\n\t\tborder: \"var(--vscode-charts-green)\",\n\t\tbg: \"var(--vscode-charts-green)\",\n\t},\n]\n\nconst genId = () => Math.random().toString(36).slice(2, 10)\n\nconst UpdateTodoListToolBlock: React.FC<UpdateTodoListToolBlockProps> = ({\n\ttodos = [],\n\tcontent,\n\tonChange,\n\teditable = true,\n\tuserEdited = false,\n}) => {\n\tconst [editTodos, setEditTodos] = useState<TodoItem[]>(\n\t\ttodos.length > 0 ? todos.map((todo) => ({ ...todo, id: todo.id || genId() })) : [],\n\t)\n\tconst [adding, setAdding] = useState(false)\n\tconst [newContent, setNewContent] = useState(\"\")\n\tconst newInputRef = useRef<HTMLInputElement>(null)\n\tconst [deleteId, setDeleteId] = useState<string | null>(null)\n\tconst [isEditing, setIsEditing] = useState(false)\n\n\t// Automatically exit edit mode when external editable becomes false\n\tuseEffect(() => {\n\t\tif (!editable && isEditing) {\n\t\t\tsetIsEditing(false)\n\t\t}\n\t}, [editable, isEditing])\n\n\t// Check if onChange is passed\n\tuseEffect(() => {\n\t\tif (typeof onChange !== \"function\") {\n\t\t\tconsole.warn(\n\t\t\t\t\"UpdateTodoListToolBlock: onChange callback not passed, cannot notify model after todo changes!\",\n\t\t\t)\n\t\t}\n\t\t// Only check once on mount\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [])\n\n\t// Sync when external props.todos changes\n\tuseEffect(() => {\n\t\tsetEditTodos(todos.length > 0 ? todos.map((todo) => ({ ...todo, id: todo.id || genId() })) : [])\n\t}, [todos])\n\n\t// Auto focus on new item\n\tuseEffect(() => {\n\t\tif (adding && newInputRef.current) {\n\t\t\tnewInputRef.current.focus()\n\t\t}\n\t}, [adding])\n\n\t// Edit content\n\tconst handleContentChange = (id: string, value: string) => {\n\t\tconst newTodos = editTodos.map((todo) => (todo.id === id ? { ...todo, content: value } : todo))\n\t\tsetEditTodos(newTodos)\n\t\tonChange?.(newTodos)\n\t}\n\n\t// Change status\n\tconst handleStatusChange = (id: string, status: string) => {\n\t\tconst newTodos = editTodos.map((todo) => (todo.id === id ? { ...todo, status } : todo))\n\t\tsetEditTodos(newTodos)\n\t\tonChange?.(newTodos)\n\t}\n\n\t// Delete (confirmation dialog)\n\tconst handleDelete = (id: string) => {\n\t\tsetDeleteId(id)\n\t}\n\tconst confirmDelete = () => {\n\t\tif (!deleteId) return\n\t\tconst newTodos = editTodos.filter((todo) => todo.id !== deleteId)\n\t\tsetEditTodos(newTodos)\n\t\tonChange?.(newTodos)\n\t\tsetDeleteId(null)\n\t}\n\tconst cancelDelete = () => setDeleteId(null)\n\n\t// Add\n\tconst handleAdd = () => {\n\t\tif (!newContent.trim()) return\n\t\tconst newTodo: TodoItem = {\n\t\t\tid: genId(),\n\t\t\tcontent: newContent.trim(),\n\t\t\tstatus: \"\",\n\t\t}\n\t\tconst newTodos = [...editTodos, newTodo]\n\t\tsetEditTodos(newTodos)\n\t\tonChange?.(newTodos)\n\t\tsetNewContent(\"\")\n\t\tsetAdding(false)\n\t}\n\n\t// Add on Enter\n\tconst handleNewInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n\t\tif (e.key === \"Enter\") {\n\t\t\thandleAdd()\n\t\t} else if (e.key === \"Escape\") {\n\t\t\tsetAdding(false)\n\t\t\tsetNewContent(\"\")\n\t\t}\n\t}\n\n\tif (userEdited) {\n\t\treturn (\n\t\t\t<ToolUseBlock>\n\t\t\t\t<ToolUseBlockHeader>\n\t\t\t\t\t<div className=\"flex items-center w-full\" style={{ width: \"100%\" }}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"codicon codicon-feedback mr-1.5\"\n\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-charts-yellow)\" }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"font-bold mr-2\" style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\tUser Edit\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className=\"flex-grow\" />\n\t\t\t\t\t</div>\n\t\t\t\t</ToolUseBlockHeader>\n\t\t\t\t<div className=\"overflow-x-auto max-w-full\" style={{ padding: \"12px 0 8px 0\" }}>\n\t\t\t\t\t<span className=\"text-vscode-descriptionForeground\">User Edits</span>\n\t\t\t\t</div>\n\t\t\t</ToolUseBlock>\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolUseBlock>\n\t\t\t\t<ToolUseBlockHeader>\n\t\t\t\t\t<div className=\"flex items-center w-full\" style={{ width: \"100%\" }}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"codicon codicon-checklist mr-1.5\"\n\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-foreground)\" }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"font-bold mr-2\" style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\tTodo List Updated\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div className=\"flex-grow\" />\n\t\t\t\t\t\t{editable && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={() => setIsEditing(!isEditing)}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tborder: isEditing\n\t\t\t\t\t\t\t\t\t\t? \"1px solid var(--vscode-button-border)\"\n\t\t\t\t\t\t\t\t\t\t: \"1px solid var(--vscode-button-secondaryBorder)\",\n\t\t\t\t\t\t\t\t\tbackground: isEditing\n\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-button-background)\"\n\t\t\t\t\t\t\t\t\t\t: \"var(--vscode-button-secondaryBackground)\",\n\t\t\t\t\t\t\t\t\tcolor: isEditing\n\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-button-foreground)\"\n\t\t\t\t\t\t\t\t\t\t: \"var(--vscode-button-secondaryForeground)\",\n\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\tpadding: \"2px 8px\",\n\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\t\tmarginLeft: 8,\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{isEditing ? \"Done\" : \"Edit\"}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</ToolUseBlockHeader>\n\t\t\t\t<div className=\"overflow-x-auto max-w-full\" style={{ padding: \"6px 0 2px 0\" }}>\n\t\t\t\t\t{Array.isArray(editTodos) && editTodos.length > 0 ? (\n\t\t\t\t\t\t<ul style={{ margin: 0, paddingLeft: 0, listStyle: \"none\" }}>\n\t\t\t\t\t\t\t{editTodos.map((todo, idx) => {\n\t\t\t\t\t\t\t\tlet icon\n\t\t\t\t\t\t\t\tif (todo.status === \"completed\") {\n\t\t\t\t\t\t\t\t\ticon = (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-charts-green)\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 7,\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else if (todo.status === \"in_progress\") {\n\t\t\t\t\t\t\t\t\ticon = (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-charts-yellow)\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 7,\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ticon = (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 7,\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tkey={todo.id || idx}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: 2,\n\t\t\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\t\t\t\t\t\tminHeight: 20,\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t\t{isEditing ? (\n\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={todo.content}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter todo item\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleContentChange(todo.id!, e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-input-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-input-background)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\t\t\t\toutline: \"none\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 3px\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderBottom: \"1px solid var(--vscode-input-border)\",\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!e.target.value.trim()) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleDelete(todo.id!)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttodo.status === \"completed\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-charts-green)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: todo.status === \"in_progress\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-charts-yellow)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"var(--vscode-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 3px\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: \"1.4\",\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t{todo.content}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={todo.status || \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleStatusChange(todo.id!, e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-input-border)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-input-background)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-input-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 4px\",\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t{STATUS_OPTIONS.map((opt) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<option key={opt.value} value={opt.value}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{opt.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t{isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleDelete(todo.id!)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"#f14c4c\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginLeft: 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"Remove\">\n\t\t\t\t\t\t\t\t\t\t\t\t×\n\t\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t{adding ? (\n\t\t\t\t\t\t\t\t<li style={{ marginTop: 2, display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t\t\t\t\t\t<span style={{ width: 14, marginRight: 6 }} />\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tref={newInputRef}\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\tvalue={newContent}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Enter todo item, press Enter to add\"\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => setNewContent(e.target.value)}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleNewInputKeyDown}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\t\t\t\t\t\tborder: \"none\",\n\t\t\t\t\t\t\t\t\t\t\toutline: \"none\",\n\t\t\t\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 6,\n\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 3px\",\n\t\t\t\t\t\t\t\t\t\t\tborderBottom: \"1px solid #eee\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handleAdd}\n\t\t\t\t\t\t\t\t\t\tdisabled={!newContent.trim()}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-button-border)\",\n\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-button-background)\",\n\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-button-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 7px\",\n\t\t\t\t\t\t\t\t\t\t\tcursor: newContent.trim() ? \"pointer\" : \"not-allowed\",\n\t\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t\t\tmarginRight: 4,\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\tAdd\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tsetAdding(false)\n\t\t\t\t\t\t\t\t\t\t\tsetNewContent(\"\")\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-button-secondaryBorder)\",\n\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-button-secondaryBackground)\",\n\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-button-secondaryForeground)\",\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 7px\",\n\t\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<li style={{ marginTop: 2 }}>\n\t\t\t\t\t\t\t\t\t{isEditing && (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => setAdding(true)}\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tborder: \"1px dashed var(--vscode-button-secondaryBorder)\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-button-secondaryBackground)\",\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-button-secondaryForeground)\",\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"1px 8px\",\n\t\t\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t+ Add Todo\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<MarkdownBlock markdown={content} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{/* Delete confirmation dialog */}\n\t\t\t\t{deleteId && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tbackground: \"rgba(0,0,0,0.15)\",\n\t\t\t\t\t\t\tzIndex: 9999,\n\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={cancelDelete}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tbackground: \"#fff\",\n\t\t\t\t\t\t\t\tborderRadius: 8,\n\t\t\t\t\t\t\t\tboxShadow: \"0 2px 16px rgba(0,0,0,0.15)\",\n\t\t\t\t\t\t\t\tpadding: \"16px 20px\",\n\t\t\t\t\t\t\t\tminWidth: 200,\n\t\t\t\t\t\t\t\tzIndex: 10000,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}>\n\t\t\t\t\t\t\t<div style={{ marginBottom: 12, fontSize: 14, color: \"#333\" }}>\n\t\t\t\t\t\t\t\tAre you sure you want to delete this todo item?\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div style={{ display: \"flex\", justifyContent: \"flex-end\", gap: 8 }}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tonClick={cancelDelete}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tborder: \"1px solid #bbb\",\n\t\t\t\t\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"#888\",\n\t\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\t\tpadding: \"2px 10px\",\n\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tonClick={confirmDelete}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tborder: \"1px solid #f14c4c\",\n\t\t\t\t\t\t\t\t\t\tbackground: \"#f14c4c\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"#fff\",\n\t\t\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t\t\t\tpadding: \"2px 10px\",\n\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\tDelete\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</ToolUseBlock>\n\t\t</>\n\t)\n}\n\nexport default UpdateTodoListToolBlock\n", + "import { memo, useMemo } from \"react\"\nimport { VSCodeProgressRing } from \"@vscode/webview-ui-toolkit/react\"\nimport { type ToolProgressStatus } from \"@roo-code/types\"\nimport { getLanguageFromPath } from \"@src/utils/getLanguageFromPath\"\nimport { removeLeadingNonAlphanumeric } from \"@src/utils/removeLeadingNonAlphanumeric\"\n\nimport { ToolUseBlock, ToolUseBlockHeader } from \"./ToolUseBlock\"\nimport CodeBlock from \"./CodeBlock\"\n\ninterface CodeAccordianProps {\n\tpath?: string\n\tcode?: string\n\tlanguage: string\n\tprogressStatus?: ToolProgressStatus\n\tisLoading?: boolean\n\tisExpanded: boolean\n\tisFeedback?: boolean\n\tonToggleExpand: () => void\n\theader?: string\n\tonJumpToFile?: () => void\n}\n\nconst CodeAccordian = ({\n\tpath,\n\tcode = \"\",\n\tlanguage,\n\tprogressStatus,\n\tisLoading,\n\tisExpanded,\n\tisFeedback,\n\tonToggleExpand,\n\theader,\n\tonJumpToFile,\n}: CodeAccordianProps) => {\n\tconst inferredLanguage = useMemo(() => language ?? (path ? getLanguageFromPath(path) : \"txt\"), [path, language])\n\tconst source = useMemo(() => code.trim(), [code])\n\tconst hasHeader = Boolean(path || isFeedback || header)\n\n\treturn (\n\t\t<ToolUseBlock>\n\t\t\t{hasHeader && (\n\t\t\t\t<ToolUseBlockHeader onClick={onToggleExpand}>\n\t\t\t\t\t{isLoading && <VSCodeProgressRing className=\"size-3 mr-2\" />}\n\t\t\t\t\t{header ? (\n\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-server mr-1.5\"></span>\n\t\t\t\t\t\t\t<span className=\"whitespace-nowrap overflow-hidden text-ellipsis mr-2\">{header}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : isFeedback ? (\n\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t<span className={`codicon codicon-${isFeedback ? \"feedback\" : \"codicon-output\"} mr-1.5`} />\n\t\t\t\t\t\t\t<span className=\"whitespace-nowrap overflow-hidden text-ellipsis mr-2 rtl\">\n\t\t\t\t\t\t\t\t{isFeedback ? \"User Edits\" : \"Console Logs\"}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{path?.startsWith(\".\") && <span>.</span>}\n\t\t\t\t\t\t\t<span className=\"whitespace-nowrap overflow-hidden text-ellipsis text-left mr-2 rtl\">\n\t\t\t\t\t\t\t\t{removeLeadingNonAlphanumeric(path ?? \"\") + \"\\u200E\"}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"flex-grow-1\" />\n\t\t\t\t\t{progressStatus && progressStatus.text && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{progressStatus.icon && <span className={`codicon codicon-${progressStatus.icon} mr-1`} />}\n\t\t\t\t\t\t\t<span className=\"mr-1 ml-auto text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t{progressStatus.text}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{onJumpToFile && path && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"codicon codicon-link-external mr-1\"\n\t\t\t\t\t\t\tstyle={{ fontSize: 13.5 }}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\tonJumpToFile()\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label={`Open file: ${path}`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{!onJumpToFile && <span className={`codicon codicon-chevron-${isExpanded ? \"up\" : \"down\"}`}></span>}\n\t\t\t\t</ToolUseBlockHeader>\n\t\t\t)}\n\t\t\t{(!hasHeader || isExpanded) && (\n\t\t\t\t<div className=\"overflow-x-auto overflow-y-hidden max-w-full\">\n\t\t\t\t\t<CodeBlock source={source} language={inferredLanguage} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</ToolUseBlock>\n\t)\n}\n\nexport default memo(CodeAccordian)\n", + "import { useCallback, useEffect, useRef, useState } from \"react\"\nimport { CaretDownIcon, CaretUpIcon, CounterClockwiseClockIcon } from \"@radix-ui/react-icons\"\nimport { useTranslation } from \"react-i18next\"\n\nimport MarkdownBlock from \"../common/MarkdownBlock\"\nimport { useMount } from \"react-use\"\n\ninterface ReasoningBlockProps {\n\tcontent: string\n\telapsed?: number\n\tisCollapsed?: boolean\n\tonToggleCollapse?: () => void\n}\n\nexport const ReasoningBlock = ({ content, elapsed, isCollapsed = false, onToggleCollapse }: ReasoningBlockProps) => {\n\tconst contentRef = useRef<HTMLDivElement>(null)\n\tconst elapsedRef = useRef<number>(0)\n\tconst { t } = useTranslation(\"chat\")\n\tconst [thought, setThought] = useState<string>()\n\tconst [prevThought, setPrevThought] = useState<string>(t(\"chat:reasoning.thinking\"))\n\tconst [isTransitioning, setIsTransitioning] = useState<boolean>(false)\n\tconst cursorRef = useRef<number>(0)\n\tconst queueRef = useRef<string[]>([])\n\n\tuseEffect(() => {\n\t\tif (contentRef.current && !isCollapsed) {\n\t\t\tcontentRef.current.scrollTop = contentRef.current.scrollHeight\n\t\t}\n\t}, [content, isCollapsed])\n\n\tuseEffect(() => {\n\t\tif (elapsed) {\n\t\t\telapsedRef.current = elapsed\n\t\t}\n\t}, [elapsed])\n\n\t// Process the transition queue.\n\tconst processNextTransition = useCallback(() => {\n\t\tconst nextThought = queueRef.current.pop()\n\t\tqueueRef.current = []\n\n\t\tif (nextThought) {\n\t\t\tsetIsTransitioning(true)\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tif (nextThought) {\n\t\t\t\tsetPrevThought(nextThought)\n\t\t\t\tsetIsTransitioning(false)\n\t\t\t}\n\n\t\t\tsetTimeout(() => processNextTransition(), 500)\n\t\t}, 200)\n\t}, [])\n\n\tuseMount(() => {\n\t\tprocessNextTransition()\n\t})\n\n\tuseEffect(() => {\n\t\tif (content.length - cursorRef.current > 160) {\n\t\t\tsetThought(\"... \" + content.slice(cursorRef.current))\n\t\t\tcursorRef.current = content.length\n\t\t}\n\t}, [content])\n\n\tuseEffect(() => {\n\t\tif (thought && thought !== prevThought) {\n\t\t\tqueueRef.current.push(thought)\n\t\t}\n\t}, [thought, prevThought])\n\n\treturn (\n\t\t<div className=\"bg-vscode-editor-background border border-vscode-border rounded-xs overflow-hidden\">\n\t\t\t<div\n\t\t\t\tclassName=\"flex items-center justify-between gap-1 px-3 py-2 cursor-pointer text-muted-foreground\"\n\t\t\t\tonClick={onToggleCollapse}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={`truncate flex-1 transition-opacity duration-200 ${isTransitioning ? \"opacity-0\" : \"opacity-100\"}`}>\n\t\t\t\t\t{prevThought}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t{elapsedRef.current > 1000 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<CounterClockwiseClockIcon className=\"scale-80\" />\n\t\t\t\t\t\t\t<div>{t(\"reasoning.seconds\", { count: Math.round(elapsedRef.current / 1000) })}</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t\t{isCollapsed ? <CaretDownIcon /> : <CaretUpIcon />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{!isCollapsed && (\n\t\t\t\t<div ref={contentRef} className=\"px-3 max-h-[160px] overflow-y-auto\">\n\t\t\t\t\t<MarkdownBlock markdown={content} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import { McpResource, McpResourceTemplate } from \"@roo/mcp\"\n\ntype McpResourceRowProps = {\n\titem: McpResource | McpResourceTemplate\n}\n\nconst McpResourceRow = ({ item }: McpResourceRowProps) => {\n\tconst hasUri = \"uri\" in item\n\tconst uri = hasUri ? item.uri : item.uriTemplate\n\n\treturn (\n\t\t<div\n\t\t\tkey={uri}\n\t\t\tstyle={{\n\t\t\t\tpadding: \"3px 0\",\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tmarginBottom: \"4px\",\n\t\t\t\t}}>\n\t\t\t\t<span className={`codicon codicon-symbol-file`} style={{ marginRight: \"6px\" }} />\n\t\t\t\t<span style={{ fontWeight: 500, wordBreak: \"break-all\" }}>{uri}</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\topacity: 0.8,\n\t\t\t\t\tmargin: \"4px 0\",\n\t\t\t\t}}>\n\t\t\t\t{item.name && item.description\n\t\t\t\t\t? `${item.name}: ${item.description}`\n\t\t\t\t\t: !item.name && item.description\n\t\t\t\t\t\t? item.description\n\t\t\t\t\t\t: !item.description && item.name\n\t\t\t\t\t\t\t? item.name\n\t\t\t\t\t\t\t: \"No description\"}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t}}>\n\t\t\t\t<span style={{ opacity: 0.8 }}>Returns </span>\n\t\t\t\t<code\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tcolor: \"var(--vscode-textPreformat-foreground)\",\n\t\t\t\t\t\tbackground: \"var(--vscode-textPreformat-background)\",\n\t\t\t\t\t\tpadding: \"1px 4px\",\n\t\t\t\t\t\tborderRadius: \"3px\",\n\t\t\t\t\t}}>\n\t\t\t\t\t{item.mimeType || \"Unknown\"}\n\t\t\t\t</code>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default McpResourceRow\n", + "import { mentionRegexGlobal } from \"@roo/context-mentions\"\n\nimport { vscode } from \"../../utils/vscode\"\n\ninterface MentionProps {\n\ttext?: string\n\twithShadow?: boolean\n}\n\nexport const Mention = ({ text, withShadow = false }: MentionProps) => {\n\tif (!text) {\n\t\treturn <>{text}</>\n\t}\n\n\tconst parts = text.split(mentionRegexGlobal).map((part, index) => {\n\t\tif (index % 2 === 0) {\n\t\t\t// This is regular text.\n\t\t\treturn part\n\t\t} else {\n\t\t\t// This is a mention.\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclassName={`${withShadow ? \"mention-context-highlight-with-shadow\" : \"mention-context-highlight\"} cursor-pointer`}\n\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"openMention\", text: part })}>\n\t\t\t\t\t@{part}\n\t\t\t\t</span>\n\t\t\t)\n\t\t}\n\t})\n\n\treturn <>{parts}</>\n}\n", + "import { useState, useCallback } from \"react\"\nimport { CheckIcon, Cross2Icon } from \"@radix-ui/react-icons\"\nimport { useTranslation } from \"react-i18next\"\n\nimport { Button, Popover, PopoverContent, PopoverTrigger, StandardTooltip } from \"@/components/ui\"\nimport { useRooPortal } from \"@/components/ui/hooks\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { Checkpoint } from \"./schema\"\n\ntype CheckpointMenuProps = {\n\tts: number\n\tcommitHash: string\n\tcurrentHash?: string\n\tcheckpoint: Checkpoint\n}\n\nexport const CheckpointMenu = ({ ts, commitHash, currentHash, checkpoint }: CheckpointMenuProps) => {\n\tconst { t } = useTranslation()\n\tconst [isOpen, setIsOpen] = useState(false)\n\tconst [isConfirming, setIsConfirming] = useState(false)\n\tconst portalContainer = useRooPortal(\"roo-portal\")\n\n\tconst isCurrent = currentHash === commitHash\n\n\tconst previousCommitHash = checkpoint?.from\n\n\tconst onCheckpointDiff = useCallback(() => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"checkpointDiff\",\n\t\t\tpayload: { ts, previousCommitHash, commitHash, mode: \"checkpoint\" },\n\t\t})\n\t}, [ts, previousCommitHash, commitHash])\n\n\tconst onPreview = useCallback(() => {\n\t\tvscode.postMessage({ type: \"checkpointRestore\", payload: { ts, commitHash, mode: \"preview\" } })\n\t\tsetIsOpen(false)\n\t}, [ts, commitHash])\n\n\tconst onRestore = useCallback(() => {\n\t\tvscode.postMessage({ type: \"checkpointRestore\", payload: { ts, commitHash, mode: \"restore\" } })\n\t\tsetIsOpen(false)\n\t}, [ts, commitHash])\n\n\treturn (\n\t\t<div className=\"flex flex-row gap-1\">\n\t\t\t<StandardTooltip content={t(\"chat:checkpoint.menu.viewDiff\")}>\n\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={onCheckpointDiff}>\n\t\t\t\t\t<span className=\"codicon codicon-diff-single\" />\n\t\t\t\t</Button>\n\t\t\t</StandardTooltip>\n\t\t\t<Popover\n\t\t\t\topen={isOpen}\n\t\t\t\tonOpenChange={(open) => {\n\t\t\t\t\tsetIsOpen(open)\n\t\t\t\t\tsetIsConfirming(false)\n\t\t\t\t}}>\n\t\t\t\t<StandardTooltip content={t(\"chat:checkpoint.menu.restore\")}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-history\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t</StandardTooltip>\n\t\t\t\t<PopoverContent align=\"end\" container={portalContainer}>\n\t\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t\t{!isCurrent && (\n\t\t\t\t\t\t\t<div className=\"flex flex-col gap-1 group hover:text-foreground\">\n\t\t\t\t\t\t\t\t<Button variant=\"secondary\" onClick={onPreview}>\n\t\t\t\t\t\t\t\t\t{t(\"chat:checkpoint.menu.restoreFiles\")}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div className=\"text-muted transition-colors group-hover:text-foreground\">\n\t\t\t\t\t\t\t\t\t{t(\"chat:checkpoint.menu.restoreFilesDescription\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1 group hover:text-foreground\">\n\t\t\t\t\t\t\t<div className=\"flex flex-col gap-1 group hover:text-foreground\">\n\t\t\t\t\t\t\t\t{!isConfirming ? (\n\t\t\t\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setIsConfirming(true)}>\n\t\t\t\t\t\t\t\t\t\t{t(\"chat:checkpoint.menu.restoreFilesAndTask\")}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<Button variant=\"default\" onClick={onRestore} className=\"grow\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-row gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{t(\"chat:checkpoint.menu.confirm\")}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setIsConfirming(false)}>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-row gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Cross2Icon />\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{t(\"chat:checkpoint.menu.cancel\")}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{isConfirming ? (\n\t\t\t\t\t\t\t\t\t<div className=\"text-destructive font-bold\">\n\t\t\t\t\t\t\t\t\t\t{t(\"chat:checkpoint.menu.cannotUndo\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"text-muted transition-colors group-hover:text-foreground\">\n\t\t\t\t\t\t\t\t\t\t{t(\"chat:checkpoint.menu.restoreFilesAndTaskDescription\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</PopoverContent>\n\t\t\t</Popover>\n\t\t</div>\n\t)\n}\n", + "import { z } from \"zod\"\n\nexport const checkpointSchema = z.object({\n\tfrom: z.string(),\n\tto: z.string(),\n})\n\nexport type Checkpoint = z.infer<typeof checkpointSchema>\n", + "import { useMemo } from \"react\"\nimport { useTranslation } from \"react-i18next\"\n\nimport { CheckpointMenu } from \"./CheckpointMenu\"\nimport { checkpointSchema } from \"./schema\"\n\ntype CheckpointSavedProps = {\n\tts: number\n\tcommitHash: string\n\tcurrentHash?: string\n\tcheckpoint?: Record<string, unknown>\n}\n\nexport const CheckpointSaved = ({ checkpoint, ...props }: CheckpointSavedProps) => {\n\tconst { t } = useTranslation()\n\tconst isCurrent = props.currentHash === props.commitHash\n\n\tconst metadata = useMemo(() => {\n\t\tif (!checkpoint) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst result = checkpointSchema.safeParse(checkpoint)\n\n\t\tif (!result.success) {\n\t\t\treturn undefined\n\t\t}\n\n\t\treturn result.data\n\t}, [checkpoint])\n\n\tif (!metadata) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div className=\"flex items-center justify-between\">\n\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t<span className=\"codicon codicon-git-commit text-blue-400\" />\n\t\t\t\t<span className=\"font-bold\">{t(\"chat:checkpoint.regular\")}</span>\n\t\t\t\t{isCurrent && <span className=\"text-muted text-sm\">{t(\"chat:checkpoint.current\")}</span>}\n\t\t\t</div>\n\t\t\t<CheckpointMenu {...props} checkpoint={metadata} />\n\t\t</div>\n\t)\n}\n", + "import { useCallback, useEffect, useState } from \"react\"\nimport { Edit } from \"lucide-react\"\n\nimport { Button, StandardTooltip } from \"@/components/ui\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { SuggestionItem } from \"@roo-code/types\"\n\nconst DEFAULT_FOLLOWUP_TIMEOUT_MS = 60000\nconst COUNTDOWN_INTERVAL_MS = 1000\n\ninterface FollowUpSuggestProps {\n\tsuggestions?: SuggestionItem[]\n\tonSuggestionClick?: (suggestion: SuggestionItem, event?: React.MouseEvent) => void\n\tts: number\n\tonCancelAutoApproval?: () => void\n\tisAnswered?: boolean\n}\n\nexport const FollowUpSuggest = ({\n\tsuggestions = [],\n\tonSuggestionClick,\n\tts = 1,\n\tonCancelAutoApproval,\n\tisAnswered = false,\n}: FollowUpSuggestProps) => {\n\tconst { autoApprovalEnabled, alwaysAllowFollowupQuestions, followupAutoApproveTimeoutMs } = useExtensionState()\n\tconst [countdown, setCountdown] = useState<number | null>(null)\n\tconst [suggestionSelected, setSuggestionSelected] = useState(false)\n\tconst { t } = useAppTranslation()\n\n\t// Start countdown timer when auto-approval is enabled for follow-up questions\n\tuseEffect(() => {\n\t\t// Only start countdown if auto-approval is enabled for follow-up questions and no suggestion has been selected\n\t\t// Also stop countdown if the question has been answered\n\t\tif (\n\t\t\tautoApprovalEnabled &&\n\t\t\talwaysAllowFollowupQuestions &&\n\t\t\tsuggestions.length > 0 &&\n\t\t\t!suggestionSelected &&\n\t\t\t!isAnswered\n\t\t) {\n\t\t\t// Start with the configured timeout in seconds\n\t\t\tconst timeoutMs =\n\t\t\t\ttypeof followupAutoApproveTimeoutMs === \"number\" && !isNaN(followupAutoApproveTimeoutMs)\n\t\t\t\t\t? followupAutoApproveTimeoutMs\n\t\t\t\t\t: DEFAULT_FOLLOWUP_TIMEOUT_MS\n\n\t\t\t// Convert milliseconds to seconds for the countdown\n\t\t\tsetCountdown(Math.floor(timeoutMs / 1000))\n\n\t\t\t// Update countdown every second\n\t\t\tconst intervalId = setInterval(() => {\n\t\t\t\tsetCountdown((prevCountdown) => {\n\t\t\t\t\tif (prevCountdown === null || prevCountdown <= 1) {\n\t\t\t\t\t\tclearInterval(intervalId)\n\t\t\t\t\t\treturn null\n\t\t\t\t\t}\n\t\t\t\t\treturn prevCountdown - 1\n\t\t\t\t})\n\t\t\t}, COUNTDOWN_INTERVAL_MS)\n\n\t\t\t// Clean up interval on unmount and notify parent component\n\t\t\treturn () => {\n\t\t\t\tclearInterval(intervalId)\n\t\t\t\t// Notify parent component that this component is unmounting\n\t\t\t\t// so it can clear any related timeouts\n\t\t\t\tonCancelAutoApproval?.()\n\t\t\t}\n\t\t} else {\n\t\t\tsetCountdown(null)\n\t\t}\n\t}, [\n\t\tautoApprovalEnabled,\n\t\talwaysAllowFollowupQuestions,\n\t\tsuggestions,\n\t\tfollowupAutoApproveTimeoutMs,\n\t\tsuggestionSelected,\n\t\tonCancelAutoApproval,\n\t\tisAnswered,\n\t])\n\tconst handleSuggestionClick = useCallback(\n\t\t(suggestion: SuggestionItem, event: React.MouseEvent) => {\n\t\t\t// Mark a suggestion as selected if it's not a shift-click (which just copies to input)\n\t\t\tif (!event.shiftKey) {\n\t\t\t\tsetSuggestionSelected(true)\n\t\t\t\t// Also notify parent component to cancel auto-approval timeout\n\t\t\t\t// This prevents race conditions between visual countdown and actual timeout\n\t\t\t\tonCancelAutoApproval?.()\n\t\t\t}\n\n\t\t\t// Pass the suggestion object to the parent component\n\t\t\t// The parent component will handle mode switching if needed\n\t\t\tonSuggestionClick?.(suggestion, event)\n\t\t},\n\t\t[onSuggestionClick, onCancelAutoApproval],\n\t)\n\n\t// Don't render if there are no suggestions or no click handler.\n\tif (!suggestions?.length || !onSuggestionClick) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div className=\"flex mb-2 flex-col h-full gap-2\">\n\t\t\t{suggestions.map((suggestion, index) => {\n\t\t\t\tconst isFirstSuggestion = index === 0\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={`${suggestion.answer}-${ts}`} className=\"w-full relative group\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tclassName=\"text-left whitespace-normal break-words w-full h-auto py-3 justify-start pr-8\"\n\t\t\t\t\t\t\tonClick={(event) => handleSuggestionClick(suggestion, event)}\n\t\t\t\t\t\t\taria-label={suggestion.answer}>\n\t\t\t\t\t\t\t{suggestion.answer}\n\t\t\t\t\t\t\t{isFirstSuggestion && countdown !== null && !suggestionSelected && !isAnswered && (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"ml-2 px-1.5 py-0.5 text-xs rounded-full bg-vscode-badge-background text-vscode-badge-foreground\"\n\t\t\t\t\t\t\t\t\ttitle={t(\"chat:followUpSuggest.autoSelectCountdown\", { count: countdown })}>\n\t\t\t\t\t\t\t\t\t{t(\"chat:followUpSuggest.countdownDisplay\", { count: countdown })}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{suggestion.mode && (\n\t\t\t\t\t\t\t<div className=\"absolute bottom-0 right-0 text-[10px] bg-vscode-badge-background text-vscode-badge-foreground px-1 py-0.5 border border-vscode-badge-background flex items-center gap-0.5\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-arrow-right\" style={{ fontSize: \"8px\" }} />\n\t\t\t\t\t\t\t\t{suggestion.mode}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<StandardTooltip content={t(\"chat:followUpSuggest.copyToInput\")}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"absolute top-0 right-0 opacity-0 group-hover:opacity-100 transition-opacity\"\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t// Cancel the auto-approve timer when edit button is clicked\n\t\t\t\t\t\t\t\t\tsetSuggestionSelected(true)\n\t\t\t\t\t\t\t\t\tonCancelAutoApproval?.()\n\t\t\t\t\t\t\t\t\t// Simulate shift-click by directly calling the handler with shiftKey=true.\n\t\t\t\t\t\t\t\t\tonSuggestionClick?.(suggestion, { ...e, shiftKey: true })\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\">\n\t\t\t\t\t\t\t\t\t<Edit />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t})}\n\t\t</div>\n\t)\n}\n", + "import { memo } from \"react\"\n\nimport { ToolUseBlock, ToolUseBlockHeader } from \"../common/ToolUseBlock\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { removeLeadingNonAlphanumeric } from \"@src/utils/removeLeadingNonAlphanumeric\"\n\ninterface FilePermissionItem {\n\tpath: string\n\tlineSnippet?: string\n\tisOutsideWorkspace?: boolean\n\tkey: string\n\tcontent?: string // full path\n}\n\ninterface BatchFilePermissionProps {\n\tfiles: FilePermissionItem[]\n\tonPermissionResponse?: (response: { [key: string]: boolean }) => void\n\tts: number\n}\n\nexport const BatchFilePermission = memo(({ files = [], onPermissionResponse, ts }: BatchFilePermissionProps) => {\n\t// Don't render if there are no files or no response handler\n\tif (!files?.length || !onPermissionResponse) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<div className=\"pt-[5px]\">\n\t\t\t{/* Individual files */}\n\t\t\t<div className=\"flex flex-col gap-0 border border-border rounded-md p-1\">\n\t\t\t\t{files.map((file) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={`${file.path}-${ts}`} className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<ToolUseBlock className=\"flex-1\">\n\t\t\t\t\t\t\t\t<ToolUseBlockHeader\n\t\t\t\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"openFile\", text: file.content })}>\n\t\t\t\t\t\t\t\t\t{file.path?.startsWith(\".\") && <span>.</span>}\n\t\t\t\t\t\t\t\t\t<span className=\"whitespace-nowrap overflow-hidden text-ellipsis text-left mr-2 rtl\">\n\t\t\t\t\t\t\t\t\t\t{removeLeadingNonAlphanumeric(file.path ?? \"\") + \"\\u200E\"}\n\t\t\t\t\t\t\t\t\t\t{file.lineSnippet && ` ${file.lineSnippet}`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<div className=\"flex-grow\"></div>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-link-external text-[13.5px] my-[1px]\" />\n\t\t\t\t\t\t\t\t</ToolUseBlockHeader>\n\t\t\t\t\t\t\t</ToolUseBlock>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t)\n})\n\nBatchFilePermission.displayName = \"BatchFilePermission\"\n", + "import React, { memo, useState } from \"react\"\nimport CodeAccordian from \"../common/CodeAccordian\"\n\ninterface FileDiff {\n\tpath: string\n\tchangeCount: number\n\tkey: string\n\tcontent: string\n\tdiffs?: Array<{\n\t\tcontent: string\n\t\tstartLine?: number\n\t}>\n}\n\ninterface BatchDiffApprovalProps {\n\tfiles: FileDiff[]\n\tts: number\n}\n\nexport const BatchDiffApproval = memo(({ files = [], ts }: BatchDiffApprovalProps) => {\n\tconst [expandedFiles, setExpandedFiles] = useState<Record<string, boolean>>({})\n\n\tif (!files?.length) {\n\t\treturn null\n\t}\n\n\tconst handleToggleExpand = (filePath: string) => {\n\t\tsetExpandedFiles((prev) => ({\n\t\t\t...prev,\n\t\t\t[filePath]: !prev[filePath],\n\t\t}))\n\t}\n\n\treturn (\n\t\t<div className=\"pt-[5px]\">\n\t\t\t<div className=\"flex flex-col gap-0 border border-border rounded-md p-1\">\n\t\t\t\t{files.map((file) => {\n\t\t\t\t\t// Combine all diffs into a single diff string for this file\n\t\t\t\t\tconst combinedDiff = file.diffs?.map((diff) => diff.content).join(\"\\n\\n\") || file.content\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div key={`${file.path}-${ts}`}>\n\t\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\t\tpath={file.path}\n\t\t\t\t\t\t\t\tcode={combinedDiff}\n\t\t\t\t\t\t\t\tlanguage=\"diff\"\n\t\t\t\t\t\t\t\tisExpanded={expandedFiles[file.path] || false}\n\t\t\t\t\t\t\t\tonToggleExpand={() => handleToggleExpand(file.path)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t)\n})\n\nBatchDiffApproval.displayName = \"BatchDiffApproval\"\n", + "import { VSCodeProgressRing } from \"@vscode/webview-ui-toolkit/react\"\n\nexport const ProgressIndicator = () => (\n\t<div\n\t\tstyle={{\n\t\t\twidth: \"16px\",\n\t\t\theight: \"16px\",\n\t\t\tdisplay: \"flex\",\n\t\t\talignItems: \"center\",\n\t\t\tjustifyContent: \"center\",\n\t\t}}>\n\t\t<div style={{ transform: \"scale(0.55)\", transformOrigin: \"center\" }}>\n\t\t\t<VSCodeProgressRing />\n\t\t</div>\n\t</div>\n)\n", + "import React, { useState, useMemo } from \"react\"\nimport { Check, ChevronDown, Info, X } from \"lucide-react\"\nimport { cn } from \"../../lib/utils\"\nimport { useTranslation, Trans } from \"react-i18next\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { StandardTooltip } from \"../ui/standard-tooltip\"\n\ninterface CommandPattern {\n\tpattern: string\n\tdescription?: string\n}\n\ninterface CommandPatternSelectorProps {\n\tpatterns: CommandPattern[]\n\tallowedCommands: string[]\n\tdeniedCommands: string[]\n\tonAllowPatternChange: (pattern: string) => void\n\tonDenyPatternChange: (pattern: string) => void\n}\n\nexport const CommandPatternSelector: React.FC<CommandPatternSelectorProps> = ({\n\tpatterns,\n\tallowedCommands,\n\tdeniedCommands,\n\tonAllowPatternChange,\n\tonDenyPatternChange,\n}) => {\n\tconst { t } = useTranslation()\n\tconst [isExpanded, setIsExpanded] = useState(false)\n\tconst [editingStates, setEditingStates] = useState<Record<string, { isEditing: boolean; value: string }>>({})\n\n\tconst handleOpenSettings = () => {\n\t\twindow.postMessage({ type: \"action\", action: \"settingsButtonClicked\", values: { section: \"autoApprove\" } })\n\t}\n\n\t// Create a combined list with full command first, then patterns\n\tconst allPatterns = useMemo(() => {\n\t\t// Create a set to track unique patterns we've already seen\n\t\tconst seenPatterns = new Set<string>()\n\n\t\t// Filter out any patterns that are duplicates or are the same as the full command\n\t\tconst uniquePatterns = patterns.filter((p) => {\n\t\t\tif (seenPatterns.has(p.pattern)) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tseenPatterns.add(p.pattern)\n\t\t\treturn true\n\t\t})\n\n\t\treturn uniquePatterns\n\t}, [patterns])\n\n\tconst getPatternStatus = (pattern: string): \"allowed\" | \"denied\" | \"none\" => {\n\t\tif (allowedCommands.includes(pattern)) return \"allowed\"\n\t\tif (deniedCommands.includes(pattern)) return \"denied\"\n\t\treturn \"none\"\n\t}\n\n\tconst getEditState = (pattern: string) => {\n\t\treturn editingStates[pattern] || { isEditing: false, value: pattern }\n\t}\n\n\tconst setEditState = (pattern: string, isEditing: boolean, value?: string) => {\n\t\tsetEditingStates((prev) => ({\n\t\t\t...prev,\n\t\t\t[pattern]: { isEditing, value: value ?? pattern },\n\t\t}))\n\t}\n\n\treturn (\n\t\t<div className=\"border-t border-vscode-panel-border bg-vscode-sideBar-background/30\">\n\t\t\t<button\n\t\t\t\tonClick={() => setIsExpanded(!isExpanded)}\n\t\t\t\tclassName=\"w-full px-3 py-2 flex items-center justify-between hover:bg-vscode-list-hoverBackground transition-colors\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<ChevronDown\n\t\t\t\t\t\tclassName={cn(\"size-4 transition-transform\", {\n\t\t\t\t\t\t\t\"-rotate-90\": !isExpanded,\n\t\t\t\t\t\t})}\n\t\t\t\t\t/>\n\t\t\t\t\t<span className=\"text-sm font-medium\">{t(\"chat:commandExecution.manageCommands\")}</span>\n\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<div className=\"max-w-xs\">\n\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\ti18nKey=\"chat:commandExecution.commandManagementDescription\"\n\t\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\t\tsettingsLink: (\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleOpenSettings()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-textLink-foreground hover:text-vscode-textLink-activeForeground\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t<Info className=\"size-3.5 text-vscode-descriptionForeground\" />\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t</button>\n\n\t\t\t{isExpanded && (\n\t\t\t\t<div className=\"px-3 pb-3 space-y-2\">\n\t\t\t\t\t{allPatterns.map((item) => {\n\t\t\t\t\t\tconst editState = getEditState(item.pattern)\n\t\t\t\t\t\tconst status = getPatternStatus(editState.value)\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div key={item.pattern} className=\"ml-5 flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<div className=\"flex-1\">\n\t\t\t\t\t\t\t\t\t{editState.isEditing ? (\n\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={editState.value}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setEditState(item.pattern, true, e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\tonBlur={() => setEditState(item.pattern, false)}\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditState(item.pattern, false)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Escape\") {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditState(item.pattern, false, item.pattern)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-mono text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded px-2 py-1.5 w-full focus:outline-0 focus:ring-1 focus:ring-vscode-focusBorder\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={item.pattern}\n\t\t\t\t\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => setEditState(item.pattern, true)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-mono text-xs text-vscode-foreground cursor-pointer hover:bg-vscode-list-hoverBackground px-2 py-1.5 rounded transition-colors border border-transparent break-all\"\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"Click to edit pattern\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"break-all\">{editState.value}</span>\n\t\t\t\t\t\t\t\t\t\t\t{item.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-vscode-descriptionForeground ml-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t- {item.description}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\"p-1 rounded transition-all\", {\n\t\t\t\t\t\t\t\t\t\t\t\"bg-green-500/20 text-green-500 hover:bg-green-500/30\":\n\t\t\t\t\t\t\t\t\t\t\t\tstatus === \"allowed\",\n\t\t\t\t\t\t\t\t\t\t\t\"text-vscode-descriptionForeground hover:text-green-500 hover:bg-green-500/10\":\n\t\t\t\t\t\t\t\t\t\t\t\tstatus !== \"allowed\",\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\tonClick={() => onAllowPatternChange(editState.value)}\n\t\t\t\t\t\t\t\t\t\taria-label={t(\n\t\t\t\t\t\t\t\t\t\t\tstatus === \"allowed\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"chat:commandExecution.removeFromAllowed\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"chat:commandExecution.addToAllowed\",\n\t\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t\t<Check className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\"p-1 rounded transition-all\", {\n\t\t\t\t\t\t\t\t\t\t\t\"bg-red-500/20 text-red-500 hover:bg-red-500/30\": status === \"denied\",\n\t\t\t\t\t\t\t\t\t\t\t\"text-vscode-descriptionForeground hover:text-red-500 hover:bg-red-500/10\":\n\t\t\t\t\t\t\t\t\t\t\t\tstatus !== \"denied\",\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\tonClick={() => onDenyPatternChange(editState.value)}\n\t\t\t\t\t\t\t\t\t\taria-label={t(\n\t\t\t\t\t\t\t\t\t\t\tstatus === \"denied\"\n\t\t\t\t\t\t\t\t\t\t\t\t? \"chat:commandExecution.removeFromDenied\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"chat:commandExecution.addToDenied\",\n\t\t\t\t\t\t\t\t\t\t)}>\n\t\t\t\t\t\t\t\t\t\t<X className=\"size-3.5\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import { parse } from \"shell-quote\"\n\n/**\n * Extract command patterns from a command string.\n * Returns at most 3 levels: base command, command + first argument, and command + first two arguments.\n * Stops at flags (-), paths (/\\~), file extensions (.ext), or special characters (:).\n */\nexport function extractPatternsFromCommand(command: string): string[] {\n\tif (!command?.trim()) return []\n\n\tconst patterns = new Set<string>()\n\n\ttry {\n\t\tconst parsed = parse(command)\n\t\tconst commandSeparators = new Set([\"|\", \"&&\", \"||\", \";\"])\n\t\tlet currentTokens: string[] = []\n\n\t\tfor (const token of parsed) {\n\t\t\tif (typeof token === \"object\" && \"op\" in token && commandSeparators.has(token.op)) {\n\t\t\t\t// Process accumulated tokens as a command\n\t\t\t\tif (currentTokens.length > 0) {\n\t\t\t\t\textractFromTokens(currentTokens, patterns)\n\t\t\t\t\tcurrentTokens = []\n\t\t\t\t}\n\t\t\t} else if (typeof token === \"string\") {\n\t\t\t\tcurrentTokens.push(token)\n\t\t\t}\n\t\t}\n\n\t\t// Process any remaining tokens\n\t\tif (currentTokens.length > 0) {\n\t\t\textractFromTokens(currentTokens, patterns)\n\t\t}\n\t} catch (error) {\n\t\tconsole.warn(\"Failed to parse command:\", error)\n\t\t// Fallback: just extract the first word\n\t\tconst firstWord = command.trim().split(/\\s+/)[0]\n\t\tif (firstWord) patterns.add(firstWord)\n\t}\n\n\treturn Array.from(patterns).sort()\n}\n\nfunction extractFromTokens(tokens: string[], patterns: Set<string>): void {\n\tif (tokens.length === 0 || typeof tokens[0] !== \"string\") return\n\n\tconst mainCmd = tokens[0]\n\n\t// Skip numeric commands like \"0\" from \"0 total\"\n\tif (/^\\d+$/.test(mainCmd)) return\n\n\tpatterns.add(mainCmd)\n\n\t// Breaking expressions that indicate we should stop looking for subcommands\n\tconst breakingExps = [/^-/, /[\\\\/:.~ ]/]\n\n\t// Extract up to 3 levels maximum\n\tconst maxLevels = Math.min(tokens.length, 3)\n\n\tfor (let i = 1; i < maxLevels; i++) {\n\t\tconst arg = tokens[i]\n\n\t\tif (typeof arg !== \"string\" || breakingExps.some((re) => re.test(arg))) break\n\n\t\tconst pattern = tokens.slice(0, i + 1).join(\" \")\n\t\tpatterns.add(pattern.trim())\n\t}\n}\n", + "import { useCallback, useState, memo, useMemo } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { ChevronDown, Skull } from \"lucide-react\"\n\nimport { CommandExecutionStatus, commandExecutionStatusSchema } from \"@roo-code/types\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\nimport { safeJsonParse } from \"@roo/safeJsonParse\"\n\nimport { COMMAND_OUTPUT_STRING } from \"@roo/combineCommandSequences\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { cn } from \"@src/lib/utils\"\nimport { Button } from \"@src/components/ui\"\nimport CodeBlock from \"../common/CodeBlock\"\nimport { CommandPatternSelector } from \"./CommandPatternSelector\"\nimport { parseCommand } from \"../../utils/command-validation\"\nimport { extractPatternsFromCommand } from \"../../utils/command-parser\"\n\ninterface CommandPattern {\n\tpattern: string\n\tdescription?: string\n}\n\ninterface CommandExecutionProps {\n\texecutionId: string\n\ttext?: string\n\ticon?: JSX.Element | null\n\ttitle?: JSX.Element | null\n}\n\nexport const CommandExecution = ({ executionId, text, icon, title }: CommandExecutionProps) => {\n\tconst {\n\t\tterminalShellIntegrationDisabled = false,\n\t\tallowedCommands = [],\n\t\tdeniedCommands = [],\n\t\tsetAllowedCommands,\n\t\tsetDeniedCommands,\n\t} = useExtensionState()\n\n\tconst { command, output: parsedOutput } = useMemo(() => parseCommandAndOutput(text), [text])\n\n\t// If we aren't opening the VSCode terminal for this command then we default\n\t// to expanding the command execution output.\n\tconst [isExpanded, setIsExpanded] = useState(terminalShellIntegrationDisabled)\n\tconst [streamingOutput, setStreamingOutput] = useState(\"\")\n\tconst [status, setStatus] = useState<CommandExecutionStatus | null>(null)\n\n\t// The command's output can either come from the text associated with the\n\t// task message (this is the case for completed commands) or from the\n\t// streaming output (this is the case for running commands).\n\tconst output = streamingOutput || parsedOutput\n\n\t// Extract command patterns from the actual command that was executed\n\tconst commandPatterns = useMemo<CommandPattern[]>(() => {\n\t\t// First get all individual commands (including subshell commands) using parseCommand\n\t\tconst allCommands = parseCommand(command)\n\n\t\t// Then extract patterns from each command using the existing pattern extraction logic\n\t\tconst allPatterns = new Set<string>()\n\n\t\t// Add all individual commands first\n\t\tallCommands.forEach((cmd) => {\n\t\t\tif (cmd.trim()) {\n\t\t\t\tallPatterns.add(cmd.trim())\n\t\t\t}\n\t\t})\n\n\t\t// Then add extracted patterns for each command\n\t\tallCommands.forEach((cmd) => {\n\t\t\tconst patterns = extractPatternsFromCommand(cmd)\n\t\t\tpatterns.forEach((pattern) => allPatterns.add(pattern))\n\t\t})\n\n\t\treturn Array.from(allPatterns).map((pattern) => ({\n\t\t\tpattern,\n\t\t}))\n\t}, [command])\n\n\t// Handle pattern changes\n\tconst handleAllowPatternChange = (pattern: string) => {\n\t\tconst isAllowed = allowedCommands.includes(pattern)\n\t\tconst newAllowed = isAllowed ? allowedCommands.filter((p) => p !== pattern) : [...allowedCommands, pattern]\n\t\tconst newDenied = deniedCommands.filter((p) => p !== pattern)\n\n\t\tsetAllowedCommands(newAllowed)\n\t\tsetDeniedCommands(newDenied)\n\t\tvscode.postMessage({ type: \"allowedCommands\", commands: newAllowed })\n\t\tvscode.postMessage({ type: \"deniedCommands\", commands: newDenied })\n\t}\n\n\tconst handleDenyPatternChange = (pattern: string) => {\n\t\tconst isDenied = deniedCommands.includes(pattern)\n\t\tconst newDenied = isDenied ? deniedCommands.filter((p) => p !== pattern) : [...deniedCommands, pattern]\n\t\tconst newAllowed = allowedCommands.filter((p) => p !== pattern)\n\n\t\tsetAllowedCommands(newAllowed)\n\t\tsetDeniedCommands(newDenied)\n\t\tvscode.postMessage({ type: \"allowedCommands\", commands: newAllowed })\n\t\tvscode.postMessage({ type: \"deniedCommands\", commands: newDenied })\n\t}\n\n\tconst onMessage = useCallback(\n\t\t(event: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = event.data\n\n\t\t\tif (message.type === \"commandExecutionStatus\") {\n\t\t\t\tconst result = commandExecutionStatusSchema.safeParse(safeJsonParse(message.text, {}))\n\n\t\t\t\tif (result.success) {\n\t\t\t\t\tconst data = result.data\n\n\t\t\t\t\tif (data.executionId !== executionId) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch (data.status) {\n\t\t\t\t\t\tcase \"started\":\n\t\t\t\t\t\t\tsetStatus(data)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"output\":\n\t\t\t\t\t\t\tsetStreamingOutput(data.output)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"fallback\":\n\t\t\t\t\t\t\tsetIsExpanded(true)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetStatus(data)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[executionId],\n\t)\n\n\tuseEvent(\"message\", onMessage)\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"flex flex-row items-center justify-between gap-2 mb-1\">\n\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t{icon}\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex flex-row items-center justify-between gap-2 px-1\">\n\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t{status?.status === \"started\" && (\n\t\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-2 font-mono text-xs\">\n\t\t\t\t\t\t\t\t<div className=\"rounded-full size-1.5 bg-lime-400\" />\n\t\t\t\t\t\t\t\t<div>Running</div>\n\t\t\t\t\t\t\t\t{status.pid && <div className=\"whitespace-nowrap\">(PID: {status.pid})</div>}\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"terminalOperation\", terminalOperation: \"abort\" })\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t<Skull />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{status?.status === \"exited\" && (\n\t\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-2 font-mono text-xs\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\"rounded-full size-1.5\",\n\t\t\t\t\t\t\t\t\t\tstatus.exitCode === 0 ? \"bg-lime-400\" : \"bg-red-400\",\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"whitespace-nowrap\">Exited ({status.exitCode})</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{output.length > 0 && (\n\t\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={() => setIsExpanded(!isExpanded)}>\n\t\t\t\t\t\t\t\t<ChevronDown\n\t\t\t\t\t\t\t\t\tclassName={cn(\"size-4 transition-transform duration-300\", {\n\t\t\t\t\t\t\t\t\t\t\"rotate-180\": isExpanded,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"w-full bg-vscode-editor-background border border-vscode-border rounded-xs\">\n\t\t\t\t<div className=\"p-2\">\n\t\t\t\t\t<CodeBlock source={command} language=\"shell\" />\n\t\t\t\t\t<OutputContainer isExpanded={isExpanded} output={output} />\n\t\t\t\t</div>\n\t\t\t\t{command && command.trim() && (\n\t\t\t\t\t<CommandPatternSelector\n\t\t\t\t\t\tpatterns={commandPatterns}\n\t\t\t\t\t\tallowedCommands={allowedCommands}\n\t\t\t\t\t\tdeniedCommands={deniedCommands}\n\t\t\t\t\t\tonAllowPatternChange={handleAllowPatternChange}\n\t\t\t\t\t\tonDenyPatternChange={handleDenyPatternChange}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nCommandExecution.displayName = \"CommandExecution\"\n\nconst OutputContainerInternal = ({ isExpanded, output }: { isExpanded: boolean; output: string }) => (\n\t<div\n\t\tclassName={cn(\"overflow-hidden\", {\n\t\t\t\"max-h-0\": !isExpanded,\n\t\t\t\"max-h-[100%] mt-1 pt-1 border-t border-border/25\": isExpanded,\n\t\t})}>\n\t\t{output.length > 0 && <CodeBlock source={output} language=\"log\" />}\n\t</div>\n)\n\nconst OutputContainer = memo(OutputContainerInternal)\n\nconst parseCommandAndOutput = (text: string | undefined) => {\n\tif (!text) {\n\t\treturn { command: \"\", output: \"\" }\n\t}\n\n\tconst index = text.indexOf(COMMAND_OUTPUT_STRING)\n\n\tif (index === -1) {\n\t\treturn { command: text, output: \"\" }\n\t}\n\n\treturn {\n\t\tcommand: text.slice(0, index),\n\t\toutput: text.slice(index + COMMAND_OUTPUT_STRING.length),\n\t}\n}\n", + "import { useCallback } from \"react\"\nimport { useTranslation, Trans } from \"react-i18next\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { buildDocLink } from \"../../utils/docLinks\"\n\nexport const CommandExecutionError = () => {\n\tconst { t } = useTranslation()\n\n\tconst onClick = useCallback((e: React.MouseEvent<HTMLAnchorElement>) => {\n\t\te.preventDefault()\n\t\twindow.postMessage({ type: \"action\", action: \"settingsButtonClicked\", values: { section: \"terminal\" } }, \"*\")\n\t}, [])\n\n\treturn (\n\t\t<div className=\"text-sm bg-vscode-editor-background border border-vscode-border rounded-xs p-2\">\n\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t<i className=\"codicon codicon-warning mr-1 text-vscode-editorWarning-foreground\" />\n\t\t\t\t\t<span className=\"text-vscode-editorWarning-foreground font-medium\">\n\t\t\t\t\t\t{t(\"chat:shellIntegration.title\")}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<Trans\n\t\t\t\t\t\ti18nKey=\"chat:shellIntegration.description\"\n\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\tsettingsLink: <VSCodeLink href=\"#\" onClick={onClick} className=\"inline\" />,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<a\n\t\t\t\t\thref={buildDocLink(\"troubleshooting/shell-integration/\", \"error_tooltip\")}\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\tstyle={{ color: \"inherit\" }}>\n\t\t\t\t\t{t(\"chat:shellIntegration.troubleshooting\")}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import React, { memo, useState } from \"react\"\nimport { VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\nimport { Trans } from \"react-i18next\"\n\nimport type { ClineMessage } from \"@roo-code/types\"\n\nimport { vscode } from \"@src/utils/vscode\"\n\ntype AutoApprovedRequestLimitWarningProps = {\n\tmessage: ClineMessage\n}\n\nexport const AutoApprovedRequestLimitWarning = memo(({ message }: AutoApprovedRequestLimitWarningProps) => {\n\tconst [buttonClicked, setButtonClicked] = useState(false)\n\tconst { count, type = \"requests\" } = JSON.parse(message.text ?? \"{}\")\n\n\tif (buttonClicked) {\n\t\treturn null\n\t}\n\n\tconst isCostLimit = type === \"cost\"\n\tconst titleKey = isCostLimit\n\t\t? \"ask.autoApprovedCostLimitReached.title\"\n\t\t: \"ask.autoApprovedRequestLimitReached.title\"\n\tconst descriptionKey = isCostLimit\n\t\t? \"ask.autoApprovedCostLimitReached.description\"\n\t\t: \"ask.autoApprovedRequestLimitReached.description\"\n\tconst buttonKey = isCostLimit\n\t\t? \"ask.autoApprovedCostLimitReached.button\"\n\t\t: \"ask.autoApprovedRequestLimitReached.button\"\n\n\treturn (\n\t\t<>\n\t\t\t<div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\", color: \"var(--vscode-foreground)\" }}>\n\t\t\t\t<span className=\"codicon codicon-warning\" />\n\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t<Trans i18nKey={titleKey} ns=\"chat\" />\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tclassName=\"bg-vscode-panel-border flex flex-col gap-3\"\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\tmarginTop: \"15px\",\n\t\t\t\t\tpadding: \"14px 16px 22px\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t}}>\n\t\t\t\t<div className=\"flex justify-between items-center\">\n\t\t\t\t\t<Trans i18nKey={descriptionKey} ns=\"chat\" values={{ count }} />\n\t\t\t\t</div>\n\t\t\t\t<VSCodeButton\n\t\t\t\t\tstyle={{ width: \"100%\", padding: \"6px\", borderRadius: \"4px\" }}\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\tsetButtonClicked(true)\n\t\t\t\t\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"yesButtonClicked\" })\n\t\t\t\t\t}}>\n\t\t\t\t\t<Trans i18nKey={buttonKey} ns=\"chat\" />\n\t\t\t\t</VSCodeButton>\n\t\t\t</div>\n\t\t</>\n\t)\n})\n", + "import { useState } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { VSCodeBadge } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ContextCondense } from \"@roo-code/types\"\n\nimport { Markdown } from \"./Markdown\"\nimport { ProgressIndicator } from \"./ProgressIndicator\"\n\nexport const ContextCondenseRow = ({ cost, prevContextTokens, newContextTokens, summary }: ContextCondense) => {\n\tconst { t } = useTranslation()\n\tconst [isExpanded, setIsExpanded] = useState(false)\n\n\treturn (\n\t\t<div className=\"mb-2\">\n\t\t\t<div\n\t\t\t\tclassName=\"flex items-center justify-between cursor-pointer select-none\"\n\t\t\t\tonClick={() => setIsExpanded(!isExpanded)}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: 16,\n\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`codicon codicon-check`}\n\t\t\t\t\t\tstyle={{ color: \"var(--vscode-charts-green)\", fontSize: 16, marginBottom: \"-1.5px\" }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex items-center gap-2 flex-grow\">\n\t\t\t\t\t<span className=\"codicon codicon-compress text-blue-400\" />\n\t\t\t\t\t<span className=\"font-bold text-vscode-foreground\">{t(\"chat:contextCondense.title\")}</span>\n\t\t\t\t\t<span className=\"text-vscode-descriptionForeground text-sm\">\n\t\t\t\t\t\t{prevContextTokens.toLocaleString()} → {newContextTokens.toLocaleString()} {t(\"tokens\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<VSCodeBadge className={cost > 0 ? \"opacity-100\" : \"opacity-0\"}>${cost.toFixed(2)}</VSCodeBadge>\n\t\t\t\t</div>\n\t\t\t\t<span className={`codicon codicon-chevron-${isExpanded ? \"up\" : \"down\"}`}></span>\n\t\t\t</div>\n\n\t\t\t{isExpanded && (\n\t\t\t\t<div className=\"mt-2 ml-0 p-4 bg-vscode-editor-background rounded text-vscode-foreground text-sm\">\n\t\t\t\t\t<Markdown markdown={summary} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport const CondensingContextRow = () => {\n\tconst { t } = useTranslation()\n\treturn (\n\t\t<div className=\"flex items-center gap-2\">\n\t\t\t<ProgressIndicator />\n\t\t\t<span className=\"codicon codicon-compress text-blue-400\" />\n\t\t\t<span className=\"font-bold text-vscode-foreground\">{t(\"chat:contextCondense.condensing\")}</span>\n\t\t</div>\n\t)\n}\n\nexport const CondenseContextErrorRow = ({ errorText }: { errorText?: string }) => {\n\tconst { t } = useTranslation()\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<span className=\"codicon codicon-warning text-vscode-editorWarning-foreground opacity-80 text-base -mb-0.5\"></span>\n\t\t\t\t<span className=\"font-bold text-vscode-foreground\">{t(\"chat:contextCondense.errorHeader\")}</span>\n\t\t\t</div>\n\t\t\t<span className=\"text-vscode-descriptionForeground text-sm\">{errorText}</span>\n\t\t</div>\n\t)\n}\n", + "import React from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { StandardTooltip } from \"@/components/ui\"\n\ninterface CodebaseSearchResultProps {\n\tfilePath: string\n\tscore: number\n\tstartLine: number\n\tendLine: number\n\tsnippet: string\n\tlanguage: string\n}\n\nconst CodebaseSearchResult: React.FC<CodebaseSearchResultProps> = ({ filePath, score, startLine, endLine }) => {\n\tconst { t } = useTranslation(\"chat\")\n\n\tconst handleClick = () => {\n\t\tconsole.log(filePath)\n\t\tvscode.postMessage({\n\t\t\ttype: \"openFile\",\n\t\t\ttext: \"./\" + filePath,\n\t\t\tvalues: {\n\t\t\t\tline: startLine,\n\t\t\t},\n\t\t})\n\t}\n\n\treturn (\n\t\t<StandardTooltip content={t(\"codebaseSearch.resultTooltip\", { score: score.toFixed(3) })}>\n\t\t\t<div\n\t\t\t\tonClick={handleClick}\n\t\t\t\tclassName=\"p-2 border border-[var(--vscode-editorGroup-border)] cursor-pointer hover:bg-secondary hover:text-white\">\n\t\t\t\t<div className=\"flex gap-2 items-center overflow-hidden\">\n\t\t\t\t\t<span className=\"text-primary-300 whitespace-nowrap flex-shrink-0\">\n\t\t\t\t\t\t{filePath.split(\"/\").at(-1)}:{startLine === endLine ? startLine : `${startLine}-${endLine}`}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-gray-500 truncate min-w-0 flex-1\">\n\t\t\t\t\t\t{filePath.split(\"/\").slice(0, -1).join(\"/\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"text-xs text-vscode-descriptionForeground whitespace-nowrap ml-auto opacity-60\">\n\t\t\t\t\t\t{score.toFixed(3)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</StandardTooltip>\n\t)\n}\n\nexport default CodebaseSearchResult\n", + "import React, { useState } from \"react\"\nimport CodebaseSearchResult from \"./CodebaseSearchResult\"\nimport { Trans } from \"react-i18next\"\n\ninterface CodebaseSearchResultsDisplayProps {\n\tresults: Array<{\n\t\tfilePath: string\n\t\tscore: number\n\t\tstartLine: number\n\t\tendLine: number\n\t\tcodeChunk: string\n\t}>\n}\n\nconst CodebaseSearchResultsDisplay: React.FC<CodebaseSearchResultsDisplayProps> = ({ results }) => {\n\tconst [codebaseSearchResultsExpanded, setCodebaseSearchResultsExpanded] = useState(false)\n\n\treturn (\n\t\t<div className=\"flex flex-col -mt-4 gap-1\">\n\t\t\t<div\n\t\t\t\tonClick={() => setCodebaseSearchResultsExpanded(!codebaseSearchResultsExpanded)}\n\t\t\t\tclassName=\"cursor-pointer flex items-center justify-between px-2 py-2 border bg-[var(--vscode-editor-background)] border-[var(--vscode-editorGroup-border)]\">\n\t\t\t\t<span>\n\t\t\t\t\t<Trans\n\t\t\t\t\t\ti18nKey=\"chat:codebaseSearch.didSearch\"\n\t\t\t\t\t\tcount={results.length}\n\t\t\t\t\t\tvalues={{ count: results.length }}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className={`codicon codicon-chevron-${codebaseSearchResultsExpanded ? \"up\" : \"down\"}`}></span>\n\t\t\t</div>\n\n\t\t\t{codebaseSearchResultsExpanded && (\n\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t{results.map((result, idx) => (\n\t\t\t\t\t\t<CodebaseSearchResult\n\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\tfilePath={result.filePath}\n\t\t\t\t\t\t\tscore={result.score}\n\t\t\t\t\t\t\tstartLine={result.startLine}\n\t\t\t\t\t\t\tendLine={result.endLine}\n\t\t\t\t\t\t\tlanguage=\"plaintext\"\n\t\t\t\t\t\t\tsnippet={result.codeChunk}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default CodebaseSearchResultsDisplay\n", + "import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport { appendImages } from \"@src/utils/imageUtils\"\nimport { McpExecution } from \"./McpExecution\"\nimport { useSize } from \"react-use\"\nimport { useTranslation, Trans } from \"react-i18next\"\nimport deepEqual from \"fast-deep-equal\"\nimport { VSCodeBadge, VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ClineMessage } from \"@roo-code/types\"\nimport { Mode } from \"@roo/modes\"\n\nimport { ClineApiReqInfo, ClineAskUseMcpServer, ClineSayTool } from \"@roo/ExtensionMessage\"\nimport { COMMAND_OUTPUT_STRING } from \"@roo/combineCommandSequences\"\nimport { safeJsonParse } from \"@roo/safeJsonParse\"\nimport { FollowUpData, SuggestionItem } from \"@roo-code/types\"\n\nimport { useCopyToClipboard } from \"@src/utils/clipboard\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { findMatchingResourceOrTemplate } from \"@src/utils/mcp\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { removeLeadingNonAlphanumeric } from \"@src/utils/removeLeadingNonAlphanumeric\"\nimport { getLanguageFromPath } from \"@src/utils/getLanguageFromPath\"\nimport { Button } from \"@src/components/ui\"\n\nimport ChatTextArea from \"./ChatTextArea\"\nimport { MAX_IMAGES_PER_MESSAGE } from \"./ChatView\"\n\nimport { ToolUseBlock, ToolUseBlockHeader } from \"../common/ToolUseBlock\"\nimport UpdateTodoListToolBlock from \"./UpdateTodoListToolBlock\"\nimport CodeAccordian from \"../common/CodeAccordian\"\nimport CodeBlock from \"../common/CodeBlock\"\nimport MarkdownBlock from \"../common/MarkdownBlock\"\nimport { ReasoningBlock } from \"./ReasoningBlock\"\nimport Thumbnails from \"../common/Thumbnails\"\nimport McpResourceRow from \"../mcp/McpResourceRow\"\n\nimport { Mention } from \"./Mention\"\nimport { CheckpointSaved } from \"./checkpoints/CheckpointSaved\"\nimport { FollowUpSuggest } from \"./FollowUpSuggest\"\nimport { BatchFilePermission } from \"./BatchFilePermission\"\nimport { BatchDiffApproval } from \"./BatchDiffApproval\"\nimport { ProgressIndicator } from \"./ProgressIndicator\"\nimport { Markdown } from \"./Markdown\"\nimport { CommandExecution } from \"./CommandExecution\"\nimport { CommandExecutionError } from \"./CommandExecutionError\"\nimport { AutoApprovedRequestLimitWarning } from \"./AutoApprovedRequestLimitWarning\"\nimport { CondenseContextErrorRow, CondensingContextRow, ContextCondenseRow } from \"./ContextCondenseRow\"\nimport CodebaseSearchResultsDisplay from \"./CodebaseSearchResultsDisplay\"\n\ninterface ChatRowProps {\n\tmessage: ClineMessage\n\tlastModifiedMessage?: ClineMessage\n\tisExpanded: boolean\n\tisLast: boolean\n\tisStreaming: boolean\n\tonToggleExpand: (ts: number) => void\n\tonHeightChange: (isTaller: boolean) => void\n\tonSuggestionClick?: (suggestion: SuggestionItem, event?: React.MouseEvent) => void\n\tonBatchFileResponse?: (response: { [key: string]: boolean }) => void\n\tonFollowUpUnmount?: () => void\n\tisFollowUpAnswered?: boolean\n\teditable?: boolean\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface ChatRowContentProps extends Omit<ChatRowProps, \"onHeightChange\"> {}\n\nconst ChatRow = memo(\n\t(props: ChatRowProps) => {\n\t\tconst { isLast, onHeightChange, message } = props\n\t\t// Store the previous height to compare with the current height\n\t\t// This allows us to detect changes without causing re-renders\n\t\tconst prevHeightRef = useRef(0)\n\n\t\tconst [chatrow, { height }] = useSize(\n\t\t\t<div className=\"px-[15px] py-[10px] pr-[6px]\">\n\t\t\t\t<ChatRowContent {...props} />\n\t\t\t</div>,\n\t\t)\n\n\t\tuseEffect(() => {\n\t\t\t// used for partials, command output, etc.\n\t\t\t// NOTE: it's important we don't distinguish between partial or complete here since our scroll effects in chatview need to handle height change during partial -> complete\n\t\t\tconst isInitialRender = prevHeightRef.current === 0 // prevents scrolling when new element is added since we already scroll for that\n\t\t\t// height starts off at Infinity\n\t\t\tif (isLast && height !== 0 && height !== Infinity && height !== prevHeightRef.current) {\n\t\t\t\tif (!isInitialRender) {\n\t\t\t\t\tonHeightChange(height > prevHeightRef.current)\n\t\t\t\t}\n\t\t\t\tprevHeightRef.current = height\n\t\t\t}\n\t\t}, [height, isLast, onHeightChange, message])\n\n\t\t// we cannot return null as virtuoso does not support it, so we use a separate visibleMessages array to filter out messages that should not be rendered\n\t\treturn chatrow\n\t},\n\t// memo does shallow comparison of props, so we need to do deep comparison of arrays/objects whose properties might change\n\tdeepEqual,\n)\n\nexport default ChatRow\n\nexport const ChatRowContent = ({\n\tmessage,\n\tlastModifiedMessage,\n\tisExpanded,\n\tisLast,\n\tisStreaming,\n\tonToggleExpand,\n\tonSuggestionClick,\n\tonFollowUpUnmount,\n\tonBatchFileResponse,\n\tisFollowUpAnswered,\n\teditable,\n}: ChatRowContentProps) => {\n\tconst { t } = useTranslation()\n\tconst { mcpServers, alwaysAllowMcp, currentCheckpoint, mode } = useExtensionState()\n\tconst [reasoningCollapsed, setReasoningCollapsed] = useState(true)\n\tconst [isDiffErrorExpanded, setIsDiffErrorExpanded] = useState(false)\n\tconst [showCopySuccess, setShowCopySuccess] = useState(false)\n\tconst [isEditing, setIsEditing] = useState(false)\n\tconst [editedContent, setEditedContent] = useState(\"\")\n\tconst [editMode, setEditMode] = useState<Mode>(mode || \"code\")\n\tconst [editImages, setEditImages] = useState<string[]>([])\n\tconst { copyWithFeedback } = useCopyToClipboard()\n\n\t// Handle message events for image selection during edit mode\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tconst msg = event.data\n\t\t\tif (msg.type === \"selectedImages\" && msg.context === \"edit\" && msg.messageTs === message.ts && isEditing) {\n\t\t\t\tsetEditImages((prevImages) => appendImages(prevImages, msg.images, MAX_IMAGES_PER_MESSAGE))\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [isEditing, message.ts])\n\n\t// Memoized callback to prevent re-renders caused by inline arrow functions\n\tconst handleToggleExpand = useCallback(() => {\n\t\tonToggleExpand(message.ts)\n\t}, [onToggleExpand, message.ts])\n\n\t// Handle edit button click\n\tconst handleEditClick = useCallback(() => {\n\t\tsetIsEditing(true)\n\t\tsetEditedContent(message.text || \"\")\n\t\tsetEditImages(message.images || [])\n\t\tsetEditMode(mode || \"code\")\n\t\t// Edit mode is now handled entirely in the frontend\n\t\t// No need to notify the backend\n\t}, [message.text, message.images, mode])\n\n\t// Handle cancel edit\n\tconst handleCancelEdit = useCallback(() => {\n\t\tsetIsEditing(false)\n\t\tsetEditedContent(message.text || \"\")\n\t\tsetEditImages(message.images || [])\n\t\tsetEditMode(mode || \"code\")\n\t}, [message.text, message.images, mode])\n\n\t// Handle save edit\n\tconst handleSaveEdit = useCallback(() => {\n\t\tsetIsEditing(false)\n\t\t// Send edited message to backend\n\t\tvscode.postMessage({\n\t\t\ttype: \"submitEditedMessage\",\n\t\t\tvalue: message.ts,\n\t\t\teditedMessageContent: editedContent,\n\t\t\timages: editImages,\n\t\t})\n\t}, [message.ts, editedContent, editImages])\n\n\t// Handle image selection for editing\n\tconst handleSelectImages = useCallback(() => {\n\t\tvscode.postMessage({ type: \"selectImages\", context: \"edit\", messageTs: message.ts })\n\t}, [message.ts])\n\n\tconst [cost, apiReqCancelReason, apiReqStreamingFailedMessage] = useMemo(() => {\n\t\tif (message.text !== null && message.text !== undefined && message.say === \"api_req_started\") {\n\t\t\tconst info = safeJsonParse<ClineApiReqInfo>(message.text)\n\t\t\treturn [info?.cost, info?.cancelReason, info?.streamingFailedMessage]\n\t\t}\n\n\t\treturn [undefined, undefined, undefined]\n\t}, [message.text, message.say])\n\n\t// When resuming task, last wont be api_req_failed but a resume_task\n\t// message, so api_req_started will show loading spinner. That's why we just\n\t// remove the last api_req_started that failed without streaming anything.\n\tconst apiRequestFailedMessage =\n\t\tisLast && lastModifiedMessage?.ask === \"api_req_failed\" // if request is retried then the latest message is a api_req_retried\n\t\t\t? lastModifiedMessage?.text\n\t\t\t: undefined\n\n\tconst isCommandExecuting =\n\t\tisLast && lastModifiedMessage?.ask === \"command\" && lastModifiedMessage?.text?.includes(COMMAND_OUTPUT_STRING)\n\n\tconst isMcpServerResponding = isLast && lastModifiedMessage?.say === \"mcp_server_request_started\"\n\n\tconst type = message.type === \"ask\" ? message.ask : message.say\n\n\tconst normalColor = \"var(--vscode-foreground)\"\n\tconst errorColor = \"var(--vscode-errorForeground)\"\n\tconst successColor = \"var(--vscode-charts-green)\"\n\tconst cancelledColor = \"var(--vscode-descriptionForeground)\"\n\n\tconst [icon, title] = useMemo(() => {\n\t\tswitch (type) {\n\t\t\tcase \"error\":\n\t\t\t\treturn [\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"codicon codicon-error\"\n\t\t\t\t\t\tstyle={{ color: errorColor, marginBottom: \"-1.5px\" }}></span>,\n\t\t\t\t\t<span style={{ color: errorColor, fontWeight: \"bold\" }}>{t(\"chat:error\")}</span>,\n\t\t\t\t]\n\t\t\tcase \"mistake_limit_reached\":\n\t\t\t\treturn [\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"codicon codicon-error\"\n\t\t\t\t\t\tstyle={{ color: errorColor, marginBottom: \"-1.5px\" }}></span>,\n\t\t\t\t\t<span style={{ color: errorColor, fontWeight: \"bold\" }}>{t(\"chat:troubleMessage\")}</span>,\n\t\t\t\t]\n\t\t\tcase \"command\":\n\t\t\t\treturn [\n\t\t\t\t\tisCommandExecuting ? (\n\t\t\t\t\t\t<ProgressIndicator />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"codicon codicon-terminal\"\n\t\t\t\t\t\t\tstyle={{ color: normalColor, marginBottom: \"-1.5px\" }}></span>\n\t\t\t\t\t),\n\t\t\t\t\t<span style={{ color: normalColor, fontWeight: \"bold\" }}>{t(\"chat:runCommand.title\")}:</span>,\n\t\t\t\t]\n\t\t\tcase \"use_mcp_server\":\n\t\t\t\tconst mcpServerUse = safeJsonParse<ClineAskUseMcpServer>(message.text)\n\t\t\t\tif (mcpServerUse === undefined) {\n\t\t\t\t\treturn [null, null]\n\t\t\t\t}\n\t\t\t\treturn [\n\t\t\t\t\tisMcpServerResponding ? (\n\t\t\t\t\t\t<ProgressIndicator />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"codicon codicon-server\"\n\t\t\t\t\t\t\tstyle={{ color: normalColor, marginBottom: \"-1.5px\" }}></span>\n\t\t\t\t\t),\n\t\t\t\t\t<span style={{ color: normalColor, fontWeight: \"bold\" }}>\n\t\t\t\t\t\t{mcpServerUse.type === \"use_mcp_tool\"\n\t\t\t\t\t\t\t? t(\"chat:mcp.wantsToUseTool\", { serverName: mcpServerUse.serverName })\n\t\t\t\t\t\t\t: t(\"chat:mcp.wantsToAccessResource\", { serverName: mcpServerUse.serverName })}\n\t\t\t\t\t</span>,\n\t\t\t\t]\n\t\t\tcase \"completion_result\":\n\t\t\t\treturn [\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"codicon codicon-check\"\n\t\t\t\t\t\tstyle={{ color: successColor, marginBottom: \"-1.5px\" }}></span>,\n\t\t\t\t\t<span style={{ color: successColor, fontWeight: \"bold\" }}>{t(\"chat:taskCompleted\")}</span>,\n\t\t\t\t]\n\t\t\tcase \"api_req_retry_delayed\":\n\t\t\t\treturn []\n\t\t\tcase \"api_req_started\":\n\t\t\t\tconst getIconSpan = (iconName: string, color: string) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twidth: 16,\n\t\t\t\t\t\t\theight: 16,\n\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={`codicon codicon-${iconName}`}\n\t\t\t\t\t\t\tstyle={{ color, fontSize: 16, marginBottom: \"-1.5px\" }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t\treturn [\n\t\t\t\t\tapiReqCancelReason !== null && apiReqCancelReason !== undefined ? (\n\t\t\t\t\t\tapiReqCancelReason === \"user_cancelled\" ? (\n\t\t\t\t\t\t\tgetIconSpan(\"error\", cancelledColor)\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tgetIconSpan(\"error\", errorColor)\n\t\t\t\t\t\t)\n\t\t\t\t\t) : cost !== null && cost !== undefined ? (\n\t\t\t\t\t\tgetIconSpan(\"check\", successColor)\n\t\t\t\t\t) : apiRequestFailedMessage ? (\n\t\t\t\t\t\tgetIconSpan(\"error\", errorColor)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ProgressIndicator />\n\t\t\t\t\t),\n\t\t\t\t\tapiReqCancelReason !== null && apiReqCancelReason !== undefined ? (\n\t\t\t\t\t\tapiReqCancelReason === \"user_cancelled\" ? (\n\t\t\t\t\t\t\t<span style={{ color: normalColor, fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{t(\"chat:apiRequest.cancelled\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span style={{ color: errorColor, fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{t(\"chat:apiRequest.streamingFailed\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : cost !== null && cost !== undefined ? (\n\t\t\t\t\t\t<span style={{ color: normalColor, fontWeight: \"bold\" }}>{t(\"chat:apiRequest.title\")}</span>\n\t\t\t\t\t) : apiRequestFailedMessage ? (\n\t\t\t\t\t\t<span style={{ color: errorColor, fontWeight: \"bold\" }}>{t(\"chat:apiRequest.failed\")}</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span style={{ color: normalColor, fontWeight: \"bold\" }}>{t(\"chat:apiRequest.streaming\")}</span>\n\t\t\t\t\t),\n\t\t\t\t]\n\t\t\tcase \"followup\":\n\t\t\t\treturn [\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"codicon codicon-question\"\n\t\t\t\t\t\tstyle={{ color: normalColor, marginBottom: \"-1.5px\" }}\n\t\t\t\t\t/>,\n\t\t\t\t\t<span style={{ color: normalColor, fontWeight: \"bold\" }}>{t(\"chat:questions.hasQuestion\")}</span>,\n\t\t\t\t]\n\t\t\tdefault:\n\t\t\t\treturn [null, null]\n\t\t}\n\t}, [type, isCommandExecuting, message, isMcpServerResponding, apiReqCancelReason, cost, apiRequestFailedMessage, t])\n\n\tconst headerStyle: React.CSSProperties = {\n\t\tdisplay: \"flex\",\n\t\talignItems: \"center\",\n\t\tgap: \"10px\",\n\t\tmarginBottom: \"10px\",\n\t\twordBreak: \"break-word\",\n\t}\n\n\tconst pStyle: React.CSSProperties = {\n\t\tmargin: 0,\n\t\twhiteSpace: \"pre-wrap\",\n\t\twordBreak: \"break-word\",\n\t\toverflowWrap: \"anywhere\",\n\t}\n\n\tconst tool = useMemo(\n\t\t() => (message.ask === \"tool\" ? safeJsonParse<ClineSayTool>(message.text) : null),\n\t\t[message.ask, message.text],\n\t)\n\n\tconst followUpData = useMemo(() => {\n\t\tif (message.type === \"ask\" && message.ask === \"followup\" && !message.partial) {\n\t\t\treturn safeJsonParse<FollowUpData>(message.text)\n\t\t}\n\t\treturn null\n\t}, [message.type, message.ask, message.partial, message.text])\n\n\tif (tool) {\n\t\tconst toolIcon = (name: string) => (\n\t\t\t<span\n\t\t\t\tclassName={`codicon codicon-${name}`}\n\t\t\t\tstyle={{ color: \"var(--vscode-foreground)\", marginBottom: \"-1.5px\" }}></span>\n\t\t)\n\n\t\tswitch (tool.tool) {\n\t\t\tcase \"editedExistingFile\":\n\t\t\tcase \"appliedDiff\":\n\t\t\t\t// Check if this is a batch diff request\n\t\t\t\tif (message.type === \"ask\" && tool.batchDiffs && Array.isArray(tool.batchDiffs)) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t{toolIcon(\"diff\")}\n\t\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t\t{t(\"chat:fileOperations.wantsToApplyBatchChanges\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<BatchDiffApproval files={tool.batchDiffs} ts={message.ts} />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Regular single file diff\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{tool.isProtected ? (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-lock\"\n\t\t\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-editorWarning-foreground)\", marginBottom: \"-1.5px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\ttoolIcon(tool.tool === \"appliedDiff\" ? \"diff\" : \"edit\")\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{tool.isProtected\n\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToEditProtected\")\n\t\t\t\t\t\t\t\t\t: tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToEditOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:fileOperations.wantsToEdit\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.content ?? tool.diff}\n\t\t\t\t\t\t\tlanguage=\"diff\"\n\t\t\t\t\t\t\tprogressStatus={message.progressStatus}\n\t\t\t\t\t\t\tisLoading={message.partial}\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"insertContent\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{tool.isProtected ? (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-lock\"\n\t\t\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-editorWarning-foreground)\", marginBottom: \"-1.5px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\ttoolIcon(\"insert\")\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{tool.isProtected\n\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToEditProtected\")\n\t\t\t\t\t\t\t\t\t: tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToEditOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: tool.lineNumber === 0\n\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToInsertAtEnd\")\n\t\t\t\t\t\t\t\t\t\t\t: t(\"chat:fileOperations.wantsToInsertWithLineNumber\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlineNumber: tool.lineNumber,\n\t\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.diff}\n\t\t\t\t\t\t\tlanguage=\"diff\"\n\t\t\t\t\t\t\tprogressStatus={message.progressStatus}\n\t\t\t\t\t\t\tisLoading={message.partial}\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"searchAndReplace\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{tool.isProtected ? (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-lock\"\n\t\t\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-editorWarning-foreground)\", marginBottom: \"-1.5px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\ttoolIcon(\"replace\")\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{tool.isProtected && message.type === \"ask\"\n\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToEditProtected\")\n\t\t\t\t\t\t\t\t\t: message.type === \"ask\"\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToSearchReplace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:fileOperations.didSearchReplace\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.diff}\n\t\t\t\t\t\t\tlanguage=\"diff\"\n\t\t\t\t\t\t\tprogressStatus={message.progressStatus}\n\t\t\t\t\t\t\tisLoading={message.partial}\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"codebaseSearch\": {\n\t\t\t\treturn (\n\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t{toolIcon(\"search\")}\n\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t{tool.path ? (\n\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\ti18nKey=\"chat:codebaseSearch.wantsToSearchWithPath\"\n\t\t\t\t\t\t\t\t\tcomponents={{ code: <code></code> }}\n\t\t\t\t\t\t\t\t\tvalues={{ query: tool.query, path: tool.path }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\ti18nKey=\"chat:codebaseSearch.wantsToSearch\"\n\t\t\t\t\t\t\t\t\tcomponents={{ code: <code></code> }}\n\t\t\t\t\t\t\t\t\tvalues={{ query: tool.query }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t\tcase \"updateTodoList\" as any: {\n\t\t\t\tconst todos = (tool as any).todos || []\n\t\t\t\treturn (\n\t\t\t\t\t<UpdateTodoListToolBlock\n\t\t\t\t\t\ttodos={todos}\n\t\t\t\t\t\tcontent={(tool as any).content}\n\t\t\t\t\t\tonChange={(updatedTodos) => {\n\t\t\t\t\t\t\tif (typeof vscode !== \"undefined\" && vscode?.postMessage) {\n\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"updateTodoList\", payload: { todos: updatedTodos } })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\teditable={editable && isLast}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\tcase \"newFileCreated\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{tool.isProtected ? (\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-lock\"\n\t\t\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-editorWarning-foreground)\", marginBottom: \"-1.5px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\ttoolIcon(\"new-file\")\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{tool.isProtected\n\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToEditProtected\")\n\t\t\t\t\t\t\t\t\t: t(\"chat:fileOperations.wantsToCreate\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.content}\n\t\t\t\t\t\t\tlanguage={getLanguageFromPath(tool.path || \"\") || \"log\"}\n\t\t\t\t\t\t\tisLoading={message.partial}\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t\tonJumpToFile={() => vscode.postMessage({ type: \"openFile\", text: \"./\" + tool.path })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"readFile\":\n\t\t\t\t// Check if this is a batch file permission request\n\t\t\t\tconst isBatchRequest = message.type === \"ask\" && tool.batchFiles && Array.isArray(tool.batchFiles)\n\n\t\t\t\tif (isBatchRequest) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t{toolIcon(\"files\")}\n\t\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t\t{t(\"chat:fileOperations.wantsToReadMultiple\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<BatchFilePermission\n\t\t\t\t\t\t\t\tfiles={tool.batchFiles || []}\n\t\t\t\t\t\t\t\tonPermissionResponse={(response) => {\n\t\t\t\t\t\t\t\t\tonBatchFileResponse?.(response)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tts={message?.ts}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\t// Regular single file read request\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"file-code\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{message.type === \"ask\"\n\t\t\t\t\t\t\t\t\t? tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToReadOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: tool.additionalFileCount && tool.additionalFileCount > 0\n\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:fileOperations.wantsToReadAndXMore\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcount: tool.additionalFileCount,\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t: t(\"chat:fileOperations.wantsToRead\")\n\t\t\t\t\t\t\t\t\t: t(\"chat:fileOperations.didRead\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<ToolUseBlock>\n\t\t\t\t\t\t\t<ToolUseBlockHeader\n\t\t\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"openFile\", text: tool.content })}>\n\t\t\t\t\t\t\t\t{tool.path?.startsWith(\".\") && <span>.</span>}\n\t\t\t\t\t\t\t\t<span className=\"whitespace-nowrap overflow-hidden text-ellipsis text-left mr-2 rtl\">\n\t\t\t\t\t\t\t\t\t{removeLeadingNonAlphanumeric(tool.path ?? \"\") + \"\\u200E\"}\n\t\t\t\t\t\t\t\t\t{tool.reason}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div style={{ flexGrow: 1 }}></div>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-link-external`}\n\t\t\t\t\t\t\t\t\tstyle={{ fontSize: 13.5, margin: \"1px 0\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolUseBlockHeader>\n\t\t\t\t\t\t</ToolUseBlock>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"fetchInstructions\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"file-code\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>{t(\"chat:instructions.wantsToFetch\")}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tcode={tool.content}\n\t\t\t\t\t\t\tlanguage=\"markdown\"\n\t\t\t\t\t\t\tisLoading={message.partial}\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"listFilesTopLevel\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"folder-opened\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{message.type === \"ask\"\n\t\t\t\t\t\t\t\t\t? tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:directoryOperations.wantsToViewTopLevelOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:directoryOperations.wantsToViewTopLevel\")\n\t\t\t\t\t\t\t\t\t: tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:directoryOperations.didViewTopLevelOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:directoryOperations.didViewTopLevel\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.content}\n\t\t\t\t\t\t\tlanguage=\"shell-session\"\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"listFilesRecursive\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"folder-opened\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{message.type === \"ask\"\n\t\t\t\t\t\t\t\t\t? tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:directoryOperations.wantsToViewRecursiveOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:directoryOperations.wantsToViewRecursive\")\n\t\t\t\t\t\t\t\t\t: tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:directoryOperations.didViewRecursiveOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:directoryOperations.didViewRecursive\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.content}\n\t\t\t\t\t\t\tlanguage=\"shellsession\"\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"listCodeDefinitionNames\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"file-code\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{message.type === \"ask\"\n\t\t\t\t\t\t\t\t\t? tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:directoryOperations.wantsToViewDefinitionsOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:directoryOperations.wantsToViewDefinitions\")\n\t\t\t\t\t\t\t\t\t: tool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t? t(\"chat:directoryOperations.didViewDefinitionsOutsideWorkspace\")\n\t\t\t\t\t\t\t\t\t\t: t(\"chat:directoryOperations.didViewDefinitions\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path}\n\t\t\t\t\t\t\tcode={tool.content}\n\t\t\t\t\t\t\tlanguage=\"markdown\"\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"searchFiles\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"search\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{message.type === \"ask\" ? (\n\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\ti18nKey={\n\t\t\t\t\t\t\t\t\t\t\ttool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t\t\t? \"chat:directoryOperations.wantsToSearchOutsideWorkspace\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"chat:directoryOperations.wantsToSearch\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.regex}</code> }}\n\t\t\t\t\t\t\t\t\t\tvalues={{ regex: tool.regex }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\ti18nKey={\n\t\t\t\t\t\t\t\t\t\t\ttool.isOutsideWorkspace\n\t\t\t\t\t\t\t\t\t\t\t\t? \"chat:directoryOperations.didSearchOutsideWorkspace\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"chat:directoryOperations.didSearch\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.regex}</code> }}\n\t\t\t\t\t\t\t\t\t\tvalues={{ regex: tool.regex }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\tpath={tool.path! + (tool.filePattern ? `/(${tool.filePattern})` : \"\")}\n\t\t\t\t\t\t\tcode={tool.content}\n\t\t\t\t\t\t\tlanguage=\"shellsession\"\n\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"switchMode\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"symbol-enum\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t{message.type === \"ask\" ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{tool.reason ? (\n\t\t\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\t\t\ti18nKey=\"chat:modes.wantsToSwitchWithReason\"\n\t\t\t\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.mode}</code> }}\n\t\t\t\t\t\t\t\t\t\t\t\tvalues={{ mode: tool.mode, reason: tool.reason }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\t\t\ti18nKey=\"chat:modes.wantsToSwitch\"\n\t\t\t\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.mode}</code> }}\n\t\t\t\t\t\t\t\t\t\t\t\tvalues={{ mode: tool.mode }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{tool.reason ? (\n\t\t\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\t\t\ti18nKey=\"chat:modes.didSwitchWithReason\"\n\t\t\t\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.mode}</code> }}\n\t\t\t\t\t\t\t\t\t\t\t\tvalues={{ mode: tool.mode, reason: tool.reason }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\t\t\ti18nKey=\"chat:modes.didSwitch\"\n\t\t\t\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.mode}</code> }}\n\t\t\t\t\t\t\t\t\t\t\t\tvalues={{ mode: tool.mode }}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"newTask\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"tasklist\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\ti18nKey=\"chat:subtasks.wantsToCreate\"\n\t\t\t\t\t\t\t\t\tcomponents={{ code: <code>{tool.mode}</code> }}\n\t\t\t\t\t\t\t\t\tvalues={{ mode: tool.mode }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginTop: \"4px\",\n\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\tborderRadius: \"4px 4px 0 0\",\n\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\tmarginBottom: \"2px\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tpadding: \"9px 10px 9px 14px\",\n\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\t\tborderBottom: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\t\t\t\tfontSize: \"var(--vscode-font-size)\",\n\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-badge-foreground)\",\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\tgap: \"6px\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-arrow-right\"></span>\n\t\t\t\t\t\t\t\t{t(\"chat:subtasks.newTaskContent\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div style={{ padding: \"12px 16px\", backgroundColor: \"var(--vscode-editor-background)\" }}>\n\t\t\t\t\t\t\t\t<MarkdownBlock markdown={tool.content} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tcase \"finishTask\":\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t{toolIcon(\"check-all\")}\n\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>{t(\"chat:subtasks.wantsToFinish\")}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginTop: \"4px\",\n\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\tmarginBottom: \"8px\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tpadding: \"9px 10px 9px 14px\",\n\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\t\tborderBottom: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\t\t\t\tfontSize: \"var(--vscode-font-size)\",\n\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-badge-foreground)\",\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\tgap: \"6px\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-check\"></span>\n\t\t\t\t\t\t\t\t{t(\"chat:subtasks.completionContent\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div style={{ padding: \"12px 16px\", backgroundColor: \"var(--vscode-editor-background)\" }}>\n\t\t\t\t\t\t\t\t<MarkdownBlock markdown={t(\"chat:subtasks.completionInstructions\")} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\tdefault:\n\t\t\t\treturn null\n\t\t}\n\t}\n\n\tswitch (message.type) {\n\t\tcase \"say\":\n\t\t\tswitch (message.say) {\n\t\t\t\tcase \"diff_error\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmarginTop: \"0px\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\tmarginBottom: \"8px\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tborderBottom: isDiffErrorExpanded\n\t\t\t\t\t\t\t\t\t\t\t? \"1px solid var(--vscode-editorGroup-border)\"\n\t\t\t\t\t\t\t\t\t\t\t: \"none\",\n\t\t\t\t\t\t\t\t\t\tfontWeight: \"normal\",\n\t\t\t\t\t\t\t\t\t\tfontSize: \"var(--vscode-font-size)\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-editor-foreground)\",\n\t\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClick={() => setIsDiffErrorExpanded(!isDiffErrorExpanded)}>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\t\t\tgap: \"10px\",\n\t\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-warning\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-editorWarning-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\t\topacity: 0.8,\n\t\t\t\t\t\t\t\t\t\t\t\tfontSize: 16,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginBottom: \"-1.5px\",\n\t\t\t\t\t\t\t\t\t\t\t}}></span>\n\t\t\t\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>{t(\"chat:diffError.title\")}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div style={{ display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\t\tappearance=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tpadding: \"3px\",\n\t\t\t\t\t\t\t\t\t\t\t\theight: \"24px\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: \"4px\",\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-editor-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Call copyWithFeedback and handle the Promise\n\t\t\t\t\t\t\t\t\t\t\t\tcopyWithFeedback(message.text || \"\").then((success) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (success) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Show checkmark\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetShowCopySuccess(true)\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Reset after a brief delay\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetShowCopySuccess(false)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, 1000)\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-${showCopySuccess ? \"check\" : \"copy\"}`}></span>\n\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-chevron-${isDiffErrorExpanded ? \"up\" : \"down\"}`}></span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{isDiffErrorExpanded && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tpadding: \"8px\",\n\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\t\t\t\t\tborderTop: \"none\",\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<CodeBlock source={message.text || \"\"} language=\"xml\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\tcase \"subtask_result\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tmarginTop: \"0px\",\n\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\t\tborderRadius: \"0 0 4px 4px\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\tmarginBottom: \"8px\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tpadding: \"9px 10px 9px 14px\",\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\t\t\tborderBottom: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\t\t\t\t\t\tfontWeight: \"bold\",\n\t\t\t\t\t\t\t\t\t\tfontSize: \"var(--vscode-font-size)\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-badge-foreground)\",\n\t\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\t\tgap: \"6px\",\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-arrow-left\"></span>\n\t\t\t\t\t\t\t\t\t{t(\"chat:subtasks.resultContent\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tpadding: \"12px 16px\",\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<MarkdownBlock markdown={message.text} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\tcase \"reasoning\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ReasoningBlock\n\t\t\t\t\t\t\tcontent={message.text || \"\"}\n\t\t\t\t\t\t\telapsed={isLast && isStreaming ? Date.now() - message.ts : undefined}\n\t\t\t\t\t\t\tisCollapsed={reasoningCollapsed}\n\t\t\t\t\t\t\tonToggleCollapse={() => setReasoningCollapsed(!reasoningCollapsed)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\tcase \"api_req_started\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t...headerStyle,\n\t\t\t\t\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\t\t\t\t\t((cost === null || cost === undefined) && apiRequestFailedMessage) ||\n\t\t\t\t\t\t\t\t\t\tapiReqStreamingFailedMessage\n\t\t\t\t\t\t\t\t\t\t\t? 10\n\t\t\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\tuserSelect: \"none\",\n\t\t\t\t\t\t\t\t\tWebkitUserSelect: \"none\",\n\t\t\t\t\t\t\t\t\tMozUserSelect: \"none\",\n\t\t\t\t\t\t\t\t\tmsUserSelect: \"none\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={handleToggleExpand}>\n\t\t\t\t\t\t\t\t<div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\", flexGrow: 1 }}>\n\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t<VSCodeBadge\n\t\t\t\t\t\t\t\t\t\tstyle={{ opacity: cost !== null && cost !== undefined && cost > 0 ? 1 : 0 }}>\n\t\t\t\t\t\t\t\t\t\t${Number(cost || 0)?.toFixed(4)}\n\t\t\t\t\t\t\t\t\t</VSCodeBadge>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<span className={`codicon codicon-chevron-${isExpanded ? \"up\" : \"down\"}`}></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{(((cost === null || cost === undefined) && apiRequestFailedMessage) ||\n\t\t\t\t\t\t\t\tapiReqStreamingFailedMessage) && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<p style={{ ...pStyle, color: \"var(--vscode-errorForeground)\" }}>\n\t\t\t\t\t\t\t\t\t\t{apiRequestFailedMessage || apiReqStreamingFailedMessage}\n\t\t\t\t\t\t\t\t\t\t{apiRequestFailedMessage?.toLowerCase().includes(\"powershell\") && (\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"chat:powershell.issues\")}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\t\t\thref=\"https://github.com/cline/cline/wiki/TroubleShooting-%E2%80%90-%22PowerShell-is-not-recognized-as-an-internal-or-external-command%22\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ color: \"inherit\", textDecoration: \"underline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t\ttroubleshooting guide\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t\t\t\t.\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{isExpanded && (\n\t\t\t\t\t\t\t\t<div style={{ marginTop: \"10px\" }}>\n\t\t\t\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\t\t\t\tcode={safeJsonParse<any>(message.text)?.request}\n\t\t\t\t\t\t\t\t\t\tlanguage=\"markdown\"\n\t\t\t\t\t\t\t\t\t\tisExpanded={true}\n\t\t\t\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\tcase \"api_req_finished\":\n\t\t\t\t\treturn null // we should never see this message type\n\t\t\t\tcase \"text\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Markdown markdown={message.text} partial={message.partial} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\tcase \"user_feedback\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className=\"bg-vscode-editor-background border rounded-xs p-1 overflow-hidden whitespace-pre-wrap\">\n\t\t\t\t\t\t\t{isEditing ? (\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col gap-2 p-2\">\n\t\t\t\t\t\t\t\t\t<ChatTextArea\n\t\t\t\t\t\t\t\t\t\tinputValue={editedContent}\n\t\t\t\t\t\t\t\t\t\tsetInputValue={setEditedContent}\n\t\t\t\t\t\t\t\t\t\tsendingDisabled={false}\n\t\t\t\t\t\t\t\t\t\tselectApiConfigDisabled={true}\n\t\t\t\t\t\t\t\t\t\tplaceholderText={t(\"chat:editMessage.placeholder\")}\n\t\t\t\t\t\t\t\t\t\tselectedImages={editImages}\n\t\t\t\t\t\t\t\t\t\tsetSelectedImages={setEditImages}\n\t\t\t\t\t\t\t\t\t\tonSend={handleSaveEdit}\n\t\t\t\t\t\t\t\t\t\tonSelectImages={handleSelectImages}\n\t\t\t\t\t\t\t\t\t\tshouldDisableImages={false}\n\t\t\t\t\t\t\t\t\t\tmode={editMode}\n\t\t\t\t\t\t\t\t\t\tsetMode={setEditMode}\n\t\t\t\t\t\t\t\t\t\tmodeShortcutText=\"\"\n\t\t\t\t\t\t\t\t\t\tisEditMode={true}\n\t\t\t\t\t\t\t\t\t\tonCancel={handleCancelEdit}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex-grow px-2 py-1 wrap-anywhere\">\n\t\t\t\t\t\t\t\t\t\t<Mention text={message.text} withShadow />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0 hidden\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isStreaming}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\thandleEditClick()\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-edit\" />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={isStreaming}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"deleteMessage\", value: message.ts })\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-trash\" />\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{!isEditing && message.images && message.images.length > 0 && (\n\t\t\t\t\t\t\t\t<Thumbnails images={message.images} style={{ marginTop: \"8px\" }} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\tcase \"user_feedback_diff\":\n\t\t\t\t\tconst tool = safeJsonParse<ClineSayTool>(message.text)\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div style={{ marginTop: -10, width: \"100%\" }}>\n\t\t\t\t\t\t\t<CodeAccordian\n\t\t\t\t\t\t\t\tcode={tool?.diff}\n\t\t\t\t\t\t\t\tlanguage=\"diff\"\n\t\t\t\t\t\t\t\tisFeedback={true}\n\t\t\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\t\t\tonToggleExpand={handleToggleExpand}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\tcase \"error\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{title && (\n\t\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<p style={{ ...pStyle, color: \"var(--vscode-errorForeground)\" }}>{message.text}</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\tcase \"completion_result\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div style={{ color: \"var(--vscode-charts-green)\", paddingTop: 10 }}>\n\t\t\t\t\t\t\t\t<Markdown markdown={message.text} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\tcase \"shell_integration_warning\":\n\t\t\t\t\treturn <CommandExecutionError />\n\t\t\t\tcase \"checkpoint_saved\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CheckpointSaved\n\t\t\t\t\t\t\tts={message.ts!}\n\t\t\t\t\t\t\tcommitHash={message.text!}\n\t\t\t\t\t\t\tcurrentHash={currentCheckpoint}\n\t\t\t\t\t\t\tcheckpoint={message.checkpoint}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\tcase \"condense_context\":\n\t\t\t\t\tif (message.partial) {\n\t\t\t\t\t\treturn <CondensingContextRow />\n\t\t\t\t\t}\n\t\t\t\t\treturn message.contextCondense ? <ContextCondenseRow {...message.contextCondense} /> : null\n\t\t\t\tcase \"condense_context_error\":\n\t\t\t\t\treturn <CondenseContextErrorRow errorText={message.text} />\n\t\t\t\tcase \"codebase_search_result\":\n\t\t\t\t\tlet parsed: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\tquery: string\n\t\t\t\t\t\t\tresults: Array<{\n\t\t\t\t\t\t\t\tfilePath: string\n\t\t\t\t\t\t\t\tscore: number\n\t\t\t\t\t\t\t\tstartLine: number\n\t\t\t\t\t\t\t\tendLine: number\n\t\t\t\t\t\t\t\tcodeChunk: string\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t}\n\t\t\t\t\t} | null = null\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (message.text) {\n\t\t\t\t\t\t\tparsed = JSON.parse(message.text)\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(\"Failed to parse codebaseSearch content:\", error)\n\t\t\t\t\t}\n\n\t\t\t\t\tif (parsed && !parsed?.content) {\n\t\t\t\t\t\tconsole.error(\"Invalid codebaseSearch content structure:\", parsed.content)\n\t\t\t\t\t\treturn <div>Error displaying search results.</div>\n\t\t\t\t\t}\n\n\t\t\t\t\tconst { results = [] } = parsed?.content || {}\n\n\t\t\t\t\treturn <CodebaseSearchResultsDisplay results={results} />\n\t\t\t\tcase \"user_edit_todos\":\n\t\t\t\t\treturn <UpdateTodoListToolBlock userEdited onChange={() => {}} />\n\t\t\t\tdefault:\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{title && (\n\t\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div style={{ paddingTop: 10 }}>\n\t\t\t\t\t\t\t\t<Markdown markdown={message.text} partial={message.partial} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t}\n\t\tcase \"ask\":\n\t\t\tswitch (message.ask) {\n\t\t\t\tcase \"mistake_limit_reached\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<p style={{ ...pStyle, color: \"var(--vscode-errorForeground)\" }}>{message.text}</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\tcase \"command\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CommandExecution\n\t\t\t\t\t\t\texecutionId={message.ts.toString()}\n\t\t\t\t\t\t\ttext={message.text}\n\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\tcase \"use_mcp_server\":\n\t\t\t\t\t// Parse the message text to get the MCP server request\n\t\t\t\t\tconst messageJson = safeJsonParse<any>(message.text, {})\n\n\t\t\t\t\t// Extract the response field if it exists\n\t\t\t\t\tconst { response, ...mcpServerRequest } = messageJson\n\n\t\t\t\t\t// Create the useMcpServer object with the response field\n\t\t\t\t\tconst useMcpServer: ClineAskUseMcpServer = {\n\t\t\t\t\t\t...mcpServerRequest,\n\t\t\t\t\t\tresponse,\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!useMcpServer) {\n\t\t\t\t\t\treturn null\n\t\t\t\t\t}\n\n\t\t\t\t\tconst server = mcpServers.find((server) => server.name === useMcpServer.serverName)\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"w-full bg-vscode-editor-background border border-vscode-border rounded-xs p-2 mt-2\">\n\t\t\t\t\t\t\t\t{useMcpServer.type === \"access_mcp_resource\" && (\n\t\t\t\t\t\t\t\t\t<McpResourceRow\n\t\t\t\t\t\t\t\t\t\titem={{\n\t\t\t\t\t\t\t\t\t\t\t// Use the matched resource/template details, with fallbacks\n\t\t\t\t\t\t\t\t\t\t\t...(findMatchingResourceOrTemplate(\n\t\t\t\t\t\t\t\t\t\t\t\tuseMcpServer.uri || \"\",\n\t\t\t\t\t\t\t\t\t\t\t\tserver?.resources,\n\t\t\t\t\t\t\t\t\t\t\t\tserver?.resourceTemplates,\n\t\t\t\t\t\t\t\t\t\t\t) || {\n\t\t\t\t\t\t\t\t\t\t\t\tname: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\tmimeType: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"\",\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t// Always use the actual URI from the request\n\t\t\t\t\t\t\t\t\t\t\turi: useMcpServer.uri || \"\",\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{useMcpServer.type === \"use_mcp_tool\" && (\n\t\t\t\t\t\t\t\t\t<McpExecution\n\t\t\t\t\t\t\t\t\t\texecutionId={message.ts.toString()}\n\t\t\t\t\t\t\t\t\t\ttext={useMcpServer.arguments !== \"{}\" ? useMcpServer.arguments : undefined}\n\t\t\t\t\t\t\t\t\t\tserverName={useMcpServer.serverName}\n\t\t\t\t\t\t\t\t\t\ttoolName={useMcpServer.toolName}\n\t\t\t\t\t\t\t\t\t\tisArguments={true}\n\t\t\t\t\t\t\t\t\t\tserver={server}\n\t\t\t\t\t\t\t\t\t\tuseMcpServer={useMcpServer}\n\t\t\t\t\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\tcase \"completion_result\":\n\t\t\t\t\tif (message.text) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div style={{ color: \"var(--vscode-charts-green)\", paddingTop: 10 }}>\n\t\t\t\t\t\t\t\t\t<Markdown markdown={message.text} partial={message.partial} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null // Don't render anything when we get a completion_result ask without text\n\t\t\t\t\t}\n\t\t\t\tcase \"followup\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{title && (\n\t\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div style={{ paddingTop: 10, paddingBottom: 15 }}>\n\t\t\t\t\t\t\t\t<Markdown\n\t\t\t\t\t\t\t\t\tmarkdown={message.partial === true ? message?.text : followUpData?.question}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<FollowUpSuggest\n\t\t\t\t\t\t\t\tsuggestions={followUpData?.suggest}\n\t\t\t\t\t\t\t\tonSuggestionClick={onSuggestionClick}\n\t\t\t\t\t\t\t\tts={message?.ts}\n\t\t\t\t\t\t\t\tonCancelAutoApproval={onFollowUpUnmount}\n\t\t\t\t\t\t\t\tisAnswered={isFollowUpAnswered}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\tcase \"auto_approval_max_req_reached\": {\n\t\t\t\t\treturn <AutoApprovedRequestLimitWarning message={message} />\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\treturn null\n\t\t\t}\n\t}\n}\n", + "import React, { memo, useEffect, useMemo, useRef, useState } from \"react\"\nimport { useSize } from \"react-use\"\nimport deepEqual from \"fast-deep-equal\"\nimport { useTranslation } from \"react-i18next\"\nimport { VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ClineMessage } from \"@roo-code/types\"\n\nimport { BrowserAction, BrowserActionResult, ClineSayBrowserAction } from \"@roo/ExtensionMessage\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\n\nimport CodeBlock, { CODE_BLOCK_BG_COLOR } from \"../common/CodeBlock\"\nimport { ChatRowContent } from \"./ChatRow\"\nimport { ProgressIndicator } from \"./ProgressIndicator\"\n\ninterface BrowserSessionRowProps {\n\tmessages: ClineMessage[]\n\tisExpanded: (messageTs: number) => boolean\n\tonToggleExpand: (messageTs: number) => void\n\tlastModifiedMessage?: ClineMessage\n\tisLast: boolean\n\tonHeightChange: (isTaller: boolean) => void\n\tisStreaming: boolean\n}\n\nconst BrowserSessionRow = memo((props: BrowserSessionRowProps) => {\n\tconst { messages, isLast, onHeightChange, lastModifiedMessage } = props\n\tconst { t } = useTranslation()\n\tconst prevHeightRef = useRef(0)\n\tconst [maxActionHeight, setMaxActionHeight] = useState(0)\n\tconst [consoleLogsExpanded, setConsoleLogsExpanded] = useState(false)\n\n\tconst { browserViewportSize = \"900x600\" } = useExtensionState()\n\tconst [viewportWidth, viewportHeight] = browserViewportSize.split(\"x\").map(Number)\n\tconst aspectRatio = ((viewportHeight / viewportWidth) * 100).toFixed(2)\n\tconst defaultMousePosition = `${Math.round(viewportWidth / 2)},${Math.round(viewportHeight / 2)}`\n\n\tconst isLastApiReqInterrupted = useMemo(() => {\n\t\t// Check if last api_req_started is cancelled\n\t\tconst lastApiReqStarted = [...messages].reverse().find((m) => m.say === \"api_req_started\")\n\t\tif (lastApiReqStarted?.text) {\n\t\t\tconst info = JSON.parse(lastApiReqStarted.text) as { cancelReason: string | null }\n\t\t\tif (info && info.cancelReason !== null) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\tconst lastApiReqFailed = isLast && lastModifiedMessage?.ask === \"api_req_failed\"\n\t\tif (lastApiReqFailed) {\n\t\t\treturn true\n\t\t}\n\t\treturn false\n\t}, [messages, lastModifiedMessage, isLast])\n\n\tconst isBrowsing = useMemo(() => {\n\t\treturn isLast && messages.some((m) => m.say === \"browser_action_result\") && !isLastApiReqInterrupted // after user approves, browser_action_result with \"\" is sent to indicate that the session has started\n\t}, [isLast, messages, isLastApiReqInterrupted])\n\n\t// Organize messages into pages with current state and next action\n\tconst pages = useMemo(() => {\n\t\tconst result: {\n\t\t\tcurrentState: {\n\t\t\t\turl?: string\n\t\t\t\tscreenshot?: string\n\t\t\t\tmousePosition?: string\n\t\t\t\tconsoleLogs?: string\n\t\t\t\tmessages: ClineMessage[] // messages up to and including the result\n\t\t\t}\n\t\t\tnextAction?: {\n\t\t\t\tmessages: ClineMessage[] // messages leading to next result\n\t\t\t}\n\t\t}[] = []\n\n\t\tlet currentStateMessages: ClineMessage[] = []\n\t\tlet nextActionMessages: ClineMessage[] = []\n\n\t\tmessages.forEach((message) => {\n\t\t\tif (message.ask === \"browser_action_launch\") {\n\t\t\t\t// Start first page\n\t\t\t\tcurrentStateMessages = [message]\n\t\t\t} else if (message.say === \"browser_action_result\") {\n\t\t\t\tif (message.text === \"\") {\n\t\t\t\t\t// first browser_action_result is an empty string that signals that session has started\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// Complete current state\n\t\t\t\tcurrentStateMessages.push(message)\n\t\t\t\tconst resultData = JSON.parse(message.text || \"{}\") as BrowserActionResult\n\n\t\t\t\t// Add page with current state and previous next actions\n\t\t\t\tresult.push({\n\t\t\t\t\tcurrentState: {\n\t\t\t\t\t\turl: resultData.currentUrl,\n\t\t\t\t\t\tscreenshot: resultData.screenshot,\n\t\t\t\t\t\tmousePosition: resultData.currentMousePosition,\n\t\t\t\t\t\tconsoleLogs: resultData.logs,\n\t\t\t\t\t\tmessages: [...currentStateMessages],\n\t\t\t\t\t},\n\t\t\t\t\tnextAction:\n\t\t\t\t\t\tnextActionMessages.length > 0\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tmessages: [...nextActionMessages],\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t})\n\n\t\t\t\t// Reset for next page\n\t\t\t\tcurrentStateMessages = []\n\t\t\t\tnextActionMessages = []\n\t\t\t} else if (\n\t\t\t\tmessage.say === \"api_req_started\" ||\n\t\t\t\tmessage.say === \"text\" ||\n\t\t\t\tmessage.say === \"browser_action\"\n\t\t\t) {\n\t\t\t\t// These messages lead to the next result, so they should always go in nextActionMessages\n\t\t\t\tnextActionMessages.push(message)\n\t\t\t} else {\n\t\t\t\t// Any other message types\n\t\t\t\tcurrentStateMessages.push(message)\n\t\t\t}\n\t\t})\n\n\t\t// Add incomplete page if exists\n\t\tif (currentStateMessages.length > 0 || nextActionMessages.length > 0) {\n\t\t\tresult.push({\n\t\t\t\tcurrentState: {\n\t\t\t\t\tmessages: [...currentStateMessages],\n\t\t\t\t},\n\t\t\t\tnextAction:\n\t\t\t\t\tnextActionMessages.length > 0\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tmessages: [...nextActionMessages],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined,\n\t\t\t})\n\t\t}\n\n\t\treturn result\n\t}, [messages])\n\n\t// Auto-advance to latest page\n\tconst [currentPageIndex, setCurrentPageIndex] = useState(0)\n\tuseEffect(() => {\n\t\tsetCurrentPageIndex(pages.length - 1)\n\t}, [pages.length])\n\n\t// Get initial URL from launch message\n\tconst initialUrl = useMemo(() => {\n\t\tconst launchMessage = messages.find((m) => m.ask === \"browser_action_launch\")\n\t\treturn launchMessage?.text || \"\"\n\t}, [messages])\n\n\t// Find the latest available URL and screenshot\n\tconst latestState = useMemo(() => {\n\t\tfor (let i = pages.length - 1; i >= 0; i--) {\n\t\t\tconst page = pages[i]\n\t\t\tif (page.currentState.url || page.currentState.screenshot) {\n\t\t\t\treturn {\n\t\t\t\t\turl: page.currentState.url,\n\t\t\t\t\tmousePosition: page.currentState.mousePosition,\n\t\t\t\t\tconsoleLogs: page.currentState.consoleLogs,\n\t\t\t\t\tscreenshot: page.currentState.screenshot,\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn { url: undefined, mousePosition: undefined, consoleLogs: undefined, screenshot: undefined }\n\t}, [pages])\n\n\tconst currentPage = pages[currentPageIndex]\n\tconst isLastPage = currentPageIndex === pages.length - 1\n\n\t// Use latest state if we're on the last page and don't have a state yet\n\tconst displayState = isLastPage\n\t\t? {\n\t\t\t\turl: currentPage?.currentState.url || latestState.url || initialUrl,\n\t\t\t\tmousePosition:\n\t\t\t\t\tcurrentPage?.currentState.mousePosition || latestState.mousePosition || defaultMousePosition,\n\t\t\t\tconsoleLogs: currentPage?.currentState.consoleLogs,\n\t\t\t\tscreenshot: currentPage?.currentState.screenshot || latestState.screenshot,\n\t\t\t}\n\t\t: {\n\t\t\t\turl: currentPage?.currentState.url || initialUrl,\n\t\t\t\tmousePosition: currentPage?.currentState.mousePosition || defaultMousePosition,\n\t\t\t\tconsoleLogs: currentPage?.currentState.consoleLogs,\n\t\t\t\tscreenshot: currentPage?.currentState.screenshot,\n\t\t\t}\n\n\tconst [actionContent, { height: actionHeight }] = useSize(\n\t\t<div>\n\t\t\t{currentPage?.nextAction?.messages.map((message) => (\n\t\t\t\t<BrowserSessionRowContent\n\t\t\t\t\tkey={message.ts}\n\t\t\t\t\t{...props}\n\t\t\t\t\tmessage={message}\n\t\t\t\t\tsetMaxActionHeight={setMaxActionHeight}\n\t\t\t\t/>\n\t\t\t))}\n\t\t\t{!isBrowsing && messages.some((m) => m.say === \"browser_action_result\") && currentPageIndex === 0 && (\n\t\t\t\t<BrowserActionBox action={\"launch\"} text={initialUrl} />\n\t\t\t)}\n\t\t</div>,\n\t)\n\n\tuseEffect(() => {\n\t\tif (actionHeight === 0 || actionHeight === Infinity) {\n\t\t\treturn\n\t\t}\n\t\tif (actionHeight > maxActionHeight) {\n\t\t\tsetMaxActionHeight(actionHeight)\n\t\t}\n\t}, [actionHeight, maxActionHeight])\n\n\t// Track latest click coordinate\n\tconst latestClickPosition = useMemo(() => {\n\t\tif (!isBrowsing) return undefined\n\n\t\t// Look through current page's next actions for the latest browser_action\n\t\tconst actions = currentPage?.nextAction?.messages || []\n\t\tfor (let i = actions.length - 1; i >= 0; i--) {\n\t\t\tconst message = actions[i]\n\t\t\tif (message.say === \"browser_action\") {\n\t\t\t\tconst browserAction = JSON.parse(message.text || \"{}\") as ClineSayBrowserAction\n\t\t\t\tif (browserAction.action === \"click\" && browserAction.coordinate) {\n\t\t\t\t\treturn browserAction.coordinate\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined\n\t}, [isBrowsing, currentPage?.nextAction?.messages])\n\n\t// Use latest click position while browsing, otherwise use display state\n\tconst mousePosition = isBrowsing\n\t\t? latestClickPosition || displayState.mousePosition\n\t\t: displayState.mousePosition || defaultMousePosition\n\n\tconst [browserSessionRow, { height: rowHeight }] = useSize(\n\t\t<div style={{ padding: \"10px 6px 10px 15px\", marginBottom: -10 }}>\n\t\t\t<div style={{ display: \"flex\", alignItems: \"center\", gap: \"10px\", marginBottom: \"10px\" }}>\n\t\t\t\t{isBrowsing ? (\n\t\t\t\t\t<ProgressIndicator />\n\t\t\t\t) : (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`codicon codicon-inspect`}\n\t\t\t\t\t\tstyle={{ color: \"var(--vscode-foreground)\", marginBottom: \"-1.5px\" }}></span>\n\t\t\t\t)}\n\t\t\t\t<span style={{ fontWeight: \"bold\" }}>\n\t\t\t\t\t<>{t(\"chat:browser.rooWantsToUse\")}</>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\tborder: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\tbackgroundColor: CODE_BLOCK_BG_COLOR,\n\t\t\t\t\tmarginBottom: 10,\n\t\t\t\t}}>\n\t\t\t\t{/* URL Bar */}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmargin: \"5px auto\",\n\t\t\t\t\t\twidth: \"calc(100% - 10px)\",\n\t\t\t\t\t\tboxSizing: \"border-box\", // includes padding in width calculation\n\t\t\t\t\t\tbackgroundColor: \"var(--vscode-input-background)\",\n\t\t\t\t\t\tborder: \"1px solid var(--vscode-input-border)\",\n\t\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\t\tpadding: \"3px 5px\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\tcolor: displayState.url\n\t\t\t\t\t\t\t? \"var(--vscode-input-foreground)\"\n\t\t\t\t\t\t\t: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{displayState.url || \"http\"}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Screenshot Area */}\n\t\t\t\t<div\n\t\t\t\t\tdata-testid=\"screenshot-container\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tpaddingBottom: `${aspectRatio}%`, // height/width ratio\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\tbackgroundColor: \"var(--vscode-input-background)\",\n\t\t\t\t\t}}>\n\t\t\t\t\t{displayState.screenshot ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={displayState.screenshot}\n\t\t\t\t\t\t\talt={t(\"chat:browser.screenshot\")}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t\t\tobjectFit: \"contain\",\n\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\ttype: \"openImage\",\n\t\t\t\t\t\t\t\t\ttext: displayState.screenshot,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: \"50%\",\n\t\t\t\t\t\t\t\tleft: \"50%\",\n\t\t\t\t\t\t\t\ttransform: \"translate(-50%, -50%)\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-globe\"\n\t\t\t\t\t\t\t\tstyle={{ fontSize: \"80px\", color: \"var(--vscode-descriptionForeground)\" }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{displayState.mousePosition && (\n\t\t\t\t\t\t<BrowserCursor\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\t\ttop: `${(parseInt(mousePosition.split(\",\")[1]) / viewportHeight) * 100}%`,\n\t\t\t\t\t\t\t\tleft: `${(parseInt(mousePosition.split(\",\")[0]) / viewportWidth) * 100}%`,\n\t\t\t\t\t\t\t\ttransition: \"top 0.3s ease-out, left 0.3s ease-out\",\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div style={{ width: \"100%\" }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetConsoleLogsExpanded(!consoleLogsExpanded)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\tgap: \"4px\",\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\tpadding: `9px 8px ${consoleLogsExpanded ? 0 : 8}px 8px`,\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<span className={`codicon codicon-chevron-${consoleLogsExpanded ? \"down\" : \"right\"}`}></span>\n\t\t\t\t\t\t<span style={{ fontSize: \"0.8em\" }}>{t(\"chat:browser.consoleLogs\")}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{consoleLogsExpanded && (\n\t\t\t\t\t\t<CodeBlock source={displayState.consoleLogs || t(\"chat:browser.noNewLogs\")} language=\"shell\" />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{/* Action content with min height */}\n\t\t\t<div style={{ minHeight: maxActionHeight }}>{actionContent}</div>\n\n\t\t\t{/* Pagination moved to bottom */}\n\t\t\t{pages.length > 1 && (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tpadding: \"8px 0px\",\n\t\t\t\t\t\tmarginTop: \"15px\",\n\t\t\t\t\t\tborderTop: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{t(\"chat:browser.navigation.step\", { current: currentPageIndex + 1, total: pages.length })}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style={{ display: \"flex\", gap: \"4px\" }}>\n\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\tdisabled={currentPageIndex === 0 || isBrowsing}\n\t\t\t\t\t\t\tonClick={() => setCurrentPageIndex((i) => i - 1)}>\n\t\t\t\t\t\t\t{t(\"chat:browser.navigation.previous\")}\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\tdisabled={currentPageIndex === pages.length - 1 || isBrowsing}\n\t\t\t\t\t\t\tonClick={() => setCurrentPageIndex((i) => i + 1)}>\n\t\t\t\t\t\t\t{t(\"chat:browser.navigation.next\")}\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>,\n\t)\n\n\t// Height change effect\n\tuseEffect(() => {\n\t\tconst isInitialRender = prevHeightRef.current === 0\n\t\tif (isLast && rowHeight !== 0 && rowHeight !== Infinity && rowHeight !== prevHeightRef.current) {\n\t\t\tif (!isInitialRender) {\n\t\t\t\tonHeightChange(rowHeight > prevHeightRef.current)\n\t\t\t}\n\t\t\tprevHeightRef.current = rowHeight\n\t\t}\n\t}, [rowHeight, isLast, onHeightChange])\n\n\treturn browserSessionRow\n}, deepEqual)\n\ninterface BrowserSessionRowContentProps extends Omit<BrowserSessionRowProps, \"messages\"> {\n\tmessage: ClineMessage\n\tsetMaxActionHeight: (height: number) => void\n\tisStreaming: boolean\n}\n\nconst BrowserSessionRowContent = ({\n\tmessage,\n\tisExpanded,\n\tonToggleExpand,\n\tlastModifiedMessage,\n\tisLast,\n\tsetMaxActionHeight,\n\tisStreaming,\n}: BrowserSessionRowContentProps) => {\n\tconst { t } = useTranslation()\n\tconst headerStyle: React.CSSProperties = {\n\t\tdisplay: \"flex\",\n\t\talignItems: \"center\",\n\t\tgap: \"10px\",\n\t\tmarginBottom: \"10px\",\n\t\twordBreak: \"break-word\",\n\t}\n\n\tswitch (message.type) {\n\t\tcase \"say\":\n\t\t\tswitch (message.say) {\n\t\t\t\tcase \"api_req_started\":\n\t\t\t\tcase \"text\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div style={{ padding: \"10px 0 10px 0\" }}>\n\t\t\t\t\t\t\t<ChatRowContent\n\t\t\t\t\t\t\t\tmessage={message}\n\t\t\t\t\t\t\t\tisExpanded={isExpanded(message.ts)}\n\t\t\t\t\t\t\t\tonToggleExpand={() => {\n\t\t\t\t\t\t\t\t\tif (message.say === \"api_req_started\") {\n\t\t\t\t\t\t\t\t\t\tsetMaxActionHeight(0)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonToggleExpand(message.ts)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tlastModifiedMessage={lastModifiedMessage}\n\t\t\t\t\t\t\t\tisLast={isLast}\n\t\t\t\t\t\t\t\tisStreaming={isStreaming}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\n\t\t\t\tcase \"browser_action\":\n\t\t\t\t\tconst browserAction = JSON.parse(message.text || \"{}\") as ClineSayBrowserAction\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BrowserActionBox\n\t\t\t\t\t\t\taction={browserAction.action}\n\t\t\t\t\t\t\tcoordinate={browserAction.coordinate}\n\t\t\t\t\t\t\ttext={browserAction.text}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn null\n\t\t\t}\n\n\t\tcase \"ask\":\n\t\t\tswitch (message.ask) {\n\t\t\t\tcase \"browser_action_launch\":\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div style={headerStyle}>\n\t\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\" }}>{t(\"chat:browser.sessionStarted\")}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\tbackgroundColor: CODE_BLOCK_BG_COLOR,\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<CodeBlock source={message.text} language=\"shell\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\n\t\t\t\tdefault:\n\t\t\t\t\treturn null\n\t\t\t}\n\t}\n}\n\nconst BrowserActionBox = ({\n\taction,\n\tcoordinate,\n\ttext,\n}: {\n\taction: BrowserAction\n\tcoordinate?: string\n\ttext?: string\n}) => {\n\tconst { t } = useTranslation()\n\tconst getBrowserActionText = (action: BrowserAction, coordinate?: string, text?: string) => {\n\t\tswitch (action) {\n\t\t\tcase \"launch\":\n\t\t\t\treturn t(\"chat:browser.actions.launch\", { url: text })\n\t\t\tcase \"click\":\n\t\t\t\treturn t(\"chat:browser.actions.click\", { coordinate: coordinate?.replace(\",\", \", \") })\n\t\t\tcase \"type\":\n\t\t\t\treturn t(\"chat:browser.actions.type\", { text })\n\t\t\tcase \"scroll_down\":\n\t\t\t\treturn t(\"chat:browser.actions.scrollDown\")\n\t\t\tcase \"scroll_up\":\n\t\t\t\treturn t(\"chat:browser.actions.scrollUp\")\n\t\t\tcase \"close\":\n\t\t\t\treturn t(\"chat:browser.actions.close\")\n\t\t\tdefault:\n\t\t\t\treturn action\n\t\t}\n\t}\n\treturn (\n\t\t<div style={{ padding: \"10px 0 0 0\" }}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: 3,\n\t\t\t\t\tbackgroundColor: CODE_BLOCK_BG_COLOR,\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\tborder: \"1px solid var(--vscode-editorGroup-border)\",\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tpadding: \"9px 10px\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\twhiteSpace: \"normal\",\n\t\t\t\t\t\t\twordBreak: \"break-word\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<span style={{ fontWeight: 500 }}>{t(\"chat:browser.actions.title\")}</span>\n\t\t\t\t\t\t{getBrowserActionText(action, coordinate, text)}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nconst BrowserCursor: React.FC<{ style?: React.CSSProperties }> = ({ style }) => {\n\tconst { t } = useTranslation()\n\t// (can't use svgs in vsc extensions)\n\tconst cursorBase64 =\n\t\t\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFaADAAQAAAABAAAAGAAAAADwi9a/AAADGElEQVQ4EZ2VbUiTURTH772be/PxZdsz3cZwC4RVaB8SAjMpxQwSWZbQG/TFkN7oW1Df+h6IRV9C+hCpKUSIZUXOfGM5tAKViijFFEyfZ7Ol29S1Pbdzl8Uw9+aBu91zzv3/nt17zt2DEZjBYOAkKrtFMXIghAWM8U2vMN/FctsxGRMpM7NbEEYNMM2CYUSInlJx3OpawO9i+XSNQYkmk2uFb9njzkcfVSr1p/GJiQKMULVaw2WuBv296UKRxWJR6wxGCmM1EAhSNppv33GBH9qI32cPTAtss9lUm6EM3N7R+RbigT+5/CeosFCZKpjEW+iorS1pb30wDUXzQfHqtD/9L3ieZ2ee1OJCmbL8QHnRs+4uj0wmW4QzrpCwvJ8zGg3JqAmhTLynuLiwv8/5KyND8Q3cEkUEDWu15oJE4KRQJt5hs1rcriGNRqP+DK4dyyWXXm/aFQ+cEpSJ8/LyDGPuEZNOmzsOroUSOqzXG/dtBU4ZysTZYKNut91sNo2Cq6cE9enz86s2g9OCMrFSqVC5hgb32u072W3jKMU90Hb1seC0oUwsB+t92bO/rKx0EFGkgFCnjjc1/gVvC8rE0L+4o63t4InjxwbAJQjTe3qD8QrLkXA4DC24fWtuajp06cLFYSBIFKGmXKPRRmAnME9sPt+yLwIWb9WN69fKoTneQz4Dh2mpPNkvfeV0jjecb9wNAkwIEVQq5VJOds4Kb+DXoAsiVquVwI1Dougpij6UyGYx+5cKroeDEFibm5lWRRMbH1+npmYrq6qhwlQHIbajZEf1fElcqGGFpGg9HMuKzpfBjhytCTMgkJ56RX09zy/ysENTBElmjIgJnmNChJqohDVQqpEfwkILE8v/o0GAnV9F1eEvofVQCbiTBEXOIPQh5PGgefDZeAcjrpGZjULBr/m3tZOnz7oEQWRAQZLjWlEU/XEJWySiILgRc5Cz1DkcAyuBFcnpfF0JiXWKpcolQXizhS5hKAqFpr0MVbgbuxJ6+5xX+P4wNpbqPPrugZfbmIbLmgQR3Aw8QSi66hUXulOFbF73GxqjE5BNXWNeAAAAAElFTkSuQmCC\"\n\n\treturn (\n\t\t<img\n\t\t\tsrc={cursorBase64}\n\t\t\tstyle={{\n\t\t\t\twidth: \"17px\",\n\t\t\t\theight: \"22px\",\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\talt={t(\"chat:browser.cursor\")}\n\t\t\taria-label={t(\"chat:browser.cursor\")}\n\t\t/>\n\t)\n}\n\nexport default BrowserSessionRow\n", + "import {\n\ttype ModelInfo,\n\ttype ProviderSettings,\n\tANTHROPIC_DEFAULT_MAX_TOKENS,\n\tCLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS,\n} from \"@roo-code/types\"\n\n// ApiHandlerOptions\n\nexport type ApiHandlerOptions = Omit<ProviderSettings, \"apiProvider\">\n\n// RouterName\n\nconst routerNames = [\"openrouter\", \"requesty\", \"glama\", \"unbound\", \"litellm\", \"ollama\", \"lmstudio\"] as const\n\nexport type RouterName = (typeof routerNames)[number]\n\nexport const isRouterName = (value: string): value is RouterName => routerNames.includes(value as RouterName)\n\nexport function toRouterName(value?: string): RouterName {\n\tif (value && isRouterName(value)) {\n\t\treturn value\n\t}\n\n\tthrow new Error(`Invalid router name: ${value}`)\n}\n\n// RouterModels\n\nexport type ModelRecord = Record<string, ModelInfo>\n\nexport type RouterModels = Record<RouterName, ModelRecord>\n\n// Reasoning\n\nexport const shouldUseReasoningBudget = ({\n\tmodel,\n\tsettings,\n}: {\n\tmodel: ModelInfo\n\tsettings?: ProviderSettings\n}): boolean => !!model.requiredReasoningBudget || (!!model.supportsReasoningBudget && !!settings?.enableReasoningEffort)\n\nexport const shouldUseReasoningEffort = ({\n\tmodel,\n\tsettings,\n}: {\n\tmodel: ModelInfo\n\tsettings?: ProviderSettings\n}): boolean => (!!model.supportsReasoningEffort && !!settings?.reasoningEffort) || !!model.reasoningEffort\n\nexport const DEFAULT_HYBRID_REASONING_MODEL_MAX_TOKENS = 16_384\nexport const DEFAULT_HYBRID_REASONING_MODEL_THINKING_TOKENS = 8_192\n\n// Max Tokens\n\nexport const getModelMaxOutputTokens = ({\n\tmodelId,\n\tmodel,\n\tsettings,\n\tformat,\n}: {\n\tmodelId: string\n\tmodel: ModelInfo\n\tsettings?: ProviderSettings\n\tformat?: \"anthropic\" | \"openai\" | \"gemini\" | \"openrouter\"\n}): number | undefined => {\n\t// Check for Claude Code specific max output tokens setting\n\tif (settings?.apiProvider === \"claude-code\") {\n\t\treturn settings.claudeCodeMaxOutputTokens || CLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS\n\t}\n\n\tif (shouldUseReasoningBudget({ model, settings })) {\n\t\treturn settings?.modelMaxTokens || DEFAULT_HYBRID_REASONING_MODEL_MAX_TOKENS\n\t}\n\n\tconst isAnthropicContext =\n\t\tmodelId.includes(\"claude\") ||\n\t\tformat === \"anthropic\" ||\n\t\t(format === \"openrouter\" && modelId.startsWith(\"anthropic/\"))\n\n\t// For \"Hybrid\" reasoning models, discard the model's actual maxTokens for Anthropic contexts\n\tif (model.supportsReasoningBudget && isAnthropicContext) {\n\t\treturn ANTHROPIC_DEFAULT_MAX_TOKENS\n\t}\n\n\t// For Anthropic contexts, always ensure a maxTokens value is set\n\tif (isAnthropicContext && (!model.maxTokens || model.maxTokens === 0)) {\n\t\treturn ANTHROPIC_DEFAULT_MAX_TOKENS\n\t}\n\n\t// If model has explicit maxTokens and it's not the full context window, use it\n\tif (model.maxTokens && model.maxTokens !== model.contextWindow) {\n\t\treturn model.maxTokens\n\t}\n\n\t// For non-Anthropic formats without explicit maxTokens, return undefined\n\tif (format) {\n\t\treturn undefined\n\t}\n\n\t// Default fallback\n\treturn ANTHROPIC_DEFAULT_MAX_TOKENS\n}\n\n// GetModelsOptions\n\nexport type GetModelsOptions =\n\t| { provider: \"openrouter\" }\n\t| { provider: \"glama\" }\n\t| { provider: \"requesty\"; apiKey?: string }\n\t| { provider: \"unbound\"; apiKey?: string }\n\t| { provider: \"litellm\"; apiKey: string; baseUrl: string }\n\t| { provider: \"ollama\"; baseUrl?: string }\n\t| { provider: \"lmstudio\"; baseUrl?: string }\n", + "import { useCallback, useEffect } from \"react\"\nimport { useKeyPress } from \"react-use\"\nimport { AlertDialogProps } from \"@radix-ui/react-alert-dialog\"\n\nimport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n\tButton,\n} from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\nimport { vscode } from \"@/utils/vscode\"\n\ninterface DeleteTaskDialogProps extends AlertDialogProps {\n\ttaskId: string\n}\n\nexport const DeleteTaskDialog = ({ taskId, ...props }: DeleteTaskDialogProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [isEnterPressed] = useKeyPress(\"Enter\")\n\n\tconst { onOpenChange } = props\n\n\tconst onDelete = useCallback(() => {\n\t\tif (taskId) {\n\t\t\tvscode.postMessage({ type: \"deleteTaskWithId\", text: taskId })\n\t\t\tonOpenChange?.(false)\n\t\t}\n\t}, [taskId, onOpenChange])\n\n\tuseEffect(() => {\n\t\tif (taskId && isEnterPressed) {\n\t\t\tonDelete()\n\t\t}\n\t}, [taskId, isEnterPressed, onDelete])\n\n\treturn (\n\t\t<AlertDialog {...props}>\n\t\t\t<AlertDialogContent onEscapeKeyDown={() => onOpenChange?.(false)}>\n\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t<AlertDialogTitle>{t(\"history:deleteTask\")}</AlertDialogTitle>\n\t\t\t\t\t<AlertDialogDescription>{t(\"history:deleteTaskMessage\")}</AlertDialogDescription>\n\t\t\t\t</AlertDialogHeader>\n\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t<AlertDialogCancel asChild>\n\t\t\t\t\t\t<Button variant=\"secondary\">{t(\"history:cancel\")}</Button>\n\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t<AlertDialogAction asChild>\n\t\t\t\t\t\t<Button variant=\"destructive\" onClick={onDelete}>\n\t\t\t\t\t\t\t{t(\"history:delete\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t</AlertDialogFooter>\n\t\t\t</AlertDialogContent>\n\t\t</AlertDialog>\n\t)\n}\n", + "import { useState, useEffect, useRef } from \"react\"\nimport { useTranslation } from \"react-i18next\"\n\nimport type { HistoryItem, ShareVisibility } from \"@roo-code/types\"\nimport { TelemetryEventName } from \"@roo-code/types\"\n\nimport { vscode } from \"@/utils/vscode\"\nimport { telemetryClient } from \"@/utils/TelemetryClient\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport {\n\tButton,\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger,\n\tCommand,\n\tCommandList,\n\tCommandItem,\n\tCommandGroup,\n\tDialog,\n\tDialogContent,\n\tDialogHeader,\n\tDialogTitle,\n\tStandardTooltip,\n} from \"@/components/ui\"\n\ninterface ShareButtonProps {\n\titem?: HistoryItem\n\tdisabled?: boolean\n}\n\nexport const ShareButton = ({ item, disabled = false }: ShareButtonProps) => {\n\tconst [shareDropdownOpen, setShareDropdownOpen] = useState(false)\n\tconst [connectModalOpen, setConnectModalOpen] = useState(false)\n\tconst [shareSuccess, setShareSuccess] = useState<{ visibility: ShareVisibility; url: string } | null>(null)\n\tconst { t } = useTranslation()\n\tconst { sharingEnabled, cloudIsAuthenticated, cloudUserInfo } = useExtensionState()\n\tconst wasUnauthenticatedRef = useRef(false)\n\tconst initiatedAuthFromThisButtonRef = useRef(false)\n\n\t// Track authentication state changes to auto-open popover after login\n\tuseEffect(() => {\n\t\tif (!cloudIsAuthenticated || !sharingEnabled) {\n\t\t\twasUnauthenticatedRef.current = true\n\t\t} else if (wasUnauthenticatedRef.current && cloudIsAuthenticated && sharingEnabled) {\n\t\t\t// Only open dropdown if auth was initiated from this button\n\t\t\tif (initiatedAuthFromThisButtonRef.current) {\n\t\t\t\t// User just authenticated from this share button, send telemetry, close modal, and open the popover\n\t\t\t\ttelemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_SUCCESS)\n\t\t\t\tsetConnectModalOpen(false)\n\t\t\t\tsetShareDropdownOpen(true)\n\t\t\t\tinitiatedAuthFromThisButtonRef.current = false // Reset the flag\n\t\t\t}\n\t\t\twasUnauthenticatedRef.current = false\n\t\t}\n\t}, [cloudIsAuthenticated, sharingEnabled])\n\n\t// Listen for share success messages from the extension\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"shareTaskSuccess\") {\n\t\t\t\tsetShareSuccess({\n\t\t\t\t\tvisibility: message.visibility,\n\t\t\t\t\turl: message.text,\n\t\t\t\t})\n\t\t\t\t// Auto-hide success message and close popover after 5 seconds\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tsetShareSuccess(null)\n\t\t\t\t\tsetShareDropdownOpen(false)\n\t\t\t\t}, 5000)\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [])\n\n\tconst handleShare = (visibility: ShareVisibility) => {\n\t\t// Clear any previous success state\n\t\tsetShareSuccess(null)\n\n\t\t// Send telemetry for share action\n\t\tif (visibility === \"organization\") {\n\t\t\ttelemetryClient.capture(TelemetryEventName.SHARE_ORGANIZATION_CLICKED)\n\t\t} else {\n\t\t\ttelemetryClient.capture(TelemetryEventName.SHARE_PUBLIC_CLICKED)\n\t\t}\n\n\t\tvscode.postMessage({\n\t\t\ttype: \"shareCurrentTask\",\n\t\t\tvisibility,\n\t\t})\n\t\t// Don't close the dropdown immediately - let success message show first\n\t}\n\n\tconst handleConnectToCloud = () => {\n\t\t// Send telemetry for connect to cloud action\n\t\ttelemetryClient.capture(TelemetryEventName.SHARE_CONNECT_TO_CLOUD_CLICKED)\n\n\t\t// Mark that authentication was initiated from this button\n\t\tinitiatedAuthFromThisButtonRef.current = true\n\t\tvscode.postMessage({ type: \"rooCloudSignIn\" })\n\t\tsetShareDropdownOpen(false)\n\t\tsetConnectModalOpen(false)\n\t}\n\n\tconst handleShareButtonClick = () => {\n\t\t// Send telemetry for share button click\n\t\ttelemetryClient.capture(TelemetryEventName.SHARE_BUTTON_CLICKED)\n\n\t\tif (!cloudIsAuthenticated) {\n\t\t\t// Show modal for unauthenticated users\n\t\t\tsetConnectModalOpen(true)\n\t\t} else {\n\t\t\t// Show popover for authenticated users\n\t\t\tsetShareDropdownOpen(true)\n\t\t}\n\t}\n\n\t// Determine share button state\n\tconst getShareButtonState = () => {\n\t\tif (!cloudIsAuthenticated) {\n\t\t\treturn {\n\t\t\t\tdisabled: false,\n\t\t\t\ttitle: t(\"chat:task.share\"),\n\t\t\t\tshowPopover: false, // We'll show modal instead\n\t\t\t}\n\t\t} else if (!sharingEnabled) {\n\t\t\treturn {\n\t\t\t\tdisabled: true,\n\t\t\t\ttitle: t(\"chat:task.sharingDisabledByOrganization\"),\n\t\t\t\tshowPopover: false,\n\t\t\t}\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tdisabled: false,\n\t\t\t\ttitle: t(\"chat:task.share\"),\n\t\t\t\tshowPopover: true,\n\t\t\t}\n\t\t}\n\t}\n\n\tconst shareButtonState = getShareButtonState()\n\n\t// Don't render if no item ID\n\tif (!item?.id) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{shareButtonState.showPopover ? (\n\t\t\t\t<Popover open={shareDropdownOpen} onOpenChange={setShareDropdownOpen}>\n\t\t\t\t\t<StandardTooltip content={shareButtonState.title}>\n\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\tdisabled={disabled || shareButtonState.disabled}\n\t\t\t\t\t\t\t\tclassName=\"h-7 w-7 p-1.5 hover:bg-vscode-toolbar-hoverBackground\"\n\t\t\t\t\t\t\t\tonClick={handleShareButtonClick}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-link\"></span>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t<PopoverContent className=\"w-56 p-0\" align=\"start\">\n\t\t\t\t\t\t{shareSuccess ? (\n\t\t\t\t\t\t\t<div className=\"p-3\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-green-600 dark:text-green-400\">\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-check\"></span>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{shareSuccess.visibility === \"public\"\n\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:task.shareSuccessPublic\")\n\t\t\t\t\t\t\t\t\t\t\t: t(\"chat:task.shareSuccessOrganization\")}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t{cloudUserInfo?.organizationName && (\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => handleShare(\"organization\")}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-organization text-sm\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"chat:task.shareWithOrganization\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"chat:task.shareWithOrganizationDescription\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t<CommandItem onSelect={() => handleShare(\"public\")} className=\"cursor-pointer\">\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-globe text-sm\"></span>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-sm\">{t(\"chat:task.sharePublicly\")}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"chat:task.sharePubliclyDescription\")}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t) : (\n\t\t\t\t<StandardTooltip content={shareButtonState.title}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tdisabled={disabled || shareButtonState.disabled}\n\t\t\t\t\t\tclassName=\"h-7 w-7 p-1.5 hover:bg-vscode-toolbar-hoverBackground\"\n\t\t\t\t\t\tonClick={handleShareButtonClick}>\n\t\t\t\t\t\t<span className=\"codicon codicon-link\"></span>\n\t\t\t\t\t</Button>\n\t\t\t\t</StandardTooltip>\n\t\t\t)}\n\n\t\t\t{/* Connect to Cloud Modal */}\n\t\t\t<Dialog open={connectModalOpen} onOpenChange={setConnectModalOpen}>\n\t\t\t\t<DialogContent className=\"max-w-sm\">\n\t\t\t\t\t<DialogHeader className=\"text-center\">\n\t\t\t\t\t\t<DialogTitle className=\"text-lg font-medium text-vscode-foreground\">\n\t\t\t\t\t\t\t{t(\"account:cloudBenefitsTitle\")}\n\t\t\t\t\t\t</DialogTitle>\n\t\t\t\t\t</DialogHeader>\n\n\t\t\t\t\t<div className=\"flex flex-col space-y-6\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<p className=\"text-md text-vscode-descriptionForeground mb-4\">\n\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitsSubtitle\")}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ul className=\"text-sm text-vscode-descriptionForeground space-y-2\">\n\t\t\t\t\t\t\t\t<li className=\"flex items-start\">\n\t\t\t\t\t\t\t\t\t<span className=\"mr-2 text-vscode-foreground\">•</span>\n\t\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitSharing\")}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li className=\"flex items-start\">\n\t\t\t\t\t\t\t\t\t<span className=\"mr-2 text-vscode-foreground\">•</span>\n\t\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitHistory\")}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li className=\"flex items-start\">\n\t\t\t\t\t\t\t\t\t<span className=\"mr-2 text-vscode-foreground\">•</span>\n\t\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitMetrics\")}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t\t\t\t\t<Button onClick={handleConnectToCloud} className=\"w-full\">\n\t\t\t\t\t\t\t\t{t(\"account:connect\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</DialogContent>\n\t\t\t</Dialog>\n\t\t</>\n\t)\n}\n", + "import { useState } from \"react\"\nimport prettyBytes from \"pretty-bytes\"\nimport { useTranslation } from \"react-i18next\"\n\nimport type { HistoryItem } from \"@roo-code/types\"\n\nimport { vscode } from \"@/utils/vscode\"\nimport { useCopyToClipboard } from \"@/utils/clipboard\"\n\nimport { DeleteTaskDialog } from \"../history/DeleteTaskDialog\"\nimport { IconButton } from \"./IconButton\"\nimport { ShareButton } from \"./ShareButton\"\n\ninterface TaskActionsProps {\n\titem?: HistoryItem\n\tbuttonsDisabled: boolean\n}\n\nexport const TaskActions = ({ item, buttonsDisabled }: TaskActionsProps) => {\n\tconst [deleteTaskId, setDeleteTaskId] = useState<string | null>(null)\n\tconst { t } = useTranslation()\n\tconst { copyWithFeedback, showCopyFeedback } = useCopyToClipboard()\n\n\treturn (\n\t\t<div className=\"flex flex-row gap-1\">\n\t\t\t<ShareButton item={item} disabled={false} />\n\t\t\t<IconButton\n\t\t\t\ticonClass=\"codicon-desktop-download\"\n\t\t\t\ttitle={t(\"chat:task.export\")}\n\t\t\t\tonClick={() => vscode.postMessage({ type: \"exportCurrentTask\" })}\n\t\t\t/>\n\t\t\t{item?.task && (\n\t\t\t\t<IconButton\n\t\t\t\t\ticonClass={showCopyFeedback ? \"codicon-check\" : \"codicon-copy\"}\n\t\t\t\t\ttitle={t(\"history:copyPrompt\")}\n\t\t\t\t\tonClick={(e) => copyWithFeedback(item.task, e)}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!!item?.size && item.size > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ticonClass=\"codicon-trash\"\n\t\t\t\t\t\t\ttitle={t(\"chat:task.delete\")}\n\t\t\t\t\t\t\tdisabled={buttonsDisabled}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation()\n\n\t\t\t\t\t\t\t\tif (e.shiftKey) {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"deleteTaskWithId\", text: item.id })\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetDeleteTaskId(item.id)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"ml-1 text-xs text-vscode-foreground opacity-85\">{prettyBytes(item.size)}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{deleteTaskId && (\n\t\t\t\t\t\t<DeleteTaskDialog\n\t\t\t\t\t\t\ttaskId={deleteTaskId}\n\t\t\t\t\t\t\tonOpenChange={(open) => !open && setDeleteTaskId(null)}\n\t\t\t\t\t\t\topen\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import { ANTHROPIC_DEFAULT_MAX_TOKENS } from \"@roo-code/types\"\n\n/**\n * Result of token distribution calculation\n */\nexport interface TokenDistributionResult {\n\t/**\n\t * Percentage of context window used by current tokens (0-100)\n\t */\n\tcurrentPercent: number\n\n\t/**\n\t * Percentage of context window reserved for model output (0-100)\n\t */\n\treservedPercent: number\n\n\t/**\n\t * Percentage of context window still available (0-100)\n\t */\n\tavailablePercent: number\n\n\t/**\n\t * Number of tokens reserved for model output\n\t */\n\treservedForOutput: number\n\n\t/**\n\t * Number of tokens still available in the context window\n\t */\n\tavailableSize: number\n}\n\n/**\n * Calculates distribution of tokens within the context window\n * This is used for visualizing the token distribution in the UI\n *\n * @param contextWindow The total size of the context window\n * @param contextTokens The number of tokens currently used\n * @param maxTokens Optional override for tokens reserved for model output (otherwise uses 8192)\n * @returns Distribution of tokens with percentages and raw numbers\n */\nexport const calculateTokenDistribution = (\n\tcontextWindow: number,\n\tcontextTokens: number,\n\tmaxTokens?: number,\n): TokenDistributionResult => {\n\t// Handle potential invalid inputs with positive fallbacks\n\tconst safeContextWindow = Math.max(0, contextWindow)\n\tconst safeContextTokens = Math.max(0, contextTokens)\n\n\t// Get the actual max tokens value from the model\n\t// If maxTokens is valid (positive and not equal to context window), use it, otherwise reserve 8192 tokens as a default\n\tconst reservedForOutput =\n\t\tmaxTokens && maxTokens > 0 && maxTokens !== safeContextWindow ? maxTokens : ANTHROPIC_DEFAULT_MAX_TOKENS\n\n\t// Calculate sizes directly without buffer display\n\tconst availableSize = Math.max(0, safeContextWindow - safeContextTokens - reservedForOutput)\n\n\t// Calculate percentages - ensure they sum to exactly 100%\n\t// Use the ratio of each part to the total context window\n\tconst total = safeContextTokens + reservedForOutput + availableSize\n\n\t// Safeguard against division by zero\n\tif (total <= 0) {\n\t\treturn {\n\t\t\tcurrentPercent: 0,\n\t\t\treservedPercent: 0,\n\t\t\tavailablePercent: 0,\n\t\t\treservedForOutput,\n\t\t\tavailableSize,\n\t\t}\n\t}\n\n\treturn {\n\t\tcurrentPercent: (safeContextTokens / total) * 100,\n\t\treservedPercent: (reservedForOutput / total) * 100,\n\t\tavailablePercent: (availableSize / total) * 100,\n\t\treservedForOutput,\n\t\tavailableSize,\n\t}\n}\n", + "import { useMemo } from \"react\"\nimport { useTranslation } from \"react-i18next\"\n\nimport { formatLargeNumber } from \"@/utils/format\"\nimport { calculateTokenDistribution } from \"@/utils/model-utils\"\nimport { StandardTooltip } from \"@/components/ui\"\n\ninterface ContextWindowProgressProps {\n\tcontextWindow: number\n\tcontextTokens: number\n\tmaxTokens?: number\n}\n\nexport const ContextWindowProgress = ({ contextWindow, contextTokens, maxTokens }: ContextWindowProgressProps) => {\n\tconst { t } = useTranslation()\n\n\t// Use the shared utility function to calculate all token distribution values\n\tconst tokenDistribution = useMemo(\n\t\t() => calculateTokenDistribution(contextWindow, contextTokens, maxTokens),\n\t\t[contextWindow, contextTokens, maxTokens],\n\t)\n\n\t// Destructure the values we need\n\tconst { currentPercent, reservedPercent, availableSize, reservedForOutput, availablePercent } = tokenDistribution\n\n\t// For display purposes\n\tconst safeContextWindow = Math.max(0, contextWindow)\n\tconst safeContextTokens = Math.max(0, contextTokens)\n\n\t// Combine all tooltip content into a single tooltip\n\tconst tooltipContent = (\n\t\t<div className=\"space-y-1\">\n\t\t\t<div>\n\t\t\t\t{t(\"chat:tokenProgress.tokensUsed\", {\n\t\t\t\t\tused: formatLargeNumber(safeContextTokens),\n\t\t\t\t\ttotal: formatLargeNumber(safeContextWindow),\n\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{reservedForOutput > 0 && (\n\t\t\t\t<div>\n\t\t\t\t\t{t(\"chat:tokenProgress.reservedForResponse\", {\n\t\t\t\t\t\tamount: formatLargeNumber(reservedForOutput),\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{availableSize > 0 && (\n\t\t\t\t<div>\n\t\t\t\t\t{t(\"chat:tokenProgress.availableSpace\", {\n\t\t\t\t\t\tamount: formatLargeNumber(availableSize),\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"flex items-center gap-2 flex-1 whitespace-nowrap px-2\">\n\t\t\t\t<div data-testid=\"context-tokens-count\">{formatLargeNumber(safeContextTokens)}</div>\n\t\t\t\t<StandardTooltip content={tooltipContent} side=\"top\" sideOffset={8}>\n\t\t\t\t\t<div className=\"flex-1 relative\">\n\t\t\t\t\t\t{/* Main progress bar container */}\n\t\t\t\t\t\t<div className=\"flex items-center h-1 rounded-[2px] overflow-hidden w-full bg-[color-mix(in_srgb,var(--vscode-foreground)_20%,transparent)]\">\n\t\t\t\t\t\t\t{/* Current tokens container */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"relative h-full\"\n\t\t\t\t\t\t\t\tstyle={{ width: `${currentPercent}%` }}\n\t\t\t\t\t\t\t\tdata-testid=\"context-tokens-used\">\n\t\t\t\t\t\t\t\t{/* Current tokens used - darkest */}\n\t\t\t\t\t\t\t\t<div className=\"h-full w-full bg-[var(--vscode-foreground)] transition-width duration-300 ease-out\" />\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Container for reserved tokens */}\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"relative h-full\"\n\t\t\t\t\t\t\t\tstyle={{ width: `${reservedPercent}%` }}\n\t\t\t\t\t\t\t\tdata-testid=\"context-reserved-tokens\">\n\t\t\t\t\t\t\t\t{/* Reserved for output section - medium gray */}\n\t\t\t\t\t\t\t\t<div className=\"h-full w-full bg-[color-mix(in_srgb,var(--vscode-foreground)_30%,transparent)] transition-width duration-300 ease-out\" />\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Empty section (if any) */}\n\t\t\t\t\t\t\t{availablePercent > 0 && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"relative h-full\"\n\t\t\t\t\t\t\t\t\tstyle={{ width: `${availablePercent}%` }}\n\t\t\t\t\t\t\t\t\tdata-testid=\"context-available-space-section\">\n\t\t\t\t\t\t\t\t\t{/* Available space - transparent */}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</StandardTooltip>\n\t\t\t\t<div data-testid=\"context-window-size\">{formatLargeNumber(safeContextWindow)}</div>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useState, useRef, useMemo, useEffect } from \"react\"\n\nexport function TodoListDisplay({ todos }: { todos: any[] }) {\n\tconst [isCollapsed, setIsCollapsed] = useState(true)\n\tconst ulRef = useRef<HTMLUListElement>(null)\n\tconst itemRefs = useRef<(HTMLLIElement | null)[]>([])\n\tconst scrollIndex = useMemo(() => {\n\t\tconst inProgressIdx = todos.findIndex((todo: any) => todo.status === \"in_progress\")\n\t\tif (inProgressIdx !== -1) return inProgressIdx\n\t\treturn todos.findIndex((todo: any) => todo.status !== \"completed\")\n\t}, [todos])\n\n\t// Find the most important todo to display when collapsed\n\tconst mostImportantTodo = useMemo(() => {\n\t\tconst inProgress = todos.find((todo: any) => todo.status === \"in_progress\")\n\t\tif (inProgress) return inProgress\n\t\treturn todos.find((todo: any) => todo.status !== \"completed\")\n\t}, [todos])\n\tuseEffect(() => {\n\t\tif (isCollapsed) return\n\t\tif (!ulRef.current) return\n\t\tif (scrollIndex === -1) return\n\t\tconst target = itemRefs.current[scrollIndex]\n\t\tif (target && ulRef.current) {\n\t\t\tconst ul = ulRef.current\n\t\t\tconst targetTop = target.offsetTop - ul.offsetTop\n\t\t\tconst targetHeight = target.offsetHeight\n\t\t\tconst ulHeight = ul.clientHeight\n\t\t\tconst scrollTo = targetTop - (ulHeight / 2 - targetHeight / 2)\n\t\t\tul.scrollTop = scrollTo\n\t\t}\n\t}, [todos, isCollapsed, scrollIndex])\n\tif (!Array.isArray(todos) || todos.length === 0) return null\n\n\tconst totalCount = todos.length\n\tconst completedCount = todos.filter((todo: any) => todo.status === \"completed\").length\n\n\tconst allCompleted = completedCount === totalCount && totalCount > 0\n\n\t// Create the status icon for the most important todo\n\tconst getMostImportantTodoIcon = () => {\n\t\tif (allCompleted) {\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\tbackground: \"var(--vscode-charts-green)\",\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tmarginLeft: 2,\n\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\n\t\tif (!mostImportantTodo) {\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"codicon codicon-checklist\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tcolor: \"var(--vscode-foreground)\",\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tmarginLeft: 2,\n\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\n\t\tif (mostImportantTodo.status === \"completed\") {\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\tbackground: \"var(--vscode-charts-green)\",\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tmarginLeft: 2,\n\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\n\t\tif (mostImportantTodo.status === \"in_progress\") {\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\tbackground: \"var(--vscode-charts-yellow)\",\n\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\tmarginLeft: 2,\n\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\n\t\t// Default not-started todo\n\t\treturn (\n\t\t\t<span\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\twidth: 8,\n\t\t\t\t\theight: 8,\n\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\tborder: \"1px solid var(--vscode-descriptionForeground)\",\n\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\tmarginLeft: 2,\n\t\t\t\t\tflexShrink: 0,\n\t\t\t\t}}\n\t\t\t/>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"border border-t-0 rounded-b-xs relative\"\n\t\t\tstyle={{\n\t\t\t\tmargin: \"0\",\n\t\t\t\tpadding: \"6px 10px\",\n\t\t\t\tbackground: \"var(--vscode-editor-background,transparent)\",\n\t\t\t\tborderColor: \"var(--vscode-panel-border)\",\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: 2,\n\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\tuserSelect: \"none\",\n\t\t\t\t}}\n\t\t\t\tonClick={() => setIsCollapsed((v) => !v)}>\n\t\t\t\t{getMostImportantTodoIcon()}\n\t\t\t\t<span\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\tcolor: allCompleted\n\t\t\t\t\t\t\t? \"var(--vscode-charts-green)\"\n\t\t\t\t\t\t\t: mostImportantTodo?.status === \"in_progress\"\n\t\t\t\t\t\t\t\t? \"var(--vscode-charts-yellow)\"\n\t\t\t\t\t\t\t\t: \"var(--vscode-foreground)\",\n\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t}}>\n\t\t\t\t\t{allCompleted ? \"All tasks completed!\" : mostImportantTodo?.content || \"No pending tasks\"}\n\t\t\t\t</span>\n\t\t\t\t<div style={{ display: \"flex\", alignItems: \"center\", gap: 4, flexShrink: 0 }}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"codicon codicon-checklist\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\tfontSize: 12,\n\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{completedCount}/{totalCount}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{/* Floating panel for expanded state */}\n\t\t\t{!isCollapsed && (\n\t\t\t\t<>\n\t\t\t\t\t{/* Backdrop */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: \"fixed\",\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tbackground: \"rgba(0, 0, 0, 0.1)\",\n\t\t\t\t\t\t\tzIndex: 1000,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => setIsCollapsed(true)}\n\t\t\t\t\t/>\n\t\t\t\t\t{/* Floating panel */}\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\t\t\ttop: \"100%\",\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\tmarginTop: 4,\n\t\t\t\t\t\t\tbackground: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-panel-border)\",\n\t\t\t\t\t\t\tborderRadius: 6,\n\t\t\t\t\t\t\tboxShadow: \"0 4px 12px rgba(0, 0, 0, 0.15)\",\n\t\t\t\t\t\t\tzIndex: 1001,\n\t\t\t\t\t\t\tmaxHeight: \"400px\",\n\t\t\t\t\t\t\tminHeight: \"200px\",\n\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{/* Panel header */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t\t\t\tpadding: \"12px 16px\",\n\t\t\t\t\t\t\t\tborderBottom: \"1px solid var(--vscode-panel-border)\",\n\t\t\t\t\t\t\t\tbackground: \"var(--vscode-editor-background)\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-checklist\"\n\t\t\t\t\t\t\t\t\tstyle={{ color: \"var(--vscode-foreground)\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span style={{ fontWeight: \"bold\", fontSize: 14 }}>Todo List</span>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t\t\t\tfontSize: 13,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{completedCount}/{totalCount}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-chevron-up\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tfontSize: 14,\n\t\t\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\tpadding: \"4px\",\n\t\t\t\t\t\t\t\t\tborderRadius: \"2px\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tsetIsCollapsed(true)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\te.currentTarget.style.opacity = \"1\"\n\t\t\t\t\t\t\t\t\te.currentTarget.style.background = \"var(--vscode-toolbar-hoverBackground)\"\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\te.currentTarget.style.opacity = \"0.7\"\n\t\t\t\t\t\t\t\t\te.currentTarget.style.background = \"transparent\"\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{/* Todo list */}\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tref={ulRef}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\tpaddingLeft: 0,\n\t\t\t\t\t\t\t\tlistStyle: \"none\",\n\t\t\t\t\t\t\t\tmaxHeight: \"340px\",\n\t\t\t\t\t\t\t\toverflowY: \"auto\",\n\t\t\t\t\t\t\t\tpadding: \"12px 16px\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{todos.map((todo: any, idx: number) => {\n\t\t\t\t\t\t\t\tlet icon\n\t\t\t\t\t\t\t\tif (todo.status === \"completed\") {\n\t\t\t\t\t\t\t\t\ticon = (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-charts-green)\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 7,\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else if (todo.status === \"in_progress\") {\n\t\t\t\t\t\t\t\t\ticon = (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-charts-yellow)\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 7,\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\ticon = (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tdisplay: \"inline-block\",\n\t\t\t\t\t\t\t\t\t\t\t\twidth: 8,\n\t\t\t\t\t\t\t\t\t\t\t\theight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: 8,\n\t\t\t\t\t\t\t\t\t\t\t\tmarginTop: 7,\n\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tkey={todo.id || todo.content}\n\t\t\t\t\t\t\t\t\t\tref={(el) => (itemRefs.current[idx] = el)}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: 8,\n\t\t\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\t\t\t\t\t\tminHeight: 20,\n\t\t\t\t\t\t\t\t\t\t\tlineHeight: \"1.4\",\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\tfontWeight: 500,\n\t\t\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\t\t\ttodo.status === \"completed\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-charts-green)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: todo.status === \"in_progress\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-charts-yellow)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"var(--vscode-foreground)\",\n\t\t\t\t\t\t\t\t\t\t\t\twordBreak: \"break-word\",\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t{todo.content}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import { memo, useRef, useState } from \"react\"\nimport { useWindowSize } from \"react-use\"\nimport { useTranslation } from \"react-i18next\"\nimport { VSCodeBadge } from \"@vscode/webview-ui-toolkit/react\"\nimport { CloudUpload, CloudDownload, FoldVertical } from \"lucide-react\"\n\nimport type { ClineMessage } from \"@roo-code/types\"\n\nimport { getModelMaxOutputTokens } from \"@roo/api\"\n\nimport { formatLargeNumber } from \"@src/utils/format\"\nimport { cn } from \"@src/lib/utils\"\nimport { Button, StandardTooltip } from \"@src/components/ui\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useSelectedModel } from \"@/components/ui/hooks/useSelectedModel\"\n\nimport Thumbnails from \"../common/Thumbnails\"\n\nimport { TaskActions } from \"./TaskActions\"\nimport { ShareButton } from \"./ShareButton\"\nimport { ContextWindowProgress } from \"./ContextWindowProgress\"\nimport { Mention } from \"./Mention\"\nimport { TodoListDisplay } from \"./TodoListDisplay\"\n\nexport interface TaskHeaderProps {\n\ttask: ClineMessage\n\ttokensIn: number\n\ttokensOut: number\n\tcacheWrites?: number\n\tcacheReads?: number\n\ttotalCost: number\n\tcontextTokens: number\n\tbuttonsDisabled: boolean\n\thandleCondenseContext: (taskId: string) => void\n\tonClose: () => void\n\ttodos?: any[]\n}\n\nconst TaskHeader = ({\n\ttask,\n\ttokensIn,\n\ttokensOut,\n\tcacheWrites,\n\tcacheReads,\n\ttotalCost,\n\tcontextTokens,\n\tbuttonsDisabled,\n\thandleCondenseContext,\n\tonClose,\n\ttodos,\n}: TaskHeaderProps) => {\n\tconst { t } = useTranslation()\n\tconst { apiConfiguration, currentTaskItem } = useExtensionState()\n\tconst { id: modelId, info: model } = useSelectedModel(apiConfiguration)\n\tconst [isTaskExpanded, setIsTaskExpanded] = useState(false)\n\n\tconst textContainerRef = useRef<HTMLDivElement>(null)\n\tconst textRef = useRef<HTMLDivElement>(null)\n\tconst contextWindow = model?.contextWindow || 1\n\n\tconst { width: windowWidth } = useWindowSize()\n\n\tconst condenseButton = (\n\t\t<StandardTooltip content={t(\"chat:task.condenseContext\")}>\n\t\t\t<button\n\t\t\t\tdisabled={buttonsDisabled}\n\t\t\t\tonClick={() => currentTaskItem && handleCondenseContext(currentTaskItem.id)}\n\t\t\t\tclassName=\"shrink-0 min-h-[20px] min-w-[20px] p-[2px] cursor-pointer disabled:cursor-not-allowed opacity-85 hover:opacity-100 bg-transparent border-none rounded-md\">\n\t\t\t\t<FoldVertical size={16} />\n\t\t\t</button>\n\t\t</StandardTooltip>\n\t)\n\n\tconst hasTodos = todos && Array.isArray(todos) && todos.length > 0\n\n\treturn (\n\t\t<div className=\"py-2 px-3\">\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"p-2.5 flex flex-col gap-1.5 relative z-1 border\",\n\t\t\t\t\thasTodos ? \"rounded-t-xs border-b-0\" : \"rounded-xs\",\n\t\t\t\t\tisTaskExpanded\n\t\t\t\t\t\t? \"border-vscode-panel-border text-vscode-foreground\"\n\t\t\t\t\t\t: \"border-vscode-panel-border/80 text-vscode-foreground/80\",\n\t\t\t\t)}>\n\t\t\t\t<div className=\"flex justify-between items-center gap-2\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"flex items-center cursor-pointer -ml-0.5 select-none grow min-w-0\"\n\t\t\t\t\t\tonClick={() => setIsTaskExpanded(!isTaskExpanded)}>\n\t\t\t\t\t\t<div className=\"flex items-center shrink-0\">\n\t\t\t\t\t\t\t<span className={`codicon codicon-chevron-${isTaskExpanded ? \"down\" : \"right\"}`}></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"ml-1.5 whitespace-nowrap overflow-hidden text-ellipsis grow min-w-0\">\n\t\t\t\t\t\t\t<span className=\"font-bold\">\n\t\t\t\t\t\t\t\t{t(\"chat:task.title\")}\n\t\t\t\t\t\t\t\t{!isTaskExpanded && \":\"}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{!isTaskExpanded && (\n\t\t\t\t\t\t\t\t<span className=\"ml-1\">\n\t\t\t\t\t\t\t\t\t<Mention text={task.text} />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<StandardTooltip content={t(\"chat:task.closeAndStart\")}>\n\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={onClose} className=\"shrink-0 w-5 h-5\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-close\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t\t{/* Collapsed state: Track context and cost if we have any */}\n\t\t\t\t{!isTaskExpanded && contextWindow > 0 && (\n\t\t\t\t\t<div className={`w-full flex flex-row items-center gap-1 h-auto`}>\n\t\t\t\t\t\t<ContextWindowProgress\n\t\t\t\t\t\t\tcontextWindow={contextWindow}\n\t\t\t\t\t\t\tcontextTokens={contextTokens || 0}\n\t\t\t\t\t\t\tmaxTokens={\n\t\t\t\t\t\t\t\tmodel\n\t\t\t\t\t\t\t\t\t? getModelMaxOutputTokens({ modelId, model, settings: apiConfiguration })\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{condenseButton}\n\t\t\t\t\t\t<ShareButton item={currentTaskItem} disabled={buttonsDisabled} />\n\t\t\t\t\t\t{!!totalCost && <VSCodeBadge>${totalCost.toFixed(2)}</VSCodeBadge>}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{/* Expanded state: Show task text and images */}\n\t\t\t\t{isTaskExpanded && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={textContainerRef}\n\t\t\t\t\t\t\tclassName=\"-mt-0.5 text-vscode-font-size overflow-y-auto break-words break-anywhere relative\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tref={textRef}\n\t\t\t\t\t\t\t\tclassName=\"overflow-auto max-h-80 whitespace-pre-wrap break-words break-anywhere\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: \"-webkit-box\",\n\t\t\t\t\t\t\t\t\tWebkitLineClamp: \"unset\",\n\t\t\t\t\t\t\t\t\tWebkitBoxOrient: \"vertical\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<Mention text={task.text} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{task.images && task.images.length > 0 && <Thumbnails images={task.images} />}\n\n\t\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t\t{isTaskExpanded && contextWindow > 0 && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={`w-full flex ${windowWidth < 400 ? \"flex-col\" : \"flex-row\"} gap-1 h-auto`}>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 flex-shrink-0\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-bold\" data-testid=\"context-window-label\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"chat:task.contextWindow\")}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<ContextWindowProgress\n\t\t\t\t\t\t\t\t\t\tcontextWindow={contextWindow}\n\t\t\t\t\t\t\t\t\t\tcontextTokens={contextTokens || 0}\n\t\t\t\t\t\t\t\t\t\tmaxTokens={\n\t\t\t\t\t\t\t\t\t\t\tmodel\n\t\t\t\t\t\t\t\t\t\t\t\t? getModelMaxOutputTokens({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings: apiConfiguration,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{condenseButton}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"flex justify-between items-center h-[20px]\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 flex-wrap\">\n\t\t\t\t\t\t\t\t\t<span className=\"font-bold\">{t(\"chat:task.tokens\")}</span>\n\t\t\t\t\t\t\t\t\t{typeof tokensIn === \"number\" && tokensIn > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<i className=\"codicon codicon-arrow-up text-xs font-bold\" />\n\t\t\t\t\t\t\t\t\t\t\t{formatLargeNumber(tokensIn)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{typeof tokensOut === \"number\" && tokensOut > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<i className=\"codicon codicon-arrow-down text-xs font-bold\" />\n\t\t\t\t\t\t\t\t\t\t\t{formatLargeNumber(tokensOut)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{!totalCost && <TaskActions item={currentTaskItem} buttonsDisabled={buttonsDisabled} />}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{((typeof cacheReads === \"number\" && cacheReads > 0) ||\n\t\t\t\t\t\t\t\t(typeof cacheWrites === \"number\" && cacheWrites > 0)) && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 flex-wrap h-[20px]\">\n\t\t\t\t\t\t\t\t\t<span className=\"font-bold\">{t(\"chat:task.cache\")}</span>\n\t\t\t\t\t\t\t\t\t{typeof cacheWrites === \"number\" && cacheWrites > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<CloudUpload size={16} />\n\t\t\t\t\t\t\t\t\t\t\t{formatLargeNumber(cacheWrites)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{typeof cacheReads === \"number\" && cacheReads > 0 && (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<CloudDownload size={16} />\n\t\t\t\t\t\t\t\t\t\t\t{formatLargeNumber(cacheReads)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!!totalCost && (\n\t\t\t\t\t\t\t\t<div className=\"flex justify-between items-center h-[20px]\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-bold\">{t(\"chat:task.apiCost\")}</span>\n\t\t\t\t\t\t\t\t\t\t<span>${totalCost?.toFixed(2)}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<TaskActions item={currentTaskItem} buttonsDisabled={buttonsDisabled} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<TodoListDisplay todos={todos ?? (task as any)?.tool?.todos ?? []} />\n\t\t</div>\n\t)\n}\n\nexport default memo(TaskHeader)\n", + "import type { GlobalSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { cn } from \"@/lib/utils\"\nimport { Button, StandardTooltip } from \"@/components/ui\"\n\ntype AutoApproveToggles = Pick<\n\tGlobalSettings,\n\t| \"alwaysAllowReadOnly\"\n\t| \"alwaysAllowWrite\"\n\t| \"alwaysAllowBrowser\"\n\t| \"alwaysApproveResubmit\"\n\t| \"alwaysAllowMcp\"\n\t| \"alwaysAllowModeSwitch\"\n\t| \"alwaysAllowSubtasks\"\n\t| \"alwaysAllowExecute\"\n\t| \"alwaysAllowFollowupQuestions\"\n\t| \"alwaysAllowUpdateTodoList\"\n>\n\nexport type AutoApproveSetting = keyof AutoApproveToggles\n\ntype AutoApproveConfig = {\n\tkey: AutoApproveSetting\n\tlabelKey: string\n\tdescriptionKey: string\n\ticon: string\n\ttestId: string\n}\n\nexport const autoApproveSettingsConfig: Record<AutoApproveSetting, AutoApproveConfig> = {\n\talwaysAllowReadOnly: {\n\t\tkey: \"alwaysAllowReadOnly\",\n\t\tlabelKey: \"settings:autoApprove.readOnly.label\",\n\t\tdescriptionKey: \"settings:autoApprove.readOnly.description\",\n\t\ticon: \"eye\",\n\t\ttestId: \"always-allow-readonly-toggle\",\n\t},\n\talwaysAllowWrite: {\n\t\tkey: \"alwaysAllowWrite\",\n\t\tlabelKey: \"settings:autoApprove.write.label\",\n\t\tdescriptionKey: \"settings:autoApprove.write.description\",\n\t\ticon: \"edit\",\n\t\ttestId: \"always-allow-write-toggle\",\n\t},\n\talwaysAllowBrowser: {\n\t\tkey: \"alwaysAllowBrowser\",\n\t\tlabelKey: \"settings:autoApprove.browser.label\",\n\t\tdescriptionKey: \"settings:autoApprove.browser.description\",\n\t\ticon: \"globe\",\n\t\ttestId: \"always-allow-browser-toggle\",\n\t},\n\talwaysApproveResubmit: {\n\t\tkey: \"alwaysApproveResubmit\",\n\t\tlabelKey: \"settings:autoApprove.retry.label\",\n\t\tdescriptionKey: \"settings:autoApprove.retry.description\",\n\t\ticon: \"refresh\",\n\t\ttestId: \"always-approve-resubmit-toggle\",\n\t},\n\talwaysAllowMcp: {\n\t\tkey: \"alwaysAllowMcp\",\n\t\tlabelKey: \"settings:autoApprove.mcp.label\",\n\t\tdescriptionKey: \"settings:autoApprove.mcp.description\",\n\t\ticon: \"plug\",\n\t\ttestId: \"always-allow-mcp-toggle\",\n\t},\n\talwaysAllowModeSwitch: {\n\t\tkey: \"alwaysAllowModeSwitch\",\n\t\tlabelKey: \"settings:autoApprove.modeSwitch.label\",\n\t\tdescriptionKey: \"settings:autoApprove.modeSwitch.description\",\n\t\ticon: \"sync\",\n\t\ttestId: \"always-allow-mode-switch-toggle\",\n\t},\n\talwaysAllowSubtasks: {\n\t\tkey: \"alwaysAllowSubtasks\",\n\t\tlabelKey: \"settings:autoApprove.subtasks.label\",\n\t\tdescriptionKey: \"settings:autoApprove.subtasks.description\",\n\t\ticon: \"list-tree\",\n\t\ttestId: \"always-allow-subtasks-toggle\",\n\t},\n\talwaysAllowExecute: {\n\t\tkey: \"alwaysAllowExecute\",\n\t\tlabelKey: \"settings:autoApprove.execute.label\",\n\t\tdescriptionKey: \"settings:autoApprove.execute.description\",\n\t\ticon: \"terminal\",\n\t\ttestId: \"always-allow-execute-toggle\",\n\t},\n\talwaysAllowFollowupQuestions: {\n\t\tkey: \"alwaysAllowFollowupQuestions\",\n\t\tlabelKey: \"settings:autoApprove.followupQuestions.label\",\n\t\tdescriptionKey: \"settings:autoApprove.followupQuestions.description\",\n\t\ticon: \"question\",\n\t\ttestId: \"always-allow-followup-questions-toggle\",\n\t},\n\talwaysAllowUpdateTodoList: {\n\t\tkey: \"alwaysAllowUpdateTodoList\",\n\t\tlabelKey: \"settings:autoApprove.updateTodoList.label\",\n\t\tdescriptionKey: \"settings:autoApprove.updateTodoList.description\",\n\t\ticon: \"checklist\",\n\t\ttestId: \"always-allow-update-todo-list-toggle\",\n\t},\n}\n\ntype AutoApproveToggleProps = AutoApproveToggles & {\n\tonToggle: (key: AutoApproveSetting, value: boolean) => void\n}\n\nexport const AutoApproveToggle = ({ onToggle, ...props }: AutoApproveToggleProps) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div className={cn(\"flex flex-row flex-wrap gap-2 py-2\")}>\n\t\t\t{Object.values(autoApproveSettingsConfig).map(({ key, descriptionKey, labelKey, icon, testId }) => (\n\t\t\t\t<StandardTooltip key={key} content={t(descriptionKey || \"\")}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant={props[key] ? \"default\" : \"outline\"}\n\t\t\t\t\t\tonClick={() => onToggle(key, !props[key])}\n\t\t\t\t\t\taria-label={t(labelKey)}\n\t\t\t\t\t\taria-pressed={!!props[key]}\n\t\t\t\t\t\tdata-testid={testId}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"h-7 px-2 rounded-md flex items-center gap-1.5 text-xs whitespace-nowrap\",\n\t\t\t\t\t\t\t!props[key] && \"opacity-50\",\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<span className={`codicon codicon-${icon} text-sm`} />\n\t\t\t\t\t\t<span>{t(labelKey)}</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</StandardTooltip>\n\t\t\t))}\n\t\t</div>\n\t)\n}\n", + "import { memo, useCallback, useMemo, useState } from \"react\"\nimport { Trans } from \"react-i18next\"\nimport { VSCodeCheckbox, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { AutoApproveToggle, AutoApproveSetting, autoApproveSettingsConfig } from \"../settings/AutoApproveToggle\"\nimport { StandardTooltip } from \"@src/components/ui\"\nimport { useAutoApprovalState } from \"@src/hooks/useAutoApprovalState\"\nimport { useAutoApprovalToggles } from \"@src/hooks/useAutoApprovalToggles\"\n\ninterface AutoApproveMenuProps {\n\tstyle?: React.CSSProperties\n}\n\nconst AutoApproveMenu = ({ style }: AutoApproveMenuProps) => {\n\tconst [isExpanded, setIsExpanded] = useState(false)\n\n\tconst {\n\t\tautoApprovalEnabled,\n\t\tsetAutoApprovalEnabled,\n\t\talwaysApproveResubmit,\n\t\tsetAlwaysAllowReadOnly,\n\t\tsetAlwaysAllowWrite,\n\t\tsetAlwaysAllowExecute,\n\t\tsetAlwaysAllowBrowser,\n\t\tsetAlwaysAllowMcp,\n\t\tsetAlwaysAllowModeSwitch,\n\t\tsetAlwaysAllowSubtasks,\n\t\tsetAlwaysApproveResubmit,\n\t\tsetAlwaysAllowFollowupQuestions,\n\t\tsetAlwaysAllowUpdateTodoList,\n\t} = useExtensionState()\n\n\tconst { t } = useAppTranslation()\n\n\tconst baseToggles = useAutoApprovalToggles()\n\n\t// AutoApproveMenu needs alwaysApproveResubmit in addition to the base toggles\n\tconst toggles = useMemo(\n\t\t() => ({\n\t\t\t...baseToggles,\n\t\t\talwaysApproveResubmit: alwaysApproveResubmit,\n\t\t}),\n\t\t[baseToggles, alwaysApproveResubmit],\n\t)\n\n\tconst { hasEnabledOptions, effectiveAutoApprovalEnabled } = useAutoApprovalState(toggles, autoApprovalEnabled)\n\n\tconst onAutoApproveToggle = useCallback(\n\t\t(key: AutoApproveSetting, value: boolean) => {\n\t\t\tvscode.postMessage({ type: key, bool: value })\n\n\t\t\t// Update the specific toggle state\n\t\t\tswitch (key) {\n\t\t\t\tcase \"alwaysAllowReadOnly\":\n\t\t\t\t\tsetAlwaysAllowReadOnly(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowWrite\":\n\t\t\t\t\tsetAlwaysAllowWrite(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowExecute\":\n\t\t\t\t\tsetAlwaysAllowExecute(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowBrowser\":\n\t\t\t\t\tsetAlwaysAllowBrowser(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowMcp\":\n\t\t\t\t\tsetAlwaysAllowMcp(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowModeSwitch\":\n\t\t\t\t\tsetAlwaysAllowModeSwitch(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowSubtasks\":\n\t\t\t\t\tsetAlwaysAllowSubtasks(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysApproveResubmit\":\n\t\t\t\t\tsetAlwaysApproveResubmit(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowFollowupQuestions\":\n\t\t\t\t\tsetAlwaysAllowFollowupQuestions(value)\n\t\t\t\t\tbreak\n\t\t\t\tcase \"alwaysAllowUpdateTodoList\":\n\t\t\t\t\tsetAlwaysAllowUpdateTodoList(value)\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// Check if we need to update the master auto-approval state\n\t\t\t// Create a new toggles state with the updated value\n\t\t\tconst updatedToggles = {\n\t\t\t\t...toggles,\n\t\t\t\t[key]: value,\n\t\t\t}\n\n\t\t\tconst willHaveEnabledOptions = Object.values(updatedToggles).some((v) => !!v)\n\n\t\t\t// If enabling the first option, enable master auto-approval\n\t\t\tif (value && !hasEnabledOptions && willHaveEnabledOptions) {\n\t\t\t\tsetAutoApprovalEnabled(true)\n\t\t\t\tvscode.postMessage({ type: \"autoApprovalEnabled\", bool: true })\n\t\t\t}\n\t\t\t// If disabling the last option, disable master auto-approval\n\t\t\telse if (!value && hasEnabledOptions && !willHaveEnabledOptions) {\n\t\t\t\tsetAutoApprovalEnabled(false)\n\t\t\t\tvscode.postMessage({ type: \"autoApprovalEnabled\", bool: false })\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttoggles,\n\t\t\thasEnabledOptions,\n\t\t\tsetAlwaysAllowReadOnly,\n\t\t\tsetAlwaysAllowWrite,\n\t\t\tsetAlwaysAllowExecute,\n\t\t\tsetAlwaysAllowBrowser,\n\t\t\tsetAlwaysAllowMcp,\n\t\t\tsetAlwaysAllowModeSwitch,\n\t\t\tsetAlwaysAllowSubtasks,\n\t\t\tsetAlwaysApproveResubmit,\n\t\t\tsetAlwaysAllowFollowupQuestions,\n\t\t\tsetAlwaysAllowUpdateTodoList,\n\t\t\tsetAutoApprovalEnabled,\n\t\t],\n\t)\n\n\tconst toggleExpanded = useCallback(() => {\n\t\tsetIsExpanded((prev) => !prev)\n\t}, [])\n\n\tconst enabledActionsList = Object.entries(toggles)\n\t\t.filter(([_key, value]) => !!value)\n\t\t.map(([key]) => t(autoApproveSettingsConfig[key as AutoApproveSetting].labelKey))\n\t\t.join(\", \")\n\n\t// Update displayed text logic\n\tconst displayText = useMemo(() => {\n\t\tif (!effectiveAutoApprovalEnabled || !hasEnabledOptions) {\n\t\t\treturn t(\"chat:autoApprove.none\")\n\t\t}\n\t\treturn enabledActionsList || t(\"chat:autoApprove.none\")\n\t}, [effectiveAutoApprovalEnabled, hasEnabledOptions, enabledActionsList, t])\n\n\tconst handleOpenSettings = useCallback(\n\t\t() =>\n\t\t\twindow.postMessage({ type: \"action\", action: \"settingsButtonClicked\", values: { section: \"autoApprove\" } }),\n\t\t[],\n\t)\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tpadding: \"0 15px\",\n\t\t\t\tuserSelect: \"none\",\n\t\t\t\tborderTop: isExpanded\n\t\t\t\t\t? `0.5px solid color-mix(in srgb, var(--vscode-titleBar-inactiveForeground) 20%, transparent)`\n\t\t\t\t\t: \"none\",\n\t\t\t\toverflowY: \"auto\",\n\t\t\t\t...style,\n\t\t\t}}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: \"8px\",\n\t\t\t\t\tpadding: isExpanded ? \"8px 0\" : \"2px 0 0 0\",\n\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t}}\n\t\t\t\tonClick={toggleExpanded}>\n\t\t\t\t<div onClick={(e) => e.stopPropagation()}>\n\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\tcontent={!hasEnabledOptions ? t(\"chat:autoApprove.selectOptionsFirst\") : undefined}>\n\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\tchecked={effectiveAutoApprovalEnabled}\n\t\t\t\t\t\t\tdisabled={!hasEnabledOptions}\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\thasEnabledOptions\n\t\t\t\t\t\t\t\t\t? t(\"chat:autoApprove.toggleAriaLabel\")\n\t\t\t\t\t\t\t\t\t: t(\"chat:autoApprove.disabledAriaLabel\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\t\tif (hasEnabledOptions) {\n\t\t\t\t\t\t\t\t\tconst newValue = !(autoApprovalEnabled ?? false)\n\t\t\t\t\t\t\t\t\tsetAutoApprovalEnabled(newValue)\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"autoApprovalEnabled\", bool: newValue })\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// If no options enabled, do nothing\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tgap: \"4px\",\n\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t}}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tcolor: \"var(--vscode-foreground)\",\n\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{t(\"chat:autoApprove.title\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{displayText}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`codicon codicon-chevron-${isExpanded ? \"down\" : \"right\"}`}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\tmarginLeft: isExpanded ? \"2px\" : \"-2px\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isExpanded && (\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\ti18nKey=\"chat:autoApprove.description\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tsettingsLink: <VSCodeLink href=\"#\" onClick={handleOpenSettings} />,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<AutoApproveToggle {...toggles} onToggle={onAutoApproveToggle} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default memo(AutoApproveMenu)\n", + "import React from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\nexport const SystemPromptWarning: React.FC = () => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div className=\"flex items-center px-4 py-2 mb-2 text-sm rounded bg-vscode-editorWarning-foreground text-vscode-editor-background\">\n\t\t\t<div className=\"flex items-center justify-center w-5 h-5 mr-2\">\n\t\t\t\t<span className=\"codicon codicon-warning\" />\n\t\t\t</div>\n\t\t\t<span>{t(\"chat:systemPromptWarning\")}</span>\n\t\t</div>\n\t)\n}\n\nexport default SystemPromptWarning\n", + "import React from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\nexport const ProfileViolationWarning: React.FC = () => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div className=\"flex items-center px-4 py-2 mb-2 text-sm rounded bg-vscode-editorWarning-foreground text-vscode-editor-background\">\n\t\t\t<div className=\"flex items-center justify-center w-5 h-5 mr-2\">\n\t\t\t\t<span className=\"codicon codicon-warning\" />\n\t\t\t</div>\n\t\t\t<span>{t(\"chat:profileViolationWarning\")}</span>\n\t\t</div>\n\t)\n}\n\nexport default ProfileViolationWarning\n", + "import { Trans } from \"react-i18next\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nexport const CheckpointWarning = () => {\n\treturn (\n\t\t<div className=\"flex items-center p-3 my-3 bg-vscode-inputValidation-warningBackground border border-vscode-inputValidation-warningBorder rounded\">\n\t\t\t<span className=\"codicon codicon-loading codicon-modifier-spin mr-2\" />\n\t\t\t<span className=\"text-vscode-foreground\">\n\t\t\t\t<Trans\n\t\t\t\t\ti18nKey=\"chat:checkpoint.initializingWarning\"\n\t\t\t\t\tcomponents={{\n\t\t\t\t\t\tsettingsLink: (\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\twindow.postMessage(\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\ttype: \"action\",\n\t\t\t\t\t\t\t\t\t\t\taction: \"settingsButtonClicked\",\n\t\t\t\t\t\t\t\t\t\t\tvalues: { section: \"checkpoints\" },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclassName=\"inline px-0.5\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\t)\n}\n", + "import React, { useState } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport Thumbnails from \"../common/Thumbnails\"\nimport { QueuedMessage } from \"@roo-code/types\"\nimport { Mention } from \"./Mention\"\nimport { Button } from \"@src/components/ui\"\n\ninterface QueuedMessagesProps {\n\tqueue: QueuedMessage[]\n\tonRemove: (index: number) => void\n\tonUpdate: (index: number, newText: string) => void\n}\n\nconst QueuedMessages: React.FC<QueuedMessagesProps> = ({ queue, onRemove, onUpdate }) => {\n\tconst { t } = useTranslation(\"chat\")\n\tconst [editingStates, setEditingStates] = useState<Record<string, { isEditing: boolean; value: string }>>({})\n\n\tif (queue.length === 0) {\n\t\treturn null\n\t}\n\n\tconst getEditState = (messageId: string, currentText: string) => {\n\t\treturn editingStates[messageId] || { isEditing: false, value: currentText }\n\t}\n\n\tconst setEditState = (messageId: string, isEditing: boolean, value?: string) => {\n\t\tsetEditingStates((prev) => ({\n\t\t\t...prev,\n\t\t\t[messageId]: { isEditing, value: value ?? prev[messageId]?.value ?? \"\" },\n\t\t}))\n\t}\n\n\tconst handleSaveEdit = (index: number, messageId: string, newValue: string) => {\n\t\tonUpdate(index, newValue)\n\t\tsetEditState(messageId, false)\n\t}\n\n\treturn (\n\t\t<div className=\"px-[15px] py-[10px] pr-[6px]\" data-testid=\"queued-messages\">\n\t\t\t<div className=\"text-vscode-descriptionForeground text-md mb-2\">{t(\"queuedMessages.title\")}</div>\n\t\t\t<div className=\"flex flex-col gap-2 max-h-[300px] overflow-y-auto pr-2\">\n\t\t\t\t{queue.map((message, index) => {\n\t\t\t\t\tconst editState = getEditState(message.id, message.text)\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={message.id}\n\t\t\t\t\t\t\tclassName=\"bg-vscode-editor-background border rounded-xs p-1 overflow-hidden whitespace-pre-wrap flex-shrink-0\">\n\t\t\t\t\t\t\t<div className=\"flex justify-between\">\n\t\t\t\t\t\t\t\t<div className=\"flex-grow px-2 py-1 wrap-anywhere\">\n\t\t\t\t\t\t\t\t\t{editState.isEditing ? (\n\t\t\t\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\t\t\t\tref={(textarea) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (textarea) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Set cursor at the end\n\t\t\t\t\t\t\t\t\t\t\t\t\ttextarea.setSelectionRange(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextarea.value.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextarea.value.length,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvalue={editState.value}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setEditState(message.id, true, e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\tonBlur={() => handleSaveEdit(index, message.id, editState.value)}\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\" && !e.shiftKey) {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleSaveEdit(index, message.id, editState.value)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === \"Escape\") {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditState(message.id, false, message.text)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded px-2 py-1 resize-none focus:outline-0 focus:ring-1 focus:ring-vscode-focusBorder\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"chat:editMessage.placeholder\")}\n\t\t\t\t\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\t\t\t\t\trows={Math.min(editState.value.split(\"\\n\").length, 10)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => setEditState(message.id, true, message.text)}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"cursor-pointer hover:bg-vscode-list-hoverBackground px-1 py-0.5 -mx-1 -my-0.5 rounded transition-colors\"\n\t\t\t\t\t\t\t\t\t\t\ttitle={t(\"chat:queuedMessages.clickToEdit\")}>\n\t\t\t\t\t\t\t\t\t\t\t<Mention text={message.text} withShadow />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"flex\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"shrink-0\"\n\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\tonRemove(index)\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-trash\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{message.images && message.images.length > 0 && (\n\t\t\t\t\t\t\t\t<Thumbnails images={message.images} style={{ marginTop: \"8px\" }} />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default QueuedMessages\n", + "import { ClineMessage } from \"@roo-code/types\"\nexport function getLatestTodo(clineMessages: ClineMessage[]) {\n\tconst todos = clineMessages\n\t\t.filter(\n\t\t\t(msg) =>\n\t\t\t\t(msg.type === \"ask\" && msg.ask === \"tool\") || (msg.type === \"say\" && msg.say === \"user_edit_todos\"),\n\t\t)\n\t\t.map((msg) => {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(msg.text ?? \"{}\")\n\t\t\t} catch {\n\t\t\t\treturn null\n\t\t\t}\n\t\t})\n\t\t.filter((item) => item && item.tool === \"updateTodoList\" && Array.isArray(item.todos))\n\t\t.map((item) => item.todos)\n\t\t.pop()\n\tif (todos) {\n\t\treturn todos\n\t} else {\n\t\treturn []\n\t}\n}\n", + "import { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\"\nimport { useDeepCompareEffect, useEvent, useMount } from \"react-use\"\nimport debounce from \"debounce\"\nimport { Virtuoso, type VirtuosoHandle } from \"react-virtuoso\"\nimport removeMd from \"remove-markdown\"\nimport { VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\nimport useSound from \"use-sound\"\nimport { LRUCache } from \"lru-cache\"\n\nimport { useDebounceEffect } from \"@src/utils/useDebounceEffect\"\nimport { appendImages } from \"@src/utils/imageUtils\"\n\nimport type { ClineAsk, ClineMessage } from \"@roo-code/types\"\n\nimport { ClineSayBrowserAction, ClineSayTool, ExtensionMessage } from \"@roo/ExtensionMessage\"\nimport { McpServer, McpTool } from \"@roo/mcp\"\nimport { findLast } from \"@roo/array\"\nimport { FollowUpData, SuggestionItem } from \"@roo-code/types\"\nimport { combineApiRequests } from \"@roo/combineApiRequests\"\nimport { combineCommandSequences } from \"@roo/combineCommandSequences\"\nimport { getApiMetrics } from \"@roo/getApiMetrics\"\nimport { AudioType } from \"@roo/WebviewMessage\"\nimport { getAllModes } from \"@roo/modes\"\nimport { ProfileValidator } from \"@roo/ProfileValidator\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport {\n\tgetCommandDecision,\n\tCommandDecision,\n\tfindLongestPrefixMatch,\n\tparseCommand,\n} from \"@src/utils/command-validation\"\nimport { useTranslation } from \"react-i18next\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useSelectedModel } from \"@src/components/ui/hooks/useSelectedModel\"\nimport RooHero from \"@src/components/welcome/RooHero\"\nimport RooTips from \"@src/components/welcome/RooTips\"\nimport RooCloudCTA from \"@src/components/welcome/RooCloudCTA\"\nimport { StandardTooltip } from \"@src/components/ui\"\nimport { useAutoApprovalState } from \"@src/hooks/useAutoApprovalState\"\nimport { useAutoApprovalToggles } from \"@src/hooks/useAutoApprovalToggles\"\n\nimport TelemetryBanner from \"../common/TelemetryBanner\"\nimport VersionIndicator from \"../common/VersionIndicator\"\nimport { useTaskSearch } from \"../history/useTaskSearch\"\nimport HistoryPreview from \"../history/HistoryPreview\"\nimport Announcement from \"./Announcement\"\nimport BrowserSessionRow from \"./BrowserSessionRow\"\nimport ChatRow from \"./ChatRow\"\nimport ChatTextArea from \"./ChatTextArea\"\nimport TaskHeader from \"./TaskHeader\"\nimport AutoApproveMenu from \"./AutoApproveMenu\"\nimport SystemPromptWarning from \"./SystemPromptWarning\"\nimport ProfileViolationWarning from \"./ProfileViolationWarning\"\nimport { CheckpointWarning } from \"./CheckpointWarning\"\nimport QueuedMessages from \"./QueuedMessages\"\nimport { getLatestTodo } from \"@roo/todo\"\nimport { QueuedMessage } from \"@roo-code/types\"\n\nexport interface ChatViewProps {\n\tisHidden: boolean\n\tshowAnnouncement: boolean\n\thideAnnouncement: () => void\n}\n\nexport interface ChatViewRef {\n\tacceptInput: () => void\n}\n\nexport const MAX_IMAGES_PER_MESSAGE = 20 // Anthropic limits to 20 images\n\nconst isMac = navigator.platform.toUpperCase().indexOf(\"MAC\") >= 0\n\nconst ChatViewComponent: React.ForwardRefRenderFunction<ChatViewRef, ChatViewProps> = (\n\t{ isHidden, showAnnouncement, hideAnnouncement },\n\tref,\n) => {\n\tconst isMountedRef = useRef(true)\n\tconst [audioBaseUri] = useState(() => {\n\t\tconst w = window as any\n\t\treturn w.AUDIO_BASE_URI || \"\"\n\t})\n\tconst { t } = useAppTranslation()\n\tconst { t: tSettings } = useTranslation(\"settings\")\n\tconst modeShortcutText = `${isMac ? \"⌘\" : \"Ctrl\"} + . ${t(\"chat:forNextMode\")}, ${isMac ? \"⌘\" : \"Ctrl\"} + Shift + . ${t(\"chat:forPreviousMode\")}`\n\tconst {\n\t\tclineMessages: messages,\n\t\tcurrentTaskItem,\n\t\ttaskHistory,\n\t\tapiConfiguration,\n\t\torganizationAllowList,\n\t\tmcpServers,\n\t\talwaysAllowBrowser,\n\t\talwaysAllowReadOnly,\n\t\talwaysAllowReadOnlyOutsideWorkspace,\n\t\talwaysAllowWrite,\n\t\talwaysAllowWriteOutsideWorkspace,\n\t\talwaysAllowWriteProtected,\n\t\talwaysAllowExecute,\n\t\talwaysAllowMcp,\n\t\tallowedCommands,\n\t\tdeniedCommands,\n\t\twriteDelayMs,\n\t\tfollowupAutoApproveTimeoutMs,\n\t\tmode,\n\t\tsetMode,\n\t\tautoApprovalEnabled,\n\t\talwaysAllowModeSwitch,\n\t\talwaysAllowSubtasks,\n\t\talwaysAllowFollowupQuestions,\n\t\talwaysAllowUpdateTodoList,\n\t\tcustomModes,\n\t\ttelemetrySetting,\n\t\thasSystemPromptOverride,\n\t\thistoryPreviewCollapsed, // Added historyPreviewCollapsed\n\t\tsoundEnabled,\n\t\tsoundVolume,\n\t\tcloudIsAuthenticated,\n\t} = useExtensionState()\n\n\tconst messagesRef = useRef(messages)\n\tuseEffect(() => {\n\t\tmessagesRef.current = messages\n\t}, [messages])\n\n\tconst { tasks } = useTaskSearch()\n\n\t// Initialize expanded state based on the persisted setting (default to expanded if undefined)\n\tconst [isExpanded, setIsExpanded] = useState(\n\t\thistoryPreviewCollapsed === undefined ? true : !historyPreviewCollapsed,\n\t)\n\n\tconst toggleExpanded = useCallback(() => {\n\t\tconst newState = !isExpanded\n\t\tsetIsExpanded(newState)\n\t\t// Send message to extension to persist the new collapsed state\n\t\tvscode.postMessage({ type: \"setHistoryPreviewCollapsed\", bool: !newState })\n\t}, [isExpanded])\n\n\t// Leaving this less safe version here since if the first message is not a\n\t// task, then the extension is in a bad state and needs to be debugged (see\n\t// Cline.abort).\n\tconst task = useMemo(() => messages.at(0), [messages])\n\n\tconst latestTodos = useMemo(() => {\n\t\treturn getLatestTodo(messages)\n\t}, [messages])\n\n\tconst modifiedMessages = useMemo(() => combineApiRequests(combineCommandSequences(messages.slice(1))), [messages])\n\n\t// Has to be after api_req_finished are all reduced into api_req_started messages.\n\tconst apiMetrics = useMemo(() => getApiMetrics(modifiedMessages), [modifiedMessages])\n\n\tconst [inputValue, setInputValue] = useState(\"\")\n\tconst textAreaRef = useRef<HTMLTextAreaElement>(null)\n\tconst [sendingDisabled, setSendingDisabled] = useState(false)\n\tconst [selectedImages, setSelectedImages] = useState<string[]>([])\n\tconst [messageQueue, setMessageQueue] = useState<QueuedMessage[]>([])\n\tconst isProcessingQueueRef = useRef(false)\n\tconst retryCountRef = useRef<Map<string, number>>(new Map())\n\tconst MAX_RETRY_ATTEMPTS = 3\n\n\t// we need to hold on to the ask because useEffect > lastMessage will always let us know when an ask comes in and handle it, but by the time handleMessage is called, the last message might not be the ask anymore (it could be a say that followed)\n\tconst [clineAsk, setClineAsk] = useState<ClineAsk | undefined>(undefined)\n\tconst [enableButtons, setEnableButtons] = useState<boolean>(false)\n\tconst [primaryButtonText, setPrimaryButtonText] = useState<string | undefined>(undefined)\n\tconst [secondaryButtonText, setSecondaryButtonText] = useState<string | undefined>(undefined)\n\tconst [didClickCancel, setDidClickCancel] = useState(false)\n\tconst virtuosoRef = useRef<VirtuosoHandle>(null)\n\tconst [expandedRows, setExpandedRows] = useState<Record<number, boolean>>({})\n\tconst prevExpandedRowsRef = useRef<Record<number, boolean>>()\n\tconst scrollContainerRef = useRef<HTMLDivElement>(null)\n\tconst disableAutoScrollRef = useRef(false)\n\tconst [showScrollToBottom, setShowScrollToBottom] = useState(false)\n\tconst [isAtBottom, setIsAtBottom] = useState(false)\n\tconst lastTtsRef = useRef<string>(\"\")\n\tconst [wasStreaming, setWasStreaming] = useState<boolean>(false)\n\tconst [showCheckpointWarning, setShowCheckpointWarning] = useState<boolean>(false)\n\tconst [isCondensing, setIsCondensing] = useState<boolean>(false)\n\tconst [showAnnouncementModal, setShowAnnouncementModal] = useState(false)\n\tconst everVisibleMessagesTsRef = useRef<LRUCache<number, boolean>>(\n\t\tnew LRUCache({\n\t\t\tmax: 250,\n\t\t\tttl: 1000 * 60 * 15, // 15 minutes TTL for long-running tasks\n\t\t}),\n\t)\n\tconst autoApproveTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\tconst userRespondedRef = useRef<boolean>(false)\n\tconst [currentFollowUpTs, setCurrentFollowUpTs] = useState<number | null>(null)\n\n\tconst clineAskRef = useRef(clineAsk)\n\tuseEffect(() => {\n\t\tclineAskRef.current = clineAsk\n\t}, [clineAsk])\n\n\tuseEffect(() => {\n\t\tisMountedRef.current = true\n\t\treturn () => {\n\t\t\tisMountedRef.current = false\n\t\t}\n\t}, [])\n\n\tconst isProfileDisabled = useMemo(\n\t\t() => !!apiConfiguration && !ProfileValidator.isProfileAllowed(apiConfiguration, organizationAllowList),\n\t\t[apiConfiguration, organizationAllowList],\n\t)\n\n\t// UI layout depends on the last 2 messages\n\t// (since it relies on the content of these messages, we are deep comparing. i.e. the button state after hitting button sets enableButtons to false, and this effect otherwise would have to true again even if messages didn't change\n\tconst lastMessage = useMemo(() => messages.at(-1), [messages])\n\tconst secondLastMessage = useMemo(() => messages.at(-2), [messages])\n\n\t// Setup sound hooks with use-sound\n\tconst volume = typeof soundVolume === \"number\" ? soundVolume : 0.5\n\tconst soundConfig = {\n\t\tvolume,\n\t\t// useSound expects 'disabled' property, not 'soundEnabled'\n\t\tsoundEnabled,\n\t}\n\n\tconst getAudioUrl = (path: string) => {\n\t\treturn `${audioBaseUri}/${path}`\n\t}\n\n\t// Use the getAudioUrl helper function\n\tconst [playNotification] = useSound(getAudioUrl(\"notification.wav\"), soundConfig)\n\tconst [playCelebration] = useSound(getAudioUrl(\"celebration.wav\"), soundConfig)\n\tconst [playProgressLoop] = useSound(getAudioUrl(\"progress_loop.wav\"), soundConfig)\n\n\tfunction playSound(audioType: AudioType) {\n\t\t// Play the appropriate sound based on type\n\t\t// The disabled state is handled by the useSound hook configuration\n\t\tswitch (audioType) {\n\t\t\tcase \"notification\":\n\t\t\t\tplayNotification()\n\t\t\t\tbreak\n\t\t\tcase \"celebration\":\n\t\t\t\tplayCelebration()\n\t\t\t\tbreak\n\t\t\tcase \"progress_loop\":\n\t\t\t\tplayProgressLoop()\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tconsole.warn(`Unknown audio type: ${audioType}`)\n\t\t}\n\t}\n\n\tfunction playTts(text: string) {\n\t\tvscode.postMessage({ type: \"playTts\", text })\n\t}\n\n\tuseDeepCompareEffect(() => {\n\t\t// if last message is an ask, show user ask UI\n\t\t// if user finished a task, then start a new task with a new conversation history since in this moment that the extension is waiting for user response, the user could close the extension and the conversation history would be lost.\n\t\t// basically as long as a task is active, the conversation history will be persisted\n\t\tif (lastMessage) {\n\t\t\tswitch (lastMessage.type) {\n\t\t\t\tcase \"ask\":\n\t\t\t\t\t// Reset user response flag when a new ask arrives to allow auto-approval\n\t\t\t\t\tuserRespondedRef.current = false\n\t\t\t\t\tconst isPartial = lastMessage.partial === true\n\t\t\t\t\tswitch (lastMessage.ask) {\n\t\t\t\t\t\tcase \"api_req_failed\":\n\t\t\t\t\t\t\tplaySound(\"progress_loop\")\n\t\t\t\t\t\t\tsetSendingDisabled(true)\n\t\t\t\t\t\t\tsetClineAsk(\"api_req_failed\")\n\t\t\t\t\t\t\tsetEnableButtons(true)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:retry.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:startNewTask.title\"))\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"mistake_limit_reached\":\n\t\t\t\t\t\t\tplaySound(\"progress_loop\")\n\t\t\t\t\t\t\tsetSendingDisabled(false)\n\t\t\t\t\t\t\tsetClineAsk(\"mistake_limit_reached\")\n\t\t\t\t\t\t\tsetEnableButtons(true)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:proceedAnyways.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:startNewTask.title\"))\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"followup\":\n\t\t\t\t\t\t\tif (!isPartial) {\n\t\t\t\t\t\t\t\tplaySound(\"notification\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSendingDisabled(isPartial)\n\t\t\t\t\t\t\tsetClineAsk(\"followup\")\n\t\t\t\t\t\t\t// setting enable buttons to `false` would trigger a focus grab when\n\t\t\t\t\t\t\t// the text area is enabled which is undesirable.\n\t\t\t\t\t\t\t// We have no buttons for this tool, so no problem having them \"enabled\"\n\t\t\t\t\t\t\t// to workaround this issue. See #1358.\n\t\t\t\t\t\t\tsetEnableButtons(true)\n\t\t\t\t\t\t\tsetPrimaryButtonText(undefined)\n\t\t\t\t\t\t\tsetSecondaryButtonText(undefined)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"tool\":\n\t\t\t\t\t\t\tif (!isAutoApproved(lastMessage) && !isPartial) {\n\t\t\t\t\t\t\t\tplaySound(\"notification\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSendingDisabled(isPartial)\n\t\t\t\t\t\t\tsetClineAsk(\"tool\")\n\t\t\t\t\t\t\tsetEnableButtons(!isPartial)\n\t\t\t\t\t\t\tconst tool = JSON.parse(lastMessage.text || \"{}\") as ClineSayTool\n\t\t\t\t\t\t\tswitch (tool.tool) {\n\t\t\t\t\t\t\t\tcase \"editedExistingFile\":\n\t\t\t\t\t\t\t\tcase \"appliedDiff\":\n\t\t\t\t\t\t\t\tcase \"newFileCreated\":\n\t\t\t\t\t\t\t\tcase \"insertContent\":\n\t\t\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:save.title\"))\n\t\t\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:reject.title\"))\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\tcase \"finishTask\":\n\t\t\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:completeSubtaskAndReturn\"))\n\t\t\t\t\t\t\t\t\tsetSecondaryButtonText(undefined)\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\tcase \"readFile\":\n\t\t\t\t\t\t\t\t\tif (tool.batchFiles && Array.isArray(tool.batchFiles)) {\n\t\t\t\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:read-batch.approve.title\"))\n\t\t\t\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:read-batch.deny.title\"))\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:approve.title\"))\n\t\t\t\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:reject.title\"))\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:approve.title\"))\n\t\t\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:reject.title\"))\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"browser_action_launch\":\n\t\t\t\t\t\t\tif (!isAutoApproved(lastMessage) && !isPartial) {\n\t\t\t\t\t\t\t\tplaySound(\"notification\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSendingDisabled(isPartial)\n\t\t\t\t\t\t\tsetClineAsk(\"browser_action_launch\")\n\t\t\t\t\t\t\tsetEnableButtons(!isPartial)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:approve.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:reject.title\"))\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"command\":\n\t\t\t\t\t\t\tif (!isAutoApproved(lastMessage) && !isPartial) {\n\t\t\t\t\t\t\t\tplaySound(\"notification\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSendingDisabled(isPartial)\n\t\t\t\t\t\t\tsetClineAsk(\"command\")\n\t\t\t\t\t\t\tsetEnableButtons(!isPartial)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:runCommand.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:reject.title\"))\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"command_output\":\n\t\t\t\t\t\t\tsetSendingDisabled(false)\n\t\t\t\t\t\t\tsetClineAsk(\"command_output\")\n\t\t\t\t\t\t\tsetEnableButtons(true)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:proceedWhileRunning.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:killCommand.title\"))\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"use_mcp_server\":\n\t\t\t\t\t\t\tif (!isAutoApproved(lastMessage) && !isPartial) {\n\t\t\t\t\t\t\t\tplaySound(\"notification\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSendingDisabled(isPartial)\n\t\t\t\t\t\t\tsetClineAsk(\"use_mcp_server\")\n\t\t\t\t\t\t\tsetEnableButtons(!isPartial)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:approve.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:reject.title\"))\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"completion_result\":\n\t\t\t\t\t\t\t// extension waiting for feedback. but we can just present a new task button\n\t\t\t\t\t\t\tif (!isPartial) {\n\t\t\t\t\t\t\t\tplaySound(\"celebration\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetSendingDisabled(isPartial)\n\t\t\t\t\t\t\tsetClineAsk(\"completion_result\")\n\t\t\t\t\t\t\tsetEnableButtons(!isPartial)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:startNewTask.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(undefined)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"resume_task\":\n\t\t\t\t\t\t\tsetSendingDisabled(false)\n\t\t\t\t\t\t\tsetClineAsk(\"resume_task\")\n\t\t\t\t\t\t\tsetEnableButtons(true)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:resumeTask.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(t(\"chat:terminate.title\"))\n\t\t\t\t\t\t\tsetDidClickCancel(false) // special case where we reset the cancel button state\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"resume_completed_task\":\n\t\t\t\t\t\t\tsetSendingDisabled(false)\n\t\t\t\t\t\t\tsetClineAsk(\"resume_completed_task\")\n\t\t\t\t\t\t\tsetEnableButtons(true)\n\t\t\t\t\t\t\tsetPrimaryButtonText(t(\"chat:startNewTask.title\"))\n\t\t\t\t\t\t\tsetSecondaryButtonText(undefined)\n\t\t\t\t\t\t\tsetDidClickCancel(false)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"say\":\n\t\t\t\t\t// Don't want to reset since there could be a \"say\" after\n\t\t\t\t\t// an \"ask\" while ask is waiting for response.\n\t\t\t\t\tswitch (lastMessage.say) {\n\t\t\t\t\t\tcase \"api_req_retry_delayed\":\n\t\t\t\t\t\t\tsetSendingDisabled(true)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"api_req_started\":\n\t\t\t\t\t\t\tif (secondLastMessage?.ask === \"command_output\") {\n\t\t\t\t\t\t\t\tsetSendingDisabled(true)\n\t\t\t\t\t\t\t\tsetSelectedImages([])\n\t\t\t\t\t\t\t\tsetClineAsk(undefined)\n\t\t\t\t\t\t\t\tsetEnableButtons(false)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"api_req_finished\":\n\t\t\t\t\t\tcase \"error\":\n\t\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tcase \"browser_action\":\n\t\t\t\t\t\tcase \"browser_action_result\":\n\t\t\t\t\t\tcase \"command_output\":\n\t\t\t\t\t\tcase \"mcp_server_request_started\":\n\t\t\t\t\t\tcase \"mcp_server_response\":\n\t\t\t\t\t\tcase \"completion_result\":\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [lastMessage, secondLastMessage])\n\n\tuseEffect(() => {\n\t\tif (messages.length === 0) {\n\t\t\tsetSendingDisabled(false)\n\t\t\tsetClineAsk(undefined)\n\t\t\tsetEnableButtons(false)\n\t\t\tsetPrimaryButtonText(undefined)\n\t\t\tsetSecondaryButtonText(undefined)\n\t\t}\n\t}, [messages.length])\n\n\tuseEffect(() => {\n\t\tsetExpandedRows({})\n\t\teverVisibleMessagesTsRef.current.clear() // Clear for new task\n\t\tsetCurrentFollowUpTs(null) // Clear follow-up answered state for new task\n\n\t\t// Clear any pending auto-approval timeout from previous task\n\t\tif (autoApproveTimeoutRef.current) {\n\t\t\tclearTimeout(autoApproveTimeoutRef.current)\n\t\t\tautoApproveTimeoutRef.current = null\n\t\t}\n\t\t// Reset user response flag for new task\n\t\tuserRespondedRef.current = false\n\n\t\t// Clear message queue when starting a new task\n\t\tsetMessageQueue([])\n\t\t// Clear retry counts\n\t\tretryCountRef.current.clear()\n\t}, [task?.ts])\n\n\tuseEffect(() => {\n\t\tif (isHidden) {\n\t\t\teverVisibleMessagesTsRef.current.clear()\n\t\t}\n\t}, [isHidden])\n\n\tuseEffect(() => () => everVisibleMessagesTsRef.current.clear(), [])\n\n\tuseEffect(() => {\n\t\tconst prev = prevExpandedRowsRef.current\n\t\tlet wasAnyRowExpandedByUser = false\n\t\tif (prev) {\n\t\t\t// Check if any row transitioned from false/undefined to true\n\t\t\tfor (const [tsKey, isExpanded] of Object.entries(expandedRows)) {\n\t\t\t\tconst ts = Number(tsKey)\n\t\t\t\tif (isExpanded && !(prev[ts] ?? false)) {\n\t\t\t\t\twasAnyRowExpandedByUser = true\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (wasAnyRowExpandedByUser) {\n\t\t\tdisableAutoScrollRef.current = true\n\t\t}\n\t\tprevExpandedRowsRef.current = expandedRows // Store current state for next comparison\n\t}, [expandedRows])\n\n\tconst isStreaming = useMemo(() => {\n\t\t// Checking clineAsk isn't enough since messages effect may be called\n\t\t// again for a tool for example, set clineAsk to its value, and if the\n\t\t// next message is not an ask then it doesn't reset. This is likely due\n\t\t// to how much more often we're updating messages as compared to before,\n\t\t// and should be resolved with optimizations as it's likely a rendering\n\t\t// bug. But as a final guard for now, the cancel button will show if the\n\t\t// last message is not an ask.\n\t\tconst isLastAsk = !!modifiedMessages.at(-1)?.ask\n\n\t\tconst isToolCurrentlyAsking =\n\t\t\tisLastAsk && clineAsk !== undefined && enableButtons && primaryButtonText !== undefined\n\n\t\tif (isToolCurrentlyAsking) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst isLastMessagePartial = modifiedMessages.at(-1)?.partial === true\n\n\t\tif (isLastMessagePartial) {\n\t\t\treturn true\n\t\t} else {\n\t\t\tconst lastApiReqStarted = findLast(modifiedMessages, (message) => message.say === \"api_req_started\")\n\n\t\t\tif (\n\t\t\t\tlastApiReqStarted &&\n\t\t\t\tlastApiReqStarted.text !== null &&\n\t\t\t\tlastApiReqStarted.text !== undefined &&\n\t\t\t\tlastApiReqStarted.say === \"api_req_started\"\n\t\t\t) {\n\t\t\t\tconst cost = JSON.parse(lastApiReqStarted.text).cost\n\n\t\t\t\tif (cost === undefined) {\n\t\t\t\t\treturn true // API request has not finished yet.\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}, [modifiedMessages, clineAsk, enableButtons, primaryButtonText])\n\n\tconst markFollowUpAsAnswered = useCallback(() => {\n\t\tconst lastFollowUpMessage = messagesRef.current.findLast((msg) => msg.ask === \"followup\")\n\t\tif (lastFollowUpMessage) {\n\t\t\tsetCurrentFollowUpTs(lastFollowUpMessage.ts)\n\t\t}\n\t}, [])\n\n\tconst handleChatReset = useCallback(() => {\n\t\t// Clear any pending auto-approval timeout\n\t\tif (autoApproveTimeoutRef.current) {\n\t\t\tclearTimeout(autoApproveTimeoutRef.current)\n\t\t\tautoApproveTimeoutRef.current = null\n\t\t}\n\t\t// Reset user response flag for new message\n\t\tuserRespondedRef.current = false\n\n\t\t// Only reset message-specific state, preserving mode.\n\t\tsetInputValue(\"\")\n\t\tsetSendingDisabled(true)\n\t\tsetSelectedImages([])\n\t\tsetClineAsk(undefined)\n\t\tsetEnableButtons(false)\n\t\t// Do not reset mode here as it should persist.\n\t\t// setPrimaryButtonText(undefined)\n\t\t// setSecondaryButtonText(undefined)\n\t\tdisableAutoScrollRef.current = false\n\t}, [])\n\n\t/**\n\t * Handles sending messages to the extension\n\t * @param text - The message text to send\n\t * @param images - Array of image data URLs to send with the message\n\t * @param fromQueue - Internal flag indicating if this message is being sent from the queue (prevents re-queueing)\n\t */\n\tconst handleSendMessage = useCallback(\n\t\t(text: string, images: string[], fromQueue = false) => {\n\t\t\ttry {\n\t\t\t\ttext = text.trim()\n\n\t\t\t\tif (text || images.length > 0) {\n\t\t\t\t\tif (sendingDisabled && !fromQueue) {\n\t\t\t\t\t\t// Generate a more unique ID using timestamp + random component\n\t\t\t\t\t\tconst messageId = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n\t\t\t\t\t\tsetMessageQueue((prev) => [...prev, { id: messageId, text, images }])\n\t\t\t\t\t\tsetInputValue(\"\")\n\t\t\t\t\t\tsetSelectedImages([])\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\t// Mark that user has responded - this prevents any pending auto-approvals\n\t\t\t\t\tuserRespondedRef.current = true\n\n\t\t\t\t\tif (messagesRef.current.length === 0) {\n\t\t\t\t\t\tvscode.postMessage({ type: \"newTask\", text, images })\n\t\t\t\t\t} else if (clineAskRef.current) {\n\t\t\t\t\t\tif (clineAskRef.current === \"followup\") {\n\t\t\t\t\t\t\tmarkFollowUpAsAnswered()\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Use clineAskRef.current\n\t\t\t\t\t\tswitch (\n\t\t\t\t\t\t\tclineAskRef.current // Use clineAskRef.current\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcase \"followup\":\n\t\t\t\t\t\t\tcase \"tool\":\n\t\t\t\t\t\t\tcase \"browser_action_launch\":\n\t\t\t\t\t\t\tcase \"command\": // User can provide feedback to a tool or command use.\n\t\t\t\t\t\t\tcase \"command_output\": // User can send input to command stdin.\n\t\t\t\t\t\t\tcase \"use_mcp_server\":\n\t\t\t\t\t\t\tcase \"completion_result\": // If this happens then the user has feedback for the completion result.\n\t\t\t\t\t\t\tcase \"resume_task\":\n\t\t\t\t\t\t\tcase \"resume_completed_task\":\n\t\t\t\t\t\t\tcase \"mistake_limit_reached\":\n\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\ttype: \"askResponse\",\n\t\t\t\t\t\t\t\t\taskResponse: \"messageResponse\",\n\t\t\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\t\t\timages,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t// There is no other case that a textfield should be enabled.\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// This is a new message in an ongoing task.\n\t\t\t\t\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"messageResponse\", text, images })\n\t\t\t\t\t}\n\n\t\t\t\t\thandleChatReset()\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Error in handleSendMessage:\", error)\n\t\t\t\t// If this was a queued message, we should handle it differently\n\t\t\t\tif (fromQueue) {\n\t\t\t\t\tthrow error // Re-throw to be caught by the queue processor\n\t\t\t\t}\n\t\t\t\t// For direct sends, we could show an error to the user\n\t\t\t\t// but for now we'll just log it\n\t\t\t}\n\t\t},\n\t\t[handleChatReset, markFollowUpAsAnswered, sendingDisabled], // messagesRef and clineAskRef are stable\n\t)\n\n\tuseEffect(() => {\n\t\t// Early return if conditions aren't met\n\t\t// Also don't process queue if there's an API error (clineAsk === \"api_req_failed\")\n\t\tif (\n\t\t\tsendingDisabled ||\n\t\t\tmessageQueue.length === 0 ||\n\t\t\tisProcessingQueueRef.current ||\n\t\t\tclineAsk === \"api_req_failed\"\n\t\t) {\n\t\t\treturn\n\t\t}\n\n\t\t// Mark as processing immediately to prevent race conditions\n\t\tisProcessingQueueRef.current = true\n\n\t\t// Process the first message in the queue\n\t\tconst [nextMessage, ...remaining] = messageQueue\n\n\t\t// Update queue immediately to prevent duplicate processing\n\t\tsetMessageQueue(remaining)\n\n\t\t// Process the message\n\t\tPromise.resolve()\n\t\t\t.then(() => {\n\t\t\t\thandleSendMessage(nextMessage.text, nextMessage.images, true)\n\t\t\t\t// Clear retry count on success\n\t\t\t\tretryCountRef.current.delete(nextMessage.id)\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconsole.error(\"Failed to send queued message:\", error)\n\n\t\t\t\t// Get current retry count\n\t\t\t\tconst retryCount = retryCountRef.current.get(nextMessage.id) || 0\n\n\t\t\t\t// Only re-add if under retry limit\n\t\t\t\tif (retryCount < MAX_RETRY_ATTEMPTS) {\n\t\t\t\t\tretryCountRef.current.set(nextMessage.id, retryCount + 1)\n\t\t\t\t\t// Re-add the message to the end of the queue\n\t\t\t\t\tsetMessageQueue((current) => [...current, nextMessage])\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error(`Message ${nextMessage.id} failed after ${MAX_RETRY_ATTEMPTS} attempts, discarding`)\n\t\t\t\t\tretryCountRef.current.delete(nextMessage.id)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.finally(() => {\n\t\t\t\tisProcessingQueueRef.current = false\n\t\t\t})\n\n\t\t// Cleanup function to handle component unmount\n\t\treturn () => {\n\t\t\tisProcessingQueueRef.current = false\n\t\t}\n\t}, [sendingDisabled, messageQueue, handleSendMessage, clineAsk])\n\n\tconst handleSetChatBoxMessage = useCallback(\n\t\t(text: string, images: string[]) => {\n\t\t\t// Avoid nested template literals by breaking down the logic\n\t\t\tlet newValue = text\n\n\t\t\tif (inputValue !== \"\") {\n\t\t\t\tnewValue = inputValue + \" \" + text\n\t\t\t}\n\n\t\t\tsetInputValue(newValue)\n\t\t\tsetSelectedImages([...selectedImages, ...images])\n\t\t},\n\t\t[inputValue, selectedImages],\n\t)\n\n\t// Cleanup retry count map on unmount\n\tuseEffect(() => {\n\t\t// Store refs in variables to avoid stale closure issues\n\t\tconst retryCountMap = retryCountRef.current\n\t\tconst isProcessingRef = isProcessingQueueRef\n\n\t\treturn () => {\n\t\t\tretryCountMap.clear()\n\t\t\tisProcessingRef.current = false\n\t\t}\n\t}, [])\n\n\tconst startNewTask = useCallback(() => vscode.postMessage({ type: \"clearTask\" }), [])\n\n\t// This logic depends on the useEffect[messages] above to set clineAsk,\n\t// after which buttons are shown and we then send an askResponse to the\n\t// extension.\n\tconst handlePrimaryButtonClick = useCallback(\n\t\t(text?: string, images?: string[]) => {\n\t\t\t// Mark that user has responded\n\t\t\tuserRespondedRef.current = true\n\n\t\t\tconst trimmedInput = text?.trim()\n\n\t\t\tswitch (clineAsk) {\n\t\t\t\tcase \"api_req_failed\":\n\t\t\t\tcase \"command\":\n\t\t\t\tcase \"tool\":\n\t\t\t\tcase \"browser_action_launch\":\n\t\t\t\tcase \"use_mcp_server\":\n\t\t\t\tcase \"resume_task\":\n\t\t\t\tcase \"mistake_limit_reached\":\n\t\t\t\t\t// Only send text/images if they exist\n\t\t\t\t\tif (trimmedInput || (images && images.length > 0)) {\n\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\ttype: \"askResponse\",\n\t\t\t\t\t\t\taskResponse: \"yesButtonClicked\",\n\t\t\t\t\t\t\ttext: trimmedInput,\n\t\t\t\t\t\t\timages: images,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Clear input state after sending\n\t\t\t\t\t\tsetInputValue(\"\")\n\t\t\t\t\t\tsetSelectedImages([])\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"yesButtonClicked\" })\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"completion_result\":\n\t\t\t\tcase \"resume_completed_task\":\n\t\t\t\t\t// Waiting for feedback, but we can just present a new task button\n\t\t\t\t\tstartNewTask()\n\t\t\t\t\tbreak\n\t\t\t\tcase \"command_output\":\n\t\t\t\t\tvscode.postMessage({ type: \"terminalOperation\", terminalOperation: \"continue\" })\n\t\t\t\t\tbreak\n\t\t\t}\n\n\t\t\tsetSendingDisabled(true)\n\t\t\tsetClineAsk(undefined)\n\t\t\tsetEnableButtons(false)\n\t\t},\n\t\t[clineAsk, startNewTask],\n\t)\n\n\tconst handleSecondaryButtonClick = useCallback(\n\t\t(text?: string, images?: string[]) => {\n\t\t\t// Mark that user has responded\n\t\t\tuserRespondedRef.current = true\n\n\t\t\tconst trimmedInput = text?.trim()\n\n\t\t\tif (isStreaming) {\n\t\t\t\tvscode.postMessage({ type: \"cancelTask\" })\n\t\t\t\tsetDidClickCancel(true)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tswitch (clineAsk) {\n\t\t\t\tcase \"api_req_failed\":\n\t\t\t\tcase \"mistake_limit_reached\":\n\t\t\t\tcase \"resume_task\":\n\t\t\t\t\tstartNewTask()\n\t\t\t\t\tbreak\n\t\t\t\tcase \"command\":\n\t\t\t\tcase \"tool\":\n\t\t\t\tcase \"browser_action_launch\":\n\t\t\t\tcase \"use_mcp_server\":\n\t\t\t\t\t// Only send text/images if they exist\n\t\t\t\t\tif (trimmedInput || (images && images.length > 0)) {\n\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\ttype: \"askResponse\",\n\t\t\t\t\t\t\taskResponse: \"noButtonClicked\",\n\t\t\t\t\t\t\ttext: trimmedInput,\n\t\t\t\t\t\t\timages: images,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t// Clear input state after sending\n\t\t\t\t\t\tsetInputValue(\"\")\n\t\t\t\t\t\tsetSelectedImages([])\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Responds to the API with a \"This operation failed\" and lets it try again\n\t\t\t\t\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"noButtonClicked\" })\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"command_output\":\n\t\t\t\t\tvscode.postMessage({ type: \"terminalOperation\", terminalOperation: \"abort\" })\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t\tsetSendingDisabled(true)\n\t\t\tsetClineAsk(undefined)\n\t\t\tsetEnableButtons(false)\n\t\t},\n\t\t[clineAsk, startNewTask, isStreaming],\n\t)\n\n\tconst handleTaskCloseButtonClick = useCallback(() => startNewTask(), [startNewTask])\n\n\tconst { info: model } = useSelectedModel(apiConfiguration)\n\n\tconst selectImages = useCallback(() => vscode.postMessage({ type: \"selectImages\" }), [])\n\n\tconst shouldDisableImages = !model?.supportsImages || selectedImages.length >= MAX_IMAGES_PER_MESSAGE\n\n\tconst handleMessage = useCallback(\n\t\t(e: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = e.data\n\n\t\t\tswitch (message.type) {\n\t\t\t\tcase \"action\":\n\t\t\t\t\tswitch (message.action!) {\n\t\t\t\t\t\tcase \"didBecomeVisible\":\n\t\t\t\t\t\t\tif (!isHidden && !sendingDisabled && !enableButtons) {\n\t\t\t\t\t\t\t\ttextAreaRef.current?.focus()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"focusInput\":\n\t\t\t\t\t\t\ttextAreaRef.current?.focus()\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"selectedImages\":\n\t\t\t\t\t// Only handle selectedImages if it's not for editing context\n\t\t\t\t\t// When context is \"edit\", ChatRow will handle the images\n\t\t\t\t\tif (message.context !== \"edit\") {\n\t\t\t\t\t\tsetSelectedImages((prevImages) =>\n\t\t\t\t\t\t\tappendImages(prevImages, message.images, MAX_IMAGES_PER_MESSAGE),\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"invoke\":\n\t\t\t\t\tswitch (message.invoke!) {\n\t\t\t\t\t\tcase \"newChat\":\n\t\t\t\t\t\t\thandleChatReset()\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"sendMessage\":\n\t\t\t\t\t\t\thandleSendMessage(message.text ?? \"\", message.images ?? [])\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"setChatBoxMessage\":\n\t\t\t\t\t\t\thandleSetChatBoxMessage(message.text ?? \"\", message.images ?? [])\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"primaryButtonClick\":\n\t\t\t\t\t\t\thandlePrimaryButtonClick(message.text ?? \"\", message.images ?? [])\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\tcase \"secondaryButtonClick\":\n\t\t\t\t\t\t\thandleSecondaryButtonClick(message.text ?? \"\", message.images ?? [])\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"condenseTaskContextResponse\":\n\t\t\t\t\tif (message.text && message.text === currentTaskItem?.id) {\n\t\t\t\t\t\tif (isCondensing && sendingDisabled) {\n\t\t\t\t\t\t\tsetSendingDisabled(false)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetIsCondensing(false)\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t\t// textAreaRef.current is not explicitly required here since React\n\t\t\t// guarantees that ref will be stable across re-renders, and we're\n\t\t\t// not using its value but its reference.\n\t\t},\n\t\t[\n\t\t\tisCondensing,\n\t\t\tisHidden,\n\t\t\tsendingDisabled,\n\t\t\tenableButtons,\n\t\t\tcurrentTaskItem,\n\t\t\thandleChatReset,\n\t\t\thandleSendMessage,\n\t\t\thandleSetChatBoxMessage,\n\t\t\thandlePrimaryButtonClick,\n\t\t\thandleSecondaryButtonClick,\n\t\t],\n\t)\n\n\tuseEvent(\"message\", handleMessage)\n\n\t// NOTE: the VSCode window needs to be focused for this to work.\n\tuseMount(() => textAreaRef.current?.focus())\n\n\tuseDebounceEffect(\n\t\t() => {\n\t\t\tif (!isHidden && !sendingDisabled && !enableButtons) {\n\t\t\t\ttextAreaRef.current?.focus()\n\t\t\t}\n\t\t},\n\t\t50,\n\t\t[isHidden, sendingDisabled, enableButtons],\n\t)\n\n\tconst visibleMessages = useMemo(() => {\n\t\tconst newVisibleMessages = modifiedMessages.filter((message) => {\n\t\t\tif (everVisibleMessagesTsRef.current.has(message.ts)) {\n\t\t\t\t// If it was ever visible, and it's not one of the types that should always be hidden once processed, keep it.\n\t\t\t\t// This helps prevent flickering for messages like 'api_req_retry_delayed' if they are no longer the absolute last.\n\t\t\t\tconst alwaysHiddenOnceProcessedAsk: ClineAsk[] = [\n\t\t\t\t\t\"api_req_failed\",\n\t\t\t\t\t\"resume_task\",\n\t\t\t\t\t\"resume_completed_task\",\n\t\t\t\t]\n\t\t\t\tconst alwaysHiddenOnceProcessedSay = [\n\t\t\t\t\t\"api_req_finished\",\n\t\t\t\t\t\"api_req_retried\",\n\t\t\t\t\t\"api_req_deleted\",\n\t\t\t\t\t\"mcp_server_request_started\",\n\t\t\t\t]\n\t\t\t\tif (message.ask && alwaysHiddenOnceProcessedAsk.includes(message.ask)) return false\n\t\t\t\tif (message.say && alwaysHiddenOnceProcessedSay.includes(message.say)) return false\n\t\t\t\t// Also, re-evaluate empty text messages if they were previously visible but now empty (e.g. partial stream ended)\n\t\t\t\tif (message.say === \"text\" && (message.text ?? \"\") === \"\" && (message.images?.length ?? 0) === 0) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// Original filter logic\n\t\t\tswitch (message.ask) {\n\t\t\t\tcase \"completion_result\":\n\t\t\t\t\tif (message.text === \"\") return false\n\t\t\t\t\tbreak\n\t\t\t\tcase \"api_req_failed\":\n\t\t\t\tcase \"resume_task\":\n\t\t\t\tcase \"resume_completed_task\":\n\t\t\t\t\treturn false\n\t\t\t}\n\t\t\tswitch (message.say) {\n\t\t\t\tcase \"api_req_finished\":\n\t\t\t\tcase \"api_req_retried\":\n\t\t\t\tcase \"api_req_deleted\":\n\t\t\t\t\treturn false\n\t\t\t\tcase \"api_req_retry_delayed\":\n\t\t\t\t\tconst last1 = modifiedMessages.at(-1)\n\t\t\t\t\tconst last2 = modifiedMessages.at(-2)\n\t\t\t\t\tif (last1?.ask === \"resume_task\" && last2 === message) {\n\t\t\t\t\t\t// This specific sequence should be visible\n\t\t\t\t\t} else if (message !== last1) {\n\t\t\t\t\t\t// If not the specific sequence above, and not the last message, hide it.\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase \"text\":\n\t\t\t\t\tif ((message.text ?? \"\") === \"\" && (message.images?.length ?? 0) === 0) return false\n\t\t\t\t\tbreak\n\t\t\t\tcase \"mcp_server_request_started\":\n\t\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t})\n\n\t\t// Update the set of ever-visible messages (LRUCache automatically handles cleanup)\n\t\tnewVisibleMessages.forEach((msg) => everVisibleMessagesTsRef.current.set(msg.ts, true))\n\n\t\treturn newVisibleMessages\n\t}, [modifiedMessages])\n\n\tconst isReadOnlyToolAction = useCallback((message: ClineMessage | undefined) => {\n\t\tif (message?.type === \"ask\") {\n\t\t\tif (!message.text) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tconst tool = JSON.parse(message.text)\n\n\t\t\treturn [\n\t\t\t\t\"readFile\",\n\t\t\t\t\"listFiles\",\n\t\t\t\t\"listFilesTopLevel\",\n\t\t\t\t\"listFilesRecursive\",\n\t\t\t\t\"listCodeDefinitionNames\",\n\t\t\t\t\"searchFiles\",\n\t\t\t\t\"codebaseSearch\",\n\t\t\t].includes(tool.tool)\n\t\t}\n\n\t\treturn false\n\t}, [])\n\n\tconst isWriteToolAction = useCallback((message: ClineMessage | undefined) => {\n\t\tif (message?.type === \"ask\") {\n\t\t\tif (!message.text) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tconst tool = JSON.parse(message.text)\n\n\t\t\treturn [\n\t\t\t\t\"editedExistingFile\",\n\t\t\t\t\"appliedDiff\",\n\t\t\t\t\"newFileCreated\",\n\t\t\t\t\"searchAndReplace\",\n\t\t\t\t\"insertContent\",\n\t\t\t].includes(tool.tool)\n\t\t}\n\n\t\treturn false\n\t}, [])\n\n\tconst isMcpToolAlwaysAllowed = useCallback(\n\t\t(message: ClineMessage | undefined) => {\n\t\t\tif (message?.type === \"ask\" && message.ask === \"use_mcp_server\") {\n\t\t\t\tif (!message.text) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tconst mcpServerUse = JSON.parse(message.text) as { type: string; serverName: string; toolName: string }\n\n\t\t\t\tif (mcpServerUse.type === \"use_mcp_tool\") {\n\t\t\t\t\tconst server = mcpServers?.find((s: McpServer) => s.name === mcpServerUse.serverName)\n\t\t\t\t\tconst tool = server?.tools?.find((t: McpTool) => t.name === mcpServerUse.toolName)\n\t\t\t\t\treturn tool?.alwaysAllow || false\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false\n\t\t},\n\t\t[mcpServers],\n\t)\n\n\t// Get the command decision using unified validation logic\n\tconst getCommandDecisionForMessage = useCallback(\n\t\t(message: ClineMessage | undefined): CommandDecision => {\n\t\t\tif (message?.type !== \"ask\") return \"ask_user\"\n\t\t\treturn getCommandDecision(message.text || \"\", allowedCommands || [], deniedCommands || [])\n\t\t},\n\t\t[allowedCommands, deniedCommands],\n\t)\n\n\t// Check if a command message should be auto-approved.\n\tconst isAllowedCommand = useCallback(\n\t\t(message: ClineMessage | undefined): boolean => {\n\t\t\treturn getCommandDecisionForMessage(message) === \"auto_approve\"\n\t\t},\n\t\t[getCommandDecisionForMessage],\n\t)\n\n\t// Check if a command message should be auto-denied.\n\tconst isDeniedCommand = useCallback(\n\t\t(message: ClineMessage | undefined): boolean => {\n\t\t\treturn getCommandDecisionForMessage(message) === \"auto_deny\"\n\t\t},\n\t\t[getCommandDecisionForMessage],\n\t)\n\n\t// Helper function to get the denied prefix for a command\n\tconst getDeniedPrefix = useCallback(\n\t\t(command: string): string | null => {\n\t\t\tif (!command || !deniedCommands?.length) return null\n\n\t\t\t// Parse the command into sub-commands and check each one\n\t\t\tconst subCommands = parseCommand(command)\n\t\t\tfor (const cmd of subCommands) {\n\t\t\t\tconst deniedMatch = findLongestPrefixMatch(cmd, deniedCommands)\n\t\t\t\tif (deniedMatch) {\n\t\t\t\t\treturn deniedMatch\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\t\t[deniedCommands],\n\t)\n\n\t// Create toggles object for useAutoApprovalState hook\n\tconst autoApprovalToggles = useAutoApprovalToggles()\n\n\tconst { hasEnabledOptions } = useAutoApprovalState(autoApprovalToggles, autoApprovalEnabled)\n\n\tconst isAutoApproved = useCallback(\n\t\t(message: ClineMessage | undefined) => {\n\t\t\t// First check if auto-approval is enabled AND we have at least one permission\n\t\t\tif (!autoApprovalEnabled || !message || message.type !== \"ask\") {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Use the hook's result instead of duplicating the logic\n\t\t\tif (!hasEnabledOptions) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tif (message.ask === \"followup\") {\n\t\t\t\treturn alwaysAllowFollowupQuestions\n\t\t\t}\n\n\t\t\tif (message.ask === \"browser_action_launch\") {\n\t\t\t\treturn alwaysAllowBrowser\n\t\t\t}\n\n\t\t\tif (message.ask === \"use_mcp_server\") {\n\t\t\t\treturn alwaysAllowMcp && isMcpToolAlwaysAllowed(message)\n\t\t\t}\n\n\t\t\tif (message.ask === \"command\") {\n\t\t\t\treturn alwaysAllowExecute && isAllowedCommand(message)\n\t\t\t}\n\n\t\t\t// For read/write operations, check if it's outside workspace and if\n\t\t\t// we have permission for that.\n\t\t\tif (message.ask === \"tool\") {\n\t\t\t\tlet tool: any = {}\n\n\t\t\t\ttry {\n\t\t\t\t\ttool = JSON.parse(message.text || \"{}\")\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(\"Failed to parse tool:\", error)\n\t\t\t\t}\n\n\t\t\t\tif (!tool) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tif (tool?.tool === \"updateTodoList\") {\n\t\t\t\t\treturn alwaysAllowUpdateTodoList\n\t\t\t\t}\n\n\t\t\t\tif (tool?.tool === \"fetchInstructions\") {\n\t\t\t\t\tif (tool.content === \"create_mode\") {\n\t\t\t\t\t\treturn alwaysAllowModeSwitch\n\t\t\t\t\t}\n\n\t\t\t\t\tif (tool.content === \"create_mcp_server\") {\n\t\t\t\t\t\treturn alwaysAllowMcp\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (tool?.tool === \"switchMode\") {\n\t\t\t\t\treturn alwaysAllowModeSwitch\n\t\t\t\t}\n\n\t\t\t\tif ([\"newTask\", \"finishTask\"].includes(tool?.tool)) {\n\t\t\t\t\treturn alwaysAllowSubtasks\n\t\t\t\t}\n\n\t\t\t\tconst isOutsideWorkspace = !!tool.isOutsideWorkspace\n\t\t\t\tconst isProtected = message.isProtected\n\n\t\t\t\tif (isReadOnlyToolAction(message)) {\n\t\t\t\t\treturn alwaysAllowReadOnly && (!isOutsideWorkspace || alwaysAllowReadOnlyOutsideWorkspace)\n\t\t\t\t}\n\n\t\t\t\tif (isWriteToolAction(message)) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\talwaysAllowWrite &&\n\t\t\t\t\t\t(!isOutsideWorkspace || alwaysAllowWriteOutsideWorkspace) &&\n\t\t\t\t\t\t(!isProtected || alwaysAllowWriteProtected)\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false\n\t\t},\n\t\t[\n\t\t\tautoApprovalEnabled,\n\t\t\thasEnabledOptions,\n\t\t\talwaysAllowBrowser,\n\t\t\talwaysAllowReadOnly,\n\t\t\talwaysAllowReadOnlyOutsideWorkspace,\n\t\t\tisReadOnlyToolAction,\n\t\t\talwaysAllowWrite,\n\t\t\talwaysAllowWriteOutsideWorkspace,\n\t\t\talwaysAllowWriteProtected,\n\t\t\tisWriteToolAction,\n\t\t\talwaysAllowExecute,\n\t\t\tisAllowedCommand,\n\t\t\talwaysAllowMcp,\n\t\t\tisMcpToolAlwaysAllowed,\n\t\t\talwaysAllowModeSwitch,\n\t\t\talwaysAllowFollowupQuestions,\n\t\t\talwaysAllowSubtasks,\n\t\t\talwaysAllowUpdateTodoList,\n\t\t],\n\t)\n\n\tuseEffect(() => {\n\t\t// This ensures the first message is not read, future user messages are\n\t\t// labeled as `user_feedback`.\n\t\tif (lastMessage && messages.length > 1) {\n\t\t\tif (\n\t\t\t\tlastMessage.text && // has text\n\t\t\t\t(lastMessage.say === \"text\" || lastMessage.say === \"completion_result\") && // is a text message\n\t\t\t\t!lastMessage.partial && // not a partial message\n\t\t\t\t!lastMessage.text.startsWith(\"{\") // not a json object\n\t\t\t) {\n\t\t\t\tlet text = lastMessage?.text || \"\"\n\t\t\t\tconst mermaidRegex = /```mermaid[\\s\\S]*?```/g\n\t\t\t\t// remove mermaid diagrams from text\n\t\t\t\ttext = text.replace(mermaidRegex, \"\")\n\t\t\t\t// remove markdown from text\n\t\t\t\ttext = removeMd(text)\n\n\t\t\t\t// ensure message is not a duplicate of last read message\n\t\t\t\tif (text !== lastTtsRef.current) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tplayTts(text)\n\t\t\t\t\t\tlastTtsRef.current = text\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(\"Failed to execute text-to-speech:\", error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update previous value.\n\t\tsetWasStreaming(isStreaming)\n\t}, [isStreaming, lastMessage, wasStreaming, isAutoApproved, messages.length])\n\n\tconst isBrowserSessionMessage = (message: ClineMessage): boolean => {\n\t\t// Which of visible messages are browser session messages, see above.\n\t\tif (message.type === \"ask\") {\n\t\t\treturn [\"browser_action_launch\"].includes(message.ask!)\n\t\t}\n\n\t\tif (message.type === \"say\") {\n\t\t\treturn [\"api_req_started\", \"text\", \"browser_action\", \"browser_action_result\"].includes(message.say!)\n\t\t}\n\n\t\treturn false\n\t}\n\n\tconst groupedMessages = useMemo(() => {\n\t\tconst result: (ClineMessage | ClineMessage[])[] = []\n\t\tlet currentGroup: ClineMessage[] = []\n\t\tlet isInBrowserSession = false\n\n\t\tconst endBrowserSession = () => {\n\t\t\tif (currentGroup.length > 0) {\n\t\t\t\tresult.push([...currentGroup])\n\t\t\t\tcurrentGroup = []\n\t\t\t\tisInBrowserSession = false\n\t\t\t}\n\t\t}\n\n\t\tvisibleMessages.forEach((message) => {\n\t\t\tif (message.ask === \"browser_action_launch\") {\n\t\t\t\t// Complete existing browser session if any.\n\t\t\t\tendBrowserSession()\n\t\t\t\t// Start new.\n\t\t\t\tisInBrowserSession = true\n\t\t\t\tcurrentGroup.push(message)\n\t\t\t} else if (isInBrowserSession) {\n\t\t\t\t// End session if `api_req_started` is cancelled.\n\n\t\t\t\tif (message.say === \"api_req_started\") {\n\t\t\t\t\t// Get last `api_req_started` in currentGroup to check if\n\t\t\t\t\t// it's cancelled. If it is then this api req is not part\n\t\t\t\t\t// of the current browser session.\n\t\t\t\t\tconst lastApiReqStarted = [...currentGroup].reverse().find((m) => m.say === \"api_req_started\")\n\n\t\t\t\t\tif (lastApiReqStarted?.text !== null && lastApiReqStarted?.text !== undefined) {\n\t\t\t\t\t\tconst info = JSON.parse(lastApiReqStarted.text)\n\t\t\t\t\t\tconst isCancelled = info.cancelReason !== null && info.cancelReason !== undefined\n\n\t\t\t\t\t\tif (isCancelled) {\n\t\t\t\t\t\t\tendBrowserSession()\n\t\t\t\t\t\t\tresult.push(message)\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (isBrowserSessionMessage(message)) {\n\t\t\t\t\tcurrentGroup.push(message)\n\n\t\t\t\t\t// Check if this is a close action\n\t\t\t\t\tif (message.say === \"browser_action\") {\n\t\t\t\t\t\tconst browserAction = JSON.parse(message.text || \"{}\") as ClineSayBrowserAction\n\t\t\t\t\t\tif (browserAction.action === \"close\") {\n\t\t\t\t\t\t\tendBrowserSession()\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// complete existing browser session if any\n\t\t\t\t\tendBrowserSession()\n\t\t\t\t\tresult.push(message)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult.push(message)\n\t\t\t}\n\t\t})\n\n\t\t// Handle case where browser session is the last group\n\t\tif (currentGroup.length > 0) {\n\t\t\tresult.push([...currentGroup])\n\t\t}\n\n\t\tif (isCondensing) {\n\t\t\t// Show indicator after clicking condense button\n\t\t\tresult.push({\n\t\t\t\ttype: \"say\",\n\t\t\t\tsay: \"condense_context\",\n\t\t\t\tts: Date.now(),\n\t\t\t\tpartial: true,\n\t\t\t})\n\t\t}\n\n\t\treturn result\n\t}, [isCondensing, visibleMessages])\n\n\t// scrolling\n\n\tconst scrollToBottomSmooth = useMemo(\n\t\t() =>\n\t\t\tdebounce(() => virtuosoRef.current?.scrollTo({ top: Number.MAX_SAFE_INTEGER, behavior: \"smooth\" }), 10, {\n\t\t\t\timmediate: true,\n\t\t\t}),\n\t\t[],\n\t)\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (scrollToBottomSmooth && typeof (scrollToBottomSmooth as any).cancel === \"function\") {\n\t\t\t\t;(scrollToBottomSmooth as any).cancel()\n\t\t\t}\n\t\t}\n\t}, [scrollToBottomSmooth])\n\n\tconst scrollToBottomAuto = useCallback(() => {\n\t\tvirtuosoRef.current?.scrollTo({\n\t\t\ttop: Number.MAX_SAFE_INTEGER,\n\t\t\tbehavior: \"auto\", // Instant causes crash.\n\t\t})\n\t}, [])\n\n\tconst handleSetExpandedRow = useCallback(\n\t\t(ts: number, expand?: boolean) => {\n\t\t\tsetExpandedRows((prev) => ({ ...prev, [ts]: expand === undefined ? !prev[ts] : expand }))\n\t\t},\n\t\t[setExpandedRows], // setExpandedRows is stable\n\t)\n\n\t// Scroll when user toggles certain rows.\n\tconst toggleRowExpansion = useCallback(\n\t\t(ts: number) => {\n\t\t\thandleSetExpandedRow(ts)\n\t\t\t// The logic to set disableAutoScrollRef.current = true on expansion\n\t\t\t// is now handled by the useEffect hook that observes expandedRows.\n\t\t},\n\t\t[handleSetExpandedRow],\n\t)\n\n\tconst handleRowHeightChange = useCallback(\n\t\t(isTaller: boolean) => {\n\t\t\tif (!disableAutoScrollRef.current) {\n\t\t\t\tif (isTaller) {\n\t\t\t\t\tscrollToBottomSmooth()\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout(() => scrollToBottomAuto(), 0)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[scrollToBottomSmooth, scrollToBottomAuto],\n\t)\n\n\tuseEffect(() => {\n\t\tlet timer: NodeJS.Timeout | undefined\n\t\tif (!disableAutoScrollRef.current) {\n\t\t\ttimer = setTimeout(() => scrollToBottomSmooth(), 50)\n\t\t}\n\t\treturn () => {\n\t\t\tif (timer) {\n\t\t\t\tclearTimeout(timer)\n\t\t\t}\n\t\t}\n\t}, [groupedMessages.length, scrollToBottomSmooth])\n\n\tconst handleWheel = useCallback((event: Event) => {\n\t\tconst wheelEvent = event as WheelEvent\n\n\t\tif (wheelEvent.deltaY && wheelEvent.deltaY < 0) {\n\t\t\tif (scrollContainerRef.current?.contains(wheelEvent.target as Node)) {\n\t\t\t\t// User scrolled up\n\t\t\t\tdisableAutoScrollRef.current = true\n\t\t\t}\n\t\t}\n\t}, [])\n\n\tuseEvent(\"wheel\", handleWheel, window, { passive: true }) // passive improves scrolling performance\n\n\t// Effect to handle showing the checkpoint warning after a delay\n\tuseEffect(() => {\n\t\t// Only show the warning when there's a task but no visible messages yet\n\t\tif (task && modifiedMessages.length === 0 && !isStreaming && !isHidden) {\n\t\t\tconst timer = setTimeout(() => {\n\t\t\t\tsetShowCheckpointWarning(true)\n\t\t\t}, 5000) // 5 seconds\n\n\t\t\treturn () => clearTimeout(timer)\n\t\t} else {\n\t\t\tsetShowCheckpointWarning(false)\n\t\t}\n\t}, [task, modifiedMessages.length, isStreaming, isHidden])\n\n\t// Effect to hide the checkpoint warning when messages appear\n\tuseEffect(() => {\n\t\tif (modifiedMessages.length > 0 || isStreaming || isHidden) {\n\t\t\tsetShowCheckpointWarning(false)\n\t\t}\n\t}, [modifiedMessages.length, isStreaming, isHidden])\n\n\tconst placeholderText = task ? t(\"chat:typeMessage\") : t(\"chat:typeTask\")\n\n\t// Function to switch to a specific mode\n\tconst switchToMode = useCallback(\n\t\t(modeSlug: string): void => {\n\t\t\t// Update local state and notify extension to sync mode change\n\t\t\tsetMode(modeSlug)\n\n\t\t\t// Send the mode switch message\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"mode\",\n\t\t\t\ttext: modeSlug,\n\t\t\t})\n\t\t},\n\t\t[setMode],\n\t)\n\n\tconst handleSuggestionClickInRow = useCallback(\n\t\t(suggestion: SuggestionItem, event?: React.MouseEvent) => {\n\t\t\t// Mark that user has responded if this is a manual click (not auto-approval)\n\t\t\tif (event) {\n\t\t\t\tuserRespondedRef.current = true\n\t\t\t}\n\n\t\t\t// Mark the current follow-up question as answered when a suggestion is clicked\n\t\t\tif (clineAsk === \"followup\" && !event?.shiftKey) {\n\t\t\t\tmarkFollowUpAsAnswered()\n\t\t\t}\n\n\t\t\t// Check if we need to switch modes\n\t\t\tif (suggestion.mode) {\n\t\t\t\t// Only switch modes if it's a manual click (event exists) or auto-approval is allowed\n\t\t\t\tconst isManualClick = !!event\n\t\t\t\tif (isManualClick || alwaysAllowModeSwitch) {\n\t\t\t\t\t// Switch mode without waiting\n\t\t\t\t\tswitchToMode(suggestion.mode)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (event?.shiftKey) {\n\t\t\t\t// Always append to existing text, don't overwrite\n\t\t\t\tsetInputValue((currentValue) => {\n\t\t\t\t\treturn currentValue !== \"\" ? `${currentValue} \\n${suggestion.answer}` : suggestion.answer\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\thandleSendMessage(suggestion.answer, [])\n\t\t\t}\n\t\t},\n\t\t[handleSendMessage, setInputValue, switchToMode, alwaysAllowModeSwitch, clineAsk, markFollowUpAsAnswered],\n\t)\n\n\tconst handleBatchFileResponse = useCallback((response: { [key: string]: boolean }) => {\n\t\t// Handle batch file response, e.g., for file uploads\n\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"objectResponse\", text: JSON.stringify(response) })\n\t}, [])\n\n\t// Handler for when FollowUpSuggest component unmounts\n\tconst handleFollowUpUnmount = useCallback(() => {\n\t\t// Mark that user has responded\n\t\tuserRespondedRef.current = true\n\t}, [])\n\n\tconst itemContent = useCallback(\n\t\t(index: number, messageOrGroup: ClineMessage | ClineMessage[]) => {\n\t\t\t// browser session group\n\t\t\tif (Array.isArray(messageOrGroup)) {\n\t\t\t\treturn (\n\t\t\t\t\t<BrowserSessionRow\n\t\t\t\t\t\tmessages={messageOrGroup}\n\t\t\t\t\t\tisLast={index === groupedMessages.length - 1}\n\t\t\t\t\t\tlastModifiedMessage={modifiedMessages.at(-1)}\n\t\t\t\t\t\tonHeightChange={handleRowHeightChange}\n\t\t\t\t\t\tisStreaming={isStreaming}\n\t\t\t\t\t\tisExpanded={(messageTs: number) => expandedRows[messageTs] ?? false}\n\t\t\t\t\t\tonToggleExpand={(messageTs: number) => {\n\t\t\t\t\t\t\tsetExpandedRows((prev) => ({\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t[messageTs]: !prev[messageTs],\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t// regular message\n\t\t\treturn (\n\t\t\t\t<ChatRow\n\t\t\t\t\tkey={messageOrGroup.ts}\n\t\t\t\t\tmessage={messageOrGroup}\n\t\t\t\t\tisExpanded={expandedRows[messageOrGroup.ts] || false}\n\t\t\t\t\tonToggleExpand={toggleRowExpansion} // This was already stabilized\n\t\t\t\t\tlastModifiedMessage={modifiedMessages.at(-1)} // Original direct access\n\t\t\t\t\tisLast={index === groupedMessages.length - 1} // Original direct access\n\t\t\t\t\tonHeightChange={handleRowHeightChange}\n\t\t\t\t\tisStreaming={isStreaming}\n\t\t\t\t\tonSuggestionClick={handleSuggestionClickInRow} // This was already stabilized\n\t\t\t\t\tonBatchFileResponse={handleBatchFileResponse}\n\t\t\t\t\tonFollowUpUnmount={handleFollowUpUnmount}\n\t\t\t\t\tisFollowUpAnswered={messageOrGroup.ts === currentFollowUpTs}\n\t\t\t\t\teditable={\n\t\t\t\t\t\tmessageOrGroup.type === \"ask\" &&\n\t\t\t\t\t\tmessageOrGroup.ask === \"tool\" &&\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tlet tool: any = {}\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\ttool = JSON.parse(messageOrGroup.text || \"{}\")\n\t\t\t\t\t\t\t} catch (_) {\n\t\t\t\t\t\t\t\tif (messageOrGroup.text?.includes(\"updateTodoList\")) {\n\t\t\t\t\t\t\t\t\ttool = { tool: \"updateTodoList\" }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (tool.tool === \"updateTodoList\" && alwaysAllowUpdateTodoList) {\n\t\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn tool.tool === \"updateTodoList\" && enableButtons && !!primaryButtonText\n\t\t\t\t\t\t})()\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t)\n\t\t},\n\t\t[\n\t\t\texpandedRows,\n\t\t\ttoggleRowExpansion,\n\t\t\tmodifiedMessages,\n\t\t\tgroupedMessages.length,\n\t\t\thandleRowHeightChange,\n\t\t\tisStreaming,\n\t\t\thandleSuggestionClickInRow,\n\t\t\thandleBatchFileResponse,\n\t\t\thandleFollowUpUnmount,\n\t\t\tcurrentFollowUpTs,\n\t\t\talwaysAllowUpdateTodoList,\n\t\t\tenableButtons,\n\t\t\tprimaryButtonText,\n\t\t],\n\t)\n\n\tuseEffect(() => {\n\t\tif (autoApproveTimeoutRef.current) {\n\t\t\tclearTimeout(autoApproveTimeoutRef.current)\n\t\t\tautoApproveTimeoutRef.current = null\n\t\t}\n\n\t\tif (!clineAsk || !enableButtons) {\n\t\t\treturn\n\t\t}\n\n\t\t// Exit early if user has already responded\n\t\tif (userRespondedRef.current) {\n\t\t\treturn\n\t\t}\n\n\t\tconst autoApproveOrReject = async () => {\n\t\t\t// Check for auto-reject first (commands that should be denied)\n\t\t\tif (lastMessage?.ask === \"command\" && isDeniedCommand(lastMessage)) {\n\t\t\t\t// Get the denied prefix for the localized message\n\t\t\t\tconst deniedPrefix = getDeniedPrefix(lastMessage.text || \"\")\n\t\t\t\tif (deniedPrefix) {\n\t\t\t\t\t// Create the localized auto-deny message and send it with the rejection\n\t\t\t\t\tconst autoDenyMessage = tSettings(\"autoApprove.execute.autoDenied\", { prefix: deniedPrefix })\n\n\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\ttype: \"askResponse\",\n\t\t\t\t\t\taskResponse: \"noButtonClicked\",\n\t\t\t\t\t\ttext: autoDenyMessage,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// Auto-reject denied commands immediately if no prefix found\n\t\t\t\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"noButtonClicked\" })\n\t\t\t\t}\n\n\t\t\t\tsetSendingDisabled(true)\n\t\t\t\tsetClineAsk(undefined)\n\t\t\t\tsetEnableButtons(false)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Then check for auto-approve\n\t\t\tif (lastMessage?.ask && isAutoApproved(lastMessage)) {\n\t\t\t\t// Special handling for follow-up questions\n\t\t\t\tif (lastMessage.ask === \"followup\") {\n\t\t\t\t\t// Handle invalid JSON\n\t\t\t\t\tlet followUpData: FollowUpData = {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfollowUpData = JSON.parse(lastMessage.text || \"{}\") as FollowUpData\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error(\"Failed to parse follow-up data:\", error)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tif (followUpData && followUpData.suggest && followUpData.suggest.length > 0) {\n\t\t\t\t\t\t// Wait for the configured timeout before auto-selecting the first suggestion\n\t\t\t\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\t\t\t\tautoApproveTimeoutRef.current = setTimeout(() => {\n\t\t\t\t\t\t\t\tautoApproveTimeoutRef.current = null\n\t\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t\t}, followupAutoApproveTimeoutMs)\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\t// Check if user responded manually\n\t\t\t\t\t\tif (userRespondedRef.current) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Get the first suggestion\n\t\t\t\t\t\tconst firstSuggestion = followUpData.suggest[0]\n\n\t\t\t\t\t\t// Handle the suggestion click\n\t\t\t\t\t\thandleSuggestionClickInRow(firstSuggestion)\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t} else if (lastMessage.ask === \"tool\" && isWriteToolAction(lastMessage)) {\n\t\t\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\t\t\tautoApproveTimeoutRef.current = setTimeout(() => {\n\t\t\t\t\t\t\tautoApproveTimeoutRef.current = null\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t}, writeDelayMs)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tvscode.postMessage({ type: \"askResponse\", askResponse: \"yesButtonClicked\" })\n\n\t\t\t\tsetSendingDisabled(true)\n\t\t\t\tsetClineAsk(undefined)\n\t\t\t\tsetEnableButtons(false)\n\t\t\t}\n\t\t}\n\t\tautoApproveOrReject()\n\n\t\treturn () => {\n\t\t\tif (autoApproveTimeoutRef.current) {\n\t\t\t\tclearTimeout(autoApproveTimeoutRef.current)\n\t\t\t\tautoApproveTimeoutRef.current = null\n\t\t\t}\n\t\t}\n\t}, [\n\t\tclineAsk,\n\t\tenableButtons,\n\t\thandlePrimaryButtonClick,\n\t\talwaysAllowBrowser,\n\t\talwaysAllowReadOnly,\n\t\talwaysAllowReadOnlyOutsideWorkspace,\n\t\talwaysAllowWrite,\n\t\talwaysAllowWriteOutsideWorkspace,\n\t\talwaysAllowExecute,\n\t\tfollowupAutoApproveTimeoutMs,\n\t\talwaysAllowMcp,\n\t\tmessages,\n\t\tallowedCommands,\n\t\tdeniedCommands,\n\t\tmcpServers,\n\t\tisAutoApproved,\n\t\tlastMessage,\n\t\twriteDelayMs,\n\t\tisWriteToolAction,\n\t\talwaysAllowFollowupQuestions,\n\t\thandleSuggestionClickInRow,\n\t\tisAllowedCommand,\n\t\tisDeniedCommand,\n\t\tgetDeniedPrefix,\n\t\ttSettings,\n\t])\n\n\t// Function to handle mode switching\n\tconst switchToNextMode = useCallback(() => {\n\t\tconst allModes = getAllModes(customModes)\n\t\tconst currentModeIndex = allModes.findIndex((m) => m.slug === mode)\n\t\tconst nextModeIndex = (currentModeIndex + 1) % allModes.length\n\t\t// Update local state and notify extension to sync mode change\n\t\tswitchToMode(allModes[nextModeIndex].slug)\n\t}, [mode, customModes, switchToMode])\n\n\t// Function to handle switching to previous mode\n\tconst switchToPreviousMode = useCallback(() => {\n\t\tconst allModes = getAllModes(customModes)\n\t\tconst currentModeIndex = allModes.findIndex((m) => m.slug === mode)\n\t\tconst previousModeIndex = (currentModeIndex - 1 + allModes.length) % allModes.length\n\t\t// Update local state and notify extension to sync mode change\n\t\tswitchToMode(allModes[previousModeIndex].slug)\n\t}, [mode, customModes, switchToMode])\n\n\t// Add keyboard event handler\n\tconst handleKeyDown = useCallback(\n\t\t(event: KeyboardEvent) => {\n\t\t\t// Check for Command/Ctrl + Period (with or without Shift)\n\t\t\t// Using event.key to respect keyboard layouts (e.g., Dvorak)\n\t\t\tif ((event.metaKey || event.ctrlKey) && event.key === \".\") {\n\t\t\t\tevent.preventDefault() // Prevent default browser behavior\n\n\t\t\t\tif (event.shiftKey) {\n\t\t\t\t\t// Shift + Period = Previous mode\n\t\t\t\t\tswitchToPreviousMode()\n\t\t\t\t} else {\n\t\t\t\t\t// Just Period = Next mode\n\t\t\t\t\tswitchToNextMode()\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[switchToNextMode, switchToPreviousMode],\n\t)\n\n\t// Add event listener\n\tuseEffect(() => {\n\t\twindow.addEventListener(\"keydown\", handleKeyDown)\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"keydown\", handleKeyDown)\n\t\t}\n\t}, [handleKeyDown])\n\n\tuseImperativeHandle(ref, () => ({\n\t\tacceptInput: () => {\n\t\t\tif (enableButtons && primaryButtonText) {\n\t\t\t\thandlePrimaryButtonClick(inputValue, selectedImages)\n\t\t\t} else if (!sendingDisabled && !isProfileDisabled && (inputValue.trim() || selectedImages.length > 0)) {\n\t\t\t\thandleSendMessage(inputValue, selectedImages)\n\t\t\t}\n\t\t},\n\t}))\n\n\tconst handleCondenseContext = (taskId: string) => {\n\t\tif (isCondensing || sendingDisabled) {\n\t\t\treturn\n\t\t}\n\t\tsetIsCondensing(true)\n\t\tsetSendingDisabled(true)\n\t\tvscode.postMessage({ type: \"condenseTaskContextRequest\", text: taskId })\n\t}\n\n\tconst areButtonsVisible = showScrollToBottom || primaryButtonText || secondaryButtonText || isStreaming\n\n\treturn (\n\t\t<div\n\t\t\tdata-testid=\"chat-view\"\n\t\t\tclassName={isHidden ? \"hidden\" : \"fixed top-0 left-0 right-0 bottom-0 flex flex-col overflow-hidden\"}>\n\t\t\t{(showAnnouncement || showAnnouncementModal) && (\n\t\t\t\t<Announcement\n\t\t\t\t\thideAnnouncement={() => {\n\t\t\t\t\t\tif (showAnnouncementModal) {\n\t\t\t\t\t\t\tsetShowAnnouncementModal(false)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (showAnnouncement) {\n\t\t\t\t\t\t\thideAnnouncement()\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{task ? (\n\t\t\t\t<>\n\t\t\t\t\t<TaskHeader\n\t\t\t\t\t\ttask={task}\n\t\t\t\t\t\ttokensIn={apiMetrics.totalTokensIn}\n\t\t\t\t\t\ttokensOut={apiMetrics.totalTokensOut}\n\t\t\t\t\t\tcacheWrites={apiMetrics.totalCacheWrites}\n\t\t\t\t\t\tcacheReads={apiMetrics.totalCacheReads}\n\t\t\t\t\t\ttotalCost={apiMetrics.totalCost}\n\t\t\t\t\t\tcontextTokens={apiMetrics.contextTokens}\n\t\t\t\t\t\tbuttonsDisabled={sendingDisabled}\n\t\t\t\t\t\thandleCondenseContext={handleCondenseContext}\n\t\t\t\t\t\tonClose={handleTaskCloseButtonClick}\n\t\t\t\t\t\ttodos={latestTodos}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{hasSystemPromptOverride && (\n\t\t\t\t\t\t<div className=\"px-3\">\n\t\t\t\t\t\t\t<SystemPromptWarning />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{showCheckpointWarning && (\n\t\t\t\t\t\t<div className=\"px-3\">\n\t\t\t\t\t\t\t<CheckpointWarning />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<div className=\"flex-1 min-h-0 overflow-y-auto flex flex-col gap-4 relative\">\n\t\t\t\t\t{/* Moved Task Bar Header Here */}\n\t\t\t\t\t{tasks.length !== 0 && (\n\t\t\t\t\t\t<div className=\"flex text-vscode-descriptionForeground w-full mx-auto px-5 pt-3\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1 cursor-pointer\" onClick={toggleExpanded}>\n\t\t\t\t\t\t\t\t{tasks.length < 10 && (\n\t\t\t\t\t\t\t\t\t<span className={`font-medium text-xs `}>{t(\"history:recentTasks\")}</span>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`codicon ${isExpanded ? \"codicon-eye\" : \"codicon-eye-closed\"} scale-90`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={` w-full flex flex-col gap-4 m-auto ${isExpanded && tasks.length > 0 ? \"mt-0\" : \"\"} px-3.5 min-[370px]:px-10 pt-5 transition-all duration-300`}>\n\t\t\t\t\t\t{/* Version indicator in top-right corner - only on welcome screen */}\n\t\t\t\t\t\t<VersionIndicator\n\t\t\t\t\t\t\tonClick={() => setShowAnnouncementModal(true)}\n\t\t\t\t\t\t\tclassName=\"absolute top-2 right-3 z-10\"\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<RooHero />\n\t\t\t\t\t\t{telemetrySetting === \"unset\" && <TelemetryBanner />}\n\n\t\t\t\t\t\t<div className=\"mb-2.5\">\n\t\t\t\t\t\t\t{cloudIsAuthenticated || taskHistory.length < 4 ? <RooTips /> : <RooCloudCTA />}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{/* Show the task history preview if expanded and tasks exist */}\n\t\t\t\t\t\t{taskHistory.length > 0 && isExpanded && <HistoryPreview />}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* \n\t\t\t// Flex layout explanation:\n\t\t\t// 1. Content div above uses flex: \"1 1 0\" to:\n\t\t\t// - Grow to fill available space (flex-grow: 1) \n\t\t\t// - Shrink when AutoApproveMenu needs space (flex-shrink: 1)\n\t\t\t// - Start from zero size (flex-basis: 0) to ensure proper distribution\n\t\t\t// minHeight: 0 allows it to shrink below its content height\n\t\t\t//\n\t\t\t// 2. AutoApproveMenu uses flex: \"0 1 auto\" to:\n\t\t\t// - Not grow beyond its content (flex-grow: 0)\n\t\t\t// - Shrink when viewport is small (flex-shrink: 1) \n\t\t\t// - Use its content size as basis (flex-basis: auto)\n\t\t\t// This ensures it takes its natural height when there's space\n\t\t\t// but becomes scrollable when the viewport is too small\n\t\t\t*/}\n\t\t\t{!task && (\n\t\t\t\t<div className=\"mb-1 flex-initial min-h-0\">\n\t\t\t\t\t<AutoApproveMenu />\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{task && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"grow flex\" ref={scrollContainerRef}>\n\t\t\t\t\t\t<Virtuoso\n\t\t\t\t\t\t\tref={virtuosoRef}\n\t\t\t\t\t\t\tkey={task.ts} // trick to make sure virtuoso re-renders when task changes, and we use initialTopMostItemIndex to start at the bottom\n\t\t\t\t\t\t\tclassName=\"scrollable grow overflow-y-scroll mb-1\"\n\t\t\t\t\t\t\t// increasing top by 3_000 to prevent jumping around when user collapses a row\n\t\t\t\t\t\t\tincreaseViewportBy={{ top: 3_000, bottom: Number.MAX_SAFE_INTEGER }} // hack to make sure the last message is always rendered to get truly perfect scroll to bottom animation when new messages are added (Number.MAX_SAFE_INTEGER is safe for arithmetic operations, which is all virtuoso uses this value for in src/sizeRangeSystem.ts)\n\t\t\t\t\t\t\tdata={groupedMessages} // messages is the raw format returned by extension, modifiedMessages is the manipulated structure that combines certain messages of related type, and visibleMessages is the filtered structure that removes messages that should not be rendered\n\t\t\t\t\t\t\titemContent={itemContent}\n\t\t\t\t\t\t\tatBottomStateChange={(isAtBottom) => {\n\t\t\t\t\t\t\t\tsetIsAtBottom(isAtBottom)\n\t\t\t\t\t\t\t\tif (isAtBottom) {\n\t\t\t\t\t\t\t\t\tdisableAutoScrollRef.current = false\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetShowScrollToBottom(disableAutoScrollRef.current && !isAtBottom)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tatBottomThreshold={10} // anything lower causes issues with followOutput\n\t\t\t\t\t\t\tinitialTopMostItemIndex={groupedMessages.length - 1}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className={`flex-initial min-h-0 ${!areButtonsVisible ? \"mb-1\" : \"\"}`}>\n\t\t\t\t\t\t<AutoApproveMenu />\n\t\t\t\t\t</div>\n\t\t\t\t\t{areButtonsVisible && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={`flex h-9 items-center mb-1 px-[15px] ${\n\t\t\t\t\t\t\t\tshowScrollToBottom\n\t\t\t\t\t\t\t\t\t? \"opacity-100\"\n\t\t\t\t\t\t\t\t\t: enableButtons || (isStreaming && !didClickCancel)\n\t\t\t\t\t\t\t\t\t\t? \"opacity-100\"\n\t\t\t\t\t\t\t\t\t\t: \"opacity-50\"\n\t\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t\t{showScrollToBottom ? (\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"chat:scrollToBottom\")}>\n\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\tappearance=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex-[2]\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tscrollToBottomSmooth()\n\t\t\t\t\t\t\t\t\t\t\tdisableAutoScrollRef.current = false\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-chevron-down\"></span>\n\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{primaryButtonText && !isStreaming && (\n\t\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryButtonText === t(\"chat:retry.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:retry.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText === t(\"chat:save.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:save.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText === t(\"chat:approve.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:approve.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText === t(\"chat:runCommand.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:runCommand.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText === t(\"chat:startNewTask.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:startNewTask.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText === t(\"chat:resumeTask.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:resumeTask.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t t(\"chat:proceedAnyways.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:proceedAnyways.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: primaryButtonText ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t t(\"chat:proceedWhileRunning.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:proceedWhileRunning.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\t\t\tappearance=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!enableButtons}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={secondaryButtonText ? \"flex-1 mr-[6px]\" : \"flex-[2] mr-0\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handlePrimaryButtonClick(inputValue, selectedImages)}>\n\t\t\t\t\t\t\t\t\t\t\t\t{primaryButtonText}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{(secondaryButtonText || isStreaming) && (\n\t\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\tisStreaming\n\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:cancel.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t: secondaryButtonText === t(\"chat:startNewTask.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:startNewTask.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: secondaryButtonText === t(\"chat:reject.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:reject.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: secondaryButtonText === t(\"chat:terminate.title\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"chat:terminate.tooltip\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\t\t\t\t\t\t\tappearance=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!enableButtons && !(isStreaming && !didClickCancel)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={isStreaming ? \"flex-[2] ml-0\" : \"flex-1 ml-[6px]\"}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => handleSecondaryButtonClick(inputValue, selectedImages)}>\n\t\t\t\t\t\t\t\t\t\t\t\t{isStreaming ? t(\"chat:cancel.title\") : secondaryButtonText}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<QueuedMessages\n\t\t\t\tqueue={messageQueue}\n\t\t\t\tonRemove={(index) => setMessageQueue((prev) => prev.filter((_, i) => i !== index))}\n\t\t\t\tonUpdate={(index, newText) => {\n\t\t\t\t\tsetMessageQueue((prev) => prev.map((msg, i) => (i === index ? { ...msg, text: newText } : msg)))\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<ChatTextArea\n\t\t\t\tref={textAreaRef}\n\t\t\t\tinputValue={inputValue}\n\t\t\t\tsetInputValue={setInputValue}\n\t\t\t\tsendingDisabled={sendingDisabled || isProfileDisabled}\n\t\t\t\tselectApiConfigDisabled={sendingDisabled && clineAsk !== \"api_req_failed\"}\n\t\t\t\tplaceholderText={placeholderText}\n\t\t\t\tselectedImages={selectedImages}\n\t\t\t\tsetSelectedImages={setSelectedImages}\n\t\t\t\tonSend={() => handleSendMessage(inputValue, selectedImages)}\n\t\t\t\tonSelectImages={selectImages}\n\t\t\t\tshouldDisableImages={shouldDisableImages}\n\t\t\t\tonHeightChange={() => {\n\t\t\t\t\tif (isAtBottom) {\n\t\t\t\t\t\tscrollToBottomAuto()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tmode={mode}\n\t\t\t\tsetMode={setMode}\n\t\t\t\tmodeShortcutText={modeShortcutText}\n\t\t\t/>\n\n\t\t\t{isProfileDisabled && (\n\t\t\t\t<div className=\"px-3\">\n\t\t\t\t\t<ProfileViolationWarning />\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<div id=\"roo-portal\" />\n\t\t</div>\n\t)\n}\n\nconst ChatView = forwardRef(ChatViewComponent)\n\nexport default ChatView\n", + "import { useCallback } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n\tButton,\n} from \"@/components/ui\"\nimport { vscode } from \"@/utils/vscode\"\nimport { AlertDialogProps } from \"@radix-ui/react-alert-dialog\"\n\ninterface BatchDeleteTaskDialogProps extends AlertDialogProps {\n\ttaskIds: string[]\n}\n\nexport const BatchDeleteTaskDialog = ({ taskIds, ...props }: BatchDeleteTaskDialogProps) => {\n\tconst { t } = useAppTranslation()\n\tconst { onOpenChange } = props\n\n\tconst onDelete = useCallback(() => {\n\t\tif (taskIds.length > 0) {\n\t\t\tvscode.postMessage({ type: \"deleteMultipleTasksWithIds\", ids: taskIds })\n\t\t\tonOpenChange?.(false)\n\t\t}\n\t}, [taskIds, onOpenChange])\n\n\treturn (\n\t\t<AlertDialog {...props}>\n\t\t\t<AlertDialogContent className=\"max-w-md\">\n\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t<AlertDialogTitle>{t(\"history:deleteTasks\")}</AlertDialogTitle>\n\t\t\t\t\t<AlertDialogDescription className=\"text-vscode-foreground\">\n\t\t\t\t\t\t<div className=\"mb-2\">{t(\"history:confirmDeleteTasks\", { count: taskIds.length })}</div>\n\t\t\t\t\t\t<div className=\"text-vscode-editor-foreground bg-vscode-editor-background p-2 rounded text-sm\">\n\t\t\t\t\t\t\t{t(\"history:deleteTasksWarning\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t</AlertDialogHeader>\n\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t<AlertDialogCancel asChild>\n\t\t\t\t\t\t<Button variant=\"secondary\">{t(\"history:cancel\")}</Button>\n\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t<AlertDialogAction asChild>\n\t\t\t\t\t\t<Button variant=\"destructive\" onClick={onDelete}>\n\t\t\t\t\t\t\t<span className=\"codicon codicon-trash mr-1\"></span>\n\t\t\t\t\t\t\t{t(\"history:deleteItems\", { count: taskIds.length })}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t</AlertDialogFooter>\n\t\t\t</AlertDialogContent>\n\t\t</AlertDialog>\n\t)\n}\n", + "import React, { HTMLAttributes, useCallback, forwardRef } from \"react\"\n\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport { cn } from \"@/lib/utils\"\n\ntype TabProps = HTMLAttributes<HTMLDivElement>\n\nexport const Tab = ({ className, children, ...props }: TabProps) => (\n\t<div className={cn(\"fixed inset-0 flex flex-col\", className)} {...props}>\n\t\t{children}\n\t</div>\n)\n\nexport const TabHeader = ({ className, children, ...props }: TabProps) => (\n\t<div className={cn(\"px-5 py-2.5 border-b border-vscode-panel-border\", className)} {...props}>\n\t\t{children}\n\t</div>\n)\n\nexport const TabContent = ({ className, children, ...props }: TabProps) => {\n\tconst { renderContext } = useExtensionState()\n\n\tconst onWheel = useCallback(\n\t\t(e: React.WheelEvent<HTMLDivElement>) => {\n\t\t\tif (renderContext !== \"editor\") {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst target = e.target as HTMLElement\n\n\t\t\t// Prevent scrolling if the target is a listbox or option\n\t\t\t// (e.g. selects, dropdowns, etc).\n\t\t\tif (target.role === \"listbox\" || target.role === \"option\") {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\te.currentTarget.scrollTop += e.deltaY\n\t\t},\n\t\t[renderContext],\n\t)\n\n\treturn (\n\t\t<div className={cn(\"flex-1 overflow-auto p-5\", className)} onWheel={onWheel} {...props}>\n\t\t\t{children}\n\t\t</div>\n\t)\n}\n\nexport const TabList = forwardRef<\n\tHTMLDivElement,\n\tHTMLAttributes<HTMLDivElement> & {\n\t\tvalue: string\n\t\tonValueChange: (value: string) => void\n\t}\n>(({ children, className, value, onValueChange, ...props }, ref) => {\n\treturn (\n\t\t<div ref={ref} role=\"tablist\" className={cn(\"flex\", className)} {...props}>\n\t\t\t{React.Children.map(children, (child) => {\n\t\t\t\tif (React.isValidElement(child)) {\n\t\t\t\t\treturn React.cloneElement(child as React.ReactElement<any>, {\n\t\t\t\t\t\tisSelected: child.props.value === value,\n\t\t\t\t\t\tonSelect: () => onValueChange(child.props.value),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn child\n\t\t\t})}\n\t\t</div>\n\t)\n})\n\nexport const TabTrigger = forwardRef<\n\tHTMLButtonElement,\n\tReact.ButtonHTMLAttributes<HTMLButtonElement> & {\n\t\tvalue: string\n\t\tisSelected?: boolean\n\t\tonSelect?: () => void\n\t}\n>(({ children, className, value: _value, isSelected, onSelect, ...props }, ref) => {\n\treturn (\n\t\t<button\n\t\t\tref={ref}\n\t\t\trole=\"tab\"\n\t\t\taria-selected={isSelected}\n\t\t\ttabIndex={isSelected ? 0 : -1}\n\t\t\tclassName={cn(\"focus:outline-none focus:ring-2 focus:ring-vscode-focusBorder\", className)}\n\t\t\tonClick={onSelect}\n\t\t\t{...props}>\n\t\t\t{children}\n\t\t</button>\n\t)\n})\n", + "import React, { memo, useState } from \"react\"\nimport { DeleteTaskDialog } from \"./DeleteTaskDialog\"\nimport { BatchDeleteTaskDialog } from \"./BatchDeleteTaskDialog\"\nimport { Virtuoso } from \"react-virtuoso\"\n\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport {\n\tButton,\n\tCheckbox,\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n\tStandardTooltip,\n} from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\nimport { Tab, TabContent, TabHeader } from \"../common/Tab\"\nimport { useTaskSearch } from \"./useTaskSearch\"\nimport TaskItem from \"./TaskItem\"\n\ntype HistoryViewProps = {\n\tonDone: () => void\n}\n\ntype SortOption = \"newest\" | \"oldest\" | \"mostExpensive\" | \"mostTokens\" | \"mostRelevant\"\n\nconst HistoryView = ({ onDone }: HistoryViewProps) => {\n\tconst {\n\t\ttasks,\n\t\tsearchQuery,\n\t\tsetSearchQuery,\n\t\tsortOption,\n\t\tsetSortOption,\n\t\tsetLastNonRelevantSort,\n\t\tshowAllWorkspaces,\n\t\tsetShowAllWorkspaces,\n\t} = useTaskSearch()\n\tconst { t } = useAppTranslation()\n\n\tconst [deleteTaskId, setDeleteTaskId] = useState<string | null>(null)\n\tconst [isSelectionMode, setIsSelectionMode] = useState(false)\n\tconst [selectedTaskIds, setSelectedTaskIds] = useState<string[]>([])\n\tconst [showBatchDeleteDialog, setShowBatchDeleteDialog] = useState<boolean>(false)\n\n\t// Toggle selection mode\n\tconst toggleSelectionMode = () => {\n\t\tsetIsSelectionMode(!isSelectionMode)\n\t\tif (isSelectionMode) {\n\t\t\tsetSelectedTaskIds([])\n\t\t}\n\t}\n\n\t// Toggle selection for a single task\n\tconst toggleTaskSelection = (taskId: string, isSelected: boolean) => {\n\t\tif (isSelected) {\n\t\t\tsetSelectedTaskIds((prev) => [...prev, taskId])\n\t\t} else {\n\t\t\tsetSelectedTaskIds((prev) => prev.filter((id) => id !== taskId))\n\t\t}\n\t}\n\n\t// Toggle select all tasks\n\tconst toggleSelectAll = (selectAll: boolean) => {\n\t\tif (selectAll) {\n\t\t\tsetSelectedTaskIds(tasks.map((task) => task.id))\n\t\t} else {\n\t\t\tsetSelectedTaskIds([])\n\t\t}\n\t}\n\n\t// Handle batch delete button click\n\tconst handleBatchDelete = () => {\n\t\tif (selectedTaskIds.length > 0) {\n\t\t\tsetShowBatchDeleteDialog(true)\n\t\t}\n\t}\n\n\treturn (\n\t\t<Tab>\n\t\t\t<TabHeader className=\"flex flex-col gap-2\">\n\t\t\t\t<div className=\"flex justify-between items-center\">\n\t\t\t\t\t<h3 className=\"text-vscode-foreground m-0\">{t(\"history:history\")}</h3>\n\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\tisSelectionMode\n\t\t\t\t\t\t\t\t\t? `${t(\"history:exitSelectionMode\")}`\n\t\t\t\t\t\t\t\t\t: `${t(\"history:enterSelectionMode\")}`\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant={isSelectionMode ? \"default\" : \"secondary\"}\n\t\t\t\t\t\t\t\tonClick={toggleSelectionMode}\n\t\t\t\t\t\t\t\tdata-testid=\"toggle-selection-mode-button\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName={`codicon ${isSelectionMode ? \"codicon-check-all\" : \"codicon-checklist\"} mr-1`}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{isSelectionMode ? t(\"history:exitSelection\") : t(\"history:selectionMode\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t<Button onClick={onDone}>{t(\"history:done\")}</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\tplaceholder={t(\"history:searchPlaceholder\")}\n\t\t\t\t\t\tvalue={searchQuery}\n\t\t\t\t\t\tdata-testid=\"history-search-input\"\n\t\t\t\t\t\tonInput={(e) => {\n\t\t\t\t\t\t\tconst newValue = (e.target as HTMLInputElement)?.value\n\t\t\t\t\t\t\tsetSearchQuery(newValue)\n\t\t\t\t\t\t\tif (newValue && !searchQuery && sortOption !== \"mostRelevant\") {\n\t\t\t\t\t\t\t\tsetLastNonRelevantSort(sortOption)\n\t\t\t\t\t\t\t\tsetSortOption(\"mostRelevant\")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<div slot=\"start\" className=\"codicon codicon-search mt-0.5 opacity-80 text-sm!\" />\n\t\t\t\t\t\t{searchQuery && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"input-icon-button codicon codicon-close flex justify-center items-center h-full\"\n\t\t\t\t\t\t\t\taria-label=\"Clear search\"\n\t\t\t\t\t\t\t\tonClick={() => setSearchQuery(\"\")}\n\t\t\t\t\t\t\t\tslot=\"end\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tvalue={showAllWorkspaces ? \"all\" : \"current\"}\n\t\t\t\t\t\t\tonValueChange={(value) => setShowAllWorkspaces(value === \"all\")}>\n\t\t\t\t\t\t\t<SelectTrigger className=\"flex-1\">\n\t\t\t\t\t\t\t\t<SelectValue>\n\t\t\t\t\t\t\t\t\t{t(\"history:workspace.prefix\")}{\" \"}\n\t\t\t\t\t\t\t\t\t{t(`history:workspace.${showAllWorkspaces ? \"all\" : \"current\"}`)}\n\t\t\t\t\t\t\t\t</SelectValue>\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t<SelectItem value=\"current\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-folder\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:workspace.current\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t<SelectItem value=\"all\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-folder-opened\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:workspace.all\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t<Select value={sortOption} onValueChange={(value) => setSortOption(value as SortOption)}>\n\t\t\t\t\t\t\t<SelectTrigger className=\"flex-1\">\n\t\t\t\t\t\t\t\t<SelectValue>\n\t\t\t\t\t\t\t\t\t{t(\"history:sort.prefix\")} {t(`history:sort.${sortOption}`)}\n\t\t\t\t\t\t\t\t</SelectValue>\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t<SelectItem value=\"newest\" data-testid=\"select-newest\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-arrow-down\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:newest\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t<SelectItem value=\"oldest\" data-testid=\"select-oldest\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-arrow-up\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:oldest\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t<SelectItem value=\"mostExpensive\" data-testid=\"select-most-expensive\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-credit-card\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:mostExpensive\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t<SelectItem value=\"mostTokens\" data-testid=\"select-most-tokens\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-symbol-numeric\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:mostTokens\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t<SelectItem\n\t\t\t\t\t\t\t\t\tvalue=\"mostRelevant\"\n\t\t\t\t\t\t\t\t\tdisabled={!searchQuery}\n\t\t\t\t\t\t\t\t\tdata-testid=\"select-most-relevant\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-search\" />\n\t\t\t\t\t\t\t\t\t\t{t(\"history:mostRelevant\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Select all control in selection mode */}\n\t\t\t\t\t{isSelectionMode && tasks.length > 0 && (\n\t\t\t\t\t\t<div className=\"flex items-center py-1\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\tchecked={tasks.length > 0 && selectedTaskIds.length === tasks.length}\n\t\t\t\t\t\t\t\t\tonCheckedChange={(checked) => toggleSelectAll(checked === true)}\n\t\t\t\t\t\t\t\t\tvariant=\"description\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"text-vscode-foreground\">\n\t\t\t\t\t\t\t\t\t{selectedTaskIds.length === tasks.length\n\t\t\t\t\t\t\t\t\t\t? t(\"history:deselectAll\")\n\t\t\t\t\t\t\t\t\t\t: t(\"history:selectAll\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<span className=\"ml-auto text-vscode-descriptionForeground text-xs\">\n\t\t\t\t\t\t\t\t\t{t(\"history:selectedItems\", {\n\t\t\t\t\t\t\t\t\t\tselected: selectedTaskIds.length,\n\t\t\t\t\t\t\t\t\t\ttotal: tasks.length,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</TabHeader>\n\n\t\t\t<TabContent className=\"p-0\">\n\t\t\t\t<Virtuoso\n\t\t\t\t\tclassName=\"flex-1 overflow-y-scroll\"\n\t\t\t\t\tdata={tasks}\n\t\t\t\t\tdata-testid=\"virtuoso-container\"\n\t\t\t\t\tinitialTopMostItemIndex={0}\n\t\t\t\t\tcomponents={{\n\t\t\t\t\t\tList: React.forwardRef((props, ref) => (\n\t\t\t\t\t\t\t<div {...props} ref={ref} data-testid=\"virtuoso-item-list\" />\n\t\t\t\t\t\t)),\n\t\t\t\t\t}}\n\t\t\t\t\titemContent={(_index, item) => (\n\t\t\t\t\t\t<TaskItem\n\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\tvariant=\"full\"\n\t\t\t\t\t\t\tshowWorkspace={showAllWorkspaces}\n\t\t\t\t\t\t\tisSelectionMode={isSelectionMode}\n\t\t\t\t\t\t\tisSelected={selectedTaskIds.includes(item.id)}\n\t\t\t\t\t\t\tonToggleSelection={toggleTaskSelection}\n\t\t\t\t\t\t\tonDelete={setDeleteTaskId}\n\t\t\t\t\t\t\tclassName=\"m-2 mr-0\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t</TabContent>\n\n\t\t\t{/* Fixed action bar at bottom - only shown in selection mode with selected items */}\n\t\t\t{isSelectionMode && selectedTaskIds.length > 0 && (\n\t\t\t\t<div className=\"fixed bottom-0 left-0 right-0 bg-vscode-editor-background border-t border-vscode-panel-border p-2 flex justify-between items-center\">\n\t\t\t\t\t<div className=\"text-vscode-foreground\">\n\t\t\t\t\t\t{t(\"history:selectedItems\", { selected: selectedTaskIds.length, total: tasks.length })}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setSelectedTaskIds([])}>\n\t\t\t\t\t\t\t{t(\"history:clearSelection\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button variant=\"default\" onClick={handleBatchDelete}>\n\t\t\t\t\t\t\t{t(\"history:deleteSelected\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Delete dialog */}\n\t\t\t{deleteTaskId && (\n\t\t\t\t<DeleteTaskDialog taskId={deleteTaskId} onOpenChange={(open) => !open && setDeleteTaskId(null)} open />\n\t\t\t)}\n\n\t\t\t{/* Batch delete dialog */}\n\t\t\t{showBatchDeleteDialog && (\n\t\t\t\t<BatchDeleteTaskDialog\n\t\t\t\t\ttaskIds={selectedTaskIds}\n\t\t\t\t\topen={showBatchDeleteDialog}\n\t\t\t\t\tonOpenChange={(open) => {\n\t\t\t\t\t\tif (!open) {\n\t\t\t\t\t\t\tsetShowBatchDeleteDialog(false)\n\t\t\t\t\t\t\tsetSelectedTaskIds([])\n\t\t\t\t\t\t\tsetIsSelectionMode(false)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</Tab>\n\t)\n}\n\nexport default memo(HistoryView)\n", + "import { HTMLAttributes } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype SectionHeaderProps = HTMLAttributes<HTMLDivElement> & {\n\tchildren: React.ReactNode\n\tdescription?: string\n}\n\nexport const SectionHeader = ({ description, children, className, ...props }: SectionHeaderProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"sticky top-0 z-10 text-vscode-sideBar-foreground bg-vscode-sideBar-background brightness-90 px-5 py-4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}>\n\t\t\t<h4 className=\"m-0\">{children}</h4>\n\t\t\t{description && <p className=\"text-vscode-descriptionForeground text-sm mt-2 mb-0\">{description}</p>}\n\t\t</div>\n\t)\n}\n", + "import { memo, useEffect, useRef, useState } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\nimport { AlertTriangle } from \"lucide-react\"\n\nimport type { ProviderSettingsEntry, OrganizationAllowList } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { Button, Input, Dialog, DialogContent, DialogTitle, StandardTooltip, SearchableSelect } from \"@/components/ui\"\nimport type { SearchableSelectOption } from \"@/components/ui\"\n\ninterface ApiConfigManagerProps {\n\tcurrentApiConfigName?: string\n\tlistApiConfigMeta?: ProviderSettingsEntry[]\n\torganizationAllowList?: OrganizationAllowList\n\tonSelectConfig: (configName: string) => void\n\tonDeleteConfig: (configName: string) => void\n\tonRenameConfig: (oldName: string, newName: string) => void\n\tonUpsertConfig: (configName: string) => void\n}\n\nconst ApiConfigManager = ({\n\tcurrentApiConfigName = \"\",\n\tlistApiConfigMeta = [],\n\torganizationAllowList,\n\tonSelectConfig,\n\tonDeleteConfig,\n\tonRenameConfig,\n\tonUpsertConfig,\n}: ApiConfigManagerProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [isRenaming, setIsRenaming] = useState(false)\n\tconst [isCreating, setIsCreating] = useState(false)\n\tconst [inputValue, setInputValue] = useState(\"\")\n\tconst [newProfileName, setNewProfileName] = useState(\"\")\n\tconst [error, setError] = useState<string | null>(null)\n\tconst inputRef = useRef<any>(null)\n\tconst newProfileInputRef = useRef<any>(null)\n\n\t// Check if a profile is valid based on the organization allow list\n\tconst isProfileValid = (profile: ProviderSettingsEntry): boolean => {\n\t\t// If no organization allow list or allowAll is true, all profiles are valid\n\t\tif (!organizationAllowList || organizationAllowList.allowAll) {\n\t\t\treturn true\n\t\t}\n\n\t\t// Check if the provider is allowed\n\t\tconst provider = profile.apiProvider\n\t\tif (!provider) return true\n\n\t\tconst providerConfig = organizationAllowList.providers[provider]\n\t\tif (!providerConfig) {\n\t\t\treturn false\n\t\t}\n\n\t\t// If provider allows all models, profile is valid\n\t\treturn !!providerConfig.allowAll || !!(providerConfig.models && providerConfig.models.length > 0)\n\t}\n\n\tconst validateName = (name: string, isNewProfile: boolean): string | null => {\n\t\tconst trimmed = name.trim()\n\t\tif (!trimmed) return t(\"settings:providers.nameEmpty\")\n\n\t\tconst nameExists = listApiConfigMeta?.some((config) => config.name.toLowerCase() === trimmed.toLowerCase())\n\n\t\t// For new profiles, any existing name is invalid.\n\t\tif (isNewProfile && nameExists) {\n\t\t\treturn t(\"settings:providers.nameExists\")\n\t\t}\n\n\t\t// For rename, only block if trying to rename to a different existing profile.\n\t\tif (!isNewProfile && nameExists && trimmed.toLowerCase() !== currentApiConfigName?.toLowerCase()) {\n\t\t\treturn t(\"settings:providers.nameExists\")\n\t\t}\n\n\t\treturn null\n\t}\n\n\tconst resetCreateState = () => {\n\t\tsetIsCreating(false)\n\t\tsetNewProfileName(\"\")\n\t\tsetError(null)\n\t}\n\n\tconst resetRenameState = () => {\n\t\tsetIsRenaming(false)\n\t\tsetInputValue(\"\")\n\t\tsetError(null)\n\t}\n\n\t// Focus input when entering rename mode.\n\tuseEffect(() => {\n\t\tif (isRenaming) {\n\t\t\tconst timeoutId = setTimeout(() => inputRef.current?.focus(), 0)\n\t\t\treturn () => clearTimeout(timeoutId)\n\t\t}\n\t}, [isRenaming])\n\n\t// Focus input when opening new dialog.\n\tuseEffect(() => {\n\t\tif (isCreating) {\n\t\t\tconst timeoutId = setTimeout(() => newProfileInputRef.current?.focus(), 0)\n\t\t\treturn () => clearTimeout(timeoutId)\n\t\t}\n\t}, [isCreating])\n\n\t// Reset state when current profile changes.\n\tuseEffect(() => {\n\t\tresetCreateState()\n\t\tresetRenameState()\n\t}, [currentApiConfigName])\n\n\tconst handleSelectConfig = (configName: string) => {\n\t\tif (!configName) return\n\t\tonSelectConfig(configName)\n\t}\n\n\tconst handleAdd = () => {\n\t\tresetCreateState()\n\t\tsetIsCreating(true)\n\t}\n\n\tconst handleStartRename = () => {\n\t\tsetIsRenaming(true)\n\t\tsetInputValue(currentApiConfigName || \"\")\n\t\tsetError(null)\n\t}\n\n\tconst handleCancel = () => {\n\t\tresetRenameState()\n\t}\n\n\tconst handleSave = () => {\n\t\tconst trimmedValue = inputValue.trim()\n\t\tconst error = validateName(trimmedValue, false)\n\n\t\tif (error) {\n\t\t\tsetError(error)\n\t\t\treturn\n\t\t}\n\n\t\tif (isRenaming && currentApiConfigName) {\n\t\t\tif (currentApiConfigName === trimmedValue) {\n\t\t\t\tresetRenameState()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tonRenameConfig(currentApiConfigName, trimmedValue)\n\t\t}\n\n\t\tresetRenameState()\n\t}\n\n\tconst handleNewProfileSave = () => {\n\t\tconst trimmedValue = newProfileName.trim()\n\t\tconst error = validateName(trimmedValue, true)\n\n\t\tif (error) {\n\t\t\tsetError(error)\n\t\t\treturn\n\t\t}\n\n\t\tonUpsertConfig(trimmedValue)\n\t\tresetCreateState()\n\t}\n\n\tconst handleDelete = () => {\n\t\tif (!currentApiConfigName || !listApiConfigMeta || listApiConfigMeta.length <= 1) return\n\n\t\t// Let the extension handle both deletion and selection.\n\t\tonDeleteConfig(currentApiConfigName)\n\t}\n\n\tconst isOnlyProfile = listApiConfigMeta?.length === 1\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.configProfile\")}</label>\n\n\t\t\t{isRenaming ? (\n\t\t\t\t<div data-testid=\"rename-form\">\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tonInput={(e: unknown) => {\n\t\t\t\t\t\t\t\tconst target = e as { target: { value: string } }\n\t\t\t\t\t\t\t\tsetInputValue(target.target.value)\n\t\t\t\t\t\t\t\tsetError(null)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={t(\"settings:providers.enterNewName\")}\n\t\t\t\t\t\t\tonKeyDown={({ key }) => {\n\t\t\t\t\t\t\t\tif (key === \"Enter\" && inputValue.trim()) {\n\t\t\t\t\t\t\t\t\thandleSave()\n\t\t\t\t\t\t\t\t} else if (key === \"Escape\") {\n\t\t\t\t\t\t\t\t\thandleCancel()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"grow\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<StandardTooltip content={t(\"settings:common.save\")}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\tdisabled={!inputValue.trim()}\n\t\t\t\t\t\t\t\tonClick={handleSave}\n\t\t\t\t\t\t\t\tdata-testid=\"save-rename-button\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-check\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t<StandardTooltip content={t(\"settings:common.cancel\")}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\tonClick={handleCancel}\n\t\t\t\t\t\t\t\tdata-testid=\"cancel-rename-button\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-close\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\" data-testid=\"error-message\">\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t<SearchableSelect\n\t\t\t\t\t\t\tvalue={currentApiConfigName}\n\t\t\t\t\t\t\tonValueChange={handleSelectConfig}\n\t\t\t\t\t\t\toptions={listApiConfigMeta.map((config) => {\n\t\t\t\t\t\t\t\tconst valid = isProfileValid(config)\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: config.name,\n\t\t\t\t\t\t\t\t\tlabel: config.name,\n\t\t\t\t\t\t\t\t\tdisabled: !valid,\n\t\t\t\t\t\t\t\t\ticon: !valid ? (\n\t\t\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:validation.profileInvalid\")}>\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t\t<AlertTriangle size={16} className=\"mr-2 text-vscode-errorForeground\" />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t\t) : undefined,\n\t\t\t\t\t\t\t\t} as SearchableSelectOption\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tplaceholder={t(\"settings:common.select\")}\n\t\t\t\t\t\t\tsearchPlaceholder={t(\"settings:providers.searchPlaceholder\")}\n\t\t\t\t\t\t\temptyMessage={t(\"settings:providers.noMatchFound\")}\n\t\t\t\t\t\t\tclassName=\"grow\"\n\t\t\t\t\t\t\tdata-testid=\"select-component\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.addProfile\")}>\n\t\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={handleAdd} data-testid=\"add-profile-button\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-add\" />\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t{currentApiConfigName && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.renameProfile\")}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleStartRename}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"rename-profile-button\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-edit\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\tisOnlyProfile\n\t\t\t\t\t\t\t\t\t\t\t? t(\"settings:providers.cannotDeleteOnlyProfile\")\n\t\t\t\t\t\t\t\t\t\t\t: t(\"settings:providers.deleteProfile\")\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleDelete}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"delete-profile-button\"\n\t\t\t\t\t\t\t\t\t\tdisabled={isOnlyProfile}>\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-trash\" />\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:providers.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<Dialog\n\t\t\t\topen={isCreating}\n\t\t\t\tonOpenChange={(open: boolean) => {\n\t\t\t\t\tif (open) {\n\t\t\t\t\t\tsetIsCreating(true)\n\t\t\t\t\t\tsetNewProfileName(\"\")\n\t\t\t\t\t\tsetError(null)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresetCreateState()\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\taria-labelledby=\"new-profile-title\">\n\t\t\t\t<DialogContent className=\"p-4 max-w-sm bg-card\">\n\t\t\t\t\t<DialogTitle>{t(\"settings:providers.newProfile\")}</DialogTitle>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tref={newProfileInputRef}\n\t\t\t\t\t\tvalue={newProfileName}\n\t\t\t\t\t\tonInput={(e: unknown) => {\n\t\t\t\t\t\t\tconst target = e as { target: { value: string } }\n\t\t\t\t\t\t\tsetNewProfileName(target.target.value)\n\t\t\t\t\t\t\tsetError(null)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tplaceholder={t(\"settings:providers.enterProfileName\")}\n\t\t\t\t\t\tdata-testid=\"new-profile-input\"\n\t\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\t\tonKeyDown={(e: unknown) => {\n\t\t\t\t\t\t\tconst event = e as { key: string }\n\t\t\t\t\t\t\tif (event.key === \"Enter\" && newProfileName.trim()) {\n\t\t\t\t\t\t\t\thandleNewProfileSave()\n\t\t\t\t\t\t\t} else if (event.key === \"Escape\") {\n\t\t\t\t\t\t\t\tresetCreateState()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{error && (\n\t\t\t\t\t\t<p className=\"text-vscode-errorForeground text-sm mt-2\" data-testid=\"error-message\">\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"flex justify-end gap-2 mt-4\">\n\t\t\t\t\t\t<Button variant=\"secondary\" onClick={resetCreateState} data-testid=\"cancel-new-profile-button\">\n\t\t\t\t\t\t\t{t(\"settings:common.cancel\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\tdisabled={!newProfileName.trim()}\n\t\t\t\t\t\t\tonClick={handleNewProfileSave}\n\t\t\t\t\t\t\tdata-testid=\"create-profile-button\">\n\t\t\t\t\t\t\t{t(\"settings:providers.createProfile\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</DialogContent>\n\t\t\t</Dialog>\n\t\t</div>\n\t)\n}\n\nexport default memo(ApiConfigManager)\n", + "/**\n * Converts an array of header key-value pairs to a Record object.\n *\n * @param headers Array of [key, value] tuples representing HTTP headers\n * @returns Record with trimmed keys and values\n */\nexport const convertHeadersToObject = (headers: [string, string][]): Record<string, string> => {\n\tconst result: Record<string, string> = {}\n\n\t// Process each header tuple.\n\tfor (const [key, value] of headers) {\n\t\tconst trimmedKey = key.trim()\n\n\t\t// Skip empty keys.\n\t\tif (!trimmedKey) {\n\t\t\tcontinue\n\t\t}\n\n\t\t// For duplicates, the last one in the array wins.\n\t\t// This matches how HTTP headers work in general.\n\t\tresult[trimmedKey] = value.trim()\n\t}\n\n\treturn result\n}\n", + "import i18next from \"i18next\"\n\nimport type { ProviderSettings, OrganizationAllowList } from \"@roo-code/types\"\n\nimport { isRouterName, RouterModels } from \"@roo/api\"\n\nexport function validateApiConfiguration(\n\tapiConfiguration: ProviderSettings,\n\trouterModels?: RouterModels,\n\torganizationAllowList?: OrganizationAllowList,\n): string | undefined {\n\tconst keysAndIdsPresentErrorMessage = validateModelsAndKeysProvided(apiConfiguration)\n\tif (keysAndIdsPresentErrorMessage) {\n\t\treturn keysAndIdsPresentErrorMessage\n\t}\n\n\tconst organizationAllowListError = validateProviderAgainstOrganizationSettings(\n\t\tapiConfiguration,\n\t\torganizationAllowList,\n\t)\n\tif (organizationAllowListError) {\n\t\treturn organizationAllowListError.message\n\t}\n\n\treturn validateModelId(apiConfiguration, routerModels)\n}\n\nfunction validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): string | undefined {\n\tswitch (apiConfiguration.apiProvider) {\n\t\tcase \"openrouter\":\n\t\t\tif (!apiConfiguration.openRouterApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"glama\":\n\t\t\tif (!apiConfiguration.glamaApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"unbound\":\n\t\t\tif (!apiConfiguration.unboundApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"requesty\":\n\t\t\tif (!apiConfiguration.requestyApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"litellm\":\n\t\t\tif (!apiConfiguration.litellmApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"anthropic\":\n\t\t\tif (!apiConfiguration.apiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"bedrock\":\n\t\t\tif (!apiConfiguration.awsRegion) {\n\t\t\t\treturn i18next.t(\"settings:validation.awsRegion\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"vertex\":\n\t\t\tif (!apiConfiguration.vertexProjectId || !apiConfiguration.vertexRegion) {\n\t\t\t\treturn i18next.t(\"settings:validation.googleCloud\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"gemini\":\n\t\t\tif (!apiConfiguration.geminiApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"openai-native\":\n\t\t\tif (!apiConfiguration.openAiNativeApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"mistral\":\n\t\t\tif (!apiConfiguration.mistralApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"openai\":\n\t\t\tif (!apiConfiguration.openAiBaseUrl || !apiConfiguration.openAiApiKey || !apiConfiguration.openAiModelId) {\n\t\t\t\treturn i18next.t(\"settings:validation.openAi\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"ollama\":\n\t\t\tif (!apiConfiguration.ollamaModelId) {\n\t\t\t\treturn i18next.t(\"settings:validation.modelId\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"lmstudio\":\n\t\t\tif (!apiConfiguration.lmStudioModelId) {\n\t\t\t\treturn i18next.t(\"settings:validation.modelId\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"vscode-lm\":\n\t\t\tif (!apiConfiguration.vsCodeLmModelSelector) {\n\t\t\t\treturn i18next.t(\"settings:validation.modelSelector\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"huggingface\":\n\t\t\tif (!apiConfiguration.huggingFaceApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tif (!apiConfiguration.huggingFaceModelId) {\n\t\t\t\treturn i18next.t(\"settings:validation.modelId\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"cerebras\":\n\t\t\tif (!apiConfiguration.cerebrasApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t\tcase \"fireworks\":\n\t\t\tif (!apiConfiguration.fireworksApiKey) {\n\t\t\t\treturn i18next.t(\"settings:validation.apiKey\")\n\t\t\t}\n\t\t\tbreak\n\t}\n\n\treturn undefined\n}\n\ntype ValidationError = {\n\tmessage: string\n\tcode: \"PROVIDER_NOT_ALLOWED\" | \"MODEL_NOT_ALLOWED\"\n}\n\nfunction validateProviderAgainstOrganizationSettings(\n\tapiConfiguration: ProviderSettings,\n\torganizationAllowList?: OrganizationAllowList,\n): ValidationError | undefined {\n\tif (organizationAllowList && !organizationAllowList.allowAll) {\n\t\tconst provider = apiConfiguration.apiProvider\n\t\tif (!provider) return undefined\n\n\t\tconst providerConfig = organizationAllowList.providers[provider]\n\t\tif (!providerConfig) {\n\t\t\treturn {\n\t\t\t\tmessage: i18next.t(\"settings:validation.providerNotAllowed\", { provider }),\n\t\t\t\tcode: \"PROVIDER_NOT_ALLOWED\",\n\t\t\t}\n\t\t}\n\n\t\tif (!providerConfig.allowAll) {\n\t\t\tconst modelId = getModelIdForProvider(apiConfiguration, provider)\n\t\t\tconst allowedModels = providerConfig.models || []\n\n\t\t\tif (modelId && !allowedModels.includes(modelId)) {\n\t\t\t\treturn {\n\t\t\t\t\tmessage: i18next.t(\"settings:validation.modelNotAllowed\", {\n\t\t\t\t\t\tmodel: modelId,\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t}),\n\t\t\t\t\tcode: \"MODEL_NOT_ALLOWED\",\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction getModelIdForProvider(apiConfiguration: ProviderSettings, provider: string): string | undefined {\n\tswitch (provider) {\n\t\tcase \"openrouter\":\n\t\t\treturn apiConfiguration.openRouterModelId\n\t\tcase \"glama\":\n\t\t\treturn apiConfiguration.glamaModelId\n\t\tcase \"unbound\":\n\t\t\treturn apiConfiguration.unboundModelId\n\t\tcase \"requesty\":\n\t\t\treturn apiConfiguration.requestyModelId\n\t\tcase \"litellm\":\n\t\t\treturn apiConfiguration.litellmModelId\n\t\tcase \"openai\":\n\t\t\treturn apiConfiguration.openAiModelId\n\t\tcase \"ollama\":\n\t\t\treturn apiConfiguration.ollamaModelId\n\t\tcase \"lmstudio\":\n\t\t\treturn apiConfiguration.lmStudioModelId\n\t\tcase \"vscode-lm\":\n\t\t\t// vsCodeLmModelSelector is an object, not a string\n\t\t\treturn apiConfiguration.vsCodeLmModelSelector?.id\n\t\tcase \"huggingface\":\n\t\t\treturn apiConfiguration.huggingFaceModelId\n\t\tdefault:\n\t\t\treturn apiConfiguration.apiModelId\n\t}\n}\n/**\n * Validates an Amazon Bedrock ARN format and optionally checks if the region in the ARN matches the provided region\n * @param arn The ARN string to validate\n * @param region Optional region to check against the ARN's region\n * @returns An object with validation results: { isValid, arnRegion, errorMessage }\n */\nexport function validateBedrockArn(arn: string, region?: string) {\n\t// Validate ARN format\n\tconst arnRegex = /^arn:aws:(?:bedrock|sagemaker):([^:]+):([^:]*):(?:([^/]+)\\/([\\w.\\-:]+)|([^/]+))$/\n\tconst match = arn.match(arnRegex)\n\n\tif (!match) {\n\t\treturn {\n\t\t\tisValid: false,\n\t\t\tarnRegion: undefined,\n\t\t\terrorMessage: i18next.t(\"settings:validation.arn.invalidFormat\"),\n\t\t}\n\t}\n\n\t// Extract region from ARN\n\tconst arnRegion = match[1]\n\n\t// Check if region in ARN matches provided region (if specified)\n\tif (region && arnRegion !== region) {\n\t\treturn {\n\t\t\tisValid: true,\n\t\t\tarnRegion,\n\t\t\terrorMessage: i18next.t(\"settings:validation.arn.regionMismatch\", { arnRegion, region }),\n\t\t}\n\t}\n\n\t// ARN is valid and region matches (or no region was provided to check against)\n\treturn { isValid: true, arnRegion, errorMessage: undefined }\n}\n\nexport function validateModelId(apiConfiguration: ProviderSettings, routerModels?: RouterModels): string | undefined {\n\tconst provider = apiConfiguration.apiProvider ?? \"\"\n\n\tif (!isRouterName(provider)) {\n\t\treturn undefined\n\t}\n\n\tlet modelId: string | undefined\n\n\tswitch (provider) {\n\t\tcase \"openrouter\":\n\t\t\tmodelId = apiConfiguration.openRouterModelId\n\t\t\tbreak\n\t\tcase \"glama\":\n\t\t\tmodelId = apiConfiguration.glamaModelId\n\t\t\tbreak\n\t\tcase \"unbound\":\n\t\t\tmodelId = apiConfiguration.unboundModelId\n\t\t\tbreak\n\t\tcase \"requesty\":\n\t\t\tmodelId = apiConfiguration.requestyModelId\n\t\t\tbreak\n\t\tcase \"ollama\":\n\t\t\tmodelId = apiConfiguration.ollamaModelId\n\t\t\tbreak\n\t\tcase \"lmstudio\":\n\t\t\tmodelId = apiConfiguration.lmStudioModelId\n\t\t\tbreak\n\t\tcase \"litellm\":\n\t\t\tmodelId = apiConfiguration.litellmModelId\n\t\t\tbreak\n\t}\n\n\tif (!modelId) {\n\t\treturn i18next.t(\"settings:validation.modelId\")\n\t}\n\n\tconst models = routerModels?.[provider]\n\n\tif (models && Object.keys(models).length > 1 && !Object.keys(models).includes(modelId)) {\n\t\treturn i18next.t(\"settings:validation.modelAvailability\", { modelId })\n\t}\n\n\treturn undefined\n}\n\n/**\n * Extracts model-specific validation errors from the API configuration\n * This is used to show model errors specifically in the model selector components\n */\nexport function getModelValidationError(\n\tapiConfiguration: ProviderSettings,\n\trouterModels?: RouterModels,\n\torganizationAllowList?: OrganizationAllowList,\n): string | undefined {\n\tconst modelId = getModelIdForProvider(apiConfiguration, apiConfiguration.apiProvider || \"\")\n\tconst configWithModelId = {\n\t\t...apiConfiguration,\n\t\tapiModelId: modelId || \"\",\n\t}\n\n\tconst orgError = validateProviderAgainstOrganizationSettings(configWithModelId, organizationAllowList)\n\tif (orgError && orgError.code === \"MODEL_NOT_ALLOWED\") {\n\t\treturn orgError.message\n\t}\n\n\treturn validateModelId(configWithModelId, routerModels)\n}\n\n/**\n * Validates API configuration but excludes model-specific errors\n * This is used for the general API error display to prevent duplication\n * when model errors are shown in the model selector\n */\nexport function validateApiConfigurationExcludingModelErrors(\n\tapiConfiguration: ProviderSettings,\n\t_routerModels?: RouterModels, // keeping this for compatibility with the old function\n\torganizationAllowList?: OrganizationAllowList,\n): string | undefined {\n\tconst keysAndIdsPresentErrorMessage = validateModelsAndKeysProvided(apiConfiguration)\n\tif (keysAndIdsPresentErrorMessage) {\n\t\treturn keysAndIdsPresentErrorMessage\n\t}\n\n\tconst organizationAllowListError = validateProviderAgainstOrganizationSettings(\n\t\tapiConfiguration,\n\t\torganizationAllowList,\n\t)\n\n\t// only return organization errors if they're not model-specific\n\tif (organizationAllowListError && organizationAllowListError.code === \"PROVIDER_NOT_ALLOWED\") {\n\t\treturn organizationAllowListError.message\n\t}\n\n\t// skip model validation errors as they'll be shown in the model selector\n\treturn undefined\n}\n", + "import type { ProviderName, ModelInfo, OrganizationAllowList } from \"@roo-code/types\"\n\nexport const filterProviders = (\n\tproviders: Array<{ value: string; label: string }>,\n\torganizationAllowList?: OrganizationAllowList,\n): Array<{ value: string; label: string }> => {\n\tif (!organizationAllowList || organizationAllowList.allowAll) {\n\t\treturn providers\n\t}\n\n\treturn providers.filter((provider) => {\n\t\tconst providerConfig = organizationAllowList.providers[provider.value]\n\t\tif (!providerConfig) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn providerConfig.allowAll || (providerConfig.models && providerConfig.models.length > 0)\n\t})\n}\n\nexport const filterModels = (\n\tmodels: Record<string, ModelInfo> | null,\n\tproviderId?: ProviderName,\n\torganizationAllowList?: OrganizationAllowList,\n): Record<string, ModelInfo> | null => {\n\tif (!models || !organizationAllowList || organizationAllowList.allowAll) {\n\t\treturn models\n\t}\n\n\tif (!providerId) {\n\t\treturn {}\n\t}\n\n\tconst providerConfig = organizationAllowList.providers[providerId]\n\tif (!providerConfig) {\n\t\treturn {}\n\t}\n\n\tif (providerConfig.allowAll) {\n\t\treturn models\n\t}\n\n\tconst allowedModels = providerConfig.models || []\n\tconst filteredModels: Record<string, ModelInfo> = {}\n\n\tfor (const modelId of allowedModels) {\n\t\tif (models[modelId]) {\n\t\t\tfilteredModels[modelId] = models[modelId]\n\t\t}\n\t}\n\n\treturn filteredModels\n}\n", + "import he, { useRef as cn, useDebugValue as Gt, createElement as un, useContext as ln } from \"react\";\nvar bt = { exports: {} }, De = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar Ht;\nfunction fn() {\n if (Ht) return De;\n Ht = 1;\n var e = he, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.fragment\"), o = Object.prototype.hasOwnProperty, a = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, s = { key: !0, ref: !0, __self: !0, __source: !0 };\n function c(f, l, w) {\n var d, h = {}, v = null, S = null;\n w !== void 0 && (v = \"\" + w), l.key !== void 0 && (v = \"\" + l.key), l.ref !== void 0 && (S = l.ref);\n for (d in l) o.call(l, d) && !s.hasOwnProperty(d) && (h[d] = l[d]);\n if (f && f.defaultProps) for (d in l = f.defaultProps, l) h[d] === void 0 && (h[d] = l[d]);\n return { $$typeof: t, type: f, key: v, ref: S, props: h, _owner: a.current };\n }\n return De.Fragment = r, De.jsx = c, De.jsxs = c, De;\n}\nvar $e = {};\n/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar qt;\nfunction pn() {\n return qt || (qt = 1, process.env.NODE_ENV !== \"production\" && function() {\n var e = he, t = Symbol.for(\"react.element\"), r = Symbol.for(\"react.portal\"), o = Symbol.for(\"react.fragment\"), a = Symbol.for(\"react.strict_mode\"), s = Symbol.for(\"react.profiler\"), c = Symbol.for(\"react.provider\"), f = Symbol.for(\"react.context\"), l = Symbol.for(\"react.forward_ref\"), w = Symbol.for(\"react.suspense\"), d = Symbol.for(\"react.suspense_list\"), h = Symbol.for(\"react.memo\"), v = Symbol.for(\"react.lazy\"), S = Symbol.for(\"react.offscreen\"), O = Symbol.iterator, N = \"@@iterator\";\n function M(n) {\n if (n === null || typeof n != \"object\")\n return null;\n var i = O && n[O] || n[N];\n return typeof i == \"function\" ? i : null;\n }\n var C = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function y(n) {\n {\n for (var i = arguments.length, u = new Array(i > 1 ? i - 1 : 0), p = 1; p < i; p++)\n u[p - 1] = arguments[p];\n x(\"error\", n, u);\n }\n }\n function x(n, i, u) {\n {\n var p = C.ReactDebugCurrentFrame, _ = p.getStackAddendum();\n _ !== \"\" && (i += \"%s\", u = u.concat([_]));\n var P = u.map(function(R) {\n return String(R);\n });\n P.unshift(\"Warning: \" + i), Function.prototype.apply.call(console[n], console, P);\n }\n }\n var T = !1, I = !1, E = !1, m = !1, Z = !1, Q;\n Q = Symbol.for(\"react.module.reference\");\n function st(n) {\n return !!(typeof n == \"string\" || typeof n == \"function\" || n === o || n === s || Z || n === a || n === w || n === d || m || n === S || T || I || E || typeof n == \"object\" && n !== null && (n.$$typeof === v || n.$$typeof === h || n.$$typeof === c || n.$$typeof === f || n.$$typeof === l || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n n.$$typeof === Q || n.getModuleId !== void 0));\n }\n function ct(n, i, u) {\n var p = n.displayName;\n if (p)\n return p;\n var _ = i.displayName || i.name || \"\";\n return _ !== \"\" ? u + \"(\" + _ + \")\" : u;\n }\n function Le(n) {\n return n.displayName || \"Context\";\n }\n function Y(n) {\n if (n == null)\n return null;\n if (typeof n.tag == \"number\" && y(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), typeof n == \"function\")\n return n.displayName || n.name || null;\n if (typeof n == \"string\")\n return n;\n switch (n) {\n case o:\n return \"Fragment\";\n case r:\n return \"Portal\";\n case s:\n return \"Profiler\";\n case a:\n return \"StrictMode\";\n case w:\n return \"Suspense\";\n case d:\n return \"SuspenseList\";\n }\n if (typeof n == \"object\")\n switch (n.$$typeof) {\n case f:\n var i = n;\n return Le(i) + \".Consumer\";\n case c:\n var u = n;\n return Le(u._context) + \".Provider\";\n case l:\n return ct(n, n.render, \"ForwardRef\");\n case h:\n var p = n.displayName || null;\n return p !== null ? p : Y(n.type) || \"Memo\";\n case v: {\n var _ = n, P = _._payload, R = _._init;\n try {\n return Y(R(P));\n } catch {\n return null;\n }\n }\n }\n return null;\n }\n var ee = Object.assign, ce = 0, ze, ge, Ae, B, ne, oe, L;\n function ye() {\n }\n ye.__reactDisabledLog = !0;\n function Ie() {\n {\n if (ce === 0) {\n ze = console.log, ge = console.info, Ae = console.warn, B = console.error, ne = console.group, oe = console.groupCollapsed, L = console.groupEnd;\n var n = {\n configurable: !0,\n enumerable: !0,\n value: ye,\n writable: !0\n };\n Object.defineProperties(console, {\n info: n,\n log: n,\n warn: n,\n error: n,\n group: n,\n groupCollapsed: n,\n groupEnd: n\n });\n }\n ce++;\n }\n }\n function ve() {\n {\n if (ce--, ce === 0) {\n var n = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: ee({}, n, {\n value: ze\n }),\n info: ee({}, n, {\n value: ge\n }),\n warn: ee({}, n, {\n value: Ae\n }),\n error: ee({}, n, {\n value: B\n }),\n group: ee({}, n, {\n value: ne\n }),\n groupCollapsed: ee({}, n, {\n value: oe\n }),\n groupEnd: ee({}, n, {\n value: L\n })\n });\n }\n ce < 0 && y(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n }\n var te = C.ReactCurrentDispatcher, ae;\n function H(n, i, u) {\n {\n if (ae === void 0)\n try {\n throw Error();\n } catch (_) {\n var p = _.stack.trim().match(/\\n( *(at )?)/);\n ae = p && p[1] || \"\";\n }\n return `\n` + ae + n;\n }\n }\n var q = !1, ie;\n {\n var be = typeof WeakMap == \"function\" ? WeakMap : Map;\n ie = new be();\n }\n function K(n, i) {\n if (!n || q)\n return \"\";\n {\n var u = ie.get(n);\n if (u !== void 0)\n return u;\n }\n var p;\n q = !0;\n var _ = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var P;\n P = te.current, te.current = null, Ie();\n try {\n if (i) {\n var R = function() {\n throw Error();\n };\n if (Object.defineProperty(R.prototype, \"props\", {\n set: function() {\n throw Error();\n }\n }), typeof Reflect == \"object\" && Reflect.construct) {\n try {\n Reflect.construct(R, []);\n } catch (V) {\n p = V;\n }\n Reflect.construct(n, [], R);\n } else {\n try {\n R.call();\n } catch (V) {\n p = V;\n }\n n.call(R.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (V) {\n p = V;\n }\n n();\n }\n } catch (V) {\n if (V && p && typeof V.stack == \"string\") {\n for (var b = V.stack.split(`\n`), z = p.stack.split(`\n`), j = b.length - 1, D = z.length - 1; j >= 1 && D >= 0 && b[j] !== z[D]; )\n D--;\n for (; j >= 1 && D >= 0; j--, D--)\n if (b[j] !== z[D]) {\n if (j !== 1 || D !== 1)\n do\n if (j--, D--, D < 0 || b[j] !== z[D]) {\n var U = `\n` + b[j].replace(\" at new \", \" at \");\n return n.displayName && U.includes(\"<anonymous>\") && (U = U.replace(\"<anonymous>\", n.displayName)), typeof n == \"function\" && ie.set(n, U), U;\n }\n while (j >= 1 && D >= 0);\n break;\n }\n }\n } finally {\n q = !1, te.current = P, ve(), Error.prepareStackTrace = _;\n }\n var Se = n ? n.displayName || n.name : \"\", ue = Se ? H(Se) : \"\";\n return typeof n == \"function\" && ie.set(n, ue), ue;\n }\n function Fr(n, i, u) {\n return K(n, !1);\n }\n function Mr(n) {\n var i = n.prototype;\n return !!(i && i.isReactComponent);\n }\n function Ve(n, i, u) {\n if (n == null)\n return \"\";\n if (typeof n == \"function\")\n return K(n, Mr(n));\n if (typeof n == \"string\")\n return H(n);\n switch (n) {\n case w:\n return H(\"Suspense\");\n case d:\n return H(\"SuspenseList\");\n }\n if (typeof n == \"object\")\n switch (n.$$typeof) {\n case l:\n return Fr(n.render);\n case h:\n return Ve(n.type, i, u);\n case v: {\n var p = n, _ = p._payload, P = p._init;\n try {\n return Ve(P(_), i, u);\n } catch {\n }\n }\n }\n return \"\";\n }\n var Ne = Object.prototype.hasOwnProperty, Nt = {}, jt = C.ReactDebugCurrentFrame;\n function We(n) {\n if (n) {\n var i = n._owner, u = Ve(n.type, n._source, i ? i.type : null);\n jt.setExtraStackFrame(u);\n } else\n jt.setExtraStackFrame(null);\n }\n function Lr(n, i, u, p, _) {\n {\n var P = Function.call.bind(Ne);\n for (var R in n)\n if (P(n, R)) {\n var b = void 0;\n try {\n if (typeof n[R] != \"function\") {\n var z = Error((p || \"React class\") + \": \" + u + \" type `\" + R + \"` is invalid; it must be a function, usually from the `prop-types` package, but received `\" + typeof n[R] + \"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");\n throw z.name = \"Invariant Violation\", z;\n }\n b = n[R](i, R, p, u, null, \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\");\n } catch (j) {\n b = j;\n }\n b && !(b instanceof Error) && (We(_), y(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\", p || \"React class\", u, R, typeof b), We(null)), b instanceof Error && !(b.message in Nt) && (Nt[b.message] = !0, We(_), y(\"Failed %s type: %s\", u, b.message), We(null));\n }\n }\n }\n var zr = Array.isArray;\n function ut(n) {\n return zr(n);\n }\n function Vr(n) {\n {\n var i = typeof Symbol == \"function\" && Symbol.toStringTag, u = i && n[Symbol.toStringTag] || n.constructor.name || \"Object\";\n return u;\n }\n }\n function Wr(n) {\n try {\n return Dt(n), !1;\n } catch {\n return !0;\n }\n }\n function Dt(n) {\n return \"\" + n;\n }\n function $t(n) {\n if (Wr(n))\n return y(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\", Vr(n)), Dt(n);\n }\n var je = C.ReactCurrentOwner, Yr = {\n key: !0,\n ref: !0,\n __self: !0,\n __source: !0\n }, Ft, Mt, lt;\n lt = {};\n function Br(n) {\n if (Ne.call(n, \"ref\")) {\n var i = Object.getOwnPropertyDescriptor(n, \"ref\").get;\n if (i && i.isReactWarning)\n return !1;\n }\n return n.ref !== void 0;\n }\n function Ur(n) {\n if (Ne.call(n, \"key\")) {\n var i = Object.getOwnPropertyDescriptor(n, \"key\").get;\n if (i && i.isReactWarning)\n return !1;\n }\n return n.key !== void 0;\n }\n function Gr(n, i) {\n if (typeof n.ref == \"string\" && je.current && i && je.current.stateNode !== i) {\n var u = Y(je.current.type);\n lt[u] || (y('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', Y(je.current.type), n.ref), lt[u] = !0);\n }\n }\n function Hr(n, i) {\n {\n var u = function() {\n Ft || (Ft = !0, y(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", i));\n };\n u.isReactWarning = !0, Object.defineProperty(n, \"key\", {\n get: u,\n configurable: !0\n });\n }\n }\n function qr(n, i) {\n {\n var u = function() {\n Mt || (Mt = !0, y(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\", i));\n };\n u.isReactWarning = !0, Object.defineProperty(n, \"ref\", {\n get: u,\n configurable: !0\n });\n }\n }\n var Kr = function(n, i, u, p, _, P, R) {\n var b = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: t,\n // Built-in properties that belong on the element\n type: n,\n key: i,\n ref: u,\n props: R,\n // Record the component responsible for creating this element.\n _owner: P\n };\n return b._store = {}, Object.defineProperty(b._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: !1\n }), Object.defineProperty(b, \"_self\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: p\n }), Object.defineProperty(b, \"_source\", {\n configurable: !1,\n enumerable: !1,\n writable: !1,\n value: _\n }), Object.freeze && (Object.freeze(b.props), Object.freeze(b)), b;\n };\n function Xr(n, i, u, p, _) {\n {\n var P, R = {}, b = null, z = null;\n u !== void 0 && ($t(u), b = \"\" + u), Ur(i) && ($t(i.key), b = \"\" + i.key), Br(i) && (z = i.ref, Gr(i, _));\n for (P in i)\n Ne.call(i, P) && !Yr.hasOwnProperty(P) && (R[P] = i[P]);\n if (n && n.defaultProps) {\n var j = n.defaultProps;\n for (P in j)\n R[P] === void 0 && (R[P] = j[P]);\n }\n if (b || z) {\n var D = typeof n == \"function\" ? n.displayName || n.name || \"Unknown\" : n;\n b && Hr(R, D), z && qr(R, D);\n }\n return Kr(n, b, z, _, p, je.current, R);\n }\n }\n var ft = C.ReactCurrentOwner, Lt = C.ReactDebugCurrentFrame;\n function we(n) {\n if (n) {\n var i = n._owner, u = Ve(n.type, n._source, i ? i.type : null);\n Lt.setExtraStackFrame(u);\n } else\n Lt.setExtraStackFrame(null);\n }\n var pt;\n pt = !1;\n function dt(n) {\n return typeof n == \"object\" && n !== null && n.$$typeof === t;\n }\n function zt() {\n {\n if (ft.current) {\n var n = Y(ft.current.type);\n if (n)\n return `\n\nCheck the render method of \\`` + n + \"`.\";\n }\n return \"\";\n }\n }\n function Jr(n) {\n return \"\";\n }\n var Vt = {};\n function Zr(n) {\n {\n var i = zt();\n if (!i) {\n var u = typeof n == \"string\" ? n : n.displayName || n.name;\n u && (i = `\n\nCheck the top-level render call using <` + u + \">.\");\n }\n return i;\n }\n }\n function Wt(n, i) {\n {\n if (!n._store || n._store.validated || n.key != null)\n return;\n n._store.validated = !0;\n var u = Zr(i);\n if (Vt[u])\n return;\n Vt[u] = !0;\n var p = \"\";\n n && n._owner && n._owner !== ft.current && (p = \" It was passed a child from \" + Y(n._owner.type) + \".\"), we(n), y('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', u, p), we(null);\n }\n }\n function Yt(n, i) {\n {\n if (typeof n != \"object\")\n return;\n if (ut(n))\n for (var u = 0; u < n.length; u++) {\n var p = n[u];\n dt(p) && Wt(p, i);\n }\n else if (dt(n))\n n._store && (n._store.validated = !0);\n else if (n) {\n var _ = M(n);\n if (typeof _ == \"function\" && _ !== n.entries)\n for (var P = _.call(n), R; !(R = P.next()).done; )\n dt(R.value) && Wt(R.value, i);\n }\n }\n }\n function Qr(n) {\n {\n var i = n.type;\n if (i == null || typeof i == \"string\")\n return;\n var u;\n if (typeof i == \"function\")\n u = i.propTypes;\n else if (typeof i == \"object\" && (i.$$typeof === l || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n i.$$typeof === h))\n u = i.propTypes;\n else\n return;\n if (u) {\n var p = Y(i);\n Lr(u, n.props, \"prop\", p, n);\n } else if (i.PropTypes !== void 0 && !pt) {\n pt = !0;\n var _ = Y(i);\n y(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\", _ || \"Unknown\");\n }\n typeof i.getDefaultProps == \"function\" && !i.getDefaultProps.isReactClassApproved && y(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\");\n }\n }\n function en(n) {\n {\n for (var i = Object.keys(n.props), u = 0; u < i.length; u++) {\n var p = i[u];\n if (p !== \"children\" && p !== \"key\") {\n we(n), y(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\", p), we(null);\n break;\n }\n }\n n.ref !== null && (we(n), y(\"Invalid attribute `ref` supplied to `React.Fragment`.\"), we(null));\n }\n }\n var Bt = {};\n function Ut(n, i, u, p, _, P) {\n {\n var R = st(n);\n if (!R) {\n var b = \"\";\n (n === void 0 || typeof n == \"object\" && n !== null && Object.keys(n).length === 0) && (b += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");\n var z = Jr();\n z ? b += z : b += zt();\n var j;\n n === null ? j = \"null\" : ut(n) ? j = \"array\" : n !== void 0 && n.$$typeof === t ? (j = \"<\" + (Y(n.type) || \"Unknown\") + \" />\", b = \" Did you accidentally export a JSX literal instead of a component?\") : j = typeof n, y(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", j, b);\n }\n var D = Xr(n, i, u, _, P);\n if (D == null)\n return D;\n if (R) {\n var U = i.children;\n if (U !== void 0)\n if (p)\n if (ut(U)) {\n for (var Se = 0; Se < U.length; Se++)\n Yt(U[Se], n);\n Object.freeze && Object.freeze(U);\n } else\n y(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n else\n Yt(U, n);\n }\n if (Ne.call(i, \"key\")) {\n var ue = Y(n), V = Object.keys(i).filter(function(sn) {\n return sn !== \"key\";\n }), ht = V.length > 0 ? \"{key: someKey, \" + V.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n if (!Bt[ue + ht]) {\n var an = V.length > 0 ? \"{\" + V.join(\": ..., \") + \": ...}\" : \"{}\";\n y(`A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />`, ht, ue, an, ue), Bt[ue + ht] = !0;\n }\n }\n return n === o ? en(D) : Qr(D), D;\n }\n }\n function tn(n, i, u) {\n return Ut(n, i, u, !0);\n }\n function rn(n, i, u) {\n return Ut(n, i, u, !1);\n }\n var nn = rn, on = tn;\n $e.Fragment = o, $e.jsx = nn, $e.jsxs = on;\n }()), $e;\n}\nprocess.env.NODE_ENV === \"production\" ? bt.exports = fn() : bt.exports = pn();\nvar Ro = bt.exports, W = function() {\n return W = Object.assign || function(t) {\n for (var r, o = 1, a = arguments.length; o < a; o++) {\n r = arguments[o];\n for (var s in r) Object.prototype.hasOwnProperty.call(r, s) && (t[s] = r[s]);\n }\n return t;\n }, W.apply(this, arguments);\n};\nfunction Re(e, t, r) {\n if (r || arguments.length === 2) for (var o = 0, a = t.length, s; o < a; o++)\n (s || !(o in t)) && (s || (s = Array.prototype.slice.call(t, 0, o)), s[o] = t[o]);\n return e.concat(s || Array.prototype.slice.call(t));\n}\nfunction dn(e) {\n var t = /* @__PURE__ */ Object.create(null);\n return function(r) {\n return t[r] === void 0 && (t[r] = e(r)), t[r];\n };\n}\nvar hn = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, mn = /* @__PURE__ */ dn(\n function(e) {\n return hn.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;\n }\n /* Z+1 */\n), A = \"-ms-\", Me = \"-moz-\", k = \"-webkit-\", dr = \"comm\", tt = \"rule\", Pt = \"decl\", gn = \"@import\", hr = \"@keyframes\", yn = \"@layer\", mr = Math.abs, Ot = String.fromCharCode, wt = Object.assign;\nfunction vn(e, t) {\n return F(e, 0) ^ 45 ? (((t << 2 ^ F(e, 0)) << 2 ^ F(e, 1)) << 2 ^ F(e, 2)) << 2 ^ F(e, 3) : 0;\n}\nfunction gr(e) {\n return e.trim();\n}\nfunction re(e, t) {\n return (e = t.exec(e)) ? e[0] : e;\n}\nfunction g(e, t, r) {\n return e.replace(t, r);\n}\nfunction He(e, t, r) {\n return e.indexOf(t, r);\n}\nfunction F(e, t) {\n return e.charCodeAt(t) | 0;\n}\nfunction _e(e, t, r) {\n return e.slice(t, r);\n}\nfunction J(e) {\n return e.length;\n}\nfunction yr(e) {\n return e.length;\n}\nfunction Fe(e, t) {\n return t.push(e), e;\n}\nfunction bn(e, t) {\n return e.map(t).join(\"\");\n}\nfunction Kt(e, t) {\n return e.filter(function(r) {\n return !re(r, t);\n });\n}\nvar rt = 1, ke = 1, vr = 0, G = 0, $ = 0, Oe = \"\";\nfunction nt(e, t, r, o, a, s, c, f) {\n return { value: e, root: t, parent: r, type: o, props: a, children: s, line: rt, column: ke, length: c, return: \"\", siblings: f };\n}\nfunction se(e, t) {\n return wt(nt(\"\", null, null, \"\", null, null, 0, e.siblings), e, { length: -e.length }, t);\n}\nfunction Ee(e) {\n for (; e.root; )\n e = se(e.root, { children: [e] });\n Fe(e, e.siblings);\n}\nfunction wn() {\n return $;\n}\nfunction Sn() {\n return $ = G > 0 ? F(Oe, --G) : 0, ke--, $ === 10 && (ke = 1, rt--), $;\n}\nfunction X() {\n return $ = G < vr ? F(Oe, G++) : 0, ke++, $ === 10 && (ke = 1, rt++), $;\n}\nfunction pe() {\n return F(Oe, G);\n}\nfunction qe() {\n return G;\n}\nfunction ot(e, t) {\n return _e(Oe, e, t);\n}\nfunction St(e) {\n switch (e) {\n case 0:\n case 9:\n case 10:\n case 13:\n case 32:\n return 5;\n case 33:\n case 43:\n case 44:\n case 47:\n case 62:\n case 64:\n case 126:\n case 59:\n case 123:\n case 125:\n return 4;\n case 58:\n return 3;\n case 34:\n case 39:\n case 40:\n case 91:\n return 2;\n case 41:\n case 93:\n return 1;\n }\n return 0;\n}\nfunction En(e) {\n return rt = ke = 1, vr = J(Oe = e), G = 0, [];\n}\nfunction Rn(e) {\n return Oe = \"\", e;\n}\nfunction mt(e) {\n return gr(ot(G - 1, Et(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));\n}\nfunction _n(e) {\n for (; ($ = pe()) && $ < 33; )\n X();\n return St(e) > 2 || St($) > 3 ? \"\" : \" \";\n}\nfunction kn(e, t) {\n for (; --t && X() && !($ < 48 || $ > 102 || $ > 57 && $ < 65 || $ > 70 && $ < 97); )\n ;\n return ot(e, qe() + (t < 6 && pe() == 32 && X() == 32));\n}\nfunction Et(e) {\n for (; X(); )\n switch ($) {\n case e:\n return G;\n case 34:\n case 39:\n e !== 34 && e !== 39 && Et($);\n break;\n case 40:\n e === 41 && Et(e);\n break;\n case 92:\n X();\n break;\n }\n return G;\n}\nfunction Cn(e, t) {\n for (; X() && e + $ !== 57; )\n if (e + $ === 84 && pe() === 47)\n break;\n return \"/*\" + ot(t, G - 1) + \"*\" + Ot(e === 47 ? e : X());\n}\nfunction xn(e) {\n for (; !St(pe()); )\n X();\n return ot(e, G);\n}\nfunction Pn(e) {\n return Rn(Ke(\"\", null, null, null, [\"\"], e = En(e), 0, [0], e));\n}\nfunction Ke(e, t, r, o, a, s, c, f, l) {\n for (var w = 0, d = 0, h = c, v = 0, S = 0, O = 0, N = 1, M = 1, C = 1, y = 0, x = \"\", T = a, I = s, E = o, m = x; M; )\n switch (O = y, y = X()) {\n case 40:\n if (O != 108 && F(m, h - 1) == 58) {\n He(m += g(mt(y), \"&\", \"&\\f\"), \"&\\f\", mr(w ? f[w - 1] : 0)) != -1 && (C = -1);\n break;\n }\n case 34:\n case 39:\n case 91:\n m += mt(y);\n break;\n case 9:\n case 10:\n case 13:\n case 32:\n m += _n(O);\n break;\n case 92:\n m += kn(qe() - 1, 7);\n continue;\n case 47:\n switch (pe()) {\n case 42:\n case 47:\n Fe(On(Cn(X(), qe()), t, r, l), l);\n break;\n default:\n m += \"/\";\n }\n break;\n case 123 * N:\n f[w++] = J(m) * C;\n case 125 * N:\n case 59:\n case 0:\n switch (y) {\n case 0:\n case 125:\n M = 0;\n case 59 + d:\n C == -1 && (m = g(m, /\\f/g, \"\")), S > 0 && J(m) - h && Fe(S > 32 ? Jt(m + \";\", o, r, h - 1, l) : Jt(g(m, \" \", \"\") + \";\", o, r, h - 2, l), l);\n break;\n case 59:\n m += \";\";\n default:\n if (Fe(E = Xt(m, t, r, w, d, a, f, x, T = [], I = [], h, s), s), y === 123)\n if (d === 0)\n Ke(m, t, E, E, T, s, h, f, I);\n else\n switch (v === 99 && F(m, 3) === 110 ? 100 : v) {\n case 100:\n case 108:\n case 109:\n case 115:\n Ke(e, E, E, o && Fe(Xt(e, E, E, 0, 0, a, f, x, a, T = [], h, I), I), a, I, h, f, o ? T : I);\n break;\n default:\n Ke(m, E, E, E, [\"\"], I, 0, f, I);\n }\n }\n w = d = S = 0, N = C = 1, x = m = \"\", h = c;\n break;\n case 58:\n h = 1 + J(m), S = O;\n default:\n if (N < 1) {\n if (y == 123)\n --N;\n else if (y == 125 && N++ == 0 && Sn() == 125)\n continue;\n }\n switch (m += Ot(y), y * N) {\n case 38:\n C = d > 0 ? 1 : (m += \"\\f\", -1);\n break;\n case 44:\n f[w++] = (J(m) - 1) * C, C = 1;\n break;\n case 64:\n pe() === 45 && (m += mt(X())), v = pe(), d = h = J(x = m += xn(qe())), y++;\n break;\n case 45:\n O === 45 && J(m) == 2 && (N = 0);\n }\n }\n return s;\n}\nfunction Xt(e, t, r, o, a, s, c, f, l, w, d, h) {\n for (var v = a - 1, S = a === 0 ? s : [\"\"], O = yr(S), N = 0, M = 0, C = 0; N < o; ++N)\n for (var y = 0, x = _e(e, v + 1, v = mr(M = c[N])), T = e; y < O; ++y)\n (T = gr(M > 0 ? S[y] + \" \" + x : g(x, /&\\f/g, S[y]))) && (l[C++] = T);\n return nt(e, t, r, a === 0 ? tt : f, l, w, d, h);\n}\nfunction On(e, t, r, o) {\n return nt(e, t, r, dr, Ot(wn()), _e(e, 2, -2), 0, o);\n}\nfunction Jt(e, t, r, o, a) {\n return nt(e, t, r, Pt, _e(e, 0, o), _e(e, o + 1, -1), o, a);\n}\nfunction br(e, t, r) {\n switch (vn(e, t)) {\n case 5103:\n return k + \"print-\" + e + e;\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921:\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005:\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855:\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return k + e + e;\n case 4789:\n return Me + e + e;\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return k + e + Me + e + A + e + e;\n case 5936:\n switch (F(e, t + 11)) {\n case 114:\n return k + e + A + g(e, /[svh]\\w+-[tblr]{2}/, \"tb\") + e;\n case 108:\n return k + e + A + g(e, /[svh]\\w+-[tblr]{2}/, \"tb-rl\") + e;\n case 45:\n return k + e + A + g(e, /[svh]\\w+-[tblr]{2}/, \"lr\") + e;\n }\n case 6828:\n case 4268:\n case 2903:\n return k + e + A + e + e;\n case 6165:\n return k + e + A + \"flex-\" + e + e;\n case 5187:\n return k + e + g(e, /(\\w+).+(:[^]+)/, k + \"box-$1$2\" + A + \"flex-$1$2\") + e;\n case 5443:\n return k + e + A + \"flex-item-\" + g(e, /flex-|-self/g, \"\") + (re(e, /flex-|baseline/) ? \"\" : A + \"grid-row-\" + g(e, /flex-|-self/g, \"\")) + e;\n case 4675:\n return k + e + A + \"flex-line-pack\" + g(e, /align-content|flex-|-self/g, \"\") + e;\n case 5548:\n return k + e + A + g(e, \"shrink\", \"negative\") + e;\n case 5292:\n return k + e + A + g(e, \"basis\", \"preferred-size\") + e;\n case 6060:\n return k + \"box-\" + g(e, \"-grow\", \"\") + k + e + A + g(e, \"grow\", \"positive\") + e;\n case 4554:\n return k + g(e, /([^-])(transform)/g, \"$1\" + k + \"$2\") + e;\n case 6187:\n return g(g(g(e, /(zoom-|grab)/, k + \"$1\"), /(image-set)/, k + \"$1\"), e, \"\") + e;\n case 5495:\n case 3959:\n return g(e, /(image-set\\([^]*)/, k + \"$1$`$1\");\n case 4968:\n return g(g(e, /(.+:)(flex-)?(.*)/, k + \"box-pack:$3\" + A + \"flex-pack:$3\"), /s.+-b[^;]+/, \"justify\") + k + e + e;\n case 4200:\n if (!re(e, /flex-|baseline/)) return A + \"grid-column-align\" + _e(e, t) + e;\n break;\n case 2592:\n case 3360:\n return A + g(e, \"template-\", \"\") + e;\n case 4384:\n case 3616:\n return r && r.some(function(o, a) {\n return t = a, re(o.props, /grid-\\w+-end/);\n }) ? ~He(e + (r = r[t].value), \"span\", 0) ? e : A + g(e, \"-start\", \"\") + e + A + \"grid-row-span:\" + (~He(r, \"span\", 0) ? re(r, /\\d+/) : +re(r, /\\d+/) - +re(e, /\\d+/)) + \";\" : A + g(e, \"-start\", \"\") + e;\n case 4896:\n case 4128:\n return r && r.some(function(o) {\n return re(o.props, /grid-\\w+-start/);\n }) ? e : A + g(g(e, \"-end\", \"-span\"), \"span \", \"\") + e;\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return g(e, /(.+)-inline(.+)/, k + \"$1$2\") + e;\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n if (J(e) - 1 - t > 6)\n switch (F(e, t + 1)) {\n case 109:\n if (F(e, t + 4) !== 45)\n break;\n case 102:\n return g(e, /(.+:)(.+)-([^]+)/, \"$1\" + k + \"$2-$3$1\" + Me + (F(e, t + 3) == 108 ? \"$3\" : \"$2-$3\")) + e;\n case 115:\n return ~He(e, \"stretch\", 0) ? br(g(e, \"stretch\", \"fill-available\"), t, r) + e : e;\n }\n break;\n case 5152:\n case 5920:\n return g(e, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function(o, a, s, c, f, l, w) {\n return A + a + \":\" + s + w + (c ? A + a + \"-span:\" + (f ? l : +l - +s) + w : \"\") + e;\n });\n case 4949:\n if (F(e, t + 6) === 121)\n return g(e, \":\", \":\" + k) + e;\n break;\n case 6444:\n switch (F(e, F(e, 14) === 45 ? 18 : 11)) {\n case 120:\n return g(e, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, \"$1\" + k + (F(e, 14) === 45 ? \"inline-\" : \"\") + \"box$3$1\" + k + \"$2$3$1\" + A + \"$2box$3\") + e;\n case 100:\n return g(e, \":\", \":\" + A) + e;\n }\n break;\n case 5719:\n case 2647:\n case 2135:\n case 3927:\n case 2391:\n return g(e, \"scroll-\", \"scroll-snap-\") + e;\n }\n return e;\n}\nfunction Ze(e, t) {\n for (var r = \"\", o = 0; o < e.length; o++)\n r += t(e[o], o, e, t) || \"\";\n return r;\n}\nfunction Tn(e, t, r, o) {\n switch (e.type) {\n case yn:\n if (e.children.length) break;\n case gn:\n case Pt:\n return e.return = e.return || e.value;\n case dr:\n return \"\";\n case hr:\n return e.return = e.value + \"{\" + Ze(e.children, o) + \"}\";\n case tt:\n if (!J(e.value = e.props.join(\",\"))) return \"\";\n }\n return J(r = Ze(e.children, o)) ? e.return = e.value + \"{\" + r + \"}\" : \"\";\n}\nfunction An(e) {\n var t = yr(e);\n return function(r, o, a, s) {\n for (var c = \"\", f = 0; f < t; f++)\n c += e[f](r, o, a, s) || \"\";\n return c;\n };\n}\nfunction In(e) {\n return function(t) {\n t.root || (t = t.return) && e(t);\n };\n}\nfunction Nn(e, t, r, o) {\n if (e.length > -1 && !e.return)\n switch (e.type) {\n case Pt:\n e.return = br(e.value, e.length, r);\n return;\n case hr:\n return Ze([se(e, { value: g(e.value, \"@\", \"@\" + k) })], o);\n case tt:\n if (e.length)\n return bn(r = e.props, function(a) {\n switch (re(a, o = /(::plac\\w+|:read-\\w+)/)) {\n case \":read-only\":\n case \":read-write\":\n Ee(se(e, { props: [g(a, /:(read-\\w+)/, \":\" + Me + \"$1\")] })), Ee(se(e, { props: [a] })), wt(e, { props: Kt(r, o) });\n break;\n case \"::placeholder\":\n Ee(se(e, { props: [g(a, /:(plac\\w+)/, \":\" + k + \"input-$1\")] })), Ee(se(e, { props: [g(a, /:(plac\\w+)/, \":\" + Me + \"$1\")] })), Ee(se(e, { props: [g(a, /:(plac\\w+)/, A + \"input-$1\")] })), Ee(se(e, { props: [a] })), wt(e, { props: Kt(r, o) });\n break;\n }\n return \"\";\n });\n }\n}\nvar jn = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n}, me = typeof process < \"u\" && process.env !== void 0 && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\", wr = \"active\", Sr = \"data-styled-version\", at = \"6.1.13\", Tt = `/*!sc*/\n`, Qe = typeof window < \"u\" && \"HTMLElement\" in window, Dn = !!(typeof SC_DISABLE_SPEEDY == \"boolean\" ? SC_DISABLE_SPEEDY : typeof process < \"u\" && process.env !== void 0 && process.env.REACT_APP_SC_DISABLE_SPEEDY !== void 0 && process.env.REACT_APP_SC_DISABLE_SPEEDY !== \"\" ? process.env.REACT_APP_SC_DISABLE_SPEEDY !== \"false\" && process.env.REACT_APP_SC_DISABLE_SPEEDY : typeof process < \"u\" && process.env !== void 0 && process.env.SC_DISABLE_SPEEDY !== void 0 && process.env.SC_DISABLE_SPEEDY !== \"\" ? process.env.SC_DISABLE_SPEEDY !== \"false\" && process.env.SC_DISABLE_SPEEDY : process.env.NODE_ENV !== \"production\"), Zt = /invalid hook call/i, Ye = /* @__PURE__ */ new Set(), $n = function(e, t) {\n if (process.env.NODE_ENV !== \"production\") {\n var r = t ? ' with the id of \"'.concat(t, '\"') : \"\", o = \"The component \".concat(e).concat(r, ` has been created dynamically.\n`) + `You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.`, a = console.error;\n try {\n var s = !0;\n console.error = function(c) {\n for (var f = [], l = 1; l < arguments.length; l++) f[l - 1] = arguments[l];\n Zt.test(c) ? (s = !1, Ye.delete(o)) : a.apply(void 0, Re([c], f, !1));\n }, cn(), s && !Ye.has(o) && (console.warn(o), Ye.add(o));\n } catch (c) {\n Zt.test(c.message) && Ye.delete(o);\n } finally {\n console.error = a;\n }\n }\n}, it = Object.freeze([]), Ce = Object.freeze({});\nfunction Fn(e, t, r) {\n return r === void 0 && (r = Ce), e.theme !== r.theme && e.theme || t || r.theme;\n}\nvar Rt = /* @__PURE__ */ new Set([\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"tr\", \"track\", \"u\", \"ul\", \"use\", \"var\", \"video\", \"wbr\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"tspan\"]), Mn = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g, Ln = /(^-|-$)/g;\nfunction Qt(e) {\n return e.replace(Mn, \"-\").replace(Ln, \"\");\n}\nvar zn = /(a)(d)/gi, Be = 52, er = function(e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n};\nfunction _t(e) {\n var t, r = \"\";\n for (t = Math.abs(e); t > Be; t = t / Be | 0) r = er(t % Be) + r;\n return (er(t % Be) + r).replace(zn, \"$1-$2\");\n}\nvar gt, Er = 5381, le = function(e, t) {\n for (var r = t.length; r; ) e = 33 * e ^ t.charCodeAt(--r);\n return e;\n}, Rr = function(e) {\n return le(Er, e);\n};\nfunction Vn(e) {\n return _t(Rr(e) >>> 0);\n}\nfunction _r(e) {\n return process.env.NODE_ENV !== \"production\" && typeof e == \"string\" && e || e.displayName || e.name || \"Component\";\n}\nfunction yt(e) {\n return typeof e == \"string\" && (process.env.NODE_ENV === \"production\" || e.charAt(0) === e.charAt(0).toLowerCase());\n}\nvar kr = typeof Symbol == \"function\" && Symbol.for, Cr = kr ? Symbol.for(\"react.memo\") : 60115, Wn = kr ? Symbol.for(\"react.forward_ref\") : 60112, Yn = { childContextTypes: !0, contextType: !0, contextTypes: !0, defaultProps: !0, displayName: !0, getDefaultProps: !0, getDerivedStateFromError: !0, getDerivedStateFromProps: !0, mixins: !0, propTypes: !0, type: !0 }, Bn = { name: !0, length: !0, prototype: !0, caller: !0, callee: !0, arguments: !0, arity: !0 }, xr = { $$typeof: !0, compare: !0, defaultProps: !0, displayName: !0, propTypes: !0, type: !0 }, Un = ((gt = {})[Wn] = { $$typeof: !0, render: !0, defaultProps: !0, displayName: !0, propTypes: !0 }, gt[Cr] = xr, gt);\nfunction tr(e) {\n return (\"type\" in (t = e) && t.type.$$typeof) === Cr ? xr : \"$$typeof\" in e ? Un[e.$$typeof] : Yn;\n var t;\n}\nvar Gn = Object.defineProperty, Hn = Object.getOwnPropertyNames, rr = Object.getOwnPropertySymbols, qn = Object.getOwnPropertyDescriptor, Kn = Object.getPrototypeOf, nr = Object.prototype;\nfunction Pr(e, t, r) {\n if (typeof t != \"string\") {\n if (nr) {\n var o = Kn(t);\n o && o !== nr && Pr(e, o, r);\n }\n var a = Hn(t);\n rr && (a = a.concat(rr(t)));\n for (var s = tr(e), c = tr(t), f = 0; f < a.length; ++f) {\n var l = a[f];\n if (!(l in Bn || r && r[l] || c && l in c || s && l in s)) {\n var w = qn(t, l);\n try {\n Gn(e, l, w);\n } catch {\n }\n }\n }\n }\n return e;\n}\nfunction xe(e) {\n return typeof e == \"function\";\n}\nfunction At(e) {\n return typeof e == \"object\" && \"styledComponentId\" in e;\n}\nfunction fe(e, t) {\n return e && t ? \"\".concat(e, \" \").concat(t) : e || t || \"\";\n}\nfunction or(e, t) {\n if (e.length === 0) return \"\";\n for (var r = e[0], o = 1; o < e.length; o++) r += e[o];\n return r;\n}\nfunction Pe(e) {\n return e !== null && typeof e == \"object\" && e.constructor.name === Object.name && !(\"props\" in e && e.$$typeof);\n}\nfunction kt(e, t, r) {\n if (r === void 0 && (r = !1), !r && !Pe(e) && !Array.isArray(e)) return t;\n if (Array.isArray(t)) for (var o = 0; o < t.length; o++) e[o] = kt(e[o], t[o]);\n else if (Pe(t)) for (var o in t) e[o] = kt(e[o], t[o]);\n return e;\n}\nfunction It(e, t) {\n Object.defineProperty(e, \"toString\", { value: t });\n}\nvar Xn = process.env.NODE_ENV !== \"production\" ? { 1: `Cannot create styled-component for component: %s.\n\n`, 2: `Can't collect styles once you've consumed a \\`ServerStyleSheet\\`'s styles! \\`ServerStyleSheet\\` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n`, 3: `Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n`, 4: `The \\`StyleSheetManager\\` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n`, 5: `The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n`, 6: `Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n`, 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n', 8: `ThemeProvider: Please make your \"theme\" prop an object.\n\n`, 9: \"Missing document `<head>`\\n\\n\", 10: `Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n`, 11: `_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n`, 12: \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\", 13: `%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n`, 14: `ThemeProvider: \"theme\" prop is required.\n\n`, 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\", 16: `Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n`, 17: `CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n`, 18: \"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\" } : {};\nfunction Jn() {\n for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];\n for (var r = e[0], o = [], a = 1, s = e.length; a < s; a += 1) o.push(e[a]);\n return o.forEach(function(c) {\n r = r.replace(/%[a-z]/, c);\n }), r;\n}\nfunction Te(e) {\n for (var t = [], r = 1; r < arguments.length; r++) t[r - 1] = arguments[r];\n return process.env.NODE_ENV === \"production\" ? new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(e, \" for more information.\").concat(t.length > 0 ? \" Args: \".concat(t.join(\", \")) : \"\")) : new Error(Jn.apply(void 0, Re([Xn[e]], t, !1)).trim());\n}\nvar Zn = function() {\n function e(t) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = t;\n }\n return e.prototype.indexOfGroup = function(t) {\n for (var r = 0, o = 0; o < t; o++) r += this.groupSizes[o];\n return r;\n }, e.prototype.insertRules = function(t, r) {\n if (t >= this.groupSizes.length) {\n for (var o = this.groupSizes, a = o.length, s = a; t >= s; ) if ((s <<= 1) < 0) throw Te(16, \"\".concat(t));\n this.groupSizes = new Uint32Array(s), this.groupSizes.set(o), this.length = s;\n for (var c = a; c < s; c++) this.groupSizes[c] = 0;\n }\n for (var f = this.indexOfGroup(t + 1), l = (c = 0, r.length); c < l; c++) this.tag.insertRule(f, r[c]) && (this.groupSizes[t]++, f++);\n }, e.prototype.clearGroup = function(t) {\n if (t < this.length) {\n var r = this.groupSizes[t], o = this.indexOfGroup(t), a = o + r;\n this.groupSizes[t] = 0;\n for (var s = o; s < a; s++) this.tag.deleteRule(o);\n }\n }, e.prototype.getGroup = function(t) {\n var r = \"\";\n if (t >= this.length || this.groupSizes[t] === 0) return r;\n for (var o = this.groupSizes[t], a = this.indexOfGroup(t), s = a + o, c = a; c < s; c++) r += \"\".concat(this.tag.getRule(c)).concat(Tt);\n return r;\n }, e;\n}(), Qn = 1 << 30, Xe = /* @__PURE__ */ new Map(), et = /* @__PURE__ */ new Map(), Je = 1, Ue = function(e) {\n if (Xe.has(e)) return Xe.get(e);\n for (; et.has(Je); ) Je++;\n var t = Je++;\n if (process.env.NODE_ENV !== \"production\" && ((0 | t) < 0 || t > Qn)) throw Te(16, \"\".concat(t));\n return Xe.set(e, t), et.set(t, e), t;\n}, eo = function(e, t) {\n Je = t + 1, Xe.set(e, t), et.set(t, e);\n}, to = \"style[\".concat(me, \"][\").concat(Sr, '=\"').concat(at, '\"]'), ro = new RegExp(\"^\".concat(me, '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')), no = function(e, t, r) {\n for (var o, a = r.split(\",\"), s = 0, c = a.length; s < c; s++) (o = a[s]) && e.registerName(t, o);\n}, oo = function(e, t) {\n for (var r, o = ((r = t.textContent) !== null && r !== void 0 ? r : \"\").split(Tt), a = [], s = 0, c = o.length; s < c; s++) {\n var f = o[s].trim();\n if (f) {\n var l = f.match(ro);\n if (l) {\n var w = 0 | parseInt(l[1], 10), d = l[2];\n w !== 0 && (eo(d, w), no(e, d, l[3]), e.getTag().insertRules(w, a)), a.length = 0;\n } else a.push(f);\n }\n }\n}, ar = function(e) {\n for (var t = document.querySelectorAll(to), r = 0, o = t.length; r < o; r++) {\n var a = t[r];\n a && a.getAttribute(me) !== wr && (oo(e, a), a.parentNode && a.parentNode.removeChild(a));\n }\n};\nfunction ao() {\n return typeof __webpack_nonce__ < \"u\" ? __webpack_nonce__ : null;\n}\nvar Or = function(e) {\n var t = document.head, r = e || t, o = document.createElement(\"style\"), a = function(f) {\n var l = Array.from(f.querySelectorAll(\"style[\".concat(me, \"]\")));\n return l[l.length - 1];\n }(r), s = a !== void 0 ? a.nextSibling : null;\n o.setAttribute(me, wr), o.setAttribute(Sr, at);\n var c = ao();\n return c && o.setAttribute(\"nonce\", c), r.insertBefore(o, s), o;\n}, io = function() {\n function e(t) {\n this.element = Or(t), this.element.appendChild(document.createTextNode(\"\")), this.sheet = function(r) {\n if (r.sheet) return r.sheet;\n for (var o = document.styleSheets, a = 0, s = o.length; a < s; a++) {\n var c = o[a];\n if (c.ownerNode === r) return c;\n }\n throw Te(17);\n }(this.element), this.length = 0;\n }\n return e.prototype.insertRule = function(t, r) {\n try {\n return this.sheet.insertRule(r, t), this.length++, !0;\n } catch {\n return !1;\n }\n }, e.prototype.deleteRule = function(t) {\n this.sheet.deleteRule(t), this.length--;\n }, e.prototype.getRule = function(t) {\n var r = this.sheet.cssRules[t];\n return r && r.cssText ? r.cssText : \"\";\n }, e;\n}(), so = function() {\n function e(t) {\n this.element = Or(t), this.nodes = this.element.childNodes, this.length = 0;\n }\n return e.prototype.insertRule = function(t, r) {\n if (t <= this.length && t >= 0) {\n var o = document.createTextNode(r);\n return this.element.insertBefore(o, this.nodes[t] || null), this.length++, !0;\n }\n return !1;\n }, e.prototype.deleteRule = function(t) {\n this.element.removeChild(this.nodes[t]), this.length--;\n }, e.prototype.getRule = function(t) {\n return t < this.length ? this.nodes[t].textContent : \"\";\n }, e;\n}(), co = function() {\n function e(t) {\n this.rules = [], this.length = 0;\n }\n return e.prototype.insertRule = function(t, r) {\n return t <= this.length && (this.rules.splice(t, 0, r), this.length++, !0);\n }, e.prototype.deleteRule = function(t) {\n this.rules.splice(t, 1), this.length--;\n }, e.prototype.getRule = function(t) {\n return t < this.length ? this.rules[t] : \"\";\n }, e;\n}(), ir = Qe, uo = { isServer: !Qe, useCSSOMInjection: !Dn }, Tr = function() {\n function e(t, r, o) {\n t === void 0 && (t = Ce), r === void 0 && (r = {});\n var a = this;\n this.options = W(W({}, uo), t), this.gs = r, this.names = new Map(o), this.server = !!t.isServer, !this.server && Qe && ir && (ir = !1, ar(this)), It(this, function() {\n return function(s) {\n for (var c = s.getTag(), f = c.length, l = \"\", w = function(h) {\n var v = function(C) {\n return et.get(C);\n }(h);\n if (v === void 0) return \"continue\";\n var S = s.names.get(v), O = c.getGroup(h);\n if (S === void 0 || !S.size || O.length === 0) return \"continue\";\n var N = \"\".concat(me, \".g\").concat(h, '[id=\"').concat(v, '\"]'), M = \"\";\n S !== void 0 && S.forEach(function(C) {\n C.length > 0 && (M += \"\".concat(C, \",\"));\n }), l += \"\".concat(O).concat(N, '{content:\"').concat(M, '\"}').concat(Tt);\n }, d = 0; d < f; d++) w(d);\n return l;\n }(a);\n });\n }\n return e.registerId = function(t) {\n return Ue(t);\n }, e.prototype.rehydrate = function() {\n !this.server && Qe && ar(this);\n }, e.prototype.reconstructWithOptions = function(t, r) {\n return r === void 0 && (r = !0), new e(W(W({}, this.options), t), this.gs, r && this.names || void 0);\n }, e.prototype.allocateGSInstance = function(t) {\n return this.gs[t] = (this.gs[t] || 0) + 1;\n }, e.prototype.getTag = function() {\n return this.tag || (this.tag = (t = function(r) {\n var o = r.useCSSOMInjection, a = r.target;\n return r.isServer ? new co(a) : o ? new io(a) : new so(a);\n }(this.options), new Zn(t)));\n var t;\n }, e.prototype.hasNameForId = function(t, r) {\n return this.names.has(t) && this.names.get(t).has(r);\n }, e.prototype.registerName = function(t, r) {\n if (Ue(t), this.names.has(t)) this.names.get(t).add(r);\n else {\n var o = /* @__PURE__ */ new Set();\n o.add(r), this.names.set(t, o);\n }\n }, e.prototype.insertRules = function(t, r, o) {\n this.registerName(t, r), this.getTag().insertRules(Ue(t), o);\n }, e.prototype.clearNames = function(t) {\n this.names.has(t) && this.names.get(t).clear();\n }, e.prototype.clearRules = function(t) {\n this.getTag().clearGroup(Ue(t)), this.clearNames(t);\n }, e.prototype.clearTag = function() {\n this.tag = void 0;\n }, e;\n}(), lo = /&/g, fo = /^\\s*\\/\\/.*$/gm;\nfunction Ar(e, t) {\n return e.map(function(r) {\n return r.type === \"rule\" && (r.value = \"\".concat(t, \" \").concat(r.value), r.value = r.value.replaceAll(\",\", \",\".concat(t, \" \")), r.props = r.props.map(function(o) {\n return \"\".concat(t, \" \").concat(o);\n })), Array.isArray(r.children) && r.type !== \"@keyframes\" && (r.children = Ar(r.children, t)), r;\n });\n}\nfunction po(e) {\n var t, r, o, a = Ce, s = a.options, c = s === void 0 ? Ce : s, f = a.plugins, l = f === void 0 ? it : f, w = function(v, S, O) {\n return O.startsWith(r) && O.endsWith(r) && O.replaceAll(r, \"\").length > 0 ? \".\".concat(t) : v;\n }, d = l.slice();\n d.push(function(v) {\n v.type === tt && v.value.includes(\"&\") && (v.props[0] = v.props[0].replace(lo, r).replace(o, w));\n }), c.prefix && d.push(Nn), d.push(Tn);\n var h = function(v, S, O, N) {\n S === void 0 && (S = \"\"), O === void 0 && (O = \"\"), N === void 0 && (N = \"&\"), t = N, r = S, o = new RegExp(\"\\\\\".concat(r, \"\\\\b\"), \"g\");\n var M = v.replace(fo, \"\"), C = Pn(O || S ? \"\".concat(O, \" \").concat(S, \" { \").concat(M, \" }\") : M);\n c.namespace && (C = Ar(C, c.namespace));\n var y = [];\n return Ze(C, An(d.concat(In(function(x) {\n return y.push(x);\n })))), y;\n };\n return h.hash = l.length ? l.reduce(function(v, S) {\n return S.name || Te(15), le(v, S.name);\n }, Er).toString() : \"\", h;\n}\nvar ho = new Tr(), Ct = po(), Ir = he.createContext({ shouldForwardProp: void 0, styleSheet: ho, stylis: Ct });\nIr.Consumer;\nhe.createContext(void 0);\nfunction sr() {\n return ln(Ir);\n}\nvar cr = function() {\n function e(t, r) {\n var o = this;\n this.inject = function(a, s) {\n s === void 0 && (s = Ct);\n var c = o.name + s.hash;\n a.hasNameForId(o.id, c) || a.insertRules(o.id, c, s(o.rules, c, \"@keyframes\"));\n }, this.name = t, this.id = \"sc-keyframes-\".concat(t), this.rules = r, It(this, function() {\n throw Te(12, String(o.name));\n });\n }\n return e.prototype.getName = function(t) {\n return t === void 0 && (t = Ct), this.name + t.hash;\n }, e;\n}(), mo = function(e) {\n return e >= \"A\" && e <= \"Z\";\n};\nfunction ur(e) {\n for (var t = \"\", r = 0; r < e.length; r++) {\n var o = e[r];\n if (r === 1 && o === \"-\" && e[0] === \"-\") return e;\n mo(o) ? t += \"-\" + o.toLowerCase() : t += o;\n }\n return t.startsWith(\"ms-\") ? \"-\" + t : t;\n}\nvar Nr = function(e) {\n return e == null || e === !1 || e === \"\";\n}, jr = function(e) {\n var t, r, o = [];\n for (var a in e) {\n var s = e[a];\n e.hasOwnProperty(a) && !Nr(s) && (Array.isArray(s) && s.isCss || xe(s) ? o.push(\"\".concat(ur(a), \":\"), s, \";\") : Pe(s) ? o.push.apply(o, Re(Re([\"\".concat(a, \" {\")], jr(s), !1), [\"}\"], !1)) : o.push(\"\".concat(ur(a), \": \").concat((t = a, (r = s) == null || typeof r == \"boolean\" || r === \"\" ? \"\" : typeof r != \"number\" || r === 0 || t in jn || t.startsWith(\"--\") ? String(r).trim() : \"\".concat(r, \"px\")), \";\")));\n }\n return o;\n};\nfunction de(e, t, r, o) {\n if (Nr(e)) return [];\n if (At(e)) return [\".\".concat(e.styledComponentId)];\n if (xe(e)) {\n if (!xe(s = e) || s.prototype && s.prototype.isReactComponent || !t) return [e];\n var a = e(t);\n return process.env.NODE_ENV === \"production\" || typeof a != \"object\" || Array.isArray(a) || a instanceof cr || Pe(a) || a === null || console.error(\"\".concat(_r(e), \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")), de(a, t, r, o);\n }\n var s;\n return e instanceof cr ? r ? (e.inject(r, o), [e.getName(o)]) : [e] : Pe(e) ? jr(e) : Array.isArray(e) ? Array.prototype.concat.apply(it, e.map(function(c) {\n return de(c, t, r, o);\n })) : [e.toString()];\n}\nfunction go(e) {\n for (var t = 0; t < e.length; t += 1) {\n var r = e[t];\n if (xe(r) && !At(r)) return !1;\n }\n return !0;\n}\nvar yo = Rr(at), vo = function() {\n function e(t, r, o) {\n this.rules = t, this.staticRulesId = \"\", this.isStatic = process.env.NODE_ENV === \"production\" && (o === void 0 || o.isStatic) && go(t), this.componentId = r, this.baseHash = le(yo, r), this.baseStyle = o, Tr.registerId(r);\n }\n return e.prototype.generateAndInjectStyles = function(t, r, o) {\n var a = this.baseStyle ? this.baseStyle.generateAndInjectStyles(t, r, o) : \"\";\n if (this.isStatic && !o.hash) if (this.staticRulesId && r.hasNameForId(this.componentId, this.staticRulesId)) a = fe(a, this.staticRulesId);\n else {\n var s = or(de(this.rules, t, r, o)), c = _t(le(this.baseHash, s) >>> 0);\n if (!r.hasNameForId(this.componentId, c)) {\n var f = o(s, \".\".concat(c), void 0, this.componentId);\n r.insertRules(this.componentId, c, f);\n }\n a = fe(a, c), this.staticRulesId = c;\n }\n else {\n for (var l = le(this.baseHash, o.hash), w = \"\", d = 0; d < this.rules.length; d++) {\n var h = this.rules[d];\n if (typeof h == \"string\") w += h, process.env.NODE_ENV !== \"production\" && (l = le(l, h));\n else if (h) {\n var v = or(de(h, t, r, o));\n l = le(l, v + d), w += v;\n }\n }\n if (w) {\n var S = _t(l >>> 0);\n r.hasNameForId(this.componentId, S) || r.insertRules(this.componentId, S, o(w, \".\".concat(S), void 0, this.componentId)), a = fe(a, S);\n }\n }\n return a;\n }, e;\n}(), Dr = he.createContext(void 0);\nDr.Consumer;\nvar vt = {}, lr = /* @__PURE__ */ new Set();\nfunction bo(e, t, r) {\n var o = At(e), a = e, s = !yt(e), c = t.attrs, f = c === void 0 ? it : c, l = t.componentId, w = l === void 0 ? function(T, I) {\n var E = typeof T != \"string\" ? \"sc\" : Qt(T);\n vt[E] = (vt[E] || 0) + 1;\n var m = \"\".concat(E, \"-\").concat(Vn(at + E + vt[E]));\n return I ? \"\".concat(I, \"-\").concat(m) : m;\n }(t.displayName, t.parentComponentId) : l, d = t.displayName, h = d === void 0 ? function(T) {\n return yt(T) ? \"styled.\".concat(T) : \"Styled(\".concat(_r(T), \")\");\n }(e) : d, v = t.displayName && t.componentId ? \"\".concat(Qt(t.displayName), \"-\").concat(t.componentId) : t.componentId || w, S = o && a.attrs ? a.attrs.concat(f).filter(Boolean) : f, O = t.shouldForwardProp;\n if (o && a.shouldForwardProp) {\n var N = a.shouldForwardProp;\n if (t.shouldForwardProp) {\n var M = t.shouldForwardProp;\n O = function(T, I) {\n return N(T, I) && M(T, I);\n };\n } else O = N;\n }\n var C = new vo(r, v, o ? a.componentStyle : void 0);\n function y(T, I) {\n return function(E, m, Z) {\n var Q = E.attrs, st = E.componentStyle, ct = E.defaultProps, Le = E.foldedComponentIds, Y = E.styledComponentId, ee = E.target, ce = he.useContext(Dr), ze = sr(), ge = E.shouldForwardProp || ze.shouldForwardProp;\n process.env.NODE_ENV !== \"production\" && Gt(Y);\n var Ae = Fn(m, ce, ct) || Ce, B = function(ve, te, ae) {\n for (var H, q = W(W({}, te), { className: void 0, theme: ae }), ie = 0; ie < ve.length; ie += 1) {\n var be = xe(H = ve[ie]) ? H(q) : H;\n for (var K in be) q[K] = K === \"className\" ? fe(q[K], be[K]) : K === \"style\" ? W(W({}, q[K]), be[K]) : be[K];\n }\n return te.className && (q.className = fe(q.className, te.className)), q;\n }(Q, m, Ae), ne = B.as || ee, oe = {};\n for (var L in B) B[L] === void 0 || L[0] === \"$\" || L === \"as\" || L === \"theme\" && B.theme === Ae || (L === \"forwardedAs\" ? oe.as = B.forwardedAs : ge && !ge(L, ne) || (oe[L] = B[L], ge || process.env.NODE_ENV !== \"development\" || mn(L) || lr.has(L) || !Rt.has(ne) || (lr.add(L), console.warn('styled-components: it looks like an unknown prop \"'.concat(L, '\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));\n var ye = function(ve, te) {\n var ae = sr(), H = ve.generateAndInjectStyles(te, ae.styleSheet, ae.stylis);\n return process.env.NODE_ENV !== \"production\" && Gt(H), H;\n }(st, B);\n process.env.NODE_ENV !== \"production\" && E.warnTooManyClasses && E.warnTooManyClasses(ye);\n var Ie = fe(Le, Y);\n return ye && (Ie += \" \" + ye), B.className && (Ie += \" \" + B.className), oe[yt(ne) && !Rt.has(ne) ? \"class\" : \"className\"] = Ie, oe.ref = Z, un(ne, oe);\n }(x, T, I);\n }\n y.displayName = h;\n var x = he.forwardRef(y);\n return x.attrs = S, x.componentStyle = C, x.displayName = h, x.shouldForwardProp = O, x.foldedComponentIds = o ? fe(a.foldedComponentIds, a.styledComponentId) : \"\", x.styledComponentId = v, x.target = o ? a.target : e, Object.defineProperty(x, \"defaultProps\", { get: function() {\n return this._foldedDefaultProps;\n }, set: function(T) {\n this._foldedDefaultProps = o ? function(I) {\n for (var E = [], m = 1; m < arguments.length; m++) E[m - 1] = arguments[m];\n for (var Z = 0, Q = E; Z < Q.length; Z++) kt(I, Q[Z], !0);\n return I;\n }({}, a.defaultProps, T) : T;\n } }), process.env.NODE_ENV !== \"production\" && ($n(h, v), x.warnTooManyClasses = /* @__PURE__ */ function(T, I) {\n var E = {}, m = !1;\n return function(Z) {\n if (!m && (E[Z] = !0, Object.keys(E).length >= 200)) {\n var Q = I ? ' with the id of \"'.concat(I, '\"') : \"\";\n console.warn(\"Over \".concat(200, \" classes were generated for component \").concat(T).concat(Q, `.\n`) + `Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))\\`width: 100%;\\`\n\n <Component />`), m = !0, E = {};\n }\n };\n }(h, v)), It(x, function() {\n return \".\".concat(x.styledComponentId);\n }), s && Pr(x, e, { attrs: !0, componentStyle: !0, displayName: !0, foldedComponentIds: !0, shouldForwardProp: !0, styledComponentId: !0, target: !0 }), x;\n}\nfunction fr(e, t) {\n for (var r = [e[0]], o = 0, a = t.length; o < a; o += 1) r.push(t[o], e[o + 1]);\n return r;\n}\nvar pr = function(e) {\n return Object.assign(e, { isCss: !0 });\n};\nfunction wo(e) {\n for (var t = [], r = 1; r < arguments.length; r++) t[r - 1] = arguments[r];\n if (xe(e) || Pe(e)) return pr(de(fr(it, Re([e], t, !0))));\n var o = e;\n return t.length === 0 && o.length === 1 && typeof o[0] == \"string\" ? de(o) : pr(de(fr(o, t)));\n}\nfunction xt(e, t, r) {\n if (r === void 0 && (r = Ce), !t) throw Te(1, t);\n var o = function(a) {\n for (var s = [], c = 1; c < arguments.length; c++) s[c - 1] = arguments[c];\n return e(t, r, wo.apply(void 0, Re([a], s, !1)));\n };\n return o.attrs = function(a) {\n return xt(e, t, W(W({}, r), { attrs: Array.prototype.concat(r.attrs, a).filter(Boolean) }));\n }, o.withConfig = function(a) {\n return xt(e, t, W(W({}, r), a));\n }, o;\n}\nvar $r = function(e) {\n return xt(bo, e);\n}, So = $r;\nRt.forEach(function(e) {\n So[e] = $r(e);\n});\nprocess.env.NODE_ENV !== \"production\" && typeof navigator < \"u\" && navigator.product === \"ReactNative\" && console.warn(`It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native`);\nvar Ge = \"__sc-\".concat(me, \"__\");\nprocess.env.NODE_ENV !== \"production\" && process.env.NODE_ENV !== \"test\" && typeof window < \"u\" && (window[Ge] || (window[Ge] = 0), window[Ge] === 1 && console.warn(`It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info.`), window[Ge] += 1);\nexport {\n So as d,\n Ro as j\n};\n", + "import { d as a, j as d } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst i = a.span`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: var(--vscode-badge-background);\n border: 1px solid var(--vscode-button-border);\n border-radius: 11px;\n box-sizing: border-box;\n color: var(--vscode-badge-foreground);\n font-family: var(--vscode-font-family);\n font-size: 11px;\n line-height: 16px;\n height: 16px;\n min-width: 18px;\n min-height: 18px;\n padding: 3px 6px;\n text-align: center;\n`, n = ({\n className: e,\n children: o,\n ...r\n}) => /* @__PURE__ */ d.jsx(i, { className: `vscrui-badge ${e || \"\"}`, ...r, children: o });\nn.displayName = \"VSCRUI_Badge\";\nexport {\n n as Badge\n};\n", + "import { d as c, j as u } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst s = c.button`\n display: inline-flex;\n outline: none;\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size, 13px);\n line-height: normal;\n color: var(--vscode-button-foreground);\n background: var(--vscode-button-background);\n border: 1px solid var(--vscode-button-border);\n border-radius: 2px;\n padding: 4px 11px;\n fill: currentColor;\n cursor: pointer;\n\n &:focus-visible {\n outline: 1px solid var(--vscode-focusBorder);\n outline-offset: 2px;\n }\n\n &:active {\n background: var(--vscode-button-background);\n }\n\n &:hover {\n background: var(--vscode-button-hoverBackground);\n }\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &.secondary {\n background: var(--vscode-button-secondaryBackground);\n color: var(--vscode-button-secondaryForeground);\n\n &:active {\n background: var(--vscode-button-secondaryBackground);\n }\n\n &:hover {\n background: var(--vscode-button-secondaryHoverBackground);\n }\n }\n\n &.icon {\n background: transparent;\n border: none;\n border-radius: 5px;\n color: var(--vscode-foreground);\n padding: 3px;\n\n &:hover {\n background: rgba(90, 93, 94, 0.31);\n outline: 1px dotted var(--vscode-contrastActiveBorder);\n outline-offset: -1px;\n }\n\n &:active {\n background: rgba(90, 93, 94, 0.31);\n }\n }\n\n &:disabled {\n opacity: 0.4;\n background: var(--vscode-button-background);\n cursor: not-allowed;\n\n &.secondary {\n background: var(--vscode-button-secondaryBackground);\n }\n \n &.icon {\n background: transparent;\n }\n }\n`, v = ({\n appearance: o = \"primary\",\n className: r,\n children: n,\n disabled: e = !1,\n type: a = \"button\",\n onClick: d = void 0,\n ...t\n}) => /* @__PURE__ */ u.jsx(\n s,\n {\n className: `vscrui-button ${o} ${r || \"\"}`,\n disabled: e,\n onClick: d,\n type: a,\n ...t,\n children: n\n }\n);\nv.displayName = \"VSCRUI_Badge\";\nexport {\n v as Button\n};\n", + "import { useState as c, useEffect as a } from \"react\";\nvar t = [];\nfor (var o = 0; o < 256; ++o)\n t.push((o + 256).toString(16).slice(1));\nfunction i(n, u = 0) {\n return (t[n[u + 0]] + t[n[u + 1]] + t[n[u + 2]] + t[n[u + 3]] + \"-\" + t[n[u + 4]] + t[n[u + 5]] + \"-\" + t[n[u + 6]] + t[n[u + 7]] + \"-\" + t[n[u + 8]] + t[n[u + 9]] + \"-\" + t[n[u + 10]] + t[n[u + 11]] + t[n[u + 12]] + t[n[u + 13]] + t[n[u + 14]] + t[n[u + 15]]).toLowerCase();\n}\nvar d, p = new Uint8Array(16);\nfunction m() {\n if (!d && (d = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !d))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return d(p);\n}\nvar y = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nconst r = {\n randomUUID: y\n};\nfunction U(n, u, g) {\n if (r.randomUUID && !u && !n)\n return r.randomUUID();\n n = n || {};\n var e = n.random || (n.rng || m)();\n return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, i(e);\n}\nfunction l() {\n const [n, u] = c(\"\");\n return a(() => {\n u(U());\n }, []), n;\n}\nexport {\n l as u\n};\n", + "import { d as c, j as e } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as t from \"react\";\nimport { u as m } from \"./useId-BNxhqA0M.js\";\nconst b = c.label`\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n display: flex;\n align-items: center;\n cursor: pointer;\n position: relative;\n outline: none;\n user-select: none;\n\n &.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n }\n\n input {\n opacity: 0;\n outline: none;\n appearance: none;\n position: absolute;\n }\n`, x = c.svg`\n background: var(--vscode-checkbox-background);\n border: 1px solid var(--vscode-checkbox-border);\n border-radius: 2px;\n color: var(--vscode-checkbox-foreground);\n display: inline-block;\n width: 16px;\n height: 16px;\n transition: 60ms transform ease-in-out;\n\n &:active, &:focus, &:focus-visible {\n border-color: var(--vscode-focusBorder);\n }\n`, g = c.span`\n padding-left: 10px;\n`, k = ({ checked: o }) => /* @__PURE__ */ e.jsx(\n x,\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: o ? \"currentColor\" : \"transparent\",\n children: /* @__PURE__ */ e.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.431 3.323l-8.47 10-.79-.036-3.35-4.77.818-.574 2.978 4.24 8.051-9.506.764.646z\"\n }\n )\n }\n), w = () => /* @__PURE__ */ e.jsx(\n x,\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n children: /* @__PURE__ */ e.jsx(\"rect\", { x: \"4\", y: \"4\", height: \"8\", width: \"8\", rx: \"2\" })\n }\n), j = ({\n checked: o,\n children: n,\n className: p,\n indeterminate: s,\n disabled: i,\n onChange: a,\n ...f\n}) => {\n const [l, d] = t.useState(!!o), r = t.useRef(null), u = m(), v = (h) => {\n d(h.target.checked), a && a(h.target.checked);\n };\n return t.useEffect(() => {\n d(!!o);\n }, [o]), t.useEffect(() => {\n r.current && (r.current.indeterminate = s === !0);\n }, [s]), /* @__PURE__ */ e.jsxs(\n b,\n {\n htmlFor: u,\n className: `vscrui-checkbox ${p || \"\"} ${i ? \"disabled\" : \"\"}`,\n ...f,\n children: [\n /* @__PURE__ */ e.jsx(\n \"input\",\n {\n id: u,\n ref: r,\n type: \"checkbox\",\n checked: l,\n disabled: i,\n onChange: v\n }\n ),\n s === !0 ? /* @__PURE__ */ e.jsx(w, {}) : /* @__PURE__ */ e.jsx(k, { checked: l }),\n n && /* @__PURE__ */ e.jsx(g, { className: \"vscrui-checkbox__label\", children: n })\n ]\n }\n );\n};\nj.displayName = \"VSCRUI_Checkbox\";\nexport {\n j as Checkbox\n};\n", + "import { d as o, j as s } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst e = o.hr`\n border: none;\n border-top: 1px solid var(--vscode-settings-dropdownListBorder);\n box-sizing: content-box;\n height: 0;\n margin: 4px 0;\n width: 100%;\n`, t = ({\n className: r,\n ...i\n}) => /* @__PURE__ */ s.jsx(e, { className: `vscrui-divider ${r || \"\"}`, ...i });\nt.displayName = \"VSCRUI_Divider\";\nexport {\n t as Divider\n};\n", + "import { d as h, j as i } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as s from \"react\";\nconst M = h.div`\n display: inline-block;\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n color: var(--vscode-foreground);\n cursor: pointer;\n box-sizing: border-box;\n min-width: 100px;\n position: relative;\n user-select: none;\n outline: none;\n vertical-align: top;\n\n &.disabled {\n opacity: 0.4;\n pointer-events: none;\n cursor: not-allowed;\n }\n`, R = h.button`\n all: unset;\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--vscode-dropdown-background);\n border: 1px solid var(--vscode-dropdown-border);\n border-radius: 2px;\n height: 26px;\n box-sizing: border-box;\n contain: content;\n cursor: pointer;\n line-height: normal;\n padding: 2px 6px 2px 8px;\n width: 100%;\n\n &:not([disabled]):active,\n &.open {\n border-color: var(--vscode-focusBorder);\n }\n\n &:focus {\n border-color: var(--vscode-focusBorder);\n }\n\n &:hover {\n background: inherit;\n }\n`, $ = h.div`\n background: var(--vscode-dropdown-background);\n border: 1px solid var(--vscode-focusBorder);\n box-sizing: border-box;\n left: 0px;\n max-height: 200px;\n padding: 0 0 4px 0;\n overflow-y: auto;\n position: absolute;\n width: 100%;\n z-index: 1;\n\n // Below\n border-radius: ${(l) => l.position === \"above\" ? \"2px 2px 0 0\" : \"0 0 2px 2px\"};\n top: ${(l) => l.position === \"above\" ? \"auto\" : \"26px\"};\n bottom: ${(l) => l.position === \"above\" ? \"26px\" : \"auto\"};\n\n ul {\n box-sizing: border-box;\n cursor: pointer;\n list-style: none;\n margin: 0px;\n max-height: 222px;\n overflow: auto;\n padding: 1px;\n }\n`, D = h.button`\n all: unset;\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n color: var(--vscode-foreground);\n border: 1px solid transparent;\n border-radius: 2px;\n box-sizing: border-box;\n cursor: pointer;\n line-height: normal;\n margin: 0;\n outline: none;\n overflow: hidden;\n padding: 0 2px 1px;\n user-select: none;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 100%;\n\n &:focus-visible {\n\t\tborder-color: var(--vscode-focusBorder);\n\t\tbackground: var(--vscode-list-activeSelectionBackground);\n\t\tcolor: var(--vscode-foreground);\n }\n\n &.active {\n background: var(--vscode-list-activeSelectionBackground);\n border: 1px solid transparent;\n color: var(--vscode-list-activeSelectionForeground);\n }\n\n &:active {\n\t\tbackground: var(--vscode-list-activeSelectionBackground);\n\t\tcolor: var(--vscode-list-activeSelectionForeground);\n }\n\n &:not(.active):hover {\n background: var(--vscode-list-activeSelectionBackground);\n\t\tborder: 1px solid transparent;\n\t\tcolor: var(--vscode-list-activeSelectionForeground);\n }\n\n &:not(.active):active {\n\t\tbackground: var(--vscode-list-activeSelectionBackground);\n\t\tcolor: var(--vscode-list-activeSelectionForeground);\n\t}\n\n body[data-vscode-theme-kind='vscode-high-contrast'] &.active,\n body[data-vscode-theme-kind='vscode-high-contrast-light'] &.active,\n body[data-vscode-theme-kind='vscode-high-contrast'] &:not(.active):hover,\n body[data-vscode-theme-kind='vscode-high-contrast-light'] &:not(.active):hover {\n border-style: dotted;\n border-color: var(--vscode-list-focusOutline);\n }\n\n &:disabled {\n\t\tcursor: not-allowed;\n\t\topacity: 0.4;\n\n &:hover {\n background: inherit;\n border-color: transparent;\n }\n\t}\n\n body[data-vscode-theme-kind='vscode-high-contrast'] &:disabled,\n body[data-vscode-theme-kind='vscode-high-contrast-light'] &:disabled,\n body[data-vscode-theme-kind='vscode-high-contrast'] &:disabled:hover,\n body[data-vscode-theme-kind='vscode-high-contrast-light'] &:disabled:hover {\n background: inherit;\n border-color: transparent;\n }\n`, I = ({\n className: l,\n disabled: b,\n open: g,\n value: v,\n options: o = [],\n placeholder: S = \"\",\n position: E = \"below\",\n onChange: p,\n ...j\n}) => {\n const [d, x] = s.useState(void 0), [c, a] = s.useState(null), [n, u] = s.useState(g), f = s.useRef(null), m = s.useCallback((e) => {\n f.current && !f.current.contains(e.target) && (u(!1), a(null));\n }, [f]), k = s.useCallback((e) => {\n if (e !== d) {\n const t = o.find((r) => (typeof r == \"string\" ? r : r.value) === e);\n x(e), p && p(t);\n }\n u(!1);\n }, [d, p, o]), z = s.useCallback((e) => {\n if (n && e.preventDefault(), n && e.key === \"Escape\")\n u(!1);\n else if (n && e.key === \"ArrowDown\")\n a(c === null ? 0 : Math.min(c + 1, o.length - 1));\n else if (n && e.key === \"ArrowUp\")\n a(c === null ? o.length - 1 : Math.max(c - 1, 0));\n else if (n && e.key === \"Enter\") {\n const t = o[c || 0], r = typeof t == \"string\" ? t : t.value;\n u(!1), k(r);\n }\n }, [c, n, k, o]), y = s.useMemo(() => b || o.length === 0, [b, o]), B = s.useMemo(() => o.length > 0 ? typeof o[0] == \"string\" ? o[0] : o[0].value : \"\", [o]), V = s.useCallback(() => {\n !b && o.length > 0 && u(!n);\n }, [b, o, n]), _ = s.useMemo(() => {\n if (d && d) {\n const e = o.find((t) => (typeof t == \"string\" ? t : t.value) === d);\n return e ? typeof e == \"string\" ? e : e.label : void 0;\n }\n }, [d, o]);\n return s.useEffect(() => {\n u(!!g);\n }, [g]), s.useEffect(() => (n && document.addEventListener(\"mousedown\", m), () => {\n document.removeEventListener(\"mousedown\", m);\n }), [n, m]), s.useEffect(() => {\n if (v !== void 0) {\n const e = typeof v == \"string\" ? v : v.value;\n x(e);\n const t = o.findIndex((r) => (typeof r == \"string\" ? r : r.value) === v);\n a(t);\n } else\n x(\"\"), a(null);\n }, [v, o]), /* @__PURE__ */ i.jsxs(\n M,\n {\n className: `vscrui-dropdown ${y ? \"disabled\" : \"\"} ${l || \"\"}`,\n onKeyDown: z,\n ref: f,\n ...j,\n children: [\n /* @__PURE__ */ i.jsxs(\n R,\n {\n className: `vscrui-checkbox__trigger ${n ? \"open\" : \"\"}`,\n disabled: y,\n onClick: V,\n children: [\n /* @__PURE__ */ i.jsx(\"span\", { children: _ || S || B }),\n /* @__PURE__ */ i.jsx(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n children: /* @__PURE__ */ i.jsx(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.976 10.072l4.357-4.357.62.618L8.284 11h-.618L3 6.333l.619-.618 4.357 4.357z\"\n }\n )\n }\n )\n ]\n }\n ),\n n && !y && /* @__PURE__ */ i.jsx(\n $,\n {\n className: \"vscrui-checkbox__listbox\",\n position: E,\n children: /* @__PURE__ */ i.jsx(\"ul\", { children: o.map((e, t) => {\n const r = typeof e == \"string\" ? e : e.value, w = typeof e == \"string\" ? e : e.label, C = typeof e == \"string\" ? !1 : e.disabled;\n return /* @__PURE__ */ i.jsx(\"li\", { onMouseEnter: () => a(t), children: /* @__PURE__ */ i.jsx(\n D,\n {\n className: `vscrui-checkbox__listbox__item ${c === null && d === r || c === t ? \"active\" : \"\"}`,\n \"aria-selected\": d === r ? \"true\" : \"false\",\n disabled: C,\n onClick: () => k(r),\n children: w\n },\n t\n ) }, t);\n }) })\n }\n )\n ]\n }\n );\n};\nI.displayName = \"VSCRUI_Dropdown\";\nexport {\n I as Dropdown\n};\n", + "import { d as r, j as c } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as a from \"react\";\nconst m = r.i`\n display: inline-block;\n color: var(--vscode-icon-foreground);\n display: inline-block;\n text-decoration: none;\n text-rendering: auto;\n text-align: center;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n user-select: none;\n\n &.codicon-spin {\n animation: spin 1.5s steps(30) infinite;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`, l = ({\n className: n,\n name: t,\n spin: e = !1,\n size: o = 16,\n ...i\n}) => {\n const s = a.useMemo(() => typeof o == \"number\" ? `${o}px` : o, [o]);\n return /* @__PURE__ */ c.jsx(\n m,\n {\n className: `vscrui-icon codicon codicon-${t} ${e ? \"codicon-spin\" : \"\"} ${n || \"\"}`,\n style: { fontSize: s },\n ...i\n }\n );\n};\nl.displayName = \"VSCRUI_Icon\";\nexport {\n l as Icon\n};\n", + "import { d as s, j as l } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst r = s.label`\n color: var(--vscode-foreground);\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n font-weight: 400;\n margin: 0;\n overflow: hidden;\n padding: 4px 0 0;\n text-overflow: ellipsis;\n display: block;\n white-space: nowrap;\n`, t = ({\n children: e,\n className: o,\n ...a\n}) => /* @__PURE__ */ l.jsx(\n r,\n {\n className: `vscrui-label ${o || \"\"}`,\n ...a,\n children: e\n }\n);\nt.displayName = \"VSCRUI_Label\";\nexport {\n t as Label\n};\n", + "import { d as e, j as i } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst d = e.div`\n background: var(--vscode-editor-background);\n position: fixed;\n inset: 0;\n height: 100%;\n width: 100%;\n z-index: 9999;\n opacity: 0.75;\n`, a = e.div`\n position: absolute;\n top: 0;\n width: 100%;\n height: 2px;\n`, s = e.div`\n height: 100%;\n position: absolute;\n background: var(--vscode-activityBarBadge-background);\n animation: vscode-loader 4s ease-in-out infinite; \n\n @keyframes vscode-loader {\n 0% {\n left: -30px;\n width: 30px;\n }\n 25% {\n width: 50px;\n }\n 50% {\n width: 20px;\n }\n 75% {\n width: 50px;\n }\n 100% {\n width: 20px;\n left: 100%;\n }\n }\n`, r = ({\n className: o,\n ...t\n}) => /* @__PURE__ */ i.jsx(d, { className: `vscrui-loader ${o || \"\"}`, ...t, children: /* @__PURE__ */ i.jsx(a, { children: /* @__PURE__ */ i.jsx(s, {}) }) });\nr.displayName = \"VSCRUI_Loader\";\nexport {\n r as Loader\n};\n", + "import { d as r, j as s } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst t = r.section`\n color: inherit;\n background-color: transparent;\n border: 1px solid transparent;\n box-sizing: border-box;\n font-size: var(--vscode-font-size, 13px);\n line-height: normal;\n padding: 10px 6px;\n display: ${(i) => i.hidden ? \"none\" : \"block\"};\n height: ${(i) => i.hidden ? \"0\" : \"auto\"};\n transition: all 0.1s;\n transition-behavior: allow-discrete;\n`, a = ({\n className: i,\n children: e,\n isVisible: o = !1,\n ...n\n}) => /* @__PURE__ */ s.jsx(\n t,\n {\n className: `vscrui-view ${i || \"\"}`,\n hidden: !o,\n ...n,\n children: e\n }\n);\na.displayName = \"VSCRUI_View\";\nexport {\n a as View\n};\n", + "import { d as s, j as e } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as d from \"react\";\nimport { View as v } from \"./view.js\";\nimport { Icon as f } from \"./icon.js\";\nconst c = s.div`\n display: none;\n margin-left: auto;\n`, g = s.div`\n font-family: var(--vscode-font-family);\n font-size: 11px;\n font-weight: 700;\n color: var(--vscode-sideBarSectionHeader-foreground);\n background-color: var(--vscode-sideBarSectionHeader-background);\n border-top: 1px solid var(--vscode-sideBarSectionHeader-border);\n text-transform: uppercase;\n\n box-sizing: border-box;\n display: flex;\n align-items: center;\n height: 22px;\n line-height: 22px;\n width: 100%;\n cursor: pointer;\n\n position: relative;\n overflow: hidden;\n user-select: none;\n\n > svg {\n color: var(--vscode-icon-foreground);\n margin: 0 2px;\n }\n\n &:hover {\n ${c} {\n display: flex;\n }\n }\n`, m = /* @__PURE__ */ e.jsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"16px\", height: \"16px\", viewBox: \"0 0 16 16\", children: /* @__PURE__ */ e.jsx(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M10.072 8.024L5.715 3.667l.618-.62L11 7.716v.618L6.333 13l-.618-.619z\", clipRule: \"evenodd\" }) }), u = /* @__PURE__ */ e.jsx(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"16px\", height: \"16px\", viewBox: \"0 0 16 16\", children: /* @__PURE__ */ e.jsx(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"m7.976 10.072l4.357-4.357l.62.618L8.284 11h-.618L3 6.333l.619-.618z\", clipRule: \"evenodd\" }) }), w = s.h3`\n font-size: 11px;\n font-weight: 700;\n min-width: 3ch;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin: 0;\n`, p = ({\n actions: o,\n children: l,\n open: r,\n triggerOpen: i\n}) => /* @__PURE__ */ e.jsxs(\n g,\n {\n role: \"button\",\n onClick: i,\n children: [\n r ? u : m,\n /* @__PURE__ */ e.jsx(w, { children: l }),\n o && o.length > 0 && /* @__PURE__ */ e.jsx(c, { children: o.map((t, n) => /* @__PURE__ */ e.jsx(\n x,\n {\n iconName: t.iconName,\n onClick: t.onClick\n },\n n\n )) })\n ]\n }\n);\np.displayName = \"VSCRUI_PaneHeader\";\nconst b = s.div`\n display: flex;\n flex-direction: column;\n overflow: hidden;\n width: 100%;\n`, j = s(v)`\n flex: 1;\n overflow: hidden;\n padding: unset;\n`, y = ({\n actions: o = [],\n children: l,\n open: r = !1,\n title: i,\n onClick: t\n}) => {\n const [n, a] = d.useState(!1), h = d.useCallback(() => {\n a(!n), t && t(!n);\n }, [n, t]);\n return d.useEffect(() => {\n a(r);\n }, [r]), /* @__PURE__ */ e.jsxs(b, { children: [\n /* @__PURE__ */ e.jsx(\n p,\n {\n actions: o,\n open: n,\n triggerOpen: h,\n children: i\n }\n ),\n /* @__PURE__ */ e.jsx(j, { isVisible: n, children: l })\n ] });\n};\ny.displayName = \"VSCRUI_Pane\";\nconst C = s.button`\n all: unset;\n\n color: var(--vscode-icon-foreground);\n font-size: 16px;\n padding: 2px;\n margin-right: 4px;\n\n background: none;\n border: none;\n cursor: pointer;\n border-radius: 2px;\n\n align-items: center;\n display: flex;\n height: 16px;\n width: 16px;\n\n &:hover {\n background-color: var(--vscode-toolbar-hoverBackground);\n }\n`, x = ({\n iconName: o,\n onClick: l\n}) => {\n const r = (i) => {\n i.preventDefault(), i.stopPropagation(), l();\n };\n return /* @__PURE__ */ e.jsx(C, { onClick: r, children: /* @__PURE__ */ e.jsx(f, { name: o }) });\n};\nx.displayName = \"VSCRUI_PaneActionButton\";\nexport {\n y as P,\n p as a,\n x as b\n};\n", + "import { d as i, j as n } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst s = i.button`\n all: unset;\n color: var(--vscode-panelTitle-inactiveForeground);\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size, 13px);\n box-sizing: border-box;\n height: 28px;\n padding: 4px 0;\n fill: currentcolor;\n border-radius: 2px;\n border: 1px solid transparent;\n align-items: center;\n justify-content: center;\n grid-row: 1;\n cursor: pointer;\n\n &:hover, &:active, &[aria-selected='true'], &[aria-selected='true']:hover, &[aria-selected='true']:active {\n background: transparent;\n color: var(--vscode-panelTitle-activeForeground);\n\t\tfill: currentcolor;\n }\n\n &[aria-selected='true'] {\n border-bottom: 1px solid var(--vscode-panelTitle-activeForeground);\n }\n\n &:focus-visible {\n outline: none;\n\t\tborder: 1px solid var(--vscode-panelTitle-activeBorder);\n }\n\n &:focus {\n outline: none;\n }\n`, l = ({\n children: e,\n isSelected: r,\n className: o,\n onClick: t,\n ...a\n}) => /* @__PURE__ */ n.jsx(\n s,\n {\n className: `vscrui-tab ${o || \"\"}`,\n onClick: t,\n \"aria-selected\": r,\n role: \"tab\",\n ...a,\n children: e\n }\n);\nl.displayName = \"VSCRUI_Tab\";\nexport {\n l as Tab\n};\n", + "import { d as a, j as s } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as d from \"react\";\nimport { Tab as x } from \"./tab.js\";\nimport { View as g } from \"./view.js\";\nconst v = a.div`\n color: var(--vscode-badge-foreground);\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size, 13px);\n box-sizing: border-box;\n line-height: normal;\n grid-template-columns: auto 1fr auto;\n grid-template-rows: auto 1fr;\n overflow-x: auto;\n`, h = a.div`\n display: grid;\n grid-template-rows: auto auto;\n grid-template-columns: auto;\n column-gap: 32px;\n position: relative;\n width: max-content;\n align-self: end;\n padding: 4px 4px 0;\n box-sizing: border-box;\n`, b = a.div`\n grid-row: 2;\n grid-column-start: 1;\n grid-column-end: 4;\n position: relative;\n`, j = ({\n className: m,\n tabs: i,\n views: o,\n activeTab: n,\n onTabChange: c,\n ...p\n}) => {\n const [l, t] = d.useState(n), u = d.useMemo(() => o.map((e) => e.id), [o]), f = (e) => {\n t(e.id), c && c(e.id);\n }, r = d.useMemo(() => o.find((e) => e.id === l), [o, l]);\n return d.useEffect(() => {\n if (n) {\n t(n);\n return;\n }\n if (i && i.length) {\n const e = i[0];\n t(e.id);\n return;\n }\n }, [n, i, o]), /* @__PURE__ */ s.jsxs(\n v,\n {\n className: `vscrui-panels ${m || \"\"}`,\n \"aria-label\": \"Panels\",\n ...p,\n children: [\n /* @__PURE__ */ s.jsx(\n h,\n {\n className: \"vscrui-panels__tablist\",\n role: \"tablist\",\n children: i.map((e) => u.includes(e.id) && /* @__PURE__ */ s.jsx(\n x,\n {\n isSelected: e.id === l,\n onClick: () => f(e),\n style: {\n gridColumn: i.indexOf(e) + 1\n },\n \"aria-label\": e.label,\n tabIndex: e.id === l ? 0 : -1,\n children: e.label\n },\n e.id\n ))\n }\n ),\n /* @__PURE__ */ s.jsx(b, { className: \"vscrui-panels__views\", children: r && /* @__PURE__ */ s.jsx(\n g,\n {\n isVisible: r.id === l,\n role: \"tabpanel\",\n \"aria-labelledby\": r.id,\n children: r.content\n },\n r.id\n ) })\n ]\n }\n );\n};\nj.displayName = \"VSCRUI_Panels\";\nexport {\n j as Panels\n};\n", + "import { d as c, j as u } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as e from \"react\";\nconst b = c.div`\n color: var(--vscode-foreground);\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n padding: 4px 12px;\n opacity: 1;\n box-sizing: border-box;\n line-height: normal;\n font-weight: 400;\n border: solid 1px transparent;\n border-radius: 2px;\n white-space: wrap;\n overflow-wrap: anywhere;\n`, v = ({\n children: r,\n className: t,\n colspan: n,\n ...l\n}) => /* @__PURE__ */ u.jsx(\n b,\n {\n className: `vscrui_table_cell ${t || \"\"}`,\n ...l,\n children: r\n }\n);\nv.displayName = \"VSCRUI_TableCell\";\nconst m = c.div`\n display: grid;\n padding: 1px 0;\n box-sizing: border-box;\n width: 100%;\n background: transparent;\n\n &:hover {\n background: var(--vscode-list-hoverBackground);\n outline: 1px dotted var(--vscode-contrastActiveBorder);\n outline-offset: -1px;\n }\n\n &.vscrui_table_row_header {\n ${b} {\n font-weight: 600;\n }\n }\n`, p = ({\n children: r,\n className: t,\n isHeader: n = !1,\n ...l\n}) => {\n const s = e.useMemo(() => e.Children.toArray(r).filter((a) => e.isValidElement(a) && a.type === v), [r]), i = e.useMemo(() => s.length > 0, [s]), o = e.useMemo(() => {\n let a = [];\n return s.forEach((d) => {\n console.log(\"child\", d), d.props.colspan ? a.push(`${d.props.colspan}fr`) : a.push(\"1fr\");\n }), a.join(\" \");\n }, [s, i]);\n return /* @__PURE__ */ u.jsx(\n m,\n {\n className: `${n ? \"vscrui_table_row vscrui_table_row_header\" : \"vscrui_table_row\"} ${t || \"\"}`,\n style: {\n gridTemplateColumns: o\n },\n ...l,\n children: s\n }\n );\n};\np.displayName = \"VSCRUI_TableRow\";\nconst f = c.div`\n display: flex;\n position: relative;\n flex-direction: column;\n width: 100%;\n\n &.stripped {\n ${m} {\n &:nth-child(odd) {\n background-color: var(--vscode-keybindingTable-rowsBackground);\n\n &:hover {\n background: var(--vscode-list-hoverBackground);\n }\n }\n }\n }\n`, h = ({\n children: r,\n className: t,\n stripped: n = !0,\n ...l\n}) => {\n const s = e.useMemo(() => e.Children.toArray(r).find((o) => e.isValidElement(o) && o.type === p && o.props.isHeader), [r]), i = e.useMemo(() => e.Children.toArray(r).filter((o) => e.isValidElement(o) && o.type === p && !o.props.isHeader), [r]);\n return /* @__PURE__ */ u.jsxs(\n f,\n {\n className: `vscrui_table ${t || \"\"} ${n ? \"stripped\" : \"\"}`,\n ...l,\n children: [\n s,\n i\n ]\n }\n );\n};\nh.displayName = \"VSCRUI_Table\";\nexport {\n v as T,\n b as _,\n m as a,\n p as b,\n h as c\n};\n", + "import { d as a, j as s } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nconst t = a.div`\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n color: var(--vscode-badge-foreground);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: var(--vscode-badge-background);\n border: 1px solid var(--vscode-button-border);\n border-radius: 2px;\n padding: 2px 4px;\n text-transform: uppercase;\n`, d = ({\n children: o,\n className: r,\n ...e\n}) => /* @__PURE__ */ s.jsx(\n t,\n {\n className: `vscrui-tag ${r || \"\"}`,\n ...e,\n children: o\n }\n);\nd.displayName = \"VSCRUI_Tag\";\nexport {\n d as Tag\n};\n", + "import { d as r, j as o } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as n from \"react\";\nimport { Label as z } from \"./label.js\";\nimport { u as h } from \"./useId-BNxhqA0M.js\";\nconst g = r.div`\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n display: inline-block;\n min-width: 100px;\n`, w = r(z)`\n margin-bottom: 2px;\n`, y = r.textarea`\n appearance: none;\n font-size: var(--vscode-font-size);\n color: var(--vscode-input-foreground);\n background: var(--vscode-input-background);\n border: 1px solid var(--vscode-dropdown-border);\n border-radius: 2px;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: row;\n height: 26px;\n padding: 9px;\n width: 100%;\n height: 100%;\n resize: none;\n\n &:hover,\n\t&:focus-visible,\n\t&:disabled,\n\t&:active,\n &:focus {\n\t\toutline: none;\n box-shadow: none;\n\t}\n\n &:not([disabled]):hover {\n background: var(--vscode-input-background);\n border-color: var(--vscode-dropdown-border);\n }\n\n &:not([disabled]):active {\n background: var(--vscode-input-background);\n\t\tborder-color: var(--vscode-focusBorder);\n\t}\n\n &:not([disabled]):focus,\n &:not([disabled]):focus-within {\n\t\tborder-color: var(--vscode-focusBorder);\n }\n\n &:disabled,\n\t&:readonly {\n\t\tcursor: not-allowed;\n\t}\n\n &:disabled {\n opacity: 0.4;\n border-color: var(--vscode-dropdown-border);\n }\n\n &[data-resize='both'] {\n resize: both;\n }\n\n &[data-resize='horizontal'] {\n resize: horizontal;\n }\n\n &[data-resize='vertical'] {\n resize: vertical;\n }\n\n &[data-resize='none'] {\n resize: none;\n }\n`, k = ({\n className: c,\n children: a,\n disabled: l,\n readonly: u,\n value: e,\n defaultValue: v,\n onChange: t,\n placeholder: b,\n resize: p,\n ...f\n}) => {\n const [x, s] = n.useState(e), d = h(), m = (i) => {\n s(i.target.value), t && t(i.target.value);\n };\n return n.useEffect(() => {\n s(e);\n }, [e]), /* @__PURE__ */ o.jsxs(\n g,\n {\n className: `vscrui-textArea ${c || \"\"}`,\n ...f,\n children: [\n a && /* @__PURE__ */ o.jsx(w, { htmlFor: d, children: a }),\n /* @__PURE__ */ o.jsx(\n y,\n {\n id: d,\n className: \"vscrui-TextArea__input\",\n value: x,\n defaultValue: v,\n placeholder: b,\n \"data-resize\": p,\n disabled: l,\n readOnly: u,\n onChange: m\n }\n )\n ]\n }\n );\n};\nk.displayName = \"VSCRUI_TextArea\";\nexport {\n k as TextArea\n};\n", + "import { d as r, j as e } from \"./styled-components.browser.esm-DoVHB1Yc.js\";\nimport * as n from \"react\";\nimport { Label as m } from \"./label.js\";\nimport { u as g } from \"./useId-BNxhqA0M.js\";\nconst h = r.div`\n font-family: var(--vscode-font-family);\n font-size: var(--vscode-font-size);\n display: inline-block;\n min-width: 100px;\n`, w = r(m)`\n margin-bottom: 2px;\n`, y = r.input`\n appearance: none;\n font-size: var(--vscode-font-size);\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: row;\n color: var(--vscode-input-foreground);\n background: var(--vscode-input-background);\n border-radius: 2px;\n border: 1px solid var(--vscode-dropdown-border);\n height: 26px;\n padding: 0 9px;\n width: 100%;\n\n &:hover,\n\t&:focus-visible,\n\t&:disabled,\n\t&:active,\n &:focus {\n\t\toutline: none;\n box-shadow: none;\n\t}\n\n &:not([disabled]):hover {\n background: var(--vscode-input-background);\n border-color: var(--vscode-dropdown-border);\n }\n\n &:not([disabled]):active {\n background: var(--vscode-input-background);\n\t\tborder-color: var(--vscode-focusBorder);\n\t}\n\n &:not([disabled]):focus,\n &:not([disabled]):focus-within {\n\t\tborder-color: var(--vscode-focusBorder);\n }\n\n &:disabled,\n\t&:readonly {\n\t\tcursor: not-allowed;\n\t}\n\n &:disabled {\n opacity: 0.4;\n border-color: var(--vscode-dropdown-border);\n }\n`, k = ({\n className: c,\n children: d,\n disabled: l,\n readonly: u,\n value: o,\n defaultValue: p,\n onChange: t,\n placeholder: v,\n ...b\n}) => {\n const [f, s] = n.useState(o), a = g(), x = (i) => {\n s(i.target.value), t && t(i.target.value);\n };\n return n.useEffect(() => {\n s(o);\n }, [o]), /* @__PURE__ */ e.jsxs(\n h,\n {\n className: `vscrui-textfield ${c || \"\"}`,\n ...b,\n children: [\n d && /* @__PURE__ */ e.jsx(w, { htmlFor: a, children: d }),\n /* @__PURE__ */ e.jsx(\n y,\n {\n type: \"text\",\n id: a,\n className: \"vscrui-textfield__input\",\n value: f,\n defaultValue: p,\n placeholder: v,\n disabled: l,\n readOnly: u,\n onChange: x\n }\n )\n ]\n }\n );\n};\nk.displayName = \"VSCRUI_TextField\";\nexport {\n k as TextField\n};\n", + "import React from \"react\"\nimport { VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\n\ninterface VSCodeButtonLinkProps {\n\thref: string\n\tchildren: React.ReactNode\n\t[key: string]: any\n}\n\nexport const VSCodeButtonLink = ({ href, children, ...props }: VSCodeButtonLinkProps) => (\n\t<a\n\t\thref={href}\n\t\tstyle={{\n\t\t\ttextDecoration: \"none\",\n\t\t\tcolor: \"inherit\",\n\t\t}}>\n\t\t<VSCodeButton {...props}>{children}</VSCodeButton>\n\t</a>\n)\n", + "export const noTransform = <T>(value: T) => value\n\nexport const inputEventTransform = <E>(event: E) => (event as { target: HTMLInputElement })?.target?.value as any\n", + "import { useCallback, useState } from \"react\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform, noTransform } from \"../transforms\"\n\ntype AnthropicProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Anthropic = ({ apiConfiguration, setApiConfigurationField }: AnthropicProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [anthropicBaseUrlSelected, setAnthropicBaseUrlSelected] = useState(!!apiConfiguration?.anthropicBaseUrl)\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.apiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"apiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.anthropicApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.apiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://console.anthropic.com/settings/keys\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getAnthropicApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t\t<div>\n\t\t\t\t<Checkbox\n\t\t\t\t\tchecked={anthropicBaseUrlSelected}\n\t\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\t\tsetAnthropicBaseUrlSelected(checked)\n\n\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\tsetApiConfigurationField(\"anthropicBaseUrl\", \"\")\n\t\t\t\t\t\t\tsetApiConfigurationField(\"anthropicUseAuthToken\", false)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{t(\"settings:providers.useCustomBaseUrl\")}\n\t\t\t\t</Checkbox>\n\t\t\t\t{anthropicBaseUrlSelected && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\tvalue={apiConfiguration?.anthropicBaseUrl || \"\"}\n\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\tonInput={handleInputChange(\"anthropicBaseUrl\")}\n\t\t\t\t\t\t\tplaceholder=\"https://api.anthropic.com\"\n\t\t\t\t\t\t\tclassName=\"w-full mt-1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={apiConfiguration?.anthropicUseAuthToken ?? false}\n\t\t\t\t\t\t\tonChange={handleInputChange(\"anthropicUseAuthToken\", noTransform)}\n\t\t\t\t\t\t\tclassName=\"w-full mt-1\">\n\t\t\t\t\t\t\t{t(\"settings:providers.anthropicUseAuthToken\")}\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState, useEffect } from \"react\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, type ModelInfo, BEDROCK_REGIONS } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, StandardTooltip } from \"@src/components/ui\"\n\nimport { inputEventTransform, noTransform } from \"../transforms\"\n\ntype BedrockProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\tselectedModelInfo?: ModelInfo\n}\n\nexport const Bedrock = ({ apiConfiguration, setApiConfigurationField, selectedModelInfo }: BedrockProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [awsEndpointSelected, setAwsEndpointSelected] = useState(!!apiConfiguration?.awsBedrockEndpointEnabled)\n\n\t// Update the endpoint enabled state when the configuration changes\n\tuseEffect(() => {\n\t\tsetAwsEndpointSelected(!!apiConfiguration?.awsBedrockEndpointEnabled)\n\t}, [apiConfiguration?.awsBedrockEndpointEnabled])\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">Authentication Method</label>\n\t\t\t\t<Select\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tapiConfiguration?.awsUseApiKey\n\t\t\t\t\t\t\t? \"apikey\"\n\t\t\t\t\t\t\t: apiConfiguration?.awsUseProfile\n\t\t\t\t\t\t\t\t? \"profile\"\n\t\t\t\t\t\t\t\t: \"credentials\"\n\t\t\t\t\t}\n\t\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\t\tif (value === \"apikey\") {\n\t\t\t\t\t\t\tsetApiConfigurationField(\"awsUseApiKey\", true)\n\t\t\t\t\t\t\tsetApiConfigurationField(\"awsUseProfile\", false)\n\t\t\t\t\t\t} else if (value === \"profile\") {\n\t\t\t\t\t\t\tsetApiConfigurationField(\"awsUseApiKey\", false)\n\t\t\t\t\t\t\tsetApiConfigurationField(\"awsUseProfile\", true)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetApiConfigurationField(\"awsUseApiKey\", false)\n\t\t\t\t\t\t\tsetApiConfigurationField(\"awsUseProfile\", false)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t<SelectItem value=\"credentials\">{t(\"settings:providers.awsCredentials\")}</SelectItem>\n\t\t\t\t\t\t<SelectItem value=\"profile\">{t(\"settings:providers.awsProfile\")}</SelectItem>\n\t\t\t\t\t\t<SelectItem value=\"apikey\">{t(\"settings:providers.awsApiKey\")}</SelectItem>\n\t\t\t\t\t</SelectContent>\n\t\t\t\t</Select>\n\t\t\t</div>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-3\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{apiConfiguration?.awsUseApiKey ? (\n\t\t\t\t<VSCodeTextField\n\t\t\t\t\tvalue={apiConfiguration?.awsApiKey || \"\"}\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tonInput={handleInputChange(\"awsApiKey\")}\n\t\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.awsApiKey\")}</label>\n\t\t\t\t</VSCodeTextField>\n\t\t\t) : apiConfiguration?.awsUseProfile ? (\n\t\t\t\t<VSCodeTextField\n\t\t\t\t\tvalue={apiConfiguration?.awsProfile || \"\"}\n\t\t\t\t\tonInput={handleInputChange(\"awsProfile\")}\n\t\t\t\t\tplaceholder={t(\"settings:placeholders.profileName\")}\n\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.awsProfileName\")}</label>\n\t\t\t\t</VSCodeTextField>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.awsAccessKey || \"\"}\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tonInput={handleInputChange(\"awsAccessKey\")}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.accessKey\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.awsAccessKey\")}</label>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.awsSecretKey || \"\"}\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tonInput={handleInputChange(\"awsSecretKey\")}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.secretKey\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.awsSecretKey\")}</label>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.awsSessionToken || \"\"}\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tonInput={handleInputChange(\"awsSessionToken\")}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.sessionToken\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.awsSessionToken\")}</label>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.awsRegion\")}</label>\n\t\t\t\t<Select\n\t\t\t\t\tvalue={apiConfiguration?.awsRegion || \"\"}\n\t\t\t\t\tonValueChange={(value) => setApiConfigurationField(\"awsRegion\", value)}>\n\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t{BEDROCK_REGIONS.map(({ value, label }) => (\n\t\t\t\t\t\t\t<SelectItem key={value} value={value}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</SelectContent>\n\t\t\t\t</Select>\n\t\t\t</div>\n\t\t\t<Checkbox\n\t\t\t\tchecked={apiConfiguration?.awsUseCrossRegionInference || false}\n\t\t\t\tonChange={handleInputChange(\"awsUseCrossRegionInference\", noTransform)}>\n\t\t\t\t{t(\"settings:providers.awsCrossRegion\")}\n\t\t\t</Checkbox>\n\t\t\t{selectedModelInfo?.supportsPromptCache && (\n\t\t\t\t<>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tchecked={apiConfiguration?.awsUsePromptCache || false}\n\t\t\t\t\t\tonChange={handleInputChange(\"awsUsePromptCache\", noTransform)}>\n\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t<span>{t(\"settings:providers.enablePromptCaching\")}</span>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.enablePromptCachingTitle\")}>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Checkbox>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground ml-6 mt-1\">\n\t\t\t\t\t\t{t(\"settings:providers.cacheUsageNote\")}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<Checkbox\n\t\t\t\tchecked={awsEndpointSelected}\n\t\t\t\tonChange={(isChecked) => {\n\t\t\t\t\tsetAwsEndpointSelected(isChecked)\n\t\t\t\t\tsetApiConfigurationField(\"awsBedrockEndpointEnabled\", isChecked)\n\t\t\t\t}}>\n\t\t\t\t{t(\"settings:providers.awsBedrockVpc.useCustomVpcEndpoint\")}\n\t\t\t</Checkbox>\n\t\t\t{awsEndpointSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.awsBedrockEndpoint || \"\"}\n\t\t\t\t\t\tstyle={{ width: \"100%\", marginTop: 3, marginBottom: 5 }}\n\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\tonInput={handleInputChange(\"awsBedrockEndpoint\")}\n\t\t\t\t\t\tplaceholder={t(\"settings:providers.awsBedrockVpc.vpcEndpointUrlPlaceholder\")}\n\t\t\t\t\t\tdata-testid=\"vpc-endpoint-input\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground ml-6 mt-1 mb-3\">\n\t\t\t\t\t\t{t(\"settings:providers.awsBedrockVpc.examples\")}\n\t\t\t\t\t\t<div className=\"ml-2\">• https://vpce-xxx.bedrock.region.vpce.amazonaws.com/</div>\n\t\t\t\t\t\t<div className=\"ml-2\">• https://gateway.my-company.com/route/app/bedrock</div>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype CerebrasProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Cerebras = ({ apiConfiguration, setApiConfigurationField }: CerebrasProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.cerebrasApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"cerebrasApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.cerebrasApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.cerebrasApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://cloud.cerebras.ai?utm_source=roocode\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getCerebrasApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype ChutesProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Chutes = ({ apiConfiguration, setApiConfigurationField }: ChutesProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.chutesApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"chutesApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.chutesApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.chutesApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://chutes.ai/app/api\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getChutesApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import React from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\nimport { type ProviderSettings } from \"@roo-code/types\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Slider } from \"@src/components/ui\"\n\ninterface ClaudeCodeProps {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const ClaudeCode: React.FC<ClaudeCodeProps> = ({ apiConfiguration, setApiConfigurationField }) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = (e: Event | React.FormEvent<HTMLElement>) => {\n\t\tconst element = e.target as HTMLInputElement\n\t\tsetApiConfigurationField(\"claudeCodePath\", element.value)\n\t}\n\n\tconst maxOutputTokens = apiConfiguration?.claudeCodeMaxOutputTokens || 8000\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<VSCodeTextField\n\t\t\t\t\tvalue={apiConfiguration?.claudeCodePath || \"\"}\n\t\t\t\t\tstyle={{ width: \"100%\", marginTop: 3 }}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tonInput={handleInputChange}\n\t\t\t\t\tplaceholder={t(\"settings:providers.claudeCode.placeholder\")}>\n\t\t\t\t\t{t(\"settings:providers.claudeCode.pathLabel\")}\n\t\t\t\t</VSCodeTextField>\n\n\t\t\t\t<p\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\t\tmarginTop: 3,\n\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t}}>\n\t\t\t\t\t{t(\"settings:providers.claudeCode.description\")}\n\t\t\t\t</p>\n\t\t\t</div>\n\n\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t<div className=\"font-medium\">{t(\"settings:providers.claudeCode.maxTokensLabel\")}</div>\n\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t<Slider\n\t\t\t\t\t\tmin={8000}\n\t\t\t\t\t\tmax={64000}\n\t\t\t\t\t\tstep={1024}\n\t\t\t\t\t\tvalue={[maxOutputTokens]}\n\t\t\t\t\t\tonValueChange={([value]) => setApiConfigurationField(\"claudeCodeMaxOutputTokens\", value)}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"w-16 text-sm text-center\">{maxOutputTokens}</div>\n\t\t\t\t</div>\n\t\t\t\t<p className=\"text-sm text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t{t(\"settings:providers.claudeCode.maxTokensDescription\")}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype DeepSeekProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const DeepSeek = ({ apiConfiguration, setApiConfigurationField }: DeepSeekProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.deepSeekApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"deepSeekApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.deepSeekApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.deepSeekApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://platform.deepseek.com/\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getDeepSeekApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype DoubaoProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Doubao = ({ apiConfiguration, setApiConfigurationField }: DoubaoProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.doubaoApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"doubaoApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.doubaoApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.doubaoApiKey && (\n\t\t\t\t<VSCodeButtonLink\n\t\t\t\t\thref=\"https://www.volcengine.com/experience/ark?model=doubao-1-5-thinking-vision-pro-250428\"\n\t\t\t\t\tappearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getDoubaoApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState } from \"react\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype GeminiProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\tfromWelcomeView?: boolean\n}\n\nexport const Gemini = ({ apiConfiguration, setApiConfigurationField, fromWelcomeView }: GeminiProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [googleGeminiBaseUrlSelected, setGoogleGeminiBaseUrlSelected] = useState(\n\t\t!!apiConfiguration?.googleGeminiBaseUrl,\n\t)\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.geminiApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"geminiApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.geminiApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.geminiApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://ai.google.dev/\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getGeminiApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\n\t\t\t<div>\n\t\t\t\t<Checkbox\n\t\t\t\t\tdata-testid=\"checkbox-custom-base-url\"\n\t\t\t\t\tchecked={googleGeminiBaseUrlSelected}\n\t\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\t\tsetGoogleGeminiBaseUrlSelected(checked)\n\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\tsetApiConfigurationField(\"googleGeminiBaseUrl\", \"\")\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{t(\"settings:providers.useCustomBaseUrl\")}\n\t\t\t\t</Checkbox>\n\t\t\t\t{googleGeminiBaseUrlSelected && (\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.googleGeminiBaseUrl || \"\"}\n\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\tonInput={handleInputChange(\"googleGeminiBaseUrl\")}\n\t\t\t\t\t\tplaceholder={t(\"settings:defaults.geminiUrl\")}\n\t\t\t\t\t\tclassName=\"w-full mt-1\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{!fromWelcomeView && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tclassName=\"mt-6\"\n\t\t\t\t\t\t\tdata-testid=\"checkbox-url-context\"\n\t\t\t\t\t\t\tchecked={!!apiConfiguration.enableUrlContext}\n\t\t\t\t\t\t\tonChange={(checked: boolean) => setApiConfigurationField(\"enableUrlContext\", checked)}>\n\t\t\t\t\t\t\t{t(\"settings:providers.geminiParameters.urlContext.title\")}\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-3 mt-1.5\">\n\t\t\t\t\t\t\t{t(\"settings:providers.geminiParameters.urlContext.description\")}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tdata-testid=\"checkbox-grounding-search\"\n\t\t\t\t\t\t\tchecked={!!apiConfiguration.enableGrounding}\n\t\t\t\t\t\t\tonChange={(checked: boolean) => setApiConfigurationField(\"enableGrounding\", checked)}>\n\t\t\t\t\t\t\t{t(\"settings:providers.geminiParameters.groundingSearch.title\")}\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-3 mt-1.5\">\n\t\t\t\t\t\t\t{t(\"settings:providers.geminiParameters.groundingSearch.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { Package } from \"@roo/package\"\n\nexport function getCallbackUrl(provider: string, uriScheme?: string) {\n\treturn encodeURIComponent(`${uriScheme || \"vscode\"}://${Package.publisher}.${Package.name}/${provider}`)\n}\n\nexport function getGlamaAuthUrl(uriScheme?: string) {\n\treturn `https://glama.ai/oauth/authorize?callback_url=${getCallbackUrl(\"glama\", uriScheme)}`\n}\n\nexport function getOpenRouterAuthUrl(uriScheme?: string) {\n\treturn `https://openrouter.ai/auth?callback_url=${getCallbackUrl(\"openrouter\", uriScheme)}`\n}\n\nexport function getRequestyAuthUrl(uriScheme?: string) {\n\treturn `https://app.requesty.ai/oauth/authorize?callback_url=${getCallbackUrl(\"requesty\", uriScheme)}`\n}\n", + "export const formatPrice = (price: number) => {\n\treturn new Intl.NumberFormat(\"en-US\", {\n\t\tstyle: \"currency\",\n\t\tcurrency: \"USD\",\n\t\tminimumFractionDigits: 2,\n\t\tmaximumFractionDigits: 2,\n\t}).format(price)\n}\n", + "'use strict'\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n", + "/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n", + "'use strict';\n\nmodule.exports = value => {\n\tif (Object.prototype.toString.call(value) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn prototype === null || prototype === Object.prototype;\n};\n", + "'use strict'\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n// Wrap `fn`.\n// Can be sync or async; return a promise, receive a completion handler, return\n// new values and errors.\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (error) {\n // Well, this is quite the pickle.\n // `fn` received a callback and invoked it (thus continuing the pipeline),\n // but later also threw an error.\n // We’re not about to restart the pipeline again, so the only thing left\n // to do is to throw the thing instead.\n if (callback && invoked) {\n throw error\n }\n\n return done(error)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n // Invoke `next`, only once.\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n // Invoke `done` with one value.\n // Tracks if an error is passed, too.\n function then(value) {\n done(null, value)\n }\n}\n", + "'use strict'\n\nvar wrap = require('./wrap.js')\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n// Create new middleware.\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n // Run `fns`. Last argument must be a completion handler.\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n // Run the next `fn`, if any.\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n // Copy non-nully input into values.\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n // Next or done.\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n // Add `fn` to the list.\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n", + "'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n // Position.\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n // Point.\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n", + "'use strict'\n\nvar stringify = require('unist-util-stringify-position')\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n", + "'use strict'\n\n// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexports.basename = basename\nexports.dirname = dirname\nexports.extname = extname\nexports.join = join\nexports.sep = '/'\n\nfunction basename(path, ext) {\n var start = 0\n var end = -1\n var index\n var firstNonSlashEnd\n var seenNonSlash\n var extIndex\n\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n index = path.length\n\n if (ext === undefined || !ext.length || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n firstNonSlashEnd = -1\n extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\nfunction dirname(path) {\n var end\n var unmatchedSlash\n var index\n\n assertPath(path)\n\n if (!path.length) {\n return '.'\n }\n\n end = -1\n index = path.length\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\nfunction extname(path) {\n var startDot = -1\n var startPart = 0\n var end = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n var preDotState = 0\n var unmatchedSlash\n var code\n var index\n\n assertPath(path)\n\n index = path.length\n\n while (index--) {\n code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\nfunction join() {\n var index = -1\n var joined\n\n while (++index < arguments.length) {\n assertPath(arguments[index])\n\n if (arguments[index]) {\n joined =\n joined === undefined\n ? arguments[index]\n : joined + '/' + arguments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n var absolute\n var value\n\n assertPath(path)\n\n absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n value = normalizeString(path, !absolute)\n\n if (!value.length && !absolute) {\n value = '.'\n }\n\n if (value.length && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n// Resolve `.` and `..` elements in a path with directory names.\nfunction normalizeString(path, allowAboveRoot) {\n var result = ''\n var lastSegmentLength = 0\n var lastSlash = -1\n var dots = 0\n var index = -1\n var code\n var lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n /* istanbul ignore else - No clue how to cover it. */\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n", + "'use strict'\n\n// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexports.cwd = cwd\n\nfunction cwd() {\n return '/'\n}\n", + "'use strict'\n\nvar p = require('./minpath')\nvar proc = require('./minproc')\nvar buffer = require('is-buffer')\n\nmodule.exports = VFile\n\nvar own = {}.hasOwnProperty\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nvar order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nVFile.prototype.toString = toString\n\n// Access full path (`~/index.min.js`).\nObject.defineProperty(VFile.prototype, 'path', {get: getPath, set: setPath})\n\n// Access parent path (`~`).\nObject.defineProperty(VFile.prototype, 'dirname', {\n get: getDirname,\n set: setDirname\n})\n\n// Access basename (`index.min.js`).\nObject.defineProperty(VFile.prototype, 'basename', {\n get: getBasename,\n set: setBasename\n})\n\n// Access extname (`.js`).\nObject.defineProperty(VFile.prototype, 'extname', {\n get: getExtname,\n set: setExtname\n})\n\n// Access stem (`index.min`).\nObject.defineProperty(VFile.prototype, 'stem', {get: getStem, set: setStem})\n\n// Construct a new file.\nfunction VFile(options) {\n var prop\n var index\n\n if (!options) {\n options = {}\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options}\n } else if ('message' in options && 'messages' in options) {\n return options\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options)\n }\n\n this.data = {}\n this.messages = []\n this.history = []\n this.cwd = proc.cwd()\n\n // Set path related properties in the correct order.\n index = -1\n\n while (++index < order.length) {\n prop = order[index]\n\n if (own.call(options, prop)) {\n this[prop] = options[prop]\n }\n }\n\n // Set non-path related properties.\n for (prop in options) {\n if (order.indexOf(prop) < 0) {\n this[prop] = options[prop]\n }\n }\n}\n\nfunction getPath() {\n return this.history[this.history.length - 1]\n}\n\nfunction setPath(path) {\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n}\n\nfunction getDirname() {\n return typeof this.path === 'string' ? p.dirname(this.path) : undefined\n}\n\nfunction setDirname(dirname) {\n assertPath(this.path, 'dirname')\n this.path = p.join(dirname || '', this.basename)\n}\n\nfunction getBasename() {\n return typeof this.path === 'string' ? p.basename(this.path) : undefined\n}\n\nfunction setBasename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = p.join(this.dirname || '', basename)\n}\n\nfunction getExtname() {\n return typeof this.path === 'string' ? p.extname(this.path) : undefined\n}\n\nfunction setExtname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.path, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.indexOf('.', 1) > -1) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = p.join(this.dirname, this.stem + (extname || ''))\n}\n\nfunction getStem() {\n return typeof this.path === 'string'\n ? p.basename(this.path, this.extname)\n : undefined\n}\n\nfunction setStem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = p.join(this.dirname || '', stem + (this.extname || ''))\n}\n\n// Get the value of the file.\nfunction toString(encoding) {\n return (this.contents || '').toString(encoding)\n}\n\n// Assert that `part` is not a path (i.e., does not contain `p.sep`).\nfunction assertPart(part, name) {\n if (part && part.indexOf(p.sep) > -1) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + p.sep + '`'\n )\n }\n}\n\n// Assert that `part` is not empty.\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n// Assert `path` exists.\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n", + "'use strict'\n\nvar VMessage = require('vfile-message')\nvar VFile = require('./core.js')\n\nmodule.exports = VFile\n\nVFile.prototype.message = message\nVFile.prototype.info = info\nVFile.prototype.fail = fail\n\n// Create a message with `reason` at `position`.\n// When an error is passed in as `reason`, copies the stack.\nfunction message(reason, position, origin) {\n var message = new VMessage(reason, position, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n}\n\n// Fail: creates a vmessage, associates it with the file, and throws it.\nfunction fail() {\n var message = this.message.apply(this, arguments)\n\n message.fatal = true\n\n throw message\n}\n\n// Info: creates a vmessage, associates it with the file, and marks the fatality\n// as null.\nfunction info() {\n var message = this.message.apply(this, arguments)\n\n message.fatal = null\n\n return message\n}\n", + "'use strict'\n\nmodule.exports = require('./lib')\n", + "'use strict'\n\nvar bail = require('bail')\nvar buffer = require('is-buffer')\nvar extend = require('extend')\nvar plain = require('is-plain-obj')\nvar trough = require('trough')\nvar vfile = require('vfile')\n\n// Expose a frozen processor.\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n// Process pipeline.\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(error, tree, file) {\n if (error) {\n next(error)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n var result = p.stringify(ctx.tree, ctx.file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (typeof result === 'string' || buffer(result)) {\n if ('value' in ctx.file) {\n ctx.file.value = result\n }\n\n ctx.file.contents = result\n } else {\n ctx.file.result = result\n }\n}\n\n// Function to create the first processor.\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var freezeIndex = -1\n var frozen\n\n // Data management.\n processor.data = data\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n function processor() {\n var destination = unified()\n var index = -1\n\n while (++index < attachers.length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n // Freeze: used to signal a processor that has finished configuration.\n //\n // For example, take unified itself: it’s frozen.\n // Plugins should not be added to it.\n // Rather, it should be extended, by invoking it, before modifying it.\n //\n // In essence, always invoke this when exporting a processor.\n function freeze() {\n var values\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n\n if (values[1] === false) {\n continue\n }\n\n if (values[1] === true) {\n values[1] = undefined\n }\n\n transformer = values[0].apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n // Data management.\n // Getter / setter for processor-specific informtion.\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n // Plugin management.\n //\n // Pass it:\n // * an attacher and options,\n // * a preset,\n // * a list of presets, attachers, and arguments (list of attachers and\n // options).\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n while (++index < plugins.length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var index = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n return attachers[index]\n }\n }\n }\n\n // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor.\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n // Run transforms on a unist node representation of a file (in string or\n // vfile representation), async.\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n // Run transforms on a unist node representation of a file (in string or\n // vfile representation), sync.\n function runSync(node, file) {\n var result\n var complete\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(error, tree) {\n complete = true\n result = tree\n bail(error)\n }\n }\n\n // Stringify a unist node representation of a file (in string or vfile\n // representation) into a string using the `Compiler` on the processor.\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n // Parse a file (in string or vfile representation) into a unist node using\n // the `Parser` on the processor, then run transforms on that node, and\n // compile the resulting node using the `Compiler` on the processor, and\n // store that result on the vfile.\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(error) {\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n // Process the given document (in string or vfile representation), sync.\n function processSync(doc) {\n var file\n var complete\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n// Check if `value` is a constructor.\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n// Check if `value` is an object with keys.\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n\n return false\n}\n\n// Assert a parser is available.\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n// Assert a compiler is available.\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n// Assert the processor is not frozen.\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot invoke `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by invoking it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n// Assert `node` is a unist node.\nfunction assertNode(node) {\n if (!node || typeof node.type !== 'string') {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n// Assert that `complete` is `true`.\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n", + "'use strict'\n\nmodule.exports = toString\n\n// Get the text content of a node.\n// Prefer the node’s plain-text fields, otherwise serialize its children,\n// and if the given value is an array, serialize the nodes in it.\nfunction toString(node) {\n return (\n (node &&\n (node.value ||\n node.alt ||\n node.title ||\n ('children' in node && all(node.children)) ||\n ('length' in node && all(node)))) ||\n ''\n )\n}\n\nfunction all(values) {\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = toString(values[index])\n }\n\n return result.join('')\n}\n", + "'use strict'\n\nvar assign = Object.assign\n\nmodule.exports = assign\n", + "'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = own\n", + "'use strict'\n\nfunction normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no object method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n\nmodule.exports = normalizeIdentifier\n", + "'use strict'\n\nvar fromCharCode = String.fromCharCode\n\nmodule.exports = fromCharCode\n", + "'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction safeFromInt(value, base) {\n var code = parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return fromCharCode(code)\n}\n\nmodule.exports = safeFromInt\n", + "'use strict'\n\nfunction markdownLineEnding(code) {\n return code < -2\n}\n\nmodule.exports = markdownLineEnding\n", + "'use strict'\n\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\nmodule.exports = markdownSpace\n", + "'use strict'\n\nvar markdownSpace = require('../character/markdown-space.js')\n\nfunction spaceFactory(effects, ok, type, max) {\n var limit = max ? max - 1 : Infinity\n var size = 0\n return start\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n\nmodule.exports = spaceFactory\n", + "'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('../tokenize/factory-space.js')\n\nvar tokenize = initializeContent\n\nfunction initializeContent(effects) {\n var contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n var previous\n return contentStart\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n\n function lineStart(code) {\n var token = effects.enter('chunkText', {\n contentType: 'text',\n previous: previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n\nexports.tokenize = tokenize\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('./factory-space.js')\n\nvar partialBlankLine = {\n tokenize: tokenizePartialBlankLine,\n partial: true\n}\n\nfunction tokenizePartialBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n\nmodule.exports = partialBlankLine\n", + "'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('../tokenize/factory-space.js')\nvar partialBlankLine = require('../tokenize/partial-blank-line.js')\n\nvar tokenize = initializeDocument\nvar containerConstruct = {\n tokenize: tokenizeContainer\n}\nvar lazyFlowConstruct = {\n tokenize: tokenizeLazyFlow\n}\n\nfunction initializeDocument(effects) {\n var self = this\n var stack = []\n var continued = 0\n var inspectConstruct = {\n tokenize: tokenizeInspect,\n partial: true\n }\n var inspectResult\n var childFlow\n var childToken\n return start\n\n function start(code) {\n if (continued < stack.length) {\n self.containerState = stack[continued][1]\n return effects.attempt(\n stack[continued][0].continuation,\n documentContinue,\n documentContinued\n )(code)\n }\n\n return documentContinued(code)\n }\n\n function documentContinue(code) {\n continued++\n return start(code)\n }\n\n function documentContinued(code) {\n // If we’re in a concrete construct (such as when expecting another line of\n // HTML, or we resulted in lazy content), we can immediately start flow.\n if (inspectResult && inspectResult.flowContinue) {\n return flowStart(code)\n }\n\n self.interrupt =\n childFlow &&\n childFlow.currentConstruct &&\n childFlow.currentConstruct.interruptible\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n\n function containerContinue(code) {\n stack.push([self.currentConstruct, self.containerState])\n self.containerState = undefined\n return documentContinued(code)\n }\n\n function flowStart(code) {\n if (code === null) {\n exitContainers(0, true)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n\n function flowContinue(code) {\n if (code === null) {\n continueFlow(effects.exit('chunkFlow'))\n return flowStart(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n continueFlow(effects.exit('chunkFlow'))\n return effects.check(inspectConstruct, documentAfterPeek)\n }\n\n effects.consume(code)\n return flowContinue\n }\n\n function documentAfterPeek(code) {\n exitContainers(\n inspectResult.continued,\n inspectResult && inspectResult.flowEnd\n )\n continued = 0\n return start(code)\n }\n\n function continueFlow(token) {\n if (childToken) childToken.next = token\n childToken = token\n childFlow.lazy = inspectResult && inspectResult.lazy\n childFlow.defineSkip(token.start)\n childFlow.write(self.sliceStream(token))\n }\n\n function exitContainers(size, end) {\n var index = stack.length // Close the flow.\n\n if (childFlow && end) {\n childFlow.write([null])\n childToken = childFlow = undefined\n } // Exit open containers.\n\n while (index-- > size) {\n self.containerState = stack[index][1]\n stack[index][0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function tokenizeInspect(effects, ok) {\n var subcontinued = 0\n inspectResult = {}\n return inspectStart\n\n function inspectStart(code) {\n if (subcontinued < stack.length) {\n self.containerState = stack[subcontinued][1]\n return effects.attempt(\n stack[subcontinued][0].continuation,\n inspectContinue,\n inspectLess\n )(code)\n } // If we’re continued but in a concrete flow, we can’t have more\n // containers.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n inspectResult.flowContinue = true\n return inspectDone(code)\n }\n\n self.interrupt =\n childFlow.currentConstruct && childFlow.currentConstruct.interruptible\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n inspectFlowEnd,\n inspectDone\n )(code)\n }\n\n function inspectContinue(code) {\n subcontinued++\n return self.containerState._closeFlow\n ? inspectFlowEnd(code)\n : inspectStart(code)\n }\n\n function inspectLess(code) {\n if (childFlow.currentConstruct && childFlow.currentConstruct.lazy) {\n // Maybe another container?\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n inspectFlowEnd, // Maybe flow, or a blank line?\n effects.attempt(\n lazyFlowConstruct,\n inspectFlowEnd,\n effects.check(partialBlankLine, inspectFlowEnd, inspectLazy)\n )\n )(code)\n } // Otherwise we’re interrupting.\n\n return inspectFlowEnd(code)\n }\n\n function inspectLazy(code) {\n // Act as if all containers are continued.\n subcontinued = stack.length\n inspectResult.lazy = true\n inspectResult.flowContinue = true\n return inspectDone(code)\n } // We’re done with flow if we have more containers, or an interruption.\n\n function inspectFlowEnd(code) {\n inspectResult.flowEnd = true\n return inspectDone(code)\n }\n\n function inspectDone(code) {\n inspectResult.continued = subcontinued\n self.interrupt = self.containerState = undefined\n return ok(code)\n }\n }\n}\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nfunction tokenizeLazyFlow(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.lazy(this.parser.constructs.flow, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nexports.tokenize = tokenize\n", + "'use strict'\n\n// Counts tabs based on their expanded size, and CR+LF as one character.\n\nfunction sizeChunks(chunks) {\n var index = -1\n var size = 0\n\n while (++index < chunks.length) {\n size += typeof chunks[index] === 'string' ? chunks[index].length : 1\n }\n\n return size\n}\n\nmodule.exports = sizeChunks\n", + "'use strict'\n\nvar sizeChunks = require('./size-chunks.js')\n\nfunction prefixSize(events, type) {\n var tail = events[events.length - 1]\n if (!tail || tail[1].type !== type) return 0\n return sizeChunks(tail[2].sliceStream(tail[1]))\n}\n\nmodule.exports = prefixSize\n", + "'use strict'\n\nvar splice = [].splice\n\nmodule.exports = splice\n", + "'use strict'\n\nvar splice = require('../constant/splice.js')\n\n// causes a stack overflow in V8 when trying to insert 100k items for instance.\n\nfunction chunkedSplice(list, start, remove, items) {\n var end = list.length\n var chunkStart = 0\n var parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0)\n splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n\nmodule.exports = chunkedSplice\n", + "'use strict'\n\nvar assign = require('../constant/assign.js')\n\nfunction shallow(object) {\n return assign({}, object)\n}\n\nmodule.exports = shallow\n", + "'use strict'\n\nvar assign = require('../constant/assign.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar shallow = require('./shallow.js')\n\nfunction subtokenize(events) {\n var jumps = {}\n var index = -1\n var event\n var lineIndex\n var otherIndex\n var otherEvent\n var parameters\n var subevents\n var more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1].isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container || event[1]._movePreviousLineEndings) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = shallow(events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n chunkedSplice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n\nfunction subcontent(events, eventIndex) {\n var token = events[eventIndex][1]\n var context = events[eventIndex][2]\n var startPosition = eventIndex - 1\n var startPositions = []\n var tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n var childEvents = tokenizer.events\n var jumps = []\n var gaps = {}\n var stream\n var previous\n var index\n var entered\n var end\n var adjust // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (token) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== token) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!token._tokenizer) {\n stream = context.sliceStream(token)\n\n if (!token.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(token.start)\n }\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (token.isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = token\n token = token.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n token = previous\n index = childEvents.length\n\n while (index--) {\n // Make sure we’ve at least seen something (final eol is part of the last\n // token).\n if (childEvents[index][0] === 'enter') {\n entered = true\n } else if (\n // Find a void token that includes a break.\n entered &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n add(childEvents.slice(index + 1, end))\n // Help GC.\n token._tokenizer = token.next = undefined\n token = token.previous\n end = index + 1\n }\n }\n\n // Help GC.\n tokenizer.events = token._tokenizer = token.next = undefined // Do head:\n\n add(childEvents.slice(0, end))\n index = -1\n adjust = 0\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n\n function add(slice) {\n var start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n chunkedSplice(events, start, 2, slice)\n }\n}\n\nmodule.exports = subtokenize\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar subtokenize = require('../util/subtokenize.js')\nvar factorySpace = require('./factory-space.js')\n\n// No name because it must not be turned off.\nvar content = {\n tokenize: tokenizeContent,\n resolve: resolveContent,\n interruptible: true,\n lazy: true\n}\nvar continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n} // Content is transparent: it’s parsed right now. That way, definitions are also\n// parsed right now: before text in paragraphs (specifically, media) are parsed.\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n\nfunction tokenizeContent(effects, ok) {\n var previous\n return start\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous = previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous: previous\n })\n return data\n }\n}\n\nfunction tokenizeContinuation(effects, ok, nok) {\n var self = this\n return startLookahead\n\n function startLookahead(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1 ||\n prefixSize(self.events, 'linePrefix') < 4\n ) {\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n\n return ok(code)\n }\n}\n\nmodule.exports = content\n", + "'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar content = require('../tokenize/content.js')\nvar factorySpace = require('../tokenize/factory-space.js')\nvar partialBlankLine = require('../tokenize/partial-blank-line.js')\n\nvar tokenize = initializeFlow\n\nfunction initializeFlow(effects) {\n var self = this\n var initial = effects.attempt(\n // Try to parse a blank line.\n partialBlankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n\nexports.tokenize = tokenize\n", + "'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar assign = require('../constant/assign.js')\nvar shallow = require('../util/shallow.js')\n\nvar text = initializeFactory('text')\nvar string = initializeFactory('string')\nvar resolver = {\n resolveAll: createResolver()\n}\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n function initializeText(effects) {\n var self = this\n var constructs = this.parser.constructs[field]\n var text = effects.attempt(constructs, start, notText)\n return start\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n\n function atBreak(code) {\n var list = constructs[code]\n var index = -1\n\n if (code === null) {\n return true\n }\n\n if (list) {\n while (++index < list.length) {\n if (\n !list[index].previous ||\n list[index].previous.call(self, self.previous)\n ) {\n return true\n }\n }\n }\n }\n }\n}\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n function resolveAllText(events, context) {\n var index = -1\n var enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n} // A rather ugly set of instructions which again looks at chunks in the input\n// stream.\n// The reason to do this here is that it is *much* faster to parse in reverse.\n// And that we can’t hook into `null` to split the line suffix before an EOF.\n// To do: figure out if we can make this into a clean utility, or even in core.\n// As it will be useful for GFMs literal autolink extension (and maybe even\n// tables?)\n\nfunction resolveAllLineSuffixes(events, context) {\n var eventIndex = -1\n var chunks\n var data\n var chunk\n var index\n var bufferIndex\n var size\n var tabs\n var token\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n data = events[eventIndex - 1][1]\n chunks = context.sliceStream(data)\n index = chunks.length\n bufferIndex = -1\n size = 0\n tabs = undefined\n\n while (index--) {\n chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1);\n else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: shallow(data.end)\n }\n data.end = shallow(token.start)\n\n if (data.start.offset === data.end.offset) {\n assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n\nexports.resolver = resolver\nexports.string = string\nexports.text = text\n", + "'use strict'\n\nfunction miniflat(value) {\n return value === null || value === undefined\n ? []\n : 'length' in value\n ? value\n : [value]\n}\n\nmodule.exports = miniflat\n", + "'use strict'\n\nvar hasOwnProperty = require('../constant/has-own-property.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar miniflat = require('./miniflat.js')\n\nfunction combineExtensions(extensions) {\n var all = {}\n var index = -1\n\n while (++index < extensions.length) {\n extension(all, extensions[index])\n }\n\n return all\n}\n\nfunction extension(all, extension) {\n var hook\n var left\n var right\n var code\n\n for (hook in extension) {\n left = hasOwnProperty.call(all, hook) ? all[hook] : (all[hook] = {})\n right = extension[hook]\n\n for (code in right) {\n left[code] = constructs(\n miniflat(right[code]),\n hasOwnProperty.call(left, code) ? left[code] : []\n )\n }\n }\n}\n\nfunction constructs(list, existing) {\n var index = -1\n var before = []\n\n while (++index < list.length) {\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n chunkedSplice(existing, 0, 0, before)\n return existing\n}\n\nmodule.exports = combineExtensions\n", + "'use strict'\n\nvar chunkedSplice = require('./chunked-splice.js')\n\nfunction chunkedPush(list, items) {\n if (list.length) {\n chunkedSplice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n\nmodule.exports = chunkedPush\n", + "'use strict'\n\nfunction resolveAll(constructs, events, context) {\n var called = []\n var index = -1\n var resolve\n\n while (++index < constructs.length) {\n resolve = constructs[index].resolveAll\n\n if (resolve && called.indexOf(resolve) < 0) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n\nmodule.exports = resolveAll\n", + "'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction serializeChunks(chunks) {\n var index = -1\n var result = []\n var chunk\n var value\n var atTab\n\n while (++index < chunks.length) {\n chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n value = chunk\n } else if (chunk === -5) {\n value = '\\r'\n } else if (chunk === -4) {\n value = '\\n'\n } else if (chunk === -3) {\n value = '\\r' + '\\n'\n } else if (chunk === -2) {\n value = '\\t'\n } else if (chunk === -1) {\n if (atTab) continue\n value = ' '\n } else {\n // Currently only replacement character.\n value = fromCharCode(chunk)\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n\nmodule.exports = serializeChunks\n", + "'use strict'\n\nfunction sliceChunks(chunks, token) {\n var startIndex = token.start._index\n var startBufferIndex = token.start._bufferIndex\n var endIndex = token.end._index\n var endBufferIndex = token.end._bufferIndex\n var view\n\n if (startIndex === endIndex) {\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n\nmodule.exports = sliceChunks\n", + "'use strict'\n\nvar assign = require('../constant/assign.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar chunkedPush = require('./chunked-push.js')\nvar chunkedSplice = require('./chunked-splice.js')\nvar miniflat = require('./miniflat.js')\nvar resolveAll = require('./resolve-all.js')\nvar serializeChunks = require('./serialize-chunks.js')\nvar shallow = require('./shallow.js')\nvar sliceChunks = require('./slice-chunks.js')\n\n// Create a tokenizer.\n// Tokenizers deal with one type of data (e.g., containers, flow, text).\n// The parser is the object dealing with it all.\n// `initialize` works like other constructs, except that only its `tokenize`\n// function is used, in which case it doesn’t receive an `ok` or `nok`.\n// `from` can be given to set the point before the first character, although\n// when further lines are indented, they must be set with `defineSkip`.\nfunction createTokenizer(parser, initialize, from) {\n var point = from\n ? shallow(from)\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n var columnStart = {}\n var resolveAllConstructs = []\n var chunks = []\n var stack = []\n\n var effects = {\n consume: consume,\n enter: enter,\n exit: exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n }),\n lazy: constructFactory(onsuccessfulcheck, {\n lazy: true\n })\n } // State and tools for resolving and serializing.\n\n var context = {\n previous: null,\n events: [],\n parser: parser,\n sliceStream: sliceStream,\n sliceSerialize: sliceSerialize,\n now: now,\n defineSkip: skip,\n write: write\n } // The state function.\n\n var state = initialize.tokenize.call(context, effects) // Track which character we expect to be consumed, to catch bugs.\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n } // Store where we are in the input stream.\n\n point._index = 0\n point._bufferIndex = -1\n return context\n\n function write(slice) {\n chunks = chunkedPush(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n function sliceSerialize(token) {\n return serializeChunks(sliceStream(token))\n }\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n function now() {\n return shallow(point)\n }\n\n function skip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n // Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n // `consume`).\n // Here is where we walk through the chunks, which either include strings of\n // several characters, or numerical character codes.\n // The reason to do this in a loop instead of a call is so the stack can\n // drain.\n\n function main() {\n var chunkIndex\n var chunk\n\n while (point._index < chunks.length) {\n chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n } // Deal with one code.\n\n function go(code) {\n state = state(code)\n } // Move a character forward.\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n } // Start a token.\n\n function enter(type, fields) {\n var token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n } // Stop a token.\n\n function exit(type) {\n var token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n } // Use results.\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n } // Discard results.\n\n function onsuccessfulcheck(construct, info) {\n info.restore()\n } // Factory to attempt/check/interrupt.\n\n function constructFactory(onreturn, fields) {\n return hook // Handle either an object mapping codes to constructs, a list of\n // constructs, or a single construct.\n\n function hook(constructs, returnState, bogusState) {\n var listOfConstructs\n var constructIndex\n var currentConstruct\n var info\n return constructs.tokenize || 'length' in constructs\n ? handleListOfConstructs(miniflat(constructs))\n : handleMapOfConstructs\n\n function handleMapOfConstructs(code) {\n if (code in constructs || null in constructs) {\n return handleListOfConstructs(\n constructs.null\n ? /* c8 ignore next */\n miniflat(constructs[code]).concat(miniflat(constructs.null))\n : constructs[code]\n )(code)\n }\n\n return bogusState(code)\n }\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n return handleConstruct(list[constructIndex])\n }\n\n function handleConstruct(construct) {\n return start\n\n function start(code) {\n // To do: not nede to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.indexOf(construct.name) > -1\n ) {\n return nok()\n }\n\n return construct.tokenize.call(\n fields ? assign({}, context, fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n function ok(code) {\n onreturn(currentConstruct, info)\n return returnState\n }\n\n function nok(code) {\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n\n function addResult(construct, from) {\n if (construct.resolveAll && resolveAllConstructs.indexOf(construct) < 0) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n chunkedSplice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n function store() {\n var startPoint = now()\n var startPrevious = context.previous\n var startCurrentConstruct = context.currentConstruct\n var startEventsIndex = context.events.length\n var startStack = Array.from(stack)\n return {\n restore: restore,\n from: startEventsIndex\n }\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\nmodule.exports = createTokenizer\n", + "'use strict'\n\nfunction markdownLineEndingOrSpace(code) {\n return code < 0 || code === 32\n}\n\nmodule.exports = markdownLineEndingOrSpace\n", + "'use strict'\n\n// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nvar unicodePunctuation = /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n\nmodule.exports = unicodePunctuation\n", + "'use strict'\n\nvar fromCharCode = require('../constant/from-char-code.js')\n\nfunction regexCheck(regex) {\n return check\n\n function check(code) {\n return regex.test(fromCharCode(code))\n }\n}\n\nmodule.exports = regexCheck\n", + "'use strict'\n\nvar unicodePunctuationRegex = require('../constant/unicode-punctuation-regex.js')\nvar regexCheck = require('../util/regex-check.js')\n\n// In fact adds to the bundle size.\n\nvar unicodePunctuation = regexCheck(unicodePunctuationRegex)\n\nmodule.exports = unicodePunctuation\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar unicodeWhitespace = regexCheck(/\\s/)\n\nmodule.exports = unicodeWhitespace\n", + "'use strict'\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar unicodePunctuation = require('../character/unicode-punctuation.js')\nvar unicodeWhitespace = require('../character/unicode-whitespace.js')\n\n// Classify whether a character is unicode whitespace, unicode punctuation, or\n// anything else.\n// Used for attention (emphasis, strong), whose sequences can open or close\n// based on the class of surrounding characters.\nfunction classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n\nmodule.exports = classifyCharacter\n", + "'use strict'\n\n// chunks (replacement characters, tabs, or line endings).\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n return point\n}\n\nmodule.exports = movePoint\n", + "'use strict'\n\nvar chunkedPush = require('../util/chunked-push.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar classifyCharacter = require('../util/classify-character.js')\nvar movePoint = require('../util/move-point.js')\nvar resolveAll = require('../util/resolve-all.js')\nvar shallow = require('../util/shallow.js')\n\nvar attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n\nfunction resolveAllAttention(events, context) {\n var index = -1\n var open\n var group\n var text\n var openingSequence\n var closingSequence\n var use\n var nextEvents\n var offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: movePoint(shallow(events[open][1].end), -use),\n end: shallow(events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: shallow(events[index][1].start),\n end: movePoint(shallow(events[index][1].start), use)\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: shallow(events[open][1].end),\n end: shallow(events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: shallow(openingSequence.start),\n end: shallow(closingSequence.end)\n }\n events[open][1].end = shallow(openingSequence.start)\n events[index][1].start = shallow(closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = chunkedPush(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = chunkedPush(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = chunkedPush(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = chunkedPush(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = chunkedPush(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n chunkedSplice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n\nfunction tokenizeAttention(effects, ok) {\n var before = classifyCharacter(this.previous)\n var marker\n return start\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n\n function sequence(code) {\n var token\n var after\n var open\n var close\n\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n token = effects.exit('attentionSequence')\n after = classifyCharacter(code)\n open = !after || (after === 2 && before)\n close = !before || (before === 2 && after)\n token._open = marker === 42 ? open : open && (before || !close)\n token._close = marker === 42 ? close : close && (after || !open)\n return ok(code)\n }\n}\n\nmodule.exports = attention\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAlpha = regexCheck(/[A-Za-z]/)\n\nmodule.exports = asciiAlpha\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\nmodule.exports = asciiAlphanumeric\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\nmodule.exports = asciiAtext\n", + "'use strict'\n\n// Note: EOF is seen as ASCII control here, because `null < 32 == true`.\nfunction asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code < 32 || code === 127\n )\n}\n\nmodule.exports = asciiControl\n", + "'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar asciiAtext = require('../character/ascii-atext.js')\nvar asciiControl = require('../character/ascii-control.js')\n\nvar autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n\nfunction tokenizeAutolink(effects, ok, nok) {\n var size = 1\n return start\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n\nmodule.exports = autolink\n", + "'use strict'\n\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit: exit\n}\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n if (code === 62) {\n if (!self.containerState.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n self.containerState.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n}\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n\nmodule.exports = blockQuote\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\nmodule.exports = asciiPunctuation\n", + "'use strict'\n\nvar asciiPunctuation = require('../character/ascii-punctuation.js')\n\nvar characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = characterEscape\n", + "'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiDigit = regexCheck(/\\d/)\n\nmodule.exports = asciiDigit\n", + "'use strict'\n\nvar regexCheck = require('../util/regex-check.js')\n\nvar asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\nmodule.exports = asciiHexDigit\n", + "'use strict'\n\nvar decodeEntity = require('parse-entities/decode-entity.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar asciiDigit = require('../character/ascii-digit.js')\nvar asciiHexDigit = require('../character/ascii-hex-digit.js')\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {default: e}\n}\n\nvar decodeEntity__default = /*#__PURE__*/ _interopDefaultLegacy(decodeEntity)\n\nvar characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n var self = this\n var size = 0\n var max\n var test\n return start\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n\n function value(code) {\n var token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeEntity__default['default'](self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = characterReference\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar factorySpace = require('./factory-space.js')\n\nvar codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n var self = this\n var closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n var initialPrefix = prefixSize(this.events, 'linePrefix')\n var sizeOpen = 0\n var marker\n return start\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : content(code)\n }\n\n function content(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(effects, content, 'linePrefix', initialPrefix + 1)\n : content\n )\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return content(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n\n function tokenizeClosingFence(effects, ok, nok) {\n var size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n\nmodule.exports = codeFenced\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar factorySpace = require('./factory-space.js')\n\nvar codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented,\n resolve: resolveCodeIndented\n}\nvar indentedContentConstruct = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n\nfunction resolveCodeIndented(events, context) {\n var code = {\n type: 'codeIndented',\n start: events[0][1].start,\n end: events[events.length - 1][1].end\n }\n chunkedSplice(events, 0, 0, [['enter', code, context]])\n chunkedSplice(events, events.length, 0, [['exit', code, context]])\n return events\n}\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n return effects.attempt(indentedContentConstruct, afterPrefix, nok)\n\n function afterPrefix(code) {\n if (code === null) {\n return ok(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContentConstruct, afterPrefix, ok)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n}\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n var self = this\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)\n\n function afterPrefix(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)\n }\n\n return prefixSize(self.events, 'linePrefix') < 4 ? nok(code) : ok(code)\n }\n}\n\nmodule.exports = codeIndented\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\nvar codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous: previous\n}\n\nfunction resolveCodeText(events) {\n var tailExitIndex = events.length - 4\n var headEnterIndex = 3\n var index\n var enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[tailExitIndex][1].type = events[headEnterIndex][1].type =\n 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n\nfunction tokenizeCodeText(effects, ok, nok) {\n var sizeOpen = 0\n var size\n var token\n return start\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n\nmodule.exports = codeText\n", + "'use strict'\n\nvar asciiControl = require('../character/ascii-control.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\n// eslint-disable-next-line max-params\nfunction destinationFactory(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n var limit = max || Infinity\n var balance = 0\n return start\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (asciiControl(code) || code === 41) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n\nmodule.exports = destinationFactory\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\n\n// eslint-disable-next-line max-params\nfunction labelFactory(effects, ok, nok, type, markerType, stringType) {\n var self = this\n var size = 0\n var data\n return start\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* c8 ignore next */\n (code === 94 &&\n /* c8 ignore next */\n !size &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n\nmodule.exports = labelFactory\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nfunction whitespaceFactory(effects, ok) {\n var seen\n return start\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n\nmodule.exports = whitespaceFactory\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar factorySpace = require('./factory-space.js')\n\nfunction titleFactory(effects, ok, nok, type, markerType, stringType) {\n var marker\n return start\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n\nmodule.exports = titleFactory\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar normalizeIdentifier = require('../util/normalize-identifier.js')\nvar factoryDestination = require('./factory-destination.js')\nvar factoryLabel = require('./factory-label.js')\nvar factorySpace = require('./factory-space.js')\nvar factoryWhitespace = require('./factory-whitespace.js')\nvar factoryTitle = require('./factory-title.js')\n\nvar definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\nvar titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n\nfunction tokenizeDefinition(effects, ok, nok) {\n var self = this\n var identifier\n return start\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (self.parser.defined.indexOf(identifier) < 0) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n\nmodule.exports = definition\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\n\nvar hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = hardBreakEscape\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar factorySpace = require('./factory-space.js')\n\nvar headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n\nfunction resolveHeadingAtx(events, context) {\n var contentEnd = events.length - 2\n var contentStart = 3\n var content\n var text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: 'text'\n }\n chunkedSplice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n var self = this\n var size = 0\n return start\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n\nmodule.exports = headingAtx\n", + "'use strict'\n\n// This module is copied from <https://spec.commonmark.org/0.29/#html-blocks>.\nvar basics = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\nmodule.exports = basics\n", + "'use strict'\n\n// This module is copied from <https://spec.commonmark.org/0.29/#html-blocks>.\nvar raws = ['pre', 'script', 'style', 'textarea']\n\nmodule.exports = raws\n", + "'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar fromCharCode = require('../constant/from-char-code.js')\nvar htmlBlockNames = require('../constant/html-block-names.js')\nvar htmlRawNames = require('../constant/html-raw-names.js')\nvar partialBlankLine = require('./partial-blank-line.js')\n\nvar htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\nvar nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n\nfunction resolveToHtmlFlow(events) {\n var index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n var self = this\n var kind\n var startTag\n var buffer\n var index\n var marker\n return start\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.indexOf(buffer.toLowerCase()) > -1\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.indexOf(buffer.toLowerCase()) > -1) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting.\n\n return self.interrupt\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = undefined\n return completeAttributeValueUnquoted(code)\n }\n\n function completeAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return htmlContinueStart\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.indexOf(buffer.toLowerCase()) > -1) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n return continuation(code)\n }\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(partialBlankLine, ok, nok)\n }\n}\n\nmodule.exports = htmlFlow\n", + "'use strict'\n\nvar asciiAlpha = require('../character/ascii-alpha.js')\nvar asciiAlphanumeric = require('../character/ascii-alphanumeric.js')\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n var self = this\n var marker\n var buffer\n var index\n var returnState\n return start\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )\n }\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = htmlText\n", + "'use strict'\n\nvar markdownLineEndingOrSpace = require('../character/markdown-line-ending-or-space.js')\nvar chunkedPush = require('../util/chunked-push.js')\nvar chunkedSplice = require('../util/chunked-splice.js')\nvar normalizeIdentifier = require('../util/normalize-identifier.js')\nvar resolveAll = require('../util/resolve-all.js')\nvar shallow = require('../util/shallow.js')\nvar factoryDestination = require('./factory-destination.js')\nvar factoryLabel = require('./factory-label.js')\nvar factoryTitle = require('./factory-title.js')\nvar factoryWhitespace = require('./factory-whitespace.js')\n\nvar labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\nvar resourceConstruct = {\n tokenize: tokenizeResource\n}\nvar fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\nvar collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n\nfunction resolveAllLabelEnd(events) {\n var index = -1\n var token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n !token._used &&\n (token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd')\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n\nfunction resolveToLabelEnd(events, context) {\n var index = events.length\n var offset = 0\n var group\n var label\n var text\n var token\n var open\n var close\n var media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: shallow(events[open][1].start),\n end: shallow(events[events.length - 1][1].end)\n }\n label = {\n type: 'label',\n start: shallow(events[open][1].start),\n end: shallow(events[close][1].end)\n }\n text = {\n type: 'labelText',\n start: shallow(events[open + offset + 2][1].end),\n end: shallow(events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = chunkedPush(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = chunkedPush(media, [['enter', text, context]]) // Between.\n\n media = chunkedPush(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = chunkedPush(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = chunkedPush(media, events.slice(close + 1)) // Media close.\n\n media = chunkedPush(media, [['exit', group, context]])\n chunkedSplice(events, open, events.length, media)\n return events\n}\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n var self = this\n var index = self.events.length\n var labelStart\n var defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined =\n self.parser.defined.indexOf(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n ) > -1\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 3\n )(code)\n }\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n\nfunction tokenizeFullReference(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n function afterLabel(code) {\n return self.parser.defined.indexOf(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n ) < 0\n ? nok(code)\n : ok(code)\n }\n}\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = labelEnd\n", + "'use strict'\n\nvar labelEnd = require('./label-end.js')\n\nvar labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? /* c8 ignore next */\n nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = labelStartImage\n", + "'use strict'\n\nvar labelEnd = require('./label-end.js')\n\nvar labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n var self = this\n return start\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n function after(code) {\n /* c8 ignore next */\n return code === 94 &&\n /* c8 ignore next */\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? /* c8 ignore next */\n nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = labelStartLink\n", + "'use strict'\n\nvar factorySpace = require('./factory-space.js')\n\nvar lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n\nmodule.exports = lineEnding\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar factorySpace = require('./factory-space.js')\n\nvar thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n var size = 0\n var marker\n return start\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n\nmodule.exports = thematicBreak\n", + "'use strict'\n\nvar asciiDigit = require('../character/ascii-digit.js')\nvar markdownSpace = require('../character/markdown-space.js')\nvar prefixSize = require('../util/prefix-size.js')\nvar sizeChunks = require('../util/size-chunks.js')\nvar factorySpace = require('./factory-space.js')\nvar partialBlankLine = require('./partial-blank-line.js')\nvar thematicBreak = require('./thematic-break.js')\n\nvar list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\nvar listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\nvar indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\nfunction tokenizeListStart(effects, ok, nok) {\n var self = this\n var initialSize = prefixSize(self.events, 'linePrefix')\n var size = 0\n return start\n\n function start(code) {\n var kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n partialBlankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize + sizeChunks(self.sliceStream(effects.exit('listItemPrefix')))\n return ok(code)\n }\n}\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n var self = this\n self.containerState._closeFlow = undefined\n return effects.check(partialBlankLine, onBlank, notBlank)\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4\n )(code)\n }\n}\n\nfunction tokenizeIndent(effects, ok, nok) {\n var self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n\n function afterPrefix(code) {\n return prefixSize(self.events, 'listItemIndent') ===\n self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n var self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.indexOf('codeIndented') > -1\n ? undefined\n : 4 + 1\n )\n\n function afterPrefix(code) {\n return markdownSpace(code) ||\n !prefixSize(self.events, 'listItemPrefixWhitespace')\n ? nok(code)\n : ok(code)\n }\n}\n\nmodule.exports = list\n", + "'use strict'\n\nvar markdownLineEnding = require('../character/markdown-line-ending.js')\nvar shallow = require('../util/shallow.js')\nvar factorySpace = require('./factory-space.js')\n\nvar setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n\nfunction resolveToSetextUnderline(events, context) {\n var index = events.length\n var content\n var text\n var definition\n var heading // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n heading = {\n type: 'setextHeading',\n start: shallow(events[text][1].start),\n end: shallow(events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = shallow(events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n var self = this\n var index = self.events.length\n var marker\n var paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n\n function start(code) {\n if (!self.lazy && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\nmodule.exports = setextUnderline\n", + "'use strict'\n\nObject.defineProperty(exports, '__esModule', {value: true})\n\nvar text$1 = require('./initialize/text.js')\nvar attention = require('./tokenize/attention.js')\nvar autolink = require('./tokenize/autolink.js')\nvar blockQuote = require('./tokenize/block-quote.js')\nvar characterEscape = require('./tokenize/character-escape.js')\nvar characterReference = require('./tokenize/character-reference.js')\nvar codeFenced = require('./tokenize/code-fenced.js')\nvar codeIndented = require('./tokenize/code-indented.js')\nvar codeText = require('./tokenize/code-text.js')\nvar definition = require('./tokenize/definition.js')\nvar hardBreakEscape = require('./tokenize/hard-break-escape.js')\nvar headingAtx = require('./tokenize/heading-atx.js')\nvar htmlFlow = require('./tokenize/html-flow.js')\nvar htmlText = require('./tokenize/html-text.js')\nvar labelEnd = require('./tokenize/label-end.js')\nvar labelStartImage = require('./tokenize/label-start-image.js')\nvar labelStartLink = require('./tokenize/label-start-link.js')\nvar lineEnding = require('./tokenize/line-ending.js')\nvar list = require('./tokenize/list.js')\nvar setextUnderline = require('./tokenize/setext-underline.js')\nvar thematicBreak = require('./tokenize/thematic-break.js')\n\nvar document = {\n 42: list,\n // Asterisk\n 43: list,\n // Plus sign\n 45: list,\n // Dash\n 48: list,\n // 0\n 49: list,\n // 1\n 50: list,\n // 2\n 51: list,\n // 3\n 52: list,\n // 4\n 53: list,\n // 5\n 54: list,\n // 6\n 55: list,\n // 7\n 56: list,\n // 8\n 57: list,\n // 9\n 62: blockQuote // Greater than\n}\nvar contentInitial = {\n 91: definition // Left square bracket\n}\nvar flowInitial = {\n '-2': codeIndented,\n // Horizontal tab\n '-1': codeIndented,\n // Virtual space\n 32: codeIndented // Space\n}\nvar flow = {\n 35: headingAtx,\n // Number sign\n 42: thematicBreak,\n // Asterisk\n 45: [setextUnderline, thematicBreak],\n // Dash\n 60: htmlFlow,\n // Less than\n 61: setextUnderline,\n // Equals to\n 95: thematicBreak,\n // Underscore\n 96: codeFenced,\n // Grave accent\n 126: codeFenced // Tilde\n}\nvar string = {\n 38: characterReference,\n // Ampersand\n 92: characterEscape // Backslash\n}\nvar text = {\n '-5': lineEnding,\n // Carriage return\n '-4': lineEnding,\n // Line feed\n '-3': lineEnding,\n // Carriage return + line feed\n 33: labelStartImage,\n // Exclamation mark\n 38: characterReference,\n // Ampersand\n 42: attention,\n // Asterisk\n 60: [autolink, htmlText],\n // Less than\n 91: labelStartLink,\n // Left square bracket\n 92: [hardBreakEscape, characterEscape],\n // Backslash\n 93: labelEnd,\n // Right square bracket\n 95: attention,\n // Underscore\n 96: codeText // Grave accent\n}\nvar insideSpan = {\n null: [attention, text$1.resolver]\n}\nvar disable = {\n null: []\n}\n\nexports.contentInitial = contentInitial\nexports.disable = disable\nexports.document = document\nexports.flow = flow\nexports.flowInitial = flowInitial\nexports.insideSpan = insideSpan\nexports.string = string\nexports.text = text\n", + "'use strict'\n\nvar content = require('./initialize/content.js')\nvar document = require('./initialize/document.js')\nvar flow = require('./initialize/flow.js')\nvar text = require('./initialize/text.js')\nvar combineExtensions = require('./util/combine-extensions.js')\nvar createTokenizer = require('./util/create-tokenizer.js')\nvar miniflat = require('./util/miniflat.js')\nvar constructs = require('./constructs.js')\n\nfunction parse(options) {\n var settings = options || {}\n var parser = {\n defined: [],\n constructs: combineExtensions(\n [constructs].concat(miniflat(settings.extensions))\n ),\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(text.string),\n text: create(text.text)\n }\n return parser\n\n function create(initializer) {\n return creator\n\n function creator(from) {\n return createTokenizer(parser, initializer, from)\n }\n }\n}\n\nmodule.exports = parse\n", + "'use strict'\n\nvar search = /[\\0\\t\\n\\r]/g\n\nfunction preprocess() {\n var start = true\n var column = 1\n var buffer = ''\n var atCarriageReturn\n return preprocessor\n\n function preprocessor(value, encoding, end) {\n var chunks = []\n var match\n var next\n var startPosition\n var endPosition\n var code\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition = match ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n if (code === 0) {\n chunks.push(65533)\n column++\n } else if (code === 9) {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n } else if (code === 10) {\n chunks.push(-4)\n column = 1\n } // Must be carriage return.\n else {\n atCarriageReturn = true\n column = 1\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n\nmodule.exports = preprocess\n", + "'use strict'\n\nvar subtokenize = require('./util/subtokenize.js')\n\nfunction postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n\nmodule.exports = postprocess\n", + "'use strict'\n\nmodule.exports = fromMarkdown\n\n// These three are compiled away in the `dist/`\n\nvar toString = require('mdast-util-to-string')\nvar assign = require('micromark/dist/constant/assign')\nvar own = require('micromark/dist/constant/has-own-property')\nvar normalizeIdentifier = require('micromark/dist/util/normalize-identifier')\nvar safeFromInt = require('micromark/dist/util/safe-from-int')\nvar parser = require('micromark/dist/parse')\nvar preprocessor = require('micromark/dist/preprocess')\nvar postprocess = require('micromark/dist/postprocess')\nvar decode = require('parse-entities/decode-entity')\nvar stringifyPosition = require('unist-util-stringify-position')\n\nfunction fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parser(options).document().write(preprocessor()(value, encoding, true))\n )\n )\n}\n\n// Note this compiler only understand complete buffering, not streaming.\nfunction compiler(options) {\n var settings = options || {}\n var config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n\n settings.mdastExtensions || []\n )\n\n var data = {}\n\n return compile\n\n function compile(events) {\n var tree = {type: 'root', children: []}\n var stack = [tree]\n var tokenStack = []\n var listStack = []\n var index = -1\n var handler\n var listStart\n\n var context = {\n stack: stack,\n tokenStack: tokenStack,\n config: config,\n enter: enter,\n exit: exit,\n buffer: buffer,\n resume: resume,\n setData: setData,\n getData: getData\n }\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n listStart = listStack.pop(index)\n index = prepareList(events, listStart, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n assign({sliceSerialize: events[index][2].sliceSerialize}, context),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length) {\n throw new Error(\n 'Cannot close document, a token (`' +\n tokenStack[tokenStack.length - 1].type +\n '`, ' +\n stringifyPosition({\n start: tokenStack[tokenStack.length - 1].start,\n end: tokenStack[tokenStack.length - 1].end\n }) +\n ') is still open'\n )\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length ? events[0][1].start : {line: 1, column: 1, offset: 0}\n ),\n\n end: point(\n events.length\n ? events[events.length - 2][1].end\n : {line: 1, column: 1, offset: 0}\n )\n }\n\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n\n function prepareList(events, start, length) {\n var index = start - 1\n var containerBalance = -1\n var listSpread = false\n var listItem\n var tailIndex\n var lineIndex\n var tailEvent\n var event\n var firstBlankLineIndex\n var atMarker\n\n while (++index <= length) {\n event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = point(\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n _spread: false,\n start: point(event[1].start)\n }\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n events[start][1]._spread = listSpread\n return length\n }\n\n function setData(key, value) {\n data[key] = value\n }\n\n function getData(key) {\n return data[key]\n }\n\n function point(d) {\n return {line: d.line, column: d.column, offset: d.offset}\n }\n\n function opener(create, and) {\n return open\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n function buffer() {\n this.stack.push({type: 'fragment', children: []})\n }\n\n function enter(node, token) {\n this.stack[this.stack.length - 1].children.push(node)\n this.stack.push(node)\n this.tokenStack.push(token)\n node.position = {start: point(token.start)}\n return node\n }\n\n function closer(and) {\n return close\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n function exit(token) {\n var node = this.stack.pop()\n var open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): it’s not open'\n )\n } else if (open.type !== token.type) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): a different token (`' +\n open.type +\n '`, ' +\n stringifyPosition({start: open.start, end: open.end}) +\n ') is open'\n )\n }\n\n node.position.end = point(token.end)\n return node\n }\n\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n this.stack[this.stack.length - 2].start = parseInt(\n this.sliceSerialize(token),\n 10\n )\n\n setData('expectingFirstListItemValue')\n }\n }\n\n function onexitcodefencedfenceinfo() {\n var data = this.resume()\n this.stack[this.stack.length - 1].lang = data\n }\n\n function onexitcodefencedfencemeta() {\n var data = this.resume()\n this.stack[this.stack.length - 1].meta = data\n }\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n\n function onexitcodefenced() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data.replace(\n /^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\n ''\n )\n\n setData('flowCodeInside')\n }\n\n function onexitcodeindented() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n var label = this.resume()\n this.stack[this.stack.length - 1].label = label\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n function onexitdefinitiontitlestring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].title = data\n }\n\n function onexitdefinitiondestinationstring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].url = data\n }\n\n function onexitatxheadingsequence(token) {\n if (!this.stack[this.stack.length - 1].depth) {\n this.stack[this.stack.length - 1].depth = this.sliceSerialize(\n token\n ).length\n }\n }\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n\n function onexitsetextheadinglinesequence(token) {\n this.stack[this.stack.length - 1].depth =\n this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n\n function onenterdata(token) {\n var siblings = this.stack[this.stack.length - 1].children\n var tail = siblings[siblings.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {start: point(token.start)}\n this.stack[this.stack.length - 1].children.push(tail)\n }\n\n this.stack.push(tail)\n }\n\n function onexitdata(token) {\n var tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n function onexitlineending(token) {\n var context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n context.children[context.children.length - 1].position.end = point(\n token.end\n )\n\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.indexOf(context.type) > -1\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n\n function onexithtmlflow() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexithtmltext() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitcodetext() {\n var data = this.resume()\n this.stack[this.stack.length - 1].value = data\n }\n\n function onexitlink() {\n var context = this.stack[this.stack.length - 1]\n\n // To do: clean.\n if (getData('inReference')) {\n context.type += 'Reference'\n context.referenceType = getData('referenceType') || 'shortcut'\n delete context.url\n delete context.title\n } else {\n delete context.identifier\n delete context.label\n delete context.referenceType\n }\n\n setData('referenceType')\n }\n\n function onexitimage() {\n var context = this.stack[this.stack.length - 1]\n\n // To do: clean.\n if (getData('inReference')) {\n context.type += 'Reference'\n context.referenceType = getData('referenceType') || 'shortcut'\n delete context.url\n delete context.title\n } else {\n delete context.identifier\n delete context.label\n delete context.referenceType\n }\n\n setData('referenceType')\n }\n\n function onexitlabeltext(token) {\n this.stack[this.stack.length - 2].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n function onexitlabel() {\n var fragment = this.stack[this.stack.length - 1]\n var value = this.resume()\n\n this.stack[this.stack.length - 1].label = value\n\n // Assume a reference.\n setData('inReference', true)\n\n if (this.stack[this.stack.length - 1].type === 'link') {\n this.stack[this.stack.length - 1].children = fragment.children\n } else {\n this.stack[this.stack.length - 1].alt = value\n }\n }\n\n function onexitresourcedestinationstring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].url = data\n }\n\n function onexitresourcetitlestring() {\n var data = this.resume()\n this.stack[this.stack.length - 1].title = data\n }\n\n function onexitresource() {\n setData('inReference')\n }\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n\n function onexitreferencestring(token) {\n var label = this.resume()\n this.stack[this.stack.length - 1].label = label\n this.stack[this.stack.length - 1].identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n\n function onexitcharacterreferencevalue(token) {\n var data = this.sliceSerialize(token)\n var type = getData('characterReferenceType')\n var value\n var tail\n\n if (type) {\n value = safeFromInt(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n\n setData('characterReferenceType')\n } else {\n value = decode(data)\n }\n\n tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n this.stack[this.stack.length - 1].url = this.sliceSerialize(token)\n }\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n this.stack[this.stack.length - 1].url =\n 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n function blockQuote() {\n return {type: 'blockquote', children: []}\n }\n\n function codeFlow() {\n return {type: 'code', lang: null, meta: null, value: ''}\n }\n\n function codeText() {\n return {type: 'inlineCode', value: ''}\n }\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n function emphasis() {\n return {type: 'emphasis', children: []}\n }\n\n function heading() {\n return {type: 'heading', depth: undefined, children: []}\n }\n\n function hardBreak() {\n return {type: 'break'}\n }\n\n function html() {\n return {type: 'html', value: ''}\n }\n\n function image() {\n return {type: 'image', title: null, url: '', alt: null}\n }\n\n function link() {\n return {type: 'link', title: null, url: '', children: []}\n }\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n function paragraph() {\n return {type: 'paragraph', children: []}\n }\n\n function strong() {\n return {type: 'strong', children: []}\n }\n\n function text() {\n return {type: 'text', value: ''}\n }\n\n function thematicBreak() {\n return {type: 'thematicBreak'}\n }\n}\n\nfunction configure(config, extensions) {\n var index = -1\n\n while (++index < extensions.length) {\n extension(config, extensions[index])\n }\n\n return config\n}\n\nfunction extension(config, extension) {\n var key\n var left\n\n for (key in extension) {\n left = own.call(config, key) ? config[key] : (config[key] = {})\n\n if (key === 'canContainEols' || key === 'transforms') {\n config[key] = [].concat(left, extension[key])\n } else {\n Object.assign(left, extension[key])\n }\n }\n}\n", + "'use strict'\n\nmodule.exports = require('./dist')\n", + "'use strict'\n\nmodule.exports = parse\n\nvar fromMarkdown = require('mdast-util-from-markdown')\n\nfunction parse(options) {\n var self = this\n\n this.Parser = parse\n\n function parse(doc) {\n return fromMarkdown(\n doc,\n Object.assign({}, self.data('settings'), options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n )\n }\n}\n", + "'use strict'\n\nmodule.exports = u\n\nfunction u(type, props, value) {\n var node\n\n if (\n (value === null || value === undefined) &&\n (typeof props !== 'object' || Array.isArray(props))\n ) {\n value = props\n props = {}\n }\n\n node = Object.assign({type: String(type)}, props)\n\n if (Array.isArray(value)) {\n node.children = value\n } else if (value !== null && value !== undefined) {\n node.value = String(value)\n }\n\n return node\n}\n", + "'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (test == null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return 'length' in test ? anyFactory(test) : allFactory(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction allFactory(test) {\n return all\n\n function all(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) return false\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = []\n var index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return any\n\n function any() {\n var index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n", + "module.exports = identity\nfunction identity(d) {\n return d\n}\n", + "'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\nvar color = require('./color')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var step\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n function factory(node, index, parents) {\n var value = typeof node === 'object' && node !== null ? node : {}\n var name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n visit.displayName =\n 'node (' + color(value.type + (name ? '<' + name + '>' : '')) + ')'\n }\n\n return visit\n\n function visit() {\n var grandparents = parents.concat(node)\n var result = []\n var subresult\n var offset\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n offset = (reverse ? node.children.length : -1) + step\n\n while (offset > -1 && offset < node.children.length) {\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n", + "'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n", + "'use strict'\n\nvar start = factory('start')\nvar end = factory('end')\n\nmodule.exports = position\n\nposition.start = start\nposition.end = end\n\nfunction position(node) {\n return {start: start(node), end: end(node)}\n}\n\nfunction factory(type) {\n point.displayName = type\n\n return point\n\n function point(node) {\n var point = (node && node.position && node.position[type]) || {}\n\n return {\n line: point.line || null,\n column: point.column || null,\n offset: isNaN(point.offset) ? null : point.offset\n }\n }\n}\n", + "'use strict'\n\nmodule.exports = generated\n\nfunction generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n", + "'use strict'\n\nvar visit = require('unist-util-visit')\n\nmodule.exports = getDefinitionFactory\n\nvar own = {}.hasOwnProperty\n\n// Get a definition in `node` by `identifier`.\nfunction getDefinitionFactory(node, options) {\n return getterFactory(gather(node, options))\n}\n\n// Gather all definitions in `node`\nfunction gather(node) {\n var cache = {}\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(node, 'definition', ondefinition)\n\n return cache\n\n function ondefinition(definition) {\n var id = normalise(definition.identifier)\n if (!own.call(cache, id)) {\n cache[id] = definition\n }\n }\n}\n\n// Factory to get a node from the given definition-cache.\nfunction getterFactory(cache) {\n return getter\n\n // Get a node from the bound definition-cache.\n function getter(identifier) {\n var id = identifier && normalise(identifier)\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\nfunction normalise(identifier) {\n return identifier.toUpperCase()\n}\n", + "'use strict'\n\nmodule.exports = all\n\nvar one = require('./one')\n\nfunction all(h, parent) {\n var nodes = parent.children || []\n var length = nodes.length\n var values = []\n var index = -1\n var result\n var head\n\n while (++index < length) {\n result = one(h, nodes[index], parent)\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (result.value) {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n head = result.children && result.children[0]\n\n if (head && head.value) {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n\n values = values.concat(result)\n }\n }\n\n return values\n}\n", + "'use strict'\n\nmodule.exports = one\n\nvar u = require('unist-builder')\nvar all = require('./all')\n\nvar own = {}.hasOwnProperty\n\n// Transform an unknown node.\nfunction unknown(h, node) {\n if (text(node)) {\n return h.augment(node, u('text', node.value))\n }\n\n return h(node, 'div', all(h, node))\n}\n\n// Visit a node.\nfunction one(h, node, parent) {\n var type = node && node.type\n var fn\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type]\n } else if (h.passThrough && h.passThrough.indexOf(type) > -1) {\n fn = returnNode\n } else {\n fn = h.unknownHandler\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent)\n}\n\n// Check if the node should be renderered as a text node.\nfunction text(node) {\n var data = node.data || {}\n\n if (\n own.call(data, 'hName') ||\n own.call(data, 'hProperties') ||\n own.call(data, 'hChildren')\n ) {\n return false\n }\n\n return 'value' in node\n}\n\nfunction returnNode(h, node) {\n var clone\n\n if (node.children) {\n clone = Object.assign({}, node)\n clone.children = all(h, node)\n return clone\n }\n\n return node\n}\n", + "'use strict'\n\nmodule.exports = thematicBreak\n\nfunction thematicBreak(h, node) {\n return h(node, 'hr')\n}\n", + "'use strict'\n\nmodule.exports = wrap\n\nvar u = require('unist-builder')\n\n// Wrap `nodes` with line feeds between each entry.\n// Optionally adds line feeds at the start and end.\nfunction wrap(nodes, loose) {\n var result = []\n var index = -1\n var length = nodes.length\n\n if (loose) {\n result.push(u('text', '\\n'))\n }\n\n while (++index < length) {\n if (index) {\n result.push(u('text', '\\n'))\n }\n\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'))\n }\n\n return result\n}\n", + "'use strict'\n\nmodule.exports = list\n\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction list(h, node) {\n var props = {}\n var name = node.ordered ? 'ol' : 'ul'\n var items\n var index = -1\n var length\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start\n }\n\n items = all(h, node)\n length = items.length\n\n // Like GitHub, add a class for custom styling.\n while (++index < length) {\n if (\n items[index].properties.className &&\n items[index].properties.className.indexOf('task-list-item') !== -1\n ) {\n props.className = ['contains-task-list']\n break\n }\n }\n\n return h(node, name, props, wrap(items, true))\n}\n", + "'use strict'\n\nmodule.exports = generateFootnotes\n\nvar thematicBreak = require('./handlers/thematic-break')\nvar list = require('./handlers/list')\nvar wrap = require('./wrap')\n\nfunction generateFootnotes(h) {\n var footnoteById = h.footnoteById\n var footnoteOrder = h.footnoteOrder\n var length = footnoteOrder.length\n var index = -1\n var listItems = []\n var def\n var backReference\n var content\n var tail\n\n while (++index < length) {\n def = footnoteById[footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n content = def.children.concat()\n tail = content[content.length - 1]\n backReference = {\n type: 'link',\n url: '#fnref-' + def.identifier,\n data: {hProperties: {className: ['footnote-backref']}},\n children: [{type: 'text', value: '↩'}]\n }\n\n if (!tail || tail.type !== 'paragraph') {\n tail = {type: 'paragraph', children: []}\n content.push(tail)\n }\n\n tail.children.push(backReference)\n\n listItems.push({\n type: 'listItem',\n data: {hProperties: {id: 'fn-' + def.identifier}},\n children: content,\n position: def.position\n })\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return h(\n null,\n 'div',\n {className: ['footnotes']},\n wrap(\n [\n thematicBreak(h),\n list(h, {type: 'list', ordered: true, children: listItems})\n ],\n true\n )\n )\n}\n", + "'use strict'\n\nmodule.exports = blockquote\n\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true))\n}\n", + "'use strict'\n\nmodule.exports = hardBreak\n\nvar u = require('unist-builder')\n\nfunction hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')]\n}\n", + "'use strict'\n\nmodule.exports = code\n\nvar u = require('unist-builder')\n\nfunction code(h, node) {\n var value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n var lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/)\n var props = {}\n var code\n\n if (lang) {\n props.className = ['language-' + lang]\n }\n\n code = h(node, 'code', props, [u('text', value)])\n\n if (node.meta) {\n code.data = {meta: node.meta}\n }\n\n return h(node.position, 'pre', [code])\n}\n", + "'use strict'\n\nmodule.exports = strikethrough\n\nvar all = require('../all')\n\nfunction strikethrough(h, node) {\n return h(node, 'del', all(h, node))\n}\n", + "'use strict'\n\nmodule.exports = emphasis\n\nvar all = require('../all')\n\nfunction emphasis(h, node) {\n return h(node, 'em', all(h, node))\n}\n", + "'use strict'\n\nmodule.exports = footnoteReference\n\nvar u = require('unist-builder')\n\nfunction footnoteReference(h, node) {\n var footnoteOrder = h.footnoteOrder\n var identifier = String(node.identifier)\n\n if (footnoteOrder.indexOf(identifier) === -1) {\n footnoteOrder.push(identifier)\n }\n\n return h(node.position, 'sup', {id: 'fnref-' + identifier}, [\n h(node, 'a', {href: '#fn-' + identifier, className: ['footnote-ref']}, [\n u('text', node.label || identifier)\n ])\n ])\n}\n", + "'use strict'\n\nmodule.exports = footnote\n\nvar footnoteReference = require('./footnote-reference')\n\nfunction footnote(h, node) {\n var footnoteById = h.footnoteById\n var footnoteOrder = h.footnoteOrder\n var identifier = 1\n\n while (identifier in footnoteById) {\n identifier++\n }\n\n identifier = String(identifier)\n\n // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n footnoteOrder.push(identifier)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier: identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier: identifier,\n position: node.position\n })\n}\n", + "'use strict'\n\nmodule.exports = heading\n\nvar all = require('../all')\n\nfunction heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node))\n}\n", + "'use strict'\n\nmodule.exports = html\n\nvar u = require('unist-builder')\n\n// Return either a `raw` node in dangerous mode, otherwise nothing.\nfunction html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null\n}\n", + "\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n", + "'use strict'\n\nmodule.exports = revert\n\nvar u = require('unist-builder')\nvar all = require('./all')\n\n// Return the content of a reference without definition as Markdown.\nfunction revert(h, node) {\n var subtype = node.referenceType\n var suffix = ']'\n var contents\n var head\n var tail\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix)\n }\n\n contents = all(h, node)\n head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift(u('text', '['))\n }\n\n tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push(u('text', suffix))\n }\n\n return contents\n}\n", + "'use strict'\n\nmodule.exports = imageReference\n\nvar normalize = require('mdurl/encode')\nvar revert = require('../revert')\n\nfunction imageReference(h, node) {\n var def = h.definition(node.identifier)\n var props\n\n if (!def) {\n return revert(h, node)\n }\n\n props = {src: normalize(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'img', props)\n}\n", + "'use strict'\n\nvar normalize = require('mdurl/encode')\n\nmodule.exports = image\n\nfunction image(h, node) {\n var props = {src: normalize(node.url), alt: node.alt}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'img', props)\n}\n", + "'use strict'\n\nmodule.exports = inlineCode\n\nvar u = require('unist-builder')\n\nfunction inlineCode(h, node) {\n var value = node.value.replace(/\\r?\\n|\\r/g, ' ')\n return h(node, 'code', [u('text', value)])\n}\n", + "'use strict'\n\nmodule.exports = linkReference\n\nvar normalize = require('mdurl/encode')\nvar revert = require('../revert')\nvar all = require('../all')\n\nfunction linkReference(h, node) {\n var def = h.definition(node.identifier)\n var props\n\n if (!def) {\n return revert(h, node)\n }\n\n props = {href: normalize(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n", + "'use strict'\n\nvar normalize = require('mdurl/encode')\nvar all = require('../all')\n\nmodule.exports = link\n\nfunction link(h, node) {\n var props = {href: normalize(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n", + "'use strict'\n\nmodule.exports = listItem\n\nvar u = require('unist-builder')\nvar all = require('../all')\n\nfunction listItem(h, node, parent) {\n var result = all(h, node)\n var head = result[0]\n var loose = parent ? listLoose(parent) : listItemLoose(node)\n var props = {}\n var wrapped = []\n var length\n var index\n var child\n\n if (typeof node.checked === 'boolean') {\n if (!head || head.tagName !== 'p') {\n head = h(null, 'p', [])\n result.unshift(head)\n }\n\n if (head.children.length > 0) {\n head.children.unshift(u('text', ' '))\n }\n\n head.children.unshift(\n h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })\n )\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n props.className = ['task-list-item']\n }\n\n length = result.length\n index = -1\n\n while (++index < length) {\n child = result[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (loose || index !== 0 || child.tagName !== 'p') {\n wrapped.push(u('text', '\\n'))\n }\n\n if (child.tagName === 'p' && !loose) {\n wrapped = wrapped.concat(child.children)\n } else {\n wrapped.push(child)\n }\n }\n\n // Add a final eol.\n if (length && (loose || child.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'))\n }\n\n return h(node, 'li', props, wrapped)\n}\n\nfunction listLoose(node) {\n var loose = node.spread\n var children = node.children\n var length = children.length\n var index = -1\n\n while (!loose && ++index < length) {\n loose = listItemLoose(children[index])\n }\n\n return loose\n}\n\nfunction listItemLoose(node) {\n var spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n", + "'use strict'\n\nmodule.exports = paragraph\n\nvar all = require('../all')\n\nfunction paragraph(h, node) {\n return h(node, 'p', all(h, node))\n}\n", + "'use strict'\n\nmodule.exports = root\n\nvar u = require('unist-builder')\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction root(h, node) {\n return h.augment(node, u('root', wrap(all(h, node))))\n}\n", + "'use strict'\n\nmodule.exports = strong\n\nvar all = require('../all')\n\nfunction strong(h, node) {\n return h(node, 'strong', all(h, node))\n}\n", + "'use strict'\n\nmodule.exports = table\n\nvar position = require('unist-util-position')\nvar wrap = require('../wrap')\nvar all = require('../all')\n\nfunction table(h, node) {\n var rows = node.children\n var index = rows.length\n var align = node.align || []\n var alignLength = align.length\n var result = []\n var pos\n var row\n var out\n var name\n var cell\n\n while (index--) {\n row = rows[index].children\n name = index === 0 ? 'th' : 'td'\n pos = alignLength || row.length\n out = []\n\n while (pos--) {\n cell = row[pos]\n out[pos] = h(cell, name, {align: align[pos]}, cell ? all(h, cell) : [])\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true))\n }\n\n return h(\n node,\n 'table',\n wrap(\n [h(result[0].position, 'thead', wrap([result[0]], true))].concat(\n result[1]\n ? h(\n {\n start: position.start(result[1]),\n end: position.end(result[result.length - 1])\n },\n 'tbody',\n wrap(result.slice(1), true)\n )\n : []\n ),\n true\n )\n )\n}\n", + "'use strict'\n\nmodule.exports = text\n\nvar u = require('unist-builder')\n\nfunction text(h, node) {\n return h.augment(\n node,\n u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1'))\n )\n}\n", + "'use strict'\n\nmodule.exports = {\n blockquote: require('./blockquote'),\n break: require('./break'),\n code: require('./code'),\n delete: require('./delete'),\n emphasis: require('./emphasis'),\n footnoteReference: require('./footnote-reference'),\n footnote: require('./footnote'),\n heading: require('./heading'),\n html: require('./html'),\n imageReference: require('./image-reference'),\n image: require('./image'),\n inlineCode: require('./inline-code'),\n linkReference: require('./link-reference'),\n link: require('./link'),\n listItem: require('./list-item'),\n list: require('./list'),\n paragraph: require('./paragraph'),\n root: require('./root'),\n strong: require('./strong'),\n table: require('./table'),\n text: require('./text'),\n thematicBreak: require('./thematic-break'),\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return null\n}\n", + "'use strict'\n\nmodule.exports = toHast\n\nvar u = require('unist-builder')\nvar visit = require('unist-util-visit')\nvar position = require('unist-util-position')\nvar generated = require('unist-util-generated')\nvar definitions = require('mdast-util-definitions')\nvar one = require('./one')\nvar footer = require('./footer')\nvar handlers = require('./handlers')\n\nvar own = {}.hasOwnProperty\n\nvar deprecationWarningIssued = false\n\n// Factory to transform.\nfunction factory(tree, options) {\n var settings = options || {}\n\n // Issue a warning if the deprecated tag 'allowDangerousHTML' is used\n if (settings.allowDangerousHTML !== undefined && !deprecationWarningIssued) {\n deprecationWarningIssued = true\n console.warn(\n 'mdast-util-to-hast: deprecation: `allowDangerousHTML` is nonstandard, use `allowDangerousHtml` instead'\n )\n }\n\n var dangerous = settings.allowDangerousHtml || settings.allowDangerousHTML\n var footnoteById = {}\n\n h.dangerous = dangerous\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n h.footnoteOrder = []\n h.augment = augment\n h.handlers = Object.assign({}, handlers, settings.handlers)\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', onfootnotedefinition)\n\n return h\n\n // Finalise the created `right`, a hast node, from `left`, an mdast node.\n function augment(left, right) {\n var data\n var ctx\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && left.data) {\n data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = Object.assign({}, right.properties, data.hProperties)\n }\n\n if (right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n ctx = left && left.position ? left : {position: left}\n\n if (!generated(ctx)) {\n right.position = {\n start: position.start(ctx),\n end: position.end(ctx)\n }\n }\n\n return right\n }\n\n // Create an element for `node`.\n function h(node, tagName, props, children) {\n if (\n (children === undefined || children === null) &&\n typeof props === 'object' &&\n 'length' in props\n ) {\n children = props\n props = {}\n }\n\n return augment(node, {\n type: 'element',\n tagName: tagName,\n properties: props || {},\n children: children || []\n })\n }\n\n function onfootnotedefinition(definition) {\n var id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n }\n}\n\n// Transform `tree`, which is an mdast node, to a hast node.\nfunction toHast(tree, options) {\n var h = factory(tree, options)\n var node = one(h, tree)\n var foot = footer(h)\n\n if (foot) {\n node.children = node.children.concat(u('text', '\\n'), foot)\n }\n\n return node\n}\n", + "'use strict'\nmodule.exports = require('./lib')\n", + "'use strict'\n\nvar mdast2hast = require('mdast-util-to-hast')\n\nmodule.exports = remark2rehype\n\n// Attacher.\n// If a destination is given, runs the destination with the new hast tree\n// (bridge mode).\n// Without destination, returns the tree: further plugins run on that tree\n// (mutate mode).\nfunction remark2rehype(destination, options) {\n if (destination && !destination.process) {\n options = destination\n destination = null\n }\n\n return destination ? bridge(destination, options) : mutate(options)\n}\n\n// Bridge mode.\n// Runs the destination with the new hast tree.\nfunction bridge(destination, options) {\n return transformer\n\n function transformer(node, file, next) {\n destination.run(mdast2hast(node, options), file, done)\n\n function done(error) {\n next(error)\n }\n }\n}\n\n// Mutate-mode.\n// Further transformers run on the hast tree.\nfunction mutate(options) {\n return transformer\n\n function transformer(node) {\n return mdast2hast(node, options)\n }\n}\n", + "module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n", + "'use strict'\n\nmodule.exports = Schema\n\nvar proto = Schema.prototype\n\nproto.space = null\nproto.normal = {}\nproto.property = {}\n\nfunction Schema(property, normal, space) {\n this.property = property\n this.normal = normal\n\n if (space) {\n this.space = space\n }\n}\n", + "'use strict'\n\nvar xtend = require('xtend')\nvar Schema = require('./schema')\n\nmodule.exports = merge\n\nfunction merge(definitions) {\n var length = definitions.length\n var property = []\n var normal = []\n var index = -1\n var info\n var space\n\n while (++index < length) {\n info = definitions[index]\n property.push(info.property)\n normal.push(info.normal)\n space = info.space\n }\n\n return new Schema(\n xtend.apply(null, property),\n xtend.apply(null, normal),\n space\n )\n}\n", + "'use strict'\n\nmodule.exports = normalize\n\nfunction normalize(value) {\n return value.toLowerCase()\n}\n", + "'use strict'\n\nmodule.exports = Info\n\nvar proto = Info.prototype\n\nproto.space = null\nproto.attribute = null\nproto.property = null\nproto.boolean = false\nproto.booleanish = false\nproto.overloadedBoolean = false\nproto.number = false\nproto.commaSeparated = false\nproto.spaceSeparated = false\nproto.commaOrSpaceSeparated = false\nproto.mustUseProperty = false\nproto.defined = false\n\nfunction Info(property, attribute) {\n this.property = property\n this.attribute = attribute\n}\n", + "'use strict'\n\nvar powers = 0\n\nexports.boolean = increment()\nexports.booleanish = increment()\nexports.overloadedBoolean = increment()\nexports.number = increment()\nexports.spaceSeparated = increment()\nexports.commaSeparated = increment()\nexports.commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return Math.pow(2, ++powers)\n}\n", + "'use strict'\n\nvar Info = require('./info')\nvar types = require('./types')\n\nmodule.exports = DefinedInfo\n\nDefinedInfo.prototype = new Info()\nDefinedInfo.prototype.defined = true\n\nvar checks = [\n 'boolean',\n 'booleanish',\n 'overloadedBoolean',\n 'number',\n 'commaSeparated',\n 'spaceSeparated',\n 'commaOrSpaceSeparated'\n]\nvar checksLength = checks.length\n\nfunction DefinedInfo(property, attribute, mask, space) {\n var index = -1\n var check\n\n mark(this, 'space', space)\n\n Info.call(this, property, attribute)\n\n while (++index < checksLength) {\n check = checks[index]\n mark(this, check, (mask & types[check]) === types[check])\n }\n}\n\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n", + "'use strict'\n\nvar normalize = require('../../normalize')\nvar Schema = require('./schema')\nvar DefinedInfo = require('./defined-info')\n\nmodule.exports = create\n\nfunction create(definition) {\n var space = definition.space\n var mustUseProperty = definition.mustUseProperty || []\n var attributes = definition.attributes || {}\n var props = definition.properties\n var transform = definition.transform\n var property = {}\n var normal = {}\n var prop\n var info\n\n for (prop in props) {\n info = new DefinedInfo(\n prop,\n transform(attributes, prop),\n props[prop],\n space\n )\n\n if (mustUseProperty.indexOf(prop) !== -1) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n\n return new Schema(property, normal, space)\n}\n", + "'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xlink',\n transform: xlinkTransform,\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n\nfunction xlinkTransform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n}\n", + "'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xml',\n transform: xmlTransform,\n properties: {\n xmlLang: null,\n xmlBase: null,\n xmlSpace: null\n }\n})\n\nfunction xmlTransform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n}\n", + "'use strict'\n\nmodule.exports = caseSensitiveTransform\n\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n", + "'use strict'\n\nvar caseSensitiveTransform = require('./case-sensitive-transform')\n\nmodule.exports = caseInsensitiveTransform\n\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n", + "'use strict'\n\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nmodule.exports = create({\n space: 'xmlns',\n attributes: {\n xmlnsxlink: 'xmlns:xlink'\n },\n transform: caseInsensitiveTransform,\n properties: {\n xmlns: null,\n xmlnsXLink: null\n }\n})\n", + "'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\n\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\n\nmodule.exports = create({\n transform: ariaTransform,\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n\nfunction ariaTransform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n}\n", + "'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nvar boolean = types.boolean\nvar overloadedBoolean = types.overloadedBoolean\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\n\nmodule.exports = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: commaSeparated,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextMenu: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: commaSeparated,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n", + "'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar html = require('./lib/html')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, html])\n", + "'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseSensitiveTransform = require('./util/case-sensitive-transform')\n\nvar boolean = types.boolean\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\nvar commaOrSpaceSeparated = types.commaOrSpaceSeparated\n\nmodule.exports = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n", + "'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar svg = require('./lib/svg')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, svg])\n", + "'use strict'\n\nvar normalize = require('./normalize')\nvar DefinedInfo = require('./lib/util/defined-info')\nvar Info = require('./lib/util/info')\n\nvar data = 'data'\n\nmodule.exports = find\n\nvar valid = /^data[-\\w.:]+$/i\nvar dash = /-[a-z]/g\nvar cap = /[A-Z]/g\n\nfunction find(schema, value) {\n var normal = normalize(value)\n var prop = value\n var Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n prop = datasetToProperty(value)\n } else {\n value = datasetToAttribute(value)\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\nfunction datasetToProperty(attribute) {\n var value = attribute.slice(5).replace(dash, camelcase)\n return data + value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nfunction datasetToAttribute(property) {\n var value = property.slice(4)\n\n if (dash.test(value)) {\n return property\n }\n\n value = value.replace(cap, kebab)\n\n if (value.charAt(0) !== '-') {\n value = '-' + value\n }\n\n return data + value\n}\n\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n", + "'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar empty = ''\nvar space = ' '\nvar whiteSpace = /[ \\t\\n\\r\\f]+/g\n\nfunction parse(value) {\n var input = String(value || empty).trim()\n return input === empty ? [] : input.split(whiteSpace)\n}\n\nfunction stringify(values) {\n return values.join(space).trim()\n}\n", + "'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n", + "// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n", + "var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n", + "'use strict'\n\nvar html = require('property-information/html')\nvar svg = require('property-information/svg')\nvar find = require('property-information/find')\nvar hastToReact = require('property-information/hast-to-react.json')\nvar spaces = require('space-separated-tokens')\nvar commas = require('comma-separated-tokens')\nvar style = require('style-to-object')\nvar ns = require('web-namespaces')\nvar convert = require('unist-util-is/convert')\n\nvar root = convert('root')\nvar element = convert('element')\nvar text = convert('text')\n\nmodule.exports = wrapper\n\nfunction wrapper(h, node, options) {\n var settings = options || {}\n var r = react(h)\n var v = vue(h)\n var vd = vdom(h)\n var prefix\n\n if (typeof h !== 'function') {\n throw new Error('h is not a function')\n }\n\n if (typeof settings === 'string' || typeof settings === 'boolean') {\n prefix = settings\n settings = {}\n } else {\n prefix = settings.prefix\n }\n\n if (root(node)) {\n node =\n node.children.length === 1 && element(node.children[0])\n ? node.children[0]\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: node.children\n }\n } else if (!element(node)) {\n throw new Error(\n 'Expected root or element, not `' + ((node && node.type) || node) + '`'\n )\n }\n\n return toH(h, node, {\n schema: settings.space === 'svg' ? svg : html,\n prefix: prefix == null ? (r || v || vd ? 'h-' : null) : prefix,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n// Transform a hast node through a hyperscript interface to *anything*!\nfunction toH(h, node, ctx) {\n var parentSchema = ctx.schema\n var schema = parentSchema\n var name = node.tagName\n var attributes = {}\n var nodes = []\n var index = -1\n var key\n var value\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n ctx.schema = schema\n }\n\n for (key in node.properties) {\n addAttribute(attributes, key, node.properties[key], ctx, name)\n }\n\n if (ctx.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else {\n attributes.namespace = ns[schema.space]\n }\n }\n\n if (ctx.prefix) {\n ctx.key++\n attributes.key = ctx.prefix + ctx.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n value = node.children[index]\n\n if (element(value)) {\n nodes.push(toH(h, value, ctx))\n } else if (text(value)) {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n ctx.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\nfunction addAttribute(props, prop, value, ctx, name) {\n var info = find(ctx.schema, prop)\n var subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value == null ||\n value !== value ||\n (value === false && (ctx.vue || ctx.vdom || ctx.hyperscript)) ||\n (!value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript))\n ) {\n return\n }\n\n if (value && typeof value === 'object' && 'length' in value) {\n // Accept `array`.\n // Most props are space-separated.\n value = (info.commaSeparated ? commas : spaces).stringify(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && ctx.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (ctx.react || ctx.vue || ctx.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n if (ctx.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (ctx.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n if (!props[subprop]) props[subprop] = {}\n props[subprop][info.attribute] = value\n } else if (info.space && ctx.react) {\n props[hastToReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n// Check if `h` is `react.createElement`.\nfunction react(h) {\n var node = h && h('div')\n return Boolean(\n node && ('_owner' in node || '_store' in node) && node.key == null\n )\n}\n\n// Check if `h` is `hyperscript`.\nfunction hyperscript(h) {\n return Boolean(h && h.context && h.cleanup)\n}\n\n// Check if `h` is `virtual-dom/h`.\nfunction vdom(h) {\n return h && h('div').type === 'VirtualNode'\n}\n\nfunction vue(h) {\n var node = h && h('div')\n return Boolean(node && node.context && node.context._isVue)\n}\n\nfunction parseStyle(value, tagName) {\n var result = {}\n\n try {\n style(value, iterator)\n } catch (error) {\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n\n function iterator(name, value) {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n result[name.replace(/-([a-z])/g, styleReplacer)] = value\n }\n}\n\nfunction styleReplacer($0, $1) {\n return $1.toUpperCase()\n}\n", + "'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n// Utility assert each property in `test` is represented in `node`, and each\n// values are strictly equal.\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string into a function which checks a given node’s type\n// for said string.\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n", + "'use strict'\n\nmodule.exports = visitParents\n\nvar convert = require('unist-util-is/convert')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n var is\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n is = convert(test)\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result = []\n var subresult\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if (node.children && result[0] !== SKIP) {\n subresult = toResult(all(node.children, parents.concat(node)))\n return subresult[0] === EXIT ? subresult : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var result\n\n while (index > min && index < children.length) {\n result = one(children[index], index, parents)\n\n if (result[0] === EXIT) {\n return result\n }\n\n index = typeof result[1] === 'number' ? result[1] : index + step\n }\n }\n}\n\nfunction toResult(value) {\n if (value !== null && typeof value === 'object' && 'length' in value) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n", + "'use strict'\n\nmodule.exports = visit\n\nvar visitParents = require('unist-util-visit-parents')\n\nvar CONTINUE = visitParents.CONTINUE\nvar SKIP = visitParents.SKIP\nvar EXIT = visitParents.EXIT\n\nvisit.CONTINUE = CONTINUE\nvisit.SKIP = SKIP\nvisit.EXIT = EXIT\n\nfunction visit(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n function overload(node, parents) {\n var parent = parents[parents.length - 1]\n var index = parent ? parent.children.indexOf(node) : null\n return visitor(node, index, parent)\n }\n}\n", + "'use strict';\n\nvar visit = require('unist-util-visit');\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar hastCssPropertyMap = {\n align: 'text-align',\n valign: 'vertical-align',\n height: 'height',\n width: 'width',\n};\n\nmodule.exports = function tableCellStyle(node) {\n visit(node, 'element', visitor);\n return node;\n};\n\nfunction visitor(node) {\n if (node.tagName !== 'tr' && node.tagName !== 'td' && node.tagName !== 'th') {\n return;\n }\n\n var hastName;\n var cssName;\n for (hastName in hastCssPropertyMap) {\n if (\n !hasOwnProperty.call(hastCssPropertyMap, hastName) ||\n node.properties[hastName] === undefined\n ) {\n continue;\n }\n cssName = hastCssPropertyMap[hastName];\n appendStyle(node, cssName, node.properties[hastName]);\n delete node.properties[hastName];\n }\n}\n\nfunction appendStyle(node, property, value) {\n var prevStyle = (node.properties.style || '').trim();\n if (prevStyle && !/;\\s*/.test(prevStyle)) {\n prevStyle += ';';\n }\n if (prevStyle) {\n prevStyle += ' ';\n }\n var nextStyle = prevStyle + property + ': ' + value + ';';\n node.properties.style = nextStyle;\n}\n", + "'use strict'\n\nvar toH = require('hast-to-hyperscript')\nvar tableCellStyle = require('@mapbox/hast-util-table-cell-style')\n\nmodule.exports = rehypeReact\n\nvar own = {}.hasOwnProperty\nvar tableElements = new Set([\n 'table',\n 'thead',\n 'tbody',\n 'tfoot',\n 'tr',\n 'th',\n 'td'\n])\n\n// Add a React compiler.\nfunction rehypeReact(options) {\n var settings = options || {}\n var createElement = settings.createElement\n\n this.Compiler = compiler\n\n function compiler(node) {\n var result = toH(h, tableCellStyle(node), settings.prefix)\n\n if (node.type === 'root') {\n // Invert <https://github.com/syntax-tree/hast-to-hyperscript/blob/d227372/index.js#L46-L56>.\n result =\n result.type === 'div' &&\n (node.children.length !== 1 || node.children[0].type !== 'element')\n ? result.props.children\n : [result]\n\n return createElement(settings.Fragment || 'div', {}, result)\n }\n\n return result\n }\n\n // Wrap `createElement` to pass components in.\n function h(name, props, children) {\n var component = name\n\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we remove the pretty lines for now.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n if (children && tableElements.has(name)) {\n children = children.filter(function (child) {\n return child !== '\\n'\n })\n }\n\n if (settings.components && own.call(settings.components, name)) {\n component = settings.components[name]\n\n if (settings.passNode) {\n props.node = this\n }\n }\n\n return createElement(component, props, children)\n }\n}\n", + "import { useState, useCallback, createElement, Fragment, useEffect } from 'react';\nimport unified from 'unified';\nimport remarkParse from 'remark-parse';\nimport remarkToRehype from 'remark-rehype';\nimport rehypeReact from 'rehype-react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"children\"];\nvar useRemarkSync = function useRemarkSync(source, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n remarkParseOptions = _ref.remarkParseOptions,\n remarkToRehypeOptions = _ref.remarkToRehypeOptions,\n rehypeReactOptions = _ref.rehypeReactOptions,\n _ref$remarkPlugins = _ref.remarkPlugins,\n remarkPlugins = _ref$remarkPlugins === void 0 ? [] : _ref$remarkPlugins,\n _ref$rehypePlugins = _ref.rehypePlugins,\n rehypePlugins = _ref$rehypePlugins === void 0 ? [] : _ref$rehypePlugins;\n\n return unified().use(remarkParse, remarkParseOptions).use(remarkPlugins).use(remarkToRehype, remarkToRehypeOptions).use(rehypePlugins).use(rehypeReact, _extends({\n createElement: createElement,\n Fragment: Fragment\n }, rehypeReactOptions)).processSync(source).result;\n};\nvar useRemark = function useRemark(_temp2) {\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n remarkParseOptions = _ref2.remarkParseOptions,\n remarkToRehypeOptions = _ref2.remarkToRehypeOptions,\n rehypeReactOptions = _ref2.rehypeReactOptions,\n _ref2$remarkPlugins = _ref2.remarkPlugins,\n remarkPlugins = _ref2$remarkPlugins === void 0 ? [] : _ref2$remarkPlugins,\n _ref2$rehypePlugins = _ref2.rehypePlugins,\n rehypePlugins = _ref2$rehypePlugins === void 0 ? [] : _ref2$rehypePlugins,\n _ref2$onError = _ref2.onError,\n onError = _ref2$onError === void 0 ? function () {} : _ref2$onError;\n\n var _useState = useState(null),\n reactContent = _useState[0],\n setReactContent = _useState[1];\n\n var setMarkdownSource = useCallback(function (source) {\n unified().use(remarkParse, remarkParseOptions).use(remarkPlugins).use(remarkToRehype, remarkToRehypeOptions).use(rehypePlugins).use(rehypeReact, _extends({\n createElement: createElement,\n Fragment: Fragment\n }, rehypeReactOptions)).process(source).then(function (vfile) {\n return setReactContent(vfile.result);\n })[\"catch\"](onError);\n }, []);\n return [reactContent, setMarkdownSource];\n};\nvar Remark = function Remark(_ref3) {\n var children = _ref3.children,\n useRemarkOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var _useRemark = useRemark(useRemarkOptions),\n reactContent = _useRemark[0],\n setMarkdownSource = _useRemark[1];\n\n useEffect(function () {\n setMarkdownSource(children);\n }, [children, setMarkdownSource]);\n return reactContent;\n};\n\nexport { Remark, useRemark, useRemarkSync };\n//# sourceMappingURL=react-remark.esm.js.map\n", + "import styled from \"styled-components\"\n\n// Keep StyledMarkdown as it's used by ModelDescriptionMarkdown.tsx\nexport const StyledMarkdown = styled.div`\n\tfont-family:\n\t\tvar(--vscode-font-family),\n\t\tsystem-ui,\n\t\t-apple-system,\n\t\tBlinkMacSystemFont,\n\t\t\"Segoe UI\",\n\t\tRoboto,\n\t\tOxygen,\n\t\tUbuntu,\n\t\tCantarell,\n\t\t\"Open Sans\",\n\t\t\"Helvetica Neue\",\n\t\tsans-serif;\n\tfont-size: 12px;\n\tcolor: var(--vscode-descriptionForeground);\n\n\tp,\n\tli,\n\tol,\n\tul {\n\t\tline-height: 1.25;\n\t\tmargin: 0;\n\t}\n\n\tol,\n\tul {\n\t\tpadding-left: 1.5em;\n\t\tmargin-left: 0;\n\t}\n\n\tol {\n\t\tlist-style-type: decimal;\n\t}\n\n\tul {\n\t\tlist-style-type: disc;\n\t}\n\n\t/* Nested list styles */\n\tul ul {\n\t\tlist-style-type: circle;\n\t}\n\n\tul ul ul {\n\t\tlist-style-type: square;\n\t}\n\n\tol ol {\n\t\tlist-style-type: lower-alpha;\n\t}\n\n\tol ol ol {\n\t\tlist-style-type: lower-roman;\n\t}\n\n\tp {\n\t\twhite-space: pre-wrap;\n\t}\n\n\ta {\n\t\ttext-decoration: none;\n\t}\n\ta {\n\t\t&:hover {\n\t\t\ttext-decoration: underline;\n\t\t}\n\t}\n`\n", + "import { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { memo, useEffect, useRef, useState } from \"react\"\nimport { useRemark } from \"react-remark\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Collapsible, CollapsibleTrigger } from \"@/components/ui\"\n\nimport { StyledMarkdown } from \"./styles\"\n\nexport const ModelDescriptionMarkdown = memo(\n\t({\n\t\tmarkdown = \"\",\n\t\tkey,\n\t\tisExpanded,\n\t\tsetIsExpanded,\n\t}: {\n\t\tmarkdown?: string\n\t\tkey: string\n\t\tisExpanded: boolean\n\t\tsetIsExpanded: (isExpanded: boolean) => void\n\t}) => {\n\t\tconst [content, setContent] = useRemark()\n\t\tconst [isExpandable, setIsExpandable] = useState(false)\n\t\tconst textContainerRef = useRef<HTMLDivElement>(null)\n\t\tconst textRef = useRef<HTMLDivElement>(null)\n\n\t\tuseEffect(() => setContent(markdown), [markdown, setContent])\n\n\t\tuseEffect(() => {\n\t\t\tif (textRef.current && textContainerRef.current) {\n\t\t\t\tsetIsExpandable(textRef.current.scrollHeight > textContainerRef.current.clientHeight)\n\t\t\t}\n\t\t}, [content])\n\n\t\treturn (\n\t\t\t<Collapsible open={isExpanded} onOpenChange={setIsExpanded} className=\"relative\">\n\t\t\t\t<div ref={textContainerRef} className={cn({ \"line-clamp-3\": !isExpanded })}>\n\t\t\t\t\t<div ref={textRef}>\n\t\t\t\t\t\t<StyledMarkdown key={key}>{content}</StyledMarkdown>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<CollapsibleTrigger asChild className={cn({ hidden: !isExpandable })}>\n\t\t\t\t\t<VSCodeLink className=\"text-sm\">{isExpanded ? \"Less\" : \"More\"}</VSCodeLink>\n\t\t\t\t</CollapsibleTrigger>\n\t\t\t</Collapsible>\n\t\t)\n\t},\n)\n", + "import { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ModelInfo } from \"@roo-code/types\"\n\nimport { formatPrice } from \"@src/utils/formatPrice\"\nimport { cn } from \"@src/lib/utils\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\n\nimport { ModelDescriptionMarkdown } from \"./ModelDescriptionMarkdown\"\n\ntype ModelInfoViewProps = {\n\tapiProvider?: string\n\tselectedModelId: string\n\tmodelInfo?: ModelInfo\n\tisDescriptionExpanded: boolean\n\tsetIsDescriptionExpanded: (isExpanded: boolean) => void\n}\n\nexport const ModelInfoView = ({\n\tapiProvider,\n\tselectedModelId,\n\tmodelInfo,\n\tisDescriptionExpanded,\n\tsetIsDescriptionExpanded,\n}: ModelInfoViewProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst infoItems = [\n\t\t<ModelInfoSupportsItem\n\t\t\tisSupported={modelInfo?.supportsImages ?? false}\n\t\t\tsupportsLabel={t(\"settings:modelInfo.supportsImages\")}\n\t\t\tdoesNotSupportLabel={t(\"settings:modelInfo.noImages\")}\n\t\t/>,\n\t\t<ModelInfoSupportsItem\n\t\t\tisSupported={modelInfo?.supportsComputerUse ?? false}\n\t\t\tsupportsLabel={t(\"settings:modelInfo.supportsComputerUse\")}\n\t\t\tdoesNotSupportLabel={t(\"settings:modelInfo.noComputerUse\")}\n\t\t/>,\n\t\t<ModelInfoSupportsItem\n\t\t\tisSupported={modelInfo?.supportsPromptCache ?? false}\n\t\t\tsupportsLabel={t(\"settings:modelInfo.supportsPromptCache\")}\n\t\t\tdoesNotSupportLabel={t(\"settings:modelInfo.noPromptCache\")}\n\t\t/>,\n\t\ttypeof modelInfo?.maxTokens === \"number\" && modelInfo.maxTokens > 0 && (\n\t\t\t<>\n\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.maxOutput\")}:</span>{\" \"}\n\t\t\t\t{modelInfo.maxTokens?.toLocaleString()} tokens\n\t\t\t</>\n\t\t),\n\t\tmodelInfo?.inputPrice !== undefined && modelInfo.inputPrice > 0 && (\n\t\t\t<>\n\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.inputPrice\")}:</span>{\" \"}\n\t\t\t\t{formatPrice(modelInfo.inputPrice)} / 1M tokens\n\t\t\t</>\n\t\t),\n\t\tmodelInfo?.outputPrice !== undefined && modelInfo.outputPrice > 0 && (\n\t\t\t<>\n\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.outputPrice\")}:</span>{\" \"}\n\t\t\t\t{formatPrice(modelInfo.outputPrice)} / 1M tokens\n\t\t\t</>\n\t\t),\n\t\tmodelInfo?.supportsPromptCache && modelInfo.cacheReadsPrice && (\n\t\t\t<>\n\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.cacheReadsPrice\")}:</span>{\" \"}\n\t\t\t\t{formatPrice(modelInfo.cacheReadsPrice || 0)} / 1M tokens\n\t\t\t</>\n\t\t),\n\t\tmodelInfo?.supportsPromptCache && modelInfo.cacheWritesPrice && (\n\t\t\t<>\n\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.cacheWritesPrice\")}:</span>{\" \"}\n\t\t\t\t{formatPrice(modelInfo.cacheWritesPrice || 0)} / 1M tokens\n\t\t\t</>\n\t\t),\n\t\tapiProvider === \"gemini\" && (\n\t\t\t<span className=\"italic\">\n\t\t\t\t{selectedModelId.includes(\"pro-preview\")\n\t\t\t\t\t? t(\"settings:modelInfo.gemini.billingEstimate\")\n\t\t\t\t\t: t(\"settings:modelInfo.gemini.freeRequests\", {\n\t\t\t\t\t\t\tcount: selectedModelId && selectedModelId.includes(\"flash\") ? 15 : 2,\n\t\t\t\t\t\t})}{\" \"}\n\t\t\t\t<VSCodeLink href=\"https://ai.google.dev/pricing\" className=\"text-sm\">\n\t\t\t\t\t{t(\"settings:modelInfo.gemini.pricingDetails\")}\n\t\t\t\t</VSCodeLink>\n\t\t\t</span>\n\t\t),\n\t].filter(Boolean)\n\n\treturn (\n\t\t<>\n\t\t\t{modelInfo?.description && (\n\t\t\t\t<ModelDescriptionMarkdown\n\t\t\t\t\tkey=\"description\"\n\t\t\t\t\tmarkdown={modelInfo.description}\n\t\t\t\t\tisExpanded={isDescriptionExpanded}\n\t\t\t\t\tsetIsExpanded={setIsDescriptionExpanded}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t{infoItems.map((item, index) => (\n\t\t\t\t\t<div key={index}>{item}</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n\nconst ModelInfoSupportsItem = ({\n\tisSupported,\n\tsupportsLabel,\n\tdoesNotSupportLabel,\n}: {\n\tisSupported: boolean\n\tsupportsLabel: string\n\tdoesNotSupportLabel: string\n}) => (\n\t<div\n\t\tclassName={cn(\n\t\t\t\"flex items-center gap-1 font-medium\",\n\t\t\tisSupported ? \"text-vscode-charts-green\" : \"text-vscode-errorForeground\",\n\t\t)}>\n\t\t<span className={cn(\"codicon\", isSupported ? \"codicon-check\" : \"codicon-x\")} />\n\t\t{isSupported ? supportsLabel : doesNotSupportLabel}\n\t</div>\n)\n", + "import React from \"react\"\n\ninterface ApiErrorMessageProps {\n\terrorMessage: string | undefined\n\tchildren?: React.ReactNode\n}\n\nexport const ApiErrorMessage = ({ errorMessage, children }: ApiErrorMessageProps) => (\n\t<div className=\"flex flex-col gap-2 text-vscode-errorForeground text-sm\" data-testid=\"api-error-message\">\n\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t<div className=\"codicon codicon-close\" />\n\t\t\t<div>{errorMessage}</div>\n\t\t</div>\n\t\t{children}\n\t</div>\n)\n", + "import { useMemo, useState, useCallback, useEffect, useRef } from \"react\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { Trans } from \"react-i18next\"\nimport { ChevronsUpDown, Check, X } from \"lucide-react\"\n\nimport type { ProviderSettings, ModelInfo, OrganizationAllowList } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useSelectedModel } from \"@/components/ui/hooks/useSelectedModel\"\nimport { filterModels } from \"./utils/organizationFilters\"\nimport { cn } from \"@src/lib/utils\"\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger,\n\tButton,\n} from \"@src/components/ui\"\nimport { useEscapeKey } from \"@src/hooks/useEscapeKey\"\n\nimport { ModelInfoView } from \"./ModelInfoView\"\nimport { ApiErrorMessage } from \"./ApiErrorMessage\"\n\ntype ModelIdKey = keyof Pick<\n\tProviderSettings,\n\t\"glamaModelId\" | \"openRouterModelId\" | \"unboundModelId\" | \"requestyModelId\" | \"openAiModelId\" | \"litellmModelId\"\n>\n\ninterface ModelPickerProps {\n\tdefaultModelId: string\n\tmodels: Record<string, ModelInfo> | null\n\tmodelIdKey: ModelIdKey\n\tserviceName: string\n\tserviceUrl: string\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: <K extends keyof ProviderSettings>(field: K, value: ProviderSettings[K]) => void\n\torganizationAllowList: OrganizationAllowList\n\terrorMessage?: string\n}\n\nexport const ModelPicker = ({\n\tdefaultModelId,\n\tmodels,\n\tmodelIdKey,\n\tserviceName,\n\tserviceUrl,\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\torganizationAllowList,\n\terrorMessage,\n}: ModelPickerProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [open, setOpen] = useState(false)\n\tconst [isDescriptionExpanded, setIsDescriptionExpanded] = useState(false)\n\tconst isInitialized = useRef(false)\n\tconst searchInputRef = useRef<HTMLInputElement>(null)\n\tconst selectTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\tconst closeTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n\tconst modelIds = useMemo(() => {\n\t\tconst filteredModels = filterModels(models, apiConfiguration.apiProvider, organizationAllowList)\n\n\t\treturn Object.keys(filteredModels ?? {}).sort((a, b) => a.localeCompare(b))\n\t}, [models, apiConfiguration.apiProvider, organizationAllowList])\n\n\tconst { id: selectedModelId, info: selectedModelInfo } = useSelectedModel(apiConfiguration)\n\n\tconst [searchValue, setSearchValue] = useState(\"\")\n\n\tconst onSelect = useCallback(\n\t\t(modelId: string) => {\n\t\t\tif (!modelId) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tsetOpen(false)\n\t\t\tsetApiConfigurationField(modelIdKey, modelId)\n\n\t\t\t// Clear any existing timeout\n\t\t\tif (selectTimeoutRef.current) {\n\t\t\t\tclearTimeout(selectTimeoutRef.current)\n\t\t\t}\n\n\t\t\t// Delay to ensure the popover is closed before setting the search value.\n\t\t\tselectTimeoutRef.current = setTimeout(() => setSearchValue(\"\"), 100)\n\t\t},\n\t\t[modelIdKey, setApiConfigurationField],\n\t)\n\n\tconst onOpenChange = useCallback((open: boolean) => {\n\t\tsetOpen(open)\n\n\t\t// Abandon the current search if the popover is closed.\n\t\tif (!open) {\n\t\t\t// Clear any existing timeout\n\t\t\tif (closeTimeoutRef.current) {\n\t\t\t\tclearTimeout(closeTimeoutRef.current)\n\t\t\t}\n\n\t\t\t// Clear the search value when closing instead of prefilling it\n\t\t\tcloseTimeoutRef.current = setTimeout(() => setSearchValue(\"\"), 100)\n\t\t}\n\t}, [])\n\n\tconst onClearSearch = useCallback(() => {\n\t\tsetSearchValue(\"\")\n\t\tsearchInputRef.current?.focus()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tif (!selectedModelId && !isInitialized.current) {\n\t\t\tconst initialValue = modelIds.includes(selectedModelId) ? selectedModelId : defaultModelId\n\t\t\tsetApiConfigurationField(modelIdKey, initialValue)\n\t\t}\n\n\t\tisInitialized.current = true\n\t}, [modelIds, setApiConfigurationField, modelIdKey, selectedModelId, defaultModelId])\n\n\t// Cleanup timeouts on unmount to prevent test flakiness\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (selectTimeoutRef.current) {\n\t\t\t\tclearTimeout(selectTimeoutRef.current)\n\t\t\t}\n\t\t\tif (closeTimeoutRef.current) {\n\t\t\t\tclearTimeout(closeTimeoutRef.current)\n\t\t\t}\n\t\t}\n\t}, [])\n\n\t// Use the shared ESC key handler hook\n\tuseEscapeKey(open, () => setOpen(false))\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:modelPicker.label\")}</label>\n\t\t\t\t<Popover open={open} onOpenChange={onOpenChange}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"combobox\"\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\tclassName=\"w-full justify-between\"\n\t\t\t\t\t\t\tdata-testid=\"model-picker-button\">\n\t\t\t\t\t\t\t<div>{selectedModelId ?? t(\"settings:common.select\")}</div>\n\t\t\t\t\t\t\t<ChevronsUpDown className=\"opacity-50\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent className=\"p-0 w-[var(--radix-popover-trigger-width)]\">\n\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\t\t\t\tonValueChange={setSearchValue}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:modelPicker.searchPlaceholder\")}\n\t\t\t\t\t\t\t\t\tclassName=\"h-9 mr-4\"\n\t\t\t\t\t\t\t\t\tdata-testid=\"model-input\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{searchValue.length > 0 && (\n\t\t\t\t\t\t\t\t\t<div className=\"absolute right-2 top-0 bottom-0 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t\t<X\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={onClearSearch}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t\t\t\t{searchValue && (\n\t\t\t\t\t\t\t\t\t\t<div className=\"py-2 px-1 text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:modelPicker.noMatchFound\")}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t{modelIds.map((model) => (\n\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\tkey={model}\n\t\t\t\t\t\t\t\t\t\t\tvalue={model}\n\t\t\t\t\t\t\t\t\t\t\tonSelect={onSelect}\n\t\t\t\t\t\t\t\t\t\t\tdata-testid={`model-option-${model}`}>\n\t\t\t\t\t\t\t\t\t\t\t{model}\n\t\t\t\t\t\t\t\t\t\t\t<Check\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"size-4 p-0.5 ml-auto\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tmodel === selectedModelId ? \"opacity-100\" : \"opacity-0\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t{searchValue && !modelIds.includes(searchValue) && (\n\t\t\t\t\t\t\t\t<div className=\"p-1 border-t border-vscode-input-border\">\n\t\t\t\t\t\t\t\t\t<CommandItem data-testid=\"use-custom-model\" value={searchValue} onSelect={onSelect}>\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:modelPicker.useCustomModel\", { modelId: searchValue })}\n\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Command>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t\t{errorMessage && <ApiErrorMessage errorMessage={errorMessage} />}\n\t\t\t{selectedModelId && selectedModelInfo && (\n\t\t\t\t<ModelInfoView\n\t\t\t\t\tapiProvider={apiConfiguration.apiProvider}\n\t\t\t\t\tselectedModelId={selectedModelId}\n\t\t\t\t\tmodelInfo={selectedModelInfo}\n\t\t\t\t\tisDescriptionExpanded={isDescriptionExpanded}\n\t\t\t\t\tsetIsDescriptionExpanded={setIsDescriptionExpanded}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t<Trans\n\t\t\t\t\ti18nKey=\"settings:modelPicker.automaticFetch\"\n\t\t\t\t\tcomponents={{\n\t\t\t\t\t\tserviceLink: <VSCodeLink href={serviceUrl} className=\"text-sm\" />,\n\t\t\t\t\t\tdefaultModelLink: <VSCodeLink onClick={() => onSelect(defaultModelId)} className=\"text-sm\" />,\n\t\t\t\t\t}}\n\t\t\t\t\tvalues={{ serviceName, defaultModelId }}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, type OrganizationAllowList, glamaDefaultModelId } from \"@roo-code/types\"\n\nimport type { RouterModels } from \"@roo/api\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { getGlamaAuthUrl } from \"@src/oauth/urls\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { ModelPicker } from \"../ModelPicker\"\n\ntype GlamaProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\trouterModels?: RouterModels\n\turiScheme?: string\n\torganizationAllowList: OrganizationAllowList\n\tmodelValidationError?: string\n}\n\nexport const Glama = ({\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\trouterModels,\n\turiScheme,\n\torganizationAllowList,\n\tmodelValidationError,\n}: GlamaProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.glamaApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"glamaApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.glamaApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.glamaApiKey && (\n\t\t\t\t<VSCodeButtonLink href={getGlamaAuthUrl(uriScheme)} style={{ width: \"100%\" }} appearance=\"primary\">\n\t\t\t\t\t{t(\"settings:providers.getGlamaApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t\t<ModelPicker\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\tdefaultModelId={glamaDefaultModelId}\n\t\t\t\tmodels={routerModels?.glama ?? {}}\n\t\t\t\tmodelIdKey=\"glamaModelId\"\n\t\t\t\tserviceName=\"Glama\"\n\t\t\t\tserviceUrl=\"https://glama.ai/models\"\n\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\terrorMessage={modelValidationError}\n\t\t\t/>\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype GroqProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Groq = ({ apiConfiguration, setApiConfigurationField }: GroqProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.groqApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"groqApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.groqApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.groqApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://console.groq.com/keys\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getGroqApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState, useEffect, useMemo } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\nimport { SearchableSelect, type SearchableSelectOption } from \"@src/components/ui\"\nimport { cn } from \"@src/lib/utils\"\nimport { formatPrice } from \"@/utils/formatPrice\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype HuggingFaceModel = {\n\tid: string\n\tobject: string\n\tcreated: number\n\towned_by: string\n\tproviders: Array<{\n\t\tprovider: string\n\t\tstatus: \"live\" | \"staging\" | \"error\"\n\t\tsupports_tools?: boolean\n\t\tsupports_structured_output?: boolean\n\t\tcontext_length?: number\n\t\tpricing?: {\n\t\t\tinput: number\n\t\t\toutput: number\n\t\t}\n\t}>\n}\n\ntype HuggingFaceProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const HuggingFace = ({ apiConfiguration, setApiConfigurationField }: HuggingFaceProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [models, setModels] = useState<HuggingFaceModel[]>([])\n\tconst [loading, setLoading] = useState(false)\n\tconst [selectedProvider, setSelectedProvider] = useState<string>(\n\t\tapiConfiguration?.huggingFaceInferenceProvider || \"auto\",\n\t)\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\t// Fetch models when component mounts\n\tuseEffect(() => {\n\t\tsetLoading(true)\n\t\tvscode.postMessage({ type: \"requestHuggingFaceModels\" })\n\t}, [])\n\n\t// Handle messages from extension\n\tconst onMessage = useCallback((event: MessageEvent) => {\n\t\tconst message: ExtensionMessage = event.data\n\n\t\tswitch (message.type) {\n\t\t\tcase \"huggingFaceModels\":\n\t\t\t\tsetModels(message.huggingFaceModels || [])\n\t\t\t\tsetLoading(false)\n\t\t\t\tbreak\n\t\t}\n\t}, [])\n\n\tuseEvent(\"message\", onMessage)\n\n\t// Get current model and its providers\n\tconst currentModel = models.find((m) => m.id === apiConfiguration?.huggingFaceModelId)\n\tconst availableProviders = useMemo(() => currentModel?.providers || [], [currentModel?.providers])\n\n\t// Set default provider when model changes\n\tuseEffect(() => {\n\t\tif (currentModel && availableProviders.length > 0) {\n\t\t\tconst savedProvider = apiConfiguration?.huggingFaceInferenceProvider\n\t\t\tif (savedProvider) {\n\t\t\t\t// Use saved provider if it exists\n\t\t\t\tsetSelectedProvider(savedProvider)\n\t\t\t} else {\n\t\t\t\tconst currentProvider = availableProviders.find((p) => p.provider === selectedProvider)\n\t\t\t\tif (!currentProvider) {\n\t\t\t\t\t// Set to \"auto\" as default\n\t\t\t\t\tconst defaultProvider = \"auto\"\n\t\t\t\t\tsetSelectedProvider(defaultProvider)\n\t\t\t\t\tsetApiConfigurationField(\"huggingFaceInferenceProvider\", defaultProvider)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [\n\t\tcurrentModel,\n\t\tavailableProviders,\n\t\tselectedProvider,\n\t\tapiConfiguration?.huggingFaceInferenceProvider,\n\t\tsetApiConfigurationField,\n\t])\n\n\tconst handleModelSelect = (modelId: string) => {\n\t\tsetApiConfigurationField(\"huggingFaceModelId\", modelId)\n\t\t// Reset provider selection when model changes\n\t\tconst defaultProvider = \"auto\"\n\t\tsetSelectedProvider(defaultProvider)\n\t\tsetApiConfigurationField(\"huggingFaceInferenceProvider\", defaultProvider)\n\t}\n\n\tconst handleProviderSelect = (provider: string) => {\n\t\tsetSelectedProvider(provider)\n\t\tsetApiConfigurationField(\"huggingFaceInferenceProvider\", provider)\n\t}\n\n\t// Format provider name for display\n\tconst formatProviderName = (provider: string) => {\n\t\tconst nameMap: Record<string, string> = {\n\t\t\tsambanova: \"SambaNova\",\n\t\t\t\"fireworks-ai\": \"Fireworks\",\n\t\t\ttogether: \"Together AI\",\n\t\t\tnebius: \"Nebius AI Studio\",\n\t\t\thyperbolic: \"Hyperbolic\",\n\t\t\tnovita: \"Novita\",\n\t\t\tcohere: \"Cohere\",\n\t\t\t\"hf-inference\": \"HF Inference API\",\n\t\t\treplicate: \"Replicate\",\n\t\t}\n\t\treturn nameMap[provider] || provider.charAt(0).toUpperCase() + provider.slice(1)\n\t}\n\n\t// Get current provider\n\tconst currentProvider = useMemo(() => {\n\t\tif (!currentModel || !selectedProvider || selectedProvider === \"auto\") return null\n\t\treturn currentModel.providers.find((p) => p.provider === selectedProvider)\n\t}, [currentModel, selectedProvider])\n\n\t// Get model capabilities based on current provider\n\tconst modelCapabilities = useMemo(() => {\n\t\tif (!currentModel) return null\n\n\t\t// For now, assume text-only models since we don't have pipeline_tag in new API\n\t\t// This could be enhanced by checking model name patterns or adding vision support detection\n\t\tconst supportsImages = false\n\n\t\t// Use provider-specific capabilities if a specific provider is selected\n\t\tconst maxTokens =\n\t\t\tcurrentProvider?.context_length || currentModel.providers.find((p) => p.context_length)?.context_length\n\t\tconst supportsTools = currentProvider?.supports_tools || currentModel.providers.some((p) => p.supports_tools)\n\n\t\treturn {\n\t\t\tsupportsImages,\n\t\t\tmaxTokens,\n\t\t\tsupportsTools,\n\t\t}\n\t}, [currentModel, currentProvider])\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.huggingFaceApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"huggingFaceApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.huggingFaceApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\n\t\t\t{!apiConfiguration?.huggingFaceApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://huggingface.co/settings/tokens\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getHuggingFaceApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\n\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t<label className=\"block font-medium text-sm\">\n\t\t\t\t\t{t(\"settings:providers.huggingFaceModelId\")}\n\t\t\t\t\t{loading && (\n\t\t\t\t\t\t<span className=\"text-xs text-gray-400 ml-2\">{t(\"settings:providers.huggingFaceLoading\")}</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{!loading && (\n\t\t\t\t\t\t<span className=\"text-xs text-gray-400 ml-2\">\n\t\t\t\t\t\t\t{t(\"settings:providers.huggingFaceModelsCount\", { count: models.length })}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</label>\n\n\t\t\t\t<SearchableSelect\n\t\t\t\t\tvalue={apiConfiguration?.huggingFaceModelId || \"\"}\n\t\t\t\t\tonValueChange={handleModelSelect}\n\t\t\t\t\toptions={models.map(\n\t\t\t\t\t\t(model): SearchableSelectOption => ({\n\t\t\t\t\t\t\tvalue: model.id,\n\t\t\t\t\t\t\tlabel: model.id,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)}\n\t\t\t\t\tplaceholder={t(\"settings:providers.huggingFaceSelectModel\")}\n\t\t\t\t\tsearchPlaceholder={t(\"settings:providers.huggingFaceSearchModels\")}\n\t\t\t\t\temptyMessage={t(\"settings:providers.huggingFaceNoModelsFound\")}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{currentModel && availableProviders.length > 0 && (\n\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t<label className=\"block font-medium text-sm\">{t(\"settings:providers.huggingFaceProvider\")}</label>\n\t\t\t\t\t<SearchableSelect\n\t\t\t\t\t\tvalue={selectedProvider}\n\t\t\t\t\t\tonValueChange={handleProviderSelect}\n\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t{ value: \"auto\", label: t(\"settings:providers.huggingFaceProviderAuto\") },\n\t\t\t\t\t\t\t...availableProviders.map(\n\t\t\t\t\t\t\t\t(mapping): SearchableSelectOption => ({\n\t\t\t\t\t\t\t\t\tvalue: mapping.provider,\n\t\t\t\t\t\t\t\t\tlabel: `${formatProviderName(mapping.provider)} (${mapping.status})`,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t]}\n\t\t\t\t\t\tplaceholder={t(\"settings:providers.huggingFaceSelectProvider\")}\n\t\t\t\t\t\tsearchPlaceholder={t(\"settings:providers.huggingFaceSearchProviders\")}\n\t\t\t\t\t\temptyMessage={t(\"settings:providers.huggingFaceNoProvidersFound\")}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Model capabilities */}\n\t\t\t{currentModel && modelCapabilities && (\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"flex items-center gap-1 font-medium\",\n\t\t\t\t\t\t\tmodelCapabilities.supportsImages\n\t\t\t\t\t\t\t\t? \"text-vscode-charts-green\"\n\t\t\t\t\t\t\t\t: \"text-vscode-errorForeground\",\n\t\t\t\t\t\t)}>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={cn(\"codicon\", modelCapabilities.supportsImages ? \"codicon-check\" : \"codicon-x\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{modelCapabilities.supportsImages\n\t\t\t\t\t\t\t? t(\"settings:modelInfo.supportsImages\")\n\t\t\t\t\t\t\t: t(\"settings:modelInfo.noImages\")}\n\t\t\t\t\t</div>\n\t\t\t\t\t{modelCapabilities.maxTokens && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.maxOutput\")}:</span>{\" \"}\n\t\t\t\t\t\t\t{modelCapabilities.maxTokens.toLocaleString()} tokens\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t\t{currentProvider?.pricing && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.inputPrice\")}:</span>{\" \"}\n\t\t\t\t\t\t\t\t{formatPrice(currentProvider.pricing.input)} / 1M tokens\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.outputPrice\")}:</span>{\" \"}\n\t\t\t\t\t\t\t\t{formatPrice(currentProvider.pricing.output)} / 1M tokens\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState, useMemo, useEffect } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { Trans } from \"react-i18next\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeLink, VSCodeRadio, VSCodeRadioGroup, VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\nimport { useRouterModels } from \"@src/components/ui/hooks/useRouterModels\"\nimport { vscode } from \"@src/utils/vscode\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { ModelRecord } from \"@roo/api\"\n\ntype LMStudioProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const LMStudio = ({ apiConfiguration, setApiConfigurationField }: LMStudioProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [lmStudioModels, setLmStudioModels] = useState<ModelRecord>({})\n\tconst routerModels = useRouterModels()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst onMessage = useCallback((event: MessageEvent) => {\n\t\tconst message: ExtensionMessage = event.data\n\n\t\tswitch (message.type) {\n\t\t\tcase \"lmStudioModels\":\n\t\t\t\t{\n\t\t\t\t\tconst newModels = message.lmStudioModels ?? {}\n\t\t\t\t\tsetLmStudioModels(newModels)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}, [])\n\n\tuseEvent(\"message\", onMessage)\n\n\t// Refresh models on mount\n\tuseEffect(() => {\n\t\t// Request fresh models - the handler now flushes cache automatically\n\t\tvscode.postMessage({ type: \"requestLmStudioModels\" })\n\t}, [])\n\n\t// Check if the selected model exists in the fetched models\n\tconst modelNotAvailable = useMemo(() => {\n\t\tconst selectedModel = apiConfiguration?.lmStudioModelId\n\t\tif (!selectedModel) return false\n\n\t\t// Check if model exists in local LM Studio models\n\t\tif (Object.keys(lmStudioModels).length > 0 && selectedModel in lmStudioModels) {\n\t\t\treturn false // Model is available locally\n\t\t}\n\n\t\t// If we have router models data for LM Studio\n\t\tif (routerModels.data?.lmstudio) {\n\t\t\tconst availableModels = Object.keys(routerModels.data.lmstudio)\n\t\t\t// Show warning if model is not in the list (regardless of how many models there are)\n\t\t\treturn !availableModels.includes(selectedModel)\n\t\t}\n\n\t\t// If neither source has loaded yet, don't show warning\n\t\treturn false\n\t}, [apiConfiguration?.lmStudioModelId, routerModels.data, lmStudioModels])\n\n\t// Check if the draft model exists\n\tconst draftModelNotAvailable = useMemo(() => {\n\t\tconst draftModel = apiConfiguration?.lmStudioDraftModelId\n\t\tif (!draftModel) return false\n\n\t\t// Check if model exists in local LM Studio models\n\t\tif (Object.keys(lmStudioModels).length > 0 && draftModel in lmStudioModels) {\n\t\t\treturn false // Model is available locally\n\t\t}\n\n\t\t// If we have router models data for LM Studio\n\t\tif (routerModels.data?.lmstudio) {\n\t\t\tconst availableModels = Object.keys(routerModels.data.lmstudio)\n\t\t\t// Show warning if model is not in the list (regardless of how many models there are)\n\t\t\treturn !availableModels.includes(draftModel)\n\t\t}\n\n\t\t// If neither source has loaded yet, don't show warning\n\t\treturn false\n\t}, [apiConfiguration?.lmStudioDraftModelId, routerModels.data, lmStudioModels])\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.lmStudioBaseUrl || \"\"}\n\t\t\t\ttype=\"url\"\n\t\t\t\tonInput={handleInputChange(\"lmStudioBaseUrl\")}\n\t\t\t\tplaceholder={t(\"settings:defaults.lmStudioUrl\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.lmStudio.baseUrl\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.lmStudioModelId || \"\"}\n\t\t\t\tonInput={handleInputChange(\"lmStudioModelId\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.modelId.lmStudio\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.lmStudio.modelId\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t{modelNotAvailable && (\n\t\t\t\t<div className=\"flex flex-col gap-2 text-vscode-errorForeground text-sm\">\n\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t<div className=\"codicon codicon-close\" />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{t(\"settings:validation.modelAvailability\", { modelId: apiConfiguration?.lmStudioModelId })}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{Object.keys(lmStudioModels).length > 0 && (\n\t\t\t\t<VSCodeRadioGroup\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t(apiConfiguration?.lmStudioModelId || \"\") in lmStudioModels\n\t\t\t\t\t\t\t? apiConfiguration?.lmStudioModelId\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t}\n\t\t\t\t\tonChange={handleInputChange(\"lmStudioModelId\")}>\n\t\t\t\t\t{Object.keys(lmStudioModels).map((model) => (\n\t\t\t\t\t\t<VSCodeRadio key={model} value={model} checked={apiConfiguration?.lmStudioModelId === model}>\n\t\t\t\t\t\t\t{model}\n\t\t\t\t\t\t</VSCodeRadio>\n\t\t\t\t\t))}\n\t\t\t\t</VSCodeRadioGroup>\n\t\t\t)}\n\t\t\t<Checkbox\n\t\t\t\tchecked={apiConfiguration?.lmStudioSpeculativeDecodingEnabled === true}\n\t\t\t\tonChange={(checked) => {\n\t\t\t\t\tsetApiConfigurationField(\"lmStudioSpeculativeDecodingEnabled\", checked)\n\t\t\t\t}}>\n\t\t\t\t{t(\"settings:providers.lmStudio.speculativeDecoding\")}\n\t\t\t</Checkbox>\n\t\t\t{apiConfiguration?.lmStudioSpeculativeDecodingEnabled && (\n\t\t\t\t<>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\tvalue={apiConfiguration?.lmStudioDraftModelId || \"\"}\n\t\t\t\t\t\t\tonInput={handleInputChange(\"lmStudioDraftModelId\")}\n\t\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.modelId.lmStudioDraft\")}\n\t\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:providers.lmStudio.draftModelId\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t{t(\"settings:providers.lmStudio.draftModelDesc\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{draftModelNotAvailable && (\n\t\t\t\t\t\t\t<div className=\"flex flex-col gap-2 text-vscode-errorForeground text-sm mt-2\">\n\t\t\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t\t\t\t<div className=\"codicon codicon-close\" />\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:validation.modelAvailability\", {\n\t\t\t\t\t\t\t\t\t\t\tmodelId: apiConfiguration?.lmStudioDraftModelId,\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{Object.keys(lmStudioModels).length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"font-medium\">{t(\"settings:providers.lmStudio.selectDraftModel\")}</div>\n\t\t\t\t\t\t\t<VSCodeRadioGroup\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t(apiConfiguration?.lmStudioDraftModelId || \"\") in lmStudioModels\n\t\t\t\t\t\t\t\t\t\t? apiConfiguration?.lmStudioDraftModelId\n\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={handleInputChange(\"lmStudioDraftModelId\")}>\n\t\t\t\t\t\t\t\t{Object.keys(lmStudioModels).map((model) => (\n\t\t\t\t\t\t\t\t\t<VSCodeRadio key={`draft-${model}`} value={model}>\n\t\t\t\t\t\t\t\t\t\t{model}\n\t\t\t\t\t\t\t\t\t</VSCodeRadio>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</VSCodeRadioGroup>\n\t\t\t\t\t\t\t{Object.keys(lmStudioModels).length === 0 && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"text-sm rounded-xs p-2\"\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: \"var(--vscode-inputValidation-infoBackground)\",\n\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-inputValidation-infoBorder)\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-inputValidation-infoForeground)\",\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{t(\"settings:providers.lmStudio.noModelsFound\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t<Trans\n\t\t\t\t\ti18nKey=\"settings:providers.lmStudio.description\"\n\t\t\t\t\tcomponents={{\n\t\t\t\t\t\ta: <VSCodeLink href=\"https://lmstudio.ai/docs\" />,\n\t\t\t\t\t\tb: <VSCodeLink href=\"https://lmstudio.ai/docs/basics/server\" />,\n\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t<span className=\"text-vscode-errorForeground ml-1\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">Note:</span>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, mistralDefaultModelId } from \"@roo-code/types\"\n\nimport type { RouterModels } from \"@roo/api\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype MistralProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\trouterModels?: RouterModels\n}\n\nexport const Mistral = ({ apiConfiguration, setApiConfigurationField }: MistralProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.mistralApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"mistralApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<span className=\"font-medium\">{t(\"settings:providers.mistralApiKey\")}</span>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.mistralApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://console.mistral.ai/\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getMistralApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t\t{(apiConfiguration?.apiModelId?.startsWith(\"codestral-\") ||\n\t\t\t\t(!apiConfiguration?.apiModelId && mistralDefaultModelId.startsWith(\"codestral-\"))) && (\n\t\t\t\t<>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.mistralCodestralUrl || \"\"}\n\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\tonInput={handleInputChange(\"mistralCodestralUrl\")}\n\t\t\t\t\t\tplaceholder=\"https://codestral.mistral.ai\"\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.codestralBaseUrl\")}</label>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t\t\t{t(\"settings:providers.codestralBaseUrlDesc\")}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField, VSCodeDropdown, VSCodeOption } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { cn } from \"@/lib/utils\"\n\ntype MoonshotProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Moonshot = ({ apiConfiguration, setApiConfigurationField }: MoonshotProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.moonshotBaseUrl\")}</label>\n\t\t\t\t<VSCodeDropdown\n\t\t\t\t\tvalue={apiConfiguration.moonshotBaseUrl}\n\t\t\t\t\tonChange={handleInputChange(\"moonshotBaseUrl\")}\n\t\t\t\t\tclassName={cn(\"w-full\")}>\n\t\t\t\t\t<VSCodeOption value=\"https://api.moonshot.ai/v1\" className=\"p-2\">\n\t\t\t\t\t\tapi.moonshot.ai\n\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t<VSCodeOption value=\"https://api.moonshot.cn/v1\" className=\"p-2\">\n\t\t\t\t\t\tapi.moonshot.cn\n\t\t\t\t\t</VSCodeOption>\n\t\t\t\t</VSCodeDropdown>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<VSCodeTextField\n\t\t\t\t\tvalue={apiConfiguration?.moonshotApiKey || \"\"}\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tonInput={handleInputChange(\"moonshotApiKey\")}\n\t\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.moonshotApiKey\")}</label>\n\t\t\t\t</VSCodeTextField>\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t\t</div>\n\t\t\t\t{!apiConfiguration?.moonshotApiKey && (\n\t\t\t\t\t<VSCodeButtonLink\n\t\t\t\t\t\thref={\n\t\t\t\t\t\t\tapiConfiguration.moonshotBaseUrl === \"https://api.moonshot.cn/v1\"\n\t\t\t\t\t\t\t\t? \"https://platform.moonshot.cn/console/api-keys\"\n\t\t\t\t\t\t\t\t: \"https://platform.moonshot.ai/console/api-keys\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tappearance=\"secondary\">\n\t\t\t\t\t\t{t(\"settings:providers.getMoonshotApiKey\")}\n\t\t\t\t\t</VSCodeButtonLink>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useState, useCallback, useMemo, useEffect } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { VSCodeTextField, VSCodeRadioGroup, VSCodeRadio } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useRouterModels } from \"@src/components/ui/hooks/useRouterModels\"\nimport { vscode } from \"@src/utils/vscode\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype OllamaProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Ollama = ({ apiConfiguration, setApiConfigurationField }: OllamaProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [ollamaModels, setOllamaModels] = useState<string[]>([])\n\tconst routerModels = useRouterModels()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst onMessage = useCallback((event: MessageEvent) => {\n\t\tconst message: ExtensionMessage = event.data\n\n\t\tswitch (message.type) {\n\t\t\tcase \"ollamaModels\":\n\t\t\t\t{\n\t\t\t\t\tconst newModels = message.ollamaModels ?? []\n\t\t\t\t\tsetOllamaModels(newModels)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}, [])\n\n\tuseEvent(\"message\", onMessage)\n\n\t// Refresh models on mount\n\tuseEffect(() => {\n\t\t// Request fresh models - the handler now flushes cache automatically\n\t\tvscode.postMessage({ type: \"requestOllamaModels\" })\n\t}, [])\n\n\t// Check if the selected model exists in the fetched models\n\tconst modelNotAvailable = useMemo(() => {\n\t\tconst selectedModel = apiConfiguration?.ollamaModelId\n\t\tif (!selectedModel) return false\n\n\t\t// Check if model exists in local ollama models\n\t\tif (ollamaModels.length > 0 && ollamaModels.includes(selectedModel)) {\n\t\t\treturn false // Model is available locally\n\t\t}\n\n\t\t// If we have router models data for Ollama\n\t\tif (routerModels.data?.ollama) {\n\t\t\tconst availableModels = Object.keys(routerModels.data.ollama)\n\t\t\t// Show warning if model is not in the list (regardless of how many models there are)\n\t\t\treturn !availableModels.includes(selectedModel)\n\t\t}\n\n\t\t// If neither source has loaded yet, don't show warning\n\t\treturn false\n\t}, [apiConfiguration?.ollamaModelId, routerModels.data, ollamaModels])\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.ollamaBaseUrl || \"\"}\n\t\t\t\ttype=\"url\"\n\t\t\t\tonInput={handleInputChange(\"ollamaBaseUrl\")}\n\t\t\t\tplaceholder={t(\"settings:defaults.ollamaUrl\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.ollama.baseUrl\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.ollamaModelId || \"\"}\n\t\t\t\tonInput={handleInputChange(\"ollamaModelId\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.modelId.ollama\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.ollama.modelId\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t{modelNotAvailable && (\n\t\t\t\t<div className=\"flex flex-col gap-2 text-vscode-errorForeground text-sm\">\n\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t<div className=\"codicon codicon-close\" />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{t(\"settings:validation.modelAvailability\", { modelId: apiConfiguration?.ollamaModelId })}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{ollamaModels.length > 0 && (\n\t\t\t\t<VSCodeRadioGroup\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tollamaModels.includes(apiConfiguration?.ollamaModelId || \"\")\n\t\t\t\t\t\t\t? apiConfiguration?.ollamaModelId\n\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t}\n\t\t\t\t\tonChange={handleInputChange(\"ollamaModelId\")}>\n\t\t\t\t\t{ollamaModels.map((model) => (\n\t\t\t\t\t\t<VSCodeRadio key={model} value={model} checked={apiConfiguration?.ollamaModelId === model}>\n\t\t\t\t\t\t\t{model}\n\t\t\t\t\t\t</VSCodeRadio>\n\t\t\t\t\t))}\n\t\t\t\t</VSCodeRadioGroup>\n\t\t\t)}\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t{t(\"settings:providers.ollama.description\")}\n\t\t\t\t<span className=\"text-vscode-errorForeground ml-1\">{t(\"settings:providers.ollama.warning\")}</span>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState } from \"react\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype OpenAIProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const OpenAI = ({ apiConfiguration, setApiConfigurationField }: OpenAIProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [openAiNativeBaseUrlSelected, setOpenAiNativeBaseUrlSelected] = useState(\n\t\t!!apiConfiguration?.openAiNativeBaseUrl,\n\t)\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<Checkbox\n\t\t\t\tchecked={openAiNativeBaseUrlSelected}\n\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\tsetOpenAiNativeBaseUrlSelected(checked)\n\n\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\tsetApiConfigurationField(\"openAiNativeBaseUrl\", \"\")\n\t\t\t\t\t}\n\t\t\t\t}}>\n\t\t\t\t{t(\"settings:providers.useCustomBaseUrl\")}\n\t\t\t</Checkbox>\n\t\t\t{openAiNativeBaseUrlSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.openAiNativeBaseUrl || \"\"}\n\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\tonInput={handleInputChange(\"openAiNativeBaseUrl\")}\n\t\t\t\t\t\tplaceholder=\"https://api.openai.com/v1\"\n\t\t\t\t\t\tclassName=\"w-full mt-1\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.openAiNativeApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"openAiNativeApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.openAiApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.openAiNativeApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://platform.openai.com/api-keys\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getOpenAiApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { Checkbox } from \"vscrui\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\ninterface R1FormatSettingProps {\n\tonChange: (value: boolean) => void\n\topenAiR1FormatEnabled?: boolean\n}\n\nexport const R1FormatSetting = ({ onChange, openAiR1FormatEnabled }: R1FormatSettingProps) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Checkbox checked={openAiR1FormatEnabled} onChange={onChange}>\n\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:modelInfo.enableR1Format\")}</span>\n\t\t\t\t</Checkbox>\n\t\t\t</div>\n\t\t\t<p className=\"text-vscode-descriptionForeground text-sm mt-0\">\n\t\t\t\t{t(\"settings:modelInfo.enableR1FormatTips\")}\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n", + "import { useEffect } from \"react\"\nimport { Checkbox } from \"vscrui\"\n\nimport { type ProviderSettings, type ModelInfo, type ReasoningEffort, reasoningEfforts } from \"@roo-code/types\"\n\nimport { DEFAULT_HYBRID_REASONING_MODEL_MAX_TOKENS, DEFAULT_HYBRID_REASONING_MODEL_THINKING_TOKENS } from \"@roo/api\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Slider, Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@src/components/ui\"\n\ninterface ThinkingBudgetProps {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: <K extends keyof ProviderSettings>(field: K, value: ProviderSettings[K]) => void\n\tmodelInfo?: ModelInfo\n}\n\nexport const ThinkingBudget = ({ apiConfiguration, setApiConfigurationField, modelInfo }: ThinkingBudgetProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst isReasoningBudgetSupported = !!modelInfo && modelInfo.supportsReasoningBudget\n\tconst isReasoningBudgetRequired = !!modelInfo && modelInfo.requiredReasoningBudget\n\tconst isReasoningEffortSupported = !!modelInfo && modelInfo.supportsReasoningEffort\n\n\tconst enableReasoningEffort = apiConfiguration.enableReasoningEffort\n\tconst customMaxOutputTokens = apiConfiguration.modelMaxTokens || DEFAULT_HYBRID_REASONING_MODEL_MAX_TOKENS\n\tconst customMaxThinkingTokens =\n\t\tapiConfiguration.modelMaxThinkingTokens || DEFAULT_HYBRID_REASONING_MODEL_THINKING_TOKENS\n\n\t// Dynamically expand or shrink the max thinking budget based on the custom\n\t// max output tokens so that there's always a 20% buffer.\n\tconst modelMaxThinkingTokens = modelInfo?.maxThinkingTokens\n\t\t? Math.min(modelInfo.maxThinkingTokens, Math.floor(0.8 * customMaxOutputTokens))\n\t\t: Math.floor(0.8 * customMaxOutputTokens)\n\n\t// If the custom max thinking tokens are going to exceed it's limit due\n\t// to the custom max output tokens being reduced then we need to shrink it\n\t// appropriately.\n\tuseEffect(() => {\n\t\tif (isReasoningBudgetSupported && customMaxThinkingTokens > modelMaxThinkingTokens) {\n\t\t\tsetApiConfigurationField(\"modelMaxThinkingTokens\", modelMaxThinkingTokens)\n\t\t}\n\t}, [isReasoningBudgetSupported, customMaxThinkingTokens, modelMaxThinkingTokens, setApiConfigurationField])\n\n\tif (!modelInfo) {\n\t\treturn null\n\t}\n\n\treturn isReasoningBudgetSupported && !!modelInfo.maxTokens ? (\n\t\t<>\n\t\t\t{!isReasoningBudgetRequired && (\n\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tchecked={enableReasoningEffort}\n\t\t\t\t\t\tonChange={(checked: boolean) =>\n\t\t\t\t\t\t\tsetApiConfigurationField(\"enableReasoningEffort\", checked === true)\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t{t(\"settings:providers.useReasoning\")}\n\t\t\t\t\t</Checkbox>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{(isReasoningBudgetRequired || enableReasoningEffort) && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t<div className=\"font-medium\">{t(\"settings:thinkingBudget.maxTokens\")}</div>\n\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\tmin={8192}\n\t\t\t\t\t\t\t\tmax={Math.max(\n\t\t\t\t\t\t\t\t\tmodelInfo.maxTokens || 8192,\n\t\t\t\t\t\t\t\t\tcustomMaxOutputTokens,\n\t\t\t\t\t\t\t\t\tDEFAULT_HYBRID_REASONING_MODEL_MAX_TOKENS,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstep={1024}\n\t\t\t\t\t\t\t\tvalue={[customMaxOutputTokens]}\n\t\t\t\t\t\t\t\tonValueChange={([value]) => setApiConfigurationField(\"modelMaxTokens\", value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"w-12 text-sm text-center\">{customMaxOutputTokens}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t<div className=\"font-medium\">{t(\"settings:thinkingBudget.maxThinkingTokens\")}</div>\n\t\t\t\t\t\t<div className=\"flex items-center gap-1\" data-testid=\"reasoning-budget\">\n\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\tmin={1024}\n\t\t\t\t\t\t\t\tmax={modelMaxThinkingTokens}\n\t\t\t\t\t\t\t\tstep={1024}\n\t\t\t\t\t\t\t\tvalue={[customMaxThinkingTokens]}\n\t\t\t\t\t\t\t\tonValueChange={([value]) => setApiConfigurationField(\"modelMaxThinkingTokens\", value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"w-12 text-sm text-center\">{customMaxThinkingTokens}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t) : isReasoningEffortSupported ? (\n\t\t<div className=\"flex flex-col gap-1\" data-testid=\"reasoning-effort\">\n\t\t\t<div className=\"flex justify-between items-center\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.reasoningEffort.label\")}</label>\n\t\t\t</div>\n\t\t\t<Select\n\t\t\t\tvalue={apiConfiguration.reasoningEffort}\n\t\t\t\tonValueChange={(value) => setApiConfigurationField(\"reasoningEffort\", value as ReasoningEffort)}>\n\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t</SelectTrigger>\n\t\t\t\t<SelectContent>\n\t\t\t\t\t{reasoningEfforts.map((value) => (\n\t\t\t\t\t\t<SelectItem key={value} value={value}>\n\t\t\t\t\t\t\t{t(`settings:providers.reasoningEffort.${value}`)}\n\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t))}\n\t\t\t\t</SelectContent>\n\t\t\t</Select>\n\t\t</div>\n\t) : null\n}\n", + "import { useState, useCallback, useEffect } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeButton, VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport {\n\ttype ProviderSettings,\n\ttype ModelInfo,\n\ttype ReasoningEffort,\n\ttype OrganizationAllowList,\n\tazureOpenAiDefaultApiVersion,\n\topenAiModelInfoSaneDefaults,\n} from \"@roo-code/types\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Button, StandardTooltip } from \"@src/components/ui\"\n\nimport { convertHeadersToObject } from \"../utils/headers\"\nimport { inputEventTransform, noTransform } from \"../transforms\"\nimport { ModelPicker } from \"../ModelPicker\"\nimport { R1FormatSetting } from \"../R1FormatSetting\"\nimport { ThinkingBudget } from \"../ThinkingBudget\"\n\ntype OpenAICompatibleProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\torganizationAllowList: OrganizationAllowList\n\tmodelValidationError?: string\n}\n\nexport const OpenAICompatible = ({\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\torganizationAllowList,\n\tmodelValidationError,\n}: OpenAICompatibleProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [azureApiVersionSelected, setAzureApiVersionSelected] = useState(!!apiConfiguration?.azureApiVersion)\n\tconst [openAiLegacyFormatSelected, setOpenAiLegacyFormatSelected] = useState(!!apiConfiguration?.openAiLegacyFormat)\n\n\tconst [openAiModels, setOpenAiModels] = useState<Record<string, ModelInfo> | null>(null)\n\n\tconst [customHeaders, setCustomHeaders] = useState<[string, string][]>(() => {\n\t\tconst headers = apiConfiguration?.openAiHeaders || {}\n\t\treturn Object.entries(headers)\n\t})\n\n\tconst handleAddCustomHeader = useCallback(() => {\n\t\t// Only update the local state to show the new row in the UI.\n\t\tsetCustomHeaders((prev) => [...prev, [\"\", \"\"]])\n\t\t// Do not update the main configuration yet, wait for user input.\n\t}, [])\n\n\tconst handleUpdateHeaderKey = useCallback((index: number, newKey: string) => {\n\t\tsetCustomHeaders((prev) => {\n\t\t\tconst updated = [...prev]\n\n\t\t\tif (updated[index]) {\n\t\t\t\tupdated[index] = [newKey, updated[index][1]]\n\t\t\t}\n\n\t\t\treturn updated\n\t\t})\n\t}, [])\n\n\tconst handleUpdateHeaderValue = useCallback((index: number, newValue: string) => {\n\t\tsetCustomHeaders((prev) => {\n\t\t\tconst updated = [...prev]\n\n\t\t\tif (updated[index]) {\n\t\t\t\tupdated[index] = [updated[index][0], newValue]\n\t\t\t}\n\n\t\t\treturn updated\n\t\t})\n\t}, [])\n\n\tconst handleRemoveCustomHeader = useCallback((index: number) => {\n\t\tsetCustomHeaders((prev) => prev.filter((_, i) => i !== index))\n\t}, [])\n\n\t// Helper to convert array of tuples to object\n\n\t// Add effect to update the parent component's state when local headers change\n\tuseEffect(() => {\n\t\tconst timer = setTimeout(() => {\n\t\t\tconst headerObject = convertHeadersToObject(customHeaders)\n\t\t\tsetApiConfigurationField(\"openAiHeaders\", headerObject)\n\t\t}, 300)\n\n\t\treturn () => clearTimeout(timer)\n\t}, [customHeaders, setApiConfigurationField])\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst onMessage = useCallback((event: MessageEvent) => {\n\t\tconst message: ExtensionMessage = event.data\n\n\t\tswitch (message.type) {\n\t\t\tcase \"openAiModels\": {\n\t\t\t\tconst updatedModels = message.openAiModels ?? []\n\t\t\t\tsetOpenAiModels(Object.fromEntries(updatedModels.map((item) => [item, openAiModelInfoSaneDefaults])))\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}, [])\n\n\tuseEvent(\"message\", onMessage)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.openAiBaseUrl || \"\"}\n\t\t\t\ttype=\"url\"\n\t\t\t\tonInput={handleInputChange(\"openAiBaseUrl\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.baseUrl\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.openAiBaseUrl\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.openAiApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"openAiApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.apiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<ModelPicker\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\tdefaultModelId=\"gpt-4o\"\n\t\t\t\tmodels={openAiModels}\n\t\t\t\tmodelIdKey=\"openAiModelId\"\n\t\t\t\tserviceName=\"OpenAI\"\n\t\t\t\tserviceUrl=\"https://platform.openai.com\"\n\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\terrorMessage={modelValidationError}\n\t\t\t/>\n\t\t\t<R1FormatSetting\n\t\t\t\tonChange={handleInputChange(\"openAiR1FormatEnabled\", noTransform)}\n\t\t\t\topenAiR1FormatEnabled={apiConfiguration?.openAiR1FormatEnabled ?? false}\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<Checkbox\n\t\t\t\t\tchecked={openAiLegacyFormatSelected}\n\t\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\t\tsetOpenAiLegacyFormatSelected(checked)\n\t\t\t\t\t\tsetApiConfigurationField(\"openAiLegacyFormat\", checked)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t(\"settings:providers.useLegacyFormat\")}\n\t\t\t\t</Checkbox>\n\t\t\t</div>\n\t\t\t<Checkbox\n\t\t\t\tchecked={apiConfiguration?.openAiStreamingEnabled ?? true}\n\t\t\t\tonChange={handleInputChange(\"openAiStreamingEnabled\", noTransform)}>\n\t\t\t\t{t(\"settings:modelInfo.enableStreaming\")}\n\t\t\t</Checkbox>\n\t\t\t<div>\n\t\t\t\t<Checkbox\n\t\t\t\t\tchecked={apiConfiguration?.includeMaxTokens ?? true}\n\t\t\t\t\tonChange={handleInputChange(\"includeMaxTokens\", noTransform)}>\n\t\t\t\t\t{t(\"settings:includeMaxOutputTokens\")}\n\t\t\t\t</Checkbox>\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground ml-6\">\n\t\t\t\t\t{t(\"settings:includeMaxOutputTokensDescription\")}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Checkbox\n\t\t\t\tchecked={apiConfiguration?.openAiUseAzure ?? false}\n\t\t\t\tonChange={handleInputChange(\"openAiUseAzure\", noTransform)}>\n\t\t\t\t{t(\"settings:modelInfo.useAzure\")}\n\t\t\t</Checkbox>\n\t\t\t<div>\n\t\t\t\t<Checkbox\n\t\t\t\t\tchecked={azureApiVersionSelected}\n\t\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\t\tsetAzureApiVersionSelected(checked)\n\n\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\tsetApiConfigurationField(\"azureApiVersion\", \"\")\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{t(\"settings:modelInfo.azureApiVersion\")}\n\t\t\t\t</Checkbox>\n\t\t\t\t{azureApiVersionSelected && (\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={apiConfiguration?.azureApiVersion || \"\"}\n\t\t\t\t\t\tonInput={handleInputChange(\"azureApiVersion\")}\n\t\t\t\t\t\tplaceholder={`Default: ${azureOpenAiDefaultApiVersion}`}\n\t\t\t\t\t\tclassName=\"w-full mt-1\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Custom Headers UI */}\n\t\t\t<div className=\"mb-4\">\n\t\t\t\t<div className=\"flex justify-between items-center mb-2\">\n\t\t\t\t\t<label className=\"block font-medium\">{t(\"settings:providers.customHeaders\")}</label>\n\t\t\t\t\t<StandardTooltip content={t(\"settings:common.add\")}>\n\t\t\t\t\t\t<VSCodeButton appearance=\"icon\" onClick={handleAddCustomHeader}>\n\t\t\t\t\t\t\t<span className=\"codicon codicon-add\"></span>\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t\t{!customHeaders.length ? (\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t{t(\"settings:providers.noCustomHeaders\")}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tcustomHeaders.map(([key, value], index) => (\n\t\t\t\t\t\t<div key={index} className=\"flex items-center mb-2\">\n\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\tvalue={key}\n\t\t\t\t\t\t\t\tclassName=\"flex-1 mr-2\"\n\t\t\t\t\t\t\t\tplaceholder={t(\"settings:providers.headerName\")}\n\t\t\t\t\t\t\t\tonInput={(e: any) => handleUpdateHeaderKey(index, e.target.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tclassName=\"flex-1 mr-2\"\n\t\t\t\t\t\t\t\tplaceholder={t(\"settings:providers.headerValue\")}\n\t\t\t\t\t\t\t\tonInput={(e: any) => handleUpdateHeaderValue(index, e.target.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:common.remove\")}>\n\t\t\t\t\t\t\t\t<VSCodeButton appearance=\"icon\" onClick={() => handleRemoveCustomHeader(index)}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-trash\"></span>\n\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tchecked={apiConfiguration.enableReasoningEffort ?? false}\n\t\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\t\tsetApiConfigurationField(\"enableReasoningEffort\", checked)\n\n\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\tconst { reasoningEffort: _, ...openAiCustomModelInfo } =\n\t\t\t\t\t\t\t\tapiConfiguration.openAiCustomModelInfo || openAiModelInfoSaneDefaults\n\n\t\t\t\t\t\t\tsetApiConfigurationField(\"openAiCustomModelInfo\", openAiCustomModelInfo)\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{t(\"settings:providers.setReasoningLevel\")}\n\t\t\t\t</Checkbox>\n\t\t\t\t{!!apiConfiguration.enableReasoningEffort && (\n\t\t\t\t\t<ThinkingBudget\n\t\t\t\t\t\tapiConfiguration={{\n\t\t\t\t\t\t\t...apiConfiguration,\n\t\t\t\t\t\t\treasoningEffort: apiConfiguration.openAiCustomModelInfo?.reasoningEffort,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsetApiConfigurationField={(field, value) => {\n\t\t\t\t\t\t\tif (field === \"reasoningEffort\") {\n\t\t\t\t\t\t\t\tconst openAiCustomModelInfo =\n\t\t\t\t\t\t\t\t\tapiConfiguration.openAiCustomModelInfo || openAiModelInfoSaneDefaults\n\n\t\t\t\t\t\t\t\tsetApiConfigurationField(\"openAiCustomModelInfo\", {\n\t\t\t\t\t\t\t\t\t...openAiCustomModelInfo,\n\t\t\t\t\t\t\t\t\treasoningEffort: value as ReasoningEffort,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tmodelInfo={{\n\t\t\t\t\t\t\t...(apiConfiguration.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\tsupportsReasoningEffort: true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className=\"flex flex-col gap-3\">\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground whitespace-pre-line\">\n\t\t\t\t\t{t(\"settings:providers.customModel.capabilities\")}\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tapiConfiguration?.openAiCustomModelInfo?.maxTokens?.toString() ||\n\t\t\t\t\t\t\topenAiModelInfoSaneDefaults.maxTokens?.toString() ||\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderColor: (() => {\n\t\t\t\t\t\t\t\tconst value = apiConfiguration?.openAiCustomModelInfo?.maxTokens\n\n\t\t\t\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t\t\t\treturn \"var(--vscode-input-border)\"\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn value > 0 ? \"var(--vscode-charts-green)\" : \"var(--vscode-errorForeground)\"\n\t\t\t\t\t\t\t})(),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonInput={handleInputChange(\"openAiCustomModelInfo\", (e) => {\n\t\t\t\t\t\t\tconst value = parseInt((e.target as HTMLInputElement).value)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\tmaxTokens: isNaN(value) ? undefined : value,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.numbers.maxTokens\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t{t(\"settings:providers.customModel.maxTokens.label\")}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t{t(\"settings:providers.customModel.maxTokens.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tapiConfiguration?.openAiCustomModelInfo?.contextWindow?.toString() ||\n\t\t\t\t\t\t\topenAiModelInfoSaneDefaults.contextWindow?.toString() ||\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderColor: (() => {\n\t\t\t\t\t\t\t\tconst value = apiConfiguration?.openAiCustomModelInfo?.contextWindow\n\n\t\t\t\t\t\t\t\tif (!value) {\n\t\t\t\t\t\t\t\t\treturn \"var(--vscode-input-border)\"\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn value > 0 ? \"var(--vscode-charts-green)\" : \"var(--vscode-errorForeground)\"\n\t\t\t\t\t\t\t})(),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonInput={handleInputChange(\"openAiCustomModelInfo\", (e) => {\n\t\t\t\t\t\t\tconst value = (e.target as HTMLInputElement).value\n\t\t\t\t\t\t\tconst parsed = parseInt(value)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\tcontextWindow: isNaN(parsed) ? openAiModelInfoSaneDefaults.contextWindow : parsed,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.numbers.contextWindow\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t{t(\"settings:providers.customModel.contextWindow.label\")}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t{t(\"settings:providers.customModel.contextWindow.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\tapiConfiguration?.openAiCustomModelInfo?.supportsImages ??\n\t\t\t\t\t\t\t\topenAiModelInfoSaneDefaults.supportsImages\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (checked) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\t\tsupportsImages: checked,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t{t(\"settings:providers.customModel.imageSupport.label\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.customModel.imageSupport.description\")}>\n\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground pt-1\">\n\t\t\t\t\t\t{t(\"settings:providers.customModel.imageSupport.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={apiConfiguration?.openAiCustomModelInfo?.supportsComputerUse ?? false}\n\t\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (checked) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\t\tsupportsComputerUse: checked,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:providers.customModel.computerUse.label\")}</span>\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.customModel.computerUse.description\")}>\n\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground pt-1\">\n\t\t\t\t\t\t{t(\"settings:providers.customModel.computerUse.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={apiConfiguration?.openAiCustomModelInfo?.supportsPromptCache ?? false}\n\t\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (checked) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\t\tsupportsPromptCache: checked,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:providers.customModel.promptCache.label\")}</span>\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.customModel.promptCache.description\")}>\n\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground pt-1\">\n\t\t\t\t\t\t{t(\"settings:providers.customModel.promptCache.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tapiConfiguration?.openAiCustomModelInfo?.inputPrice?.toString() ??\n\t\t\t\t\t\t\topenAiModelInfoSaneDefaults.inputPrice?.toString() ??\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderColor: (() => {\n\t\t\t\t\t\t\t\tconst value = apiConfiguration?.openAiCustomModelInfo?.inputPrice\n\n\t\t\t\t\t\t\t\tif (!value && value !== 0) {\n\t\t\t\t\t\t\t\t\treturn \"var(--vscode-input-border)\"\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn value >= 0 ? \"var(--vscode-charts-green)\" : \"var(--vscode-errorForeground)\"\n\t\t\t\t\t\t\t})(),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (e) => {\n\t\t\t\t\t\t\tconst value = (e.target as HTMLInputElement).value\n\t\t\t\t\t\t\tconst parsed = parseFloat(value)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo ?? openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\tinputPrice: isNaN(parsed) ? openAiModelInfoSaneDefaults.inputPrice : parsed,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.numbers.inputPrice\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:providers.customModel.pricing.input.label\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.customModel.pricing.input.description\")}>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tapiConfiguration?.openAiCustomModelInfo?.outputPrice?.toString() ||\n\t\t\t\t\t\t\topenAiModelInfoSaneDefaults.outputPrice?.toString() ||\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderColor: (() => {\n\t\t\t\t\t\t\t\tconst value = apiConfiguration?.openAiCustomModelInfo?.outputPrice\n\n\t\t\t\t\t\t\t\tif (!value && value !== 0) {\n\t\t\t\t\t\t\t\t\treturn \"var(--vscode-input-border)\"\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn value >= 0 ? \"var(--vscode-charts-green)\" : \"var(--vscode-errorForeground)\"\n\t\t\t\t\t\t\t})(),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (e) => {\n\t\t\t\t\t\t\tconst value = (e.target as HTMLInputElement).value\n\t\t\t\t\t\t\tconst parsed = parseFloat(value)\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo || openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\toutputPrice: isNaN(parsed) ? openAiModelInfoSaneDefaults.outputPrice : parsed,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.numbers.outputPrice\")}\n\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:providers.customModel.pricing.output.label\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:providers.customModel.pricing.output.description\")}>\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t</div>\n\n\t\t\t\t{apiConfiguration?.openAiCustomModelInfo?.supportsPromptCache && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\tvalue={apiConfiguration?.openAiCustomModelInfo?.cacheReadsPrice?.toString() ?? \"0\"}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tborderColor: (() => {\n\t\t\t\t\t\t\t\t\t\tconst value = apiConfiguration?.openAiCustomModelInfo?.cacheReadsPrice\n\n\t\t\t\t\t\t\t\t\t\tif (!value && value !== 0) {\n\t\t\t\t\t\t\t\t\t\t\treturn \"var(--vscode-input-border)\"\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn value >= 0\n\t\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-charts-green)\"\n\t\t\t\t\t\t\t\t\t\t\t: \"var(--vscode-errorForeground)\"\n\t\t\t\t\t\t\t\t\t})(),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (e) => {\n\t\t\t\t\t\t\t\t\tconst value = (e.target as HTMLInputElement).value\n\t\t\t\t\t\t\t\t\tconst parsed = parseFloat(value)\n\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo ?? openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\t\t\tcacheReadsPrice: isNaN(parsed) ? 0 : parsed,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.numbers.inputPrice\")}\n\t\t\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:providers.customModel.pricing.cacheReads.label\")}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\tcontent={t(\"settings:providers.customModel.pricing.cacheReads.description\")}>\n\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\tvalue={apiConfiguration?.openAiCustomModelInfo?.cacheWritesPrice?.toString() ?? \"0\"}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tborderColor: (() => {\n\t\t\t\t\t\t\t\t\t\tconst value = apiConfiguration?.openAiCustomModelInfo?.cacheWritesPrice\n\n\t\t\t\t\t\t\t\t\t\tif (!value && value !== 0) {\n\t\t\t\t\t\t\t\t\t\t\treturn \"var(--vscode-input-border)\"\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn value >= 0\n\t\t\t\t\t\t\t\t\t\t\t? \"var(--vscode-charts-green)\"\n\t\t\t\t\t\t\t\t\t\t\t: \"var(--vscode-errorForeground)\"\n\t\t\t\t\t\t\t\t\t})(),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonChange={handleInputChange(\"openAiCustomModelInfo\", (e) => {\n\t\t\t\t\t\t\t\t\tconst value = (e.target as HTMLInputElement).value\n\t\t\t\t\t\t\t\t\tconst parsed = parseFloat(value)\n\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...(apiConfiguration?.openAiCustomModelInfo ?? openAiModelInfoSaneDefaults),\n\t\t\t\t\t\t\t\t\t\tcacheWritesPrice: isNaN(parsed) ? 0 : parsed,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tplaceholder={t(\"settings:placeholders.numbers.cacheWritePrice\")}\n\t\t\t\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:providers.customModel.pricing.cacheWrites.label\")}\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\tcontent={t(\"settings:providers.customModel.pricing.cacheWrites.description\")}>\n\t\t\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"codicon codicon-info text-vscode-descriptionForeground\"\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ fontSize: \"12px\" }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VSCodeTextField>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={() => setApiConfigurationField(\"openAiCustomModelInfo\", openAiModelInfoSaneDefaults)}>\n\t\t\t\t\t{t(\"settings:providers.customModel.resetDefaults\")}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import axios from \"axios\"\nimport { z } from \"zod\"\nimport { useQuery, UseQueryOptions } from \"@tanstack/react-query\"\n\n// Define schema for OpenRouter key response\nconst openRouterKeyInfoSchema = z.object({\n\tdata: z.object({\n\t\tlabel: z.string(),\n\t\tusage: z.number(),\n\t\tis_free_tier: z.boolean(),\n\t\tis_provisioning_key: z.boolean(),\n\t\trate_limit: z.object({\n\t\t\trequests: z.number(),\n\t\t\tinterval: z.string(),\n\t\t}),\n\t\tlimit: z.number().nullable(),\n\t}),\n})\n\nexport type OpenRouterKeyInfo = z.infer<typeof openRouterKeyInfoSchema>[\"data\"]\n\nasync function getOpenRouterKeyInfo(apiKey?: string, baseUrl?: string) {\n\tif (!apiKey) return null\n\n\ttry {\n\t\t// Use the provided base URL or default to OpenRouter's API URL\n\t\tconst apiBaseUrl = baseUrl || \"https://openrouter.ai/api/v1\"\n\n\t\tconst keyEndpoint = `${apiBaseUrl}/key`\n\n\t\tconst response = await axios.get(keyEndpoint, {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t\t},\n\t\t})\n\n\t\tconst result = openRouterKeyInfoSchema.safeParse(response.data)\n\t\tif (!result.success) {\n\t\t\tconsole.error(\"OpenRouter API key info validation failed:\", result.error)\n\t\t\treturn null\n\t\t}\n\n\t\treturn result.data.data\n\t} catch (error) {\n\t\tconsole.error(\"Error fetching OpenRouter key info:\", error)\n\t\treturn null\n\t}\n}\n\ntype UseOpenRouterKeyInfoOptions = Omit<UseQueryOptions<OpenRouterKeyInfo | null>, \"queryKey\" | \"queryFn\">\nexport const useOpenRouterKeyInfo = (apiKey?: string, baseUrl?: string, options?: UseOpenRouterKeyInfoOptions) => {\n\treturn useQuery<OpenRouterKeyInfo | null>({\n\t\tqueryKey: [\"openrouter-key-info\", apiKey, baseUrl],\n\t\tqueryFn: () => getOpenRouterKeyInfo(apiKey, baseUrl),\n\t\tstaleTime: 30 * 1000, // 30 seconds\n\t\tenabled: !!apiKey,\n\t\t...options,\n\t})\n}\n", + "import { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { useOpenRouterKeyInfo } from \"@/components/ui/hooks/useOpenRouterKeyInfo\"\n\nexport const OpenRouterBalanceDisplay = ({ apiKey, baseUrl }: { apiKey: string; baseUrl?: string }) => {\n\tconst { data: keyInfo } = useOpenRouterKeyInfo(apiKey, baseUrl)\n\n\tif (!keyInfo || !keyInfo.limit) {\n\t\treturn null\n\t}\n\n\tconst formattedBalance = (keyInfo.limit - keyInfo.usage).toFixed(2)\n\n\treturn (\n\t\t<VSCodeLink href=\"https://openrouter.ai/settings/keys\" className=\"text-vscode-foreground hover:underline\">\n\t\t\t${formattedBalance}\n\t\t</VSCodeLink>\n\t)\n}\n", + "import { useCallback, useState } from \"react\"\nimport { Trans } from \"react-i18next\"\nimport { Checkbox } from \"vscrui\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, type OrganizationAllowList, openRouterDefaultModelId } from \"@roo-code/types\"\n\nimport type { RouterModels } from \"@roo/api\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { getOpenRouterAuthUrl } from \"@src/oauth/urls\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform, noTransform } from \"../transforms\"\n\nimport { ModelPicker } from \"../ModelPicker\"\nimport { OpenRouterBalanceDisplay } from \"./OpenRouterBalanceDisplay\"\n\ntype OpenRouterProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\trouterModels?: RouterModels\n\tselectedModelId: string\n\turiScheme: string | undefined\n\tfromWelcomeView?: boolean\n\torganizationAllowList: OrganizationAllowList\n\tmodelValidationError?: string\n}\n\nexport const OpenRouter = ({\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\trouterModels,\n\turiScheme,\n\tfromWelcomeView,\n\torganizationAllowList,\n\tmodelValidationError,\n}: OpenRouterProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [openRouterBaseUrlSelected, setOpenRouterBaseUrlSelected] = useState(!!apiConfiguration?.openRouterBaseUrl)\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.openRouterApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"openRouterApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t<label className=\"block font-medium\">{t(\"settings:providers.openRouterApiKey\")}</label>\n\t\t\t\t\t{apiConfiguration?.openRouterApiKey && (\n\t\t\t\t\t\t<OpenRouterBalanceDisplay\n\t\t\t\t\t\t\tapiKey={apiConfiguration.openRouterApiKey}\n\t\t\t\t\t\t\tbaseUrl={apiConfiguration.openRouterBaseUrl}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.openRouterApiKey && (\n\t\t\t\t<VSCodeButtonLink href={getOpenRouterAuthUrl(uriScheme)} style={{ width: \"100%\" }} appearance=\"primary\">\n\t\t\t\t\t{t(\"settings:providers.getOpenRouterApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t\t{!fromWelcomeView && (\n\t\t\t\t<>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tchecked={openRouterBaseUrlSelected}\n\t\t\t\t\t\t\tonChange={(checked: boolean) => {\n\t\t\t\t\t\t\t\tsetOpenRouterBaseUrlSelected(checked)\n\n\t\t\t\t\t\t\t\tif (!checked) {\n\t\t\t\t\t\t\t\t\tsetApiConfigurationField(\"openRouterBaseUrl\", \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{t(\"settings:providers.useCustomBaseUrl\")}\n\t\t\t\t\t\t</Checkbox>\n\t\t\t\t\t\t{openRouterBaseUrlSelected && (\n\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\tvalue={apiConfiguration?.openRouterBaseUrl || \"\"}\n\t\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\t\tonInput={handleInputChange(\"openRouterBaseUrl\")}\n\t\t\t\t\t\t\t\tplaceholder=\"Default: https://openrouter.ai/api/v1\"\n\t\t\t\t\t\t\t\tclassName=\"w-full mt-1\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<Checkbox\n\t\t\t\t\t\tchecked={apiConfiguration?.openRouterUseMiddleOutTransform ?? true}\n\t\t\t\t\t\tonChange={handleInputChange(\"openRouterUseMiddleOutTransform\", noTransform)}>\n\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\ti18nKey=\"settings:providers.openRouterTransformsText\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\ta: <a href=\"https://openrouter.ai/docs/transforms\" />,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Checkbox>\n\t\t\t\t</>\n\t\t\t)}\n\t\t\t<ModelPicker\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\tdefaultModelId={openRouterDefaultModelId}\n\t\t\t\tmodels={routerModels?.openrouter ?? {}}\n\t\t\t\tmodelIdKey=\"openRouterModelId\"\n\t\t\t\tserviceName=\"OpenRouter\"\n\t\t\t\tserviceUrl=\"https://openrouter.ai/models\"\n\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\terrorMessage={modelValidationError}\n\t\t\t/>\n\t\t</>\n\t)\n}\n", + "import axios from \"axios\"\nimport { z } from \"zod\"\nimport { useQuery, UseQueryOptions } from \"@tanstack/react-query\"\n\nconst requestyKeyInfoSchema = z.object({\n\tname: z.string(),\n\tmonthly_limit: z.string(),\n\tmonthly_spend: z.string(),\n\torg_balance: z.string(),\n\tconfig: z.object({\n\t\taliases: z.record(z.string(), z.any()).optional(),\n\t}),\n})\n\nexport type RequestyKeyInfo = z.infer<typeof requestyKeyInfoSchema>\n\nasync function getRequestyKeyInfo(apiKey?: string) {\n\tif (!apiKey) return null\n\n\ttry {\n\t\tconst response = await axios.get(\"https://api.requesty.ai/x/apikey\", {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${apiKey}`,\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t})\n\n\t\tconst result = requestyKeyInfoSchema.safeParse(response.data)\n\t\tif (!result.success) {\n\t\t\tconsole.error(\"Requesty API key info validation failed:\", result.error)\n\t\t\treturn null\n\t\t}\n\n\t\treturn result.data\n\t} catch (error) {\n\t\tconsole.error(\"Error fetching Requesty key info:\", error)\n\t\treturn null\n\t}\n}\n\ntype UseRequestyKeyInfoOptions = Omit<UseQueryOptions<RequestyKeyInfo | null>, \"queryKey\" | \"queryFn\">\nexport const useRequestyKeyInfo = (apiKey?: string, options?: UseRequestyKeyInfoOptions) => {\n\treturn useQuery<RequestyKeyInfo | null>({\n\t\tqueryKey: [\"requesty-key-info\", apiKey],\n\t\tqueryFn: () => getRequestyKeyInfo(apiKey),\n\t\tstaleTime: 30 * 1000, // 30 seconds\n\t\tenabled: !!apiKey,\n\t\t...options,\n\t})\n}\n", + "import { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { useRequestyKeyInfo } from \"@/components/ui/hooks/useRequestyKeyInfo\"\n\nexport const RequestyBalanceDisplay = ({ apiKey }: { apiKey: string }) => {\n\tconst { data: keyInfo } = useRequestyKeyInfo(apiKey)\n\n\tif (!keyInfo) {\n\t\treturn null\n\t}\n\n\t// Parse the balance to a number and format it to 2 decimal places.\n\tconst balance = parseFloat(keyInfo.org_balance)\n\tconst formattedBalance = balance.toFixed(2)\n\n\treturn (\n\t\t<VSCodeLink href=\"https://app.requesty.ai/settings\" className=\"text-vscode-foreground hover:underline\">\n\t\t\t${formattedBalance}\n\t\t</VSCodeLink>\n\t)\n}\n", + "import { useCallback, useState } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, type OrganizationAllowList, requestyDefaultModelId } from \"@roo-code/types\"\n\nimport type { RouterModels } from \"@roo/api\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\nimport { Button } from \"@src/components/ui\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { ModelPicker } from \"../ModelPicker\"\nimport { RequestyBalanceDisplay } from \"./RequestyBalanceDisplay\"\n\ntype RequestyProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\trouterModels?: RouterModels\n\trefetchRouterModels: () => void\n\torganizationAllowList: OrganizationAllowList\n\tmodelValidationError?: string\n}\n\nexport const Requesty = ({\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\trouterModels,\n\trefetchRouterModels,\n\torganizationAllowList,\n\tmodelValidationError,\n}: RequestyProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [didRefetch, setDidRefetch] = useState<boolean>()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.requestyApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"requestyApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:providers.getRequestyApiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t<label className=\"block font-medium\">{t(\"settings:providers.requestyApiKey\")}</label>\n\t\t\t\t\t{apiConfiguration?.requestyApiKey && (\n\t\t\t\t\t\t<RequestyBalanceDisplay apiKey={apiConfiguration.requestyApiKey} />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.requestyApiKey && (\n\t\t\t\t<VSCodeButtonLink\n\t\t\t\t\thref=\"https://app.requesty.ai/api-keys\"\n\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\tappearance=\"primary\">\n\t\t\t\t\t{t(\"settings:providers.getRequestyApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t\t<Button\n\t\t\t\tvariant=\"outline\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\tvscode.postMessage({ type: \"flushRouterModels\", text: \"requesty\" })\n\t\t\t\t\trefetchRouterModels()\n\t\t\t\t\tsetDidRefetch(true)\n\t\t\t\t}}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<span className=\"codicon codicon-refresh\" />\n\t\t\t\t\t{t(\"settings:providers.refreshModels.label\")}\n\t\t\t\t</div>\n\t\t\t</Button>\n\t\t\t{didRefetch && (\n\t\t\t\t<div className=\"flex items-center text-vscode-errorForeground\">\n\t\t\t\t\t{t(\"settings:providers.refreshModels.hint\")}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<ModelPicker\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\tdefaultModelId={requestyDefaultModelId}\n\t\t\t\tmodels={routerModels?.requesty ?? {}}\n\t\t\t\tmodelIdKey=\"requestyModelId\"\n\t\t\t\tserviceName=\"Requesty\"\n\t\t\t\tserviceUrl=\"https://requesty.ai\"\n\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\terrorMessage={modelValidationError}\n\t\t\t/>\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype SambaNovaProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const SambaNova = ({ apiConfiguration, setApiConfigurationField }: SambaNovaProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.sambaNovaApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"sambaNovaApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.sambaNovaApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.sambaNovaApiKey && (\n\t\t\t\t<VSCodeButtonLink\n\t\t\t\t\thref=\"https://cloud.sambanova.ai/?utm_source=roocode&utm_medium=external&utm_campaign=cloud_signup\"\n\t\t\t\t\tappearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getSambaNovaApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState, useRef } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\nimport { useQueryClient } from \"@tanstack/react-query\"\n\nimport { type ProviderSettings, type OrganizationAllowList, unboundDefaultModelId } from \"@roo-code/types\"\n\nimport type { RouterModels } from \"@roo/api\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { Button } from \"@src/components/ui\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { ModelPicker } from \"../ModelPicker\"\n\ntype UnboundProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\trouterModels?: RouterModels\n\torganizationAllowList: OrganizationAllowList\n\tmodelValidationError?: string\n}\n\nexport const Unbound = ({\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\trouterModels,\n\torganizationAllowList,\n\tmodelValidationError,\n}: UnboundProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [didRefetch, setDidRefetch] = useState<boolean>()\n\tconst [isInvalidKey, setIsInvalidKey] = useState<boolean>(false)\n\tconst queryClient = useQueryClient()\n\n\t// Add refs to store timer IDs\n\tconst didRefetchTimerRef = useRef<NodeJS.Timeout>()\n\tconst invalidKeyTimerRef = useRef<NodeJS.Timeout>()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst saveConfiguration = useCallback(async () => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"upsertApiConfiguration\",\n\t\t\ttext: \"default\",\n\t\t\tapiConfiguration: apiConfiguration,\n\t\t})\n\n\t\tconst waitForStateUpdate = new Promise<void>((resolve, reject) => {\n\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\twindow.removeEventListener(\"message\", messageHandler)\n\t\t\t\treject(new Error(\"Timeout waiting for state update\"))\n\t\t\t}, 10000) // 10 second timeout\n\n\t\t\tconst messageHandler = (event: MessageEvent) => {\n\t\t\t\tconst message = event.data\n\t\t\t\tif (message.type === \"state\") {\n\t\t\t\t\tclearTimeout(timeoutId)\n\t\t\t\t\twindow.removeEventListener(\"message\", messageHandler)\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\t\t\t}\n\t\t\twindow.addEventListener(\"message\", messageHandler)\n\t\t})\n\n\t\ttry {\n\t\t\tawait waitForStateUpdate\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Failed to save configuration:\", error)\n\t\t}\n\t}, [apiConfiguration])\n\n\tconst requestModels = useCallback(async () => {\n\t\tvscode.postMessage({ type: \"flushRouterModels\", text: \"unbound\" })\n\n\t\tconst modelsPromise = new Promise<void>((resolve) => {\n\t\t\tconst messageHandler = (event: MessageEvent) => {\n\t\t\t\tconst message = event.data\n\t\t\t\tif (message.type === \"routerModels\") {\n\t\t\t\t\twindow.removeEventListener(\"message\", messageHandler)\n\t\t\t\t\tresolve()\n\t\t\t\t}\n\t\t\t}\n\t\t\twindow.addEventListener(\"message\", messageHandler)\n\t\t})\n\n\t\tvscode.postMessage({ type: \"requestRouterModels\" })\n\n\t\tawait modelsPromise\n\n\t\tawait queryClient.invalidateQueries({ queryKey: [\"routerModels\"] })\n\n\t\t// After refreshing models, check if current model is in the updated list\n\t\t// If not, select the first available model\n\t\tconst updatedModels = queryClient.getQueryData<{ unbound: RouterModels }>([\"routerModels\"])?.unbound\n\t\tif (updatedModels && Object.keys(updatedModels).length > 0) {\n\t\t\tconst currentModelId = apiConfiguration?.unboundModelId\n\t\t\tconst modelExists = currentModelId && Object.prototype.hasOwnProperty.call(updatedModels, currentModelId)\n\n\t\t\tif (!currentModelId || !modelExists) {\n\t\t\t\tconst firstAvailableModelId = Object.keys(updatedModels)[0]\n\t\t\t\tsetApiConfigurationField(\"unboundModelId\", firstAvailableModelId)\n\t\t\t}\n\t\t}\n\n\t\tif (!updatedModels || Object.keys(updatedModels).includes(\"error\")) {\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t}, [queryClient, apiConfiguration, setApiConfigurationField])\n\n\tconst handleRefresh = useCallback(async () => {\n\t\tawait saveConfiguration()\n\t\tconst requestModelsResult = await requestModels()\n\n\t\tif (requestModelsResult) {\n\t\t\tsetDidRefetch(true)\n\t\t\tdidRefetchTimerRef.current = setTimeout(() => setDidRefetch(false), 3000)\n\t\t} else {\n\t\t\tsetIsInvalidKey(true)\n\t\t\tinvalidKeyTimerRef.current = setTimeout(() => setIsInvalidKey(false), 3000)\n\t\t}\n\t}, [saveConfiguration, requestModels])\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.unboundApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"unboundApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.unboundApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.unboundApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://gateway.getunbound.ai\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getUnboundApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t\t<div className=\"flex justify-end\">\n\t\t\t\t<Button variant=\"outline\" onClick={handleRefresh} className=\"w-1/2 max-w-xs\">\n\t\t\t\t\t<div className=\"flex items-center gap-2 justify-center\">\n\t\t\t\t\t\t<span className=\"codicon codicon-refresh\" />\n\t\t\t\t\t\t{t(\"settings:providers.refreshModels.label\")}\n\t\t\t\t\t</div>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{didRefetch && (\n\t\t\t\t<div className=\"flex items-center text-vscode-charts-green\">\n\t\t\t\t\t{t(\"settings:providers.unboundRefreshModelsSuccess\")}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{isInvalidKey && (\n\t\t\t\t<div className=\"flex items-center text-vscode-errorForeground\">\n\t\t\t\t\t{t(\"settings:providers.unboundInvalidApiKey\")}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<ModelPicker\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tdefaultModelId={unboundDefaultModelId}\n\t\t\t\tmodels={routerModels?.unbound ?? {}}\n\t\t\t\tmodelIdKey=\"unboundModelId\"\n\t\t\t\tserviceName=\"Unbound\"\n\t\t\t\tserviceUrl=\"https://api.getunbound.ai/models\"\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\terrorMessage={modelValidationError}\n\t\t\t/>\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeLink, VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, VERTEX_REGIONS } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@src/components/ui\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype VertexProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Vertex = ({ apiConfiguration, setApiConfigurationField }: VertexProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t<div>{t(\"settings:providers.googleCloudSetup.title\")}</div>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\thref=\"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude#before_you_begin\"\n\t\t\t\t\t\tclassName=\"text-sm\">\n\t\t\t\t\t\t{t(\"settings:providers.googleCloudSetup.step1\")}\n\t\t\t\t\t</VSCodeLink>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\thref=\"https://cloud.google.com/docs/authentication/provide-credentials-adc#google-idp\"\n\t\t\t\t\t\tclassName=\"text-sm\">\n\t\t\t\t\t\t{t(\"settings:providers.googleCloudSetup.step2\")}\n\t\t\t\t\t</VSCodeLink>\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\thref=\"https://developers.google.com/workspace/guides/create-credentials?hl=en#service-account\"\n\t\t\t\t\t\tclassName=\"text-sm\">\n\t\t\t\t\t\t{t(\"settings:providers.googleCloudSetup.step3\")}\n\t\t\t\t\t</VSCodeLink>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.vertexJsonCredentials || \"\"}\n\t\t\t\tonInput={handleInputChange(\"vertexJsonCredentials\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.credentialsJson\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.googleCloudCredentials\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.vertexKeyFile || \"\"}\n\t\t\t\tonInput={handleInputChange(\"vertexKeyFile\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.keyFilePath\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.googleCloudKeyFile\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.vertexProjectId || \"\"}\n\t\t\t\tonInput={handleInputChange(\"vertexProjectId\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.projectId\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.googleCloudProjectId\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.googleCloudRegion\")}</label>\n\t\t\t\t<Select\n\t\t\t\t\tvalue={apiConfiguration?.vertexRegion || \"\"}\n\t\t\t\t\tonValueChange={(value) => setApiConfigurationField(\"vertexRegion\", value)}>\n\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t{VERTEX_REGIONS.map(({ value, label }) => (\n\t\t\t\t\t\t\t<SelectItem key={value} value={value}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</SelectContent>\n\t\t\t\t</Select>\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useState, useCallback } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { LanguageModelChatSelector } from \"vscode\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@src/components/ui\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype VSCodeLMProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const VSCodeLM = ({ apiConfiguration, setApiConfigurationField }: VSCodeLMProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [vsCodeLmModels, setVsCodeLmModels] = useState<LanguageModelChatSelector[]>([])\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst onMessage = useCallback((event: MessageEvent) => {\n\t\tconst message: ExtensionMessage = event.data\n\n\t\tswitch (message.type) {\n\t\t\tcase \"vsCodeLmModels\":\n\t\t\t\t{\n\t\t\t\t\tconst newModels = message.vsCodeLmModels ?? []\n\t\t\t\t\tsetVsCodeLmModels(newModels)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t}\n\t}, [])\n\n\tuseEvent(\"message\", onMessage)\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.vscodeLmModel\")}</label>\n\t\t\t\t{vsCodeLmModels.length > 0 ? (\n\t\t\t\t\t<Select\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tapiConfiguration?.vsCodeLmModelSelector\n\t\t\t\t\t\t\t\t? `${apiConfiguration.vsCodeLmModelSelector.vendor ?? \"\"}/${apiConfiguration.vsCodeLmModelSelector.family ?? \"\"}`\n\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonValueChange={handleInputChange(\"vsCodeLmModelSelector\", (value) => {\n\t\t\t\t\t\t\tconst [vendor, family] = value.split(\"/\")\n\t\t\t\t\t\t\treturn { vendor, family }\n\t\t\t\t\t\t})}>\n\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t{vsCodeLmModels.map((model) => (\n\t\t\t\t\t\t\t\t<SelectItem\n\t\t\t\t\t\t\t\t\tkey={`${model.vendor}/${model.family}`}\n\t\t\t\t\t\t\t\t\tvalue={`${model.vendor}/${model.family}`}>\n\t\t\t\t\t\t\t\t\t{`${model.vendor} - ${model.family}`}\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t{t(\"settings:providers.vscodeLmDescription\")}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div className=\"text-sm text-vscode-errorForeground\">{t(\"settings:providers.vscodeLmWarning\")}</div>\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype XAIProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const XAI = ({ apiConfiguration, setApiConfigurationField }: XAIProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.xaiApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"xaiApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.xaiApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.xaiApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://api.x.ai/docs\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getXaiApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField, VSCodeDropdown, VSCodeOption } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { cn } from \"@/lib/utils\"\n\ntype ZAiProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const ZAi = ({ apiConfiguration, setApiConfigurationField }: ZAiProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.zaiEntrypoint\")}</label>\n\t\t\t\t<VSCodeDropdown\n\t\t\t\t\tvalue={apiConfiguration.zaiApiLine || \"international\"}\n\t\t\t\t\tonChange={handleInputChange(\"zaiApiLine\")}\n\t\t\t\t\tclassName={cn(\"w-full\")}>\n\t\t\t\t\t<VSCodeOption value=\"international\" className=\"p-2\">\n\t\t\t\t\t\tapi.z.ai\n\t\t\t\t\t</VSCodeOption>\n\t\t\t\t\t<VSCodeOption value=\"china\" className=\"p-2\">\n\t\t\t\t\t\topen.bigmodel.cn\n\t\t\t\t\t</VSCodeOption>\n\t\t\t\t</VSCodeDropdown>\n\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t{t(\"settings:providers.zaiEntrypointDescription\")}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<VSCodeTextField\n\t\t\t\t\tvalue={apiConfiguration?.zaiApiKey || \"\"}\n\t\t\t\t\ttype=\"password\"\n\t\t\t\t\tonInput={handleInputChange(\"zaiApiKey\")}\n\t\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\t\tclassName=\"w-full\">\n\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.zaiApiKey\")}</label>\n\t\t\t\t</VSCodeTextField>\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t\t</div>\n\t\t\t\t{!apiConfiguration?.zaiApiKey && (\n\t\t\t\t\t<VSCodeButtonLink\n\t\t\t\t\t\thref={\n\t\t\t\t\t\t\tapiConfiguration.zaiApiLine === \"china\"\n\t\t\t\t\t\t\t\t? \"https://open.bigmodel.cn/console/overview\"\n\t\t\t\t\t\t\t\t: \"https://z.ai/manage-apikey/apikey-list\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tappearance=\"secondary\">\n\t\t\t\t\t\t{t(\"settings:providers.getZaiApiKey\")}\n\t\t\t\t\t</VSCodeButtonLink>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</>\n\t)\n}\n", + "import { useCallback, useState, useEffect, useRef } from \"react\"\nimport { VSCodeTextField, VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { type ProviderSettings, type OrganizationAllowList, litellmDefaultModelId } from \"@roo-code/types\"\n\nimport { RouterName } from \"@roo/api\"\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { Button } from \"@src/components/ui\"\n\nimport { inputEventTransform } from \"../transforms\"\nimport { ModelPicker } from \"../ModelPicker\"\n\ntype LiteLLMProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n\torganizationAllowList: OrganizationAllowList\n\tmodelValidationError?: string\n}\n\nexport const LiteLLM = ({\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\torganizationAllowList,\n\tmodelValidationError,\n}: LiteLLMProps) => {\n\tconst { t } = useAppTranslation()\n\tconst { routerModels } = useExtensionState()\n\tconst [refreshStatus, setRefreshStatus] = useState<\"idle\" | \"loading\" | \"success\" | \"error\">(\"idle\")\n\tconst [refreshError, setRefreshError] = useState<string | undefined>()\n\tconst litellmErrorJustReceived = useRef(false)\n\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent<ExtensionMessage>) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"singleRouterModelFetchResponse\" && !message.success) {\n\t\t\t\tconst providerName = message.values?.provider as RouterName\n\t\t\t\tif (providerName === \"litellm\") {\n\t\t\t\t\tlitellmErrorJustReceived.current = true\n\t\t\t\t\tsetRefreshStatus(\"error\")\n\t\t\t\t\tsetRefreshError(message.error)\n\t\t\t\t}\n\t\t\t} else if (message.type === \"routerModels\") {\n\t\t\t\t// If we were loading and no specific error for litellm was just received, mark as success.\n\t\t\t\t// The ModelPicker will show available models or \"no models found\".\n\t\t\t\tif (refreshStatus === \"loading\") {\n\t\t\t\t\tif (!litellmErrorJustReceived.current) {\n\t\t\t\t\t\tsetRefreshStatus(\"success\")\n\t\t\t\t\t}\n\t\t\t\t\t// If litellmErrorJustReceived.current is true, status is already (or will be) \"error\".\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage)\n\t\t}\n\t}, [refreshStatus, refreshError, setRefreshStatus, setRefreshError])\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst handleRefreshModels = useCallback(() => {\n\t\tlitellmErrorJustReceived.current = false // Reset flag on new refresh action\n\t\tsetRefreshStatus(\"loading\")\n\t\tsetRefreshError(undefined)\n\n\t\tconst key = apiConfiguration.litellmApiKey\n\t\tconst url = apiConfiguration.litellmBaseUrl\n\n\t\tif (!key || !url) {\n\t\t\tsetRefreshStatus(\"error\")\n\t\t\tsetRefreshError(t(\"settings:providers.refreshModels.missingConfig\"))\n\t\t\treturn\n\t\t}\n\t\tvscode.postMessage({ type: \"requestRouterModels\", values: { litellmApiKey: key, litellmBaseUrl: url } })\n\t}, [apiConfiguration, setRefreshStatus, setRefreshError, t])\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.litellmBaseUrl || \"\"}\n\t\t\t\tonInput={handleInputChange(\"litellmBaseUrl\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.baseUrl\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.litellmBaseUrl\")}</label>\n\t\t\t</VSCodeTextField>\n\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.litellmApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"litellmApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.litellmApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\n\t\t\t<Button\n\t\t\t\tvariant=\"outline\"\n\t\t\t\tonClick={handleRefreshModels}\n\t\t\t\tdisabled={\n\t\t\t\t\trefreshStatus === \"loading\" || !apiConfiguration.litellmApiKey || !apiConfiguration.litellmBaseUrl\n\t\t\t\t}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t{refreshStatus === \"loading\" ? (\n\t\t\t\t\t\t<span className=\"codicon codicon-loading codicon-modifier-spin\" />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"codicon codicon-refresh\" />\n\t\t\t\t\t)}\n\t\t\t\t\t{t(\"settings:providers.refreshModels.label\")}\n\t\t\t\t</div>\n\t\t\t</Button>\n\t\t\t{refreshStatus === \"loading\" && (\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t{t(\"settings:providers.refreshModels.loading\")}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{refreshStatus === \"success\" && (\n\t\t\t\t<div className=\"text-sm text-vscode-foreground\">{t(\"settings:providers.refreshModels.success\")}</div>\n\t\t\t)}\n\t\t\t{refreshStatus === \"error\" && (\n\t\t\t\t<div className=\"text-sm text-vscode-errorForeground\">\n\t\t\t\t\t{refreshError || t(\"settings:providers.refreshModels.error\")}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<ModelPicker\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tdefaultModelId={litellmDefaultModelId}\n\t\t\t\tmodels={routerModels?.litellm ?? {}}\n\t\t\t\tmodelIdKey=\"litellmModelId\"\n\t\t\t\tserviceName=\"LiteLLM\"\n\t\t\t\tserviceUrl=\"https://docs.litellm.ai/\"\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\terrorMessage={modelValidationError}\n\t\t\t/>\n\n\t\t\t{/* Show prompt caching option if the selected model supports it */}\n\t\t\t{(() => {\n\t\t\t\tconst selectedModelId = apiConfiguration.litellmModelId || litellmDefaultModelId\n\t\t\t\tconst selectedModel = routerModels?.litellm?.[selectedModelId]\n\t\t\t\tif (selectedModel?.supportsPromptCache) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div className=\"mt-4\">\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={apiConfiguration.litellmUsePromptCache || false}\n\t\t\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\t\t\tsetApiConfigurationField(\"litellmUsePromptCache\", e.target.checked)\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:providers.enablePromptCaching\")}</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground ml-6 mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:providers.enablePromptCachingTitle\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})()}\n\t\t</>\n\t)\n}\n", + "import { useCallback } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { VSCodeButtonLink } from \"@src/components/common/VSCodeButtonLink\"\n\nimport { inputEventTransform } from \"../transforms\"\n\ntype FireworksProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const Fireworks = ({ apiConfiguration, setApiConfigurationField }: FireworksProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.fireworksApiKey || \"\"}\n\t\t\t\ttype=\"password\"\n\t\t\t\tonInput={handleInputChange(\"fireworksApiKey\")}\n\t\t\t\tplaceholder={t(\"settings:placeholders.apiKey\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.fireworksApiKey\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.apiKeyStorageNotice\")}\n\t\t\t</div>\n\t\t\t{!apiConfiguration?.fireworksApiKey && (\n\t\t\t\t<VSCodeButtonLink href=\"https://fireworks.ai/\" appearance=\"secondary\">\n\t\t\t\t\t{t(\"settings:providers.getFireworksApiKey\")}\n\t\t\t\t</VSCodeButtonLink>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import {\n\ttype ProviderName,\n\ttype ModelInfo,\n\tanthropicModels,\n\tbedrockModels,\n\tcerebrasModels,\n\tclaudeCodeModels,\n\tdeepSeekModels,\n\tmoonshotModels,\n\tgeminiModels,\n\tmistralModels,\n\topenAiNativeModels,\n\tvertexModels,\n\txaiModels,\n\tgroqModels,\n\tchutesModels,\n\tsambaNovaModels,\n\tdoubaoModels,\n\tinternationalZAiModels,\n\tfireworksModels,\n} from \"@roo-code/types\"\n\nexport const MODELS_BY_PROVIDER: Partial<Record<ProviderName, Record<string, ModelInfo>>> = {\n\tanthropic: anthropicModels,\n\t\"claude-code\": claudeCodeModels,\n\tbedrock: bedrockModels,\n\tcerebras: cerebrasModels,\n\tdeepseek: deepSeekModels,\n\tdoubao: doubaoModels,\n\tmoonshot: moonshotModels,\n\tgemini: geminiModels,\n\tmistral: mistralModels,\n\t\"openai-native\": openAiNativeModels,\n\tvertex: vertexModels,\n\txai: xaiModels,\n\tgroq: groqModels,\n\tchutes: chutesModels,\n\tsambanova: sambaNovaModels,\n\tzai: internationalZAiModels,\n\tfireworks: fireworksModels,\n}\n\nexport const PROVIDERS = [\n\t{ value: \"openrouter\", label: \"OpenRouter\" },\n\t{ value: \"anthropic\", label: \"Anthropic\" },\n\t{ value: \"claude-code\", label: \"Claude Code\" },\n\t{ value: \"cerebras\", label: \"Cerebras\" },\n\t{ value: \"gemini\", label: \"Google Gemini\" },\n\t{ value: \"doubao\", label: \"Doubao\" },\n\t{ value: \"deepseek\", label: \"DeepSeek\" },\n\t{ value: \"moonshot\", label: \"Moonshot\" },\n\t{ value: \"openai-native\", label: \"OpenAI\" },\n\t{ value: \"openai\", label: \"OpenAI Compatible\" },\n\t{ value: \"vertex\", label: \"GCP Vertex AI\" },\n\t{ value: \"bedrock\", label: \"Amazon Bedrock\" },\n\t{ value: \"glama\", label: \"Glama\" },\n\t{ value: \"vscode-lm\", label: \"VS Code LM API\" },\n\t{ value: \"mistral\", label: \"Mistral\" },\n\t{ value: \"lmstudio\", label: \"LM Studio\" },\n\t{ value: \"ollama\", label: \"Ollama\" },\n\t{ value: \"unbound\", label: \"Unbound\" },\n\t{ value: \"requesty\", label: \"Requesty\" },\n\t{ value: \"human-relay\", label: \"Human Relay\" },\n\t{ value: \"xai\", label: \"xAI (Grok)\" },\n\t{ value: \"groq\", label: \"Groq\" },\n\t{ value: \"huggingface\", label: \"Hugging Face\" },\n\t{ value: \"chutes\", label: \"Chutes AI\" },\n\t{ value: \"litellm\", label: \"LiteLLM\" },\n\t{ value: \"sambanova\", label: \"SambaNova\" },\n\t{ value: \"zai\", label: \"Z AI\" },\n\t{ value: \"fireworks\", label: \"Fireworks AI\" },\n].sort((a, b) => a.label.localeCompare(b.label))\n", + "import React, { useCallback } from \"react\"\nimport { Slider } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\n\ninterface DiffSettingsControlProps {\n\tdiffEnabled?: boolean\n\tfuzzyMatchThreshold?: number\n\tonChange: (field: \"diffEnabled\" | \"fuzzyMatchThreshold\", value: any) => void\n}\n\nexport const DiffSettingsControl: React.FC<DiffSettingsControlProps> = ({\n\tdiffEnabled = true,\n\tfuzzyMatchThreshold = 1.0,\n\tonChange,\n}) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleDiffEnabledChange = useCallback(\n\t\t(e: any) => {\n\t\t\tonChange(\"diffEnabled\", e.target.checked)\n\t\t},\n\t\t[onChange],\n\t)\n\n\tconst handleThresholdChange = useCallback(\n\t\t(newValue: number[]) => {\n\t\t\tonChange(\"fuzzyMatchThreshold\", newValue[0])\n\t\t},\n\t\t[onChange],\n\t)\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<div>\n\t\t\t\t<VSCodeCheckbox checked={diffEnabled} onChange={handleDiffEnabledChange}>\n\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:advanced.diff.label\")}</span>\n\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm\">\n\t\t\t\t\t{t(\"settings:advanced.diff.description\")}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{diffEnabled && (\n\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t{t(\"settings:advanced.diff.matchPrecision.label\")}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\tmin={0.8}\n\t\t\t\t\t\t\t\tmax={1}\n\t\t\t\t\t\t\t\tstep={0.005}\n\t\t\t\t\t\t\t\tvalue={[fuzzyMatchThreshold]}\n\t\t\t\t\t\t\t\tonValueChange={handleThresholdChange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span className=\"w-10\">{Math.round(fuzzyMatchThreshold * 100)}%</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t{t(\"settings:advanced.diff.matchPrecision.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import React, { useCallback } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\n\ninterface TodoListSettingsControlProps {\n\ttodoListEnabled?: boolean\n\tonChange: (field: \"todoListEnabled\", value: any) => void\n}\n\nexport const TodoListSettingsControl: React.FC<TodoListSettingsControlProps> = ({\n\ttodoListEnabled = true,\n\tonChange,\n}) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleTodoListEnabledChange = useCallback(\n\t\t(e: any) => {\n\t\t\tonChange(\"todoListEnabled\", e.target.checked)\n\t\t},\n\t\t[onChange],\n\t)\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<div>\n\t\t\t\t<VSCodeCheckbox checked={todoListEnabled} onChange={handleTodoListEnabledChange}>\n\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:advanced.todoList.label\")}</span>\n\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm\">\n\t\t\t\t\t{t(\"settings:advanced.todoList.description\")}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\nimport { useEffect, useState } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { useDebounce } from \"react-use\"\n\nimport { Slider } from \"@/components/ui\"\n\ninterface TemperatureControlProps {\n\tvalue: number | undefined | null\n\tonChange: (value: number | undefined | null) => void\n\tmaxValue?: number // Some providers like OpenAI use 0-2 range.\n}\n\nexport const TemperatureControl = ({ value, onChange, maxValue = 1 }: TemperatureControlProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [isCustomTemperature, setIsCustomTemperature] = useState(value !== undefined)\n\tconst [inputValue, setInputValue] = useState(value)\n\n\tuseDebounce(() => onChange(inputValue), 50, [onChange, inputValue])\n\n\t// Sync internal state with prop changes when switching profiles.\n\tuseEffect(() => {\n\t\tconst hasCustomTemperature = value !== undefined && value !== null\n\t\tsetIsCustomTemperature(hasCustomTemperature)\n\t\tsetInputValue(value)\n\t}, [value])\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\tchecked={isCustomTemperature}\n\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\tconst isChecked = e.target.checked\n\t\t\t\t\t\tsetIsCustomTemperature(isChecked)\n\n\t\t\t\t\t\tif (!isChecked) {\n\t\t\t\t\t\t\tsetInputValue(null) // Unset the temperature, note that undefined is unserializable.\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetInputValue(value ?? 0) // Use the value from apiConfiguration, if set.\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:temperature.useCustom\")}</label>\n\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t{t(\"settings:temperature.description\")}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{isCustomTemperature && (\n\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\t\tmax={maxValue}\n\t\t\t\t\t\t\t\tstep={0.01}\n\t\t\t\t\t\t\t\tvalue={[inputValue ?? 0]}\n\t\t\t\t\t\t\t\tonValueChange={([value]) => setInputValue(value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span className=\"w-10\">{inputValue}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t{t(\"settings:temperature.rangeDescription\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import React, { useCallback } from \"react\"\nimport { Slider } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\ninterface RateLimitSecondsControlProps {\n\tvalue: number\n\tonChange: (value: number) => void\n}\n\nexport const RateLimitSecondsControl: React.FC<RateLimitSecondsControlProps> = ({ value, onChange }) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleValueChange = useCallback(\n\t\t(newValue: number) => {\n\t\t\tonChange(newValue)\n\t\t},\n\t\t[onChange],\n\t)\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.rateLimitSeconds.label\")}</label>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Slider\n\t\t\t\t\tvalue={[value]}\n\t\t\t\t\tmin={0}\n\t\t\t\t\tmax={60}\n\t\t\t\t\tstep={1}\n\t\t\t\t\tonValueChange={(newValue) => handleValueChange(newValue[0])}\n\t\t\t\t/>\n\t\t\t\t<span className=\"w-10\">{value}s</span>\n\t\t\t</div>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t{t(\"settings:providers.rateLimitSeconds.description\", { value })}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import React, { useCallback } from \"react\"\nimport { Slider } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { DEFAULT_CONSECUTIVE_MISTAKE_LIMIT } from \"@roo-code/types\"\n\ninterface ConsecutiveMistakeLimitControlProps {\n\tvalue: number\n\tonChange: (value: number) => void\n}\n\nexport const ConsecutiveMistakeLimitControl: React.FC<ConsecutiveMistakeLimitControlProps> = ({ value, onChange }) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleValueChange = useCallback(\n\t\t(newValue: number) => {\n\t\t\t// Ensure value is not negative\n\t\t\tconst validValue = Math.max(0, newValue)\n\t\t\tonChange(validValue)\n\t\t},\n\t\t[onChange],\n\t)\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.consecutiveMistakeLimit.label\")}</label>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<Slider\n\t\t\t\t\tvalue={[value ?? DEFAULT_CONSECUTIVE_MISTAKE_LIMIT]}\n\t\t\t\t\tmin={0}\n\t\t\t\t\tmax={10}\n\t\t\t\t\tstep={1}\n\t\t\t\t\tonValueChange={(newValue) => handleValueChange(newValue[0])}\n\t\t\t\t/>\n\t\t\t\t<span className=\"w-10\">{Math.max(0, value ?? DEFAULT_CONSECUTIVE_MISTAKE_LIMIT)}</span>\n\t\t\t</div>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t{value === 0\n\t\t\t\t\t? t(\"settings:providers.consecutiveMistakeLimit.unlimitedDescription\")\n\t\t\t\t\t: t(\"settings:providers.consecutiveMistakeLimit.description\", {\n\t\t\t\t\t\t\tvalue: value ?? DEFAULT_CONSECUTIVE_MISTAKE_LIMIT,\n\t\t\t\t\t\t})}\n\t\t\t</div>\n\t\t\t{value === 0 && (\n\t\t\t\t<div className=\"text-sm text-vscode-errorForeground mt-1\">\n\t\t\t\t\t{t(\"settings:providers.consecutiveMistakeLimit.warning\")}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import { useMemo } from \"react\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { validateBedrockArn } from \"@src/utils/validate\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\n\ntype BedrockCustomArnProps = {\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: (field: keyof ProviderSettings, value: ProviderSettings[keyof ProviderSettings]) => void\n}\n\nexport const BedrockCustomArn = ({ apiConfiguration, setApiConfigurationField }: BedrockCustomArnProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst validation = useMemo(() => {\n\t\tconst { awsCustomArn, awsRegion } = apiConfiguration\n\t\treturn awsCustomArn ? validateBedrockArn(awsCustomArn, awsRegion) : { isValid: true, errorMessage: undefined }\n\t}, [apiConfiguration])\n\n\treturn (\n\t\t<>\n\t\t\t<VSCodeTextField\n\t\t\t\tvalue={apiConfiguration?.awsCustomArn || \"\"}\n\t\t\t\tonInput={(e) => setApiConfigurationField(\"awsCustomArn\", (e.target as HTMLInputElement).value)}\n\t\t\t\tplaceholder={t(\"settings:placeholders.customArn\")}\n\t\t\t\tclassName=\"w-full\">\n\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:labels.customArn\")}</label>\n\t\t\t</VSCodeTextField>\n\t\t\t<div className=\"text-sm text-vscode-descriptionForeground -mt-2\">\n\t\t\t\t{t(\"settings:providers.awsCustomArnUse\")}\n\t\t\t\t<ul className=\"list-disc pl-5 mt-1\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\tarn:aws:bedrock:eu-west-1:123456789012:inference-profile/eu.anthropic.claude-3-7-sonnet-20250219-v1:0\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>arn:aws:bedrock:us-west-2:123456789012:provisioned-model/my-provisioned-model</li>\n\t\t\t\t\t<li>arn:aws:bedrock:us-east-1:123456789012:default-prompt-router/anthropic.claude:1</li>\n\t\t\t\t</ul>\n\t\t\t\t{t(\"settings:providers.awsCustomArnDesc\")}\n\t\t\t</div>\n\t\t\t{!validation.isValid ? (\n\t\t\t\t<div className=\"text-sm text-vscode-errorForeground mt-2\">\n\t\t\t\t\t{validation.errorMessage || t(\"settings:providers.invalidArnFormat\")}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tvalidation.errorMessage && (\n\t\t\t\t\t<div className=\"text-sm text-vscode-errorForeground mt-2\">{validation.errorMessage}</div>\n\t\t\t\t)\n\t\t\t)}\n\t\t</>\n\t)\n}\n", + "import React, { memo, useCallback, useEffect, useMemo, useState } from \"react\"\nimport { convertHeadersToObject } from \"./utils/headers\"\nimport { useDebounce } from \"react-use\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { ExternalLinkIcon } from \"@radix-ui/react-icons\"\n\nimport {\n\ttype ProviderName,\n\ttype ProviderSettings,\n\tDEFAULT_CONSECUTIVE_MISTAKE_LIMIT,\n\topenRouterDefaultModelId,\n\trequestyDefaultModelId,\n\tglamaDefaultModelId,\n\tunboundDefaultModelId,\n\tlitellmDefaultModelId,\n\topenAiNativeDefaultModelId,\n\tanthropicDefaultModelId,\n\tdoubaoDefaultModelId,\n\tclaudeCodeDefaultModelId,\n\tgeminiDefaultModelId,\n\tdeepSeekDefaultModelId,\n\tmoonshotDefaultModelId,\n\tmistralDefaultModelId,\n\txaiDefaultModelId,\n\tgroqDefaultModelId,\n\tcerebrasDefaultModelId,\n\tchutesDefaultModelId,\n\tbedrockDefaultModelId,\n\tvertexDefaultModelId,\n\tsambaNovaDefaultModelId,\n\tinternationalZAiDefaultModelId,\n\tmainlandZAiDefaultModelId,\n\tfireworksDefaultModelId,\n} from \"@roo-code/types\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { validateApiConfigurationExcludingModelErrors, getModelValidationError } from \"@src/utils/validate\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useRouterModels } from \"@src/components/ui/hooks/useRouterModels\"\nimport { useSelectedModel } from \"@src/components/ui/hooks/useSelectedModel\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport {\n\tuseOpenRouterModelProviders,\n\tOPENROUTER_DEFAULT_PROVIDER_NAME,\n} from \"@src/components/ui/hooks/useOpenRouterModelProviders\"\nimport { filterProviders, filterModels } from \"./utils/organizationFilters\"\nimport {\n\tSelect,\n\tSelectTrigger,\n\tSelectValue,\n\tSelectContent,\n\tSelectItem,\n\tSearchableSelect,\n\tCollapsible,\n\tCollapsibleTrigger,\n\tCollapsibleContent,\n} from \"@src/components/ui\"\n\nimport {\n\tAnthropic,\n\tBedrock,\n\tCerebras,\n\tChutes,\n\tClaudeCode,\n\tDeepSeek,\n\tDoubao,\n\tGemini,\n\tGlama,\n\tGroq,\n\tHuggingFace,\n\tLMStudio,\n\tLiteLLM,\n\tMistral,\n\tMoonshot,\n\tOllama,\n\tOpenAI,\n\tOpenAICompatible,\n\tOpenRouter,\n\tRequesty,\n\tSambaNova,\n\tUnbound,\n\tVertex,\n\tVSCodeLM,\n\tXAI,\n\tZAi,\n\tFireworks,\n} from \"./providers\"\n\nimport { MODELS_BY_PROVIDER, PROVIDERS } from \"./constants\"\nimport { inputEventTransform, noTransform } from \"./transforms\"\nimport { ModelInfoView } from \"./ModelInfoView\"\nimport { ApiErrorMessage } from \"./ApiErrorMessage\"\nimport { ThinkingBudget } from \"./ThinkingBudget\"\nimport { DiffSettingsControl } from \"./DiffSettingsControl\"\nimport { TodoListSettingsControl } from \"./TodoListSettingsControl\"\nimport { TemperatureControl } from \"./TemperatureControl\"\nimport { RateLimitSecondsControl } from \"./RateLimitSecondsControl\"\nimport { ConsecutiveMistakeLimitControl } from \"./ConsecutiveMistakeLimitControl\"\nimport { BedrockCustomArn } from \"./providers/BedrockCustomArn\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\n\nexport interface ApiOptionsProps {\n\turiScheme: string | undefined\n\tapiConfiguration: ProviderSettings\n\tsetApiConfigurationField: <K extends keyof ProviderSettings>(field: K, value: ProviderSettings[K]) => void\n\tfromWelcomeView?: boolean\n\terrorMessage: string | undefined\n\tsetErrorMessage: React.Dispatch<React.SetStateAction<string | undefined>>\n}\n\nconst ApiOptions = ({\n\turiScheme,\n\tapiConfiguration,\n\tsetApiConfigurationField,\n\tfromWelcomeView,\n\terrorMessage,\n\tsetErrorMessage,\n}: ApiOptionsProps) => {\n\tconst { t } = useAppTranslation()\n\tconst { organizationAllowList } = useExtensionState()\n\n\tconst [customHeaders, setCustomHeaders] = useState<[string, string][]>(() => {\n\t\tconst headers = apiConfiguration?.openAiHeaders || {}\n\t\treturn Object.entries(headers)\n\t})\n\n\tuseEffect(() => {\n\t\tconst propHeaders = apiConfiguration?.openAiHeaders || {}\n\n\t\tif (JSON.stringify(customHeaders) !== JSON.stringify(Object.entries(propHeaders))) {\n\t\t\tsetCustomHeaders(Object.entries(propHeaders))\n\t\t}\n\t}, [apiConfiguration?.openAiHeaders, customHeaders])\n\n\t// Helper to convert array of tuples to object (filtering out empty keys).\n\n\t// Debounced effect to update the main configuration when local\n\t// customHeaders state stabilizes.\n\tuseDebounce(\n\t\t() => {\n\t\t\tconst currentConfigHeaders = apiConfiguration?.openAiHeaders || {}\n\t\t\tconst newHeadersObject = convertHeadersToObject(customHeaders)\n\n\t\t\t// Only update if the processed object is different from the current config.\n\t\t\tif (JSON.stringify(currentConfigHeaders) !== JSON.stringify(newHeadersObject)) {\n\t\t\t\tsetApiConfigurationField(\"openAiHeaders\", newHeadersObject)\n\t\t\t}\n\t\t},\n\t\t300,\n\t\t[customHeaders, apiConfiguration?.openAiHeaders, setApiConfigurationField],\n\t)\n\n\tconst [isDescriptionExpanded, setIsDescriptionExpanded] = useState(false)\n\tconst [isAdvancedSettingsOpen, setIsAdvancedSettingsOpen] = useState(false)\n\n\tconst handleInputChange = useCallback(\n\t\t<K extends keyof ProviderSettings, E>(\n\t\t\tfield: K,\n\t\t\ttransform: (event: E) => ProviderSettings[K] = inputEventTransform,\n\t\t) =>\n\t\t\t(event: E | Event) => {\n\t\t\t\tsetApiConfigurationField(field, transform(event as E))\n\t\t\t},\n\t\t[setApiConfigurationField],\n\t)\n\n\tconst {\n\t\tprovider: selectedProvider,\n\t\tid: selectedModelId,\n\t\tinfo: selectedModelInfo,\n\t} = useSelectedModel(apiConfiguration)\n\n\tconst { data: routerModels, refetch: refetchRouterModels } = useRouterModels()\n\n\tconst { data: openRouterModelProviders } = useOpenRouterModelProviders(apiConfiguration?.openRouterModelId, {\n\t\tenabled:\n\t\t\t!!apiConfiguration?.openRouterModelId &&\n\t\t\trouterModels?.openrouter &&\n\t\t\tObject.keys(routerModels.openrouter).length > 1 &&\n\t\t\tapiConfiguration.openRouterModelId in routerModels.openrouter,\n\t})\n\n\t// Update `apiModelId` whenever `selectedModelId` changes.\n\tuseEffect(() => {\n\t\tif (selectedModelId && apiConfiguration.apiModelId !== selectedModelId) {\n\t\t\tsetApiConfigurationField(\"apiModelId\", selectedModelId)\n\t\t}\n\t}, [selectedModelId, setApiConfigurationField, apiConfiguration.apiModelId])\n\n\t// Debounced refresh model updates, only executed 250ms after the user\n\t// stops typing.\n\tuseDebounce(\n\t\t() => {\n\t\t\tif (selectedProvider === \"openai\") {\n\t\t\t\t// Use our custom headers state to build the headers object.\n\t\t\t\tconst headerObject = convertHeadersToObject(customHeaders)\n\n\t\t\t\tvscode.postMessage({\n\t\t\t\t\ttype: \"requestOpenAiModels\",\n\t\t\t\t\tvalues: {\n\t\t\t\t\t\tbaseUrl: apiConfiguration?.openAiBaseUrl,\n\t\t\t\t\t\tapiKey: apiConfiguration?.openAiApiKey,\n\t\t\t\t\t\tcustomHeaders: {}, // Reserved for any additional headers\n\t\t\t\t\t\topenAiHeaders: headerObject,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} else if (selectedProvider === \"ollama\") {\n\t\t\t\tvscode.postMessage({ type: \"requestOllamaModels\" })\n\t\t\t} else if (selectedProvider === \"lmstudio\") {\n\t\t\t\tvscode.postMessage({ type: \"requestLmStudioModels\" })\n\t\t\t} else if (selectedProvider === \"vscode-lm\") {\n\t\t\t\tvscode.postMessage({ type: \"requestVsCodeLmModels\" })\n\t\t\t} else if (selectedProvider === \"litellm\") {\n\t\t\t\tvscode.postMessage({ type: \"requestRouterModels\" })\n\t\t\t}\n\t\t},\n\t\t250,\n\t\t[\n\t\t\tselectedProvider,\n\t\t\tapiConfiguration?.requestyApiKey,\n\t\t\tapiConfiguration?.openAiBaseUrl,\n\t\t\tapiConfiguration?.openAiApiKey,\n\t\t\tapiConfiguration?.ollamaBaseUrl,\n\t\t\tapiConfiguration?.lmStudioBaseUrl,\n\t\t\tapiConfiguration?.litellmBaseUrl,\n\t\t\tapiConfiguration?.litellmApiKey,\n\t\t\tcustomHeaders,\n\t\t],\n\t)\n\n\tuseEffect(() => {\n\t\tconst apiValidationResult = validateApiConfigurationExcludingModelErrors(\n\t\t\tapiConfiguration,\n\t\t\trouterModels,\n\t\t\torganizationAllowList,\n\t\t)\n\t\tsetErrorMessage(apiValidationResult)\n\t}, [apiConfiguration, routerModels, organizationAllowList, setErrorMessage])\n\n\tconst selectedProviderModels = useMemo(() => {\n\t\tconst models = MODELS_BY_PROVIDER[selectedProvider]\n\t\tif (!models) return []\n\n\t\tconst filteredModels = filterModels(models, selectedProvider, organizationAllowList)\n\n\t\tconst modelOptions = filteredModels\n\t\t\t? Object.keys(filteredModels).map((modelId) => ({\n\t\t\t\t\tvalue: modelId,\n\t\t\t\t\tlabel: modelId,\n\t\t\t\t}))\n\t\t\t: []\n\n\t\treturn modelOptions\n\t}, [selectedProvider, organizationAllowList])\n\n\tconst onProviderChange = useCallback(\n\t\t(value: ProviderName) => {\n\t\t\tsetApiConfigurationField(\"apiProvider\", value)\n\n\t\t\t// It would be much easier to have a single attribute that stores\n\t\t\t// the modelId, but we have a separate attribute for each of\n\t\t\t// OpenRouter, Glama, Unbound, and Requesty.\n\t\t\t// If you switch to one of these providers and the corresponding\n\t\t\t// modelId is not set then you immediately end up in an error state.\n\t\t\t// To address that we set the modelId to the default value for th\n\t\t\t// provider if it's not already set.\n\t\t\tconst validateAndResetModel = (\n\t\t\t\tmodelId: string | undefined,\n\t\t\t\tfield: keyof ProviderSettings,\n\t\t\t\tdefaultValue?: string,\n\t\t\t) => {\n\t\t\t\t// in case we haven't set a default value for a provider\n\t\t\t\tif (!defaultValue) return\n\n\t\t\t\t// only set default if no model is set, but don't reset invalid models\n\t\t\t\t// let users see and decide what to do with invalid model selections\n\t\t\t\tconst shouldSetDefault = !modelId\n\n\t\t\t\tif (shouldSetDefault) {\n\t\t\t\t\tsetApiConfigurationField(field, defaultValue)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Define a mapping object that associates each provider with its model configuration\n\t\t\tconst PROVIDER_MODEL_CONFIG: Partial<\n\t\t\t\tRecord<\n\t\t\t\t\tProviderName,\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: keyof ProviderSettings\n\t\t\t\t\t\tdefault?: string\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t> = {\n\t\t\t\topenrouter: { field: \"openRouterModelId\", default: openRouterDefaultModelId },\n\t\t\t\tglama: { field: \"glamaModelId\", default: glamaDefaultModelId },\n\t\t\t\tunbound: { field: \"unboundModelId\", default: unboundDefaultModelId },\n\t\t\t\trequesty: { field: \"requestyModelId\", default: requestyDefaultModelId },\n\t\t\t\tlitellm: { field: \"litellmModelId\", default: litellmDefaultModelId },\n\t\t\t\tanthropic: { field: \"apiModelId\", default: anthropicDefaultModelId },\n\t\t\t\tcerebras: { field: \"apiModelId\", default: cerebrasDefaultModelId },\n\t\t\t\t\"claude-code\": { field: \"apiModelId\", default: claudeCodeDefaultModelId },\n\t\t\t\t\"openai-native\": { field: \"apiModelId\", default: openAiNativeDefaultModelId },\n\t\t\t\tgemini: { field: \"apiModelId\", default: geminiDefaultModelId },\n\t\t\t\tdeepseek: { field: \"apiModelId\", default: deepSeekDefaultModelId },\n\t\t\t\tdoubao: { field: \"apiModelId\", default: doubaoDefaultModelId },\n\t\t\t\tmoonshot: { field: \"apiModelId\", default: moonshotDefaultModelId },\n\t\t\t\tmistral: { field: \"apiModelId\", default: mistralDefaultModelId },\n\t\t\t\txai: { field: \"apiModelId\", default: xaiDefaultModelId },\n\t\t\t\tgroq: { field: \"apiModelId\", default: groqDefaultModelId },\n\t\t\t\tchutes: { field: \"apiModelId\", default: chutesDefaultModelId },\n\t\t\t\tbedrock: { field: \"apiModelId\", default: bedrockDefaultModelId },\n\t\t\t\tvertex: { field: \"apiModelId\", default: vertexDefaultModelId },\n\t\t\t\tsambanova: { field: \"apiModelId\", default: sambaNovaDefaultModelId },\n\t\t\t\tzai: {\n\t\t\t\t\tfield: \"apiModelId\",\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tapiConfiguration.zaiApiLine === \"china\"\n\t\t\t\t\t\t\t? mainlandZAiDefaultModelId\n\t\t\t\t\t\t\t: internationalZAiDefaultModelId,\n\t\t\t\t},\n\t\t\t\tfireworks: { field: \"apiModelId\", default: fireworksDefaultModelId },\n\t\t\t\topenai: { field: \"openAiModelId\" },\n\t\t\t\tollama: { field: \"ollamaModelId\" },\n\t\t\t\tlmstudio: { field: \"lmStudioModelId\" },\n\t\t\t}\n\n\t\t\tconst config = PROVIDER_MODEL_CONFIG[value]\n\t\t\tif (config) {\n\t\t\t\tvalidateAndResetModel(\n\t\t\t\t\tapiConfiguration[config.field] as string | undefined,\n\t\t\t\t\tconfig.field,\n\t\t\t\t\tconfig.default,\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\t\t[setApiConfigurationField, apiConfiguration],\n\t)\n\n\tconst modelValidationError = useMemo(() => {\n\t\treturn getModelValidationError(apiConfiguration, routerModels, organizationAllowList)\n\t}, [apiConfiguration, routerModels, organizationAllowList])\n\n\tconst docs = useMemo(() => {\n\t\tconst provider = PROVIDERS.find(({ value }) => value === selectedProvider)\n\t\tconst name = provider?.label\n\n\t\tif (!name) {\n\t\t\treturn undefined\n\t\t}\n\n\t\t// Get the URL slug - use custom mapping if available, otherwise use the provider key.\n\t\tconst slugs: Record<string, string> = {\n\t\t\t\"openai-native\": \"openai\",\n\t\t\topenai: \"openai-compatible\",\n\t\t}\n\n\t\tconst slug = slugs[selectedProvider] || selectedProvider\n\t\treturn {\n\t\t\turl: buildDocLink(`providers/${slug}`, \"provider_docs\"),\n\t\t\tname,\n\t\t}\n\t}, [selectedProvider])\n\n\t// Convert providers to SearchableSelect options\n\tconst providerOptions = useMemo(() => {\n\t\treturn filterProviders(PROVIDERS, organizationAllowList).map(({ value, label }) => ({\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t}))\n\t}, [organizationAllowList])\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-3\">\n\t\t\t<div className=\"flex flex-col gap-1 relative\">\n\t\t\t\t<div className=\"flex justify-between items-center\">\n\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.apiProvider\")}</label>\n\t\t\t\t\t{docs && (\n\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t<VSCodeLink href={docs.url} className=\"hover:text-vscode-foreground\" target=\"_blank\">\n\t\t\t\t\t\t\t\t{t(\"settings:providers.providerDocumentation\", { provider: docs.name })}\n\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<SearchableSelect\n\t\t\t\t\tvalue={selectedProvider}\n\t\t\t\t\tonValueChange={(value) => onProviderChange(value as ProviderName)}\n\t\t\t\t\toptions={providerOptions}\n\t\t\t\t\tplaceholder={t(\"settings:common.select\")}\n\t\t\t\t\tsearchPlaceholder={t(\"settings:providers.searchProviderPlaceholder\")}\n\t\t\t\t\temptyMessage={t(\"settings:providers.noProviderMatchFound\")}\n\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\tdata-testid=\"provider-select\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{errorMessage && <ApiErrorMessage errorMessage={errorMessage} />}\n\n\t\t\t{selectedProvider === \"openrouter\" && (\n\t\t\t\t<OpenRouter\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\trouterModels={routerModels}\n\t\t\t\t\tselectedModelId={selectedModelId}\n\t\t\t\t\turiScheme={uriScheme}\n\t\t\t\t\tfromWelcomeView={fromWelcomeView}\n\t\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\t\tmodelValidationError={modelValidationError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"requesty\" && (\n\t\t\t\t<Requesty\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\trouterModels={routerModels}\n\t\t\t\t\trefetchRouterModels={refetchRouterModels}\n\t\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\t\tmodelValidationError={modelValidationError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"glama\" && (\n\t\t\t\t<Glama\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\trouterModels={routerModels}\n\t\t\t\t\turiScheme={uriScheme}\n\t\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\t\tmodelValidationError={modelValidationError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"unbound\" && (\n\t\t\t\t<Unbound\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\trouterModels={routerModels}\n\t\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\t\tmodelValidationError={modelValidationError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"anthropic\" && (\n\t\t\t\t<Anthropic apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"claude-code\" && (\n\t\t\t\t<ClaudeCode apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"openai-native\" && (\n\t\t\t\t<OpenAI apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"mistral\" && (\n\t\t\t\t<Mistral apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"bedrock\" && (\n\t\t\t\t<Bedrock\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\tselectedModelInfo={selectedModelInfo}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"vertex\" && (\n\t\t\t\t<Vertex apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"gemini\" && (\n\t\t\t\t<Gemini\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\tfromWelcomeView={fromWelcomeView}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"openai\" && (\n\t\t\t\t<OpenAICompatible\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\t\tmodelValidationError={modelValidationError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"lmstudio\" && (\n\t\t\t\t<LMStudio apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"deepseek\" && (\n\t\t\t\t<DeepSeek apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"doubao\" && (\n\t\t\t\t<Doubao apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"moonshot\" && (\n\t\t\t\t<Moonshot apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"vscode-lm\" && (\n\t\t\t\t<VSCodeLM apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"ollama\" && (\n\t\t\t\t<Ollama apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"xai\" && (\n\t\t\t\t<XAI apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"groq\" && (\n\t\t\t\t<Groq apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"huggingface\" && (\n\t\t\t\t<HuggingFace apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"cerebras\" && (\n\t\t\t\t<Cerebras apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"chutes\" && (\n\t\t\t\t<Chutes apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"litellm\" && (\n\t\t\t\t<LiteLLM\n\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\torganizationAllowList={organizationAllowList}\n\t\t\t\t\tmodelValidationError={modelValidationError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"sambanova\" && (\n\t\t\t\t<SambaNova apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"zai\" && (\n\t\t\t\t<ZAi apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"human-relay\" && (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t{t(\"settings:providers.humanRelay.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t{t(\"settings:providers.humanRelay.instructions\")}\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t{selectedProvider === \"fireworks\" && (\n\t\t\t\t<Fireworks apiConfiguration={apiConfiguration} setApiConfigurationField={setApiConfigurationField} />\n\t\t\t)}\n\n\t\t\t{selectedProviderModels.length > 0 && (\n\t\t\t\t<>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:providers.model\")}</label>\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tvalue={selectedModelId === \"custom-arn\" ? \"custom-arn\" : selectedModelId}\n\t\t\t\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\t\t\t\tsetApiConfigurationField(\"apiModelId\", value)\n\n\t\t\t\t\t\t\t\t// Clear custom ARN if not using custom ARN option.\n\t\t\t\t\t\t\t\tif (value !== \"custom-arn\" && selectedProvider === \"bedrock\") {\n\t\t\t\t\t\t\t\t\tsetApiConfigurationField(\"awsCustomArn\", \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t{selectedProviderModels.map((option) => (\n\t\t\t\t\t\t\t\t\t<SelectItem key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t{selectedProvider === \"bedrock\" && (\n\t\t\t\t\t\t\t\t\t<SelectItem value=\"custom-arn\">{t(\"settings:labels.useCustomArn\")}</SelectItem>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{selectedProvider === \"bedrock\" && selectedModelId === \"custom-arn\" && (\n\t\t\t\t\t\t<BedrockCustomArn\n\t\t\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<ModelInfoView\n\t\t\t\t\t\tapiProvider={selectedProvider}\n\t\t\t\t\t\tselectedModelId={selectedModelId}\n\t\t\t\t\t\tmodelInfo={selectedModelInfo}\n\t\t\t\t\t\tisDescriptionExpanded={isDescriptionExpanded}\n\t\t\t\t\t\tsetIsDescriptionExpanded={setIsDescriptionExpanded}\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t)}\n\n\t\t\t<ThinkingBudget\n\t\t\t\tkey={`${selectedProvider}-${selectedModelId}`}\n\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\tmodelInfo={selectedModelInfo}\n\t\t\t/>\n\n\t\t\t{!fromWelcomeView && (\n\t\t\t\t<Collapsible open={isAdvancedSettingsOpen} onOpenChange={setIsAdvancedSettingsOpen}>\n\t\t\t\t\t<CollapsibleTrigger className=\"flex items-center gap-1 w-full cursor-pointer hover:opacity-80 mb-2\">\n\t\t\t\t\t\t<span className={`codicon codicon-chevron-${isAdvancedSettingsOpen ? \"down\" : \"right\"}`}></span>\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:advancedSettings.title\")}</span>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t<CollapsibleContent className=\"space-y-3\">\n\t\t\t\t\t\t<TodoListSettingsControl\n\t\t\t\t\t\t\ttodoListEnabled={apiConfiguration.todoListEnabled}\n\t\t\t\t\t\t\tonChange={(field, value) => setApiConfigurationField(field, value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<DiffSettingsControl\n\t\t\t\t\t\t\tdiffEnabled={apiConfiguration.diffEnabled}\n\t\t\t\t\t\t\tfuzzyMatchThreshold={apiConfiguration.fuzzyMatchThreshold}\n\t\t\t\t\t\t\tonChange={(field, value) => setApiConfigurationField(field, value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TemperatureControl\n\t\t\t\t\t\t\tvalue={apiConfiguration.modelTemperature}\n\t\t\t\t\t\t\tonChange={handleInputChange(\"modelTemperature\", noTransform)}\n\t\t\t\t\t\t\tmaxValue={2}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RateLimitSecondsControl\n\t\t\t\t\t\t\tvalue={apiConfiguration.rateLimitSeconds || 0}\n\t\t\t\t\t\t\tonChange={(value) => setApiConfigurationField(\"rateLimitSeconds\", value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ConsecutiveMistakeLimitControl\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tapiConfiguration.consecutiveMistakeLimit !== undefined\n\t\t\t\t\t\t\t\t\t? apiConfiguration.consecutiveMistakeLimit\n\t\t\t\t\t\t\t\t\t: DEFAULT_CONSECUTIVE_MISTAKE_LIMIT\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={(value) => setApiConfigurationField(\"consecutiveMistakeLimit\", value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{selectedProvider === \"openrouter\" &&\n\t\t\t\t\t\t\topenRouterModelProviders &&\n\t\t\t\t\t\t\tObject.keys(openRouterModelProviders).length > 0 && (\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:providers.openRouter.providerRouting.title\")}\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<a href={`https://openrouter.ai/${selectedModelId}/providers`}>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLinkIcon className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\tapiConfiguration?.openRouterSpecificProvider ||\n\t\t\t\t\t\t\t\t\t\t\tOPENROUTER_DEFAULT_PROVIDER_NAME\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonValueChange={(value) =>\n\t\t\t\t\t\t\t\t\t\t\tsetApiConfigurationField(\"openRouterSpecificProvider\", value)\n\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t\t\t<SelectItem value={OPENROUTER_DEFAULT_PROVIDER_NAME}>\n\t\t\t\t\t\t\t\t\t\t\t\t{OPENROUTER_DEFAULT_PROVIDER_NAME}\n\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t{Object.entries(openRouterModelProviders).map(([value, { label }]) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={value} value={value}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:providers.openRouter.providerRouting.description\")}{\" \"}\n\t\t\t\t\t\t\t\t\t\t<a href=\"https://openrouter.ai/docs/features/provider-routing\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:providers.openRouter.providerRouting.learnMore\")}.\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</CollapsibleContent>\n\t\t\t\t</Collapsible>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\nexport default memo(ApiOptions)\n", + "import { HTMLAttributes } from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype SectionProps = HTMLAttributes<HTMLDivElement>\n\nexport const Section = ({ className, ...props }: SectionProps) => (\n\t<div className={cn(\"flex flex-col gap-3 p-5\", className)} {...props} />\n)\n", + "import { cn } from \"@/lib/utils\"\nimport { VSCodeTextField } from \"@vscode/webview-ui-toolkit/react\"\nimport { forwardRef, useCallback, useRef, ReactNode, ComponentRef, ComponentProps } from \"react\"\n\n// Type for web components that have shadow DOM\ninterface WebComponentWithShadowRoot extends HTMLElement {\n\tshadowRoot: ShadowRoot | null\n}\n\nexport interface VSCodeTextFieldWithNodesProps extends ComponentProps<typeof VSCodeTextField> {\n\tleftNodes?: ReactNode[]\n\trightNodes?: ReactNode[]\n}\n\nfunction VSCodeTextFieldWithNodesInner(\n\tprops: VSCodeTextFieldWithNodesProps,\n\tforwardedRef: React.Ref<HTMLInputElement>,\n) {\n\tconst { className, style, \"data-testid\": dataTestId, leftNodes, rightNodes, ...restProps } = props\n\n\tconst inputRef = useRef<HTMLInputElement | null>(null)\n\n\t// Callback ref to get access to the underlying input element.\n\t// VSCodeTextField doesn't expose this directly so we have to query for it!\n\tconst handleVSCodeFieldRef = useCallback(\n\t\t(element: ComponentRef<typeof VSCodeTextField>) => {\n\t\t\tif (!element) return\n\n\t\t\tconst webComponent = element as unknown as WebComponentWithShadowRoot\n\t\t\tconst inputElement =\n\t\t\t\twebComponent.shadowRoot?.querySelector?.(\"input\") || webComponent.querySelector?.(\"input\")\n\t\t\tif (inputElement && inputElement instanceof HTMLInputElement) {\n\t\t\t\tinputRef.current = inputElement\n\t\t\t\tif (typeof forwardedRef === \"function\") {\n\t\t\t\t\tforwardedRef?.(inputElement)\n\t\t\t\t} else if (forwardedRef) {\n\t\t\t\t\t;(forwardedRef as React.MutableRefObject<HTMLInputElement | null>).current = inputElement\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[forwardedRef],\n\t)\n\n\tconst focusInput = useCallback(async () => {\n\t\tif (inputRef.current && document.activeElement !== inputRef.current) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tinputRef.current?.focus()\n\t\t\t})\n\t\t}\n\t}, [])\n\n\tconst hasLeftNodes = leftNodes && leftNodes.filter(Boolean).length > 0\n\tconst hasRightNodes = rightNodes && rightNodes.filter(Boolean).length > 0\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t`group`,\n\t\t\t\t`relative flex items-center cursor-text`,\n\t\t\t\t`bg-[var(--input-background)] text-[var(--input-foreground)]`,\n\t\t\t\t`rounded-[calc(var(--corner-radius-round)*1px)]`,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tonMouseDown={focusInput}>\n\t\t\t{hasLeftNodes && (\n\t\t\t\t<div className=\"absolute left-2 z-10 flex items-center gap-1 pointer-events-none\">{leftNodes}</div>\n\t\t\t)}\n\n\t\t\t<VSCodeTextField\n\t\t\t\tdata-testid={dataTestId}\n\t\t\t\tref={handleVSCodeFieldRef}\n\t\t\t\tstyle={{\n\t\t\t\t\tflex: 1,\n\t\t\t\t\tpaddingLeft: hasLeftNodes ? \"24px\" : undefined,\n\t\t\t\t\tpaddingRight: hasRightNodes ? \"24px\" : undefined,\n\t\t\t\t}}\n\t\t\t\tclassName=\"[--border-width:0]\"\n\t\t\t\t{...restProps}\n\t\t\t/>\n\n\t\t\t{hasRightNodes && (\n\t\t\t\t<div className=\"absolute right-2 z-10 flex items-center gap-1 pointer-events-none\">{rightNodes}</div>\n\t\t\t)}\n\n\t\t\t{/* Absolutely positioned focus border overlay */}\n\t\t\t<div className=\"absolute top-0 left-0 size-full border border-vscode-input-border group-focus-within:border-[var(--focus-border)] rounded\"></div>\n\t\t</div>\n\t)\n}\n\nexport const DecoratedVSCodeTextField = forwardRef(VSCodeTextFieldWithNodesInner)\n", + "import { useCallback, forwardRef, useState, useEffect } from \"react\"\nimport { DecoratedVSCodeTextField, VSCodeTextFieldWithNodesProps } from \"./DecoratedVSCodeTextField\"\n\nexport interface InputFormatter<T> {\n\t/**\n\t * Parse the raw input string into the typed value\n\t */\n\tparse: (input: string) => T | undefined\n\n\t/**\n\t * Format the typed value for display in the input field\n\t */\n\tformat: (value: T | undefined) => string\n\n\t/**\n\t * Filter/transform the input as the user types (optional)\n\t */\n\tfilter?: (input: string) => string\n}\n\ninterface FormattedTextFieldProps<T> extends Omit<VSCodeTextFieldWithNodesProps, \"value\" | \"onInput\"> {\n\tvalue: T | undefined\n\tonValueChange: (value: T | undefined) => void\n\tformatter: InputFormatter<T>\n}\n\nfunction FormattedTextFieldInner<T>(\n\t{ value, onValueChange, formatter, ...restProps }: FormattedTextFieldProps<T>,\n\tforwardedRef: React.Ref<HTMLInputElement>,\n) {\n\tconst [rawInput, setRawInput] = useState<string>(\"\")\n\tconst [isTyping, setIsTyping] = useState(false)\n\n\t// Update raw input when external value changes (but not when we're actively typing)\n\tuseEffect(() => {\n\t\tif (!isTyping) {\n\t\t\tsetRawInput(formatter.format(value))\n\t\t}\n\t}, [value, formatter, isTyping])\n\n\tconst handleInput = useCallback(\n\t\t(e: React.FormEvent<HTMLInputElement>) => {\n\t\t\tconst input = e.target as HTMLInputElement\n\t\t\tsetIsTyping(true)\n\n\t\t\tlet filteredValue = input.value\n\t\t\tif (formatter.filter) {\n\t\t\t\tfilteredValue = formatter.filter(input.value)\n\t\t\t\tinput.value = filteredValue\n\t\t\t}\n\n\t\t\tsetRawInput(filteredValue)\n\t\t\tconst parsedValue = formatter.parse(filteredValue)\n\t\t\tonValueChange(parsedValue)\n\t\t},\n\t\t[formatter, onValueChange],\n\t)\n\n\tconst handleBlur = useCallback(() => {\n\t\tsetIsTyping(false)\n\t\t// On blur, format the value properly\n\t\tsetRawInput(formatter.format(value))\n\t}, [formatter, value])\n\n\tconst displayValue = isTyping ? rawInput : formatter.format(value)\n\n\treturn (\n\t\t<DecoratedVSCodeTextField\n\t\t\t{...restProps}\n\t\t\tvalue={displayValue}\n\t\t\tonInput={handleInput}\n\t\t\tonBlur={handleBlur}\n\t\t\tref={forwardedRef}\n\t\t/>\n\t)\n}\n\nexport const FormattedTextField = forwardRef(FormattedTextFieldInner as any) as <T>(\n\tprops: FormattedTextFieldProps<T> & { ref?: React.Ref<HTMLInputElement> },\n) => React.ReactElement\n\n// Common formatters for reuse\nexport const unlimitedIntegerFormatter: InputFormatter<number> = {\n\tparse: (input: string) => {\n\t\tif (input.trim() === \"\") return undefined\n\t\tconst value = parseInt(input)\n\t\treturn !isNaN(value) && value > 0 ? value : undefined\n\t},\n\tformat: (value: number | undefined) => {\n\t\treturn value === undefined || value === Infinity ? \"\" : value.toString()\n\t},\n\tfilter: (input: string) => input.replace(/[^0-9]/g, \"\"),\n}\n\nexport const unlimitedDecimalFormatter: InputFormatter<number> = {\n\tparse: (input: string) => {\n\t\tif (input.trim() === \"\") return undefined\n\t\tconst value = parseFloat(input)\n\t\treturn !isNaN(value) && value >= 0 ? value : undefined\n\t},\n\tformat: (value: number | undefined) => {\n\t\treturn value === undefined || value === Infinity ? \"\" : value.toString()\n\t},\n\tfilter: (input: string) => {\n\t\t// Remove all non-numeric and non-dot characters\n\t\tlet cleanValue = input.replace(/[^0-9.]/g, \"\")\n\n\t\t// Handle multiple dots - keep only the first one\n\t\tconst firstDotIndex = cleanValue.indexOf(\".\")\n\t\tif (firstDotIndex !== -1) {\n\t\t\t// Keep everything up to and including the first dot, then remove any additional dots\n\t\t\tconst beforeDot = cleanValue.substring(0, firstDotIndex + 1)\n\t\t\tconst afterDot = cleanValue.substring(firstDotIndex + 1).replace(/\\./g, \"\")\n\t\t\tcleanValue = beforeDot + afterDot\n\t\t}\n\n\t\treturn cleanValue\n\t},\n}\n", + "import { useTranslation } from \"react-i18next\"\nimport { vscode } from \"@/utils/vscode\"\nimport { useCallback } from \"react\"\nimport { FormattedTextField, unlimitedIntegerFormatter } from \"../common/FormattedTextField\"\n\ninterface MaxRequestsInputProps {\n\tallowedMaxRequests?: number\n\tonValueChange: (value: number | undefined) => void\n}\n\nexport function MaxRequestsInput({ allowedMaxRequests, onValueChange }: MaxRequestsInputProps) {\n\tconst { t } = useTranslation()\n\n\tconst handleValueChange = useCallback(\n\t\t(value: number | undefined) => {\n\t\t\tonValueChange(value)\n\t\t\tvscode.postMessage({ type: \"allowedMaxRequests\", value })\n\t\t},\n\t\t[onValueChange],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<label className=\"flex items-center gap-2 text-sm font-medium whitespace-nowrap\">\n\t\t\t\t<span className=\"codicon codicon-pulse\" />\n\t\t\t\t{t(\"settings:autoApprove.apiRequestLimit.title\")}:\n\t\t\t</label>\n\t\t\t<FormattedTextField\n\t\t\t\tvalue={allowedMaxRequests}\n\t\t\t\tonValueChange={handleValueChange}\n\t\t\t\tformatter={unlimitedIntegerFormatter}\n\t\t\t\tplaceholder={t(\"settings:autoApprove.apiRequestLimit.unlimited\")}\n\t\t\t\tstyle={{ maxWidth: \"200px\" }}\n\t\t\t\tdata-testid=\"max-requests-input\"\n\t\t\t/>\n\t\t</>\n\t)\n}\n", + "import { useTranslation } from \"react-i18next\"\nimport { vscode } from \"@/utils/vscode\"\nimport { useCallback } from \"react\"\nimport { FormattedTextField, unlimitedDecimalFormatter } from \"../common/FormattedTextField\"\n\ninterface MaxCostInputProps {\n\tallowedMaxCost?: number\n\tonValueChange: (value: number | undefined) => void\n}\n\nexport function MaxCostInput({ allowedMaxCost, onValueChange }: MaxCostInputProps) {\n\tconst { t } = useTranslation()\n\n\tconst handleValueChange = useCallback(\n\t\t(value: number | undefined) => {\n\t\t\tonValueChange(value)\n\t\t\tvscode.postMessage({ type: \"allowedMaxCost\", value })\n\t\t},\n\t\t[onValueChange],\n\t)\n\n\treturn (\n\t\t<>\n\t\t\t<label className=\"flex items-center gap-2 text-sm font-medium whitespace-nowrap\">\n\t\t\t\t<span className=\"codicon codicon-credit-card\" />\n\t\t\t\t{t(\"settings:autoApprove.apiCostLimit.title\")}:\n\t\t\t</label>\n\t\t\t<FormattedTextField\n\t\t\t\tvalue={allowedMaxCost}\n\t\t\t\tonValueChange={handleValueChange}\n\t\t\t\tformatter={unlimitedDecimalFormatter}\n\t\t\t\tplaceholder={t(\"settings:autoApprove.apiCostLimit.unlimited\")}\n\t\t\t\tstyle={{ maxWidth: \"200px\" }}\n\t\t\t\tdata-testid=\"max-cost-input\"\n\t\t\t\tleftNodes={[<span key=\"dollar\">$</span>]}\n\t\t\t/>\n\t\t</>\n\t)\n}\n", + "import React from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport { MaxRequestsInput } from \"./MaxRequestsInput\"\nimport { MaxCostInput } from \"./MaxCostInput\"\n\nexport interface MaxLimitInputsProps {\n\tallowedMaxRequests?: number\n\tallowedMaxCost?: number\n\tonMaxRequestsChange: (value: number | undefined) => void\n\tonMaxCostChange: (value: number | undefined) => void\n}\n\nexport const MaxLimitInputs: React.FC<MaxLimitInputsProps> = ({\n\tallowedMaxRequests,\n\tallowedMaxCost,\n\tonMaxRequestsChange,\n\tonMaxCostChange,\n}) => {\n\tconst { t } = useTranslation()\n\n\treturn (\n\t\t<div className=\"space-y-2\">\n\t\t\t<div className=\"grid grid-cols-[auto_1fr] gap-x-2 gap-y-2 items-center\">\n\t\t\t\t<MaxRequestsInput allowedMaxRequests={allowedMaxRequests} onValueChange={onMaxRequestsChange} />\n\t\t\t\t<MaxCostInput allowedMaxCost={allowedMaxCost} onValueChange={onMaxCostChange} />\n\t\t\t</div>\n\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t{t(\"settings:autoApprove.maxLimits.description\")}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes, useState } from \"react\"\nimport { X, CheckCheck } from \"lucide-react\"\n\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\nimport { vscode } from \"@/utils/vscode\"\nimport { Button, Input, Slider, StandardTooltip } from \"@/components/ui\"\n\nimport { SetCachedStateField } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\nimport { AutoApproveToggle } from \"./AutoApproveToggle\"\nimport { MaxLimitInputs } from \"./MaxLimitInputs\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport { useAutoApprovalState } from \"@/hooks/useAutoApprovalState\"\nimport { useAutoApprovalToggles } from \"@/hooks/useAutoApprovalToggles\"\n\ntype AutoApproveSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\talwaysAllowReadOnly?: boolean\n\talwaysAllowReadOnlyOutsideWorkspace?: boolean\n\talwaysAllowWrite?: boolean\n\talwaysAllowWriteOutsideWorkspace?: boolean\n\talwaysAllowWriteProtected?: boolean\n\talwaysAllowBrowser?: boolean\n\talwaysApproveResubmit?: boolean\n\trequestDelaySeconds: number\n\talwaysAllowMcp?: boolean\n\talwaysAllowModeSwitch?: boolean\n\talwaysAllowSubtasks?: boolean\n\talwaysAllowExecute?: boolean\n\talwaysAllowFollowupQuestions?: boolean\n\talwaysAllowUpdateTodoList?: boolean\n\tfollowupAutoApproveTimeoutMs?: number\n\tallowedCommands?: string[]\n\tallowedMaxRequests?: number | undefined\n\tallowedMaxCost?: number | undefined\n\tdeniedCommands?: string[]\n\tsetCachedStateField: SetCachedStateField<\n\t\t| \"alwaysAllowReadOnly\"\n\t\t| \"alwaysAllowReadOnlyOutsideWorkspace\"\n\t\t| \"alwaysAllowWrite\"\n\t\t| \"alwaysAllowWriteOutsideWorkspace\"\n\t\t| \"alwaysAllowWriteProtected\"\n\t\t| \"alwaysAllowBrowser\"\n\t\t| \"alwaysApproveResubmit\"\n\t\t| \"requestDelaySeconds\"\n\t\t| \"alwaysAllowMcp\"\n\t\t| \"alwaysAllowModeSwitch\"\n\t\t| \"alwaysAllowSubtasks\"\n\t\t| \"alwaysAllowExecute\"\n\t\t| \"alwaysAllowFollowupQuestions\"\n\t\t| \"followupAutoApproveTimeoutMs\"\n\t\t| \"allowedCommands\"\n\t\t| \"allowedMaxRequests\"\n\t\t| \"allowedMaxCost\"\n\t\t| \"deniedCommands\"\n\t\t| \"alwaysAllowUpdateTodoList\"\n\t>\n}\n\nexport const AutoApproveSettings = ({\n\talwaysAllowReadOnly,\n\talwaysAllowReadOnlyOutsideWorkspace,\n\talwaysAllowWrite,\n\talwaysAllowWriteOutsideWorkspace,\n\talwaysAllowWriteProtected,\n\talwaysAllowBrowser,\n\talwaysApproveResubmit,\n\trequestDelaySeconds,\n\talwaysAllowMcp,\n\talwaysAllowModeSwitch,\n\talwaysAllowSubtasks,\n\talwaysAllowExecute,\n\talwaysAllowFollowupQuestions,\n\tfollowupAutoApproveTimeoutMs = 60000,\n\talwaysAllowUpdateTodoList,\n\tallowedCommands,\n\tallowedMaxRequests,\n\tallowedMaxCost,\n\tdeniedCommands,\n\tsetCachedStateField,\n\t...props\n}: AutoApproveSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [commandInput, setCommandInput] = useState(\"\")\n\tconst [deniedCommandInput, setDeniedCommandInput] = useState(\"\")\n\tconst { autoApprovalEnabled, setAutoApprovalEnabled } = useExtensionState()\n\n\tconst toggles = useAutoApprovalToggles()\n\n\tconst { hasEnabledOptions, effectiveAutoApprovalEnabled } = useAutoApprovalState(toggles, autoApprovalEnabled)\n\n\tconst handleAddCommand = () => {\n\t\tconst currentCommands = allowedCommands ?? []\n\n\t\tif (commandInput && !currentCommands.includes(commandInput)) {\n\t\t\tconst newCommands = [...currentCommands, commandInput]\n\t\t\tsetCachedStateField(\"allowedCommands\", newCommands)\n\t\t\tsetCommandInput(\"\")\n\t\t\tvscode.postMessage({ type: \"allowedCommands\", commands: newCommands })\n\t\t}\n\t}\n\n\tconst handleAddDeniedCommand = () => {\n\t\tconst currentCommands = deniedCommands ?? []\n\n\t\tif (deniedCommandInput && !currentCommands.includes(deniedCommandInput)) {\n\t\t\tconst newCommands = [...currentCommands, deniedCommandInput]\n\t\t\tsetCachedStateField(\"deniedCommands\", newCommands)\n\t\t\tsetDeniedCommandInput(\"\")\n\t\t\tvscode.postMessage({ type: \"deniedCommands\", commands: newCommands })\n\t\t}\n\t}\n\n\treturn (\n\t\t<div {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<CheckCheck className=\"w-4 h-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.autoApprove\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div className=\"space-y-4\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{!hasEnabledOptions ? (\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"settings:autoApprove.selectOptionsFirst\")}>\n\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\tchecked={effectiveAutoApprovalEnabled}\n\t\t\t\t\t\t\t\t\tdisabled={!hasEnabledOptions}\n\t\t\t\t\t\t\t\t\taria-label={t(\"settings:autoApprove.disabledAriaLabel\")}\n\t\t\t\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\t\t\t\t// Do nothing when no options are enabled\n\t\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:autoApprove.enabled\")}</span>\n\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={effectiveAutoApprovalEnabled}\n\t\t\t\t\t\t\t\tdisabled={!hasEnabledOptions}\n\t\t\t\t\t\t\t\taria-label={t(\"settings:autoApprove.toggleAriaLabel\")}\n\t\t\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\t\t\tconst newValue = !(autoApprovalEnabled ?? false)\n\t\t\t\t\t\t\t\t\tsetAutoApprovalEnabled(newValue)\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"autoApprovalEnabled\", bool: newValue })\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:autoApprove.enabled\")}</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t{t(\"settings:autoApprove.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<AutoApproveToggle\n\t\t\t\t\t\talwaysAllowReadOnly={alwaysAllowReadOnly}\n\t\t\t\t\t\talwaysAllowWrite={alwaysAllowWrite}\n\t\t\t\t\t\talwaysAllowBrowser={alwaysAllowBrowser}\n\t\t\t\t\t\talwaysApproveResubmit={alwaysApproveResubmit}\n\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\talwaysAllowModeSwitch={alwaysAllowModeSwitch}\n\t\t\t\t\t\talwaysAllowSubtasks={alwaysAllowSubtasks}\n\t\t\t\t\t\talwaysAllowExecute={alwaysAllowExecute}\n\t\t\t\t\t\talwaysAllowFollowupQuestions={alwaysAllowFollowupQuestions}\n\t\t\t\t\t\talwaysAllowUpdateTodoList={alwaysAllowUpdateTodoList}\n\t\t\t\t\t\tonToggle={(key, value) => setCachedStateField(key, value)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<MaxLimitInputs\n\t\t\t\t\t\tallowedMaxRequests={allowedMaxRequests}\n\t\t\t\t\t\tallowedMaxCost={allowedMaxCost}\n\t\t\t\t\t\tonMaxRequestsChange={(value) => setCachedStateField(\"allowedMaxRequests\", value)}\n\t\t\t\t\t\tonMaxCostChange={(value) => setCachedStateField(\"allowedMaxCost\", value)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{/* ADDITIONAL SETTINGS */}\n\n\t\t\t\t{alwaysAllowReadOnly && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-eye\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:autoApprove.readOnly.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={alwaysAllowReadOnlyOutsideWorkspace}\n\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"alwaysAllowReadOnlyOutsideWorkspace\", e.target.checked)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata-testid=\"always-allow-readonly-outside-workspace-checkbox\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.readOnly.outsideWorkspace.label\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.readOnly.outsideWorkspace.description\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{alwaysAllowWrite && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-edit\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:autoApprove.write.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={alwaysAllowWriteOutsideWorkspace}\n\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"alwaysAllowWriteOutsideWorkspace\", e.target.checked)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata-testid=\"always-allow-write-outside-workspace-checkbox\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.write.outsideWorkspace.label\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.write.outsideWorkspace.description\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={alwaysAllowWriteProtected}\n\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"alwaysAllowWriteProtected\", e.target.checked)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata-testid=\"always-allow-write-protected-checkbox\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:autoApprove.write.protected.label\")}</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1 mb-3\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.write.protected.description\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{alwaysApproveResubmit && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-refresh\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:autoApprove.retry.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={5}\n\t\t\t\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\t\t\tvalue={[requestDelaySeconds]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"requestDelaySeconds\", value)}\n\t\t\t\t\t\t\t\t\tdata-testid=\"request-delay-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-20\">{requestDelaySeconds}s</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.retry.delayLabel\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{alwaysAllowFollowupQuestions && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-question\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:autoApprove.followupQuestions.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={1000}\n\t\t\t\t\t\t\t\t\tmax={300000}\n\t\t\t\t\t\t\t\t\tstep={1000}\n\t\t\t\t\t\t\t\t\tvalue={[followupAutoApproveTimeoutMs]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) =>\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"followupAutoApproveTimeoutMs\", value)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdata-testid=\"followup-timeout-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-20\">{followupAutoApproveTimeoutMs / 1000}s</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.followupQuestions.timeoutLabel\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{alwaysAllowExecute && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-terminal\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:autoApprove.execute.label\")}</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\" data-testid=\"allowed-commands-heading\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.execute.allowedCommands\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.execute.allowedCommandsDescription\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tvalue={commandInput}\n\t\t\t\t\t\t\t\tonChange={(e: any) => setCommandInput(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={(e: any) => {\n\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\thandleAddCommand()\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tplaceholder={t(\"settings:autoApprove.execute.commandPlaceholder\")}\n\t\t\t\t\t\t\t\tclassName=\"grow\"\n\t\t\t\t\t\t\t\tdata-testid=\"command-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button className=\"h-8\" onClick={handleAddCommand} data-testid=\"add-command-button\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.execute.addButton\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t{(allowedCommands ?? []).map((cmd, index) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tdata-testid={`remove-command-${index}`}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tconst newCommands = (allowedCommands ?? []).filter((_, i) => i !== index)\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"allowedCommands\", newCommands)\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"allowedCommands\", commands: newCommands })\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t<div>{cmd}</div>\n\t\t\t\t\t\t\t\t\t\t<X className=\"text-foreground scale-75\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Denied Commands Section */}\n\t\t\t\t\t\t<div className=\"mt-6\">\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\" data-testid=\"denied-commands-heading\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.execute.deniedCommands\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.execute.deniedCommandsDescription\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tvalue={deniedCommandInput}\n\t\t\t\t\t\t\t\tonChange={(e: any) => setDeniedCommandInput(e.target.value)}\n\t\t\t\t\t\t\t\tonKeyDown={(e: any) => {\n\t\t\t\t\t\t\t\t\tif (e.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\thandleAddDeniedCommand()\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tplaceholder={t(\"settings:autoApprove.execute.deniedCommandPlaceholder\")}\n\t\t\t\t\t\t\t\tclassName=\"grow\"\n\t\t\t\t\t\t\t\tdata-testid=\"denied-command-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"h-8\"\n\t\t\t\t\t\t\t\tonClick={handleAddDeniedCommand}\n\t\t\t\t\t\t\t\tdata-testid=\"add-denied-command-button\">\n\t\t\t\t\t\t\t\t{t(\"settings:autoApprove.execute.addButton\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t{(deniedCommands ?? []).map((cmd, index) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tdata-testid={`remove-denied-command-${index}`}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tconst newCommands = (deniedCommands ?? []).filter((_, i) => i !== index)\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"deniedCommands\", newCommands)\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"deniedCommands\", commands: newCommands })\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-row items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t<div>{cmd}</div>\n\t\t\t\t\t\t\t\t\t\t<X className=\"text-foreground scale-75\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { VSCodeButton, VSCodeCheckbox, VSCodeTextField, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { SquareMousePointer } from \"lucide-react\"\nimport { HTMLAttributes, useEffect, useMemo, useState } from \"react\"\nimport { Trans } from \"react-i18next\"\n\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Slider } from \"@/components/ui\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { vscode } from \"@/utils/vscode\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\n\nimport { Section } from \"./Section\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { SetCachedStateField } from \"./types\"\n\ntype BrowserSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\tbrowserToolEnabled?: boolean\n\tbrowserViewportSize?: string\n\tscreenshotQuality?: number\n\tremoteBrowserHost?: string\n\tremoteBrowserEnabled?: boolean\n\tsetCachedStateField: SetCachedStateField<\n\t\t| \"browserToolEnabled\"\n\t\t| \"browserViewportSize\"\n\t\t| \"screenshotQuality\"\n\t\t| \"remoteBrowserHost\"\n\t\t| \"remoteBrowserEnabled\"\n\t>\n}\n\nexport const BrowserSettings = ({\n\tbrowserToolEnabled,\n\tbrowserViewportSize,\n\tscreenshotQuality,\n\tremoteBrowserHost,\n\tremoteBrowserEnabled,\n\tsetCachedStateField,\n\t...props\n}: BrowserSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [testingConnection, setTestingConnection] = useState(false)\n\tconst [testResult, setTestResult] = useState<{ success: boolean; text: string } | null>(null)\n\tconst [discovering, setDiscovering] = useState(false)\n\n\t// We don't need a local state for useRemoteBrowser since we're using the\n\t// `enableRemoteBrowser` prop directly. This ensures the checkbox always\n\t// reflects the current global state.\n\n\t// Set up message listener for browser connection results.\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\n\t\t\tif (message.type === \"browserConnectionResult\") {\n\t\t\t\tsetTestResult({ success: message.success, text: message.text })\n\t\t\t\tsetTestingConnection(false)\n\t\t\t\tsetDiscovering(false)\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage)\n\t\t}\n\t}, [])\n\n\tconst testConnection = async () => {\n\t\tsetTestingConnection(true)\n\t\tsetTestResult(null)\n\n\t\ttry {\n\t\t\t// Send a message to the extension to test the connection.\n\t\t\tvscode.postMessage({ type: \"testBrowserConnection\", text: remoteBrowserHost })\n\t\t} catch (error) {\n\t\t\tsetTestResult({\n\t\t\t\tsuccess: false,\n\t\t\t\ttext: `Error: ${error instanceof Error ? error.message : String(error)}`,\n\t\t\t})\n\t\t\tsetTestingConnection(false)\n\t\t}\n\t}\n\n\tconst options = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tvalue: \"1280x800\",\n\t\t\t\tlabel: t(\"settings:browser.viewport.options.largeDesktop\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"900x600\",\n\t\t\t\tlabel: t(\"settings:browser.viewport.options.smallDesktop\"),\n\t\t\t},\n\t\t\t{ value: \"768x1024\", label: t(\"settings:browser.viewport.options.tablet\") },\n\t\t\t{ value: \"360x640\", label: t(\"settings:browser.viewport.options.mobile\") },\n\t\t],\n\t\t[t],\n\t)\n\n\treturn (\n\t\t<div {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<SquareMousePointer className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.browser\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={browserToolEnabled}\n\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"browserToolEnabled\", e.target.checked)}>\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:browser.enable.label\")}</span>\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t<Trans i18nKey=\"settings:browser.enable.description\">\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref={buildDocLink(\"features/browser-use\", \"settings_browser_tool\")}\n\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t</Trans>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{browserToolEnabled && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:browser.viewport.label\")}</label>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tvalue={browserViewportSize}\n\t\t\t\t\t\t\t\tonValueChange={(value) => setCachedStateField(\"browserViewportSize\", value)}>\n\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t\t\t\t{options.map(({ value, label }) => (\n\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={value} value={value}>\n\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:browser.viewport.description\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:browser.screenshotQuality.label\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\t\t\tvalue={[screenshotQuality ?? 75]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"screenshotQuality\", value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-10\">{screenshotQuality ?? 75}%</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:browser.screenshotQuality.description\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={remoteBrowserEnabled}\n\t\t\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\t\t\t// Update the global state - remoteBrowserEnabled now means \"enable remote browser connection\".\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"remoteBrowserEnabled\", e.target.checked)\n\n\t\t\t\t\t\t\t\t\tif (!e.target.checked) {\n\t\t\t\t\t\t\t\t\t\t// If disabling remote browser, clear the custom URL.\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"remoteBrowserHost\", undefined)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">{t(\"settings:browser.remote.label\")}</label>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:browser.remote.description\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{remoteBrowserEnabled && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\t\tvalue={remoteBrowserHost ?? \"\"}\n\t\t\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"remoteBrowserHost\", e.target.value || undefined)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"settings:browser.remote.urlPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\tstyle={{ flexGrow: 1 }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<VSCodeButton disabled={testingConnection} onClick={testConnection}>\n\t\t\t\t\t\t\t\t\t\t{testingConnection || discovering\n\t\t\t\t\t\t\t\t\t\t\t? t(\"settings:browser.remote.testingButton\")\n\t\t\t\t\t\t\t\t\t\t\t: t(\"settings:browser.remote.testButton\")}\n\t\t\t\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{testResult && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={`p-2 rounded-xs text-sm ${\n\t\t\t\t\t\t\t\t\t\t\ttestResult.success\n\t\t\t\t\t\t\t\t\t\t\t\t? \"bg-green-800/20 text-green-400\"\n\t\t\t\t\t\t\t\t\t\t\t\t: \"bg-red-800/20 text-red-400\"\n\t\t\t\t\t\t\t\t\t\t}`}>\n\t\t\t\t\t\t\t\t\t\t{testResult.text}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t{t(\"settings:browser.remote.instructions\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { VSCodeCheckbox, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { GitBranch } from \"lucide-react\"\nimport { Trans } from \"react-i18next\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\n\nimport { SetCachedStateField } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\n\ntype CheckpointSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\tenableCheckpoints?: boolean\n\tsetCachedStateField: SetCachedStateField<\"enableCheckpoints\">\n}\n\nexport const CheckpointSettings = ({ enableCheckpoints, setCachedStateField, ...props }: CheckpointSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\treturn (\n\t\t<div {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<GitBranch className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.checkpoints\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={enableCheckpoints}\n\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\tsetCachedStateField(\"enableCheckpoints\", e.target.checked)\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:checkpoints.enable.label\")}</span>\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t<Trans i18nKey=\"settings:checkpoints.enable.description\">\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref={buildDocLink(\"features/checkpoints\", \"settings_checkpoints\")}\n\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t</Trans>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\nimport { Bell } from \"lucide-react\"\n\nimport { SetCachedStateField } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\nimport { Slider } from \"../ui\"\n\ntype NotificationSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\tttsEnabled?: boolean\n\tttsSpeed?: number\n\tsoundEnabled?: boolean\n\tsoundVolume?: number\n\tsetCachedStateField: SetCachedStateField<\"ttsEnabled\" | \"ttsSpeed\" | \"soundEnabled\" | \"soundVolume\">\n}\n\nexport const NotificationSettings = ({\n\tttsEnabled,\n\tttsSpeed,\n\tsoundEnabled,\n\tsoundVolume,\n\tsetCachedStateField,\n\t...props\n}: NotificationSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\treturn (\n\t\t<div {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Bell className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.notifications\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={ttsEnabled}\n\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"ttsEnabled\", e.target.checked)}\n\t\t\t\t\t\tdata-testid=\"tts-enabled-checkbox\">\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:notifications.tts.label\")}</span>\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:notifications.tts.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{ttsEnabled && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:notifications.tts.speedLabel\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={0.1}\n\t\t\t\t\t\t\t\t\tmax={2.0}\n\t\t\t\t\t\t\t\t\tstep={0.01}\n\t\t\t\t\t\t\t\t\tvalue={[ttsSpeed ?? 1.0]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"ttsSpeed\", value)}\n\t\t\t\t\t\t\t\t\tdata-testid=\"tts-speed-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-10\">{((ttsSpeed ?? 1.0) * 100).toFixed(0)}%</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={soundEnabled}\n\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"soundEnabled\", e.target.checked)}\n\t\t\t\t\t\tdata-testid=\"sound-enabled-checkbox\">\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:notifications.sound.label\")}</span>\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:notifications.sound.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{soundEnabled && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:notifications.sound.volumeLabel\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\t\t\tmax={1}\n\t\t\t\t\t\t\t\t\tstep={0.01}\n\t\t\t\t\t\t\t\t\tvalue={[soundVolume ?? 0.5]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"soundVolume\", value)}\n\t\t\t\t\t\t\t\t\tdata-testid=\"sound-volume-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-10\">{((soundVolume ?? 0.5) * 100).toFixed(0)}%</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes } from \"react\"\nimport React from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\nimport { Database, FoldVertical } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Slider, Button } from \"@/components/ui\"\n\nimport { SetCachedStateField } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\nimport { vscode } from \"@/utils/vscode\"\n\ntype ContextManagementSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\tautoCondenseContext: boolean\n\tautoCondenseContextPercent: number\n\tlistApiConfigMeta: any[]\n\tmaxOpenTabsContext: number\n\tmaxWorkspaceFiles: number\n\tshowRooIgnoredFiles?: boolean\n\tmaxReadFileLine?: number\n\tmaxImageFileSize?: number\n\tmaxTotalImageSize?: number\n\tmaxConcurrentFileReads?: number\n\tprofileThresholds?: Record<string, number>\n\tincludeDiagnosticMessages?: boolean\n\tmaxDiagnosticMessages?: number\n\twriteDelayMs: number\n\tsetCachedStateField: SetCachedStateField<\n\t\t| \"autoCondenseContext\"\n\t\t| \"autoCondenseContextPercent\"\n\t\t| \"maxOpenTabsContext\"\n\t\t| \"maxWorkspaceFiles\"\n\t\t| \"showRooIgnoredFiles\"\n\t\t| \"maxReadFileLine\"\n\t\t| \"maxImageFileSize\"\n\t\t| \"maxTotalImageSize\"\n\t\t| \"maxConcurrentFileReads\"\n\t\t| \"profileThresholds\"\n\t\t| \"includeDiagnosticMessages\"\n\t\t| \"maxDiagnosticMessages\"\n\t\t| \"writeDelayMs\"\n\t>\n}\n\nexport const ContextManagementSettings = ({\n\tautoCondenseContext,\n\tautoCondenseContextPercent,\n\tlistApiConfigMeta,\n\tmaxOpenTabsContext,\n\tmaxWorkspaceFiles,\n\tshowRooIgnoredFiles,\n\tsetCachedStateField,\n\tmaxReadFileLine,\n\tmaxImageFileSize,\n\tmaxTotalImageSize,\n\tmaxConcurrentFileReads,\n\tprofileThresholds = {},\n\tincludeDiagnosticMessages,\n\tmaxDiagnosticMessages,\n\twriteDelayMs,\n\tclassName,\n\t...props\n}: ContextManagementSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\tconst [selectedThresholdProfile, setSelectedThresholdProfile] = React.useState<string>(\"default\")\n\n\t// Helper function to get the current threshold value based on selected profile\n\tconst getCurrentThresholdValue = () => {\n\t\tif (selectedThresholdProfile === \"default\") {\n\t\t\treturn autoCondenseContextPercent\n\t\t}\n\t\tconst profileThreshold = profileThresholds[selectedThresholdProfile]\n\t\tif (profileThreshold === undefined || profileThreshold === -1) {\n\t\t\treturn autoCondenseContextPercent // Use default if profile not configured or set to -1\n\t\t}\n\t\treturn profileThreshold\n\t}\n\n\t// Helper function to handle threshold changes\n\tconst handleThresholdChange = (value: number) => {\n\t\tif (selectedThresholdProfile === \"default\") {\n\t\t\tsetCachedStateField(\"autoCondenseContextPercent\", value)\n\t\t} else {\n\t\t\tconst newThresholds = {\n\t\t\t\t...profileThresholds,\n\t\t\t\t[selectedThresholdProfile]: value,\n\t\t\t}\n\t\t\tsetCachedStateField(\"profileThresholds\", newThresholds)\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"profileThresholds\",\n\t\t\t\tvalues: newThresholds,\n\t\t\t})\n\t\t}\n\t}\n\treturn (\n\t\t<div className={cn(\"flex flex-col gap-2\", className)} {...props}>\n\t\t\t<SectionHeader description={t(\"settings:contextManagement.description\")}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Database className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.contextManagement\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"block font-medium mb-1\">{t(\"settings:contextManagement.openTabs.label\")}</span>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\tmax={500}\n\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\tvalue={[maxOpenTabsContext ?? 20]}\n\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"maxOpenTabsContext\", value)}\n\t\t\t\t\t\t\tdata-testid=\"open-tabs-limit-slider\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"w-10\">{maxOpenTabsContext ?? 20}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.openTabs.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"block font-medium mb-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.workspaceFiles.label\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\tmax={500}\n\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\tvalue={[maxWorkspaceFiles ?? 200]}\n\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"maxWorkspaceFiles\", value)}\n\t\t\t\t\t\t\tdata-testid=\"workspace-files-limit-slider\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"w-10\">{maxWorkspaceFiles ?? 200}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.workspaceFiles.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"block font-medium mb-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.maxConcurrentFileReads.label\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\tvalue={[Math.max(1, maxConcurrentFileReads ?? 5)]}\n\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"maxConcurrentFileReads\", value)}\n\t\t\t\t\t\t\tdata-testid=\"max-concurrent-file-reads-slider\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"w-10 text-sm\">{Math.max(1, maxConcurrentFileReads ?? 5)}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1 mb-3\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.maxConcurrentFileReads.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={showRooIgnoredFiles}\n\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"showRooIgnoredFiles\", e.target.checked)}\n\t\t\t\t\t\tdata-testid=\"show-rooignored-files-checkbox\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t{t(\"settings:contextManagement.rooignore.label\")}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1 mb-3\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.rooignore.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:contextManagement.maxReadFile.label\")}</span>\n\t\t\t\t\t\t<div className=\"flex items-center gap-4\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tpattern=\"-?[0-9]*\"\n\t\t\t\t\t\t\t\tclassName=\"w-24 bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border px-2 py-1 rounded text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none disabled:opacity-50\"\n\t\t\t\t\t\t\t\tvalue={maxReadFileLine ?? -1}\n\t\t\t\t\t\t\t\tmin={-1}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tconst newValue = parseInt(e.target.value, 10)\n\t\t\t\t\t\t\t\t\tif (!isNaN(newValue) && newValue >= -1) {\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"maxReadFileLine\", newValue)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={(e) => e.currentTarget.select()}\n\t\t\t\t\t\t\t\tdata-testid=\"max-read-file-line-input\"\n\t\t\t\t\t\t\t\tdisabled={maxReadFileLine === -1}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span>{t(\"settings:contextManagement.maxReadFile.lines\")}</span>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={maxReadFileLine === -1}\n\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"maxReadFileLine\", e.target.checked ? -1 : 500)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata-testid=\"max-read-file-always-full-checkbox\">\n\t\t\t\t\t\t\t\t{t(\"settings:contextManagement.maxReadFile.always_full_read\")}\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-2\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.maxReadFile.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:contextManagement.maxImageFileSize.label\")}</span>\n\t\t\t\t\t\t<div className=\"flex items-center gap-4\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tpattern=\"[0-9]*\"\n\t\t\t\t\t\t\t\tclassName=\"w-24 bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border px-2 py-1 rounded text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none\"\n\t\t\t\t\t\t\t\tvalue={maxImageFileSize ?? 5}\n\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tconst newValue = parseInt(e.target.value, 10)\n\t\t\t\t\t\t\t\t\tif (!isNaN(newValue) && newValue >= 1 && newValue <= 100) {\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"maxImageFileSize\", newValue)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={(e) => e.currentTarget.select()}\n\t\t\t\t\t\t\t\tdata-testid=\"max-image-file-size-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span>{t(\"settings:contextManagement.maxImageFileSize.mb\")}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-2\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.maxImageFileSize.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<div className=\"flex flex-col gap-2\">\n\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:contextManagement.maxTotalImageSize.label\")}</span>\n\t\t\t\t\t\t<div className=\"flex items-center gap-4\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tpattern=\"[0-9]*\"\n\t\t\t\t\t\t\t\tclassName=\"w-24 bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border px-2 py-1 rounded text-right [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none\"\n\t\t\t\t\t\t\t\tvalue={maxTotalImageSize ?? 20}\n\t\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\t\tmax={500}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\tconst newValue = parseInt(e.target.value, 10)\n\t\t\t\t\t\t\t\t\tif (!isNaN(newValue) && newValue >= 1 && newValue <= 500) {\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"maxTotalImageSize\", newValue)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={(e) => e.currentTarget.select()}\n\t\t\t\t\t\t\t\tdata-testid=\"max-total-image-size-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span>{t(\"settings:contextManagement.maxTotalImageSize.mb\")}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-2\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.maxTotalImageSize.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={includeDiagnosticMessages}\n\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"includeDiagnosticMessages\", e.target.checked)}\n\t\t\t\t\t\tdata-testid=\"include-diagnostic-messages-checkbox\">\n\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t{t(\"settings:contextManagement.diagnostics.includeMessages.label\")}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1 mb-3\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.diagnostics.includeMessages.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"block font-medium mb-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.diagnostics.maxMessages.label\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\tmin={1}\n\t\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\tvalue={[\n\t\t\t\t\t\t\t\tmaxDiagnosticMessages !== undefined && maxDiagnosticMessages <= 0\n\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t: (maxDiagnosticMessages ?? 50),\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\tonValueChange={([value]) => {\n\t\t\t\t\t\t\t\t// When slider reaches 100, set to -1 (unlimited)\n\t\t\t\t\t\t\t\tsetCachedStateField(\"maxDiagnosticMessages\", value === 100 ? -1 : value)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-testid=\"max-diagnostic-messages-slider\"\n\t\t\t\t\t\t\taria-label={t(\"settings:contextManagement.diagnostics.maxMessages.label\")}\n\t\t\t\t\t\t\taria-valuemin={1}\n\t\t\t\t\t\t\taria-valuemax={100}\n\t\t\t\t\t\t\taria-valuenow={\n\t\t\t\t\t\t\t\tmaxDiagnosticMessages !== undefined && maxDiagnosticMessages <= 0\n\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t: (maxDiagnosticMessages ?? 50)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-valuetext={\n\t\t\t\t\t\t\t\t(maxDiagnosticMessages !== undefined && maxDiagnosticMessages <= 0) ||\n\t\t\t\t\t\t\t\tmaxDiagnosticMessages === 100\n\t\t\t\t\t\t\t\t\t? t(\"settings:contextManagement.diagnostics.maxMessages.unlimitedLabel\")\n\t\t\t\t\t\t\t\t\t: `${maxDiagnosticMessages ?? 50} ${t(\"settings:contextManagement.diagnostics.maxMessages.label\")}`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"w-20 text-sm font-medium\">\n\t\t\t\t\t\t\t{(maxDiagnosticMessages !== undefined && maxDiagnosticMessages <= 0) ||\n\t\t\t\t\t\t\tmaxDiagnosticMessages === 100\n\t\t\t\t\t\t\t\t? t(\"settings:contextManagement.diagnostics.maxMessages.unlimitedLabel\")\n\t\t\t\t\t\t\t\t: (maxDiagnosticMessages ?? 50)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tonClick={() => setCachedStateField(\"maxDiagnosticMessages\", 50)}\n\t\t\t\t\t\t\ttitle={t(\"settings:contextManagement.diagnostics.maxMessages.resetTooltip\")}\n\t\t\t\t\t\t\tclassName=\"p-1 h-6 w-6\"\n\t\t\t\t\t\t\tdisabled={maxDiagnosticMessages === 50}>\n\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.diagnostics.maxMessages.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<span className=\"block font-medium mb-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.diagnostics.delayAfterWrite.label\")}\n\t\t\t\t\t</span>\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\tmax={5000}\n\t\t\t\t\t\t\tstep={100}\n\t\t\t\t\t\t\tvalue={[writeDelayMs]}\n\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"writeDelayMs\", value)}\n\t\t\t\t\t\t\tdata-testid=\"write-delay-slider\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"w-20\">{writeDelayMs}ms</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t{t(\"settings:contextManagement.diagnostics.delayAfterWrite.description\")}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Section>\n\t\t\t<Section className=\"pt-2\">\n\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\tchecked={autoCondenseContext}\n\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"autoCondenseContext\", e.target.checked)}\n\t\t\t\t\tdata-testid=\"auto-condense-context-checkbox\">\n\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:contextManagement.autoCondenseContext.name\")}</span>\n\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t{autoCondenseContext && (\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-4 font-bold\">\n\t\t\t\t\t\t\t<FoldVertical size={16} />\n\t\t\t\t\t\t\t<div>{t(\"settings:contextManagement.condensingThreshold.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tvalue={selectedThresholdProfile || \"default\"}\n\t\t\t\t\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\t\t\t\t\tsetSelectedThresholdProfile(value)\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdata-testid=\"threshold-profile-select\">\n\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t<SelectValue\n\t\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\t\tt(\"settings:contextManagement.condensingThreshold.selectProfile\") ||\n\t\t\t\t\t\t\t\t\t\t\t\"Select profile for threshold\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t<SelectItem value=\"default\">\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:contextManagement.condensingThreshold.defaultProfile\") ||\n\t\t\t\t\t\t\t\t\t\t\t\"Default (applies to all unconfigured profiles)\"}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t{(listApiConfigMeta || []).map((config) => {\n\t\t\t\t\t\t\t\t\t\tconst profileThreshold = profileThresholds[config.id]\n\t\t\t\t\t\t\t\t\t\tconst thresholdDisplay =\n\t\t\t\t\t\t\t\t\t\t\tprofileThreshold !== undefined\n\t\t\t\t\t\t\t\t\t\t\t\t? profileThreshold === -1\n\t\t\t\t\t\t\t\t\t\t\t\t\t? ` ${t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings:contextManagement.condensingThreshold.usesGlobal\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthreshold: autoCondenseContextPercent,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ` (${profileThreshold}%)`\n\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={config.id} value={config.id}>\n\t\t\t\t\t\t\t\t\t\t\t\t{config.name}\n\t\t\t\t\t\t\t\t\t\t\t\t{thresholdDisplay}\n\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Threshold Slider */}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={10}\n\t\t\t\t\t\t\t\t\tmax={100}\n\t\t\t\t\t\t\t\t\tstep={1}\n\t\t\t\t\t\t\t\t\tvalue={[getCurrentThresholdValue()]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) => handleThresholdChange(value)}\n\t\t\t\t\t\t\t\t\tdata-testid=\"condense-threshold-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-20\">{getCurrentThresholdValue()}%</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t{selectedThresholdProfile === \"default\"\n\t\t\t\t\t\t\t\t\t? t(\"settings:contextManagement.condensingThreshold.defaultDescription\", {\n\t\t\t\t\t\t\t\t\t\t\tthreshold: autoCondenseContextPercent,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t: t(\"settings:contextManagement.condensingThreshold.profileDescription\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes, useState, useCallback } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { vscode } from \"@/utils/vscode\"\nimport { SquareTerminal } from \"lucide-react\"\nimport { VSCodeCheckbox, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\nimport { Trans } from \"react-i18next\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\nimport { useEvent, useMount } from \"react-use\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Slider } from \"@/components/ui\"\n\nimport { SetCachedStateField } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\n\ntype TerminalSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\tterminalOutputLineLimit?: number\n\tterminalOutputCharacterLimit?: number\n\tterminalShellIntegrationTimeout?: number\n\tterminalShellIntegrationDisabled?: boolean\n\tterminalCommandDelay?: number\n\tterminalPowershellCounter?: boolean\n\tterminalZshClearEolMark?: boolean\n\tterminalZshOhMy?: boolean\n\tterminalZshP10k?: boolean\n\tterminalZdotdir?: boolean\n\tterminalCompressProgressBar?: boolean\n\tsetCachedStateField: SetCachedStateField<\n\t\t| \"terminalOutputLineLimit\"\n\t\t| \"terminalOutputCharacterLimit\"\n\t\t| \"terminalShellIntegrationTimeout\"\n\t\t| \"terminalShellIntegrationDisabled\"\n\t\t| \"terminalCommandDelay\"\n\t\t| \"terminalPowershellCounter\"\n\t\t| \"terminalZshClearEolMark\"\n\t\t| \"terminalZshOhMy\"\n\t\t| \"terminalZshP10k\"\n\t\t| \"terminalZdotdir\"\n\t\t| \"terminalCompressProgressBar\"\n\t>\n}\n\nexport const TerminalSettings = ({\n\tterminalOutputLineLimit,\n\tterminalOutputCharacterLimit,\n\tterminalShellIntegrationTimeout,\n\tterminalShellIntegrationDisabled,\n\tterminalCommandDelay,\n\tterminalPowershellCounter,\n\tterminalZshClearEolMark,\n\tterminalZshOhMy,\n\tterminalZshP10k,\n\tterminalZdotdir,\n\tterminalCompressProgressBar,\n\tsetCachedStateField,\n\tclassName,\n\t...props\n}: TerminalSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst [inheritEnv, setInheritEnv] = useState<boolean>(true)\n\n\tuseMount(() => vscode.postMessage({ type: \"getVSCodeSetting\", setting: \"terminal.integrated.inheritEnv\" }))\n\n\tconst onMessage = useCallback((event: MessageEvent) => {\n\t\tconst message: ExtensionMessage = event.data\n\n\t\tswitch (message.type) {\n\t\t\tcase \"vsCodeSetting\":\n\t\t\t\tswitch (message.setting) {\n\t\t\t\t\tcase \"terminal.integrated.inheritEnv\":\n\t\t\t\t\t\tsetInheritEnv(message.value ?? true)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tbreak\n\t\t}\n\t}, [])\n\n\tuseEvent(\"message\", onMessage)\n\n\treturn (\n\t\t<div className={cn(\"flex flex-col\", className)} {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<SquareTerminal className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.terminal\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t{/* Basic Settings */}\n\t\t\t\t<div className=\"flex flex-col gap-3\">\n\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-settings-gear\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:terminal.basic.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:terminal.outputLineLimit.label\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={100}\n\t\t\t\t\t\t\t\t\tmax={5000}\n\t\t\t\t\t\t\t\t\tstep={100}\n\t\t\t\t\t\t\t\t\tvalue={[terminalOutputLineLimit ?? 500]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) => setCachedStateField(\"terminalOutputLineLimit\", value)}\n\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-output-limit-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-10\">{terminalOutputLineLimit ?? 500}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.outputLineLimit.description\">\n\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#terminal-output-limit\",\n\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_output_limit\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t{t(\"settings:terminal.outputCharacterLimit.label\")}\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\tmin={1000}\n\t\t\t\t\t\t\t\t\tmax={100000}\n\t\t\t\t\t\t\t\t\tstep={1000}\n\t\t\t\t\t\t\t\t\tvalue={[terminalOutputCharacterLimit ?? 50000]}\n\t\t\t\t\t\t\t\t\tonValueChange={([value]) =>\n\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"terminalOutputCharacterLimit\", value)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-output-character-limit-slider\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"w-16\">{terminalOutputCharacterLimit ?? 50000}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.outputCharacterLimit.description\">\n\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#terminal-output-limit\",\n\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_output_character_limit\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={terminalCompressProgressBar ?? true}\n\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"terminalCompressProgressBar\", e.target.checked)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdata-testid=\"terminal-compress-progress-bar-checkbox\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:terminal.compressProgressBar.label\")}</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.compressProgressBar.description\">\n\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#compress-progress-bar-output\",\n\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_compress_progress_bar\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Advanced Settings */}\n\t\t\t\t<div className=\"flex flex-col gap-3\">\n\t\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-2 font-bold\">\n\t\t\t\t\t\t\t<span className=\"codicon codicon-tools\" />\n\t\t\t\t\t\t\t<div>{t(\"settings:terminal.advanced.label\")}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t{t(\"settings:terminal.advanced.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={inheritEnv}\n\t\t\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\t\t\tsetInheritEnv(e.target.checked)\n\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\ttype: \"updateVSCodeSetting\",\n\t\t\t\t\t\t\t\t\t\tsetting: \"terminal.integrated.inheritEnv\",\n\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdata-testid=\"terminal-inherit-env-checkbox\">\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:terminal.inheritEnv.label\")}</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.inheritEnv.description\">\n\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#inherit-environment-variables\",\n\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_inherit_env\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={terminalShellIntegrationDisabled ?? false}\n\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\tsetCachedStateField(\"terminalShellIntegrationDisabled\", e.target.checked)\n\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t{t(\"settings:terminal.shellIntegrationDisabled.label\")}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.shellIntegrationDisabled.description\">\n\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#disable-terminal-shell-integration\",\n\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_shell_integration_disabled\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{!terminalShellIntegrationDisabled && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:terminal.shellIntegrationTimeout.label\")}\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t\t\tmin={1000}\n\t\t\t\t\t\t\t\t\t\t\tmax={60000}\n\t\t\t\t\t\t\t\t\t\t\tstep={1000}\n\t\t\t\t\t\t\t\t\t\t\tvalue={[terminalShellIntegrationTimeout ?? 5000]}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={([value]) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"terminalShellIntegrationTimeout\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tMath.min(60000, Math.max(1000, value)),\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span className=\"w-10\">\n\t\t\t\t\t\t\t\t\t\t\t{(terminalShellIntegrationTimeout ?? 5000) / 1000}s\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.shellIntegrationTimeout.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#terminal-shell-integration-timeout\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_shell_integration_timeout\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t\t\t{t(\"settings:terminal.commandDelay.label\")}\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t\t\tmin={0}\n\t\t\t\t\t\t\t\t\t\t\tmax={1000}\n\t\t\t\t\t\t\t\t\t\t\tstep={10}\n\t\t\t\t\t\t\t\t\t\t\tvalue={[terminalCommandDelay ?? 0]}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={([value]) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"terminalCommandDelay\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tMath.min(1000, Math.max(0, value)),\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span className=\"w-10\">{terminalCommandDelay ?? 50}ms</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.commandDelay.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#terminal-command-delay\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_command_delay\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\tchecked={terminalPowershellCounter ?? false}\n\t\t\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"terminalPowershellCounter\", e.target.checked)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-powershell-counter-checkbox\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:terminal.powershellCounter.label\")}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.powershellCounter.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#enable-powershell-counter-workaround\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_powershell_counter\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\tchecked={terminalZshClearEolMark ?? true}\n\t\t\t\t\t\t\t\t\t\tonChange={(e: any) =>\n\t\t\t\t\t\t\t\t\t\t\tsetCachedStateField(\"terminalZshClearEolMark\", e.target.checked)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-zsh-clear-eol-mark-checkbox\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"settings:terminal.zshClearEolMark.label\")}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.zshClearEolMark.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#clear-zsh-eol-mark\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_zsh_clear_eol_mark\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\tchecked={terminalZshOhMy ?? false}\n\t\t\t\t\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"terminalZshOhMy\", e.target.checked)}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-zsh-oh-my-checkbox\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:terminal.zshOhMy.label\")}</span>\n\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.zshOhMy.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#enable-oh-my-zsh-integration\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_zsh_oh_my\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\tchecked={terminalZshP10k ?? false}\n\t\t\t\t\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"terminalZshP10k\", e.target.checked)}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-zsh-p10k-checkbox\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:terminal.zshP10k.label\")}</span>\n\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.zshP10k.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#enable-powerlevel10k-integration\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_zsh_p10k\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\tchecked={terminalZdotdir ?? false}\n\t\t\t\t\t\t\t\t\t\tonChange={(e: any) => setCachedStateField(\"terminalZdotdir\", e.target.checked)}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"terminal-zdotdir-checkbox\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">{t(\"settings:terminal.zdotdir.label\")}</span>\n\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1\">\n\t\t\t\t\t\t\t\t\t\t<Trans i18nKey=\"settings:terminal.zdotdir.description\">\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/shell-integration#enable-zdotdir-handling\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"settings_terminal_zdotdir\",\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\ninterface ExperimentalFeatureProps {\n\tenabled: boolean\n\tonChange: (value: boolean) => void\n\t// Additional property to identify the experiment\n\texperimentKey?: string\n}\n\nexport const ExperimentalFeature = ({ enabled, onChange, experimentKey }: ExperimentalFeatureProps) => {\n\tconst { t } = useAppTranslation()\n\n\t// Generate translation keys based on experiment key\n\tconst nameKey = experimentKey ? `settings:experimental.${experimentKey}.name` : \"\"\n\tconst descriptionKey = experimentKey ? `settings:experimental.${experimentKey}.description` : \"\"\n\n\treturn (\n\t\t<div>\n\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t<VSCodeCheckbox checked={enabled} onChange={(e: any) => onChange(e.target.checked)}>\n\t\t\t\t\t<span className=\"font-medium\">{t(nameKey)}</span>\n\t\t\t\t</VSCodeCheckbox>\n\t\t\t</div>\n\t\t\t<p className=\"text-vscode-descriptionForeground text-sm mt-0\">{t(descriptionKey)}</p>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes } from \"react\"\nimport { FlaskConical } from \"lucide-react\"\n\nimport type { Experiments } from \"@roo-code/types\"\n\nimport { EXPERIMENT_IDS, experimentConfigsMap } from \"@roo/experiments\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { cn } from \"@src/lib/utils\"\n\nimport { SetExperimentEnabled } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\nimport { ExperimentalFeature } from \"./ExperimentalFeature\"\n\ntype ExperimentalSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\texperiments: Experiments\n\tsetExperimentEnabled: SetExperimentEnabled\n}\n\nexport const ExperimentalSettings = ({\n\texperiments,\n\tsetExperimentEnabled,\n\tclassName,\n\t...props\n}: ExperimentalSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div className={cn(\"flex flex-col gap-2\", className)} {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<FlaskConical className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.experimental\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t{Object.entries(experimentConfigsMap)\n\t\t\t\t\t.filter(([key]) => key in EXPERIMENT_IDS)\n\t\t\t\t\t.map((config) => {\n\t\t\t\t\t\tif (config[0] === \"MULTI_FILE_APPLY_DIFF\") {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExperimentalFeature\n\t\t\t\t\t\t\t\t\tkey={config[0]}\n\t\t\t\t\t\t\t\t\texperimentKey={config[0]}\n\t\t\t\t\t\t\t\t\tenabled={experiments[EXPERIMENT_IDS.MULTI_FILE_APPLY_DIFF] ?? false}\n\t\t\t\t\t\t\t\t\tonChange={(enabled) =>\n\t\t\t\t\t\t\t\t\t\tsetExperimentEnabled(EXPERIMENT_IDS.MULTI_FILE_APPLY_DIFF, enabled)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ExperimentalFeature\n\t\t\t\t\t\t\t\tkey={config[0]}\n\t\t\t\t\t\t\t\texperimentKey={config[0]}\n\t\t\t\t\t\t\t\tenabled={experiments[EXPERIMENT_IDS[config[0] as keyof typeof EXPERIMENT_IDS]] ?? false}\n\t\t\t\t\t\t\t\tonChange={(enabled) =>\n\t\t\t\t\t\t\t\t\tsetExperimentEnabled(\n\t\t\t\t\t\t\t\t\t\tEXPERIMENT_IDS[config[0] as keyof typeof EXPERIMENT_IDS],\n\t\t\t\t\t\t\t\t\t\tenabled,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { Globe } from \"lucide-react\"\n\nimport type { Language } from \"@roo-code/types\"\n\nimport { LANGUAGES } from \"@roo/language\"\n\nimport { cn } from \"@src/lib/utils\"\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from \"@src/components/ui\"\n\nimport { SetCachedStateField } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\n\ntype LanguageSettingsProps = HTMLAttributes<HTMLDivElement> & {\n\tlanguage: string\n\tsetCachedStateField: SetCachedStateField<\"language\">\n}\n\nexport const LanguageSettings = ({ language, setCachedStateField, className, ...props }: LanguageSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div className={cn(\"flex flex-col gap-2\", className)} {...props}>\n\t\t\t<SectionHeader>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Globe className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.language\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<Select value={language} onValueChange={(value) => setCachedStateField(\"language\", value as Language)}>\n\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t<SelectGroup>\n\t\t\t\t\t\t\t{Object.entries(LANGUAGES).map(([code, name]) => (\n\t\t\t\t\t\t\t\t<SelectItem key={code} value={code}>\n\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">({code})</span>\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SelectGroup>\n\t\t\t\t\t</SelectContent>\n\t\t\t\t</Select>\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "import { HTMLAttributes } from \"react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { Trans } from \"react-i18next\"\nimport { Info, Download, Upload, TriangleAlert } from \"lucide-react\"\n\nimport { VSCodeCheckbox, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { Package } from \"@roo/package\"\nimport { TelemetrySetting } from \"@roo/TelemetrySetting\"\n\nimport { vscode } from \"@/utils/vscode\"\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui\"\n\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\n\ntype AboutProps = HTMLAttributes<HTMLDivElement> & {\n\ttelemetrySetting: TelemetrySetting\n\tsetTelemetrySetting: (setting: TelemetrySetting) => void\n}\n\nexport const About = ({ telemetrySetting, setTelemetrySetting, className, ...props }: AboutProps) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<div className={cn(\"flex flex-col gap-2\", className)} {...props}>\n\t\t\t<SectionHeader\n\t\t\t\tdescription={\n\t\t\t\t\tPackage.sha\n\t\t\t\t\t\t? `Version: ${Package.version} (${Package.sha.slice(0, 8)})`\n\t\t\t\t\t\t: `Version: ${Package.version}`\n\t\t\t\t}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<Info className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.about\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div>\n\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\tchecked={telemetrySetting === \"enabled\"}\n\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\tconst checked = e.target.checked === true\n\t\t\t\t\t\t\tsetTelemetrySetting(checked ? \"enabled\" : \"disabled\")\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{t(\"settings:footer.telemetry.label\")}\n\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t<p className=\"text-vscode-descriptionForeground text-sm mt-0\">\n\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\ti18nKey=\"settings:footer.telemetry.description\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tprivacyLink: <VSCodeLink href=\"https://roocode.com/privacy\" />,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<Trans\n\t\t\t\t\t\ti18nKey=\"settings:footer.feedback\"\n\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\tgithubLink: <VSCodeLink href=\"https://github.com/RooCodeInc/Roo-Code\" />,\n\t\t\t\t\t\t\tredditLink: <VSCodeLink href=\"https://reddit.com/r/RooCode\" />,\n\t\t\t\t\t\t\tdiscordLink: <VSCodeLink href=\"https://discord.gg/roocode\" />,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"flex flex-wrap items-center gap-2 mt-2\">\n\t\t\t\t\t<Button onClick={() => vscode.postMessage({ type: \"exportSettings\" })} className=\"w-28\">\n\t\t\t\t\t\t<Upload className=\"p-0.5\" />\n\t\t\t\t\t\t{t(\"settings:footer.settings.export\")}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button onClick={() => vscode.postMessage({ type: \"importSettings\" })} className=\"w-28\">\n\t\t\t\t\t\t<Download className=\"p-0.5\" />\n\t\t\t\t\t\t{t(\"settings:footer.settings.import\")}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"destructive\"\n\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"resetState\" })}\n\t\t\t\t\t\tclassName=\"w-28\">\n\t\t\t\t\t\t<TriangleAlert className=\"p-0.5\" />\n\t\t\t\t\t\t{t(\"settings:footer.settings.reset\")}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n", + "// Support prompts\ntype PromptParams = Record<string, string | any[]>\n\nconst generateDiagnosticText = (diagnostics?: any[]) => {\n\tif (!diagnostics?.length) return \"\"\n\treturn `\\nCurrent problems detected:\\n${diagnostics\n\t\t.map((d) => `- [${d.source || \"Error\"}] ${d.message}${d.code ? ` (${d.code})` : \"\"}`)\n\t\t.join(\"\\n\")}`\n}\n\nexport const createPrompt = (template: string, params: PromptParams): string => {\n\treturn template.replace(/\\${(.*?)}/g, (_, key) => {\n\t\tif (key === \"diagnosticText\") {\n\t\t\treturn generateDiagnosticText(params[\"diagnostics\"] as any[])\n\t\t\t// eslint-disable-next-line no-prototype-builtins\n\t\t} else if (params.hasOwnProperty(key)) {\n\t\t\t// Ensure the value is treated as a string for replacement\n\t\t\tconst value = params[key]\n\t\t\tif (typeof value === \"string\") {\n\t\t\t\treturn value\n\t\t\t} else {\n\t\t\t\t// Convert non-string values to string for replacement\n\t\t\t\treturn String(value)\n\t\t\t}\n\t\t} else {\n\t\t\t// If the placeholder key is not in params, replace with empty string\n\t\t\treturn \"\"\n\t\t}\n\t})\n}\n\ninterface SupportPromptConfig {\n\ttemplate: string\n}\n\ntype SupportPromptType =\n\t| \"ENHANCE\"\n\t| \"CONDENSE\"\n\t| \"EXPLAIN\"\n\t| \"FIX\"\n\t| \"IMPROVE\"\n\t| \"ADD_TO_CONTEXT\"\n\t| \"TERMINAL_ADD_TO_CONTEXT\"\n\t| \"TERMINAL_FIX\"\n\t| \"TERMINAL_EXPLAIN\"\n\t| \"NEW_TASK\"\n\nconst supportPromptConfigs: Record<SupportPromptType, SupportPromptConfig> = {\n\tENHANCE: {\n\t\ttemplate: `Generate an enhanced version of this prompt (reply with only the enhanced prompt - no conversation, explanations, lead-in, bullet points, placeholders, or surrounding quotes):\n\n\\${userInput}`,\n\t},\n\tCONDENSE: {\n\t\ttemplate: `Your task is to create a detailed summary of the conversation so far, paying close attention to the user's explicit requests and your previous actions.\nThis summary should be thorough in capturing technical details, code patterns, and architectural decisions that would be essential for continuing with the conversation and supporting any continuing tasks.\n\nYour summary should be structured as follows:\nContext: The context to continue the conversation with. If applicable based on the current task, this should include:\n 1. Previous Conversation: High level details about what was discussed throughout the entire conversation with the user. This should be written to allow someone to be able to follow the general overarching conversation flow.\n 2. Current Work: Describe in detail what was being worked on prior to this request to summarize the conversation. Pay special attention to the more recent messages in the conversation.\n 3. Key Technical Concepts: List all important technical concepts, technologies, coding conventions, and frameworks discussed, which might be relevant for continuing with this work.\n 4. Relevant Files and Code: If applicable, enumerate specific files and code sections examined, modified, or created for the task continuation. Pay special attention to the most recent messages and changes.\n 5. Problem Solving: Document problems solved thus far and any ongoing troubleshooting efforts.\n 6. Pending Tasks and Next Steps: Outline all pending tasks that you have explicitly been asked to work on, as well as list the next steps you will take for all outstanding work, if applicable. Include code snippets where they add clarity. For any next steps, include direct quotes from the most recent conversation showing exactly what task you were working on and where you left off. This should be verbatim to ensure there's no information loss in context between tasks.\n\nExample summary structure:\n1. Previous Conversation:\n [Detailed description]\n2. Current Work:\n [Detailed description]\n3. Key Technical Concepts:\n - [Concept 1]\n - [Concept 2]\n - [...]\n4. Relevant Files and Code:\n - [File Name 1]\n\t- [Summary of why this file is important]\n\t- [Summary of the changes made to this file, if any]\n\t- [Important Code Snippet]\n - [File Name 2]\n\t- [Important Code Snippet]\n - [...]\n5. Problem Solving:\n [Detailed description]\n6. Pending Tasks and Next Steps:\n - [Task 1 details & next steps]\n - [Task 2 details & next steps]\n - [...]\n\nOutput only the summary of the conversation so far, without any additional commentary or explanation.`,\n\t},\n\tEXPLAIN: {\n\t\ttemplate: `Explain the following code from file path \\${filePath}:\\${startLine}-\\${endLine}\n\\${userInput}\n\n\\`\\`\\`\n\\${selectedText}\n\\`\\`\\`\n\nPlease provide a clear and concise explanation of what this code does, including:\n1. The purpose and functionality\n2. Key components and their interactions\n3. Important patterns or techniques used`,\n\t},\n\tFIX: {\n\t\ttemplate: `Fix any issues in the following code from file path \\${filePath}:\\${startLine}-\\${endLine}\n\\${diagnosticText}\n\\${userInput}\n\n\\`\\`\\`\n\\${selectedText}\n\\`\\`\\`\n\nPlease:\n1. Address all detected problems listed above (if any)\n2. Identify any other potential bugs or issues\n3. Provide corrected code\n4. Explain what was fixed and why`,\n\t},\n\tIMPROVE: {\n\t\ttemplate: `Improve the following code from file path \\${filePath}:\\${startLine}-\\${endLine}\n\\${userInput}\n\n\\`\\`\\`\n\\${selectedText}\n\\`\\`\\`\n\nPlease suggest improvements for:\n1. Code readability and maintainability\n2. Performance optimization\n3. Best practices and patterns\n4. Error handling and edge cases\n\nProvide the improved code along with explanations for each enhancement.`,\n\t},\n\tADD_TO_CONTEXT: {\n\t\ttemplate: `\\${filePath}:\\${startLine}-\\${endLine}\n\\`\\`\\`\n\\${selectedText}\n\\`\\`\\``,\n\t},\n\tTERMINAL_ADD_TO_CONTEXT: {\n\t\ttemplate: `\\${userInput}\nTerminal output:\n\\`\\`\\`\n\\${terminalContent}\n\\`\\`\\``,\n\t},\n\tTERMINAL_FIX: {\n\t\ttemplate: `\\${userInput}\nFix this terminal command:\n\\`\\`\\`\n\\${terminalContent}\n\\`\\`\\`\n\nPlease:\n1. Identify any issues in the command\n2. Provide the corrected command\n3. Explain what was fixed and why`,\n\t},\n\tTERMINAL_EXPLAIN: {\n\t\ttemplate: `\\${userInput}\nExplain this terminal command:\n\\`\\`\\`\n\\${terminalContent}\n\\`\\`\\`\n\nPlease provide:\n1. What the command does\n2. Explanation of each part/flag\n3. Expected output and behavior`,\n\t},\n\tNEW_TASK: {\n\t\ttemplate: `\\${userInput}`,\n\t},\n} as const\n\nexport const supportPrompt = {\n\tdefault: Object.fromEntries(Object.entries(supportPromptConfigs).map(([key, config]) => [key, config.template])),\n\tget: (customSupportPrompts: Record<string, any> | undefined, type: SupportPromptType): string => {\n\t\treturn customSupportPrompts?.[type] ?? supportPromptConfigs[type].template\n\t},\n\tcreate: (type: SupportPromptType, params: PromptParams, customSupportPrompts?: Record<string, any>): string => {\n\t\tconst template = supportPrompt.get(customSupportPrompts, type)\n\t\treturn createPrompt(template, params)\n\t},\n} as const\n\nexport type { SupportPromptType }\n\nexport type CustomSupportPrompts = {\n\t[key: string]: string | undefined\n}\n", + "import React, { useState, useEffect } from \"react\"\nimport { VSCodeTextArea, VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\n\nimport { supportPrompt, SupportPromptType } from \"@roo/support-prompt\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport {\n\tButton,\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n\tStandardTooltip,\n} from \"@src/components/ui\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport { Section } from \"./Section\"\nimport { MessageSquare } from \"lucide-react\"\n\ninterface PromptsSettingsProps {\n\tcustomSupportPrompts: Record<string, string | undefined>\n\tsetCustomSupportPrompts: (prompts: Record<string, string | undefined>) => void\n\tincludeTaskHistoryInEnhance?: boolean\n\tsetIncludeTaskHistoryInEnhance?: (value: boolean) => void\n}\n\nconst PromptsSettings = ({\n\tcustomSupportPrompts,\n\tsetCustomSupportPrompts,\n\tincludeTaskHistoryInEnhance: propsIncludeTaskHistoryInEnhance,\n\tsetIncludeTaskHistoryInEnhance: propsSetIncludeTaskHistoryInEnhance,\n}: PromptsSettingsProps) => {\n\tconst { t } = useAppTranslation()\n\tconst {\n\t\tlistApiConfigMeta,\n\t\tenhancementApiConfigId,\n\t\tsetEnhancementApiConfigId,\n\t\tcondensingApiConfigId,\n\t\tsetCondensingApiConfigId,\n\t\tcustomCondensingPrompt,\n\t\tsetCustomCondensingPrompt,\n\t\tincludeTaskHistoryInEnhance: contextIncludeTaskHistoryInEnhance,\n\t\tsetIncludeTaskHistoryInEnhance: contextSetIncludeTaskHistoryInEnhance,\n\t} = useExtensionState()\n\n\t// Use props if provided, otherwise fall back to context\n\tconst includeTaskHistoryInEnhance = propsIncludeTaskHistoryInEnhance ?? contextIncludeTaskHistoryInEnhance\n\tconst setIncludeTaskHistoryInEnhance = propsSetIncludeTaskHistoryInEnhance ?? contextSetIncludeTaskHistoryInEnhance\n\n\tconst [testPrompt, setTestPrompt] = useState(\"\")\n\tconst [isEnhancing, setIsEnhancing] = useState(false)\n\tconst [activeSupportOption, setActiveSupportOption] = useState<SupportPromptType>(\"ENHANCE\")\n\n\tuseEffect(() => {\n\t\tconst handler = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"enhancedPrompt\") {\n\t\t\t\tif (message.text) {\n\t\t\t\t\tsetTestPrompt(message.text)\n\t\t\t\t}\n\t\t\t\tsetIsEnhancing(false)\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handler)\n\t\treturn () => window.removeEventListener(\"message\", handler)\n\t}, [])\n\n\tconst updateSupportPrompt = (type: SupportPromptType, value: string | undefined) => {\n\t\tif (type === \"CONDENSE\") {\n\t\t\tsetCustomCondensingPrompt(value || supportPrompt.default.CONDENSE)\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"updateCondensingPrompt\",\n\t\t\t\ttext: value || supportPrompt.default.CONDENSE,\n\t\t\t})\n\t\t} else {\n\t\t\tconst updatedPrompts = { ...customSupportPrompts, [type]: value }\n\t\t\tsetCustomSupportPrompts(updatedPrompts)\n\t\t}\n\t}\n\n\tconst handleSupportReset = (type: SupportPromptType) => {\n\t\tif (type === \"CONDENSE\") {\n\t\t\tsetCustomCondensingPrompt(supportPrompt.default.CONDENSE)\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"updateCondensingPrompt\",\n\t\t\t\ttext: supportPrompt.default.CONDENSE,\n\t\t\t})\n\t\t} else {\n\t\t\tconst updatedPrompts = { ...customSupportPrompts }\n\t\t\tdelete updatedPrompts[type]\n\t\t\tsetCustomSupportPrompts(updatedPrompts)\n\t\t}\n\t}\n\n\tconst getSupportPromptValue = (type: SupportPromptType): string => {\n\t\tif (type === \"CONDENSE\") {\n\t\t\treturn customCondensingPrompt || supportPrompt.default.CONDENSE\n\t\t}\n\t\treturn supportPrompt.get(customSupportPrompts, type)\n\t}\n\n\tconst handleTestEnhancement = () => {\n\t\tif (!testPrompt.trim()) return\n\n\t\tsetIsEnhancing(true)\n\t\tvscode.postMessage({\n\t\t\ttype: \"enhancePrompt\",\n\t\t\ttext: testPrompt,\n\t\t})\n\t}\n\n\treturn (\n\t\t<div>\n\t\t\t<SectionHeader description={t(\"settings:prompts.description\")}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<MessageSquare className=\"w-4\" />\n\t\t\t\t\t<div>{t(\"settings:sections.prompts\")}</div>\n\t\t\t\t</div>\n\t\t\t</SectionHeader>\n\n\t\t\t<Section>\n\t\t\t\t<div>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tvalue={activeSupportOption}\n\t\t\t\t\t\tonValueChange={(type) => setActiveSupportOption(type as SupportPromptType)}>\n\t\t\t\t\t\t<SelectTrigger className=\"w-full\" data-testid=\"support-prompt-select-trigger\">\n\t\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t{Object.keys(supportPrompt.default).map((type) => (\n\t\t\t\t\t\t\t\t<SelectItem key={type} value={type} data-testid={`${type}-option`}>\n\t\t\t\t\t\t\t\t\t{t(`prompts:supportPrompts.types.${type}.label`)}\n\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t</Select>\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t\t{t(`prompts:supportPrompts.types.${activeSupportOption}.description`)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div key={activeSupportOption} className=\"mt-4\">\n\t\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t\t<label className=\"block font-medium\">{t(\"prompts:supportPrompts.prompt\")}</label>\n\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\tcontent={t(\"prompts:supportPrompts.resetPrompt\", {\n\t\t\t\t\t\t\t\tpromptType: activeSupportOption,\n\t\t\t\t\t\t\t})}>\n\t\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={() => handleSupportReset(activeSupportOption)}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\"></span>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\tvalue={getSupportPromptValue(activeSupportOption)}\n\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t(e as unknown as CustomEvent)?.detail?.target?.value ||\n\t\t\t\t\t\t\t\t((e as any).target as HTMLTextAreaElement).value\n\t\t\t\t\t\t\tconst trimmedValue = value.trim()\n\t\t\t\t\t\t\tupdateSupportPrompt(activeSupportOption, trimmedValue || undefined)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trows={6}\n\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t{(activeSupportOption === \"ENHANCE\" || activeSupportOption === \"CONDENSE\") && (\n\t\t\t\t\t\t<div className=\"mt-4 flex flex-col gap-3 pl-3 border-l-2 border-vscode-button-background\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t\t{activeSupportOption === \"ENHANCE\"\n\t\t\t\t\t\t\t\t\t\t? t(\"prompts:supportPrompts.enhance.apiConfiguration\")\n\t\t\t\t\t\t\t\t\t\t: t(\"prompts:supportPrompts.condense.apiConfiguration\")}\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tactiveSupportOption === \"ENHANCE\"\n\t\t\t\t\t\t\t\t\t\t\t? enhancementApiConfigId || \"-\"\n\t\t\t\t\t\t\t\t\t\t\t: condensingApiConfigId || \"-\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\t\t\t\t\t\tconst newConfigId = value === \"-\" ? \"\" : value\n\t\t\t\t\t\t\t\t\t\tif (activeSupportOption === \"ENHANCE\") {\n\t\t\t\t\t\t\t\t\t\t\tsetEnhancementApiConfigId(newConfigId)\n\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"enhancementApiConfigId\",\n\t\t\t\t\t\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetCondensingApiConfigId(newConfigId)\n\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"condensingApiConfigId\",\n\t\t\t\t\t\t\t\t\t\t\t\ttext: newConfigId,\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<SelectTrigger data-testid=\"api-config-select\" className=\"w-full\">\n\t\t\t\t\t\t\t\t\t\t<SelectValue\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\t\t\tactiveSupportOption === \"ENHANCE\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t? t(\"prompts:supportPrompts.enhance.useCurrentConfig\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t: t(\"prompts:supportPrompts.condense.useCurrentConfig\")\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"-\">\n\t\t\t\t\t\t\t\t\t\t\t{activeSupportOption === \"ENHANCE\"\n\t\t\t\t\t\t\t\t\t\t\t\t? t(\"prompts:supportPrompts.enhance.useCurrentConfig\")\n\t\t\t\t\t\t\t\t\t\t\t\t: t(\"prompts:supportPrompts.condense.useCurrentConfig\")}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t{(listApiConfigMeta || []).map((config) => (\n\t\t\t\t\t\t\t\t\t\t\t<SelectItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={config.id}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={config.id}\n\t\t\t\t\t\t\t\t\t\t\t\tdata-testid={`${config.id}-option`}>\n\t\t\t\t\t\t\t\t\t\t\t\t{config.name}\n\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t\t\t\t\t{activeSupportOption === \"ENHANCE\"\n\t\t\t\t\t\t\t\t\t\t? t(\"prompts:supportPrompts.enhance.apiConfigDescription\")\n\t\t\t\t\t\t\t\t\t\t: t(\"prompts:supportPrompts.condense.apiConfigDescription\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{activeSupportOption === \"ENHANCE\" && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={includeTaskHistoryInEnhance || false}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst value = e.target.checked\n\t\t\t\t\t\t\t\t\t\t\t\tsetIncludeTaskHistoryInEnhance(value)\n\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"includeTaskHistoryInEnhance\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tbool: value,\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"font-medium\">\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:supportPrompts.enhance.includeTaskHistory\")}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1 mb-3\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:supportPrompts.enhance.includeTaskHistoryDescription\")}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<label className=\"block font-medium mb-1\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:supportPrompts.enhance.testEnhancement\")}\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={testPrompt}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => setTestPrompt((e.target as HTMLTextAreaElement).value)}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"prompts:supportPrompts.enhance.testPromptPlaceholder\")}\n\t\t\t\t\t\t\t\t\t\t\trows={3}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"test-prompt-textarea\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<div className=\"mt-2 flex justify-start items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={handleTestEnhancement}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={isEnhancing}>\n\t\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:supportPrompts.enhance.previewButton\")}\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Section>\n\t\t</div>\n\t)\n}\n\nexport default PromptsSettings\n", + "import React, {\n\tforwardRef,\n\tmemo,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from \"react\"\nimport {\n\tCheckCheck,\n\tSquareMousePointer,\n\tWebhook,\n\tGitBranch,\n\tBell,\n\tDatabase,\n\tSquareTerminal,\n\tFlaskConical,\n\tAlertTriangle,\n\tGlobe,\n\tInfo,\n\tMessageSquare,\n\tLucideIcon,\n} from \"lucide-react\"\n\nimport type { ProviderSettings, ExperimentId } from \"@roo-code/types\"\n\nimport { TelemetrySetting } from \"@roo/TelemetrySetting\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { ExtensionStateContextType, useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport {\n\tAlertDialog,\n\tAlertDialogContent,\n\tAlertDialogTitle,\n\tAlertDialogDescription,\n\tAlertDialogCancel,\n\tAlertDialogAction,\n\tAlertDialogHeader,\n\tAlertDialogFooter,\n\tButton,\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n\tStandardTooltip,\n} from \"@src/components/ui\"\n\nimport { Tab, TabContent, TabHeader, TabList, TabTrigger } from \"../common/Tab\"\nimport { SetCachedStateField, SetExperimentEnabled } from \"./types\"\nimport { SectionHeader } from \"./SectionHeader\"\nimport ApiConfigManager from \"./ApiConfigManager\"\nimport ApiOptions from \"./ApiOptions\"\nimport { AutoApproveSettings } from \"./AutoApproveSettings\"\nimport { BrowserSettings } from \"./BrowserSettings\"\nimport { CheckpointSettings } from \"./CheckpointSettings\"\nimport { NotificationSettings } from \"./NotificationSettings\"\nimport { ContextManagementSettings } from \"./ContextManagementSettings\"\nimport { TerminalSettings } from \"./TerminalSettings\"\nimport { ExperimentalSettings } from \"./ExperimentalSettings\"\nimport { LanguageSettings } from \"./LanguageSettings\"\nimport { About } from \"./About\"\nimport { Section } from \"./Section\"\nimport PromptsSettings from \"./PromptsSettings\"\nimport { cn } from \"@/lib/utils\"\n\nexport const settingsTabsContainer = \"flex flex-1 overflow-hidden [&.narrow_.tab-label]:hidden\"\nexport const settingsTabList =\n\t\"w-48 data-[compact=true]:w-12 flex-shrink-0 flex flex-col overflow-y-auto overflow-x-hidden border-r border-vscode-sideBar-background\"\nexport const settingsTabTrigger =\n\t\"whitespace-nowrap overflow-hidden min-w-0 h-12 px-4 py-3 box-border flex items-center border-l-2 border-transparent text-vscode-foreground opacity-70 hover:bg-vscode-list-hoverBackground data-[compact=true]:w-12 data-[compact=true]:p-4\"\nexport const settingsTabTriggerActive = \"opacity-100 border-vscode-focusBorder bg-vscode-list-activeSelectionBackground\"\n\nexport interface SettingsViewRef {\n\tcheckUnsaveChanges: (then: () => void) => void\n}\n\nconst sectionNames = [\n\t\"providers\",\n\t\"autoApprove\",\n\t\"browser\",\n\t\"checkpoints\",\n\t\"notifications\",\n\t\"contextManagement\",\n\t\"terminal\",\n\t\"prompts\",\n\t\"experimental\",\n\t\"language\",\n\t\"about\",\n] as const\n\ntype SectionName = (typeof sectionNames)[number]\n\ntype SettingsViewProps = {\n\tonDone: () => void\n\ttargetSection?: string\n}\n\nconst SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, targetSection }, ref) => {\n\tconst { t } = useAppTranslation()\n\n\tconst extensionState = useExtensionState()\n\tconst { currentApiConfigName, listApiConfigMeta, uriScheme, settingsImportedAt } = extensionState\n\n\tconst [isDiscardDialogShow, setDiscardDialogShow] = useState(false)\n\tconst [isChangeDetected, setChangeDetected] = useState(false)\n\tconst [errorMessage, setErrorMessage] = useState<string | undefined>(undefined)\n\tconst [activeTab, setActiveTab] = useState<SectionName>(\n\t\ttargetSection && sectionNames.includes(targetSection as SectionName)\n\t\t\t? (targetSection as SectionName)\n\t\t\t: \"providers\",\n\t)\n\n\tconst prevApiConfigName = useRef(currentApiConfigName)\n\tconst confirmDialogHandler = useRef<() => void>()\n\n\tconst [cachedState, setCachedState] = useState(extensionState)\n\n\tconst {\n\t\talwaysAllowReadOnly,\n\t\talwaysAllowReadOnlyOutsideWorkspace,\n\t\tallowedCommands,\n\t\tdeniedCommands,\n\t\tallowedMaxRequests,\n\t\tallowedMaxCost,\n\t\tlanguage,\n\t\talwaysAllowBrowser,\n\t\talwaysAllowExecute,\n\t\talwaysAllowMcp,\n\t\talwaysAllowModeSwitch,\n\t\talwaysAllowSubtasks,\n\t\talwaysAllowWrite,\n\t\talwaysAllowWriteOutsideWorkspace,\n\t\talwaysAllowWriteProtected,\n\t\talwaysApproveResubmit,\n\t\tautoCondenseContext,\n\t\tautoCondenseContextPercent,\n\t\tbrowserToolEnabled,\n\t\tbrowserViewportSize,\n\t\tenableCheckpoints,\n\t\tdiffEnabled,\n\t\texperiments,\n\t\tfuzzyMatchThreshold,\n\t\tmaxOpenTabsContext,\n\t\tmaxWorkspaceFiles,\n\t\tmcpEnabled,\n\t\trequestDelaySeconds,\n\t\tremoteBrowserHost,\n\t\tscreenshotQuality,\n\t\tsoundEnabled,\n\t\tttsEnabled,\n\t\tttsSpeed,\n\t\tsoundVolume,\n\t\ttelemetrySetting,\n\t\tterminalOutputLineLimit,\n\t\tterminalOutputCharacterLimit,\n\t\tterminalShellIntegrationTimeout,\n\t\tterminalShellIntegrationDisabled, // Added from upstream\n\t\tterminalCommandDelay,\n\t\tterminalPowershellCounter,\n\t\tterminalZshClearEolMark,\n\t\tterminalZshOhMy,\n\t\tterminalZshP10k,\n\t\tterminalZdotdir,\n\t\twriteDelayMs,\n\t\tshowRooIgnoredFiles,\n\t\tremoteBrowserEnabled,\n\t\tmaxReadFileLine,\n\t\tmaxImageFileSize,\n\t\tmaxTotalImageSize,\n\t\tterminalCompressProgressBar,\n\t\tmaxConcurrentFileReads,\n\t\tcondensingApiConfigId,\n\t\tcustomCondensingPrompt,\n\t\tcustomSupportPrompts,\n\t\tprofileThresholds,\n\t\talwaysAllowFollowupQuestions,\n\t\talwaysAllowUpdateTodoList,\n\t\tfollowupAutoApproveTimeoutMs,\n\t\tincludeDiagnosticMessages,\n\t\tmaxDiagnosticMessages,\n\t\tincludeTaskHistoryInEnhance,\n\t} = cachedState\n\n\tconst apiConfiguration = useMemo(() => cachedState.apiConfiguration ?? {}, [cachedState.apiConfiguration])\n\n\tuseEffect(() => {\n\t\t// Update only when currentApiConfigName is changed.\n\t\t// Expected to be triggered by loadApiConfiguration/upsertApiConfiguration.\n\t\tif (prevApiConfigName.current === currentApiConfigName) {\n\t\t\treturn\n\t\t}\n\n\t\tsetCachedState((prevCachedState) => ({ ...prevCachedState, ...extensionState }))\n\t\tprevApiConfigName.current = currentApiConfigName\n\t\tsetChangeDetected(false)\n\t}, [currentApiConfigName, extensionState, isChangeDetected])\n\n\t// Bust the cache when settings are imported.\n\tuseEffect(() => {\n\t\tif (settingsImportedAt) {\n\t\t\tsetCachedState((prevCachedState) => ({ ...prevCachedState, ...extensionState }))\n\t\t\tsetChangeDetected(false)\n\t\t}\n\t}, [settingsImportedAt, extensionState])\n\n\tconst setCachedStateField: SetCachedStateField<keyof ExtensionStateContextType> = useCallback((field, value) => {\n\t\tsetCachedState((prevState) => {\n\t\t\tif (prevState[field] === value) {\n\t\t\t\treturn prevState\n\t\t\t}\n\n\t\t\tsetChangeDetected(true)\n\t\t\treturn { ...prevState, [field]: value }\n\t\t})\n\t}, [])\n\n\tconst setApiConfigurationField = useCallback(\n\t\t<K extends keyof ProviderSettings>(field: K, value: ProviderSettings[K]) => {\n\t\t\tsetCachedState((prevState) => {\n\t\t\t\tif (prevState.apiConfiguration?.[field] === value) {\n\t\t\t\t\treturn prevState\n\t\t\t\t}\n\n\t\t\t\tconst previousValue = prevState.apiConfiguration?.[field]\n\n\t\t\t\t// Don't treat initial sync from undefined to a defined value as a user change\n\t\t\t\t// This prevents the dirty state when the component initializes and auto-syncs the model ID\n\t\t\t\tconst isInitialSync = previousValue === undefined && value !== undefined\n\n\t\t\t\tif (!isInitialSync) {\n\t\t\t\t\tsetChangeDetected(true)\n\t\t\t\t}\n\t\t\t\treturn { ...prevState, apiConfiguration: { ...prevState.apiConfiguration, [field]: value } }\n\t\t\t})\n\t\t},\n\t\t[],\n\t)\n\n\tconst setExperimentEnabled: SetExperimentEnabled = useCallback((id: ExperimentId, enabled: boolean) => {\n\t\tsetCachedState((prevState) => {\n\t\t\tif (prevState.experiments?.[id] === enabled) {\n\t\t\t\treturn prevState\n\t\t\t}\n\n\t\t\tsetChangeDetected(true)\n\t\t\treturn { ...prevState, experiments: { ...prevState.experiments, [id]: enabled } }\n\t\t})\n\t}, [])\n\n\tconst setTelemetrySetting = useCallback((setting: TelemetrySetting) => {\n\t\tsetCachedState((prevState) => {\n\t\t\tif (prevState.telemetrySetting === setting) {\n\t\t\t\treturn prevState\n\t\t\t}\n\n\t\t\tsetChangeDetected(true)\n\t\t\treturn { ...prevState, telemetrySetting: setting }\n\t\t})\n\t}, [])\n\n\tconst setCustomSupportPromptsField = useCallback((prompts: Record<string, string | undefined>) => {\n\t\tsetCachedState((prevState) => {\n\t\t\tif (JSON.stringify(prevState.customSupportPrompts) === JSON.stringify(prompts)) {\n\t\t\t\treturn prevState\n\t\t\t}\n\n\t\t\tsetChangeDetected(true)\n\t\t\treturn { ...prevState, customSupportPrompts: prompts }\n\t\t})\n\t}, [])\n\n\tconst isSettingValid = !errorMessage\n\n\tconst handleSubmit = () => {\n\t\tif (isSettingValid) {\n\t\t\tvscode.postMessage({ type: \"language\", text: language })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowReadOnly\", bool: alwaysAllowReadOnly })\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"alwaysAllowReadOnlyOutsideWorkspace\",\n\t\t\t\tbool: alwaysAllowReadOnlyOutsideWorkspace,\n\t\t\t})\n\t\t\tvscode.postMessage({ type: \"alwaysAllowWrite\", bool: alwaysAllowWrite })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowWriteOutsideWorkspace\", bool: alwaysAllowWriteOutsideWorkspace })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowWriteProtected\", bool: alwaysAllowWriteProtected })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowExecute\", bool: alwaysAllowExecute })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowBrowser\", bool: alwaysAllowBrowser })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowMcp\", bool: alwaysAllowMcp })\n\t\t\tvscode.postMessage({ type: \"allowedCommands\", commands: allowedCommands ?? [] })\n\t\t\tvscode.postMessage({ type: \"deniedCommands\", commands: deniedCommands ?? [] })\n\t\t\tvscode.postMessage({ type: \"allowedMaxRequests\", value: allowedMaxRequests ?? undefined })\n\t\t\tvscode.postMessage({ type: \"allowedMaxCost\", value: allowedMaxCost ?? undefined })\n\t\t\tvscode.postMessage({ type: \"autoCondenseContext\", bool: autoCondenseContext })\n\t\t\tvscode.postMessage({ type: \"autoCondenseContextPercent\", value: autoCondenseContextPercent })\n\t\t\tvscode.postMessage({ type: \"browserToolEnabled\", bool: browserToolEnabled })\n\t\t\tvscode.postMessage({ type: \"soundEnabled\", bool: soundEnabled })\n\t\t\tvscode.postMessage({ type: \"ttsEnabled\", bool: ttsEnabled })\n\t\t\tvscode.postMessage({ type: \"ttsSpeed\", value: ttsSpeed })\n\t\t\tvscode.postMessage({ type: \"soundVolume\", value: soundVolume })\n\t\t\tvscode.postMessage({ type: \"diffEnabled\", bool: diffEnabled })\n\t\t\tvscode.postMessage({ type: \"enableCheckpoints\", bool: enableCheckpoints })\n\t\t\tvscode.postMessage({ type: \"browserViewportSize\", text: browserViewportSize })\n\t\t\tvscode.postMessage({ type: \"remoteBrowserHost\", text: remoteBrowserHost })\n\t\t\tvscode.postMessage({ type: \"remoteBrowserEnabled\", bool: remoteBrowserEnabled })\n\t\t\tvscode.postMessage({ type: \"fuzzyMatchThreshold\", value: fuzzyMatchThreshold ?? 1.0 })\n\t\t\tvscode.postMessage({ type: \"writeDelayMs\", value: writeDelayMs })\n\t\t\tvscode.postMessage({ type: \"screenshotQuality\", value: screenshotQuality ?? 75 })\n\t\t\tvscode.postMessage({ type: \"terminalOutputLineLimit\", value: terminalOutputLineLimit ?? 500 })\n\t\t\tvscode.postMessage({ type: \"terminalOutputCharacterLimit\", value: terminalOutputCharacterLimit ?? 50000 })\n\t\t\tvscode.postMessage({ type: \"terminalShellIntegrationTimeout\", value: terminalShellIntegrationTimeout })\n\t\t\tvscode.postMessage({ type: \"terminalShellIntegrationDisabled\", bool: terminalShellIntegrationDisabled })\n\t\t\tvscode.postMessage({ type: \"terminalCommandDelay\", value: terminalCommandDelay })\n\t\t\tvscode.postMessage({ type: \"terminalPowershellCounter\", bool: terminalPowershellCounter })\n\t\t\tvscode.postMessage({ type: \"terminalZshClearEolMark\", bool: terminalZshClearEolMark })\n\t\t\tvscode.postMessage({ type: \"terminalZshOhMy\", bool: terminalZshOhMy })\n\t\t\tvscode.postMessage({ type: \"terminalZshP10k\", bool: terminalZshP10k })\n\t\t\tvscode.postMessage({ type: \"terminalZdotdir\", bool: terminalZdotdir })\n\t\t\tvscode.postMessage({ type: \"terminalCompressProgressBar\", bool: terminalCompressProgressBar })\n\t\t\tvscode.postMessage({ type: \"mcpEnabled\", bool: mcpEnabled })\n\t\t\tvscode.postMessage({ type: \"alwaysApproveResubmit\", bool: alwaysApproveResubmit })\n\t\t\tvscode.postMessage({ type: \"requestDelaySeconds\", value: requestDelaySeconds })\n\t\t\tvscode.postMessage({ type: \"maxOpenTabsContext\", value: maxOpenTabsContext })\n\t\t\tvscode.postMessage({ type: \"maxWorkspaceFiles\", value: maxWorkspaceFiles ?? 200 })\n\t\t\tvscode.postMessage({ type: \"showRooIgnoredFiles\", bool: showRooIgnoredFiles })\n\t\t\tvscode.postMessage({ type: \"maxReadFileLine\", value: maxReadFileLine ?? -1 })\n\t\t\tvscode.postMessage({ type: \"maxImageFileSize\", value: maxImageFileSize ?? 5 })\n\t\t\tvscode.postMessage({ type: \"maxTotalImageSize\", value: maxTotalImageSize ?? 20 })\n\t\t\tvscode.postMessage({ type: \"maxConcurrentFileReads\", value: cachedState.maxConcurrentFileReads ?? 5 })\n\t\t\tvscode.postMessage({ type: \"includeDiagnosticMessages\", bool: includeDiagnosticMessages })\n\t\t\tvscode.postMessage({ type: \"maxDiagnosticMessages\", value: maxDiagnosticMessages ?? 50 })\n\t\t\tvscode.postMessage({ type: \"currentApiConfigName\", text: currentApiConfigName })\n\t\t\tvscode.postMessage({ type: \"updateExperimental\", values: experiments })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowModeSwitch\", bool: alwaysAllowModeSwitch })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowSubtasks\", bool: alwaysAllowSubtasks })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowFollowupQuestions\", bool: alwaysAllowFollowupQuestions })\n\t\t\tvscode.postMessage({ type: \"alwaysAllowUpdateTodoList\", bool: alwaysAllowUpdateTodoList })\n\t\t\tvscode.postMessage({ type: \"followupAutoApproveTimeoutMs\", value: followupAutoApproveTimeoutMs })\n\t\t\tvscode.postMessage({ type: \"condensingApiConfigId\", text: condensingApiConfigId || \"\" })\n\t\t\tvscode.postMessage({ type: \"updateCondensingPrompt\", text: customCondensingPrompt || \"\" })\n\t\t\tvscode.postMessage({ type: \"updateSupportPrompt\", values: customSupportPrompts || {} })\n\t\t\tvscode.postMessage({ type: \"includeTaskHistoryInEnhance\", bool: includeTaskHistoryInEnhance ?? false })\n\t\t\tvscode.postMessage({ type: \"upsertApiConfiguration\", text: currentApiConfigName, apiConfiguration })\n\t\t\tvscode.postMessage({ type: \"telemetrySetting\", text: telemetrySetting })\n\t\t\tvscode.postMessage({ type: \"profileThresholds\", values: profileThresholds })\n\t\t\tsetChangeDetected(false)\n\t\t}\n\t}\n\n\tconst checkUnsaveChanges = useCallback(\n\t\t(then: () => void) => {\n\t\t\tif (isChangeDetected) {\n\t\t\t\tconfirmDialogHandler.current = then\n\t\t\t\tsetDiscardDialogShow(true)\n\t\t\t} else {\n\t\t\t\tthen()\n\t\t\t}\n\t\t},\n\t\t[isChangeDetected],\n\t)\n\n\tuseImperativeHandle(ref, () => ({ checkUnsaveChanges }), [checkUnsaveChanges])\n\n\tconst onConfirmDialogResult = useCallback(\n\t\t(confirm: boolean) => {\n\t\t\tif (confirm) {\n\t\t\t\t// Discard changes: Reset state and flag\n\t\t\t\tsetCachedState(extensionState) // Revert to original state\n\t\t\t\tsetChangeDetected(false) // Reset change flag\n\t\t\t\tconfirmDialogHandler.current?.() // Execute the pending action (e.g., tab switch)\n\t\t\t}\n\t\t\t// If confirm is false (Cancel), do nothing, dialog closes automatically\n\t\t},\n\t\t[extensionState], // Depend on extensionState to get the latest original state\n\t)\n\n\t// Handle tab changes with unsaved changes check\n\tconst handleTabChange = useCallback(\n\t\t(newTab: SectionName) => {\n\t\t\t// Directly switch tab without checking for unsaved changes\n\t\t\tsetActiveTab(newTab)\n\t\t},\n\t\t[], // No dependency on isChangeDetected needed anymore\n\t)\n\n\t// Store direct DOM element refs for each tab\n\tconst tabRefs = useRef<Record<SectionName, HTMLButtonElement | null>>(\n\t\tObject.fromEntries(sectionNames.map((name) => [name, null])) as Record<SectionName, HTMLButtonElement | null>,\n\t)\n\n\t// Track whether we're in compact mode\n\tconst [isCompactMode, setIsCompactMode] = useState(false)\n\tconst containerRef = useRef<HTMLDivElement>(null)\n\n\t// Setup resize observer to detect when we should switch to compact mode\n\tuseEffect(() => {\n\t\tif (!containerRef.current) return\n\n\t\tconst observer = new ResizeObserver((entries) => {\n\t\t\tfor (const entry of entries) {\n\t\t\t\t// If container width is less than 500px, switch to compact mode\n\t\t\t\tsetIsCompactMode(entry.contentRect.width < 500)\n\t\t\t}\n\t\t})\n\n\t\tobserver.observe(containerRef.current)\n\n\t\treturn () => {\n\t\t\tobserver?.disconnect()\n\t\t}\n\t}, [])\n\n\tconst sections: { id: SectionName; icon: LucideIcon }[] = useMemo(\n\t\t() => [\n\t\t\t{ id: \"providers\", icon: Webhook },\n\t\t\t{ id: \"autoApprove\", icon: CheckCheck },\n\t\t\t{ id: \"browser\", icon: SquareMousePointer },\n\t\t\t{ id: \"checkpoints\", icon: GitBranch },\n\t\t\t{ id: \"notifications\", icon: Bell },\n\t\t\t{ id: \"contextManagement\", icon: Database },\n\t\t\t{ id: \"terminal\", icon: SquareTerminal },\n\t\t\t{ id: \"prompts\", icon: MessageSquare },\n\t\t\t{ id: \"experimental\", icon: FlaskConical },\n\t\t\t{ id: \"language\", icon: Globe },\n\t\t\t{ id: \"about\", icon: Info },\n\t\t],\n\t\t[], // No dependencies needed now\n\t)\n\n\t// Update target section logic to set active tab\n\tuseEffect(() => {\n\t\tif (targetSection && sectionNames.includes(targetSection as SectionName)) {\n\t\t\tsetActiveTab(targetSection as SectionName)\n\t\t}\n\t}, [targetSection])\n\n\t// Function to scroll the active tab into view for vertical layout\n\tconst scrollToActiveTab = useCallback(() => {\n\t\tconst activeTabElement = tabRefs.current[activeTab]\n\n\t\tif (activeTabElement) {\n\t\t\tactiveTabElement.scrollIntoView({\n\t\t\t\tbehavior: \"auto\",\n\t\t\t\tblock: \"nearest\",\n\t\t\t})\n\t\t}\n\t}, [activeTab])\n\n\t// Effect to scroll when the active tab changes\n\tuseEffect(() => {\n\t\tscrollToActiveTab()\n\t}, [activeTab, scrollToActiveTab])\n\n\t// Effect to scroll when the webview becomes visible\n\tuseLayoutEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"action\" && message.action === \"didBecomeVisible\") {\n\t\t\t\tscrollToActiveTab()\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage)\n\t\t}\n\t}, [scrollToActiveTab])\n\n\treturn (\n\t\t<Tab>\n\t\t\t<TabHeader className=\"flex justify-between items-center gap-2\">\n\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t<h3 className=\"text-vscode-foreground m-0\">{t(\"settings:header.title\")}</h3>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t!isSettingValid\n\t\t\t\t\t\t\t\t? errorMessage\n\t\t\t\t\t\t\t\t: isChangeDetected\n\t\t\t\t\t\t\t\t\t? t(\"settings:header.saveButtonTooltip\")\n\t\t\t\t\t\t\t\t\t: t(\"settings:header.nothingChangedTooltip\")\n\t\t\t\t\t\t}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant={isSettingValid ? \"default\" : \"secondary\"}\n\t\t\t\t\t\t\tclassName={!isSettingValid ? \"!border-vscode-errorForeground\" : \"\"}\n\t\t\t\t\t\t\tonClick={handleSubmit}\n\t\t\t\t\t\t\tdisabled={!isChangeDetected || !isSettingValid}\n\t\t\t\t\t\t\tdata-testid=\"save-button\">\n\t\t\t\t\t\t\t{t(\"settings:common.save\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t<StandardTooltip content={t(\"settings:header.doneButtonTooltip\")}>\n\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => checkUnsaveChanges(onDone)}>\n\t\t\t\t\t\t\t{t(\"settings:common.done\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</StandardTooltip>\n\t\t\t\t</div>\n\t\t\t</TabHeader>\n\n\t\t\t{/* Vertical tabs layout */}\n\t\t\t<div ref={containerRef} className={cn(settingsTabsContainer, isCompactMode && \"narrow\")}>\n\t\t\t\t{/* Tab sidebar */}\n\t\t\t\t<TabList\n\t\t\t\t\tvalue={activeTab}\n\t\t\t\t\tonValueChange={(value) => handleTabChange(value as SectionName)}\n\t\t\t\t\tclassName={cn(settingsTabList)}\n\t\t\t\t\tdata-compact={isCompactMode}\n\t\t\t\t\tdata-testid=\"settings-tab-list\">\n\t\t\t\t\t{sections.map(({ id, icon: Icon }) => {\n\t\t\t\t\t\tconst isSelected = id === activeTab\n\t\t\t\t\t\tconst onSelect = () => handleTabChange(id)\n\n\t\t\t\t\t\t// Base TabTrigger component definition\n\t\t\t\t\t\t// We pass isSelected manually for styling, but onSelect is handled conditionally\n\t\t\t\t\t\tconst triggerComponent = (\n\t\t\t\t\t\t\t<TabTrigger\n\t\t\t\t\t\t\t\tref={(element) => (tabRefs.current[id] = element)}\n\t\t\t\t\t\t\t\tvalue={id}\n\t\t\t\t\t\t\t\tisSelected={isSelected} // Pass manually for styling state\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\tisSelected // Use manual isSelected for styling\n\t\t\t\t\t\t\t\t\t\t? `${settingsTabTrigger} ${settingsTabTriggerActive}`\n\t\t\t\t\t\t\t\t\t\t: settingsTabTrigger,\n\t\t\t\t\t\t\t\t\t\"focus:ring-0\", // Remove the focus ring styling\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tdata-testid={`tab-${id}`}\n\t\t\t\t\t\t\t\tdata-compact={isCompactMode}>\n\t\t\t\t\t\t\t\t<div className={cn(\"flex items-center gap-2\", isCompactMode && \"justify-center\")}>\n\t\t\t\t\t\t\t\t\t<Icon className=\"w-4 h-4\" />\n\t\t\t\t\t\t\t\t\t<span className=\"tab-label\">{t(`settings:sections.${id}`)}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</TabTrigger>\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tif (isCompactMode) {\n\t\t\t\t\t\t\t// Wrap in Tooltip and manually add onClick to the trigger\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<TooltipProvider key={id} delayDuration={300}>\n\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t<TooltipTrigger asChild onClick={onSelect}>\n\t\t\t\t\t\t\t\t\t\t\t{/* Clone to avoid ref issues if triggerComponent itself had a key */}\n\t\t\t\t\t\t\t\t\t\t\t{React.cloneElement(triggerComponent)}\n\t\t\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t<TooltipContent side=\"right\" className=\"text-base\">\n\t\t\t\t\t\t\t\t\t\t\t<p className=\"m-0\">{t(`settings:sections.${id}`)}</p>\n\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t</TooltipProvider>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Render trigger directly; TabList will inject onSelect via cloning\n\t\t\t\t\t\t\t// Ensure the element passed to TabList has the key\n\t\t\t\t\t\t\treturn React.cloneElement(triggerComponent, { key: id })\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t</TabList>\n\n\t\t\t\t{/* Content area */}\n\t\t\t\t<TabContent className=\"p-0 flex-1 overflow-auto\">\n\t\t\t\t\t{/* Providers Section */}\n\t\t\t\t\t{activeTab === \"providers\" && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<SectionHeader>\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t\t\t\t<Webhook className=\"w-4\" />\n\t\t\t\t\t\t\t\t\t<div>{t(\"settings:sections.providers\")}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</SectionHeader>\n\n\t\t\t\t\t\t\t<Section>\n\t\t\t\t\t\t\t\t<ApiConfigManager\n\t\t\t\t\t\t\t\t\tcurrentApiConfigName={currentApiConfigName}\n\t\t\t\t\t\t\t\t\tlistApiConfigMeta={listApiConfigMeta}\n\t\t\t\t\t\t\t\t\tonSelectConfig={(configName: string) =>\n\t\t\t\t\t\t\t\t\t\tcheckUnsaveChanges(() =>\n\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"loadApiConfiguration\", text: configName }),\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonDeleteConfig={(configName: string) =>\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"deleteApiConfiguration\", text: configName })\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonRenameConfig={(oldName: string, newName: string) => {\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"renameApiConfiguration\",\n\t\t\t\t\t\t\t\t\t\t\tvalues: { oldName, newName },\n\t\t\t\t\t\t\t\t\t\t\tapiConfiguration,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\tprevApiConfigName.current = newName\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonUpsertConfig={(configName: string) =>\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"upsertApiConfiguration\",\n\t\t\t\t\t\t\t\t\t\t\ttext: configName,\n\t\t\t\t\t\t\t\t\t\t\tapiConfiguration,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ApiOptions\n\t\t\t\t\t\t\t\t\turiScheme={uriScheme}\n\t\t\t\t\t\t\t\t\tapiConfiguration={apiConfiguration}\n\t\t\t\t\t\t\t\t\tsetApiConfigurationField={setApiConfigurationField}\n\t\t\t\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t\t\t\t\tsetErrorMessage={setErrorMessage}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Section>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Auto-Approve Section */}\n\t\t\t\t\t{activeTab === \"autoApprove\" && (\n\t\t\t\t\t\t<AutoApproveSettings\n\t\t\t\t\t\t\talwaysAllowReadOnly={alwaysAllowReadOnly}\n\t\t\t\t\t\t\talwaysAllowReadOnlyOutsideWorkspace={alwaysAllowReadOnlyOutsideWorkspace}\n\t\t\t\t\t\t\talwaysAllowWrite={alwaysAllowWrite}\n\t\t\t\t\t\t\talwaysAllowWriteOutsideWorkspace={alwaysAllowWriteOutsideWorkspace}\n\t\t\t\t\t\t\talwaysAllowWriteProtected={alwaysAllowWriteProtected}\n\t\t\t\t\t\t\talwaysAllowBrowser={alwaysAllowBrowser}\n\t\t\t\t\t\t\talwaysApproveResubmit={alwaysApproveResubmit}\n\t\t\t\t\t\t\trequestDelaySeconds={requestDelaySeconds}\n\t\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\t\talwaysAllowModeSwitch={alwaysAllowModeSwitch}\n\t\t\t\t\t\t\talwaysAllowSubtasks={alwaysAllowSubtasks}\n\t\t\t\t\t\t\talwaysAllowExecute={alwaysAllowExecute}\n\t\t\t\t\t\t\talwaysAllowFollowupQuestions={alwaysAllowFollowupQuestions}\n\t\t\t\t\t\t\talwaysAllowUpdateTodoList={alwaysAllowUpdateTodoList}\n\t\t\t\t\t\t\tfollowupAutoApproveTimeoutMs={followupAutoApproveTimeoutMs}\n\t\t\t\t\t\t\tallowedCommands={allowedCommands}\n\t\t\t\t\t\t\tdeniedCommands={deniedCommands}\n\t\t\t\t\t\t\tsetCachedStateField={setCachedStateField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Browser Section */}\n\t\t\t\t\t{activeTab === \"browser\" && (\n\t\t\t\t\t\t<BrowserSettings\n\t\t\t\t\t\t\tbrowserToolEnabled={browserToolEnabled}\n\t\t\t\t\t\t\tbrowserViewportSize={browserViewportSize}\n\t\t\t\t\t\t\tscreenshotQuality={screenshotQuality}\n\t\t\t\t\t\t\tremoteBrowserHost={remoteBrowserHost}\n\t\t\t\t\t\t\tremoteBrowserEnabled={remoteBrowserEnabled}\n\t\t\t\t\t\t\tsetCachedStateField={setCachedStateField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Checkpoints Section */}\n\t\t\t\t\t{activeTab === \"checkpoints\" && (\n\t\t\t\t\t\t<CheckpointSettings\n\t\t\t\t\t\t\tenableCheckpoints={enableCheckpoints}\n\t\t\t\t\t\t\tsetCachedStateField={setCachedStateField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Notifications Section */}\n\t\t\t\t\t{activeTab === \"notifications\" && (\n\t\t\t\t\t\t<NotificationSettings\n\t\t\t\t\t\t\tttsEnabled={ttsEnabled}\n\t\t\t\t\t\t\tttsSpeed={ttsSpeed}\n\t\t\t\t\t\t\tsoundEnabled={soundEnabled}\n\t\t\t\t\t\t\tsoundVolume={soundVolume}\n\t\t\t\t\t\t\tsetCachedStateField={setCachedStateField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Context Management Section */}\n\t\t\t\t\t{activeTab === \"contextManagement\" && (\n\t\t\t\t\t\t<ContextManagementSettings\n\t\t\t\t\t\t\tautoCondenseContext={autoCondenseContext}\n\t\t\t\t\t\t\tautoCondenseContextPercent={autoCondenseContextPercent}\n\t\t\t\t\t\t\tlistApiConfigMeta={listApiConfigMeta ?? []}\n\t\t\t\t\t\t\tmaxOpenTabsContext={maxOpenTabsContext}\n\t\t\t\t\t\t\tmaxWorkspaceFiles={maxWorkspaceFiles ?? 200}\n\t\t\t\t\t\t\tshowRooIgnoredFiles={showRooIgnoredFiles}\n\t\t\t\t\t\t\tmaxReadFileLine={maxReadFileLine}\n\t\t\t\t\t\t\tmaxImageFileSize={maxImageFileSize}\n\t\t\t\t\t\t\tmaxTotalImageSize={maxTotalImageSize}\n\t\t\t\t\t\t\tmaxConcurrentFileReads={maxConcurrentFileReads}\n\t\t\t\t\t\t\tprofileThresholds={profileThresholds}\n\t\t\t\t\t\t\tincludeDiagnosticMessages={includeDiagnosticMessages}\n\t\t\t\t\t\t\tmaxDiagnosticMessages={maxDiagnosticMessages}\n\t\t\t\t\t\t\twriteDelayMs={writeDelayMs}\n\t\t\t\t\t\t\tsetCachedStateField={setCachedStateField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Terminal Section */}\n\t\t\t\t\t{activeTab === \"terminal\" && (\n\t\t\t\t\t\t<TerminalSettings\n\t\t\t\t\t\t\tterminalOutputLineLimit={terminalOutputLineLimit}\n\t\t\t\t\t\t\tterminalOutputCharacterLimit={terminalOutputCharacterLimit}\n\t\t\t\t\t\t\tterminalShellIntegrationTimeout={terminalShellIntegrationTimeout}\n\t\t\t\t\t\t\tterminalShellIntegrationDisabled={terminalShellIntegrationDisabled}\n\t\t\t\t\t\t\tterminalCommandDelay={terminalCommandDelay}\n\t\t\t\t\t\t\tterminalPowershellCounter={terminalPowershellCounter}\n\t\t\t\t\t\t\tterminalZshClearEolMark={terminalZshClearEolMark}\n\t\t\t\t\t\t\tterminalZshOhMy={terminalZshOhMy}\n\t\t\t\t\t\t\tterminalZshP10k={terminalZshP10k}\n\t\t\t\t\t\t\tterminalZdotdir={terminalZdotdir}\n\t\t\t\t\t\t\tterminalCompressProgressBar={terminalCompressProgressBar}\n\t\t\t\t\t\t\tsetCachedStateField={setCachedStateField}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Prompts Section */}\n\t\t\t\t\t{activeTab === \"prompts\" && (\n\t\t\t\t\t\t<PromptsSettings\n\t\t\t\t\t\t\tcustomSupportPrompts={customSupportPrompts || {}}\n\t\t\t\t\t\t\tsetCustomSupportPrompts={setCustomSupportPromptsField}\n\t\t\t\t\t\t\tincludeTaskHistoryInEnhance={includeTaskHistoryInEnhance}\n\t\t\t\t\t\t\tsetIncludeTaskHistoryInEnhance={(value) =>\n\t\t\t\t\t\t\t\tsetCachedStateField(\"includeTaskHistoryInEnhance\", value)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Experimental Section */}\n\t\t\t\t\t{activeTab === \"experimental\" && (\n\t\t\t\t\t\t<ExperimentalSettings setExperimentEnabled={setExperimentEnabled} experiments={experiments} />\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Language Section */}\n\t\t\t\t\t{activeTab === \"language\" && (\n\t\t\t\t\t\t<LanguageSettings language={language || \"en\"} setCachedStateField={setCachedStateField} />\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* About Section */}\n\t\t\t\t\t{activeTab === \"about\" && (\n\t\t\t\t\t\t<About telemetrySetting={telemetrySetting} setTelemetrySetting={setTelemetrySetting} />\n\t\t\t\t\t)}\n\t\t\t\t</TabContent>\n\t\t\t</div>\n\n\t\t\t<AlertDialog open={isDiscardDialogShow} onOpenChange={setDiscardDialogShow}>\n\t\t\t\t<AlertDialogContent>\n\t\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t\t<AlertDialogTitle>\n\t\t\t\t\t\t\t<AlertTriangle className=\"w-5 h-5 text-yellow-500\" />\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.title\")}\n\t\t\t\t\t\t</AlertDialogTitle>\n\t\t\t\t\t\t<AlertDialogDescription>\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.description\")}\n\t\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t\t</AlertDialogHeader>\n\t\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t\t<AlertDialogCancel onClick={() => onConfirmDialogResult(false)}>\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.cancelButton\")}\n\t\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t\t<AlertDialogAction onClick={() => onConfirmDialogResult(true)}>\n\t\t\t\t\t\t\t{t(\"settings:unsavedChangesDialog.discardButton\")}\n\t\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t\t</AlertDialogFooter>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</AlertDialog>\n\t\t</Tab>\n\t)\n})\n\nexport default memo(SettingsView)\n", + "'use strict';\r\n\r\nvar width = 256;// each RC4 output is 0 <= x < 256\r\nvar chunks = 6;// at least six RC4 outputs for each double\r\nvar digits = 52;// there are 52 significant digits in a double\r\nvar pool = [];// pool: entropy pool starts empty\r\nvar GLOBAL = typeof global === 'undefined' ? window : global;\r\n\r\n//\r\n// The following constants are related to IEEE 754 limits.\r\n//\r\nvar startdenom = Math.pow(width, chunks),\r\n significance = Math.pow(2, digits),\r\n overflow = significance * 2,\r\n mask = width - 1;\r\n\r\n\r\nvar oldRandom = Math.random;\r\n\r\n//\r\n// seedrandom()\r\n// This is the seedrandom function described above.\r\n//\r\nmodule.exports = function(seed, options) {\r\n if (options && options.global === true) {\r\n options.global = false;\r\n Math.random = module.exports(seed, options);\r\n options.global = true;\r\n return Math.random;\r\n }\r\n var use_entropy = (options && options.entropy) || false;\r\n var key = [];\r\n\r\n // Flatten the seed string or build one from local entropy if needed.\r\n var shortseed = mixkey(flatten(\r\n use_entropy ? [seed, tostring(pool)] :\r\n 0 in arguments ? seed : autoseed(), 3), key);\r\n\r\n // Use the seed to initialize an ARC4 generator.\r\n var arc4 = new ARC4(key);\r\n\r\n // Mix the randomness into accumulated entropy.\r\n mixkey(tostring(arc4.S), pool);\r\n\r\n // Override Math.random\r\n\r\n // This function returns a random double in [0, 1) that contains\r\n // randomness in every bit of the mantissa of the IEEE 754 value.\r\n\r\n return function() { // Closure to return a random double:\r\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\r\n d = startdenom, // and denominator d = 2 ^ 48.\r\n x = 0; // and no 'extra last byte'.\r\n while (n < significance) { // Fill up all significant digits by\r\n n = (n + x) * width; // shifting numerator and\r\n d *= width; // denominator and generating a\r\n x = arc4.g(1); // new least-significant-byte.\r\n }\r\n while (n >= overflow) { // To avoid rounding up, before adding\r\n n /= 2; // last byte, shift everything\r\n d /= 2; // right using integer Math until\r\n x >>>= 1; // we have exactly the desired bits.\r\n }\r\n return (n + x) / d; // Form the number within [0, 1).\r\n };\r\n};\r\n\r\nmodule.exports.resetGlobal = function () {\r\n Math.random = oldRandom;\r\n};\r\n\r\n//\r\n// ARC4\r\n//\r\n// An ARC4 implementation. The constructor takes a key in the form of\r\n// an array of at most (width) integers that should be 0 <= x < (width).\r\n//\r\n// The g(count) method returns a pseudorandom integer that concatenates\r\n// the next (count) outputs from ARC4. Its return value is a number x\r\n// that is in the range 0 <= x < (width ^ count).\r\n//\r\n/** @constructor */\r\nfunction ARC4(key) {\r\n var t, keylen = key.length,\r\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\r\n\r\n // The empty key [] is treated as [0].\r\n if (!keylen) { key = [keylen++]; }\r\n\r\n // Set up S using the standard key scheduling algorithm.\r\n while (i < width) {\r\n s[i] = i++;\r\n }\r\n for (i = 0; i < width; i++) {\r\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\r\n s[j] = t;\r\n }\r\n\r\n // The \"g\" method returns the next (count) outputs as one number.\r\n (me.g = function(count) {\r\n // Using instance members instead of closure state nearly doubles speed.\r\n var t, r = 0,\r\n i = me.i, j = me.j, s = me.S;\r\n while (count--) {\r\n t = s[i = mask & (i + 1)];\r\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\r\n }\r\n me.i = i; me.j = j;\r\n return r;\r\n // For robust unpredictability discard an initial batch of values.\r\n // See http://www.rsa.com/rsalabs/node.asp?id=2009\r\n })(width);\r\n}\r\n\r\n//\r\n// flatten()\r\n// Converts an object tree to nested arrays of strings.\r\n//\r\nfunction flatten(obj, depth) {\r\n var result = [], typ = (typeof obj)[0], prop;\r\n if (depth && typ == 'o') {\r\n for (prop in obj) {\r\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\r\n }\r\n }\r\n return (result.length ? result : typ == 's' ? obj : obj + '\\0');\r\n}\r\n\r\n//\r\n// mixkey()\r\n// Mixes a string seed into a key that is an array of integers, and\r\n// returns a shortened string seed that is equivalent to the result key.\r\n//\r\nfunction mixkey(seed, key) {\r\n var stringseed = seed + '', smear, j = 0;\r\n while (j < stringseed.length) {\r\n key[mask & j] =\r\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\r\n }\r\n return tostring(key);\r\n}\r\n\r\n//\r\n// autoseed()\r\n// Returns an object for autoseeding, using window.crypto if available.\r\n//\r\n/** @param {Uint8Array=} seed */\r\nfunction autoseed(seed) {\r\n try {\r\n GLOBAL.crypto.getRandomValues(seed = new Uint8Array(width));\r\n return tostring(seed);\r\n } catch (e) {\r\n return [+new Date, GLOBAL, GLOBAL.navigator && GLOBAL.navigator.plugins,\r\n GLOBAL.screen, tostring(pool)];\r\n }\r\n}\r\n\r\n//\r\n// tostring()\r\n// Converts an array of charcodes to a string\r\n//\r\nfunction tostring(a) {\r\n return String.fromCharCode.apply(0, a);\r\n}\r\n\r\n//\r\n// When seedrandom.js is loaded, we immediately mix a few bits\r\n// from the built-in RNG into the entropy pool. Because we do\r\n// not want to intefere with determinstic PRNG state later,\r\n// seedrandom will not call Math.random on its own again after\r\n// initialization.\r\n//\r\nmixkey(Math.random(), pool);\r\n", + "/*\n * Copyright 2013 AJ O'Neal\n * Copyright 2015 Tiancheng \"Timothy\" Gu\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'use strict'\n\n/**\n * @file\n *\n * Implementation of the Fisher-Yates shuffle algorithm in JavaScript, with\n * the possibility of using a seed to ensure reproducibility.\n *\n * @module knuth-shuffle-seeded\n */\n\nvar randGen = require('seed-random')\n\n/**\n * Shuffle an array using the Fisher-Yates shuffle algorithm, aka Knuth\n * shuffle.\n *\n * Note that this function overwrites the initial array. As a result if you\n * would like to keep the original array intact, you have to copy the initial\n * array to a new array.\n *\n * Implementation derived from http://stackoverflow.com/questions/2450954/.\n *\n * @param {Array} array An array that is to be shuffled.\n * @param [seed=Math.random()] Seed for the shuffling operation. If\n * unspecified then a random value is used.\n * @return {Array} The resulting array.\n */\nmodule.exports = function shuffle(array, seed) {\n var currentIndex\n , temporaryValue\n , randomIndex\n , rand\n if (seed == null) rand = randGen()\n else rand = randGen(seed)\n\n if (array.constructor !== Array) throw new Error('Input is not an array')\n currentIndex = array.length\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n // Pick a remaining element...\n randomIndex = Math.floor(rand() * (currentIndex --))\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex]\n array[currentIndex] = array[randomIndex]\n array[randomIndex] = temporaryValue\n }\n\n return array\n}\n", + "import { useCallback, useState } from \"react\"\nimport knuthShuffle from \"knuth-shuffle-seeded\"\nimport { Trans } from \"react-i18next\"\nimport { VSCodeButton, VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { ProviderSettings } from \"@roo-code/types\"\n\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { validateApiConfiguration } from \"@src/utils/validate\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { getRequestyAuthUrl, getOpenRouterAuthUrl } from \"@src/oauth/urls\"\n\nimport ApiOptions from \"../settings/ApiOptions\"\nimport { Tab, TabContent } from \"../common/Tab\"\n\nimport RooHero from \"./RooHero\"\n\nconst WelcomeView = () => {\n\tconst { apiConfiguration, currentApiConfigName, setApiConfiguration, uriScheme, machineId } = useExtensionState()\n\tconst { t } = useAppTranslation()\n\tconst [errorMessage, setErrorMessage] = useState<string | undefined>(undefined)\n\n\t// Memoize the setApiConfigurationField function to pass to ApiOptions\n\tconst setApiConfigurationFieldForApiOptions = useCallback(\n\t\t<K extends keyof ProviderSettings>(field: K, value: ProviderSettings[K]) => {\n\t\t\tsetApiConfiguration({ [field]: value })\n\t\t},\n\t\t[setApiConfiguration], // setApiConfiguration from context is stable\n\t)\n\n\tconst handleSubmit = useCallback(() => {\n\t\tconst error = apiConfiguration ? validateApiConfiguration(apiConfiguration) : undefined\n\n\t\tif (error) {\n\t\t\tsetErrorMessage(error)\n\t\t\treturn\n\t\t}\n\n\t\tsetErrorMessage(undefined)\n\t\tvscode.postMessage({ type: \"upsertApiConfiguration\", text: currentApiConfigName, apiConfiguration })\n\t}, [apiConfiguration, currentApiConfigName])\n\n\t// Using a lazy initializer so it reads once at mount\n\tconst [imagesBaseUri] = useState(() => {\n\t\tconst w = window as any\n\t\treturn w.IMAGES_BASE_URI || \"\"\n\t})\n\n\treturn (\n\t\t<Tab>\n\t\t\t<TabContent className=\"flex flex-col gap-5 p-16\">\n\t\t\t\t<RooHero />\n\t\t\t\t<h2 className=\"mt-0 mb-0\">{t(\"welcome:greeting\")}</h2>\n\n\t\t\t\t<div className=\"font-bold\">\n\t\t\t\t\t<p>\n\t\t\t\t\t\t<Trans i18nKey=\"welcome:introduction\" />\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t<Trans i18nKey=\"welcome:chooseProvider\" />\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t<p className=\"font-bold mt-0\">{t(\"welcome:startRouter\")}</p>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{/* Define the providers */}\n\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t// Provider card configuration\n\t\t\t\t\t\t\tconst providers = [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tslug: \"requesty\",\n\t\t\t\t\t\t\t\t\tname: \"Requesty\",\n\t\t\t\t\t\t\t\t\tdescription: t(\"welcome:routers.requesty.description\"),\n\t\t\t\t\t\t\t\t\tincentive: t(\"welcome:routers.requesty.incentive\"),\n\t\t\t\t\t\t\t\t\tauthUrl: getRequestyAuthUrl(uriScheme),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tslug: \"openrouter\",\n\t\t\t\t\t\t\t\t\tname: \"OpenRouter\",\n\t\t\t\t\t\t\t\t\tdescription: t(\"welcome:routers.openrouter.description\"),\n\t\t\t\t\t\t\t\t\tauthUrl: getOpenRouterAuthUrl(uriScheme),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\t// Shuffle providers based on machine ID (will be consistent for the same machine)\n\t\t\t\t\t\t\tconst orderedProviders = [...providers]\n\t\t\t\t\t\t\tknuthShuffle(orderedProviders, (machineId as any) || Date.now())\n\n\t\t\t\t\t\t\t// Render the provider cards\n\t\t\t\t\t\t\treturn orderedProviders.map((provider, index) => (\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\thref={provider.authUrl}\n\t\t\t\t\t\t\t\t\tclassName=\"flex-1 border border-vscode-panel-border hover:bg-secondary rounded-lg py-4 px-6 mb-2 flex flex-row gap-4 cursor-pointer transition-all no-underline text-inherit\"\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t\t\t<div className=\"w-10 h-10\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc={`${imagesBaseUri}/${provider.slug}.png`}\n\t\t\t\t\t\t\t\t\t\t\talt={provider.name}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-full object-contain\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"font-bold text-vscode-foreground\">{provider.name}</div>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{provider.description}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t{provider.incentive && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs font-bold\">{provider.incentive}</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t))\n\t\t\t\t\t\t})()}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<p className=\"font-bold mt-8 mb-6\">{t(\"welcome:startCustom\")}</p>\n\t\t\t\t\t<ApiOptions\n\t\t\t\t\t\tfromWelcomeView\n\t\t\t\t\t\tapiConfiguration={apiConfiguration || {}}\n\t\t\t\t\t\turiScheme={uriScheme}\n\t\t\t\t\t\tsetApiConfigurationField={setApiConfigurationFieldForApiOptions}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t\tsetErrorMessage={setErrorMessage}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</TabContent>\n\t\t\t<div className=\"sticky bottom-0 bg-vscode-sideBar-background p-5\">\n\t\t\t\t<div className=\"flex flex-col gap-1\">\n\t\t\t\t\t<div className=\"flex justify-end\">\n\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"importSettings\" })\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"text-sm\">\n\t\t\t\t\t\t\t{t(\"welcome:importSettings\")}\n\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t</div>\n\t\t\t\t\t<VSCodeButton onClick={handleSubmit} appearance=\"primary\">\n\t\t\t\t\t\t{t(\"welcome:start\")}\n\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t{errorMessage && <div className=\"text-vscode-errorForeground\">{errorMessage}</div>}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Tab>\n\t)\n}\n\nexport default WelcomeView\n", + "import { VSCodeCheckbox } from \"@vscode/webview-ui-toolkit/react\"\nimport { FormEvent } from \"react\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { vscode } from \"@src/utils/vscode\"\n\nconst McpEnabledToggle = () => {\n\tconst { mcpEnabled, setMcpEnabled } = useExtensionState()\n\tconst { t } = useAppTranslation()\n\n\tconst handleChange = (e: Event | FormEvent<HTMLElement>) => {\n\t\tconst target = (\"target\" in e ? e.target : null) as HTMLInputElement | null\n\t\tif (!target) return\n\t\tsetMcpEnabled(target.checked)\n\t\tvscode.postMessage({ type: \"mcpEnabled\", bool: target.checked })\n\t}\n\n\treturn (\n\t\t<div style={{ marginBottom: \"20px\" }}>\n\t\t\t<VSCodeCheckbox checked={mcpEnabled} onChange={handleChange}>\n\t\t\t\t<span style={{ fontWeight: \"500\" }}>{t(\"mcp:enableToggle.title\")}</span>\n\t\t\t</VSCodeCheckbox>\n\t\t\t<p\n\t\t\t\tstyle={{\n\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\tmarginTop: \"5px\",\n\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t}}>\n\t\t\t\t{t(\"mcp:enableToggle.description\")}\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n\nexport default McpEnabledToggle\n", + "/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n", + "import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n", + "import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n", + "let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n", + "import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n", + "import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n", + "import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n", + "import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n", + "import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n", + "import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n", + "import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n", + "import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n", + "/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n", + "import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n", + "import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n", + "const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n", + "export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n", + "import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n", + "const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n", + "/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n", + "import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n", + "export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n", + "export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n", + "import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n", + "import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n", + "import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n", + "import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n", + "import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n", + "import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n", + "import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n", + "export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n", + "import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n", + "import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n", + "const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n", + "const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n", + "import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n", + "import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { format } from \"./format.js\";\n\n/**\n * The {@link formatRelative} function options.\n */\n\n/**\n * @name formatRelative\n * @category Common Helpers\n * @summary Represent the date in words relative to the given base date.\n *\n * @description\n * Represent the date in words relative to the given base date.\n *\n * | Distance to the base date | Result |\n * |---------------------------|---------------------------|\n * | Previous 6 days | last Sunday at 04:30 AM |\n * | Last day | yesterday at 04:30 AM |\n * | Same day | today at 04:30 AM |\n * | Next day | tomorrow at 04:30 AM |\n * | Next 6 days | Sunday at 04:30 AM |\n * | Other | 12/31/2017 |\n *\n * @param date - The date to format\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The date in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws `options.locale` must contain `formatRelative` property\n *\n * @example\n * // Represent the date of 6 days ago in words relative to the given base date. In this example, today is Wednesday\n * const result = formatRelative(subDays(new Date(), 6), new Date())\n * //=> \"last Thursday at 12:45 AM\"\n */\nexport function formatRelative(date, baseDate, options) {\n const [date_, baseDate_] = normalizeDates(options?.in, date, baseDate);\n\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const diff = differenceInCalendarDays(date_, baseDate_);\n\n if (isNaN(diff)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let token;\n if (diff < -6) {\n token = \"other\";\n } else if (diff < -1) {\n token = \"lastWeek\";\n } else if (diff < 0) {\n token = \"yesterday\";\n } else if (diff < 1) {\n token = \"today\";\n } else if (diff < 2) {\n token = \"tomorrow\";\n } else if (diff < 7) {\n token = \"nextWeek\";\n } else {\n token = \"other\";\n }\n\n const formatStr = locale.formatRelative(token, date_, baseDate_, {\n locale,\n weekStartsOn,\n });\n return format(date_, formatStr, { locale, weekStartsOn });\n}\n\n// Fallback for modularized imports:\nexport default formatRelative;\n", + "import { useMemo } from \"react\"\nimport { formatRelative } from \"date-fns\"\n\nimport type { McpErrorEntry } from \"@roo/mcp\"\n\ntype McpErrorRowProps = {\n\terror: McpErrorEntry\n}\n\nexport const McpErrorRow = ({ error }: McpErrorRowProps) => {\n\tconst color = useMemo(() => {\n\t\tswitch (error.level) {\n\t\t\tcase \"error\":\n\t\t\t\treturn \"var(--vscode-testing-iconFailed)\"\n\t\t\tcase \"warn\":\n\t\t\t\treturn \"var(--vscode-charts-yellow)\"\n\t\t\tcase \"info\":\n\t\t\t\treturn \"var(--vscode-testing-iconPassed)\"\n\t\t}\n\t}, [error.level])\n\n\treturn (\n\t\t<div className=\"text-sm bg-vscode-textCodeBlock-background border-l-2 p-2\" style={{ borderColor: color }}>\n\t\t\t<div className=\"mb-1\" style={{ color }}>\n\t\t\t\t{error.message}\n\t\t\t</div>\n\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t{formatRelative(error.timestamp, new Date())}\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n", + "import React, { useState } from \"react\"\nimport { Trans } from \"react-i18next\"\nimport {\n\tVSCodeButton,\n\tVSCodeCheckbox,\n\tVSCodeLink,\n\tVSCodePanels,\n\tVSCodePanelTab,\n\tVSCodePanelView,\n} from \"@vscode/webview-ui-toolkit/react\"\n\nimport { McpServer } from \"@roo/mcp\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport {\n\tButton,\n\tDialog,\n\tDialogContent,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogDescription,\n\tDialogFooter,\n\tToggleSwitch,\n\tStandardTooltip,\n} from \"@src/components/ui\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\n\nimport { Tab, TabContent, TabHeader } from \"../common/Tab\"\n\nimport McpToolRow from \"./McpToolRow\"\nimport McpResourceRow from \"./McpResourceRow\"\nimport McpEnabledToggle from \"./McpEnabledToggle\"\nimport { McpErrorRow } from \"./McpErrorRow\"\n\ntype McpViewProps = {\n\tonDone: () => void\n}\n\nconst McpView = ({ onDone }: McpViewProps) => {\n\tconst {\n\t\tmcpServers: servers,\n\t\talwaysAllowMcp,\n\t\tmcpEnabled,\n\t\tenableMcpServerCreation,\n\t\tsetEnableMcpServerCreation,\n\t} = useExtensionState()\n\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<Tab>\n\t\t\t<TabHeader className=\"flex justify-between items-center\">\n\t\t\t\t<h3 className=\"text-vscode-foreground m-0\">{t(\"mcp:title\")}</h3>\n\t\t\t\t<Button onClick={onDone}>{t(\"mcp:done\")}</Button>\n\t\t\t</TabHeader>\n\n\t\t\t<TabContent>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tcolor: \"var(--vscode-foreground)\",\n\t\t\t\t\t\tfontSize: \"13px\",\n\t\t\t\t\t\tmarginBottom: \"10px\",\n\t\t\t\t\t\tmarginTop: \"5px\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<Trans i18nKey=\"mcp:description\">\n\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\thref={buildDocLink(\"features/mcp/using-mcp-in-roo\", \"mcp_settings\")}\n\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\tLearn More\n\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t</Trans>\n\t\t\t\t</div>\n\n\t\t\t\t<McpEnabledToggle />\n\n\t\t\t\t{mcpEnabled && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div style={{ marginBottom: 15 }}>\n\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\tchecked={enableMcpServerCreation}\n\t\t\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\t\t\tsetEnableMcpServerCreation(e.target.checked)\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"enableMcpServerCreation\", bool: e.target.checked })\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span style={{ fontWeight: \"500\" }}>{t(\"mcp:enableServerCreation.title\")}</span>\n\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\t\t\t\t\tmarginTop: \"5px\",\n\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<Trans i18nKey=\"mcp:enableServerCreation.description\">\n\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\"features/mcp/using-mcp-in-roo#how-to-use-roo-to-create-an-mcp-server\",\n\t\t\t\t\t\t\t\t\t\t\t\"mcp_server_creation\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t\t\tLearn about server creation\n\t\t\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t\t\t\t<strong>new</strong>\n\t\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t\t\t<p style={{ marginTop: \"8px\" }}>{t(\"mcp:enableServerCreation.hint\")}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Server List */}\n\t\t\t\t\t\t{servers.length > 0 && (\n\t\t\t\t\t\t\t<div style={{ display: \"flex\", flexDirection: \"column\", gap: \"10px\" }}>\n\t\t\t\t\t\t\t\t{servers.map((server) => (\n\t\t\t\t\t\t\t\t\t<ServerRow\n\t\t\t\t\t\t\t\t\t\tkey={`${server.name}-${server.source || \"global\"}`}\n\t\t\t\t\t\t\t\t\t\tserver={server}\n\t\t\t\t\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Edit Settings Buttons */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginTop: \"10px\",\n\t\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\t\tdisplay: \"grid\",\n\t\t\t\t\t\t\t\tgridTemplateColumns: \"repeat(auto-fit, minmax(200px, 1fr))\",\n\t\t\t\t\t\t\t\tgap: \"10px\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"openMcpSettings\" })\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-edit\" style={{ marginRight: \"6px\" }}></span>\n\t\t\t\t\t\t\t\t{t(\"mcp:editGlobalMCP\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"openProjectMcpSettings\" })\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-edit\" style={{ marginRight: \"6px\" }}></span>\n\t\t\t\t\t\t\t\t{t(\"mcp:editProjectMCP\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({ type: \"refreshAllMcpServers\" })\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-refresh\" style={{ marginRight: \"6px\" }}></span>\n\t\t\t\t\t\t\t\t{t(\"mcp:refreshMCP\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"mcp:marketplace\")}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\twindow.postMessage(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"action\",\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"marketplaceButtonClicked\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalues: { marketplaceTab: \"mcp\" },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-extensions\" style={{ marginRight: \"6px\" }}></span>\n\t\t\t\t\t\t\t\t\t{t(\"mcp:marketplace\")}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginTop: \"15px\",\n\t\t\t\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\"features/mcp/using-mcp-in-roo#editing-mcp-settings-files\",\n\t\t\t\t\t\t\t\t\t\"mcp_edit_settings\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}>\n\t\t\t\t\t\t\t\t{t(\"mcp:learnMoreEditingSettings\")}\n\t\t\t\t\t\t\t</VSCodeLink>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</TabContent>\n\t\t</Tab>\n\t)\n}\n\nconst ServerRow = ({ server, alwaysAllowMcp }: { server: McpServer; alwaysAllowMcp?: boolean }) => {\n\tconst { t } = useAppTranslation()\n\tconst [isExpanded, setIsExpanded] = useState(false)\n\tconst [showDeleteConfirm, setShowDeleteConfirm] = useState(false)\n\tconst [timeoutValue, setTimeoutValue] = useState(() => {\n\t\tconst configTimeout = JSON.parse(server.config)?.timeout\n\t\treturn configTimeout ?? 60 // Default 1 minute (60 seconds)\n\t})\n\n\tconst timeoutOptions = [\n\t\t{ value: 15, label: t(\"mcp:networkTimeout.options.15seconds\") },\n\t\t{ value: 30, label: t(\"mcp:networkTimeout.options.30seconds\") },\n\t\t{ value: 60, label: t(\"mcp:networkTimeout.options.1minute\") },\n\t\t{ value: 300, label: t(\"mcp:networkTimeout.options.5minutes\") },\n\t\t{ value: 600, label: t(\"mcp:networkTimeout.options.10minutes\") },\n\t\t{ value: 900, label: t(\"mcp:networkTimeout.options.15minutes\") },\n\t\t{ value: 1800, label: t(\"mcp:networkTimeout.options.30minutes\") },\n\t\t{ value: 3600, label: t(\"mcp:networkTimeout.options.60minutes\") },\n\t]\n\n\tconst getStatusColor = () => {\n\t\tswitch (server.status) {\n\t\t\tcase \"connected\":\n\t\t\t\treturn \"var(--vscode-testing-iconPassed)\"\n\t\t\tcase \"connecting\":\n\t\t\t\treturn \"var(--vscode-charts-yellow)\"\n\t\t\tcase \"disconnected\":\n\t\t\t\treturn \"var(--vscode-testing-iconFailed)\"\n\t\t}\n\t}\n\n\tconst handleRowClick = () => {\n\t\tif (server.status === \"connected\") {\n\t\t\tsetIsExpanded(!isExpanded)\n\t\t}\n\t}\n\n\tconst handleRestart = () => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"restartMcpServer\",\n\t\t\ttext: server.name,\n\t\t\tsource: server.source || \"global\",\n\t\t})\n\t}\n\n\tconst handleTimeoutChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n\t\tconst seconds = parseInt(event.target.value)\n\t\tsetTimeoutValue(seconds)\n\t\tvscode.postMessage({\n\t\t\ttype: \"updateMcpTimeout\",\n\t\t\tserverName: server.name,\n\t\t\tsource: server.source || \"global\",\n\t\t\ttimeout: seconds,\n\t\t})\n\t}\n\n\tconst handleDelete = () => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"deleteMcpServer\",\n\t\t\tserverName: server.name,\n\t\t\tsource: server.source || \"global\",\n\t\t})\n\t\tsetShowDeleteConfirm(false)\n\t}\n\n\treturn (\n\t\t<div style={{ marginBottom: \"10px\" }}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tpadding: \"8px\",\n\t\t\t\t\tbackground: \"var(--vscode-textCodeBlock-background)\",\n\t\t\t\t\tcursor: server.status === \"connected\" ? \"pointer\" : \"default\",\n\t\t\t\t\tborderRadius: isExpanded || server.status === \"connected\" ? \"4px\" : \"4px 4px 0 0\",\n\t\t\t\t\topacity: server.disabled ? 0.6 : 1,\n\t\t\t\t}}\n\t\t\t\tonClick={handleRowClick}>\n\t\t\t\t{server.status === \"connected\" && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={`codicon codicon-chevron-${isExpanded ? \"down\" : \"right\"}`}\n\t\t\t\t\t\tstyle={{ marginRight: \"8px\" }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<span style={{ flex: 1 }}>\n\t\t\t\t\t{server.name}\n\t\t\t\t\t{server.source && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tmarginLeft: \"8px\",\n\t\t\t\t\t\t\t\tpadding: \"1px 6px\",\n\t\t\t\t\t\t\t\tfontSize: \"11px\",\n\t\t\t\t\t\t\t\tborderRadius: \"4px\",\n\t\t\t\t\t\t\t\tbackground: \"var(--vscode-badge-background)\",\n\t\t\t\t\t\t\t\tcolor: \"var(--vscode-badge-foreground)\",\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{server.source}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{ display: \"flex\", alignItems: \"center\", marginRight: \"8px\" }}\n\t\t\t\t\tonClick={(e) => e.stopPropagation()}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={() => setShowDeleteConfirm(true)}\n\t\t\t\t\t\tstyle={{ marginRight: \"8px\" }}>\n\t\t\t\t\t\t<span className=\"codicon codicon-trash\" style={{ fontSize: \"14px\" }}></span>\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\tonClick={handleRestart}\n\t\t\t\t\t\tdisabled={server.status === \"connecting\"}\n\t\t\t\t\t\tstyle={{ marginRight: \"8px\" }}>\n\t\t\t\t\t\t<span className=\"codicon codicon-refresh\" style={{ fontSize: \"14px\" }}></span>\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: \"8px\",\n\t\t\t\t\t\theight: \"8px\",\n\t\t\t\t\t\tborderRadius: \"50%\",\n\t\t\t\t\t\tbackground: getStatusColor(),\n\t\t\t\t\t\tmarginLeft: \"8px\",\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<div style={{ marginLeft: \"8px\" }}>\n\t\t\t\t\t<ToggleSwitch\n\t\t\t\t\t\tchecked={!server.disabled}\n\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\ttype: \"toggleMcpServer\",\n\t\t\t\t\t\t\t\tserverName: server.name,\n\t\t\t\t\t\t\t\tsource: server.source || \"global\",\n\t\t\t\t\t\t\t\tdisabled: !server.disabled,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\taria-label={`Toggle ${server.name} server`}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{server.status === \"connected\" ? (\n\t\t\t\tisExpanded && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tbackground: \"var(--vscode-textCodeBlock-background)\",\n\t\t\t\t\t\t\tpadding: \"0 10px 10px 10px\",\n\t\t\t\t\t\t\tfontSize: \"13px\",\n\t\t\t\t\t\t\tborderRadius: \"0 0 4px 4px\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<VSCodePanels style={{ marginBottom: \"10px\" }}>\n\t\t\t\t\t\t\t<VSCodePanelTab id=\"tools\">\n\t\t\t\t\t\t\t\t{t(\"mcp:tabs.tools\")} ({server.tools?.length || 0})\n\t\t\t\t\t\t\t</VSCodePanelTab>\n\t\t\t\t\t\t\t<VSCodePanelTab id=\"resources\">\n\t\t\t\t\t\t\t\t{t(\"mcp:tabs.resources\")} (\n\t\t\t\t\t\t\t\t{[...(server.resourceTemplates || []), ...(server.resources || [])].length || 0})\n\t\t\t\t\t\t\t</VSCodePanelTab>\n\t\t\t\t\t\t\t{server.instructions && (\n\t\t\t\t\t\t\t\t<VSCodePanelTab id=\"instructions\">{t(\"mcp:instructions\")}</VSCodePanelTab>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<VSCodePanelTab id=\"errors\">\n\t\t\t\t\t\t\t\t{t(\"mcp:tabs.errors\")} ({server.errorHistory?.length || 0})\n\t\t\t\t\t\t\t</VSCodePanelTab>\n\n\t\t\t\t\t\t\t<VSCodePanelView id=\"tools-view\">\n\t\t\t\t\t\t\t\t{server.tools && server.tools.length > 0 ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"flex\", flexDirection: \"column\", gap: \"8px\", width: \"100%\" }}>\n\t\t\t\t\t\t\t\t\t\t{server.tools.map((tool) => (\n\t\t\t\t\t\t\t\t\t\t\t<McpToolRow\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`${tool.name}-${server.name}-${server.source || \"global\"}`}\n\t\t\t\t\t\t\t\t\t\t\t\ttool={tool}\n\t\t\t\t\t\t\t\t\t\t\t\tserverName={server.name}\n\t\t\t\t\t\t\t\t\t\t\t\tserverSource={server.source || \"global\"}\n\t\t\t\t\t\t\t\t\t\t\t\talwaysAllowMcp={alwaysAllowMcp}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div style={{ padding: \"10px 0\", color: \"var(--vscode-descriptionForeground)\" }}>\n\t\t\t\t\t\t\t\t\t\t{t(\"mcp:emptyState.noTools\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</VSCodePanelView>\n\n\t\t\t\t\t\t\t<VSCodePanelView id=\"resources-view\">\n\t\t\t\t\t\t\t\t{(server.resources && server.resources.length > 0) ||\n\t\t\t\t\t\t\t\t(server.resourceTemplates && server.resourceTemplates.length > 0) ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"flex\", flexDirection: \"column\", gap: \"8px\", width: \"100%\" }}>\n\t\t\t\t\t\t\t\t\t\t{[...(server.resourceTemplates || []), ...(server.resources || [])].map(\n\t\t\t\t\t\t\t\t\t\t\t(item) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<McpResourceRow\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={\"uriTemplate\" in item ? item.uriTemplate : item.uri}\n\t\t\t\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div style={{ padding: \"10px 0\", color: \"var(--vscode-descriptionForeground)\" }}>\n\t\t\t\t\t\t\t\t\t\t{t(\"mcp:emptyState.noResources\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</VSCodePanelView>\n\n\t\t\t\t\t\t\t{server.instructions && (\n\t\t\t\t\t\t\t\t<VSCodePanelView id=\"instructions-view\">\n\t\t\t\t\t\t\t\t\t<div style={{ padding: \"10px 0\", fontSize: \"12px\" }}>\n\t\t\t\t\t\t\t\t\t\t<div className=\"opacity-80 whitespace-pre-wrap break-words\">\n\t\t\t\t\t\t\t\t\t\t\t{server.instructions}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</VSCodePanelView>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t<VSCodePanelView id=\"errors-view\">\n\t\t\t\t\t\t\t\t{server.errorHistory && server.errorHistory.length > 0 ? (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"flex\", flexDirection: \"column\", gap: \"8px\", width: \"100%\" }}>\n\t\t\t\t\t\t\t\t\t\t{[...server.errorHistory]\n\t\t\t\t\t\t\t\t\t\t\t.sort((a, b) => b.timestamp - a.timestamp)\n\t\t\t\t\t\t\t\t\t\t\t.map((error, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<McpErrorRow key={`${error.timestamp}-${index}`} error={error} />\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div style={{ padding: \"10px 0\", color: \"var(--vscode-descriptionForeground)\" }}>\n\t\t\t\t\t\t\t\t\t\t{t(\"mcp:emptyState.noErrors\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</VSCodePanelView>\n\t\t\t\t\t\t</VSCodePanels>\n\n\t\t\t\t\t\t{/* Network Timeout */}\n\t\t\t\t\t\t<div style={{ padding: \"10px 7px\" }}>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\t\t\t\tgap: \"10px\",\n\t\t\t\t\t\t\t\t\tmarginBottom: \"8px\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<span>{t(\"mcp:networkTimeout.label\")}</span>\n\t\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\t\tvalue={timeoutValue}\n\t\t\t\t\t\t\t\t\tonChange={handleTimeoutChange}\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\t\tpadding: \"4px\",\n\t\t\t\t\t\t\t\t\t\tbackground: \"var(--vscode-dropdown-background)\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-dropdown-foreground)\",\n\t\t\t\t\t\t\t\t\t\tborder: \"1px solid var(--vscode-dropdown-border)\",\n\t\t\t\t\t\t\t\t\t\tborderRadius: \"2px\",\n\t\t\t\t\t\t\t\t\t\toutline: \"none\",\n\t\t\t\t\t\t\t\t\t\tcursor: \"pointer\",\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{timeoutOptions.map((option) => (\n\t\t\t\t\t\t\t\t\t\t<option key={option.value} value={option.value}>\n\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tfontSize: \"12px\",\n\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t\t\tdisplay: \"block\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{t(\"mcp:networkTimeout.description\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontSize: \"13px\",\n\t\t\t\t\t\tbackground: \"var(--vscode-textCodeBlock-background)\",\n\t\t\t\t\t\tborderRadius: \"0 0 4px 4px\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t}}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tcolor: \"var(--vscode-testing-iconFailed)\",\n\t\t\t\t\t\t\tmarginBottom: \"8px\",\n\t\t\t\t\t\t\tpadding: \"0 10px\",\n\t\t\t\t\t\t\toverflowWrap: \"break-word\",\n\t\t\t\t\t\t\twordBreak: \"break-word\",\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t{server.error &&\n\t\t\t\t\t\t\tserver.error.split(\"\\n\").map((item, index) => (\n\t\t\t\t\t\t\t\t<React.Fragment key={index}>\n\t\t\t\t\t\t\t\t\t{index > 0 && <br />}\n\t\t\t\t\t\t\t\t\t{item}\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t\t<VSCodeButton\n\t\t\t\t\t\tappearance=\"secondary\"\n\t\t\t\t\t\tonClick={handleRestart}\n\t\t\t\t\t\tdisabled={server.status === \"connecting\"}\n\t\t\t\t\t\tstyle={{ width: \"calc(100% - 20px)\", margin: \"0 10px 10px 10px\" }}>\n\t\t\t\t\t\t{server.status === \"connecting\"\n\t\t\t\t\t\t\t? t(\"mcp:serverStatus.retrying\")\n\t\t\t\t\t\t\t: t(\"mcp:serverStatus.retryConnection\")}\n\t\t\t\t\t</VSCodeButton>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Delete Confirmation Dialog */}\n\t\t\t<Dialog open={showDeleteConfirm} onOpenChange={setShowDeleteConfirm}>\n\t\t\t\t<DialogContent>\n\t\t\t\t\t<DialogHeader>\n\t\t\t\t\t\t<DialogTitle>{t(\"mcp:deleteDialog.title\")}</DialogTitle>\n\t\t\t\t\t\t<DialogDescription>\n\t\t\t\t\t\t\t{t(\"mcp:deleteDialog.description\", { serverName: server.name })}\n\t\t\t\t\t\t</DialogDescription>\n\t\t\t\t\t</DialogHeader>\n\t\t\t\t\t<DialogFooter>\n\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setShowDeleteConfirm(false)}>\n\t\t\t\t\t\t\t{t(\"mcp:deleteDialog.cancel\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button variant=\"default\" onClick={handleDelete}>\n\t\t\t\t\t\t\t{t(\"mcp:deleteDialog.delete\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</DialogFooter>\n\t\t\t\t</DialogContent>\n\t\t\t</Dialog>\n\t\t</div>\n\t)\n}\n\nexport default McpView\n", + "import { useState, useEffect } from \"react\"\nimport { MarketplaceViewStateManager, ViewState } from \"./MarketplaceViewStateManager\"\n\nexport function useStateManager(existingManager?: MarketplaceViewStateManager) {\n\tconst [manager] = useState(() => existingManager || new MarketplaceViewStateManager())\n\tconst [state, setState] = useState(() => manager.getState())\n\n\tuseEffect(() => {\n\t\tconst handleStateChange = (newState: ViewState) => {\n\t\t\tsetState((prevState) => {\n\t\t\t\t// Compare specific state properties that matter for rendering\n\t\t\t\tconst hasChanged =\n\t\t\t\t\tprevState.isFetching !== newState.isFetching ||\n\t\t\t\t\tprevState.activeTab !== newState.activeTab ||\n\t\t\t\t\tJSON.stringify(prevState.allItems) !== JSON.stringify(newState.allItems) ||\n\t\t\t\t\tJSON.stringify(prevState.organizationMcps) !== JSON.stringify(newState.organizationMcps) ||\n\t\t\t\t\tJSON.stringify(prevState.displayItems) !== JSON.stringify(newState.displayItems) ||\n\t\t\t\t\tJSON.stringify(prevState.displayOrganizationMcps) !==\n\t\t\t\t\t\tJSON.stringify(newState.displayOrganizationMcps) ||\n\t\t\t\t\tJSON.stringify(prevState.filters) !== JSON.stringify(newState.filters)\n\n\t\t\t\treturn hasChanged ? newState : prevState\n\t\t\t})\n\t\t}\n\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tmanager.handleMessage(event.data)\n\t\t}\n\n\t\t// Register message handler immediately\n\t\twindow.addEventListener(\"message\", handleMessage)\n\n\t\t// Register state change handler\n\t\tconst unsubscribe = manager.onStateChange(handleStateChange)\n\n\t\t// Force initial state sync\n\t\thandleStateChange(manager.getState())\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleMessage)\n\t\t\tunsubscribe()\n\t\t\t// Don't cleanup the manager if it was provided externally\n\t\t\tif (!existingManager) {\n\t\t\t\tmanager.cleanup()\n\t\t\t}\n\t\t}\n\t}, [manager, existingManager])\n\n\treturn [state, manager] as const\n}\n", + "export const isValidUrl = (urlString: string): boolean => {\n\ttry {\n\t\tnew URL(urlString)\n\t\treturn true\n\t} catch {\n\t\treturn false\n\t}\n}\n", + "import React, { useState, useMemo, useEffect } from \"react\"\nimport { MarketplaceItem, McpParameter, McpInstallationMethod } from \"@roo-code/types\"\nimport { vscode } from \"@/utils/vscode\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport {\n\tDialog,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n} from \"@/components/ui/dialog\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\"\n\ninterface MarketplaceInstallModalProps {\n\titem: MarketplaceItem | null\n\tisOpen: boolean\n\tonClose: () => void\n\thasWorkspace: boolean\n}\n\nexport const MarketplaceInstallModal: React.FC<MarketplaceInstallModalProps> = ({\n\titem,\n\tisOpen,\n\tonClose,\n\thasWorkspace,\n}) => {\n\tconst { t } = useAppTranslation()\n\tconst [scope, setScope] = useState<\"project\" | \"global\">(hasWorkspace ? \"project\" : \"global\")\n\tconst [selectedMethodIndex, setSelectedMethodIndex] = useState(0)\n\tconst [parameterValues, setParameterValues] = useState<Record<string, string>>({})\n\tconst [validationError, setValidationError] = useState<string | null>(null)\n\tconst [installationComplete, setInstallationComplete] = useState(false)\n\n\t// Reset state when item changes\n\tReact.useEffect(() => {\n\t\tif (item) {\n\t\t\tsetSelectedMethodIndex(0)\n\t\t\tsetParameterValues({})\n\t\t\tsetValidationError(null)\n\t\t\tsetInstallationComplete(false)\n\t\t}\n\t}, [item])\n\n\t// Check if item has multiple installation methods\n\tconst hasMultipleMethods = useMemo(() => {\n\t\treturn item && Array.isArray(item.content) && item.content.length > 1\n\t}, [item])\n\n\t// Get installation method names (for display in dropdown)\n\tconst methodNames = useMemo(() => {\n\t\tif (!item || !Array.isArray(item.content)) return []\n\n\t\t// Content is an array of McpInstallationMethod objects\n\t\treturn (item.content as Array<{ name: string; content: string }>).map((method) => method.name)\n\t}, [item])\n\n\t// Get effective parameters for the selected method (global + method-specific)\n\tconst effectiveParameters = useMemo(() => {\n\t\tif (!item) return []\n\n\t\tconst globalParams = item.type === \"mcp\" ? item.parameters || [] : []\n\t\tlet methodParams: McpParameter[] = []\n\n\t\t// Get method-specific parameters if content is an array\n\t\tif (Array.isArray(item.content)) {\n\t\t\tconst selectedMethod = item.content[selectedMethodIndex] as McpInstallationMethod\n\t\t\tmethodParams = selectedMethod?.parameters || []\n\t\t}\n\n\t\t// Create map with global params first, then override with method-specific ones\n\t\tconst paramMap = new Map<string, McpParameter>()\n\t\tglobalParams.forEach((p) => paramMap.set(p.key, p))\n\t\tmethodParams.forEach((p) => paramMap.set(p.key, p))\n\n\t\treturn Array.from(paramMap.values())\n\t}, [item, selectedMethodIndex])\n\n\t// Get effective prerequisites for the selected method (global + method-specific)\n\tconst effectivePrerequisites = useMemo(() => {\n\t\tif (!item) return []\n\n\t\tconst globalPrereqs = item.prerequisites || []\n\t\tlet methodPrereqs: string[] = []\n\n\t\t// Get method-specific prerequisites if content is an array\n\t\tif (Array.isArray(item.content)) {\n\t\t\tconst selectedMethod = item.content[selectedMethodIndex] as McpInstallationMethod\n\t\t\tmethodPrereqs = selectedMethod?.prerequisites || []\n\t\t}\n\n\t\t// Combine and deduplicate prerequisites\n\t\tconst allPrereqs = [...globalPrereqs, ...methodPrereqs]\n\t\treturn Array.from(new Set(allPrereqs))\n\t}, [item, selectedMethodIndex])\n\n\t// Update parameter values when method changes\n\tReact.useEffect(() => {\n\t\tif (item) {\n\t\t\t// Get effective parameters for current method\n\t\t\tconst globalParams = item.type === \"mcp\" ? item.parameters || [] : []\n\t\t\tlet methodParams: McpParameter[] = []\n\n\t\t\tif (Array.isArray(item.content)) {\n\t\t\t\tconst selectedMethod = item.content[selectedMethodIndex] as McpInstallationMethod\n\t\t\t\tmethodParams = selectedMethod?.parameters || []\n\t\t\t}\n\n\t\t\t// Create map with global params first, then override with method-specific ones\n\t\t\tconst paramMap = new Map<string, McpParameter>()\n\t\t\tglobalParams.forEach((p) => paramMap.set(p.key, p))\n\t\t\tmethodParams.forEach((p) => paramMap.set(p.key, p))\n\n\t\t\tconst currentEffectiveParams = Array.from(paramMap.values())\n\n\t\t\t// Initialize parameter values for effective parameters\n\t\t\tsetParameterValues((prev) => {\n\t\t\t\tconst newValues: Record<string, string> = {}\n\t\t\t\tcurrentEffectiveParams.forEach((param) => {\n\t\t\t\t\t// Keep existing value if it exists, otherwise empty string\n\t\t\t\t\tnewValues[param.key] = prev[param.key] || \"\"\n\t\t\t\t})\n\t\t\t\treturn newValues\n\t\t\t})\n\t\t}\n\t}, [item, selectedMethodIndex])\n\n\t// Listen for installation result messages\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"marketplaceInstallResult\" && message.slug === item?.id) {\n\t\t\t\tif (message.success) {\n\t\t\t\t\t// Installation succeeded - show success state\n\t\t\t\t\tsetInstallationComplete(true)\n\t\t\t\t\tsetValidationError(null)\n\n\t\t\t\t\t// Request fresh marketplace data to update installed status\n\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\ttype: \"fetchMarketplaceData\",\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// Installation failed - show error\n\t\t\t\t\tsetValidationError(message.error || \"Installation failed\")\n\t\t\t\t\tsetInstallationComplete(false)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [item?.id])\n\n\tconst handleInstall = () => {\n\t\tif (!item) return\n\n\t\t// Clear previous validation error\n\t\tsetValidationError(null)\n\n\t\t// Validate required parameters from effective parameters (global + method-specific)\n\t\tfor (const param of effectiveParameters) {\n\t\t\t// Only validate if parameter is not optional (optional defaults to false)\n\t\t\tif (!param.optional && !parameterValues[param.key]?.trim()) {\n\t\t\t\tsetValidationError(t(\"marketplace:install.validationRequired\", { paramName: param.name }))\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\n\t\t// Prepare parameters - ensure optional parameters have empty string if not provided\n\t\tconst finalParameters: Record<string, any> = { ...parameterValues }\n\t\tfor (const param of effectiveParameters) {\n\t\t\tif (param.optional && !finalParameters[param.key]) {\n\t\t\t\tfinalParameters[param.key] = \"\"\n\t\t\t}\n\t\t}\n\n\t\t// Send install message with parameters\n\t\tvscode.postMessage({\n\t\t\ttype: \"installMarketplaceItem\",\n\t\t\tmpItem: item,\n\t\t\tmpInstallOptions: {\n\t\t\t\ttarget: scope,\n\t\t\t\tparameters: {\n\t\t\t\t\t...finalParameters,\n\t\t\t\t\t_selectedIndex: hasMultipleMethods ? selectedMethodIndex : undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\n\t\t// Don't show success immediately - wait for backend result\n\t\t// The success state will be shown when installation actually succeeds\n\t\tsetValidationError(null)\n\t}\n\n\tconst handlePostInstallAction = (tab: \"mcp\" | \"modes\") => {\n\t\tif (tab === \"mcp\") {\n\t\t\t// Navigate to MCP tab\n\t\t\twindow.postMessage(\n\t\t\t\t{\n\t\t\t\t\ttype: \"action\",\n\t\t\t\t\taction: \"mcpButtonClicked\",\n\t\t\t\t},\n\t\t\t\t\"*\",\n\t\t\t)\n\t\t} else {\n\t\t\t// Navigate to Modes tab\n\t\t\twindow.postMessage(\n\t\t\t\t{\n\t\t\t\t\ttype: \"action\",\n\t\t\t\t\taction: \"promptsButtonClicked\",\n\t\t\t\t},\n\t\t\t\t\"*\",\n\t\t\t)\n\t\t}\n\t\t// Close the modal\n\t\tonClose()\n\t}\n\n\tif (!item) return null\n\n\treturn (\n\t\t<Dialog open={isOpen} onOpenChange={onClose}>\n\t\t\t<DialogContent className=\"sm:max-w-[500px]\">\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>\n\t\t\t\t\t\t{installationComplete\n\t\t\t\t\t\t\t? t(\"marketplace:install.successTitle\", { name: item.name })\n\t\t\t\t\t\t\t: item.type === \"mcp\"\n\t\t\t\t\t\t\t\t? t(\"marketplace:install.titleMcp\", { name: item.name })\n\t\t\t\t\t\t\t\t: t(\"marketplace:install.titleMode\", { name: item.name })}\n\t\t\t\t\t</DialogTitle>\n\t\t\t\t\t<DialogDescription>\n\t\t\t\t\t\t{installationComplete ? (\n\t\t\t\t\t\t\tt(\"marketplace:install.successDescription\")\n\t\t\t\t\t\t) : item.type === \"mcp\" && item.url ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={item.url}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\tclassName=\"text-primary hover:underline inline-flex items-center gap-1\">\n\t\t\t\t\t\t\t\t{t(\"marketplace:install.moreInfoMcp\", { name: item.name })}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</DialogDescription>\n\t\t\t\t</DialogHeader>\n\n\t\t\t\t{installationComplete ? (\n\t\t\t\t\t// Post-installation options\n\t\t\t\t\t<div className=\"space-y-4 py-2\">\n\t\t\t\t\t\t<div className=\"text-center space-y-4\">\n\t\t\t\t\t\t\t<div className=\"text-green-500 text-lg\">✓ {t(\"marketplace:install.installed\")}</div>\n\t\t\t\t\t\t\t<p className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t{item.type === \"mcp\"\n\t\t\t\t\t\t\t\t\t? t(\"marketplace:install.whatNextMcp\")\n\t\t\t\t\t\t\t\t\t: t(\"marketplace:install.whatNextMode\")}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t// Installation configuration\n\t\t\t\t\t<div className=\"space-y-4 py-2\">\n\t\t\t\t\t\t{/* Installation Scope */}\n\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t<div className=\"text-base font-semibold\">{t(\"marketplace:install.scope\")}</div>\n\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t<label className=\"flex items-center space-x-2\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tname=\"scope\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"project\"\n\t\t\t\t\t\t\t\t\t\tchecked={scope === \"project\"}\n\t\t\t\t\t\t\t\t\t\tonChange={() => setScope(\"project\")}\n\t\t\t\t\t\t\t\t\t\tdisabled={!hasWorkspace}\n\t\t\t\t\t\t\t\t\t\tclassName=\"rounded-full\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span className={!hasWorkspace ? \"opacity-50\" : \"\"}>\n\t\t\t\t\t\t\t\t\t\t{t(\"marketplace:install.project\")}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t<label className=\"flex items-center space-x-2\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tname=\"scope\"\n\t\t\t\t\t\t\t\t\t\tvalue=\"global\"\n\t\t\t\t\t\t\t\t\t\tchecked={scope === \"global\"}\n\t\t\t\t\t\t\t\t\t\tonChange={() => setScope(\"global\")}\n\t\t\t\t\t\t\t\t\t\tclassName=\"rounded-full\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span>{t(\"marketplace:install.global\")}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Installation Method (if multiple) */}\n\t\t\t\t\t\t{hasMultipleMethods && (\n\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t<div className=\"text-base font-semibold\">{t(\"marketplace:install.method\")}</div>\n\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\tvalue={String(selectedMethodIndex)}\n\t\t\t\t\t\t\t\t\tonValueChange={(value) => setSelectedMethodIndex(Number(value))}>\n\t\t\t\t\t\t\t\t\t<SelectTrigger>\n\t\t\t\t\t\t\t\t\t\t<SelectValue />\n\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t\t{methodNames.map((name, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<SelectItem key={index} value={String(index)}>\n\t\t\t\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Prerequisites */}\n\t\t\t\t\t\t{effectivePrerequisites.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t<div className=\"text-base font-semibold\">{t(\"marketplace:install.prerequisites\")}</div>\n\t\t\t\t\t\t\t\t<ul className=\"list-disc list-inside space-y-1 text-sm\">\n\t\t\t\t\t\t\t\t\t{effectivePrerequisites.map((prereq, index) => (\n\t\t\t\t\t\t\t\t\t\t<li key={index} className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t{prereq}\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Parameters */}\n\t\t\t\t\t\t{effectiveParameters.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"space-y-3\">\n\t\t\t\t\t\t\t\t<div className=\"space-y-1\">\n\t\t\t\t\t\t\t\t\t<div className=\"text-base font-semibold\">\n\t\t\t\t\t\t\t\t\t\t{t(\"marketplace:install.configuration\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-sm text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t{t(\"marketplace:install.configurationDescription\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{effectiveParameters.map((param) => (\n\t\t\t\t\t\t\t\t\t<div key={param.key} className=\"space-y-1\">\n\t\t\t\t\t\t\t\t\t\t<label htmlFor={param.key} className=\"text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t{param.name}\n\t\t\t\t\t\t\t\t\t\t\t{param.optional ? \" (optional)\" : \"\"}\n\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\tid={param.key}\n\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={param.placeholder}\n\t\t\t\t\t\t\t\t\t\t\tvalue={parameterValues[param.key] || \"\"}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetParameterValues((prev) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[param.key]: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* Validation Error */}\n\t\t\t\t\t\t{validationError && (\n\t\t\t\t\t\t\t<div className=\"text-sm text-red-500 bg-red-500/10 border border-red-500/20 rounded p-2\">\n\t\t\t\t\t\t\t\t{validationError}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t{installationComplete ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button variant=\"outline\" onClick={onClose}>\n\t\t\t\t\t\t\t\t{t(\"marketplace:install.done\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button onClick={() => handlePostInstallAction(item.type === \"mcp\" ? \"mcp\" : \"modes\")}>\n\t\t\t\t\t\t\t\t{item.type === \"mcp\"\n\t\t\t\t\t\t\t\t\t? t(\"marketplace:install.goToMcp\")\n\t\t\t\t\t\t\t\t\t: t(\"marketplace:install.goToModes\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button variant=\"outline\" onClick={onClose}>\n\t\t\t\t\t\t\t\t{t(\"common:answers.cancel\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button onClick={handleInstall}>{t(\"marketplace:install.button\")}</Button>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t)\n}\n", + "import React, { useMemo, useState, useEffect } from \"react\"\nimport { MarketplaceItem, TelemetryEventName } from \"@roo-code/types\"\nimport { vscode } from \"@/utils/vscode\"\nimport { telemetryClient } from \"@/utils/TelemetryClient\"\nimport { ViewState } from \"../MarketplaceViewStateManager\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { isValidUrl } from \"../../../utils/url\"\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { StandardTooltip } from \"@/components/ui\"\nimport { MarketplaceInstallModal } from \"./MarketplaceInstallModal\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n} from \"@/components/ui\"\n\ninterface ItemInstalledMetadata {\n\ttype: string\n}\n\ninterface MarketplaceItemCardProps {\n\titem: MarketplaceItem\n\tfilters: ViewState[\"filters\"]\n\tsetFilters: (filters: Partial<ViewState[\"filters\"]>) => void\n\tinstalled: {\n\t\tproject: ItemInstalledMetadata | undefined\n\t\tglobal: ItemInstalledMetadata | undefined\n\t}\n}\n\nexport const MarketplaceItemCard: React.FC<MarketplaceItemCardProps> = ({ item, filters, setFilters, installed }) => {\n\tconst { t } = useAppTranslation()\n\tconst { cwd } = useExtensionState()\n\tconst [showInstallModal, setShowInstallModal] = useState(false)\n\tconst [showRemoveConfirm, setShowRemoveConfirm] = useState(false)\n\tconst [removeTarget, setRemoveTarget] = useState<\"project\" | \"global\">(\"project\")\n\tconst [removeError, setRemoveError] = useState<string | null>(null)\n\n\t// Listen for removal result messages\n\tuseEffect(() => {\n\t\tconst handleMessage = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"marketplaceRemoveResult\" && message.slug === item.id) {\n\t\t\t\tif (message.success) {\n\t\t\t\t\t// Removal succeeded - refresh marketplace data\n\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\ttype: \"fetchMarketplaceData\",\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// Removal failed - show error message to user\n\t\t\t\t\tsetRemoveError(message.error || t(\"marketplace:items.unknownError\"))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleMessage)\n\t\treturn () => window.removeEventListener(\"message\", handleMessage)\n\t}, [item.id, t])\n\n\tconst typeLabel = useMemo(() => {\n\t\tconst labels: Partial<Record<MarketplaceItem[\"type\"], string>> = {\n\t\t\tmode: t(\"marketplace:filters.type.mode\"),\n\t\t\tmcp: t(\"marketplace:filters.type.mcpServer\"),\n\t\t}\n\t\treturn labels[item.type] ?? \"N/A\"\n\t}, [item.type, t])\n\n\t// Determine installation status\n\tconst isInstalledGlobally = !!installed.global\n\tconst isInstalledInProject = !!installed.project\n\tconst isInstalled = isInstalledGlobally || isInstalledInProject\n\n\tconst handleInstallClick = () => {\n\t\t// Send telemetry for install button click\n\t\ttelemetryClient.capture(TelemetryEventName.MARKETPLACE_INSTALL_BUTTON_CLICKED, {\n\t\t\titemId: item.id,\n\t\t\titemType: item.type,\n\t\t\titemName: item.name,\n\t\t})\n\n\t\t// Show modal for all item types (MCP and modes)\n\t\tsetShowInstallModal(true)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"border border-vscode-panel-border rounded-sm p-3 bg-vscode-editor-background\">\n\t\t\t\t<div className=\"flex gap-2 items-start justify-between\">\n\t\t\t\t\t<div className=\"flex gap-2 items-start\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<h3 className=\"text-lg font-semibold text-vscode-foreground mt-0 mb-1 leading-none\">\n\t\t\t\t\t\t\t\t{item.type === \"mcp\" && item.url && isValidUrl(item.url) ? (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"p-0 h-auto text-lg font-semibold text-vscode-foreground hover:underline\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => vscode.postMessage({ type: \"openExternal\", url: item.url })}>\n\t\t\t\t\t\t\t\t\t\t{item.name}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\titem.name\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t<AuthorInfo item={item} typeLabel={typeLabel} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t{isInstalled ? (\n\t\t\t\t\t\t\t/* Single Remove button when installed */\n\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\tisInstalledInProject\n\t\t\t\t\t\t\t\t\t\t? t(\"marketplace:items.card.removeProjectTooltip\")\n\t\t\t\t\t\t\t\t\t\t: t(\"marketplace:items.card.removeGlobalTooltip\")\n\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tclassName=\"text-xs h-5 py-0 px-2\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t// Determine which installation to remove (prefer project over global)\n\t\t\t\t\t\t\t\t\t\tconst target = isInstalledInProject ? \"project\" : \"global\"\n\t\t\t\t\t\t\t\t\t\tsetRemoveTarget(target)\n\t\t\t\t\t\t\t\t\t\tsetShowRemoveConfirm(true)\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{t(\"marketplace:items.card.remove\")}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t/* Single Install button when not installed */\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\t\tclassName=\"text-xs h-5 py-0 px-2\"\n\t\t\t\t\t\t\t\tonClick={handleInstallClick}>\n\t\t\t\t\t\t\t\t{t(\"marketplace:items.card.install\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Error message display */}\n\t\t\t\t\t\t{removeError && (\n\t\t\t\t\t\t\t<div className=\"text-vscode-errorForeground text-sm mt-2\">\n\t\t\t\t\t\t\t\t{t(\"marketplace:items.removeFailed\", { error: removeError })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<p className=\"my-2 text-vscode-foreground\">{item.description}</p>\n\n\t\t\t\t{/* Installation status badges and tags in the same row */}\n\t\t\t\t{(isInstalled || (item.tags && item.tags.length > 0)) && (\n\t\t\t\t\t<div className=\"relative flex flex-wrap gap-1 my-2\">\n\t\t\t\t\t\t{/* Installation status badge on the left */}\n\t\t\t\t\t\t{isInstalled && (\n\t\t\t\t\t\t\t<span className=\"text-xs px-2 py-0.5 rounded-sm h-5 flex items-center bg-green-600/20 text-green-400 border border-green-600/30 shrink-0\">\n\t\t\t\t\t\t\t\t{t(\"marketplace:items.card.installed\")}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{/* Tags on the right */}\n\t\t\t\t\t\t{item.tags &&\n\t\t\t\t\t\t\titem.tags.length > 0 &&\n\t\t\t\t\t\t\titem.tags.map((tag) => (\n\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\tkey={tag}\n\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\tfilters.tags.includes(tag)\n\t\t\t\t\t\t\t\t\t\t\t? t(\"marketplace:filters.tags.clear\", { count: tag })\n\t\t\t\t\t\t\t\t\t\t\t: t(\"marketplace:filters.tags.clickToFilter\")\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\"rounded-sm capitalize text-xs px-2 h-5\", {\n\t\t\t\t\t\t\t\t\t\t\t\"border-solid border-primary text-primary\": filters.tags.includes(tag),\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst newTags = filters.tags.includes(tag)\n\t\t\t\t\t\t\t\t\t\t\t\t? filters.tags.filter((t: string) => t !== tag)\n\t\t\t\t\t\t\t\t\t\t\t\t: [...filters.tags, tag]\n\t\t\t\t\t\t\t\t\t\t\tsetFilters({ tags: newTags })\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t{tag}\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Installation Modal - Outside the clickable card */}\n\t\t\t<MarketplaceInstallModal\n\t\t\t\titem={item}\n\t\t\t\tisOpen={showInstallModal}\n\t\t\t\tonClose={() => setShowInstallModal(false)}\n\t\t\t\thasWorkspace={!!cwd}\n\t\t\t/>\n\n\t\t\t{/* Remove Confirmation Dialog */}\n\t\t\t<AlertDialog open={showRemoveConfirm} onOpenChange={setShowRemoveConfirm}>\n\t\t\t\t<AlertDialogContent>\n\t\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t\t<AlertDialogTitle>\n\t\t\t\t\t\t\t{item.type === \"mode\"\n\t\t\t\t\t\t\t\t? t(\"marketplace:removeConfirm.mode.title\")\n\t\t\t\t\t\t\t\t: t(\"marketplace:removeConfirm.mcp.title\")}\n\t\t\t\t\t\t</AlertDialogTitle>\n\t\t\t\t\t\t<AlertDialogDescription>\n\t\t\t\t\t\t\t{item.type === \"mode\" ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{t(\"marketplace:removeConfirm.mode.message\", { modeName: item.name })}\n\t\t\t\t\t\t\t\t\t<div className=\"mt-2 text-sm\">\n\t\t\t\t\t\t\t\t\t\t{t(\"marketplace:removeConfirm.mode.rulesWarning\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tt(\"marketplace:removeConfirm.mcp.message\", { mcpName: item.name })\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t\t</AlertDialogHeader>\n\t\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t\t<AlertDialogCancel>{t(\"marketplace:removeConfirm.cancel\")}</AlertDialogCancel>\n\t\t\t\t\t\t<AlertDialogAction\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t// Clear any previous error\n\t\t\t\t\t\t\t\tsetRemoveError(null)\n\n\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\ttype: \"removeInstalledMarketplaceItem\",\n\t\t\t\t\t\t\t\t\tmpItem: item,\n\t\t\t\t\t\t\t\t\tmpInstallOptions: { target: removeTarget },\n\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t\tsetShowRemoveConfirm(false)\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t{t(\"marketplace:removeConfirm.confirm\")}\n\t\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t\t</AlertDialogFooter>\n\t\t\t\t</AlertDialogContent>\n\t\t\t</AlertDialog>\n\t\t</>\n\t)\n}\n\ninterface AuthorInfoProps {\n\titem: MarketplaceItem\n\ttypeLabel: string\n}\n\nconst AuthorInfo: React.FC<AuthorInfoProps> = ({ item, typeLabel }) => {\n\tconst { t } = useAppTranslation()\n\n\tconst handleOpenAuthorUrl = () => {\n\t\tif (item.authorUrl && isValidUrl(item.authorUrl)) {\n\t\t\tvscode.postMessage({ type: \"openExternal\", url: item.authorUrl })\n\t\t}\n\t}\n\n\tif (item.author) {\n\t\treturn (\n\t\t\t<p className=\"text-sm text-vscode-descriptionForeground my-0\">\n\t\t\t\t{typeLabel}{\" \"}\n\t\t\t\t{item.authorUrl && isValidUrl(item.authorUrl) ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tclassName=\"p-0 h-auto text-sm text-vscode-textLink hover:underline\"\n\t\t\t\t\t\tonClick={handleOpenAuthorUrl}>\n\t\t\t\t\t\t{t(\"marketplace:items.card.by\", { author: item.author })}\n\t\t\t\t\t</Button>\n\t\t\t\t) : (\n\t\t\t\t\tt(\"marketplace:items.card.by\", { author: item.author })\n\t\t\t\t)}\n\t\t\t</p>\n\t\t)\n\t}\n\treturn null\n}\n", + "import React from \"react\"\nimport { Trans } from \"react-i18next\"\nimport { VSCodeLink } from \"@vscode/webview-ui-toolkit/react\"\n\nexport const IssueFooter: React.FC = () => {\n\treturn (\n\t\t<div className=\"text-xs text-vscode-descriptionForeground p-3\">\n\t\t\t<Trans i18nKey=\"marketplace:footer.issueText\">\n\t\t\t\t<VSCodeLink\n\t\t\t\t\thref=\"https://github.com/RooCodeInc/Roo-Code/issues/new?template=marketplace.yml\"\n\t\t\t\t\tstyle={{ display: \"inline\", fontSize: \"inherit\" }}>\n\t\t\t\t\tOpen a GitHub issue\n\t\t\t\t</VSCodeLink>\n\t\t\t</Trans>\n\t\t</div>\n\t)\n}\n", + "import * as React from \"react\"\nimport { Input } from \"@/components/ui/input\"\nimport { Button } from \"@/components/ui/button\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\"\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from \"@/components/ui/command\"\nimport { X, ChevronsUpDown } from \"lucide-react\"\nimport { MarketplaceItemCard } from \"./components/MarketplaceItemCard\"\nimport { MarketplaceViewStateManager } from \"./MarketplaceViewStateManager\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { useStateManager } from \"./useStateManager\"\nimport { useExtensionState } from \"@/context/ExtensionStateContext\"\nimport { IssueFooter } from \"./IssueFooter\"\n\nexport interface MarketplaceListViewProps {\n\tstateManager: MarketplaceViewStateManager\n\tallTags: string[]\n\tfilteredTags: string[]\n\tfilterByType?: \"mcp\" | \"mode\"\n}\n\nexport function MarketplaceListView({ stateManager, allTags, filteredTags, filterByType }: MarketplaceListViewProps) {\n\tconst [state, manager] = useStateManager(stateManager)\n\tconst { t } = useAppTranslation()\n\tconst { marketplaceInstalledMetadata, cloudUserInfo } = useExtensionState()\n\tconst [isTagPopoverOpen, setIsTagPopoverOpen] = React.useState(false)\n\tconst [tagSearch, setTagSearch] = React.useState(\"\")\n\tconst allItems = state.displayItems || []\n\tconst organizationMcps = state.displayOrganizationMcps || []\n\n\t// Filter items by type if specified\n\tconst items = filterByType ? allItems.filter((item) => item.type === filterByType) : allItems\n\tconst orgMcps = filterByType === \"mcp\" ? organizationMcps : []\n\n\tconst isEmpty = items.length === 0 && orgMcps.length === 0\n\n\treturn (\n\t\t<>\n\t\t\t<div className=\"mb-4\">\n\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\tfilterByType === \"mcp\"\n\t\t\t\t\t\t\t\t? t(\"marketplace:filters.search.placeholderMcp\")\n\t\t\t\t\t\t\t\t: filterByType === \"mode\"\n\t\t\t\t\t\t\t\t\t? t(\"marketplace:filters.search.placeholderMode\")\n\t\t\t\t\t\t\t\t\t: t(\"marketplace:filters.search.placeholder\")\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={state.filters.search}\n\t\t\t\t\t\tonChange={(e) =>\n\t\t\t\t\t\t\tmanager.transition({\n\t\t\t\t\t\t\t\ttype: \"UPDATE_FILTERS\",\n\t\t\t\t\t\t\t\tpayload: { filters: { search: e.target.value } },\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{allTags.length > 0 && (\n\t\t\t\t\t<div className=\"mt-2\">\n\t\t\t\t\t\t<div className=\"flex items-center justify-between mb-1\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t<label className=\"font-medium text-sm\">{t(\"marketplace:filters.tags.label\")}</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{state.filters.tags.length > 0 && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"shadow-none font-normal flex items-center gap-1 h-auto py-0.5 px-1.5 text-xs\"\n\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation() // Prevent popover from closing if it's open\n\t\t\t\t\t\t\t\t\t\tmanager.transition({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"UPDATE_FILTERS\",\n\t\t\t\t\t\t\t\t\t\t\tpayload: { filters: { tags: [] } },\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-close\"></span>\n\t\t\t\t\t\t\t\t\t{t(\"marketplace:filters.tags.clear\")}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<Popover open={isTagPopoverOpen} onOpenChange={(open) => setIsTagPopoverOpen(open)}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"combobox\"\n\t\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\t\taria-expanded={isTagPopoverOpen}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full justify-between h-7\">\n\t\t\t\t\t\t\t\t\t<span className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t{state.filters.tags.length > 0\n\t\t\t\t\t\t\t\t\t\t\t? state.filters.tags\n\t\t\t\t\t\t\t\t\t\t\t\t\t.map((t: string) => t.charAt(0).toUpperCase() + t.slice(1))\n\t\t\t\t\t\t\t\t\t\t\t\t\t.join(\", \")\n\t\t\t\t\t\t\t\t\t\t\t: t(\"marketplace:filters.none\")}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\t\t\tclassName=\"w-[var(--radix-popover-trigger-width)] p-0\"\n\t\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}>\n\t\t\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-9 pr-8\"\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"marketplace:filters.tags.placeholder\")}\n\t\t\t\t\t\t\t\t\t\t\tvalue={tagSearch}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={setTagSearch}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{tagSearch && (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"absolute right-1 top-1/2 transform -translate-y-1/2 h-7 w-7\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => setTagSearch(\"\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t<X className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<CommandList className=\"max-h-[200px] overflow-y-auto bg-vscode-dropdown-background divide-y divide-vscode-panel-border\">\n\t\t\t\t\t\t\t\t\t\t<CommandEmpty className=\"p-2 text-sm text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"marketplace:filters.tags.noResults\")}\n\t\t\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t{filteredTags.map((tag: string) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={tag}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={tag}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isSelected = state.filters.tags.includes(tag)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmanager.transition({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"UPDATE_FILTERS\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilters: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttags: isSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? state.filters.tags.filter((t) => t !== tag)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: [...state.filters.tags, tag],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-selected={state.filters.tags.includes(tag)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"grid grid-cols-[1rem_1fr] gap-2 cursor-pointer text-sm capitalize\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{state.filters.tags.includes(tag) ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-check\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{tag}\n\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t{state.filters.tags.length > 0 && (\n\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-2 flex items-center min-h-[16px]\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-tag mr-1\"></span>\n\t\t\t\t\t\t\t\t{t(\"marketplace:filters.tags.selected\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{state.isFetching && isEmpty && (\n\t\t\t\t<div className=\"flex flex-col items-center justify-center h-64 text-vscode-descriptionForeground animate-fade-in\">\n\t\t\t\t\t<div className=\"animate-spin mb-4\">\n\t\t\t\t\t\t<span className=\"codicon codicon-sync text-3xl\"></span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<p>{t(\"marketplace:items.refresh.refreshing\")}</p>\n\t\t\t\t\t<p className=\"text-sm mt-2 animate-pulse\">{t(\"marketplace:items.refresh.mayTakeMoment\")}</p>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{!state.isFetching && isEmpty && (\n\t\t\t\t<div className=\"flex flex-col items-center justify-center h-64 text-vscode-descriptionForeground animate-fade-in\">\n\t\t\t\t\t<span className=\"codicon codicon-inbox text-4xl mb-4 opacity-70\"></span>\n\t\t\t\t\t<p className=\"font-medium\">{t(\"marketplace:items.empty.noItems\")}</p>\n\t\t\t\t\t<p className=\"text-sm mt-2\">{t(\"marketplace:items.empty.adjustFilters\")}</p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\tmanager.transition({\n\t\t\t\t\t\t\t\ttype: \"UPDATE_FILTERS\",\n\t\t\t\t\t\t\t\tpayload: { filters: { search: \"\", type: \"\", tags: [] } },\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"mt-4 bg-vscode-button-secondaryBackground text-vscode-button-secondaryForeground hover:bg-vscode-button-secondaryHoverBackground transition-colors\">\n\t\t\t\t\t\t<span className=\"codicon codicon-clear-all mr-2\"></span>\n\t\t\t\t\t\t{t(\"marketplace:items.empty.clearAllFilters\")}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{!state.isFetching && !isEmpty && (\n\t\t\t\t<div className=\"pb-3\">\n\t\t\t\t\t{orgMcps.length > 0 && (\n\t\t\t\t\t\t<div className=\"mb-6\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mb-3 px-1\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-organization text-lg\"></span>\n\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-semibold text-vscode-foreground\">\n\t\t\t\t\t\t\t\t\t{t(\"marketplace:sections.organizationMcps\", {\n\t\t\t\t\t\t\t\t\t\torganization: cloudUserInfo?.organizationName,\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t<div className=\"flex-1 h-px bg-vscode-input-border\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2 gap-3\">\n\t\t\t\t\t\t\t\t{orgMcps.map((item) => (\n\t\t\t\t\t\t\t\t\t<MarketplaceItemCard\n\t\t\t\t\t\t\t\t\t\tkey={`org-${item.id}`}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tfilters={state.filters}\n\t\t\t\t\t\t\t\t\t\tsetFilters={(filters) =>\n\t\t\t\t\t\t\t\t\t\t\tmanager.transition({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"UPDATE_FILTERS\",\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: { filters },\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tinstalled={{\n\t\t\t\t\t\t\t\t\t\t\tproject: marketplaceInstalledMetadata?.project?.[item.id],\n\t\t\t\t\t\t\t\t\t\t\tglobal: marketplaceInstalledMetadata?.global?.[item.id],\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{items.length > 0 && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{orgMcps.length > 0 && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 mb-3 px-1\">\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-globe text-lg\"></span>\n\t\t\t\t\t\t\t\t\t<h3 className=\"text-sm font-semibold text-vscode-foreground\">\n\t\t\t\t\t\t\t\t\t\t{t(\"marketplace:sections.marketplace\")}\n\t\t\t\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t\t\t\t<div className=\"flex-1 h-px bg-vscode-input-border\"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2 gap-3\">\n\t\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t\t<MarketplaceItemCard\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tfilters={state.filters}\n\t\t\t\t\t\t\t\t\t\tsetFilters={(filters) =>\n\t\t\t\t\t\t\t\t\t\t\tmanager.transition({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"UPDATE_FILTERS\",\n\t\t\t\t\t\t\t\t\t\t\t\tpayload: { filters },\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tinstalled={{\n\t\t\t\t\t\t\t\t\t\t\tproject: marketplaceInstalledMetadata?.project?.[item.id],\n\t\t\t\t\t\t\t\t\t\t\tglobal: marketplaceInstalledMetadata?.global?.[item.id],\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t<IssueFooter />\n\t\t</>\n\t)\n}\n", + "import { useState, useEffect, useMemo, useContext } from \"react\"\nimport { Button } from \"@/components/ui/button\"\nimport { Tab, TabContent, TabHeader } from \"../common/Tab\"\nimport { MarketplaceViewStateManager } from \"./MarketplaceViewStateManager\"\nimport { useStateManager } from \"./useStateManager\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\nimport { vscode } from \"@/utils/vscode\"\nimport { MarketplaceListView } from \"./MarketplaceListView\"\nimport { cn } from \"@/lib/utils\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\nimport { ExtensionStateContext } from \"@/context/ExtensionStateContext\"\n\ninterface MarketplaceViewProps {\n\tonDone?: () => void\n\tstateManager: MarketplaceViewStateManager\n\ttargetTab?: \"mcp\" | \"mode\"\n}\nexport function MarketplaceView({ stateManager, onDone, targetTab }: MarketplaceViewProps) {\n\tconst { t } = useAppTranslation()\n\tconst [state, manager] = useStateManager(stateManager)\n\tconst [hasReceivedInitialState, setHasReceivedInitialState] = useState(false)\n\tconst extensionState = useContext(ExtensionStateContext)\n\tconst [lastOrganizationSettingsVersion, setLastOrganizationSettingsVersion] = useState<number>(\n\t\textensionState?.organizationSettingsVersion ?? -1,\n\t)\n\n\tuseEffect(() => {\n\t\tconst currentVersion = extensionState?.organizationSettingsVersion ?? -1\n\t\tif (currentVersion !== lastOrganizationSettingsVersion) {\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"fetchMarketplaceData\",\n\t\t\t})\n\t\t}\n\t\tsetLastOrganizationSettingsVersion(currentVersion)\n\t}, [extensionState?.organizationSettingsVersion, lastOrganizationSettingsVersion])\n\n\t// Track when we receive the initial state\n\tuseEffect(() => {\n\t\t// Check if we already have items (state might have been received before mount)\n\t\tif (state.allItems.length > 0 && !hasReceivedInitialState) {\n\t\t\tsetHasReceivedInitialState(true)\n\t\t}\n\t}, [state.allItems, hasReceivedInitialState])\n\n\tuseEffect(() => {\n\t\tif (targetTab && (targetTab === \"mcp\" || targetTab === \"mode\")) {\n\t\t\tmanager.transition({ type: \"SET_ACTIVE_TAB\", payload: { tab: targetTab } })\n\t\t}\n\t}, [targetTab, manager])\n\n\t// Ensure marketplace state manager processes messages when component mounts\n\tuseEffect(() => {\n\t\t// When the marketplace view first mounts, we need to trigger a state update\n\t\t// to ensure we get the current marketplace items. We do this by sending\n\t\t// a filter message with empty filters, which will cause the extension to\n\t\t// send back the full state including all marketplace items.\n\t\tif (!hasReceivedInitialState && state.allItems.length === 0) {\n\t\t\t// Fetch marketplace data on demand\n\t\t\t// Note: isFetching is already true by default for initial load\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"fetchMarketplaceData\",\n\t\t\t})\n\t\t}\n\n\t\t// Listen for state changes to know when initial data arrives\n\t\tconst unsubscribe = manager.onStateChange((newState) => {\n\t\t\t// Mark as received initial state when we get any state update\n\t\t\t// This prevents infinite loops and ensures proper state handling\n\t\t\tif (!hasReceivedInitialState && (newState.allItems.length > 0 || newState.displayItems !== undefined)) {\n\t\t\t\tsetHasReceivedInitialState(true)\n\t\t\t}\n\t\t})\n\n\t\tconst handleVisibilityMessage = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"webviewVisible\" && message.visible === true) {\n\t\t\t\t// Data will be automatically fresh when panel becomes visible\n\t\t\t\t// No manual fetching needed since we removed caching\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handleVisibilityMessage)\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"message\", handleVisibilityMessage)\n\t\t\tunsubscribe()\n\t\t}\n\t}, [manager, hasReceivedInitialState, state.allItems.length])\n\n\t// Memoize all available tags\n\tconst allTags = useMemo(\n\t\t() => Array.from(new Set(state.allItems.flatMap((item) => item.tags || []))).sort(),\n\t\t[state.allItems],\n\t)\n\n\t// Memoize filtered tags\n\tconst filteredTags = useMemo(() => allTags, [allTags])\n\n\treturn (\n\t\t<TooltipProvider delayDuration={300}>\n\t\t\t<Tab>\n\t\t\t\t<TabHeader className=\"flex flex-col sticky top-0 z-10 px-3 py-2\">\n\t\t\t\t\t<div className=\"flex justify-between items-center px-2\">\n\t\t\t\t\t\t<h3 className=\"font-bold m-0\">{t(\"marketplace:title\")}</h3>\n\t\t\t\t\t\t<div className=\"flex gap-2 items-center\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tonDone?.()\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{t(\"marketplace:done\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"w-full mt-2\">\n\t\t\t\t\t\t<div className=\"flex relative py-1\">\n\t\t\t\t\t\t\t<div className=\"absolute w-full h-[2px] -bottom-[2px] bg-vscode-input-border\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\"absolute w-1/2 h-[2px] bottom-0 bg-vscode-button-background transition-all duration-300 ease-in-out\",\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"left-0\": state.activeTab === \"mcp\",\n\t\t\t\t\t\t\t\t\t\t\t\"left-1/2\": state.activeTab === \"mode\",\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"flex items-center justify-center gap-2 flex-1 text-sm font-medium rounded-sm transition-colors duration-300 relative z-10 text-vscode-foreground\"\n\t\t\t\t\t\t\t\tonClick={() => manager.transition({ type: \"SET_ACTIVE_TAB\", payload: { tab: \"mcp\" } })}>\n\t\t\t\t\t\t\t\tMCP\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"flex items-center justify-center gap-2 flex-1 text-sm font-medium rounded-sm transition-colors duration-300 relative z-10 text-vscode-foreground\"\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\tmanager.transition({ type: \"SET_ACTIVE_TAB\", payload: { tab: \"mode\" } })\n\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\tModes\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</TabHeader>\n\n\t\t\t\t<TabContent className=\"p-3 pt-2\">\n\t\t\t\t\t{state.activeTab === \"mcp\" && (\n\t\t\t\t\t\t<MarketplaceListView\n\t\t\t\t\t\t\tstateManager={stateManager}\n\t\t\t\t\t\t\tallTags={allTags}\n\t\t\t\t\t\t\tfilteredTags={filteredTags}\n\t\t\t\t\t\t\tfilterByType=\"mcp\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{state.activeTab === \"mode\" && (\n\t\t\t\t\t\t<MarketplaceListView\n\t\t\t\t\t\t\tstateManager={stateManager}\n\t\t\t\t\t\t\tallTags={allTags}\n\t\t\t\t\t\t\tfilteredTags={filteredTags}\n\t\t\t\t\t\t\tfilterByType=\"mode\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</TabContent>\n\t\t\t</Tab>\n\t\t</TooltipProvider>\n\t)\n}\n", + "import React from \"react\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n} from \"@src/components/ui\"\n\ninterface DeleteModeDialogProps {\n\topen: boolean\n\tonOpenChange: (open: boolean) => void\n\tmodeToDelete: {\n\t\tslug: string\n\t\tname: string\n\t\tsource?: string\n\t\trulesFolderPath?: string\n\t} | null\n\tonConfirm: () => void\n}\n\nexport const DeleteModeDialog: React.FC<DeleteModeDialogProps> = ({ open, onOpenChange, modeToDelete, onConfirm }) => {\n\tconst { t } = useAppTranslation()\n\n\treturn (\n\t\t<AlertDialog open={open} onOpenChange={onOpenChange}>\n\t\t\t<AlertDialogContent>\n\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t<AlertDialogTitle>{t(\"prompts:deleteMode.title\")}</AlertDialogTitle>\n\t\t\t\t\t<AlertDialogDescription>\n\t\t\t\t\t\t{modeToDelete && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{t(\"prompts:deleteMode.message\", { modeName: modeToDelete.name })}\n\t\t\t\t\t\t\t\t{modeToDelete.rulesFolderPath && (\n\t\t\t\t\t\t\t\t\t<div className=\"mt-2\">\n\t\t\t\t\t\t\t\t\t\t{t(\"prompts:deleteMode.rulesFolder\", {\n\t\t\t\t\t\t\t\t\t\t\tfolderPath: modeToDelete.rulesFolderPath,\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</AlertDialogDescription>\n\t\t\t\t</AlertDialogHeader>\n\t\t\t\t<AlertDialogFooter>\n\t\t\t\t\t<AlertDialogCancel>{t(\"prompts:deleteMode.cancel\")}</AlertDialogCancel>\n\t\t\t\t\t<AlertDialogAction onClick={onConfirm}>{t(\"prompts:deleteMode.confirm\")}</AlertDialogAction>\n\t\t\t\t</AlertDialogFooter>\n\t\t\t</AlertDialogContent>\n\t\t</AlertDialog>\n\t)\n}\n", + "import React, { useState, useEffect, useMemo, useCallback, useRef } from \"react\"\nimport {\n\tVSCodeCheckbox,\n\tVSCodeRadioGroup,\n\tVSCodeRadio,\n\tVSCodeTextArea,\n\tVSCodeLink,\n\tVSCodeTextField,\n} from \"@vscode/webview-ui-toolkit/react\"\nimport { Trans } from \"react-i18next\"\nimport { ChevronDown, X, Upload, Download } from \"lucide-react\"\n\nimport { ModeConfig, GroupEntry, PromptComponent, ToolGroup, modeConfigSchema } from \"@roo-code/types\"\n\nimport {\n\tMode,\n\tgetRoleDefinition,\n\tgetWhenToUse,\n\tgetDescription,\n\tgetCustomInstructions,\n\tgetAllModes,\n\tfindModeBySlug as findCustomModeBySlug,\n} from \"@roo/modes\"\nimport { TOOL_GROUPS } from \"@roo/tools\"\n\nimport { vscode } from \"@src/utils/vscode\"\nimport { buildDocLink } from \"@src/utils/docLinks\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { Tab, TabContent, TabHeader } from \"@src/components/common/Tab\"\nimport {\n\tButton,\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger,\n\tCommand,\n\tCommandInput,\n\tCommandList,\n\tCommandEmpty,\n\tCommandItem,\n\tCommandGroup,\n\tInput,\n\tStandardTooltip,\n} from \"@src/components/ui\"\nimport { DeleteModeDialog } from \"@src/components/modes/DeleteModeDialog\"\nimport { useEscapeKey } from \"@src/hooks/useEscapeKey\"\n\n// Get all available groups that should show in prompts view\nconst availableGroups = (Object.keys(TOOL_GROUPS) as ToolGroup[]).filter((group) => !TOOL_GROUPS[group].alwaysAvailable)\n\ntype ModeSource = \"global\" | \"project\"\n\ntype ModesViewProps = {\n\tonDone: () => void\n}\n\n// Helper to get group name regardless of format\nfunction getGroupName(group: GroupEntry): ToolGroup {\n\treturn Array.isArray(group) ? group[0] : group\n}\n\nconst ModesView = ({ onDone }: ModesViewProps) => {\n\tconst { t } = useAppTranslation()\n\n\tconst {\n\t\tcustomModePrompts,\n\t\tlistApiConfigMeta,\n\t\tcurrentApiConfigName,\n\t\tmode,\n\t\tcustomInstructions,\n\t\tsetCustomInstructions,\n\t\tcustomModes,\n\t} = useExtensionState()\n\n\t// Use a local state to track the visually active mode\n\t// This prevents flickering when switching modes rapidly by:\n\t// 1. Updating the UI immediately when a mode is clicked\n\t// 2. Not syncing with the backend mode state (which would cause flickering)\n\t// 3. Still sending the mode change to the backend for persistence\n\tconst [visualMode, setVisualMode] = useState(mode)\n\n\t// Memoize modes to preserve array order\n\tconst modes = useMemo(() => getAllModes(customModes), [customModes])\n\n\tconst [isDialogOpen, setIsDialogOpen] = useState(false)\n\tconst [selectedPromptContent, setSelectedPromptContent] = useState(\"\")\n\tconst [selectedPromptTitle, setSelectedPromptTitle] = useState(\"\")\n\tconst [isToolsEditMode, setIsToolsEditMode] = useState(false)\n\tconst [showConfigMenu, setShowConfigMenu] = useState(false)\n\tconst [isCreateModeDialogOpen, setIsCreateModeDialogOpen] = useState(false)\n\tconst [isSystemPromptDisclosureOpen, setIsSystemPromptDisclosureOpen] = useState(false)\n\tconst [isExporting, setIsExporting] = useState(false)\n\tconst [isImporting, setIsImporting] = useState(false)\n\tconst [showImportDialog, setShowImportDialog] = useState(false)\n\tconst [hasRulesToExport, setHasRulesToExport] = useState<Record<string, boolean>>({})\n\tconst [showDeleteConfirm, setShowDeleteConfirm] = useState(false)\n\tconst [modeToDelete, setModeToDelete] = useState<{\n\t\tslug: string\n\t\tname: string\n\t\tsource?: string\n\t\trulesFolderPath?: string\n\t} | null>(null)\n\n\t// State for mode selection popover and search\n\tconst [open, setOpen] = useState(false)\n\tconst [searchValue, setSearchValue] = useState(\"\")\n\tconst searchInputRef = useRef<HTMLInputElement>(null)\n\n\t// Local state for mode name input to allow visual emptying\n\tconst [localModeName, setLocalModeName] = useState<string>(\"\")\n\tconst [currentEditingModeSlug, setCurrentEditingModeSlug] = useState<string | null>(null)\n\n\t// Direct update functions\n\tconst updateAgentPrompt = useCallback(\n\t\t(mode: Mode, promptData: PromptComponent) => {\n\t\t\tconst existingPrompt = customModePrompts?.[mode] as PromptComponent\n\t\t\tconst updatedPrompt = { ...existingPrompt, ...promptData }\n\n\t\t\t// Only include properties that differ from defaults\n\t\t\tif (updatedPrompt.roleDefinition === getRoleDefinition(mode)) {\n\t\t\t\tdelete updatedPrompt.roleDefinition\n\t\t\t}\n\t\t\tif (updatedPrompt.description === getDescription(mode)) {\n\t\t\t\tdelete updatedPrompt.description\n\t\t\t}\n\t\t\tif (updatedPrompt.whenToUse === getWhenToUse(mode)) {\n\t\t\t\tdelete updatedPrompt.whenToUse\n\t\t\t}\n\n\t\t\tvscode.postMessage({\n\t\t\t\ttype: \"updatePrompt\",\n\t\t\t\tpromptMode: mode,\n\t\t\t\tcustomPrompt: updatedPrompt,\n\t\t\t})\n\t\t},\n\t\t[customModePrompts],\n\t)\n\n\tconst updateCustomMode = useCallback((slug: string, modeConfig: ModeConfig) => {\n\t\tconst source = modeConfig.source || \"global\"\n\n\t\tvscode.postMessage({\n\t\t\ttype: \"updateCustomMode\",\n\t\t\tslug,\n\t\t\tmodeConfig: {\n\t\t\t\t...modeConfig,\n\t\t\t\tsource, // Ensure source is set\n\t\t\t},\n\t\t})\n\t}, [])\n\n\t// Helper function to find a mode by slug\n\tconst findModeBySlug = useCallback(\n\t\t(searchSlug: string, modes: readonly ModeConfig[] | undefined): ModeConfig | undefined => {\n\t\t\treturn findCustomModeBySlug(searchSlug, modes)\n\t\t},\n\t\t[],\n\t)\n\n\tconst switchMode = useCallback((slug: string) => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"mode\",\n\t\t\ttext: slug,\n\t\t})\n\t}, [])\n\n\t// Handle mode switching with explicit state initialization\n\tconst handleModeSwitch = useCallback(\n\t\t(modeConfig: ModeConfig) => {\n\t\t\tif (modeConfig.slug === visualMode) return // Prevent unnecessary updates\n\n\t\t\t// Immediately update visual state for instant feedback\n\t\t\tsetVisualMode(modeConfig.slug)\n\n\t\t\t// Then send the mode change message to the backend\n\t\t\tswitchMode(modeConfig.slug)\n\n\t\t\t// Exit tools edit mode when switching modes\n\t\t\tsetIsToolsEditMode(false)\n\t\t},\n\t\t[visualMode, switchMode],\n\t)\n\n\t// Handler for popover open state change\n\tconst onOpenChange = useCallback((open: boolean) => {\n\t\tsetOpen(open)\n\t\t// Reset search when closing the popover\n\t\tif (!open) {\n\t\t\tsetTimeout(() => setSearchValue(\"\"), 100)\n\t\t}\n\t}, [])\n\n\t// Use the shared ESC key handler hook\n\tuseEscapeKey(open, () => setOpen(false))\n\n\t// Handler for clearing search input\n\tconst onClearSearch = useCallback(() => {\n\t\tsetSearchValue(\"\")\n\t\tsearchInputRef.current?.focus()\n\t}, [])\n\n\t// Helper function to get current mode's config\n\tconst getCurrentMode = useCallback((): ModeConfig | undefined => {\n\t\tconst findMode = (m: ModeConfig): boolean => m.slug === visualMode\n\t\treturn customModes?.find(findMode) || modes.find(findMode)\n\t}, [visualMode, customModes, modes])\n\n\t// Check if the current mode has rules to export\n\tconst checkRulesDirectory = useCallback((slug: string) => {\n\t\tvscode.postMessage({\n\t\t\ttype: \"checkRulesDirectory\",\n\t\t\tslug: slug,\n\t\t})\n\t}, [])\n\n\t// Check rules directory when mode changes\n\tuseEffect(() => {\n\t\tconst currentMode = getCurrentMode()\n\t\tif (currentMode?.slug && hasRulesToExport[currentMode.slug] === undefined) {\n\t\t\tcheckRulesDirectory(currentMode.slug)\n\t\t}\n\t}, [getCurrentMode, checkRulesDirectory, hasRulesToExport])\n\n\t// Reset local name state when mode changes\n\tuseEffect(() => {\n\t\tif (currentEditingModeSlug && currentEditingModeSlug !== visualMode) {\n\t\t\tsetCurrentEditingModeSlug(null)\n\t\t\tsetLocalModeName(\"\")\n\t\t}\n\t}, [visualMode, currentEditingModeSlug])\n\n\t// Helper function to safely access mode properties\n\tconst getModeProperty = <T extends keyof ModeConfig>(\n\t\tmode: ModeConfig | undefined,\n\t\tproperty: T,\n\t): ModeConfig[T] | undefined => {\n\t\treturn mode?.[property]\n\t}\n\n\t// State for create mode dialog\n\tconst [newModeName, setNewModeName] = useState(\"\")\n\tconst [newModeSlug, setNewModeSlug] = useState(\"\")\n\tconst [newModeDescription, setNewModeDescription] = useState(\"\")\n\tconst [newModeRoleDefinition, setNewModeRoleDefinition] = useState(\"\")\n\tconst [newModeWhenToUse, setNewModeWhenToUse] = useState(\"\")\n\tconst [newModeCustomInstructions, setNewModeCustomInstructions] = useState(\"\")\n\tconst [newModeGroups, setNewModeGroups] = useState<GroupEntry[]>(availableGroups)\n\tconst [newModeSource, setNewModeSource] = useState<ModeSource>(\"global\")\n\n\t// Field-specific error states\n\tconst [nameError, setNameError] = useState<string>(\"\")\n\tconst [slugError, setSlugError] = useState<string>(\"\")\n\tconst [descriptionError, setDescriptionError] = useState<string>(\"\")\n\tconst [roleDefinitionError, setRoleDefinitionError] = useState<string>(\"\")\n\tconst [groupsError, setGroupsError] = useState<string>(\"\")\n\n\t// Helper to reset form state\n\tconst resetFormState = useCallback(() => {\n\t\t// Reset form fields\n\t\tsetNewModeName(\"\")\n\t\tsetNewModeSlug(\"\")\n\t\tsetNewModeDescription(\"\")\n\t\tsetNewModeGroups(availableGroups)\n\t\tsetNewModeRoleDefinition(\"\")\n\t\tsetNewModeWhenToUse(\"\")\n\t\tsetNewModeCustomInstructions(\"\")\n\t\tsetNewModeSource(\"global\")\n\t\t// Reset error states\n\t\tsetNameError(\"\")\n\t\tsetSlugError(\"\")\n\t\tsetDescriptionError(\"\")\n\t\tsetRoleDefinitionError(\"\")\n\t\tsetGroupsError(\"\")\n\t}, [])\n\n\t// Reset form fields when dialog opens\n\tuseEffect(() => {\n\t\tif (isCreateModeDialogOpen) {\n\t\t\tresetFormState()\n\t\t}\n\t}, [isCreateModeDialogOpen, resetFormState])\n\n\t// Helper function to generate a unique slug from a name\n\tconst generateSlug = useCallback((name: string, attempt = 0): string => {\n\t\tconst baseSlug = name\n\t\t\t.toLowerCase()\n\t\t\t.replace(/[^a-z0-9-]+/g, \"-\")\n\t\t\t.replace(/^-+|-+$/g, \"\")\n\t\treturn attempt === 0 ? baseSlug : `${baseSlug}-${attempt}`\n\t}, [])\n\n\t// Handler for name changes\n\tconst handleNameChange = useCallback(\n\t\t(name: string) => {\n\t\t\tsetNewModeName(name)\n\t\t\tsetNewModeSlug(generateSlug(name))\n\t\t},\n\t\t[generateSlug],\n\t)\n\n\tconst handleCreateMode = useCallback(() => {\n\t\t// Clear previous errors\n\t\tsetNameError(\"\")\n\t\tsetSlugError(\"\")\n\t\tsetDescriptionError(\"\")\n\t\tsetRoleDefinitionError(\"\")\n\t\tsetGroupsError(\"\")\n\n\t\tconst source = newModeSource\n\t\tconst newMode: ModeConfig = {\n\t\t\tslug: newModeSlug,\n\t\t\tname: newModeName,\n\t\t\tdescription: newModeDescription.trim() || undefined,\n\t\t\troleDefinition: newModeRoleDefinition.trim(),\n\t\t\twhenToUse: newModeWhenToUse.trim() || undefined,\n\t\t\tcustomInstructions: newModeCustomInstructions.trim() || undefined,\n\t\t\tgroups: newModeGroups,\n\t\t\tsource,\n\t\t}\n\n\t\t// Validate the mode against the schema\n\t\tconst result = modeConfigSchema.safeParse(newMode)\n\n\t\tif (!result.success) {\n\t\t\t// Map Zod errors to specific fields\n\t\t\tresult.error.errors.forEach((error) => {\n\t\t\t\tconst field = error.path[0] as string\n\t\t\t\tconst message = error.message\n\n\t\t\t\tswitch (field) {\n\t\t\t\t\tcase \"name\":\n\t\t\t\t\t\tsetNameError(message)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"slug\":\n\t\t\t\t\t\tsetSlugError(message)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"description\":\n\t\t\t\t\t\tsetDescriptionError(message)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"roleDefinition\":\n\t\t\t\t\t\tsetRoleDefinitionError(message)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"groups\":\n\t\t\t\t\t\tsetGroupsError(message)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\tupdateCustomMode(newModeSlug, newMode)\n\t\tswitchMode(newModeSlug)\n\t\tsetIsCreateModeDialogOpen(false)\n\t\tresetFormState()\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [\n\t\tnewModeName,\n\t\tnewModeSlug,\n\t\tnewModeDescription,\n\t\tnewModeRoleDefinition,\n\t\tnewModeWhenToUse, // Add whenToUse dependency\n\t\tnewModeCustomInstructions,\n\t\tnewModeGroups,\n\t\tnewModeSource,\n\t\tupdateCustomMode,\n\t])\n\n\tconst isNameOrSlugTaken = useCallback(\n\t\t(name: string, slug: string) => {\n\t\t\treturn modes.some((m) => m.slug === slug || m.name === name)\n\t\t},\n\t\t[modes],\n\t)\n\n\tconst openCreateModeDialog = useCallback(() => {\n\t\tconst baseNamePrefix = \"New Custom Mode\"\n\t\t// Find unique name and slug\n\t\tlet attempt = 0\n\t\tlet name = baseNamePrefix\n\t\tlet slug = generateSlug(name)\n\t\twhile (isNameOrSlugTaken(name, slug)) {\n\t\t\tattempt++\n\t\t\tname = `${baseNamePrefix} ${attempt + 1}`\n\t\t\tslug = generateSlug(name)\n\t\t}\n\t\tsetNewModeName(name)\n\t\tsetNewModeSlug(slug)\n\t\tsetIsCreateModeDialogOpen(true)\n\t}, [generateSlug, isNameOrSlugTaken])\n\n\t// Handler for group checkbox changes\n\tconst handleGroupChange = useCallback(\n\t\t(group: ToolGroup, isCustomMode: boolean, customMode: ModeConfig | undefined) =>\n\t\t\t(e: Event | React.FormEvent<HTMLElement>) => {\n\t\t\t\tif (!isCustomMode) return // Prevent changes to built-in modes\n\t\t\t\tconst target = (e as CustomEvent)?.detail?.target || (e.target as HTMLInputElement)\n\t\t\t\tconst checked = target.checked\n\t\t\t\tconst oldGroups = customMode?.groups || []\n\t\t\t\tlet newGroups: GroupEntry[]\n\t\t\t\tif (checked) {\n\t\t\t\t\tnewGroups = [...oldGroups, group]\n\t\t\t\t} else {\n\t\t\t\t\tnewGroups = oldGroups.filter((g) => getGroupName(g) !== group)\n\t\t\t\t}\n\t\t\t\tif (customMode) {\n\t\t\t\t\tconst source = customMode.source || \"global\"\n\n\t\t\t\t\tupdateCustomMode(customMode.slug, {\n\t\t\t\t\t\t...customMode,\n\t\t\t\t\t\tgroups: newGroups,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t},\n\t\t[updateCustomMode],\n\t)\n\n\t// Handle clicks outside the config menu\n\tuseEffect(() => {\n\t\tconst handleClickOutside = () => {\n\t\t\tif (showConfigMenu) {\n\t\t\t\tsetShowConfigMenu(false)\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener(\"click\", handleClickOutside)\n\t\treturn () => document.removeEventListener(\"click\", handleClickOutside)\n\t}, [showConfigMenu])\n\n\t// Use a ref to store the current modeToDelete value\n\tconst modeToDeleteRef = useRef(modeToDelete)\n\n\t// Update the ref whenever modeToDelete changes\n\tuseEffect(() => {\n\t\tmodeToDeleteRef.current = modeToDelete\n\t}, [modeToDelete])\n\n\tuseEffect(() => {\n\t\tconst handler = (event: MessageEvent) => {\n\t\t\tconst message = event.data\n\t\t\tif (message.type === \"systemPrompt\") {\n\t\t\t\tif (message.text) {\n\t\t\t\t\tsetSelectedPromptContent(message.text)\n\t\t\t\t\tsetSelectedPromptTitle(`System Prompt (${message.mode} mode)`)\n\t\t\t\t\tsetIsDialogOpen(true)\n\t\t\t\t}\n\t\t\t} else if (message.type === \"exportModeResult\") {\n\t\t\t\tsetIsExporting(false)\n\n\t\t\t\tif (!message.success) {\n\t\t\t\t\t// Show error message\n\t\t\t\t\tconsole.error(\"Failed to export mode:\", message.error)\n\t\t\t\t}\n\t\t\t} else if (message.type === \"importModeResult\") {\n\t\t\t\tsetIsImporting(false)\n\t\t\t\tsetShowImportDialog(false)\n\n\t\t\t\tif (!message.success) {\n\t\t\t\t\t// Only log error if it's not a cancellation\n\t\t\t\t\tif (message.error !== \"cancelled\") {\n\t\t\t\t\t\tconsole.error(\"Failed to import mode:\", message.error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (message.type === \"checkRulesDirectoryResult\") {\n\t\t\t\tsetHasRulesToExport((prev) => ({\n\t\t\t\t\t...prev,\n\t\t\t\t\t[message.slug]: message.hasContent,\n\t\t\t\t}))\n\t\t\t} else if (message.type === \"deleteCustomModeCheck\") {\n\t\t\t\t// Handle the check response\n\t\t\t\t// Use the ref to get the current modeToDelete value\n\t\t\t\tconst currentModeToDelete = modeToDeleteRef.current\n\t\t\t\tif (message.slug && currentModeToDelete && currentModeToDelete.slug === message.slug) {\n\t\t\t\t\tsetModeToDelete({\n\t\t\t\t\t\t...currentModeToDelete,\n\t\t\t\t\t\trulesFolderPath: message.rulesFolderPath,\n\t\t\t\t\t})\n\t\t\t\t\tsetShowDeleteConfirm(true)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"message\", handler)\n\t\treturn () => window.removeEventListener(\"message\", handler)\n\t}, []) // Empty dependency array - only register once\n\n\tconst handleAgentReset = (\n\t\tmodeSlug: string,\n\t\ttype: \"roleDefinition\" | \"description\" | \"whenToUse\" | \"customInstructions\",\n\t) => {\n\t\t// Only reset for built-in modes\n\t\tconst existingPrompt = customModePrompts?.[modeSlug] as PromptComponent\n\t\tconst updatedPrompt = { ...existingPrompt }\n\t\tdelete updatedPrompt[type] // Remove the field entirely to ensure it reloads from defaults\n\n\t\tvscode.postMessage({\n\t\t\ttype: \"updatePrompt\",\n\t\t\tpromptMode: modeSlug,\n\t\t\tcustomPrompt: updatedPrompt,\n\t\t})\n\t}\n\n\treturn (\n\t\t<Tab>\n\t\t\t<TabHeader className=\"flex justify-between items-center\">\n\t\t\t\t<h3 className=\"text-vscode-foreground m-0\">{t(\"prompts:title\")}</h3>\n\t\t\t\t<Button onClick={onDone}>{t(\"prompts:done\")}</Button>\n\t\t\t</TabHeader>\n\n\t\t\t<TabContent>\n\t\t\t\t<div>\n\t\t\t\t\t<div onClick={(e) => e.stopPropagation()} className=\"flex justify-between items-center mb-3\">\n\t\t\t\t\t\t<h3 className=\"text-vscode-foreground m-0\">{t(\"prompts:modes.title\")}</h3>\n\t\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:modes.createNewMode\")}>\n\t\t\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" onClick={openCreateModeDialog}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-add\"></span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t<div className=\"relative inline-block\">\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:modes.editModesConfig\")}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex\"\n\t\t\t\t\t\t\t\t\t\tonClick={(e: React.MouseEvent) => {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault()\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\tsetShowConfigMenu((prev) => !prev)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\t\t\t\t// Add slight delay to allow menu item clicks to register\n\t\t\t\t\t\t\t\t\t\t\tsetTimeout(() => setShowConfigMenu(false), 200)\n\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-json\"></span>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t{showConfigMenu && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\t\t\t\tonMouseDown={(e) => e.stopPropagation()}\n\t\t\t\t\t\t\t\t\t\tclassName=\"absolute top-full right-0 w-[200px] mt-1 bg-vscode-editor-background border border-vscode-input-border rounded shadow-md z-[1000]\">\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-2 cursor-pointer text-vscode-foreground text-sm\"\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault() // Prevent blur\n\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"openCustomModesSettings\",\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowConfigMenu(false)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => e.preventDefault()}>\n\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:modes.editGlobalModes\")}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-2 cursor-pointer text-vscode-foreground text-sm border-t border-vscode-input-border\"\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault() // Prevent blur\n\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"openFile\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext: \"./.roomodes\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalues: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcreate: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: JSON.stringify({ customModes: [] }, null, 2),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowConfigMenu(false)\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => e.preventDefault()}>\n\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:modes.editProjectModes\")}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<StandardTooltip content={t(\"chat:modeSelector.marketplace\")}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\twindow.postMessage(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"action\",\n\t\t\t\t\t\t\t\t\t\t\t\taction: \"marketplaceButtonClicked\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalues: { marketplaceTab: \"mode\" },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-extensions\"></span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-3\">\n\t\t\t\t\t\t<Trans i18nKey=\"prompts:modes.createModeHelpText\">\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref={buildDocLink(\"basic-usage/using-modes\", \"prompts_view_modes\")}\n\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}></VSCodeLink>\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref={buildDocLink(\"features/custom-modes\", \"prompts_view_modes\")}\n\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}></VSCodeLink>\n\t\t\t\t\t\t</Trans>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex items-center gap-1 mb-3\">\n\t\t\t\t\t\t<Popover open={open} onOpenChange={onOpenChange}>\n\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"combobox\"\n\t\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\t\tclassName=\"justify-between w-full\"\n\t\t\t\t\t\t\t\t\tdata-testid=\"mode-select-trigger\">\n\t\t\t\t\t\t\t\t\t<div className=\"truncate\">\n\t\t\t\t\t\t\t\t\t\t{getCurrentMode()?.name || t(\"prompts:modes.selectMode\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<ChevronDown className=\"opacity-50\" />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t<PopoverContent className=\"p-0 w-[var(--radix-popover-trigger-width)]\">\n\t\t\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t\t\t\t\t<CommandInput\n\t\t\t\t\t\t\t\t\t\t\tref={searchInputRef}\n\t\t\t\t\t\t\t\t\t\t\tvalue={searchValue}\n\t\t\t\t\t\t\t\t\t\t\tonValueChange={setSearchValue}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"prompts:modes.selectMode\")}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-9 mr-4\"\n\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"mode-search-input\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{searchValue.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"absolute right-2 top-0 bottom-0 flex items-center justify-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t<X\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-input-foreground opacity-50 hover:opacity-100 size-4 p-0.5 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={onClearSearch}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t\t\t<CommandEmpty>\n\t\t\t\t\t\t\t\t\t\t\t{searchValue && (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"py-2 px-1 text-sm\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:modes.noMatchFound\")}\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</CommandEmpty>\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t\t\t{modes\n\t\t\t\t\t\t\t\t\t\t\t\t.filter((modeConfig) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsearchValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? modeConfig.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.includes(searchValue.toLowerCase())\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t.map((modeConfig) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={modeConfig.slug}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={modeConfig.slug}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleModeSwitch(modeConfig)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-testid={`mode-option-${modeConfig.slug}`}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between w-full\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tflex: 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modeConfig.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-foreground\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: \"nowrap\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextOverflow: \"ellipsis\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection: \"rtl\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttextAlign: \"right\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tminWidth: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmarginLeft: \"0.5em\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{modeConfig.slug}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t\t\t</Command>\n\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t</div>\n\t\t\t\t\t{/* API Configuration - Moved Here */}\n\t\t\t\t\t<div className=\"mb-3\">\n\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:apiConfiguration.title\")}</div>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t{t(\"prompts:apiConfiguration.select\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"mb-2\">\n\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\tvalue={currentApiConfigName}\n\t\t\t\t\t\t\t\tonValueChange={(value) => {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\ttype: \"loadApiConfiguration\",\n\t\t\t\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<SelectTrigger className=\"w-full\">\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder={t(\"settings:common.select\")} />\n\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t{(listApiConfigMeta || []).map((config) => (\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={config.id} value={config.name}>\n\t\t\t\t\t\t\t\t\t\t\t{config.name}\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Name section */}\n\t\t\t\t<div className=\"mb-5\">\n\t\t\t\t\t{/* Only show name and delete for custom modes */}\n\t\t\t\t\t{visualMode && findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t<div className=\"flex gap-3 mb-4\">\n\t\t\t\t\t\t\t<div className=\"flex-1\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.name.label\")}</div>\n\t\t\t\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\tcurrentEditingModeSlug === visualMode\n\t\t\t\t\t\t\t\t\t\t\t\t? localModeName\n\t\t\t\t\t\t\t\t\t\t\t\t: (getModeProperty(findModeBySlug(visualMode, customModes), \"name\") ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\")\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetCurrentEditingModeSlug(visualMode)\n\t\t\t\t\t\t\t\t\t\t\t\tsetLocalModeName(customMode.name)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newName = e.target.value\n\t\t\t\t\t\t\t\t\t\t\t// Allow users to type freely, including emptying the field\n\t\t\t\t\t\t\t\t\t\t\tsetLocalModeName(newName)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst trimmedName = localModeName.trim()\n\t\t\t\t\t\t\t\t\t\t\t\t// Only update if the name is not empty\n\t\t\t\t\t\t\t\t\t\t\t\tif (trimmedName) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdateCustomMode(visualMode, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...customMode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: trimmedName,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsource: customMode.source || \"global\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Revert to the original name if empty\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetLocalModeName(customMode.name)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t// Clear the editing state\n\t\t\t\t\t\t\t\t\t\t\tsetCurrentEditingModeSlug(null)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:createModeDialog.deleteMode\")}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetModeToDelete({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslug: customMode.slug,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: customMode.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsource: customMode.source || \"global\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t// First check if rules folder exists\n\t\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"deleteCustomMode\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tslug: customMode.slug,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcheckOnly: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-trash\"></span>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Role Definition section */}\n\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t\t\t<div className=\"font-bold\">{t(\"prompts:roleDefinition.title\")}</div>\n\t\t\t\t\t\t\t{!findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:roleDefinition.resetToDefault\")}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\tif (currentMode?.slug) {\n\t\t\t\t\t\t\t\t\t\t\t\thandleAgentReset(currentMode.slug, \"roleDefinition\")\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"role-definition-reset\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\"></span>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t{t(\"prompts:roleDefinition.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\tvalue={(() => {\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tconst prompt = customModePrompts?.[visualMode] as PromptComponent\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tcustomMode?.roleDefinition ??\n\t\t\t\t\t\t\t\t\tprompt?.roleDefinition ??\n\t\t\t\t\t\t\t\t\tgetRoleDefinition(visualMode)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t\t(e as unknown as CustomEvent)?.detail?.target?.value ||\n\t\t\t\t\t\t\t\t\t((e as any).target as HTMLTextAreaElement).value\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t// For custom modes, update the JSON file\n\t\t\t\t\t\t\t\t\tupdateCustomMode(visualMode, {\n\t\t\t\t\t\t\t\t\t\t...customMode,\n\t\t\t\t\t\t\t\t\t\troleDefinition: value.trim() || \"\",\n\t\t\t\t\t\t\t\t\t\tsource: customMode.source || \"global\",\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// For built-in modes, update the prompts\n\t\t\t\t\t\t\t\t\tupdateAgentPrompt(visualMode, {\n\t\t\t\t\t\t\t\t\t\troleDefinition: value.trim() || undefined,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\trows={5}\n\t\t\t\t\t\t\tdata-testid={`${getCurrentMode()?.slug || \"code\"}-prompt-textarea`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Description section */}\n\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t\t\t<div className=\"font-bold\">{t(\"prompts:description.title\")}</div>\n\t\t\t\t\t\t\t{!findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:description.resetToDefault\")}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\tif (currentMode?.slug) {\n\t\t\t\t\t\t\t\t\t\t\t\thandleAgentReset(currentMode.slug, \"description\")\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"description-reset\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\"></span>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t{t(\"prompts:description.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\tvalue={(() => {\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tconst prompt = customModePrompts?.[visualMode] as PromptComponent\n\t\t\t\t\t\t\t\treturn customMode?.description ?? prompt?.description ?? getDescription(visualMode)\n\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t\t(e as unknown as CustomEvent)?.detail?.target?.value ||\n\t\t\t\t\t\t\t\t\t((e as any).target as HTMLTextAreaElement).value\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t// For custom modes, update the JSON file\n\t\t\t\t\t\t\t\t\tupdateCustomMode(visualMode, {\n\t\t\t\t\t\t\t\t\t\t...customMode,\n\t\t\t\t\t\t\t\t\t\tdescription: value.trim() || undefined,\n\t\t\t\t\t\t\t\t\t\tsource: customMode.source || \"global\",\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// For built-in modes, update the prompts\n\t\t\t\t\t\t\t\t\tupdateAgentPrompt(visualMode, {\n\t\t\t\t\t\t\t\t\t\tdescription: value.trim() || undefined,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\tdata-testid={`${getCurrentMode()?.slug || \"code\"}-description-textfield`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* When to Use section */}\n\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t\t\t<div className=\"font-bold\">{t(\"prompts:whenToUse.title\")}</div>\n\t\t\t\t\t\t\t{!findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:whenToUse.resetToDefault\")}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\tif (currentMode?.slug) {\n\t\t\t\t\t\t\t\t\t\t\t\thandleAgentReset(currentMode.slug, \"whenToUse\")\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"when-to-use-reset\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\"></span>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t{t(\"prompts:whenToUse.description\")}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\tvalue={(() => {\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tconst prompt = customModePrompts?.[visualMode] as PromptComponent\n\t\t\t\t\t\t\t\treturn customMode?.whenToUse ?? prompt?.whenToUse ?? getWhenToUse(visualMode)\n\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t\t(e as unknown as CustomEvent)?.detail?.target?.value ||\n\t\t\t\t\t\t\t\t\t((e as any).target as HTMLTextAreaElement).value\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t// For custom modes, update the JSON file\n\t\t\t\t\t\t\t\t\tupdateCustomMode(visualMode, {\n\t\t\t\t\t\t\t\t\t\t...customMode,\n\t\t\t\t\t\t\t\t\t\twhenToUse: value.trim() || undefined,\n\t\t\t\t\t\t\t\t\t\tsource: customMode.source || \"global\",\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// For built-in modes, update the prompts\n\t\t\t\t\t\t\t\t\tupdateAgentPrompt(visualMode, {\n\t\t\t\t\t\t\t\t\t\twhenToUse: value.trim() || undefined,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\trows={4}\n\t\t\t\t\t\t\tdata-testid={`${getCurrentMode()?.slug || \"code\"}-when-to-use-textarea`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Mode settings */}\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Show tools for all modes */}\n\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold\">{t(\"prompts:tools.title\")}</div>\n\t\t\t\t\t\t\t\t{findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t\t\t\t<StandardTooltip\n\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\tisToolsEditMode\n\t\t\t\t\t\t\t\t\t\t\t\t? t(\"prompts:tools.doneEditing\")\n\t\t\t\t\t\t\t\t\t\t\t\t: t(\"prompts:tools.editTools\")\n\t\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => setIsToolsEditMode(!isToolsEditMode)}>\n\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={`codicon codicon-${isToolsEditMode ? \"check\" : \"edit\"}`}></span>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{!findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:tools.builtInModesText\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isToolsEditMode && findModeBySlug(visualMode, customModes) ? (\n\t\t\t\t\t\t\t\t<div className=\"grid grid-cols-[repeat(auto-fill,minmax(200px,1fr))] gap-2\">\n\t\t\t\t\t\t\t\t\t{availableGroups.map((group) => {\n\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\tconst isCustomMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\t\t\tconst customMode = isCustomMode\n\t\t\t\t\t\t\t\t\t\tconst isGroupEnabled = isCustomMode\n\t\t\t\t\t\t\t\t\t\t\t? customMode?.groups?.some((g) => getGroupName(g) === group)\n\t\t\t\t\t\t\t\t\t\t\t: currentMode?.groups?.some((g) => getGroupName(g) === group)\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\t\t\tkey={group}\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={isGroupEnabled}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleGroupChange(group, Boolean(isCustomMode), customMode)}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={!isCustomMode}>\n\t\t\t\t\t\t\t\t\t\t\t\t{t(`prompts:tools.toolNames.${group}`)}\n\t\t\t\t\t\t\t\t\t\t\t\t{group === \"edit\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:tools.allowedFiles\")}{\" \"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst editGroup = currentMode?.groups?.find(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(g) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tArray.isArray(g) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tg[0] === \"edit\" &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tg[1]?.fileRegex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!Array.isArray(editGroup)) return t(\"prompts:allFiles\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teditGroup[1].description ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`/${editGroup[1].fileRegex}/`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-foreground mb-2 leading-relaxed\">\n\t\t\t\t\t\t\t\t\t{(() => {\n\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\tconst enabledGroups = currentMode?.groups || []\n\n\t\t\t\t\t\t\t\t\t\t// If there are no enabled groups, display translated \"None\"\n\t\t\t\t\t\t\t\t\t\tif (enabledGroups.length === 0) {\n\t\t\t\t\t\t\t\t\t\t\treturn t(\"prompts:tools.noTools\")\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\treturn enabledGroups\n\t\t\t\t\t\t\t\t\t\t\t.map((group) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst groupName = getGroupName(group)\n\t\t\t\t\t\t\t\t\t\t\t\tconst displayName = t(`prompts:tools.toolNames.${groupName}`)\n\t\t\t\t\t\t\t\t\t\t\t\tif (Array.isArray(group) && group[1]?.fileRegex) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst description =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgroup[1].description || `/${group[1].fileRegex}/`\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn `${displayName} (${description})`\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\treturn displayName\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t.join(\", \")\n\t\t\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\n\t\t\t\t\t{/* Role definition for both built-in and custom modes */}\n\t\t\t\t\t<div className=\"mb-2\">\n\t\t\t\t\t\t<div className=\"flex justify-between items-center mb-1\">\n\t\t\t\t\t\t\t<div className=\"font-bold\">{t(\"prompts:customInstructions.title\")}</div>\n\t\t\t\t\t\t\t{!findModeBySlug(visualMode, customModes) && (\n\t\t\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:customInstructions.resetToDefault\")}>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\tif (currentMode?.slug) {\n\t\t\t\t\t\t\t\t\t\t\t\thandleAgentReset(currentMode.slug, \"customInstructions\")\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"custom-instructions-reset\">\n\t\t\t\t\t\t\t\t\t\t<span className=\"codicon codicon-discard\"></span>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"text-[13px] text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t{t(\"prompts:customInstructions.description\", {\n\t\t\t\t\t\t\t\tmodeName: getCurrentMode()?.name || \"Code\",\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\tvalue={(() => {\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tconst prompt = customModePrompts?.[visualMode] as PromptComponent\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tcustomMode?.customInstructions ??\n\t\t\t\t\t\t\t\t\tprompt?.customInstructions ??\n\t\t\t\t\t\t\t\t\tgetCustomInstructions(mode, customModes)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})()}\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t\t(e as unknown as CustomEvent)?.detail?.target?.value ||\n\t\t\t\t\t\t\t\t\t((e as any).target as HTMLTextAreaElement).value\n\t\t\t\t\t\t\t\tconst customMode = findModeBySlug(visualMode, customModes)\n\t\t\t\t\t\t\t\tif (customMode) {\n\t\t\t\t\t\t\t\t\t// For custom modes, update the JSON file\n\t\t\t\t\t\t\t\t\tupdateCustomMode(visualMode, {\n\t\t\t\t\t\t\t\t\t\t...customMode,\n\t\t\t\t\t\t\t\t\t\tcustomInstructions: value.trim() || undefined,\n\t\t\t\t\t\t\t\t\t\tsource: customMode.source || \"global\",\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// For built-in modes, update the prompts\n\t\t\t\t\t\t\t\t\tconst existingPrompt = customModePrompts?.[visualMode] as PromptComponent\n\t\t\t\t\t\t\t\t\tupdateAgentPrompt(visualMode, {\n\t\t\t\t\t\t\t\t\t\t...existingPrompt,\n\t\t\t\t\t\t\t\t\t\tcustomInstructions: value.trim(),\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trows={10}\n\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\tdata-testid={`${getCurrentMode()?.slug || \"code\"}-custom-instructions-textarea`}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-1.5\">\n\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\ti18nKey=\"prompts:customInstructions.loadFromFile\"\n\t\t\t\t\t\t\t\tvalues={{\n\t\t\t\t\t\t\t\t\tmode: getCurrentMode()?.name || \"Code\",\n\t\t\t\t\t\t\t\t\tslug: getCurrentMode()?.slug || \"code\",\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-textLink-foreground cursor-pointer underline\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\t\tif (!currentMode) return\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Open or create an empty file\n\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"openFile\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext: `./.roo/rules-${currentMode.slug}/rules.md`,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalues: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcreate: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"pb-4 border-b border-vscode-input-border\">\n\t\t\t\t\t<div className=\"flex gap-2 mb-4\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\tif (currentMode) {\n\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\ttype: \"getSystemPrompt\",\n\t\t\t\t\t\t\t\t\t\tmode: currentMode.slug,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdata-testid=\"preview-prompt-button\">\n\t\t\t\t\t\t\t{t(\"prompts:systemPrompt.preview\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<StandardTooltip content={t(\"prompts:systemPrompt.copy\")}>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\tif (currentMode) {\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"copySystemPrompt\",\n\t\t\t\t\t\t\t\t\t\t\tmode: currentMode.slug,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdata-testid=\"copy-prompt-button\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-copy\"></span>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</StandardTooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Export/Import Mode Buttons */}\n\t\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t\t{/* Export button - visible when any mode is selected */}\n\t\t\t\t\t\t{getCurrentMode() && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\tif (currentMode?.slug && !isExporting) {\n\t\t\t\t\t\t\t\t\t\tsetIsExporting(true)\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"exportMode\",\n\t\t\t\t\t\t\t\t\t\t\tslug: currentMode.slug,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={isExporting}\n\t\t\t\t\t\t\t\ttitle={t(\"prompts:exportMode.title\")}\n\t\t\t\t\t\t\t\tdata-testid=\"export-mode-button\">\n\t\t\t\t\t\t\t\t<Upload className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\t{isExporting ? t(\"prompts:exportMode.exporting\") : t(\"prompts:exportMode.title\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* Import button - always visible */}\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\tonClick={() => setShowImportDialog(true)}\n\t\t\t\t\t\t\tdisabled={isImporting}\n\t\t\t\t\t\t\ttitle={t(\"prompts:modes.importMode\")}\n\t\t\t\t\t\t\tdata-testid=\"import-mode-button\">\n\t\t\t\t\t\t\t<Download className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t{isImporting ? t(\"prompts:importMode.importing\") : t(\"prompts:modes.importMode\")}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Advanced Features Disclosure */}\n\t\t\t\t\t<div className=\"mt-4\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={() => setIsSystemPromptDisclosureOpen(!isSystemPromptDisclosureOpen)}\n\t\t\t\t\t\t\tclassName=\"flex items-center text-xs text-vscode-foreground hover:text-vscode-textLink-foreground focus:outline-none\"\n\t\t\t\t\t\t\taria-expanded={isSystemPromptDisclosureOpen}>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={`codicon codicon-${isSystemPromptDisclosureOpen ? \"chevron-down\" : \"chevron-right\"} mr-1`}></span>\n\t\t\t\t\t\t\t<span>{t(\"prompts:advanced.title\")}</span>\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t{isSystemPromptDisclosureOpen && (\n\t\t\t\t\t\t\t<div className=\"mt-2 ml-5 space-y-4\">\n\t\t\t\t\t\t\t\t{/* Override System Prompt Section */}\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<h4 className=\"text-xs font-semibold text-vscode-foreground mb-2\">\n\t\t\t\t\t\t\t\t\t\tOverride System Prompt\n\t\t\t\t\t\t\t\t\t</h4>\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\t\t\t\t\ti18nKey=\"prompts:advancedSystemPrompt.description\"\n\t\t\t\t\t\t\t\t\t\t\tvalues={{\n\t\t\t\t\t\t\t\t\t\t\t\tslug: getCurrentMode()?.slug || \"code\",\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-textLink-foreground cursor-pointer underline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst currentMode = getCurrentMode()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!currentMode) return\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"openFile\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttext: `./.roo/system-prompt-${currentMode.slug}`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcreate: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\"1\": (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"features/footgun-prompting\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"prompts_advanced_system_prompt\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}></VSCodeLink>\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\"2\": <strong />,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"pb-5\">\n\t\t\t\t\t<h3 className=\"text-vscode-foreground mb-3\">{t(\"prompts:globalCustomInstructions.title\")}</h3>\n\n\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t<Trans i18nKey=\"prompts:globalCustomInstructions.description\">\n\t\t\t\t\t\t\t<VSCodeLink\n\t\t\t\t\t\t\t\thref={buildDocLink(\n\t\t\t\t\t\t\t\t\t\"features/custom-instructions#global-custom-instructions\",\n\t\t\t\t\t\t\t\t\t\"prompts_global_custom_instructions\",\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={{ display: \"inline\" }}></VSCodeLink>\n\t\t\t\t\t\t</Trans>\n\t\t\t\t\t</div>\n\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\tvalue={customInstructions || \"\"}\n\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t(e as unknown as CustomEvent)?.detail?.target?.value ||\n\t\t\t\t\t\t\t\t((e as any).target as HTMLTextAreaElement).value\n\t\t\t\t\t\t\tsetCustomInstructions(value || undefined)\n\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\ttype: \"customInstructions\",\n\t\t\t\t\t\t\t\ttext: value.trim() || undefined,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trows={4}\n\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\tdata-testid=\"global-custom-instructions-textarea\"\n\t\t\t\t\t/>\n\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-1.5\">\n\t\t\t\t\t\t<Trans\n\t\t\t\t\t\t\ti18nKey=\"prompts:globalCustomInstructions.loadFromFile\"\n\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\tspan: (\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-vscode-textLink-foreground cursor-pointer underline\"\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"openFile\",\n\t\t\t\t\t\t\t\t\t\t\t\ttext: \"./.roo/rules/rules.md\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalues: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreate: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</TabContent>\n\n\t\t\t{isCreateModeDialogOpen && (\n\t\t\t\t<div className=\"fixed inset-0 flex justify-end bg-black/50 z-[1000]\">\n\t\t\t\t\t<div className=\"w-[calc(100vw-100px)] h-full bg-vscode-editor-background shadow-md flex flex-col relative\">\n\t\t\t\t\t\t<div className=\"flex-1 p-5 overflow-y-auto min-h-0\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\tonClick={() => setIsCreateModeDialogOpen(false)}\n\t\t\t\t\t\t\t\tclassName=\"absolute top-5 right-5\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-close\"></span>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<h2 className=\"mb-4\">{t(\"prompts:createModeDialog.title\")}</h2>\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.name.label\")}</div>\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tvalue={newModeName}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\thandleNameChange(e.target.value)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{nameError && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-errorForeground mt-1\">{nameError}</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.slug.label\")}</div>\n\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tvalue={newModeSlug}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetNewModeSlug(e.target.value)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-1\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.slug.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{slugError && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-errorForeground mt-1\">{slugError}</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.saveLocation.label\")}</div>\n\t\t\t\t\t\t\t\t<div className=\"text-sm text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.saveLocation.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<VSCodeRadioGroup\n\t\t\t\t\t\t\t\t\tvalue={newModeSource}\n\t\t\t\t\t\t\t\t\tonChange={(e: Event | React.FormEvent<HTMLElement>) => {\n\t\t\t\t\t\t\t\t\t\tconst target = ((e as CustomEvent)?.detail?.target ||\n\t\t\t\t\t\t\t\t\t\t\t(e.target as HTMLInputElement)) as HTMLInputElement\n\t\t\t\t\t\t\t\t\t\tsetNewModeSource(target.value as ModeSource)\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t<VSCodeRadio value=\"global\">\n\t\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.saveLocation.global.label\")}\n\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.saveLocation.global.description\")}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</VSCodeRadio>\n\t\t\t\t\t\t\t\t\t<VSCodeRadio value=\"project\">\n\t\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.saveLocation.project.label\")}\n\t\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground mt-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.saveLocation.project.description\")}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</VSCodeRadio>\n\t\t\t\t\t\t\t\t</VSCodeRadioGroup>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div style={{ marginBottom: \"16px\" }}>\n\t\t\t\t\t\t\t\t<div style={{ fontWeight: \"bold\", marginBottom: \"4px\" }}>\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.roleDefinition.label\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tfontSize: \"13px\",\n\t\t\t\t\t\t\t\t\t\tcolor: \"var(--vscode-descriptionForeground)\",\n\t\t\t\t\t\t\t\t\t\tmarginBottom: \"8px\",\n\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.roleDefinition.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\t\t\tvalue={newModeRoleDefinition}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetNewModeRoleDefinition((e.target as HTMLTextAreaElement).value)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trows={4}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{roleDefinitionError && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-errorForeground mt-1\">\n\t\t\t\t\t\t\t\t\t\t{roleDefinitionError}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.description.label\")}</div>\n\t\t\t\t\t\t\t\t<div className=\"text-[13px] text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.description.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<VSCodeTextField\n\t\t\t\t\t\t\t\t\tvalue={newModeDescription}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetNewModeDescription((e.target as HTMLInputElement).value)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{descriptionError && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-errorForeground mt-1\">{descriptionError}</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.whenToUse.label\")}</div>\n\t\t\t\t\t\t\t\t<div className=\"text-[13px] text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.whenToUse.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\t\t\tvalue={newModeWhenToUse}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetNewModeWhenToUse((e.target as HTMLTextAreaElement).value)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trows={3}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">{t(\"prompts:createModeDialog.tools.label\")}</div>\n\t\t\t\t\t\t\t\t<div className=\"text-[13px] text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.tools.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"grid grid-cols-[repeat(auto-fill,minmax(200px,1fr))] gap-2\">\n\t\t\t\t\t\t\t\t\t{availableGroups.map((group) => (\n\t\t\t\t\t\t\t\t\t\t<VSCodeCheckbox\n\t\t\t\t\t\t\t\t\t\t\tkey={group}\n\t\t\t\t\t\t\t\t\t\t\tchecked={newModeGroups.some((g) => getGroupName(g) === group)}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e: Event | React.FormEvent<HTMLElement>) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst target =\n\t\t\t\t\t\t\t\t\t\t\t\t\t(e as CustomEvent)?.detail?.target || (e.target as HTMLInputElement)\n\t\t\t\t\t\t\t\t\t\t\t\tconst checked = target.checked\n\t\t\t\t\t\t\t\t\t\t\t\tif (checked) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetNewModeGroups([...newModeGroups, group])\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetNewModeGroups(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewModeGroups.filter((g) => getGroupName(g) !== group),\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t\t\t{t(`prompts:tools.toolNames.${group}`)}\n\t\t\t\t\t\t\t\t\t\t</VSCodeCheckbox>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{groupsError && (\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-errorForeground mt-1\">{groupsError}</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t\t\t\t<div className=\"font-bold mb-1\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.customInstructions.label\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"text-[13px] text-vscode-descriptionForeground mb-2\">\n\t\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.customInstructions.description\")}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<VSCodeTextArea\n\t\t\t\t\t\t\t\t\tresize=\"vertical\"\n\t\t\t\t\t\t\t\t\tvalue={newModeCustomInstructions}\n\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\tsetNewModeCustomInstructions((e.target as HTMLTextAreaElement).value)\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\trows={4}\n\t\t\t\t\t\t\t\t\tclassName=\"w-full\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end p-3 px-5 gap-2 border-t border-vscode-editor-lineHighlightBorder bg-vscode-editor-background\">\n\t\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setIsCreateModeDialogOpen(false)}>\n\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.buttons.cancel\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button variant=\"default\" onClick={handleCreateMode}>\n\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.buttons.create\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{isDialogOpen && (\n\t\t\t\t<div className=\"fixed inset-0 flex justify-end bg-black/50 z-[1000]\">\n\t\t\t\t\t<div className=\"w-[calc(100vw-100px)] h-full bg-vscode-editor-background shadow-md flex flex-col relative\">\n\t\t\t\t\t\t<div className=\"flex-1 p-5 overflow-y-auto min-h-0\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"icon\"\n\t\t\t\t\t\t\t\tonClick={() => setIsDialogOpen(false)}\n\t\t\t\t\t\t\t\tclassName=\"absolute top-5 right-5\">\n\t\t\t\t\t\t\t\t<span className=\"codicon codicon-close\"></span>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<h2 className=\"mb-4\">\n\t\t\t\t\t\t\t\t{selectedPromptTitle ||\n\t\t\t\t\t\t\t\t\tt(\"prompts:systemPrompt.title\", {\n\t\t\t\t\t\t\t\t\t\tmodeName: getCurrentMode()?.name || \"Code\",\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<pre className=\"p-2 whitespace-pre-wrap break-words font-mono text-vscode-editor-font-size text-vscode-editor-foreground bg-vscode-editor-background border border-vscode-editor-lineHighlightBorder rounded overflow-y-auto\">\n\t\t\t\t\t\t\t\t{selectedPromptContent}\n\t\t\t\t\t\t\t</pre>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end p-3 px-5 border-t border-vscode-editor-lineHighlightBorder bg-vscode-editor-background\">\n\t\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setIsDialogOpen(false)}>\n\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.close\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Import Mode Dialog */}\n\t\t\t{showImportDialog && (\n\t\t\t\t<div className=\"fixed inset-0 flex items-center justify-center bg-black/50 z-[1000]\">\n\t\t\t\t\t<div className=\"bg-vscode-editor-background border border-vscode-editor-lineHighlightBorder rounded-lg shadow-lg p-6 max-w-md w-full\">\n\t\t\t\t\t\t<h3 className=\"text-lg font-semibold mb-4\">{t(\"prompts:modes.importMode\")}</h3>\n\t\t\t\t\t\t<p className=\"text-sm text-vscode-descriptionForeground mb-4\">\n\t\t\t\t\t\t\t{t(\"prompts:importMode.selectLevel\")}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t\t<div className=\"space-y-3 mb-6\">\n\t\t\t\t\t\t\t<label className=\"flex items-start gap-2 cursor-pointer\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\tname=\"importLevel\"\n\t\t\t\t\t\t\t\t\tvalue=\"project\"\n\t\t\t\t\t\t\t\t\tclassName=\"mt-1\"\n\t\t\t\t\t\t\t\t\tdefaultChecked\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<div className=\"font-medium\">{t(\"prompts:importMode.project.label\")}</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t{t(\"prompts:importMode.project.description\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t<label className=\"flex items-start gap-2 cursor-pointer\">\n\t\t\t\t\t\t\t\t<input type=\"radio\" name=\"importLevel\" value=\"global\" className=\"mt-1\" />\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<div className=\"font-medium\">{t(\"prompts:importMode.global.label\")}</div>\n\t\t\t\t\t\t\t\t\t<div className=\"text-xs text-vscode-descriptionForeground\">\n\t\t\t\t\t\t\t\t\t\t{t(\"prompts:importMode.global.description\")}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex justify-end gap-2\">\n\t\t\t\t\t\t\t<Button variant=\"secondary\" onClick={() => setShowImportDialog(false)}>\n\t\t\t\t\t\t\t\t{t(\"prompts:createModeDialog.buttons.cancel\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"default\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tif (!isImporting) {\n\t\t\t\t\t\t\t\t\t\tconst selectedLevel = (\n\t\t\t\t\t\t\t\t\t\t\tdocument.querySelector(\n\t\t\t\t\t\t\t\t\t\t\t\t'input[name=\"importLevel\"]:checked',\n\t\t\t\t\t\t\t\t\t\t\t) as HTMLInputElement\n\t\t\t\t\t\t\t\t\t\t)?.value as \"global\" | \"project\"\n\t\t\t\t\t\t\t\t\t\tsetIsImporting(true)\n\t\t\t\t\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"importMode\",\n\t\t\t\t\t\t\t\t\t\t\tsource: selectedLevel || \"project\",\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={isImporting}>\n\t\t\t\t\t\t\t\t{isImporting ? t(\"prompts:importMode.importing\") : t(\"prompts:importMode.import\")}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\n\t\t\t{/* Delete Mode Confirmation Dialog */}\n\t\t\t<DeleteModeDialog\n\t\t\t\topen={showDeleteConfirm}\n\t\t\t\tonOpenChange={setShowDeleteConfirm}\n\t\t\t\tmodeToDelete={modeToDelete}\n\t\t\t\tonConfirm={() => {\n\t\t\t\t\tif (modeToDelete) {\n\t\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\t\ttype: \"deleteCustomMode\",\n\t\t\t\t\t\t\tslug: modeToDelete.slug,\n\t\t\t\t\t\t})\n\t\t\t\t\t\tsetShowDeleteConfirm(false)\n\t\t\t\t\t\tsetModeToDelete(null)\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</Tab>\n\t)\n}\n\nexport default ModesView\n", + "import * as React from \"react\"\nimport { Button } from \"../ui/button\"\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from \"../ui/dialog\"\nimport { Textarea } from \"../ui/textarea\"\nimport { useClipboard } from \"../ui/hooks\"\nimport { Check, Copy, X } from \"lucide-react\"\nimport { useAppTranslation } from \"@/i18n/TranslationContext\"\n\ninterface HumanRelayDialogProps {\n\tisOpen: boolean\n\tonClose: () => void\n\trequestId: string\n\tpromptText: string\n\tonSubmit: (requestId: string, text: string) => void\n\tonCancel: (requestId: string) => void\n}\n\n/**\n * Human Relay Dialog Component\n * Displays the prompt text that needs to be copied and provides an input box for the user to paste the AI's response.\n */\nexport const HumanRelayDialog: React.FC<HumanRelayDialogProps> = ({\n\tisOpen,\n\tonClose,\n\trequestId,\n\tpromptText,\n\tonSubmit,\n\tonCancel,\n}) => {\n\tconst { t } = useAppTranslation()\n\tconst [response, setResponse] = React.useState(\"\")\n\tconst { copy } = useClipboard()\n\tconst [isCopyClicked, setIsCopyClicked] = React.useState(false)\n\n\t// Clear input when dialog opens\n\tReact.useEffect(() => {\n\t\tif (isOpen) {\n\t\t\tsetResponse(\"\")\n\t\t\tsetIsCopyClicked(false)\n\t\t}\n\t}, [isOpen])\n\n\t// Copy to clipboard and show success message\n\tconst handleCopy = () => {\n\t\tcopy(promptText)\n\t\tsetIsCopyClicked(true)\n\t\tsetTimeout(() => {\n\t\t\tsetIsCopyClicked(false)\n\t\t}, 2000)\n\t}\n\n\t// Submit response\n\tconst handleSubmit = (e: React.FormEvent) => {\n\t\te.preventDefault()\n\t\tif (response.trim()) {\n\t\t\tonSubmit(requestId, response)\n\t\t\tonClose()\n\t\t}\n\t}\n\n\t// Cancel operation\n\tconst handleCancel = () => {\n\t\tonCancel(requestId)\n\t\tonClose()\n\t}\n\n\treturn (\n\t\t<Dialog open={isOpen} onOpenChange={(open) => !open && handleCancel()}>\n\t\t\t<DialogContent className=\"sm:max-w-[600px] overflow-y-auto max-h-[80vh]\">\n\t\t\t\t<DialogHeader>\n\t\t\t\t\t<DialogTitle>{t(\"humanRelay:dialogTitle\")}</DialogTitle>\n\t\t\t\t\t<DialogDescription>{t(\"humanRelay:dialogDescription\")}</DialogDescription>\n\t\t\t\t</DialogHeader>\n\n\t\t\t\t<div className=\"grid gap-6 py-6\">\n\t\t\t\t\t<div className=\"relative\">\n\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\tclassName=\"min-h-[200px] font-mono text-sm p-4 pr-12 whitespace-pre-wrap\"\n\t\t\t\t\t\t\tvalue={promptText}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button variant=\"ghost\" size=\"icon\" className=\"absolute top-2 right-2\" onClick={handleCopy}>\n\t\t\t\t\t\t\t{isCopyClicked ? <Check className=\"h-4 w-4\" /> : <Copy className=\"h-4 w-4\" />}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{isCopyClicked && (\n\t\t\t\t\t\t<div className=\"text-sm text-emerald-500 font-medium\">{t(\"humanRelay:copiedToClipboard\")}</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className=\"mb-2 font-medium\">{t(\"humanRelay:aiResponse.label\")}</div>\n\t\t\t\t\t\t<Textarea\n\t\t\t\t\t\t\tplaceholder={t(\"humanRelay:aiResponse.placeholder\")}\n\t\t\t\t\t\t\tvalue={response}\n\t\t\t\t\t\t\tonChange={(e) => setResponse(e.target.value)}\n\t\t\t\t\t\t\tclassName=\"min-h-[150px]\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<DialogFooter>\n\t\t\t\t\t<Button variant=\"outline\" onClick={handleCancel} className=\"gap-1\">\n\t\t\t\t\t\t<X className=\"h-4 w-4\" />\n\t\t\t\t\t\t{t(\"humanRelay:actions.cancel\")}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button onClick={handleSubmit} disabled={!response.trim()} className=\"gap-1\">\n\t\t\t\t\t\t<Check className=\"h-4 w-4\" />\n\t\t\t\t\t\t{t(\"humanRelay:actions.submit\")}\n\t\t\t\t\t</Button>\n\t\t\t\t</DialogFooter>\n\t\t\t</DialogContent>\n\t\t</Dialog>\n\t)\n}\n", + "import React from \"react\"\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n} from \"@src/components/ui\"\n\ninterface MessageModificationConfirmationDialogProps {\n\topen: boolean\n\tonOpenChange: (open: boolean) => void\n\tonConfirm: () => void\n\ttype: \"edit\" | \"delete\"\n}\n\nexport const MessageModificationConfirmationDialog: React.FC<MessageModificationConfirmationDialogProps> = ({\n\topen,\n\tonOpenChange,\n\tonConfirm,\n\ttype,\n}) => {\n\tconst { t } = useAppTranslation()\n\n\tconst isEdit = type === \"edit\"\n\tconst title = isEdit ? t(\"common:confirmation.editMessage\") : t(\"common:confirmation.deleteMessage\")\n\tconst description = isEdit ? t(\"common:confirmation.editWarning\") : t(\"common:confirmation.deleteWarning\")\n\n\treturn (\n\t\t<AlertDialog open={open} onOpenChange={onOpenChange}>\n\t\t\t<AlertDialogContent>\n\t\t\t\t<AlertDialogHeader>\n\t\t\t\t\t<AlertDialogTitle className=\"text-lg\">{title}</AlertDialogTitle>\n\t\t\t\t\t<AlertDialogDescription className=\"text-base\">{description}</AlertDialogDescription>\n\t\t\t\t</AlertDialogHeader>\n\t\t\t\t<AlertDialogFooter className=\"flex-col gap-2\">\n\t\t\t\t\t<AlertDialogCancel className=\"bg-vscode-button-secondaryBackground hover:bg-vscode-button-secondaryHoverBackground text-vscode-button-secondaryForeground border-vscode-button-border\">\n\t\t\t\t\t\t{t(\"common:answers.cancel\")}\n\t\t\t\t\t</AlertDialogCancel>\n\t\t\t\t\t<AlertDialogAction\n\t\t\t\t\t\tonClick={onConfirm}\n\t\t\t\t\t\tclassName=\"bg-vscode-button-background hover:bg-vscode-button-hoverBackground text-vscode-button-foreground border-vscode-button-border\">\n\t\t\t\t\t\t{t(\"common:confirmation.proceed\")}\n\t\t\t\t\t</AlertDialogAction>\n\t\t\t\t</AlertDialogFooter>\n\t\t\t</AlertDialogContent>\n\t\t</AlertDialog>\n\t)\n}\n\n// Export convenience components for backward compatibility\nexport const EditMessageDialog: React.FC<Omit<MessageModificationConfirmationDialogProps, \"type\">> = (props) => (\n\t<MessageModificationConfirmationDialog {...props} type=\"edit\" />\n)\n\nexport const DeleteMessageDialog: React.FC<Omit<MessageModificationConfirmationDialogProps, \"type\">> = (props) => (\n\t<MessageModificationConfirmationDialog {...props} type=\"delete\" />\n)\n", + "import React, { Component } from \"react\"\nimport { telemetryClient } from \"@src/utils/TelemetryClient\"\nimport { withTranslation, WithTranslation } from \"react-i18next\"\nimport { enhanceErrorWithSourceMaps } from \"@src/utils/sourceMapUtils\"\n\ntype ErrorProps = {\n\tchildren: React.ReactNode\n} & WithTranslation\n\ntype ErrorState = {\n\terror?: string\n\tcomponentStack?: string | null\n\ttimestamp?: number\n}\n\nclass ErrorBoundary extends Component<ErrorProps, ErrorState> {\n\tconstructor(props: ErrorProps) {\n\t\tsuper(props)\n\t\tthis.state = {}\n\t}\n\n\tstatic getDerivedStateFromError(error: unknown) {\n\t\tlet errorMessage = \"\"\n\n\t\tif (error instanceof Error) {\n\t\t\terrorMessage = error.stack ?? error.message\n\t\t} else {\n\t\t\terrorMessage = `${error}`\n\t\t}\n\n\t\treturn {\n\t\t\terror: errorMessage,\n\t\t\ttimestamp: Date.now(),\n\t\t}\n\t}\n\n\tasync componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n\t\tconst componentStack = errorInfo.componentStack || \"\"\n\t\tconst enhancedError = await enhanceErrorWithSourceMaps(error, componentStack)\n\n\t\ttelemetryClient.capture(\"error_boundary_caught_error\", {\n\t\t\terror: enhancedError.message,\n\t\t\tstack: enhancedError.sourceMappedStack || enhancedError.stack,\n\t\t\tcomponentStack: enhancedError.sourceMappedComponentStack || componentStack,\n\t\t\ttimestamp: Date.now(),\n\t\t\terrorType: enhancedError.name,\n\t\t})\n\n\t\tthis.setState({\n\t\t\terror: enhancedError.sourceMappedStack || enhancedError.stack,\n\t\t\tcomponentStack: enhancedError.sourceMappedComponentStack || componentStack,\n\t\t})\n\t}\n\n\trender() {\n\t\tconst { t } = this.props\n\n\t\tif (!this.state.error) {\n\t\t\treturn this.props.children\n\t\t}\n\n\t\tconst errorDisplay = this.state.error\n\t\tconst componentStackDisplay = this.state.componentStack\n\n\t\tconst version = process.env.PKG_VERSION || \"unknown\"\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold mt-0 mb-2\">\n\t\t\t\t\t{t(\"errorBoundary.title\")} (v{version})\n\t\t\t\t</h2>\n\t\t\t\t<p className=\"mb-4\">\n\t\t\t\t\t{t(\"errorBoundary.reportText\")}{\" \"}\n\t\t\t\t\t<a href=\"https://github.com/RooCodeInc/Roo-Code/issues\" target=\"_blank\" rel=\"noreferrer\">\n\t\t\t\t\t\t{t(\"errorBoundary.githubText\")}\n\t\t\t\t\t</a>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"mb-2\">{t(\"errorBoundary.copyInstructions\")}</p>\n\n\t\t\t\t<div className=\"mb-4\">\n\t\t\t\t\t<h3 className=\"text-md font-bold mb-1\">{t(\"errorBoundary.errorStack\")}</h3>\n\t\t\t\t\t<pre className=\"p-2 border rounded text-sm overflow-auto\">{errorDisplay}</pre>\n\t\t\t\t</div>\n\n\t\t\t\t{componentStackDisplay && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<h3 className=\"text-md font-bold mb-1\">{t(\"errorBoundary.componentStack\")}</h3>\n\t\t\t\t\t\t<pre className=\"p-2 border rounded text-sm overflow-auto\">{componentStackDisplay}</pre>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}\n}\n\nexport default withTranslation(\"common\")(ErrorBoundary)\n", + "import { useEffect, useRef } from \"react\"\nimport { VSCodeButton } from \"@vscode/webview-ui-toolkit/react\"\n\nimport type { CloudUserInfo } from \"@roo-code/types\"\nimport { TelemetryEventName } from \"@roo-code/types\"\n\nimport { useAppTranslation } from \"@src/i18n/TranslationContext\"\nimport { useExtensionState } from \"@src/context/ExtensionStateContext\"\nimport { vscode } from \"@src/utils/vscode\"\nimport { telemetryClient } from \"@src/utils/TelemetryClient\"\nimport { ToggleSwitch } from \"@/components/ui/toggle-switch\"\n\nimport { History, PiggyBank, Router, SquareArrowOutUpRightIcon } from \"lucide-react\"\n\ntype AccountViewProps = {\n\tuserInfo: CloudUserInfo | null\n\tisAuthenticated: boolean\n\tcloudApiUrl?: string\n\tonDone: () => void\n}\n\nexport const AccountView = ({ userInfo, isAuthenticated, cloudApiUrl, onDone }: AccountViewProps) => {\n\tconst { t } = useAppTranslation()\n\tconst { remoteControlEnabled, setRemoteControlEnabled } = useExtensionState()\n\tconst wasAuthenticatedRef = useRef(false)\n\n\tconst rooLogoUri = (window as any).IMAGES_BASE_URI + \"/roo-logo.svg\"\n\n\t// Track authentication state changes to detect successful logout\n\tuseEffect(() => {\n\t\tif (isAuthenticated) {\n\t\t\twasAuthenticatedRef.current = true\n\t\t} else if (wasAuthenticatedRef.current && !isAuthenticated) {\n\t\t\t// User just logged out successfully\n\t\t\ttelemetryClient.capture(TelemetryEventName.ACCOUNT_LOGOUT_SUCCESS)\n\t\t\twasAuthenticatedRef.current = false\n\t\t}\n\t}, [isAuthenticated])\n\n\tconst handleConnectClick = () => {\n\t\t// Send telemetry for account connect action\n\t\ttelemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_CLICKED)\n\t\tvscode.postMessage({ type: \"rooCloudSignIn\" })\n\t}\n\n\tconst handleLogoutClick = () => {\n\t\t// Send telemetry for account logout action\n\t\ttelemetryClient.capture(TelemetryEventName.ACCOUNT_LOGOUT_CLICKED)\n\t\tvscode.postMessage({ type: \"rooCloudSignOut\" })\n\t}\n\n\tconst handleVisitCloudWebsite = () => {\n\t\t// Send telemetry for cloud website visit\n\t\ttelemetryClient.capture(TelemetryEventName.ACCOUNT_CONNECT_CLICKED)\n\t\tconst cloudUrl = cloudApiUrl || \"https://app.roocode.com\"\n\t\tvscode.postMessage({ type: \"openExternal\", url: cloudUrl })\n\t}\n\n\tconst handleRemoteControlToggle = () => {\n\t\tconst newValue = !remoteControlEnabled\n\t\tsetRemoteControlEnabled(newValue)\n\t\tvscode.postMessage({ type: \"remoteControlEnabled\", bool: newValue })\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col h-full\">\n\t\t\t<div className=\"flex justify-between items-center mb-6\">\n\t\t\t\t<h1 className=\"text-xl font-medium text-vscode-foreground\">{t(\"account:title\")}</h1>\n\t\t\t\t<VSCodeButton appearance=\"secondary\" onClick={onDone}>\n\t\t\t\t\t{t(\"settings:common.done\")}\n\t\t\t\t</VSCodeButton>\n\t\t\t</div>\n\t\t\t{isAuthenticated ? (\n\t\t\t\t<>\n\t\t\t\t\t{userInfo && (\n\t\t\t\t\t\t<div className=\"flex flex-col items-center mb-6\">\n\t\t\t\t\t\t\t<div className=\"w-16 h-16 mb-3 rounded-full overflow-hidden\">\n\t\t\t\t\t\t\t\t{userInfo?.picture ? (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={userInfo.picture}\n\t\t\t\t\t\t\t\t\t\talt={t(\"account:profilePicture\")}\n\t\t\t\t\t\t\t\t\t\tclassName=\"w-full h-full object-cover\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<div className=\"w-full h-full flex items-center justify-center bg-vscode-button-background text-vscode-button-foreground text-xl\">\n\t\t\t\t\t\t\t\t\t\t{userInfo?.name?.charAt(0) || userInfo?.email?.charAt(0) || \"?\"}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{userInfo.name && (\n\t\t\t\t\t\t\t\t<h2 className=\"text-lg font-medium text-vscode-foreground my-0\">{userInfo.name}</h2>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{userInfo?.email && (\n\t\t\t\t\t\t\t\t<p className=\"text-sm text-vscode-descriptionForeground my-0\">{userInfo?.email}</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{userInfo?.organizationName && (\n\t\t\t\t\t\t\t\t<div className=\"flex items-center gap-2 text-sm text-vscode-descriptionForeground mt-2\">\n\t\t\t\t\t\t\t\t\t{userInfo.organizationImageUrl && (\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\tsrc={userInfo.organizationImageUrl}\n\t\t\t\t\t\t\t\t\t\t\talt={userInfo.organizationName}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-4 h-4 rounded object-cover\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<span>{userInfo.organizationName}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Remote Control Toggle - only show if user has extension bridge enabled */}\n\t\t\t\t\t{userInfo?.extensionBridgeEnabled && (\n\t\t\t\t\t\t<div className=\"border-t border-vscode-widget-border pt-4 mt-4\">\n\t\t\t\t\t\t\t<div className=\"flex items-center gap-3 mb-2\">\n\t\t\t\t\t\t\t\t<ToggleSwitch\n\t\t\t\t\t\t\t\t\tchecked={remoteControlEnabled}\n\t\t\t\t\t\t\t\t\tonChange={handleRemoteControlToggle}\n\t\t\t\t\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\t\t\t\t\taria-label={t(\"account:remoteControl\")}\n\t\t\t\t\t\t\t\t\tdata-testid=\"remote-control-toggle\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<span className=\"font-medium text-vscode-foreground\">{t(\"account:remoteControl\")}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"text-vscode-descriptionForeground text-sm mt-1 mb-4 ml-8\">\n\t\t\t\t\t\t\t\t{t(\"account:remoteControlDescription\")}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<hr className=\"border-vscode-widget-border mb-4\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"flex flex-col gap-2 mt-4\">\n\t\t\t\t\t\t<VSCodeButton appearance=\"secondary\" onClick={handleVisitCloudWebsite} className=\"w-full\">\n\t\t\t\t\t\t\t{t(\"account:visitCloudWebsite\")}\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t\t<VSCodeButton appearance=\"secondary\" onClick={handleLogoutClick} className=\"w-full\">\n\t\t\t\t\t\t\t{t(\"account:logOut\")}\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<div className=\"flex flex-col items-center mb-1 text-center\">\n\t\t\t\t\t\t<div className=\"w-16 h-16 mb-1 flex items-center justify-center\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"w-12 h-12 bg-vscode-foreground\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tWebkitMaskImage: `url('${rooLogoUri}')`,\n\t\t\t\t\t\t\t\t\tWebkitMaskRepeat: \"no-repeat\",\n\t\t\t\t\t\t\t\t\tWebkitMaskSize: \"contain\",\n\t\t\t\t\t\t\t\t\tmaskImage: `url('${rooLogoUri}')`,\n\t\t\t\t\t\t\t\t\tmaskRepeat: \"no-repeat\",\n\t\t\t\t\t\t\t\t\tmaskSize: \"contain\",\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t<img src={rooLogoUri} alt=\"Roo logo\" className=\"w-12 h-12 opacity-0\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex flex-col mb-6 text-center\">\n\t\t\t\t\t\t<h2 className=\"text-xl font-bold text-vscode-foreground mb-2\">\n\t\t\t\t\t\t\t{t(\"account:cloudBenefitsTitle\")}\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<ul className=\"text-vscode-descriptionForeground space-y-3 mx-auto px-8\">\n\t\t\t\t\t\t\t<li className=\"flex items-start text-left gap-4\">\n\t\t\t\t\t\t\t\t<Router size=\"16\" className=\"shrink-0\" />\n\t\t\t\t\t\t\t\t<span>{t(\"account:cloudBenefitWalkaway\")}</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li className=\"flex items-start text-left gap-4\">\n\t\t\t\t\t\t\t\t<SquareArrowOutUpRightIcon size=\"16\" className=\"shrink-0\" />\n\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitSharing\")}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li className=\"flex items-start text-left gap-4\">\n\t\t\t\t\t\t\t\t<History size=\"16\" className=\"shrink-0\" />\n\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitHistory\")}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li className=\"flex items-start text-left gap-4\">\n\t\t\t\t\t\t\t\t<PiggyBank size=\"16\" className=\"shrink-0\" />\n\t\t\t\t\t\t\t\t{t(\"account:cloudBenefitMetrics\")}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"flex flex-col items-center gap-4\">\n\t\t\t\t\t\t<VSCodeButton appearance=\"primary\" onClick={handleConnectClick} className=\"w-1/2\">\n\t\t\t\t\t\t\t{t(\"account:connect\")}\n\t\t\t\t\t\t</VSCodeButton>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n", + "import React, { useCallback, useEffect, useRef, useState, useMemo } from \"react\"\nimport { useEvent } from \"react-use\"\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\"\n\nimport { ExtensionMessage } from \"@roo/ExtensionMessage\"\nimport TranslationProvider from \"./i18n/TranslationContext\"\nimport { MarketplaceViewStateManager } from \"./components/marketplace/MarketplaceViewStateManager\"\n\nimport { vscode } from \"./utils/vscode\"\nimport { telemetryClient } from \"./utils/TelemetryClient\"\nimport { TelemetryEventName } from \"@roo-code/types\"\nimport { initializeSourceMaps, exposeSourceMapsForDebugging } from \"./utils/sourceMapInitializer\"\nimport { ExtensionStateContextProvider, useExtensionState } from \"./context/ExtensionStateContext\"\nimport ChatView, { ChatViewRef } from \"./components/chat/ChatView\"\nimport HistoryView from \"./components/history/HistoryView\"\nimport SettingsView, { SettingsViewRef } from \"./components/settings/SettingsView\"\nimport WelcomeView from \"./components/welcome/WelcomeView\"\nimport McpView from \"./components/mcp/McpView\"\nimport { MarketplaceView } from \"./components/marketplace/MarketplaceView\"\nimport ModesView from \"./components/modes/ModesView\"\nimport { HumanRelayDialog } from \"./components/human-relay/HumanRelayDialog\"\nimport { DeleteMessageDialog, EditMessageDialog } from \"./components/chat/MessageModificationConfirmationDialog\"\nimport ErrorBoundary from \"./components/ErrorBoundary\"\nimport { AccountView } from \"./components/account/AccountView\"\nimport { useAddNonInteractiveClickListener } from \"./components/ui/hooks/useNonInteractiveClick\"\nimport { TooltipProvider } from \"./components/ui/tooltip\"\nimport { STANDARD_TOOLTIP_DELAY } from \"./components/ui/standard-tooltip\"\n\ntype Tab = \"settings\" | \"history\" | \"mcp\" | \"modes\" | \"chat\" | \"marketplace\" | \"account\"\n\ninterface HumanRelayDialogState {\n\tisOpen: boolean\n\trequestId: string\n\tpromptText: string\n}\n\ninterface DeleteMessageDialogState {\n\tisOpen: boolean\n\tmessageTs: number\n}\n\ninterface EditMessageDialogState {\n\tisOpen: boolean\n\tmessageTs: number\n\ttext: string\n\timages?: string[]\n}\n\n// Memoize dialog components to prevent unnecessary re-renders\nconst MemoizedDeleteMessageDialog = React.memo(DeleteMessageDialog)\nconst MemoizedEditMessageDialog = React.memo(EditMessageDialog)\nconst MemoizedHumanRelayDialog = React.memo(HumanRelayDialog)\n\nconst tabsByMessageAction: Partial<Record<NonNullable<ExtensionMessage[\"action\"]>, Tab>> = {\n\tchatButtonClicked: \"chat\",\n\tsettingsButtonClicked: \"settings\",\n\tpromptsButtonClicked: \"modes\",\n\tmcpButtonClicked: \"mcp\",\n\thistoryButtonClicked: \"history\",\n\tmarketplaceButtonClicked: \"marketplace\",\n\taccountButtonClicked: \"account\",\n}\n\nconst App = () => {\n\tconst {\n\t\tdidHydrateState,\n\t\tshowWelcome,\n\t\tshouldShowAnnouncement,\n\t\ttelemetrySetting,\n\t\ttelemetryKey,\n\t\tmachineId,\n\t\tcloudUserInfo,\n\t\tcloudIsAuthenticated,\n\t\tcloudApiUrl,\n\t\trenderContext,\n\t\tmdmCompliant,\n\t} = useExtensionState()\n\n\t// Create a persistent state manager\n\tconst marketplaceStateManager = useMemo(() => new MarketplaceViewStateManager(), [])\n\n\tconst [showAnnouncement, setShowAnnouncement] = useState(false)\n\tconst [tab, setTab] = useState<Tab>(\"chat\")\n\n\tconst [humanRelayDialogState, setHumanRelayDialogState] = useState<HumanRelayDialogState>({\n\t\tisOpen: false,\n\t\trequestId: \"\",\n\t\tpromptText: \"\",\n\t})\n\n\tconst [deleteMessageDialogState, setDeleteMessageDialogState] = useState<DeleteMessageDialogState>({\n\t\tisOpen: false,\n\t\tmessageTs: 0,\n\t})\n\n\tconst [editMessageDialogState, setEditMessageDialogState] = useState<EditMessageDialogState>({\n\t\tisOpen: false,\n\t\tmessageTs: 0,\n\t\ttext: \"\",\n\t\timages: [],\n\t})\n\n\tconst settingsRef = useRef<SettingsViewRef>(null)\n\tconst chatViewRef = useRef<ChatViewRef>(null)\n\n\tconst switchTab = useCallback(\n\t\t(newTab: Tab) => {\n\t\t\t// Check MDM compliance before allowing tab switching\n\t\t\tif (mdmCompliant === false && newTab !== \"account\") {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tsetCurrentSection(undefined)\n\t\t\tsetCurrentMarketplaceTab(undefined)\n\n\t\t\tif (settingsRef.current?.checkUnsaveChanges) {\n\t\t\t\tsettingsRef.current.checkUnsaveChanges(() => setTab(newTab))\n\t\t\t} else {\n\t\t\t\tsetTab(newTab)\n\t\t\t}\n\t\t},\n\t\t[mdmCompliant],\n\t)\n\n\tconst [currentSection, setCurrentSection] = useState<string | undefined>(undefined)\n\tconst [currentMarketplaceTab, setCurrentMarketplaceTab] = useState<string | undefined>(undefined)\n\n\tconst onMessage = useCallback(\n\t\t(e: MessageEvent) => {\n\t\t\tconst message: ExtensionMessage = e.data\n\n\t\t\tif (message.type === \"action\" && message.action) {\n\t\t\t\t// Handle switchTab action with tab parameter\n\t\t\t\tif (message.action === \"switchTab\" && message.tab) {\n\t\t\t\t\tconst targetTab = message.tab as Tab\n\t\t\t\t\tswitchTab(targetTab)\n\t\t\t\t\tsetCurrentSection(undefined)\n\t\t\t\t\tsetCurrentMarketplaceTab(undefined)\n\t\t\t\t} else {\n\t\t\t\t\t// Handle other actions using the mapping\n\t\t\t\t\tconst newTab = tabsByMessageAction[message.action]\n\t\t\t\t\tconst section = message.values?.section as string | undefined\n\t\t\t\t\tconst marketplaceTab = message.values?.marketplaceTab as string | undefined\n\n\t\t\t\t\tif (newTab) {\n\t\t\t\t\t\tswitchTab(newTab)\n\t\t\t\t\t\tsetCurrentSection(section)\n\t\t\t\t\t\tsetCurrentMarketplaceTab(marketplaceTab)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (message.type === \"showHumanRelayDialog\" && message.requestId && message.promptText) {\n\t\t\t\tconst { requestId, promptText } = message\n\t\t\t\tsetHumanRelayDialogState({ isOpen: true, requestId, promptText })\n\t\t\t}\n\n\t\t\tif (message.type === \"showDeleteMessageDialog\" && message.messageTs) {\n\t\t\t\tsetDeleteMessageDialogState({ isOpen: true, messageTs: message.messageTs })\n\t\t\t}\n\n\t\t\tif (message.type === \"showEditMessageDialog\" && message.messageTs && message.text) {\n\t\t\t\tsetEditMessageDialogState({\n\t\t\t\t\tisOpen: true,\n\t\t\t\t\tmessageTs: message.messageTs,\n\t\t\t\t\ttext: message.text,\n\t\t\t\t\timages: message.images || [],\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (message.type === \"acceptInput\") {\n\t\t\t\tchatViewRef.current?.acceptInput()\n\t\t\t}\n\t\t},\n\t\t[switchTab],\n\t)\n\n\tuseEvent(\"message\", onMessage)\n\n\tuseEffect(() => {\n\t\tif (shouldShowAnnouncement) {\n\t\t\tsetShowAnnouncement(true)\n\t\t\tvscode.postMessage({ type: \"didShowAnnouncement\" })\n\t\t}\n\t}, [shouldShowAnnouncement])\n\n\tuseEffect(() => {\n\t\tif (didHydrateState) {\n\t\t\ttelemetryClient.updateTelemetryState(telemetrySetting, telemetryKey, machineId)\n\t\t}\n\t}, [telemetrySetting, telemetryKey, machineId, didHydrateState])\n\n\t// Tell the extension that we are ready to receive messages.\n\tuseEffect(() => vscode.postMessage({ type: \"webviewDidLaunch\" }), [])\n\n\t// Initialize source map support for better error reporting\n\tuseEffect(() => {\n\t\t// Initialize source maps for better error reporting in production\n\t\tinitializeSourceMaps()\n\n\t\t// Expose source map debugging utilities in production\n\t\tif (process.env.NODE_ENV === \"production\") {\n\t\t\texposeSourceMapsForDebugging()\n\t\t}\n\n\t\t// Log initialization for debugging\n\t\tconsole.debug(\"App initialized with source map support\")\n\t}, [])\n\n\t// Focus the WebView when non-interactive content is clicked (only in editor/tab mode)\n\tuseAddNonInteractiveClickListener(\n\t\tuseCallback(() => {\n\t\t\t// Only send focus request if we're in editor (tab) mode, not sidebar\n\t\t\tif (renderContext === \"editor\") {\n\t\t\t\tvscode.postMessage({ type: \"focusPanelRequest\" })\n\t\t\t}\n\t\t}, [renderContext]),\n\t)\n\t// Track marketplace tab views\n\tuseEffect(() => {\n\t\tif (tab === \"marketplace\") {\n\t\t\ttelemetryClient.capture(TelemetryEventName.MARKETPLACE_TAB_VIEWED)\n\t\t}\n\t}, [tab])\n\n\tif (!didHydrateState) {\n\t\treturn null\n\t}\n\n\t// Do not conditionally load ChatView, it's expensive and there's state we\n\t// don't want to lose (user input, disableInput, askResponse promise, etc.)\n\treturn showWelcome ? (\n\t\t<WelcomeView />\n\t) : (\n\t\t<>\n\t\t\t{tab === \"modes\" && <ModesView onDone={() => switchTab(\"chat\")} />}\n\t\t\t{tab === \"mcp\" && <McpView onDone={() => switchTab(\"chat\")} />}\n\t\t\t{tab === \"history\" && <HistoryView onDone={() => switchTab(\"chat\")} />}\n\t\t\t{tab === \"settings\" && (\n\t\t\t\t<SettingsView ref={settingsRef} onDone={() => setTab(\"chat\")} targetSection={currentSection} />\n\t\t\t)}\n\t\t\t{tab === \"marketplace\" && (\n\t\t\t\t<MarketplaceView\n\t\t\t\t\tstateManager={marketplaceStateManager}\n\t\t\t\t\tonDone={() => switchTab(\"chat\")}\n\t\t\t\t\ttargetTab={currentMarketplaceTab as \"mcp\" | \"mode\" | undefined}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{tab === \"account\" && (\n\t\t\t\t<AccountView\n\t\t\t\t\tuserInfo={cloudUserInfo}\n\t\t\t\t\tisAuthenticated={cloudIsAuthenticated}\n\t\t\t\t\tcloudApiUrl={cloudApiUrl}\n\t\t\t\t\tonDone={() => switchTab(\"chat\")}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<ChatView\n\t\t\t\tref={chatViewRef}\n\t\t\t\tisHidden={tab !== \"chat\"}\n\t\t\t\tshowAnnouncement={showAnnouncement}\n\t\t\t\thideAnnouncement={() => setShowAnnouncement(false)}\n\t\t\t/>\n\t\t\t<MemoizedHumanRelayDialog\n\t\t\t\tisOpen={humanRelayDialogState.isOpen}\n\t\t\t\trequestId={humanRelayDialogState.requestId}\n\t\t\t\tpromptText={humanRelayDialogState.promptText}\n\t\t\t\tonClose={() => setHumanRelayDialogState((prev) => ({ ...prev, isOpen: false }))}\n\t\t\t\tonSubmit={(requestId, text) => vscode.postMessage({ type: \"humanRelayResponse\", requestId, text })}\n\t\t\t\tonCancel={(requestId) => vscode.postMessage({ type: \"humanRelayCancel\", requestId })}\n\t\t\t/>\n\t\t\t<MemoizedDeleteMessageDialog\n\t\t\t\topen={deleteMessageDialogState.isOpen}\n\t\t\t\tonOpenChange={(open) => setDeleteMessageDialogState((prev) => ({ ...prev, isOpen: open }))}\n\t\t\t\tonConfirm={() => {\n\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\ttype: \"deleteMessageConfirm\",\n\t\t\t\t\t\tmessageTs: deleteMessageDialogState.messageTs,\n\t\t\t\t\t})\n\t\t\t\t\tsetDeleteMessageDialogState((prev) => ({ ...prev, isOpen: false }))\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<MemoizedEditMessageDialog\n\t\t\t\topen={editMessageDialogState.isOpen}\n\t\t\t\tonOpenChange={(open) => setEditMessageDialogState((prev) => ({ ...prev, isOpen: open }))}\n\t\t\t\tonConfirm={() => {\n\t\t\t\t\tvscode.postMessage({\n\t\t\t\t\t\ttype: \"editMessageConfirm\",\n\t\t\t\t\t\tmessageTs: editMessageDialogState.messageTs,\n\t\t\t\t\t\ttext: editMessageDialogState.text,\n\t\t\t\t\t\timages: editMessageDialogState.images,\n\t\t\t\t\t})\n\t\t\t\t\tsetEditMessageDialogState((prev) => ({ ...prev, isOpen: false }))\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>\n\t)\n}\n\nconst queryClient = new QueryClient()\n\nconst AppWithProviders = () => (\n\t<ErrorBoundary>\n\t\t<ExtensionStateContextProvider>\n\t\t\t<TranslationProvider>\n\t\t\t\t<QueryClientProvider client={queryClient}>\n\t\t\t\t\t<TooltipProvider delayDuration={STANDARD_TOOLTIP_DELAY}>\n\t\t\t\t\t\t<App />\n\t\t\t\t\t</TooltipProvider>\n\t\t\t\t</QueryClientProvider>\n\t\t\t</TranslationProvider>\n\t\t</ExtensionStateContextProvider>\n\t</ErrorBoundary>\n)\n\nexport default AppWithProviders\n", + "import { StrictMode } from \"react\"\nimport { createRoot } from \"react-dom/client\"\n\nimport \"./index.css\"\nimport App from \"./App\"\nimport \"../node_modules/@vscode/codicons/dist/codicon.css\"\n\nimport { getHighlighter } from \"./utils/highlighter\"\n\n// Initialize Shiki early to hide initialization latency (async)\ngetHighlighter().catch((error: Error) => console.error(\"Failed to initialize Shiki highlighter:\", error))\n\ncreateRoot(document.getElementById(\"root\")!).render(\n\t<StrictMode>\n\t\t<App />\n\t</StrictMode>,\n)\n" + ], + "file": "assets/index.js", + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/assets/mermaid-bundle.js b/src/webview-ui/build/assets/mermaid-bundle.js new file mode 100644 index 0000000000..e510cdd90e --- /dev/null +++ b/src/webview-ui/build/assets/mermaid-bundle.js @@ -0,0 +1,123513 @@ +const __vite__mapDeps = (i, m = __vite__mapDeps, d = m.f || (m.f = ["assets/index.js", "assets/index.css"])) => + i.map((i) => d[i]) +var YH = Object.defineProperty +var XH = (t, e, r) => (e in t ? YH(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : (t[e] = r)) +var Ut = (t, e, r) => XH(t, typeof e != "symbol" ? e + "" : e, r) +var iNe = + typeof globalThis < "u" + ? globalThis + : typeof window < "u" + ? window + : typeof global < "u" + ? global + : typeof self < "u" + ? self + : {} +function Qd(t) { + return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t +} +const jH = "modulepreload", + KH = function (t) { + return "/" + t + }, + XS = {}, + dr = function (e, r, n) { + let i = Promise.resolve() + if (r && r.length > 0) { + let s = function (u) { + return Promise.all( + u.map((h) => + Promise.resolve(h).then( + (d) => ({ status: "fulfilled", value: d }), + (d) => ({ status: "rejected", reason: d }), + ), + ), + ) + } + document.getElementsByTagName("link") + const o = document.querySelector("meta[property=csp-nonce]"), + l = (o == null ? void 0 : o.nonce) || (o == null ? void 0 : o.getAttribute("nonce")) + i = s( + r.map((u) => { + if (((u = KH(u)), u in XS)) return + XS[u] = !0 + const h = u.endsWith(".css"), + d = h ? '[rel="stylesheet"]' : "" + if (document.querySelector(`link[href="${u}"]${d}`)) return + const f = document.createElement("link") + if ( + ((f.rel = h ? "stylesheet" : jH), + h || (f.as = "script"), + (f.crossOrigin = ""), + (f.href = u), + l && f.setAttribute("nonce", l), + document.head.appendChild(f), + h) + ) + return new Promise((p, g) => { + f.addEventListener("load", p), + f.addEventListener("error", () => g(new Error(`Unable to preload CSS for ${u}`))) + }) + }), + ) + } + function a(s) { + const o = new Event("vite:preloadError", { cancelable: !0 }) + if (((o.payload = s), window.dispatchEvent(o), !o.defaultPrevented)) throw s + } + return i.then((s) => { + for (const o of s || []) o.status === "rejected" && a(o.reason) + return e().catch(a) + }) + } +class ba { + constructor(e, r, n) { + ;(this.lexer = void 0), + (this.start = void 0), + (this.end = void 0), + (this.lexer = e), + (this.start = r), + (this.end = n) + } + static range(e, r) { + return r + ? !e || !e.loc || !r.loc || e.loc.lexer !== r.loc.lexer + ? null + : new ba(e.loc.lexer, e.loc.start, r.loc.end) + : e && e.loc + } +} +class Ka { + constructor(e, r) { + ;(this.text = void 0), + (this.loc = void 0), + (this.noexpand = void 0), + (this.treatAsRelax = void 0), + (this.text = e), + (this.loc = r) + } + range(e, r) { + return new Ka(r, ba.range(this, e)) + } +} +class at { + constructor(e, r) { + ;(this.name = void 0), (this.position = void 0), (this.length = void 0), (this.rawMessage = void 0) + var n = "KaTeX parse error: " + e, + i, + a, + s = r && r.loc + if (s && s.start <= s.end) { + var o = s.lexer.input + ;(i = s.start), + (a = s.end), + i === o.length ? (n += " at end of input: ") : (n += " at position " + (i + 1) + ": ") + var l = o.slice(i, a).replace(/[^]/g, "$&̲"), + u + i > 15 ? (u = "…" + o.slice(i - 15, i)) : (u = o.slice(0, i)) + var h + a + 15 < o.length ? (h = o.slice(a, a + 15) + "…") : (h = o.slice(a)), (n += u + l + h) + } + var d = new Error(n) + return ( + (d.name = "ParseError"), + (d.__proto__ = at.prototype), + (d.position = i), + i != null && a != null && (d.length = a - i), + (d.rawMessage = e), + d + ) + } +} +at.prototype.__proto__ = Error.prototype +var ZH = function (e, r) { + return e.indexOf(r) !== -1 + }, + QH = function (e, r) { + return e === void 0 ? r : e + }, + JH = /([A-Z])/g, + eY = function (e) { + return e.replace(JH, "-$1").toLowerCase() + }, + tY = { "&": "&", ">": ">", "<": "<", '"': """, "'": "'" }, + rY = /[&><"']/g +function nY(t) { + return String(t).replace(rY, (e) => tY[e]) +} +var PN = function t(e) { + return e.type === "ordgroup" || e.type === "color" + ? e.body.length === 1 + ? t(e.body[0]) + : e + : e.type === "font" + ? t(e.body) + : e + }, + iY = function (e) { + var r = PN(e) + return r.type === "mathord" || r.type === "textord" || r.type === "atom" + }, + aY = function (e) { + if (!e) throw new Error("Expected non-null, but got " + String(e)) + return e + }, + sY = function (e) { + var r = /^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e) + return r ? (r[2] !== ":" || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1]) ? null : r[1].toLowerCase()) : "_relative" + }, + Ft = { + contains: ZH, + deflt: QH, + escape: nY, + hyphenate: eY, + getBaseElem: PN, + isCharacterBox: iY, + protocolFromUrl: sY, + }, + Z0 = { + displayMode: { + type: "boolean", + description: + "Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.", + cli: "-d, --display-mode", + }, + output: { + type: { enum: ["htmlAndMathml", "html", "mathml"] }, + description: "Determines the markup language of the output.", + cli: "-F, --format <type>", + }, + leqno: { type: "boolean", description: "Render display math in leqno style (left-justified tags)." }, + fleqn: { type: "boolean", description: "Render display math flush left." }, + throwOnError: { + type: "boolean", + default: !0, + cli: "-t, --no-throw-on-error", + cliDescription: + "Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error.", + }, + errorColor: { + type: "string", + default: "#cc0000", + cli: "-c, --error-color <color>", + cliDescription: + "A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.", + cliProcessor: (t) => "#" + t, + }, + macros: { + type: "object", + cli: "-m, --macro <def>", + cliDescription: + "Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).", + cliDefault: [], + cliProcessor: (t, e) => (e.push(t), e), + }, + minRuleThickness: { + type: "number", + description: + "Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.", + processor: (t) => Math.max(0, t), + cli: "--min-rule-thickness <size>", + cliProcessor: parseFloat, + }, + colorIsTextColor: { + type: "boolean", + description: + "Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.", + cli: "-b, --color-is-text-color", + }, + strict: { + type: [{ enum: ["warn", "ignore", "error"] }, "boolean", "function"], + description: + "Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.", + cli: "-S, --strict", + cliDefault: !1, + }, + trust: { + type: ["boolean", "function"], + description: "Trust the input, enabling all HTML features such as \\url.", + cli: "-T, --trust", + }, + maxSize: { + type: "number", + default: 1 / 0, + description: + "If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large", + processor: (t) => Math.max(0, t), + cli: "-s, --max-size <n>", + cliProcessor: parseInt, + }, + maxExpand: { + type: "number", + default: 1e3, + description: + "Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.", + processor: (t) => Math.max(0, t), + cli: "-e, --max-expand <n>", + cliProcessor: (t) => (t === "Infinity" ? 1 / 0 : parseInt(t)), + }, + globalGroup: { type: "boolean", cli: !1 }, + } +function oY(t) { + if (t.default) return t.default + var e = t.type, + r = Array.isArray(e) ? e[0] : e + if (typeof r != "string") return r.enum[0] + switch (r) { + case "boolean": + return !1 + case "string": + return "" + case "number": + return 0 + case "object": + return {} + } +} +class lT { + constructor(e) { + ;(this.displayMode = void 0), + (this.output = void 0), + (this.leqno = void 0), + (this.fleqn = void 0), + (this.throwOnError = void 0), + (this.errorColor = void 0), + (this.macros = void 0), + (this.minRuleThickness = void 0), + (this.colorIsTextColor = void 0), + (this.strict = void 0), + (this.trust = void 0), + (this.maxSize = void 0), + (this.maxExpand = void 0), + (this.globalGroup = void 0), + (e = e || {}) + for (var r in Z0) + if (Z0.hasOwnProperty(r)) { + var n = Z0[r] + this[r] = e[r] !== void 0 ? (n.processor ? n.processor(e[r]) : e[r]) : oY(n) + } + } + reportNonstrict(e, r, n) { + var i = this.strict + if ((typeof i == "function" && (i = i(e, r, n)), !(!i || i === "ignore"))) { + if (i === !0 || i === "error") + throw new at("LaTeX-incompatible input and strict mode is set to 'error': " + (r + " [" + e + "]"), n) + i === "warn" + ? typeof console < "u" && + console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (r + " [" + e + "]")) + : typeof console < "u" && + console.warn( + "LaTeX-incompatible input and strict mode is set to " + + ("unrecognized '" + i + "': " + r + " [" + e + "]"), + ) + } + } + useStrictBehavior(e, r, n) { + var i = this.strict + if (typeof i == "function") + try { + i = i(e, r, n) + } catch { + i = "error" + } + return !i || i === "ignore" + ? !1 + : i === !0 || i === "error" + ? !0 + : i === "warn" + ? (typeof console < "u" && + console.warn( + "LaTeX-incompatible input and strict mode is set to 'warn': " + (r + " [" + e + "]"), + ), + !1) + : (typeof console < "u" && + console.warn( + "LaTeX-incompatible input and strict mode is set to " + + ("unrecognized '" + i + "': " + r + " [" + e + "]"), + ), + !1) + } + isTrusted(e) { + if (e.url && !e.protocol) { + var r = Ft.protocolFromUrl(e.url) + if (r == null) return !1 + e.protocol = r + } + var n = typeof this.trust == "function" ? this.trust(e) : this.trust + return !!n + } +} +class ol { + constructor(e, r, n) { + ;(this.id = void 0), + (this.size = void 0), + (this.cramped = void 0), + (this.id = e), + (this.size = r), + (this.cramped = n) + } + sup() { + return $s[lY[this.id]] + } + sub() { + return $s[cY[this.id]] + } + fracNum() { + return $s[uY[this.id]] + } + fracDen() { + return $s[hY[this.id]] + } + cramp() { + return $s[dY[this.id]] + } + text() { + return $s[fY[this.id]] + } + isTight() { + return this.size >= 2 + } +} +var cT = 0, + gv = 1, + dh = 2, + Oo = 3, + pp = 4, + qa = 5, + yd = 6, + Oi = 7, + $s = [ + new ol(cT, 0, !1), + new ol(gv, 0, !0), + new ol(dh, 1, !1), + new ol(Oo, 1, !0), + new ol(pp, 2, !1), + new ol(qa, 2, !0), + new ol(yd, 3, !1), + new ol(Oi, 3, !0), + ], + lY = [pp, qa, pp, qa, yd, Oi, yd, Oi], + cY = [qa, qa, qa, qa, Oi, Oi, Oi, Oi], + uY = [dh, Oo, pp, qa, yd, Oi, yd, Oi], + hY = [Oo, Oo, qa, qa, Oi, Oi, Oi, Oi], + dY = [gv, gv, Oo, Oo, qa, qa, Oi, Oi], + fY = [cT, gv, dh, Oo, dh, Oo, dh, Oo], + Vt = { DISPLAY: $s[cT], TEXT: $s[dh], SCRIPT: $s[pp], SCRIPTSCRIPT: $s[yd] }, + s3 = [ + { + name: "latin", + blocks: [ + [256, 591], + [768, 879], + ], + }, + { name: "cyrillic", blocks: [[1024, 1279]] }, + { name: "armenian", blocks: [[1328, 1423]] }, + { name: "brahmic", blocks: [[2304, 4255]] }, + { name: "georgian", blocks: [[4256, 4351]] }, + { + name: "cjk", + blocks: [ + [12288, 12543], + [19968, 40879], + [65280, 65376], + ], + }, + { name: "hangul", blocks: [[44032, 55215]] }, + ] +function pY(t) { + for (var e = 0; e < s3.length; e++) + for (var r = s3[e], n = 0; n < r.blocks.length; n++) { + var i = r.blocks[n] + if (t >= i[0] && t <= i[1]) return r.name + } + return null +} +var lm = [] +s3.forEach((t) => t.blocks.forEach((e) => lm.push(...e))) +function BN(t) { + for (var e = 0; e < lm.length; e += 2) if (t >= lm[e] && t <= lm[e + 1]) return !0 + return !1 +} +var Bu = 80, + gY = function (e, r) { + return ( + "M95," + + (622 + e + r) + + ` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l` + + e / 2.075 + + " -" + + e + + ` +c5.3,-9.3,12,-14,20,-14 +H400000v` + + (40 + e) + + `H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M` + + (834 + e) + + " " + + r + + "h400000v" + + (40 + e) + + "h-400000z" + ) + }, + mY = function (e, r) { + return ( + "M263," + + (601 + e + r) + + `c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l` + + e / 2.084 + + " -" + + e + + ` +c4.7,-7.3,11,-11,19,-11 +H40000v` + + (40 + e) + + `H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M` + + (1001 + e) + + " " + + r + + "h400000v" + + (40 + e) + + "h-400000z" + ) + }, + vY = function (e, r) { + return ( + "M983 " + + (10 + e + r) + + ` +l` + + e / 3.13 + + " -" + + e + + ` +c4,-6.7,10,-10,18,-10 H400000v` + + (40 + e) + + ` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M` + + (1001 + e) + + " " + + r + + "h400000v" + + (40 + e) + + "h-400000z" + ) + }, + yY = function (e, r) { + return ( + "M424," + + (2398 + e + r) + + ` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l` + + e / 4.223 + + " -" + + e + + `c4,-6.7,10,-10,18,-10 H400000 +v` + + (40 + e) + + `H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M` + + (1001 + e) + + " " + + r + + ` +h400000v` + + (40 + e) + + "h-400000z" + ) + }, + xY = function (e, r) { + return ( + "M473," + + (2713 + e + r) + + ` +c339.3,-1799.3,509.3,-2700,510,-2702 l` + + e / 5.298 + + " -" + + e + + ` +c3.3,-7.3,9.3,-11,18,-11 H400000v` + + (40 + e) + + `H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM` + + (1001 + e) + + " " + + r + + "h400000v" + + (40 + e) + + "H1017.7z" + ) + }, + bY = function (e) { + var r = e / 2 + return "M400000 " + e + " H0 L" + r + " 0 l65 45 L145 " + (e - 80) + " H400000z" + }, + wY = function (e, r, n) { + var i = n - 54 - r - e + return ( + "M702 " + + (e + r) + + "H400000" + + (40 + e) + + ` +H742v` + + i + + `l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 ` + + r + + "H400000v" + + (40 + e) + + "H742z" + ) + }, + TY = function (e, r, n) { + r = 1e3 * r + var i = "" + switch (e) { + case "sqrtMain": + i = gY(r, Bu) + break + case "sqrtSize1": + i = mY(r, Bu) + break + case "sqrtSize2": + i = vY(r, Bu) + break + case "sqrtSize3": + i = yY(r, Bu) + break + case "sqrtSize4": + i = xY(r, Bu) + break + case "sqrtTall": + i = wY(r, Bu, n) + } + return i + }, + EY = function (e, r) { + switch (e) { + case "⎜": + return "M291 0 H417 V" + r + " H291z M291 0 H417 V" + r + " H291z" + case "∣": + return "M145 0 H188 V" + r + " H145z M145 0 H188 V" + r + " H145z" + case "∥": + return ( + "M145 0 H188 V" + + r + + " H145z M145 0 H188 V" + + r + + " H145z" + + ("M367 0 H410 V" + r + " H367z M367 0 H410 V" + r + " H367z") + ) + case "⎟": + return "M457 0 H583 V" + r + " H457z M457 0 H583 V" + r + " H457z" + case "⎢": + return "M319 0 H403 V" + r + " H319z M319 0 H403 V" + r + " H319z" + case "⎥": + return "M263 0 H347 V" + r + " H263z M263 0 H347 V" + r + " H263z" + case "⎪": + return "M384 0 H504 V" + r + " H384z M384 0 H504 V" + r + " H384z" + case "⏐": + return "M312 0 H355 V" + r + " H312z M312 0 H355 V" + r + " H312z" + case "‖": + return ( + "M257 0 H300 V" + + r + + " H257z M257 0 H300 V" + + r + + " H257z" + + ("M478 0 H521 V" + r + " H478z M478 0 H521 V" + r + " H478z") + ) + default: + return "" + } + }, + jS = { + doubleleftarrow: `M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`, + doublerightarrow: `M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`, + leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`, + leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`, + leftbraceunder: `M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`, + leftgroup: `M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`, + leftgroupunder: `M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`, + leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`, + leftharpoonplus: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`, + leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`, + leftharpoondownplus: `M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`, + lefthook: `M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`, + leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`, + leftmapsto: `M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`, + leftToFrom: `M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`, + longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`, + midbrace: `M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`, + midbraceunder: `M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`, + oiintSize1: `M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`, + oiintSize2: `M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`, + oiiintSize1: `M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`, + oiiintSize2: `M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`, + rightarrow: `M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`, + rightbrace: `M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`, + rightbraceunder: `M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`, + rightgroup: `M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`, + rightgroupunder: `M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`, + rightharpoon: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`, + rightharpoonplus: `M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`, + rightharpoondown: `M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`, + rightharpoondownplus: `M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`, + righthook: `M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`, + rightlinesegment: `M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`, + rightToFrom: `M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`, + twoheadleftarrow: `M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`, + twoheadrightarrow: `M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`, + tilde1: `M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`, + tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`, + tilde3: `M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`, + tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`, + vec: `M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`, + widehat1: `M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`, + widehat2: `M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat3: `M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widehat4: `M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`, + widecheck1: `M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`, + widecheck2: `M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck3: `M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + widecheck4: `M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`, + baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`, + rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`, + baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`, + rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`, + shortbaraboveleftharpoon: `M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`, + shortrightharpoonabovebar: `M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`, + }, + kY = function (e, r) { + switch (e) { + case "lbrack": + return ( + "M403 1759 V84 H666 V0 H319 V1759 v" + + r + + ` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v` + + r + + " v1759 h84z" + ) + case "rbrack": + return ( + "M347 1759 V0 H0 V84 H263 V1759 v" + + r + + ` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v` + + r + + " v1759 h84z" + ) + case "vert": + return ( + "M145 15 v585 v" + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` + + r + + " v585 h43z" + ) + case "doublevert": + return ( + "M145 15 v585 v" + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` + + r + + ` v585 h43z +M367 15 v585 v` + + r + + ` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v` + + -r + + ` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v` + + r + + " v585 h43z" + ) + case "lfloor": + return ( + "M319 602 V0 H403 V602 v" + + r + + ` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v` + + r + + " v1715 H319z" + ) + case "rfloor": + return ( + "M319 602 V0 H403 V602 v" + + r + + ` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v` + + r + + " v1715 H319z" + ) + case "lceil": + return ( + "M403 1759 V84 H666 V0 H319 V1759 v" + + r + + ` v602 h84z +M403 1759 V0 H319 V1759 v` + + r + + " v602 h84z" + ) + case "rceil": + return ( + "M347 1759 V0 H0 V84 H263 V1759 v" + + r + + ` v602 h84z +M347 1759 V0 h-84 V1759 v` + + r + + " v602 h84z" + ) + case "lparen": + return ( + `M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,` + + (r + 84) + + `c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-` + + (r + 92) + + `c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z` + ) + case "rparen": + return ( + `M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` + + (r + 9) + + ` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-` + + (r + 144) + + `c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z` + ) + default: + throw new Error("Unknown stretchy delimiter.") + } + } +class ig { + constructor(e) { + ;(this.children = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + (this.children = e), + (this.classes = []), + (this.height = 0), + (this.depth = 0), + (this.maxFontSize = 0), + (this.style = {}) + } + hasClass(e) { + return Ft.contains(this.classes, e) + } + toNode() { + for (var e = document.createDocumentFragment(), r = 0; r < this.children.length; r++) + e.appendChild(this.children[r].toNode()) + return e + } + toMarkup() { + for (var e = "", r = 0; r < this.children.length; r++) e += this.children[r].toMarkup() + return e + } + toText() { + var e = (r) => r.toText() + return this.children.map(e).join("") + } +} +var Gs = { + "AMS-Regular": { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.68889, 0, 0, 0.72222], + 66: [0, 0.68889, 0, 0, 0.66667], + 67: [0, 0.68889, 0, 0, 0.72222], + 68: [0, 0.68889, 0, 0, 0.72222], + 69: [0, 0.68889, 0, 0, 0.66667], + 70: [0, 0.68889, 0, 0, 0.61111], + 71: [0, 0.68889, 0, 0, 0.77778], + 72: [0, 0.68889, 0, 0, 0.77778], + 73: [0, 0.68889, 0, 0, 0.38889], + 74: [0.16667, 0.68889, 0, 0, 0.5], + 75: [0, 0.68889, 0, 0, 0.77778], + 76: [0, 0.68889, 0, 0, 0.66667], + 77: [0, 0.68889, 0, 0, 0.94445], + 78: [0, 0.68889, 0, 0, 0.72222], + 79: [0.16667, 0.68889, 0, 0, 0.77778], + 80: [0, 0.68889, 0, 0, 0.61111], + 81: [0.16667, 0.68889, 0, 0, 0.77778], + 82: [0, 0.68889, 0, 0, 0.72222], + 83: [0, 0.68889, 0, 0, 0.55556], + 84: [0, 0.68889, 0, 0, 0.66667], + 85: [0, 0.68889, 0, 0, 0.72222], + 86: [0, 0.68889, 0, 0, 0.72222], + 87: [0, 0.68889, 0, 0, 1], + 88: [0, 0.68889, 0, 0, 0.72222], + 89: [0, 0.68889, 0, 0, 0.72222], + 90: [0, 0.68889, 0, 0, 0.66667], + 107: [0, 0.68889, 0, 0, 0.55556], + 160: [0, 0, 0, 0, 0.25], + 165: [0, 0.675, 0.025, 0, 0.75], + 174: [0.15559, 0.69224, 0, 0, 0.94666], + 240: [0, 0.68889, 0, 0, 0.55556], + 295: [0, 0.68889, 0, 0, 0.54028], + 710: [0, 0.825, 0, 0, 2.33334], + 732: [0, 0.9, 0, 0, 2.33334], + 770: [0, 0.825, 0, 0, 2.33334], + 771: [0, 0.9, 0, 0, 2.33334], + 989: [0.08167, 0.58167, 0, 0, 0.77778], + 1008: [0, 0.43056, 0.04028, 0, 0.66667], + 8245: [0, 0.54986, 0, 0, 0.275], + 8463: [0, 0.68889, 0, 0, 0.54028], + 8487: [0, 0.68889, 0, 0, 0.72222], + 8498: [0, 0.68889, 0, 0, 0.55556], + 8502: [0, 0.68889, 0, 0, 0.66667], + 8503: [0, 0.68889, 0, 0, 0.44445], + 8504: [0, 0.68889, 0, 0, 0.66667], + 8513: [0, 0.68889, 0, 0, 0.63889], + 8592: [-0.03598, 0.46402, 0, 0, 0.5], + 8594: [-0.03598, 0.46402, 0, 0, 0.5], + 8602: [-0.13313, 0.36687, 0, 0, 1], + 8603: [-0.13313, 0.36687, 0, 0, 1], + 8606: [0.01354, 0.52239, 0, 0, 1], + 8608: [0.01354, 0.52239, 0, 0, 1], + 8610: [0.01354, 0.52239, 0, 0, 1.11111], + 8611: [0.01354, 0.52239, 0, 0, 1.11111], + 8619: [0, 0.54986, 0, 0, 1], + 8620: [0, 0.54986, 0, 0, 1], + 8621: [-0.13313, 0.37788, 0, 0, 1.38889], + 8622: [-0.13313, 0.36687, 0, 0, 1], + 8624: [0, 0.69224, 0, 0, 0.5], + 8625: [0, 0.69224, 0, 0, 0.5], + 8630: [0, 0.43056, 0, 0, 1], + 8631: [0, 0.43056, 0, 0, 1], + 8634: [0.08198, 0.58198, 0, 0, 0.77778], + 8635: [0.08198, 0.58198, 0, 0, 0.77778], + 8638: [0.19444, 0.69224, 0, 0, 0.41667], + 8639: [0.19444, 0.69224, 0, 0, 0.41667], + 8642: [0.19444, 0.69224, 0, 0, 0.41667], + 8643: [0.19444, 0.69224, 0, 0, 0.41667], + 8644: [0.1808, 0.675, 0, 0, 1], + 8646: [0.1808, 0.675, 0, 0, 1], + 8647: [0.1808, 0.675, 0, 0, 1], + 8648: [0.19444, 0.69224, 0, 0, 0.83334], + 8649: [0.1808, 0.675, 0, 0, 1], + 8650: [0.19444, 0.69224, 0, 0, 0.83334], + 8651: [0.01354, 0.52239, 0, 0, 1], + 8652: [0.01354, 0.52239, 0, 0, 1], + 8653: [-0.13313, 0.36687, 0, 0, 1], + 8654: [-0.13313, 0.36687, 0, 0, 1], + 8655: [-0.13313, 0.36687, 0, 0, 1], + 8666: [0.13667, 0.63667, 0, 0, 1], + 8667: [0.13667, 0.63667, 0, 0, 1], + 8669: [-0.13313, 0.37788, 0, 0, 1], + 8672: [-0.064, 0.437, 0, 0, 1.334], + 8674: [-0.064, 0.437, 0, 0, 1.334], + 8705: [0, 0.825, 0, 0, 0.5], + 8708: [0, 0.68889, 0, 0, 0.55556], + 8709: [0.08167, 0.58167, 0, 0, 0.77778], + 8717: [0, 0.43056, 0, 0, 0.42917], + 8722: [-0.03598, 0.46402, 0, 0, 0.5], + 8724: [0.08198, 0.69224, 0, 0, 0.77778], + 8726: [0.08167, 0.58167, 0, 0, 0.77778], + 8733: [0, 0.69224, 0, 0, 0.77778], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8737: [0, 0.69224, 0, 0, 0.72222], + 8738: [0.03517, 0.52239, 0, 0, 0.72222], + 8739: [0.08167, 0.58167, 0, 0, 0.22222], + 8740: [0.25142, 0.74111, 0, 0, 0.27778], + 8741: [0.08167, 0.58167, 0, 0, 0.38889], + 8742: [0.25142, 0.74111, 0, 0, 0.5], + 8756: [0, 0.69224, 0, 0, 0.66667], + 8757: [0, 0.69224, 0, 0, 0.66667], + 8764: [-0.13313, 0.36687, 0, 0, 0.77778], + 8765: [-0.13313, 0.37788, 0, 0, 0.77778], + 8769: [-0.13313, 0.36687, 0, 0, 0.77778], + 8770: [-0.03625, 0.46375, 0, 0, 0.77778], + 8774: [0.30274, 0.79383, 0, 0, 0.77778], + 8776: [-0.01688, 0.48312, 0, 0, 0.77778], + 8778: [0.08167, 0.58167, 0, 0, 0.77778], + 8782: [0.06062, 0.54986, 0, 0, 0.77778], + 8783: [0.06062, 0.54986, 0, 0, 0.77778], + 8785: [0.08198, 0.58198, 0, 0, 0.77778], + 8786: [0.08198, 0.58198, 0, 0, 0.77778], + 8787: [0.08198, 0.58198, 0, 0, 0.77778], + 8790: [0, 0.69224, 0, 0, 0.77778], + 8791: [0.22958, 0.72958, 0, 0, 0.77778], + 8796: [0.08198, 0.91667, 0, 0, 0.77778], + 8806: [0.25583, 0.75583, 0, 0, 0.77778], + 8807: [0.25583, 0.75583, 0, 0, 0.77778], + 8808: [0.25142, 0.75726, 0, 0, 0.77778], + 8809: [0.25142, 0.75726, 0, 0, 0.77778], + 8812: [0.25583, 0.75583, 0, 0, 0.5], + 8814: [0.20576, 0.70576, 0, 0, 0.77778], + 8815: [0.20576, 0.70576, 0, 0, 0.77778], + 8816: [0.30274, 0.79383, 0, 0, 0.77778], + 8817: [0.30274, 0.79383, 0, 0, 0.77778], + 8818: [0.22958, 0.72958, 0, 0, 0.77778], + 8819: [0.22958, 0.72958, 0, 0, 0.77778], + 8822: [0.1808, 0.675, 0, 0, 0.77778], + 8823: [0.1808, 0.675, 0, 0, 0.77778], + 8828: [0.13667, 0.63667, 0, 0, 0.77778], + 8829: [0.13667, 0.63667, 0, 0, 0.77778], + 8830: [0.22958, 0.72958, 0, 0, 0.77778], + 8831: [0.22958, 0.72958, 0, 0, 0.77778], + 8832: [0.20576, 0.70576, 0, 0, 0.77778], + 8833: [0.20576, 0.70576, 0, 0, 0.77778], + 8840: [0.30274, 0.79383, 0, 0, 0.77778], + 8841: [0.30274, 0.79383, 0, 0, 0.77778], + 8842: [0.13597, 0.63597, 0, 0, 0.77778], + 8843: [0.13597, 0.63597, 0, 0, 0.77778], + 8847: [0.03517, 0.54986, 0, 0, 0.77778], + 8848: [0.03517, 0.54986, 0, 0, 0.77778], + 8858: [0.08198, 0.58198, 0, 0, 0.77778], + 8859: [0.08198, 0.58198, 0, 0, 0.77778], + 8861: [0.08198, 0.58198, 0, 0, 0.77778], + 8862: [0, 0.675, 0, 0, 0.77778], + 8863: [0, 0.675, 0, 0, 0.77778], + 8864: [0, 0.675, 0, 0, 0.77778], + 8865: [0, 0.675, 0, 0, 0.77778], + 8872: [0, 0.69224, 0, 0, 0.61111], + 8873: [0, 0.69224, 0, 0, 0.72222], + 8874: [0, 0.69224, 0, 0, 0.88889], + 8876: [0, 0.68889, 0, 0, 0.61111], + 8877: [0, 0.68889, 0, 0, 0.61111], + 8878: [0, 0.68889, 0, 0, 0.72222], + 8879: [0, 0.68889, 0, 0, 0.72222], + 8882: [0.03517, 0.54986, 0, 0, 0.77778], + 8883: [0.03517, 0.54986, 0, 0, 0.77778], + 8884: [0.13667, 0.63667, 0, 0, 0.77778], + 8885: [0.13667, 0.63667, 0, 0, 0.77778], + 8888: [0, 0.54986, 0, 0, 1.11111], + 8890: [0.19444, 0.43056, 0, 0, 0.55556], + 8891: [0.19444, 0.69224, 0, 0, 0.61111], + 8892: [0.19444, 0.69224, 0, 0, 0.61111], + 8901: [0, 0.54986, 0, 0, 0.27778], + 8903: [0.08167, 0.58167, 0, 0, 0.77778], + 8905: [0.08167, 0.58167, 0, 0, 0.77778], + 8906: [0.08167, 0.58167, 0, 0, 0.77778], + 8907: [0, 0.69224, 0, 0, 0.77778], + 8908: [0, 0.69224, 0, 0, 0.77778], + 8909: [-0.03598, 0.46402, 0, 0, 0.77778], + 8910: [0, 0.54986, 0, 0, 0.76042], + 8911: [0, 0.54986, 0, 0, 0.76042], + 8912: [0.03517, 0.54986, 0, 0, 0.77778], + 8913: [0.03517, 0.54986, 0, 0, 0.77778], + 8914: [0, 0.54986, 0, 0, 0.66667], + 8915: [0, 0.54986, 0, 0, 0.66667], + 8916: [0, 0.69224, 0, 0, 0.66667], + 8918: [0.0391, 0.5391, 0, 0, 0.77778], + 8919: [0.0391, 0.5391, 0, 0, 0.77778], + 8920: [0.03517, 0.54986, 0, 0, 1.33334], + 8921: [0.03517, 0.54986, 0, 0, 1.33334], + 8922: [0.38569, 0.88569, 0, 0, 0.77778], + 8923: [0.38569, 0.88569, 0, 0, 0.77778], + 8926: [0.13667, 0.63667, 0, 0, 0.77778], + 8927: [0.13667, 0.63667, 0, 0, 0.77778], + 8928: [0.30274, 0.79383, 0, 0, 0.77778], + 8929: [0.30274, 0.79383, 0, 0, 0.77778], + 8934: [0.23222, 0.74111, 0, 0, 0.77778], + 8935: [0.23222, 0.74111, 0, 0, 0.77778], + 8936: [0.23222, 0.74111, 0, 0, 0.77778], + 8937: [0.23222, 0.74111, 0, 0, 0.77778], + 8938: [0.20576, 0.70576, 0, 0, 0.77778], + 8939: [0.20576, 0.70576, 0, 0, 0.77778], + 8940: [0.30274, 0.79383, 0, 0, 0.77778], + 8941: [0.30274, 0.79383, 0, 0, 0.77778], + 8994: [0.19444, 0.69224, 0, 0, 0.77778], + 8995: [0.19444, 0.69224, 0, 0, 0.77778], + 9416: [0.15559, 0.69224, 0, 0, 0.90222], + 9484: [0, 0.69224, 0, 0, 0.5], + 9488: [0, 0.69224, 0, 0, 0.5], + 9492: [0, 0.37788, 0, 0, 0.5], + 9496: [0, 0.37788, 0, 0, 0.5], + 9585: [0.19444, 0.68889, 0, 0, 0.88889], + 9586: [0.19444, 0.74111, 0, 0, 0.88889], + 9632: [0, 0.675, 0, 0, 0.77778], + 9633: [0, 0.675, 0, 0, 0.77778], + 9650: [0, 0.54986, 0, 0, 0.72222], + 9651: [0, 0.54986, 0, 0, 0.72222], + 9654: [0.03517, 0.54986, 0, 0, 0.77778], + 9660: [0, 0.54986, 0, 0, 0.72222], + 9661: [0, 0.54986, 0, 0, 0.72222], + 9664: [0.03517, 0.54986, 0, 0, 0.77778], + 9674: [0.11111, 0.69224, 0, 0, 0.66667], + 9733: [0.19444, 0.69224, 0, 0, 0.94445], + 10003: [0, 0.69224, 0, 0, 0.83334], + 10016: [0, 0.69224, 0, 0, 0.83334], + 10731: [0.11111, 0.69224, 0, 0, 0.66667], + 10846: [0.19444, 0.75583, 0, 0, 0.61111], + 10877: [0.13667, 0.63667, 0, 0, 0.77778], + 10878: [0.13667, 0.63667, 0, 0, 0.77778], + 10885: [0.25583, 0.75583, 0, 0, 0.77778], + 10886: [0.25583, 0.75583, 0, 0, 0.77778], + 10887: [0.13597, 0.63597, 0, 0, 0.77778], + 10888: [0.13597, 0.63597, 0, 0, 0.77778], + 10889: [0.26167, 0.75726, 0, 0, 0.77778], + 10890: [0.26167, 0.75726, 0, 0, 0.77778], + 10891: [0.48256, 0.98256, 0, 0, 0.77778], + 10892: [0.48256, 0.98256, 0, 0, 0.77778], + 10901: [0.13667, 0.63667, 0, 0, 0.77778], + 10902: [0.13667, 0.63667, 0, 0, 0.77778], + 10933: [0.25142, 0.75726, 0, 0, 0.77778], + 10934: [0.25142, 0.75726, 0, 0, 0.77778], + 10935: [0.26167, 0.75726, 0, 0, 0.77778], + 10936: [0.26167, 0.75726, 0, 0, 0.77778], + 10937: [0.26167, 0.75726, 0, 0, 0.77778], + 10938: [0.26167, 0.75726, 0, 0, 0.77778], + 10949: [0.25583, 0.75583, 0, 0, 0.77778], + 10950: [0.25583, 0.75583, 0, 0, 0.77778], + 10955: [0.28481, 0.79383, 0, 0, 0.77778], + 10956: [0.28481, 0.79383, 0, 0, 0.77778], + 57350: [0.08167, 0.58167, 0, 0, 0.22222], + 57351: [0.08167, 0.58167, 0, 0, 0.38889], + 57352: [0.08167, 0.58167, 0, 0, 0.77778], + 57353: [0, 0.43056, 0.04028, 0, 0.66667], + 57356: [0.25142, 0.75726, 0, 0, 0.77778], + 57357: [0.25142, 0.75726, 0, 0, 0.77778], + 57358: [0.41951, 0.91951, 0, 0, 0.77778], + 57359: [0.30274, 0.79383, 0, 0, 0.77778], + 57360: [0.30274, 0.79383, 0, 0, 0.77778], + 57361: [0.41951, 0.91951, 0, 0, 0.77778], + 57366: [0.25142, 0.75726, 0, 0, 0.77778], + 57367: [0.25142, 0.75726, 0, 0, 0.77778], + 57368: [0.25142, 0.75726, 0, 0, 0.77778], + 57369: [0.25142, 0.75726, 0, 0, 0.77778], + 57370: [0.13597, 0.63597, 0, 0, 0.77778], + 57371: [0.13597, 0.63597, 0, 0, 0.77778], + }, + "Caligraphic-Regular": { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.68333, 0, 0.19445, 0.79847], + 66: [0, 0.68333, 0.03041, 0.13889, 0.65681], + 67: [0, 0.68333, 0.05834, 0.13889, 0.52653], + 68: [0, 0.68333, 0.02778, 0.08334, 0.77139], + 69: [0, 0.68333, 0.08944, 0.11111, 0.52778], + 70: [0, 0.68333, 0.09931, 0.11111, 0.71875], + 71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487], + 72: [0, 0.68333, 0.00965, 0.11111, 0.84452], + 73: [0, 0.68333, 0.07382, 0, 0.54452], + 74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778], + 75: [0, 0.68333, 0.01445, 0.05556, 0.76195], + 76: [0, 0.68333, 0, 0.13889, 0.68972], + 77: [0, 0.68333, 0, 0.13889, 1.2009], + 78: [0, 0.68333, 0.14736, 0.08334, 0.82049], + 79: [0, 0.68333, 0.02778, 0.11111, 0.79611], + 80: [0, 0.68333, 0.08222, 0.08334, 0.69556], + 81: [0.09722, 0.68333, 0, 0.11111, 0.81667], + 82: [0, 0.68333, 0, 0.08334, 0.8475], + 83: [0, 0.68333, 0.075, 0.13889, 0.60556], + 84: [0, 0.68333, 0.25417, 0, 0.54464], + 85: [0, 0.68333, 0.09931, 0.08334, 0.62583], + 86: [0, 0.68333, 0.08222, 0, 0.61278], + 87: [0, 0.68333, 0.08222, 0.08334, 0.98778], + 88: [0, 0.68333, 0.14643, 0.13889, 0.7133], + 89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834], + 90: [0, 0.68333, 0.07944, 0.13889, 0.72473], + 160: [0, 0, 0, 0, 0.25], + }, + "Fraktur-Regular": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69141, 0, 0, 0.29574], + 34: [0, 0.69141, 0, 0, 0.21471], + 38: [0, 0.69141, 0, 0, 0.73786], + 39: [0, 0.69141, 0, 0, 0.21201], + 40: [0.24982, 0.74947, 0, 0, 0.38865], + 41: [0.24982, 0.74947, 0, 0, 0.38865], + 42: [0, 0.62119, 0, 0, 0.27764], + 43: [0.08319, 0.58283, 0, 0, 0.75623], + 44: [0, 0.10803, 0, 0, 0.27764], + 45: [0.08319, 0.58283, 0, 0, 0.75623], + 46: [0, 0.10803, 0, 0, 0.27764], + 47: [0.24982, 0.74947, 0, 0, 0.50181], + 48: [0, 0.47534, 0, 0, 0.50181], + 49: [0, 0.47534, 0, 0, 0.50181], + 50: [0, 0.47534, 0, 0, 0.50181], + 51: [0.18906, 0.47534, 0, 0, 0.50181], + 52: [0.18906, 0.47534, 0, 0, 0.50181], + 53: [0.18906, 0.47534, 0, 0, 0.50181], + 54: [0, 0.69141, 0, 0, 0.50181], + 55: [0.18906, 0.47534, 0, 0, 0.50181], + 56: [0, 0.69141, 0, 0, 0.50181], + 57: [0.18906, 0.47534, 0, 0, 0.50181], + 58: [0, 0.47534, 0, 0, 0.21606], + 59: [0.12604, 0.47534, 0, 0, 0.21606], + 61: [-0.13099, 0.36866, 0, 0, 0.75623], + 63: [0, 0.69141, 0, 0, 0.36245], + 65: [0, 0.69141, 0, 0, 0.7176], + 66: [0, 0.69141, 0, 0, 0.88397], + 67: [0, 0.69141, 0, 0, 0.61254], + 68: [0, 0.69141, 0, 0, 0.83158], + 69: [0, 0.69141, 0, 0, 0.66278], + 70: [0.12604, 0.69141, 0, 0, 0.61119], + 71: [0, 0.69141, 0, 0, 0.78539], + 72: [0.06302, 0.69141, 0, 0, 0.7203], + 73: [0, 0.69141, 0, 0, 0.55448], + 74: [0.12604, 0.69141, 0, 0, 0.55231], + 75: [0, 0.69141, 0, 0, 0.66845], + 76: [0, 0.69141, 0, 0, 0.66602], + 77: [0, 0.69141, 0, 0, 1.04953], + 78: [0, 0.69141, 0, 0, 0.83212], + 79: [0, 0.69141, 0, 0, 0.82699], + 80: [0.18906, 0.69141, 0, 0, 0.82753], + 81: [0.03781, 0.69141, 0, 0, 0.82699], + 82: [0, 0.69141, 0, 0, 0.82807], + 83: [0, 0.69141, 0, 0, 0.82861], + 84: [0, 0.69141, 0, 0, 0.66899], + 85: [0, 0.69141, 0, 0, 0.64576], + 86: [0, 0.69141, 0, 0, 0.83131], + 87: [0, 0.69141, 0, 0, 1.04602], + 88: [0, 0.69141, 0, 0, 0.71922], + 89: [0.18906, 0.69141, 0, 0, 0.83293], + 90: [0.12604, 0.69141, 0, 0, 0.60201], + 91: [0.24982, 0.74947, 0, 0, 0.27764], + 93: [0.24982, 0.74947, 0, 0, 0.27764], + 94: [0, 0.69141, 0, 0, 0.49965], + 97: [0, 0.47534, 0, 0, 0.50046], + 98: [0, 0.69141, 0, 0, 0.51315], + 99: [0, 0.47534, 0, 0, 0.38946], + 100: [0, 0.62119, 0, 0, 0.49857], + 101: [0, 0.47534, 0, 0, 0.40053], + 102: [0.18906, 0.69141, 0, 0, 0.32626], + 103: [0.18906, 0.47534, 0, 0, 0.5037], + 104: [0.18906, 0.69141, 0, 0, 0.52126], + 105: [0, 0.69141, 0, 0, 0.27899], + 106: [0, 0.69141, 0, 0, 0.28088], + 107: [0, 0.69141, 0, 0, 0.38946], + 108: [0, 0.69141, 0, 0, 0.27953], + 109: [0, 0.47534, 0, 0, 0.76676], + 110: [0, 0.47534, 0, 0, 0.52666], + 111: [0, 0.47534, 0, 0, 0.48885], + 112: [0.18906, 0.52396, 0, 0, 0.50046], + 113: [0.18906, 0.47534, 0, 0, 0.48912], + 114: [0, 0.47534, 0, 0, 0.38919], + 115: [0, 0.47534, 0, 0, 0.44266], + 116: [0, 0.62119, 0, 0, 0.33301], + 117: [0, 0.47534, 0, 0, 0.5172], + 118: [0, 0.52396, 0, 0, 0.5118], + 119: [0, 0.52396, 0, 0, 0.77351], + 120: [0.18906, 0.47534, 0, 0, 0.38865], + 121: [0.18906, 0.47534, 0, 0, 0.49884], + 122: [0.18906, 0.47534, 0, 0, 0.39054], + 160: [0, 0, 0, 0, 0.25], + 8216: [0, 0.69141, 0, 0, 0.21471], + 8217: [0, 0.69141, 0, 0, 0.21471], + 58112: [0, 0.62119, 0, 0, 0.49749], + 58113: [0, 0.62119, 0, 0, 0.4983], + 58114: [0.18906, 0.69141, 0, 0, 0.33328], + 58115: [0.18906, 0.69141, 0, 0, 0.32923], + 58116: [0.18906, 0.47534, 0, 0, 0.50343], + 58117: [0, 0.69141, 0, 0, 0.33301], + 58118: [0, 0.62119, 0, 0, 0.33409], + 58119: [0, 0.47534, 0, 0, 0.50073], + }, + "Main-Bold": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.35], + 34: [0, 0.69444, 0, 0, 0.60278], + 35: [0.19444, 0.69444, 0, 0, 0.95833], + 36: [0.05556, 0.75, 0, 0, 0.575], + 37: [0.05556, 0.75, 0, 0, 0.95833], + 38: [0, 0.69444, 0, 0, 0.89444], + 39: [0, 0.69444, 0, 0, 0.31944], + 40: [0.25, 0.75, 0, 0, 0.44722], + 41: [0.25, 0.75, 0, 0, 0.44722], + 42: [0, 0.75, 0, 0, 0.575], + 43: [0.13333, 0.63333, 0, 0, 0.89444], + 44: [0.19444, 0.15556, 0, 0, 0.31944], + 45: [0, 0.44444, 0, 0, 0.38333], + 46: [0, 0.15556, 0, 0, 0.31944], + 47: [0.25, 0.75, 0, 0, 0.575], + 48: [0, 0.64444, 0, 0, 0.575], + 49: [0, 0.64444, 0, 0, 0.575], + 50: [0, 0.64444, 0, 0, 0.575], + 51: [0, 0.64444, 0, 0, 0.575], + 52: [0, 0.64444, 0, 0, 0.575], + 53: [0, 0.64444, 0, 0, 0.575], + 54: [0, 0.64444, 0, 0, 0.575], + 55: [0, 0.64444, 0, 0, 0.575], + 56: [0, 0.64444, 0, 0, 0.575], + 57: [0, 0.64444, 0, 0, 0.575], + 58: [0, 0.44444, 0, 0, 0.31944], + 59: [0.19444, 0.44444, 0, 0, 0.31944], + 60: [0.08556, 0.58556, 0, 0, 0.89444], + 61: [-0.10889, 0.39111, 0, 0, 0.89444], + 62: [0.08556, 0.58556, 0, 0, 0.89444], + 63: [0, 0.69444, 0, 0, 0.54305], + 64: [0, 0.69444, 0, 0, 0.89444], + 65: [0, 0.68611, 0, 0, 0.86944], + 66: [0, 0.68611, 0, 0, 0.81805], + 67: [0, 0.68611, 0, 0, 0.83055], + 68: [0, 0.68611, 0, 0, 0.88194], + 69: [0, 0.68611, 0, 0, 0.75555], + 70: [0, 0.68611, 0, 0, 0.72361], + 71: [0, 0.68611, 0, 0, 0.90416], + 72: [0, 0.68611, 0, 0, 0.9], + 73: [0, 0.68611, 0, 0, 0.43611], + 74: [0, 0.68611, 0, 0, 0.59444], + 75: [0, 0.68611, 0, 0, 0.90138], + 76: [0, 0.68611, 0, 0, 0.69166], + 77: [0, 0.68611, 0, 0, 1.09166], + 78: [0, 0.68611, 0, 0, 0.9], + 79: [0, 0.68611, 0, 0, 0.86388], + 80: [0, 0.68611, 0, 0, 0.78611], + 81: [0.19444, 0.68611, 0, 0, 0.86388], + 82: [0, 0.68611, 0, 0, 0.8625], + 83: [0, 0.68611, 0, 0, 0.63889], + 84: [0, 0.68611, 0, 0, 0.8], + 85: [0, 0.68611, 0, 0, 0.88472], + 86: [0, 0.68611, 0.01597, 0, 0.86944], + 87: [0, 0.68611, 0.01597, 0, 1.18888], + 88: [0, 0.68611, 0, 0, 0.86944], + 89: [0, 0.68611, 0.02875, 0, 0.86944], + 90: [0, 0.68611, 0, 0, 0.70277], + 91: [0.25, 0.75, 0, 0, 0.31944], + 92: [0.25, 0.75, 0, 0, 0.575], + 93: [0.25, 0.75, 0, 0, 0.31944], + 94: [0, 0.69444, 0, 0, 0.575], + 95: [0.31, 0.13444, 0.03194, 0, 0.575], + 97: [0, 0.44444, 0, 0, 0.55902], + 98: [0, 0.69444, 0, 0, 0.63889], + 99: [0, 0.44444, 0, 0, 0.51111], + 100: [0, 0.69444, 0, 0, 0.63889], + 101: [0, 0.44444, 0, 0, 0.52708], + 102: [0, 0.69444, 0.10903, 0, 0.35139], + 103: [0.19444, 0.44444, 0.01597, 0, 0.575], + 104: [0, 0.69444, 0, 0, 0.63889], + 105: [0, 0.69444, 0, 0, 0.31944], + 106: [0.19444, 0.69444, 0, 0, 0.35139], + 107: [0, 0.69444, 0, 0, 0.60694], + 108: [0, 0.69444, 0, 0, 0.31944], + 109: [0, 0.44444, 0, 0, 0.95833], + 110: [0, 0.44444, 0, 0, 0.63889], + 111: [0, 0.44444, 0, 0, 0.575], + 112: [0.19444, 0.44444, 0, 0, 0.63889], + 113: [0.19444, 0.44444, 0, 0, 0.60694], + 114: [0, 0.44444, 0, 0, 0.47361], + 115: [0, 0.44444, 0, 0, 0.45361], + 116: [0, 0.63492, 0, 0, 0.44722], + 117: [0, 0.44444, 0, 0, 0.63889], + 118: [0, 0.44444, 0.01597, 0, 0.60694], + 119: [0, 0.44444, 0.01597, 0, 0.83055], + 120: [0, 0.44444, 0, 0, 0.60694], + 121: [0.19444, 0.44444, 0.01597, 0, 0.60694], + 122: [0, 0.44444, 0, 0, 0.51111], + 123: [0.25, 0.75, 0, 0, 0.575], + 124: [0.25, 0.75, 0, 0, 0.31944], + 125: [0.25, 0.75, 0, 0, 0.575], + 126: [0.35, 0.34444, 0, 0, 0.575], + 160: [0, 0, 0, 0, 0.25], + 163: [0, 0.69444, 0, 0, 0.86853], + 168: [0, 0.69444, 0, 0, 0.575], + 172: [0, 0.44444, 0, 0, 0.76666], + 176: [0, 0.69444, 0, 0, 0.86944], + 177: [0.13333, 0.63333, 0, 0, 0.89444], + 184: [0.17014, 0, 0, 0, 0.51111], + 198: [0, 0.68611, 0, 0, 1.04166], + 215: [0.13333, 0.63333, 0, 0, 0.89444], + 216: [0.04861, 0.73472, 0, 0, 0.89444], + 223: [0, 0.69444, 0, 0, 0.59722], + 230: [0, 0.44444, 0, 0, 0.83055], + 247: [0.13333, 0.63333, 0, 0, 0.89444], + 248: [0.09722, 0.54167, 0, 0, 0.575], + 305: [0, 0.44444, 0, 0, 0.31944], + 338: [0, 0.68611, 0, 0, 1.16944], + 339: [0, 0.44444, 0, 0, 0.89444], + 567: [0.19444, 0.44444, 0, 0, 0.35139], + 710: [0, 0.69444, 0, 0, 0.575], + 711: [0, 0.63194, 0, 0, 0.575], + 713: [0, 0.59611, 0, 0, 0.575], + 714: [0, 0.69444, 0, 0, 0.575], + 715: [0, 0.69444, 0, 0, 0.575], + 728: [0, 0.69444, 0, 0, 0.575], + 729: [0, 0.69444, 0, 0, 0.31944], + 730: [0, 0.69444, 0, 0, 0.86944], + 732: [0, 0.69444, 0, 0, 0.575], + 733: [0, 0.69444, 0, 0, 0.575], + 915: [0, 0.68611, 0, 0, 0.69166], + 916: [0, 0.68611, 0, 0, 0.95833], + 920: [0, 0.68611, 0, 0, 0.89444], + 923: [0, 0.68611, 0, 0, 0.80555], + 926: [0, 0.68611, 0, 0, 0.76666], + 928: [0, 0.68611, 0, 0, 0.9], + 931: [0, 0.68611, 0, 0, 0.83055], + 933: [0, 0.68611, 0, 0, 0.89444], + 934: [0, 0.68611, 0, 0, 0.83055], + 936: [0, 0.68611, 0, 0, 0.89444], + 937: [0, 0.68611, 0, 0, 0.83055], + 8211: [0, 0.44444, 0.03194, 0, 0.575], + 8212: [0, 0.44444, 0.03194, 0, 1.14999], + 8216: [0, 0.69444, 0, 0, 0.31944], + 8217: [0, 0.69444, 0, 0, 0.31944], + 8220: [0, 0.69444, 0, 0, 0.60278], + 8221: [0, 0.69444, 0, 0, 0.60278], + 8224: [0.19444, 0.69444, 0, 0, 0.51111], + 8225: [0.19444, 0.69444, 0, 0, 0.51111], + 8242: [0, 0.55556, 0, 0, 0.34444], + 8407: [0, 0.72444, 0.15486, 0, 0.575], + 8463: [0, 0.69444, 0, 0, 0.66759], + 8465: [0, 0.69444, 0, 0, 0.83055], + 8467: [0, 0.69444, 0, 0, 0.47361], + 8472: [0.19444, 0.44444, 0, 0, 0.74027], + 8476: [0, 0.69444, 0, 0, 0.83055], + 8501: [0, 0.69444, 0, 0, 0.70277], + 8592: [-0.10889, 0.39111, 0, 0, 1.14999], + 8593: [0.19444, 0.69444, 0, 0, 0.575], + 8594: [-0.10889, 0.39111, 0, 0, 1.14999], + 8595: [0.19444, 0.69444, 0, 0, 0.575], + 8596: [-0.10889, 0.39111, 0, 0, 1.14999], + 8597: [0.25, 0.75, 0, 0, 0.575], + 8598: [0.19444, 0.69444, 0, 0, 1.14999], + 8599: [0.19444, 0.69444, 0, 0, 1.14999], + 8600: [0.19444, 0.69444, 0, 0, 1.14999], + 8601: [0.19444, 0.69444, 0, 0, 1.14999], + 8636: [-0.10889, 0.39111, 0, 0, 1.14999], + 8637: [-0.10889, 0.39111, 0, 0, 1.14999], + 8640: [-0.10889, 0.39111, 0, 0, 1.14999], + 8641: [-0.10889, 0.39111, 0, 0, 1.14999], + 8656: [-0.10889, 0.39111, 0, 0, 1.14999], + 8657: [0.19444, 0.69444, 0, 0, 0.70277], + 8658: [-0.10889, 0.39111, 0, 0, 1.14999], + 8659: [0.19444, 0.69444, 0, 0, 0.70277], + 8660: [-0.10889, 0.39111, 0, 0, 1.14999], + 8661: [0.25, 0.75, 0, 0, 0.70277], + 8704: [0, 0.69444, 0, 0, 0.63889], + 8706: [0, 0.69444, 0.06389, 0, 0.62847], + 8707: [0, 0.69444, 0, 0, 0.63889], + 8709: [0.05556, 0.75, 0, 0, 0.575], + 8711: [0, 0.68611, 0, 0, 0.95833], + 8712: [0.08556, 0.58556, 0, 0, 0.76666], + 8715: [0.08556, 0.58556, 0, 0, 0.76666], + 8722: [0.13333, 0.63333, 0, 0, 0.89444], + 8723: [0.13333, 0.63333, 0, 0, 0.89444], + 8725: [0.25, 0.75, 0, 0, 0.575], + 8726: [0.25, 0.75, 0, 0, 0.575], + 8727: [-0.02778, 0.47222, 0, 0, 0.575], + 8728: [-0.02639, 0.47361, 0, 0, 0.575], + 8729: [-0.02639, 0.47361, 0, 0, 0.575], + 8730: [0.18, 0.82, 0, 0, 0.95833], + 8733: [0, 0.44444, 0, 0, 0.89444], + 8734: [0, 0.44444, 0, 0, 1.14999], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8739: [0.25, 0.75, 0, 0, 0.31944], + 8741: [0.25, 0.75, 0, 0, 0.575], + 8743: [0, 0.55556, 0, 0, 0.76666], + 8744: [0, 0.55556, 0, 0, 0.76666], + 8745: [0, 0.55556, 0, 0, 0.76666], + 8746: [0, 0.55556, 0, 0, 0.76666], + 8747: [0.19444, 0.69444, 0.12778, 0, 0.56875], + 8764: [-0.10889, 0.39111, 0, 0, 0.89444], + 8768: [0.19444, 0.69444, 0, 0, 0.31944], + 8771: [0.00222, 0.50222, 0, 0, 0.89444], + 8773: [0.027, 0.638, 0, 0, 0.894], + 8776: [0.02444, 0.52444, 0, 0, 0.89444], + 8781: [0.00222, 0.50222, 0, 0, 0.89444], + 8801: [0.00222, 0.50222, 0, 0, 0.89444], + 8804: [0.19667, 0.69667, 0, 0, 0.89444], + 8805: [0.19667, 0.69667, 0, 0, 0.89444], + 8810: [0.08556, 0.58556, 0, 0, 1.14999], + 8811: [0.08556, 0.58556, 0, 0, 1.14999], + 8826: [0.08556, 0.58556, 0, 0, 0.89444], + 8827: [0.08556, 0.58556, 0, 0, 0.89444], + 8834: [0.08556, 0.58556, 0, 0, 0.89444], + 8835: [0.08556, 0.58556, 0, 0, 0.89444], + 8838: [0.19667, 0.69667, 0, 0, 0.89444], + 8839: [0.19667, 0.69667, 0, 0, 0.89444], + 8846: [0, 0.55556, 0, 0, 0.76666], + 8849: [0.19667, 0.69667, 0, 0, 0.89444], + 8850: [0.19667, 0.69667, 0, 0, 0.89444], + 8851: [0, 0.55556, 0, 0, 0.76666], + 8852: [0, 0.55556, 0, 0, 0.76666], + 8853: [0.13333, 0.63333, 0, 0, 0.89444], + 8854: [0.13333, 0.63333, 0, 0, 0.89444], + 8855: [0.13333, 0.63333, 0, 0, 0.89444], + 8856: [0.13333, 0.63333, 0, 0, 0.89444], + 8857: [0.13333, 0.63333, 0, 0, 0.89444], + 8866: [0, 0.69444, 0, 0, 0.70277], + 8867: [0, 0.69444, 0, 0, 0.70277], + 8868: [0, 0.69444, 0, 0, 0.89444], + 8869: [0, 0.69444, 0, 0, 0.89444], + 8900: [-0.02639, 0.47361, 0, 0, 0.575], + 8901: [-0.02639, 0.47361, 0, 0, 0.31944], + 8902: [-0.02778, 0.47222, 0, 0, 0.575], + 8968: [0.25, 0.75, 0, 0, 0.51111], + 8969: [0.25, 0.75, 0, 0, 0.51111], + 8970: [0.25, 0.75, 0, 0, 0.51111], + 8971: [0.25, 0.75, 0, 0, 0.51111], + 8994: [-0.13889, 0.36111, 0, 0, 1.14999], + 8995: [-0.13889, 0.36111, 0, 0, 1.14999], + 9651: [0.19444, 0.69444, 0, 0, 1.02222], + 9657: [-0.02778, 0.47222, 0, 0, 0.575], + 9661: [0.19444, 0.69444, 0, 0, 1.02222], + 9667: [-0.02778, 0.47222, 0, 0, 0.575], + 9711: [0.19444, 0.69444, 0, 0, 1.14999], + 9824: [0.12963, 0.69444, 0, 0, 0.89444], + 9825: [0.12963, 0.69444, 0, 0, 0.89444], + 9826: [0.12963, 0.69444, 0, 0, 0.89444], + 9827: [0.12963, 0.69444, 0, 0, 0.89444], + 9837: [0, 0.75, 0, 0, 0.44722], + 9838: [0.19444, 0.69444, 0, 0, 0.44722], + 9839: [0.19444, 0.69444, 0, 0, 0.44722], + 10216: [0.25, 0.75, 0, 0, 0.44722], + 10217: [0.25, 0.75, 0, 0, 0.44722], + 10815: [0, 0.68611, 0, 0, 0.9], + 10927: [0.19667, 0.69667, 0, 0, 0.89444], + 10928: [0.19667, 0.69667, 0, 0, 0.89444], + 57376: [0.19444, 0.69444, 0, 0, 0], + }, + "Main-BoldItalic": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.11417, 0, 0.38611], + 34: [0, 0.69444, 0.07939, 0, 0.62055], + 35: [0.19444, 0.69444, 0.06833, 0, 0.94444], + 37: [0.05556, 0.75, 0.12861, 0, 0.94444], + 38: [0, 0.69444, 0.08528, 0, 0.88555], + 39: [0, 0.69444, 0.12945, 0, 0.35555], + 40: [0.25, 0.75, 0.15806, 0, 0.47333], + 41: [0.25, 0.75, 0.03306, 0, 0.47333], + 42: [0, 0.75, 0.14333, 0, 0.59111], + 43: [0.10333, 0.60333, 0.03306, 0, 0.88555], + 44: [0.19444, 0.14722, 0, 0, 0.35555], + 45: [0, 0.44444, 0.02611, 0, 0.41444], + 46: [0, 0.14722, 0, 0, 0.35555], + 47: [0.25, 0.75, 0.15806, 0, 0.59111], + 48: [0, 0.64444, 0.13167, 0, 0.59111], + 49: [0, 0.64444, 0.13167, 0, 0.59111], + 50: [0, 0.64444, 0.13167, 0, 0.59111], + 51: [0, 0.64444, 0.13167, 0, 0.59111], + 52: [0.19444, 0.64444, 0.13167, 0, 0.59111], + 53: [0, 0.64444, 0.13167, 0, 0.59111], + 54: [0, 0.64444, 0.13167, 0, 0.59111], + 55: [0.19444, 0.64444, 0.13167, 0, 0.59111], + 56: [0, 0.64444, 0.13167, 0, 0.59111], + 57: [0, 0.64444, 0.13167, 0, 0.59111], + 58: [0, 0.44444, 0.06695, 0, 0.35555], + 59: [0.19444, 0.44444, 0.06695, 0, 0.35555], + 61: [-0.10889, 0.39111, 0.06833, 0, 0.88555], + 63: [0, 0.69444, 0.11472, 0, 0.59111], + 64: [0, 0.69444, 0.09208, 0, 0.88555], + 65: [0, 0.68611, 0, 0, 0.86555], + 66: [0, 0.68611, 0.0992, 0, 0.81666], + 67: [0, 0.68611, 0.14208, 0, 0.82666], + 68: [0, 0.68611, 0.09062, 0, 0.87555], + 69: [0, 0.68611, 0.11431, 0, 0.75666], + 70: [0, 0.68611, 0.12903, 0, 0.72722], + 71: [0, 0.68611, 0.07347, 0, 0.89527], + 72: [0, 0.68611, 0.17208, 0, 0.8961], + 73: [0, 0.68611, 0.15681, 0, 0.47166], + 74: [0, 0.68611, 0.145, 0, 0.61055], + 75: [0, 0.68611, 0.14208, 0, 0.89499], + 76: [0, 0.68611, 0, 0, 0.69777], + 77: [0, 0.68611, 0.17208, 0, 1.07277], + 78: [0, 0.68611, 0.17208, 0, 0.8961], + 79: [0, 0.68611, 0.09062, 0, 0.85499], + 80: [0, 0.68611, 0.0992, 0, 0.78721], + 81: [0.19444, 0.68611, 0.09062, 0, 0.85499], + 82: [0, 0.68611, 0.02559, 0, 0.85944], + 83: [0, 0.68611, 0.11264, 0, 0.64999], + 84: [0, 0.68611, 0.12903, 0, 0.7961], + 85: [0, 0.68611, 0.17208, 0, 0.88083], + 86: [0, 0.68611, 0.18625, 0, 0.86555], + 87: [0, 0.68611, 0.18625, 0, 1.15999], + 88: [0, 0.68611, 0.15681, 0, 0.86555], + 89: [0, 0.68611, 0.19803, 0, 0.86555], + 90: [0, 0.68611, 0.14208, 0, 0.70888], + 91: [0.25, 0.75, 0.1875, 0, 0.35611], + 93: [0.25, 0.75, 0.09972, 0, 0.35611], + 94: [0, 0.69444, 0.06709, 0, 0.59111], + 95: [0.31, 0.13444, 0.09811, 0, 0.59111], + 97: [0, 0.44444, 0.09426, 0, 0.59111], + 98: [0, 0.69444, 0.07861, 0, 0.53222], + 99: [0, 0.44444, 0.05222, 0, 0.53222], + 100: [0, 0.69444, 0.10861, 0, 0.59111], + 101: [0, 0.44444, 0.085, 0, 0.53222], + 102: [0.19444, 0.69444, 0.21778, 0, 0.4], + 103: [0.19444, 0.44444, 0.105, 0, 0.53222], + 104: [0, 0.69444, 0.09426, 0, 0.59111], + 105: [0, 0.69326, 0.11387, 0, 0.35555], + 106: [0.19444, 0.69326, 0.1672, 0, 0.35555], + 107: [0, 0.69444, 0.11111, 0, 0.53222], + 108: [0, 0.69444, 0.10861, 0, 0.29666], + 109: [0, 0.44444, 0.09426, 0, 0.94444], + 110: [0, 0.44444, 0.09426, 0, 0.64999], + 111: [0, 0.44444, 0.07861, 0, 0.59111], + 112: [0.19444, 0.44444, 0.07861, 0, 0.59111], + 113: [0.19444, 0.44444, 0.105, 0, 0.53222], + 114: [0, 0.44444, 0.11111, 0, 0.50167], + 115: [0, 0.44444, 0.08167, 0, 0.48694], + 116: [0, 0.63492, 0.09639, 0, 0.385], + 117: [0, 0.44444, 0.09426, 0, 0.62055], + 118: [0, 0.44444, 0.11111, 0, 0.53222], + 119: [0, 0.44444, 0.11111, 0, 0.76777], + 120: [0, 0.44444, 0.12583, 0, 0.56055], + 121: [0.19444, 0.44444, 0.105, 0, 0.56166], + 122: [0, 0.44444, 0.13889, 0, 0.49055], + 126: [0.35, 0.34444, 0.11472, 0, 0.59111], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.69444, 0.11473, 0, 0.59111], + 176: [0, 0.69444, 0, 0, 0.94888], + 184: [0.17014, 0, 0, 0, 0.53222], + 198: [0, 0.68611, 0.11431, 0, 1.02277], + 216: [0.04861, 0.73472, 0.09062, 0, 0.88555], + 223: [0.19444, 0.69444, 0.09736, 0, 0.665], + 230: [0, 0.44444, 0.085, 0, 0.82666], + 248: [0.09722, 0.54167, 0.09458, 0, 0.59111], + 305: [0, 0.44444, 0.09426, 0, 0.35555], + 338: [0, 0.68611, 0.11431, 0, 1.14054], + 339: [0, 0.44444, 0.085, 0, 0.82666], + 567: [0.19444, 0.44444, 0.04611, 0, 0.385], + 710: [0, 0.69444, 0.06709, 0, 0.59111], + 711: [0, 0.63194, 0.08271, 0, 0.59111], + 713: [0, 0.59444, 0.10444, 0, 0.59111], + 714: [0, 0.69444, 0.08528, 0, 0.59111], + 715: [0, 0.69444, 0, 0, 0.59111], + 728: [0, 0.69444, 0.10333, 0, 0.59111], + 729: [0, 0.69444, 0.12945, 0, 0.35555], + 730: [0, 0.69444, 0, 0, 0.94888], + 732: [0, 0.69444, 0.11472, 0, 0.59111], + 733: [0, 0.69444, 0.11472, 0, 0.59111], + 915: [0, 0.68611, 0.12903, 0, 0.69777], + 916: [0, 0.68611, 0, 0, 0.94444], + 920: [0, 0.68611, 0.09062, 0, 0.88555], + 923: [0, 0.68611, 0, 0, 0.80666], + 926: [0, 0.68611, 0.15092, 0, 0.76777], + 928: [0, 0.68611, 0.17208, 0, 0.8961], + 931: [0, 0.68611, 0.11431, 0, 0.82666], + 933: [0, 0.68611, 0.10778, 0, 0.88555], + 934: [0, 0.68611, 0.05632, 0, 0.82666], + 936: [0, 0.68611, 0.10778, 0, 0.88555], + 937: [0, 0.68611, 0.0992, 0, 0.82666], + 8211: [0, 0.44444, 0.09811, 0, 0.59111], + 8212: [0, 0.44444, 0.09811, 0, 1.18221], + 8216: [0, 0.69444, 0.12945, 0, 0.35555], + 8217: [0, 0.69444, 0.12945, 0, 0.35555], + 8220: [0, 0.69444, 0.16772, 0, 0.62055], + 8221: [0, 0.69444, 0.07939, 0, 0.62055], + }, + "Main-Italic": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.12417, 0, 0.30667], + 34: [0, 0.69444, 0.06961, 0, 0.51444], + 35: [0.19444, 0.69444, 0.06616, 0, 0.81777], + 37: [0.05556, 0.75, 0.13639, 0, 0.81777], + 38: [0, 0.69444, 0.09694, 0, 0.76666], + 39: [0, 0.69444, 0.12417, 0, 0.30667], + 40: [0.25, 0.75, 0.16194, 0, 0.40889], + 41: [0.25, 0.75, 0.03694, 0, 0.40889], + 42: [0, 0.75, 0.14917, 0, 0.51111], + 43: [0.05667, 0.56167, 0.03694, 0, 0.76666], + 44: [0.19444, 0.10556, 0, 0, 0.30667], + 45: [0, 0.43056, 0.02826, 0, 0.35778], + 46: [0, 0.10556, 0, 0, 0.30667], + 47: [0.25, 0.75, 0.16194, 0, 0.51111], + 48: [0, 0.64444, 0.13556, 0, 0.51111], + 49: [0, 0.64444, 0.13556, 0, 0.51111], + 50: [0, 0.64444, 0.13556, 0, 0.51111], + 51: [0, 0.64444, 0.13556, 0, 0.51111], + 52: [0.19444, 0.64444, 0.13556, 0, 0.51111], + 53: [0, 0.64444, 0.13556, 0, 0.51111], + 54: [0, 0.64444, 0.13556, 0, 0.51111], + 55: [0.19444, 0.64444, 0.13556, 0, 0.51111], + 56: [0, 0.64444, 0.13556, 0, 0.51111], + 57: [0, 0.64444, 0.13556, 0, 0.51111], + 58: [0, 0.43056, 0.0582, 0, 0.30667], + 59: [0.19444, 0.43056, 0.0582, 0, 0.30667], + 61: [-0.13313, 0.36687, 0.06616, 0, 0.76666], + 63: [0, 0.69444, 0.1225, 0, 0.51111], + 64: [0, 0.69444, 0.09597, 0, 0.76666], + 65: [0, 0.68333, 0, 0, 0.74333], + 66: [0, 0.68333, 0.10257, 0, 0.70389], + 67: [0, 0.68333, 0.14528, 0, 0.71555], + 68: [0, 0.68333, 0.09403, 0, 0.755], + 69: [0, 0.68333, 0.12028, 0, 0.67833], + 70: [0, 0.68333, 0.13305, 0, 0.65277], + 71: [0, 0.68333, 0.08722, 0, 0.77361], + 72: [0, 0.68333, 0.16389, 0, 0.74333], + 73: [0, 0.68333, 0.15806, 0, 0.38555], + 74: [0, 0.68333, 0.14028, 0, 0.525], + 75: [0, 0.68333, 0.14528, 0, 0.76888], + 76: [0, 0.68333, 0, 0, 0.62722], + 77: [0, 0.68333, 0.16389, 0, 0.89666], + 78: [0, 0.68333, 0.16389, 0, 0.74333], + 79: [0, 0.68333, 0.09403, 0, 0.76666], + 80: [0, 0.68333, 0.10257, 0, 0.67833], + 81: [0.19444, 0.68333, 0.09403, 0, 0.76666], + 82: [0, 0.68333, 0.03868, 0, 0.72944], + 83: [0, 0.68333, 0.11972, 0, 0.56222], + 84: [0, 0.68333, 0.13305, 0, 0.71555], + 85: [0, 0.68333, 0.16389, 0, 0.74333], + 86: [0, 0.68333, 0.18361, 0, 0.74333], + 87: [0, 0.68333, 0.18361, 0, 0.99888], + 88: [0, 0.68333, 0.15806, 0, 0.74333], + 89: [0, 0.68333, 0.19383, 0, 0.74333], + 90: [0, 0.68333, 0.14528, 0, 0.61333], + 91: [0.25, 0.75, 0.1875, 0, 0.30667], + 93: [0.25, 0.75, 0.10528, 0, 0.30667], + 94: [0, 0.69444, 0.06646, 0, 0.51111], + 95: [0.31, 0.12056, 0.09208, 0, 0.51111], + 97: [0, 0.43056, 0.07671, 0, 0.51111], + 98: [0, 0.69444, 0.06312, 0, 0.46], + 99: [0, 0.43056, 0.05653, 0, 0.46], + 100: [0, 0.69444, 0.10333, 0, 0.51111], + 101: [0, 0.43056, 0.07514, 0, 0.46], + 102: [0.19444, 0.69444, 0.21194, 0, 0.30667], + 103: [0.19444, 0.43056, 0.08847, 0, 0.46], + 104: [0, 0.69444, 0.07671, 0, 0.51111], + 105: [0, 0.65536, 0.1019, 0, 0.30667], + 106: [0.19444, 0.65536, 0.14467, 0, 0.30667], + 107: [0, 0.69444, 0.10764, 0, 0.46], + 108: [0, 0.69444, 0.10333, 0, 0.25555], + 109: [0, 0.43056, 0.07671, 0, 0.81777], + 110: [0, 0.43056, 0.07671, 0, 0.56222], + 111: [0, 0.43056, 0.06312, 0, 0.51111], + 112: [0.19444, 0.43056, 0.06312, 0, 0.51111], + 113: [0.19444, 0.43056, 0.08847, 0, 0.46], + 114: [0, 0.43056, 0.10764, 0, 0.42166], + 115: [0, 0.43056, 0.08208, 0, 0.40889], + 116: [0, 0.61508, 0.09486, 0, 0.33222], + 117: [0, 0.43056, 0.07671, 0, 0.53666], + 118: [0, 0.43056, 0.10764, 0, 0.46], + 119: [0, 0.43056, 0.10764, 0, 0.66444], + 120: [0, 0.43056, 0.12042, 0, 0.46389], + 121: [0.19444, 0.43056, 0.08847, 0, 0.48555], + 122: [0, 0.43056, 0.12292, 0, 0.40889], + 126: [0.35, 0.31786, 0.11585, 0, 0.51111], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.66786, 0.10474, 0, 0.51111], + 176: [0, 0.69444, 0, 0, 0.83129], + 184: [0.17014, 0, 0, 0, 0.46], + 198: [0, 0.68333, 0.12028, 0, 0.88277], + 216: [0.04861, 0.73194, 0.09403, 0, 0.76666], + 223: [0.19444, 0.69444, 0.10514, 0, 0.53666], + 230: [0, 0.43056, 0.07514, 0, 0.71555], + 248: [0.09722, 0.52778, 0.09194, 0, 0.51111], + 338: [0, 0.68333, 0.12028, 0, 0.98499], + 339: [0, 0.43056, 0.07514, 0, 0.71555], + 710: [0, 0.69444, 0.06646, 0, 0.51111], + 711: [0, 0.62847, 0.08295, 0, 0.51111], + 713: [0, 0.56167, 0.10333, 0, 0.51111], + 714: [0, 0.69444, 0.09694, 0, 0.51111], + 715: [0, 0.69444, 0, 0, 0.51111], + 728: [0, 0.69444, 0.10806, 0, 0.51111], + 729: [0, 0.66786, 0.11752, 0, 0.30667], + 730: [0, 0.69444, 0, 0, 0.83129], + 732: [0, 0.66786, 0.11585, 0, 0.51111], + 733: [0, 0.69444, 0.1225, 0, 0.51111], + 915: [0, 0.68333, 0.13305, 0, 0.62722], + 916: [0, 0.68333, 0, 0, 0.81777], + 920: [0, 0.68333, 0.09403, 0, 0.76666], + 923: [0, 0.68333, 0, 0, 0.69222], + 926: [0, 0.68333, 0.15294, 0, 0.66444], + 928: [0, 0.68333, 0.16389, 0, 0.74333], + 931: [0, 0.68333, 0.12028, 0, 0.71555], + 933: [0, 0.68333, 0.11111, 0, 0.76666], + 934: [0, 0.68333, 0.05986, 0, 0.71555], + 936: [0, 0.68333, 0.11111, 0, 0.76666], + 937: [0, 0.68333, 0.10257, 0, 0.71555], + 8211: [0, 0.43056, 0.09208, 0, 0.51111], + 8212: [0, 0.43056, 0.09208, 0, 1.02222], + 8216: [0, 0.69444, 0.12417, 0, 0.30667], + 8217: [0, 0.69444, 0.12417, 0, 0.30667], + 8220: [0, 0.69444, 0.1685, 0, 0.51444], + 8221: [0, 0.69444, 0.06961, 0, 0.51444], + 8463: [0, 0.68889, 0, 0, 0.54028], + }, + "Main-Regular": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.27778], + 34: [0, 0.69444, 0, 0, 0.5], + 35: [0.19444, 0.69444, 0, 0, 0.83334], + 36: [0.05556, 0.75, 0, 0, 0.5], + 37: [0.05556, 0.75, 0, 0, 0.83334], + 38: [0, 0.69444, 0, 0, 0.77778], + 39: [0, 0.69444, 0, 0, 0.27778], + 40: [0.25, 0.75, 0, 0, 0.38889], + 41: [0.25, 0.75, 0, 0, 0.38889], + 42: [0, 0.75, 0, 0, 0.5], + 43: [0.08333, 0.58333, 0, 0, 0.77778], + 44: [0.19444, 0.10556, 0, 0, 0.27778], + 45: [0, 0.43056, 0, 0, 0.33333], + 46: [0, 0.10556, 0, 0, 0.27778], + 47: [0.25, 0.75, 0, 0, 0.5], + 48: [0, 0.64444, 0, 0, 0.5], + 49: [0, 0.64444, 0, 0, 0.5], + 50: [0, 0.64444, 0, 0, 0.5], + 51: [0, 0.64444, 0, 0, 0.5], + 52: [0, 0.64444, 0, 0, 0.5], + 53: [0, 0.64444, 0, 0, 0.5], + 54: [0, 0.64444, 0, 0, 0.5], + 55: [0, 0.64444, 0, 0, 0.5], + 56: [0, 0.64444, 0, 0, 0.5], + 57: [0, 0.64444, 0, 0, 0.5], + 58: [0, 0.43056, 0, 0, 0.27778], + 59: [0.19444, 0.43056, 0, 0, 0.27778], + 60: [0.0391, 0.5391, 0, 0, 0.77778], + 61: [-0.13313, 0.36687, 0, 0, 0.77778], + 62: [0.0391, 0.5391, 0, 0, 0.77778], + 63: [0, 0.69444, 0, 0, 0.47222], + 64: [0, 0.69444, 0, 0, 0.77778], + 65: [0, 0.68333, 0, 0, 0.75], + 66: [0, 0.68333, 0, 0, 0.70834], + 67: [0, 0.68333, 0, 0, 0.72222], + 68: [0, 0.68333, 0, 0, 0.76389], + 69: [0, 0.68333, 0, 0, 0.68056], + 70: [0, 0.68333, 0, 0, 0.65278], + 71: [0, 0.68333, 0, 0, 0.78472], + 72: [0, 0.68333, 0, 0, 0.75], + 73: [0, 0.68333, 0, 0, 0.36111], + 74: [0, 0.68333, 0, 0, 0.51389], + 75: [0, 0.68333, 0, 0, 0.77778], + 76: [0, 0.68333, 0, 0, 0.625], + 77: [0, 0.68333, 0, 0, 0.91667], + 78: [0, 0.68333, 0, 0, 0.75], + 79: [0, 0.68333, 0, 0, 0.77778], + 80: [0, 0.68333, 0, 0, 0.68056], + 81: [0.19444, 0.68333, 0, 0, 0.77778], + 82: [0, 0.68333, 0, 0, 0.73611], + 83: [0, 0.68333, 0, 0, 0.55556], + 84: [0, 0.68333, 0, 0, 0.72222], + 85: [0, 0.68333, 0, 0, 0.75], + 86: [0, 0.68333, 0.01389, 0, 0.75], + 87: [0, 0.68333, 0.01389, 0, 1.02778], + 88: [0, 0.68333, 0, 0, 0.75], + 89: [0, 0.68333, 0.025, 0, 0.75], + 90: [0, 0.68333, 0, 0, 0.61111], + 91: [0.25, 0.75, 0, 0, 0.27778], + 92: [0.25, 0.75, 0, 0, 0.5], + 93: [0.25, 0.75, 0, 0, 0.27778], + 94: [0, 0.69444, 0, 0, 0.5], + 95: [0.31, 0.12056, 0.02778, 0, 0.5], + 97: [0, 0.43056, 0, 0, 0.5], + 98: [0, 0.69444, 0, 0, 0.55556], + 99: [0, 0.43056, 0, 0, 0.44445], + 100: [0, 0.69444, 0, 0, 0.55556], + 101: [0, 0.43056, 0, 0, 0.44445], + 102: [0, 0.69444, 0.07778, 0, 0.30556], + 103: [0.19444, 0.43056, 0.01389, 0, 0.5], + 104: [0, 0.69444, 0, 0, 0.55556], + 105: [0, 0.66786, 0, 0, 0.27778], + 106: [0.19444, 0.66786, 0, 0, 0.30556], + 107: [0, 0.69444, 0, 0, 0.52778], + 108: [0, 0.69444, 0, 0, 0.27778], + 109: [0, 0.43056, 0, 0, 0.83334], + 110: [0, 0.43056, 0, 0, 0.55556], + 111: [0, 0.43056, 0, 0, 0.5], + 112: [0.19444, 0.43056, 0, 0, 0.55556], + 113: [0.19444, 0.43056, 0, 0, 0.52778], + 114: [0, 0.43056, 0, 0, 0.39167], + 115: [0, 0.43056, 0, 0, 0.39445], + 116: [0, 0.61508, 0, 0, 0.38889], + 117: [0, 0.43056, 0, 0, 0.55556], + 118: [0, 0.43056, 0.01389, 0, 0.52778], + 119: [0, 0.43056, 0.01389, 0, 0.72222], + 120: [0, 0.43056, 0, 0, 0.52778], + 121: [0.19444, 0.43056, 0.01389, 0, 0.52778], + 122: [0, 0.43056, 0, 0, 0.44445], + 123: [0.25, 0.75, 0, 0, 0.5], + 124: [0.25, 0.75, 0, 0, 0.27778], + 125: [0.25, 0.75, 0, 0, 0.5], + 126: [0.35, 0.31786, 0, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 163: [0, 0.69444, 0, 0, 0.76909], + 167: [0.19444, 0.69444, 0, 0, 0.44445], + 168: [0, 0.66786, 0, 0, 0.5], + 172: [0, 0.43056, 0, 0, 0.66667], + 176: [0, 0.69444, 0, 0, 0.75], + 177: [0.08333, 0.58333, 0, 0, 0.77778], + 182: [0.19444, 0.69444, 0, 0, 0.61111], + 184: [0.17014, 0, 0, 0, 0.44445], + 198: [0, 0.68333, 0, 0, 0.90278], + 215: [0.08333, 0.58333, 0, 0, 0.77778], + 216: [0.04861, 0.73194, 0, 0, 0.77778], + 223: [0, 0.69444, 0, 0, 0.5], + 230: [0, 0.43056, 0, 0, 0.72222], + 247: [0.08333, 0.58333, 0, 0, 0.77778], + 248: [0.09722, 0.52778, 0, 0, 0.5], + 305: [0, 0.43056, 0, 0, 0.27778], + 338: [0, 0.68333, 0, 0, 1.01389], + 339: [0, 0.43056, 0, 0, 0.77778], + 567: [0.19444, 0.43056, 0, 0, 0.30556], + 710: [0, 0.69444, 0, 0, 0.5], + 711: [0, 0.62847, 0, 0, 0.5], + 713: [0, 0.56778, 0, 0, 0.5], + 714: [0, 0.69444, 0, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0, 0, 0.5], + 729: [0, 0.66786, 0, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.75], + 732: [0, 0.66786, 0, 0, 0.5], + 733: [0, 0.69444, 0, 0, 0.5], + 915: [0, 0.68333, 0, 0, 0.625], + 916: [0, 0.68333, 0, 0, 0.83334], + 920: [0, 0.68333, 0, 0, 0.77778], + 923: [0, 0.68333, 0, 0, 0.69445], + 926: [0, 0.68333, 0, 0, 0.66667], + 928: [0, 0.68333, 0, 0, 0.75], + 931: [0, 0.68333, 0, 0, 0.72222], + 933: [0, 0.68333, 0, 0, 0.77778], + 934: [0, 0.68333, 0, 0, 0.72222], + 936: [0, 0.68333, 0, 0, 0.77778], + 937: [0, 0.68333, 0, 0, 0.72222], + 8211: [0, 0.43056, 0.02778, 0, 0.5], + 8212: [0, 0.43056, 0.02778, 0, 1], + 8216: [0, 0.69444, 0, 0, 0.27778], + 8217: [0, 0.69444, 0, 0, 0.27778], + 8220: [0, 0.69444, 0, 0, 0.5], + 8221: [0, 0.69444, 0, 0, 0.5], + 8224: [0.19444, 0.69444, 0, 0, 0.44445], + 8225: [0.19444, 0.69444, 0, 0, 0.44445], + 8230: [0, 0.123, 0, 0, 1.172], + 8242: [0, 0.55556, 0, 0, 0.275], + 8407: [0, 0.71444, 0.15382, 0, 0.5], + 8463: [0, 0.68889, 0, 0, 0.54028], + 8465: [0, 0.69444, 0, 0, 0.72222], + 8467: [0, 0.69444, 0, 0.11111, 0.41667], + 8472: [0.19444, 0.43056, 0, 0.11111, 0.63646], + 8476: [0, 0.69444, 0, 0, 0.72222], + 8501: [0, 0.69444, 0, 0, 0.61111], + 8592: [-0.13313, 0.36687, 0, 0, 1], + 8593: [0.19444, 0.69444, 0, 0, 0.5], + 8594: [-0.13313, 0.36687, 0, 0, 1], + 8595: [0.19444, 0.69444, 0, 0, 0.5], + 8596: [-0.13313, 0.36687, 0, 0, 1], + 8597: [0.25, 0.75, 0, 0, 0.5], + 8598: [0.19444, 0.69444, 0, 0, 1], + 8599: [0.19444, 0.69444, 0, 0, 1], + 8600: [0.19444, 0.69444, 0, 0, 1], + 8601: [0.19444, 0.69444, 0, 0, 1], + 8614: [0.011, 0.511, 0, 0, 1], + 8617: [0.011, 0.511, 0, 0, 1.126], + 8618: [0.011, 0.511, 0, 0, 1.126], + 8636: [-0.13313, 0.36687, 0, 0, 1], + 8637: [-0.13313, 0.36687, 0, 0, 1], + 8640: [-0.13313, 0.36687, 0, 0, 1], + 8641: [-0.13313, 0.36687, 0, 0, 1], + 8652: [0.011, 0.671, 0, 0, 1], + 8656: [-0.13313, 0.36687, 0, 0, 1], + 8657: [0.19444, 0.69444, 0, 0, 0.61111], + 8658: [-0.13313, 0.36687, 0, 0, 1], + 8659: [0.19444, 0.69444, 0, 0, 0.61111], + 8660: [-0.13313, 0.36687, 0, 0, 1], + 8661: [0.25, 0.75, 0, 0, 0.61111], + 8704: [0, 0.69444, 0, 0, 0.55556], + 8706: [0, 0.69444, 0.05556, 0.08334, 0.5309], + 8707: [0, 0.69444, 0, 0, 0.55556], + 8709: [0.05556, 0.75, 0, 0, 0.5], + 8711: [0, 0.68333, 0, 0, 0.83334], + 8712: [0.0391, 0.5391, 0, 0, 0.66667], + 8715: [0.0391, 0.5391, 0, 0, 0.66667], + 8722: [0.08333, 0.58333, 0, 0, 0.77778], + 8723: [0.08333, 0.58333, 0, 0, 0.77778], + 8725: [0.25, 0.75, 0, 0, 0.5], + 8726: [0.25, 0.75, 0, 0, 0.5], + 8727: [-0.03472, 0.46528, 0, 0, 0.5], + 8728: [-0.05555, 0.44445, 0, 0, 0.5], + 8729: [-0.05555, 0.44445, 0, 0, 0.5], + 8730: [0.2, 0.8, 0, 0, 0.83334], + 8733: [0, 0.43056, 0, 0, 0.77778], + 8734: [0, 0.43056, 0, 0, 1], + 8736: [0, 0.69224, 0, 0, 0.72222], + 8739: [0.25, 0.75, 0, 0, 0.27778], + 8741: [0.25, 0.75, 0, 0, 0.5], + 8743: [0, 0.55556, 0, 0, 0.66667], + 8744: [0, 0.55556, 0, 0, 0.66667], + 8745: [0, 0.55556, 0, 0, 0.66667], + 8746: [0, 0.55556, 0, 0, 0.66667], + 8747: [0.19444, 0.69444, 0.11111, 0, 0.41667], + 8764: [-0.13313, 0.36687, 0, 0, 0.77778], + 8768: [0.19444, 0.69444, 0, 0, 0.27778], + 8771: [-0.03625, 0.46375, 0, 0, 0.77778], + 8773: [-0.022, 0.589, 0, 0, 0.778], + 8776: [-0.01688, 0.48312, 0, 0, 0.77778], + 8781: [-0.03625, 0.46375, 0, 0, 0.77778], + 8784: [-0.133, 0.673, 0, 0, 0.778], + 8801: [-0.03625, 0.46375, 0, 0, 0.77778], + 8804: [0.13597, 0.63597, 0, 0, 0.77778], + 8805: [0.13597, 0.63597, 0, 0, 0.77778], + 8810: [0.0391, 0.5391, 0, 0, 1], + 8811: [0.0391, 0.5391, 0, 0, 1], + 8826: [0.0391, 0.5391, 0, 0, 0.77778], + 8827: [0.0391, 0.5391, 0, 0, 0.77778], + 8834: [0.0391, 0.5391, 0, 0, 0.77778], + 8835: [0.0391, 0.5391, 0, 0, 0.77778], + 8838: [0.13597, 0.63597, 0, 0, 0.77778], + 8839: [0.13597, 0.63597, 0, 0, 0.77778], + 8846: [0, 0.55556, 0, 0, 0.66667], + 8849: [0.13597, 0.63597, 0, 0, 0.77778], + 8850: [0.13597, 0.63597, 0, 0, 0.77778], + 8851: [0, 0.55556, 0, 0, 0.66667], + 8852: [0, 0.55556, 0, 0, 0.66667], + 8853: [0.08333, 0.58333, 0, 0, 0.77778], + 8854: [0.08333, 0.58333, 0, 0, 0.77778], + 8855: [0.08333, 0.58333, 0, 0, 0.77778], + 8856: [0.08333, 0.58333, 0, 0, 0.77778], + 8857: [0.08333, 0.58333, 0, 0, 0.77778], + 8866: [0, 0.69444, 0, 0, 0.61111], + 8867: [0, 0.69444, 0, 0, 0.61111], + 8868: [0, 0.69444, 0, 0, 0.77778], + 8869: [0, 0.69444, 0, 0, 0.77778], + 8872: [0.249, 0.75, 0, 0, 0.867], + 8900: [-0.05555, 0.44445, 0, 0, 0.5], + 8901: [-0.05555, 0.44445, 0, 0, 0.27778], + 8902: [-0.03472, 0.46528, 0, 0, 0.5], + 8904: [0.005, 0.505, 0, 0, 0.9], + 8942: [0.03, 0.903, 0, 0, 0.278], + 8943: [-0.19, 0.313, 0, 0, 1.172], + 8945: [-0.1, 0.823, 0, 0, 1.282], + 8968: [0.25, 0.75, 0, 0, 0.44445], + 8969: [0.25, 0.75, 0, 0, 0.44445], + 8970: [0.25, 0.75, 0, 0, 0.44445], + 8971: [0.25, 0.75, 0, 0, 0.44445], + 8994: [-0.14236, 0.35764, 0, 0, 1], + 8995: [-0.14236, 0.35764, 0, 0, 1], + 9136: [0.244, 0.744, 0, 0, 0.412], + 9137: [0.244, 0.745, 0, 0, 0.412], + 9651: [0.19444, 0.69444, 0, 0, 0.88889], + 9657: [-0.03472, 0.46528, 0, 0, 0.5], + 9661: [0.19444, 0.69444, 0, 0, 0.88889], + 9667: [-0.03472, 0.46528, 0, 0, 0.5], + 9711: [0.19444, 0.69444, 0, 0, 1], + 9824: [0.12963, 0.69444, 0, 0, 0.77778], + 9825: [0.12963, 0.69444, 0, 0, 0.77778], + 9826: [0.12963, 0.69444, 0, 0, 0.77778], + 9827: [0.12963, 0.69444, 0, 0, 0.77778], + 9837: [0, 0.75, 0, 0, 0.38889], + 9838: [0.19444, 0.69444, 0, 0, 0.38889], + 9839: [0.19444, 0.69444, 0, 0, 0.38889], + 10216: [0.25, 0.75, 0, 0, 0.38889], + 10217: [0.25, 0.75, 0, 0, 0.38889], + 10222: [0.244, 0.744, 0, 0, 0.412], + 10223: [0.244, 0.745, 0, 0, 0.412], + 10229: [0.011, 0.511, 0, 0, 1.609], + 10230: [0.011, 0.511, 0, 0, 1.638], + 10231: [0.011, 0.511, 0, 0, 1.859], + 10232: [0.024, 0.525, 0, 0, 1.609], + 10233: [0.024, 0.525, 0, 0, 1.638], + 10234: [0.024, 0.525, 0, 0, 1.858], + 10236: [0.011, 0.511, 0, 0, 1.638], + 10815: [0, 0.68333, 0, 0, 0.75], + 10927: [0.13597, 0.63597, 0, 0, 0.77778], + 10928: [0.13597, 0.63597, 0, 0, 0.77778], + 57376: [0.19444, 0.69444, 0, 0, 0], + }, + "Math-BoldItalic": { + 32: [0, 0, 0, 0, 0.25], + 48: [0, 0.44444, 0, 0, 0.575], + 49: [0, 0.44444, 0, 0, 0.575], + 50: [0, 0.44444, 0, 0, 0.575], + 51: [0.19444, 0.44444, 0, 0, 0.575], + 52: [0.19444, 0.44444, 0, 0, 0.575], + 53: [0.19444, 0.44444, 0, 0, 0.575], + 54: [0, 0.64444, 0, 0, 0.575], + 55: [0.19444, 0.44444, 0, 0, 0.575], + 56: [0, 0.64444, 0, 0, 0.575], + 57: [0.19444, 0.44444, 0, 0, 0.575], + 65: [0, 0.68611, 0, 0, 0.86944], + 66: [0, 0.68611, 0.04835, 0, 0.8664], + 67: [0, 0.68611, 0.06979, 0, 0.81694], + 68: [0, 0.68611, 0.03194, 0, 0.93812], + 69: [0, 0.68611, 0.05451, 0, 0.81007], + 70: [0, 0.68611, 0.15972, 0, 0.68889], + 71: [0, 0.68611, 0, 0, 0.88673], + 72: [0, 0.68611, 0.08229, 0, 0.98229], + 73: [0, 0.68611, 0.07778, 0, 0.51111], + 74: [0, 0.68611, 0.10069, 0, 0.63125], + 75: [0, 0.68611, 0.06979, 0, 0.97118], + 76: [0, 0.68611, 0, 0, 0.75555], + 77: [0, 0.68611, 0.11424, 0, 1.14201], + 78: [0, 0.68611, 0.11424, 0, 0.95034], + 79: [0, 0.68611, 0.03194, 0, 0.83666], + 80: [0, 0.68611, 0.15972, 0, 0.72309], + 81: [0.19444, 0.68611, 0, 0, 0.86861], + 82: [0, 0.68611, 0.00421, 0, 0.87235], + 83: [0, 0.68611, 0.05382, 0, 0.69271], + 84: [0, 0.68611, 0.15972, 0, 0.63663], + 85: [0, 0.68611, 0.11424, 0, 0.80027], + 86: [0, 0.68611, 0.25555, 0, 0.67778], + 87: [0, 0.68611, 0.15972, 0, 1.09305], + 88: [0, 0.68611, 0.07778, 0, 0.94722], + 89: [0, 0.68611, 0.25555, 0, 0.67458], + 90: [0, 0.68611, 0.06979, 0, 0.77257], + 97: [0, 0.44444, 0, 0, 0.63287], + 98: [0, 0.69444, 0, 0, 0.52083], + 99: [0, 0.44444, 0, 0, 0.51342], + 100: [0, 0.69444, 0, 0, 0.60972], + 101: [0, 0.44444, 0, 0, 0.55361], + 102: [0.19444, 0.69444, 0.11042, 0, 0.56806], + 103: [0.19444, 0.44444, 0.03704, 0, 0.5449], + 104: [0, 0.69444, 0, 0, 0.66759], + 105: [0, 0.69326, 0, 0, 0.4048], + 106: [0.19444, 0.69326, 0.0622, 0, 0.47083], + 107: [0, 0.69444, 0.01852, 0, 0.6037], + 108: [0, 0.69444, 0.0088, 0, 0.34815], + 109: [0, 0.44444, 0, 0, 1.0324], + 110: [0, 0.44444, 0, 0, 0.71296], + 111: [0, 0.44444, 0, 0, 0.58472], + 112: [0.19444, 0.44444, 0, 0, 0.60092], + 113: [0.19444, 0.44444, 0.03704, 0, 0.54213], + 114: [0, 0.44444, 0.03194, 0, 0.5287], + 115: [0, 0.44444, 0, 0, 0.53125], + 116: [0, 0.63492, 0, 0, 0.41528], + 117: [0, 0.44444, 0, 0, 0.68102], + 118: [0, 0.44444, 0.03704, 0, 0.56666], + 119: [0, 0.44444, 0.02778, 0, 0.83148], + 120: [0, 0.44444, 0, 0, 0.65903], + 121: [0.19444, 0.44444, 0.03704, 0, 0.59028], + 122: [0, 0.44444, 0.04213, 0, 0.55509], + 160: [0, 0, 0, 0, 0.25], + 915: [0, 0.68611, 0.15972, 0, 0.65694], + 916: [0, 0.68611, 0, 0, 0.95833], + 920: [0, 0.68611, 0.03194, 0, 0.86722], + 923: [0, 0.68611, 0, 0, 0.80555], + 926: [0, 0.68611, 0.07458, 0, 0.84125], + 928: [0, 0.68611, 0.08229, 0, 0.98229], + 931: [0, 0.68611, 0.05451, 0, 0.88507], + 933: [0, 0.68611, 0.15972, 0, 0.67083], + 934: [0, 0.68611, 0, 0, 0.76666], + 936: [0, 0.68611, 0.11653, 0, 0.71402], + 937: [0, 0.68611, 0.04835, 0, 0.8789], + 945: [0, 0.44444, 0, 0, 0.76064], + 946: [0.19444, 0.69444, 0.03403, 0, 0.65972], + 947: [0.19444, 0.44444, 0.06389, 0, 0.59003], + 948: [0, 0.69444, 0.03819, 0, 0.52222], + 949: [0, 0.44444, 0, 0, 0.52882], + 950: [0.19444, 0.69444, 0.06215, 0, 0.50833], + 951: [0.19444, 0.44444, 0.03704, 0, 0.6], + 952: [0, 0.69444, 0.03194, 0, 0.5618], + 953: [0, 0.44444, 0, 0, 0.41204], + 954: [0, 0.44444, 0, 0, 0.66759], + 955: [0, 0.69444, 0, 0, 0.67083], + 956: [0.19444, 0.44444, 0, 0, 0.70787], + 957: [0, 0.44444, 0.06898, 0, 0.57685], + 958: [0.19444, 0.69444, 0.03021, 0, 0.50833], + 959: [0, 0.44444, 0, 0, 0.58472], + 960: [0, 0.44444, 0.03704, 0, 0.68241], + 961: [0.19444, 0.44444, 0, 0, 0.6118], + 962: [0.09722, 0.44444, 0.07917, 0, 0.42361], + 963: [0, 0.44444, 0.03704, 0, 0.68588], + 964: [0, 0.44444, 0.13472, 0, 0.52083], + 965: [0, 0.44444, 0.03704, 0, 0.63055], + 966: [0.19444, 0.44444, 0, 0, 0.74722], + 967: [0.19444, 0.44444, 0, 0, 0.71805], + 968: [0.19444, 0.69444, 0.03704, 0, 0.75833], + 969: [0, 0.44444, 0.03704, 0, 0.71782], + 977: [0, 0.69444, 0, 0, 0.69155], + 981: [0.19444, 0.69444, 0, 0, 0.7125], + 982: [0, 0.44444, 0.03194, 0, 0.975], + 1009: [0.19444, 0.44444, 0, 0, 0.6118], + 1013: [0, 0.44444, 0, 0, 0.48333], + 57649: [0, 0.44444, 0, 0, 0.39352], + 57911: [0.19444, 0.44444, 0, 0, 0.43889], + }, + "Math-Italic": { + 32: [0, 0, 0, 0, 0.25], + 48: [0, 0.43056, 0, 0, 0.5], + 49: [0, 0.43056, 0, 0, 0.5], + 50: [0, 0.43056, 0, 0, 0.5], + 51: [0.19444, 0.43056, 0, 0, 0.5], + 52: [0.19444, 0.43056, 0, 0, 0.5], + 53: [0.19444, 0.43056, 0, 0, 0.5], + 54: [0, 0.64444, 0, 0, 0.5], + 55: [0.19444, 0.43056, 0, 0, 0.5], + 56: [0, 0.64444, 0, 0, 0.5], + 57: [0.19444, 0.43056, 0, 0, 0.5], + 65: [0, 0.68333, 0, 0.13889, 0.75], + 66: [0, 0.68333, 0.05017, 0.08334, 0.75851], + 67: [0, 0.68333, 0.07153, 0.08334, 0.71472], + 68: [0, 0.68333, 0.02778, 0.05556, 0.82792], + 69: [0, 0.68333, 0.05764, 0.08334, 0.7382], + 70: [0, 0.68333, 0.13889, 0.08334, 0.64306], + 71: [0, 0.68333, 0, 0.08334, 0.78625], + 72: [0, 0.68333, 0.08125, 0.05556, 0.83125], + 73: [0, 0.68333, 0.07847, 0.11111, 0.43958], + 74: [0, 0.68333, 0.09618, 0.16667, 0.55451], + 75: [0, 0.68333, 0.07153, 0.05556, 0.84931], + 76: [0, 0.68333, 0, 0.02778, 0.68056], + 77: [0, 0.68333, 0.10903, 0.08334, 0.97014], + 78: [0, 0.68333, 0.10903, 0.08334, 0.80347], + 79: [0, 0.68333, 0.02778, 0.08334, 0.76278], + 80: [0, 0.68333, 0.13889, 0.08334, 0.64201], + 81: [0.19444, 0.68333, 0, 0.08334, 0.79056], + 82: [0, 0.68333, 0.00773, 0.08334, 0.75929], + 83: [0, 0.68333, 0.05764, 0.08334, 0.6132], + 84: [0, 0.68333, 0.13889, 0.08334, 0.58438], + 85: [0, 0.68333, 0.10903, 0.02778, 0.68278], + 86: [0, 0.68333, 0.22222, 0, 0.58333], + 87: [0, 0.68333, 0.13889, 0, 0.94445], + 88: [0, 0.68333, 0.07847, 0.08334, 0.82847], + 89: [0, 0.68333, 0.22222, 0, 0.58056], + 90: [0, 0.68333, 0.07153, 0.08334, 0.68264], + 97: [0, 0.43056, 0, 0, 0.52859], + 98: [0, 0.69444, 0, 0, 0.42917], + 99: [0, 0.43056, 0, 0.05556, 0.43276], + 100: [0, 0.69444, 0, 0.16667, 0.52049], + 101: [0, 0.43056, 0, 0.05556, 0.46563], + 102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959], + 103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697], + 104: [0, 0.69444, 0, 0, 0.57616], + 105: [0, 0.65952, 0, 0, 0.34451], + 106: [0.19444, 0.65952, 0.05724, 0, 0.41181], + 107: [0, 0.69444, 0.03148, 0, 0.5206], + 108: [0, 0.69444, 0.01968, 0.08334, 0.29838], + 109: [0, 0.43056, 0, 0, 0.87801], + 110: [0, 0.43056, 0, 0, 0.60023], + 111: [0, 0.43056, 0, 0.05556, 0.48472], + 112: [0.19444, 0.43056, 0, 0.08334, 0.50313], + 113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641], + 114: [0, 0.43056, 0.02778, 0.05556, 0.45116], + 115: [0, 0.43056, 0, 0.05556, 0.46875], + 116: [0, 0.61508, 0, 0.08334, 0.36111], + 117: [0, 0.43056, 0, 0.02778, 0.57246], + 118: [0, 0.43056, 0.03588, 0.02778, 0.48472], + 119: [0, 0.43056, 0.02691, 0.08334, 0.71592], + 120: [0, 0.43056, 0, 0.02778, 0.57153], + 121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028], + 122: [0, 0.43056, 0.04398, 0.05556, 0.46505], + 160: [0, 0, 0, 0, 0.25], + 915: [0, 0.68333, 0.13889, 0.08334, 0.61528], + 916: [0, 0.68333, 0, 0.16667, 0.83334], + 920: [0, 0.68333, 0.02778, 0.08334, 0.76278], + 923: [0, 0.68333, 0, 0.16667, 0.69445], + 926: [0, 0.68333, 0.07569, 0.08334, 0.74236], + 928: [0, 0.68333, 0.08125, 0.05556, 0.83125], + 931: [0, 0.68333, 0.05764, 0.08334, 0.77986], + 933: [0, 0.68333, 0.13889, 0.05556, 0.58333], + 934: [0, 0.68333, 0, 0.08334, 0.66667], + 936: [0, 0.68333, 0.11, 0.05556, 0.61222], + 937: [0, 0.68333, 0.05017, 0.08334, 0.7724], + 945: [0, 0.43056, 0.0037, 0.02778, 0.6397], + 946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563], + 947: [0.19444, 0.43056, 0.05556, 0, 0.51773], + 948: [0, 0.69444, 0.03785, 0.05556, 0.44444], + 949: [0, 0.43056, 0, 0.08334, 0.46632], + 950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375], + 951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653], + 952: [0, 0.69444, 0.02778, 0.08334, 0.46944], + 953: [0, 0.43056, 0, 0.05556, 0.35394], + 954: [0, 0.43056, 0, 0, 0.57616], + 955: [0, 0.69444, 0, 0, 0.58334], + 956: [0.19444, 0.43056, 0, 0.02778, 0.60255], + 957: [0, 0.43056, 0.06366, 0.02778, 0.49398], + 958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375], + 959: [0, 0.43056, 0, 0.05556, 0.48472], + 960: [0, 0.43056, 0.03588, 0, 0.57003], + 961: [0.19444, 0.43056, 0, 0.08334, 0.51702], + 962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285], + 963: [0, 0.43056, 0.03588, 0, 0.57141], + 964: [0, 0.43056, 0.1132, 0.02778, 0.43715], + 965: [0, 0.43056, 0.03588, 0.02778, 0.54028], + 966: [0.19444, 0.43056, 0, 0.08334, 0.65417], + 967: [0.19444, 0.43056, 0, 0.05556, 0.62569], + 968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139], + 969: [0, 0.43056, 0.03588, 0, 0.62245], + 977: [0, 0.69444, 0, 0.08334, 0.59144], + 981: [0.19444, 0.69444, 0, 0.08334, 0.59583], + 982: [0, 0.43056, 0.02778, 0, 0.82813], + 1009: [0.19444, 0.43056, 0, 0.08334, 0.51702], + 1013: [0, 0.43056, 0, 0.05556, 0.4059], + 57649: [0, 0.43056, 0, 0.02778, 0.32246], + 57911: [0.19444, 0.43056, 0, 0.08334, 0.38403], + }, + "SansSerif-Bold": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.36667], + 34: [0, 0.69444, 0, 0, 0.55834], + 35: [0.19444, 0.69444, 0, 0, 0.91667], + 36: [0.05556, 0.75, 0, 0, 0.55], + 37: [0.05556, 0.75, 0, 0, 1.02912], + 38: [0, 0.69444, 0, 0, 0.83056], + 39: [0, 0.69444, 0, 0, 0.30556], + 40: [0.25, 0.75, 0, 0, 0.42778], + 41: [0.25, 0.75, 0, 0, 0.42778], + 42: [0, 0.75, 0, 0, 0.55], + 43: [0.11667, 0.61667, 0, 0, 0.85556], + 44: [0.10556, 0.13056, 0, 0, 0.30556], + 45: [0, 0.45833, 0, 0, 0.36667], + 46: [0, 0.13056, 0, 0, 0.30556], + 47: [0.25, 0.75, 0, 0, 0.55], + 48: [0, 0.69444, 0, 0, 0.55], + 49: [0, 0.69444, 0, 0, 0.55], + 50: [0, 0.69444, 0, 0, 0.55], + 51: [0, 0.69444, 0, 0, 0.55], + 52: [0, 0.69444, 0, 0, 0.55], + 53: [0, 0.69444, 0, 0, 0.55], + 54: [0, 0.69444, 0, 0, 0.55], + 55: [0, 0.69444, 0, 0, 0.55], + 56: [0, 0.69444, 0, 0, 0.55], + 57: [0, 0.69444, 0, 0, 0.55], + 58: [0, 0.45833, 0, 0, 0.30556], + 59: [0.10556, 0.45833, 0, 0, 0.30556], + 61: [-0.09375, 0.40625, 0, 0, 0.85556], + 63: [0, 0.69444, 0, 0, 0.51945], + 64: [0, 0.69444, 0, 0, 0.73334], + 65: [0, 0.69444, 0, 0, 0.73334], + 66: [0, 0.69444, 0, 0, 0.73334], + 67: [0, 0.69444, 0, 0, 0.70278], + 68: [0, 0.69444, 0, 0, 0.79445], + 69: [0, 0.69444, 0, 0, 0.64167], + 70: [0, 0.69444, 0, 0, 0.61111], + 71: [0, 0.69444, 0, 0, 0.73334], + 72: [0, 0.69444, 0, 0, 0.79445], + 73: [0, 0.69444, 0, 0, 0.33056], + 74: [0, 0.69444, 0, 0, 0.51945], + 75: [0, 0.69444, 0, 0, 0.76389], + 76: [0, 0.69444, 0, 0, 0.58056], + 77: [0, 0.69444, 0, 0, 0.97778], + 78: [0, 0.69444, 0, 0, 0.79445], + 79: [0, 0.69444, 0, 0, 0.79445], + 80: [0, 0.69444, 0, 0, 0.70278], + 81: [0.10556, 0.69444, 0, 0, 0.79445], + 82: [0, 0.69444, 0, 0, 0.70278], + 83: [0, 0.69444, 0, 0, 0.61111], + 84: [0, 0.69444, 0, 0, 0.73334], + 85: [0, 0.69444, 0, 0, 0.76389], + 86: [0, 0.69444, 0.01528, 0, 0.73334], + 87: [0, 0.69444, 0.01528, 0, 1.03889], + 88: [0, 0.69444, 0, 0, 0.73334], + 89: [0, 0.69444, 0.0275, 0, 0.73334], + 90: [0, 0.69444, 0, 0, 0.67223], + 91: [0.25, 0.75, 0, 0, 0.34306], + 93: [0.25, 0.75, 0, 0, 0.34306], + 94: [0, 0.69444, 0, 0, 0.55], + 95: [0.35, 0.10833, 0.03056, 0, 0.55], + 97: [0, 0.45833, 0, 0, 0.525], + 98: [0, 0.69444, 0, 0, 0.56111], + 99: [0, 0.45833, 0, 0, 0.48889], + 100: [0, 0.69444, 0, 0, 0.56111], + 101: [0, 0.45833, 0, 0, 0.51111], + 102: [0, 0.69444, 0.07639, 0, 0.33611], + 103: [0.19444, 0.45833, 0.01528, 0, 0.55], + 104: [0, 0.69444, 0, 0, 0.56111], + 105: [0, 0.69444, 0, 0, 0.25556], + 106: [0.19444, 0.69444, 0, 0, 0.28611], + 107: [0, 0.69444, 0, 0, 0.53056], + 108: [0, 0.69444, 0, 0, 0.25556], + 109: [0, 0.45833, 0, 0, 0.86667], + 110: [0, 0.45833, 0, 0, 0.56111], + 111: [0, 0.45833, 0, 0, 0.55], + 112: [0.19444, 0.45833, 0, 0, 0.56111], + 113: [0.19444, 0.45833, 0, 0, 0.56111], + 114: [0, 0.45833, 0.01528, 0, 0.37222], + 115: [0, 0.45833, 0, 0, 0.42167], + 116: [0, 0.58929, 0, 0, 0.40417], + 117: [0, 0.45833, 0, 0, 0.56111], + 118: [0, 0.45833, 0.01528, 0, 0.5], + 119: [0, 0.45833, 0.01528, 0, 0.74445], + 120: [0, 0.45833, 0, 0, 0.5], + 121: [0.19444, 0.45833, 0.01528, 0, 0.5], + 122: [0, 0.45833, 0, 0, 0.47639], + 126: [0.35, 0.34444, 0, 0, 0.55], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.69444, 0, 0, 0.55], + 176: [0, 0.69444, 0, 0, 0.73334], + 180: [0, 0.69444, 0, 0, 0.55], + 184: [0.17014, 0, 0, 0, 0.48889], + 305: [0, 0.45833, 0, 0, 0.25556], + 567: [0.19444, 0.45833, 0, 0, 0.28611], + 710: [0, 0.69444, 0, 0, 0.55], + 711: [0, 0.63542, 0, 0, 0.55], + 713: [0, 0.63778, 0, 0, 0.55], + 728: [0, 0.69444, 0, 0, 0.55], + 729: [0, 0.69444, 0, 0, 0.30556], + 730: [0, 0.69444, 0, 0, 0.73334], + 732: [0, 0.69444, 0, 0, 0.55], + 733: [0, 0.69444, 0, 0, 0.55], + 915: [0, 0.69444, 0, 0, 0.58056], + 916: [0, 0.69444, 0, 0, 0.91667], + 920: [0, 0.69444, 0, 0, 0.85556], + 923: [0, 0.69444, 0, 0, 0.67223], + 926: [0, 0.69444, 0, 0, 0.73334], + 928: [0, 0.69444, 0, 0, 0.79445], + 931: [0, 0.69444, 0, 0, 0.79445], + 933: [0, 0.69444, 0, 0, 0.85556], + 934: [0, 0.69444, 0, 0, 0.79445], + 936: [0, 0.69444, 0, 0, 0.85556], + 937: [0, 0.69444, 0, 0, 0.79445], + 8211: [0, 0.45833, 0.03056, 0, 0.55], + 8212: [0, 0.45833, 0.03056, 0, 1.10001], + 8216: [0, 0.69444, 0, 0, 0.30556], + 8217: [0, 0.69444, 0, 0, 0.30556], + 8220: [0, 0.69444, 0, 0, 0.55834], + 8221: [0, 0.69444, 0, 0, 0.55834], + }, + "SansSerif-Italic": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0.05733, 0, 0.31945], + 34: [0, 0.69444, 0.00316, 0, 0.5], + 35: [0.19444, 0.69444, 0.05087, 0, 0.83334], + 36: [0.05556, 0.75, 0.11156, 0, 0.5], + 37: [0.05556, 0.75, 0.03126, 0, 0.83334], + 38: [0, 0.69444, 0.03058, 0, 0.75834], + 39: [0, 0.69444, 0.07816, 0, 0.27778], + 40: [0.25, 0.75, 0.13164, 0, 0.38889], + 41: [0.25, 0.75, 0.02536, 0, 0.38889], + 42: [0, 0.75, 0.11775, 0, 0.5], + 43: [0.08333, 0.58333, 0.02536, 0, 0.77778], + 44: [0.125, 0.08333, 0, 0, 0.27778], + 45: [0, 0.44444, 0.01946, 0, 0.33333], + 46: [0, 0.08333, 0, 0, 0.27778], + 47: [0.25, 0.75, 0.13164, 0, 0.5], + 48: [0, 0.65556, 0.11156, 0, 0.5], + 49: [0, 0.65556, 0.11156, 0, 0.5], + 50: [0, 0.65556, 0.11156, 0, 0.5], + 51: [0, 0.65556, 0.11156, 0, 0.5], + 52: [0, 0.65556, 0.11156, 0, 0.5], + 53: [0, 0.65556, 0.11156, 0, 0.5], + 54: [0, 0.65556, 0.11156, 0, 0.5], + 55: [0, 0.65556, 0.11156, 0, 0.5], + 56: [0, 0.65556, 0.11156, 0, 0.5], + 57: [0, 0.65556, 0.11156, 0, 0.5], + 58: [0, 0.44444, 0.02502, 0, 0.27778], + 59: [0.125, 0.44444, 0.02502, 0, 0.27778], + 61: [-0.13, 0.37, 0.05087, 0, 0.77778], + 63: [0, 0.69444, 0.11809, 0, 0.47222], + 64: [0, 0.69444, 0.07555, 0, 0.66667], + 65: [0, 0.69444, 0, 0, 0.66667], + 66: [0, 0.69444, 0.08293, 0, 0.66667], + 67: [0, 0.69444, 0.11983, 0, 0.63889], + 68: [0, 0.69444, 0.07555, 0, 0.72223], + 69: [0, 0.69444, 0.11983, 0, 0.59722], + 70: [0, 0.69444, 0.13372, 0, 0.56945], + 71: [0, 0.69444, 0.11983, 0, 0.66667], + 72: [0, 0.69444, 0.08094, 0, 0.70834], + 73: [0, 0.69444, 0.13372, 0, 0.27778], + 74: [0, 0.69444, 0.08094, 0, 0.47222], + 75: [0, 0.69444, 0.11983, 0, 0.69445], + 76: [0, 0.69444, 0, 0, 0.54167], + 77: [0, 0.69444, 0.08094, 0, 0.875], + 78: [0, 0.69444, 0.08094, 0, 0.70834], + 79: [0, 0.69444, 0.07555, 0, 0.73611], + 80: [0, 0.69444, 0.08293, 0, 0.63889], + 81: [0.125, 0.69444, 0.07555, 0, 0.73611], + 82: [0, 0.69444, 0.08293, 0, 0.64584], + 83: [0, 0.69444, 0.09205, 0, 0.55556], + 84: [0, 0.69444, 0.13372, 0, 0.68056], + 85: [0, 0.69444, 0.08094, 0, 0.6875], + 86: [0, 0.69444, 0.1615, 0, 0.66667], + 87: [0, 0.69444, 0.1615, 0, 0.94445], + 88: [0, 0.69444, 0.13372, 0, 0.66667], + 89: [0, 0.69444, 0.17261, 0, 0.66667], + 90: [0, 0.69444, 0.11983, 0, 0.61111], + 91: [0.25, 0.75, 0.15942, 0, 0.28889], + 93: [0.25, 0.75, 0.08719, 0, 0.28889], + 94: [0, 0.69444, 0.0799, 0, 0.5], + 95: [0.35, 0.09444, 0.08616, 0, 0.5], + 97: [0, 0.44444, 0.00981, 0, 0.48056], + 98: [0, 0.69444, 0.03057, 0, 0.51667], + 99: [0, 0.44444, 0.08336, 0, 0.44445], + 100: [0, 0.69444, 0.09483, 0, 0.51667], + 101: [0, 0.44444, 0.06778, 0, 0.44445], + 102: [0, 0.69444, 0.21705, 0, 0.30556], + 103: [0.19444, 0.44444, 0.10836, 0, 0.5], + 104: [0, 0.69444, 0.01778, 0, 0.51667], + 105: [0, 0.67937, 0.09718, 0, 0.23889], + 106: [0.19444, 0.67937, 0.09162, 0, 0.26667], + 107: [0, 0.69444, 0.08336, 0, 0.48889], + 108: [0, 0.69444, 0.09483, 0, 0.23889], + 109: [0, 0.44444, 0.01778, 0, 0.79445], + 110: [0, 0.44444, 0.01778, 0, 0.51667], + 111: [0, 0.44444, 0.06613, 0, 0.5], + 112: [0.19444, 0.44444, 0.0389, 0, 0.51667], + 113: [0.19444, 0.44444, 0.04169, 0, 0.51667], + 114: [0, 0.44444, 0.10836, 0, 0.34167], + 115: [0, 0.44444, 0.0778, 0, 0.38333], + 116: [0, 0.57143, 0.07225, 0, 0.36111], + 117: [0, 0.44444, 0.04169, 0, 0.51667], + 118: [0, 0.44444, 0.10836, 0, 0.46111], + 119: [0, 0.44444, 0.10836, 0, 0.68334], + 120: [0, 0.44444, 0.09169, 0, 0.46111], + 121: [0.19444, 0.44444, 0.10836, 0, 0.46111], + 122: [0, 0.44444, 0.08752, 0, 0.43472], + 126: [0.35, 0.32659, 0.08826, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.67937, 0.06385, 0, 0.5], + 176: [0, 0.69444, 0, 0, 0.73752], + 184: [0.17014, 0, 0, 0, 0.44445], + 305: [0, 0.44444, 0.04169, 0, 0.23889], + 567: [0.19444, 0.44444, 0.04169, 0, 0.26667], + 710: [0, 0.69444, 0.0799, 0, 0.5], + 711: [0, 0.63194, 0.08432, 0, 0.5], + 713: [0, 0.60889, 0.08776, 0, 0.5], + 714: [0, 0.69444, 0.09205, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0.09483, 0, 0.5], + 729: [0, 0.67937, 0.07774, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.73752], + 732: [0, 0.67659, 0.08826, 0, 0.5], + 733: [0, 0.69444, 0.09205, 0, 0.5], + 915: [0, 0.69444, 0.13372, 0, 0.54167], + 916: [0, 0.69444, 0, 0, 0.83334], + 920: [0, 0.69444, 0.07555, 0, 0.77778], + 923: [0, 0.69444, 0, 0, 0.61111], + 926: [0, 0.69444, 0.12816, 0, 0.66667], + 928: [0, 0.69444, 0.08094, 0, 0.70834], + 931: [0, 0.69444, 0.11983, 0, 0.72222], + 933: [0, 0.69444, 0.09031, 0, 0.77778], + 934: [0, 0.69444, 0.04603, 0, 0.72222], + 936: [0, 0.69444, 0.09031, 0, 0.77778], + 937: [0, 0.69444, 0.08293, 0, 0.72222], + 8211: [0, 0.44444, 0.08616, 0, 0.5], + 8212: [0, 0.44444, 0.08616, 0, 1], + 8216: [0, 0.69444, 0.07816, 0, 0.27778], + 8217: [0, 0.69444, 0.07816, 0, 0.27778], + 8220: [0, 0.69444, 0.14205, 0, 0.5], + 8221: [0, 0.69444, 0.00316, 0, 0.5], + }, + "SansSerif-Regular": { + 32: [0, 0, 0, 0, 0.25], + 33: [0, 0.69444, 0, 0, 0.31945], + 34: [0, 0.69444, 0, 0, 0.5], + 35: [0.19444, 0.69444, 0, 0, 0.83334], + 36: [0.05556, 0.75, 0, 0, 0.5], + 37: [0.05556, 0.75, 0, 0, 0.83334], + 38: [0, 0.69444, 0, 0, 0.75834], + 39: [0, 0.69444, 0, 0, 0.27778], + 40: [0.25, 0.75, 0, 0, 0.38889], + 41: [0.25, 0.75, 0, 0, 0.38889], + 42: [0, 0.75, 0, 0, 0.5], + 43: [0.08333, 0.58333, 0, 0, 0.77778], + 44: [0.125, 0.08333, 0, 0, 0.27778], + 45: [0, 0.44444, 0, 0, 0.33333], + 46: [0, 0.08333, 0, 0, 0.27778], + 47: [0.25, 0.75, 0, 0, 0.5], + 48: [0, 0.65556, 0, 0, 0.5], + 49: [0, 0.65556, 0, 0, 0.5], + 50: [0, 0.65556, 0, 0, 0.5], + 51: [0, 0.65556, 0, 0, 0.5], + 52: [0, 0.65556, 0, 0, 0.5], + 53: [0, 0.65556, 0, 0, 0.5], + 54: [0, 0.65556, 0, 0, 0.5], + 55: [0, 0.65556, 0, 0, 0.5], + 56: [0, 0.65556, 0, 0, 0.5], + 57: [0, 0.65556, 0, 0, 0.5], + 58: [0, 0.44444, 0, 0, 0.27778], + 59: [0.125, 0.44444, 0, 0, 0.27778], + 61: [-0.13, 0.37, 0, 0, 0.77778], + 63: [0, 0.69444, 0, 0, 0.47222], + 64: [0, 0.69444, 0, 0, 0.66667], + 65: [0, 0.69444, 0, 0, 0.66667], + 66: [0, 0.69444, 0, 0, 0.66667], + 67: [0, 0.69444, 0, 0, 0.63889], + 68: [0, 0.69444, 0, 0, 0.72223], + 69: [0, 0.69444, 0, 0, 0.59722], + 70: [0, 0.69444, 0, 0, 0.56945], + 71: [0, 0.69444, 0, 0, 0.66667], + 72: [0, 0.69444, 0, 0, 0.70834], + 73: [0, 0.69444, 0, 0, 0.27778], + 74: [0, 0.69444, 0, 0, 0.47222], + 75: [0, 0.69444, 0, 0, 0.69445], + 76: [0, 0.69444, 0, 0, 0.54167], + 77: [0, 0.69444, 0, 0, 0.875], + 78: [0, 0.69444, 0, 0, 0.70834], + 79: [0, 0.69444, 0, 0, 0.73611], + 80: [0, 0.69444, 0, 0, 0.63889], + 81: [0.125, 0.69444, 0, 0, 0.73611], + 82: [0, 0.69444, 0, 0, 0.64584], + 83: [0, 0.69444, 0, 0, 0.55556], + 84: [0, 0.69444, 0, 0, 0.68056], + 85: [0, 0.69444, 0, 0, 0.6875], + 86: [0, 0.69444, 0.01389, 0, 0.66667], + 87: [0, 0.69444, 0.01389, 0, 0.94445], + 88: [0, 0.69444, 0, 0, 0.66667], + 89: [0, 0.69444, 0.025, 0, 0.66667], + 90: [0, 0.69444, 0, 0, 0.61111], + 91: [0.25, 0.75, 0, 0, 0.28889], + 93: [0.25, 0.75, 0, 0, 0.28889], + 94: [0, 0.69444, 0, 0, 0.5], + 95: [0.35, 0.09444, 0.02778, 0, 0.5], + 97: [0, 0.44444, 0, 0, 0.48056], + 98: [0, 0.69444, 0, 0, 0.51667], + 99: [0, 0.44444, 0, 0, 0.44445], + 100: [0, 0.69444, 0, 0, 0.51667], + 101: [0, 0.44444, 0, 0, 0.44445], + 102: [0, 0.69444, 0.06944, 0, 0.30556], + 103: [0.19444, 0.44444, 0.01389, 0, 0.5], + 104: [0, 0.69444, 0, 0, 0.51667], + 105: [0, 0.67937, 0, 0, 0.23889], + 106: [0.19444, 0.67937, 0, 0, 0.26667], + 107: [0, 0.69444, 0, 0, 0.48889], + 108: [0, 0.69444, 0, 0, 0.23889], + 109: [0, 0.44444, 0, 0, 0.79445], + 110: [0, 0.44444, 0, 0, 0.51667], + 111: [0, 0.44444, 0, 0, 0.5], + 112: [0.19444, 0.44444, 0, 0, 0.51667], + 113: [0.19444, 0.44444, 0, 0, 0.51667], + 114: [0, 0.44444, 0.01389, 0, 0.34167], + 115: [0, 0.44444, 0, 0, 0.38333], + 116: [0, 0.57143, 0, 0, 0.36111], + 117: [0, 0.44444, 0, 0, 0.51667], + 118: [0, 0.44444, 0.01389, 0, 0.46111], + 119: [0, 0.44444, 0.01389, 0, 0.68334], + 120: [0, 0.44444, 0, 0, 0.46111], + 121: [0.19444, 0.44444, 0.01389, 0, 0.46111], + 122: [0, 0.44444, 0, 0, 0.43472], + 126: [0.35, 0.32659, 0, 0, 0.5], + 160: [0, 0, 0, 0, 0.25], + 168: [0, 0.67937, 0, 0, 0.5], + 176: [0, 0.69444, 0, 0, 0.66667], + 184: [0.17014, 0, 0, 0, 0.44445], + 305: [0, 0.44444, 0, 0, 0.23889], + 567: [0.19444, 0.44444, 0, 0, 0.26667], + 710: [0, 0.69444, 0, 0, 0.5], + 711: [0, 0.63194, 0, 0, 0.5], + 713: [0, 0.60889, 0, 0, 0.5], + 714: [0, 0.69444, 0, 0, 0.5], + 715: [0, 0.69444, 0, 0, 0.5], + 728: [0, 0.69444, 0, 0, 0.5], + 729: [0, 0.67937, 0, 0, 0.27778], + 730: [0, 0.69444, 0, 0, 0.66667], + 732: [0, 0.67659, 0, 0, 0.5], + 733: [0, 0.69444, 0, 0, 0.5], + 915: [0, 0.69444, 0, 0, 0.54167], + 916: [0, 0.69444, 0, 0, 0.83334], + 920: [0, 0.69444, 0, 0, 0.77778], + 923: [0, 0.69444, 0, 0, 0.61111], + 926: [0, 0.69444, 0, 0, 0.66667], + 928: [0, 0.69444, 0, 0, 0.70834], + 931: [0, 0.69444, 0, 0, 0.72222], + 933: [0, 0.69444, 0, 0, 0.77778], + 934: [0, 0.69444, 0, 0, 0.72222], + 936: [0, 0.69444, 0, 0, 0.77778], + 937: [0, 0.69444, 0, 0, 0.72222], + 8211: [0, 0.44444, 0.02778, 0, 0.5], + 8212: [0, 0.44444, 0.02778, 0, 1], + 8216: [0, 0.69444, 0, 0, 0.27778], + 8217: [0, 0.69444, 0, 0, 0.27778], + 8220: [0, 0.69444, 0, 0, 0.5], + 8221: [0, 0.69444, 0, 0, 0.5], + }, + "Script-Regular": { + 32: [0, 0, 0, 0, 0.25], + 65: [0, 0.7, 0.22925, 0, 0.80253], + 66: [0, 0.7, 0.04087, 0, 0.90757], + 67: [0, 0.7, 0.1689, 0, 0.66619], + 68: [0, 0.7, 0.09371, 0, 0.77443], + 69: [0, 0.7, 0.18583, 0, 0.56162], + 70: [0, 0.7, 0.13634, 0, 0.89544], + 71: [0, 0.7, 0.17322, 0, 0.60961], + 72: [0, 0.7, 0.29694, 0, 0.96919], + 73: [0, 0.7, 0.19189, 0, 0.80907], + 74: [0.27778, 0.7, 0.19189, 0, 1.05159], + 75: [0, 0.7, 0.31259, 0, 0.91364], + 76: [0, 0.7, 0.19189, 0, 0.87373], + 77: [0, 0.7, 0.15981, 0, 1.08031], + 78: [0, 0.7, 0.3525, 0, 0.9015], + 79: [0, 0.7, 0.08078, 0, 0.73787], + 80: [0, 0.7, 0.08078, 0, 1.01262], + 81: [0, 0.7, 0.03305, 0, 0.88282], + 82: [0, 0.7, 0.06259, 0, 0.85], + 83: [0, 0.7, 0.19189, 0, 0.86767], + 84: [0, 0.7, 0.29087, 0, 0.74697], + 85: [0, 0.7, 0.25815, 0, 0.79996], + 86: [0, 0.7, 0.27523, 0, 0.62204], + 87: [0, 0.7, 0.27523, 0, 0.80532], + 88: [0, 0.7, 0.26006, 0, 0.94445], + 89: [0, 0.7, 0.2939, 0, 0.70961], + 90: [0, 0.7, 0.24037, 0, 0.8212], + 160: [0, 0, 0, 0, 0.25], + }, + "Size1-Regular": { + 32: [0, 0, 0, 0, 0.25], + 40: [0.35001, 0.85, 0, 0, 0.45834], + 41: [0.35001, 0.85, 0, 0, 0.45834], + 47: [0.35001, 0.85, 0, 0, 0.57778], + 91: [0.35001, 0.85, 0, 0, 0.41667], + 92: [0.35001, 0.85, 0, 0, 0.57778], + 93: [0.35001, 0.85, 0, 0, 0.41667], + 123: [0.35001, 0.85, 0, 0, 0.58334], + 125: [0.35001, 0.85, 0, 0, 0.58334], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.72222, 0, 0, 0.55556], + 732: [0, 0.72222, 0, 0, 0.55556], + 770: [0, 0.72222, 0, 0, 0.55556], + 771: [0, 0.72222, 0, 0, 0.55556], + 8214: [-99e-5, 0.601, 0, 0, 0.77778], + 8593: [1e-5, 0.6, 0, 0, 0.66667], + 8595: [1e-5, 0.6, 0, 0, 0.66667], + 8657: [1e-5, 0.6, 0, 0, 0.77778], + 8659: [1e-5, 0.6, 0, 0, 0.77778], + 8719: [0.25001, 0.75, 0, 0, 0.94445], + 8720: [0.25001, 0.75, 0, 0, 0.94445], + 8721: [0.25001, 0.75, 0, 0, 1.05556], + 8730: [0.35001, 0.85, 0, 0, 1], + 8739: [-0.00599, 0.606, 0, 0, 0.33333], + 8741: [-0.00599, 0.606, 0, 0, 0.55556], + 8747: [0.30612, 0.805, 0.19445, 0, 0.47222], + 8748: [0.306, 0.805, 0.19445, 0, 0.47222], + 8749: [0.306, 0.805, 0.19445, 0, 0.47222], + 8750: [0.30612, 0.805, 0.19445, 0, 0.47222], + 8896: [0.25001, 0.75, 0, 0, 0.83334], + 8897: [0.25001, 0.75, 0, 0, 0.83334], + 8898: [0.25001, 0.75, 0, 0, 0.83334], + 8899: [0.25001, 0.75, 0, 0, 0.83334], + 8968: [0.35001, 0.85, 0, 0, 0.47222], + 8969: [0.35001, 0.85, 0, 0, 0.47222], + 8970: [0.35001, 0.85, 0, 0, 0.47222], + 8971: [0.35001, 0.85, 0, 0, 0.47222], + 9168: [-99e-5, 0.601, 0, 0, 0.66667], + 10216: [0.35001, 0.85, 0, 0, 0.47222], + 10217: [0.35001, 0.85, 0, 0, 0.47222], + 10752: [0.25001, 0.75, 0, 0, 1.11111], + 10753: [0.25001, 0.75, 0, 0, 1.11111], + 10754: [0.25001, 0.75, 0, 0, 1.11111], + 10756: [0.25001, 0.75, 0, 0, 0.83334], + 10758: [0.25001, 0.75, 0, 0, 0.83334], + }, + "Size2-Regular": { + 32: [0, 0, 0, 0, 0.25], + 40: [0.65002, 1.15, 0, 0, 0.59722], + 41: [0.65002, 1.15, 0, 0, 0.59722], + 47: [0.65002, 1.15, 0, 0, 0.81111], + 91: [0.65002, 1.15, 0, 0, 0.47222], + 92: [0.65002, 1.15, 0, 0, 0.81111], + 93: [0.65002, 1.15, 0, 0, 0.47222], + 123: [0.65002, 1.15, 0, 0, 0.66667], + 125: [0.65002, 1.15, 0, 0, 0.66667], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.75, 0, 0, 1], + 732: [0, 0.75, 0, 0, 1], + 770: [0, 0.75, 0, 0, 1], + 771: [0, 0.75, 0, 0, 1], + 8719: [0.55001, 1.05, 0, 0, 1.27778], + 8720: [0.55001, 1.05, 0, 0, 1.27778], + 8721: [0.55001, 1.05, 0, 0, 1.44445], + 8730: [0.65002, 1.15, 0, 0, 1], + 8747: [0.86225, 1.36, 0.44445, 0, 0.55556], + 8748: [0.862, 1.36, 0.44445, 0, 0.55556], + 8749: [0.862, 1.36, 0.44445, 0, 0.55556], + 8750: [0.86225, 1.36, 0.44445, 0, 0.55556], + 8896: [0.55001, 1.05, 0, 0, 1.11111], + 8897: [0.55001, 1.05, 0, 0, 1.11111], + 8898: [0.55001, 1.05, 0, 0, 1.11111], + 8899: [0.55001, 1.05, 0, 0, 1.11111], + 8968: [0.65002, 1.15, 0, 0, 0.52778], + 8969: [0.65002, 1.15, 0, 0, 0.52778], + 8970: [0.65002, 1.15, 0, 0, 0.52778], + 8971: [0.65002, 1.15, 0, 0, 0.52778], + 10216: [0.65002, 1.15, 0, 0, 0.61111], + 10217: [0.65002, 1.15, 0, 0, 0.61111], + 10752: [0.55001, 1.05, 0, 0, 1.51112], + 10753: [0.55001, 1.05, 0, 0, 1.51112], + 10754: [0.55001, 1.05, 0, 0, 1.51112], + 10756: [0.55001, 1.05, 0, 0, 1.11111], + 10758: [0.55001, 1.05, 0, 0, 1.11111], + }, + "Size3-Regular": { + 32: [0, 0, 0, 0, 0.25], + 40: [0.95003, 1.45, 0, 0, 0.73611], + 41: [0.95003, 1.45, 0, 0, 0.73611], + 47: [0.95003, 1.45, 0, 0, 1.04445], + 91: [0.95003, 1.45, 0, 0, 0.52778], + 92: [0.95003, 1.45, 0, 0, 1.04445], + 93: [0.95003, 1.45, 0, 0, 0.52778], + 123: [0.95003, 1.45, 0, 0, 0.75], + 125: [0.95003, 1.45, 0, 0, 0.75], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.75, 0, 0, 1.44445], + 732: [0, 0.75, 0, 0, 1.44445], + 770: [0, 0.75, 0, 0, 1.44445], + 771: [0, 0.75, 0, 0, 1.44445], + 8730: [0.95003, 1.45, 0, 0, 1], + 8968: [0.95003, 1.45, 0, 0, 0.58334], + 8969: [0.95003, 1.45, 0, 0, 0.58334], + 8970: [0.95003, 1.45, 0, 0, 0.58334], + 8971: [0.95003, 1.45, 0, 0, 0.58334], + 10216: [0.95003, 1.45, 0, 0, 0.75], + 10217: [0.95003, 1.45, 0, 0, 0.75], + }, + "Size4-Regular": { + 32: [0, 0, 0, 0, 0.25], + 40: [1.25003, 1.75, 0, 0, 0.79167], + 41: [1.25003, 1.75, 0, 0, 0.79167], + 47: [1.25003, 1.75, 0, 0, 1.27778], + 91: [1.25003, 1.75, 0, 0, 0.58334], + 92: [1.25003, 1.75, 0, 0, 1.27778], + 93: [1.25003, 1.75, 0, 0, 0.58334], + 123: [1.25003, 1.75, 0, 0, 0.80556], + 125: [1.25003, 1.75, 0, 0, 0.80556], + 160: [0, 0, 0, 0, 0.25], + 710: [0, 0.825, 0, 0, 1.8889], + 732: [0, 0.825, 0, 0, 1.8889], + 770: [0, 0.825, 0, 0, 1.8889], + 771: [0, 0.825, 0, 0, 1.8889], + 8730: [1.25003, 1.75, 0, 0, 1], + 8968: [1.25003, 1.75, 0, 0, 0.63889], + 8969: [1.25003, 1.75, 0, 0, 0.63889], + 8970: [1.25003, 1.75, 0, 0, 0.63889], + 8971: [1.25003, 1.75, 0, 0, 0.63889], + 9115: [0.64502, 1.155, 0, 0, 0.875], + 9116: [1e-5, 0.6, 0, 0, 0.875], + 9117: [0.64502, 1.155, 0, 0, 0.875], + 9118: [0.64502, 1.155, 0, 0, 0.875], + 9119: [1e-5, 0.6, 0, 0, 0.875], + 9120: [0.64502, 1.155, 0, 0, 0.875], + 9121: [0.64502, 1.155, 0, 0, 0.66667], + 9122: [-99e-5, 0.601, 0, 0, 0.66667], + 9123: [0.64502, 1.155, 0, 0, 0.66667], + 9124: [0.64502, 1.155, 0, 0, 0.66667], + 9125: [-99e-5, 0.601, 0, 0, 0.66667], + 9126: [0.64502, 1.155, 0, 0, 0.66667], + 9127: [1e-5, 0.9, 0, 0, 0.88889], + 9128: [0.65002, 1.15, 0, 0, 0.88889], + 9129: [0.90001, 0, 0, 0, 0.88889], + 9130: [0, 0.3, 0, 0, 0.88889], + 9131: [1e-5, 0.9, 0, 0, 0.88889], + 9132: [0.65002, 1.15, 0, 0, 0.88889], + 9133: [0.90001, 0, 0, 0, 0.88889], + 9143: [0.88502, 0.915, 0, 0, 1.05556], + 10216: [1.25003, 1.75, 0, 0, 0.80556], + 10217: [1.25003, 1.75, 0, 0, 0.80556], + 57344: [-0.00499, 0.605, 0, 0, 1.05556], + 57345: [-0.00499, 0.605, 0, 0, 1.05556], + 57680: [0, 0.12, 0, 0, 0.45], + 57681: [0, 0.12, 0, 0, 0.45], + 57682: [0, 0.12, 0, 0, 0.45], + 57683: [0, 0.12, 0, 0, 0.45], + }, + "Typewriter-Regular": { + 32: [0, 0, 0, 0, 0.525], + 33: [0, 0.61111, 0, 0, 0.525], + 34: [0, 0.61111, 0, 0, 0.525], + 35: [0, 0.61111, 0, 0, 0.525], + 36: [0.08333, 0.69444, 0, 0, 0.525], + 37: [0.08333, 0.69444, 0, 0, 0.525], + 38: [0, 0.61111, 0, 0, 0.525], + 39: [0, 0.61111, 0, 0, 0.525], + 40: [0.08333, 0.69444, 0, 0, 0.525], + 41: [0.08333, 0.69444, 0, 0, 0.525], + 42: [0, 0.52083, 0, 0, 0.525], + 43: [-0.08056, 0.53055, 0, 0, 0.525], + 44: [0.13889, 0.125, 0, 0, 0.525], + 45: [-0.08056, 0.53055, 0, 0, 0.525], + 46: [0, 0.125, 0, 0, 0.525], + 47: [0.08333, 0.69444, 0, 0, 0.525], + 48: [0, 0.61111, 0, 0, 0.525], + 49: [0, 0.61111, 0, 0, 0.525], + 50: [0, 0.61111, 0, 0, 0.525], + 51: [0, 0.61111, 0, 0, 0.525], + 52: [0, 0.61111, 0, 0, 0.525], + 53: [0, 0.61111, 0, 0, 0.525], + 54: [0, 0.61111, 0, 0, 0.525], + 55: [0, 0.61111, 0, 0, 0.525], + 56: [0, 0.61111, 0, 0, 0.525], + 57: [0, 0.61111, 0, 0, 0.525], + 58: [0, 0.43056, 0, 0, 0.525], + 59: [0.13889, 0.43056, 0, 0, 0.525], + 60: [-0.05556, 0.55556, 0, 0, 0.525], + 61: [-0.19549, 0.41562, 0, 0, 0.525], + 62: [-0.05556, 0.55556, 0, 0, 0.525], + 63: [0, 0.61111, 0, 0, 0.525], + 64: [0, 0.61111, 0, 0, 0.525], + 65: [0, 0.61111, 0, 0, 0.525], + 66: [0, 0.61111, 0, 0, 0.525], + 67: [0, 0.61111, 0, 0, 0.525], + 68: [0, 0.61111, 0, 0, 0.525], + 69: [0, 0.61111, 0, 0, 0.525], + 70: [0, 0.61111, 0, 0, 0.525], + 71: [0, 0.61111, 0, 0, 0.525], + 72: [0, 0.61111, 0, 0, 0.525], + 73: [0, 0.61111, 0, 0, 0.525], + 74: [0, 0.61111, 0, 0, 0.525], + 75: [0, 0.61111, 0, 0, 0.525], + 76: [0, 0.61111, 0, 0, 0.525], + 77: [0, 0.61111, 0, 0, 0.525], + 78: [0, 0.61111, 0, 0, 0.525], + 79: [0, 0.61111, 0, 0, 0.525], + 80: [0, 0.61111, 0, 0, 0.525], + 81: [0.13889, 0.61111, 0, 0, 0.525], + 82: [0, 0.61111, 0, 0, 0.525], + 83: [0, 0.61111, 0, 0, 0.525], + 84: [0, 0.61111, 0, 0, 0.525], + 85: [0, 0.61111, 0, 0, 0.525], + 86: [0, 0.61111, 0, 0, 0.525], + 87: [0, 0.61111, 0, 0, 0.525], + 88: [0, 0.61111, 0, 0, 0.525], + 89: [0, 0.61111, 0, 0, 0.525], + 90: [0, 0.61111, 0, 0, 0.525], + 91: [0.08333, 0.69444, 0, 0, 0.525], + 92: [0.08333, 0.69444, 0, 0, 0.525], + 93: [0.08333, 0.69444, 0, 0, 0.525], + 94: [0, 0.61111, 0, 0, 0.525], + 95: [0.09514, 0, 0, 0, 0.525], + 96: [0, 0.61111, 0, 0, 0.525], + 97: [0, 0.43056, 0, 0, 0.525], + 98: [0, 0.61111, 0, 0, 0.525], + 99: [0, 0.43056, 0, 0, 0.525], + 100: [0, 0.61111, 0, 0, 0.525], + 101: [0, 0.43056, 0, 0, 0.525], + 102: [0, 0.61111, 0, 0, 0.525], + 103: [0.22222, 0.43056, 0, 0, 0.525], + 104: [0, 0.61111, 0, 0, 0.525], + 105: [0, 0.61111, 0, 0, 0.525], + 106: [0.22222, 0.61111, 0, 0, 0.525], + 107: [0, 0.61111, 0, 0, 0.525], + 108: [0, 0.61111, 0, 0, 0.525], + 109: [0, 0.43056, 0, 0, 0.525], + 110: [0, 0.43056, 0, 0, 0.525], + 111: [0, 0.43056, 0, 0, 0.525], + 112: [0.22222, 0.43056, 0, 0, 0.525], + 113: [0.22222, 0.43056, 0, 0, 0.525], + 114: [0, 0.43056, 0, 0, 0.525], + 115: [0, 0.43056, 0, 0, 0.525], + 116: [0, 0.55358, 0, 0, 0.525], + 117: [0, 0.43056, 0, 0, 0.525], + 118: [0, 0.43056, 0, 0, 0.525], + 119: [0, 0.43056, 0, 0, 0.525], + 120: [0, 0.43056, 0, 0, 0.525], + 121: [0.22222, 0.43056, 0, 0, 0.525], + 122: [0, 0.43056, 0, 0, 0.525], + 123: [0.08333, 0.69444, 0, 0, 0.525], + 124: [0.08333, 0.69444, 0, 0, 0.525], + 125: [0.08333, 0.69444, 0, 0, 0.525], + 126: [0, 0.61111, 0, 0, 0.525], + 127: [0, 0.61111, 0, 0, 0.525], + 160: [0, 0, 0, 0, 0.525], + 176: [0, 0.61111, 0, 0, 0.525], + 184: [0.19445, 0, 0, 0, 0.525], + 305: [0, 0.43056, 0, 0, 0.525], + 567: [0.22222, 0.43056, 0, 0, 0.525], + 711: [0, 0.56597, 0, 0, 0.525], + 713: [0, 0.56555, 0, 0, 0.525], + 714: [0, 0.61111, 0, 0, 0.525], + 715: [0, 0.61111, 0, 0, 0.525], + 728: [0, 0.61111, 0, 0, 0.525], + 730: [0, 0.61111, 0, 0, 0.525], + 770: [0, 0.61111, 0, 0, 0.525], + 771: [0, 0.61111, 0, 0, 0.525], + 776: [0, 0.61111, 0, 0, 0.525], + 915: [0, 0.61111, 0, 0, 0.525], + 916: [0, 0.61111, 0, 0, 0.525], + 920: [0, 0.61111, 0, 0, 0.525], + 923: [0, 0.61111, 0, 0, 0.525], + 926: [0, 0.61111, 0, 0, 0.525], + 928: [0, 0.61111, 0, 0, 0.525], + 931: [0, 0.61111, 0, 0, 0.525], + 933: [0, 0.61111, 0, 0, 0.525], + 934: [0, 0.61111, 0, 0, 0.525], + 936: [0, 0.61111, 0, 0, 0.525], + 937: [0, 0.61111, 0, 0, 0.525], + 8216: [0, 0.61111, 0, 0, 0.525], + 8217: [0, 0.61111, 0, 0, 0.525], + 8242: [0, 0.61111, 0, 0, 0.525], + 9251: [0.11111, 0.21944, 0, 0, 0.525], + }, + }, + e1 = { + slant: [0.25, 0.25, 0.25], + space: [0, 0, 0], + stretch: [0, 0, 0], + shrink: [0, 0, 0], + xHeight: [0.431, 0.431, 0.431], + quad: [1, 1.171, 1.472], + extraSpace: [0, 0, 0], + num1: [0.677, 0.732, 0.925], + num2: [0.394, 0.384, 0.387], + num3: [0.444, 0.471, 0.504], + denom1: [0.686, 0.752, 1.025], + denom2: [0.345, 0.344, 0.532], + sup1: [0.413, 0.503, 0.504], + sup2: [0.363, 0.431, 0.404], + sup3: [0.289, 0.286, 0.294], + sub1: [0.15, 0.143, 0.2], + sub2: [0.247, 0.286, 0.4], + supDrop: [0.386, 0.353, 0.494], + subDrop: [0.05, 0.071, 0.1], + delim1: [2.39, 1.7, 1.98], + delim2: [1.01, 1.157, 1.42], + axisHeight: [0.25, 0.25, 0.25], + defaultRuleThickness: [0.04, 0.049, 0.049], + bigOpSpacing1: [0.111, 0.111, 0.111], + bigOpSpacing2: [0.166, 0.166, 0.166], + bigOpSpacing3: [0.2, 0.2, 0.2], + bigOpSpacing4: [0.6, 0.611, 0.611], + bigOpSpacing5: [0.1, 0.143, 0.143], + sqrtRuleThickness: [0.04, 0.04, 0.04], + ptPerEm: [10, 10, 10], + doubleRuleSep: [0.2, 0.2, 0.2], + arrayRuleWidth: [0.04, 0.04, 0.04], + fboxsep: [0.3, 0.3, 0.3], + fboxrule: [0.04, 0.04, 0.04], + }, + KS = { + Å: "A", + Ð: "D", + Þ: "o", + å: "a", + ð: "d", + þ: "o", + А: "A", + Б: "B", + В: "B", + Г: "F", + Д: "A", + Е: "E", + Ж: "K", + З: "3", + И: "N", + Й: "N", + К: "K", + Л: "N", + М: "M", + Н: "H", + О: "O", + П: "N", + Р: "P", + С: "C", + Т: "T", + У: "y", + Ф: "O", + Х: "X", + Ц: "U", + Ч: "h", + Ш: "W", + Щ: "W", + Ъ: "B", + Ы: "X", + Ь: "B", + Э: "3", + Ю: "X", + Я: "R", + а: "a", + б: "b", + в: "a", + г: "r", + д: "y", + е: "e", + ж: "m", + з: "e", + и: "n", + й: "n", + к: "n", + л: "n", + м: "m", + н: "n", + о: "o", + п: "n", + р: "p", + с: "c", + т: "o", + у: "y", + ф: "b", + х: "x", + ц: "n", + ч: "n", + ш: "w", + щ: "w", + ъ: "a", + ы: "m", + ь: "a", + э: "e", + ю: "m", + я: "r", + } +function FN(t, e) { + Gs[t] = e +} +function uT(t, e, r) { + if (!Gs[e]) throw new Error("Font metrics not found for font: " + e + ".") + var n = t.charCodeAt(0), + i = Gs[e][n] + if ( + (!i && t[0] in KS && ((n = KS[t[0]].charCodeAt(0)), (i = Gs[e][n])), + !i && r === "text" && BN(n) && (i = Gs[e][77]), + i) + ) + return { depth: i[0], height: i[1], italic: i[2], skew: i[3], width: i[4] } +} +var Jx = {} +function SY(t) { + var e + if ((t >= 5 ? (e = 0) : t >= 3 ? (e = 1) : (e = 2), !Jx[e])) { + var r = (Jx[e] = { cssEmPerMu: e1.quad[e] / 18 }) + for (var n in e1) e1.hasOwnProperty(n) && (r[n] = e1[n][e]) + } + return Jx[e] +} +var CY = [ + [1, 1, 1], + [2, 1, 1], + [3, 1, 1], + [4, 2, 1], + [5, 2, 1], + [6, 3, 1], + [7, 4, 2], + [8, 6, 3], + [9, 7, 6], + [10, 8, 7], + [11, 10, 9], + ], + ZS = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488], + QS = function (e, r) { + return r.size < 2 ? e : CY[e - 1][r.size - 1] + } +class Eo { + constructor(e) { + ;(this.style = void 0), + (this.color = void 0), + (this.size = void 0), + (this.textSize = void 0), + (this.phantom = void 0), + (this.font = void 0), + (this.fontFamily = void 0), + (this.fontWeight = void 0), + (this.fontShape = void 0), + (this.sizeMultiplier = void 0), + (this.maxSize = void 0), + (this.minRuleThickness = void 0), + (this._fontMetrics = void 0), + (this.style = e.style), + (this.color = e.color), + (this.size = e.size || Eo.BASESIZE), + (this.textSize = e.textSize || this.size), + (this.phantom = !!e.phantom), + (this.font = e.font || ""), + (this.fontFamily = e.fontFamily || ""), + (this.fontWeight = e.fontWeight || ""), + (this.fontShape = e.fontShape || ""), + (this.sizeMultiplier = ZS[this.size - 1]), + (this.maxSize = e.maxSize), + (this.minRuleThickness = e.minRuleThickness), + (this._fontMetrics = void 0) + } + extend(e) { + var r = { + style: this.style, + size: this.size, + textSize: this.textSize, + color: this.color, + phantom: this.phantom, + font: this.font, + fontFamily: this.fontFamily, + fontWeight: this.fontWeight, + fontShape: this.fontShape, + maxSize: this.maxSize, + minRuleThickness: this.minRuleThickness, + } + for (var n in e) e.hasOwnProperty(n) && (r[n] = e[n]) + return new Eo(r) + } + havingStyle(e) { + return this.style === e ? this : this.extend({ style: e, size: QS(this.textSize, e) }) + } + havingCrampedStyle() { + return this.havingStyle(this.style.cramp()) + } + havingSize(e) { + return this.size === e && this.textSize === e + ? this + : this.extend({ style: this.style.text(), size: e, textSize: e, sizeMultiplier: ZS[e - 1] }) + } + havingBaseStyle(e) { + e = e || this.style.text() + var r = QS(Eo.BASESIZE, e) + return this.size === r && this.textSize === Eo.BASESIZE && this.style === e + ? this + : this.extend({ style: e, size: r }) + } + havingBaseSizing() { + var e + switch (this.style.id) { + case 4: + case 5: + e = 3 + break + case 6: + case 7: + e = 1 + break + default: + e = 6 + } + return this.extend({ style: this.style.text(), size: e }) + } + withColor(e) { + return this.extend({ color: e }) + } + withPhantom() { + return this.extend({ phantom: !0 }) + } + withFont(e) { + return this.extend({ font: e }) + } + withTextFontFamily(e) { + return this.extend({ fontFamily: e, font: "" }) + } + withTextFontWeight(e) { + return this.extend({ fontWeight: e, font: "" }) + } + withTextFontShape(e) { + return this.extend({ fontShape: e, font: "" }) + } + sizingClasses(e) { + return e.size !== this.size ? ["sizing", "reset-size" + e.size, "size" + this.size] : [] + } + baseSizingClasses() { + return this.size !== Eo.BASESIZE ? ["sizing", "reset-size" + this.size, "size" + Eo.BASESIZE] : [] + } + fontMetrics() { + return this._fontMetrics || (this._fontMetrics = SY(this.size)), this._fontMetrics + } + getColor() { + return this.phantom ? "transparent" : this.color + } +} +Eo.BASESIZE = 6 +var o3 = { + pt: 1, + mm: 7227 / 2540, + cm: 7227 / 254, + in: 72.27, + bp: 803 / 800, + pc: 12, + dd: 1238 / 1157, + cc: 14856 / 1157, + nd: 685 / 642, + nc: 1370 / 107, + sp: 1 / 65536, + px: 803 / 800, + }, + AY = { ex: !0, em: !0, mu: !0 }, + $N = function (e) { + return typeof e != "string" && (e = e.unit), e in o3 || e in AY || e === "ex" + }, + en = function (e, r) { + var n + if (e.unit in o3) n = o3[e.unit] / r.fontMetrics().ptPerEm / r.sizeMultiplier + else if (e.unit === "mu") n = r.fontMetrics().cssEmPerMu + else { + var i + if ((r.style.isTight() ? (i = r.havingStyle(r.style.text())) : (i = r), e.unit === "ex")) + n = i.fontMetrics().xHeight + else if (e.unit === "em") n = i.fontMetrics().quad + else throw new at("Invalid unit: '" + e.unit + "'") + i !== r && (n *= i.sizeMultiplier / r.sizeMultiplier) + } + return Math.min(e.number * n, r.maxSize) + }, + ft = function (e) { + return +e.toFixed(4) + "em" + }, + Al = function (e) { + return e.filter((r) => r).join(" ") + }, + zN = function (e, r, n) { + if ( + ((this.classes = e || []), + (this.attributes = {}), + (this.height = 0), + (this.depth = 0), + (this.maxFontSize = 0), + (this.style = n || {}), + r) + ) { + r.style.isTight() && this.classes.push("mtight") + var i = r.getColor() + i && (this.style.color = i) + } + }, + VN = function (e) { + var r = document.createElement(e) + r.className = Al(this.classes) + for (var n in this.style) this.style.hasOwnProperty(n) && (r.style[n] = this.style[n]) + for (var i in this.attributes) this.attributes.hasOwnProperty(i) && r.setAttribute(i, this.attributes[i]) + for (var a = 0; a < this.children.length; a++) r.appendChild(this.children[a].toNode()) + return r + }, + _Y = /[\s"'>/=\x00-\x1f]/, + GN = function (e) { + var r = "<" + e + this.classes.length && (r += ' class="' + Ft.escape(Al(this.classes)) + '"') + var n = "" + for (var i in this.style) this.style.hasOwnProperty(i) && (n += Ft.hyphenate(i) + ":" + this.style[i] + ";") + n && (r += ' style="' + Ft.escape(n) + '"') + for (var a in this.attributes) + if (this.attributes.hasOwnProperty(a)) { + if (_Y.test(a)) throw new at("Invalid attribute name '" + a + "'") + r += " " + a + '="' + Ft.escape(this.attributes[a]) + '"' + } + r += ">" + for (var s = 0; s < this.children.length; s++) r += this.children[s].toMarkup() + return (r += "</" + e + ">"), r + } +class ag { + constructor(e, r, n, i) { + ;(this.children = void 0), + (this.attributes = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.width = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + zN.call(this, e, n, i), + (this.children = r || []) + } + setAttribute(e, r) { + this.attributes[e] = r + } + hasClass(e) { + return Ft.contains(this.classes, e) + } + toNode() { + return VN.call(this, "span") + } + toMarkup() { + return GN.call(this, "span") + } +} +class hT { + constructor(e, r, n, i) { + ;(this.children = void 0), + (this.attributes = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + zN.call(this, r, i), + (this.children = n || []), + this.setAttribute("href", e) + } + setAttribute(e, r) { + this.attributes[e] = r + } + hasClass(e) { + return Ft.contains(this.classes, e) + } + toNode() { + return VN.call(this, "a") + } + toMarkup() { + return GN.call(this, "a") + } +} +class LY { + constructor(e, r, n) { + ;(this.src = void 0), + (this.alt = void 0), + (this.classes = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.maxFontSize = void 0), + (this.style = void 0), + (this.alt = r), + (this.src = e), + (this.classes = ["mord"]), + (this.style = n) + } + hasClass(e) { + return Ft.contains(this.classes, e) + } + toNode() { + var e = document.createElement("img") + ;(e.src = this.src), (e.alt = this.alt), (e.className = "mord") + for (var r in this.style) this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]) + return e + } + toMarkup() { + var e = '<img src="' + Ft.escape(this.src) + '"' + (' alt="' + Ft.escape(this.alt) + '"'), + r = "" + for (var n in this.style) this.style.hasOwnProperty(n) && (r += Ft.hyphenate(n) + ":" + this.style[n] + ";") + return r && (e += ' style="' + Ft.escape(r) + '"'), (e += "'/>"), e + } +} +var RY = { î: "ı̂", ï: "ı̈", í: "ı́", ì: "ı̀" } +class Za { + constructor(e, r, n, i, a, s, o, l) { + ;(this.text = void 0), + (this.height = void 0), + (this.depth = void 0), + (this.italic = void 0), + (this.skew = void 0), + (this.width = void 0), + (this.maxFontSize = void 0), + (this.classes = void 0), + (this.style = void 0), + (this.text = e), + (this.height = r || 0), + (this.depth = n || 0), + (this.italic = i || 0), + (this.skew = a || 0), + (this.width = s || 0), + (this.classes = o || []), + (this.style = l || {}), + (this.maxFontSize = 0) + var u = pY(this.text.charCodeAt(0)) + u && this.classes.push(u + "_fallback"), /[îïíì]/.test(this.text) && (this.text = RY[this.text]) + } + hasClass(e) { + return Ft.contains(this.classes, e) + } + toNode() { + var e = document.createTextNode(this.text), + r = null + this.italic > 0 && ((r = document.createElement("span")), (r.style.marginRight = ft(this.italic))), + this.classes.length > 0 && ((r = r || document.createElement("span")), (r.className = Al(this.classes))) + for (var n in this.style) + this.style.hasOwnProperty(n) && ((r = r || document.createElement("span")), (r.style[n] = this.style[n])) + return r ? (r.appendChild(e), r) : e + } + toMarkup() { + var e = !1, + r = "<span" + this.classes.length && ((e = !0), (r += ' class="'), (r += Ft.escape(Al(this.classes))), (r += '"')) + var n = "" + this.italic > 0 && (n += "margin-right:" + this.italic + "em;") + for (var i in this.style) this.style.hasOwnProperty(i) && (n += Ft.hyphenate(i) + ":" + this.style[i] + ";") + n && ((e = !0), (r += ' style="' + Ft.escape(n) + '"')) + var a = Ft.escape(this.text) + return e ? ((r += ">"), (r += a), (r += "</span>"), r) : a + } +} +class zo { + constructor(e, r) { + ;(this.children = void 0), (this.attributes = void 0), (this.children = e || []), (this.attributes = r || {}) + } + toNode() { + var e = "http://www.w3.org/2000/svg", + r = document.createElementNS(e, "svg") + for (var n in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, n) && r.setAttribute(n, this.attributes[n]) + for (var i = 0; i < this.children.length; i++) r.appendChild(this.children[i].toNode()) + return r + } + toMarkup() { + var e = '<svg xmlns="http://www.w3.org/2000/svg"' + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + (e += " " + r + '="' + Ft.escape(this.attributes[r]) + '"') + e += ">" + for (var n = 0; n < this.children.length; n++) e += this.children[n].toMarkup() + return (e += "</svg>"), e + } +} +class _l { + constructor(e, r) { + ;(this.pathName = void 0), (this.alternate = void 0), (this.pathName = e), (this.alternate = r) + } + toNode() { + var e = "http://www.w3.org/2000/svg", + r = document.createElementNS(e, "path") + return this.alternate ? r.setAttribute("d", this.alternate) : r.setAttribute("d", jS[this.pathName]), r + } + toMarkup() { + return this.alternate + ? '<path d="' + Ft.escape(this.alternate) + '"/>' + : '<path d="' + Ft.escape(jS[this.pathName]) + '"/>' + } +} +class l3 { + constructor(e) { + ;(this.attributes = void 0), (this.attributes = e || {}) + } + toNode() { + var e = "http://www.w3.org/2000/svg", + r = document.createElementNS(e, "line") + for (var n in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, n) && r.setAttribute(n, this.attributes[n]) + return r + } + toMarkup() { + var e = "<line" + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + (e += " " + r + '="' + Ft.escape(this.attributes[r]) + '"') + return (e += "/>"), e + } +} +function JS(t) { + if (t instanceof Za) return t + throw new Error("Expected symbolNode but got " + String(t) + ".") +} +function NY(t) { + if (t instanceof ag) return t + throw new Error("Expected span<HtmlDomNode> but got " + String(t) + ".") +} +var DY = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 }, + IY = { "accent-token": 1, mathord: 1, "op-token": 1, spacing: 1, textord: 1 }, + Ur = { math: {}, text: {} } +function V(t, e, r, n, i, a) { + ;(Ur[t][i] = { font: e, group: r, replace: n }), a && n && (Ur[t][n] = Ur[t][i]) +} +var U = "math", + tt = "text", + te = "main", + ye = "ams", + Zr = "accent-token", + kt = "bin", + Hi = "close", + Jd = "inner", + zt = "mathord", + Sn = "op-token", + Ra = "open", + f2 = "punct", + xe = "rel", + Qo = "spacing", + Ae = "textord" +V(U, te, xe, "≡", "\\equiv", !0) +V(U, te, xe, "≺", "\\prec", !0) +V(U, te, xe, "≻", "\\succ", !0) +V(U, te, xe, "∼", "\\sim", !0) +V(U, te, xe, "⊥", "\\perp") +V(U, te, xe, "⪯", "\\preceq", !0) +V(U, te, xe, "⪰", "\\succeq", !0) +V(U, te, xe, "≃", "\\simeq", !0) +V(U, te, xe, "∣", "\\mid", !0) +V(U, te, xe, "≪", "\\ll", !0) +V(U, te, xe, "≫", "\\gg", !0) +V(U, te, xe, "≍", "\\asymp", !0) +V(U, te, xe, "∥", "\\parallel") +V(U, te, xe, "⋈", "\\bowtie", !0) +V(U, te, xe, "⌣", "\\smile", !0) +V(U, te, xe, "⊑", "\\sqsubseteq", !0) +V(U, te, xe, "⊒", "\\sqsupseteq", !0) +V(U, te, xe, "≐", "\\doteq", !0) +V(U, te, xe, "⌢", "\\frown", !0) +V(U, te, xe, "∋", "\\ni", !0) +V(U, te, xe, "∝", "\\propto", !0) +V(U, te, xe, "⊢", "\\vdash", !0) +V(U, te, xe, "⊣", "\\dashv", !0) +V(U, te, xe, "∋", "\\owns") +V(U, te, f2, ".", "\\ldotp") +V(U, te, f2, "⋅", "\\cdotp") +V(U, te, Ae, "#", "\\#") +V(tt, te, Ae, "#", "\\#") +V(U, te, Ae, "&", "\\&") +V(tt, te, Ae, "&", "\\&") +V(U, te, Ae, "ℵ", "\\aleph", !0) +V(U, te, Ae, "∀", "\\forall", !0) +V(U, te, Ae, "ℏ", "\\hbar", !0) +V(U, te, Ae, "∃", "\\exists", !0) +V(U, te, Ae, "∇", "\\nabla", !0) +V(U, te, Ae, "♭", "\\flat", !0) +V(U, te, Ae, "ℓ", "\\ell", !0) +V(U, te, Ae, "♮", "\\natural", !0) +V(U, te, Ae, "♣", "\\clubsuit", !0) +V(U, te, Ae, "℘", "\\wp", !0) +V(U, te, Ae, "♯", "\\sharp", !0) +V(U, te, Ae, "♢", "\\diamondsuit", !0) +V(U, te, Ae, "ℜ", "\\Re", !0) +V(U, te, Ae, "♡", "\\heartsuit", !0) +V(U, te, Ae, "ℑ", "\\Im", !0) +V(U, te, Ae, "♠", "\\spadesuit", !0) +V(U, te, Ae, "§", "\\S", !0) +V(tt, te, Ae, "§", "\\S") +V(U, te, Ae, "¶", "\\P", !0) +V(tt, te, Ae, "¶", "\\P") +V(U, te, Ae, "†", "\\dag") +V(tt, te, Ae, "†", "\\dag") +V(tt, te, Ae, "†", "\\textdagger") +V(U, te, Ae, "‡", "\\ddag") +V(tt, te, Ae, "‡", "\\ddag") +V(tt, te, Ae, "‡", "\\textdaggerdbl") +V(U, te, Hi, "⎱", "\\rmoustache", !0) +V(U, te, Ra, "⎰", "\\lmoustache", !0) +V(U, te, Hi, "⟯", "\\rgroup", !0) +V(U, te, Ra, "⟮", "\\lgroup", !0) +V(U, te, kt, "∓", "\\mp", !0) +V(U, te, kt, "⊖", "\\ominus", !0) +V(U, te, kt, "⊎", "\\uplus", !0) +V(U, te, kt, "⊓", "\\sqcap", !0) +V(U, te, kt, "∗", "\\ast") +V(U, te, kt, "⊔", "\\sqcup", !0) +V(U, te, kt, "◯", "\\bigcirc", !0) +V(U, te, kt, "∙", "\\bullet", !0) +V(U, te, kt, "‡", "\\ddagger") +V(U, te, kt, "≀", "\\wr", !0) +V(U, te, kt, "⨿", "\\amalg") +V(U, te, kt, "&", "\\And") +V(U, te, xe, "⟵", "\\longleftarrow", !0) +V(U, te, xe, "⇐", "\\Leftarrow", !0) +V(U, te, xe, "⟸", "\\Longleftarrow", !0) +V(U, te, xe, "⟶", "\\longrightarrow", !0) +V(U, te, xe, "⇒", "\\Rightarrow", !0) +V(U, te, xe, "⟹", "\\Longrightarrow", !0) +V(U, te, xe, "↔", "\\leftrightarrow", !0) +V(U, te, xe, "⟷", "\\longleftrightarrow", !0) +V(U, te, xe, "⇔", "\\Leftrightarrow", !0) +V(U, te, xe, "⟺", "\\Longleftrightarrow", !0) +V(U, te, xe, "↦", "\\mapsto", !0) +V(U, te, xe, "⟼", "\\longmapsto", !0) +V(U, te, xe, "↗", "\\nearrow", !0) +V(U, te, xe, "↩", "\\hookleftarrow", !0) +V(U, te, xe, "↪", "\\hookrightarrow", !0) +V(U, te, xe, "↘", "\\searrow", !0) +V(U, te, xe, "↼", "\\leftharpoonup", !0) +V(U, te, xe, "⇀", "\\rightharpoonup", !0) +V(U, te, xe, "↙", "\\swarrow", !0) +V(U, te, xe, "↽", "\\leftharpoondown", !0) +V(U, te, xe, "⇁", "\\rightharpoondown", !0) +V(U, te, xe, "↖", "\\nwarrow", !0) +V(U, te, xe, "⇌", "\\rightleftharpoons", !0) +V(U, ye, xe, "≮", "\\nless", !0) +V(U, ye, xe, "", "\\@nleqslant") +V(U, ye, xe, "", "\\@nleqq") +V(U, ye, xe, "⪇", "\\lneq", !0) +V(U, ye, xe, "≨", "\\lneqq", !0) +V(U, ye, xe, "", "\\@lvertneqq") +V(U, ye, xe, "⋦", "\\lnsim", !0) +V(U, ye, xe, "⪉", "\\lnapprox", !0) +V(U, ye, xe, "⊀", "\\nprec", !0) +V(U, ye, xe, "⋠", "\\npreceq", !0) +V(U, ye, xe, "⋨", "\\precnsim", !0) +V(U, ye, xe, "⪹", "\\precnapprox", !0) +V(U, ye, xe, "≁", "\\nsim", !0) +V(U, ye, xe, "", "\\@nshortmid") +V(U, ye, xe, "∤", "\\nmid", !0) +V(U, ye, xe, "⊬", "\\nvdash", !0) +V(U, ye, xe, "⊭", "\\nvDash", !0) +V(U, ye, xe, "⋪", "\\ntriangleleft") +V(U, ye, xe, "⋬", "\\ntrianglelefteq", !0) +V(U, ye, xe, "⊊", "\\subsetneq", !0) +V(U, ye, xe, "", "\\@varsubsetneq") +V(U, ye, xe, "⫋", "\\subsetneqq", !0) +V(U, ye, xe, "", "\\@varsubsetneqq") +V(U, ye, xe, "≯", "\\ngtr", !0) +V(U, ye, xe, "", "\\@ngeqslant") +V(U, ye, xe, "", "\\@ngeqq") +V(U, ye, xe, "⪈", "\\gneq", !0) +V(U, ye, xe, "≩", "\\gneqq", !0) +V(U, ye, xe, "", "\\@gvertneqq") +V(U, ye, xe, "⋧", "\\gnsim", !0) +V(U, ye, xe, "⪊", "\\gnapprox", !0) +V(U, ye, xe, "⊁", "\\nsucc", !0) +V(U, ye, xe, "⋡", "\\nsucceq", !0) +V(U, ye, xe, "⋩", "\\succnsim", !0) +V(U, ye, xe, "⪺", "\\succnapprox", !0) +V(U, ye, xe, "≆", "\\ncong", !0) +V(U, ye, xe, "", "\\@nshortparallel") +V(U, ye, xe, "∦", "\\nparallel", !0) +V(U, ye, xe, "⊯", "\\nVDash", !0) +V(U, ye, xe, "⋫", "\\ntriangleright") +V(U, ye, xe, "⋭", "\\ntrianglerighteq", !0) +V(U, ye, xe, "", "\\@nsupseteqq") +V(U, ye, xe, "⊋", "\\supsetneq", !0) +V(U, ye, xe, "", "\\@varsupsetneq") +V(U, ye, xe, "⫌", "\\supsetneqq", !0) +V(U, ye, xe, "", "\\@varsupsetneqq") +V(U, ye, xe, "⊮", "\\nVdash", !0) +V(U, ye, xe, "⪵", "\\precneqq", !0) +V(U, ye, xe, "⪶", "\\succneqq", !0) +V(U, ye, xe, "", "\\@nsubseteqq") +V(U, ye, kt, "⊴", "\\unlhd") +V(U, ye, kt, "⊵", "\\unrhd") +V(U, ye, xe, "↚", "\\nleftarrow", !0) +V(U, ye, xe, "↛", "\\nrightarrow", !0) +V(U, ye, xe, "⇍", "\\nLeftarrow", !0) +V(U, ye, xe, "⇏", "\\nRightarrow", !0) +V(U, ye, xe, "↮", "\\nleftrightarrow", !0) +V(U, ye, xe, "⇎", "\\nLeftrightarrow", !0) +V(U, ye, xe, "△", "\\vartriangle") +V(U, ye, Ae, "ℏ", "\\hslash") +V(U, ye, Ae, "▽", "\\triangledown") +V(U, ye, Ae, "◊", "\\lozenge") +V(U, ye, Ae, "Ⓢ", "\\circledS") +V(U, ye, Ae, "®", "\\circledR") +V(tt, ye, Ae, "®", "\\circledR") +V(U, ye, Ae, "∡", "\\measuredangle", !0) +V(U, ye, Ae, "∄", "\\nexists") +V(U, ye, Ae, "℧", "\\mho") +V(U, ye, Ae, "Ⅎ", "\\Finv", !0) +V(U, ye, Ae, "⅁", "\\Game", !0) +V(U, ye, Ae, "‵", "\\backprime") +V(U, ye, Ae, "▲", "\\blacktriangle") +V(U, ye, Ae, "▼", "\\blacktriangledown") +V(U, ye, Ae, "■", "\\blacksquare") +V(U, ye, Ae, "⧫", "\\blacklozenge") +V(U, ye, Ae, "★", "\\bigstar") +V(U, ye, Ae, "∢", "\\sphericalangle", !0) +V(U, ye, Ae, "∁", "\\complement", !0) +V(U, ye, Ae, "ð", "\\eth", !0) +V(tt, te, Ae, "ð", "ð") +V(U, ye, Ae, "╱", "\\diagup") +V(U, ye, Ae, "╲", "\\diagdown") +V(U, ye, Ae, "□", "\\square") +V(U, ye, Ae, "□", "\\Box") +V(U, ye, Ae, "◊", "\\Diamond") +V(U, ye, Ae, "¥", "\\yen", !0) +V(tt, ye, Ae, "¥", "\\yen", !0) +V(U, ye, Ae, "✓", "\\checkmark", !0) +V(tt, ye, Ae, "✓", "\\checkmark") +V(U, ye, Ae, "ℶ", "\\beth", !0) +V(U, ye, Ae, "ℸ", "\\daleth", !0) +V(U, ye, Ae, "ℷ", "\\gimel", !0) +V(U, ye, Ae, "ϝ", "\\digamma", !0) +V(U, ye, Ae, "ϰ", "\\varkappa") +V(U, ye, Ra, "┌", "\\@ulcorner", !0) +V(U, ye, Hi, "┐", "\\@urcorner", !0) +V(U, ye, Ra, "└", "\\@llcorner", !0) +V(U, ye, Hi, "┘", "\\@lrcorner", !0) +V(U, ye, xe, "≦", "\\leqq", !0) +V(U, ye, xe, "⩽", "\\leqslant", !0) +V(U, ye, xe, "⪕", "\\eqslantless", !0) +V(U, ye, xe, "≲", "\\lesssim", !0) +V(U, ye, xe, "⪅", "\\lessapprox", !0) +V(U, ye, xe, "≊", "\\approxeq", !0) +V(U, ye, kt, "⋖", "\\lessdot") +V(U, ye, xe, "⋘", "\\lll", !0) +V(U, ye, xe, "≶", "\\lessgtr", !0) +V(U, ye, xe, "⋚", "\\lesseqgtr", !0) +V(U, ye, xe, "⪋", "\\lesseqqgtr", !0) +V(U, ye, xe, "≑", "\\doteqdot") +V(U, ye, xe, "≓", "\\risingdotseq", !0) +V(U, ye, xe, "≒", "\\fallingdotseq", !0) +V(U, ye, xe, "∽", "\\backsim", !0) +V(U, ye, xe, "⋍", "\\backsimeq", !0) +V(U, ye, xe, "⫅", "\\subseteqq", !0) +V(U, ye, xe, "⋐", "\\Subset", !0) +V(U, ye, xe, "⊏", "\\sqsubset", !0) +V(U, ye, xe, "≼", "\\preccurlyeq", !0) +V(U, ye, xe, "⋞", "\\curlyeqprec", !0) +V(U, ye, xe, "≾", "\\precsim", !0) +V(U, ye, xe, "⪷", "\\precapprox", !0) +V(U, ye, xe, "⊲", "\\vartriangleleft") +V(U, ye, xe, "⊴", "\\trianglelefteq") +V(U, ye, xe, "⊨", "\\vDash", !0) +V(U, ye, xe, "⊪", "\\Vvdash", !0) +V(U, ye, xe, "⌣", "\\smallsmile") +V(U, ye, xe, "⌢", "\\smallfrown") +V(U, ye, xe, "≏", "\\bumpeq", !0) +V(U, ye, xe, "≎", "\\Bumpeq", !0) +V(U, ye, xe, "≧", "\\geqq", !0) +V(U, ye, xe, "⩾", "\\geqslant", !0) +V(U, ye, xe, "⪖", "\\eqslantgtr", !0) +V(U, ye, xe, "≳", "\\gtrsim", !0) +V(U, ye, xe, "⪆", "\\gtrapprox", !0) +V(U, ye, kt, "⋗", "\\gtrdot") +V(U, ye, xe, "⋙", "\\ggg", !0) +V(U, ye, xe, "≷", "\\gtrless", !0) +V(U, ye, xe, "⋛", "\\gtreqless", !0) +V(U, ye, xe, "⪌", "\\gtreqqless", !0) +V(U, ye, xe, "≖", "\\eqcirc", !0) +V(U, ye, xe, "≗", "\\circeq", !0) +V(U, ye, xe, "≜", "\\triangleq", !0) +V(U, ye, xe, "∼", "\\thicksim") +V(U, ye, xe, "≈", "\\thickapprox") +V(U, ye, xe, "⫆", "\\supseteqq", !0) +V(U, ye, xe, "⋑", "\\Supset", !0) +V(U, ye, xe, "⊐", "\\sqsupset", !0) +V(U, ye, xe, "≽", "\\succcurlyeq", !0) +V(U, ye, xe, "⋟", "\\curlyeqsucc", !0) +V(U, ye, xe, "≿", "\\succsim", !0) +V(U, ye, xe, "⪸", "\\succapprox", !0) +V(U, ye, xe, "⊳", "\\vartriangleright") +V(U, ye, xe, "⊵", "\\trianglerighteq") +V(U, ye, xe, "⊩", "\\Vdash", !0) +V(U, ye, xe, "∣", "\\shortmid") +V(U, ye, xe, "∥", "\\shortparallel") +V(U, ye, xe, "≬", "\\between", !0) +V(U, ye, xe, "⋔", "\\pitchfork", !0) +V(U, ye, xe, "∝", "\\varpropto") +V(U, ye, xe, "◀", "\\blacktriangleleft") +V(U, ye, xe, "∴", "\\therefore", !0) +V(U, ye, xe, "∍", "\\backepsilon") +V(U, ye, xe, "▶", "\\blacktriangleright") +V(U, ye, xe, "∵", "\\because", !0) +V(U, ye, xe, "⋘", "\\llless") +V(U, ye, xe, "⋙", "\\gggtr") +V(U, ye, kt, "⊲", "\\lhd") +V(U, ye, kt, "⊳", "\\rhd") +V(U, ye, xe, "≂", "\\eqsim", !0) +V(U, te, xe, "⋈", "\\Join") +V(U, ye, xe, "≑", "\\Doteq", !0) +V(U, ye, kt, "∔", "\\dotplus", !0) +V(U, ye, kt, "∖", "\\smallsetminus") +V(U, ye, kt, "⋒", "\\Cap", !0) +V(U, ye, kt, "⋓", "\\Cup", !0) +V(U, ye, kt, "⩞", "\\doublebarwedge", !0) +V(U, ye, kt, "⊟", "\\boxminus", !0) +V(U, ye, kt, "⊞", "\\boxplus", !0) +V(U, ye, kt, "⋇", "\\divideontimes", !0) +V(U, ye, kt, "⋉", "\\ltimes", !0) +V(U, ye, kt, "⋊", "\\rtimes", !0) +V(U, ye, kt, "⋋", "\\leftthreetimes", !0) +V(U, ye, kt, "⋌", "\\rightthreetimes", !0) +V(U, ye, kt, "⋏", "\\curlywedge", !0) +V(U, ye, kt, "⋎", "\\curlyvee", !0) +V(U, ye, kt, "⊝", "\\circleddash", !0) +V(U, ye, kt, "⊛", "\\circledast", !0) +V(U, ye, kt, "⋅", "\\centerdot") +V(U, ye, kt, "⊺", "\\intercal", !0) +V(U, ye, kt, "⋒", "\\doublecap") +V(U, ye, kt, "⋓", "\\doublecup") +V(U, ye, kt, "⊠", "\\boxtimes", !0) +V(U, ye, xe, "⇢", "\\dashrightarrow", !0) +V(U, ye, xe, "⇠", "\\dashleftarrow", !0) +V(U, ye, xe, "⇇", "\\leftleftarrows", !0) +V(U, ye, xe, "⇆", "\\leftrightarrows", !0) +V(U, ye, xe, "⇚", "\\Lleftarrow", !0) +V(U, ye, xe, "↞", "\\twoheadleftarrow", !0) +V(U, ye, xe, "↢", "\\leftarrowtail", !0) +V(U, ye, xe, "↫", "\\looparrowleft", !0) +V(U, ye, xe, "⇋", "\\leftrightharpoons", !0) +V(U, ye, xe, "↶", "\\curvearrowleft", !0) +V(U, ye, xe, "↺", "\\circlearrowleft", !0) +V(U, ye, xe, "↰", "\\Lsh", !0) +V(U, ye, xe, "⇈", "\\upuparrows", !0) +V(U, ye, xe, "↿", "\\upharpoonleft", !0) +V(U, ye, xe, "⇃", "\\downharpoonleft", !0) +V(U, te, xe, "⊶", "\\origof", !0) +V(U, te, xe, "⊷", "\\imageof", !0) +V(U, ye, xe, "⊸", "\\multimap", !0) +V(U, ye, xe, "↭", "\\leftrightsquigarrow", !0) +V(U, ye, xe, "⇉", "\\rightrightarrows", !0) +V(U, ye, xe, "⇄", "\\rightleftarrows", !0) +V(U, ye, xe, "↠", "\\twoheadrightarrow", !0) +V(U, ye, xe, "↣", "\\rightarrowtail", !0) +V(U, ye, xe, "↬", "\\looparrowright", !0) +V(U, ye, xe, "↷", "\\curvearrowright", !0) +V(U, ye, xe, "↻", "\\circlearrowright", !0) +V(U, ye, xe, "↱", "\\Rsh", !0) +V(U, ye, xe, "⇊", "\\downdownarrows", !0) +V(U, ye, xe, "↾", "\\upharpoonright", !0) +V(U, ye, xe, "⇂", "\\downharpoonright", !0) +V(U, ye, xe, "⇝", "\\rightsquigarrow", !0) +V(U, ye, xe, "⇝", "\\leadsto") +V(U, ye, xe, "⇛", "\\Rrightarrow", !0) +V(U, ye, xe, "↾", "\\restriction") +V(U, te, Ae, "‘", "`") +V(U, te, Ae, "$", "\\$") +V(tt, te, Ae, "$", "\\$") +V(tt, te, Ae, "$", "\\textdollar") +V(U, te, Ae, "%", "\\%") +V(tt, te, Ae, "%", "\\%") +V(U, te, Ae, "_", "\\_") +V(tt, te, Ae, "_", "\\_") +V(tt, te, Ae, "_", "\\textunderscore") +V(U, te, Ae, "∠", "\\angle", !0) +V(U, te, Ae, "∞", "\\infty", !0) +V(U, te, Ae, "′", "\\prime") +V(U, te, Ae, "△", "\\triangle") +V(U, te, Ae, "Γ", "\\Gamma", !0) +V(U, te, Ae, "Δ", "\\Delta", !0) +V(U, te, Ae, "Θ", "\\Theta", !0) +V(U, te, Ae, "Λ", "\\Lambda", !0) +V(U, te, Ae, "Ξ", "\\Xi", !0) +V(U, te, Ae, "Π", "\\Pi", !0) +V(U, te, Ae, "Σ", "\\Sigma", !0) +V(U, te, Ae, "Υ", "\\Upsilon", !0) +V(U, te, Ae, "Φ", "\\Phi", !0) +V(U, te, Ae, "Ψ", "\\Psi", !0) +V(U, te, Ae, "Ω", "\\Omega", !0) +V(U, te, Ae, "A", "Α") +V(U, te, Ae, "B", "Β") +V(U, te, Ae, "E", "Ε") +V(U, te, Ae, "Z", "Ζ") +V(U, te, Ae, "H", "Η") +V(U, te, Ae, "I", "Ι") +V(U, te, Ae, "K", "Κ") +V(U, te, Ae, "M", "Μ") +V(U, te, Ae, "N", "Ν") +V(U, te, Ae, "O", "Ο") +V(U, te, Ae, "P", "Ρ") +V(U, te, Ae, "T", "Τ") +V(U, te, Ae, "X", "Χ") +V(U, te, Ae, "¬", "\\neg", !0) +V(U, te, Ae, "¬", "\\lnot") +V(U, te, Ae, "⊤", "\\top") +V(U, te, Ae, "⊥", "\\bot") +V(U, te, Ae, "∅", "\\emptyset") +V(U, ye, Ae, "∅", "\\varnothing") +V(U, te, zt, "α", "\\alpha", !0) +V(U, te, zt, "β", "\\beta", !0) +V(U, te, zt, "γ", "\\gamma", !0) +V(U, te, zt, "δ", "\\delta", !0) +V(U, te, zt, "ϵ", "\\epsilon", !0) +V(U, te, zt, "ζ", "\\zeta", !0) +V(U, te, zt, "η", "\\eta", !0) +V(U, te, zt, "θ", "\\theta", !0) +V(U, te, zt, "ι", "\\iota", !0) +V(U, te, zt, "κ", "\\kappa", !0) +V(U, te, zt, "λ", "\\lambda", !0) +V(U, te, zt, "μ", "\\mu", !0) +V(U, te, zt, "ν", "\\nu", !0) +V(U, te, zt, "ξ", "\\xi", !0) +V(U, te, zt, "ο", "\\omicron", !0) +V(U, te, zt, "π", "\\pi", !0) +V(U, te, zt, "ρ", "\\rho", !0) +V(U, te, zt, "σ", "\\sigma", !0) +V(U, te, zt, "τ", "\\tau", !0) +V(U, te, zt, "υ", "\\upsilon", !0) +V(U, te, zt, "ϕ", "\\phi", !0) +V(U, te, zt, "χ", "\\chi", !0) +V(U, te, zt, "ψ", "\\psi", !0) +V(U, te, zt, "ω", "\\omega", !0) +V(U, te, zt, "ε", "\\varepsilon", !0) +V(U, te, zt, "ϑ", "\\vartheta", !0) +V(U, te, zt, "ϖ", "\\varpi", !0) +V(U, te, zt, "ϱ", "\\varrho", !0) +V(U, te, zt, "ς", "\\varsigma", !0) +V(U, te, zt, "φ", "\\varphi", !0) +V(U, te, kt, "∗", "*", !0) +V(U, te, kt, "+", "+") +V(U, te, kt, "−", "-", !0) +V(U, te, kt, "⋅", "\\cdot", !0) +V(U, te, kt, "∘", "\\circ", !0) +V(U, te, kt, "÷", "\\div", !0) +V(U, te, kt, "±", "\\pm", !0) +V(U, te, kt, "×", "\\times", !0) +V(U, te, kt, "∩", "\\cap", !0) +V(U, te, kt, "∪", "\\cup", !0) +V(U, te, kt, "∖", "\\setminus", !0) +V(U, te, kt, "∧", "\\land") +V(U, te, kt, "∨", "\\lor") +V(U, te, kt, "∧", "\\wedge", !0) +V(U, te, kt, "∨", "\\vee", !0) +V(U, te, Ae, "√", "\\surd") +V(U, te, Ra, "⟨", "\\langle", !0) +V(U, te, Ra, "∣", "\\lvert") +V(U, te, Ra, "∥", "\\lVert") +V(U, te, Hi, "?", "?") +V(U, te, Hi, "!", "!") +V(U, te, Hi, "⟩", "\\rangle", !0) +V(U, te, Hi, "∣", "\\rvert") +V(U, te, Hi, "∥", "\\rVert") +V(U, te, xe, "=", "=") +V(U, te, xe, ":", ":") +V(U, te, xe, "≈", "\\approx", !0) +V(U, te, xe, "≅", "\\cong", !0) +V(U, te, xe, "≥", "\\ge") +V(U, te, xe, "≥", "\\geq", !0) +V(U, te, xe, "←", "\\gets") +V(U, te, xe, ">", "\\gt", !0) +V(U, te, xe, "∈", "\\in", !0) +V(U, te, xe, "", "\\@not") +V(U, te, xe, "⊂", "\\subset", !0) +V(U, te, xe, "⊃", "\\supset", !0) +V(U, te, xe, "⊆", "\\subseteq", !0) +V(U, te, xe, "⊇", "\\supseteq", !0) +V(U, ye, xe, "⊈", "\\nsubseteq", !0) +V(U, ye, xe, "⊉", "\\nsupseteq", !0) +V(U, te, xe, "⊨", "\\models") +V(U, te, xe, "←", "\\leftarrow", !0) +V(U, te, xe, "≤", "\\le") +V(U, te, xe, "≤", "\\leq", !0) +V(U, te, xe, "<", "\\lt", !0) +V(U, te, xe, "→", "\\rightarrow", !0) +V(U, te, xe, "→", "\\to") +V(U, ye, xe, "≱", "\\ngeq", !0) +V(U, ye, xe, "≰", "\\nleq", !0) +V(U, te, Qo, " ", "\\ ") +V(U, te, Qo, " ", "\\space") +V(U, te, Qo, " ", "\\nobreakspace") +V(tt, te, Qo, " ", "\\ ") +V(tt, te, Qo, " ", " ") +V(tt, te, Qo, " ", "\\space") +V(tt, te, Qo, " ", "\\nobreakspace") +V(U, te, Qo, null, "\\nobreak") +V(U, te, Qo, null, "\\allowbreak") +V(U, te, f2, ",", ",") +V(U, te, f2, ";", ";") +V(U, ye, kt, "⊼", "\\barwedge", !0) +V(U, ye, kt, "⊻", "\\veebar", !0) +V(U, te, kt, "⊙", "\\odot", !0) +V(U, te, kt, "⊕", "\\oplus", !0) +V(U, te, kt, "⊗", "\\otimes", !0) +V(U, te, Ae, "∂", "\\partial", !0) +V(U, te, kt, "⊘", "\\oslash", !0) +V(U, ye, kt, "⊚", "\\circledcirc", !0) +V(U, ye, kt, "⊡", "\\boxdot", !0) +V(U, te, kt, "△", "\\bigtriangleup") +V(U, te, kt, "▽", "\\bigtriangledown") +V(U, te, kt, "†", "\\dagger") +V(U, te, kt, "⋄", "\\diamond") +V(U, te, kt, "⋆", "\\star") +V(U, te, kt, "◃", "\\triangleleft") +V(U, te, kt, "▹", "\\triangleright") +V(U, te, Ra, "{", "\\{") +V(tt, te, Ae, "{", "\\{") +V(tt, te, Ae, "{", "\\textbraceleft") +V(U, te, Hi, "}", "\\}") +V(tt, te, Ae, "}", "\\}") +V(tt, te, Ae, "}", "\\textbraceright") +V(U, te, Ra, "{", "\\lbrace") +V(U, te, Hi, "}", "\\rbrace") +V(U, te, Ra, "[", "\\lbrack", !0) +V(tt, te, Ae, "[", "\\lbrack", !0) +V(U, te, Hi, "]", "\\rbrack", !0) +V(tt, te, Ae, "]", "\\rbrack", !0) +V(U, te, Ra, "(", "\\lparen", !0) +V(U, te, Hi, ")", "\\rparen", !0) +V(tt, te, Ae, "<", "\\textless", !0) +V(tt, te, Ae, ">", "\\textgreater", !0) +V(U, te, Ra, "⌊", "\\lfloor", !0) +V(U, te, Hi, "⌋", "\\rfloor", !0) +V(U, te, Ra, "⌈", "\\lceil", !0) +V(U, te, Hi, "⌉", "\\rceil", !0) +V(U, te, Ae, "\\", "\\backslash") +V(U, te, Ae, "∣", "|") +V(U, te, Ae, "∣", "\\vert") +V(tt, te, Ae, "|", "\\textbar", !0) +V(U, te, Ae, "∥", "\\|") +V(U, te, Ae, "∥", "\\Vert") +V(tt, te, Ae, "∥", "\\textbardbl") +V(tt, te, Ae, "~", "\\textasciitilde") +V(tt, te, Ae, "\\", "\\textbackslash") +V(tt, te, Ae, "^", "\\textasciicircum") +V(U, te, xe, "↑", "\\uparrow", !0) +V(U, te, xe, "⇑", "\\Uparrow", !0) +V(U, te, xe, "↓", "\\downarrow", !0) +V(U, te, xe, "⇓", "\\Downarrow", !0) +V(U, te, xe, "↕", "\\updownarrow", !0) +V(U, te, xe, "⇕", "\\Updownarrow", !0) +V(U, te, Sn, "∐", "\\coprod") +V(U, te, Sn, "⋁", "\\bigvee") +V(U, te, Sn, "⋀", "\\bigwedge") +V(U, te, Sn, "⨄", "\\biguplus") +V(U, te, Sn, "⋂", "\\bigcap") +V(U, te, Sn, "⋃", "\\bigcup") +V(U, te, Sn, "∫", "\\int") +V(U, te, Sn, "∫", "\\intop") +V(U, te, Sn, "∬", "\\iint") +V(U, te, Sn, "∭", "\\iiint") +V(U, te, Sn, "∏", "\\prod") +V(U, te, Sn, "∑", "\\sum") +V(U, te, Sn, "⨂", "\\bigotimes") +V(U, te, Sn, "⨁", "\\bigoplus") +V(U, te, Sn, "⨀", "\\bigodot") +V(U, te, Sn, "∮", "\\oint") +V(U, te, Sn, "∯", "\\oiint") +V(U, te, Sn, "∰", "\\oiiint") +V(U, te, Sn, "⨆", "\\bigsqcup") +V(U, te, Sn, "∫", "\\smallint") +V(tt, te, Jd, "…", "\\textellipsis") +V(U, te, Jd, "…", "\\mathellipsis") +V(tt, te, Jd, "…", "\\ldots", !0) +V(U, te, Jd, "…", "\\ldots", !0) +V(U, te, Jd, "⋯", "\\@cdots", !0) +V(U, te, Jd, "⋱", "\\ddots", !0) +V(U, te, Ae, "⋮", "\\varvdots") +V(tt, te, Ae, "⋮", "\\varvdots") +V(U, te, Zr, "ˊ", "\\acute") +V(U, te, Zr, "ˋ", "\\grave") +V(U, te, Zr, "¨", "\\ddot") +V(U, te, Zr, "~", "\\tilde") +V(U, te, Zr, "ˉ", "\\bar") +V(U, te, Zr, "˘", "\\breve") +V(U, te, Zr, "ˇ", "\\check") +V(U, te, Zr, "^", "\\hat") +V(U, te, Zr, "⃗", "\\vec") +V(U, te, Zr, "˙", "\\dot") +V(U, te, Zr, "˚", "\\mathring") +V(U, te, zt, "", "\\@imath") +V(U, te, zt, "", "\\@jmath") +V(U, te, Ae, "ı", "ı") +V(U, te, Ae, "ȷ", "ȷ") +V(tt, te, Ae, "ı", "\\i", !0) +V(tt, te, Ae, "ȷ", "\\j", !0) +V(tt, te, Ae, "ß", "\\ss", !0) +V(tt, te, Ae, "æ", "\\ae", !0) +V(tt, te, Ae, "œ", "\\oe", !0) +V(tt, te, Ae, "ø", "\\o", !0) +V(tt, te, Ae, "Æ", "\\AE", !0) +V(tt, te, Ae, "Œ", "\\OE", !0) +V(tt, te, Ae, "Ø", "\\O", !0) +V(tt, te, Zr, "ˊ", "\\'") +V(tt, te, Zr, "ˋ", "\\`") +V(tt, te, Zr, "ˆ", "\\^") +V(tt, te, Zr, "˜", "\\~") +V(tt, te, Zr, "ˉ", "\\=") +V(tt, te, Zr, "˘", "\\u") +V(tt, te, Zr, "˙", "\\.") +V(tt, te, Zr, "¸", "\\c") +V(tt, te, Zr, "˚", "\\r") +V(tt, te, Zr, "ˇ", "\\v") +V(tt, te, Zr, "¨", '\\"') +V(tt, te, Zr, "˝", "\\H") +V(tt, te, Zr, "◯", "\\textcircled") +var UN = { "--": !0, "---": !0, "``": !0, "''": !0 } +V(tt, te, Ae, "–", "--", !0) +V(tt, te, Ae, "–", "\\textendash") +V(tt, te, Ae, "—", "---", !0) +V(tt, te, Ae, "—", "\\textemdash") +V(tt, te, Ae, "‘", "`", !0) +V(tt, te, Ae, "‘", "\\textquoteleft") +V(tt, te, Ae, "’", "'", !0) +V(tt, te, Ae, "’", "\\textquoteright") +V(tt, te, Ae, "“", "``", !0) +V(tt, te, Ae, "“", "\\textquotedblleft") +V(tt, te, Ae, "”", "''", !0) +V(tt, te, Ae, "”", "\\textquotedblright") +V(U, te, Ae, "°", "\\degree", !0) +V(tt, te, Ae, "°", "\\degree") +V(tt, te, Ae, "°", "\\textdegree", !0) +V(U, te, Ae, "£", "\\pounds") +V(U, te, Ae, "£", "\\mathsterling", !0) +V(tt, te, Ae, "£", "\\pounds") +V(tt, te, Ae, "£", "\\textsterling", !0) +V(U, ye, Ae, "✠", "\\maltese") +V(tt, ye, Ae, "✠", "\\maltese") +var e7 = '0123456789/@."' +for (var eb = 0; eb < e7.length; eb++) { + var t7 = e7.charAt(eb) + V(U, te, Ae, t7, t7) +} +var r7 = '0123456789!@*()-=+";:?/.,' +for (var tb = 0; tb < r7.length; tb++) { + var n7 = r7.charAt(tb) + V(tt, te, Ae, n7, n7) +} +var mv = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" +for (var rb = 0; rb < mv.length; rb++) { + var t1 = mv.charAt(rb) + V(U, te, zt, t1, t1), V(tt, te, Ae, t1, t1) +} +V(U, ye, Ae, "C", "ℂ") +V(tt, ye, Ae, "C", "ℂ") +V(U, ye, Ae, "H", "ℍ") +V(tt, ye, Ae, "H", "ℍ") +V(U, ye, Ae, "N", "ℕ") +V(tt, ye, Ae, "N", "ℕ") +V(U, ye, Ae, "P", "ℙ") +V(tt, ye, Ae, "P", "ℙ") +V(U, ye, Ae, "Q", "ℚ") +V(tt, ye, Ae, "Q", "ℚ") +V(U, ye, Ae, "R", "ℝ") +V(tt, ye, Ae, "R", "ℝ") +V(U, ye, Ae, "Z", "ℤ") +V(tt, ye, Ae, "Z", "ℤ") +V(U, te, zt, "h", "ℎ") +V(tt, te, zt, "h", "ℎ") +var Yt = "" +for (var Ri = 0; Ri < mv.length; Ri++) { + var on = mv.charAt(Ri) + ;(Yt = String.fromCharCode(55349, 56320 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56372 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56424 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56580 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56684 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56736 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56788 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56840 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56944 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + Ri < 26 && + ((Yt = String.fromCharCode(55349, 56632 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt), + (Yt = String.fromCharCode(55349, 56476 + Ri)), + V(U, te, zt, on, Yt), + V(tt, te, Ae, on, Yt)) +} +Yt = "𝕜" +V(U, te, zt, "k", Yt) +V(tt, te, Ae, "k", Yt) +for (var sc = 0; sc < 10; sc++) { + var ll = sc.toString() + ;(Yt = String.fromCharCode(55349, 57294 + sc)), + V(U, te, zt, ll, Yt), + V(tt, te, Ae, ll, Yt), + (Yt = String.fromCharCode(55349, 57314 + sc)), + V(U, te, zt, ll, Yt), + V(tt, te, Ae, ll, Yt), + (Yt = String.fromCharCode(55349, 57324 + sc)), + V(U, te, zt, ll, Yt), + V(tt, te, Ae, ll, Yt), + (Yt = String.fromCharCode(55349, 57334 + sc)), + V(U, te, zt, ll, Yt), + V(tt, te, Ae, ll, Yt) +} +var c3 = "ÐÞþ" +for (var nb = 0; nb < c3.length; nb++) { + var r1 = c3.charAt(nb) + V(U, te, zt, r1, r1), V(tt, te, Ae, r1, r1) +} +var n1 = [ + ["mathbf", "textbf", "Main-Bold"], + ["mathbf", "textbf", "Main-Bold"], + ["mathnormal", "textit", "Math-Italic"], + ["mathnormal", "textit", "Math-Italic"], + ["boldsymbol", "boldsymbol", "Main-BoldItalic"], + ["boldsymbol", "boldsymbol", "Main-BoldItalic"], + ["mathscr", "textscr", "Script-Regular"], + ["", "", ""], + ["", "", ""], + ["", "", ""], + ["mathfrak", "textfrak", "Fraktur-Regular"], + ["mathfrak", "textfrak", "Fraktur-Regular"], + ["mathbb", "textbb", "AMS-Regular"], + ["mathbb", "textbb", "AMS-Regular"], + ["mathboldfrak", "textboldfrak", "Fraktur-Regular"], + ["mathboldfrak", "textboldfrak", "Fraktur-Regular"], + ["mathsf", "textsf", "SansSerif-Regular"], + ["mathsf", "textsf", "SansSerif-Regular"], + ["mathboldsf", "textboldsf", "SansSerif-Bold"], + ["mathboldsf", "textboldsf", "SansSerif-Bold"], + ["mathitsf", "textitsf", "SansSerif-Italic"], + ["mathitsf", "textitsf", "SansSerif-Italic"], + ["", "", ""], + ["", "", ""], + ["mathtt", "texttt", "Typewriter-Regular"], + ["mathtt", "texttt", "Typewriter-Regular"], + ], + i7 = [ + ["mathbf", "textbf", "Main-Bold"], + ["", "", ""], + ["mathsf", "textsf", "SansSerif-Regular"], + ["mathboldsf", "textboldsf", "SansSerif-Bold"], + ["mathtt", "texttt", "Typewriter-Regular"], + ], + MY = function (e, r) { + var n = e.charCodeAt(0), + i = e.charCodeAt(1), + a = (n - 55296) * 1024 + (i - 56320) + 65536, + s = r === "math" ? 0 : 1 + if (119808 <= a && a < 120484) { + var o = Math.floor((a - 119808) / 26) + return [n1[o][2], n1[o][s]] + } else if (120782 <= a && a <= 120831) { + var l = Math.floor((a - 120782) / 10) + return [i7[l][2], i7[l][s]] + } else { + if (a === 120485 || a === 120486) return [n1[0][2], n1[0][s]] + if (120486 < a && a < 120782) return ["", ""] + throw new at("Unsupported character: " + e) + } + }, + p2 = function (e, r, n) { + return Ur[n][e] && Ur[n][e].replace && (e = Ur[n][e].replace), { value: e, metrics: uT(e, r, n) } + }, + cs = function (e, r, n, i, a) { + var s = p2(e, r, n), + o = s.metrics + e = s.value + var l + if (o) { + var u = o.italic + ;(n === "text" || (i && i.font === "mathit")) && (u = 0), + (l = new Za(e, o.height, o.depth, u, o.skew, o.width, a)) + } else + typeof console < "u" && + console.warn("No character metrics " + ("for '" + e + "' in style '" + r + "' and mode '" + n + "'")), + (l = new Za(e, 0, 0, 0, 0, 0, a)) + if (i) { + ;(l.maxFontSize = i.sizeMultiplier), i.style.isTight() && l.classes.push("mtight") + var h = i.getColor() + h && (l.style.color = h) + } + return l + }, + OY = function (e, r, n, i) { + return ( + i === void 0 && (i = []), + n.font === "boldsymbol" && p2(e, "Main-Bold", r).metrics + ? cs(e, "Main-Bold", r, n, i.concat(["mathbf"])) + : e === "\\" || Ur[r][e].font === "main" + ? cs(e, "Main-Regular", r, n, i) + : cs(e, "AMS-Regular", r, n, i.concat(["amsrm"])) + ) + }, + PY = function (e, r, n, i, a) { + return a !== "textord" && p2(e, "Math-BoldItalic", r).metrics + ? { fontName: "Math-BoldItalic", fontClass: "boldsymbol" } + : { fontName: "Main-Bold", fontClass: "mathbf" } + }, + BY = function (e, r, n) { + var i = e.mode, + a = e.text, + s = ["mord"], + o = i === "math" || (i === "text" && r.font), + l = o ? r.font : r.fontFamily, + u = "", + h = "" + if ((a.charCodeAt(0) === 55349 && ([u, h] = MY(a, i)), u.length > 0)) return cs(a, u, i, r, s.concat(h)) + if (l) { + var d, f + if (l === "boldsymbol") { + var p = PY(a, i, r, s, n) + ;(d = p.fontName), (f = [p.fontClass]) + } else + o + ? ((d = HN[l].fontName), (f = [l])) + : ((d = i1(l, r.fontWeight, r.fontShape)), (f = [l, r.fontWeight, r.fontShape])) + if (p2(a, d, i).metrics) return cs(a, d, i, r, s.concat(f)) + if (UN.hasOwnProperty(a) && d.slice(0, 10) === "Typewriter") { + for (var g = [], m = 0; m < a.length; m++) g.push(cs(a[m], d, i, r, s.concat(f))) + return WN(g) + } + } + if (n === "mathord") return cs(a, "Math-Italic", i, r, s.concat(["mathnormal"])) + if (n === "textord") { + var v = Ur[i][a] && Ur[i][a].font + if (v === "ams") { + var y = i1("amsrm", r.fontWeight, r.fontShape) + return cs(a, y, i, r, s.concat("amsrm", r.fontWeight, r.fontShape)) + } else if (v === "main" || !v) { + var b = i1("textrm", r.fontWeight, r.fontShape) + return cs(a, b, i, r, s.concat(r.fontWeight, r.fontShape)) + } else { + var w = i1(v, r.fontWeight, r.fontShape) + return cs(a, w, i, r, s.concat(w, r.fontWeight, r.fontShape)) + } + } else throw new Error("unexpected type: " + n + " in makeOrd") + }, + FY = (t, e) => { + if (Al(t.classes) !== Al(e.classes) || t.skew !== e.skew || t.maxFontSize !== e.maxFontSize) return !1 + if (t.classes.length === 1) { + var r = t.classes[0] + if (r === "mbin" || r === "mord") return !1 + } + for (var n in t.style) if (t.style.hasOwnProperty(n) && t.style[n] !== e.style[n]) return !1 + for (var i in e.style) if (e.style.hasOwnProperty(i) && t.style[i] !== e.style[i]) return !1 + return !0 + }, + $Y = (t) => { + for (var e = 0; e < t.length - 1; e++) { + var r = t[e], + n = t[e + 1] + r instanceof Za && + n instanceof Za && + FY(r, n) && + ((r.text += n.text), + (r.height = Math.max(r.height, n.height)), + (r.depth = Math.max(r.depth, n.depth)), + (r.italic = n.italic), + t.splice(e + 1, 1), + e--) + } + return t + }, + dT = function (e) { + for (var r = 0, n = 0, i = 0, a = 0; a < e.children.length; a++) { + var s = e.children[a] + s.height > r && (r = s.height), s.depth > n && (n = s.depth), s.maxFontSize > i && (i = s.maxFontSize) + } + ;(e.height = r), (e.depth = n), (e.maxFontSize = i) + }, + Zi = function (e, r, n, i) { + var a = new ag(e, r, n, i) + return dT(a), a + }, + qN = (t, e, r, n) => new ag(t, e, r, n), + zY = function (e, r, n) { + var i = Zi([e], [], r) + return ( + (i.height = Math.max(n || r.fontMetrics().defaultRuleThickness, r.minRuleThickness)), + (i.style.borderBottomWidth = ft(i.height)), + (i.maxFontSize = 1), + i + ) + }, + VY = function (e, r, n, i) { + var a = new hT(e, r, n, i) + return dT(a), a + }, + WN = function (e) { + var r = new ig(e) + return dT(r), r + }, + GY = function (e, r) { + return e instanceof ig ? Zi([], [e], r) : e + }, + UY = function (e) { + if (e.positionType === "individualShift") { + for (var r = e.children, n = [r[0]], i = -r[0].shift - r[0].elem.depth, a = i, s = 1; s < r.length; s++) { + var o = -r[s].shift - a - r[s].elem.depth, + l = o - (r[s - 1].elem.height + r[s - 1].elem.depth) + ;(a = a + o), n.push({ type: "kern", size: l }), n.push(r[s]) + } + return { children: n, depth: i } + } + var u + if (e.positionType === "top") { + for (var h = e.positionData, d = 0; d < e.children.length; d++) { + var f = e.children[d] + h -= f.type === "kern" ? f.size : f.elem.height + f.elem.depth + } + u = h + } else if (e.positionType === "bottom") u = -e.positionData + else { + var p = e.children[0] + if (p.type !== "elem") throw new Error('First child must have type "elem".') + if (e.positionType === "shift") u = -p.elem.depth - e.positionData + else if (e.positionType === "firstBaseline") u = -p.elem.depth + else throw new Error("Invalid positionType " + e.positionType + ".") + } + return { children: e.children, depth: u } + }, + qY = function (e, r) { + for (var { children: n, depth: i } = UY(e), a = 0, s = 0; s < n.length; s++) { + var o = n[s] + if (o.type === "elem") { + var l = o.elem + a = Math.max(a, l.maxFontSize, l.height) + } + } + a += 2 + var u = Zi(["pstrut"], []) + u.style.height = ft(a) + for (var h = [], d = i, f = i, p = i, g = 0; g < n.length; g++) { + var m = n[g] + if (m.type === "kern") p += m.size + else { + var v = m.elem, + y = m.wrapperClasses || [], + b = m.wrapperStyle || {}, + w = Zi(y, [u, v], void 0, b) + ;(w.style.top = ft(-a - p - v.depth)), + m.marginLeft && (w.style.marginLeft = m.marginLeft), + m.marginRight && (w.style.marginRight = m.marginRight), + h.push(w), + (p += v.height + v.depth) + } + ;(d = Math.min(d, p)), (f = Math.max(f, p)) + } + var T = Zi(["vlist"], h) + T.style.height = ft(f) + var E + if (d < 0) { + var S = Zi([], []), + k = Zi(["vlist"], [S]) + k.style.height = ft(-d) + var L = Zi(["vlist-s"], [new Za("​")]) + E = [Zi(["vlist-r"], [T, L]), Zi(["vlist-r"], [k])] + } else E = [Zi(["vlist-r"], [T])] + var A = Zi(["vlist-t"], E) + return E.length === 2 && A.classes.push("vlist-t2"), (A.height = f), (A.depth = -d), A + }, + WY = (t, e) => { + var r = Zi(["mspace"], [], e), + n = en(t, e) + return (r.style.marginRight = ft(n)), r + }, + i1 = function (e, r, n) { + var i = "" + switch (e) { + case "amsrm": + i = "AMS" + break + case "textrm": + i = "Main" + break + case "textsf": + i = "SansSerif" + break + case "texttt": + i = "Typewriter" + break + default: + i = e + } + var a + return ( + r === "textbf" && n === "textit" + ? (a = "BoldItalic") + : r === "textbf" + ? (a = "Bold") + : r === "textit" + ? (a = "Italic") + : (a = "Regular"), + i + "-" + a + ) + }, + HN = { + mathbf: { variant: "bold", fontName: "Main-Bold" }, + mathrm: { variant: "normal", fontName: "Main-Regular" }, + textit: { variant: "italic", fontName: "Main-Italic" }, + mathit: { variant: "italic", fontName: "Main-Italic" }, + mathnormal: { variant: "italic", fontName: "Math-Italic" }, + mathsfit: { variant: "sans-serif-italic", fontName: "SansSerif-Italic" }, + mathbb: { variant: "double-struck", fontName: "AMS-Regular" }, + mathcal: { variant: "script", fontName: "Caligraphic-Regular" }, + mathfrak: { variant: "fraktur", fontName: "Fraktur-Regular" }, + mathscr: { variant: "script", fontName: "Script-Regular" }, + mathsf: { variant: "sans-serif", fontName: "SansSerif-Regular" }, + mathtt: { variant: "monospace", fontName: "Typewriter-Regular" }, + }, + YN = { + vec: ["vec", 0.471, 0.714], + oiintSize1: ["oiintSize1", 0.957, 0.499], + oiintSize2: ["oiintSize2", 1.472, 0.659], + oiiintSize1: ["oiiintSize1", 1.304, 0.499], + oiiintSize2: ["oiiintSize2", 1.98, 0.659], + }, + HY = function (e, r) { + var [n, i, a] = YN[e], + s = new _l(n), + o = new zo([s], { + width: ft(i), + height: ft(a), + style: "width:" + ft(i), + viewBox: "0 0 " + 1e3 * i + " " + 1e3 * a, + preserveAspectRatio: "xMinYMin", + }), + l = qN(["overlay"], [o], r) + return (l.height = a), (l.style.height = ft(a)), (l.style.width = ft(i)), l + }, + Pe = { + fontMap: HN, + makeSymbol: cs, + mathsym: OY, + makeSpan: Zi, + makeSvgSpan: qN, + makeLineSpan: zY, + makeAnchor: VY, + makeFragment: WN, + wrapFragment: GY, + makeVList: qY, + makeOrd: BY, + makeGlue: WY, + staticSvg: HY, + svgData: YN, + tryCombineChars: $Y, + }, + Jr = { number: 3, unit: "mu" }, + oc = { number: 4, unit: "mu" }, + po = { number: 5, unit: "mu" }, + YY = { + mord: { mop: Jr, mbin: oc, mrel: po, minner: Jr }, + mop: { mord: Jr, mop: Jr, mrel: po, minner: Jr }, + mbin: { mord: oc, mop: oc, mopen: oc, minner: oc }, + mrel: { mord: po, mop: po, mopen: po, minner: po }, + mopen: {}, + mclose: { mop: Jr, mbin: oc, mrel: po, minner: Jr }, + mpunct: { mord: Jr, mop: Jr, mrel: po, mopen: Jr, mclose: Jr, mpunct: Jr, minner: Jr }, + minner: { mord: Jr, mop: Jr, mbin: oc, mrel: po, mopen: Jr, mpunct: Jr, minner: Jr }, + }, + XY = { + mord: { mop: Jr }, + mop: { mord: Jr, mop: Jr }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { mop: Jr }, + mpunct: {}, + minner: { mop: Jr }, + }, + XN = {}, + vv = {}, + yv = {} +function bt(t) { + for ( + var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t, + o = { + type: e, + numArgs: n.numArgs, + argTypes: n.argTypes, + allowedInArgument: !!n.allowedInArgument, + allowedInText: !!n.allowedInText, + allowedInMath: n.allowedInMath === void 0 ? !0 : n.allowedInMath, + numOptionalArgs: n.numOptionalArgs || 0, + infix: !!n.infix, + primitive: !!n.primitive, + handler: i, + }, + l = 0; + l < r.length; + ++l + ) + XN[r[l]] = o + e && (a && (vv[e] = a), s && (yv[e] = s)) +} +function du(t) { + var { type: e, htmlBuilder: r, mathmlBuilder: n } = t + bt({ + type: e, + names: [], + props: { numArgs: 0 }, + handler() { + throw new Error("Should never be called.") + }, + htmlBuilder: r, + mathmlBuilder: n, + }) +} +var xv = function (e) { + return e.type === "ordgroup" && e.body.length === 1 ? e.body[0] : e + }, + vn = function (e) { + return e.type === "ordgroup" ? e.body : [e] + }, + Vo = Pe.makeSpan, + jY = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"], + KY = ["rightmost", "mrel", "mclose", "mpunct"], + ZY = { display: Vt.DISPLAY, text: Vt.TEXT, script: Vt.SCRIPT, scriptscript: Vt.SCRIPTSCRIPT }, + QY = { + mord: "mord", + mop: "mop", + mbin: "mbin", + mrel: "mrel", + mopen: "mopen", + mclose: "mclose", + mpunct: "mpunct", + minner: "minner", + }, + Fn = function (e, r, n, i) { + i === void 0 && (i = [null, null]) + for (var a = [], s = 0; s < e.length; s++) { + var o = vr(e[s], r) + if (o instanceof ig) { + var l = o.children + a.push(...l) + } else a.push(o) + } + if ((Pe.tryCombineChars(a), !n)) return a + var u = r + if (e.length === 1) { + var h = e[0] + h.type === "sizing" ? (u = r.havingSize(h.size)) : h.type === "styling" && (u = r.havingStyle(ZY[h.style])) + } + var d = Vo([i[0] || "leftmost"], [], r), + f = Vo([i[1] || "rightmost"], [], r), + p = n === "root" + return ( + a7( + a, + (g, m) => { + var v = m.classes[0], + y = g.classes[0] + v === "mbin" && Ft.contains(KY, y) + ? (m.classes[0] = "mord") + : y === "mbin" && Ft.contains(jY, v) && (g.classes[0] = "mord") + }, + { node: d }, + f, + p, + ), + a7( + a, + (g, m) => { + var v = u3(m), + y = u3(g), + b = v && y ? (g.hasClass("mtight") ? XY[v][y] : YY[v][y]) : null + if (b) return Pe.makeGlue(b, u) + }, + { node: d }, + f, + p, + ), + a + ) + }, + a7 = function t(e, r, n, i, a) { + i && e.push(i) + for (var s = 0; s < e.length; s++) { + var o = e[s], + l = jN(o) + if (l) { + t(l.children, r, n, null, a) + continue + } + var u = !o.hasClass("mspace") + if (u) { + var h = r(o, n.node) + h && (n.insertAfter ? n.insertAfter(h) : (e.unshift(h), s++)) + } + u ? (n.node = o) : a && o.hasClass("newline") && (n.node = Vo(["leftmost"])), + (n.insertAfter = ((d) => (f) => { + e.splice(d + 1, 0, f), s++ + })(s)) + } + i && e.pop() + }, + jN = function (e) { + return e instanceof ig || e instanceof hT || (e instanceof ag && e.hasClass("enclosing")) ? e : null + }, + JY = function t(e, r) { + var n = jN(e) + if (n) { + var i = n.children + if (i.length) { + if (r === "right") return t(i[i.length - 1], "right") + if (r === "left") return t(i[0], "left") + } + } + return e + }, + u3 = function (e, r) { + return e ? (r && (e = JY(e, r)), QY[e.classes[0]] || null) : null + }, + gp = function (e, r) { + var n = ["nulldelimiter"].concat(e.baseSizingClasses()) + return Vo(r.concat(n)) + }, + vr = function (e, r, n) { + if (!e) return Vo() + if (vv[e.type]) { + var i = vv[e.type](e, r) + if (n && r.size !== n.size) { + i = Vo(r.sizingClasses(n), [i], r) + var a = r.sizeMultiplier / n.sizeMultiplier + ;(i.height *= a), (i.depth *= a) + } + return i + } else throw new at("Got group of unknown type: '" + e.type + "'") + } +function a1(t, e) { + var r = Vo(["base"], t, e), + n = Vo(["strut"]) + return ( + (n.style.height = ft(r.height + r.depth)), + r.depth && (n.style.verticalAlign = ft(-r.depth)), + r.children.unshift(n), + r + ) +} +function h3(t, e) { + var r = null + t.length === 1 && t[0].type === "tag" && ((r = t[0].tag), (t = t[0].body)) + var n = Fn(t, e, "root"), + i + n.length === 2 && n[1].hasClass("tag") && (i = n.pop()) + for (var a = [], s = [], o = 0; o < n.length; o++) + if ((s.push(n[o]), n[o].hasClass("mbin") || n[o].hasClass("mrel") || n[o].hasClass("allowbreak"))) { + for (var l = !1; o < n.length - 1 && n[o + 1].hasClass("mspace") && !n[o + 1].hasClass("newline"); ) + o++, s.push(n[o]), n[o].hasClass("nobreak") && (l = !0) + l || (a.push(a1(s, e)), (s = [])) + } else n[o].hasClass("newline") && (s.pop(), s.length > 0 && (a.push(a1(s, e)), (s = [])), a.push(n[o])) + s.length > 0 && a.push(a1(s, e)) + var u + r ? ((u = a1(Fn(r, e, !0))), (u.classes = ["tag"]), a.push(u)) : i && a.push(i) + var h = Vo(["katex-html"], a) + if ((h.setAttribute("aria-hidden", "true"), u)) { + var d = u.children[0] + ;(d.style.height = ft(h.height + h.depth)), h.depth && (d.style.verticalAlign = ft(-h.depth)) + } + return h +} +function KN(t) { + return new ig(t) +} +class Ea { + constructor(e, r, n) { + ;(this.type = void 0), + (this.attributes = void 0), + (this.children = void 0), + (this.classes = void 0), + (this.type = e), + (this.attributes = {}), + (this.children = r || []), + (this.classes = n || []) + } + setAttribute(e, r) { + this.attributes[e] = r + } + getAttribute(e) { + return this.attributes[e] + } + toNode() { + var e = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type) + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && e.setAttribute(r, this.attributes[r]) + this.classes.length > 0 && (e.className = Al(this.classes)) + for (var n = 0; n < this.children.length; n++) + if (this.children[n] instanceof Us && this.children[n + 1] instanceof Us) { + for ( + var i = this.children[n].toText() + this.children[++n].toText(); + this.children[n + 1] instanceof Us; + + ) + i += this.children[++n].toText() + e.appendChild(new Us(i).toNode()) + } else e.appendChild(this.children[n].toNode()) + return e + } + toMarkup() { + var e = "<" + this.type + for (var r in this.attributes) + Object.prototype.hasOwnProperty.call(this.attributes, r) && + ((e += " " + r + '="'), (e += Ft.escape(this.attributes[r])), (e += '"')) + this.classes.length > 0 && (e += ' class ="' + Ft.escape(Al(this.classes)) + '"'), (e += ">") + for (var n = 0; n < this.children.length; n++) e += this.children[n].toMarkup() + return (e += "</" + this.type + ">"), e + } + toText() { + return this.children.map((e) => e.toText()).join("") + } +} +class Us { + constructor(e) { + ;(this.text = void 0), (this.text = e) + } + toNode() { + return document.createTextNode(this.text) + } + toMarkup() { + return Ft.escape(this.toText()) + } + toText() { + return this.text + } +} +class eX { + constructor(e) { + ;(this.width = void 0), + (this.character = void 0), + (this.width = e), + e >= 0.05555 && e <= 0.05556 + ? (this.character = " ") + : e >= 0.1666 && e <= 0.1667 + ? (this.character = " ") + : e >= 0.2222 && e <= 0.2223 + ? (this.character = " ") + : e >= 0.2777 && e <= 0.2778 + ? (this.character = "  ") + : e >= -0.05556 && e <= -0.05555 + ? (this.character = " ⁣") + : e >= -0.1667 && e <= -0.1666 + ? (this.character = " ⁣") + : e >= -0.2223 && e <= -0.2222 + ? (this.character = " ⁣") + : e >= -0.2778 && e <= -0.2777 + ? (this.character = " ⁣") + : (this.character = null) + } + toNode() { + if (this.character) return document.createTextNode(this.character) + var e = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace") + return e.setAttribute("width", ft(this.width)), e + } + toMarkup() { + return this.character ? "<mtext>" + this.character + "</mtext>" : '<mspace width="' + ft(this.width) + '"/>' + } + toText() { + return this.character ? this.character : " " + } +} +var nt = { MathNode: Ea, TextNode: Us, SpaceNode: eX, newDocumentFragment: KN }, + Qa = function (e, r, n) { + return ( + Ur[r][e] && + Ur[r][e].replace && + e.charCodeAt(0) !== 55349 && + !( + UN.hasOwnProperty(e) && + n && + ((n.fontFamily && n.fontFamily.slice(4, 6) === "tt") || (n.font && n.font.slice(4, 6) === "tt")) + ) && + (e = Ur[r][e].replace), + new nt.TextNode(e) + ) + }, + fT = function (e) { + return e.length === 1 ? e[0] : new nt.MathNode("mrow", e) + }, + pT = function (e, r) { + if (r.fontFamily === "texttt") return "monospace" + if (r.fontFamily === "textsf") + return r.fontShape === "textit" && r.fontWeight === "textbf" + ? "sans-serif-bold-italic" + : r.fontShape === "textit" + ? "sans-serif-italic" + : r.fontWeight === "textbf" + ? "bold-sans-serif" + : "sans-serif" + if (r.fontShape === "textit" && r.fontWeight === "textbf") return "bold-italic" + if (r.fontShape === "textit") return "italic" + if (r.fontWeight === "textbf") return "bold" + var n = r.font + if (!n || n === "mathnormal") return null + var i = e.mode + if (n === "mathit") return "italic" + if (n === "boldsymbol") return e.type === "textord" ? "bold" : "bold-italic" + if (n === "mathbf") return "bold" + if (n === "mathbb") return "double-struck" + if (n === "mathsfit") return "sans-serif-italic" + if (n === "mathfrak") return "fraktur" + if (n === "mathscr" || n === "mathcal") return "script" + if (n === "mathsf") return "sans-serif" + if (n === "mathtt") return "monospace" + var a = e.text + if (Ft.contains(["\\imath", "\\jmath"], a)) return null + Ur[i][a] && Ur[i][a].replace && (a = Ur[i][a].replace) + var s = Pe.fontMap[n].fontName + return uT(a, s, i) ? Pe.fontMap[n].variant : null + } +function ib(t) { + if (!t) return !1 + if (t.type === "mi" && t.children.length === 1) { + var e = t.children[0] + return e instanceof Us && e.text === "." + } else if ( + t.type === "mo" && + t.children.length === 1 && + t.getAttribute("separator") === "true" && + t.getAttribute("lspace") === "0em" && + t.getAttribute("rspace") === "0em" + ) { + var r = t.children[0] + return r instanceof Us && r.text === "," + } else return !1 +} +var ha = function (e, r, n) { + if (e.length === 1) { + var i = $r(e[0], r) + return ( + n && + i instanceof Ea && + i.type === "mo" && + (i.setAttribute("lspace", "0em"), i.setAttribute("rspace", "0em")), + [i] + ) + } + for (var a = [], s, o = 0; o < e.length; o++) { + var l = $r(e[o], r) + if (l instanceof Ea && s instanceof Ea) { + if ( + l.type === "mtext" && + s.type === "mtext" && + l.getAttribute("mathvariant") === s.getAttribute("mathvariant") + ) { + s.children.push(...l.children) + continue + } else if (l.type === "mn" && s.type === "mn") { + s.children.push(...l.children) + continue + } else if (ib(l) && s.type === "mn") { + s.children.push(...l.children) + continue + } else if (l.type === "mn" && ib(s)) (l.children = [...s.children, ...l.children]), a.pop() + else if ( + (l.type === "msup" || l.type === "msub") && + l.children.length >= 1 && + (s.type === "mn" || ib(s)) + ) { + var u = l.children[0] + u instanceof Ea && u.type === "mn" && ((u.children = [...s.children, ...u.children]), a.pop()) + } else if (s.type === "mi" && s.children.length === 1) { + var h = s.children[0] + if (h instanceof Us && h.text === "̸" && (l.type === "mo" || l.type === "mi" || l.type === "mn")) { + var d = l.children[0] + d instanceof Us && + d.text.length > 0 && + ((d.text = d.text.slice(0, 1) + "̸" + d.text.slice(1)), a.pop()) + } + } + } + a.push(l), (s = l) + } + return a + }, + Ll = function (e, r, n) { + return fT(ha(e, r, n)) + }, + $r = function (e, r) { + if (!e) return new nt.MathNode("mrow") + if (yv[e.type]) { + var n = yv[e.type](e, r) + return n + } else throw new at("Got group of unknown type: '" + e.type + "'") + } +function s7(t, e, r, n, i) { + var a = ha(t, r), + s + a.length === 1 && a[0] instanceof Ea && Ft.contains(["mrow", "mtable"], a[0].type) + ? (s = a[0]) + : (s = new nt.MathNode("mrow", a)) + var o = new nt.MathNode("annotation", [new nt.TextNode(e)]) + o.setAttribute("encoding", "application/x-tex") + var l = new nt.MathNode("semantics", [s, o]), + u = new nt.MathNode("math", [l]) + u.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"), n && u.setAttribute("display", "block") + var h = i ? "katex" : "katex-mathml" + return Pe.makeSpan([h], [u]) +} +var ZN = function (e) { + return new Eo({ + style: e.displayMode ? Vt.DISPLAY : Vt.TEXT, + maxSize: e.maxSize, + minRuleThickness: e.minRuleThickness, + }) + }, + QN = function (e, r) { + if (r.displayMode) { + var n = ["katex-display"] + r.leqno && n.push("leqno"), r.fleqn && n.push("fleqn"), (e = Pe.makeSpan(n, [e])) + } + return e + }, + tX = function (e, r, n) { + var i = ZN(n), + a + if (n.output === "mathml") return s7(e, r, i, n.displayMode, !0) + if (n.output === "html") { + var s = h3(e, i) + a = Pe.makeSpan(["katex"], [s]) + } else { + var o = s7(e, r, i, n.displayMode, !1), + l = h3(e, i) + a = Pe.makeSpan(["katex"], [o, l]) + } + return QN(a, n) + }, + rX = function (e, r, n) { + var i = ZN(n), + a = h3(e, i), + s = Pe.makeSpan(["katex"], [a]) + return QN(s, n) + }, + nX = { + widehat: "^", + widecheck: "ˇ", + widetilde: "~", + utilde: "~", + overleftarrow: "←", + underleftarrow: "←", + xleftarrow: "←", + overrightarrow: "→", + underrightarrow: "→", + xrightarrow: "→", + underbrace: "⏟", + overbrace: "⏞", + overgroup: "⏠", + undergroup: "⏡", + overleftrightarrow: "↔", + underleftrightarrow: "↔", + xleftrightarrow: "↔", + Overrightarrow: "⇒", + xRightarrow: "⇒", + overleftharpoon: "↼", + xleftharpoonup: "↼", + overrightharpoon: "⇀", + xrightharpoonup: "⇀", + xLeftarrow: "⇐", + xLeftrightarrow: "⇔", + xhookleftarrow: "↩", + xhookrightarrow: "↪", + xmapsto: "↦", + xrightharpoondown: "⇁", + xleftharpoondown: "↽", + xrightleftharpoons: "⇌", + xleftrightharpoons: "⇋", + xtwoheadleftarrow: "↞", + xtwoheadrightarrow: "↠", + xlongequal: "=", + xtofrom: "⇄", + xrightleftarrows: "⇄", + xrightequilibrium: "⇌", + xleftequilibrium: "⇋", + "\\cdrightarrow": "→", + "\\cdleftarrow": "←", + "\\cdlongequal": "=", + }, + iX = function (e) { + var r = new nt.MathNode("mo", [new nt.TextNode(nX[e.replace(/^\\/, "")])]) + return r.setAttribute("stretchy", "true"), r + }, + aX = { + overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"], + underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"], + xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"], + "\\cdrightarrow": [["rightarrow"], 3, 522, "xMaxYMin"], + xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"], + "\\cdleftarrow": [["leftarrow"], 3, 522, "xMinYMin"], + Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"], + xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"], + xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"], + overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"], + xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"], + overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"], + xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"], + xlongequal: [["longequal"], 0.888, 334, "xMinYMin"], + "\\cdlongequal": [["longequal"], 3, 334, "xMinYMin"], + xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"], + xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"], + overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548], + underbrace: [["leftbraceunder", "midbraceunder", "rightbraceunder"], 1.6, 548], + underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522], + xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522], + xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560], + xrightleftharpoons: [["leftharpoondownplus", "rightharpoonplus"], 1.75, 716], + xleftrightharpoons: [["leftharpoonplus", "rightharpoondownplus"], 1.75, 716], + xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522], + xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522], + overlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + underlinesegment: [["leftlinesegment", "rightlinesegment"], 0.888, 522], + overgroup: [["leftgroup", "rightgroup"], 0.888, 342], + undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342], + xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522], + xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528], + xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], + xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], + xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716], + }, + sX = function (e) { + return e.type === "ordgroup" ? e.body.length : 1 + }, + oX = function (e, r) { + function n() { + var o = 4e5, + l = e.label.slice(1) + if (Ft.contains(["widehat", "widecheck", "widetilde", "utilde"], l)) { + var u = e, + h = sX(u.base), + d, + f, + p + if (h > 5) + l === "widehat" || l === "widecheck" + ? ((d = 420), (o = 2364), (p = 0.42), (f = l + "4")) + : ((d = 312), (o = 2340), (p = 0.34), (f = "tilde4")) + else { + var g = [1, 1, 2, 2, 3, 3][h] + l === "widehat" || l === "widecheck" + ? ((o = [0, 1062, 2364, 2364, 2364][g]), + (d = [0, 239, 300, 360, 420][g]), + (p = [0, 0.24, 0.3, 0.3, 0.36, 0.42][g]), + (f = l + g)) + : ((o = [0, 600, 1033, 2339, 2340][g]), + (d = [0, 260, 286, 306, 312][g]), + (p = [0, 0.26, 0.286, 0.3, 0.306, 0.34][g]), + (f = "tilde" + g)) + } + var m = new _l(f), + v = new zo([m], { + width: "100%", + height: ft(p), + viewBox: "0 0 " + o + " " + d, + preserveAspectRatio: "none", + }) + return { span: Pe.makeSvgSpan([], [v], r), minWidth: 0, height: p } + } else { + var y = [], + b = aX[l], + [w, T, E] = b, + S = E / 1e3, + k = w.length, + L, + A + if (k === 1) { + var R = b[3] + ;(L = ["hide-tail"]), (A = [R]) + } else if (k === 2) (L = ["halfarrow-left", "halfarrow-right"]), (A = ["xMinYMin", "xMaxYMin"]) + else if (k === 3) + (L = ["brace-left", "brace-center", "brace-right"]), (A = ["xMinYMin", "xMidYMin", "xMaxYMin"]) + else + throw new Error( + `Correct katexImagesData or update code here to support + ` + + k + + " children.", + ) + for (var C = 0; C < k; C++) { + var I = new _l(w[C]), + P = new zo([I], { + width: "400em", + height: ft(S), + viewBox: "0 0 " + o + " " + E, + preserveAspectRatio: A[C] + " slice", + }), + _ = Pe.makeSvgSpan([L[C]], [P], r) + if (k === 1) return { span: _, minWidth: T, height: S } + ;(_.style.height = ft(S)), y.push(_) + } + return { span: Pe.makeSpan(["stretchy"], y, r), minWidth: T, height: S } + } + } + var { span: i, minWidth: a, height: s } = n() + return (i.height = s), (i.style.height = ft(s)), a > 0 && (i.style.minWidth = ft(a)), i + }, + lX = function (e, r, n, i, a) { + var s, + o = e.height + e.depth + n + i + if (/fbox|color|angl/.test(r)) { + if (((s = Pe.makeSpan(["stretchy", r], [], a)), r === "fbox")) { + var l = a.color && a.getColor() + l && (s.style.borderColor = l) + } + } else { + var u = [] + ;/^[bx]cancel$/.test(r) && + u.push(new l3({ x1: "0", y1: "0", x2: "100%", y2: "100%", "stroke-width": "0.046em" })), + /^x?cancel$/.test(r) && + u.push(new l3({ x1: "0", y1: "100%", x2: "100%", y2: "0", "stroke-width": "0.046em" })) + var h = new zo(u, { width: "100%", height: ft(o) }) + s = Pe.makeSvgSpan([], [h], a) + } + return (s.height = o), (s.style.height = ft(o)), s + }, + Go = { encloseSpan: lX, mathMLnode: iX, svgSpan: oX } +function Jt(t, e) { + if (!t || t.type !== e) + throw new Error("Expected node of type " + e + ", but got " + (t ? "node of type " + t.type : String(t))) + return t +} +function gT(t) { + var e = g2(t) + if (!e) throw new Error("Expected node of symbol group type, but got " + (t ? "node of type " + t.type : String(t))) + return e +} +function g2(t) { + return t && (t.type === "atom" || IY.hasOwnProperty(t.type)) ? t : null +} +var mT = (t, e) => { + var r, n, i + t && t.type === "supsub" + ? ((n = Jt(t.base, "accent")), (r = n.base), (t.base = r), (i = NY(vr(t, e))), (t.base = n)) + : ((n = Jt(t, "accent")), (r = n.base)) + var a = vr(r, e.havingCrampedStyle()), + s = n.isShifty && Ft.isCharacterBox(r), + o = 0 + if (s) { + var l = Ft.getBaseElem(r), + u = vr(l, e.havingCrampedStyle()) + o = JS(u).skew + } + var h = n.label === "\\c", + d = h ? a.height + a.depth : Math.min(a.height, e.fontMetrics().xHeight), + f + if (n.isStretchy) + (f = Go.svgSpan(n, e)), + (f = Pe.makeVList( + { + positionType: "firstBaseline", + children: [ + { type: "elem", elem: a }, + { + type: "elem", + elem: f, + wrapperClasses: ["svg-align"], + wrapperStyle: + o > 0 ? { width: "calc(100% - " + ft(2 * o) + ")", marginLeft: ft(2 * o) } : void 0, + }, + ], + }, + e, + )) + else { + var p, g + n.label === "\\vec" + ? ((p = Pe.staticSvg("vec", e)), (g = Pe.svgData.vec[1])) + : ((p = Pe.makeOrd({ mode: n.mode, text: n.label }, e, "textord")), + (p = JS(p)), + (p.italic = 0), + (g = p.width), + h && (d += p.depth)), + (f = Pe.makeSpan(["accent-body"], [p])) + var m = n.label === "\\textcircled" + m && (f.classes.push("accent-full"), (d = a.height)) + var v = o + m || (v -= g / 2), + (f.style.left = ft(v)), + n.label === "\\textcircled" && (f.style.top = ".2em"), + (f = Pe.makeVList( + { + positionType: "firstBaseline", + children: [ + { type: "elem", elem: a }, + { type: "kern", size: -d }, + { type: "elem", elem: f }, + ], + }, + e, + )) + } + var y = Pe.makeSpan(["mord", "accent"], [f], e) + return i ? ((i.children[0] = y), (i.height = Math.max(y.height, i.height)), (i.classes[0] = "mord"), i) : y + }, + JN = (t, e) => { + var r = t.isStretchy ? Go.mathMLnode(t.label) : new nt.MathNode("mo", [Qa(t.label, t.mode)]), + n = new nt.MathNode("mover", [$r(t.base, e), r]) + return n.setAttribute("accent", "true"), n + }, + cX = new RegExp( + [ + "\\acute", + "\\grave", + "\\ddot", + "\\tilde", + "\\bar", + "\\breve", + "\\check", + "\\hat", + "\\vec", + "\\dot", + "\\mathring", + ] + .map((t) => "\\" + t) + .join("|"), + ) +bt({ + type: "accent", + names: [ + "\\acute", + "\\grave", + "\\ddot", + "\\tilde", + "\\bar", + "\\breve", + "\\check", + "\\hat", + "\\vec", + "\\dot", + "\\mathring", + "\\widecheck", + "\\widehat", + "\\widetilde", + "\\overrightarrow", + "\\overleftarrow", + "\\Overrightarrow", + "\\overleftrightarrow", + "\\overgroup", + "\\overlinesegment", + "\\overleftharpoon", + "\\overrightharpoon", + ], + props: { numArgs: 1 }, + handler: (t, e) => { + var r = xv(e[0]), + n = !cX.test(t.funcName), + i = !n || t.funcName === "\\widehat" || t.funcName === "\\widetilde" || t.funcName === "\\widecheck" + return { type: "accent", mode: t.parser.mode, label: t.funcName, isStretchy: n, isShifty: i, base: r } + }, + htmlBuilder: mT, + mathmlBuilder: JN, +}) +bt({ + type: "accent", + names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\c", "\\r", "\\H", "\\v", "\\textcircled"], + props: { numArgs: 1, allowedInText: !0, allowedInMath: !0, argTypes: ["primitive"] }, + handler: (t, e) => { + var r = e[0], + n = t.parser.mode + return ( + n === "math" && + (t.parser.settings.reportNonstrict( + "mathVsTextAccents", + "LaTeX's accent " + t.funcName + " works only in text mode", + ), + (n = "text")), + { type: "accent", mode: n, label: t.funcName, isStretchy: !1, isShifty: !0, base: r } + ) + }, + htmlBuilder: mT, + mathmlBuilder: JN, +}) +bt({ + type: "accentUnder", + names: [ + "\\underleftarrow", + "\\underrightarrow", + "\\underleftrightarrow", + "\\undergroup", + "\\underlinesegment", + "\\utilde", + ], + props: { numArgs: 1 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = e[0] + return { type: "accentUnder", mode: r.mode, label: n, base: i } + }, + htmlBuilder: (t, e) => { + var r = vr(t.base, e), + n = Go.svgSpan(t, e), + i = t.label === "\\utilde" ? 0.12 : 0, + a = Pe.makeVList( + { + positionType: "top", + positionData: r.height, + children: [ + { type: "elem", elem: n, wrapperClasses: ["svg-align"] }, + { type: "kern", size: i }, + { type: "elem", elem: r }, + ], + }, + e, + ) + return Pe.makeSpan(["mord", "accentunder"], [a], e) + }, + mathmlBuilder: (t, e) => { + var r = Go.mathMLnode(t.label), + n = new nt.MathNode("munder", [$r(t.base, e), r]) + return n.setAttribute("accentunder", "true"), n + }, +}) +var s1 = (t) => { + var e = new nt.MathNode("mpadded", t ? [t] : []) + return e.setAttribute("width", "+0.6em"), e.setAttribute("lspace", "0.3em"), e +} +bt({ + type: "xArrow", + names: [ + "\\xleftarrow", + "\\xrightarrow", + "\\xLeftarrow", + "\\xRightarrow", + "\\xleftrightarrow", + "\\xLeftrightarrow", + "\\xhookleftarrow", + "\\xhookrightarrow", + "\\xmapsto", + "\\xrightharpoondown", + "\\xrightharpoonup", + "\\xleftharpoondown", + "\\xleftharpoonup", + "\\xrightleftharpoons", + "\\xleftrightharpoons", + "\\xlongequal", + "\\xtwoheadrightarrow", + "\\xtwoheadleftarrow", + "\\xtofrom", + "\\xrightleftarrows", + "\\xrightequilibrium", + "\\xleftequilibrium", + "\\\\cdrightarrow", + "\\\\cdleftarrow", + "\\\\cdlongequal", + ], + props: { numArgs: 1, numOptionalArgs: 1 }, + handler(t, e, r) { + var { parser: n, funcName: i } = t + return { type: "xArrow", mode: n.mode, label: i, body: e[0], below: r[0] } + }, + htmlBuilder(t, e) { + var r = e.style, + n = e.havingStyle(r.sup()), + i = Pe.wrapFragment(vr(t.body, n, e), e), + a = t.label.slice(0, 2) === "\\x" ? "x" : "cd" + i.classes.push(a + "-arrow-pad") + var s + t.below && + ((n = e.havingStyle(r.sub())), + (s = Pe.wrapFragment(vr(t.below, n, e), e)), + s.classes.push(a + "-arrow-pad")) + var o = Go.svgSpan(t, e), + l = -e.fontMetrics().axisHeight + 0.5 * o.height, + u = -e.fontMetrics().axisHeight - 0.5 * o.height - 0.111 + ;(i.depth > 0.25 || t.label === "\\xleftequilibrium") && (u -= i.depth) + var h + if (s) { + var d = -e.fontMetrics().axisHeight + s.height + 0.5 * o.height + 0.111 + h = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: i, shift: u }, + { type: "elem", elem: o, shift: l }, + { type: "elem", elem: s, shift: d }, + ], + }, + e, + ) + } else + h = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: i, shift: u }, + { type: "elem", elem: o, shift: l }, + ], + }, + e, + ) + return h.children[0].children[0].children[1].classes.push("svg-align"), Pe.makeSpan(["mrel", "x-arrow"], [h], e) + }, + mathmlBuilder(t, e) { + var r = Go.mathMLnode(t.label) + r.setAttribute("minsize", t.label.charAt(0) === "x" ? "1.75em" : "3.0em") + var n + if (t.body) { + var i = s1($r(t.body, e)) + if (t.below) { + var a = s1($r(t.below, e)) + n = new nt.MathNode("munderover", [r, a, i]) + } else n = new nt.MathNode("mover", [r, i]) + } else if (t.below) { + var s = s1($r(t.below, e)) + n = new nt.MathNode("munder", [r, s]) + } else (n = s1()), (n = new nt.MathNode("mover", [r, n])) + return n + }, +}) +var uX = Pe.makeSpan +function eD(t, e) { + var r = Fn(t.body, e, !0) + return uX([t.mclass], r, e) +} +function tD(t, e) { + var r, + n = ha(t.body, e) + return ( + t.mclass === "minner" + ? (r = new nt.MathNode("mpadded", n)) + : t.mclass === "mord" + ? t.isCharacterBox + ? ((r = n[0]), (r.type = "mi")) + : (r = new nt.MathNode("mi", n)) + : (t.isCharacterBox ? ((r = n[0]), (r.type = "mo")) : (r = new nt.MathNode("mo", n)), + t.mclass === "mbin" + ? ((r.attributes.lspace = "0.22em"), (r.attributes.rspace = "0.22em")) + : t.mclass === "mpunct" + ? ((r.attributes.lspace = "0em"), (r.attributes.rspace = "0.17em")) + : t.mclass === "mopen" || t.mclass === "mclose" + ? ((r.attributes.lspace = "0em"), (r.attributes.rspace = "0em")) + : t.mclass === "minner" && + ((r.attributes.lspace = "0.0556em"), (r.attributes.width = "+0.1111em"))), + r + ) +} +bt({ + type: "mclass", + names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], + props: { numArgs: 1, primitive: !0 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0] + return { + type: "mclass", + mode: r.mode, + mclass: "m" + n.slice(5), + body: vn(i), + isCharacterBox: Ft.isCharacterBox(i), + } + }, + htmlBuilder: eD, + mathmlBuilder: tD, +}) +var m2 = (t) => { + var e = t.type === "ordgroup" && t.body.length ? t.body[0] : t + return e.type === "atom" && (e.family === "bin" || e.family === "rel") ? "m" + e.family : "mord" +} +bt({ + type: "mclass", + names: ["\\@binrel"], + props: { numArgs: 2 }, + handler(t, e) { + var { parser: r } = t + return { + type: "mclass", + mode: r.mode, + mclass: m2(e[0]), + body: vn(e[1]), + isCharacterBox: Ft.isCharacterBox(e[1]), + } + }, +}) +bt({ + type: "mclass", + names: ["\\stackrel", "\\overset", "\\underset"], + props: { numArgs: 2 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[1], + a = e[0], + s + n !== "\\stackrel" ? (s = m2(i)) : (s = "mrel") + var o = { + type: "op", + mode: i.mode, + limits: !0, + alwaysHandleSupSub: !0, + parentIsSupSub: !1, + symbol: !1, + suppressBaseShift: n !== "\\stackrel", + body: vn(i), + }, + l = { + type: "supsub", + mode: a.mode, + base: o, + sup: n === "\\underset" ? null : a, + sub: n === "\\underset" ? a : null, + } + return { type: "mclass", mode: r.mode, mclass: s, body: [l], isCharacterBox: Ft.isCharacterBox(l) } + }, + htmlBuilder: eD, + mathmlBuilder: tD, +}) +bt({ + type: "pmb", + names: ["\\pmb"], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t + return { type: "pmb", mode: r.mode, mclass: m2(e[0]), body: vn(e[0]) } + }, + htmlBuilder(t, e) { + var r = Fn(t.body, e, !0), + n = Pe.makeSpan([t.mclass], r, e) + return (n.style.textShadow = "0.02em 0.01em 0.04px"), n + }, + mathmlBuilder(t, e) { + var r = ha(t.body, e), + n = new nt.MathNode("mstyle", r) + return n.setAttribute("style", "text-shadow: 0.02em 0.01em 0.04px"), n + }, +}) +var hX = { + ">": "\\\\cdrightarrow", + "<": "\\\\cdleftarrow", + "=": "\\\\cdlongequal", + A: "\\uparrow", + V: "\\downarrow", + "|": "\\Vert", + ".": "no arrow", + }, + o7 = () => ({ type: "styling", body: [], mode: "math", style: "display" }), + l7 = (t) => t.type === "textord" && t.text === "@", + dX = (t, e) => (t.type === "mathord" || t.type === "atom") && t.text === e +function fX(t, e, r) { + var n = hX[t] + switch (n) { + case "\\\\cdrightarrow": + case "\\\\cdleftarrow": + return r.callFunction(n, [e[0]], [e[1]]) + case "\\uparrow": + case "\\downarrow": { + var i = r.callFunction("\\\\cdleft", [e[0]], []), + a = { type: "atom", text: n, mode: "math", family: "rel" }, + s = r.callFunction("\\Big", [a], []), + o = r.callFunction("\\\\cdright", [e[1]], []), + l = { type: "ordgroup", mode: "math", body: [i, s, o] } + return r.callFunction("\\\\cdparent", [l], []) + } + case "\\\\cdlongequal": + return r.callFunction("\\\\cdlongequal", [], []) + case "\\Vert": { + var u = { type: "textord", text: "\\Vert", mode: "math" } + return r.callFunction("\\Big", [u], []) + } + default: + return { type: "textord", text: " ", mode: "math" } + } +} +function pX(t) { + var e = [] + for (t.gullet.beginGroup(), t.gullet.macros.set("\\cr", "\\\\\\relax"), t.gullet.beginGroup(); ; ) { + e.push(t.parseExpression(!1, "\\\\")), t.gullet.endGroup(), t.gullet.beginGroup() + var r = t.fetch().text + if (r === "&" || r === "\\\\") t.consume() + else if (r === "\\end") { + e[e.length - 1].length === 0 && e.pop() + break + } else throw new at("Expected \\\\ or \\cr or \\end", t.nextToken) + } + for (var n = [], i = [n], a = 0; a < e.length; a++) { + for (var s = e[a], o = o7(), l = 0; l < s.length; l++) + if (!l7(s[l])) o.body.push(s[l]) + else { + n.push(o), (l += 1) + var u = gT(s[l]).text, + h = new Array(2) + if ( + ((h[0] = { type: "ordgroup", mode: "math", body: [] }), + (h[1] = { type: "ordgroup", mode: "math", body: [] }), + !("=|.".indexOf(u) > -1)) + ) + if ("<>AV".indexOf(u) > -1) + for (var d = 0; d < 2; d++) { + for (var f = !0, p = l + 1; p < s.length; p++) { + if (dX(s[p], u)) { + ;(f = !1), (l = p) + break + } + if (l7(s[p])) + throw new at("Missing a " + u + " character to complete a CD arrow.", s[p]) + h[d].body.push(s[p]) + } + if (f) throw new at("Missing a " + u + " character to complete a CD arrow.", s[l]) + } + else throw new at('Expected one of "<>AV=|." after @', s[l]) + var g = fX(u, h, t), + m = { type: "styling", body: [g], mode: "math", style: "display" } + n.push(m), (o = o7()) + } + a % 2 === 0 ? n.push(o) : n.shift(), (n = []), i.push(n) + } + t.gullet.endGroup(), t.gullet.endGroup() + var v = new Array(i[0].length).fill({ type: "align", align: "c", pregap: 0.25, postgap: 0.25 }) + return { + type: "array", + mode: "math", + body: i, + arraystretch: 1, + addJot: !0, + rowGaps: [null], + cols: v, + colSeparationType: "CD", + hLinesBeforeRow: new Array(i.length + 1).fill([]), + } +} +bt({ + type: "cdlabel", + names: ["\\\\cdleft", "\\\\cdright"], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t + return { type: "cdlabel", mode: r.mode, side: n.slice(4), label: e[0] } + }, + htmlBuilder(t, e) { + var r = e.havingStyle(e.style.sup()), + n = Pe.wrapFragment(vr(t.label, r, e), e) + return ( + n.classes.push("cd-label-" + t.side), (n.style.bottom = ft(0.8 - n.depth)), (n.height = 0), (n.depth = 0), n + ) + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mrow", [$r(t.label, e)]) + return ( + (r = new nt.MathNode("mpadded", [r])), + r.setAttribute("width", "0"), + t.side === "left" && r.setAttribute("lspace", "-1width"), + r.setAttribute("voffset", "0.7em"), + (r = new nt.MathNode("mstyle", [r])), + r.setAttribute("displaystyle", "false"), + r.setAttribute("scriptlevel", "1"), + r + ) + }, +}) +bt({ + type: "cdlabelparent", + names: ["\\\\cdparent"], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r } = t + return { type: "cdlabelparent", mode: r.mode, fragment: e[0] } + }, + htmlBuilder(t, e) { + var r = Pe.wrapFragment(vr(t.fragment, e), e) + return r.classes.push("cd-vert-arrow"), r + }, + mathmlBuilder(t, e) { + return new nt.MathNode("mrow", [$r(t.fragment, e)]) + }, +}) +bt({ + type: "textord", + names: ["\\@char"], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + for (var { parser: r } = t, n = Jt(e[0], "ordgroup"), i = n.body, a = "", s = 0; s < i.length; s++) { + var o = Jt(i[s], "textord") + a += o.text + } + var l = parseInt(a), + u + if (isNaN(l)) throw new at("\\@char has non-numeric argument " + a) + if (l < 0 || l >= 1114111) throw new at("\\@char with invalid code point " + a) + return ( + l <= 65535 + ? (u = String.fromCharCode(l)) + : ((l -= 65536), (u = String.fromCharCode((l >> 10) + 55296, (l & 1023) + 56320))), + { type: "textord", mode: r.mode, text: u } + ) + }, +}) +var rD = (t, e) => { + var r = Fn(t.body, e.withColor(t.color), !1) + return Pe.makeFragment(r) + }, + nD = (t, e) => { + var r = ha(t.body, e.withColor(t.color)), + n = new nt.MathNode("mstyle", r) + return n.setAttribute("mathcolor", t.color), n + } +bt({ + type: "color", + names: ["\\textcolor"], + props: { numArgs: 2, allowedInText: !0, argTypes: ["color", "original"] }, + handler(t, e) { + var { parser: r } = t, + n = Jt(e[0], "color-token").color, + i = e[1] + return { type: "color", mode: r.mode, color: n, body: vn(i) } + }, + htmlBuilder: rD, + mathmlBuilder: nD, +}) +bt({ + type: "color", + names: ["\\color"], + props: { numArgs: 1, allowedInText: !0, argTypes: ["color"] }, + handler(t, e) { + var { parser: r, breakOnTokenText: n } = t, + i = Jt(e[0], "color-token").color + r.gullet.macros.set("\\current@color", i) + var a = r.parseExpression(!0, n) + return { type: "color", mode: r.mode, color: i, body: a } + }, + htmlBuilder: rD, + mathmlBuilder: nD, +}) +bt({ + type: "cr", + names: ["\\\\"], + props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 }, + handler(t, e, r) { + var { parser: n } = t, + i = n.gullet.future().text === "[" ? n.parseSizeGroup(!0) : null, + a = + !n.settings.displayMode || + !n.settings.useStrictBehavior( + "newLineInDisplayMode", + "In LaTeX, \\\\ or \\newline does nothing in display mode", + ) + return { type: "cr", mode: n.mode, newLine: a, size: i && Jt(i, "size").value } + }, + htmlBuilder(t, e) { + var r = Pe.makeSpan(["mspace"], [], e) + return t.newLine && (r.classes.push("newline"), t.size && (r.style.marginTop = ft(en(t.size, e)))), r + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mspace") + return ( + t.newLine && + (r.setAttribute("linebreak", "newline"), t.size && r.setAttribute("height", ft(en(t.size, e)))), + r + ) + }, +}) +var d3 = { + "\\global": "\\global", + "\\long": "\\\\globallong", + "\\\\globallong": "\\\\globallong", + "\\def": "\\gdef", + "\\gdef": "\\gdef", + "\\edef": "\\xdef", + "\\xdef": "\\xdef", + "\\let": "\\\\globallet", + "\\futurelet": "\\\\globalfuture", + }, + iD = (t) => { + var e = t.text + if (/^(?:[\\{}$&#^_]|EOF)$/.test(e)) throw new at("Expected a control sequence", t) + return e + }, + gX = (t) => { + var e = t.gullet.popToken() + return e.text === "=" && ((e = t.gullet.popToken()), e.text === " " && (e = t.gullet.popToken())), e + }, + aD = (t, e, r, n) => { + var i = t.gullet.macros.get(r.text) + i == null && + ((r.noexpand = !0), (i = { tokens: [r], numArgs: 0, unexpandable: !t.gullet.isExpandable(r.text) })), + t.gullet.macros.set(e, i, n) + } +bt({ + type: "internal", + names: ["\\global", "\\long", "\\\\globallong"], + props: { numArgs: 0, allowedInText: !0 }, + handler(t) { + var { parser: e, funcName: r } = t + e.consumeSpaces() + var n = e.fetch() + if (d3[n.text]) + return ( + (r === "\\global" || r === "\\\\globallong") && (n.text = d3[n.text]), Jt(e.parseFunction(), "internal") + ) + throw new at("Invalid token after macro prefix", n) + }, +}) +bt({ + type: "internal", + names: ["\\def", "\\gdef", "\\edef", "\\xdef"], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = e.gullet.popToken(), + i = n.text + if (/^(?:[\\{}$&#^_]|EOF)$/.test(i)) throw new at("Expected a control sequence", n) + for (var a = 0, s, o = [[]]; e.gullet.future().text !== "{"; ) + if (((n = e.gullet.popToken()), n.text === "#")) { + if (e.gullet.future().text === "{") { + ;(s = e.gullet.future()), o[a].push("{") + break + } + if (((n = e.gullet.popToken()), !/^[1-9]$/.test(n.text))) + throw new at('Invalid argument number "' + n.text + '"') + if (parseInt(n.text) !== a + 1) throw new at('Argument number "' + n.text + '" out of order') + a++, o.push([]) + } else { + if (n.text === "EOF") throw new at("Expected a macro definition") + o[a].push(n.text) + } + var { tokens: l } = e.gullet.consumeArg() + return ( + s && l.unshift(s), + (r === "\\edef" || r === "\\xdef") && ((l = e.gullet.expandTokens(l)), l.reverse()), + e.gullet.macros.set(i, { tokens: l, numArgs: a, delimiters: o }, r === d3[r]), + { type: "internal", mode: e.mode } + ) + }, +}) +bt({ + type: "internal", + names: ["\\let", "\\\\globallet"], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = iD(e.gullet.popToken()) + e.gullet.consumeSpaces() + var i = gX(e) + return aD(e, n, i, r === "\\\\globallet"), { type: "internal", mode: e.mode } + }, +}) +bt({ + type: "internal", + names: ["\\futurelet", "\\\\globalfuture"], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = iD(e.gullet.popToken()), + i = e.gullet.popToken(), + a = e.gullet.popToken() + return ( + aD(e, n, a, r === "\\\\globalfuture"), + e.gullet.pushToken(a), + e.gullet.pushToken(i), + { type: "internal", mode: e.mode } + ) + }, +}) +var Zf = function (e, r, n) { + var i = Ur.math[e] && Ur.math[e].replace, + a = uT(i || e, r, n) + if (!a) throw new Error("Unsupported symbol " + e + " and font size " + r + ".") + return a + }, + vT = function (e, r, n, i) { + var a = n.havingBaseStyle(r), + s = Pe.makeSpan(i.concat(a.sizingClasses(n)), [e], n), + o = a.sizeMultiplier / n.sizeMultiplier + return (s.height *= o), (s.depth *= o), (s.maxFontSize = a.sizeMultiplier), s + }, + sD = function (e, r, n) { + var i = r.havingBaseStyle(n), + a = (1 - r.sizeMultiplier / i.sizeMultiplier) * r.fontMetrics().axisHeight + e.classes.push("delimcenter"), (e.style.top = ft(a)), (e.height -= a), (e.depth += a) + }, + mX = function (e, r, n, i, a, s) { + var o = Pe.makeSymbol(e, "Main-Regular", a, i), + l = vT(o, r, i, s) + return n && sD(l, i, r), l + }, + vX = function (e, r, n, i) { + return Pe.makeSymbol(e, "Size" + r + "-Regular", n, i) + }, + oD = function (e, r, n, i, a, s) { + var o = vX(e, r, a, i), + l = vT(Pe.makeSpan(["delimsizing", "size" + r], [o], i), Vt.TEXT, i, s) + return n && sD(l, i, Vt.TEXT), l + }, + ab = function (e, r, n) { + var i + r === "Size1-Regular" ? (i = "delim-size1") : (i = "delim-size4") + var a = Pe.makeSpan(["delimsizinginner", i], [Pe.makeSpan([], [Pe.makeSymbol(e, r, n)])]) + return { type: "elem", elem: a } + }, + sb = function (e, r, n) { + var i = Gs["Size4-Regular"][e.charCodeAt(0)] + ? Gs["Size4-Regular"][e.charCodeAt(0)][4] + : Gs["Size1-Regular"][e.charCodeAt(0)][4], + a = new _l("inner", EY(e, Math.round(1e3 * r))), + s = new zo([a], { + width: ft(i), + height: ft(r), + style: "width:" + ft(i), + viewBox: "0 0 " + 1e3 * i + " " + Math.round(1e3 * r), + preserveAspectRatio: "xMinYMin", + }), + o = Pe.makeSvgSpan([], [s], n) + return (o.height = r), (o.style.height = ft(r)), (o.style.width = ft(i)), { type: "elem", elem: o } + }, + f3 = 0.008, + o1 = { type: "kern", size: -1 * f3 }, + yX = ["|", "\\lvert", "\\rvert", "\\vert"], + xX = ["\\|", "\\lVert", "\\rVert", "\\Vert"], + lD = function (e, r, n, i, a, s) { + var o, + l, + u, + h, + d = "", + f = 0 + ;(o = u = h = e), (l = null) + var p = "Size1-Regular" + e === "\\uparrow" + ? (u = h = "⏐") + : e === "\\Uparrow" + ? (u = h = "‖") + : e === "\\downarrow" + ? (o = u = "⏐") + : e === "\\Downarrow" + ? (o = u = "‖") + : e === "\\updownarrow" + ? ((o = "\\uparrow"), (u = "⏐"), (h = "\\downarrow")) + : e === "\\Updownarrow" + ? ((o = "\\Uparrow"), (u = "‖"), (h = "\\Downarrow")) + : Ft.contains(yX, e) + ? ((u = "∣"), (d = "vert"), (f = 333)) + : Ft.contains(xX, e) + ? ((u = "∥"), (d = "doublevert"), (f = 556)) + : e === "[" || e === "\\lbrack" + ? ((o = "⎡"), + (u = "⎢"), + (h = "⎣"), + (p = "Size4-Regular"), + (d = "lbrack"), + (f = 667)) + : e === "]" || e === "\\rbrack" + ? ((o = "⎤"), + (u = "⎥"), + (h = "⎦"), + (p = "Size4-Regular"), + (d = "rbrack"), + (f = 667)) + : e === "\\lfloor" || e === "⌊" + ? ((u = o = "⎢"), + (h = "⎣"), + (p = "Size4-Regular"), + (d = "lfloor"), + (f = 667)) + : e === "\\lceil" || e === "⌈" + ? ((o = "⎡"), + (u = h = "⎢"), + (p = "Size4-Regular"), + (d = "lceil"), + (f = 667)) + : e === "\\rfloor" || e === "⌋" + ? ((u = o = "⎥"), + (h = "⎦"), + (p = "Size4-Regular"), + (d = "rfloor"), + (f = 667)) + : e === "\\rceil" || e === "⌉" + ? ((o = "⎤"), + (u = h = "⎥"), + (p = "Size4-Regular"), + (d = "rceil"), + (f = 667)) + : e === "(" || e === "\\lparen" + ? ((o = "⎛"), + (u = "⎜"), + (h = "⎝"), + (p = "Size4-Regular"), + (d = "lparen"), + (f = 875)) + : e === ")" || e === "\\rparen" + ? ((o = "⎞"), + (u = "⎟"), + (h = "⎠"), + (p = "Size4-Regular"), + (d = "rparen"), + (f = 875)) + : e === "\\{" || e === "\\lbrace" + ? ((o = "⎧"), + (l = "⎨"), + (h = "⎩"), + (u = "⎪"), + (p = "Size4-Regular")) + : e === "\\}" || e === "\\rbrace" + ? ((o = "⎫"), + (l = "⎬"), + (h = "⎭"), + (u = "⎪"), + (p = "Size4-Regular")) + : e === "\\lgroup" || e === "⟮" + ? ((o = "⎧"), + (h = "⎩"), + (u = "⎪"), + (p = "Size4-Regular")) + : e === "\\rgroup" || e === "⟯" + ? ((o = "⎫"), + (h = "⎭"), + (u = "⎪"), + (p = "Size4-Regular")) + : e === "\\lmoustache" || + e === "⎰" + ? ((o = "⎧"), + (h = "⎭"), + (u = "⎪"), + (p = "Size4-Regular")) + : (e === "\\rmoustache" || + e === "⎱") && + ((o = "⎫"), + (h = "⎩"), + (u = "⎪"), + (p = "Size4-Regular")) + var g = Zf(o, p, a), + m = g.height + g.depth, + v = Zf(u, p, a), + y = v.height + v.depth, + b = Zf(h, p, a), + w = b.height + b.depth, + T = 0, + E = 1 + if (l !== null) { + var S = Zf(l, p, a) + ;(T = S.height + S.depth), (E = 2) + } + var k = m + w + T, + L = Math.max(0, Math.ceil((r - k) / (E * y))), + A = k + L * E * y, + R = i.fontMetrics().axisHeight + n && (R *= i.sizeMultiplier) + var C = A / 2 - R, + I = [] + if (d.length > 0) { + var P = A - m - w, + _ = Math.round(A * 1e3), + N = kY(d, Math.round(P * 1e3)), + M = new _l(d, N), + O = (f / 1e3).toFixed(3) + "em", + D = (_ / 1e3).toFixed(3) + "em", + B = new zo([M], { width: O, height: D, viewBox: "0 0 " + f + " " + _ }), + z = Pe.makeSvgSpan([], [B], i) + ;(z.height = _ / 1e3), (z.style.width = O), (z.style.height = D), I.push({ type: "elem", elem: z }) + } else { + if ((I.push(ab(h, p, a)), I.push(o1), l === null)) { + var F = A - m - w + 2 * f3 + I.push(sb(u, F, i)) + } else { + var G = (A - m - w - T) / 2 + 2 * f3 + I.push(sb(u, G, i)), I.push(o1), I.push(ab(l, p, a)), I.push(o1), I.push(sb(u, G, i)) + } + I.push(o1), I.push(ab(o, p, a)) + } + var q = i.havingBaseStyle(Vt.TEXT), + Y = Pe.makeVList({ positionType: "bottom", positionData: C, children: I }, q) + return vT(Pe.makeSpan(["delimsizing", "mult"], [Y], q), Vt.TEXT, i, s) + }, + ob = 80, + lb = 0.08, + cb = function (e, r, n, i, a) { + var s = TY(e, i, n), + o = new _l(e, s), + l = new zo([o], { + width: "400em", + height: ft(r), + viewBox: "0 0 400000 " + n, + preserveAspectRatio: "xMinYMin slice", + }) + return Pe.makeSvgSpan(["hide-tail"], [l], a) + }, + bX = function (e, r) { + var n = r.havingBaseSizing(), + i = dD("\\surd", e * n.sizeMultiplier, hD, n), + a = n.sizeMultiplier, + s = Math.max(0, r.minRuleThickness - r.fontMetrics().sqrtRuleThickness), + o, + l = 0, + u = 0, + h = 0, + d + return ( + i.type === "small" + ? ((h = 1e3 + 1e3 * s + ob), + e < 1 ? (a = 1) : e < 1.4 && (a = 0.7), + (l = (1 + s + lb) / a), + (u = (1 + s) / a), + (o = cb("sqrtMain", l, h, s, r)), + (o.style.minWidth = "0.853em"), + (d = 0.833 / a)) + : i.type === "large" + ? ((h = (1e3 + ob) * Q0[i.size]), + (u = (Q0[i.size] + s) / a), + (l = (Q0[i.size] + s + lb) / a), + (o = cb("sqrtSize" + i.size, l, h, s, r)), + (o.style.minWidth = "1.02em"), + (d = 1 / a)) + : ((l = e + s + lb), + (u = e + s), + (h = Math.floor(1e3 * e + s) + ob), + (o = cb("sqrtTall", l, h, s, r)), + (o.style.minWidth = "0.742em"), + (d = 1.056)), + (o.height = u), + (o.style.height = ft(l)), + { span: o, advanceWidth: d, ruleWidth: (r.fontMetrics().sqrtRuleThickness + s) * a } + ) + }, + cD = [ + "(", + "\\lparen", + ")", + "\\rparen", + "[", + "\\lbrack", + "]", + "\\rbrack", + "\\{", + "\\lbrace", + "\\}", + "\\rbrace", + "\\lfloor", + "\\rfloor", + "⌊", + "⌋", + "\\lceil", + "\\rceil", + "⌈", + "⌉", + "\\surd", + ], + wX = [ + "\\uparrow", + "\\downarrow", + "\\updownarrow", + "\\Uparrow", + "\\Downarrow", + "\\Updownarrow", + "|", + "\\|", + "\\vert", + "\\Vert", + "\\lvert", + "\\rvert", + "\\lVert", + "\\rVert", + "\\lgroup", + "\\rgroup", + "⟮", + "⟯", + "\\lmoustache", + "\\rmoustache", + "⎰", + "⎱", + ], + uD = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"], + Q0 = [0, 1.2, 1.8, 2.4, 3], + TX = function (e, r, n, i, a) { + if ( + (e === "<" || e === "\\lt" || e === "⟨" + ? (e = "\\langle") + : (e === ">" || e === "\\gt" || e === "⟩") && (e = "\\rangle"), + Ft.contains(cD, e) || Ft.contains(uD, e)) + ) + return oD(e, r, !1, n, i, a) + if (Ft.contains(wX, e)) return lD(e, Q0[r], !1, n, i, a) + throw new at("Illegal delimiter: '" + e + "'") + }, + EX = [ + { type: "small", style: Vt.SCRIPTSCRIPT }, + { type: "small", style: Vt.SCRIPT }, + { type: "small", style: Vt.TEXT }, + { type: "large", size: 1 }, + { type: "large", size: 2 }, + { type: "large", size: 3 }, + { type: "large", size: 4 }, + ], + kX = [ + { type: "small", style: Vt.SCRIPTSCRIPT }, + { type: "small", style: Vt.SCRIPT }, + { type: "small", style: Vt.TEXT }, + { type: "stack" }, + ], + hD = [ + { type: "small", style: Vt.SCRIPTSCRIPT }, + { type: "small", style: Vt.SCRIPT }, + { type: "small", style: Vt.TEXT }, + { type: "large", size: 1 }, + { type: "large", size: 2 }, + { type: "large", size: 3 }, + { type: "large", size: 4 }, + { type: "stack" }, + ], + SX = function (e) { + if (e.type === "small") return "Main-Regular" + if (e.type === "large") return "Size" + e.size + "-Regular" + if (e.type === "stack") return "Size4-Regular" + throw new Error("Add support for delim type '" + e.type + "' here.") + }, + dD = function (e, r, n, i) { + for (var a = Math.min(2, 3 - i.style.size), s = a; s < n.length && n[s].type !== "stack"; s++) { + var o = Zf(e, SX(n[s]), "math"), + l = o.height + o.depth + if (n[s].type === "small") { + var u = i.havingBaseStyle(n[s].style) + l *= u.sizeMultiplier + } + if (l > r) return n[s] + } + return n[n.length - 1] + }, + fD = function (e, r, n, i, a, s) { + e === "<" || e === "\\lt" || e === "⟨" + ? (e = "\\langle") + : (e === ">" || e === "\\gt" || e === "⟩") && (e = "\\rangle") + var o + Ft.contains(uD, e) ? (o = EX) : Ft.contains(cD, e) ? (o = hD) : (o = kX) + var l = dD(e, r, o, i) + return l.type === "small" + ? mX(e, l.style, n, i, a, s) + : l.type === "large" + ? oD(e, l.size, n, i, a, s) + : lD(e, r, n, i, a, s) + }, + CX = function (e, r, n, i, a, s) { + var o = i.fontMetrics().axisHeight * i.sizeMultiplier, + l = 901, + u = 5 / i.fontMetrics().ptPerEm, + h = Math.max(r - o, n + o), + d = Math.max((h / 500) * l, 2 * h - u) + return fD(e, d, !0, i, a, s) + }, + Po = { sqrtImage: bX, sizedDelim: TX, sizeToMaxHeight: Q0, customSizedDelim: fD, leftRightDelim: CX }, + c7 = { + "\\bigl": { mclass: "mopen", size: 1 }, + "\\Bigl": { mclass: "mopen", size: 2 }, + "\\biggl": { mclass: "mopen", size: 3 }, + "\\Biggl": { mclass: "mopen", size: 4 }, + "\\bigr": { mclass: "mclose", size: 1 }, + "\\Bigr": { mclass: "mclose", size: 2 }, + "\\biggr": { mclass: "mclose", size: 3 }, + "\\Biggr": { mclass: "mclose", size: 4 }, + "\\bigm": { mclass: "mrel", size: 1 }, + "\\Bigm": { mclass: "mrel", size: 2 }, + "\\biggm": { mclass: "mrel", size: 3 }, + "\\Biggm": { mclass: "mrel", size: 4 }, + "\\big": { mclass: "mord", size: 1 }, + "\\Big": { mclass: "mord", size: 2 }, + "\\bigg": { mclass: "mord", size: 3 }, + "\\Bigg": { mclass: "mord", size: 4 }, + }, + AX = [ + "(", + "\\lparen", + ")", + "\\rparen", + "[", + "\\lbrack", + "]", + "\\rbrack", + "\\{", + "\\lbrace", + "\\}", + "\\rbrace", + "\\lfloor", + "\\rfloor", + "⌊", + "⌋", + "\\lceil", + "\\rceil", + "⌈", + "⌉", + "<", + ">", + "\\langle", + "⟨", + "\\rangle", + "⟩", + "\\lt", + "\\gt", + "\\lvert", + "\\rvert", + "\\lVert", + "\\rVert", + "\\lgroup", + "\\rgroup", + "⟮", + "⟯", + "\\lmoustache", + "\\rmoustache", + "⎰", + "⎱", + "/", + "\\backslash", + "|", + "\\vert", + "\\|", + "\\Vert", + "\\uparrow", + "\\Uparrow", + "\\downarrow", + "\\Downarrow", + "\\updownarrow", + "\\Updownarrow", + ".", + ] +function v2(t, e) { + var r = g2(t) + if (r && Ft.contains(AX, r.text)) return r + throw r + ? new at("Invalid delimiter '" + r.text + "' after '" + e.funcName + "'", t) + : new at("Invalid delimiter type '" + t.type + "'", t) +} +bt({ + type: "delimsizing", + names: [ + "\\bigl", + "\\Bigl", + "\\biggl", + "\\Biggl", + "\\bigr", + "\\Bigr", + "\\biggr", + "\\Biggr", + "\\bigm", + "\\Bigm", + "\\biggm", + "\\Biggm", + "\\big", + "\\Big", + "\\bigg", + "\\Bigg", + ], + props: { numArgs: 1, argTypes: ["primitive"] }, + handler: (t, e) => { + var r = v2(e[0], t) + return { + type: "delimsizing", + mode: t.parser.mode, + size: c7[t.funcName].size, + mclass: c7[t.funcName].mclass, + delim: r.text, + } + }, + htmlBuilder: (t, e) => + t.delim === "." ? Pe.makeSpan([t.mclass]) : Po.sizedDelim(t.delim, t.size, e, t.mode, [t.mclass]), + mathmlBuilder: (t) => { + var e = [] + t.delim !== "." && e.push(Qa(t.delim, t.mode)) + var r = new nt.MathNode("mo", e) + t.mclass === "mopen" || t.mclass === "mclose" + ? r.setAttribute("fence", "true") + : r.setAttribute("fence", "false"), + r.setAttribute("stretchy", "true") + var n = ft(Po.sizeToMaxHeight[t.size]) + return r.setAttribute("minsize", n), r.setAttribute("maxsize", n), r + }, +}) +function u7(t) { + if (!t.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.") +} +bt({ + type: "leftright-right", + names: ["\\right"], + props: { numArgs: 1, primitive: !0 }, + handler: (t, e) => { + var r = t.parser.gullet.macros.get("\\current@color") + if (r && typeof r != "string") throw new at("\\current@color set to non-string in \\right") + return { type: "leftright-right", mode: t.parser.mode, delim: v2(e[0], t).text, color: r } + }, +}) +bt({ + type: "leftright", + names: ["\\left"], + props: { numArgs: 1, primitive: !0 }, + handler: (t, e) => { + var r = v2(e[0], t), + n = t.parser + ++n.leftrightDepth + var i = n.parseExpression(!1) + --n.leftrightDepth, n.expect("\\right", !1) + var a = Jt(n.parseFunction(), "leftright-right") + return { type: "leftright", mode: n.mode, body: i, left: r.text, right: a.delim, rightColor: a.color } + }, + htmlBuilder: (t, e) => { + u7(t) + for (var r = Fn(t.body, e, !0, ["mopen", "mclose"]), n = 0, i = 0, a = !1, s = 0; s < r.length; s++) + r[s].isMiddle ? (a = !0) : ((n = Math.max(r[s].height, n)), (i = Math.max(r[s].depth, i))) + ;(n *= e.sizeMultiplier), (i *= e.sizeMultiplier) + var o + if ( + (t.left === "." ? (o = gp(e, ["mopen"])) : (o = Po.leftRightDelim(t.left, n, i, e, t.mode, ["mopen"])), + r.unshift(o), + a) + ) + for (var l = 1; l < r.length; l++) { + var u = r[l], + h = u.isMiddle + h && (r[l] = Po.leftRightDelim(h.delim, n, i, h.options, t.mode, [])) + } + var d + if (t.right === ".") d = gp(e, ["mclose"]) + else { + var f = t.rightColor ? e.withColor(t.rightColor) : e + d = Po.leftRightDelim(t.right, n, i, f, t.mode, ["mclose"]) + } + return r.push(d), Pe.makeSpan(["minner"], r, e) + }, + mathmlBuilder: (t, e) => { + u7(t) + var r = ha(t.body, e) + if (t.left !== ".") { + var n = new nt.MathNode("mo", [Qa(t.left, t.mode)]) + n.setAttribute("fence", "true"), r.unshift(n) + } + if (t.right !== ".") { + var i = new nt.MathNode("mo", [Qa(t.right, t.mode)]) + i.setAttribute("fence", "true"), t.rightColor && i.setAttribute("mathcolor", t.rightColor), r.push(i) + } + return fT(r) + }, +}) +bt({ + type: "middle", + names: ["\\middle"], + props: { numArgs: 1, primitive: !0 }, + handler: (t, e) => { + var r = v2(e[0], t) + if (!t.parser.leftrightDepth) throw new at("\\middle without preceding \\left", r) + return { type: "middle", mode: t.parser.mode, delim: r.text } + }, + htmlBuilder: (t, e) => { + var r + if (t.delim === ".") r = gp(e, []) + else { + r = Po.sizedDelim(t.delim, 1, e, t.mode, []) + var n = { delim: t.delim, options: e } + r.isMiddle = n + } + return r + }, + mathmlBuilder: (t, e) => { + var r = t.delim === "\\vert" || t.delim === "|" ? Qa("|", "text") : Qa(t.delim, t.mode), + n = new nt.MathNode("mo", [r]) + return ( + n.setAttribute("fence", "true"), n.setAttribute("lspace", "0.05em"), n.setAttribute("rspace", "0.05em"), n + ) + }, +}) +var yT = (t, e) => { + var r = Pe.wrapFragment(vr(t.body, e), e), + n = t.label.slice(1), + i = e.sizeMultiplier, + a, + s = 0, + o = Ft.isCharacterBox(t.body) + if (n === "sout") + (a = Pe.makeSpan(["stretchy", "sout"])), + (a.height = e.fontMetrics().defaultRuleThickness / i), + (s = -0.5 * e.fontMetrics().xHeight) + else if (n === "phase") { + var l = en({ number: 0.6, unit: "pt" }, e), + u = en({ number: 0.35, unit: "ex" }, e), + h = e.havingBaseSizing() + i = i / h.sizeMultiplier + var d = r.height + r.depth + l + u + r.style.paddingLeft = ft(d / 2 + l) + var f = Math.floor(1e3 * d * i), + p = bY(f), + g = new zo([new _l("phase", p)], { + width: "400em", + height: ft(f / 1e3), + viewBox: "0 0 400000 " + f, + preserveAspectRatio: "xMinYMin slice", + }) + ;(a = Pe.makeSvgSpan(["hide-tail"], [g], e)), (a.style.height = ft(d)), (s = r.depth + l + u) + } else { + ;/cancel/.test(n) + ? o || r.classes.push("cancel-pad") + : n === "angl" + ? r.classes.push("anglpad") + : r.classes.push("boxpad") + var m = 0, + v = 0, + y = 0 + ;/box/.test(n) + ? ((y = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)), + (m = e.fontMetrics().fboxsep + (n === "colorbox" ? 0 : y)), + (v = m)) + : n === "angl" + ? ((y = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)), + (m = 4 * y), + (v = Math.max(0, 0.25 - r.depth))) + : ((m = o ? 0.2 : 0), (v = m)), + (a = Go.encloseSpan(r, n, m, v, e)), + /fbox|boxed|fcolorbox/.test(n) + ? ((a.style.borderStyle = "solid"), (a.style.borderWidth = ft(y))) + : n === "angl" && + y !== 0.049 && + ((a.style.borderTopWidth = ft(y)), (a.style.borderRightWidth = ft(y))), + (s = r.depth + v), + t.backgroundColor && + ((a.style.backgroundColor = t.backgroundColor), + t.borderColor && (a.style.borderColor = t.borderColor)) + } + var b + if (t.backgroundColor) + b = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: a, shift: s }, + { type: "elem", elem: r, shift: 0 }, + ], + }, + e, + ) + else { + var w = /cancel|phase/.test(n) ? ["svg-align"] : [] + b = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: r, shift: 0 }, + { type: "elem", elem: a, shift: s, wrapperClasses: w }, + ], + }, + e, + ) + } + return ( + /cancel/.test(n) && ((b.height = r.height), (b.depth = r.depth)), + /cancel/.test(n) && !o ? Pe.makeSpan(["mord", "cancel-lap"], [b], e) : Pe.makeSpan(["mord"], [b], e) + ) + }, + xT = (t, e) => { + var r = 0, + n = new nt.MathNode(t.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [$r(t.body, e)]) + switch (t.label) { + case "\\cancel": + n.setAttribute("notation", "updiagonalstrike") + break + case "\\bcancel": + n.setAttribute("notation", "downdiagonalstrike") + break + case "\\phase": + n.setAttribute("notation", "phasorangle") + break + case "\\sout": + n.setAttribute("notation", "horizontalstrike") + break + case "\\fbox": + n.setAttribute("notation", "box") + break + case "\\angl": + n.setAttribute("notation", "actuarial") + break + case "\\fcolorbox": + case "\\colorbox": + if ( + ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm), + n.setAttribute("width", "+" + 2 * r + "pt"), + n.setAttribute("height", "+" + 2 * r + "pt"), + n.setAttribute("lspace", r + "pt"), + n.setAttribute("voffset", r + "pt"), + t.label === "\\fcolorbox") + ) { + var i = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness) + n.setAttribute("style", "border: " + i + "em solid " + String(t.borderColor)) + } + break + case "\\xcancel": + n.setAttribute("notation", "updiagonalstrike downdiagonalstrike") + break + } + return t.backgroundColor && n.setAttribute("mathbackground", t.backgroundColor), n + } +bt({ + type: "enclose", + names: ["\\colorbox"], + props: { numArgs: 2, allowedInText: !0, argTypes: ["color", "text"] }, + handler(t, e, r) { + var { parser: n, funcName: i } = t, + a = Jt(e[0], "color-token").color, + s = e[1] + return { type: "enclose", mode: n.mode, label: i, backgroundColor: a, body: s } + }, + htmlBuilder: yT, + mathmlBuilder: xT, +}) +bt({ + type: "enclose", + names: ["\\fcolorbox"], + props: { numArgs: 3, allowedInText: !0, argTypes: ["color", "color", "text"] }, + handler(t, e, r) { + var { parser: n, funcName: i } = t, + a = Jt(e[0], "color-token").color, + s = Jt(e[1], "color-token").color, + o = e[2] + return { type: "enclose", mode: n.mode, label: i, backgroundColor: s, borderColor: a, body: o } + }, + htmlBuilder: yT, + mathmlBuilder: xT, +}) +bt({ + type: "enclose", + names: ["\\fbox"], + props: { numArgs: 1, argTypes: ["hbox"], allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t + return { type: "enclose", mode: r.mode, label: "\\fbox", body: e[0] } + }, +}) +bt({ + type: "enclose", + names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout", "\\phase"], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0] + return { type: "enclose", mode: r.mode, label: n, body: i } + }, + htmlBuilder: yT, + mathmlBuilder: xT, +}) +bt({ + type: "enclose", + names: ["\\angl"], + props: { numArgs: 1, argTypes: ["hbox"], allowedInText: !1 }, + handler(t, e) { + var { parser: r } = t + return { type: "enclose", mode: r.mode, label: "\\angl", body: e[0] } + }, +}) +var pD = {} +function ro(t) { + for ( + var { type: e, names: r, props: n, handler: i, htmlBuilder: a, mathmlBuilder: s } = t, + o = { type: e, numArgs: n.numArgs || 0, allowedInText: !1, numOptionalArgs: 0, handler: i }, + l = 0; + l < r.length; + ++l + ) + pD[r[l]] = o + a && (vv[e] = a), s && (yv[e] = s) +} +var gD = {} +function le(t, e) { + gD[t] = e +} +function h7(t) { + var e = [] + t.consumeSpaces() + var r = t.fetch().text + for ( + r === "\\relax" && (t.consume(), t.consumeSpaces(), (r = t.fetch().text)); + r === "\\hline" || r === "\\hdashline"; + + ) + t.consume(), e.push(r === "\\hdashline"), t.consumeSpaces(), (r = t.fetch().text) + return e +} +var y2 = (t) => { + var e = t.parser.settings + if (!e.displayMode) throw new at("{" + t.envName + "} can be used only in display mode.") +} +function bT(t) { + if (t.indexOf("ed") === -1) return t.indexOf("*") === -1 +} +function Yl(t, e, r) { + var { + hskipBeforeAndAfter: n, + addJot: i, + cols: a, + arraystretch: s, + colSeparationType: o, + autoTag: l, + singleRow: u, + emptySingleRow: h, + maxNumCols: d, + leqno: f, + } = e + if ((t.gullet.beginGroup(), u || t.gullet.macros.set("\\cr", "\\\\\\relax"), !s)) { + var p = t.gullet.expandMacroAsText("\\arraystretch") + if (p == null) s = 1 + else if (((s = parseFloat(p)), !s || s < 0)) throw new at("Invalid \\arraystretch: " + p) + } + t.gullet.beginGroup() + var g = [], + m = [g], + v = [], + y = [], + b = l != null ? [] : void 0 + function w() { + l && t.gullet.macros.set("\\@eqnsw", "1", !0) + } + function T() { + b && + (t.gullet.macros.get("\\df@tag") + ? (b.push(t.subparse([new Ka("\\df@tag")])), t.gullet.macros.set("\\df@tag", void 0, !0)) + : b.push(!!l && t.gullet.macros.get("\\@eqnsw") === "1")) + } + for (w(), y.push(h7(t)); ; ) { + var E = t.parseExpression(!1, u ? "\\end" : "\\\\") + t.gullet.endGroup(), + t.gullet.beginGroup(), + (E = { type: "ordgroup", mode: t.mode, body: E }), + r && (E = { type: "styling", mode: t.mode, style: r, body: [E] }), + g.push(E) + var S = t.fetch().text + if (S === "&") { + if (d && g.length === d) { + if (u || o) throw new at("Too many tab characters: &", t.nextToken) + t.settings.reportNonstrict("textEnv", "Too few columns specified in the {array} column argument.") + } + t.consume() + } else if (S === "\\end") { + T(), + g.length === 1 && + E.type === "styling" && + E.body[0].body.length === 0 && + (m.length > 1 || !h) && + m.pop(), + y.length < m.length + 1 && y.push([]) + break + } else if (S === "\\\\") { + t.consume() + var k = void 0 + t.gullet.future().text !== " " && (k = t.parseSizeGroup(!0)), + v.push(k ? k.value : null), + T(), + y.push(h7(t)), + (g = []), + m.push(g), + w() + } else throw new at("Expected & or \\\\ or \\cr or \\end", t.nextToken) + } + return ( + t.gullet.endGroup(), + t.gullet.endGroup(), + { + type: "array", + mode: t.mode, + addJot: i, + arraystretch: s, + body: m, + cols: a, + rowGaps: v, + hskipBeforeAndAfter: n, + hLinesBeforeRow: y, + colSeparationType: o, + tags: b, + leqno: f, + } + ) +} +function wT(t) { + return t.slice(0, 1) === "d" ? "display" : "text" +} +var no = function (e, r) { + var n, + i, + a = e.body.length, + s = e.hLinesBeforeRow, + o = 0, + l = new Array(a), + u = [], + h = Math.max(r.fontMetrics().arrayRuleWidth, r.minRuleThickness), + d = 1 / r.fontMetrics().ptPerEm, + f = 5 * d + if (e.colSeparationType && e.colSeparationType === "small") { + var p = r.havingStyle(Vt.SCRIPT).sizeMultiplier + f = 0.2778 * (p / r.sizeMultiplier) + } + var g = e.colSeparationType === "CD" ? en({ number: 3, unit: "ex" }, r) : 12 * d, + m = 3 * d, + v = e.arraystretch * g, + y = 0.7 * v, + b = 0.3 * v, + w = 0 + function T(re) { + for (var Ne = 0; Ne < re.length; ++Ne) Ne > 0 && (w += 0.25), u.push({ pos: w, isDashed: re[Ne] }) + } + for (T(s[0]), n = 0; n < e.body.length; ++n) { + var E = e.body[n], + S = y, + k = b + o < E.length && (o = E.length) + var L = new Array(E.length) + for (i = 0; i < E.length; ++i) { + var A = vr(E[i], r) + k < A.depth && (k = A.depth), S < A.height && (S = A.height), (L[i] = A) + } + var R = e.rowGaps[n], + C = 0 + R && ((C = en(R, r)), C > 0 && ((C += b), k < C && (k = C), (C = 0))), + e.addJot && (k += m), + (L.height = S), + (L.depth = k), + (w += S), + (L.pos = w), + (w += k + C), + (l[n] = L), + T(s[n + 1]) + } + var I = w / 2 + r.fontMetrics().axisHeight, + P = e.cols || [], + _ = [], + N, + M, + O = [] + if (e.tags && e.tags.some((re) => re)) + for (n = 0; n < a; ++n) { + var D = l[n], + B = D.pos - I, + z = e.tags[n], + F = void 0 + z === !0 + ? (F = Pe.makeSpan(["eqn-num"], [], r)) + : z === !1 + ? (F = Pe.makeSpan([], [], r)) + : (F = Pe.makeSpan([], Fn(z, r, !0), r)), + (F.depth = D.depth), + (F.height = D.height), + O.push({ type: "elem", elem: F, shift: B }) + } + for (i = 0, M = 0; i < o || M < P.length; ++i, ++M) { + for (var G = P[M] || {}, q = !0; G.type === "separator"; ) { + if ( + (q || + ((N = Pe.makeSpan(["arraycolsep"], [])), + (N.style.width = ft(r.fontMetrics().doubleRuleSep)), + _.push(N)), + G.separator === "|" || G.separator === ":") + ) { + var Y = G.separator === "|" ? "solid" : "dashed", + ee = Pe.makeSpan(["vertical-separator"], [], r) + ;(ee.style.height = ft(w)), + (ee.style.borderRightWidth = ft(h)), + (ee.style.borderRightStyle = Y), + (ee.style.margin = "0 " + ft(-h / 2)) + var Q = w - I + Q && (ee.style.verticalAlign = ft(-Q)), _.push(ee) + } else throw new at("Invalid separator type: " + G.separator) + M++, (G = P[M] || {}), (q = !1) + } + if (!(i >= o)) { + var oe = void 0 + ;(i > 0 || e.hskipBeforeAndAfter) && + ((oe = Ft.deflt(G.pregap, f)), + oe !== 0 && ((N = Pe.makeSpan(["arraycolsep"], [])), (N.style.width = ft(oe)), _.push(N))) + var pe = [] + for (n = 0; n < a; ++n) { + var j = l[n], + H = j[i] + if (H) { + var X = j.pos - I + ;(H.depth = j.depth), (H.height = j.height), pe.push({ type: "elem", elem: H, shift: X }) + } + } + ;(pe = Pe.makeVList({ positionType: "individualShift", children: pe }, r)), + (pe = Pe.makeSpan(["col-align-" + (G.align || "c")], [pe])), + _.push(pe), + (i < o - 1 || e.hskipBeforeAndAfter) && + ((oe = Ft.deflt(G.postgap, f)), + oe !== 0 && ((N = Pe.makeSpan(["arraycolsep"], [])), (N.style.width = ft(oe)), _.push(N))) + } + } + if (((l = Pe.makeSpan(["mtable"], _)), u.length > 0)) { + for ( + var W = Pe.makeLineSpan("hline", r, h), + K = Pe.makeLineSpan("hdashline", r, h), + ne = [{ type: "elem", elem: l, shift: 0 }]; + u.length > 0; + + ) { + var Z = u.pop(), + be = Z.pos - I + Z.isDashed + ? ne.push({ type: "elem", elem: K, shift: be }) + : ne.push({ type: "elem", elem: W, shift: be }) + } + l = Pe.makeVList({ positionType: "individualShift", children: ne }, r) + } + if (O.length === 0) return Pe.makeSpan(["mord"], [l], r) + var ce = Pe.makeVList({ positionType: "individualShift", children: O }, r) + return (ce = Pe.makeSpan(["tag"], [ce], r)), Pe.makeFragment([l, ce]) + }, + _X = { c: "center ", l: "left ", r: "right " }, + io = function (e, r) { + for ( + var n = [], + i = new nt.MathNode("mtd", [], ["mtr-glue"]), + a = new nt.MathNode("mtd", [], ["mml-eqn-num"]), + s = 0; + s < e.body.length; + s++ + ) { + for (var o = e.body[s], l = [], u = 0; u < o.length; u++) l.push(new nt.MathNode("mtd", [$r(o[u], r)])) + e.tags && e.tags[s] && (l.unshift(i), l.push(i), e.leqno ? l.unshift(a) : l.push(a)), + n.push(new nt.MathNode("mtr", l)) + } + var h = new nt.MathNode("mtable", n), + d = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0) + h.setAttribute("rowspacing", ft(d)) + var f = "", + p = "" + if (e.cols && e.cols.length > 0) { + var g = e.cols, + m = "", + v = !1, + y = 0, + b = g.length + g[0].type === "separator" && ((f += "top "), (y = 1)), + g[g.length - 1].type === "separator" && ((f += "bottom "), (b -= 1)) + for (var w = y; w < b; w++) + g[w].type === "align" + ? ((p += _X[g[w].align]), v && (m += "none "), (v = !0)) + : g[w].type === "separator" && v && ((m += g[w].separator === "|" ? "solid " : "dashed "), (v = !1)) + h.setAttribute("columnalign", p.trim()), /[sd]/.test(m) && h.setAttribute("columnlines", m.trim()) + } + if (e.colSeparationType === "align") { + for (var T = e.cols || [], E = "", S = 1; S < T.length; S++) E += S % 2 ? "0em " : "1em " + h.setAttribute("columnspacing", E.trim()) + } else + e.colSeparationType === "alignat" || e.colSeparationType === "gather" + ? h.setAttribute("columnspacing", "0em") + : e.colSeparationType === "small" + ? h.setAttribute("columnspacing", "0.2778em") + : e.colSeparationType === "CD" + ? h.setAttribute("columnspacing", "0.5em") + : h.setAttribute("columnspacing", "1em") + var k = "", + L = e.hLinesBeforeRow + ;(f += L[0].length > 0 ? "left " : ""), (f += L[L.length - 1].length > 0 ? "right " : "") + for (var A = 1; A < L.length - 1; A++) k += L[A].length === 0 ? "none " : L[A][0] ? "dashed " : "solid " + return ( + /[sd]/.test(k) && h.setAttribute("rowlines", k.trim()), + f !== "" && ((h = new nt.MathNode("menclose", [h])), h.setAttribute("notation", f.trim())), + e.arraystretch && + e.arraystretch < 1 && + ((h = new nt.MathNode("mstyle", [h])), h.setAttribute("scriptlevel", "1")), + h + ) + }, + mD = function (e, r) { + e.envName.indexOf("ed") === -1 && y2(e) + var n = [], + i = e.envName.indexOf("at") > -1 ? "alignat" : "align", + a = e.envName === "split", + s = Yl( + e.parser, + { + cols: n, + addJot: !0, + autoTag: a ? void 0 : bT(e.envName), + emptySingleRow: !0, + colSeparationType: i, + maxNumCols: a ? 2 : void 0, + leqno: e.parser.settings.leqno, + }, + "display", + ), + o, + l = 0, + u = { type: "ordgroup", mode: e.mode, body: [] } + if (r[0] && r[0].type === "ordgroup") { + for (var h = "", d = 0; d < r[0].body.length; d++) { + var f = Jt(r[0].body[d], "textord") + h += f.text + } + ;(o = Number(h)), (l = o * 2) + } + var p = !l + s.body.forEach(function (y) { + for (var b = 1; b < y.length; b += 2) { + var w = Jt(y[b], "styling"), + T = Jt(w.body[0], "ordgroup") + T.body.unshift(u) + } + if (p) l < y.length && (l = y.length) + else { + var E = y.length / 2 + if (o < E) throw new at("Too many math in a row: " + ("expected " + o + ", but got " + E), y[0]) + } + }) + for (var g = 0; g < l; ++g) { + var m = "r", + v = 0 + g % 2 === 1 ? (m = "l") : g > 0 && p && (v = 1), (n[g] = { type: "align", align: m, pregap: v, postgap: 0 }) + } + return (s.colSeparationType = p ? "align" : "alignat"), s + } +ro({ + type: "array", + names: ["array", "darray"], + props: { numArgs: 1 }, + handler(t, e) { + var r = g2(e[0]), + n = r ? [e[0]] : Jt(e[0], "ordgroup").body, + i = n.map(function (s) { + var o = gT(s), + l = o.text + if ("lcr".indexOf(l) !== -1) return { type: "align", align: l } + if (l === "|") return { type: "separator", separator: "|" } + if (l === ":") return { type: "separator", separator: ":" } + throw new at("Unknown column alignment: " + l, s) + }), + a = { cols: i, hskipBeforeAndAfter: !0, maxNumCols: i.length } + return Yl(t.parser, a, wT(t.envName)) + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: [ + "matrix", + "pmatrix", + "bmatrix", + "Bmatrix", + "vmatrix", + "Vmatrix", + "matrix*", + "pmatrix*", + "bmatrix*", + "Bmatrix*", + "vmatrix*", + "Vmatrix*", + ], + props: { numArgs: 0 }, + handler(t) { + var e = { + matrix: null, + pmatrix: ["(", ")"], + bmatrix: ["[", "]"], + Bmatrix: ["\\{", "\\}"], + vmatrix: ["|", "|"], + Vmatrix: ["\\Vert", "\\Vert"], + }[t.envName.replace("*", "")], + r = "c", + n = { hskipBeforeAndAfter: !1, cols: [{ type: "align", align: r }] } + if (t.envName.charAt(t.envName.length - 1) === "*") { + var i = t.parser + if ((i.consumeSpaces(), i.fetch().text === "[")) { + if ((i.consume(), i.consumeSpaces(), (r = i.fetch().text), "lcr".indexOf(r) === -1)) + throw new at("Expected l or c or r", i.nextToken) + i.consume(), i.consumeSpaces(), i.expect("]"), i.consume(), (n.cols = [{ type: "align", align: r }]) + } + } + var a = Yl(t.parser, n, wT(t.envName)), + s = Math.max(0, ...a.body.map((o) => o.length)) + return ( + (a.cols = new Array(s).fill({ type: "align", align: r })), + e ? { type: "leftright", mode: t.mode, body: [a], left: e[0], right: e[1], rightColor: void 0 } : a + ) + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["smallmatrix"], + props: { numArgs: 0 }, + handler(t) { + var e = { arraystretch: 0.5 }, + r = Yl(t.parser, e, "script") + return (r.colSeparationType = "small"), r + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["subarray"], + props: { numArgs: 1 }, + handler(t, e) { + var r = g2(e[0]), + n = r ? [e[0]] : Jt(e[0], "ordgroup").body, + i = n.map(function (s) { + var o = gT(s), + l = o.text + if ("lc".indexOf(l) !== -1) return { type: "align", align: l } + throw new at("Unknown column alignment: " + l, s) + }) + if (i.length > 1) throw new at("{subarray} can contain only one column") + var a = { cols: i, hskipBeforeAndAfter: !1, arraystretch: 0.5 } + if (((a = Yl(t.parser, a, "script")), a.body.length > 0 && a.body[0].length > 1)) + throw new at("{subarray} can contain only one column") + return a + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["cases", "dcases", "rcases", "drcases"], + props: { numArgs: 0 }, + handler(t) { + var e = { + arraystretch: 1.2, + cols: [ + { type: "align", align: "l", pregap: 0, postgap: 1 }, + { type: "align", align: "l", pregap: 0, postgap: 0 }, + ], + }, + r = Yl(t.parser, e, wT(t.envName)) + return { + type: "leftright", + mode: t.mode, + body: [r], + left: t.envName.indexOf("r") > -1 ? "." : "\\{", + right: t.envName.indexOf("r") > -1 ? "\\}" : ".", + rightColor: void 0, + } + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["align", "align*", "aligned", "split"], + props: { numArgs: 0 }, + handler: mD, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["gathered", "gather", "gather*"], + props: { numArgs: 0 }, + handler(t) { + Ft.contains(["gather", "gather*"], t.envName) && y2(t) + var e = { + cols: [{ type: "align", align: "c" }], + addJot: !0, + colSeparationType: "gather", + autoTag: bT(t.envName), + emptySingleRow: !0, + leqno: t.parser.settings.leqno, + } + return Yl(t.parser, e, "display") + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["alignat", "alignat*", "alignedat"], + props: { numArgs: 1 }, + handler: mD, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["equation", "equation*"], + props: { numArgs: 0 }, + handler(t) { + y2(t) + var e = { + autoTag: bT(t.envName), + emptySingleRow: !0, + singleRow: !0, + maxNumCols: 1, + leqno: t.parser.settings.leqno, + } + return Yl(t.parser, e, "display") + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +ro({ + type: "array", + names: ["CD"], + props: { numArgs: 0 }, + handler(t) { + return y2(t), pX(t.parser) + }, + htmlBuilder: no, + mathmlBuilder: io, +}) +le("\\nonumber", "\\gdef\\@eqnsw{0}") +le("\\notag", "\\nonumber") +bt({ + type: "text", + names: ["\\hline", "\\hdashline"], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 }, + handler(t, e) { + throw new at(t.funcName + " valid only within array environment") + }, +}) +var d7 = pD +bt({ + type: "environment", + names: ["\\begin", "\\end"], + props: { numArgs: 1, argTypes: ["text"] }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0] + if (i.type !== "ordgroup") throw new at("Invalid environment name", i) + for (var a = "", s = 0; s < i.body.length; ++s) a += Jt(i.body[s], "textord").text + if (n === "\\begin") { + if (!d7.hasOwnProperty(a)) throw new at("No such environment: " + a, i) + var o = d7[a], + { args: l, optArgs: u } = r.parseArguments("\\begin{" + a + "}", o), + h = { mode: r.mode, envName: a, parser: r }, + d = o.handler(h, l, u) + r.expect("\\end", !1) + var f = r.nextToken, + p = Jt(r.parseFunction(), "environment") + if (p.name !== a) throw new at("Mismatch: \\begin{" + a + "} matched by \\end{" + p.name + "}", f) + return d + } + return { type: "environment", mode: r.mode, name: a, nameGroup: i } + }, +}) +var vD = (t, e) => { + var r = t.font, + n = e.withFont(r) + return vr(t.body, n) + }, + yD = (t, e) => { + var r = t.font, + n = e.withFont(r) + return $r(t.body, n) + }, + f7 = { "\\Bbb": "\\mathbb", "\\bold": "\\mathbf", "\\frak": "\\mathfrak", "\\bm": "\\boldsymbol" } +bt({ + type: "font", + names: [ + "\\mathrm", + "\\mathit", + "\\mathbf", + "\\mathnormal", + "\\mathsfit", + "\\mathbb", + "\\mathcal", + "\\mathfrak", + "\\mathscr", + "\\mathsf", + "\\mathtt", + "\\Bbb", + "\\bold", + "\\frak", + ], + props: { numArgs: 1, allowedInArgument: !0 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = xv(e[0]), + a = n + return a in f7 && (a = f7[a]), { type: "font", mode: r.mode, font: a.slice(1), body: i } + }, + htmlBuilder: vD, + mathmlBuilder: yD, +}) +bt({ + type: "mclass", + names: ["\\boldsymbol", "\\bm"], + props: { numArgs: 1 }, + handler: (t, e) => { + var { parser: r } = t, + n = e[0], + i = Ft.isCharacterBox(n) + return { + type: "mclass", + mode: r.mode, + mclass: m2(n), + body: [{ type: "font", mode: r.mode, font: "boldsymbol", body: n }], + isCharacterBox: i, + } + }, +}) +bt({ + type: "font", + names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"], + props: { numArgs: 0, allowedInText: !0 }, + handler: (t, e) => { + var { parser: r, funcName: n, breakOnTokenText: i } = t, + { mode: a } = r, + s = r.parseExpression(!0, i), + o = "math" + n.slice(1) + return { type: "font", mode: a, font: o, body: { type: "ordgroup", mode: r.mode, body: s } } + }, + htmlBuilder: vD, + mathmlBuilder: yD, +}) +var xD = (t, e) => { + var r = e + return ( + t === "display" + ? (r = r.id >= Vt.SCRIPT.id ? r.text() : Vt.DISPLAY) + : t === "text" && r.size === Vt.DISPLAY.size + ? (r = Vt.TEXT) + : t === "script" + ? (r = Vt.SCRIPT) + : t === "scriptscript" && (r = Vt.SCRIPTSCRIPT), + r + ) + }, + TT = (t, e) => { + var r = xD(t.size, e.style), + n = r.fracNum(), + i = r.fracDen(), + a + a = e.havingStyle(n) + var s = vr(t.numer, a, e) + if (t.continued) { + var o = 8.5 / e.fontMetrics().ptPerEm, + l = 3.5 / e.fontMetrics().ptPerEm + ;(s.height = s.height < o ? o : s.height), (s.depth = s.depth < l ? l : s.depth) + } + a = e.havingStyle(i) + var u = vr(t.denom, a, e), + h, + d, + f + t.hasBarLine + ? (t.barSize + ? ((d = en(t.barSize, e)), (h = Pe.makeLineSpan("frac-line", e, d))) + : (h = Pe.makeLineSpan("frac-line", e)), + (d = h.height), + (f = h.height)) + : ((h = null), (d = 0), (f = e.fontMetrics().defaultRuleThickness)) + var p, g, m + r.size === Vt.DISPLAY.size || t.size === "display" + ? ((p = e.fontMetrics().num1), d > 0 ? (g = 3 * f) : (g = 7 * f), (m = e.fontMetrics().denom1)) + : (d > 0 ? ((p = e.fontMetrics().num2), (g = f)) : ((p = e.fontMetrics().num3), (g = 3 * f)), + (m = e.fontMetrics().denom2)) + var v + if (h) { + var b = e.fontMetrics().axisHeight + p - s.depth - (b + 0.5 * d) < g && (p += g - (p - s.depth - (b + 0.5 * d))), + b - 0.5 * d - (u.height - m) < g && (m += g - (b - 0.5 * d - (u.height - m))) + var w = -(b - 0.5 * d) + v = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: u, shift: m }, + { type: "elem", elem: h, shift: w }, + { type: "elem", elem: s, shift: -p }, + ], + }, + e, + ) + } else { + var y = p - s.depth - (u.height - m) + y < g && ((p += 0.5 * (g - y)), (m += 0.5 * (g - y))), + (v = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: u, shift: m }, + { type: "elem", elem: s, shift: -p }, + ], + }, + e, + )) + } + ;(a = e.havingStyle(r)), + (v.height *= a.sizeMultiplier / e.sizeMultiplier), + (v.depth *= a.sizeMultiplier / e.sizeMultiplier) + var T + r.size === Vt.DISPLAY.size + ? (T = e.fontMetrics().delim1) + : r.size === Vt.SCRIPTSCRIPT.size + ? (T = e.havingStyle(Vt.SCRIPT).fontMetrics().delim2) + : (T = e.fontMetrics().delim2) + var E, S + return ( + t.leftDelim == null + ? (E = gp(e, ["mopen"])) + : (E = Po.customSizedDelim(t.leftDelim, T, !0, e.havingStyle(r), t.mode, ["mopen"])), + t.continued + ? (S = Pe.makeSpan([])) + : t.rightDelim == null + ? (S = gp(e, ["mclose"])) + : (S = Po.customSizedDelim(t.rightDelim, T, !0, e.havingStyle(r), t.mode, ["mclose"])), + Pe.makeSpan(["mord"].concat(a.sizingClasses(e)), [E, Pe.makeSpan(["mfrac"], [v]), S], e) + ) + }, + ET = (t, e) => { + var r = new nt.MathNode("mfrac", [$r(t.numer, e), $r(t.denom, e)]) + if (!t.hasBarLine) r.setAttribute("linethickness", "0px") + else if (t.barSize) { + var n = en(t.barSize, e) + r.setAttribute("linethickness", ft(n)) + } + var i = xD(t.size, e.style) + if (i.size !== e.style.size) { + r = new nt.MathNode("mstyle", [r]) + var a = i.size === Vt.DISPLAY.size ? "true" : "false" + r.setAttribute("displaystyle", a), r.setAttribute("scriptlevel", "0") + } + if (t.leftDelim != null || t.rightDelim != null) { + var s = [] + if (t.leftDelim != null) { + var o = new nt.MathNode("mo", [new nt.TextNode(t.leftDelim.replace("\\", ""))]) + o.setAttribute("fence", "true"), s.push(o) + } + if ((s.push(r), t.rightDelim != null)) { + var l = new nt.MathNode("mo", [new nt.TextNode(t.rightDelim.replace("\\", ""))]) + l.setAttribute("fence", "true"), s.push(l) + } + return fT(s) + } + return r + } +bt({ + type: "genfrac", + names: [ + "\\dfrac", + "\\frac", + "\\tfrac", + "\\dbinom", + "\\binom", + "\\tbinom", + "\\\\atopfrac", + "\\\\bracefrac", + "\\\\brackfrac", + ], + props: { numArgs: 2, allowedInArgument: !0 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = e[1], + s, + o = null, + l = null, + u = "auto" + switch (n) { + case "\\dfrac": + case "\\frac": + case "\\tfrac": + s = !0 + break + case "\\\\atopfrac": + s = !1 + break + case "\\dbinom": + case "\\binom": + case "\\tbinom": + ;(s = !1), (o = "("), (l = ")") + break + case "\\\\bracefrac": + ;(s = !1), (o = "\\{"), (l = "\\}") + break + case "\\\\brackfrac": + ;(s = !1), (o = "["), (l = "]") + break + default: + throw new Error("Unrecognized genfrac command") + } + switch (n) { + case "\\dfrac": + case "\\dbinom": + u = "display" + break + case "\\tfrac": + case "\\tbinom": + u = "text" + break + } + return { + type: "genfrac", + mode: r.mode, + continued: !1, + numer: i, + denom: a, + hasBarLine: s, + leftDelim: o, + rightDelim: l, + size: u, + barSize: null, + } + }, + htmlBuilder: TT, + mathmlBuilder: ET, +}) +bt({ + type: "genfrac", + names: ["\\cfrac"], + props: { numArgs: 2 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = e[1] + return { + type: "genfrac", + mode: r.mode, + continued: !0, + numer: i, + denom: a, + hasBarLine: !0, + leftDelim: null, + rightDelim: null, + size: "display", + barSize: null, + } + }, +}) +bt({ + type: "infix", + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], + props: { numArgs: 0, infix: !0 }, + handler(t) { + var { parser: e, funcName: r, token: n } = t, + i + switch (r) { + case "\\over": + i = "\\frac" + break + case "\\choose": + i = "\\binom" + break + case "\\atop": + i = "\\\\atopfrac" + break + case "\\brace": + i = "\\\\bracefrac" + break + case "\\brack": + i = "\\\\brackfrac" + break + default: + throw new Error("Unrecognized infix genfrac command") + } + return { type: "infix", mode: e.mode, replaceWith: i, token: n } + }, +}) +var p7 = ["display", "text", "script", "scriptscript"], + g7 = function (e) { + var r = null + return e.length > 0 && ((r = e), (r = r === "." ? null : r)), r + } +bt({ + type: "genfrac", + names: ["\\genfrac"], + props: { numArgs: 6, allowedInArgument: !0, argTypes: ["math", "math", "size", "text", "math", "math"] }, + handler(t, e) { + var { parser: r } = t, + n = e[4], + i = e[5], + a = xv(e[0]), + s = a.type === "atom" && a.family === "open" ? g7(a.text) : null, + o = xv(e[1]), + l = o.type === "atom" && o.family === "close" ? g7(o.text) : null, + u = Jt(e[2], "size"), + h, + d = null + u.isBlank ? (h = !0) : ((d = u.value), (h = d.number > 0)) + var f = "auto", + p = e[3] + if (p.type === "ordgroup") { + if (p.body.length > 0) { + var g = Jt(p.body[0], "textord") + f = p7[Number(g.text)] + } + } else (p = Jt(p, "textord")), (f = p7[Number(p.text)]) + return { + type: "genfrac", + mode: r.mode, + numer: n, + denom: i, + continued: !1, + hasBarLine: h, + barSize: d, + leftDelim: s, + rightDelim: l, + size: f, + } + }, + htmlBuilder: TT, + mathmlBuilder: ET, +}) +bt({ + type: "infix", + names: ["\\above"], + props: { numArgs: 1, argTypes: ["size"], infix: !0 }, + handler(t, e) { + var { parser: r, funcName: n, token: i } = t + return { type: "infix", mode: r.mode, replaceWith: "\\\\abovefrac", size: Jt(e[0], "size").value, token: i } + }, +}) +bt({ + type: "genfrac", + names: ["\\\\abovefrac"], + props: { numArgs: 3, argTypes: ["math", "size", "math"] }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = e[0], + a = aY(Jt(e[1], "infix").size), + s = e[2], + o = a.number > 0 + return { + type: "genfrac", + mode: r.mode, + numer: i, + denom: s, + continued: !1, + hasBarLine: o, + barSize: a, + leftDelim: null, + rightDelim: null, + size: "auto", + } + }, + htmlBuilder: TT, + mathmlBuilder: ET, +}) +var bD = (t, e) => { + var r = e.style, + n, + i + t.type === "supsub" + ? ((n = t.sup ? vr(t.sup, e.havingStyle(r.sup()), e) : vr(t.sub, e.havingStyle(r.sub()), e)), + (i = Jt(t.base, "horizBrace"))) + : (i = Jt(t, "horizBrace")) + var a = vr(i.base, e.havingBaseStyle(Vt.DISPLAY)), + s = Go.svgSpan(i, e), + o + if ( + (i.isOver + ? ((o = Pe.makeVList( + { + positionType: "firstBaseline", + children: [ + { type: "elem", elem: a }, + { type: "kern", size: 0.1 }, + { type: "elem", elem: s }, + ], + }, + e, + )), + o.children[0].children[0].children[1].classes.push("svg-align")) + : ((o = Pe.makeVList( + { + positionType: "bottom", + positionData: a.depth + 0.1 + s.height, + children: [ + { type: "elem", elem: s }, + { type: "kern", size: 0.1 }, + { type: "elem", elem: a }, + ], + }, + e, + )), + o.children[0].children[0].children[0].classes.push("svg-align")), + n) + ) { + var l = Pe.makeSpan(["mord", i.isOver ? "mover" : "munder"], [o], e) + i.isOver + ? (o = Pe.makeVList( + { + positionType: "firstBaseline", + children: [ + { type: "elem", elem: l }, + { type: "kern", size: 0.2 }, + { type: "elem", elem: n }, + ], + }, + e, + )) + : (o = Pe.makeVList( + { + positionType: "bottom", + positionData: l.depth + 0.2 + n.height + n.depth, + children: [ + { type: "elem", elem: n }, + { type: "kern", size: 0.2 }, + { type: "elem", elem: l }, + ], + }, + e, + )) + } + return Pe.makeSpan(["mord", i.isOver ? "mover" : "munder"], [o], e) + }, + LX = (t, e) => { + var r = Go.mathMLnode(t.label) + return new nt.MathNode(t.isOver ? "mover" : "munder", [$r(t.base, e), r]) + } +bt({ + type: "horizBrace", + names: ["\\overbrace", "\\underbrace"], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r, funcName: n } = t + return { type: "horizBrace", mode: r.mode, label: n, isOver: /^\\over/.test(n), base: e[0] } + }, + htmlBuilder: bD, + mathmlBuilder: LX, +}) +bt({ + type: "href", + names: ["\\href"], + props: { numArgs: 2, argTypes: ["url", "original"], allowedInText: !0 }, + handler: (t, e) => { + var { parser: r } = t, + n = e[1], + i = Jt(e[0], "url").url + return r.settings.isTrusted({ command: "\\href", url: i }) + ? { type: "href", mode: r.mode, href: i, body: vn(n) } + : r.formatUnsupportedCmd("\\href") + }, + htmlBuilder: (t, e) => { + var r = Fn(t.body, e, !1) + return Pe.makeAnchor(t.href, [], r, e) + }, + mathmlBuilder: (t, e) => { + var r = Ll(t.body, e) + return r instanceof Ea || (r = new Ea("mrow", [r])), r.setAttribute("href", t.href), r + }, +}) +bt({ + type: "href", + names: ["\\url"], + props: { numArgs: 1, argTypes: ["url"], allowedInText: !0 }, + handler: (t, e) => { + var { parser: r } = t, + n = Jt(e[0], "url").url + if (!r.settings.isTrusted({ command: "\\url", url: n })) return r.formatUnsupportedCmd("\\url") + for (var i = [], a = 0; a < n.length; a++) { + var s = n[a] + s === "~" && (s = "\\textasciitilde"), i.push({ type: "textord", mode: "text", text: s }) + } + var o = { type: "text", mode: r.mode, font: "\\texttt", body: i } + return { type: "href", mode: r.mode, href: n, body: vn(o) } + }, +}) +bt({ + type: "hbox", + names: ["\\hbox"], + props: { numArgs: 1, argTypes: ["text"], allowedInText: !0, primitive: !0 }, + handler(t, e) { + var { parser: r } = t + return { type: "hbox", mode: r.mode, body: vn(e[0]) } + }, + htmlBuilder(t, e) { + var r = Fn(t.body, e, !1) + return Pe.makeFragment(r) + }, + mathmlBuilder(t, e) { + return new nt.MathNode("mrow", ha(t.body, e)) + }, +}) +bt({ + type: "html", + names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"], + props: { numArgs: 2, argTypes: ["raw", "original"], allowedInText: !0 }, + handler: (t, e) => { + var { parser: r, funcName: n, token: i } = t, + a = Jt(e[0], "raw").string, + s = e[1] + r.settings.strict && r.settings.reportNonstrict("htmlExtension", "HTML extension is disabled on strict mode") + var o, + l = {} + switch (n) { + case "\\htmlClass": + ;(l.class = a), (o = { command: "\\htmlClass", class: a }) + break + case "\\htmlId": + ;(l.id = a), (o = { command: "\\htmlId", id: a }) + break + case "\\htmlStyle": + ;(l.style = a), (o = { command: "\\htmlStyle", style: a }) + break + case "\\htmlData": { + for (var u = a.split(","), h = 0; h < u.length; h++) { + var d = u[h].split("=") + if (d.length !== 2) throw new at("Error parsing key-value for \\htmlData") + l["data-" + d[0].trim()] = d[1].trim() + } + o = { command: "\\htmlData", attributes: l } + break + } + default: + throw new Error("Unrecognized html command") + } + return r.settings.isTrusted(o) + ? { type: "html", mode: r.mode, attributes: l, body: vn(s) } + : r.formatUnsupportedCmd(n) + }, + htmlBuilder: (t, e) => { + var r = Fn(t.body, e, !1), + n = ["enclosing"] + t.attributes.class && n.push(...t.attributes.class.trim().split(/\s+/)) + var i = Pe.makeSpan(n, r, e) + for (var a in t.attributes) + a !== "class" && t.attributes.hasOwnProperty(a) && i.setAttribute(a, t.attributes[a]) + return i + }, + mathmlBuilder: (t, e) => Ll(t.body, e), +}) +bt({ + type: "htmlmathml", + names: ["\\html@mathml"], + props: { numArgs: 2, allowedInText: !0 }, + handler: (t, e) => { + var { parser: r } = t + return { type: "htmlmathml", mode: r.mode, html: vn(e[0]), mathml: vn(e[1]) } + }, + htmlBuilder: (t, e) => { + var r = Fn(t.html, e, !1) + return Pe.makeFragment(r) + }, + mathmlBuilder: (t, e) => Ll(t.mathml, e), +}) +var ub = function (e) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e)) return { number: +e, unit: "bp" } + var r = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e) + if (!r) throw new at("Invalid size: '" + e + "' in \\includegraphics") + var n = { number: +(r[1] + r[2]), unit: r[3] } + if (!$N(n)) throw new at("Invalid unit: '" + n.unit + "' in \\includegraphics.") + return n +} +bt({ + type: "includegraphics", + names: ["\\includegraphics"], + props: { numArgs: 1, numOptionalArgs: 1, argTypes: ["raw", "url"], allowedInText: !1 }, + handler: (t, e, r) => { + var { parser: n } = t, + i = { number: 0, unit: "em" }, + a = { number: 0.9, unit: "em" }, + s = { number: 0, unit: "em" }, + o = "" + if (r[0]) + for (var l = Jt(r[0], "raw").string, u = l.split(","), h = 0; h < u.length; h++) { + var d = u[h].split("=") + if (d.length === 2) { + var f = d[1].trim() + switch (d[0].trim()) { + case "alt": + o = f + break + case "width": + i = ub(f) + break + case "height": + a = ub(f) + break + case "totalheight": + s = ub(f) + break + default: + throw new at("Invalid key: '" + d[0] + "' in \\includegraphics.") + } + } + } + var p = Jt(e[0], "url").url + return ( + o === "" && ((o = p), (o = o.replace(/^.*[\\/]/, "")), (o = o.substring(0, o.lastIndexOf(".")))), + n.settings.isTrusted({ command: "\\includegraphics", url: p }) + ? { type: "includegraphics", mode: n.mode, alt: o, width: i, height: a, totalheight: s, src: p } + : n.formatUnsupportedCmd("\\includegraphics") + ) + }, + htmlBuilder: (t, e) => { + var r = en(t.height, e), + n = 0 + t.totalheight.number > 0 && (n = en(t.totalheight, e) - r) + var i = 0 + t.width.number > 0 && (i = en(t.width, e)) + var a = { height: ft(r + n) } + i > 0 && (a.width = ft(i)), n > 0 && (a.verticalAlign = ft(-n)) + var s = new LY(t.src, t.alt, a) + return (s.height = r), (s.depth = n), s + }, + mathmlBuilder: (t, e) => { + var r = new nt.MathNode("mglyph", []) + r.setAttribute("alt", t.alt) + var n = en(t.height, e), + i = 0 + if ( + (t.totalheight.number > 0 && ((i = en(t.totalheight, e) - n), r.setAttribute("valign", ft(-i))), + r.setAttribute("height", ft(n + i)), + t.width.number > 0) + ) { + var a = en(t.width, e) + r.setAttribute("width", ft(a)) + } + return r.setAttribute("src", t.src), r + }, +}) +bt({ + type: "kern", + names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], + props: { numArgs: 1, argTypes: ["size"], primitive: !0, allowedInText: !0 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = Jt(e[0], "size") + if (r.settings.strict) { + var a = n[1] === "m", + s = i.value.unit === "mu" + a + ? (s || + r.settings.reportNonstrict( + "mathVsTextUnits", + "LaTeX's " + n + " supports only mu units, " + ("not " + i.value.unit + " units"), + ), + r.mode !== "math" && + r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + n + " works only in math mode")) + : s && r.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + n + " doesn't support mu units") + } + return { type: "kern", mode: r.mode, dimension: i.value } + }, + htmlBuilder(t, e) { + return Pe.makeGlue(t.dimension, e) + }, + mathmlBuilder(t, e) { + var r = en(t.dimension, e) + return new nt.SpaceNode(r) + }, +}) +bt({ + type: "lap", + names: ["\\mathllap", "\\mathrlap", "\\mathclap"], + props: { numArgs: 1, allowedInText: !0 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = e[0] + return { type: "lap", mode: r.mode, alignment: n.slice(5), body: i } + }, + htmlBuilder: (t, e) => { + var r + t.alignment === "clap" + ? ((r = Pe.makeSpan([], [vr(t.body, e)])), (r = Pe.makeSpan(["inner"], [r], e))) + : (r = Pe.makeSpan(["inner"], [vr(t.body, e)])) + var n = Pe.makeSpan(["fix"], []), + i = Pe.makeSpan([t.alignment], [r, n], e), + a = Pe.makeSpan(["strut"]) + return ( + (a.style.height = ft(i.height + i.depth)), + i.depth && (a.style.verticalAlign = ft(-i.depth)), + i.children.unshift(a), + (i = Pe.makeSpan(["thinbox"], [i], e)), + Pe.makeSpan(["mord", "vbox"], [i], e) + ) + }, + mathmlBuilder: (t, e) => { + var r = new nt.MathNode("mpadded", [$r(t.body, e)]) + if (t.alignment !== "rlap") { + var n = t.alignment === "llap" ? "-1" : "-0.5" + r.setAttribute("lspace", n + "width") + } + return r.setAttribute("width", "0px"), r + }, +}) +bt({ + type: "styling", + names: ["\\(", "$"], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, + handler(t, e) { + var { funcName: r, parser: n } = t, + i = n.mode + n.switchMode("math") + var a = r === "\\(" ? "\\)" : "$", + s = n.parseExpression(!1, a) + return n.expect(a), n.switchMode(i), { type: "styling", mode: n.mode, style: "text", body: s } + }, +}) +bt({ + type: "text", + names: ["\\)", "\\]"], + props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 }, + handler(t, e) { + throw new at("Mismatched " + t.funcName) + }, +}) +var m7 = (t, e) => { + switch (e.style.size) { + case Vt.DISPLAY.size: + return t.display + case Vt.TEXT.size: + return t.text + case Vt.SCRIPT.size: + return t.script + case Vt.SCRIPTSCRIPT.size: + return t.scriptscript + default: + return t.text + } +} +bt({ + type: "mathchoice", + names: ["\\mathchoice"], + props: { numArgs: 4, primitive: !0 }, + handler: (t, e) => { + var { parser: r } = t + return { + type: "mathchoice", + mode: r.mode, + display: vn(e[0]), + text: vn(e[1]), + script: vn(e[2]), + scriptscript: vn(e[3]), + } + }, + htmlBuilder: (t, e) => { + var r = m7(t, e), + n = Fn(r, e, !1) + return Pe.makeFragment(n) + }, + mathmlBuilder: (t, e) => { + var r = m7(t, e) + return Ll(r, e) + }, +}) +var wD = (t, e, r, n, i, a, s) => { + t = Pe.makeSpan([], [t]) + var o = r && Ft.isCharacterBox(r), + l, + u + if (e) { + var h = vr(e, n.havingStyle(i.sup()), n) + u = { elem: h, kern: Math.max(n.fontMetrics().bigOpSpacing1, n.fontMetrics().bigOpSpacing3 - h.depth) } + } + if (r) { + var d = vr(r, n.havingStyle(i.sub()), n) + l = { elem: d, kern: Math.max(n.fontMetrics().bigOpSpacing2, n.fontMetrics().bigOpSpacing4 - d.height) } + } + var f + if (u && l) { + var p = n.fontMetrics().bigOpSpacing5 + l.elem.height + l.elem.depth + l.kern + t.depth + s + f = Pe.makeVList( + { + positionType: "bottom", + positionData: p, + children: [ + { type: "kern", size: n.fontMetrics().bigOpSpacing5 }, + { type: "elem", elem: l.elem, marginLeft: ft(-a) }, + { type: "kern", size: l.kern }, + { type: "elem", elem: t }, + { type: "kern", size: u.kern }, + { type: "elem", elem: u.elem, marginLeft: ft(a) }, + { type: "kern", size: n.fontMetrics().bigOpSpacing5 }, + ], + }, + n, + ) + } else if (l) { + var g = t.height - s + f = Pe.makeVList( + { + positionType: "top", + positionData: g, + children: [ + { type: "kern", size: n.fontMetrics().bigOpSpacing5 }, + { type: "elem", elem: l.elem, marginLeft: ft(-a) }, + { type: "kern", size: l.kern }, + { type: "elem", elem: t }, + ], + }, + n, + ) + } else if (u) { + var m = t.depth + s + f = Pe.makeVList( + { + positionType: "bottom", + positionData: m, + children: [ + { type: "elem", elem: t }, + { type: "kern", size: u.kern }, + { type: "elem", elem: u.elem, marginLeft: ft(a) }, + { type: "kern", size: n.fontMetrics().bigOpSpacing5 }, + ], + }, + n, + ) + } else return t + var v = [f] + if (l && a !== 0 && !o) { + var y = Pe.makeSpan(["mspace"], [], n) + ;(y.style.marginRight = ft(a)), v.unshift(y) + } + return Pe.makeSpan(["mop", "op-limits"], v, n) + }, + TD = ["\\smallint"], + ef = (t, e) => { + var r, + n, + i = !1, + a + t.type === "supsub" ? ((r = t.sup), (n = t.sub), (a = Jt(t.base, "op")), (i = !0)) : (a = Jt(t, "op")) + var s = e.style, + o = !1 + s.size === Vt.DISPLAY.size && a.symbol && !Ft.contains(TD, a.name) && (o = !0) + var l + if (a.symbol) { + var u = o ? "Size2-Regular" : "Size1-Regular", + h = "" + if ( + ((a.name === "\\oiint" || a.name === "\\oiiint") && + ((h = a.name.slice(1)), (a.name = h === "oiint" ? "\\iint" : "\\iiint")), + (l = Pe.makeSymbol(a.name, u, "math", e, ["mop", "op-symbol", o ? "large-op" : "small-op"])), + h.length > 0) + ) { + var d = l.italic, + f = Pe.staticSvg(h + "Size" + (o ? "2" : "1"), e) + ;(l = Pe.makeVList( + { + positionType: "individualShift", + children: [ + { type: "elem", elem: l, shift: 0 }, + { type: "elem", elem: f, shift: o ? 0.08 : 0 }, + ], + }, + e, + )), + (a.name = "\\" + h), + l.classes.unshift("mop"), + (l.italic = d) + } + } else if (a.body) { + var p = Fn(a.body, e, !0) + p.length === 1 && p[0] instanceof Za + ? ((l = p[0]), (l.classes[0] = "mop")) + : (l = Pe.makeSpan(["mop"], p, e)) + } else { + for (var g = [], m = 1; m < a.name.length; m++) g.push(Pe.mathsym(a.name[m], a.mode, e)) + l = Pe.makeSpan(["mop"], g, e) + } + var v = 0, + y = 0 + return ( + (l instanceof Za || a.name === "\\oiint" || a.name === "\\oiiint") && + !a.suppressBaseShift && + ((v = (l.height - l.depth) / 2 - e.fontMetrics().axisHeight), (y = l.italic)), + i ? wD(l, r, n, e, s, y, v) : (v && ((l.style.position = "relative"), (l.style.top = ft(v))), l) + ) + }, + sg = (t, e) => { + var r + if (t.symbol) + (r = new Ea("mo", [Qa(t.name, t.mode)])), Ft.contains(TD, t.name) && r.setAttribute("largeop", "false") + else if (t.body) r = new Ea("mo", ha(t.body, e)) + else { + r = new Ea("mi", [new Us(t.name.slice(1))]) + var n = new Ea("mo", [Qa("⁡", "text")]) + t.parentIsSupSub ? (r = new Ea("mrow", [r, n])) : (r = KN([r, n])) + } + return r + }, + RX = { + "∏": "\\prod", + "∐": "\\coprod", + "∑": "\\sum", + "⋀": "\\bigwedge", + "⋁": "\\bigvee", + "⋂": "\\bigcap", + "⋃": "\\bigcup", + "⨀": "\\bigodot", + "⨁": "\\bigoplus", + "⨂": "\\bigotimes", + "⨄": "\\biguplus", + "⨆": "\\bigsqcup", + } +bt({ + type: "op", + names: [ + "\\coprod", + "\\bigvee", + "\\bigwedge", + "\\biguplus", + "\\bigcap", + "\\bigcup", + "\\intop", + "\\prod", + "\\sum", + "\\bigotimes", + "\\bigoplus", + "\\bigodot", + "\\bigsqcup", + "\\smallint", + "∏", + "∐", + "∑", + "⋀", + "⋁", + "⋂", + "⋃", + "⨀", + "⨁", + "⨂", + "⨄", + "⨆", + ], + props: { numArgs: 0 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = n + return ( + i.length === 1 && (i = RX[i]), + { type: "op", mode: r.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: i } + ) + }, + htmlBuilder: ef, + mathmlBuilder: sg, +}) +bt({ + type: "op", + names: ["\\mathop"], + props: { numArgs: 1, primitive: !0 }, + handler: (t, e) => { + var { parser: r } = t, + n = e[0] + return { type: "op", mode: r.mode, limits: !1, parentIsSupSub: !1, symbol: !1, body: vn(n) } + }, + htmlBuilder: ef, + mathmlBuilder: sg, +}) +var NX = { "∫": "\\int", "∬": "\\iint", "∭": "\\iiint", "∮": "\\oint", "∯": "\\oiint", "∰": "\\oiiint" } +bt({ + type: "op", + names: [ + "\\arcsin", + "\\arccos", + "\\arctan", + "\\arctg", + "\\arcctg", + "\\arg", + "\\ch", + "\\cos", + "\\cosec", + "\\cosh", + "\\cot", + "\\cotg", + "\\coth", + "\\csc", + "\\ctg", + "\\cth", + "\\deg", + "\\dim", + "\\exp", + "\\hom", + "\\ker", + "\\lg", + "\\ln", + "\\log", + "\\sec", + "\\sin", + "\\sinh", + "\\sh", + "\\tan", + "\\tanh", + "\\tg", + "\\th", + ], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t + return { type: "op", mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !1, name: r } + }, + htmlBuilder: ef, + mathmlBuilder: sg, +}) +bt({ + type: "op", + names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t + return { type: "op", mode: e.mode, limits: !0, parentIsSupSub: !1, symbol: !1, name: r } + }, + htmlBuilder: ef, + mathmlBuilder: sg, +}) +bt({ + type: "op", + names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "∫", "∬", "∭", "∮", "∯", "∰"], + props: { numArgs: 0 }, + handler(t) { + var { parser: e, funcName: r } = t, + n = r + return ( + n.length === 1 && (n = NX[n]), + { type: "op", mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: n } + ) + }, + htmlBuilder: ef, + mathmlBuilder: sg, +}) +var ED = (t, e) => { + var r, + n, + i = !1, + a + t.type === "supsub" + ? ((r = t.sup), (n = t.sub), (a = Jt(t.base, "operatorname")), (i = !0)) + : (a = Jt(t, "operatorname")) + var s + if (a.body.length > 0) { + for ( + var o = a.body.map((d) => { + var f = d.text + return typeof f == "string" ? { type: "textord", mode: d.mode, text: f } : d + }), + l = Fn(o, e.withFont("mathrm"), !0), + u = 0; + u < l.length; + u++ + ) { + var h = l[u] + h instanceof Za && (h.text = h.text.replace(/\u2212/, "-").replace(/\u2217/, "*")) + } + s = Pe.makeSpan(["mop"], l, e) + } else s = Pe.makeSpan(["mop"], [], e) + return i ? wD(s, r, n, e, e.style, 0, 0) : s + }, + DX = (t, e) => { + for (var r = ha(t.body, e.withFont("mathrm")), n = !0, i = 0; i < r.length; i++) { + var a = r[i] + if (!(a instanceof nt.SpaceNode)) + if (a instanceof nt.MathNode) + switch (a.type) { + case "mi": + case "mn": + case "ms": + case "mspace": + case "mtext": + break + case "mo": { + var s = a.children[0] + a.children.length === 1 && s instanceof nt.TextNode + ? (s.text = s.text.replace(/\u2212/, "-").replace(/\u2217/, "*")) + : (n = !1) + break + } + default: + n = !1 + } + else n = !1 + } + if (n) { + var o = r.map((h) => h.toText()).join("") + r = [new nt.TextNode(o)] + } + var l = new nt.MathNode("mi", r) + l.setAttribute("mathvariant", "normal") + var u = new nt.MathNode("mo", [Qa("⁡", "text")]) + return t.parentIsSupSub ? new nt.MathNode("mrow", [l, u]) : nt.newDocumentFragment([l, u]) + } +bt({ + type: "operatorname", + names: ["\\operatorname@", "\\operatornamewithlimits"], + props: { numArgs: 1 }, + handler: (t, e) => { + var { parser: r, funcName: n } = t, + i = e[0] + return { + type: "operatorname", + mode: r.mode, + body: vn(i), + alwaysHandleSupSub: n === "\\operatornamewithlimits", + limits: !1, + parentIsSupSub: !1, + } + }, + htmlBuilder: ED, + mathmlBuilder: DX, +}) +le("\\operatorname", "\\@ifstar\\operatornamewithlimits\\operatorname@") +du({ + type: "ordgroup", + htmlBuilder(t, e) { + return t.semisimple ? Pe.makeFragment(Fn(t.body, e, !1)) : Pe.makeSpan(["mord"], Fn(t.body, e, !0), e) + }, + mathmlBuilder(t, e) { + return Ll(t.body, e, !0) + }, +}) +bt({ + type: "overline", + names: ["\\overline"], + props: { numArgs: 1 }, + handler(t, e) { + var { parser: r } = t, + n = e[0] + return { type: "overline", mode: r.mode, body: n } + }, + htmlBuilder(t, e) { + var r = vr(t.body, e.havingCrampedStyle()), + n = Pe.makeLineSpan("overline-line", e), + i = e.fontMetrics().defaultRuleThickness, + a = Pe.makeVList( + { + positionType: "firstBaseline", + children: [ + { type: "elem", elem: r }, + { type: "kern", size: 3 * i }, + { type: "elem", elem: n }, + { type: "kern", size: i }, + ], + }, + e, + ) + return Pe.makeSpan(["mord", "overline"], [a], e) + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mo", [new nt.TextNode("‾")]) + r.setAttribute("stretchy", "true") + var n = new nt.MathNode("mover", [$r(t.body, e), r]) + return n.setAttribute("accent", "true"), n + }, +}) +bt({ + type: "phantom", + names: ["\\phantom"], + props: { numArgs: 1, allowedInText: !0 }, + handler: (t, e) => { + var { parser: r } = t, + n = e[0] + return { type: "phantom", mode: r.mode, body: vn(n) } + }, + htmlBuilder: (t, e) => { + var r = Fn(t.body, e.withPhantom(), !1) + return Pe.makeFragment(r) + }, + mathmlBuilder: (t, e) => { + var r = ha(t.body, e) + return new nt.MathNode("mphantom", r) + }, +}) +bt({ + type: "hphantom", + names: ["\\hphantom"], + props: { numArgs: 1, allowedInText: !0 }, + handler: (t, e) => { + var { parser: r } = t, + n = e[0] + return { type: "hphantom", mode: r.mode, body: n } + }, + htmlBuilder: (t, e) => { + var r = Pe.makeSpan([], [vr(t.body, e.withPhantom())]) + if (((r.height = 0), (r.depth = 0), r.children)) + for (var n = 0; n < r.children.length; n++) (r.children[n].height = 0), (r.children[n].depth = 0) + return ( + (r = Pe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }] }, e)), + Pe.makeSpan(["mord"], [r], e) + ) + }, + mathmlBuilder: (t, e) => { + var r = ha(vn(t.body), e), + n = new nt.MathNode("mphantom", r), + i = new nt.MathNode("mpadded", [n]) + return i.setAttribute("height", "0px"), i.setAttribute("depth", "0px"), i + }, +}) +bt({ + type: "vphantom", + names: ["\\vphantom"], + props: { numArgs: 1, allowedInText: !0 }, + handler: (t, e) => { + var { parser: r } = t, + n = e[0] + return { type: "vphantom", mode: r.mode, body: n } + }, + htmlBuilder: (t, e) => { + var r = Pe.makeSpan(["inner"], [vr(t.body, e.withPhantom())]), + n = Pe.makeSpan(["fix"], []) + return Pe.makeSpan(["mord", "rlap"], [r, n], e) + }, + mathmlBuilder: (t, e) => { + var r = ha(vn(t.body), e), + n = new nt.MathNode("mphantom", r), + i = new nt.MathNode("mpadded", [n]) + return i.setAttribute("width", "0px"), i + }, +}) +bt({ + type: "raisebox", + names: ["\\raisebox"], + props: { numArgs: 2, argTypes: ["size", "hbox"], allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t, + n = Jt(e[0], "size").value, + i = e[1] + return { type: "raisebox", mode: r.mode, dy: n, body: i } + }, + htmlBuilder(t, e) { + var r = vr(t.body, e), + n = en(t.dy, e) + return Pe.makeVList({ positionType: "shift", positionData: -n, children: [{ type: "elem", elem: r }] }, e) + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mpadded", [$r(t.body, e)]), + n = t.dy.number + t.dy.unit + return r.setAttribute("voffset", n), r + }, +}) +bt({ + type: "internal", + names: ["\\relax"], + props: { numArgs: 0, allowedInText: !0, allowedInArgument: !0 }, + handler(t) { + var { parser: e } = t + return { type: "internal", mode: e.mode } + }, +}) +bt({ + type: "rule", + names: ["\\rule"], + props: { numArgs: 2, numOptionalArgs: 1, allowedInText: !0, allowedInMath: !0, argTypes: ["size", "size", "size"] }, + handler(t, e, r) { + var { parser: n } = t, + i = r[0], + a = Jt(e[0], "size"), + s = Jt(e[1], "size") + return { type: "rule", mode: n.mode, shift: i && Jt(i, "size").value, width: a.value, height: s.value } + }, + htmlBuilder(t, e) { + var r = Pe.makeSpan(["mord", "rule"], [], e), + n = en(t.width, e), + i = en(t.height, e), + a = t.shift ? en(t.shift, e) : 0 + return ( + (r.style.borderRightWidth = ft(n)), + (r.style.borderTopWidth = ft(i)), + (r.style.bottom = ft(a)), + (r.width = n), + (r.height = i + a), + (r.depth = -a), + (r.maxFontSize = i * 1.125 * e.sizeMultiplier), + r + ) + }, + mathmlBuilder(t, e) { + var r = en(t.width, e), + n = en(t.height, e), + i = t.shift ? en(t.shift, e) : 0, + a = (e.color && e.getColor()) || "black", + s = new nt.MathNode("mspace") + s.setAttribute("mathbackground", a), s.setAttribute("width", ft(r)), s.setAttribute("height", ft(n)) + var o = new nt.MathNode("mpadded", [s]) + return ( + i >= 0 + ? o.setAttribute("height", ft(i)) + : (o.setAttribute("height", ft(i)), o.setAttribute("depth", ft(-i))), + o.setAttribute("voffset", ft(i)), + o + ) + }, +}) +function kD(t, e, r) { + for (var n = Fn(t, e, !1), i = e.sizeMultiplier / r.sizeMultiplier, a = 0; a < n.length; a++) { + var s = n[a].classes.indexOf("sizing") + s < 0 + ? Array.prototype.push.apply(n[a].classes, e.sizingClasses(r)) + : n[a].classes[s + 1] === "reset-size" + e.size && (n[a].classes[s + 1] = "reset-size" + r.size), + (n[a].height *= i), + (n[a].depth *= i) + } + return Pe.makeFragment(n) +} +var v7 = [ + "\\tiny", + "\\sixptsize", + "\\scriptsize", + "\\footnotesize", + "\\small", + "\\normalsize", + "\\large", + "\\Large", + "\\LARGE", + "\\huge", + "\\Huge", + ], + IX = (t, e) => { + var r = e.havingSize(t.size) + return kD(t.body, r, e) + } +bt({ + type: "sizing", + names: v7, + props: { numArgs: 0, allowedInText: !0 }, + handler: (t, e) => { + var { breakOnTokenText: r, funcName: n, parser: i } = t, + a = i.parseExpression(!1, r) + return { type: "sizing", mode: i.mode, size: v7.indexOf(n) + 1, body: a } + }, + htmlBuilder: IX, + mathmlBuilder: (t, e) => { + var r = e.havingSize(t.size), + n = ha(t.body, r), + i = new nt.MathNode("mstyle", n) + return i.setAttribute("mathsize", ft(r.sizeMultiplier)), i + }, +}) +bt({ + type: "smash", + names: ["\\smash"], + props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 }, + handler: (t, e, r) => { + var { parser: n } = t, + i = !1, + a = !1, + s = r[0] && Jt(r[0], "ordgroup") + if (s) + for (var o = "", l = 0; l < s.body.length; ++l) { + var u = s.body[l] + if (((o = u.text), o === "t")) i = !0 + else if (o === "b") a = !0 + else { + ;(i = !1), (a = !1) + break + } + } + else (i = !0), (a = !0) + var h = e[0] + return { type: "smash", mode: n.mode, body: h, smashHeight: i, smashDepth: a } + }, + htmlBuilder: (t, e) => { + var r = Pe.makeSpan([], [vr(t.body, e)]) + if (!t.smashHeight && !t.smashDepth) return r + if (t.smashHeight && ((r.height = 0), r.children)) + for (var n = 0; n < r.children.length; n++) r.children[n].height = 0 + if (t.smashDepth && ((r.depth = 0), r.children)) + for (var i = 0; i < r.children.length; i++) r.children[i].depth = 0 + var a = Pe.makeVList({ positionType: "firstBaseline", children: [{ type: "elem", elem: r }] }, e) + return Pe.makeSpan(["mord"], [a], e) + }, + mathmlBuilder: (t, e) => { + var r = new nt.MathNode("mpadded", [$r(t.body, e)]) + return t.smashHeight && r.setAttribute("height", "0px"), t.smashDepth && r.setAttribute("depth", "0px"), r + }, +}) +bt({ + type: "sqrt", + names: ["\\sqrt"], + props: { numArgs: 1, numOptionalArgs: 1 }, + handler(t, e, r) { + var { parser: n } = t, + i = r[0], + a = e[0] + return { type: "sqrt", mode: n.mode, body: a, index: i } + }, + htmlBuilder(t, e) { + var r = vr(t.body, e.havingCrampedStyle()) + r.height === 0 && (r.height = e.fontMetrics().xHeight), (r = Pe.wrapFragment(r, e)) + var n = e.fontMetrics(), + i = n.defaultRuleThickness, + a = i + e.style.id < Vt.TEXT.id && (a = e.fontMetrics().xHeight) + var s = i + a / 4, + o = r.height + r.depth + s + i, + { span: l, ruleWidth: u, advanceWidth: h } = Po.sqrtImage(o, e), + d = l.height - u + d > r.height + r.depth + s && (s = (s + d - r.height - r.depth) / 2) + var f = l.height - r.height - s - u + r.style.paddingLeft = ft(h) + var p = Pe.makeVList( + { + positionType: "firstBaseline", + children: [ + { type: "elem", elem: r, wrapperClasses: ["svg-align"] }, + { type: "kern", size: -(r.height + f) }, + { type: "elem", elem: l }, + { type: "kern", size: u }, + ], + }, + e, + ) + if (t.index) { + var g = e.havingStyle(Vt.SCRIPTSCRIPT), + m = vr(t.index, g, e), + v = 0.6 * (p.height - p.depth), + y = Pe.makeVList({ positionType: "shift", positionData: -v, children: [{ type: "elem", elem: m }] }, e), + b = Pe.makeSpan(["root"], [y]) + return Pe.makeSpan(["mord", "sqrt"], [b, p], e) + } else return Pe.makeSpan(["mord", "sqrt"], [p], e) + }, + mathmlBuilder(t, e) { + var { body: r, index: n } = t + return n ? new nt.MathNode("mroot", [$r(r, e), $r(n, e)]) : new nt.MathNode("msqrt", [$r(r, e)]) + }, +}) +var y7 = { display: Vt.DISPLAY, text: Vt.TEXT, script: Vt.SCRIPT, scriptscript: Vt.SCRIPTSCRIPT } +bt({ + type: "styling", + names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], + props: { numArgs: 0, allowedInText: !0, primitive: !0 }, + handler(t, e) { + var { breakOnTokenText: r, funcName: n, parser: i } = t, + a = i.parseExpression(!0, r), + s = n.slice(1, n.length - 5) + return { type: "styling", mode: i.mode, style: s, body: a } + }, + htmlBuilder(t, e) { + var r = y7[t.style], + n = e.havingStyle(r).withFont("") + return kD(t.body, n, e) + }, + mathmlBuilder(t, e) { + var r = y7[t.style], + n = e.havingStyle(r), + i = ha(t.body, n), + a = new nt.MathNode("mstyle", i), + s = { display: ["0", "true"], text: ["0", "false"], script: ["1", "false"], scriptscript: ["2", "false"] }, + o = s[t.style] + return a.setAttribute("scriptlevel", o[0]), a.setAttribute("displaystyle", o[1]), a + }, +}) +var MX = function (e, r) { + var n = e.base + if (n) + if (n.type === "op") { + var i = n.limits && (r.style.size === Vt.DISPLAY.size || n.alwaysHandleSupSub) + return i ? ef : null + } else if (n.type === "operatorname") { + var a = n.alwaysHandleSupSub && (r.style.size === Vt.DISPLAY.size || n.limits) + return a ? ED : null + } else { + if (n.type === "accent") return Ft.isCharacterBox(n.base) ? mT : null + if (n.type === "horizBrace") { + var s = !e.sub + return s === n.isOver ? bD : null + } else return null + } + else return null +} +du({ + type: "supsub", + htmlBuilder(t, e) { + var r = MX(t, e) + if (r) return r(t, e) + var { base: n, sup: i, sub: a } = t, + s = vr(n, e), + o, + l, + u = e.fontMetrics(), + h = 0, + d = 0, + f = n && Ft.isCharacterBox(n) + if (i) { + var p = e.havingStyle(e.style.sup()) + ;(o = vr(i, p, e)), f || (h = s.height - (p.fontMetrics().supDrop * p.sizeMultiplier) / e.sizeMultiplier) + } + if (a) { + var g = e.havingStyle(e.style.sub()) + ;(l = vr(a, g, e)), f || (d = s.depth + (g.fontMetrics().subDrop * g.sizeMultiplier) / e.sizeMultiplier) + } + var m + e.style === Vt.DISPLAY ? (m = u.sup1) : e.style.cramped ? (m = u.sup3) : (m = u.sup2) + var v = e.sizeMultiplier, + y = ft(0.5 / u.ptPerEm / v), + b = null + if (l) { + var w = + t.base && + t.base.type === "op" && + t.base.name && + (t.base.name === "\\oiint" || t.base.name === "\\oiiint") + ;(s instanceof Za || w) && (b = ft(-s.italic)) + } + var T + if (o && l) { + ;(h = Math.max(h, m, o.depth + 0.25 * u.xHeight)), (d = Math.max(d, u.sub2)) + var E = u.defaultRuleThickness, + S = 4 * E + if (h - o.depth - (l.height - d) < S) { + d = S - (h - o.depth) + l.height + var k = 0.8 * u.xHeight - (h - o.depth) + k > 0 && ((h += k), (d -= k)) + } + var L = [ + { type: "elem", elem: l, shift: d, marginRight: y, marginLeft: b }, + { type: "elem", elem: o, shift: -h, marginRight: y }, + ] + T = Pe.makeVList({ positionType: "individualShift", children: L }, e) + } else if (l) { + d = Math.max(d, u.sub1, l.height - 0.8 * u.xHeight) + var A = [{ type: "elem", elem: l, marginLeft: b, marginRight: y }] + T = Pe.makeVList({ positionType: "shift", positionData: d, children: A }, e) + } else if (o) + (h = Math.max(h, m, o.depth + 0.25 * u.xHeight)), + (T = Pe.makeVList( + { positionType: "shift", positionData: -h, children: [{ type: "elem", elem: o, marginRight: y }] }, + e, + )) + else throw new Error("supsub must have either sup or sub.") + var R = u3(s, "right") || "mord" + return Pe.makeSpan([R], [s, Pe.makeSpan(["msupsub"], [T])], e) + }, + mathmlBuilder(t, e) { + var r = !1, + n, + i + t.base && + t.base.type === "horizBrace" && + ((i = !!t.sup), i === t.base.isOver && ((r = !0), (n = t.base.isOver))), + t.base && (t.base.type === "op" || t.base.type === "operatorname") && (t.base.parentIsSupSub = !0) + var a = [$r(t.base, e)] + t.sub && a.push($r(t.sub, e)), t.sup && a.push($r(t.sup, e)) + var s + if (r) s = n ? "mover" : "munder" + else if (t.sub) + if (t.sup) { + var u = t.base + ;(u && u.type === "op" && u.limits && e.style === Vt.DISPLAY) || + (u && u.type === "operatorname" && u.alwaysHandleSupSub && (e.style === Vt.DISPLAY || u.limits)) + ? (s = "munderover") + : (s = "msubsup") + } else { + var l = t.base + ;(l && l.type === "op" && l.limits && (e.style === Vt.DISPLAY || l.alwaysHandleSupSub)) || + (l && l.type === "operatorname" && l.alwaysHandleSupSub && (l.limits || e.style === Vt.DISPLAY)) + ? (s = "munder") + : (s = "msub") + } + else { + var o = t.base + ;(o && o.type === "op" && o.limits && (e.style === Vt.DISPLAY || o.alwaysHandleSupSub)) || + (o && o.type === "operatorname" && o.alwaysHandleSupSub && (o.limits || e.style === Vt.DISPLAY)) + ? (s = "mover") + : (s = "msup") + } + return new nt.MathNode(s, a) + }, +}) +du({ + type: "atom", + htmlBuilder(t, e) { + return Pe.mathsym(t.text, t.mode, e, ["m" + t.family]) + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mo", [Qa(t.text, t.mode)]) + if (t.family === "bin") { + var n = pT(t, e) + n === "bold-italic" && r.setAttribute("mathvariant", n) + } else + t.family === "punct" + ? r.setAttribute("separator", "true") + : (t.family === "open" || t.family === "close") && r.setAttribute("stretchy", "false") + return r + }, +}) +var SD = { mi: "italic", mn: "normal", mtext: "normal" } +du({ + type: "mathord", + htmlBuilder(t, e) { + return Pe.makeOrd(t, e, "mathord") + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mi", [Qa(t.text, t.mode, e)]), + n = pT(t, e) || "italic" + return n !== SD[r.type] && r.setAttribute("mathvariant", n), r + }, +}) +du({ + type: "textord", + htmlBuilder(t, e) { + return Pe.makeOrd(t, e, "textord") + }, + mathmlBuilder(t, e) { + var r = Qa(t.text, t.mode, e), + n = pT(t, e) || "normal", + i + return ( + t.mode === "text" + ? (i = new nt.MathNode("mtext", [r])) + : /[0-9]/.test(t.text) + ? (i = new nt.MathNode("mn", [r])) + : t.text === "\\prime" + ? (i = new nt.MathNode("mo", [r])) + : (i = new nt.MathNode("mi", [r])), + n !== SD[i.type] && i.setAttribute("mathvariant", n), + i + ) + }, +}) +var hb = { "\\nobreak": "nobreak", "\\allowbreak": "allowbreak" }, + db = { + " ": {}, + "\\ ": {}, + "~": { className: "nobreak" }, + "\\space": {}, + "\\nobreakspace": { className: "nobreak" }, + } +du({ + type: "spacing", + htmlBuilder(t, e) { + if (db.hasOwnProperty(t.text)) { + var r = db[t.text].className || "" + if (t.mode === "text") { + var n = Pe.makeOrd(t, e, "textord") + return n.classes.push(r), n + } else return Pe.makeSpan(["mspace", r], [Pe.mathsym(t.text, t.mode, e)], e) + } else { + if (hb.hasOwnProperty(t.text)) return Pe.makeSpan(["mspace", hb[t.text]], [], e) + throw new at('Unknown type of space "' + t.text + '"') + } + }, + mathmlBuilder(t, e) { + var r + if (db.hasOwnProperty(t.text)) r = new nt.MathNode("mtext", [new nt.TextNode(" ")]) + else { + if (hb.hasOwnProperty(t.text)) return new nt.MathNode("mspace") + throw new at('Unknown type of space "' + t.text + '"') + } + return r + }, +}) +var x7 = () => { + var t = new nt.MathNode("mtd", []) + return t.setAttribute("width", "50%"), t +} +du({ + type: "tag", + mathmlBuilder(t, e) { + var r = new nt.MathNode("mtable", [ + new nt.MathNode("mtr", [ + x7(), + new nt.MathNode("mtd", [Ll(t.body, e)]), + x7(), + new nt.MathNode("mtd", [Ll(t.tag, e)]), + ]), + ]) + return r.setAttribute("width", "100%"), r + }, +}) +var b7 = { + "\\text": void 0, + "\\textrm": "textrm", + "\\textsf": "textsf", + "\\texttt": "texttt", + "\\textnormal": "textrm", + }, + w7 = { "\\textbf": "textbf", "\\textmd": "textmd" }, + OX = { "\\textit": "textit", "\\textup": "textup" }, + T7 = (t, e) => { + var r = t.font + if (r) { + if (b7[r]) return e.withTextFontFamily(b7[r]) + if (w7[r]) return e.withTextFontWeight(w7[r]) + if (r === "\\emph") + return e.fontShape === "textit" ? e.withTextFontShape("textup") : e.withTextFontShape("textit") + } else return e + return e.withTextFontShape(OX[r]) + } +bt({ + type: "text", + names: [ + "\\text", + "\\textrm", + "\\textsf", + "\\texttt", + "\\textnormal", + "\\textbf", + "\\textmd", + "\\textit", + "\\textup", + "\\emph", + ], + props: { numArgs: 1, argTypes: ["text"], allowedInArgument: !0, allowedInText: !0 }, + handler(t, e) { + var { parser: r, funcName: n } = t, + i = e[0] + return { type: "text", mode: r.mode, body: vn(i), font: n } + }, + htmlBuilder(t, e) { + var r = T7(t, e), + n = Fn(t.body, r, !0) + return Pe.makeSpan(["mord", "text"], n, r) + }, + mathmlBuilder(t, e) { + var r = T7(t, e) + return Ll(t.body, r) + }, +}) +bt({ + type: "underline", + names: ["\\underline"], + props: { numArgs: 1, allowedInText: !0 }, + handler(t, e) { + var { parser: r } = t + return { type: "underline", mode: r.mode, body: e[0] } + }, + htmlBuilder(t, e) { + var r = vr(t.body, e), + n = Pe.makeLineSpan("underline-line", e), + i = e.fontMetrics().defaultRuleThickness, + a = Pe.makeVList( + { + positionType: "top", + positionData: r.height, + children: [ + { type: "kern", size: i }, + { type: "elem", elem: n }, + { type: "kern", size: 3 * i }, + { type: "elem", elem: r }, + ], + }, + e, + ) + return Pe.makeSpan(["mord", "underline"], [a], e) + }, + mathmlBuilder(t, e) { + var r = new nt.MathNode("mo", [new nt.TextNode("‾")]) + r.setAttribute("stretchy", "true") + var n = new nt.MathNode("munder", [$r(t.body, e), r]) + return n.setAttribute("accentunder", "true"), n + }, +}) +bt({ + type: "vcenter", + names: ["\\vcenter"], + props: { numArgs: 1, argTypes: ["original"], allowedInText: !1 }, + handler(t, e) { + var { parser: r } = t + return { type: "vcenter", mode: r.mode, body: e[0] } + }, + htmlBuilder(t, e) { + var r = vr(t.body, e), + n = e.fontMetrics().axisHeight, + i = 0.5 * (r.height - n - (r.depth + n)) + return Pe.makeVList({ positionType: "shift", positionData: i, children: [{ type: "elem", elem: r }] }, e) + }, + mathmlBuilder(t, e) { + return new nt.MathNode("mpadded", [$r(t.body, e)], ["vcenter"]) + }, +}) +bt({ + type: "verb", + names: ["\\verb"], + props: { numArgs: 0, allowedInText: !0 }, + handler(t, e, r) { + throw new at("\\verb ended by end of line instead of matching delimiter") + }, + htmlBuilder(t, e) { + for (var r = E7(t), n = [], i = e.havingStyle(e.style.text()), a = 0; a < r.length; a++) { + var s = r[a] + s === "~" && (s = "\\textasciitilde"), + n.push(Pe.makeSymbol(s, "Typewriter-Regular", t.mode, i, ["mord", "texttt"])) + } + return Pe.makeSpan(["mord", "text"].concat(i.sizingClasses(e)), Pe.tryCombineChars(n), i) + }, + mathmlBuilder(t, e) { + var r = new nt.TextNode(E7(t)), + n = new nt.MathNode("mtext", [r]) + return n.setAttribute("mathvariant", "monospace"), n + }, +}) +var E7 = (t) => t.body.replace(/ /g, t.star ? "␣" : " "), + ml = XN, + CD = `[ \r + ]`, + PX = "\\\\[a-zA-Z@]+", + BX = "\\\\[^\uD800-\uDFFF]", + FX = "(" + PX + ")" + CD + "*", + $X = `\\\\( +|[ \r ]+ +?)[ \r ]*`, + p3 = "[̀-ͯ]", + zX = new RegExp(p3 + "+$"), + VX = + "(" + + CD + + "+)|" + + ($X + "|") + + "([!-\\[\\]-‧‪-퟿豈-￿]" + + (p3 + "*") + + "|[\uD800-\uDBFF][\uDC00-\uDFFF]" + + (p3 + "*") + + "|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5" + + ("|" + FX) + + ("|" + BX + ")") +let k7 = class { + constructor(e, r) { + ;(this.input = void 0), + (this.settings = void 0), + (this.tokenRegex = void 0), + (this.catcodes = void 0), + (this.input = e), + (this.settings = r), + (this.tokenRegex = new RegExp(VX, "g")), + (this.catcodes = { "%": 14, "~": 13 }) + } + setCatcode(e, r) { + this.catcodes[e] = r + } + lex() { + var e = this.input, + r = this.tokenRegex.lastIndex + if (r === e.length) return new Ka("EOF", new ba(this, r, r)) + var n = this.tokenRegex.exec(e) + if (n === null || n.index !== r) + throw new at("Unexpected character: '" + e[r] + "'", new Ka(e[r], new ba(this, r, r + 1))) + var i = n[6] || n[3] || (n[2] ? "\\ " : " ") + if (this.catcodes[i] === 14) { + var a = e.indexOf( + ` +`, + this.tokenRegex.lastIndex, + ) + return ( + a === -1 + ? ((this.tokenRegex.lastIndex = e.length), + this.settings.reportNonstrict( + "commentAtEnd", + "% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)", + )) + : (this.tokenRegex.lastIndex = a + 1), + this.lex() + ) + } + return new Ka(i, new ba(this, r, this.tokenRegex.lastIndex)) + } +} +class GX { + constructor(e, r) { + e === void 0 && (e = {}), + r === void 0 && (r = {}), + (this.current = void 0), + (this.builtins = void 0), + (this.undefStack = void 0), + (this.current = r), + (this.builtins = e), + (this.undefStack = []) + } + beginGroup() { + this.undefStack.push({}) + } + endGroup() { + if (this.undefStack.length === 0) + throw new at( + "Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug", + ) + var e = this.undefStack.pop() + for (var r in e) e.hasOwnProperty(r) && (e[r] == null ? delete this.current[r] : (this.current[r] = e[r])) + } + endGroups() { + for (; this.undefStack.length > 0; ) this.endGroup() + } + has(e) { + return this.current.hasOwnProperty(e) || this.builtins.hasOwnProperty(e) + } + get(e) { + return this.current.hasOwnProperty(e) ? this.current[e] : this.builtins[e] + } + set(e, r, n) { + if ((n === void 0 && (n = !1), n)) { + for (var i = 0; i < this.undefStack.length; i++) delete this.undefStack[i][e] + this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = r) + } else { + var a = this.undefStack[this.undefStack.length - 1] + a && !a.hasOwnProperty(e) && (a[e] = this.current[e]) + } + r == null ? delete this.current[e] : (this.current[e] = r) + } +} +var UX = gD +le("\\noexpand", function (t) { + var e = t.popToken() + return t.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 } +}) +le("\\expandafter", function (t) { + var e = t.popToken() + return t.expandOnce(!0), { tokens: [e], numArgs: 0 } +}) +le("\\@firstoftwo", function (t) { + var e = t.consumeArgs(2) + return { tokens: e[0], numArgs: 0 } +}) +le("\\@secondoftwo", function (t) { + var e = t.consumeArgs(2) + return { tokens: e[1], numArgs: 0 } +}) +le("\\@ifnextchar", function (t) { + var e = t.consumeArgs(3) + t.consumeSpaces() + var r = t.future() + return e[0].length === 1 && e[0][0].text === r.text ? { tokens: e[1], numArgs: 0 } : { tokens: e[2], numArgs: 0 } +}) +le("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}") +le("\\TextOrMath", function (t) { + var e = t.consumeArgs(2) + return t.mode === "text" ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 } +}) +var S7 = { + 0: 0, + 1: 1, + 2: 2, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8, + 9: 9, + a: 10, + A: 10, + b: 11, + B: 11, + c: 12, + C: 12, + d: 13, + D: 13, + e: 14, + E: 14, + f: 15, + F: 15, +} +le("\\char", function (t) { + var e = t.popToken(), + r, + n = "" + if (e.text === "'") (r = 8), (e = t.popToken()) + else if (e.text === '"') (r = 16), (e = t.popToken()) + else if (e.text === "`") + if (((e = t.popToken()), e.text[0] === "\\")) n = e.text.charCodeAt(1) + else { + if (e.text === "EOF") throw new at("\\char` missing argument") + n = e.text.charCodeAt(0) + } + else r = 10 + if (r) { + if (((n = S7[e.text]), n == null || n >= r)) throw new at("Invalid base-" + r + " digit " + e.text) + for (var i; (i = S7[t.future().text]) != null && i < r; ) (n *= r), (n += i), t.popToken() + } + return "\\@char{" + n + "}" +}) +var kT = (t, e, r, n) => { + var i = t.consumeArg().tokens + if (i.length !== 1) throw new at("\\newcommand's first argument must be a macro name") + var a = i[0].text, + s = t.isDefined(a) + if (s && !e) throw new at("\\newcommand{" + a + "} attempting to redefine " + (a + "; use \\renewcommand")) + if (!s && !r) throw new at("\\renewcommand{" + a + "} when command " + a + " does not yet exist; use \\newcommand") + var o = 0 + if (((i = t.consumeArg().tokens), i.length === 1 && i[0].text === "[")) { + for (var l = "", u = t.expandNextToken(); u.text !== "]" && u.text !== "EOF"; ) + (l += u.text), (u = t.expandNextToken()) + if (!l.match(/^\s*[0-9]+\s*$/)) throw new at("Invalid number of arguments: " + l) + ;(o = parseInt(l)), (i = t.consumeArg().tokens) + } + return (s && n) || t.macros.set(a, { tokens: i, numArgs: o }), "" +} +le("\\newcommand", (t) => kT(t, !1, !0, !1)) +le("\\renewcommand", (t) => kT(t, !0, !1, !1)) +le("\\providecommand", (t) => kT(t, !0, !0, !0)) +le("\\message", (t) => { + var e = t.consumeArgs(1)[0] + return ( + console.log( + e + .reverse() + .map((r) => r.text) + .join(""), + ), + "" + ) +}) +le("\\errmessage", (t) => { + var e = t.consumeArgs(1)[0] + return ( + console.error( + e + .reverse() + .map((r) => r.text) + .join(""), + ), + "" + ) +}) +le("\\show", (t) => { + var e = t.popToken(), + r = e.text + return console.log(e, t.macros.get(r), ml[r], Ur.math[r], Ur.text[r]), "" +}) +le("\\bgroup", "{") +le("\\egroup", "}") +le("~", "\\nobreakspace") +le("\\lq", "`") +le("\\rq", "'") +le("\\aa", "\\r a") +le("\\AA", "\\r A") +le("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`©}") +le("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}") +le("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}") +le("ℬ", "\\mathscr{B}") +le("ℰ", "\\mathscr{E}") +le("ℱ", "\\mathscr{F}") +le("ℋ", "\\mathscr{H}") +le("ℐ", "\\mathscr{I}") +le("ℒ", "\\mathscr{L}") +le("ℳ", "\\mathscr{M}") +le("ℛ", "\\mathscr{R}") +le("ℭ", "\\mathfrak{C}") +le("ℌ", "\\mathfrak{H}") +le("ℨ", "\\mathfrak{Z}") +le("\\Bbbk", "\\Bbb{k}") +le("·", "\\cdotp") +le("\\llap", "\\mathllap{\\textrm{#1}}") +le("\\rlap", "\\mathrlap{\\textrm{#1}}") +le("\\clap", "\\mathclap{\\textrm{#1}}") +le("\\mathstrut", "\\vphantom{(}") +le("\\underbar", "\\underline{\\text{#1}}") +le("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}') +le("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}") +le("\\ne", "\\neq") +le("≠", "\\neq") +le("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}") +le("∉", "\\notin") +le("≘", "\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}") +le("≙", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}") +le("≚", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}") +le("≛", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}") +le("≝", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}") +le("≞", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}") +le("≟", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}") +le("⟂", "\\perp") +le("‼", "\\mathclose{!\\mkern-0.8mu!}") +le("∌", "\\notni") +le("⌜", "\\ulcorner") +le("⌝", "\\urcorner") +le("⌞", "\\llcorner") +le("⌟", "\\lrcorner") +le("©", "\\copyright") +le("®", "\\textregistered") +le("️", "\\textregistered") +le("\\ulcorner", '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}') +le("\\urcorner", '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}') +le("\\llcorner", '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}') +le("\\lrcorner", '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}') +le("\\vdots", "{\\varvdots\\rule{0pt}{15pt}}") +le("⋮", "\\vdots") +le("\\varGamma", "\\mathit{\\Gamma}") +le("\\varDelta", "\\mathit{\\Delta}") +le("\\varTheta", "\\mathit{\\Theta}") +le("\\varLambda", "\\mathit{\\Lambda}") +le("\\varXi", "\\mathit{\\Xi}") +le("\\varPi", "\\mathit{\\Pi}") +le("\\varSigma", "\\mathit{\\Sigma}") +le("\\varUpsilon", "\\mathit{\\Upsilon}") +le("\\varPhi", "\\mathit{\\Phi}") +le("\\varPsi", "\\mathit{\\Psi}") +le("\\varOmega", "\\mathit{\\Omega}") +le("\\substack", "\\begin{subarray}{c}#1\\end{subarray}") +le("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax") +le("\\boxed", "\\fbox{$\\displaystyle{#1}$}") +le("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;") +le("\\implies", "\\DOTSB\\;\\Longrightarrow\\;") +le("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;") +le("\\dddot", "{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}") +le("\\ddddot", "{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}") +var C7 = { + ",": "\\dotsc", + "\\not": "\\dotsb", + "+": "\\dotsb", + "=": "\\dotsb", + "<": "\\dotsb", + ">": "\\dotsb", + "-": "\\dotsb", + "*": "\\dotsb", + ":": "\\dotsb", + "\\DOTSB": "\\dotsb", + "\\coprod": "\\dotsb", + "\\bigvee": "\\dotsb", + "\\bigwedge": "\\dotsb", + "\\biguplus": "\\dotsb", + "\\bigcap": "\\dotsb", + "\\bigcup": "\\dotsb", + "\\prod": "\\dotsb", + "\\sum": "\\dotsb", + "\\bigotimes": "\\dotsb", + "\\bigoplus": "\\dotsb", + "\\bigodot": "\\dotsb", + "\\bigsqcup": "\\dotsb", + "\\And": "\\dotsb", + "\\longrightarrow": "\\dotsb", + "\\Longrightarrow": "\\dotsb", + "\\longleftarrow": "\\dotsb", + "\\Longleftarrow": "\\dotsb", + "\\longleftrightarrow": "\\dotsb", + "\\Longleftrightarrow": "\\dotsb", + "\\mapsto": "\\dotsb", + "\\longmapsto": "\\dotsb", + "\\hookrightarrow": "\\dotsb", + "\\doteq": "\\dotsb", + "\\mathbin": "\\dotsb", + "\\mathrel": "\\dotsb", + "\\relbar": "\\dotsb", + "\\Relbar": "\\dotsb", + "\\xrightarrow": "\\dotsb", + "\\xleftarrow": "\\dotsb", + "\\DOTSI": "\\dotsi", + "\\int": "\\dotsi", + "\\oint": "\\dotsi", + "\\iint": "\\dotsi", + "\\iiint": "\\dotsi", + "\\iiiint": "\\dotsi", + "\\idotsint": "\\dotsi", + "\\DOTSX": "\\dotsx", +} +le("\\dots", function (t) { + var e = "\\dotso", + r = t.expandAfterFuture().text + return ( + r in C7 + ? (e = C7[r]) + : (r.slice(0, 4) === "\\not" || (r in Ur.math && Ft.contains(["bin", "rel"], Ur.math[r].group))) && + (e = "\\dotsb"), + e + ) +}) +var ST = { + ")": !0, + "]": !0, + "\\rbrack": !0, + "\\}": !0, + "\\rbrace": !0, + "\\rangle": !0, + "\\rceil": !0, + "\\rfloor": !0, + "\\rgroup": !0, + "\\rmoustache": !0, + "\\right": !0, + "\\bigr": !0, + "\\biggr": !0, + "\\Bigr": !0, + "\\Biggr": !0, + $: !0, + ";": !0, + ".": !0, + ",": !0, +} +le("\\dotso", function (t) { + var e = t.future().text + return e in ST ? "\\ldots\\," : "\\ldots" +}) +le("\\dotsc", function (t) { + var e = t.future().text + return e in ST && e !== "," ? "\\ldots\\," : "\\ldots" +}) +le("\\cdots", function (t) { + var e = t.future().text + return e in ST ? "\\@cdots\\," : "\\@cdots" +}) +le("\\dotsb", "\\cdots") +le("\\dotsm", "\\cdots") +le("\\dotsi", "\\!\\cdots") +le("\\dotsx", "\\ldots\\,") +le("\\DOTSI", "\\relax") +le("\\DOTSB", "\\relax") +le("\\DOTSX", "\\relax") +le("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax") +le("\\,", "\\tmspace+{3mu}{.1667em}") +le("\\thinspace", "\\,") +le("\\>", "\\mskip{4mu}") +le("\\:", "\\tmspace+{4mu}{.2222em}") +le("\\medspace", "\\:") +le("\\;", "\\tmspace+{5mu}{.2777em}") +le("\\thickspace", "\\;") +le("\\!", "\\tmspace-{3mu}{.1667em}") +le("\\negthinspace", "\\!") +le("\\negmedspace", "\\tmspace-{4mu}{.2222em}") +le("\\negthickspace", "\\tmspace-{5mu}{.277em}") +le("\\enspace", "\\kern.5em ") +le("\\enskip", "\\hskip.5em\\relax") +le("\\quad", "\\hskip1em\\relax") +le("\\qquad", "\\hskip2em\\relax") +le("\\tag", "\\@ifstar\\tag@literal\\tag@paren") +le("\\tag@paren", "\\tag@literal{({#1})}") +le("\\tag@literal", (t) => { + if (t.macros.get("\\df@tag")) throw new at("Multiple \\tag") + return "\\gdef\\df@tag{\\text{#1}}" +}) +le( + "\\bmod", + "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}", +) +le("\\pod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)") +le("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}") +le("\\mod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1") +le("\\newline", "\\\\\\relax") +le("\\TeX", "\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}") +var AD = ft(Gs["Main-Regular"][84][1] - 0.7 * Gs["Main-Regular"][65][1]) +le( + "\\LaTeX", + "\\textrm{\\html@mathml{" + ("L\\kern-.36em\\raisebox{" + AD + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{LaTeX}}", +) +le( + "\\KaTeX", + "\\textrm{\\html@mathml{" + ("K\\kern-.17em\\raisebox{" + AD + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{KaTeX}}", +) +le("\\hspace", "\\@ifstar\\@hspacer\\@hspace") +le("\\@hspace", "\\hskip #1\\relax") +le("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax") +le("\\ordinarycolon", ":") +le("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}") +le("\\dblcolon", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}') +le("\\coloneqq", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}') +le("\\Coloneqq", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}') +le( + "\\coloneq", + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}', +) +le( + "\\Coloneq", + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}', +) +le("\\eqqcolon", '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}') +le("\\Eqqcolon", '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}') +le("\\eqcolon", '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}') +le( + "\\Eqcolon", + '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}', +) +le( + "\\colonapprox", + '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}', +) +le( + "\\Colonapprox", + '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}', +) +le("\\colonsim", '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}') +le("\\Colonsim", '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}') +le("∷", "\\dblcolon") +le("∹", "\\eqcolon") +le("≔", "\\coloneqq") +le("≕", "\\eqqcolon") +le("⩴", "\\Coloneqq") +le("\\ratio", "\\vcentcolon") +le("\\coloncolon", "\\dblcolon") +le("\\colonequals", "\\coloneqq") +le("\\coloncolonequals", "\\Coloneqq") +le("\\equalscolon", "\\eqqcolon") +le("\\equalscoloncolon", "\\Eqqcolon") +le("\\colonminus", "\\coloneq") +le("\\coloncolonminus", "\\Coloneq") +le("\\minuscolon", "\\eqcolon") +le("\\minuscoloncolon", "\\Eqcolon") +le("\\coloncolonapprox", "\\Colonapprox") +le("\\coloncolonsim", "\\Colonsim") +le("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}") +le("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}") +le("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}") +le("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}") +le("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}") +le("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}") +le("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}") +le("\\injlim", "\\DOTSB\\operatorname*{inj\\,lim}") +le("\\projlim", "\\DOTSB\\operatorname*{proj\\,lim}") +le("\\varlimsup", "\\DOTSB\\operatorname*{\\overline{lim}}") +le("\\varliminf", "\\DOTSB\\operatorname*{\\underline{lim}}") +le("\\varinjlim", "\\DOTSB\\operatorname*{\\underrightarrow{lim}}") +le("\\varprojlim", "\\DOTSB\\operatorname*{\\underleftarrow{lim}}") +le("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{≩}") +le("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{≨}") +le("\\ngeqq", "\\html@mathml{\\@ngeqq}{≱}") +le("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{≱}") +le("\\nleqq", "\\html@mathml{\\@nleqq}{≰}") +le("\\nleqslant", "\\html@mathml{\\@nleqslant}{≰}") +le("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}") +le("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}") +le("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{⊈}") +le("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{⊉}") +le("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}") +le("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}") +le("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}") +le("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}") +le("\\imath", "\\html@mathml{\\@imath}{ı}") +le("\\jmath", "\\html@mathml{\\@jmath}{ȷ}") +le("\\llbracket", "\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}") +le("\\rrbracket", "\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}") +le("⟦", "\\llbracket") +le("⟧", "\\rrbracket") +le("\\lBrace", "\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}") +le("\\rBrace", "\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}") +le("⦃", "\\lBrace") +le("⦄", "\\rBrace") +le( + "\\minuso", + "\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}", +) +le("⦵", "\\minuso") +le("\\darr", "\\downarrow") +le("\\dArr", "\\Downarrow") +le("\\Darr", "\\Downarrow") +le("\\lang", "\\langle") +le("\\rang", "\\rangle") +le("\\uarr", "\\uparrow") +le("\\uArr", "\\Uparrow") +le("\\Uarr", "\\Uparrow") +le("\\N", "\\mathbb{N}") +le("\\R", "\\mathbb{R}") +le("\\Z", "\\mathbb{Z}") +le("\\alef", "\\aleph") +le("\\alefsym", "\\aleph") +le("\\Alpha", "\\mathrm{A}") +le("\\Beta", "\\mathrm{B}") +le("\\bull", "\\bullet") +le("\\Chi", "\\mathrm{X}") +le("\\clubs", "\\clubsuit") +le("\\cnums", "\\mathbb{C}") +le("\\Complex", "\\mathbb{C}") +le("\\Dagger", "\\ddagger") +le("\\diamonds", "\\diamondsuit") +le("\\empty", "\\emptyset") +le("\\Epsilon", "\\mathrm{E}") +le("\\Eta", "\\mathrm{H}") +le("\\exist", "\\exists") +le("\\harr", "\\leftrightarrow") +le("\\hArr", "\\Leftrightarrow") +le("\\Harr", "\\Leftrightarrow") +le("\\hearts", "\\heartsuit") +le("\\image", "\\Im") +le("\\infin", "\\infty") +le("\\Iota", "\\mathrm{I}") +le("\\isin", "\\in") +le("\\Kappa", "\\mathrm{K}") +le("\\larr", "\\leftarrow") +le("\\lArr", "\\Leftarrow") +le("\\Larr", "\\Leftarrow") +le("\\lrarr", "\\leftrightarrow") +le("\\lrArr", "\\Leftrightarrow") +le("\\Lrarr", "\\Leftrightarrow") +le("\\Mu", "\\mathrm{M}") +le("\\natnums", "\\mathbb{N}") +le("\\Nu", "\\mathrm{N}") +le("\\Omicron", "\\mathrm{O}") +le("\\plusmn", "\\pm") +le("\\rarr", "\\rightarrow") +le("\\rArr", "\\Rightarrow") +le("\\Rarr", "\\Rightarrow") +le("\\real", "\\Re") +le("\\reals", "\\mathbb{R}") +le("\\Reals", "\\mathbb{R}") +le("\\Rho", "\\mathrm{P}") +le("\\sdot", "\\cdot") +le("\\sect", "\\S") +le("\\spades", "\\spadesuit") +le("\\sub", "\\subset") +le("\\sube", "\\subseteq") +le("\\supe", "\\supseteq") +le("\\Tau", "\\mathrm{T}") +le("\\thetasym", "\\vartheta") +le("\\weierp", "\\wp") +le("\\Zeta", "\\mathrm{Z}") +le("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}") +le("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}") +le("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits") +le("\\bra", "\\mathinner{\\langle{#1}|}") +le("\\ket", "\\mathinner{|{#1}\\rangle}") +le("\\braket", "\\mathinner{\\langle{#1}\\rangle}") +le("\\Bra", "\\left\\langle#1\\right|") +le("\\Ket", "\\left|#1\\right\\rangle") +var _D = (t) => (e) => { + var r = e.consumeArg().tokens, + n = e.consumeArg().tokens, + i = e.consumeArg().tokens, + a = e.consumeArg().tokens, + s = e.macros.get("|"), + o = e.macros.get("\\|") + e.macros.beginGroup() + var l = (d) => (f) => { + t && (f.macros.set("|", s), i.length && f.macros.set("\\|", o)) + var p = d + if (!d && i.length) { + var g = f.future() + g.text === "|" && (f.popToken(), (p = !0)) + } + return { tokens: p ? i : n, numArgs: 0 } + } + e.macros.set("|", l(!1)), i.length && e.macros.set("\\|", l(!0)) + var u = e.consumeArg().tokens, + h = e.expandTokens([...a, ...u, ...r]) + return e.macros.endGroup(), { tokens: h.reverse(), numArgs: 0 } +} +le("\\bra@ket", _D(!1)) +le("\\bra@set", _D(!0)) +le("\\Braket", "\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}") +le("\\Set", "\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}") +le("\\set", "\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}") +le("\\angln", "{\\angl n}") +le("\\blue", "\\textcolor{##6495ed}{#1}") +le("\\orange", "\\textcolor{##ffa500}{#1}") +le("\\pink", "\\textcolor{##ff00af}{#1}") +le("\\red", "\\textcolor{##df0030}{#1}") +le("\\green", "\\textcolor{##28ae7b}{#1}") +le("\\gray", "\\textcolor{gray}{#1}") +le("\\purple", "\\textcolor{##9d38bd}{#1}") +le("\\blueA", "\\textcolor{##ccfaff}{#1}") +le("\\blueB", "\\textcolor{##80f6ff}{#1}") +le("\\blueC", "\\textcolor{##63d9ea}{#1}") +le("\\blueD", "\\textcolor{##11accd}{#1}") +le("\\blueE", "\\textcolor{##0c7f99}{#1}") +le("\\tealA", "\\textcolor{##94fff5}{#1}") +le("\\tealB", "\\textcolor{##26edd5}{#1}") +le("\\tealC", "\\textcolor{##01d1c1}{#1}") +le("\\tealD", "\\textcolor{##01a995}{#1}") +le("\\tealE", "\\textcolor{##208170}{#1}") +le("\\greenA", "\\textcolor{##b6ffb0}{#1}") +le("\\greenB", "\\textcolor{##8af281}{#1}") +le("\\greenC", "\\textcolor{##74cf70}{#1}") +le("\\greenD", "\\textcolor{##1fab54}{#1}") +le("\\greenE", "\\textcolor{##0d923f}{#1}") +le("\\goldA", "\\textcolor{##ffd0a9}{#1}") +le("\\goldB", "\\textcolor{##ffbb71}{#1}") +le("\\goldC", "\\textcolor{##ff9c39}{#1}") +le("\\goldD", "\\textcolor{##e07d10}{#1}") +le("\\goldE", "\\textcolor{##a75a05}{#1}") +le("\\redA", "\\textcolor{##fca9a9}{#1}") +le("\\redB", "\\textcolor{##ff8482}{#1}") +le("\\redC", "\\textcolor{##f9685d}{#1}") +le("\\redD", "\\textcolor{##e84d39}{#1}") +le("\\redE", "\\textcolor{##bc2612}{#1}") +le("\\maroonA", "\\textcolor{##ffbde0}{#1}") +le("\\maroonB", "\\textcolor{##ff92c6}{#1}") +le("\\maroonC", "\\textcolor{##ed5fa6}{#1}") +le("\\maroonD", "\\textcolor{##ca337c}{#1}") +le("\\maroonE", "\\textcolor{##9e034e}{#1}") +le("\\purpleA", "\\textcolor{##ddd7ff}{#1}") +le("\\purpleB", "\\textcolor{##c6b9fc}{#1}") +le("\\purpleC", "\\textcolor{##aa87ff}{#1}") +le("\\purpleD", "\\textcolor{##7854ab}{#1}") +le("\\purpleE", "\\textcolor{##543b78}{#1}") +le("\\mintA", "\\textcolor{##f5f9e8}{#1}") +le("\\mintB", "\\textcolor{##edf2df}{#1}") +le("\\mintC", "\\textcolor{##e0e5cc}{#1}") +le("\\grayA", "\\textcolor{##f6f7f7}{#1}") +le("\\grayB", "\\textcolor{##f0f1f2}{#1}") +le("\\grayC", "\\textcolor{##e3e5e6}{#1}") +le("\\grayD", "\\textcolor{##d6d8da}{#1}") +le("\\grayE", "\\textcolor{##babec2}{#1}") +le("\\grayF", "\\textcolor{##888d93}{#1}") +le("\\grayG", "\\textcolor{##626569}{#1}") +le("\\grayH", "\\textcolor{##3b3e40}{#1}") +le("\\grayI", "\\textcolor{##21242c}{#1}") +le("\\kaBlue", "\\textcolor{##314453}{#1}") +le("\\kaGreen", "\\textcolor{##71B307}{#1}") +var LD = { "^": !0, _: !0, "\\limits": !0, "\\nolimits": !0 } +class qX { + constructor(e, r, n) { + ;(this.settings = void 0), + (this.expansionCount = void 0), + (this.lexer = void 0), + (this.macros = void 0), + (this.stack = void 0), + (this.mode = void 0), + (this.settings = r), + (this.expansionCount = 0), + this.feed(e), + (this.macros = new GX(UX, r.macros)), + (this.mode = n), + (this.stack = []) + } + feed(e) { + this.lexer = new k7(e, this.settings) + } + switchMode(e) { + this.mode = e + } + beginGroup() { + this.macros.beginGroup() + } + endGroup() { + this.macros.endGroup() + } + endGroups() { + this.macros.endGroups() + } + future() { + return this.stack.length === 0 && this.pushToken(this.lexer.lex()), this.stack[this.stack.length - 1] + } + popToken() { + return this.future(), this.stack.pop() + } + pushToken(e) { + this.stack.push(e) + } + pushTokens(e) { + this.stack.push(...e) + } + scanArgument(e) { + var r, n, i + if (e) { + if ((this.consumeSpaces(), this.future().text !== "[")) return null + ;(r = this.popToken()), ({ tokens: i, end: n } = this.consumeArg(["]"])) + } else ({ tokens: i, start: r, end: n } = this.consumeArg()) + return this.pushToken(new Ka("EOF", n.loc)), this.pushTokens(i), r.range(n, "") + } + consumeSpaces() { + for (;;) { + var e = this.future() + if (e.text === " ") this.stack.pop() + else break + } + } + consumeArg(e) { + var r = [], + n = e && e.length > 0 + n || this.consumeSpaces() + var i = this.future(), + a, + s = 0, + o = 0 + do { + if (((a = this.popToken()), r.push(a), a.text === "{")) ++s + else if (a.text === "}") { + if ((--s, s === -1)) throw new at("Extra }", a) + } else if (a.text === "EOF") + throw new at("Unexpected end of input in a macro argument, expected '" + (e && n ? e[o] : "}") + "'", a) + if (e && n) + if ((s === 0 || (s === 1 && e[o] === "{")) && a.text === e[o]) { + if ((++o, o === e.length)) { + r.splice(-o, o) + break + } + } else o = 0 + } while (s !== 0 || n) + return ( + i.text === "{" && r[r.length - 1].text === "}" && (r.pop(), r.shift()), + r.reverse(), + { tokens: r, start: i, end: a } + ) + } + consumeArgs(e, r) { + if (r) { + if (r.length !== e + 1) throw new at("The length of delimiters doesn't match the number of args!") + for (var n = r[0], i = 0; i < n.length; i++) { + var a = this.popToken() + if (n[i] !== a.text) throw new at("Use of the macro doesn't match its definition", a) + } + } + for (var s = [], o = 0; o < e; o++) s.push(this.consumeArg(r && r[o + 1]).tokens) + return s + } + countExpansion(e) { + if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand)) + throw new at("Too many expansions: infinite loop or need to increase maxExpand setting") + } + expandOnce(e) { + var r = this.popToken(), + n = r.text, + i = r.noexpand ? null : this._getExpansion(n) + if (i == null || (e && i.unexpandable)) { + if (e && i == null && n[0] === "\\" && !this.isDefined(n)) throw new at("Undefined control sequence: " + n) + return this.pushToken(r), !1 + } + this.countExpansion(1) + var a = i.tokens, + s = this.consumeArgs(i.numArgs, i.delimiters) + if (i.numArgs) { + a = a.slice() + for (var o = a.length - 1; o >= 0; --o) { + var l = a[o] + if (l.text === "#") { + if (o === 0) throw new at("Incomplete placeholder at end of macro body", l) + if (((l = a[--o]), l.text === "#")) a.splice(o + 1, 1) + else if (/^[1-9]$/.test(l.text)) a.splice(o, 2, ...s[+l.text - 1]) + else throw new at("Not a valid argument number", l) + } + } + } + return this.pushTokens(a), a.length + } + expandAfterFuture() { + return this.expandOnce(), this.future() + } + expandNextToken() { + for (;;) + if (this.expandOnce() === !1) { + var e = this.stack.pop() + return e.treatAsRelax && (e.text = "\\relax"), e + } + throw new Error() + } + expandMacro(e) { + return this.macros.has(e) ? this.expandTokens([new Ka(e)]) : void 0 + } + expandTokens(e) { + var r = [], + n = this.stack.length + for (this.pushTokens(e); this.stack.length > n; ) + if (this.expandOnce(!0) === !1) { + var i = this.stack.pop() + i.treatAsRelax && ((i.noexpand = !1), (i.treatAsRelax = !1)), r.push(i) + } + return this.countExpansion(r.length), r + } + expandMacroAsText(e) { + var r = this.expandMacro(e) + return r && r.map((n) => n.text).join("") + } + _getExpansion(e) { + var r = this.macros.get(e) + if (r == null) return r + if (e.length === 1) { + var n = this.lexer.catcodes[e] + if (n != null && n !== 13) return + } + var i = typeof r == "function" ? r(this) : r + if (typeof i == "string") { + var a = 0 + if (i.indexOf("#") !== -1) for (var s = i.replace(/##/g, ""); s.indexOf("#" + (a + 1)) !== -1; ) ++a + for (var o = new k7(i, this.settings), l = [], u = o.lex(); u.text !== "EOF"; ) l.push(u), (u = o.lex()) + l.reverse() + var h = { tokens: l, numArgs: a } + return h + } + return i + } + isDefined(e) { + return ( + this.macros.has(e) || + ml.hasOwnProperty(e) || + Ur.math.hasOwnProperty(e) || + Ur.text.hasOwnProperty(e) || + LD.hasOwnProperty(e) + ) + } + isExpandable(e) { + var r = this.macros.get(e) + return r != null + ? typeof r == "string" || typeof r == "function" || !r.unexpandable + : ml.hasOwnProperty(e) && !ml[e].primitive + } +} +var A7 = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/, + l1 = Object.freeze({ + "₊": "+", + "₋": "-", + "₌": "=", + "₍": "(", + "₎": ")", + "₀": "0", + "₁": "1", + "₂": "2", + "₃": "3", + "₄": "4", + "₅": "5", + "₆": "6", + "₇": "7", + "₈": "8", + "₉": "9", + ₐ: "a", + ₑ: "e", + ₕ: "h", + ᵢ: "i", + ⱼ: "j", + ₖ: "k", + ₗ: "l", + ₘ: "m", + ₙ: "n", + ₒ: "o", + ₚ: "p", + ᵣ: "r", + ₛ: "s", + ₜ: "t", + ᵤ: "u", + ᵥ: "v", + ₓ: "x", + ᵦ: "β", + ᵧ: "γ", + ᵨ: "ρ", + ᵩ: "ϕ", + ᵪ: "χ", + "⁺": "+", + "⁻": "-", + "⁼": "=", + "⁽": "(", + "⁾": ")", + "⁰": "0", + "¹": "1", + "²": "2", + "³": "3", + "⁴": "4", + "⁵": "5", + "⁶": "6", + "⁷": "7", + "⁸": "8", + "⁹": "9", + ᴬ: "A", + ᴮ: "B", + ᴰ: "D", + ᴱ: "E", + ᴳ: "G", + ᴴ: "H", + ᴵ: "I", + ᴶ: "J", + ᴷ: "K", + ᴸ: "L", + ᴹ: "M", + ᴺ: "N", + ᴼ: "O", + ᴾ: "P", + ᴿ: "R", + ᵀ: "T", + ᵁ: "U", + ⱽ: "V", + ᵂ: "W", + ᵃ: "a", + ᵇ: "b", + ᶜ: "c", + ᵈ: "d", + ᵉ: "e", + ᶠ: "f", + ᵍ: "g", + ʰ: "h", + ⁱ: "i", + ʲ: "j", + ᵏ: "k", + ˡ: "l", + ᵐ: "m", + ⁿ: "n", + ᵒ: "o", + ᵖ: "p", + ʳ: "r", + ˢ: "s", + ᵗ: "t", + ᵘ: "u", + ᵛ: "v", + ʷ: "w", + ˣ: "x", + ʸ: "y", + ᶻ: "z", + ᵝ: "β", + ᵞ: "γ", + ᵟ: "δ", + ᵠ: "ϕ", + ᵡ: "χ", + ᶿ: "θ", + }), + fb = { + "́": { text: "\\'", math: "\\acute" }, + "̀": { text: "\\`", math: "\\grave" }, + "̈": { text: '\\"', math: "\\ddot" }, + "̃": { text: "\\~", math: "\\tilde" }, + "̄": { text: "\\=", math: "\\bar" }, + "̆": { text: "\\u", math: "\\breve" }, + "̌": { text: "\\v", math: "\\check" }, + "̂": { text: "\\^", math: "\\hat" }, + "̇": { text: "\\.", math: "\\dot" }, + "̊": { text: "\\r", math: "\\mathring" }, + "̋": { text: "\\H" }, + "̧": { text: "\\c" }, + }, + _7 = { + á: "á", + à: "à", + ä: "ä", + ǟ: "ǟ", + ã: "ã", + ā: "ā", + ă: "ă", + ắ: "ắ", + ằ: "ằ", + ẵ: "ẵ", + ǎ: "ǎ", + â: "â", + ấ: "ấ", + ầ: "ầ", + ẫ: "ẫ", + ȧ: "ȧ", + ǡ: "ǡ", + å: "å", + ǻ: "ǻ", + ḃ: "ḃ", + ć: "ć", + ḉ: "ḉ", + č: "č", + ĉ: "ĉ", + ċ: "ċ", + ç: "ç", + ď: "ď", + ḋ: "ḋ", + ḑ: "ḑ", + é: "é", + è: "è", + ë: "ë", + ẽ: "ẽ", + ē: "ē", + ḗ: "ḗ", + ḕ: "ḕ", + ĕ: "ĕ", + ḝ: "ḝ", + ě: "ě", + ê: "ê", + ế: "ế", + ề: "ề", + ễ: "ễ", + ė: "ė", + ȩ: "ȩ", + ḟ: "ḟ", + ǵ: "ǵ", + ḡ: "ḡ", + ğ: "ğ", + ǧ: "ǧ", + ĝ: "ĝ", + ġ: "ġ", + ģ: "ģ", + ḧ: "ḧ", + ȟ: "ȟ", + ĥ: "ĥ", + ḣ: "ḣ", + ḩ: "ḩ", + í: "í", + ì: "ì", + ï: "ï", + ḯ: "ḯ", + ĩ: "ĩ", + ī: "ī", + ĭ: "ĭ", + ǐ: "ǐ", + î: "î", + ǰ: "ǰ", + ĵ: "ĵ", + ḱ: "ḱ", + ǩ: "ǩ", + ķ: "ķ", + ĺ: "ĺ", + ľ: "ľ", + ļ: "ļ", + ḿ: "ḿ", + ṁ: "ṁ", + ń: "ń", + ǹ: "ǹ", + ñ: "ñ", + ň: "ň", + ṅ: "ṅ", + ņ: "ņ", + ó: "ó", + ò: "ò", + ö: "ö", + ȫ: "ȫ", + õ: "õ", + ṍ: "ṍ", + ṏ: "ṏ", + ȭ: "ȭ", + ō: "ō", + ṓ: "ṓ", + ṑ: "ṑ", + ŏ: "ŏ", + ǒ: "ǒ", + ô: "ô", + ố: "ố", + ồ: "ồ", + ỗ: "ỗ", + ȯ: "ȯ", + ȱ: "ȱ", + ő: "ő", + ṕ: "ṕ", + ṗ: "ṗ", + ŕ: "ŕ", + ř: "ř", + ṙ: "ṙ", + ŗ: "ŗ", + ś: "ś", + ṥ: "ṥ", + š: "š", + ṧ: "ṧ", + ŝ: "ŝ", + ṡ: "ṡ", + ş: "ş", + ẗ: "ẗ", + ť: "ť", + ṫ: "ṫ", + ţ: "ţ", + ú: "ú", + ù: "ù", + ü: "ü", + ǘ: "ǘ", + ǜ: "ǜ", + ǖ: "ǖ", + ǚ: "ǚ", + ũ: "ũ", + ṹ: "ṹ", + ū: "ū", + ṻ: "ṻ", + ŭ: "ŭ", + ǔ: "ǔ", + û: "û", + ů: "ů", + ű: "ű", + ṽ: "ṽ", + ẃ: "ẃ", + ẁ: "ẁ", + ẅ: "ẅ", + ŵ: "ŵ", + ẇ: "ẇ", + ẘ: "ẘ", + ẍ: "ẍ", + ẋ: "ẋ", + ý: "ý", + ỳ: "ỳ", + ÿ: "ÿ", + ỹ: "ỹ", + ȳ: "ȳ", + ŷ: "ŷ", + ẏ: "ẏ", + ẙ: "ẙ", + ź: "ź", + ž: "ž", + ẑ: "ẑ", + ż: "ż", + Á: "Á", + À: "À", + Ä: "Ä", + Ǟ: "Ǟ", + Ã: "Ã", + Ā: "Ā", + Ă: "Ă", + Ắ: "Ắ", + Ằ: "Ằ", + Ẵ: "Ẵ", + Ǎ: "Ǎ", + Â: "Â", + Ấ: "Ấ", + Ầ: "Ầ", + Ẫ: "Ẫ", + Ȧ: "Ȧ", + Ǡ: "Ǡ", + Å: "Å", + Ǻ: "Ǻ", + Ḃ: "Ḃ", + Ć: "Ć", + Ḉ: "Ḉ", + Č: "Č", + Ĉ: "Ĉ", + Ċ: "Ċ", + Ç: "Ç", + Ď: "Ď", + Ḋ: "Ḋ", + Ḑ: "Ḑ", + É: "É", + È: "È", + Ë: "Ë", + Ẽ: "Ẽ", + Ē: "Ē", + Ḗ: "Ḗ", + Ḕ: "Ḕ", + Ĕ: "Ĕ", + Ḝ: "Ḝ", + Ě: "Ě", + Ê: "Ê", + Ế: "Ế", + Ề: "Ề", + Ễ: "Ễ", + Ė: "Ė", + Ȩ: "Ȩ", + Ḟ: "Ḟ", + Ǵ: "Ǵ", + Ḡ: "Ḡ", + Ğ: "Ğ", + Ǧ: "Ǧ", + Ĝ: "Ĝ", + Ġ: "Ġ", + Ģ: "Ģ", + Ḧ: "Ḧ", + Ȟ: "Ȟ", + Ĥ: "Ĥ", + Ḣ: "Ḣ", + Ḩ: "Ḩ", + Í: "Í", + Ì: "Ì", + Ï: "Ï", + Ḯ: "Ḯ", + Ĩ: "Ĩ", + Ī: "Ī", + Ĭ: "Ĭ", + Ǐ: "Ǐ", + Î: "Î", + İ: "İ", + Ĵ: "Ĵ", + Ḱ: "Ḱ", + Ǩ: "Ǩ", + Ķ: "Ķ", + Ĺ: "Ĺ", + Ľ: "Ľ", + Ļ: "Ļ", + Ḿ: "Ḿ", + Ṁ: "Ṁ", + Ń: "Ń", + Ǹ: "Ǹ", + Ñ: "Ñ", + Ň: "Ň", + Ṅ: "Ṅ", + Ņ: "Ņ", + Ó: "Ó", + Ò: "Ò", + Ö: "Ö", + Ȫ: "Ȫ", + Õ: "Õ", + Ṍ: "Ṍ", + Ṏ: "Ṏ", + Ȭ: "Ȭ", + Ō: "Ō", + Ṓ: "Ṓ", + Ṑ: "Ṑ", + Ŏ: "Ŏ", + Ǒ: "Ǒ", + Ô: "Ô", + Ố: "Ố", + Ồ: "Ồ", + Ỗ: "Ỗ", + Ȯ: "Ȯ", + Ȱ: "Ȱ", + Ő: "Ő", + Ṕ: "Ṕ", + Ṗ: "Ṗ", + Ŕ: "Ŕ", + Ř: "Ř", + Ṙ: "Ṙ", + Ŗ: "Ŗ", + Ś: "Ś", + Ṥ: "Ṥ", + Š: "Š", + Ṧ: "Ṧ", + Ŝ: "Ŝ", + Ṡ: "Ṡ", + Ş: "Ş", + Ť: "Ť", + Ṫ: "Ṫ", + Ţ: "Ţ", + Ú: "Ú", + Ù: "Ù", + Ü: "Ü", + Ǘ: "Ǘ", + Ǜ: "Ǜ", + Ǖ: "Ǖ", + Ǚ: "Ǚ", + Ũ: "Ũ", + Ṹ: "Ṹ", + Ū: "Ū", + Ṻ: "Ṻ", + Ŭ: "Ŭ", + Ǔ: "Ǔ", + Û: "Û", + Ů: "Ů", + Ű: "Ű", + Ṽ: "Ṽ", + Ẃ: "Ẃ", + Ẁ: "Ẁ", + Ẅ: "Ẅ", + Ŵ: "Ŵ", + Ẇ: "Ẇ", + Ẍ: "Ẍ", + Ẋ: "Ẋ", + Ý: "Ý", + Ỳ: "Ỳ", + Ÿ: "Ÿ", + Ỹ: "Ỹ", + Ȳ: "Ȳ", + Ŷ: "Ŷ", + Ẏ: "Ẏ", + Ź: "Ź", + Ž: "Ž", + Ẑ: "Ẑ", + Ż: "Ż", + ά: "ά", + ὰ: "ὰ", + ᾱ: "ᾱ", + ᾰ: "ᾰ", + έ: "έ", + ὲ: "ὲ", + ή: "ή", + ὴ: "ὴ", + ί: "ί", + ὶ: "ὶ", + ϊ: "ϊ", + ΐ: "ΐ", + ῒ: "ῒ", + ῑ: "ῑ", + ῐ: "ῐ", + ό: "ό", + ὸ: "ὸ", + ύ: "ύ", + ὺ: "ὺ", + ϋ: "ϋ", + ΰ: "ΰ", + ῢ: "ῢ", + ῡ: "ῡ", + ῠ: "ῠ", + ώ: "ώ", + ὼ: "ὼ", + Ύ: "Ύ", + Ὺ: "Ὺ", + Ϋ: "Ϋ", + Ῡ: "Ῡ", + Ῠ: "Ῠ", + Ώ: "Ώ", + Ὼ: "Ὼ", + } +let RD = class ND { + constructor(e, r) { + ;(this.mode = void 0), + (this.gullet = void 0), + (this.settings = void 0), + (this.leftrightDepth = void 0), + (this.nextToken = void 0), + (this.mode = "math"), + (this.gullet = new qX(e, r, this.mode)), + (this.settings = r), + (this.leftrightDepth = 0) + } + expect(e, r) { + if ((r === void 0 && (r = !0), this.fetch().text !== e)) + throw new at("Expected '" + e + "', got '" + this.fetch().text + "'", this.fetch()) + r && this.consume() + } + consume() { + this.nextToken = null + } + fetch() { + return this.nextToken == null && (this.nextToken = this.gullet.expandNextToken()), this.nextToken + } + switchMode(e) { + ;(this.mode = e), this.gullet.switchMode(e) + } + parse() { + this.settings.globalGroup || this.gullet.beginGroup(), + this.settings.colorIsTextColor && this.gullet.macros.set("\\color", "\\textcolor") + try { + var e = this.parseExpression(!1) + return this.expect("EOF"), this.settings.globalGroup || this.gullet.endGroup(), e + } finally { + this.gullet.endGroups() + } + } + subparse(e) { + var r = this.nextToken + this.consume(), this.gullet.pushToken(new Ka("}")), this.gullet.pushTokens(e) + var n = this.parseExpression(!1) + return this.expect("}"), (this.nextToken = r), n + } + parseExpression(e, r) { + for (var n = []; ; ) { + this.mode === "math" && this.consumeSpaces() + var i = this.fetch() + if ( + ND.endOfExpression.indexOf(i.text) !== -1 || + (r && i.text === r) || + (e && ml[i.text] && ml[i.text].infix) + ) + break + var a = this.parseAtom(r) + if (a) { + if (a.type === "internal") continue + } else break + n.push(a) + } + return this.mode === "text" && this.formLigatures(n), this.handleInfixNodes(n) + } + handleInfixNodes(e) { + for (var r = -1, n, i = 0; i < e.length; i++) + if (e[i].type === "infix") { + if (r !== -1) throw new at("only one infix operator per group", e[i].token) + ;(r = i), (n = e[i].replaceWith) + } + if (r !== -1 && n) { + var a, + s, + o = e.slice(0, r), + l = e.slice(r + 1) + o.length === 1 && o[0].type === "ordgroup" + ? (a = o[0]) + : (a = { type: "ordgroup", mode: this.mode, body: o }), + l.length === 1 && l[0].type === "ordgroup" + ? (s = l[0]) + : (s = { type: "ordgroup", mode: this.mode, body: l }) + var u + return ( + n === "\\\\abovefrac" + ? (u = this.callFunction(n, [a, e[r], s], [])) + : (u = this.callFunction(n, [a, s], [])), + [u] + ) + } else return e + } + handleSupSubscript(e) { + var r = this.fetch(), + n = r.text + this.consume(), this.consumeSpaces() + var i + do { + var a + i = this.parseGroup(e) + } while (((a = i) == null ? void 0 : a.type) === "internal") + if (!i) throw new at("Expected group after '" + n + "'", r) + return i + } + formatUnsupportedCmd(e) { + for (var r = [], n = 0; n < e.length; n++) r.push({ type: "textord", mode: "text", text: e[n] }) + var i = { type: "text", mode: this.mode, body: r }, + a = { type: "color", mode: this.mode, color: this.settings.errorColor, body: [i] } + return a + } + parseAtom(e) { + var r = this.parseGroup("atom", e) + if ((r == null ? void 0 : r.type) === "internal" || this.mode === "text") return r + for (var n, i; ; ) { + this.consumeSpaces() + var a = this.fetch() + if (a.text === "\\limits" || a.text === "\\nolimits") { + if (r && r.type === "op") { + var s = a.text === "\\limits" + ;(r.limits = s), (r.alwaysHandleSupSub = !0) + } else if (r && r.type === "operatorname") r.alwaysHandleSupSub && (r.limits = a.text === "\\limits") + else throw new at("Limit controls must follow a math operator", a) + this.consume() + } else if (a.text === "^") { + if (n) throw new at("Double superscript", a) + n = this.handleSupSubscript("superscript") + } else if (a.text === "_") { + if (i) throw new at("Double subscript", a) + i = this.handleSupSubscript("subscript") + } else if (a.text === "'") { + if (n) throw new at("Double superscript", a) + var o = { type: "textord", mode: this.mode, text: "\\prime" }, + l = [o] + for (this.consume(); this.fetch().text === "'"; ) l.push(o), this.consume() + this.fetch().text === "^" && l.push(this.handleSupSubscript("superscript")), + (n = { type: "ordgroup", mode: this.mode, body: l }) + } else if (l1[a.text]) { + var u = A7.test(a.text), + h = [] + for (h.push(new Ka(l1[a.text])), this.consume(); ; ) { + var d = this.fetch().text + if (!l1[d] || A7.test(d) !== u) break + h.unshift(new Ka(l1[d])), this.consume() + } + var f = this.subparse(h) + u + ? (i = { type: "ordgroup", mode: "math", body: f }) + : (n = { type: "ordgroup", mode: "math", body: f }) + } else break + } + return n || i ? { type: "supsub", mode: this.mode, base: r, sup: n, sub: i } : r + } + parseFunction(e, r) { + var n = this.fetch(), + i = n.text, + a = ml[i] + if (!a) return null + if ((this.consume(), r && r !== "atom" && !a.allowedInArgument)) + throw new at("Got function '" + i + "' with no arguments" + (r ? " as " + r : ""), n) + if (this.mode === "text" && !a.allowedInText) throw new at("Can't use function '" + i + "' in text mode", n) + if (this.mode === "math" && a.allowedInMath === !1) + throw new at("Can't use function '" + i + "' in math mode", n) + var { args: s, optArgs: o } = this.parseArguments(i, a) + return this.callFunction(i, s, o, n, e) + } + callFunction(e, r, n, i, a) { + var s = { funcName: e, parser: this, token: i, breakOnTokenText: a }, + o = ml[e] + if (o && o.handler) return o.handler(s, r, n) + throw new at("No function handler for " + e) + } + parseArguments(e, r) { + var n = r.numArgs + r.numOptionalArgs + if (n === 0) return { args: [], optArgs: [] } + for (var i = [], a = [], s = 0; s < n; s++) { + var o = r.argTypes && r.argTypes[s], + l = s < r.numOptionalArgs + ;((r.primitive && o == null) || (r.type === "sqrt" && s === 1 && a[0] == null)) && (o = "primitive") + var u = this.parseGroupOfType("argument to '" + e + "'", o, l) + if (l) a.push(u) + else if (u != null) i.push(u) + else throw new at("Null argument, please report this as a bug") + } + return { args: i, optArgs: a } + } + parseGroupOfType(e, r, n) { + switch (r) { + case "color": + return this.parseColorGroup(n) + case "size": + return this.parseSizeGroup(n) + case "url": + return this.parseUrlGroup(n) + case "math": + case "text": + return this.parseArgumentGroup(n, r) + case "hbox": { + var i = this.parseArgumentGroup(n, "text") + return i != null ? { type: "styling", mode: i.mode, body: [i], style: "text" } : null + } + case "raw": { + var a = this.parseStringGroup("raw", n) + return a != null ? { type: "raw", mode: "text", string: a.text } : null + } + case "primitive": { + if (n) throw new at("A primitive argument cannot be optional") + var s = this.parseGroup(e) + if (s == null) throw new at("Expected group as " + e, this.fetch()) + return s + } + case "original": + case null: + case void 0: + return this.parseArgumentGroup(n) + default: + throw new at("Unknown group type as " + e, this.fetch()) + } + } + consumeSpaces() { + for (; this.fetch().text === " "; ) this.consume() + } + parseStringGroup(e, r) { + var n = this.gullet.scanArgument(r) + if (n == null) return null + for (var i = "", a; (a = this.fetch()).text !== "EOF"; ) (i += a.text), this.consume() + return this.consume(), (n.text = i), n + } + parseRegexGroup(e, r) { + for (var n = this.fetch(), i = n, a = "", s; (s = this.fetch()).text !== "EOF" && e.test(a + s.text); ) + (i = s), (a += i.text), this.consume() + if (a === "") throw new at("Invalid " + r + ": '" + n.text + "'", n) + return n.range(i, a) + } + parseColorGroup(e) { + var r = this.parseStringGroup("color", e) + if (r == null) return null + var n = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(r.text) + if (!n) throw new at("Invalid color: '" + r.text + "'", r) + var i = n[0] + return /^[0-9a-f]{6}$/i.test(i) && (i = "#" + i), { type: "color-token", mode: this.mode, color: i } + } + parseSizeGroup(e) { + var r, + n = !1 + if ( + (this.gullet.consumeSpaces(), + !e && this.gullet.future().text !== "{" + ? (r = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size")) + : (r = this.parseStringGroup("size", e)), + !r) + ) + return null + !e && r.text.length === 0 && ((r.text = "0pt"), (n = !0)) + var i = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text) + if (!i) throw new at("Invalid size: '" + r.text + "'", r) + var a = { number: +(i[1] + i[2]), unit: i[3] } + if (!$N(a)) throw new at("Invalid unit: '" + a.unit + "'", r) + return { type: "size", mode: this.mode, value: a, isBlank: n } + } + parseUrlGroup(e) { + this.gullet.lexer.setCatcode("%", 13), this.gullet.lexer.setCatcode("~", 12) + var r = this.parseStringGroup("url", e) + if ((this.gullet.lexer.setCatcode("%", 14), this.gullet.lexer.setCatcode("~", 13), r == null)) return null + var n = r.text.replace(/\\([#$%&~_^{}])/g, "$1") + return { type: "url", mode: this.mode, url: n } + } + parseArgumentGroup(e, r) { + var n = this.gullet.scanArgument(e) + if (n == null) return null + var i = this.mode + r && this.switchMode(r), this.gullet.beginGroup() + var a = this.parseExpression(!1, "EOF") + this.expect("EOF"), this.gullet.endGroup() + var s = { type: "ordgroup", mode: this.mode, loc: n.loc, body: a } + return r && this.switchMode(i), s + } + parseGroup(e, r) { + var n = this.fetch(), + i = n.text, + a + if (i === "{" || i === "\\begingroup") { + this.consume() + var s = i === "{" ? "}" : "\\endgroup" + this.gullet.beginGroup() + var o = this.parseExpression(!1, s), + l = this.fetch() + this.expect(s), + this.gullet.endGroup(), + (a = { + type: "ordgroup", + mode: this.mode, + loc: ba.range(n, l), + body: o, + semisimple: i === "\\begingroup" || void 0, + }) + } else if ( + ((a = this.parseFunction(r, e) || this.parseSymbol()), a == null && i[0] === "\\" && !LD.hasOwnProperty(i)) + ) { + if (this.settings.throwOnError) throw new at("Undefined control sequence: " + i, n) + ;(a = this.formatUnsupportedCmd(i)), this.consume() + } + return a + } + formLigatures(e) { + for (var r = e.length - 1, n = 0; n < r; ++n) { + var i = e[n], + a = i.text + a === "-" && + e[n + 1].text === "-" && + (n + 1 < r && e[n + 2].text === "-" + ? (e.splice(n, 3, { type: "textord", mode: "text", loc: ba.range(i, e[n + 2]), text: "---" }), + (r -= 2)) + : (e.splice(n, 2, { type: "textord", mode: "text", loc: ba.range(i, e[n + 1]), text: "--" }), + (r -= 1))), + (a === "'" || a === "`") && + e[n + 1].text === a && + (e.splice(n, 2, { type: "textord", mode: "text", loc: ba.range(i, e[n + 1]), text: a + a }), + (r -= 1)) + } + } + parseSymbol() { + var e = this.fetch(), + r = e.text + if (/^\\verb[^a-zA-Z]/.test(r)) { + this.consume() + var n = r.slice(5), + i = n.charAt(0) === "*" + if ((i && (n = n.slice(1)), n.length < 2 || n.charAt(0) !== n.slice(-1))) + throw new at(`\\verb assertion failed -- + please report what input caused this bug`) + return (n = n.slice(1, -1)), { type: "verb", mode: "text", body: n, star: i } + } + _7.hasOwnProperty(r[0]) && + !Ur[this.mode][r[0]] && + (this.settings.strict && + this.mode === "math" && + this.settings.reportNonstrict( + "unicodeTextInMathMode", + 'Accented Unicode text character "' + r[0] + '" used in math mode', + e, + ), + (r = _7[r[0]] + r.slice(1))) + var a = zX.exec(r) + a && ((r = r.substring(0, a.index)), r === "i" ? (r = "ı") : r === "j" && (r = "ȷ")) + var s + if (Ur[this.mode][r]) { + this.settings.strict && + this.mode === "math" && + c3.indexOf(r) >= 0 && + this.settings.reportNonstrict( + "unicodeTextInMathMode", + 'Latin-1/Unicode text character "' + r[0] + '" used in math mode', + e, + ) + var o = Ur[this.mode][r].group, + l = ba.range(e), + u + if (DY.hasOwnProperty(o)) { + var h = o + u = { type: "atom", mode: this.mode, family: h, loc: l, text: r } + } else u = { type: o, mode: this.mode, loc: l, text: r } + s = u + } else if (r.charCodeAt(0) >= 128) + this.settings.strict && + (BN(r.charCodeAt(0)) + ? this.mode === "math" && + this.settings.reportNonstrict( + "unicodeTextInMathMode", + 'Unicode text character "' + r[0] + '" used in math mode', + e, + ) + : this.settings.reportNonstrict( + "unknownSymbol", + 'Unrecognized Unicode character "' + r[0] + '"' + (" (" + r.charCodeAt(0) + ")"), + e, + )), + (s = { type: "textord", mode: "text", loc: ba.range(e), text: r }) + else return null + if ((this.consume(), a)) + for (var d = 0; d < a[0].length; d++) { + var f = a[0][d] + if (!fb[f]) throw new at("Unknown accent ' " + f + "'", e) + var p = fb[f][this.mode] || fb[f].text + if (!p) throw new at("Accent " + f + " unsupported in " + this.mode + " mode", e) + s = { + type: "accent", + mode: this.mode, + loc: ba.range(e), + label: p, + isStretchy: !1, + isShifty: !0, + base: s, + } + } + return s + } +} +RD.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"] +var CT = function (e, r) { + if (!(typeof e == "string" || e instanceof String)) + throw new TypeError("KaTeX can only parse string typed expression") + var n = new RD(e, r) + delete n.gullet.macros.current["\\df@tag"] + var i = n.parse() + if ( + (delete n.gullet.macros.current["\\current@color"], + delete n.gullet.macros.current["\\color"], + n.gullet.macros.get("\\df@tag")) + ) { + if (!r.displayMode) throw new at("\\tag works only in display equations") + i = [{ type: "tag", mode: "text", body: i, tag: n.subparse([new Ka("\\df@tag")]) }] + } + return i + }, + AT = function (e, r, n) { + r.textContent = "" + var i = x2(e, n).toNode() + r.appendChild(i) + } +typeof document < "u" && + document.compatMode !== "CSS1Compat" && + (typeof console < "u" && + console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."), + (AT = function () { + throw new at("KaTeX doesn't work in quirks mode.") + })) +var DD = function (e, r) { + var n = x2(e, r).toMarkup() + return n + }, + ID = function (e, r) { + var n = new lT(r) + return CT(e, n) + }, + MD = function (e, r, n) { + if (n.throwOnError || !(e instanceof at)) throw e + var i = Pe.makeSpan(["katex-error"], [new Za(r)]) + return i.setAttribute("title", e.toString()), i.setAttribute("style", "color:" + n.errorColor), i + }, + x2 = function (e, r) { + var n = new lT(r) + try { + var i = CT(e, n) + return tX(i, e, n) + } catch (a) { + return MD(a, e, n) + } + }, + OD = function (e, r) { + var n = new lT(r) + try { + var i = CT(e, n) + return rX(i, e, n) + } catch (a) { + return MD(a, e, n) + } + }, + PD = "0.16.22", + BD = { Span: ag, Anchor: hT, SymbolNode: Za, SvgNode: zo, PathNode: _l, LineNode: l3 }, + WX = { + version: PD, + render: AT, + renderToString: DD, + ParseError: at, + SETTINGS_SCHEMA: Z0, + __parse: ID, + __renderToDomTree: x2, + __renderToHTMLTree: OD, + __setFontMetrics: FN, + __defineSymbol: V, + __defineFunction: bt, + __defineMacro: le, + __domTree: BD, + } +const HX = Object.freeze( + Object.defineProperty( + { + __proto__: null, + ParseError: at, + SETTINGS_SCHEMA: Z0, + __defineFunction: bt, + __defineMacro: le, + __defineSymbol: V, + __domTree: BD, + __parse: ID, + __renderToDomTree: x2, + __renderToHTMLTree: OD, + __setFontMetrics: FN, + default: WX, + get render() { + return AT + }, + renderToString: DD, + version: PD, + }, + Symbol.toStringTag, + { value: "Module" }, + ), +) +var cm = { exports: {} }, + YX = cm.exports, + L7 +function XX() { + return ( + L7 || + ((L7 = 1), + (function (t, e) { + ;(function (r, n) { + t.exports = n() + })(YX, function () { + var r = 1e3, + n = 6e4, + i = 36e5, + a = "millisecond", + s = "second", + o = "minute", + l = "hour", + u = "day", + h = "week", + d = "month", + f = "quarter", + p = "year", + g = "date", + m = "Invalid Date", + v = + /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, + y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, + b = { + name: "en", + weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), + months: "January_February_March_April_May_June_July_August_September_October_November_December".split( + "_", + ), + ordinal: function (_) { + var N = ["th", "st", "nd", "rd"], + M = _ % 100 + return "[" + _ + (N[(M - 20) % 10] || N[M] || N[0]) + "]" + }, + }, + w = function (_, N, M) { + var O = String(_) + return !O || O.length >= N ? _ : "" + Array(N + 1 - O.length).join(M) + _ + }, + T = { + s: w, + z: function (_) { + var N = -_.utcOffset(), + M = Math.abs(N), + O = Math.floor(M / 60), + D = M % 60 + return (N <= 0 ? "+" : "-") + w(O, 2, "0") + ":" + w(D, 2, "0") + }, + m: function _(N, M) { + if (N.date() < M.date()) return -_(M, N) + var O = 12 * (M.year() - N.year()) + (M.month() - N.month()), + D = N.clone().add(O, d), + B = M - D < 0, + z = N.clone().add(O + (B ? -1 : 1), d) + return +(-(O + (M - D) / (B ? D - z : z - D)) || 0) + }, + a: function (_) { + return _ < 0 ? Math.ceil(_) || 0 : Math.floor(_) + }, + p: function (_) { + return ( + { M: d, y: p, w: h, d: u, D: g, h: l, m: o, s, ms: a, Q: f }[_] || + String(_ || "") + .toLowerCase() + .replace(/s$/, "") + ) + }, + u: function (_) { + return _ === void 0 + }, + }, + E = "en", + S = {} + S[E] = b + var k = "$isDayjsObject", + L = function (_) { + return _ instanceof I || !(!_ || !_[k]) + }, + A = function _(N, M, O) { + var D + if (!N) return E + if (typeof N == "string") { + var B = N.toLowerCase() + S[B] && (D = B), M && ((S[B] = M), (D = B)) + var z = N.split("-") + if (!D && z.length > 1) return _(z[0]) + } else { + var F = N.name + ;(S[F] = N), (D = F) + } + return !O && D && (E = D), D || (!O && E) + }, + R = function (_, N) { + if (L(_)) return _.clone() + var M = typeof N == "object" ? N : {} + return (M.date = _), (M.args = arguments), new I(M) + }, + C = T + ;(C.l = A), + (C.i = L), + (C.w = function (_, N) { + return R(_, { locale: N.$L, utc: N.$u, x: N.$x, $offset: N.$offset }) + }) + var I = (function () { + function _(M) { + ;(this.$L = A(M.locale, null, !0)), + this.parse(M), + (this.$x = this.$x || M.x || {}), + (this[k] = !0) + } + var N = _.prototype + return ( + (N.parse = function (M) { + ;(this.$d = (function (O) { + var D = O.date, + B = O.utc + if (D === null) return new Date(NaN) + if (C.u(D)) return new Date() + if (D instanceof Date) return new Date(D) + if (typeof D == "string" && !/Z$/i.test(D)) { + var z = D.match(v) + if (z) { + var F = z[2] - 1 || 0, + G = (z[7] || "0").substring(0, 3) + return B + ? new Date( + Date.UTC( + z[1], + F, + z[3] || 1, + z[4] || 0, + z[5] || 0, + z[6] || 0, + G, + ), + ) + : new Date(z[1], F, z[3] || 1, z[4] || 0, z[5] || 0, z[6] || 0, G) + } + } + return new Date(D) + })(M)), + this.init() + }), + (N.init = function () { + var M = this.$d + ;(this.$y = M.getFullYear()), + (this.$M = M.getMonth()), + (this.$D = M.getDate()), + (this.$W = M.getDay()), + (this.$H = M.getHours()), + (this.$m = M.getMinutes()), + (this.$s = M.getSeconds()), + (this.$ms = M.getMilliseconds()) + }), + (N.$utils = function () { + return C + }), + (N.isValid = function () { + return this.$d.toString() !== m + }), + (N.isSame = function (M, O) { + var D = R(M) + return this.startOf(O) <= D && D <= this.endOf(O) + }), + (N.isAfter = function (M, O) { + return R(M) < this.startOf(O) + }), + (N.isBefore = function (M, O) { + return this.endOf(O) < R(M) + }), + (N.$g = function (M, O, D) { + return C.u(M) ? this[O] : this.set(D, M) + }), + (N.unix = function () { + return Math.floor(this.valueOf() / 1e3) + }), + (N.valueOf = function () { + return this.$d.getTime() + }), + (N.startOf = function (M, O) { + var D = this, + B = !!C.u(O) || O, + z = C.p(M), + F = function (j, H) { + var X = C.w(D.$u ? Date.UTC(D.$y, H, j) : new Date(D.$y, H, j), D) + return B ? X : X.endOf(u) + }, + G = function (j, H) { + return C.w( + D.toDate()[j].apply( + D.toDate("s"), + (B ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(H), + ), + D, + ) + }, + q = this.$W, + Y = this.$M, + ee = this.$D, + Q = "set" + (this.$u ? "UTC" : "") + switch (z) { + case p: + return B ? F(1, 0) : F(31, 11) + case d: + return B ? F(1, Y) : F(0, Y + 1) + case h: + var oe = this.$locale().weekStart || 0, + pe = (q < oe ? q + 7 : q) - oe + return F(B ? ee - pe : ee + (6 - pe), Y) + case u: + case g: + return G(Q + "Hours", 0) + case l: + return G(Q + "Minutes", 1) + case o: + return G(Q + "Seconds", 2) + case s: + return G(Q + "Milliseconds", 3) + default: + return this.clone() + } + }), + (N.endOf = function (M) { + return this.startOf(M, !1) + }), + (N.$set = function (M, O) { + var D, + B = C.p(M), + z = "set" + (this.$u ? "UTC" : ""), + F = ((D = {}), + (D[u] = z + "Date"), + (D[g] = z + "Date"), + (D[d] = z + "Month"), + (D[p] = z + "FullYear"), + (D[l] = z + "Hours"), + (D[o] = z + "Minutes"), + (D[s] = z + "Seconds"), + (D[a] = z + "Milliseconds"), + D)[B], + G = B === u ? this.$D + (O - this.$W) : O + if (B === d || B === p) { + var q = this.clone().set(g, 1) + q.$d[F](G), + q.init(), + (this.$d = q.set(g, Math.min(this.$D, q.daysInMonth())).$d) + } else F && this.$d[F](G) + return this.init(), this + }), + (N.set = function (M, O) { + return this.clone().$set(M, O) + }), + (N.get = function (M) { + return this[C.p(M)]() + }), + (N.add = function (M, O) { + var D, + B = this + M = Number(M) + var z = C.p(O), + F = function (Y) { + var ee = R(B) + return C.w(ee.date(ee.date() + Math.round(Y * M)), B) + } + if (z === d) return this.set(d, this.$M + M) + if (z === p) return this.set(p, this.$y + M) + if (z === u) return F(1) + if (z === h) return F(7) + var G = ((D = {}), (D[o] = n), (D[l] = i), (D[s] = r), D)[z] || 1, + q = this.$d.getTime() + M * G + return C.w(q, this) + }), + (N.subtract = function (M, O) { + return this.add(-1 * M, O) + }), + (N.format = function (M) { + var O = this, + D = this.$locale() + if (!this.isValid()) return D.invalidDate || m + var B = M || "YYYY-MM-DDTHH:mm:ssZ", + z = C.z(this), + F = this.$H, + G = this.$m, + q = this.$M, + Y = D.weekdays, + ee = D.months, + Q = D.meridiem, + oe = function (H, X, W, K) { + return (H && (H[X] || H(O, B))) || W[X].slice(0, K) + }, + pe = function (H) { + return C.s(F % 12 || 12, H, "0") + }, + j = + Q || + function (H, X, W) { + var K = H < 12 ? "AM" : "PM" + return W ? K.toLowerCase() : K + } + return B.replace(y, function (H, X) { + return ( + X || + (function (W) { + switch (W) { + case "YY": + return String(O.$y).slice(-2) + case "YYYY": + return C.s(O.$y, 4, "0") + case "M": + return q + 1 + case "MM": + return C.s(q + 1, 2, "0") + case "MMM": + return oe(D.monthsShort, q, ee, 3) + case "MMMM": + return oe(ee, q) + case "D": + return O.$D + case "DD": + return C.s(O.$D, 2, "0") + case "d": + return String(O.$W) + case "dd": + return oe(D.weekdaysMin, O.$W, Y, 2) + case "ddd": + return oe(D.weekdaysShort, O.$W, Y, 3) + case "dddd": + return Y[O.$W] + case "H": + return String(F) + case "HH": + return C.s(F, 2, "0") + case "h": + return pe(1) + case "hh": + return pe(2) + case "a": + return j(F, G, !0) + case "A": + return j(F, G, !1) + case "m": + return String(G) + case "mm": + return C.s(G, 2, "0") + case "s": + return String(O.$s) + case "ss": + return C.s(O.$s, 2, "0") + case "SSS": + return C.s(O.$ms, 3, "0") + case "Z": + return z + } + return null + })(H) || + z.replace(":", "") + ) + }) + }), + (N.utcOffset = function () { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) + }), + (N.diff = function (M, O, D) { + var B, + z = this, + F = C.p(O), + G = R(M), + q = (G.utcOffset() - this.utcOffset()) * n, + Y = this - G, + ee = function () { + return C.m(z, G) + } + switch (F) { + case p: + B = ee() / 12 + break + case d: + B = ee() + break + case f: + B = ee() / 3 + break + case h: + B = (Y - q) / 6048e5 + break + case u: + B = (Y - q) / 864e5 + break + case l: + B = Y / i + break + case o: + B = Y / n + break + case s: + B = Y / r + break + default: + B = Y + } + return D ? B : C.a(B) + }), + (N.daysInMonth = function () { + return this.endOf(d).$D + }), + (N.$locale = function () { + return S[this.$L] + }), + (N.locale = function (M, O) { + if (!M) return this.$L + var D = this.clone(), + B = A(M, O, !0) + return B && (D.$L = B), D + }), + (N.clone = function () { + return C.w(this.$d, this) + }), + (N.toDate = function () { + return new Date(this.valueOf()) + }), + (N.toJSON = function () { + return this.isValid() ? this.toISOString() : null + }), + (N.toISOString = function () { + return this.$d.toISOString() + }), + (N.toString = function () { + return this.$d.toUTCString() + }), + _ + ) + })(), + P = I.prototype + return ( + (R.prototype = P), + [ + ["$ms", a], + ["$s", s], + ["$m", o], + ["$H", l], + ["$W", u], + ["$M", d], + ["$y", p], + ["$D", g], + ].forEach(function (_) { + P[_[1]] = function (N) { + return this.$g(N, _[0], _[1]) + } + }), + (R.extend = function (_, N) { + return _.$i || (_(N, I, R), (_.$i = !0)), R + }), + (R.locale = A), + (R.isDayjs = L), + (R.unix = function (_) { + return R(1e3 * _) + }), + (R.en = S[E]), + (R.Ls = S), + (R.p = {}), + R + ) + }) + })(cm)), + cm.exports + ) +} +var jX = XX() +const wi = Qd(jX), + um = { + min: { r: 0, g: 0, b: 0, s: 0, l: 0, a: 0 }, + max: { r: 255, g: 255, b: 255, h: 360, s: 100, l: 100, a: 1 }, + clamp: { + r: (t) => (t >= 255 ? 255 : t < 0 ? 0 : t), + g: (t) => (t >= 255 ? 255 : t < 0 ? 0 : t), + b: (t) => (t >= 255 ? 255 : t < 0 ? 0 : t), + h: (t) => t % 360, + s: (t) => (t >= 100 ? 100 : t < 0 ? 0 : t), + l: (t) => (t >= 100 ? 100 : t < 0 ? 0 : t), + a: (t) => (t >= 1 ? 1 : t < 0 ? 0 : t), + }, + toLinear: (t) => { + const e = t / 255 + return t > 0.03928 ? Math.pow((e + 0.055) / 1.055, 2.4) : e / 12.92 + }, + hue2rgb: (t, e, r) => ( + r < 0 && (r += 1), + r > 1 && (r -= 1), + r < 1 / 6 ? t + (e - t) * 6 * r : r < 1 / 2 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t + ), + hsl2rgb: ({ h: t, s: e, l: r }, n) => { + if (!e) return r * 2.55 + ;(t /= 360), (e /= 100), (r /= 100) + const i = r < 0.5 ? r * (1 + e) : r + e - r * e, + a = 2 * r - i + switch (n) { + case "r": + return um.hue2rgb(a, i, t + 1 / 3) * 255 + case "g": + return um.hue2rgb(a, i, t) * 255 + case "b": + return um.hue2rgb(a, i, t - 1 / 3) * 255 + } + }, + rgb2hsl: ({ r: t, g: e, b: r }, n) => { + ;(t /= 255), (e /= 255), (r /= 255) + const i = Math.max(t, e, r), + a = Math.min(t, e, r), + s = (i + a) / 2 + if (n === "l") return s * 100 + if (i === a) return 0 + const o = i - a, + l = s > 0.5 ? o / (2 - i - a) : o / (i + a) + if (n === "s") return l * 100 + switch (i) { + case t: + return ((e - r) / o + (e < r ? 6 : 0)) * 60 + case e: + return ((r - t) / o + 2) * 60 + case r: + return ((t - e) / o + 4) * 60 + default: + return -1 + } + }, + }, + KX = { + clamp: (t, e, r) => (e > r ? Math.min(e, Math.max(r, t)) : Math.min(r, Math.max(e, t))), + round: (t) => Math.round(t * 1e10) / 1e10, + }, + ZX = { + dec2hex: (t) => { + const e = Math.round(t).toString(16) + return e.length > 1 ? e : `0${e}` + }, + }, + jt = { channel: um, lang: KX, unit: ZX }, + hl = {} +for (let t = 0; t <= 255; t++) hl[t] = jt.unit.dec2hex(t) +const yi = { ALL: 0, RGB: 1, HSL: 2 } +let QX = class { + constructor() { + this.type = yi.ALL + } + get() { + return this.type + } + set(e) { + if (this.type && this.type !== e) throw new Error("Cannot change both RGB and HSL channels at the same time") + this.type = e + } + reset() { + this.type = yi.ALL + } + is(e) { + return this.type === e + } +} +class JX { + constructor(e, r) { + ;(this.color = r), (this.changed = !1), (this.data = e), (this.type = new QX()) + } + set(e, r) { + return (this.color = r), (this.changed = !1), (this.data = e), (this.type.type = yi.ALL), this + } + _ensureHSL() { + const e = this.data, + { h: r, s: n, l: i } = e + r === void 0 && (e.h = jt.channel.rgb2hsl(e, "h")), + n === void 0 && (e.s = jt.channel.rgb2hsl(e, "s")), + i === void 0 && (e.l = jt.channel.rgb2hsl(e, "l")) + } + _ensureRGB() { + const e = this.data, + { r, g: n, b: i } = e + r === void 0 && (e.r = jt.channel.hsl2rgb(e, "r")), + n === void 0 && (e.g = jt.channel.hsl2rgb(e, "g")), + i === void 0 && (e.b = jt.channel.hsl2rgb(e, "b")) + } + get r() { + const e = this.data, + r = e.r + return !this.type.is(yi.HSL) && r !== void 0 ? r : (this._ensureHSL(), jt.channel.hsl2rgb(e, "r")) + } + get g() { + const e = this.data, + r = e.g + return !this.type.is(yi.HSL) && r !== void 0 ? r : (this._ensureHSL(), jt.channel.hsl2rgb(e, "g")) + } + get b() { + const e = this.data, + r = e.b + return !this.type.is(yi.HSL) && r !== void 0 ? r : (this._ensureHSL(), jt.channel.hsl2rgb(e, "b")) + } + get h() { + const e = this.data, + r = e.h + return !this.type.is(yi.RGB) && r !== void 0 ? r : (this._ensureRGB(), jt.channel.rgb2hsl(e, "h")) + } + get s() { + const e = this.data, + r = e.s + return !this.type.is(yi.RGB) && r !== void 0 ? r : (this._ensureRGB(), jt.channel.rgb2hsl(e, "s")) + } + get l() { + const e = this.data, + r = e.l + return !this.type.is(yi.RGB) && r !== void 0 ? r : (this._ensureRGB(), jt.channel.rgb2hsl(e, "l")) + } + get a() { + return this.data.a + } + set r(e) { + this.type.set(yi.RGB), (this.changed = !0), (this.data.r = e) + } + set g(e) { + this.type.set(yi.RGB), (this.changed = !0), (this.data.g = e) + } + set b(e) { + this.type.set(yi.RGB), (this.changed = !0), (this.data.b = e) + } + set h(e) { + this.type.set(yi.HSL), (this.changed = !0), (this.data.h = e) + } + set s(e) { + this.type.set(yi.HSL), (this.changed = !0), (this.data.s = e) + } + set l(e) { + this.type.set(yi.HSL), (this.changed = !0), (this.data.l = e) + } + set a(e) { + ;(this.changed = !0), (this.data.a = e) + } +} +const b2 = new JX({ r: 0, g: 0, b: 0, a: 0 }, "transparent"), + fh = { + re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i, + parse: (t) => { + if (t.charCodeAt(0) !== 35) return + const e = t.match(fh.re) + if (!e) return + const r = e[1], + n = parseInt(r, 16), + i = r.length, + a = i % 4 === 0, + s = i > 4, + o = s ? 1 : 17, + l = s ? 8 : 4, + u = a ? 0 : -1, + h = s ? 255 : 15 + return b2.set( + { + r: ((n >> (l * (u + 3))) & h) * o, + g: ((n >> (l * (u + 2))) & h) * o, + b: ((n >> (l * (u + 1))) & h) * o, + a: a ? ((n & h) * o) / 255 : 1, + }, + t, + ) + }, + stringify: (t) => { + const { r: e, g: r, b: n, a: i } = t + return i < 1 + ? `#${hl[Math.round(e)]}${hl[Math.round(r)]}${hl[Math.round(n)]}${hl[Math.round(i * 255)]}` + : `#${hl[Math.round(e)]}${hl[Math.round(r)]}${hl[Math.round(n)]}` + }, + }, + Lc = { + re: /^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i, + hueRe: /^(.+?)(deg|grad|rad|turn)$/i, + _hue2deg: (t) => { + const e = t.match(Lc.hueRe) + if (e) { + const [, r, n] = e + switch (n) { + case "grad": + return jt.channel.clamp.h(parseFloat(r) * 0.9) + case "rad": + return jt.channel.clamp.h((parseFloat(r) * 180) / Math.PI) + case "turn": + return jt.channel.clamp.h(parseFloat(r) * 360) + } + } + return jt.channel.clamp.h(parseFloat(t)) + }, + parse: (t) => { + const e = t.charCodeAt(0) + if (e !== 104 && e !== 72) return + const r = t.match(Lc.re) + if (!r) return + const [, n, i, a, s, o] = r + return b2.set( + { + h: Lc._hue2deg(n), + s: jt.channel.clamp.s(parseFloat(i)), + l: jt.channel.clamp.l(parseFloat(a)), + a: s ? jt.channel.clamp.a(o ? parseFloat(s) / 100 : parseFloat(s)) : 1, + }, + t, + ) + }, + stringify: (t) => { + const { h: e, s: r, l: n, a: i } = t + return i < 1 + ? `hsla(${jt.lang.round(e)}, ${jt.lang.round(r)}%, ${jt.lang.round(n)}%, ${i})` + : `hsl(${jt.lang.round(e)}, ${jt.lang.round(r)}%, ${jt.lang.round(n)}%)` + }, + }, + J0 = { + colors: { + aliceblue: "#f0f8ff", + antiquewhite: "#faebd7", + aqua: "#00ffff", + aquamarine: "#7fffd4", + azure: "#f0ffff", + beige: "#f5f5dc", + bisque: "#ffe4c4", + black: "#000000", + blanchedalmond: "#ffebcd", + blue: "#0000ff", + blueviolet: "#8a2be2", + brown: "#a52a2a", + burlywood: "#deb887", + cadetblue: "#5f9ea0", + chartreuse: "#7fff00", + chocolate: "#d2691e", + coral: "#ff7f50", + cornflowerblue: "#6495ed", + cornsilk: "#fff8dc", + crimson: "#dc143c", + cyanaqua: "#00ffff", + darkblue: "#00008b", + darkcyan: "#008b8b", + darkgoldenrod: "#b8860b", + darkgray: "#a9a9a9", + darkgreen: "#006400", + darkgrey: "#a9a9a9", + darkkhaki: "#bdb76b", + darkmagenta: "#8b008b", + darkolivegreen: "#556b2f", + darkorange: "#ff8c00", + darkorchid: "#9932cc", + darkred: "#8b0000", + darksalmon: "#e9967a", + darkseagreen: "#8fbc8f", + darkslateblue: "#483d8b", + darkslategray: "#2f4f4f", + darkslategrey: "#2f4f4f", + darkturquoise: "#00ced1", + darkviolet: "#9400d3", + deeppink: "#ff1493", + deepskyblue: "#00bfff", + dimgray: "#696969", + dimgrey: "#696969", + dodgerblue: "#1e90ff", + firebrick: "#b22222", + floralwhite: "#fffaf0", + forestgreen: "#228b22", + fuchsia: "#ff00ff", + gainsboro: "#dcdcdc", + ghostwhite: "#f8f8ff", + gold: "#ffd700", + goldenrod: "#daa520", + gray: "#808080", + green: "#008000", + greenyellow: "#adff2f", + grey: "#808080", + honeydew: "#f0fff0", + hotpink: "#ff69b4", + indianred: "#cd5c5c", + indigo: "#4b0082", + ivory: "#fffff0", + khaki: "#f0e68c", + lavender: "#e6e6fa", + lavenderblush: "#fff0f5", + lawngreen: "#7cfc00", + lemonchiffon: "#fffacd", + lightblue: "#add8e6", + lightcoral: "#f08080", + lightcyan: "#e0ffff", + lightgoldenrodyellow: "#fafad2", + lightgray: "#d3d3d3", + lightgreen: "#90ee90", + lightgrey: "#d3d3d3", + lightpink: "#ffb6c1", + lightsalmon: "#ffa07a", + lightseagreen: "#20b2aa", + lightskyblue: "#87cefa", + lightslategray: "#778899", + lightslategrey: "#778899", + lightsteelblue: "#b0c4de", + lightyellow: "#ffffe0", + lime: "#00ff00", + limegreen: "#32cd32", + linen: "#faf0e6", + magenta: "#ff00ff", + maroon: "#800000", + mediumaquamarine: "#66cdaa", + mediumblue: "#0000cd", + mediumorchid: "#ba55d3", + mediumpurple: "#9370db", + mediumseagreen: "#3cb371", + mediumslateblue: "#7b68ee", + mediumspringgreen: "#00fa9a", + mediumturquoise: "#48d1cc", + mediumvioletred: "#c71585", + midnightblue: "#191970", + mintcream: "#f5fffa", + mistyrose: "#ffe4e1", + moccasin: "#ffe4b5", + navajowhite: "#ffdead", + navy: "#000080", + oldlace: "#fdf5e6", + olive: "#808000", + olivedrab: "#6b8e23", + orange: "#ffa500", + orangered: "#ff4500", + orchid: "#da70d6", + palegoldenrod: "#eee8aa", + palegreen: "#98fb98", + paleturquoise: "#afeeee", + palevioletred: "#db7093", + papayawhip: "#ffefd5", + peachpuff: "#ffdab9", + peru: "#cd853f", + pink: "#ffc0cb", + plum: "#dda0dd", + powderblue: "#b0e0e6", + purple: "#800080", + rebeccapurple: "#663399", + red: "#ff0000", + rosybrown: "#bc8f8f", + royalblue: "#4169e1", + saddlebrown: "#8b4513", + salmon: "#fa8072", + sandybrown: "#f4a460", + seagreen: "#2e8b57", + seashell: "#fff5ee", + sienna: "#a0522d", + silver: "#c0c0c0", + skyblue: "#87ceeb", + slateblue: "#6a5acd", + slategray: "#708090", + slategrey: "#708090", + snow: "#fffafa", + springgreen: "#00ff7f", + tan: "#d2b48c", + teal: "#008080", + thistle: "#d8bfd8", + transparent: "#00000000", + turquoise: "#40e0d0", + violet: "#ee82ee", + wheat: "#f5deb3", + white: "#ffffff", + whitesmoke: "#f5f5f5", + yellow: "#ffff00", + yellowgreen: "#9acd32", + }, + parse: (t) => { + t = t.toLowerCase() + const e = J0.colors[t] + if (e) return fh.parse(e) + }, + stringify: (t) => { + const e = fh.stringify(t) + for (const r in J0.colors) if (J0.colors[r] === e) return r + }, + }, + Qf = { + re: /^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i, + parse: (t) => { + const e = t.charCodeAt(0) + if (e !== 114 && e !== 82) return + const r = t.match(Qf.re) + if (!r) return + const [, n, i, a, s, o, l, u, h] = r + return b2.set( + { + r: jt.channel.clamp.r(i ? parseFloat(n) * 2.55 : parseFloat(n)), + g: jt.channel.clamp.g(s ? parseFloat(a) * 2.55 : parseFloat(a)), + b: jt.channel.clamp.b(l ? parseFloat(o) * 2.55 : parseFloat(o)), + a: u ? jt.channel.clamp.a(h ? parseFloat(u) / 100 : parseFloat(u)) : 1, + }, + t, + ) + }, + stringify: (t) => { + const { r: e, g: r, b: n, a: i } = t + return i < 1 + ? `rgba(${jt.lang.round(e)}, ${jt.lang.round(r)}, ${jt.lang.round(n)}, ${jt.lang.round(i)})` + : `rgb(${jt.lang.round(e)}, ${jt.lang.round(r)}, ${jt.lang.round(n)})` + }, + }, + Ts = { + format: { keyword: J0, hex: fh, rgb: Qf, rgba: Qf, hsl: Lc, hsla: Lc }, + parse: (t) => { + if (typeof t != "string") return t + const e = fh.parse(t) || Qf.parse(t) || Lc.parse(t) || J0.parse(t) + if (e) return e + throw new Error(`Unsupported color format: "${t}"`) + }, + stringify: (t) => + !t.changed && t.color + ? t.color + : t.type.is(yi.HSL) || t.data.r === void 0 + ? Lc.stringify(t) + : t.a < 1 || !Number.isInteger(t.r) || !Number.isInteger(t.g) || !Number.isInteger(t.b) + ? Qf.stringify(t) + : fh.stringify(t), + }, + FD = (t, e) => { + const r = Ts.parse(t) + for (const n in e) r[n] = jt.channel.clamp[n](e[n]) + return Ts.stringify(r) + }, + Tl = (t, e, r = 0, n = 1) => { + if (typeof t != "number") return FD(t, { a: e }) + const i = b2.set({ + r: jt.channel.clamp.r(t), + g: jt.channel.clamp.g(e), + b: jt.channel.clamp.b(r), + a: jt.channel.clamp.a(n), + }) + return Ts.stringify(i) + }, + _T = (t, e) => jt.lang.round(Ts.parse(t)[e]), + ej = (t) => { + const { r: e, g: r, b: n } = Ts.parse(t), + i = 0.2126 * jt.channel.toLinear(e) + 0.7152 * jt.channel.toLinear(r) + 0.0722 * jt.channel.toLinear(n) + return jt.lang.round(i) + }, + tj = (t) => ej(t) >= 0.5, + Xl = (t) => !tj(t), + $D = (t, e, r) => { + const n = Ts.parse(t), + i = n[e], + a = jt.channel.clamp[e](i + r) + return i !== a && (n[e] = a), Ts.stringify(n) + }, + St = (t, e) => $D(t, "l", e), + It = (t, e) => $D(t, "l", -e), + De = (t, e) => { + const r = Ts.parse(t), + n = {} + for (const i in e) e[i] && (n[i] = r[i] + e[i]) + return FD(t, n) + }, + rj = (t, e, r = 50) => { + const { r: n, g: i, b: a, a: s } = Ts.parse(t), + { r: o, g: l, b: u, a: h } = Ts.parse(e), + d = r / 100, + f = d * 2 - 1, + p = s - h, + m = ((f * p === -1 ? f : (f + p) / (1 + f * p)) + 1) / 2, + v = 1 - m, + y = n * m + o * v, + b = i * m + l * v, + w = a * m + u * v, + T = s * d + h * (1 - d) + return Tl(y, b, w, T) + }, + yt = (t, e = 100) => { + const r = Ts.parse(t) + return (r.r = 255 - r.r), (r.g = 255 - r.g), (r.b = 255 - r.b), rj(r, t, e) + } +/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */ const { + entries: zD, + setPrototypeOf: R7, + isFrozen: nj, + getPrototypeOf: ij, + getOwnPropertyDescriptor: aj, +} = Object +let { freeze: Gi, seal: Ja, create: VD } = Object, + { apply: g3, construct: m3 } = typeof Reflect < "u" && Reflect +Gi || + (Gi = function (e) { + return e + }) +Ja || + (Ja = function (e) { + return e + }) +g3 || + (g3 = function (e, r, n) { + return e.apply(r, n) + }) +m3 || + (m3 = function (e, r) { + return new e(...r) + }) +const c1 = Ui(Array.prototype.forEach), + sj = Ui(Array.prototype.lastIndexOf), + N7 = Ui(Array.prototype.pop), + kf = Ui(Array.prototype.push), + oj = Ui(Array.prototype.splice), + hm = Ui(String.prototype.toLowerCase), + pb = Ui(String.prototype.toString), + D7 = Ui(String.prototype.match), + Sf = Ui(String.prototype.replace), + lj = Ui(String.prototype.indexOf), + cj = Ui(String.prototype.trim), + ls = Ui(Object.prototype.hasOwnProperty), + Ni = Ui(RegExp.prototype.test), + Cf = uj(TypeError) +function Ui(t) { + return function (e) { + e instanceof RegExp && (e.lastIndex = 0) + for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++) n[i - 1] = arguments[i] + return g3(t, e, n) + } +} +function uj(t) { + return function () { + for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++) r[n] = arguments[n] + return m3(t, r) + } +} +function or(t, e) { + let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : hm + R7 && R7(t, null) + let n = e.length + for (; n--; ) { + let i = e[n] + if (typeof i == "string") { + const a = r(i) + a !== i && (nj(e) || (e[n] = a), (i = a)) + } + t[i] = !0 + } + return t +} +function hj(t) { + for (let e = 0; e < t.length; e++) ls(t, e) || (t[e] = null) + return t +} +function mc(t) { + const e = VD(null) + for (const [r, n] of zD(t)) + ls(t, r) && + (Array.isArray(n) + ? (e[r] = hj(n)) + : n && typeof n == "object" && n.constructor === Object + ? (e[r] = mc(n)) + : (e[r] = n)) + return e +} +function Af(t, e) { + for (; t !== null; ) { + const n = aj(t, e) + if (n) { + if (n.get) return Ui(n.get) + if (typeof n.value == "function") return Ui(n.value) + } + t = ij(t) + } + function r() { + return null + } + return r +} +const I7 = Gi([ + "a", + "abbr", + "acronym", + "address", + "area", + "article", + "aside", + "audio", + "b", + "bdi", + "bdo", + "big", + "blink", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "center", + "cite", + "code", + "col", + "colgroup", + "content", + "data", + "datalist", + "dd", + "decorator", + "del", + "details", + "dfn", + "dialog", + "dir", + "div", + "dl", + "dt", + "element", + "em", + "fieldset", + "figcaption", + "figure", + "font", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "img", + "input", + "ins", + "kbd", + "label", + "legend", + "li", + "main", + "map", + "mark", + "marquee", + "menu", + "menuitem", + "meter", + "nav", + "nobr", + "ol", + "optgroup", + "option", + "output", + "p", + "picture", + "pre", + "progress", + "q", + "rp", + "rt", + "ruby", + "s", + "samp", + "section", + "select", + "shadow", + "small", + "source", + "spacer", + "span", + "strike", + "strong", + "style", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "template", + "textarea", + "tfoot", + "th", + "thead", + "time", + "tr", + "track", + "tt", + "u", + "ul", + "var", + "video", + "wbr", + ]), + gb = Gi([ + "svg", + "a", + "altglyph", + "altglyphdef", + "altglyphitem", + "animatecolor", + "animatemotion", + "animatetransform", + "circle", + "clippath", + "defs", + "desc", + "ellipse", + "filter", + "font", + "g", + "glyph", + "glyphref", + "hkern", + "image", + "line", + "lineargradient", + "marker", + "mask", + "metadata", + "mpath", + "path", + "pattern", + "polygon", + "polyline", + "radialgradient", + "rect", + "stop", + "style", + "switch", + "symbol", + "text", + "textpath", + "title", + "tref", + "tspan", + "view", + "vkern", + ]), + mb = Gi([ + "feBlend", + "feColorMatrix", + "feComponentTransfer", + "feComposite", + "feConvolveMatrix", + "feDiffuseLighting", + "feDisplacementMap", + "feDistantLight", + "feDropShadow", + "feFlood", + "feFuncA", + "feFuncB", + "feFuncG", + "feFuncR", + "feGaussianBlur", + "feImage", + "feMerge", + "feMergeNode", + "feMorphology", + "feOffset", + "fePointLight", + "feSpecularLighting", + "feSpotLight", + "feTile", + "feTurbulence", + ]), + dj = Gi([ + "animate", + "color-profile", + "cursor", + "discard", + "font-face", + "font-face-format", + "font-face-name", + "font-face-src", + "font-face-uri", + "foreignobject", + "hatch", + "hatchpath", + "mesh", + "meshgradient", + "meshpatch", + "meshrow", + "missing-glyph", + "script", + "set", + "solidcolor", + "unknown", + "use", + ]), + vb = Gi([ + "math", + "menclose", + "merror", + "mfenced", + "mfrac", + "mglyph", + "mi", + "mlabeledtr", + "mmultiscripts", + "mn", + "mo", + "mover", + "mpadded", + "mphantom", + "mroot", + "mrow", + "ms", + "mspace", + "msqrt", + "mstyle", + "msub", + "msup", + "msubsup", + "mtable", + "mtd", + "mtext", + "mtr", + "munder", + "munderover", + "mprescripts", + ]), + fj = Gi([ + "maction", + "maligngroup", + "malignmark", + "mlongdiv", + "mscarries", + "mscarry", + "msgroup", + "mstack", + "msline", + "msrow", + "semantics", + "annotation", + "annotation-xml", + "mprescripts", + "none", + ]), + M7 = Gi(["#text"]), + O7 = Gi([ + "accept", + "action", + "align", + "alt", + "autocapitalize", + "autocomplete", + "autopictureinpicture", + "autoplay", + "background", + "bgcolor", + "border", + "capture", + "cellpadding", + "cellspacing", + "checked", + "cite", + "class", + "clear", + "color", + "cols", + "colspan", + "controls", + "controlslist", + "coords", + "crossorigin", + "datetime", + "decoding", + "default", + "dir", + "disabled", + "disablepictureinpicture", + "disableremoteplayback", + "download", + "draggable", + "enctype", + "enterkeyhint", + "face", + "for", + "headers", + "height", + "hidden", + "high", + "href", + "hreflang", + "id", + "inputmode", + "integrity", + "ismap", + "kind", + "label", + "lang", + "list", + "loading", + "loop", + "low", + "max", + "maxlength", + "media", + "method", + "min", + "minlength", + "multiple", + "muted", + "name", + "nonce", + "noshade", + "novalidate", + "nowrap", + "open", + "optimum", + "pattern", + "placeholder", + "playsinline", + "popover", + "popovertarget", + "popovertargetaction", + "poster", + "preload", + "pubdate", + "radiogroup", + "readonly", + "rel", + "required", + "rev", + "reversed", + "role", + "rows", + "rowspan", + "spellcheck", + "scope", + "selected", + "shape", + "size", + "sizes", + "span", + "srclang", + "start", + "src", + "srcset", + "step", + "style", + "summary", + "tabindex", + "title", + "translate", + "type", + "usemap", + "valign", + "value", + "width", + "wrap", + "xmlns", + "slot", + ]), + yb = Gi([ + "accent-height", + "accumulate", + "additive", + "alignment-baseline", + "amplitude", + "ascent", + "attributename", + "attributetype", + "azimuth", + "basefrequency", + "baseline-shift", + "begin", + "bias", + "by", + "class", + "clip", + "clippathunits", + "clip-path", + "clip-rule", + "color", + "color-interpolation", + "color-interpolation-filters", + "color-profile", + "color-rendering", + "cx", + "cy", + "d", + "dx", + "dy", + "diffuseconstant", + "direction", + "display", + "divisor", + "dur", + "edgemode", + "elevation", + "end", + "exponent", + "fill", + "fill-opacity", + "fill-rule", + "filter", + "filterunits", + "flood-color", + "flood-opacity", + "font-family", + "font-size", + "font-size-adjust", + "font-stretch", + "font-style", + "font-variant", + "font-weight", + "fx", + "fy", + "g1", + "g2", + "glyph-name", + "glyphref", + "gradientunits", + "gradienttransform", + "height", + "href", + "id", + "image-rendering", + "in", + "in2", + "intercept", + "k", + "k1", + "k2", + "k3", + "k4", + "kerning", + "keypoints", + "keysplines", + "keytimes", + "lang", + "lengthadjust", + "letter-spacing", + "kernelmatrix", + "kernelunitlength", + "lighting-color", + "local", + "marker-end", + "marker-mid", + "marker-start", + "markerheight", + "markerunits", + "markerwidth", + "maskcontentunits", + "maskunits", + "max", + "mask", + "media", + "method", + "mode", + "min", + "name", + "numoctaves", + "offset", + "operator", + "opacity", + "order", + "orient", + "orientation", + "origin", + "overflow", + "paint-order", + "path", + "pathlength", + "patterncontentunits", + "patterntransform", + "patternunits", + "points", + "preservealpha", + "preserveaspectratio", + "primitiveunits", + "r", + "rx", + "ry", + "radius", + "refx", + "refy", + "repeatcount", + "repeatdur", + "restart", + "result", + "rotate", + "scale", + "seed", + "shape-rendering", + "slope", + "specularconstant", + "specularexponent", + "spreadmethod", + "startoffset", + "stddeviation", + "stitchtiles", + "stop-color", + "stop-opacity", + "stroke-dasharray", + "stroke-dashoffset", + "stroke-linecap", + "stroke-linejoin", + "stroke-miterlimit", + "stroke-opacity", + "stroke", + "stroke-width", + "style", + "surfacescale", + "systemlanguage", + "tabindex", + "tablevalues", + "targetx", + "targety", + "transform", + "transform-origin", + "text-anchor", + "text-decoration", + "text-rendering", + "textlength", + "type", + "u1", + "u2", + "unicode", + "values", + "viewbox", + "visibility", + "version", + "vert-adv-y", + "vert-origin-x", + "vert-origin-y", + "width", + "word-spacing", + "wrap", + "writing-mode", + "xchannelselector", + "ychannelselector", + "x", + "x1", + "x2", + "xmlns", + "y", + "y1", + "y2", + "z", + "zoomandpan", + ]), + P7 = Gi([ + "accent", + "accentunder", + "align", + "bevelled", + "close", + "columnsalign", + "columnlines", + "columnspan", + "denomalign", + "depth", + "dir", + "display", + "displaystyle", + "encoding", + "fence", + "frame", + "height", + "href", + "id", + "largeop", + "length", + "linethickness", + "lspace", + "lquote", + "mathbackground", + "mathcolor", + "mathsize", + "mathvariant", + "maxsize", + "minsize", + "movablelimits", + "notation", + "numalign", + "open", + "rowalign", + "rowlines", + "rowspacing", + "rowspan", + "rspace", + "rquote", + "scriptlevel", + "scriptminsize", + "scriptsizemultiplier", + "selection", + "separator", + "separators", + "stretchy", + "subscriptshift", + "supscriptshift", + "symmetric", + "voffset", + "width", + "xmlns", + ]), + u1 = Gi(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), + pj = Ja(/\{\{[\w\W]*|[\w\W]*\}\}/gm), + gj = Ja(/<%[\w\W]*|[\w\W]*%>/gm), + mj = Ja(/\$\{[\w\W]*/gm), + vj = Ja(/^data-[\-\w.\u00B7-\uFFFF]+$/), + yj = Ja(/^aria-[\-\w]+$/), + GD = Ja(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), + xj = Ja(/^(?:\w+script|data):/i), + bj = Ja(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), + UD = Ja(/^html$/i), + wj = Ja(/^[a-z][.\w]*(-[.\w]+)+$/i) +var B7 = Object.freeze({ + __proto__: null, + ARIA_ATTR: yj, + ATTR_WHITESPACE: bj, + CUSTOM_ELEMENT: wj, + DATA_ATTR: vj, + DOCTYPE_NAME: UD, + ERB_EXPR: gj, + IS_ALLOWED_URI: GD, + IS_SCRIPT_OR_DATA: xj, + MUSTACHE_EXPR: pj, + TMPLIT_EXPR: mj, +}) +const _f = { element: 1, text: 3, progressingInstruction: 7, comment: 8, document: 9 }, + Tj = function () { + return typeof window > "u" ? null : window + }, + Ej = function (e, r) { + if (typeof e != "object" || typeof e.createPolicy != "function") return null + let n = null + const i = "data-tt-policy-suffix" + r && r.hasAttribute(i) && (n = r.getAttribute(i)) + const a = "dompurify" + (n ? "#" + n : "") + try { + return e.createPolicy(a, { + createHTML(s) { + return s + }, + createScriptURL(s) { + return s + }, + }) + } catch { + return console.warn("TrustedTypes policy " + a + " could not be created."), null + } + }, + F7 = function () { + return { + afterSanitizeAttributes: [], + afterSanitizeElements: [], + afterSanitizeShadowDOM: [], + beforeSanitizeAttributes: [], + beforeSanitizeElements: [], + beforeSanitizeShadowDOM: [], + uponSanitizeAttribute: [], + uponSanitizeElement: [], + uponSanitizeShadowNode: [], + } + } +function qD() { + let t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : Tj() + const e = (pt) => qD(pt) + if ( + ((e.version = "3.2.5"), + (e.removed = []), + !t || !t.document || t.document.nodeType !== _f.document || !t.Element) + ) + return (e.isSupported = !1), e + let { document: r } = t + const n = r, + i = n.currentScript, + { + DocumentFragment: a, + HTMLTemplateElement: s, + Node: o, + Element: l, + NodeFilter: u, + NamedNodeMap: h = t.NamedNodeMap || t.MozNamedAttrMap, + HTMLFormElement: d, + DOMParser: f, + trustedTypes: p, + } = t, + g = l.prototype, + m = Af(g, "cloneNode"), + v = Af(g, "remove"), + y = Af(g, "nextSibling"), + b = Af(g, "childNodes"), + w = Af(g, "parentNode") + if (typeof s == "function") { + const pt = r.createElement("template") + pt.content && pt.content.ownerDocument && (r = pt.content.ownerDocument) + } + let T, + E = "" + const { implementation: S, createNodeIterator: k, createDocumentFragment: L, getElementsByTagName: A } = r, + { importNode: R } = n + let C = F7() + e.isSupported = typeof zD == "function" && typeof w == "function" && S && S.createHTMLDocument !== void 0 + const { + MUSTACHE_EXPR: I, + ERB_EXPR: P, + TMPLIT_EXPR: _, + DATA_ATTR: N, + ARIA_ATTR: M, + IS_SCRIPT_OR_DATA: O, + ATTR_WHITESPACE: D, + CUSTOM_ELEMENT: B, + } = B7 + let { IS_ALLOWED_URI: z } = B7, + F = null + const G = or({}, [...I7, ...gb, ...mb, ...vb, ...M7]) + let q = null + const Y = or({}, [...O7, ...yb, ...P7, ...u1]) + let ee = Object.seal( + VD(null, { + tagNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, + attributeNameCheck: { writable: !0, configurable: !1, enumerable: !0, value: null }, + allowCustomizedBuiltInElements: { writable: !0, configurable: !1, enumerable: !0, value: !1 }, + }), + ), + Q = null, + oe = null, + pe = !0, + j = !0, + H = !1, + X = !0, + W = !1, + K = !0, + ne = !1, + Z = !1, + be = !1, + ce = !1, + re = !1, + Ne = !1, + me = !0, + Ve = !1 + const Ue = "user-content-" + let Fe = !0, + _e = !1, + Oe = {}, + Ce = null + const Le = or({}, [ + "annotation-xml", + "audio", + "colgroup", + "desc", + "foreignobject", + "head", + "iframe", + "math", + "mi", + "mn", + "mo", + "ms", + "mtext", + "noembed", + "noframes", + "noscript", + "plaintext", + "script", + "style", + "svg", + "template", + "thead", + "title", + "video", + "xmp", + ]) + let ze = null + const ge = or({}, ["audio", "video", "img", "source", "image", "track"]) + let Me = null + const J = or({}, [ + "alt", + "class", + "for", + "id", + "label", + "name", + "pattern", + "placeholder", + "role", + "summary", + "title", + "value", + "style", + "xmlns", + ]), + ue = "http://www.w3.org/1998/Math/MathML", + $ = "http://www.w3.org/2000/svg", + se = "http://www.w3.org/1999/xhtml" + let ae = se, + fe = !1, + he = null + const Te = or({}, [ue, $, se], pb) + let ke = or({}, ["mi", "mo", "mn", "ms", "mtext"]), + Ee = or({}, ["annotation-xml"]) + const Ge = or({}, ["title", "style", "font", "a", "script"]) + let Je = null + const We = ["application/xhtml+xml", "text/html"], + Xe = "text/html" + let Ke = null, + $e = null + const je = r.createElement("form"), + lt = function (Se) { + return Se instanceof RegExp || Se instanceof Function + }, + st = function () { + let Se = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {} + if (!($e && $e === Se)) { + if ( + ((!Se || typeof Se != "object") && (Se = {}), + (Se = mc(Se)), + (Je = We.indexOf(Se.PARSER_MEDIA_TYPE) === -1 ? Xe : Se.PARSER_MEDIA_TYPE), + (Ke = Je === "application/xhtml+xml" ? pb : hm), + (F = ls(Se, "ALLOWED_TAGS") ? or({}, Se.ALLOWED_TAGS, Ke) : G), + (q = ls(Se, "ALLOWED_ATTR") ? or({}, Se.ALLOWED_ATTR, Ke) : Y), + (he = ls(Se, "ALLOWED_NAMESPACES") ? or({}, Se.ALLOWED_NAMESPACES, pb) : Te), + (Me = ls(Se, "ADD_URI_SAFE_ATTR") ? or(mc(J), Se.ADD_URI_SAFE_ATTR, Ke) : J), + (ze = ls(Se, "ADD_DATA_URI_TAGS") ? or(mc(ge), Se.ADD_DATA_URI_TAGS, Ke) : ge), + (Ce = ls(Se, "FORBID_CONTENTS") ? or({}, Se.FORBID_CONTENTS, Ke) : Le), + (Q = ls(Se, "FORBID_TAGS") ? or({}, Se.FORBID_TAGS, Ke) : {}), + (oe = ls(Se, "FORBID_ATTR") ? or({}, Se.FORBID_ATTR, Ke) : {}), + (Oe = ls(Se, "USE_PROFILES") ? Se.USE_PROFILES : !1), + (pe = Se.ALLOW_ARIA_ATTR !== !1), + (j = Se.ALLOW_DATA_ATTR !== !1), + (H = Se.ALLOW_UNKNOWN_PROTOCOLS || !1), + (X = Se.ALLOW_SELF_CLOSE_IN_ATTR !== !1), + (W = Se.SAFE_FOR_TEMPLATES || !1), + (K = Se.SAFE_FOR_XML !== !1), + (ne = Se.WHOLE_DOCUMENT || !1), + (ce = Se.RETURN_DOM || !1), + (re = Se.RETURN_DOM_FRAGMENT || !1), + (Ne = Se.RETURN_TRUSTED_TYPE || !1), + (be = Se.FORCE_BODY || !1), + (me = Se.SANITIZE_DOM !== !1), + (Ve = Se.SANITIZE_NAMED_PROPS || !1), + (Fe = Se.KEEP_CONTENT !== !1), + (_e = Se.IN_PLACE || !1), + (z = Se.ALLOWED_URI_REGEXP || GD), + (ae = Se.NAMESPACE || se), + (ke = Se.MATHML_TEXT_INTEGRATION_POINTS || ke), + (Ee = Se.HTML_INTEGRATION_POINTS || Ee), + (ee = Se.CUSTOM_ELEMENT_HANDLING || {}), + Se.CUSTOM_ELEMENT_HANDLING && + lt(Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && + (ee.tagNameCheck = Se.CUSTOM_ELEMENT_HANDLING.tagNameCheck), + Se.CUSTOM_ELEMENT_HANDLING && + lt(Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && + (ee.attributeNameCheck = Se.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), + Se.CUSTOM_ELEMENT_HANDLING && + typeof Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && + (ee.allowCustomizedBuiltInElements = Se.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), + W && (j = !1), + re && (ce = !0), + Oe && + ((F = or({}, M7)), + (q = []), + Oe.html === !0 && (or(F, I7), or(q, O7)), + Oe.svg === !0 && (or(F, gb), or(q, yb), or(q, u1)), + Oe.svgFilters === !0 && (or(F, mb), or(q, yb), or(q, u1)), + Oe.mathMl === !0 && (or(F, vb), or(q, P7), or(q, u1))), + Se.ADD_TAGS && (F === G && (F = mc(F)), or(F, Se.ADD_TAGS, Ke)), + Se.ADD_ATTR && (q === Y && (q = mc(q)), or(q, Se.ADD_ATTR, Ke)), + Se.ADD_URI_SAFE_ATTR && or(Me, Se.ADD_URI_SAFE_ATTR, Ke), + Se.FORBID_CONTENTS && (Ce === Le && (Ce = mc(Ce)), or(Ce, Se.FORBID_CONTENTS, Ke)), + Fe && (F["#text"] = !0), + ne && or(F, ["html", "head", "body"]), + F.table && (or(F, ["tbody"]), delete Q.tbody), + Se.TRUSTED_TYPES_POLICY) + ) { + if (typeof Se.TRUSTED_TYPES_POLICY.createHTML != "function") + throw Cf('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.') + if (typeof Se.TRUSTED_TYPES_POLICY.createScriptURL != "function") + throw Cf('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.') + ;(T = Se.TRUSTED_TYPES_POLICY), (E = T.createHTML("")) + } else T === void 0 && (T = Ej(p, i)), T !== null && typeof E == "string" && (E = T.createHTML("")) + Gi && Gi(Se), ($e = Se) + } + }, + qe = or({}, [...gb, ...mb, ...dj]), + wt = or({}, [...vb, ...fj]), + Ye = function (Se) { + let Qe = w(Se) + ;(!Qe || !Qe.tagName) && (Qe = { namespaceURI: ae, tagName: "template" }) + const xt = hm(Se.tagName), + tr = hm(Qe.tagName) + return he[Se.namespaceURI] + ? Se.namespaceURI === $ + ? Qe.namespaceURI === se + ? xt === "svg" + : Qe.namespaceURI === ue + ? xt === "svg" && (tr === "annotation-xml" || ke[tr]) + : !!qe[xt] + : Se.namespaceURI === ue + ? Qe.namespaceURI === se + ? xt === "math" + : Qe.namespaceURI === $ + ? xt === "math" && Ee[tr] + : !!wt[xt] + : Se.namespaceURI === se + ? (Qe.namespaceURI === $ && !Ee[tr]) || (Qe.namespaceURI === ue && !ke[tr]) + ? !1 + : !wt[xt] && (Ge[xt] || !qe[xt]) + : !!(Je === "application/xhtml+xml" && he[Se.namespaceURI]) + : !1 + }, + Ze = function (Se) { + kf(e.removed, { element: Se }) + try { + w(Se).removeChild(Se) + } catch { + v(Se) + } + }, + dt = function (Se, Qe) { + try { + kf(e.removed, { attribute: Qe.getAttributeNode(Se), from: Qe }) + } catch { + kf(e.removed, { attribute: null, from: Qe }) + } + if ((Qe.removeAttribute(Se), Se === "is")) + if (ce || re) + try { + Ze(Qe) + } catch {} + else + try { + Qe.setAttribute(Se, "") + } catch {} + }, + ct = function (Se) { + let Qe = null, + xt = null + if (be) Se = "<remove></remove>" + Se + else { + const zr = D7(Se, /^[\r\n\t ]+/) + xt = zr && zr[0] + } + Je === "application/xhtml+xml" && + ae === se && + (Se = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + Se + "</body></html>") + const tr = T ? T.createHTML(Se) : Se + if (ae === se) + try { + Qe = new f().parseFromString(tr, Je) + } catch {} + if (!Qe || !Qe.documentElement) { + Qe = S.createDocument(ae, "template", null) + try { + Qe.documentElement.innerHTML = fe ? E : tr + } catch {} + } + const Ir = Qe.body || Qe.documentElement + return ( + Se && xt && Ir.insertBefore(r.createTextNode(xt), Ir.childNodes[0] || null), + ae === se ? A.call(Qe, ne ? "html" : "body")[0] : ne ? Qe.documentElement : Ir + ) + }, + ut = function (Se) { + return k.call( + Se.ownerDocument || Se, + Se, + u.SHOW_ELEMENT | u.SHOW_COMMENT | u.SHOW_TEXT | u.SHOW_PROCESSING_INSTRUCTION | u.SHOW_CDATA_SECTION, + null, + ) + }, + mt = function (Se) { + return ( + Se instanceof d && + (typeof Se.nodeName != "string" || + typeof Se.textContent != "string" || + typeof Se.removeChild != "function" || + !(Se.attributes instanceof h) || + typeof Se.removeAttribute != "function" || + typeof Se.setAttribute != "function" || + typeof Se.namespaceURI != "string" || + typeof Se.insertBefore != "function" || + typeof Se.hasChildNodes != "function") + ) + }, + sr = function (Se) { + return typeof o == "function" && Se instanceof o + } + function Lt(pt, Se, Qe) { + c1(pt, (xt) => { + xt.call(e, Se, Qe, $e) + }) + } + const ur = function (Se) { + let Qe = null + if ((Lt(C.beforeSanitizeElements, Se, null), mt(Se))) return Ze(Se), !0 + const xt = Ke(Se.nodeName) + if ( + (Lt(C.uponSanitizeElement, Se, { tagName: xt, allowedTags: F }), + (Se.hasChildNodes() && + !sr(Se.firstElementChild) && + Ni(/<[/\w!]/g, Se.innerHTML) && + Ni(/<[/\w!]/g, Se.textContent)) || + Se.nodeType === _f.progressingInstruction || + (K && Se.nodeType === _f.comment && Ni(/<[/\w]/g, Se.data))) + ) + return Ze(Se), !0 + if (!F[xt] || Q[xt]) { + if ( + !Q[xt] && + er(xt) && + ((ee.tagNameCheck instanceof RegExp && Ni(ee.tagNameCheck, xt)) || + (ee.tagNameCheck instanceof Function && ee.tagNameCheck(xt))) + ) + return !1 + if (Fe && !Ce[xt]) { + const tr = w(Se) || Se.parentNode, + Ir = b(Se) || Se.childNodes + if (Ir && tr) { + const zr = Ir.length + for (let _r = zr - 1; _r >= 0; --_r) { + const yn = m(Ir[_r], !0) + ;(yn.__removalCount = (Se.__removalCount || 0) + 1), tr.insertBefore(yn, y(Se)) + } + } + } + return Ze(Se), !0 + } + return (Se instanceof l && !Ye(Se)) || + ((xt === "noscript" || xt === "noembed" || xt === "noframes") && + Ni(/<\/no(script|embed|frames)/i, Se.innerHTML)) + ? (Ze(Se), !0) + : (W && + Se.nodeType === _f.text && + ((Qe = Se.textContent), + c1([I, P, _], (tr) => { + Qe = Sf(Qe, tr, " ") + }), + Se.textContent !== Qe && (kf(e.removed, { element: Se.cloneNode() }), (Se.textContent = Qe))), + Lt(C.afterSanitizeElements, Se, null), + !1) + }, + rr = function (Se, Qe, xt) { + if (me && (Qe === "id" || Qe === "name") && (xt in r || xt in je)) return !1 + if (!(j && !oe[Qe] && Ni(N, Qe))) { + if (!(pe && Ni(M, Qe))) { + if (!q[Qe] || oe[Qe]) { + if ( + !( + (er(Se) && + ((ee.tagNameCheck instanceof RegExp && Ni(ee.tagNameCheck, Se)) || + (ee.tagNameCheck instanceof Function && ee.tagNameCheck(Se))) && + ((ee.attributeNameCheck instanceof RegExp && Ni(ee.attributeNameCheck, Qe)) || + (ee.attributeNameCheck instanceof Function && ee.attributeNameCheck(Qe)))) || + (Qe === "is" && + ee.allowCustomizedBuiltInElements && + ((ee.tagNameCheck instanceof RegExp && Ni(ee.tagNameCheck, xt)) || + (ee.tagNameCheck instanceof Function && ee.tagNameCheck(xt)))) + ) + ) + return !1 + } else if (!Me[Qe]) { + if (!Ni(z, Sf(xt, D, ""))) { + if ( + !( + (Qe === "src" || Qe === "xlink:href" || Qe === "href") && + Se !== "script" && + lj(xt, "data:") === 0 && + ze[Se] + ) + ) { + if (!(H && !Ni(O, Sf(xt, D, "")))) { + if (xt) return !1 + } + } + } + } + } + } + return !0 + }, + er = function (Se) { + return Se !== "annotation-xml" && D7(Se, B) + }, + Ht = function (Se) { + Lt(C.beforeSanitizeAttributes, Se, null) + const { attributes: Qe } = Se + if (!Qe || mt(Se)) return + const xt = { attrName: "", attrValue: "", keepAttr: !0, allowedAttributes: q, forceKeepAttr: void 0 } + let tr = Qe.length + for (; tr--; ) { + const Ir = Qe[tr], + { name: zr, namespaceURI: _r, value: yn } = Ir, + mi = Ke(zr) + let Br = zr === "value" ? yn : cj(yn) + if ( + ((xt.attrName = mi), + (xt.attrValue = Br), + (xt.keepAttr = !0), + (xt.forceKeepAttr = void 0), + Lt(C.uponSanitizeAttribute, Se, xt), + (Br = xt.attrValue), + Ve && (mi === "id" || mi === "name") && (dt(zr, Se), (Br = Ue + Br)), + K && Ni(/((--!?|])>)|<\/(style|title)/i, Br)) + ) { + dt(zr, Se) + continue + } + if (xt.forceKeepAttr || (dt(zr, Se), !xt.keepAttr)) continue + if (!X && Ni(/\/>/i, Br)) { + dt(zr, Se) + continue + } + W && + c1([I, P, _], (Ct) => { + Br = Sf(Br, Ct, " ") + }) + const xn = Ke(Se.nodeName) + if (rr(xn, mi, Br)) { + if (T && typeof p == "object" && typeof p.getAttributeType == "function" && !_r) + switch (p.getAttributeType(xn, mi)) { + case "TrustedHTML": { + Br = T.createHTML(Br) + break + } + case "TrustedScriptURL": { + Br = T.createScriptURL(Br) + break + } + } + try { + _r ? Se.setAttributeNS(_r, zr, Br) : Se.setAttribute(zr, Br), mt(Se) ? Ze(Se) : N7(e.removed) + } catch {} + } + } + Lt(C.afterSanitizeAttributes, Se, null) + }, + Xr = function pt(Se) { + let Qe = null + const xt = ut(Se) + for (Lt(C.beforeSanitizeShadowDOM, Se, null); (Qe = xt.nextNode()); ) + Lt(C.uponSanitizeShadowNode, Qe, null), ur(Qe), Ht(Qe), Qe.content instanceof a && pt(Qe.content) + Lt(C.afterSanitizeShadowDOM, Se, null) + } + return ( + (e.sanitize = function (pt) { + let Se = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, + Qe = null, + xt = null, + tr = null, + Ir = null + if (((fe = !pt), fe && (pt = "<!-->"), typeof pt != "string" && !sr(pt))) + if (typeof pt.toString == "function") { + if (((pt = pt.toString()), typeof pt != "string")) throw Cf("dirty is not a string, aborting") + } else throw Cf("toString is not a function") + if (!e.isSupported) return pt + if ((Z || st(Se), (e.removed = []), typeof pt == "string" && (_e = !1), _e)) { + if (pt.nodeName) { + const yn = Ke(pt.nodeName) + if (!F[yn] || Q[yn]) throw Cf("root node is forbidden and cannot be sanitized in-place") + } + } else if (pt instanceof o) + (Qe = ct("<!---->")), + (xt = Qe.ownerDocument.importNode(pt, !0)), + (xt.nodeType === _f.element && xt.nodeName === "BODY") || xt.nodeName === "HTML" + ? (Qe = xt) + : Qe.appendChild(xt) + else { + if (!ce && !W && !ne && pt.indexOf("<") === -1) return T && Ne ? T.createHTML(pt) : pt + if (((Qe = ct(pt)), !Qe)) return ce ? null : Ne ? E : "" + } + Qe && be && Ze(Qe.firstChild) + const zr = ut(_e ? pt : Qe) + for (; (tr = zr.nextNode()); ) ur(tr), Ht(tr), tr.content instanceof a && Xr(tr.content) + if (_e) return pt + if (ce) { + if (re) for (Ir = L.call(Qe.ownerDocument); Qe.firstChild; ) Ir.appendChild(Qe.firstChild) + else Ir = Qe + return (q.shadowroot || q.shadowrootmode) && (Ir = R.call(n, Ir, !0)), Ir + } + let _r = ne ? Qe.outerHTML : Qe.innerHTML + return ( + ne && + F["!doctype"] && + Qe.ownerDocument && + Qe.ownerDocument.doctype && + Qe.ownerDocument.doctype.name && + Ni(UD, Qe.ownerDocument.doctype.name) && + (_r = + "<!DOCTYPE " + + Qe.ownerDocument.doctype.name + + `> +` + + _r), + W && + c1([I, P, _], (yn) => { + _r = Sf(_r, yn, " ") + }), + T && Ne ? T.createHTML(_r) : _r + ) + }), + (e.setConfig = function () { + let pt = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {} + st(pt), (Z = !0) + }), + (e.clearConfig = function () { + ;($e = null), (Z = !1) + }), + (e.isValidAttribute = function (pt, Se, Qe) { + $e || st({}) + const xt = Ke(pt), + tr = Ke(Se) + return rr(xt, tr, Qe) + }), + (e.addHook = function (pt, Se) { + typeof Se == "function" && kf(C[pt], Se) + }), + (e.removeHook = function (pt, Se) { + if (Se !== void 0) { + const Qe = sj(C[pt], Se) + return Qe === -1 ? void 0 : oj(C[pt], Qe, 1)[0] + } + return N7(C[pt]) + }), + (e.removeHooks = function (pt) { + C[pt] = [] + }), + (e.removeAllHooks = function () { + C = F7() + }), + e + ) +} +var xd = qD(), + WD = Object.defineProperty, + x = (t, e) => WD(t, "name", { value: e, configurable: !0 }), + w2 = (t, e) => { + for (var r in e) WD(t, r, { get: e[r], enumerable: !0 }) + }, + go = { trace: 0, debug: 1, info: 2, warn: 3, error: 4, fatal: 5 }, + ie = { + trace: x((...t) => {}, "trace"), + debug: x((...t) => {}, "debug"), + info: x((...t) => {}, "info"), + warn: x((...t) => {}, "warn"), + error: x((...t) => {}, "error"), + fatal: x((...t) => {}, "fatal"), + }, + LT = x(function (t = "fatal") { + let e = go.fatal + typeof t == "string" ? t.toLowerCase() in go && (e = go[t]) : typeof t == "number" && (e = t), + (ie.trace = () => {}), + (ie.debug = () => {}), + (ie.info = () => {}), + (ie.warn = () => {}), + (ie.error = () => {}), + (ie.fatal = () => {}), + e <= go.fatal && + (ie.fatal = console.error + ? console.error.bind(console, Oa("FATAL"), "color: orange") + : console.log.bind(console, "\x1B[35m", Oa("FATAL"))), + e <= go.error && + (ie.error = console.error + ? console.error.bind(console, Oa("ERROR"), "color: orange") + : console.log.bind(console, "\x1B[31m", Oa("ERROR"))), + e <= go.warn && + (ie.warn = console.warn + ? console.warn.bind(console, Oa("WARN"), "color: orange") + : console.log.bind(console, "\x1B[33m", Oa("WARN"))), + e <= go.info && + (ie.info = console.info + ? console.info.bind(console, Oa("INFO"), "color: lightblue") + : console.log.bind(console, "\x1B[34m", Oa("INFO"))), + e <= go.debug && + (ie.debug = console.debug + ? console.debug.bind(console, Oa("DEBUG"), "color: lightgreen") + : console.log.bind(console, "\x1B[32m", Oa("DEBUG"))), + e <= go.trace && + (ie.trace = console.debug + ? console.debug.bind(console, Oa("TRACE"), "color: lightgreen") + : console.log.bind(console, "\x1B[32m", Oa("TRACE"))) + }, "setLogLevel"), + Oa = x((t) => `%c${wi().format("ss.SSS")} : ${t} : `, "format"), + HD = /^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s, + ep = /%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, + kj = /\s*%%.*\n/gm, + Ah, + YD = + ((Ah = class extends Error { + constructor(e) { + super(e), (this.name = "UnknownDiagramError") + } + }), + x(Ah, "UnknownDiagramError"), + Ah), + bd = {}, + RT = x(function (t, e) { + t = t + .replace(HD, "") + .replace(ep, "") + .replace( + kj, + ` +`, + ) + for (const [r, { detector: n }] of Object.entries(bd)) if (n(t, e)) return r + throw new YD(`No diagram type detected matching given configuration for text: ${t}`) + }, "detectType"), + XD = x((...t) => { + for (const { id: e, detector: r, loader: n } of t) jD(e, r, n) + }, "registerLazyLoadedDiagrams"), + jD = x((t, e, r) => { + bd[t] && ie.warn(`Detector with key ${t} already exists. Overwriting.`), + (bd[t] = { detector: e, loader: r }), + ie.debug(`Detector with key ${t} added${r ? " with loader" : ""}`) + }, "addDetector"), + Sj = x((t) => bd[t].loader, "getDiagramLoader"), + v3 = x((t, e, { depth: r = 2, clobber: n = !1 } = {}) => { + const i = { depth: r, clobber: n } + return Array.isArray(e) && !Array.isArray(t) + ? (e.forEach((a) => v3(t, a, i)), t) + : Array.isArray(e) && Array.isArray(t) + ? (e.forEach((a) => { + t.includes(a) || t.push(a) + }), + t) + : t === void 0 || r <= 0 + ? t != null && typeof t == "object" && typeof e == "object" + ? Object.assign(t, e) + : e + : (e !== void 0 && + typeof t == "object" && + typeof e == "object" && + Object.keys(e).forEach((a) => { + typeof e[a] == "object" && (t[a] === void 0 || typeof t[a] == "object") + ? (t[a] === void 0 && (t[a] = Array.isArray(e[a]) ? [] : {}), + (t[a] = v3(t[a], e[a], { depth: r - 1, clobber: n }))) + : (n || (typeof t[a] != "object" && typeof e[a] != "object")) && (t[a] = e[a]) + }), + t) + }, "assignWithDepth"), + Mn = v3, + T2 = "#ffffff", + E2 = "#f2f2f2", + Pi = x((t, e) => (e ? De(t, { s: -40, l: 10 }) : De(t, { s: -40, l: -10 })), "mkBorder"), + _h, + Cj = + ((_h = class { + constructor() { + ;(this.background = "#f4f4f4"), + (this.primaryColor = "#fff4dd"), + (this.noteBkgColor = "#fff5ad"), + (this.noteTextColor = "#333"), + (this.THEME_COLOR_LIMIT = 12), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = "16px") + } + updateColors() { + var r, n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b, w, T, E, S + if ( + ((this.primaryTextColor = this.primaryTextColor || (this.darkMode ? "#eee" : "#333")), + (this.secondaryColor = this.secondaryColor || De(this.primaryColor, { h: -120 })), + (this.tertiaryColor = this.tertiaryColor || De(this.primaryColor, { h: 180, l: 5 })), + (this.primaryBorderColor = this.primaryBorderColor || Pi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = this.secondaryBorderColor || Pi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = this.tertiaryBorderColor || Pi(this.tertiaryColor, this.darkMode)), + (this.noteBorderColor = this.noteBorderColor || Pi(this.noteBkgColor, this.darkMode)), + (this.noteBkgColor = this.noteBkgColor || "#fff5ad"), + (this.noteTextColor = this.noteTextColor || "#333"), + (this.secondaryTextColor = this.secondaryTextColor || yt(this.secondaryColor)), + (this.tertiaryTextColor = this.tertiaryTextColor || yt(this.tertiaryColor)), + (this.lineColor = this.lineColor || yt(this.background)), + (this.arrowheadColor = this.arrowheadColor || yt(this.background)), + (this.textColor = this.textColor || this.primaryTextColor), + (this.border2 = this.border2 || this.tertiaryBorderColor), + (this.nodeBkg = this.nodeBkg || this.primaryColor), + (this.mainBkg = this.mainBkg || this.primaryColor), + (this.nodeBorder = this.nodeBorder || this.primaryBorderColor), + (this.clusterBkg = this.clusterBkg || this.tertiaryColor), + (this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor), + (this.defaultLinkColor = this.defaultLinkColor || this.lineColor), + (this.titleColor = this.titleColor || this.tertiaryTextColor), + (this.edgeLabelBackground = + this.edgeLabelBackground || + (this.darkMode ? It(this.secondaryColor, 30) : this.secondaryColor)), + (this.nodeTextColor = this.nodeTextColor || this.primaryTextColor), + (this.actorBorder = this.actorBorder || this.primaryBorderColor), + (this.actorBkg = this.actorBkg || this.mainBkg), + (this.actorTextColor = this.actorTextColor || this.primaryTextColor), + (this.actorLineColor = this.actorLineColor || this.actorBorder), + (this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg), + (this.signalColor = this.signalColor || this.textColor), + (this.signalTextColor = this.signalTextColor || this.textColor), + (this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder), + (this.labelTextColor = this.labelTextColor || this.actorTextColor), + (this.loopTextColor = this.loopTextColor || this.actorTextColor), + (this.activationBorderColor = this.activationBorderColor || It(this.secondaryColor, 10)), + (this.activationBkgColor = this.activationBkgColor || this.secondaryColor), + (this.sequenceNumberColor = this.sequenceNumberColor || yt(this.lineColor)), + (this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor), + (this.altSectionBkgColor = this.altSectionBkgColor || "white"), + (this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor), + (this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor), + (this.excludeBkgColor = this.excludeBkgColor || "#eeeeee"), + (this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor), + (this.taskBkgColor = this.taskBkgColor || this.primaryColor), + (this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor), + (this.activeTaskBkgColor = this.activeTaskBkgColor || St(this.primaryColor, 23)), + (this.gridColor = this.gridColor || "lightgrey"), + (this.doneTaskBkgColor = this.doneTaskBkgColor || "lightgrey"), + (this.doneTaskBorderColor = this.doneTaskBorderColor || "grey"), + (this.critBorderColor = this.critBorderColor || "#ff8888"), + (this.critBkgColor = this.critBkgColor || "red"), + (this.todayLineColor = this.todayLineColor || "red"), + (this.taskTextColor = this.taskTextColor || this.textColor), + (this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor), + (this.taskTextLightColor = this.taskTextLightColor || this.textColor), + (this.taskTextColor = this.taskTextColor || this.primaryTextColor), + (this.taskTextDarkColor = this.taskTextDarkColor || this.textColor), + (this.taskTextClickableColor = this.taskTextClickableColor || "#003163"), + (this.personBorder = this.personBorder || this.primaryBorderColor), + (this.personBkg = this.personBkg || this.mainBkg), + this.darkMode + ? ((this.rowOdd = this.rowOdd || It(this.mainBkg, 5) || "#ffffff"), + (this.rowEven = this.rowEven || It(this.mainBkg, 10))) + : ((this.rowOdd = this.rowOdd || St(this.mainBkg, 75) || "#ffffff"), + (this.rowEven = this.rowEven || St(this.mainBkg, 5))), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || this.tertiaryColor), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.nodeBorder), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.specialStateColor = this.lineColor), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || De(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || De(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || De(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || De(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || De(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || De(this.primaryColor, { h: 210, l: 150 })), + (this.cScale9 = this.cScale9 || De(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || De(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || De(this.primaryColor, { h: 330 })), + this.darkMode) + ) + for (let k = 0; k < this.THEME_COLOR_LIMIT; k++) this["cScale" + k] = It(this["cScale" + k], 75) + else for (let k = 0; k < this.THEME_COLOR_LIMIT; k++) this["cScale" + k] = It(this["cScale" + k], 25) + for (let k = 0; k < this.THEME_COLOR_LIMIT; k++) + this["cScaleInv" + k] = this["cScaleInv" + k] || yt(this["cScale" + k]) + for (let k = 0; k < this.THEME_COLOR_LIMIT; k++) + this.darkMode + ? (this["cScalePeer" + k] = this["cScalePeer" + k] || St(this["cScale" + k], 10)) + : (this["cScalePeer" + k] = this["cScalePeer" + k] || It(this["cScale" + k], 10)) + this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor + for (let k = 0; k < this.THEME_COLOR_LIMIT; k++) + this["cScaleLabel" + k] = this["cScaleLabel" + k] || this.scaleLabelColor + const e = this.darkMode ? -4 : -1 + for (let k = 0; k < 5; k++) + (this["surface" + k] = + this["surface" + k] || De(this.mainBkg, { h: 180, s: -15, l: e * (5 + k * 3) })), + (this["surfacePeer" + k] = + this["surfacePeer" + k] || De(this.mainBkg, { h: 180, s: -15, l: e * (8 + k * 3) })) + ;(this.classText = this.classText || this.textColor), + (this.fillType0 = this.fillType0 || this.primaryColor), + (this.fillType1 = this.fillType1 || this.secondaryColor), + (this.fillType2 = this.fillType2 || De(this.primaryColor, { h: 64 })), + (this.fillType3 = this.fillType3 || De(this.secondaryColor, { h: 64 })), + (this.fillType4 = this.fillType4 || De(this.primaryColor, { h: -64 })), + (this.fillType5 = this.fillType5 || De(this.secondaryColor, { h: -64 })), + (this.fillType6 = this.fillType6 || De(this.primaryColor, { h: 128 })), + (this.fillType7 = this.fillType7 || De(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || this.tertiaryColor), + (this.pie4 = this.pie4 || De(this.primaryColor, { l: -10 })), + (this.pie5 = this.pie5 || De(this.secondaryColor, { l: -10 })), + (this.pie6 = this.pie6 || De(this.tertiaryColor, { l: -10 })), + (this.pie7 = this.pie7 || De(this.primaryColor, { h: 60, l: -10 })), + (this.pie8 = this.pie8 || De(this.primaryColor, { h: -60, l: -10 })), + (this.pie9 = this.pie9 || De(this.primaryColor, { h: 120, l: 0 })), + (this.pie10 = this.pie10 || De(this.primaryColor, { h: 60, l: -20 })), + (this.pie11 = this.pie11 || De(this.primaryColor, { h: -60, l: -20 })), + (this.pie12 = this.pie12 || De(this.primaryColor, { h: 120, l: -10 })), + (this.pieTitleTextSize = this.pieTitleTextSize || "25px"), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || "17px"), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || "17px"), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || "black"), + (this.pieStrokeWidth = this.pieStrokeWidth || "2px"), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px"), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black"), + (this.pieOpacity = this.pieOpacity || "0.7"), + (this.radar = { + axisColor: ((r = this.radar) == null ? void 0 : r.axisColor) || this.lineColor, + axisStrokeWidth: ((n = this.radar) == null ? void 0 : n.axisStrokeWidth) || 2, + axisLabelFontSize: ((i = this.radar) == null ? void 0 : i.axisLabelFontSize) || 12, + curveOpacity: ((a = this.radar) == null ? void 0 : a.curveOpacity) || 0.5, + curveStrokeWidth: ((s = this.radar) == null ? void 0 : s.curveStrokeWidth) || 2, + graticuleColor: ((o = this.radar) == null ? void 0 : o.graticuleColor) || "#DEDEDE", + graticuleStrokeWidth: ((l = this.radar) == null ? void 0 : l.graticuleStrokeWidth) || 1, + graticuleOpacity: ((u = this.radar) == null ? void 0 : u.graticuleOpacity) || 0.3, + legendBoxSize: ((h = this.radar) == null ? void 0 : h.legendBoxSize) || 12, + legendFontSize: ((d = this.radar) == null ? void 0 : d.legendFontSize) || 12, + }), + (this.archEdgeColor = this.archEdgeColor || "#777"), + (this.archEdgeArrowColor = this.archEdgeArrowColor || "#777"), + (this.archEdgeWidth = this.archEdgeWidth || "3"), + (this.archGroupBorderColor = this.archGroupBorderColor || "#000"), + (this.archGroupBorderWidth = this.archGroupBorderWidth || "2px"), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || De(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || De(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || De(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || De(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || De(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || De(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Xl(this.quadrant1Fill) + ? St(this.quadrant1Fill) + : It(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: ((f = this.xyChart) == null ? void 0 : f.backgroundColor) || this.background, + titleColor: ((p = this.xyChart) == null ? void 0 : p.titleColor) || this.primaryTextColor, + xAxisTitleColor: + ((g = this.xyChart) == null ? void 0 : g.xAxisTitleColor) || this.primaryTextColor, + xAxisLabelColor: + ((m = this.xyChart) == null ? void 0 : m.xAxisLabelColor) || this.primaryTextColor, + xAxisTickColor: + ((v = this.xyChart) == null ? void 0 : v.xAxisTickColor) || this.primaryTextColor, + xAxisLineColor: + ((y = this.xyChart) == null ? void 0 : y.xAxisLineColor) || this.primaryTextColor, + yAxisTitleColor: + ((b = this.xyChart) == null ? void 0 : b.yAxisTitleColor) || this.primaryTextColor, + yAxisLabelColor: + ((w = this.xyChart) == null ? void 0 : w.yAxisLabelColor) || this.primaryTextColor, + yAxisTickColor: + ((T = this.xyChart) == null ? void 0 : T.yAxisTickColor) || this.primaryTextColor, + yAxisLineColor: + ((E = this.xyChart) == null ? void 0 : E.yAxisLineColor) || this.primaryTextColor, + plotColorPalette: + ((S = this.xyChart) == null ? void 0 : S.plotColorPalette) || + "#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0", + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || "1"), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = + this.relationLabelBackground || + (this.darkMode ? It(this.secondaryColor, 30) : this.secondaryColor)), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || De(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || De(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || De(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || De(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || De(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = St(this.git0, 25)), + (this.git1 = St(this.git1, 25)), + (this.git2 = St(this.git2, 25)), + (this.git3 = St(this.git3, 25)), + (this.git4 = St(this.git4, 25)), + (this.git5 = St(this.git5, 25)), + (this.git6 = St(this.git6, 25)), + (this.git7 = St(this.git7, 25))) + : ((this.git0 = It(this.git0, 25)), + (this.git1 = It(this.git1, 25)), + (this.git2 = It(this.git2, 25)), + (this.git3 = It(this.git3, 25)), + (this.git4 = It(this.git4, 25)), + (this.git5 = It(this.git5, 25)), + (this.git6 = It(this.git6, 25)), + (this.git7 = It(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || yt(this.git0)), + (this.gitInv1 = this.gitInv1 || yt(this.git1)), + (this.gitInv2 = this.gitInv2 || yt(this.git2)), + (this.gitInv3 = this.gitInv3 || yt(this.git3)), + (this.gitInv4 = this.gitInv4 || yt(this.git4)), + (this.gitInv5 = this.gitInv5 || yt(this.git5)), + (this.gitInv6 = this.gitInv6 || yt(this.git6)), + (this.gitInv7 = this.gitInv7 || yt(this.git7)), + (this.branchLabelColor = this.branchLabelColor || (this.darkMode ? "black" : this.labelTextColor)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || "10px"), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || "10px"), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || T2), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || E2) + } + calculate(e) { + if (typeof e != "object") { + this.updateColors() + return + } + const r = Object.keys(e) + r.forEach((n) => { + this[n] = e[n] + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n] + }) + } + }), + x(_h, "Theme"), + _h), + Aj = x((t) => { + const e = new Cj() + return e.calculate(t), e + }, "getThemeVariables"), + Lh, + _j = + ((Lh = class { + constructor() { + ;(this.background = "#333"), + (this.primaryColor = "#1f2020"), + (this.secondaryColor = St(this.primaryColor, 16)), + (this.tertiaryColor = De(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = yt(this.background)), + (this.secondaryBorderColor = Pi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = Pi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = yt(this.primaryColor)), + (this.secondaryTextColor = yt(this.secondaryColor)), + (this.tertiaryTextColor = yt(this.tertiaryColor)), + (this.lineColor = yt(this.background)), + (this.textColor = yt(this.background)), + (this.mainBkg = "#1f2020"), + (this.secondBkg = "calculated"), + (this.mainContrastColor = "lightgrey"), + (this.darkTextColor = St(yt("#323D47"), 10)), + (this.lineColor = "calculated"), + (this.border1 = "#ccc"), + (this.border2 = Tl(255, 255, 255, 0.25)), + (this.arrowheadColor = "calculated"), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = "16px"), + (this.labelBackground = "#181818"), + (this.textColor = "#ccc"), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = "calculated"), + (this.nodeBorder = "calculated"), + (this.clusterBkg = "calculated"), + (this.clusterBorder = "calculated"), + (this.defaultLinkColor = "calculated"), + (this.titleColor = "#F9FFFE"), + (this.edgeLabelBackground = "calculated"), + (this.actorBorder = "calculated"), + (this.actorBkg = "calculated"), + (this.actorTextColor = "calculated"), + (this.actorLineColor = "calculated"), + (this.signalColor = "calculated"), + (this.signalTextColor = "calculated"), + (this.labelBoxBkgColor = "calculated"), + (this.labelBoxBorderColor = "calculated"), + (this.labelTextColor = "calculated"), + (this.loopTextColor = "calculated"), + (this.noteBorderColor = "calculated"), + (this.noteBkgColor = "#fff5ad"), + (this.noteTextColor = "calculated"), + (this.activationBorderColor = "calculated"), + (this.activationBkgColor = "calculated"), + (this.sequenceNumberColor = "black"), + (this.sectionBkgColor = It("#EAE8D9", 30)), + (this.altSectionBkgColor = "calculated"), + (this.sectionBkgColor2 = "#EAE8D9"), + (this.excludeBkgColor = It(this.sectionBkgColor, 10)), + (this.taskBorderColor = Tl(255, 255, 255, 70)), + (this.taskBkgColor = "calculated"), + (this.taskTextColor = "calculated"), + (this.taskTextLightColor = "calculated"), + (this.taskTextOutsideColor = "calculated"), + (this.taskTextClickableColor = "#003163"), + (this.activeTaskBorderColor = Tl(255, 255, 255, 50)), + (this.activeTaskBkgColor = "#81B1DB"), + (this.gridColor = "calculated"), + (this.doneTaskBkgColor = "calculated"), + (this.doneTaskBorderColor = "grey"), + (this.critBorderColor = "#E83737"), + (this.critBkgColor = "#E83737"), + (this.taskTextDarkColor = "calculated"), + (this.todayLineColor = "#DB5757"), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = "calculated"), + (this.archEdgeArrowColor = "calculated"), + (this.archEdgeWidth = "3"), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = "2px"), + (this.rowOdd = this.rowOdd || St(this.mainBkg, 5) || "#ffffff"), + (this.rowEven = this.rowEven || It(this.mainBkg, 10)), + (this.labelColor = "calculated"), + (this.errorBkgColor = "#a44141"), + (this.errorTextColor = "#ddd") + } + updateColors() { + var e, r, n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b, w, T, E + ;(this.secondBkg = St(this.mainBkg, 16)), + (this.lineColor = this.mainContrastColor), + (this.arrowheadColor = this.mainContrastColor), + (this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.edgeLabelBackground = St(this.labelBackground, 25)), + (this.actorBorder = this.border1), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.mainContrastColor), + (this.actorLineColor = this.actorBorder), + (this.signalColor = this.mainContrastColor), + (this.signalTextColor = this.mainContrastColor), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.mainContrastColor), + (this.loopTextColor = this.mainContrastColor), + (this.noteBorderColor = this.secondaryBorderColor), + (this.noteBkgColor = this.secondBkg), + (this.noteTextColor = this.secondaryTextColor), + (this.activationBorderColor = this.border1), + (this.activationBkgColor = this.secondBkg), + (this.altSectionBkgColor = this.background), + (this.taskBkgColor = St(this.mainBkg, 23)), + (this.taskTextColor = this.darkTextColor), + (this.taskTextLightColor = this.mainContrastColor), + (this.taskTextOutsideColor = this.taskTextLightColor), + (this.gridColor = this.mainContrastColor), + (this.doneTaskBkgColor = this.mainContrastColor), + (this.taskTextDarkColor = this.darkTextColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || "#555"), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = "#f4f4f4"), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = De(this.primaryColor, { h: 64 })), + (this.fillType3 = De(this.secondaryColor, { h: 64 })), + (this.fillType4 = De(this.primaryColor, { h: -64 })), + (this.fillType5 = De(this.secondaryColor, { h: -64 })), + (this.fillType6 = De(this.primaryColor, { h: 128 })), + (this.fillType7 = De(this.secondaryColor, { h: 128 })), + (this.cScale1 = this.cScale1 || "#0b0000"), + (this.cScale2 = this.cScale2 || "#4d1037"), + (this.cScale3 = this.cScale3 || "#3f5258"), + (this.cScale4 = this.cScale4 || "#4f2f1b"), + (this.cScale5 = this.cScale5 || "#6e0a0a"), + (this.cScale6 = this.cScale6 || "#3b0048"), + (this.cScale7 = this.cScale7 || "#995a01"), + (this.cScale8 = this.cScale8 || "#154706"), + (this.cScale9 = this.cScale9 || "#161722"), + (this.cScale10 = this.cScale10 || "#00296f"), + (this.cScale11 = this.cScale11 || "#01629c"), + (this.cScale12 = this.cScale12 || "#010029"), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || De(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || De(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || De(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || De(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || De(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || De(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || De(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || De(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || De(this.primaryColor, { h: 330 })) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleInv" + S] = this["cScaleInv" + S] || yt(this["cScale" + S]) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScalePeer" + S] = this["cScalePeer" + S] || St(this["cScale" + S], 10) + for (let S = 0; S < 5; S++) + (this["surface" + S] = + this["surface" + S] || De(this.mainBkg, { h: 30, s: -30, l: -(-10 + S * 4) })), + (this["surfacePeer" + S] = + this["surfacePeer" + S] || De(this.mainBkg, { h: 30, s: -30, l: -(-7 + S * 4) })) + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? "black" : this.labelTextColor) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleLabel" + S] = this["cScaleLabel" + S] || this.scaleLabelColor + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) this["pie" + S] = this["cScale" + S] + ;(this.pieTitleTextSize = this.pieTitleTextSize || "25px"), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || "17px"), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || "17px"), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || "black"), + (this.pieStrokeWidth = this.pieStrokeWidth || "2px"), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px"), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black"), + (this.pieOpacity = this.pieOpacity || "0.7"), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || De(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || De(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || De(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || De(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || De(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || De(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Xl(this.quadrant1Fill) + ? St(this.quadrant1Fill) + : It(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: ((e = this.xyChart) == null ? void 0 : e.backgroundColor) || this.background, + titleColor: ((r = this.xyChart) == null ? void 0 : r.titleColor) || this.primaryTextColor, + xAxisTitleColor: + ((n = this.xyChart) == null ? void 0 : n.xAxisTitleColor) || this.primaryTextColor, + xAxisLabelColor: + ((i = this.xyChart) == null ? void 0 : i.xAxisLabelColor) || this.primaryTextColor, + xAxisTickColor: + ((a = this.xyChart) == null ? void 0 : a.xAxisTickColor) || this.primaryTextColor, + xAxisLineColor: + ((s = this.xyChart) == null ? void 0 : s.xAxisLineColor) || this.primaryTextColor, + yAxisTitleColor: + ((o = this.xyChart) == null ? void 0 : o.yAxisTitleColor) || this.primaryTextColor, + yAxisLabelColor: + ((l = this.xyChart) == null ? void 0 : l.yAxisLabelColor) || this.primaryTextColor, + yAxisTickColor: + ((u = this.xyChart) == null ? void 0 : u.yAxisTickColor) || this.primaryTextColor, + yAxisLineColor: + ((h = this.xyChart) == null ? void 0 : h.yAxisLineColor) || this.primaryTextColor, + plotColorPalette: + ((d = this.xyChart) == null ? void 0 : d.plotColorPalette) || + "#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22", + }), + (this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.background, + }), + (this.radar = { + axisColor: ((f = this.radar) == null ? void 0 : f.axisColor) || this.lineColor, + axisStrokeWidth: ((p = this.radar) == null ? void 0 : p.axisStrokeWidth) || 2, + axisLabelFontSize: ((g = this.radar) == null ? void 0 : g.axisLabelFontSize) || 12, + curveOpacity: ((m = this.radar) == null ? void 0 : m.curveOpacity) || 0.5, + curveStrokeWidth: ((v = this.radar) == null ? void 0 : v.curveStrokeWidth) || 2, + graticuleColor: ((y = this.radar) == null ? void 0 : y.graticuleColor) || "#DEDEDE", + graticuleStrokeWidth: ((b = this.radar) == null ? void 0 : b.graticuleStrokeWidth) || 1, + graticuleOpacity: ((w = this.radar) == null ? void 0 : w.graticuleOpacity) || 0.3, + legendBoxSize: ((T = this.radar) == null ? void 0 : T.legendBoxSize) || 12, + legendFontSize: ((E = this.radar) == null ? void 0 : E.legendFontSize) || 12, + }), + (this.classText = this.primaryTextColor), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || "1"), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = + this.relationLabelBackground || + (this.darkMode ? It(this.secondaryColor, 30) : this.secondaryColor)), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = St(this.secondaryColor, 20)), + (this.git1 = St(this.pie2 || this.secondaryColor, 20)), + (this.git2 = St(this.pie3 || this.tertiaryColor, 20)), + (this.git3 = St(this.pie4 || De(this.primaryColor, { h: -30 }), 20)), + (this.git4 = St(this.pie5 || De(this.primaryColor, { h: -60 }), 20)), + (this.git5 = St(this.pie6 || De(this.primaryColor, { h: -90 }), 10)), + (this.git6 = St(this.pie7 || De(this.primaryColor, { h: 60 }), 10)), + (this.git7 = St(this.pie8 || De(this.primaryColor, { h: 120 }), 20)), + (this.gitInv0 = this.gitInv0 || yt(this.git0)), + (this.gitInv1 = this.gitInv1 || yt(this.git1)), + (this.gitInv2 = this.gitInv2 || yt(this.git2)), + (this.gitInv3 = this.gitInv3 || yt(this.git3)), + (this.gitInv4 = this.gitInv4 || yt(this.git4)), + (this.gitInv5 = this.gitInv5 || yt(this.git5)), + (this.gitInv6 = this.gitInv6 || yt(this.git6)), + (this.gitInv7 = this.gitInv7 || yt(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || yt(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || yt(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || "10px"), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || "10px"), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || St(this.background, 12)), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || St(this.background, 2)), + (this.nodeBorder = this.nodeBorder || "#999") + } + calculate(e) { + if (typeof e != "object") { + this.updateColors() + return + } + const r = Object.keys(e) + r.forEach((n) => { + this[n] = e[n] + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n] + }) + } + }), + x(Lh, "Theme"), + Lh), + Lj = x((t) => { + const e = new _j() + return e.calculate(t), e + }, "getThemeVariables"), + Rh, + Rj = + ((Rh = class { + constructor() { + ;(this.background = "#f4f4f4"), + (this.primaryColor = "#ECECFF"), + (this.secondaryColor = De(this.primaryColor, { h: 120 })), + (this.secondaryColor = "#ffffde"), + (this.tertiaryColor = De(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = Pi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = Pi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = Pi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = yt(this.primaryColor)), + (this.secondaryTextColor = yt(this.secondaryColor)), + (this.tertiaryTextColor = yt(this.tertiaryColor)), + (this.lineColor = yt(this.background)), + (this.textColor = yt(this.background)), + (this.background = "white"), + (this.mainBkg = "#ECECFF"), + (this.secondBkg = "#ffffde"), + (this.lineColor = "#333333"), + (this.border1 = "#9370DB"), + (this.border2 = "#aaaa33"), + (this.arrowheadColor = "#333333"), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = "16px"), + (this.labelBackground = "rgba(232,232,232, 0.8)"), + (this.textColor = "#333"), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = "calculated"), + (this.nodeBorder = "calculated"), + (this.clusterBkg = "calculated"), + (this.clusterBorder = "calculated"), + (this.defaultLinkColor = "calculated"), + (this.titleColor = "calculated"), + (this.edgeLabelBackground = "calculated"), + (this.actorBorder = "calculated"), + (this.actorBkg = "calculated"), + (this.actorTextColor = "black"), + (this.actorLineColor = "calculated"), + (this.signalColor = "calculated"), + (this.signalTextColor = "calculated"), + (this.labelBoxBkgColor = "calculated"), + (this.labelBoxBorderColor = "calculated"), + (this.labelTextColor = "calculated"), + (this.loopTextColor = "calculated"), + (this.noteBorderColor = "calculated"), + (this.noteBkgColor = "#fff5ad"), + (this.noteTextColor = "calculated"), + (this.activationBorderColor = "#666"), + (this.activationBkgColor = "#f4f4f4"), + (this.sequenceNumberColor = "white"), + (this.sectionBkgColor = "calculated"), + (this.altSectionBkgColor = "calculated"), + (this.sectionBkgColor2 = "calculated"), + (this.excludeBkgColor = "#eeeeee"), + (this.taskBorderColor = "calculated"), + (this.taskBkgColor = "calculated"), + (this.taskTextLightColor = "calculated"), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = "calculated"), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.taskTextClickableColor = "calculated"), + (this.activeTaskBorderColor = "calculated"), + (this.activeTaskBkgColor = "calculated"), + (this.gridColor = "calculated"), + (this.doneTaskBkgColor = "calculated"), + (this.doneTaskBorderColor = "calculated"), + (this.critBorderColor = "calculated"), + (this.critBkgColor = "calculated"), + (this.todayLineColor = "calculated"), + (this.sectionBkgColor = Tl(102, 102, 255, 0.49)), + (this.altSectionBkgColor = "white"), + (this.sectionBkgColor2 = "#fff400"), + (this.taskBorderColor = "#534fbc"), + (this.taskBkgColor = "#8a90dd"), + (this.taskTextLightColor = "white"), + (this.taskTextColor = "calculated"), + (this.taskTextDarkColor = "black"), + (this.taskTextOutsideColor = "calculated"), + (this.taskTextClickableColor = "#003163"), + (this.activeTaskBorderColor = "#534fbc"), + (this.activeTaskBkgColor = "#bfc7ff"), + (this.gridColor = "lightgrey"), + (this.doneTaskBkgColor = "lightgrey"), + (this.doneTaskBorderColor = "grey"), + (this.critBorderColor = "#ff8888"), + (this.critBkgColor = "red"), + (this.todayLineColor = "red"), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = "calculated"), + (this.archEdgeArrowColor = "calculated"), + (this.archEdgeWidth = "3"), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = "2px"), + (this.rowOdd = "calculated"), + (this.rowEven = "calculated"), + (this.labelColor = "black"), + (this.errorBkgColor = "#552222"), + (this.errorTextColor = "#552222"), + this.updateColors() + } + updateColors() { + var e, r, n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b, w, T, E + ;(this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || De(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || De(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || De(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || De(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || De(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || De(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || De(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || De(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || De(this.primaryColor, { h: 330 })), + (this.cScalePeer1 = this.cScalePeer1 || It(this.secondaryColor, 45)), + (this.cScalePeer2 = this.cScalePeer2 || It(this.tertiaryColor, 40)) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + (this["cScale" + S] = It(this["cScale" + S], 10)), + (this["cScalePeer" + S] = this["cScalePeer" + S] || It(this["cScale" + S], 25)) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleInv" + S] = this["cScaleInv" + S] || De(this["cScale" + S], { h: 180 }) + for (let S = 0; S < 5; S++) + (this["surface" + S] = this["surface" + S] || De(this.mainBkg, { h: 30, l: -(5 + S * 5) })), + (this["surfacePeer" + S] = + this["surfacePeer" + S] || De(this.mainBkg, { h: 30, l: -(7 + S * 5) })) + if ( + ((this.scaleLabelColor = + this.scaleLabelColor !== "calculated" && this.scaleLabelColor + ? this.scaleLabelColor + : this.labelTextColor), + this.labelTextColor !== "calculated") + ) { + ;(this.cScaleLabel0 = this.cScaleLabel0 || yt(this.labelTextColor)), + (this.cScaleLabel3 = this.cScaleLabel3 || yt(this.labelTextColor)) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleLabel" + S] = this["cScaleLabel" + S] || this.labelTextColor + } + ;(this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.textColor), + (this.edgeLabelBackground = this.labelBackground), + (this.actorBorder = St(this.border1, 23)), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.signalColor = this.textColor), + (this.signalTextColor = this.textColor), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.actorLineColor = this.actorBorder), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.rowOdd = this.rowOdd || St(this.primaryColor, 75) || "#ffffff"), + (this.rowEven = this.rowEven || St(this.primaryColor, 1)), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || "#f0f0f0"), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.nodeBorder), + (this.specialStateColor = this.lineColor), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = De(this.primaryColor, { h: 64 })), + (this.fillType3 = De(this.secondaryColor, { h: 64 })), + (this.fillType4 = De(this.primaryColor, { h: -64 })), + (this.fillType5 = De(this.secondaryColor, { h: -64 })), + (this.fillType6 = De(this.primaryColor, { h: 128 })), + (this.fillType7 = De(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || De(this.tertiaryColor, { l: -40 })), + (this.pie4 = this.pie4 || De(this.primaryColor, { l: -10 })), + (this.pie5 = this.pie5 || De(this.secondaryColor, { l: -30 })), + (this.pie6 = this.pie6 || De(this.tertiaryColor, { l: -20 })), + (this.pie7 = this.pie7 || De(this.primaryColor, { h: 60, l: -20 })), + (this.pie8 = this.pie8 || De(this.primaryColor, { h: -60, l: -40 })), + (this.pie9 = this.pie9 || De(this.primaryColor, { h: 120, l: -40 })), + (this.pie10 = this.pie10 || De(this.primaryColor, { h: 60, l: -40 })), + (this.pie11 = this.pie11 || De(this.primaryColor, { h: -90, l: -40 })), + (this.pie12 = this.pie12 || De(this.primaryColor, { h: 120, l: -30 })), + (this.pieTitleTextSize = this.pieTitleTextSize || "25px"), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || "17px"), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || "17px"), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || "black"), + (this.pieStrokeWidth = this.pieStrokeWidth || "2px"), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px"), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black"), + (this.pieOpacity = this.pieOpacity || "0.7"), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || De(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || De(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || De(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || De(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || De(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || De(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Xl(this.quadrant1Fill) + ? St(this.quadrant1Fill) + : It(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.radar = { + axisColor: ((e = this.radar) == null ? void 0 : e.axisColor) || this.lineColor, + axisStrokeWidth: ((r = this.radar) == null ? void 0 : r.axisStrokeWidth) || 2, + axisLabelFontSize: ((n = this.radar) == null ? void 0 : n.axisLabelFontSize) || 12, + curveOpacity: ((i = this.radar) == null ? void 0 : i.curveOpacity) || 0.5, + curveStrokeWidth: ((a = this.radar) == null ? void 0 : a.curveStrokeWidth) || 2, + graticuleColor: ((s = this.radar) == null ? void 0 : s.graticuleColor) || "#DEDEDE", + graticuleStrokeWidth: ((o = this.radar) == null ? void 0 : o.graticuleStrokeWidth) || 1, + graticuleOpacity: ((l = this.radar) == null ? void 0 : l.graticuleOpacity) || 0.3, + legendBoxSize: ((u = this.radar) == null ? void 0 : u.legendBoxSize) || 12, + legendFontSize: ((h = this.radar) == null ? void 0 : h.legendFontSize) || 12, + }), + (this.xyChart = { + backgroundColor: ((d = this.xyChart) == null ? void 0 : d.backgroundColor) || this.background, + titleColor: ((f = this.xyChart) == null ? void 0 : f.titleColor) || this.primaryTextColor, + xAxisTitleColor: + ((p = this.xyChart) == null ? void 0 : p.xAxisTitleColor) || this.primaryTextColor, + xAxisLabelColor: + ((g = this.xyChart) == null ? void 0 : g.xAxisLabelColor) || this.primaryTextColor, + xAxisTickColor: + ((m = this.xyChart) == null ? void 0 : m.xAxisTickColor) || this.primaryTextColor, + xAxisLineColor: + ((v = this.xyChart) == null ? void 0 : v.xAxisLineColor) || this.primaryTextColor, + yAxisTitleColor: + ((y = this.xyChart) == null ? void 0 : y.yAxisTitleColor) || this.primaryTextColor, + yAxisLabelColor: + ((b = this.xyChart) == null ? void 0 : b.yAxisLabelColor) || this.primaryTextColor, + yAxisTickColor: + ((w = this.xyChart) == null ? void 0 : w.yAxisTickColor) || this.primaryTextColor, + yAxisLineColor: + ((T = this.xyChart) == null ? void 0 : T.yAxisLineColor) || this.primaryTextColor, + plotColorPalette: + ((E = this.xyChart) == null ? void 0 : E.plotColorPalette) || + "#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3", + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || "1"), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.labelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || De(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || De(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || De(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || De(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || De(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = St(this.git0, 25)), + (this.git1 = St(this.git1, 25)), + (this.git2 = St(this.git2, 25)), + (this.git3 = St(this.git3, 25)), + (this.git4 = St(this.git4, 25)), + (this.git5 = St(this.git5, 25)), + (this.git6 = St(this.git6, 25)), + (this.git7 = St(this.git7, 25))) + : ((this.git0 = It(this.git0, 25)), + (this.git1 = It(this.git1, 25)), + (this.git2 = It(this.git2, 25)), + (this.git3 = It(this.git3, 25)), + (this.git4 = It(this.git4, 25)), + (this.git5 = It(this.git5, 25)), + (this.git6 = It(this.git6, 25)), + (this.git7 = It(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || It(yt(this.git0), 25)), + (this.gitInv1 = this.gitInv1 || yt(this.git1)), + (this.gitInv2 = this.gitInv2 || yt(this.git2)), + (this.gitInv3 = this.gitInv3 || yt(this.git3)), + (this.gitInv4 = this.gitInv4 || yt(this.git4)), + (this.gitInv5 = this.gitInv5 || yt(this.git5)), + (this.gitInv6 = this.gitInv6 || yt(this.git6)), + (this.gitInv7 = this.gitInv7 || yt(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || yt(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || yt(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || "10px"), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || "10px"), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || T2), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || E2) + } + calculate(e) { + if ( + (Object.keys(this).forEach((n) => { + this[n] === "calculated" && (this[n] = void 0) + }), + typeof e != "object") + ) { + this.updateColors() + return + } + const r = Object.keys(e) + r.forEach((n) => { + this[n] = e[n] + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n] + }) + } + }), + x(Rh, "Theme"), + Rh), + k2 = x((t) => { + const e = new Rj() + return e.calculate(t), e + }, "getThemeVariables"), + Nh, + Nj = + ((Nh = class { + constructor() { + ;(this.background = "#f4f4f4"), + (this.primaryColor = "#cde498"), + (this.secondaryColor = "#cdffb2"), + (this.background = "white"), + (this.mainBkg = "#cde498"), + (this.secondBkg = "#cdffb2"), + (this.lineColor = "green"), + (this.border1 = "#13540c"), + (this.border2 = "#6eaa49"), + (this.arrowheadColor = "green"), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = "16px"), + (this.tertiaryColor = St("#cde498", 10)), + (this.primaryBorderColor = Pi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = Pi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = Pi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = yt(this.primaryColor)), + (this.secondaryTextColor = yt(this.secondaryColor)), + (this.tertiaryTextColor = yt(this.primaryColor)), + (this.lineColor = yt(this.background)), + (this.textColor = yt(this.background)), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = "calculated"), + (this.nodeBorder = "calculated"), + (this.clusterBkg = "calculated"), + (this.clusterBorder = "calculated"), + (this.defaultLinkColor = "calculated"), + (this.titleColor = "#333"), + (this.edgeLabelBackground = "#e8e8e8"), + (this.actorBorder = "calculated"), + (this.actorBkg = "calculated"), + (this.actorTextColor = "black"), + (this.actorLineColor = "calculated"), + (this.signalColor = "#333"), + (this.signalTextColor = "#333"), + (this.labelBoxBkgColor = "calculated"), + (this.labelBoxBorderColor = "#326932"), + (this.labelTextColor = "calculated"), + (this.loopTextColor = "calculated"), + (this.noteBorderColor = "calculated"), + (this.noteBkgColor = "#fff5ad"), + (this.noteTextColor = "calculated"), + (this.activationBorderColor = "#666"), + (this.activationBkgColor = "#f4f4f4"), + (this.sequenceNumberColor = "white"), + (this.sectionBkgColor = "#6eaa49"), + (this.altSectionBkgColor = "white"), + (this.sectionBkgColor2 = "#6eaa49"), + (this.excludeBkgColor = "#eeeeee"), + (this.taskBorderColor = "calculated"), + (this.taskBkgColor = "#487e3a"), + (this.taskTextLightColor = "white"), + (this.taskTextColor = "calculated"), + (this.taskTextDarkColor = "black"), + (this.taskTextOutsideColor = "calculated"), + (this.taskTextClickableColor = "#003163"), + (this.activeTaskBorderColor = "calculated"), + (this.activeTaskBkgColor = "calculated"), + (this.gridColor = "lightgrey"), + (this.doneTaskBkgColor = "lightgrey"), + (this.doneTaskBorderColor = "grey"), + (this.critBorderColor = "#ff8888"), + (this.critBkgColor = "red"), + (this.todayLineColor = "red"), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = "calculated"), + (this.archEdgeArrowColor = "calculated"), + (this.archEdgeWidth = "3"), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = "2px"), + (this.labelColor = "black"), + (this.errorBkgColor = "#552222"), + (this.errorTextColor = "#552222") + } + updateColors() { + var e, r, n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b, w, T, E + ;(this.actorBorder = It(this.mainBkg, 20)), + (this.actorBkg = this.mainBkg), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelTextColor = this.actorTextColor), + (this.loopTextColor = this.actorTextColor), + (this.noteBorderColor = this.border2), + (this.noteTextColor = this.actorTextColor), + (this.actorLineColor = this.actorBorder), + (this.cScale0 = this.cScale0 || this.primaryColor), + (this.cScale1 = this.cScale1 || this.secondaryColor), + (this.cScale2 = this.cScale2 || this.tertiaryColor), + (this.cScale3 = this.cScale3 || De(this.primaryColor, { h: 30 })), + (this.cScale4 = this.cScale4 || De(this.primaryColor, { h: 60 })), + (this.cScale5 = this.cScale5 || De(this.primaryColor, { h: 90 })), + (this.cScale6 = this.cScale6 || De(this.primaryColor, { h: 120 })), + (this.cScale7 = this.cScale7 || De(this.primaryColor, { h: 150 })), + (this.cScale8 = this.cScale8 || De(this.primaryColor, { h: 210 })), + (this.cScale9 = this.cScale9 || De(this.primaryColor, { h: 270 })), + (this.cScale10 = this.cScale10 || De(this.primaryColor, { h: 300 })), + (this.cScale11 = this.cScale11 || De(this.primaryColor, { h: 330 })), + (this.cScalePeer1 = this.cScalePeer1 || It(this.secondaryColor, 45)), + (this.cScalePeer2 = this.cScalePeer2 || It(this.tertiaryColor, 40)) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + (this["cScale" + S] = It(this["cScale" + S], 10)), + (this["cScalePeer" + S] = this["cScalePeer" + S] || It(this["cScale" + S], 25)) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleInv" + S] = this["cScaleInv" + S] || De(this["cScale" + S], { h: 180 }) + this.scaleLabelColor = + this.scaleLabelColor !== "calculated" && this.scaleLabelColor + ? this.scaleLabelColor + : this.labelTextColor + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleLabel" + S] = this["cScaleLabel" + S] || this.scaleLabelColor + for (let S = 0; S < 5; S++) + (this["surface" + S] = this["surface" + S] || De(this.mainBkg, { h: 30, s: -30, l: -(5 + S * 5) })), + (this["surfacePeer" + S] = + this["surfacePeer" + S] || De(this.mainBkg, { h: 30, s: -30, l: -(8 + S * 5) })) + ;(this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.taskBorderColor = this.border1), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.rowOdd = this.rowOdd || St(this.mainBkg, 75) || "#ffffff"), + (this.rowEven = this.rowEven || St(this.mainBkg, 20)), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || "#f0f0f0"), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.compositeBorder = this.compositeBorder || this.nodeBorder), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = this.lineColor), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.transitionColor = this.transitionColor || this.lineColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = De(this.primaryColor, { h: 64 })), + (this.fillType3 = De(this.secondaryColor, { h: 64 })), + (this.fillType4 = De(this.primaryColor, { h: -64 })), + (this.fillType5 = De(this.secondaryColor, { h: -64 })), + (this.fillType6 = De(this.primaryColor, { h: 128 })), + (this.fillType7 = De(this.secondaryColor, { h: 128 })), + (this.pie1 = this.pie1 || this.primaryColor), + (this.pie2 = this.pie2 || this.secondaryColor), + (this.pie3 = this.pie3 || this.tertiaryColor), + (this.pie4 = this.pie4 || De(this.primaryColor, { l: -30 })), + (this.pie5 = this.pie5 || De(this.secondaryColor, { l: -30 })), + (this.pie6 = this.pie6 || De(this.tertiaryColor, { h: 40, l: -40 })), + (this.pie7 = this.pie7 || De(this.primaryColor, { h: 60, l: -10 })), + (this.pie8 = this.pie8 || De(this.primaryColor, { h: -60, l: -10 })), + (this.pie9 = this.pie9 || De(this.primaryColor, { h: 120, l: 0 })), + (this.pie10 = this.pie10 || De(this.primaryColor, { h: 60, l: -50 })), + (this.pie11 = this.pie11 || De(this.primaryColor, { h: -60, l: -50 })), + (this.pie12 = this.pie12 || De(this.primaryColor, { h: 120, l: -50 })), + (this.pieTitleTextSize = this.pieTitleTextSize || "25px"), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || "17px"), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || "17px"), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || "black"), + (this.pieStrokeWidth = this.pieStrokeWidth || "2px"), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px"), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black"), + (this.pieOpacity = this.pieOpacity || "0.7"), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || De(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || De(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || De(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || De(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || De(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || De(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Xl(this.quadrant1Fill) + ? St(this.quadrant1Fill) + : It(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.packet = { + startByteColor: this.primaryTextColor, + endByteColor: this.primaryTextColor, + labelColor: this.primaryTextColor, + titleColor: this.primaryTextColor, + blockStrokeColor: this.primaryTextColor, + blockFillColor: this.mainBkg, + }), + (this.radar = { + axisColor: ((e = this.radar) == null ? void 0 : e.axisColor) || this.lineColor, + axisStrokeWidth: ((r = this.radar) == null ? void 0 : r.axisStrokeWidth) || 2, + axisLabelFontSize: ((n = this.radar) == null ? void 0 : n.axisLabelFontSize) || 12, + curveOpacity: ((i = this.radar) == null ? void 0 : i.curveOpacity) || 0.5, + curveStrokeWidth: ((a = this.radar) == null ? void 0 : a.curveStrokeWidth) || 2, + graticuleColor: ((s = this.radar) == null ? void 0 : s.graticuleColor) || "#DEDEDE", + graticuleStrokeWidth: ((o = this.radar) == null ? void 0 : o.graticuleStrokeWidth) || 1, + graticuleOpacity: ((l = this.radar) == null ? void 0 : l.graticuleOpacity) || 0.3, + legendBoxSize: ((u = this.radar) == null ? void 0 : u.legendBoxSize) || 12, + legendFontSize: ((h = this.radar) == null ? void 0 : h.legendFontSize) || 12, + }), + (this.xyChart = { + backgroundColor: ((d = this.xyChart) == null ? void 0 : d.backgroundColor) || this.background, + titleColor: ((f = this.xyChart) == null ? void 0 : f.titleColor) || this.primaryTextColor, + xAxisTitleColor: + ((p = this.xyChart) == null ? void 0 : p.xAxisTitleColor) || this.primaryTextColor, + xAxisLabelColor: + ((g = this.xyChart) == null ? void 0 : g.xAxisLabelColor) || this.primaryTextColor, + xAxisTickColor: + ((m = this.xyChart) == null ? void 0 : m.xAxisTickColor) || this.primaryTextColor, + xAxisLineColor: + ((v = this.xyChart) == null ? void 0 : v.xAxisLineColor) || this.primaryTextColor, + yAxisTitleColor: + ((y = this.xyChart) == null ? void 0 : y.yAxisTitleColor) || this.primaryTextColor, + yAxisLabelColor: + ((b = this.xyChart) == null ? void 0 : b.yAxisLabelColor) || this.primaryTextColor, + yAxisTickColor: + ((w = this.xyChart) == null ? void 0 : w.yAxisTickColor) || this.primaryTextColor, + yAxisLineColor: + ((T = this.xyChart) == null ? void 0 : T.yAxisLineColor) || this.primaryTextColor, + plotColorPalette: + ((E = this.xyChart) == null ? void 0 : E.plotColorPalette) || + "#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176", + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || "1"), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = this.git0 || this.primaryColor), + (this.git1 = this.git1 || this.secondaryColor), + (this.git2 = this.git2 || this.tertiaryColor), + (this.git3 = this.git3 || De(this.primaryColor, { h: -30 })), + (this.git4 = this.git4 || De(this.primaryColor, { h: -60 })), + (this.git5 = this.git5 || De(this.primaryColor, { h: -90 })), + (this.git6 = this.git6 || De(this.primaryColor, { h: 60 })), + (this.git7 = this.git7 || De(this.primaryColor, { h: 120 })), + this.darkMode + ? ((this.git0 = St(this.git0, 25)), + (this.git1 = St(this.git1, 25)), + (this.git2 = St(this.git2, 25)), + (this.git3 = St(this.git3, 25)), + (this.git4 = St(this.git4, 25)), + (this.git5 = St(this.git5, 25)), + (this.git6 = St(this.git6, 25)), + (this.git7 = St(this.git7, 25))) + : ((this.git0 = It(this.git0, 25)), + (this.git1 = It(this.git1, 25)), + (this.git2 = It(this.git2, 25)), + (this.git3 = It(this.git3, 25)), + (this.git4 = It(this.git4, 25)), + (this.git5 = It(this.git5, 25)), + (this.git6 = It(this.git6, 25)), + (this.git7 = It(this.git7, 25))), + (this.gitInv0 = this.gitInv0 || yt(this.git0)), + (this.gitInv1 = this.gitInv1 || yt(this.git1)), + (this.gitInv2 = this.gitInv2 || yt(this.git2)), + (this.gitInv3 = this.gitInv3 || yt(this.git3)), + (this.gitInv4 = this.gitInv4 || yt(this.git4)), + (this.gitInv5 = this.gitInv5 || yt(this.git5)), + (this.gitInv6 = this.gitInv6 || yt(this.git6)), + (this.gitInv7 = this.gitInv7 || yt(this.git7)), + (this.gitBranchLabel0 = this.gitBranchLabel0 || yt(this.labelTextColor)), + (this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor), + (this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor), + (this.gitBranchLabel3 = this.gitBranchLabel3 || yt(this.labelTextColor)), + (this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor), + (this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor), + (this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor), + (this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || "10px"), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || "10px"), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || T2), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || E2) + } + calculate(e) { + if (typeof e != "object") { + this.updateColors() + return + } + const r = Object.keys(e) + r.forEach((n) => { + this[n] = e[n] + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n] + }) + } + }), + x(Nh, "Theme"), + Nh), + Dj = x((t) => { + const e = new Nj() + return e.calculate(t), e + }, "getThemeVariables"), + Dh, + Ij = + ((Dh = class { + constructor() { + ;(this.primaryColor = "#eee"), + (this.contrast = "#707070"), + (this.secondaryColor = St(this.contrast, 55)), + (this.background = "#ffffff"), + (this.tertiaryColor = De(this.primaryColor, { h: -160 })), + (this.primaryBorderColor = Pi(this.primaryColor, this.darkMode)), + (this.secondaryBorderColor = Pi(this.secondaryColor, this.darkMode)), + (this.tertiaryBorderColor = Pi(this.tertiaryColor, this.darkMode)), + (this.primaryTextColor = yt(this.primaryColor)), + (this.secondaryTextColor = yt(this.secondaryColor)), + (this.tertiaryTextColor = yt(this.tertiaryColor)), + (this.lineColor = yt(this.background)), + (this.textColor = yt(this.background)), + (this.mainBkg = "#eee"), + (this.secondBkg = "calculated"), + (this.lineColor = "#666"), + (this.border1 = "#999"), + (this.border2 = "calculated"), + (this.note = "#ffa"), + (this.text = "#333"), + (this.critical = "#d42"), + (this.done = "#bbb"), + (this.arrowheadColor = "#333333"), + (this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'), + (this.fontSize = "16px"), + (this.THEME_COLOR_LIMIT = 12), + (this.nodeBkg = "calculated"), + (this.nodeBorder = "calculated"), + (this.clusterBkg = "calculated"), + (this.clusterBorder = "calculated"), + (this.defaultLinkColor = "calculated"), + (this.titleColor = "calculated"), + (this.edgeLabelBackground = "white"), + (this.actorBorder = "calculated"), + (this.actorBkg = "calculated"), + (this.actorTextColor = "calculated"), + (this.actorLineColor = this.actorBorder), + (this.signalColor = "calculated"), + (this.signalTextColor = "calculated"), + (this.labelBoxBkgColor = "calculated"), + (this.labelBoxBorderColor = "calculated"), + (this.labelTextColor = "calculated"), + (this.loopTextColor = "calculated"), + (this.noteBorderColor = "calculated"), + (this.noteBkgColor = "calculated"), + (this.noteTextColor = "calculated"), + (this.activationBorderColor = "#666"), + (this.activationBkgColor = "#f4f4f4"), + (this.sequenceNumberColor = "white"), + (this.sectionBkgColor = "calculated"), + (this.altSectionBkgColor = "white"), + (this.sectionBkgColor2 = "calculated"), + (this.excludeBkgColor = "#eeeeee"), + (this.taskBorderColor = "calculated"), + (this.taskBkgColor = "calculated"), + (this.taskTextLightColor = "white"), + (this.taskTextColor = "calculated"), + (this.taskTextDarkColor = "calculated"), + (this.taskTextOutsideColor = "calculated"), + (this.taskTextClickableColor = "#003163"), + (this.activeTaskBorderColor = "calculated"), + (this.activeTaskBkgColor = "calculated"), + (this.gridColor = "calculated"), + (this.doneTaskBkgColor = "calculated"), + (this.doneTaskBorderColor = "calculated"), + (this.critBkgColor = "calculated"), + (this.critBorderColor = "calculated"), + (this.todayLineColor = "calculated"), + (this.personBorder = this.primaryBorderColor), + (this.personBkg = this.mainBkg), + (this.archEdgeColor = "calculated"), + (this.archEdgeArrowColor = "calculated"), + (this.archEdgeWidth = "3"), + (this.archGroupBorderColor = this.primaryBorderColor), + (this.archGroupBorderWidth = "2px"), + (this.rowOdd = this.rowOdd || St(this.mainBkg, 75) || "#ffffff"), + (this.rowEven = this.rowEven || "#f4f4f4"), + (this.labelColor = "black"), + (this.errorBkgColor = "#552222"), + (this.errorTextColor = "#552222") + } + updateColors() { + var e, r, n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b, w, T, E + ;(this.secondBkg = St(this.contrast, 55)), + (this.border2 = this.contrast), + (this.actorBorder = St(this.border1, 23)), + (this.actorBkg = this.mainBkg), + (this.actorTextColor = this.text), + (this.actorLineColor = this.actorBorder), + (this.signalColor = this.text), + (this.signalTextColor = this.text), + (this.labelBoxBkgColor = this.actorBkg), + (this.labelBoxBorderColor = this.actorBorder), + (this.labelTextColor = this.text), + (this.loopTextColor = this.text), + (this.noteBorderColor = "#999"), + (this.noteBkgColor = "#666"), + (this.noteTextColor = "#fff"), + (this.cScale0 = this.cScale0 || "#555"), + (this.cScale1 = this.cScale1 || "#F4F4F4"), + (this.cScale2 = this.cScale2 || "#555"), + (this.cScale3 = this.cScale3 || "#BBB"), + (this.cScale4 = this.cScale4 || "#777"), + (this.cScale5 = this.cScale5 || "#999"), + (this.cScale6 = this.cScale6 || "#DDD"), + (this.cScale7 = this.cScale7 || "#FFF"), + (this.cScale8 = this.cScale8 || "#DDD"), + (this.cScale9 = this.cScale9 || "#BBB"), + (this.cScale10 = this.cScale10 || "#999"), + (this.cScale11 = this.cScale11 || "#777") + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleInv" + S] = this["cScaleInv" + S] || yt(this["cScale" + S]) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this.darkMode + ? (this["cScalePeer" + S] = this["cScalePeer" + S] || St(this["cScale" + S], 10)) + : (this["cScalePeer" + S] = this["cScalePeer" + S] || It(this["cScale" + S], 10)) + ;(this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? "black" : this.labelTextColor)), + (this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1), + (this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) + this["cScaleLabel" + S] = this["cScaleLabel" + S] || this.scaleLabelColor + for (let S = 0; S < 5; S++) + (this["surface" + S] = this["surface" + S] || De(this.mainBkg, { l: -(5 + S * 5) })), + (this["surfacePeer" + S] = this["surfacePeer" + S] || De(this.mainBkg, { l: -(8 + S * 5) })) + ;(this.nodeBkg = this.mainBkg), + (this.nodeBorder = this.border1), + (this.clusterBkg = this.secondBkg), + (this.clusterBorder = this.border2), + (this.defaultLinkColor = this.lineColor), + (this.titleColor = this.text), + (this.sectionBkgColor = St(this.contrast, 30)), + (this.sectionBkgColor2 = St(this.contrast, 30)), + (this.taskBorderColor = It(this.contrast, 10)), + (this.taskBkgColor = this.contrast), + (this.taskTextColor = this.taskTextLightColor), + (this.taskTextDarkColor = this.text), + (this.taskTextOutsideColor = this.taskTextDarkColor), + (this.activeTaskBorderColor = this.taskBorderColor), + (this.activeTaskBkgColor = this.mainBkg), + (this.gridColor = St(this.border1, 30)), + (this.doneTaskBkgColor = this.done), + (this.doneTaskBorderColor = this.lineColor), + (this.critBkgColor = this.critical), + (this.critBorderColor = It(this.critBkgColor, 10)), + (this.todayLineColor = this.critBkgColor), + (this.archEdgeColor = this.lineColor), + (this.archEdgeArrowColor = this.lineColor), + (this.transitionColor = this.transitionColor || "#000"), + (this.transitionLabelColor = this.transitionLabelColor || this.textColor), + (this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor), + (this.stateBkg = this.stateBkg || this.mainBkg), + (this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg), + (this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor), + (this.altBackground = this.altBackground || "#f4f4f4"), + (this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg), + (this.stateBorder = this.stateBorder || "#000"), + (this.innerEndBackground = this.primaryBorderColor), + (this.specialStateColor = "#222"), + (this.errorBkgColor = this.errorBkgColor || this.tertiaryColor), + (this.errorTextColor = this.errorTextColor || this.tertiaryTextColor), + (this.classText = this.primaryTextColor), + (this.fillType0 = this.primaryColor), + (this.fillType1 = this.secondaryColor), + (this.fillType2 = De(this.primaryColor, { h: 64 })), + (this.fillType3 = De(this.secondaryColor, { h: 64 })), + (this.fillType4 = De(this.primaryColor, { h: -64 })), + (this.fillType5 = De(this.secondaryColor, { h: -64 })), + (this.fillType6 = De(this.primaryColor, { h: 128 })), + (this.fillType7 = De(this.secondaryColor, { h: 128 })) + for (let S = 0; S < this.THEME_COLOR_LIMIT; S++) this["pie" + S] = this["cScale" + S] + ;(this.pie12 = this.pie0), + (this.pieTitleTextSize = this.pieTitleTextSize || "25px"), + (this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor), + (this.pieSectionTextSize = this.pieSectionTextSize || "17px"), + (this.pieSectionTextColor = this.pieSectionTextColor || this.textColor), + (this.pieLegendTextSize = this.pieLegendTextSize || "17px"), + (this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor), + (this.pieStrokeColor = this.pieStrokeColor || "black"), + (this.pieStrokeWidth = this.pieStrokeWidth || "2px"), + (this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || "2px"), + (this.pieOuterStrokeColor = this.pieOuterStrokeColor || "black"), + (this.pieOpacity = this.pieOpacity || "0.7"), + (this.quadrant1Fill = this.quadrant1Fill || this.primaryColor), + (this.quadrant2Fill = this.quadrant2Fill || De(this.primaryColor, { r: 5, g: 5, b: 5 })), + (this.quadrant3Fill = this.quadrant3Fill || De(this.primaryColor, { r: 10, g: 10, b: 10 })), + (this.quadrant4Fill = this.quadrant4Fill || De(this.primaryColor, { r: 15, g: 15, b: 15 })), + (this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor), + (this.quadrant2TextFill = + this.quadrant2TextFill || De(this.primaryTextColor, { r: -5, g: -5, b: -5 })), + (this.quadrant3TextFill = + this.quadrant3TextFill || De(this.primaryTextColor, { r: -10, g: -10, b: -10 })), + (this.quadrant4TextFill = + this.quadrant4TextFill || De(this.primaryTextColor, { r: -15, g: -15, b: -15 })), + (this.quadrantPointFill = + this.quadrantPointFill || Xl(this.quadrant1Fill) + ? St(this.quadrant1Fill) + : It(this.quadrant1Fill)), + (this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor), + (this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor), + (this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor), + (this.quadrantInternalBorderStrokeFill = + this.quadrantInternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantExternalBorderStrokeFill = + this.quadrantExternalBorderStrokeFill || this.primaryBorderColor), + (this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor), + (this.xyChart = { + backgroundColor: ((e = this.xyChart) == null ? void 0 : e.backgroundColor) || this.background, + titleColor: ((r = this.xyChart) == null ? void 0 : r.titleColor) || this.primaryTextColor, + xAxisTitleColor: + ((n = this.xyChart) == null ? void 0 : n.xAxisTitleColor) || this.primaryTextColor, + xAxisLabelColor: + ((i = this.xyChart) == null ? void 0 : i.xAxisLabelColor) || this.primaryTextColor, + xAxisTickColor: + ((a = this.xyChart) == null ? void 0 : a.xAxisTickColor) || this.primaryTextColor, + xAxisLineColor: + ((s = this.xyChart) == null ? void 0 : s.xAxisLineColor) || this.primaryTextColor, + yAxisTitleColor: + ((o = this.xyChart) == null ? void 0 : o.yAxisTitleColor) || this.primaryTextColor, + yAxisLabelColor: + ((l = this.xyChart) == null ? void 0 : l.yAxisLabelColor) || this.primaryTextColor, + yAxisTickColor: + ((u = this.xyChart) == null ? void 0 : u.yAxisTickColor) || this.primaryTextColor, + yAxisLineColor: + ((h = this.xyChart) == null ? void 0 : h.yAxisLineColor) || this.primaryTextColor, + plotColorPalette: + ((d = this.xyChart) == null ? void 0 : d.plotColorPalette) || + "#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0", + }), + (this.radar = { + axisColor: ((f = this.radar) == null ? void 0 : f.axisColor) || this.lineColor, + axisStrokeWidth: ((p = this.radar) == null ? void 0 : p.axisStrokeWidth) || 2, + axisLabelFontSize: ((g = this.radar) == null ? void 0 : g.axisLabelFontSize) || 12, + curveOpacity: ((m = this.radar) == null ? void 0 : m.curveOpacity) || 0.5, + curveStrokeWidth: ((v = this.radar) == null ? void 0 : v.curveStrokeWidth) || 2, + graticuleColor: ((y = this.radar) == null ? void 0 : y.graticuleColor) || "#DEDEDE", + graticuleStrokeWidth: ((b = this.radar) == null ? void 0 : b.graticuleStrokeWidth) || 1, + graticuleOpacity: ((w = this.radar) == null ? void 0 : w.graticuleOpacity) || 0.3, + legendBoxSize: ((T = this.radar) == null ? void 0 : T.legendBoxSize) || 12, + legendFontSize: ((E = this.radar) == null ? void 0 : E.legendFontSize) || 12, + }), + (this.requirementBackground = this.requirementBackground || this.primaryColor), + (this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor), + (this.requirementBorderSize = this.requirementBorderSize || "1"), + (this.requirementTextColor = this.requirementTextColor || this.primaryTextColor), + (this.relationColor = this.relationColor || this.lineColor), + (this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground), + (this.relationLabelColor = this.relationLabelColor || this.actorTextColor), + (this.git0 = It(this.pie1, 25) || this.primaryColor), + (this.git1 = this.pie2 || this.secondaryColor), + (this.git2 = this.pie3 || this.tertiaryColor), + (this.git3 = this.pie4 || De(this.primaryColor, { h: -30 })), + (this.git4 = this.pie5 || De(this.primaryColor, { h: -60 })), + (this.git5 = this.pie6 || De(this.primaryColor, { h: -90 })), + (this.git6 = this.pie7 || De(this.primaryColor, { h: 60 })), + (this.git7 = this.pie8 || De(this.primaryColor, { h: 120 })), + (this.gitInv0 = this.gitInv0 || yt(this.git0)), + (this.gitInv1 = this.gitInv1 || yt(this.git1)), + (this.gitInv2 = this.gitInv2 || yt(this.git2)), + (this.gitInv3 = this.gitInv3 || yt(this.git3)), + (this.gitInv4 = this.gitInv4 || yt(this.git4)), + (this.gitInv5 = this.gitInv5 || yt(this.git5)), + (this.gitInv6 = this.gitInv6 || yt(this.git6)), + (this.gitInv7 = this.gitInv7 || yt(this.git7)), + (this.branchLabelColor = this.branchLabelColor || this.labelTextColor), + (this.gitBranchLabel0 = this.branchLabelColor), + (this.gitBranchLabel1 = "white"), + (this.gitBranchLabel2 = this.branchLabelColor), + (this.gitBranchLabel3 = "white"), + (this.gitBranchLabel4 = this.branchLabelColor), + (this.gitBranchLabel5 = this.branchLabelColor), + (this.gitBranchLabel6 = this.branchLabelColor), + (this.gitBranchLabel7 = this.branchLabelColor), + (this.tagLabelColor = this.tagLabelColor || this.primaryTextColor), + (this.tagLabelBackground = this.tagLabelBackground || this.primaryColor), + (this.tagLabelBorder = this.tagBorder || this.primaryBorderColor), + (this.tagLabelFontSize = this.tagLabelFontSize || "10px"), + (this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor), + (this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor), + (this.commitLabelFontSize = this.commitLabelFontSize || "10px"), + (this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || T2), + (this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || E2) + } + calculate(e) { + if (typeof e != "object") { + this.updateColors() + return + } + const r = Object.keys(e) + r.forEach((n) => { + this[n] = e[n] + }), + this.updateColors(), + r.forEach((n) => { + this[n] = e[n] + }) + } + }), + x(Dh, "Theme"), + Dh), + Mj = x((t) => { + const e = new Ij() + return e.calculate(t), e + }, "getThemeVariables"), + Bo = { + base: { getThemeVariables: Aj }, + dark: { getThemeVariables: Lj }, + default: { getThemeVariables: k2 }, + forest: { getThemeVariables: Dj }, + neutral: { getThemeVariables: Mj }, + }, + mo = { + flowchart: { + useMaxWidth: !0, + titleTopMargin: 25, + subGraphTitleMargin: { top: 0, bottom: 0 }, + diagramPadding: 8, + htmlLabels: !0, + nodeSpacing: 50, + rankSpacing: 50, + curve: "basis", + padding: 15, + defaultRenderer: "dagre-wrapper", + wrappingWidth: 200, + }, + sequence: { + useMaxWidth: !0, + hideUnusedParticipants: !1, + activationWidth: 10, + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + height: 65, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: "center", + mirrorActors: !0, + forceMenus: !1, + bottomMarginAdj: 1, + rightAngles: !1, + showSequenceNumbers: !1, + actorFontSize: 14, + actorFontFamily: '"Open Sans", sans-serif', + actorFontWeight: 400, + noteFontSize: 14, + noteFontFamily: '"trebuchet ms", verdana, arial, sans-serif', + noteFontWeight: 400, + noteAlign: "center", + messageFontSize: 16, + messageFontFamily: '"trebuchet ms", verdana, arial, sans-serif', + messageFontWeight: 400, + wrap: !1, + wrapPadding: 10, + labelBoxWidth: 50, + labelBoxHeight: 20, + }, + gantt: { + useMaxWidth: !0, + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + rightPadding: 75, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + sectionFontSize: 11, + numberSectionStyles: 4, + axisFormat: "%Y-%m-%d", + topAxis: !1, + displayMode: "", + weekday: "sunday", + }, + journey: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: "center", + bottomMarginAdj: 1, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open Sans", sans-serif', + taskMargin: 50, + activationWidth: 10, + textPlacement: "fo", + actorColours: ["#8FBC8F", "#7CFC00", "#00FFFF", "#20B2AA", "#B0E0E6", "#FFFFE0"], + sectionFills: ["#191970", "#8B008B", "#4B0082", "#2F4F4F", "#800000", "#8B4513", "#00008B"], + sectionColours: ["#fff"], + }, + class: { + useMaxWidth: !0, + titleTopMargin: 25, + arrowMarkerAbsolute: !1, + dividerMargin: 10, + padding: 5, + textHeight: 10, + defaultRenderer: "dagre-wrapper", + htmlLabels: !1, + hideEmptyMembersBox: !1, + }, + state: { + useMaxWidth: !0, + titleTopMargin: 25, + dividerMargin: 10, + sizeUnit: 5, + padding: 8, + textHeight: 10, + titleShift: -15, + noteMargin: 10, + forkWidth: 70, + forkHeight: 7, + miniPadding: 2, + fontSizeFactor: 5.02, + fontSize: 24, + labelHeight: 16, + edgeLengthFactor: "20", + compositTitleSize: 35, + radius: 5, + defaultRenderer: "dagre-wrapper", + }, + er: { + useMaxWidth: !0, + titleTopMargin: 25, + diagramPadding: 20, + layoutDirection: "TB", + minEntityWidth: 100, + minEntityHeight: 75, + entityPadding: 15, + nodeSpacing: 140, + rankSpacing: 80, + stroke: "gray", + fill: "honeydew", + fontSize: 12, + }, + pie: { useMaxWidth: !0, textPosition: 0.75 }, + quadrantChart: { + useMaxWidth: !0, + chartWidth: 500, + chartHeight: 500, + titleFontSize: 20, + titlePadding: 10, + quadrantPadding: 5, + xAxisLabelPadding: 5, + yAxisLabelPadding: 5, + xAxisLabelFontSize: 16, + yAxisLabelFontSize: 16, + quadrantLabelFontSize: 16, + quadrantTextTopPadding: 5, + pointTextPadding: 5, + pointLabelFontSize: 12, + pointRadius: 5, + xAxisPosition: "top", + yAxisPosition: "left", + quadrantInternalBorderStrokeWidth: 1, + quadrantExternalBorderStrokeWidth: 2, + }, + xyChart: { + useMaxWidth: !0, + width: 700, + height: 500, + titleFontSize: 20, + titlePadding: 10, + showTitle: !0, + xAxis: { + $ref: "#/$defs/XYChartAxisConfig", + showLabel: !0, + labelFontSize: 14, + labelPadding: 5, + showTitle: !0, + titleFontSize: 16, + titlePadding: 5, + showTick: !0, + tickLength: 5, + tickWidth: 2, + showAxisLine: !0, + axisLineWidth: 2, + }, + yAxis: { + $ref: "#/$defs/XYChartAxisConfig", + showLabel: !0, + labelFontSize: 14, + labelPadding: 5, + showTitle: !0, + titleFontSize: 16, + titlePadding: 5, + showTick: !0, + tickLength: 5, + tickWidth: 2, + showAxisLine: !0, + axisLineWidth: 2, + }, + chartOrientation: "vertical", + plotReservedSpacePercent: 50, + }, + requirement: { + useMaxWidth: !0, + rect_fill: "#f9f9f9", + text_color: "#333", + rect_border_size: "0.5px", + rect_border_color: "#bbb", + rect_min_width: 200, + rect_min_height: 200, + fontSize: 14, + rect_padding: 10, + line_height: 20, + }, + mindmap: { useMaxWidth: !0, padding: 10, maxNodeWidth: 200 }, + kanban: { useMaxWidth: !0, padding: 8, sectionWidth: 200, ticketBaseUrl: "" }, + timeline: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + leftMargin: 150, + width: 150, + height: 50, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: "center", + bottomMarginAdj: 1, + rightAngles: !1, + taskFontSize: 14, + taskFontFamily: '"Open Sans", sans-serif', + taskMargin: 50, + activationWidth: 10, + textPlacement: "fo", + actorColours: ["#8FBC8F", "#7CFC00", "#00FFFF", "#20B2AA", "#B0E0E6", "#FFFFE0"], + sectionFills: ["#191970", "#8B008B", "#4B0082", "#2F4F4F", "#800000", "#8B4513", "#00008B"], + sectionColours: ["#fff"], + disableMulticolor: !1, + }, + gitGraph: { + useMaxWidth: !0, + titleTopMargin: 25, + diagramPadding: 8, + nodeLabel: { width: 75, height: 100, x: -25, y: 0 }, + mainBranchName: "main", + mainBranchOrder: 0, + showCommitLabel: !0, + showBranches: !0, + rotateCommitLabel: !0, + parallelCommits: !1, + arrowMarkerAbsolute: !1, + }, + c4: { + useMaxWidth: !0, + diagramMarginX: 50, + diagramMarginY: 10, + c4ShapeMargin: 50, + c4ShapePadding: 20, + width: 216, + height: 60, + boxMargin: 10, + c4ShapeInRow: 4, + nextLinePaddingX: 0, + c4BoundaryInRow: 2, + personFontSize: 14, + personFontFamily: '"Open Sans", sans-serif', + personFontWeight: "normal", + external_personFontSize: 14, + external_personFontFamily: '"Open Sans", sans-serif', + external_personFontWeight: "normal", + systemFontSize: 14, + systemFontFamily: '"Open Sans", sans-serif', + systemFontWeight: "normal", + external_systemFontSize: 14, + external_systemFontFamily: '"Open Sans", sans-serif', + external_systemFontWeight: "normal", + system_dbFontSize: 14, + system_dbFontFamily: '"Open Sans", sans-serif', + system_dbFontWeight: "normal", + external_system_dbFontSize: 14, + external_system_dbFontFamily: '"Open Sans", sans-serif', + external_system_dbFontWeight: "normal", + system_queueFontSize: 14, + system_queueFontFamily: '"Open Sans", sans-serif', + system_queueFontWeight: "normal", + external_system_queueFontSize: 14, + external_system_queueFontFamily: '"Open Sans", sans-serif', + external_system_queueFontWeight: "normal", + boundaryFontSize: 14, + boundaryFontFamily: '"Open Sans", sans-serif', + boundaryFontWeight: "normal", + messageFontSize: 12, + messageFontFamily: '"Open Sans", sans-serif', + messageFontWeight: "normal", + containerFontSize: 14, + containerFontFamily: '"Open Sans", sans-serif', + containerFontWeight: "normal", + external_containerFontSize: 14, + external_containerFontFamily: '"Open Sans", sans-serif', + external_containerFontWeight: "normal", + container_dbFontSize: 14, + container_dbFontFamily: '"Open Sans", sans-serif', + container_dbFontWeight: "normal", + external_container_dbFontSize: 14, + external_container_dbFontFamily: '"Open Sans", sans-serif', + external_container_dbFontWeight: "normal", + container_queueFontSize: 14, + container_queueFontFamily: '"Open Sans", sans-serif', + container_queueFontWeight: "normal", + external_container_queueFontSize: 14, + external_container_queueFontFamily: '"Open Sans", sans-serif', + external_container_queueFontWeight: "normal", + componentFontSize: 14, + componentFontFamily: '"Open Sans", sans-serif', + componentFontWeight: "normal", + external_componentFontSize: 14, + external_componentFontFamily: '"Open Sans", sans-serif', + external_componentFontWeight: "normal", + component_dbFontSize: 14, + component_dbFontFamily: '"Open Sans", sans-serif', + component_dbFontWeight: "normal", + external_component_dbFontSize: 14, + external_component_dbFontFamily: '"Open Sans", sans-serif', + external_component_dbFontWeight: "normal", + component_queueFontSize: 14, + component_queueFontFamily: '"Open Sans", sans-serif', + component_queueFontWeight: "normal", + external_component_queueFontSize: 14, + external_component_queueFontFamily: '"Open Sans", sans-serif', + external_component_queueFontWeight: "normal", + wrap: !0, + wrapPadding: 10, + person_bg_color: "#08427B", + person_border_color: "#073B6F", + external_person_bg_color: "#686868", + external_person_border_color: "#8A8A8A", + system_bg_color: "#1168BD", + system_border_color: "#3C7FC0", + system_db_bg_color: "#1168BD", + system_db_border_color: "#3C7FC0", + system_queue_bg_color: "#1168BD", + system_queue_border_color: "#3C7FC0", + external_system_bg_color: "#999999", + external_system_border_color: "#8A8A8A", + external_system_db_bg_color: "#999999", + external_system_db_border_color: "#8A8A8A", + external_system_queue_bg_color: "#999999", + external_system_queue_border_color: "#8A8A8A", + container_bg_color: "#438DD5", + container_border_color: "#3C7FC0", + container_db_bg_color: "#438DD5", + container_db_border_color: "#3C7FC0", + container_queue_bg_color: "#438DD5", + container_queue_border_color: "#3C7FC0", + external_container_bg_color: "#B3B3B3", + external_container_border_color: "#A6A6A6", + external_container_db_bg_color: "#B3B3B3", + external_container_db_border_color: "#A6A6A6", + external_container_queue_bg_color: "#B3B3B3", + external_container_queue_border_color: "#A6A6A6", + component_bg_color: "#85BBF0", + component_border_color: "#78A8D8", + component_db_bg_color: "#85BBF0", + component_db_border_color: "#78A8D8", + component_queue_bg_color: "#85BBF0", + component_queue_border_color: "#78A8D8", + external_component_bg_color: "#CCCCCC", + external_component_border_color: "#BFBFBF", + external_component_db_bg_color: "#CCCCCC", + external_component_db_border_color: "#BFBFBF", + external_component_queue_bg_color: "#CCCCCC", + external_component_queue_border_color: "#BFBFBF", + }, + sankey: { + useMaxWidth: !0, + width: 600, + height: 400, + linkColor: "gradient", + nodeAlignment: "justify", + showValues: !0, + prefix: "", + suffix: "", + }, + block: { useMaxWidth: !0, padding: 8 }, + packet: { + useMaxWidth: !0, + rowHeight: 32, + bitWidth: 32, + bitsPerRow: 32, + showBits: !0, + paddingX: 5, + paddingY: 5, + }, + architecture: { useMaxWidth: !0, padding: 40, iconSize: 80, fontSize: 16 }, + radar: { + useMaxWidth: !0, + width: 600, + height: 600, + marginTop: 50, + marginRight: 50, + marginBottom: 50, + marginLeft: 50, + axisScaleFactor: 1, + axisLabelFactor: 1.05, + curveTension: 0.17, + }, + theme: "default", + look: "classic", + handDrawnSeed: 0, + layout: "dagre", + maxTextSize: 5e4, + maxEdges: 500, + darkMode: !1, + fontFamily: '"trebuchet ms", verdana, arial, sans-serif;', + logLevel: 5, + securityLevel: "strict", + startOnLoad: !0, + arrowMarkerAbsolute: !1, + secure: ["secure", "securityLevel", "startOnLoad", "maxTextSize", "suppressErrorRendering", "maxEdges"], + legacyMathML: !1, + forceLegacyMathML: !1, + deterministicIds: !1, + fontSize: 16, + markdownAutoWrap: !0, + suppressErrorRendering: !1, + }, + KD = { + ...mo, + deterministicIDSeed: void 0, + elk: { mergeEdges: !1, nodePlacementStrategy: "BRANDES_KOEPF" }, + themeCSS: void 0, + themeVariables: Bo.default.getThemeVariables(), + sequence: { + ...mo.sequence, + messageFont: x(function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight, + } + }, "messageFont"), + noteFont: x(function () { + return { fontFamily: this.noteFontFamily, fontSize: this.noteFontSize, fontWeight: this.noteFontWeight } + }, "noteFont"), + actorFont: x(function () { + return { + fontFamily: this.actorFontFamily, + fontSize: this.actorFontSize, + fontWeight: this.actorFontWeight, + } + }, "actorFont"), + }, + class: { hideEmptyMembersBox: !1 }, + gantt: { ...mo.gantt, tickInterval: void 0, useWidth: void 0 }, + c4: { + ...mo.c4, + useWidth: void 0, + personFont: x(function () { + return { + fontFamily: this.personFontFamily, + fontSize: this.personFontSize, + fontWeight: this.personFontWeight, + } + }, "personFont"), + external_personFont: x(function () { + return { + fontFamily: this.external_personFontFamily, + fontSize: this.external_personFontSize, + fontWeight: this.external_personFontWeight, + } + }, "external_personFont"), + systemFont: x(function () { + return { + fontFamily: this.systemFontFamily, + fontSize: this.systemFontSize, + fontWeight: this.systemFontWeight, + } + }, "systemFont"), + external_systemFont: x(function () { + return { + fontFamily: this.external_systemFontFamily, + fontSize: this.external_systemFontSize, + fontWeight: this.external_systemFontWeight, + } + }, "external_systemFont"), + system_dbFont: x(function () { + return { + fontFamily: this.system_dbFontFamily, + fontSize: this.system_dbFontSize, + fontWeight: this.system_dbFontWeight, + } + }, "system_dbFont"), + external_system_dbFont: x(function () { + return { + fontFamily: this.external_system_dbFontFamily, + fontSize: this.external_system_dbFontSize, + fontWeight: this.external_system_dbFontWeight, + } + }, "external_system_dbFont"), + system_queueFont: x(function () { + return { + fontFamily: this.system_queueFontFamily, + fontSize: this.system_queueFontSize, + fontWeight: this.system_queueFontWeight, + } + }, "system_queueFont"), + external_system_queueFont: x(function () { + return { + fontFamily: this.external_system_queueFontFamily, + fontSize: this.external_system_queueFontSize, + fontWeight: this.external_system_queueFontWeight, + } + }, "external_system_queueFont"), + containerFont: x(function () { + return { + fontFamily: this.containerFontFamily, + fontSize: this.containerFontSize, + fontWeight: this.containerFontWeight, + } + }, "containerFont"), + external_containerFont: x(function () { + return { + fontFamily: this.external_containerFontFamily, + fontSize: this.external_containerFontSize, + fontWeight: this.external_containerFontWeight, + } + }, "external_containerFont"), + container_dbFont: x(function () { + return { + fontFamily: this.container_dbFontFamily, + fontSize: this.container_dbFontSize, + fontWeight: this.container_dbFontWeight, + } + }, "container_dbFont"), + external_container_dbFont: x(function () { + return { + fontFamily: this.external_container_dbFontFamily, + fontSize: this.external_container_dbFontSize, + fontWeight: this.external_container_dbFontWeight, + } + }, "external_container_dbFont"), + container_queueFont: x(function () { + return { + fontFamily: this.container_queueFontFamily, + fontSize: this.container_queueFontSize, + fontWeight: this.container_queueFontWeight, + } + }, "container_queueFont"), + external_container_queueFont: x(function () { + return { + fontFamily: this.external_container_queueFontFamily, + fontSize: this.external_container_queueFontSize, + fontWeight: this.external_container_queueFontWeight, + } + }, "external_container_queueFont"), + componentFont: x(function () { + return { + fontFamily: this.componentFontFamily, + fontSize: this.componentFontSize, + fontWeight: this.componentFontWeight, + } + }, "componentFont"), + external_componentFont: x(function () { + return { + fontFamily: this.external_componentFontFamily, + fontSize: this.external_componentFontSize, + fontWeight: this.external_componentFontWeight, + } + }, "external_componentFont"), + component_dbFont: x(function () { + return { + fontFamily: this.component_dbFontFamily, + fontSize: this.component_dbFontSize, + fontWeight: this.component_dbFontWeight, + } + }, "component_dbFont"), + external_component_dbFont: x(function () { + return { + fontFamily: this.external_component_dbFontFamily, + fontSize: this.external_component_dbFontSize, + fontWeight: this.external_component_dbFontWeight, + } + }, "external_component_dbFont"), + component_queueFont: x(function () { + return { + fontFamily: this.component_queueFontFamily, + fontSize: this.component_queueFontSize, + fontWeight: this.component_queueFontWeight, + } + }, "component_queueFont"), + external_component_queueFont: x(function () { + return { + fontFamily: this.external_component_queueFontFamily, + fontSize: this.external_component_queueFontSize, + fontWeight: this.external_component_queueFontWeight, + } + }, "external_component_queueFont"), + boundaryFont: x(function () { + return { + fontFamily: this.boundaryFontFamily, + fontSize: this.boundaryFontSize, + fontWeight: this.boundaryFontWeight, + } + }, "boundaryFont"), + messageFont: x(function () { + return { + fontFamily: this.messageFontFamily, + fontSize: this.messageFontSize, + fontWeight: this.messageFontWeight, + } + }, "messageFont"), + }, + pie: { ...mo.pie, useWidth: 984 }, + xyChart: { ...mo.xyChart, useWidth: void 0 }, + requirement: { ...mo.requirement, useWidth: void 0 }, + packet: { ...mo.packet }, + radar: { ...mo.radar }, + }, + ZD = x( + (t, e = "") => + Object.keys(t).reduce( + (r, n) => + Array.isArray(t[n]) + ? r + : typeof t[n] == "object" && t[n] !== null + ? [...r, e + n, ...ZD(t[n], "")] + : [...r, e + n], + [], + ), + "keyify", + ), + Oj = new Set(ZD(KD, "")), + hr = KD, + bv = x((t) => { + if ((ie.debug("sanitizeDirective called with", t), !(typeof t != "object" || t == null))) { + if (Array.isArray(t)) { + t.forEach((e) => bv(e)) + return + } + for (const e of Object.keys(t)) { + if ( + (ie.debug("Checking key", e), + e.startsWith("__") || e.includes("proto") || e.includes("constr") || !Oj.has(e) || t[e] == null) + ) { + ie.debug("sanitize deleting key: ", e), delete t[e] + continue + } + if (typeof t[e] == "object") { + ie.debug("sanitizing object", e), bv(t[e]) + continue + } + const r = ["themeCSS", "fontFamily", "altFontFamily"] + for (const n of r) e.includes(n) && (ie.debug("sanitizing css option", e), (t[e] = Pj(t[e]))) + } + if (t.themeVariables) + for (const e of Object.keys(t.themeVariables)) { + const r = t.themeVariables[e] + r != null && r.match && !r.match(/^[\d "#%(),.;A-Za-z]+$/) && (t.themeVariables[e] = "") + } + ie.debug("After sanitization", t) + } + }, "sanitizeDirective"), + Pj = x((t) => { + let e = 0, + r = 0 + for (const n of t) { + if (e < r) return "{ /* ERROR: Unbalanced CSS */ }" + n === "{" ? e++ : n === "}" && r++ + } + return e !== r ? "{ /* ERROR: Unbalanced CSS */ }" : t + }, "sanitizeCss"), + wd = Object.freeze(hr), + Qi = Mn({}, wd), + QD, + Td = [], + tp = Mn({}, wd), + S2 = x((t, e) => { + let r = Mn({}, t), + n = {} + for (const i of e) tI(i), (n = Mn(n, i)) + if (((r = Mn(r, n)), n.theme && n.theme in Bo)) { + const i = Mn({}, QD), + a = Mn(i.themeVariables || {}, n.themeVariables) + r.theme && r.theme in Bo && (r.themeVariables = Bo[r.theme].getThemeVariables(a)) + } + return (tp = r), rI(tp), tp + }, "updateCurrentConfig"), + Bj = x( + (t) => ( + (Qi = Mn({}, wd)), + (Qi = Mn(Qi, t)), + t.theme && Bo[t.theme] && (Qi.themeVariables = Bo[t.theme].getThemeVariables(t.themeVariables)), + S2(Qi, Td), + Qi + ), + "setSiteConfig", + ), + Fj = x((t) => { + QD = Mn({}, t) + }, "saveConfigFromInitialize"), + $j = x((t) => ((Qi = Mn(Qi, t)), S2(Qi, Td), Qi), "updateSiteConfig"), + JD = x(() => Mn({}, Qi), "getSiteConfig"), + eI = x((t) => (rI(t), Mn(tp, t), Dr()), "setConfig"), + Dr = x(() => Mn({}, tp), "getConfig"), + tI = x((t) => { + t && + (["secure", ...(Qi.secure ?? [])].forEach((e) => { + Object.hasOwn(t, e) && (ie.debug(`Denied attempt to modify a secure key ${e}`, t[e]), delete t[e]) + }), + Object.keys(t).forEach((e) => { + e.startsWith("__") && delete t[e] + }), + Object.keys(t).forEach((e) => { + typeof t[e] == "string" && + (t[e].includes("<") || t[e].includes(">") || t[e].includes("url(data:")) && + delete t[e], + typeof t[e] == "object" && tI(t[e]) + })) + }, "sanitize"), + zj = x((t) => { + var e + bv(t), + t.fontFamily && + !((e = t.themeVariables) != null && e.fontFamily) && + (t.themeVariables = { ...t.themeVariables, fontFamily: t.fontFamily }), + Td.push(t), + S2(Qi, Td) + }, "addDirective"), + wv = x((t = Qi) => { + ;(Td = []), S2(t, Td) + }, "reset"), + Vj = { + LAZY_LOAD_DEPRECATED: + "The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.", + }, + $7 = {}, + Gj = x((t) => { + $7[t] || (ie.warn(Vj[t]), ($7[t] = !0)) + }, "issueWarning"), + rI = x((t) => { + t && (t.lazyLoadedDiagrams || t.loadExternalDiagramsAtStartup) && Gj("LAZY_LOAD_DEPRECATED") + }, "checkConfig"), + tf = /<br\s*\/?>/gi, + Uj = x((t) => (t ? aI(t).replace(/\\n/g, "#br#").split("#br#") : [""]), "getRows"), + qj = (() => { + let t = !1 + return () => { + t || (nI(), (t = !0)) + } + })() +function nI() { + const t = "data-temp-href-target" + xd.addHook("beforeSanitizeAttributes", (e) => { + e instanceof Element && + e.tagName === "A" && + e.hasAttribute("target") && + e.setAttribute(t, e.getAttribute("target") ?? "") + }), + xd.addHook("afterSanitizeAttributes", (e) => { + e instanceof Element && + e.tagName === "A" && + e.hasAttribute(t) && + (e.setAttribute("target", e.getAttribute(t) ?? ""), + e.removeAttribute(t), + e.getAttribute("target") === "_blank" && e.setAttribute("rel", "noopener")) + }) +} +x(nI, "setupDompurifyHooks") +var iI = x((t) => (qj(), xd.sanitize(t)), "removeScript"), + z7 = x((t, e) => { + var r + if (((r = e.flowchart) == null ? void 0 : r.htmlLabels) !== !1) { + const n = e.securityLevel + n === "antiscript" || n === "strict" + ? (t = iI(t)) + : n !== "loose" && + ((t = aI(t)), + (t = t.replace(/</g, "<").replace(/>/g, ">")), + (t = t.replace(/=/g, "=")), + (t = Xj(t))) + } + return t + }, "sanitizeMore"), + Pr = x( + (t, e) => + t && + (e.dompurifyConfig + ? (t = xd.sanitize(z7(t, e), e.dompurifyConfig).toString()) + : (t = xd.sanitize(z7(t, e), { FORBID_TAGS: ["style"] }).toString()), + t), + "sanitizeText", + ), + Wj = x((t, e) => (typeof t == "string" ? Pr(t, e) : t.flat().map((r) => Pr(r, e))), "sanitizeTextOrArray"), + Hj = x((t) => tf.test(t), "hasBreaks"), + Yj = x((t) => t.split(tf), "splitBreaks"), + Xj = x((t) => t.replace(/#br#/g, "<br/>"), "placeholderToBreak"), + aI = x((t) => t.replace(tf, "#br#"), "breakToPlaceholder"), + jj = x((t) => { + let e = "" + return ( + t && + ((e = + window.location.protocol + + "//" + + window.location.host + + window.location.pathname + + window.location.search), + (e = e.replaceAll(/\(/g, "\\(")), + (e = e.replaceAll(/\)/g, "\\)"))), + e + ) + }, "getUrl"), + Nr = x((t) => !(t === !1 || ["false", "null", "0"].includes(String(t).trim().toLowerCase())), "evaluate"), + Kj = x(function (...t) { + const e = t.filter((r) => !isNaN(r)) + return Math.max(...e) + }, "getMax"), + Zj = x(function (...t) { + const e = t.filter((r) => !isNaN(r)) + return Math.min(...e) + }, "getMin"), + dl = x(function (t) { + const e = t.split(/(,)/), + r = [] + for (let n = 0; n < e.length; n++) { + let i = e[n] + if (i === "," && n > 0 && n + 1 < e.length) { + const a = e[n - 1], + s = e[n + 1] + Qj(a, s) && ((i = a + "," + s), n++, r.pop()) + } + r.push(Jj(i)) + } + return r.join("") + }, "parseGenericTypes"), + y3 = x((t, e) => Math.max(0, t.split(e).length - 1), "countOccurrence"), + Qj = x((t, e) => { + const r = y3(t, "~"), + n = y3(e, "~") + return r === 1 && n === 1 + }, "shouldCombineSets"), + Jj = x((t) => { + const e = y3(t, "~") + let r = !1 + if (e <= 1) return t + e % 2 !== 0 && t.startsWith("~") && ((t = t.substring(1)), (r = !0)) + const n = [...t] + let i = n.indexOf("~"), + a = n.lastIndexOf("~") + for (; i !== -1 && a !== -1 && i !== a; ) + (n[i] = "<"), (n[a] = ">"), (i = n.indexOf("~")), (a = n.lastIndexOf("~")) + return r && n.unshift("~"), n.join("") + }, "processSet"), + V7 = x(() => window.MathMLElement !== void 0, "isMathMLSupported"), + x3 = /\$\$(.*)\$\$/g, + Si = x((t) => { + var e + return (((e = t.match(x3)) == null ? void 0 : e.length) ?? 0) > 0 + }, "hasKatex"), + og = x(async (t, e) => { + t = await lg(t, e) + const r = document.createElement("div") + ;(r.innerHTML = t), + (r.id = "katex-temp"), + (r.style.visibility = "hidden"), + (r.style.position = "absolute"), + (r.style.top = "0") + const n = document.querySelector("body") + n == null || n.insertAdjacentElement("beforeend", r) + const i = { width: r.clientWidth, height: r.clientHeight } + return r.remove(), i + }, "calculateMathMLDimensions"), + lg = x(async (t, e) => { + if (!Si(t)) return t + if (!(V7() || e.legacyMathML || e.forceLegacyMathML)) + return t.replace(x3, "MathML is unsupported in this environment.") + const { default: r } = await dr( + async () => { + const { default: i } = await Promise.resolve().then(() => HX) + return { default: i } + }, + void 0, + ), + n = e.forceLegacyMathML || (!V7() && e.legacyMathML) ? "htmlAndMathml" : "mathml" + return t + .split(tf) + .map((i) => + Si(i) + ? `<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${i}</div>` + : `<div>${i}</div>`, + ) + .join("") + .replace(x3, (i, a) => + r + .renderToString(a, { throwOnError: !0, displayMode: !0, output: n }) + .replace(/\n/g, " ") + .replace(/<annotation.*<\/annotation>/g, ""), + ) + }, "renderKatex"), + it = { + getRows: Uj, + sanitizeText: Pr, + sanitizeTextOrArray: Wj, + hasBreaks: Hj, + splitBreaks: Yj, + lineBreakRegex: tf, + removeScript: iI, + getUrl: jj, + evaluate: Nr, + getMax: Kj, + getMin: Zj, + }, + eK = x(function (t, e) { + for (let r of e) t.attr(r[0], r[1]) + }, "d3Attrs"), + tK = x(function (t, e, r) { + let n = new Map() + return ( + r + ? (n.set("width", "100%"), n.set("style", `max-width: ${e}px;`)) + : (n.set("height", t), n.set("width", e)), + n + ) + }, "calculateSvgSizeAttrs"), + da = x(function (t, e, r, n) { + const i = tK(e, r, n) + eK(t, i) + }, "configureSvgSize"), + rf = x(function (t, e, r, n) { + const i = e.node().getBBox(), + a = i.width, + s = i.height + ie.info(`SVG bounds: ${a}x${s}`, i) + let o = 0, + l = 0 + ie.info(`Graph bounds: ${o}x${l}`, t), + (o = a + r * 2), + (l = s + r * 2), + ie.info(`Calculated bounds: ${o}x${l}`), + da(e, l, o, n) + const u = `${i.x - r} ${i.y - r} ${i.width + 2 * r} ${i.height + 2 * r}` + e.attr("viewBox", u) + }, "setupGraphViewbox"), + dm = {}, + rK = x((t, e, r) => { + let n = "" + return ( + t in dm && dm[t] ? (n = dm[t](r)) : ie.warn(`No theme found for ${t}`), + ` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + @keyframes edge-animation-frame { + from { + stroke-dashoffset: 0; + } + } + @keyframes dash { + to { + stroke-dashoffset: 0; + } + } + & .edge-animation-slow { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 50s linear infinite; + stroke-linecap: round; + } + & .edge-animation-fast { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 20s linear infinite; + stroke-linecap: round; + } + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${n} + + ${e} +` + ) + }, "getStyles"), + nK = x((t, e) => { + e !== void 0 && (dm[t] = e) + }, "addStylesForDiagram"), + iK = rK, + NT = {} +w2(NT, { + clear: () => Gn, + getAccDescription: () => Jn, + getAccTitle: () => Zn, + getDiagramTitle: () => Un, + setAccDescription: () => Qn, + setAccTitle: () => $n, + setDiagramTitle: () => fi, +}) +var DT = "", + IT = "", + MT = "", + OT = x((t) => Pr(t, Dr()), "sanitizeText"), + Gn = x(() => { + ;(DT = ""), (MT = ""), (IT = "") + }, "clear"), + $n = x((t) => { + DT = OT(t).replace(/^\s+/g, "") + }, "setAccTitle"), + Zn = x(() => DT, "getAccTitle"), + Qn = x((t) => { + MT = OT(t).replace( + /\n\s+/g, + ` +`, + ) + }, "setAccDescription"), + Jn = x(() => MT, "getAccDescription"), + fi = x((t) => { + IT = OT(t) + }, "setDiagramTitle"), + Un = x(() => IT, "getDiagramTitle"), + G7 = ie, + aK = LT, + we = Dr, + b3 = eI, + sI = wd, + PT = x((t) => Pr(t, we()), "sanitizeText"), + oI = rf, + sK = x(() => NT, "getCommonDb"), + Tv = {}, + Ev = x((t, e, r) => { + var n + Tv[t] && G7.warn(`Diagram with id ${t} already registered. Overwriting.`), + (Tv[t] = e), + r && jD(t, r), + nK(t, e.styles), + (n = e.injectUtils) == null || n.call(e, G7, aK, we, PT, oI, sK(), () => {}) + }, "registerDiagram"), + w3 = x((t) => { + if (t in Tv) return Tv[t] + throw new oK(t) + }, "getDiagram"), + Ih, + oK = + ((Ih = class extends Error { + constructor(e) { + super(`Diagram ${e} not found.`) + } + }), + x(Ih, "DiagramNotFoundError"), + Ih) +function BT(t) { + return typeof t > "u" || t === null +} +x(BT, "isNothing") +function lI(t) { + return typeof t == "object" && t !== null +} +x(lI, "isObject") +function cI(t) { + return Array.isArray(t) ? t : BT(t) ? [] : [t] +} +x(cI, "toArray") +function uI(t, e) { + var r, n, i, a + if (e) for (a = Object.keys(e), r = 0, n = a.length; r < n; r += 1) (i = a[r]), (t[i] = e[i]) + return t +} +x(uI, "extend") +function hI(t, e) { + var r = "", + n + for (n = 0; n < e; n += 1) r += t + return r +} +x(hI, "repeat") +function dI(t) { + return t === 0 && Number.NEGATIVE_INFINITY === 1 / t +} +x(dI, "isNegativeZero") +var lK = BT, + cK = lI, + uK = cI, + hK = hI, + dK = dI, + fK = uI, + On = { isNothing: lK, isObject: cK, toArray: uK, repeat: hK, isNegativeZero: dK, extend: fK } +function FT(t, e) { + var r = "", + n = t.reason || "(unknown reason)" + return t.mark + ? (t.mark.name && (r += 'in "' + t.mark.name + '" '), + (r += "(" + (t.mark.line + 1) + ":" + (t.mark.column + 1) + ")"), + !e && + t.mark.snippet && + (r += + ` + +` + t.mark.snippet), + n + " " + r) + : n +} +x(FT, "formatError") +function Ed(t, e) { + Error.call(this), + (this.name = "YAMLException"), + (this.reason = t), + (this.mark = e), + (this.message = FT(this, !1)), + Error.captureStackTrace + ? Error.captureStackTrace(this, this.constructor) + : (this.stack = new Error().stack || "") +} +x(Ed, "YAMLException$1") +Ed.prototype = Object.create(Error.prototype) +Ed.prototype.constructor = Ed +Ed.prototype.toString = x(function (e) { + return this.name + ": " + FT(this, e) +}, "toString") +var ta = Ed +function fm(t, e, r, n, i) { + var a = "", + s = "", + o = Math.floor(i / 2) - 1 + return ( + n - e > o && ((a = " ... "), (e = n - o + a.length)), + r - n > o && ((s = " ..."), (r = n + o - s.length)), + { str: a + t.slice(e, r).replace(/\t/g, "→") + s, pos: n - e + a.length } + ) +} +x(fm, "getLine") +function pm(t, e) { + return On.repeat(" ", e - t.length) + t +} +x(pm, "padStart") +function fI(t, e) { + if (((e = Object.create(e || null)), !t.buffer)) return null + e.maxLength || (e.maxLength = 79), + typeof e.indent != "number" && (e.indent = 1), + typeof e.linesBefore != "number" && (e.linesBefore = 3), + typeof e.linesAfter != "number" && (e.linesAfter = 2) + for (var r = /\r?\n|\r|\0/g, n = [0], i = [], a, s = -1; (a = r.exec(t.buffer)); ) + i.push(a.index), n.push(a.index + a[0].length), t.position <= a.index && s < 0 && (s = n.length - 2) + s < 0 && (s = n.length - 1) + var o = "", + l, + u, + h = Math.min(t.line + e.linesAfter, i.length).toString().length, + d = e.maxLength - (e.indent + h + 3) + for (l = 1; l <= e.linesBefore && !(s - l < 0); l++) + (u = fm(t.buffer, n[s - l], i[s - l], t.position - (n[s] - n[s - l]), d)), + (o = + On.repeat(" ", e.indent) + + pm((t.line - l + 1).toString(), h) + + " | " + + u.str + + ` +` + + o) + for ( + u = fm(t.buffer, n[s], i[s], t.position, d), + o += + On.repeat(" ", e.indent) + + pm((t.line + 1).toString(), h) + + " | " + + u.str + + ` +`, + o += + On.repeat("-", e.indent + h + 3 + u.pos) + + `^ +`, + l = 1; + l <= e.linesAfter && !(s + l >= i.length); + l++ + ) + (u = fm(t.buffer, n[s + l], i[s + l], t.position - (n[s] - n[s + l]), d)), + (o += + On.repeat(" ", e.indent) + + pm((t.line + l + 1).toString(), h) + + " | " + + u.str + + ` +`) + return o.replace(/\n$/, "") +} +x(fI, "makeSnippet") +var pK = fI, + gK = [ + "kind", + "multi", + "resolve", + "construct", + "instanceOf", + "predicate", + "represent", + "representName", + "defaultStyle", + "styleAliases", + ], + mK = ["scalar", "sequence", "mapping"] +function pI(t) { + var e = {} + return ( + t !== null && + Object.keys(t).forEach(function (r) { + t[r].forEach(function (n) { + e[String(n)] = r + }) + }), + e + ) +} +x(pI, "compileStyleAliases") +function gI(t, e) { + if ( + ((e = e || {}), + Object.keys(e).forEach(function (r) { + if (gK.indexOf(r) === -1) + throw new ta('Unknown option "' + r + '" is met in definition of "' + t + '" YAML type.') + }), + (this.options = e), + (this.tag = t), + (this.kind = e.kind || null), + (this.resolve = + e.resolve || + function () { + return !0 + }), + (this.construct = + e.construct || + function (r) { + return r + }), + (this.instanceOf = e.instanceOf || null), + (this.predicate = e.predicate || null), + (this.represent = e.represent || null), + (this.representName = e.representName || null), + (this.defaultStyle = e.defaultStyle || null), + (this.multi = e.multi || !1), + (this.styleAliases = pI(e.styleAliases || null)), + mK.indexOf(this.kind) === -1) + ) + throw new ta('Unknown kind "' + this.kind + '" is specified for "' + t + '" YAML type.') +} +x(gI, "Type$1") +var ki = gI +function T3(t, e) { + var r = [] + return ( + t[e].forEach(function (n) { + var i = r.length + r.forEach(function (a, s) { + a.tag === n.tag && a.kind === n.kind && a.multi === n.multi && (i = s) + }), + (r[i] = n) + }), + r + ) +} +x(T3, "compileList") +function mI() { + var t = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { scalar: [], sequence: [], mapping: [], fallback: [] }, + }, + e, + r + function n(i) { + i.multi ? (t.multi[i.kind].push(i), t.multi.fallback.push(i)) : (t[i.kind][i.tag] = t.fallback[i.tag] = i) + } + for (x(n, "collectType"), e = 0, r = arguments.length; e < r; e += 1) arguments[e].forEach(n) + return t +} +x(mI, "compileMap") +function kv(t) { + return this.extend(t) +} +x(kv, "Schema$1") +kv.prototype.extend = x(function (e) { + var r = [], + n = [] + if (e instanceof ki) n.push(e) + else if (Array.isArray(e)) n = n.concat(e) + else if (e && (Array.isArray(e.implicit) || Array.isArray(e.explicit))) + e.implicit && (r = r.concat(e.implicit)), e.explicit && (n = n.concat(e.explicit)) + else + throw new ta( + "Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })", + ) + r.forEach(function (a) { + if (!(a instanceof ki)) + throw new ta("Specified list of YAML types (or a single Type object) contains a non-Type object.") + if (a.loadKind && a.loadKind !== "scalar") + throw new ta( + "There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.", + ) + if (a.multi) + throw new ta( + "There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.", + ) + }), + n.forEach(function (a) { + if (!(a instanceof ki)) + throw new ta("Specified list of YAML types (or a single Type object) contains a non-Type object.") + }) + var i = Object.create(kv.prototype) + return ( + (i.implicit = (this.implicit || []).concat(r)), + (i.explicit = (this.explicit || []).concat(n)), + (i.compiledImplicit = T3(i, "implicit")), + (i.compiledExplicit = T3(i, "explicit")), + (i.compiledTypeMap = mI(i.compiledImplicit, i.compiledExplicit)), + i + ) +}, "extend") +var vK = kv, + yK = new ki("tag:yaml.org,2002:str", { + kind: "scalar", + construct: x(function (t) { + return t !== null ? t : "" + }, "construct"), + }), + xK = new ki("tag:yaml.org,2002:seq", { + kind: "sequence", + construct: x(function (t) { + return t !== null ? t : [] + }, "construct"), + }), + bK = new ki("tag:yaml.org,2002:map", { + kind: "mapping", + construct: x(function (t) { + return t !== null ? t : {} + }, "construct"), + }), + wK = new vK({ explicit: [yK, xK, bK] }) +function vI(t) { + if (t === null) return !0 + var e = t.length + return (e === 1 && t === "~") || (e === 4 && (t === "null" || t === "Null" || t === "NULL")) +} +x(vI, "resolveYamlNull") +function yI() { + return null +} +x(yI, "constructYamlNull") +function xI(t) { + return t === null +} +x(xI, "isNull") +var TK = new ki("tag:yaml.org,2002:null", { + kind: "scalar", + resolve: vI, + construct: yI, + predicate: xI, + represent: { + canonical: x(function () { + return "~" + }, "canonical"), + lowercase: x(function () { + return "null" + }, "lowercase"), + uppercase: x(function () { + return "NULL" + }, "uppercase"), + camelcase: x(function () { + return "Null" + }, "camelcase"), + empty: x(function () { + return "" + }, "empty"), + }, + defaultStyle: "lowercase", +}) +function bI(t) { + if (t === null) return !1 + var e = t.length + return ( + (e === 4 && (t === "true" || t === "True" || t === "TRUE")) || + (e === 5 && (t === "false" || t === "False" || t === "FALSE")) + ) +} +x(bI, "resolveYamlBoolean") +function wI(t) { + return t === "true" || t === "True" || t === "TRUE" +} +x(wI, "constructYamlBoolean") +function TI(t) { + return Object.prototype.toString.call(t) === "[object Boolean]" +} +x(TI, "isBoolean") +var EK = new ki("tag:yaml.org,2002:bool", { + kind: "scalar", + resolve: bI, + construct: wI, + predicate: TI, + represent: { + lowercase: x(function (t) { + return t ? "true" : "false" + }, "lowercase"), + uppercase: x(function (t) { + return t ? "TRUE" : "FALSE" + }, "uppercase"), + camelcase: x(function (t) { + return t ? "True" : "False" + }, "camelcase"), + }, + defaultStyle: "lowercase", +}) +function EI(t) { + return (48 <= t && t <= 57) || (65 <= t && t <= 70) || (97 <= t && t <= 102) +} +x(EI, "isHexCode") +function kI(t) { + return 48 <= t && t <= 55 +} +x(kI, "isOctCode") +function SI(t) { + return 48 <= t && t <= 57 +} +x(SI, "isDecCode") +function CI(t) { + if (t === null) return !1 + var e = t.length, + r = 0, + n = !1, + i + if (!e) return !1 + if (((i = t[r]), (i === "-" || i === "+") && (i = t[++r]), i === "0")) { + if (r + 1 === e) return !0 + if (((i = t[++r]), i === "b")) { + for (r++; r < e; r++) + if (((i = t[r]), i !== "_")) { + if (i !== "0" && i !== "1") return !1 + n = !0 + } + return n && i !== "_" + } + if (i === "x") { + for (r++; r < e; r++) + if (((i = t[r]), i !== "_")) { + if (!EI(t.charCodeAt(r))) return !1 + n = !0 + } + return n && i !== "_" + } + if (i === "o") { + for (r++; r < e; r++) + if (((i = t[r]), i !== "_")) { + if (!kI(t.charCodeAt(r))) return !1 + n = !0 + } + return n && i !== "_" + } + } + if (i === "_") return !1 + for (; r < e; r++) + if (((i = t[r]), i !== "_")) { + if (!SI(t.charCodeAt(r))) return !1 + n = !0 + } + return !(!n || i === "_") +} +x(CI, "resolveYamlInteger") +function AI(t) { + var e = t, + r = 1, + n + if ( + (e.indexOf("_") !== -1 && (e = e.replace(/_/g, "")), + (n = e[0]), + (n === "-" || n === "+") && (n === "-" && (r = -1), (e = e.slice(1)), (n = e[0])), + e === "0") + ) + return 0 + if (n === "0") { + if (e[1] === "b") return r * parseInt(e.slice(2), 2) + if (e[1] === "x") return r * parseInt(e.slice(2), 16) + if (e[1] === "o") return r * parseInt(e.slice(2), 8) + } + return r * parseInt(e, 10) +} +x(AI, "constructYamlInteger") +function _I(t) { + return Object.prototype.toString.call(t) === "[object Number]" && t % 1 === 0 && !On.isNegativeZero(t) +} +x(_I, "isInteger") +var kK = new ki("tag:yaml.org,2002:int", { + kind: "scalar", + resolve: CI, + construct: AI, + predicate: _I, + represent: { + binary: x(function (t) { + return t >= 0 ? "0b" + t.toString(2) : "-0b" + t.toString(2).slice(1) + }, "binary"), + octal: x(function (t) { + return t >= 0 ? "0o" + t.toString(8) : "-0o" + t.toString(8).slice(1) + }, "octal"), + decimal: x(function (t) { + return t.toString(10) + }, "decimal"), + hexadecimal: x(function (t) { + return t >= 0 ? "0x" + t.toString(16).toUpperCase() : "-0x" + t.toString(16).toUpperCase().slice(1) + }, "hexadecimal"), + }, + defaultStyle: "decimal", + styleAliases: { binary: [2, "bin"], octal: [8, "oct"], decimal: [10, "dec"], hexadecimal: [16, "hex"] }, + }), + SK = new RegExp( + "^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$", + ) +function LI(t) { + return !(t === null || !SK.test(t) || t[t.length - 1] === "_") +} +x(LI, "resolveYamlFloat") +function RI(t) { + var e, r + return ( + (e = t.replace(/_/g, "").toLowerCase()), + (r = e[0] === "-" ? -1 : 1), + "+-".indexOf(e[0]) >= 0 && (e = e.slice(1)), + e === ".inf" + ? r === 1 + ? Number.POSITIVE_INFINITY + : Number.NEGATIVE_INFINITY + : e === ".nan" + ? NaN + : r * parseFloat(e, 10) + ) +} +x(RI, "constructYamlFloat") +var CK = /^[-+]?[0-9]+e/ +function NI(t, e) { + var r + if (isNaN(t)) + switch (e) { + case "lowercase": + return ".nan" + case "uppercase": + return ".NAN" + case "camelcase": + return ".NaN" + } + else if (Number.POSITIVE_INFINITY === t) + switch (e) { + case "lowercase": + return ".inf" + case "uppercase": + return ".INF" + case "camelcase": + return ".Inf" + } + else if (Number.NEGATIVE_INFINITY === t) + switch (e) { + case "lowercase": + return "-.inf" + case "uppercase": + return "-.INF" + case "camelcase": + return "-.Inf" + } + else if (On.isNegativeZero(t)) return "-0.0" + return (r = t.toString(10)), CK.test(r) ? r.replace("e", ".e") : r +} +x(NI, "representYamlFloat") +function DI(t) { + return Object.prototype.toString.call(t) === "[object Number]" && (t % 1 !== 0 || On.isNegativeZero(t)) +} +x(DI, "isFloat") +var AK = new ki("tag:yaml.org,2002:float", { + kind: "scalar", + resolve: LI, + construct: RI, + predicate: DI, + represent: NI, + defaultStyle: "lowercase", + }), + II = wK.extend({ implicit: [TK, EK, kK, AK] }), + _K = II, + MI = new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"), + OI = new RegExp( + "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$", + ) +function PI(t) { + return t === null ? !1 : MI.exec(t) !== null || OI.exec(t) !== null +} +x(PI, "resolveYamlTimestamp") +function BI(t) { + var e, + r, + n, + i, + a, + s, + o, + l = 0, + u = null, + h, + d, + f + if (((e = MI.exec(t)), e === null && (e = OI.exec(t)), e === null)) throw new Error("Date resolve error") + if (((r = +e[1]), (n = +e[2] - 1), (i = +e[3]), !e[4])) return new Date(Date.UTC(r, n, i)) + if (((a = +e[4]), (s = +e[5]), (o = +e[6]), e[7])) { + for (l = e[7].slice(0, 3); l.length < 3; ) l += "0" + l = +l + } + return ( + e[9] && ((h = +e[10]), (d = +(e[11] || 0)), (u = (h * 60 + d) * 6e4), e[9] === "-" && (u = -u)), + (f = new Date(Date.UTC(r, n, i, a, s, o, l))), + u && f.setTime(f.getTime() - u), + f + ) +} +x(BI, "constructYamlTimestamp") +function FI(t) { + return t.toISOString() +} +x(FI, "representYamlTimestamp") +var LK = new ki("tag:yaml.org,2002:timestamp", { + kind: "scalar", + resolve: PI, + construct: BI, + instanceOf: Date, + represent: FI, +}) +function $I(t) { + return t === "<<" || t === null +} +x($I, "resolveYamlMerge") +var RK = new ki("tag:yaml.org,2002:merge", { kind: "scalar", resolve: $I }), + $T = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r` +function zI(t) { + if (t === null) return !1 + var e, + r, + n = 0, + i = t.length, + a = $T + for (r = 0; r < i; r++) + if (((e = a.indexOf(t.charAt(r))), !(e > 64))) { + if (e < 0) return !1 + n += 6 + } + return n % 8 === 0 +} +x(zI, "resolveYamlBinary") +function VI(t) { + var e, + r, + n = t.replace(/[\r\n=]/g, ""), + i = n.length, + a = $T, + s = 0, + o = [] + for (e = 0; e < i; e++) + e % 4 === 0 && e && (o.push((s >> 16) & 255), o.push((s >> 8) & 255), o.push(s & 255)), + (s = (s << 6) | a.indexOf(n.charAt(e))) + return ( + (r = (i % 4) * 6), + r === 0 + ? (o.push((s >> 16) & 255), o.push((s >> 8) & 255), o.push(s & 255)) + : r === 18 + ? (o.push((s >> 10) & 255), o.push((s >> 2) & 255)) + : r === 12 && o.push((s >> 4) & 255), + new Uint8Array(o) + ) +} +x(VI, "constructYamlBinary") +function GI(t) { + var e = "", + r = 0, + n, + i, + a = t.length, + s = $T + for (n = 0; n < a; n++) + n % 3 === 0 && + n && + ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])), + (r = (r << 8) + t[n]) + return ( + (i = a % 3), + i === 0 + ? ((e += s[(r >> 18) & 63]), (e += s[(r >> 12) & 63]), (e += s[(r >> 6) & 63]), (e += s[r & 63])) + : i === 2 + ? ((e += s[(r >> 10) & 63]), (e += s[(r >> 4) & 63]), (e += s[(r << 2) & 63]), (e += s[64])) + : i === 1 && ((e += s[(r >> 2) & 63]), (e += s[(r << 4) & 63]), (e += s[64]), (e += s[64])), + e + ) +} +x(GI, "representYamlBinary") +function UI(t) { + return Object.prototype.toString.call(t) === "[object Uint8Array]" +} +x(UI, "isBinary") +var NK = new ki("tag:yaml.org,2002:binary", { + kind: "scalar", + resolve: zI, + construct: VI, + predicate: UI, + represent: GI, + }), + DK = Object.prototype.hasOwnProperty, + IK = Object.prototype.toString +function qI(t) { + if (t === null) return !0 + var e = [], + r, + n, + i, + a, + s, + o = t + for (r = 0, n = o.length; r < n; r += 1) { + if (((i = o[r]), (s = !1), IK.call(i) !== "[object Object]")) return !1 + for (a in i) + if (DK.call(i, a)) + if (!s) s = !0 + else return !1 + if (!s) return !1 + if (e.indexOf(a) === -1) e.push(a) + else return !1 + } + return !0 +} +x(qI, "resolveYamlOmap") +function WI(t) { + return t !== null ? t : [] +} +x(WI, "constructYamlOmap") +var MK = new ki("tag:yaml.org,2002:omap", { kind: "sequence", resolve: qI, construct: WI }), + OK = Object.prototype.toString +function HI(t) { + if (t === null) return !0 + var e, + r, + n, + i, + a, + s = t + for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) { + if (((n = s[e]), OK.call(n) !== "[object Object]" || ((i = Object.keys(n)), i.length !== 1))) return !1 + a[e] = [i[0], n[i[0]]] + } + return !0 +} +x(HI, "resolveYamlPairs") +function YI(t) { + if (t === null) return [] + var e, + r, + n, + i, + a, + s = t + for (a = new Array(s.length), e = 0, r = s.length; e < r; e += 1) + (n = s[e]), (i = Object.keys(n)), (a[e] = [i[0], n[i[0]]]) + return a +} +x(YI, "constructYamlPairs") +var PK = new ki("tag:yaml.org,2002:pairs", { kind: "sequence", resolve: HI, construct: YI }), + BK = Object.prototype.hasOwnProperty +function XI(t) { + if (t === null) return !0 + var e, + r = t + for (e in r) if (BK.call(r, e) && r[e] !== null) return !1 + return !0 +} +x(XI, "resolveYamlSet") +function jI(t) { + return t !== null ? t : {} +} +x(jI, "constructYamlSet") +var FK = new ki("tag:yaml.org,2002:set", { kind: "mapping", resolve: XI, construct: jI }), + KI = _K.extend({ implicit: [LK, RK], explicit: [NK, MK, PK, FK] }), + Rl = Object.prototype.hasOwnProperty, + Sv = 1, + ZI = 2, + QI = 3, + Cv = 4, + xb = 1, + $K = 2, + U7 = 3, + zK = + /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, + VK = /[\x85\u2028\u2029]/, + GK = /[,\[\]\{\}]/, + JI = /^(?:!|!!|![a-z\-]+!)$/i, + eM = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i +function E3(t) { + return Object.prototype.toString.call(t) +} +x(E3, "_class") +function ps(t) { + return t === 10 || t === 13 +} +x(ps, "is_EOL") +function El(t) { + return t === 9 || t === 32 +} +x(El, "is_WHITE_SPACE") +function Bi(t) { + return t === 9 || t === 32 || t === 10 || t === 13 +} +x(Bi, "is_WS_OR_EOL") +function Rc(t) { + return t === 44 || t === 91 || t === 93 || t === 123 || t === 125 +} +x(Rc, "is_FLOW_INDICATOR") +function tM(t) { + var e + return 48 <= t && t <= 57 ? t - 48 : ((e = t | 32), 97 <= e && e <= 102 ? e - 97 + 10 : -1) +} +x(tM, "fromHexCode") +function rM(t) { + return t === 120 ? 2 : t === 117 ? 4 : t === 85 ? 8 : 0 +} +x(rM, "escapedHexLen") +function nM(t) { + return 48 <= t && t <= 57 ? t - 48 : -1 +} +x(nM, "fromDecimalCode") +function k3(t) { + return t === 48 + ? "\0" + : t === 97 + ? "\x07" + : t === 98 + ? "\b" + : t === 116 || t === 9 + ? " " + : t === 110 + ? ` +` + : t === 118 + ? "\v" + : t === 102 + ? "\f" + : t === 114 + ? "\r" + : t === 101 + ? "\x1B" + : t === 32 + ? " " + : t === 34 + ? '"' + : t === 47 + ? "/" + : t === 92 + ? "\\" + : t === 78 + ? "…" + : t === 95 + ? " " + : t === 76 + ? "\u2028" + : t === 80 + ? "\u2029" + : "" +} +x(k3, "simpleEscapeSequence") +function iM(t) { + return t <= 65535 + ? String.fromCharCode(t) + : String.fromCharCode(((t - 65536) >> 10) + 55296, ((t - 65536) & 1023) + 56320) +} +x(iM, "charFromCodepoint") +var aM = new Array(256), + sM = new Array(256) +for (lc = 0; lc < 256; lc++) (aM[lc] = k3(lc) ? 1 : 0), (sM[lc] = k3(lc)) +var lc +function oM(t, e) { + ;(this.input = t), + (this.filename = e.filename || null), + (this.schema = e.schema || KI), + (this.onWarning = e.onWarning || null), + (this.legacy = e.legacy || !1), + (this.json = e.json || !1), + (this.listener = e.listener || null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.typeMap = this.schema.compiledTypeMap), + (this.length = t.length), + (this.position = 0), + (this.line = 0), + (this.lineStart = 0), + (this.lineIndent = 0), + (this.firstTabInLine = -1), + (this.documents = []) +} +x(oM, "State$1") +function zT(t, e) { + var r = { + name: t.filename, + buffer: t.input.slice(0, -1), + position: t.position, + line: t.line, + column: t.position - t.lineStart, + } + return (r.snippet = pK(r)), new ta(e, r) +} +x(zT, "generateError") +function Pt(t, e) { + throw zT(t, e) +} +x(Pt, "throwError") +function mp(t, e) { + t.onWarning && t.onWarning.call(null, zT(t, e)) +} +x(mp, "throwWarning") +var q7 = { + YAML: x(function (e, r, n) { + var i, a, s + e.version !== null && Pt(e, "duplication of %YAML directive"), + n.length !== 1 && Pt(e, "YAML directive accepts exactly one argument"), + (i = /^([0-9]+)\.([0-9]+)$/.exec(n[0])), + i === null && Pt(e, "ill-formed argument of the YAML directive"), + (a = parseInt(i[1], 10)), + (s = parseInt(i[2], 10)), + a !== 1 && Pt(e, "unacceptable YAML version of the document"), + (e.version = n[0]), + (e.checkLineBreaks = s < 2), + s !== 1 && s !== 2 && mp(e, "unsupported YAML version of the document") + }, "handleYamlDirective"), + TAG: x(function (e, r, n) { + var i, a + n.length !== 2 && Pt(e, "TAG directive accepts exactly two arguments"), + (i = n[0]), + (a = n[1]), + JI.test(i) || Pt(e, "ill-formed tag handle (first argument) of the TAG directive"), + Rl.call(e.tagMap, i) && Pt(e, 'there is a previously declared suffix for "' + i + '" tag handle'), + eM.test(a) || Pt(e, "ill-formed tag prefix (second argument) of the TAG directive") + try { + a = decodeURIComponent(a) + } catch { + Pt(e, "tag prefix is malformed: " + a) + } + e.tagMap[i] = a + }, "handleTagDirective"), +} +function Fo(t, e, r, n) { + var i, a, s, o + if (e < r) { + if (((o = t.input.slice(e, r)), n)) + for (i = 0, a = o.length; i < a; i += 1) + (s = o.charCodeAt(i)), s === 9 || (32 <= s && s <= 1114111) || Pt(t, "expected valid JSON character") + else zK.test(o) && Pt(t, "the stream contains non-printable characters") + t.result += o + } +} +x(Fo, "captureSegment") +function S3(t, e, r, n) { + var i, a, s, o + for ( + On.isObject(r) || Pt(t, "cannot merge mappings; the provided source object is unacceptable"), + i = Object.keys(r), + s = 0, + o = i.length; + s < o; + s += 1 + ) + (a = i[s]), Rl.call(e, a) || ((e[a] = r[a]), (n[a] = !0)) +} +x(S3, "mergeMappings") +function Nc(t, e, r, n, i, a, s, o, l) { + var u, h + if (Array.isArray(i)) + for (i = Array.prototype.slice.call(i), u = 0, h = i.length; u < h; u += 1) + Array.isArray(i[u]) && Pt(t, "nested arrays are not supported inside keys"), + typeof i == "object" && E3(i[u]) === "[object Object]" && (i[u] = "[object Object]") + if ( + (typeof i == "object" && E3(i) === "[object Object]" && (i = "[object Object]"), + (i = String(i)), + e === null && (e = {}), + n === "tag:yaml.org,2002:merge") + ) + if (Array.isArray(a)) for (u = 0, h = a.length; u < h; u += 1) S3(t, e, a[u], r) + else S3(t, e, a, r) + else + !t.json && + !Rl.call(r, i) && + Rl.call(e, i) && + ((t.line = s || t.line), + (t.lineStart = o || t.lineStart), + (t.position = l || t.position), + Pt(t, "duplicated mapping key")), + i === "__proto__" + ? Object.defineProperty(e, i, { configurable: !0, enumerable: !0, writable: !0, value: a }) + : (e[i] = a), + delete r[i] + return e +} +x(Nc, "storeMappingPair") +function C2(t) { + var e + ;(e = t.input.charCodeAt(t.position)), + e === 10 + ? t.position++ + : e === 13 + ? (t.position++, t.input.charCodeAt(t.position) === 10 && t.position++) + : Pt(t, "a line break is expected"), + (t.line += 1), + (t.lineStart = t.position), + (t.firstTabInLine = -1) +} +x(C2, "readLineBreak") +function mn(t, e, r) { + for (var n = 0, i = t.input.charCodeAt(t.position); i !== 0; ) { + for (; El(i); ) + i === 9 && t.firstTabInLine === -1 && (t.firstTabInLine = t.position), + (i = t.input.charCodeAt(++t.position)) + if (e && i === 35) + do i = t.input.charCodeAt(++t.position) + while (i !== 10 && i !== 13 && i !== 0) + if (ps(i)) + for (C2(t), i = t.input.charCodeAt(t.position), n++, t.lineIndent = 0; i === 32; ) + t.lineIndent++, (i = t.input.charCodeAt(++t.position)) + else break + } + return r !== -1 && n !== 0 && t.lineIndent < r && mp(t, "deficient indentation"), n +} +x(mn, "skipSeparationSpace") +function cg(t) { + var e = t.position, + r + return ( + (r = t.input.charCodeAt(e)), + !!( + (r === 45 || r === 46) && + r === t.input.charCodeAt(e + 1) && + r === t.input.charCodeAt(e + 2) && + ((e += 3), (r = t.input.charCodeAt(e)), r === 0 || Bi(r)) + ) + ) +} +x(cg, "testDocumentSeparator") +function A2(t, e) { + e === 1 + ? (t.result += " ") + : e > 1 && + (t.result += On.repeat( + ` +`, + e - 1, + )) +} +x(A2, "writeFoldedLines") +function lM(t, e, r) { + var n, + i, + a, + s, + o, + l, + u, + h, + d = t.kind, + f = t.result, + p + if ( + ((p = t.input.charCodeAt(t.position)), + Bi(p) || + Rc(p) || + p === 35 || + p === 38 || + p === 42 || + p === 33 || + p === 124 || + p === 62 || + p === 39 || + p === 34 || + p === 37 || + p === 64 || + p === 96 || + ((p === 63 || p === 45) && ((i = t.input.charCodeAt(t.position + 1)), Bi(i) || (r && Rc(i))))) + ) + return !1 + for (t.kind = "scalar", t.result = "", a = s = t.position, o = !1; p !== 0; ) { + if (p === 58) { + if (((i = t.input.charCodeAt(t.position + 1)), Bi(i) || (r && Rc(i)))) break + } else if (p === 35) { + if (((n = t.input.charCodeAt(t.position - 1)), Bi(n))) break + } else { + if ((t.position === t.lineStart && cg(t)) || (r && Rc(p))) break + if (ps(p)) + if (((l = t.line), (u = t.lineStart), (h = t.lineIndent), mn(t, !1, -1), t.lineIndent >= e)) { + ;(o = !0), (p = t.input.charCodeAt(t.position)) + continue + } else { + ;(t.position = s), (t.line = l), (t.lineStart = u), (t.lineIndent = h) + break + } + } + o && (Fo(t, a, s, !1), A2(t, t.line - l), (a = s = t.position), (o = !1)), + El(p) || (s = t.position + 1), + (p = t.input.charCodeAt(++t.position)) + } + return Fo(t, a, s, !1), t.result ? !0 : ((t.kind = d), (t.result = f), !1) +} +x(lM, "readPlainScalar") +function cM(t, e) { + var r, n, i + if (((r = t.input.charCodeAt(t.position)), r !== 39)) return !1 + for ( + t.kind = "scalar", t.result = "", t.position++, n = i = t.position; + (r = t.input.charCodeAt(t.position)) !== 0; + + ) + if (r === 39) + if ((Fo(t, n, t.position, !0), (r = t.input.charCodeAt(++t.position)), r === 39)) + (n = t.position), t.position++, (i = t.position) + else return !0 + else + ps(r) + ? (Fo(t, n, i, !0), A2(t, mn(t, !1, e)), (n = i = t.position)) + : t.position === t.lineStart && cg(t) + ? Pt(t, "unexpected end of the document within a single quoted scalar") + : (t.position++, (i = t.position)) + Pt(t, "unexpected end of the stream within a single quoted scalar") +} +x(cM, "readSingleQuotedScalar") +function uM(t, e) { + var r, n, i, a, s, o + if (((o = t.input.charCodeAt(t.position)), o !== 34)) return !1 + for ( + t.kind = "scalar", t.result = "", t.position++, r = n = t.position; + (o = t.input.charCodeAt(t.position)) !== 0; + + ) { + if (o === 34) return Fo(t, r, t.position, !0), t.position++, !0 + if (o === 92) { + if ((Fo(t, r, t.position, !0), (o = t.input.charCodeAt(++t.position)), ps(o))) mn(t, !1, e) + else if (o < 256 && aM[o]) (t.result += sM[o]), t.position++ + else if ((s = rM(o)) > 0) { + for (i = s, a = 0; i > 0; i--) + (o = t.input.charCodeAt(++t.position)), + (s = tM(o)) >= 0 ? (a = (a << 4) + s) : Pt(t, "expected hexadecimal character") + ;(t.result += iM(a)), t.position++ + } else Pt(t, "unknown escape sequence") + r = n = t.position + } else + ps(o) + ? (Fo(t, r, n, !0), A2(t, mn(t, !1, e)), (r = n = t.position)) + : t.position === t.lineStart && cg(t) + ? Pt(t, "unexpected end of the document within a double quoted scalar") + : (t.position++, (n = t.position)) + } + Pt(t, "unexpected end of the stream within a double quoted scalar") +} +x(uM, "readDoubleQuotedScalar") +function hM(t, e) { + var r = !0, + n, + i, + a, + s = t.tag, + o, + l = t.anchor, + u, + h, + d, + f, + p, + g = Object.create(null), + m, + v, + y, + b + if (((b = t.input.charCodeAt(t.position)), b === 91)) (h = 93), (p = !1), (o = []) + else if (b === 123) (h = 125), (p = !0), (o = {}) + else return !1 + for (t.anchor !== null && (t.anchorMap[t.anchor] = o), b = t.input.charCodeAt(++t.position); b !== 0; ) { + if ((mn(t, !0, e), (b = t.input.charCodeAt(t.position)), b === h)) + return t.position++, (t.tag = s), (t.anchor = l), (t.kind = p ? "mapping" : "sequence"), (t.result = o), !0 + r + ? b === 44 && Pt(t, "expected the node content, but found ','") + : Pt(t, "missed comma between flow collection entries"), + (v = m = y = null), + (d = f = !1), + b === 63 && ((u = t.input.charCodeAt(t.position + 1)), Bi(u) && ((d = f = !0), t.position++, mn(t, !0, e))), + (n = t.line), + (i = t.lineStart), + (a = t.position), + Gc(t, e, Sv, !1, !0), + (v = t.tag), + (m = t.result), + mn(t, !0, e), + (b = t.input.charCodeAt(t.position)), + (f || t.line === n) && + b === 58 && + ((d = !0), (b = t.input.charCodeAt(++t.position)), mn(t, !0, e), Gc(t, e, Sv, !1, !0), (y = t.result)), + p ? Nc(t, o, g, v, m, y, n, i, a) : d ? o.push(Nc(t, null, g, v, m, y, n, i, a)) : o.push(m), + mn(t, !0, e), + (b = t.input.charCodeAt(t.position)), + b === 44 ? ((r = !0), (b = t.input.charCodeAt(++t.position))) : (r = !1) + } + Pt(t, "unexpected end of the stream within a flow collection") +} +x(hM, "readFlowCollection") +function dM(t, e) { + var r, + n, + i = xb, + a = !1, + s = !1, + o = e, + l = 0, + u = !1, + h, + d + if (((d = t.input.charCodeAt(t.position)), d === 124)) n = !1 + else if (d === 62) n = !0 + else return !1 + for (t.kind = "scalar", t.result = ""; d !== 0; ) + if (((d = t.input.charCodeAt(++t.position)), d === 43 || d === 45)) + xb === i ? (i = d === 43 ? U7 : $K) : Pt(t, "repeat of a chomping mode identifier") + else if ((h = nM(d)) >= 0) + h === 0 + ? Pt(t, "bad explicit indentation width of a block scalar; it cannot be less than one") + : s + ? Pt(t, "repeat of an indentation width identifier") + : ((o = e + h - 1), (s = !0)) + else break + if (El(d)) { + do d = t.input.charCodeAt(++t.position) + while (El(d)) + if (d === 35) + do d = t.input.charCodeAt(++t.position) + while (!ps(d) && d !== 0) + } + for (; d !== 0; ) { + for (C2(t), t.lineIndent = 0, d = t.input.charCodeAt(t.position); (!s || t.lineIndent < o) && d === 32; ) + t.lineIndent++, (d = t.input.charCodeAt(++t.position)) + if ((!s && t.lineIndent > o && (o = t.lineIndent), ps(d))) { + l++ + continue + } + if (t.lineIndent < o) { + i === U7 + ? (t.result += On.repeat( + ` +`, + a ? 1 + l : l, + )) + : i === xb && + a && + (t.result += ` +`) + break + } + for ( + n + ? El(d) + ? ((u = !0), + (t.result += On.repeat( + ` +`, + a ? 1 + l : l, + ))) + : u + ? ((u = !1), + (t.result += On.repeat( + ` +`, + l + 1, + ))) + : l === 0 + ? a && (t.result += " ") + : (t.result += On.repeat( + ` +`, + l, + )) + : (t.result += On.repeat( + ` +`, + a ? 1 + l : l, + )), + a = !0, + s = !0, + l = 0, + r = t.position; + !ps(d) && d !== 0; + + ) + d = t.input.charCodeAt(++t.position) + Fo(t, r, t.position, !1) + } + return !0 +} +x(dM, "readBlockScalar") +function C3(t, e) { + var r, + n = t.tag, + i = t.anchor, + a = [], + s, + o = !1, + l + if (t.firstTabInLine !== -1) return !1 + for ( + t.anchor !== null && (t.anchorMap[t.anchor] = a), l = t.input.charCodeAt(t.position); + l !== 0 && + (t.firstTabInLine !== -1 && + ((t.position = t.firstTabInLine), Pt(t, "tab characters must not be used in indentation")), + !(l !== 45 || ((s = t.input.charCodeAt(t.position + 1)), !Bi(s)))); + + ) { + if (((o = !0), t.position++, mn(t, !0, -1) && t.lineIndent <= e)) { + a.push(null), (l = t.input.charCodeAt(t.position)) + continue + } + if ( + ((r = t.line), + Gc(t, e, QI, !1, !0), + a.push(t.result), + mn(t, !0, -1), + (l = t.input.charCodeAt(t.position)), + (t.line === r || t.lineIndent > e) && l !== 0) + ) + Pt(t, "bad indentation of a sequence entry") + else if (t.lineIndent < e) break + } + return o ? ((t.tag = n), (t.anchor = i), (t.kind = "sequence"), (t.result = a), !0) : !1 +} +x(C3, "readBlockSequence") +function fM(t, e, r) { + var n, + i, + a, + s, + o, + l, + u = t.tag, + h = t.anchor, + d = {}, + f = Object.create(null), + p = null, + g = null, + m = null, + v = !1, + y = !1, + b + if (t.firstTabInLine !== -1) return !1 + for (t.anchor !== null && (t.anchorMap[t.anchor] = d), b = t.input.charCodeAt(t.position); b !== 0; ) { + if ( + (!v && + t.firstTabInLine !== -1 && + ((t.position = t.firstTabInLine), Pt(t, "tab characters must not be used in indentation")), + (n = t.input.charCodeAt(t.position + 1)), + (a = t.line), + (b === 63 || b === 58) && Bi(n)) + ) + b === 63 + ? (v && (Nc(t, d, f, p, g, null, s, o, l), (p = g = m = null)), (y = !0), (v = !0), (i = !0)) + : v + ? ((v = !1), (i = !0)) + : Pt( + t, + "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line", + ), + (t.position += 1), + (b = n) + else { + if (((s = t.line), (o = t.lineStart), (l = t.position), !Gc(t, r, ZI, !1, !0))) break + if (t.line === a) { + for (b = t.input.charCodeAt(t.position); El(b); ) b = t.input.charCodeAt(++t.position) + if (b === 58) + (b = t.input.charCodeAt(++t.position)), + Bi(b) || + Pt( + t, + "a whitespace character is expected after the key-value separator within a block mapping", + ), + v && (Nc(t, d, f, p, g, null, s, o, l), (p = g = m = null)), + (y = !0), + (v = !1), + (i = !1), + (p = t.tag), + (g = t.result) + else if (y) Pt(t, "can not read an implicit mapping pair; a colon is missed") + else return (t.tag = u), (t.anchor = h), !0 + } else if (y) Pt(t, "can not read a block mapping entry; a multiline key may not be an implicit key") + else return (t.tag = u), (t.anchor = h), !0 + } + if ( + ((t.line === a || t.lineIndent > e) && + (v && ((s = t.line), (o = t.lineStart), (l = t.position)), + Gc(t, e, Cv, !0, i) && (v ? (g = t.result) : (m = t.result)), + v || (Nc(t, d, f, p, g, m, s, o, l), (p = g = m = null)), + mn(t, !0, -1), + (b = t.input.charCodeAt(t.position))), + (t.line === a || t.lineIndent > e) && b !== 0) + ) + Pt(t, "bad indentation of a mapping entry") + else if (t.lineIndent < e) break + } + return ( + v && Nc(t, d, f, p, g, null, s, o, l), + y && ((t.tag = u), (t.anchor = h), (t.kind = "mapping"), (t.result = d)), + y + ) +} +x(fM, "readBlockMapping") +function pM(t) { + var e, + r = !1, + n = !1, + i, + a, + s + if (((s = t.input.charCodeAt(t.position)), s !== 33)) return !1 + if ( + (t.tag !== null && Pt(t, "duplication of a tag property"), + (s = t.input.charCodeAt(++t.position)), + s === 60 + ? ((r = !0), (s = t.input.charCodeAt(++t.position))) + : s === 33 + ? ((n = !0), (i = "!!"), (s = t.input.charCodeAt(++t.position))) + : (i = "!"), + (e = t.position), + r) + ) { + do s = t.input.charCodeAt(++t.position) + while (s !== 0 && s !== 62) + t.position < t.length + ? ((a = t.input.slice(e, t.position)), (s = t.input.charCodeAt(++t.position))) + : Pt(t, "unexpected end of the stream within a verbatim tag") + } else { + for (; s !== 0 && !Bi(s); ) + s === 33 && + (n + ? Pt(t, "tag suffix cannot contain exclamation marks") + : ((i = t.input.slice(e - 1, t.position + 1)), + JI.test(i) || Pt(t, "named tag handle cannot contain such characters"), + (n = !0), + (e = t.position + 1))), + (s = t.input.charCodeAt(++t.position)) + ;(a = t.input.slice(e, t.position)), GK.test(a) && Pt(t, "tag suffix cannot contain flow indicator characters") + } + a && !eM.test(a) && Pt(t, "tag name cannot contain such characters: " + a) + try { + a = decodeURIComponent(a) + } catch { + Pt(t, "tag name is malformed: " + a) + } + return ( + r + ? (t.tag = a) + : Rl.call(t.tagMap, i) + ? (t.tag = t.tagMap[i] + a) + : i === "!" + ? (t.tag = "!" + a) + : i === "!!" + ? (t.tag = "tag:yaml.org,2002:" + a) + : Pt(t, 'undeclared tag handle "' + i + '"'), + !0 + ) +} +x(pM, "readTagProperty") +function gM(t) { + var e, r + if (((r = t.input.charCodeAt(t.position)), r !== 38)) return !1 + for ( + t.anchor !== null && Pt(t, "duplication of an anchor property"), + r = t.input.charCodeAt(++t.position), + e = t.position; + r !== 0 && !Bi(r) && !Rc(r); + + ) + r = t.input.charCodeAt(++t.position) + return ( + t.position === e && Pt(t, "name of an anchor node must contain at least one character"), + (t.anchor = t.input.slice(e, t.position)), + !0 + ) +} +x(gM, "readAnchorProperty") +function mM(t) { + var e, r, n + if (((n = t.input.charCodeAt(t.position)), n !== 42)) return !1 + for (n = t.input.charCodeAt(++t.position), e = t.position; n !== 0 && !Bi(n) && !Rc(n); ) + n = t.input.charCodeAt(++t.position) + return ( + t.position === e && Pt(t, "name of an alias node must contain at least one character"), + (r = t.input.slice(e, t.position)), + Rl.call(t.anchorMap, r) || Pt(t, 'unidentified alias "' + r + '"'), + (t.result = t.anchorMap[r]), + mn(t, !0, -1), + !0 + ) +} +x(mM, "readAlias") +function Gc(t, e, r, n, i) { + var a, + s, + o, + l = 1, + u = !1, + h = !1, + d, + f, + p, + g, + m, + v + if ( + (t.listener !== null && t.listener("open", t), + (t.tag = null), + (t.anchor = null), + (t.kind = null), + (t.result = null), + (a = s = o = Cv === r || QI === r), + n && + mn(t, !0, -1) && + ((u = !0), t.lineIndent > e ? (l = 1) : t.lineIndent === e ? (l = 0) : t.lineIndent < e && (l = -1)), + l === 1) + ) + for (; pM(t) || gM(t); ) + mn(t, !0, -1) + ? ((u = !0), + (o = a), + t.lineIndent > e ? (l = 1) : t.lineIndent === e ? (l = 0) : t.lineIndent < e && (l = -1)) + : (o = !1) + if ( + (o && (o = u || i), + (l === 1 || Cv === r) && + (Sv === r || ZI === r ? (m = e) : (m = e + 1), + (v = t.position - t.lineStart), + l === 1 + ? (o && (C3(t, v) || fM(t, v, m))) || hM(t, m) + ? (h = !0) + : ((s && dM(t, m)) || cM(t, m) || uM(t, m) + ? (h = !0) + : mM(t) + ? ((h = !0), + (t.tag !== null || t.anchor !== null) && + Pt(t, "alias node should not have any properties")) + : lM(t, m, Sv === r) && ((h = !0), t.tag === null && (t.tag = "?")), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result)) + : l === 0 && (h = o && C3(t, v))), + t.tag === null) + ) + t.anchor !== null && (t.anchorMap[t.anchor] = t.result) + else if (t.tag === "?") { + for ( + t.result !== null && + t.kind !== "scalar" && + Pt(t, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + t.kind + '"'), + d = 0, + f = t.implicitTypes.length; + d < f; + d += 1 + ) + if (((g = t.implicitTypes[d]), g.resolve(t.result))) { + ;(t.result = g.construct(t.result)), + (t.tag = g.tag), + t.anchor !== null && (t.anchorMap[t.anchor] = t.result) + break + } + } else if (t.tag !== "!") { + if (Rl.call(t.typeMap[t.kind || "fallback"], t.tag)) g = t.typeMap[t.kind || "fallback"][t.tag] + else + for (g = null, p = t.typeMap.multi[t.kind || "fallback"], d = 0, f = p.length; d < f; d += 1) + if (t.tag.slice(0, p[d].tag.length) === p[d].tag) { + g = p[d] + break + } + g || Pt(t, "unknown tag !<" + t.tag + ">"), + t.result !== null && + g.kind !== t.kind && + Pt( + t, + "unacceptable node kind for !<" + + t.tag + + '> tag; it should be "' + + g.kind + + '", not "' + + t.kind + + '"', + ), + g.resolve(t.result, t.tag) + ? ((t.result = g.construct(t.result, t.tag)), t.anchor !== null && (t.anchorMap[t.anchor] = t.result)) + : Pt(t, "cannot resolve a node with !<" + t.tag + "> explicit tag") + } + return t.listener !== null && t.listener("close", t), t.tag !== null || t.anchor !== null || h +} +x(Gc, "composeNode") +function vM(t) { + var e = t.position, + r, + n, + i, + a = !1, + s + for ( + t.version = null, + t.checkLineBreaks = t.legacy, + t.tagMap = Object.create(null), + t.anchorMap = Object.create(null); + (s = t.input.charCodeAt(t.position)) !== 0 && + (mn(t, !0, -1), (s = t.input.charCodeAt(t.position)), !(t.lineIndent > 0 || s !== 37)); + + ) { + for (a = !0, s = t.input.charCodeAt(++t.position), r = t.position; s !== 0 && !Bi(s); ) + s = t.input.charCodeAt(++t.position) + for ( + n = t.input.slice(r, t.position), + i = [], + n.length < 1 && Pt(t, "directive name must not be less than one character in length"); + s !== 0; + + ) { + for (; El(s); ) s = t.input.charCodeAt(++t.position) + if (s === 35) { + do s = t.input.charCodeAt(++t.position) + while (s !== 0 && !ps(s)) + break + } + if (ps(s)) break + for (r = t.position; s !== 0 && !Bi(s); ) s = t.input.charCodeAt(++t.position) + i.push(t.input.slice(r, t.position)) + } + s !== 0 && C2(t), Rl.call(q7, n) ? q7[n](t, n, i) : mp(t, 'unknown document directive "' + n + '"') + } + if ( + (mn(t, !0, -1), + t.lineIndent === 0 && + t.input.charCodeAt(t.position) === 45 && + t.input.charCodeAt(t.position + 1) === 45 && + t.input.charCodeAt(t.position + 2) === 45 + ? ((t.position += 3), mn(t, !0, -1)) + : a && Pt(t, "directives end mark is expected"), + Gc(t, t.lineIndent - 1, Cv, !1, !0), + mn(t, !0, -1), + t.checkLineBreaks && + VK.test(t.input.slice(e, t.position)) && + mp(t, "non-ASCII line breaks are interpreted as content"), + t.documents.push(t.result), + t.position === t.lineStart && cg(t)) + ) { + t.input.charCodeAt(t.position) === 46 && ((t.position += 3), mn(t, !0, -1)) + return + } + if (t.position < t.length - 1) Pt(t, "end of the stream or a document separator is expected") + else return +} +x(vM, "readDocument") +function VT(t, e) { + ;(t = String(t)), + (e = e || {}), + t.length !== 0 && + (t.charCodeAt(t.length - 1) !== 10 && + t.charCodeAt(t.length - 1) !== 13 && + (t += ` +`), + t.charCodeAt(0) === 65279 && (t = t.slice(1))) + var r = new oM(t, e), + n = t.indexOf("\0") + for ( + n !== -1 && ((r.position = n), Pt(r, "null byte is not allowed in input")), r.input += "\0"; + r.input.charCodeAt(r.position) === 32; + + ) + (r.lineIndent += 1), (r.position += 1) + for (; r.position < r.length - 1; ) vM(r) + return r.documents +} +x(VT, "loadDocuments") +function UK(t, e, r) { + e !== null && typeof e == "object" && typeof r > "u" && ((r = e), (e = null)) + var n = VT(t, r) + if (typeof e != "function") return n + for (var i = 0, a = n.length; i < a; i += 1) e(n[i]) +} +x(UK, "loadAll$1") +function yM(t, e) { + var r = VT(t, e) + if (r.length !== 0) { + if (r.length === 1) return r[0] + throw new ta("expected a single document in the stream, but found more") + } +} +x(yM, "load$1") +var qK = yM, + WK = { load: qK }, + xM = Object.prototype.toString, + bM = Object.prototype.hasOwnProperty, + GT = 65279, + HK = 9, + vp = 10, + YK = 13, + XK = 32, + jK = 33, + KK = 34, + A3 = 35, + ZK = 37, + QK = 38, + JK = 39, + eZ = 42, + wM = 44, + tZ = 45, + Av = 58, + rZ = 61, + nZ = 62, + iZ = 63, + aZ = 64, + TM = 91, + EM = 93, + sZ = 96, + kM = 123, + oZ = 124, + SM = 125, + _i = {} +_i[0] = "\\0" +_i[7] = "\\a" +_i[8] = "\\b" +_i[9] = "\\t" +_i[10] = "\\n" +_i[11] = "\\v" +_i[12] = "\\f" +_i[13] = "\\r" +_i[27] = "\\e" +_i[34] = '\\"' +_i[92] = "\\\\" +_i[133] = "\\N" +_i[160] = "\\_" +_i[8232] = "\\L" +_i[8233] = "\\P" +var lZ = ["y", "Y", "yes", "Yes", "YES", "on", "On", "ON", "n", "N", "no", "No", "NO", "off", "Off", "OFF"], + cZ = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/ +function CM(t, e) { + var r, n, i, a, s, o, l + if (e === null) return {} + for (r = {}, n = Object.keys(e), i = 0, a = n.length; i < a; i += 1) + (s = n[i]), + (o = String(e[s])), + s.slice(0, 2) === "!!" && (s = "tag:yaml.org,2002:" + s.slice(2)), + (l = t.compiledTypeMap.fallback[s]), + l && bM.call(l.styleAliases, o) && (o = l.styleAliases[o]), + (r[s] = o) + return r +} +x(CM, "compileStyleMap") +function AM(t) { + var e, r, n + if (((e = t.toString(16).toUpperCase()), t <= 255)) (r = "x"), (n = 2) + else if (t <= 65535) (r = "u"), (n = 4) + else if (t <= 4294967295) (r = "U"), (n = 8) + else throw new ta("code point within a string may not be greater than 0xFFFFFFFF") + return "\\" + r + On.repeat("0", n - e.length) + e +} +x(AM, "encodeHex") +var uZ = 1, + yp = 2 +function _M(t) { + ;(this.schema = t.schema || KI), + (this.indent = Math.max(1, t.indent || 2)), + (this.noArrayIndent = t.noArrayIndent || !1), + (this.skipInvalid = t.skipInvalid || !1), + (this.flowLevel = On.isNothing(t.flowLevel) ? -1 : t.flowLevel), + (this.styleMap = CM(this.schema, t.styles || null)), + (this.sortKeys = t.sortKeys || !1), + (this.lineWidth = t.lineWidth || 80), + (this.noRefs = t.noRefs || !1), + (this.noCompatMode = t.noCompatMode || !1), + (this.condenseFlow = t.condenseFlow || !1), + (this.quotingType = t.quotingType === '"' ? yp : uZ), + (this.forceQuotes = t.forceQuotes || !1), + (this.replacer = typeof t.replacer == "function" ? t.replacer : null), + (this.implicitTypes = this.schema.compiledImplicit), + (this.explicitTypes = this.schema.compiledExplicit), + (this.tag = null), + (this.result = ""), + (this.duplicates = []), + (this.usedDuplicates = null) +} +x(_M, "State") +function _3(t, e) { + for (var r = On.repeat(" ", e), n = 0, i = -1, a = "", s, o = t.length; n < o; ) + (i = t.indexOf( + ` +`, + n, + )), + i === -1 ? ((s = t.slice(n)), (n = o)) : ((s = t.slice(n, i + 1)), (n = i + 1)), + s.length && + s !== + ` +` && + (a += r), + (a += s) + return a +} +x(_3, "indentString") +function _v(t, e) { + return ( + ` +` + On.repeat(" ", t.indent * e) + ) +} +x(_v, "generateNextLine") +function LM(t, e) { + var r, n, i + for (r = 0, n = t.implicitTypes.length; r < n; r += 1) if (((i = t.implicitTypes[r]), i.resolve(e))) return !0 + return !1 +} +x(LM, "testImplicitResolving") +function xp(t) { + return t === XK || t === HK +} +x(xp, "isWhitespace") +function kd(t) { + return ( + (32 <= t && t <= 126) || + (161 <= t && t <= 55295 && t !== 8232 && t !== 8233) || + (57344 <= t && t <= 65533 && t !== GT) || + (65536 <= t && t <= 1114111) + ) +} +x(kd, "isPrintable") +function L3(t) { + return kd(t) && t !== GT && t !== YK && t !== vp +} +x(L3, "isNsCharOrWhitespace") +function R3(t, e, r) { + var n = L3(t), + i = n && !xp(t) + return ( + ((r ? n : n && t !== wM && t !== TM && t !== EM && t !== kM && t !== SM) && t !== A3 && !(e === Av && !i)) || + (L3(e) && !xp(e) && t === A3) || + (e === Av && i) + ) +} +x(R3, "isPlainSafe") +function RM(t) { + return ( + kd(t) && + t !== GT && + !xp(t) && + t !== tZ && + t !== iZ && + t !== Av && + t !== wM && + t !== TM && + t !== EM && + t !== kM && + t !== SM && + t !== A3 && + t !== QK && + t !== eZ && + t !== jK && + t !== oZ && + t !== rZ && + t !== nZ && + t !== JK && + t !== KK && + t !== ZK && + t !== aZ && + t !== sZ + ) +} +x(RM, "isPlainSafeFirst") +function NM(t) { + return !xp(t) && t !== Av +} +x(NM, "isPlainSafeLast") +function nh(t, e) { + var r = t.charCodeAt(e), + n + return r >= 55296 && r <= 56319 && e + 1 < t.length && ((n = t.charCodeAt(e + 1)), n >= 56320 && n <= 57343) + ? (r - 55296) * 1024 + n - 56320 + 65536 + : r +} +x(nh, "codePointAt") +function UT(t) { + var e = /^\n* / + return e.test(t) +} +x(UT, "needIndentIndicator") +var DM = 1, + N3 = 2, + IM = 3, + MM = 4, + Ku = 5 +function OM(t, e, r, n, i, a, s, o) { + var l, + u = 0, + h = null, + d = !1, + f = !1, + p = n !== -1, + g = -1, + m = RM(nh(t, 0)) && NM(nh(t, t.length - 1)) + if (e || s) + for (l = 0; l < t.length; u >= 65536 ? (l += 2) : l++) { + if (((u = nh(t, l)), !kd(u))) return Ku + ;(m = m && R3(u, h, o)), (h = u) + } + else { + for (l = 0; l < t.length; u >= 65536 ? (l += 2) : l++) { + if (((u = nh(t, l)), u === vp)) (d = !0), p && ((f = f || (l - g - 1 > n && t[g + 1] !== " ")), (g = l)) + else if (!kd(u)) return Ku + ;(m = m && R3(u, h, o)), (h = u) + } + f = f || (p && l - g - 1 > n && t[g + 1] !== " ") + } + return !d && !f + ? m && !s && !i(t) + ? DM + : a === yp + ? Ku + : N3 + : r > 9 && UT(t) + ? Ku + : s + ? a === yp + ? Ku + : N3 + : f + ? MM + : IM +} +x(OM, "chooseScalarStyle") +function PM(t, e, r, n, i) { + t.dump = (function () { + if (e.length === 0) return t.quotingType === yp ? '""' : "''" + if (!t.noCompatMode && (lZ.indexOf(e) !== -1 || cZ.test(e))) + return t.quotingType === yp ? '"' + e + '"' : "'" + e + "'" + var a = t.indent * Math.max(1, r), + s = t.lineWidth === -1 ? -1 : Math.max(Math.min(t.lineWidth, 40), t.lineWidth - a), + o = n || (t.flowLevel > -1 && r >= t.flowLevel) + function l(u) { + return LM(t, u) + } + switch ((x(l, "testAmbiguity"), OM(e, o, t.indent, s, l, t.quotingType, t.forceQuotes && !n, i))) { + case DM: + return e + case N3: + return "'" + e.replace(/'/g, "''") + "'" + case IM: + return "|" + D3(e, t.indent) + I3(_3(e, a)) + case MM: + return ">" + D3(e, t.indent) + I3(_3(BM(e, s), a)) + case Ku: + return '"' + FM(e) + '"' + default: + throw new ta("impossible error: invalid scalar style") + } + })() +} +x(PM, "writeScalar") +function D3(t, e) { + var r = UT(t) ? String(e) : "", + n = + t[t.length - 1] === + ` +`, + i = + n && + (t[t.length - 2] === + ` +` || + t === + ` +`), + a = i ? "+" : n ? "" : "-" + return ( + r + + a + + ` +` + ) +} +x(D3, "blockHeader") +function I3(t) { + return t[t.length - 1] === + ` +` + ? t.slice(0, -1) + : t +} +x(I3, "dropEndingNewline") +function BM(t, e) { + for ( + var r = /(\n+)([^\n]*)/g, + n = (function () { + var u = t.indexOf(` +`) + return (u = u !== -1 ? u : t.length), (r.lastIndex = u), M3(t.slice(0, u), e) + })(), + i = + t[0] === + ` +` || t[0] === " ", + a, + s; + (s = r.exec(t)); + + ) { + var o = s[1], + l = s[2] + ;(a = l[0] === " "), + (n += + o + + (!i && !a && l !== "" + ? ` +` + : "") + + M3(l, e)), + (i = a) + } + return n +} +x(BM, "foldString") +function M3(t, e) { + if (t === "" || t[0] === " ") return t + for (var r = / [^ ]/g, n, i = 0, a, s = 0, o = 0, l = ""; (n = r.exec(t)); ) + (o = n.index), + o - i > e && + ((a = s > i ? s : o), + (l += + ` +` + t.slice(i, a)), + (i = a + 1)), + (s = o) + return ( + (l += ` +`), + t.length - i > e && s > i + ? (l += + t.slice(i, s) + + ` +` + + t.slice(s + 1)) + : (l += t.slice(i)), + l.slice(1) + ) +} +x(M3, "foldLine") +function FM(t) { + for (var e = "", r = 0, n, i = 0; i < t.length; r >= 65536 ? (i += 2) : i++) + (r = nh(t, i)), (n = _i[r]), !n && kd(r) ? ((e += t[i]), r >= 65536 && (e += t[i + 1])) : (e += n || AM(r)) + return e +} +x(FM, "escapeString") +function $M(t, e, r) { + var n = "", + i = t.tag, + a, + s, + o + for (a = 0, s = r.length; a < s; a += 1) + (o = r[a]), + t.replacer && (o = t.replacer.call(r, String(a), o)), + (Ks(t, e, o, !1, !1) || (typeof o > "u" && Ks(t, e, null, !1, !1))) && + (n !== "" && (n += "," + (t.condenseFlow ? "" : " ")), (n += t.dump)) + ;(t.tag = i), (t.dump = "[" + n + "]") +} +x($M, "writeFlowSequence") +function O3(t, e, r, n) { + var i = "", + a = t.tag, + s, + o, + l + for (s = 0, o = r.length; s < o; s += 1) + (l = r[s]), + t.replacer && (l = t.replacer.call(r, String(s), l)), + (Ks(t, e + 1, l, !0, !0, !1, !0) || (typeof l > "u" && Ks(t, e + 1, null, !0, !0, !1, !0))) && + ((!n || i !== "") && (i += _v(t, e)), + t.dump && vp === t.dump.charCodeAt(0) ? (i += "-") : (i += "- "), + (i += t.dump)) + ;(t.tag = a), (t.dump = i || "[]") +} +x(O3, "writeBlockSequence") +function zM(t, e, r) { + var n = "", + i = t.tag, + a = Object.keys(r), + s, + o, + l, + u, + h + for (s = 0, o = a.length; s < o; s += 1) + (h = ""), + n !== "" && (h += ", "), + t.condenseFlow && (h += '"'), + (l = a[s]), + (u = r[l]), + t.replacer && (u = t.replacer.call(r, l, u)), + Ks(t, e, l, !1, !1) && + (t.dump.length > 1024 && (h += "? "), + (h += t.dump + (t.condenseFlow ? '"' : "") + ":" + (t.condenseFlow ? "" : " ")), + Ks(t, e, u, !1, !1) && ((h += t.dump), (n += h))) + ;(t.tag = i), (t.dump = "{" + n + "}") +} +x(zM, "writeFlowMapping") +function VM(t, e, r, n) { + var i = "", + a = t.tag, + s = Object.keys(r), + o, + l, + u, + h, + d, + f + if (t.sortKeys === !0) s.sort() + else if (typeof t.sortKeys == "function") s.sort(t.sortKeys) + else if (t.sortKeys) throw new ta("sortKeys must be a boolean or a function") + for (o = 0, l = s.length; o < l; o += 1) + (f = ""), + (!n || i !== "") && (f += _v(t, e)), + (u = s[o]), + (h = r[u]), + t.replacer && (h = t.replacer.call(r, u, h)), + Ks(t, e + 1, u, !0, !0, !0) && + ((d = (t.tag !== null && t.tag !== "?") || (t.dump && t.dump.length > 1024)), + d && (t.dump && vp === t.dump.charCodeAt(0) ? (f += "?") : (f += "? ")), + (f += t.dump), + d && (f += _v(t, e)), + Ks(t, e + 1, h, !0, d) && + (t.dump && vp === t.dump.charCodeAt(0) ? (f += ":") : (f += ": "), (f += t.dump), (i += f))) + ;(t.tag = a), (t.dump = i || "{}") +} +x(VM, "writeBlockMapping") +function P3(t, e, r) { + var n, i, a, s, o, l + for (i = r ? t.explicitTypes : t.implicitTypes, a = 0, s = i.length; a < s; a += 1) + if ( + ((o = i[a]), + (o.instanceOf || o.predicate) && + (!o.instanceOf || (typeof e == "object" && e instanceof o.instanceOf)) && + (!o.predicate || o.predicate(e))) + ) { + if ( + (r ? (o.multi && o.representName ? (t.tag = o.representName(e)) : (t.tag = o.tag)) : (t.tag = "?"), + o.represent) + ) { + if (((l = t.styleMap[o.tag] || o.defaultStyle), xM.call(o.represent) === "[object Function]")) + n = o.represent(e, l) + else if (bM.call(o.represent, l)) n = o.represent[l](e, l) + else throw new ta("!<" + o.tag + '> tag resolver accepts not "' + l + '" style') + t.dump = n + } + return !0 + } + return !1 +} +x(P3, "detectType") +function Ks(t, e, r, n, i, a, s) { + ;(t.tag = null), (t.dump = r), P3(t, r, !1) || P3(t, r, !0) + var o = xM.call(t.dump), + l = n, + u + n && (n = t.flowLevel < 0 || t.flowLevel > e) + var h = o === "[object Object]" || o === "[object Array]", + d, + f + if ( + (h && ((d = t.duplicates.indexOf(r)), (f = d !== -1)), + ((t.tag !== null && t.tag !== "?") || f || (t.indent !== 2 && e > 0)) && (i = !1), + f && t.usedDuplicates[d]) + ) + t.dump = "*ref_" + d + else { + if ((h && f && !t.usedDuplicates[d] && (t.usedDuplicates[d] = !0), o === "[object Object]")) + n && Object.keys(t.dump).length !== 0 + ? (VM(t, e, t.dump, i), f && (t.dump = "&ref_" + d + t.dump)) + : (zM(t, e, t.dump), f && (t.dump = "&ref_" + d + " " + t.dump)) + else if (o === "[object Array]") + n && t.dump.length !== 0 + ? (t.noArrayIndent && !s && e > 0 ? O3(t, e - 1, t.dump, i) : O3(t, e, t.dump, i), + f && (t.dump = "&ref_" + d + t.dump)) + : ($M(t, e, t.dump), f && (t.dump = "&ref_" + d + " " + t.dump)) + else if (o === "[object String]") t.tag !== "?" && PM(t, t.dump, e, a, l) + else { + if (o === "[object Undefined]") return !1 + if (t.skipInvalid) return !1 + throw new ta("unacceptable kind of an object to dump " + o) + } + t.tag !== null && + t.tag !== "?" && + ((u = encodeURI(t.tag[0] === "!" ? t.tag.slice(1) : t.tag).replace(/!/g, "%21")), + t.tag[0] === "!" + ? (u = "!" + u) + : u.slice(0, 18) === "tag:yaml.org,2002:" + ? (u = "!!" + u.slice(18)) + : (u = "!<" + u + ">"), + (t.dump = u + " " + t.dump)) + } + return !0 +} +x(Ks, "writeNode") +function GM(t, e) { + var r = [], + n = [], + i, + a + for (Lv(t, r, n), i = 0, a = n.length; i < a; i += 1) e.duplicates.push(r[n[i]]) + e.usedDuplicates = new Array(a) +} +x(GM, "getDuplicateReferences") +function Lv(t, e, r) { + var n, i, a + if (t !== null && typeof t == "object") + if (((i = e.indexOf(t)), i !== -1)) r.indexOf(i) === -1 && r.push(i) + else if ((e.push(t), Array.isArray(t))) for (i = 0, a = t.length; i < a; i += 1) Lv(t[i], e, r) + else for (n = Object.keys(t), i = 0, a = n.length; i < a; i += 1) Lv(t[n[i]], e, r) +} +x(Lv, "inspectNode") +function hZ(t, e) { + e = e || {} + var r = new _M(e) + r.noRefs || GM(t, r) + var n = t + return ( + r.replacer && (n = r.replacer.call({ "": n }, "", n)), + Ks(r, 0, n, !0, !0) + ? r.dump + + ` +` + : "" + ) +} +x(hZ, "dump$1") +function dZ(t, e) { + return function () { + throw new Error( + "Function yaml." + + t + + " is removed in js-yaml 4. Use yaml." + + e + + " instead, which is now safe by default.", + ) + } +} +x(dZ, "renamed") +var qT = II, + WT = WK.load +/*! Bundled license information: + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) +*/ var Pa = { aggregation: 18, extension: 18, composition: 18, dependency: 6, lollipop: 13.5, arrow_point: 4 } +function Jf(t, e) { + if (t === void 0 || e === void 0) return { angle: 0, deltaX: 0, deltaY: 0 } + ;(t = jr(t)), (e = jr(e)) + const [r, n] = [t.x, t.y], + [i, a] = [e.x, e.y], + s = i - r, + o = a - n + return { angle: Math.atan(o / s), deltaX: s, deltaY: o } +} +x(Jf, "calculateDeltaAndAngle") +var jr = x((t) => (Array.isArray(t) ? { x: t[0], y: t[1] } : t), "pointTransformer"), + UM = x( + (t) => ({ + x: x(function (e, r, n) { + let i = 0 + const a = jr(n[0]).x < jr(n[n.length - 1]).x ? "left" : "right" + if (r === 0 && Object.hasOwn(Pa, t.arrowTypeStart)) { + const { angle: p, deltaX: g } = Jf(n[0], n[1]) + i = Pa[t.arrowTypeStart] * Math.cos(p) * (g >= 0 ? 1 : -1) + } else if (r === n.length - 1 && Object.hasOwn(Pa, t.arrowTypeEnd)) { + const { angle: p, deltaX: g } = Jf(n[n.length - 1], n[n.length - 2]) + i = Pa[t.arrowTypeEnd] * Math.cos(p) * (g >= 0 ? 1 : -1) + } + const s = Math.abs(jr(e).x - jr(n[n.length - 1]).x), + o = Math.abs(jr(e).y - jr(n[n.length - 1]).y), + l = Math.abs(jr(e).x - jr(n[0]).x), + u = Math.abs(jr(e).y - jr(n[0]).y), + h = Pa[t.arrowTypeStart], + d = Pa[t.arrowTypeEnd], + f = 1 + if (s < d && s > 0 && o < d) { + let p = d + f - s + ;(p *= a === "right" ? -1 : 1), (i -= p) + } + if (l < h && l > 0 && u < h) { + let p = h + f - l + ;(p *= a === "right" ? -1 : 1), (i += p) + } + return jr(e).x + i + }, "x"), + y: x(function (e, r, n) { + let i = 0 + const a = jr(n[0]).y < jr(n[n.length - 1]).y ? "down" : "up" + if (r === 0 && Object.hasOwn(Pa, t.arrowTypeStart)) { + const { angle: p, deltaY: g } = Jf(n[0], n[1]) + i = Pa[t.arrowTypeStart] * Math.abs(Math.sin(p)) * (g >= 0 ? 1 : -1) + } else if (r === n.length - 1 && Object.hasOwn(Pa, t.arrowTypeEnd)) { + const { angle: p, deltaY: g } = Jf(n[n.length - 1], n[n.length - 2]) + i = Pa[t.arrowTypeEnd] * Math.abs(Math.sin(p)) * (g >= 0 ? 1 : -1) + } + const s = Math.abs(jr(e).y - jr(n[n.length - 1]).y), + o = Math.abs(jr(e).x - jr(n[n.length - 1]).x), + l = Math.abs(jr(e).y - jr(n[0]).y), + u = Math.abs(jr(e).x - jr(n[0]).x), + h = Pa[t.arrowTypeStart], + d = Pa[t.arrowTypeEnd], + f = 1 + if (s < d && s > 0 && o < d) { + let p = d + f - s + ;(p *= a === "up" ? -1 : 1), (i -= p) + } + if (l < h && l > 0 && u < h) { + let p = h + f - l + ;(p *= a === "up" ? -1 : 1), (i += p) + } + return jr(e).y + i + }, "y"), + }), + "getLineFunctionsWithOffset", + ), + ug = x(({ flowchart: t }) => { + var i, a + const e = ((i = t == null ? void 0 : t.subGraphTitleMargin) == null ? void 0 : i.top) ?? 0, + r = ((a = t == null ? void 0 : t.subGraphTitleMargin) == null ? void 0 : a.bottom) ?? 0, + n = e + r + return { subGraphTitleTopMargin: e, subGraphTitleBottomMargin: r, subGraphTitleTotalMargin: n } + }, "getSubGraphTitleMargins") +const fZ = Object.freeze({ left: 0, top: 0, width: 16, height: 16 }), + Rv = Object.freeze({ rotate: 0, vFlip: !1, hFlip: !1 }), + qM = Object.freeze({ ...fZ, ...Rv }), + pZ = Object.freeze({ ...qM, body: "", hidden: !1 }), + gZ = Object.freeze({ width: null, height: null }), + mZ = Object.freeze({ ...gZ, ...Rv }), + vZ = (t, e, r, n = "") => { + const i = t.split(":") + if (t.slice(0, 1) === "@") { + if (i.length < 2 || i.length > 3) return null + n = i.shift().slice(1) + } + if (i.length > 3 || !i.length) return null + if (i.length > 1) { + const o = i.pop(), + l = i.pop(), + u = { provider: i.length > 0 ? i[0] : n, prefix: l, name: o } + return bb(u) ? u : null + } + const a = i[0], + s = a.split("-") + if (s.length > 1) { + const o = { provider: n, prefix: s.shift(), name: s.join("-") } + return bb(o) ? o : null + } + if (r && n === "") { + const o = { provider: n, prefix: "", name: a } + return bb(o, r) ? o : null + } + return null + }, + bb = (t, e) => (t ? !!(((e && t.prefix === "") || t.prefix) && t.name) : !1) +function yZ(t, e) { + const r = {} + !t.hFlip != !e.hFlip && (r.hFlip = !0), !t.vFlip != !e.vFlip && (r.vFlip = !0) + const n = ((t.rotate || 0) + (e.rotate || 0)) % 4 + return n && (r.rotate = n), r +} +function W7(t, e) { + const r = yZ(t, e) + for (const n in pZ) + n in Rv ? n in t && !(n in r) && (r[n] = Rv[n]) : n in e ? (r[n] = e[n]) : n in t && (r[n] = t[n]) + return r +} +function xZ(t, e) { + const r = t.icons, + n = t.aliases || Object.create(null), + i = Object.create(null) + function a(s) { + if (r[s]) return (i[s] = []) + if (!(s in i)) { + i[s] = null + const o = n[s] && n[s].parent, + l = o && a(o) + l && (i[s] = [o].concat(l)) + } + return i[s] + } + return (e || Object.keys(r).concat(Object.keys(n))).forEach(a), i +} +function H7(t, e, r) { + const n = t.icons, + i = t.aliases || Object.create(null) + let a = {} + function s(o) { + a = W7(n[o] || i[o], a) + } + return s(e), r.forEach(s), W7(t, a) +} +function bZ(t, e) { + if (t.icons[e]) return H7(t, e, []) + const r = xZ(t, [e])[e] + return r ? H7(t, e, r) : null +} +const wZ = /(-?[0-9.]*[0-9]+[0-9.]*)/g, + TZ = /^-?[0-9.]*[0-9]+[0-9.]*$/g +function Y7(t, e, r) { + if (e === 1) return t + if (((r = r || 100), typeof t == "number")) return Math.ceil(t * e * r) / r + if (typeof t != "string") return t + const n = t.split(wZ) + if (n === null || !n.length) return t + const i = [] + let a = n.shift(), + s = TZ.test(a) + for (;;) { + if (s) { + const o = parseFloat(a) + isNaN(o) ? i.push(a) : i.push(Math.ceil(o * e * r) / r) + } else i.push(a) + if (((a = n.shift()), a === void 0)) return i.join("") + s = !s + } +} +function EZ(t, e = "defs") { + let r = "" + const n = t.indexOf("<" + e) + for (; n >= 0; ) { + const i = t.indexOf(">", n), + a = t.indexOf("</" + e) + if (i === -1 || a === -1) break + const s = t.indexOf(">", a) + if (s === -1) break + ;(r += t.slice(i + 1, a).trim()), (t = t.slice(0, n).trim() + t.slice(s + 1)) + } + return { defs: r, content: t } +} +function kZ(t, e) { + return t ? "<defs>" + t + "</defs>" + e : e +} +function SZ(t, e, r) { + const n = EZ(t) + return kZ(n.defs, e + n.content + r) +} +const CZ = (t) => t === "unset" || t === "undefined" || t === "none" +function AZ(t, e) { + const r = { ...qM, ...t }, + n = { ...mZ, ...e }, + i = { left: r.left, top: r.top, width: r.width, height: r.height } + let a = r.body + ;[r, n].forEach((m) => { + const v = [], + y = m.hFlip, + b = m.vFlip + let w = m.rotate + y + ? b + ? (w += 2) + : (v.push("translate(" + (i.width + i.left).toString() + " " + (0 - i.top).toString() + ")"), + v.push("scale(-1 1)"), + (i.top = i.left = 0)) + : b && + (v.push("translate(" + (0 - i.left).toString() + " " + (i.height + i.top).toString() + ")"), + v.push("scale(1 -1)"), + (i.top = i.left = 0)) + let T + switch ((w < 0 && (w -= Math.floor(w / 4) * 4), (w = w % 4), w)) { + case 1: + ;(T = i.height / 2 + i.top), v.unshift("rotate(90 " + T.toString() + " " + T.toString() + ")") + break + case 2: + v.unshift( + "rotate(180 " + (i.width / 2 + i.left).toString() + " " + (i.height / 2 + i.top).toString() + ")", + ) + break + case 3: + ;(T = i.width / 2 + i.left), v.unshift("rotate(-90 " + T.toString() + " " + T.toString() + ")") + break + } + w % 2 === 1 && + (i.left !== i.top && ((T = i.left), (i.left = i.top), (i.top = T)), + i.width !== i.height && ((T = i.width), (i.width = i.height), (i.height = T))), + v.length && (a = SZ(a, '<g transform="' + v.join(" ") + '">', "</g>")) + }) + const s = n.width, + o = n.height, + l = i.width, + u = i.height + let h, d + s === null + ? ((d = o === null ? "1em" : o === "auto" ? u : o), (h = Y7(d, l / u))) + : ((h = s === "auto" ? l : s), (d = o === null ? Y7(h, u / l) : o === "auto" ? u : o)) + const f = {}, + p = (m, v) => { + CZ(v) || (f[m] = v.toString()) + } + p("width", h), p("height", d) + const g = [i.left, i.top, l, u] + return (f.viewBox = g.join(" ")), { attributes: f, viewBox: g, body: a } +} +const _Z = /\sid="(\S+)"/g, + LZ = "IconifyId" + Date.now().toString(16) + ((Math.random() * 16777216) | 0).toString(16) +let RZ = 0 +function NZ(t, e = LZ) { + const r = [] + let n + for (; (n = _Z.exec(t)); ) r.push(n[1]) + if (!r.length) return t + const i = "suffix" + ((Math.random() * 16777216) | Date.now()).toString(16) + return ( + r.forEach((a) => { + const s = typeof e == "function" ? e(a) : e + (RZ++).toString(), + o = a.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + t = t.replace(new RegExp('([#;"])(' + o + ')([")]|\\.[a-z])', "g"), "$1" + s + i + "$3") + }), + (t = t.replace(new RegExp(i, "g"), "")), + t + ) +} +function DZ(t, e) { + let r = t.indexOf("xlink:") === -1 ? "" : ' xmlns:xlink="http://www.w3.org/1999/xlink"' + for (const n in e) r += " " + n + '="' + e[n] + '"' + return '<svg xmlns="http://www.w3.org/2000/svg"' + r + ">" + t + "</svg>" +} +var WM = { + body: '<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>', + height: 80, + width: 80, + }, + B3 = new Map(), + HM = new Map(), + YM = x((t) => { + for (const e of t) { + if (!e.name) + throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.') + if ((ie.debug("Registering icon pack:", e.name), "loader" in e)) HM.set(e.name, e.loader) + else if ("icons" in e) B3.set(e.name, e.icons) + else + throw ( + (ie.error("Invalid icon loader:", e), + new Error('Invalid icon loader. Must have either "icons" or "loader" property.')) + ) + } + }, "registerIconPacks"), + IZ = x(async (t, e) => { + const r = vZ(t, !0, e !== void 0) + if (!r) throw new Error(`Invalid icon name: ${t}`) + const n = r.prefix || e + if (!n) throw new Error(`Icon name must contain a prefix: ${t}`) + let i = B3.get(n) + if (!i) { + const s = HM.get(n) + if (!s) throw new Error(`Icon set not found: ${r.prefix}`) + try { + ;(i = { ...(await s()), prefix: n }), B3.set(n, i) + } catch (o) { + throw (ie.error(o), new Error(`Failed to load icon set: ${r.prefix}`)) + } + } + const a = bZ(i, r.name) + if (!a) throw new Error(`Icon not found: ${t}`) + return a + }, "getRegisteredIconData"), + Uc = x(async (t, e) => { + let r + try { + r = await IZ(t, e == null ? void 0 : e.fallbackPrefix) + } catch (a) { + ie.error(a), (r = WM) + } + const n = AZ(r, e) + return DZ(NZ(n.body), n.attributes) + }, "getIconSVG"), + Lf = {}, + Cn = {}, + X7 +function MZ() { + return ( + X7 || + ((X7 = 1), + Object.defineProperty(Cn, "__esModule", { value: !0 }), + (Cn.BLANK_URL = + Cn.relativeFirstCharacters = + Cn.whitespaceEscapeCharsRegex = + Cn.urlSchemeRegex = + Cn.ctrlCharactersRegex = + Cn.htmlCtrlEntityRegex = + Cn.htmlEntitiesRegex = + Cn.invalidProtocolRegex = + void 0), + (Cn.invalidProtocolRegex = /^([^\w]*)(javascript|data|vbscript)/im), + (Cn.htmlEntitiesRegex = /&#(\w+)(^\w|;)?/g), + (Cn.htmlCtrlEntityRegex = /&(newline|tab);/gi), + (Cn.ctrlCharactersRegex = /[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim), + (Cn.urlSchemeRegex = /^.+(:|:)/gim), + (Cn.whitespaceEscapeCharsRegex = /(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g), + (Cn.relativeFirstCharacters = [".", "/"]), + (Cn.BLANK_URL = "about:blank")), + Cn + ) +} +var j7 +function OZ() { + if (j7) return Lf + ;(j7 = 1), Object.defineProperty(Lf, "__esModule", { value: !0 }), (Lf.sanitizeUrl = void 0) + var t = MZ() + function e(s) { + return t.relativeFirstCharacters.indexOf(s[0]) > -1 + } + function r(s) { + var o = s.replace(t.ctrlCharactersRegex, "") + return o.replace(t.htmlEntitiesRegex, function (l, u) { + return String.fromCharCode(u) + }) + } + function n(s) { + return URL.canParse(s) + } + function i(s) { + try { + return decodeURIComponent(s) + } catch { + return s + } + } + function a(s) { + if (!s) return t.BLANK_URL + var o, + l = i(s.trim()) + do + (l = r(l) + .replace(t.htmlCtrlEntityRegex, "") + .replace(t.ctrlCharactersRegex, "") + .replace(t.whitespaceEscapeCharsRegex, "") + .trim()), + (l = i(l)), + (o = + l.match(t.ctrlCharactersRegex) || + l.match(t.htmlEntitiesRegex) || + l.match(t.htmlCtrlEntityRegex) || + l.match(t.whitespaceEscapeCharsRegex)) + while (o && o.length > 0) + var u = l + if (!u) return t.BLANK_URL + if (e(u)) return u + var h = u.trimStart(), + d = h.match(t.urlSchemeRegex) + if (!d) return u + var f = d[0].toLowerCase().trim() + if (t.invalidProtocolRegex.test(f)) return t.BLANK_URL + var p = h.replace(/\\/g, "/") + if (f === "mailto:" || f.includes("://")) return p + if (f === "http:" || f === "https:") { + if (!n(p)) return t.BLANK_URL + var g = new URL(p) + return (g.protocol = g.protocol.toLowerCase()), (g.hostname = g.hostname.toLowerCase()), g.toString() + } + return p + } + return (Lf.sanitizeUrl = a), Lf +} +var fu = OZ() +function gm(t, e) { + return t == null || e == null ? NaN : t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN +} +function PZ(t, e) { + return t == null || e == null ? NaN : e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN +} +function HT(t) { + let e, r, n + t.length !== 2 + ? ((e = gm), (r = (o, l) => gm(t(o), l)), (n = (o, l) => t(o) - l)) + : ((e = t === gm || t === PZ ? t : BZ), (r = t), (n = t)) + function i(o, l, u = 0, h = o.length) { + if (u < h) { + if (e(l, l) !== 0) return h + do { + const d = (u + h) >>> 1 + r(o[d], l) < 0 ? (u = d + 1) : (h = d) + } while (u < h) + } + return u + } + function a(o, l, u = 0, h = o.length) { + if (u < h) { + if (e(l, l) !== 0) return h + do { + const d = (u + h) >>> 1 + r(o[d], l) <= 0 ? (u = d + 1) : (h = d) + } while (u < h) + } + return u + } + function s(o, l, u = 0, h = o.length) { + const d = i(o, l, u, h - 1) + return d > u && n(o[d - 1], l) > -n(o[d], l) ? d - 1 : d + } + return { left: i, center: s, right: a } +} +function BZ() { + return 0 +} +function FZ(t) { + return t === null ? NaN : +t +} +const $Z = HT(gm), + zZ = $Z.right +HT(FZ).center +class K7 extends Map { + constructor(e, r = UZ) { + if ((super(), Object.defineProperties(this, { _intern: { value: new Map() }, _key: { value: r } }), e != null)) + for (const [n, i] of e) this.set(n, i) + } + get(e) { + return super.get(Z7(this, e)) + } + has(e) { + return super.has(Z7(this, e)) + } + set(e, r) { + return super.set(VZ(this, e), r) + } + delete(e) { + return super.delete(GZ(this, e)) + } +} +function Z7({ _intern: t, _key: e }, r) { + const n = e(r) + return t.has(n) ? t.get(n) : r +} +function VZ({ _intern: t, _key: e }, r) { + const n = e(r) + return t.has(n) ? t.get(n) : (t.set(n, r), r) +} +function GZ({ _intern: t, _key: e }, r) { + const n = e(r) + return t.has(n) && ((r = t.get(n)), t.delete(n)), r +} +function UZ(t) { + return t !== null && typeof t == "object" ? t.valueOf() : t +} +const qZ = Math.sqrt(50), + WZ = Math.sqrt(10), + HZ = Math.sqrt(2) +function Nv(t, e, r) { + const n = (e - t) / Math.max(0, r), + i = Math.floor(Math.log10(n)), + a = n / Math.pow(10, i), + s = a >= qZ ? 10 : a >= WZ ? 5 : a >= HZ ? 2 : 1 + let o, l, u + return ( + i < 0 + ? ((u = Math.pow(10, -i) / s), + (o = Math.round(t * u)), + (l = Math.round(e * u)), + o / u < t && ++o, + l / u > e && --l, + (u = -u)) + : ((u = Math.pow(10, i) * s), + (o = Math.round(t / u)), + (l = Math.round(e / u)), + o * u < t && ++o, + l * u > e && --l), + l < o && 0.5 <= r && r < 2 ? Nv(t, e, r * 2) : [o, l, u] + ) +} +function YZ(t, e, r) { + if (((e = +e), (t = +t), (r = +r), !(r > 0))) return [] + if (t === e) return [t] + const n = e < t, + [i, a, s] = n ? Nv(e, t, r) : Nv(t, e, r) + if (!(a >= i)) return [] + const o = a - i + 1, + l = new Array(o) + if (n) + if (s < 0) for (let u = 0; u < o; ++u) l[u] = (a - u) / -s + else for (let u = 0; u < o; ++u) l[u] = (a - u) * s + else if (s < 0) for (let u = 0; u < o; ++u) l[u] = (i + u) / -s + else for (let u = 0; u < o; ++u) l[u] = (i + u) * s + return l +} +function F3(t, e, r) { + return (e = +e), (t = +t), (r = +r), Nv(t, e, r)[2] +} +function $3(t, e, r) { + ;(e = +e), (t = +t), (r = +r) + const n = e < t, + i = n ? F3(e, t, r) : F3(t, e, r) + return (n ? -1 : 1) * (i < 0 ? 1 / -i : i) +} +function XZ(t, e) { + let r + if (e === void 0) for (const n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n) + else { + let n = -1 + for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i) + } + return r +} +function jZ(t, e) { + let r + if (e === void 0) for (const n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n) + else { + let n = -1 + for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i) + } + return r +} +function KZ(t, e, r) { + ;(t = +t), (e = +e), (r = (i = arguments.length) < 2 ? ((e = t), (t = 0), 1) : i < 3 ? 1 : +r) + for (var n = -1, i = Math.max(0, Math.ceil((e - t) / r)) | 0, a = new Array(i); ++n < i; ) a[n] = t + n * r + return a +} +function ZZ(t) { + return t +} +var mm = 1, + wb = 2, + z3 = 3, + h1 = 4, + Q7 = 1e-6 +function QZ(t) { + return "translate(" + t + ",0)" +} +function JZ(t) { + return "translate(0," + t + ")" +} +function eQ(t) { + return (e) => +t(e) +} +function tQ(t, e) { + return (e = Math.max(0, t.bandwidth() - e * 2) / 2), t.round() && (e = Math.round(e)), (r) => +t(r) + e +} +function rQ() { + return !this.__axis +} +function XM(t, e) { + var r = [], + n = null, + i = null, + a = 6, + s = 6, + o = 3, + l = typeof window < "u" && window.devicePixelRatio > 1 ? 0 : 0.5, + u = t === mm || t === h1 ? -1 : 1, + h = t === h1 || t === wb ? "x" : "y", + d = t === mm || t === z3 ? QZ : JZ + function f(p) { + var g = n ?? (e.ticks ? e.ticks.apply(e, r) : e.domain()), + m = i ?? (e.tickFormat ? e.tickFormat.apply(e, r) : ZZ), + v = Math.max(a, 0) + o, + y = e.range(), + b = +y[0] + l, + w = +y[y.length - 1] + l, + T = (e.bandwidth ? tQ : eQ)(e.copy(), l), + E = p.selection ? p.selection() : p, + S = E.selectAll(".domain").data([null]), + k = E.selectAll(".tick").data(g, e).order(), + L = k.exit(), + A = k.enter().append("g").attr("class", "tick"), + R = k.select("line"), + C = k.select("text") + ;(S = S.merge(S.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor"))), + (k = k.merge(A)), + (R = R.merge( + A.append("line") + .attr("stroke", "currentColor") + .attr(h + "2", u * a), + )), + (C = C.merge( + A.append("text") + .attr("fill", "currentColor") + .attr(h, u * v) + .attr("dy", t === mm ? "0em" : t === z3 ? "0.71em" : "0.32em"), + )), + p !== E && + ((S = S.transition(p)), + (k = k.transition(p)), + (R = R.transition(p)), + (C = C.transition(p)), + (L = L.transition(p) + .attr("opacity", Q7) + .attr("transform", function (I) { + return isFinite((I = T(I))) ? d(I + l) : this.getAttribute("transform") + })), + A.attr("opacity", Q7).attr("transform", function (I) { + var P = this.parentNode.__axis + return d((P && isFinite((P = P(I))) ? P : T(I)) + l) + })), + L.remove(), + S.attr( + "d", + t === h1 || t === wb + ? s + ? "M" + u * s + "," + b + "H" + l + "V" + w + "H" + u * s + : "M" + l + "," + b + "V" + w + : s + ? "M" + b + "," + u * s + "V" + l + "H" + w + "V" + u * s + : "M" + b + "," + l + "H" + w, + ), + k.attr("opacity", 1).attr("transform", function (I) { + return d(T(I) + l) + }), + R.attr(h + "2", u * a), + C.attr(h, u * v).text(m), + E.filter(rQ) + .attr("fill", "none") + .attr("font-size", 10) + .attr("font-family", "sans-serif") + .attr("text-anchor", t === wb ? "start" : t === h1 ? "end" : "middle"), + E.each(function () { + this.__axis = T + }) + } + return ( + (f.scale = function (p) { + return arguments.length ? ((e = p), f) : e + }), + (f.ticks = function () { + return (r = Array.from(arguments)), f + }), + (f.tickArguments = function (p) { + return arguments.length ? ((r = p == null ? [] : Array.from(p)), f) : r.slice() + }), + (f.tickValues = function (p) { + return arguments.length ? ((n = p == null ? null : Array.from(p)), f) : n && n.slice() + }), + (f.tickFormat = function (p) { + return arguments.length ? ((i = p), f) : i + }), + (f.tickSize = function (p) { + return arguments.length ? ((a = s = +p), f) : a + }), + (f.tickSizeInner = function (p) { + return arguments.length ? ((a = +p), f) : a + }), + (f.tickSizeOuter = function (p) { + return arguments.length ? ((s = +p), f) : s + }), + (f.tickPadding = function (p) { + return arguments.length ? ((o = +p), f) : o + }), + (f.offset = function (p) { + return arguments.length ? ((l = +p), f) : l + }), + f + ) +} +function nQ(t) { + return XM(mm, t) +} +function iQ(t) { + return XM(z3, t) +} +var aQ = { value: () => {} } +function jM() { + for (var t = 0, e = arguments.length, r = {}, n; t < e; ++t) { + if (!(n = arguments[t] + "") || n in r || /[\s.]/.test(n)) throw new Error("illegal type: " + n) + r[n] = [] + } + return new vm(r) +} +function vm(t) { + this._ = t +} +function sQ(t, e) { + return t + .trim() + .split(/^|\s+/) + .map(function (r) { + var n = "", + i = r.indexOf(".") + if ((i >= 0 && ((n = r.slice(i + 1)), (r = r.slice(0, i))), r && !e.hasOwnProperty(r))) + throw new Error("unknown type: " + r) + return { type: r, name: n } + }) +} +vm.prototype = jM.prototype = { + constructor: vm, + on: function (t, e) { + var r = this._, + n = sQ(t + "", r), + i, + a = -1, + s = n.length + if (arguments.length < 2) { + for (; ++a < s; ) if ((i = (t = n[a]).type) && (i = oQ(r[i], t.name))) return i + return + } + if (e != null && typeof e != "function") throw new Error("invalid callback: " + e) + for (; ++a < s; ) + if ((i = (t = n[a]).type)) r[i] = J7(r[i], t.name, e) + else if (e == null) for (i in r) r[i] = J7(r[i], t.name, null) + return this + }, + copy: function () { + var t = {}, + e = this._ + for (var r in e) t[r] = e[r].slice() + return new vm(t) + }, + call: function (t, e) { + if ((i = arguments.length - 2) > 0) for (var r = new Array(i), n = 0, i, a; n < i; ++n) r[n] = arguments[n + 2] + if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t) + for (a = this._[t], n = 0, i = a.length; n < i; ++n) a[n].value.apply(e, r) + }, + apply: function (t, e, r) { + if (!this._.hasOwnProperty(t)) throw new Error("unknown type: " + t) + for (var n = this._[t], i = 0, a = n.length; i < a; ++i) n[i].value.apply(e, r) + }, +} +function oQ(t, e) { + for (var r = 0, n = t.length, i; r < n; ++r) if ((i = t[r]).name === e) return i.value +} +function J7(t, e, r) { + for (var n = 0, i = t.length; n < i; ++n) + if (t[n].name === e) { + ;(t[n] = aQ), (t = t.slice(0, n).concat(t.slice(n + 1))) + break + } + return r != null && t.push({ name: e, value: r }), t +} +var V3 = "http://www.w3.org/1999/xhtml" +const eC = { + svg: "http://www.w3.org/2000/svg", + xhtml: V3, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/", +} +function _2(t) { + var e = (t += ""), + r = e.indexOf(":") + return ( + r >= 0 && (e = t.slice(0, r)) !== "xmlns" && (t = t.slice(r + 1)), + eC.hasOwnProperty(e) ? { space: eC[e], local: t } : t + ) +} +function lQ(t) { + return function () { + var e = this.ownerDocument, + r = this.namespaceURI + return r === V3 && e.documentElement.namespaceURI === V3 ? e.createElement(t) : e.createElementNS(r, t) + } +} +function cQ(t) { + return function () { + return this.ownerDocument.createElementNS(t.space, t.local) + } +} +function KM(t) { + var e = _2(t) + return (e.local ? cQ : lQ)(e) +} +function uQ() {} +function YT(t) { + return t == null + ? uQ + : function () { + return this.querySelector(t) + } +} +function hQ(t) { + typeof t != "function" && (t = YT(t)) + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, o = (n[i] = new Array(s)), l, u, h = 0; h < s; ++h) + (l = a[h]) && + (u = t.call(l, l.__data__, h, a)) && + ("__data__" in l && (u.__data__ = l.__data__), (o[h] = u)) + return new _a(n, this._parents) +} +function dQ(t) { + return t == null ? [] : Array.isArray(t) ? t : Array.from(t) +} +function fQ() { + return [] +} +function ZM(t) { + return t == null + ? fQ + : function () { + return this.querySelectorAll(t) + } +} +function pQ(t) { + return function () { + return dQ(t.apply(this, arguments)) + } +} +function gQ(t) { + typeof t == "function" ? (t = pQ(t)) : (t = ZM(t)) + for (var e = this._groups, r = e.length, n = [], i = [], a = 0; a < r; ++a) + for (var s = e[a], o = s.length, l, u = 0; u < o; ++u) + (l = s[u]) && (n.push(t.call(l, l.__data__, u, s)), i.push(l)) + return new _a(n, i) +} +function QM(t) { + return function () { + return this.matches(t) + } +} +function JM(t) { + return function (e) { + return e.matches(t) + } +} +var mQ = Array.prototype.find +function vQ(t) { + return function () { + return mQ.call(this.children, t) + } +} +function yQ() { + return this.firstElementChild +} +function xQ(t) { + return this.select(t == null ? yQ : vQ(typeof t == "function" ? t : JM(t))) +} +var bQ = Array.prototype.filter +function wQ() { + return Array.from(this.children) +} +function TQ(t) { + return function () { + return bQ.call(this.children, t) + } +} +function EQ(t) { + return this.selectAll(t == null ? wQ : TQ(typeof t == "function" ? t : JM(t))) +} +function kQ(t) { + typeof t != "function" && (t = QM(t)) + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, o = (n[i] = []), l, u = 0; u < s; ++u) + (l = a[u]) && t.call(l, l.__data__, u, a) && o.push(l) + return new _a(n, this._parents) +} +function eO(t) { + return new Array(t.length) +} +function SQ() { + return new _a(this._enter || this._groups.map(eO), this._parents) +} +function Dv(t, e) { + ;(this.ownerDocument = t.ownerDocument), + (this.namespaceURI = t.namespaceURI), + (this._next = null), + (this._parent = t), + (this.__data__ = e) +} +Dv.prototype = { + constructor: Dv, + appendChild: function (t) { + return this._parent.insertBefore(t, this._next) + }, + insertBefore: function (t, e) { + return this._parent.insertBefore(t, e) + }, + querySelector: function (t) { + return this._parent.querySelector(t) + }, + querySelectorAll: function (t) { + return this._parent.querySelectorAll(t) + }, +} +function CQ(t) { + return function () { + return t + } +} +function AQ(t, e, r, n, i, a) { + for (var s = 0, o, l = e.length, u = a.length; s < u; ++s) + (o = e[s]) ? ((o.__data__ = a[s]), (n[s] = o)) : (r[s] = new Dv(t, a[s])) + for (; s < l; ++s) (o = e[s]) && (i[s] = o) +} +function _Q(t, e, r, n, i, a, s) { + var o, + l, + u = new Map(), + h = e.length, + d = a.length, + f = new Array(h), + p + for (o = 0; o < h; ++o) + (l = e[o]) && ((f[o] = p = s.call(l, l.__data__, o, e) + ""), u.has(p) ? (i[o] = l) : u.set(p, l)) + for (o = 0; o < d; ++o) + (p = s.call(t, a[o], o, a) + ""), + (l = u.get(p)) ? ((n[o] = l), (l.__data__ = a[o]), u.delete(p)) : (r[o] = new Dv(t, a[o])) + for (o = 0; o < h; ++o) (l = e[o]) && u.get(f[o]) === l && (i[o] = l) +} +function LQ(t) { + return t.__data__ +} +function RQ(t, e) { + if (!arguments.length) return Array.from(this, LQ) + var r = e ? _Q : AQ, + n = this._parents, + i = this._groups + typeof t != "function" && (t = CQ(t)) + for (var a = i.length, s = new Array(a), o = new Array(a), l = new Array(a), u = 0; u < a; ++u) { + var h = n[u], + d = i[u], + f = d.length, + p = NQ(t.call(h, h && h.__data__, u, n)), + g = p.length, + m = (o[u] = new Array(g)), + v = (s[u] = new Array(g)), + y = (l[u] = new Array(f)) + r(h, d, m, v, y, p, e) + for (var b = 0, w = 0, T, E; b < g; ++b) + if ((T = m[b])) { + for (b >= w && (w = b + 1); !(E = v[w]) && ++w < g; ); + T._next = E || null + } + } + return (s = new _a(s, n)), (s._enter = o), (s._exit = l), s +} +function NQ(t) { + return typeof t == "object" && "length" in t ? t : Array.from(t) +} +function DQ() { + return new _a(this._exit || this._groups.map(eO), this._parents) +} +function IQ(t, e, r) { + var n = this.enter(), + i = this, + a = this.exit() + return ( + typeof t == "function" ? ((n = t(n)), n && (n = n.selection())) : (n = n.append(t + "")), + e != null && ((i = e(i)), i && (i = i.selection())), + r == null ? a.remove() : r(a), + n && i ? n.merge(i).order() : i + ) +} +function MQ(t) { + for ( + var e = t.selection ? t.selection() : t, + r = this._groups, + n = e._groups, + i = r.length, + a = n.length, + s = Math.min(i, a), + o = new Array(i), + l = 0; + l < s; + ++l + ) + for (var u = r[l], h = n[l], d = u.length, f = (o[l] = new Array(d)), p, g = 0; g < d; ++g) + (p = u[g] || h[g]) && (f[g] = p) + for (; l < i; ++l) o[l] = r[l] + return new _a(o, this._parents) +} +function OQ() { + for (var t = this._groups, e = -1, r = t.length; ++e < r; ) + for (var n = t[e], i = n.length - 1, a = n[i], s; --i >= 0; ) + (s = n[i]) && (a && s.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(s, a), (a = s)) + return this +} +function PQ(t) { + t || (t = BQ) + function e(d, f) { + return d && f ? t(d.__data__, f.__data__) : !d - !f + } + for (var r = this._groups, n = r.length, i = new Array(n), a = 0; a < n; ++a) { + for (var s = r[a], o = s.length, l = (i[a] = new Array(o)), u, h = 0; h < o; ++h) (u = s[h]) && (l[h] = u) + l.sort(e) + } + return new _a(i, this._parents).order() +} +function BQ(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN +} +function FQ() { + var t = arguments[0] + return (arguments[0] = this), t.apply(null, arguments), this +} +function $Q() { + return Array.from(this) +} +function zQ() { + for (var t = this._groups, e = 0, r = t.length; e < r; ++e) + for (var n = t[e], i = 0, a = n.length; i < a; ++i) { + var s = n[i] + if (s) return s + } + return null +} +function VQ() { + let t = 0 + for (const e of this) ++t + return t +} +function GQ() { + return !this.node() +} +function UQ(t) { + for (var e = this._groups, r = 0, n = e.length; r < n; ++r) + for (var i = e[r], a = 0, s = i.length, o; a < s; ++a) (o = i[a]) && t.call(o, o.__data__, a, i) + return this +} +function qQ(t) { + return function () { + this.removeAttribute(t) + } +} +function WQ(t) { + return function () { + this.removeAttributeNS(t.space, t.local) + } +} +function HQ(t, e) { + return function () { + this.setAttribute(t, e) + } +} +function YQ(t, e) { + return function () { + this.setAttributeNS(t.space, t.local, e) + } +} +function XQ(t, e) { + return function () { + var r = e.apply(this, arguments) + r == null ? this.removeAttribute(t) : this.setAttribute(t, r) + } +} +function jQ(t, e) { + return function () { + var r = e.apply(this, arguments) + r == null ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, r) + } +} +function KQ(t, e) { + var r = _2(t) + if (arguments.length < 2) { + var n = this.node() + return r.local ? n.getAttributeNS(r.space, r.local) : n.getAttribute(r) + } + return this.each( + (e == null ? (r.local ? WQ : qQ) : typeof e == "function" ? (r.local ? jQ : XQ) : r.local ? YQ : HQ)(r, e), + ) +} +function tO(t) { + return (t.ownerDocument && t.ownerDocument.defaultView) || (t.document && t) || t.defaultView +} +function ZQ(t) { + return function () { + this.style.removeProperty(t) + } +} +function QQ(t, e, r) { + return function () { + this.style.setProperty(t, e, r) + } +} +function JQ(t, e, r) { + return function () { + var n = e.apply(this, arguments) + n == null ? this.style.removeProperty(t) : this.style.setProperty(t, n, r) + } +} +function eJ(t, e, r) { + return arguments.length > 1 + ? this.each((e == null ? ZQ : typeof e == "function" ? JQ : QQ)(t, e, r ?? "")) + : Sd(this.node(), t) +} +function Sd(t, e) { + return t.style.getPropertyValue(e) || tO(t).getComputedStyle(t, null).getPropertyValue(e) +} +function tJ(t) { + return function () { + delete this[t] + } +} +function rJ(t, e) { + return function () { + this[t] = e + } +} +function nJ(t, e) { + return function () { + var r = e.apply(this, arguments) + r == null ? delete this[t] : (this[t] = r) + } +} +function iJ(t, e) { + return arguments.length > 1 ? this.each((e == null ? tJ : typeof e == "function" ? nJ : rJ)(t, e)) : this.node()[t] +} +function rO(t) { + return t.trim().split(/^|\s+/) +} +function XT(t) { + return t.classList || new nO(t) +} +function nO(t) { + ;(this._node = t), (this._names = rO(t.getAttribute("class") || "")) +} +nO.prototype = { + add: function (t) { + var e = this._names.indexOf(t) + e < 0 && (this._names.push(t), this._node.setAttribute("class", this._names.join(" "))) + }, + remove: function (t) { + var e = this._names.indexOf(t) + e >= 0 && (this._names.splice(e, 1), this._node.setAttribute("class", this._names.join(" "))) + }, + contains: function (t) { + return this._names.indexOf(t) >= 0 + }, +} +function iO(t, e) { + for (var r = XT(t), n = -1, i = e.length; ++n < i; ) r.add(e[n]) +} +function aO(t, e) { + for (var r = XT(t), n = -1, i = e.length; ++n < i; ) r.remove(e[n]) +} +function aJ(t) { + return function () { + iO(this, t) + } +} +function sJ(t) { + return function () { + aO(this, t) + } +} +function oJ(t, e) { + return function () { + ;(e.apply(this, arguments) ? iO : aO)(this, t) + } +} +function lJ(t, e) { + var r = rO(t + "") + if (arguments.length < 2) { + for (var n = XT(this.node()), i = -1, a = r.length; ++i < a; ) if (!n.contains(r[i])) return !1 + return !0 + } + return this.each((typeof e == "function" ? oJ : e ? aJ : sJ)(r, e)) +} +function cJ() { + this.textContent = "" +} +function uJ(t) { + return function () { + this.textContent = t + } +} +function hJ(t) { + return function () { + var e = t.apply(this, arguments) + this.textContent = e ?? "" + } +} +function dJ(t) { + return arguments.length + ? this.each(t == null ? cJ : (typeof t == "function" ? hJ : uJ)(t)) + : this.node().textContent +} +function fJ() { + this.innerHTML = "" +} +function pJ(t) { + return function () { + this.innerHTML = t + } +} +function gJ(t) { + return function () { + var e = t.apply(this, arguments) + this.innerHTML = e ?? "" + } +} +function mJ(t) { + return arguments.length ? this.each(t == null ? fJ : (typeof t == "function" ? gJ : pJ)(t)) : this.node().innerHTML +} +function vJ() { + this.nextSibling && this.parentNode.appendChild(this) +} +function yJ() { + return this.each(vJ) +} +function xJ() { + this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild) +} +function bJ() { + return this.each(xJ) +} +function wJ(t) { + var e = typeof t == "function" ? t : KM(t) + return this.select(function () { + return this.appendChild(e.apply(this, arguments)) + }) +} +function TJ() { + return null +} +function EJ(t, e) { + var r = typeof t == "function" ? t : KM(t), + n = e == null ? TJ : typeof e == "function" ? e : YT(e) + return this.select(function () { + return this.insertBefore(r.apply(this, arguments), n.apply(this, arguments) || null) + }) +} +function kJ() { + var t = this.parentNode + t && t.removeChild(this) +} +function SJ() { + return this.each(kJ) +} +function CJ() { + var t = this.cloneNode(!1), + e = this.parentNode + return e ? e.insertBefore(t, this.nextSibling) : t +} +function AJ() { + var t = this.cloneNode(!0), + e = this.parentNode + return e ? e.insertBefore(t, this.nextSibling) : t +} +function _J(t) { + return this.select(t ? AJ : CJ) +} +function LJ(t) { + return arguments.length ? this.property("__data__", t) : this.node().__data__ +} +function RJ(t) { + return function (e) { + t.call(this, e, this.__data__) + } +} +function NJ(t) { + return t + .trim() + .split(/^|\s+/) + .map(function (e) { + var r = "", + n = e.indexOf(".") + return n >= 0 && ((r = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: r } + }) +} +function DJ(t) { + return function () { + var e = this.__on + if (e) { + for (var r = 0, n = -1, i = e.length, a; r < i; ++r) + (a = e[r]), + (!t.type || a.type === t.type) && a.name === t.name + ? this.removeEventListener(a.type, a.listener, a.options) + : (e[++n] = a) + ++n ? (e.length = n) : delete this.__on + } + } +} +function IJ(t, e, r) { + return function () { + var n = this.__on, + i, + a = RJ(e) + if (n) { + for (var s = 0, o = n.length; s < o; ++s) + if ((i = n[s]).type === t.type && i.name === t.name) { + this.removeEventListener(i.type, i.listener, i.options), + this.addEventListener(i.type, (i.listener = a), (i.options = r)), + (i.value = e) + return + } + } + this.addEventListener(t.type, a, r), + (i = { type: t.type, name: t.name, value: e, listener: a, options: r }), + n ? n.push(i) : (this.__on = [i]) + } +} +function MJ(t, e, r) { + var n = NJ(t + ""), + i, + a = n.length, + s + if (arguments.length < 2) { + var o = this.node().__on + if (o) { + for (var l = 0, u = o.length, h; l < u; ++l) + for (i = 0, h = o[l]; i < a; ++i) if ((s = n[i]).type === h.type && s.name === h.name) return h.value + } + return + } + for (o = e ? IJ : DJ, i = 0; i < a; ++i) this.each(o(n[i], e, r)) + return this +} +function sO(t, e, r) { + var n = tO(t), + i = n.CustomEvent + typeof i == "function" + ? (i = new i(e, r)) + : ((i = n.document.createEvent("Event")), + r ? (i.initEvent(e, r.bubbles, r.cancelable), (i.detail = r.detail)) : i.initEvent(e, !1, !1)), + t.dispatchEvent(i) +} +function OJ(t, e) { + return function () { + return sO(this, t, e) + } +} +function PJ(t, e) { + return function () { + return sO(this, t, e.apply(this, arguments)) + } +} +function BJ(t, e) { + return this.each((typeof e == "function" ? PJ : OJ)(t, e)) +} +function* FJ() { + for (var t = this._groups, e = 0, r = t.length; e < r; ++e) + for (var n = t[e], i = 0, a = n.length, s; i < a; ++i) (s = n[i]) && (yield s) +} +var oO = [null] +function _a(t, e) { + ;(this._groups = t), (this._parents = e) +} +function hg() { + return new _a([[document.documentElement]], oO) +} +function $J() { + return this +} +_a.prototype = hg.prototype = { + constructor: _a, + select: hQ, + selectAll: gQ, + selectChild: xQ, + selectChildren: EQ, + filter: kQ, + data: RQ, + enter: SQ, + exit: DQ, + join: IQ, + merge: MQ, + selection: $J, + order: OQ, + sort: PQ, + call: FQ, + nodes: $Q, + node: zQ, + size: VQ, + empty: GQ, + each: UQ, + attr: KQ, + style: eJ, + property: iJ, + classed: lJ, + text: dJ, + html: mJ, + raise: yJ, + lower: bJ, + append: wJ, + insert: EJ, + remove: SJ, + clone: _J, + datum: LJ, + on: MJ, + dispatch: BJ, + [Symbol.iterator]: FJ, +} +function rt(t) { + return typeof t == "string" ? new _a([[document.querySelector(t)]], [document.documentElement]) : new _a([[t]], oO) +} +function dg(t, e, r) { + ;(t.prototype = e.prototype = r), (r.constructor = t) +} +function L2(t, e) { + var r = Object.create(t.prototype) + for (var n in e) r[n] = e[n] + return r +} +function pu() {} +var bp = 0.7, + Iv = 1 / bp, + ph = "\\s*([+-]?\\d+)\\s*", + wp = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", + Xs = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", + zJ = /^#([0-9a-f]{3,8})$/, + VJ = new RegExp(`^rgb\\(${ph},${ph},${ph}\\)$`), + GJ = new RegExp(`^rgb\\(${Xs},${Xs},${Xs}\\)$`), + UJ = new RegExp(`^rgba\\(${ph},${ph},${ph},${wp}\\)$`), + qJ = new RegExp(`^rgba\\(${Xs},${Xs},${Xs},${wp}\\)$`), + WJ = new RegExp(`^hsl\\(${wp},${Xs},${Xs}\\)$`), + HJ = new RegExp(`^hsla\\(${wp},${Xs},${Xs},${wp}\\)$`), + tC = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + } +dg(pu, qc, { + copy(t) { + return Object.assign(new this.constructor(), this, t) + }, + displayable() { + return this.rgb().displayable() + }, + hex: rC, + formatHex: rC, + formatHex8: YJ, + formatHsl: XJ, + formatRgb: nC, + toString: nC, +}) +function rC() { + return this.rgb().formatHex() +} +function YJ() { + return this.rgb().formatHex8() +} +function XJ() { + return cO(this).formatHsl() +} +function nC() { + return this.rgb().formatRgb() +} +function qc(t) { + var e, r + return ( + (t = (t + "").trim().toLowerCase()), + (e = zJ.exec(t)) + ? ((r = e[1].length), + (e = parseInt(e[1], 16)), + r === 6 + ? iC(e) + : r === 3 + ? new Ti( + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (e & 240), + ((e & 15) << 4) | (e & 15), + 1, + ) + : r === 8 + ? d1((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (e & 255) / 255) + : r === 4 + ? d1( + ((e >> 12) & 15) | ((e >> 8) & 240), + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (e & 240), + (((e & 15) << 4) | (e & 15)) / 255, + ) + : null) + : (e = VJ.exec(t)) + ? new Ti(e[1], e[2], e[3], 1) + : (e = GJ.exec(t)) + ? new Ti((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, 1) + : (e = UJ.exec(t)) + ? d1(e[1], e[2], e[3], e[4]) + : (e = qJ.exec(t)) + ? d1((e[1] * 255) / 100, (e[2] * 255) / 100, (e[3] * 255) / 100, e[4]) + : (e = WJ.exec(t)) + ? oC(e[1], e[2] / 100, e[3] / 100, 1) + : (e = HJ.exec(t)) + ? oC(e[1], e[2] / 100, e[3] / 100, e[4]) + : tC.hasOwnProperty(t) + ? iC(tC[t]) + : t === "transparent" + ? new Ti(NaN, NaN, NaN, 0) + : null + ) +} +function iC(t) { + return new Ti((t >> 16) & 255, (t >> 8) & 255, t & 255, 1) +} +function d1(t, e, r, n) { + return n <= 0 && (t = e = r = NaN), new Ti(t, e, r, n) +} +function lO(t) { + return t instanceof pu || (t = qc(t)), t ? ((t = t.rgb()), new Ti(t.r, t.g, t.b, t.opacity)) : new Ti() +} +function G3(t, e, r, n) { + return arguments.length === 1 ? lO(t) : new Ti(t, e, r, n ?? 1) +} +function Ti(t, e, r, n) { + ;(this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n) +} +dg( + Ti, + G3, + L2(pu, { + brighter(t) { + return (t = t == null ? Iv : Math.pow(Iv, t)), new Ti(this.r * t, this.g * t, this.b * t, this.opacity) + }, + darker(t) { + return (t = t == null ? bp : Math.pow(bp, t)), new Ti(this.r * t, this.g * t, this.b * t, this.opacity) + }, + rgb() { + return this + }, + clamp() { + return new Ti($c(this.r), $c(this.g), $c(this.b), Mv(this.opacity)) + }, + displayable() { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ) + }, + hex: aC, + formatHex: aC, + formatHex8: jJ, + formatRgb: sC, + toString: sC, + }), +) +function aC() { + return `#${Dc(this.r)}${Dc(this.g)}${Dc(this.b)}` +} +function jJ() { + return `#${Dc(this.r)}${Dc(this.g)}${Dc(this.b)}${Dc((isNaN(this.opacity) ? 1 : this.opacity) * 255)}` +} +function sC() { + const t = Mv(this.opacity) + return `${t === 1 ? "rgb(" : "rgba("}${$c(this.r)}, ${$c(this.g)}, ${$c(this.b)}${t === 1 ? ")" : `, ${t})`}` +} +function Mv(t) { + return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)) +} +function $c(t) { + return Math.max(0, Math.min(255, Math.round(t) || 0)) +} +function Dc(t) { + return (t = $c(t)), (t < 16 ? "0" : "") + t.toString(16) +} +function oC(t, e, r, n) { + return n <= 0 ? (t = e = r = NaN) : r <= 0 || r >= 1 ? (t = e = NaN) : e <= 0 && (t = NaN), new ds(t, e, r, n) +} +function cO(t) { + if (t instanceof ds) return new ds(t.h, t.s, t.l, t.opacity) + if ((t instanceof pu || (t = qc(t)), !t)) return new ds() + if (t instanceof ds) return t + t = t.rgb() + var e = t.r / 255, + r = t.g / 255, + n = t.b / 255, + i = Math.min(e, r, n), + a = Math.max(e, r, n), + s = NaN, + o = a - i, + l = (a + i) / 2 + return ( + o + ? (e === a ? (s = (r - n) / o + (r < n) * 6) : r === a ? (s = (n - e) / o + 2) : (s = (e - r) / o + 4), + (o /= l < 0.5 ? a + i : 2 - a - i), + (s *= 60)) + : (o = l > 0 && l < 1 ? 0 : s), + new ds(s, o, l, t.opacity) + ) +} +function KJ(t, e, r, n) { + return arguments.length === 1 ? cO(t) : new ds(t, e, r, n ?? 1) +} +function ds(t, e, r, n) { + ;(this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n) +} +dg( + ds, + KJ, + L2(pu, { + brighter(t) { + return (t = t == null ? Iv : Math.pow(Iv, t)), new ds(this.h, this.s, this.l * t, this.opacity) + }, + darker(t) { + return (t = t == null ? bp : Math.pow(bp, t)), new ds(this.h, this.s, this.l * t, this.opacity) + }, + rgb() { + var t = (this.h % 360) + (this.h < 0) * 360, + e = isNaN(t) || isNaN(this.s) ? 0 : this.s, + r = this.l, + n = r + (r < 0.5 ? r : 1 - r) * e, + i = 2 * r - n + return new Ti( + Tb(t >= 240 ? t - 240 : t + 120, i, n), + Tb(t, i, n), + Tb(t < 120 ? t + 240 : t - 120, i, n), + this.opacity, + ) + }, + clamp() { + return new ds(lC(this.h), f1(this.s), f1(this.l), Mv(this.opacity)) + }, + displayable() { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ) + }, + formatHsl() { + const t = Mv(this.opacity) + return `${t === 1 ? "hsl(" : "hsla("}${lC(this.h)}, ${f1(this.s) * 100}%, ${f1(this.l) * 100}%${t === 1 ? ")" : `, ${t})`}` + }, + }), +) +function lC(t) { + return (t = (t || 0) % 360), t < 0 ? t + 360 : t +} +function f1(t) { + return Math.max(0, Math.min(1, t || 0)) +} +function Tb(t, e, r) { + return (t < 60 ? e + ((r - e) * t) / 60 : t < 180 ? r : t < 240 ? e + ((r - e) * (240 - t)) / 60 : e) * 255 +} +const ZJ = Math.PI / 180, + QJ = 180 / Math.PI, + Ov = 18, + uO = 0.96422, + hO = 1, + dO = 0.82521, + fO = 4 / 29, + gh = 6 / 29, + pO = 3 * gh * gh, + JJ = gh * gh * gh +function gO(t) { + if (t instanceof js) return new js(t.l, t.a, t.b, t.opacity) + if (t instanceof _o) return mO(t) + t instanceof Ti || (t = lO(t)) + var e = Cb(t.r), + r = Cb(t.g), + n = Cb(t.b), + i = Eb((0.2225045 * e + 0.7168786 * r + 0.0606169 * n) / hO), + a, + s + return ( + e === r && r === n + ? (a = s = i) + : ((a = Eb((0.4360747 * e + 0.3850649 * r + 0.1430804 * n) / uO)), + (s = Eb((0.0139322 * e + 0.0971045 * r + 0.7141733 * n) / dO))), + new js(116 * i - 16, 500 * (a - i), 200 * (i - s), t.opacity) + ) +} +function eee(t, e, r, n) { + return arguments.length === 1 ? gO(t) : new js(t, e, r, n ?? 1) +} +function js(t, e, r, n) { + ;(this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n) +} +dg( + js, + eee, + L2(pu, { + brighter(t) { + return new js(this.l + Ov * (t ?? 1), this.a, this.b, this.opacity) + }, + darker(t) { + return new js(this.l - Ov * (t ?? 1), this.a, this.b, this.opacity) + }, + rgb() { + var t = (this.l + 16) / 116, + e = isNaN(this.a) ? t : t + this.a / 500, + r = isNaN(this.b) ? t : t - this.b / 200 + return ( + (e = uO * kb(e)), + (t = hO * kb(t)), + (r = dO * kb(r)), + new Ti( + Sb(3.1338561 * e - 1.6168667 * t - 0.4906146 * r), + Sb(-0.9787684 * e + 1.9161415 * t + 0.033454 * r), + Sb(0.0719453 * e - 0.2289914 * t + 1.4052427 * r), + this.opacity, + ) + ) + }, + }), +) +function Eb(t) { + return t > JJ ? Math.pow(t, 1 / 3) : t / pO + fO +} +function kb(t) { + return t > gh ? t * t * t : pO * (t - fO) +} +function Sb(t) { + return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) +} +function Cb(t) { + return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4) +} +function tee(t) { + if (t instanceof _o) return new _o(t.h, t.c, t.l, t.opacity) + if ((t instanceof js || (t = gO(t)), t.a === 0 && t.b === 0)) + return new _o(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity) + var e = Math.atan2(t.b, t.a) * QJ + return new _o(e < 0 ? e + 360 : e, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity) +} +function U3(t, e, r, n) { + return arguments.length === 1 ? tee(t) : new _o(t, e, r, n ?? 1) +} +function _o(t, e, r, n) { + ;(this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n) +} +function mO(t) { + if (isNaN(t.h)) return new js(t.l, 0, 0, t.opacity) + var e = t.h * ZJ + return new js(t.l, Math.cos(e) * t.c, Math.sin(e) * t.c, t.opacity) +} +dg( + _o, + U3, + L2(pu, { + brighter(t) { + return new _o(this.h, this.c, this.l + Ov * (t ?? 1), this.opacity) + }, + darker(t) { + return new _o(this.h, this.c, this.l - Ov * (t ?? 1), this.opacity) + }, + rgb() { + return mO(this).rgb() + }, + }), +) +const R2 = (t) => () => t +function vO(t, e) { + return function (r) { + return t + r * e + } +} +function ree(t, e, r) { + return ( + (t = Math.pow(t, r)), + (e = Math.pow(e, r) - t), + (r = 1 / r), + function (n) { + return Math.pow(t + n * e, r) + } + ) +} +function nee(t, e) { + var r = e - t + return r ? vO(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) : R2(isNaN(t) ? e : t) +} +function iee(t) { + return (t = +t) == 1 + ? rp + : function (e, r) { + return r - e ? ree(e, r, t) : R2(isNaN(e) ? r : e) + } +} +function rp(t, e) { + var r = e - t + return r ? vO(t, r) : R2(isNaN(t) ? e : t) +} +const Pv = (function t(e) { + var r = iee(e) + function n(i, a) { + var s = r((i = G3(i)).r, (a = G3(a)).r), + o = r(i.g, a.g), + l = r(i.b, a.b), + u = rp(i.opacity, a.opacity) + return function (h) { + return (i.r = s(h)), (i.g = o(h)), (i.b = l(h)), (i.opacity = u(h)), i + "" + } + } + return (n.gamma = t), n +})(1) +function aee(t, e) { + e || (e = []) + var r = t ? Math.min(e.length, t.length) : 0, + n = e.slice(), + i + return function (a) { + for (i = 0; i < r; ++i) n[i] = t[i] * (1 - a) + e[i] * a + return n + } +} +function see(t) { + return ArrayBuffer.isView(t) && !(t instanceof DataView) +} +function oee(t, e) { + var r = e ? e.length : 0, + n = t ? Math.min(r, t.length) : 0, + i = new Array(n), + a = new Array(r), + s + for (s = 0; s < n; ++s) i[s] = jT(t[s], e[s]) + for (; s < r; ++s) a[s] = e[s] + return function (o) { + for (s = 0; s < n; ++s) a[s] = i[s](o) + return a + } +} +function lee(t, e) { + var r = new Date() + return ( + (t = +t), + (e = +e), + function (n) { + return r.setTime(t * (1 - n) + e * n), r + } + ) +} +function hs(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r + } + ) +} +function cee(t, e) { + var r = {}, + n = {}, + i + ;(t === null || typeof t != "object") && (t = {}), (e === null || typeof e != "object") && (e = {}) + for (i in e) i in t ? (r[i] = jT(t[i], e[i])) : (n[i] = e[i]) + return function (a) { + for (i in r) n[i] = r[i](a) + return n + } +} +var q3 = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + Ab = new RegExp(q3.source, "g") +function uee(t) { + return function () { + return t + } +} +function hee(t) { + return function (e) { + return t(e) + "" + } +} +function yO(t, e) { + var r = (q3.lastIndex = Ab.lastIndex = 0), + n, + i, + a, + s = -1, + o = [], + l = [] + for (t = t + "", e = e + ""; (n = q3.exec(t)) && (i = Ab.exec(e)); ) + (a = i.index) > r && ((a = e.slice(r, a)), o[s] ? (o[s] += a) : (o[++s] = a)), + (n = n[0]) === (i = i[0]) + ? o[s] + ? (o[s] += i) + : (o[++s] = i) + : ((o[++s] = null), l.push({ i: s, x: hs(n, i) })), + (r = Ab.lastIndex) + return ( + r < e.length && ((a = e.slice(r)), o[s] ? (o[s] += a) : (o[++s] = a)), + o.length < 2 + ? l[0] + ? hee(l[0].x) + : uee(e) + : ((e = l.length), + function (u) { + for (var h = 0, d; h < e; ++h) o[(d = l[h]).i] = d.x(u) + return o.join("") + }) + ) +} +function jT(t, e) { + var r = typeof e, + n + return e == null || r === "boolean" + ? R2(e) + : (r === "number" + ? hs + : r === "string" + ? (n = qc(e)) + ? ((e = n), Pv) + : yO + : e instanceof qc + ? Pv + : e instanceof Date + ? lee + : see(e) + ? aee + : Array.isArray(e) + ? oee + : (typeof e.valueOf != "function" && typeof e.toString != "function") || isNaN(e) + ? cee + : hs)(t, e) +} +function dee(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return Math.round(t * (1 - r) + e * r) + } + ) +} +var cC = 180 / Math.PI, + W3 = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 } +function xO(t, e, r, n, i, a) { + var s, o, l + return ( + (s = Math.sqrt(t * t + e * e)) && ((t /= s), (e /= s)), + (l = t * r + e * n) && ((r -= t * l), (n -= e * l)), + (o = Math.sqrt(r * r + n * n)) && ((r /= o), (n /= o), (l /= o)), + t * n < e * r && ((t = -t), (e = -e), (l = -l), (s = -s)), + { translateX: i, translateY: a, rotate: Math.atan2(e, t) * cC, skewX: Math.atan(l) * cC, scaleX: s, scaleY: o } + ) +} +var p1 +function fee(t) { + const e = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(t + "") + return e.isIdentity ? W3 : xO(e.a, e.b, e.c, e.d, e.e, e.f) +} +function pee(t) { + return t == null || + (p1 || (p1 = document.createElementNS("http://www.w3.org/2000/svg", "g")), + p1.setAttribute("transform", t), + !(t = p1.transform.baseVal.consolidate())) + ? W3 + : ((t = t.matrix), xO(t.a, t.b, t.c, t.d, t.e, t.f)) +} +function bO(t, e, r, n) { + function i(u) { + return u.length ? u.pop() + " " : "" + } + function a(u, h, d, f, p, g) { + if (u !== d || h !== f) { + var m = p.push("translate(", null, e, null, r) + g.push({ i: m - 4, x: hs(u, d) }, { i: m - 2, x: hs(h, f) }) + } else (d || f) && p.push("translate(" + d + e + f + r) + } + function s(u, h, d, f) { + u !== h + ? (u - h > 180 ? (h += 360) : h - u > 180 && (u += 360), + f.push({ i: d.push(i(d) + "rotate(", null, n) - 2, x: hs(u, h) })) + : h && d.push(i(d) + "rotate(" + h + n) + } + function o(u, h, d, f) { + u !== h + ? f.push({ i: d.push(i(d) + "skewX(", null, n) - 2, x: hs(u, h) }) + : h && d.push(i(d) + "skewX(" + h + n) + } + function l(u, h, d, f, p, g) { + if (u !== d || h !== f) { + var m = p.push(i(p) + "scale(", null, ",", null, ")") + g.push({ i: m - 4, x: hs(u, d) }, { i: m - 2, x: hs(h, f) }) + } else (d !== 1 || f !== 1) && p.push(i(p) + "scale(" + d + "," + f + ")") + } + return function (u, h) { + var d = [], + f = [] + return ( + (u = t(u)), + (h = t(h)), + a(u.translateX, u.translateY, h.translateX, h.translateY, d, f), + s(u.rotate, h.rotate, d, f), + o(u.skewX, h.skewX, d, f), + l(u.scaleX, u.scaleY, h.scaleX, h.scaleY, d, f), + (u = h = null), + function (p) { + for (var g = -1, m = f.length, v; ++g < m; ) d[(v = f[g]).i] = v.x(p) + return d.join("") + } + ) + } +} +var gee = bO(fee, "px, ", "px)", "deg)"), + mee = bO(pee, ", ", ")", ")") +function vee(t) { + return function (e, r) { + var n = t((e = U3(e)).h, (r = U3(r)).h), + i = rp(e.c, r.c), + a = rp(e.l, r.l), + s = rp(e.opacity, r.opacity) + return function (o) { + return (e.h = n(o)), (e.c = i(o)), (e.l = a(o)), (e.opacity = s(o)), e + "" + } + } +} +const yee = vee(nee) +var Cd = 0, + e0 = 0, + Rf = 0, + wO = 1e3, + Bv, + t0, + Fv = 0, + Wc = 0, + N2 = 0, + Tp = typeof performance == "object" && performance.now ? performance : Date, + TO = + typeof window == "object" && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17) + } +function KT() { + return Wc || (TO(xee), (Wc = Tp.now() + N2)) +} +function xee() { + Wc = 0 +} +function $v() { + this._call = this._time = this._next = null +} +$v.prototype = EO.prototype = { + constructor: $v, + restart: function (t, e, r) { + if (typeof t != "function") throw new TypeError("callback is not a function") + ;(r = (r == null ? KT() : +r) + (e == null ? 0 : +e)), + !this._next && t0 !== this && (t0 ? (t0._next = this) : (Bv = this), (t0 = this)), + (this._call = t), + (this._time = r), + H3() + }, + stop: function () { + this._call && ((this._call = null), (this._time = 1 / 0), H3()) + }, +} +function EO(t, e, r) { + var n = new $v() + return n.restart(t, e, r), n +} +function bee() { + KT(), ++Cd + for (var t = Bv, e; t; ) (e = Wc - t._time) >= 0 && t._call.call(void 0, e), (t = t._next) + --Cd +} +function uC() { + ;(Wc = (Fv = Tp.now()) + N2), (Cd = e0 = 0) + try { + bee() + } finally { + ;(Cd = 0), Tee(), (Wc = 0) + } +} +function wee() { + var t = Tp.now(), + e = t - Fv + e > wO && ((N2 -= e), (Fv = t)) +} +function Tee() { + for (var t, e = Bv, r, n = 1 / 0; e; ) + e._call + ? (n > e._time && (n = e._time), (t = e), (e = e._next)) + : ((r = e._next), (e._next = null), (e = t ? (t._next = r) : (Bv = r))) + ;(t0 = t), H3(n) +} +function H3(t) { + if (!Cd) { + e0 && (e0 = clearTimeout(e0)) + var e = t - Wc + e > 24 + ? (t < 1 / 0 && (e0 = setTimeout(uC, t - Tp.now() - N2)), Rf && (Rf = clearInterval(Rf))) + : (Rf || ((Fv = Tp.now()), (Rf = setInterval(wee, wO))), (Cd = 1), TO(uC)) + } +} +function hC(t, e, r) { + var n = new $v() + return ( + (e = e == null ? 0 : +e), + n.restart( + (i) => { + n.stop(), t(i + e) + }, + e, + r, + ), + n + ) +} +var Eee = jM("start", "end", "cancel", "interrupt"), + kee = [], + kO = 0, + dC = 1, + Y3 = 2, + ym = 3, + fC = 4, + X3 = 5, + xm = 6 +function D2(t, e, r, n, i, a) { + var s = t.__transition + if (!s) t.__transition = {} + else if (r in s) return + See(t, r, { + name: e, + index: n, + group: i, + on: Eee, + tween: kee, + time: a.time, + delay: a.delay, + duration: a.duration, + ease: a.ease, + timer: null, + state: kO, + }) +} +function ZT(t, e) { + var r = Cs(t, e) + if (r.state > kO) throw new Error("too late; already scheduled") + return r +} +function ao(t, e) { + var r = Cs(t, e) + if (r.state > ym) throw new Error("too late; already running") + return r +} +function Cs(t, e) { + var r = t.__transition + if (!r || !(r = r[e])) throw new Error("transition not found") + return r +} +function See(t, e, r) { + var n = t.__transition, + i + ;(n[e] = r), (r.timer = EO(a, 0, r.time)) + function a(u) { + ;(r.state = dC), r.timer.restart(s, r.delay, r.time), r.delay <= u && s(u - r.delay) + } + function s(u) { + var h, d, f, p + if (r.state !== dC) return l() + for (h in n) + if (((p = n[h]), p.name === r.name)) { + if (p.state === ym) return hC(s) + p.state === fC + ? ((p.state = xm), + p.timer.stop(), + p.on.call("interrupt", t, t.__data__, p.index, p.group), + delete n[h]) + : +h < e && + ((p.state = xm), + p.timer.stop(), + p.on.call("cancel", t, t.__data__, p.index, p.group), + delete n[h]) + } + if ( + (hC(function () { + r.state === ym && ((r.state = fC), r.timer.restart(o, r.delay, r.time), o(u)) + }), + (r.state = Y3), + r.on.call("start", t, t.__data__, r.index, r.group), + r.state === Y3) + ) { + for (r.state = ym, i = new Array((f = r.tween.length)), h = 0, d = -1; h < f; ++h) + (p = r.tween[h].value.call(t, t.__data__, r.index, r.group)) && (i[++d] = p) + i.length = d + 1 + } + } + function o(u) { + for ( + var h = u < r.duration ? r.ease.call(null, u / r.duration) : (r.timer.restart(l), (r.state = X3), 1), + d = -1, + f = i.length; + ++d < f; + + ) + i[d].call(t, h) + r.state === X3 && (r.on.call("end", t, t.__data__, r.index, r.group), l()) + } + function l() { + ;(r.state = xm), r.timer.stop(), delete n[e] + for (var u in n) return + delete t.__transition + } +} +function Cee(t, e) { + var r = t.__transition, + n, + i, + a = !0, + s + if (r) { + e = e == null ? null : e + "" + for (s in r) { + if ((n = r[s]).name !== e) { + a = !1 + continue + } + ;(i = n.state > Y3 && n.state < X3), + (n.state = xm), + n.timer.stop(), + n.on.call(i ? "interrupt" : "cancel", t, t.__data__, n.index, n.group), + delete r[s] + } + a && delete t.__transition + } +} +function Aee(t) { + return this.each(function () { + Cee(this, t) + }) +} +function _ee(t, e) { + var r, n + return function () { + var i = ao(this, t), + a = i.tween + if (a !== r) { + n = r = a + for (var s = 0, o = n.length; s < o; ++s) + if (n[s].name === e) { + ;(n = n.slice()), n.splice(s, 1) + break + } + } + i.tween = n + } +} +function Lee(t, e, r) { + var n, i + if (typeof r != "function") throw new Error() + return function () { + var a = ao(this, t), + s = a.tween + if (s !== n) { + i = (n = s).slice() + for (var o = { name: e, value: r }, l = 0, u = i.length; l < u; ++l) + if (i[l].name === e) { + i[l] = o + break + } + l === u && i.push(o) + } + a.tween = i + } +} +function Ree(t, e) { + var r = this._id + if (((t += ""), arguments.length < 2)) { + for (var n = Cs(this.node(), r).tween, i = 0, a = n.length, s; i < a; ++i) + if ((s = n[i]).name === t) return s.value + return null + } + return this.each((e == null ? _ee : Lee)(r, t, e)) +} +function QT(t, e, r) { + var n = t._id + return ( + t.each(function () { + var i = ao(this, n) + ;(i.value || (i.value = {}))[e] = r.apply(this, arguments) + }), + function (i) { + return Cs(i, n).value[e] + } + ) +} +function SO(t, e) { + var r + return (typeof e == "number" ? hs : e instanceof qc ? Pv : (r = qc(e)) ? ((e = r), Pv) : yO)(t, e) +} +function Nee(t) { + return function () { + this.removeAttribute(t) + } +} +function Dee(t) { + return function () { + this.removeAttributeNS(t.space, t.local) + } +} +function Iee(t, e, r) { + var n, + i = r + "", + a + return function () { + var s = this.getAttribute(t) + return s === i ? null : s === n ? a : (a = e((n = s), r)) + } +} +function Mee(t, e, r) { + var n, + i = r + "", + a + return function () { + var s = this.getAttributeNS(t.space, t.local) + return s === i ? null : s === n ? a : (a = e((n = s), r)) + } +} +function Oee(t, e, r) { + var n, i, a + return function () { + var s, + o = r(this), + l + return o == null + ? void this.removeAttribute(t) + : ((s = this.getAttribute(t)), + (l = o + ""), + s === l ? null : s === n && l === i ? a : ((i = l), (a = e((n = s), o)))) + } +} +function Pee(t, e, r) { + var n, i, a + return function () { + var s, + o = r(this), + l + return o == null + ? void this.removeAttributeNS(t.space, t.local) + : ((s = this.getAttributeNS(t.space, t.local)), + (l = o + ""), + s === l ? null : s === n && l === i ? a : ((i = l), (a = e((n = s), o)))) + } +} +function Bee(t, e) { + var r = _2(t), + n = r === "transform" ? mee : SO + return this.attrTween( + t, + typeof e == "function" + ? (r.local ? Pee : Oee)(r, n, QT(this, "attr." + t, e)) + : e == null + ? (r.local ? Dee : Nee)(r) + : (r.local ? Mee : Iee)(r, n, e), + ) +} +function Fee(t, e) { + return function (r) { + this.setAttribute(t, e.call(this, r)) + } +} +function $ee(t, e) { + return function (r) { + this.setAttributeNS(t.space, t.local, e.call(this, r)) + } +} +function zee(t, e) { + var r, n + function i() { + var a = e.apply(this, arguments) + return a !== n && (r = (n = a) && $ee(t, a)), r + } + return (i._value = e), i +} +function Vee(t, e) { + var r, n + function i() { + var a = e.apply(this, arguments) + return a !== n && (r = (n = a) && Fee(t, a)), r + } + return (i._value = e), i +} +function Gee(t, e) { + var r = "attr." + t + if (arguments.length < 2) return (r = this.tween(r)) && r._value + if (e == null) return this.tween(r, null) + if (typeof e != "function") throw new Error() + var n = _2(t) + return this.tween(r, (n.local ? zee : Vee)(n, e)) +} +function Uee(t, e) { + return function () { + ZT(this, t).delay = +e.apply(this, arguments) + } +} +function qee(t, e) { + return ( + (e = +e), + function () { + ZT(this, t).delay = e + } + ) +} +function Wee(t) { + var e = this._id + return arguments.length ? this.each((typeof t == "function" ? Uee : qee)(e, t)) : Cs(this.node(), e).delay +} +function Hee(t, e) { + return function () { + ao(this, t).duration = +e.apply(this, arguments) + } +} +function Yee(t, e) { + return ( + (e = +e), + function () { + ao(this, t).duration = e + } + ) +} +function Xee(t) { + var e = this._id + return arguments.length ? this.each((typeof t == "function" ? Hee : Yee)(e, t)) : Cs(this.node(), e).duration +} +function jee(t, e) { + if (typeof e != "function") throw new Error() + return function () { + ao(this, t).ease = e + } +} +function Kee(t) { + var e = this._id + return arguments.length ? this.each(jee(e, t)) : Cs(this.node(), e).ease +} +function Zee(t, e) { + return function () { + var r = e.apply(this, arguments) + if (typeof r != "function") throw new Error() + ao(this, t).ease = r + } +} +function Qee(t) { + if (typeof t != "function") throw new Error() + return this.each(Zee(this._id, t)) +} +function Jee(t) { + typeof t != "function" && (t = QM(t)) + for (var e = this._groups, r = e.length, n = new Array(r), i = 0; i < r; ++i) + for (var a = e[i], s = a.length, o = (n[i] = []), l, u = 0; u < s; ++u) + (l = a[u]) && t.call(l, l.__data__, u, a) && o.push(l) + return new Uo(n, this._parents, this._name, this._id) +} +function ete(t) { + if (t._id !== this._id) throw new Error() + for ( + var e = this._groups, r = t._groups, n = e.length, i = r.length, a = Math.min(n, i), s = new Array(n), o = 0; + o < a; + ++o + ) + for (var l = e[o], u = r[o], h = l.length, d = (s[o] = new Array(h)), f, p = 0; p < h; ++p) + (f = l[p] || u[p]) && (d[p] = f) + for (; o < n; ++o) s[o] = e[o] + return new Uo(s, this._parents, this._name, this._id) +} +function tte(t) { + return (t + "") + .trim() + .split(/^|\s+/) + .every(function (e) { + var r = e.indexOf(".") + return r >= 0 && (e = e.slice(0, r)), !e || e === "start" + }) +} +function rte(t, e, r) { + var n, + i, + a = tte(e) ? ZT : ao + return function () { + var s = a(this, t), + o = s.on + o !== n && (i = (n = o).copy()).on(e, r), (s.on = i) + } +} +function nte(t, e) { + var r = this._id + return arguments.length < 2 ? Cs(this.node(), r).on.on(t) : this.each(rte(r, t, e)) +} +function ite(t) { + return function () { + var e = this.parentNode + for (var r in this.__transition) if (+r !== t) return + e && e.removeChild(this) + } +} +function ate() { + return this.on("end.remove", ite(this._id)) +} +function ste(t) { + var e = this._name, + r = this._id + typeof t != "function" && (t = YT(t)) + for (var n = this._groups, i = n.length, a = new Array(i), s = 0; s < i; ++s) + for (var o = n[s], l = o.length, u = (a[s] = new Array(l)), h, d, f = 0; f < l; ++f) + (h = o[f]) && + (d = t.call(h, h.__data__, f, o)) && + ("__data__" in h && (d.__data__ = h.__data__), (u[f] = d), D2(u[f], e, r, f, u, Cs(h, r))) + return new Uo(a, this._parents, e, r) +} +function ote(t) { + var e = this._name, + r = this._id + typeof t != "function" && (t = ZM(t)) + for (var n = this._groups, i = n.length, a = [], s = [], o = 0; o < i; ++o) + for (var l = n[o], u = l.length, h, d = 0; d < u; ++d) + if ((h = l[d])) { + for (var f = t.call(h, h.__data__, d, l), p, g = Cs(h, r), m = 0, v = f.length; m < v; ++m) + (p = f[m]) && D2(p, e, r, m, f, g) + a.push(f), s.push(h) + } + return new Uo(a, s, e, r) +} +var lte = hg.prototype.constructor +function cte() { + return new lte(this._groups, this._parents) +} +function ute(t, e) { + var r, n, i + return function () { + var a = Sd(this, t), + s = (this.style.removeProperty(t), Sd(this, t)) + return a === s ? null : a === r && s === n ? i : (i = e((r = a), (n = s))) + } +} +function CO(t) { + return function () { + this.style.removeProperty(t) + } +} +function hte(t, e, r) { + var n, + i = r + "", + a + return function () { + var s = Sd(this, t) + return s === i ? null : s === n ? a : (a = e((n = s), r)) + } +} +function dte(t, e, r) { + var n, i, a + return function () { + var s = Sd(this, t), + o = r(this), + l = o + "" + return ( + o == null && (l = o = (this.style.removeProperty(t), Sd(this, t))), + s === l ? null : s === n && l === i ? a : ((i = l), (a = e((n = s), o))) + ) + } +} +function fte(t, e) { + var r, + n, + i, + a = "style." + e, + s = "end." + a, + o + return function () { + var l = ao(this, t), + u = l.on, + h = l.value[a] == null ? o || (o = CO(e)) : void 0 + ;(u !== r || i !== h) && (n = (r = u).copy()).on(s, (i = h)), (l.on = n) + } +} +function pte(t, e, r) { + var n = (t += "") == "transform" ? gee : SO + return e == null + ? this.styleTween(t, ute(t, n)).on("end.style." + t, CO(t)) + : typeof e == "function" + ? this.styleTween(t, dte(t, n, QT(this, "style." + t, e))).each(fte(this._id, t)) + : this.styleTween(t, hte(t, n, e), r).on("end.style." + t, null) +} +function gte(t, e, r) { + return function (n) { + this.style.setProperty(t, e.call(this, n), r) + } +} +function mte(t, e, r) { + var n, i + function a() { + var s = e.apply(this, arguments) + return s !== i && (n = (i = s) && gte(t, s, r)), n + } + return (a._value = e), a +} +function vte(t, e, r) { + var n = "style." + (t += "") + if (arguments.length < 2) return (n = this.tween(n)) && n._value + if (e == null) return this.tween(n, null) + if (typeof e != "function") throw new Error() + return this.tween(n, mte(t, e, r ?? "")) +} +function yte(t) { + return function () { + this.textContent = t + } +} +function xte(t) { + return function () { + var e = t(this) + this.textContent = e ?? "" + } +} +function bte(t) { + return this.tween("text", typeof t == "function" ? xte(QT(this, "text", t)) : yte(t == null ? "" : t + "")) +} +function wte(t) { + return function (e) { + this.textContent = t.call(this, e) + } +} +function Tte(t) { + var e, r + function n() { + var i = t.apply(this, arguments) + return i !== r && (e = (r = i) && wte(i)), e + } + return (n._value = t), n +} +function Ete(t) { + var e = "text" + if (arguments.length < 1) return (e = this.tween(e)) && e._value + if (t == null) return this.tween(e, null) + if (typeof t != "function") throw new Error() + return this.tween(e, Tte(t)) +} +function kte() { + for (var t = this._name, e = this._id, r = AO(), n = this._groups, i = n.length, a = 0; a < i; ++a) + for (var s = n[a], o = s.length, l, u = 0; u < o; ++u) + if ((l = s[u])) { + var h = Cs(l, e) + D2(l, t, r, u, s, { time: h.time + h.delay + h.duration, delay: 0, duration: h.duration, ease: h.ease }) + } + return new Uo(n, this._parents, t, r) +} +function Ste() { + var t, + e, + r = this, + n = r._id, + i = r.size() + return new Promise(function (a, s) { + var o = { value: s }, + l = { + value: function () { + --i === 0 && a() + }, + } + r.each(function () { + var u = ao(this, n), + h = u.on + h !== t && ((e = (t = h).copy()), e._.cancel.push(o), e._.interrupt.push(o), e._.end.push(l)), (u.on = e) + }), + i === 0 && a() + }) +} +var Cte = 0 +function Uo(t, e, r, n) { + ;(this._groups = t), (this._parents = e), (this._name = r), (this._id = n) +} +function AO() { + return ++Cte +} +var vo = hg.prototype +Uo.prototype = { + constructor: Uo, + select: ste, + selectAll: ote, + selectChild: vo.selectChild, + selectChildren: vo.selectChildren, + filter: Jee, + merge: ete, + selection: cte, + transition: kte, + call: vo.call, + nodes: vo.nodes, + node: vo.node, + size: vo.size, + empty: vo.empty, + each: vo.each, + on: nte, + attr: Bee, + attrTween: Gee, + style: pte, + styleTween: vte, + text: bte, + textTween: Ete, + remove: ate, + tween: Ree, + delay: Wee, + duration: Xee, + ease: Kee, + easeVarying: Qee, + end: Ste, + [Symbol.iterator]: vo[Symbol.iterator], +} +function Ate(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2 +} +var _te = { time: null, delay: 0, duration: 250, ease: Ate } +function Lte(t, e) { + for (var r; !(r = t.__transition) || !(r = r[e]); ) + if (!(t = t.parentNode)) throw new Error(`transition ${e} not found`) + return r +} +function Rte(t) { + var e, r + t instanceof Uo + ? ((e = t._id), (t = t._name)) + : ((e = AO()), ((r = _te).time = KT()), (t = t == null ? null : t + "")) + for (var n = this._groups, i = n.length, a = 0; a < i; ++a) + for (var s = n[a], o = s.length, l, u = 0; u < o; ++u) (l = s[u]) && D2(l, t, e, u, s, r || Lte(l, e)) + return new Uo(n, this._parents, t, e) +} +hg.prototype.interrupt = Aee +hg.prototype.transition = Rte +const j3 = Math.PI, + K3 = 2 * j3, + vc = 1e-6, + Nte = K3 - vc +function _O(t) { + this._ += t[0] + for (let e = 1, r = t.length; e < r; ++e) this._ += arguments[e] + t[e] +} +function Dte(t) { + let e = Math.floor(t) + if (!(e >= 0)) throw new Error(`invalid digits: ${t}`) + if (e > 15) return _O + const r = 10 ** e + return function (n) { + this._ += n[0] + for (let i = 1, a = n.length; i < a; ++i) this._ += Math.round(arguments[i] * r) / r + n[i] + } +} +let Ite = class { + constructor(e) { + ;(this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ""), (this._append = e == null ? _O : Dte(e)) + } + moveTo(e, r) { + this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}` + } + closePath() { + this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`) + } + lineTo(e, r) { + this._append`L${(this._x1 = +e)},${(this._y1 = +r)}` + } + quadraticCurveTo(e, r, n, i) { + this._append`Q${+e},${+r},${(this._x1 = +n)},${(this._y1 = +i)}` + } + bezierCurveTo(e, r, n, i, a, s) { + this._append`C${+e},${+r},${+n},${+i},${(this._x1 = +a)},${(this._y1 = +s)}` + } + arcTo(e, r, n, i, a) { + if (((e = +e), (r = +r), (n = +n), (i = +i), (a = +a), a < 0)) throw new Error(`negative radius: ${a}`) + let s = this._x1, + o = this._y1, + l = n - e, + u = i - r, + h = s - e, + d = o - r, + f = h * h + d * d + if (this._x1 === null) this._append`M${(this._x1 = e)},${(this._y1 = r)}` + else if (f > vc) + if (!(Math.abs(d * l - u * h) > vc) || !a) this._append`L${(this._x1 = e)},${(this._y1 = r)}` + else { + let p = n - s, + g = i - o, + m = l * l + u * u, + v = p * p + g * g, + y = Math.sqrt(m), + b = Math.sqrt(f), + w = a * Math.tan((j3 - Math.acos((m + f - v) / (2 * y * b))) / 2), + T = w / b, + E = w / y + Math.abs(T - 1) > vc && this._append`L${e + T * h},${r + T * d}`, + this._append`A${a},${a},0,0,${+(d * p > h * g)},${(this._x1 = e + E * l)},${(this._y1 = r + E * u)}` + } + } + arc(e, r, n, i, a, s) { + if (((e = +e), (r = +r), (n = +n), (s = !!s), n < 0)) throw new Error(`negative radius: ${n}`) + let o = n * Math.cos(i), + l = n * Math.sin(i), + u = e + o, + h = r + l, + d = 1 ^ s, + f = s ? i - a : a - i + this._x1 === null + ? this._append`M${u},${h}` + : (Math.abs(this._x1 - u) > vc || Math.abs(this._y1 - h) > vc) && this._append`L${u},${h}`, + n && + (f < 0 && (f = (f % K3) + K3), + f > Nte + ? this + ._append`A${n},${n},0,1,${d},${e - o},${r - l}A${n},${n},0,1,${d},${(this._x1 = u)},${(this._y1 = h)}` + : f > vc && + this + ._append`A${n},${n},0,${+(f >= j3)},${d},${(this._x1 = e + n * Math.cos(a))},${(this._y1 = r + n * Math.sin(a))}`) + } + rect(e, r, n, i) { + this._append`M${(this._x0 = this._x1 = +e)},${(this._y0 = this._y1 = +r)}h${(n = +n)}v${+i}h${-n}Z` + } + toString() { + return this._ + } +} +function Mte(t) { + return Math.abs((t = Math.round(t))) >= 1e21 ? t.toLocaleString("en").replace(/,/g, "") : t.toString(10) +} +function zv(t, e) { + if ((r = (t = e ? t.toExponential(e - 1) : t.toExponential()).indexOf("e")) < 0) return null + var r, + n = t.slice(0, r) + return [n.length > 1 ? n[0] + n.slice(2) : n, +t.slice(r + 1)] +} +function Ad(t) { + return (t = zv(Math.abs(t))), t ? t[1] : NaN +} +function Ote(t, e) { + return function (r, n) { + for ( + var i = r.length, a = [], s = 0, o = t[0], l = 0; + i > 0 && + o > 0 && + (l + o + 1 > n && (o = Math.max(1, n - l)), a.push(r.substring((i -= o), i + o)), !((l += o + 1) > n)); + + ) + o = t[(s = (s + 1) % t.length)] + return a.reverse().join(e) + } +} +function Pte(t) { + return function (e) { + return e.replace(/[0-9]/g, function (r) { + return t[+r] + }) + } +} +var Bte = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i +function Vv(t) { + if (!(e = Bte.exec(t))) throw new Error("invalid format: " + t) + var e + return new JT({ + fill: e[1], + align: e[2], + sign: e[3], + symbol: e[4], + zero: e[5], + width: e[6], + comma: e[7], + precision: e[8] && e[8].slice(1), + trim: e[9], + type: e[10], + }) +} +Vv.prototype = JT.prototype +function JT(t) { + ;(this.fill = t.fill === void 0 ? " " : t.fill + ""), + (this.align = t.align === void 0 ? ">" : t.align + ""), + (this.sign = t.sign === void 0 ? "-" : t.sign + ""), + (this.symbol = t.symbol === void 0 ? "" : t.symbol + ""), + (this.zero = !!t.zero), + (this.width = t.width === void 0 ? void 0 : +t.width), + (this.comma = !!t.comma), + (this.precision = t.precision === void 0 ? void 0 : +t.precision), + (this.trim = !!t.trim), + (this.type = t.type === void 0 ? "" : t.type + "") +} +JT.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? "0" : "") + + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + + (this.comma ? "," : "") + + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + + (this.trim ? "~" : "") + + this.type + ) +} +function Fte(t) { + e: for (var e = t.length, r = 1, n = -1, i; r < e; ++r) + switch (t[r]) { + case ".": + n = i = r + break + case "0": + n === 0 && (n = r), (i = r) + break + default: + if (!+t[r]) break e + n > 0 && (n = 0) + break + } + return n > 0 ? t.slice(0, n) + t.slice(i + 1) : t +} +var LO +function $te(t, e) { + var r = zv(t, e) + if (!r) return t + "" + var n = r[0], + i = r[1], + a = i - (LO = Math.max(-8, Math.min(8, Math.floor(i / 3))) * 3) + 1, + s = n.length + return a === s + ? n + : a > s + ? n + new Array(a - s + 1).join("0") + : a > 0 + ? n.slice(0, a) + "." + n.slice(a) + : "0." + new Array(1 - a).join("0") + zv(t, Math.max(0, e + a - 1))[0] +} +function pC(t, e) { + var r = zv(t, e) + if (!r) return t + "" + var n = r[0], + i = r[1] + return i < 0 + ? "0." + new Array(-i).join("0") + n + : n.length > i + 1 + ? n.slice(0, i + 1) + "." + n.slice(i + 1) + : n + new Array(i - n.length + 2).join("0") +} +const gC = { + "%": (t, e) => (t * 100).toFixed(e), + b: (t) => Math.round(t).toString(2), + c: (t) => t + "", + d: Mte, + e: (t, e) => t.toExponential(e), + f: (t, e) => t.toFixed(e), + g: (t, e) => t.toPrecision(e), + o: (t) => Math.round(t).toString(8), + p: (t, e) => pC(t * 100, e), + r: pC, + s: $te, + X: (t) => Math.round(t).toString(16).toUpperCase(), + x: (t) => Math.round(t).toString(16), +} +function mC(t) { + return t +} +var vC = Array.prototype.map, + yC = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"] +function zte(t) { + var e = t.grouping === void 0 || t.thousands === void 0 ? mC : Ote(vC.call(t.grouping, Number), t.thousands + ""), + r = t.currency === void 0 ? "" : t.currency[0] + "", + n = t.currency === void 0 ? "" : t.currency[1] + "", + i = t.decimal === void 0 ? "." : t.decimal + "", + a = t.numerals === void 0 ? mC : Pte(vC.call(t.numerals, String)), + s = t.percent === void 0 ? "%" : t.percent + "", + o = t.minus === void 0 ? "−" : t.minus + "", + l = t.nan === void 0 ? "NaN" : t.nan + "" + function u(d) { + d = Vv(d) + var f = d.fill, + p = d.align, + g = d.sign, + m = d.symbol, + v = d.zero, + y = d.width, + b = d.comma, + w = d.precision, + T = d.trim, + E = d.type + E === "n" ? ((b = !0), (E = "g")) : gC[E] || (w === void 0 && (w = 12), (T = !0), (E = "g")), + (v || (f === "0" && p === "=")) && ((v = !0), (f = "0"), (p = "=")) + var S = m === "$" ? r : m === "#" && /[boxX]/.test(E) ? "0" + E.toLowerCase() : "", + k = m === "$" ? n : /[%p]/.test(E) ? s : "", + L = gC[E], + A = /[defgprs%]/.test(E) + w = w === void 0 ? 6 : /[gprs]/.test(E) ? Math.max(1, Math.min(21, w)) : Math.max(0, Math.min(20, w)) + function R(C) { + var I = S, + P = k, + _, + N, + M + if (E === "c") (P = L(C) + P), (C = "") + else { + C = +C + var O = C < 0 || 1 / C < 0 + if ( + ((C = isNaN(C) ? l : L(Math.abs(C), w)), + T && (C = Fte(C)), + O && +C == 0 && g !== "+" && (O = !1), + (I = (O ? (g === "(" ? g : o) : g === "-" || g === "(" ? "" : g) + I), + (P = (E === "s" ? yC[8 + LO / 3] : "") + P + (O && g === "(" ? ")" : "")), + A) + ) { + for (_ = -1, N = C.length; ++_ < N; ) + if (((M = C.charCodeAt(_)), 48 > M || M > 57)) { + ;(P = (M === 46 ? i + C.slice(_ + 1) : C.slice(_)) + P), (C = C.slice(0, _)) + break + } + } + } + b && !v && (C = e(C, 1 / 0)) + var D = I.length + C.length + P.length, + B = D < y ? new Array(y - D + 1).join(f) : "" + switch ((b && v && ((C = e(B + C, B.length ? y - P.length : 1 / 0)), (B = "")), p)) { + case "<": + C = I + C + P + B + break + case "=": + C = I + B + C + P + break + case "^": + C = B.slice(0, (D = B.length >> 1)) + I + C + P + B.slice(D) + break + default: + C = B + I + C + P + break + } + return a(C) + } + return ( + (R.toString = function () { + return d + "" + }), + R + ) + } + function h(d, f) { + var p = u(((d = Vv(d)), (d.type = "f"), d)), + g = Math.max(-8, Math.min(8, Math.floor(Ad(f) / 3))) * 3, + m = Math.pow(10, -g), + v = yC[8 + g / 3] + return function (y) { + return p(m * y) + v + } + } + return { format: u, formatPrefix: h } +} +var g1, RO, NO +Vte({ thousands: ",", grouping: [3], currency: ["$", ""] }) +function Vte(t) { + return (g1 = zte(t)), (RO = g1.format), (NO = g1.formatPrefix), g1 +} +function Gte(t) { + return Math.max(0, -Ad(Math.abs(t))) +} +function Ute(t, e) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Ad(e) / 3))) * 3 - Ad(Math.abs(t))) +} +function qte(t, e) { + return (t = Math.abs(t)), (e = Math.abs(e) - t), Math.max(0, Ad(e) - Ad(t)) + 1 +} +function I2(t, e) { + switch (arguments.length) { + case 0: + break + case 1: + this.range(t) + break + default: + this.range(e).domain(t) + break + } + return this +} +const xC = Symbol("implicit") +function M2() { + var t = new K7(), + e = [], + r = [], + n = xC + function i(a) { + let s = t.get(a) + if (s === void 0) { + if (n !== xC) return n + t.set(a, (s = e.push(a) - 1)) + } + return r[s % r.length] + } + return ( + (i.domain = function (a) { + if (!arguments.length) return e.slice() + ;(e = []), (t = new K7()) + for (const s of a) t.has(s) || t.set(s, e.push(s) - 1) + return i + }), + (i.range = function (a) { + return arguments.length ? ((r = Array.from(a)), i) : r.slice() + }), + (i.unknown = function (a) { + return arguments.length ? ((n = a), i) : n + }), + (i.copy = function () { + return M2(e, r).unknown(n) + }), + I2.apply(i, arguments), + i + ) +} +function Z3() { + var t = M2().unknown(void 0), + e = t.domain, + r = t.range, + n = 0, + i = 1, + a, + s, + o = !1, + l = 0, + u = 0, + h = 0.5 + delete t.unknown + function d() { + var f = e().length, + p = i < n, + g = p ? i : n, + m = p ? n : i + ;(a = (m - g) / Math.max(1, f - l + u * 2)), + o && (a = Math.floor(a)), + (g += (m - g - a * (f - l)) * h), + (s = a * (1 - l)), + o && ((g = Math.round(g)), (s = Math.round(s))) + var v = KZ(f).map(function (y) { + return g + a * y + }) + return r(p ? v.reverse() : v) + } + return ( + (t.domain = function (f) { + return arguments.length ? (e(f), d()) : e() + }), + (t.range = function (f) { + return arguments.length ? (([n, i] = f), (n = +n), (i = +i), d()) : [n, i] + }), + (t.rangeRound = function (f) { + return ([n, i] = f), (n = +n), (i = +i), (o = !0), d() + }), + (t.bandwidth = function () { + return s + }), + (t.step = function () { + return a + }), + (t.round = function (f) { + return arguments.length ? ((o = !!f), d()) : o + }), + (t.padding = function (f) { + return arguments.length ? ((l = Math.min(1, (u = +f))), d()) : l + }), + (t.paddingInner = function (f) { + return arguments.length ? ((l = Math.min(1, f)), d()) : l + }), + (t.paddingOuter = function (f) { + return arguments.length ? ((u = +f), d()) : u + }), + (t.align = function (f) { + return arguments.length ? ((h = Math.max(0, Math.min(1, f))), d()) : h + }), + (t.copy = function () { + return Z3(e(), [n, i]).round(o).paddingInner(l).paddingOuter(u).align(h) + }), + I2.apply(d(), arguments) + ) +} +function Wte(t) { + return function () { + return t + } +} +function Hte(t) { + return +t +} +var bC = [0, 1] +function ih(t) { + return t +} +function Q3(t, e) { + return (e -= t = +t) + ? function (r) { + return (r - t) / e + } + : Wte(isNaN(e) ? NaN : 0.5) +} +function Yte(t, e) { + var r + return ( + t > e && ((r = t), (t = e), (e = r)), + function (n) { + return Math.max(t, Math.min(e, n)) + } + ) +} +function Xte(t, e, r) { + var n = t[0], + i = t[1], + a = e[0], + s = e[1] + return ( + i < n ? ((n = Q3(i, n)), (a = r(s, a))) : ((n = Q3(n, i)), (a = r(a, s))), + function (o) { + return a(n(o)) + } + ) +} +function jte(t, e, r) { + var n = Math.min(t.length, e.length) - 1, + i = new Array(n), + a = new Array(n), + s = -1 + for (t[n] < t[0] && ((t = t.slice().reverse()), (e = e.slice().reverse())); ++s < n; ) + (i[s] = Q3(t[s], t[s + 1])), (a[s] = r(e[s], e[s + 1])) + return function (o) { + var l = zZ(t, o, 1, n) - 1 + return a[l](i[l](o)) + } +} +function DO(t, e) { + return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown()) +} +function Kte() { + var t = bC, + e = bC, + r = jT, + n, + i, + a, + s = ih, + o, + l, + u + function h() { + var f = Math.min(t.length, e.length) + return s !== ih && (s = Yte(t[0], t[f - 1])), (o = f > 2 ? jte : Xte), (l = u = null), d + } + function d(f) { + return f == null || isNaN((f = +f)) ? a : (l || (l = o(t.map(n), e, r)))(n(s(f))) + } + return ( + (d.invert = function (f) { + return s(i((u || (u = o(e, t.map(n), hs)))(f))) + }), + (d.domain = function (f) { + return arguments.length ? ((t = Array.from(f, Hte)), h()) : t.slice() + }), + (d.range = function (f) { + return arguments.length ? ((e = Array.from(f)), h()) : e.slice() + }), + (d.rangeRound = function (f) { + return (e = Array.from(f)), (r = dee), h() + }), + (d.clamp = function (f) { + return arguments.length ? ((s = f ? !0 : ih), h()) : s !== ih + }), + (d.interpolate = function (f) { + return arguments.length ? ((r = f), h()) : r + }), + (d.unknown = function (f) { + return arguments.length ? ((a = f), d) : a + }), + function (f, p) { + return (n = f), (i = p), h() + } + ) +} +function IO() { + return Kte()(ih, ih) +} +function Zte(t, e, r, n) { + var i = $3(t, e, r), + a + switch (((n = Vv(n ?? ",f")), n.type)) { + case "s": { + var s = Math.max(Math.abs(t), Math.abs(e)) + return n.precision == null && !isNaN((a = Ute(i, s))) && (n.precision = a), NO(n, s) + } + case "": + case "e": + case "g": + case "p": + case "r": { + n.precision == null && + !isNaN((a = qte(i, Math.max(Math.abs(t), Math.abs(e))))) && + (n.precision = a - (n.type === "e")) + break + } + case "f": + case "%": { + n.precision == null && !isNaN((a = Gte(i))) && (n.precision = a - (n.type === "%") * 2) + break + } + } + return RO(n) +} +function Qte(t) { + var e = t.domain + return ( + (t.ticks = function (r) { + var n = e() + return YZ(n[0], n[n.length - 1], r ?? 10) + }), + (t.tickFormat = function (r, n) { + var i = e() + return Zte(i[0], i[i.length - 1], r ?? 10, n) + }), + (t.nice = function (r) { + r == null && (r = 10) + var n = e(), + i = 0, + a = n.length - 1, + s = n[i], + o = n[a], + l, + u, + h = 10 + for (o < s && ((u = s), (s = o), (o = u), (u = i), (i = a), (a = u)); h-- > 0; ) { + if (((u = F3(s, o, r)), u === l)) return (n[i] = s), (n[a] = o), e(n) + if (u > 0) (s = Math.floor(s / u) * u), (o = Math.ceil(o / u) * u) + else if (u < 0) (s = Math.ceil(s * u) / u), (o = Math.floor(o * u) / u) + else break + l = u + } + return t + }), + t + ) +} +function _d() { + var t = IO() + return ( + (t.copy = function () { + return DO(t, _d()) + }), + I2.apply(t, arguments), + Qte(t) + ) +} +function Jte(t, e) { + t = t.slice() + var r = 0, + n = t.length - 1, + i = t[r], + a = t[n], + s + return a < i && ((s = r), (r = n), (n = s), (s = i), (i = a), (a = s)), (t[r] = e.floor(i)), (t[n] = e.ceil(a)), t +} +const _b = new Date(), + Lb = new Date() +function qn(t, e, r, n) { + function i(a) { + return t((a = arguments.length === 0 ? new Date() : new Date(+a))), a + } + return ( + (i.floor = (a) => (t((a = new Date(+a))), a)), + (i.ceil = (a) => (t((a = new Date(a - 1))), e(a, 1), t(a), a)), + (i.round = (a) => { + const s = i(a), + o = i.ceil(a) + return a - s < o - a ? s : o + }), + (i.offset = (a, s) => (e((a = new Date(+a)), s == null ? 1 : Math.floor(s)), a)), + (i.range = (a, s, o) => { + const l = [] + if (((a = i.ceil(a)), (o = o == null ? 1 : Math.floor(o)), !(a < s) || !(o > 0))) return l + let u + do l.push((u = new Date(+a))), e(a, o), t(a) + while (u < a && a < s) + return l + }), + (i.filter = (a) => + qn( + (s) => { + if (s >= s) for (; t(s), !a(s); ) s.setTime(s - 1) + }, + (s, o) => { + if (s >= s) + if (o < 0) for (; ++o <= 0; ) for (; e(s, -1), !a(s); ); + else for (; --o >= 0; ) for (; e(s, 1), !a(s); ); + }, + )), + r && + ((i.count = (a, s) => (_b.setTime(+a), Lb.setTime(+s), t(_b), t(Lb), Math.floor(r(_b, Lb)))), + (i.every = (a) => ( + (a = Math.floor(a)), + !isFinite(a) || !(a > 0) + ? null + : a > 1 + ? i.filter(n ? (s) => n(s) % a === 0 : (s) => i.count(0, s) % a === 0) + : i + ))), + i + ) +} +const Ld = qn( + () => {}, + (t, e) => { + t.setTime(+t + e) + }, + (t, e) => e - t, +) +Ld.every = (t) => ( + (t = Math.floor(t)), + !isFinite(t) || !(t > 0) + ? null + : t > 1 + ? qn( + (e) => { + e.setTime(Math.floor(e / t) * t) + }, + (e, r) => { + e.setTime(+e + r * t) + }, + (e, r) => (r - e) / t, + ) + : Ld +) +Ld.range +const Lo = 1e3, + Wa = Lo * 60, + Ro = Wa * 60, + qo = Ro * 24, + eE = qo * 7, + wC = qo * 30, + Rb = qo * 365, + vl = qn( + (t) => { + t.setTime(t - t.getMilliseconds()) + }, + (t, e) => { + t.setTime(+t + e * Lo) + }, + (t, e) => (e - t) / Lo, + (t) => t.getUTCSeconds(), + ) +vl.range +const Ep = qn( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * Lo) + }, + (t, e) => { + t.setTime(+t + e * Wa) + }, + (t, e) => (e - t) / Wa, + (t) => t.getMinutes(), +) +Ep.range +const ere = qn( + (t) => { + t.setUTCSeconds(0, 0) + }, + (t, e) => { + t.setTime(+t + e * Wa) + }, + (t, e) => (e - t) / Wa, + (t) => t.getUTCMinutes(), +) +ere.range +const kp = qn( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * Lo - t.getMinutes() * Wa) + }, + (t, e) => { + t.setTime(+t + e * Ro) + }, + (t, e) => (e - t) / Ro, + (t) => t.getHours(), +) +kp.range +const tre = qn( + (t) => { + t.setUTCMinutes(0, 0, 0) + }, + (t, e) => { + t.setTime(+t + e * Ro) + }, + (t, e) => (e - t) / Ro, + (t) => t.getUTCHours(), +) +tre.range +const Hc = qn( + (t) => t.setHours(0, 0, 0, 0), + (t, e) => t.setDate(t.getDate() + e), + (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * Wa) / qo, + (t) => t.getDate() - 1, +) +Hc.range +const tE = qn( + (t) => { + t.setUTCHours(0, 0, 0, 0) + }, + (t, e) => { + t.setUTCDate(t.getUTCDate() + e) + }, + (t, e) => (e - t) / qo, + (t) => t.getUTCDate() - 1, +) +tE.range +const rre = qn( + (t) => { + t.setUTCHours(0, 0, 0, 0) + }, + (t, e) => { + t.setUTCDate(t.getUTCDate() + e) + }, + (t, e) => (e - t) / qo, + (t) => Math.floor(t / qo), +) +rre.range +function gu(t) { + return qn( + (e) => { + e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), e.setHours(0, 0, 0, 0) + }, + (e, r) => { + e.setDate(e.getDate() + r * 7) + }, + (e, r) => (r - e - (r.getTimezoneOffset() - e.getTimezoneOffset()) * Wa) / eE, + ) +} +const fg = gu(0), + Sp = gu(1), + MO = gu(2), + OO = gu(3), + Yc = gu(4), + PO = gu(5), + BO = gu(6) +fg.range +Sp.range +MO.range +OO.range +Yc.range +PO.range +BO.range +function mu(t) { + return qn( + (e) => { + e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), e.setUTCHours(0, 0, 0, 0) + }, + (e, r) => { + e.setUTCDate(e.getUTCDate() + r * 7) + }, + (e, r) => (r - e) / eE, + ) +} +const FO = mu(0), + Gv = mu(1), + nre = mu(2), + ire = mu(3), + Rd = mu(4), + are = mu(5), + sre = mu(6) +FO.range +Gv.range +nre.range +ire.range +Rd.range +are.range +sre.range +const Cp = qn( + (t) => { + t.setDate(1), t.setHours(0, 0, 0, 0) + }, + (t, e) => { + t.setMonth(t.getMonth() + e) + }, + (t, e) => e.getMonth() - t.getMonth() + (e.getFullYear() - t.getFullYear()) * 12, + (t) => t.getMonth(), +) +Cp.range +const ore = qn( + (t) => { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0) + }, + (t, e) => { + t.setUTCMonth(t.getUTCMonth() + e) + }, + (t, e) => e.getUTCMonth() - t.getUTCMonth() + (e.getUTCFullYear() - t.getUTCFullYear()) * 12, + (t) => t.getUTCMonth(), +) +ore.range +const Wo = qn( + (t) => { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0) + }, + (t, e) => { + t.setFullYear(t.getFullYear() + e) + }, + (t, e) => e.getFullYear() - t.getFullYear(), + (t) => t.getFullYear(), +) +Wo.every = (t) => + !isFinite((t = Math.floor(t))) || !(t > 0) + ? null + : qn( + (e) => { + e.setFullYear(Math.floor(e.getFullYear() / t) * t), e.setMonth(0, 1), e.setHours(0, 0, 0, 0) + }, + (e, r) => { + e.setFullYear(e.getFullYear() + r * t) + }, + ) +Wo.range +const Xc = qn( + (t) => { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0) + }, + (t, e) => { + t.setUTCFullYear(t.getUTCFullYear() + e) + }, + (t, e) => e.getUTCFullYear() - t.getUTCFullYear(), + (t) => t.getUTCFullYear(), +) +Xc.every = (t) => + !isFinite((t = Math.floor(t))) || !(t > 0) + ? null + : qn( + (e) => { + e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), + e.setUTCMonth(0, 1), + e.setUTCHours(0, 0, 0, 0) + }, + (e, r) => { + e.setUTCFullYear(e.getUTCFullYear() + r * t) + }, + ) +Xc.range +function lre(t, e, r, n, i, a) { + const s = [ + [vl, 1, Lo], + [vl, 5, 5 * Lo], + [vl, 15, 15 * Lo], + [vl, 30, 30 * Lo], + [a, 1, Wa], + [a, 5, 5 * Wa], + [a, 15, 15 * Wa], + [a, 30, 30 * Wa], + [i, 1, Ro], + [i, 3, 3 * Ro], + [i, 6, 6 * Ro], + [i, 12, 12 * Ro], + [n, 1, qo], + [n, 2, 2 * qo], + [r, 1, eE], + [e, 1, wC], + [e, 3, 3 * wC], + [t, 1, Rb], + ] + function o(u, h, d) { + const f = h < u + f && ([u, h] = [h, u]) + const p = d && typeof d.range == "function" ? d : l(u, h, d), + g = p ? p.range(u, +h + 1) : [] + return f ? g.reverse() : g + } + function l(u, h, d) { + const f = Math.abs(h - u) / d, + p = HT(([, , v]) => v).right(s, f) + if (p === s.length) return t.every($3(u / Rb, h / Rb, d)) + if (p === 0) return Ld.every(Math.max($3(u, h, d), 1)) + const [g, m] = s[f / s[p - 1][2] < s[p][2] / f ? p - 1 : p] + return g.every(m) + } + return [o, l] +} +const [cre, ure] = lre(Wo, Cp, fg, Hc, kp, Ep) +function Nb(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L) + return e.setFullYear(t.y), e + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L) +} +function Db(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)) + return e.setUTCFullYear(t.y), e + } + return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)) +} +function Nf(t, e, r) { + return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 } +} +function hre(t) { + var e = t.dateTime, + r = t.date, + n = t.time, + i = t.periods, + a = t.days, + s = t.shortDays, + o = t.months, + l = t.shortMonths, + u = Df(i), + h = If(i), + d = Df(a), + f = If(a), + p = Df(s), + g = If(s), + m = Df(o), + v = If(o), + y = Df(l), + b = If(l), + w = { + a: O, + A: D, + b: B, + B: z, + c: null, + d: AC, + e: AC, + f: Mre, + g: qre, + G: Hre, + H: Nre, + I: Dre, + j: Ire, + L: $O, + m: Ore, + M: Pre, + p: F, + q: G, + Q: RC, + s: NC, + S: Bre, + u: Fre, + U: $re, + V: zre, + w: Vre, + W: Gre, + x: null, + X: null, + y: Ure, + Y: Wre, + Z: Yre, + "%": LC, + }, + T = { + a: q, + A: Y, + b: ee, + B: Q, + c: null, + d: _C, + e: _C, + f: Zre, + g: one, + G: cne, + H: Xre, + I: jre, + j: Kre, + L: VO, + m: Qre, + M: Jre, + p: oe, + q: pe, + Q: RC, + s: NC, + S: ene, + u: tne, + U: rne, + V: nne, + w: ine, + W: ane, + x: null, + X: null, + y: sne, + Y: lne, + Z: une, + "%": LC, + }, + E = { + a: R, + A: C, + b: I, + B: P, + c: _, + d: SC, + e: SC, + f: Are, + g: kC, + G: EC, + H: CC, + I: CC, + j: Ere, + L: Cre, + m: Tre, + M: kre, + p: A, + q: wre, + Q: Lre, + s: Rre, + S: Sre, + u: mre, + U: vre, + V: yre, + w: gre, + W: xre, + x: N, + X: M, + y: kC, + Y: EC, + Z: bre, + "%": _re, + } + ;(w.x = S(r, w)), (w.X = S(n, w)), (w.c = S(e, w)), (T.x = S(r, T)), (T.X = S(n, T)), (T.c = S(e, T)) + function S(j, H) { + return function (X) { + var W = [], + K = -1, + ne = 0, + Z = j.length, + be, + ce, + re + for (X instanceof Date || (X = new Date(+X)); ++K < Z; ) + j.charCodeAt(K) === 37 && + (W.push(j.slice(ne, K)), + (ce = TC[(be = j.charAt(++K))]) != null ? (be = j.charAt(++K)) : (ce = be === "e" ? " " : "0"), + (re = H[be]) && (be = re(X, ce)), + W.push(be), + (ne = K + 1)) + return W.push(j.slice(ne, K)), W.join("") + } + } + function k(j, H) { + return function (X) { + var W = Nf(1900, void 0, 1), + K = L(W, j, (X += ""), 0), + ne, + Z + if (K != X.length) return null + if ("Q" in W) return new Date(W.Q) + if ("s" in W) return new Date(W.s * 1e3 + ("L" in W ? W.L : 0)) + if ( + (H && !("Z" in W) && (W.Z = 0), + "p" in W && (W.H = (W.H % 12) + W.p * 12), + W.m === void 0 && (W.m = "q" in W ? W.q : 0), + "V" in W) + ) { + if (W.V < 1 || W.V > 53) return null + "w" in W || (W.w = 1), + "Z" in W + ? ((ne = Db(Nf(W.y, 0, 1))), + (Z = ne.getUTCDay()), + (ne = Z > 4 || Z === 0 ? Gv.ceil(ne) : Gv(ne)), + (ne = tE.offset(ne, (W.V - 1) * 7)), + (W.y = ne.getUTCFullYear()), + (W.m = ne.getUTCMonth()), + (W.d = ne.getUTCDate() + ((W.w + 6) % 7))) + : ((ne = Nb(Nf(W.y, 0, 1))), + (Z = ne.getDay()), + (ne = Z > 4 || Z === 0 ? Sp.ceil(ne) : Sp(ne)), + (ne = Hc.offset(ne, (W.V - 1) * 7)), + (W.y = ne.getFullYear()), + (W.m = ne.getMonth()), + (W.d = ne.getDate() + ((W.w + 6) % 7))) + } else + ("W" in W || "U" in W) && + ("w" in W || (W.w = "u" in W ? W.u % 7 : "W" in W ? 1 : 0), + (Z = "Z" in W ? Db(Nf(W.y, 0, 1)).getUTCDay() : Nb(Nf(W.y, 0, 1)).getDay()), + (W.m = 0), + (W.d = "W" in W ? ((W.w + 6) % 7) + W.W * 7 - ((Z + 5) % 7) : W.w + W.U * 7 - ((Z + 6) % 7))) + return "Z" in W ? ((W.H += (W.Z / 100) | 0), (W.M += W.Z % 100), Db(W)) : Nb(W) + } + } + function L(j, H, X, W) { + for (var K = 0, ne = H.length, Z = X.length, be, ce; K < ne; ) { + if (W >= Z) return -1 + if (((be = H.charCodeAt(K++)), be === 37)) { + if (((be = H.charAt(K++)), (ce = E[be in TC ? H.charAt(K++) : be]), !ce || (W = ce(j, X, W)) < 0)) + return -1 + } else if (be != X.charCodeAt(W++)) return -1 + } + return W + } + function A(j, H, X) { + var W = u.exec(H.slice(X)) + return W ? ((j.p = h.get(W[0].toLowerCase())), X + W[0].length) : -1 + } + function R(j, H, X) { + var W = p.exec(H.slice(X)) + return W ? ((j.w = g.get(W[0].toLowerCase())), X + W[0].length) : -1 + } + function C(j, H, X) { + var W = d.exec(H.slice(X)) + return W ? ((j.w = f.get(W[0].toLowerCase())), X + W[0].length) : -1 + } + function I(j, H, X) { + var W = y.exec(H.slice(X)) + return W ? ((j.m = b.get(W[0].toLowerCase())), X + W[0].length) : -1 + } + function P(j, H, X) { + var W = m.exec(H.slice(X)) + return W ? ((j.m = v.get(W[0].toLowerCase())), X + W[0].length) : -1 + } + function _(j, H, X) { + return L(j, e, H, X) + } + function N(j, H, X) { + return L(j, r, H, X) + } + function M(j, H, X) { + return L(j, n, H, X) + } + function O(j) { + return s[j.getDay()] + } + function D(j) { + return a[j.getDay()] + } + function B(j) { + return l[j.getMonth()] + } + function z(j) { + return o[j.getMonth()] + } + function F(j) { + return i[+(j.getHours() >= 12)] + } + function G(j) { + return 1 + ~~(j.getMonth() / 3) + } + function q(j) { + return s[j.getUTCDay()] + } + function Y(j) { + return a[j.getUTCDay()] + } + function ee(j) { + return l[j.getUTCMonth()] + } + function Q(j) { + return o[j.getUTCMonth()] + } + function oe(j) { + return i[+(j.getUTCHours() >= 12)] + } + function pe(j) { + return 1 + ~~(j.getUTCMonth() / 3) + } + return { + format: function (j) { + var H = S((j += ""), w) + return ( + (H.toString = function () { + return j + }), + H + ) + }, + parse: function (j) { + var H = k((j += ""), !1) + return ( + (H.toString = function () { + return j + }), + H + ) + }, + utcFormat: function (j) { + var H = S((j += ""), T) + return ( + (H.toString = function () { + return j + }), + H + ) + }, + utcParse: function (j) { + var H = k((j += ""), !0) + return ( + (H.toString = function () { + return j + }), + H + ) + }, + } +} +var TC = { "-": "", _: " ", 0: "0" }, + ei = /^\s*\d+/, + dre = /^%/, + fre = /[\\^$*+?|[\]().{}]/g +function xr(t, e, r) { + var n = t < 0 ? "-" : "", + i = (n ? -t : t) + "", + a = i.length + return n + (a < r ? new Array(r - a + 1).join(e) + i : i) +} +function pre(t) { + return t.replace(fre, "\\$&") +} +function Df(t) { + return new RegExp("^(?:" + t.map(pre).join("|") + ")", "i") +} +function If(t) { + return new Map(t.map((e, r) => [e.toLowerCase(), r])) +} +function gre(t, e, r) { + var n = ei.exec(e.slice(r, r + 1)) + return n ? ((t.w = +n[0]), r + n[0].length) : -1 +} +function mre(t, e, r) { + var n = ei.exec(e.slice(r, r + 1)) + return n ? ((t.u = +n[0]), r + n[0].length) : -1 +} +function vre(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.U = +n[0]), r + n[0].length) : -1 +} +function yre(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.V = +n[0]), r + n[0].length) : -1 +} +function xre(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.W = +n[0]), r + n[0].length) : -1 +} +function EC(t, e, r) { + var n = ei.exec(e.slice(r, r + 4)) + return n ? ((t.y = +n[0]), r + n[0].length) : -1 +} +function kC(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), r + n[0].length) : -1 +} +function bre(t, e, r) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6)) + return n ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || "00"))), r + n[0].length) : -1 +} +function wre(t, e, r) { + var n = ei.exec(e.slice(r, r + 1)) + return n ? ((t.q = n[0] * 3 - 3), r + n[0].length) : -1 +} +function Tre(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1 +} +function SC(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.d = +n[0]), r + n[0].length) : -1 +} +function Ere(t, e, r) { + var n = ei.exec(e.slice(r, r + 3)) + return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1 +} +function CC(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.H = +n[0]), r + n[0].length) : -1 +} +function kre(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.M = +n[0]), r + n[0].length) : -1 +} +function Sre(t, e, r) { + var n = ei.exec(e.slice(r, r + 2)) + return n ? ((t.S = +n[0]), r + n[0].length) : -1 +} +function Cre(t, e, r) { + var n = ei.exec(e.slice(r, r + 3)) + return n ? ((t.L = +n[0]), r + n[0].length) : -1 +} +function Are(t, e, r) { + var n = ei.exec(e.slice(r, r + 6)) + return n ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) : -1 +} +function _re(t, e, r) { + var n = dre.exec(e.slice(r, r + 1)) + return n ? r + n[0].length : -1 +} +function Lre(t, e, r) { + var n = ei.exec(e.slice(r)) + return n ? ((t.Q = +n[0]), r + n[0].length) : -1 +} +function Rre(t, e, r) { + var n = ei.exec(e.slice(r)) + return n ? ((t.s = +n[0]), r + n[0].length) : -1 +} +function AC(t, e) { + return xr(t.getDate(), e, 2) +} +function Nre(t, e) { + return xr(t.getHours(), e, 2) +} +function Dre(t, e) { + return xr(t.getHours() % 12 || 12, e, 2) +} +function Ire(t, e) { + return xr(1 + Hc.count(Wo(t), t), e, 3) +} +function $O(t, e) { + return xr(t.getMilliseconds(), e, 3) +} +function Mre(t, e) { + return $O(t, e) + "000" +} +function Ore(t, e) { + return xr(t.getMonth() + 1, e, 2) +} +function Pre(t, e) { + return xr(t.getMinutes(), e, 2) +} +function Bre(t, e) { + return xr(t.getSeconds(), e, 2) +} +function Fre(t) { + var e = t.getDay() + return e === 0 ? 7 : e +} +function $re(t, e) { + return xr(fg.count(Wo(t) - 1, t), e, 2) +} +function zO(t) { + var e = t.getDay() + return e >= 4 || e === 0 ? Yc(t) : Yc.ceil(t) +} +function zre(t, e) { + return (t = zO(t)), xr(Yc.count(Wo(t), t) + (Wo(t).getDay() === 4), e, 2) +} +function Vre(t) { + return t.getDay() +} +function Gre(t, e) { + return xr(Sp.count(Wo(t) - 1, t), e, 2) +} +function Ure(t, e) { + return xr(t.getFullYear() % 100, e, 2) +} +function qre(t, e) { + return (t = zO(t)), xr(t.getFullYear() % 100, e, 2) +} +function Wre(t, e) { + return xr(t.getFullYear() % 1e4, e, 4) +} +function Hre(t, e) { + var r = t.getDay() + return (t = r >= 4 || r === 0 ? Yc(t) : Yc.ceil(t)), xr(t.getFullYear() % 1e4, e, 4) +} +function Yre(t) { + var e = t.getTimezoneOffset() + return (e > 0 ? "-" : ((e *= -1), "+")) + xr((e / 60) | 0, "0", 2) + xr(e % 60, "0", 2) +} +function _C(t, e) { + return xr(t.getUTCDate(), e, 2) +} +function Xre(t, e) { + return xr(t.getUTCHours(), e, 2) +} +function jre(t, e) { + return xr(t.getUTCHours() % 12 || 12, e, 2) +} +function Kre(t, e) { + return xr(1 + tE.count(Xc(t), t), e, 3) +} +function VO(t, e) { + return xr(t.getUTCMilliseconds(), e, 3) +} +function Zre(t, e) { + return VO(t, e) + "000" +} +function Qre(t, e) { + return xr(t.getUTCMonth() + 1, e, 2) +} +function Jre(t, e) { + return xr(t.getUTCMinutes(), e, 2) +} +function ene(t, e) { + return xr(t.getUTCSeconds(), e, 2) +} +function tne(t) { + var e = t.getUTCDay() + return e === 0 ? 7 : e +} +function rne(t, e) { + return xr(FO.count(Xc(t) - 1, t), e, 2) +} +function GO(t) { + var e = t.getUTCDay() + return e >= 4 || e === 0 ? Rd(t) : Rd.ceil(t) +} +function nne(t, e) { + return (t = GO(t)), xr(Rd.count(Xc(t), t) + (Xc(t).getUTCDay() === 4), e, 2) +} +function ine(t) { + return t.getUTCDay() +} +function ane(t, e) { + return xr(Gv.count(Xc(t) - 1, t), e, 2) +} +function sne(t, e) { + return xr(t.getUTCFullYear() % 100, e, 2) +} +function one(t, e) { + return (t = GO(t)), xr(t.getUTCFullYear() % 100, e, 2) +} +function lne(t, e) { + return xr(t.getUTCFullYear() % 1e4, e, 4) +} +function cne(t, e) { + var r = t.getUTCDay() + return (t = r >= 4 || r === 0 ? Rd(t) : Rd.ceil(t)), xr(t.getUTCFullYear() % 1e4, e, 4) +} +function une() { + return "+0000" +} +function LC() { + return "%" +} +function RC(t) { + return +t +} +function NC(t) { + return Math.floor(+t / 1e3) +} +var Fu, Uv +hne({ + dateTime: "%x, %X", + date: "%-m/%-d/%Y", + time: "%-I:%M:%S %p", + periods: ["AM", "PM"], + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", + ], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], +}) +function hne(t) { + return (Fu = hre(t)), (Uv = Fu.format), Fu.parse, Fu.utcFormat, Fu.utcParse, Fu +} +function dne(t) { + return new Date(t) +} +function fne(t) { + return t instanceof Date ? +t : +new Date(+t) +} +function UO(t, e, r, n, i, a, s, o, l, u) { + var h = IO(), + d = h.invert, + f = h.domain, + p = u(".%L"), + g = u(":%S"), + m = u("%I:%M"), + v = u("%I %p"), + y = u("%a %d"), + b = u("%b %d"), + w = u("%B"), + T = u("%Y") + function E(S) { + return ( + l(S) < S ? p : o(S) < S ? g : s(S) < S ? m : a(S) < S ? v : n(S) < S ? (i(S) < S ? y : b) : r(S) < S ? w : T + )(S) + } + return ( + (h.invert = function (S) { + return new Date(d(S)) + }), + (h.domain = function (S) { + return arguments.length ? f(Array.from(S, fne)) : f().map(dne) + }), + (h.ticks = function (S) { + var k = f() + return t(k[0], k[k.length - 1], S ?? 10) + }), + (h.tickFormat = function (S, k) { + return k == null ? E : u(k) + }), + (h.nice = function (S) { + var k = f() + return (!S || typeof S.range != "function") && (S = e(k[0], k[k.length - 1], S ?? 10)), S ? f(Jte(k, S)) : h + }), + (h.copy = function () { + return DO(h, UO(t, e, r, n, i, a, s, o, l, u)) + }), + h + ) +} +function pne() { + return I2.apply( + UO(cre, ure, Wo, Cp, fg, Hc, kp, Ep, vl, Uv).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), + arguments, + ) +} +function gne(t) { + for (var e = (t.length / 6) | 0, r = new Array(e), n = 0; n < e; ) r[n] = "#" + t.slice(n * 6, ++n * 6) + return r +} +const mne = gne("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab") +function gn(t) { + return function () { + return t + } +} +const DC = Math.abs, + vi = Math.atan2, + cc = Math.cos, + vne = Math.max, + Ib = Math.min, + Rs = Math.sin, + ah = Math.sqrt, + xi = 1e-12, + Ap = Math.PI, + qv = Ap / 2, + bm = 2 * Ap +function yne(t) { + return t > 1 ? 0 : t < -1 ? Ap : Math.acos(t) +} +function IC(t) { + return t >= 1 ? qv : t <= -1 ? -qv : Math.asin(t) +} +function qO(t) { + let e = 3 + return ( + (t.digits = function (r) { + if (!arguments.length) return e + if (r == null) e = null + else { + const n = Math.floor(r) + if (!(n >= 0)) throw new RangeError(`invalid digits: ${r}`) + e = n + } + return t + }), + () => new Ite(e) + ) +} +function xne(t) { + return t.innerRadius +} +function bne(t) { + return t.outerRadius +} +function wne(t) { + return t.startAngle +} +function Tne(t) { + return t.endAngle +} +function Ene(t) { + return t && t.padAngle +} +function kne(t, e, r, n, i, a, s, o) { + var l = r - t, + u = n - e, + h = s - i, + d = o - a, + f = d * l - h * u + if (!(f * f < xi)) return (f = (h * (e - a) - d * (t - i)) / f), [t + f * l, e + f * u] +} +function m1(t, e, r, n, i, a, s) { + var o = t - r, + l = e - n, + u = (s ? a : -a) / ah(o * o + l * l), + h = u * l, + d = -u * o, + f = t + h, + p = e + d, + g = r + h, + m = n + d, + v = (f + g) / 2, + y = (p + m) / 2, + b = g - f, + w = m - p, + T = b * b + w * w, + E = i - a, + S = f * m - g * p, + k = (w < 0 ? -1 : 1) * ah(vne(0, E * E * T - S * S)), + L = (S * w - b * k) / T, + A = (-S * b - w * k) / T, + R = (S * w + b * k) / T, + C = (-S * b + w * k) / T, + I = L - v, + P = A - y, + _ = R - v, + N = C - y + return ( + I * I + P * P > _ * _ + N * N && ((L = R), (A = C)), + { cx: L, cy: A, x01: -h, y01: -d, x11: L * (i / E - 1), y11: A * (i / E - 1) } + ) +} +function Nd() { + var t = xne, + e = bne, + r = gn(0), + n = null, + i = wne, + a = Tne, + s = Ene, + o = null, + l = qO(u) + function u() { + var h, + d, + f = +t.apply(this, arguments), + p = +e.apply(this, arguments), + g = i.apply(this, arguments) - qv, + m = a.apply(this, arguments) - qv, + v = DC(m - g), + y = m > g + if ((o || (o = h = l()), p < f && ((d = p), (p = f), (f = d)), !(p > xi))) o.moveTo(0, 0) + else if (v > bm - xi) + o.moveTo(p * cc(g), p * Rs(g)), + o.arc(0, 0, p, g, m, !y), + f > xi && (o.moveTo(f * cc(m), f * Rs(m)), o.arc(0, 0, f, m, g, y)) + else { + var b = g, + w = m, + T = g, + E = m, + S = v, + k = v, + L = s.apply(this, arguments) / 2, + A = L > xi && (n ? +n.apply(this, arguments) : ah(f * f + p * p)), + R = Ib(DC(p - f) / 2, +r.apply(this, arguments)), + C = R, + I = R, + P, + _ + if (A > xi) { + var N = IC((A / f) * Rs(L)), + M = IC((A / p) * Rs(L)) + ;(S -= N * 2) > xi ? ((N *= y ? 1 : -1), (T += N), (E -= N)) : ((S = 0), (T = E = (g + m) / 2)), + (k -= M * 2) > xi ? ((M *= y ? 1 : -1), (b += M), (w -= M)) : ((k = 0), (b = w = (g + m) / 2)) + } + var O = p * cc(b), + D = p * Rs(b), + B = f * cc(E), + z = f * Rs(E) + if (R > xi) { + var F = p * cc(w), + G = p * Rs(w), + q = f * cc(T), + Y = f * Rs(T), + ee + if (v < Ap) + if ((ee = kne(O, D, q, Y, F, G, B, z))) { + var Q = O - ee[0], + oe = D - ee[1], + pe = F - ee[0], + j = G - ee[1], + H = 1 / Rs(yne((Q * pe + oe * j) / (ah(Q * Q + oe * oe) * ah(pe * pe + j * j))) / 2), + X = ah(ee[0] * ee[0] + ee[1] * ee[1]) + ;(C = Ib(R, (f - X) / (H - 1))), (I = Ib(R, (p - X) / (H + 1))) + } else C = I = 0 + } + k > xi + ? I > xi + ? ((P = m1(q, Y, O, D, p, I, y)), + (_ = m1(F, G, B, z, p, I, y)), + o.moveTo(P.cx + P.x01, P.cy + P.y01), + I < R + ? o.arc(P.cx, P.cy, I, vi(P.y01, P.x01), vi(_.y01, _.x01), !y) + : (o.arc(P.cx, P.cy, I, vi(P.y01, P.x01), vi(P.y11, P.x11), !y), + o.arc(0, 0, p, vi(P.cy + P.y11, P.cx + P.x11), vi(_.cy + _.y11, _.cx + _.x11), !y), + o.arc(_.cx, _.cy, I, vi(_.y11, _.x11), vi(_.y01, _.x01), !y))) + : (o.moveTo(O, D), o.arc(0, 0, p, b, w, !y)) + : o.moveTo(O, D), + !(f > xi) || !(S > xi) + ? o.lineTo(B, z) + : C > xi + ? ((P = m1(B, z, F, G, f, -C, y)), + (_ = m1(O, D, q, Y, f, -C, y)), + o.lineTo(P.cx + P.x01, P.cy + P.y01), + C < R + ? o.arc(P.cx, P.cy, C, vi(P.y01, P.x01), vi(_.y01, _.x01), !y) + : (o.arc(P.cx, P.cy, C, vi(P.y01, P.x01), vi(P.y11, P.x11), !y), + o.arc(0, 0, f, vi(P.cy + P.y11, P.cx + P.x11), vi(_.cy + _.y11, _.cx + _.x11), y), + o.arc(_.cx, _.cy, C, vi(_.y11, _.x11), vi(_.y01, _.x01), !y))) + : o.arc(0, 0, f, E, T, y) + } + if ((o.closePath(), h)) return (o = null), h + "" || null + } + return ( + (u.centroid = function () { + var h = (+t.apply(this, arguments) + +e.apply(this, arguments)) / 2, + d = (+i.apply(this, arguments) + +a.apply(this, arguments)) / 2 - Ap / 2 + return [cc(d) * h, Rs(d) * h] + }), + (u.innerRadius = function (h) { + return arguments.length ? ((t = typeof h == "function" ? h : gn(+h)), u) : t + }), + (u.outerRadius = function (h) { + return arguments.length ? ((e = typeof h == "function" ? h : gn(+h)), u) : e + }), + (u.cornerRadius = function (h) { + return arguments.length ? ((r = typeof h == "function" ? h : gn(+h)), u) : r + }), + (u.padRadius = function (h) { + return arguments.length ? ((n = h == null ? null : typeof h == "function" ? h : gn(+h)), u) : n + }), + (u.startAngle = function (h) { + return arguments.length ? ((i = typeof h == "function" ? h : gn(+h)), u) : i + }), + (u.endAngle = function (h) { + return arguments.length ? ((a = typeof h == "function" ? h : gn(+h)), u) : a + }), + (u.padAngle = function (h) { + return arguments.length ? ((s = typeof h == "function" ? h : gn(+h)), u) : s + }), + (u.context = function (h) { + return arguments.length ? ((o = h ?? null), u) : o + }), + u + ) +} +function WO(t) { + return typeof t == "object" && "length" in t ? t : Array.from(t) +} +function HO(t) { + this._context = t +} +HO.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + this._point = 0 + }, + lineEnd: function () { + ;(this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e) + break + case 1: + this._point = 2 + default: + this._context.lineTo(t, e) + break + } + }, +} +function Wv(t) { + return new HO(t) +} +function Sne(t) { + return t[0] +} +function Cne(t) { + return t[1] +} +function _p(t, e) { + var r = gn(!0), + n = null, + i = Wv, + a = null, + s = qO(o) + ;(t = typeof t == "function" ? t : t === void 0 ? Sne : gn(t)), + (e = typeof e == "function" ? e : e === void 0 ? Cne : gn(e)) + function o(l) { + var u, + h = (l = WO(l)).length, + d, + f = !1, + p + for (n == null && (a = i((p = s()))), u = 0; u <= h; ++u) + !(u < h && r((d = l[u]), u, l)) === f && ((f = !f) ? a.lineStart() : a.lineEnd()), + f && a.point(+t(d, u, l), +e(d, u, l)) + if (p) return (a = null), p + "" || null + } + return ( + (o.x = function (l) { + return arguments.length ? ((t = typeof l == "function" ? l : gn(+l)), o) : t + }), + (o.y = function (l) { + return arguments.length ? ((e = typeof l == "function" ? l : gn(+l)), o) : e + }), + (o.defined = function (l) { + return arguments.length ? ((r = typeof l == "function" ? l : gn(!!l)), o) : r + }), + (o.curve = function (l) { + return arguments.length ? ((i = l), n != null && (a = i(n)), o) : i + }), + (o.context = function (l) { + return arguments.length ? (l == null ? (n = a = null) : (a = i((n = l))), o) : n + }), + o + ) +} +function Ane(t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN +} +function _ne(t) { + return t +} +function Lne() { + var t = _ne, + e = Ane, + r = null, + n = gn(0), + i = gn(bm), + a = gn(0) + function s(o) { + var l, + u = (o = WO(o)).length, + h, + d, + f = 0, + p = new Array(u), + g = new Array(u), + m = +n.apply(this, arguments), + v = Math.min(bm, Math.max(-bm, i.apply(this, arguments) - m)), + y, + b = Math.min(Math.abs(v) / u, a.apply(this, arguments)), + w = b * (v < 0 ? -1 : 1), + T + for (l = 0; l < u; ++l) (T = g[(p[l] = l)] = +t(o[l], l, o)) > 0 && (f += T) + for ( + e != null + ? p.sort(function (E, S) { + return e(g[E], g[S]) + }) + : r != null && + p.sort(function (E, S) { + return r(o[E], o[S]) + }), + l = 0, + d = f ? (v - u * w) / f : 0; + l < u; + ++l, m = y + ) + (h = p[l]), + (T = g[h]), + (y = m + (T > 0 ? T * d : 0) + w), + (g[h] = { data: o[h], index: l, value: T, startAngle: m, endAngle: y, padAngle: b }) + return g + } + return ( + (s.value = function (o) { + return arguments.length ? ((t = typeof o == "function" ? o : gn(+o)), s) : t + }), + (s.sortValues = function (o) { + return arguments.length ? ((e = o), (r = null), s) : e + }), + (s.sort = function (o) { + return arguments.length ? ((r = o), (e = null), s) : r + }), + (s.startAngle = function (o) { + return arguments.length ? ((n = typeof o == "function" ? o : gn(+o)), s) : n + }), + (s.endAngle = function (o) { + return arguments.length ? ((i = typeof o == "function" ? o : gn(+o)), s) : i + }), + (s.padAngle = function (o) { + return arguments.length ? ((a = typeof o == "function" ? o : gn(+o)), s) : a + }), + s + ) +} +class YO { + constructor(e, r) { + ;(this._context = e), (this._x = r) + } + areaStart() { + this._line = 0 + } + areaEnd() { + this._line = NaN + } + lineStart() { + this._point = 0 + } + lineEnd() { + ;(this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line) + } + point(e, r) { + switch (((e = +e), (r = +r), this._point)) { + case 0: { + ;(this._point = 1), this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r) + break + } + case 1: + this._point = 2 + default: { + this._x + ? this._context.bezierCurveTo((this._x0 = (this._x0 + e) / 2), this._y0, this._x0, r, e, r) + : this._context.bezierCurveTo(this._x0, (this._y0 = (this._y0 + r) / 2), e, this._y0, e, r) + break + } + } + ;(this._x0 = e), (this._y0 = r) + } +} +function XO(t) { + return new YO(t, !0) +} +function jO(t) { + return new YO(t, !1) +} +function Nl() {} +function Hv(t, e, r) { + t._context.bezierCurveTo( + (2 * t._x0 + t._x1) / 3, + (2 * t._y0 + t._y1) / 3, + (t._x0 + 2 * t._x1) / 3, + (t._y0 + 2 * t._y1) / 3, + (t._x0 + 4 * t._x1 + e) / 6, + (t._y0 + 4 * t._y1 + r) / 6, + ) +} +function O2(t) { + this._context = t +} +O2.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 3: + Hv(this, this._x1, this._y1) + case 2: + this._context.lineTo(this._x1, this._y1) + break + } + ;(this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e) + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6) + default: + Hv(this, t, e) + break + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e) + }, +} +function mh(t) { + return new O2(t) +} +function KO(t) { + this._context = t +} +KO.prototype = { + areaStart: Nl, + areaEnd: Nl, + lineStart: function () { + ;(this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + NaN), + (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x2, this._y2), this._context.closePath() + break + } + case 2: { + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), + this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), + this._context.closePath() + break + } + case 3: { + this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4) + break + } + } + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + ;(this._point = 1), (this._x2 = t), (this._y2 = e) + break + case 1: + ;(this._point = 2), (this._x3 = t), (this._y3 = e) + break + case 2: + ;(this._point = 3), + (this._x4 = t), + (this._y4 = e), + this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + e) / 6) + break + default: + Hv(this, t, e) + break + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e) + }, +} +function Rne(t) { + return new KO(t) +} +function ZO(t) { + this._context = t +} +ZO.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0) + }, + lineEnd: function () { + ;(this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1 + break + case 1: + this._point = 2 + break + case 2: + this._point = 3 + var r = (this._x0 + 4 * this._x1 + t) / 6, + n = (this._y0 + 4 * this._y1 + e) / 6 + this._line ? this._context.lineTo(r, n) : this._context.moveTo(r, n) + break + case 3: + this._point = 4 + default: + Hv(this, t, e) + break + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e) + }, +} +function Nne(t) { + return new ZO(t) +} +function QO(t, e) { + ;(this._basis = new O2(t)), (this._beta = e) +} +QO.prototype = { + lineStart: function () { + ;(this._x = []), (this._y = []), this._basis.lineStart() + }, + lineEnd: function () { + var t = this._x, + e = this._y, + r = t.length - 1 + if (r > 0) + for (var n = t[0], i = e[0], a = t[r] - n, s = e[r] - i, o = -1, l; ++o <= r; ) + (l = o / r), + this._basis.point( + this._beta * t[o] + (1 - this._beta) * (n + l * a), + this._beta * e[o] + (1 - this._beta) * (i + l * s), + ) + ;(this._x = this._y = null), this._basis.lineEnd() + }, + point: function (t, e) { + this._x.push(+t), this._y.push(+e) + }, +} +const Dne = (function t(e) { + function r(n) { + return e === 1 ? new O2(n) : new QO(n, e) + } + return ( + (r.beta = function (n) { + return t(+n) + }), + r + ) +})(0.85) +function Yv(t, e, r) { + t._context.bezierCurveTo( + t._x1 + t._k * (t._x2 - t._x0), + t._y1 + t._k * (t._y2 - t._y0), + t._x2 + t._k * (t._x1 - e), + t._y2 + t._k * (t._y1 - r), + t._x2, + t._y2, + ) +} +function rE(t, e) { + ;(this._context = t), (this._k = (1 - e) / 6) +} +rE.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2) + break + case 3: + Yv(this, this._x1, this._y1) + break + } + ;(this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e) + break + case 1: + ;(this._point = 2), (this._x1 = t), (this._y1 = e) + break + case 2: + this._point = 3 + default: + Yv(this, t, e) + break + } + ;(this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e) + }, +} +const JO = (function t(e) { + function r(n) { + return new rE(n, e) + } + return ( + (r.tension = function (n) { + return t(+n) + }), + r + ) +})(0) +function nE(t, e) { + ;(this._context = t), (this._k = (1 - e) / 6) +} +nE.prototype = { + areaStart: Nl, + areaEnd: Nl, + lineStart: function () { + ;(this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3), this._context.closePath() + break + } + case 2: { + this._context.lineTo(this._x3, this._y3), this._context.closePath() + break + } + case 3: { + this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) + break + } + } + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + ;(this._point = 1), (this._x3 = t), (this._y3 = e) + break + case 1: + ;(this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e)) + break + case 2: + ;(this._point = 3), (this._x5 = t), (this._y5 = e) + break + default: + Yv(this, t, e) + break + } + ;(this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e) + }, +} +const Ine = (function t(e) { + function r(n) { + return new nE(n, e) + } + return ( + (r.tension = function (n) { + return t(+n) + }), + r + ) +})(0) +function iE(t, e) { + ;(this._context = t), (this._k = (1 - e) / 6) +} +iE.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0) + }, + lineEnd: function () { + ;(this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1 + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), + this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2) + break + case 3: + this._point = 4 + default: + Yv(this, t, e) + break + } + ;(this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e) + }, +} +const Mne = (function t(e) { + function r(n) { + return new iE(n, e) + } + return ( + (r.tension = function (n) { + return t(+n) + }), + r + ) +})(0) +function aE(t, e, r) { + var n = t._x1, + i = t._y1, + a = t._x2, + s = t._y2 + if (t._l01_a > xi) { + var o = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, + l = 3 * t._l01_a * (t._l01_a + t._l12_a) + ;(n = (n * o - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / l), + (i = (i * o - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / l) + } + if (t._l23_a > xi) { + var u = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, + h = 3 * t._l23_a * (t._l23_a + t._l12_a) + ;(a = (a * u + t._x1 * t._l23_2a - e * t._l12_2a) / h), (s = (s * u + t._y1 * t._l23_2a - r * t._l12_2a) / h) + } + t._context.bezierCurveTo(n, i, a, s, t._x2, t._y2) +} +function eP(t, e) { + ;(this._context = t), (this._alpha = e) +} +eP.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2) + break + case 3: + this.point(this._x2, this._y2) + break + } + ;(this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))) + } + switch (this._point) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e) + break + case 1: + this._point = 2 + break + case 2: + this._point = 3 + default: + aE(this, t, e) + break + } + ;(this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e) + }, +} +const tP = (function t(e) { + function r(n) { + return e ? new eP(n, e) : new rE(n, 0) + } + return ( + (r.alpha = function (n) { + return t(+n) + }), + r + ) +})(0.5) +function rP(t, e) { + ;(this._context = t), (this._alpha = e) +} +rP.prototype = { + areaStart: Nl, + areaEnd: Nl, + lineStart: function () { + ;(this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3), this._context.closePath() + break + } + case 2: { + this._context.lineTo(this._x3, this._y3), this._context.closePath() + break + } + case 3: { + this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) + break + } + } + }, + point: function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))) + } + switch (this._point) { + case 0: + ;(this._point = 1), (this._x3 = t), (this._y3 = e) + break + case 1: + ;(this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = e)) + break + case 2: + ;(this._point = 3), (this._x5 = t), (this._y5 = e) + break + default: + aE(this, t, e) + break + } + ;(this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e) + }, +} +const One = (function t(e) { + function r(n) { + return e ? new rP(n, e) : new nE(n, 0) + } + return ( + (r.alpha = function (n) { + return t(+n) + }), + r + ) +})(0.5) +function nP(t, e) { + ;(this._context = t), (this._alpha = e) +} +nP.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0) + }, + lineEnd: function () { + ;(this._line || (this._line !== 0 && this._point === 3)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(r * r + n * n, this._alpha))) + } + switch (this._point) { + case 0: + this._point = 1 + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), + this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2) + break + case 3: + this._point = 4 + default: + aE(this, t, e) + break + } + ;(this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e) + }, +} +const Pne = (function t(e) { + function r(n) { + return e ? new nP(n, e) : new iE(n, 0) + } + return ( + (r.alpha = function (n) { + return t(+n) + }), + r + ) +})(0.5) +function iP(t) { + this._context = t +} +iP.prototype = { + areaStart: Nl, + areaEnd: Nl, + lineStart: function () { + this._point = 0 + }, + lineEnd: function () { + this._point && this._context.closePath() + }, + point: function (t, e) { + ;(t = +t), (e = +e), this._point ? this._context.lineTo(t, e) : ((this._point = 1), this._context.moveTo(t, e)) + }, +} +function Bne(t) { + return new iP(t) +} +function MC(t) { + return t < 0 ? -1 : 1 +} +function OC(t, e, r) { + var n = t._x1 - t._x0, + i = e - t._x1, + a = (t._y1 - t._y0) / (n || (i < 0 && -0)), + s = (r - t._y1) / (i || (n < 0 && -0)), + o = (a * i + s * n) / (n + i) + return (MC(a) + MC(s)) * Math.min(Math.abs(a), Math.abs(s), 0.5 * Math.abs(o)) || 0 +} +function PC(t, e) { + var r = t._x1 - t._x0 + return r ? ((3 * (t._y1 - t._y0)) / r - e) / 2 : e +} +function Mb(t, e, r) { + var n = t._x0, + i = t._y0, + a = t._x1, + s = t._y1, + o = (a - n) / 3 + t._context.bezierCurveTo(n + o, i + o * e, a - o, s - o * r, a, s) +} +function Xv(t) { + this._context = t +} +Xv.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1) + break + case 3: + Mb(this, this._t0, PC(this, this._t0)) + break + } + ;(this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, e) { + var r = NaN + if (((t = +t), (e = +e), !(t === this._x1 && e === this._y1))) { + switch (this._point) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e) + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), Mb(this, PC(this, (r = OC(this, t, e))), r) + break + default: + Mb(this, this._t0, (r = OC(this, t, e))) + break + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = e), (this._t0 = r) + } + }, +} +function aP(t) { + this._context = new sP(t) +} +;(aP.prototype = Object.create(Xv.prototype)).point = function (t, e) { + Xv.prototype.point.call(this, e, t) +} +function sP(t) { + this._context = t +} +sP.prototype = { + moveTo: function (t, e) { + this._context.moveTo(e, t) + }, + closePath: function () { + this._context.closePath() + }, + lineTo: function (t, e) { + this._context.lineTo(e, t) + }, + bezierCurveTo: function (t, e, r, n, i, a) { + this._context.bezierCurveTo(e, t, n, r, a, i) + }, +} +function oP(t) { + return new Xv(t) +} +function lP(t) { + return new aP(t) +} +function cP(t) { + this._context = t +} +cP.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x = []), (this._y = []) + }, + lineEnd: function () { + var t = this._x, + e = this._y, + r = t.length + if (r) + if ((this._line ? this._context.lineTo(t[0], e[0]) : this._context.moveTo(t[0], e[0]), r === 2)) + this._context.lineTo(t[1], e[1]) + else + for (var n = BC(t), i = BC(e), a = 0, s = 1; s < r; ++a, ++s) + this._context.bezierCurveTo(n[0][a], i[0][a], n[1][a], i[1][a], t[s], e[s]) + ;(this._line || (this._line !== 0 && r === 1)) && this._context.closePath(), + (this._line = 1 - this._line), + (this._x = this._y = null) + }, + point: function (t, e) { + this._x.push(+t), this._y.push(+e) + }, +} +function BC(t) { + var e, + r = t.length - 1, + n, + i = new Array(r), + a = new Array(r), + s = new Array(r) + for (i[0] = 0, a[0] = 2, s[0] = t[0] + 2 * t[1], e = 1; e < r - 1; ++e) + (i[e] = 1), (a[e] = 4), (s[e] = 4 * t[e] + 2 * t[e + 1]) + for (i[r - 1] = 2, a[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], e = 1; e < r; ++e) + (n = i[e] / a[e - 1]), (a[e] -= n), (s[e] -= n * s[e - 1]) + for (i[r - 1] = s[r - 1] / a[r - 1], e = r - 2; e >= 0; --e) i[e] = (s[e] - i[e + 1]) / a[e] + for (a[r - 1] = (t[r] + i[r - 1]) / 2, e = 0; e < r - 1; ++e) a[e] = 2 * t[e + 1] - i[e + 1] + return [i, a] +} +function uP(t) { + return new cP(t) +} +function P2(t, e) { + ;(this._context = t), (this._t = e) +} +P2.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x = this._y = NaN), (this._point = 0) + }, + lineEnd: function () { + 0 < this._t && this._t < 1 && this._point === 2 && this._context.lineTo(this._x, this._y), + (this._line || (this._line !== 0 && this._point === 1)) && this._context.closePath(), + this._line >= 0 && ((this._t = 1 - this._t), (this._line = 1 - this._line)) + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, e) : this._context.moveTo(t, e) + break + case 1: + this._point = 2 + default: { + if (this._t <= 0) this._context.lineTo(this._x, e), this._context.lineTo(t, e) + else { + var r = this._x * (1 - this._t) + t * this._t + this._context.lineTo(r, this._y), this._context.lineTo(r, e) + } + break + } + } + ;(this._x = t), (this._y = e) + }, +} +function hP(t) { + return new P2(t, 0.5) +} +function dP(t) { + return new P2(t, 0) +} +function fP(t) { + return new P2(t, 1) +} +function r0(t, e, r) { + ;(this.k = t), (this.x = e), (this.y = r) +} +r0.prototype = { + constructor: r0, + scale: function (t) { + return t === 1 ? this : new r0(this.k * t, this.x, this.y) + }, + translate: function (t, e) { + return (t === 0) & (e === 0) ? this : new r0(this.k, this.x + this.k * t, this.y + this.k * e) + }, + apply: function (t) { + return [t[0] * this.k + this.x, t[1] * this.k + this.y] + }, + applyX: function (t) { + return t * this.k + this.x + }, + applyY: function (t) { + return t * this.k + this.y + }, + invert: function (t) { + return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k] + }, + invertX: function (t) { + return (t - this.x) / this.k + }, + invertY: function (t) { + return (t - this.y) / this.k + }, + rescaleX: function (t) { + return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)) + }, + rescaleY: function (t) { + return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)) + }, + toString: function () { + return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")" + }, +} +r0.prototype +var pP = typeof global == "object" && global && global.Object === Object && global, + Fne = typeof self == "object" && self && self.Object === Object && self, + so = pP || Fne || Function("return this")(), + es = so.Symbol, + gP = Object.prototype, + $ne = gP.hasOwnProperty, + zne = gP.toString, + Mf = es ? es.toStringTag : void 0 +function Vne(t) { + var e = $ne.call(t, Mf), + r = t[Mf] + try { + t[Mf] = void 0 + var n = !0 + } catch {} + var i = zne.call(t) + return n && (e ? (t[Mf] = r) : delete t[Mf]), i +} +var Gne = Object.prototype, + Une = Gne.toString +function qne(t) { + return Une.call(t) +} +var Wne = "[object Null]", + Hne = "[object Undefined]", + FC = es ? es.toStringTag : void 0 +function Jo(t) { + return t == null ? (t === void 0 ? Hne : Wne) : FC && FC in Object(t) ? Vne(t) : qne(t) +} +function sa(t) { + var e = typeof t + return t != null && (e == "object" || e == "function") +} +var Yne = "[object AsyncFunction]", + Xne = "[object Function]", + jne = "[object GeneratorFunction]", + Kne = "[object Proxy]" +function ts(t) { + if (!sa(t)) return !1 + var e = Jo(t) + return e == Xne || e == jne || e == Yne || e == Kne +} +var Ob = so["__core-js_shared__"], + $C = (function () { + var t = /[^.]+$/.exec((Ob && Ob.keys && Ob.keys.IE_PROTO) || "") + return t ? "Symbol(src)_1." + t : "" + })() +function Zne(t) { + return !!$C && $C in t +} +var Qne = Function.prototype, + Jne = Qne.toString +function vu(t) { + if (t != null) { + try { + return Jne.call(t) + } catch {} + try { + return t + "" + } catch {} + } + return "" +} +var eie = /[\\^$.*+?()[\]{}|]/g, + tie = /^\[object .+?Constructor\]$/, + rie = Function.prototype, + nie = Object.prototype, + iie = rie.toString, + aie = nie.hasOwnProperty, + sie = RegExp( + "^" + + iie + .call(aie) + .replace(eie, "\\$&") + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + + "$", + ) +function oie(t) { + if (!sa(t) || Zne(t)) return !1 + var e = ts(t) ? sie : tie + return e.test(vu(t)) +} +function lie(t, e) { + return t == null ? void 0 : t[e] +} +function yu(t, e) { + var r = lie(t, e) + return oie(r) ? r : void 0 +} +var Lp = yu(Object, "create") +function cie() { + ;(this.__data__ = Lp ? Lp(null) : {}), (this.size = 0) +} +function uie(t) { + var e = this.has(t) && delete this.__data__[t] + return (this.size -= e ? 1 : 0), e +} +var hie = "__lodash_hash_undefined__", + die = Object.prototype, + fie = die.hasOwnProperty +function pie(t) { + var e = this.__data__ + if (Lp) { + var r = e[t] + return r === hie ? void 0 : r + } + return fie.call(e, t) ? e[t] : void 0 +} +var gie = Object.prototype, + mie = gie.hasOwnProperty +function vie(t) { + var e = this.__data__ + return Lp ? e[t] !== void 0 : mie.call(e, t) +} +var yie = "__lodash_hash_undefined__" +function xie(t, e) { + var r = this.__data__ + return (this.size += this.has(t) ? 0 : 1), (r[t] = Lp && e === void 0 ? yie : e), this +} +function jc(t) { + var e = -1, + r = t == null ? 0 : t.length + for (this.clear(); ++e < r; ) { + var n = t[e] + this.set(n[0], n[1]) + } +} +jc.prototype.clear = cie +jc.prototype.delete = uie +jc.prototype.get = pie +jc.prototype.has = vie +jc.prototype.set = xie +function bie() { + ;(this.__data__ = []), (this.size = 0) +} +function nf(t, e) { + return t === e || (t !== t && e !== e) +} +function B2(t, e) { + for (var r = t.length; r--; ) if (nf(t[r][0], e)) return r + return -1 +} +var wie = Array.prototype, + Tie = wie.splice +function Eie(t) { + var e = this.__data__, + r = B2(e, t) + if (r < 0) return !1 + var n = e.length - 1 + return r == n ? e.pop() : Tie.call(e, r, 1), --this.size, !0 +} +function kie(t) { + var e = this.__data__, + r = B2(e, t) + return r < 0 ? void 0 : e[r][1] +} +function Sie(t) { + return B2(this.__data__, t) > -1 +} +function Cie(t, e) { + var r = this.__data__, + n = B2(r, t) + return n < 0 ? (++this.size, r.push([t, e])) : (r[n][1] = e), this +} +function el(t) { + var e = -1, + r = t == null ? 0 : t.length + for (this.clear(); ++e < r; ) { + var n = t[e] + this.set(n[0], n[1]) + } +} +el.prototype.clear = bie +el.prototype.delete = Eie +el.prototype.get = kie +el.prototype.has = Sie +el.prototype.set = Cie +var Rp = yu(so, "Map") +function Aie() { + ;(this.size = 0), (this.__data__ = { hash: new jc(), map: new (Rp || el)(), string: new jc() }) +} +function _ie(t) { + var e = typeof t + return e == "string" || e == "number" || e == "symbol" || e == "boolean" ? t !== "__proto__" : t === null +} +function F2(t, e) { + var r = t.__data__ + return _ie(e) ? r[typeof e == "string" ? "string" : "hash"] : r.map +} +function Lie(t) { + var e = F2(this, t).delete(t) + return (this.size -= e ? 1 : 0), e +} +function Rie(t) { + return F2(this, t).get(t) +} +function Nie(t) { + return F2(this, t).has(t) +} +function Die(t, e) { + var r = F2(this, t), + n = r.size + return r.set(t, e), (this.size += r.size == n ? 0 : 1), this +} +function tl(t) { + var e = -1, + r = t == null ? 0 : t.length + for (this.clear(); ++e < r; ) { + var n = t[e] + this.set(n[0], n[1]) + } +} +tl.prototype.clear = Aie +tl.prototype.delete = Lie +tl.prototype.get = Rie +tl.prototype.has = Nie +tl.prototype.set = Die +var Iie = "Expected a function" +function af(t, e) { + if (typeof t != "function" || (e != null && typeof e != "function")) throw new TypeError(Iie) + var r = function () { + var n = arguments, + i = e ? e.apply(this, n) : n[0], + a = r.cache + if (a.has(i)) return a.get(i) + var s = t.apply(this, n) + return (r.cache = a.set(i, s) || a), s + } + return (r.cache = new (af.Cache || tl)()), r +} +af.Cache = tl +function Mie() { + ;(this.__data__ = new el()), (this.size = 0) +} +function Oie(t) { + var e = this.__data__, + r = e.delete(t) + return (this.size = e.size), r +} +function Pie(t) { + return this.__data__.get(t) +} +function Bie(t) { + return this.__data__.has(t) +} +var Fie = 200 +function $ie(t, e) { + var r = this.__data__ + if (r instanceof el) { + var n = r.__data__ + if (!Rp || n.length < Fie - 1) return n.push([t, e]), (this.size = ++r.size), this + r = this.__data__ = new tl(n) + } + return r.set(t, e), (this.size = r.size), this +} +function gs(t) { + var e = (this.__data__ = new el(t)) + this.size = e.size +} +gs.prototype.clear = Mie +gs.prototype.delete = Oie +gs.prototype.get = Pie +gs.prototype.has = Bie +gs.prototype.set = $ie +var jv = (function () { + try { + var t = yu(Object, "defineProperty") + return t({}, "", {}), t + } catch {} +})() +function pg(t, e, r) { + e == "__proto__" && jv ? jv(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r) +} +function J3(t, e, r) { + ;((r !== void 0 && !nf(t[e], r)) || (r === void 0 && !(e in t))) && pg(t, e, r) +} +function zie(t) { + return function (e, r, n) { + for (var i = -1, a = Object(e), s = n(e), o = s.length; o--; ) { + var l = s[++i] + if (r(a[l], l, a) === !1) break + } + return e + } +} +var sE = zie(), + mP = typeof exports == "object" && exports && !exports.nodeType && exports, + zC = mP && typeof module == "object" && module && !module.nodeType && module, + Vie = zC && zC.exports === mP, + VC = Vie ? so.Buffer : void 0, + GC = VC ? VC.allocUnsafe : void 0 +function vP(t, e) { + if (e) return t.slice() + var r = t.length, + n = GC ? GC(r) : new t.constructor(r) + return t.copy(n), n +} +var Kv = so.Uint8Array +function oE(t) { + var e = new t.constructor(t.byteLength) + return new Kv(e).set(new Kv(t)), e +} +function yP(t, e) { + var r = e ? oE(t.buffer) : t.buffer + return new t.constructor(r, t.byteOffset, t.length) +} +function xP(t, e) { + var r = -1, + n = t.length + for (e || (e = Array(n)); ++r < n; ) e[r] = t[r] + return e +} +var UC = Object.create, + Gie = (function () { + function t() {} + return function (e) { + if (!sa(e)) return {} + if (UC) return UC(e) + t.prototype = e + var r = new t() + return (t.prototype = void 0), r + } + })() +function bP(t, e) { + return function (r) { + return t(e(r)) + } +} +var lE = bP(Object.getPrototypeOf, Object), + Uie = Object.prototype +function gg(t) { + var e = t && t.constructor, + r = (typeof e == "function" && e.prototype) || Uie + return t === r +} +function wP(t) { + return typeof t.constructor == "function" && !gg(t) ? Gie(lE(t)) : {} +} +function rs(t) { + return t != null && typeof t == "object" +} +var qie = "[object Arguments]" +function qC(t) { + return rs(t) && Jo(t) == qie +} +var TP = Object.prototype, + Wie = TP.hasOwnProperty, + Hie = TP.propertyIsEnumerable, + Dd = qC( + (function () { + return arguments + })(), + ) + ? qC + : function (t) { + return rs(t) && Wie.call(t, "callee") && !Hie.call(t, "callee") + }, + lr = Array.isArray, + Yie = 9007199254740991 +function cE(t) { + return typeof t == "number" && t > -1 && t % 1 == 0 && t <= Yie +} +function oo(t) { + return t != null && cE(t.length) && !ts(t) +} +function Zv(t) { + return rs(t) && oo(t) +} +function Xie() { + return !1 +} +var EP = typeof exports == "object" && exports && !exports.nodeType && exports, + WC = EP && typeof module == "object" && module && !module.nodeType && module, + jie = WC && WC.exports === EP, + HC = jie ? so.Buffer : void 0, + Kie = HC ? HC.isBuffer : void 0, + Id = Kie || Xie, + Zie = "[object Object]", + Qie = Function.prototype, + Jie = Object.prototype, + kP = Qie.toString, + eae = Jie.hasOwnProperty, + tae = kP.call(Object) +function rae(t) { + if (!rs(t) || Jo(t) != Zie) return !1 + var e = lE(t) + if (e === null) return !0 + var r = eae.call(e, "constructor") && e.constructor + return typeof r == "function" && r instanceof r && kP.call(r) == tae +} +var nae = "[object Arguments]", + iae = "[object Array]", + aae = "[object Boolean]", + sae = "[object Date]", + oae = "[object Error]", + lae = "[object Function]", + cae = "[object Map]", + uae = "[object Number]", + hae = "[object Object]", + dae = "[object RegExp]", + fae = "[object Set]", + pae = "[object String]", + gae = "[object WeakMap]", + mae = "[object ArrayBuffer]", + vae = "[object DataView]", + yae = "[object Float32Array]", + xae = "[object Float64Array]", + bae = "[object Int8Array]", + wae = "[object Int16Array]", + Tae = "[object Int32Array]", + Eae = "[object Uint8Array]", + kae = "[object Uint8ClampedArray]", + Sae = "[object Uint16Array]", + Cae = "[object Uint32Array]", + Wr = {} +Wr[yae] = Wr[xae] = Wr[bae] = Wr[wae] = Wr[Tae] = Wr[Eae] = Wr[kae] = Wr[Sae] = Wr[Cae] = !0 +Wr[nae] = + Wr[iae] = + Wr[mae] = + Wr[aae] = + Wr[vae] = + Wr[sae] = + Wr[oae] = + Wr[lae] = + Wr[cae] = + Wr[uae] = + Wr[hae] = + Wr[dae] = + Wr[fae] = + Wr[pae] = + Wr[gae] = + !1 +function Aae(t) { + return rs(t) && cE(t.length) && !!Wr[Jo(t)] +} +function mg(t) { + return function (e) { + return t(e) + } +} +var SP = typeof exports == "object" && exports && !exports.nodeType && exports, + np = SP && typeof module == "object" && module && !module.nodeType && module, + _ae = np && np.exports === SP, + Pb = _ae && pP.process, + Dl = (function () { + try { + var t = np && np.require && np.require("util").types + return t || (Pb && Pb.binding && Pb.binding("util")) + } catch {} + })(), + YC = Dl && Dl.isTypedArray, + $2 = YC ? mg(YC) : Aae +function ew(t, e) { + if (!(e === "constructor" && typeof t[e] == "function") && e != "__proto__") return t[e] +} +var Lae = Object.prototype, + Rae = Lae.hasOwnProperty +function vg(t, e, r) { + var n = t[e] + ;(!(Rae.call(t, e) && nf(n, r)) || (r === void 0 && !(e in t))) && pg(t, e, r) +} +function sf(t, e, r, n) { + var i = !r + r || (r = {}) + for (var a = -1, s = e.length; ++a < s; ) { + var o = e[a], + l = void 0 + l === void 0 && (l = t[o]), i ? pg(r, o, l) : vg(r, o, l) + } + return r +} +function Nae(t, e) { + for (var r = -1, n = Array(t); ++r < t; ) n[r] = e(r) + return n +} +var Dae = 9007199254740991, + Iae = /^(?:0|[1-9]\d*)$/ +function z2(t, e) { + var r = typeof t + return (e = e ?? Dae), !!e && (r == "number" || (r != "symbol" && Iae.test(t))) && t > -1 && t % 1 == 0 && t < e +} +var Mae = Object.prototype, + Oae = Mae.hasOwnProperty +function CP(t, e) { + var r = lr(t), + n = !r && Dd(t), + i = !r && !n && Id(t), + a = !r && !n && !i && $2(t), + s = r || n || i || a, + o = s ? Nae(t.length, String) : [], + l = o.length + for (var u in t) + (e || Oae.call(t, u)) && + !( + s && + (u == "length" || + (i && (u == "offset" || u == "parent")) || + (a && (u == "buffer" || u == "byteLength" || u == "byteOffset")) || + z2(u, l)) + ) && + o.push(u) + return o +} +function Pae(t) { + var e = [] + if (t != null) for (var r in Object(t)) e.push(r) + return e +} +var Bae = Object.prototype, + Fae = Bae.hasOwnProperty +function $ae(t) { + if (!sa(t)) return Pae(t) + var e = gg(t), + r = [] + for (var n in t) (n == "constructor" && (e || !Fae.call(t, n))) || r.push(n) + return r +} +function xu(t) { + return oo(t) ? CP(t, !0) : $ae(t) +} +function zae(t) { + return sf(t, xu(t)) +} +function Vae(t, e, r, n, i, a, s) { + var o = ew(t, r), + l = ew(e, r), + u = s.get(l) + if (u) { + J3(t, r, u) + return + } + var h = a ? a(o, l, r + "", t, e, s) : void 0, + d = h === void 0 + if (d) { + var f = lr(l), + p = !f && Id(l), + g = !f && !p && $2(l) + ;(h = l), + f || p || g + ? lr(o) + ? (h = o) + : Zv(o) + ? (h = xP(o)) + : p + ? ((d = !1), (h = vP(l, !0))) + : g + ? ((d = !1), (h = yP(l, !0))) + : (h = []) + : rae(l) || Dd(l) + ? ((h = o), Dd(o) ? (h = zae(o)) : (!sa(o) || ts(o)) && (h = wP(l))) + : (d = !1) + } + d && (s.set(l, h), i(h, l, n, a, s), s.delete(l)), J3(t, r, h) +} +function AP(t, e, r, n, i) { + t !== e && + sE( + e, + function (a, s) { + if ((i || (i = new gs()), sa(a))) Vae(t, e, s, r, AP, n, i) + else { + var o = n ? n(ew(t, s), a, s + "", t, e, i) : void 0 + o === void 0 && (o = a), J3(t, s, o) + } + }, + xu, + ) +} +function Ho(t) { + return t +} +function Gae(t, e, r) { + switch (r.length) { + case 0: + return t.call(e) + case 1: + return t.call(e, r[0]) + case 2: + return t.call(e, r[0], r[1]) + case 3: + return t.call(e, r[0], r[1], r[2]) + } + return t.apply(e, r) +} +var XC = Math.max +function _P(t, e, r) { + return ( + (e = XC(e === void 0 ? t.length - 1 : e, 0)), + function () { + for (var n = arguments, i = -1, a = XC(n.length - e, 0), s = Array(a); ++i < a; ) s[i] = n[e + i] + i = -1 + for (var o = Array(e + 1); ++i < e; ) o[i] = n[i] + return (o[e] = r(s)), Gae(t, this, o) + } + ) +} +function sh(t) { + return function () { + return t + } +} +var Uae = jv + ? function (t, e) { + return jv(t, "toString", { configurable: !0, enumerable: !1, value: sh(e), writable: !0 }) + } + : Ho, + qae = 800, + Wae = 16, + Hae = Date.now +function Yae(t) { + var e = 0, + r = 0 + return function () { + var n = Hae(), + i = Wae - (n - r) + if (((r = n), i > 0)) { + if (++e >= qae) return arguments[0] + } else e = 0 + return t.apply(void 0, arguments) + } +} +var LP = Yae(Uae) +function yg(t, e) { + return LP(_P(t, e, Ho), t + "") +} +function Np(t, e, r) { + if (!sa(r)) return !1 + var n = typeof e + return (n == "number" ? oo(r) && z2(e, r.length) : n == "string" && e in r) ? nf(r[e], t) : !1 +} +function RP(t) { + return yg(function (e, r) { + var n = -1, + i = r.length, + a = i > 1 ? r[i - 1] : void 0, + s = i > 2 ? r[2] : void 0 + for ( + a = t.length > 3 && typeof a == "function" ? (i--, a) : void 0, + s && Np(r[0], r[1], s) && ((a = i < 3 ? void 0 : a), (i = 1)), + e = Object(e); + ++n < i; + + ) { + var o = r[n] + o && t(e, o, n, a) + } + return e + }) +} +var Qv = RP(function (t, e, r) { + AP(t, e, r) + }), + NP = "​", + Xae = { + curveBasis: mh, + curveBasisClosed: Rne, + curveBasisOpen: Nne, + curveBumpX: XO, + curveBumpY: jO, + curveBundle: Dne, + curveCardinalClosed: Ine, + curveCardinalOpen: Mne, + curveCardinal: JO, + curveCatmullRomClosed: One, + curveCatmullRomOpen: Pne, + curveCatmullRom: tP, + curveLinear: Wv, + curveLinearClosed: Bne, + curveMonotoneX: oP, + curveMonotoneY: lP, + curveNatural: uP, + curveStep: hP, + curveStepAfter: fP, + curveStepBefore: dP, + }, + jae = /\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi, + Kae = x(function (t, e) { + const r = DP(t, /(?:init\b)|(?:initialize\b)/) + let n = {} + if (Array.isArray(r)) { + const s = r.map((o) => o.args) + bv(s), (n = Mn(n, [...s])) + } else n = r.args + if (!n) return + let i = RT(t, e) + const a = "config" + return n[a] !== void 0 && (i === "flowchart-v2" && (i = "flowchart"), (n[i] = n[a]), delete n[a]), n + }, "detectInit"), + DP = x(function (t, e = null) { + var r, n + try { + const i = new RegExp( + `[%]{2}(?![{]${jae.source})(?=[}][%]{2}).* +`, + "ig", + ) + ;(t = t.trim().replace(i, "").replace(/'/gm, '"')), + ie.debug(`Detecting diagram directive${e !== null ? " type:" + e : ""} based on the text:${t}`) + let a + const s = [] + for (; (a = ep.exec(t)) !== null; ) + if ( + (a.index === ep.lastIndex && ep.lastIndex++, + (a && !e) || (e && (r = a[1]) != null && r.match(e)) || (e && (n = a[2]) != null && n.match(e))) + ) { + const o = a[1] ? a[1] : a[2], + l = a[3] ? a[3].trim() : a[4] ? JSON.parse(a[4].trim()) : null + s.push({ type: o, args: l }) + } + return s.length === 0 ? { type: t, args: null } : s.length === 1 ? s[0] : s + } catch (i) { + return ( + ie.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`), + { type: void 0, args: null } + ) + } + }, "detectDirective"), + Zae = x(function (t) { + return t.replace(ep, "") + }, "removeDirectives"), + Qae = x(function (t, e) { + for (const [r, n] of e.entries()) if (n.match(t)) return r + return -1 + }, "isSubstringInArray") +function uE(t, e) { + if (!t) return e + const r = `curve${t.charAt(0).toUpperCase() + t.slice(1)}` + return Xae[r] ?? e +} +x(uE, "interpolateToCurve") +function IP(t, e) { + const r = t.trim() + if (r) return e.securityLevel !== "loose" ? fu.sanitizeUrl(r) : r +} +x(IP, "formatUrl") +var Jae = x((t, ...e) => { + const r = t.split("."), + n = r.length - 1, + i = r[n] + let a = window + for (let s = 0; s < n; s++) + if (((a = a[r[s]]), !a)) { + ie.error(`Function name: ${t} not found in window`) + return + } + a[i](...e) +}, "runFunc") +function hE(t, e) { + return !t || !e ? 0 : Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)) +} +x(hE, "distance") +function MP(t) { + let e, + r = 0 + t.forEach((i) => { + ;(r += hE(i, e)), (e = i) + }) + const n = r / 2 + return dE(t, n) +} +x(MP, "traverseEdge") +function OP(t) { + return t.length === 1 ? t[0] : MP(t) +} +x(OP, "calcLabelPosition") +var jC = x((t, e = 2) => { + const r = Math.pow(10, e) + return Math.round(t * r) / r + }, "roundNumber"), + dE = x((t, e) => { + let r, + n = e + for (const i of t) { + if (r) { + const a = hE(i, r) + if (a === 0) return r + if (a < n) n -= a + else { + const s = n / a + if (s <= 0) return r + if (s >= 1) return { x: i.x, y: i.y } + if (s > 0 && s < 1) return { x: jC((1 - s) * r.x + s * i.x, 5), y: jC((1 - s) * r.y + s * i.y, 5) } + } + } + r = i + } + throw new Error("Could not find a suitable point for the given distance") + }, "calculatePoint"), + ese = x((t, e, r) => { + ie.info(`our points ${JSON.stringify(e)}`), e[0] !== r && (e = e.reverse()) + const i = dE(e, 25), + a = t ? 10 : 5, + s = Math.atan2(e[0].y - i.y, e[0].x - i.x), + o = { x: 0, y: 0 } + return (o.x = Math.sin(s) * a + (e[0].x + i.x) / 2), (o.y = -Math.cos(s) * a + (e[0].y + i.y) / 2), o + }, "calcCardinalityPosition") +function PP(t, e, r) { + const n = structuredClone(r) + ie.info("our points", n), e !== "start_left" && e !== "start_right" && n.reverse() + const i = 25 + t, + a = dE(n, i), + s = 10 + t * 0.5, + o = Math.atan2(n[0].y - a.y, n[0].x - a.x), + l = { x: 0, y: 0 } + return ( + e === "start_left" + ? ((l.x = Math.sin(o + Math.PI) * s + (n[0].x + a.x) / 2), + (l.y = -Math.cos(o + Math.PI) * s + (n[0].y + a.y) / 2)) + : e === "end_right" + ? ((l.x = Math.sin(o - Math.PI) * s + (n[0].x + a.x) / 2 - 5), + (l.y = -Math.cos(o - Math.PI) * s + (n[0].y + a.y) / 2 - 5)) + : e === "end_left" + ? ((l.x = Math.sin(o) * s + (n[0].x + a.x) / 2 - 5), + (l.y = -Math.cos(o) * s + (n[0].y + a.y) / 2 - 5)) + : ((l.x = Math.sin(o) * s + (n[0].x + a.x) / 2), (l.y = -Math.cos(o) * s + (n[0].y + a.y) / 2)), + l + ) +} +x(PP, "calcTerminalLabelPosition") +function fE(t) { + let e = "", + r = "" + for (const n of t) + n !== void 0 && (n.startsWith("color:") || n.startsWith("text-align:") ? (r = r + n + ";") : (e = e + n + ";")) + return { style: e, labelStyle: r } +} +x(fE, "getStylesFromArray") +var KC = 0, + BP = x(() => (KC++, "id-" + Math.random().toString(36).substr(2, 12) + "-" + KC), "generateId") +function FP(t) { + let e = "" + const r = "0123456789abcdef", + n = r.length + for (let i = 0; i < t; i++) e += r.charAt(Math.floor(Math.random() * n)) + return e +} +x(FP, "makeRandomHex") +var $P = x((t) => FP(t.length), "random"), + tse = x(function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: "start", + style: "#666", + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0, + valign: void 0, + text: "", + } + }, "getTextObj"), + rse = x(function (t, e) { + const r = e.text.replace(it.lineBreakRegex, " "), + [, n] = jl(e.fontSize), + i = t.append("text") + i.attr("x", e.x), + i.attr("y", e.y), + i.style("text-anchor", e.anchor), + i.style("font-family", e.fontFamily), + i.style("font-size", n), + i.style("font-weight", e.fontWeight), + i.attr("fill", e.fill), + e.class !== void 0 && i.attr("class", e.class) + const a = i.append("tspan") + return a.attr("x", e.x + e.textMargin * 2), a.attr("fill", e.fill), a.text(r), i + }, "drawSimpleText"), + zP = af( + (t, e, r) => { + if ( + !t || + ((r = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial", joinWith: "<br/>" }, r)), + it.lineBreakRegex.test(t)) + ) + return t + const n = t.split(" ").filter(Boolean), + i = [] + let a = "" + return ( + n.forEach((s, o) => { + const l = $i(`${s} `, r), + u = $i(a, r) + if (l > e) { + const { hyphenatedStrings: f, remainingWord: p } = nse(s, e, "-", r) + i.push(a, ...f), (a = p) + } else u + l >= e ? (i.push(a), (a = s)) : (a = [a, s].filter(Boolean).join(" ")) + o + 1 === n.length && i.push(a) + }), + i.filter((s) => s !== "").join(r.joinWith) + ) + }, + (t, e, r) => `${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`, + ), + nse = af( + (t, e, r = "-", n) => { + n = Object.assign({ fontSize: 12, fontWeight: 400, fontFamily: "Arial", margin: 0 }, n) + const i = [...t], + a = [] + let s = "" + return ( + i.forEach((o, l) => { + const u = `${s}${o}` + if ($i(u, n) >= e) { + const d = l + 1, + f = i.length === d, + p = `${u}${r}` + a.push(f ? u : p), (s = "") + } else s = u + }), + { hyphenatedStrings: a, remainingWord: s } + ) + }, + (t, e, r = "-", n) => `${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`, + ) +function Jv(t, e) { + return pE(t, e).height +} +x(Jv, "calculateTextHeight") +function $i(t, e) { + return pE(t, e).width +} +x($i, "calculateTextWidth") +var pE = af( + (t, e) => { + const { fontSize: r = 12, fontFamily: n = "Arial", fontWeight: i = 400 } = e + if (!t) return { width: 0, height: 0 } + const [, a] = jl(r), + s = ["sans-serif", n], + o = t.split(it.lineBreakRegex), + l = [], + u = rt("body") + if (!u.remove) return { width: 0, height: 0, lineHeight: 0 } + const h = u.append("svg") + for (const f of s) { + let p = 0 + const g = { width: 0, height: 0, lineHeight: 0 } + for (const m of o) { + const v = tse() + v.text = m || NP + const y = rse(h, v).style("font-size", a).style("font-weight", i).style("font-family", f), + b = (y._groups || y)[0][0].getBBox() + if (b.width === 0 && b.height === 0) throw new Error("svg element not in render tree") + ;(g.width = Math.round(Math.max(g.width, b.width))), + (p = Math.round(b.height)), + (g.height += p), + (g.lineHeight = Math.round(Math.max(g.lineHeight, p))) + } + l.push(g) + } + h.remove() + const d = + isNaN(l[1].height) || + isNaN(l[1].width) || + isNaN(l[1].lineHeight) || + (l[0].height > l[1].height && l[0].width > l[1].width && l[0].lineHeight > l[1].lineHeight) + ? 0 + : 1 + return l[d] + }, + (t, e) => `${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`, + ), + Mh, + ise = + ((Mh = class { + constructor(e = !1, r) { + ;(this.count = 0), + (this.count = r ? r.length : 0), + (this.next = e ? () => this.count++ : () => Date.now()) + } + }), + x(Mh, "InitIDGenerator"), + Mh), + v1, + ase = x(function (t) { + return ( + (v1 = v1 || document.createElement("div")), + (t = escape(t).replace(/%26/g, "&").replace(/%23/g, "#").replace(/%3B/g, ";")), + (v1.innerHTML = t), + unescape(v1.textContent) + ) + }, "entityDecode") +function gE(t) { + return "str" in t +} +x(gE, "isDetailedError") +var sse = x((t, e, r, n) => { + var a + if (!n) return + const i = (a = t.node()) == null ? void 0 : a.getBBox() + i && + t + .append("text") + .text(n) + .attr("text-anchor", "middle") + .attr("x", i.x + i.width / 2) + .attr("y", -r) + .attr("class", e) + }, "insertTitle"), + jl = x((t) => { + if (typeof t == "number") return [t, t + "px"] + const e = parseInt(t ?? "", 10) + return Number.isNaN(e) ? [void 0, void 0] : t === String(e) ? [e, t + "px"] : [e, t] + }, "parseFontSize") +function ns(t, e) { + return Qv({}, t, e) +} +x(ns, "cleanAndMerge") +var Zt = { + assignWithDepth: Mn, + wrapLabel: zP, + calculateTextHeight: Jv, + calculateTextWidth: $i, + calculateTextDimensions: pE, + cleanAndMerge: ns, + detectInit: Kae, + detectDirective: DP, + isSubstringInArray: Qae, + interpolateToCurve: uE, + calcLabelPosition: OP, + calcCardinalityPosition: ese, + calcTerminalLabelPosition: PP, + formatUrl: IP, + getStylesFromArray: fE, + generateId: BP, + random: $P, + runFunc: Jae, + entityDecode: ase, + insertTitle: sse, + parseFontSize: jl, + InitIDGenerator: ise, + }, + ose = x(function (t) { + let e = t + return ( + (e = e.replace(/style.*:\S*#.*;/g, function (r) { + return r.substring(0, r.length - 1) + })), + (e = e.replace(/classDef.*:\S*#.*;/g, function (r) { + return r.substring(0, r.length - 1) + })), + (e = e.replace(/#\w+;/g, function (r) { + const n = r.substring(1, r.length - 1) + return /^\+?\d+$/.test(n) ? "fl°°" + n + "¶ß" : "fl°" + n + "¶ß" + })), + e + ) + }, "encodeEntities"), + Zs = x(function (t) { + return t.replace(/fl°°/g, "&#").replace(/fl°/g, "&").replace(/¶ß/g, ";") + }, "decodeEntities"), + ip = x( + (t, e, { counter: r = 0, prefix: n, suffix: i }, a) => + a || `${n ? `${n}_` : ""}${t}_${e}_${r}${i ? `_${i}` : ""}`, + "getEdgeId", + ) +function zi(t) { + return t ?? null +} +x(zi, "handleUndefinedAttr") +function mE() { + return { + async: !1, + breaks: !1, + extensions: null, + gfm: !0, + hooks: null, + pedantic: !1, + renderer: null, + silent: !1, + tokenizer: null, + walkTokens: null, + } +} +let bu = mE() +function VP(t) { + bu = t +} +const ap = { exec: () => null } +function Cr(t, e = "") { + let r = typeof t == "string" ? t : t.source + const n = { + replace: (i, a) => { + let s = typeof a == "string" ? a : a.source + return (s = s.replace(Fi.caret, "$1")), (r = r.replace(i, s)), n + }, + getRegex: () => new RegExp(r, e), + } + return n +} +const Fi = { + codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, + outputLinkReplace: /\\([\[\]])/g, + indentCodeCompensation: /^(\s+)(?:```)/, + beginningSpace: /^\s+/, + endingHash: /#$/, + startingSpaceChar: /^ /, + endingSpaceChar: / $/, + nonSpaceChar: /[^ ]/, + newLineCharGlobal: /\n/g, + tabCharGlobal: /\t/g, + multipleSpaceGlobal: /\s+/g, + blankLine: /^[ \t]*$/, + doubleBlankLine: /\n[ \t]*\n[ \t]*$/, + blockquoteStart: /^ {0,3}>/, + blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, + blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, + listReplaceTabs: /^\t+/, + listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, + listIsTask: /^\[[ xX]\] /, + listReplaceTask: /^\[[ xX]\] +/, + anyLine: /\n.*\n/, + hrefBrackets: /^<(.*)>$/, + tableDelimiter: /[:|]/, + tableAlignChars: /^\||\| *$/g, + tableRowBlankLine: /\n[ \t]*$/, + tableAlignRight: /^ *-+: *$/, + tableAlignCenter: /^ *:-+: *$/, + tableAlignLeft: /^ *:-+ *$/, + startATag: /^<a /i, + endATag: /^<\/a>/i, + startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, + endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, + startAngleBracket: /^</, + endAngleBracket: />$/, + pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, + unicodeAlphaNumeric: /[\p{L}\p{N}]/u, + escapeTest: /[&<>"']/, + escapeReplace: /[&<>"']/g, + escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, + escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, + unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi, + caret: /(^|[^\[])\^/g, + percentDecode: /%25/g, + findPipe: /\|/g, + splitPipe: / \|/, + slashPipe: /\\\|/g, + carriageReturn: /\r\n|\r/g, + spaceLine: /^ +$/gm, + notSpaceStart: /^\S*/, + endingNewline: /\n$/, + listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`), + nextBulletRegex: (t) => + new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), + hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), + fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\`\`\`|~~~)`), + headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), + htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, "i"), + }, + lse = /^(?:[ \t]*(?:\n|$))+/, + cse = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, + use = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, + xg = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, + hse = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, + vE = /(?:[*+-]|\d{1,9}[.)])/, + GP = + /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, + UP = Cr(GP) + .replace(/bull/g, vE) + .replace(/blockCode/g, /(?: {4}| {0,3}\t)/) + .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) + .replace(/blockquote/g, / {0,3}>/) + .replace(/heading/g, / {0,3}#{1,6}/) + .replace(/html/g, / {0,3}<[^\n>]+>\n/) + .replace(/\|table/g, "") + .getRegex(), + dse = Cr(GP) + .replace(/bull/g, vE) + .replace(/blockCode/g, /(?: {4}| {0,3}\t)/) + .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) + .replace(/blockquote/g, / {0,3}>/) + .replace(/heading/g, / {0,3}#{1,6}/) + .replace(/html/g, / {0,3}<[^\n>]+>\n/) + .replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/) + .getRegex(), + yE = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, + fse = /^[^\n]+/, + xE = /(?!\s*\])(?:\\.|[^\[\]\\])+/, + pse = Cr( + /^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/, + ) + .replace("label", xE) + .replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/) + .getRegex(), + gse = Cr(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/) + .replace(/bull/g, vE) + .getRegex(), + V2 = + "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", + bE = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, + mse = Cr( + "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", + "i", + ) + .replace("comment", bE) + .replace("tag", V2) + .replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex(), + qP = Cr(yE) + .replace("hr", xg) + .replace("heading", " {0,3}#{1,6}(?:\\s|$)") + .replace("|lheading", "") + .replace("|table", "") + .replace("blockquote", " {0,3}>") + .replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n") + .replace("list", " {0,3}(?:[*+-]|1[.)]) ") + .replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)") + .replace("tag", V2) + .getRegex(), + vse = Cr(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/) + .replace("paragraph", qP) + .getRegex(), + wE = { + blockquote: vse, + code: cse, + def: pse, + fences: use, + heading: hse, + hr: xg, + html: mse, + lheading: UP, + list: gse, + newline: lse, + paragraph: qP, + table: ap, + text: fse, + }, + ZC = Cr( + "^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)", + ) + .replace("hr", xg) + .replace("heading", " {0,3}#{1,6}(?:\\s|$)") + .replace("blockquote", " {0,3}>") + .replace("code", "(?: {4}| {0,3} )[^\\n]") + .replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n") + .replace("list", " {0,3}(?:[*+-]|1[.)]) ") + .replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)") + .replace("tag", V2) + .getRegex(), + yse = { + ...wE, + lheading: dse, + table: ZC, + paragraph: Cr(yE) + .replace("hr", xg) + .replace("heading", " {0,3}#{1,6}(?:\\s|$)") + .replace("|lheading", "") + .replace("table", ZC) + .replace("blockquote", " {0,3}>") + .replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n") + .replace("list", " {0,3}(?:[*+-]|1[.)]) ") + .replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)") + .replace("tag", V2) + .getRegex(), + }, + xse = { + ...wE, + html: Cr( + `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`, + ) + .replace("comment", bE) + .replace( + /tag/g, + "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b", + ) + .getRegex(), + def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: ap, + lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, + paragraph: Cr(yE) + .replace("hr", xg) + .replace( + "heading", + ` *#{1,6} *[^ +]`, + ) + .replace("lheading", UP) + .replace("|table", "") + .replace("blockquote", " {0,3}>") + .replace("|fences", "") + .replace("|list", "") + .replace("|html", "") + .replace("|tag", "") + .getRegex(), + }, + bse = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + wse = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + WP = /^( {2,}|\\)\n(?!\s*$)/, + Tse = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, + G2 = /[\p{P}\p{S}]/u, + TE = /[\s\p{P}\p{S}]/u, + HP = /[^\s\p{P}\p{S}]/u, + Ese = Cr(/^((?![*_])punctSpace)/, "u") + .replace(/punctSpace/g, TE) + .getRegex(), + YP = /(?!~)[\p{P}\p{S}]/u, + kse = /(?!~)[\s\p{P}\p{S}]/u, + Sse = /(?:[^\s\p{P}\p{S}]|~)/u, + Cse = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g, + XP = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, + Ase = Cr(XP, "u").replace(/punct/g, G2).getRegex(), + _se = Cr(XP, "u").replace(/punct/g, YP).getRegex(), + jP = + "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", + Lse = Cr(jP, "gu") + .replace(/notPunctSpace/g, HP) + .replace(/punctSpace/g, TE) + .replace(/punct/g, G2) + .getRegex(), + Rse = Cr(jP, "gu") + .replace(/notPunctSpace/g, Sse) + .replace(/punctSpace/g, kse) + .replace(/punct/g, YP) + .getRegex(), + Nse = Cr( + "^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", + "gu", + ) + .replace(/notPunctSpace/g, HP) + .replace(/punctSpace/g, TE) + .replace(/punct/g, G2) + .getRegex(), + Dse = Cr(/\\(punct)/, "gu") + .replace(/punct/g, G2) + .getRegex(), + Ise = Cr(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/) + .replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/) + .replace( + "email", + /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/, + ) + .getRegex(), + Mse = Cr(bE).replace("(?:-->|$)", "-->").getRegex(), + Ose = Cr( + "^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>", + ) + .replace("comment", Mse) + .replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/) + .getRegex(), + ey = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/, + Pse = Cr(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/) + .replace("label", ey) + .replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/) + .replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/) + .getRegex(), + KP = Cr(/^!?\[(label)\]\[(ref)\]/) + .replace("label", ey) + .replace("ref", xE) + .getRegex(), + ZP = Cr(/^!?\[(ref)\](?:\[\])?/) + .replace("ref", xE) + .getRegex(), + Bse = Cr("reflink|nolink(?!\\()", "g").replace("reflink", KP).replace("nolink", ZP).getRegex(), + EE = { + _backpedal: ap, + anyPunctuation: Dse, + autolink: Ise, + blockSkip: Cse, + br: WP, + code: wse, + del: ap, + emStrongLDelim: Ase, + emStrongRDelimAst: Lse, + emStrongRDelimUnd: Nse, + escape: bse, + link: Pse, + nolink: ZP, + punctuation: Ese, + reflink: KP, + reflinkSearch: Bse, + tag: Ose, + text: Tse, + url: ap, + }, + Fse = { + ...EE, + link: Cr(/^!?\[(label)\]\((.*?)\)/) + .replace("label", ey) + .getRegex(), + reflink: Cr(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace("label", ey) + .getRegex(), + }, + tw = { + ...EE, + emStrongRDelimAst: Rse, + emStrongLDelim: _se, + url: Cr(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i") + .replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/) + .getRegex(), + _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/, + }, + $se = { + ...tw, + br: Cr(WP).replace("{2,}", "*").getRegex(), + text: Cr(tw.text) + .replace("\\b_", "\\b_| {2,}\\n") + .replace(/\{2,\}/g, "*") + .getRegex(), + }, + y1 = { normal: wE, gfm: yse, pedantic: xse }, + Of = { normal: EE, gfm: tw, breaks: $se, pedantic: Fse }, + zse = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, + QC = (t) => zse[t] +function Is(t, e) { + if (e) { + if (Fi.escapeTest.test(t)) return t.replace(Fi.escapeReplace, QC) + } else if (Fi.escapeTestNoEncode.test(t)) return t.replace(Fi.escapeReplaceNoEncode, QC) + return t +} +function JC(t) { + try { + t = encodeURI(t).replace(Fi.percentDecode, "%") + } catch { + return null + } + return t +} +function e8(t, e) { + var a + const r = t.replace(Fi.findPipe, (s, o, l) => { + let u = !1, + h = o + for (; --h >= 0 && l[h] === "\\"; ) u = !u + return u ? "|" : " |" + }), + n = r.split(Fi.splitPipe) + let i = 0 + if ((n[0].trim() || n.shift(), n.length > 0 && !((a = n.at(-1)) != null && a.trim()) && n.pop(), e)) + if (n.length > e) n.splice(e) + else for (; n.length < e; ) n.push("") + for (; i < n.length; i++) n[i] = n[i].trim().replace(Fi.slashPipe, "|") + return n +} +function Pf(t, e, r) { + const n = t.length + if (n === 0) return "" + let i = 0 + for (; i < n && t.charAt(n - i - 1) === e; ) i++ + return t.slice(0, n - i) +} +function Vse(t, e) { + if (t.indexOf(e[1]) === -1) return -1 + let r = 0 + for (let n = 0; n < t.length; n++) + if (t[n] === "\\") n++ + else if (t[n] === e[0]) r++ + else if (t[n] === e[1] && (r--, r < 0)) return n + return r > 0 ? -2 : -1 +} +function t8(t, e, r, n, i) { + const a = e.href, + s = e.title || null, + o = t[1].replace(i.other.outputLinkReplace, "$1") + n.state.inLink = !0 + const l = { + type: t[0].charAt(0) === "!" ? "image" : "link", + raw: r, + href: a, + title: s, + text: o, + tokens: n.inlineTokens(o), + } + return (n.state.inLink = !1), l +} +function Gse(t, e, r) { + const n = t.match(r.other.indentCodeCompensation) + if (n === null) return e + const i = n[1] + return e + .split( + ` +`, + ) + .map((a) => { + const s = a.match(r.other.beginningSpace) + if (s === null) return a + const [o] = s + return o.length >= i.length ? a.slice(i.length) : a + }).join(` +`) +} +class ty { + constructor(e) { + Ut(this, "options") + Ut(this, "rules") + Ut(this, "lexer") + this.options = e || bu + } + space(e) { + const r = this.rules.block.newline.exec(e) + if (r && r[0].length > 0) return { type: "space", raw: r[0] } + } + code(e) { + const r = this.rules.block.code.exec(e) + if (r) { + const n = r[0].replace(this.rules.other.codeRemoveIndent, "") + return { + type: "code", + raw: r[0], + codeBlockStyle: "indented", + text: this.options.pedantic + ? n + : Pf( + n, + ` +`, + ), + } + } + } + fences(e) { + const r = this.rules.block.fences.exec(e) + if (r) { + const n = r[0], + i = Gse(n, r[3] || "", this.rules) + return { + type: "code", + raw: n, + lang: r[2] ? r[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : r[2], + text: i, + } + } + } + heading(e) { + const r = this.rules.block.heading.exec(e) + if (r) { + let n = r[2].trim() + if (this.rules.other.endingHash.test(n)) { + const i = Pf(n, "#") + ;(this.options.pedantic || !i || this.rules.other.endingSpaceChar.test(i)) && (n = i.trim()) + } + return { type: "heading", raw: r[0], depth: r[1].length, text: n, tokens: this.lexer.inline(n) } + } + } + hr(e) { + const r = this.rules.block.hr.exec(e) + if (r) + return { + type: "hr", + raw: Pf( + r[0], + ` +`, + ), + } + } + blockquote(e) { + const r = this.rules.block.blockquote.exec(e) + if (r) { + let n = Pf( + r[0], + ` +`, + ).split(` +`), + i = "", + a = "" + const s = [] + for (; n.length > 0; ) { + let o = !1 + const l = [] + let u + for (u = 0; u < n.length; u++) + if (this.rules.other.blockquoteStart.test(n[u])) l.push(n[u]), (o = !0) + else if (!o) l.push(n[u]) + else break + n = n.slice(u) + const h = l.join(` +`), + d = h + .replace( + this.rules.other.blockquoteSetextReplace, + ` + $1`, + ) + .replace(this.rules.other.blockquoteSetextReplace2, "") + ;(i = i + ? `${i} +${h}` + : h), + (a = a + ? `${a} +${d}` + : d) + const f = this.lexer.state.top + if ( + ((this.lexer.state.top = !0), + this.lexer.blockTokens(d, s, !0), + (this.lexer.state.top = f), + n.length === 0) + ) + break + const p = s.at(-1) + if ((p == null ? void 0 : p.type) === "code") break + if ((p == null ? void 0 : p.type) === "blockquote") { + const g = p, + m = + g.raw + + ` +` + + n.join(` +`), + v = this.blockquote(m) + ;(s[s.length - 1] = v), + (i = i.substring(0, i.length - g.raw.length) + v.raw), + (a = a.substring(0, a.length - g.text.length) + v.text) + break + } else if ((p == null ? void 0 : p.type) === "list") { + const g = p, + m = + g.raw + + ` +` + + n.join(` +`), + v = this.list(m) + ;(s[s.length - 1] = v), + (i = i.substring(0, i.length - p.raw.length) + v.raw), + (a = a.substring(0, a.length - g.raw.length) + v.raw), + (n = m.substring(s.at(-1).raw.length).split(` +`)) + continue + } + } + return { type: "blockquote", raw: i, tokens: s, text: a } + } + } + list(e) { + let r = this.rules.block.list.exec(e) + if (r) { + let n = r[1].trim() + const i = n.length > 1, + a = { type: "list", raw: "", ordered: i, start: i ? +n.slice(0, -1) : "", loose: !1, items: [] } + ;(n = i ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`), this.options.pedantic && (n = i ? n : "[*+-]") + const s = this.rules.other.listItemRegex(n) + let o = !1 + for (; e; ) { + let u = !1, + h = "", + d = "" + if (!(r = s.exec(e)) || this.rules.block.hr.test(e)) break + ;(h = r[0]), (e = e.substring(h.length)) + let f = r[2] + .split( + ` +`, + 1, + )[0] + .replace(this.rules.other.listReplaceTabs, (b) => " ".repeat(3 * b.length)), + p = e.split( + ` +`, + 1, + )[0], + g = !f.trim(), + m = 0 + if ( + (this.options.pedantic + ? ((m = 2), (d = f.trimStart())) + : g + ? (m = r[1].length + 1) + : ((m = r[2].search(this.rules.other.nonSpaceChar)), + (m = m > 4 ? 1 : m), + (d = f.slice(m)), + (m += r[1].length)), + g && + this.rules.other.blankLine.test(p) && + ((h += + p + + ` +`), + (e = e.substring(p.length + 1)), + (u = !0)), + !u) + ) { + const b = this.rules.other.nextBulletRegex(m), + w = this.rules.other.hrRegex(m), + T = this.rules.other.fencesBeginRegex(m), + E = this.rules.other.headingBeginRegex(m), + S = this.rules.other.htmlBeginRegex(m) + for (; e; ) { + const k = e.split( + ` +`, + 1, + )[0] + let L + if ( + ((p = k), + this.options.pedantic + ? ((p = p.replace(this.rules.other.listReplaceNesting, " ")), (L = p)) + : (L = p.replace(this.rules.other.tabCharGlobal, " ")), + T.test(p) || E.test(p) || S.test(p) || b.test(p) || w.test(p)) + ) + break + if (L.search(this.rules.other.nonSpaceChar) >= m || !p.trim()) + d += + ` +` + L.slice(m) + else { + if ( + g || + f + .replace(this.rules.other.tabCharGlobal, " ") + .search(this.rules.other.nonSpaceChar) >= 4 || + T.test(f) || + E.test(f) || + w.test(f) + ) + break + d += + ` +` + p + } + !g && !p.trim() && (g = !0), + (h += + k + + ` +`), + (e = e.substring(k.length + 1)), + (f = L.slice(m)) + } + } + a.loose || (o ? (a.loose = !0) : this.rules.other.doubleBlankLine.test(h) && (o = !0)) + let v = null, + y + this.options.gfm && + ((v = this.rules.other.listIsTask.exec(d)), + v && ((y = v[0] !== "[ ] "), (d = d.replace(this.rules.other.listReplaceTask, "")))), + a.items.push({ type: "list_item", raw: h, task: !!v, checked: y, loose: !1, text: d, tokens: [] }), + (a.raw += h) + } + const l = a.items.at(-1) + if (l) (l.raw = l.raw.trimEnd()), (l.text = l.text.trimEnd()) + else return + a.raw = a.raw.trimEnd() + for (let u = 0; u < a.items.length; u++) + if ( + ((this.lexer.state.top = !1), + (a.items[u].tokens = this.lexer.blockTokens(a.items[u].text, [])), + !a.loose) + ) { + const h = a.items[u].tokens.filter((f) => f.type === "space"), + d = h.length > 0 && h.some((f) => this.rules.other.anyLine.test(f.raw)) + a.loose = d + } + if (a.loose) for (let u = 0; u < a.items.length; u++) a.items[u].loose = !0 + return a + } + } + html(e) { + const r = this.rules.block.html.exec(e) + if (r) + return { + type: "html", + block: !0, + raw: r[0], + pre: r[1] === "pre" || r[1] === "script" || r[1] === "style", + text: r[0], + } + } + def(e) { + const r = this.rules.block.def.exec(e) + if (r) { + const n = r[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), + i = r[2] + ? r[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") + : "", + a = r[3] ? r[3].substring(1, r[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : r[3] + return { type: "def", tag: n, raw: r[0], href: i, title: a } + } + } + table(e) { + var o + const r = this.rules.block.table.exec(e) + if (!r || !this.rules.other.tableDelimiter.test(r[2])) return + const n = e8(r[1]), + i = r[2].replace(this.rules.other.tableAlignChars, "").split("|"), + a = + (o = r[3]) != null && o.trim() + ? r[3].replace(this.rules.other.tableRowBlankLine, "").split(` +`) + : [], + s = { type: "table", raw: r[0], header: [], align: [], rows: [] } + if (n.length === i.length) { + for (const l of i) + this.rules.other.tableAlignRight.test(l) + ? s.align.push("right") + : this.rules.other.tableAlignCenter.test(l) + ? s.align.push("center") + : this.rules.other.tableAlignLeft.test(l) + ? s.align.push("left") + : s.align.push(null) + for (let l = 0; l < n.length; l++) + s.header.push({ text: n[l], tokens: this.lexer.inline(n[l]), header: !0, align: s.align[l] }) + for (const l of a) + s.rows.push( + e8(l, s.header.length).map((u, h) => ({ + text: u, + tokens: this.lexer.inline(u), + header: !1, + align: s.align[h], + })), + ) + return s + } + } + lheading(e) { + const r = this.rules.block.lheading.exec(e) + if (r) + return { + type: "heading", + raw: r[0], + depth: r[2].charAt(0) === "=" ? 1 : 2, + text: r[1], + tokens: this.lexer.inline(r[1]), + } + } + paragraph(e) { + const r = this.rules.block.paragraph.exec(e) + if (r) { + const n = + r[1].charAt(r[1].length - 1) === + ` +` + ? r[1].slice(0, -1) + : r[1] + return { type: "paragraph", raw: r[0], text: n, tokens: this.lexer.inline(n) } + } + } + text(e) { + const r = this.rules.block.text.exec(e) + if (r) return { type: "text", raw: r[0], text: r[0], tokens: this.lexer.inline(r[0]) } + } + escape(e) { + const r = this.rules.inline.escape.exec(e) + if (r) return { type: "escape", raw: r[0], text: r[1] } + } + tag(e) { + const r = this.rules.inline.tag.exec(e) + if (r) + return ( + !this.lexer.state.inLink && this.rules.other.startATag.test(r[0]) + ? (this.lexer.state.inLink = !0) + : this.lexer.state.inLink && this.rules.other.endATag.test(r[0]) && (this.lexer.state.inLink = !1), + !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(r[0]) + ? (this.lexer.state.inRawBlock = !0) + : this.lexer.state.inRawBlock && + this.rules.other.endPreScriptTag.test(r[0]) && + (this.lexer.state.inRawBlock = !1), + { + type: "html", + raw: r[0], + inLink: this.lexer.state.inLink, + inRawBlock: this.lexer.state.inRawBlock, + block: !1, + text: r[0], + } + ) + } + link(e) { + const r = this.rules.inline.link.exec(e) + if (r) { + const n = r[2].trim() + if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) { + if (!this.rules.other.endAngleBracket.test(n)) return + const s = Pf(n.slice(0, -1), "\\") + if ((n.length - s.length) % 2 === 0) return + } else { + const s = Vse(r[2], "()") + if (s === -2) return + if (s > -1) { + const l = (r[0].indexOf("!") === 0 ? 5 : 4) + r[1].length + s + ;(r[2] = r[2].substring(0, s)), (r[0] = r[0].substring(0, l).trim()), (r[3] = "") + } + } + let i = r[2], + a = "" + if (this.options.pedantic) { + const s = this.rules.other.pedanticHrefTitle.exec(i) + s && ((i = s[1]), (a = s[3])) + } else a = r[3] ? r[3].slice(1, -1) : "" + return ( + (i = i.trim()), + this.rules.other.startAngleBracket.test(i) && + (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) + ? (i = i.slice(1)) + : (i = i.slice(1, -1))), + t8( + r, + { + href: i && i.replace(this.rules.inline.anyPunctuation, "$1"), + title: a && a.replace(this.rules.inline.anyPunctuation, "$1"), + }, + r[0], + this.lexer, + this.rules, + ) + ) + } + } + reflink(e, r) { + let n + if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { + const i = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), + a = r[i.toLowerCase()] + if (!a) { + const s = n[0].charAt(0) + return { type: "text", raw: s, text: s } + } + return t8(n, a, n[0], this.lexer, this.rules) + } + } + emStrong(e, r, n = "") { + let i = this.rules.inline.emStrongLDelim.exec(e) + if (!i || (i[3] && n.match(this.rules.other.unicodeAlphaNumeric))) return + if (!(i[1] || i[2] || "") || !n || this.rules.inline.punctuation.exec(n)) { + const s = [...i[0]].length - 1 + let o, + l, + u = s, + h = 0 + const d = i[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd + for (d.lastIndex = 0, r = r.slice(-1 * e.length + s); (i = d.exec(r)) != null; ) { + if (((o = i[1] || i[2] || i[3] || i[4] || i[5] || i[6]), !o)) continue + if (((l = [...o].length), i[3] || i[4])) { + u += l + continue + } else if ((i[5] || i[6]) && s % 3 && !((s + l) % 3)) { + h += l + continue + } + if (((u -= l), u > 0)) continue + l = Math.min(l, l + u + h) + const f = [...i[0]][0].length, + p = e.slice(0, s + i.index + f + l) + if (Math.min(s, l) % 2) { + const m = p.slice(1, -1) + return { type: "em", raw: p, text: m, tokens: this.lexer.inlineTokens(m) } + } + const g = p.slice(2, -2) + return { type: "strong", raw: p, text: g, tokens: this.lexer.inlineTokens(g) } + } + } + } + codespan(e) { + const r = this.rules.inline.code.exec(e) + if (r) { + let n = r[2].replace(this.rules.other.newLineCharGlobal, " ") + const i = this.rules.other.nonSpaceChar.test(n), + a = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n) + return i && a && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: r[0], text: n } + } + } + br(e) { + const r = this.rules.inline.br.exec(e) + if (r) return { type: "br", raw: r[0] } + } + del(e) { + const r = this.rules.inline.del.exec(e) + if (r) return { type: "del", raw: r[0], text: r[2], tokens: this.lexer.inlineTokens(r[2]) } + } + autolink(e) { + const r = this.rules.inline.autolink.exec(e) + if (r) { + let n, i + return ( + r[2] === "@" ? ((n = r[1]), (i = "mailto:" + n)) : ((n = r[1]), (i = n)), + { type: "link", raw: r[0], text: n, href: i, tokens: [{ type: "text", raw: n, text: n }] } + ) + } + } + url(e) { + var n + let r + if ((r = this.rules.inline.url.exec(e))) { + let i, a + if (r[2] === "@") (i = r[0]), (a = "mailto:" + i) + else { + let s + do (s = r[0]), (r[0] = ((n = this.rules.inline._backpedal.exec(r[0])) == null ? void 0 : n[0]) ?? "") + while (s !== r[0]) + ;(i = r[0]), r[1] === "www." ? (a = "http://" + r[0]) : (a = r[0]) + } + return { type: "link", raw: r[0], text: i, href: a, tokens: [{ type: "text", raw: i, text: i }] } + } + } + inlineText(e) { + const r = this.rules.inline.text.exec(e) + if (r) { + const n = this.lexer.state.inRawBlock + return { type: "text", raw: r[0], text: r[0], escaped: n } + } + } +} +class Ha { + constructor(e) { + Ut(this, "tokens") + Ut(this, "options") + Ut(this, "state") + Ut(this, "tokenizer") + Ut(this, "inlineQueue") + ;(this.tokens = []), + (this.tokens.links = Object.create(null)), + (this.options = e || bu), + (this.options.tokenizer = this.options.tokenizer || new ty()), + (this.tokenizer = this.options.tokenizer), + (this.tokenizer.options = this.options), + (this.tokenizer.lexer = this), + (this.inlineQueue = []), + (this.state = { inLink: !1, inRawBlock: !1, top: !0 }) + const r = { other: Fi, block: y1.normal, inline: Of.normal } + this.options.pedantic + ? ((r.block = y1.pedantic), (r.inline = Of.pedantic)) + : this.options.gfm && + ((r.block = y1.gfm), this.options.breaks ? (r.inline = Of.breaks) : (r.inline = Of.gfm)), + (this.tokenizer.rules = r) + } + static get rules() { + return { block: y1, inline: Of } + } + static lex(e, r) { + return new Ha(r).lex(e) + } + static lexInline(e, r) { + return new Ha(r).inlineTokens(e) + } + lex(e) { + ;(e = e.replace( + Fi.carriageReturn, + ` +`, + )), + this.blockTokens(e, this.tokens) + for (let r = 0; r < this.inlineQueue.length; r++) { + const n = this.inlineQueue[r] + this.inlineTokens(n.src, n.tokens) + } + return (this.inlineQueue = []), this.tokens + } + blockTokens(e, r = [], n = !1) { + var i, a, s + for (this.options.pedantic && (e = e.replace(Fi.tabCharGlobal, " ").replace(Fi.spaceLine, "")); e; ) { + let o + if ( + (a = (i = this.options.extensions) == null ? void 0 : i.block) != null && + a.some((u) => + (o = u.call({ lexer: this }, e, r)) ? ((e = e.substring(o.raw.length)), r.push(o), !0) : !1, + ) + ) + continue + if ((o = this.tokenizer.space(e))) { + e = e.substring(o.raw.length) + const u = r.at(-1) + o.raw.length === 1 && u !== void 0 + ? (u.raw += ` +`) + : r.push(o) + continue + } + if ((o = this.tokenizer.code(e))) { + e = e.substring(o.raw.length) + const u = r.at(-1) + ;(u == null ? void 0 : u.type) === "paragraph" || (u == null ? void 0 : u.type) === "text" + ? ((u.raw += + ` +` + o.raw), + (u.text += + ` +` + o.text), + (this.inlineQueue.at(-1).src = u.text)) + : r.push(o) + continue + } + if ((o = this.tokenizer.fences(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.heading(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.hr(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.blockquote(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.list(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.html(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.def(e))) { + e = e.substring(o.raw.length) + const u = r.at(-1) + ;(u == null ? void 0 : u.type) === "paragraph" || (u == null ? void 0 : u.type) === "text" + ? ((u.raw += + ` +` + o.raw), + (u.text += + ` +` + o.raw), + (this.inlineQueue.at(-1).src = u.text)) + : this.tokens.links[o.tag] || (this.tokens.links[o.tag] = { href: o.href, title: o.title }) + continue + } + if ((o = this.tokenizer.table(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + if ((o = this.tokenizer.lheading(e))) { + ;(e = e.substring(o.raw.length)), r.push(o) + continue + } + let l = e + if ((s = this.options.extensions) != null && s.startBlock) { + let u = 1 / 0 + const h = e.slice(1) + let d + this.options.extensions.startBlock.forEach((f) => { + ;(d = f.call({ lexer: this }, h)), typeof d == "number" && d >= 0 && (u = Math.min(u, d)) + }), + u < 1 / 0 && u >= 0 && (l = e.substring(0, u + 1)) + } + if (this.state.top && (o = this.tokenizer.paragraph(l))) { + const u = r.at(-1) + n && (u == null ? void 0 : u.type) === "paragraph" + ? ((u.raw += + ` +` + o.raw), + (u.text += + ` +` + o.text), + this.inlineQueue.pop(), + (this.inlineQueue.at(-1).src = u.text)) + : r.push(o), + (n = l.length !== e.length), + (e = e.substring(o.raw.length)) + continue + } + if ((o = this.tokenizer.text(e))) { + e = e.substring(o.raw.length) + const u = r.at(-1) + ;(u == null ? void 0 : u.type) === "text" + ? ((u.raw += + ` +` + o.raw), + (u.text += + ` +` + o.text), + this.inlineQueue.pop(), + (this.inlineQueue.at(-1).src = u.text)) + : r.push(o) + continue + } + if (e) { + const u = "Infinite loop on byte: " + e.charCodeAt(0) + if (this.options.silent) { + console.error(u) + break + } else throw new Error(u) + } + } + return (this.state.top = !0), r + } + inline(e, r = []) { + return this.inlineQueue.push({ src: e, tokens: r }), r + } + inlineTokens(e, r = []) { + var o, l, u + let n = e, + i = null + if (this.tokens.links) { + const h = Object.keys(this.tokens.links) + if (h.length > 0) + for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) + h.includes(i[0].slice(i[0].lastIndexOf("[") + 1, -1)) && + (n = + n.slice(0, i.index) + + "[" + + "a".repeat(i[0].length - 2) + + "]" + + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)) + } + for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) + n = n.slice(0, i.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex) + for (; (i = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) + n = + n.slice(0, i.index) + + "[" + + "a".repeat(i[0].length - 2) + + "]" + + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex) + let a = !1, + s = "" + for (; e; ) { + a || (s = ""), (a = !1) + let h + if ( + (l = (o = this.options.extensions) == null ? void 0 : o.inline) != null && + l.some((f) => + (h = f.call({ lexer: this }, e, r)) ? ((e = e.substring(h.raw.length)), r.push(h), !0) : !1, + ) + ) + continue + if ((h = this.tokenizer.escape(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.tag(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.link(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.reflink(e, this.tokens.links))) { + e = e.substring(h.raw.length) + const f = r.at(-1) + h.type === "text" && (f == null ? void 0 : f.type) === "text" + ? ((f.raw += h.raw), (f.text += h.text)) + : r.push(h) + continue + } + if ((h = this.tokenizer.emStrong(e, n, s))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.codespan(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.br(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.del(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if ((h = this.tokenizer.autolink(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + if (!this.state.inLink && (h = this.tokenizer.url(e))) { + ;(e = e.substring(h.raw.length)), r.push(h) + continue + } + let d = e + if ((u = this.options.extensions) != null && u.startInline) { + let f = 1 / 0 + const p = e.slice(1) + let g + this.options.extensions.startInline.forEach((m) => { + ;(g = m.call({ lexer: this }, p)), typeof g == "number" && g >= 0 && (f = Math.min(f, g)) + }), + f < 1 / 0 && f >= 0 && (d = e.substring(0, f + 1)) + } + if ((h = this.tokenizer.inlineText(d))) { + ;(e = e.substring(h.raw.length)), h.raw.slice(-1) !== "_" && (s = h.raw.slice(-1)), (a = !0) + const f = r.at(-1) + ;(f == null ? void 0 : f.type) === "text" ? ((f.raw += h.raw), (f.text += h.text)) : r.push(h) + continue + } + if (e) { + const f = "Infinite loop on byte: " + e.charCodeAt(0) + if (this.options.silent) { + console.error(f) + break + } else throw new Error(f) + } + } + return r + } +} +class ry { + constructor(e) { + Ut(this, "options") + Ut(this, "parser") + this.options = e || bu + } + space(e) { + return "" + } + code({ text: e, lang: r, escaped: n }) { + var s + const i = (s = (r || "").match(Fi.notSpaceStart)) == null ? void 0 : s[0], + a = + e.replace(Fi.endingNewline, "") + + ` +` + return i + ? '<pre><code class="language-' + + Is(i) + + '">' + + (n ? a : Is(a, !0)) + + `</code></pre> +` + : "<pre><code>" + + (n ? a : Is(a, !0)) + + `</code></pre> +` + } + blockquote({ tokens: e }) { + return `<blockquote> +${this.parser.parse(e)}</blockquote> +` + } + html({ text: e }) { + return e + } + heading({ tokens: e, depth: r }) { + return `<h${r}>${this.parser.parseInline(e)}</h${r}> +` + } + hr(e) { + return `<hr> +` + } + list(e) { + const r = e.ordered, + n = e.start + let i = "" + for (let o = 0; o < e.items.length; o++) { + const l = e.items[o] + i += this.listitem(l) + } + const a = r ? "ol" : "ul", + s = r && n !== 1 ? ' start="' + n + '"' : "" + return ( + "<" + + a + + s + + `> +` + + i + + "</" + + a + + `> +` + ) + } + listitem(e) { + var n + let r = "" + if (e.task) { + const i = this.checkbox({ checked: !!e.checked }) + e.loose + ? ((n = e.tokens[0]) == null ? void 0 : n.type) === "paragraph" + ? ((e.tokens[0].text = i + " " + e.tokens[0].text), + e.tokens[0].tokens && + e.tokens[0].tokens.length > 0 && + e.tokens[0].tokens[0].type === "text" && + ((e.tokens[0].tokens[0].text = i + " " + Is(e.tokens[0].tokens[0].text)), + (e.tokens[0].tokens[0].escaped = !0))) + : e.tokens.unshift({ type: "text", raw: i + " ", text: i + " ", escaped: !0 }) + : (r += i + " ") + } + return ( + (r += this.parser.parse(e.tokens, !!e.loose)), + `<li>${r}</li> +` + ) + } + checkbox({ checked: e }) { + return "<input " + (e ? 'checked="" ' : "") + 'disabled="" type="checkbox">' + } + paragraph({ tokens: e }) { + return `<p>${this.parser.parseInline(e)}</p> +` + } + table(e) { + let r = "", + n = "" + for (let a = 0; a < e.header.length; a++) n += this.tablecell(e.header[a]) + r += this.tablerow({ text: n }) + let i = "" + for (let a = 0; a < e.rows.length; a++) { + const s = e.rows[a] + n = "" + for (let o = 0; o < s.length; o++) n += this.tablecell(s[o]) + i += this.tablerow({ text: n }) + } + return ( + i && (i = `<tbody>${i}</tbody>`), + `<table> +<thead> +` + + r + + `</thead> +` + + i + + `</table> +` + ) + } + tablerow({ text: e }) { + return `<tr> +${e}</tr> +` + } + tablecell(e) { + const r = this.parser.parseInline(e.tokens), + n = e.header ? "th" : "td" + return ( + (e.align ? `<${n} align="${e.align}">` : `<${n}>`) + + r + + `</${n}> +` + ) + } + strong({ tokens: e }) { + return `<strong>${this.parser.parseInline(e)}</strong>` + } + em({ tokens: e }) { + return `<em>${this.parser.parseInline(e)}</em>` + } + codespan({ text: e }) { + return `<code>${Is(e, !0)}</code>` + } + br(e) { + return "<br>" + } + del({ tokens: e }) { + return `<del>${this.parser.parseInline(e)}</del>` + } + link({ href: e, title: r, tokens: n }) { + const i = this.parser.parseInline(n), + a = JC(e) + if (a === null) return i + e = a + let s = '<a href="' + e + '"' + return r && (s += ' title="' + Is(r) + '"'), (s += ">" + i + "</a>"), s + } + image({ href: e, title: r, text: n, tokens: i }) { + i && (n = this.parser.parseInline(i, this.parser.textRenderer)) + const a = JC(e) + if (a === null) return Is(n) + e = a + let s = `<img src="${e}" alt="${n}"` + return r && (s += ` title="${Is(r)}"`), (s += ">"), s + } + text(e) { + return "tokens" in e && e.tokens + ? this.parser.parseInline(e.tokens) + : "escaped" in e && e.escaped + ? e.text + : Is(e.text) + } +} +class kE { + strong({ text: e }) { + return e + } + em({ text: e }) { + return e + } + codespan({ text: e }) { + return e + } + del({ text: e }) { + return e + } + html({ text: e }) { + return e + } + text({ text: e }) { + return e + } + link({ text: e }) { + return "" + e + } + image({ text: e }) { + return "" + e + } + br() { + return "" + } +} +class Ya { + constructor(e) { + Ut(this, "options") + Ut(this, "renderer") + Ut(this, "textRenderer") + ;(this.options = e || bu), + (this.options.renderer = this.options.renderer || new ry()), + (this.renderer = this.options.renderer), + (this.renderer.options = this.options), + (this.renderer.parser = this), + (this.textRenderer = new kE()) + } + static parse(e, r) { + return new Ya(r).parse(e) + } + static parseInline(e, r) { + return new Ya(r).parseInline(e) + } + parse(e, r = !0) { + var i, a + let n = "" + for (let s = 0; s < e.length; s++) { + const o = e[s] + if ((a = (i = this.options.extensions) == null ? void 0 : i.renderers) != null && a[o.type]) { + const u = o, + h = this.options.extensions.renderers[u.type].call({ parser: this }, u) + if ( + h !== !1 || + ![ + "space", + "hr", + "heading", + "code", + "table", + "blockquote", + "list", + "html", + "paragraph", + "text", + ].includes(u.type) + ) { + n += h || "" + continue + } + } + const l = o + switch (l.type) { + case "space": { + n += this.renderer.space(l) + continue + } + case "hr": { + n += this.renderer.hr(l) + continue + } + case "heading": { + n += this.renderer.heading(l) + continue + } + case "code": { + n += this.renderer.code(l) + continue + } + case "table": { + n += this.renderer.table(l) + continue + } + case "blockquote": { + n += this.renderer.blockquote(l) + continue + } + case "list": { + n += this.renderer.list(l) + continue + } + case "html": { + n += this.renderer.html(l) + continue + } + case "paragraph": { + n += this.renderer.paragraph(l) + continue + } + case "text": { + let u = l, + h = this.renderer.text(u) + for (; s + 1 < e.length && e[s + 1].type === "text"; ) + (u = e[++s]), + (h += + ` +` + this.renderer.text(u)) + r + ? (n += this.renderer.paragraph({ + type: "paragraph", + raw: h, + text: h, + tokens: [{ type: "text", raw: h, text: h, escaped: !0 }], + })) + : (n += h) + continue + } + default: { + const u = 'Token with "' + l.type + '" type was not found.' + if (this.options.silent) return console.error(u), "" + throw new Error(u) + } + } + } + return n + } + parseInline(e, r = this.renderer) { + var i, a + let n = "" + for (let s = 0; s < e.length; s++) { + const o = e[s] + if ((a = (i = this.options.extensions) == null ? void 0 : i.renderers) != null && a[o.type]) { + const u = this.options.extensions.renderers[o.type].call({ parser: this }, o) + if ( + u !== !1 || + !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes( + o.type, + ) + ) { + n += u || "" + continue + } + } + const l = o + switch (l.type) { + case "escape": { + n += r.text(l) + break + } + case "html": { + n += r.html(l) + break + } + case "link": { + n += r.link(l) + break + } + case "image": { + n += r.image(l) + break + } + case "strong": { + n += r.strong(l) + break + } + case "em": { + n += r.em(l) + break + } + case "codespan": { + n += r.codespan(l) + break + } + case "br": { + n += r.br(l) + break + } + case "del": { + n += r.del(l) + break + } + case "text": { + n += r.text(l) + break + } + default: { + const u = 'Token with "' + l.type + '" type was not found.' + if (this.options.silent) return console.error(u), "" + throw new Error(u) + } + } + } + return n + } +} +class sp { + constructor(e) { + Ut(this, "options") + Ut(this, "block") + this.options = e || bu + } + preprocess(e) { + return e + } + postprocess(e) { + return e + } + processAllTokens(e) { + return e + } + provideLexer() { + return this.block ? Ha.lex : Ha.lexInline + } + provideParser() { + return this.block ? Ya.parse : Ya.parseInline + } +} +Ut(sp, "passThroughHooks", new Set(["preprocess", "postprocess", "processAllTokens"])) +class Use { + constructor(...e) { + Ut(this, "defaults", mE()) + Ut(this, "options", this.setOptions) + Ut(this, "parse", this.parseMarkdown(!0)) + Ut(this, "parseInline", this.parseMarkdown(!1)) + Ut(this, "Parser", Ya) + Ut(this, "Renderer", ry) + Ut(this, "TextRenderer", kE) + Ut(this, "Lexer", Ha) + Ut(this, "Tokenizer", ty) + Ut(this, "Hooks", sp) + this.use(...e) + } + walkTokens(e, r) { + var i, a + let n = [] + for (const s of e) + switch (((n = n.concat(r.call(this, s))), s.type)) { + case "table": { + const o = s + for (const l of o.header) n = n.concat(this.walkTokens(l.tokens, r)) + for (const l of o.rows) for (const u of l) n = n.concat(this.walkTokens(u.tokens, r)) + break + } + case "list": { + const o = s + n = n.concat(this.walkTokens(o.items, r)) + break + } + default: { + const o = s + ;(a = (i = this.defaults.extensions) == null ? void 0 : i.childTokens) != null && a[o.type] + ? this.defaults.extensions.childTokens[o.type].forEach((l) => { + const u = o[l].flat(1 / 0) + n = n.concat(this.walkTokens(u, r)) + }) + : o.tokens && (n = n.concat(this.walkTokens(o.tokens, r))) + } + } + return n + } + use(...e) { + const r = this.defaults.extensions || { renderers: {}, childTokens: {} } + return ( + e.forEach((n) => { + const i = { ...n } + if ( + ((i.async = this.defaults.async || i.async || !1), + n.extensions && + (n.extensions.forEach((a) => { + if (!a.name) throw new Error("extension name required") + if ("renderer" in a) { + const s = r.renderers[a.name] + s + ? (r.renderers[a.name] = function (...o) { + let l = a.renderer.apply(this, o) + return l === !1 && (l = s.apply(this, o)), l + }) + : (r.renderers[a.name] = a.renderer) + } + if ("tokenizer" in a) { + if (!a.level || (a.level !== "block" && a.level !== "inline")) + throw new Error("extension level must be 'block' or 'inline'") + const s = r[a.level] + s ? s.unshift(a.tokenizer) : (r[a.level] = [a.tokenizer]), + a.start && + (a.level === "block" + ? r.startBlock + ? r.startBlock.push(a.start) + : (r.startBlock = [a.start]) + : a.level === "inline" && + (r.startInline + ? r.startInline.push(a.start) + : (r.startInline = [a.start]))) + } + "childTokens" in a && a.childTokens && (r.childTokens[a.name] = a.childTokens) + }), + (i.extensions = r)), + n.renderer) + ) { + const a = this.defaults.renderer || new ry(this.defaults) + for (const s in n.renderer) { + if (!(s in a)) throw new Error(`renderer '${s}' does not exist`) + if (["options", "parser"].includes(s)) continue + const o = s, + l = n.renderer[o], + u = a[o] + a[o] = (...h) => { + let d = l.apply(a, h) + return d === !1 && (d = u.apply(a, h)), d || "" + } + } + i.renderer = a + } + if (n.tokenizer) { + const a = this.defaults.tokenizer || new ty(this.defaults) + for (const s in n.tokenizer) { + if (!(s in a)) throw new Error(`tokenizer '${s}' does not exist`) + if (["options", "rules", "lexer"].includes(s)) continue + const o = s, + l = n.tokenizer[o], + u = a[o] + a[o] = (...h) => { + let d = l.apply(a, h) + return d === !1 && (d = u.apply(a, h)), d + } + } + i.tokenizer = a + } + if (n.hooks) { + const a = this.defaults.hooks || new sp() + for (const s in n.hooks) { + if (!(s in a)) throw new Error(`hook '${s}' does not exist`) + if (["options", "block"].includes(s)) continue + const o = s, + l = n.hooks[o], + u = a[o] + sp.passThroughHooks.has(s) + ? (a[o] = (h) => { + if (this.defaults.async) + return Promise.resolve(l.call(a, h)).then((f) => u.call(a, f)) + const d = l.call(a, h) + return u.call(a, d) + }) + : (a[o] = (...h) => { + let d = l.apply(a, h) + return d === !1 && (d = u.apply(a, h)), d + }) + } + i.hooks = a + } + if (n.walkTokens) { + const a = this.defaults.walkTokens, + s = n.walkTokens + i.walkTokens = function (o) { + let l = [] + return l.push(s.call(this, o)), a && (l = l.concat(a.call(this, o))), l + } + } + this.defaults = { ...this.defaults, ...i } + }), + this + ) + } + setOptions(e) { + return (this.defaults = { ...this.defaults, ...e }), this + } + lexer(e, r) { + return Ha.lex(e, r ?? this.defaults) + } + parser(e, r) { + return Ya.parse(e, r ?? this.defaults) + } + parseMarkdown(e) { + return (n, i) => { + const a = { ...i }, + s = { ...this.defaults, ...a }, + o = this.onError(!!s.silent, !!s.async) + if (this.defaults.async === !0 && a.async === !1) + return o( + new Error( + "marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.", + ), + ) + if (typeof n > "u" || n === null) return o(new Error("marked(): input parameter is undefined or null")) + if (typeof n != "string") + return o( + new Error( + "marked(): input parameter is of type " + + Object.prototype.toString.call(n) + + ", string expected", + ), + ) + s.hooks && ((s.hooks.options = s), (s.hooks.block = e)) + const l = s.hooks ? s.hooks.provideLexer() : e ? Ha.lex : Ha.lexInline, + u = s.hooks ? s.hooks.provideParser() : e ? Ya.parse : Ya.parseInline + if (s.async) + return Promise.resolve(s.hooks ? s.hooks.preprocess(n) : n) + .then((h) => l(h, s)) + .then((h) => (s.hooks ? s.hooks.processAllTokens(h) : h)) + .then((h) => (s.walkTokens ? Promise.all(this.walkTokens(h, s.walkTokens)).then(() => h) : h)) + .then((h) => u(h, s)) + .then((h) => (s.hooks ? s.hooks.postprocess(h) : h)) + .catch(o) + try { + s.hooks && (n = s.hooks.preprocess(n)) + let h = l(n, s) + s.hooks && (h = s.hooks.processAllTokens(h)), s.walkTokens && this.walkTokens(h, s.walkTokens) + let d = u(h, s) + return s.hooks && (d = s.hooks.postprocess(d)), d + } catch (h) { + return o(h) + } + } + } + onError(e, r) { + return (n) => { + if ( + ((n.message += ` +Please report this to https://github.com/markedjs/marked.`), + e) + ) { + const i = "<p>An error occurred:</p><pre>" + Is(n.message + "", !0) + "</pre>" + return r ? Promise.resolve(i) : i + } + if (r) return Promise.reject(n) + throw n + } + } +} +const Kc = new Use() +function Er(t, e) { + return Kc.parse(t, e) +} +Er.options = Er.setOptions = function (t) { + return Kc.setOptions(t), (Er.defaults = Kc.defaults), VP(Er.defaults), Er +} +Er.getDefaults = mE +Er.defaults = bu +Er.use = function (...t) { + return Kc.use(...t), (Er.defaults = Kc.defaults), VP(Er.defaults), Er +} +Er.walkTokens = function (t, e) { + return Kc.walkTokens(t, e) +} +Er.parseInline = Kc.parseInline +Er.Parser = Ya +Er.parser = Ya.parse +Er.Renderer = ry +Er.TextRenderer = kE +Er.Lexer = Ha +Er.lexer = Ha.lex +Er.Tokenizer = ty +Er.Hooks = sp +Er.parse = Er +Er.options +Er.setOptions +Er.use +Er.walkTokens +Er.parseInline +Ya.parse +Ha.lex +function QP(t) { + for (var e = [], r = 1; r < arguments.length; r++) e[r - 1] = arguments[r] + var n = Array.from(typeof t == "string" ? [t] : t) + n[n.length - 1] = n[n.length - 1].replace(/\r?\n([\t ]*)$/, "") + var i = n.reduce(function (o, l) { + var u = l.match(/\n([\t ]+|(?!\s).)/g) + return u + ? o.concat( + u.map(function (h) { + var d, f + return (f = (d = h.match(/[\t ]/g)) === null || d === void 0 ? void 0 : d.length) !== null && + f !== void 0 + ? f + : 0 + }), + ) + : o + }, []) + if (i.length) { + var a = new RegExp( + ` +[ ]{` + + Math.min.apply(Math, i) + + "}", + "g", + ) + n = n.map(function (o) { + return o.replace( + a, + ` +`, + ) + }) + } + n[0] = n[0].replace(/^\r?\n/, "") + var s = n[0] + return ( + e.forEach(function (o, l) { + var u = s.match(/(?:^|\n)( *)$/), + h = u ? u[1] : "", + d = o + typeof o == "string" && + o.includes(` +`) && + (d = String(o) + .split( + ` +`, + ) + .map(function (f, p) { + return p === 0 ? f : "" + h + f + }).join(` +`)), + (s += d + n[l + 1]) + }), + s + ) +} +function JP(t, { markdownAutoWrap: e }) { + const n = t + .replace( + /<br\/>/g, + ` +`, + ) + .replace( + /\n{2,}/g, + ` +`, + ), + i = QP(n) + return e === !1 ? i.replace(/ /g, " ") : i +} +x(JP, "preprocessMarkdown") +function eB(t, e = {}) { + const r = JP(t, e), + n = Er.lexer(r), + i = [[]] + let a = 0 + function s(o, l = "normal") { + o.type === "text" + ? o.text + .split( + ` +`, + ) + .forEach((h, d) => { + d !== 0 && (a++, i.push([])), + h.split(" ").forEach((f) => { + ;(f = f.replace(/'/g, "'")), f && i[a].push({ content: f, type: l }) + }) + }) + : o.type === "strong" || o.type === "em" + ? o.tokens.forEach((u) => { + s(u, o.type) + }) + : o.type === "html" && i[a].push({ content: o.text, type: "normal" }) + } + return ( + x(s, "processNode"), + n.forEach((o) => { + var l + o.type === "paragraph" + ? (l = o.tokens) == null || + l.forEach((u) => { + s(u) + }) + : o.type === "html" && i[a].push({ content: o.text, type: "normal" }) + }), + i + ) +} +x(eB, "markdownToLines") +function tB(t, { markdownAutoWrap: e } = {}) { + const r = Er.lexer(t) + function n(i) { + var a, s, o + return i.type === "text" + ? e === !1 + ? i.text.replace(/\n */g, "<br/>").replace(/ /g, " ") + : i.text.replace(/\n */g, "<br/>") + : i.type === "strong" + ? `<strong>${(a = i.tokens) == null ? void 0 : a.map(n).join("")}</strong>` + : i.type === "em" + ? `<em>${(s = i.tokens) == null ? void 0 : s.map(n).join("")}</em>` + : i.type === "paragraph" + ? `<p>${(o = i.tokens) == null ? void 0 : o.map(n).join("")}</p>` + : i.type === "space" + ? "" + : i.type === "html" + ? `${i.text}` + : i.type === "escape" + ? i.text + : `Unsupported markdown: ${i.type}` + } + return x(n, "output"), r.map(n).join("") +} +x(tB, "markdownToHTML") +function rB(t) { + return Intl.Segmenter ? [...new Intl.Segmenter().segment(t)].map((e) => e.segment) : [...t] +} +x(rB, "splitTextToChars") +function nB(t, e) { + const r = rB(e.content) + return SE(t, [], r, e.type) +} +x(nB, "splitWordToFitWidth") +function SE(t, e, r, n) { + if (r.length === 0) + return [ + { content: e.join(""), type: n }, + { content: "", type: n }, + ] + const [i, ...a] = r, + s = [...e, i] + return t([{ content: s.join(""), type: n }]) + ? SE(t, s, a, n) + : (e.length === 0 && i && (e.push(i), r.shift()), + [ + { content: e.join(""), type: n }, + { content: r.join(""), type: n }, + ]) +} +x(SE, "splitWordToFitWidthRecursion") +function iB(t, e) { + if ( + t.some(({ content: r }) => + r.includes(` +`), + ) + ) + throw new Error("splitLineToFitWidth does not support newlines in the line") + return ny(t, e) +} +x(iB, "splitLineToFitWidth") +function ny(t, e, r = [], n = []) { + if (t.length === 0) return n.length > 0 && r.push(n), r.length > 0 ? r : [] + let i = "" + t[0].content === " " && ((i = " "), t.shift()) + const a = t.shift() ?? { content: " ", type: "normal" }, + s = [...n] + if ((i !== "" && s.push({ content: i, type: "normal" }), s.push(a), e(s))) return ny(t, e, r, s) + if (n.length > 0) r.push(n), t.unshift(a) + else if (a.content) { + const [o, l] = nB(e, a) + r.push([o]), l.content && t.unshift(l) + } + return ny(t, e, r) +} +x(ny, "splitLineToFitWidthRecursion") +function rw(t, e) { + e && t.attr("style", e) +} +x(rw, "applyStyle") +async function aB(t, e, r, n, i = !1) { + const a = t.append("foreignObject") + a.attr("width", `${10 * r}px`), a.attr("height", `${10 * r}px`) + const s = a.append("xhtml:div") + let o = e.label + e.label && + Si(e.label) && + (o = await lg( + e.label.replace( + it.lineBreakRegex, + ` +`, + ), + we(), + )) + const l = e.isNode ? "nodeLabel" : "edgeLabel", + u = s.append("span") + u.html(o), + rw(u, e.labelStyle), + u.attr("class", `${l} ${n}`), + rw(s, e.labelStyle), + s.style("display", "table-cell"), + s.style("white-space", "nowrap"), + s.style("line-height", "1.5"), + s.style("max-width", r + "px"), + s.style("text-align", "center"), + s.attr("xmlns", "http://www.w3.org/1999/xhtml"), + i && s.attr("class", "labelBkg") + let h = s.node().getBoundingClientRect() + return ( + h.width === r && + (s.style("display", "table"), + s.style("white-space", "break-spaces"), + s.style("width", r + "px"), + (h = s.node().getBoundingClientRect())), + a.node() + ) +} +x(aB, "addHtmlSpan") +function U2(t, e, r) { + return t + .append("tspan") + .attr("class", "text-outer-tspan") + .attr("x", 0) + .attr("y", e * r - 0.1 + "em") + .attr("dy", r + "em") +} +x(U2, "createTspan") +function sB(t, e, r) { + const n = t.append("text"), + i = U2(n, 1, e) + q2(i, r) + const a = i.node().getComputedTextLength() + return n.remove(), a +} +x(sB, "computeWidthOfText") +function oB(t, e, r) { + var s + const n = t.append("text"), + i = U2(n, 1, e) + q2(i, [{ content: r, type: "normal" }]) + const a = (s = i.node()) == null ? void 0 : s.getBoundingClientRect() + return a && n.remove(), a +} +x(oB, "computeDimensionOfText") +function lB(t, e, r, n = !1) { + const a = e.append("g"), + s = a.insert("rect").attr("class", "background").attr("style", "stroke: none"), + o = a.append("text").attr("y", "-10.1") + let l = 0 + for (const u of r) { + const h = x((f) => sB(a, 1.1, f) <= t, "checkWidth"), + d = h(u) ? [u] : iB(u, h) + for (const f of d) { + const p = U2(o, l, 1.1) + q2(p, f), l++ + } + } + if (n) { + const u = o.node().getBBox(), + h = 2 + return ( + s + .attr("x", u.x - h) + .attr("y", u.y - h) + .attr("width", u.width + 2 * h) + .attr("height", u.height + 2 * h), + a.node() + ) + } else return o.node() +} +x(lB, "createFormattedText") +function q2(t, e) { + t.text(""), + e.forEach((r, n) => { + const i = t + .append("tspan") + .attr("font-style", r.type === "em" ? "italic" : "normal") + .attr("class", "text-inner-tspan") + .attr("font-weight", r.type === "strong" ? "bold" : "normal") + n === 0 ? i.text(r.content) : i.text(" " + r.content) + }) +} +x(q2, "updateTextContentAndStyles") +function CE(t) { + return t.replace(/fa[bklrs]?:fa-[\w-]+/g, (e) => `<i class='${e.replace(":", " ")}'></i>`) +} +x(CE, "replaceIconSubstring") +var fa = x( + async ( + t, + e = "", + { + style: r = "", + isTitle: n = !1, + classes: i = "", + useHtmlLabels: a = !0, + isNode: s = !0, + width: o = 200, + addSvgBackground: l = !1, + } = {}, + u, + ) => { + if ((ie.debug("XYZ createText", e, r, n, i, a, s, "addSvgBackground: ", l), a)) { + const h = tB(e, u), + d = CE(Zs(h)), + f = e.replace(/\\\\/g, "\\"), + p = { isNode: s, label: Si(e) ? f : d, labelStyle: r.replace("fill:", "color:") } + return await aB(t, p, o, i, l) + } else { + const h = e.replace(/<br\s*\/?>/g, "<br/>"), + d = eB(h.replace("<br>", "<br/>"), u), + f = lB(o, t, d, e ? l : !1) + if (s) { + ;/stroke:/.exec(r) && (r = r.replace("stroke:", "lineColor:")) + const p = r + .replace(/stroke:[^;]+;?/g, "") + .replace(/stroke-width:[^;]+;?/g, "") + .replace(/fill:[^;]+;?/g, "") + .replace(/color:/g, "fill:") + rt(f).attr("style", p) + } else { + const p = r + .replace(/stroke:[^;]+;?/g, "") + .replace(/stroke-width:[^;]+;?/g, "") + .replace(/fill:[^;]+;?/g, "") + .replace(/background:/g, "fill:") + rt(f) + .select("rect") + .attr("style", p.replace(/background:/g, "fill:")) + const g = r + .replace(/stroke:[^;]+;?/g, "") + .replace(/stroke-width:[^;]+;?/g, "") + .replace(/fill:[^;]+;?/g, "") + .replace(/color:/g, "fill:") + rt(f).select("text").attr("style", g) + } + return f + } + }, + "createText", +) +function Bb(t, e, r) { + if (t && t.length) { + const [n, i] = e, + a = (Math.PI / 180) * r, + s = Math.cos(a), + o = Math.sin(a) + for (const l of t) { + const [u, h] = l + ;(l[0] = (u - n) * s - (h - i) * o + n), (l[1] = (u - n) * o + (h - i) * s + i) + } + } +} +function qse(t, e) { + return t[0] === e[0] && t[1] === e[1] +} +function Wse(t, e, r, n = 1) { + const i = r, + a = Math.max(e, 0.1), + s = t[0] && t[0][0] && typeof t[0][0] == "number" ? [t] : t, + o = [0, 0] + if (i) for (const u of s) Bb(u, o, i) + const l = (function (u, h, d) { + const f = [] + for (const b of u) { + const w = [...b] + qse(w[0], w[w.length - 1]) || w.push([w[0][0], w[0][1]]), w.length > 2 && f.push(w) + } + const p = [] + h = Math.max(h, 0.1) + const g = [] + for (const b of f) + for (let w = 0; w < b.length - 1; w++) { + const T = b[w], + E = b[w + 1] + if (T[1] !== E[1]) { + const S = Math.min(T[1], E[1]) + g.push({ + ymin: S, + ymax: Math.max(T[1], E[1]), + x: S === T[1] ? T[0] : E[0], + islope: (E[0] - T[0]) / (E[1] - T[1]), + }) + } + } + if ( + (g.sort((b, w) => + b.ymin < w.ymin + ? -1 + : b.ymin > w.ymin + ? 1 + : b.x < w.x + ? -1 + : b.x > w.x + ? 1 + : b.ymax === w.ymax + ? 0 + : (b.ymax - w.ymax) / Math.abs(b.ymax - w.ymax), + ), + !g.length) + ) + return p + let m = [], + v = g[0].ymin, + y = 0 + for (; m.length || g.length; ) { + if (g.length) { + let b = -1 + for (let w = 0; w < g.length && !(g[w].ymin > v); w++) b = w + g.splice(0, b + 1).forEach((w) => { + m.push({ s: v, edge: w }) + }) + } + if ( + ((m = m.filter((b) => !(b.edge.ymax <= v))), + m.sort((b, w) => (b.edge.x === w.edge.x ? 0 : (b.edge.x - w.edge.x) / Math.abs(b.edge.x - w.edge.x))), + (d !== 1 || y % h == 0) && m.length > 1) + ) + for (let b = 0; b < m.length; b += 2) { + const w = b + 1 + if (w >= m.length) break + const T = m[b].edge, + E = m[w].edge + p.push([ + [Math.round(T.x), v], + [Math.round(E.x), v], + ]) + } + ;(v += d), + m.forEach((b) => { + b.edge.x = b.edge.x + d * b.edge.islope + }), + y++ + } + return p + })(s, a, n) + if (i) { + for (const u of s) Bb(u, o, -i) + ;(function (u, h, d) { + const f = [] + u.forEach((p) => f.push(...p)), Bb(f, h, d) + })(l, o, -i) + } + return l +} +function bg(t, e) { + var r + const n = e.hachureAngle + 90 + let i = e.hachureGap + i < 0 && (i = 4 * e.strokeWidth), (i = Math.round(Math.max(i, 0.1))) + let a = 1 + return ( + e.roughness >= 1 && + (((r = e.randomizer) === null || r === void 0 ? void 0 : r.next()) || Math.random()) > 0.7 && + (a = i), + Wse(t, i, n, a || 1) + ) +} +class AE { + constructor(e) { + this.helper = e + } + fillPolygons(e, r) { + return this._fillPolygons(e, r) + } + _fillPolygons(e, r) { + const n = bg(e, r) + return { type: "fillSketch", ops: this.renderLines(n, r) } + } + renderLines(e, r) { + const n = [] + for (const i of e) n.push(...this.helper.doubleLineOps(i[0][0], i[0][1], i[1][0], i[1][1], r)) + return n + } +} +function W2(t) { + const e = t[0], + r = t[1] + return Math.sqrt(Math.pow(e[0] - r[0], 2) + Math.pow(e[1] - r[1], 2)) +} +class Hse extends AE { + fillPolygons(e, r) { + let n = r.hachureGap + n < 0 && (n = 4 * r.strokeWidth), (n = Math.max(n, 0.1)) + const i = bg(e, Object.assign({}, r, { hachureGap: n })), + a = (Math.PI / 180) * r.hachureAngle, + s = [], + o = 0.5 * n * Math.cos(a), + l = 0.5 * n * Math.sin(a) + for (const [u, h] of i) W2([u, h]) && s.push([[u[0] - o, u[1] + l], [...h]], [[u[0] + o, u[1] - l], [...h]]) + return { type: "fillSketch", ops: this.renderLines(s, r) } + } +} +class Yse extends AE { + fillPolygons(e, r) { + const n = this._fillPolygons(e, r), + i = Object.assign({}, r, { hachureAngle: r.hachureAngle + 90 }), + a = this._fillPolygons(e, i) + return (n.ops = n.ops.concat(a.ops)), n + } +} +let Xse = class { + constructor(e) { + this.helper = e + } + fillPolygons(e, r) { + const n = bg(e, (r = Object.assign({}, r, { hachureAngle: 0 }))) + return this.dotsOnLines(n, r) + } + dotsOnLines(e, r) { + const n = [] + let i = r.hachureGap + i < 0 && (i = 4 * r.strokeWidth), (i = Math.max(i, 0.1)) + let a = r.fillWeight + a < 0 && (a = r.strokeWidth / 2) + const s = i / 4 + for (const o of e) { + const l = W2(o), + u = l / i, + h = Math.ceil(u) - 1, + d = l - h * i, + f = (o[0][0] + o[1][0]) / 2 - i / 4, + p = Math.min(o[0][1], o[1][1]) + for (let g = 0; g < h; g++) { + const m = p + d + g * i, + v = f - s + 2 * Math.random() * s, + y = m - s + 2 * Math.random() * s, + b = this.helper.ellipse(v, y, a, a, r) + n.push(...b.ops) + } + } + return { type: "fillSketch", ops: n } + } + }, + jse = class { + constructor(e) { + this.helper = e + } + fillPolygons(e, r) { + const n = bg(e, r) + return { type: "fillSketch", ops: this.dashedLine(n, r) } + } + dashedLine(e, r) { + const n = r.dashOffset < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashOffset, + i = r.dashGap < 0 ? (r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap) : r.dashGap, + a = [] + return ( + e.forEach((s) => { + const o = W2(s), + l = Math.floor(o / (n + i)), + u = (o + i - l * (n + i)) / 2 + let h = s[0], + d = s[1] + h[0] > d[0] && ((h = s[1]), (d = s[0])) + const f = Math.atan((d[1] - h[1]) / (d[0] - h[0])) + for (let p = 0; p < l; p++) { + const g = p * (n + i), + m = g + n, + v = [h[0] + g * Math.cos(f) + u * Math.cos(f), h[1] + g * Math.sin(f) + u * Math.sin(f)], + y = [h[0] + m * Math.cos(f) + u * Math.cos(f), h[1] + m * Math.sin(f) + u * Math.sin(f)] + a.push(...this.helper.doubleLineOps(v[0], v[1], y[0], y[1], r)) + } + }), + a + ) + } + } +class Kse { + constructor(e) { + this.helper = e + } + fillPolygons(e, r) { + const n = r.hachureGap < 0 ? 4 * r.strokeWidth : r.hachureGap, + i = r.zigzagOffset < 0 ? n : r.zigzagOffset, + a = bg(e, (r = Object.assign({}, r, { hachureGap: n + i }))) + return { type: "fillSketch", ops: this.zigzagLines(a, i, r) } + } + zigzagLines(e, r, n) { + const i = [] + return ( + e.forEach((a) => { + const s = W2(a), + o = Math.round(s / (2 * r)) + let l = a[0], + u = a[1] + l[0] > u[0] && ((l = a[1]), (u = a[0])) + const h = Math.atan((u[1] - l[1]) / (u[0] - l[0])) + for (let d = 0; d < o; d++) { + const f = 2 * d * r, + p = 2 * (d + 1) * r, + g = Math.sqrt(2 * Math.pow(r, 2)), + m = [l[0] + f * Math.cos(h), l[1] + f * Math.sin(h)], + v = [l[0] + p * Math.cos(h), l[1] + p * Math.sin(h)], + y = [m[0] + g * Math.cos(h + Math.PI / 4), m[1] + g * Math.sin(h + Math.PI / 4)] + i.push( + ...this.helper.doubleLineOps(m[0], m[1], y[0], y[1], n), + ...this.helper.doubleLineOps(y[0], y[1], v[0], v[1], n), + ) + } + }), + i + ) + } +} +const Ki = {} +let Zse = class { + constructor(e) { + this.seed = e + } + next() { + return this.seed ? ((2 ** 31 - 1) & (this.seed = Math.imul(48271, this.seed))) / 2 ** 31 : Math.random() + } +} +const Qse = 0, + Fb = 1, + r8 = 2, + x1 = { + A: 7, + a: 7, + C: 6, + c: 6, + H: 1, + h: 1, + L: 2, + l: 2, + M: 2, + m: 2, + Q: 4, + q: 4, + S: 4, + s: 4, + T: 2, + t: 2, + V: 1, + v: 1, + Z: 0, + z: 0, + } +function $b(t, e) { + return t.type === e +} +function _E(t) { + const e = [], + r = (function (s) { + const o = new Array() + for (; s !== ""; ) + if (s.match(/^([ \t\r\n,]+)/)) s = s.substr(RegExp.$1.length) + else if (s.match(/^([aAcChHlLmMqQsStTvVzZ])/)) + (o[o.length] = { type: Qse, text: RegExp.$1 }), (s = s.substr(RegExp.$1.length)) + else { + if (!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/)) return [] + ;(o[o.length] = { type: Fb, text: `${parseFloat(RegExp.$1)}` }), (s = s.substr(RegExp.$1.length)) + } + return (o[o.length] = { type: r8, text: "" }), o + })(t) + let n = "BOD", + i = 0, + a = r[i] + for (; !$b(a, r8); ) { + let s = 0 + const o = [] + if (n === "BOD") { + if (a.text !== "M" && a.text !== "m") return _E("M0,0" + t) + i++, (s = x1[a.text]), (n = a.text) + } else $b(a, Fb) ? (s = x1[n]) : (i++, (s = x1[a.text]), (n = a.text)) + if (!(i + s < r.length)) throw new Error("Path data ended short") + for (let l = i; l < i + s; l++) { + const u = r[l] + if (!$b(u, Fb)) throw new Error("Param not a number: " + n + "," + u.text) + o[o.length] = +u.text + } + if (typeof x1[n] != "number") throw new Error("Bad segment: " + n) + { + const l = { key: n, data: o } + e.push(l), (i += s), (a = r[i]), n === "M" && (n = "L"), n === "m" && (n = "l") + } + } + return e +} +function cB(t) { + let e = 0, + r = 0, + n = 0, + i = 0 + const a = [] + for (const { key: s, data: o } of t) + switch (s) { + case "M": + a.push({ key: "M", data: [...o] }), ([e, r] = o), ([n, i] = o) + break + case "m": + ;(e += o[0]), (r += o[1]), a.push({ key: "M", data: [e, r] }), (n = e), (i = r) + break + case "L": + a.push({ key: "L", data: [...o] }), ([e, r] = o) + break + case "l": + ;(e += o[0]), (r += o[1]), a.push({ key: "L", data: [e, r] }) + break + case "C": + a.push({ key: "C", data: [...o] }), (e = o[4]), (r = o[5]) + break + case "c": { + const l = o.map((u, h) => (h % 2 ? u + r : u + e)) + a.push({ key: "C", data: l }), (e = l[4]), (r = l[5]) + break + } + case "Q": + a.push({ key: "Q", data: [...o] }), (e = o[2]), (r = o[3]) + break + case "q": { + const l = o.map((u, h) => (h % 2 ? u + r : u + e)) + a.push({ key: "Q", data: l }), (e = l[2]), (r = l[3]) + break + } + case "A": + a.push({ key: "A", data: [...o] }), (e = o[5]), (r = o[6]) + break + case "a": + ;(e += o[5]), (r += o[6]), a.push({ key: "A", data: [o[0], o[1], o[2], o[3], o[4], e, r] }) + break + case "H": + a.push({ key: "H", data: [...o] }), (e = o[0]) + break + case "h": + ;(e += o[0]), a.push({ key: "H", data: [e] }) + break + case "V": + a.push({ key: "V", data: [...o] }), (r = o[0]) + break + case "v": + ;(r += o[0]), a.push({ key: "V", data: [r] }) + break + case "S": + a.push({ key: "S", data: [...o] }), (e = o[2]), (r = o[3]) + break + case "s": { + const l = o.map((u, h) => (h % 2 ? u + r : u + e)) + a.push({ key: "S", data: l }), (e = l[2]), (r = l[3]) + break + } + case "T": + a.push({ key: "T", data: [...o] }), (e = o[0]), (r = o[1]) + break + case "t": + ;(e += o[0]), (r += o[1]), a.push({ key: "T", data: [e, r] }) + break + case "Z": + case "z": + a.push({ key: "Z", data: [] }), (e = n), (r = i) + } + return a +} +function uB(t) { + const e = [] + let r = "", + n = 0, + i = 0, + a = 0, + s = 0, + o = 0, + l = 0 + for (const { key: u, data: h } of t) { + switch (u) { + case "M": + e.push({ key: "M", data: [...h] }), ([n, i] = h), ([a, s] = h) + break + case "C": + e.push({ key: "C", data: [...h] }), (n = h[4]), (i = h[5]), (o = h[2]), (l = h[3]) + break + case "L": + e.push({ key: "L", data: [...h] }), ([n, i] = h) + break + case "H": + ;(n = h[0]), e.push({ key: "L", data: [n, i] }) + break + case "V": + ;(i = h[0]), e.push({ key: "L", data: [n, i] }) + break + case "S": { + let d = 0, + f = 0 + r === "C" || r === "S" ? ((d = n + (n - o)), (f = i + (i - l))) : ((d = n), (f = i)), + e.push({ key: "C", data: [d, f, ...h] }), + (o = h[0]), + (l = h[1]), + (n = h[2]), + (i = h[3]) + break + } + case "T": { + const [d, f] = h + let p = 0, + g = 0 + r === "Q" || r === "T" ? ((p = n + (n - o)), (g = i + (i - l))) : ((p = n), (g = i)) + const m = n + (2 * (p - n)) / 3, + v = i + (2 * (g - i)) / 3, + y = d + (2 * (p - d)) / 3, + b = f + (2 * (g - f)) / 3 + e.push({ key: "C", data: [m, v, y, b, d, f] }), (o = p), (l = g), (n = d), (i = f) + break + } + case "Q": { + const [d, f, p, g] = h, + m = n + (2 * (d - n)) / 3, + v = i + (2 * (f - i)) / 3, + y = p + (2 * (d - p)) / 3, + b = g + (2 * (f - g)) / 3 + e.push({ key: "C", data: [m, v, y, b, p, g] }), (o = d), (l = f), (n = p), (i = g) + break + } + case "A": { + const d = Math.abs(h[0]), + f = Math.abs(h[1]), + p = h[2], + g = h[3], + m = h[4], + v = h[5], + y = h[6] + d === 0 || f === 0 + ? (e.push({ key: "C", data: [n, i, v, y, v, y] }), (n = v), (i = y)) + : (n !== v || i !== y) && + (hB(n, i, v, y, d, f, p, g, m).forEach(function (b) { + e.push({ key: "C", data: b }) + }), + (n = v), + (i = y)) + break + } + case "Z": + e.push({ key: "Z", data: [] }), (n = a), (i = s) + } + r = u + } + return e +} +function Bf(t, e, r) { + return [t * Math.cos(r) - e * Math.sin(r), t * Math.sin(r) + e * Math.cos(r)] +} +function hB(t, e, r, n, i, a, s, o, l, u) { + const h = ((d = s), (Math.PI * d) / 180) + var d + let f = [], + p = 0, + g = 0, + m = 0, + v = 0 + if (u) [p, g, m, v] = u + else { + ;([t, e] = Bf(t, e, -h)), ([r, n] = Bf(r, n, -h)) + const P = (t - r) / 2, + _ = (e - n) / 2 + let N = (P * P) / (i * i) + (_ * _) / (a * a) + N > 1 && ((N = Math.sqrt(N)), (i *= N), (a *= N)) + const M = i * i, + O = a * a, + D = M * O - M * _ * _ - O * P * P, + B = M * _ * _ + O * P * P, + z = (o === l ? -1 : 1) * Math.sqrt(Math.abs(D / B)) + ;(m = (z * i * _) / a + (t + r) / 2), + (v = (z * -a * P) / i + (e + n) / 2), + (p = Math.asin(parseFloat(((e - v) / a).toFixed(9)))), + (g = Math.asin(parseFloat(((n - v) / a).toFixed(9)))), + t < m && (p = Math.PI - p), + r < m && (g = Math.PI - g), + p < 0 && (p = 2 * Math.PI + p), + g < 0 && (g = 2 * Math.PI + g), + l && p > g && (p -= 2 * Math.PI), + !l && g > p && (g -= 2 * Math.PI) + } + let y = g - p + if (Math.abs(y) > (120 * Math.PI) / 180) { + const P = g, + _ = r, + N = n + ;(g = l && g > p ? p + ((120 * Math.PI) / 180) * 1 : p + ((120 * Math.PI) / 180) * -1), + (f = hB((r = m + i * Math.cos(g)), (n = v + a * Math.sin(g)), _, N, i, a, s, 0, l, [g, P, m, v])) + } + y = g - p + const b = Math.cos(p), + w = Math.sin(p), + T = Math.cos(g), + E = Math.sin(g), + S = Math.tan(y / 4), + k = (4 / 3) * i * S, + L = (4 / 3) * a * S, + A = [t, e], + R = [t + k * w, e - L * b], + C = [r + k * E, n - L * T], + I = [r, n] + if (((R[0] = 2 * A[0] - R[0]), (R[1] = 2 * A[1] - R[1]), u)) return [R, C, I].concat(f) + { + f = [R, C, I].concat(f) + const P = [] + for (let _ = 0; _ < f.length; _ += 3) { + const N = Bf(f[_][0], f[_][1], h), + M = Bf(f[_ + 1][0], f[_ + 1][1], h), + O = Bf(f[_ + 2][0], f[_ + 2][1], h) + P.push([N[0], N[1], M[0], M[1], O[0], O[1]]) + } + return P + } +} +const Jse = { + randOffset: function (t, e) { + return qt(t, e) + }, + randOffsetWithRange: function (t, e, r) { + return iy(t, e, r) + }, + ellipse: function (t, e, r, n, i) { + const a = fB(r, n, i) + return nw(t, e, i, a).opset + }, + doubleLineOps: function (t, e, r, n, i) { + return Il(t, e, r, n, i, !0) + }, +} +function dB(t, e, r, n, i) { + return { type: "path", ops: Il(t, e, r, n, i) } +} +function wm(t, e, r) { + const n = (t || []).length + if (n > 2) { + const i = [] + for (let a = 0; a < n - 1; a++) i.push(...Il(t[a][0], t[a][1], t[a + 1][0], t[a + 1][1], r)) + return e && i.push(...Il(t[n - 1][0], t[n - 1][1], t[0][0], t[0][1], r)), { type: "path", ops: i } + } + return n === 2 ? dB(t[0][0], t[0][1], t[1][0], t[1][1], r) : { type: "path", ops: [] } +} +function eoe(t, e, r, n, i) { + return (function (a, s) { + return wm(a, !0, s) + })( + [ + [t, e], + [t + r, e], + [t + r, e + n], + [t, e + n], + ], + i, + ) +} +function n8(t, e) { + if (t.length) { + const r = typeof t[0][0] == "number" ? [t] : t, + n = b1(r[0], 1 * (1 + 0.2 * e.roughness), e), + i = e.disableMultiStroke ? [] : b1(r[0], 1.5 * (1 + 0.22 * e.roughness), s8(e)) + for (let a = 1; a < r.length; a++) { + const s = r[a] + if (s.length) { + const o = b1(s, 1 * (1 + 0.2 * e.roughness), e), + l = e.disableMultiStroke ? [] : b1(s, 1.5 * (1 + 0.22 * e.roughness), s8(e)) + for (const u of o) u.op !== "move" && n.push(u) + for (const u of l) u.op !== "move" && i.push(u) + } + } + return { type: "path", ops: n.concat(i) } + } + return { type: "path", ops: [] } +} +function fB(t, e, r) { + const n = Math.sqrt(2 * Math.PI * Math.sqrt((Math.pow(t / 2, 2) + Math.pow(e / 2, 2)) / 2)), + i = Math.ceil(Math.max(r.curveStepCount, (r.curveStepCount / Math.sqrt(200)) * n)), + a = (2 * Math.PI) / i + let s = Math.abs(t / 2), + o = Math.abs(e / 2) + const l = 1 - r.curveFitting + return (s += qt(s * l, r)), (o += qt(o * l, r)), { increment: a, rx: s, ry: o } +} +function nw(t, e, r, n) { + const [i, a] = o8(n.increment, t, e, n.rx, n.ry, 1, n.increment * iy(0.1, iy(0.4, 1, r), r), r) + let s = ay(i, null, r) + if (!r.disableMultiStroke && r.roughness !== 0) { + const [o] = o8(n.increment, t, e, n.rx, n.ry, 1.5, 0, r), + l = ay(o, null, r) + s = s.concat(l) + } + return { estimatedPoints: a, opset: { type: "path", ops: s } } +} +function i8(t, e, r, n, i, a, s, o, l) { + const u = t, + h = e + let d = Math.abs(r / 2), + f = Math.abs(n / 2) + ;(d += qt(0.01 * d, l)), (f += qt(0.01 * f, l)) + let p = i, + g = a + for (; p < 0; ) (p += 2 * Math.PI), (g += 2 * Math.PI) + g - p > 2 * Math.PI && ((p = 0), (g = 2 * Math.PI)) + const m = (2 * Math.PI) / l.curveStepCount, + v = Math.min(m / 2, (g - p) / 2), + y = l8(v, u, h, d, f, p, g, 1, l) + if (!l.disableMultiStroke) { + const b = l8(v, u, h, d, f, p, g, 1.5, l) + y.push(...b) + } + return ( + s && + (o + ? y.push( + ...Il(u, h, u + d * Math.cos(p), h + f * Math.sin(p), l), + ...Il(u, h, u + d * Math.cos(g), h + f * Math.sin(g), l), + ) + : y.push( + { op: "lineTo", data: [u, h] }, + { op: "lineTo", data: [u + d * Math.cos(p), h + f * Math.sin(p)] }, + )), + { type: "path", ops: y } + ) +} +function a8(t, e) { + const r = uB(cB(_E(t))), + n = [] + let i = [0, 0], + a = [0, 0] + for (const { key: s, data: o } of r) + switch (s) { + case "M": + ;(a = [o[0], o[1]]), (i = [o[0], o[1]]) + break + case "L": + n.push(...Il(a[0], a[1], o[0], o[1], e)), (a = [o[0], o[1]]) + break + case "C": { + const [l, u, h, d, f, p] = o + n.push(...toe(l, u, h, d, f, p, a, e)), (a = [f, p]) + break + } + case "Z": + n.push(...Il(a[0], a[1], i[0], i[1], e)), (a = [i[0], i[1]]) + } + return { type: "path", ops: n } +} +function zb(t, e) { + const r = [] + for (const n of t) + if (n.length) { + const i = e.maxRandomnessOffset || 0, + a = n.length + if (a > 2) { + r.push({ op: "move", data: [n[0][0] + qt(i, e), n[0][1] + qt(i, e)] }) + for (let s = 1; s < a; s++) r.push({ op: "lineTo", data: [n[s][0] + qt(i, e), n[s][1] + qt(i, e)] }) + } + } + return { type: "fillPath", ops: r } +} +function $u(t, e) { + return (function (r, n) { + let i = r.fillStyle || "hachure" + if (!Ki[i]) + switch (i) { + case "zigzag": + Ki[i] || (Ki[i] = new Hse(n)) + break + case "cross-hatch": + Ki[i] || (Ki[i] = new Yse(n)) + break + case "dots": + Ki[i] || (Ki[i] = new Xse(n)) + break + case "dashed": + Ki[i] || (Ki[i] = new jse(n)) + break + case "zigzag-line": + Ki[i] || (Ki[i] = new Kse(n)) + break + default: + ;(i = "hachure"), Ki[i] || (Ki[i] = new AE(n)) + } + return Ki[i] + })(e, Jse).fillPolygons(t, e) +} +function s8(t) { + const e = Object.assign({}, t) + return (e.randomizer = void 0), t.seed && (e.seed = t.seed + 1), e +} +function pB(t) { + return t.randomizer || (t.randomizer = new Zse(t.seed || 0)), t.randomizer.next() +} +function iy(t, e, r, n = 1) { + return r.roughness * n * (pB(r) * (e - t) + t) +} +function qt(t, e, r = 1) { + return iy(-t, t, e, r) +} +function Il(t, e, r, n, i, a = !1) { + const s = a ? i.disableMultiStrokeFill : i.disableMultiStroke, + o = iw(t, e, r, n, i, !0, !1) + if (s) return o + const l = iw(t, e, r, n, i, !0, !0) + return o.concat(l) +} +function iw(t, e, r, n, i, a, s) { + const o = Math.pow(t - r, 2) + Math.pow(e - n, 2), + l = Math.sqrt(o) + let u = 1 + u = l < 200 ? 1 : l > 500 ? 0.4 : -0.0016668 * l + 1.233334 + let h = i.maxRandomnessOffset || 0 + h * h * 100 > o && (h = l / 10) + const d = h / 2, + f = 0.2 + 0.2 * pB(i) + let p = (i.bowing * i.maxRandomnessOffset * (n - e)) / 200, + g = (i.bowing * i.maxRandomnessOffset * (t - r)) / 200 + ;(p = qt(p, i, u)), (g = qt(g, i, u)) + const m = [], + v = () => qt(d, i, u), + y = () => qt(h, i, u), + b = i.preserveVertices + return ( + s + ? m.push({ op: "move", data: [t + (b ? 0 : v()), e + (b ? 0 : v())] }) + : m.push({ op: "move", data: [t + (b ? 0 : qt(h, i, u)), e + (b ? 0 : qt(h, i, u))] }), + s + ? m.push({ + op: "bcurveTo", + data: [ + p + t + (r - t) * f + v(), + g + e + (n - e) * f + v(), + p + t + 2 * (r - t) * f + v(), + g + e + 2 * (n - e) * f + v(), + r + (b ? 0 : v()), + n + (b ? 0 : v()), + ], + }) + : m.push({ + op: "bcurveTo", + data: [ + p + t + (r - t) * f + y(), + g + e + (n - e) * f + y(), + p + t + 2 * (r - t) * f + y(), + g + e + 2 * (n - e) * f + y(), + r + (b ? 0 : y()), + n + (b ? 0 : y()), + ], + }), + m + ) +} +function b1(t, e, r) { + if (!t.length) return [] + const n = [] + n.push([t[0][0] + qt(e, r), t[0][1] + qt(e, r)]), n.push([t[0][0] + qt(e, r), t[0][1] + qt(e, r)]) + for (let i = 1; i < t.length; i++) + n.push([t[i][0] + qt(e, r), t[i][1] + qt(e, r)]), + i === t.length - 1 && n.push([t[i][0] + qt(e, r), t[i][1] + qt(e, r)]) + return ay(n, null, r) +} +function ay(t, e, r) { + const n = t.length, + i = [] + if (n > 3) { + const a = [], + s = 1 - r.curveTightness + i.push({ op: "move", data: [t[1][0], t[1][1]] }) + for (let o = 1; o + 2 < n; o++) { + const l = t[o] + ;(a[0] = [l[0], l[1]]), + (a[1] = [ + l[0] + (s * t[o + 1][0] - s * t[o - 1][0]) / 6, + l[1] + (s * t[o + 1][1] - s * t[o - 1][1]) / 6, + ]), + (a[2] = [ + t[o + 1][0] + (s * t[o][0] - s * t[o + 2][0]) / 6, + t[o + 1][1] + (s * t[o][1] - s * t[o + 2][1]) / 6, + ]), + (a[3] = [t[o + 1][0], t[o + 1][1]]), + i.push({ op: "bcurveTo", data: [a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1]] }) + } + } else + n === 3 + ? (i.push({ op: "move", data: [t[1][0], t[1][1]] }), + i.push({ op: "bcurveTo", data: [t[1][0], t[1][1], t[2][0], t[2][1], t[2][0], t[2][1]] })) + : n === 2 && i.push(...iw(t[0][0], t[0][1], t[1][0], t[1][1], r, !0, !0)) + return i +} +function o8(t, e, r, n, i, a, s, o) { + const l = [], + u = [] + if (o.roughness === 0) { + ;(t /= 4), u.push([e + n * Math.cos(-t), r + i * Math.sin(-t)]) + for (let h = 0; h <= 2 * Math.PI; h += t) { + const d = [e + n * Math.cos(h), r + i * Math.sin(h)] + l.push(d), u.push(d) + } + u.push([e + n * Math.cos(0), r + i * Math.sin(0)]), u.push([e + n * Math.cos(t), r + i * Math.sin(t)]) + } else { + const h = qt(0.5, o) - Math.PI / 2 + u.push([qt(a, o) + e + 0.9 * n * Math.cos(h - t), qt(a, o) + r + 0.9 * i * Math.sin(h - t)]) + const d = 2 * Math.PI + h - 0.01 + for (let f = h; f < d; f += t) { + const p = [qt(a, o) + e + n * Math.cos(f), qt(a, o) + r + i * Math.sin(f)] + l.push(p), u.push(p) + } + u.push([ + qt(a, o) + e + n * Math.cos(h + 2 * Math.PI + 0.5 * s), + qt(a, o) + r + i * Math.sin(h + 2 * Math.PI + 0.5 * s), + ]), + u.push([qt(a, o) + e + 0.98 * n * Math.cos(h + s), qt(a, o) + r + 0.98 * i * Math.sin(h + s)]), + u.push([qt(a, o) + e + 0.9 * n * Math.cos(h + 0.5 * s), qt(a, o) + r + 0.9 * i * Math.sin(h + 0.5 * s)]) + } + return [u, l] +} +function l8(t, e, r, n, i, a, s, o, l) { + const u = a + qt(0.1, l), + h = [] + h.push([qt(o, l) + e + 0.9 * n * Math.cos(u - t), qt(o, l) + r + 0.9 * i * Math.sin(u - t)]) + for (let d = u; d <= s; d += t) h.push([qt(o, l) + e + n * Math.cos(d), qt(o, l) + r + i * Math.sin(d)]) + return ( + h.push([e + n * Math.cos(s), r + i * Math.sin(s)]), + h.push([e + n * Math.cos(s), r + i * Math.sin(s)]), + ay(h, null, l) + ) +} +function toe(t, e, r, n, i, a, s, o) { + const l = [], + u = [o.maxRandomnessOffset || 1, (o.maxRandomnessOffset || 1) + 0.3] + let h = [0, 0] + const d = o.disableMultiStroke ? 1 : 2, + f = o.preserveVertices + for (let p = 0; p < d; p++) + p === 0 + ? l.push({ op: "move", data: [s[0], s[1]] }) + : l.push({ op: "move", data: [s[0] + (f ? 0 : qt(u[0], o)), s[1] + (f ? 0 : qt(u[0], o))] }), + (h = f ? [i, a] : [i + qt(u[p], o), a + qt(u[p], o)]), + l.push({ + op: "bcurveTo", + data: [t + qt(u[p], o), e + qt(u[p], o), r + qt(u[p], o), n + qt(u[p], o), h[0], h[1]], + }) + return l +} +function Ff(t) { + return [...t] +} +function c8(t, e = 0) { + const r = t.length + if (r < 3) throw new Error("A curve must have at least three points.") + const n = [] + if (r === 3) n.push(Ff(t[0]), Ff(t[1]), Ff(t[2]), Ff(t[2])) + else { + const i = [] + i.push(t[0], t[0]) + for (let o = 1; o < t.length; o++) i.push(t[o]), o === t.length - 1 && i.push(t[o]) + const a = [], + s = 1 - e + n.push(Ff(i[0])) + for (let o = 1; o + 2 < i.length; o++) { + const l = i[o] + ;(a[0] = [l[0], l[1]]), + (a[1] = [ + l[0] + (s * i[o + 1][0] - s * i[o - 1][0]) / 6, + l[1] + (s * i[o + 1][1] - s * i[o - 1][1]) / 6, + ]), + (a[2] = [ + i[o + 1][0] + (s * i[o][0] - s * i[o + 2][0]) / 6, + i[o + 1][1] + (s * i[o][1] - s * i[o + 2][1]) / 6, + ]), + (a[3] = [i[o + 1][0], i[o + 1][1]]), + n.push(a[1], a[2], a[3]) + } + } + return n +} +function Tm(t, e) { + return Math.pow(t[0] - e[0], 2) + Math.pow(t[1] - e[1], 2) +} +function roe(t, e, r) { + const n = Tm(e, r) + if (n === 0) return Tm(t, e) + let i = ((t[0] - e[0]) * (r[0] - e[0]) + (t[1] - e[1]) * (r[1] - e[1])) / n + return (i = Math.max(0, Math.min(1, i))), Tm(t, yc(e, r, i)) +} +function yc(t, e, r) { + return [t[0] + (e[0] - t[0]) * r, t[1] + (e[1] - t[1]) * r] +} +function aw(t, e, r, n) { + const i = n || [] + if ( + (function (o, l) { + const u = o[l + 0], + h = o[l + 1], + d = o[l + 2], + f = o[l + 3] + let p = 3 * h[0] - 2 * u[0] - f[0] + p *= p + let g = 3 * h[1] - 2 * u[1] - f[1] + g *= g + let m = 3 * d[0] - 2 * f[0] - u[0] + m *= m + let v = 3 * d[1] - 2 * f[1] - u[1] + return (v *= v), p < m && (p = m), g < v && (g = v), p + g + })(t, e) < r + ) { + const o = t[e + 0] + i.length ? ((a = i[i.length - 1]), (s = o), Math.sqrt(Tm(a, s)) > 1 && i.push(o)) : i.push(o), i.push(t[e + 3]) + } else { + const l = t[e + 0], + u = t[e + 1], + h = t[e + 2], + d = t[e + 3], + f = yc(l, u, 0.5), + p = yc(u, h, 0.5), + g = yc(h, d, 0.5), + m = yc(f, p, 0.5), + v = yc(p, g, 0.5), + y = yc(m, v, 0.5) + aw([l, f, m, y], 0, r, i), aw([y, v, g, d], 0, r, i) + } + var a, s + return i +} +function noe(t, e) { + return sy(t, 0, t.length, e) +} +function sy(t, e, r, n, i) { + const a = i || [], + s = t[e], + o = t[r - 1] + let l = 0, + u = 1 + for (let h = e + 1; h < r - 1; ++h) { + const d = roe(t[h], s, o) + d > l && ((l = d), (u = h)) + } + return Math.sqrt(l) > n ? (sy(t, e, u + 1, n, a), sy(t, u, r, n, a)) : (a.length || a.push(s), a.push(o)), a +} +function Vb(t, e = 0.15, r) { + const n = [], + i = (t.length - 1) / 3 + for (let a = 0; a < i; a++) aw(t, 3 * a, e, n) + return r && r > 0 ? sy(n, 0, n.length, r) : n +} +const xa = "none" +class oy { + constructor(e) { + ;(this.defaultOptions = { + maxRandomnessOffset: 2, + roughness: 1, + bowing: 1, + stroke: "#000", + strokeWidth: 1, + curveTightness: 0, + curveFitting: 0.95, + curveStepCount: 9, + fillStyle: "hachure", + fillWeight: -1, + hachureAngle: -41, + hachureGap: -1, + dashOffset: -1, + dashGap: -1, + zigzagOffset: -1, + seed: 0, + disableMultiStroke: !1, + disableMultiStrokeFill: !1, + preserveVertices: !1, + fillShapeRoughnessGain: 0.8, + }), + (this.config = e || {}), + this.config.options && (this.defaultOptions = this._o(this.config.options)) + } + static newSeed() { + return Math.floor(Math.random() * 2 ** 31) + } + _o(e) { + return e ? Object.assign({}, this.defaultOptions, e) : this.defaultOptions + } + _d(e, r, n) { + return { shape: e, sets: r || [], options: n || this.defaultOptions } + } + line(e, r, n, i, a) { + const s = this._o(a) + return this._d("line", [dB(e, r, n, i, s)], s) + } + rectangle(e, r, n, i, a) { + const s = this._o(a), + o = [], + l = eoe(e, r, n, i, s) + if (s.fill) { + const u = [ + [e, r], + [e + n, r], + [e + n, r + i], + [e, r + i], + ] + s.fillStyle === "solid" ? o.push(zb([u], s)) : o.push($u([u], s)) + } + return s.stroke !== xa && o.push(l), this._d("rectangle", o, s) + } + ellipse(e, r, n, i, a) { + const s = this._o(a), + o = [], + l = fB(n, i, s), + u = nw(e, r, s, l) + if (s.fill) + if (s.fillStyle === "solid") { + const h = nw(e, r, s, l).opset + ;(h.type = "fillPath"), o.push(h) + } else o.push($u([u.estimatedPoints], s)) + return s.stroke !== xa && o.push(u.opset), this._d("ellipse", o, s) + } + circle(e, r, n, i) { + const a = this.ellipse(e, r, n, n, i) + return (a.shape = "circle"), a + } + linearPath(e, r) { + const n = this._o(r) + return this._d("linearPath", [wm(e, !1, n)], n) + } + arc(e, r, n, i, a, s, o = !1, l) { + const u = this._o(l), + h = [], + d = i8(e, r, n, i, a, s, o, !0, u) + if (o && u.fill) + if (u.fillStyle === "solid") { + const f = Object.assign({}, u) + f.disableMultiStroke = !0 + const p = i8(e, r, n, i, a, s, !0, !1, f) + ;(p.type = "fillPath"), h.push(p) + } else + h.push( + (function (f, p, g, m, v, y, b) { + const w = f, + T = p + let E = Math.abs(g / 2), + S = Math.abs(m / 2) + ;(E += qt(0.01 * E, b)), (S += qt(0.01 * S, b)) + let k = v, + L = y + for (; k < 0; ) (k += 2 * Math.PI), (L += 2 * Math.PI) + L - k > 2 * Math.PI && ((k = 0), (L = 2 * Math.PI)) + const A = (L - k) / b.curveStepCount, + R = [] + for (let C = k; C <= L; C += A) R.push([w + E * Math.cos(C), T + S * Math.sin(C)]) + return R.push([w + E * Math.cos(L), T + S * Math.sin(L)]), R.push([w, T]), $u([R], b) + })(e, r, n, i, a, s, u), + ) + return u.stroke !== xa && h.push(d), this._d("arc", h, u) + } + curve(e, r) { + const n = this._o(r), + i = [], + a = n8(e, n) + if (n.fill && n.fill !== xa) + if (n.fillStyle === "solid") { + const s = n8( + e, + Object.assign(Object.assign({}, n), { + disableMultiStroke: !0, + roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0, + }), + ) + i.push({ type: "fillPath", ops: this._mergedShape(s.ops) }) + } else { + const s = [], + o = e + if (o.length) { + const l = typeof o[0][0] == "number" ? [o] : o + for (const u of l) + u.length < 3 + ? s.push(...u) + : u.length === 3 + ? s.push(...Vb(c8([u[0], u[0], u[1], u[2]]), 10, (1 + n.roughness) / 2)) + : s.push(...Vb(c8(u), 10, (1 + n.roughness) / 2)) + } + s.length && i.push($u([s], n)) + } + return n.stroke !== xa && i.push(a), this._d("curve", i, n) + } + polygon(e, r) { + const n = this._o(r), + i = [], + a = wm(e, !0, n) + return ( + n.fill && (n.fillStyle === "solid" ? i.push(zb([e], n)) : i.push($u([e], n))), + n.stroke !== xa && i.push(a), + this._d("polygon", i, n) + ) + } + path(e, r) { + const n = this._o(r), + i = [] + if (!e) return this._d("path", i, n) + e = (e || "").replace(/\n/g, " ").replace(/(-\s)/g, "-").replace("/(ss)/g", " ") + const a = n.fill && n.fill !== "transparent" && n.fill !== xa, + s = n.stroke !== xa, + o = !!(n.simplification && n.simplification < 1), + l = (function (h, d, f) { + const p = uB(cB(_E(h))), + g = [] + let m = [], + v = [0, 0], + y = [] + const b = () => { + y.length >= 4 && m.push(...Vb(y, d)), (y = []) + }, + w = () => { + b(), m.length && (g.push(m), (m = [])) + } + for (const { key: E, data: S } of p) + switch (E) { + case "M": + w(), (v = [S[0], S[1]]), m.push(v) + break + case "L": + b(), m.push([S[0], S[1]]) + break + case "C": + if (!y.length) { + const k = m.length ? m[m.length - 1] : v + y.push([k[0], k[1]]) + } + y.push([S[0], S[1]]), y.push([S[2], S[3]]), y.push([S[4], S[5]]) + break + case "Z": + b(), m.push([v[0], v[1]]) + } + if ((w(), !f)) return g + const T = [] + for (const E of g) { + const S = noe(E, f) + S.length && T.push(S) + } + return T + })(e, 1, o ? 4 - 4 * (n.simplification || 1) : (1 + n.roughness) / 2), + u = a8(e, n) + if (a) + if (n.fillStyle === "solid") + if (l.length === 1) { + const h = a8( + e, + Object.assign(Object.assign({}, n), { + disableMultiStroke: !0, + roughness: n.roughness ? n.roughness + n.fillShapeRoughnessGain : 0, + }), + ) + i.push({ type: "fillPath", ops: this._mergedShape(h.ops) }) + } else i.push(zb(l, n)) + else i.push($u(l, n)) + return ( + s && + (o + ? l.forEach((h) => { + i.push(wm(h, !1, n)) + }) + : i.push(u)), + this._d("path", i, n) + ) + } + opsToPath(e, r) { + let n = "" + for (const i of e.ops) { + const a = typeof r == "number" && r >= 0 ? i.data.map((s) => +s.toFixed(r)) : i.data + switch (i.op) { + case "move": + n += `M${a[0]} ${a[1]} ` + break + case "bcurveTo": + n += `C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} ` + break + case "lineTo": + n += `L${a[0]} ${a[1]} ` + } + } + return n.trim() + } + toPaths(e) { + const r = e.sets || [], + n = e.options || this.defaultOptions, + i = [] + for (const a of r) { + let s = null + switch (a.type) { + case "path": + s = { d: this.opsToPath(a), stroke: n.stroke, strokeWidth: n.strokeWidth, fill: xa } + break + case "fillPath": + s = { d: this.opsToPath(a), stroke: xa, strokeWidth: 0, fill: n.fill || xa } + break + case "fillSketch": + s = this.fillSketch(a, n) + } + s && i.push(s) + } + return i + } + fillSketch(e, r) { + let n = r.fillWeight + return ( + n < 0 && (n = r.strokeWidth / 2), { d: this.opsToPath(e), stroke: r.fill || xa, strokeWidth: n, fill: xa } + ) + } + _mergedShape(e) { + return e.filter((r, n) => n === 0 || r.op !== "move") + } +} +class ioe { + constructor(e, r) { + ;(this.canvas = e), (this.ctx = this.canvas.getContext("2d")), (this.gen = new oy(r)) + } + draw(e) { + const r = e.sets || [], + n = e.options || this.getDefaultOptions(), + i = this.ctx, + a = e.options.fixedDecimalPlaceDigits + for (const s of r) + switch (s.type) { + case "path": + i.save(), + (i.strokeStyle = n.stroke === "none" ? "transparent" : n.stroke), + (i.lineWidth = n.strokeWidth), + n.strokeLineDash && i.setLineDash(n.strokeLineDash), + n.strokeLineDashOffset && (i.lineDashOffset = n.strokeLineDashOffset), + this._drawToContext(i, s, a), + i.restore() + break + case "fillPath": { + i.save(), (i.fillStyle = n.fill || "") + const o = e.shape === "curve" || e.shape === "polygon" || e.shape === "path" ? "evenodd" : "nonzero" + this._drawToContext(i, s, a, o), i.restore() + break + } + case "fillSketch": + this.fillSketch(i, s, n) + } + } + fillSketch(e, r, n) { + let i = n.fillWeight + i < 0 && (i = n.strokeWidth / 2), + e.save(), + n.fillLineDash && e.setLineDash(n.fillLineDash), + n.fillLineDashOffset && (e.lineDashOffset = n.fillLineDashOffset), + (e.strokeStyle = n.fill || ""), + (e.lineWidth = i), + this._drawToContext(e, r, n.fixedDecimalPlaceDigits), + e.restore() + } + _drawToContext(e, r, n, i = "nonzero") { + e.beginPath() + for (const a of r.ops) { + const s = typeof n == "number" && n >= 0 ? a.data.map((o) => +o.toFixed(n)) : a.data + switch (a.op) { + case "move": + e.moveTo(s[0], s[1]) + break + case "bcurveTo": + e.bezierCurveTo(s[0], s[1], s[2], s[3], s[4], s[5]) + break + case "lineTo": + e.lineTo(s[0], s[1]) + } + } + r.type === "fillPath" ? e.fill(i) : e.stroke() + } + get generator() { + return this.gen + } + getDefaultOptions() { + return this.gen.defaultOptions + } + line(e, r, n, i, a) { + const s = this.gen.line(e, r, n, i, a) + return this.draw(s), s + } + rectangle(e, r, n, i, a) { + const s = this.gen.rectangle(e, r, n, i, a) + return this.draw(s), s + } + ellipse(e, r, n, i, a) { + const s = this.gen.ellipse(e, r, n, i, a) + return this.draw(s), s + } + circle(e, r, n, i) { + const a = this.gen.circle(e, r, n, i) + return this.draw(a), a + } + linearPath(e, r) { + const n = this.gen.linearPath(e, r) + return this.draw(n), n + } + polygon(e, r) { + const n = this.gen.polygon(e, r) + return this.draw(n), n + } + arc(e, r, n, i, a, s, o = !1, l) { + const u = this.gen.arc(e, r, n, i, a, s, o, l) + return this.draw(u), u + } + curve(e, r) { + const n = this.gen.curve(e, r) + return this.draw(n), n + } + path(e, r) { + const n = this.gen.path(e, r) + return this.draw(n), n + } +} +const w1 = "http://www.w3.org/2000/svg" +class aoe { + constructor(e, r) { + ;(this.svg = e), (this.gen = new oy(r)) + } + draw(e) { + const r = e.sets || [], + n = e.options || this.getDefaultOptions(), + i = this.svg.ownerDocument || window.document, + a = i.createElementNS(w1, "g"), + s = e.options.fixedDecimalPlaceDigits + for (const o of r) { + let l = null + switch (o.type) { + case "path": + ;(l = i.createElementNS(w1, "path")), + l.setAttribute("d", this.opsToPath(o, s)), + l.setAttribute("stroke", n.stroke), + l.setAttribute("stroke-width", n.strokeWidth + ""), + l.setAttribute("fill", "none"), + n.strokeLineDash && l.setAttribute("stroke-dasharray", n.strokeLineDash.join(" ").trim()), + n.strokeLineDashOffset && l.setAttribute("stroke-dashoffset", `${n.strokeLineDashOffset}`) + break + case "fillPath": + ;(l = i.createElementNS(w1, "path")), + l.setAttribute("d", this.opsToPath(o, s)), + l.setAttribute("stroke", "none"), + l.setAttribute("stroke-width", "0"), + l.setAttribute("fill", n.fill || ""), + (e.shape !== "curve" && e.shape !== "polygon") || l.setAttribute("fill-rule", "evenodd") + break + case "fillSketch": + l = this.fillSketch(i, o, n) + } + l && a.appendChild(l) + } + return a + } + fillSketch(e, r, n) { + let i = n.fillWeight + i < 0 && (i = n.strokeWidth / 2) + const a = e.createElementNS(w1, "path") + return ( + a.setAttribute("d", this.opsToPath(r, n.fixedDecimalPlaceDigits)), + a.setAttribute("stroke", n.fill || ""), + a.setAttribute("stroke-width", i + ""), + a.setAttribute("fill", "none"), + n.fillLineDash && a.setAttribute("stroke-dasharray", n.fillLineDash.join(" ").trim()), + n.fillLineDashOffset && a.setAttribute("stroke-dashoffset", `${n.fillLineDashOffset}`), + a + ) + } + get generator() { + return this.gen + } + getDefaultOptions() { + return this.gen.defaultOptions + } + opsToPath(e, r) { + return this.gen.opsToPath(e, r) + } + line(e, r, n, i, a) { + const s = this.gen.line(e, r, n, i, a) + return this.draw(s) + } + rectangle(e, r, n, i, a) { + const s = this.gen.rectangle(e, r, n, i, a) + return this.draw(s) + } + ellipse(e, r, n, i, a) { + const s = this.gen.ellipse(e, r, n, i, a) + return this.draw(s) + } + circle(e, r, n, i) { + const a = this.gen.circle(e, r, n, i) + return this.draw(a) + } + linearPath(e, r) { + const n = this.gen.linearPath(e, r) + return this.draw(n) + } + polygon(e, r) { + const n = this.gen.polygon(e, r) + return this.draw(n) + } + arc(e, r, n, i, a, s, o = !1, l) { + const u = this.gen.arc(e, r, n, i, a, s, o, l) + return this.draw(u) + } + curve(e, r) { + const n = this.gen.curve(e, r) + return this.draw(n) + } + path(e, r) { + const n = this.gen.path(e, r) + return this.draw(n) + } +} +var Rt = { + canvas: (t, e) => new ioe(t, e), + svg: (t, e) => new aoe(t, e), + generator: (t) => new oy(t), + newSeed: () => oy.newSeed(), + }, + Kt = x(async (t, e, r) => { + var d, f + let n + const i = e.useHtmlLabels || Nr((d = we()) == null ? void 0 : d.htmlLabels) + r ? (n = r) : (n = "node default") + const a = t + .insert("g") + .attr("class", n) + .attr("id", e.domId || e.id), + s = a.insert("g").attr("class", "label").attr("style", zi(e.labelStyle)) + let o + e.label === void 0 ? (o = "") : (o = typeof e.label == "string" ? e.label : e.label[0]) + const l = await fa(s, Pr(Zs(o), we()), { + useHtmlLabels: i, + width: e.width || ((f = we().flowchart) == null ? void 0 : f.wrappingWidth), + cssClasses: "markdown-node-label", + style: e.labelStyle, + addSvgBackground: !!e.icon || !!e.img, + }) + let u = l.getBBox() + const h = ((e == null ? void 0 : e.padding) ?? 0) / 2 + if (i) { + const p = l.children[0], + g = rt(l), + m = p.getElementsByTagName("img") + if (m) { + const v = o.replace(/<img[^>]*>/g, "").trim() === "" + await Promise.all( + [...m].map( + (y) => + new Promise((b) => { + function w() { + if (((y.style.display = "flex"), (y.style.flexDirection = "column"), v)) { + const T = we().fontSize + ? we().fontSize + : window.getComputedStyle(document.body).fontSize, + E = 5, + [S = hr.fontSize] = jl(T), + k = S * E + "px" + ;(y.style.minWidth = k), (y.style.maxWidth = k) + } else y.style.width = "100%" + b(y) + } + x(w, "setupImage"), + setTimeout(() => { + y.complete && w() + }), + y.addEventListener("error", w), + y.addEventListener("load", w) + }), + ), + ) + } + ;(u = p.getBoundingClientRect()), g.attr("width", u.width), g.attr("height", u.height) + } + return ( + i + ? s.attr("transform", "translate(" + -u.width / 2 + ", " + -u.height / 2 + ")") + : s.attr("transform", "translate(0, " + -u.height / 2 + ")"), + e.centerLabel && s.attr("transform", "translate(" + -u.width / 2 + ", " + -u.height / 2 + ")"), + s.insert("rect", ":first-child"), + { shapeSvg: a, bbox: u, halfPadding: h, label: s } + ) + }, "labelHelper"), + Gb = x(async (t, e, r) => { + var l, u, h, d, f, p + const n = + r.useHtmlLabels || Nr((u = (l = we()) == null ? void 0 : l.flowchart) == null ? void 0 : u.htmlLabels), + i = t + .insert("g") + .attr("class", "label") + .attr("style", r.labelStyle || ""), + a = await fa(i, Pr(Zs(e), we()), { + useHtmlLabels: n, + width: r.width || ((d = (h = we()) == null ? void 0 : h.flowchart) == null ? void 0 : d.wrappingWidth), + style: r.labelStyle, + addSvgBackground: !!r.icon || !!r.img, + }) + let s = a.getBBox() + const o = r.padding / 2 + if (Nr((p = (f = we()) == null ? void 0 : f.flowchart) == null ? void 0 : p.htmlLabels)) { + const g = a.children[0], + m = rt(a) + ;(s = g.getBoundingClientRect()), m.attr("width", s.width), m.attr("height", s.height) + } + return ( + n + ? i.attr("transform", "translate(" + -s.width / 2 + ", " + -s.height / 2 + ")") + : i.attr("transform", "translate(0, " + -s.height / 2 + ")"), + r.centerLabel && i.attr("transform", "translate(" + -s.width / 2 + ", " + -s.height / 2 + ")"), + i.insert("rect", ":first-child"), + { shapeSvg: t, bbox: s, halfPadding: o, label: i } + ) + }, "insertLabel"), + Mt = x((t, e) => { + const r = e.node().getBBox() + ;(t.width = r.width), (t.height = r.height) + }, "updateNodeBounds"), + Wt = x( + (t, e) => (t.look === "handDrawn" ? "rough-node" : "node") + " " + t.cssClasses + " " + (e || ""), + "getNodeClasses", + ) +function pr(t) { + const e = t.map((r, n) => `${n === 0 ? "M" : "L"}${r.x},${r.y}`) + return e.push("Z"), e.join(" ") +} +x(pr, "createPathFromPoints") +function Ml(t, e, r, n, i, a) { + const s = [], + l = r - t, + u = n - e, + h = l / a, + d = (2 * Math.PI) / h, + f = e + u / 2 + for (let p = 0; p <= 50; p++) { + const g = p / 50, + m = t + g * l, + v = f + i * Math.sin(d * (m - t)) + s.push({ x: m, y: v }) + } + return s +} +x(Ml, "generateFullSineWavePoints") +function LE(t, e, r, n, i, a) { + const s = [], + o = (i * Math.PI) / 180, + h = ((a * Math.PI) / 180 - o) / (n - 1) + for (let d = 0; d < n; d++) { + const f = o + d * h, + p = t + r * Math.cos(f), + g = e + r * Math.sin(f) + s.push({ x: -p, y: -g }) + } + return s +} +x(LE, "generateCirclePoints") +var soe = x((t, e) => { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + o = t.height / 2, + l, + u + return ( + Math.abs(a) * s > Math.abs(i) * o + ? (a < 0 && (o = -o), (l = a === 0 ? 0 : (o * i) / a), (u = o)) + : (i < 0 && (s = -s), (l = s), (u = i === 0 ? 0 : (s * a) / i)), + { x: r + l, y: n + u } + ) + }, "intersectRect"), + of = soe +function gB(t, e) { + e && t.attr("style", e) +} +x(gB, "applyStyle") +async function mB(t) { + const e = rt(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject")), + r = e.append("xhtml:div") + let n = t.label + t.label && + Si(t.label) && + (n = await lg( + t.label.replace( + it.lineBreakRegex, + ` +`, + ), + we(), + )) + const i = t.isNode ? "nodeLabel" : "edgeLabel" + return ( + r.html('<span class="' + i + '" ' + (t.labelStyle ? 'style="' + t.labelStyle + '"' : "") + ">" + n + "</span>"), + gB(r, t.labelStyle), + r.style("display", "inline-block"), + r.style("padding-right", "1px"), + r.style("white-space", "nowrap"), + r.attr("xmlns", "http://www.w3.org/1999/xhtml"), + e.node() + ) +} +x(mB, "addHtmlLabel") +var ooe = x(async (t, e, r, n) => { + let i = t || "" + if ((typeof i == "object" && (i = i[0]), Nr(we().flowchart.htmlLabels))) { + ;(i = i.replace(/\\n|\n/g, "<br />")), ie.info("vertexText" + i) + const a = { + isNode: n, + label: Zs(i).replace(/fa[blrs]?:fa-[\w-]+/g, (o) => `<i class='${o.replace(":", " ")}'></i>`), + labelStyle: e && e.replace("fill:", "color:"), + } + return await mB(a) + } else { + const a = document.createElementNS("http://www.w3.org/2000/svg", "text") + a.setAttribute("style", e.replace("color:", "fill:")) + let s = [] + typeof i == "string" ? (s = i.split(/\\n|\n|<br\s*\/?>/gi)) : Array.isArray(i) ? (s = i) : (s = []) + for (const o of s) { + const l = document.createElementNS("http://www.w3.org/2000/svg", "tspan") + l.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), + l.setAttribute("dy", "1em"), + l.setAttribute("x", "0"), + r ? l.setAttribute("class", "title-row") : l.setAttribute("class", "row"), + (l.textContent = o.trim()), + a.appendChild(l) + } + return a + } + }, "createLabel"), + Ic = ooe, + rl = x( + (t, e, r, n, i) => + [ + "M", + t + i, + e, + "H", + t + r - i, + "A", + i, + i, + 0, + 0, + 1, + t + r, + e + i, + "V", + e + n - i, + "A", + i, + i, + 0, + 0, + 1, + t + r - i, + e + n, + "H", + t + i, + "A", + i, + i, + 0, + 0, + 1, + t, + e + n - i, + "V", + e + i, + "A", + i, + i, + 0, + 0, + 1, + t + i, + e, + "Z", + ].join(" "), + "createRoundedRectPathD", + ), + loe = x((t) => { + const { handDrawnSeed: e } = we() + return { fill: t, hachureAngle: 120, hachureGap: 4, fillWeight: 2, roughness: 0.7, stroke: t, seed: e } + }, "solidStateFill"), + lf = x((t) => { + const e = coe([...(t.cssCompiledStyles || []), ...(t.cssStyles || [])]) + return { stylesMap: e, stylesArray: [...e] } + }, "compileStyles"), + coe = x((t) => { + const e = new Map() + return ( + t.forEach((r) => { + const [n, i] = r.split(":") + e.set(n.trim(), i == null ? void 0 : i.trim()) + }), + e + ) + }, "styles2Map"), + vB = x( + (t) => + t === "color" || + t === "font-size" || + t === "font-family" || + t === "font-weight" || + t === "font-style" || + t === "text-decoration" || + t === "text-align" || + t === "text-transform" || + t === "line-height" || + t === "letter-spacing" || + t === "word-spacing" || + t === "text-shadow" || + t === "text-overflow" || + t === "white-space" || + t === "word-wrap" || + t === "word-break" || + t === "overflow-wrap" || + t === "hyphens", + "isLabelStyle", + ), + Ot = x((t) => { + const { stylesArray: e } = lf(t), + r = [], + n = [], + i = [], + a = [] + return ( + e.forEach((s) => { + const o = s[0] + vB(o) + ? r.push(s.join(":") + " !important") + : (n.push(s.join(":") + " !important"), + o.includes("stroke") && i.push(s.join(":") + " !important"), + o === "fill" && a.push(s.join(":") + " !important")) + }), + { labelStyles: r.join(";"), nodeStyles: n.join(";"), stylesArray: e, borderStyles: i, backgroundStyles: a } + ) + }, "styles2String"), + Dt = x((t, e) => { + var l + const { themeVariables: r, handDrawnSeed: n } = we(), + { nodeBorder: i, mainBkg: a } = r, + { stylesMap: s } = lf(t) + return Object.assign( + { + roughness: 0.7, + fill: s.get("fill") || a, + fillStyle: "hachure", + fillWeight: 4, + hachureGap: 5.2, + stroke: s.get("stroke") || i, + seed: n, + strokeWidth: ((l = s.get("stroke-width")) == null ? void 0 : l.replace("px", "")) || 1.3, + fillLineDash: [0, 0], + }, + e, + ) + }, "userNodeOverrides"), + yB = x(async (t, e) => { + ie.info("Creating subgraph rect for ", e.id, e) + const r = we(), + { themeVariables: n, handDrawnSeed: i } = r, + { clusterBkg: a, clusterBorder: s } = n, + { labelStyles: o, nodeStyles: l, borderStyles: u, backgroundStyles: h } = Ot(e), + d = t + .insert("g") + .attr("class", "cluster " + e.cssClasses) + .attr("id", e.id) + .attr("data-look", e.look), + f = Nr(r.flowchart.htmlLabels), + p = d.insert("g").attr("class", "cluster-label "), + g = await fa(p, e.label, { style: e.labelStyle, useHtmlLabels: f, isNode: !0 }) + let m = g.getBBox() + if (Nr(r.flowchart.htmlLabels)) { + const k = g.children[0], + L = rt(g) + ;(m = k.getBoundingClientRect()), L.attr("width", m.width), L.attr("height", m.height) + } + const v = e.width <= m.width + e.padding ? m.width + e.padding : e.width + e.width <= m.width + e.padding ? (e.diff = (v - e.width) / 2 - e.padding) : (e.diff = -e.padding) + const y = e.height, + b = e.x - v / 2, + w = e.y - y / 2 + ie.trace("Data ", e, JSON.stringify(e)) + let T + if (e.look === "handDrawn") { + const k = Rt.svg(d), + L = Dt(e, { roughness: 0.7, fill: a, stroke: s, fillWeight: 3, seed: i }), + A = k.path(rl(b, w, v, y, 0), L) + ;(T = d.insert(() => (ie.debug("Rough node insert CXC", A), A), ":first-child")), + T.select("path:nth-child(2)").attr("style", u.join(";")), + T.select("path").attr("style", h.join(";").replace("fill", "stroke")) + } else + (T = d.insert("rect", ":first-child")), + T.attr("style", l) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("x", b) + .attr("y", w) + .attr("width", v) + .attr("height", y) + const { subGraphTitleTopMargin: E } = ug(r) + if ((p.attr("transform", `translate(${e.x - m.width / 2}, ${e.y - e.height / 2 + E})`), o)) { + const k = p.select("span") + k && k.attr("style", o) + } + const S = T.node().getBBox() + return ( + (e.offsetX = 0), + (e.width = S.width), + (e.height = S.height), + (e.offsetY = m.height - e.padding / 2), + (e.intersect = function (k) { + return of(e, k) + }), + { cluster: d, labelBBox: m } + ) + }, "rect"), + uoe = x((t, e) => { + const r = t.insert("g").attr("class", "note-cluster").attr("id", e.id), + n = r.insert("rect", ":first-child"), + i = 0 * e.padding, + a = i / 2 + n.attr("rx", e.rx) + .attr("ry", e.ry) + .attr("x", e.x - e.width / 2 - a) + .attr("y", e.y - e.height / 2 - a) + .attr("width", e.width + i) + .attr("height", e.height + i) + .attr("fill", "none") + const s = n.node().getBBox() + return ( + (e.width = s.width), + (e.height = s.height), + (e.intersect = function (o) { + return of(e, o) + }), + { cluster: r, labelBBox: { width: 0, height: 0 } } + ) + }, "noteGroup"), + hoe = x(async (t, e) => { + const r = we(), + { themeVariables: n, handDrawnSeed: i } = r, + { altBackground: a, compositeBackground: s, compositeTitleBackground: o, nodeBorder: l } = n, + u = t + .insert("g") + .attr("class", e.cssClasses) + .attr("id", e.id) + .attr("data-id", e.id) + .attr("data-look", e.look), + h = u.insert("g", ":first-child"), + d = u.insert("g").attr("class", "cluster-label") + let f = u.append("rect") + const p = d.node().appendChild(await Ic(e.label, e.labelStyle, void 0, !0)) + let g = p.getBBox() + if (Nr(r.flowchart.htmlLabels)) { + const A = p.children[0], + R = rt(p) + ;(g = A.getBoundingClientRect()), R.attr("width", g.width), R.attr("height", g.height) + } + const m = 0 * e.padding, + v = m / 2, + y = (e.width <= g.width + e.padding ? g.width + e.padding : e.width) + m + e.width <= g.width + e.padding ? (e.diff = (y - e.width) / 2 - e.padding) : (e.diff = -e.padding) + const b = e.height + m, + w = e.height + m - g.height - 6, + T = e.x - y / 2, + E = e.y - b / 2 + e.width = y + const S = e.y - e.height / 2 - v + g.height + 2 + let k + if (e.look === "handDrawn") { + const A = e.cssClasses.includes("statediagram-cluster-alt"), + R = Rt.svg(u), + C = + e.rx || e.ry + ? R.path(rl(T, E, y, b, 10), { + roughness: 0.7, + fill: o, + fillStyle: "solid", + stroke: l, + seed: i, + }) + : R.rectangle(T, E, y, b, { seed: i }) + k = u.insert(() => C, ":first-child") + const I = R.rectangle(T, S, y, w, { + fill: A ? a : s, + fillStyle: A ? "hachure" : "solid", + stroke: l, + seed: i, + }) + ;(k = u.insert(() => C, ":first-child")), (f = u.insert(() => I)) + } else + (k = h.insert("rect", ":first-child")), + k + .attr("class", "outer") + .attr("x", T) + .attr("y", E) + .attr("width", y) + .attr("height", b) + .attr("data-look", e.look), + f.attr("class", "inner").attr("x", T).attr("y", S).attr("width", y).attr("height", w) + d.attr("transform", `translate(${e.x - g.width / 2}, ${E + 1 - (Nr(r.flowchart.htmlLabels) ? 0 : 3)})`) + const L = k.node().getBBox() + return ( + (e.height = L.height), + (e.offsetX = 0), + (e.offsetY = g.height - e.padding / 2), + (e.labelBBox = g), + (e.intersect = function (A) { + return of(e, A) + }), + { cluster: u, labelBBox: g } + ) + }, "roundedWithTitle"), + doe = x(async (t, e) => { + ie.info("Creating subgraph rect for ", e.id, e) + const r = we(), + { themeVariables: n, handDrawnSeed: i } = r, + { clusterBkg: a, clusterBorder: s } = n, + { labelStyles: o, nodeStyles: l, borderStyles: u, backgroundStyles: h } = Ot(e), + d = t + .insert("g") + .attr("class", "cluster " + e.cssClasses) + .attr("id", e.id) + .attr("data-look", e.look), + f = Nr(r.flowchart.htmlLabels), + p = d.insert("g").attr("class", "cluster-label "), + g = await fa(p, e.label, { style: e.labelStyle, useHtmlLabels: f, isNode: !0, width: e.width }) + let m = g.getBBox() + if (Nr(r.flowchart.htmlLabels)) { + const k = g.children[0], + L = rt(g) + ;(m = k.getBoundingClientRect()), L.attr("width", m.width), L.attr("height", m.height) + } + const v = e.width <= m.width + e.padding ? m.width + e.padding : e.width + e.width <= m.width + e.padding ? (e.diff = (v - e.width) / 2 - e.padding) : (e.diff = -e.padding) + const y = e.height, + b = e.x - v / 2, + w = e.y - y / 2 + ie.trace("Data ", e, JSON.stringify(e)) + let T + if (e.look === "handDrawn") { + const k = Rt.svg(d), + L = Dt(e, { roughness: 0.7, fill: a, stroke: s, fillWeight: 4, seed: i }), + A = k.path(rl(b, w, v, y, e.rx), L) + ;(T = d.insert(() => (ie.debug("Rough node insert CXC", A), A), ":first-child")), + T.select("path:nth-child(2)").attr("style", u.join(";")), + T.select("path").attr("style", h.join(";").replace("fill", "stroke")) + } else + (T = d.insert("rect", ":first-child")), + T.attr("style", l) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("x", b) + .attr("y", w) + .attr("width", v) + .attr("height", y) + const { subGraphTitleTopMargin: E } = ug(r) + if ((p.attr("transform", `translate(${e.x - m.width / 2}, ${e.y - e.height / 2 + E})`), o)) { + const k = p.select("span") + k && k.attr("style", o) + } + const S = T.node().getBBox() + return ( + (e.offsetX = 0), + (e.width = S.width), + (e.height = S.height), + (e.offsetY = m.height - e.padding / 2), + (e.intersect = function (k) { + return of(e, k) + }), + { cluster: d, labelBBox: m } + ) + }, "kanbanSection"), + foe = x((t, e) => { + const r = we(), + { themeVariables: n, handDrawnSeed: i } = r, + { nodeBorder: a } = n, + s = t.insert("g").attr("class", e.cssClasses).attr("id", e.id).attr("data-look", e.look), + o = s.insert("g", ":first-child"), + l = 0 * e.padding, + u = e.width + l + e.diff = -e.padding + const h = e.height + l, + d = e.x - u / 2, + f = e.y - h / 2 + e.width = u + let p + if (e.look === "handDrawn") { + const v = Rt.svg(s).rectangle(d, f, u, h, { + fill: "lightgrey", + roughness: 0.5, + strokeLineDash: [5], + stroke: a, + seed: i, + }) + p = s.insert(() => v, ":first-child") + } else + (p = o.insert("rect", ":first-child")), + p + .attr("class", "divider") + .attr("x", d) + .attr("y", f) + .attr("width", u) + .attr("height", h) + .attr("data-look", e.look) + const g = p.node().getBBox() + return ( + (e.height = g.height), + (e.offsetX = 0), + (e.offsetY = 0), + (e.intersect = function (m) { + return of(e, m) + }), + { cluster: s, labelBBox: {} } + ) + }, "divider"), + poe = yB, + goe = { rect: yB, squareRect: poe, roundedWithTitle: hoe, noteGroup: uoe, divider: foe, kanbanSection: doe }, + xB = new Map(), + RE = x(async (t, e) => { + const r = e.shape || "rect", + n = await goe[r](t, e) + return xB.set(e.id, n), n + }, "insertCluster"), + moe = x(() => { + xB = new Map() + }, "clear") +function bB(t, e) { + return t.intersect(e) +} +x(bB, "intersectNode") +var voe = bB +function wB(t, e, r, n) { + var i = t.x, + a = t.y, + s = i - n.x, + o = a - n.y, + l = Math.sqrt(e * e * o * o + r * r * s * s), + u = Math.abs((e * r * s) / l) + n.x < i && (u = -u) + var h = Math.abs((e * r * o) / l) + return n.y < a && (h = -h), { x: i + u, y: a + h } +} +x(wB, "intersectEllipse") +var TB = wB +function EB(t, e, r) { + return TB(t, e, e, r) +} +x(EB, "intersectCircle") +var yoe = EB +function kB(t, e, r, n) { + var i, a, s, o, l, u, h, d, f, p, g, m, v, y, b + if ( + ((i = e.y - t.y), + (s = t.x - e.x), + (l = e.x * t.y - t.x * e.y), + (f = i * r.x + s * r.y + l), + (p = i * n.x + s * n.y + l), + !(f !== 0 && p !== 0 && sw(f, p)) && + ((a = n.y - r.y), + (o = r.x - n.x), + (u = n.x * r.y - r.x * n.y), + (h = a * t.x + o * t.y + u), + (d = a * e.x + o * e.y + u), + !(h !== 0 && d !== 0 && sw(h, d)) && ((g = i * o - a * s), g !== 0))) + ) + return ( + (m = Math.abs(g / 2)), + (v = s * u - o * l), + (y = v < 0 ? (v - m) / g : (v + m) / g), + (v = a * l - i * u), + (b = v < 0 ? (v - m) / g : (v + m) / g), + { x: y, y: b } + ) +} +x(kB, "intersectLine") +function sw(t, e) { + return t * e > 0 +} +x(sw, "sameSign") +var xoe = kB +function SB(t, e, r) { + let n = t.x, + i = t.y, + a = [], + s = Number.POSITIVE_INFINITY, + o = Number.POSITIVE_INFINITY + typeof e.forEach == "function" + ? e.forEach(function (h) { + ;(s = Math.min(s, h.x)), (o = Math.min(o, h.y)) + }) + : ((s = Math.min(s, e.x)), (o = Math.min(o, e.y))) + let l = n - t.width / 2 - s, + u = i - t.height / 2 - o + for (let h = 0; h < e.length; h++) { + let d = e[h], + f = e[h < e.length - 1 ? h + 1 : 0], + p = xoe(t, r, { x: l + d.x, y: u + d.y }, { x: l + f.x, y: u + f.y }) + p && a.push(p) + } + return a.length + ? (a.length > 1 && + a.sort(function (h, d) { + let f = h.x - r.x, + p = h.y - r.y, + g = Math.sqrt(f * f + p * p), + m = d.x - r.x, + v = d.y - r.y, + y = Math.sqrt(m * m + v * v) + return g < y ? -1 : g === y ? 0 : 1 + }), + a[0]) + : t +} +x(SB, "intersectPolygon") +var boe = SB, + _t = { node: voe, circle: yoe, ellipse: TB, polygon: boe, rect: of } +function CB(t, e) { + const { labelStyles: r } = Ot(e) + e.labelStyle = r + const n = Wt(e) + let i = n + n || (i = "anchor") + const a = t + .insert("g") + .attr("class", i) + .attr("id", e.domId || e.id), + s = 1, + { cssStyles: o } = e, + l = Rt.svg(a), + u = Dt(e, { fill: "black", stroke: "none", fillStyle: "solid" }) + e.look !== "handDrawn" && (u.roughness = 0) + const h = l.circle(0, 0, s * 2, u), + d = a.insert(() => h, ":first-child") + return ( + d.attr("class", "anchor").attr("style", zi(o)), + Mt(e, d), + (e.intersect = function (f) { + return ie.info("Circle intersect", e, s, f), _t.circle(e, s, f) + }), + a + ) +} +x(CB, "anchor") +function ow(t, e, r, n, i, a, s) { + const l = (t + r) / 2, + u = (e + n) / 2, + h = Math.atan2(n - e, r - t), + d = (r - t) / 2, + f = (n - e) / 2, + p = d / i, + g = f / a, + m = Math.sqrt(p ** 2 + g ** 2) + if (m > 1) throw new Error("The given radii are too small to create an arc between the points.") + const v = Math.sqrt(1 - m ** 2), + y = l + v * a * Math.sin(h) * (s ? -1 : 1), + b = u - v * i * Math.cos(h) * (s ? -1 : 1), + w = Math.atan2((e - b) / a, (t - y) / i) + let E = Math.atan2((n - b) / a, (r - y) / i) - w + s && E < 0 && (E += 2 * Math.PI), !s && E > 0 && (E -= 2 * Math.PI) + const S = [] + for (let k = 0; k < 20; k++) { + const L = k / 19, + A = w + L * E, + R = y + i * Math.cos(A), + C = b + a * Math.sin(A) + S.push({ x: R, y: C }) + } + return S +} +x(ow, "generateArcPoints") +async function AB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = a.width + e.padding + 20, + o = a.height + e.padding, + l = o / 2, + u = l / (2.5 + o / 50), + { cssStyles: h } = e, + d = [ + { x: s / 2, y: -o / 2 }, + { x: -s / 2, y: -o / 2 }, + ...ow(-s / 2, -o / 2, -s / 2, o / 2, u, l, !1), + { x: s / 2, y: o / 2 }, + ...ow(s / 2, o / 2, s / 2, -o / 2, u, l, !0), + ], + f = Rt.svg(i), + p = Dt(e, {}) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = pr(d), + m = f.path(g, p), + v = i.insert(() => m, ":first-child") + return ( + v.attr("class", "basic label-container"), + h && e.look !== "handDrawn" && v.selectAll("path").attr("style", h), + n && e.look !== "handDrawn" && v.selectAll("path").attr("style", n), + v.attr("transform", `translate(${u / 2}, 0)`), + Mt(e, v), + (e.intersect = function (y) { + return _t.polygon(e, d, y) + }), + i + ) +} +x(AB, "bowTieRect") +function nl(t, e, r, n) { + return t + .insert("polygon", ":first-child") + .attr( + "points", + n + .map(function (i) { + return i.x + "," + i.y + }) + .join(" "), + ) + .attr("class", "label-container") + .attr("transform", "translate(" + -e / 2 + "," + r / 2 + ")") +} +x(nl, "insertPolygonShape") +async function _B(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = a.height + e.padding, + o = 12, + l = a.width + e.padding + o, + u = 0, + h = l, + d = -s, + f = 0, + p = [ + { x: u + o, y: d }, + { x: h, y: d }, + { x: h, y: f }, + { x: u, y: f }, + { x: u, y: d + o }, + { x: u + o, y: d }, + ] + let g + const { cssStyles: m } = e + if (e.look === "handDrawn") { + const v = Rt.svg(i), + y = Dt(e, {}), + b = pr(p), + w = v.path(b, y) + ;(g = i.insert(() => w, ":first-child").attr("transform", `translate(${-l / 2}, ${s / 2})`)), + m && g.attr("style", m) + } else g = nl(i, l, s, p) + return ( + n && g.attr("style", n), + Mt(e, g), + (e.intersect = function (v) { + return _t.polygon(e, p, v) + }), + i + ) +} +x(_B, "card") +function LB(t, e) { + const { nodeStyles: r } = Ot(e) + e.label = "" + const n = t + .insert("g") + .attr("class", Wt(e)) + .attr("id", e.domId ?? e.id), + { cssStyles: i } = e, + a = Math.max(28, e.width ?? 0), + s = [ + { x: 0, y: a / 2 }, + { x: a / 2, y: 0 }, + { x: 0, y: -a / 2 }, + { x: -a / 2, y: 0 }, + ], + o = Rt.svg(n), + l = Dt(e, {}) + e.look !== "handDrawn" && ((l.roughness = 0), (l.fillStyle = "solid")) + const u = pr(s), + h = o.path(u, l), + d = n.insert(() => h, ":first-child") + return ( + i && e.look !== "handDrawn" && d.selectAll("path").attr("style", i), + r && e.look !== "handDrawn" && d.selectAll("path").attr("style", r), + (e.width = 28), + (e.height = 28), + (e.intersect = function (f) { + return _t.polygon(e, s, f) + }), + n + ) +} +x(LB, "choice") +async function RB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, halfPadding: s } = await Kt(t, e, Wt(e)), + o = a.width / 2 + s + let l + const { cssStyles: u } = e + if (e.look === "handDrawn") { + const h = Rt.svg(i), + d = Dt(e, {}), + f = h.circle(0, 0, o * 2, d) + ;(l = i.insert(() => f, ":first-child")), l.attr("class", "basic label-container").attr("style", zi(u)) + } else + l = i + .insert("circle", ":first-child") + .attr("class", "basic label-container") + .attr("style", n) + .attr("r", o) + .attr("cx", 0) + .attr("cy", 0) + return ( + Mt(e, l), + (e.intersect = function (h) { + return ie.info("Circle intersect", e, o, h), _t.circle(e, o, h) + }), + i + ) +} +x(RB, "circle") +function NB(t) { + const e = Math.cos(Math.PI / 4), + r = Math.sin(Math.PI / 4), + n = t * 2, + i = { x: (n / 2) * e, y: (n / 2) * r }, + a = { x: -(n / 2) * e, y: (n / 2) * r }, + s = { x: -(n / 2) * e, y: -(n / 2) * r }, + o = { x: (n / 2) * e, y: -(n / 2) * r } + return `M ${a.x},${a.y} L ${o.x},${o.y} + M ${i.x},${i.y} L ${s.x},${s.y}` +} +x(NB, "createLine") +function DB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + ;(e.labelStyle = r), (e.label = "") + const i = t + .insert("g") + .attr("class", Wt(e)) + .attr("id", e.domId ?? e.id), + a = Math.max(30, (e == null ? void 0 : e.width) ?? 0), + { cssStyles: s } = e, + o = Rt.svg(i), + l = Dt(e, {}) + e.look !== "handDrawn" && ((l.roughness = 0), (l.fillStyle = "solid")) + const u = o.circle(0, 0, a * 2, l), + h = NB(a), + d = o.path(h, l), + f = i.insert(() => u, ":first-child") + return ( + f.insert(() => d), + s && e.look !== "handDrawn" && f.selectAll("path").attr("style", s), + n && e.look !== "handDrawn" && f.selectAll("path").attr("style", n), + Mt(e, f), + (e.intersect = function (p) { + return ie.info("crossedCircle intersect", e, { radius: a, point: p }), _t.circle(e, a, p) + }), + i + ) +} +x(DB, "crossedCircle") +function bo(t, e, r, n = 100, i = 0, a = 180) { + const s = [], + o = (i * Math.PI) / 180, + h = ((a * Math.PI) / 180 - o) / (n - 1) + for (let d = 0; d < n; d++) { + const f = o + d * h, + p = t + r * Math.cos(f), + g = e + r * Math.sin(f) + s.push({ x: -p, y: -g }) + } + return s +} +x(bo, "generateCirclePoints") +async function IB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = a.width + (e.padding ?? 0), + l = a.height + (e.padding ?? 0), + u = Math.max(5, l * 0.1), + { cssStyles: h } = e, + d = [ + ...bo(o / 2, -l / 2, u, 30, -90, 0), + { x: -o / 2 - u, y: u }, + ...bo(o / 2 + u * 2, -u, u, 20, -180, -270), + ...bo(o / 2 + u * 2, u, u, 20, -90, -180), + { x: -o / 2 - u, y: -l / 2 }, + ...bo(o / 2, l / 2, u, 20, 0, 90), + ], + f = [ + { x: o / 2, y: -l / 2 - u }, + { x: -o / 2, y: -l / 2 - u }, + ...bo(o / 2, -l / 2, u, 20, -90, 0), + { x: -o / 2 - u, y: -u }, + ...bo(o / 2 + o * 0.1, -u, u, 20, -180, -270), + ...bo(o / 2 + o * 0.1, u, u, 20, -90, -180), + { x: -o / 2 - u, y: l / 2 }, + ...bo(o / 2, l / 2, u, 20, 0, 90), + { x: -o / 2, y: l / 2 + u }, + { x: o / 2, y: l / 2 + u }, + ], + p = Rt.svg(i), + g = Dt(e, { fill: "none" }) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const v = pr(d).replace("Z", ""), + y = p.path(v, g), + b = pr(f), + w = p.path(b, { ...g }), + T = i.insert("g", ":first-child") + return ( + T.insert(() => w, ":first-child").attr("stroke-opacity", 0), + T.insert(() => y, ":first-child"), + T.attr("class", "text"), + h && e.look !== "handDrawn" && T.selectAll("path").attr("style", h), + n && e.look !== "handDrawn" && T.selectAll("path").attr("style", n), + T.attr("transform", `translate(${u}, 0)`), + s.attr( + "transform", + `translate(${-o / 2 + u - (a.x - (a.left ?? 0))},${-l / 2 + (e.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, T), + (e.intersect = function (E) { + return _t.polygon(e, f, E) + }), + i + ) +} +x(IB, "curlyBraceLeft") +function wo(t, e, r, n = 100, i = 0, a = 180) { + const s = [], + o = (i * Math.PI) / 180, + h = ((a * Math.PI) / 180 - o) / (n - 1) + for (let d = 0; d < n; d++) { + const f = o + d * h, + p = t + r * Math.cos(f), + g = e + r * Math.sin(f) + s.push({ x: p, y: g }) + } + return s +} +x(wo, "generateCirclePoints") +async function MB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = a.width + (e.padding ?? 0), + l = a.height + (e.padding ?? 0), + u = Math.max(5, l * 0.1), + { cssStyles: h } = e, + d = [ + ...wo(o / 2, -l / 2, u, 20, -90, 0), + { x: o / 2 + u, y: -u }, + ...wo(o / 2 + u * 2, -u, u, 20, -180, -270), + ...wo(o / 2 + u * 2, u, u, 20, -90, -180), + { x: o / 2 + u, y: l / 2 }, + ...wo(o / 2, l / 2, u, 20, 0, 90), + ], + f = [ + { x: -o / 2, y: -l / 2 - u }, + { x: o / 2, y: -l / 2 - u }, + ...wo(o / 2, -l / 2, u, 20, -90, 0), + { x: o / 2 + u, y: -u }, + ...wo(o / 2 + u * 2, -u, u, 20, -180, -270), + ...wo(o / 2 + u * 2, u, u, 20, -90, -180), + { x: o / 2 + u, y: l / 2 }, + ...wo(o / 2, l / 2, u, 20, 0, 90), + { x: o / 2, y: l / 2 + u }, + { x: -o / 2, y: l / 2 + u }, + ], + p = Rt.svg(i), + g = Dt(e, { fill: "none" }) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const v = pr(d).replace("Z", ""), + y = p.path(v, g), + b = pr(f), + w = p.path(b, { ...g }), + T = i.insert("g", ":first-child") + return ( + T.insert(() => w, ":first-child").attr("stroke-opacity", 0), + T.insert(() => y, ":first-child"), + T.attr("class", "text"), + h && e.look !== "handDrawn" && T.selectAll("path").attr("style", h), + n && e.look !== "handDrawn" && T.selectAll("path").attr("style", n), + T.attr("transform", `translate(${-u}, 0)`), + s.attr( + "transform", + `translate(${-o / 2 + (e.padding ?? 0) / 2 - (a.x - (a.left ?? 0))},${-l / 2 + (e.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, T), + (e.intersect = function (E) { + return _t.polygon(e, f, E) + }), + i + ) +} +x(MB, "curlyBraceRight") +function ii(t, e, r, n = 100, i = 0, a = 180) { + const s = [], + o = (i * Math.PI) / 180, + h = ((a * Math.PI) / 180 - o) / (n - 1) + for (let d = 0; d < n; d++) { + const f = o + d * h, + p = t + r * Math.cos(f), + g = e + r * Math.sin(f) + s.push({ x: -p, y: -g }) + } + return s +} +x(ii, "generateCirclePoints") +async function OB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = a.width + (e.padding ?? 0), + l = a.height + (e.padding ?? 0), + u = Math.max(5, l * 0.1), + { cssStyles: h } = e, + d = [ + ...ii(o / 2, -l / 2, u, 30, -90, 0), + { x: -o / 2 - u, y: u }, + ...ii(o / 2 + u * 2, -u, u, 20, -180, -270), + ...ii(o / 2 + u * 2, u, u, 20, -90, -180), + { x: -o / 2 - u, y: -l / 2 }, + ...ii(o / 2, l / 2, u, 20, 0, 90), + ], + f = [ + ...ii(-o / 2 + u + u / 2, -l / 2, u, 20, -90, -180), + { x: o / 2 - u / 2, y: u }, + ...ii(-o / 2 - u / 2, -u, u, 20, 0, 90), + ...ii(-o / 2 - u / 2, u, u, 20, -90, 0), + { x: o / 2 - u / 2, y: -u }, + ...ii(-o / 2 + u + u / 2, l / 2, u, 30, -180, -270), + ], + p = [ + { x: o / 2, y: -l / 2 - u }, + { x: -o / 2, y: -l / 2 - u }, + ...ii(o / 2, -l / 2, u, 20, -90, 0), + { x: -o / 2 - u, y: -u }, + ...ii(o / 2 + u * 2, -u, u, 20, -180, -270), + ...ii(o / 2 + u * 2, u, u, 20, -90, -180), + { x: -o / 2 - u, y: l / 2 }, + ...ii(o / 2, l / 2, u, 20, 0, 90), + { x: -o / 2, y: l / 2 + u }, + { x: o / 2 - u - u / 2, y: l / 2 + u }, + ...ii(-o / 2 + u + u / 2, -l / 2, u, 20, -90, -180), + { x: o / 2 - u / 2, y: u }, + ...ii(-o / 2 - u / 2, -u, u, 20, 0, 90), + ...ii(-o / 2 - u / 2, u, u, 20, -90, 0), + { x: o / 2 - u / 2, y: -u }, + ...ii(-o / 2 + u + u / 2, l / 2, u, 30, -180, -270), + ], + g = Rt.svg(i), + m = Dt(e, { fill: "none" }) + e.look !== "handDrawn" && ((m.roughness = 0), (m.fillStyle = "solid")) + const y = pr(d).replace("Z", ""), + b = g.path(y, m), + T = pr(f).replace("Z", ""), + E = g.path(T, m), + S = pr(p), + k = g.path(S, { ...m }), + L = i.insert("g", ":first-child") + return ( + L.insert(() => k, ":first-child").attr("stroke-opacity", 0), + L.insert(() => b, ":first-child"), + L.insert(() => E, ":first-child"), + L.attr("class", "text"), + h && e.look !== "handDrawn" && L.selectAll("path").attr("style", h), + n && e.look !== "handDrawn" && L.selectAll("path").attr("style", n), + L.attr("transform", `translate(${u - u / 4}, 0)`), + s.attr( + "transform", + `translate(${-o / 2 + (e.padding ?? 0) / 2 - (a.x - (a.left ?? 0))},${-l / 2 + (e.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, L), + (e.intersect = function (A) { + return _t.polygon(e, p, A) + }), + i + ) +} +x(OB, "curlyBraces") +async function PB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = 80, + o = 20, + l = Math.max(s, (a.width + (e.padding ?? 0) * 2) * 1.25, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(o, a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + h = u / 2, + { cssStyles: d } = e, + f = Rt.svg(i), + p = Dt(e, {}) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = l, + m = u, + v = g - h, + y = m / 4, + b = [ + { x: v, y: 0 }, + { x: y, y: 0 }, + { x: 0, y: m / 2 }, + { x: y, y: m }, + { x: v, y: m }, + ...LE(-v, -m / 2, h, 50, 270, 90), + ], + w = pr(b), + T = f.path(w, p), + E = i.insert(() => T, ":first-child") + return ( + E.attr("class", "basic label-container"), + d && e.look !== "handDrawn" && E.selectChildren("path").attr("style", d), + n && e.look !== "handDrawn" && E.selectChildren("path").attr("style", n), + E.attr("transform", `translate(${-l / 2}, ${-u / 2})`), + Mt(e, E), + (e.intersect = function (S) { + return _t.polygon(e, b, S) + }), + i + ) +} +x(PB, "curvedTrapezoid") +var woe = x( + (t, e, r, n, i, a) => + [ + `M${t},${e + a}`, + `a${i},${a} 0,0,0 ${r},0`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}`, + ].join(" "), + "createCylinderPathD", + ), + Toe = x( + (t, e, r, n, i, a) => + [ + `M${t},${e + a}`, + `M${t + r},${e + a}`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}`, + ].join(" "), + "createOuterCylinderPathD", + ), + Eoe = x( + (t, e, r, n, i, a) => [`M${t - r / 2},${-n / 2}`, `a${i},${a} 0,0,0 ${r},0`].join(" "), + "createInnerCylinderPathD", + ) +async function BB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + e.padding, e.width ?? 0), + l = o / 2, + u = l / (2.5 + o / 50), + h = Math.max(a.height + u + e.padding, e.height ?? 0) + let d + const { cssStyles: f } = e + if (e.look === "handDrawn") { + const p = Rt.svg(i), + g = Toe(0, 0, o, h, l, u), + m = Eoe(0, u, o, h, l, u), + v = p.path(g, Dt(e, {})), + y = p.path(m, Dt(e, { fill: "none" })) + ;(d = i.insert(() => y, ":first-child")), + (d = i.insert(() => v, ":first-child")), + d.attr("class", "basic label-container"), + f && d.attr("style", f) + } else { + const p = woe(0, 0, o, h, l, u) + d = i + .insert("path", ":first-child") + .attr("d", p) + .attr("class", "basic label-container") + .attr("style", zi(f)) + .attr("style", n) + } + return ( + d.attr("label-offset-y", u), + d.attr("transform", `translate(${-o / 2}, ${-(h / 2 + u)})`), + Mt(e, d), + s.attr( + "transform", + `translate(${-(a.width / 2) - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + (e.padding ?? 0) / 1.5 - (a.y - (a.top ?? 0))})`, + ), + (e.intersect = function (p) { + const g = _t.rect(e, p), + m = g.x - (e.x ?? 0) + if ( + l != 0 && + (Math.abs(m) < (e.width ?? 0) / 2 || + (Math.abs(m) == (e.width ?? 0) / 2 && Math.abs(g.y - (e.y ?? 0)) > (e.height ?? 0) / 2 - u)) + ) { + let v = u * u * (1 - (m * m) / (l * l)) + v > 0 && (v = Math.sqrt(v)), (v = u - v), p.y - (e.y ?? 0) > 0 && (v = -v), (g.y += v) + } + return g + }), + i + ) +} +x(BB, "cylinder") +async function FB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = a.width + e.padding, + l = a.height + e.padding, + u = l * 0.2, + h = -o / 2, + d = -l / 2 - u / 2, + { cssStyles: f } = e, + p = Rt.svg(i), + g = Dt(e, {}) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const m = [ + { x: h, y: d + u }, + { x: -h, y: d + u }, + { x: -h, y: -d }, + { x: h, y: -d }, + { x: h, y: d }, + { x: -h, y: d }, + { x: -h, y: d + u }, + ], + v = p.polygon( + m.map((b) => [b.x, b.y]), + g, + ), + y = i.insert(() => v, ":first-child") + return ( + y.attr("class", "basic label-container"), + f && e.look !== "handDrawn" && y.selectAll("path").attr("style", f), + n && e.look !== "handDrawn" && y.selectAll("path").attr("style", n), + s.attr( + "transform", + `translate(${h + (e.padding ?? 0) / 2 - (a.x - (a.left ?? 0))}, ${d + u + (e.padding ?? 0) / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, y), + (e.intersect = function (b) { + return _t.rect(e, b) + }), + i + ) +} +x(FB, "dividedRectangle") +async function $B(t, e) { + var f, p + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, halfPadding: s } = await Kt(t, e, Wt(e)), + l = a.width / 2 + s + 5, + u = a.width / 2 + s + let h + const { cssStyles: d } = e + if (e.look === "handDrawn") { + const g = Rt.svg(i), + m = Dt(e, { roughness: 0.2, strokeWidth: 2.5 }), + v = Dt(e, { roughness: 0.2, strokeWidth: 1.5 }), + y = g.circle(0, 0, l * 2, m), + b = g.circle(0, 0, u * 2, v) + ;(h = i.insert("g", ":first-child")), + h.attr("class", zi(e.cssClasses)).attr("style", zi(d)), + (f = h.node()) == null || f.appendChild(y), + (p = h.node()) == null || p.appendChild(b) + } else { + h = i.insert("g", ":first-child") + const g = h.insert("circle", ":first-child"), + m = h.insert("circle") + h.attr("class", "basic label-container").attr("style", n), + g.attr("class", "outer-circle").attr("style", n).attr("r", l).attr("cx", 0).attr("cy", 0), + m.attr("class", "inner-circle").attr("style", n).attr("r", u).attr("cx", 0).attr("cy", 0) + } + return ( + Mt(e, h), + (e.intersect = function (g) { + return ie.info("DoubleCircle intersect", e, l, g), _t.circle(e, l, g) + }), + i + ) +} +x($B, "doublecircle") +function zB(t, e, { config: { themeVariables: r } }) { + const { labelStyles: n, nodeStyles: i } = Ot(e) + ;(e.label = ""), (e.labelStyle = n) + const a = t + .insert("g") + .attr("class", Wt(e)) + .attr("id", e.domId ?? e.id), + s = 7, + { cssStyles: o } = e, + l = Rt.svg(a), + { nodeBorder: u } = r, + h = Dt(e, { fillStyle: "solid" }) + e.look !== "handDrawn" && (h.roughness = 0) + const d = l.circle(0, 0, s * 2, h), + f = a.insert(() => d, ":first-child") + return ( + f.selectAll("path").attr("style", `fill: ${u} !important;`), + o && o.length > 0 && e.look !== "handDrawn" && f.selectAll("path").attr("style", o), + i && e.look !== "handDrawn" && f.selectAll("path").attr("style", i), + Mt(e, f), + (e.intersect = function (p) { + return ie.info("filledCircle intersect", e, { radius: s, point: p }), _t.circle(e, s, p) + }), + a + ) +} +x(zB, "filledCircle") +async function VB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = a.width + (e.padding ?? 0), + l = o + a.height, + u = o + a.height, + h = [ + { x: 0, y: -l }, + { x: u, y: -l }, + { x: u / 2, y: 0 }, + ], + { cssStyles: d } = e, + f = Rt.svg(i), + p = Dt(e, {}) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = pr(h), + m = f.path(g, p), + v = i.insert(() => m, ":first-child").attr("transform", `translate(${-l / 2}, ${l / 2})`) + return ( + d && e.look !== "handDrawn" && v.selectChildren("path").attr("style", d), + n && e.look !== "handDrawn" && v.selectChildren("path").attr("style", n), + (e.width = o), + (e.height = l), + Mt(e, v), + s.attr( + "transform", + `translate(${-a.width / 2 - (a.x - (a.left ?? 0))}, ${-l / 2 + (e.padding ?? 0) / 2 + (a.y - (a.top ?? 0))})`, + ), + (e.intersect = function (y) { + return ie.info("Triangle intersect", e, h, y), _t.polygon(e, h, y) + }), + i + ) +} +x(VB, "flippedTriangle") +function GB(t, e, { dir: r, config: { state: n, themeVariables: i } }) { + const { nodeStyles: a } = Ot(e) + e.label = "" + const s = t + .insert("g") + .attr("class", Wt(e)) + .attr("id", e.domId ?? e.id), + { cssStyles: o } = e + let l = Math.max(70, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(10, (e == null ? void 0 : e.height) ?? 0) + r === "LR" && + ((l = Math.max(10, (e == null ? void 0 : e.width) ?? 0)), + (u = Math.max(70, (e == null ? void 0 : e.height) ?? 0))) + const h = (-1 * l) / 2, + d = (-1 * u) / 2, + f = Rt.svg(s), + p = Dt(e, { stroke: i.lineColor, fill: i.lineColor }) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = f.rectangle(h, d, l, u, p), + m = s.insert(() => g, ":first-child") + o && e.look !== "handDrawn" && m.selectAll("path").attr("style", o), + a && e.look !== "handDrawn" && m.selectAll("path").attr("style", a), + Mt(e, m) + const v = (n == null ? void 0 : n.padding) ?? 0 + return ( + e.width && e.height && ((e.width += v / 2 || 0), (e.height += v / 2 || 0)), + (e.intersect = function (y) { + return _t.rect(e, y) + }), + s + ) +} +x(GB, "forkJoin") +async function UB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const i = 80, + a = 50, + { shapeSvg: s, bbox: o } = await Kt(t, e, Wt(e)), + l = Math.max(i, o.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(a, o.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + h = u / 2, + { cssStyles: d } = e, + f = Rt.svg(s), + p = Dt(e, {}) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = [ + { x: -l / 2, y: -u / 2 }, + { x: l / 2 - h, y: -u / 2 }, + ...LE(-l / 2 + h, 0, h, 50, 90, 270), + { x: l / 2 - h, y: u / 2 }, + { x: -l / 2, y: u / 2 }, + ], + m = pr(g), + v = f.path(m, p), + y = s.insert(() => v, ":first-child") + return ( + y.attr("class", "basic label-container"), + d && e.look !== "handDrawn" && y.selectChildren("path").attr("style", d), + n && e.look !== "handDrawn" && y.selectChildren("path").attr("style", n), + Mt(e, y), + (e.intersect = function (b) { + return ie.info("Pill intersect", e, { radius: h, point: b }), _t.polygon(e, g, b) + }), + s + ) +} +x(UB, "halfRoundedRectangle") +var koe = x( + (t, e, r, n, i) => + [ + `M${t + i},${e}`, + `L${t + r - i},${e}`, + `L${t + r},${e - n / 2}`, + `L${t + r - i},${e - n}`, + `L${t + i},${e - n}`, + `L${t},${e - n / 2}`, + "Z", + ].join(" "), + "createHexagonPathD", +) +async function qB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = 4, + o = a.height + e.padding, + l = o / s, + u = a.width + 2 * l + e.padding, + h = [ + { x: l, y: 0 }, + { x: u - l, y: 0 }, + { x: u, y: -o / 2 }, + { x: u - l, y: -o }, + { x: l, y: -o }, + { x: 0, y: -o / 2 }, + ] + let d + const { cssStyles: f } = e + if (e.look === "handDrawn") { + const p = Rt.svg(i), + g = Dt(e, {}), + m = koe(0, 0, u, o, l), + v = p.path(m, g) + ;(d = i.insert(() => v, ":first-child").attr("transform", `translate(${-u / 2}, ${o / 2})`)), + f && d.attr("style", f) + } else d = nl(i, u, o, h) + return ( + n && d.attr("style", n), + (e.width = u), + (e.height = o), + Mt(e, d), + (e.intersect = function (p) { + return _t.polygon(e, h, p) + }), + i + ) +} +x(qB, "hexagon") +async function WB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + ;(e.label = ""), (e.labelStyle = r) + const { shapeSvg: i } = await Kt(t, e, Wt(e)), + a = Math.max(30, (e == null ? void 0 : e.width) ?? 0), + s = Math.max(30, (e == null ? void 0 : e.height) ?? 0), + { cssStyles: o } = e, + l = Rt.svg(i), + u = Dt(e, {}) + e.look !== "handDrawn" && ((u.roughness = 0), (u.fillStyle = "solid")) + const h = [ + { x: 0, y: 0 }, + { x: a, y: 0 }, + { x: 0, y: s }, + { x: a, y: s }, + ], + d = pr(h), + f = l.path(d, u), + p = i.insert(() => f, ":first-child") + return ( + p.attr("class", "basic label-container"), + o && e.look !== "handDrawn" && p.selectChildren("path").attr("style", o), + n && e.look !== "handDrawn" && p.selectChildren("path").attr("style", n), + p.attr("transform", `translate(${-a / 2}, ${-s / 2})`), + Mt(e, p), + (e.intersect = function (g) { + return ie.info("Pill intersect", e, { points: h }), _t.polygon(e, h, g) + }), + i + ) +} +x(WB, "hourglass") +async function HB(t, e, { config: { themeVariables: r, flowchart: n } }) { + const { labelStyles: i } = Ot(e) + e.labelStyle = i + const a = e.assetHeight ?? 48, + s = e.assetWidth ?? 48, + o = Math.max(a, s), + l = n == null ? void 0 : n.wrappingWidth + e.width = Math.max(o, l ?? 0) + const { shapeSvg: u, bbox: h, label: d } = await Kt(t, e, "icon-shape default"), + f = e.pos === "t", + p = o, + g = o, + { nodeBorder: m } = r, + { stylesMap: v } = lf(e), + y = -g / 2, + b = -p / 2, + w = e.label ? 8 : 0, + T = Rt.svg(u), + E = Dt(e, { stroke: "none", fill: "none" }) + e.look !== "handDrawn" && ((E.roughness = 0), (E.fillStyle = "solid")) + const S = T.rectangle(y, b, g, p, E), + k = Math.max(g, h.width), + L = p + h.height + w, + A = T.rectangle(-k / 2, -L / 2, k, L, { ...E, fill: "transparent", stroke: "none" }), + R = u.insert(() => S, ":first-child"), + C = u.insert(() => A) + if (e.icon) { + const I = u.append("g") + I.html(`<g>${await Uc(e.icon, { height: o, width: o, fallbackPrefix: "" })}</g>`) + const P = I.node().getBBox(), + _ = P.width, + N = P.height, + M = P.x, + O = P.y + I.attr( + "transform", + `translate(${-_ / 2 - M},${f ? h.height / 2 + w / 2 - N / 2 - O : -h.height / 2 - w / 2 - N / 2 - O})`, + ), + I.attr("style", `color: ${v.get("stroke") ?? m};`) + } + return ( + d.attr("transform", `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${f ? -L / 2 : L / 2 - h.height})`), + R.attr("transform", `translate(0,${f ? h.height / 2 + w / 2 : -h.height / 2 - w / 2})`), + Mt(e, C), + (e.intersect = function (I) { + if ((ie.info("iconSquare intersect", e, I), !e.label)) return _t.rect(e, I) + const P = e.x ?? 0, + _ = e.y ?? 0, + N = e.height ?? 0 + let M = [] + return ( + f + ? (M = [ + { x: P - h.width / 2, y: _ - N / 2 }, + { x: P + h.width / 2, y: _ - N / 2 }, + { x: P + h.width / 2, y: _ - N / 2 + h.height + w }, + { x: P + g / 2, y: _ - N / 2 + h.height + w }, + { x: P + g / 2, y: _ + N / 2 }, + { x: P - g / 2, y: _ + N / 2 }, + { x: P - g / 2, y: _ - N / 2 + h.height + w }, + { x: P - h.width / 2, y: _ - N / 2 + h.height + w }, + ]) + : (M = [ + { x: P - g / 2, y: _ - N / 2 }, + { x: P + g / 2, y: _ - N / 2 }, + { x: P + g / 2, y: _ - N / 2 + p }, + { x: P + h.width / 2, y: _ - N / 2 + p }, + { x: P + h.width / 2 / 2, y: _ + N / 2 }, + { x: P - h.width / 2, y: _ + N / 2 }, + { x: P - h.width / 2, y: _ - N / 2 + p }, + { x: P - g / 2, y: _ - N / 2 + p }, + ]), + _t.polygon(e, M, I) + ) + }), + u + ) +} +x(HB, "icon") +async function YB(t, e, { config: { themeVariables: r, flowchart: n } }) { + const { labelStyles: i } = Ot(e) + e.labelStyle = i + const a = e.assetHeight ?? 48, + s = e.assetWidth ?? 48, + o = Math.max(a, s), + l = n == null ? void 0 : n.wrappingWidth + e.width = Math.max(o, l ?? 0) + const { shapeSvg: u, bbox: h, label: d } = await Kt(t, e, "icon-shape default"), + f = 20, + p = e.label ? 8 : 0, + g = e.pos === "t", + { nodeBorder: m, mainBkg: v } = r, + { stylesMap: y } = lf(e), + b = Rt.svg(u), + w = Dt(e, {}) + e.look !== "handDrawn" && ((w.roughness = 0), (w.fillStyle = "solid")) + const T = y.get("fill") + w.stroke = T ?? v + const E = u.append("g") + e.icon && E.html(`<g>${await Uc(e.icon, { height: o, width: o, fallbackPrefix: "" })}</g>`) + const S = E.node().getBBox(), + k = S.width, + L = S.height, + A = S.x, + R = S.y, + C = Math.max(k, L) * Math.SQRT2 + f * 2, + I = b.circle(0, 0, C, w), + P = Math.max(C, h.width), + _ = C + h.height + p, + N = b.rectangle(-P / 2, -_ / 2, P, _, { ...w, fill: "transparent", stroke: "none" }), + M = u.insert(() => I, ":first-child"), + O = u.insert(() => N) + return ( + E.attr( + "transform", + `translate(${-k / 2 - A},${g ? h.height / 2 + p / 2 - L / 2 - R : -h.height / 2 - p / 2 - L / 2 - R})`, + ), + E.attr("style", `color: ${y.get("stroke") ?? m};`), + d.attr("transform", `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${g ? -_ / 2 : _ / 2 - h.height})`), + M.attr("transform", `translate(0,${g ? h.height / 2 + p / 2 : -h.height / 2 - p / 2})`), + Mt(e, O), + (e.intersect = function (D) { + return ie.info("iconSquare intersect", e, D), _t.rect(e, D) + }), + u + ) +} +x(YB, "iconCircle") +async function XB(t, e, { config: { themeVariables: r, flowchart: n } }) { + const { labelStyles: i } = Ot(e) + e.labelStyle = i + const a = e.assetHeight ?? 48, + s = e.assetWidth ?? 48, + o = Math.max(a, s), + l = n == null ? void 0 : n.wrappingWidth + e.width = Math.max(o, l ?? 0) + const { shapeSvg: u, bbox: h, halfPadding: d, label: f } = await Kt(t, e, "icon-shape default"), + p = e.pos === "t", + g = o + d * 2, + m = o + d * 2, + { nodeBorder: v, mainBkg: y } = r, + { stylesMap: b } = lf(e), + w = -m / 2, + T = -g / 2, + E = e.label ? 8 : 0, + S = Rt.svg(u), + k = Dt(e, {}) + e.look !== "handDrawn" && ((k.roughness = 0), (k.fillStyle = "solid")) + const L = b.get("fill") + k.stroke = L ?? y + const A = S.path(rl(w, T, m, g, 5), k), + R = Math.max(m, h.width), + C = g + h.height + E, + I = S.rectangle(-R / 2, -C / 2, R, C, { ...k, fill: "transparent", stroke: "none" }), + P = u.insert(() => A, ":first-child").attr("class", "icon-shape2"), + _ = u.insert(() => I) + if (e.icon) { + const N = u.append("g") + N.html(`<g>${await Uc(e.icon, { height: o, width: o, fallbackPrefix: "" })}</g>`) + const M = N.node().getBBox(), + O = M.width, + D = M.height, + B = M.x, + z = M.y + N.attr( + "transform", + `translate(${-O / 2 - B},${p ? h.height / 2 + E / 2 - D / 2 - z : -h.height / 2 - E / 2 - D / 2 - z})`, + ), + N.attr("style", `color: ${b.get("stroke") ?? v};`) + } + return ( + f.attr("transform", `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${p ? -C / 2 : C / 2 - h.height})`), + P.attr("transform", `translate(0,${p ? h.height / 2 + E / 2 : -h.height / 2 - E / 2})`), + Mt(e, _), + (e.intersect = function (N) { + if ((ie.info("iconSquare intersect", e, N), !e.label)) return _t.rect(e, N) + const M = e.x ?? 0, + O = e.y ?? 0, + D = e.height ?? 0 + let B = [] + return ( + p + ? (B = [ + { x: M - h.width / 2, y: O - D / 2 }, + { x: M + h.width / 2, y: O - D / 2 }, + { x: M + h.width / 2, y: O - D / 2 + h.height + E }, + { x: M + m / 2, y: O - D / 2 + h.height + E }, + { x: M + m / 2, y: O + D / 2 }, + { x: M - m / 2, y: O + D / 2 }, + { x: M - m / 2, y: O - D / 2 + h.height + E }, + { x: M - h.width / 2, y: O - D / 2 + h.height + E }, + ]) + : (B = [ + { x: M - m / 2, y: O - D / 2 }, + { x: M + m / 2, y: O - D / 2 }, + { x: M + m / 2, y: O - D / 2 + g }, + { x: M + h.width / 2, y: O - D / 2 + g }, + { x: M + h.width / 2 / 2, y: O + D / 2 }, + { x: M - h.width / 2, y: O + D / 2 }, + { x: M - h.width / 2, y: O - D / 2 + g }, + { x: M - m / 2, y: O - D / 2 + g }, + ]), + _t.polygon(e, B, N) + ) + }), + u + ) +} +x(XB, "iconRounded") +async function jB(t, e, { config: { themeVariables: r, flowchart: n } }) { + const { labelStyles: i } = Ot(e) + e.labelStyle = i + const a = e.assetHeight ?? 48, + s = e.assetWidth ?? 48, + o = Math.max(a, s), + l = n == null ? void 0 : n.wrappingWidth + e.width = Math.max(o, l ?? 0) + const { shapeSvg: u, bbox: h, halfPadding: d, label: f } = await Kt(t, e, "icon-shape default"), + p = e.pos === "t", + g = o + d * 2, + m = o + d * 2, + { nodeBorder: v, mainBkg: y } = r, + { stylesMap: b } = lf(e), + w = -m / 2, + T = -g / 2, + E = e.label ? 8 : 0, + S = Rt.svg(u), + k = Dt(e, {}) + e.look !== "handDrawn" && ((k.roughness = 0), (k.fillStyle = "solid")) + const L = b.get("fill") + k.stroke = L ?? y + const A = S.path(rl(w, T, m, g, 0.1), k), + R = Math.max(m, h.width), + C = g + h.height + E, + I = S.rectangle(-R / 2, -C / 2, R, C, { ...k, fill: "transparent", stroke: "none" }), + P = u.insert(() => A, ":first-child"), + _ = u.insert(() => I) + if (e.icon) { + const N = u.append("g") + N.html(`<g>${await Uc(e.icon, { height: o, width: o, fallbackPrefix: "" })}</g>`) + const M = N.node().getBBox(), + O = M.width, + D = M.height, + B = M.x, + z = M.y + N.attr( + "transform", + `translate(${-O / 2 - B},${p ? h.height / 2 + E / 2 - D / 2 - z : -h.height / 2 - E / 2 - D / 2 - z})`, + ), + N.attr("style", `color: ${b.get("stroke") ?? v};`) + } + return ( + f.attr("transform", `translate(${-h.width / 2 - (h.x - (h.left ?? 0))},${p ? -C / 2 : C / 2 - h.height})`), + P.attr("transform", `translate(0,${p ? h.height / 2 + E / 2 : -h.height / 2 - E / 2})`), + Mt(e, _), + (e.intersect = function (N) { + if ((ie.info("iconSquare intersect", e, N), !e.label)) return _t.rect(e, N) + const M = e.x ?? 0, + O = e.y ?? 0, + D = e.height ?? 0 + let B = [] + return ( + p + ? (B = [ + { x: M - h.width / 2, y: O - D / 2 }, + { x: M + h.width / 2, y: O - D / 2 }, + { x: M + h.width / 2, y: O - D / 2 + h.height + E }, + { x: M + m / 2, y: O - D / 2 + h.height + E }, + { x: M + m / 2, y: O + D / 2 }, + { x: M - m / 2, y: O + D / 2 }, + { x: M - m / 2, y: O - D / 2 + h.height + E }, + { x: M - h.width / 2, y: O - D / 2 + h.height + E }, + ]) + : (B = [ + { x: M - m / 2, y: O - D / 2 }, + { x: M + m / 2, y: O - D / 2 }, + { x: M + m / 2, y: O - D / 2 + g }, + { x: M + h.width / 2, y: O - D / 2 + g }, + { x: M + h.width / 2 / 2, y: O + D / 2 }, + { x: M - h.width / 2, y: O + D / 2 }, + { x: M - h.width / 2, y: O - D / 2 + g }, + { x: M - m / 2, y: O - D / 2 + g }, + ]), + _t.polygon(e, B, N) + ) + }), + u + ) +} +x(jB, "iconSquare") +async function KB(t, e, { config: { flowchart: r } }) { + const n = new Image() + ;(n.src = (e == null ? void 0 : e.img) ?? ""), await n.decode() + const i = Number(n.naturalWidth.toString().replace("px", "")), + a = Number(n.naturalHeight.toString().replace("px", "")) + e.imageAspectRatio = i / a + const { labelStyles: s } = Ot(e) + e.labelStyle = s + const o = r == null ? void 0 : r.wrappingWidth + e.defaultWidth = r == null ? void 0 : r.wrappingWidth + const l = Math.max(e.label ? (o ?? 0) : 0, (e == null ? void 0 : e.assetWidth) ?? i), + u = e.constraint === "on" && e != null && e.assetHeight ? e.assetHeight * e.imageAspectRatio : l, + h = e.constraint === "on" ? u / e.imageAspectRatio : ((e == null ? void 0 : e.assetHeight) ?? a) + e.width = Math.max(u, o ?? 0) + const { shapeSvg: d, bbox: f, label: p } = await Kt(t, e, "image-shape default"), + g = e.pos === "t", + m = -u / 2, + v = -h / 2, + y = e.label ? 8 : 0, + b = Rt.svg(d), + w = Dt(e, {}) + e.look !== "handDrawn" && ((w.roughness = 0), (w.fillStyle = "solid")) + const T = b.rectangle(m, v, u, h, w), + E = Math.max(u, f.width), + S = h + f.height + y, + k = b.rectangle(-E / 2, -S / 2, E, S, { ...w, fill: "none", stroke: "none" }), + L = d.insert(() => T, ":first-child"), + A = d.insert(() => k) + if (e.img) { + const R = d.append("image") + R.attr("href", e.img), + R.attr("width", u), + R.attr("height", h), + R.attr("preserveAspectRatio", "none"), + R.attr("transform", `translate(${-u / 2},${g ? S / 2 - h : -S / 2})`) + } + return ( + p.attr( + "transform", + `translate(${-f.width / 2 - (f.x - (f.left ?? 0))},${g ? -h / 2 - f.height / 2 - y / 2 : h / 2 - f.height / 2 + y / 2})`, + ), + L.attr("transform", `translate(0,${g ? f.height / 2 + y / 2 : -f.height / 2 - y / 2})`), + Mt(e, A), + (e.intersect = function (R) { + if ((ie.info("iconSquare intersect", e, R), !e.label)) return _t.rect(e, R) + const C = e.x ?? 0, + I = e.y ?? 0, + P = e.height ?? 0 + let _ = [] + return ( + g + ? (_ = [ + { x: C - f.width / 2, y: I - P / 2 }, + { x: C + f.width / 2, y: I - P / 2 }, + { x: C + f.width / 2, y: I - P / 2 + f.height + y }, + { x: C + u / 2, y: I - P / 2 + f.height + y }, + { x: C + u / 2, y: I + P / 2 }, + { x: C - u / 2, y: I + P / 2 }, + { x: C - u / 2, y: I - P / 2 + f.height + y }, + { x: C - f.width / 2, y: I - P / 2 + f.height + y }, + ]) + : (_ = [ + { x: C - u / 2, y: I - P / 2 }, + { x: C + u / 2, y: I - P / 2 }, + { x: C + u / 2, y: I - P / 2 + h }, + { x: C + f.width / 2, y: I - P / 2 + h }, + { x: C + f.width / 2 / 2, y: I + P / 2 }, + { x: C - f.width / 2, y: I + P / 2 }, + { x: C - f.width / 2, y: I - P / 2 + h }, + { x: C - u / 2, y: I - P / 2 + h }, + ]), + _t.polygon(e, _, R) + ) + }), + d + ) +} +x(KB, "imageSquare") +async function ZB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + o = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + l = [ + { x: 0, y: 0 }, + { x: s, y: 0 }, + { x: s + (3 * o) / 6, y: -o }, + { x: (-3 * o) / 6, y: -o }, + ] + let u + const { cssStyles: h } = e + if (e.look === "handDrawn") { + const d = Rt.svg(i), + f = Dt(e, {}), + p = pr(l), + g = d.path(p, f) + ;(u = i.insert(() => g, ":first-child").attr("transform", `translate(${-s / 2}, ${o / 2})`)), + h && u.attr("style", h) + } else u = nl(i, s, o, l) + return ( + n && u.attr("style", n), + (e.width = s), + (e.height = o), + Mt(e, u), + (e.intersect = function (d) { + return _t.polygon(e, l, d) + }), + i + ) +} +x(ZB, "inv_trapezoid") +async function wg(t, e, r) { + const { labelStyles: n, nodeStyles: i } = Ot(e) + e.labelStyle = n + const { shapeSvg: a, bbox: s } = await Kt(t, e, Wt(e)), + o = Math.max(s.width + r.labelPaddingX * 2, (e == null ? void 0 : e.width) || 0), + l = Math.max(s.height + r.labelPaddingY * 2, (e == null ? void 0 : e.height) || 0), + u = -o / 2, + h = -l / 2 + let d, + { rx: f, ry: p } = e + const { cssStyles: g } = e + if ((r != null && r.rx && r.ry && ((f = r.rx), (p = r.ry)), e.look === "handDrawn")) { + const m = Rt.svg(a), + v = Dt(e, {}), + y = f || p ? m.path(rl(u, h, o, l, f || 0), v) : m.rectangle(u, h, o, l, v) + ;(d = a.insert(() => y, ":first-child")), d.attr("class", "basic label-container").attr("style", zi(g)) + } else + (d = a.insert("rect", ":first-child")), + d + .attr("class", "basic label-container") + .attr("style", i) + .attr("rx", zi(f)) + .attr("ry", zi(p)) + .attr("x", u) + .attr("y", h) + .attr("width", o) + .attr("height", l) + return ( + Mt(e, d), + (e.intersect = function (m) { + return _t.rect(e, m) + }), + a + ) +} +x(wg, "drawRect") +async function QB(t, e) { + const { shapeSvg: r, bbox: n, label: i } = await Kt(t, e, "label"), + a = r.insert("rect", ":first-child") + return ( + a.attr("width", 0.1).attr("height", 0.1), + r.attr("class", "label edgeLabel"), + i.attr( + "transform", + `translate(${-(n.width / 2) - (n.x - (n.left ?? 0))}, ${-(n.height / 2) - (n.y - (n.top ?? 0))})`, + ), + Mt(e, a), + (e.intersect = function (l) { + return _t.rect(e, l) + }), + r + ) +} +x(QB, "labelRect") +async function JB(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = Math.max(a.width + (e.padding ?? 0), (e == null ? void 0 : e.width) ?? 0), + o = Math.max(a.height + (e.padding ?? 0), (e == null ? void 0 : e.height) ?? 0), + l = [ + { x: 0, y: 0 }, + { x: s + (3 * o) / 6, y: 0 }, + { x: s, y: -o }, + { x: -(3 * o) / 6, y: -o }, + ] + let u + const { cssStyles: h } = e + if (e.look === "handDrawn") { + const d = Rt.svg(i), + f = Dt(e, {}), + p = pr(l), + g = d.path(p, f) + ;(u = i.insert(() => g, ":first-child").attr("transform", `translate(${-s / 2}, ${o / 2})`)), + h && u.attr("style", h) + } else u = nl(i, s, o, l) + return ( + n && u.attr("style", n), + (e.width = s), + (e.height = o), + Mt(e, u), + (e.intersect = function (d) { + return _t.polygon(e, l, d) + }), + i + ) +} +x(JB, "lean_left") +async function eF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = Math.max(a.width + (e.padding ?? 0), (e == null ? void 0 : e.width) ?? 0), + o = Math.max(a.height + (e.padding ?? 0), (e == null ? void 0 : e.height) ?? 0), + l = [ + { x: (-3 * o) / 6, y: 0 }, + { x: s, y: 0 }, + { x: s + (3 * o) / 6, y: -o }, + { x: 0, y: -o }, + ] + let u + const { cssStyles: h } = e + if (e.look === "handDrawn") { + const d = Rt.svg(i), + f = Dt(e, {}), + p = pr(l), + g = d.path(p, f) + ;(u = i.insert(() => g, ":first-child").attr("transform", `translate(${-s / 2}, ${o / 2})`)), + h && u.attr("style", h) + } else u = nl(i, s, o, l) + return ( + n && u.attr("style", n), + (e.width = s), + (e.height = o), + Mt(e, u), + (e.intersect = function (d) { + return _t.polygon(e, l, d) + }), + i + ) +} +x(eF, "lean_right") +function tF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + ;(e.label = ""), (e.labelStyle = r) + const i = t + .insert("g") + .attr("class", Wt(e)) + .attr("id", e.domId ?? e.id), + { cssStyles: a } = e, + s = Math.max(35, (e == null ? void 0 : e.width) ?? 0), + o = Math.max(35, (e == null ? void 0 : e.height) ?? 0), + l = 7, + u = [ + { x: s, y: 0 }, + { x: 0, y: o + l / 2 }, + { x: s - 2 * l, y: o + l / 2 }, + { x: 0, y: 2 * o }, + { x: s, y: o - l / 2 }, + { x: 2 * l, y: o - l / 2 }, + ], + h = Rt.svg(i), + d = Dt(e, {}) + e.look !== "handDrawn" && ((d.roughness = 0), (d.fillStyle = "solid")) + const f = pr(u), + p = h.path(f, d), + g = i.insert(() => p, ":first-child") + return ( + a && e.look !== "handDrawn" && g.selectAll("path").attr("style", a), + n && e.look !== "handDrawn" && g.selectAll("path").attr("style", n), + g.attr("transform", `translate(-${s / 2},${-o})`), + Mt(e, g), + (e.intersect = function (m) { + return ie.info("lightningBolt intersect", e, m), _t.polygon(e, u, m) + }), + i + ) +} +x(tF, "lightningBolt") +var Soe = x( + (t, e, r, n, i, a, s) => + [ + `M${t},${e + a}`, + `a${i},${a} 0,0,0 ${r},0`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}`, + `M${t},${e + a + s}`, + `a${i},${a} 0,0,0 ${r},0`, + ].join(" "), + "createCylinderPathD", + ), + Coe = x( + (t, e, r, n, i, a, s) => + [ + `M${t},${e + a}`, + `M${t + r},${e + a}`, + `a${i},${a} 0,0,0 ${-r},0`, + `l0,${n}`, + `a${i},${a} 0,0,0 ${r},0`, + `l0,${-n}`, + `M${t},${e + a + s}`, + `a${i},${a} 0,0,0 ${r},0`, + ].join(" "), + "createOuterCylinderPathD", + ), + Aoe = x( + (t, e, r, n, i, a) => [`M${t - r / 2},${-n / 2}`, `a${i},${a} 0,0,0 ${r},0`].join(" "), + "createInnerCylinderPathD", + ) +async function rF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0), e.width ?? 0), + l = o / 2, + u = l / (2.5 + o / 50), + h = Math.max(a.height + u + (e.padding ?? 0), e.height ?? 0), + d = h * 0.1 + let f + const { cssStyles: p } = e + if (e.look === "handDrawn") { + const g = Rt.svg(i), + m = Coe(0, 0, o, h, l, u, d), + v = Aoe(0, u, o, h, l, u), + y = Dt(e, {}), + b = g.path(m, y), + w = g.path(v, y) + i.insert(() => w, ":first-child").attr("class", "line"), + (f = i.insert(() => b, ":first-child")), + f.attr("class", "basic label-container"), + p && f.attr("style", p) + } else { + const g = Soe(0, 0, o, h, l, u, d) + f = i + .insert("path", ":first-child") + .attr("d", g) + .attr("class", "basic label-container") + .attr("style", zi(p)) + .attr("style", n) + } + return ( + f.attr("label-offset-y", u), + f.attr("transform", `translate(${-o / 2}, ${-(h / 2 + u)})`), + Mt(e, f), + s.attr( + "transform", + `translate(${-(a.width / 2) - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + u - (a.y - (a.top ?? 0))})`, + ), + (e.intersect = function (g) { + const m = _t.rect(e, g), + v = m.x - (e.x ?? 0) + if ( + l != 0 && + (Math.abs(v) < (e.width ?? 0) / 2 || + (Math.abs(v) == (e.width ?? 0) / 2 && Math.abs(m.y - (e.y ?? 0)) > (e.height ?? 0) / 2 - u)) + ) { + let y = u * u * (1 - (v * v) / (l * l)) + y > 0 && (y = Math.sqrt(y)), (y = u - y), g.y - (e.y ?? 0) > 0 && (y = -y), (m.y += y) + } + return m + }), + i + ) +} +x(rF, "linedCylinder") +async function nF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = l / 4, + h = l + u, + { cssStyles: d } = e, + f = Rt.svg(i), + p = Dt(e, {}) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = [ + { x: -o / 2 - (o / 2) * 0.1, y: -h / 2 }, + { x: -o / 2 - (o / 2) * 0.1, y: h / 2 }, + ...Ml(-o / 2 - (o / 2) * 0.1, h / 2, o / 2 + (o / 2) * 0.1, h / 2, u, 0.8), + { x: o / 2 + (o / 2) * 0.1, y: -h / 2 }, + { x: -o / 2 - (o / 2) * 0.1, y: -h / 2 }, + { x: -o / 2, y: -h / 2 }, + { x: -o / 2, y: (h / 2) * 1.1 }, + { x: -o / 2, y: -h / 2 }, + ], + m = f.polygon( + g.map((y) => [y.x, y.y]), + p, + ), + v = i.insert(() => m, ":first-child") + return ( + v.attr("class", "basic label-container"), + d && e.look !== "handDrawn" && v.selectAll("path").attr("style", d), + n && e.look !== "handDrawn" && v.selectAll("path").attr("style", n), + v.attr("transform", `translate(0,${-u / 2})`), + s.attr( + "transform", + `translate(${-o / 2 + (e.padding ?? 0) + ((o / 2) * 0.1) / 2 - (a.x - (a.left ?? 0))},${-l / 2 + (e.padding ?? 0) - u / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, v), + (e.intersect = function (y) { + return _t.polygon(e, g, y) + }), + i + ) +} +x(nF, "linedWaveEdgedRect") +async function iF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = 5, + h = -o / 2, + d = -l / 2, + { cssStyles: f } = e, + p = Rt.svg(i), + g = Dt(e, {}), + m = [ + { x: h - u, y: d + u }, + { x: h - u, y: d + l + u }, + { x: h + o - u, y: d + l + u }, + { x: h + o - u, y: d + l }, + { x: h + o, y: d + l }, + { x: h + o, y: d + l - u }, + { x: h + o + u, y: d + l - u }, + { x: h + o + u, y: d - u }, + { x: h + u, y: d - u }, + { x: h + u, y: d }, + { x: h, y: d }, + { x: h, y: d + u }, + ], + v = [ + { x: h, y: d + u }, + { x: h + o - u, y: d + u }, + { x: h + o - u, y: d + l }, + { x: h + o, y: d + l }, + { x: h + o, y: d }, + { x: h, y: d }, + ] + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const y = pr(m), + b = p.path(y, g), + w = pr(v), + T = p.path(w, { ...g, fill: "none" }), + E = i.insert(() => T, ":first-child") + return ( + E.insert(() => b, ":first-child"), + E.attr("class", "basic label-container"), + f && e.look !== "handDrawn" && E.selectAll("path").attr("style", f), + n && e.look !== "handDrawn" && E.selectAll("path").attr("style", n), + s.attr( + "transform", + `translate(${-(a.width / 2) - u - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + u - (a.y - (a.top ?? 0))})`, + ), + Mt(e, E), + (e.intersect = function (S) { + return _t.polygon(e, m, S) + }), + i + ) +} +x(iF, "multiRect") +async function aF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = l / 4, + h = l + u, + d = -o / 2, + f = -h / 2, + p = 5, + { cssStyles: g } = e, + m = Ml(d - p, f + h + p, d + o - p, f + h + p, u, 0.8), + v = m == null ? void 0 : m[m.length - 1], + y = [ + { x: d - p, y: f + p }, + { x: d - p, y: f + h + p }, + ...m, + { x: d + o - p, y: v.y - p }, + { x: d + o, y: v.y - p }, + { x: d + o, y: v.y - 2 * p }, + { x: d + o + p, y: v.y - 2 * p }, + { x: d + o + p, y: f - p }, + { x: d + p, y: f - p }, + { x: d + p, y: f }, + { x: d, y: f }, + { x: d, y: f + p }, + ], + b = [ + { x: d, y: f + p }, + { x: d + o - p, y: f + p }, + { x: d + o - p, y: v.y - p }, + { x: d + o, y: v.y - p }, + { x: d + o, y: f }, + { x: d, y: f }, + ], + w = Rt.svg(i), + T = Dt(e, {}) + e.look !== "handDrawn" && ((T.roughness = 0), (T.fillStyle = "solid")) + const E = pr(y), + S = w.path(E, T), + k = pr(b), + L = w.path(k, T), + A = i.insert(() => S, ":first-child") + return ( + A.insert(() => L), + A.attr("class", "basic label-container"), + g && e.look !== "handDrawn" && A.selectAll("path").attr("style", g), + n && e.look !== "handDrawn" && A.selectAll("path").attr("style", n), + A.attr("transform", `translate(0,${-u / 2})`), + s.attr( + "transform", + `translate(${-(a.width / 2) - p - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + p - u / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, A), + (e.intersect = function (R) { + return _t.polygon(e, y, R) + }), + i + ) +} +x(aF, "multiWaveEdgedRectangle") +async function sF(t, e, { config: { themeVariables: r } }) { + var y + const { labelStyles: n, nodeStyles: i } = Ot(e) + ;(e.labelStyle = n), + e.useHtmlLabels || ((y = Dr().flowchart) == null ? void 0 : y.htmlLabels) !== !1 || (e.centerLabel = !0) + const { shapeSvg: s, bbox: o } = await Kt(t, e, Wt(e)), + l = Math.max(o.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(o.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + h = -l / 2, + d = -u / 2, + { cssStyles: f } = e, + p = Rt.svg(s), + g = Dt(e, { fill: r.noteBkgColor, stroke: r.noteBorderColor }) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const m = p.rectangle(h, d, l, u, g), + v = s.insert(() => m, ":first-child") + return ( + v.attr("class", "basic label-container"), + f && e.look !== "handDrawn" && v.selectAll("path").attr("style", f), + i && e.look !== "handDrawn" && v.selectAll("path").attr("style", i), + Mt(e, v), + (e.intersect = function (b) { + return _t.rect(e, b) + }), + s + ) +} +x(sF, "note") +var _oe = x( + (t, e, r) => + [`M${t + r / 2},${e}`, `L${t + r},${e - r / 2}`, `L${t + r / 2},${e - r}`, `L${t},${e - r / 2}`, "Z"].join(" "), + "createDecisionBoxPathD", +) +async function oF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = a.width + e.padding, + o = a.height + e.padding, + l = s + o, + u = [ + { x: l / 2, y: 0 }, + { x: l, y: -l / 2 }, + { x: l / 2, y: -l }, + { x: 0, y: -l / 2 }, + ] + let h + const { cssStyles: d } = e + if (e.look === "handDrawn") { + const f = Rt.svg(i), + p = Dt(e, {}), + g = _oe(0, 0, l), + m = f.path(g, p) + ;(h = i.insert(() => m, ":first-child").attr("transform", `translate(${-l / 2}, ${l / 2})`)), + d && h.attr("style", d) + } else h = nl(i, l, l, u) + return ( + n && h.attr("style", n), + Mt(e, h), + (e.intersect = function (f) { + return ( + ie.debug( + `APA12 Intersect called SPLIT +point:`, + f, + ` +node: +`, + e, + ` +res:`, + _t.polygon(e, u, f), + ), + _t.polygon(e, u, f) + ) + }), + i + ) +} +x(oF, "question") +async function lF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0), (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0), (e == null ? void 0 : e.height) ?? 0), + u = -o / 2, + h = -l / 2, + d = h / 2, + f = [ + { x: u + d, y: h }, + { x: u, y: 0 }, + { x: u + d, y: -h }, + { x: -u, y: -h }, + { x: -u, y: h }, + ], + { cssStyles: p } = e, + g = Rt.svg(i), + m = Dt(e, {}) + e.look !== "handDrawn" && ((m.roughness = 0), (m.fillStyle = "solid")) + const v = pr(f), + y = g.path(v, m), + b = i.insert(() => y, ":first-child") + return ( + b.attr("class", "basic label-container"), + p && e.look !== "handDrawn" && b.selectAll("path").attr("style", p), + n && e.look !== "handDrawn" && b.selectAll("path").attr("style", n), + b.attr("transform", `translate(${-d / 2},0)`), + s.attr( + "transform", + `translate(${-d / 2 - a.width / 2 - (a.x - (a.left ?? 0))}, ${-(a.height / 2) - (a.y - (a.top ?? 0))})`, + ), + Mt(e, b), + (e.intersect = function (w) { + return _t.polygon(e, f, w) + }), + i + ) +} +x(lF, "rect_left_inv_arrow") +async function cF(t, e) { + var L, A + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + let i + e.cssClasses ? (i = "node " + e.cssClasses) : (i = "node default") + const a = t + .insert("g") + .attr("class", i) + .attr("id", e.domId || e.id), + s = a.insert("g"), + o = a.insert("g").attr("class", "label").attr("style", n), + l = e.description, + u = e.label, + h = o.node().appendChild(await Ic(u, e.labelStyle, !0, !0)) + let d = { width: 0, height: 0 } + if (Nr((A = (L = we()) == null ? void 0 : L.flowchart) == null ? void 0 : A.htmlLabels)) { + const R = h.children[0], + C = rt(h) + ;(d = R.getBoundingClientRect()), C.attr("width", d.width), C.attr("height", d.height) + } + ie.info("Text 2", l) + const f = l || [], + p = h.getBBox(), + g = o.node().appendChild(await Ic(f.join ? f.join("<br/>") : f, e.labelStyle, !0, !0)), + m = g.children[0], + v = rt(g) + ;(d = m.getBoundingClientRect()), v.attr("width", d.width), v.attr("height", d.height) + const y = (e.padding || 0) / 2 + rt(g).attr( + "transform", + "translate( " + (d.width > p.width ? 0 : (p.width - d.width) / 2) + ", " + (p.height + y + 5) + ")", + ), + rt(h).attr("transform", "translate( " + (d.width < p.width ? 0 : -(p.width - d.width) / 2) + ", 0)"), + (d = o.node().getBBox()), + o.attr("transform", "translate(" + -d.width / 2 + ", " + (-d.height / 2 - y + 3) + ")") + const b = d.width + (e.padding || 0), + w = d.height + (e.padding || 0), + T = -d.width / 2 - y, + E = -d.height / 2 - y + let S, k + if (e.look === "handDrawn") { + const R = Rt.svg(a), + C = Dt(e, {}), + I = R.path(rl(T, E, b, w, e.rx || 0), C), + P = R.line( + -d.width / 2 - y, + -d.height / 2 - y + p.height + y, + d.width / 2 + y, + -d.height / 2 - y + p.height + y, + C, + ) + ;(k = a.insert(() => (ie.debug("Rough node insert CXC", I), P), ":first-child")), + (S = a.insert(() => (ie.debug("Rough node insert CXC", I), I), ":first-child")) + } else + (S = s.insert("rect", ":first-child")), + (k = s.insert("line")), + S.attr("class", "outer title-state") + .attr("style", n) + .attr("x", -d.width / 2 - y) + .attr("y", -d.height / 2 - y) + .attr("width", d.width + (e.padding || 0)) + .attr("height", d.height + (e.padding || 0)), + k + .attr("class", "divider") + .attr("x1", -d.width / 2 - y) + .attr("x2", d.width / 2 + y) + .attr("y1", -d.height / 2 - y + p.height + y) + .attr("y2", -d.height / 2 - y + p.height + y) + return ( + Mt(e, S), + (e.intersect = function (R) { + return _t.rect(e, R) + }), + a + ) +} +x(cF, "rectWithTitle") +async function uF(t, e) { + const r = { + rx: 5, + ry: 5, + labelPaddingX: ((e == null ? void 0 : e.padding) || 0) * 1, + labelPaddingY: ((e == null ? void 0 : e.padding) || 0) * 1, + } + return wg(t, e, r) +} +x(uF, "roundedRect") +async function hF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = (e == null ? void 0 : e.padding) ?? 0, + l = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + h = -a.width / 2 - o, + d = -a.height / 2 - o, + { cssStyles: f } = e, + p = Rt.svg(i), + g = Dt(e, {}) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const m = [ + { x: h, y: d }, + { x: h + l + 8, y: d }, + { x: h + l + 8, y: d + u }, + { x: h - 8, y: d + u }, + { x: h - 8, y: d }, + { x: h, y: d }, + { x: h, y: d + u }, + ], + v = p.polygon( + m.map((b) => [b.x, b.y]), + g, + ), + y = i.insert(() => v, ":first-child") + return ( + y.attr("class", "basic label-container").attr("style", zi(f)), + n && e.look !== "handDrawn" && y.selectAll("path").attr("style", n), + f && e.look !== "handDrawn" && y.selectAll("path").attr("style", n), + s.attr( + "transform", + `translate(${-l / 2 + 4 + (e.padding ?? 0) - (a.x - (a.left ?? 0))},${-u / 2 + (e.padding ?? 0) - (a.y - (a.top ?? 0))})`, + ), + Mt(e, y), + (e.intersect = function (b) { + return _t.rect(e, b) + }), + i + ) +} +x(hF, "shadedProcess") +async function dF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = -o / 2, + h = -l / 2, + { cssStyles: d } = e, + f = Rt.svg(i), + p = Dt(e, {}) + e.look !== "handDrawn" && ((p.roughness = 0), (p.fillStyle = "solid")) + const g = [ + { x: u, y: h }, + { x: u, y: h + l }, + { x: u + o, y: h + l }, + { x: u + o, y: h - l / 2 }, + ], + m = pr(g), + v = f.path(m, p), + y = i.insert(() => v, ":first-child") + return ( + y.attr("class", "basic label-container"), + d && e.look !== "handDrawn" && y.selectChildren("path").attr("style", d), + n && e.look !== "handDrawn" && y.selectChildren("path").attr("style", n), + y.attr("transform", `translate(0, ${l / 4})`), + s.attr( + "transform", + `translate(${-o / 2 + (e.padding ?? 0) - (a.x - (a.left ?? 0))}, ${-l / 4 + (e.padding ?? 0) - (a.y - (a.top ?? 0))})`, + ), + Mt(e, y), + (e.intersect = function (b) { + return _t.polygon(e, g, b) + }), + i + ) +} +x(dF, "slopedRect") +async function fF(t, e) { + const r = { + rx: 0, + ry: 0, + labelPaddingX: ((e == null ? void 0 : e.padding) || 0) * 2, + labelPaddingY: ((e == null ? void 0 : e.padding) || 0) * 1, + } + return wg(t, e, r) +} +x(fF, "squareRect") +async function pF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = a.height + e.padding, + o = a.width + s / 4 + e.padding + let l + const { cssStyles: u } = e + if (e.look === "handDrawn") { + const h = Rt.svg(i), + d = Dt(e, {}), + f = rl(-o / 2, -s / 2, o, s, s / 2), + p = h.path(f, d) + ;(l = i.insert(() => p, ":first-child")), l.attr("class", "basic label-container").attr("style", zi(u)) + } else + (l = i.insert("rect", ":first-child")), + l + .attr("class", "basic label-container") + .attr("style", n) + .attr("rx", s / 2) + .attr("ry", s / 2) + .attr("x", -o / 2) + .attr("y", -s / 2) + .attr("width", o) + .attr("height", s) + return ( + Mt(e, l), + (e.intersect = function (h) { + return _t.rect(e, h) + }), + i + ) +} +x(pF, "stadium") +async function gF(t, e) { + return wg(t, e, { rx: 5, ry: 5 }) +} +x(gF, "state") +function mF(t, e, { config: { themeVariables: r } }) { + const { labelStyles: n, nodeStyles: i } = Ot(e) + e.labelStyle = n + const { cssStyles: a } = e, + { lineColor: s, stateBorder: o, nodeBorder: l } = r, + u = t + .insert("g") + .attr("class", "node default") + .attr("id", e.domId || e.id), + h = Rt.svg(u), + d = Dt(e, {}) + e.look !== "handDrawn" && ((d.roughness = 0), (d.fillStyle = "solid")) + const f = h.circle(0, 0, 14, { ...d, stroke: s, strokeWidth: 2 }), + p = o ?? l, + g = h.circle(0, 0, 5, { ...d, fill: p, stroke: p, strokeWidth: 2, fillStyle: "solid" }), + m = u.insert(() => f, ":first-child") + return ( + m.insert(() => g), + a && m.selectAll("path").attr("style", a), + i && m.selectAll("path").attr("style", i), + Mt(e, m), + (e.intersect = function (v) { + return _t.circle(e, 7, v) + }), + u + ) +} +x(mF, "stateEnd") +function vF(t, e, { config: { themeVariables: r } }) { + const { lineColor: n } = r, + i = t + .insert("g") + .attr("class", "node default") + .attr("id", e.domId || e.id) + let a + if (e.look === "handDrawn") { + const o = Rt.svg(i).circle(0, 0, 14, loe(n)) + ;(a = i.insert(() => o)), a.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14) + } else + (a = i.insert("circle", ":first-child")), + a.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14) + return ( + Mt(e, a), + (e.intersect = function (s) { + return _t.circle(e, 7, s) + }), + i + ) +} +x(vF, "stateStart") +async function yF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = ((e == null ? void 0 : e.padding) || 0) / 2, + o = a.width + e.padding, + l = a.height + e.padding, + u = -a.width / 2 - s, + h = -a.height / 2 - s, + d = [ + { x: 0, y: 0 }, + { x: o, y: 0 }, + { x: o, y: -l }, + { x: 0, y: -l }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: o + 8, y: 0 }, + { x: o + 8, y: -l }, + { x: -8, y: -l }, + { x: -8, y: 0 }, + ] + if (e.look === "handDrawn") { + const f = Rt.svg(i), + p = Dt(e, {}), + g = f.rectangle(u - 8, h, o + 16, l, p), + m = f.line(u, h, u, h + l, p), + v = f.line(u + o, h, u + o, h + l, p) + i.insert(() => m, ":first-child"), i.insert(() => v, ":first-child") + const y = i.insert(() => g, ":first-child"), + { cssStyles: b } = e + y.attr("class", "basic label-container").attr("style", zi(b)), Mt(e, y) + } else { + const f = nl(i, o, l, d) + n && f.attr("style", n), Mt(e, f) + } + return ( + (e.intersect = function (f) { + return _t.polygon(e, d, f) + }), + i + ) +} +x(yF, "subroutine") +async function xF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + o = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + l = -s / 2, + u = -o / 2, + h = 0.2 * o, + d = 0.2 * o, + { cssStyles: f } = e, + p = Rt.svg(i), + g = Dt(e, {}), + m = [ + { x: l - h / 2, y: u }, + { x: l + s + h / 2, y: u }, + { x: l + s + h / 2, y: u + o }, + { x: l - h / 2, y: u + o }, + ], + v = [ + { x: l + s - h / 2, y: u + o }, + { x: l + s + h / 2, y: u + o }, + { x: l + s + h / 2, y: u + o - d }, + ] + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const y = pr(m), + b = p.path(y, g), + w = pr(v), + T = p.path(w, { ...g, fillStyle: "solid" }), + E = i.insert(() => T, ":first-child") + return ( + E.insert(() => b, ":first-child"), + E.attr("class", "basic label-container"), + f && e.look !== "handDrawn" && E.selectAll("path").attr("style", f), + n && e.look !== "handDrawn" && E.selectAll("path").attr("style", n), + Mt(e, E), + (e.intersect = function (S) { + return _t.polygon(e, m, S) + }), + i + ) +} +x(xF, "taggedRect") +async function bF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = l / 4, + h = 0.2 * o, + d = 0.2 * l, + f = l + u, + { cssStyles: p } = e, + g = Rt.svg(i), + m = Dt(e, {}) + e.look !== "handDrawn" && ((m.roughness = 0), (m.fillStyle = "solid")) + const v = [ + { x: -o / 2 - (o / 2) * 0.1, y: f / 2 }, + ...Ml(-o / 2 - (o / 2) * 0.1, f / 2, o / 2 + (o / 2) * 0.1, f / 2, u, 0.8), + { x: o / 2 + (o / 2) * 0.1, y: -f / 2 }, + { x: -o / 2 - (o / 2) * 0.1, y: -f / 2 }, + ], + y = -o / 2 + (o / 2) * 0.1, + b = -f / 2 - d * 0.4, + w = [ + { x: y + o - h, y: (b + l) * 1.4 }, + { x: y + o, y: b + l - d }, + { x: y + o, y: (b + l) * 0.9 }, + ...Ml(y + o, (b + l) * 1.3, y + o - h, (b + l) * 1.5, -l * 0.03, 0.5), + ], + T = pr(v), + E = g.path(T, m), + S = pr(w), + k = g.path(S, { ...m, fillStyle: "solid" }), + L = i.insert(() => k, ":first-child") + return ( + L.insert(() => E, ":first-child"), + L.attr("class", "basic label-container"), + p && e.look !== "handDrawn" && L.selectAll("path").attr("style", p), + n && e.look !== "handDrawn" && L.selectAll("path").attr("style", n), + L.attr("transform", `translate(0,${-u / 2})`), + s.attr( + "transform", + `translate(${-o / 2 + (e.padding ?? 0) - (a.x - (a.left ?? 0))},${-l / 2 + (e.padding ?? 0) - u / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, L), + (e.intersect = function (A) { + return _t.polygon(e, v, A) + }), + i + ) +} +x(bF, "taggedWaveEdgedRectangle") +async function wF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = Math.max(a.width + e.padding, (e == null ? void 0 : e.width) || 0), + o = Math.max(a.height + e.padding, (e == null ? void 0 : e.height) || 0), + l = -s / 2, + u = -o / 2, + h = i.insert("rect", ":first-child") + return ( + h + .attr("class", "text") + .attr("style", n) + .attr("rx", 0) + .attr("ry", 0) + .attr("x", l) + .attr("y", u) + .attr("width", s) + .attr("height", o), + Mt(e, h), + (e.intersect = function (d) { + return _t.rect(e, d) + }), + i + ) +} +x(wF, "text") +var Loe = x( + (t, e, r, n, i, a) => `M${t},${e} + a${i},${a} 0,0,1 0,${-n} + l${r},0 + a${i},${a} 0,0,1 0,${n} + M${r},${-n} + a${i},${a} 0,0,0 0,${n} + l${-r},0`, + "createCylinderPathD", + ), + Roe = x( + (t, e, r, n, i, a) => + [ + `M${t},${e}`, + `M${t + r},${e}`, + `a${i},${a} 0,0,0 0,${-n}`, + `l${-r},0`, + `a${i},${a} 0,0,0 0,${n}`, + `l${r},0`, + ].join(" "), + "createOuterCylinderPathD", + ), + Noe = x( + (t, e, r, n, i, a) => [`M${t + r / 2},${-n / 2}`, `a${i},${a} 0,0,0 0,${n}`].join(" "), + "createInnerCylinderPathD", + ) +async function TF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s, halfPadding: o } = await Kt(t, e, Wt(e)), + l = e.look === "neo" ? o * 2 : o, + u = a.height + l, + h = u / 2, + d = h / (2.5 + u / 50), + f = a.width + d + l, + { cssStyles: p } = e + let g + if (e.look === "handDrawn") { + const m = Rt.svg(i), + v = Roe(0, 0, f, u, d, h), + y = Noe(0, 0, f, u, d, h), + b = m.path(v, Dt(e, {})), + w = m.path(y, Dt(e, { fill: "none" })) + ;(g = i.insert(() => w, ":first-child")), + (g = i.insert(() => b, ":first-child")), + g.attr("class", "basic label-container"), + p && g.attr("style", p) + } else { + const m = Loe(0, 0, f, u, d, h) + ;(g = i + .insert("path", ":first-child") + .attr("d", m) + .attr("class", "basic label-container") + .attr("style", zi(p)) + .attr("style", n)), + g.attr("class", "basic label-container"), + p && g.selectAll("path").attr("style", p), + n && g.selectAll("path").attr("style", n) + } + return ( + g.attr("label-offset-x", d), + g.attr("transform", `translate(${-f / 2}, ${u / 2} )`), + s.attr( + "transform", + `translate(${-(a.width / 2) - d - (a.x - (a.left ?? 0))}, ${-(a.height / 2) - (a.y - (a.top ?? 0))})`, + ), + Mt(e, g), + (e.intersect = function (m) { + const v = _t.rect(e, m), + y = v.y - (e.y ?? 0) + if ( + h != 0 && + (Math.abs(y) < (e.height ?? 0) / 2 || + (Math.abs(y) == (e.height ?? 0) / 2 && Math.abs(v.x - (e.x ?? 0)) > (e.width ?? 0) / 2 - d)) + ) { + let b = d * d * (1 - (y * y) / (h * h)) + b != 0 && (b = Math.sqrt(Math.abs(b))), (b = d - b), m.x - (e.x ?? 0) > 0 && (b = -b), (v.x += b) + } + return v + }), + i + ) +} +x(TF, "tiltedCylinder") +async function EF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = a.width + e.padding, + o = a.height + e.padding, + l = [ + { x: (-3 * o) / 6, y: 0 }, + { x: s + (3 * o) / 6, y: 0 }, + { x: s, y: -o }, + { x: 0, y: -o }, + ] + let u + const { cssStyles: h } = e + if (e.look === "handDrawn") { + const d = Rt.svg(i), + f = Dt(e, {}), + p = pr(l), + g = d.path(p, f) + ;(u = i.insert(() => g, ":first-child").attr("transform", `translate(${-s / 2}, ${o / 2})`)), + h && u.attr("style", h) + } else u = nl(i, s, o, l) + return ( + n && u.attr("style", n), + (e.width = s), + (e.height = o), + Mt(e, u), + (e.intersect = function (d) { + return _t.polygon(e, l, d) + }), + i + ) +} +x(EF, "trapezoid") +async function kF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = 60, + o = 20, + l = Math.max(s, a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(o, a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + { cssStyles: h } = e, + d = Rt.svg(i), + f = Dt(e, {}) + e.look !== "handDrawn" && ((f.roughness = 0), (f.fillStyle = "solid")) + const p = [ + { x: (-l / 2) * 0.8, y: -u / 2 }, + { x: (l / 2) * 0.8, y: -u / 2 }, + { x: l / 2, y: (-u / 2) * 0.6 }, + { x: l / 2, y: u / 2 }, + { x: -l / 2, y: u / 2 }, + { x: -l / 2, y: (-u / 2) * 0.6 }, + ], + g = pr(p), + m = d.path(g, f), + v = i.insert(() => m, ":first-child") + return ( + v.attr("class", "basic label-container"), + h && e.look !== "handDrawn" && v.selectChildren("path").attr("style", h), + n && e.look !== "handDrawn" && v.selectChildren("path").attr("style", n), + Mt(e, v), + (e.intersect = function (y) { + return _t.polygon(e, p, y) + }), + i + ) +} +x(kF, "trapezoidalPentagon") +async function SF(t, e) { + var b + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Nr((b = we().flowchart) == null ? void 0 : b.htmlLabels), + l = a.width + (e.padding ?? 0), + u = l + a.height, + h = l + a.height, + d = [ + { x: 0, y: 0 }, + { x: h, y: 0 }, + { x: h / 2, y: -u }, + ], + { cssStyles: f } = e, + p = Rt.svg(i), + g = Dt(e, {}) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const m = pr(d), + v = p.path(m, g), + y = i.insert(() => v, ":first-child").attr("transform", `translate(${-u / 2}, ${u / 2})`) + return ( + f && e.look !== "handDrawn" && y.selectChildren("path").attr("style", f), + n && e.look !== "handDrawn" && y.selectChildren("path").attr("style", n), + (e.width = l), + (e.height = u), + Mt(e, y), + s.attr( + "transform", + `translate(${-a.width / 2 - (a.x - (a.left ?? 0))}, ${u / 2 - (a.height + (e.padding ?? 0) / (o ? 2 : 1) - (a.y - (a.top ?? 0)))})`, + ), + (e.intersect = function (w) { + return ie.info("Triangle intersect", e, d, w), _t.polygon(e, d, w) + }), + i + ) +} +x(SF, "triangle") +async function CF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = l / 8, + h = l + u, + { cssStyles: d } = e, + p = 70 - o, + g = p > 0 ? p / 2 : 0, + m = Rt.svg(i), + v = Dt(e, {}) + e.look !== "handDrawn" && ((v.roughness = 0), (v.fillStyle = "solid")) + const y = [ + { x: -o / 2 - g, y: h / 2 }, + ...Ml(-o / 2 - g, h / 2, o / 2 + g, h / 2, u, 0.8), + { x: o / 2 + g, y: -h / 2 }, + { x: -o / 2 - g, y: -h / 2 }, + ], + b = pr(y), + w = m.path(b, v), + T = i.insert(() => w, ":first-child") + return ( + T.attr("class", "basic label-container"), + d && e.look !== "handDrawn" && T.selectAll("path").attr("style", d), + n && e.look !== "handDrawn" && T.selectAll("path").attr("style", n), + T.attr("transform", `translate(0,${-u / 2})`), + s.attr( + "transform", + `translate(${-o / 2 + (e.padding ?? 0) - (a.x - (a.left ?? 0))},${-l / 2 + (e.padding ?? 0) - u - (a.y - (a.top ?? 0))})`, + ), + Mt(e, T), + (e.intersect = function (E) { + return _t.polygon(e, y, E) + }), + i + ) +} +x(CF, "waveEdgedRectangle") +async function AF(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a } = await Kt(t, e, Wt(e)), + s = 100, + o = 50, + l = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + u = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + h = l / u + let d = l, + f = u + d > f * h ? (f = d / h) : (d = f * h), (d = Math.max(d, s)), (f = Math.max(f, o)) + const p = Math.min(f * 0.2, f / 4), + g = f + p * 2, + { cssStyles: m } = e, + v = Rt.svg(i), + y = Dt(e, {}) + e.look !== "handDrawn" && ((y.roughness = 0), (y.fillStyle = "solid")) + const b = [ + { x: -d / 2, y: g / 2 }, + ...Ml(-d / 2, g / 2, d / 2, g / 2, p, 1), + { x: d / 2, y: -g / 2 }, + ...Ml(d / 2, -g / 2, -d / 2, -g / 2, p, -1), + ], + w = pr(b), + T = v.path(w, y), + E = i.insert(() => T, ":first-child") + return ( + E.attr("class", "basic label-container"), + m && e.look !== "handDrawn" && E.selectAll("path").attr("style", m), + n && e.look !== "handDrawn" && E.selectAll("path").attr("style", n), + Mt(e, E), + (e.intersect = function (S) { + return _t.polygon(e, b, S) + }), + i + ) +} +x(AF, "waveRectangle") +async function _F(t, e) { + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const { shapeSvg: i, bbox: a, label: s } = await Kt(t, e, Wt(e)), + o = Math.max(a.width + (e.padding ?? 0) * 2, (e == null ? void 0 : e.width) ?? 0), + l = Math.max(a.height + (e.padding ?? 0) * 2, (e == null ? void 0 : e.height) ?? 0), + u = 5, + h = -o / 2, + d = -l / 2, + { cssStyles: f } = e, + p = Rt.svg(i), + g = Dt(e, {}), + m = [ + { x: h - u, y: d - u }, + { x: h - u, y: d + l }, + { x: h + o, y: d + l }, + { x: h + o, y: d - u }, + ], + v = `M${h - u},${d - u} L${h + o},${d - u} L${h + o},${d + l} L${h - u},${d + l} L${h - u},${d - u} + M${h - u},${d} L${h + o},${d} + M${h},${d - u} L${h},${d + l}` + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const y = p.path(v, g), + b = i.insert(() => y, ":first-child") + return ( + b.attr("transform", `translate(${u / 2}, ${u / 2})`), + b.attr("class", "basic label-container"), + f && e.look !== "handDrawn" && b.selectAll("path").attr("style", f), + n && e.look !== "handDrawn" && b.selectAll("path").attr("style", n), + s.attr( + "transform", + `translate(${-(a.width / 2) + u / 2 - (a.x - (a.left ?? 0))}, ${-(a.height / 2) + u / 2 - (a.y - (a.top ?? 0))})`, + ), + Mt(e, b), + (e.intersect = function (w) { + return _t.polygon(e, m, w) + }), + i + ) +} +x(_F, "windowPane") +async function NE(t, e) { + var B, z, F + const r = e + if ((r.alias && (e.label = r.alias), e.look === "handDrawn")) { + const { themeVariables: G } = Dr(), + { background: q } = G, + Y = { ...e, id: e.id + "-background", look: "default", cssStyles: ["stroke: none", `fill: ${q}`] } + await NE(t, Y) + } + const n = Dr() + e.useHtmlLabels = n.htmlLabels + let i = ((B = n.er) == null ? void 0 : B.diagramPadding) ?? 10, + a = ((z = n.er) == null ? void 0 : z.entityPadding) ?? 6 + const { cssStyles: s } = e, + { labelStyles: o } = Ot(e) + if (r.attributes.length === 0 && e.label) { + const G = { rx: 0, ry: 0, labelPaddingX: i, labelPaddingY: i * 1.5 } + $i(e.label, n) + G.labelPaddingX * 2 < n.er.minEntityWidth && (e.width = n.er.minEntityWidth) + const q = await wg(t, e, G) + if (!Nr(n.htmlLabels)) { + const Y = q.select("text"), + ee = (F = Y.node()) == null ? void 0 : F.getBBox() + Y.attr("transform", `translate(${-ee.width / 2}, 0)`) + } + return q + } + n.htmlLabels || ((i *= 1.25), (a *= 1.25)) + let l = Wt(e) + l || (l = "node default") + const u = t + .insert("g") + .attr("class", l) + .attr("id", e.domId || e.id), + h = await Zu(u, e.label ?? "", n, 0, 0, ["name"], o) + h.height += a + let d = 0 + const f = [] + let p = 0, + g = 0, + m = 0, + v = 0, + y = !0, + b = !0 + for (const G of r.attributes) { + const q = await Zu(u, G.type, n, 0, d, ["attribute-type"], o) + p = Math.max(p, q.width + i) + const Y = await Zu(u, G.name, n, 0, d, ["attribute-name"], o) + g = Math.max(g, Y.width + i) + const ee = await Zu(u, G.keys.join(), n, 0, d, ["attribute-keys"], o) + m = Math.max(m, ee.width + i) + const Q = await Zu(u, G.comment, n, 0, d, ["attribute-comment"], o) + ;(v = Math.max(v, Q.width + i)), (d += Math.max(q.height, Y.height, ee.height, Q.height) + a), f.push(d) + } + f.pop() + let w = 4 + m <= i && ((y = !1), (m = 0), w--), v <= i && ((b = !1), (v = 0), w--) + const T = u.node().getBBox() + if (h.width + i * 2 - (p + g + m + v) > 0) { + const G = h.width + i * 2 - (p + g + m + v) + ;(p += G / w), (g += G / w), m > 0 && (m += G / w), v > 0 && (v += G / w) + } + const E = p + g + m + v, + S = Rt.svg(u), + k = Dt(e, {}) + e.look !== "handDrawn" && ((k.roughness = 0), (k.fillStyle = "solid")) + const L = Math.max(T.width + i * 2, (e == null ? void 0 : e.width) || 0, E), + A = Math.max(T.height + (f[0] || d) + a, (e == null ? void 0 : e.height) || 0), + R = -L / 2, + C = -A / 2 + u.selectAll("g:not(:first-child)").each((G, q, Y) => { + const ee = rt(Y[q]), + Q = ee.attr("transform") + let oe = 0, + pe = 0 + if (Q) { + const H = RegExp(/translate\(([^,]+),([^)]+)\)/).exec(Q) + H && + ((oe = parseFloat(H[1])), + (pe = parseFloat(H[2])), + ee.attr("class").includes("attribute-name") + ? (oe += p) + : ee.attr("class").includes("attribute-keys") + ? (oe += p + g) + : ee.attr("class").includes("attribute-comment") && (oe += p + g + m)) + } + ee.attr("transform", `translate(${R + i / 2 + oe}, ${pe + C + h.height + a / 2})`) + }), + u.select(".name").attr("transform", "translate(" + -h.width / 2 + ", " + (C + a / 2) + ")") + const I = S.rectangle(R, C, L, A, k), + P = u.insert(() => I, ":first-child").attr("style", s.join("")), + { themeVariables: _ } = Dr(), + { rowEven: N, rowOdd: M, nodeBorder: O } = _ + f.push(0) + for (const [G, q] of f.entries()) { + if (G === 0 && f.length > 1) continue + const Y = G % 2 === 0 && q !== 0, + ee = S.rectangle(R, h.height + C + q, L, h.height, { ...k, fill: Y ? N : M, stroke: O }) + u.insert(() => ee, "g.label") + .attr("style", s.join("")) + .attr("class", `row-rect-${G % 2 === 0 ? "even" : "odd"}`) + } + let D = S.line(R, h.height + C, L + R, h.height + C, k) + u.insert(() => D).attr("class", "divider"), + (D = S.line(p + R, h.height + C, p + R, A + C, k)), + u.insert(() => D).attr("class", "divider"), + y && ((D = S.line(p + g + R, h.height + C, p + g + R, A + C, k)), u.insert(() => D).attr("class", "divider")), + b && + ((D = S.line(p + g + m + R, h.height + C, p + g + m + R, A + C, k)), + u.insert(() => D).attr("class", "divider")) + for (const G of f) + (D = S.line(R, h.height + C + G, L + R, h.height + C + G, k)), u.insert(() => D).attr("class", "divider") + return ( + Mt(e, P), + (e.intersect = function (G) { + return _t.rect(e, G) + }), + u + ) +} +x(NE, "erBox") +async function Zu(t, e, r, n = 0, i = 0, a = [], s = "") { + const o = t + .insert("g") + .attr("class", `label ${a.join(" ")}`) + .attr("transform", `translate(${n}, ${i})`) + .attr("style", s) + e !== dl(e) && ((e = dl(e)), (e = e.replaceAll("<", "<").replaceAll(">", ">"))) + const l = o.node().appendChild(await fa(o, e, { width: $i(e, r) + 100, style: s, useHtmlLabels: r.htmlLabels }, r)) + if (e.includes("<") || e.includes(">")) { + let h = l.children[0] + for (h.textContent = h.textContent.replaceAll("<", "<").replaceAll(">", ">"); h.childNodes[0]; ) + (h = h.childNodes[0]), (h.textContent = h.textContent.replaceAll("<", "<").replaceAll(">", ">")) + } + let u = l.getBBox() + if (Nr(r.htmlLabels)) { + const h = l.children[0] + h.style.textAlign = "start" + const d = rt(l) + ;(u = h.getBoundingClientRect()), d.attr("width", u.width), d.attr("height", u.height) + } + return u +} +x(Zu, "addText") +async function LF(t, e, r, n, i = r.class.padding ?? 12) { + const a = n ? 0 : 3, + s = t + .insert("g") + .attr("class", Wt(e)) + .attr("id", e.domId || e.id) + let o = null, + l = null, + u = null, + h = null, + d = 0, + f = 0, + p = 0 + if (((o = s.insert("g").attr("class", "annotation-group text")), e.annotations.length > 0)) { + const b = e.annotations[0] + await n0(o, { text: `«${b}»` }, 0), (d = o.node().getBBox().height) + } + ;(l = s.insert("g").attr("class", "label-group text")), await n0(l, e, 0, ["font-weight: bolder"]) + const g = l.node().getBBox() + ;(f = g.height), (u = s.insert("g").attr("class", "members-group text")) + let m = 0 + for (const b of e.members) { + const w = await n0(u, b, m, [b.parseClassifier()]) + m += w + a + } + ;(p = u.node().getBBox().height), p <= 0 && (p = i / 2), (h = s.insert("g").attr("class", "methods-group text")) + let v = 0 + for (const b of e.methods) { + const w = await n0(h, b, v, [b.parseClassifier()]) + v += w + a + } + let y = s.node().getBBox() + if (o !== null) { + const b = o.node().getBBox() + o.attr("transform", `translate(${-b.width / 2})`) + } + return ( + l.attr("transform", `translate(${-g.width / 2}, ${d})`), + (y = s.node().getBBox()), + u.attr("transform", `translate(0, ${d + f + i * 2})`), + (y = s.node().getBBox()), + h.attr("transform", `translate(0, ${d + f + (p ? p + i * 4 : i * 2)})`), + (y = s.node().getBBox()), + { shapeSvg: s, bbox: y } + ) +} +x(LF, "textHelper") +async function n0(t, e, r, n = []) { + const i = t.insert("g").attr("class", "label").attr("style", n.join("; ")), + a = Dr() + let s = "useHtmlLabels" in e ? e.useHtmlLabels : (Nr(a.htmlLabels) ?? !0), + o = "" + "text" in e ? (o = e.text) : (o = e.label), !s && o.startsWith("\\") && (o = o.substring(1)), Si(o) && (s = !0) + const l = await fa(i, PT(Zs(o)), { width: $i(o, a) + 50, classes: "markdown-node-label", useHtmlLabels: s }, a) + let u, + h = 1 + if (s) { + const d = l.children[0], + f = rt(l) + ;(h = d.innerHTML.split("<br>").length), + d.innerHTML.includes("</math>") && (h += d.innerHTML.split("<mrow>").length - 1) + const p = d.getElementsByTagName("img") + if (p) { + const g = o.replace(/<img[^>]*>/g, "").trim() === "" + await Promise.all( + [...p].map( + (m) => + new Promise((v) => { + function y() { + var b + if (((m.style.display = "flex"), (m.style.flexDirection = "column"), g)) { + const w = + ((b = a.fontSize) == null ? void 0 : b.toString()) ?? + window.getComputedStyle(document.body).fontSize, + E = parseInt(w, 10) * 5 + "px" + ;(m.style.minWidth = E), (m.style.maxWidth = E) + } else m.style.width = "100%" + v(m) + } + x(y, "setupImage"), + setTimeout(() => { + m.complete && y() + }), + m.addEventListener("error", y), + m.addEventListener("load", y) + }), + ), + ) + } + ;(u = d.getBoundingClientRect()), f.attr("width", u.width), f.attr("height", u.height) + } else { + n.includes("font-weight: bolder") && rt(l).selectAll("tspan").attr("font-weight", ""), (h = l.children.length) + const d = l.children[0] + ;(l.textContent === "" || l.textContent.includes(">")) && + ((d.textContent = o[0] + o.substring(1).replaceAll(">", ">").replaceAll("<", "<").trim()), + o[1] === " " && (d.textContent = d.textContent[0] + " " + d.textContent.substring(1))), + d.textContent === "undefined" && (d.textContent = ""), + (u = l.getBBox()) + } + return i.attr("transform", "translate(0," + (-u.height / (2 * h) + r) + ")"), u.height +} +x(n0, "addText") +async function RF(t, e) { + var A, R + const r = we(), + n = r.class.padding ?? 12, + i = n, + a = e.useHtmlLabels ?? Nr(r.htmlLabels) ?? !0, + s = e + ;(s.annotations = s.annotations ?? []), (s.members = s.members ?? []), (s.methods = s.methods ?? []) + const { shapeSvg: o, bbox: l } = await LF(t, e, r, a, i), + { labelStyles: u, nodeStyles: h } = Ot(e) + ;(e.labelStyle = u), (e.cssStyles = s.styles || "") + const d = ((A = s.styles) == null ? void 0 : A.join(";")) || h || "" + e.cssStyles || (e.cssStyles = d.replaceAll("!important", "").split(";")) + const f = s.members.length === 0 && s.methods.length === 0 && !((R = r.class) != null && R.hideEmptyMembersBox), + p = Rt.svg(o), + g = Dt(e, {}) + e.look !== "handDrawn" && ((g.roughness = 0), (g.fillStyle = "solid")) + const m = l.width + let v = l.height + s.members.length === 0 && s.methods.length === 0 + ? (v += i) + : s.members.length > 0 && s.methods.length === 0 && (v += i * 2) + const y = -m / 2, + b = -v / 2, + w = p.rectangle( + y - n, + b - n - (f ? n : s.members.length === 0 && s.methods.length === 0 ? -n / 2 : 0), + m + 2 * n, + v + 2 * n + (f ? n * 2 : s.members.length === 0 && s.methods.length === 0 ? -n : 0), + g, + ), + T = o.insert(() => w, ":first-child") + T.attr("class", "basic label-container") + const E = T.node().getBBox() + o.selectAll(".text").each((C, I, P) => { + var B + const _ = rt(P[I]), + N = _.attr("transform") + let M = 0 + if (N) { + const F = RegExp(/translate\(([^,]+),([^)]+)\)/).exec(N) + F && (M = parseFloat(F[2])) + } + let O = M + b + n - (f ? n : s.members.length === 0 && s.methods.length === 0 ? -n / 2 : 0) + a || (O -= 4) + let D = y + ;(_.attr("class").includes("label-group") || _.attr("class").includes("annotation-group")) && + ((D = -((B = _.node()) == null ? void 0 : B.getBBox().width) / 2 || 0), + o.selectAll("text").each(function (z, F, G) { + window.getComputedStyle(G[F]).textAnchor === "middle" && (D = 0) + })), + _.attr("transform", `translate(${D}, ${O})`) + }) + const S = o.select(".annotation-group").node().getBBox().height - (f ? n / 2 : 0) || 0, + k = o.select(".label-group").node().getBBox().height - (f ? n / 2 : 0) || 0, + L = o.select(".members-group").node().getBBox().height - (f ? n / 2 : 0) || 0 + if (s.members.length > 0 || s.methods.length > 0 || f) { + const C = p.line(E.x, S + k + b + n, E.x + E.width, S + k + b + n, g) + o.insert(() => C) + .attr("class", "divider") + .attr("style", d) + } + if (f || s.members.length > 0 || s.methods.length > 0) { + const C = p.line(E.x, S + k + L + b + i * 2 + n, E.x + E.width, S + k + L + b + n + i * 2, g) + o.insert(() => C) + .attr("class", "divider") + .attr("style", d) + } + if ( + (s.look !== "handDrawn" && o.selectAll("path").attr("style", d), + T.select(":nth-child(2)").attr("style", d), + o.selectAll(".divider").select("path").attr("style", d), + e.labelStyle ? o.selectAll("span").attr("style", e.labelStyle) : o.selectAll("span").attr("style", d), + !a) + ) { + const C = RegExp(/color\s*:\s*([^;]*)/), + I = C.exec(d) + if (I) { + const P = I[0].replace("color", "fill") + o.selectAll("tspan").attr("style", P) + } else if (u) { + const P = C.exec(u) + if (P) { + const _ = P[0].replace("color", "fill") + o.selectAll("tspan").attr("style", _) + } + } + } + return ( + Mt(e, T), + (e.intersect = function (C) { + return _t.rect(e, C) + }), + o + ) +} +x(RF, "classBox") +async function NF(t, e) { + var S, k + const { labelStyles: r, nodeStyles: n } = Ot(e) + e.labelStyle = r + const i = e, + a = e, + s = 20, + o = 20, + l = "verifyMethod" in e, + u = Wt(e), + h = t + .insert("g") + .attr("class", u) + .attr("id", e.domId ?? e.id) + let d + l + ? (d = await Ms(h, `<<${i.type}>>`, 0, e.labelStyle)) + : (d = await Ms(h, "<<Element>>", 0, e.labelStyle)) + let f = d + const p = await Ms(h, i.name, f, e.labelStyle + "; font-weight: bold;") + if (((f += p + o), l)) { + const L = await Ms(h, `${i.requirementId ? `Id: ${i.requirementId}` : ""}`, f, e.labelStyle) + f += L + const A = await Ms(h, `${i.text ? `Text: ${i.text}` : ""}`, f, e.labelStyle) + f += A + const R = await Ms(h, `${i.risk ? `Risk: ${i.risk}` : ""}`, f, e.labelStyle) + ;(f += R), await Ms(h, `${i.verifyMethod ? `Verification: ${i.verifyMethod}` : ""}`, f, e.labelStyle) + } else { + const L = await Ms(h, `${a.type ? `Type: ${a.type}` : ""}`, f, e.labelStyle) + ;(f += L), await Ms(h, `${a.docRef ? `Doc Ref: ${a.docRef}` : ""}`, f, e.labelStyle) + } + const g = (((S = h.node()) == null ? void 0 : S.getBBox().width) ?? 200) + s, + m = (((k = h.node()) == null ? void 0 : k.getBBox().height) ?? 200) + s, + v = -g / 2, + y = -m / 2, + b = Rt.svg(h), + w = Dt(e, {}) + e.look !== "handDrawn" && ((w.roughness = 0), (w.fillStyle = "solid")) + const T = b.rectangle(v, y, g, m, w), + E = h.insert(() => T, ":first-child") + if ( + (E.attr("class", "basic label-container").attr("style", n), + h.selectAll(".label").each((L, A, R) => { + const C = rt(R[A]), + I = C.attr("transform") + let P = 0, + _ = 0 + if (I) { + const D = RegExp(/translate\(([^,]+),([^)]+)\)/).exec(I) + D && ((P = parseFloat(D[1])), (_ = parseFloat(D[2]))) + } + const N = _ - m / 2 + let M = v + s / 2 + ;(A === 0 || A === 1) && (M = P), C.attr("transform", `translate(${M}, ${N + s})`) + }), + f > d + p + o) + ) { + const L = b.line(v, y + d + p + o, v + g, y + d + p + o, w) + h.insert(() => L).attr("style", n) + } + return ( + Mt(e, E), + (e.intersect = function (L) { + return _t.rect(e, L) + }), + h + ) +} +x(NF, "requirementBox") +async function Ms(t, e, r, n = "") { + if (e === "") return 0 + const i = t.insert("g").attr("class", "label").attr("style", n), + a = we(), + s = a.htmlLabels ?? !0, + o = await fa( + i, + PT(Zs(e)), + { width: $i(e, a) + 50, classes: "markdown-node-label", useHtmlLabels: s, style: n }, + a, + ) + let l + if (s) { + const u = o.children[0], + h = rt(o) + ;(l = u.getBoundingClientRect()), h.attr("width", l.width), h.attr("height", l.height) + } else { + const u = o.children[0] + for (const h of u.children) + (h.textContent = h.textContent.replaceAll(">", ">").replaceAll("<", "<")), + n && h.setAttribute("style", n) + ;(l = o.getBBox()), (l.height += 6) + } + return i.attr("transform", `translate(${-l.width / 2},${-l.height / 2 + r})`), l.height +} +x(Ms, "addText") +var Doe = x((t) => { + switch (t) { + case "Very High": + return "red" + case "High": + return "orange" + case "Medium": + return null + case "Low": + return "blue" + case "Very Low": + return "lightblue" + } +}, "colorFromPriority") +async function DF(t, e, { config: r }) { + var I, P + const { labelStyles: n, nodeStyles: i } = Ot(e) + e.labelStyle = n || "" + const a = 10, + s = e.width + e.width = (e.width ?? 200) - 10 + const { shapeSvg: o, bbox: l, label: u } = await Kt(t, e, Wt(e)), + h = e.padding || 10 + let d = "", + f + "ticket" in e && + e.ticket && + (I = r == null ? void 0 : r.kanban) != null && + I.ticketBaseUrl && + ((d = (P = r == null ? void 0 : r.kanban) == null ? void 0 : P.ticketBaseUrl.replace("#TICKET#", e.ticket)), + (f = o + .insert("svg:a", ":first-child") + .attr("class", "kanban-ticket-link") + .attr("xlink:href", d) + .attr("target", "_blank"))) + const p = { + useHtmlLabels: e.useHtmlLabels, + labelStyle: e.labelStyle || "", + width: e.width, + img: e.img, + padding: e.padding || 8, + centerLabel: !1, + } + let g, m + f + ? ({ label: g, bbox: m } = await Gb(f, ("ticket" in e && e.ticket) || "", p)) + : ({ label: g, bbox: m } = await Gb(o, ("ticket" in e && e.ticket) || "", p)) + const { label: v, bbox: y } = await Gb(o, ("assigned" in e && e.assigned) || "", p) + e.width = s + const b = 10, + w = (e == null ? void 0 : e.width) || 0, + T = Math.max(m.height, y.height) / 2, + E = Math.max(l.height + b * 2, (e == null ? void 0 : e.height) || 0) + T, + S = -w / 2, + k = -E / 2 + u.attr("transform", "translate(" + (h - w / 2) + ", " + (-T - l.height / 2) + ")"), + g.attr("transform", "translate(" + (h - w / 2) + ", " + (-T + l.height / 2) + ")"), + v.attr("transform", "translate(" + (h + w / 2 - y.width - 2 * a) + ", " + (-T + l.height / 2) + ")") + let L + const { rx: A, ry: R } = e, + { cssStyles: C } = e + if (e.look === "handDrawn") { + const _ = Rt.svg(o), + N = Dt(e, {}), + M = A || R ? _.path(rl(S, k, w, E, A || 0), N) : _.rectangle(S, k, w, E, N) + ;(L = o.insert(() => M, ":first-child")), L.attr("class", "basic label-container").attr("style", C || null) + } else { + ;(L = o.insert("rect", ":first-child")), + L.attr("class", "basic label-container __APA__") + .attr("style", i) + .attr("rx", A ?? 5) + .attr("ry", R ?? 5) + .attr("x", S) + .attr("y", k) + .attr("width", w) + .attr("height", E) + const _ = "priority" in e && e.priority + if (_) { + const N = o.append("line"), + M = S + 2, + O = k + Math.floor((A ?? 0) / 2), + D = k + E - Math.floor((A ?? 0) / 2) + N.attr("x1", M).attr("y1", O).attr("x2", M).attr("y2", D).attr("stroke-width", "4").attr("stroke", Doe(_)) + } + } + return ( + Mt(e, L), + (e.height = E), + (e.intersect = function (_) { + return _t.rect(e, _) + }), + o + ) +} +x(DF, "kanbanItem") +var Ioe = [ + { + semanticName: "Process", + name: "Rectangle", + shortName: "rect", + description: "Standard process shape", + aliases: ["proc", "process", "rectangle"], + internalAliases: ["squareRect"], + handler: fF, + }, + { + semanticName: "Event", + name: "Rounded Rectangle", + shortName: "rounded", + description: "Represents an event", + aliases: ["event"], + internalAliases: ["roundedRect"], + handler: uF, + }, + { + semanticName: "Terminal Point", + name: "Stadium", + shortName: "stadium", + description: "Terminal point", + aliases: ["terminal", "pill"], + handler: pF, + }, + { + semanticName: "Subprocess", + name: "Framed Rectangle", + shortName: "fr-rect", + description: "Subprocess", + aliases: ["subprocess", "subproc", "framed-rectangle", "subroutine"], + handler: yF, + }, + { + semanticName: "Database", + name: "Cylinder", + shortName: "cyl", + description: "Database storage", + aliases: ["db", "database", "cylinder"], + handler: BB, + }, + { + semanticName: "Start", + name: "Circle", + shortName: "circle", + description: "Starting point", + aliases: ["circ"], + handler: RB, + }, + { + semanticName: "Decision", + name: "Diamond", + shortName: "diam", + description: "Decision-making step", + aliases: ["decision", "diamond", "question"], + handler: oF, + }, + { + semanticName: "Prepare Conditional", + name: "Hexagon", + shortName: "hex", + description: "Preparation or condition step", + aliases: ["hexagon", "prepare"], + handler: qB, + }, + { + semanticName: "Data Input/Output", + name: "Lean Right", + shortName: "lean-r", + description: "Represents input or output", + aliases: ["lean-right", "in-out"], + internalAliases: ["lean_right"], + handler: eF, + }, + { + semanticName: "Data Input/Output", + name: "Lean Left", + shortName: "lean-l", + description: "Represents output or input", + aliases: ["lean-left", "out-in"], + internalAliases: ["lean_left"], + handler: JB, + }, + { + semanticName: "Priority Action", + name: "Trapezoid Base Bottom", + shortName: "trap-b", + description: "Priority action", + aliases: ["priority", "trapezoid-bottom", "trapezoid"], + handler: EF, + }, + { + semanticName: "Manual Operation", + name: "Trapezoid Base Top", + shortName: "trap-t", + description: "Represents a manual task", + aliases: ["manual", "trapezoid-top", "inv-trapezoid"], + internalAliases: ["inv_trapezoid"], + handler: ZB, + }, + { + semanticName: "Stop", + name: "Double Circle", + shortName: "dbl-circ", + description: "Represents a stop point", + aliases: ["double-circle"], + internalAliases: ["doublecircle"], + handler: $B, + }, + { semanticName: "Text Block", name: "Text Block", shortName: "text", description: "Text block", handler: wF }, + { + semanticName: "Card", + name: "Notched Rectangle", + shortName: "notch-rect", + description: "Represents a card", + aliases: ["card", "notched-rectangle"], + handler: _B, + }, + { + semanticName: "Lined/Shaded Process", + name: "Lined Rectangle", + shortName: "lin-rect", + description: "Lined process shape", + aliases: ["lined-rectangle", "lined-process", "lin-proc", "shaded-process"], + handler: hF, + }, + { + semanticName: "Start", + name: "Small Circle", + shortName: "sm-circ", + description: "Small starting point", + aliases: ["start", "small-circle"], + internalAliases: ["stateStart"], + handler: vF, + }, + { + semanticName: "Stop", + name: "Framed Circle", + shortName: "fr-circ", + description: "Stop point", + aliases: ["stop", "framed-circle"], + internalAliases: ["stateEnd"], + handler: mF, + }, + { + semanticName: "Fork/Join", + name: "Filled Rectangle", + shortName: "fork", + description: "Fork or join in process flow", + aliases: ["join"], + internalAliases: ["forkJoin"], + handler: GB, + }, + { + semanticName: "Collate", + name: "Hourglass", + shortName: "hourglass", + description: "Represents a collate operation", + aliases: ["hourglass", "collate"], + handler: WB, + }, + { + semanticName: "Comment", + name: "Curly Brace", + shortName: "brace", + description: "Adds a comment", + aliases: ["comment", "brace-l"], + handler: IB, + }, + { + semanticName: "Comment Right", + name: "Curly Brace", + shortName: "brace-r", + description: "Adds a comment", + handler: MB, + }, + { + semanticName: "Comment with braces on both sides", + name: "Curly Braces", + shortName: "braces", + description: "Adds a comment", + handler: OB, + }, + { + semanticName: "Com Link", + name: "Lightning Bolt", + shortName: "bolt", + description: "Communication link", + aliases: ["com-link", "lightning-bolt"], + handler: tF, + }, + { + semanticName: "Document", + name: "Document", + shortName: "doc", + description: "Represents a document", + aliases: ["doc", "document"], + handler: CF, + }, + { + semanticName: "Delay", + name: "Half-Rounded Rectangle", + shortName: "delay", + description: "Represents a delay", + aliases: ["half-rounded-rectangle"], + handler: UB, + }, + { + semanticName: "Direct Access Storage", + name: "Horizontal Cylinder", + shortName: "h-cyl", + description: "Direct access storage", + aliases: ["das", "horizontal-cylinder"], + handler: TF, + }, + { + semanticName: "Disk Storage", + name: "Lined Cylinder", + shortName: "lin-cyl", + description: "Disk storage", + aliases: ["disk", "lined-cylinder"], + handler: rF, + }, + { + semanticName: "Display", + name: "Curved Trapezoid", + shortName: "curv-trap", + description: "Represents a display", + aliases: ["curved-trapezoid", "display"], + handler: PB, + }, + { + semanticName: "Divided Process", + name: "Divided Rectangle", + shortName: "div-rect", + description: "Divided process shape", + aliases: ["div-proc", "divided-rectangle", "divided-process"], + handler: FB, + }, + { + semanticName: "Extract", + name: "Triangle", + shortName: "tri", + description: "Extraction process", + aliases: ["extract", "triangle"], + handler: SF, + }, + { + semanticName: "Internal Storage", + name: "Window Pane", + shortName: "win-pane", + description: "Internal storage", + aliases: ["internal-storage", "window-pane"], + handler: _F, + }, + { + semanticName: "Junction", + name: "Filled Circle", + shortName: "f-circ", + description: "Junction point", + aliases: ["junction", "filled-circle"], + handler: zB, + }, + { + semanticName: "Loop Limit", + name: "Trapezoidal Pentagon", + shortName: "notch-pent", + description: "Loop limit step", + aliases: ["loop-limit", "notched-pentagon"], + handler: kF, + }, + { + semanticName: "Manual File", + name: "Flipped Triangle", + shortName: "flip-tri", + description: "Manual file operation", + aliases: ["manual-file", "flipped-triangle"], + handler: VB, + }, + { + semanticName: "Manual Input", + name: "Sloped Rectangle", + shortName: "sl-rect", + description: "Manual input step", + aliases: ["manual-input", "sloped-rectangle"], + handler: dF, + }, + { + semanticName: "Multi-Document", + name: "Stacked Document", + shortName: "docs", + description: "Multiple documents", + aliases: ["documents", "st-doc", "stacked-document"], + handler: aF, + }, + { + semanticName: "Multi-Process", + name: "Stacked Rectangle", + shortName: "st-rect", + description: "Multiple processes", + aliases: ["procs", "processes", "stacked-rectangle"], + handler: iF, + }, + { + semanticName: "Stored Data", + name: "Bow Tie Rectangle", + shortName: "bow-rect", + description: "Stored data", + aliases: ["stored-data", "bow-tie-rectangle"], + handler: AB, + }, + { + semanticName: "Summary", + name: "Crossed Circle", + shortName: "cross-circ", + description: "Summary", + aliases: ["summary", "crossed-circle"], + handler: DB, + }, + { + semanticName: "Tagged Document", + name: "Tagged Document", + shortName: "tag-doc", + description: "Tagged document", + aliases: ["tag-doc", "tagged-document"], + handler: bF, + }, + { + semanticName: "Tagged Process", + name: "Tagged Rectangle", + shortName: "tag-rect", + description: "Tagged process", + aliases: ["tagged-rectangle", "tag-proc", "tagged-process"], + handler: xF, + }, + { + semanticName: "Paper Tape", + name: "Flag", + shortName: "flag", + description: "Paper tape", + aliases: ["paper-tape"], + handler: AF, + }, + { + semanticName: "Odd", + name: "Odd", + shortName: "odd", + description: "Odd shape", + internalAliases: ["rect_left_inv_arrow"], + handler: lF, + }, + { + semanticName: "Lined Document", + name: "Lined Document", + shortName: "lin-doc", + description: "Lined document", + aliases: ["lined-document"], + handler: nF, + }, + ], + Moe = x(() => { + const e = [ + ...Object.entries({ + state: gF, + choice: LB, + note: sF, + rectWithTitle: cF, + labelRect: QB, + iconSquare: jB, + iconCircle: YB, + icon: HB, + iconRounded: XB, + imageSquare: KB, + anchor: CB, + kanbanItem: DF, + classBox: RF, + erBox: NE, + requirementBox: NF, + }), + ...Ioe.flatMap((r) => + [ + r.shortName, + ...("aliases" in r ? r.aliases : []), + ...("internalAliases" in r ? r.internalAliases : []), + ].map((i) => [i, r.handler]), + ), + ] + return Object.fromEntries(e) + }, "generateShapeMap"), + IF = Moe() +function MF(t) { + return t in IF +} +x(MF, "isValidShape") +var H2 = new Map() +async function Y2(t, e, r) { + let n, i + e.shape === "rect" && (e.rx && e.ry ? (e.shape = "roundedRect") : (e.shape = "squareRect")) + const a = e.shape ? IF[e.shape] : void 0 + if (!a) throw new Error(`No such shape: ${e.shape}. Please check your syntax.`) + if (e.link) { + let s + r.config.securityLevel === "sandbox" ? (s = "_top") : e.linkTarget && (s = e.linkTarget || "_blank"), + (n = t + .insert("svg:a") + .attr("xlink:href", e.link) + .attr("target", s ?? null)), + (i = await a(n, e, r)) + } else (i = await a(t, e, r)), (n = i) + return ( + e.tooltip && i.attr("title", e.tooltip), + H2.set(e.id, n), + e.haveCallback && n.attr("class", n.attr("class") + " clickable"), + n + ) +} +x(Y2, "insertNode") +var Ooe = x((t, e) => { + H2.set(e.id, t) + }, "setNodeElem"), + Poe = x(() => { + H2.clear() + }, "clear"), + lw = x((t) => { + const e = H2.get(t.id) + ie.trace("Transforming node", t.diff, t, "translate(" + (t.x - t.width / 2 - 5) + ", " + t.width / 2 + ")") + const r = 8, + n = t.diff || 0 + return ( + t.clusterNode + ? e.attr("transform", "translate(" + (t.x + n - t.width / 2) + ", " + (t.y - t.height / 2 - r) + ")") + : e.attr("transform", "translate(" + t.x + ", " + t.y + ")"), + n + ) + }, "positionNode"), + Boe = x((t, e, r, n, i, a) => { + e.arrowTypeStart && u8(t, "start", e.arrowTypeStart, r, n, i, a), + e.arrowTypeEnd && u8(t, "end", e.arrowTypeEnd, r, n, i, a) + }, "addEdgeMarkers"), + Foe = { + arrow_cross: { type: "cross", fill: !1 }, + arrow_point: { type: "point", fill: !0 }, + arrow_barb: { type: "barb", fill: !0 }, + arrow_circle: { type: "circle", fill: !1 }, + aggregation: { type: "aggregation", fill: !1 }, + extension: { type: "extension", fill: !1 }, + composition: { type: "composition", fill: !0 }, + dependency: { type: "dependency", fill: !0 }, + lollipop: { type: "lollipop", fill: !1 }, + only_one: { type: "onlyOne", fill: !1 }, + zero_or_one: { type: "zeroOrOne", fill: !1 }, + one_or_more: { type: "oneOrMore", fill: !1 }, + zero_or_more: { type: "zeroOrMore", fill: !1 }, + requirement_arrow: { type: "requirement_arrow", fill: !1 }, + requirement_contains: { type: "requirement_contains", fill: !1 }, + }, + u8 = x((t, e, r, n, i, a, s) => { + var d + const o = Foe[r] + if (!o) { + ie.warn(`Unknown arrow type: ${r}`) + return + } + const l = o.type, + h = `${i}_${a}-${l}${e === "start" ? "Start" : "End"}` + if (s && s.trim() !== "") { + const f = s.replace(/[^\dA-Za-z]/g, "_"), + p = `${h}_${f}` + if (!document.getElementById(p)) { + const g = document.getElementById(h) + if (g) { + const m = g.cloneNode(!0) + ;(m.id = p), + m.querySelectorAll("path, circle, line").forEach((y) => { + y.setAttribute("stroke", s), o.fill && y.setAttribute("fill", s) + }), + (d = g.parentNode) == null || d.appendChild(m) + } + } + t.attr(`marker-${e}`, `url(${n}#${p})`) + } else t.attr(`marker-${e}`, `url(${n}#${h})`) + }, "addEdgeMarker"), + ly = new Map(), + si = new Map(), + $oe = x(() => { + ly.clear(), si.clear() + }, "clear"), + $f = x((t) => (t ? t.reduce((r, n) => r + ";" + n, "") : ""), "getLabelStyles"), + OF = x(async (t, e) => { + let r = Nr(we().flowchart.htmlLabels) + const n = await fa(t, e.label, { style: $f(e.labelStyle), useHtmlLabels: r, addSvgBackground: !0, isNode: !1 }) + ie.info("abc82", e, e.labelType) + const i = t.insert("g").attr("class", "edgeLabel"), + a = i.insert("g").attr("class", "label") + a.node().appendChild(n) + let s = n.getBBox() + if (r) { + const l = n.children[0], + u = rt(n) + ;(s = l.getBoundingClientRect()), u.attr("width", s.width), u.attr("height", s.height) + } + a.attr("transform", "translate(" + -s.width / 2 + ", " + -s.height / 2 + ")"), + ly.set(e.id, i), + (e.width = s.width), + (e.height = s.height) + let o + if (e.startLabelLeft) { + const l = await Ic(e.startLabelLeft, $f(e.labelStyle)), + u = t.insert("g").attr("class", "edgeTerminals"), + h = u.insert("g").attr("class", "inner") + o = h.node().appendChild(l) + const d = l.getBBox() + h.attr("transform", "translate(" + -d.width / 2 + ", " + -d.height / 2 + ")"), + si.get(e.id) || si.set(e.id, {}), + (si.get(e.id).startLeft = u), + i0(o, e.startLabelLeft) + } + if (e.startLabelRight) { + const l = await Ic(e.startLabelRight, $f(e.labelStyle)), + u = t.insert("g").attr("class", "edgeTerminals"), + h = u.insert("g").attr("class", "inner") + ;(o = u.node().appendChild(l)), h.node().appendChild(l) + const d = l.getBBox() + h.attr("transform", "translate(" + -d.width / 2 + ", " + -d.height / 2 + ")"), + si.get(e.id) || si.set(e.id, {}), + (si.get(e.id).startRight = u), + i0(o, e.startLabelRight) + } + if (e.endLabelLeft) { + const l = await Ic(e.endLabelLeft, $f(e.labelStyle)), + u = t.insert("g").attr("class", "edgeTerminals"), + h = u.insert("g").attr("class", "inner") + o = h.node().appendChild(l) + const d = l.getBBox() + h.attr("transform", "translate(" + -d.width / 2 + ", " + -d.height / 2 + ")"), + u.node().appendChild(l), + si.get(e.id) || si.set(e.id, {}), + (si.get(e.id).endLeft = u), + i0(o, e.endLabelLeft) + } + if (e.endLabelRight) { + const l = await Ic(e.endLabelRight, $f(e.labelStyle)), + u = t.insert("g").attr("class", "edgeTerminals"), + h = u.insert("g").attr("class", "inner") + o = h.node().appendChild(l) + const d = l.getBBox() + h.attr("transform", "translate(" + -d.width / 2 + ", " + -d.height / 2 + ")"), + u.node().appendChild(l), + si.get(e.id) || si.set(e.id, {}), + (si.get(e.id).endRight = u), + i0(o, e.endLabelRight) + } + return n + }, "insertEdgeLabel") +function i0(t, e) { + we().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + "px"), (t.style.height = "12px")) +} +x(i0, "setTerminalWidth") +var PF = x((t, e) => { + ie.debug("Moving label abc88 ", t.id, t.label, ly.get(t.id), e) + let r = e.updatedPath ? e.updatedPath : e.originalPath + const n = we(), + { subGraphTitleTotalMargin: i } = ug(n) + if (t.label) { + const a = ly.get(t.id) + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcLabelPosition(r) + ie.debug("Moving label " + t.label + " from (", s, ",", o, ") to (", l.x, ",", l.y, ") abc88"), + e.updatedPath && ((s = l.x), (o = l.y)) + } + a.attr("transform", `translate(${s}, ${o + i / 2})`) + } + if (t.startLabelLeft) { + const a = si.get(t.id).startLeft + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, "start_left", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + if (t.startLabelRight) { + const a = si.get(t.id).startRight + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, "start_right", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + if (t.endLabelLeft) { + const a = si.get(t.id).endLeft + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, "end_left", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + if (t.endLabelRight) { + const a = si.get(t.id).endRight + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, "end_right", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + }, "positionEdgeLabel"), + zoe = x((t, e) => { + const r = t.x, + n = t.y, + i = Math.abs(e.x - r), + a = Math.abs(e.y - n), + s = t.width / 2, + o = t.height / 2 + return i >= s || a >= o + }, "outsideNode"), + Voe = x((t, e, r) => { + ie.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`) + const n = t.x, + i = t.y, + a = Math.abs(n - r.x), + s = t.width / 2 + let o = r.x < e.x ? s - a : s + a + const l = t.height / 2, + u = Math.abs(e.y - r.y), + h = Math.abs(e.x - r.x) + if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * l) { + let d = r.y < e.y ? e.y - l - i : i - l - e.y + o = (h * d) / u + const f = { x: r.x < e.x ? r.x + o : r.x - h + o, y: r.y < e.y ? r.y + u - d : r.y - u + d } + return ( + o === 0 && ((f.x = e.x), (f.y = e.y)), + h === 0 && (f.x = e.x), + u === 0 && (f.y = e.y), + ie.debug(`abc89 top/bottom calc, Q ${u}, q ${d}, R ${h}, r ${o}`, f), + f + ) + } else { + r.x < e.x ? (o = e.x - s - n) : (o = n - s - e.x) + let d = (u * o) / h, + f = r.x < e.x ? r.x + h - o : r.x - h + o, + p = r.y < e.y ? r.y + d : r.y - d + return ( + ie.debug(`sides calc abc89, Q ${u}, q ${d}, R ${h}, r ${o}`, { _x: f, _y: p }), + o === 0 && ((f = e.x), (p = e.y)), + h === 0 && (f = e.x), + u === 0 && (p = e.y), + { x: f, y: p } + ) + } + }, "intersection"), + h8 = x((t, e) => { + ie.warn("abc88 cutPathAtIntersect", t, e) + let r = [], + n = t[0], + i = !1 + return ( + t.forEach((a) => { + if ((ie.info("abc88 checking point", a, e), !zoe(e, a) && !i)) { + const s = Voe(e, n, a) + ie.debug("abc88 inside", a, n, s), ie.debug("abc88 intersection", s, e) + let o = !1 + r.forEach((l) => { + o = o || (l.x === s.x && l.y === s.y) + }), + r.some((l) => l.x === s.x && l.y === s.y) ? ie.warn("abc88 no intersect", s, r) : r.push(s), + (i = !0) + } else ie.warn("abc88 outside", a, n), (n = a), i || r.push(a) + }), + ie.debug("returning points", r), + r + ) + }, "cutPathAtIntersect") +function BF(t) { + const e = [], + r = [] + for (let n = 1; n < t.length - 1; n++) { + const i = t[n - 1], + a = t[n], + s = t[n + 1] + ;((i.x === a.x && a.y === s.y && Math.abs(a.x - s.x) > 5 && Math.abs(a.y - i.y) > 5) || + (i.y === a.y && a.x === s.x && Math.abs(a.x - i.x) > 5 && Math.abs(a.y - s.y) > 5)) && + (e.push(a), r.push(n)) + } + return { cornerPoints: e, cornerPointPositions: r } +} +x(BF, "extractCornerPoints") +var d8 = x(function (t, e, r) { + const n = e.x - t.x, + i = e.y - t.y, + a = Math.sqrt(n * n + i * i), + s = r / a + return { x: e.x - s * n, y: e.y - s * i } + }, "findAdjacentPoint"), + Goe = x(function (t) { + const { cornerPointPositions: e } = BF(t), + r = [] + for (let n = 0; n < t.length; n++) + if (e.includes(n)) { + const i = t[n - 1], + a = t[n + 1], + s = t[n], + o = d8(i, s, 5), + l = d8(a, s, 5), + u = l.x - o.x, + h = l.y - o.y + r.push(o) + const d = Math.sqrt(2) * 2 + let f = { x: s.x, y: s.y } + if (Math.abs(a.x - i.x) > 10 && Math.abs(a.y - i.y) >= 10) { + ie.debug("Corner point fixing", Math.abs(a.x - i.x), Math.abs(a.y - i.y)) + const p = 5 + s.x === o.x + ? (f = { x: u < 0 ? o.x - p + d : o.x + p - d, y: h < 0 ? o.y - d : o.y + d }) + : (f = { x: u < 0 ? o.x - d : o.x + d, y: h < 0 ? o.y - p + d : o.y + p - d }) + } else ie.debug("Corner point skipping fixing", Math.abs(a.x - i.x), Math.abs(a.y - i.y)) + r.push(f, l) + } else r.push(t[n]) + return r + }, "fixCorners"), + FF = x(function (t, e, r, n, i, a, s) { + var A + const { handDrawnSeed: o } = we() + let l = e.points, + u = !1 + const h = i + var d = a + const f = [] + for (const R in e.cssCompiledStyles) vB(R) || f.push(e.cssCompiledStyles[R]) + d.intersect && + h.intersect && + ((l = l.slice(1, e.points.length - 1)), + l.unshift(h.intersect(l[0])), + ie.debug("Last point APA12", e.start, "-->", e.end, l[l.length - 1], d, d.intersect(l[l.length - 1])), + l.push(d.intersect(l[l.length - 1]))), + e.toCluster && + (ie.info("to cluster abc88", r.get(e.toCluster)), + (l = h8(e.points, r.get(e.toCluster).node)), + (u = !0)), + e.fromCluster && + (ie.debug("from cluster abc88", r.get(e.fromCluster), JSON.stringify(l, null, 2)), + (l = h8(l.reverse(), r.get(e.fromCluster).node).reverse()), + (u = !0)) + let p = l.filter((R) => !Number.isNaN(R.y)) + p = Goe(p) + let g = mh + switch (((g = Wv), e.curve)) { + case "linear": + g = Wv + break + case "basis": + g = mh + break + case "cardinal": + g = JO + break + case "bumpX": + g = XO + break + case "bumpY": + g = jO + break + case "catmullRom": + g = tP + break + case "monotoneX": + g = oP + break + case "monotoneY": + g = lP + break + case "natural": + g = uP + break + case "step": + g = hP + break + case "stepAfter": + g = fP + break + case "stepBefore": + g = dP + break + default: + g = mh + } + const { x: m, y: v } = UM(e), + y = _p().x(m).y(v).curve(g) + let b + switch (e.thickness) { + case "normal": + b = "edge-thickness-normal" + break + case "thick": + b = "edge-thickness-thick" + break + case "invisible": + b = "edge-thickness-invisible" + break + default: + b = "edge-thickness-normal" + } + switch (e.pattern) { + case "solid": + b += " edge-pattern-solid" + break + case "dotted": + b += " edge-pattern-dotted" + break + case "dashed": + b += " edge-pattern-dashed" + break + default: + b += " edge-pattern-solid" + } + let w, + T = y(p) + const E = Array.isArray(e.style) ? e.style : [e.style] + let S = E.find((R) => (R == null ? void 0 : R.startsWith("stroke:"))) + if (e.look === "handDrawn") { + const R = Rt.svg(t) + Object.assign([], p) + const C = R.path(T, { roughness: 0.3, seed: o }) + ;(b += " transition"), + (w = rt(C) + .select("path") + .attr("id", e.id) + .attr("class", " " + b + (e.classes ? " " + e.classes : "")) + .attr("style", E ? E.reduce((P, _) => P + ";" + _, "") : "")) + let I = w.attr("d") + w.attr("d", I), t.node().appendChild(w.node()) + } else { + const R = f.join(";"), + C = E ? E.reduce((_, N) => _ + N + ";", "") : "" + let I = "" + e.animate && (I = " edge-animation-fast"), e.animation && (I = " edge-animation-" + e.animation) + const P = R ? R + ";" + C + ";" : C + ;(w = t + .append("path") + .attr("d", T) + .attr("id", e.id) + .attr("class", " " + b + (e.classes ? " " + e.classes : "") + (I ?? "")) + .attr("style", P)), + (S = (A = P.match(/stroke:([^;]+)/)) == null ? void 0 : A[1]) + } + let k = "" + ;(we().flowchart.arrowMarkerAbsolute || we().state.arrowMarkerAbsolute) && + ((k = + window.location.protocol + + "//" + + window.location.host + + window.location.pathname + + window.location.search), + (k = k.replace(/\(/g, "\\(").replace(/\)/g, "\\)"))), + ie.info("arrowTypeStart", e.arrowTypeStart), + ie.info("arrowTypeEnd", e.arrowTypeEnd), + Boe(w, e, k, s, n, S) + let L = {} + return u && (L.updatedPath = l), (L.originalPath = e.points), L + }, "insertEdge"), + Uoe = x((t, e, r, n) => { + e.forEach((i) => { + ale[i](t, r, n) + }) + }, "insertMarkers"), + qoe = x((t, e, r) => { + ie.trace("Making markers for ", r), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-extensionStart") + .attr("class", "marker extension " + e) + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,7 L18,13 V 1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-extensionEnd") + .attr("class", "marker extension " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,1 V 13 L18,7 Z") + }, "extension"), + Woe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-compositionStart") + .attr("class", "marker composition " + e) + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-compositionEnd") + .attr("class", "marker composition " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z") + }, "composition"), + Hoe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-aggregationStart") + .attr("class", "marker aggregation " + e) + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-aggregationEnd") + .attr("class", "marker aggregation " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z") + }, "aggregation"), + Yoe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-dependencyStart") + .attr("class", "marker dependency " + e) + .attr("refX", 6) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-dependencyEnd") + .attr("class", "marker dependency " + e) + .attr("refX", 13) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") + }, "dependency"), + Xoe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-lollipopStart") + .attr("class", "marker lollipop " + e) + .attr("refX", 13) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("circle") + .attr("stroke", "black") + .attr("fill", "transparent") + .attr("cx", 7) + .attr("cy", 7) + .attr("r", 6), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-lollipopEnd") + .attr("class", "marker lollipop " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("circle") + .attr("stroke", "black") + .attr("fill", "transparent") + .attr("cx", 7) + .attr("cy", 7) + .attr("r", 6) + }, "lollipop"), + joe = x((t, e, r) => { + t + .append("marker") + .attr("id", r + "_" + e + "-pointEnd") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", 5) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0 0 L 10 5 L 0 10 z") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0"), + t + .append("marker") + .attr("id", r + "_" + e + "-pointStart") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", 4.5) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 8) + .attr("markerHeight", 8) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0 5 L 10 10 L 10 0 z") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0") + }, "point"), + Koe = x((t, e, r) => { + t + .append("marker") + .attr("id", r + "_" + e + "-circleEnd") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", 11) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("circle") + .attr("cx", "5") + .attr("cy", "5") + .attr("r", "5") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0"), + t + .append("marker") + .attr("id", r + "_" + e + "-circleStart") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", -1) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("circle") + .attr("cx", "5") + .attr("cy", "5") + .attr("r", "5") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0") + }, "circle"), + Zoe = x((t, e, r) => { + t + .append("marker") + .attr("id", r + "_" + e + "-crossEnd") + .attr("class", "marker cross " + e) + .attr("viewBox", "0 0 11 11") + .attr("refX", 12) + .attr("refY", 5.2) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,1 l 9,9 M 10,1 l -9,9") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 2) + .style("stroke-dasharray", "1,0"), + t + .append("marker") + .attr("id", r + "_" + e + "-crossStart") + .attr("class", "marker cross " + e) + .attr("viewBox", "0 0 11 11") + .attr("refX", -1) + .attr("refY", 5.2) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,1 l 9,9 M 10,1 l -9,9") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 2) + .style("stroke-dasharray", "1,0") + }, "cross"), + Qoe = x((t, e, r) => { + t.append("defs") + .append("marker") + .attr("id", r + "_" + e + "-barbEnd") + .attr("refX", 19) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 14) + .attr("markerUnits", "userSpaceOnUse") + .attr("orient", "auto") + .append("path") + .attr("d", "M 19,7 L9,13 L14,7 L9,1 Z") + }, "barb"), + Joe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-onlyOneStart") + .attr("class", "marker onlyOne " + e) + .attr("refX", 0) + .attr("refY", 9) + .attr("markerWidth", 18) + .attr("markerHeight", 18) + .attr("orient", "auto") + .append("path") + .attr("d", "M9,0 L9,18 M15,0 L15,18"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-onlyOneEnd") + .attr("class", "marker onlyOne " + e) + .attr("refX", 18) + .attr("refY", 9) + .attr("markerWidth", 18) + .attr("markerHeight", 18) + .attr("orient", "auto") + .append("path") + .attr("d", "M3,0 L3,18 M9,0 L9,18") + }, "only_one"), + ele = x((t, e, r) => { + const n = t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-zeroOrOneStart") + .attr("class", "marker zeroOrOne " + e) + .attr("refX", 0) + .attr("refY", 9) + .attr("markerWidth", 30) + .attr("markerHeight", 18) + .attr("orient", "auto") + n.append("circle").attr("fill", "white").attr("cx", 21).attr("cy", 9).attr("r", 6), + n.append("path").attr("d", "M9,0 L9,18") + const i = t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-zeroOrOneEnd") + .attr("class", "marker zeroOrOne " + e) + .attr("refX", 30) + .attr("refY", 9) + .attr("markerWidth", 30) + .attr("markerHeight", 18) + .attr("orient", "auto") + i.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 9).attr("r", 6), + i.append("path").attr("d", "M21,0 L21,18") + }, "zero_or_one"), + tle = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-oneOrMoreStart") + .attr("class", "marker oneOrMore " + e) + .attr("refX", 18) + .attr("refY", 18) + .attr("markerWidth", 45) + .attr("markerHeight", 36) + .attr("orient", "auto") + .append("path") + .attr("d", "M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-oneOrMoreEnd") + .attr("class", "marker oneOrMore " + e) + .attr("refX", 27) + .attr("refY", 18) + .attr("markerWidth", 45) + .attr("markerHeight", 36) + .attr("orient", "auto") + .append("path") + .attr("d", "M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18") + }, "one_or_more"), + rle = x((t, e, r) => { + const n = t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-zeroOrMoreStart") + .attr("class", "marker zeroOrMore " + e) + .attr("refX", 18) + .attr("refY", 18) + .attr("markerWidth", 57) + .attr("markerHeight", 36) + .attr("orient", "auto") + n.append("circle").attr("fill", "white").attr("cx", 48).attr("cy", 18).attr("r", 6), + n.append("path").attr("d", "M0,18 Q18,0 36,18 Q18,36 0,18") + const i = t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-zeroOrMoreEnd") + .attr("class", "marker zeroOrMore " + e) + .attr("refX", 39) + .attr("refY", 18) + .attr("markerWidth", 57) + .attr("markerHeight", 36) + .attr("orient", "auto") + i.append("circle").attr("fill", "white").attr("cx", 9).attr("cy", 18).attr("r", 6), + i.append("path").attr("d", "M21,18 Q39,0 57,18 Q39,36 21,18") + }, "zero_or_more"), + nle = x((t, e, r) => { + t.append("defs") + .append("marker") + .attr("id", r + "_" + e + "-requirement_arrowEnd") + .attr("refX", 20) + .attr("refY", 10) + .attr("markerWidth", 20) + .attr("markerHeight", 20) + .attr("orient", "auto") + .append("path") + .attr( + "d", + `M0,0 + L20,10 + M20,10 + L0,20`, + ) + }, "requirement_arrow"), + ile = x((t, e, r) => { + const n = t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-requirement_containsStart") + .attr("refX", 0) + .attr("refY", 10) + .attr("markerWidth", 20) + .attr("markerHeight", 20) + .attr("orient", "auto") + .append("g") + n.append("circle").attr("cx", 10).attr("cy", 10).attr("r", 9).attr("fill", "none"), + n.append("line").attr("x1", 1).attr("x2", 19).attr("y1", 10).attr("y2", 10), + n.append("line").attr("y1", 1).attr("y2", 19).attr("x1", 10).attr("x2", 10) + }, "requirement_contains"), + ale = { + extension: qoe, + composition: Woe, + aggregation: Hoe, + dependency: Yoe, + lollipop: Xoe, + point: joe, + circle: Koe, + cross: Zoe, + barb: Qoe, + only_one: Joe, + zero_or_one: ele, + one_or_more: tle, + zero_or_more: rle, + requirement_arrow: nle, + requirement_contains: ile, + }, + $F = Uoe, + sle = { + common: it, + getConfig: Dr, + insertCluster: RE, + insertEdge: FF, + insertEdgeLabel: OF, + insertMarkers: $F, + insertNode: Y2, + interpolateToCurve: uE, + labelHelper: Kt, + log: ie, + positionEdgeLabel: PF, + }, + Dp = {}, + zF = x((t) => { + for (const e of t) Dp[e.name] = e + }, "registerLayoutLoaders"), + ole = x(() => { + zF([ + { + name: "dagre", + loader: x(async () => await dr(() => Promise.resolve().then(() => Ige), void 0), "loader"), + }, + ]) + }, "registerDefaultLayoutLoaders") +ole() +var Tg = x(async (t, e) => { + if (!(t.layoutAlgorithm in Dp)) throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`) + const r = Dp[t.layoutAlgorithm] + return (await r.loader()).render(t, e, sle, { algorithm: r.algorithm }) + }, "render"), + X2 = x((t = "", { fallback: e = "dagre" } = {}) => { + if (t in Dp) return t + if (e in Dp) return ie.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`), e + throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`) + }, "getRegisteredLayoutAlgorithm"), + cw = { + name: "mermaid", + version: "11.6.0", + description: + "Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.", + type: "module", + module: "./dist/mermaid.core.mjs", + types: "./dist/mermaid.d.ts", + exports: { + ".": { + types: "./dist/mermaid.d.ts", + import: "./dist/mermaid.core.mjs", + default: "./dist/mermaid.core.mjs", + }, + "./*": "./*", + }, + keywords: [ + "diagram", + "markdown", + "flowchart", + "sequence diagram", + "gantt", + "class diagram", + "git graph", + "mindmap", + "packet diagram", + "c4 diagram", + "er diagram", + "pie chart", + "pie diagram", + "quadrant chart", + "requirement diagram", + "graph", + ], + scripts: { + clean: "rimraf dist", + dev: "pnpm -w dev", + "docs:code": + "typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup", + "docs:build": "rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts", + "docs:verify": "pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify", + "docs:pre:vitepress": + "pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts", + "docs:build:vitepress": + "pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing", + "docs:dev": + 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"', + "docs:dev:docker": + 'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"', + "docs:serve": "pnpm docs:build:vitepress && vitepress serve src/vitepress", + "docs:spellcheck": 'cspell "src/docs/**/*.md"', + "docs:release-version": "tsx scripts/update-release-version.mts", + "docs:verify-version": "tsx scripts/update-release-version.mts --verify", + "types:build-config": "tsx scripts/create-types-from-json-schema.mts", + "types:verify-config": "tsx scripts/create-types-from-json-schema.mts --verify", + checkCircle: "npx madge --circular ./src", + prepublishOnly: "pnpm docs:verify-version", + }, + repository: { type: "git", url: "https://github.com/mermaid-js/mermaid" }, + author: "Knut Sveidqvist", + license: "MIT", + standard: { ignore: ["**/parser/*.js", "dist/**/*.js", "cypress/**/*.js"], globals: ["page"] }, + dependencies: { + "@braintree/sanitize-url": "^7.0.4", + "@iconify/utils": "^2.1.33", + "@mermaid-js/parser": "workspace:^", + "@types/d3": "^7.4.3", + cytoscape: "^3.29.3", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + d3: "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.11", + dayjs: "^1.11.13", + dompurify: "^3.2.4", + katex: "^0.16.9", + khroma: "^2.1.0", + "lodash-es": "^4.17.21", + marked: "^15.0.7", + roughjs: "^4.6.6", + stylis: "^4.3.6", + "ts-dedent": "^2.2.0", + uuid: "^11.1.0", + }, + devDependencies: { + "@adobe/jsonschema2md": "^8.0.2", + "@iconify/types": "^2.0.0", + "@types/cytoscape": "^3.21.9", + "@types/cytoscape-fcose": "^2.2.4", + "@types/d3-sankey": "^0.12.4", + "@types/d3-scale": "^4.0.9", + "@types/d3-scale-chromatic": "^3.1.0", + "@types/d3-selection": "^3.0.11", + "@types/d3-shape": "^3.1.7", + "@types/jsdom": "^21.1.7", + "@types/katex": "^0.16.7", + "@types/lodash-es": "^4.17.12", + "@types/micromatch": "^4.0.9", + "@types/stylis": "^4.2.7", + "@types/uuid": "^10.0.0", + ajv: "^8.17.1", + chokidar: "^4.0.3", + concurrently: "^9.1.2", + "csstree-validator": "^4.0.1", + globby: "^14.0.2", + jison: "^0.4.18", + "js-base64": "^3.7.7", + jsdom: "^26.0.0", + "json-schema-to-typescript": "^15.0.4", + micromatch: "^4.0.8", + "path-browserify": "^1.0.1", + prettier: "^3.5.2", + remark: "^15.0.1", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.1", + rimraf: "^6.0.1", + "start-server-and-test": "^2.0.10", + "type-fest": "^4.35.0", + typedoc: "^0.27.8", + "typedoc-plugin-markdown": "^4.4.2", + typescript: "~5.7.3", + "unist-util-flatmap": "^1.0.0", + "unist-util-visit": "^5.0.0", + vitepress: "^1.0.2", + "vitepress-plugin-search": "1.0.4-alpha.22", + }, + files: ["dist/", "README.md"], + publishConfig: { access: "public" }, + }, + il = x((t) => { + var i + const { securityLevel: e } = we() + let r = rt("body") + if (e === "sandbox") { + const s = ((i = rt(`#i${t}`).node()) == null ? void 0 : i.contentDocument) ?? document + r = rt(s.body) + } + return r.select(`#${t}`) + }, "selectSvgElement"), + VF = "comm", + GF = "rule", + UF = "decl", + lle = "@import", + cle = "@namespace", + ule = "@keyframes", + hle = "@layer", + qF = Math.abs, + DE = String.fromCharCode +function WF(t) { + return t.trim() +} +function Em(t, e, r) { + return t.replace(e, r) +} +function dle(t, e, r) { + return t.indexOf(e, r) +} +function vh(t, e) { + return t.charCodeAt(e) | 0 +} +function Md(t, e, r) { + return t.slice(e, r) +} +function Bs(t) { + return t.length +} +function fle(t) { + return t.length +} +function T1(t, e) { + return e.push(t), t +} +var j2 = 1, + Od = 1, + HF = 0, + is = 0, + Tn = 0, + cf = "" +function IE(t, e, r, n, i, a, s, o) { + return { + value: t, + root: e, + parent: r, + type: n, + props: i, + children: a, + line: j2, + column: Od, + length: s, + return: "", + siblings: o, + } +} +function ple() { + return Tn +} +function gle() { + return (Tn = is > 0 ? vh(cf, --is) : 0), Od--, Tn === 10 && ((Od = 1), j2--), Tn +} +function ms() { + return (Tn = is < HF ? vh(cf, is++) : 0), Od++, Tn === 10 && ((Od = 1), j2++), Tn +} +function yl() { + return vh(cf, is) +} +function km() { + return is +} +function K2(t, e) { + return Md(cf, t, e) +} +function Ip(t) { + switch (t) { + case 0: + case 9: + case 10: + case 13: + case 32: + return 5 + case 33: + case 43: + case 44: + case 47: + case 62: + case 64: + case 126: + case 59: + case 123: + case 125: + return 4 + case 58: + return 3 + case 34: + case 39: + case 40: + case 91: + return 2 + case 41: + case 93: + return 1 + } + return 0 +} +function mle(t) { + return (j2 = Od = 1), (HF = Bs((cf = t))), (is = 0), [] +} +function vle(t) { + return (cf = ""), t +} +function Ub(t) { + return WF(K2(is - 1, uw(t === 91 ? t + 2 : t === 40 ? t + 1 : t))) +} +function yle(t) { + for (; (Tn = yl()) && Tn < 33; ) ms() + return Ip(t) > 2 || Ip(Tn) > 3 ? "" : " " +} +function xle(t, e) { + for (; --e && ms() && !(Tn < 48 || Tn > 102 || (Tn > 57 && Tn < 65) || (Tn > 70 && Tn < 97)); ); + return K2(t, km() + (e < 6 && yl() == 32 && ms() == 32)) +} +function uw(t) { + for (; ms(); ) + switch (Tn) { + case t: + return is + case 34: + case 39: + t !== 34 && t !== 39 && uw(Tn) + break + case 40: + t === 41 && uw(t) + break + case 92: + ms() + break + } + return is +} +function ble(t, e) { + for (; ms() && t + Tn !== 57; ) if (t + Tn === 84 && yl() === 47) break + return "/*" + K2(e, is - 1) + "*" + DE(t === 47 ? t : ms()) +} +function wle(t) { + for (; !Ip(yl()); ) ms() + return K2(t, is) +} +function Tle(t) { + return vle(Sm("", null, null, null, [""], (t = mle(t)), 0, [0], t)) +} +function Sm(t, e, r, n, i, a, s, o, l) { + for ( + var u = 0, h = 0, d = s, f = 0, p = 0, g = 0, m = 1, v = 1, y = 1, b = 0, w = "", T = i, E = a, S = n, k = w; + v; + + ) + switch (((g = b), (b = ms()))) { + case 40: + if (g != 108 && vh(k, d - 1) == 58) { + dle((k += Em(Ub(b), "&", "&\f")), "&\f", qF(u ? o[u - 1] : 0)) != -1 && (y = -1) + break + } + case 34: + case 39: + case 91: + k += Ub(b) + break + case 9: + case 10: + case 13: + case 32: + k += yle(g) + break + case 92: + k += xle(km() - 1, 7) + continue + case 47: + switch (yl()) { + case 42: + case 47: + T1(Ele(ble(ms(), km()), e, r, l), l), + (Ip(g || 1) == 5 || Ip(yl() || 1) == 5) && Bs(k) && Md(k, -1, void 0) !== " " && (k += " ") + break + default: + k += "/" + } + break + case 123 * m: + o[u++] = Bs(k) * y + case 125 * m: + case 59: + case 0: + switch (b) { + case 0: + case 125: + v = 0 + case 59 + h: + y == -1 && (k = Em(k, /\f/g, "")), + p > 0 && + (Bs(k) - d || (m === 0 && g === 47)) && + T1(p > 32 ? p8(k + ";", n, r, d - 1, l) : p8(Em(k, " ", "") + ";", n, r, d - 2, l), l) + break + case 59: + k += ";" + default: + if ((T1((S = f8(k, e, r, u, h, i, o, w, (T = []), (E = []), d, a)), a), b === 123)) + if (h === 0) Sm(k, e, S, S, T, a, d, o, E) + else { + switch (f) { + case 99: + if (vh(k, 3) === 110) break + case 108: + if (vh(k, 2) === 97) break + default: + h = 0 + case 100: + case 109: + case 115: + } + h + ? Sm( + t, + S, + S, + n && T1(f8(t, S, S, 0, 0, i, o, w, i, (T = []), d, E), E), + i, + E, + d, + o, + n ? T : E, + ) + : Sm(k, S, S, S, [""], E, 0, o, E) + } + } + ;(u = h = p = 0), (m = y = 1), (w = k = ""), (d = s) + break + case 58: + ;(d = 1 + Bs(k)), (p = g) + default: + if (m < 1) { + if (b == 123) --m + else if (b == 125 && m++ == 0 && gle() == 125) continue + } + switch (((k += DE(b)), b * m)) { + case 38: + y = h > 0 ? 1 : ((k += "\f"), -1) + break + case 44: + ;(o[u++] = (Bs(k) - 1) * y), (y = 1) + break + case 64: + yl() === 45 && (k += Ub(ms())), (f = yl()), (h = d = Bs((w = k += wle(km())))), b++ + break + case 45: + g === 45 && Bs(k) == 2 && (m = 0) + } + } + return a +} +function f8(t, e, r, n, i, a, s, o, l, u, h, d) { + for (var f = i - 1, p = i === 0 ? a : [""], g = fle(p), m = 0, v = 0, y = 0; m < n; ++m) + for (var b = 0, w = Md(t, f + 1, (f = qF((v = s[m])))), T = t; b < g; ++b) + (T = WF(v > 0 ? p[b] + " " + w : Em(w, /&\f/g, p[b]))) && (l[y++] = T) + return IE(t, e, r, i === 0 ? GF : o, l, u, h, d) +} +function Ele(t, e, r, n) { + return IE(t, e, r, VF, DE(ple()), Md(t, 2, -2), 0, n) +} +function p8(t, e, r, n, i) { + return IE(t, e, r, UF, Md(t, 0, n), Md(t, n + 1, -1), n, i) +} +function hw(t, e) { + for (var r = "", n = 0; n < t.length; n++) r += e(t[n], n, t, e) || "" + return r +} +function kle(t, e, r, n) { + switch (t.type) { + case hle: + if (t.children.length) break + case lle: + case cle: + case UF: + return (t.return = t.return || t.value) + case VF: + return "" + case ule: + return (t.return = t.value + "{" + hw(t.children, n) + "}") + case GF: + if (!Bs((t.value = t.props.join(",")))) return "" + } + return Bs((r = hw(t.children, n))) ? (t.return = t.value + "{" + r + "}") : "" +} +var Sle = bP(Object.keys, Object), + Cle = Object.prototype, + Ale = Cle.hasOwnProperty +function YF(t) { + if (!gg(t)) return Sle(t) + var e = [] + for (var r in Object(t)) Ale.call(t, r) && r != "constructor" && e.push(r) + return e +} +var dw = yu(so, "DataView"), + fw = yu(so, "Promise"), + yh = yu(so, "Set"), + pw = yu(so, "WeakMap"), + g8 = "[object Map]", + _le = "[object Object]", + m8 = "[object Promise]", + v8 = "[object Set]", + y8 = "[object WeakMap]", + x8 = "[object DataView]", + Lle = vu(dw), + Rle = vu(Rp), + Nle = vu(fw), + Dle = vu(yh), + Ile = vu(pw), + Va = Jo +;((dw && Va(new dw(new ArrayBuffer(1))) != x8) || + (Rp && Va(new Rp()) != g8) || + (fw && Va(fw.resolve()) != m8) || + (yh && Va(new yh()) != v8) || + (pw && Va(new pw()) != y8)) && + (Va = function (t) { + var e = Jo(t), + r = e == _le ? t.constructor : void 0, + n = r ? vu(r) : "" + if (n) + switch (n) { + case Lle: + return x8 + case Rle: + return g8 + case Nle: + return m8 + case Dle: + return v8 + case Ile: + return y8 + } + return e + }) +var Mle = "[object Map]", + Ole = "[object Set]", + Ple = Object.prototype, + Ble = Ple.hasOwnProperty +function br(t) { + if (t == null) return !0 + if (oo(t) && (lr(t) || typeof t == "string" || typeof t.splice == "function" || Id(t) || $2(t) || Dd(t))) + return !t.length + var e = Va(t) + if (e == Mle || e == Ole) return !t.size + if (gg(t)) return !YF(t).length + for (var r in t) if (Ble.call(t, r)) return !1 + return !0 +} +var XF = "c4", + Fle = x((t) => /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t), "detector"), + $le = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => N1e) + return { diagram: e } + }, + void 0, + ) + return { id: XF, diagram: t } + }, "loader"), + zle = { id: XF, detector: Fle, loader: $le }, + Vle = zle, + jF = "flowchart", + Gle = x((t, e) => { + var r, n + return ((r = e == null ? void 0 : e.flowchart) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" || + ((n = e == null ? void 0 : e.flowchart) == null ? void 0 : n.defaultRenderer) === "elk" + ? !1 + : /^\s*graph/.test(t) + }, "detector"), + Ule = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => ak) + return { diagram: e } + }, + void 0, + ) + return { id: jF, diagram: t } + }, "loader"), + qle = { id: jF, detector: Gle, loader: Ule }, + Wle = qle, + KF = "flowchart-v2", + Hle = x((t, e) => { + var r, n, i + return ((r = e == null ? void 0 : e.flowchart) == null ? void 0 : r.defaultRenderer) === "dagre-d3" + ? !1 + : (((n = e == null ? void 0 : e.flowchart) == null ? void 0 : n.defaultRenderer) === "elk" && + (e.layout = "elk"), + /^\s*graph/.test(t) && + ((i = e == null ? void 0 : e.flowchart) == null ? void 0 : i.defaultRenderer) === "dagre-wrapper" + ? !0 + : /^\s*flowchart/.test(t)) + }, "detector"), + Yle = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => ak) + return { diagram: e } + }, + void 0, + ) + return { id: KF, diagram: t } + }, "loader"), + Xle = { id: KF, detector: Hle, loader: Yle }, + jle = Xle, + ZF = "er", + Kle = x((t) => /^\s*erDiagram/.test(t), "detector"), + Zle = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => Z1e) + return { diagram: e } + }, + void 0, + ) + return { id: ZF, diagram: t } + }, "loader"), + Qle = { id: ZF, detector: Kle, loader: Zle }, + Jle = Qle, + QF = "gitGraph", + ece = x((t) => /^\s*gitGraph/.test(t), "detector"), + tce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => c5e) + return { diagram: e } + }, + void 0, + ) + return { id: QF, diagram: t } + }, "loader"), + rce = { id: QF, detector: ece, loader: tce }, + nce = rce, + JF = "gantt", + ice = x((t) => /^\s*gantt/.test(t), "detector"), + ace = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => d3e) + return { diagram: e } + }, + void 0, + ) + return { id: JF, diagram: t } + }, "loader"), + sce = { id: JF, detector: ice, loader: ace }, + oce = sce, + e$ = "info", + lce = x((t) => /^\s*info/.test(t), "detector"), + cce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => b3e) + return { diagram: e } + }, + void 0, + ) + return { id: e$, diagram: t } + }, "loader"), + uce = { id: e$, detector: lce, loader: cce }, + t$ = "pie", + hce = x((t) => /^\s*pie/.test(t), "detector"), + dce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => B3e) + return { diagram: e } + }, + void 0, + ) + return { id: t$, diagram: t } + }, "loader"), + fce = { id: t$, detector: hce, loader: dce }, + r$ = "quadrantChart", + pce = x((t) => /^\s*quadrantChart/.test(t), "detector"), + gce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => H3e) + return { diagram: e } + }, + void 0, + ) + return { id: r$, diagram: t } + }, "loader"), + mce = { id: r$, detector: pce, loader: gce }, + vce = mce, + n$ = "xychart", + yce = x((t) => /^\s*xychart-beta/.test(t), "detector"), + xce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => owe) + return { diagram: e } + }, + void 0, + ) + return { id: n$, diagram: t } + }, "loader"), + bce = { id: n$, detector: yce, loader: xce }, + wce = bce, + i$ = "requirement", + Tce = x((t) => /^\s*requirement(Diagram)?/.test(t), "detector"), + Ece = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => pwe) + return { diagram: e } + }, + void 0, + ) + return { id: i$, diagram: t } + }, "loader"), + kce = { id: i$, detector: Tce, loader: Ece }, + Sce = kce, + a$ = "sequence", + Cce = x((t) => /^\s*sequenceDiagram/.test(t), "detector"), + Ace = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => Zwe) + return { diagram: e } + }, + void 0, + ) + return { id: a$, diagram: t } + }, "loader"), + _ce = { id: a$, detector: Cce, loader: Ace }, + Lce = _ce, + s$ = "class", + Rce = x((t, e) => { + var r + return ((r = e == null ? void 0 : e.class) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" + ? !1 + : /^\s*classDiagram/.test(t) + }, "detector"), + Nce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => n6e) + return { diagram: e } + }, + void 0, + ) + return { id: s$, diagram: t } + }, "loader"), + Dce = { id: s$, detector: Rce, loader: Nce }, + Ice = Dce, + o$ = "classDiagram", + Mce = x((t, e) => { + var r + return /^\s*classDiagram/.test(t) && + ((r = e == null ? void 0 : e.class) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" + ? !0 + : /^\s*classDiagram-v2/.test(t) + }, "detector"), + Oce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => a6e) + return { diagram: e } + }, + void 0, + ) + return { id: o$, diagram: t } + }, "loader"), + Pce = { id: o$, detector: Mce, loader: Oce }, + Bce = Pce, + l$ = "state", + Fce = x((t, e) => { + var r + return ((r = e == null ? void 0 : e.state) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper" + ? !1 + : /^\s*stateDiagram/.test(t) + }, "detector"), + $ce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => eTe) + return { diagram: e } + }, + void 0, + ) + return { id: l$, diagram: t } + }, "loader"), + zce = { id: l$, detector: Fce, loader: $ce }, + Vce = zce, + c$ = "stateDiagram", + Gce = x((t, e) => { + var r + return !!( + /^\s*stateDiagram-v2/.test(t) || + (/^\s*stateDiagram/.test(t) && + ((r = e == null ? void 0 : e.state) == null ? void 0 : r.defaultRenderer) === "dagre-wrapper") + ) + }, "detector"), + Uce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => rTe) + return { diagram: e } + }, + void 0, + ) + return { id: c$, diagram: t } + }, "loader"), + qce = { id: c$, detector: Gce, loader: Uce }, + Wce = qce, + u$ = "journey", + Hce = x((t) => /^\s*journey/.test(t), "detector"), + Yce = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => kTe) + return { diagram: e } + }, + void 0, + ) + return { id: u$, diagram: t } + }, "loader"), + Xce = { id: u$, detector: Hce, loader: Yce }, + jce = Xce, + Kce = x((t, e, r) => { + ie.debug(`rendering svg for syntax error +`) + const n = il(e), + i = n.append("g") + n.attr("viewBox", "0 0 2412 512"), + da(n, 100, 512, !0), + i + .append("path") + .attr("class", "error-icon") + .attr( + "d", + "m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z", + ), + i + .append("path") + .attr("class", "error-icon") + .attr( + "d", + "m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z", + ), + i + .append("path") + .attr("class", "error-icon") + .attr( + "d", + "m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z", + ), + i + .append("path") + .attr("class", "error-icon") + .attr( + "d", + "m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z", + ), + i + .append("path") + .attr("class", "error-icon") + .attr( + "d", + "m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z", + ), + i + .append("path") + .attr("class", "error-icon") + .attr( + "d", + "m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z", + ), + i + .append("text") + .attr("class", "error-text") + .attr("x", 1440) + .attr("y", 250) + .attr("font-size", "150px") + .style("text-anchor", "middle") + .text("Syntax error in text"), + i + .append("text") + .attr("class", "error-text") + .attr("x", 1250) + .attr("y", 400) + .attr("font-size", "100px") + .style("text-anchor", "middle") + .text(`mermaid version ${r}`) + }, "draw"), + h$ = { draw: Kce }, + Zce = h$, + Qce = { db: {}, renderer: h$, parser: { parse: x(() => {}, "parse") } }, + Jce = Qce, + d$ = "flowchart-elk", + eue = x((t, e = {}) => { + var r + return /^\s*flowchart-elk/.test(t) || + (/^\s*flowchart|graph/.test(t) && + ((r = e == null ? void 0 : e.flowchart) == null ? void 0 : r.defaultRenderer) === "elk") + ? ((e.layout = "elk"), !0) + : !1 + }, "detector"), + tue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => ak) + return { diagram: e } + }, + void 0, + ) + return { id: d$, diagram: t } + }, "loader"), + rue = { id: d$, detector: eue, loader: tue }, + nue = rue, + f$ = "timeline", + iue = x((t) => /^\s*timeline/.test(t), "detector"), + aue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => HTe) + return { diagram: e } + }, + void 0, + ) + return { id: f$, diagram: t } + }, "loader"), + sue = { id: f$, detector: iue, loader: aue }, + oue = sue, + p$ = "mindmap", + lue = x((t) => /^\s*mindmap/.test(t), "detector"), + cue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => r_e) + return { diagram: e } + }, + void 0, + ) + return { id: p$, diagram: t } + }, "loader"), + uue = { id: p$, detector: lue, loader: cue }, + hue = uue, + g$ = "kanban", + due = x((t) => /^\s*kanban/.test(t), "detector"), + fue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => T_e) + return { diagram: e } + }, + void 0, + ) + return { id: g$, diagram: t } + }, "loader"), + pue = { id: g$, detector: due, loader: fue }, + gue = pue, + m$ = "sankey", + mue = x((t) => /^\s*sankey-beta/.test(t), "detector"), + vue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => s9e) + return { diagram: e } + }, + void 0, + ) + return { id: m$, diagram: t } + }, "loader"), + yue = { id: m$, detector: mue, loader: vue }, + xue = yue, + v$ = "packet", + bue = x((t) => /^\s*packet-beta/.test(t), "detector"), + wue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => T9e) + return { diagram: e } + }, + void 0, + ) + return { id: v$, diagram: t } + }, "loader"), + Tue = { id: v$, detector: bue, loader: wue }, + y$ = "radar", + Eue = x((t) => /^\s*radar-beta/.test(t), "detector"), + kue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => U9e) + return { diagram: e } + }, + void 0, + ) + return { id: y$, diagram: t } + }, "loader"), + Sue = { id: y$, detector: Eue, loader: kue }, + x$ = "block", + Cue = x((t) => /^\s*block-beta/.test(t), "detector"), + Aue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => gRe) + return { diagram: e } + }, + void 0, + ) + return { id: x$, diagram: t } + }, "loader"), + _ue = { id: x$, detector: Cue, loader: Aue }, + Lue = _ue, + b$ = "architecture", + Rue = x((t) => /^\s*architecture/.test(t), "detector"), + Nue = x(async () => { + const { diagram: t } = await dr( + async () => { + const { diagram: e } = await Promise.resolve().then(() => rNe) + return { diagram: e } + }, + void 0, + ) + return { id: b$, diagram: t } + }, "loader"), + Due = { id: b$, detector: Rue, loader: Nue }, + Iue = Due, + b8 = !1, + Z2 = x(() => { + b8 || + ((b8 = !0), + Ev("error", Jce, (t) => t.toLowerCase().trim() === "error"), + Ev( + "---", + { + db: { clear: x(() => {}, "clear") }, + styles: {}, + renderer: { draw: x(() => {}, "draw") }, + parser: { + parse: x(() => { + throw new Error( + "Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks", + ) + }, "parse"), + }, + init: x(() => null, "init"), + }, + (t) => t.toLowerCase().trimStart().startsWith("---"), + ), + XD( + Vle, + gue, + Bce, + Ice, + Jle, + oce, + uce, + fce, + Sce, + Lce, + nue, + jle, + Wle, + hue, + oue, + nce, + Wce, + Vce, + jce, + vce, + xue, + Tue, + wce, + Lue, + Iue, + Sue, + )) + }, "addDiagrams"), + Mue = x(async () => { + ie.debug("Loading registered diagrams") + const e = ( + await Promise.allSettled( + Object.entries(bd).map(async ([r, { detector: n, loader: i }]) => { + if (i) + try { + w3(r) + } catch { + try { + const { diagram: a, id: s } = await i() + Ev(s, a, n) + } catch (a) { + throw ( + (ie.error( + `Failed to load external diagram with key ${r}. Removing from detectors.`, + ), + delete bd[r], + a) + ) + } + } + }), + ) + ).filter((r) => r.status === "rejected") + if (e.length > 0) { + ie.error(`Failed to load ${e.length} external diagrams`) + for (const r of e) ie.error(r) + throw new Error(`Failed to load ${e.length} external diagrams`) + } + }, "loadRegisteredDiagrams"), + Oue = "graphics-document document" +function w$(t, e) { + t.attr("role", Oue), e !== "" && t.attr("aria-roledescription", e) +} +x(w$, "setA11yDiagramInfo") +function T$(t, e, r, n) { + if (t.insert !== void 0) { + if (r) { + const i = `chart-desc-${n}` + t.attr("aria-describedby", i), t.insert("desc", ":first-child").attr("id", i).text(r) + } + if (e) { + const i = `chart-title-${n}` + t.attr("aria-labelledby", i), t.insert("title", ":first-child").attr("id", i).text(e) + } + } +} +x(T$, "addSVGa11yTitleDescription") +var Vc, + gw = + ((Vc = class { + constructor(e, r, n, i, a) { + ;(this.type = e), (this.text = r), (this.db = n), (this.parser = i), (this.renderer = a) + } + static async fromText(e, r = {}) { + var u, h + const n = Dr(), + i = RT(e, n) + e = + ose(e) + + ` +` + try { + w3(i) + } catch { + const d = Sj(i) + if (!d) throw new YD(`Diagram ${i} not found.`) + const { id: f, diagram: p } = await d() + Ev(f, p) + } + const { db: a, parser: s, renderer: o, init: l } = w3(i) + return ( + s.parser && (s.parser.yy = a), + (u = a.clear) == null || u.call(a), + l == null || l(n), + r.title && ((h = a.setDiagramTitle) == null || h.call(a, r.title)), + await s.parse(e), + new Vc(i, e, a, s, o) + ) + } + async render(e, r) { + await this.renderer.draw(this.text, e, r, this) + } + getParser() { + return this.parser + } + getType() { + return this.type + } + }), + x(Vc, "Diagram"), + Vc), + w8 = [], + Pue = x(() => { + w8.forEach((t) => { + t() + }), + (w8 = []) + }, "attachFunctions"), + Bue = x((t) => t.replace(/^\s*%%(?!{)[^\n]+\n?/gm, "").trimStart(), "cleanupComments") +function E$(t) { + const e = t.match(HD) + if (!e) return { text: t, metadata: {} } + let r = WT(e[1], { schema: qT }) ?? {} + r = typeof r == "object" && !Array.isArray(r) ? r : {} + const n = {} + return ( + r.displayMode && (n.displayMode = r.displayMode.toString()), + r.title && (n.title = r.title.toString()), + r.config && (n.config = r.config), + { text: t.slice(e[0].length), metadata: n } + ) +} +x(E$, "extractFrontMatter") +var Fue = x( + (t) => + t + .replace( + /\r\n?/g, + ` +`, + ) + .replace(/<(\w+)([^>]*)>/g, (e, r, n) => "<" + r + n.replace(/="([^"]*)"/g, "='$1'") + ">"), + "cleanupText", + ), + $ue = x((t) => { + const { text: e, metadata: r } = E$(t), + { displayMode: n, title: i, config: a = {} } = r + return n && (a.gantt || (a.gantt = {}), (a.gantt.displayMode = n)), { title: i, config: a, text: e } + }, "processFrontmatter"), + zue = x((t) => { + const e = Zt.detectInit(t) ?? {}, + r = Zt.detectDirective(t, "wrap") + return ( + Array.isArray(r) + ? (e.wrap = r.some(({ type: n }) => n === "wrap")) + : (r == null ? void 0 : r.type) === "wrap" && (e.wrap = !0), + { text: Zae(t), directive: e } + ) + }, "processDirectives") +function ME(t) { + const e = Fue(t), + r = $ue(e), + n = zue(r.text), + i = ns(r.config, n.directive) + return (t = Bue(n.text)), { code: t, title: r.title, config: i } +} +x(ME, "preprocessDiagram") +function k$(t) { + const e = new TextEncoder().encode(t), + r = Array.from(e, (n) => String.fromCodePoint(n)).join("") + return btoa(r) +} +x(k$, "toBase64") +var Vue = 5e4, + Gue = "graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa", + Uue = "sandbox", + que = "loose", + Wue = "http://www.w3.org/2000/svg", + Hue = "http://www.w3.org/1999/xlink", + Yue = "http://www.w3.org/1999/xhtml", + Xue = "100%", + jue = "100%", + Kue = "border:0;margin:0;", + Zue = "margin:0", + Que = "allow-top-navigation-by-user-activation allow-popups", + Jue = 'The "iframe" tag is not supported by your browser.', + ehe = ["foreignobject"], + the = ["dominant-baseline"] +function OE(t) { + const e = ME(t) + return wv(), zj(e.config ?? {}), e +} +x(OE, "processAndSetConfigs") +async function S$(t, e) { + Z2() + try { + const { code: r, config: n } = OE(t) + return { diagramType: (await A$(r)).type, config: n } + } catch (r) { + if (e != null && e.suppressErrors) return !1 + throw r + } +} +x(S$, "parse") +var T8 = x( + (t, e, r = []) => ` +.${t} ${e} { ${r.join(" !important; ")} !important; }`, + "cssImportantStyles", + ), + rhe = x((t, e = new Map()) => { + var n + let r = "" + if ( + (t.themeCSS !== void 0 && + (r += ` +${t.themeCSS}`), + t.fontFamily !== void 0 && + (r += ` +:root { --mermaid-font-family: ${t.fontFamily}}`), + t.altFontFamily !== void 0 && + (r += ` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`), + e instanceof Map) + ) { + const o = + (t.htmlLabels ?? ((n = t.flowchart) == null ? void 0 : n.htmlLabels)) + ? ["> *", "span"] + : ["rect", "polygon", "ellipse", "circle", "path"] + e.forEach((l) => { + br(l.styles) || + o.forEach((u) => { + r += T8(l.id, u, l.styles) + }), + br(l.textStyles) || + (r += T8( + l.id, + "tspan", + ((l == null ? void 0 : l.textStyles) || []).map((u) => u.replace("color", "fill")), + )) + }) + } + return r + }, "createCssStyles"), + nhe = x((t, e, r, n) => { + const i = rhe(t, r), + a = iK(e, i, t.themeVariables) + return hw(Tle(`${n}{${a}}`), kle) + }, "createUserStyles"), + ihe = x((t = "", e, r) => { + let n = t + return ( + !r && !e && (n = n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g, 'marker-end="url(#')), + (n = Zs(n)), + (n = n.replace(/<br>/g, "<br/>")), + n + ) + }, "cleanUpSvgCode"), + ahe = x((t = "", e) => { + var i, a + const r = + (a = (i = e == null ? void 0 : e.viewBox) == null ? void 0 : i.baseVal) != null && a.height + ? e.viewBox.baseVal.height + "px" + : jue, + n = k$(`<body style="${Zue}">${t}</body>`) + return `<iframe style="width:${Xue};height:${r};${Kue}" src="data:text/html;charset=UTF-8;base64,${n}" sandbox="${Que}"> + ${Jue} +</iframe>` + }, "putIntoIFrame"), + E8 = x((t, e, r, n, i) => { + const a = t.append("div") + a.attr("id", r), n && a.attr("style", n) + const s = a.append("svg").attr("id", e).attr("width", "100%").attr("xmlns", Wue) + return i && s.attr("xmlns:xlink", i), s.append("g"), t + }, "appendDivSvgG") +function mw(t, e) { + return t.append("iframe").attr("id", e).attr("style", "width: 100%; height: 100%;").attr("sandbox", "") +} +x(mw, "sandboxedIframe") +var she = x((t, e, r, n) => { + var i, a, s + ;(i = t.getElementById(e)) == null || i.remove(), + (a = t.getElementById(r)) == null || a.remove(), + (s = t.getElementById(n)) == null || s.remove() + }, "removeExistingElements"), + ohe = x(async function (t, e, r) { + var I, P, _, N, M, O + Z2() + const n = OE(e) + e = n.code + const i = Dr() + ie.debug(i), e.length > ((i == null ? void 0 : i.maxTextSize) ?? Vue) && (e = Gue) + const a = "#" + t, + s = "i" + t, + o = "#" + s, + l = "d" + t, + u = "#" + l, + h = x(() => { + const B = rt(f ? o : u).node() + B && "remove" in B && B.remove() + }, "removeTempElements") + let d = rt("body") + const f = i.securityLevel === Uue, + p = i.securityLevel === que, + g = i.fontFamily + if (r !== void 0) { + if ((r && (r.innerHTML = ""), f)) { + const D = mw(rt(r), s) + ;(d = rt(D.nodes()[0].contentDocument.body)), (d.node().style.margin = 0) + } else d = rt(r) + E8(d, t, l, `font-family: ${g}`, Hue) + } else { + if ((she(document, t, l, s), f)) { + const D = mw(rt("body"), s) + ;(d = rt(D.nodes()[0].contentDocument.body)), (d.node().style.margin = 0) + } else d = rt("body") + E8(d, t, l) + } + let m, v + try { + m = await gw.fromText(e, { title: n.title }) + } catch (D) { + if (i.suppressErrorRendering) throw (h(), D) + ;(m = await gw.fromText("error")), (v = D) + } + const y = d.select(u).node(), + b = m.type, + w = y.firstChild, + T = w.firstChild, + E = (P = (I = m.renderer).getClasses) == null ? void 0 : P.call(I, e, m), + S = nhe(i, b, E, a), + k = document.createElement("style") + ;(k.innerHTML = S), w.insertBefore(k, T) + try { + await m.renderer.draw(e, t, cw.version, m) + } catch (D) { + throw (i.suppressErrorRendering ? h() : Zce.draw(e, t, cw.version), D) + } + const L = d.select(`${u} svg`), + A = (N = (_ = m.db).getAccTitle) == null ? void 0 : N.call(_), + R = (O = (M = m.db).getAccDescription) == null ? void 0 : O.call(M) + _$(b, L, A, R), d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns", Yue) + let C = d.select(u).node().innerHTML + if ( + (ie.debug("config.arrowMarkerAbsolute", i.arrowMarkerAbsolute), + (C = ihe(C, f, Nr(i.arrowMarkerAbsolute))), + f) + ) { + const D = d.select(u + " svg").node() + C = ahe(C, D) + } else + p || (C = xd.sanitize(C, { ADD_TAGS: ehe, ADD_ATTR: the, HTML_INTEGRATION_POINTS: { foreignobject: !0 } })) + if ((Pue(), v)) throw v + return h(), { diagramType: b, svg: C, bindFunctions: m.db.bindFunctions } + }, "render") +function C$(t = {}) { + var n + const e = Mn({}, t) + e != null && + e.fontFamily && + !((n = e.themeVariables) != null && n.fontFamily) && + (e.themeVariables || (e.themeVariables = {}), (e.themeVariables.fontFamily = e.fontFamily)), + Fj(e), + e != null && e.theme && e.theme in Bo + ? (e.themeVariables = Bo[e.theme].getThemeVariables(e.themeVariables)) + : e && (e.themeVariables = Bo.default.getThemeVariables(e.themeVariables)) + const r = typeof e == "object" ? Bj(e) : JD() + LT(r.logLevel), Z2() +} +x(C$, "initialize") +var A$ = x((t, e = {}) => { + const { code: r } = ME(t) + return gw.fromText(r, e) +}, "getDiagramFromText") +function _$(t, e, r, n) { + w$(e, t), T$(e, r, n, e.attr("id")) +} +x(_$, "addA11yInfo") +var Zc = Object.freeze({ + render: ohe, + parse: S$, + getDiagramFromText: A$, + initialize: C$, + getConfig: Dr, + setConfig: eI, + getSiteConfig: JD, + updateSiteConfig: $j, + reset: x(() => { + wv() + }, "reset"), + globalReset: x(() => { + wv(wd) + }, "globalReset"), + defaultConfig: wd, +}) +LT(Dr().logLevel) +wv(Dr()) +var lhe = x((t, e, r) => { + ie.warn(t), + gE(t) + ? (r && r(t.str, t.hash), e.push({ ...t, message: t.str, error: t })) + : (r && r(t), + t instanceof Error && e.push({ str: t.message, message: t.message, hash: t.name, error: t })) + }, "handleError"), + L$ = x(async function (t = { querySelector: ".mermaid" }) { + try { + await che(t) + } catch (e) { + if ((gE(e) && ie.error(e.str), Sa.parseError && Sa.parseError(e), !t.suppressErrors)) + throw (ie.error("Use the suppressErrors option to suppress these errors"), e) + } + }, "run"), + che = x(async function ({ postRenderCallback: t, querySelector: e, nodes: r } = { querySelector: ".mermaid" }) { + const n = Zc.getConfig() + ie.debug(`${t ? "" : "No "}Callback function found`) + let i + if (r) i = r + else if (e) i = document.querySelectorAll(e) + else throw new Error("Nodes and querySelector are both undefined") + ie.debug(`Found ${i.length} diagrams`), + (n == null ? void 0 : n.startOnLoad) !== void 0 && + (ie.debug("Start On Load: " + (n == null ? void 0 : n.startOnLoad)), + Zc.updateSiteConfig({ startOnLoad: n == null ? void 0 : n.startOnLoad })) + const a = new Zt.InitIDGenerator(n.deterministicIds, n.deterministicIDSeed) + let s + const o = [] + for (const l of Array.from(i)) { + if ((ie.info("Rendering diagram: " + l.id), l.getAttribute("data-processed"))) continue + l.setAttribute("data-processed", "true") + const u = `mermaid-${a.next()}` + ;(s = l.innerHTML), + (s = QP(Zt.entityDecode(s)) + .trim() + .replace(/<br\s*\/?>/gi, "<br/>")) + const h = Zt.detectInit(s) + h && ie.debug("Detected early reinit: ", h) + try { + const { svg: d, bindFunctions: f } = await I$(u, s, l) + ;(l.innerHTML = d), t && (await t(u)), f && f(l) + } catch (d) { + lhe(d, o, Sa.parseError) + } + } + if (o.length > 0) throw o[0] + }, "runThrowsErrors"), + R$ = x(function (t) { + Zc.initialize(t) + }, "initialize"), + uhe = x(async function (t, e, r) { + ie.warn("mermaid.init is deprecated. Please use run instead."), t && R$(t) + const n = { postRenderCallback: r, querySelector: ".mermaid" } + typeof e == "string" + ? (n.querySelector = e) + : e && (e instanceof HTMLElement ? (n.nodes = [e]) : (n.nodes = e)), + await L$(n) + }, "init"), + hhe = x(async (t, { lazyLoad: e = !0 } = {}) => { + Z2(), XD(...t), e === !1 && (await Mue()) + }, "registerExternalDiagrams"), + N$ = x(function () { + if (Sa.startOnLoad) { + const { startOnLoad: t } = Zc.getConfig() + t && Sa.run().catch((e) => ie.error("Mermaid failed to initialize", e)) + } + }, "contentLoaded") +typeof document < "u" && window.addEventListener("load", N$, !1) +var dhe = x(function (t) { + Sa.parseError = t + }, "setParseErrorHandler"), + cy = [], + qb = !1, + D$ = x(async () => { + if (!qb) { + for (qb = !0; cy.length > 0; ) { + const t = cy.shift() + if (t) + try { + await t() + } catch (e) { + ie.error("Error executing queue", e) + } + } + qb = !1 + } + }, "executeQueue"), + fhe = x( + async (t, e) => + new Promise((r, n) => { + const i = x( + () => + new Promise((a, s) => { + Zc.parse(t, e).then( + (o) => { + a(o), r(o) + }, + (o) => { + var l + ie.error("Error parsing", o), + (l = Sa.parseError) == null || l.call(Sa, o), + s(o), + n(o) + }, + ) + }), + "performCall", + ) + cy.push(i), D$().catch(n) + }), + "parse", + ), + I$ = x( + (t, e, r) => + new Promise((n, i) => { + const a = x( + () => + new Promise((s, o) => { + Zc.render(t, e, r).then( + (l) => { + s(l), n(l) + }, + (l) => { + var u + ie.error("Error parsing", l), + (u = Sa.parseError) == null || u.call(Sa, l), + o(l), + i(l) + }, + ) + }), + "performCall", + ) + cy.push(a), D$().catch(i) + }), + "render", + ), + Sa = { + startOnLoad: !0, + mermaidAPI: Zc, + parse: fhe, + render: I$, + init: uhe, + run: L$, + registerExternalDiagrams: hhe, + registerLayoutLoaders: zF, + initialize: R$, + parseError: void 0, + contentLoaded: N$, + setParseErrorHandler: dhe, + detectType: RT, + registerIconPacks: YM, + }, + hNe = Sa +/*! Check if previously processed */ /*! + * Wait for document loaded before starting the execution + */ var phe = "[object Symbol]" +function Qc(t) { + return typeof t == "symbol" || (rs(t) && Jo(t) == phe) +} +function zc(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = Array(n); ++r < n; ) i[r] = e(t[r], r, t) + return i +} +var k8 = es ? es.prototype : void 0, + S8 = k8 ? k8.toString : void 0 +function M$(t) { + if (typeof t == "string") return t + if (lr(t)) return zc(t, M$) + "" + if (Qc(t)) return S8 ? S8.call(t) : "" + var e = t + "" + return e == "0" && 1 / t == -1 / 0 ? "-0" : e +} +var ghe = /\s/ +function mhe(t) { + for (var e = t.length; e-- && ghe.test(t.charAt(e)); ); + return e +} +var vhe = /^\s+/ +function yhe(t) { + return t && t.slice(0, mhe(t) + 1).replace(vhe, "") +} +var C8 = NaN, + xhe = /^[-+]0x[0-9a-f]+$/i, + bhe = /^0b[01]+$/i, + whe = /^0o[0-7]+$/i, + The = parseInt +function Ehe(t) { + if (typeof t == "number") return t + if (Qc(t)) return C8 + if (sa(t)) { + var e = typeof t.valueOf == "function" ? t.valueOf() : t + t = sa(e) ? e + "" : e + } + if (typeof t != "string") return t === 0 ? t : +t + t = yhe(t) + var r = bhe.test(t) + return r || whe.test(t) ? The(t.slice(2), r ? 2 : 8) : xhe.test(t) ? C8 : +t +} +var khe = 1 / 0, + She = 17976931348623157e292 +function Cm(t) { + if (!t) return t === 0 ? t : 0 + if (((t = Ehe(t)), t === khe || t === -1 / 0)) { + var e = t < 0 ? -1 : 1 + return e * She + } + return t === t ? t : 0 +} +function Q2(t) { + var e = Cm(t), + r = e % 1 + return e === e ? (r ? e - r : e) : 0 +} +function An() {} +function O$(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n && e(t[r], r, t) !== !1; ); + return t +} +function P$(t, e, r, n) { + for (var i = t.length, a = r + -1; ++a < i; ) if (e(t[a], a, t)) return a + return -1 +} +function Che(t) { + return t !== t +} +function Ahe(t, e, r) { + for (var n = r - 1, i = t.length; ++n < i; ) if (t[n] === e) return n + return -1 +} +function PE(t, e, r) { + return e === e ? Ahe(t, e, r) : P$(t, Che, r) +} +function B$(t, e) { + var r = t == null ? 0 : t.length + return !!r && PE(t, e, 0) > -1 +} +function In(t) { + return oo(t) ? CP(t) : YF(t) +} +var _he = Object.prototype, + Lhe = _he.hasOwnProperty, + La = RP(function (t, e) { + if (gg(e) || oo(e)) { + sf(e, In(e), t) + return + } + for (var r in e) Lhe.call(e, r) && vg(t, r, e[r]) + }), + Rhe = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + Nhe = /^\w*$/ +function BE(t, e) { + if (lr(t)) return !1 + var r = typeof t + return r == "number" || r == "symbol" || r == "boolean" || t == null || Qc(t) + ? !0 + : Nhe.test(t) || !Rhe.test(t) || (e != null && t in Object(e)) +} +var Dhe = 500 +function Ihe(t) { + var e = af(t, function (n) { + return r.size === Dhe && r.clear(), n + }), + r = e.cache + return e +} +var Mhe = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + Ohe = /\\(\\)?/g, + Phe = Ihe(function (t) { + var e = [] + return ( + t.charCodeAt(0) === 46 && e.push(""), + t.replace(Mhe, function (r, n, i, a) { + e.push(i ? a.replace(Ohe, "$1") : n || r) + }), + e + ) + }) +function F$(t) { + return t == null ? "" : M$(t) +} +function J2(t, e) { + return lr(t) ? t : BE(t, e) ? [t] : Phe(F$(t)) +} +function Eg(t) { + if (typeof t == "string" || Qc(t)) return t + var e = t + "" + return e == "0" && 1 / t == -1 / 0 ? "-0" : e +} +function ex(t, e) { + e = J2(e, t) + for (var r = 0, n = e.length; t != null && r < n; ) t = t[Eg(e[r++])] + return r && r == n ? t : void 0 +} +function Bhe(t, e, r) { + var n = t == null ? void 0 : ex(t, e) + return n === void 0 ? r : n +} +function FE(t, e) { + for (var r = -1, n = e.length, i = t.length; ++r < n; ) t[i + r] = e[r] + return t +} +var A8 = es ? es.isConcatSpreadable : void 0 +function Fhe(t) { + return lr(t) || Dd(t) || !!(A8 && t && t[A8]) +} +function kg(t, e, r, n, i) { + var a = -1, + s = t.length + for (r || (r = Fhe), i || (i = []); ++a < s; ) { + var o = t[a] + r(o) ? FE(i, o) : n || (i[i.length] = o) + } + return i +} +function Xn(t) { + var e = t == null ? 0 : t.length + return e ? kg(t) : [] +} +function $he(t) { + return LP(_P(t, void 0, Xn), t + "") +} +function $$(t, e, r) { + var n = -1, + i = t.length + e < 0 && (e = -e > i ? 0 : i + e), + (r = r > i ? i : r), + r < 0 && (r += i), + (i = e > r ? 0 : (r - e) >>> 0), + (e >>>= 0) + for (var a = Array(i); ++n < i; ) a[n] = t[n + e] + return a +} +function zhe(t, e, r, n) { + var i = -1, + a = t == null ? 0 : t.length + for (n && a && (r = t[++i]); ++i < a; ) r = e(r, t[i], i, t) + return r +} +function Vhe(t, e) { + return t && sf(e, In(e), t) +} +function Ghe(t, e) { + return t && sf(e, xu(e), t) +} +function $E(t, e) { + for (var r = -1, n = t == null ? 0 : t.length, i = 0, a = []; ++r < n; ) { + var s = t[r] + e(s, r, t) && (a[i++] = s) + } + return a +} +function z$() { + return [] +} +var Uhe = Object.prototype, + qhe = Uhe.propertyIsEnumerable, + _8 = Object.getOwnPropertySymbols, + zE = _8 + ? function (t) { + return t == null + ? [] + : ((t = Object(t)), + $E(_8(t), function (e) { + return qhe.call(t, e) + })) + } + : z$ +function Whe(t, e) { + return sf(t, zE(t), e) +} +var Hhe = Object.getOwnPropertySymbols, + V$ = Hhe + ? function (t) { + for (var e = []; t; ) FE(e, zE(t)), (t = lE(t)) + return e + } + : z$ +function Yhe(t, e) { + return sf(t, V$(t), e) +} +function G$(t, e, r) { + var n = e(t) + return lr(t) ? n : FE(n, r(t)) +} +function vw(t) { + return G$(t, In, zE) +} +function U$(t) { + return G$(t, xu, V$) +} +var Xhe = Object.prototype, + jhe = Xhe.hasOwnProperty +function Khe(t) { + var e = t.length, + r = new t.constructor(e) + return e && typeof t[0] == "string" && jhe.call(t, "index") && ((r.index = t.index), (r.input = t.input)), r +} +function Zhe(t, e) { + var r = e ? oE(t.buffer) : t.buffer + return new t.constructor(r, t.byteOffset, t.byteLength) +} +var Qhe = /\w*$/ +function Jhe(t) { + var e = new t.constructor(t.source, Qhe.exec(t)) + return (e.lastIndex = t.lastIndex), e +} +var L8 = es ? es.prototype : void 0, + R8 = L8 ? L8.valueOf : void 0 +function ede(t) { + return R8 ? Object(R8.call(t)) : {} +} +var tde = "[object Boolean]", + rde = "[object Date]", + nde = "[object Map]", + ide = "[object Number]", + ade = "[object RegExp]", + sde = "[object Set]", + ode = "[object String]", + lde = "[object Symbol]", + cde = "[object ArrayBuffer]", + ude = "[object DataView]", + hde = "[object Float32Array]", + dde = "[object Float64Array]", + fde = "[object Int8Array]", + pde = "[object Int16Array]", + gde = "[object Int32Array]", + mde = "[object Uint8Array]", + vde = "[object Uint8ClampedArray]", + yde = "[object Uint16Array]", + xde = "[object Uint32Array]" +function bde(t, e, r) { + var n = t.constructor + switch (e) { + case cde: + return oE(t) + case tde: + case rde: + return new n(+t) + case ude: + return Zhe(t, r) + case hde: + case dde: + case fde: + case pde: + case gde: + case mde: + case vde: + case yde: + case xde: + return yP(t, r) + case nde: + return new n() + case ide: + case ode: + return new n(t) + case ade: + return Jhe(t) + case sde: + return new n() + case lde: + return ede(t) + } +} +var wde = "[object Map]" +function Tde(t) { + return rs(t) && Va(t) == wde +} +var N8 = Dl && Dl.isMap, + Ede = N8 ? mg(N8) : Tde, + kde = "[object Set]" +function Sde(t) { + return rs(t) && Va(t) == kde +} +var D8 = Dl && Dl.isSet, + Cde = D8 ? mg(D8) : Sde, + Ade = 1, + _de = 2, + Lde = 4, + q$ = "[object Arguments]", + Rde = "[object Array]", + Nde = "[object Boolean]", + Dde = "[object Date]", + Ide = "[object Error]", + W$ = "[object Function]", + Mde = "[object GeneratorFunction]", + Ode = "[object Map]", + Pde = "[object Number]", + H$ = "[object Object]", + Bde = "[object RegExp]", + Fde = "[object Set]", + $de = "[object String]", + zde = "[object Symbol]", + Vde = "[object WeakMap]", + Gde = "[object ArrayBuffer]", + Ude = "[object DataView]", + qde = "[object Float32Array]", + Wde = "[object Float64Array]", + Hde = "[object Int8Array]", + Yde = "[object Int16Array]", + Xde = "[object Int32Array]", + jde = "[object Uint8Array]", + Kde = "[object Uint8ClampedArray]", + Zde = "[object Uint16Array]", + Qde = "[object Uint32Array]", + Gr = {} +Gr[q$] = + Gr[Rde] = + Gr[Gde] = + Gr[Ude] = + Gr[Nde] = + Gr[Dde] = + Gr[qde] = + Gr[Wde] = + Gr[Hde] = + Gr[Yde] = + Gr[Xde] = + Gr[Ode] = + Gr[Pde] = + Gr[H$] = + Gr[Bde] = + Gr[Fde] = + Gr[$de] = + Gr[zde] = + Gr[jde] = + Gr[Kde] = + Gr[Zde] = + Gr[Qde] = + !0 +Gr[Ide] = Gr[W$] = Gr[Vde] = !1 +function op(t, e, r, n, i, a) { + var s, + o = e & Ade, + l = e & _de, + u = e & Lde + if (s !== void 0) return s + if (!sa(t)) return t + var h = lr(t) + if (h) { + if (((s = Khe(t)), !o)) return xP(t, s) + } else { + var d = Va(t), + f = d == W$ || d == Mde + if (Id(t)) return vP(t, o) + if (d == H$ || d == q$ || (f && !i)) { + if (((s = l || f ? {} : wP(t)), !o)) return l ? Yhe(t, Ghe(s, t)) : Whe(t, Vhe(s, t)) + } else { + if (!Gr[d]) return i ? t : {} + s = bde(t, d, o) + } + } + a || (a = new gs()) + var p = a.get(t) + if (p) return p + a.set(t, s), + Cde(t) + ? t.forEach(function (v) { + s.add(op(v, e, r, v, t, a)) + }) + : Ede(t) && + t.forEach(function (v, y) { + s.set(y, op(v, e, r, y, t, a)) + }) + var g = u ? (l ? U$ : vw) : l ? xu : In, + m = h ? void 0 : g(t) + return ( + O$(m || t, function (v, y) { + m && ((y = v), (v = t[y])), vg(s, y, op(v, e, r, y, t, a)) + }), + s + ) +} +var Jde = 4 +function zn(t) { + return op(t, Jde) +} +var efe = 1, + tfe = 4 +function rfe(t) { + return op(t, efe | tfe) +} +function Sg(t) { + for (var e = -1, r = t == null ? 0 : t.length, n = 0, i = []; ++e < r; ) { + var a = t[e] + a && (i[n++] = a) + } + return i +} +var nfe = "__lodash_hash_undefined__" +function ife(t) { + return this.__data__.set(t, nfe), this +} +function afe(t) { + return this.__data__.has(t) +} +function Pd(t) { + var e = -1, + r = t == null ? 0 : t.length + for (this.__data__ = new tl(); ++e < r; ) this.add(t[e]) +} +Pd.prototype.add = Pd.prototype.push = ife +Pd.prototype.has = afe +function Y$(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (e(t[r], r, t)) return !0 + return !1 +} +function VE(t, e) { + return t.has(e) +} +var sfe = 1, + ofe = 2 +function X$(t, e, r, n, i, a) { + var s = r & sfe, + o = t.length, + l = e.length + if (o != l && !(s && l > o)) return !1 + var u = a.get(t), + h = a.get(e) + if (u && h) return u == e && h == t + var d = -1, + f = !0, + p = r & ofe ? new Pd() : void 0 + for (a.set(t, e), a.set(e, t); ++d < o; ) { + var g = t[d], + m = e[d] + if (n) var v = s ? n(m, g, d, e, t, a) : n(g, m, d, t, e, a) + if (v !== void 0) { + if (v) continue + f = !1 + break + } + if (p) { + if ( + !Y$(e, function (y, b) { + if (!VE(p, b) && (g === y || i(g, y, r, n, a))) return p.push(b) + }) + ) { + f = !1 + break + } + } else if (!(g === m || i(g, m, r, n, a))) { + f = !1 + break + } + } + return a.delete(t), a.delete(e), f +} +function lfe(t) { + var e = -1, + r = Array(t.size) + return ( + t.forEach(function (n, i) { + r[++e] = [i, n] + }), + r + ) +} +function GE(t) { + var e = -1, + r = Array(t.size) + return ( + t.forEach(function (n) { + r[++e] = n + }), + r + ) +} +var cfe = 1, + ufe = 2, + hfe = "[object Boolean]", + dfe = "[object Date]", + ffe = "[object Error]", + pfe = "[object Map]", + gfe = "[object Number]", + mfe = "[object RegExp]", + vfe = "[object Set]", + yfe = "[object String]", + xfe = "[object Symbol]", + bfe = "[object ArrayBuffer]", + wfe = "[object DataView]", + I8 = es ? es.prototype : void 0, + Wb = I8 ? I8.valueOf : void 0 +function Tfe(t, e, r, n, i, a, s) { + switch (r) { + case wfe: + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1 + ;(t = t.buffer), (e = e.buffer) + case bfe: + return !(t.byteLength != e.byteLength || !a(new Kv(t), new Kv(e))) + case hfe: + case dfe: + case gfe: + return nf(+t, +e) + case ffe: + return t.name == e.name && t.message == e.message + case mfe: + case yfe: + return t == e + "" + case pfe: + var o = lfe + case vfe: + var l = n & cfe + if ((o || (o = GE), t.size != e.size && !l)) return !1 + var u = s.get(t) + if (u) return u == e + ;(n |= ufe), s.set(t, e) + var h = X$(o(t), o(e), n, i, a, s) + return s.delete(t), h + case xfe: + if (Wb) return Wb.call(t) == Wb.call(e) + } + return !1 +} +var Efe = 1, + kfe = Object.prototype, + Sfe = kfe.hasOwnProperty +function Cfe(t, e, r, n, i, a) { + var s = r & Efe, + o = vw(t), + l = o.length, + u = vw(e), + h = u.length + if (l != h && !s) return !1 + for (var d = l; d--; ) { + var f = o[d] + if (!(s ? f in e : Sfe.call(e, f))) return !1 + } + var p = a.get(t), + g = a.get(e) + if (p && g) return p == e && g == t + var m = !0 + a.set(t, e), a.set(e, t) + for (var v = s; ++d < l; ) { + f = o[d] + var y = t[f], + b = e[f] + if (n) var w = s ? n(b, y, f, e, t, a) : n(y, b, f, t, e, a) + if (!(w === void 0 ? y === b || i(y, b, r, n, a) : w)) { + m = !1 + break + } + v || (v = f == "constructor") + } + if (m && !v) { + var T = t.constructor, + E = e.constructor + T != E && + "constructor" in t && + "constructor" in e && + !(typeof T == "function" && T instanceof T && typeof E == "function" && E instanceof E) && + (m = !1) + } + return a.delete(t), a.delete(e), m +} +var Afe = 1, + M8 = "[object Arguments]", + O8 = "[object Array]", + E1 = "[object Object]", + _fe = Object.prototype, + P8 = _fe.hasOwnProperty +function Lfe(t, e, r, n, i, a) { + var s = lr(t), + o = lr(e), + l = s ? O8 : Va(t), + u = o ? O8 : Va(e) + ;(l = l == M8 ? E1 : l), (u = u == M8 ? E1 : u) + var h = l == E1, + d = u == E1, + f = l == u + if (f && Id(t)) { + if (!Id(e)) return !1 + ;(s = !0), (h = !1) + } + if (f && !h) return a || (a = new gs()), s || $2(t) ? X$(t, e, r, n, i, a) : Tfe(t, e, l, r, n, i, a) + if (!(r & Afe)) { + var p = h && P8.call(t, "__wrapped__"), + g = d && P8.call(e, "__wrapped__") + if (p || g) { + var m = p ? t.value() : t, + v = g ? e.value() : e + return a || (a = new gs()), i(m, v, r, n, a) + } + } + return f ? (a || (a = new gs()), Cfe(t, e, r, n, i, a)) : !1 +} +function UE(t, e, r, n, i) { + return t === e ? !0 : t == null || e == null || (!rs(t) && !rs(e)) ? t !== t && e !== e : Lfe(t, e, r, n, UE, i) +} +var Rfe = 1, + Nfe = 2 +function Dfe(t, e, r, n) { + var i = r.length, + a = i + if (t == null) return !a + for (t = Object(t); i--; ) { + var s = r[i] + if (s[2] ? s[1] !== t[s[0]] : !(s[0] in t)) return !1 + } + for (; ++i < a; ) { + s = r[i] + var o = s[0], + l = t[o], + u = s[1] + if (s[2]) { + if (l === void 0 && !(o in t)) return !1 + } else { + var h = new gs(), + d + if (!(d === void 0 ? UE(u, l, Rfe | Nfe, n, h) : d)) return !1 + } + } + return !0 +} +function j$(t) { + return t === t && !sa(t) +} +function Ife(t) { + for (var e = In(t), r = e.length; r--; ) { + var n = e[r], + i = t[n] + e[r] = [n, i, j$(i)] + } + return e +} +function K$(t, e) { + return function (r) { + return r == null ? !1 : r[t] === e && (e !== void 0 || t in Object(r)) + } +} +function Mfe(t) { + var e = Ife(t) + return e.length == 1 && e[0][2] + ? K$(e[0][0], e[0][1]) + : function (r) { + return r === t || Dfe(r, t, e) + } +} +function Ofe(t, e) { + return t != null && e in Object(t) +} +function Z$(t, e, r) { + e = J2(e, t) + for (var n = -1, i = e.length, a = !1; ++n < i; ) { + var s = Eg(e[n]) + if (!(a = t != null && r(t, s))) break + t = t[s] + } + return a || ++n != i ? a : ((i = t == null ? 0 : t.length), !!i && cE(i) && z2(s, i) && (lr(t) || Dd(t))) +} +function Q$(t, e) { + return t != null && Z$(t, e, Ofe) +} +var Pfe = 1, + Bfe = 2 +function Ffe(t, e) { + return BE(t) && j$(e) + ? K$(Eg(t), e) + : function (r) { + var n = Bhe(r, t) + return n === void 0 && n === e ? Q$(r, t) : UE(e, n, Pfe | Bfe) + } +} +function $fe(t) { + return function (e) { + return e == null ? void 0 : e[t] + } +} +function zfe(t) { + return function (e) { + return ex(e, t) + } +} +function Vfe(t) { + return BE(t) ? $fe(Eg(t)) : zfe(t) +} +function pa(t) { + return typeof t == "function" + ? t + : t == null + ? Ho + : typeof t == "object" + ? lr(t) + ? Ffe(t[0], t[1]) + : Mfe(t) + : Vfe(t) +} +function Gfe(t, e, r, n) { + for (var i = -1, a = t == null ? 0 : t.length; ++i < a; ) { + var s = t[i] + e(n, s, r(s), t) + } + return n +} +function qE(t, e) { + return t && sE(t, e, In) +} +function Ufe(t, e) { + return function (r, n) { + if (r == null) return r + if (!oo(r)) return t(r, n) + for (var i = r.length, a = -1, s = Object(r); ++a < i && n(s[a], a, s) !== !1; ); + return r + } +} +var wu = Ufe(qE) +function qfe(t, e, r, n) { + return ( + wu(t, function (i, a, s) { + e(n, i, r(i), s) + }), + n + ) +} +function Wfe(t, e) { + return function (r, n) { + var i = lr(r) ? Gfe : qfe, + a = e ? e() : {} + return i(r, t, pa(n), a) + } +} +var J$ = Object.prototype, + Hfe = J$.hasOwnProperty, + tx = yg(function (t, e) { + t = Object(t) + var r = -1, + n = e.length, + i = n > 2 ? e[2] : void 0 + for (i && Np(e[0], e[1], i) && (n = 1); ++r < n; ) + for (var a = e[r], s = xu(a), o = -1, l = s.length; ++o < l; ) { + var u = s[o], + h = t[u] + ;(h === void 0 || (nf(h, J$[u]) && !Hfe.call(t, u))) && (t[u] = a[u]) + } + return t + }), + Yfe = 200 +function Xfe(t, e, r, n) { + var i = -1, + a = B$, + s = !0, + o = t.length, + l = [], + u = e.length + if (!o) return l + e.length >= Yfe && ((a = VE), (s = !1), (e = new Pd(e))) + e: for (; ++i < o; ) { + var h = t[i], + d = h + if (((h = h !== 0 ? h : 0), s && d === d)) { + for (var f = u; f--; ) if (e[f] === d) continue e + l.push(h) + } else a(e, d, n) || l.push(h) + } + return l +} +var rx = yg(function (t, e) { + return Zv(t) ? Xfe(t, kg(e, 1, Zv, !0)) : [] +}) +function Qs(t) { + var e = t == null ? 0 : t.length + return e ? t[e - 1] : void 0 +} +function ai(t, e, r) { + var n = t == null ? 0 : t.length + return n ? ((e = e === void 0 ? 1 : Q2(e)), $$(t, e < 0 ? 0 : e, n)) : [] +} +function Mp(t, e, r) { + var n = t == null ? 0 : t.length + return n ? ((e = e === void 0 ? 1 : Q2(e)), (e = n - e), $$(t, 0, e < 0 ? 0 : e)) : [] +} +function WE(t) { + return typeof t == "function" ? t : Ho +} +function Ie(t, e) { + var r = lr(t) ? O$ : wu + return r(t, WE(e)) +} +function jfe(t, e) { + for (var r = -1, n = t == null ? 0 : t.length; ++r < n; ) if (!e(t[r], r, t)) return !1 + return !0 +} +function Kfe(t, e) { + var r = !0 + return ( + wu(t, function (n, i, a) { + return (r = !!e(n, i, a)), r + }), + r + ) +} +function vs(t, e, r) { + var n = lr(t) ? jfe : Kfe + return n(t, pa(e)) +} +function ez(t, e) { + var r = [] + return ( + wu(t, function (n, i, a) { + e(n, i, a) && r.push(n) + }), + r + ) +} +function un(t, e) { + var r = lr(t) ? $E : ez + return r(t, pa(e)) +} +function Zfe(t) { + return function (e, r, n) { + var i = Object(e) + if (!oo(e)) { + var a = pa(r) + ;(e = In(e)), + (r = function (o) { + return a(i[o], o, i) + }) + } + var s = t(e, r, n) + return s > -1 ? i[a ? e[s] : s] : void 0 + } +} +var Qfe = Math.max +function Jfe(t, e, r) { + var n = t == null ? 0 : t.length + if (!n) return -1 + var i = r == null ? 0 : Q2(r) + return i < 0 && (i = Qfe(n + i, 0)), P$(t, pa(e), i) +} +var Yo = Zfe(Jfe) +function Es(t) { + return t && t.length ? t[0] : void 0 +} +function tz(t, e) { + var r = -1, + n = oo(t) ? Array(t.length) : [] + return ( + wu(t, function (i, a, s) { + n[++r] = e(i, a, s) + }), + n + ) +} +function ht(t, e) { + var r = lr(t) ? zc : tz + return r(t, pa(e)) +} +function Ca(t, e) { + return kg(ht(t, e)) +} +function e0e(t, e) { + return t == null ? t : sE(t, WE(e), xu) +} +function t0e(t, e) { + return t && qE(t, WE(e)) +} +var r0e = Object.prototype, + n0e = r0e.hasOwnProperty, + i0e = Wfe(function (t, e, r) { + n0e.call(t, r) ? t[r].push(e) : pg(t, r, [e]) + }) +function a0e(t, e) { + return t > e +} +var s0e = Object.prototype, + o0e = s0e.hasOwnProperty +function l0e(t, e) { + return t != null && o0e.call(t, e) +} +function $t(t, e) { + return t != null && Z$(t, e, l0e) +} +var c0e = "[object String]" +function oa(t) { + return typeof t == "string" || (!lr(t) && rs(t) && Jo(t) == c0e) +} +function u0e(t, e) { + return zc(e, function (r) { + return t[r] + }) +} +function Or(t) { + return t == null ? [] : u0e(t, In(t)) +} +var h0e = Math.max +function Yi(t, e, r, n) { + ;(t = oo(t) ? t : Or(t)), (r = r ? Q2(r) : 0) + var i = t.length + return r < 0 && (r = h0e(i + r, 0)), oa(t) ? r <= i && t.indexOf(e, r) > -1 : !!i && PE(t, e, r) > -1 +} +function B8(t, e, r) { + var n = t == null ? 0 : t.length + if (!n) return -1 + var i = 0 + return PE(t, e, i) +} +var d0e = "[object RegExp]" +function f0e(t) { + return rs(t) && Jo(t) == d0e +} +var F8 = Dl && Dl.isRegExp, + Xo = F8 ? mg(F8) : f0e +function kr(t) { + return t === void 0 +} +function rz(t, e) { + return t < e +} +function nx(t, e) { + var r = {} + return ( + (e = pa(e)), + qE(t, function (n, i, a) { + pg(r, i, e(n, i, a)) + }), + r + ) +} +function HE(t, e, r) { + for (var n = -1, i = t.length; ++n < i; ) { + var a = t[n], + s = e(a) + if (s != null && (o === void 0 ? s === s && !Qc(s) : r(s, o))) + var o = s, + l = a + } + return l +} +function Jc(t) { + return t && t.length ? HE(t, Ho, a0e) : void 0 +} +function Bd(t) { + return t && t.length ? HE(t, Ho, rz) : void 0 +} +function YE(t, e) { + return t && t.length ? HE(t, pa(e), rz) : void 0 +} +var p0e = "Expected a function" +function g0e(t) { + if (typeof t != "function") throw new TypeError(p0e) + return function () { + var e = arguments + switch (e.length) { + case 0: + return !t.call(this) + case 1: + return !t.call(this, e[0]) + case 2: + return !t.call(this, e[0], e[1]) + case 3: + return !t.call(this, e[0], e[1], e[2]) + } + return !t.apply(this, e) + } +} +function m0e(t, e, r, n) { + if (!sa(t)) return t + e = J2(e, t) + for (var i = -1, a = e.length, s = a - 1, o = t; o != null && ++i < a; ) { + var l = Eg(e[i]), + u = r + if (l === "__proto__" || l === "constructor" || l === "prototype") return t + if (i != s) { + var h = o[l] + ;(u = void 0), u === void 0 && (u = sa(h) ? h : z2(e[i + 1]) ? [] : {}) + } + vg(o, l, u), (o = o[l]) + } + return t +} +function nz(t, e, r) { + for (var n = -1, i = e.length, a = {}; ++n < i; ) { + var s = e[n], + o = ex(t, s) + r(o, s) && m0e(a, J2(s, t), o) + } + return a +} +function As(t, e) { + if (t == null) return {} + var r = zc(U$(t), function (n) { + return [n] + }) + return ( + (e = pa(e)), + nz(t, r, function (n, i) { + return e(n, i[0]) + }) + ) +} +function v0e(t, e) { + var r = t.length + for (t.sort(e); r--; ) t[r] = t[r].value + return t +} +function y0e(t, e) { + if (t !== e) { + var r = t !== void 0, + n = t === null, + i = t === t, + a = Qc(t), + s = e !== void 0, + o = e === null, + l = e === e, + u = Qc(e) + if ((!o && !u && !a && t > e) || (a && s && l && !o && !u) || (n && s && l) || (!r && l) || !i) return 1 + if ((!n && !a && !u && t < e) || (u && r && i && !n && !a) || (o && r && i) || (!s && i) || !l) return -1 + } + return 0 +} +function x0e(t, e, r) { + for (var n = -1, i = t.criteria, a = e.criteria, s = i.length, o = r.length; ++n < s; ) { + var l = y0e(i[n], a[n]) + if (l) { + if (n >= o) return l + var u = r[n] + return l * (u == "desc" ? -1 : 1) + } + } + return t.index - e.index +} +function b0e(t, e, r) { + e.length + ? (e = zc(e, function (a) { + return lr(a) + ? function (s) { + return ex(s, a.length === 1 ? a[0] : a) + } + : a + })) + : (e = [Ho]) + var n = -1 + e = zc(e, mg(pa)) + var i = tz(t, function (a, s, o) { + var l = zc(e, function (u) { + return u(a) + }) + return { criteria: l, index: ++n, value: a } + }) + return v0e(i, function (a, s) { + return x0e(a, s, r) + }) +} +function w0e(t, e) { + return nz(t, e, function (r, n) { + return Q$(t, n) + }) +} +var uy = $he(function (t, e) { + return t == null ? {} : w0e(t, e) + }), + T0e = Math.ceil, + E0e = Math.max +function k0e(t, e, r, n) { + for (var i = -1, a = E0e(T0e((e - t) / (r || 1)), 0), s = Array(a); a--; ) (s[++i] = t), (t += r) + return s +} +function S0e(t) { + return function (e, r, n) { + return ( + n && typeof n != "number" && Np(e, r, n) && (r = n = void 0), + (e = Cm(e)), + r === void 0 ? ((r = e), (e = 0)) : (r = Cm(r)), + (n = n === void 0 ? (e < r ? 1 : -1) : Cm(n)), + k0e(e, r, n) + ) + } +} +var Fd = S0e() +function C0e(t, e, r, n, i) { + return ( + i(t, function (a, s, o) { + r = n ? ((n = !1), a) : e(r, a, s, o) + }), + r + ) +} +function kn(t, e, r) { + var n = lr(t) ? zhe : C0e, + i = arguments.length < 3 + return n(t, pa(e), r, i, wu) +} +function ix(t, e) { + var r = lr(t) ? $E : ez + return r(t, g0e(pa(e))) +} +function A0e(t, e) { + var r + return ( + wu(t, function (n, i, a) { + return (r = e(n, i, a)), !r + }), + !!r + ) +} +function iz(t, e, r) { + var n = lr(t) ? Y$ : A0e + return n(t, pa(e)) +} +var Cg = yg(function (t, e) { + if (t == null) return [] + var r = e.length + return r > 1 && Np(t, e[0], e[1]) ? (e = []) : r > 2 && Np(e[0], e[1], e[2]) && (e = [e[0]]), b0e(t, kg(e), []) + }), + _0e = 1 / 0, + L0e = + yh && 1 / GE(new yh([, -0]))[1] == _0e + ? function (t) { + return new yh(t) + } + : An, + R0e = 200 +function XE(t, e, r) { + var n = -1, + i = B$, + a = t.length, + s = !0, + o = [], + l = o + if (a >= R0e) { + var u = e ? null : L0e(t) + if (u) return GE(u) + ;(s = !1), (i = VE), (l = new Pd()) + } else l = e ? [] : o + e: for (; ++n < a; ) { + var h = t[n], + d = e ? e(h) : h + if (((h = h !== 0 ? h : 0), s && d === d)) { + for (var f = l.length; f--; ) if (l[f] === d) continue e + e && l.push(d), o.push(h) + } else i(l, d, r) || (l !== o && l.push(d), o.push(h)) + } + return o +} +var N0e = yg(function (t) { + return XE(kg(t, 1, Zv, !0)) +}) +function jE(t) { + return t && t.length ? XE(t) : [] +} +function D0e(t, e) { + return t && t.length ? XE(t, pa(e)) : [] +} +var I0e = 0 +function KE(t) { + var e = ++I0e + return F$(t) + e +} +function M0e(t, e, r) { + for (var n = -1, i = t.length, a = e.length, s = {}; ++n < i; ) { + var o = n < a ? e[n] : void 0 + r(s, t[n], o) + } + return s +} +function O0e(t, e) { + return M0e(t || [], e || [], vg) +} +var P0e = "\0", + uc = "\0", + $8 = "" +class ga { + constructor(e = {}) { + ;(this._isDirected = Object.prototype.hasOwnProperty.call(e, "directed") ? e.directed : !0), + (this._isMultigraph = Object.prototype.hasOwnProperty.call(e, "multigraph") ? e.multigraph : !1), + (this._isCompound = Object.prototype.hasOwnProperty.call(e, "compound") ? e.compound : !1), + (this._label = void 0), + (this._defaultNodeLabelFn = sh(void 0)), + (this._defaultEdgeLabelFn = sh(void 0)), + (this._nodes = {}), + this._isCompound && ((this._parent = {}), (this._children = {}), (this._children[uc] = {})), + (this._in = {}), + (this._preds = {}), + (this._out = {}), + (this._sucs = {}), + (this._edgeObjs = {}), + (this._edgeLabels = {}) + } + isDirected() { + return this._isDirected + } + isMultigraph() { + return this._isMultigraph + } + isCompound() { + return this._isCompound + } + setGraph(e) { + return (this._label = e), this + } + graph() { + return this._label + } + setDefaultNodeLabel(e) { + return ts(e) || (e = sh(e)), (this._defaultNodeLabelFn = e), this + } + nodeCount() { + return this._nodeCount + } + nodes() { + return In(this._nodes) + } + sources() { + var e = this + return un(this.nodes(), function (r) { + return br(e._in[r]) + }) + } + sinks() { + var e = this + return un(this.nodes(), function (r) { + return br(e._out[r]) + }) + } + setNodes(e, r) { + var n = arguments, + i = this + return ( + Ie(e, function (a) { + n.length > 1 ? i.setNode(a, r) : i.setNode(a) + }), + this + ) + } + setNode(e, r) { + return Object.prototype.hasOwnProperty.call(this._nodes, e) + ? (arguments.length > 1 && (this._nodes[e] = r), this) + : ((this._nodes[e] = arguments.length > 1 ? r : this._defaultNodeLabelFn(e)), + this._isCompound && ((this._parent[e] = uc), (this._children[e] = {}), (this._children[uc][e] = !0)), + (this._in[e] = {}), + (this._preds[e] = {}), + (this._out[e] = {}), + (this._sucs[e] = {}), + ++this._nodeCount, + this) + } + node(e) { + return this._nodes[e] + } + hasNode(e) { + return Object.prototype.hasOwnProperty.call(this._nodes, e) + } + removeNode(e) { + if (Object.prototype.hasOwnProperty.call(this._nodes, e)) { + var r = (n) => this.removeEdge(this._edgeObjs[n]) + delete this._nodes[e], + this._isCompound && + (this._removeFromParentsChildList(e), + delete this._parent[e], + Ie(this.children(e), (n) => { + this.setParent(n) + }), + delete this._children[e]), + Ie(In(this._in[e]), r), + delete this._in[e], + delete this._preds[e], + Ie(In(this._out[e]), r), + delete this._out[e], + delete this._sucs[e], + --this._nodeCount + } + return this + } + setParent(e, r) { + if (!this._isCompound) throw new Error("Cannot set parent in a non-compound graph") + if (kr(r)) r = uc + else { + r += "" + for (var n = r; !kr(n); n = this.parent(n)) + if (n === e) throw new Error("Setting " + r + " as parent of " + e + " would create a cycle") + this.setNode(r) + } + return ( + this.setNode(e), + this._removeFromParentsChildList(e), + (this._parent[e] = r), + (this._children[r][e] = !0), + this + ) + } + _removeFromParentsChildList(e) { + delete this._children[this._parent[e]][e] + } + parent(e) { + if (this._isCompound) { + var r = this._parent[e] + if (r !== uc) return r + } + } + children(e) { + if ((kr(e) && (e = uc), this._isCompound)) { + var r = this._children[e] + if (r) return In(r) + } else { + if (e === uc) return this.nodes() + if (this.hasNode(e)) return [] + } + } + predecessors(e) { + var r = this._preds[e] + if (r) return In(r) + } + successors(e) { + var r = this._sucs[e] + if (r) return In(r) + } + neighbors(e) { + var r = this.predecessors(e) + if (r) return N0e(r, this.successors(e)) + } + isLeaf(e) { + var r + return this.isDirected() ? (r = this.successors(e)) : (r = this.neighbors(e)), r.length === 0 + } + filterNodes(e) { + var r = new this.constructor({ + directed: this._isDirected, + multigraph: this._isMultigraph, + compound: this._isCompound, + }) + r.setGraph(this.graph()) + var n = this + Ie(this._nodes, function (s, o) { + e(o) && r.setNode(o, s) + }), + Ie(this._edgeObjs, function (s) { + r.hasNode(s.v) && r.hasNode(s.w) && r.setEdge(s, n.edge(s)) + }) + var i = {} + function a(s) { + var o = n.parent(s) + return o === void 0 || r.hasNode(o) ? ((i[s] = o), o) : o in i ? i[o] : a(o) + } + return ( + this._isCompound && + Ie(r.nodes(), function (s) { + r.setParent(s, a(s)) + }), + r + ) + } + setDefaultEdgeLabel(e) { + return ts(e) || (e = sh(e)), (this._defaultEdgeLabelFn = e), this + } + edgeCount() { + return this._edgeCount + } + edges() { + return Or(this._edgeObjs) + } + setPath(e, r) { + var n = this, + i = arguments + return ( + kn(e, function (a, s) { + return i.length > 1 ? n.setEdge(a, s, r) : n.setEdge(a, s), s + }), + this + ) + } + setEdge() { + var e, + r, + n, + i, + a = !1, + s = arguments[0] + typeof s == "object" && s !== null && "v" in s + ? ((e = s.v), (r = s.w), (n = s.name), arguments.length === 2 && ((i = arguments[1]), (a = !0))) + : ((e = s), (r = arguments[1]), (n = arguments[3]), arguments.length > 2 && ((i = arguments[2]), (a = !0))), + (e = "" + e), + (r = "" + r), + kr(n) || (n = "" + n) + var o = a0(this._isDirected, e, r, n) + if (Object.prototype.hasOwnProperty.call(this._edgeLabels, o)) return a && (this._edgeLabels[o] = i), this + if (!kr(n) && !this._isMultigraph) throw new Error("Cannot set a named edge when isMultigraph = false") + this.setNode(e), this.setNode(r), (this._edgeLabels[o] = a ? i : this._defaultEdgeLabelFn(e, r, n)) + var l = B0e(this._isDirected, e, r, n) + return ( + (e = l.v), + (r = l.w), + Object.freeze(l), + (this._edgeObjs[o] = l), + z8(this._preds[r], e), + z8(this._sucs[e], r), + (this._in[r][o] = l), + (this._out[e][o] = l), + this._edgeCount++, + this + ) + } + edge(e, r, n) { + var i = arguments.length === 1 ? Hb(this._isDirected, arguments[0]) : a0(this._isDirected, e, r, n) + return this._edgeLabels[i] + } + hasEdge(e, r, n) { + var i = arguments.length === 1 ? Hb(this._isDirected, arguments[0]) : a0(this._isDirected, e, r, n) + return Object.prototype.hasOwnProperty.call(this._edgeLabels, i) + } + removeEdge(e, r, n) { + var i = arguments.length === 1 ? Hb(this._isDirected, arguments[0]) : a0(this._isDirected, e, r, n), + a = this._edgeObjs[i] + return ( + a && + ((e = a.v), + (r = a.w), + delete this._edgeLabels[i], + delete this._edgeObjs[i], + V8(this._preds[r], e), + V8(this._sucs[e], r), + delete this._in[r][i], + delete this._out[e][i], + this._edgeCount--), + this + ) + } + inEdges(e, r) { + var n = this._in[e] + if (n) { + var i = Or(n) + return r + ? un(i, function (a) { + return a.v === r + }) + : i + } + } + outEdges(e, r) { + var n = this._out[e] + if (n) { + var i = Or(n) + return r + ? un(i, function (a) { + return a.w === r + }) + : i + } + } + nodeEdges(e, r) { + var n = this.inEdges(e, r) + if (n) return n.concat(this.outEdges(e, r)) + } +} +ga.prototype._nodeCount = 0 +ga.prototype._edgeCount = 0 +function z8(t, e) { + t[e] ? t[e]++ : (t[e] = 1) +} +function V8(t, e) { + --t[e] || delete t[e] +} +function a0(t, e, r, n) { + var i = "" + e, + a = "" + r + if (!t && i > a) { + var s = i + ;(i = a), (a = s) + } + return i + $8 + a + $8 + (kr(n) ? P0e : n) +} +function B0e(t, e, r, n) { + var i = "" + e, + a = "" + r + if (!t && i > a) { + var s = i + ;(i = a), (a = s) + } + var o = { v: i, w: a } + return n && (o.name = n), o +} +function Hb(t, e) { + return a0(t, e.v, e.w, e.name) +} +class F0e { + constructor() { + var e = {} + ;(e._next = e._prev = e), (this._sentinel = e) + } + dequeue() { + var e = this._sentinel, + r = e._prev + if (r !== e) return G8(r), r + } + enqueue(e) { + var r = this._sentinel + e._prev && e._next && G8(e), (e._next = r._next), (r._next._prev = e), (r._next = e), (e._prev = r) + } + toString() { + for (var e = [], r = this._sentinel, n = r._prev; n !== r; ) e.push(JSON.stringify(n, $0e)), (n = n._prev) + return "[" + e.join(", ") + "]" + } +} +function G8(t) { + ;(t._prev._next = t._next), (t._next._prev = t._prev), delete t._next, delete t._prev +} +function $0e(t, e) { + if (t !== "_next" && t !== "_prev") return e +} +var z0e = sh(1) +function V0e(t, e) { + if (t.nodeCount() <= 1) return [] + var r = U0e(t, e || z0e), + n = G0e(r.graph, r.buckets, r.zeroIdx) + return Xn( + ht(n, function (i) { + return t.outEdges(i.v, i.w) + }), + ) +} +function G0e(t, e, r) { + for (var n = [], i = e[e.length - 1], a = e[0], s; t.nodeCount(); ) { + for (; (s = a.dequeue()); ) Yb(t, e, r, s) + for (; (s = i.dequeue()); ) Yb(t, e, r, s) + if (t.nodeCount()) { + for (var o = e.length - 2; o > 0; --o) + if (((s = e[o].dequeue()), s)) { + n = n.concat(Yb(t, e, r, s, !0)) + break + } + } + } + return n +} +function Yb(t, e, r, n, i) { + var a = i ? [] : void 0 + return ( + Ie(t.inEdges(n.v), function (s) { + var o = t.edge(s), + l = t.node(s.v) + i && a.push({ v: s.v, w: s.w }), (l.out -= o), yw(e, r, l) + }), + Ie(t.outEdges(n.v), function (s) { + var o = t.edge(s), + l = s.w, + u = t.node(l) + ;(u.in -= o), yw(e, r, u) + }), + t.removeNode(n.v), + a + ) +} +function U0e(t, e) { + var r = new ga(), + n = 0, + i = 0 + Ie(t.nodes(), function (o) { + r.setNode(o, { v: o, in: 0, out: 0 }) + }), + Ie(t.edges(), function (o) { + var l = r.edge(o.v, o.w) || 0, + u = e(o), + h = l + u + r.setEdge(o.v, o.w, h), (i = Math.max(i, (r.node(o.v).out += u))), (n = Math.max(n, (r.node(o.w).in += u))) + }) + var a = Fd(i + n + 3).map(function () { + return new F0e() + }), + s = n + 1 + return ( + Ie(r.nodes(), function (o) { + yw(a, s, r.node(o)) + }), + { graph: r, buckets: a, zeroIdx: s } + ) +} +function yw(t, e, r) { + r.out ? (r.in ? t[r.out - r.in + e].enqueue(r) : t[t.length - 1].enqueue(r)) : t[0].enqueue(r) +} +function q0e(t) { + var e = t.graph().acyclicer === "greedy" ? V0e(t, r(t)) : W0e(t) + Ie(e, function (n) { + var i = t.edge(n) + t.removeEdge(n), (i.forwardName = n.name), (i.reversed = !0), t.setEdge(n.w, n.v, i, KE("rev")) + }) + function r(n) { + return function (i) { + return n.edge(i).weight + } + } +} +function W0e(t) { + var e = [], + r = {}, + n = {} + function i(a) { + Object.prototype.hasOwnProperty.call(n, a) || + ((n[a] = !0), + (r[a] = !0), + Ie(t.outEdges(a), function (s) { + Object.prototype.hasOwnProperty.call(r, s.w) ? e.push(s) : i(s.w) + }), + delete r[a]) + } + return Ie(t.nodes(), i), e +} +function H0e(t) { + Ie(t.edges(), function (e) { + var r = t.edge(e) + if (r.reversed) { + t.removeEdge(e) + var n = r.forwardName + delete r.reversed, delete r.forwardName, t.setEdge(e.w, e.v, r, n) + } + }) +} +function uf(t, e, r, n) { + var i + do i = KE(n) + while (t.hasNode(i)) + return (r.dummy = e), t.setNode(i, r), i +} +function Y0e(t) { + var e = new ga().setGraph(t.graph()) + return ( + Ie(t.nodes(), function (r) { + e.setNode(r, t.node(r)) + }), + Ie(t.edges(), function (r) { + var n = e.edge(r.v, r.w) || { weight: 0, minlen: 1 }, + i = t.edge(r) + e.setEdge(r.v, r.w, { weight: n.weight + i.weight, minlen: Math.max(n.minlen, i.minlen) }) + }), + e + ) +} +function az(t) { + var e = new ga({ multigraph: t.isMultigraph() }).setGraph(t.graph()) + return ( + Ie(t.nodes(), function (r) { + t.children(r).length || e.setNode(r, t.node(r)) + }), + Ie(t.edges(), function (r) { + e.setEdge(r, t.edge(r)) + }), + e + ) +} +function U8(t, e) { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + o = t.height / 2 + if (!i && !a) throw new Error("Not possible to find intersection inside of the rectangle") + var l, u + return ( + Math.abs(a) * s > Math.abs(i) * o + ? (a < 0 && (o = -o), (l = (o * i) / a), (u = o)) + : (i < 0 && (s = -s), (l = s), (u = (s * a) / i)), + { x: r + l, y: n + u } + ) +} +function ax(t) { + var e = ht(Fd(sz(t) + 1), function () { + return [] + }) + return ( + Ie(t.nodes(), function (r) { + var n = t.node(r), + i = n.rank + kr(i) || (e[i][n.order] = r) + }), + e + ) +} +function X0e(t) { + var e = Bd( + ht(t.nodes(), function (r) { + return t.node(r).rank + }), + ) + Ie(t.nodes(), function (r) { + var n = t.node(r) + $t(n, "rank") && (n.rank -= e) + }) +} +function j0e(t) { + var e = Bd( + ht(t.nodes(), function (a) { + return t.node(a).rank + }), + ), + r = [] + Ie(t.nodes(), function (a) { + var s = t.node(a).rank - e + r[s] || (r[s] = []), r[s].push(a) + }) + var n = 0, + i = t.graph().nodeRankFactor + Ie(r, function (a, s) { + kr(a) && s % i !== 0 + ? --n + : n && + Ie(a, function (o) { + t.node(o).rank += n + }) + }) +} +function q8(t, e, r, n) { + var i = { width: 0, height: 0 } + return arguments.length >= 4 && ((i.rank = r), (i.order = n)), uf(t, "border", i, e) +} +function sz(t) { + return Jc( + ht(t.nodes(), function (e) { + var r = t.node(e).rank + if (!kr(r)) return r + }), + ) +} +function K0e(t, e) { + var r = { lhs: [], rhs: [] } + return ( + Ie(t, function (n) { + e(n) ? r.lhs.push(n) : r.rhs.push(n) + }), + r + ) +} +function Z0e(t, e) { + return e() +} +function Q0e(t) { + function e(r) { + var n = t.children(r), + i = t.node(r) + if ((n.length && Ie(n, e), Object.prototype.hasOwnProperty.call(i, "minRank"))) { + ;(i.borderLeft = []), (i.borderRight = []) + for (var a = i.minRank, s = i.maxRank + 1; a < s; ++a) + W8(t, "borderLeft", "_bl", r, i, a), W8(t, "borderRight", "_br", r, i, a) + } + } + Ie(t.children(), e) +} +function W8(t, e, r, n, i, a) { + var s = { width: 0, height: 0, rank: a, borderType: e }, + o = i[e][a - 1], + l = uf(t, "border", s, r) + ;(i[e][a] = l), t.setParent(l, n), o && t.setEdge(o, l, { weight: 1 }) +} +function J0e(t) { + var e = t.graph().rankdir.toLowerCase() + ;(e === "lr" || e === "rl") && oz(t) +} +function epe(t) { + var e = t.graph().rankdir.toLowerCase() + ;(e === "bt" || e === "rl") && tpe(t), (e === "lr" || e === "rl") && (rpe(t), oz(t)) +} +function oz(t) { + Ie(t.nodes(), function (e) { + H8(t.node(e)) + }), + Ie(t.edges(), function (e) { + H8(t.edge(e)) + }) +} +function H8(t) { + var e = t.width + ;(t.width = t.height), (t.height = e) +} +function tpe(t) { + Ie(t.nodes(), function (e) { + Xb(t.node(e)) + }), + Ie(t.edges(), function (e) { + var r = t.edge(e) + Ie(r.points, Xb), Object.prototype.hasOwnProperty.call(r, "y") && Xb(r) + }) +} +function Xb(t) { + t.y = -t.y +} +function rpe(t) { + Ie(t.nodes(), function (e) { + jb(t.node(e)) + }), + Ie(t.edges(), function (e) { + var r = t.edge(e) + Ie(r.points, jb), Object.prototype.hasOwnProperty.call(r, "x") && jb(r) + }) +} +function jb(t) { + var e = t.x + ;(t.x = t.y), (t.y = e) +} +function npe(t) { + ;(t.graph().dummyChains = []), + Ie(t.edges(), function (e) { + ipe(t, e) + }) +} +function ipe(t, e) { + var r = e.v, + n = t.node(r).rank, + i = e.w, + a = t.node(i).rank, + s = e.name, + o = t.edge(e), + l = o.labelRank + if (a !== n + 1) { + t.removeEdge(e) + var u = void 0, + h, + d + for (d = 0, ++n; n < a; ++d, ++n) + (o.points = []), + (u = { width: 0, height: 0, edgeLabel: o, edgeObj: e, rank: n }), + (h = uf(t, "edge", u, "_d")), + n === l && + ((u.width = o.width), (u.height = o.height), (u.dummy = "edge-label"), (u.labelpos = o.labelpos)), + t.setEdge(r, h, { weight: o.weight }, s), + d === 0 && t.graph().dummyChains.push(h), + (r = h) + t.setEdge(r, i, { weight: o.weight }, s) + } +} +function ape(t) { + Ie(t.graph().dummyChains, function (e) { + var r = t.node(e), + n = r.edgeLabel, + i + for (t.setEdge(r.edgeObj, n); r.dummy; ) + (i = t.successors(e)[0]), + t.removeNode(e), + n.points.push({ x: r.x, y: r.y }), + r.dummy === "edge-label" && ((n.x = r.x), (n.y = r.y), (n.width = r.width), (n.height = r.height)), + (e = i), + (r = t.node(e)) + }) +} +function ZE(t) { + var e = {} + function r(n) { + var i = t.node(n) + if (Object.prototype.hasOwnProperty.call(e, n)) return i.rank + e[n] = !0 + var a = Bd( + ht(t.outEdges(n), function (s) { + return r(s.w) - t.edge(s).minlen + }), + ) + return (a === Number.POSITIVE_INFINITY || a === void 0 || a === null) && (a = 0), (i.rank = a) + } + Ie(t.sources(), r) +} +function Op(t, e) { + return t.node(e.w).rank - t.node(e.v).rank - t.edge(e).minlen +} +function lz(t) { + var e = new ga({ directed: !1 }), + r = t.nodes()[0], + n = t.nodeCount() + e.setNode(r, {}) + for (var i, a; spe(e, t) < n; ) (i = ope(e, t)), (a = e.hasNode(i.v) ? Op(t, i) : -Op(t, i)), lpe(e, t, a) + return e +} +function spe(t, e) { + function r(n) { + Ie(e.nodeEdges(n), function (i) { + var a = i.v, + s = n === a ? i.w : a + !t.hasNode(s) && !Op(e, i) && (t.setNode(s, {}), t.setEdge(n, s, {}), r(s)) + }) + } + return Ie(t.nodes(), r), t.nodeCount() +} +function ope(t, e) { + return YE(e.edges(), function (r) { + if (t.hasNode(r.v) !== t.hasNode(r.w)) return Op(e, r) + }) +} +function lpe(t, e, r) { + Ie(t.nodes(), function (n) { + e.node(n).rank += r + }) +} +function cpe() {} +cpe.prototype = new Error() +function cz(t, e, r) { + lr(e) || (e = [e]) + var n = (t.isDirected() ? t.successors : t.neighbors).bind(t), + i = [], + a = {} + return ( + Ie(e, function (s) { + if (!t.hasNode(s)) throw new Error("Graph does not have node: " + s) + uz(t, s, r === "post", a, n, i) + }), + i + ) +} +function uz(t, e, r, n, i, a) { + Object.prototype.hasOwnProperty.call(n, e) || + ((n[e] = !0), + r || a.push(e), + Ie(i(e), function (s) { + uz(t, s, r, n, i, a) + }), + r && a.push(e)) +} +function upe(t, e) { + return cz(t, e, "post") +} +function hpe(t, e) { + return cz(t, e, "pre") +} +Tu.initLowLimValues = JE +Tu.initCutValues = QE +Tu.calcCutValue = hz +Tu.leaveEdge = fz +Tu.enterEdge = pz +Tu.exchangeEdges = gz +function Tu(t) { + ;(t = Y0e(t)), ZE(t) + var e = lz(t) + JE(e), QE(e, t) + for (var r, n; (r = fz(e)); ) (n = pz(e, t, r)), gz(e, t, r, n) +} +function QE(t, e) { + var r = upe(t, t.nodes()) + ;(r = r.slice(0, r.length - 1)), + Ie(r, function (n) { + dpe(t, e, n) + }) +} +function dpe(t, e, r) { + var n = t.node(r), + i = n.parent + t.edge(r, i).cutvalue = hz(t, e, r) +} +function hz(t, e, r) { + var n = t.node(r), + i = n.parent, + a = !0, + s = e.edge(r, i), + o = 0 + return ( + s || ((a = !1), (s = e.edge(i, r))), + (o = s.weight), + Ie(e.nodeEdges(r), function (l) { + var u = l.v === r, + h = u ? l.w : l.v + if (h !== i) { + var d = u === a, + f = e.edge(l).weight + if (((o += d ? f : -f), ppe(t, r, h))) { + var p = t.edge(r, h).cutvalue + o += d ? -p : p + } + } + }), + o + ) +} +function JE(t, e) { + arguments.length < 2 && (e = t.nodes()[0]), dz(t, {}, 1, e) +} +function dz(t, e, r, n, i) { + var a = r, + s = t.node(n) + return ( + (e[n] = !0), + Ie(t.neighbors(n), function (o) { + Object.prototype.hasOwnProperty.call(e, o) || (r = dz(t, e, r, o, n)) + }), + (s.low = a), + (s.lim = r++), + i ? (s.parent = i) : delete s.parent, + r + ) +} +function fz(t) { + return Yo(t.edges(), function (e) { + return t.edge(e).cutvalue < 0 + }) +} +function pz(t, e, r) { + var n = r.v, + i = r.w + e.hasEdge(n, i) || ((n = r.w), (i = r.v)) + var a = t.node(n), + s = t.node(i), + o = a, + l = !1 + a.lim > s.lim && ((o = s), (l = !0)) + var u = un(e.edges(), function (h) { + return l === Y8(t, t.node(h.v), o) && l !== Y8(t, t.node(h.w), o) + }) + return YE(u, function (h) { + return Op(e, h) + }) +} +function gz(t, e, r, n) { + var i = r.v, + a = r.w + t.removeEdge(i, a), t.setEdge(n.v, n.w, {}), JE(t), QE(t, e), fpe(t, e) +} +function fpe(t, e) { + var r = Yo(t.nodes(), function (i) { + return !e.node(i).parent + }), + n = hpe(t, r) + ;(n = n.slice(1)), + Ie(n, function (i) { + var a = t.node(i).parent, + s = e.edge(i, a), + o = !1 + s || ((s = e.edge(a, i)), (o = !0)), (e.node(i).rank = e.node(a).rank + (o ? s.minlen : -s.minlen)) + }) +} +function ppe(t, e, r) { + return t.hasEdge(e, r) +} +function Y8(t, e, r) { + return r.low <= e.lim && e.lim <= r.lim +} +function gpe(t) { + switch (t.graph().ranker) { + case "network-simplex": + X8(t) + break + case "tight-tree": + vpe(t) + break + case "longest-path": + mpe(t) + break + default: + X8(t) + } +} +var mpe = ZE +function vpe(t) { + ZE(t), lz(t) +} +function X8(t) { + Tu(t) +} +function ype(t) { + var e = uf(t, "root", {}, "_root"), + r = xpe(t), + n = Jc(Or(r)) - 1, + i = 2 * n + 1 + ;(t.graph().nestingRoot = e), + Ie(t.edges(), function (s) { + t.edge(s).minlen *= i + }) + var a = bpe(t) + 1 + Ie(t.children(), function (s) { + mz(t, e, i, a, n, r, s) + }), + (t.graph().nodeRankFactor = i) +} +function mz(t, e, r, n, i, a, s) { + var o = t.children(s) + if (!o.length) { + s !== e && t.setEdge(e, s, { weight: 0, minlen: r }) + return + } + var l = q8(t, "_bt"), + u = q8(t, "_bb"), + h = t.node(s) + t.setParent(l, s), + (h.borderTop = l), + t.setParent(u, s), + (h.borderBottom = u), + Ie(o, function (d) { + mz(t, e, r, n, i, a, d) + var f = t.node(d), + p = f.borderTop ? f.borderTop : d, + g = f.borderBottom ? f.borderBottom : d, + m = f.borderTop ? n : 2 * n, + v = p !== g ? 1 : i - a[s] + 1 + t.setEdge(l, p, { weight: m, minlen: v, nestingEdge: !0 }), + t.setEdge(g, u, { weight: m, minlen: v, nestingEdge: !0 }) + }), + t.parent(s) || t.setEdge(e, l, { weight: 0, minlen: i + a[s] }) +} +function xpe(t) { + var e = {} + function r(n, i) { + var a = t.children(n) + a && + a.length && + Ie(a, function (s) { + r(s, i + 1) + }), + (e[n] = i) + } + return ( + Ie(t.children(), function (n) { + r(n, 1) + }), + e + ) +} +function bpe(t) { + return kn( + t.edges(), + function (e, r) { + return e + t.edge(r).weight + }, + 0, + ) +} +function wpe(t) { + var e = t.graph() + t.removeNode(e.nestingRoot), + delete e.nestingRoot, + Ie(t.edges(), function (r) { + var n = t.edge(r) + n.nestingEdge && t.removeEdge(r) + }) +} +function Tpe(t, e, r) { + var n = {}, + i + Ie(r, function (a) { + for (var s = t.parent(a), o, l; s; ) { + if (((o = t.parent(s)), o ? ((l = n[o]), (n[o] = s)) : ((l = i), (i = s)), l && l !== s)) { + e.setEdge(l, s) + return + } + s = o + } + }) +} +function Epe(t, e, r) { + var n = kpe(t), + i = new ga({ compound: !0 }).setGraph({ root: n }).setDefaultNodeLabel(function (a) { + return t.node(a) + }) + return ( + Ie(t.nodes(), function (a) { + var s = t.node(a), + o = t.parent(a) + ;(s.rank === e || (s.minRank <= e && e <= s.maxRank)) && + (i.setNode(a), + i.setParent(a, o || n), + Ie(t[r](a), function (l) { + var u = l.v === a ? l.w : l.v, + h = i.edge(u, a), + d = kr(h) ? 0 : h.weight + i.setEdge(u, a, { weight: t.edge(l).weight + d }) + }), + Object.prototype.hasOwnProperty.call(s, "minRank") && + i.setNode(a, { borderLeft: s.borderLeft[e], borderRight: s.borderRight[e] })) + }), + i + ) +} +function kpe(t) { + for (var e; t.hasNode((e = KE("_root"))); ); + return e +} +function Spe(t, e) { + for (var r = 0, n = 1; n < e.length; ++n) r += Cpe(t, e[n - 1], e[n]) + return r +} +function Cpe(t, e, r) { + for ( + var n = O0e( + r, + ht(r, function (u, h) { + return h + }), + ), + i = Xn( + ht(e, function (u) { + return Cg( + ht(t.outEdges(u), function (h) { + return { pos: n[h.w], weight: t.edge(h).weight } + }), + "pos", + ) + }), + ), + a = 1; + a < r.length; + + ) + a <<= 1 + var s = 2 * a - 1 + a -= 1 + var o = ht(new Array(s), function () { + return 0 + }), + l = 0 + return ( + Ie( + i.forEach(function (u) { + var h = u.pos + a + o[h] += u.weight + for (var d = 0; h > 0; ) h % 2 && (d += o[h + 1]), (h = (h - 1) >> 1), (o[h] += u.weight) + l += u.weight * d + }), + ), + l + ) +} +function Ape(t) { + var e = {}, + r = un(t.nodes(), function (o) { + return !t.children(o).length + }), + n = Jc( + ht(r, function (o) { + return t.node(o).rank + }), + ), + i = ht(Fd(n + 1), function () { + return [] + }) + function a(o) { + if (!$t(e, o)) { + e[o] = !0 + var l = t.node(o) + i[l.rank].push(o), Ie(t.successors(o), a) + } + } + var s = Cg(r, function (o) { + return t.node(o).rank + }) + return Ie(s, a), i +} +function _pe(t, e) { + return ht(e, function (r) { + var n = t.inEdges(r) + if (n.length) { + var i = kn( + n, + function (a, s) { + var o = t.edge(s), + l = t.node(s.v) + return { sum: a.sum + o.weight * l.order, weight: a.weight + o.weight } + }, + { sum: 0, weight: 0 }, + ) + return { v: r, barycenter: i.sum / i.weight, weight: i.weight } + } else return { v: r } + }) +} +function Lpe(t, e) { + var r = {} + Ie(t, function (i, a) { + var s = (r[i.v] = { indegree: 0, in: [], out: [], vs: [i.v], i: a }) + kr(i.barycenter) || ((s.barycenter = i.barycenter), (s.weight = i.weight)) + }), + Ie(e.edges(), function (i) { + var a = r[i.v], + s = r[i.w] + !kr(a) && !kr(s) && (s.indegree++, a.out.push(r[i.w])) + }) + var n = un(r, function (i) { + return !i.indegree + }) + return Rpe(n) +} +function Rpe(t) { + var e = [] + function r(a) { + return function (s) { + s.merged || ((kr(s.barycenter) || kr(a.barycenter) || s.barycenter >= a.barycenter) && Npe(a, s)) + } + } + function n(a) { + return function (s) { + s.in.push(a), --s.indegree === 0 && t.push(s) + } + } + for (; t.length; ) { + var i = t.pop() + e.push(i), Ie(i.in.reverse(), r(i)), Ie(i.out, n(i)) + } + return ht( + un(e, function (a) { + return !a.merged + }), + function (a) { + return uy(a, ["vs", "i", "barycenter", "weight"]) + }, + ) +} +function Npe(t, e) { + var r = 0, + n = 0 + t.weight && ((r += t.barycenter * t.weight), (n += t.weight)), + e.weight && ((r += e.barycenter * e.weight), (n += e.weight)), + (t.vs = e.vs.concat(t.vs)), + (t.barycenter = r / n), + (t.weight = n), + (t.i = Math.min(e.i, t.i)), + (e.merged = !0) +} +function Dpe(t, e) { + var r = K0e(t, function (h) { + return Object.prototype.hasOwnProperty.call(h, "barycenter") + }), + n = r.lhs, + i = Cg(r.rhs, function (h) { + return -h.i + }), + a = [], + s = 0, + o = 0, + l = 0 + n.sort(Ipe(!!e)), + (l = j8(a, i, l)), + Ie(n, function (h) { + ;(l += h.vs.length), a.push(h.vs), (s += h.barycenter * h.weight), (o += h.weight), (l = j8(a, i, l)) + }) + var u = { vs: Xn(a) } + return o && ((u.barycenter = s / o), (u.weight = o)), u +} +function j8(t, e, r) { + for (var n; e.length && (n = Qs(e)).i <= r; ) e.pop(), t.push(n.vs), r++ + return r +} +function Ipe(t) { + return function (e, r) { + return e.barycenter < r.barycenter ? -1 : e.barycenter > r.barycenter ? 1 : t ? r.i - e.i : e.i - r.i + } +} +function vz(t, e, r, n) { + var i = t.children(e), + a = t.node(e), + s = a ? a.borderLeft : void 0, + o = a ? a.borderRight : void 0, + l = {} + s && + (i = un(i, function (g) { + return g !== s && g !== o + })) + var u = _pe(t, i) + Ie(u, function (g) { + if (t.children(g.v).length) { + var m = vz(t, g.v, r, n) + ;(l[g.v] = m), Object.prototype.hasOwnProperty.call(m, "barycenter") && Ope(g, m) + } + }) + var h = Lpe(u, r) + Mpe(h, l) + var d = Dpe(h, n) + if (s && ((d.vs = Xn([s, d.vs, o])), t.predecessors(s).length)) { + var f = t.node(t.predecessors(s)[0]), + p = t.node(t.predecessors(o)[0]) + Object.prototype.hasOwnProperty.call(d, "barycenter") || ((d.barycenter = 0), (d.weight = 0)), + (d.barycenter = (d.barycenter * d.weight + f.order + p.order) / (d.weight + 2)), + (d.weight += 2) + } + return d +} +function Mpe(t, e) { + Ie(t, function (r) { + r.vs = Xn( + r.vs.map(function (n) { + return e[n] ? e[n].vs : n + }), + ) + }) +} +function Ope(t, e) { + kr(t.barycenter) + ? ((t.barycenter = e.barycenter), (t.weight = e.weight)) + : ((t.barycenter = (t.barycenter * t.weight + e.barycenter * e.weight) / (t.weight + e.weight)), + (t.weight += e.weight)) +} +function Ppe(t) { + var e = sz(t), + r = K8(t, Fd(1, e + 1), "inEdges"), + n = K8(t, Fd(e - 1, -1, -1), "outEdges"), + i = Ape(t) + Z8(t, i) + for (var a = Number.POSITIVE_INFINITY, s, o = 0, l = 0; l < 4; ++o, ++l) { + Bpe(o % 2 ? r : n, o % 4 >= 2), (i = ax(t)) + var u = Spe(t, i) + u < a && ((l = 0), (s = rfe(i)), (a = u)) + } + Z8(t, s) +} +function K8(t, e, r) { + return ht(e, function (n) { + return Epe(t, n, r) + }) +} +function Bpe(t, e) { + var r = new ga() + Ie(t, function (n) { + var i = n.graph().root, + a = vz(n, i, r, e) + Ie(a.vs, function (s, o) { + n.node(s).order = o + }), + Tpe(n, r, a.vs) + }) +} +function Z8(t, e) { + Ie(e, function (r) { + Ie(r, function (n, i) { + t.node(n).order = i + }) + }) +} +function Fpe(t) { + var e = zpe(t) + Ie(t.graph().dummyChains, function (r) { + for ( + var n = t.node(r), i = n.edgeObj, a = $pe(t, e, i.v, i.w), s = a.path, o = a.lca, l = 0, u = s[l], h = !0; + r !== i.w; + + ) { + if (((n = t.node(r)), h)) { + for (; (u = s[l]) !== o && t.node(u).maxRank < n.rank; ) l++ + u === o && (h = !1) + } + if (!h) { + for (; l < s.length - 1 && t.node((u = s[l + 1])).minRank <= n.rank; ) l++ + u = s[l] + } + t.setParent(r, u), (r = t.successors(r)[0]) + } + }) +} +function $pe(t, e, r, n) { + var i = [], + a = [], + s = Math.min(e[r].low, e[n].low), + o = Math.max(e[r].lim, e[n].lim), + l, + u + l = r + do (l = t.parent(l)), i.push(l) + while (l && (e[l].low > s || o > e[l].lim)) + for (u = l, l = n; (l = t.parent(l)) !== u; ) a.push(l) + return { path: i.concat(a.reverse()), lca: u } +} +function zpe(t) { + var e = {}, + r = 0 + function n(i) { + var a = r + Ie(t.children(i), n), (e[i] = { low: a, lim: r++ }) + } + return Ie(t.children(), n), e +} +function Vpe(t, e) { + var r = {} + function n(i, a) { + var s = 0, + o = 0, + l = i.length, + u = Qs(a) + return ( + Ie(a, function (h, d) { + var f = Upe(t, h), + p = f ? t.node(f).order : l + ;(f || h === u) && + (Ie(a.slice(o, d + 1), function (g) { + Ie(t.predecessors(g), function (m) { + var v = t.node(m), + y = v.order + ;(y < s || p < y) && !(v.dummy && t.node(g).dummy) && yz(r, m, g) + }) + }), + (o = d + 1), + (s = p)) + }), + a + ) + } + return kn(e, n), r +} +function Gpe(t, e) { + var r = {} + function n(a, s, o, l, u) { + var h + Ie(Fd(s, o), function (d) { + ;(h = a[d]), + t.node(h).dummy && + Ie(t.predecessors(h), function (f) { + var p = t.node(f) + p.dummy && (p.order < l || p.order > u) && yz(r, f, h) + }) + }) + } + function i(a, s) { + var o = -1, + l, + u = 0 + return ( + Ie(s, function (h, d) { + if (t.node(h).dummy === "border") { + var f = t.predecessors(h) + f.length && ((l = t.node(f[0]).order), n(s, u, d, o, l), (u = d), (o = l)) + } + n(s, u, s.length, l, a.length) + }), + s + ) + } + return kn(e, i), r +} +function Upe(t, e) { + if (t.node(e).dummy) + return Yo(t.predecessors(e), function (r) { + return t.node(r).dummy + }) +} +function yz(t, e, r) { + if (e > r) { + var n = e + ;(e = r), (r = n) + } + var i = t[e] + i || (t[e] = i = {}), (i[r] = !0) +} +function qpe(t, e, r) { + if (e > r) { + var n = e + ;(e = r), (r = n) + } + return !!t[e] && Object.prototype.hasOwnProperty.call(t[e], r) +} +function Wpe(t, e, r, n) { + var i = {}, + a = {}, + s = {} + return ( + Ie(e, function (o) { + Ie(o, function (l, u) { + ;(i[l] = l), (a[l] = l), (s[l] = u) + }) + }), + Ie(e, function (o) { + var l = -1 + Ie(o, function (u) { + var h = n(u) + if (h.length) { + h = Cg(h, function (m) { + return s[m] + }) + for (var d = (h.length - 1) / 2, f = Math.floor(d), p = Math.ceil(d); f <= p; ++f) { + var g = h[f] + a[u] === u && l < s[g] && !qpe(r, u, g) && ((a[g] = u), (a[u] = i[u] = i[g]), (l = s[g])) + } + } + }) + }), + { root: i, align: a } + ) +} +function Hpe(t, e, r, n, i) { + var a = {}, + s = Ype(t, e, r, i), + o = i ? "borderLeft" : "borderRight" + function l(d, f) { + for (var p = s.nodes(), g = p.pop(), m = {}; g; ) + m[g] ? d(g) : ((m[g] = !0), p.push(g), (p = p.concat(f(g)))), (g = p.pop()) + } + function u(d) { + a[d] = s.inEdges(d).reduce(function (f, p) { + return Math.max(f, a[p.v] + s.edge(p)) + }, 0) + } + function h(d) { + var f = s.outEdges(d).reduce(function (g, m) { + return Math.min(g, a[m.w] - s.edge(m)) + }, Number.POSITIVE_INFINITY), + p = t.node(d) + f !== Number.POSITIVE_INFINITY && p.borderType !== o && (a[d] = Math.max(a[d], f)) + } + return ( + l(u, s.predecessors.bind(s)), + l(h, s.successors.bind(s)), + Ie(n, function (d) { + a[d] = a[r[d]] + }), + a + ) +} +function Ype(t, e, r, n) { + var i = new ga(), + a = t.graph(), + s = Qpe(a.nodesep, a.edgesep, n) + return ( + Ie(e, function (o) { + var l + Ie(o, function (u) { + var h = r[u] + if ((i.setNode(h), l)) { + var d = r[l], + f = i.edge(d, h) + i.setEdge(d, h, Math.max(s(t, u, l), f || 0)) + } + l = u + }) + }), + i + ) +} +function Xpe(t, e) { + return YE(Or(e), function (r) { + var n = Number.NEGATIVE_INFINITY, + i = Number.POSITIVE_INFINITY + return ( + e0e(r, function (a, s) { + var o = Jpe(t, s) / 2 + ;(n = Math.max(a + o, n)), (i = Math.min(a - o, i)) + }), + n - i + ) + }) +} +function jpe(t, e) { + var r = Or(e), + n = Bd(r), + i = Jc(r) + Ie(["u", "d"], function (a) { + Ie(["l", "r"], function (s) { + var o = a + s, + l = t[o], + u + if (l !== e) { + var h = Or(l) + ;(u = s === "l" ? n - Bd(h) : i - Jc(h)), + u && + (t[o] = nx(l, function (d) { + return d + u + })) + } + }) + }) +} +function Kpe(t, e) { + return nx(t.ul, function (r, n) { + if (e) return t[e.toLowerCase()][n] + var i = Cg(ht(t, n)) + return (i[1] + i[2]) / 2 + }) +} +function Zpe(t) { + var e = ax(t), + r = Qv(Vpe(t, e), Gpe(t, e)), + n = {}, + i + Ie(["u", "d"], function (s) { + ;(i = s === "u" ? e : Or(e).reverse()), + Ie(["l", "r"], function (o) { + o === "r" && + (i = ht(i, function (d) { + return Or(d).reverse() + })) + var l = (s === "u" ? t.predecessors : t.successors).bind(t), + u = Wpe(t, i, r, l), + h = Hpe(t, i, u.root, u.align, o === "r") + o === "r" && + (h = nx(h, function (d) { + return -d + })), + (n[s + o] = h) + }) + }) + var a = Xpe(t, n) + return jpe(n, a), Kpe(n, t.graph().align) +} +function Qpe(t, e, r) { + return function (n, i, a) { + var s = n.node(i), + o = n.node(a), + l = 0, + u + if (((l += s.width / 2), Object.prototype.hasOwnProperty.call(s, "labelpos"))) + switch (s.labelpos.toLowerCase()) { + case "l": + u = -s.width / 2 + break + case "r": + u = s.width / 2 + break + } + if ( + (u && (l += r ? u : -u), + (u = 0), + (l += (s.dummy ? e : t) / 2), + (l += (o.dummy ? e : t) / 2), + (l += o.width / 2), + Object.prototype.hasOwnProperty.call(o, "labelpos")) + ) + switch (o.labelpos.toLowerCase()) { + case "l": + u = o.width / 2 + break + case "r": + u = -o.width / 2 + break + } + return u && (l += r ? u : -u), (u = 0), l + } +} +function Jpe(t, e) { + return t.node(e).width +} +function ege(t) { + ;(t = az(t)), + tge(t), + t0e(Zpe(t), function (e, r) { + t.node(r).x = e + }) +} +function tge(t) { + var e = ax(t), + r = t.graph().ranksep, + n = 0 + Ie(e, function (i) { + var a = Jc( + ht(i, function (s) { + return t.node(s).height + }), + ) + Ie(i, function (s) { + t.node(s).y = n + a / 2 + }), + (n += a + r) + }) +} +function xz(t, e) { + var r = Z0e + r("layout", () => { + var n = r(" buildLayoutGraph", () => dge(t)) + r(" runLayout", () => rge(n, r)), r(" updateInputGraph", () => nge(t, n)) + }) +} +function rge(t, e) { + e(" makeSpaceForEdgeLabels", () => fge(t)), + e(" removeSelfEdges", () => Tge(t)), + e(" acyclic", () => q0e(t)), + e(" nestingGraph.run", () => ype(t)), + e(" rank", () => gpe(az(t))), + e(" injectEdgeLabelProxies", () => pge(t)), + e(" removeEmptyRanks", () => j0e(t)), + e(" nestingGraph.cleanup", () => wpe(t)), + e(" normalizeRanks", () => X0e(t)), + e(" assignRankMinMax", () => gge(t)), + e(" removeEdgeLabelProxies", () => mge(t)), + e(" normalize.run", () => npe(t)), + e(" parentDummyChains", () => Fpe(t)), + e(" addBorderSegments", () => Q0e(t)), + e(" order", () => Ppe(t)), + e(" insertSelfEdges", () => Ege(t)), + e(" adjustCoordinateSystem", () => J0e(t)), + e(" position", () => ege(t)), + e(" positionSelfEdges", () => kge(t)), + e(" removeBorderNodes", () => wge(t)), + e(" normalize.undo", () => ape(t)), + e(" fixupEdgeLabelCoords", () => xge(t)), + e(" undoCoordinateSystem", () => epe(t)), + e(" translateGraph", () => vge(t)), + e(" assignNodeIntersects", () => yge(t)), + e(" reversePoints", () => bge(t)), + e(" acyclic.undo", () => H0e(t)) +} +function nge(t, e) { + Ie(t.nodes(), function (r) { + var n = t.node(r), + i = e.node(r) + n && ((n.x = i.x), (n.y = i.y), e.children(r).length && ((n.width = i.width), (n.height = i.height))) + }), + Ie(t.edges(), function (r) { + var n = t.edge(r), + i = e.edge(r) + ;(n.points = i.points), Object.prototype.hasOwnProperty.call(i, "x") && ((n.x = i.x), (n.y = i.y)) + }), + (t.graph().width = e.graph().width), + (t.graph().height = e.graph().height) +} +var ige = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], + age = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }, + sge = ["acyclicer", "ranker", "rankdir", "align"], + oge = ["width", "height"], + lge = { width: 0, height: 0 }, + cge = ["minlen", "weight", "width", "height", "labeloffset"], + uge = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: "r" }, + hge = ["labelpos"] +function dge(t) { + var e = new ga({ multigraph: !0, compound: !0 }), + r = Zb(t.graph()) + return ( + e.setGraph(Qv({}, age, Kb(r, ige), uy(r, sge))), + Ie(t.nodes(), function (n) { + var i = Zb(t.node(n)) + e.setNode(n, tx(Kb(i, oge), lge)), e.setParent(n, t.parent(n)) + }), + Ie(t.edges(), function (n) { + var i = Zb(t.edge(n)) + e.setEdge(n, Qv({}, uge, Kb(i, cge), uy(i, hge))) + }), + e + ) +} +function fge(t) { + var e = t.graph() + ;(e.ranksep /= 2), + Ie(t.edges(), function (r) { + var n = t.edge(r) + ;(n.minlen *= 2), + n.labelpos.toLowerCase() !== "c" && + (e.rankdir === "TB" || e.rankdir === "BT" + ? (n.width += n.labeloffset) + : (n.height += n.labeloffset)) + }) +} +function pge(t) { + Ie(t.edges(), function (e) { + var r = t.edge(e) + if (r.width && r.height) { + var n = t.node(e.v), + i = t.node(e.w), + a = { rank: (i.rank - n.rank) / 2 + n.rank, e } + uf(t, "edge-proxy", a, "_ep") + } + }) +} +function gge(t) { + var e = 0 + Ie(t.nodes(), function (r) { + var n = t.node(r) + n.borderTop && + ((n.minRank = t.node(n.borderTop).rank), (n.maxRank = t.node(n.borderBottom).rank), (e = Jc(e, n.maxRank))) + }), + (t.graph().maxRank = e) +} +function mge(t) { + Ie(t.nodes(), function (e) { + var r = t.node(e) + r.dummy === "edge-proxy" && ((t.edge(r.e).labelRank = r.rank), t.removeNode(e)) + }) +} +function vge(t) { + var e = Number.POSITIVE_INFINITY, + r = 0, + n = Number.POSITIVE_INFINITY, + i = 0, + a = t.graph(), + s = a.marginx || 0, + o = a.marginy || 0 + function l(u) { + var h = u.x, + d = u.y, + f = u.width, + p = u.height + ;(e = Math.min(e, h - f / 2)), + (r = Math.max(r, h + f / 2)), + (n = Math.min(n, d - p / 2)), + (i = Math.max(i, d + p / 2)) + } + Ie(t.nodes(), function (u) { + l(t.node(u)) + }), + Ie(t.edges(), function (u) { + var h = t.edge(u) + Object.prototype.hasOwnProperty.call(h, "x") && l(h) + }), + (e -= s), + (n -= o), + Ie(t.nodes(), function (u) { + var h = t.node(u) + ;(h.x -= e), (h.y -= n) + }), + Ie(t.edges(), function (u) { + var h = t.edge(u) + Ie(h.points, function (d) { + ;(d.x -= e), (d.y -= n) + }), + Object.prototype.hasOwnProperty.call(h, "x") && (h.x -= e), + Object.prototype.hasOwnProperty.call(h, "y") && (h.y -= n) + }), + (a.width = r - e + s), + (a.height = i - n + o) +} +function yge(t) { + Ie(t.edges(), function (e) { + var r = t.edge(e), + n = t.node(e.v), + i = t.node(e.w), + a, + s + r.points ? ((a = r.points[0]), (s = r.points[r.points.length - 1])) : ((r.points = []), (a = i), (s = n)), + r.points.unshift(U8(n, a)), + r.points.push(U8(i, s)) + }) +} +function xge(t) { + Ie(t.edges(), function (e) { + var r = t.edge(e) + if (Object.prototype.hasOwnProperty.call(r, "x")) + switch (((r.labelpos === "l" || r.labelpos === "r") && (r.width -= r.labeloffset), r.labelpos)) { + case "l": + r.x -= r.width / 2 + r.labeloffset + break + case "r": + r.x += r.width / 2 + r.labeloffset + break + } + }) +} +function bge(t) { + Ie(t.edges(), function (e) { + var r = t.edge(e) + r.reversed && r.points.reverse() + }) +} +function wge(t) { + Ie(t.nodes(), function (e) { + if (t.children(e).length) { + var r = t.node(e), + n = t.node(r.borderTop), + i = t.node(r.borderBottom), + a = t.node(Qs(r.borderLeft)), + s = t.node(Qs(r.borderRight)) + ;(r.width = Math.abs(s.x - a.x)), + (r.height = Math.abs(i.y - n.y)), + (r.x = a.x + r.width / 2), + (r.y = n.y + r.height / 2) + } + }), + Ie(t.nodes(), function (e) { + t.node(e).dummy === "border" && t.removeNode(e) + }) +} +function Tge(t) { + Ie(t.edges(), function (e) { + if (e.v === e.w) { + var r = t.node(e.v) + r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e, label: t.edge(e) }), t.removeEdge(e) + } + }) +} +function Ege(t) { + var e = ax(t) + Ie(e, function (r) { + var n = 0 + Ie(r, function (i, a) { + var s = t.node(i) + ;(s.order = a + n), + Ie(s.selfEdges, function (o) { + uf( + t, + "selfedge", + { + width: o.label.width, + height: o.label.height, + rank: s.rank, + order: a + ++n, + e: o.e, + label: o.label, + }, + "_se", + ) + }), + delete s.selfEdges + }) + }) +} +function kge(t) { + Ie(t.nodes(), function (e) { + var r = t.node(e) + if (r.dummy === "selfedge") { + var n = t.node(r.e.v), + i = n.x + n.width / 2, + a = n.y, + s = r.x - i, + o = n.height / 2 + t.setEdge(r.e, r.label), + t.removeNode(e), + (r.label.points = [ + { x: i + (2 * s) / 3, y: a - o }, + { x: i + (5 * s) / 6, y: a - o }, + { x: i + s, y: a }, + { x: i + (5 * s) / 6, y: a + o }, + { x: i + (2 * s) / 3, y: a + o }, + ]), + (r.label.x = r.x), + (r.label.y = r.y) + } + }) +} +function Kb(t, e) { + return nx(uy(t, e), Number) +} +function Zb(t) { + var e = {} + return ( + Ie(t, function (r, n) { + e[n.toLowerCase()] = r + }), + e + ) +} +function qs(t) { + var e = { + options: { directed: t.isDirected(), multigraph: t.isMultigraph(), compound: t.isCompound() }, + nodes: Sge(t), + edges: Cge(t), + } + return kr(t.graph()) || (e.value = zn(t.graph())), e +} +function Sge(t) { + return ht(t.nodes(), function (e) { + var r = t.node(e), + n = t.parent(e), + i = { v: e } + return kr(r) || (i.value = r), kr(n) || (i.parent = n), i + }) +} +function Cge(t) { + return ht(t.edges(), function (e) { + var r = t.edge(e), + n = { v: e.v, w: e.w } + return kr(e.name) || (n.name = e.name), kr(r) || (n.value = r), n + }) +} +var ir = new Map(), + Mc = new Map(), + bz = new Map(), + Age = x(() => { + Mc.clear(), bz.clear(), ir.clear() + }, "clear"), + hy = x((t, e) => { + const r = Mc.get(e) || [] + return ie.trace("In isDescendant", e, " ", t, " = ", r.includes(t)), r.includes(t) + }, "isDescendant"), + _ge = x((t, e) => { + const r = Mc.get(e) || [] + return ( + ie.info("Descendants of ", e, " is ", r), + ie.info("Edge is ", t), + t.v === e || t.w === e + ? !1 + : r + ? r.includes(t.v) || hy(t.v, e) || hy(t.w, e) || r.includes(t.w) + : (ie.debug("Tilt, ", e, ",not in descendants"), !1) + ) + }, "edgeInCluster"), + wz = x((t, e, r, n) => { + ie.warn("Copying children of ", t, "root", n, "data", e.node(t), n) + const i = e.children(t) || [] + t !== n && i.push(t), + ie.warn("Copying (nodes) clusterId", t, "nodes", i), + i.forEach((a) => { + if (e.children(a).length > 0) wz(a, e, r, n) + else { + const s = e.node(a) + ie.info("cp ", a, " to ", n, " with parent ", t), + r.setNode(a, s), + n !== e.parent(a) && (ie.warn("Setting parent", a, e.parent(a)), r.setParent(a, e.parent(a))), + t !== n && a !== t + ? (ie.debug("Setting parent", a, t), r.setParent(a, t)) + : (ie.info("In copy ", t, "root", n, "data", e.node(t), n), + ie.debug( + "Not Setting parent for node=", + a, + "cluster!==rootId", + t !== n, + "node!==clusterId", + a !== t, + )) + const o = e.edges(a) + ie.debug("Copying Edges", o), + o.forEach((l) => { + ie.info("Edge", l) + const u = e.edge(l.v, l.w, l.name) + ie.info("Edge data", u, n) + try { + _ge(l, n) + ? (ie.info("Copying as ", l.v, l.w, u, l.name), + r.setEdge(l.v, l.w, u, l.name), + ie.info("newGraph edges ", r.edges(), r.edge(r.edges()[0]))) + : ie.info( + "Skipping copy of edge ", + l.v, + "-->", + l.w, + " rootId: ", + n, + " clusterId:", + t, + ) + } catch (h) { + ie.error(h) + } + }) + } + ie.debug("Removing node", a), e.removeNode(a) + }) + }, "copy"), + Tz = x((t, e) => { + const r = e.children(t) + let n = [...r] + for (const i of r) bz.set(i, t), (n = [...n, ...Tz(i, e)]) + return n + }, "extractDescendants"), + Lge = x((t, e, r) => { + const n = t.edges().filter((l) => l.v === e || l.w === e), + i = t.edges().filter((l) => l.v === r || l.w === r), + a = n.map((l) => ({ v: l.v === e ? r : l.v, w: l.w === e ? e : l.w })), + s = i.map((l) => ({ v: l.v, w: l.w })) + return a.filter((l) => s.some((u) => l.v === u.v && l.w === u.w)) + }, "findCommonEdges"), + Pp = x((t, e, r) => { + const n = e.children(t) + if ((ie.trace("Searching children of id ", t, n), n.length < 1)) return t + let i + for (const a of n) { + const s = Pp(a, e, r), + o = Lge(e, r, s) + if (s) + if (o.length > 0) i = s + else return s + } + return i + }, "findNonClusterChild"), + Q8 = x((t) => (!ir.has(t) || !ir.get(t).externalConnections ? t : ir.has(t) ? ir.get(t).id : t), "getAnchorId"), + Rge = x((t, e) => { + if (!t || e > 10) { + ie.debug("Opting out, no graph ") + return + } else ie.debug("Opting in, graph ") + t.nodes().forEach(function (r) { + t.children(r).length > 0 && + (ie.warn("Cluster identified", r, " Replacement id in edges: ", Pp(r, t, r)), + Mc.set(r, Tz(r, t)), + ir.set(r, { id: Pp(r, t, r), clusterData: t.node(r) })) + }), + t.nodes().forEach(function (r) { + const n = t.children(r), + i = t.edges() + n.length > 0 + ? (ie.debug("Cluster identified", r, Mc), + i.forEach((a) => { + const s = hy(a.v, r), + o = hy(a.w, r) + s ^ o && + (ie.warn("Edge: ", a, " leaves cluster ", r), + ie.warn("Descendants of XXX ", r, ": ", Mc.get(r)), + (ir.get(r).externalConnections = !0)) + })) + : ie.debug("Not a cluster ", r, Mc) + }) + for (let r of ir.keys()) { + const n = ir.get(r).id, + i = t.parent(n) + i !== r && ir.has(i) && !ir.get(i).externalConnections && (ir.get(r).id = i) + } + t.edges().forEach(function (r) { + const n = t.edge(r) + ie.warn("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(r)), + ie.warn("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(t.edge(r))) + let i = r.v, + a = r.w + if ( + (ie.warn("Fix XXX", ir, "ids:", r.v, r.w, "Translating: ", ir.get(r.v), " --- ", ir.get(r.w)), + ir.get(r.v) || ir.get(r.w)) + ) { + if ( + (ie.warn("Fixing and trying - removing XXX", r.v, r.w, r.name), + (i = Q8(r.v)), + (a = Q8(r.w)), + t.removeEdge(r.v, r.w, r.name), + i !== r.v) + ) { + const s = t.parent(i) + ;(ir.get(s).externalConnections = !0), (n.fromCluster = r.v) + } + if (a !== r.w) { + const s = t.parent(a) + ;(ir.get(s).externalConnections = !0), (n.toCluster = r.w) + } + ie.warn("Fix Replacing with XXX", i, a, r.name), t.setEdge(i, a, n, r.name) + } + }), + ie.warn("Adjusted Graph", qs(t)), + Ez(t, 0), + ie.trace(ir) + }, "adjustClustersAndEdges"), + Ez = x((t, e) => { + var i, a + if ((ie.warn("extractor - ", e, qs(t), t.children("D")), e > 10)) { + ie.error("Bailing out") + return + } + let r = t.nodes(), + n = !1 + for (const s of r) { + const o = t.children(s) + n = n || o.length > 0 + } + if (!n) { + ie.debug("Done, no node has children", t.nodes()) + return + } + ie.debug("Nodes = ", r, e) + for (const s of r) + if ( + (ie.debug( + "Extracting node", + s, + ir, + ir.has(s) && !ir.get(s).externalConnections, + !t.parent(s), + t.node(s), + t.children("D"), + " Depth ", + e, + ), + !ir.has(s)) + ) + ie.debug("Not a cluster", s, e) + else if (!ir.get(s).externalConnections && t.children(s) && t.children(s).length > 0) { + ie.warn("Cluster without external connections, without a parent and with children", s, e) + let l = t.graph().rankdir === "TB" ? "LR" : "TB" + ;(a = (i = ir.get(s)) == null ? void 0 : i.clusterData) != null && + a.dir && + ((l = ir.get(s).clusterData.dir), ie.warn("Fixing dir", ir.get(s).clusterData.dir, l)) + const u = new ga({ multigraph: !0, compound: !0 }) + .setGraph({ rankdir: l, nodesep: 50, ranksep: 50, marginx: 8, marginy: 8 }) + .setDefaultEdgeLabel(function () { + return {} + }) + ie.warn("Old graph before copy", qs(t)), + wz(s, t, u, s), + t.setNode(s, { + clusterNode: !0, + id: s, + clusterData: ir.get(s).clusterData, + label: ir.get(s).label, + graph: u, + }), + ie.warn("New graph after copy node: (", s, ")", qs(u)), + ie.debug("Old graph after copy", qs(t)) + } else + ie.warn( + "Cluster ** ", + s, + " **not meeting the criteria !externalConnections:", + !ir.get(s).externalConnections, + " no parent: ", + !t.parent(s), + " children ", + t.children(s) && t.children(s).length > 0, + t.children("D"), + e, + ), + ie.debug(ir) + ;(r = t.nodes()), ie.warn("New list of nodes", r) + for (const s of r) { + const o = t.node(s) + ie.warn(" Now next level", s, o), o != null && o.clusterNode && Ez(o.graph, e + 1) + } + }, "extractor"), + kz = x((t, e) => { + if (e.length === 0) return [] + let r = Object.assign([], e) + return ( + e.forEach((n) => { + const i = t.children(n), + a = kz(t, i) + r = [...r, ...a] + }), + r + ) + }, "sorter"), + Nge = x((t) => kz(t, t.children()), "sortNodesByHierarchy"), + Sz = x(async (t, e, r, n, i, a) => { + ie.warn("Graph in recursive render:XAX", qs(e), i) + const s = e.graph().rankdir + ie.trace("Dir in recursive render - dir:", s) + const o = t.insert("g").attr("class", "root") + e.nodes() ? ie.info("Recursive render XXX", e.nodes()) : ie.info("No nodes found for", e), + e.edges().length > 0 && ie.info("Recursive edges", e.edge(e.edges()[0])) + const l = o.insert("g").attr("class", "clusters"), + u = o.insert("g").attr("class", "edgePaths"), + h = o.insert("g").attr("class", "edgeLabels"), + d = o.insert("g").attr("class", "nodes") + await Promise.all( + e.nodes().map(async function (m) { + const v = e.node(m) + if (i !== void 0) { + const y = JSON.parse(JSON.stringify(i.clusterData)) + ie.trace( + `Setting data for parent cluster XXX + Node.id = `, + m, + ` + data=`, + y.height, + ` +Parent cluster`, + i.height, + ), + e.setNode(i.id, y), + e.parent(m) || (ie.trace("Setting parent", m, i.id), e.setParent(m, i.id, y)) + } + if ((ie.info("(Insert) Node XXX" + m + ": " + JSON.stringify(e.node(m))), v != null && v.clusterNode)) { + ie.info("Cluster identified XBX", m, v.width, e.node(m)) + const { ranksep: y, nodesep: b } = e.graph() + v.graph.setGraph({ ...v.graph.graph(), ranksep: y + 25, nodesep: b }) + const w = await Sz(d, v.graph, r, n, e.node(m), a), + T = w.elem + Mt(v, T), + (v.diff = w.diff || 0), + ie.info( + "New compound node after recursive render XAX", + m, + "width", + v.width, + "height", + v.height, + ), + Ooe(T, v) + } else + e.children(m).length > 0 + ? (ie.trace("Cluster - the non recursive path XBX", m, v.id, v, v.width, "Graph:", e), + ie.trace(Pp(v.id, e)), + ir.set(v.id, { id: Pp(v.id, e), node: v })) + : (ie.trace("Node - the non recursive path XAX", m, d, e.node(m), s), + await Y2(d, e.node(m), { config: a, dir: s })) + }), + ), + await x(async () => { + const m = e.edges().map(async function (v) { + const y = e.edge(v.v, v.w, v.name) + ie.info("Edge " + v.v + " -> " + v.w + ": " + JSON.stringify(v)), + ie.info("Edge " + v.v + " -> " + v.w + ": ", v, " ", JSON.stringify(e.edge(v))), + ie.info("Fix", ir, "ids:", v.v, v.w, "Translating: ", ir.get(v.v), ir.get(v.w)), + await OF(h, y) + }) + await Promise.all(m) + }, "processEdges")(), + ie.info("Graph before layout:", JSON.stringify(qs(e))), + ie.info("############################################# XXX"), + ie.info("### Layout ### XXX"), + ie.info("############################################# XXX"), + xz(e), + ie.info("Graph after layout:", JSON.stringify(qs(e))) + let p = 0, + { subGraphTitleTotalMargin: g } = ug(a) + return ( + await Promise.all( + Nge(e).map(async function (m) { + var y + const v = e.node(m) + if ( + (ie.info( + "Position XBX => " + m + ": (" + v.x, + "," + v.y, + ") width: ", + v.width, + " height: ", + v.height, + ), + v != null && v.clusterNode) + ) + (v.y += g), + ie.info("A tainted cluster node XBX1", m, v.id, v.width, v.height, v.x, v.y, e.parent(m)), + (ir.get(v.id).node = v), + lw(v) + else if (e.children(m).length > 0) { + ie.info("A pure cluster node XBX1", m, v.id, v.x, v.y, v.width, v.height, e.parent(m)), + (v.height += g), + e.node(v.parentId) + const b = (v == null ? void 0 : v.padding) / 2 || 0, + w = ((y = v == null ? void 0 : v.labelBBox) == null ? void 0 : y.height) || 0, + T = w - b || 0 + ie.debug("OffsetY", T, "labelHeight", w, "halfPadding", b), + await RE(l, v), + (ir.get(v.id).node = v) + } else { + const b = e.node(v.parentId) + ;(v.y += g / 2), + ie.info( + "A regular node XBX1 - using the padding", + v.id, + "parent", + v.parentId, + v.width, + v.height, + v.x, + v.y, + "offsetY", + v.offsetY, + "parent", + b, + b == null ? void 0 : b.offsetY, + v, + ), + lw(v) + } + }), + ), + e.edges().forEach(function (m) { + const v = e.edge(m) + ie.info("Edge " + m.v + " -> " + m.w + ": " + JSON.stringify(v), v), + v.points.forEach((T) => (T.y += g / 2)) + const y = e.node(m.v) + var b = e.node(m.w) + const w = FF(u, v, ir, r, y, b, n) + PF(v, w) + }), + e.nodes().forEach(function (m) { + const v = e.node(m) + ie.info(m, v.type, v.diff), v.isGroup && (p = v.diff) + }), + ie.warn("Returning from recursive render XAX", o, p), + { elem: o, diff: p } + ) + }, "recursiveRender"), + Dge = x(async (t, e) => { + var a, s, o, l, u, h + const r = new ga({ multigraph: !0, compound: !0 }) + .setGraph({ + rankdir: t.direction, + nodesep: + ((a = t.config) == null ? void 0 : a.nodeSpacing) || + ((o = (s = t.config) == null ? void 0 : s.flowchart) == null ? void 0 : o.nodeSpacing) || + t.nodeSpacing, + ranksep: + ((l = t.config) == null ? void 0 : l.rankSpacing) || + ((h = (u = t.config) == null ? void 0 : u.flowchart) == null ? void 0 : h.rankSpacing) || + t.rankSpacing, + marginx: 8, + marginy: 8, + }) + .setDefaultEdgeLabel(function () { + return {} + }), + n = e.select("g") + $F(n, t.markers, t.type, t.diagramId), + Poe(), + $oe(), + moe(), + Age(), + t.nodes.forEach((d) => { + r.setNode(d.id, { ...d }), d.parentId && r.setParent(d.id, d.parentId) + }), + ie.debug("Edges:", t.edges), + t.edges.forEach((d) => { + if (d.start === d.end) { + const f = d.start, + p = f + "---" + f + "---1", + g = f + "---" + f + "---2", + m = r.node(f) + r.setNode(p, { + domId: p, + id: p, + parentId: m.parentId, + labelStyle: "", + label: "", + padding: 0, + shape: "labelRect", + style: "", + width: 10, + height: 10, + }), + r.setParent(p, m.parentId), + r.setNode(g, { + domId: g, + id: g, + parentId: m.parentId, + labelStyle: "", + padding: 0, + shape: "labelRect", + label: "", + style: "", + width: 10, + height: 10, + }), + r.setParent(g, m.parentId) + const v = structuredClone(d), + y = structuredClone(d), + b = structuredClone(d) + ;(v.label = ""), + (v.arrowTypeEnd = "none"), + (v.id = f + "-cyclic-special-1"), + (y.arrowTypeStart = "none"), + (y.arrowTypeEnd = "none"), + (y.id = f + "-cyclic-special-mid"), + (b.label = ""), + m.isGroup && ((v.fromCluster = f), (b.toCluster = f)), + (b.id = f + "-cyclic-special-2"), + (b.arrowTypeStart = "none"), + r.setEdge(f, p, v, f + "-cyclic-special-0"), + r.setEdge(p, g, y, f + "-cyclic-special-1"), + r.setEdge(g, f, b, f + "-cyc<lic-special-2") + } else r.setEdge(d.start, d.end, { ...d }, d.id) + }), + ie.warn("Graph at first:", JSON.stringify(qs(r))), + Rge(r), + ie.warn("Graph after XAX:", JSON.stringify(qs(r))) + const i = we() + await Sz(n, r, t.type, t.diagramId, void 0, i) + }, "render") +const Ige = Object.freeze( + Object.defineProperty({ __proto__: null, render: Dge }, Symbol.toStringTag, { value: "Module" }), +) +var sx = x((t, e) => { + const r = t.append("rect") + if ( + (r.attr("x", e.x), + r.attr("y", e.y), + r.attr("fill", e.fill), + r.attr("stroke", e.stroke), + r.attr("width", e.width), + r.attr("height", e.height), + e.name && r.attr("name", e.name), + e.rx && r.attr("rx", e.rx), + e.ry && r.attr("ry", e.ry), + e.attrs !== void 0) + ) + for (const n in e.attrs) r.attr(n, e.attrs[n]) + return e.class && r.attr("class", e.class), r + }, "drawRect"), + Cz = x((t, e) => { + const r = { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + stroke: e.stroke, + class: "rect", + } + sx(t, r).lower() + }, "drawBackgroundRect"), + Mge = x((t, e) => { + const r = e.text.replace(tf, " "), + n = t.append("text") + n.attr("x", e.x), + n.attr("y", e.y), + n.attr("class", "legend"), + n.style("text-anchor", e.anchor), + e.class && n.attr("class", e.class) + const i = n.append("tspan") + return i.attr("x", e.x + e.textMargin * 2), i.text(r), n + }, "drawText"), + Oge = x((t, e, r, n) => { + const i = t.append("image") + i.attr("x", e), i.attr("y", r) + const a = fu.sanitizeUrl(n) + i.attr("xlink:href", a) + }, "drawImage"), + Pge = x((t, e, r, n) => { + const i = t.append("use") + i.attr("x", e), i.attr("y", r) + const a = fu.sanitizeUrl(n) + i.attr("xlink:href", `#${a}`) + }, "drawEmbeddedImage"), + Eu = x( + () => ({ x: 0, y: 0, width: 100, height: 100, fill: "#EDF2AE", stroke: "#666", anchor: "start", rx: 0, ry: 0 }), + "getNoteRect", + ), + ek = x( + () => ({ + x: 0, + y: 0, + width: 100, + height: 100, + "text-anchor": "start", + style: "#666", + textMargin: 0, + rx: 0, + ry: 0, + tspan: !0, + }), + "getTextObj", + ), + dy = (function () { + var t = x(function (Fe, _e, Oe, Ce) { + for (Oe = Oe || {}, Ce = Fe.length; Ce--; Oe[Fe[Ce]] = _e); + return Oe + }, "o"), + e = [1, 24], + r = [1, 25], + n = [1, 26], + i = [1, 27], + a = [1, 28], + s = [1, 63], + o = [1, 64], + l = [1, 65], + u = [1, 66], + h = [1, 67], + d = [1, 68], + f = [1, 69], + p = [1, 29], + g = [1, 30], + m = [1, 31], + v = [1, 32], + y = [1, 33], + b = [1, 34], + w = [1, 35], + T = [1, 36], + E = [1, 37], + S = [1, 38], + k = [1, 39], + L = [1, 40], + A = [1, 41], + R = [1, 42], + C = [1, 43], + I = [1, 44], + P = [1, 45], + _ = [1, 46], + N = [1, 47], + M = [1, 48], + O = [1, 50], + D = [1, 51], + B = [1, 52], + z = [1, 53], + F = [1, 54], + G = [1, 55], + q = [1, 56], + Y = [1, 57], + ee = [1, 58], + Q = [1, 59], + oe = [1, 60], + pe = [14, 42], + j = [ + 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + ], + H = [ + 12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + ], + X = [1, 82], + W = [1, 83], + K = [1, 84], + ne = [1, 85], + Z = [12, 14, 42], + be = [12, 14, 33, 42], + ce = [12, 14, 33, 42, 76, 77, 79, 80], + re = [12, 33], + Ne = [ + 34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + ], + me = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + direction: 5, + direction_tb: 6, + direction_bt: 7, + direction_rl: 8, + direction_lr: 9, + graphConfig: 10, + C4_CONTEXT: 11, + NEWLINE: 12, + statements: 13, + EOF: 14, + C4_CONTAINER: 15, + C4_COMPONENT: 16, + C4_DYNAMIC: 17, + C4_DEPLOYMENT: 18, + otherStatements: 19, + diagramStatements: 20, + otherStatement: 21, + title: 22, + accDescription: 23, + acc_title: 24, + acc_title_value: 25, + acc_descr: 26, + acc_descr_value: 27, + acc_descr_multiline_value: 28, + boundaryStatement: 29, + boundaryStartStatement: 30, + boundaryStopStatement: 31, + boundaryStart: 32, + LBRACE: 33, + ENTERPRISE_BOUNDARY: 34, + attributes: 35, + SYSTEM_BOUNDARY: 36, + BOUNDARY: 37, + CONTAINER_BOUNDARY: 38, + NODE: 39, + NODE_L: 40, + NODE_R: 41, + RBRACE: 42, + diagramStatement: 43, + PERSON: 44, + PERSON_EXT: 45, + SYSTEM: 46, + SYSTEM_DB: 47, + SYSTEM_QUEUE: 48, + SYSTEM_EXT: 49, + SYSTEM_EXT_DB: 50, + SYSTEM_EXT_QUEUE: 51, + CONTAINER: 52, + CONTAINER_DB: 53, + CONTAINER_QUEUE: 54, + CONTAINER_EXT: 55, + CONTAINER_EXT_DB: 56, + CONTAINER_EXT_QUEUE: 57, + COMPONENT: 58, + COMPONENT_DB: 59, + COMPONENT_QUEUE: 60, + COMPONENT_EXT: 61, + COMPONENT_EXT_DB: 62, + COMPONENT_EXT_QUEUE: 63, + REL: 64, + BIREL: 65, + REL_U: 66, + REL_D: 67, + REL_L: 68, + REL_R: 69, + REL_B: 70, + REL_INDEX: 71, + UPDATE_EL_STYLE: 72, + UPDATE_REL_STYLE: 73, + UPDATE_LAYOUT_CONFIG: 74, + attribute: 75, + STR: 76, + STR_KEY: 77, + STR_VALUE: 78, + ATTRIBUTE: 79, + ATTRIBUTE_EMPTY: 80, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 6: "direction_tb", + 7: "direction_bt", + 8: "direction_rl", + 9: "direction_lr", + 11: "C4_CONTEXT", + 12: "NEWLINE", + 14: "EOF", + 15: "C4_CONTAINER", + 16: "C4_COMPONENT", + 17: "C4_DYNAMIC", + 18: "C4_DEPLOYMENT", + 22: "title", + 23: "accDescription", + 24: "acc_title", + 25: "acc_title_value", + 26: "acc_descr", + 27: "acc_descr_value", + 28: "acc_descr_multiline_value", + 33: "LBRACE", + 34: "ENTERPRISE_BOUNDARY", + 36: "SYSTEM_BOUNDARY", + 37: "BOUNDARY", + 38: "CONTAINER_BOUNDARY", + 39: "NODE", + 40: "NODE_L", + 41: "NODE_R", + 42: "RBRACE", + 44: "PERSON", + 45: "PERSON_EXT", + 46: "SYSTEM", + 47: "SYSTEM_DB", + 48: "SYSTEM_QUEUE", + 49: "SYSTEM_EXT", + 50: "SYSTEM_EXT_DB", + 51: "SYSTEM_EXT_QUEUE", + 52: "CONTAINER", + 53: "CONTAINER_DB", + 54: "CONTAINER_QUEUE", + 55: "CONTAINER_EXT", + 56: "CONTAINER_EXT_DB", + 57: "CONTAINER_EXT_QUEUE", + 58: "COMPONENT", + 59: "COMPONENT_DB", + 60: "COMPONENT_QUEUE", + 61: "COMPONENT_EXT", + 62: "COMPONENT_EXT_DB", + 63: "COMPONENT_EXT_QUEUE", + 64: "REL", + 65: "BIREL", + 66: "REL_U", + 67: "REL_D", + 68: "REL_L", + 69: "REL_R", + 70: "REL_B", + 71: "REL_INDEX", + 72: "UPDATE_EL_STYLE", + 73: "UPDATE_REL_STYLE", + 74: "UPDATE_LAYOUT_CONFIG", + 76: "STR", + 77: "STR_KEY", + 78: "STR_VALUE", + 79: "ATTRIBUTE", + 80: "ATTRIBUTE_EMPTY", + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [5, 1], + [5, 1], + [5, 1], + [5, 1], + [4, 1], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [10, 4], + [13, 1], + [13, 1], + [13, 2], + [19, 1], + [19, 2], + [19, 3], + [21, 1], + [21, 1], + [21, 2], + [21, 2], + [21, 1], + [29, 3], + [30, 3], + [30, 3], + [30, 4], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [32, 2], + [31, 1], + [20, 1], + [20, 2], + [20, 3], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 1], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [43, 2], + [35, 1], + [35, 2], + [75, 1], + [75, 2], + [75, 1], + [75, 1], + ], + performAction: x(function (_e, Oe, Ce, Le, ze, ge, Me) { + var J = ge.length - 1 + switch (ze) { + case 3: + Le.setDirection("TB") + break + case 4: + Le.setDirection("BT") + break + case 5: + Le.setDirection("RL") + break + case 6: + Le.setDirection("LR") + break + case 8: + case 9: + case 10: + case 11: + case 12: + Le.setC4Type(ge[J - 3]) + break + case 19: + Le.setTitle(ge[J].substring(6)), (this.$ = ge[J].substring(6)) + break + case 20: + Le.setAccDescription(ge[J].substring(15)), (this.$ = ge[J].substring(15)) + break + case 21: + ;(this.$ = ge[J].trim()), Le.setTitle(this.$) + break + case 22: + case 23: + ;(this.$ = ge[J].trim()), Le.setAccDescription(this.$) + break + case 28: + ge[J].splice(2, 0, "ENTERPRISE"), Le.addPersonOrSystemBoundary(...ge[J]), (this.$ = ge[J]) + break + case 29: + ge[J].splice(2, 0, "SYSTEM"), Le.addPersonOrSystemBoundary(...ge[J]), (this.$ = ge[J]) + break + case 30: + Le.addPersonOrSystemBoundary(...ge[J]), (this.$ = ge[J]) + break + case 31: + ge[J].splice(2, 0, "CONTAINER"), Le.addContainerBoundary(...ge[J]), (this.$ = ge[J]) + break + case 32: + Le.addDeploymentNode("node", ...ge[J]), (this.$ = ge[J]) + break + case 33: + Le.addDeploymentNode("nodeL", ...ge[J]), (this.$ = ge[J]) + break + case 34: + Le.addDeploymentNode("nodeR", ...ge[J]), (this.$ = ge[J]) + break + case 35: + Le.popBoundaryParseStack() + break + case 39: + Le.addPersonOrSystem("person", ...ge[J]), (this.$ = ge[J]) + break + case 40: + Le.addPersonOrSystem("external_person", ...ge[J]), (this.$ = ge[J]) + break + case 41: + Le.addPersonOrSystem("system", ...ge[J]), (this.$ = ge[J]) + break + case 42: + Le.addPersonOrSystem("system_db", ...ge[J]), (this.$ = ge[J]) + break + case 43: + Le.addPersonOrSystem("system_queue", ...ge[J]), (this.$ = ge[J]) + break + case 44: + Le.addPersonOrSystem("external_system", ...ge[J]), (this.$ = ge[J]) + break + case 45: + Le.addPersonOrSystem("external_system_db", ...ge[J]), (this.$ = ge[J]) + break + case 46: + Le.addPersonOrSystem("external_system_queue", ...ge[J]), (this.$ = ge[J]) + break + case 47: + Le.addContainer("container", ...ge[J]), (this.$ = ge[J]) + break + case 48: + Le.addContainer("container_db", ...ge[J]), (this.$ = ge[J]) + break + case 49: + Le.addContainer("container_queue", ...ge[J]), (this.$ = ge[J]) + break + case 50: + Le.addContainer("external_container", ...ge[J]), (this.$ = ge[J]) + break + case 51: + Le.addContainer("external_container_db", ...ge[J]), (this.$ = ge[J]) + break + case 52: + Le.addContainer("external_container_queue", ...ge[J]), (this.$ = ge[J]) + break + case 53: + Le.addComponent("component", ...ge[J]), (this.$ = ge[J]) + break + case 54: + Le.addComponent("component_db", ...ge[J]), (this.$ = ge[J]) + break + case 55: + Le.addComponent("component_queue", ...ge[J]), (this.$ = ge[J]) + break + case 56: + Le.addComponent("external_component", ...ge[J]), (this.$ = ge[J]) + break + case 57: + Le.addComponent("external_component_db", ...ge[J]), (this.$ = ge[J]) + break + case 58: + Le.addComponent("external_component_queue", ...ge[J]), (this.$ = ge[J]) + break + case 60: + Le.addRel("rel", ...ge[J]), (this.$ = ge[J]) + break + case 61: + Le.addRel("birel", ...ge[J]), (this.$ = ge[J]) + break + case 62: + Le.addRel("rel_u", ...ge[J]), (this.$ = ge[J]) + break + case 63: + Le.addRel("rel_d", ...ge[J]), (this.$ = ge[J]) + break + case 64: + Le.addRel("rel_l", ...ge[J]), (this.$ = ge[J]) + break + case 65: + Le.addRel("rel_r", ...ge[J]), (this.$ = ge[J]) + break + case 66: + Le.addRel("rel_b", ...ge[J]), (this.$ = ge[J]) + break + case 67: + ge[J].splice(0, 1), Le.addRel("rel", ...ge[J]), (this.$ = ge[J]) + break + case 68: + Le.updateElStyle("update_el_style", ...ge[J]), (this.$ = ge[J]) + break + case 69: + Le.updateRelStyle("update_rel_style", ...ge[J]), (this.$ = ge[J]) + break + case 70: + Le.updateLayoutConfig("update_layout_config", ...ge[J]), (this.$ = ge[J]) + break + case 71: + this.$ = [ge[J]] + break + case 72: + ge[J].unshift(ge[J - 1]), (this.$ = ge[J]) + break + case 73: + case 75: + this.$ = ge[J].trim() + break + case 74: + let ue = {} + ;(ue[ge[J - 1].trim()] = ge[J].trim()), (this.$ = ue) + break + case 76: + this.$ = "" + break + } + }, "anonymous"), + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: [1, 5], + 7: [1, 6], + 8: [1, 7], + 9: [1, 8], + 10: 4, + 11: [1, 9], + 15: [1, 10], + 16: [1, 11], + 17: [1, 12], + 18: [1, 13], + }, + { 1: [3] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 7] }, + { 1: [2, 3] }, + { 1: [2, 4] }, + { 1: [2, 5] }, + { 1: [2, 6] }, + { 12: [1, 14] }, + { 12: [1, 15] }, + { 12: [1, 16] }, + { 12: [1, 17] }, + { 12: [1, 18] }, + { + 13: 19, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 43: 23, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }, + { + 13: 70, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 43: 23, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }, + { + 13: 71, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 43: 23, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }, + { + 13: 72, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 43: 23, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }, + { + 13: 73, + 19: 20, + 20: 21, + 21: 22, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 43: 23, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }, + { 14: [1, 74] }, + t(pe, [2, 13], { + 43: 23, + 29: 49, + 30: 61, + 32: 62, + 20: 75, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }), + t(pe, [2, 14]), + t(j, [2, 16], { 12: [1, 76] }), + t(pe, [2, 36], { 12: [1, 77] }), + t(H, [2, 19]), + t(H, [2, 20]), + { 25: [1, 78] }, + { 27: [1, 79] }, + t(H, [2, 23]), + { 35: 80, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 86, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 87, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 88, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 89, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 90, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 91, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 92, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 93, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 94, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 95, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 96, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 97, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 98, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 99, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 100, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 101, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 102, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 103, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 104, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + t(Z, [2, 59]), + { 35: 105, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 106, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 107, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 108, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 109, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 110, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 111, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 112, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 113, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 114, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 115, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { + 20: 116, + 29: 49, + 30: 61, + 32: 62, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 43: 23, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }, + { 12: [1, 118], 33: [1, 117] }, + { 35: 119, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 120, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 121, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 122, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 123, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 124, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 35: 125, 75: 81, 76: X, 77: W, 79: K, 80: ne }, + { 14: [1, 126] }, + { 14: [1, 127] }, + { 14: [1, 128] }, + { 14: [1, 129] }, + { 1: [2, 8] }, + t(pe, [2, 15]), + t(j, [2, 17], { 21: 22, 19: 130, 22: e, 23: r, 24: n, 26: i, 28: a }), + t(pe, [2, 37], { + 19: 20, + 20: 21, + 21: 22, + 43: 23, + 29: 49, + 30: 61, + 32: 62, + 13: 131, + 22: e, + 23: r, + 24: n, + 26: i, + 28: a, + 34: s, + 36: o, + 37: l, + 38: u, + 39: h, + 40: d, + 41: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + 51: T, + 52: E, + 53: S, + 54: k, + 55: L, + 56: A, + 57: R, + 58: C, + 59: I, + 60: P, + 61: _, + 62: N, + 63: M, + 64: O, + 65: D, + 66: B, + 67: z, + 68: F, + 69: G, + 70: q, + 71: Y, + 72: ee, + 73: Q, + 74: oe, + }), + t(H, [2, 21]), + t(H, [2, 22]), + t(Z, [2, 39]), + t(be, [2, 71], { 75: 81, 35: 132, 76: X, 77: W, 79: K, 80: ne }), + t(ce, [2, 73]), + { 78: [1, 133] }, + t(ce, [2, 75]), + t(ce, [2, 76]), + t(Z, [2, 40]), + t(Z, [2, 41]), + t(Z, [2, 42]), + t(Z, [2, 43]), + t(Z, [2, 44]), + t(Z, [2, 45]), + t(Z, [2, 46]), + t(Z, [2, 47]), + t(Z, [2, 48]), + t(Z, [2, 49]), + t(Z, [2, 50]), + t(Z, [2, 51]), + t(Z, [2, 52]), + t(Z, [2, 53]), + t(Z, [2, 54]), + t(Z, [2, 55]), + t(Z, [2, 56]), + t(Z, [2, 57]), + t(Z, [2, 58]), + t(Z, [2, 60]), + t(Z, [2, 61]), + t(Z, [2, 62]), + t(Z, [2, 63]), + t(Z, [2, 64]), + t(Z, [2, 65]), + t(Z, [2, 66]), + t(Z, [2, 67]), + t(Z, [2, 68]), + t(Z, [2, 69]), + t(Z, [2, 70]), + { 31: 134, 42: [1, 135] }, + { 12: [1, 136] }, + { 33: [1, 137] }, + t(re, [2, 28]), + t(re, [2, 29]), + t(re, [2, 30]), + t(re, [2, 31]), + t(re, [2, 32]), + t(re, [2, 33]), + t(re, [2, 34]), + { 1: [2, 9] }, + { 1: [2, 10] }, + { 1: [2, 11] }, + { 1: [2, 12] }, + t(j, [2, 18]), + t(pe, [2, 38]), + t(be, [2, 72]), + t(ce, [2, 74]), + t(Z, [2, 24]), + t(Z, [2, 35]), + t(Ne, [2, 25]), + t(Ne, [2, 26], { 12: [1, 138] }), + t(Ne, [2, 27]), + ], + defaultActions: { + 2: [2, 1], + 3: [2, 2], + 4: [2, 7], + 5: [2, 3], + 6: [2, 4], + 7: [2, 5], + 8: [2, 6], + 74: [2, 8], + 126: [2, 9], + 127: [2, 10], + 128: [2, 11], + 129: [2, 12], + }, + parseError: x(function (_e, Oe) { + if (Oe.recoverable) this.trace(_e) + else { + var Ce = new Error(_e) + throw ((Ce.hash = Oe), Ce) + } + }, "parseError"), + parse: x(function (_e) { + var Oe = this, + Ce = [0], + Le = [], + ze = [null], + ge = [], + Me = this.table, + J = "", + ue = 0, + $ = 0, + se = 2, + ae = 1, + fe = ge.slice.call(arguments, 1), + he = Object.create(this.lexer), + Te = { yy: {} } + for (var ke in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, ke) && (Te.yy[ke] = this.yy[ke]) + he.setInput(_e, Te.yy), + (Te.yy.lexer = he), + (Te.yy.parser = this), + typeof he.yylloc > "u" && (he.yylloc = {}) + var Ee = he.yylloc + ge.push(Ee) + var Ge = he.options && he.options.ranges + typeof Te.yy.parseError == "function" + ? (this.parseError = Te.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function Je(dt) { + ;(Ce.length = Ce.length - 2 * dt), (ze.length = ze.length - dt), (ge.length = ge.length - dt) + } + x(Je, "popStack") + function We() { + var dt + return ( + (dt = Le.pop() || he.lex() || ae), + typeof dt != "number" && + (dt instanceof Array && ((Le = dt), (dt = Le.pop())), (dt = Oe.symbols_[dt] || dt)), + dt + ) + } + x(We, "lex") + for (var Xe, Ke, $e, je, lt = {}, st, qe, wt, Ye; ; ) { + if ( + ((Ke = Ce[Ce.length - 1]), + this.defaultActions[Ke] + ? ($e = this.defaultActions[Ke]) + : ((Xe === null || typeof Xe > "u") && (Xe = We()), ($e = Me[Ke] && Me[Ke][Xe])), + typeof $e > "u" || !$e.length || !$e[0]) + ) { + var Ze = "" + Ye = [] + for (st in Me[Ke]) + this.terminals_[st] && st > se && Ye.push("'" + this.terminals_[st] + "'") + he.showPosition + ? (Ze = + "Parse error on line " + + (ue + 1) + + `: +` + + he.showPosition() + + ` +Expecting ` + + Ye.join(", ") + + ", got '" + + (this.terminals_[Xe] || Xe) + + "'") + : (Ze = + "Parse error on line " + + (ue + 1) + + ": Unexpected " + + (Xe == ae ? "end of input" : "'" + (this.terminals_[Xe] || Xe) + "'")), + this.parseError(Ze, { + text: he.match, + token: this.terminals_[Xe] || Xe, + line: he.yylineno, + loc: Ee, + expected: Ye, + }) + } + if ($e[0] instanceof Array && $e.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + Ke + ", token: " + Xe) + switch ($e[0]) { + case 1: + Ce.push(Xe), + ze.push(he.yytext), + ge.push(he.yylloc), + Ce.push($e[1]), + (Xe = null), + ($ = he.yyleng), + (J = he.yytext), + (ue = he.yylineno), + (Ee = he.yylloc) + break + case 2: + if ( + ((qe = this.productions_[$e[1]][1]), + (lt.$ = ze[ze.length - qe]), + (lt._$ = { + first_line: ge[ge.length - (qe || 1)].first_line, + last_line: ge[ge.length - 1].last_line, + first_column: ge[ge.length - (qe || 1)].first_column, + last_column: ge[ge.length - 1].last_column, + }), + Ge && + (lt._$.range = [ + ge[ge.length - (qe || 1)].range[0], + ge[ge.length - 1].range[1], + ]), + (je = this.performAction.apply(lt, [J, $, ue, Te.yy, $e[1], ze, ge].concat(fe))), + typeof je < "u") + ) + return je + qe && + ((Ce = Ce.slice(0, -1 * qe * 2)), + (ze = ze.slice(0, -1 * qe)), + (ge = ge.slice(0, -1 * qe))), + Ce.push(this.productions_[$e[1]][0]), + ze.push(lt.$), + ge.push(lt._$), + (wt = Me[Ce[Ce.length - 2]][Ce[Ce.length - 1]]), + Ce.push(wt) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + Ve = (function () { + var Fe = { + EOF: 1, + parseError: x(function (Oe, Ce) { + if (this.yy.parser) this.yy.parser.parseError(Oe, Ce) + else throw new Error(Oe) + }, "parseError"), + setInput: x(function (_e, Oe) { + return ( + (this.yy = Oe || this.yy || {}), + (this._input = _e), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var _e = this._input[0] + ;(this.yytext += _e), this.yyleng++, this.offset++, (this.match += _e), (this.matched += _e) + var Oe = _e.match(/(?:\r\n?|\n).*/g) + return ( + Oe ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + _e + ) + }, "input"), + unput: x(function (_e) { + var Oe = _e.length, + Ce = _e.split(/(?:\r\n?|\n)/g) + ;(this._input = _e + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - Oe)), + (this.offset -= Oe) + var Le = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + Ce.length - 1 && (this.yylineno -= Ce.length - 1) + var ze = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: Ce + ? (Ce.length === Le.length ? this.yylloc.first_column : 0) + + Le[Le.length - Ce.length].length - + Ce[0].length + : this.yylloc.first_column - Oe, + }), + this.options.ranges && (this.yylloc.range = [ze[0], ze[0] + this.yyleng - Oe]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (_e) { + this.unput(this.match.slice(_e)) + }, "less"), + pastInput: x(function () { + var _e = this.matched.substr(0, this.matched.length - this.match.length) + return (_e.length > 20 ? "..." : "") + _e.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var _e = this.match + return ( + _e.length < 20 && (_e += this._input.substr(0, 20 - _e.length)), + (_e.substr(0, 20) + (_e.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var _e = this.pastInput(), + Oe = new Array(_e.length + 1).join("-") + return ( + _e + + this.upcomingInput() + + ` +` + + Oe + + "^" + ) + }, "showPosition"), + test_match: x(function (_e, Oe) { + var Ce, Le, ze + if ( + (this.options.backtrack_lexer && + ((ze = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (ze.yylloc.range = this.yylloc.range.slice(0))), + (Le = _e[0].match(/(?:\r\n?|\n).*/g)), + Le && (this.yylineno += Le.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: Le + ? Le[Le.length - 1].length - Le[Le.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + _e[0].length, + }), + (this.yytext += _e[0]), + (this.match += _e[0]), + (this.matches = _e), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(_e[0].length)), + (this.matched += _e[0]), + (Ce = this.performAction.call( + this, + this.yy, + this, + Oe, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + Ce) + ) + return Ce + if (this._backtrack) { + for (var ge in ze) this[ge] = ze[ge] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var _e, Oe, Ce, Le + this._more || ((this.yytext = ""), (this.match = "")) + for (var ze = this._currentRules(), ge = 0; ge < ze.length; ge++) + if ( + ((Ce = this._input.match(this.rules[ze[ge]])), + Ce && (!Oe || Ce[0].length > Oe[0].length)) + ) { + if (((Oe = Ce), (Le = ge), this.options.backtrack_lexer)) { + if (((_e = this.test_match(Ce, ze[ge])), _e !== !1)) return _e + if (this._backtrack) { + Oe = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return Oe + ? ((_e = this.test_match(Oe, ze[Le])), _e !== !1 ? _e : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var Oe = this.next() + return Oe || this.lex() + }, "lex"), + begin: x(function (Oe) { + this.conditionStack.push(Oe) + }, "begin"), + popState: x(function () { + var Oe = this.conditionStack.length - 1 + return Oe > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (Oe) { + return ( + (Oe = this.conditionStack.length - 1 - Math.abs(Oe || 0)), + Oe >= 0 ? this.conditionStack[Oe] : "INITIAL" + ) + }, "topState"), + pushState: x(function (Oe) { + this.begin(Oe) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: {}, + performAction: x(function (Oe, Ce, Le, ze) { + switch (Le) { + case 0: + return 6 + case 1: + return 7 + case 2: + return 8 + case 3: + return 9 + case 4: + return 22 + case 5: + return 23 + case 6: + return this.begin("acc_title"), 24 + case 7: + return this.popState(), "acc_title_value" + case 8: + return this.begin("acc_descr"), 26 + case 9: + return this.popState(), "acc_descr_value" + case 10: + this.begin("acc_descr_multiline") + break + case 11: + this.popState() + break + case 12: + return "acc_descr_multiline_value" + case 13: + break + case 14: + c + break + case 15: + return 12 + case 16: + break + case 17: + return 11 + case 18: + return 15 + case 19: + return 16 + case 20: + return 17 + case 21: + return 18 + case 22: + return this.begin("person_ext"), 45 + case 23: + return this.begin("person"), 44 + case 24: + return this.begin("system_ext_queue"), 51 + case 25: + return this.begin("system_ext_db"), 50 + case 26: + return this.begin("system_ext"), 49 + case 27: + return this.begin("system_queue"), 48 + case 28: + return this.begin("system_db"), 47 + case 29: + return this.begin("system"), 46 + case 30: + return this.begin("boundary"), 37 + case 31: + return this.begin("enterprise_boundary"), 34 + case 32: + return this.begin("system_boundary"), 36 + case 33: + return this.begin("container_ext_queue"), 57 + case 34: + return this.begin("container_ext_db"), 56 + case 35: + return this.begin("container_ext"), 55 + case 36: + return this.begin("container_queue"), 54 + case 37: + return this.begin("container_db"), 53 + case 38: + return this.begin("container"), 52 + case 39: + return this.begin("container_boundary"), 38 + case 40: + return this.begin("component_ext_queue"), 63 + case 41: + return this.begin("component_ext_db"), 62 + case 42: + return this.begin("component_ext"), 61 + case 43: + return this.begin("component_queue"), 60 + case 44: + return this.begin("component_db"), 59 + case 45: + return this.begin("component"), 58 + case 46: + return this.begin("node"), 39 + case 47: + return this.begin("node"), 39 + case 48: + return this.begin("node_l"), 40 + case 49: + return this.begin("node_r"), 41 + case 50: + return this.begin("rel"), 64 + case 51: + return this.begin("birel"), 65 + case 52: + return this.begin("rel_u"), 66 + case 53: + return this.begin("rel_u"), 66 + case 54: + return this.begin("rel_d"), 67 + case 55: + return this.begin("rel_d"), 67 + case 56: + return this.begin("rel_l"), 68 + case 57: + return this.begin("rel_l"), 68 + case 58: + return this.begin("rel_r"), 69 + case 59: + return this.begin("rel_r"), 69 + case 60: + return this.begin("rel_b"), 70 + case 61: + return this.begin("rel_index"), 71 + case 62: + return this.begin("update_el_style"), 72 + case 63: + return this.begin("update_rel_style"), 73 + case 64: + return this.begin("update_layout_config"), 74 + case 65: + return "EOF_IN_STRUCT" + case 66: + return this.begin("attribute"), "ATTRIBUTE_EMPTY" + case 67: + this.begin("attribute") + break + case 68: + this.popState(), this.popState() + break + case 69: + return 80 + case 70: + break + case 71: + return 80 + case 72: + this.begin("string") + break + case 73: + this.popState() + break + case 74: + return "STR" + case 75: + this.begin("string_kv") + break + case 76: + return this.begin("string_kv_key"), "STR_KEY" + case 77: + this.popState(), this.begin("string_kv_value") + break + case 78: + return "STR_VALUE" + case 79: + this.popState(), this.popState() + break + case 80: + return "STR" + case 81: + return "LBRACE" + case 82: + return "RBRACE" + case 83: + return "SPACE" + case 84: + return "EOL" + case 85: + return 14 + } + }, "anonymous"), + rules: [ + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:title\s[^#\n;]+)/, + /^(?:accDescription\s[^#\n;]+)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:C4Context\b)/, + /^(?:C4Container\b)/, + /^(?:C4Component\b)/, + /^(?:C4Dynamic\b)/, + /^(?:C4Deployment\b)/, + /^(?:Person_Ext\b)/, + /^(?:Person\b)/, + /^(?:SystemQueue_Ext\b)/, + /^(?:SystemDb_Ext\b)/, + /^(?:System_Ext\b)/, + /^(?:SystemQueue\b)/, + /^(?:SystemDb\b)/, + /^(?:System\b)/, + /^(?:Boundary\b)/, + /^(?:Enterprise_Boundary\b)/, + /^(?:System_Boundary\b)/, + /^(?:ContainerQueue_Ext\b)/, + /^(?:ContainerDb_Ext\b)/, + /^(?:Container_Ext\b)/, + /^(?:ContainerQueue\b)/, + /^(?:ContainerDb\b)/, + /^(?:Container\b)/, + /^(?:Container_Boundary\b)/, + /^(?:ComponentQueue_Ext\b)/, + /^(?:ComponentDb_Ext\b)/, + /^(?:Component_Ext\b)/, + /^(?:ComponentQueue\b)/, + /^(?:ComponentDb\b)/, + /^(?:Component\b)/, + /^(?:Deployment_Node\b)/, + /^(?:Node\b)/, + /^(?:Node_L\b)/, + /^(?:Node_R\b)/, + /^(?:Rel\b)/, + /^(?:BiRel\b)/, + /^(?:Rel_Up\b)/, + /^(?:Rel_U\b)/, + /^(?:Rel_Down\b)/, + /^(?:Rel_D\b)/, + /^(?:Rel_Left\b)/, + /^(?:Rel_L\b)/, + /^(?:Rel_Right\b)/, + /^(?:Rel_R\b)/, + /^(?:Rel_Back\b)/, + /^(?:RelIndex\b)/, + /^(?:UpdateElementStyle\b)/, + /^(?:UpdateRelStyle\b)/, + /^(?:UpdateLayoutConfig\b)/, + /^(?:$)/, + /^(?:[(][ ]*[,])/, + /^(?:[(])/, + /^(?:[)])/, + /^(?:,,)/, + /^(?:,)/, + /^(?:[ ]*["]["])/, + /^(?:[ ]*["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:[ ]*[\$])/, + /^(?:[^=]*)/, + /^(?:[=][ ]*["])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:[^,]+)/, + /^(?:\{)/, + /^(?:\})/, + /^(?:[\s]+)/, + /^(?:[\n\r]+)/, + /^(?:$)/, + ], + conditions: { + acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, + acc_descr: { rules: [9], inclusive: !1 }, + acc_title: { rules: [7], inclusive: !1 }, + string_kv_value: { rules: [78, 79], inclusive: !1 }, + string_kv_key: { rules: [77], inclusive: !1 }, + string_kv: { rules: [76], inclusive: !1 }, + string: { rules: [73, 74], inclusive: !1 }, + attribute: { rules: [68, 69, 70, 71, 72, 75, 80], inclusive: !1 }, + update_layout_config: { rules: [65, 66, 67, 68], inclusive: !1 }, + update_rel_style: { rules: [65, 66, 67, 68], inclusive: !1 }, + update_el_style: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_b: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_r: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_l: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_d: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_u: { rules: [65, 66, 67, 68], inclusive: !1 }, + rel_bi: { rules: [], inclusive: !1 }, + rel: { rules: [65, 66, 67, 68], inclusive: !1 }, + node_r: { rules: [65, 66, 67, 68], inclusive: !1 }, + node_l: { rules: [65, 66, 67, 68], inclusive: !1 }, + node: { rules: [65, 66, 67, 68], inclusive: !1 }, + index: { rules: [], inclusive: !1 }, + rel_index: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_ext_queue: { rules: [], inclusive: !1 }, + component_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + component_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + component: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + container_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + container: { rules: [65, 66, 67, 68], inclusive: !1 }, + birel: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + enterprise_boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + boundary: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_queue: { rules: [65, 66, 67, 68], inclusive: !1 }, + system_db: { rules: [65, 66, 67, 68], inclusive: !1 }, + system: { rules: [65, 66, 67, 68], inclusive: !1 }, + person_ext: { rules: [65, 66, 67, 68], inclusive: !1 }, + person: { rules: [65, 66, 67, 68], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, 82, 83, 84, 85, + ], + inclusive: !0, + }, + }, + } + return Fe + })() + me.lexer = Ve + function Ue() { + this.yy = {} + } + return x(Ue, "Parser"), (Ue.prototype = me), (me.Parser = Ue), new Ue() + })() +dy.parser = dy +var Bge = dy, + ks = [], + kl = [""], + Vi = "global", + ys = "", + Js = [ + { + alias: "global", + label: { text: "global" }, + type: { text: "global" }, + tags: null, + link: null, + parentBoundary: "", + }, + ], + Bp = [], + tk = "", + rk = !1, + fy = 4, + py = 2, + Az, + Fge = x(function () { + return Az + }, "getC4Type"), + $ge = x(function (t) { + Az = Pr(t, we()) + }, "setC4Type"), + zge = x(function (t, e, r, n, i, a, s, o, l) { + if (t == null || e === void 0 || e === null || r === void 0 || r === null || n === void 0 || n === null) return + let u = {} + const h = Bp.find((d) => d.from === e && d.to === r) + if ((h ? (u = h) : Bp.push(u), (u.type = t), (u.from = e), (u.to = r), (u.label = { text: n }), i == null)) + u.techn = { text: "" } + else if (typeof i == "object") { + let [d, f] = Object.entries(i)[0] + u[d] = { text: f } + } else u.techn = { text: i } + if (a == null) u.descr = { text: "" } + else if (typeof a == "object") { + let [d, f] = Object.entries(a)[0] + u[d] = { text: f } + } else u.descr = { text: a } + if (typeof s == "object") { + let [d, f] = Object.entries(s)[0] + u[d] = f + } else u.sprite = s + if (typeof o == "object") { + let [d, f] = Object.entries(o)[0] + u[d] = f + } else u.tags = o + if (typeof l == "object") { + let [d, f] = Object.entries(l)[0] + u[d] = f + } else u.link = l + u.wrap = Kl() + }, "addRel"), + Vge = x(function (t, e, r, n, i, a, s) { + if (e === null || r === null) return + let o = {} + const l = ks.find((u) => u.alias === e) + if ( + (l && e === l.alias ? (o = l) : ((o.alias = e), ks.push(o)), + r == null ? (o.label = { text: "" }) : (o.label = { text: r }), + n == null) + ) + o.descr = { text: "" } + else if (typeof n == "object") { + let [u, h] = Object.entries(n)[0] + o[u] = { text: h } + } else o.descr = { text: n } + if (typeof i == "object") { + let [u, h] = Object.entries(i)[0] + o[u] = h + } else o.sprite = i + if (typeof a == "object") { + let [u, h] = Object.entries(a)[0] + o[u] = h + } else o.tags = a + if (typeof s == "object") { + let [u, h] = Object.entries(s)[0] + o[u] = h + } else o.link = s + ;(o.typeC4Shape = { text: t }), (o.parentBoundary = Vi), (o.wrap = Kl()) + }, "addPersonOrSystem"), + Gge = x(function (t, e, r, n, i, a, s, o) { + if (e === null || r === null) return + let l = {} + const u = ks.find((h) => h.alias === e) + if ( + (u && e === u.alias ? (l = u) : ((l.alias = e), ks.push(l)), + r == null ? (l.label = { text: "" }) : (l.label = { text: r }), + n == null) + ) + l.techn = { text: "" } + else if (typeof n == "object") { + let [h, d] = Object.entries(n)[0] + l[h] = { text: d } + } else l.techn = { text: n } + if (i == null) l.descr = { text: "" } + else if (typeof i == "object") { + let [h, d] = Object.entries(i)[0] + l[h] = { text: d } + } else l.descr = { text: i } + if (typeof a == "object") { + let [h, d] = Object.entries(a)[0] + l[h] = d + } else l.sprite = a + if (typeof s == "object") { + let [h, d] = Object.entries(s)[0] + l[h] = d + } else l.tags = s + if (typeof o == "object") { + let [h, d] = Object.entries(o)[0] + l[h] = d + } else l.link = o + ;(l.wrap = Kl()), (l.typeC4Shape = { text: t }), (l.parentBoundary = Vi) + }, "addContainer"), + Uge = x(function (t, e, r, n, i, a, s, o) { + if (e === null || r === null) return + let l = {} + const u = ks.find((h) => h.alias === e) + if ( + (u && e === u.alias ? (l = u) : ((l.alias = e), ks.push(l)), + r == null ? (l.label = { text: "" }) : (l.label = { text: r }), + n == null) + ) + l.techn = { text: "" } + else if (typeof n == "object") { + let [h, d] = Object.entries(n)[0] + l[h] = { text: d } + } else l.techn = { text: n } + if (i == null) l.descr = { text: "" } + else if (typeof i == "object") { + let [h, d] = Object.entries(i)[0] + l[h] = { text: d } + } else l.descr = { text: i } + if (typeof a == "object") { + let [h, d] = Object.entries(a)[0] + l[h] = d + } else l.sprite = a + if (typeof s == "object") { + let [h, d] = Object.entries(s)[0] + l[h] = d + } else l.tags = s + if (typeof o == "object") { + let [h, d] = Object.entries(o)[0] + l[h] = d + } else l.link = o + ;(l.wrap = Kl()), (l.typeC4Shape = { text: t }), (l.parentBoundary = Vi) + }, "addComponent"), + qge = x(function (t, e, r, n, i) { + if (t === null || e === null) return + let a = {} + const s = Js.find((o) => o.alias === t) + if ( + (s && t === s.alias ? (a = s) : ((a.alias = t), Js.push(a)), + e == null ? (a.label = { text: "" }) : (a.label = { text: e }), + r == null) + ) + a.type = { text: "system" } + else if (typeof r == "object") { + let [o, l] = Object.entries(r)[0] + a[o] = { text: l } + } else a.type = { text: r } + if (typeof n == "object") { + let [o, l] = Object.entries(n)[0] + a[o] = l + } else a.tags = n + if (typeof i == "object") { + let [o, l] = Object.entries(i)[0] + a[o] = l + } else a.link = i + ;(a.parentBoundary = Vi), (a.wrap = Kl()), (ys = Vi), (Vi = t), kl.push(ys) + }, "addPersonOrSystemBoundary"), + Wge = x(function (t, e, r, n, i) { + if (t === null || e === null) return + let a = {} + const s = Js.find((o) => o.alias === t) + if ( + (s && t === s.alias ? (a = s) : ((a.alias = t), Js.push(a)), + e == null ? (a.label = { text: "" }) : (a.label = { text: e }), + r == null) + ) + a.type = { text: "container" } + else if (typeof r == "object") { + let [o, l] = Object.entries(r)[0] + a[o] = { text: l } + } else a.type = { text: r } + if (typeof n == "object") { + let [o, l] = Object.entries(n)[0] + a[o] = l + } else a.tags = n + if (typeof i == "object") { + let [o, l] = Object.entries(i)[0] + a[o] = l + } else a.link = i + ;(a.parentBoundary = Vi), (a.wrap = Kl()), (ys = Vi), (Vi = t), kl.push(ys) + }, "addContainerBoundary"), + Hge = x(function (t, e, r, n, i, a, s, o) { + if (e === null || r === null) return + let l = {} + const u = Js.find((h) => h.alias === e) + if ( + (u && e === u.alias ? (l = u) : ((l.alias = e), Js.push(l)), + r == null ? (l.label = { text: "" }) : (l.label = { text: r }), + n == null) + ) + l.type = { text: "node" } + else if (typeof n == "object") { + let [h, d] = Object.entries(n)[0] + l[h] = { text: d } + } else l.type = { text: n } + if (i == null) l.descr = { text: "" } + else if (typeof i == "object") { + let [h, d] = Object.entries(i)[0] + l[h] = { text: d } + } else l.descr = { text: i } + if (typeof s == "object") { + let [h, d] = Object.entries(s)[0] + l[h] = d + } else l.tags = s + if (typeof o == "object") { + let [h, d] = Object.entries(o)[0] + l[h] = d + } else l.link = o + ;(l.nodeType = t), (l.parentBoundary = Vi), (l.wrap = Kl()), (ys = Vi), (Vi = e), kl.push(ys) + }, "addDeploymentNode"), + Yge = x(function () { + ;(Vi = ys), kl.pop(), (ys = kl.pop()), kl.push(ys) + }, "popBoundaryParseStack"), + Xge = x(function (t, e, r, n, i, a, s, o, l, u, h) { + let d = ks.find((f) => f.alias === e) + if (!(d === void 0 && ((d = Js.find((f) => f.alias === e)), d === void 0))) { + if (r != null) + if (typeof r == "object") { + let [f, p] = Object.entries(r)[0] + d[f] = p + } else d.bgColor = r + if (n != null) + if (typeof n == "object") { + let [f, p] = Object.entries(n)[0] + d[f] = p + } else d.fontColor = n + if (i != null) + if (typeof i == "object") { + let [f, p] = Object.entries(i)[0] + d[f] = p + } else d.borderColor = i + if (a != null) + if (typeof a == "object") { + let [f, p] = Object.entries(a)[0] + d[f] = p + } else d.shadowing = a + if (s != null) + if (typeof s == "object") { + let [f, p] = Object.entries(s)[0] + d[f] = p + } else d.shape = s + if (o != null) + if (typeof o == "object") { + let [f, p] = Object.entries(o)[0] + d[f] = p + } else d.sprite = o + if (l != null) + if (typeof l == "object") { + let [f, p] = Object.entries(l)[0] + d[f] = p + } else d.techn = l + if (u != null) + if (typeof u == "object") { + let [f, p] = Object.entries(u)[0] + d[f] = p + } else d.legendText = u + if (h != null) + if (typeof h == "object") { + let [f, p] = Object.entries(h)[0] + d[f] = p + } else d.legendSprite = h + } + }, "updateElStyle"), + jge = x(function (t, e, r, n, i, a, s) { + const o = Bp.find((l) => l.from === e && l.to === r) + if (o !== void 0) { + if (n != null) + if (typeof n == "object") { + let [l, u] = Object.entries(n)[0] + o[l] = u + } else o.textColor = n + if (i != null) + if (typeof i == "object") { + let [l, u] = Object.entries(i)[0] + o[l] = u + } else o.lineColor = i + if (a != null) + if (typeof a == "object") { + let [l, u] = Object.entries(a)[0] + o[l] = parseInt(u) + } else o.offsetX = parseInt(a) + if (s != null) + if (typeof s == "object") { + let [l, u] = Object.entries(s)[0] + o[l] = parseInt(u) + } else o.offsetY = parseInt(s) + } + }, "updateRelStyle"), + Kge = x(function (t, e, r) { + let n = fy, + i = py + if (typeof e == "object") { + const a = Object.values(e)[0] + n = parseInt(a) + } else n = parseInt(e) + if (typeof r == "object") { + const a = Object.values(r)[0] + i = parseInt(a) + } else i = parseInt(r) + n >= 1 && (fy = n), i >= 1 && (py = i) + }, "updateLayoutConfig"), + Zge = x(function () { + return fy + }, "getC4ShapeInRow"), + Qge = x(function () { + return py + }, "getC4BoundaryInRow"), + Jge = x(function () { + return Vi + }, "getCurrentBoundaryParse"), + e1e = x(function () { + return ys + }, "getParentBoundaryParse"), + _z = x(function (t) { + return t == null ? ks : ks.filter((e) => e.parentBoundary === t) + }, "getC4ShapeArray"), + t1e = x(function (t) { + return ks.find((e) => e.alias === t) + }, "getC4Shape"), + r1e = x(function (t) { + return Object.keys(_z(t)) + }, "getC4ShapeKeys"), + Lz = x(function (t) { + return t == null ? Js : Js.filter((e) => e.parentBoundary === t) + }, "getBoundaries"), + n1e = Lz, + i1e = x(function () { + return Bp + }, "getRels"), + a1e = x(function () { + return tk + }, "getTitle"), + s1e = x(function (t) { + rk = t + }, "setWrap"), + Kl = x(function () { + return rk + }, "autoWrap"), + o1e = x(function () { + ;(ks = []), + (Js = [ + { + alias: "global", + label: { text: "global" }, + type: { text: "global" }, + tags: null, + link: null, + parentBoundary: "", + }, + ]), + (ys = ""), + (Vi = "global"), + (kl = [""]), + (Bp = []), + (kl = [""]), + (tk = ""), + (rk = !1), + (fy = 4), + (py = 2) + }, "clear"), + l1e = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23, + SOLID_POINT: 24, + DOTTED_POINT: 25, + }, + c1e = { FILLED: 0, OPEN: 1 }, + u1e = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }, + h1e = x(function (t) { + tk = Pr(t, we()) + }, "setTitle"), + xw = { + addPersonOrSystem: Vge, + addPersonOrSystemBoundary: qge, + addContainer: Gge, + addContainerBoundary: Wge, + addComponent: Uge, + addDeploymentNode: Hge, + popBoundaryParseStack: Yge, + addRel: zge, + updateElStyle: Xge, + updateRelStyle: jge, + updateLayoutConfig: Kge, + autoWrap: Kl, + setWrap: s1e, + getC4ShapeArray: _z, + getC4Shape: t1e, + getC4ShapeKeys: r1e, + getBoundaries: Lz, + getBoundarys: n1e, + getCurrentBoundaryParse: Jge, + getParentBoundaryParse: e1e, + getRels: i1e, + getTitle: a1e, + getC4Type: Fge, + getC4ShapeInRow: Zge, + getC4BoundaryInRow: Qge, + setAccTitle: $n, + getAccTitle: Zn, + getAccDescription: Jn, + setAccDescription: Qn, + getConfig: x(() => we().c4, "getConfig"), + clear: o1e, + LINETYPE: l1e, + ARROWTYPE: c1e, + PLACEMENT: u1e, + setTitle: h1e, + setC4Type: $ge, + }, + nk = x(function (t, e) { + return sx(t, e) + }, "drawRect"), + Rz = x(function (t, e, r, n, i, a) { + const s = t.append("image") + s.attr("width", e), s.attr("height", r), s.attr("x", n), s.attr("y", i) + let o = a.startsWith("data:image/png;base64") ? a : fu.sanitizeUrl(a) + s.attr("xlink:href", o) + }, "drawImage"), + d1e = x((t, e, r) => { + const n = t.append("g") + let i = 0 + for (let a of e) { + let s = a.textColor ? a.textColor : "#444444", + o = a.lineColor ? a.lineColor : "#444444", + l = a.offsetX ? parseInt(a.offsetX) : 0, + u = a.offsetY ? parseInt(a.offsetY) : 0, + h = "" + if (i === 0) { + let f = n.append("line") + f.attr("x1", a.startPoint.x), + f.attr("y1", a.startPoint.y), + f.attr("x2", a.endPoint.x), + f.attr("y2", a.endPoint.y), + f.attr("stroke-width", "1"), + f.attr("stroke", o), + f.style("fill", "none"), + a.type !== "rel_b" && f.attr("marker-end", "url(" + h + "#arrowhead)"), + (a.type === "birel" || a.type === "rel_b") && f.attr("marker-start", "url(" + h + "#arrowend)"), + (i = -1) + } else { + let f = n.append("path") + f + .attr("fill", "none") + .attr("stroke-width", "1") + .attr("stroke", o) + .attr( + "d", + "Mstartx,starty Qcontrolx,controly stopx,stopy " + .replaceAll("startx", a.startPoint.x) + .replaceAll("starty", a.startPoint.y) + .replaceAll( + "controlx", + a.startPoint.x + + (a.endPoint.x - a.startPoint.x) / 2 - + (a.endPoint.x - a.startPoint.x) / 4, + ) + .replaceAll("controly", a.startPoint.y + (a.endPoint.y - a.startPoint.y) / 2) + .replaceAll("stopx", a.endPoint.x) + .replaceAll("stopy", a.endPoint.y), + ), + a.type !== "rel_b" && f.attr("marker-end", "url(" + h + "#arrowhead)"), + (a.type === "birel" || a.type === "rel_b") && f.attr("marker-start", "url(" + h + "#arrowend)") + } + let d = r.messageFont() + No(r)( + a.label.text, + n, + Math.min(a.startPoint.x, a.endPoint.x) + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + l, + Math.min(a.startPoint.y, a.endPoint.y) + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + u, + a.label.width, + a.label.height, + { fill: s }, + d, + ), + a.techn && + a.techn.text !== "" && + ((d = r.messageFont()), + No(r)( + "[" + a.techn.text + "]", + n, + Math.min(a.startPoint.x, a.endPoint.x) + Math.abs(a.endPoint.x - a.startPoint.x) / 2 + l, + Math.min(a.startPoint.y, a.endPoint.y) + + Math.abs(a.endPoint.y - a.startPoint.y) / 2 + + r.messageFontSize + + 5 + + u, + Math.max(a.label.width, a.techn.width), + a.techn.height, + { fill: s, "font-style": "italic" }, + d, + )) + } + }, "drawRels"), + f1e = x(function (t, e, r) { + const n = t.append("g") + let i = e.bgColor ? e.bgColor : "none", + a = e.borderColor ? e.borderColor : "#444444", + s = e.fontColor ? e.fontColor : "black", + o = { "stroke-width": 1, "stroke-dasharray": "7.0,7.0" } + e.nodeType && (o = { "stroke-width": 1 }) + let l = { x: e.x, y: e.y, fill: i, stroke: a, width: e.width, height: e.height, rx: 2.5, ry: 2.5, attrs: o } + nk(n, l) + let u = r.boundaryFont() + ;(u.fontWeight = "bold"), + (u.fontSize = u.fontSize + 2), + (u.fontColor = s), + No(r)(e.label.text, n, e.x, e.y + e.label.Y, e.width, e.height, { fill: "#444444" }, u), + e.type && + e.type.text !== "" && + ((u = r.boundaryFont()), + (u.fontColor = s), + No(r)(e.type.text, n, e.x, e.y + e.type.Y, e.width, e.height, { fill: "#444444" }, u)), + e.descr && + e.descr.text !== "" && + ((u = r.boundaryFont()), + (u.fontSize = u.fontSize - 2), + (u.fontColor = s), + No(r)(e.descr.text, n, e.x, e.y + e.descr.Y, e.width, e.height, { fill: "#444444" }, u)) + }, "drawBoundary"), + p1e = x(function (t, e, r) { + var d + let n = e.bgColor ? e.bgColor : r[e.typeC4Shape.text + "_bg_color"], + i = e.borderColor ? e.borderColor : r[e.typeC4Shape.text + "_border_color"], + a = e.fontColor ? e.fontColor : "#FFFFFF", + s = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=" + switch (e.typeC4Shape.text) { + case "person": + s = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=" + break + case "external_person": + s = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=" + break + } + const o = t.append("g") + o.attr("class", "person-man") + const l = Eu() + switch (e.typeC4Shape.text) { + case "person": + case "external_person": + case "system": + case "external_system": + case "container": + case "external_container": + case "component": + case "external_component": + ;(l.x = e.x), + (l.y = e.y), + (l.fill = n), + (l.width = e.width), + (l.height = e.height), + (l.stroke = i), + (l.rx = 2.5), + (l.ry = 2.5), + (l.attrs = { "stroke-width": 0.5 }), + nk(o, l) + break + case "system_db": + case "external_system_db": + case "container_db": + case "external_container_db": + case "component_db": + case "external_component_db": + o + .append("path") + .attr("fill", n) + .attr("stroke-width", "0.5") + .attr("stroke", i) + .attr( + "d", + "Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height" + .replaceAll("startx", e.x) + .replaceAll("starty", e.y) + .replaceAll("half", e.width / 2) + .replaceAll("height", e.height), + ), + o + .append("path") + .attr("fill", "none") + .attr("stroke-width", "0.5") + .attr("stroke", i) + .attr( + "d", + "Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10" + .replaceAll("startx", e.x) + .replaceAll("starty", e.y) + .replaceAll("half", e.width / 2), + ) + break + case "system_queue": + case "external_system_queue": + case "container_queue": + case "external_container_queue": + case "component_queue": + case "external_component_queue": + o + .append("path") + .attr("fill", n) + .attr("stroke-width", "0.5") + .attr("stroke", i) + .attr( + "d", + "Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half" + .replaceAll("startx", e.x) + .replaceAll("starty", e.y) + .replaceAll("width", e.width) + .replaceAll("half", e.height / 2), + ), + o + .append("path") + .attr("fill", "none") + .attr("stroke-width", "0.5") + .attr("stroke", i) + .attr( + "d", + "Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half" + .replaceAll("startx", e.x + e.width) + .replaceAll("starty", e.y) + .replaceAll("half", e.height / 2), + ) + break + } + let u = E1e(r, e.typeC4Shape.text) + switch ( + (o + .append("text") + .attr("fill", a) + .attr("font-family", u.fontFamily) + .attr("font-size", u.fontSize - 2) + .attr("font-style", "italic") + .attr("lengthAdjust", "spacing") + .attr("textLength", e.typeC4Shape.width) + .attr("x", e.x + e.width / 2 - e.typeC4Shape.width / 2) + .attr("y", e.y + e.typeC4Shape.Y) + .text("<<" + e.typeC4Shape.text + ">>"), + e.typeC4Shape.text) + ) { + case "person": + case "external_person": + Rz(o, 48, 48, e.x + e.width / 2 - 24, e.y + e.image.Y, s) + break + } + let h = r[e.typeC4Shape.text + "Font"]() + return ( + (h.fontWeight = "bold"), + (h.fontSize = h.fontSize + 2), + (h.fontColor = a), + No(r)(e.label.text, o, e.x, e.y + e.label.Y, e.width, e.height, { fill: a }, h), + (h = r[e.typeC4Shape.text + "Font"]()), + (h.fontColor = a), + e.techn && ((d = e.techn) == null ? void 0 : d.text) !== "" + ? No(r)( + e.techn.text, + o, + e.x, + e.y + e.techn.Y, + e.width, + e.height, + { fill: a, "font-style": "italic" }, + h, + ) + : e.type && + e.type.text !== "" && + No(r)( + e.type.text, + o, + e.x, + e.y + e.type.Y, + e.width, + e.height, + { fill: a, "font-style": "italic" }, + h, + ), + e.descr && + e.descr.text !== "" && + ((h = r.personFont()), + (h.fontColor = a), + No(r)(e.descr.text, o, e.x, e.y + e.descr.Y, e.width, e.height, { fill: a }, h)), + e.height + ) + }, "drawC4Shape"), + g1e = x(function (t) { + t.append("defs") + .append("symbol") + .attr("id", "database") + .attr("fill-rule", "evenodd") + .attr("clip-rule", "evenodd") + .append("path") + .attr("transform", "scale(.5)") + .attr( + "d", + "M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z", + ) + }, "insertDatabaseIcon"), + m1e = x(function (t) { + t.append("defs") + .append("symbol") + .attr("id", "computer") + .attr("width", "24") + .attr("height", "24") + .append("path") + .attr("transform", "scale(.5)") + .attr( + "d", + "M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z", + ) + }, "insertComputerIcon"), + v1e = x(function (t) { + t.append("defs") + .append("symbol") + .attr("id", "clock") + .attr("width", "24") + .attr("height", "24") + .append("path") + .attr("transform", "scale(.5)") + .attr( + "d", + "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z", + ) + }, "insertClockIcon"), + y1e = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "arrowhead") + .attr("refX", 9) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 12) + .attr("markerHeight", 12) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0 0 L 10 5 L 0 10 z") + }, "insertArrowHead"), + x1e = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "arrowend") + .attr("refX", 1) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 12) + .attr("markerHeight", 12) + .attr("orient", "auto") + .append("path") + .attr("d", "M 10 0 L 0 5 L 10 10 z") + }, "insertArrowEnd"), + b1e = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "filled-head") + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") + }, "insertArrowFilledHead"), + w1e = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "sequencenumber") + .attr("refX", 15) + .attr("refY", 15) + .attr("markerWidth", 60) + .attr("markerHeight", 40) + .attr("orient", "auto") + .append("circle") + .attr("cx", 15) + .attr("cy", 15) + .attr("r", 6) + }, "insertDynamicNumber"), + T1e = x(function (t) { + const r = t + .append("defs") + .append("marker") + .attr("id", "crosshead") + .attr("markerWidth", 15) + .attr("markerHeight", 8) + .attr("orient", "auto") + .attr("refX", 16) + .attr("refY", 4) + r + .append("path") + .attr("fill", "black") + .attr("stroke", "#000000") + .style("stroke-dasharray", "0, 0") + .attr("stroke-width", "1px") + .attr("d", "M 9,2 V 6 L16,4 Z"), + r + .append("path") + .attr("fill", "none") + .attr("stroke", "#000000") + .style("stroke-dasharray", "0, 0") + .attr("stroke-width", "1px") + .attr("d", "M 0,1 L 6,7 M 6,1 L 0,7") + }, "insertArrowCrossHead"), + E1e = x( + (t, e) => ({ fontFamily: t[e + "FontFamily"], fontSize: t[e + "FontSize"], fontWeight: t[e + "FontWeight"] }), + "getC4ShapeFont", + ), + No = (function () { + function t(i, a, s, o, l, u, h) { + const d = a + .append("text") + .attr("x", s + l / 2) + .attr("y", o + u / 2 + 5) + .style("text-anchor", "middle") + .text(i) + n(d, h) + } + x(t, "byText") + function e(i, a, s, o, l, u, h, d) { + const { fontSize: f, fontFamily: p, fontWeight: g } = d, + m = i.split(it.lineBreakRegex) + for (let v = 0; v < m.length; v++) { + const y = v * f - (f * (m.length - 1)) / 2, + b = a + .append("text") + .attr("x", s + l / 2) + .attr("y", o) + .style("text-anchor", "middle") + .attr("dominant-baseline", "middle") + .style("font-size", f) + .style("font-weight", g) + .style("font-family", p) + b.append("tspan").attr("dy", y).text(m[v]).attr("alignment-baseline", "mathematical"), n(b, h) + } + } + x(e, "byTspan") + function r(i, a, s, o, l, u, h, d) { + const f = a.append("switch"), + g = f + .append("foreignObject") + .attr("x", s) + .attr("y", o) + .attr("width", l) + .attr("height", u) + .append("xhtml:div") + .style("display", "table") + .style("height", "100%") + .style("width", "100%") + g + .append("div") + .style("display", "table-cell") + .style("text-align", "center") + .style("vertical-align", "middle") + .text(i), + e(i, f, s, o, l, u, h, d), + n(g, h) + } + x(r, "byFo") + function n(i, a) { + for (const s in a) a.hasOwnProperty(s) && i.attr(s, a[s]) + } + return ( + x(n, "_setTextAttrs"), + function (i) { + return i.textPlacement === "fo" ? r : i.textPlacement === "old" ? t : e + } + ) + })(), + Fs = { + drawRect: nk, + drawBoundary: f1e, + drawC4Shape: p1e, + drawRels: d1e, + drawImage: Rz, + insertArrowHead: y1e, + insertArrowEnd: x1e, + insertArrowFilledHead: b1e, + insertDynamicNumber: w1e, + insertArrowCrossHead: T1e, + insertDatabaseIcon: g1e, + insertComputerIcon: m1e, + insertClockIcon: v1e, + }, + gy = 0, + my = 0, + Nz = 4, + bw = 2 +dy.yy = xw +var Nt = {}, + Oh, + Dz = + ((Oh = class { + constructor(e) { + ;(this.name = ""), + (this.data = {}), + (this.data.startx = void 0), + (this.data.stopx = void 0), + (this.data.starty = void 0), + (this.data.stopy = void 0), + (this.data.widthLimit = void 0), + (this.nextData = {}), + (this.nextData.startx = void 0), + (this.nextData.stopx = void 0), + (this.nextData.starty = void 0), + (this.nextData.stopy = void 0), + (this.nextData.cnt = 0), + ww(e.db.getConfig()) + } + setData(e, r, n, i) { + ;(this.nextData.startx = this.data.startx = e), + (this.nextData.stopx = this.data.stopx = r), + (this.nextData.starty = this.data.starty = n), + (this.nextData.stopy = this.data.stopy = i) + } + updateVal(e, r, n, i) { + e[r] === void 0 ? (e[r] = n) : (e[r] = i(n, e[r])) + } + insert(e) { + this.nextData.cnt = this.nextData.cnt + 1 + let r = + this.nextData.startx === this.nextData.stopx + ? this.nextData.stopx + e.margin + : this.nextData.stopx + e.margin * 2, + n = r + e.width, + i = this.nextData.starty + e.margin * 2, + a = i + e.height + ;(r >= this.data.widthLimit || n >= this.data.widthLimit || this.nextData.cnt > Nz) && + ((r = this.nextData.startx + e.margin + Nt.nextLinePaddingX), + (i = this.nextData.stopy + e.margin * 2), + (this.nextData.stopx = n = r + e.width), + (this.nextData.starty = this.nextData.stopy), + (this.nextData.stopy = a = i + e.height), + (this.nextData.cnt = 1)), + (e.x = r), + (e.y = i), + this.updateVal(this.data, "startx", r, Math.min), + this.updateVal(this.data, "starty", i, Math.min), + this.updateVal(this.data, "stopx", n, Math.max), + this.updateVal(this.data, "stopy", a, Math.max), + this.updateVal(this.nextData, "startx", r, Math.min), + this.updateVal(this.nextData, "starty", i, Math.min), + this.updateVal(this.nextData, "stopx", n, Math.max), + this.updateVal(this.nextData, "stopy", a, Math.max) + } + init(e) { + ;(this.name = ""), + (this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, widthLimit: void 0 }), + (this.nextData = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0, cnt: 0 }), + ww(e.db.getConfig()) + } + bumpLastMargin(e) { + ;(this.data.stopx += e), (this.data.stopy += e) + } + }), + x(Oh, "Bounds"), + Oh), + ww = x(function (t) { + Mn(Nt, t), + t.fontFamily && (Nt.personFontFamily = Nt.systemFontFamily = Nt.messageFontFamily = t.fontFamily), + t.fontSize && (Nt.personFontSize = Nt.systemFontSize = Nt.messageFontSize = t.fontSize), + t.fontWeight && (Nt.personFontWeight = Nt.systemFontWeight = Nt.messageFontWeight = t.fontWeight) + }, "setConf"), + zf = x( + (t, e) => ({ fontFamily: t[e + "FontFamily"], fontSize: t[e + "FontSize"], fontWeight: t[e + "FontWeight"] }), + "c4ShapeFont", + ), + Am = x( + (t) => ({ fontFamily: t.boundaryFontFamily, fontSize: t.boundaryFontSize, fontWeight: t.boundaryFontWeight }), + "boundaryFont", + ), + k1e = x( + (t) => ({ fontFamily: t.messageFontFamily, fontSize: t.messageFontSize, fontWeight: t.messageFontWeight }), + "messageFont", + ) +function Xa(t, e, r, n, i) { + if (!e[t].width) + if (r) + (e[t].text = zP(e[t].text, i, n)), + (e[t].textLines = e[t].text.split(it.lineBreakRegex).length), + (e[t].width = i), + (e[t].height = Jv(e[t].text, n)) + else { + let a = e[t].text.split(it.lineBreakRegex) + e[t].textLines = a.length + let s = 0 + ;(e[t].height = 0), (e[t].width = 0) + for (const o of a) + (e[t].width = Math.max($i(o, n), e[t].width)), (s = Jv(o, n)), (e[t].height = e[t].height + s) + } +} +x(Xa, "calcC4ShapeTextWH") +var Iz = x(function (t, e, r) { + ;(e.x = r.data.startx), + (e.y = r.data.starty), + (e.width = r.data.stopx - r.data.startx), + (e.height = r.data.stopy - r.data.starty), + (e.label.y = Nt.c4ShapeMargin - 35) + let n = e.wrap && Nt.wrap, + i = Am(Nt) + ;(i.fontSize = i.fontSize + 2), (i.fontWeight = "bold") + let a = $i(e.label.text, i) + Xa("label", e, n, i, a), Fs.drawBoundary(t, e, Nt) + }, "drawBoundary"), + Mz = x(function (t, e, r, n) { + let i = 0 + for (const a of n) { + i = 0 + const s = r[a] + let o = zf(Nt, s.typeC4Shape.text) + switch ( + ((o.fontSize = o.fontSize - 2), + (s.typeC4Shape.width = $i("«" + s.typeC4Shape.text + "»", o)), + (s.typeC4Shape.height = o.fontSize + 2), + (s.typeC4Shape.Y = Nt.c4ShapePadding), + (i = s.typeC4Shape.Y + s.typeC4Shape.height - 4), + (s.image = { width: 0, height: 0, Y: 0 }), + s.typeC4Shape.text) + ) { + case "person": + case "external_person": + ;(s.image.width = 48), (s.image.height = 48), (s.image.Y = i), (i = s.image.Y + s.image.height) + break + } + s.sprite && ((s.image.width = 48), (s.image.height = 48), (s.image.Y = i), (i = s.image.Y + s.image.height)) + let l = s.wrap && Nt.wrap, + u = Nt.width - Nt.c4ShapePadding * 2, + h = zf(Nt, s.typeC4Shape.text) + if ( + ((h.fontSize = h.fontSize + 2), + (h.fontWeight = "bold"), + Xa("label", s, l, h, u), + (s.label.Y = i + 8), + (i = s.label.Y + s.label.height), + s.type && s.type.text !== "") + ) { + s.type.text = "[" + s.type.text + "]" + let p = zf(Nt, s.typeC4Shape.text) + Xa("type", s, l, p, u), (s.type.Y = i + 5), (i = s.type.Y + s.type.height) + } else if (s.techn && s.techn.text !== "") { + s.techn.text = "[" + s.techn.text + "]" + let p = zf(Nt, s.techn.text) + Xa("techn", s, l, p, u), (s.techn.Y = i + 5), (i = s.techn.Y + s.techn.height) + } + let d = i, + f = s.label.width + if (s.descr && s.descr.text !== "") { + let p = zf(Nt, s.typeC4Shape.text) + Xa("descr", s, l, p, u), + (s.descr.Y = i + 20), + (i = s.descr.Y + s.descr.height), + (f = Math.max(s.label.width, s.descr.width)), + (d = i - s.descr.textLines * 5) + } + ;(f = f + Nt.c4ShapePadding), + (s.width = Math.max(s.width || Nt.width, f, Nt.width)), + (s.height = Math.max(s.height || Nt.height, d, Nt.height)), + (s.margin = s.margin || Nt.c4ShapeMargin), + t.insert(s), + Fs.drawC4Shape(e, s, Nt) + } + t.bumpLastMargin(Nt.c4ShapeMargin) + }, "drawC4ShapeArray"), + Ph, + Ba = + ((Ph = class { + constructor(e, r) { + ;(this.x = e), (this.y = r) + } + }), + x(Ph, "Point"), + Ph), + J8 = x(function (t, e) { + let r = t.x, + n = t.y, + i = e.x, + a = e.y, + s = r + t.width / 2, + o = n + t.height / 2, + l = Math.abs(r - i), + u = Math.abs(n - a), + h = u / l, + d = t.height / t.width, + f = null + return ( + n == a && r < i + ? (f = new Ba(r + t.width, o)) + : n == a && r > i + ? (f = new Ba(r, o)) + : r == i && n < a + ? (f = new Ba(s, n + t.height)) + : r == i && n > a && (f = new Ba(s, n)), + r > i && n < a + ? d >= h + ? (f = new Ba(r, o + (h * t.width) / 2)) + : (f = new Ba(s - ((l / u) * t.height) / 2, n + t.height)) + : r < i && n < a + ? d >= h + ? (f = new Ba(r + t.width, o + (h * t.width) / 2)) + : (f = new Ba(s + ((l / u) * t.height) / 2, n + t.height)) + : r < i && n > a + ? d >= h + ? (f = new Ba(r + t.width, o - (h * t.width) / 2)) + : (f = new Ba(s + ((t.height / 2) * l) / u, n)) + : r > i && + n > a && + (d >= h + ? (f = new Ba(r, o - (t.width / 2) * h)) + : (f = new Ba(s - ((t.height / 2) * l) / u, n))), + f + ) + }, "getIntersectPoint"), + S1e = x(function (t, e) { + let r = { x: 0, y: 0 } + ;(r.x = e.x + e.width / 2), (r.y = e.y + e.height / 2) + let n = J8(t, r) + ;(r.x = t.x + t.width / 2), (r.y = t.y + t.height / 2) + let i = J8(e, r) + return { startPoint: n, endPoint: i } + }, "getIntersectPoints"), + C1e = x(function (t, e, r, n) { + let i = 0 + for (let a of e) { + i = i + 1 + let s = a.wrap && Nt.wrap, + o = k1e(Nt) + n.db.getC4Type() === "C4Dynamic" && (a.label.text = i + ": " + a.label.text) + let u = $i(a.label.text, o) + Xa("label", a, s, o, u), + a.techn && a.techn.text !== "" && ((u = $i(a.techn.text, o)), Xa("techn", a, s, o, u)), + a.descr && a.descr.text !== "" && ((u = $i(a.descr.text, o)), Xa("descr", a, s, o, u)) + let h = r(a.from), + d = r(a.to), + f = S1e(h, d) + ;(a.startPoint = f.startPoint), (a.endPoint = f.endPoint) + } + Fs.drawRels(t, e, Nt) + }, "drawRels") +function ik(t, e, r, n, i) { + let a = new Dz(i) + a.data.widthLimit = r.data.widthLimit / Math.min(bw, n.length) + for (let [s, o] of n.entries()) { + let l = 0 + ;(o.image = { width: 0, height: 0, Y: 0 }), + o.sprite && ((o.image.width = 48), (o.image.height = 48), (o.image.Y = l), (l = o.image.Y + o.image.height)) + let u = o.wrap && Nt.wrap, + h = Am(Nt) + if ( + ((h.fontSize = h.fontSize + 2), + (h.fontWeight = "bold"), + Xa("label", o, u, h, a.data.widthLimit), + (o.label.Y = l + 8), + (l = o.label.Y + o.label.height), + o.type && o.type.text !== "") + ) { + o.type.text = "[" + o.type.text + "]" + let g = Am(Nt) + Xa("type", o, u, g, a.data.widthLimit), (o.type.Y = l + 5), (l = o.type.Y + o.type.height) + } + if (o.descr && o.descr.text !== "") { + let g = Am(Nt) + ;(g.fontSize = g.fontSize - 2), + Xa("descr", o, u, g, a.data.widthLimit), + (o.descr.Y = l + 20), + (l = o.descr.Y + o.descr.height) + } + if (s == 0 || s % bw === 0) { + let g = r.data.startx + Nt.diagramMarginX, + m = r.data.stopy + Nt.diagramMarginY + l + a.setData(g, g, m, m) + } else { + let g = a.data.stopx !== a.data.startx ? a.data.stopx + Nt.diagramMarginX : a.data.startx, + m = a.data.starty + a.setData(g, g, m, m) + } + a.name = o.alias + let d = i.db.getC4ShapeArray(o.alias), + f = i.db.getC4ShapeKeys(o.alias) + f.length > 0 && Mz(a, t, d, f), (e = o.alias) + let p = i.db.getBoundarys(e) + p.length > 0 && ik(t, e, a, p, i), + o.alias !== "global" && Iz(t, o, a), + (r.data.stopy = Math.max(a.data.stopy + Nt.c4ShapeMargin, r.data.stopy)), + (r.data.stopx = Math.max(a.data.stopx + Nt.c4ShapeMargin, r.data.stopx)), + (gy = Math.max(gy, r.data.stopx)), + (my = Math.max(my, r.data.stopy)) + } +} +x(ik, "drawInsideBoundary") +var A1e = x(function (t, e, r, n) { + Nt = we().c4 + const i = we().securityLevel + let a + i === "sandbox" && (a = rt("#i" + e)) + const s = rt(i === "sandbox" ? a.nodes()[0].contentDocument.body : "body") + let o = n.db + n.db.setWrap(Nt.wrap), + (Nz = o.getC4ShapeInRow()), + (bw = o.getC4BoundaryInRow()), + ie.debug(`C:${JSON.stringify(Nt, null, 2)}`) + const l = i === "sandbox" ? s.select(`[id="${e}"]`) : rt(`[id="${e}"]`) + Fs.insertComputerIcon(l), Fs.insertDatabaseIcon(l), Fs.insertClockIcon(l) + let u = new Dz(n) + u.setData(Nt.diagramMarginX, Nt.diagramMarginX, Nt.diagramMarginY, Nt.diagramMarginY), + (u.data.widthLimit = screen.availWidth), + (gy = Nt.diagramMarginX), + (my = Nt.diagramMarginY) + const h = n.db.getTitle() + let d = n.db.getBoundarys("") + ik(l, "", u, d, n), + Fs.insertArrowHead(l), + Fs.insertArrowEnd(l), + Fs.insertArrowCrossHead(l), + Fs.insertArrowFilledHead(l), + C1e(l, n.db.getRels(), n.db.getC4Shape, n), + (u.data.stopx = gy), + (u.data.stopy = my) + const f = u.data + let g = f.stopy - f.starty + 2 * Nt.diagramMarginY + const v = f.stopx - f.startx + 2 * Nt.diagramMarginX + h && + l + .append("text") + .text(h) + .attr("x", (f.stopx - f.startx) / 2 - 4 * Nt.diagramMarginX) + .attr("y", f.starty + Nt.diagramMarginY), + da(l, g, v, Nt.useMaxWidth) + const y = h ? 60 : 0 + l.attr("viewBox", f.startx - Nt.diagramMarginX + " -" + (Nt.diagramMarginY + y) + " " + v + " " + (g + y)), + ie.debug("models:", f) + }, "draw"), + eA = { drawPersonOrSystemArray: Mz, drawBoundary: Iz, setConf: ww, draw: A1e }, + _1e = x( + (t) => `.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`, + "getStyles", + ), + L1e = _1e, + R1e = { + parser: Bge, + db: xw, + renderer: eA, + styles: L1e, + init: x(({ c4: t, wrap: e }) => { + eA.setConf(t), xw.setWrap(e) + }, "init"), + } +const N1e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: R1e }, Symbol.toStringTag, { value: "Module" }), +) +var Ag = x((t, e) => { + let r + return ( + e === "sandbox" && (r = rt("#i" + t)), + rt(e === "sandbox" ? r.nodes()[0].contentDocument.body : "body").select(`[id="${t}"]`) + ) + }, "getDiagramElement"), + _g = x((t, e, r, n) => { + t.attr("class", r) + const { width: i, height: a, x: s, y: o } = D1e(t, e) + da(t, a, i, n) + const l = I1e(s, o, i, a, e) + t.attr("viewBox", l), ie.debug(`viewBox configured: ${l} with padding: ${e}`) + }, "setupViewPortForSVG"), + D1e = x((t, e) => { + var n + const r = ((n = t.node()) == null ? void 0 : n.getBBox()) || { width: 0, height: 0, x: 0, y: 0 } + return { width: r.width + e * 2, height: r.height + e * 2, x: r.x, y: r.y } + }, "calculateDimensionsWithPadding"), + I1e = x((t, e, r, n, i) => `${t - i} ${e - i} ${r} ${n}`, "createViewBox"), + M1e = "flowchart-", + Bh, + O1e = + ((Bh = class { + constructor() { + ;(this.vertexCounter = 0), + (this.config = we()), + (this.vertices = new Map()), + (this.edges = []), + (this.classes = new Map()), + (this.subGraphs = []), + (this.subGraphLookup = new Map()), + (this.tooltips = new Map()), + (this.subCount = 0), + (this.firstGraphFlag = !0), + (this.secCount = -1), + (this.posCrossRef = []), + (this.funs = []), + (this.setAccTitle = $n), + (this.setAccDescription = Qn), + (this.setDiagramTitle = fi), + (this.getAccTitle = Zn), + (this.getAccDescription = Jn), + (this.getDiagramTitle = Un), + this.funs.push(this.setupToolTips.bind(this)), + (this.addVertex = this.addVertex.bind(this)), + (this.firstGraph = this.firstGraph.bind(this)), + (this.setDirection = this.setDirection.bind(this)), + (this.addSubGraph = this.addSubGraph.bind(this)), + (this.addLink = this.addLink.bind(this)), + (this.setLink = this.setLink.bind(this)), + (this.updateLink = this.updateLink.bind(this)), + (this.addClass = this.addClass.bind(this)), + (this.setClass = this.setClass.bind(this)), + (this.destructLink = this.destructLink.bind(this)), + (this.setClickEvent = this.setClickEvent.bind(this)), + (this.setTooltip = this.setTooltip.bind(this)), + (this.updateLinkInterpolate = this.updateLinkInterpolate.bind(this)), + (this.setClickFun = this.setClickFun.bind(this)), + (this.bindFunctions = this.bindFunctions.bind(this)), + (this.lex = { firstGraph: this.firstGraph.bind(this) }), + this.clear(), + this.setGen("gen-2") + } + sanitizeText(e) { + return it.sanitizeText(e, this.config) + } + lookUpDomId(e) { + for (const r of this.vertices.values()) if (r.id === e) return r.domId + return e + } + addVertex(e, r, n, i, a, s, o = {}, l) { + var p, g + if (!e || e.trim().length === 0) return + let u + if (l !== void 0) { + let m + l.includes(` +`) + ? (m = + l + + ` +`) + : (m = + `{ +` + + l + + ` +}`), + (u = WT(m, { schema: qT })) + } + const h = this.edges.find((m) => m.id === e) + if (h) { + const m = u + ;(m == null ? void 0 : m.animate) !== void 0 && (h.animate = m.animate), + (m == null ? void 0 : m.animation) !== void 0 && (h.animation = m.animation) + return + } + let d, + f = this.vertices.get(e) + if ( + (f === void 0 && + ((f = { + id: e, + labelType: "text", + domId: M1e + e + "-" + this.vertexCounter, + styles: [], + classes: [], + }), + this.vertices.set(e, f)), + this.vertexCounter++, + r !== void 0 + ? ((this.config = we()), + (d = this.sanitizeText(r.text.trim())), + (f.labelType = r.type), + d.startsWith('"') && d.endsWith('"') && (d = d.substring(1, d.length - 1)), + (f.text = d)) + : f.text === void 0 && (f.text = e), + n !== void 0 && (f.type = n), + i != null && + i.forEach((m) => { + f.styles.push(m) + }), + a != null && + a.forEach((m) => { + f.classes.push(m) + }), + s !== void 0 && (f.dir = s), + f.props === void 0 ? (f.props = o) : o !== void 0 && Object.assign(f.props, o), + u !== void 0) + ) { + if (u.shape) { + if (u.shape !== u.shape.toLowerCase() || u.shape.includes("_")) + throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`) + if (!MF(u.shape)) throw new Error(`No such shape: ${u.shape}.`) + f.type = u == null ? void 0 : u.shape + } + u != null && u.label && (f.text = u == null ? void 0 : u.label), + u != null && + u.icon && + ((f.icon = u == null ? void 0 : u.icon), + !((p = u.label) != null && p.trim()) && f.text === e && (f.text = "")), + u != null && u.form && (f.form = u == null ? void 0 : u.form), + u != null && u.pos && (f.pos = u == null ? void 0 : u.pos), + u != null && + u.img && + ((f.img = u == null ? void 0 : u.img), + !((g = u.label) != null && g.trim()) && f.text === e && (f.text = "")), + u != null && u.constraint && (f.constraint = u.constraint), + u.w && (f.assetWidth = Number(u.w)), + u.h && (f.assetHeight = Number(u.h)) + } + } + addSingleLink(e, r, n, i) { + const o = { + start: e, + end: r, + type: void 0, + text: "", + labelType: "text", + classes: [], + isUserDefinedId: !1, + interpolate: this.edges.defaultInterpolate, + } + ie.info("abc78 Got edge...", o) + const l = n.text + if ( + (l !== void 0 && + ((o.text = this.sanitizeText(l.text.trim())), + o.text.startsWith('"') && + o.text.endsWith('"') && + (o.text = o.text.substring(1, o.text.length - 1)), + (o.labelType = l.type)), + n !== void 0 && + ((o.type = n.type), (o.stroke = n.stroke), (o.length = n.length > 10 ? 10 : n.length)), + i && !this.edges.some((u) => u.id === i)) + ) + (o.id = i), (o.isUserDefinedId = !0) + else { + const u = this.edges.filter((h) => h.start === o.start && h.end === o.end) + u.length === 0 + ? (o.id = ip(o.start, o.end, { counter: 0, prefix: "L" })) + : (o.id = ip(o.start, o.end, { counter: u.length + 1, prefix: "L" })) + } + if (this.edges.length < (this.config.maxEdges ?? 500)) ie.info("Pushing edge..."), this.edges.push(o) + else + throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`) + } + isLinkData(e) { + return e !== null && typeof e == "object" && "id" in e && typeof e.id == "string" + } + addLink(e, r, n) { + const i = this.isLinkData(n) ? n.id.replace("@", "") : void 0 + ie.info("addLink", e, r, i) + for (const a of e) + for (const s of r) { + const o = a === e[e.length - 1], + l = s === r[0] + o && l ? this.addSingleLink(a, s, n, i) : this.addSingleLink(a, s, n, void 0) + } + } + updateLinkInterpolate(e, r) { + e.forEach((n) => { + n === "default" ? (this.edges.defaultInterpolate = r) : (this.edges[n].interpolate = r) + }) + } + updateLink(e, r) { + e.forEach((n) => { + var i, a, s, o, l, u + if (typeof n == "number" && n >= this.edges.length) + throw new Error( + `The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length - 1}. (Help: Ensure that the index is within the range of existing edges.)`, + ) + n === "default" + ? (this.edges.defaultStyle = r) + : ((this.edges[n].style = r), + (((a = (i = this.edges[n]) == null ? void 0 : i.style) == null ? void 0 : a.length) ?? 0) > + 0 && + !( + (o = (s = this.edges[n]) == null ? void 0 : s.style) != null && + o.some((h) => (h == null ? void 0 : h.startsWith("fill"))) + ) && + ((u = (l = this.edges[n]) == null ? void 0 : l.style) == null || u.push("fill:none"))) + }) + } + addClass(e, r) { + const n = r.join().replace(/\\,/g, "§§§").replace(/,/g, ";").replace(/§§§/g, ",").split(";") + e.split(",").forEach((i) => { + let a = this.classes.get(i) + a === void 0 && ((a = { id: i, styles: [], textStyles: [] }), this.classes.set(i, a)), + n != null && + n.forEach((s) => { + if (/color/.exec(s)) { + const o = s.replace("fill", "bgFill") + a.textStyles.push(o) + } + a.styles.push(s) + }) + }) + } + setDirection(e) { + ;(this.direction = e), + /.*</.exec(this.direction) && (this.direction = "RL"), + /.*\^/.exec(this.direction) && (this.direction = "BT"), + /.*>/.exec(this.direction) && (this.direction = "LR"), + /.*v/.exec(this.direction) && (this.direction = "TB"), + this.direction === "TD" && (this.direction = "TB") + } + setClass(e, r) { + for (const n of e.split(",")) { + const i = this.vertices.get(n) + i && i.classes.push(r) + const a = this.edges.find((o) => o.id === n) + a && a.classes.push(r) + const s = this.subGraphLookup.get(n) + s && s.classes.push(r) + } + } + setTooltip(e, r) { + if (r !== void 0) { + r = this.sanitizeText(r) + for (const n of e.split(",")) + this.tooltips.set(this.version === "gen-1" ? this.lookUpDomId(n) : n, r) + } + } + setClickFun(e, r, n) { + const i = this.lookUpDomId(e) + if (we().securityLevel !== "loose" || r === void 0) return + let a = [] + if (typeof n == "string") { + a = n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/) + for (let o = 0; o < a.length; o++) { + let l = a[o].trim() + l.startsWith('"') && l.endsWith('"') && (l = l.substr(1, l.length - 2)), (a[o] = l) + } + } + a.length === 0 && a.push(e) + const s = this.vertices.get(e) + s && + ((s.haveCallback = !0), + this.funs.push(() => { + const o = document.querySelector(`[id="${i}"]`) + o !== null && + o.addEventListener( + "click", + () => { + Zt.runFunc(r, ...a) + }, + !1, + ) + })) + } + setLink(e, r, n) { + e.split(",").forEach((i) => { + const a = this.vertices.get(i) + a !== void 0 && ((a.link = Zt.formatUrl(r, this.config)), (a.linkTarget = n)) + }), + this.setClass(e, "clickable") + } + getTooltip(e) { + return this.tooltips.get(e) + } + setClickEvent(e, r, n) { + e.split(",").forEach((i) => { + this.setClickFun(i, r, n) + }), + this.setClass(e, "clickable") + } + bindFunctions(e) { + this.funs.forEach((r) => { + r(e) + }) + } + getDirection() { + var e + return (e = this.direction) == null ? void 0 : e.trim() + } + getVertices() { + return this.vertices + } + getEdges() { + return this.edges + } + getClasses() { + return this.classes + } + setupToolTips(e) { + let r = rt(".mermaidTooltip") + ;(r._groups || r)[0][0] === null && + (r = rt("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0)), + rt(e) + .select("svg") + .selectAll("g.node") + .on("mouseover", (a) => { + var u + const s = rt(a.currentTarget) + if (s.attr("title") === null) return + const l = (u = a.currentTarget) == null ? void 0 : u.getBoundingClientRect() + r.transition().duration(200).style("opacity", ".9"), + r + .text(s.attr("title")) + .style("left", window.scrollX + l.left + (l.right - l.left) / 2 + "px") + .style("top", window.scrollY + l.bottom + "px"), + r.html(r.html().replace(/<br\/>/g, "<br/>")), + s.classed("hover", !0) + }) + .on("mouseout", (a) => { + r.transition().duration(500).style("opacity", 0), rt(a.currentTarget).classed("hover", !1) + }) + } + clear(e = "gen-2") { + ;(this.vertices = new Map()), + (this.classes = new Map()), + (this.edges = []), + (this.funs = [this.setupToolTips.bind(this)]), + (this.subGraphs = []), + (this.subGraphLookup = new Map()), + (this.subCount = 0), + (this.tooltips = new Map()), + (this.firstGraphFlag = !0), + (this.version = e), + (this.config = we()), + Gn() + } + setGen(e) { + this.version = e || "gen-2" + } + defaultStyle() { + return "fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;" + } + addSubGraph(e, r, n) { + let i = e.text.trim(), + a = n.text + e === n && /\s/.exec(n.text) && (i = void 0) + const s = x((h) => { + const d = { boolean: {}, number: {}, string: {} }, + f = [] + let p + return { + nodeList: h.filter(function (m) { + const v = typeof m + return m.stmt && m.stmt === "dir" + ? ((p = m.value), !1) + : m.trim() === "" + ? !1 + : v in d + ? d[v].hasOwnProperty(m) + ? !1 + : (d[v][m] = !0) + : f.includes(m) + ? !1 + : f.push(m) + }), + dir: p, + } + }, "uniq"), + { nodeList: o, dir: l } = s(r.flat()) + if (this.version === "gen-1") for (let h = 0; h < o.length; h++) o[h] = this.lookUpDomId(o[h]) + ;(i = i ?? "subGraph" + this.subCount), + (a = a || ""), + (a = this.sanitizeText(a)), + (this.subCount = this.subCount + 1) + const u = { id: i, nodes: o, title: a.trim(), classes: [], dir: l, labelType: n.type } + return ( + ie.info("Adding", u.id, u.nodes, u.dir), + (u.nodes = this.makeUniq(u, this.subGraphs).nodes), + this.subGraphs.push(u), + this.subGraphLookup.set(i, u), + i + ) + } + getPosForId(e) { + for (const [r, n] of this.subGraphs.entries()) if (n.id === e) return r + return -1 + } + indexNodes2(e, r) { + const n = this.subGraphs[r].nodes + if (((this.secCount = this.secCount + 1), this.secCount > 2e3)) return { result: !1, count: 0 } + if (((this.posCrossRef[this.secCount] = r), this.subGraphs[r].id === e)) return { result: !0, count: 0 } + let i = 0, + a = 1 + for (; i < n.length; ) { + const s = this.getPosForId(n[i]) + if (s >= 0) { + const o = this.indexNodes2(e, s) + if (o.result) return { result: !0, count: a + o.count } + a = a + o.count + } + i = i + 1 + } + return { result: !1, count: a } + } + getDepthFirstPos(e) { + return this.posCrossRef[e] + } + indexNodes() { + ;(this.secCount = -1), this.subGraphs.length > 0 && this.indexNodes2("none", this.subGraphs.length - 1) + } + getSubGraphs() { + return this.subGraphs + } + firstGraph() { + return this.firstGraphFlag ? ((this.firstGraphFlag = !1), !0) : !1 + } + destructStartLink(e) { + let r = e.trim(), + n = "arrow_open" + switch (r[0]) { + case "<": + ;(n = "arrow_point"), (r = r.slice(1)) + break + case "x": + ;(n = "arrow_cross"), (r = r.slice(1)) + break + case "o": + ;(n = "arrow_circle"), (r = r.slice(1)) + break + } + let i = "normal" + return r.includes("=") && (i = "thick"), r.includes(".") && (i = "dotted"), { type: n, stroke: i } + } + countChar(e, r) { + const n = r.length + let i = 0 + for (let a = 0; a < n; ++a) r[a] === e && ++i + return i + } + destructEndLink(e) { + const r = e.trim() + let n = r.slice(0, -1), + i = "arrow_open" + switch (r.slice(-1)) { + case "x": + ;(i = "arrow_cross"), r.startsWith("x") && ((i = "double_" + i), (n = n.slice(1))) + break + case ">": + ;(i = "arrow_point"), r.startsWith("<") && ((i = "double_" + i), (n = n.slice(1))) + break + case "o": + ;(i = "arrow_circle"), r.startsWith("o") && ((i = "double_" + i), (n = n.slice(1))) + break + } + let a = "normal", + s = n.length - 1 + n.startsWith("=") && (a = "thick"), n.startsWith("~") && (a = "invisible") + const o = this.countChar(".", n) + return o && ((a = "dotted"), (s = o)), { type: i, stroke: a, length: s } + } + destructLink(e, r) { + const n = this.destructEndLink(e) + let i + if (r) { + if (((i = this.destructStartLink(r)), i.stroke !== n.stroke)) + return { type: "INVALID", stroke: "INVALID" } + if (i.type === "arrow_open") i.type = n.type + else { + if (i.type !== n.type) return { type: "INVALID", stroke: "INVALID" } + i.type = "double_" + i.type + } + return i.type === "double_arrow" && (i.type = "double_arrow_point"), (i.length = n.length), i + } + return n + } + exists(e, r) { + for (const n of e) if (n.nodes.includes(r)) return !0 + return !1 + } + makeUniq(e, r) { + const n = [] + return ( + e.nodes.forEach((i, a) => { + this.exists(r, i) || n.push(e.nodes[a]) + }), + { nodes: n } + ) + } + getTypeFromVertex(e) { + if (e.img) return "imageSquare" + if (e.icon) + return e.form === "circle" + ? "iconCircle" + : e.form === "square" + ? "iconSquare" + : e.form === "rounded" + ? "iconRounded" + : "icon" + switch (e.type) { + case "square": + case void 0: + return "squareRect" + case "round": + return "roundedRect" + case "ellipse": + return "ellipse" + default: + return e.type + } + } + findNode(e, r) { + return e.find((n) => n.id === r) + } + destructEdgeType(e) { + let r = "none", + n = "arrow_point" + switch (e) { + case "arrow_point": + case "arrow_circle": + case "arrow_cross": + n = e + break + case "double_arrow_point": + case "double_arrow_circle": + case "double_arrow_cross": + ;(r = e.replace("double_", "")), (n = r) + break + } + return { arrowTypeStart: r, arrowTypeEnd: n } + } + addNodeFromVertex(e, r, n, i, a, s) { + var h + const o = n.get(e.id), + l = i.get(e.id) ?? !1, + u = this.findNode(r, e.id) + if (u) + (u.cssStyles = e.styles), + (u.cssCompiledStyles = this.getCompiledStyles(e.classes)), + (u.cssClasses = e.classes.join(" ")) + else { + const d = { + id: e.id, + label: e.text, + labelStyle: "", + parentId: o, + padding: ((h = a.flowchart) == null ? void 0 : h.padding) || 8, + cssStyles: e.styles, + cssCompiledStyles: this.getCompiledStyles(["default", "node", ...e.classes]), + cssClasses: "default " + e.classes.join(" "), + dir: e.dir, + domId: e.domId, + look: s, + link: e.link, + linkTarget: e.linkTarget, + tooltip: this.getTooltip(e.id), + icon: e.icon, + pos: e.pos, + img: e.img, + assetWidth: e.assetWidth, + assetHeight: e.assetHeight, + constraint: e.constraint, + } + l + ? r.push({ ...d, isGroup: !0, shape: "rect" }) + : r.push({ ...d, isGroup: !1, shape: this.getTypeFromVertex(e) }) + } + } + getCompiledStyles(e) { + let r = [] + for (const n of e) { + const i = this.classes.get(n) + i != null && i.styles && (r = [...r, ...(i.styles ?? [])].map((a) => a.trim())), + i != null && i.textStyles && (r = [...r, ...(i.textStyles ?? [])].map((a) => a.trim())) + } + return r + } + getData() { + const e = we(), + r = [], + n = [], + i = this.getSubGraphs(), + a = new Map(), + s = new Map() + for (let u = i.length - 1; u >= 0; u--) { + const h = i[u] + h.nodes.length > 0 && s.set(h.id, !0) + for (const d of h.nodes) a.set(d, h.id) + } + for (let u = i.length - 1; u >= 0; u--) { + const h = i[u] + r.push({ + id: h.id, + label: h.title, + labelStyle: "", + parentId: a.get(h.id), + padding: 8, + cssCompiledStyles: this.getCompiledStyles(h.classes), + cssClasses: h.classes.join(" "), + shape: "rect", + dir: h.dir, + isGroup: !0, + look: e.look, + }) + } + this.getVertices().forEach((u) => { + this.addNodeFromVertex(u, r, a, s, e, e.look || "classic") + }) + const l = this.getEdges() + return ( + l.forEach((u, h) => { + var m + const { arrowTypeStart: d, arrowTypeEnd: f } = this.destructEdgeType(u.type), + p = [...(l.defaultStyle ?? [])] + u.style && p.push(...u.style) + const g = { + id: ip(u.start, u.end, { counter: h, prefix: "L" }, u.id), + isUserDefinedId: u.isUserDefinedId, + start: u.start, + end: u.end, + type: u.type ?? "normal", + label: u.text, + labelpos: "c", + thickness: u.stroke, + minlen: u.length, + classes: + (u == null ? void 0 : u.stroke) === "invisible" + ? "" + : "edge-thickness-normal edge-pattern-solid flowchart-link", + arrowTypeStart: + (u == null ? void 0 : u.stroke) === "invisible" || + (u == null ? void 0 : u.type) === "arrow_open" + ? "none" + : d, + arrowTypeEnd: + (u == null ? void 0 : u.stroke) === "invisible" || + (u == null ? void 0 : u.type) === "arrow_open" + ? "none" + : f, + arrowheadStyle: "fill: #333", + cssCompiledStyles: this.getCompiledStyles(u.classes), + labelStyle: p, + style: p, + pattern: u.stroke, + look: e.look, + animate: u.animate, + animation: u.animation, + curve: + u.interpolate || + this.edges.defaultInterpolate || + ((m = e.flowchart) == null ? void 0 : m.curve), + } + n.push(g) + }), + { nodes: r, edges: n, other: {}, config: e } + ) + } + defaultConfig() { + return sI.flowchart + } + }), + x(Bh, "FlowDB"), + Bh), + P1e = x(function (t, e) { + return e.db.getClasses() + }, "getClasses"), + B1e = x(async function (t, e, r, n) { + var p + ie.info("REF0:"), ie.info("Drawing state diagram (v2)", e) + const { securityLevel: i, flowchart: a, layout: s } = we() + let o + i === "sandbox" && (o = rt("#i" + e)) + const l = i === "sandbox" ? o.nodes()[0].contentDocument : document + ie.debug("Before getData: ") + const u = n.db.getData() + ie.debug("Data: ", u) + const h = Ag(e, i), + d = n.db.getDirection() + ;(u.type = n.type), + (u.layoutAlgorithm = X2(s)), + u.layoutAlgorithm === "dagre" && + s === "elk" && + ie.warn( + "flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.", + ), + (u.direction = d), + (u.nodeSpacing = (a == null ? void 0 : a.nodeSpacing) || 50), + (u.rankSpacing = (a == null ? void 0 : a.rankSpacing) || 50), + (u.markers = ["point", "circle", "cross"]), + (u.diagramId = e), + ie.debug("REF1:", u), + await Tg(u, h) + const f = ((p = u.config.flowchart) == null ? void 0 : p.diagramPadding) ?? 8 + Zt.insertTitle(h, "flowchartTitleText", (a == null ? void 0 : a.titleTopMargin) || 0, n.db.getDiagramTitle()), + _g(h, f, "flowchart", (a == null ? void 0 : a.useMaxWidth) || !1) + for (const g of u.nodes) { + const m = rt(`#${e} [id="${g.id}"]`) + if (!m || !g.link) continue + const v = l.createElementNS("http://www.w3.org/2000/svg", "a") + v.setAttributeNS("http://www.w3.org/2000/svg", "class", g.cssClasses), + v.setAttributeNS("http://www.w3.org/2000/svg", "rel", "noopener"), + i === "sandbox" + ? v.setAttributeNS("http://www.w3.org/2000/svg", "target", "_top") + : g.linkTarget && v.setAttributeNS("http://www.w3.org/2000/svg", "target", g.linkTarget) + const y = m.insert(function () { + return v + }, ":first-child"), + b = m.select(".label-container") + b && + y.append(function () { + return b.node() + }) + const w = m.select(".label") + w && + y.append(function () { + return w.node() + }) + } + }, "draw"), + F1e = { getClasses: P1e, draw: B1e }, + Tw = (function () { + var t = x(function (xn, Ct, Tt, ot) { + for (Tt = Tt || {}, ot = xn.length; ot--; Tt[xn[ot]] = Ct); + return Tt + }, "o"), + e = [1, 4], + r = [1, 3], + n = [1, 5], + i = [ + 1, 8, 9, 10, 11, 27, 34, 36, 38, 44, 60, 84, 85, 86, 87, 88, 89, 102, 105, 106, 109, 111, 114, 115, 116, + 121, 122, 123, 124, + ], + a = [2, 2], + s = [1, 13], + o = [1, 14], + l = [1, 15], + u = [1, 16], + h = [1, 23], + d = [1, 25], + f = [1, 26], + p = [1, 27], + g = [1, 49], + m = [1, 48], + v = [1, 29], + y = [1, 30], + b = [1, 31], + w = [1, 32], + T = [1, 33], + E = [1, 44], + S = [1, 46], + k = [1, 42], + L = [1, 47], + A = [1, 43], + R = [1, 50], + C = [1, 45], + I = [1, 51], + P = [1, 52], + _ = [1, 34], + N = [1, 35], + M = [1, 36], + O = [1, 37], + D = [1, 57], + B = [ + 1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 44, 60, 84, 85, 86, 87, 88, 89, 102, 105, 106, 109, 111, 114, 115, + 116, 121, 122, 123, 124, + ], + z = [1, 61], + F = [1, 60], + G = [1, 62], + q = [8, 9, 11, 75, 77, 78], + Y = [1, 78], + ee = [1, 91], + Q = [1, 96], + oe = [1, 95], + pe = [1, 92], + j = [1, 88], + H = [1, 94], + X = [1, 90], + W = [1, 97], + K = [1, 93], + ne = [1, 98], + Z = [1, 89], + be = [8, 9, 10, 11, 40, 75, 77, 78], + ce = [8, 9, 10, 11, 40, 46, 75, 77, 78], + re = [ + 8, 9, 10, 11, 29, 40, 44, 46, 48, 50, 52, 54, 56, 58, 60, 63, 65, 67, 68, 70, 75, 77, 78, 89, 102, 105, + 106, 109, 111, 114, 115, 116, + ], + Ne = [8, 9, 11, 44, 60, 75, 77, 78, 89, 102, 105, 106, 109, 111, 114, 115, 116], + me = [44, 60, 89, 102, 105, 106, 109, 111, 114, 115, 116], + Ve = [1, 121], + Ue = [1, 122], + Fe = [1, 124], + _e = [1, 123], + Oe = [44, 60, 62, 74, 89, 102, 105, 106, 109, 111, 114, 115, 116], + Ce = [1, 133], + Le = [1, 147], + ze = [1, 148], + ge = [1, 149], + Me = [1, 150], + J = [1, 135], + ue = [1, 137], + $ = [1, 141], + se = [1, 142], + ae = [1, 143], + fe = [1, 144], + he = [1, 145], + Te = [1, 146], + ke = [1, 151], + Ee = [1, 152], + Ge = [1, 131], + Je = [1, 132], + We = [1, 139], + Xe = [1, 134], + Ke = [1, 138], + $e = [1, 136], + je = [ + 8, 9, 10, 11, 27, 32, 34, 36, 38, 44, 60, 84, 85, 86, 87, 88, 89, 102, 105, 106, 109, 111, 114, 115, + 116, 121, 122, 123, 124, + ], + lt = [1, 154], + st = [1, 156], + qe = [8, 9, 11], + wt = [8, 9, 10, 11, 14, 44, 60, 89, 105, 106, 109, 111, 114, 115, 116], + Ye = [1, 176], + Ze = [1, 172], + dt = [1, 173], + ct = [1, 177], + ut = [1, 174], + mt = [1, 175], + sr = [77, 116, 119], + Lt = [ + 8, 9, 10, 11, 12, 14, 27, 29, 32, 44, 60, 75, 84, 85, 86, 87, 88, 89, 90, 105, 109, 111, 114, 115, 116, + ], + ur = [10, 106], + rr = [31, 49, 51, 53, 55, 57, 62, 64, 66, 67, 69, 71, 116, 117, 118], + er = [1, 247], + Ht = [1, 245], + Xr = [1, 249], + pt = [1, 243], + Se = [1, 244], + Qe = [1, 246], + xt = [1, 248], + tr = [1, 250], + Ir = [1, 268], + zr = [8, 9, 11, 106], + _r = [8, 9, 10, 11, 60, 84, 105, 106, 109, 110, 111, 112], + yn = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + graphConfig: 4, + document: 5, + line: 6, + statement: 7, + SEMI: 8, + NEWLINE: 9, + SPACE: 10, + EOF: 11, + GRAPH: 12, + NODIR: 13, + DIR: 14, + FirstStmtSeparator: 15, + ending: 16, + endToken: 17, + spaceList: 18, + spaceListNewline: 19, + vertexStatement: 20, + separator: 21, + styleStatement: 22, + linkStyleStatement: 23, + classDefStatement: 24, + classStatement: 25, + clickStatement: 26, + subgraph: 27, + textNoTags: 28, + SQS: 29, + text: 30, + SQE: 31, + end: 32, + direction: 33, + acc_title: 34, + acc_title_value: 35, + acc_descr: 36, + acc_descr_value: 37, + acc_descr_multiline_value: 38, + shapeData: 39, + SHAPE_DATA: 40, + link: 41, + node: 42, + styledVertex: 43, + AMP: 44, + vertex: 45, + STYLE_SEPARATOR: 46, + idString: 47, + DOUBLECIRCLESTART: 48, + DOUBLECIRCLEEND: 49, + PS: 50, + PE: 51, + "(-": 52, + "-)": 53, + STADIUMSTART: 54, + STADIUMEND: 55, + SUBROUTINESTART: 56, + SUBROUTINEEND: 57, + VERTEX_WITH_PROPS_START: 58, + "NODE_STRING[field]": 59, + COLON: 60, + "NODE_STRING[value]": 61, + PIPE: 62, + CYLINDERSTART: 63, + CYLINDEREND: 64, + DIAMOND_START: 65, + DIAMOND_STOP: 66, + TAGEND: 67, + TRAPSTART: 68, + TRAPEND: 69, + INVTRAPSTART: 70, + INVTRAPEND: 71, + linkStatement: 72, + arrowText: 73, + TESTSTR: 74, + START_LINK: 75, + edgeText: 76, + LINK: 77, + LINK_ID: 78, + edgeTextToken: 79, + STR: 80, + MD_STR: 81, + textToken: 82, + keywords: 83, + STYLE: 84, + LINKSTYLE: 85, + CLASSDEF: 86, + CLASS: 87, + CLICK: 88, + DOWN: 89, + UP: 90, + textNoTagsToken: 91, + stylesOpt: 92, + "idString[vertex]": 93, + "idString[class]": 94, + CALLBACKNAME: 95, + CALLBACKARGS: 96, + HREF: 97, + LINK_TARGET: 98, + "STR[link]": 99, + "STR[tooltip]": 100, + alphaNum: 101, + DEFAULT: 102, + numList: 103, + INTERPOLATE: 104, + NUM: 105, + COMMA: 106, + style: 107, + styleComponent: 108, + NODE_STRING: 109, + UNIT: 110, + BRKT: 111, + PCT: 112, + idStringToken: 113, + MINUS: 114, + MULT: 115, + UNICODE_TEXT: 116, + TEXT: 117, + TAGSTART: 118, + EDGE_TEXT: 119, + alphaNumToken: 120, + direction_tb: 121, + direction_bt: 122, + direction_rl: 123, + direction_lr: 124, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 8: "SEMI", + 9: "NEWLINE", + 10: "SPACE", + 11: "EOF", + 12: "GRAPH", + 13: "NODIR", + 14: "DIR", + 27: "subgraph", + 29: "SQS", + 31: "SQE", + 32: "end", + 34: "acc_title", + 35: "acc_title_value", + 36: "acc_descr", + 37: "acc_descr_value", + 38: "acc_descr_multiline_value", + 40: "SHAPE_DATA", + 44: "AMP", + 46: "STYLE_SEPARATOR", + 48: "DOUBLECIRCLESTART", + 49: "DOUBLECIRCLEEND", + 50: "PS", + 51: "PE", + 52: "(-", + 53: "-)", + 54: "STADIUMSTART", + 55: "STADIUMEND", + 56: "SUBROUTINESTART", + 57: "SUBROUTINEEND", + 58: "VERTEX_WITH_PROPS_START", + 59: "NODE_STRING[field]", + 60: "COLON", + 61: "NODE_STRING[value]", + 62: "PIPE", + 63: "CYLINDERSTART", + 64: "CYLINDEREND", + 65: "DIAMOND_START", + 66: "DIAMOND_STOP", + 67: "TAGEND", + 68: "TRAPSTART", + 69: "TRAPEND", + 70: "INVTRAPSTART", + 71: "INVTRAPEND", + 74: "TESTSTR", + 75: "START_LINK", + 77: "LINK", + 78: "LINK_ID", + 80: "STR", + 81: "MD_STR", + 84: "STYLE", + 85: "LINKSTYLE", + 86: "CLASSDEF", + 87: "CLASS", + 88: "CLICK", + 89: "DOWN", + 90: "UP", + 93: "idString[vertex]", + 94: "idString[class]", + 95: "CALLBACKNAME", + 96: "CALLBACKARGS", + 97: "HREF", + 98: "LINK_TARGET", + 99: "STR[link]", + 100: "STR[tooltip]", + 102: "DEFAULT", + 104: "INTERPOLATE", + 105: "NUM", + 106: "COMMA", + 109: "NODE_STRING", + 110: "UNIT", + 111: "BRKT", + 112: "PCT", + 114: "MINUS", + 115: "MULT", + 116: "UNICODE_TEXT", + 117: "TEXT", + 118: "TAGSTART", + 119: "EDGE_TEXT", + 121: "direction_tb", + 122: "direction_bt", + 123: "direction_rl", + 124: "direction_lr", + }, + productions_: [ + 0, + [3, 2], + [5, 0], + [5, 2], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [6, 1], + [4, 2], + [4, 2], + [4, 2], + [4, 3], + [16, 2], + [16, 1], + [17, 1], + [17, 1], + [17, 1], + [15, 1], + [15, 1], + [15, 2], + [19, 2], + [19, 2], + [19, 1], + [19, 1], + [18, 2], + [18, 1], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 9], + [7, 6], + [7, 4], + [7, 1], + [7, 2], + [7, 2], + [7, 1], + [21, 1], + [21, 1], + [21, 1], + [39, 2], + [39, 1], + [20, 4], + [20, 3], + [20, 4], + [20, 2], + [20, 2], + [20, 1], + [42, 1], + [42, 6], + [42, 5], + [43, 1], + [43, 3], + [45, 4], + [45, 4], + [45, 6], + [45, 4], + [45, 4], + [45, 4], + [45, 8], + [45, 4], + [45, 4], + [45, 4], + [45, 6], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 4], + [45, 1], + [41, 2], + [41, 3], + [41, 3], + [41, 1], + [41, 3], + [41, 4], + [76, 1], + [76, 2], + [76, 1], + [76, 1], + [72, 1], + [72, 2], + [73, 3], + [30, 1], + [30, 2], + [30, 1], + [30, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [28, 1], + [28, 2], + [28, 1], + [28, 1], + [24, 5], + [25, 5], + [26, 2], + [26, 4], + [26, 3], + [26, 5], + [26, 3], + [26, 5], + [26, 5], + [26, 7], + [26, 2], + [26, 4], + [26, 2], + [26, 4], + [26, 4], + [26, 6], + [22, 5], + [23, 5], + [23, 5], + [23, 9], + [23, 9], + [23, 7], + [23, 7], + [103, 1], + [103, 3], + [92, 1], + [92, 3], + [107, 1], + [107, 2], + [108, 1], + [108, 1], + [108, 1], + [108, 1], + [108, 1], + [108, 1], + [108, 1], + [108, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [113, 1], + [82, 1], + [82, 1], + [82, 1], + [82, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [79, 1], + [79, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [120, 1], + [47, 1], + [47, 2], + [101, 1], + [101, 2], + [33, 1], + [33, 1], + [33, 1], + [33, 1], + ], + performAction: x(function (Ct, Tt, ot, He, ar, de, ss) { + var ve = de.length - 1 + switch (ar) { + case 2: + this.$ = [] + break + case 3: + ;(!Array.isArray(de[ve]) || de[ve].length > 0) && de[ve - 1].push(de[ve]), + (this.$ = de[ve - 1]) + break + case 4: + case 183: + this.$ = de[ve] + break + case 11: + He.setDirection("TB"), (this.$ = "TB") + break + case 12: + He.setDirection(de[ve - 1]), (this.$ = de[ve - 1]) + break + case 27: + this.$ = de[ve - 1].nodes + break + case 28: + case 29: + case 30: + case 31: + case 32: + this.$ = [] + break + case 33: + this.$ = He.addSubGraph(de[ve - 6], de[ve - 1], de[ve - 4]) + break + case 34: + this.$ = He.addSubGraph(de[ve - 3], de[ve - 1], de[ve - 3]) + break + case 35: + this.$ = He.addSubGraph(void 0, de[ve - 1], void 0) + break + case 37: + ;(this.$ = de[ve].trim()), He.setAccTitle(this.$) + break + case 38: + case 39: + ;(this.$ = de[ve].trim()), He.setAccDescription(this.$) + break + case 43: + this.$ = de[ve - 1] + de[ve] + break + case 44: + this.$ = de[ve] + break + case 45: + He.addVertex( + de[ve - 1][de[ve - 1].length - 1], + void 0, + void 0, + void 0, + void 0, + void 0, + void 0, + de[ve], + ), + He.addLink(de[ve - 3].stmt, de[ve - 1], de[ve - 2]), + (this.$ = { stmt: de[ve - 1], nodes: de[ve - 1].concat(de[ve - 3].nodes) }) + break + case 46: + He.addLink(de[ve - 2].stmt, de[ve], de[ve - 1]), + (this.$ = { stmt: de[ve], nodes: de[ve].concat(de[ve - 2].nodes) }) + break + case 47: + He.addLink(de[ve - 3].stmt, de[ve - 1], de[ve - 2]), + (this.$ = { stmt: de[ve - 1], nodes: de[ve - 1].concat(de[ve - 3].nodes) }) + break + case 48: + this.$ = { stmt: de[ve - 1], nodes: de[ve - 1] } + break + case 49: + He.addVertex( + de[ve - 1][de[ve - 1].length - 1], + void 0, + void 0, + void 0, + void 0, + void 0, + void 0, + de[ve], + ), + (this.$ = { stmt: de[ve - 1], nodes: de[ve - 1], shapeData: de[ve] }) + break + case 50: + this.$ = { stmt: de[ve], nodes: de[ve] } + break + case 51: + this.$ = [de[ve]] + break + case 52: + He.addVertex( + de[ve - 5][de[ve - 5].length - 1], + void 0, + void 0, + void 0, + void 0, + void 0, + void 0, + de[ve - 4], + ), + (this.$ = de[ve - 5].concat(de[ve])) + break + case 53: + this.$ = de[ve - 4].concat(de[ve]) + break + case 54: + this.$ = de[ve] + break + case 55: + ;(this.$ = de[ve - 2]), He.setClass(de[ve - 2], de[ve]) + break + case 56: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "square") + break + case 57: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "doublecircle") + break + case 58: + ;(this.$ = de[ve - 5]), He.addVertex(de[ve - 5], de[ve - 2], "circle") + break + case 59: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "ellipse") + break + case 60: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "stadium") + break + case 61: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "subroutine") + break + case 62: + ;(this.$ = de[ve - 7]), + He.addVertex( + de[ve - 7], + de[ve - 1], + "rect", + void 0, + void 0, + void 0, + Object.fromEntries([[de[ve - 5], de[ve - 3]]]), + ) + break + case 63: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "cylinder") + break + case 64: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "round") + break + case 65: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "diamond") + break + case 66: + ;(this.$ = de[ve - 5]), He.addVertex(de[ve - 5], de[ve - 2], "hexagon") + break + case 67: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "odd") + break + case 68: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "trapezoid") + break + case 69: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "inv_trapezoid") + break + case 70: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "lean_right") + break + case 71: + ;(this.$ = de[ve - 3]), He.addVertex(de[ve - 3], de[ve - 1], "lean_left") + break + case 72: + ;(this.$ = de[ve]), He.addVertex(de[ve]) + break + case 73: + ;(de[ve - 1].text = de[ve]), (this.$ = de[ve - 1]) + break + case 74: + case 75: + ;(de[ve - 2].text = de[ve - 1]), (this.$ = de[ve - 2]) + break + case 76: + this.$ = de[ve] + break + case 77: + var sn = He.destructLink(de[ve], de[ve - 2]) + this.$ = { type: sn.type, stroke: sn.stroke, length: sn.length, text: de[ve - 1] } + break + case 78: + var sn = He.destructLink(de[ve], de[ve - 2]) + this.$ = { + type: sn.type, + stroke: sn.stroke, + length: sn.length, + text: de[ve - 1], + id: de[ve - 3], + } + break + case 79: + this.$ = { text: de[ve], type: "text" } + break + case 80: + this.$ = { text: de[ve - 1].text + "" + de[ve], type: de[ve - 1].type } + break + case 81: + this.$ = { text: de[ve], type: "string" } + break + case 82: + this.$ = { text: de[ve], type: "markdown" } + break + case 83: + var sn = He.destructLink(de[ve]) + this.$ = { type: sn.type, stroke: sn.stroke, length: sn.length } + break + case 84: + var sn = He.destructLink(de[ve]) + this.$ = { type: sn.type, stroke: sn.stroke, length: sn.length, id: de[ve - 1] } + break + case 85: + this.$ = de[ve - 1] + break + case 86: + this.$ = { text: de[ve], type: "text" } + break + case 87: + this.$ = { text: de[ve - 1].text + "" + de[ve], type: de[ve - 1].type } + break + case 88: + this.$ = { text: de[ve], type: "string" } + break + case 89: + case 104: + this.$ = { text: de[ve], type: "markdown" } + break + case 101: + this.$ = { text: de[ve], type: "text" } + break + case 102: + this.$ = { text: de[ve - 1].text + "" + de[ve], type: de[ve - 1].type } + break + case 103: + this.$ = { text: de[ve], type: "text" } + break + case 105: + ;(this.$ = de[ve - 4]), He.addClass(de[ve - 2], de[ve]) + break + case 106: + ;(this.$ = de[ve - 4]), He.setClass(de[ve - 2], de[ve]) + break + case 107: + case 115: + ;(this.$ = de[ve - 1]), He.setClickEvent(de[ve - 1], de[ve]) + break + case 108: + case 116: + ;(this.$ = de[ve - 3]), + He.setClickEvent(de[ve - 3], de[ve - 2]), + He.setTooltip(de[ve - 3], de[ve]) + break + case 109: + ;(this.$ = de[ve - 2]), He.setClickEvent(de[ve - 2], de[ve - 1], de[ve]) + break + case 110: + ;(this.$ = de[ve - 4]), + He.setClickEvent(de[ve - 4], de[ve - 3], de[ve - 2]), + He.setTooltip(de[ve - 4], de[ve]) + break + case 111: + ;(this.$ = de[ve - 2]), He.setLink(de[ve - 2], de[ve]) + break + case 112: + ;(this.$ = de[ve - 4]), + He.setLink(de[ve - 4], de[ve - 2]), + He.setTooltip(de[ve - 4], de[ve]) + break + case 113: + ;(this.$ = de[ve - 4]), He.setLink(de[ve - 4], de[ve - 2], de[ve]) + break + case 114: + ;(this.$ = de[ve - 6]), + He.setLink(de[ve - 6], de[ve - 4], de[ve]), + He.setTooltip(de[ve - 6], de[ve - 2]) + break + case 117: + ;(this.$ = de[ve - 1]), He.setLink(de[ve - 1], de[ve]) + break + case 118: + ;(this.$ = de[ve - 3]), + He.setLink(de[ve - 3], de[ve - 2]), + He.setTooltip(de[ve - 3], de[ve]) + break + case 119: + ;(this.$ = de[ve - 3]), He.setLink(de[ve - 3], de[ve - 2], de[ve]) + break + case 120: + ;(this.$ = de[ve - 5]), + He.setLink(de[ve - 5], de[ve - 4], de[ve]), + He.setTooltip(de[ve - 5], de[ve - 2]) + break + case 121: + ;(this.$ = de[ve - 4]), He.addVertex(de[ve - 2], void 0, void 0, de[ve]) + break + case 122: + ;(this.$ = de[ve - 4]), He.updateLink([de[ve - 2]], de[ve]) + break + case 123: + ;(this.$ = de[ve - 4]), He.updateLink(de[ve - 2], de[ve]) + break + case 124: + ;(this.$ = de[ve - 8]), + He.updateLinkInterpolate([de[ve - 6]], de[ve - 2]), + He.updateLink([de[ve - 6]], de[ve]) + break + case 125: + ;(this.$ = de[ve - 8]), + He.updateLinkInterpolate(de[ve - 6], de[ve - 2]), + He.updateLink(de[ve - 6], de[ve]) + break + case 126: + ;(this.$ = de[ve - 6]), He.updateLinkInterpolate([de[ve - 4]], de[ve]) + break + case 127: + ;(this.$ = de[ve - 6]), He.updateLinkInterpolate(de[ve - 4], de[ve]) + break + case 128: + case 130: + this.$ = [de[ve]] + break + case 129: + case 131: + de[ve - 2].push(de[ve]), (this.$ = de[ve - 2]) + break + case 133: + this.$ = de[ve - 1] + de[ve] + break + case 181: + this.$ = de[ve] + break + case 182: + this.$ = de[ve - 1] + "" + de[ve] + break + case 184: + this.$ = de[ve - 1] + "" + de[ve] + break + case 185: + this.$ = { stmt: "dir", value: "TB" } + break + case 186: + this.$ = { stmt: "dir", value: "BT" } + break + case 187: + this.$ = { stmt: "dir", value: "RL" } + break + case 188: + this.$ = { stmt: "dir", value: "LR" } + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: 2, 9: e, 10: r, 12: n }, + { 1: [3] }, + t(i, a, { 5: 6 }), + { 4: 7, 9: e, 10: r, 12: n }, + { 4: 8, 9: e, 10: r, 12: n }, + { 13: [1, 9], 14: [1, 10] }, + { + 1: [2, 1], + 6: 11, + 7: 12, + 8: s, + 9: o, + 10: l, + 11: u, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: h, + 33: 24, + 34: d, + 36: f, + 38: p, + 42: 28, + 43: 38, + 44: g, + 45: 39, + 47: 40, + 60: m, + 84: v, + 85: y, + 86: b, + 87: w, + 88: T, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + 121: _, + 122: N, + 123: M, + 124: O, + }, + t(i, [2, 9]), + t(i, [2, 10]), + t(i, [2, 11]), + { 8: [1, 54], 9: [1, 55], 10: D, 15: 53, 18: 56 }, + t(B, [2, 3]), + t(B, [2, 4]), + t(B, [2, 5]), + t(B, [2, 6]), + t(B, [2, 7]), + t(B, [2, 8]), + { 8: z, 9: F, 11: G, 21: 58, 41: 59, 72: 63, 75: [1, 64], 77: [1, 66], 78: [1, 65] }, + { 8: z, 9: F, 11: G, 21: 67 }, + { 8: z, 9: F, 11: G, 21: 68 }, + { 8: z, 9: F, 11: G, 21: 69 }, + { 8: z, 9: F, 11: G, 21: 70 }, + { 8: z, 9: F, 11: G, 21: 71 }, + { 8: z, 9: F, 10: [1, 72], 11: G, 21: 73 }, + t(B, [2, 36]), + { 35: [1, 74] }, + { 37: [1, 75] }, + t(B, [2, 39]), + t(q, [2, 50], { 18: 76, 39: 77, 10: D, 40: Y }), + { 10: [1, 79] }, + { 10: [1, 80] }, + { 10: [1, 81] }, + { 10: [1, 82] }, + { + 14: ee, + 44: Q, + 60: oe, + 80: [1, 86], + 89: pe, + 95: [1, 83], + 97: [1, 84], + 101: 85, + 105: j, + 106: H, + 109: X, + 111: W, + 114: K, + 115: ne, + 116: Z, + 120: 87, + }, + t(B, [2, 185]), + t(B, [2, 186]), + t(B, [2, 187]), + t(B, [2, 188]), + t(be, [2, 51]), + t(be, [2, 54], { 46: [1, 99] }), + t(ce, [2, 72], { + 113: 112, + 29: [1, 100], + 44: g, + 48: [1, 101], + 50: [1, 102], + 52: [1, 103], + 54: [1, 104], + 56: [1, 105], + 58: [1, 106], + 60: m, + 63: [1, 107], + 65: [1, 108], + 67: [1, 109], + 68: [1, 110], + 70: [1, 111], + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 114: C, + 115: I, + 116: P, + }), + t(re, [2, 181]), + t(re, [2, 142]), + t(re, [2, 143]), + t(re, [2, 144]), + t(re, [2, 145]), + t(re, [2, 146]), + t(re, [2, 147]), + t(re, [2, 148]), + t(re, [2, 149]), + t(re, [2, 150]), + t(re, [2, 151]), + t(re, [2, 152]), + t(i, [2, 12]), + t(i, [2, 18]), + t(i, [2, 19]), + { 9: [1, 113] }, + t(Ne, [2, 26], { 18: 114, 10: D }), + t(B, [2, 27]), + { + 42: 115, + 43: 38, + 44: g, + 45: 39, + 47: 40, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + t(B, [2, 40]), + t(B, [2, 41]), + t(B, [2, 42]), + t(me, [2, 76], { 73: 116, 62: [1, 118], 74: [1, 117] }), + { 76: 119, 79: 120, 80: Ve, 81: Ue, 116: Fe, 119: _e }, + { 75: [1, 125], 77: [1, 126] }, + t(Oe, [2, 83]), + t(B, [2, 28]), + t(B, [2, 29]), + t(B, [2, 30]), + t(B, [2, 31]), + t(B, [2, 32]), + { + 10: Ce, + 12: Le, + 14: ze, + 27: ge, + 28: 127, + 32: Me, + 44: J, + 60: ue, + 75: $, + 80: [1, 129], + 81: [1, 130], + 83: 140, + 84: se, + 85: ae, + 86: fe, + 87: he, + 88: Te, + 89: ke, + 90: Ee, + 91: 128, + 105: Ge, + 109: Je, + 111: We, + 114: Xe, + 115: Ke, + 116: $e, + }, + t(je, a, { 5: 153 }), + t(B, [2, 37]), + t(B, [2, 38]), + t(q, [2, 48], { 44: lt }), + t(q, [2, 49], { 18: 155, 10: D, 40: st }), + t(be, [2, 44]), + { + 44: g, + 47: 157, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + { 102: [1, 158], 103: 159, 105: [1, 160] }, + { + 44: g, + 47: 161, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + { + 44: g, + 47: 162, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + t(qe, [2, 107], { 10: [1, 163], 96: [1, 164] }), + { 80: [1, 165] }, + t(qe, [2, 115], { + 120: 167, + 10: [1, 166], + 14: ee, + 44: Q, + 60: oe, + 89: pe, + 105: j, + 106: H, + 109: X, + 111: W, + 114: K, + 115: ne, + 116: Z, + }), + t(qe, [2, 117], { 10: [1, 168] }), + t(wt, [2, 183]), + t(wt, [2, 170]), + t(wt, [2, 171]), + t(wt, [2, 172]), + t(wt, [2, 173]), + t(wt, [2, 174]), + t(wt, [2, 175]), + t(wt, [2, 176]), + t(wt, [2, 177]), + t(wt, [2, 178]), + t(wt, [2, 179]), + t(wt, [2, 180]), + { + 44: g, + 47: 169, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + { 30: 170, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 178, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 180, 50: [1, 179], 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 181, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 182, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 183, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 109: [1, 184] }, + { 30: 185, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 186, 65: [1, 187], 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 188, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 189, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 30: 190, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + t(re, [2, 182]), + t(i, [2, 20]), + t(Ne, [2, 25]), + t(q, [2, 46], { 39: 191, 18: 192, 10: D, 40: Y }), + t(me, [2, 73], { 10: [1, 193] }), + { 10: [1, 194] }, + { 30: 195, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 77: [1, 196], 79: 197, 116: Fe, 119: _e }, + t(sr, [2, 79]), + t(sr, [2, 81]), + t(sr, [2, 82]), + t(sr, [2, 168]), + t(sr, [2, 169]), + { 76: 198, 79: 120, 80: Ve, 81: Ue, 116: Fe, 119: _e }, + t(Oe, [2, 84]), + { + 8: z, + 9: F, + 10: Ce, + 11: G, + 12: Le, + 14: ze, + 21: 200, + 27: ge, + 29: [1, 199], + 32: Me, + 44: J, + 60: ue, + 75: $, + 83: 140, + 84: se, + 85: ae, + 86: fe, + 87: he, + 88: Te, + 89: ke, + 90: Ee, + 91: 201, + 105: Ge, + 109: Je, + 111: We, + 114: Xe, + 115: Ke, + 116: $e, + }, + t(Lt, [2, 101]), + t(Lt, [2, 103]), + t(Lt, [2, 104]), + t(Lt, [2, 157]), + t(Lt, [2, 158]), + t(Lt, [2, 159]), + t(Lt, [2, 160]), + t(Lt, [2, 161]), + t(Lt, [2, 162]), + t(Lt, [2, 163]), + t(Lt, [2, 164]), + t(Lt, [2, 165]), + t(Lt, [2, 166]), + t(Lt, [2, 167]), + t(Lt, [2, 90]), + t(Lt, [2, 91]), + t(Lt, [2, 92]), + t(Lt, [2, 93]), + t(Lt, [2, 94]), + t(Lt, [2, 95]), + t(Lt, [2, 96]), + t(Lt, [2, 97]), + t(Lt, [2, 98]), + t(Lt, [2, 99]), + t(Lt, [2, 100]), + { + 6: 11, + 7: 12, + 8: s, + 9: o, + 10: l, + 11: u, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: h, + 32: [1, 202], + 33: 24, + 34: d, + 36: f, + 38: p, + 42: 28, + 43: 38, + 44: g, + 45: 39, + 47: 40, + 60: m, + 84: v, + 85: y, + 86: b, + 87: w, + 88: T, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + 121: _, + 122: N, + 123: M, + 124: O, + }, + { 10: D, 18: 203 }, + { 44: [1, 204] }, + t(be, [2, 43]), + { + 10: [1, 205], + 44: g, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 112, + 114: C, + 115: I, + 116: P, + }, + { 10: [1, 206] }, + { 10: [1, 207], 106: [1, 208] }, + t(ur, [2, 128]), + { + 10: [1, 209], + 44: g, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 112, + 114: C, + 115: I, + 116: P, + }, + { + 10: [1, 210], + 44: g, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 112, + 114: C, + 115: I, + 116: P, + }, + { 80: [1, 211] }, + t(qe, [2, 109], { 10: [1, 212] }), + t(qe, [2, 111], { 10: [1, 213] }), + { 80: [1, 214] }, + t(wt, [2, 184]), + { 80: [1, 215], 98: [1, 216] }, + t(be, [2, 55], { + 113: 112, + 44: g, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 114: C, + 115: I, + 116: P, + }), + { 31: [1, 217], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + t(rr, [2, 86]), + t(rr, [2, 88]), + t(rr, [2, 89]), + t(rr, [2, 153]), + t(rr, [2, 154]), + t(rr, [2, 155]), + t(rr, [2, 156]), + { 49: [1, 219], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 30: 220, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 51: [1, 221], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 53: [1, 222], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 55: [1, 223], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 57: [1, 224], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 60: [1, 225] }, + { 64: [1, 226], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 66: [1, 227], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 30: 228, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + { 31: [1, 229], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { 67: Ye, 69: [1, 230], 71: [1, 231], 82: 218, 116: ct, 117: ut, 118: mt }, + { 67: Ye, 69: [1, 233], 71: [1, 232], 82: 218, 116: ct, 117: ut, 118: mt }, + t(q, [2, 45], { 18: 155, 10: D, 40: st }), + t(q, [2, 47], { 44: lt }), + t(me, [2, 75]), + t(me, [2, 74]), + { 62: [1, 234], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + t(me, [2, 77]), + t(sr, [2, 80]), + { 77: [1, 235], 79: 197, 116: Fe, 119: _e }, + { 30: 236, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + t(je, a, { 5: 237 }), + t(Lt, [2, 102]), + t(B, [2, 35]), + { + 43: 238, + 44: g, + 45: 39, + 47: 40, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + { 10: D, 18: 239 }, + { + 10: er, + 60: Ht, + 84: Xr, + 92: 240, + 105: pt, + 107: 241, + 108: 242, + 109: Se, + 110: Qe, + 111: xt, + 112: tr, + }, + { + 10: er, + 60: Ht, + 84: Xr, + 92: 251, + 104: [1, 252], + 105: pt, + 107: 241, + 108: 242, + 109: Se, + 110: Qe, + 111: xt, + 112: tr, + }, + { + 10: er, + 60: Ht, + 84: Xr, + 92: 253, + 104: [1, 254], + 105: pt, + 107: 241, + 108: 242, + 109: Se, + 110: Qe, + 111: xt, + 112: tr, + }, + { 105: [1, 255] }, + { + 10: er, + 60: Ht, + 84: Xr, + 92: 256, + 105: pt, + 107: 241, + 108: 242, + 109: Se, + 110: Qe, + 111: xt, + 112: tr, + }, + { + 44: g, + 47: 257, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + t(qe, [2, 108]), + { 80: [1, 258] }, + { 80: [1, 259], 98: [1, 260] }, + t(qe, [2, 116]), + t(qe, [2, 118], { 10: [1, 261] }), + t(qe, [2, 119]), + t(ce, [2, 56]), + t(rr, [2, 87]), + t(ce, [2, 57]), + { 51: [1, 262], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + t(ce, [2, 64]), + t(ce, [2, 59]), + t(ce, [2, 60]), + t(ce, [2, 61]), + { 109: [1, 263] }, + t(ce, [2, 63]), + t(ce, [2, 65]), + { 66: [1, 264], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + t(ce, [2, 67]), + t(ce, [2, 68]), + t(ce, [2, 70]), + t(ce, [2, 69]), + t(ce, [2, 71]), + t([10, 44, 60, 89, 102, 105, 106, 109, 111, 114, 115, 116], [2, 85]), + t(me, [2, 78]), + { 31: [1, 265], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { + 6: 11, + 7: 12, + 8: s, + 9: o, + 10: l, + 11: u, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: h, + 32: [1, 266], + 33: 24, + 34: d, + 36: f, + 38: p, + 42: 28, + 43: 38, + 44: g, + 45: 39, + 47: 40, + 60: m, + 84: v, + 85: y, + 86: b, + 87: w, + 88: T, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + 121: _, + 122: N, + 123: M, + 124: O, + }, + t(be, [2, 53]), + { + 43: 267, + 44: g, + 45: 39, + 47: 40, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + }, + t(qe, [2, 121], { 106: Ir }), + t(zr, [2, 130], { 108: 269, 10: er, 60: Ht, 84: Xr, 105: pt, 109: Se, 110: Qe, 111: xt, 112: tr }), + t(_r, [2, 132]), + t(_r, [2, 134]), + t(_r, [2, 135]), + t(_r, [2, 136]), + t(_r, [2, 137]), + t(_r, [2, 138]), + t(_r, [2, 139]), + t(_r, [2, 140]), + t(_r, [2, 141]), + t(qe, [2, 122], { 106: Ir }), + { 10: [1, 270] }, + t(qe, [2, 123], { 106: Ir }), + { 10: [1, 271] }, + t(ur, [2, 129]), + t(qe, [2, 105], { 106: Ir }), + t(qe, [2, 106], { + 113: 112, + 44: g, + 60: m, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 114: C, + 115: I, + 116: P, + }), + t(qe, [2, 110]), + t(qe, [2, 112], { 10: [1, 272] }), + t(qe, [2, 113]), + { 98: [1, 273] }, + { 51: [1, 274] }, + { 62: [1, 275] }, + { 66: [1, 276] }, + { 8: z, 9: F, 11: G, 21: 277 }, + t(B, [2, 34]), + t(be, [2, 52]), + { 10: er, 60: Ht, 84: Xr, 105: pt, 107: 278, 108: 242, 109: Se, 110: Qe, 111: xt, 112: tr }, + t(_r, [2, 133]), + { + 14: ee, + 44: Q, + 60: oe, + 89: pe, + 101: 279, + 105: j, + 106: H, + 109: X, + 111: W, + 114: K, + 115: ne, + 116: Z, + 120: 87, + }, + { + 14: ee, + 44: Q, + 60: oe, + 89: pe, + 101: 280, + 105: j, + 106: H, + 109: X, + 111: W, + 114: K, + 115: ne, + 116: Z, + 120: 87, + }, + { 98: [1, 281] }, + t(qe, [2, 120]), + t(ce, [2, 58]), + { 30: 282, 67: Ye, 80: Ze, 81: dt, 82: 171, 116: ct, 117: ut, 118: mt }, + t(ce, [2, 66]), + t(je, a, { 5: 283 }), + t(zr, [2, 131], { 108: 269, 10: er, 60: Ht, 84: Xr, 105: pt, 109: Se, 110: Qe, 111: xt, 112: tr }), + t(qe, [2, 126], { + 120: 167, + 10: [1, 284], + 14: ee, + 44: Q, + 60: oe, + 89: pe, + 105: j, + 106: H, + 109: X, + 111: W, + 114: K, + 115: ne, + 116: Z, + }), + t(qe, [2, 127], { + 120: 167, + 10: [1, 285], + 14: ee, + 44: Q, + 60: oe, + 89: pe, + 105: j, + 106: H, + 109: X, + 111: W, + 114: K, + 115: ne, + 116: Z, + }), + t(qe, [2, 114]), + { 31: [1, 286], 67: Ye, 82: 218, 116: ct, 117: ut, 118: mt }, + { + 6: 11, + 7: 12, + 8: s, + 9: o, + 10: l, + 11: u, + 20: 17, + 22: 18, + 23: 19, + 24: 20, + 25: 21, + 26: 22, + 27: h, + 32: [1, 287], + 33: 24, + 34: d, + 36: f, + 38: p, + 42: 28, + 43: 38, + 44: g, + 45: 39, + 47: 40, + 60: m, + 84: v, + 85: y, + 86: b, + 87: w, + 88: T, + 89: E, + 102: S, + 105: k, + 106: L, + 109: A, + 111: R, + 113: 41, + 114: C, + 115: I, + 116: P, + 121: _, + 122: N, + 123: M, + 124: O, + }, + { + 10: er, + 60: Ht, + 84: Xr, + 92: 288, + 105: pt, + 107: 241, + 108: 242, + 109: Se, + 110: Qe, + 111: xt, + 112: tr, + }, + { + 10: er, + 60: Ht, + 84: Xr, + 92: 289, + 105: pt, + 107: 241, + 108: 242, + 109: Se, + 110: Qe, + 111: xt, + 112: tr, + }, + t(ce, [2, 62]), + t(B, [2, 33]), + t(qe, [2, 124], { 106: Ir }), + t(qe, [2, 125], { 106: Ir }), + ], + defaultActions: {}, + parseError: x(function (Ct, Tt) { + if (Tt.recoverable) this.trace(Ct) + else { + var ot = new Error(Ct) + throw ((ot.hash = Tt), ot) + } + }, "parseError"), + parse: x(function (Ct) { + var Tt = this, + ot = [0], + He = [], + ar = [null], + de = [], + ss = this.table, + ve = "", + sn = 0, + qS = 0, + UH = 2, + WS = 1, + qH = de.slice.call(arguments, 1), + Hn = Object.create(this.lexer), + ic = { yy: {} } + for (var jx in this.yy) + Object.prototype.hasOwnProperty.call(this.yy, jx) && (ic.yy[jx] = this.yy[jx]) + Hn.setInput(Ct, ic.yy), + (ic.yy.lexer = Hn), + (ic.yy.parser = this), + typeof Hn.yylloc > "u" && (Hn.yylloc = {}) + var Kx = Hn.yylloc + de.push(Kx) + var WH = Hn.options && Hn.options.ranges + typeof ic.yy.parseError == "function" + ? (this.parseError = ic.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function HH(ya) { + ;(ot.length = ot.length - 2 * ya), (ar.length = ar.length - ya), (de.length = de.length - ya) + } + x(HH, "popStack") + function HS() { + var ya + return ( + (ya = He.pop() || Hn.lex() || WS), + typeof ya != "number" && + (ya instanceof Array && ((He = ya), (ya = He.pop())), (ya = Tt.symbols_[ya] || ya)), + ya + ) + } + x(HS, "lex") + for (var ji, ac, Ma, Zx, Pu = {}, Qg, fo, YS, Jg; ; ) { + if ( + ((ac = ot[ot.length - 1]), + this.defaultActions[ac] + ? (Ma = this.defaultActions[ac]) + : ((ji === null || typeof ji > "u") && (ji = HS()), (Ma = ss[ac] && ss[ac][ji])), + typeof Ma > "u" || !Ma.length || !Ma[0]) + ) { + var Qx = "" + Jg = [] + for (Qg in ss[ac]) + this.terminals_[Qg] && Qg > UH && Jg.push("'" + this.terminals_[Qg] + "'") + Hn.showPosition + ? (Qx = + "Parse error on line " + + (sn + 1) + + `: +` + + Hn.showPosition() + + ` +Expecting ` + + Jg.join(", ") + + ", got '" + + (this.terminals_[ji] || ji) + + "'") + : (Qx = + "Parse error on line " + + (sn + 1) + + ": Unexpected " + + (ji == WS ? "end of input" : "'" + (this.terminals_[ji] || ji) + "'")), + this.parseError(Qx, { + text: Hn.match, + token: this.terminals_[ji] || ji, + line: Hn.yylineno, + loc: Kx, + expected: Jg, + }) + } + if (Ma[0] instanceof Array && Ma.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + ac + ", token: " + ji) + switch (Ma[0]) { + case 1: + ot.push(ji), + ar.push(Hn.yytext), + de.push(Hn.yylloc), + ot.push(Ma[1]), + (ji = null), + (qS = Hn.yyleng), + (ve = Hn.yytext), + (sn = Hn.yylineno), + (Kx = Hn.yylloc) + break + case 2: + if ( + ((fo = this.productions_[Ma[1]][1]), + (Pu.$ = ar[ar.length - fo]), + (Pu._$ = { + first_line: de[de.length - (fo || 1)].first_line, + last_line: de[de.length - 1].last_line, + first_column: de[de.length - (fo || 1)].first_column, + last_column: de[de.length - 1].last_column, + }), + WH && + (Pu._$.range = [ + de[de.length - (fo || 1)].range[0], + de[de.length - 1].range[1], + ]), + (Zx = this.performAction.apply(Pu, [ve, qS, sn, ic.yy, Ma[1], ar, de].concat(qH))), + typeof Zx < "u") + ) + return Zx + fo && + ((ot = ot.slice(0, -1 * fo * 2)), + (ar = ar.slice(0, -1 * fo)), + (de = de.slice(0, -1 * fo))), + ot.push(this.productions_[Ma[1]][0]), + ar.push(Pu.$), + de.push(Pu._$), + (YS = ss[ot[ot.length - 2]][ot[ot.length - 1]]), + ot.push(YS) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + mi = (function () { + var xn = { + EOF: 1, + parseError: x(function (Tt, ot) { + if (this.yy.parser) this.yy.parser.parseError(Tt, ot) + else throw new Error(Tt) + }, "parseError"), + setInput: x(function (Ct, Tt) { + return ( + (this.yy = Tt || this.yy || {}), + (this._input = Ct), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var Ct = this._input[0] + ;(this.yytext += Ct), this.yyleng++, this.offset++, (this.match += Ct), (this.matched += Ct) + var Tt = Ct.match(/(?:\r\n?|\n).*/g) + return ( + Tt ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + Ct + ) + }, "input"), + unput: x(function (Ct) { + var Tt = Ct.length, + ot = Ct.split(/(?:\r\n?|\n)/g) + ;(this._input = Ct + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - Tt)), + (this.offset -= Tt) + var He = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + ot.length - 1 && (this.yylineno -= ot.length - 1) + var ar = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: ot + ? (ot.length === He.length ? this.yylloc.first_column : 0) + + He[He.length - ot.length].length - + ot[0].length + : this.yylloc.first_column - Tt, + }), + this.options.ranges && (this.yylloc.range = [ar[0], ar[0] + this.yyleng - Tt]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (Ct) { + this.unput(this.match.slice(Ct)) + }, "less"), + pastInput: x(function () { + var Ct = this.matched.substr(0, this.matched.length - this.match.length) + return (Ct.length > 20 ? "..." : "") + Ct.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var Ct = this.match + return ( + Ct.length < 20 && (Ct += this._input.substr(0, 20 - Ct.length)), + (Ct.substr(0, 20) + (Ct.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var Ct = this.pastInput(), + Tt = new Array(Ct.length + 1).join("-") + return ( + Ct + + this.upcomingInput() + + ` +` + + Tt + + "^" + ) + }, "showPosition"), + test_match: x(function (Ct, Tt) { + var ot, He, ar + if ( + (this.options.backtrack_lexer && + ((ar = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (ar.yylloc.range = this.yylloc.range.slice(0))), + (He = Ct[0].match(/(?:\r\n?|\n).*/g)), + He && (this.yylineno += He.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: He + ? He[He.length - 1].length - He[He.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + Ct[0].length, + }), + (this.yytext += Ct[0]), + (this.match += Ct[0]), + (this.matches = Ct), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(Ct[0].length)), + (this.matched += Ct[0]), + (ot = this.performAction.call( + this, + this.yy, + this, + Tt, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + ot) + ) + return ot + if (this._backtrack) { + for (var de in ar) this[de] = ar[de] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var Ct, Tt, ot, He + this._more || ((this.yytext = ""), (this.match = "")) + for (var ar = this._currentRules(), de = 0; de < ar.length; de++) + if ( + ((ot = this._input.match(this.rules[ar[de]])), + ot && (!Tt || ot[0].length > Tt[0].length)) + ) { + if (((Tt = ot), (He = de), this.options.backtrack_lexer)) { + if (((Ct = this.test_match(ot, ar[de])), Ct !== !1)) return Ct + if (this._backtrack) { + Tt = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return Tt + ? ((Ct = this.test_match(Tt, ar[He])), Ct !== !1 ? Ct : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var Tt = this.next() + return Tt || this.lex() + }, "lex"), + begin: x(function (Tt) { + this.conditionStack.push(Tt) + }, "begin"), + popState: x(function () { + var Tt = this.conditionStack.length - 1 + return Tt > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (Tt) { + return ( + (Tt = this.conditionStack.length - 1 - Math.abs(Tt || 0)), + Tt >= 0 ? this.conditionStack[Tt] : "INITIAL" + ) + }, "topState"), + pushState: x(function (Tt) { + this.begin(Tt) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: {}, + performAction: x(function (Tt, ot, He, ar) { + switch (He) { + case 0: + return this.begin("acc_title"), 34 + case 1: + return this.popState(), "acc_title_value" + case 2: + return this.begin("acc_descr"), 36 + case 3: + return this.popState(), "acc_descr_value" + case 4: + this.begin("acc_descr_multiline") + break + case 5: + this.popState() + break + case 6: + return "acc_descr_multiline_value" + case 7: + return this.pushState("shapeData"), (ot.yytext = ""), 40 + case 8: + return this.pushState("shapeDataStr"), 40 + case 9: + return this.popState(), 40 + case 10: + const de = /\n\s*/g + return (ot.yytext = ot.yytext.replace(de, "<br/>")), 40 + case 11: + return 40 + case 12: + this.popState() + break + case 13: + this.begin("callbackname") + break + case 14: + this.popState() + break + case 15: + this.popState(), this.begin("callbackargs") + break + case 16: + return 95 + case 17: + this.popState() + break + case 18: + return 96 + case 19: + return "MD_STR" + case 20: + this.popState() + break + case 21: + this.begin("md_string") + break + case 22: + return "STR" + case 23: + this.popState() + break + case 24: + this.pushState("string") + break + case 25: + return 84 + case 26: + return 102 + case 27: + return 85 + case 28: + return 104 + case 29: + return 86 + case 30: + return 87 + case 31: + return 97 + case 32: + this.begin("click") + break + case 33: + this.popState() + break + case 34: + return 88 + case 35: + return Tt.lex.firstGraph() && this.begin("dir"), 12 + case 36: + return Tt.lex.firstGraph() && this.begin("dir"), 12 + case 37: + return Tt.lex.firstGraph() && this.begin("dir"), 12 + case 38: + return 27 + case 39: + return 32 + case 40: + return 98 + case 41: + return 98 + case 42: + return 98 + case 43: + return 98 + case 44: + return this.popState(), 13 + case 45: + return this.popState(), 14 + case 46: + return this.popState(), 14 + case 47: + return this.popState(), 14 + case 48: + return this.popState(), 14 + case 49: + return this.popState(), 14 + case 50: + return this.popState(), 14 + case 51: + return this.popState(), 14 + case 52: + return this.popState(), 14 + case 53: + return this.popState(), 14 + case 54: + return this.popState(), 14 + case 55: + return 121 + case 56: + return 122 + case 57: + return 123 + case 58: + return 124 + case 59: + return 78 + case 60: + return 105 + case 61: + return 111 + case 62: + return 46 + case 63: + return 60 + case 64: + return 44 + case 65: + return 8 + case 66: + return 106 + case 67: + return 115 + case 68: + return this.popState(), 77 + case 69: + return this.pushState("edgeText"), 75 + case 70: + return 119 + case 71: + return this.popState(), 77 + case 72: + return this.pushState("thickEdgeText"), 75 + case 73: + return 119 + case 74: + return this.popState(), 77 + case 75: + return this.pushState("dottedEdgeText"), 75 + case 76: + return 119 + case 77: + return 77 + case 78: + return this.popState(), 53 + case 79: + return "TEXT" + case 80: + return this.pushState("ellipseText"), 52 + case 81: + return this.popState(), 55 + case 82: + return this.pushState("text"), 54 + case 83: + return this.popState(), 57 + case 84: + return this.pushState("text"), 56 + case 85: + return 58 + case 86: + return this.pushState("text"), 67 + case 87: + return this.popState(), 64 + case 88: + return this.pushState("text"), 63 + case 89: + return this.popState(), 49 + case 90: + return this.pushState("text"), 48 + case 91: + return this.popState(), 69 + case 92: + return this.popState(), 71 + case 93: + return 117 + case 94: + return this.pushState("trapText"), 68 + case 95: + return this.pushState("trapText"), 70 + case 96: + return 118 + case 97: + return 67 + case 98: + return 90 + case 99: + return "SEP" + case 100: + return 89 + case 101: + return 115 + case 102: + return 111 + case 103: + return 44 + case 104: + return 109 + case 105: + return 114 + case 106: + return 116 + case 107: + return this.popState(), 62 + case 108: + return this.pushState("text"), 62 + case 109: + return this.popState(), 51 + case 110: + return this.pushState("text"), 50 + case 111: + return this.popState(), 31 + case 112: + return this.pushState("text"), 29 + case 113: + return this.popState(), 66 + case 114: + return this.pushState("text"), 65 + case 115: + return "TEXT" + case 116: + return "QUOTE" + case 117: + return 9 + case 118: + return 10 + case 119: + return 11 + } + }, "anonymous"), + rules: [ + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:@\{)/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^\"]+)/, + /^(?:[^}^"]+)/, + /^(?:\})/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["][`])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:["])/, + /^(?:style\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\b)/, + /^(?:class\b)/, + /^(?:href[\s])/, + /^(?:click[\s]+)/, + /^(?:[\s\n])/, + /^(?:[^\s\n]*)/, + /^(?:flowchart-elk\b)/, + /^(?:graph\b)/, + /^(?:flowchart\b)/, + /^(?:subgraph\b)/, + /^(?:end\b\s*)/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:(\r?\n)*\s*\n)/, + /^(?:\s*LR\b)/, + /^(?:\s*RL\b)/, + /^(?:\s*TB\b)/, + /^(?:\s*BT\b)/, + /^(?:\s*TD\b)/, + /^(?:\s*BR\b)/, + /^(?:\s*<)/, + /^(?:\s*>)/, + /^(?:\s*\^)/, + /^(?:\s*v\b)/, + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:[^\s\"]+@(?=[^\{\"]))/, + /^(?:[0-9]+)/, + /^(?:#)/, + /^(?::::)/, + /^(?::)/, + /^(?:&)/, + /^(?:;)/, + /^(?:,)/, + /^(?:\*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:[^-]|-(?!-)+)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:[^=]|=(?!))/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:[^\.]|\.(?!))/, + /^(?:\s*~~[\~]+\s*)/, + /^(?:[-/\)][\)])/, + /^(?:[^\(\)\[\]\{\}]|!\)+)/, + /^(?:\(-)/, + /^(?:\]\))/, + /^(?:\(\[)/, + /^(?:\]\])/, + /^(?:\[\[)/, + /^(?:\[\|)/, + /^(?:>)/, + /^(?:\)\])/, + /^(?:\[\()/, + /^(?:\)\)\))/, + /^(?:\(\(\()/, + /^(?:[\\(?=\])][\]])/, + /^(?:\/(?=\])\])/, + /^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/, + /^(?:\[\/)/, + /^(?:\[\\)/, + /^(?:<)/, + /^(?:>)/, + /^(?:\^)/, + /^(?:\\\|)/, + /^(?:v\b)/, + /^(?:\*)/, + /^(?:#)/, + /^(?:&)/, + /^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/, + /^(?:-)/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\|)/, + /^(?:\|)/, + /^(?:\))/, + /^(?:\()/, + /^(?:\])/, + /^(?:\[)/, + /^(?:(\}))/, + /^(?:\{)/, + /^(?:[^\[\]\(\)\{\}\|\"]+)/, + /^(?:")/, + /^(?:(\r?\n)+)/, + /^(?:\s)/, + /^(?:$)/, + ], + conditions: { + shapeDataEndBracket: { + rules: [21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + shapeDataStr: { + rules: [9, 10, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + shapeData: { + rules: [8, 11, 12, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + callbackargs: { + rules: [17, 18, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + callbackname: { + rules: [14, 15, 16, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + href: { rules: [21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], inclusive: !1 }, + click: { + rules: [21, 24, 33, 34, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + dottedEdgeText: { + rules: [21, 24, 74, 76, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + thickEdgeText: { + rules: [21, 24, 71, 73, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + edgeText: { + rules: [21, 24, 68, 70, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + trapText: { + rules: [21, 24, 77, 80, 82, 84, 88, 90, 91, 92, 93, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + ellipseText: { + rules: [21, 24, 77, 78, 79, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + text: { + rules: [ + 21, 24, 77, 80, 81, 82, 83, 84, 87, 88, 89, 90, 94, 95, 107, 108, 109, 110, 111, 112, + 113, 114, 115, + ], + inclusive: !1, + }, + vertex: { rules: [21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], inclusive: !1 }, + dir: { + rules: [ + 21, 24, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 77, 80, 82, 84, 88, 90, 94, 95, 108, + 110, 112, 114, + ], + inclusive: !1, + }, + acc_descr_multiline: { + rules: [5, 6, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + acc_descr: { + rules: [3, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + acc_title: { + rules: [1, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + md_string: { + rules: [19, 20, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + string: { + rules: [21, 22, 23, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], + inclusive: !1, + }, + INITIAL: { + rules: [ + 0, 2, 4, 7, 13, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 74, 75, 77, 80, + 82, 84, 85, 86, 88, 90, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, + 110, 112, 114, 116, 117, 118, 119, + ], + inclusive: !0, + }, + }, + } + return xn + })() + yn.lexer = mi + function Br() { + this.yy = {} + } + return x(Br, "Parser"), (Br.prototype = yn), (yn.Parser = Br), new Br() + })() +Tw.parser = Tw +var Oz = Tw, + Pz = Object.assign({}, Oz) +Pz.parse = (t) => { + const e = t.replace( + /}\s*\n/g, + `} +`, + ) + return Oz.parse(e) +} +var $1e = Pz, + z1e = x((t, e) => { + const r = _T, + n = r(t, "r"), + i = r(t, "g"), + a = r(t, "b") + return Tl(n, i, a, e) + }, "fade"), + V1e = x( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${t.lineColor} !important; + stroke-width: 0; + stroke: ${t.lineColor}; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${z1e(t.edgeLabelBackground, 0.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + padding: 2px; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } +`, + "getStyles", + ), + G1e = V1e, + U1e = { + parser: $1e, + get db() { + return new O1e() + }, + renderer: F1e, + styles: G1e, + init: x((t) => { + t.flowchart || (t.flowchart = {}), + t.layout && b3({ layout: t.layout }), + (t.flowchart.arrowMarkerAbsolute = t.arrowMarkerAbsolute), + b3({ flowchart: { arrowMarkerAbsolute: t.arrowMarkerAbsolute } }) + }, "init"), + } +const ak = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: U1e }, Symbol.toStringTag, { value: "Module" }), +) +var Ew = (function () { + var t = x(function (W, K, ne, Z) { + for (ne = ne || {}, Z = W.length; Z--; ne[W[Z]] = K); + return ne + }, "o"), + e = [6, 8, 10, 22, 24, 26, 28, 33, 34, 35, 36, 37, 40, 43, 44, 50], + r = [1, 10], + n = [1, 11], + i = [1, 12], + a = [1, 13], + s = [1, 20], + o = [1, 21], + l = [1, 22], + u = [1, 23], + h = [1, 24], + d = [1, 19], + f = [1, 25], + p = [1, 26], + g = [1, 18], + m = [1, 33], + v = [1, 34], + y = [1, 35], + b = [1, 36], + w = [1, 37], + T = [6, 8, 10, 13, 15, 17, 20, 21, 22, 24, 26, 28, 33, 34, 35, 36, 37, 40, 43, 44, 50, 63, 64, 65, 66, 67], + E = [1, 42], + S = [1, 43], + k = [1, 52], + L = [40, 50, 68, 69], + A = [1, 63], + R = [1, 61], + C = [1, 58], + I = [1, 62], + P = [1, 64], + _ = [6, 8, 10, 13, 17, 22, 24, 26, 28, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 48, 49, 50, 63, 64, 65, 66, 67], + N = [63, 64, 65, 66, 67], + M = [1, 81], + O = [1, 80], + D = [1, 78], + B = [1, 79], + z = [6, 10, 42, 47], + F = [6, 10, 13, 41, 42, 47, 48, 49], + G = [1, 89], + q = [1, 88], + Y = [1, 87], + ee = [19, 56], + Q = [1, 98], + oe = [1, 97], + pe = [19, 56, 58, 60], + j = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + ER_DIAGRAM: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + entityName: 11, + relSpec: 12, + COLON: 13, + role: 14, + STYLE_SEPARATOR: 15, + idList: 16, + BLOCK_START: 17, + attributes: 18, + BLOCK_STOP: 19, + SQS: 20, + SQE: 21, + title: 22, + title_value: 23, + acc_title: 24, + acc_title_value: 25, + acc_descr: 26, + acc_descr_value: 27, + acc_descr_multiline_value: 28, + direction: 29, + classDefStatement: 30, + classStatement: 31, + styleStatement: 32, + direction_tb: 33, + direction_bt: 34, + direction_rl: 35, + direction_lr: 36, + CLASSDEF: 37, + stylesOpt: 38, + separator: 39, + UNICODE_TEXT: 40, + STYLE_TEXT: 41, + COMMA: 42, + CLASS: 43, + STYLE: 44, + style: 45, + styleComponent: 46, + SEMI: 47, + NUM: 48, + BRKT: 49, + ENTITY_NAME: 50, + attribute: 51, + attributeType: 52, + attributeName: 53, + attributeKeyTypeList: 54, + attributeComment: 55, + ATTRIBUTE_WORD: 56, + attributeKeyType: 57, + ",": 58, + ATTRIBUTE_KEY: 59, + COMMENT: 60, + cardinality: 61, + relType: 62, + ZERO_OR_ONE: 63, + ZERO_OR_MORE: 64, + ONE_OR_MORE: 65, + ONLY_ONE: 66, + MD_PARENT: 67, + NON_IDENTIFYING: 68, + IDENTIFYING: 69, + WORD: 70, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "ER_DIAGRAM", + 6: "EOF", + 8: "SPACE", + 10: "NEWLINE", + 13: "COLON", + 15: "STYLE_SEPARATOR", + 17: "BLOCK_START", + 19: "BLOCK_STOP", + 20: "SQS", + 21: "SQE", + 22: "title", + 23: "title_value", + 24: "acc_title", + 25: "acc_title_value", + 26: "acc_descr", + 27: "acc_descr_value", + 28: "acc_descr_multiline_value", + 33: "direction_tb", + 34: "direction_bt", + 35: "direction_rl", + 36: "direction_lr", + 37: "CLASSDEF", + 40: "UNICODE_TEXT", + 41: "STYLE_TEXT", + 42: "COMMA", + 43: "CLASS", + 44: "STYLE", + 47: "SEMI", + 48: "NUM", + 49: "BRKT", + 50: "ENTITY_NAME", + 56: "ATTRIBUTE_WORD", + 58: ",", + 59: "ATTRIBUTE_KEY", + 60: "COMMENT", + 63: "ZERO_OR_ONE", + 64: "ZERO_OR_MORE", + 65: "ONE_OR_MORE", + 66: "ONLY_ONE", + 67: "MD_PARENT", + 68: "NON_IDENTIFYING", + 69: "IDENTIFYING", + 70: "WORD", + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 5], + [9, 9], + [9, 7], + [9, 7], + [9, 4], + [9, 6], + [9, 3], + [9, 5], + [9, 1], + [9, 3], + [9, 7], + [9, 9], + [9, 6], + [9, 8], + [9, 4], + [9, 6], + [9, 2], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [29, 1], + [29, 1], + [29, 1], + [29, 1], + [30, 4], + [16, 1], + [16, 1], + [16, 3], + [16, 3], + [31, 3], + [32, 4], + [38, 1], + [38, 3], + [45, 1], + [45, 2], + [39, 1], + [39, 1], + [39, 1], + [46, 1], + [46, 1], + [46, 1], + [46, 1], + [11, 1], + [11, 1], + [18, 1], + [18, 2], + [51, 2], + [51, 3], + [51, 3], + [51, 4], + [52, 1], + [53, 1], + [54, 1], + [54, 3], + [57, 1], + [55, 1], + [12, 3], + [61, 1], + [61, 1], + [61, 1], + [61, 1], + [61, 1], + [62, 1], + [62, 1], + [14, 1], + [14, 1], + [14, 1], + ], + performAction: x(function (K, ne, Z, be, ce, re, Ne) { + var me = re.length - 1 + switch (ce) { + case 1: + break + case 2: + this.$ = [] + break + case 3: + re[me - 1].push(re[me]), (this.$ = re[me - 1]) + break + case 4: + case 5: + this.$ = re[me] + break + case 6: + case 7: + this.$ = [] + break + case 8: + be.addEntity(re[me - 4]), + be.addEntity(re[me - 2]), + be.addRelationship(re[me - 4], re[me], re[me - 2], re[me - 3]) + break + case 9: + be.addEntity(re[me - 8]), + be.addEntity(re[me - 4]), + be.addRelationship(re[me - 8], re[me], re[me - 4], re[me - 5]), + be.setClass([re[me - 8]], re[me - 6]), + be.setClass([re[me - 4]], re[me - 2]) + break + case 10: + be.addEntity(re[me - 6]), + be.addEntity(re[me - 2]), + be.addRelationship(re[me - 6], re[me], re[me - 2], re[me - 3]), + be.setClass([re[me - 6]], re[me - 4]) + break + case 11: + be.addEntity(re[me - 6]), + be.addEntity(re[me - 4]), + be.addRelationship(re[me - 6], re[me], re[me - 4], re[me - 5]), + be.setClass([re[me - 4]], re[me - 2]) + break + case 12: + be.addEntity(re[me - 3]), be.addAttributes(re[me - 3], re[me - 1]) + break + case 13: + be.addEntity(re[me - 5]), + be.addAttributes(re[me - 5], re[me - 1]), + be.setClass([re[me - 5]], re[me - 3]) + break + case 14: + be.addEntity(re[me - 2]) + break + case 15: + be.addEntity(re[me - 4]), be.setClass([re[me - 4]], re[me - 2]) + break + case 16: + be.addEntity(re[me]) + break + case 17: + be.addEntity(re[me - 2]), be.setClass([re[me - 2]], re[me]) + break + case 18: + be.addEntity(re[me - 6], re[me - 4]), be.addAttributes(re[me - 6], re[me - 1]) + break + case 19: + be.addEntity(re[me - 8], re[me - 6]), + be.addAttributes(re[me - 8], re[me - 1]), + be.setClass([re[me - 8]], re[me - 3]) + break + case 20: + be.addEntity(re[me - 5], re[me - 3]) + break + case 21: + be.addEntity(re[me - 7], re[me - 5]), be.setClass([re[me - 7]], re[me - 2]) + break + case 22: + be.addEntity(re[me - 3], re[me - 1]) + break + case 23: + be.addEntity(re[me - 5], re[me - 3]), be.setClass([re[me - 5]], re[me]) + break + case 24: + case 25: + ;(this.$ = re[me].trim()), be.setAccTitle(this.$) + break + case 26: + case 27: + ;(this.$ = re[me].trim()), be.setAccDescription(this.$) + break + case 32: + be.setDirection("TB") + break + case 33: + be.setDirection("BT") + break + case 34: + be.setDirection("RL") + break + case 35: + be.setDirection("LR") + break + case 36: + ;(this.$ = re[me - 3]), be.addClass(re[me - 2], re[me - 1]) + break + case 37: + case 38: + case 56: + case 64: + this.$ = [re[me]] + break + case 39: + case 40: + this.$ = re[me - 2].concat([re[me]]) + break + case 41: + ;(this.$ = re[me - 2]), be.setClass(re[me - 1], re[me]) + break + case 42: + ;(this.$ = re[me - 3]), be.addCssStyles(re[me - 2], re[me - 1]) + break + case 43: + this.$ = [re[me]] + break + case 44: + re[me - 2].push(re[me]), (this.$ = re[me - 2]) + break + case 46: + this.$ = re[me - 1] + re[me] + break + case 54: + case 76: + case 77: + this.$ = re[me].replace(/"/g, "") + break + case 55: + case 78: + this.$ = re[me] + break + case 57: + re[me].push(re[me - 1]), (this.$ = re[me]) + break + case 58: + this.$ = { type: re[me - 1], name: re[me] } + break + case 59: + this.$ = { type: re[me - 2], name: re[me - 1], keys: re[me] } + break + case 60: + this.$ = { type: re[me - 2], name: re[me - 1], comment: re[me] } + break + case 61: + this.$ = { type: re[me - 3], name: re[me - 2], keys: re[me - 1], comment: re[me] } + break + case 62: + case 63: + case 66: + this.$ = re[me] + break + case 65: + re[me - 2].push(re[me]), (this.$ = re[me - 2]) + break + case 67: + this.$ = re[me].replace(/"/g, "") + break + case 68: + this.$ = { cardA: re[me], relType: re[me - 1], cardB: re[me - 2] } + break + case 69: + this.$ = be.Cardinality.ZERO_OR_ONE + break + case 70: + this.$ = be.Cardinality.ZERO_OR_MORE + break + case 71: + this.$ = be.Cardinality.ONE_OR_MORE + break + case 72: + this.$ = be.Cardinality.ONLY_ONE + break + case 73: + this.$ = be.Cardinality.MD_PARENT + break + case 74: + this.$ = be.Identification.NON_IDENTIFYING + break + case 75: + this.$ = be.Identification.IDENTIFYING + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: 9, + 22: r, + 24: n, + 26: i, + 28: a, + 29: 14, + 30: 15, + 31: 16, + 32: 17, + 33: s, + 34: o, + 35: l, + 36: u, + 37: h, + 40: d, + 43: f, + 44: p, + 50: g, + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { + 9: 27, + 11: 9, + 22: r, + 24: n, + 26: i, + 28: a, + 29: 14, + 30: 15, + 31: 16, + 32: 17, + 33: s, + 34: o, + 35: l, + 36: u, + 37: h, + 40: d, + 43: f, + 44: p, + 50: g, + }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 16], { + 12: 28, + 61: 32, + 15: [1, 29], + 17: [1, 30], + 20: [1, 31], + 63: m, + 64: v, + 65: y, + 66: b, + 67: w, + }), + { 23: [1, 38] }, + { 25: [1, 39] }, + { 27: [1, 40] }, + t(e, [2, 27]), + t(e, [2, 28]), + t(e, [2, 29]), + t(e, [2, 30]), + t(e, [2, 31]), + t(T, [2, 54]), + t(T, [2, 55]), + t(e, [2, 32]), + t(e, [2, 33]), + t(e, [2, 34]), + t(e, [2, 35]), + { 16: 41, 40: E, 41: S }, + { 16: 44, 40: E, 41: S }, + { 16: 45, 40: E, 41: S }, + t(e, [2, 4]), + { 11: 46, 40: d, 50: g }, + { 16: 47, 40: E, 41: S }, + { 18: 48, 19: [1, 49], 51: 50, 52: 51, 56: k }, + { 11: 53, 40: d, 50: g }, + { 62: 54, 68: [1, 55], 69: [1, 56] }, + t(L, [2, 69]), + t(L, [2, 70]), + t(L, [2, 71]), + t(L, [2, 72]), + t(L, [2, 73]), + t(e, [2, 24]), + t(e, [2, 25]), + t(e, [2, 26]), + { 13: A, 38: 57, 41: R, 42: C, 45: 59, 46: 60, 48: I, 49: P }, + t(_, [2, 37]), + t(_, [2, 38]), + { 16: 65, 40: E, 41: S, 42: C }, + { 13: A, 38: 66, 41: R, 42: C, 45: 59, 46: 60, 48: I, 49: P }, + { 13: [1, 67], 15: [1, 68] }, + t(e, [2, 17], { 61: 32, 12: 69, 17: [1, 70], 42: C, 63: m, 64: v, 65: y, 66: b, 67: w }), + { 19: [1, 71] }, + t(e, [2, 14]), + { 18: 72, 19: [2, 56], 51: 50, 52: 51, 56: k }, + { 53: 73, 56: [1, 74] }, + { 56: [2, 62] }, + { 21: [1, 75] }, + { 61: 76, 63: m, 64: v, 65: y, 66: b, 67: w }, + t(N, [2, 74]), + t(N, [2, 75]), + { 6: M, 10: O, 39: 77, 42: D, 47: B }, + { 40: [1, 82], 41: [1, 83] }, + t(z, [2, 43], { 46: 84, 13: A, 41: R, 48: I, 49: P }), + t(F, [2, 45]), + t(F, [2, 50]), + t(F, [2, 51]), + t(F, [2, 52]), + t(F, [2, 53]), + t(e, [2, 41], { 42: C }), + { 6: M, 10: O, 39: 85, 42: D, 47: B }, + { 14: 86, 40: G, 50: q, 70: Y }, + { 16: 90, 40: E, 41: S }, + { 11: 91, 40: d, 50: g }, + { 18: 92, 19: [1, 93], 51: 50, 52: 51, 56: k }, + t(e, [2, 12]), + { 19: [2, 57] }, + t(ee, [2, 58], { 54: 94, 55: 95, 57: 96, 59: Q, 60: oe }), + t([19, 56, 59, 60], [2, 63]), + t(e, [2, 22], { 15: [1, 100], 17: [1, 99] }), + t([40, 50], [2, 68]), + t(e, [2, 36]), + { 13: A, 41: R, 45: 101, 46: 60, 48: I, 49: P }, + t(e, [2, 47]), + t(e, [2, 48]), + t(e, [2, 49]), + t(_, [2, 39]), + t(_, [2, 40]), + t(F, [2, 46]), + t(e, [2, 42]), + t(e, [2, 8]), + t(e, [2, 76]), + t(e, [2, 77]), + t(e, [2, 78]), + { 13: [1, 102], 42: C }, + { 13: [1, 104], 15: [1, 103] }, + { 19: [1, 105] }, + t(e, [2, 15]), + t(ee, [2, 59], { 55: 106, 58: [1, 107], 60: oe }), + t(ee, [2, 60]), + t(pe, [2, 64]), + t(ee, [2, 67]), + t(pe, [2, 66]), + { 18: 108, 19: [1, 109], 51: 50, 52: 51, 56: k }, + { 16: 110, 40: E, 41: S }, + t(z, [2, 44], { 46: 84, 13: A, 41: R, 48: I, 49: P }), + { 14: 111, 40: G, 50: q, 70: Y }, + { 16: 112, 40: E, 41: S }, + { 14: 113, 40: G, 50: q, 70: Y }, + t(e, [2, 13]), + t(ee, [2, 61]), + { 57: 114, 59: Q }, + { 19: [1, 115] }, + t(e, [2, 20]), + t(e, [2, 23], { 17: [1, 116], 42: C }), + t(e, [2, 11]), + { 13: [1, 117], 42: C }, + t(e, [2, 10]), + t(pe, [2, 65]), + t(e, [2, 18]), + { 18: 118, 19: [1, 119], 51: 50, 52: 51, 56: k }, + { 14: 120, 40: G, 50: q, 70: Y }, + { 19: [1, 121] }, + t(e, [2, 21]), + t(e, [2, 9]), + t(e, [2, 19]), + ], + defaultActions: { 52: [2, 62], 72: [2, 57] }, + parseError: x(function (K, ne) { + if (ne.recoverable) this.trace(K) + else { + var Z = new Error(K) + throw ((Z.hash = ne), Z) + } + }, "parseError"), + parse: x(function (K) { + var ne = this, + Z = [0], + be = [], + ce = [null], + re = [], + Ne = this.table, + me = "", + Ve = 0, + Ue = 0, + Fe = 2, + _e = 1, + Oe = re.slice.call(arguments, 1), + Ce = Object.create(this.lexer), + Le = { yy: {} } + for (var ze in this.yy) Object.prototype.hasOwnProperty.call(this.yy, ze) && (Le.yy[ze] = this.yy[ze]) + Ce.setInput(K, Le.yy), + (Le.yy.lexer = Ce), + (Le.yy.parser = this), + typeof Ce.yylloc > "u" && (Ce.yylloc = {}) + var ge = Ce.yylloc + re.push(ge) + var Me = Ce.options && Ce.options.ranges + typeof Le.yy.parseError == "function" + ? (this.parseError = Le.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function J(We) { + ;(Z.length = Z.length - 2 * We), (ce.length = ce.length - We), (re.length = re.length - We) + } + x(J, "popStack") + function ue() { + var We + return ( + (We = be.pop() || Ce.lex() || _e), + typeof We != "number" && + (We instanceof Array && ((be = We), (We = be.pop())), (We = ne.symbols_[We] || We)), + We + ) + } + x(ue, "lex") + for (var $, se, ae, fe, he = {}, Te, ke, Ee, Ge; ; ) { + if ( + ((se = Z[Z.length - 1]), + this.defaultActions[se] + ? (ae = this.defaultActions[se]) + : (($ === null || typeof $ > "u") && ($ = ue()), (ae = Ne[se] && Ne[se][$])), + typeof ae > "u" || !ae.length || !ae[0]) + ) { + var Je = "" + Ge = [] + for (Te in Ne[se]) this.terminals_[Te] && Te > Fe && Ge.push("'" + this.terminals_[Te] + "'") + Ce.showPosition + ? (Je = + "Parse error on line " + + (Ve + 1) + + `: +` + + Ce.showPosition() + + ` +Expecting ` + + Ge.join(", ") + + ", got '" + + (this.terminals_[$] || $) + + "'") + : (Je = + "Parse error on line " + + (Ve + 1) + + ": Unexpected " + + ($ == _e ? "end of input" : "'" + (this.terminals_[$] || $) + "'")), + this.parseError(Je, { + text: Ce.match, + token: this.terminals_[$] || $, + line: Ce.yylineno, + loc: ge, + expected: Ge, + }) + } + if (ae[0] instanceof Array && ae.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + se + ", token: " + $) + switch (ae[0]) { + case 1: + Z.push($), + ce.push(Ce.yytext), + re.push(Ce.yylloc), + Z.push(ae[1]), + ($ = null), + (Ue = Ce.yyleng), + (me = Ce.yytext), + (Ve = Ce.yylineno), + (ge = Ce.yylloc) + break + case 2: + if ( + ((ke = this.productions_[ae[1]][1]), + (he.$ = ce[ce.length - ke]), + (he._$ = { + first_line: re[re.length - (ke || 1)].first_line, + last_line: re[re.length - 1].last_line, + first_column: re[re.length - (ke || 1)].first_column, + last_column: re[re.length - 1].last_column, + }), + Me && (he._$.range = [re[re.length - (ke || 1)].range[0], re[re.length - 1].range[1]]), + (fe = this.performAction.apply(he, [me, Ue, Ve, Le.yy, ae[1], ce, re].concat(Oe))), + typeof fe < "u") + ) + return fe + ke && + ((Z = Z.slice(0, -1 * ke * 2)), + (ce = ce.slice(0, -1 * ke)), + (re = re.slice(0, -1 * ke))), + Z.push(this.productions_[ae[1]][0]), + ce.push(he.$), + re.push(he._$), + (Ee = Ne[Z[Z.length - 2]][Z[Z.length - 1]]), + Z.push(Ee) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + H = (function () { + var W = { + EOF: 1, + parseError: x(function (ne, Z) { + if (this.yy.parser) this.yy.parser.parseError(ne, Z) + else throw new Error(ne) + }, "parseError"), + setInput: x(function (K, ne) { + return ( + (this.yy = ne || this.yy || {}), + (this._input = K), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var K = this._input[0] + ;(this.yytext += K), this.yyleng++, this.offset++, (this.match += K), (this.matched += K) + var ne = K.match(/(?:\r\n?|\n).*/g) + return ( + ne ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + K + ) + }, "input"), + unput: x(function (K) { + var ne = K.length, + Z = K.split(/(?:\r\n?|\n)/g) + ;(this._input = K + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - ne)), + (this.offset -= ne) + var be = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + Z.length - 1 && (this.yylineno -= Z.length - 1) + var ce = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: Z + ? (Z.length === be.length ? this.yylloc.first_column : 0) + + be[be.length - Z.length].length - + Z[0].length + : this.yylloc.first_column - ne, + }), + this.options.ranges && (this.yylloc.range = [ce[0], ce[0] + this.yyleng - ne]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (K) { + this.unput(this.match.slice(K)) + }, "less"), + pastInput: x(function () { + var K = this.matched.substr(0, this.matched.length - this.match.length) + return (K.length > 20 ? "..." : "") + K.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var K = this.match + return ( + K.length < 20 && (K += this._input.substr(0, 20 - K.length)), + (K.substr(0, 20) + (K.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var K = this.pastInput(), + ne = new Array(K.length + 1).join("-") + return ( + K + + this.upcomingInput() + + ` +` + + ne + + "^" + ) + }, "showPosition"), + test_match: x(function (K, ne) { + var Z, be, ce + if ( + (this.options.backtrack_lexer && + ((ce = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (ce.yylloc.range = this.yylloc.range.slice(0))), + (be = K[0].match(/(?:\r\n?|\n).*/g)), + be && (this.yylineno += be.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: be + ? be[be.length - 1].length - be[be.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + K[0].length, + }), + (this.yytext += K[0]), + (this.match += K[0]), + (this.matches = K), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(K[0].length)), + (this.matched += K[0]), + (Z = this.performAction.call( + this, + this.yy, + this, + ne, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + Z) + ) + return Z + if (this._backtrack) { + for (var re in ce) this[re] = ce[re] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var K, ne, Z, be + this._more || ((this.yytext = ""), (this.match = "")) + for (var ce = this._currentRules(), re = 0; re < ce.length; re++) + if (((Z = this._input.match(this.rules[ce[re]])), Z && (!ne || Z[0].length > ne[0].length))) { + if (((ne = Z), (be = re), this.options.backtrack_lexer)) { + if (((K = this.test_match(Z, ce[re])), K !== !1)) return K + if (this._backtrack) { + ne = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return ne + ? ((K = this.test_match(ne, ce[be])), K !== !1 ? K : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var ne = this.next() + return ne || this.lex() + }, "lex"), + begin: x(function (ne) { + this.conditionStack.push(ne) + }, "begin"), + popState: x(function () { + var ne = this.conditionStack.length - 1 + return ne > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (ne) { + return ( + (ne = this.conditionStack.length - 1 - Math.abs(ne || 0)), + ne >= 0 ? this.conditionStack[ne] : "INITIAL" + ) + }, "topState"), + pushState: x(function (ne) { + this.begin(ne) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (ne, Z, be, ce) { + switch (be) { + case 0: + return this.begin("acc_title"), 24 + case 1: + return this.popState(), "acc_title_value" + case 2: + return this.begin("acc_descr"), 26 + case 3: + return this.popState(), "acc_descr_value" + case 4: + this.begin("acc_descr_multiline") + break + case 5: + this.popState() + break + case 6: + return "acc_descr_multiline_value" + case 7: + return 33 + case 8: + return 34 + case 9: + return 35 + case 10: + return 36 + case 11: + return 10 + case 12: + break + case 13: + return 8 + case 14: + return 50 + case 15: + return 70 + case 16: + return 4 + case 17: + return this.begin("block"), 17 + case 18: + return 49 + case 19: + return 49 + case 20: + return 42 + case 21: + return 15 + case 22: + return 13 + case 23: + break + case 24: + return 59 + case 25: + return 56 + case 26: + return 56 + case 27: + return 60 + case 28: + break + case 29: + return this.popState(), 19 + case 30: + return Z.yytext[0] + case 31: + return 20 + case 32: + return 21 + case 33: + return this.begin("style"), 44 + case 34: + return this.popState(), 10 + case 35: + break + case 36: + return 13 + case 37: + return 42 + case 38: + return 49 + case 39: + return this.begin("style"), 37 + case 40: + return 43 + case 41: + return 63 + case 42: + return 65 + case 43: + return 65 + case 44: + return 65 + case 45: + return 63 + case 46: + return 63 + case 47: + return 64 + case 48: + return 64 + case 49: + return 64 + case 50: + return 64 + case 51: + return 64 + case 52: + return 65 + case 53: + return 64 + case 54: + return 65 + case 55: + return 66 + case 56: + return 66 + case 57: + return 66 + case 58: + return 66 + case 59: + return 63 + case 60: + return 64 + case 61: + return 65 + case 62: + return 67 + case 63: + return 68 + case 64: + return 69 + case 65: + return 69 + case 66: + return 68 + case 67: + return 68 + case 68: + return 68 + case 69: + return 41 + case 70: + return 47 + case 71: + return 40 + case 72: + return 48 + case 73: + return Z.yytext[0] + case 74: + return 6 + } + }, "anonymous"), + rules: [ + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:[\s]+)/i, + /^(?:"[^"%\r\n\v\b\\]+")/i, + /^(?:"[^"]*")/i, + /^(?:erDiagram\b)/i, + /^(?:\{)/i, + /^(?:#)/i, + /^(?:#)/i, + /^(?:,)/i, + /^(?::::)/i, + /^(?::)/i, + /^(?:\s+)/i, + /^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i, + /^(?:([^\s]*)[~].*[~]([^\s]*))/i, + /^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i, + /^(?:"[^"]*")/i, + /^(?:[\n]+)/i, + /^(?:\})/i, + /^(?:.)/i, + /^(?:\[)/i, + /^(?:\])/i, + /^(?:style\b)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?::)/i, + /^(?:,)/i, + /^(?:#)/i, + /^(?:classDef\b)/i, + /^(?:class\b)/i, + /^(?:one or zero\b)/i, + /^(?:one or more\b)/i, + /^(?:one or many\b)/i, + /^(?:1\+)/i, + /^(?:\|o\b)/i, + /^(?:zero or one\b)/i, + /^(?:zero or more\b)/i, + /^(?:zero or many\b)/i, + /^(?:0\+)/i, + /^(?:\}o\b)/i, + /^(?:many\(0\))/i, + /^(?:many\(1\))/i, + /^(?:many\b)/i, + /^(?:\}\|)/i, + /^(?:one\b)/i, + /^(?:only one\b)/i, + /^(?:1\b)/i, + /^(?:\|\|)/i, + /^(?:o\|)/i, + /^(?:o\{)/i, + /^(?:\|\{)/i, + /^(?:\s*u\b)/i, + /^(?:\.\.)/i, + /^(?:--)/i, + /^(?:to\b)/i, + /^(?:optionally to\b)/i, + /^(?:\.-)/i, + /^(?:-\.)/i, + /^(?:([^\x00-\x7F]|\w|-|\*)+)/i, + /^(?:;)/i, + /^(?:([^\x00-\x7F]|\w|-|\*)+)/i, + /^(?:[0-9])/i, + /^(?:.)/i, + /^(?:$)/i, + ], + conditions: { + style: { rules: [34, 35, 36, 37, 38, 69, 70], inclusive: !1 }, + acc_descr_multiline: { rules: [5, 6], inclusive: !1 }, + acc_descr: { rules: [3], inclusive: !1 }, + acc_title: { rules: [1], inclusive: !1 }, + block: { rules: [23, 24, 25, 26, 27, 28, 29, 30], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 31, 32, 33, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 71, 72, 73, 74, + ], + inclusive: !0, + }, + }, + } + return W + })() + j.lexer = H + function X() { + this.yy = {} + } + return x(X, "Parser"), (X.prototype = j), (j.Parser = X), new X() +})() +Ew.parser = Ew +var q1e = Ew, + Fh, + W1e = + ((Fh = class { + constructor() { + ;(this.entities = new Map()), + (this.relationships = []), + (this.classes = new Map()), + (this.direction = "TB"), + (this.Cardinality = { + ZERO_OR_ONE: "ZERO_OR_ONE", + ZERO_OR_MORE: "ZERO_OR_MORE", + ONE_OR_MORE: "ONE_OR_MORE", + ONLY_ONE: "ONLY_ONE", + MD_PARENT: "MD_PARENT", + }), + (this.Identification = { NON_IDENTIFYING: "NON_IDENTIFYING", IDENTIFYING: "IDENTIFYING" }), + (this.setAccTitle = $n), + (this.getAccTitle = Zn), + (this.setAccDescription = Qn), + (this.getAccDescription = Jn), + (this.setDiagramTitle = fi), + (this.getDiagramTitle = Un), + (this.getConfig = x(() => we().er, "getConfig")), + this.clear(), + (this.addEntity = this.addEntity.bind(this)), + (this.addAttributes = this.addAttributes.bind(this)), + (this.addRelationship = this.addRelationship.bind(this)), + (this.setDirection = this.setDirection.bind(this)), + (this.addCssStyles = this.addCssStyles.bind(this)), + (this.addClass = this.addClass.bind(this)), + (this.setClass = this.setClass.bind(this)), + (this.setAccTitle = this.setAccTitle.bind(this)), + (this.setAccDescription = this.setAccDescription.bind(this)) + } + addEntity(e, r = "") { + var n + return ( + this.entities.has(e) + ? !((n = this.entities.get(e)) != null && n.alias) && + r && + ((this.entities.get(e).alias = r), ie.info(`Add alias '${r}' to entity '${e}'`)) + : (this.entities.set(e, { + id: `entity-${e}-${this.entities.size}`, + label: e, + attributes: [], + alias: r, + shape: "erBox", + look: we().look ?? "default", + cssClasses: "default", + cssStyles: [], + }), + ie.info("Added new entity :", e)), + this.entities.get(e) + ) + } + getEntity(e) { + return this.entities.get(e) + } + getEntities() { + return this.entities + } + getClasses() { + return this.classes + } + addAttributes(e, r) { + const n = this.addEntity(e) + let i + for (i = r.length - 1; i >= 0; i--) + r[i].keys || (r[i].keys = []), + r[i].comment || (r[i].comment = ""), + n.attributes.push(r[i]), + ie.debug("Added attribute ", r[i].name) + } + addRelationship(e, r, n, i) { + const a = this.entities.get(e), + s = this.entities.get(n) + if (!a || !s) return + const o = { entityA: a.id, roleA: r, entityB: s.id, relSpec: i } + this.relationships.push(o), ie.debug("Added new relationship :", o) + } + getRelationships() { + return this.relationships + } + getDirection() { + return this.direction + } + setDirection(e) { + this.direction = e + } + getCompiledStyles(e) { + let r = [] + for (const n of e) { + const i = this.classes.get(n) + i != null && i.styles && (r = [...r, ...(i.styles ?? [])].map((a) => a.trim())), + i != null && i.textStyles && (r = [...r, ...(i.textStyles ?? [])].map((a) => a.trim())) + } + return r + } + addCssStyles(e, r) { + for (const n of e) { + const i = this.entities.get(n) + if (!r || !i) return + for (const a of r) i.cssStyles.push(a) + } + } + addClass(e, r) { + e.forEach((n) => { + let i = this.classes.get(n) + i === void 0 && ((i = { id: n, styles: [], textStyles: [] }), this.classes.set(n, i)), + r && + r.forEach(function (a) { + if (/color/.exec(a)) { + const s = a.replace("fill", "bgFill") + i.textStyles.push(s) + } + i.styles.push(a) + }) + }) + } + setClass(e, r) { + for (const n of e) { + const i = this.entities.get(n) + if (i) for (const a of r) i.cssClasses += " " + a + } + } + clear() { + ;(this.entities = new Map()), (this.classes = new Map()), (this.relationships = []), Gn() + } + getData() { + const e = [], + r = [], + n = we() + for (const a of this.entities.keys()) { + const s = this.entities.get(a) + s && ((s.cssCompiledStyles = this.getCompiledStyles(s.cssClasses.split(" "))), e.push(s)) + } + let i = 0 + for (const a of this.relationships) { + const s = { + id: ip(a.entityA, a.entityB, { prefix: "id", counter: i++ }), + type: "normal", + curve: "basis", + start: a.entityA, + end: a.entityB, + label: a.roleA, + labelpos: "c", + thickness: "normal", + classes: "relationshipLine", + arrowTypeStart: a.relSpec.cardB.toLowerCase(), + arrowTypeEnd: a.relSpec.cardA.toLowerCase(), + pattern: a.relSpec.relType == "IDENTIFYING" ? "solid" : "dashed", + look: n.look, + } + r.push(s) + } + return { nodes: e, edges: r, other: {}, config: n, direction: "TB" } + } + }), + x(Fh, "ErDB"), + Fh), + Bz = {} +w2(Bz, { draw: () => H1e }) +var H1e = x(async function (t, e, r, n) { + ie.info("REF0:"), ie.info("Drawing er diagram (unified)", e) + const { securityLevel: i, er: a, layout: s } = we(), + o = n.db.getData(), + l = Ag(e, i) + ;(o.type = n.type), + (o.layoutAlgorithm = X2(s)), + (o.config.flowchart.nodeSpacing = (a == null ? void 0 : a.nodeSpacing) || 140), + (o.config.flowchart.rankSpacing = (a == null ? void 0 : a.rankSpacing) || 80), + (o.direction = n.db.getDirection()), + (o.markers = ["only_one", "zero_or_one", "one_or_more", "zero_or_more"]), + (o.diagramId = e), + await Tg(o, l), + o.layoutAlgorithm === "elk" && l.select(".edges").lower() + const u = l.selectAll('[id*="-background"]') + Array.from(u).length > 0 && + u.each(function () { + const d = rt(this), + p = d.attr("id").replace("-background", ""), + g = l.select(`#${CSS.escape(p)}`) + if (!g.empty()) { + const m = g.attr("transform") + d.attr("transform", m) + } + }) + const h = 8 + Zt.insertTitle(l, "erDiagramTitleText", (a == null ? void 0 : a.titleTopMargin) ?? 25, n.db.getDiagramTitle()), + _g(l, h, "erDiagram", (a == null ? void 0 : a.useMaxWidth) ?? !0) + }, "draw"), + Y1e = x((t, e) => { + const r = _T, + n = r(t, "r"), + i = r(t, "g"), + a = r(t, "b") + return Tl(n, i, a, e) + }, "fade"), + X1e = x( + (t) => ` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .labelBkg { + background-color: ${Y1e(t.tertiaryColor, 0.5)}; + } + + .edgeLabel .label { + fill: ${t.nodeBorder}; + font-size: 14px; + } + + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + + .edge-pattern-dashed { + stroke-dasharray: 8,8; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon + { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .relationshipLine { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; + } + + .marker { + fill: none !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } +`, + "getStyles", + ), + j1e = X1e, + K1e = { + parser: q1e, + get db() { + return new W1e() + }, + renderer: Bz, + styles: j1e, + } +const Z1e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: K1e }, Symbol.toStringTag, { value: "Module" }), +) +function hf(t, e) { + var r, n, i + t.accDescr && ((r = e.setAccDescription) == null || r.call(e, t.accDescr)), + t.accTitle && ((n = e.setAccTitle) == null || n.call(e, t.accTitle)), + t.title && ((i = e.setDiagramTitle) == null || i.call(e, t.title)) +} +x(hf, "populateCommonDb") +var $h, + sk = + (($h = class { + constructor(e) { + ;(this.init = e), (this.records = this.init()) + } + reset() { + this.records = this.init() + } + }), + x($h, "ImperativeState"), + $h) +function Ei(t) { + return typeof t == "object" && t !== null && typeof t.$type == "string" +} +function Ws(t) { + return typeof t == "object" && t !== null && typeof t.$refText == "string" +} +function Q1e(t) { + return ( + typeof t == "object" && + t !== null && + typeof t.name == "string" && + typeof t.type == "string" && + typeof t.path == "string" + ) +} +function _m(t) { + return typeof t == "object" && t !== null && Ei(t.container) && Ws(t.reference) && typeof t.message == "string" +} +class Fz { + constructor() { + ;(this.subtypes = {}), (this.allSubtypes = {}) + } + isInstance(e, r) { + return Ei(e) && this.isSubtype(e.$type, r) + } + isSubtype(e, r) { + if (e === r) return !0 + let n = this.subtypes[e] + n || (n = this.subtypes[e] = {}) + const i = n[r] + if (i !== void 0) return i + { + const a = this.computeIsSubtype(e, r) + return (n[r] = a), a + } + } + getAllSubTypes(e) { + const r = this.allSubtypes[e] + if (r) return r + { + const n = this.getAllTypes(), + i = [] + for (const a of n) this.isSubtype(a, e) && i.push(a) + return (this.allSubtypes[e] = i), i + } + } +} +function Fp(t) { + return typeof t == "object" && t !== null && Array.isArray(t.content) +} +function $z(t) { + return typeof t == "object" && t !== null && typeof t.tokenType == "object" +} +function zz(t) { + return Fp(t) && typeof t.fullText == "string" +} +class oi { + constructor(e, r) { + ;(this.startFn = e), (this.nextFn = r) + } + iterator() { + const e = { state: this.startFn(), next: () => this.nextFn(e.state), [Symbol.iterator]: () => e } + return e + } + [Symbol.iterator]() { + return this.iterator() + } + isEmpty() { + return !!this.iterator().next().done + } + count() { + const e = this.iterator() + let r = 0, + n = e.next() + for (; !n.done; ) r++, (n = e.next()) + return r + } + toArray() { + const e = [], + r = this.iterator() + let n + do (n = r.next()), n.value !== void 0 && e.push(n.value) + while (!n.done) + return e + } + toSet() { + return new Set(this) + } + toMap(e, r) { + const n = this.map((i) => [e ? e(i) : i, r ? r(i) : i]) + return new Map(n) + } + toString() { + return this.join() + } + concat(e) { + return new oi( + () => ({ first: this.startFn(), firstDone: !1, iterator: e[Symbol.iterator]() }), + (r) => { + let n + if (!r.firstDone) { + do if (((n = this.nextFn(r.first)), !n.done)) return n + while (!n.done) + r.firstDone = !0 + } + do if (((n = r.iterator.next()), !n.done)) return n + while (!n.done) + return wa + }, + ) + } + join(e = ",") { + const r = this.iterator() + let n = "", + i, + a = !1 + do (i = r.next()), i.done || (a && (n += e), (n += J1e(i.value))), (a = !0) + while (!i.done) + return n + } + indexOf(e, r = 0) { + const n = this.iterator() + let i = 0, + a = n.next() + for (; !a.done; ) { + if (i >= r && a.value === e) return i + ;(a = n.next()), i++ + } + return -1 + } + every(e) { + const r = this.iterator() + let n = r.next() + for (; !n.done; ) { + if (!e(n.value)) return !1 + n = r.next() + } + return !0 + } + some(e) { + const r = this.iterator() + let n = r.next() + for (; !n.done; ) { + if (e(n.value)) return !0 + n = r.next() + } + return !1 + } + forEach(e) { + const r = this.iterator() + let n = 0, + i = r.next() + for (; !i.done; ) e(i.value, n), (i = r.next()), n++ + } + map(e) { + return new oi(this.startFn, (r) => { + const { done: n, value: i } = this.nextFn(r) + return n ? wa : { done: !1, value: e(i) } + }) + } + filter(e) { + return new oi(this.startFn, (r) => { + let n + do if (((n = this.nextFn(r)), !n.done && e(n.value))) return n + while (!n.done) + return wa + }) + } + nonNullable() { + return this.filter((e) => e != null) + } + reduce(e, r) { + const n = this.iterator() + let i = r, + a = n.next() + for (; !a.done; ) i === void 0 ? (i = a.value) : (i = e(i, a.value)), (a = n.next()) + return i + } + reduceRight(e, r) { + return this.recursiveReduce(this.iterator(), e, r) + } + recursiveReduce(e, r, n) { + const i = e.next() + if (i.done) return n + const a = this.recursiveReduce(e, r, n) + return a === void 0 ? i.value : r(a, i.value) + } + find(e) { + const r = this.iterator() + let n = r.next() + for (; !n.done; ) { + if (e(n.value)) return n.value + n = r.next() + } + } + findIndex(e) { + const r = this.iterator() + let n = 0, + i = r.next() + for (; !i.done; ) { + if (e(i.value)) return n + ;(i = r.next()), n++ + } + return -1 + } + includes(e) { + const r = this.iterator() + let n = r.next() + for (; !n.done; ) { + if (n.value === e) return !0 + n = r.next() + } + return !1 + } + flatMap(e) { + return new oi( + () => ({ this: this.startFn() }), + (r) => { + do { + if (r.iterator) { + const a = r.iterator.next() + if (a.done) r.iterator = void 0 + else return a + } + const { done: n, value: i } = this.nextFn(r.this) + if (!n) { + const a = e(i) + if (vy(a)) r.iterator = a[Symbol.iterator]() + else return { done: !1, value: a } + } + } while (r.iterator) + return wa + }, + ) + } + flat(e) { + if ((e === void 0 && (e = 1), e <= 0)) return this + const r = e > 1 ? this.flat(e - 1) : this + return new oi( + () => ({ this: r.startFn() }), + (n) => { + do { + if (n.iterator) { + const s = n.iterator.next() + if (s.done) n.iterator = void 0 + else return s + } + const { done: i, value: a } = r.nextFn(n.this) + if (!i) + if (vy(a)) n.iterator = a[Symbol.iterator]() + else return { done: !1, value: a } + } while (n.iterator) + return wa + }, + ) + } + head() { + const r = this.iterator().next() + if (!r.done) return r.value + } + tail(e = 1) { + return new oi(() => { + const r = this.startFn() + for (let n = 0; n < e; n++) if (this.nextFn(r).done) return r + return r + }, this.nextFn) + } + limit(e) { + return new oi( + () => ({ size: 0, state: this.startFn() }), + (r) => (r.size++, r.size > e ? wa : this.nextFn(r.state)), + ) + } + distinct(e) { + return new oi( + () => ({ set: new Set(), internalState: this.startFn() }), + (r) => { + let n + do + if (((n = this.nextFn(r.internalState)), !n.done)) { + const i = e ? e(n.value) : n.value + if (!r.set.has(i)) return r.set.add(i), n + } + while (!n.done) + return wa + }, + ) + } + exclude(e, r) { + const n = new Set() + for (const i of e) { + const a = r ? r(i) : i + n.add(a) + } + return this.filter((i) => { + const a = r ? r(i) : i + return !n.has(a) + }) + } +} +function J1e(t) { + return typeof t == "string" + ? t + : typeof t > "u" + ? "undefined" + : typeof t.toString == "function" + ? t.toString() + : Object.prototype.toString.call(t) +} +function vy(t) { + return !!t && typeof t[Symbol.iterator] == "function" +} +const eme = new oi( + () => {}, + () => wa, + ), + wa = Object.freeze({ done: !0, value: void 0 }) +function li(...t) { + if (t.length === 1) { + const e = t[0] + if (e instanceof oi) return e + if (vy(e)) + return new oi( + () => e[Symbol.iterator](), + (r) => r.next(), + ) + if (typeof e.length == "number") + return new oi( + () => ({ index: 0 }), + (r) => (r.index < e.length ? { done: !1, value: e[r.index++] } : wa), + ) + } + return t.length > 1 + ? new oi( + () => ({ collIndex: 0, arrIndex: 0 }), + (e) => { + do { + if (e.iterator) { + const r = e.iterator.next() + if (!r.done) return r + e.iterator = void 0 + } + if (e.array) { + if (e.arrIndex < e.array.length) return { done: !1, value: e.array[e.arrIndex++] } + ;(e.array = void 0), (e.arrIndex = 0) + } + if (e.collIndex < t.length) { + const r = t[e.collIndex++] + vy(r) + ? (e.iterator = r[Symbol.iterator]()) + : r && typeof r.length == "number" && (e.array = r) + } + } while (e.iterator || e.array || e.collIndex < t.length) + return wa + }, + ) + : eme +} +class ok extends oi { + constructor(e, r, n) { + super( + () => ({ + iterators: n != null && n.includeRoot ? [[e][Symbol.iterator]()] : [r(e)[Symbol.iterator]()], + pruned: !1, + }), + (i) => { + for (i.pruned && (i.iterators.pop(), (i.pruned = !1)); i.iterators.length > 0; ) { + const s = i.iterators[i.iterators.length - 1].next() + if (s.done) i.iterators.pop() + else return i.iterators.push(r(s.value)[Symbol.iterator]()), s + } + return wa + }, + ) + } + iterator() { + const e = { + state: this.startFn(), + next: () => this.nextFn(e.state), + prune: () => { + e.state.pruned = !0 + }, + [Symbol.iterator]: () => e, + } + return e + } +} +var kw +;(function (t) { + function e(a) { + return a.reduce((s, o) => s + o, 0) + } + t.sum = e + function r(a) { + return a.reduce((s, o) => s * o, 0) + } + t.product = r + function n(a) { + return a.reduce((s, o) => Math.min(s, o)) + } + t.min = n + function i(a) { + return a.reduce((s, o) => Math.max(s, o)) + } + t.max = i +})(kw || (kw = {})) +function Sw(t) { + return new ok(t, (e) => (Fp(e) ? e.content : []), { includeRoot: !0 }) +} +function tme(t, e) { + for (; t.container; ) if (((t = t.container), t === e)) return !0 + return !1 +} +function Cw(t) { + return { + start: { character: t.startColumn - 1, line: t.startLine - 1 }, + end: { character: t.endColumn, line: t.endLine - 1 }, + } +} +function yy(t) { + if (!t) return + const { offset: e, end: r, range: n } = t + return { range: n, offset: e, end: r, length: r - e } +} +var ko +;(function (t) { + ;(t[(t.Before = 0)] = "Before"), + (t[(t.After = 1)] = "After"), + (t[(t.OverlapFront = 2)] = "OverlapFront"), + (t[(t.OverlapBack = 3)] = "OverlapBack"), + (t[(t.Inside = 4)] = "Inside"), + (t[(t.Outside = 5)] = "Outside") +})(ko || (ko = {})) +function rme(t, e) { + if (t.end.line < e.start.line || (t.end.line === e.start.line && t.end.character <= e.start.character)) + return ko.Before + if (t.start.line > e.end.line || (t.start.line === e.end.line && t.start.character >= e.end.character)) + return ko.After + const r = t.start.line > e.start.line || (t.start.line === e.start.line && t.start.character >= e.start.character), + n = t.end.line < e.end.line || (t.end.line === e.end.line && t.end.character <= e.end.character) + return r && n ? ko.Inside : r ? ko.OverlapBack : n ? ko.OverlapFront : ko.Outside +} +function nme(t, e) { + return rme(t, e) > ko.After +} +const ime = /^[\w\p{L}]$/u +function ame(t, e) { + if (t) { + const r = sme(t, !0) + if (r && tA(r, e)) return r + if (zz(t)) { + const n = t.content.findIndex((i) => !i.hidden) + for (let i = n - 1; i >= 0; i--) { + const a = t.content[i] + if (tA(a, e)) return a + } + } + } +} +function tA(t, e) { + return $z(t) && e.includes(t.tokenType.name) +} +function sme(t, e = !0) { + for (; t.container; ) { + const r = t.container + let n = r.content.indexOf(t) + for (; n > 0; ) { + n-- + const i = r.content[n] + if (e || !i.hidden) return i + } + t = r + } +} +class Vz extends Error { + constructor(e, r) { + super(e ? `${r} at ${e.range.start.line}:${e.range.start.character}` : r) + } +} +function Lg(t) { + throw new Error("Error! The input value was not handled.") +} +const k1 = "AbstractRule", + S1 = "AbstractType", + Qb = "Condition", + rA = "TypeDefinition", + Jb = "ValueLiteral", + s0 = "AbstractElement" +function ome(t) { + return Ar.isInstance(t, s0) +} +const C1 = "ArrayLiteral", + A1 = "ArrayType", + o0 = "BooleanLiteral" +function lme(t) { + return Ar.isInstance(t, o0) +} +const l0 = "Conjunction" +function cme(t) { + return Ar.isInstance(t, l0) +} +const c0 = "Disjunction" +function ume(t) { + return Ar.isInstance(t, c0) +} +const _1 = "Grammar", + e4 = "GrammarImport", + u0 = "InferredType" +function Gz(t) { + return Ar.isInstance(t, u0) +} +const h0 = "Interface" +function Uz(t) { + return Ar.isInstance(t, h0) +} +const t4 = "NamedArgument", + d0 = "Negation" +function hme(t) { + return Ar.isInstance(t, d0) +} +const L1 = "NumberLiteral", + R1 = "Parameter", + f0 = "ParameterReference" +function dme(t) { + return Ar.isInstance(t, f0) +} +const p0 = "ParserRule" +function as(t) { + return Ar.isInstance(t, p0) +} +const N1 = "ReferenceType", + Lm = "ReturnType" +function fme(t) { + return Ar.isInstance(t, Lm) +} +const g0 = "SimpleType" +function pme(t) { + return Ar.isInstance(t, g0) +} +const D1 = "StringLiteral", + Qu = "TerminalRule" +function ku(t) { + return Ar.isInstance(t, Qu) +} +const m0 = "Type" +function qz(t) { + return Ar.isInstance(t, m0) +} +const r4 = "TypeAttribute", + I1 = "UnionType", + v0 = "Action" +function ox(t) { + return Ar.isInstance(t, v0) +} +const y0 = "Alternatives" +function Wz(t) { + return Ar.isInstance(t, y0) +} +const x0 = "Assignment" +function eu(t) { + return Ar.isInstance(t, x0) +} +const b0 = "CharacterRange" +function gme(t) { + return Ar.isInstance(t, b0) +} +const w0 = "CrossReference" +function lk(t) { + return Ar.isInstance(t, w0) +} +const T0 = "EndOfFile" +function mme(t) { + return Ar.isInstance(t, T0) +} +const E0 = "Group" +function ck(t) { + return Ar.isInstance(t, E0) +} +const k0 = "Keyword" +function tu(t) { + return Ar.isInstance(t, k0) +} +const S0 = "NegatedToken" +function vme(t) { + return Ar.isInstance(t, S0) +} +const C0 = "RegexToken" +function yme(t) { + return Ar.isInstance(t, C0) +} +const A0 = "RuleCall" +function ru(t) { + return Ar.isInstance(t, A0) +} +const _0 = "TerminalAlternatives" +function xme(t) { + return Ar.isInstance(t, _0) +} +const L0 = "TerminalGroup" +function bme(t) { + return Ar.isInstance(t, L0) +} +const R0 = "TerminalRuleCall" +function wme(t) { + return Ar.isInstance(t, R0) +} +const N0 = "UnorderedGroup" +function Hz(t) { + return Ar.isInstance(t, N0) +} +const D0 = "UntilToken" +function Tme(t) { + return Ar.isInstance(t, D0) +} +const I0 = "Wildcard" +function Eme(t) { + return Ar.isInstance(t, I0) +} +class Yz extends Fz { + getAllTypes() { + return [ + s0, + k1, + S1, + v0, + y0, + C1, + A1, + x0, + o0, + b0, + Qb, + l0, + w0, + c0, + T0, + _1, + e4, + E0, + u0, + h0, + k0, + t4, + S0, + d0, + L1, + R1, + f0, + p0, + N1, + C0, + Lm, + A0, + g0, + D1, + _0, + L0, + Qu, + R0, + m0, + r4, + rA, + I1, + N0, + D0, + Jb, + I0, + ] + } + computeIsSubtype(e, r) { + switch (e) { + case v0: + case y0: + case x0: + case b0: + case w0: + case T0: + case E0: + case k0: + case S0: + case C0: + case A0: + case _0: + case L0: + case R0: + case N0: + case D0: + case I0: + return this.isSubtype(s0, r) + case C1: + case L1: + case D1: + return this.isSubtype(Jb, r) + case A1: + case N1: + case g0: + case I1: + return this.isSubtype(rA, r) + case o0: + return this.isSubtype(Qb, r) || this.isSubtype(Jb, r) + case l0: + case c0: + case d0: + case f0: + return this.isSubtype(Qb, r) + case u0: + case h0: + case m0: + return this.isSubtype(S1, r) + case p0: + return this.isSubtype(k1, r) || this.isSubtype(S1, r) + case Qu: + return this.isSubtype(k1, r) + default: + return !1 + } + } + getReferenceType(e) { + const r = `${e.container.$type}:${e.property}` + switch (r) { + case "Action:type": + case "CrossReference:type": + case "Interface:superTypes": + case "ParserRule:returnType": + case "SimpleType:typeRef": + return S1 + case "Grammar:hiddenTokens": + case "ParserRule:hiddenTokens": + case "RuleCall:rule": + return k1 + case "Grammar:usedGrammars": + return _1 + case "NamedArgument:parameter": + case "ParameterReference:parameter": + return R1 + case "TerminalRuleCall:rule": + return Qu + default: + throw new Error(`${r} is not a valid reference id.`) + } + } + getTypeMetaData(e) { + switch (e) { + case s0: + return { name: s0, properties: [{ name: "cardinality" }, { name: "lookahead" }] } + case C1: + return { name: C1, properties: [{ name: "elements", defaultValue: [] }] } + case A1: + return { name: A1, properties: [{ name: "elementType" }] } + case o0: + return { name: o0, properties: [{ name: "true", defaultValue: !1 }] } + case l0: + return { name: l0, properties: [{ name: "left" }, { name: "right" }] } + case c0: + return { name: c0, properties: [{ name: "left" }, { name: "right" }] } + case _1: + return { + name: _1, + properties: [ + { name: "definesHiddenTokens", defaultValue: !1 }, + { name: "hiddenTokens", defaultValue: [] }, + { name: "imports", defaultValue: [] }, + { name: "interfaces", defaultValue: [] }, + { name: "isDeclared", defaultValue: !1 }, + { name: "name" }, + { name: "rules", defaultValue: [] }, + { name: "types", defaultValue: [] }, + { name: "usedGrammars", defaultValue: [] }, + ], + } + case e4: + return { name: e4, properties: [{ name: "path" }] } + case u0: + return { name: u0, properties: [{ name: "name" }] } + case h0: + return { + name: h0, + properties: [ + { name: "attributes", defaultValue: [] }, + { name: "name" }, + { name: "superTypes", defaultValue: [] }, + ], + } + case t4: + return { + name: t4, + properties: [{ name: "calledByName", defaultValue: !1 }, { name: "parameter" }, { name: "value" }], + } + case d0: + return { name: d0, properties: [{ name: "value" }] } + case L1: + return { name: L1, properties: [{ name: "value" }] } + case R1: + return { name: R1, properties: [{ name: "name" }] } + case f0: + return { name: f0, properties: [{ name: "parameter" }] } + case p0: + return { + name: p0, + properties: [ + { name: "dataType" }, + { name: "definesHiddenTokens", defaultValue: !1 }, + { name: "definition" }, + { name: "entry", defaultValue: !1 }, + { name: "fragment", defaultValue: !1 }, + { name: "hiddenTokens", defaultValue: [] }, + { name: "inferredType" }, + { name: "name" }, + { name: "parameters", defaultValue: [] }, + { name: "returnType" }, + { name: "wildcard", defaultValue: !1 }, + ], + } + case N1: + return { name: N1, properties: [{ name: "referenceType" }] } + case Lm: + return { name: Lm, properties: [{ name: "name" }] } + case g0: + return { + name: g0, + properties: [{ name: "primitiveType" }, { name: "stringType" }, { name: "typeRef" }], + } + case D1: + return { name: D1, properties: [{ name: "value" }] } + case Qu: + return { + name: Qu, + properties: [ + { name: "definition" }, + { name: "fragment", defaultValue: !1 }, + { name: "hidden", defaultValue: !1 }, + { name: "name" }, + { name: "type" }, + ], + } + case m0: + return { name: m0, properties: [{ name: "name" }, { name: "type" }] } + case r4: + return { + name: r4, + properties: [ + { name: "defaultValue" }, + { name: "isOptional", defaultValue: !1 }, + { name: "name" }, + { name: "type" }, + ], + } + case I1: + return { name: I1, properties: [{ name: "types", defaultValue: [] }] } + case v0: + return { + name: v0, + properties: [ + { name: "cardinality" }, + { name: "feature" }, + { name: "inferredType" }, + { name: "lookahead" }, + { name: "operator" }, + { name: "type" }, + ], + } + case y0: + return { + name: y0, + properties: [ + { name: "cardinality" }, + { name: "elements", defaultValue: [] }, + { name: "lookahead" }, + ], + } + case x0: + return { + name: x0, + properties: [ + { name: "cardinality" }, + { name: "feature" }, + { name: "lookahead" }, + { name: "operator" }, + { name: "terminal" }, + ], + } + case b0: + return { + name: b0, + properties: [{ name: "cardinality" }, { name: "left" }, { name: "lookahead" }, { name: "right" }], + } + case w0: + return { + name: w0, + properties: [ + { name: "cardinality" }, + { name: "deprecatedSyntax", defaultValue: !1 }, + { name: "lookahead" }, + { name: "terminal" }, + { name: "type" }, + ], + } + case T0: + return { name: T0, properties: [{ name: "cardinality" }, { name: "lookahead" }] } + case E0: + return { + name: E0, + properties: [ + { name: "cardinality" }, + { name: "elements", defaultValue: [] }, + { name: "guardCondition" }, + { name: "lookahead" }, + ], + } + case k0: + return { name: k0, properties: [{ name: "cardinality" }, { name: "lookahead" }, { name: "value" }] } + case S0: + return { name: S0, properties: [{ name: "cardinality" }, { name: "lookahead" }, { name: "terminal" }] } + case C0: + return { name: C0, properties: [{ name: "cardinality" }, { name: "lookahead" }, { name: "regex" }] } + case A0: + return { + name: A0, + properties: [ + { name: "arguments", defaultValue: [] }, + { name: "cardinality" }, + { name: "lookahead" }, + { name: "rule" }, + ], + } + case _0: + return { + name: _0, + properties: [ + { name: "cardinality" }, + { name: "elements", defaultValue: [] }, + { name: "lookahead" }, + ], + } + case L0: + return { + name: L0, + properties: [ + { name: "cardinality" }, + { name: "elements", defaultValue: [] }, + { name: "lookahead" }, + ], + } + case R0: + return { name: R0, properties: [{ name: "cardinality" }, { name: "lookahead" }, { name: "rule" }] } + case N0: + return { + name: N0, + properties: [ + { name: "cardinality" }, + { name: "elements", defaultValue: [] }, + { name: "lookahead" }, + ], + } + case D0: + return { name: D0, properties: [{ name: "cardinality" }, { name: "lookahead" }, { name: "terminal" }] } + case I0: + return { name: I0, properties: [{ name: "cardinality" }, { name: "lookahead" }] } + default: + return { name: e, properties: [] } + } + } +} +const Ar = new Yz() +function kme(t) { + for (const [e, r] of Object.entries(t)) + e.startsWith("$") || + (Array.isArray(r) + ? r.forEach((n, i) => { + Ei(n) && ((n.$container = t), (n.$containerProperty = e), (n.$containerIndex = i)) + }) + : Ei(r) && ((r.$container = t), (r.$containerProperty = e))) +} +function lx(t, e) { + let r = t + for (; r; ) { + if (e(r)) return r + r = r.$container + } +} +function Ol(t) { + const r = Aw(t).$document + if (!r) throw new Error("AST node has no document.") + return r +} +function Aw(t) { + for (; t.$container; ) t = t.$container + return t +} +function uk(t, e) { + if (!t) throw new Error("Node must be an AstNode.") + const r = e == null ? void 0 : e.range + return new oi( + () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }), + (n) => { + for (; n.keyIndex < n.keys.length; ) { + const i = n.keys[n.keyIndex] + if (!i.startsWith("$")) { + const a = t[i] + if (Ei(a)) { + if ((n.keyIndex++, nA(a, r))) return { done: !1, value: a } + } else if (Array.isArray(a)) { + for (; n.arrayIndex < a.length; ) { + const s = n.arrayIndex++, + o = a[s] + if (Ei(o) && nA(o, r)) return { done: !1, value: o } + } + n.arrayIndex = 0 + } + } + n.keyIndex++ + } + return wa + }, + ) +} +function Rg(t, e) { + if (!t) throw new Error("Root node must be an AstNode.") + return new ok(t, (r) => uk(r, e)) +} +function xh(t, e) { + if (!t) throw new Error("Root node must be an AstNode.") + return new ok(t, (r) => uk(r, e), { includeRoot: !0 }) +} +function nA(t, e) { + var r + if (!e) return !0 + const n = (r = t.$cstNode) === null || r === void 0 ? void 0 : r.range + return n ? nme(n, e) : !1 +} +function Xz(t) { + return new oi( + () => ({ keys: Object.keys(t), keyIndex: 0, arrayIndex: 0 }), + (e) => { + for (; e.keyIndex < e.keys.length; ) { + const r = e.keys[e.keyIndex] + if (!r.startsWith("$")) { + const n = t[r] + if (Ws(n)) return e.keyIndex++, { done: !1, value: { reference: n, container: t, property: r } } + if (Array.isArray(n)) { + for (; e.arrayIndex < n.length; ) { + const i = e.arrayIndex++, + a = n[i] + if (Ws(a)) return { done: !1, value: { reference: a, container: t, property: r, index: i } } + } + e.arrayIndex = 0 + } + } + e.keyIndex++ + } + return wa + }, + ) +} +function Sme(t, e) { + const r = t.getTypeMetaData(e.$type), + n = e + for (const i of r.properties) i.defaultValue !== void 0 && n[i.name] === void 0 && (n[i.name] = jz(i.defaultValue)) +} +function jz(t) { + return Array.isArray(t) ? [...t.map(jz)] : t +} +function Xt(t) { + return t.charCodeAt(0) +} +function n4(t, e) { + Array.isArray(t) + ? t.forEach(function (r) { + e.push(r) + }) + : e.push(t) +} +function Vf(t, e) { + if (t[e] === !0) throw "duplicate flag " + e + t[e], (t[e] = !0) +} +function zu(t) { + if (t === void 0) throw Error("Internal Error - Should never get here!") + return !0 +} +function Cme() { + throw Error("Internal Error - Should never get here!") +} +function iA(t) { + return t.type === "Character" +} +const xy = [] +for (let t = Xt("0"); t <= Xt("9"); t++) xy.push(t) +const by = [Xt("_")].concat(xy) +for (let t = Xt("a"); t <= Xt("z"); t++) by.push(t) +for (let t = Xt("A"); t <= Xt("Z"); t++) by.push(t) +const aA = [ + Xt(" "), + Xt("\f"), + Xt(` +`), + Xt("\r"), + Xt(" "), + Xt("\v"), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt(" "), + Xt("\u2028"), + Xt("\u2029"), + Xt(" "), + Xt(" "), + Xt(" "), + Xt("\uFEFF"), + ], + Ame = /[0-9a-fA-F]/, + M1 = /[0-9]/, + _me = /[1-9]/ +class Kz { + constructor() { + ;(this.idx = 0), (this.input = ""), (this.groupIdx = 0) + } + saveState() { + return { idx: this.idx, input: this.input, groupIdx: this.groupIdx } + } + restoreState(e) { + ;(this.idx = e.idx), (this.input = e.input), (this.groupIdx = e.groupIdx) + } + pattern(e) { + ;(this.idx = 0), (this.input = e), (this.groupIdx = 0), this.consumeChar("/") + const r = this.disjunction() + this.consumeChar("/") + const n = { + type: "Flags", + loc: { begin: this.idx, end: e.length }, + global: !1, + ignoreCase: !1, + multiLine: !1, + unicode: !1, + sticky: !1, + } + for (; this.isRegExpFlag(); ) + switch (this.popChar()) { + case "g": + Vf(n, "global") + break + case "i": + Vf(n, "ignoreCase") + break + case "m": + Vf(n, "multiLine") + break + case "u": + Vf(n, "unicode") + break + case "y": + Vf(n, "sticky") + break + } + if (this.idx !== this.input.length) throw Error("Redundant input: " + this.input.substring(this.idx)) + return { type: "Pattern", flags: n, value: r, loc: this.loc(0) } + } + disjunction() { + const e = [], + r = this.idx + for (e.push(this.alternative()); this.peekChar() === "|"; ) this.consumeChar("|"), e.push(this.alternative()) + return { type: "Disjunction", value: e, loc: this.loc(r) } + } + alternative() { + const e = [], + r = this.idx + for (; this.isTerm(); ) e.push(this.term()) + return { type: "Alternative", value: e, loc: this.loc(r) } + } + term() { + return this.isAssertion() ? this.assertion() : this.atom() + } + assertion() { + const e = this.idx + switch (this.popChar()) { + case "^": + return { type: "StartAnchor", loc: this.loc(e) } + case "$": + return { type: "EndAnchor", loc: this.loc(e) } + case "\\": + switch (this.popChar()) { + case "b": + return { type: "WordBoundary", loc: this.loc(e) } + case "B": + return { type: "NonWordBoundary", loc: this.loc(e) } + } + throw Error("Invalid Assertion Escape") + case "(": + this.consumeChar("?") + let r + switch (this.popChar()) { + case "=": + r = "Lookahead" + break + case "!": + r = "NegativeLookahead" + break + } + zu(r) + const n = this.disjunction() + return this.consumeChar(")"), { type: r, value: n, loc: this.loc(e) } + } + return Cme() + } + quantifier(e = !1) { + let r + const n = this.idx + switch (this.popChar()) { + case "*": + r = { atLeast: 0, atMost: 1 / 0 } + break + case "+": + r = { atLeast: 1, atMost: 1 / 0 } + break + case "?": + r = { atLeast: 0, atMost: 1 } + break + case "{": + const i = this.integerIncludingZero() + switch (this.popChar()) { + case "}": + r = { atLeast: i, atMost: i } + break + case ",": + let a + this.isDigit() + ? ((a = this.integerIncludingZero()), (r = { atLeast: i, atMost: a })) + : (r = { atLeast: i, atMost: 1 / 0 }), + this.consumeChar("}") + break + } + if (e === !0 && r === void 0) return + zu(r) + break + } + if (!(e === !0 && r === void 0) && zu(r)) + return ( + this.peekChar(0) === "?" ? (this.consumeChar("?"), (r.greedy = !1)) : (r.greedy = !0), + (r.type = "Quantifier"), + (r.loc = this.loc(n)), + r + ) + } + atom() { + let e + const r = this.idx + switch (this.peekChar()) { + case ".": + e = this.dotAll() + break + case "\\": + e = this.atomEscape() + break + case "[": + e = this.characterClass() + break + case "(": + e = this.group() + break + } + if ((e === void 0 && this.isPatternCharacter() && (e = this.patternCharacter()), zu(e))) + return (e.loc = this.loc(r)), this.isQuantifier() && (e.quantifier = this.quantifier()), e + } + dotAll() { + return ( + this.consumeChar("."), + { + type: "Set", + complement: !0, + value: [ + Xt(` +`), + Xt("\r"), + Xt("\u2028"), + Xt("\u2029"), + ], + } + ) + } + atomEscape() { + switch ((this.consumeChar("\\"), this.peekChar())) { + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + return this.decimalEscapeAtom() + case "d": + case "D": + case "s": + case "S": + case "w": + case "W": + return this.characterClassEscape() + case "f": + case "n": + case "r": + case "t": + case "v": + return this.controlEscapeAtom() + case "c": + return this.controlLetterEscapeAtom() + case "0": + return this.nulCharacterAtom() + case "x": + return this.hexEscapeSequenceAtom() + case "u": + return this.regExpUnicodeEscapeSequenceAtom() + default: + return this.identityEscapeAtom() + } + } + decimalEscapeAtom() { + return { type: "GroupBackReference", value: this.positiveInteger() } + } + characterClassEscape() { + let e, + r = !1 + switch (this.popChar()) { + case "d": + e = xy + break + case "D": + ;(e = xy), (r = !0) + break + case "s": + e = aA + break + case "S": + ;(e = aA), (r = !0) + break + case "w": + e = by + break + case "W": + ;(e = by), (r = !0) + break + } + if (zu(e)) return { type: "Set", value: e, complement: r } + } + controlEscapeAtom() { + let e + switch (this.popChar()) { + case "f": + e = Xt("\f") + break + case "n": + e = Xt(` +`) + break + case "r": + e = Xt("\r") + break + case "t": + e = Xt(" ") + break + case "v": + e = Xt("\v") + break + } + if (zu(e)) return { type: "Character", value: e } + } + controlLetterEscapeAtom() { + this.consumeChar("c") + const e = this.popChar() + if (/[a-zA-Z]/.test(e) === !1) throw Error("Invalid ") + return { type: "Character", value: e.toUpperCase().charCodeAt(0) - 64 } + } + nulCharacterAtom() { + return this.consumeChar("0"), { type: "Character", value: Xt("\0") } + } + hexEscapeSequenceAtom() { + return this.consumeChar("x"), this.parseHexDigits(2) + } + regExpUnicodeEscapeSequenceAtom() { + return this.consumeChar("u"), this.parseHexDigits(4) + } + identityEscapeAtom() { + const e = this.popChar() + return { type: "Character", value: Xt(e) } + } + classPatternCharacterAtom() { + switch (this.peekChar()) { + case ` +`: + case "\r": + case "\u2028": + case "\u2029": + case "\\": + case "]": + throw Error("TBD") + default: + const e = this.popChar() + return { type: "Character", value: Xt(e) } + } + } + characterClass() { + const e = [] + let r = !1 + for ( + this.consumeChar("["), this.peekChar(0) === "^" && (this.consumeChar("^"), (r = !0)); + this.isClassAtom(); + + ) { + const n = this.classAtom() + if ((n.type, iA(n) && this.isRangeDash())) { + this.consumeChar("-") + const i = this.classAtom() + if ((i.type, iA(i))) { + if (i.value < n.value) throw Error("Range out of order in character class") + e.push({ from: n.value, to: i.value }) + } else n4(n.value, e), e.push(Xt("-")), n4(i.value, e) + } else n4(n.value, e) + } + return this.consumeChar("]"), { type: "Set", complement: r, value: e } + } + classAtom() { + switch (this.peekChar()) { + case "]": + case ` +`: + case "\r": + case "\u2028": + case "\u2029": + throw Error("TBD") + case "\\": + return this.classEscape() + default: + return this.classPatternCharacterAtom() + } + } + classEscape() { + switch ((this.consumeChar("\\"), this.peekChar())) { + case "b": + return this.consumeChar("b"), { type: "Character", value: Xt("\b") } + case "d": + case "D": + case "s": + case "S": + case "w": + case "W": + return this.characterClassEscape() + case "f": + case "n": + case "r": + case "t": + case "v": + return this.controlEscapeAtom() + case "c": + return this.controlLetterEscapeAtom() + case "0": + return this.nulCharacterAtom() + case "x": + return this.hexEscapeSequenceAtom() + case "u": + return this.regExpUnicodeEscapeSequenceAtom() + default: + return this.identityEscapeAtom() + } + } + group() { + let e = !0 + switch ((this.consumeChar("("), this.peekChar(0))) { + case "?": + this.consumeChar("?"), this.consumeChar(":"), (e = !1) + break + default: + this.groupIdx++ + break + } + const r = this.disjunction() + this.consumeChar(")") + const n = { type: "Group", capturing: e, value: r } + return e && (n.idx = this.groupIdx), n + } + positiveInteger() { + let e = this.popChar() + if (_me.test(e) === !1) throw Error("Expecting a positive integer") + for (; M1.test(this.peekChar(0)); ) e += this.popChar() + return parseInt(e, 10) + } + integerIncludingZero() { + let e = this.popChar() + if (M1.test(e) === !1) throw Error("Expecting an integer") + for (; M1.test(this.peekChar(0)); ) e += this.popChar() + return parseInt(e, 10) + } + patternCharacter() { + const e = this.popChar() + switch (e) { + case ` +`: + case "\r": + case "\u2028": + case "\u2029": + case "^": + case "$": + case "\\": + case ".": + case "*": + case "+": + case "?": + case "(": + case ")": + case "[": + case "|": + throw Error("TBD") + default: + return { type: "Character", value: Xt(e) } + } + } + isRegExpFlag() { + switch (this.peekChar(0)) { + case "g": + case "i": + case "m": + case "u": + case "y": + return !0 + default: + return !1 + } + } + isRangeDash() { + return this.peekChar() === "-" && this.isClassAtom(1) + } + isDigit() { + return M1.test(this.peekChar(0)) + } + isClassAtom(e = 0) { + switch (this.peekChar(e)) { + case "]": + case ` +`: + case "\r": + case "\u2028": + case "\u2029": + return !1 + default: + return !0 + } + } + isTerm() { + return this.isAtom() || this.isAssertion() + } + isAtom() { + if (this.isPatternCharacter()) return !0 + switch (this.peekChar(0)) { + case ".": + case "\\": + case "[": + case "(": + return !0 + default: + return !1 + } + } + isAssertion() { + switch (this.peekChar(0)) { + case "^": + case "$": + return !0 + case "\\": + switch (this.peekChar(1)) { + case "b": + case "B": + return !0 + default: + return !1 + } + case "(": + return this.peekChar(1) === "?" && (this.peekChar(2) === "=" || this.peekChar(2) === "!") + default: + return !1 + } + } + isQuantifier() { + const e = this.saveState() + try { + return this.quantifier(!0) !== void 0 + } catch { + return !1 + } finally { + this.restoreState(e) + } + } + isPatternCharacter() { + switch (this.peekChar()) { + case "^": + case "$": + case "\\": + case ".": + case "*": + case "+": + case "?": + case "(": + case ")": + case "[": + case "|": + case "/": + case ` +`: + case "\r": + case "\u2028": + case "\u2029": + return !1 + default: + return !0 + } + } + parseHexDigits(e) { + let r = "" + for (let i = 0; i < e; i++) { + const a = this.popChar() + if (Ame.test(a) === !1) throw Error("Expecting a HexDecimal digits") + r += a + } + return { type: "Character", value: parseInt(r, 16) } + } + peekChar(e = 0) { + return this.input[this.idx + e] + } + popChar() { + const e = this.peekChar(0) + return this.consumeChar(void 0), e + } + consumeChar(e) { + if (e !== void 0 && this.input[this.idx] !== e) + throw Error("Expected: '" + e + "' but found: '" + this.input[this.idx] + "' at offset: " + this.idx) + if (this.idx >= this.input.length) throw Error("Unexpected end of input") + this.idx++ + } + loc(e) { + return { begin: e, end: this.idx } + } +} +class cx { + visitChildren(e) { + for (const r in e) { + const n = e[r] + e.hasOwnProperty(r) && + (n.type !== void 0 + ? this.visit(n) + : Array.isArray(n) && + n.forEach((i) => { + this.visit(i) + }, this)) + } + } + visit(e) { + switch (e.type) { + case "Pattern": + this.visitPattern(e) + break + case "Flags": + this.visitFlags(e) + break + case "Disjunction": + this.visitDisjunction(e) + break + case "Alternative": + this.visitAlternative(e) + break + case "StartAnchor": + this.visitStartAnchor(e) + break + case "EndAnchor": + this.visitEndAnchor(e) + break + case "WordBoundary": + this.visitWordBoundary(e) + break + case "NonWordBoundary": + this.visitNonWordBoundary(e) + break + case "Lookahead": + this.visitLookahead(e) + break + case "NegativeLookahead": + this.visitNegativeLookahead(e) + break + case "Character": + this.visitCharacter(e) + break + case "Set": + this.visitSet(e) + break + case "Group": + this.visitGroup(e) + break + case "GroupBackReference": + this.visitGroupBackReference(e) + break + case "Quantifier": + this.visitQuantifier(e) + break + } + this.visitChildren(e) + } + visitPattern(e) {} + visitFlags(e) {} + visitDisjunction(e) {} + visitAlternative(e) {} + visitStartAnchor(e) {} + visitEndAnchor(e) {} + visitWordBoundary(e) {} + visitNonWordBoundary(e) {} + visitLookahead(e) {} + visitNegativeLookahead(e) {} + visitCharacter(e) {} + visitSet(e) {} + visitGroup(e) {} + visitGroupBackReference(e) {} + visitQuantifier(e) {} +} +const Lme = /\r?\n/gm, + Rme = new Kz() +class Nme extends cx { + constructor() { + super(...arguments), (this.isStarting = !0), (this.endRegexpStack = []), (this.multiline = !1) + } + get endRegex() { + return this.endRegexpStack.join("") + } + reset(e) { + ;(this.multiline = !1), + (this.regex = e), + (this.startRegexp = ""), + (this.isStarting = !0), + (this.endRegexpStack = []) + } + visitGroup(e) { + e.quantifier && ((this.isStarting = !1), (this.endRegexpStack = [])) + } + visitCharacter(e) { + const r = String.fromCharCode(e.value) + if ( + (!this.multiline && + r === + ` +` && + (this.multiline = !0), + e.quantifier) + ) + (this.isStarting = !1), (this.endRegexpStack = []) + else { + const n = ux(r) + this.endRegexpStack.push(n), this.isStarting && (this.startRegexp += n) + } + } + visitSet(e) { + if (!this.multiline) { + const r = this.regex.substring(e.loc.begin, e.loc.end), + n = new RegExp(r) + this.multiline = !!` +`.match(n) + } + if (e.quantifier) (this.isStarting = !1), (this.endRegexpStack = []) + else { + const r = this.regex.substring(e.loc.begin, e.loc.end) + this.endRegexpStack.push(r), this.isStarting && (this.startRegexp += r) + } + } + visitChildren(e) { + ;(e.type === "Group" && e.quantifier) || super.visitChildren(e) + } +} +const i4 = new Nme() +function Dme(t) { + try { + return ( + typeof t == "string" && (t = new RegExp(t)), + (t = t.toString()), + i4.reset(t), + i4.visit(Rme.pattern(t)), + i4.multiline + ) + } catch { + return !1 + } +} +const Ime = `\f +\r \v              \u2028\u2029   \uFEFF`.split("") +function _w(t) { + const e = typeof t == "string" ? new RegExp(t) : t + return Ime.some((r) => e.test(r)) +} +function ux(t) { + return t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") +} +function Mme(t) { + return Array.prototype.map + .call(t, (e) => (/\w/.test(e) ? `[${e.toLowerCase()}${e.toUpperCase()}]` : ux(e))) + .join("") +} +function Ome(t, e) { + const r = Pme(t), + n = e.match(r) + return !!n && n[0].length > 0 +} +function Pme(t) { + typeof t == "string" && (t = new RegExp(t)) + const e = t, + r = t.source + let n = 0 + function i() { + let a = "", + s + function o(u) { + ;(a += r.substr(n, u)), (n += u) + } + function l(u) { + ;(a += "(?:" + r.substr(n, u) + "|$)"), (n += u) + } + for (; n < r.length; ) + switch (r[n]) { + case "\\": + switch (r[n + 1]) { + case "c": + l(3) + break + case "x": + l(4) + break + case "u": + e.unicode ? (r[n + 2] === "{" ? l(r.indexOf("}", n) - n + 1) : l(6)) : l(2) + break + case "p": + case "P": + e.unicode ? l(r.indexOf("}", n) - n + 1) : l(2) + break + case "k": + l(r.indexOf(">", n) - n + 1) + break + default: + l(2) + break + } + break + case "[": + ;(s = /\[(?:\\.|.)*?\]/g), (s.lastIndex = n), (s = s.exec(r) || []), l(s[0].length) + break + case "|": + case "^": + case "$": + case "*": + case "+": + case "?": + o(1) + break + case "{": + ;(s = /\{\d+,?\d*\}/g), (s.lastIndex = n), (s = s.exec(r)), s ? o(s[0].length) : l(1) + break + case "(": + if (r[n + 1] === "?") + switch (r[n + 2]) { + case ":": + ;(a += "(?:"), (n += 3), (a += i() + "|$)") + break + case "=": + ;(a += "(?="), (n += 3), (a += i() + ")") + break + case "!": + ;(s = n), (n += 3), i(), (a += r.substr(s, n - s)) + break + case "<": + switch (r[n + 3]) { + case "=": + case "!": + ;(s = n), (n += 4), i(), (a += r.substr(s, n - s)) + break + default: + o(r.indexOf(">", n) - n + 1), (a += i() + "|$)") + break + } + break + } + else o(1), (a += i() + "|$)") + break + case ")": + return ++n, a + default: + l(1) + break + } + return a + } + return new RegExp(i(), t.flags) +} +function Bme(t) { + return t.rules.find((e) => as(e) && e.entry) +} +function Fme(t) { + return t.rules.filter((e) => ku(e) && e.hidden) +} +function Zz(t, e) { + const r = new Set(), + n = Bme(t) + if (!n) return new Set(t.rules) + const i = [n].concat(Fme(t)) + for (const s of i) Qz(s, r, e) + const a = new Set() + for (const s of t.rules) (r.has(s.name) || (ku(s) && s.hidden)) && a.add(s) + return a +} +function Qz(t, e, r) { + e.add(t.name), + Rg(t).forEach((n) => { + if (ru(n) || r) { + const i = n.rule.ref + i && !e.has(i.name) && Qz(i, e, r) + } + }) +} +function $me(t) { + if (t.terminal) return t.terminal + if (t.type.ref) { + const e = eV(t.type.ref) + return e == null ? void 0 : e.terminal + } +} +function zme(t) { + return t.hidden && !_w(pk(t)) +} +function Vme(t, e) { + return !t || !e ? [] : hk(t, e, t.astNode, !0) +} +function Jz(t, e, r) { + if (!t || !e) return + const n = hk(t, e, t.astNode, !0) + if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r] +} +function hk(t, e, r, n) { + if (!n) { + const i = lx(t.grammarSource, eu) + if (i && i.feature === e) return [t] + } + return Fp(t) && t.astNode === r ? t.content.flatMap((i) => hk(i, e, r, !1)) : [] +} +function Gme(t, e, r) { + if (!t) return + const n = Ume(t, e, t == null ? void 0 : t.astNode) + if (n.length !== 0) return r !== void 0 ? (r = Math.max(0, Math.min(r, n.length - 1))) : (r = 0), n[r] +} +function Ume(t, e, r) { + if (t.astNode !== r) return [] + if (tu(t.grammarSource) && t.grammarSource.value === e) return [t] + const n = Sw(t).iterator() + let i + const a = [] + do + if (((i = n.next()), !i.done)) { + const s = i.value + s.astNode === r ? tu(s.grammarSource) && s.grammarSource.value === e && a.push(s) : n.prune() + } + while (!i.done) + return a +} +function qme(t) { + var e + const r = t.astNode + for (; r === ((e = t.container) === null || e === void 0 ? void 0 : e.astNode); ) { + const n = lx(t.grammarSource, eu) + if (n) return n + t = t.container + } +} +function eV(t) { + let e = t + return ( + Gz(e) && + (ox(e.$container) + ? (e = e.$container.$container) + : as(e.$container) + ? (e = e.$container) + : Lg(e.$container)), + tV(t, e, new Map()) + ) +} +function tV(t, e, r) { + var n + function i(a, s) { + let o + return lx(a, eu) || (o = tV(s, s, r)), r.set(t, o), o + } + if (r.has(t)) return r.get(t) + r.set(t, void 0) + for (const a of Rg(e)) { + if (eu(a) && a.feature.toLowerCase() === "name") return r.set(t, a), a + if (ru(a) && as(a.rule.ref)) return i(a, a.rule.ref) + if (pme(a) && !((n = a.typeRef) === null || n === void 0) && n.ref) return i(a, a.typeRef.ref) + } +} +function rV(t) { + return nV(t, new Set()) +} +function nV(t, e) { + if (e.has(t)) return !0 + e.add(t) + for (const r of Rg(t)) + if (ru(r)) { + if (!r.rule.ref || (as(r.rule.ref) && !nV(r.rule.ref, e))) return !1 + } else { + if (eu(r)) return !1 + if (ox(r)) return !1 + } + return !!t.definition +} +function dk(t) { + if (t.inferredType) return t.inferredType.name + if (t.dataType) return t.dataType + if (t.returnType) { + const e = t.returnType.ref + if (e) { + if (as(e)) return e.name + if (Uz(e) || qz(e)) return e.name + } + } +} +function fk(t) { + var e + if (as(t)) return rV(t) ? t.name : (e = dk(t)) !== null && e !== void 0 ? e : t.name + if (Uz(t) || qz(t) || fme(t)) return t.name + if (ox(t)) { + const r = Wme(t) + if (r) return r + } else if (Gz(t)) return t.name + throw new Error("Cannot get name of Unknown Type") +} +function Wme(t) { + var e + if (t.inferredType) return t.inferredType.name + if (!((e = t.type) === null || e === void 0) && e.ref) return fk(t.type.ref) +} +function Hme(t) { + var e, r, n + return ku(t) + ? (r = (e = t.type) === null || e === void 0 ? void 0 : e.name) !== null && r !== void 0 + ? r + : "string" + : (n = dk(t)) !== null && n !== void 0 + ? n + : t.name +} +function pk(t) { + const e = { s: !1, i: !1, u: !1 }, + r = df(t.definition, e), + n = Object.entries(e) + .filter(([, i]) => i) + .map(([i]) => i) + .join("") + return new RegExp(r, n) +} +const gk = /[\s\S]/.source +function df(t, e) { + if (xme(t)) return Yme(t) + if (bme(t)) return Xme(t) + if (gme(t)) return Zme(t) + if (wme(t)) { + const r = t.rule.ref + if (!r) throw new Error("Missing rule reference.") + return $o(df(r.definition), { cardinality: t.cardinality, lookahead: t.lookahead }) + } else { + if (vme(t)) return Kme(t) + if (Tme(t)) return jme(t) + if (yme(t)) { + const r = t.regex.lastIndexOf("/"), + n = t.regex.substring(1, r), + i = t.regex.substring(r + 1) + return ( + e && ((e.i = i.includes("i")), (e.s = i.includes("s")), (e.u = i.includes("u"))), + $o(n, { cardinality: t.cardinality, lookahead: t.lookahead, wrap: !1 }) + ) + } else { + if (Eme(t)) return $o(gk, { cardinality: t.cardinality, lookahead: t.lookahead }) + throw new Error(`Invalid terminal element: ${t == null ? void 0 : t.$type}`) + } + } +} +function Yme(t) { + return $o(t.elements.map((e) => df(e)).join("|"), { cardinality: t.cardinality, lookahead: t.lookahead }) +} +function Xme(t) { + return $o(t.elements.map((e) => df(e)).join(""), { cardinality: t.cardinality, lookahead: t.lookahead }) +} +function jme(t) { + return $o(`${gk}*?${df(t.terminal)}`, { cardinality: t.cardinality, lookahead: t.lookahead }) +} +function Kme(t) { + return $o(`(?!${df(t.terminal)})${gk}*?`, { cardinality: t.cardinality, lookahead: t.lookahead }) +} +function Zme(t) { + return t.right + ? $o(`[${a4(t.left)}-${a4(t.right)}]`, { cardinality: t.cardinality, lookahead: t.lookahead, wrap: !1 }) + : $o(a4(t.left), { cardinality: t.cardinality, lookahead: t.lookahead, wrap: !1 }) +} +function a4(t) { + return ux(t.value) +} +function $o(t, e) { + var r + return ( + (e.wrap !== !1 || e.lookahead) && (t = `(${(r = e.lookahead) !== null && r !== void 0 ? r : ""}${t})`), + e.cardinality ? `${t}${e.cardinality}` : t + ) +} +function Qme(t) { + const e = [], + r = t.Grammar + for (const n of r.rules) ku(n) && zme(n) && Dme(pk(n)) && e.push(n.name) + return { multilineCommentRules: e, nameRegexp: ime } +} +function Lw(t) { + console && console.error && console.error(`Error: ${t}`) +} +function iV(t) { + console && console.warn && console.warn(`Warning: ${t}`) +} +function aV(t) { + const e = new Date().getTime(), + r = t() + return { time: new Date().getTime() - e, value: r } +} +function sV(t) { + function e() {} + e.prototype = t + const r = new e() + function n() { + return typeof r.bar + } + return n(), n(), t +} +function Jme(t) { + return eve(t) ? t.LABEL : t.name +} +function eve(t) { + return oa(t.LABEL) && t.LABEL !== "" +} +class lo { + get definition() { + return this._definition + } + set definition(e) { + this._definition = e + } + constructor(e) { + this._definition = e + } + accept(e) { + e.visit(this), + Ie(this.definition, (r) => { + r.accept(e) + }) + } +} +class qi extends lo { + constructor(e) { + super([]), + (this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } + set definition(e) {} + get definition() { + return this.referencedRule !== void 0 ? this.referencedRule.definition : [] + } + accept(e) { + e.visit(this) + } +} +class ff extends lo { + constructor(e) { + super(e.definition), + (this.orgText = ""), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class la extends lo { + constructor(e) { + super(e.definition), + (this.ignoreAmbiguities = !1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +let ui = class extends lo { + constructor(e) { + super(e.definition), + (this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class Na extends lo { + constructor(e) { + super(e.definition), + (this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class Da extends lo { + constructor(e) { + super(e.definition), + (this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class ln extends lo { + constructor(e) { + super(e.definition), + (this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class ma extends lo { + constructor(e) { + super(e.definition), + (this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class va extends lo { + get definition() { + return this._definition + } + set definition(e) { + this._definition = e + } + constructor(e) { + super(e.definition), + (this.idx = 1), + (this.ignoreAmbiguities = !1), + (this.hasPredicates = !1), + La( + this, + As(e, (r) => r !== void 0), + ) + } +} +class Yr { + constructor(e) { + ;(this.idx = 1), + La( + this, + As(e, (r) => r !== void 0), + ) + } + accept(e) { + e.visit(this) + } +} +function tve(t) { + return ht(t, Rm) +} +function Rm(t) { + function e(r) { + return ht(r, Rm) + } + if (t instanceof qi) { + const r = { type: "NonTerminal", name: t.nonTerminalName, idx: t.idx } + return oa(t.label) && (r.label = t.label), r + } else { + if (t instanceof la) return { type: "Alternative", definition: e(t.definition) } + if (t instanceof ui) return { type: "Option", idx: t.idx, definition: e(t.definition) } + if (t instanceof Na) return { type: "RepetitionMandatory", idx: t.idx, definition: e(t.definition) } + if (t instanceof Da) + return { + type: "RepetitionMandatoryWithSeparator", + idx: t.idx, + separator: Rm(new Yr({ terminalType: t.separator })), + definition: e(t.definition), + } + if (t instanceof ma) + return { + type: "RepetitionWithSeparator", + idx: t.idx, + separator: Rm(new Yr({ terminalType: t.separator })), + definition: e(t.definition), + } + if (t instanceof ln) return { type: "Repetition", idx: t.idx, definition: e(t.definition) } + if (t instanceof va) return { type: "Alternation", idx: t.idx, definition: e(t.definition) } + if (t instanceof Yr) { + const r = { type: "Terminal", name: t.terminalType.name, label: Jme(t.terminalType), idx: t.idx } + oa(t.label) && (r.terminalLabel = t.label) + const n = t.terminalType.PATTERN + return t.terminalType.PATTERN && (r.pattern = Xo(n) ? n.source : n), r + } else { + if (t instanceof ff) return { type: "Rule", name: t.name, orgText: t.orgText, definition: e(t.definition) } + throw Error("non exhaustive match") + } + } +} +class pf { + visit(e) { + const r = e + switch (r.constructor) { + case qi: + return this.visitNonTerminal(r) + case la: + return this.visitAlternative(r) + case ui: + return this.visitOption(r) + case Na: + return this.visitRepetitionMandatory(r) + case Da: + return this.visitRepetitionMandatoryWithSeparator(r) + case ma: + return this.visitRepetitionWithSeparator(r) + case ln: + return this.visitRepetition(r) + case va: + return this.visitAlternation(r) + case Yr: + return this.visitTerminal(r) + case ff: + return this.visitRule(r) + default: + throw Error("non exhaustive match") + } + } + visitNonTerminal(e) {} + visitAlternative(e) {} + visitOption(e) {} + visitRepetition(e) {} + visitRepetitionMandatory(e) {} + visitRepetitionMandatoryWithSeparator(e) {} + visitRepetitionWithSeparator(e) {} + visitAlternation(e) {} + visitTerminal(e) {} + visitRule(e) {} +} +function rve(t) { + return ( + t instanceof la || + t instanceof ui || + t instanceof ln || + t instanceof Na || + t instanceof Da || + t instanceof ma || + t instanceof Yr || + t instanceof ff + ) +} +function wy(t, e = []) { + return t instanceof ui || t instanceof ln || t instanceof ma + ? !0 + : t instanceof va + ? iz(t.definition, (n) => wy(n, e)) + : t instanceof qi && Yi(e, t) + ? !1 + : t instanceof lo + ? (t instanceof qi && e.push(t), vs(t.definition, (n) => wy(n, e))) + : !1 +} +function nve(t) { + return t instanceof va +} +function zs(t) { + if (t instanceof qi) return "SUBRULE" + if (t instanceof ui) return "OPTION" + if (t instanceof va) return "OR" + if (t instanceof Na) return "AT_LEAST_ONE" + if (t instanceof Da) return "AT_LEAST_ONE_SEP" + if (t instanceof ma) return "MANY_SEP" + if (t instanceof ln) return "MANY" + if (t instanceof Yr) return "CONSUME" + throw Error("non exhaustive match") +} +class hx { + walk(e, r = []) { + Ie(e.definition, (n, i) => { + const a = ai(e.definition, i + 1) + if (n instanceof qi) this.walkProdRef(n, a, r) + else if (n instanceof Yr) this.walkTerminal(n, a, r) + else if (n instanceof la) this.walkFlat(n, a, r) + else if (n instanceof ui) this.walkOption(n, a, r) + else if (n instanceof Na) this.walkAtLeastOne(n, a, r) + else if (n instanceof Da) this.walkAtLeastOneSep(n, a, r) + else if (n instanceof ma) this.walkManySep(n, a, r) + else if (n instanceof ln) this.walkMany(n, a, r) + else if (n instanceof va) this.walkOr(n, a, r) + else throw Error("non exhaustive match") + }) + } + walkTerminal(e, r, n) {} + walkProdRef(e, r, n) {} + walkFlat(e, r, n) { + const i = r.concat(n) + this.walk(e, i) + } + walkOption(e, r, n) { + const i = r.concat(n) + this.walk(e, i) + } + walkAtLeastOne(e, r, n) { + const i = [new ui({ definition: e.definition })].concat(r, n) + this.walk(e, i) + } + walkAtLeastOneSep(e, r, n) { + const i = sA(e, r, n) + this.walk(e, i) + } + walkMany(e, r, n) { + const i = [new ui({ definition: e.definition })].concat(r, n) + this.walk(e, i) + } + walkManySep(e, r, n) { + const i = sA(e, r, n) + this.walk(e, i) + } + walkOr(e, r, n) { + const i = r.concat(n) + Ie(e.definition, (a) => { + const s = new la({ definition: [a] }) + this.walk(s, i) + }) + } +} +function sA(t, e, r) { + return [new ui({ definition: [new Yr({ terminalType: t.separator })].concat(t.definition) })].concat(e, r) +} +function Ng(t) { + if (t instanceof qi) return Ng(t.referencedRule) + if (t instanceof Yr) return sve(t) + if (rve(t)) return ive(t) + if (nve(t)) return ave(t) + throw Error("non exhaustive match") +} +function ive(t) { + let e = [] + const r = t.definition + let n = 0, + i = r.length > n, + a, + s = !0 + for (; i && s; ) (a = r[n]), (s = wy(a)), (e = e.concat(Ng(a))), (n = n + 1), (i = r.length > n) + return jE(e) +} +function ave(t) { + const e = ht(t.definition, (r) => Ng(r)) + return jE(Xn(e)) +} +function sve(t) { + return [t.terminalType] +} +const oV = "_~IN~_" +class ove extends hx { + constructor(e) { + super(), (this.topProd = e), (this.follows = {}) + } + startWalking() { + return this.walk(this.topProd), this.follows + } + walkTerminal(e, r, n) {} + walkProdRef(e, r, n) { + const i = cve(e.referencedRule, e.idx) + this.topProd.name, + a = r.concat(n), + s = new la({ definition: a }), + o = Ng(s) + this.follows[i] = o + } +} +function lve(t) { + const e = {} + return ( + Ie(t, (r) => { + const n = new ove(r).startWalking() + La(e, n) + }), + e + ) +} +function cve(t, e) { + return t.name + e + oV +} +let Nm = {} +const uve = new Kz() +function dx(t) { + const e = t.toString() + if (Nm.hasOwnProperty(e)) return Nm[e] + { + const r = uve.pattern(e) + return (Nm[e] = r), r + } +} +function hve() { + Nm = {} +} +const lV = "Complement Sets are not supported for first char optimization", + Ty = `Unable to use "first char" lexer optimizations: +` +function dve(t, e = !1) { + try { + const r = dx(t) + return Rw(r.value, {}, r.flags.ignoreCase) + } catch (r) { + if (r.message === lV) + e && + iV(`${Ty} Unable to optimize: < ${t.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`) + else { + let n = "" + e && + (n = ` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`), + Lw( + `${Ty} + Failed parsing: < ${t.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues` + n, + ) + } + } + return [] +} +function Rw(t, e, r) { + switch (t.type) { + case "Disjunction": + for (let i = 0; i < t.value.length; i++) Rw(t.value[i], e, r) + break + case "Alternative": + const n = t.value + for (let i = 0; i < n.length; i++) { + const a = n[i] + switch (a.type) { + case "EndAnchor": + case "GroupBackReference": + case "Lookahead": + case "NegativeLookahead": + case "StartAnchor": + case "WordBoundary": + case "NonWordBoundary": + continue + } + const s = a + switch (s.type) { + case "Character": + O1(s.value, e, r) + break + case "Set": + if (s.complement === !0) throw Error(lV) + Ie(s.value, (l) => { + if (typeof l == "number") O1(l, e, r) + else { + const u = l + if (r === !0) for (let h = u.from; h <= u.to; h++) O1(h, e, r) + else { + for (let h = u.from; h <= u.to && h < O0; h++) O1(h, e, r) + if (u.to >= O0) { + const h = u.from >= O0 ? u.from : O0, + d = u.to, + f = Pl(h), + p = Pl(d) + for (let g = f; g <= p; g++) e[g] = g + } + } + } + }) + break + case "Group": + Rw(s.value, e, r) + break + default: + throw Error("Non Exhaustive Match") + } + const o = s.quantifier !== void 0 && s.quantifier.atLeast === 0 + if ((s.type === "Group" && Nw(s) === !1) || (s.type !== "Group" && o === !1)) break + } + break + default: + throw Error("non exhaustive match!") + } + return Or(e) +} +function O1(t, e, r) { + const n = Pl(t) + ;(e[n] = n), r === !0 && fve(t, e) +} +function fve(t, e) { + const r = String.fromCharCode(t), + n = r.toUpperCase() + if (n !== r) { + const i = Pl(n.charCodeAt(0)) + e[i] = i + } else { + const i = r.toLowerCase() + if (i !== r) { + const a = Pl(i.charCodeAt(0)) + e[a] = a + } + } +} +function oA(t, e) { + return Yo(t.value, (r) => { + if (typeof r == "number") return Yi(e, r) + { + const n = r + return Yo(e, (i) => n.from <= i && i <= n.to) !== void 0 + } + }) +} +function Nw(t) { + const e = t.quantifier + return e && e.atLeast === 0 ? !0 : t.value ? (lr(t.value) ? vs(t.value, Nw) : Nw(t.value)) : !1 +} +class pve extends cx { + constructor(e) { + super(), (this.targetCharCodes = e), (this.found = !1) + } + visitChildren(e) { + if (this.found !== !0) { + switch (e.type) { + case "Lookahead": + this.visitLookahead(e) + return + case "NegativeLookahead": + this.visitNegativeLookahead(e) + return + } + super.visitChildren(e) + } + } + visitCharacter(e) { + Yi(this.targetCharCodes, e.value) && (this.found = !0) + } + visitSet(e) { + e.complement + ? oA(e, this.targetCharCodes) === void 0 && (this.found = !0) + : oA(e, this.targetCharCodes) !== void 0 && (this.found = !0) + } +} +function mk(t, e) { + if (e instanceof RegExp) { + const r = dx(e), + n = new pve(t) + return n.visit(r), n.found + } else return Yo(e, (r) => Yi(t, r.charCodeAt(0))) !== void 0 +} +const nu = "PATTERN", + M0 = "defaultMode", + P1 = "modes" +let cV = typeof new RegExp("(?:)").sticky == "boolean" +function gve(t, e) { + e = tx(e, { + useSticky: cV, + debug: !1, + safeMode: !1, + positionTracking: "full", + lineTerminatorCharacters: [ + "\r", + ` +`, + ], + tracer: (b, w) => w(), + }) + const r = e.tracer + r("initCharCodeToOptimizedIndexMap", () => { + Fve() + }) + let n + r("Reject Lexer.NA", () => { + n = ix(t, (b) => b[nu] === ia.NA) + }) + let i = !1, + a + r("Transform Patterns", () => { + ;(i = !1), + (a = ht(n, (b) => { + const w = b[nu] + if (Xo(w)) { + const T = w.source + return T.length === 1 && T !== "^" && T !== "$" && T !== "." && !w.ignoreCase + ? T + : T.length === 2 && + T[0] === "\\" && + !Yi( + ["d", "D", "s", "S", "t", "r", "n", "t", "0", "c", "b", "B", "f", "v", "w", "W"], + T[1], + ) + ? T[1] + : e.useSticky + ? cA(w) + : lA(w) + } else { + if (ts(w)) return (i = !0), { exec: w } + if (typeof w == "object") return (i = !0), w + if (typeof w == "string") { + if (w.length === 1) return w + { + const T = w.replace(/[\\^$.*+?()[\]{}|]/g, "\\$&"), + E = new RegExp(T) + return e.useSticky ? cA(E) : lA(E) + } + } else throw Error("non exhaustive match") + } + })) + }) + let s, o, l, u, h + r("misc mapping", () => { + ;(s = ht(n, (b) => b.tokenTypeIdx)), + (o = ht(n, (b) => { + const w = b.GROUP + if (w !== ia.SKIPPED) { + if (oa(w)) return w + if (kr(w)) return !1 + throw Error("non exhaustive match") + } + })), + (l = ht(n, (b) => { + const w = b.LONGER_ALT + if (w) return lr(w) ? ht(w, (E) => B8(n, E)) : [B8(n, w)] + })), + (u = ht(n, (b) => b.PUSH_MODE)), + (h = ht(n, (b) => $t(b, "POP_MODE"))) + }) + let d + r("Line Terminator Handling", () => { + const b = dV(e.lineTerminatorCharacters) + ;(d = ht(n, (w) => !1)), + e.positionTracking !== "onlyOffset" && + (d = ht(n, (w) => ($t(w, "LINE_BREAKS") ? !!w.LINE_BREAKS : hV(w, b) === !1 && mk(b, w.PATTERN)))) + }) + let f, p, g, m + r("Misc Mapping #2", () => { + ;(f = ht(n, uV)), + (p = ht(a, Ove)), + (g = kn( + n, + (b, w) => { + const T = w.GROUP + return oa(T) && T !== ia.SKIPPED && (b[T] = []), b + }, + {}, + )), + (m = ht(a, (b, w) => ({ + pattern: a[w], + longerAlt: l[w], + canLineTerminator: d[w], + isCustom: f[w], + short: p[w], + group: o[w], + push: u[w], + pop: h[w], + tokenTypeIdx: s[w], + tokenType: n[w], + }))) + }) + let v = !0, + y = [] + return ( + e.safeMode || + r("First Char Optimization", () => { + y = kn( + n, + (b, w, T) => { + if (typeof w.PATTERN == "string") { + const E = w.PATTERN.charCodeAt(0), + S = Pl(E) + s4(b, S, m[T]) + } else if (lr(w.START_CHARS_HINT)) { + let E + Ie(w.START_CHARS_HINT, (S) => { + const k = typeof S == "string" ? S.charCodeAt(0) : S, + L = Pl(k) + E !== L && ((E = L), s4(b, L, m[T])) + }) + } else if (Xo(w.PATTERN)) + if (w.PATTERN.unicode) + (v = !1), + e.ensureOptimizations && + Lw(`${Ty} Unable to analyze < ${w.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`) + else { + const E = dve(w.PATTERN, e.ensureOptimizations) + br(E) && (v = !1), + Ie(E, (S) => { + s4(b, S, m[T]) + }) + } + else + e.ensureOptimizations && + Lw(`${Ty} TokenType: <${w.name}> is using a custom token pattern without providing <start_chars_hint> parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`), + (v = !1) + return b + }, + [], + ) + }), + { emptyGroups: g, patternIdxToConfig: m, charCodeToPatternIdxToConfig: y, hasCustom: i, canBeOptimized: v } + ) +} +function mve(t, e) { + let r = [] + const n = yve(t) + r = r.concat(n.errors) + const i = xve(n.valid), + a = i.valid + return ( + (r = r.concat(i.errors)), + (r = r.concat(vve(a))), + (r = r.concat(Ave(a))), + (r = r.concat(_ve(a, e))), + (r = r.concat(Lve(a))), + r + ) +} +function vve(t) { + let e = [] + const r = un(t, (n) => Xo(n[nu])) + return ( + (e = e.concat(wve(r))), + (e = e.concat(kve(r))), + (e = e.concat(Sve(r))), + (e = e.concat(Cve(r))), + (e = e.concat(Tve(r))), + e + ) +} +function yve(t) { + const e = un(t, (i) => !$t(i, nu)), + r = ht(e, (i) => ({ + message: "Token Type: ->" + i.name + "<- missing static 'PATTERN' property", + type: cn.MISSING_PATTERN, + tokenTypes: [i], + })), + n = rx(t, e) + return { errors: r, valid: n } +} +function xve(t) { + const e = un(t, (i) => { + const a = i[nu] + return !Xo(a) && !ts(a) && !$t(a, "exec") && !oa(a) + }), + r = ht(e, (i) => ({ + message: + "Token Type: ->" + + i.name + + "<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.", + type: cn.INVALID_PATTERN, + tokenTypes: [i], + })), + n = rx(t, e) + return { errors: r, valid: n } +} +const bve = /[^\\][$]/ +function wve(t) { + class e extends cx { + constructor() { + super(...arguments), (this.found = !1) + } + visitEndAnchor(a) { + this.found = !0 + } + } + const r = un(t, (i) => { + const a = i.PATTERN + try { + const s = dx(a), + o = new e() + return o.visit(s), o.found + } catch { + return bve.test(a.source) + } + }) + return ht(r, (i) => ({ + message: + `Unexpected RegExp Anchor Error: + Token Type: ->` + + i.name + + `<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`, + type: cn.EOI_ANCHOR_FOUND, + tokenTypes: [i], + })) +} +function Tve(t) { + const e = un(t, (n) => n.PATTERN.test("")) + return ht(e, (n) => ({ + message: "Token Type: ->" + n.name + "<- static 'PATTERN' must not match an empty string", + type: cn.EMPTY_MATCH_PATTERN, + tokenTypes: [n], + })) +} +const Eve = /[^\\[][\^]|^\^/ +function kve(t) { + class e extends cx { + constructor() { + super(...arguments), (this.found = !1) + } + visitStartAnchor(a) { + this.found = !0 + } + } + const r = un(t, (i) => { + const a = i.PATTERN + try { + const s = dx(a), + o = new e() + return o.visit(s), o.found + } catch { + return Eve.test(a.source) + } + }) + return ht(r, (i) => ({ + message: + `Unexpected RegExp Anchor Error: + Token Type: ->` + + i.name + + `<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`, + type: cn.SOI_ANCHOR_FOUND, + tokenTypes: [i], + })) +} +function Sve(t) { + const e = un(t, (n) => { + const i = n[nu] + return i instanceof RegExp && (i.multiline || i.global) + }) + return ht(e, (n) => ({ + message: "Token Type: ->" + n.name + "<- static 'PATTERN' may NOT contain global('g') or multiline('m')", + type: cn.UNSUPPORTED_FLAGS_FOUND, + tokenTypes: [n], + })) +} +function Cve(t) { + const e = [] + let r = ht(t, (a) => + kn( + t, + (s, o) => ( + a.PATTERN.source === o.PATTERN.source && !Yi(e, o) && o.PATTERN !== ia.NA && (e.push(o), s.push(o)), s + ), + [], + ), + ) + r = Sg(r) + const n = un(r, (a) => a.length > 1) + return ht(n, (a) => { + const s = ht(a, (l) => l.name) + return { + message: `The same RegExp pattern ->${Es(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`, + type: cn.DUPLICATE_PATTERNS_FOUND, + tokenTypes: a, + } + }) +} +function Ave(t) { + const e = un(t, (n) => { + if (!$t(n, "GROUP")) return !1 + const i = n.GROUP + return i !== ia.SKIPPED && i !== ia.NA && !oa(i) + }) + return ht(e, (n) => ({ + message: "Token Type: ->" + n.name + "<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String", + type: cn.INVALID_GROUP_TYPE_FOUND, + tokenTypes: [n], + })) +} +function _ve(t, e) { + const r = un(t, (i) => i.PUSH_MODE !== void 0 && !Yi(e, i.PUSH_MODE)) + return ht(r, (i) => ({ + message: `Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`, + type: cn.PUSH_MODE_DOES_NOT_EXIST, + tokenTypes: [i], + })) +} +function Lve(t) { + const e = [], + r = kn( + t, + (n, i, a) => { + const s = i.PATTERN + return ( + s === ia.NA || + (oa(s) + ? n.push({ str: s, idx: a, tokenType: i }) + : Xo(s) && Nve(s) && n.push({ str: s.source, idx: a, tokenType: i })), + n + ) + }, + [], + ) + return ( + Ie(t, (n, i) => { + Ie(r, ({ str: a, idx: s, tokenType: o }) => { + if (i < s && Rve(a, n.PATTERN)) { + const l = `Token: ->${o.name}<- can never be matched. +Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE` + e.push({ message: l, type: cn.UNREACHABLE_PATTERN, tokenTypes: [n, o] }) + } + }) + }), + e + ) +} +function Rve(t, e) { + if (Xo(e)) { + const r = e.exec(t) + return r !== null && r.index === 0 + } else { + if (ts(e)) return e(t, 0, [], {}) + if ($t(e, "exec")) return e.exec(t, 0, [], {}) + if (typeof e == "string") return e === t + throw Error("non exhaustive match") + } +} +function Nve(t) { + return ( + Yo([".", "\\", "[", "]", "|", "^", "$", "(", ")", "?", "*", "+", "{"], (r) => t.source.indexOf(r) !== -1) === + void 0 + ) +} +function lA(t) { + const e = t.ignoreCase ? "i" : "" + return new RegExp(`^(?:${t.source})`, e) +} +function cA(t) { + const e = t.ignoreCase ? "iy" : "y" + return new RegExp(`${t.source}`, e) +} +function Dve(t, e, r) { + const n = [] + return ( + $t(t, M0) || + n.push({ + message: + "A MultiMode Lexer cannot be initialized without a <" + + M0 + + `> property in its definition +`, + type: cn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE, + }), + $t(t, P1) || + n.push({ + message: + "A MultiMode Lexer cannot be initialized without a <" + + P1 + + `> property in its definition +`, + type: cn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY, + }), + $t(t, P1) && + $t(t, M0) && + !$t(t.modes, t.defaultMode) && + n.push({ + message: `A MultiMode Lexer cannot be initialized with a ${M0}: <${t.defaultMode}>which does not exist +`, + type: cn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST, + }), + $t(t, P1) && + Ie(t.modes, (i, a) => { + Ie(i, (s, o) => { + if (kr(s)) + n.push({ + message: `A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${o}> +`, + type: cn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED, + }) + else if ($t(s, "LONGER_ALT")) { + const l = lr(s.LONGER_ALT) ? s.LONGER_ALT : [s.LONGER_ALT] + Ie(l, (u) => { + !kr(u) && + !Yi(i, u) && + n.push({ + message: `A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${a}> +`, + type: cn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE, + }) + }) + } + }) + }), + n + ) +} +function Ive(t, e, r) { + const n = [] + let i = !1 + const a = Sg(Xn(Or(t.modes))), + s = ix(a, (l) => l[nu] === ia.NA), + o = dV(r) + return ( + e && + Ie(s, (l) => { + const u = hV(l, o) + if (u !== !1) { + const d = { message: Bve(l, u), type: u.issue, tokenType: l } + n.push(d) + } else $t(l, "LINE_BREAKS") ? l.LINE_BREAKS === !0 && (i = !0) : mk(o, l.PATTERN) && (i = !0) + }), + e && + !i && + n.push({ + message: `Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`, + type: cn.NO_LINE_BREAKS_FLAGS, + }), + n + ) +} +function Mve(t) { + const e = {}, + r = In(t) + return ( + Ie(r, (n) => { + const i = t[n] + if (lr(i)) e[n] = [] + else throw Error("non exhaustive match") + }), + e + ) +} +function uV(t) { + const e = t.PATTERN + if (Xo(e)) return !1 + if (ts(e)) return !0 + if ($t(e, "exec")) return !0 + if (oa(e)) return !1 + throw Error("non exhaustive match") +} +function Ove(t) { + return oa(t) && t.length === 1 ? t.charCodeAt(0) : !1 +} +const Pve = { + test: function (t) { + const e = t.length + for (let r = this.lastIndex; r < e; r++) { + const n = t.charCodeAt(r) + if (n === 10) return (this.lastIndex = r + 1), !0 + if (n === 13) return t.charCodeAt(r + 1) === 10 ? (this.lastIndex = r + 2) : (this.lastIndex = r + 1), !0 + } + return !1 + }, + lastIndex: 0, +} +function hV(t, e) { + if ($t(t, "LINE_BREAKS")) return !1 + if (Xo(t.PATTERN)) { + try { + mk(e, t.PATTERN) + } catch (r) { + return { issue: cn.IDENTIFY_TERMINATOR, errMsg: r.message } + } + return !1 + } else { + if (oa(t.PATTERN)) return !1 + if (uV(t)) return { issue: cn.CUSTOM_LINE_BREAK } + throw Error("non exhaustive match") + } +} +function Bve(t, e) { + if (e.issue === cn.IDENTIFY_TERMINATOR) + return `Warning: unable to identify line terminator usage in pattern. + The problem is in the <${t.name}> Token Type + Root cause: ${e.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR` + if (e.issue === cn.CUSTOM_LINE_BREAK) + return `Warning: A Custom Token Pattern should specify the <line_breaks> option. + The problem is in the <${t.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK` + throw Error("non exhaustive match") +} +function dV(t) { + return ht(t, (r) => (oa(r) ? r.charCodeAt(0) : r)) +} +function s4(t, e, r) { + t[e] === void 0 ? (t[e] = [r]) : t[e].push(r) +} +const O0 = 256 +let Dm = [] +function Pl(t) { + return t < O0 ? t : Dm[t] +} +function Fve() { + if (br(Dm)) { + Dm = new Array(65536) + for (let t = 0; t < 65536; t++) Dm[t] = t > 255 ? 255 + ~~(t / 255) : t + } +} +function Dg(t, e) { + const r = t.tokenTypeIdx + return r === e.tokenTypeIdx ? !0 : e.isParent === !0 && e.categoryMatchesMap[r] === !0 +} +function Ey(t, e) { + return t.tokenTypeIdx === e.tokenTypeIdx +} +let uA = 1 +const fV = {} +function Ig(t) { + const e = $ve(t) + zve(e), + Gve(e), + Vve(e), + Ie(e, (r) => { + r.isParent = r.categoryMatches.length > 0 + }) +} +function $ve(t) { + let e = zn(t), + r = t, + n = !0 + for (; n; ) { + r = Sg(Xn(ht(r, (a) => a.CATEGORIES))) + const i = rx(r, e) + ;(e = e.concat(i)), br(i) ? (n = !1) : (r = i) + } + return e +} +function zve(t) { + Ie(t, (e) => { + gV(e) || ((fV[uA] = e), (e.tokenTypeIdx = uA++)), + hA(e) && !lr(e.CATEGORIES) && (e.CATEGORIES = [e.CATEGORIES]), + hA(e) || (e.CATEGORIES = []), + Uve(e) || (e.categoryMatches = []), + qve(e) || (e.categoryMatchesMap = {}) + }) +} +function Vve(t) { + Ie(t, (e) => { + ;(e.categoryMatches = []), + Ie(e.categoryMatchesMap, (r, n) => { + e.categoryMatches.push(fV[n].tokenTypeIdx) + }) + }) +} +function Gve(t) { + Ie(t, (e) => { + pV([], e) + }) +} +function pV(t, e) { + Ie(t, (r) => { + e.categoryMatchesMap[r.tokenTypeIdx] = !0 + }), + Ie(e.CATEGORIES, (r) => { + const n = t.concat(e) + Yi(n, r) || pV(n, r) + }) +} +function gV(t) { + return $t(t, "tokenTypeIdx") +} +function hA(t) { + return $t(t, "CATEGORIES") +} +function Uve(t) { + return $t(t, "categoryMatches") +} +function qve(t) { + return $t(t, "categoryMatchesMap") +} +function Wve(t) { + return $t(t, "tokenTypeIdx") +} +const Dw = { + buildUnableToPopLexerModeMessage(t) { + return `Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty` + }, + buildUnexpectedCharactersMessage(t, e, r, n, i) { + return `unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.` + }, +} +var cn +;(function (t) { + ;(t[(t.MISSING_PATTERN = 0)] = "MISSING_PATTERN"), + (t[(t.INVALID_PATTERN = 1)] = "INVALID_PATTERN"), + (t[(t.EOI_ANCHOR_FOUND = 2)] = "EOI_ANCHOR_FOUND"), + (t[(t.UNSUPPORTED_FLAGS_FOUND = 3)] = "UNSUPPORTED_FLAGS_FOUND"), + (t[(t.DUPLICATE_PATTERNS_FOUND = 4)] = "DUPLICATE_PATTERNS_FOUND"), + (t[(t.INVALID_GROUP_TYPE_FOUND = 5)] = "INVALID_GROUP_TYPE_FOUND"), + (t[(t.PUSH_MODE_DOES_NOT_EXIST = 6)] = "PUSH_MODE_DOES_NOT_EXIST"), + (t[(t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7)] = "MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE"), + (t[(t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8)] = "MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY"), + (t[(t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9)] = + "MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST"), + (t[(t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10)] = "LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED"), + (t[(t.SOI_ANCHOR_FOUND = 11)] = "SOI_ANCHOR_FOUND"), + (t[(t.EMPTY_MATCH_PATTERN = 12)] = "EMPTY_MATCH_PATTERN"), + (t[(t.NO_LINE_BREAKS_FLAGS = 13)] = "NO_LINE_BREAKS_FLAGS"), + (t[(t.UNREACHABLE_PATTERN = 14)] = "UNREACHABLE_PATTERN"), + (t[(t.IDENTIFY_TERMINATOR = 15)] = "IDENTIFY_TERMINATOR"), + (t[(t.CUSTOM_LINE_BREAK = 16)] = "CUSTOM_LINE_BREAK"), + (t[(t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE = 17)] = + "MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE") +})(cn || (cn = {})) +const P0 = { + deferDefinitionErrorsHandling: !1, + positionTracking: "full", + lineTerminatorsPattern: /\n|\r\n?/g, + lineTerminatorCharacters: [ + ` +`, + "\r", + ], + ensureOptimizations: !1, + safeMode: !1, + errorMessageProvider: Dw, + traceInitPerf: !1, + skipValidations: !1, + recoveryEnabled: !0, +} +Object.freeze(P0) +class ia { + constructor(e, r = P0) { + if ( + ((this.lexerDefinition = e), + (this.lexerDefinitionErrors = []), + (this.lexerDefinitionWarning = []), + (this.patternIdxToConfig = {}), + (this.charCodeToPatternIdxToConfig = {}), + (this.modes = []), + (this.emptyGroups = {}), + (this.trackStartLines = !0), + (this.trackEndLines = !0), + (this.hasCustom = !1), + (this.canModeBeOptimized = {}), + (this.TRACE_INIT = (i, a) => { + if (this.traceInitPerf === !0) { + this.traceInitIndent++ + const s = new Array(this.traceInitIndent + 1).join(" ") + this.traceInitIndent < this.traceInitMaxIdent && console.log(`${s}--> <${i}>`) + const { time: o, value: l } = aV(a), + u = o > 10 ? console.warn : console.log + return ( + this.traceInitIndent < this.traceInitMaxIdent && u(`${s}<-- <${i}> time: ${o}ms`), + this.traceInitIndent--, + l + ) + } else return a() + }), + typeof r == "boolean") + ) + throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`) + this.config = La({}, P0, r) + const n = this.config.traceInitPerf + n === !0 + ? ((this.traceInitMaxIdent = 1 / 0), (this.traceInitPerf = !0)) + : typeof n == "number" && ((this.traceInitMaxIdent = n), (this.traceInitPerf = !0)), + (this.traceInitIndent = -1), + this.TRACE_INIT("Lexer Constructor", () => { + let i, + a = !0 + this.TRACE_INIT("Lexer Config handling", () => { + if (this.config.lineTerminatorsPattern === P0.lineTerminatorsPattern) + this.config.lineTerminatorsPattern = Pve + else if (this.config.lineTerminatorCharacters === P0.lineTerminatorCharacters) + throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`) + if (r.safeMode && r.ensureOptimizations) + throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.') + ;(this.trackStartLines = /full|onlyStart/i.test(this.config.positionTracking)), + (this.trackEndLines = /full/i.test(this.config.positionTracking)), + lr(e) ? (i = { modes: { defaultMode: zn(e) }, defaultMode: M0 }) : ((a = !1), (i = zn(e))) + }), + this.config.skipValidations === !1 && + (this.TRACE_INIT("performRuntimeChecks", () => { + this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat( + Dve(i, this.trackStartLines, this.config.lineTerminatorCharacters), + ) + }), + this.TRACE_INIT("performWarningRuntimeChecks", () => { + this.lexerDefinitionWarning = this.lexerDefinitionWarning.concat( + Ive(i, this.trackStartLines, this.config.lineTerminatorCharacters), + ) + })), + (i.modes = i.modes ? i.modes : {}), + Ie(i.modes, (o, l) => { + i.modes[l] = ix(o, (u) => kr(u)) + }) + const s = In(i.modes) + if ( + (Ie(i.modes, (o, l) => { + this.TRACE_INIT(`Mode: <${l}> processing`, () => { + if ( + (this.modes.push(l), + this.config.skipValidations === !1 && + this.TRACE_INIT("validatePatterns", () => { + this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(mve(o, s)) + }), + br(this.lexerDefinitionErrors)) + ) { + Ig(o) + let u + this.TRACE_INIT("analyzeTokenTypes", () => { + u = gve(o, { + lineTerminatorCharacters: this.config.lineTerminatorCharacters, + positionTracking: r.positionTracking, + ensureOptimizations: r.ensureOptimizations, + safeMode: r.safeMode, + tracer: this.TRACE_INIT, + }) + }), + (this.patternIdxToConfig[l] = u.patternIdxToConfig), + (this.charCodeToPatternIdxToConfig[l] = u.charCodeToPatternIdxToConfig), + (this.emptyGroups = La({}, this.emptyGroups, u.emptyGroups)), + (this.hasCustom = u.hasCustom || this.hasCustom), + (this.canModeBeOptimized[l] = u.canBeOptimized) + } + }) + }), + (this.defaultMode = i.defaultMode), + !br(this.lexerDefinitionErrors) && !this.config.deferDefinitionErrorsHandling) + ) { + const l = ht(this.lexerDefinitionErrors, (u) => u.message).join(`----------------------- +`) + throw new Error( + `Errors detected in definition of Lexer: +` + l, + ) + } + Ie(this.lexerDefinitionWarning, (o) => { + iV(o.message) + }), + this.TRACE_INIT("Choosing sub-methods implementations", () => { + if ( + (cV + ? ((this.chopInput = Ho), (this.match = this.matchWithTest)) + : ((this.updateLastIndex = An), (this.match = this.matchWithExec)), + a && (this.handleModes = An), + this.trackStartLines === !1 && (this.computeNewColumn = Ho), + this.trackEndLines === !1 && (this.updateTokenEndLineColumnLocation = An), + /full/i.test(this.config.positionTracking)) + ) + this.createTokenInstance = this.createFullToken + else if (/onlyStart/i.test(this.config.positionTracking)) + this.createTokenInstance = this.createStartOnlyToken + else if (/onlyOffset/i.test(this.config.positionTracking)) + this.createTokenInstance = this.createOffsetOnlyToken + else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`) + this.hasCustom + ? ((this.addToken = this.addTokenUsingPush), + (this.handlePayload = this.handlePayloadWithCustom)) + : ((this.addToken = this.addTokenUsingMemberAccess), + (this.handlePayload = this.handlePayloadNoCustom)) + }), + this.TRACE_INIT("Failed Optimization Warnings", () => { + const o = kn(this.canModeBeOptimized, (l, u, h) => (u === !1 && l.push(h), l), []) + if (r.ensureOptimizations && !br(o)) + throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`) + }), + this.TRACE_INIT("clearRegExpParserCache", () => { + hve() + }), + this.TRACE_INIT("toFastProperties", () => { + sV(this) + }) + }) + } + tokenize(e, r = this.defaultMode) { + if (!br(this.lexerDefinitionErrors)) { + const i = ht(this.lexerDefinitionErrors, (a) => a.message).join(`----------------------- +`) + throw new Error( + `Unable to Tokenize because Errors detected in definition of Lexer: +` + i, + ) + } + return this.tokenizeInternal(e, r) + } + tokenizeInternal(e, r) { + let n, i, a, s, o, l, u, h, d, f, p, g, m, v, y + const b = e, + w = b.length + let T = 0, + E = 0 + const S = this.hasCustom ? 0 : Math.floor(e.length / 10), + k = new Array(S), + L = [] + let A = this.trackStartLines ? 1 : void 0, + R = this.trackStartLines ? 1 : void 0 + const C = Mve(this.emptyGroups), + I = this.trackStartLines, + P = this.config.lineTerminatorsPattern + let _ = 0, + N = [], + M = [] + const O = [], + D = [] + Object.freeze(D) + let B + function z() { + return N + } + function F(Q) { + const oe = Pl(Q), + pe = M[oe] + return pe === void 0 ? D : pe + } + const G = (Q) => { + if (O.length === 1 && Q.tokenType.PUSH_MODE === void 0) { + const oe = this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Q) + L.push({ + offset: Q.startOffset, + line: Q.startLine, + column: Q.startColumn, + length: Q.image.length, + message: oe, + }) + } else { + O.pop() + const oe = Qs(O) + ;(N = this.patternIdxToConfig[oe]), (M = this.charCodeToPatternIdxToConfig[oe]), (_ = N.length) + const pe = this.canModeBeOptimized[oe] && this.config.safeMode === !1 + M && pe ? (B = F) : (B = z) + } + } + function q(Q) { + O.push(Q), + (M = this.charCodeToPatternIdxToConfig[Q]), + (N = this.patternIdxToConfig[Q]), + (_ = N.length), + (_ = N.length) + const oe = this.canModeBeOptimized[Q] && this.config.safeMode === !1 + M && oe ? (B = F) : (B = z) + } + q.call(this, r) + let Y + const ee = this.config.recoveryEnabled + for (; T < w; ) { + l = null + const Q = b.charCodeAt(T), + oe = B(Q), + pe = oe.length + for (n = 0; n < pe; n++) { + Y = oe[n] + const j = Y.pattern + u = null + const H = Y.short + if ( + (H !== !1 + ? Q === H && (l = j) + : Y.isCustom === !0 + ? ((y = j.exec(b, T, k, C)), + y !== null ? ((l = y[0]), y.payload !== void 0 && (u = y.payload)) : (l = null)) + : (this.updateLastIndex(j, T), (l = this.match(j, e, T))), + l !== null) + ) { + if (((o = Y.longerAlt), o !== void 0)) { + const X = o.length + for (a = 0; a < X; a++) { + const W = N[o[a]], + K = W.pattern + if ( + ((h = null), + W.isCustom === !0 + ? ((y = K.exec(b, T, k, C)), + y !== null ? ((s = y[0]), y.payload !== void 0 && (h = y.payload)) : (s = null)) + : (this.updateLastIndex(K, T), (s = this.match(K, e, T))), + s && s.length > l.length) + ) { + ;(l = s), (u = h), (Y = W) + break + } + } + } + break + } + } + if (l !== null) { + if ( + ((d = l.length), + (f = Y.group), + f !== void 0 && + ((p = Y.tokenTypeIdx), + (g = this.createTokenInstance(l, T, p, Y.tokenType, A, R, d)), + this.handlePayload(g, u), + f === !1 ? (E = this.addToken(k, E, g)) : C[f].push(g)), + (e = this.chopInput(e, d)), + (T = T + d), + (R = this.computeNewColumn(R, d)), + I === !0 && Y.canLineTerminator === !0) + ) { + let j = 0, + H, + X + P.lastIndex = 0 + do (H = P.test(l)), H === !0 && ((X = P.lastIndex - 1), j++) + while (H === !0) + j !== 0 && ((A = A + j), (R = d - X), this.updateTokenEndLineColumnLocation(g, f, X, j, A, R, d)) + } + this.handleModes(Y, G, q, g) + } else { + const j = T, + H = A, + X = R + let W = ee === !1 + for (; W === !1 && T < w; ) + for (e = this.chopInput(e, 1), T++, i = 0; i < _; i++) { + const K = N[i], + ne = K.pattern, + Z = K.short + if ( + (Z !== !1 + ? b.charCodeAt(T) === Z && (W = !0) + : K.isCustom === !0 + ? (W = ne.exec(b, T, k, C) !== null) + : (this.updateLastIndex(ne, T), (W = ne.exec(e) !== null)), + W === !0) + ) + break + } + if ( + ((m = T - j), + (R = this.computeNewColumn(R, m)), + (v = this.config.errorMessageProvider.buildUnexpectedCharactersMessage(b, j, m, H, X)), + L.push({ offset: j, line: H, column: X, length: m, message: v }), + ee === !1) + ) + break + } + } + return this.hasCustom || (k.length = E), { tokens: k, groups: C, errors: L } + } + handleModes(e, r, n, i) { + if (e.pop === !0) { + const a = e.push + r(i), a !== void 0 && n.call(this, a) + } else e.push !== void 0 && n.call(this, e.push) + } + chopInput(e, r) { + return e.substring(r) + } + updateLastIndex(e, r) { + e.lastIndex = r + } + updateTokenEndLineColumnLocation(e, r, n, i, a, s, o) { + let l, u + r !== void 0 && + ((l = n === o - 1), + (u = l ? -1 : 0), + (i === 1 && l === !0) || ((e.endLine = a + u), (e.endColumn = s - 1 + -u))) + } + computeNewColumn(e, r) { + return e + r + } + createOffsetOnlyToken(e, r, n, i) { + return { image: e, startOffset: r, tokenTypeIdx: n, tokenType: i } + } + createStartOnlyToken(e, r, n, i, a, s) { + return { image: e, startOffset: r, startLine: a, startColumn: s, tokenTypeIdx: n, tokenType: i } + } + createFullToken(e, r, n, i, a, s, o) { + return { + image: e, + startOffset: r, + endOffset: r + o - 1, + startLine: a, + endLine: a, + startColumn: s, + endColumn: s + o - 1, + tokenTypeIdx: n, + tokenType: i, + } + } + addTokenUsingPush(e, r, n) { + return e.push(n), r + } + addTokenUsingMemberAccess(e, r, n) { + return (e[r] = n), r++, r + } + handlePayloadNoCustom(e, r) {} + handlePayloadWithCustom(e, r) { + r !== null && (e.payload = r) + } + matchWithTest(e, r, n) { + return e.test(r) === !0 ? r.substring(n, e.lastIndex) : null + } + matchWithExec(e, r) { + const n = e.exec(r) + return n !== null ? n[0] : null + } +} +ia.SKIPPED = + "This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace." +ia.NA = /NOT_APPLICABLE/ +function bh(t) { + return mV(t) ? t.LABEL : t.name +} +function mV(t) { + return oa(t.LABEL) && t.LABEL !== "" +} +const Hve = "parent", + dA = "categories", + fA = "label", + pA = "group", + gA = "push_mode", + mA = "pop_mode", + vA = "longer_alt", + yA = "line_breaks", + xA = "start_chars_hint" +function vV(t) { + return Yve(t) +} +function Yve(t) { + const e = t.pattern, + r = {} + if (((r.name = t.name), kr(e) || (r.PATTERN = e), $t(t, Hve))) + throw `The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.` + return ( + $t(t, dA) && (r.CATEGORIES = t[dA]), + Ig([r]), + $t(t, fA) && (r.LABEL = t[fA]), + $t(t, pA) && (r.GROUP = t[pA]), + $t(t, mA) && (r.POP_MODE = t[mA]), + $t(t, gA) && (r.PUSH_MODE = t[gA]), + $t(t, vA) && (r.LONGER_ALT = t[vA]), + $t(t, yA) && (r.LINE_BREAKS = t[yA]), + $t(t, xA) && (r.START_CHARS_HINT = t[xA]), + r + ) +} +const Bl = vV({ name: "EOF", pattern: ia.NA }) +Ig([Bl]) +function vk(t, e, r, n, i, a, s, o) { + return { + image: e, + startOffset: r, + endOffset: n, + startLine: i, + endLine: a, + startColumn: s, + endColumn: o, + tokenTypeIdx: t.tokenTypeIdx, + tokenType: t, + } +} +function yV(t, e) { + return Dg(t, e) +} +const oh = { + buildMismatchTokenMessage({ expected: t, actual: e, previous: r, ruleName: n }) { + return `Expecting ${mV(t) ? `--> ${bh(t)} <--` : `token of type --> ${t.name} <--`} but found --> '${e.image}' <--` + }, + buildNotAllInputParsedMessage({ firstRedundant: t, ruleName: e }) { + return "Redundant input, expecting EOF but found: " + t.image + }, + buildNoViableAltMessage({ expectedPathsPerAlt: t, actual: e, previous: r, customUserDescription: n, ruleName: i }) { + const a = "Expecting: ", + o = + ` +but found: '` + + Es(e).image + + "'" + if (n) return a + n + o + { + const l = kn(t, (f, p) => f.concat(p), []), + u = ht(l, (f) => `[${ht(f, (p) => bh(p)).join(", ")}]`), + d = `one of these possible Token sequences: +${ht(u, (f, p) => ` ${p + 1}. ${f}`).join(` +`)}` + return a + d + o + } + }, + buildEarlyExitMessage({ expectedIterationPaths: t, actual: e, customUserDescription: r, ruleName: n }) { + const i = "Expecting: ", + s = + ` +but found: '` + + Es(e).image + + "'" + if (r) return i + r + s + { + const l = `expecting at least one iteration which starts with one of these possible Token sequences:: + <${ht(t, (u) => `[${ht(u, (h) => bh(h)).join(",")}]`).join(" ,")}>` + return i + l + s + } + }, +} +Object.freeze(oh) +const Xve = { + buildRuleNotFoundError(t, e) { + return ( + "Invalid grammar, reference to a rule which is not defined: ->" + + e.nonTerminalName + + `<- +inside top level rule: ->` + + t.name + + "<-" + ) + }, + }, + Oc = { + buildDuplicateFoundError(t, e) { + function r(h) { + return h instanceof Yr ? h.terminalType.name : h instanceof qi ? h.nonTerminalName : "" + } + const n = t.name, + i = Es(e), + a = i.idx, + s = zs(i), + o = r(i), + l = a > 0 + let u = `->${s}${l ? a : ""}<- ${o ? `with argument: ->${o}<-` : ""} + appears more than once (${e.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + ` + return ( + (u = u.replace(/[ \t]+/g, " ")), + (u = u.replace( + /\s\s+/g, + ` +`, + )), + u + ) + }, + buildNamespaceConflictError(t) { + return `Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.` + }, + buildAlternationPrefixAmbiguityError(t) { + const e = ht(t.prefixPath, (i) => bh(i)).join(", "), + r = t.alternation.idx === 0 ? "" : t.alternation.idx + return `Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in <OR${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.` + }, + buildAlternationAmbiguityError(t) { + const e = ht(t.prefixPath, (i) => bh(i)).join(", "), + r = t.alternation.idx === 0 ? "" : t.alternation.idx + let n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +` + return ( + (n = + n + + `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`), + n + ) + }, + buildEmptyRepetitionError(t) { + let e = zs(t.repetition) + return ( + t.repetition.idx !== 0 && (e += t.repetition.idx), + `The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.` + ) + }, + buildTokenNameError(t) { + return "deprecated" + }, + buildEmptyAlternationError(t) { + return `Ambiguous empty alternative: <${t.emptyChoiceIdx + 1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.` + }, + buildTooManyAlternativesError(t) { + return `An Alternation cannot have more than 256 alternatives: +<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule. + has ${t.alternation.definition.length + 1} alternatives.` + }, + buildLeftRecursionError(t) { + const e = t.topLevelRule.name, + r = ht(t.leftRecursionPath, (a) => a.name), + n = `${e} --> ${r.concat([e]).join(" --> ")}` + return `Left Recursion found in grammar. +rule: <${e}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.` + }, + buildInvalidRuleNameError(t) { + return "deprecated" + }, + buildDuplicateRuleNameError(t) { + let e + return ( + t.topLevelRule instanceof ff ? (e = t.topLevelRule.name) : (e = t.topLevelRule), + `Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-` + ) + }, + } +function jve(t, e) { + const r = new Kve(t, e) + return r.resolveRefs(), r.errors +} +class Kve extends pf { + constructor(e, r) { + super(), (this.nameToTopRule = e), (this.errMsgProvider = r), (this.errors = []) + } + resolveRefs() { + Ie(Or(this.nameToTopRule), (e) => { + ;(this.currTopLevel = e), e.accept(this) + }) + } + visitNonTerminal(e) { + const r = this.nameToTopRule[e.nonTerminalName] + if (r) e.referencedRule = r + else { + const n = this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel, e) + this.errors.push({ + message: n, + type: Wi.UNRESOLVED_SUBRULE_REF, + ruleName: this.currTopLevel.name, + unresolvedRefName: e.nonTerminalName, + }) + } + } +} +class Zve extends hx { + constructor(e, r) { + super(), + (this.topProd = e), + (this.path = r), + (this.possibleTokTypes = []), + (this.nextProductionName = ""), + (this.nextProductionOccurrence = 0), + (this.found = !1), + (this.isAtEndOfPath = !1) + } + startWalking() { + if (((this.found = !1), this.path.ruleStack[0] !== this.topProd.name)) + throw Error("The path does not start with the walker's top Rule!") + return ( + (this.ruleStack = zn(this.path.ruleStack).reverse()), + (this.occurrenceStack = zn(this.path.occurrenceStack).reverse()), + this.ruleStack.pop(), + this.occurrenceStack.pop(), + this.updateExpectedNext(), + this.walk(this.topProd), + this.possibleTokTypes + ) + } + walk(e, r = []) { + this.found || super.walk(e, r) + } + walkProdRef(e, r, n) { + if (e.referencedRule.name === this.nextProductionName && e.idx === this.nextProductionOccurrence) { + const i = r.concat(n) + this.updateExpectedNext(), this.walk(e.referencedRule, i) + } + } + updateExpectedNext() { + br(this.ruleStack) + ? ((this.nextProductionName = ""), (this.nextProductionOccurrence = 0), (this.isAtEndOfPath = !0)) + : ((this.nextProductionName = this.ruleStack.pop()), + (this.nextProductionOccurrence = this.occurrenceStack.pop())) + } +} +class Qve extends Zve { + constructor(e, r) { + super(e, r), + (this.path = r), + (this.nextTerminalName = ""), + (this.nextTerminalOccurrence = 0), + (this.nextTerminalName = this.path.lastTok.name), + (this.nextTerminalOccurrence = this.path.lastTokOccurrence) + } + walkTerminal(e, r, n) { + if ( + this.isAtEndOfPath && + e.terminalType.name === this.nextTerminalName && + e.idx === this.nextTerminalOccurrence && + !this.found + ) { + const i = r.concat(n), + a = new la({ definition: i }) + ;(this.possibleTokTypes = Ng(a)), (this.found = !0) + } + } +} +class fx extends hx { + constructor(e, r) { + super(), + (this.topRule = e), + (this.occurrence = r), + (this.result = { token: void 0, occurrence: void 0, isEndOfRule: void 0 }) + } + startWalking() { + return this.walk(this.topRule), this.result + } +} +class Jve extends fx { + walkMany(e, r, n) { + if (e.idx === this.occurrence) { + const i = Es(r.concat(n)) + ;(this.result.isEndOfRule = i === void 0), + i instanceof Yr && ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)) + } else super.walkMany(e, r, n) + } +} +class bA extends fx { + walkManySep(e, r, n) { + if (e.idx === this.occurrence) { + const i = Es(r.concat(n)) + ;(this.result.isEndOfRule = i === void 0), + i instanceof Yr && ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)) + } else super.walkManySep(e, r, n) + } +} +class eye extends fx { + walkAtLeastOne(e, r, n) { + if (e.idx === this.occurrence) { + const i = Es(r.concat(n)) + ;(this.result.isEndOfRule = i === void 0), + i instanceof Yr && ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)) + } else super.walkAtLeastOne(e, r, n) + } +} +class wA extends fx { + walkAtLeastOneSep(e, r, n) { + if (e.idx === this.occurrence) { + const i = Es(r.concat(n)) + ;(this.result.isEndOfRule = i === void 0), + i instanceof Yr && ((this.result.token = i.terminalType), (this.result.occurrence = i.idx)) + } else super.walkAtLeastOneSep(e, r, n) + } +} +function Iw(t, e, r = []) { + r = zn(r) + let n = [], + i = 0 + function a(o) { + return o.concat(ai(t, i + 1)) + } + function s(o) { + const l = Iw(a(o), e, r) + return n.concat(l) + } + for (; r.length < e && i < t.length; ) { + const o = t[i] + if (o instanceof la) return s(o.definition) + if (o instanceof qi) return s(o.definition) + if (o instanceof ui) n = s(o.definition) + else if (o instanceof Na) { + const l = o.definition.concat([new ln({ definition: o.definition })]) + return s(l) + } else if (o instanceof Da) { + const l = [ + new la({ definition: o.definition }), + new ln({ definition: [new Yr({ terminalType: o.separator })].concat(o.definition) }), + ] + return s(l) + } else if (o instanceof ma) { + const l = o.definition.concat([ + new ln({ definition: [new Yr({ terminalType: o.separator })].concat(o.definition) }), + ]) + n = s(l) + } else if (o instanceof ln) { + const l = o.definition.concat([new ln({ definition: o.definition })]) + n = s(l) + } else { + if (o instanceof va) + return ( + Ie(o.definition, (l) => { + br(l.definition) === !1 && (n = s(l.definition)) + }), + n + ) + if (o instanceof Yr) r.push(o.terminalType) + else throw Error("non exhaustive match") + } + i++ + } + return n.push({ partialPath: r, suffixDef: ai(t, i) }), n +} +function xV(t, e, r, n) { + const i = "EXIT_NONE_TERMINAL", + a = [i], + s = "EXIT_ALTERNATIVE" + let o = !1 + const l = e.length, + u = l - n - 1, + h = [], + d = [] + for (d.push({ idx: -1, def: t, ruleStack: [], occurrenceStack: [] }); !br(d); ) { + const f = d.pop() + if (f === s) { + o && Qs(d).idx <= u && d.pop() + continue + } + const p = f.def, + g = f.idx, + m = f.ruleStack, + v = f.occurrenceStack + if (br(p)) continue + const y = p[0] + if (y === i) { + const b = { idx: g, def: ai(p), ruleStack: Mp(m), occurrenceStack: Mp(v) } + d.push(b) + } else if (y instanceof Yr) + if (g < l - 1) { + const b = g + 1, + w = e[b] + if (r(w, y.terminalType)) { + const T = { idx: b, def: ai(p), ruleStack: m, occurrenceStack: v } + d.push(T) + } + } else if (g === l - 1) + h.push({ nextTokenType: y.terminalType, nextTokenOccurrence: y.idx, ruleStack: m, occurrenceStack: v }), + (o = !0) + else throw Error("non exhaustive match") + else if (y instanceof qi) { + const b = zn(m) + b.push(y.nonTerminalName) + const w = zn(v) + w.push(y.idx) + const T = { idx: g, def: y.definition.concat(a, ai(p)), ruleStack: b, occurrenceStack: w } + d.push(T) + } else if (y instanceof ui) { + const b = { idx: g, def: ai(p), ruleStack: m, occurrenceStack: v } + d.push(b), d.push(s) + const w = { idx: g, def: y.definition.concat(ai(p)), ruleStack: m, occurrenceStack: v } + d.push(w) + } else if (y instanceof Na) { + const b = new ln({ definition: y.definition, idx: y.idx }), + w = y.definition.concat([b], ai(p)), + T = { idx: g, def: w, ruleStack: m, occurrenceStack: v } + d.push(T) + } else if (y instanceof Da) { + const b = new Yr({ terminalType: y.separator }), + w = new ln({ definition: [b].concat(y.definition), idx: y.idx }), + T = y.definition.concat([w], ai(p)), + E = { idx: g, def: T, ruleStack: m, occurrenceStack: v } + d.push(E) + } else if (y instanceof ma) { + const b = { idx: g, def: ai(p), ruleStack: m, occurrenceStack: v } + d.push(b), d.push(s) + const w = new Yr({ terminalType: y.separator }), + T = new ln({ definition: [w].concat(y.definition), idx: y.idx }), + E = y.definition.concat([T], ai(p)), + S = { idx: g, def: E, ruleStack: m, occurrenceStack: v } + d.push(S) + } else if (y instanceof ln) { + const b = { idx: g, def: ai(p), ruleStack: m, occurrenceStack: v } + d.push(b), d.push(s) + const w = new ln({ definition: y.definition, idx: y.idx }), + T = y.definition.concat([w], ai(p)), + E = { idx: g, def: T, ruleStack: m, occurrenceStack: v } + d.push(E) + } else if (y instanceof va) + for (let b = y.definition.length - 1; b >= 0; b--) { + const w = y.definition[b], + T = { idx: g, def: w.definition.concat(ai(p)), ruleStack: m, occurrenceStack: v } + d.push(T), d.push(s) + } + else if (y instanceof la) d.push({ idx: g, def: y.definition.concat(ai(p)), ruleStack: m, occurrenceStack: v }) + else if (y instanceof ff) d.push(tye(y, g, m, v)) + else throw Error("non exhaustive match") + } + return h +} +function tye(t, e, r, n) { + const i = zn(r) + i.push(t.name) + const a = zn(n) + return a.push(1), { idx: e, def: t.definition, ruleStack: i, occurrenceStack: a } +} +var tn +;(function (t) { + ;(t[(t.OPTION = 0)] = "OPTION"), + (t[(t.REPETITION = 1)] = "REPETITION"), + (t[(t.REPETITION_MANDATORY = 2)] = "REPETITION_MANDATORY"), + (t[(t.REPETITION_MANDATORY_WITH_SEPARATOR = 3)] = "REPETITION_MANDATORY_WITH_SEPARATOR"), + (t[(t.REPETITION_WITH_SEPARATOR = 4)] = "REPETITION_WITH_SEPARATOR"), + (t[(t.ALTERNATION = 5)] = "ALTERNATION") +})(tn || (tn = {})) +function yk(t) { + if (t instanceof ui || t === "Option") return tn.OPTION + if (t instanceof ln || t === "Repetition") return tn.REPETITION + if (t instanceof Na || t === "RepetitionMandatory") return tn.REPETITION_MANDATORY + if (t instanceof Da || t === "RepetitionMandatoryWithSeparator") return tn.REPETITION_MANDATORY_WITH_SEPARATOR + if (t instanceof ma || t === "RepetitionWithSeparator") return tn.REPETITION_WITH_SEPARATOR + if (t instanceof va || t === "Alternation") return tn.ALTERNATION + throw Error("non exhaustive match") +} +function TA(t) { + const { occurrence: e, rule: r, prodType: n, maxLookahead: i } = t, + a = yk(n) + return a === tn.ALTERNATION ? px(e, r, i) : gx(e, r, a, i) +} +function rye(t, e, r, n, i, a) { + const s = px(t, e, r), + o = TV(s) ? Ey : Dg + return a(s, n, o, i) +} +function nye(t, e, r, n, i, a) { + const s = gx(t, e, i, r), + o = TV(s) ? Ey : Dg + return a(s[0], o, n) +} +function iye(t, e, r, n) { + const i = t.length, + a = vs(t, (s) => vs(s, (o) => o.length === 1)) + if (e) + return function (s) { + const o = ht(s, (l) => l.GATE) + for (let l = 0; l < i; l++) { + const u = t[l], + h = u.length, + d = o[l] + if (!(d !== void 0 && d.call(this) === !1)) + e: for (let f = 0; f < h; f++) { + const p = u[f], + g = p.length + for (let m = 0; m < g; m++) { + const v = this.LA(m + 1) + if (r(v, p[m]) === !1) continue e + } + return l + } + } + } + if (a && !n) { + const s = ht(t, (l) => Xn(l)), + o = kn( + s, + (l, u, h) => ( + Ie(u, (d) => { + $t(l, d.tokenTypeIdx) || (l[d.tokenTypeIdx] = h), + Ie(d.categoryMatches, (f) => { + $t(l, f) || (l[f] = h) + }) + }), + l + ), + {}, + ) + return function () { + const l = this.LA(1) + return o[l.tokenTypeIdx] + } + } else + return function () { + for (let s = 0; s < i; s++) { + const o = t[s], + l = o.length + e: for (let u = 0; u < l; u++) { + const h = o[u], + d = h.length + for (let f = 0; f < d; f++) { + const p = this.LA(f + 1) + if (r(p, h[f]) === !1) continue e + } + return s + } + } + } +} +function aye(t, e, r) { + const n = vs(t, (a) => a.length === 1), + i = t.length + if (n && !r) { + const a = Xn(t) + if (a.length === 1 && br(a[0].categoryMatches)) { + const o = a[0].tokenTypeIdx + return function () { + return this.LA(1).tokenTypeIdx === o + } + } else { + const s = kn( + a, + (o, l, u) => ( + (o[l.tokenTypeIdx] = !0), + Ie(l.categoryMatches, (h) => { + o[h] = !0 + }), + o + ), + [], + ) + return function () { + const o = this.LA(1) + return s[o.tokenTypeIdx] === !0 + } + } + } else + return function () { + e: for (let a = 0; a < i; a++) { + const s = t[a], + o = s.length + for (let l = 0; l < o; l++) { + const u = this.LA(l + 1) + if (e(u, s[l]) === !1) continue e + } + return !0 + } + return !1 + } +} +class sye extends hx { + constructor(e, r, n) { + super(), (this.topProd = e), (this.targetOccurrence = r), (this.targetProdType = n) + } + startWalking() { + return this.walk(this.topProd), this.restDef + } + checkIsTarget(e, r, n, i) { + return e.idx === this.targetOccurrence && this.targetProdType === r ? ((this.restDef = n.concat(i)), !0) : !1 + } + walkOption(e, r, n) { + this.checkIsTarget(e, tn.OPTION, r, n) || super.walkOption(e, r, n) + } + walkAtLeastOne(e, r, n) { + this.checkIsTarget(e, tn.REPETITION_MANDATORY, r, n) || super.walkOption(e, r, n) + } + walkAtLeastOneSep(e, r, n) { + this.checkIsTarget(e, tn.REPETITION_MANDATORY_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n) + } + walkMany(e, r, n) { + this.checkIsTarget(e, tn.REPETITION, r, n) || super.walkOption(e, r, n) + } + walkManySep(e, r, n) { + this.checkIsTarget(e, tn.REPETITION_WITH_SEPARATOR, r, n) || super.walkOption(e, r, n) + } +} +class bV extends pf { + constructor(e, r, n) { + super(), (this.targetOccurrence = e), (this.targetProdType = r), (this.targetRef = n), (this.result = []) + } + checkIsTarget(e, r) { + e.idx === this.targetOccurrence && + this.targetProdType === r && + (this.targetRef === void 0 || e === this.targetRef) && + (this.result = e.definition) + } + visitOption(e) { + this.checkIsTarget(e, tn.OPTION) + } + visitRepetition(e) { + this.checkIsTarget(e, tn.REPETITION) + } + visitRepetitionMandatory(e) { + this.checkIsTarget(e, tn.REPETITION_MANDATORY) + } + visitRepetitionMandatoryWithSeparator(e) { + this.checkIsTarget(e, tn.REPETITION_MANDATORY_WITH_SEPARATOR) + } + visitRepetitionWithSeparator(e) { + this.checkIsTarget(e, tn.REPETITION_WITH_SEPARATOR) + } + visitAlternation(e) { + this.checkIsTarget(e, tn.ALTERNATION) + } +} +function EA(t) { + const e = new Array(t) + for (let r = 0; r < t; r++) e[r] = [] + return e +} +function o4(t) { + let e = [""] + for (let r = 0; r < t.length; r++) { + const n = t[r], + i = [] + for (let a = 0; a < e.length; a++) { + const s = e[a] + i.push(s + "_" + n.tokenTypeIdx) + for (let o = 0; o < n.categoryMatches.length; o++) { + const l = "_" + n.categoryMatches[o] + i.push(s + l) + } + } + e = i + } + return e +} +function oye(t, e, r) { + for (let n = 0; n < t.length; n++) { + if (n === r) continue + const i = t[n] + for (let a = 0; a < e.length; a++) { + const s = e[a] + if (i[s] === !0) return !1 + } + } + return !0 +} +function wV(t, e) { + const r = ht(t, (s) => Iw([s], 1)), + n = EA(r.length), + i = ht(r, (s) => { + const o = {} + return ( + Ie(s, (l) => { + const u = o4(l.partialPath) + Ie(u, (h) => { + o[h] = !0 + }) + }), + o + ) + }) + let a = r + for (let s = 1; s <= e; s++) { + const o = a + a = EA(o.length) + for (let l = 0; l < o.length; l++) { + const u = o[l] + for (let h = 0; h < u.length; h++) { + const d = u[h].partialPath, + f = u[h].suffixDef, + p = o4(d) + if (oye(i, p, l) || br(f) || d.length === e) { + const m = n[l] + if (Mw(m, d) === !1) { + m.push(d) + for (let v = 0; v < p.length; v++) { + const y = p[v] + i[l][y] = !0 + } + } + } else { + const m = Iw(f, s + 1, d) + ;(a[l] = a[l].concat(m)), + Ie(m, (v) => { + const y = o4(v.partialPath) + Ie(y, (b) => { + i[l][b] = !0 + }) + }) + } + } + } + } + return n +} +function px(t, e, r, n) { + const i = new bV(t, tn.ALTERNATION, n) + return e.accept(i), wV(i.result, r) +} +function gx(t, e, r, n) { + const i = new bV(t, r) + e.accept(i) + const a = i.result, + o = new sye(e, t, r).startWalking(), + l = new la({ definition: a }), + u = new la({ definition: o }) + return wV([l, u], n) +} +function Mw(t, e) { + e: for (let r = 0; r < t.length; r++) { + const n = t[r] + if (n.length === e.length) { + for (let i = 0; i < n.length; i++) { + const a = e[i], + s = n[i] + if ((a === s || s.categoryMatchesMap[a.tokenTypeIdx] !== void 0) === !1) continue e + } + return !0 + } + } + return !1 +} +function lye(t, e) { + return ( + t.length < e.length && + vs(t, (r, n) => { + const i = e[n] + return r === i || i.categoryMatchesMap[r.tokenTypeIdx] + }) + ) +} +function TV(t) { + return vs(t, (e) => vs(e, (r) => vs(r, (n) => br(n.categoryMatches)))) +} +function cye(t) { + const e = t.lookaheadStrategy.validate({ rules: t.rules, tokenTypes: t.tokenTypes, grammarName: t.grammarName }) + return ht(e, (r) => Object.assign({ type: Wi.CUSTOM_LOOKAHEAD_VALIDATION }, r)) +} +function uye(t, e, r, n) { + const i = Ca(t, (l) => hye(l, r)), + a = Eye(t, e, r), + s = Ca(t, (l) => xye(l, r)), + o = Ca(t, (l) => pye(l, t, n, r)) + return i.concat(a, s, o) +} +function hye(t, e) { + const r = new fye() + t.accept(r) + const n = r.allProductions, + i = i0e(n, dye), + a = As(i, (o) => o.length > 1) + return ht(Or(a), (o) => { + const l = Es(o), + u = e.buildDuplicateFoundError(t, o), + h = zs(l), + d = { message: u, type: Wi.DUPLICATE_PRODUCTIONS, ruleName: t.name, dslName: h, occurrence: l.idx }, + f = EV(l) + return f && (d.parameter = f), d + }) +} +function dye(t) { + return `${zs(t)}_#_${t.idx}_#_${EV(t)}` +} +function EV(t) { + return t instanceof Yr ? t.terminalType.name : t instanceof qi ? t.nonTerminalName : "" +} +class fye extends pf { + constructor() { + super(...arguments), (this.allProductions = []) + } + visitNonTerminal(e) { + this.allProductions.push(e) + } + visitOption(e) { + this.allProductions.push(e) + } + visitRepetitionWithSeparator(e) { + this.allProductions.push(e) + } + visitRepetitionMandatory(e) { + this.allProductions.push(e) + } + visitRepetitionMandatoryWithSeparator(e) { + this.allProductions.push(e) + } + visitRepetition(e) { + this.allProductions.push(e) + } + visitAlternation(e) { + this.allProductions.push(e) + } + visitTerminal(e) { + this.allProductions.push(e) + } +} +function pye(t, e, r, n) { + const i = [] + if (kn(e, (s, o) => (o.name === t.name ? s + 1 : s), 0) > 1) { + const s = n.buildDuplicateRuleNameError({ topLevelRule: t, grammarName: r }) + i.push({ message: s, type: Wi.DUPLICATE_RULE_NAME, ruleName: t.name }) + } + return i +} +function gye(t, e, r) { + const n = [] + let i + return ( + Yi(e, t) || + ((i = `Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `), + n.push({ message: i, type: Wi.INVALID_RULE_OVERRIDE, ruleName: t })), + n + ) +} +function kV(t, e, r, n = []) { + const i = [], + a = Im(e.definition) + if (br(a)) return [] + { + const s = t.name + Yi(a, t) && + i.push({ + message: r.buildLeftRecursionError({ topLevelRule: t, leftRecursionPath: n }), + type: Wi.LEFT_RECURSION, + ruleName: s, + }) + const l = rx(a, n.concat([t])), + u = Ca(l, (h) => { + const d = zn(n) + return d.push(h), kV(t, h, r, d) + }) + return i.concat(u) + } +} +function Im(t) { + let e = [] + if (br(t)) return e + const r = Es(t) + if (r instanceof qi) e.push(r.referencedRule) + else if ( + r instanceof la || + r instanceof ui || + r instanceof Na || + r instanceof Da || + r instanceof ma || + r instanceof ln + ) + e = e.concat(Im(r.definition)) + else if (r instanceof va) e = Xn(ht(r.definition, (a) => Im(a.definition))) + else if (!(r instanceof Yr)) throw Error("non exhaustive match") + const n = wy(r), + i = t.length > 1 + if (n && i) { + const a = ai(t) + return e.concat(Im(a)) + } else return e +} +class xk extends pf { + constructor() { + super(...arguments), (this.alternations = []) + } + visitAlternation(e) { + this.alternations.push(e) + } +} +function mye(t, e) { + const r = new xk() + t.accept(r) + const n = r.alternations + return Ca(n, (a) => { + const s = Mp(a.definition) + return Ca(s, (o, l) => { + const u = xV([o], [], Dg, 1) + return br(u) + ? [ + { + message: e.buildEmptyAlternationError({ + topLevelRule: t, + alternation: a, + emptyChoiceIdx: l, + }), + type: Wi.NONE_LAST_EMPTY_ALT, + ruleName: t.name, + occurrence: a.idx, + alternative: l + 1, + }, + ] + : [] + }) + }) +} +function vye(t, e, r) { + const n = new xk() + t.accept(n) + let i = n.alternations + return ( + (i = ix(i, (s) => s.ignoreAmbiguities === !0)), + Ca(i, (s) => { + const o = s.idx, + l = s.maxLookahead || e, + u = px(o, t, l, s), + h = wye(u, s, t, r), + d = Tye(u, s, t, r) + return h.concat(d) + }) + ) +} +class yye extends pf { + constructor() { + super(...arguments), (this.allProductions = []) + } + visitRepetitionWithSeparator(e) { + this.allProductions.push(e) + } + visitRepetitionMandatory(e) { + this.allProductions.push(e) + } + visitRepetitionMandatoryWithSeparator(e) { + this.allProductions.push(e) + } + visitRepetition(e) { + this.allProductions.push(e) + } +} +function xye(t, e) { + const r = new xk() + t.accept(r) + const n = r.alternations + return Ca(n, (a) => + a.definition.length > 255 + ? [ + { + message: e.buildTooManyAlternativesError({ topLevelRule: t, alternation: a }), + type: Wi.TOO_MANY_ALTS, + ruleName: t.name, + occurrence: a.idx, + }, + ] + : [], + ) +} +function bye(t, e, r) { + const n = [] + return ( + Ie(t, (i) => { + const a = new yye() + i.accept(a) + const s = a.allProductions + Ie(s, (o) => { + const l = yk(o), + u = o.maxLookahead || e, + h = o.idx, + f = gx(h, i, l, u)[0] + if (br(Xn(f))) { + const p = r.buildEmptyRepetitionError({ topLevelRule: i, repetition: o }) + n.push({ message: p, type: Wi.NO_NON_EMPTY_LOOKAHEAD, ruleName: i.name }) + } + }) + }), + n + ) +} +function wye(t, e, r, n) { + const i = [], + a = kn( + t, + (o, l, u) => ( + e.definition[u].ignoreAmbiguities === !0 || + Ie(l, (h) => { + const d = [u] + Ie(t, (f, p) => { + u !== p && Mw(f, h) && e.definition[p].ignoreAmbiguities !== !0 && d.push(p) + }), + d.length > 1 && !Mw(i, h) && (i.push(h), o.push({ alts: d, path: h })) + }), + o + ), + [], + ) + return ht(a, (o) => { + const l = ht(o.alts, (h) => h + 1) + return { + message: n.buildAlternationAmbiguityError({ + topLevelRule: r, + alternation: e, + ambiguityIndices: l, + prefixPath: o.path, + }), + type: Wi.AMBIGUOUS_ALTS, + ruleName: r.name, + occurrence: e.idx, + alternatives: o.alts, + } + }) +} +function Tye(t, e, r, n) { + const i = kn( + t, + (s, o, l) => { + const u = ht(o, (h) => ({ idx: l, path: h })) + return s.concat(u) + }, + [], + ) + return Sg( + Ca(i, (s) => { + if (e.definition[s.idx].ignoreAmbiguities === !0) return [] + const l = s.idx, + u = s.path, + h = un(i, (f) => e.definition[f.idx].ignoreAmbiguities !== !0 && f.idx < l && lye(f.path, u)) + return ht(h, (f) => { + const p = [f.idx + 1, l + 1], + g = e.idx === 0 ? "" : e.idx + return { + message: n.buildAlternationPrefixAmbiguityError({ + topLevelRule: r, + alternation: e, + ambiguityIndices: p, + prefixPath: f.path, + }), + type: Wi.AMBIGUOUS_PREFIX_ALTS, + ruleName: r.name, + occurrence: g, + alternatives: p, + } + }) + }), + ) +} +function Eye(t, e, r) { + const n = [], + i = ht(e, (a) => a.name) + return ( + Ie(t, (a) => { + const s = a.name + if (Yi(i, s)) { + const o = r.buildNamespaceConflictError(a) + n.push({ message: o, type: Wi.CONFLICT_TOKENS_RULES_NAMESPACE, ruleName: s }) + } + }), + n + ) +} +function kye(t) { + const e = tx(t, { errMsgProvider: Xve }), + r = {} + return ( + Ie(t.rules, (n) => { + r[n.name] = n + }), + jve(r, e.errMsgProvider) + ) +} +function Sye(t) { + return (t = tx(t, { errMsgProvider: Oc })), uye(t.rules, t.tokenTypes, t.errMsgProvider, t.grammarName) +} +const SV = "MismatchedTokenException", + CV = "NoViableAltException", + AV = "EarlyExitException", + _V = "NotAllInputParsedException", + LV = [SV, CV, AV, _V] +Object.freeze(LV) +function ky(t) { + return Yi(LV, t.name) +} +class mx extends Error { + constructor(e, r) { + super(e), + (this.token = r), + (this.resyncedTokens = []), + Object.setPrototypeOf(this, new.target.prototype), + Error.captureStackTrace && Error.captureStackTrace(this, this.constructor) + } +} +class RV extends mx { + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = SV) + } +} +class Cye extends mx { + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = CV) + } +} +class Aye extends mx { + constructor(e, r) { + super(e, r), (this.name = _V) + } +} +class _ye extends mx { + constructor(e, r, n) { + super(e, r), (this.previousToken = n), (this.name = AV) + } +} +const l4 = {}, + NV = "InRuleRecoveryException" +class Lye extends Error { + constructor(e) { + super(e), (this.name = NV) + } +} +class Rye { + initRecoverable(e) { + ;(this.firstAfterRepMap = {}), + (this.resyncFollows = {}), + (this.recoveryEnabled = $t(e, "recoveryEnabled") ? e.recoveryEnabled : jo.recoveryEnabled), + this.recoveryEnabled && (this.attemptInRepetitionRecovery = Nye) + } + getTokenToInsert(e) { + const r = vk(e, "", NaN, NaN, NaN, NaN, NaN, NaN) + return (r.isInsertedInRecovery = !0), r + } + canTokenTypeBeInsertedInRecovery(e) { + return !0 + } + canTokenTypeBeDeletedInRecovery(e) { + return !0 + } + tryInRepetitionRecovery(e, r, n, i) { + const a = this.findReSyncTokenType(), + s = this.exportLexerState(), + o = [] + let l = !1 + const u = this.LA(1) + let h = this.LA(1) + const d = () => { + const f = this.LA(0), + p = this.errorMessageProvider.buildMismatchTokenMessage({ + expected: i, + actual: u, + previous: f, + ruleName: this.getCurrRuleFullName(), + }), + g = new RV(p, u, this.LA(0)) + ;(g.resyncedTokens = Mp(o)), this.SAVE_ERROR(g) + } + for (; !l; ) + if (this.tokenMatcher(h, i)) { + d() + return + } else if (n.call(this)) { + d(), e.apply(this, r) + return + } else this.tokenMatcher(h, a) ? (l = !0) : ((h = this.SKIP_TOKEN()), this.addToResyncTokens(h, o)) + this.importLexerState(s) + } + shouldInRepetitionRecoveryBeTried(e, r, n) { + return !( + n === !1 || + this.tokenMatcher(this.LA(1), e) || + this.isBackTracking() || + this.canPerformInRuleRecovery(e, this.getFollowsForInRuleRecovery(e, r)) + ) + } + getFollowsForInRuleRecovery(e, r) { + const n = this.getCurrentGrammarPath(e, r) + return this.getNextPossibleTokenTypes(n) + } + tryInRuleRecovery(e, r) { + if (this.canRecoverWithSingleTokenInsertion(e, r)) return this.getTokenToInsert(e) + if (this.canRecoverWithSingleTokenDeletion(e)) { + const n = this.SKIP_TOKEN() + return this.consumeToken(), n + } + throw new Lye("sad sad panda") + } + canPerformInRuleRecovery(e, r) { + return this.canRecoverWithSingleTokenInsertion(e, r) || this.canRecoverWithSingleTokenDeletion(e) + } + canRecoverWithSingleTokenInsertion(e, r) { + if (!this.canTokenTypeBeInsertedInRecovery(e) || br(r)) return !1 + const n = this.LA(1) + return Yo(r, (a) => this.tokenMatcher(n, a)) !== void 0 + } + canRecoverWithSingleTokenDeletion(e) { + return this.canTokenTypeBeDeletedInRecovery(e) ? this.tokenMatcher(this.LA(2), e) : !1 + } + isInCurrentRuleReSyncSet(e) { + const r = this.getCurrFollowKey(), + n = this.getFollowSetFromFollowKey(r) + return Yi(n, e) + } + findReSyncTokenType() { + const e = this.flattenFollowSet() + let r = this.LA(1), + n = 2 + for (;;) { + const i = Yo(e, (a) => yV(r, a)) + if (i !== void 0) return i + ;(r = this.LA(n)), n++ + } + } + getCurrFollowKey() { + if (this.RULE_STACK.length === 1) return l4 + const e = this.getLastExplicitRuleShortName(), + r = this.getLastExplicitRuleOccurrenceIndex(), + n = this.getPreviousExplicitRuleShortName() + return { + ruleName: this.shortRuleNameToFullName(e), + idxInCallingRule: r, + inRule: this.shortRuleNameToFullName(n), + } + } + buildFullFollowKeyStack() { + const e = this.RULE_STACK, + r = this.RULE_OCCURRENCE_STACK + return ht(e, (n, i) => + i === 0 + ? l4 + : { + ruleName: this.shortRuleNameToFullName(n), + idxInCallingRule: r[i], + inRule: this.shortRuleNameToFullName(e[i - 1]), + }, + ) + } + flattenFollowSet() { + const e = ht(this.buildFullFollowKeyStack(), (r) => this.getFollowSetFromFollowKey(r)) + return Xn(e) + } + getFollowSetFromFollowKey(e) { + if (e === l4) return [Bl] + const r = e.ruleName + e.idxInCallingRule + oV + e.inRule + return this.resyncFollows[r] + } + addToResyncTokens(e, r) { + return this.tokenMatcher(e, Bl) || r.push(e), r + } + reSyncTo(e) { + const r = [] + let n = this.LA(1) + for (; this.tokenMatcher(n, e) === !1; ) (n = this.SKIP_TOKEN()), this.addToResyncTokens(n, r) + return Mp(r) + } + attemptInRepetitionRecovery(e, r, n, i, a, s, o) {} + getCurrentGrammarPath(e, r) { + const n = this.getHumanReadableRuleStack(), + i = zn(this.RULE_OCCURRENCE_STACK) + return { ruleStack: n, occurrenceStack: i, lastTok: e, lastTokOccurrence: r } + } + getHumanReadableRuleStack() { + return ht(this.RULE_STACK, (e) => this.shortRuleNameToFullName(e)) + } +} +function Nye(t, e, r, n, i, a, s) { + const o = this.getKeyForAutomaticLookahead(n, i) + let l = this.firstAfterRepMap[o] + if (l === void 0) { + const f = this.getCurrRuleFullName(), + p = this.getGAstProductions()[f] + ;(l = new a(p, i).startWalking()), (this.firstAfterRepMap[o] = l) + } + let u = l.token, + h = l.occurrence + const d = l.isEndOfRule + this.RULE_STACK.length === 1 && d && u === void 0 && ((u = Bl), (h = 1)), + !(u === void 0 || h === void 0) && + this.shouldInRepetitionRecoveryBeTried(u, h, s) && + this.tryInRepetitionRecovery(t, e, r, u) +} +const Dye = 4, + Zl = 8, + DV = 1 << Zl, + IV = 2 << Zl, + Ow = 3 << Zl, + Pw = 4 << Zl, + Bw = 5 << Zl, + Mm = 6 << Zl +function c4(t, e, r) { + return r | e | t +} +class bk { + constructor(e) { + var r + this.maxLookahead = (r = e == null ? void 0 : e.maxLookahead) !== null && r !== void 0 ? r : jo.maxLookahead + } + validate(e) { + const r = this.validateNoLeftRecursion(e.rules) + if (br(r)) { + const n = this.validateEmptyOrAlternatives(e.rules), + i = this.validateAmbiguousAlternationAlternatives(e.rules, this.maxLookahead), + a = this.validateSomeNonEmptyLookaheadPath(e.rules, this.maxLookahead) + return [...r, ...n, ...i, ...a] + } + return r + } + validateNoLeftRecursion(e) { + return Ca(e, (r) => kV(r, r, Oc)) + } + validateEmptyOrAlternatives(e) { + return Ca(e, (r) => mye(r, Oc)) + } + validateAmbiguousAlternationAlternatives(e, r) { + return Ca(e, (n) => vye(n, r, Oc)) + } + validateSomeNonEmptyLookaheadPath(e, r) { + return bye(e, r, Oc) + } + buildLookaheadForAlternation(e) { + return rye(e.prodOccurrence, e.rule, e.maxLookahead, e.hasPredicates, e.dynamicTokensEnabled, iye) + } + buildLookaheadForOptional(e) { + return nye(e.prodOccurrence, e.rule, e.maxLookahead, e.dynamicTokensEnabled, yk(e.prodType), aye) + } +} +class Iye { + initLooksAhead(e) { + ;(this.dynamicTokensEnabled = $t(e, "dynamicTokensEnabled") ? e.dynamicTokensEnabled : jo.dynamicTokensEnabled), + (this.maxLookahead = $t(e, "maxLookahead") ? e.maxLookahead : jo.maxLookahead), + (this.lookaheadStrategy = $t(e, "lookaheadStrategy") + ? e.lookaheadStrategy + : new bk({ maxLookahead: this.maxLookahead })), + (this.lookAheadFuncsCache = new Map()) + } + preComputeLookaheadFunctions(e) { + Ie(e, (r) => { + this.TRACE_INIT(`${r.name} Rule Lookahead`, () => { + const { + alternation: n, + repetition: i, + option: a, + repetitionMandatory: s, + repetitionMandatoryWithSeparator: o, + repetitionWithSeparator: l, + } = Oye(r) + Ie(n, (u) => { + const h = u.idx === 0 ? "" : u.idx + this.TRACE_INIT(`${zs(u)}${h}`, () => { + const d = this.lookaheadStrategy.buildLookaheadForAlternation({ + prodOccurrence: u.idx, + rule: r, + maxLookahead: u.maxLookahead || this.maxLookahead, + hasPredicates: u.hasPredicates, + dynamicTokensEnabled: this.dynamicTokensEnabled, + }), + f = c4(this.fullRuleNameToShort[r.name], DV, u.idx) + this.setLaFuncCache(f, d) + }) + }), + Ie(i, (u) => { + this.computeLookaheadFunc(r, u.idx, Ow, "Repetition", u.maxLookahead, zs(u)) + }), + Ie(a, (u) => { + this.computeLookaheadFunc(r, u.idx, IV, "Option", u.maxLookahead, zs(u)) + }), + Ie(s, (u) => { + this.computeLookaheadFunc(r, u.idx, Pw, "RepetitionMandatory", u.maxLookahead, zs(u)) + }), + Ie(o, (u) => { + this.computeLookaheadFunc( + r, + u.idx, + Mm, + "RepetitionMandatoryWithSeparator", + u.maxLookahead, + zs(u), + ) + }), + Ie(l, (u) => { + this.computeLookaheadFunc(r, u.idx, Bw, "RepetitionWithSeparator", u.maxLookahead, zs(u)) + }) + }) + }) + } + computeLookaheadFunc(e, r, n, i, a, s) { + this.TRACE_INIT(`${s}${r === 0 ? "" : r}`, () => { + const o = this.lookaheadStrategy.buildLookaheadForOptional({ + prodOccurrence: r, + rule: e, + maxLookahead: a || this.maxLookahead, + dynamicTokensEnabled: this.dynamicTokensEnabled, + prodType: i, + }), + l = c4(this.fullRuleNameToShort[e.name], n, r) + this.setLaFuncCache(l, o) + }) + } + getKeyForAutomaticLookahead(e, r) { + const n = this.getLastExplicitRuleShortName() + return c4(n, e, r) + } + getLaFuncFromCache(e) { + return this.lookAheadFuncsCache.get(e) + } + setLaFuncCache(e, r) { + this.lookAheadFuncsCache.set(e, r) + } +} +class Mye extends pf { + constructor() { + super(...arguments), + (this.dslMethods = { + option: [], + alternation: [], + repetition: [], + repetitionWithSeparator: [], + repetitionMandatory: [], + repetitionMandatoryWithSeparator: [], + }) + } + reset() { + this.dslMethods = { + option: [], + alternation: [], + repetition: [], + repetitionWithSeparator: [], + repetitionMandatory: [], + repetitionMandatoryWithSeparator: [], + } + } + visitOption(e) { + this.dslMethods.option.push(e) + } + visitRepetitionWithSeparator(e) { + this.dslMethods.repetitionWithSeparator.push(e) + } + visitRepetitionMandatory(e) { + this.dslMethods.repetitionMandatory.push(e) + } + visitRepetitionMandatoryWithSeparator(e) { + this.dslMethods.repetitionMandatoryWithSeparator.push(e) + } + visitRepetition(e) { + this.dslMethods.repetition.push(e) + } + visitAlternation(e) { + this.dslMethods.alternation.push(e) + } +} +const B1 = new Mye() +function Oye(t) { + B1.reset(), t.accept(B1) + const e = B1.dslMethods + return B1.reset(), e +} +function kA(t, e) { + isNaN(t.startOffset) === !0 + ? ((t.startOffset = e.startOffset), (t.endOffset = e.endOffset)) + : t.endOffset < e.endOffset && (t.endOffset = e.endOffset) +} +function SA(t, e) { + isNaN(t.startOffset) === !0 + ? ((t.startOffset = e.startOffset), + (t.startColumn = e.startColumn), + (t.startLine = e.startLine), + (t.endOffset = e.endOffset), + (t.endColumn = e.endColumn), + (t.endLine = e.endLine)) + : t.endOffset < e.endOffset && + ((t.endOffset = e.endOffset), (t.endColumn = e.endColumn), (t.endLine = e.endLine)) +} +function Pye(t, e, r) { + t.children[r] === void 0 ? (t.children[r] = [e]) : t.children[r].push(e) +} +function Bye(t, e, r) { + t.children[e] === void 0 ? (t.children[e] = [r]) : t.children[e].push(r) +} +const Fye = "name" +function MV(t, e) { + Object.defineProperty(t, Fye, { enumerable: !1, configurable: !0, writable: !1, value: e }) +} +function $ye(t, e) { + const r = In(t), + n = r.length + for (let i = 0; i < n; i++) { + const a = r[i], + s = t[a], + o = s.length + for (let l = 0; l < o; l++) { + const u = s[l] + u.tokenTypeIdx === void 0 && this[u.name](u.children, e) + } + } +} +function zye(t, e) { + const r = function () {} + MV(r, t + "BaseSemantics") + const n = { + visit: function (i, a) { + if ((lr(i) && (i = i[0]), !kr(i))) return this[i.name](i.children, a) + }, + validateVisitor: function () { + const i = Gye(this, e) + if (!br(i)) { + const a = ht(i, (s) => s.msg) + throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${a + .join( + ` + +`, + ) + .replace( + /\n/g, + ` + `, + )}`) + } + }, + } + return (r.prototype = n), (r.prototype.constructor = r), (r._RULE_NAMES = e), r +} +function Vye(t, e, r) { + const n = function () {} + MV(n, t + "BaseSemanticsWithDefaults") + const i = Object.create(r.prototype) + return ( + Ie(e, (a) => { + i[a] = $ye + }), + (n.prototype = i), + (n.prototype.constructor = n), + n + ) +} +var Fw +;(function (t) { + ;(t[(t.REDUNDANT_METHOD = 0)] = "REDUNDANT_METHOD"), (t[(t.MISSING_METHOD = 1)] = "MISSING_METHOD") +})(Fw || (Fw = {})) +function Gye(t, e) { + return Uye(t, e) +} +function Uye(t, e) { + const r = un(e, (i) => ts(t[i]) === !1), + n = ht(r, (i) => ({ + msg: `Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`, + type: Fw.MISSING_METHOD, + methodName: i, + })) + return Sg(n) +} +class qye { + initTreeBuilder(e) { + if ( + ((this.CST_STACK = []), + (this.outputCst = e.outputCst), + (this.nodeLocationTracking = $t(e, "nodeLocationTracking") + ? e.nodeLocationTracking + : jo.nodeLocationTracking), + !this.outputCst) + ) + (this.cstInvocationStateUpdate = An), + (this.cstFinallyStateUpdate = An), + (this.cstPostTerminal = An), + (this.cstPostNonTerminal = An), + (this.cstPostRule = An) + else if (/full/i.test(this.nodeLocationTracking)) + this.recoveryEnabled + ? ((this.setNodeLocationFromToken = SA), + (this.setNodeLocationFromNode = SA), + (this.cstPostRule = An), + (this.setInitialNodeLocation = this.setInitialNodeLocationFullRecovery)) + : ((this.setNodeLocationFromToken = An), + (this.setNodeLocationFromNode = An), + (this.cstPostRule = this.cstPostRuleFull), + (this.setInitialNodeLocation = this.setInitialNodeLocationFullRegular)) + else if (/onlyOffset/i.test(this.nodeLocationTracking)) + this.recoveryEnabled + ? ((this.setNodeLocationFromToken = kA), + (this.setNodeLocationFromNode = kA), + (this.cstPostRule = An), + (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRecovery)) + : ((this.setNodeLocationFromToken = An), + (this.setNodeLocationFromNode = An), + (this.cstPostRule = this.cstPostRuleOnlyOffset), + (this.setInitialNodeLocation = this.setInitialNodeLocationOnlyOffsetRegular)) + else if (/none/i.test(this.nodeLocationTracking)) + (this.setNodeLocationFromToken = An), + (this.setNodeLocationFromNode = An), + (this.cstPostRule = An), + (this.setInitialNodeLocation = An) + else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`) + } + setInitialNodeLocationOnlyOffsetRecovery(e) { + e.location = { startOffset: NaN, endOffset: NaN } + } + setInitialNodeLocationOnlyOffsetRegular(e) { + e.location = { startOffset: this.LA(1).startOffset, endOffset: NaN } + } + setInitialNodeLocationFullRecovery(e) { + e.location = { + startOffset: NaN, + startLine: NaN, + startColumn: NaN, + endOffset: NaN, + endLine: NaN, + endColumn: NaN, + } + } + setInitialNodeLocationFullRegular(e) { + const r = this.LA(1) + e.location = { + startOffset: r.startOffset, + startLine: r.startLine, + startColumn: r.startColumn, + endOffset: NaN, + endLine: NaN, + endColumn: NaN, + } + } + cstInvocationStateUpdate(e) { + const r = { name: e, children: Object.create(null) } + this.setInitialNodeLocation(r), this.CST_STACK.push(r) + } + cstFinallyStateUpdate() { + this.CST_STACK.pop() + } + cstPostRuleFull(e) { + const r = this.LA(0), + n = e.location + n.startOffset <= r.startOffset + ? ((n.endOffset = r.endOffset), (n.endLine = r.endLine), (n.endColumn = r.endColumn)) + : ((n.startOffset = NaN), (n.startLine = NaN), (n.startColumn = NaN)) + } + cstPostRuleOnlyOffset(e) { + const r = this.LA(0), + n = e.location + n.startOffset <= r.startOffset ? (n.endOffset = r.endOffset) : (n.startOffset = NaN) + } + cstPostTerminal(e, r) { + const n = this.CST_STACK[this.CST_STACK.length - 1] + Pye(n, r, e), this.setNodeLocationFromToken(n.location, r) + } + cstPostNonTerminal(e, r) { + const n = this.CST_STACK[this.CST_STACK.length - 1] + Bye(n, r, e), this.setNodeLocationFromNode(n.location, e.location) + } + getBaseCstVisitorConstructor() { + if (kr(this.baseCstVisitorConstructor)) { + const e = zye(this.className, In(this.gastProductionsCache)) + return (this.baseCstVisitorConstructor = e), e + } + return this.baseCstVisitorConstructor + } + getBaseCstVisitorConstructorWithDefaults() { + if (kr(this.baseCstVisitorWithDefaultsConstructor)) { + const e = Vye(this.className, In(this.gastProductionsCache), this.getBaseCstVisitorConstructor()) + return (this.baseCstVisitorWithDefaultsConstructor = e), e + } + return this.baseCstVisitorWithDefaultsConstructor + } + getLastExplicitRuleShortName() { + const e = this.RULE_STACK + return e[e.length - 1] + } + getPreviousExplicitRuleShortName() { + const e = this.RULE_STACK + return e[e.length - 2] + } + getLastExplicitRuleOccurrenceIndex() { + const e = this.RULE_OCCURRENCE_STACK + return e[e.length - 1] + } +} +class Wye { + initLexerAdapter() { + ;(this.tokVector = []), (this.tokVectorLength = 0), (this.currIdx = -1) + } + set input(e) { + if (this.selfAnalysisDone !== !0) + throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.") + this.reset(), (this.tokVector = e), (this.tokVectorLength = e.length) + } + get input() { + return this.tokVector + } + SKIP_TOKEN() { + return this.currIdx <= this.tokVector.length - 2 ? (this.consumeToken(), this.LA(1)) : Cy + } + LA(e) { + const r = this.currIdx + e + return r < 0 || this.tokVectorLength <= r ? Cy : this.tokVector[r] + } + consumeToken() { + this.currIdx++ + } + exportLexerState() { + return this.currIdx + } + importLexerState(e) { + this.currIdx = e + } + resetLexerState() { + this.currIdx = -1 + } + moveToTerminatedState() { + this.currIdx = this.tokVector.length - 1 + } + getLexerPosition() { + return this.exportLexerState() + } +} +class Hye { + ACTION(e) { + return e.call(this) + } + consume(e, r, n) { + return this.consumeInternal(r, e, n) + } + subrule(e, r, n) { + return this.subruleInternal(r, e, n) + } + option(e, r) { + return this.optionInternal(r, e) + } + or(e, r) { + return this.orInternal(r, e) + } + many(e, r) { + return this.manyInternal(e, r) + } + atLeastOne(e, r) { + return this.atLeastOneInternal(e, r) + } + CONSUME(e, r) { + return this.consumeInternal(e, 0, r) + } + CONSUME1(e, r) { + return this.consumeInternal(e, 1, r) + } + CONSUME2(e, r) { + return this.consumeInternal(e, 2, r) + } + CONSUME3(e, r) { + return this.consumeInternal(e, 3, r) + } + CONSUME4(e, r) { + return this.consumeInternal(e, 4, r) + } + CONSUME5(e, r) { + return this.consumeInternal(e, 5, r) + } + CONSUME6(e, r) { + return this.consumeInternal(e, 6, r) + } + CONSUME7(e, r) { + return this.consumeInternal(e, 7, r) + } + CONSUME8(e, r) { + return this.consumeInternal(e, 8, r) + } + CONSUME9(e, r) { + return this.consumeInternal(e, 9, r) + } + SUBRULE(e, r) { + return this.subruleInternal(e, 0, r) + } + SUBRULE1(e, r) { + return this.subruleInternal(e, 1, r) + } + SUBRULE2(e, r) { + return this.subruleInternal(e, 2, r) + } + SUBRULE3(e, r) { + return this.subruleInternal(e, 3, r) + } + SUBRULE4(e, r) { + return this.subruleInternal(e, 4, r) + } + SUBRULE5(e, r) { + return this.subruleInternal(e, 5, r) + } + SUBRULE6(e, r) { + return this.subruleInternal(e, 6, r) + } + SUBRULE7(e, r) { + return this.subruleInternal(e, 7, r) + } + SUBRULE8(e, r) { + return this.subruleInternal(e, 8, r) + } + SUBRULE9(e, r) { + return this.subruleInternal(e, 9, r) + } + OPTION(e) { + return this.optionInternal(e, 0) + } + OPTION1(e) { + return this.optionInternal(e, 1) + } + OPTION2(e) { + return this.optionInternal(e, 2) + } + OPTION3(e) { + return this.optionInternal(e, 3) + } + OPTION4(e) { + return this.optionInternal(e, 4) + } + OPTION5(e) { + return this.optionInternal(e, 5) + } + OPTION6(e) { + return this.optionInternal(e, 6) + } + OPTION7(e) { + return this.optionInternal(e, 7) + } + OPTION8(e) { + return this.optionInternal(e, 8) + } + OPTION9(e) { + return this.optionInternal(e, 9) + } + OR(e) { + return this.orInternal(e, 0) + } + OR1(e) { + return this.orInternal(e, 1) + } + OR2(e) { + return this.orInternal(e, 2) + } + OR3(e) { + return this.orInternal(e, 3) + } + OR4(e) { + return this.orInternal(e, 4) + } + OR5(e) { + return this.orInternal(e, 5) + } + OR6(e) { + return this.orInternal(e, 6) + } + OR7(e) { + return this.orInternal(e, 7) + } + OR8(e) { + return this.orInternal(e, 8) + } + OR9(e) { + return this.orInternal(e, 9) + } + MANY(e) { + this.manyInternal(0, e) + } + MANY1(e) { + this.manyInternal(1, e) + } + MANY2(e) { + this.manyInternal(2, e) + } + MANY3(e) { + this.manyInternal(3, e) + } + MANY4(e) { + this.manyInternal(4, e) + } + MANY5(e) { + this.manyInternal(5, e) + } + MANY6(e) { + this.manyInternal(6, e) + } + MANY7(e) { + this.manyInternal(7, e) + } + MANY8(e) { + this.manyInternal(8, e) + } + MANY9(e) { + this.manyInternal(9, e) + } + MANY_SEP(e) { + this.manySepFirstInternal(0, e) + } + MANY_SEP1(e) { + this.manySepFirstInternal(1, e) + } + MANY_SEP2(e) { + this.manySepFirstInternal(2, e) + } + MANY_SEP3(e) { + this.manySepFirstInternal(3, e) + } + MANY_SEP4(e) { + this.manySepFirstInternal(4, e) + } + MANY_SEP5(e) { + this.manySepFirstInternal(5, e) + } + MANY_SEP6(e) { + this.manySepFirstInternal(6, e) + } + MANY_SEP7(e) { + this.manySepFirstInternal(7, e) + } + MANY_SEP8(e) { + this.manySepFirstInternal(8, e) + } + MANY_SEP9(e) { + this.manySepFirstInternal(9, e) + } + AT_LEAST_ONE(e) { + this.atLeastOneInternal(0, e) + } + AT_LEAST_ONE1(e) { + return this.atLeastOneInternal(1, e) + } + AT_LEAST_ONE2(e) { + this.atLeastOneInternal(2, e) + } + AT_LEAST_ONE3(e) { + this.atLeastOneInternal(3, e) + } + AT_LEAST_ONE4(e) { + this.atLeastOneInternal(4, e) + } + AT_LEAST_ONE5(e) { + this.atLeastOneInternal(5, e) + } + AT_LEAST_ONE6(e) { + this.atLeastOneInternal(6, e) + } + AT_LEAST_ONE7(e) { + this.atLeastOneInternal(7, e) + } + AT_LEAST_ONE8(e) { + this.atLeastOneInternal(8, e) + } + AT_LEAST_ONE9(e) { + this.atLeastOneInternal(9, e) + } + AT_LEAST_ONE_SEP(e) { + this.atLeastOneSepFirstInternal(0, e) + } + AT_LEAST_ONE_SEP1(e) { + this.atLeastOneSepFirstInternal(1, e) + } + AT_LEAST_ONE_SEP2(e) { + this.atLeastOneSepFirstInternal(2, e) + } + AT_LEAST_ONE_SEP3(e) { + this.atLeastOneSepFirstInternal(3, e) + } + AT_LEAST_ONE_SEP4(e) { + this.atLeastOneSepFirstInternal(4, e) + } + AT_LEAST_ONE_SEP5(e) { + this.atLeastOneSepFirstInternal(5, e) + } + AT_LEAST_ONE_SEP6(e) { + this.atLeastOneSepFirstInternal(6, e) + } + AT_LEAST_ONE_SEP7(e) { + this.atLeastOneSepFirstInternal(7, e) + } + AT_LEAST_ONE_SEP8(e) { + this.atLeastOneSepFirstInternal(8, e) + } + AT_LEAST_ONE_SEP9(e) { + this.atLeastOneSepFirstInternal(9, e) + } + RULE(e, r, n = Ay) { + if (Yi(this.definedRulesNames, e)) { + const s = { + message: Oc.buildDuplicateRuleNameError({ topLevelRule: e, grammarName: this.className }), + type: Wi.DUPLICATE_RULE_NAME, + ruleName: e, + } + this.definitionErrors.push(s) + } + this.definedRulesNames.push(e) + const i = this.defineRule(e, r, n) + return (this[e] = i), i + } + OVERRIDE_RULE(e, r, n = Ay) { + const i = gye(e, this.definedRulesNames, this.className) + this.definitionErrors = this.definitionErrors.concat(i) + const a = this.defineRule(e, r, n) + return (this[e] = a), a + } + BACKTRACK(e, r) { + return function () { + this.isBackTrackingStack.push(1) + const n = this.saveRecogState() + try { + return e.apply(this, r), !0 + } catch (i) { + if (ky(i)) return !1 + throw i + } finally { + this.reloadRecogState(n), this.isBackTrackingStack.pop() + } + } + } + getGAstProductions() { + return this.gastProductionsCache + } + getSerializedGastProductions() { + return tve(Or(this.gastProductionsCache)) + } +} +class Yye { + initRecognizerEngine(e, r) { + if ( + ((this.className = this.constructor.name), + (this.shortRuleNameToFull = {}), + (this.fullRuleNameToShort = {}), + (this.ruleShortNameIdx = 256), + (this.tokenMatcher = Ey), + (this.subruleIdx = 0), + (this.definedRulesNames = []), + (this.tokensMap = {}), + (this.isBackTrackingStack = []), + (this.RULE_STACK = []), + (this.RULE_OCCURRENCE_STACK = []), + (this.gastProductionsCache = {}), + $t(r, "serializedGrammar")) + ) + throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`) + if (lr(e)) { + if (br(e)) + throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`) + if (typeof e[0].startOffset == "number") + throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`) + } + if (lr(e)) this.tokensMap = kn(e, (a, s) => ((a[s.name] = s), a), {}) + else if ($t(e, "modes") && vs(Xn(Or(e.modes)), Wve)) { + const a = Xn(Or(e.modes)), + s = jE(a) + this.tokensMap = kn(s, (o, l) => ((o[l.name] = l), o), {}) + } else if (sa(e)) this.tokensMap = zn(e) + else + throw new Error( + "<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition", + ) + this.tokensMap.EOF = Bl + const n = $t(e, "modes") ? Xn(Or(e.modes)) : Or(e), + i = vs(n, (a) => br(a.categoryMatches)) + ;(this.tokenMatcher = i ? Ey : Dg), Ig(Or(this.tokensMap)) + } + defineRule(e, r, n) { + if (this.selfAnalysisDone) + throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`) + const i = $t(n, "resyncEnabled") ? n.resyncEnabled : Ay.resyncEnabled, + a = $t(n, "recoveryValueFunc") ? n.recoveryValueFunc : Ay.recoveryValueFunc, + s = this.ruleShortNameIdx << (Dye + Zl) + this.ruleShortNameIdx++, (this.shortRuleNameToFull[s] = e), (this.fullRuleNameToShort[e] = s) + let o + return ( + this.outputCst === !0 + ? (o = function (...h) { + try { + this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, h) + const d = this.CST_STACK[this.CST_STACK.length - 1] + return this.cstPostRule(d), d + } catch (d) { + return this.invokeRuleCatch(d, i, a) + } finally { + this.ruleFinallyStateUpdate() + } + }) + : (o = function (...h) { + try { + return this.ruleInvocationStateUpdate(s, e, this.subruleIdx), r.apply(this, h) + } catch (d) { + return this.invokeRuleCatch(d, i, a) + } finally { + this.ruleFinallyStateUpdate() + } + }), + Object.assign(o, { ruleName: e, originalGrammarAction: r }) + ) + } + invokeRuleCatch(e, r, n) { + const i = this.RULE_STACK.length === 1, + a = r && !this.isBackTracking() && this.recoveryEnabled + if (ky(e)) { + const s = e + if (a) { + const o = this.findReSyncTokenType() + if (this.isInCurrentRuleReSyncSet(o)) + if (((s.resyncedTokens = this.reSyncTo(o)), this.outputCst)) { + const l = this.CST_STACK[this.CST_STACK.length - 1] + return (l.recoveredNode = !0), l + } else return n(e) + else { + if (this.outputCst) { + const l = this.CST_STACK[this.CST_STACK.length - 1] + ;(l.recoveredNode = !0), (s.partialCstResult = l) + } + throw s + } + } else { + if (i) return this.moveToTerminatedState(), n(e) + throw s + } + } else throw e + } + optionInternal(e, r) { + const n = this.getKeyForAutomaticLookahead(IV, r) + return this.optionInternalLogic(e, r, n) + } + optionInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a + if (typeof e != "function") { + a = e.DEF + const s = e.GATE + if (s !== void 0) { + const o = i + i = () => s.call(this) && o.call(this) + } + } else a = e + if (i.call(this) === !0) return a.call(this) + } + atLeastOneInternal(e, r) { + const n = this.getKeyForAutomaticLookahead(Pw, e) + return this.atLeastOneInternalLogic(e, r, n) + } + atLeastOneInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a + if (typeof r != "function") { + a = r.DEF + const s = r.GATE + if (s !== void 0) { + const o = i + i = () => s.call(this) && o.call(this) + } + } else a = r + if (i.call(this) === !0) { + let s = this.doSingleRepetition(a) + for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a) + } else throw this.raiseEarlyExitException(e, tn.REPETITION_MANDATORY, r.ERR_MSG) + this.attemptInRepetitionRecovery(this.atLeastOneInternal, [e, r], i, Pw, e, eye) + } + atLeastOneSepFirstInternal(e, r) { + const n = this.getKeyForAutomaticLookahead(Mm, e) + this.atLeastOneSepFirstInternalLogic(e, r, n) + } + atLeastOneSepFirstInternalLogic(e, r, n) { + const i = r.DEF, + a = r.SEP + if (this.getLaFuncFromCache(n).call(this) === !0) { + i.call(this) + const o = () => this.tokenMatcher(this.LA(1), a) + for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this) + this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, a, o, i, wA], o, Mm, e, wA) + } else throw this.raiseEarlyExitException(e, tn.REPETITION_MANDATORY_WITH_SEPARATOR, r.ERR_MSG) + } + manyInternal(e, r) { + const n = this.getKeyForAutomaticLookahead(Ow, e) + return this.manyInternalLogic(e, r, n) + } + manyInternalLogic(e, r, n) { + let i = this.getLaFuncFromCache(n), + a + if (typeof r != "function") { + a = r.DEF + const o = r.GATE + if (o !== void 0) { + const l = i + i = () => o.call(this) && l.call(this) + } + } else a = r + let s = !0 + for (; i.call(this) === !0 && s === !0; ) s = this.doSingleRepetition(a) + this.attemptInRepetitionRecovery(this.manyInternal, [e, r], i, Ow, e, Jve, s) + } + manySepFirstInternal(e, r) { + const n = this.getKeyForAutomaticLookahead(Bw, e) + this.manySepFirstInternalLogic(e, r, n) + } + manySepFirstInternalLogic(e, r, n) { + const i = r.DEF, + a = r.SEP + if (this.getLaFuncFromCache(n).call(this) === !0) { + i.call(this) + const o = () => this.tokenMatcher(this.LA(1), a) + for (; this.tokenMatcher(this.LA(1), a) === !0; ) this.CONSUME(a), i.call(this) + this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, a, o, i, bA], o, Bw, e, bA) + } + } + repetitionSepSecondInternal(e, r, n, i, a) { + for (; n(); ) this.CONSUME(r), i.call(this) + this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [e, r, n, i, a], n, Mm, e, a) + } + doSingleRepetition(e) { + const r = this.getLexerPosition() + return e.call(this), this.getLexerPosition() > r + } + orInternal(e, r) { + const n = this.getKeyForAutomaticLookahead(DV, r), + i = lr(e) ? e : e.DEF, + s = this.getLaFuncFromCache(n).call(this, i) + if (s !== void 0) return i[s].ALT.call(this) + this.raiseNoAltException(r, e.ERR_MSG) + } + ruleFinallyStateUpdate() { + if ( + (this.RULE_STACK.pop(), + this.RULE_OCCURRENCE_STACK.pop(), + this.cstFinallyStateUpdate(), + this.RULE_STACK.length === 0 && this.isAtEndOfInput() === !1) + ) { + const e = this.LA(1), + r = this.errorMessageProvider.buildNotAllInputParsedMessage({ + firstRedundant: e, + ruleName: this.getCurrRuleFullName(), + }) + this.SAVE_ERROR(new Aye(r, e)) + } + } + subruleInternal(e, r, n) { + let i + try { + const a = n !== void 0 ? n.ARGS : void 0 + return ( + (this.subruleIdx = r), + (i = e.apply(this, a)), + this.cstPostNonTerminal(i, n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.ruleName), + i + ) + } catch (a) { + throw this.subruleInternalError(a, n, e.ruleName) + } + } + subruleInternalError(e, r, n) { + throw ( + (ky(e) && + e.partialCstResult !== void 0 && + (this.cstPostNonTerminal(e.partialCstResult, r !== void 0 && r.LABEL !== void 0 ? r.LABEL : n), + delete e.partialCstResult), + e) + ) + } + consumeInternal(e, r, n) { + let i + try { + const a = this.LA(1) + this.tokenMatcher(a, e) === !0 ? (this.consumeToken(), (i = a)) : this.consumeInternalError(e, a, n) + } catch (a) { + i = this.consumeInternalRecovery(e, r, a) + } + return this.cstPostTerminal(n !== void 0 && n.LABEL !== void 0 ? n.LABEL : e.name, i), i + } + consumeInternalError(e, r, n) { + let i + const a = this.LA(0) + throw ( + (n !== void 0 && n.ERR_MSG + ? (i = n.ERR_MSG) + : (i = this.errorMessageProvider.buildMismatchTokenMessage({ + expected: e, + actual: r, + previous: a, + ruleName: this.getCurrRuleFullName(), + })), + this.SAVE_ERROR(new RV(i, r, a))) + ) + } + consumeInternalRecovery(e, r, n) { + if (this.recoveryEnabled && n.name === "MismatchedTokenException" && !this.isBackTracking()) { + const i = this.getFollowsForInRuleRecovery(e, r) + try { + return this.tryInRuleRecovery(e, i) + } catch (a) { + throw a.name === NV ? n : a + } + } else throw n + } + saveRecogState() { + const e = this.errors, + r = zn(this.RULE_STACK) + return { errors: e, lexerState: this.exportLexerState(), RULE_STACK: r, CST_STACK: this.CST_STACK } + } + reloadRecogState(e) { + ;(this.errors = e.errors), this.importLexerState(e.lexerState), (this.RULE_STACK = e.RULE_STACK) + } + ruleInvocationStateUpdate(e, r, n) { + this.RULE_OCCURRENCE_STACK.push(n), this.RULE_STACK.push(e), this.cstInvocationStateUpdate(r) + } + isBackTracking() { + return this.isBackTrackingStack.length !== 0 + } + getCurrRuleFullName() { + const e = this.getLastExplicitRuleShortName() + return this.shortRuleNameToFull[e] + } + shortRuleNameToFullName(e) { + return this.shortRuleNameToFull[e] + } + isAtEndOfInput() { + return this.tokenMatcher(this.LA(1), Bl) + } + reset() { + this.resetLexerState(), + (this.subruleIdx = 0), + (this.isBackTrackingStack = []), + (this.errors = []), + (this.RULE_STACK = []), + (this.CST_STACK = []), + (this.RULE_OCCURRENCE_STACK = []) + } +} +class Xye { + initErrorHandler(e) { + ;(this._errors = []), + (this.errorMessageProvider = $t(e, "errorMessageProvider") + ? e.errorMessageProvider + : jo.errorMessageProvider) + } + SAVE_ERROR(e) { + if (ky(e)) + return ( + (e.context = { + ruleStack: this.getHumanReadableRuleStack(), + ruleOccurrenceStack: zn(this.RULE_OCCURRENCE_STACK), + }), + this._errors.push(e), + e + ) + throw Error("Trying to save an Error which is not a RecognitionException") + } + get errors() { + return zn(this._errors) + } + set errors(e) { + this._errors = e + } + raiseEarlyExitException(e, r, n) { + const i = this.getCurrRuleFullName(), + a = this.getGAstProductions()[i], + o = gx(e, a, r, this.maxLookahead)[0], + l = [] + for (let h = 1; h <= this.maxLookahead; h++) l.push(this.LA(h)) + const u = this.errorMessageProvider.buildEarlyExitMessage({ + expectedIterationPaths: o, + actual: l, + previous: this.LA(0), + customUserDescription: n, + ruleName: i, + }) + throw this.SAVE_ERROR(new _ye(u, this.LA(1), this.LA(0))) + } + raiseNoAltException(e, r) { + const n = this.getCurrRuleFullName(), + i = this.getGAstProductions()[n], + a = px(e, i, this.maxLookahead), + s = [] + for (let u = 1; u <= this.maxLookahead; u++) s.push(this.LA(u)) + const o = this.LA(0), + l = this.errorMessageProvider.buildNoViableAltMessage({ + expectedPathsPerAlt: a, + actual: s, + previous: o, + customUserDescription: r, + ruleName: this.getCurrRuleFullName(), + }) + throw this.SAVE_ERROR(new Cye(l, this.LA(1), o)) + } +} +class jye { + initContentAssist() {} + computeContentAssist(e, r) { + const n = this.gastProductionsCache[e] + if (kr(n)) throw Error(`Rule ->${e}<- does not exist in this grammar.`) + return xV([n], r, this.tokenMatcher, this.maxLookahead) + } + getNextPossibleTokenTypes(e) { + const r = Es(e.ruleStack), + i = this.getGAstProductions()[r] + return new Qve(i, e).startWalking() + } +} +const vx = { description: "This Object indicates the Parser is during Recording Phase" } +Object.freeze(vx) +const CA = !0, + AA = Math.pow(2, Zl) - 1, + OV = vV({ name: "RECORDING_PHASE_TOKEN", pattern: ia.NA }) +Ig([OV]) +const PV = vk( + OV, + `This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`, + -1, + -1, + -1, + -1, + -1, + -1, +) +Object.freeze(PV) +const Kye = { + name: `This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`, + children: {}, +} +class Zye { + initGastRecorder(e) { + ;(this.recordingProdStack = []), (this.RECORDING_PHASE = !1) + } + enableRecording() { + ;(this.RECORDING_PHASE = !0), + this.TRACE_INIT("Enable Recording", () => { + for (let e = 0; e < 10; e++) { + const r = e > 0 ? e : "" + ;(this[`CONSUME${r}`] = function (n, i) { + return this.consumeInternalRecord(n, e, i) + }), + (this[`SUBRULE${r}`] = function (n, i) { + return this.subruleInternalRecord(n, e, i) + }), + (this[`OPTION${r}`] = function (n) { + return this.optionInternalRecord(n, e) + }), + (this[`OR${r}`] = function (n) { + return this.orInternalRecord(n, e) + }), + (this[`MANY${r}`] = function (n) { + this.manyInternalRecord(e, n) + }), + (this[`MANY_SEP${r}`] = function (n) { + this.manySepFirstInternalRecord(e, n) + }), + (this[`AT_LEAST_ONE${r}`] = function (n) { + this.atLeastOneInternalRecord(e, n) + }), + (this[`AT_LEAST_ONE_SEP${r}`] = function (n) { + this.atLeastOneSepFirstInternalRecord(e, n) + }) + } + ;(this.consume = function (e, r, n) { + return this.consumeInternalRecord(r, e, n) + }), + (this.subrule = function (e, r, n) { + return this.subruleInternalRecord(r, e, n) + }), + (this.option = function (e, r) { + return this.optionInternalRecord(r, e) + }), + (this.or = function (e, r) { + return this.orInternalRecord(r, e) + }), + (this.many = function (e, r) { + this.manyInternalRecord(e, r) + }), + (this.atLeastOne = function (e, r) { + this.atLeastOneInternalRecord(e, r) + }), + (this.ACTION = this.ACTION_RECORD), + (this.BACKTRACK = this.BACKTRACK_RECORD), + (this.LA = this.LA_RECORD) + }) + } + disableRecording() { + ;(this.RECORDING_PHASE = !1), + this.TRACE_INIT("Deleting Recording methods", () => { + const e = this + for (let r = 0; r < 10; r++) { + const n = r > 0 ? r : "" + delete e[`CONSUME${n}`], + delete e[`SUBRULE${n}`], + delete e[`OPTION${n}`], + delete e[`OR${n}`], + delete e[`MANY${n}`], + delete e[`MANY_SEP${n}`], + delete e[`AT_LEAST_ONE${n}`], + delete e[`AT_LEAST_ONE_SEP${n}`] + } + delete e.consume, + delete e.subrule, + delete e.option, + delete e.or, + delete e.many, + delete e.atLeastOne, + delete e.ACTION, + delete e.BACKTRACK, + delete e.LA + }) + } + ACTION_RECORD(e) {} + BACKTRACK_RECORD(e, r) { + return () => !0 + } + LA_RECORD(e) { + return Cy + } + topLevelRuleRecord(e, r) { + try { + const n = new ff({ definition: [], name: e }) + return (n.name = e), this.recordingProdStack.push(n), r.call(this), this.recordingProdStack.pop(), n + } catch (n) { + if (n.KNOWN_RECORDER_ERROR !== !0) + try { + n.message = + n.message + + ` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording` + } catch { + throw n + } + throw n + } + } + optionInternalRecord(e, r) { + return Gf.call(this, ui, e, r) + } + atLeastOneInternalRecord(e, r) { + Gf.call(this, Na, r, e) + } + atLeastOneSepFirstInternalRecord(e, r) { + Gf.call(this, Da, r, e, CA) + } + manyInternalRecord(e, r) { + Gf.call(this, ln, r, e) + } + manySepFirstInternalRecord(e, r) { + Gf.call(this, ma, r, e, CA) + } + orInternalRecord(e, r) { + return Qye.call(this, e, r) + } + subruleInternalRecord(e, r, n) { + if ((Sy(r), !e || $t(e, "ruleName") === !1)) { + const o = + new Error(`<SUBRULE${_A(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`) + throw ((o.KNOWN_RECORDER_ERROR = !0), o) + } + const i = Qs(this.recordingProdStack), + a = e.ruleName, + s = new qi({ idx: r, nonTerminalName: a, label: n == null ? void 0 : n.LABEL, referencedRule: void 0 }) + return i.definition.push(s), this.outputCst ? Kye : vx + } + consumeInternalRecord(e, r, n) { + if ((Sy(r), !gV(e))) { + const s = + new Error(`<CONSUME${_A(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`) + throw ((s.KNOWN_RECORDER_ERROR = !0), s) + } + const i = Qs(this.recordingProdStack), + a = new Yr({ idx: r, terminalType: e, label: n == null ? void 0 : n.LABEL }) + return i.definition.push(a), PV + } +} +function Gf(t, e, r, n = !1) { + Sy(r) + const i = Qs(this.recordingProdStack), + a = ts(e) ? e : e.DEF, + s = new t({ definition: [], idx: r }) + return ( + n && (s.separator = e.SEP), + $t(e, "MAX_LOOKAHEAD") && (s.maxLookahead = e.MAX_LOOKAHEAD), + this.recordingProdStack.push(s), + a.call(this), + i.definition.push(s), + this.recordingProdStack.pop(), + vx + ) +} +function Qye(t, e) { + Sy(e) + const r = Qs(this.recordingProdStack), + n = lr(t) === !1, + i = n === !1 ? t : t.DEF, + a = new va({ definition: [], idx: e, ignoreAmbiguities: n && t.IGNORE_AMBIGUITIES === !0 }) + $t(t, "MAX_LOOKAHEAD") && (a.maxLookahead = t.MAX_LOOKAHEAD) + const s = iz(i, (o) => ts(o.GATE)) + return ( + (a.hasPredicates = s), + r.definition.push(a), + Ie(i, (o) => { + const l = new la({ definition: [] }) + a.definition.push(l), + $t(o, "IGNORE_AMBIGUITIES") + ? (l.ignoreAmbiguities = o.IGNORE_AMBIGUITIES) + : $t(o, "GATE") && (l.ignoreAmbiguities = !0), + this.recordingProdStack.push(l), + o.ALT.call(this), + this.recordingProdStack.pop() + }), + vx + ) +} +function _A(t) { + return t === 0 ? "" : `${t}` +} +function Sy(t) { + if (t < 0 || t > AA) { + const e = new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${AA + 1}`) + throw ((e.KNOWN_RECORDER_ERROR = !0), e) + } +} +class Jye { + initPerformanceTracer(e) { + if ($t(e, "traceInitPerf")) { + const r = e.traceInitPerf, + n = typeof r == "number" + ;(this.traceInitMaxIdent = n ? r : 1 / 0), (this.traceInitPerf = n ? r > 0 : r) + } else (this.traceInitMaxIdent = 0), (this.traceInitPerf = jo.traceInitPerf) + this.traceInitIndent = -1 + } + TRACE_INIT(e, r) { + if (this.traceInitPerf === !0) { + this.traceInitIndent++ + const n = new Array(this.traceInitIndent + 1).join(" ") + this.traceInitIndent < this.traceInitMaxIdent && console.log(`${n}--> <${e}>`) + const { time: i, value: a } = aV(r), + s = i > 10 ? console.warn : console.log + return ( + this.traceInitIndent < this.traceInitMaxIdent && s(`${n}<-- <${e}> time: ${i}ms`), + this.traceInitIndent--, + a + ) + } else return r() + } +} +function e2e(t, e) { + e.forEach((r) => { + const n = r.prototype + Object.getOwnPropertyNames(n).forEach((i) => { + if (i === "constructor") return + const a = Object.getOwnPropertyDescriptor(n, i) + a && (a.get || a.set) ? Object.defineProperty(t.prototype, i, a) : (t.prototype[i] = r.prototype[i]) + }) + }) +} +const Cy = vk(Bl, "", NaN, NaN, NaN, NaN, NaN, NaN) +Object.freeze(Cy) +const jo = Object.freeze({ + recoveryEnabled: !1, + maxLookahead: 3, + dynamicTokensEnabled: !1, + outputCst: !0, + errorMessageProvider: oh, + nodeLocationTracking: "none", + traceInitPerf: !1, + skipValidations: !1, + }), + Ay = Object.freeze({ recoveryValueFunc: () => {}, resyncEnabled: !0 }) +var Wi +;(function (t) { + ;(t[(t.INVALID_RULE_NAME = 0)] = "INVALID_RULE_NAME"), + (t[(t.DUPLICATE_RULE_NAME = 1)] = "DUPLICATE_RULE_NAME"), + (t[(t.INVALID_RULE_OVERRIDE = 2)] = "INVALID_RULE_OVERRIDE"), + (t[(t.DUPLICATE_PRODUCTIONS = 3)] = "DUPLICATE_PRODUCTIONS"), + (t[(t.UNRESOLVED_SUBRULE_REF = 4)] = "UNRESOLVED_SUBRULE_REF"), + (t[(t.LEFT_RECURSION = 5)] = "LEFT_RECURSION"), + (t[(t.NONE_LAST_EMPTY_ALT = 6)] = "NONE_LAST_EMPTY_ALT"), + (t[(t.AMBIGUOUS_ALTS = 7)] = "AMBIGUOUS_ALTS"), + (t[(t.CONFLICT_TOKENS_RULES_NAMESPACE = 8)] = "CONFLICT_TOKENS_RULES_NAMESPACE"), + (t[(t.INVALID_TOKEN_NAME = 9)] = "INVALID_TOKEN_NAME"), + (t[(t.NO_NON_EMPTY_LOOKAHEAD = 10)] = "NO_NON_EMPTY_LOOKAHEAD"), + (t[(t.AMBIGUOUS_PREFIX_ALTS = 11)] = "AMBIGUOUS_PREFIX_ALTS"), + (t[(t.TOO_MANY_ALTS = 12)] = "TOO_MANY_ALTS"), + (t[(t.CUSTOM_LOOKAHEAD_VALIDATION = 13)] = "CUSTOM_LOOKAHEAD_VALIDATION") +})(Wi || (Wi = {})) +function LA(t = void 0) { + return function () { + return t + } +} +class Mg { + static performSelfAnalysis(e) { + throw Error( + "The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.", + ) + } + performSelfAnalysis() { + this.TRACE_INIT("performSelfAnalysis", () => { + let e + this.selfAnalysisDone = !0 + const r = this.className + this.TRACE_INIT("toFastProps", () => { + sV(this) + }), + this.TRACE_INIT("Grammar Recording", () => { + try { + this.enableRecording(), + Ie(this.definedRulesNames, (i) => { + const s = this[i].originalGrammarAction + let o + this.TRACE_INIT(`${i} Rule`, () => { + o = this.topLevelRuleRecord(i, s) + }), + (this.gastProductionsCache[i] = o) + }) + } finally { + this.disableRecording() + } + }) + let n = [] + if ( + (this.TRACE_INIT("Grammar Resolving", () => { + ;(n = kye({ rules: Or(this.gastProductionsCache) })), + (this.definitionErrors = this.definitionErrors.concat(n)) + }), + this.TRACE_INIT("Grammar Validations", () => { + if (br(n) && this.skipValidations === !1) { + const i = Sye({ + rules: Or(this.gastProductionsCache), + tokenTypes: Or(this.tokensMap), + errMsgProvider: Oc, + grammarName: r, + }), + a = cye({ + lookaheadStrategy: this.lookaheadStrategy, + rules: Or(this.gastProductionsCache), + tokenTypes: Or(this.tokensMap), + grammarName: r, + }) + this.definitionErrors = this.definitionErrors.concat(i, a) + } + }), + br(this.definitionErrors) && + (this.recoveryEnabled && + this.TRACE_INIT("computeAllProdsFollows", () => { + const i = lve(Or(this.gastProductionsCache)) + this.resyncFollows = i + }), + this.TRACE_INIT("ComputeLookaheadFunctions", () => { + var i, a + ;(a = (i = this.lookaheadStrategy).initialize) === null || + a === void 0 || + a.call(i, { rules: Or(this.gastProductionsCache) }), + this.preComputeLookaheadFunctions(Or(this.gastProductionsCache)) + })), + !Mg.DEFER_DEFINITION_ERRORS_HANDLING && !br(this.definitionErrors)) + ) + throw ( + ((e = ht(this.definitionErrors, (i) => i.message)), + new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)) + ) + }) + } + constructor(e, r) { + ;(this.definitionErrors = []), (this.selfAnalysisDone = !1) + const n = this + if ( + (n.initErrorHandler(r), + n.initLexerAdapter(), + n.initLooksAhead(r), + n.initRecognizerEngine(e, r), + n.initRecoverable(r), + n.initTreeBuilder(r), + n.initContentAssist(), + n.initGastRecorder(r), + n.initPerformanceTracer(r), + $t(r, "ignoredIssues")) + ) + throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated. + Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`) + this.skipValidations = $t(r, "skipValidations") ? r.skipValidations : jo.skipValidations + } +} +Mg.DEFER_DEFINITION_ERRORS_HANDLING = !1 +e2e(Mg, [Rye, Iye, qye, Wye, Yye, Hye, Xye, jye, Zye, Jye]) +class t2e extends Mg { + constructor(e, r = jo) { + const n = zn(r) + ;(n.outputCst = !1), super(e, n) + } +} +function $d(t, e, r) { + return `${t.name}_${e}_${r}` +} +const Fl = 1, + r2e = 2, + BV = 4, + FV = 5, + Og = 7, + n2e = 8, + i2e = 9, + a2e = 10, + s2e = 11, + $V = 12 +class wk { + constructor(e) { + this.target = e + } + isEpsilon() { + return !1 + } +} +class Tk extends wk { + constructor(e, r) { + super(e), (this.tokenType = r) + } +} +class zV extends wk { + constructor(e) { + super(e) + } + isEpsilon() { + return !0 + } +} +class Ek extends wk { + constructor(e, r, n) { + super(e), (this.rule = r), (this.followState = n) + } + isEpsilon() { + return !0 + } +} +function o2e(t) { + const e = { + decisionMap: {}, + decisionStates: [], + ruleToStartState: new Map(), + ruleToStopState: new Map(), + states: [], + } + l2e(e, t) + const r = t.length + for (let n = 0; n < r; n++) { + const i = t[n], + a = Su(e, i, i) + a !== void 0 && x2e(e, i, a) + } + return e +} +function l2e(t, e) { + const r = e.length + for (let n = 0; n < r; n++) { + const i = e[n], + a = jn(t, i, void 0, { type: r2e }), + s = jn(t, i, void 0, { type: Og }) + ;(a.stop = s), t.ruleToStartState.set(i, a), t.ruleToStopState.set(i, s) + } +} +function VV(t, e, r) { + return r instanceof Yr + ? kk(t, e, r.terminalType, r) + : r instanceof qi + ? y2e(t, e, r) + : r instanceof va + ? f2e(t, e, r) + : r instanceof ui + ? p2e(t, e, r) + : r instanceof ln + ? c2e(t, e, r) + : r instanceof ma + ? u2e(t, e, r) + : r instanceof Na + ? h2e(t, e, r) + : r instanceof Da + ? d2e(t, e, r) + : Su(t, e, r) +} +function c2e(t, e, r) { + const n = jn(t, e, r, { type: FV }) + Ql(t, n) + const i = gf(t, e, n, r, Su(t, e, r)) + return UV(t, e, r, i) +} +function u2e(t, e, r) { + const n = jn(t, e, r, { type: FV }) + Ql(t, n) + const i = gf(t, e, n, r, Su(t, e, r)), + a = kk(t, e, r.separator, r) + return UV(t, e, r, i, a) +} +function h2e(t, e, r) { + const n = jn(t, e, r, { type: BV }) + Ql(t, n) + const i = gf(t, e, n, r, Su(t, e, r)) + return GV(t, e, r, i) +} +function d2e(t, e, r) { + const n = jn(t, e, r, { type: BV }) + Ql(t, n) + const i = gf(t, e, n, r, Su(t, e, r)), + a = kk(t, e, r.separator, r) + return GV(t, e, r, i, a) +} +function f2e(t, e, r) { + const n = jn(t, e, r, { type: Fl }) + Ql(t, n) + const i = ht(r.definition, (s) => VV(t, e, s)) + return gf(t, e, n, r, ...i) +} +function p2e(t, e, r) { + const n = jn(t, e, r, { type: Fl }) + Ql(t, n) + const i = gf(t, e, n, r, Su(t, e, r)) + return g2e(t, e, r, i) +} +function Su(t, e, r) { + const n = un( + ht(r.definition, (i) => VV(t, e, i)), + (i) => i !== void 0, + ) + return n.length === 1 ? n[0] : n.length === 0 ? void 0 : v2e(t, n) +} +function GV(t, e, r, n, i) { + const a = n.left, + s = n.right, + o = jn(t, e, r, { type: s2e }) + Ql(t, o) + const l = jn(t, e, r, { type: $V }) + return ( + (a.loopback = o), + (l.loopback = o), + (t.decisionMap[$d(e, i ? "RepetitionMandatoryWithSeparator" : "RepetitionMandatory", r.idx)] = o), + wn(s, o), + i === void 0 ? (wn(o, a), wn(o, l)) : (wn(o, l), wn(o, i.left), wn(i.right, a)), + { left: a, right: l } + ) +} +function UV(t, e, r, n, i) { + const a = n.left, + s = n.right, + o = jn(t, e, r, { type: a2e }) + Ql(t, o) + const l = jn(t, e, r, { type: $V }), + u = jn(t, e, r, { type: i2e }) + return ( + (o.loopback = u), + (l.loopback = u), + wn(o, a), + wn(o, l), + wn(s, u), + i !== void 0 ? (wn(u, l), wn(u, i.left), wn(i.right, a)) : wn(u, o), + (t.decisionMap[$d(e, i ? "RepetitionWithSeparator" : "Repetition", r.idx)] = o), + { left: o, right: l } + ) +} +function g2e(t, e, r, n) { + const i = n.left, + a = n.right + return wn(i, a), (t.decisionMap[$d(e, "Option", r.idx)] = i), n +} +function Ql(t, e) { + return t.decisionStates.push(e), (e.decision = t.decisionStates.length - 1), e.decision +} +function gf(t, e, r, n, ...i) { + const a = jn(t, e, n, { type: n2e, start: r }) + r.end = a + for (const o of i) o !== void 0 ? (wn(r, o.left), wn(o.right, a)) : wn(r, a) + const s = { left: r, right: a } + return (t.decisionMap[$d(e, m2e(n), n.idx)] = r), s +} +function m2e(t) { + if (t instanceof va) return "Alternation" + if (t instanceof ui) return "Option" + if (t instanceof ln) return "Repetition" + if (t instanceof ma) return "RepetitionWithSeparator" + if (t instanceof Na) return "RepetitionMandatory" + if (t instanceof Da) return "RepetitionMandatoryWithSeparator" + throw new Error("Invalid production type encountered") +} +function v2e(t, e) { + const r = e.length + for (let a = 0; a < r - 1; a++) { + const s = e[a] + let o + s.left.transitions.length === 1 && (o = s.left.transitions[0]) + const l = o instanceof Ek, + u = o, + h = e[a + 1].left + s.left.type === Fl && + s.right.type === Fl && + o !== void 0 && + ((l && u.followState === s.right) || o.target === s.right) + ? (l ? (u.followState = h) : (o.target = h), b2e(t, s.right)) + : wn(s.right, h) + } + const n = e[0], + i = e[r - 1] + return { left: n.left, right: i.right } +} +function kk(t, e, r, n) { + const i = jn(t, e, n, { type: Fl }), + a = jn(t, e, n, { type: Fl }) + return Sk(i, new Tk(a, r)), { left: i, right: a } +} +function y2e(t, e, r) { + const n = r.referencedRule, + i = t.ruleToStartState.get(n), + a = jn(t, e, r, { type: Fl }), + s = jn(t, e, r, { type: Fl }), + o = new Ek(i, n, s) + return Sk(a, o), { left: a, right: s } +} +function x2e(t, e, r) { + const n = t.ruleToStartState.get(e) + wn(n, r.left) + const i = t.ruleToStopState.get(e) + return wn(r.right, i), { left: n, right: i } +} +function wn(t, e) { + const r = new zV(e) + Sk(t, r) +} +function jn(t, e, r, n) { + const i = Object.assign( + { + atn: t, + production: r, + epsilonOnlyTransitions: !1, + rule: e, + transitions: [], + nextTokenWithinRule: [], + stateNumber: t.states.length, + }, + n, + ) + return t.states.push(i), i +} +function Sk(t, e) { + t.transitions.length === 0 && (t.epsilonOnlyTransitions = e.isEpsilon()), t.transitions.push(e) +} +function b2e(t, e) { + t.states.splice(t.states.indexOf(e), 1) +} +const _y = {} +class $w { + constructor() { + ;(this.map = {}), (this.configs = []) + } + get size() { + return this.configs.length + } + finalize() { + this.map = {} + } + add(e) { + const r = qV(e) + r in this.map || ((this.map[r] = this.configs.length), this.configs.push(e)) + } + get elements() { + return this.configs + } + get alts() { + return ht(this.configs, (e) => e.alt) + } + get key() { + let e = "" + for (const r in this.map) e += r + ":" + return e + } +} +function qV(t, e = !0) { + return `${e ? `a${t.alt}` : ""}s${t.state.stateNumber}:${t.stack.map((r) => r.stateNumber.toString()).join("_")}` +} +function w2e(t, e) { + const r = {} + return (n) => { + const i = n.toString() + let a = r[i] + return a !== void 0 || ((a = { atnStartState: t, decision: e, states: {} }), (r[i] = a)), a + } +} +class WV { + constructor() { + this.predicates = [] + } + is(e) { + return e >= this.predicates.length || this.predicates[e] + } + set(e, r) { + this.predicates[e] = r + } + toString() { + let e = "" + const r = this.predicates.length + for (let n = 0; n < r; n++) e += this.predicates[n] === !0 ? "1" : "0" + return e + } +} +const RA = new WV() +class T2e extends bk { + constructor(e) { + var r + super(), + (this.logging = (r = e == null ? void 0 : e.logging) !== null && r !== void 0 ? r : (n) => console.log(n)) + } + initialize(e) { + ;(this.atn = o2e(e.rules)), (this.dfas = E2e(this.atn)) + } + validateAmbiguousAlternationAlternatives() { + return [] + } + validateEmptyOrAlternatives() { + return [] + } + buildLookaheadForAlternation(e) { + const { prodOccurrence: r, rule: n, hasPredicates: i, dynamicTokensEnabled: a } = e, + s = this.dfas, + o = this.logging, + l = $d(n, "Alternation", r), + h = this.atn.decisionMap[l].decision, + d = ht(TA({ maxLookahead: 1, occurrence: r, prodType: "Alternation", rule: n }), (f) => ht(f, (p) => p[0])) + if (NA(d, !1) && !a) { + const f = kn( + d, + (p, g, m) => ( + Ie(g, (v) => { + v && + ((p[v.tokenTypeIdx] = m), + Ie(v.categoryMatches, (y) => { + p[y] = m + })) + }), + p + ), + {}, + ) + return i + ? function (p) { + var g + const m = this.LA(1), + v = f[m.tokenTypeIdx] + if (p !== void 0 && v !== void 0) { + const y = (g = p[v]) === null || g === void 0 ? void 0 : g.GATE + if (y !== void 0 && y.call(this) === !1) return + } + return v + } + : function () { + const p = this.LA(1) + return f[p.tokenTypeIdx] + } + } else + return i + ? function (f) { + const p = new WV(), + g = f === void 0 ? 0 : f.length + for (let v = 0; v < g; v++) { + const y = f == null ? void 0 : f[v].GATE + p.set(v, y === void 0 || y.call(this)) + } + const m = u4.call(this, s, h, p, o) + return typeof m == "number" ? m : void 0 + } + : function () { + const f = u4.call(this, s, h, RA, o) + return typeof f == "number" ? f : void 0 + } + } + buildLookaheadForOptional(e) { + const { prodOccurrence: r, rule: n, prodType: i, dynamicTokensEnabled: a } = e, + s = this.dfas, + o = this.logging, + l = $d(n, i, r), + h = this.atn.decisionMap[l].decision, + d = ht(TA({ maxLookahead: 1, occurrence: r, prodType: i, rule: n }), (f) => ht(f, (p) => p[0])) + if (NA(d) && d[0][0] && !a) { + const f = d[0], + p = Xn(f) + if (p.length === 1 && br(p[0].categoryMatches)) { + const m = p[0].tokenTypeIdx + return function () { + return this.LA(1).tokenTypeIdx === m + } + } else { + const g = kn( + p, + (m, v) => ( + v !== void 0 && + ((m[v.tokenTypeIdx] = !0), + Ie(v.categoryMatches, (y) => { + m[y] = !0 + })), + m + ), + {}, + ) + return function () { + const m = this.LA(1) + return g[m.tokenTypeIdx] === !0 + } + } + } + return function () { + const f = u4.call(this, s, h, RA, o) + return typeof f == "object" ? !1 : f === 0 + } + } +} +function NA(t, e = !0) { + const r = new Set() + for (const n of t) { + const i = new Set() + for (const a of n) { + if (a === void 0) { + if (e) break + return !1 + } + const s = [a.tokenTypeIdx].concat(a.categoryMatches) + for (const o of s) + if (r.has(o)) { + if (!i.has(o)) return !1 + } else r.add(o), i.add(o) + } + } + return !0 +} +function E2e(t) { + const e = t.decisionStates.length, + r = Array(e) + for (let n = 0; n < e; n++) r[n] = w2e(t.decisionStates[n], n) + return r +} +function u4(t, e, r, n) { + const i = t[e](r) + let a = i.start + if (a === void 0) { + const o = M2e(i.atnStartState) + ;(a = YV(i, HV(o))), (i.start = a) + } + return k2e.apply(this, [i, a, r, n]) +} +function k2e(t, e, r, n) { + let i = e, + a = 1 + const s = [] + let o = this.LA(a++) + for (;;) { + let l = R2e(i, o) + if ((l === void 0 && (l = S2e.apply(this, [t, i, o, a, r, n])), l === _y)) return L2e(s, i, o) + if (l.isAcceptState === !0) return l.prediction + ;(i = l), s.push(o), (o = this.LA(a++)) + } +} +function S2e(t, e, r, n, i, a) { + const s = N2e(e.configs, r, i) + if (s.size === 0) return DA(t, e, r, _y), _y + let o = HV(s) + const l = I2e(s, i) + if (l !== void 0) (o.isAcceptState = !0), (o.prediction = l), (o.configs.uniqueAlt = l) + else if (F2e(s)) { + const u = Bd(s.alts) + ;(o.isAcceptState = !0), (o.prediction = u), (o.configs.uniqueAlt = u), C2e.apply(this, [t, n, s.alts, a]) + } + return (o = DA(t, e, r, o)), o +} +function C2e(t, e, r, n) { + const i = [] + for (let u = 1; u <= e; u++) i.push(this.LA(u).tokenType) + const a = t.atnStartState, + s = a.rule, + o = a.production, + l = A2e({ topLevelRule: s, ambiguityIndices: r, production: o, prefixPath: i }) + n(l) +} +function A2e(t) { + const e = ht(t.prefixPath, (i) => bh(i)).join(", "), + r = t.production.idx === 0 ? "" : t.production.idx + let n = `Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${_2e(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +` + return ( + (n = + n + + `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`), + n + ) +} +function _2e(t) { + if (t instanceof qi) return "SUBRULE" + if (t instanceof ui) return "OPTION" + if (t instanceof va) return "OR" + if (t instanceof Na) return "AT_LEAST_ONE" + if (t instanceof Da) return "AT_LEAST_ONE_SEP" + if (t instanceof ma) return "MANY_SEP" + if (t instanceof ln) return "MANY" + if (t instanceof Yr) return "CONSUME" + throw Error("non exhaustive match") +} +function L2e(t, e, r) { + const n = Ca(e.configs.elements, (a) => a.state.transitions), + i = D0e( + n.filter((a) => a instanceof Tk).map((a) => a.tokenType), + (a) => a.tokenTypeIdx, + ) + return { actualToken: r, possibleTokenTypes: i, tokenPath: t } +} +function R2e(t, e) { + return t.edges[e.tokenTypeIdx] +} +function N2e(t, e, r) { + const n = new $w(), + i = [] + for (const s of t.elements) { + if (r.is(s.alt) === !1) continue + if (s.state.type === Og) { + i.push(s) + continue + } + const o = s.state.transitions.length + for (let l = 0; l < o; l++) { + const u = s.state.transitions[l], + h = D2e(u, e) + h !== void 0 && n.add({ state: h, alt: s.alt, stack: s.stack }) + } + } + let a + if ((i.length === 0 && n.size === 1 && (a = n), a === void 0)) { + a = new $w() + for (const s of n.elements) Ly(s, a) + } + if (i.length > 0 && !P2e(a)) for (const s of i) a.add(s) + return a +} +function D2e(t, e) { + if (t instanceof Tk && yV(e, t.tokenType)) return t.target +} +function I2e(t, e) { + let r + for (const n of t.elements) + if (e.is(n.alt) === !0) { + if (r === void 0) r = n.alt + else if (r !== n.alt) return + } + return r +} +function HV(t) { + return { configs: t, edges: {}, isAcceptState: !1, prediction: -1 } +} +function DA(t, e, r, n) { + return (n = YV(t, n)), (e.edges[r.tokenTypeIdx] = n), n +} +function YV(t, e) { + if (e === _y) return e + const r = e.configs.key, + n = t.states[r] + return n !== void 0 ? n : (e.configs.finalize(), (t.states[r] = e), e) +} +function M2e(t) { + const e = new $w(), + r = t.transitions.length + for (let n = 0; n < r; n++) { + const a = { state: t.transitions[n].target, alt: n, stack: [] } + Ly(a, e) + } + return e +} +function Ly(t, e) { + const r = t.state + if (r.type === Og) { + if (t.stack.length > 0) { + const i = [...t.stack], + s = { state: i.pop(), alt: t.alt, stack: i } + Ly(s, e) + } else e.add(t) + return + } + r.epsilonOnlyTransitions || e.add(t) + const n = r.transitions.length + for (let i = 0; i < n; i++) { + const a = r.transitions[i], + s = O2e(t, a) + s !== void 0 && Ly(s, e) + } +} +function O2e(t, e) { + if (e instanceof zV) return { state: e.target, alt: t.alt, stack: t.stack } + if (e instanceof Ek) { + const r = [...t.stack, e.followState] + return { state: e.target, alt: t.alt, stack: r } + } +} +function P2e(t) { + for (const e of t.elements) if (e.state.type === Og) return !0 + return !1 +} +function B2e(t) { + for (const e of t.elements) if (e.state.type !== Og) return !1 + return !0 +} +function F2e(t) { + if (B2e(t)) return !0 + const e = $2e(t.elements) + return z2e(e) && !V2e(e) +} +function $2e(t) { + const e = new Map() + for (const r of t) { + const n = qV(r, !1) + let i = e.get(n) + i === void 0 && ((i = {}), e.set(n, i)), (i[r.alt] = !0) + } + return e +} +function z2e(t) { + for (const e of Array.from(t.values())) if (Object.keys(e).length > 1) return !0 + return !1 +} +function V2e(t) { + for (const e of Array.from(t.values())) if (Object.keys(e).length === 1) return !0 + return !1 +} +var IA +;(function (t) { + function e(r) { + return typeof r == "string" + } + t.is = e +})(IA || (IA = {})) +var zw +;(function (t) { + function e(r) { + return typeof r == "string" + } + t.is = e +})(zw || (zw = {})) +var MA +;(function (t) { + ;(t.MIN_VALUE = -2147483648), (t.MAX_VALUE = 2147483647) + function e(r) { + return typeof r == "number" && t.MIN_VALUE <= r && r <= t.MAX_VALUE + } + t.is = e +})(MA || (MA = {})) +var Ry +;(function (t) { + ;(t.MIN_VALUE = 0), (t.MAX_VALUE = 2147483647) + function e(r) { + return typeof r == "number" && t.MIN_VALUE <= r && r <= t.MAX_VALUE + } + t.is = e +})(Ry || (Ry = {})) +var wr +;(function (t) { + function e(n, i) { + return ( + n === Number.MAX_VALUE && (n = Ry.MAX_VALUE), + i === Number.MAX_VALUE && (i = Ry.MAX_VALUE), + { line: n, character: i } + ) + } + t.create = e + function r(n) { + let i = n + return Be.objectLiteral(i) && Be.uinteger(i.line) && Be.uinteger(i.character) + } + t.is = r +})(wr || (wr = {})) +var fr +;(function (t) { + function e(n, i, a, s) { + if (Be.uinteger(n) && Be.uinteger(i) && Be.uinteger(a) && Be.uinteger(s)) + return { start: wr.create(n, i), end: wr.create(a, s) } + if (wr.is(n) && wr.is(i)) return { start: n, end: i } + throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`) + } + t.create = e + function r(n) { + let i = n + return Be.objectLiteral(i) && wr.is(i.start) && wr.is(i.end) + } + t.is = r +})(fr || (fr = {})) +var Ny +;(function (t) { + function e(n, i) { + return { uri: n, range: i } + } + t.create = e + function r(n) { + let i = n + return Be.objectLiteral(i) && fr.is(i.range) && (Be.string(i.uri) || Be.undefined(i.uri)) + } + t.is = r +})(Ny || (Ny = {})) +var OA +;(function (t) { + function e(n, i, a, s) { + return { targetUri: n, targetRange: i, targetSelectionRange: a, originSelectionRange: s } + } + t.create = e + function r(n) { + let i = n + return ( + Be.objectLiteral(i) && + fr.is(i.targetRange) && + Be.string(i.targetUri) && + fr.is(i.targetSelectionRange) && + (fr.is(i.originSelectionRange) || Be.undefined(i.originSelectionRange)) + ) + } + t.is = r +})(OA || (OA = {})) +var Vw +;(function (t) { + function e(n, i, a, s) { + return { red: n, green: i, blue: a, alpha: s } + } + t.create = e + function r(n) { + const i = n + return ( + Be.objectLiteral(i) && + Be.numberRange(i.red, 0, 1) && + Be.numberRange(i.green, 0, 1) && + Be.numberRange(i.blue, 0, 1) && + Be.numberRange(i.alpha, 0, 1) + ) + } + t.is = r +})(Vw || (Vw = {})) +var PA +;(function (t) { + function e(n, i) { + return { range: n, color: i } + } + t.create = e + function r(n) { + const i = n + return Be.objectLiteral(i) && fr.is(i.range) && Vw.is(i.color) + } + t.is = r +})(PA || (PA = {})) +var BA +;(function (t) { + function e(n, i, a) { + return { label: n, textEdit: i, additionalTextEdits: a } + } + t.create = e + function r(n) { + const i = n + return ( + Be.objectLiteral(i) && + Be.string(i.label) && + (Be.undefined(i.textEdit) || Vd.is(i)) && + (Be.undefined(i.additionalTextEdits) || Be.typedArray(i.additionalTextEdits, Vd.is)) + ) + } + t.is = r +})(BA || (BA = {})) +var FA +;(function (t) { + ;(t.Comment = "comment"), (t.Imports = "imports"), (t.Region = "region") +})(FA || (FA = {})) +var $A +;(function (t) { + function e(n, i, a, s, o, l) { + const u = { startLine: n, endLine: i } + return ( + Be.defined(a) && (u.startCharacter = a), + Be.defined(s) && (u.endCharacter = s), + Be.defined(o) && (u.kind = o), + Be.defined(l) && (u.collapsedText = l), + u + ) + } + t.create = e + function r(n) { + const i = n + return ( + Be.objectLiteral(i) && + Be.uinteger(i.startLine) && + Be.uinteger(i.startLine) && + (Be.undefined(i.startCharacter) || Be.uinteger(i.startCharacter)) && + (Be.undefined(i.endCharacter) || Be.uinteger(i.endCharacter)) && + (Be.undefined(i.kind) || Be.string(i.kind)) + ) + } + t.is = r +})($A || ($A = {})) +var Gw +;(function (t) { + function e(n, i) { + return { location: n, message: i } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && Ny.is(i.location) && Be.string(i.message) + } + t.is = r +})(Gw || (Gw = {})) +var zA +;(function (t) { + ;(t.Error = 1), (t.Warning = 2), (t.Information = 3), (t.Hint = 4) +})(zA || (zA = {})) +var VA +;(function (t) { + ;(t.Unnecessary = 1), (t.Deprecated = 2) +})(VA || (VA = {})) +var GA +;(function (t) { + function e(r) { + const n = r + return Be.objectLiteral(n) && Be.string(n.href) + } + t.is = e +})(GA || (GA = {})) +var Dy +;(function (t) { + function e(n, i, a, s, o, l) { + let u = { range: n, message: i } + return ( + Be.defined(a) && (u.severity = a), + Be.defined(s) && (u.code = s), + Be.defined(o) && (u.source = o), + Be.defined(l) && (u.relatedInformation = l), + u + ) + } + t.create = e + function r(n) { + var i + let a = n + return ( + Be.defined(a) && + fr.is(a.range) && + Be.string(a.message) && + (Be.number(a.severity) || Be.undefined(a.severity)) && + (Be.integer(a.code) || Be.string(a.code) || Be.undefined(a.code)) && + (Be.undefined(a.codeDescription) || + Be.string((i = a.codeDescription) === null || i === void 0 ? void 0 : i.href)) && + (Be.string(a.source) || Be.undefined(a.source)) && + (Be.undefined(a.relatedInformation) || Be.typedArray(a.relatedInformation, Gw.is)) + ) + } + t.is = r +})(Dy || (Dy = {})) +var zd +;(function (t) { + function e(n, i, ...a) { + let s = { title: n, command: i } + return Be.defined(a) && a.length > 0 && (s.arguments = a), s + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && Be.string(i.title) && Be.string(i.command) + } + t.is = r +})(zd || (zd = {})) +var Vd +;(function (t) { + function e(a, s) { + return { range: a, newText: s } + } + t.replace = e + function r(a, s) { + return { range: { start: a, end: a }, newText: s } + } + t.insert = r + function n(a) { + return { range: a, newText: "" } + } + t.del = n + function i(a) { + const s = a + return Be.objectLiteral(s) && Be.string(s.newText) && fr.is(s.range) + } + t.is = i +})(Vd || (Vd = {})) +var Uw +;(function (t) { + function e(n, i, a) { + const s = { label: n } + return i !== void 0 && (s.needsConfirmation = i), a !== void 0 && (s.description = a), s + } + t.create = e + function r(n) { + const i = n + return ( + Be.objectLiteral(i) && + Be.string(i.label) && + (Be.boolean(i.needsConfirmation) || i.needsConfirmation === void 0) && + (Be.string(i.description) || i.description === void 0) + ) + } + t.is = r +})(Uw || (Uw = {})) +var Gd +;(function (t) { + function e(r) { + const n = r + return Be.string(n) + } + t.is = e +})(Gd || (Gd = {})) +var UA +;(function (t) { + function e(a, s, o) { + return { range: a, newText: s, annotationId: o } + } + t.replace = e + function r(a, s, o) { + return { range: { start: a, end: a }, newText: s, annotationId: o } + } + t.insert = r + function n(a, s) { + return { range: a, newText: "", annotationId: s } + } + t.del = n + function i(a) { + const s = a + return Vd.is(s) && (Uw.is(s.annotationId) || Gd.is(s.annotationId)) + } + t.is = i +})(UA || (UA = {})) +var qw +;(function (t) { + function e(n, i) { + return { textDocument: n, edits: i } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && jw.is(i.textDocument) && Array.isArray(i.edits) + } + t.is = r +})(qw || (qw = {})) +var Ww +;(function (t) { + function e(n, i, a) { + let s = { kind: "create", uri: n } + return ( + i !== void 0 && (i.overwrite !== void 0 || i.ignoreIfExists !== void 0) && (s.options = i), + a !== void 0 && (s.annotationId = a), + s + ) + } + t.create = e + function r(n) { + let i = n + return ( + i && + i.kind === "create" && + Be.string(i.uri) && + (i.options === void 0 || + ((i.options.overwrite === void 0 || Be.boolean(i.options.overwrite)) && + (i.options.ignoreIfExists === void 0 || Be.boolean(i.options.ignoreIfExists)))) && + (i.annotationId === void 0 || Gd.is(i.annotationId)) + ) + } + t.is = r +})(Ww || (Ww = {})) +var Hw +;(function (t) { + function e(n, i, a, s) { + let o = { kind: "rename", oldUri: n, newUri: i } + return ( + a !== void 0 && (a.overwrite !== void 0 || a.ignoreIfExists !== void 0) && (o.options = a), + s !== void 0 && (o.annotationId = s), + o + ) + } + t.create = e + function r(n) { + let i = n + return ( + i && + i.kind === "rename" && + Be.string(i.oldUri) && + Be.string(i.newUri) && + (i.options === void 0 || + ((i.options.overwrite === void 0 || Be.boolean(i.options.overwrite)) && + (i.options.ignoreIfExists === void 0 || Be.boolean(i.options.ignoreIfExists)))) && + (i.annotationId === void 0 || Gd.is(i.annotationId)) + ) + } + t.is = r +})(Hw || (Hw = {})) +var Yw +;(function (t) { + function e(n, i, a) { + let s = { kind: "delete", uri: n } + return ( + i !== void 0 && (i.recursive !== void 0 || i.ignoreIfNotExists !== void 0) && (s.options = i), + a !== void 0 && (s.annotationId = a), + s + ) + } + t.create = e + function r(n) { + let i = n + return ( + i && + i.kind === "delete" && + Be.string(i.uri) && + (i.options === void 0 || + ((i.options.recursive === void 0 || Be.boolean(i.options.recursive)) && + (i.options.ignoreIfNotExists === void 0 || Be.boolean(i.options.ignoreIfNotExists)))) && + (i.annotationId === void 0 || Gd.is(i.annotationId)) + ) + } + t.is = r +})(Yw || (Yw = {})) +var Xw +;(function (t) { + function e(r) { + let n = r + return ( + n && + (n.changes !== void 0 || n.documentChanges !== void 0) && + (n.documentChanges === void 0 || + n.documentChanges.every((i) => (Be.string(i.kind) ? Ww.is(i) || Hw.is(i) || Yw.is(i) : qw.is(i)))) + ) + } + t.is = e +})(Xw || (Xw = {})) +var qA +;(function (t) { + function e(n) { + return { uri: n } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && Be.string(i.uri) + } + t.is = r +})(qA || (qA = {})) +var WA +;(function (t) { + function e(n, i) { + return { uri: n, version: i } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && Be.string(i.uri) && Be.integer(i.version) + } + t.is = r +})(WA || (WA = {})) +var jw +;(function (t) { + function e(n, i) { + return { uri: n, version: i } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && Be.string(i.uri) && (i.version === null || Be.integer(i.version)) + } + t.is = r +})(jw || (jw = {})) +var HA +;(function (t) { + function e(n, i, a, s) { + return { uri: n, languageId: i, version: a, text: s } + } + t.create = e + function r(n) { + let i = n + return ( + Be.defined(i) && Be.string(i.uri) && Be.string(i.languageId) && Be.integer(i.version) && Be.string(i.text) + ) + } + t.is = r +})(HA || (HA = {})) +var Kw +;(function (t) { + ;(t.PlainText = "plaintext"), (t.Markdown = "markdown") + function e(r) { + const n = r + return n === t.PlainText || n === t.Markdown + } + t.is = e +})(Kw || (Kw = {})) +var $p +;(function (t) { + function e(r) { + const n = r + return Be.objectLiteral(r) && Kw.is(n.kind) && Be.string(n.value) + } + t.is = e +})($p || ($p = {})) +var YA +;(function (t) { + ;(t.Text = 1), + (t.Method = 2), + (t.Function = 3), + (t.Constructor = 4), + (t.Field = 5), + (t.Variable = 6), + (t.Class = 7), + (t.Interface = 8), + (t.Module = 9), + (t.Property = 10), + (t.Unit = 11), + (t.Value = 12), + (t.Enum = 13), + (t.Keyword = 14), + (t.Snippet = 15), + (t.Color = 16), + (t.File = 17), + (t.Reference = 18), + (t.Folder = 19), + (t.EnumMember = 20), + (t.Constant = 21), + (t.Struct = 22), + (t.Event = 23), + (t.Operator = 24), + (t.TypeParameter = 25) +})(YA || (YA = {})) +var XA +;(function (t) { + ;(t.PlainText = 1), (t.Snippet = 2) +})(XA || (XA = {})) +var jA +;(function (t) { + t.Deprecated = 1 +})(jA || (jA = {})) +var KA +;(function (t) { + function e(n, i, a) { + return { newText: n, insert: i, replace: a } + } + t.create = e + function r(n) { + const i = n + return i && Be.string(i.newText) && fr.is(i.insert) && fr.is(i.replace) + } + t.is = r +})(KA || (KA = {})) +var ZA +;(function (t) { + ;(t.asIs = 1), (t.adjustIndentation = 2) +})(ZA || (ZA = {})) +var QA +;(function (t) { + function e(r) { + const n = r + return ( + n && (Be.string(n.detail) || n.detail === void 0) && (Be.string(n.description) || n.description === void 0) + ) + } + t.is = e +})(QA || (QA = {})) +var JA +;(function (t) { + function e(r) { + return { label: r } + } + t.create = e +})(JA || (JA = {})) +var e_ +;(function (t) { + function e(r, n) { + return { items: r || [], isIncomplete: !!n } + } + t.create = e +})(e_ || (e_ = {})) +var Iy +;(function (t) { + function e(n) { + return n.replace(/[\\`*_{}[\]()#+\-.!]/g, "\\$&") + } + t.fromPlainText = e + function r(n) { + const i = n + return Be.string(i) || (Be.objectLiteral(i) && Be.string(i.language) && Be.string(i.value)) + } + t.is = r +})(Iy || (Iy = {})) +var t_ +;(function (t) { + function e(r) { + let n = r + return ( + !!n && + Be.objectLiteral(n) && + ($p.is(n.contents) || Iy.is(n.contents) || Be.typedArray(n.contents, Iy.is)) && + (r.range === void 0 || fr.is(r.range)) + ) + } + t.is = e +})(t_ || (t_ = {})) +var r_ +;(function (t) { + function e(r, n) { + return n ? { label: r, documentation: n } : { label: r } + } + t.create = e +})(r_ || (r_ = {})) +var n_ +;(function (t) { + function e(r, n, ...i) { + let a = { label: r } + return Be.defined(n) && (a.documentation = n), Be.defined(i) ? (a.parameters = i) : (a.parameters = []), a + } + t.create = e +})(n_ || (n_ = {})) +var i_ +;(function (t) { + ;(t.Text = 1), (t.Read = 2), (t.Write = 3) +})(i_ || (i_ = {})) +var a_ +;(function (t) { + function e(r, n) { + let i = { range: r } + return Be.number(n) && (i.kind = n), i + } + t.create = e +})(a_ || (a_ = {})) +var s_ +;(function (t) { + ;(t.File = 1), + (t.Module = 2), + (t.Namespace = 3), + (t.Package = 4), + (t.Class = 5), + (t.Method = 6), + (t.Property = 7), + (t.Field = 8), + (t.Constructor = 9), + (t.Enum = 10), + (t.Interface = 11), + (t.Function = 12), + (t.Variable = 13), + (t.Constant = 14), + (t.String = 15), + (t.Number = 16), + (t.Boolean = 17), + (t.Array = 18), + (t.Object = 19), + (t.Key = 20), + (t.Null = 21), + (t.EnumMember = 22), + (t.Struct = 23), + (t.Event = 24), + (t.Operator = 25), + (t.TypeParameter = 26) +})(s_ || (s_ = {})) +var o_ +;(function (t) { + t.Deprecated = 1 +})(o_ || (o_ = {})) +var l_ +;(function (t) { + function e(r, n, i, a, s) { + let o = { name: r, kind: n, location: { uri: a, range: i } } + return s && (o.containerName = s), o + } + t.create = e +})(l_ || (l_ = {})) +var c_ +;(function (t) { + function e(r, n, i, a) { + return a !== void 0 + ? { name: r, kind: n, location: { uri: i, range: a } } + : { name: r, kind: n, location: { uri: i } } + } + t.create = e +})(c_ || (c_ = {})) +var u_ +;(function (t) { + function e(n, i, a, s, o, l) { + let u = { name: n, detail: i, kind: a, range: s, selectionRange: o } + return l !== void 0 && (u.children = l), u + } + t.create = e + function r(n) { + let i = n + return ( + i && + Be.string(i.name) && + Be.number(i.kind) && + fr.is(i.range) && + fr.is(i.selectionRange) && + (i.detail === void 0 || Be.string(i.detail)) && + (i.deprecated === void 0 || Be.boolean(i.deprecated)) && + (i.children === void 0 || Array.isArray(i.children)) && + (i.tags === void 0 || Array.isArray(i.tags)) + ) + } + t.is = r +})(u_ || (u_ = {})) +var h_ +;(function (t) { + ;(t.Empty = ""), + (t.QuickFix = "quickfix"), + (t.Refactor = "refactor"), + (t.RefactorExtract = "refactor.extract"), + (t.RefactorInline = "refactor.inline"), + (t.RefactorRewrite = "refactor.rewrite"), + (t.Source = "source"), + (t.SourceOrganizeImports = "source.organizeImports"), + (t.SourceFixAll = "source.fixAll") +})(h_ || (h_ = {})) +var My +;(function (t) { + ;(t.Invoked = 1), (t.Automatic = 2) +})(My || (My = {})) +var d_ +;(function (t) { + function e(n, i, a) { + let s = { diagnostics: n } + return i != null && (s.only = i), a != null && (s.triggerKind = a), s + } + t.create = e + function r(n) { + let i = n + return ( + Be.defined(i) && + Be.typedArray(i.diagnostics, Dy.is) && + (i.only === void 0 || Be.typedArray(i.only, Be.string)) && + (i.triggerKind === void 0 || i.triggerKind === My.Invoked || i.triggerKind === My.Automatic) + ) + } + t.is = r +})(d_ || (d_ = {})) +var f_ +;(function (t) { + function e(n, i, a) { + let s = { title: n }, + o = !0 + return ( + typeof i == "string" ? ((o = !1), (s.kind = i)) : zd.is(i) ? (s.command = i) : (s.edit = i), + o && a !== void 0 && (s.kind = a), + s + ) + } + t.create = e + function r(n) { + let i = n + return ( + i && + Be.string(i.title) && + (i.diagnostics === void 0 || Be.typedArray(i.diagnostics, Dy.is)) && + (i.kind === void 0 || Be.string(i.kind)) && + (i.edit !== void 0 || i.command !== void 0) && + (i.command === void 0 || zd.is(i.command)) && + (i.isPreferred === void 0 || Be.boolean(i.isPreferred)) && + (i.edit === void 0 || Xw.is(i.edit)) + ) + } + t.is = r +})(f_ || (f_ = {})) +var p_ +;(function (t) { + function e(n, i) { + let a = { range: n } + return Be.defined(i) && (a.data = i), a + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && fr.is(i.range) && (Be.undefined(i.command) || zd.is(i.command)) + } + t.is = r +})(p_ || (p_ = {})) +var g_ +;(function (t) { + function e(n, i) { + return { tabSize: n, insertSpaces: i } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && Be.uinteger(i.tabSize) && Be.boolean(i.insertSpaces) + } + t.is = r +})(g_ || (g_ = {})) +var m_ +;(function (t) { + function e(n, i, a) { + return { range: n, target: i, data: a } + } + t.create = e + function r(n) { + let i = n + return Be.defined(i) && fr.is(i.range) && (Be.undefined(i.target) || Be.string(i.target)) + } + t.is = r +})(m_ || (m_ = {})) +var v_ +;(function (t) { + function e(n, i) { + return { range: n, parent: i } + } + t.create = e + function r(n) { + let i = n + return Be.objectLiteral(i) && fr.is(i.range) && (i.parent === void 0 || t.is(i.parent)) + } + t.is = r +})(v_ || (v_ = {})) +var y_ +;(function (t) { + ;(t.namespace = "namespace"), + (t.type = "type"), + (t.class = "class"), + (t.enum = "enum"), + (t.interface = "interface"), + (t.struct = "struct"), + (t.typeParameter = "typeParameter"), + (t.parameter = "parameter"), + (t.variable = "variable"), + (t.property = "property"), + (t.enumMember = "enumMember"), + (t.event = "event"), + (t.function = "function"), + (t.method = "method"), + (t.macro = "macro"), + (t.keyword = "keyword"), + (t.modifier = "modifier"), + (t.comment = "comment"), + (t.string = "string"), + (t.number = "number"), + (t.regexp = "regexp"), + (t.operator = "operator"), + (t.decorator = "decorator") +})(y_ || (y_ = {})) +var x_ +;(function (t) { + ;(t.declaration = "declaration"), + (t.definition = "definition"), + (t.readonly = "readonly"), + (t.static = "static"), + (t.deprecated = "deprecated"), + (t.abstract = "abstract"), + (t.async = "async"), + (t.modification = "modification"), + (t.documentation = "documentation"), + (t.defaultLibrary = "defaultLibrary") +})(x_ || (x_ = {})) +var b_ +;(function (t) { + function e(r) { + const n = r + return ( + Be.objectLiteral(n) && + (n.resultId === void 0 || typeof n.resultId == "string") && + Array.isArray(n.data) && + (n.data.length === 0 || typeof n.data[0] == "number") + ) + } + t.is = e +})(b_ || (b_ = {})) +var w_ +;(function (t) { + function e(n, i) { + return { range: n, text: i } + } + t.create = e + function r(n) { + const i = n + return i != null && fr.is(i.range) && Be.string(i.text) + } + t.is = r +})(w_ || (w_ = {})) +var T_ +;(function (t) { + function e(n, i, a) { + return { range: n, variableName: i, caseSensitiveLookup: a } + } + t.create = e + function r(n) { + const i = n + return ( + i != null && + fr.is(i.range) && + Be.boolean(i.caseSensitiveLookup) && + (Be.string(i.variableName) || i.variableName === void 0) + ) + } + t.is = r +})(T_ || (T_ = {})) +var E_ +;(function (t) { + function e(n, i) { + return { range: n, expression: i } + } + t.create = e + function r(n) { + const i = n + return i != null && fr.is(i.range) && (Be.string(i.expression) || i.expression === void 0) + } + t.is = r +})(E_ || (E_ = {})) +var k_ +;(function (t) { + function e(n, i) { + return { frameId: n, stoppedLocation: i } + } + t.create = e + function r(n) { + const i = n + return Be.defined(i) && fr.is(n.stoppedLocation) + } + t.is = r +})(k_ || (k_ = {})) +var Zw +;(function (t) { + ;(t.Type = 1), (t.Parameter = 2) + function e(r) { + return r === 1 || r === 2 + } + t.is = e +})(Zw || (Zw = {})) +var Qw +;(function (t) { + function e(n) { + return { value: n } + } + t.create = e + function r(n) { + const i = n + return ( + Be.objectLiteral(i) && + (i.tooltip === void 0 || Be.string(i.tooltip) || $p.is(i.tooltip)) && + (i.location === void 0 || Ny.is(i.location)) && + (i.command === void 0 || zd.is(i.command)) + ) + } + t.is = r +})(Qw || (Qw = {})) +var S_ +;(function (t) { + function e(n, i, a) { + const s = { position: n, label: i } + return a !== void 0 && (s.kind = a), s + } + t.create = e + function r(n) { + const i = n + return ( + (Be.objectLiteral(i) && + wr.is(i.position) && + (Be.string(i.label) || Be.typedArray(i.label, Qw.is)) && + (i.kind === void 0 || Zw.is(i.kind)) && + i.textEdits === void 0) || + (Be.typedArray(i.textEdits, Vd.is) && + (i.tooltip === void 0 || Be.string(i.tooltip) || $p.is(i.tooltip)) && + (i.paddingLeft === void 0 || Be.boolean(i.paddingLeft)) && + (i.paddingRight === void 0 || Be.boolean(i.paddingRight))) + ) + } + t.is = r +})(S_ || (S_ = {})) +var C_ +;(function (t) { + function e(r) { + return { kind: "snippet", value: r } + } + t.createSnippet = e +})(C_ || (C_ = {})) +var A_ +;(function (t) { + function e(r, n, i, a) { + return { insertText: r, filterText: n, range: i, command: a } + } + t.create = e +})(A_ || (A_ = {})) +var __ +;(function (t) { + function e(r) { + return { items: r } + } + t.create = e +})(__ || (__ = {})) +var L_ +;(function (t) { + ;(t.Invoked = 0), (t.Automatic = 1) +})(L_ || (L_ = {})) +var R_ +;(function (t) { + function e(r, n) { + return { range: r, text: n } + } + t.create = e +})(R_ || (R_ = {})) +var N_ +;(function (t) { + function e(r, n) { + return { triggerKind: r, selectedCompletionInfo: n } + } + t.create = e +})(N_ || (N_ = {})) +var D_ +;(function (t) { + function e(r) { + const n = r + return Be.objectLiteral(n) && zw.is(n.uri) && Be.string(n.name) + } + t.is = e +})(D_ || (D_ = {})) +var I_ +;(function (t) { + function e(a, s, o, l) { + return new G2e(a, s, o, l) + } + t.create = e + function r(a) { + let s = a + return !!( + Be.defined(s) && + Be.string(s.uri) && + (Be.undefined(s.languageId) || Be.string(s.languageId)) && + Be.uinteger(s.lineCount) && + Be.func(s.getText) && + Be.func(s.positionAt) && + Be.func(s.offsetAt) + ) + } + t.is = r + function n(a, s) { + let o = a.getText(), + l = i(s, (h, d) => { + let f = h.range.start.line - d.range.start.line + return f === 0 ? h.range.start.character - d.range.start.character : f + }), + u = o.length + for (let h = l.length - 1; h >= 0; h--) { + let d = l[h], + f = a.offsetAt(d.range.start), + p = a.offsetAt(d.range.end) + if (p <= u) o = o.substring(0, f) + d.newText + o.substring(p, o.length) + else throw new Error("Overlapping edit") + u = f + } + return o + } + t.applyEdits = n + function i(a, s) { + if (a.length <= 1) return a + const o = (a.length / 2) | 0, + l = a.slice(0, o), + u = a.slice(o) + i(l, s), i(u, s) + let h = 0, + d = 0, + f = 0 + for (; h < l.length && d < u.length; ) s(l[h], u[d]) <= 0 ? (a[f++] = l[h++]) : (a[f++] = u[d++]) + for (; h < l.length; ) a[f++] = l[h++] + for (; d < u.length; ) a[f++] = u[d++] + return a + } +})(I_ || (I_ = {})) +let G2e = class { + constructor(e, r, n, i) { + ;(this._uri = e), (this._languageId = r), (this._version = n), (this._content = i), (this._lineOffsets = void 0) + } + get uri() { + return this._uri + } + get languageId() { + return this._languageId + } + get version() { + return this._version + } + getText(e) { + if (e) { + let r = this.offsetAt(e.start), + n = this.offsetAt(e.end) + return this._content.substring(r, n) + } + return this._content + } + update(e, r) { + ;(this._content = e.text), (this._version = r), (this._lineOffsets = void 0) + } + getLineOffsets() { + if (this._lineOffsets === void 0) { + let e = [], + r = this._content, + n = !0 + for (let i = 0; i < r.length; i++) { + n && (e.push(i), (n = !1)) + let a = r.charAt(i) + ;(n = + a === "\r" || + a === + ` +`), + a === "\r" && + i + 1 < r.length && + r.charAt(i + 1) === + ` +` && + i++ + } + n && r.length > 0 && e.push(r.length), (this._lineOffsets = e) + } + return this._lineOffsets + } + positionAt(e) { + e = Math.max(Math.min(e, this._content.length), 0) + let r = this.getLineOffsets(), + n = 0, + i = r.length + if (i === 0) return wr.create(0, e) + for (; n < i; ) { + let s = Math.floor((n + i) / 2) + r[s] > e ? (i = s) : (n = s + 1) + } + let a = n - 1 + return wr.create(a, e - r[a]) + } + offsetAt(e) { + let r = this.getLineOffsets() + if (e.line >= r.length) return this._content.length + if (e.line < 0) return 0 + let n = r[e.line], + i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length + return Math.max(Math.min(n + e.character, i), n) + } + get lineCount() { + return this.getLineOffsets().length + } +} +var Be +;(function (t) { + const e = Object.prototype.toString + function r(p) { + return typeof p < "u" + } + t.defined = r + function n(p) { + return typeof p > "u" + } + t.undefined = n + function i(p) { + return p === !0 || p === !1 + } + t.boolean = i + function a(p) { + return e.call(p) === "[object String]" + } + t.string = a + function s(p) { + return e.call(p) === "[object Number]" + } + t.number = s + function o(p, g, m) { + return e.call(p) === "[object Number]" && g <= p && p <= m + } + t.numberRange = o + function l(p) { + return e.call(p) === "[object Number]" && -2147483648 <= p && p <= 2147483647 + } + t.integer = l + function u(p) { + return e.call(p) === "[object Number]" && 0 <= p && p <= 2147483647 + } + t.uinteger = u + function h(p) { + return e.call(p) === "[object Function]" + } + t.func = h + function d(p) { + return p !== null && typeof p == "object" + } + t.objectLiteral = d + function f(p, g) { + return Array.isArray(p) && p.every(g) + } + t.typedArray = f +})(Be || (Be = {})) +class U2e { + constructor() { + this.nodeStack = [] + } + get current() { + var e + return (e = this.nodeStack[this.nodeStack.length - 1]) !== null && e !== void 0 ? e : this.rootNode + } + buildRootNode(e) { + return ( + (this.rootNode = new jV(e)), + (this.rootNode.root = this.rootNode), + (this.nodeStack = [this.rootNode]), + this.rootNode + ) + } + buildCompositeNode(e) { + const r = new Ck() + return (r.grammarSource = e), (r.root = this.rootNode), this.current.content.push(r), this.nodeStack.push(r), r + } + buildLeafNode(e, r) { + const n = new Jw(e.startOffset, e.image.length, Cw(e), e.tokenType, !r) + return (n.grammarSource = r), (n.root = this.rootNode), this.current.content.push(n), n + } + removeNode(e) { + const r = e.container + if (r) { + const n = r.content.indexOf(e) + n >= 0 && r.content.splice(n, 1) + } + } + addHiddenNodes(e) { + const r = [] + for (const a of e) { + const s = new Jw(a.startOffset, a.image.length, Cw(a), a.tokenType, !0) + ;(s.root = this.rootNode), r.push(s) + } + let n = this.current, + i = !1 + if (n.content.length > 0) { + n.content.push(...r) + return + } + for (; n.container; ) { + const a = n.container.content.indexOf(n) + if (a > 0) { + n.container.content.splice(a, 0, ...r), (i = !0) + break + } + n = n.container + } + i || this.rootNode.content.unshift(...r) + } + construct(e) { + const r = this.current + typeof e.$type == "string" && (this.current.astNode = e), (e.$cstNode = r) + const n = this.nodeStack.pop() + ;(n == null ? void 0 : n.content.length) === 0 && this.removeNode(n) + } +} +class XV { + get parent() { + return this.container + } + get feature() { + return this.grammarSource + } + get hidden() { + return !1 + } + get astNode() { + var e, r + const n = + typeof ((e = this._astNode) === null || e === void 0 ? void 0 : e.$type) == "string" + ? this._astNode + : (r = this.container) === null || r === void 0 + ? void 0 + : r.astNode + if (!n) throw new Error("This node has no associated AST element") + return n + } + set astNode(e) { + this._astNode = e + } + get element() { + return this.astNode + } + get text() { + return this.root.fullText.substring(this.offset, this.end) + } +} +class Jw extends XV { + get offset() { + return this._offset + } + get length() { + return this._length + } + get end() { + return this._offset + this._length + } + get hidden() { + return this._hidden + } + get tokenType() { + return this._tokenType + } + get range() { + return this._range + } + constructor(e, r, n, i, a = !1) { + super(), (this._hidden = a), (this._offset = e), (this._tokenType = i), (this._length = r), (this._range = n) + } +} +class Ck extends XV { + constructor() { + super(...arguments), (this.content = new Ak(this)) + } + get children() { + return this.content + } + get offset() { + var e, r + return (r = (e = this.firstNonHiddenNode) === null || e === void 0 ? void 0 : e.offset) !== null && r !== void 0 + ? r + : 0 + } + get length() { + return this.end - this.offset + } + get end() { + var e, r + return (r = (e = this.lastNonHiddenNode) === null || e === void 0 ? void 0 : e.end) !== null && r !== void 0 + ? r + : 0 + } + get range() { + const e = this.firstNonHiddenNode, + r = this.lastNonHiddenNode + if (e && r) { + if (this._rangeCache === void 0) { + const { range: n } = e, + { range: i } = r + this._rangeCache = { start: n.start, end: i.end.line < n.start.line ? n.start : i.end } + } + return this._rangeCache + } else return { start: wr.create(0, 0), end: wr.create(0, 0) } + } + get firstNonHiddenNode() { + for (const e of this.content) if (!e.hidden) return e + return this.content[0] + } + get lastNonHiddenNode() { + for (let e = this.content.length - 1; e >= 0; e--) { + const r = this.content[e] + if (!r.hidden) return r + } + return this.content[this.content.length - 1] + } +} +class Ak extends Array { + constructor(e) { + super(), (this.parent = e), Object.setPrototypeOf(this, Ak.prototype) + } + push(...e) { + return this.addParents(e), super.push(...e) + } + unshift(...e) { + return this.addParents(e), super.unshift(...e) + } + splice(e, r, ...n) { + return this.addParents(n), super.splice(e, r, ...n) + } + addParents(e) { + for (const r of e) r.container = this.parent + } +} +class jV extends Ck { + get text() { + return this._text.substring(this.offset, this.end) + } + get fullText() { + return this._text + } + constructor(e) { + super(), (this._text = ""), (this._text = e ?? "") + } +} +const e6 = Symbol("Datatype") +function h4(t) { + return t.$type === e6 +} +const M_ = "​", + KV = (t) => (t.endsWith(M_) ? t : t + M_) +class ZV { + constructor(e) { + ;(this._unorderedGroups = new Map()), (this.allRules = new Map()), (this.lexer = e.parser.Lexer) + const r = this.lexer.definition, + n = e.LanguageMetaData.mode === "production" + this.wrapper = new X2e( + r, + Object.assign(Object.assign({}, e.parser.ParserConfig), { + skipValidations: n, + errorMessageProvider: e.parser.ParserErrorMessageProvider, + }), + ) + } + alternatives(e, r) { + this.wrapper.wrapOr(e, r) + } + optional(e, r) { + this.wrapper.wrapOption(e, r) + } + many(e, r) { + this.wrapper.wrapMany(e, r) + } + atLeastOne(e, r) { + this.wrapper.wrapAtLeastOne(e, r) + } + getRule(e) { + return this.allRules.get(e) + } + isRecording() { + return this.wrapper.IS_RECORDING + } + get unorderedGroups() { + return this._unorderedGroups + } + getRuleStack() { + return this.wrapper.RULE_STACK + } + finalize() { + this.wrapper.wrapSelfAnalysis() + } +} +class q2e extends ZV { + get current() { + return this.stack[this.stack.length - 1] + } + constructor(e) { + super(e), + (this.nodeBuilder = new U2e()), + (this.stack = []), + (this.assignmentMap = new Map()), + (this.linker = e.references.Linker), + (this.converter = e.parser.ValueConverter), + (this.astReflection = e.shared.AstReflection) + } + rule(e, r) { + const n = this.computeRuleType(e), + i = this.wrapper.DEFINE_RULE(KV(e.name), this.startImplementation(n, r).bind(this)) + return this.allRules.set(e.name, i), e.entry && (this.mainRule = i), i + } + computeRuleType(e) { + if (!e.fragment) { + if (rV(e)) return e6 + { + const r = dk(e) + return r ?? e.name + } + } + } + parse(e, r = {}) { + this.nodeBuilder.buildRootNode(e) + const n = (this.lexerResult = this.lexer.tokenize(e)) + this.wrapper.input = n.tokens + const i = r.rule ? this.allRules.get(r.rule) : this.mainRule + if (!i) throw new Error(r.rule ? `No rule found with name '${r.rule}'` : "No main rule available.") + const a = i.call(this.wrapper, {}) + return ( + this.nodeBuilder.addHiddenNodes(n.hidden), + this.unorderedGroups.clear(), + (this.lexerResult = void 0), + { value: a, lexerErrors: n.errors, lexerReport: n.report, parserErrors: this.wrapper.errors } + ) + } + startImplementation(e, r) { + return (n) => { + const i = !this.isRecording() && e !== void 0 + if (i) { + const s = { $type: e } + this.stack.push(s), e === e6 && (s.value = "") + } + let a + try { + a = r(n) + } catch { + a = void 0 + } + return a === void 0 && i && (a = this.construct()), a + } + } + extractHiddenTokens(e) { + const r = this.lexerResult.hidden + if (!r.length) return [] + const n = e.startOffset + for (let i = 0; i < r.length; i++) if (r[i].startOffset > n) return r.splice(0, i) + return r.splice(0, r.length) + } + consume(e, r, n) { + const i = this.wrapper.wrapConsume(e, r) + if (!this.isRecording() && this.isValidToken(i)) { + const a = this.extractHiddenTokens(i) + this.nodeBuilder.addHiddenNodes(a) + const s = this.nodeBuilder.buildLeafNode(i, n), + { assignment: o, isCrossRef: l } = this.getAssignment(n), + u = this.current + if (o) { + const h = tu(n) ? i.image : this.converter.convert(i.image, s) + this.assign(o.operator, o.feature, h, s, l) + } else if (h4(u)) { + let h = i.image + tu(n) || (h = this.converter.convert(h, s).toString()), (u.value += h) + } + } + } + isValidToken(e) { + return !e.isInsertedInRecovery && !isNaN(e.startOffset) && typeof e.endOffset == "number" && !isNaN(e.endOffset) + } + subrule(e, r, n, i, a) { + let s + !this.isRecording() && !n && (s = this.nodeBuilder.buildCompositeNode(i)) + const o = this.wrapper.wrapSubrule(e, r, a) + !this.isRecording() && s && s.length > 0 && this.performSubruleAssignment(o, i, s) + } + performSubruleAssignment(e, r, n) { + const { assignment: i, isCrossRef: a } = this.getAssignment(r) + if (i) this.assign(i.operator, i.feature, e, n, a) + else if (!i) { + const s = this.current + if (h4(s)) s.value += e.toString() + else if (typeof e == "object" && e) { + const l = this.assignWithoutOverride(e, s) + this.stack.pop(), this.stack.push(l) + } + } + } + action(e, r) { + if (!this.isRecording()) { + let n = this.current + if (r.feature && r.operator) { + ;(n = this.construct()), + this.nodeBuilder.removeNode(n.$cstNode), + this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode) + const a = { $type: e } + this.stack.push(a), this.assign(r.operator, r.feature, n, n.$cstNode, !1) + } else n.$type = e + } + } + construct() { + if (this.isRecording()) return + const e = this.current + return ( + kme(e), + this.nodeBuilder.construct(e), + this.stack.pop(), + h4(e) ? this.converter.convert(e.value, e.$cstNode) : (Sme(this.astReflection, e), e) + ) + } + getAssignment(e) { + if (!this.assignmentMap.has(e)) { + const r = lx(e, eu) + this.assignmentMap.set(e, { assignment: r, isCrossRef: r ? lk(r.terminal) : !1 }) + } + return this.assignmentMap.get(e) + } + assign(e, r, n, i, a) { + const s = this.current + let o + switch ((a && typeof n == "string" ? (o = this.linker.buildReference(s, r, i, n)) : (o = n), e)) { + case "=": { + s[r] = o + break + } + case "?=": { + s[r] = !0 + break + } + case "+=": + Array.isArray(s[r]) || (s[r] = []), s[r].push(o) + } + } + assignWithoutOverride(e, r) { + for (const [i, a] of Object.entries(r)) { + const s = e[i] + s === void 0 ? (e[i] = a) : Array.isArray(s) && Array.isArray(a) && (a.push(...s), (e[i] = a)) + } + const n = e.$cstNode + return n && ((n.astNode = void 0), (e.$cstNode = void 0)), e + } + get definitionErrors() { + return this.wrapper.definitionErrors + } +} +class W2e { + buildMismatchTokenMessage(e) { + return oh.buildMismatchTokenMessage(e) + } + buildNotAllInputParsedMessage(e) { + return oh.buildNotAllInputParsedMessage(e) + } + buildNoViableAltMessage(e) { + return oh.buildNoViableAltMessage(e) + } + buildEarlyExitMessage(e) { + return oh.buildEarlyExitMessage(e) + } +} +class QV extends W2e { + buildMismatchTokenMessage({ expected: e, actual: r }) { + return `Expecting ${e.LABEL ? "`" + e.LABEL + "`" : e.name.endsWith(":KW") ? `keyword '${e.name.substring(0, e.name.length - 3)}'` : `token of type '${e.name}'`} but found \`${r.image}\`.` + } + buildNotAllInputParsedMessage({ firstRedundant: e }) { + return `Expecting end of file but found \`${e.image}\`.` + } +} +class H2e extends ZV { + constructor() { + super(...arguments), + (this.tokens = []), + (this.elementStack = []), + (this.lastElementStack = []), + (this.nextTokenIndex = 0), + (this.stackSize = 0) + } + action() {} + construct() {} + parse(e) { + this.resetState() + const r = this.lexer.tokenize(e, { mode: "partial" }) + return ( + (this.tokens = r.tokens), + (this.wrapper.input = [...this.tokens]), + this.mainRule.call(this.wrapper, {}), + this.unorderedGroups.clear(), + { tokens: this.tokens, elementStack: [...this.lastElementStack], tokenIndex: this.nextTokenIndex } + ) + } + rule(e, r) { + const n = this.wrapper.DEFINE_RULE(KV(e.name), this.startImplementation(r).bind(this)) + return this.allRules.set(e.name, n), e.entry && (this.mainRule = n), n + } + resetState() { + ;(this.elementStack = []), (this.lastElementStack = []), (this.nextTokenIndex = 0), (this.stackSize = 0) + } + startImplementation(e) { + return (r) => { + const n = this.keepStackSize() + try { + e(r) + } finally { + this.resetStackSize(n) + } + } + } + removeUnexpectedElements() { + this.elementStack.splice(this.stackSize) + } + keepStackSize() { + const e = this.elementStack.length + return (this.stackSize = e), e + } + resetStackSize(e) { + this.removeUnexpectedElements(), (this.stackSize = e) + } + consume(e, r, n) { + this.wrapper.wrapConsume(e, r), + this.isRecording() || + ((this.lastElementStack = [...this.elementStack, n]), (this.nextTokenIndex = this.currIdx + 1)) + } + subrule(e, r, n, i, a) { + this.before(i), this.wrapper.wrapSubrule(e, r, a), this.after(i) + } + before(e) { + this.isRecording() || this.elementStack.push(e) + } + after(e) { + if (!this.isRecording()) { + const r = this.elementStack.lastIndexOf(e) + r >= 0 && this.elementStack.splice(r) + } + } + get currIdx() { + return this.wrapper.currIdx + } +} +const Y2e = { recoveryEnabled: !0, nodeLocationTracking: "full", skipValidations: !0, errorMessageProvider: new QV() } +class X2e extends t2e { + constructor(e, r) { + const n = r && "maxLookahead" in r + super( + e, + Object.assign( + Object.assign(Object.assign({}, Y2e), { + lookaheadStrategy: n + ? new bk({ maxLookahead: r.maxLookahead }) + : new T2e({ logging: r.skipValidations ? () => {} : void 0 }), + }), + r, + ), + ) + } + get IS_RECORDING() { + return this.RECORDING_PHASE + } + DEFINE_RULE(e, r) { + return this.RULE(e, r) + } + wrapSelfAnalysis() { + this.performSelfAnalysis() + } + wrapConsume(e, r) { + return this.consume(e, r) + } + wrapSubrule(e, r, n) { + return this.subrule(e, r, { ARGS: [n] }) + } + wrapOr(e, r) { + this.or(e, r) + } + wrapOption(e, r) { + this.option(e, r) + } + wrapMany(e, r) { + this.many(e, r) + } + wrapAtLeastOne(e, r) { + this.atLeastOne(e, r) + } +} +function JV(t, e, r) { + return j2e({ parser: e, tokens: r, ruleNames: new Map() }, t), e +} +function j2e(t, e) { + const r = Zz(e, !1), + n = li(e.rules) + .filter(as) + .filter((i) => r.has(i)) + for (const i of n) { + const a = Object.assign(Object.assign({}, t), { consume: 1, optional: 1, subrule: 1, many: 1, or: 1 }) + t.parser.rule(i, iu(a, i.definition)) + } +} +function iu(t, e, r = !1) { + let n + if (tu(e)) n = rxe(t, e) + else if (ox(e)) n = K2e(t, e) + else if (eu(e)) n = iu(t, e.terminal) + else if (lk(e)) n = eG(t, e) + else if (ru(e)) n = Z2e(t, e) + else if (Wz(e)) n = J2e(t, e) + else if (Hz(e)) n = exe(t, e) + else if (ck(e)) n = txe(t, e) + else if (mme(e)) { + const i = t.consume++ + n = () => t.parser.consume(i, Bl, e) + } else throw new Vz(e.$cstNode, `Unexpected element type: ${e.$type}`) + return tG(t, r ? void 0 : Oy(e), n, e.cardinality) +} +function K2e(t, e) { + const r = fk(e) + return () => t.parser.action(r, e) +} +function Z2e(t, e) { + const r = e.rule.ref + if (as(r)) { + const n = t.subrule++, + i = r.fragment, + a = e.arguments.length > 0 ? Q2e(r, e.arguments) : () => ({}) + return (s) => t.parser.subrule(n, rG(t, r), i, e, a(s)) + } else if (ku(r)) { + const n = t.consume++, + i = t6(t, r.name) + return () => t.parser.consume(n, i, e) + } else if (r) Lg() + else throw new Vz(e.$cstNode, `Undefined rule: ${e.rule.$refText}`) +} +function Q2e(t, e) { + const r = e.map((n) => Ao(n.value)) + return (n) => { + const i = {} + for (let a = 0; a < r.length; a++) { + const s = t.parameters[a], + o = r[a] + i[s.name] = o(n) + } + return i + } +} +function Ao(t) { + if (ume(t)) { + const e = Ao(t.left), + r = Ao(t.right) + return (n) => e(n) || r(n) + } else if (cme(t)) { + const e = Ao(t.left), + r = Ao(t.right) + return (n) => e(n) && r(n) + } else if (hme(t)) { + const e = Ao(t.value) + return (r) => !e(r) + } else if (dme(t)) { + const e = t.parameter.ref.name + return (r) => r !== void 0 && r[e] === !0 + } else if (lme(t)) { + const e = !!t.true + return () => e + } + Lg() +} +function J2e(t, e) { + if (e.elements.length === 1) return iu(t, e.elements[0]) + { + const r = [] + for (const i of e.elements) { + const a = { ALT: iu(t, i, !0) }, + s = Oy(i) + s && (a.GATE = Ao(s)), r.push(a) + } + const n = t.or++ + return (i) => + t.parser.alternatives( + n, + r.map((a) => { + const s = { ALT: () => a.ALT(i) }, + o = a.GATE + return o && (s.GATE = () => o(i)), s + }), + ) + } +} +function exe(t, e) { + if (e.elements.length === 1) return iu(t, e.elements[0]) + const r = [] + for (const o of e.elements) { + const l = { ALT: iu(t, o, !0) }, + u = Oy(o) + u && (l.GATE = Ao(u)), r.push(l) + } + const n = t.or++, + i = (o, l) => { + const u = l.getRuleStack().join("-") + return `uGroup_${o}_${u}` + }, + a = (o) => + t.parser.alternatives( + n, + r.map((l, u) => { + const h = { ALT: () => !0 }, + d = t.parser + h.ALT = () => { + if ((l.ALT(o), !d.isRecording())) { + const p = i(n, d) + d.unorderedGroups.get(p) || d.unorderedGroups.set(p, []) + const g = d.unorderedGroups.get(p) + typeof (g == null ? void 0 : g[u]) > "u" && (g[u] = !0) + } + } + const f = l.GATE + return ( + f + ? (h.GATE = () => f(o)) + : (h.GATE = () => { + const p = d.unorderedGroups.get(i(n, d)) + return !(p != null && p[u]) + }), + h + ) + }), + ), + s = tG(t, Oy(e), a, "*") + return (o) => { + s(o), t.parser.isRecording() || t.parser.unorderedGroups.delete(i(n, t.parser)) + } +} +function txe(t, e) { + const r = e.elements.map((n) => iu(t, n)) + return (n) => r.forEach((i) => i(n)) +} +function Oy(t) { + if (ck(t)) return t.guardCondition +} +function eG(t, e, r = e.terminal) { + if (r) + if (ru(r) && as(r.rule.ref)) { + const n = r.rule.ref, + i = t.subrule++ + return (a) => t.parser.subrule(i, rG(t, n), !1, e, a) + } else if (ru(r) && ku(r.rule.ref)) { + const n = t.consume++, + i = t6(t, r.rule.ref.name) + return () => t.parser.consume(n, i, e) + } else if (tu(r)) { + const n = t.consume++, + i = t6(t, r.value) + return () => t.parser.consume(n, i, e) + } else throw new Error("Could not build cross reference parser") + else { + if (!e.type.ref) throw new Error("Could not resolve reference to type: " + e.type.$refText) + const n = eV(e.type.ref), + i = n == null ? void 0 : n.terminal + if (!i) throw new Error("Could not find name assignment for type: " + fk(e.type.ref)) + return eG(t, e, i) + } +} +function rxe(t, e) { + const r = t.consume++, + n = t.tokens[e.value] + if (!n) throw new Error("Could not find token for keyword: " + e.value) + return () => t.parser.consume(r, n, e) +} +function tG(t, e, r, n) { + const i = e && Ao(e) + if (!n) + if (i) { + const a = t.or++ + return (s) => + t.parser.alternatives(a, [ + { ALT: () => r(s), GATE: () => i(s) }, + { ALT: LA(), GATE: () => !i(s) }, + ]) + } else return r + if (n === "*") { + const a = t.many++ + return (s) => t.parser.many(a, { DEF: () => r(s), GATE: i ? () => i(s) : void 0 }) + } else if (n === "+") { + const a = t.many++ + if (i) { + const s = t.or++ + return (o) => + t.parser.alternatives(s, [ + { ALT: () => t.parser.atLeastOne(a, { DEF: () => r(o) }), GATE: () => i(o) }, + { ALT: LA(), GATE: () => !i(o) }, + ]) + } else return (s) => t.parser.atLeastOne(a, { DEF: () => r(s) }) + } else if (n === "?") { + const a = t.optional++ + return (s) => t.parser.optional(a, { DEF: () => r(s), GATE: i ? () => i(s) : void 0 }) + } else Lg() +} +function rG(t, e) { + const r = nxe(t, e), + n = t.parser.getRule(r) + if (!n) throw new Error(`Rule "${r}" not found."`) + return n +} +function nxe(t, e) { + if (as(e)) return e.name + if (t.ruleNames.has(e)) return t.ruleNames.get(e) + { + let r = e, + n = r.$container, + i = e.$type + for (; !as(n); ) + (ck(n) || Wz(n) || Hz(n)) && (i = n.elements.indexOf(r).toString() + ":" + i), (r = n), (n = n.$container) + return (i = n.name + ":" + i), t.ruleNames.set(e, i), i + } +} +function t6(t, e) { + const r = t.tokens[e] + if (!r) throw new Error(`Token "${e}" not found."`) + return r +} +function ixe(t) { + const e = t.Grammar, + r = t.parser.Lexer, + n = new H2e(t) + return JV(e, n, r.definition), n.finalize(), n +} +function axe(t) { + const e = sxe(t) + return e.finalize(), e +} +function sxe(t) { + const e = t.Grammar, + r = t.parser.Lexer, + n = new q2e(t) + return JV(e, n, r.definition) +} +class nG { + constructor() { + this.diagnostics = [] + } + buildTokens(e, r) { + const n = li(Zz(e, !1)), + i = this.buildTerminalTokens(n), + a = this.buildKeywordTokens(n, i, r) + return ( + i.forEach((s) => { + const o = s.PATTERN + typeof o == "object" && o && "test" in o && _w(o) ? a.unshift(s) : a.push(s) + }), + a + ) + } + flushLexingReport(e) { + return { diagnostics: this.popDiagnostics() } + } + popDiagnostics() { + const e = [...this.diagnostics] + return (this.diagnostics = []), e + } + buildTerminalTokens(e) { + return e + .filter(ku) + .filter((r) => !r.fragment) + .map((r) => this.buildTerminalToken(r)) + .toArray() + } + buildTerminalToken(e) { + const r = pk(e), + n = this.requiresCustomPattern(r) ? this.regexPatternFunction(r) : r, + i = { name: e.name, PATTERN: n } + return typeof n == "function" && (i.LINE_BREAKS = !0), e.hidden && (i.GROUP = _w(r) ? ia.SKIPPED : "hidden"), i + } + requiresCustomPattern(e) { + return e.flags.includes("u") || e.flags.includes("s") + ? !0 + : !!(e.source.includes("?<=") || e.source.includes("?<!")) + } + regexPatternFunction(e) { + const r = new RegExp(e, e.flags + "y") + return (n, i) => ((r.lastIndex = i), r.exec(n)) + } + buildKeywordTokens(e, r, n) { + return e + .filter(as) + .flatMap((i) => Rg(i).filter(tu)) + .distinct((i) => i.value) + .toArray() + .sort((i, a) => a.value.length - i.value.length) + .map((i) => this.buildKeywordToken(i, r, !!(n != null && n.caseInsensitive))) + } + buildKeywordToken(e, r, n) { + const i = this.buildKeywordPattern(e, n), + a = { name: e.value, PATTERN: i, LONGER_ALT: this.findLongerAlt(e, r) } + return typeof i == "function" && (a.LINE_BREAKS = !0), a + } + buildKeywordPattern(e, r) { + return r ? new RegExp(Mme(e.value)) : e.value + } + findLongerAlt(e, r) { + return r.reduce((n, i) => { + const a = i == null ? void 0 : i.PATTERN + return a != null && a.source && Ome("^" + a.source + "$", e.value) && n.push(i), n + }, []) + } +} +class iG { + convert(e, r) { + let n = r.grammarSource + if ((lk(n) && (n = $me(n)), ru(n))) { + const i = n.rule.ref + if (!i) throw new Error("This cst node was not parsed by a rule.") + return this.runConverter(i, e, r) + } + return e + } + runConverter(e, r, n) { + var i + switch (e.name.toUpperCase()) { + case "INT": + return To.convertInt(r) + case "STRING": + return To.convertString(r) + case "ID": + return To.convertID(r) + } + switch ((i = Hme(e)) === null || i === void 0 ? void 0 : i.toLowerCase()) { + case "number": + return To.convertNumber(r) + case "boolean": + return To.convertBoolean(r) + case "bigint": + return To.convertBigint(r) + case "date": + return To.convertDate(r) + default: + return r + } + } +} +var To +;(function (t) { + function e(u) { + let h = "" + for (let d = 1; d < u.length - 1; d++) { + const f = u.charAt(d) + if (f === "\\") { + const p = u.charAt(++d) + h += r(p) + } else h += f + } + return h + } + t.convertString = e + function r(u) { + switch (u) { + case "b": + return "\b" + case "f": + return "\f" + case "n": + return ` +` + case "r": + return "\r" + case "t": + return " " + case "v": + return "\v" + case "0": + return "\0" + default: + return u + } + } + function n(u) { + return u.charAt(0) === "^" ? u.substring(1) : u + } + t.convertID = n + function i(u) { + return parseInt(u) + } + t.convertInt = i + function a(u) { + return BigInt(u) + } + t.convertBigint = a + function s(u) { + return new Date(u) + } + t.convertDate = s + function o(u) { + return Number(u) + } + t.convertNumber = o + function l(u) { + return u.toLowerCase() === "true" + } + t.convertBoolean = l +})(To || (To = {})) +var hc = {}, + F1 = {}, + O_ +function aG() { + if (O_) return F1 + ;(O_ = 1), Object.defineProperty(F1, "__esModule", { value: !0 }) + let t + function e() { + if (t === void 0) throw new Error("No runtime abstraction layer installed") + return t + } + return ( + (function (r) { + function n(i) { + if (i === void 0) throw new Error("No runtime abstraction layer provided") + t = i + } + r.install = n + })(e || (e = {})), + (F1.default = e), + F1 + ) +} +var ni = {}, + P_ +function oxe() { + if (P_) return ni + ;(P_ = 1), + Object.defineProperty(ni, "__esModule", { value: !0 }), + (ni.stringArray = ni.array = ni.func = ni.error = ni.number = ni.string = ni.boolean = void 0) + function t(o) { + return o === !0 || o === !1 + } + ni.boolean = t + function e(o) { + return typeof o == "string" || o instanceof String + } + ni.string = e + function r(o) { + return typeof o == "number" || o instanceof Number + } + ni.number = r + function n(o) { + return o instanceof Error + } + ni.error = n + function i(o) { + return typeof o == "function" + } + ni.func = i + function a(o) { + return Array.isArray(o) + } + ni.array = a + function s(o) { + return a(o) && o.every((l) => e(l)) + } + return (ni.stringArray = s), ni +} +var dc = {}, + B_ +function sG() { + if (B_) return dc + ;(B_ = 1), Object.defineProperty(dc, "__esModule", { value: !0 }), (dc.Emitter = dc.Event = void 0) + const t = aG() + var e + ;(function (i) { + const a = { dispose() {} } + i.None = function () { + return a + } + })(e || (dc.Event = e = {})) + class r { + add(a, s = null, o) { + this._callbacks || ((this._callbacks = []), (this._contexts = [])), + this._callbacks.push(a), + this._contexts.push(s), + Array.isArray(o) && o.push({ dispose: () => this.remove(a, s) }) + } + remove(a, s = null) { + if (!this._callbacks) return + let o = !1 + for (let l = 0, u = this._callbacks.length; l < u; l++) + if (this._callbacks[l] === a) + if (this._contexts[l] === s) { + this._callbacks.splice(l, 1), this._contexts.splice(l, 1) + return + } else o = !0 + if (o) throw new Error("When adding a listener with a context, you should remove it with the same context") + } + invoke(...a) { + if (!this._callbacks) return [] + const s = [], + o = this._callbacks.slice(0), + l = this._contexts.slice(0) + for (let u = 0, h = o.length; u < h; u++) + try { + s.push(o[u].apply(l[u], a)) + } catch (d) { + ;(0, t.default)().console.error(d) + } + return s + } + isEmpty() { + return !this._callbacks || this._callbacks.length === 0 + } + dispose() { + ;(this._callbacks = void 0), (this._contexts = void 0) + } + } + class n { + constructor(a) { + this._options = a + } + get event() { + return ( + this._event || + (this._event = (a, s, o) => { + this._callbacks || (this._callbacks = new r()), + this._options && + this._options.onFirstListenerAdd && + this._callbacks.isEmpty() && + this._options.onFirstListenerAdd(this), + this._callbacks.add(a, s) + const l = { + dispose: () => { + this._callbacks && + (this._callbacks.remove(a, s), + (l.dispose = n._noop), + this._options && + this._options.onLastListenerRemove && + this._callbacks.isEmpty() && + this._options.onLastListenerRemove(this)) + }, + } + return Array.isArray(o) && o.push(l), l + }), + this._event + ) + } + fire(a) { + this._callbacks && this._callbacks.invoke.call(this._callbacks, a) + } + dispose() { + this._callbacks && (this._callbacks.dispose(), (this._callbacks = void 0)) + } + } + return (dc.Emitter = n), (n._noop = function () {}), dc +} +var F_ +function lxe() { + if (F_) return hc + ;(F_ = 1), + Object.defineProperty(hc, "__esModule", { value: !0 }), + (hc.CancellationTokenSource = hc.CancellationToken = void 0) + const t = aG(), + e = oxe(), + r = sG() + var n + ;(function (o) { + ;(o.None = Object.freeze({ isCancellationRequested: !1, onCancellationRequested: r.Event.None })), + (o.Cancelled = Object.freeze({ isCancellationRequested: !0, onCancellationRequested: r.Event.None })) + function l(u) { + const h = u + return ( + h && + (h === o.None || + h === o.Cancelled || + (e.boolean(h.isCancellationRequested) && !!h.onCancellationRequested)) + ) + } + o.is = l + })(n || (hc.CancellationToken = n = {})) + const i = Object.freeze(function (o, l) { + const u = (0, t.default)().timer.setTimeout(o.bind(l), 0) + return { + dispose() { + u.dispose() + }, + } + }) + class a { + constructor() { + this._isCancelled = !1 + } + cancel() { + this._isCancelled || + ((this._isCancelled = !0), this._emitter && (this._emitter.fire(void 0), this.dispose())) + } + get isCancellationRequested() { + return this._isCancelled + } + get onCancellationRequested() { + return this._isCancelled ? i : (this._emitter || (this._emitter = new r.Emitter()), this._emitter.event) + } + dispose() { + this._emitter && (this._emitter.dispose(), (this._emitter = void 0)) + } + } + class s { + get token() { + return this._token || (this._token = new a()), this._token + } + cancel() { + this._token ? this._token.cancel() : (this._token = n.Cancelled) + } + dispose() { + this._token ? this._token instanceof a && this._token.dispose() : (this._token = n.None) + } + } + return (hc.CancellationTokenSource = s), hc +} +var rn = lxe() +function cxe() { + return new Promise((t) => { + typeof setImmediate > "u" ? setTimeout(t, 0) : setImmediate(t) + }) +} +let Om = 0, + uxe = 10 +function hxe() { + return (Om = performance.now()), new rn.CancellationTokenSource() +} +const Py = Symbol("OperationCancelled") +function yx(t) { + return t === Py +} +async function ka(t) { + if (t === rn.CancellationToken.None) return + const e = performance.now() + if ((e - Om >= uxe && ((Om = e), await cxe(), (Om = performance.now())), t.isCancellationRequested)) throw Py +} +class _k { + constructor() { + this.promise = new Promise((e, r) => { + ;(this.resolve = (n) => (e(n), this)), (this.reject = (n) => (r(n), this)) + }) + } +} +class zp { + constructor(e, r, n, i) { + ;(this._uri = e), (this._languageId = r), (this._version = n), (this._content = i), (this._lineOffsets = void 0) + } + get uri() { + return this._uri + } + get languageId() { + return this._languageId + } + get version() { + return this._version + } + getText(e) { + if (e) { + const r = this.offsetAt(e.start), + n = this.offsetAt(e.end) + return this._content.substring(r, n) + } + return this._content + } + update(e, r) { + for (const n of e) + if (zp.isIncremental(n)) { + const i = lG(n.range), + a = this.offsetAt(i.start), + s = this.offsetAt(i.end) + this._content = + this._content.substring(0, a) + n.text + this._content.substring(s, this._content.length) + const o = Math.max(i.start.line, 0), + l = Math.max(i.end.line, 0) + let u = this._lineOffsets + const h = $_(n.text, !1, a) + if (l - o === h.length) for (let f = 0, p = h.length; f < p; f++) u[f + o + 1] = h[f] + else + h.length < 1e4 + ? u.splice(o + 1, l - o, ...h) + : (this._lineOffsets = u = u.slice(0, o + 1).concat(h, u.slice(l + 1))) + const d = n.text.length - (s - a) + if (d !== 0) for (let f = o + 1 + h.length, p = u.length; f < p; f++) u[f] = u[f] + d + } else if (zp.isFull(n)) (this._content = n.text), (this._lineOffsets = void 0) + else throw new Error("Unknown change event received") + this._version = r + } + getLineOffsets() { + return this._lineOffsets === void 0 && (this._lineOffsets = $_(this._content, !0)), this._lineOffsets + } + positionAt(e) { + e = Math.max(Math.min(e, this._content.length), 0) + const r = this.getLineOffsets() + let n = 0, + i = r.length + if (i === 0) return { line: 0, character: e } + for (; n < i; ) { + const s = Math.floor((n + i) / 2) + r[s] > e ? (i = s) : (n = s + 1) + } + const a = n - 1 + return (e = this.ensureBeforeEOL(e, r[a])), { line: a, character: e - r[a] } + } + offsetAt(e) { + const r = this.getLineOffsets() + if (e.line >= r.length) return this._content.length + if (e.line < 0) return 0 + const n = r[e.line] + if (e.character <= 0) return n + const i = e.line + 1 < r.length ? r[e.line + 1] : this._content.length, + a = Math.min(n + e.character, i) + return this.ensureBeforeEOL(a, n) + } + ensureBeforeEOL(e, r) { + for (; e > r && oG(this._content.charCodeAt(e - 1)); ) e-- + return e + } + get lineCount() { + return this.getLineOffsets().length + } + static isIncremental(e) { + const r = e + return ( + r != null && + typeof r.text == "string" && + r.range !== void 0 && + (r.rangeLength === void 0 || typeof r.rangeLength == "number") + ) + } + static isFull(e) { + const r = e + return r != null && typeof r.text == "string" && r.range === void 0 && r.rangeLength === void 0 + } +} +var r6 +;(function (t) { + function e(i, a, s, o) { + return new zp(i, a, s, o) + } + t.create = e + function r(i, a, s) { + if (i instanceof zp) return i.update(a, s), i + throw new Error("TextDocument.update: document must be created by TextDocument.create") + } + t.update = r + function n(i, a) { + const s = i.getText(), + o = n6(a.map(dxe), (h, d) => { + const f = h.range.start.line - d.range.start.line + return f === 0 ? h.range.start.character - d.range.start.character : f + }) + let l = 0 + const u = [] + for (const h of o) { + const d = i.offsetAt(h.range.start) + if (d < l) throw new Error("Overlapping edit") + d > l && u.push(s.substring(l, d)), h.newText.length && u.push(h.newText), (l = i.offsetAt(h.range.end)) + } + return u.push(s.substr(l)), u.join("") + } + t.applyEdits = n +})(r6 || (r6 = {})) +function n6(t, e) { + if (t.length <= 1) return t + const r = (t.length / 2) | 0, + n = t.slice(0, r), + i = t.slice(r) + n6(n, e), n6(i, e) + let a = 0, + s = 0, + o = 0 + for (; a < n.length && s < i.length; ) e(n[a], i[s]) <= 0 ? (t[o++] = n[a++]) : (t[o++] = i[s++]) + for (; a < n.length; ) t[o++] = n[a++] + for (; s < i.length; ) t[o++] = i[s++] + return t +} +function $_(t, e, r = 0) { + const n = e ? [r] : [] + for (let i = 0; i < t.length; i++) { + const a = t.charCodeAt(i) + oG(a) && (a === 13 && i + 1 < t.length && t.charCodeAt(i + 1) === 10 && i++, n.push(r + i + 1)) + } + return n +} +function oG(t) { + return t === 13 || t === 10 +} +function lG(t) { + const e = t.start, + r = t.end + return e.line > r.line || (e.line === r.line && e.character > r.character) ? { start: r, end: e } : t +} +function dxe(t) { + const e = lG(t.range) + return e !== t.range ? { newText: t.newText, range: e } : t +} +var cG +;(() => { + var t = { + 470: (i) => { + function a(l) { + if (typeof l != "string") + throw new TypeError("Path must be a string. Received " + JSON.stringify(l)) + } + function s(l, u) { + for (var h, d = "", f = 0, p = -1, g = 0, m = 0; m <= l.length; ++m) { + if (m < l.length) h = l.charCodeAt(m) + else { + if (h === 47) break + h = 47 + } + if (h === 47) { + if (!(p === m - 1 || g === 1)) + if (p !== m - 1 && g === 2) { + if ( + d.length < 2 || + f !== 2 || + d.charCodeAt(d.length - 1) !== 46 || + d.charCodeAt(d.length - 2) !== 46 + ) { + if (d.length > 2) { + var v = d.lastIndexOf("/") + if (v !== d.length - 1) { + v === -1 + ? ((d = ""), (f = 0)) + : (f = (d = d.slice(0, v)).length - 1 - d.lastIndexOf("/")), + (p = m), + (g = 0) + continue + } + } else if (d.length === 2 || d.length === 1) { + ;(d = ""), (f = 0), (p = m), (g = 0) + continue + } + } + u && (d.length > 0 ? (d += "/..") : (d = ".."), (f = 2)) + } else + d.length > 0 ? (d += "/" + l.slice(p + 1, m)) : (d = l.slice(p + 1, m)), + (f = m - p - 1) + ;(p = m), (g = 0) + } else h === 46 && g !== -1 ? ++g : (g = -1) + } + return d + } + var o = { + resolve: function () { + for (var l, u = "", h = !1, d = arguments.length - 1; d >= -1 && !h; d--) { + var f + d >= 0 ? (f = arguments[d]) : (l === void 0 && (l = process.cwd()), (f = l)), + a(f), + f.length !== 0 && ((u = f + "/" + u), (h = f.charCodeAt(0) === 47)) + } + return (u = s(u, !h)), h ? (u.length > 0 ? "/" + u : "/") : u.length > 0 ? u : "." + }, + normalize: function (l) { + if ((a(l), l.length === 0)) return "." + var u = l.charCodeAt(0) === 47, + h = l.charCodeAt(l.length - 1) === 47 + return ( + (l = s(l, !u)).length !== 0 || u || (l = "."), + l.length > 0 && h && (l += "/"), + u ? "/" + l : l + ) + }, + isAbsolute: function (l) { + return a(l), l.length > 0 && l.charCodeAt(0) === 47 + }, + join: function () { + if (arguments.length === 0) return "." + for (var l, u = 0; u < arguments.length; ++u) { + var h = arguments[u] + a(h), h.length > 0 && (l === void 0 ? (l = h) : (l += "/" + h)) + } + return l === void 0 ? "." : o.normalize(l) + }, + relative: function (l, u) { + if ((a(l), a(u), l === u || (l = o.resolve(l)) === (u = o.resolve(u)))) return "" + for (var h = 1; h < l.length && l.charCodeAt(h) === 47; ++h); + for (var d = l.length, f = d - h, p = 1; p < u.length && u.charCodeAt(p) === 47; ++p); + for (var g = u.length - p, m = f < g ? f : g, v = -1, y = 0; y <= m; ++y) { + if (y === m) { + if (g > m) { + if (u.charCodeAt(p + y) === 47) return u.slice(p + y + 1) + if (y === 0) return u.slice(p + y) + } else f > m && (l.charCodeAt(h + y) === 47 ? (v = y) : y === 0 && (v = 0)) + break + } + var b = l.charCodeAt(h + y) + if (b !== u.charCodeAt(p + y)) break + b === 47 && (v = y) + } + var w = "" + for (y = h + v + 1; y <= d; ++y) + (y !== d && l.charCodeAt(y) !== 47) || (w.length === 0 ? (w += "..") : (w += "/..")) + return w.length > 0 ? w + u.slice(p + v) : ((p += v), u.charCodeAt(p) === 47 && ++p, u.slice(p)) + }, + _makeLong: function (l) { + return l + }, + dirname: function (l) { + if ((a(l), l.length === 0)) return "." + for (var u = l.charCodeAt(0), h = u === 47, d = -1, f = !0, p = l.length - 1; p >= 1; --p) + if ((u = l.charCodeAt(p)) === 47) { + if (!f) { + d = p + break + } + } else f = !1 + return d === -1 ? (h ? "/" : ".") : h && d === 1 ? "//" : l.slice(0, d) + }, + basename: function (l, u) { + if (u !== void 0 && typeof u != "string") throw new TypeError('"ext" argument must be a string') + a(l) + var h, + d = 0, + f = -1, + p = !0 + if (u !== void 0 && u.length > 0 && u.length <= l.length) { + if (u.length === l.length && u === l) return "" + var g = u.length - 1, + m = -1 + for (h = l.length - 1; h >= 0; --h) { + var v = l.charCodeAt(h) + if (v === 47) { + if (!p) { + d = h + 1 + break + } + } else + m === -1 && ((p = !1), (m = h + 1)), + g >= 0 && (v === u.charCodeAt(g) ? --g == -1 && (f = h) : ((g = -1), (f = m))) + } + return d === f ? (f = m) : f === -1 && (f = l.length), l.slice(d, f) + } + for (h = l.length - 1; h >= 0; --h) + if (l.charCodeAt(h) === 47) { + if (!p) { + d = h + 1 + break + } + } else f === -1 && ((p = !1), (f = h + 1)) + return f === -1 ? "" : l.slice(d, f) + }, + extname: function (l) { + a(l) + for (var u = -1, h = 0, d = -1, f = !0, p = 0, g = l.length - 1; g >= 0; --g) { + var m = l.charCodeAt(g) + if (m !== 47) + d === -1 && ((f = !1), (d = g + 1)), + m === 46 ? (u === -1 ? (u = g) : p !== 1 && (p = 1)) : u !== -1 && (p = -1) + else if (!f) { + h = g + 1 + break + } + } + return u === -1 || d === -1 || p === 0 || (p === 1 && u === d - 1 && u === h + 1) + ? "" + : l.slice(u, d) + }, + format: function (l) { + if (l === null || typeof l != "object") + throw new TypeError( + 'The "pathObject" argument must be of type Object. Received type ' + typeof l, + ) + return (function (u, h) { + var d = h.dir || h.root, + f = h.base || (h.name || "") + (h.ext || "") + return d ? (d === h.root ? d + f : d + "/" + f) : f + })(0, l) + }, + parse: function (l) { + a(l) + var u = { root: "", dir: "", base: "", ext: "", name: "" } + if (l.length === 0) return u + var h, + d = l.charCodeAt(0), + f = d === 47 + f ? ((u.root = "/"), (h = 1)) : (h = 0) + for (var p = -1, g = 0, m = -1, v = !0, y = l.length - 1, b = 0; y >= h; --y) + if ((d = l.charCodeAt(y)) !== 47) + m === -1 && ((v = !1), (m = y + 1)), + d === 46 ? (p === -1 ? (p = y) : b !== 1 && (b = 1)) : p !== -1 && (b = -1) + else if (!v) { + g = y + 1 + break + } + return ( + p === -1 || m === -1 || b === 0 || (b === 1 && p === m - 1 && p === g + 1) + ? m !== -1 && (u.base = u.name = g === 0 && f ? l.slice(1, m) : l.slice(g, m)) + : (g === 0 && f + ? ((u.name = l.slice(1, p)), (u.base = l.slice(1, m))) + : ((u.name = l.slice(g, p)), (u.base = l.slice(g, m))), + (u.ext = l.slice(p, m))), + g > 0 ? (u.dir = l.slice(0, g - 1)) : f && (u.dir = "/"), + u + ) + }, + sep: "/", + delimiter: ":", + win32: null, + posix: null, + } + ;(o.posix = o), (i.exports = o) + }, + }, + e = {} + function r(i) { + var a = e[i] + if (a !== void 0) return a.exports + var s = (e[i] = { exports: {} }) + return t[i](s, s.exports, r), s.exports + } + ;(r.d = (i, a) => { + for (var s in a) r.o(a, s) && !r.o(i, s) && Object.defineProperty(i, s, { enumerable: !0, get: a[s] }) + }), + (r.o = (i, a) => Object.prototype.hasOwnProperty.call(i, a)), + (r.r = (i) => { + typeof Symbol < "u" && + Symbol.toStringTag && + Object.defineProperty(i, Symbol.toStringTag, { value: "Module" }), + Object.defineProperty(i, "__esModule", { value: !0 }) + }) + var n = {} + ;(() => { + let i + r.r(n), + r.d(n, { URI: () => f, Utils: () => R }), + typeof process == "object" + ? (i = !1) + : typeof navigator == "object" && (i = navigator.userAgent.indexOf("Windows") >= 0) + const a = /^\w[\w\d+.-]*$/, + s = /^\//, + o = /^\/\// + function l(C, I) { + if (!C.scheme && I) + throw new Error( + `[UriError]: Scheme is missing: {scheme: "", authority: "${C.authority}", path: "${C.path}", query: "${C.query}", fragment: "${C.fragment}"}`, + ) + if (C.scheme && !a.test(C.scheme)) throw new Error("[UriError]: Scheme contains illegal characters.") + if (C.path) { + if (C.authority) { + if (!s.test(C.path)) + throw new Error( + '[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character', + ) + } else if (o.test(C.path)) + throw new Error( + '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")', + ) + } + } + const u = "", + h = "/", + d = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/ + class f { + constructor(I, P, _, N, M, O = !1) { + Ut(this, "scheme") + Ut(this, "authority") + Ut(this, "path") + Ut(this, "query") + Ut(this, "fragment") + typeof I == "object" + ? ((this.scheme = I.scheme || u), + (this.authority = I.authority || u), + (this.path = I.path || u), + (this.query = I.query || u), + (this.fragment = I.fragment || u)) + : ((this.scheme = (function (D, B) { + return D || B ? D : "file" + })(I, O)), + (this.authority = P || u), + (this.path = (function (D, B) { + switch (D) { + case "https": + case "http": + case "file": + B ? B[0] !== h && (B = h + B) : (B = h) + } + return B + })(this.scheme, _ || u)), + (this.query = N || u), + (this.fragment = M || u), + l(this, O)) + } + static isUri(I) { + return ( + I instanceof f || + (!!I && + typeof I.authority == "string" && + typeof I.fragment == "string" && + typeof I.path == "string" && + typeof I.query == "string" && + typeof I.scheme == "string" && + typeof I.fsPath == "string" && + typeof I.with == "function" && + typeof I.toString == "function") + ) + } + get fsPath() { + return b(this) + } + with(I) { + if (!I) return this + let { scheme: P, authority: _, path: N, query: M, fragment: O } = I + return ( + P === void 0 ? (P = this.scheme) : P === null && (P = u), + _ === void 0 ? (_ = this.authority) : _ === null && (_ = u), + N === void 0 ? (N = this.path) : N === null && (N = u), + M === void 0 ? (M = this.query) : M === null && (M = u), + O === void 0 ? (O = this.fragment) : O === null && (O = u), + P === this.scheme && + _ === this.authority && + N === this.path && + M === this.query && + O === this.fragment + ? this + : new g(P, _, N, M, O) + ) + } + static parse(I, P = !1) { + const _ = d.exec(I) + return _ + ? new g(_[2] || u, S(_[4] || u), S(_[5] || u), S(_[7] || u), S(_[9] || u), P) + : new g(u, u, u, u, u) + } + static file(I) { + let P = u + if ((i && (I = I.replace(/\\/g, h)), I[0] === h && I[1] === h)) { + const _ = I.indexOf(h, 2) + _ === -1 ? ((P = I.substring(2)), (I = h)) : ((P = I.substring(2, _)), (I = I.substring(_) || h)) + } + return new g("file", P, I, u, u) + } + static from(I) { + const P = new g(I.scheme, I.authority, I.path, I.query, I.fragment) + return l(P, !0), P + } + toString(I = !1) { + return w(this, I) + } + toJSON() { + return this + } + static revive(I) { + if (I) { + if (I instanceof f) return I + { + const P = new g(I) + return (P._formatted = I.external), (P._fsPath = I._sep === p ? I.fsPath : null), P + } + } + return I + } + } + const p = i ? 1 : void 0 + class g extends f { + constructor() { + super(...arguments) + Ut(this, "_formatted", null) + Ut(this, "_fsPath", null) + } + get fsPath() { + return this._fsPath || (this._fsPath = b(this)), this._fsPath + } + toString(P = !1) { + return P ? w(this, !0) : (this._formatted || (this._formatted = w(this, !1)), this._formatted) + } + toJSON() { + const P = { $mid: 1 } + return ( + this._fsPath && ((P.fsPath = this._fsPath), (P._sep = p)), + this._formatted && (P.external = this._formatted), + this.path && (P.path = this.path), + this.scheme && (P.scheme = this.scheme), + this.authority && (P.authority = this.authority), + this.query && (P.query = this.query), + this.fragment && (P.fragment = this.fragment), + P + ) + } + } + const m = { + 58: "%3A", + 47: "%2F", + 63: "%3F", + 35: "%23", + 91: "%5B", + 93: "%5D", + 64: "%40", + 33: "%21", + 36: "%24", + 38: "%26", + 39: "%27", + 40: "%28", + 41: "%29", + 42: "%2A", + 43: "%2B", + 44: "%2C", + 59: "%3B", + 61: "%3D", + 32: "%20", + } + function v(C, I, P) { + let _, + N = -1 + for (let M = 0; M < C.length; M++) { + const O = C.charCodeAt(M) + if ( + (O >= 97 && O <= 122) || + (O >= 65 && O <= 90) || + (O >= 48 && O <= 57) || + O === 45 || + O === 46 || + O === 95 || + O === 126 || + (I && O === 47) || + (P && O === 91) || + (P && O === 93) || + (P && O === 58) + ) + N !== -1 && ((_ += encodeURIComponent(C.substring(N, M))), (N = -1)), + _ !== void 0 && (_ += C.charAt(M)) + else { + _ === void 0 && (_ = C.substr(0, M)) + const D = m[O] + D !== void 0 + ? (N !== -1 && ((_ += encodeURIComponent(C.substring(N, M))), (N = -1)), (_ += D)) + : N === -1 && (N = M) + } + } + return N !== -1 && (_ += encodeURIComponent(C.substring(N))), _ !== void 0 ? _ : C + } + function y(C) { + let I + for (let P = 0; P < C.length; P++) { + const _ = C.charCodeAt(P) + _ === 35 || _ === 63 ? (I === void 0 && (I = C.substr(0, P)), (I += m[_])) : I !== void 0 && (I += C[P]) + } + return I !== void 0 ? I : C + } + function b(C, I) { + let P + return ( + (P = + C.authority && C.path.length > 1 && C.scheme === "file" + ? `//${C.authority}${C.path}` + : C.path.charCodeAt(0) === 47 && + ((C.path.charCodeAt(1) >= 65 && C.path.charCodeAt(1) <= 90) || + (C.path.charCodeAt(1) >= 97 && C.path.charCodeAt(1) <= 122)) && + C.path.charCodeAt(2) === 58 + ? C.path[1].toLowerCase() + C.path.substr(2) + : C.path), + i && (P = P.replace(/\//g, "\\")), + P + ) + } + function w(C, I) { + const P = I ? y : v + let _ = "", + { scheme: N, authority: M, path: O, query: D, fragment: B } = C + if ((N && ((_ += N), (_ += ":")), (M || N === "file") && ((_ += h), (_ += h)), M)) { + let z = M.indexOf("@") + if (z !== -1) { + const F = M.substr(0, z) + ;(M = M.substr(z + 1)), + (z = F.lastIndexOf(":")), + z === -1 + ? (_ += P(F, !1, !1)) + : ((_ += P(F.substr(0, z), !1, !1)), (_ += ":"), (_ += P(F.substr(z + 1), !1, !0))), + (_ += "@") + } + ;(M = M.toLowerCase()), + (z = M.lastIndexOf(":")), + z === -1 ? (_ += P(M, !1, !0)) : ((_ += P(M.substr(0, z), !1, !0)), (_ += M.substr(z))) + } + if (O) { + if (O.length >= 3 && O.charCodeAt(0) === 47 && O.charCodeAt(2) === 58) { + const z = O.charCodeAt(1) + z >= 65 && z <= 90 && (O = `/${String.fromCharCode(z + 32)}:${O.substr(3)}`) + } else if (O.length >= 2 && O.charCodeAt(1) === 58) { + const z = O.charCodeAt(0) + z >= 65 && z <= 90 && (O = `${String.fromCharCode(z + 32)}:${O.substr(2)}`) + } + _ += P(O, !0, !1) + } + return D && ((_ += "?"), (_ += P(D, !1, !1))), B && ((_ += "#"), (_ += I ? B : v(B, !1, !1))), _ + } + function T(C) { + try { + return decodeURIComponent(C) + } catch { + return C.length > 3 ? C.substr(0, 3) + T(C.substr(3)) : C + } + } + const E = /(%[0-9A-Za-z][0-9A-Za-z])+/g + function S(C) { + return C.match(E) ? C.replace(E, (I) => T(I)) : C + } + var k = r(470) + const L = k.posix || k, + A = "/" + var R + ;(function (C) { + ;(C.joinPath = function (I, ...P) { + return I.with({ path: L.join(I.path, ...P) }) + }), + (C.resolvePath = function (I, ...P) { + let _ = I.path, + N = !1 + _[0] !== A && ((_ = A + _), (N = !0)) + let M = L.resolve(_, ...P) + return N && M[0] === A && !I.authority && (M = M.substring(1)), I.with({ path: M }) + }), + (C.dirname = function (I) { + if (I.path.length === 0 || I.path === A) return I + let P = L.dirname(I.path) + return P.length === 1 && P.charCodeAt(0) === 46 && (P = ""), I.with({ path: P }) + }), + (C.basename = function (I) { + return L.basename(I.path) + }), + (C.extname = function (I) { + return L.extname(I.path) + }) + })(R || (R = {})) + })(), + (cG = n) +})() +const { URI: au, Utils: Uf } = cG +var $l +;(function (t) { + ;(t.basename = Uf.basename), + (t.dirname = Uf.dirname), + (t.extname = Uf.extname), + (t.joinPath = Uf.joinPath), + (t.resolvePath = Uf.resolvePath) + function e(i, a) { + return (i == null ? void 0 : i.toString()) === (a == null ? void 0 : a.toString()) + } + t.equals = e + function r(i, a) { + const s = typeof i == "string" ? i : i.path, + o = typeof a == "string" ? a : a.path, + l = s.split("/").filter((p) => p.length > 0), + u = o.split("/").filter((p) => p.length > 0) + let h = 0 + for (; h < l.length && l[h] === u[h]; h++); + const d = "../".repeat(l.length - h), + f = u.slice(h).join("/") + return d + f + } + t.relative = r + function n(i) { + return au.parse(i.toString()).toString() + } + t.normalize = n +})($l || ($l = {})) +var Kr +;(function (t) { + ;(t[(t.Changed = 0)] = "Changed"), + (t[(t.Parsed = 1)] = "Parsed"), + (t[(t.IndexedContent = 2)] = "IndexedContent"), + (t[(t.ComputedScopes = 3)] = "ComputedScopes"), + (t[(t.Linked = 4)] = "Linked"), + (t[(t.IndexedReferences = 5)] = "IndexedReferences"), + (t[(t.Validated = 6)] = "Validated") +})(Kr || (Kr = {})) +class fxe { + constructor(e) { + ;(this.serviceRegistry = e.ServiceRegistry), + (this.textDocuments = e.workspace.TextDocuments), + (this.fileSystemProvider = e.workspace.FileSystemProvider) + } + async fromUri(e, r = rn.CancellationToken.None) { + const n = await this.fileSystemProvider.readFile(e) + return this.createAsync(e, n, r) + } + fromTextDocument(e, r, n) { + return (r = r ?? au.parse(e.uri)), rn.CancellationToken.is(n) ? this.createAsync(r, e, n) : this.create(r, e, n) + } + fromString(e, r, n) { + return rn.CancellationToken.is(n) ? this.createAsync(r, e, n) : this.create(r, e, n) + } + fromModel(e, r) { + return this.create(r, { $model: e }) + } + create(e, r, n) { + if (typeof r == "string") { + const i = this.parse(e, r, n) + return this.createLangiumDocument(i, e, void 0, r) + } else if ("$model" in r) { + const i = { value: r.$model, parserErrors: [], lexerErrors: [] } + return this.createLangiumDocument(i, e) + } else { + const i = this.parse(e, r.getText(), n) + return this.createLangiumDocument(i, e, r) + } + } + async createAsync(e, r, n) { + if (typeof r == "string") { + const i = await this.parseAsync(e, r, n) + return this.createLangiumDocument(i, e, void 0, r) + } else { + const i = await this.parseAsync(e, r.getText(), n) + return this.createLangiumDocument(i, e, r) + } + } + createLangiumDocument(e, r, n, i) { + let a + if (n) a = { parseResult: e, uri: r, state: Kr.Parsed, references: [], textDocument: n } + else { + const s = this.createTextDocumentGetter(r, i) + a = { + parseResult: e, + uri: r, + state: Kr.Parsed, + references: [], + get textDocument() { + return s() + }, + } + } + return (e.value.$document = a), a + } + async update(e, r) { + var n, i + const a = (n = e.parseResult.value.$cstNode) === null || n === void 0 ? void 0 : n.root.fullText, + s = (i = this.textDocuments) === null || i === void 0 ? void 0 : i.get(e.uri.toString()), + o = s ? s.getText() : await this.fileSystemProvider.readFile(e.uri) + if (s) Object.defineProperty(e, "textDocument", { value: s }) + else { + const l = this.createTextDocumentGetter(e.uri, o) + Object.defineProperty(e, "textDocument", { get: l }) + } + return ( + a !== o && ((e.parseResult = await this.parseAsync(e.uri, o, r)), (e.parseResult.value.$document = e)), + (e.state = Kr.Parsed), + e + ) + } + parse(e, r, n) { + return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r, n) + } + parseAsync(e, r, n) { + return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r, n) + } + createTextDocumentGetter(e, r) { + const n = this.serviceRegistry + let i + return () => i ?? (i = r6.create(e.toString(), n.getServices(e).LanguageMetaData.languageId, 0, r ?? "")) + } +} +class pxe { + constructor(e) { + ;(this.documentMap = new Map()), + (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory), + (this.serviceRegistry = e.ServiceRegistry) + } + get all() { + return li(this.documentMap.values()) + } + addDocument(e) { + const r = e.uri.toString() + if (this.documentMap.has(r)) throw new Error(`A document with the URI '${r}' is already present.`) + this.documentMap.set(r, e) + } + getDocument(e) { + const r = e.toString() + return this.documentMap.get(r) + } + async getOrCreateDocument(e, r) { + let n = this.getDocument(e) + return n || ((n = await this.langiumDocumentFactory.fromUri(e, r)), this.addDocument(n), n) + } + createDocument(e, r, n) { + if (n) return this.langiumDocumentFactory.fromString(r, e, n).then((i) => (this.addDocument(i), i)) + { + const i = this.langiumDocumentFactory.fromString(r, e) + return this.addDocument(i), i + } + } + hasDocument(e) { + return this.documentMap.has(e.toString()) + } + invalidateDocument(e) { + const r = e.toString(), + n = this.documentMap.get(r) + return ( + n && + (this.serviceRegistry.getServices(e).references.Linker.unlink(n), + (n.state = Kr.Changed), + (n.precomputedScopes = void 0), + (n.diagnostics = void 0)), + n + ) + } + deleteDocument(e) { + const r = e.toString(), + n = this.documentMap.get(r) + return n && ((n.state = Kr.Changed), this.documentMap.delete(r)), n + } +} +const d4 = Symbol("ref_resolving") +class gxe { + constructor(e) { + ;(this.reflection = e.shared.AstReflection), + (this.langiumDocuments = () => e.shared.workspace.LangiumDocuments), + (this.scopeProvider = e.references.ScopeProvider), + (this.astNodeLocator = e.workspace.AstNodeLocator) + } + async link(e, r = rn.CancellationToken.None) { + for (const n of xh(e.parseResult.value)) await ka(r), Xz(n).forEach((i) => this.doLink(i, e)) + } + doLink(e, r) { + var n + const i = e.reference + if (i._ref === void 0) { + i._ref = d4 + try { + const a = this.getCandidate(e) + if (_m(a)) i._ref = a + else if (((i._nodeDescription = a), this.langiumDocuments().hasDocument(a.documentUri))) { + const s = this.loadAstNode(a) + i._ref = s ?? this.createLinkingError(e, a) + } else i._ref = void 0 + } catch (a) { + console.error(`An error occurred while resolving reference to '${i.$refText}':`, a) + const s = (n = a.message) !== null && n !== void 0 ? n : String(a) + i._ref = Object.assign(Object.assign({}, e), { + message: `An error occurred while resolving reference to '${i.$refText}': ${s}`, + }) + } + r.references.push(i) + } + } + unlink(e) { + for (const r of e.references) delete r._ref, delete r._nodeDescription + e.references = [] + } + getCandidate(e) { + const n = this.scopeProvider.getScope(e).getElement(e.reference.$refText) + return n ?? this.createLinkingError(e) + } + buildReference(e, r, n, i) { + const a = this, + s = { + $refNode: n, + $refText: i, + get ref() { + var o + if (Ei(this._ref)) return this._ref + if (Q1e(this._nodeDescription)) { + const l = a.loadAstNode(this._nodeDescription) + this._ref = + l ?? + a.createLinkingError({ reference: s, container: e, property: r }, this._nodeDescription) + } else if (this._ref === void 0) { + this._ref = d4 + const l = Aw(e).$document, + u = a.getLinkedNode({ reference: s, container: e, property: r }) + if (u.error && l && l.state < Kr.ComputedScopes) return (this._ref = void 0) + ;(this._ref = (o = u.node) !== null && o !== void 0 ? o : u.error), + (this._nodeDescription = u.descr), + l == null || l.references.push(this) + } else if (this._ref === d4) + throw new Error( + `Cyclic reference resolution detected: ${a.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${i}')`, + ) + return Ei(this._ref) ? this._ref : void 0 + }, + get $nodeDescription() { + return this._nodeDescription + }, + get error() { + return _m(this._ref) ? this._ref : void 0 + }, + } + return s + } + getLinkedNode(e) { + var r + try { + const n = this.getCandidate(e) + if (_m(n)) return { error: n } + const i = this.loadAstNode(n) + return i ? { node: i, descr: n } : { descr: n, error: this.createLinkingError(e, n) } + } catch (n) { + console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`, n) + const i = (r = n.message) !== null && r !== void 0 ? r : String(n) + return { + error: Object.assign(Object.assign({}, e), { + message: `An error occurred while resolving reference to '${e.reference.$refText}': ${i}`, + }), + } + } + } + loadAstNode(e) { + if (e.node) return e.node + const r = this.langiumDocuments().getDocument(e.documentUri) + if (r) return this.astNodeLocator.getAstNode(r.parseResult.value, e.path) + } + createLinkingError(e, r) { + const n = Aw(e.container).$document + n && + n.state < Kr.ComputedScopes && + console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`) + const i = this.reflection.getReferenceType(e) + return Object.assign(Object.assign({}, e), { + message: `Could not resolve reference to ${i} named '${e.reference.$refText}'.`, + targetDescription: r, + }) + } +} +function mxe(t) { + return typeof t.name == "string" +} +class vxe { + getName(e) { + if (mxe(e)) return e.name + } + getNameNode(e) { + return Jz(e.$cstNode, "name") + } +} +class yxe { + constructor(e) { + ;(this.nameProvider = e.references.NameProvider), + (this.index = e.shared.workspace.IndexManager), + (this.nodeLocator = e.workspace.AstNodeLocator) + } + findDeclaration(e) { + if (e) { + const r = qme(e), + n = e.astNode + if (r && n) { + const i = n[r.feature] + if (Ws(i)) return i.ref + if (Array.isArray(i)) { + for (const a of i) + if (Ws(a) && a.$refNode && a.$refNode.offset <= e.offset && a.$refNode.end >= e.end) + return a.ref + } + } + if (n) { + const i = this.nameProvider.getNameNode(n) + if (i && (i === e || tme(e, i))) return n + } + } + } + findDeclarationNode(e) { + const r = this.findDeclaration(e) + if (r != null && r.$cstNode) { + const n = this.nameProvider.getNameNode(r) + return n ?? r.$cstNode + } + } + findReferences(e, r) { + const n = [] + if (r.includeDeclaration) { + const a = this.getReferenceToSelf(e) + a && n.push(a) + } + let i = this.index.findAllReferences(e, this.nodeLocator.getAstNodePath(e)) + return r.documentUri && (i = i.filter((a) => $l.equals(a.sourceUri, r.documentUri))), n.push(...i), li(n) + } + getReferenceToSelf(e) { + const r = this.nameProvider.getNameNode(e) + if (r) { + const n = Ol(e), + i = this.nodeLocator.getAstNodePath(e) + return { sourceUri: n.uri, sourcePath: i, targetUri: n.uri, targetPath: i, segment: yy(r), local: !0 } + } + } +} +class By { + constructor(e) { + if (((this.map = new Map()), e)) for (const [r, n] of e) this.add(r, n) + } + get size() { + return kw.sum(li(this.map.values()).map((e) => e.length)) + } + clear() { + this.map.clear() + } + delete(e, r) { + if (r === void 0) return this.map.delete(e) + { + const n = this.map.get(e) + if (n) { + const i = n.indexOf(r) + if (i >= 0) return n.length === 1 ? this.map.delete(e) : n.splice(i, 1), !0 + } + return !1 + } + } + get(e) { + var r + return (r = this.map.get(e)) !== null && r !== void 0 ? r : [] + } + has(e, r) { + if (r === void 0) return this.map.has(e) + { + const n = this.map.get(e) + return n ? n.indexOf(r) >= 0 : !1 + } + } + add(e, r) { + return this.map.has(e) ? this.map.get(e).push(r) : this.map.set(e, [r]), this + } + addAll(e, r) { + return this.map.has(e) ? this.map.get(e).push(...r) : this.map.set(e, Array.from(r)), this + } + forEach(e) { + this.map.forEach((r, n) => r.forEach((i) => e(i, n, this))) + } + [Symbol.iterator]() { + return this.entries().iterator() + } + entries() { + return li(this.map.entries()).flatMap(([e, r]) => r.map((n) => [e, n])) + } + keys() { + return li(this.map.keys()) + } + values() { + return li(this.map.values()).flat() + } + entriesGroupedByKey() { + return li(this.map.entries()) + } +} +class z_ { + get size() { + return this.map.size + } + constructor(e) { + if (((this.map = new Map()), (this.inverse = new Map()), e)) for (const [r, n] of e) this.set(r, n) + } + clear() { + this.map.clear(), this.inverse.clear() + } + set(e, r) { + return this.map.set(e, r), this.inverse.set(r, e), this + } + get(e) { + return this.map.get(e) + } + getKey(e) { + return this.inverse.get(e) + } + delete(e) { + const r = this.map.get(e) + return r !== void 0 ? (this.map.delete(e), this.inverse.delete(r), !0) : !1 + } +} +class xxe { + constructor(e) { + ;(this.nameProvider = e.references.NameProvider), (this.descriptions = e.workspace.AstNodeDescriptionProvider) + } + async computeExports(e, r = rn.CancellationToken.None) { + return this.computeExportsForNode(e.parseResult.value, e, void 0, r) + } + async computeExportsForNode(e, r, n = uk, i = rn.CancellationToken.None) { + const a = [] + this.exportNode(e, a, r) + for (const s of n(e)) await ka(i), this.exportNode(s, a, r) + return a + } + exportNode(e, r, n) { + const i = this.nameProvider.getName(e) + i && r.push(this.descriptions.createDescription(e, i, n)) + } + async computeLocalScopes(e, r = rn.CancellationToken.None) { + const n = e.parseResult.value, + i = new By() + for (const a of Rg(n)) await ka(r), this.processNode(a, e, i) + return i + } + processNode(e, r, n) { + const i = e.$container + if (i) { + const a = this.nameProvider.getName(e) + a && n.add(i, this.descriptions.createDescription(e, a, r)) + } + } +} +class V_ { + constructor(e, r, n) { + var i + ;(this.elements = e), + (this.outerScope = r), + (this.caseInsensitive = (i = n == null ? void 0 : n.caseInsensitive) !== null && i !== void 0 ? i : !1) + } + getAllElements() { + return this.outerScope ? this.elements.concat(this.outerScope.getAllElements()) : this.elements + } + getElement(e) { + const r = this.caseInsensitive + ? this.elements.find((n) => n.name.toLowerCase() === e.toLowerCase()) + : this.elements.find((n) => n.name === e) + if (r) return r + if (this.outerScope) return this.outerScope.getElement(e) + } +} +class bxe { + constructor(e, r, n) { + var i + ;(this.elements = new Map()), + (this.caseInsensitive = (i = n == null ? void 0 : n.caseInsensitive) !== null && i !== void 0 ? i : !1) + for (const a of e) { + const s = this.caseInsensitive ? a.name.toLowerCase() : a.name + this.elements.set(s, a) + } + this.outerScope = r + } + getElement(e) { + const r = this.caseInsensitive ? e.toLowerCase() : e, + n = this.elements.get(r) + if (n) return n + if (this.outerScope) return this.outerScope.getElement(e) + } + getAllElements() { + let e = li(this.elements.values()) + return this.outerScope && (e = e.concat(this.outerScope.getAllElements())), e + } +} +class uG { + constructor() { + ;(this.toDispose = []), (this.isDisposed = !1) + } + onDispose(e) { + this.toDispose.push(e) + } + dispose() { + this.throwIfDisposed(), this.clear(), (this.isDisposed = !0), this.toDispose.forEach((e) => e.dispose()) + } + throwIfDisposed() { + if (this.isDisposed) throw new Error("This cache has already been disposed") + } +} +class wxe extends uG { + constructor() { + super(...arguments), (this.cache = new Map()) + } + has(e) { + return this.throwIfDisposed(), this.cache.has(e) + } + set(e, r) { + this.throwIfDisposed(), this.cache.set(e, r) + } + get(e, r) { + if ((this.throwIfDisposed(), this.cache.has(e))) return this.cache.get(e) + if (r) { + const n = r() + return this.cache.set(e, n), n + } else return + } + delete(e) { + return this.throwIfDisposed(), this.cache.delete(e) + } + clear() { + this.throwIfDisposed(), this.cache.clear() + } +} +class Txe extends uG { + constructor(e) { + super(), (this.cache = new Map()), (this.converter = e ?? ((r) => r)) + } + has(e, r) { + return this.throwIfDisposed(), this.cacheForContext(e).has(r) + } + set(e, r, n) { + this.throwIfDisposed(), this.cacheForContext(e).set(r, n) + } + get(e, r, n) { + this.throwIfDisposed() + const i = this.cacheForContext(e) + if (i.has(r)) return i.get(r) + if (n) { + const a = n() + return i.set(r, a), a + } else return + } + delete(e, r) { + return this.throwIfDisposed(), this.cacheForContext(e).delete(r) + } + clear(e) { + if ((this.throwIfDisposed(), e)) { + const r = this.converter(e) + this.cache.delete(r) + } else this.cache.clear() + } + cacheForContext(e) { + const r = this.converter(e) + let n = this.cache.get(r) + return n || ((n = new Map()), this.cache.set(r, n)), n + } +} +class Exe extends wxe { + constructor(e, r) { + super(), + r + ? (this.toDispose.push( + e.workspace.DocumentBuilder.onBuildPhase(r, () => { + this.clear() + }), + ), + this.toDispose.push( + e.workspace.DocumentBuilder.onUpdate((n, i) => { + i.length > 0 && this.clear() + }), + )) + : this.toDispose.push( + e.workspace.DocumentBuilder.onUpdate(() => { + this.clear() + }), + ) + } +} +class kxe { + constructor(e) { + ;(this.reflection = e.shared.AstReflection), + (this.nameProvider = e.references.NameProvider), + (this.descriptions = e.workspace.AstNodeDescriptionProvider), + (this.indexManager = e.shared.workspace.IndexManager), + (this.globalScopeCache = new Exe(e.shared)) + } + getScope(e) { + const r = [], + n = this.reflection.getReferenceType(e), + i = Ol(e.container).precomputedScopes + if (i) { + let s = e.container + do { + const o = i.get(s) + o.length > 0 && r.push(li(o).filter((l) => this.reflection.isSubtype(l.type, n))), (s = s.$container) + } while (s) + } + let a = this.getGlobalScope(n, e) + for (let s = r.length - 1; s >= 0; s--) a = this.createScope(r[s], a) + return a + } + createScope(e, r, n) { + return new V_(li(e), r, n) + } + createScopeForNodes(e, r, n) { + const i = li(e) + .map((a) => { + const s = this.nameProvider.getName(a) + if (s) return this.descriptions.createDescription(a, s) + }) + .nonNullable() + return new V_(i, r, n) + } + getGlobalScope(e, r) { + return this.globalScopeCache.get(e, () => new bxe(this.indexManager.allElements(e))) + } +} +function Sxe(t) { + return typeof t.$comment == "string" +} +function G_(t) { + return typeof t == "object" && !!t && ("$ref" in t || "$error" in t) +} +class Cxe { + constructor(e) { + ;(this.ignoreProperties = new Set([ + "$container", + "$containerProperty", + "$containerIndex", + "$document", + "$cstNode", + ])), + (this.langiumDocuments = e.shared.workspace.LangiumDocuments), + (this.astNodeLocator = e.workspace.AstNodeLocator), + (this.nameProvider = e.references.NameProvider), + (this.commentProvider = e.documentation.CommentProvider) + } + serialize(e, r) { + const n = r ?? {}, + i = r == null ? void 0 : r.replacer, + a = (o, l) => this.replacer(o, l, n), + s = i ? (o, l) => i(o, l, a) : a + try { + return (this.currentDocument = Ol(e)), JSON.stringify(e, s, r == null ? void 0 : r.space) + } finally { + this.currentDocument = void 0 + } + } + deserialize(e, r) { + const n = r ?? {}, + i = JSON.parse(e) + return this.linkNode(i, i, n), i + } + replacer(e, r, { refText: n, sourceText: i, textRegions: a, comments: s, uriConverter: o }) { + var l, u, h, d + if (!this.ignoreProperties.has(e)) + if (Ws(r)) { + const f = r.ref, + p = n ? r.$refText : void 0 + if (f) { + const g = Ol(f) + let m = "" + this.currentDocument && + this.currentDocument !== g && + (o ? (m = o(g.uri, r)) : (m = g.uri.toString())) + const v = this.astNodeLocator.getAstNodePath(f) + return { $ref: `${m}#${v}`, $refText: p } + } else + return { + $error: + (u = (l = r.error) === null || l === void 0 ? void 0 : l.message) !== null && u !== void 0 + ? u + : "Could not resolve reference", + $refText: p, + } + } else if (Ei(r)) { + let f + if ( + (a && + ((f = this.addAstNodeRegionWithAssignmentsTo(Object.assign({}, r))), + (!e || r.$document) && + f != null && + f.$textRegion && + (f.$textRegion.documentURI = + (h = this.currentDocument) === null || h === void 0 ? void 0 : h.uri.toString())), + i && + !e && + (f ?? (f = Object.assign({}, r)), + (f.$sourceText = (d = r.$cstNode) === null || d === void 0 ? void 0 : d.text)), + s) + ) { + f ?? (f = Object.assign({}, r)) + const p = this.commentProvider.getComment(r) + p && (f.$comment = p.replace(/\r/g, "")) + } + return f ?? r + } else return r + } + addAstNodeRegionWithAssignmentsTo(e) { + const r = (n) => ({ offset: n.offset, end: n.end, length: n.length, range: n.range }) + if (e.$cstNode) { + const n = (e.$textRegion = r(e.$cstNode)), + i = (n.assignments = {}) + return ( + Object.keys(e) + .filter((a) => !a.startsWith("$")) + .forEach((a) => { + const s = Vme(e.$cstNode, a).map(r) + s.length !== 0 && (i[a] = s) + }), + e + ) + } + } + linkNode(e, r, n, i, a, s) { + for (const [l, u] of Object.entries(e)) + if (Array.isArray(u)) + for (let h = 0; h < u.length; h++) { + const d = u[h] + G_(d) ? (u[h] = this.reviveReference(e, l, r, d, n)) : Ei(d) && this.linkNode(d, r, n, e, l, h) + } + else G_(u) ? (e[l] = this.reviveReference(e, l, r, u, n)) : Ei(u) && this.linkNode(u, r, n, e, l) + const o = e + ;(o.$container = i), (o.$containerProperty = a), (o.$containerIndex = s) + } + reviveReference(e, r, n, i, a) { + let s = i.$refText, + o = i.$error + if (i.$ref) { + const l = this.getRefNode(n, i.$ref, a.uriConverter) + if (Ei(l)) return s || (s = this.nameProvider.getName(l)), { $refText: s ?? "", ref: l } + o = l + } + if (o) { + const l = { $refText: s ?? "" } + return (l.error = { container: e, property: r, message: o, reference: l }), l + } else return + } + getRefNode(e, r, n) { + try { + const i = r.indexOf("#") + if (i === 0) { + const l = this.astNodeLocator.getAstNode(e, r.substring(1)) + return l || "Could not resolve path: " + r + } + if (i < 0) { + const l = n ? n(r) : au.parse(r), + u = this.langiumDocuments.getDocument(l) + return u ? u.parseResult.value : "Could not find document for URI: " + r + } + const a = n ? n(r.substring(0, i)) : au.parse(r.substring(0, i)), + s = this.langiumDocuments.getDocument(a) + if (!s) return "Could not find document for URI: " + r + if (i === r.length - 1) return s.parseResult.value + const o = this.astNodeLocator.getAstNode(s.parseResult.value, r.substring(i + 1)) + return o || "Could not resolve URI: " + r + } catch (i) { + return String(i) + } + } +} +class Axe { + get map() { + return this.fileExtensionMap + } + constructor(e) { + ;(this.languageIdMap = new Map()), + (this.fileExtensionMap = new Map()), + (this.textDocuments = e == null ? void 0 : e.workspace.TextDocuments) + } + register(e) { + const r = e.LanguageMetaData + for (const n of r.fileExtensions) + this.fileExtensionMap.has(n) && + console.warn( + `The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`, + ), + this.fileExtensionMap.set(n, e) + this.languageIdMap.set(r.languageId, e), + this.languageIdMap.size === 1 ? (this.singleton = e) : (this.singleton = void 0) + } + getServices(e) { + var r, n + if (this.singleton !== void 0) return this.singleton + if (this.languageIdMap.size === 0) + throw new Error("The service registry is empty. Use `register` to register the services of a language.") + const i = + (n = (r = this.textDocuments) === null || r === void 0 ? void 0 : r.get(e)) === null || n === void 0 + ? void 0 + : n.languageId + if (i !== void 0) { + const o = this.languageIdMap.get(i) + if (o) return o + } + const a = $l.extname(e), + s = this.fileExtensionMap.get(a) + if (!s) + throw i + ? new Error(`The service registry contains no services for the extension '${a}' for language '${i}'.`) + : new Error(`The service registry contains no services for the extension '${a}'.`) + return s + } + hasServices(e) { + try { + return this.getServices(e), !0 + } catch { + return !1 + } + } + get all() { + return Array.from(this.languageIdMap.values()) + } +} +function B0(t) { + return { code: t } +} +var Fy +;(function (t) { + t.all = ["fast", "slow", "built-in"] +})(Fy || (Fy = {})) +class _xe { + constructor(e) { + ;(this.entries = new By()), + (this.entriesBefore = []), + (this.entriesAfter = []), + (this.reflection = e.shared.AstReflection) + } + register(e, r = this, n = "fast") { + if (n === "built-in") + throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.") + for (const [i, a] of Object.entries(e)) { + const s = a + if (Array.isArray(s)) + for (const o of s) { + const l = { check: this.wrapValidationException(o, r), category: n } + this.addEntry(i, l) + } + else if (typeof s == "function") { + const o = { check: this.wrapValidationException(s, r), category: n } + this.addEntry(i, o) + } else Lg() + } + } + wrapValidationException(e, r) { + return async (n, i, a) => { + await this.handleException(() => e.call(r, n, i, a), "An error occurred during validation", i, n) + } + } + async handleException(e, r, n, i) { + try { + await e() + } catch (a) { + if (yx(a)) throw a + console.error(`${r}:`, a), a instanceof Error && a.stack && console.error(a.stack) + const s = a instanceof Error ? a.message : String(a) + n("error", `${r}: ${s}`, { node: i }) + } + } + addEntry(e, r) { + if (e === "AstNode") { + this.entries.add("AstNode", r) + return + } + for (const n of this.reflection.getAllSubTypes(e)) this.entries.add(n, r) + } + getChecks(e, r) { + let n = li(this.entries.get(e)).concat(this.entries.get("AstNode")) + return r && (n = n.filter((i) => r.includes(i.category))), n.map((i) => i.check) + } + registerBeforeDocument(e, r = this) { + this.entriesBefore.push( + this.wrapPreparationException(e, "An error occurred during set-up of the validation", r), + ) + } + registerAfterDocument(e, r = this) { + this.entriesAfter.push( + this.wrapPreparationException(e, "An error occurred during tear-down of the validation", r), + ) + } + wrapPreparationException(e, r, n) { + return async (i, a, s, o) => { + await this.handleException(() => e.call(n, i, a, s, o), r, a, i) + } + } + get checksBefore() { + return this.entriesBefore + } + get checksAfter() { + return this.entriesAfter + } +} +class Lxe { + constructor(e) { + ;(this.validationRegistry = e.validation.ValidationRegistry), (this.metadata = e.LanguageMetaData) + } + async validateDocument(e, r = {}, n = rn.CancellationToken.None) { + const i = e.parseResult, + a = [] + if ( + (await ka(n), + (!r.categories || r.categories.includes("built-in")) && + (this.processLexingErrors(i, a, r), + (r.stopAfterLexingErrors && + a.some((s) => { + var o + return ((o = s.data) === null || o === void 0 ? void 0 : o.code) === fs.LexingError + })) || + (this.processParsingErrors(i, a, r), + r.stopAfterParsingErrors && + a.some((s) => { + var o + return ((o = s.data) === null || o === void 0 ? void 0 : o.code) === fs.ParsingError + })) || + (this.processLinkingErrors(e, a, r), + r.stopAfterLinkingErrors && + a.some((s) => { + var o + return ((o = s.data) === null || o === void 0 ? void 0 : o.code) === fs.LinkingError + })))) + ) + return a + try { + a.push(...(await this.validateAst(i.value, r, n))) + } catch (s) { + if (yx(s)) throw s + console.error("An error occurred during validation:", s) + } + return await ka(n), a + } + processLexingErrors(e, r, n) { + var i, a, s + const o = [ + ...e.lexerErrors, + ...((a = (i = e.lexerReport) === null || i === void 0 ? void 0 : i.diagnostics) !== null && a !== void 0 + ? a + : []), + ] + for (const l of o) { + const u = (s = l.severity) !== null && s !== void 0 ? s : "error", + h = { + severity: f4(u), + range: { + start: { line: l.line - 1, character: l.column - 1 }, + end: { line: l.line - 1, character: l.column + l.length - 1 }, + }, + message: l.message, + data: Nxe(u), + source: this.getSource(), + } + r.push(h) + } + } + processParsingErrors(e, r, n) { + for (const i of e.parserErrors) { + let a + if (isNaN(i.token.startOffset)) { + if ("previousToken" in i) { + const s = i.previousToken + if (isNaN(s.startOffset)) { + const o = { line: 0, character: 0 } + a = { start: o, end: o } + } else { + const o = { line: s.endLine - 1, character: s.endColumn } + a = { start: o, end: o } + } + } + } else a = Cw(i.token) + if (a) { + const s = { + severity: f4("error"), + range: a, + message: i.message, + data: B0(fs.ParsingError), + source: this.getSource(), + } + r.push(s) + } + } + } + processLinkingErrors(e, r, n) { + for (const i of e.references) { + const a = i.error + if (a) { + const s = { + node: a.container, + property: a.property, + index: a.index, + data: { + code: fs.LinkingError, + containerType: a.container.$type, + property: a.property, + refText: a.reference.$refText, + }, + } + r.push(this.toDiagnostic("error", a.message, s)) + } + } + } + async validateAst(e, r, n = rn.CancellationToken.None) { + const i = [], + a = (s, o, l) => { + i.push(this.toDiagnostic(s, o, l)) + } + return ( + await this.validateAstBefore(e, r, a, n), + await this.validateAstNodes(e, r, a, n), + await this.validateAstAfter(e, r, a, n), + i + ) + } + async validateAstBefore(e, r, n, i = rn.CancellationToken.None) { + var a + const s = this.validationRegistry.checksBefore + for (const o of s) await ka(i), await o(e, n, (a = r.categories) !== null && a !== void 0 ? a : [], i) + } + async validateAstNodes(e, r, n, i = rn.CancellationToken.None) { + await Promise.all( + xh(e).map(async (a) => { + await ka(i) + const s = this.validationRegistry.getChecks(a.$type, r.categories) + for (const o of s) await o(a, n, i) + }), + ) + } + async validateAstAfter(e, r, n, i = rn.CancellationToken.None) { + var a + const s = this.validationRegistry.checksAfter + for (const o of s) await ka(i), await o(e, n, (a = r.categories) !== null && a !== void 0 ? a : [], i) + } + toDiagnostic(e, r, n) { + return { + message: r, + range: Rxe(n), + severity: f4(e), + code: n.code, + codeDescription: n.codeDescription, + tags: n.tags, + relatedInformation: n.relatedInformation, + data: n.data, + source: this.getSource(), + } + } + getSource() { + return this.metadata.languageId + } +} +function Rxe(t) { + if (t.range) return t.range + let e + return ( + typeof t.property == "string" + ? (e = Jz(t.node.$cstNode, t.property, t.index)) + : typeof t.keyword == "string" && (e = Gme(t.node.$cstNode, t.keyword, t.index)), + e ?? (e = t.node.$cstNode), + e ? e.range : { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } } + ) +} +function f4(t) { + switch (t) { + case "error": + return 1 + case "warning": + return 2 + case "info": + return 3 + case "hint": + return 4 + default: + throw new Error("Invalid diagnostic severity: " + t) + } +} +function Nxe(t) { + switch (t) { + case "error": + return B0(fs.LexingError) + case "warning": + return B0(fs.LexingWarning) + case "info": + return B0(fs.LexingInfo) + case "hint": + return B0(fs.LexingHint) + default: + throw new Error("Invalid diagnostic severity: " + t) + } +} +var fs +;(function (t) { + ;(t.LexingError = "lexing-error"), + (t.LexingWarning = "lexing-warning"), + (t.LexingInfo = "lexing-info"), + (t.LexingHint = "lexing-hint"), + (t.ParsingError = "parsing-error"), + (t.LinkingError = "linking-error") +})(fs || (fs = {})) +class Dxe { + constructor(e) { + ;(this.astNodeLocator = e.workspace.AstNodeLocator), (this.nameProvider = e.references.NameProvider) + } + createDescription(e, r, n) { + const i = n ?? Ol(e) + r ?? (r = this.nameProvider.getName(e)) + const a = this.astNodeLocator.getAstNodePath(e) + if (!r) throw new Error(`Node at path ${a} has no name.`) + let s + const o = () => { + var l + return s ?? (s = yy((l = this.nameProvider.getNameNode(e)) !== null && l !== void 0 ? l : e.$cstNode)) + } + return { + node: e, + name: r, + get nameSegment() { + return o() + }, + selectionSegment: yy(e.$cstNode), + type: e.$type, + documentUri: i.uri, + path: a, + } + } +} +class Ixe { + constructor(e) { + this.nodeLocator = e.workspace.AstNodeLocator + } + async createDescriptions(e, r = rn.CancellationToken.None) { + const n = [], + i = e.parseResult.value + for (const a of xh(i)) + await ka(r), + Xz(a) + .filter((s) => !_m(s)) + .forEach((s) => { + const o = this.createDescription(s) + o && n.push(o) + }) + return n + } + createDescription(e) { + const r = e.reference.$nodeDescription, + n = e.reference.$refNode + if (!r || !n) return + const i = Ol(e.container).uri + return { + sourceUri: i, + sourcePath: this.nodeLocator.getAstNodePath(e.container), + targetUri: r.documentUri, + targetPath: r.path, + segment: yy(n), + local: $l.equals(r.documentUri, i), + } + } +} +class Mxe { + constructor() { + ;(this.segmentSeparator = "/"), (this.indexSeparator = "@") + } + getAstNodePath(e) { + if (e.$container) { + const r = this.getAstNodePath(e.$container), + n = this.getPathSegment(e) + return r + this.segmentSeparator + n + } + return "" + } + getPathSegment({ $containerProperty: e, $containerIndex: r }) { + if (!e) throw new Error("Missing '$containerProperty' in AST node.") + return r !== void 0 ? e + this.indexSeparator + r : e + } + getAstNode(e, r) { + return r.split(this.segmentSeparator).reduce((i, a) => { + if (!i || a.length === 0) return i + const s = a.indexOf(this.indexSeparator) + if (s > 0) { + const o = a.substring(0, s), + l = parseInt(a.substring(s + 1)), + u = i[o] + return u == null ? void 0 : u[l] + } + return i[a] + }, e) + } +} +var Oxe = sG() +class Pxe { + constructor(e) { + ;(this._ready = new _k()), + (this.settings = {}), + (this.workspaceConfig = !1), + (this.onConfigurationSectionUpdateEmitter = new Oxe.Emitter()), + (this.serviceRegistry = e.ServiceRegistry) + } + get ready() { + return this._ready.promise + } + initialize(e) { + var r, n + this.workspaceConfig = + (n = (r = e.capabilities.workspace) === null || r === void 0 ? void 0 : r.configuration) !== null && + n !== void 0 + ? n + : !1 + } + async initialized(e) { + if (this.workspaceConfig) { + if (e.register) { + const r = this.serviceRegistry.all + e.register({ section: r.map((n) => this.toSectionName(n.LanguageMetaData.languageId)) }) + } + if (e.fetchConfiguration) { + const r = this.serviceRegistry.all.map((i) => ({ + section: this.toSectionName(i.LanguageMetaData.languageId), + })), + n = await e.fetchConfiguration(r) + r.forEach((i, a) => { + this.updateSectionConfiguration(i.section, n[a]) + }) + } + } + this._ready.resolve() + } + updateConfiguration(e) { + e.settings && + Object.keys(e.settings).forEach((r) => { + const n = e.settings[r] + this.updateSectionConfiguration(r, n), + this.onConfigurationSectionUpdateEmitter.fire({ section: r, configuration: n }) + }) + } + updateSectionConfiguration(e, r) { + this.settings[e] = r + } + async getConfiguration(e, r) { + await this.ready + const n = this.toSectionName(e) + if (this.settings[n]) return this.settings[n][r] + } + toSectionName(e) { + return `${e}` + } + get onConfigurationSectionUpdate() { + return this.onConfigurationSectionUpdateEmitter.event + } +} +var lp +;(function (t) { + function e(r) { + return { dispose: async () => await r() } + } + t.create = e +})(lp || (lp = {})) +class Bxe { + constructor(e) { + ;(this.updateBuildOptions = { validation: { categories: ["built-in", "fast"] } }), + (this.updateListeners = []), + (this.buildPhaseListeners = new By()), + (this.documentPhaseListeners = new By()), + (this.buildState = new Map()), + (this.documentBuildWaiters = new Map()), + (this.currentState = Kr.Changed), + (this.langiumDocuments = e.workspace.LangiumDocuments), + (this.langiumDocumentFactory = e.workspace.LangiumDocumentFactory), + (this.textDocuments = e.workspace.TextDocuments), + (this.indexManager = e.workspace.IndexManager), + (this.serviceRegistry = e.ServiceRegistry) + } + async build(e, r = {}, n = rn.CancellationToken.None) { + var i, a + for (const s of e) { + const o = s.uri.toString() + if (s.state === Kr.Validated) { + if (typeof r.validation == "boolean" && r.validation) + (s.state = Kr.IndexedReferences), (s.diagnostics = void 0), this.buildState.delete(o) + else if (typeof r.validation == "object") { + const l = this.buildState.get(o), + u = (i = l == null ? void 0 : l.result) === null || i === void 0 ? void 0 : i.validationChecks + if (u) { + const d = ((a = r.validation.categories) !== null && a !== void 0 ? a : Fy.all).filter( + (f) => !u.includes(f), + ) + d.length > 0 && + (this.buildState.set(o, { + completed: !1, + options: { + validation: Object.assign(Object.assign({}, r.validation), { categories: d }), + }, + result: l.result, + }), + (s.state = Kr.IndexedReferences)) + } + } + } else this.buildState.delete(o) + } + ;(this.currentState = Kr.Changed), + await this.emitUpdate( + e.map((s) => s.uri), + [], + ), + await this.buildDocuments(e, r, n) + } + async update(e, r, n = rn.CancellationToken.None) { + this.currentState = Kr.Changed + for (const s of r) + this.langiumDocuments.deleteDocument(s), this.buildState.delete(s.toString()), this.indexManager.remove(s) + for (const s of e) { + if (!this.langiumDocuments.invalidateDocument(s)) { + const l = this.langiumDocumentFactory.fromModel({ $type: "INVALID" }, s) + ;(l.state = Kr.Changed), this.langiumDocuments.addDocument(l) + } + this.buildState.delete(s.toString()) + } + const i = li(e) + .concat(r) + .map((s) => s.toString()) + .toSet() + this.langiumDocuments.all + .filter((s) => !i.has(s.uri.toString()) && this.shouldRelink(s, i)) + .forEach((s) => { + this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s), + (s.state = Math.min(s.state, Kr.ComputedScopes)), + (s.diagnostics = void 0) + }), + await this.emitUpdate(e, r), + await ka(n) + const a = this.sortDocuments( + this.langiumDocuments.all + .filter((s) => { + var o + return ( + s.state < Kr.Linked || + !(!((o = this.buildState.get(s.uri.toString())) === null || o === void 0) && o.completed) + ) + }) + .toArray(), + ) + await this.buildDocuments(a, this.updateBuildOptions, n) + } + async emitUpdate(e, r) { + await Promise.all(this.updateListeners.map((n) => n(e, r))) + } + sortDocuments(e) { + let r = 0, + n = e.length - 1 + for (; r < n; ) { + for (; r < e.length && this.hasTextDocument(e[r]); ) r++ + for (; n >= 0 && !this.hasTextDocument(e[n]); ) n-- + r < n && ([e[r], e[n]] = [e[n], e[r]]) + } + return e + } + hasTextDocument(e) { + var r + return !!(!((r = this.textDocuments) === null || r === void 0) && r.get(e.uri)) + } + shouldRelink(e, r) { + return e.references.some((n) => n.error !== void 0) ? !0 : this.indexManager.isAffected(e, r) + } + onUpdate(e) { + return ( + this.updateListeners.push(e), + lp.create(() => { + const r = this.updateListeners.indexOf(e) + r >= 0 && this.updateListeners.splice(r, 1) + }) + ) + } + async buildDocuments(e, r, n) { + this.prepareBuild(e, r), + await this.runCancelable(e, Kr.Parsed, n, (a) => this.langiumDocumentFactory.update(a, n)), + await this.runCancelable(e, Kr.IndexedContent, n, (a) => this.indexManager.updateContent(a, n)), + await this.runCancelable(e, Kr.ComputedScopes, n, async (a) => { + const s = this.serviceRegistry.getServices(a.uri).references.ScopeComputation + a.precomputedScopes = await s.computeLocalScopes(a, n) + }), + await this.runCancelable(e, Kr.Linked, n, (a) => + this.serviceRegistry.getServices(a.uri).references.Linker.link(a, n), + ), + await this.runCancelable(e, Kr.IndexedReferences, n, (a) => this.indexManager.updateReferences(a, n)) + const i = e.filter((a) => this.shouldValidate(a)) + await this.runCancelable(i, Kr.Validated, n, (a) => this.validate(a, n)) + for (const a of e) { + const s = this.buildState.get(a.uri.toString()) + s && (s.completed = !0) + } + } + prepareBuild(e, r) { + for (const n of e) { + const i = n.uri.toString(), + a = this.buildState.get(i) + ;(!a || a.completed) && + this.buildState.set(i, { completed: !1, options: r, result: a == null ? void 0 : a.result }) + } + } + async runCancelable(e, r, n, i) { + const a = e.filter((o) => o.state < r) + for (const o of a) await ka(n), await i(o), (o.state = r), await this.notifyDocumentPhase(o, r, n) + const s = e.filter((o) => o.state === r) + await this.notifyBuildPhase(s, r, n), (this.currentState = r) + } + onBuildPhase(e, r) { + return ( + this.buildPhaseListeners.add(e, r), + lp.create(() => { + this.buildPhaseListeners.delete(e, r) + }) + ) + } + onDocumentPhase(e, r) { + return ( + this.documentPhaseListeners.add(e, r), + lp.create(() => { + this.documentPhaseListeners.delete(e, r) + }) + ) + } + waitUntil(e, r, n) { + let i + if ((r && "path" in r ? (i = r) : (n = r), n ?? (n = rn.CancellationToken.None), i)) { + const a = this.langiumDocuments.getDocument(i) + if (a && a.state > e) return Promise.resolve(i) + } + return this.currentState >= e + ? Promise.resolve(void 0) + : n.isCancellationRequested + ? Promise.reject(Py) + : new Promise((a, s) => { + const o = this.onBuildPhase(e, () => { + if ((o.dispose(), l.dispose(), i)) { + const u = this.langiumDocuments.getDocument(i) + a(u == null ? void 0 : u.uri) + } else a(void 0) + }), + l = n.onCancellationRequested(() => { + o.dispose(), l.dispose(), s(Py) + }) + }) + } + async notifyDocumentPhase(e, r, n) { + const a = this.documentPhaseListeners.get(r).slice() + for (const s of a) + try { + await s(e, n) + } catch (o) { + if (!yx(o)) throw o + } + } + async notifyBuildPhase(e, r, n) { + if (e.length === 0) return + const a = this.buildPhaseListeners.get(r).slice() + for (const s of a) await ka(n), await s(e, n) + } + shouldValidate(e) { + return !!this.getBuildOptions(e).validation + } + async validate(e, r) { + var n, i + const a = this.serviceRegistry.getServices(e.uri).validation.DocumentValidator, + s = this.getBuildOptions(e).validation, + o = typeof s == "object" ? s : void 0, + l = await a.validateDocument(e, o, r) + e.diagnostics ? e.diagnostics.push(...l) : (e.diagnostics = l) + const u = this.buildState.get(e.uri.toString()) + if (u) { + ;((n = u.result) !== null && n !== void 0) || (u.result = {}) + const h = (i = o == null ? void 0 : o.categories) !== null && i !== void 0 ? i : Fy.all + u.result.validationChecks ? u.result.validationChecks.push(...h) : (u.result.validationChecks = [...h]) + } + } + getBuildOptions(e) { + var r, n + return (n = (r = this.buildState.get(e.uri.toString())) === null || r === void 0 ? void 0 : r.options) !== + null && n !== void 0 + ? n + : {} + } +} +class Fxe { + constructor(e) { + ;(this.symbolIndex = new Map()), + (this.symbolByTypeIndex = new Txe()), + (this.referenceIndex = new Map()), + (this.documents = e.workspace.LangiumDocuments), + (this.serviceRegistry = e.ServiceRegistry), + (this.astReflection = e.AstReflection) + } + findAllReferences(e, r) { + const n = Ol(e).uri, + i = [] + return ( + this.referenceIndex.forEach((a) => { + a.forEach((s) => { + $l.equals(s.targetUri, n) && s.targetPath === r && i.push(s) + }) + }), + li(i) + ) + } + allElements(e, r) { + let n = li(this.symbolIndex.keys()) + return r && (n = n.filter((i) => !r || r.has(i))), n.map((i) => this.getFileDescriptions(i, e)).flat() + } + getFileDescriptions(e, r) { + var n + return r + ? this.symbolByTypeIndex.get(e, r, () => { + var a + return ((a = this.symbolIndex.get(e)) !== null && a !== void 0 ? a : []).filter((o) => + this.astReflection.isSubtype(o.type, r), + ) + }) + : (n = this.symbolIndex.get(e)) !== null && n !== void 0 + ? n + : [] + } + remove(e) { + const r = e.toString() + this.symbolIndex.delete(r), this.symbolByTypeIndex.clear(r), this.referenceIndex.delete(r) + } + async updateContent(e, r = rn.CancellationToken.None) { + const i = await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e, r), + a = e.uri.toString() + this.symbolIndex.set(a, i), this.symbolByTypeIndex.clear(a) + } + async updateReferences(e, r = rn.CancellationToken.None) { + const i = await this.serviceRegistry + .getServices(e.uri) + .workspace.ReferenceDescriptionProvider.createDescriptions(e, r) + this.referenceIndex.set(e.uri.toString(), i) + } + isAffected(e, r) { + const n = this.referenceIndex.get(e.uri.toString()) + return n ? n.some((i) => !i.local && r.has(i.targetUri.toString())) : !1 + } +} +class $xe { + constructor(e) { + ;(this.initialBuildOptions = {}), + (this._ready = new _k()), + (this.serviceRegistry = e.ServiceRegistry), + (this.langiumDocuments = e.workspace.LangiumDocuments), + (this.documentBuilder = e.workspace.DocumentBuilder), + (this.fileSystemProvider = e.workspace.FileSystemProvider), + (this.mutex = e.workspace.WorkspaceLock) + } + get ready() { + return this._ready.promise + } + get workspaceFolders() { + return this.folders + } + initialize(e) { + var r + this.folders = (r = e.workspaceFolders) !== null && r !== void 0 ? r : void 0 + } + initialized(e) { + return this.mutex.write((r) => { + var n + return this.initializeWorkspace((n = this.folders) !== null && n !== void 0 ? n : [], r) + }) + } + async initializeWorkspace(e, r = rn.CancellationToken.None) { + const n = await this.performStartup(e) + await ka(r), await this.documentBuilder.build(n, this.initialBuildOptions, r) + } + async performStartup(e) { + const r = this.serviceRegistry.all.flatMap((a) => a.LanguageMetaData.fileExtensions), + n = [], + i = (a) => { + n.push(a), this.langiumDocuments.hasDocument(a.uri) || this.langiumDocuments.addDocument(a) + } + return ( + await this.loadAdditionalDocuments(e, i), + await Promise.all( + e.map((a) => [a, this.getRootFolder(a)]).map(async (a) => this.traverseFolder(...a, r, i)), + ), + this._ready.resolve(), + n + ) + } + loadAdditionalDocuments(e, r) { + return Promise.resolve() + } + getRootFolder(e) { + return au.parse(e.uri) + } + async traverseFolder(e, r, n, i) { + const a = await this.fileSystemProvider.readDirectory(r) + await Promise.all( + a.map(async (s) => { + if (this.includeEntry(e, s, n)) { + if (s.isDirectory) await this.traverseFolder(e, s.uri, n, i) + else if (s.isFile) { + const o = await this.langiumDocuments.getOrCreateDocument(s.uri) + i(o) + } + } + }), + ) + } + includeEntry(e, r, n) { + const i = $l.basename(r.uri) + if (i.startsWith(".")) return !1 + if (r.isDirectory) return i !== "node_modules" && i !== "out" + if (r.isFile) { + const a = $l.extname(r.uri) + return n.includes(a) + } + return !1 + } +} +class zxe { + buildUnexpectedCharactersMessage(e, r, n, i, a) { + return Dw.buildUnexpectedCharactersMessage(e, r, n, i, a) + } + buildUnableToPopLexerModeMessage(e) { + return Dw.buildUnableToPopLexerModeMessage(e) + } +} +const Vxe = { mode: "full" } +class Gxe { + constructor(e) { + ;(this.errorMessageProvider = e.parser.LexerErrorMessageProvider), (this.tokenBuilder = e.parser.TokenBuilder) + const r = this.tokenBuilder.buildTokens(e.Grammar, { caseInsensitive: e.LanguageMetaData.caseInsensitive }) + this.tokenTypes = this.toTokenTypeDictionary(r) + const n = U_(r) ? Object.values(r) : r, + i = e.LanguageMetaData.mode === "production" + this.chevrotainLexer = new ia(n, { + positionTracking: "full", + skipValidations: i, + errorMessageProvider: this.errorMessageProvider, + }) + } + get definition() { + return this.tokenTypes + } + tokenize(e, r = Vxe) { + var n, i, a + const s = this.chevrotainLexer.tokenize(e) + return { + tokens: s.tokens, + errors: s.errors, + hidden: (n = s.groups.hidden) !== null && n !== void 0 ? n : [], + report: (a = (i = this.tokenBuilder).flushLexingReport) === null || a === void 0 ? void 0 : a.call(i, e), + } + } + toTokenTypeDictionary(e) { + if (U_(e)) return e + const r = hG(e) ? Object.values(e.modes).flat() : e, + n = {} + return r.forEach((i) => (n[i.name] = i)), n + } +} +function Uxe(t) { + return Array.isArray(t) && (t.length === 0 || "name" in t[0]) +} +function hG(t) { + return t && "modes" in t && "defaultMode" in t +} +function U_(t) { + return !Uxe(t) && !hG(t) +} +function qxe(t, e, r) { + let n, i + typeof t == "string" ? ((i = e), (n = r)) : ((i = t.range.start), (n = e)), i || (i = wr.create(0, 0)) + const a = dG(t), + s = Lk(n), + o = Yxe({ lines: a, position: i, options: s }) + return Qxe({ index: 0, tokens: o, position: i }) +} +function Wxe(t, e) { + const r = Lk(e), + n = dG(t) + if (n.length === 0) return !1 + const i = n[0], + a = n[n.length - 1], + s = r.start, + o = r.end + return !!(s != null && s.exec(i)) && !!(o != null && o.exec(a)) +} +function dG(t) { + let e = "" + return typeof t == "string" ? (e = t) : (e = t.text), e.split(Lme) +} +const q_ = /\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy, + Hxe = /\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu +function Yxe(t) { + var e, r, n + const i = [] + let a = t.position.line, + s = t.position.character + for (let o = 0; o < t.lines.length; o++) { + const l = o === 0, + u = o === t.lines.length - 1 + let h = t.lines[o], + d = 0 + if (l && t.options.start) { + const p = (e = t.options.start) === null || e === void 0 ? void 0 : e.exec(h) + p && (d = p.index + p[0].length) + } else { + const p = (r = t.options.line) === null || r === void 0 ? void 0 : r.exec(h) + p && (d = p.index + p[0].length) + } + if (u) { + const p = (n = t.options.end) === null || n === void 0 ? void 0 : n.exec(h) + p && (h = h.substring(0, p.index)) + } + if (((h = h.substring(0, Zxe(h))), i6(h, d) >= h.length)) { + if (i.length > 0) { + const p = wr.create(a, s) + i.push({ type: "break", content: "", range: fr.create(p, p) }) + } + } else { + q_.lastIndex = d + const p = q_.exec(h) + if (p) { + const g = p[0], + m = p[1], + v = wr.create(a, s + d), + y = wr.create(a, s + d + g.length) + i.push({ type: "tag", content: m, range: fr.create(v, y) }), (d += g.length), (d = i6(h, d)) + } + if (d < h.length) { + const g = h.substring(d), + m = Array.from(g.matchAll(Hxe)) + i.push(...Xxe(m, g, a, s + d)) + } + } + a++, (s = 0) + } + return i.length > 0 && i[i.length - 1].type === "break" ? i.slice(0, -1) : i +} +function Xxe(t, e, r, n) { + const i = [] + if (t.length === 0) { + const a = wr.create(r, n), + s = wr.create(r, n + e.length) + i.push({ type: "text", content: e, range: fr.create(a, s) }) + } else { + let a = 0 + for (const o of t) { + const l = o.index, + u = e.substring(a, l) + u.length > 0 && + i.push({ + type: "text", + content: e.substring(a, l), + range: fr.create(wr.create(r, a + n), wr.create(r, l + n)), + }) + let h = u.length + 1 + const d = o[1] + if ( + (i.push({ + type: "inline-tag", + content: d, + range: fr.create(wr.create(r, a + h + n), wr.create(r, a + h + d.length + n)), + }), + (h += d.length), + o.length === 4) + ) { + h += o[2].length + const f = o[3] + i.push({ + type: "text", + content: f, + range: fr.create(wr.create(r, a + h + n), wr.create(r, a + h + f.length + n)), + }) + } else + i.push({ + type: "text", + content: "", + range: fr.create(wr.create(r, a + h + n), wr.create(r, a + h + n)), + }) + a = l + o[0].length + } + const s = e.substring(a) + s.length > 0 && + i.push({ type: "text", content: s, range: fr.create(wr.create(r, a + n), wr.create(r, a + n + s.length)) }) + } + return i +} +const jxe = /\S/, + Kxe = /\s*$/ +function i6(t, e) { + const r = t.substring(e).match(jxe) + return r ? e + r.index : t.length +} +function Zxe(t) { + const e = t.match(Kxe) + if (e && typeof e.index == "number") return e.index +} +function Qxe(t) { + var e, r, n, i + const a = wr.create(t.position.line, t.position.character) + if (t.tokens.length === 0) return new W_([], fr.create(a, a)) + const s = [] + for (; t.index < t.tokens.length; ) { + const u = Jxe(t, s[s.length - 1]) + u && s.push(u) + } + const o = (r = (e = s[0]) === null || e === void 0 ? void 0 : e.range.start) !== null && r !== void 0 ? r : a, + l = (i = (n = s[s.length - 1]) === null || n === void 0 ? void 0 : n.range.end) !== null && i !== void 0 ? i : a + return new W_(s, fr.create(o, l)) +} +function Jxe(t, e) { + const r = t.tokens[t.index] + if (r.type === "tag") return pG(t, !1) + if (r.type === "text" || r.type === "inline-tag") return fG(t) + ebe(r, e), t.index++ +} +function ebe(t, e) { + if (e) { + const r = new mG("", t.range) + "inlines" in e ? e.inlines.push(r) : e.content.inlines.push(r) + } +} +function fG(t) { + let e = t.tokens[t.index] + const r = e + let n = e + const i = [] + for (; e && e.type !== "break" && e.type !== "tag"; ) i.push(tbe(t)), (n = e), (e = t.tokens[t.index]) + return new a6(i, fr.create(r.range.start, n.range.end)) +} +function tbe(t) { + return t.tokens[t.index].type === "inline-tag" ? pG(t, !0) : gG(t) +} +function pG(t, e) { + const r = t.tokens[t.index++], + n = r.content.substring(1), + i = t.tokens[t.index] + if ((i == null ? void 0 : i.type) === "text") + if (e) { + const a = gG(t) + return new g4(n, new a6([a], a.range), e, fr.create(r.range.start, a.range.end)) + } else { + const a = fG(t) + return new g4(n, a, e, fr.create(r.range.start, a.range.end)) + } + else { + const a = r.range + return new g4(n, new a6([], a), e, a) + } +} +function gG(t) { + const e = t.tokens[t.index++] + return new mG(e.content, e.range) +} +function Lk(t) { + if (!t) return Lk({ start: "/**", end: "*/", line: "*" }) + const { start: e, end: r, line: n } = t + return { start: p4(e, !0), end: p4(r, !1), line: p4(n, !0) } +} +function p4(t, e) { + if (typeof t == "string" || typeof t == "object") { + const r = typeof t == "string" ? ux(t) : t.source + return e ? new RegExp(`^\\s*${r}`) : new RegExp(`\\s*${r}\\s*$`) + } else return t +} +class W_ { + constructor(e, r) { + ;(this.elements = e), (this.range = r) + } + getTag(e) { + return this.getAllTags().find((r) => r.name === e) + } + getTags(e) { + return this.getAllTags().filter((r) => r.name === e) + } + getAllTags() { + return this.elements.filter((e) => "name" in e) + } + toString() { + let e = "" + for (const r of this.elements) + if (e.length === 0) e = r.toString() + else { + const n = r.toString() + e += H_(e) + n + } + return e.trim() + } + toMarkdown(e) { + let r = "" + for (const n of this.elements) + if (r.length === 0) r = n.toMarkdown(e) + else { + const i = n.toMarkdown(e) + r += H_(r) + i + } + return r.trim() + } +} +class g4 { + constructor(e, r, n, i) { + ;(this.name = e), (this.content = r), (this.inline = n), (this.range = i) + } + toString() { + let e = `@${this.name}` + const r = this.content.toString() + return ( + this.content.inlines.length === 1 + ? (e = `${e} ${r}`) + : this.content.inlines.length > 1 && + (e = `${e} +${r}`), + this.inline ? `{${e}}` : e + ) + } + toMarkdown(e) { + var r, n + return (n = (r = e == null ? void 0 : e.renderTag) === null || r === void 0 ? void 0 : r.call(e, this)) !== + null && n !== void 0 + ? n + : this.toMarkdownDefault(e) + } + toMarkdownDefault(e) { + const r = this.content.toMarkdown(e) + if (this.inline) { + const a = rbe(this.name, r, e ?? {}) + if (typeof a == "string") return a + } + let n = "" + ;(e == null ? void 0 : e.tag) === "italic" || (e == null ? void 0 : e.tag) === void 0 + ? (n = "*") + : (e == null ? void 0 : e.tag) === "bold" + ? (n = "**") + : (e == null ? void 0 : e.tag) === "bold-italic" && (n = "***") + let i = `${n}@${this.name}${n}` + return ( + this.content.inlines.length === 1 + ? (i = `${i} — ${r}`) + : this.content.inlines.length > 1 && + (i = `${i} +${r}`), + this.inline ? `{${i}}` : i + ) + } +} +function rbe(t, e, r) { + var n, i + if (t === "linkplain" || t === "linkcode" || t === "link") { + const a = e.indexOf(" ") + let s = e + if (a > 0) { + const l = i6(e, a) + ;(s = e.substring(l)), (e = e.substring(0, a)) + } + return ( + (t === "linkcode" || (t === "link" && r.link === "code")) && (s = `\`${s}\``), + (i = (n = r.renderLink) === null || n === void 0 ? void 0 : n.call(r, e, s)) !== null && i !== void 0 + ? i + : nbe(e, s) + ) + } +} +function nbe(t, e) { + try { + return au.parse(t, !0), `[${e}](${t})` + } catch { + return t + } +} +class a6 { + constructor(e, r) { + ;(this.inlines = e), (this.range = r) + } + toString() { + let e = "" + for (let r = 0; r < this.inlines.length; r++) { + const n = this.inlines[r], + i = this.inlines[r + 1] + ;(e += n.toString()), + i && + i.range.start.line > n.range.start.line && + (e += ` +`) + } + return e + } + toMarkdown(e) { + let r = "" + for (let n = 0; n < this.inlines.length; n++) { + const i = this.inlines[n], + a = this.inlines[n + 1] + ;(r += i.toMarkdown(e)), + a && + a.range.start.line > i.range.start.line && + (r += ` +`) + } + return r + } +} +class mG { + constructor(e, r) { + ;(this.text = e), (this.range = r) + } + toString() { + return this.text + } + toMarkdown() { + return this.text + } +} +function H_(t) { + return t.endsWith(` +`) + ? ` +` + : ` + +` +} +class ibe { + constructor(e) { + ;(this.indexManager = e.shared.workspace.IndexManager), (this.commentProvider = e.documentation.CommentProvider) + } + getDocumentation(e) { + const r = this.commentProvider.getComment(e) + if (r && Wxe(r)) + return qxe(r).toMarkdown({ + renderLink: (i, a) => this.documentationLinkRenderer(e, i, a), + renderTag: (i) => this.documentationTagRenderer(e, i), + }) + } + documentationLinkRenderer(e, r, n) { + var i + const a = + (i = this.findNameInPrecomputedScopes(e, r)) !== null && i !== void 0 ? i : this.findNameInGlobalScope(e, r) + if (a && a.nameSegment) { + const s = a.nameSegment.range.start.line + 1, + o = a.nameSegment.range.start.character + 1, + l = a.documentUri.with({ fragment: `L${s},${o}` }) + return `[${n}](${l.toString()})` + } else return + } + documentationTagRenderer(e, r) {} + findNameInPrecomputedScopes(e, r) { + const i = Ol(e).precomputedScopes + if (!i) return + let a = e + do { + const o = i.get(a).find((l) => l.name === r) + if (o) return o + a = a.$container + } while (a) + } + findNameInGlobalScope(e, r) { + return this.indexManager.allElements().find((i) => i.name === r) + } +} +class abe { + constructor(e) { + this.grammarConfig = () => e.parser.GrammarConfig + } + getComment(e) { + var r + return Sxe(e) + ? e.$comment + : (r = ame(e.$cstNode, this.grammarConfig().multilineCommentRules)) === null || r === void 0 + ? void 0 + : r.text + } +} +class sbe { + constructor(e) { + this.syncParser = e.parser.LangiumParser + } + parse(e, r) { + return Promise.resolve(this.syncParser.parse(e)) + } +} +class obe { + constructor() { + ;(this.previousTokenSource = new rn.CancellationTokenSource()), + (this.writeQueue = []), + (this.readQueue = []), + (this.done = !0) + } + write(e) { + this.cancelWrite() + const r = hxe() + return (this.previousTokenSource = r), this.enqueue(this.writeQueue, e, r.token) + } + read(e) { + return this.enqueue(this.readQueue, e) + } + enqueue(e, r, n = rn.CancellationToken.None) { + const i = new _k(), + a = { action: r, deferred: i, cancellationToken: n } + return e.push(a), this.performNextOperation(), i.promise + } + async performNextOperation() { + if (!this.done) return + const e = [] + if (this.writeQueue.length > 0) e.push(this.writeQueue.shift()) + else if (this.readQueue.length > 0) e.push(...this.readQueue.splice(0, this.readQueue.length)) + else return + ;(this.done = !1), + await Promise.all( + e.map(async ({ action: r, deferred: n, cancellationToken: i }) => { + try { + const a = await Promise.resolve().then(() => r(i)) + n.resolve(a) + } catch (a) { + yx(a) ? n.resolve(void 0) : n.reject(a) + } + }), + ), + (this.done = !0), + this.performNextOperation() + } + cancelWrite() { + this.previousTokenSource.cancel() + } +} +class lbe { + constructor(e) { + ;(this.grammarElementIdMap = new z_()), + (this.tokenTypeIdMap = new z_()), + (this.grammar = e.Grammar), + (this.lexer = e.parser.Lexer), + (this.linker = e.references.Linker) + } + dehydrate(e) { + return { + lexerErrors: e.lexerErrors, + lexerReport: e.lexerReport ? this.dehydrateLexerReport(e.lexerReport) : void 0, + parserErrors: e.parserErrors.map((r) => Object.assign(Object.assign({}, r), { message: r.message })), + value: this.dehydrateAstNode(e.value, this.createDehyrationContext(e.value)), + } + } + dehydrateLexerReport(e) { + return e + } + createDehyrationContext(e) { + const r = new Map(), + n = new Map() + for (const i of xh(e)) r.set(i, {}) + if (e.$cstNode) for (const i of Sw(e.$cstNode)) n.set(i, {}) + return { astNodes: r, cstNodes: n } + } + dehydrateAstNode(e, r) { + const n = r.astNodes.get(e) + ;(n.$type = e.$type), + (n.$containerIndex = e.$containerIndex), + (n.$containerProperty = e.$containerProperty), + e.$cstNode !== void 0 && (n.$cstNode = this.dehydrateCstNode(e.$cstNode, r)) + for (const [i, a] of Object.entries(e)) + if (!i.startsWith("$")) + if (Array.isArray(a)) { + const s = [] + n[i] = s + for (const o of a) + Ei(o) + ? s.push(this.dehydrateAstNode(o, r)) + : Ws(o) + ? s.push(this.dehydrateReference(o, r)) + : s.push(o) + } else + Ei(a) + ? (n[i] = this.dehydrateAstNode(a, r)) + : Ws(a) + ? (n[i] = this.dehydrateReference(a, r)) + : a !== void 0 && (n[i] = a) + return n + } + dehydrateReference(e, r) { + const n = {} + return (n.$refText = e.$refText), e.$refNode && (n.$refNode = r.cstNodes.get(e.$refNode)), n + } + dehydrateCstNode(e, r) { + const n = r.cstNodes.get(e) + return ( + zz(e) ? (n.fullText = e.fullText) : (n.grammarSource = this.getGrammarElementId(e.grammarSource)), + (n.hidden = e.hidden), + (n.astNode = r.astNodes.get(e.astNode)), + Fp(e) + ? (n.content = e.content.map((i) => this.dehydrateCstNode(i, r))) + : $z(e) && + ((n.tokenType = e.tokenType.name), + (n.offset = e.offset), + (n.length = e.length), + (n.startLine = e.range.start.line), + (n.startColumn = e.range.start.character), + (n.endLine = e.range.end.line), + (n.endColumn = e.range.end.character)), + n + ) + } + hydrate(e) { + const r = e.value, + n = this.createHydrationContext(r) + return ( + "$cstNode" in r && this.hydrateCstNode(r.$cstNode, n), + { + lexerErrors: e.lexerErrors, + lexerReport: e.lexerReport, + parserErrors: e.parserErrors, + value: this.hydrateAstNode(r, n), + } + ) + } + createHydrationContext(e) { + const r = new Map(), + n = new Map() + for (const a of xh(e)) r.set(a, {}) + let i + if (e.$cstNode) + for (const a of Sw(e.$cstNode)) { + let s + "fullText" in a + ? ((s = new jV(a.fullText)), (i = s)) + : "content" in a + ? (s = new Ck()) + : "tokenType" in a && (s = this.hydrateCstLeafNode(a)), + s && (n.set(a, s), (s.root = i)) + } + return { astNodes: r, cstNodes: n } + } + hydrateAstNode(e, r) { + const n = r.astNodes.get(e) + ;(n.$type = e.$type), + (n.$containerIndex = e.$containerIndex), + (n.$containerProperty = e.$containerProperty), + e.$cstNode && (n.$cstNode = r.cstNodes.get(e.$cstNode)) + for (const [i, a] of Object.entries(e)) + if (!i.startsWith("$")) + if (Array.isArray(a)) { + const s = [] + n[i] = s + for (const o of a) + Ei(o) + ? s.push(this.setParent(this.hydrateAstNode(o, r), n)) + : Ws(o) + ? s.push(this.hydrateReference(o, n, i, r)) + : s.push(o) + } else + Ei(a) + ? (n[i] = this.setParent(this.hydrateAstNode(a, r), n)) + : Ws(a) + ? (n[i] = this.hydrateReference(a, n, i, r)) + : a !== void 0 && (n[i] = a) + return n + } + setParent(e, r) { + return (e.$container = r), e + } + hydrateReference(e, r, n, i) { + return this.linker.buildReference(r, n, i.cstNodes.get(e.$refNode), e.$refText) + } + hydrateCstNode(e, r, n = 0) { + const i = r.cstNodes.get(e) + if ( + (typeof e.grammarSource == "number" && (i.grammarSource = this.getGrammarElement(e.grammarSource)), + (i.astNode = r.astNodes.get(e.astNode)), + Fp(i)) + ) + for (const a of e.content) { + const s = this.hydrateCstNode(a, r, n++) + i.content.push(s) + } + return i + } + hydrateCstLeafNode(e) { + const r = this.getTokenType(e.tokenType), + n = e.offset, + i = e.length, + a = e.startLine, + s = e.startColumn, + o = e.endLine, + l = e.endColumn, + u = e.hidden + return new Jw(n, i, { start: { line: a, character: s }, end: { line: o, character: l } }, r, u) + } + getTokenType(e) { + return this.lexer.definition[e] + } + getGrammarElementId(e) { + if (e) + return ( + this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(), this.grammarElementIdMap.get(e) + ) + } + getGrammarElement(e) { + return ( + this.grammarElementIdMap.size === 0 && this.createGrammarElementIdMap(), this.grammarElementIdMap.getKey(e) + ) + } + createGrammarElementIdMap() { + let e = 0 + for (const r of xh(this.grammar)) ome(r) && this.grammarElementIdMap.set(r, e++) + } +} +function Cu(t) { + return { + documentation: { CommentProvider: (e) => new abe(e), DocumentationProvider: (e) => new ibe(e) }, + parser: { + AsyncParser: (e) => new sbe(e), + GrammarConfig: (e) => Qme(e), + LangiumParser: (e) => axe(e), + CompletionParser: (e) => ixe(e), + ValueConverter: () => new iG(), + TokenBuilder: () => new nG(), + Lexer: (e) => new Gxe(e), + ParserErrorMessageProvider: () => new QV(), + LexerErrorMessageProvider: () => new zxe(), + }, + workspace: { + AstNodeLocator: () => new Mxe(), + AstNodeDescriptionProvider: (e) => new Dxe(e), + ReferenceDescriptionProvider: (e) => new Ixe(e), + }, + references: { + Linker: (e) => new gxe(e), + NameProvider: () => new vxe(), + ScopeProvider: (e) => new kxe(e), + ScopeComputation: (e) => new xxe(e), + References: (e) => new yxe(e), + }, + serializer: { Hydrator: (e) => new lbe(e), JsonSerializer: (e) => new Cxe(e) }, + validation: { DocumentValidator: (e) => new Lxe(e), ValidationRegistry: (e) => new _xe(e) }, + shared: () => t.shared, + } +} +function Au(t) { + return { + ServiceRegistry: (e) => new Axe(e), + workspace: { + LangiumDocuments: (e) => new pxe(e), + LangiumDocumentFactory: (e) => new fxe(e), + DocumentBuilder: (e) => new Bxe(e), + IndexManager: (e) => new Fxe(e), + WorkspaceManager: (e) => new $xe(e), + FileSystemProvider: (e) => t.fileSystemProvider(e), + WorkspaceLock: () => new obe(), + ConfigurationProvider: (e) => new Pxe(e), + }, + } +} +var Y_ +;(function (t) { + t.merge = (e, r) => $y($y({}, e), r) +})(Y_ || (Y_ = {})) +function ca(t, e, r, n, i, a, s, o, l) { + const u = [t, e, r, n, i, a, s, o, l].reduce($y, {}) + return vG(u) +} +const cbe = Symbol("isProxy") +function vG(t, e) { + const r = new Proxy( + {}, + { + deleteProperty: () => !1, + set: () => { + throw new Error("Cannot set property on injected service container") + }, + get: (n, i) => (i === cbe ? !0 : j_(n, i, t, e || r)), + getOwnPropertyDescriptor: (n, i) => (j_(n, i, t, e || r), Object.getOwnPropertyDescriptor(n, i)), + has: (n, i) => i in t, + ownKeys: () => [...Object.getOwnPropertyNames(t)], + }, + ) + return r +} +const X_ = Symbol() +function j_(t, e, r, n) { + if (e in t) { + if (t[e] instanceof Error) + throw new Error("Construction failure. Please make sure that your dependencies are constructable.", { + cause: t[e], + }) + if (t[e] === X_) + throw new Error( + 'Cycle detected. Please make "' + + String(e) + + '" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies', + ) + return t[e] + } else if (e in r) { + const i = r[e] + t[e] = X_ + try { + t[e] = typeof i == "function" ? i(n) : vG(i, n) + } catch (a) { + throw ((t[e] = a instanceof Error ? a : void 0), a) + } + return t[e] + } else return +} +function $y(t, e) { + if (e) { + for (const [r, n] of Object.entries(e)) + if (n !== void 0) { + const i = t[r] + i !== null && n !== null && typeof i == "object" && typeof n == "object" + ? (t[r] = $y(i, n)) + : (t[r] = n) + } + } + return t +} +class ube { + readFile() { + throw new Error("No file system is available.") + } + async readDirectory() { + return [] + } +} +const _u = { fileSystemProvider: () => new ube() }, + hbe = { + Grammar: () => {}, + LanguageMetaData: () => ({ caseInsensitive: !1, fileExtensions: [".langium"], languageId: "langium" }), + }, + dbe = { AstReflection: () => new Yz() } +function fbe() { + const t = ca(Au(_u), dbe), + e = ca(Cu({ shared: t }), hbe) + return t.ServiceRegistry.register(e), e +} +function mf(t) { + var e + const r = fbe(), + n = r.serializer.JsonSerializer.deserialize(t) + return ( + r.shared.workspace.LangiumDocumentFactory.fromModel( + n, + au.parse(`memory://${(e = n.name) !== null && e !== void 0 ? e : "grammar"}.langium`), + ), + n + ) +} +var pbe = Object.defineProperty, + Et = (t, e) => pbe(t, "name", { value: e, configurable: !0 }), + K_ = "Statement", + Pm = "Architecture" +function gbe(t) { + return _s.isInstance(t, Pm) +} +Et(gbe, "isArchitecture") +var $1 = "Axis", + F0 = "Branch" +function mbe(t) { + return _s.isInstance(t, F0) +} +Et(mbe, "isBranch") +var z1 = "Checkout", + V1 = "CherryPicking", + $0 = "Commit" +function vbe(t) { + return _s.isInstance(t, $0) +} +Et(vbe, "isCommit") +var Bm = "Common" +function ybe(t) { + return _s.isInstance(t, Bm) +} +Et(ybe, "isCommon") +var m4 = "Curve", + v4 = "Edge", + y4 = "Entry", + z0 = "GitGraph" +function xbe(t) { + return _s.isInstance(t, z0) +} +Et(xbe, "isGitGraph") +var x4 = "Group", + Fm = "Info" +function bbe(t) { + return _s.isInstance(t, Fm) +} +Et(bbe, "isInfo") +var b4 = "Junction", + V0 = "Merge" +function wbe(t) { + return _s.isInstance(t, V0) +} +Et(wbe, "isMerge") +var w4 = "Option", + $m = "Packet" +function Tbe(t) { + return _s.isInstance(t, $m) +} +Et(Tbe, "isPacket") +var zm = "PacketBlock" +function Ebe(t) { + return _s.isInstance(t, zm) +} +Et(Ebe, "isPacketBlock") +var Vm = "Pie" +function kbe(t) { + return _s.isInstance(t, Vm) +} +Et(kbe, "isPie") +var Gm = "PieSection" +function Sbe(t) { + return _s.isInstance(t, Gm) +} +Et(Sbe, "isPieSection") +var T4 = "Radar", + E4 = "Service", + G1 = "Direction", + zh, + yG = + ((zh = class extends Fz { + getAllTypes() { + return [Pm, $1, F0, z1, V1, $0, Bm, m4, G1, v4, y4, z0, x4, Fm, b4, V0, w4, $m, zm, Vm, Gm, T4, E4, K_] + } + computeIsSubtype(e, r) { + switch (e) { + case F0: + case z1: + case V1: + case $0: + case V0: + return this.isSubtype(K_, r) + case G1: + return this.isSubtype(z0, r) + default: + return !1 + } + } + getReferenceType(e) { + const r = `${e.container.$type}:${e.property}` + switch (r) { + case "Entry:axis": + return $1 + default: + throw new Error(`${r} is not a valid reference id.`) + } + } + getTypeMetaData(e) { + switch (e) { + case Pm: + return { + name: Pm, + properties: [ + { name: "accDescr" }, + { name: "accTitle" }, + { name: "edges", defaultValue: [] }, + { name: "groups", defaultValue: [] }, + { name: "junctions", defaultValue: [] }, + { name: "services", defaultValue: [] }, + { name: "title" }, + ], + } + case $1: + return { name: $1, properties: [{ name: "label" }, { name: "name" }] } + case F0: + return { name: F0, properties: [{ name: "name" }, { name: "order" }] } + case z1: + return { name: z1, properties: [{ name: "branch" }] } + case V1: + return { + name: V1, + properties: [{ name: "id" }, { name: "parent" }, { name: "tags", defaultValue: [] }], + } + case $0: + return { + name: $0, + properties: [ + { name: "id" }, + { name: "message" }, + { name: "tags", defaultValue: [] }, + { name: "type" }, + ], + } + case Bm: + return { name: Bm, properties: [{ name: "accDescr" }, { name: "accTitle" }, { name: "title" }] } + case m4: + return { + name: m4, + properties: [{ name: "entries", defaultValue: [] }, { name: "label" }, { name: "name" }], + } + case v4: + return { + name: v4, + properties: [ + { name: "lhsDir" }, + { name: "lhsGroup", defaultValue: !1 }, + { name: "lhsId" }, + { name: "lhsInto", defaultValue: !1 }, + { name: "rhsDir" }, + { name: "rhsGroup", defaultValue: !1 }, + { name: "rhsId" }, + { name: "rhsInto", defaultValue: !1 }, + { name: "title" }, + ], + } + case y4: + return { name: y4, properties: [{ name: "axis" }, { name: "value" }] } + case z0: + return { + name: z0, + properties: [ + { name: "accDescr" }, + { name: "accTitle" }, + { name: "statements", defaultValue: [] }, + { name: "title" }, + ], + } + case x4: + return { + name: x4, + properties: [{ name: "icon" }, { name: "id" }, { name: "in" }, { name: "title" }], + } + case Fm: + return { name: Fm, properties: [{ name: "accDescr" }, { name: "accTitle" }, { name: "title" }] } + case b4: + return { name: b4, properties: [{ name: "id" }, { name: "in" }] } + case V0: + return { + name: V0, + properties: [ + { name: "branch" }, + { name: "id" }, + { name: "tags", defaultValue: [] }, + { name: "type" }, + ], + } + case w4: + return { name: w4, properties: [{ name: "name" }, { name: "value", defaultValue: !1 }] } + case $m: + return { + name: $m, + properties: [ + { name: "accDescr" }, + { name: "accTitle" }, + { name: "blocks", defaultValue: [] }, + { name: "title" }, + ], + } + case zm: + return { name: zm, properties: [{ name: "end" }, { name: "label" }, { name: "start" }] } + case Vm: + return { + name: Vm, + properties: [ + { name: "accDescr" }, + { name: "accTitle" }, + { name: "sections", defaultValue: [] }, + { name: "showData", defaultValue: !1 }, + { name: "title" }, + ], + } + case Gm: + return { name: Gm, properties: [{ name: "label" }, { name: "value" }] } + case T4: + return { + name: T4, + properties: [ + { name: "accDescr" }, + { name: "accTitle" }, + { name: "axes", defaultValue: [] }, + { name: "curves", defaultValue: [] }, + { name: "options", defaultValue: [] }, + { name: "title" }, + ], + } + case E4: + return { + name: E4, + properties: [ + { name: "icon" }, + { name: "iconText" }, + { name: "id" }, + { name: "in" }, + { name: "title" }, + ], + } + case G1: + return { + name: G1, + properties: [ + { name: "accDescr" }, + { name: "accTitle" }, + { name: "dir" }, + { name: "statements", defaultValue: [] }, + { name: "title" }, + ], + } + default: + return { name: e, properties: [] } + } + } + }), + Et(zh, "MermaidAstReflection"), + zh), + _s = new yG(), + Z_, + Cbe = Et( + () => + Z_ ?? + (Z_ = mf( + '{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}', + )), + "InfoGrammar", + ), + Q_, + Abe = Et( + () => + Q_ ?? + (Q_ = mf( + `{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}`, + )), + "PacketGrammar", + ), + J_, + _be = Et( + () => + J_ ?? + (J_ = mf( + '{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}', + )), + "PieGrammar", + ), + e9, + Lbe = Et( + () => + e9 ?? + (e9 = mf( + '{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}', + )), + "ArchitectureGrammar", + ), + t9, + Rbe = Et( + () => + t9 ?? + (t9 = mf( + `{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`, + )), + "GitGraphGrammar", + ), + r9, + Nbe = Et( + () => + r9 ?? + (r9 = mf( + `{"$type":"Grammar","isDeclared":true,"name":"Radar","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@12"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@12"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9\\\\-_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}`, + )), + "RadarGrammar", + ), + Dbe = { languageId: "info", fileExtensions: [".mmd", ".mermaid"], caseInsensitive: !1, mode: "production" }, + Ibe = { languageId: "packet", fileExtensions: [".mmd", ".mermaid"], caseInsensitive: !1, mode: "production" }, + Mbe = { languageId: "pie", fileExtensions: [".mmd", ".mermaid"], caseInsensitive: !1, mode: "production" }, + Obe = { languageId: "architecture", fileExtensions: [".mmd", ".mermaid"], caseInsensitive: !1, mode: "production" }, + Pbe = { languageId: "gitGraph", fileExtensions: [".mmd", ".mermaid"], caseInsensitive: !1, mode: "production" }, + Bbe = { languageId: "radar", fileExtensions: [".mmd", ".mermaid"], caseInsensitive: !1, mode: "production" }, + vf = { AstReflection: Et(() => new yG(), "AstReflection") }, + Fbe = { Grammar: Et(() => Cbe(), "Grammar"), LanguageMetaData: Et(() => Dbe, "LanguageMetaData"), parser: {} }, + $be = { Grammar: Et(() => Abe(), "Grammar"), LanguageMetaData: Et(() => Ibe, "LanguageMetaData"), parser: {} }, + zbe = { Grammar: Et(() => _be(), "Grammar"), LanguageMetaData: Et(() => Mbe, "LanguageMetaData"), parser: {} }, + Vbe = { Grammar: Et(() => Lbe(), "Grammar"), LanguageMetaData: Et(() => Obe, "LanguageMetaData"), parser: {} }, + Gbe = { Grammar: Et(() => Rbe(), "Grammar"), LanguageMetaData: Et(() => Pbe, "LanguageMetaData"), parser: {} }, + Ube = { Grammar: Et(() => Nbe(), "Grammar"), LanguageMetaData: Et(() => Bbe, "LanguageMetaData"), parser: {} }, + qbe = /accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/, + Wbe = /accTitle[\t ]*:([^\n\r]*)/, + Hbe = /title([\t ][^\n\r]*|)/, + Ybe = { ACC_DESCR: qbe, ACC_TITLE: Wbe, TITLE: Hbe }, + Vh, + Rk = + ((Vh = class extends iG { + runConverter(e, r, n) { + let i = this.runCommonConverter(e, r, n) + return ( + i === void 0 && (i = this.runCustomConverter(e, r, n)), + i === void 0 ? super.runConverter(e, r, n) : i + ) + } + runCommonConverter(e, r, n) { + const i = Ybe[e.name] + if (i === void 0) return + const a = i.exec(r) + if (a !== null) { + if (a[1] !== void 0) return a[1].trim().replace(/[\t ]{2,}/gm, " ") + if (a[2] !== void 0) + return a[2] + .replace(/^\s*/gm, "") + .replace(/\s+$/gm, "") + .replace(/[\t ]{2,}/gm, " ") + .replace( + /[\n\r]{2,}/gm, + ` +`, + ) + } + } + }), + Et(Vh, "AbstractMermaidValueConverter"), + Vh), + Gh, + xx = + ((Gh = class extends Rk { + runCustomConverter(e, r, n) {} + }), + Et(Gh, "CommonValueConverter"), + Gh), + Uh, + Lu = + ((Uh = class extends nG { + constructor(e) { + super(), (this.keywords = new Set(e)) + } + buildKeywordTokens(e, r, n) { + const i = super.buildKeywordTokens(e, r, n) + return ( + i.forEach((a) => { + this.keywords.has(a.name) && + a.PATTERN !== void 0 && + (a.PATTERN = new RegExp(a.PATTERN.toString() + "(?:(?=%%)|(?!\\S))")) + }), + i + ) + } + }), + Et(Uh, "AbstractMermaidTokenBuilder"), + Uh), + qh +;(qh = class extends Lu {}), Et(qh, "CommonTokenBuilder") +var Wh, + Xbe = + ((Wh = class extends Lu { + constructor() { + super(["gitGraph"]) + } + }), + Et(Wh, "GitGraphTokenBuilder"), + Wh), + jbe = { + parser: { + TokenBuilder: Et(() => new Xbe(), "TokenBuilder"), + ValueConverter: Et(() => new xx(), "ValueConverter"), + }, + } +function Kbe(t = _u) { + const e = ca(Au(t), vf), + r = ca(Cu({ shared: e }), Gbe, jbe) + return e.ServiceRegistry.register(r), { shared: e, GitGraph: r } +} +Et(Kbe, "createGitGraphServices") +var Hh, + Zbe = + ((Hh = class extends Lu { + constructor() { + super(["info", "showInfo"]) + } + }), + Et(Hh, "InfoTokenBuilder"), + Hh), + Qbe = { + parser: { + TokenBuilder: Et(() => new Zbe(), "TokenBuilder"), + ValueConverter: Et(() => new xx(), "ValueConverter"), + }, + } +function Jbe(t = _u) { + const e = ca(Au(t), vf), + r = ca(Cu({ shared: e }), Fbe, Qbe) + return e.ServiceRegistry.register(r), { shared: e, Info: r } +} +Et(Jbe, "createInfoServices") +var Yh, + e4e = + ((Yh = class extends Lu { + constructor() { + super(["packet-beta"]) + } + }), + Et(Yh, "PacketTokenBuilder"), + Yh), + t4e = { + parser: { + TokenBuilder: Et(() => new e4e(), "TokenBuilder"), + ValueConverter: Et(() => new xx(), "ValueConverter"), + }, + } +function r4e(t = _u) { + const e = ca(Au(t), vf), + r = ca(Cu({ shared: e }), $be, t4e) + return e.ServiceRegistry.register(r), { shared: e, Packet: r } +} +Et(r4e, "createPacketServices") +var Xh, + n4e = + ((Xh = class extends Lu { + constructor() { + super(["pie", "showData"]) + } + }), + Et(Xh, "PieTokenBuilder"), + Xh), + jh, + i4e = + ((jh = class extends Rk { + runCustomConverter(e, r, n) { + if (e.name === "PIE_SECTION_LABEL") return r.replace(/"/g, "").trim() + } + }), + Et(jh, "PieValueConverter"), + jh), + a4e = { + parser: { + TokenBuilder: Et(() => new n4e(), "TokenBuilder"), + ValueConverter: Et(() => new i4e(), "ValueConverter"), + }, + } +function s4e(t = _u) { + const e = ca(Au(t), vf), + r = ca(Cu({ shared: e }), zbe, a4e) + return e.ServiceRegistry.register(r), { shared: e, Pie: r } +} +Et(s4e, "createPieServices") +var Kh, + o4e = + ((Kh = class extends Lu { + constructor() { + super(["architecture"]) + } + }), + Et(Kh, "ArchitectureTokenBuilder"), + Kh), + Zh, + l4e = + ((Zh = class extends Rk { + runCustomConverter(e, r, n) { + if (e.name === "ARCH_ICON") return r.replace(/[()]/g, "").trim() + if (e.name === "ARCH_TEXT_ICON") return r.replace(/["()]/g, "") + if (e.name === "ARCH_TITLE") return r.replace(/[[\]]/g, "").trim() + } + }), + Et(Zh, "ArchitectureValueConverter"), + Zh), + c4e = { + parser: { + TokenBuilder: Et(() => new o4e(), "TokenBuilder"), + ValueConverter: Et(() => new l4e(), "ValueConverter"), + }, + } +function u4e(t = _u) { + const e = ca(Au(t), vf), + r = ca(Cu({ shared: e }), Vbe, c4e) + return e.ServiceRegistry.register(r), { shared: e, Architecture: r } +} +Et(u4e, "createArchitectureServices") +var Qh, + h4e = + ((Qh = class extends Lu { + constructor() { + super(["radar-beta"]) + } + }), + Et(Qh, "RadarTokenBuilder"), + Qh), + d4e = { + parser: { + TokenBuilder: Et(() => new h4e(), "TokenBuilder"), + ValueConverter: Et(() => new xx(), "ValueConverter"), + }, + } +function f4e(t = _u) { + const e = ca(Au(t), vf), + r = ca(Cu({ shared: e }), Ube, d4e) + return e.ServiceRegistry.register(r), { shared: e, Radar: r } +} +Et(f4e, "createRadarServices") +var fl = {}, + p4e = { + info: Et(async () => { + const { createInfoServices: t } = await dr( + async () => { + const { createInfoServices: r } = await import("./index.js").then((n) => n.i) + return { createInfoServices: r } + }, + __vite__mapDeps([0, 1]), + ), + e = t().Info.parser.LangiumParser + fl.info = e + }, "info"), + packet: Et(async () => { + const { createPacketServices: t } = await dr( + async () => { + const { createPacketServices: r } = await import("./index.js").then((n) => n.p) + return { createPacketServices: r } + }, + __vite__mapDeps([0, 1]), + ), + e = t().Packet.parser.LangiumParser + fl.packet = e + }, "packet"), + pie: Et(async () => { + const { createPieServices: t } = await dr( + async () => { + const { createPieServices: r } = await import("./index.js").then((n) => n.a) + return { createPieServices: r } + }, + __vite__mapDeps([0, 1]), + ), + e = t().Pie.parser.LangiumParser + fl.pie = e + }, "pie"), + architecture: Et(async () => { + const { createArchitectureServices: t } = await dr( + async () => { + const { createArchitectureServices: r } = await import("./index.js").then((n) => n.b) + return { createArchitectureServices: r } + }, + __vite__mapDeps([0, 1]), + ), + e = t().Architecture.parser.LangiumParser + fl.architecture = e + }, "architecture"), + gitGraph: Et(async () => { + const { createGitGraphServices: t } = await dr( + async () => { + const { createGitGraphServices: r } = await import("./index.js").then((n) => n.g) + return { createGitGraphServices: r } + }, + __vite__mapDeps([0, 1]), + ), + e = t().GitGraph.parser.LangiumParser + fl.gitGraph = e + }, "gitGraph"), + radar: Et(async () => { + const { createRadarServices: t } = await dr( + async () => { + const { createRadarServices: r } = await import("./index.js").then((n) => n.r) + return { createRadarServices: r } + }, + __vite__mapDeps([0, 1]), + ), + e = t().Radar.parser.LangiumParser + fl.radar = e + }, "radar"), + } +async function Ru(t, e) { + const r = p4e[t] + if (!r) throw new Error(`Unknown diagram type: ${t}`) + fl[t] || (await r()) + const i = fl[t].parse(e) + if (i.lexerErrors.length > 0 || i.parserErrors.length > 0) throw new g4e(i) + return i.value +} +Et(Ru, "parse") +var Jh, + g4e = + ((Jh = class extends Error { + constructor(e) { + const r = e.lexerErrors.map((i) => i.message).join(` +`), + n = e.parserErrors.map((i) => i.message).join(` +`) + super(`Parsing failed: ${r} ${n}`), (this.result = e) + } + }), + Et(Jh, "MermaidParseError"), + Jh), + Rr = { NORMAL: 0, REVERSE: 1, HIGHLIGHT: 2, MERGE: 3, CHERRY_PICK: 4 }, + m4e = hr.gitGraph, + Nu = x(() => ns({ ...m4e, ...Dr().gitGraph }), "getConfig"), + vt = new sk(() => { + const t = Nu(), + e = t.mainBranchName, + r = t.mainBranchOrder + return { + mainBranchName: e, + commits: new Map(), + head: null, + branchConfig: new Map([[e, { name: e, order: r }]]), + branches: new Map([[e, null]]), + currBranch: e, + direction: "LR", + seq: 0, + options: {}, + } + }) +function bx() { + return $P({ length: 7 }) +} +x(bx, "getID") +function xG(t, e) { + const r = Object.create(null) + return t.reduce((n, i) => { + const a = e(i) + return r[a] || ((r[a] = !0), n.push(i)), n + }, []) +} +x(xG, "uniqBy") +var v4e = x(function (t) { + vt.records.direction = t + }, "setDirection"), + y4e = x(function (t) { + ie.debug("options str", t), (t = t == null ? void 0 : t.trim()), (t = t || "{}") + try { + vt.records.options = JSON.parse(t) + } catch (e) { + ie.error("error while parsing gitGraph options", e.message) + } + }, "setOptions"), + x4e = x(function () { + return vt.records.options + }, "getOptions"), + b4e = x(function (t) { + let e = t.msg, + r = t.id + const n = t.type + let i = t.tags + ie.info("commit", e, r, n, i), ie.debug("Entering commit:", e, r, n, i) + const a = Nu() + ;(r = it.sanitizeText(r, a)), + (e = it.sanitizeText(e, a)), + (i = i == null ? void 0 : i.map((o) => it.sanitizeText(o, a))) + const s = { + id: r || vt.records.seq + "-" + bx(), + message: e, + seq: vt.records.seq++, + type: n ?? Rr.NORMAL, + tags: i ?? [], + parents: vt.records.head == null ? [] : [vt.records.head.id], + branch: vt.records.currBranch, + } + ;(vt.records.head = s), + ie.info("main branch", a.mainBranchName), + vt.records.commits.set(s.id, s), + vt.records.branches.set(vt.records.currBranch, s.id), + ie.debug("in pushCommit " + s.id) + }, "commit"), + w4e = x(function (t) { + let e = t.name + const r = t.order + if (((e = it.sanitizeText(e, Nu())), vt.records.branches.has(e))) + throw new Error( + `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`, + ) + vt.records.branches.set(e, vt.records.head != null ? vt.records.head.id : null), + vt.records.branchConfig.set(e, { name: e, order: r }), + bG(e), + ie.debug("in createBranch") + }, "branch"), + T4e = x((t) => { + let e = t.branch, + r = t.id + const n = t.type, + i = t.tags, + a = Nu() + ;(e = it.sanitizeText(e, a)), r && (r = it.sanitizeText(r, a)) + const s = vt.records.branches.get(vt.records.currBranch), + o = vt.records.branches.get(e), + l = s ? vt.records.commits.get(s) : void 0, + u = o ? vt.records.commits.get(o) : void 0 + if (l && u && l.branch === e) throw new Error(`Cannot merge branch '${e}' into itself.`) + if (vt.records.currBranch === e) { + const f = new Error('Incorrect usage of "merge". Cannot merge a branch to itself') + throw ((f.hash = { text: `merge ${e}`, token: `merge ${e}`, expected: ["branch abc"] }), f) + } + if (l === void 0 || !l) { + const f = new Error(`Incorrect usage of "merge". Current branch (${vt.records.currBranch})has no commits`) + throw ((f.hash = { text: `merge ${e}`, token: `merge ${e}`, expected: ["commit"] }), f) + } + if (!vt.records.branches.has(e)) { + const f = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ") does not exist") + throw ((f.hash = { text: `merge ${e}`, token: `merge ${e}`, expected: [`branch ${e}`] }), f) + } + if (u === void 0 || !u) { + const f = new Error('Incorrect usage of "merge". Branch to be merged (' + e + ") has no commits") + throw ((f.hash = { text: `merge ${e}`, token: `merge ${e}`, expected: ['"commit"'] }), f) + } + if (l === u) { + const f = new Error('Incorrect usage of "merge". Both branches have same head') + throw ((f.hash = { text: `merge ${e}`, token: `merge ${e}`, expected: ["branch abc"] }), f) + } + if (r && vt.records.commits.has(r)) { + const f = new Error( + 'Incorrect usage of "merge". Commit with id:' + r + " already exists, use different custom Id", + ) + throw ( + ((f.hash = { + text: `merge ${e} ${r} ${n} ${i == null ? void 0 : i.join(" ")}`, + token: `merge ${e} ${r} ${n} ${i == null ? void 0 : i.join(" ")}`, + expected: [`merge ${e} ${r}_UNIQUE ${n} ${i == null ? void 0 : i.join(" ")}`], + }), + f) + ) + } + const h = o || "", + d = { + id: r || `${vt.records.seq}-${bx()}`, + message: `merged branch ${e} into ${vt.records.currBranch}`, + seq: vt.records.seq++, + parents: vt.records.head == null ? [] : [vt.records.head.id, h], + branch: vt.records.currBranch, + type: Rr.MERGE, + customType: n, + customId: !!r, + tags: i ?? [], + } + ;(vt.records.head = d), + vt.records.commits.set(d.id, d), + vt.records.branches.set(vt.records.currBranch, d.id), + ie.debug(vt.records.branches), + ie.debug("in mergeBranch") + }, "merge"), + E4e = x(function (t) { + let e = t.id, + r = t.targetId, + n = t.tags, + i = t.parent + ie.debug("Entering cherryPick:", e, r, n) + const a = Nu() + if ( + ((e = it.sanitizeText(e, a)), + (r = it.sanitizeText(r, a)), + (n = n == null ? void 0 : n.map((l) => it.sanitizeText(l, a))), + (i = it.sanitizeText(i, a)), + !e || !vt.records.commits.has(e)) + ) { + const l = new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided') + throw ( + ((l.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ["cherry-pick abc"], + }), + l) + ) + } + const s = vt.records.commits.get(e) + if (s === void 0 || !s) + throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided') + if (i && !(Array.isArray(s.parents) && s.parents.includes(i))) + throw new Error( + "Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.", + ) + const o = s.branch + if (s.type === Rr.MERGE && !i) + throw new Error( + "Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.", + ) + if (!r || !vt.records.commits.has(r)) { + if (o === vt.records.currBranch) { + const d = new Error('Incorrect usage of "cherryPick". Source commit is already on current branch') + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ["cherry-pick abc"], + }), + d) + ) + } + const l = vt.records.branches.get(vt.records.currBranch) + if (l === void 0 || !l) { + const d = new Error( + `Incorrect usage of "cherry-pick". Current branch (${vt.records.currBranch})has no commits`, + ) + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ["cherry-pick abc"], + }), + d) + ) + } + const u = vt.records.commits.get(l) + if (u === void 0 || !u) { + const d = new Error( + `Incorrect usage of "cherry-pick". Current branch (${vt.records.currBranch})has no commits`, + ) + throw ( + ((d.hash = { + text: `cherryPick ${e} ${r}`, + token: `cherryPick ${e} ${r}`, + expected: ["cherry-pick abc"], + }), + d) + ) + } + const h = { + id: vt.records.seq + "-" + bx(), + message: `cherry-picked ${s == null ? void 0 : s.message} into ${vt.records.currBranch}`, + seq: vt.records.seq++, + parents: vt.records.head == null ? [] : [vt.records.head.id, s.id], + branch: vt.records.currBranch, + type: Rr.CHERRY_PICK, + tags: n ? n.filter(Boolean) : [`cherry-pick:${s.id}${s.type === Rr.MERGE ? `|parent:${i}` : ""}`], + } + ;(vt.records.head = h), + vt.records.commits.set(h.id, h), + vt.records.branches.set(vt.records.currBranch, h.id), + ie.debug(vt.records.branches), + ie.debug("in cherryPick") + } + }, "cherryPick"), + bG = x(function (t) { + if (((t = it.sanitizeText(t, Nu())), vt.records.branches.has(t))) { + vt.records.currBranch = t + const e = vt.records.branches.get(vt.records.currBranch) + e === void 0 || !e ? (vt.records.head = null) : (vt.records.head = vt.records.commits.get(e) ?? null) + } else { + const e = new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`) + throw ((e.hash = { text: `checkout ${t}`, token: `checkout ${t}`, expected: [`branch ${t}`] }), e) + } + }, "checkout") +function s6(t, e, r) { + const n = t.indexOf(e) + n === -1 ? t.push(r) : t.splice(n, 1, r) +} +x(s6, "upsert") +function Nk(t) { + const e = t.reduce((i, a) => (i.seq > a.seq ? i : a), t[0]) + let r = "" + t.forEach(function (i) { + i === e ? (r += " *") : (r += " |") + }) + const n = [r, e.id, e.seq] + for (const i in vt.records.branches) vt.records.branches.get(i) === e.id && n.push(i) + if ((ie.debug(n.join(" ")), e.parents && e.parents.length == 2 && e.parents[0] && e.parents[1])) { + const i = vt.records.commits.get(e.parents[0]) + s6(t, e, i), e.parents[1] && t.push(vt.records.commits.get(e.parents[1])) + } else { + if (e.parents.length == 0) return + if (e.parents[0]) { + const i = vt.records.commits.get(e.parents[0]) + s6(t, e, i) + } + } + ;(t = xG(t, (i) => i.id)), Nk(t) +} +x(Nk, "prettyPrintCommitHistory") +var k4e = x(function () { + ie.debug(vt.records.commits) + const t = wG()[0] + Nk([t]) + }, "prettyPrint"), + S4e = x(function () { + vt.reset(), Gn() + }, "clear"), + C4e = x(function () { + return [...vt.records.branchConfig.values()] + .map((e, r) => (e.order !== null && e.order !== void 0 ? e : { ...e, order: parseFloat(`0.${r}`) })) + .sort((e, r) => (e.order ?? 0) - (r.order ?? 0)) + .map(({ name: e }) => ({ name: e })) + }, "getBranchesAsObjArray"), + A4e = x(function () { + return vt.records.branches + }, "getBranches"), + _4e = x(function () { + return vt.records.commits + }, "getCommits"), + wG = x(function () { + const t = [...vt.records.commits.values()] + return ( + t.forEach(function (e) { + ie.debug(e.id) + }), + t.sort((e, r) => e.seq - r.seq), + t + ) + }, "getCommitsArray"), + L4e = x(function () { + return vt.records.currBranch + }, "getCurrentBranch"), + R4e = x(function () { + return vt.records.direction + }, "getDirection"), + N4e = x(function () { + return vt.records.head + }, "getHead"), + TG = { + commitType: Rr, + getConfig: Nu, + setDirection: v4e, + setOptions: y4e, + getOptions: x4e, + commit: b4e, + branch: w4e, + merge: T4e, + cherryPick: E4e, + checkout: bG, + prettyPrint: k4e, + clear: S4e, + getBranchesAsObjArray: C4e, + getBranches: A4e, + getCommits: _4e, + getCommitsArray: wG, + getCurrentBranch: L4e, + getDirection: R4e, + getHead: N4e, + setAccTitle: $n, + getAccTitle: Zn, + getAccDescription: Jn, + setAccDescription: Qn, + setDiagramTitle: fi, + getDiagramTitle: Un, + }, + D4e = x((t, e) => { + hf(t, e), t.dir && e.setDirection(t.dir) + for (const r of t.statements) I4e(r, e) + }, "populate"), + I4e = x((t, e) => { + const n = { + Commit: x((i) => e.commit(M4e(i)), "Commit"), + Branch: x((i) => e.branch(O4e(i)), "Branch"), + Merge: x((i) => e.merge(P4e(i)), "Merge"), + Checkout: x((i) => e.checkout(B4e(i)), "Checkout"), + CherryPicking: x((i) => e.cherryPick(F4e(i)), "CherryPicking"), + }[t.$type] + n ? n(t) : ie.error(`Unknown statement type: ${t.$type}`) + }, "parseStatement"), + M4e = x( + (t) => ({ + id: t.id, + msg: t.message ?? "", + type: t.type !== void 0 ? Rr[t.type] : Rr.NORMAL, + tags: t.tags ?? void 0, + }), + "parseCommit", + ), + O4e = x((t) => ({ name: t.name, order: t.order ?? 0 }), "parseBranch"), + P4e = x( + (t) => ({ + branch: t.branch, + id: t.id ?? "", + type: t.type !== void 0 ? Rr[t.type] : void 0, + tags: t.tags ?? void 0, + }), + "parseMerge", + ), + B4e = x((t) => t.branch, "parseCheckout"), + F4e = x((t) => { + var r + return { + id: t.id, + targetId: "", + tags: ((r = t.tags) == null ? void 0 : r.length) === 0 ? void 0 : t.tags, + parent: t.parent, + } + }, "parseCherryPicking"), + $4e = { + parse: x(async (t) => { + const e = await Ru("gitGraph", t) + ie.debug(e), D4e(e, TG) + }, "parse"), + }, + k4 = we(), + En = k4 == null ? void 0 : k4.gitGraph, + xl = 10, + bl = 40, + Ps = 4, + So = 2, + Ec = 8, + ra = new Map(), + aa = new Map(), + zy = 30, + G0 = new Map(), + Vy = [], + pl = 0, + cr = "LR", + z4e = x(() => { + ra.clear(), aa.clear(), G0.clear(), (pl = 0), (Vy = []), (cr = "LR") + }, "clear"), + EG = x((t) => { + const e = document.createElementNS("http://www.w3.org/2000/svg", "text") + return ( + (typeof t == "string" ? t.split(/\\n|\n|<br\s*\/?>/gi) : t).forEach((n) => { + const i = document.createElementNS("http://www.w3.org/2000/svg", "tspan") + i.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), + i.setAttribute("dy", "1em"), + i.setAttribute("x", "0"), + i.setAttribute("class", "row"), + (i.textContent = n.trim()), + e.appendChild(i) + }), + e + ) + }, "drawText"), + kG = x((t) => { + let e, r, n + return ( + cr === "BT" + ? ((r = x((i, a) => i <= a, "comparisonFunc")), (n = 1 / 0)) + : ((r = x((i, a) => i >= a, "comparisonFunc")), (n = 0)), + t.forEach((i) => { + var s, o + const a = + cr === "TB" || cr == "BT" + ? (s = aa.get(i)) == null + ? void 0 + : s.y + : (o = aa.get(i)) == null + ? void 0 + : o.x + a !== void 0 && r(a, n) && ((e = i), (n = a)) + }), + e + ) + }, "findClosestParent"), + V4e = x((t) => { + let e = "", + r = 1 / 0 + return ( + t.forEach((n) => { + const i = aa.get(n).y + i <= r && ((e = n), (r = i)) + }), + e || void 0 + ) + }, "findClosestParentBT"), + G4e = x((t, e, r) => { + let n = r, + i = r + const a = [] + t.forEach((s) => { + const o = e.get(s) + if (!o) throw new Error(`Commit not found for key ${s}`) + o.parents.length ? ((n = q4e(o)), (i = Math.max(n, i))) : a.push(o), W4e(o, n) + }), + (n = i), + a.forEach((s) => { + H4e(s, n, r) + }), + t.forEach((s) => { + const o = e.get(s) + if (o != null && o.parents.length) { + const l = V4e(o.parents) + ;(n = aa.get(l).y - bl), n <= i && (i = n) + const u = ra.get(o.branch).pos, + h = n - xl + aa.set(o.id, { x: u, y: h }) + } + }) + }, "setParallelBTPos"), + U4e = x((t) => { + var n + const e = kG(t.parents.filter((i) => i !== null)) + if (!e) throw new Error(`Closest parent not found for commit ${t.id}`) + const r = (n = aa.get(e)) == null ? void 0 : n.y + if (r === void 0) throw new Error(`Closest parent position not found for commit ${t.id}`) + return r + }, "findClosestParentPos"), + q4e = x((t) => U4e(t) + bl, "calculateCommitPosition"), + W4e = x((t, e) => { + const r = ra.get(t.branch) + if (!r) throw new Error(`Branch not found for commit ${t.id}`) + const n = r.pos, + i = e + xl + return aa.set(t.id, { x: n, y: i }), { x: n, y: i } + }, "setCommitPosition"), + H4e = x((t, e, r) => { + const n = ra.get(t.branch) + if (!n) throw new Error(`Branch not found for commit ${t.id}`) + const i = e + r, + a = n.pos + aa.set(t.id, { x: a, y: i }) + }, "setRootPosition"), + Y4e = x((t, e, r, n, i, a) => { + if (a === Rr.HIGHLIGHT) + t + .append("rect") + .attr("x", r.x - 10) + .attr("y", r.y - 10) + .attr("width", 20) + .attr("height", 20) + .attr("class", `commit ${e.id} commit-highlight${i % Ec} ${n}-outer`), + t + .append("rect") + .attr("x", r.x - 6) + .attr("y", r.y - 6) + .attr("width", 12) + .attr("height", 12) + .attr("class", `commit ${e.id} commit${i % Ec} ${n}-inner`) + else if (a === Rr.CHERRY_PICK) + t.append("circle").attr("cx", r.x).attr("cy", r.y).attr("r", 10).attr("class", `commit ${e.id} ${n}`), + t + .append("circle") + .attr("cx", r.x - 3) + .attr("cy", r.y + 2) + .attr("r", 2.75) + .attr("fill", "#fff") + .attr("class", `commit ${e.id} ${n}`), + t + .append("circle") + .attr("cx", r.x + 3) + .attr("cy", r.y + 2) + .attr("r", 2.75) + .attr("fill", "#fff") + .attr("class", `commit ${e.id} ${n}`), + t + .append("line") + .attr("x1", r.x + 3) + .attr("y1", r.y + 1) + .attr("x2", r.x) + .attr("y2", r.y - 5) + .attr("stroke", "#fff") + .attr("class", `commit ${e.id} ${n}`), + t + .append("line") + .attr("x1", r.x - 3) + .attr("y1", r.y + 1) + .attr("x2", r.x) + .attr("y2", r.y - 5) + .attr("stroke", "#fff") + .attr("class", `commit ${e.id} ${n}`) + else { + const s = t.append("circle") + if ( + (s.attr("cx", r.x), + s.attr("cy", r.y), + s.attr("r", e.type === Rr.MERGE ? 9 : 10), + s.attr("class", `commit ${e.id} commit${i % Ec}`), + a === Rr.MERGE) + ) { + const o = t.append("circle") + o.attr("cx", r.x), + o.attr("cy", r.y), + o.attr("r", 6), + o.attr("class", `commit ${n} ${e.id} commit${i % Ec}`) + } + a === Rr.REVERSE && + t + .append("path") + .attr( + "d", + `M ${r.x - 5},${r.y - 5}L${r.x + 5},${r.y + 5}M${r.x - 5},${r.y + 5}L${r.x + 5},${r.y - 5}`, + ) + .attr("class", `commit ${n} ${e.id} commit${i % Ec}`) + } + }, "drawCommitBullet"), + X4e = x((t, e, r, n) => { + var i + if ( + e.type !== Rr.CHERRY_PICK && + ((e.customId && e.type === Rr.MERGE) || e.type !== Rr.MERGE) && + En != null && + En.showCommitLabel + ) { + const a = t.append("g"), + s = a.insert("rect").attr("class", "commit-label-bkg"), + o = a + .append("text") + .attr("x", n) + .attr("y", r.y + 25) + .attr("class", "commit-label") + .text(e.id), + l = (i = o.node()) == null ? void 0 : i.getBBox() + if ( + l && + (s + .attr("x", r.posWithOffset - l.width / 2 - So) + .attr("y", r.y + 13.5) + .attr("width", l.width + 2 * So) + .attr("height", l.height + 2 * So), + cr === "TB" || cr === "BT" + ? (s.attr("x", r.x - (l.width + 4 * Ps + 5)).attr("y", r.y - 12), + o.attr("x", r.x - (l.width + 4 * Ps)).attr("y", r.y + l.height - 12)) + : o.attr("x", r.posWithOffset - l.width / 2), + En.rotateCommitLabel) + ) + if (cr === "TB" || cr === "BT") + o.attr("transform", "rotate(-45, " + r.x + ", " + r.y + ")"), + s.attr("transform", "rotate(-45, " + r.x + ", " + r.y + ")") + else { + const u = -7.5 - ((l.width + 10) / 25) * 9.5, + h = 10 + (l.width / 25) * 8.5 + a.attr("transform", "translate(" + u + ", " + h + ") rotate(-45, " + n + ", " + r.y + ")") + } + } + }, "drawCommitLabel"), + j4e = x((t, e, r, n) => { + var i + if (e.tags.length > 0) { + let a = 0, + s = 0, + o = 0 + const l = [] + for (const u of e.tags.reverse()) { + const h = t.insert("polygon"), + d = t.append("circle"), + f = t + .append("text") + .attr("y", r.y - 16 - a) + .attr("class", "tag-label") + .text(u), + p = (i = f.node()) == null ? void 0 : i.getBBox() + if (!p) throw new Error("Tag bbox not found") + ;(s = Math.max(s, p.width)), + (o = Math.max(o, p.height)), + f.attr("x", r.posWithOffset - p.width / 2), + l.push({ tag: f, hole: d, rect: h, yOffset: a }), + (a += 20) + } + for (const { tag: u, hole: h, rect: d, yOffset: f } of l) { + const p = o / 2, + g = r.y - 19.2 - f + if ( + (d.attr("class", "tag-label-bkg").attr( + "points", + ` + ${n - s / 2 - Ps / 2},${g + So} + ${n - s / 2 - Ps / 2},${g - So} + ${r.posWithOffset - s / 2 - Ps},${g - p - So} + ${r.posWithOffset + s / 2 + Ps},${g - p - So} + ${r.posWithOffset + s / 2 + Ps},${g + p + So} + ${r.posWithOffset - s / 2 - Ps},${g + p + So}`, + ), + h + .attr("cy", g) + .attr("cx", n - s / 2 + Ps / 2) + .attr("r", 1.5) + .attr("class", "tag-hole"), + cr === "TB" || cr === "BT") + ) { + const m = n + f + d + .attr("class", "tag-label-bkg") + .attr( + "points", + ` + ${r.x},${m + 2} + ${r.x},${m - 2} + ${r.x + xl},${m - p - 2} + ${r.x + xl + s + 4},${m - p - 2} + ${r.x + xl + s + 4},${m + p + 2} + ${r.x + xl},${m + p + 2}`, + ) + .attr("transform", "translate(12,12) rotate(45, " + r.x + "," + n + ")"), + h + .attr("cx", r.x + Ps / 2) + .attr("cy", m) + .attr("transform", "translate(12,12) rotate(45, " + r.x + "," + n + ")"), + u + .attr("x", r.x + 5) + .attr("y", m + 3) + .attr("transform", "translate(14,14) rotate(45, " + r.x + "," + n + ")") + } + } + } + }, "drawCommitTags"), + K4e = x((t) => { + switch (t.customType ?? t.type) { + case Rr.NORMAL: + return "commit-normal" + case Rr.REVERSE: + return "commit-reverse" + case Rr.HIGHLIGHT: + return "commit-highlight" + case Rr.MERGE: + return "commit-merge" + case Rr.CHERRY_PICK: + return "commit-cherry-pick" + default: + return "commit-normal" + } + }, "getCommitClassType"), + Z4e = x((t, e, r, n) => { + const i = { x: 0, y: 0 } + if (t.parents.length > 0) { + const a = kG(t.parents) + if (a) { + const s = n.get(a) ?? i + return e === "TB" ? s.y + bl : e === "BT" ? (n.get(t.id) ?? i).y - bl : s.x + bl + } + } else return e === "TB" ? zy : e === "BT" ? (n.get(t.id) ?? i).y - bl : 0 + return 0 + }, "calculatePosition"), + Q4e = x((t, e, r) => { + var s, o + const n = cr === "BT" && r ? e : e + xl, + i = cr === "TB" || cr === "BT" ? n : (s = ra.get(t.branch)) == null ? void 0 : s.pos, + a = cr === "TB" || cr === "BT" ? ((o = ra.get(t.branch)) == null ? void 0 : o.pos) : n + if (a === void 0 || i === void 0) throw new Error(`Position were undefined for commit ${t.id}`) + return { x: a, y: i, posWithOffset: n } + }, "getCommitPosition"), + n9 = x((t, e, r) => { + if (!En) throw new Error("GitGraph config not found") + const n = t.append("g").attr("class", "commit-bullets"), + i = t.append("g").attr("class", "commit-labels") + let a = cr === "TB" || cr === "BT" ? zy : 0 + const s = [...e.keys()], + o = (En == null ? void 0 : En.parallelCommits) ?? !1, + l = x((h, d) => { + var g, m + const f = (g = e.get(h)) == null ? void 0 : g.seq, + p = (m = e.get(d)) == null ? void 0 : m.seq + return f !== void 0 && p !== void 0 ? f - p : 0 + }, "sortKeys") + let u = s.sort(l) + cr === "BT" && (o && G4e(u, e, a), (u = u.reverse())), + u.forEach((h) => { + var p + const d = e.get(h) + if (!d) throw new Error(`Commit not found for key ${h}`) + o && (a = Z4e(d, cr, a, aa)) + const f = Q4e(d, a, o) + if (r) { + const g = K4e(d), + m = d.customType ?? d.type, + v = ((p = ra.get(d.branch)) == null ? void 0 : p.index) ?? 0 + Y4e(n, d, f, g, v, m), X4e(i, d, f, a), j4e(i, d, f, a) + } + cr === "TB" || cr === "BT" + ? aa.set(d.id, { x: f.x, y: f.posWithOffset }) + : aa.set(d.id, { x: f.posWithOffset, y: f.y }), + (a = cr === "BT" && o ? a + bl : a + bl + xl), + a > pl && (pl = a) + }) + }, "drawCommits"), + J4e = x((t, e, r, n, i) => { + const s = (cr === "TB" || cr === "BT" ? r.x < n.x : r.y < n.y) ? e.branch : t.branch, + o = x((u) => u.branch === s, "isOnBranchToGetCurve"), + l = x((u) => u.seq > t.seq && u.seq < e.seq, "isBetweenCommits") + return [...i.values()].some((u) => l(u) && o(u)) + }, "shouldRerouteArrow"), + U0 = x((t, e, r = 0) => { + const n = t + Math.abs(t - e) / 2 + if (r > 5) return n + if (Vy.every((s) => Math.abs(s - n) >= 10)) return Vy.push(n), n + const a = Math.abs(t - e) + return U0(t, e - a / 5, r + 1) + }, "findLane"), + e5e = x((t, e, r, n) => { + var p, g, m, v, y + const i = aa.get(e.id), + a = aa.get(r.id) + if (i === void 0 || a === void 0) throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`) + const s = J4e(e, r, i, a, n) + let o = "", + l = "", + u = 0, + h = 0, + d = (p = ra.get(r.branch)) == null ? void 0 : p.index + r.type === Rr.MERGE && e.id !== r.parents[0] && (d = (g = ra.get(e.branch)) == null ? void 0 : g.index) + let f + if (s) { + ;(o = "A 10 10, 0, 0, 0,"), (l = "A 10 10, 0, 0, 1,"), (u = 10), (h = 10) + const b = i.y < a.y ? U0(i.y, a.y) : U0(a.y, i.y), + w = i.x < a.x ? U0(i.x, a.x) : U0(a.x, i.x) + cr === "TB" + ? i.x < a.x + ? (f = `M ${i.x} ${i.y} L ${w - u} ${i.y} ${l} ${w} ${i.y + h} L ${w} ${a.y - u} ${o} ${w + h} ${a.y} L ${a.x} ${a.y}`) + : ((d = (m = ra.get(e.branch)) == null ? void 0 : m.index), + (f = `M ${i.x} ${i.y} L ${w + u} ${i.y} ${o} ${w} ${i.y + h} L ${w} ${a.y - u} ${l} ${w - h} ${a.y} L ${a.x} ${a.y}`)) + : cr === "BT" + ? i.x < a.x + ? (f = `M ${i.x} ${i.y} L ${w - u} ${i.y} ${o} ${w} ${i.y - h} L ${w} ${a.y + u} ${l} ${w + h} ${a.y} L ${a.x} ${a.y}`) + : ((d = (v = ra.get(e.branch)) == null ? void 0 : v.index), + (f = `M ${i.x} ${i.y} L ${w + u} ${i.y} ${l} ${w} ${i.y - h} L ${w} ${a.y + u} ${o} ${w - h} ${a.y} L ${a.x} ${a.y}`)) + : i.y < a.y + ? (f = `M ${i.x} ${i.y} L ${i.x} ${b - u} ${o} ${i.x + h} ${b} L ${a.x - u} ${b} ${l} ${a.x} ${b + h} L ${a.x} ${a.y}`) + : ((d = (y = ra.get(e.branch)) == null ? void 0 : y.index), + (f = `M ${i.x} ${i.y} L ${i.x} ${b + u} ${l} ${i.x + h} ${b} L ${a.x - u} ${b} ${o} ${a.x} ${b - h} L ${a.x} ${a.y}`)) + } else + (o = "A 20 20, 0, 0, 0,"), + (l = "A 20 20, 0, 0, 1,"), + (u = 20), + (h = 20), + cr === "TB" + ? (i.x < a.x && + (r.type === Rr.MERGE && e.id !== r.parents[0] + ? (f = `M ${i.x} ${i.y} L ${i.x} ${a.y - u} ${o} ${i.x + h} ${a.y} L ${a.x} ${a.y}`) + : (f = `M ${i.x} ${i.y} L ${a.x - u} ${i.y} ${l} ${a.x} ${i.y + h} L ${a.x} ${a.y}`)), + i.x > a.x && + ((o = "A 20 20, 0, 0, 0,"), + (l = "A 20 20, 0, 0, 1,"), + (u = 20), + (h = 20), + r.type === Rr.MERGE && e.id !== r.parents[0] + ? (f = `M ${i.x} ${i.y} L ${i.x} ${a.y - u} ${l} ${i.x - h} ${a.y} L ${a.x} ${a.y}`) + : (f = `M ${i.x} ${i.y} L ${a.x + u} ${i.y} ${o} ${a.x} ${i.y + h} L ${a.x} ${a.y}`)), + i.x === a.x && (f = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + : cr === "BT" + ? (i.x < a.x && + (r.type === Rr.MERGE && e.id !== r.parents[0] + ? (f = `M ${i.x} ${i.y} L ${i.x} ${a.y + u} ${l} ${i.x + h} ${a.y} L ${a.x} ${a.y}`) + : (f = `M ${i.x} ${i.y} L ${a.x - u} ${i.y} ${o} ${a.x} ${i.y - h} L ${a.x} ${a.y}`)), + i.x > a.x && + ((o = "A 20 20, 0, 0, 0,"), + (l = "A 20 20, 0, 0, 1,"), + (u = 20), + (h = 20), + r.type === Rr.MERGE && e.id !== r.parents[0] + ? (f = `M ${i.x} ${i.y} L ${i.x} ${a.y + u} ${o} ${i.x - h} ${a.y} L ${a.x} ${a.y}`) + : (f = `M ${i.x} ${i.y} L ${a.x - u} ${i.y} ${o} ${a.x} ${i.y - h} L ${a.x} ${a.y}`)), + i.x === a.x && (f = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + : (i.y < a.y && + (r.type === Rr.MERGE && e.id !== r.parents[0] + ? (f = `M ${i.x} ${i.y} L ${a.x - u} ${i.y} ${l} ${a.x} ${i.y + h} L ${a.x} ${a.y}`) + : (f = `M ${i.x} ${i.y} L ${i.x} ${a.y - u} ${o} ${i.x + h} ${a.y} L ${a.x} ${a.y}`)), + i.y > a.y && + (r.type === Rr.MERGE && e.id !== r.parents[0] + ? (f = `M ${i.x} ${i.y} L ${a.x - u} ${i.y} ${o} ${a.x} ${i.y - h} L ${a.x} ${a.y}`) + : (f = `M ${i.x} ${i.y} L ${i.x} ${a.y + u} ${l} ${i.x + h} ${a.y} L ${a.x} ${a.y}`)), + i.y === a.y && (f = `M ${i.x} ${i.y} L ${a.x} ${a.y}`)) + if (f === void 0) throw new Error("Line definition not found") + t.append("path") + .attr("d", f) + .attr("class", "arrow arrow" + (d % Ec)) + }, "drawArrow"), + t5e = x((t, e) => { + const r = t.append("g").attr("class", "commit-arrows") + ;[...e.keys()].forEach((n) => { + const i = e.get(n) + i.parents && + i.parents.length > 0 && + i.parents.forEach((a) => { + e5e(r, e.get(a), i, e) + }) + }) + }, "drawArrows"), + r5e = x((t, e) => { + const r = t.append("g") + e.forEach((n, i) => { + var g + const a = i % Ec, + s = (g = ra.get(n.name)) == null ? void 0 : g.pos + if (s === void 0) throw new Error(`Position not found for branch ${n.name}`) + const o = r.append("line") + o.attr("x1", 0), + o.attr("y1", s), + o.attr("x2", pl), + o.attr("y2", s), + o.attr("class", "branch branch" + a), + cr === "TB" + ? (o.attr("y1", zy), o.attr("x1", s), o.attr("y2", pl), o.attr("x2", s)) + : cr === "BT" && (o.attr("y1", pl), o.attr("x1", s), o.attr("y2", zy), o.attr("x2", s)), + Vy.push(s) + const l = n.name, + u = EG(l), + h = r.insert("rect"), + f = r + .insert("g") + .attr("class", "branchLabel") + .insert("g") + .attr("class", "label branch-label" + a) + f.node().appendChild(u) + const p = u.getBBox() + h + .attr("class", "branchLabelBkg label" + a) + .attr("rx", 4) + .attr("ry", 4) + .attr("x", -p.width - 4 - ((En == null ? void 0 : En.rotateCommitLabel) === !0 ? 30 : 0)) + .attr("y", -p.height / 2 + 8) + .attr("width", p.width + 18) + .attr("height", p.height + 4), + f.attr( + "transform", + "translate(" + + (-p.width - 14 - ((En == null ? void 0 : En.rotateCommitLabel) === !0 ? 30 : 0)) + + ", " + + (s - p.height / 2 - 1) + + ")", + ), + cr === "TB" + ? (h.attr("x", s - p.width / 2 - 10).attr("y", 0), + f.attr("transform", "translate(" + (s - p.width / 2 - 5) + ", 0)")) + : cr === "BT" + ? (h.attr("x", s - p.width / 2 - 10).attr("y", pl), + f.attr("transform", "translate(" + (s - p.width / 2 - 5) + ", " + pl + ")")) + : h.attr("transform", "translate(-19, " + (s - p.height / 2) + ")") + }) + }, "drawBranches"), + n5e = x(function (t, e, r, n, i) { + return ( + ra.set(t, { pos: e, index: r }), + (e += 50 + (i ? 40 : 0) + (cr === "TB" || cr === "BT" ? n.width / 2 : 0)), + e + ) + }, "setBranchPosition"), + i5e = x(function (t, e, r, n) { + if ( + (z4e(), + ie.debug( + "in gitgraph renderer", + t + + ` +`, + "id:", + e, + r, + ), + !En) + ) + throw new Error("GitGraph config not found") + const i = En.rotateCommitLabel ?? !1, + a = n.db + G0 = a.getCommits() + const s = a.getBranchesAsObjArray() + cr = a.getDirection() + const o = rt(`[id="${e}"]`) + let l = 0 + s.forEach((u, h) => { + var v + const d = EG(u.name), + f = o.append("g"), + p = f.insert("g").attr("class", "branchLabel"), + g = p.insert("g").attr("class", "label branch-label") + ;(v = g.node()) == null || v.appendChild(d) + const m = d.getBBox() + ;(l = n5e(u.name, l, h, m, i)), g.remove(), p.remove(), f.remove() + }), + n9(o, G0, !1), + En.showBranches && r5e(o, s), + t5e(o, G0), + n9(o, G0, !0), + Zt.insertTitle(o, "gitTitleText", En.titleTopMargin ?? 0, a.getDiagramTitle()), + oI(void 0, o, En.diagramPadding, En.useMaxWidth) + }, "draw"), + a5e = { draw: i5e }, + s5e = x( + (t) => ` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0, 1, 2, 3, 4, 5, 6, 7].map( + (e) => ` + .branch-label${e} { fill: ${t["gitBranchLabel" + e]}; } + .commit${e} { stroke: ${t["git" + e]}; fill: ${t["git" + e]}; } + .commit-highlight${e} { stroke: ${t["gitInv" + e]}; fill: ${t["gitInv" + e]}; } + .label${e} { fill: ${t["git" + e]}; } + .arrow${e} { stroke: ${t["git" + e]}; } + `, + ).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + "getStyles", + ), + o5e = s5e, + l5e = { parser: $4e, db: TG, renderer: a5e, styles: o5e } +const c5e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: l5e }, Symbol.toStringTag, { value: "Module" }), +) +var Um = { exports: {} }, + u5e = Um.exports, + i9 +function h5e() { + return ( + i9 || + ((i9 = 1), + (function (t, e) { + ;(function (r, n) { + t.exports = n() + })(u5e, function () { + var r = "day" + return function (n, i, a) { + var s = function (u) { + return u.add(4 - u.isoWeekday(), r) + }, + o = i.prototype + ;(o.isoWeekYear = function () { + return s(this).year() + }), + (o.isoWeek = function (u) { + if (!this.$utils().u(u)) return this.add(7 * (u - this.isoWeek()), r) + var h, + d, + f, + p, + g = s(this), + m = + ((h = this.isoWeekYear()), + (d = this.$u), + (f = (d ? a.utc : a)().year(h).startOf("year")), + (p = 4 - f.isoWeekday()), + f.isoWeekday() > 4 && (p += 7), + f.add(p, r)) + return g.diff(m, "week") + 1 + }), + (o.isoWeekday = function (u) { + return this.$utils().u(u) ? this.day() || 7 : this.day(this.day() % 7 ? u : u - 7) + }) + var l = o.startOf + o.startOf = function (u, h) { + var d = this.$utils(), + f = !!d.u(h) || h + return d.p(u) === "isoweek" + ? f + ? this.date(this.date() - (this.isoWeekday() - 1)).startOf("day") + : this.date(this.date() - 1 - (this.isoWeekday() - 1) + 7).endOf("day") + : l.bind(this)(u, h) + } + } + }) + })(Um)), + Um.exports + ) +} +var d5e = h5e() +const f5e = Qd(d5e) +var qm = { exports: {} }, + p5e = qm.exports, + a9 +function g5e() { + return ( + a9 || + ((a9 = 1), + (function (t, e) { + ;(function (r, n) { + t.exports = n() + })(p5e, function () { + var r = { + LTS: "h:mm:ss A", + LT: "h:mm A", + L: "MM/DD/YYYY", + LL: "MMMM D, YYYY", + LLL: "MMMM D, YYYY h:mm A", + LLLL: "dddd, MMMM D, YYYY h:mm A", + }, + n = + /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, + i = /\d/, + a = /\d\d/, + s = /\d\d?/, + o = /\d*[^-_:/,()\s\d]+/, + l = {}, + u = function (v) { + return (v = +v) + (v > 68 ? 1900 : 2e3) + }, + h = function (v) { + return function (y) { + this[v] = +y + } + }, + d = [ + /[+-]\d\d:?(\d\d)?|Z/, + function (v) { + ;(this.zone || (this.zone = {})).offset = (function (y) { + if (!y || y === "Z") return 0 + var b = y.match(/([+-]|\d\d)/g), + w = 60 * b[1] + (+b[2] || 0) + return w === 0 ? 0 : b[0] === "+" ? -w : w + })(v) + }, + ], + f = function (v) { + var y = l[v] + return y && (y.indexOf ? y : y.s.concat(y.f)) + }, + p = function (v, y) { + var b, + w = l.meridiem + if (w) { + for (var T = 1; T <= 24; T += 1) + if (v.indexOf(w(T, 0, y)) > -1) { + b = T > 12 + break + } + } else b = v === (y ? "pm" : "PM") + return b + }, + g = { + A: [ + o, + function (v) { + this.afternoon = p(v, !1) + }, + ], + a: [ + o, + function (v) { + this.afternoon = p(v, !0) + }, + ], + Q: [ + i, + function (v) { + this.month = 3 * (v - 1) + 1 + }, + ], + S: [ + i, + function (v) { + this.milliseconds = 100 * +v + }, + ], + SS: [ + a, + function (v) { + this.milliseconds = 10 * +v + }, + ], + SSS: [ + /\d{3}/, + function (v) { + this.milliseconds = +v + }, + ], + s: [s, h("seconds")], + ss: [s, h("seconds")], + m: [s, h("minutes")], + mm: [s, h("minutes")], + H: [s, h("hours")], + h: [s, h("hours")], + HH: [s, h("hours")], + hh: [s, h("hours")], + D: [s, h("day")], + DD: [a, h("day")], + Do: [ + o, + function (v) { + var y = l.ordinal, + b = v.match(/\d+/) + if (((this.day = b[0]), y)) + for (var w = 1; w <= 31; w += 1) + y(w).replace(/\[|\]/g, "") === v && (this.day = w) + }, + ], + w: [s, h("week")], + ww: [a, h("week")], + M: [s, h("month")], + MM: [a, h("month")], + MMM: [ + o, + function (v) { + var y = f("months"), + b = + ( + f("monthsShort") || + y.map(function (w) { + return w.slice(0, 3) + }) + ).indexOf(v) + 1 + if (b < 1) throw new Error() + this.month = b % 12 || b + }, + ], + MMMM: [ + o, + function (v) { + var y = f("months").indexOf(v) + 1 + if (y < 1) throw new Error() + this.month = y % 12 || y + }, + ], + Y: [/[+-]?\d+/, h("year")], + YY: [ + a, + function (v) { + this.year = u(v) + }, + ], + YYYY: [/\d{4}/, h("year")], + Z: d, + ZZ: d, + } + function m(v) { + var y, b + ;(y = v), (b = l && l.formats) + for ( + var w = (v = y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function (R, C, I) { + var P = I && I.toUpperCase() + return ( + C || + b[I] || + r[I] || + b[P].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function (_, N, M) { + return N || M.slice(1) + }) + ) + })).match(n), + T = w.length, + E = 0; + E < T; + E += 1 + ) { + var S = w[E], + k = g[S], + L = k && k[0], + A = k && k[1] + w[E] = A ? { regex: L, parser: A } : S.replace(/^\[|\]$/g, "") + } + return function (R) { + for (var C = {}, I = 0, P = 0; I < T; I += 1) { + var _ = w[I] + if (typeof _ == "string") P += _.length + else { + var N = _.regex, + M = _.parser, + O = R.slice(P), + D = N.exec(O)[0] + M.call(C, D), (R = R.replace(D, "")) + } + } + return ( + (function (B) { + var z = B.afternoon + if (z !== void 0) { + var F = B.hours + z ? F < 12 && (B.hours += 12) : F === 12 && (B.hours = 0), delete B.afternoon + } + })(C), + C + ) + } + } + return function (v, y, b) { + ;(b.p.customParseFormat = !0), v && v.parseTwoDigitYear && (u = v.parseTwoDigitYear) + var w = y.prototype, + T = w.parse + w.parse = function (E) { + var S = E.date, + k = E.utc, + L = E.args + this.$u = k + var A = L[1] + if (typeof A == "string") { + var R = L[2] === !0, + C = L[3] === !0, + I = R || C, + P = L[2] + C && (P = L[2]), + (l = this.$locale()), + !R && P && (l = b.Ls[P]), + (this.$d = (function (O, D, B, z) { + try { + if (["x", "X"].indexOf(D) > -1) return new Date((D === "X" ? 1e3 : 1) * O) + var F = m(D)(O), + G = F.year, + q = F.month, + Y = F.day, + ee = F.hours, + Q = F.minutes, + oe = F.seconds, + pe = F.milliseconds, + j = F.zone, + H = F.week, + X = new Date(), + W = Y || (G || q ? 1 : X.getDate()), + K = G || X.getFullYear(), + ne = 0 + ;(G && !q) || (ne = q > 0 ? q - 1 : X.getMonth()) + var Z, + be = ee || 0, + ce = Q || 0, + re = oe || 0, + Ne = pe || 0 + return j + ? new Date(Date.UTC(K, ne, W, be, ce, re, Ne + 60 * j.offset * 1e3)) + : B + ? new Date(Date.UTC(K, ne, W, be, ce, re, Ne)) + : ((Z = new Date(K, ne, W, be, ce, re, Ne)), + H && (Z = z(Z).week(H).toDate()), + Z) + } catch { + return new Date("") + } + })(S, A, k, b)), + this.init(), + P && P !== !0 && (this.$L = this.locale(P).$L), + I && S != this.format(A) && (this.$d = new Date("")), + (l = {}) + } else if (A instanceof Array) + for (var _ = A.length, N = 1; N <= _; N += 1) { + L[1] = A[N - 1] + var M = b.apply(this, L) + if (M.isValid()) { + ;(this.$d = M.$d), (this.$L = M.$L), this.init() + break + } + N === _ && (this.$d = new Date("")) + } + else T.call(this, E) + } + } + }) + })(qm)), + qm.exports + ) +} +var m5e = g5e() +const v5e = Qd(m5e) +var Wm = { exports: {} }, + y5e = Wm.exports, + s9 +function x5e() { + return ( + s9 || + ((s9 = 1), + (function (t, e) { + ;(function (r, n) { + t.exports = n() + })(y5e, function () { + return function (r, n) { + var i = n.prototype, + a = i.format + i.format = function (s) { + var o = this, + l = this.$locale() + if (!this.isValid()) return a.bind(this)(s) + var u = this.$utils(), + h = (s || "YYYY-MM-DDTHH:mm:ssZ").replace( + /\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, + function (d) { + switch (d) { + case "Q": + return Math.ceil((o.$M + 1) / 3) + case "Do": + return l.ordinal(o.$D) + case "gggg": + return o.weekYear() + case "GGGG": + return o.isoWeekYear() + case "wo": + return l.ordinal(o.week(), "W") + case "w": + case "ww": + return u.s(o.week(), d === "w" ? 1 : 2, "0") + case "W": + case "WW": + return u.s(o.isoWeek(), d === "W" ? 1 : 2, "0") + case "k": + case "kk": + return u.s(String(o.$H === 0 ? 24 : o.$H), d === "k" ? 1 : 2, "0") + case "X": + return Math.floor(o.$d.getTime() / 1e3) + case "x": + return o.$d.getTime() + case "z": + return "[" + o.offsetName() + "]" + case "zzz": + return "[" + o.offsetName("long") + "]" + default: + return d + } + }, + ) + return a.bind(this)(h) + } + } + }) + })(Wm)), + Wm.exports + ) +} +var b5e = x5e() +const w5e = Qd(b5e) +var o6 = (function () { + var t = x(function (P, _, N, M) { + for (N = N || {}, M = P.length; M--; N[P[M]] = _); + return N + }, "o"), + e = [6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 38, 40], + r = [1, 26], + n = [1, 27], + i = [1, 28], + a = [1, 29], + s = [1, 30], + o = [1, 31], + l = [1, 32], + u = [1, 33], + h = [1, 34], + d = [1, 9], + f = [1, 10], + p = [1, 11], + g = [1, 12], + m = [1, 13], + v = [1, 14], + y = [1, 15], + b = [1, 16], + w = [1, 19], + T = [1, 20], + E = [1, 21], + S = [1, 22], + k = [1, 23], + L = [1, 25], + A = [1, 35], + R = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + gantt: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NL: 10, + weekday: 11, + weekday_monday: 12, + weekday_tuesday: 13, + weekday_wednesday: 14, + weekday_thursday: 15, + weekday_friday: 16, + weekday_saturday: 17, + weekday_sunday: 18, + weekend: 19, + weekend_friday: 20, + weekend_saturday: 21, + dateFormat: 22, + inclusiveEndDates: 23, + topAxis: 24, + axisFormat: 25, + tickInterval: 26, + excludes: 27, + includes: 28, + todayMarker: 29, + title: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + section: 36, + clickStatement: 37, + taskTxt: 38, + taskData: 39, + click: 40, + callbackname: 41, + callbackargs: 42, + href: 43, + clickStatementDebug: 44, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "gantt", + 6: "EOF", + 8: "SPACE", + 10: "NL", + 12: "weekday_monday", + 13: "weekday_tuesday", + 14: "weekday_wednesday", + 15: "weekday_thursday", + 16: "weekday_friday", + 17: "weekday_saturday", + 18: "weekday_sunday", + 20: "weekend_friday", + 21: "weekend_saturday", + 22: "dateFormat", + 23: "inclusiveEndDates", + 24: "topAxis", + 25: "axisFormat", + 26: "tickInterval", + 27: "excludes", + 28: "includes", + 29: "todayMarker", + 30: "title", + 31: "acc_title", + 32: "acc_title_value", + 33: "acc_descr", + 34: "acc_descr_value", + 35: "acc_descr_multiline_value", + 36: "section", + 38: "taskTxt", + 39: "taskData", + 40: "click", + 41: "callbackname", + 42: "callbackargs", + 43: "href", + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [11, 1], + [19, 1], + [19, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [37, 2], + [37, 3], + [37, 3], + [37, 4], + [37, 3], + [37, 4], + [37, 2], + [44, 2], + [44, 3], + [44, 3], + [44, 4], + [44, 3], + [44, 4], + [44, 2], + ], + performAction: x(function (_, N, M, O, D, B, z) { + var F = B.length - 1 + switch (D) { + case 1: + return B[F - 1] + case 2: + this.$ = [] + break + case 3: + B[F - 1].push(B[F]), (this.$ = B[F - 1]) + break + case 4: + case 5: + this.$ = B[F] + break + case 6: + case 7: + this.$ = [] + break + case 8: + O.setWeekday("monday") + break + case 9: + O.setWeekday("tuesday") + break + case 10: + O.setWeekday("wednesday") + break + case 11: + O.setWeekday("thursday") + break + case 12: + O.setWeekday("friday") + break + case 13: + O.setWeekday("saturday") + break + case 14: + O.setWeekday("sunday") + break + case 15: + O.setWeekend("friday") + break + case 16: + O.setWeekend("saturday") + break + case 17: + O.setDateFormat(B[F].substr(11)), (this.$ = B[F].substr(11)) + break + case 18: + O.enableInclusiveEndDates(), (this.$ = B[F].substr(18)) + break + case 19: + O.TopAxis(), (this.$ = B[F].substr(8)) + break + case 20: + O.setAxisFormat(B[F].substr(11)), (this.$ = B[F].substr(11)) + break + case 21: + O.setTickInterval(B[F].substr(13)), (this.$ = B[F].substr(13)) + break + case 22: + O.setExcludes(B[F].substr(9)), (this.$ = B[F].substr(9)) + break + case 23: + O.setIncludes(B[F].substr(9)), (this.$ = B[F].substr(9)) + break + case 24: + O.setTodayMarker(B[F].substr(12)), (this.$ = B[F].substr(12)) + break + case 27: + O.setDiagramTitle(B[F].substr(6)), (this.$ = B[F].substr(6)) + break + case 28: + ;(this.$ = B[F].trim()), O.setAccTitle(this.$) + break + case 29: + case 30: + ;(this.$ = B[F].trim()), O.setAccDescription(this.$) + break + case 31: + O.addSection(B[F].substr(8)), (this.$ = B[F].substr(8)) + break + case 33: + O.addTask(B[F - 1], B[F]), (this.$ = "task") + break + case 34: + ;(this.$ = B[F - 1]), O.setClickEvent(B[F - 1], B[F], null) + break + case 35: + ;(this.$ = B[F - 2]), O.setClickEvent(B[F - 2], B[F - 1], B[F]) + break + case 36: + ;(this.$ = B[F - 2]), O.setClickEvent(B[F - 2], B[F - 1], null), O.setLink(B[F - 2], B[F]) + break + case 37: + ;(this.$ = B[F - 3]), O.setClickEvent(B[F - 3], B[F - 2], B[F - 1]), O.setLink(B[F - 3], B[F]) + break + case 38: + ;(this.$ = B[F - 2]), O.setClickEvent(B[F - 2], B[F], null), O.setLink(B[F - 2], B[F - 1]) + break + case 39: + ;(this.$ = B[F - 3]), O.setClickEvent(B[F - 3], B[F - 1], B[F]), O.setLink(B[F - 3], B[F - 2]) + break + case 40: + ;(this.$ = B[F - 1]), O.setLink(B[F - 1], B[F]) + break + case 41: + case 47: + this.$ = B[F - 1] + " " + B[F] + break + case 42: + case 43: + case 45: + this.$ = B[F - 2] + " " + B[F - 1] + " " + B[F] + break + case 44: + case 46: + this.$ = B[F - 3] + " " + B[F - 2] + " " + B[F - 1] + " " + B[F] + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: 17, + 12: r, + 13: n, + 14: i, + 15: a, + 16: s, + 17: o, + 18: l, + 19: 18, + 20: u, + 21: h, + 22: d, + 23: f, + 24: p, + 25: g, + 26: m, + 27: v, + 28: y, + 29: b, + 30: w, + 31: T, + 33: E, + 35: S, + 36: k, + 37: 24, + 38: L, + 40: A, + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { + 9: 36, + 11: 17, + 12: r, + 13: n, + 14: i, + 15: a, + 16: s, + 17: o, + 18: l, + 19: 18, + 20: u, + 21: h, + 22: d, + 23: f, + 24: p, + 25: g, + 26: m, + 27: v, + 28: y, + 29: b, + 30: w, + 31: T, + 33: E, + 35: S, + 36: k, + 37: 24, + 38: L, + 40: A, + }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 17]), + t(e, [2, 18]), + t(e, [2, 19]), + t(e, [2, 20]), + t(e, [2, 21]), + t(e, [2, 22]), + t(e, [2, 23]), + t(e, [2, 24]), + t(e, [2, 25]), + t(e, [2, 26]), + t(e, [2, 27]), + { 32: [1, 37] }, + { 34: [1, 38] }, + t(e, [2, 30]), + t(e, [2, 31]), + t(e, [2, 32]), + { 39: [1, 39] }, + t(e, [2, 8]), + t(e, [2, 9]), + t(e, [2, 10]), + t(e, [2, 11]), + t(e, [2, 12]), + t(e, [2, 13]), + t(e, [2, 14]), + t(e, [2, 15]), + t(e, [2, 16]), + { 41: [1, 40], 43: [1, 41] }, + t(e, [2, 4]), + t(e, [2, 28]), + t(e, [2, 29]), + t(e, [2, 33]), + t(e, [2, 34], { 42: [1, 42], 43: [1, 43] }), + t(e, [2, 40], { 41: [1, 44] }), + t(e, [2, 35], { 43: [1, 45] }), + t(e, [2, 36]), + t(e, [2, 38], { 42: [1, 46] }), + t(e, [2, 37]), + t(e, [2, 39]), + ], + defaultActions: {}, + parseError: x(function (_, N) { + if (N.recoverable) this.trace(_) + else { + var M = new Error(_) + throw ((M.hash = N), M) + } + }, "parseError"), + parse: x(function (_) { + var N = this, + M = [0], + O = [], + D = [null], + B = [], + z = this.table, + F = "", + G = 0, + q = 0, + Y = 2, + ee = 1, + Q = B.slice.call(arguments, 1), + oe = Object.create(this.lexer), + pe = { yy: {} } + for (var j in this.yy) Object.prototype.hasOwnProperty.call(this.yy, j) && (pe.yy[j] = this.yy[j]) + oe.setInput(_, pe.yy), + (pe.yy.lexer = oe), + (pe.yy.parser = this), + typeof oe.yylloc > "u" && (oe.yylloc = {}) + var H = oe.yylloc + B.push(H) + var X = oe.options && oe.options.ranges + typeof pe.yy.parseError == "function" + ? (this.parseError = pe.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function W(_e) { + ;(M.length = M.length - 2 * _e), (D.length = D.length - _e), (B.length = B.length - _e) + } + x(W, "popStack") + function K() { + var _e + return ( + (_e = O.pop() || oe.lex() || ee), + typeof _e != "number" && + (_e instanceof Array && ((O = _e), (_e = O.pop())), (_e = N.symbols_[_e] || _e)), + _e + ) + } + x(K, "lex") + for (var ne, Z, be, ce, re = {}, Ne, me, Ve, Ue; ; ) { + if ( + ((Z = M[M.length - 1]), + this.defaultActions[Z] + ? (be = this.defaultActions[Z]) + : ((ne === null || typeof ne > "u") && (ne = K()), (be = z[Z] && z[Z][ne])), + typeof be > "u" || !be.length || !be[0]) + ) { + var Fe = "" + Ue = [] + for (Ne in z[Z]) this.terminals_[Ne] && Ne > Y && Ue.push("'" + this.terminals_[Ne] + "'") + oe.showPosition + ? (Fe = + "Parse error on line " + + (G + 1) + + `: +` + + oe.showPosition() + + ` +Expecting ` + + Ue.join(", ") + + ", got '" + + (this.terminals_[ne] || ne) + + "'") + : (Fe = + "Parse error on line " + + (G + 1) + + ": Unexpected " + + (ne == ee ? "end of input" : "'" + (this.terminals_[ne] || ne) + "'")), + this.parseError(Fe, { + text: oe.match, + token: this.terminals_[ne] || ne, + line: oe.yylineno, + loc: H, + expected: Ue, + }) + } + if (be[0] instanceof Array && be.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + Z + ", token: " + ne) + switch (be[0]) { + case 1: + M.push(ne), + D.push(oe.yytext), + B.push(oe.yylloc), + M.push(be[1]), + (ne = null), + (q = oe.yyleng), + (F = oe.yytext), + (G = oe.yylineno), + (H = oe.yylloc) + break + case 2: + if ( + ((me = this.productions_[be[1]][1]), + (re.$ = D[D.length - me]), + (re._$ = { + first_line: B[B.length - (me || 1)].first_line, + last_line: B[B.length - 1].last_line, + first_column: B[B.length - (me || 1)].first_column, + last_column: B[B.length - 1].last_column, + }), + X && (re._$.range = [B[B.length - (me || 1)].range[0], B[B.length - 1].range[1]]), + (ce = this.performAction.apply(re, [F, q, G, pe.yy, be[1], D, B].concat(Q))), + typeof ce < "u") + ) + return ce + me && ((M = M.slice(0, -1 * me * 2)), (D = D.slice(0, -1 * me)), (B = B.slice(0, -1 * me))), + M.push(this.productions_[be[1]][0]), + D.push(re.$), + B.push(re._$), + (Ve = z[M[M.length - 2]][M[M.length - 1]]), + M.push(Ve) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + C = (function () { + var P = { + EOF: 1, + parseError: x(function (N, M) { + if (this.yy.parser) this.yy.parser.parseError(N, M) + else throw new Error(N) + }, "parseError"), + setInput: x(function (_, N) { + return ( + (this.yy = N || this.yy || {}), + (this._input = _), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var _ = this._input[0] + ;(this.yytext += _), this.yyleng++, this.offset++, (this.match += _), (this.matched += _) + var N = _.match(/(?:\r\n?|\n).*/g) + return ( + N ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + _ + ) + }, "input"), + unput: x(function (_) { + var N = _.length, + M = _.split(/(?:\r\n?|\n)/g) + ;(this._input = _ + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - N)), + (this.offset -= N) + var O = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + M.length - 1 && (this.yylineno -= M.length - 1) + var D = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: M + ? (M.length === O.length ? this.yylloc.first_column : 0) + + O[O.length - M.length].length - + M[0].length + : this.yylloc.first_column - N, + }), + this.options.ranges && (this.yylloc.range = [D[0], D[0] + this.yyleng - N]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (_) { + this.unput(this.match.slice(_)) + }, "less"), + pastInput: x(function () { + var _ = this.matched.substr(0, this.matched.length - this.match.length) + return (_.length > 20 ? "..." : "") + _.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var _ = this.match + return ( + _.length < 20 && (_ += this._input.substr(0, 20 - _.length)), + (_.substr(0, 20) + (_.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var _ = this.pastInput(), + N = new Array(_.length + 1).join("-") + return ( + _ + + this.upcomingInput() + + ` +` + + N + + "^" + ) + }, "showPosition"), + test_match: x(function (_, N) { + var M, O, D + if ( + (this.options.backtrack_lexer && + ((D = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (D.yylloc.range = this.yylloc.range.slice(0))), + (O = _[0].match(/(?:\r\n?|\n).*/g)), + O && (this.yylineno += O.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: O + ? O[O.length - 1].length - O[O.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + _[0].length, + }), + (this.yytext += _[0]), + (this.match += _[0]), + (this.matches = _), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(_[0].length)), + (this.matched += _[0]), + (M = this.performAction.call( + this, + this.yy, + this, + N, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + M) + ) + return M + if (this._backtrack) { + for (var B in D) this[B] = D[B] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var _, N, M, O + this._more || ((this.yytext = ""), (this.match = "")) + for (var D = this._currentRules(), B = 0; B < D.length; B++) + if (((M = this._input.match(this.rules[D[B]])), M && (!N || M[0].length > N[0].length))) { + if (((N = M), (O = B), this.options.backtrack_lexer)) { + if (((_ = this.test_match(M, D[B])), _ !== !1)) return _ + if (this._backtrack) { + N = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return N + ? ((_ = this.test_match(N, D[O])), _ !== !1 ? _ : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var N = this.next() + return N || this.lex() + }, "lex"), + begin: x(function (N) { + this.conditionStack.push(N) + }, "begin"), + popState: x(function () { + var N = this.conditionStack.length - 1 + return N > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (N) { + return ( + (N = this.conditionStack.length - 1 - Math.abs(N || 0)), + N >= 0 ? this.conditionStack[N] : "INITIAL" + ) + }, "topState"), + pushState: x(function (N) { + this.begin(N) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (N, M, O, D) { + switch (O) { + case 0: + return this.begin("open_directive"), "open_directive" + case 1: + return this.begin("acc_title"), 31 + case 2: + return this.popState(), "acc_title_value" + case 3: + return this.begin("acc_descr"), 33 + case 4: + return this.popState(), "acc_descr_value" + case 5: + this.begin("acc_descr_multiline") + break + case 6: + this.popState() + break + case 7: + return "acc_descr_multiline_value" + case 8: + break + case 9: + break + case 10: + break + case 11: + return 10 + case 12: + break + case 13: + break + case 14: + this.begin("href") + break + case 15: + this.popState() + break + case 16: + return 43 + case 17: + this.begin("callbackname") + break + case 18: + this.popState() + break + case 19: + this.popState(), this.begin("callbackargs") + break + case 20: + return 41 + case 21: + this.popState() + break + case 22: + return 42 + case 23: + this.begin("click") + break + case 24: + this.popState() + break + case 25: + return 40 + case 26: + return 4 + case 27: + return 22 + case 28: + return 23 + case 29: + return 24 + case 30: + return 25 + case 31: + return 26 + case 32: + return 28 + case 33: + return 27 + case 34: + return 29 + case 35: + return 12 + case 36: + return 13 + case 37: + return 14 + case 38: + return 15 + case 39: + return 16 + case 40: + return 17 + case 41: + return 18 + case 42: + return 20 + case 43: + return 21 + case 44: + return "date" + case 45: + return 30 + case 46: + return "accDescription" + case 47: + return 36 + case 48: + return 38 + case 49: + return 39 + case 50: + return ":" + case 51: + return 6 + case 52: + return "INVALID" + } + }, "anonymous"), + rules: [ + /^(?:%%\{)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:%%(?!\{)*[^\n]*)/i, + /^(?:[^\}]%%*[^\n]*)/i, + /^(?:%%*[^\n]*[\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:%[^\n]*)/i, + /^(?:href[\s]+["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:call[\s]+)/i, + /^(?:\([\s]*\))/i, + /^(?:\()/i, + /^(?:[^(]*)/i, + /^(?:\))/i, + /^(?:[^)]*)/i, + /^(?:click[\s]+)/i, + /^(?:[\s\n])/i, + /^(?:[^\s\n]*)/i, + /^(?:gantt\b)/i, + /^(?:dateFormat\s[^#\n;]+)/i, + /^(?:inclusiveEndDates\b)/i, + /^(?:topAxis\b)/i, + /^(?:axisFormat\s[^#\n;]+)/i, + /^(?:tickInterval\s[^#\n;]+)/i, + /^(?:includes\s[^#\n;]+)/i, + /^(?:excludes\s[^#\n;]+)/i, + /^(?:todayMarker\s[^\n;]+)/i, + /^(?:weekday\s+monday\b)/i, + /^(?:weekday\s+tuesday\b)/i, + /^(?:weekday\s+wednesday\b)/i, + /^(?:weekday\s+thursday\b)/i, + /^(?:weekday\s+friday\b)/i, + /^(?:weekday\s+saturday\b)/i, + /^(?:weekday\s+sunday\b)/i, + /^(?:weekend\s+friday\b)/i, + /^(?:weekend\s+saturday\b)/i, + /^(?:\d\d\d\d-\d\d-\d\d\b)/i, + /^(?:title\s[^\n]+)/i, + /^(?:accDescription\s[^#\n;]+)/i, + /^(?:section\s[^\n]+)/i, + /^(?:[^:\n]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + acc_descr_multiline: { rules: [6, 7], inclusive: !1 }, + acc_descr: { rules: [4], inclusive: !1 }, + acc_title: { rules: [2], inclusive: !1 }, + callbackargs: { rules: [21, 22], inclusive: !1 }, + callbackname: { rules: [18, 19, 20], inclusive: !1 }, + href: { rules: [15, 16], inclusive: !1 }, + click: { rules: [24, 25], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + ], + inclusive: !0, + }, + }, + } + return P + })() + R.lexer = C + function I() { + this.yy = {} + } + return x(I, "Parser"), (I.prototype = R), (R.Parser = I), new I() +})() +o6.parser = o6 +var T5e = o6 +wi.extend(f5e) +wi.extend(v5e) +wi.extend(w5e) +var o9 = { friday: 5, saturday: 6 }, + Hs = "", + Dk = "", + Ik = void 0, + Mk = "", + Pg = [], + Bg = [], + Ok = new Map(), + Pk = [], + Gy = [], + Ud = "", + Bk = "", + SG = ["active", "done", "crit", "milestone"], + Fk = [], + Fg = !1, + $k = !1, + zk = "sunday", + Uy = "saturday", + l6 = 0, + E5e = x(function () { + ;(Pk = []), + (Gy = []), + (Ud = ""), + (Fk = []), + (Hm = 0), + (u6 = void 0), + (Ym = void 0), + (_n = []), + (Hs = ""), + (Dk = ""), + (Bk = ""), + (Ik = void 0), + (Mk = ""), + (Pg = []), + (Bg = []), + (Fg = !1), + ($k = !1), + (l6 = 0), + (Ok = new Map()), + Gn(), + (zk = "sunday"), + (Uy = "saturday") + }, "clear"), + k5e = x(function (t) { + Dk = t + }, "setAxisFormat"), + S5e = x(function () { + return Dk + }, "getAxisFormat"), + C5e = x(function (t) { + Ik = t + }, "setTickInterval"), + A5e = x(function () { + return Ik + }, "getTickInterval"), + _5e = x(function (t) { + Mk = t + }, "setTodayMarker"), + L5e = x(function () { + return Mk + }, "getTodayMarker"), + R5e = x(function (t) { + Hs = t + }, "setDateFormat"), + N5e = x(function () { + Fg = !0 + }, "enableInclusiveEndDates"), + D5e = x(function () { + return Fg + }, "endDatesAreInclusive"), + I5e = x(function () { + $k = !0 + }, "enableTopAxis"), + M5e = x(function () { + return $k + }, "topAxisEnabled"), + O5e = x(function (t) { + Bk = t + }, "setDisplayMode"), + P5e = x(function () { + return Bk + }, "getDisplayMode"), + B5e = x(function () { + return Hs + }, "getDateFormat"), + F5e = x(function (t) { + Pg = t.toLowerCase().split(/[\s,]+/) + }, "setIncludes"), + $5e = x(function () { + return Pg + }, "getIncludes"), + z5e = x(function (t) { + Bg = t.toLowerCase().split(/[\s,]+/) + }, "setExcludes"), + V5e = x(function () { + return Bg + }, "getExcludes"), + G5e = x(function () { + return Ok + }, "getLinks"), + U5e = x(function (t) { + ;(Ud = t), Pk.push(t) + }, "addSection"), + q5e = x(function () { + return Pk + }, "getSections"), + W5e = x(function () { + let t = l9() + const e = 10 + let r = 0 + for (; !t && r < e; ) (t = l9()), r++ + return (Gy = _n), Gy + }, "getTasks"), + CG = x(function (t, e, r, n) { + return n.includes(t.format(e.trim())) + ? !1 + : (r.includes("weekends") && (t.isoWeekday() === o9[Uy] || t.isoWeekday() === o9[Uy] + 1)) || + r.includes(t.format("dddd").toLowerCase()) + ? !0 + : r.includes(t.format(e.trim())) + }, "isInvalidDate"), + H5e = x(function (t) { + zk = t + }, "setWeekday"), + Y5e = x(function () { + return zk + }, "getWeekday"), + X5e = x(function (t) { + Uy = t + }, "setWeekend"), + AG = x(function (t, e, r, n) { + if (!r.length || t.manualEndTime) return + let i + t.startTime instanceof Date ? (i = wi(t.startTime)) : (i = wi(t.startTime, e, !0)), (i = i.add(1, "d")) + let a + t.endTime instanceof Date ? (a = wi(t.endTime)) : (a = wi(t.endTime, e, !0)) + const [s, o] = j5e(i, a, e, r, n) + ;(t.endTime = s.toDate()), (t.renderEndTime = o) + }, "checkTaskDates"), + j5e = x(function (t, e, r, n, i) { + let a = !1, + s = null + for (; t <= e; ) a || (s = e.toDate()), (a = CG(t, r, n, i)), a && (e = e.add(1, "d")), (t = t.add(1, "d")) + return [e, s] + }, "fixTaskDates"), + c6 = x(function (t, e, r) { + r = r.trim() + const i = /^after\s+(?<ids>[\d\w- ]+)/.exec(r) + if (i !== null) { + let s = null + for (const l of i.groups.ids.split(" ")) { + let u = Du(l) + u !== void 0 && (!s || u.endTime > s.endTime) && (s = u) + } + if (s) return s.endTime + const o = new Date() + return o.setHours(0, 0, 0, 0), o + } + let a = wi(r, e.trim(), !0) + if (a.isValid()) return a.toDate() + { + ie.debug("Invalid date:" + r), ie.debug("With date format:" + e.trim()) + const s = new Date(r) + if (s === void 0 || isNaN(s.getTime()) || s.getFullYear() < -1e4 || s.getFullYear() > 1e4) + throw new Error("Invalid date:" + r) + return s + } + }, "getStartDate"), + _G = x(function (t) { + const e = /^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim()) + return e !== null ? [Number.parseFloat(e[1]), e[2]] : [NaN, "ms"] + }, "parseDuration"), + LG = x(function (t, e, r, n = !1) { + r = r.trim() + const a = /^until\s+(?<ids>[\d\w- ]+)/.exec(r) + if (a !== null) { + let h = null + for (const f of a.groups.ids.split(" ")) { + let p = Du(f) + p !== void 0 && (!h || p.startTime < h.startTime) && (h = p) + } + if (h) return h.startTime + const d = new Date() + return d.setHours(0, 0, 0, 0), d + } + let s = wi(r, e.trim(), !0) + if (s.isValid()) return n && (s = s.add(1, "d")), s.toDate() + let o = wi(t) + const [l, u] = _G(r) + if (!Number.isNaN(l)) { + const h = o.add(l, u) + h.isValid() && (o = h) + } + return o.toDate() + }, "getEndDate"), + Hm = 0, + wh = x(function (t) { + return t === void 0 ? ((Hm = Hm + 1), "task" + Hm) : t + }, "parseId"), + K5e = x(function (t, e) { + let r + e.substr(0, 1) === ":" ? (r = e.substr(1, e.length)) : (r = e) + const n = r.split(","), + i = {} + Vk(n, i, SG) + for (let s = 0; s < n.length; s++) n[s] = n[s].trim() + let a = "" + switch (n.length) { + case 1: + ;(i.id = wh()), (i.startTime = t.endTime), (a = n[0]) + break + case 2: + ;(i.id = wh()), (i.startTime = c6(void 0, Hs, n[0])), (a = n[1]) + break + case 3: + ;(i.id = wh(n[0])), (i.startTime = c6(void 0, Hs, n[1])), (a = n[2]) + break + } + return ( + a && + ((i.endTime = LG(i.startTime, Hs, a, Fg)), + (i.manualEndTime = wi(a, "YYYY-MM-DD", !0).isValid()), + AG(i, Hs, Bg, Pg)), + i + ) + }, "compileData"), + Z5e = x(function (t, e) { + let r + e.substr(0, 1) === ":" ? (r = e.substr(1, e.length)) : (r = e) + const n = r.split(","), + i = {} + Vk(n, i, SG) + for (let a = 0; a < n.length; a++) n[a] = n[a].trim() + switch (n.length) { + case 1: + ;(i.id = wh()), (i.startTime = { type: "prevTaskEnd", id: t }), (i.endTime = { data: n[0] }) + break + case 2: + ;(i.id = wh()), (i.startTime = { type: "getStartDate", startData: n[0] }), (i.endTime = { data: n[1] }) + break + case 3: + ;(i.id = wh(n[0])), + (i.startTime = { type: "getStartDate", startData: n[1] }), + (i.endTime = { data: n[2] }) + break + } + return i + }, "parseData"), + u6, + Ym, + _n = [], + RG = {}, + Q5e = x(function (t, e) { + const r = { + section: Ud, + type: Ud, + processed: !1, + manualEndTime: !1, + renderEndTime: null, + raw: { data: e }, + task: t, + classes: [], + }, + n = Z5e(Ym, e) + ;(r.raw.startTime = n.startTime), + (r.raw.endTime = n.endTime), + (r.id = n.id), + (r.prevTaskId = Ym), + (r.active = n.active), + (r.done = n.done), + (r.crit = n.crit), + (r.milestone = n.milestone), + (r.order = l6), + l6++ + const i = _n.push(r) + ;(Ym = r.id), (RG[r.id] = i - 1) + }, "addTask"), + Du = x(function (t) { + const e = RG[t] + return _n[e] + }, "findTaskById"), + J5e = x(function (t, e) { + const r = { section: Ud, type: Ud, description: t, task: t, classes: [] }, + n = K5e(u6, e) + ;(r.startTime = n.startTime), + (r.endTime = n.endTime), + (r.id = n.id), + (r.active = n.active), + (r.done = n.done), + (r.crit = n.crit), + (r.milestone = n.milestone), + (u6 = r), + Gy.push(r) + }, "addTaskOrg"), + l9 = x(function () { + const t = x(function (r) { + const n = _n[r] + let i = "" + switch (_n[r].raw.startTime.type) { + case "prevTaskEnd": { + const a = Du(n.prevTaskId) + n.startTime = a.endTime + break + } + case "getStartDate": + ;(i = c6(void 0, Hs, _n[r].raw.startTime.startData)), i && (_n[r].startTime = i) + break + } + return ( + _n[r].startTime && + ((_n[r].endTime = LG(_n[r].startTime, Hs, _n[r].raw.endTime.data, Fg)), + _n[r].endTime && + ((_n[r].processed = !0), + (_n[r].manualEndTime = wi(_n[r].raw.endTime.data, "YYYY-MM-DD", !0).isValid()), + AG(_n[r], Hs, Bg, Pg))), + _n[r].processed + ) + }, "compileTask") + let e = !0 + for (const [r, n] of _n.entries()) t(r), (e = e && n.processed) + return e + }, "compileTasks"), + e3e = x(function (t, e) { + let r = e + we().securityLevel !== "loose" && (r = fu.sanitizeUrl(e)), + t.split(",").forEach(function (n) { + Du(n) !== void 0 && + (DG(n, () => { + window.open(r, "_self") + }), + Ok.set(n, r)) + }), + NG(t, "clickable") + }, "setLink"), + NG = x(function (t, e) { + t.split(",").forEach(function (r) { + let n = Du(r) + n !== void 0 && n.classes.push(e) + }) + }, "setClass"), + t3e = x(function (t, e, r) { + if (we().securityLevel !== "loose" || e === void 0) return + let n = [] + if (typeof r == "string") { + n = r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/) + for (let a = 0; a < n.length; a++) { + let s = n[a].trim() + s.startsWith('"') && s.endsWith('"') && (s = s.substr(1, s.length - 2)), (n[a] = s) + } + } + n.length === 0 && n.push(t), + Du(t) !== void 0 && + DG(t, () => { + Zt.runFunc(e, ...n) + }) + }, "setClickFun"), + DG = x(function (t, e) { + Fk.push( + function () { + const r = document.querySelector(`[id="${t}"]`) + r !== null && + r.addEventListener("click", function () { + e() + }) + }, + function () { + const r = document.querySelector(`[id="${t}-text"]`) + r !== null && + r.addEventListener("click", function () { + e() + }) + }, + ) + }, "pushFun"), + r3e = x(function (t, e, r) { + t.split(",").forEach(function (n) { + t3e(n, e, r) + }), + NG(t, "clickable") + }, "setClickEvent"), + n3e = x(function (t) { + Fk.forEach(function (e) { + e(t) + }) + }, "bindFunctions"), + i3e = { + getConfig: x(() => we().gantt, "getConfig"), + clear: E5e, + setDateFormat: R5e, + getDateFormat: B5e, + enableInclusiveEndDates: N5e, + endDatesAreInclusive: D5e, + enableTopAxis: I5e, + topAxisEnabled: M5e, + setAxisFormat: k5e, + getAxisFormat: S5e, + setTickInterval: C5e, + getTickInterval: A5e, + setTodayMarker: _5e, + getTodayMarker: L5e, + setAccTitle: $n, + getAccTitle: Zn, + setDiagramTitle: fi, + getDiagramTitle: Un, + setDisplayMode: O5e, + getDisplayMode: P5e, + setAccDescription: Qn, + getAccDescription: Jn, + addSection: U5e, + getSections: q5e, + getTasks: W5e, + addTask: Q5e, + findTaskById: Du, + addTaskOrg: J5e, + setIncludes: F5e, + getIncludes: $5e, + setExcludes: z5e, + getExcludes: V5e, + setClickEvent: r3e, + setLink: e3e, + getLinks: G5e, + bindFunctions: n3e, + parseDuration: _G, + isInvalidDate: CG, + setWeekday: H5e, + getWeekday: Y5e, + setWeekend: X5e, + } +function Vk(t, e, r) { + let n = !0 + for (; n; ) + (n = !1), + r.forEach(function (i) { + const a = "^\\s*" + i + "\\s*$", + s = new RegExp(a) + t[0].match(s) && ((e[i] = !0), t.shift(1), (n = !0)) + }) +} +x(Vk, "getTaskTags") +var a3e = x(function () { + ie.debug("Something is calling, setConf, remove the call") + }, "setConf"), + c9 = { monday: Sp, tuesday: MO, wednesday: OO, thursday: Yc, friday: PO, saturday: BO, sunday: fg }, + s3e = x((t, e) => { + let r = [...t].map(() => -1 / 0), + n = [...t].sort((a, s) => a.startTime - s.startTime || a.order - s.order), + i = 0 + for (const a of n) + for (let s = 0; s < r.length; s++) + if (a.startTime >= r[s]) { + ;(r[s] = a.endTime), (a.order = s + e), s > i && (i = s) + break + } + return i + }, "getMaxIntersections"), + yo, + o3e = x(function (t, e, r, n) { + const i = we().gantt, + a = we().securityLevel + let s + a === "sandbox" && (s = rt("#i" + e)) + const o = rt(a === "sandbox" ? s.nodes()[0].contentDocument.body : "body"), + l = a === "sandbox" ? s.nodes()[0].contentDocument : document, + u = l.getElementById(e) + ;(yo = u.parentElement.offsetWidth), yo === void 0 && (yo = 1200), i.useWidth !== void 0 && (yo = i.useWidth) + const h = n.db.getTasks() + let d = [] + for (const L of h) d.push(L.type) + d = k(d) + const f = {} + let p = 2 * i.topPadding + if (n.db.getDisplayMode() === "compact" || i.displayMode === "compact") { + const L = {} + for (const R of h) L[R.section] === void 0 ? (L[R.section] = [R]) : L[R.section].push(R) + let A = 0 + for (const R of Object.keys(L)) { + const C = s3e(L[R], A) + 1 + ;(A += C), (p += C * (i.barHeight + i.barGap)), (f[R] = C) + } + } else { + p += h.length * (i.barHeight + i.barGap) + for (const L of d) f[L] = h.filter((A) => A.type === L).length + } + u.setAttribute("viewBox", "0 0 " + yo + " " + p) + const g = o.select(`[id="${e}"]`), + m = pne() + .domain([ + jZ(h, function (L) { + return L.startTime + }), + XZ(h, function (L) { + return L.endTime + }), + ]) + .rangeRound([0, yo - i.leftPadding - i.rightPadding]) + function v(L, A) { + const R = L.startTime, + C = A.startTime + let I = 0 + return R > C ? (I = 1) : R < C && (I = -1), I + } + x(v, "taskCompare"), + h.sort(v), + y(h, yo, p), + da(g, p, yo, i.useMaxWidth), + g + .append("text") + .text(n.db.getDiagramTitle()) + .attr("x", yo / 2) + .attr("y", i.titleTopMargin) + .attr("class", "titleText") + function y(L, A, R) { + const C = i.barHeight, + I = C + i.barGap, + P = i.topPadding, + _ = i.leftPadding, + N = _d().domain([0, d.length]).range(["#00B9FA", "#F95002"]).interpolate(yee) + w(I, P, _, A, R, L, n.db.getExcludes(), n.db.getIncludes()), + T(_, P, A, R), + b(L, I, P, _, C, N, A), + E(I, P), + S(_, P, A, R) + } + x(y, "makeGantt") + function b(L, A, R, C, I, P, _) { + const M = [...new Set(L.map((z) => z.order))].map((z) => L.find((F) => F.order === z)) + g.append("g") + .selectAll("rect") + .data(M) + .enter() + .append("rect") + .attr("x", 0) + .attr("y", function (z, F) { + return (F = z.order), F * A + R - 2 + }) + .attr("width", function () { + return _ - i.rightPadding / 2 + }) + .attr("height", A) + .attr("class", function (z) { + for (const [F, G] of d.entries()) + if (z.type === G) return "section section" + (F % i.numberSectionStyles) + return "section section0" + }) + const O = g.append("g").selectAll("rect").data(L).enter(), + D = n.db.getLinks() + if ( + (O.append("rect") + .attr("id", function (z) { + return z.id + }) + .attr("rx", 3) + .attr("ry", 3) + .attr("x", function (z) { + return z.milestone + ? m(z.startTime) + C + 0.5 * (m(z.endTime) - m(z.startTime)) - 0.5 * I + : m(z.startTime) + C + }) + .attr("y", function (z, F) { + return (F = z.order), F * A + R + }) + .attr("width", function (z) { + return z.milestone ? I : m(z.renderEndTime || z.endTime) - m(z.startTime) + }) + .attr("height", I) + .attr("transform-origin", function (z, F) { + return ( + (F = z.order), + (m(z.startTime) + C + 0.5 * (m(z.endTime) - m(z.startTime))).toString() + + "px " + + (F * A + R + 0.5 * I).toString() + + "px" + ) + }) + .attr("class", function (z) { + const F = "task" + let G = "" + z.classes.length > 0 && (G = z.classes.join(" ")) + let q = 0 + for (const [ee, Q] of d.entries()) z.type === Q && (q = ee % i.numberSectionStyles) + let Y = "" + return ( + z.active + ? z.crit + ? (Y += " activeCrit") + : (Y = " active") + : z.done + ? z.crit + ? (Y = " doneCrit") + : (Y = " done") + : z.crit && (Y += " crit"), + Y.length === 0 && (Y = " task"), + z.milestone && (Y = " milestone " + Y), + (Y += q), + (Y += " " + G), + F + Y + ) + }), + O.append("text") + .attr("id", function (z) { + return z.id + "-text" + }) + .text(function (z) { + return z.task + }) + .attr("font-size", i.fontSize) + .attr("x", function (z) { + let F = m(z.startTime), + G = m(z.renderEndTime || z.endTime) + z.milestone && (F += 0.5 * (m(z.endTime) - m(z.startTime)) - 0.5 * I), + z.milestone && (G = F + I) + const q = this.getBBox().width + return q > G - F + ? G + q + 1.5 * i.leftPadding > _ + ? F + C - 5 + : G + C + 5 + : (G - F) / 2 + F + C + }) + .attr("y", function (z, F) { + return (F = z.order), F * A + i.barHeight / 2 + (i.fontSize / 2 - 2) + R + }) + .attr("text-height", I) + .attr("class", function (z) { + const F = m(z.startTime) + let G = m(z.endTime) + z.milestone && (G = F + I) + const q = this.getBBox().width + let Y = "" + z.classes.length > 0 && (Y = z.classes.join(" ")) + let ee = 0 + for (const [oe, pe] of d.entries()) z.type === pe && (ee = oe % i.numberSectionStyles) + let Q = "" + return ( + z.active && (z.crit ? (Q = "activeCritText" + ee) : (Q = "activeText" + ee)), + z.done + ? z.crit + ? (Q = Q + " doneCritText" + ee) + : (Q = Q + " doneText" + ee) + : z.crit && (Q = Q + " critText" + ee), + z.milestone && (Q += " milestoneText"), + q > G - F + ? G + q + 1.5 * i.leftPadding > _ + ? Y + " taskTextOutsideLeft taskTextOutside" + ee + " " + Q + : Y + " taskTextOutsideRight taskTextOutside" + ee + " " + Q + " width-" + q + : Y + " taskText taskText" + ee + " " + Q + " width-" + q + ) + }), + we().securityLevel === "sandbox") + ) { + let z + z = rt("#i" + e) + const F = z.nodes()[0].contentDocument + O.filter(function (G) { + return D.has(G.id) + }).each(function (G) { + var q = F.querySelector("#" + G.id), + Y = F.querySelector("#" + G.id + "-text") + const ee = q.parentNode + var Q = F.createElement("a") + Q.setAttribute("xlink:href", D.get(G.id)), + Q.setAttribute("target", "_top"), + ee.appendChild(Q), + Q.appendChild(q), + Q.appendChild(Y) + }) + } + } + x(b, "drawRects") + function w(L, A, R, C, I, P, _, N) { + if (_.length === 0 && N.length === 0) return + let M, O + for (const { startTime: q, endTime: Y } of P) + (M === void 0 || q < M) && (M = q), (O === void 0 || Y > O) && (O = Y) + if (!M || !O) return + if (wi(O).diff(wi(M), "year") > 5) { + ie.warn( + "The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.", + ) + return + } + const D = n.db.getDateFormat(), + B = [] + let z = null, + F = wi(M) + for (; F.valueOf() <= O; ) + n.db.isInvalidDate(F, D, _, N) + ? z + ? (z.end = F) + : (z = { start: F, end: F }) + : z && (B.push(z), (z = null)), + (F = F.add(1, "d")) + g.append("g") + .selectAll("rect") + .data(B) + .enter() + .append("rect") + .attr("id", function (q) { + return "exclude-" + q.start.format("YYYY-MM-DD") + }) + .attr("x", function (q) { + return m(q.start) + R + }) + .attr("y", i.gridLineStartPadding) + .attr("width", function (q) { + const Y = q.end.add(1, "day") + return m(Y) - m(q.start) + }) + .attr("height", I - A - i.gridLineStartPadding) + .attr("transform-origin", function (q, Y) { + return ( + (m(q.start) + R + 0.5 * (m(q.end) - m(q.start))).toString() + + "px " + + (Y * L + 0.5 * I).toString() + + "px" + ) + }) + .attr("class", "exclude-range") + } + x(w, "drawExcludeDays") + function T(L, A, R, C) { + let I = iQ(m) + .tickSize(-C + A + i.gridLineStartPadding) + .tickFormat(Uv(n.db.getAxisFormat() || i.axisFormat || "%Y-%m-%d")) + const _ = /^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec( + n.db.getTickInterval() || i.tickInterval, + ) + if (_ !== null) { + const N = _[1], + M = _[2], + O = n.db.getWeekday() || i.weekday + switch (M) { + case "millisecond": + I.ticks(Ld.every(N)) + break + case "second": + I.ticks(vl.every(N)) + break + case "minute": + I.ticks(Ep.every(N)) + break + case "hour": + I.ticks(kp.every(N)) + break + case "day": + I.ticks(Hc.every(N)) + break + case "week": + I.ticks(c9[O].every(N)) + break + case "month": + I.ticks(Cp.every(N)) + break + } + } + if ( + (g + .append("g") + .attr("class", "grid") + .attr("transform", "translate(" + L + ", " + (C - 50) + ")") + .call(I) + .selectAll("text") + .style("text-anchor", "middle") + .attr("fill", "#000") + .attr("stroke", "none") + .attr("font-size", 10) + .attr("dy", "1em"), + n.db.topAxisEnabled() || i.topAxis) + ) { + let N = nQ(m) + .tickSize(-C + A + i.gridLineStartPadding) + .tickFormat(Uv(n.db.getAxisFormat() || i.axisFormat || "%Y-%m-%d")) + if (_ !== null) { + const M = _[1], + O = _[2], + D = n.db.getWeekday() || i.weekday + switch (O) { + case "millisecond": + N.ticks(Ld.every(M)) + break + case "second": + N.ticks(vl.every(M)) + break + case "minute": + N.ticks(Ep.every(M)) + break + case "hour": + N.ticks(kp.every(M)) + break + case "day": + N.ticks(Hc.every(M)) + break + case "week": + N.ticks(c9[D].every(M)) + break + case "month": + N.ticks(Cp.every(M)) + break + } + } + g.append("g") + .attr("class", "grid") + .attr("transform", "translate(" + L + ", " + A + ")") + .call(N) + .selectAll("text") + .style("text-anchor", "middle") + .attr("fill", "#000") + .attr("stroke", "none") + .attr("font-size", 10) + } + } + x(T, "makeGrid") + function E(L, A) { + let R = 0 + const C = Object.keys(f).map((I) => [I, f[I]]) + g.append("g") + .selectAll("text") + .data(C) + .enter() + .append(function (I) { + const P = I[0].split(it.lineBreakRegex), + _ = -(P.length - 1) / 2, + N = l.createElementNS("http://www.w3.org/2000/svg", "text") + N.setAttribute("dy", _ + "em") + for (const [M, O] of P.entries()) { + const D = l.createElementNS("http://www.w3.org/2000/svg", "tspan") + D.setAttribute("alignment-baseline", "central"), + D.setAttribute("x", "10"), + M > 0 && D.setAttribute("dy", "1em"), + (D.textContent = O), + N.appendChild(D) + } + return N + }) + .attr("x", 10) + .attr("y", function (I, P) { + if (P > 0) for (let _ = 0; _ < P; _++) return (R += C[P - 1][1]), (I[1] * L) / 2 + R * L + A + else return (I[1] * L) / 2 + A + }) + .attr("font-size", i.sectionFontSize) + .attr("class", function (I) { + for (const [P, _] of d.entries()) + if (I[0] === _) return "sectionTitle sectionTitle" + (P % i.numberSectionStyles) + return "sectionTitle" + }) + } + x(E, "vertLabels") + function S(L, A, R, C) { + const I = n.db.getTodayMarker() + if (I === "off") return + const P = g.append("g").attr("class", "today"), + _ = new Date(), + N = P.append("line") + N.attr("x1", m(_) + L) + .attr("x2", m(_) + L) + .attr("y1", i.titleTopMargin) + .attr("y2", C - i.titleTopMargin) + .attr("class", "today"), + I !== "" && N.attr("style", I.replace(/,/g, ";")) + } + x(S, "drawToday") + function k(L) { + const A = {}, + R = [] + for (let C = 0, I = L.length; C < I; ++C) + Object.prototype.hasOwnProperty.call(A, L[C]) || ((A[L[C]] = !0), R.push(L[C])) + return R + } + x(k, "checkUnique") + }, "draw"), + l3e = { setConf: a3e, draw: o3e }, + c3e = x( + (t) => ` + .mermaid-main-font { + font-family: ${t.fontFamily}; + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: ${t.fontFamily}; + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor || t.textColor}; + font-family: ${t.fontFamily}; + } +`, + "getStyles", + ), + u3e = c3e, + h3e = { parser: T5e, db: i3e, renderer: l3e, styles: u3e } +const d3e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: h3e }, Symbol.toStringTag, { value: "Module" }), +) +var f3e = { + parse: x(async (t) => { + const e = await Ru("info", t) + ie.debug(e) + }, "parse"), + }, + p3e = { version: cw.version }, + g3e = x(() => p3e.version, "getVersion"), + m3e = { getVersion: g3e }, + v3e = x((t, e, r) => { + ie.debug( + `rendering info diagram +` + t, + ) + const n = il(e) + da(n, 100, 400, !0), + n + .append("g") + .append("text") + .attr("x", 100) + .attr("y", 40) + .attr("class", "version") + .attr("font-size", 32) + .style("text-anchor", "middle") + .text(`v${r}`) + }, "draw"), + y3e = { draw: v3e }, + x3e = { parser: f3e, db: m3e, renderer: y3e } +const b3e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: x3e }, Symbol.toStringTag, { value: "Module" }), +) +var w3e = hr.pie, + Gk = { sections: new Map(), showData: !1 }, + qy = Gk.sections, + Uk = Gk.showData, + T3e = structuredClone(w3e), + E3e = x(() => structuredClone(T3e), "getConfig"), + k3e = x(() => { + ;(qy = new Map()), (Uk = Gk.showData), Gn() + }, "clear"), + S3e = x(({ label: t, value: e }) => { + qy.has(t) || (qy.set(t, e), ie.debug(`added new section: ${t}, with value: ${e}`)) + }, "addSection"), + C3e = x(() => qy, "getSections"), + A3e = x((t) => { + Uk = t + }, "setShowData"), + _3e = x(() => Uk, "getShowData"), + IG = { + getConfig: E3e, + clear: k3e, + setDiagramTitle: fi, + getDiagramTitle: Un, + setAccTitle: $n, + getAccTitle: Zn, + setAccDescription: Qn, + getAccDescription: Jn, + addSection: S3e, + getSections: C3e, + setShowData: A3e, + getShowData: _3e, + }, + L3e = x((t, e) => { + hf(t, e), e.setShowData(t.showData), t.sections.map(e.addSection) + }, "populateDb"), + R3e = { + parse: x(async (t) => { + const e = await Ru("pie", t) + ie.debug(e), L3e(e, IG) + }, "parse"), + }, + N3e = x( + (t) => ` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`, + "getStyles", + ), + D3e = N3e, + I3e = x((t) => { + const e = [...t.entries()].map((n) => ({ label: n[0], value: n[1] })).sort((n, i) => i.value - n.value) + return Lne().value((n) => n.value)(e) + }, "createPieArcs"), + M3e = x((t, e, r, n) => { + ie.debug( + `rendering pie chart +` + t, + ) + const i = n.db, + a = we(), + s = ns(i.getConfig(), a.pie), + o = 40, + l = 18, + u = 4, + h = 450, + d = h, + f = il(e), + p = f.append("g") + p.attr("transform", "translate(" + d / 2 + "," + h / 2 + ")") + const { themeVariables: g } = a + let [m] = jl(g.pieOuterStrokeWidth) + m ?? (m = 2) + const v = s.textPosition, + y = Math.min(d, h) / 2 - o, + b = Nd().innerRadius(0).outerRadius(y), + w = Nd() + .innerRadius(y * v) + .outerRadius(y * v) + p.append("circle") + .attr("cx", 0) + .attr("cy", 0) + .attr("r", y + m / 2) + .attr("class", "pieOuterCircle") + const T = i.getSections(), + E = I3e(T), + S = [g.pie1, g.pie2, g.pie3, g.pie4, g.pie5, g.pie6, g.pie7, g.pie8, g.pie9, g.pie10, g.pie11, g.pie12], + k = M2(S) + p.selectAll("mySlices") + .data(E) + .enter() + .append("path") + .attr("d", b) + .attr("fill", (I) => k(I.data.label)) + .attr("class", "pieCircle") + let L = 0 + T.forEach((I) => { + L += I + }), + p + .selectAll("mySlices") + .data(E) + .enter() + .append("text") + .text((I) => ((I.data.value / L) * 100).toFixed(0) + "%") + .attr("transform", (I) => "translate(" + w.centroid(I) + ")") + .style("text-anchor", "middle") + .attr("class", "slice"), + p + .append("text") + .text(i.getDiagramTitle()) + .attr("x", 0) + .attr("y", -400 / 2) + .attr("class", "pieTitleText") + const A = p + .selectAll(".legend") + .data(k.domain()) + .enter() + .append("g") + .attr("class", "legend") + .attr("transform", (I, P) => { + const _ = l + u, + N = (_ * k.domain().length) / 2, + M = 12 * l, + O = P * _ - N + return "translate(" + M + "," + O + ")" + }) + A.append("rect").attr("width", l).attr("height", l).style("fill", k).style("stroke", k), + A.data(E) + .append("text") + .attr("x", l + u) + .attr("y", l - u) + .text((I) => { + const { label: P, value: _ } = I.data + return i.getShowData() ? `${P} [${_}]` : P + }) + const R = Math.max( + ...A.selectAll("text") + .nodes() + .map((I) => (I == null ? void 0 : I.getBoundingClientRect().width) ?? 0), + ), + C = d + o + l + u + R + f.attr("viewBox", `0 0 ${C} ${h}`), da(f, h, C, s.useMaxWidth) + }, "draw"), + O3e = { draw: M3e }, + P3e = { parser: R3e, db: IG, renderer: O3e, styles: D3e } +const B3e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: P3e }, Symbol.toStringTag, { value: "Module" }), +) +var h6 = (function () { + var t = x(function (ue, $, se, ae) { + for (se = se || {}, ae = ue.length; ae--; se[ue[ae]] = $); + return se + }, "o"), + e = [1, 3], + r = [1, 4], + n = [1, 5], + i = [1, 6], + a = [1, 7], + s = [ + 1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, + 66, 67, + ], + o = [ + 1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, + 65, 66, 67, + ], + l = [55, 56, 57], + u = [2, 36], + h = [1, 37], + d = [1, 36], + f = [1, 38], + p = [1, 35], + g = [1, 43], + m = [1, 41], + v = [1, 14], + y = [1, 23], + b = [1, 18], + w = [1, 19], + T = [1, 20], + E = [1, 21], + S = [1, 22], + k = [1, 24], + L = [1, 25], + A = [1, 26], + R = [1, 27], + C = [1, 28], + I = [1, 29], + P = [1, 32], + _ = [1, 33], + N = [1, 34], + M = [1, 39], + O = [1, 40], + D = [1, 42], + B = [1, 44], + z = [1, 62], + F = [1, 61], + G = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67], + q = [1, 65], + Y = [1, 66], + ee = [1, 67], + Q = [1, 68], + oe = [1, 69], + pe = [1, 70], + j = [1, 71], + H = [1, 72], + X = [1, 73], + W = [1, 74], + K = [1, 75], + ne = [1, 76], + Z = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18], + be = [1, 90], + ce = [1, 91], + re = [1, 92], + Ne = [1, 99], + me = [1, 93], + Ve = [1, 96], + Ue = [1, 94], + Fe = [1, 95], + _e = [1, 97], + Oe = [1, 98], + Ce = [1, 102], + Le = [10, 55, 56, 57], + ze = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57], + ge = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + idStringToken: 3, + ALPHA: 4, + NUM: 5, + NODE_STRING: 6, + DOWN: 7, + MINUS: 8, + DEFAULT: 9, + COMMA: 10, + COLON: 11, + AMP: 12, + BRKT: 13, + MULT: 14, + UNICODE_TEXT: 15, + styleComponent: 16, + UNIT: 17, + SPACE: 18, + STYLE: 19, + PCT: 20, + idString: 21, + style: 22, + stylesOpt: 23, + classDefStatement: 24, + CLASSDEF: 25, + start: 26, + eol: 27, + QUADRANT: 28, + document: 29, + line: 30, + statement: 31, + axisDetails: 32, + quadrantDetails: 33, + points: 34, + title: 35, + title_value: 36, + acc_title: 37, + acc_title_value: 38, + acc_descr: 39, + acc_descr_value: 40, + acc_descr_multiline_value: 41, + section: 42, + text: 43, + point_start: 44, + point_x: 45, + point_y: 46, + class_name: 47, + "X-AXIS": 48, + "AXIS-TEXT-DELIMITER": 49, + "Y-AXIS": 50, + QUADRANT_1: 51, + QUADRANT_2: 52, + QUADRANT_3: 53, + QUADRANT_4: 54, + NEWLINE: 55, + SEMI: 56, + EOF: 57, + alphaNumToken: 58, + textNoTagsToken: 59, + STR: 60, + MD_STR: 61, + alphaNum: 62, + PUNCTUATION: 63, + PLUS: 64, + EQUALS: 65, + DOT: 66, + UNDERSCORE: 67, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "ALPHA", + 5: "NUM", + 6: "NODE_STRING", + 7: "DOWN", + 8: "MINUS", + 9: "DEFAULT", + 10: "COMMA", + 11: "COLON", + 12: "AMP", + 13: "BRKT", + 14: "MULT", + 15: "UNICODE_TEXT", + 17: "UNIT", + 18: "SPACE", + 19: "STYLE", + 20: "PCT", + 25: "CLASSDEF", + 28: "QUADRANT", + 35: "title", + 36: "title_value", + 37: "acc_title", + 38: "acc_title_value", + 39: "acc_descr", + 40: "acc_descr_value", + 41: "acc_descr_multiline_value", + 42: "section", + 44: "point_start", + 45: "point_x", + 46: "point_y", + 47: "class_name", + 48: "X-AXIS", + 49: "AXIS-TEXT-DELIMITER", + 50: "Y-AXIS", + 51: "QUADRANT_1", + 52: "QUADRANT_2", + 53: "QUADRANT_3", + 54: "QUADRANT_4", + 55: "NEWLINE", + 56: "SEMI", + 57: "EOF", + 60: "STR", + 61: "MD_STR", + 63: "PUNCTUATION", + 64: "PLUS", + 65: "EQUALS", + 66: "DOT", + 67: "UNDERSCORE", + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [3, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [21, 1], + [21, 2], + [22, 1], + [22, 2], + [23, 1], + [23, 3], + [24, 5], + [26, 2], + [26, 2], + [26, 2], + [29, 0], + [29, 2], + [30, 2], + [31, 0], + [31, 1], + [31, 2], + [31, 1], + [31, 1], + [31, 1], + [31, 2], + [31, 2], + [31, 2], + [31, 1], + [31, 1], + [34, 4], + [34, 5], + [34, 5], + [34, 6], + [32, 4], + [32, 3], + [32, 2], + [32, 4], + [32, 3], + [32, 2], + [33, 2], + [33, 2], + [33, 2], + [33, 2], + [27, 1], + [27, 1], + [27, 1], + [43, 1], + [43, 2], + [43, 1], + [43, 1], + [62, 1], + [62, 2], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [58, 1], + [59, 1], + [59, 1], + [59, 1], + ], + performAction: x(function ($, se, ae, fe, he, Te, ke) { + var Ee = Te.length - 1 + switch (he) { + case 23: + this.$ = Te[Ee] + break + case 24: + this.$ = Te[Ee - 1] + "" + Te[Ee] + break + case 26: + this.$ = Te[Ee - 1] + Te[Ee] + break + case 27: + this.$ = [Te[Ee].trim()] + break + case 28: + Te[Ee - 2].push(Te[Ee].trim()), (this.$ = Te[Ee - 2]) + break + case 29: + ;(this.$ = Te[Ee - 4]), fe.addClass(Te[Ee - 2], Te[Ee]) + break + case 37: + this.$ = [] + break + case 42: + ;(this.$ = Te[Ee].trim()), fe.setDiagramTitle(this.$) + break + case 43: + ;(this.$ = Te[Ee].trim()), fe.setAccTitle(this.$) + break + case 44: + case 45: + ;(this.$ = Te[Ee].trim()), fe.setAccDescription(this.$) + break + case 46: + fe.addSection(Te[Ee].substr(8)), (this.$ = Te[Ee].substr(8)) + break + case 47: + fe.addPoint(Te[Ee - 3], "", Te[Ee - 1], Te[Ee], []) + break + case 48: + fe.addPoint(Te[Ee - 4], Te[Ee - 3], Te[Ee - 1], Te[Ee], []) + break + case 49: + fe.addPoint(Te[Ee - 4], "", Te[Ee - 2], Te[Ee - 1], Te[Ee]) + break + case 50: + fe.addPoint(Te[Ee - 5], Te[Ee - 4], Te[Ee - 2], Te[Ee - 1], Te[Ee]) + break + case 51: + fe.setXAxisLeftText(Te[Ee - 2]), fe.setXAxisRightText(Te[Ee]) + break + case 52: + ;(Te[Ee - 1].text += " ⟶ "), fe.setXAxisLeftText(Te[Ee - 1]) + break + case 53: + fe.setXAxisLeftText(Te[Ee]) + break + case 54: + fe.setYAxisBottomText(Te[Ee - 2]), fe.setYAxisTopText(Te[Ee]) + break + case 55: + ;(Te[Ee - 1].text += " ⟶ "), fe.setYAxisBottomText(Te[Ee - 1]) + break + case 56: + fe.setYAxisBottomText(Te[Ee]) + break + case 57: + fe.setQuadrant1Text(Te[Ee]) + break + case 58: + fe.setQuadrant2Text(Te[Ee]) + break + case 59: + fe.setQuadrant3Text(Te[Ee]) + break + case 60: + fe.setQuadrant4Text(Te[Ee]) + break + case 64: + this.$ = { text: Te[Ee], type: "text" } + break + case 65: + this.$ = { text: Te[Ee - 1].text + "" + Te[Ee], type: Te[Ee - 1].type } + break + case 66: + this.$ = { text: Te[Ee], type: "text" } + break + case 67: + this.$ = { text: Te[Ee], type: "markdown" } + break + case 68: + this.$ = Te[Ee] + break + case 69: + this.$ = Te[Ee - 1] + "" + Te[Ee] + break + } + }, "anonymous"), + table: [ + { 18: e, 26: 1, 27: 2, 28: r, 55: n, 56: i, 57: a }, + { 1: [3] }, + { 18: e, 26: 8, 27: 2, 28: r, 55: n, 56: i, 57: a }, + { 18: e, 26: 9, 27: 2, 28: r, 55: n, 56: i, 57: a }, + t(s, [2, 33], { 29: 10 }), + t(o, [2, 61]), + t(o, [2, 62]), + t(o, [2, 63]), + { 1: [2, 30] }, + { 1: [2, 31] }, + t(l, u, { + 30: 11, + 31: 12, + 24: 13, + 32: 15, + 33: 16, + 34: 17, + 43: 30, + 58: 31, + 1: [2, 32], + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 18: v, + 25: y, + 35: b, + 37: w, + 39: T, + 41: E, + 42: S, + 48: k, + 50: L, + 51: A, + 52: R, + 53: C, + 54: I, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(s, [2, 34]), + { 27: 45, 55: n, 56: i, 57: a }, + t(l, [2, 37]), + t(l, u, { + 24: 13, + 32: 15, + 33: 16, + 34: 17, + 43: 30, + 58: 31, + 31: 46, + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 18: v, + 25: y, + 35: b, + 37: w, + 39: T, + 41: E, + 42: S, + 48: k, + 50: L, + 51: A, + 52: R, + 53: C, + 54: I, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 39]), + t(l, [2, 40]), + t(l, [2, 41]), + { 36: [1, 47] }, + { 38: [1, 48] }, + { 40: [1, 49] }, + t(l, [2, 45]), + t(l, [2, 46]), + { 18: [1, 50] }, + { + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 43: 51, + 58: 31, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + { + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 43: 52, + 58: 31, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + { + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 43: 53, + 58: 31, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + { + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 43: 54, + 58: 31, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + { + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 43: 55, + 58: 31, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + { + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 43: 56, + 58: 31, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + { + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 44: [1, 57], + 47: [1, 58], + 58: 60, + 59: 59, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }, + t(G, [2, 64]), + t(G, [2, 66]), + t(G, [2, 67]), + t(G, [2, 70]), + t(G, [2, 71]), + t(G, [2, 72]), + t(G, [2, 73]), + t(G, [2, 74]), + t(G, [2, 75]), + t(G, [2, 76]), + t(G, [2, 77]), + t(G, [2, 78]), + t(G, [2, 79]), + t(G, [2, 80]), + t(s, [2, 35]), + t(l, [2, 38]), + t(l, [2, 42]), + t(l, [2, 43]), + t(l, [2, 44]), + { 3: 64, 4: q, 5: Y, 6: ee, 7: Q, 8: oe, 9: pe, 10: j, 11: H, 12: X, 13: W, 14: K, 15: ne, 21: 63 }, + t(l, [2, 53], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 49: [1, 77], + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 56], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 49: [1, 78], + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 57], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 58], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 59], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 60], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + { 45: [1, 79] }, + { 44: [1, 80] }, + t(G, [2, 65]), + t(G, [2, 81]), + t(G, [2, 82]), + t(G, [2, 83]), + { + 3: 82, + 4: q, + 5: Y, + 6: ee, + 7: Q, + 8: oe, + 9: pe, + 10: j, + 11: H, + 12: X, + 13: W, + 14: K, + 15: ne, + 18: [1, 81], + }, + t(Z, [2, 23]), + t(Z, [2, 1]), + t(Z, [2, 2]), + t(Z, [2, 3]), + t(Z, [2, 4]), + t(Z, [2, 5]), + t(Z, [2, 6]), + t(Z, [2, 7]), + t(Z, [2, 8]), + t(Z, [2, 9]), + t(Z, [2, 10]), + t(Z, [2, 11]), + t(Z, [2, 12]), + t(l, [2, 52], { + 58: 31, + 43: 83, + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 55], { + 58: 31, + 43: 84, + 4: h, + 5: d, + 10: f, + 12: p, + 13: g, + 14: m, + 60: P, + 61: _, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + { 46: [1, 85] }, + { 45: [1, 86] }, + { 4: be, 5: ce, 6: re, 8: Ne, 11: me, 13: Ve, 16: 89, 17: Ue, 18: Fe, 19: _e, 20: Oe, 22: 88, 23: 87 }, + t(Z, [2, 24]), + t(l, [2, 51], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 54], { + 59: 59, + 58: 60, + 4: h, + 5: d, + 8: z, + 10: f, + 12: p, + 13: g, + 14: m, + 18: F, + 63: N, + 64: M, + 65: O, + 66: D, + 67: B, + }), + t(l, [2, 47], { + 22: 88, + 16: 89, + 23: 100, + 4: be, + 5: ce, + 6: re, + 8: Ne, + 11: me, + 13: Ve, + 17: Ue, + 18: Fe, + 19: _e, + 20: Oe, + }), + { 46: [1, 101] }, + t(l, [2, 29], { 10: Ce }), + t(Le, [2, 27], { 16: 103, 4: be, 5: ce, 6: re, 8: Ne, 11: me, 13: Ve, 17: Ue, 18: Fe, 19: _e, 20: Oe }), + t(ze, [2, 25]), + t(ze, [2, 13]), + t(ze, [2, 14]), + t(ze, [2, 15]), + t(ze, [2, 16]), + t(ze, [2, 17]), + t(ze, [2, 18]), + t(ze, [2, 19]), + t(ze, [2, 20]), + t(ze, [2, 21]), + t(ze, [2, 22]), + t(l, [2, 49], { 10: Ce }), + t(l, [2, 48], { + 22: 88, + 16: 89, + 23: 104, + 4: be, + 5: ce, + 6: re, + 8: Ne, + 11: me, + 13: Ve, + 17: Ue, + 18: Fe, + 19: _e, + 20: Oe, + }), + { 4: be, 5: ce, 6: re, 8: Ne, 11: me, 13: Ve, 16: 89, 17: Ue, 18: Fe, 19: _e, 20: Oe, 22: 105 }, + t(ze, [2, 26]), + t(l, [2, 50], { 10: Ce }), + t(Le, [2, 28], { 16: 103, 4: be, 5: ce, 6: re, 8: Ne, 11: me, 13: Ve, 17: Ue, 18: Fe, 19: _e, 20: Oe }), + ], + defaultActions: { 8: [2, 30], 9: [2, 31] }, + parseError: x(function ($, se) { + if (se.recoverable) this.trace($) + else { + var ae = new Error($) + throw ((ae.hash = se), ae) + } + }, "parseError"), + parse: x(function ($) { + var se = this, + ae = [0], + fe = [], + he = [null], + Te = [], + ke = this.table, + Ee = "", + Ge = 0, + Je = 0, + We = 2, + Xe = 1, + Ke = Te.slice.call(arguments, 1), + $e = Object.create(this.lexer), + je = { yy: {} } + for (var lt in this.yy) Object.prototype.hasOwnProperty.call(this.yy, lt) && (je.yy[lt] = this.yy[lt]) + $e.setInput($, je.yy), + (je.yy.lexer = $e), + (je.yy.parser = this), + typeof $e.yylloc > "u" && ($e.yylloc = {}) + var st = $e.yylloc + Te.push(st) + var qe = $e.options && $e.options.ranges + typeof je.yy.parseError == "function" + ? (this.parseError = je.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function wt(Ht) { + ;(ae.length = ae.length - 2 * Ht), (he.length = he.length - Ht), (Te.length = Te.length - Ht) + } + x(wt, "popStack") + function Ye() { + var Ht + return ( + (Ht = fe.pop() || $e.lex() || Xe), + typeof Ht != "number" && + (Ht instanceof Array && ((fe = Ht), (Ht = fe.pop())), (Ht = se.symbols_[Ht] || Ht)), + Ht + ) + } + x(Ye, "lex") + for (var Ze, dt, ct, ut, mt = {}, sr, Lt, ur, rr; ; ) { + if ( + ((dt = ae[ae.length - 1]), + this.defaultActions[dt] + ? (ct = this.defaultActions[dt]) + : ((Ze === null || typeof Ze > "u") && (Ze = Ye()), (ct = ke[dt] && ke[dt][Ze])), + typeof ct > "u" || !ct.length || !ct[0]) + ) { + var er = "" + rr = [] + for (sr in ke[dt]) this.terminals_[sr] && sr > We && rr.push("'" + this.terminals_[sr] + "'") + $e.showPosition + ? (er = + "Parse error on line " + + (Ge + 1) + + `: +` + + $e.showPosition() + + ` +Expecting ` + + rr.join(", ") + + ", got '" + + (this.terminals_[Ze] || Ze) + + "'") + : (er = + "Parse error on line " + + (Ge + 1) + + ": Unexpected " + + (Ze == Xe ? "end of input" : "'" + (this.terminals_[Ze] || Ze) + "'")), + this.parseError(er, { + text: $e.match, + token: this.terminals_[Ze] || Ze, + line: $e.yylineno, + loc: st, + expected: rr, + }) + } + if (ct[0] instanceof Array && ct.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + dt + ", token: " + Ze) + switch (ct[0]) { + case 1: + ae.push(Ze), + he.push($e.yytext), + Te.push($e.yylloc), + ae.push(ct[1]), + (Ze = null), + (Je = $e.yyleng), + (Ee = $e.yytext), + (Ge = $e.yylineno), + (st = $e.yylloc) + break + case 2: + if ( + ((Lt = this.productions_[ct[1]][1]), + (mt.$ = he[he.length - Lt]), + (mt._$ = { + first_line: Te[Te.length - (Lt || 1)].first_line, + last_line: Te[Te.length - 1].last_line, + first_column: Te[Te.length - (Lt || 1)].first_column, + last_column: Te[Te.length - 1].last_column, + }), + qe && (mt._$.range = [Te[Te.length - (Lt || 1)].range[0], Te[Te.length - 1].range[1]]), + (ut = this.performAction.apply(mt, [Ee, Je, Ge, je.yy, ct[1], he, Te].concat(Ke))), + typeof ut < "u") + ) + return ut + Lt && + ((ae = ae.slice(0, -1 * Lt * 2)), + (he = he.slice(0, -1 * Lt)), + (Te = Te.slice(0, -1 * Lt))), + ae.push(this.productions_[ct[1]][0]), + he.push(mt.$), + Te.push(mt._$), + (ur = ke[ae[ae.length - 2]][ae[ae.length - 1]]), + ae.push(ur) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + Me = (function () { + var ue = { + EOF: 1, + parseError: x(function (se, ae) { + if (this.yy.parser) this.yy.parser.parseError(se, ae) + else throw new Error(se) + }, "parseError"), + setInput: x(function ($, se) { + return ( + (this.yy = se || this.yy || {}), + (this._input = $), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var $ = this._input[0] + ;(this.yytext += $), this.yyleng++, this.offset++, (this.match += $), (this.matched += $) + var se = $.match(/(?:\r\n?|\n).*/g) + return ( + se ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + $ + ) + }, "input"), + unput: x(function ($) { + var se = $.length, + ae = $.split(/(?:\r\n?|\n)/g) + ;(this._input = $ + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - se)), + (this.offset -= se) + var fe = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + ae.length - 1 && (this.yylineno -= ae.length - 1) + var he = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: ae + ? (ae.length === fe.length ? this.yylloc.first_column : 0) + + fe[fe.length - ae.length].length - + ae[0].length + : this.yylloc.first_column - se, + }), + this.options.ranges && (this.yylloc.range = [he[0], he[0] + this.yyleng - se]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function ($) { + this.unput(this.match.slice($)) + }, "less"), + pastInput: x(function () { + var $ = this.matched.substr(0, this.matched.length - this.match.length) + return ($.length > 20 ? "..." : "") + $.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var $ = this.match + return ( + $.length < 20 && ($ += this._input.substr(0, 20 - $.length)), + ($.substr(0, 20) + ($.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var $ = this.pastInput(), + se = new Array($.length + 1).join("-") + return ( + $ + + this.upcomingInput() + + ` +` + + se + + "^" + ) + }, "showPosition"), + test_match: x(function ($, se) { + var ae, fe, he + if ( + (this.options.backtrack_lexer && + ((he = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (he.yylloc.range = this.yylloc.range.slice(0))), + (fe = $[0].match(/(?:\r\n?|\n).*/g)), + fe && (this.yylineno += fe.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: fe + ? fe[fe.length - 1].length - fe[fe.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + $[0].length, + }), + (this.yytext += $[0]), + (this.match += $[0]), + (this.matches = $), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice($[0].length)), + (this.matched += $[0]), + (ae = this.performAction.call( + this, + this.yy, + this, + se, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + ae) + ) + return ae + if (this._backtrack) { + for (var Te in he) this[Te] = he[Te] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var $, se, ae, fe + this._more || ((this.yytext = ""), (this.match = "")) + for (var he = this._currentRules(), Te = 0; Te < he.length; Te++) + if ( + ((ae = this._input.match(this.rules[he[Te]])), ae && (!se || ae[0].length > se[0].length)) + ) { + if (((se = ae), (fe = Te), this.options.backtrack_lexer)) { + if ((($ = this.test_match(ae, he[Te])), $ !== !1)) return $ + if (this._backtrack) { + se = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return se + ? (($ = this.test_match(se, he[fe])), $ !== !1 ? $ : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var se = this.next() + return se || this.lex() + }, "lex"), + begin: x(function (se) { + this.conditionStack.push(se) + }, "begin"), + popState: x(function () { + var se = this.conditionStack.length - 1 + return se > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (se) { + return ( + (se = this.conditionStack.length - 1 - Math.abs(se || 0)), + se >= 0 ? this.conditionStack[se] : "INITIAL" + ) + }, "topState"), + pushState: x(function (se) { + this.begin(se) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (se, ae, fe, he) { + switch (fe) { + case 0: + break + case 1: + break + case 2: + return 55 + case 3: + break + case 4: + return this.begin("title"), 35 + case 5: + return this.popState(), "title_value" + case 6: + return this.begin("acc_title"), 37 + case 7: + return this.popState(), "acc_title_value" + case 8: + return this.begin("acc_descr"), 39 + case 9: + return this.popState(), "acc_descr_value" + case 10: + this.begin("acc_descr_multiline") + break + case 11: + this.popState() + break + case 12: + return "acc_descr_multiline_value" + case 13: + return 48 + case 14: + return 50 + case 15: + return 49 + case 16: + return 51 + case 17: + return 52 + case 18: + return 53 + case 19: + return 54 + case 20: + return 25 + case 21: + this.begin("md_string") + break + case 22: + return "MD_STR" + case 23: + this.popState() + break + case 24: + this.begin("string") + break + case 25: + this.popState() + break + case 26: + return "STR" + case 27: + this.begin("class_name") + break + case 28: + return this.popState(), 47 + case 29: + return this.begin("point_start"), 44 + case 30: + return this.begin("point_x"), 45 + case 31: + this.popState() + break + case 32: + this.popState(), this.begin("point_y") + break + case 33: + return this.popState(), 46 + case 34: + return 28 + case 35: + return 4 + case 36: + return 11 + case 37: + return 64 + case 38: + return 10 + case 39: + return 65 + case 40: + return 65 + case 41: + return 14 + case 42: + return 13 + case 43: + return 67 + case 44: + return 66 + case 45: + return 12 + case 46: + return 8 + case 47: + return 5 + case 48: + return 18 + case 49: + return 56 + case 50: + return 63 + case 51: + return 57 + } + }, "anonymous"), + rules: [ + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:title\b)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?: *x-axis *)/i, + /^(?: *y-axis *)/i, + /^(?: *--+> *)/i, + /^(?: *quadrant-1 *)/i, + /^(?: *quadrant-2 *)/i, + /^(?: *quadrant-3 *)/i, + /^(?: *quadrant-4 *)/i, + /^(?:classDef\b)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?::::)/i, + /^(?:^\w+)/i, + /^(?:\s*:\s*\[\s*)/i, + /^(?:(1)|(0(.\d+)?))/i, + /^(?:\s*\] *)/i, + /^(?:\s*,\s*)/i, + /^(?:(1)|(0(.\d+)?))/i, + /^(?: *quadrantChart *)/i, + /^(?:[A-Za-z]+)/i, + /^(?::)/i, + /^(?:\+)/i, + /^(?:,)/i, + /^(?:=)/i, + /^(?:=)/i, + /^(?:\*)/i, + /^(?:#)/i, + /^(?:[\_])/i, + /^(?:\.)/i, + /^(?:&)/i, + /^(?:-)/i, + /^(?:[0-9]+)/i, + /^(?:\s)/i, + /^(?:;)/i, + /^(?:[!"#$%&'*+,-.`?\\_/])/i, + /^(?:$)/i, + ], + conditions: { + class_name: { rules: [28], inclusive: !1 }, + point_y: { rules: [33], inclusive: !1 }, + point_x: { rules: [32], inclusive: !1 }, + point_start: { rules: [30, 31], inclusive: !1 }, + acc_descr_multiline: { rules: [11, 12], inclusive: !1 }, + acc_descr: { rules: [9], inclusive: !1 }, + acc_title: { rules: [7], inclusive: !1 }, + title: { rules: [5], inclusive: !1 }, + md_string: { rules: [22, 23], inclusive: !1 }, + string: { rules: [25, 26], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + ], + inclusive: !0, + }, + }, + } + return ue + })() + ge.lexer = Me + function J() { + this.yy = {} + } + return x(J, "Parser"), (J.prototype = ge), (ge.Parser = J), new J() +})() +h6.parser = h6 +var F3e = h6, + Di = k2(), + ed, + $3e = + ((ed = class { + constructor() { + ;(this.classes = new Map()), + (this.config = this.getDefaultConfig()), + (this.themeConfig = this.getDefaultThemeConfig()), + (this.data = this.getDefaultData()) + } + getDefaultData() { + return { + titleText: "", + quadrant1Text: "", + quadrant2Text: "", + quadrant3Text: "", + quadrant4Text: "", + xAxisLeftText: "", + xAxisRightText: "", + yAxisBottomText: "", + yAxisTopText: "", + points: [], + } + } + getDefaultConfig() { + var e, r, n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b + return { + showXAxis: !0, + showYAxis: !0, + showTitle: !0, + chartHeight: ((e = hr.quadrantChart) == null ? void 0 : e.chartWidth) || 500, + chartWidth: ((r = hr.quadrantChart) == null ? void 0 : r.chartHeight) || 500, + titlePadding: ((n = hr.quadrantChart) == null ? void 0 : n.titlePadding) || 10, + titleFontSize: ((i = hr.quadrantChart) == null ? void 0 : i.titleFontSize) || 20, + quadrantPadding: ((a = hr.quadrantChart) == null ? void 0 : a.quadrantPadding) || 5, + xAxisLabelPadding: ((s = hr.quadrantChart) == null ? void 0 : s.xAxisLabelPadding) || 5, + yAxisLabelPadding: ((o = hr.quadrantChart) == null ? void 0 : o.yAxisLabelPadding) || 5, + xAxisLabelFontSize: ((l = hr.quadrantChart) == null ? void 0 : l.xAxisLabelFontSize) || 16, + yAxisLabelFontSize: ((u = hr.quadrantChart) == null ? void 0 : u.yAxisLabelFontSize) || 16, + quadrantLabelFontSize: ((h = hr.quadrantChart) == null ? void 0 : h.quadrantLabelFontSize) || 16, + quadrantTextTopPadding: ((d = hr.quadrantChart) == null ? void 0 : d.quadrantTextTopPadding) || 5, + pointTextPadding: ((f = hr.quadrantChart) == null ? void 0 : f.pointTextPadding) || 5, + pointLabelFontSize: ((p = hr.quadrantChart) == null ? void 0 : p.pointLabelFontSize) || 12, + pointRadius: ((g = hr.quadrantChart) == null ? void 0 : g.pointRadius) || 5, + xAxisPosition: ((m = hr.quadrantChart) == null ? void 0 : m.xAxisPosition) || "top", + yAxisPosition: ((v = hr.quadrantChart) == null ? void 0 : v.yAxisPosition) || "left", + quadrantInternalBorderStrokeWidth: + ((y = hr.quadrantChart) == null ? void 0 : y.quadrantInternalBorderStrokeWidth) || 1, + quadrantExternalBorderStrokeWidth: + ((b = hr.quadrantChart) == null ? void 0 : b.quadrantExternalBorderStrokeWidth) || 2, + } + } + getDefaultThemeConfig() { + return { + quadrant1Fill: Di.quadrant1Fill, + quadrant2Fill: Di.quadrant2Fill, + quadrant3Fill: Di.quadrant3Fill, + quadrant4Fill: Di.quadrant4Fill, + quadrant1TextFill: Di.quadrant1TextFill, + quadrant2TextFill: Di.quadrant2TextFill, + quadrant3TextFill: Di.quadrant3TextFill, + quadrant4TextFill: Di.quadrant4TextFill, + quadrantPointFill: Di.quadrantPointFill, + quadrantPointTextFill: Di.quadrantPointTextFill, + quadrantXAxisTextFill: Di.quadrantXAxisTextFill, + quadrantYAxisTextFill: Di.quadrantYAxisTextFill, + quadrantTitleFill: Di.quadrantTitleFill, + quadrantInternalBorderStrokeFill: Di.quadrantInternalBorderStrokeFill, + quadrantExternalBorderStrokeFill: Di.quadrantExternalBorderStrokeFill, + } + } + clear() { + ;(this.config = this.getDefaultConfig()), + (this.themeConfig = this.getDefaultThemeConfig()), + (this.data = this.getDefaultData()), + (this.classes = new Map()), + ie.info("clear called") + } + setData(e) { + this.data = { ...this.data, ...e } + } + addPoints(e) { + this.data.points = [...e, ...this.data.points] + } + addClass(e, r) { + this.classes.set(e, r) + } + setConfig(e) { + ie.trace("setConfig called with: ", e), (this.config = { ...this.config, ...e }) + } + setThemeConfig(e) { + ie.trace("setThemeConfig called with: ", e), (this.themeConfig = { ...this.themeConfig, ...e }) + } + calculateSpace(e, r, n, i) { + const a = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize, + s = { top: e === "top" && r ? a : 0, bottom: e === "bottom" && r ? a : 0 }, + o = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize, + l = { + left: this.config.yAxisPosition === "left" && n ? o : 0, + right: this.config.yAxisPosition === "right" && n ? o : 0, + }, + u = this.config.titleFontSize + this.config.titlePadding * 2, + h = { top: i ? u : 0 }, + d = this.config.quadrantPadding + l.left, + f = this.config.quadrantPadding + s.top + h.top, + p = this.config.chartWidth - this.config.quadrantPadding * 2 - l.left - l.right, + g = this.config.chartHeight - this.config.quadrantPadding * 2 - s.top - s.bottom - h.top, + m = p / 2, + v = g / 2 + return { + xAxisSpace: s, + yAxisSpace: l, + titleSpace: h, + quadrantSpace: { + quadrantLeft: d, + quadrantTop: f, + quadrantWidth: p, + quadrantHalfWidth: m, + quadrantHeight: g, + quadrantHalfHeight: v, + }, + } + } + getAxisLabels(e, r, n, i) { + const { quadrantSpace: a, titleSpace: s } = i, + { + quadrantHalfHeight: o, + quadrantHeight: l, + quadrantLeft: u, + quadrantHalfWidth: h, + quadrantTop: d, + quadrantWidth: f, + } = a, + p = !!this.data.xAxisRightText, + g = !!this.data.yAxisTopText, + m = [] + return ( + this.data.xAxisLeftText && + r && + m.push({ + text: this.data.xAxisLeftText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: u + (p ? h / 2 : 0), + y: + e === "top" + ? this.config.xAxisLabelPadding + s.top + : this.config.xAxisLabelPadding + d + l + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: p ? "center" : "left", + horizontalPos: "top", + rotation: 0, + }), + this.data.xAxisRightText && + r && + m.push({ + text: this.data.xAxisRightText, + fill: this.themeConfig.quadrantXAxisTextFill, + x: u + h + (p ? h / 2 : 0), + y: + e === "top" + ? this.config.xAxisLabelPadding + s.top + : this.config.xAxisLabelPadding + d + l + this.config.quadrantPadding, + fontSize: this.config.xAxisLabelFontSize, + verticalPos: p ? "center" : "left", + horizontalPos: "top", + rotation: 0, + }), + this.data.yAxisBottomText && + n && + m.push({ + text: this.data.yAxisBottomText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: + this.config.yAxisPosition === "left" + ? this.config.yAxisLabelPadding + : this.config.yAxisLabelPadding + u + f + this.config.quadrantPadding, + y: d + l - (g ? o / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: g ? "center" : "left", + horizontalPos: "top", + rotation: -90, + }), + this.data.yAxisTopText && + n && + m.push({ + text: this.data.yAxisTopText, + fill: this.themeConfig.quadrantYAxisTextFill, + x: + this.config.yAxisPosition === "left" + ? this.config.yAxisLabelPadding + : this.config.yAxisLabelPadding + u + f + this.config.quadrantPadding, + y: d + o - (g ? o / 2 : 0), + fontSize: this.config.yAxisLabelFontSize, + verticalPos: g ? "center" : "left", + horizontalPos: "top", + rotation: -90, + }), + m + ) + } + getQuadrants(e) { + const { quadrantSpace: r } = e, + { quadrantHalfHeight: n, quadrantLeft: i, quadrantHalfWidth: a, quadrantTop: s } = r, + o = [ + { + text: { + text: this.data.quadrant1Text, + fill: this.themeConfig.quadrant1TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0, + }, + x: i + a, + y: s, + width: a, + height: n, + fill: this.themeConfig.quadrant1Fill, + }, + { + text: { + text: this.data.quadrant2Text, + fill: this.themeConfig.quadrant2TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0, + }, + x: i, + y: s, + width: a, + height: n, + fill: this.themeConfig.quadrant2Fill, + }, + { + text: { + text: this.data.quadrant3Text, + fill: this.themeConfig.quadrant3TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0, + }, + x: i, + y: s + n, + width: a, + height: n, + fill: this.themeConfig.quadrant3Fill, + }, + { + text: { + text: this.data.quadrant4Text, + fill: this.themeConfig.quadrant4TextFill, + x: 0, + y: 0, + fontSize: this.config.quadrantLabelFontSize, + verticalPos: "center", + horizontalPos: "middle", + rotation: 0, + }, + x: i + a, + y: s + n, + width: a, + height: n, + fill: this.themeConfig.quadrant4Fill, + }, + ] + for (const l of o) + (l.text.x = l.x + l.width / 2), + this.data.points.length === 0 + ? ((l.text.y = l.y + l.height / 2), (l.text.horizontalPos = "middle")) + : ((l.text.y = l.y + this.config.quadrantTextTopPadding), (l.text.horizontalPos = "top")) + return o + } + getQuadrantPoints(e) { + const { quadrantSpace: r } = e, + { quadrantHeight: n, quadrantLeft: i, quadrantTop: a, quadrantWidth: s } = r, + o = _d() + .domain([0, 1]) + .range([i, s + i]), + l = _d() + .domain([0, 1]) + .range([n + a, a]) + return this.data.points.map((h) => { + const d = this.classes.get(h.className) + return ( + d && (h = { ...d, ...h }), + { + x: o(h.x), + y: l(h.y), + fill: h.color ?? this.themeConfig.quadrantPointFill, + radius: h.radius ?? this.config.pointRadius, + text: { + text: h.text, + fill: this.themeConfig.quadrantPointTextFill, + x: o(h.x), + y: l(h.y) + this.config.pointTextPadding, + verticalPos: "center", + horizontalPos: "top", + fontSize: this.config.pointLabelFontSize, + rotation: 0, + }, + strokeColor: h.strokeColor ?? this.themeConfig.quadrantPointFill, + strokeWidth: h.strokeWidth ?? "0px", + } + ) + }) + } + getBorders(e) { + const r = this.config.quadrantExternalBorderStrokeWidth / 2, + { quadrantSpace: n } = e, + { + quadrantHalfHeight: i, + quadrantHeight: a, + quadrantLeft: s, + quadrantHalfWidth: o, + quadrantTop: l, + quadrantWidth: u, + } = n + return [ + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s - r, + y1: l, + x2: s + u + r, + y2: l, + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s + u, + y1: l + r, + x2: s + u, + y2: l + a - r, + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s - r, + y1: l + a, + x2: s + u + r, + y2: l + a, + }, + { + strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill, + strokeWidth: this.config.quadrantExternalBorderStrokeWidth, + x1: s, + y1: l + r, + x2: s, + y2: l + a - r, + }, + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: s + o, + y1: l + r, + x2: s + o, + y2: l + a - r, + }, + { + strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill, + strokeWidth: this.config.quadrantInternalBorderStrokeWidth, + x1: s + r, + y1: l + i, + x2: s + u - r, + y2: l + i, + }, + ] + } + getTitle(e) { + if (e) + return { + text: this.data.titleText, + fill: this.themeConfig.quadrantTitleFill, + fontSize: this.config.titleFontSize, + horizontalPos: "top", + verticalPos: "center", + rotation: 0, + y: this.config.titlePadding, + x: this.config.chartWidth / 2, + } + } + build() { + const e = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText), + r = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText), + n = this.config.showTitle && !!this.data.titleText, + i = this.data.points.length > 0 ? "bottom" : this.config.xAxisPosition, + a = this.calculateSpace(i, e, r, n) + return { + points: this.getQuadrantPoints(a), + quadrants: this.getQuadrants(a), + axisLabels: this.getAxisLabels(i, e, r, a), + borderLines: this.getBorders(a), + title: this.getTitle(n), + } + } + }), + x(ed, "QuadrantBuilder"), + ed), + td, + U1 = + ((td = class extends Error { + constructor(e, r, n) { + super(`value for ${e} ${r} is invalid, please use a valid ${n}`), (this.name = "InvalidStyleError") + } + }), + x(td, "InvalidStyleError"), + td) +function d6(t) { + return !/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t) +} +x(d6, "validateHexCode") +function MG(t) { + return !/^\d+$/.test(t) +} +x(MG, "validateNumber") +function OG(t) { + return !/^\d+px$/.test(t) +} +x(OG, "validateSizeInPixels") +var z3e = we() +function co(t) { + return Pr(t.trim(), z3e) +} +x(co, "textSanitizer") +var ci = new $3e() +function PG(t) { + ci.setData({ quadrant1Text: co(t.text) }) +} +x(PG, "setQuadrant1Text") +function BG(t) { + ci.setData({ quadrant2Text: co(t.text) }) +} +x(BG, "setQuadrant2Text") +function FG(t) { + ci.setData({ quadrant3Text: co(t.text) }) +} +x(FG, "setQuadrant3Text") +function $G(t) { + ci.setData({ quadrant4Text: co(t.text) }) +} +x($G, "setQuadrant4Text") +function zG(t) { + ci.setData({ xAxisLeftText: co(t.text) }) +} +x(zG, "setXAxisLeftText") +function VG(t) { + ci.setData({ xAxisRightText: co(t.text) }) +} +x(VG, "setXAxisRightText") +function GG(t) { + ci.setData({ yAxisTopText: co(t.text) }) +} +x(GG, "setYAxisTopText") +function UG(t) { + ci.setData({ yAxisBottomText: co(t.text) }) +} +x(UG, "setYAxisBottomText") +function wx(t) { + const e = {} + for (const r of t) { + const [n, i] = r.trim().split(/\s*:\s*/) + if (n === "radius") { + if (MG(i)) throw new U1(n, i, "number") + e.radius = parseInt(i) + } else if (n === "color") { + if (d6(i)) throw new U1(n, i, "hex code") + e.color = i + } else if (n === "stroke-color") { + if (d6(i)) throw new U1(n, i, "hex code") + e.strokeColor = i + } else if (n === "stroke-width") { + if (OG(i)) throw new U1(n, i, "number of pixels (eg. 10px)") + e.strokeWidth = i + } else throw new Error(`style named ${n} is not supported.`) + } + return e +} +x(wx, "parseStyles") +function qG(t, e, r, n, i) { + const a = wx(i) + ci.addPoints([{ x: r, y: n, text: co(t.text), className: e, ...a }]) +} +x(qG, "addPoint") +function WG(t, e) { + ci.addClass(t, wx(e)) +} +x(WG, "addClass") +function HG(t) { + ci.setConfig({ chartWidth: t }) +} +x(HG, "setWidth") +function YG(t) { + ci.setConfig({ chartHeight: t }) +} +x(YG, "setHeight") +function XG() { + const t = we(), + { themeVariables: e, quadrantChart: r } = t + return ( + r && ci.setConfig(r), + ci.setThemeConfig({ + quadrant1Fill: e.quadrant1Fill, + quadrant2Fill: e.quadrant2Fill, + quadrant3Fill: e.quadrant3Fill, + quadrant4Fill: e.quadrant4Fill, + quadrant1TextFill: e.quadrant1TextFill, + quadrant2TextFill: e.quadrant2TextFill, + quadrant3TextFill: e.quadrant3TextFill, + quadrant4TextFill: e.quadrant4TextFill, + quadrantPointFill: e.quadrantPointFill, + quadrantPointTextFill: e.quadrantPointTextFill, + quadrantXAxisTextFill: e.quadrantXAxisTextFill, + quadrantYAxisTextFill: e.quadrantYAxisTextFill, + quadrantExternalBorderStrokeFill: e.quadrantExternalBorderStrokeFill, + quadrantInternalBorderStrokeFill: e.quadrantInternalBorderStrokeFill, + quadrantTitleFill: e.quadrantTitleFill, + }), + ci.setData({ titleText: Un() }), + ci.build() + ) +} +x(XG, "getQuadrantData") +var V3e = x(function () { + ci.clear(), Gn() + }, "clear"), + G3e = { + setWidth: HG, + setHeight: YG, + setQuadrant1Text: PG, + setQuadrant2Text: BG, + setQuadrant3Text: FG, + setQuadrant4Text: $G, + setXAxisLeftText: zG, + setXAxisRightText: VG, + setYAxisTopText: GG, + setYAxisBottomText: UG, + parseStyles: wx, + addPoint: qG, + addClass: WG, + getQuadrantData: XG, + clear: V3e, + setAccTitle: $n, + getAccTitle: Zn, + setDiagramTitle: fi, + getDiagramTitle: Un, + getAccDescription: Jn, + setAccDescription: Qn, + }, + U3e = x((t, e, r, n) => { + var L, A, R + function i(C) { + return C === "top" ? "hanging" : "middle" + } + x(i, "getDominantBaseLine") + function a(C) { + return C === "left" ? "start" : "middle" + } + x(a, "getTextAnchor") + function s(C) { + return `translate(${C.x}, ${C.y}) rotate(${C.rotation || 0})` + } + x(s, "getTransformation") + const o = we() + ie.debug( + `Rendering quadrant chart +` + t, + ) + const l = o.securityLevel + let u + l === "sandbox" && (u = rt("#i" + e)) + const d = rt(l === "sandbox" ? u.nodes()[0].contentDocument.body : "body").select(`[id="${e}"]`), + f = d.append("g").attr("class", "main"), + p = ((L = o.quadrantChart) == null ? void 0 : L.chartWidth) ?? 500, + g = ((A = o.quadrantChart) == null ? void 0 : A.chartHeight) ?? 500 + da(d, g, p, ((R = o.quadrantChart) == null ? void 0 : R.useMaxWidth) ?? !0), + d.attr("viewBox", "0 0 " + p + " " + g), + n.db.setHeight(g), + n.db.setWidth(p) + const m = n.db.getQuadrantData(), + v = f.append("g").attr("class", "quadrants"), + y = f.append("g").attr("class", "border"), + b = f.append("g").attr("class", "data-points"), + w = f.append("g").attr("class", "labels"), + T = f.append("g").attr("class", "title") + m.title && + T.append("text") + .attr("x", 0) + .attr("y", 0) + .attr("fill", m.title.fill) + .attr("font-size", m.title.fontSize) + .attr("dominant-baseline", i(m.title.horizontalPos)) + .attr("text-anchor", a(m.title.verticalPos)) + .attr("transform", s(m.title)) + .text(m.title.text), + m.borderLines && + y + .selectAll("line") + .data(m.borderLines) + .enter() + .append("line") + .attr("x1", (C) => C.x1) + .attr("y1", (C) => C.y1) + .attr("x2", (C) => C.x2) + .attr("y2", (C) => C.y2) + .style("stroke", (C) => C.strokeFill) + .style("stroke-width", (C) => C.strokeWidth) + const E = v.selectAll("g.quadrant").data(m.quadrants).enter().append("g").attr("class", "quadrant") + E.append("rect") + .attr("x", (C) => C.x) + .attr("y", (C) => C.y) + .attr("width", (C) => C.width) + .attr("height", (C) => C.height) + .attr("fill", (C) => C.fill), + E.append("text") + .attr("x", 0) + .attr("y", 0) + .attr("fill", (C) => C.text.fill) + .attr("font-size", (C) => C.text.fontSize) + .attr("dominant-baseline", (C) => i(C.text.horizontalPos)) + .attr("text-anchor", (C) => a(C.text.verticalPos)) + .attr("transform", (C) => s(C.text)) + .text((C) => C.text.text), + w + .selectAll("g.label") + .data(m.axisLabels) + .enter() + .append("g") + .attr("class", "label") + .append("text") + .attr("x", 0) + .attr("y", 0) + .text((C) => C.text) + .attr("fill", (C) => C.fill) + .attr("font-size", (C) => C.fontSize) + .attr("dominant-baseline", (C) => i(C.horizontalPos)) + .attr("text-anchor", (C) => a(C.verticalPos)) + .attr("transform", (C) => s(C)) + const k = b.selectAll("g.data-point").data(m.points).enter().append("g").attr("class", "data-point") + k + .append("circle") + .attr("cx", (C) => C.x) + .attr("cy", (C) => C.y) + .attr("r", (C) => C.radius) + .attr("fill", (C) => C.fill) + .attr("stroke", (C) => C.strokeColor) + .attr("stroke-width", (C) => C.strokeWidth), + k + .append("text") + .attr("x", 0) + .attr("y", 0) + .text((C) => C.text.text) + .attr("fill", (C) => C.text.fill) + .attr("font-size", (C) => C.text.fontSize) + .attr("dominant-baseline", (C) => i(C.text.horizontalPos)) + .attr("text-anchor", (C) => a(C.text.verticalPos)) + .attr("transform", (C) => s(C.text)) + }, "draw"), + q3e = { draw: U3e }, + W3e = { parser: F3e, db: G3e, renderer: q3e, styles: x(() => "", "styles") } +const H3e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: W3e }, Symbol.toStringTag, { value: "Module" }), +) +var f6 = (function () { + var t = x(function (N, M, O, D) { + for (O = O || {}, D = N.length; D--; O[N[D]] = M); + return O + }, "o"), + e = [1, 10, 12, 14, 16, 18, 19, 21, 23], + r = [2, 6], + n = [1, 3], + i = [1, 5], + a = [1, 6], + s = [1, 7], + o = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], + l = [1, 25], + u = [1, 26], + h = [1, 28], + d = [1, 29], + f = [1, 30], + p = [1, 31], + g = [1, 32], + m = [1, 33], + v = [1, 34], + y = [1, 35], + b = [1, 36], + w = [1, 37], + T = [1, 43], + E = [1, 42], + S = [1, 47], + k = [1, 50], + L = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], + A = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36], + R = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], + C = [1, 64], + I = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + eol: 4, + XYCHART: 5, + chartConfig: 6, + document: 7, + CHART_ORIENTATION: 8, + statement: 9, + title: 10, + text: 11, + X_AXIS: 12, + parseXAxis: 13, + Y_AXIS: 14, + parseYAxis: 15, + LINE: 16, + plotData: 17, + BAR: 18, + acc_title: 19, + acc_title_value: 20, + acc_descr: 21, + acc_descr_value: 22, + acc_descr_multiline_value: 23, + SQUARE_BRACES_START: 24, + commaSeparatedNumbers: 25, + SQUARE_BRACES_END: 26, + NUMBER_WITH_DECIMAL: 27, + COMMA: 28, + xAxisData: 29, + bandData: 30, + ARROW_DELIMITER: 31, + commaSeparatedTexts: 32, + yAxisData: 33, + NEWLINE: 34, + SEMI: 35, + EOF: 36, + alphaNum: 37, + STR: 38, + MD_STR: 39, + alphaNumToken: 40, + AMP: 41, + NUM: 42, + ALPHA: 43, + PLUS: 44, + EQUALS: 45, + MULT: 46, + DOT: 47, + BRKT: 48, + MINUS: 49, + UNDERSCORE: 50, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 5: "XYCHART", + 8: "CHART_ORIENTATION", + 10: "title", + 12: "X_AXIS", + 14: "Y_AXIS", + 16: "LINE", + 18: "BAR", + 19: "acc_title", + 20: "acc_title_value", + 21: "acc_descr", + 22: "acc_descr_value", + 23: "acc_descr_multiline_value", + 24: "SQUARE_BRACES_START", + 26: "SQUARE_BRACES_END", + 27: "NUMBER_WITH_DECIMAL", + 28: "COMMA", + 31: "ARROW_DELIMITER", + 34: "NEWLINE", + 35: "SEMI", + 36: "EOF", + 38: "STR", + 39: "MD_STR", + 41: "AMP", + 42: "NUM", + 43: "ALPHA", + 44: "PLUS", + 45: "EQUALS", + 46: "MULT", + 47: "DOT", + 48: "BRKT", + 49: "MINUS", + 50: "UNDERSCORE", + }, + productions_: [ + 0, + [3, 2], + [3, 3], + [3, 2], + [3, 1], + [6, 1], + [7, 0], + [7, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 3], + [9, 2], + [9, 3], + [9, 2], + [9, 2], + [9, 1], + [17, 3], + [25, 3], + [25, 1], + [13, 1], + [13, 2], + [13, 1], + [29, 1], + [29, 3], + [30, 3], + [32, 3], + [32, 1], + [15, 1], + [15, 2], + [15, 1], + [33, 3], + [4, 1], + [4, 1], + [4, 1], + [11, 1], + [11, 1], + [11, 1], + [37, 1], + [37, 2], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + [40, 1], + ], + performAction: x(function (M, O, D, B, z, F, G) { + var q = F.length - 1 + switch (z) { + case 5: + B.setOrientation(F[q]) + break + case 9: + B.setDiagramTitle(F[q].text.trim()) + break + case 12: + B.setLineData({ text: "", type: "text" }, F[q]) + break + case 13: + B.setLineData(F[q - 1], F[q]) + break + case 14: + B.setBarData({ text: "", type: "text" }, F[q]) + break + case 15: + B.setBarData(F[q - 1], F[q]) + break + case 16: + ;(this.$ = F[q].trim()), B.setAccTitle(this.$) + break + case 17: + case 18: + ;(this.$ = F[q].trim()), B.setAccDescription(this.$) + break + case 19: + this.$ = F[q - 1] + break + case 20: + this.$ = [Number(F[q - 2]), ...F[q]] + break + case 21: + this.$ = [Number(F[q])] + break + case 22: + B.setXAxisTitle(F[q]) + break + case 23: + B.setXAxisTitle(F[q - 1]) + break + case 24: + B.setXAxisTitle({ type: "text", text: "" }) + break + case 25: + B.setXAxisBand(F[q]) + break + case 26: + B.setXAxisRangeData(Number(F[q - 2]), Number(F[q])) + break + case 27: + this.$ = F[q - 1] + break + case 28: + this.$ = [F[q - 2], ...F[q]] + break + case 29: + this.$ = [F[q]] + break + case 30: + B.setYAxisTitle(F[q]) + break + case 31: + B.setYAxisTitle(F[q - 1]) + break + case 32: + B.setYAxisTitle({ type: "text", text: "" }) + break + case 33: + B.setYAxisRangeData(Number(F[q - 2]), Number(F[q])) + break + case 37: + this.$ = { text: F[q], type: "text" } + break + case 38: + this.$ = { text: F[q], type: "text" } + break + case 39: + this.$ = { text: F[q], type: "markdown" } + break + case 40: + this.$ = F[q] + break + case 41: + this.$ = F[q - 1] + "" + F[q] + break + } + }, "anonymous"), + table: [ + t(e, r, { 3: 1, 4: 2, 7: 4, 5: n, 34: i, 35: a, 36: s }), + { 1: [3] }, + t(e, r, { 4: 2, 7: 4, 3: 8, 5: n, 34: i, 35: a, 36: s }), + t(e, r, { 4: 2, 7: 4, 6: 9, 3: 10, 5: n, 8: [1, 11], 34: i, 35: a, 36: s }), + { + 1: [2, 4], + 9: 12, + 10: [1, 13], + 12: [1, 14], + 14: [1, 15], + 16: [1, 16], + 18: [1, 17], + 19: [1, 18], + 21: [1, 19], + 23: [1, 20], + }, + t(o, [2, 34]), + t(o, [2, 35]), + t(o, [2, 36]), + { 1: [2, 1] }, + t(e, r, { 4: 2, 7: 4, 3: 21, 5: n, 34: i, 35: a, 36: s }), + { 1: [2, 3] }, + t(o, [2, 5]), + t(e, [2, 7], { 4: 22, 34: i, 35: a, 36: s }), + { + 11: 23, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + { + 11: 39, + 13: 38, + 24: T, + 27: E, + 29: 40, + 30: 41, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + { + 11: 45, + 15: 44, + 27: S, + 33: 46, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + { + 11: 49, + 17: 48, + 24: k, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + { + 11: 52, + 17: 51, + 24: k, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + { 20: [1, 53] }, + { 22: [1, 54] }, + t(L, [2, 18]), + { 1: [2, 2] }, + t(L, [2, 8]), + t(L, [2, 9]), + t(A, [2, 37], { 40: 55, 41: h, 42: d, 43: f, 44: p, 45: g, 46: m, 47: v, 48: y, 49: b, 50: w }), + t(A, [2, 38]), + t(A, [2, 39]), + t(R, [2, 40]), + t(R, [2, 42]), + t(R, [2, 43]), + t(R, [2, 44]), + t(R, [2, 45]), + t(R, [2, 46]), + t(R, [2, 47]), + t(R, [2, 48]), + t(R, [2, 49]), + t(R, [2, 50]), + t(R, [2, 51]), + t(L, [2, 10]), + t(L, [2, 22], { 30: 41, 29: 56, 24: T, 27: E }), + t(L, [2, 24]), + t(L, [2, 25]), + { 31: [1, 57] }, + { + 11: 59, + 32: 58, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + t(L, [2, 11]), + t(L, [2, 30], { 33: 60, 27: S }), + t(L, [2, 32]), + { 31: [1, 61] }, + t(L, [2, 12]), + { 17: 62, 24: k }, + { 25: 63, 27: C }, + t(L, [2, 14]), + { 17: 65, 24: k }, + t(L, [2, 16]), + t(L, [2, 17]), + t(R, [2, 41]), + t(L, [2, 23]), + { 27: [1, 66] }, + { 26: [1, 67] }, + { 26: [2, 29], 28: [1, 68] }, + t(L, [2, 31]), + { 27: [1, 69] }, + t(L, [2, 13]), + { 26: [1, 70] }, + { 26: [2, 21], 28: [1, 71] }, + t(L, [2, 15]), + t(L, [2, 26]), + t(L, [2, 27]), + { + 11: 59, + 32: 72, + 37: 24, + 38: l, + 39: u, + 40: 27, + 41: h, + 42: d, + 43: f, + 44: p, + 45: g, + 46: m, + 47: v, + 48: y, + 49: b, + 50: w, + }, + t(L, [2, 33]), + t(L, [2, 19]), + { 25: 73, 27: C }, + { 26: [2, 28] }, + { 26: [2, 20] }, + ], + defaultActions: { 8: [2, 1], 10: [2, 3], 21: [2, 2], 72: [2, 28], 73: [2, 20] }, + parseError: x(function (M, O) { + if (O.recoverable) this.trace(M) + else { + var D = new Error(M) + throw ((D.hash = O), D) + } + }, "parseError"), + parse: x(function (M) { + var O = this, + D = [0], + B = [], + z = [null], + F = [], + G = this.table, + q = "", + Y = 0, + ee = 0, + Q = 2, + oe = 1, + pe = F.slice.call(arguments, 1), + j = Object.create(this.lexer), + H = { yy: {} } + for (var X in this.yy) Object.prototype.hasOwnProperty.call(this.yy, X) && (H.yy[X] = this.yy[X]) + j.setInput(M, H.yy), (H.yy.lexer = j), (H.yy.parser = this), typeof j.yylloc > "u" && (j.yylloc = {}) + var W = j.yylloc + F.push(W) + var K = j.options && j.options.ranges + typeof H.yy.parseError == "function" + ? (this.parseError = H.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function ne(Ce) { + ;(D.length = D.length - 2 * Ce), (z.length = z.length - Ce), (F.length = F.length - Ce) + } + x(ne, "popStack") + function Z() { + var Ce + return ( + (Ce = B.pop() || j.lex() || oe), + typeof Ce != "number" && + (Ce instanceof Array && ((B = Ce), (Ce = B.pop())), (Ce = O.symbols_[Ce] || Ce)), + Ce + ) + } + x(Z, "lex") + for (var be, ce, re, Ne, me = {}, Ve, Ue, Fe, _e; ; ) { + if ( + ((ce = D[D.length - 1]), + this.defaultActions[ce] + ? (re = this.defaultActions[ce]) + : ((be === null || typeof be > "u") && (be = Z()), (re = G[ce] && G[ce][be])), + typeof re > "u" || !re.length || !re[0]) + ) { + var Oe = "" + _e = [] + for (Ve in G[ce]) this.terminals_[Ve] && Ve > Q && _e.push("'" + this.terminals_[Ve] + "'") + j.showPosition + ? (Oe = + "Parse error on line " + + (Y + 1) + + `: +` + + j.showPosition() + + ` +Expecting ` + + _e.join(", ") + + ", got '" + + (this.terminals_[be] || be) + + "'") + : (Oe = + "Parse error on line " + + (Y + 1) + + ": Unexpected " + + (be == oe ? "end of input" : "'" + (this.terminals_[be] || be) + "'")), + this.parseError(Oe, { + text: j.match, + token: this.terminals_[be] || be, + line: j.yylineno, + loc: W, + expected: _e, + }) + } + if (re[0] instanceof Array && re.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + ce + ", token: " + be) + switch (re[0]) { + case 1: + D.push(be), + z.push(j.yytext), + F.push(j.yylloc), + D.push(re[1]), + (be = null), + (ee = j.yyleng), + (q = j.yytext), + (Y = j.yylineno), + (W = j.yylloc) + break + case 2: + if ( + ((Ue = this.productions_[re[1]][1]), + (me.$ = z[z.length - Ue]), + (me._$ = { + first_line: F[F.length - (Ue || 1)].first_line, + last_line: F[F.length - 1].last_line, + first_column: F[F.length - (Ue || 1)].first_column, + last_column: F[F.length - 1].last_column, + }), + K && (me._$.range = [F[F.length - (Ue || 1)].range[0], F[F.length - 1].range[1]]), + (Ne = this.performAction.apply(me, [q, ee, Y, H.yy, re[1], z, F].concat(pe))), + typeof Ne < "u") + ) + return Ne + Ue && ((D = D.slice(0, -1 * Ue * 2)), (z = z.slice(0, -1 * Ue)), (F = F.slice(0, -1 * Ue))), + D.push(this.productions_[re[1]][0]), + z.push(me.$), + F.push(me._$), + (Fe = G[D[D.length - 2]][D[D.length - 1]]), + D.push(Fe) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + P = (function () { + var N = { + EOF: 1, + parseError: x(function (O, D) { + if (this.yy.parser) this.yy.parser.parseError(O, D) + else throw new Error(O) + }, "parseError"), + setInput: x(function (M, O) { + return ( + (this.yy = O || this.yy || {}), + (this._input = M), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var M = this._input[0] + ;(this.yytext += M), this.yyleng++, this.offset++, (this.match += M), (this.matched += M) + var O = M.match(/(?:\r\n?|\n).*/g) + return ( + O ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + M + ) + }, "input"), + unput: x(function (M) { + var O = M.length, + D = M.split(/(?:\r\n?|\n)/g) + ;(this._input = M + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - O)), + (this.offset -= O) + var B = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + D.length - 1 && (this.yylineno -= D.length - 1) + var z = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: D + ? (D.length === B.length ? this.yylloc.first_column : 0) + + B[B.length - D.length].length - + D[0].length + : this.yylloc.first_column - O, + }), + this.options.ranges && (this.yylloc.range = [z[0], z[0] + this.yyleng - O]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (M) { + this.unput(this.match.slice(M)) + }, "less"), + pastInput: x(function () { + var M = this.matched.substr(0, this.matched.length - this.match.length) + return (M.length > 20 ? "..." : "") + M.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var M = this.match + return ( + M.length < 20 && (M += this._input.substr(0, 20 - M.length)), + (M.substr(0, 20) + (M.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var M = this.pastInput(), + O = new Array(M.length + 1).join("-") + return ( + M + + this.upcomingInput() + + ` +` + + O + + "^" + ) + }, "showPosition"), + test_match: x(function (M, O) { + var D, B, z + if ( + (this.options.backtrack_lexer && + ((z = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (z.yylloc.range = this.yylloc.range.slice(0))), + (B = M[0].match(/(?:\r\n?|\n).*/g)), + B && (this.yylineno += B.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: B + ? B[B.length - 1].length - B[B.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + M[0].length, + }), + (this.yytext += M[0]), + (this.match += M[0]), + (this.matches = M), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(M[0].length)), + (this.matched += M[0]), + (D = this.performAction.call( + this, + this.yy, + this, + O, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + D) + ) + return D + if (this._backtrack) { + for (var F in z) this[F] = z[F] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var M, O, D, B + this._more || ((this.yytext = ""), (this.match = "")) + for (var z = this._currentRules(), F = 0; F < z.length; F++) + if (((D = this._input.match(this.rules[z[F]])), D && (!O || D[0].length > O[0].length))) { + if (((O = D), (B = F), this.options.backtrack_lexer)) { + if (((M = this.test_match(D, z[F])), M !== !1)) return M + if (this._backtrack) { + O = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return O + ? ((M = this.test_match(O, z[B])), M !== !1 ? M : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var O = this.next() + return O || this.lex() + }, "lex"), + begin: x(function (O) { + this.conditionStack.push(O) + }, "begin"), + popState: x(function () { + var O = this.conditionStack.length - 1 + return O > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (O) { + return ( + (O = this.conditionStack.length - 1 - Math.abs(O || 0)), + O >= 0 ? this.conditionStack[O] : "INITIAL" + ) + }, "topState"), + pushState: x(function (O) { + this.begin(O) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (O, D, B, z) { + switch (B) { + case 0: + break + case 1: + break + case 2: + return this.popState(), 34 + case 3: + return this.popState(), 34 + case 4: + return 34 + case 5: + break + case 6: + return 10 + case 7: + return this.pushState("acc_title"), 19 + case 8: + return this.popState(), "acc_title_value" + case 9: + return this.pushState("acc_descr"), 21 + case 10: + return this.popState(), "acc_descr_value" + case 11: + this.pushState("acc_descr_multiline") + break + case 12: + this.popState() + break + case 13: + return "acc_descr_multiline_value" + case 14: + return 5 + case 15: + return 8 + case 16: + return this.pushState("axis_data"), "X_AXIS" + case 17: + return this.pushState("axis_data"), "Y_AXIS" + case 18: + return this.pushState("axis_band_data"), 24 + case 19: + return 31 + case 20: + return this.pushState("data"), 16 + case 21: + return this.pushState("data"), 18 + case 22: + return this.pushState("data_inner"), 24 + case 23: + return 27 + case 24: + return this.popState(), 26 + case 25: + this.popState() + break + case 26: + this.pushState("string") + break + case 27: + this.popState() + break + case 28: + return "STR" + case 29: + return 24 + case 30: + return 26 + case 31: + return 43 + case 32: + return "COLON" + case 33: + return 44 + case 34: + return 28 + case 35: + return 45 + case 36: + return 46 + case 37: + return 48 + case 38: + return 50 + case 39: + return 47 + case 40: + return 41 + case 41: + return 49 + case 42: + return 42 + case 43: + break + case 44: + return 35 + case 45: + return 36 + } + }, "anonymous"), + rules: [ + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:(\r?\n))/i, + /^(?:(\r?\n))/i, + /^(?:[\n\r]+)/i, + /^(?:%%[^\n]*)/i, + /^(?:title\b)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:\{)/i, + /^(?:[^\}]*)/i, + /^(?:xychart-beta\b)/i, + /^(?:(?:vertical|horizontal))/i, + /^(?:x-axis\b)/i, + /^(?:y-axis\b)/i, + /^(?:\[)/i, + /^(?:-->)/i, + /^(?:line\b)/i, + /^(?:bar\b)/i, + /^(?:\[)/i, + /^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i, + /^(?:\])/i, + /^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:\[)/i, + /^(?:\])/i, + /^(?:[A-Za-z]+)/i, + /^(?::)/i, + /^(?:\+)/i, + /^(?:,)/i, + /^(?:=)/i, + /^(?:\*)/i, + /^(?:#)/i, + /^(?:[\_])/i, + /^(?:\.)/i, + /^(?:&)/i, + /^(?:-)/i, + /^(?:[0-9]+)/i, + /^(?:\s+)/i, + /^(?:;)/i, + /^(?:$)/i, + ], + conditions: { + data_inner: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + ], + inclusive: !0, + }, + data: { + rules: [ + 0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + ], + inclusive: !0, + }, + axis_band_data: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, + ], + inclusive: !0, + }, + axis_data: { + rules: [ + 0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + ], + inclusive: !0, + }, + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + title: { rules: [], inclusive: !1 }, + md_string: { rules: [], inclusive: !1 }, + string: { rules: [27, 28], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, + ], + inclusive: !0, + }, + }, + } + return N + })() + I.lexer = P + function _() { + this.yy = {} + } + return x(_, "Parser"), (_.prototype = I), (I.Parser = _), new _() +})() +f6.parser = f6 +var Y3e = f6 +function p6(t) { + return t.type === "bar" +} +x(p6, "isBarPlot") +function qk(t) { + return t.type === "band" +} +x(qk, "isBandAxisData") +function Th(t) { + return t.type === "linear" +} +x(Th, "isLinearAxisData") +var rd, + jG = + ((rd = class { + constructor(e) { + this.parentGroup = e + } + getMaxDimension(e, r) { + if (!this.parentGroup) return { width: e.reduce((a, s) => Math.max(s.length, a), 0) * r, height: r } + const n = { width: 0, height: 0 }, + i = this.parentGroup.append("g").attr("visibility", "hidden").attr("font-size", r) + for (const a of e) { + const s = oB(i, 1, a), + o = s ? s.width : a.length * r, + l = s ? s.height : r + ;(n.width = Math.max(n.width, o)), (n.height = Math.max(n.height, l)) + } + return i.remove(), n + } + }), + x(rd, "TextDimensionCalculatorWithFont"), + rd), + u9 = 0.7, + h9 = 0.2, + nd, + KG = + ((nd = class { + constructor(e, r, n, i) { + ;(this.axisConfig = e), + (this.title = r), + (this.textDimensionCalculator = n), + (this.axisThemeConfig = i), + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), + (this.axisPosition = "left"), + (this.showTitle = !1), + (this.showLabel = !1), + (this.showTick = !1), + (this.showAxisLine = !1), + (this.outerPadding = 0), + (this.titleTextHeight = 0), + (this.labelTextHeight = 0), + (this.range = [0, 10]), + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), + (this.axisPosition = "left") + } + setRange(e) { + ;(this.range = e), + this.axisPosition === "left" || this.axisPosition === "right" + ? (this.boundingRect.height = e[1] - e[0]) + : (this.boundingRect.width = e[1] - e[0]), + this.recalculateScale() + } + getRange() { + return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding] + } + setAxisPosition(e) { + ;(this.axisPosition = e), this.setRange(this.range) + } + getTickDistance() { + const e = this.getRange() + return Math.abs(e[0] - e[1]) / this.getTickValues().length + } + getAxisOuterPadding() { + return this.outerPadding + } + getLabelDimension() { + return this.textDimensionCalculator.getMaxDimension( + this.getTickValues().map((e) => e.toString()), + this.axisConfig.labelFontSize, + ) + } + recalculateOuterPaddingToDrawBar() { + u9 * this.getTickDistance() > this.outerPadding * 2 && + (this.outerPadding = Math.floor((u9 * this.getTickDistance()) / 2)), + this.recalculateScale() + } + calculateSpaceIfDrawnHorizontally(e) { + let r = e.height + if ( + (this.axisConfig.showAxisLine && + r > this.axisConfig.axisLineWidth && + ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)), + this.axisConfig.showLabel) + ) { + const n = this.getLabelDimension(), + i = h9 * e.width + this.outerPadding = Math.min(n.width / 2, i) + const a = n.height + this.axisConfig.labelPadding * 2 + ;(this.labelTextHeight = n.height), a <= r && ((r -= a), (this.showLabel = !0)) + } + if ( + (this.axisConfig.showTick && + r >= this.axisConfig.tickLength && + ((this.showTick = !0), (r -= this.axisConfig.tickLength)), + this.axisConfig.showTitle && this.title) + ) { + const n = this.textDimensionCalculator.getMaxDimension([this.title], this.axisConfig.titleFontSize), + i = n.height + this.axisConfig.titlePadding * 2 + ;(this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0)) + } + ;(this.boundingRect.width = e.width), (this.boundingRect.height = e.height - r) + } + calculateSpaceIfDrawnVertical(e) { + let r = e.width + if ( + (this.axisConfig.showAxisLine && + r > this.axisConfig.axisLineWidth && + ((r -= this.axisConfig.axisLineWidth), (this.showAxisLine = !0)), + this.axisConfig.showLabel) + ) { + const n = this.getLabelDimension(), + i = h9 * e.height + this.outerPadding = Math.min(n.height / 2, i) + const a = n.width + this.axisConfig.labelPadding * 2 + a <= r && ((r -= a), (this.showLabel = !0)) + } + if ( + (this.axisConfig.showTick && + r >= this.axisConfig.tickLength && + ((this.showTick = !0), (r -= this.axisConfig.tickLength)), + this.axisConfig.showTitle && this.title) + ) { + const n = this.textDimensionCalculator.getMaxDimension([this.title], this.axisConfig.titleFontSize), + i = n.height + this.axisConfig.titlePadding * 2 + ;(this.titleTextHeight = n.height), i <= r && ((r -= i), (this.showTitle = !0)) + } + ;(this.boundingRect.width = e.width - r), (this.boundingRect.height = e.height) + } + calculateSpace(e) { + return ( + this.axisPosition === "left" || this.axisPosition === "right" + ? this.calculateSpaceIfDrawnVertical(e) + : this.calculateSpaceIfDrawnHorizontally(e), + this.recalculateScale(), + { width: this.boundingRect.width, height: this.boundingRect.height } + ) + } + setBoundingBoxXY(e) { + ;(this.boundingRect.x = e.x), (this.boundingRect.y = e.y) + } + getDrawableElementsForLeftAxis() { + const e = [] + if (this.showAxisLine) { + const r = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2 + e.push({ + type: "path", + groupTexts: ["left-axis", "axisl-line"], + data: [ + { + path: `M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y + this.boundingRect.height} `, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth, + }, + ], + }) + } + if ( + (this.showLabel && + e.push({ + type: "text", + groupTexts: ["left-axis", "label"], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: + this.boundingRect.x + + this.boundingRect.width - + (this.showLabel ? this.axisConfig.labelPadding : 0) - + (this.showTick ? this.axisConfig.tickLength : 0) - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0), + y: this.getScaleValue(r), + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: "middle", + horizontalPos: "right", + })), + }), + this.showTick) + ) { + const r = + this.boundingRect.x + + this.boundingRect.width - + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + e.push({ + type: "path", + groupTexts: ["left-axis", "ticks"], + data: this.getTickValues().map((n) => ({ + path: `M ${r},${this.getScaleValue(n)} L ${r - this.axisConfig.tickLength},${this.getScaleValue(n)}`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth, + })), + }) + } + return ( + this.showTitle && + e.push({ + type: "text", + groupTexts: ["left-axis", "title"], + data: [ + { + text: this.title, + x: this.boundingRect.x + this.axisConfig.titlePadding, + y: this.boundingRect.y + this.boundingRect.height / 2, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 270, + verticalPos: "top", + horizontalPos: "center", + }, + ], + }), + e + ) + } + getDrawableElementsForBottomAxis() { + const e = [] + if (this.showAxisLine) { + const r = this.boundingRect.y + this.axisConfig.axisLineWidth / 2 + e.push({ + type: "path", + groupTexts: ["bottom-axis", "axis-line"], + data: [ + { + path: `M ${this.boundingRect.x},${r} L ${this.boundingRect.x + this.boundingRect.width},${r}`, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth, + }, + ], + }) + } + if ( + (this.showLabel && + e.push({ + type: "text", + groupTexts: ["bottom-axis", "label"], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: this.getScaleValue(r), + y: + this.boundingRect.y + + this.axisConfig.labelPadding + + (this.showTick ? this.axisConfig.tickLength : 0) + + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0), + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: "top", + horizontalPos: "center", + })), + }), + this.showTick) + ) { + const r = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0) + e.push({ + type: "path", + groupTexts: ["bottom-axis", "ticks"], + data: this.getTickValues().map((n) => ({ + path: `M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r + this.axisConfig.tickLength}`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth, + })), + }) + } + return ( + this.showTitle && + e.push({ + type: "text", + groupTexts: ["bottom-axis", "title"], + data: [ + { + text: this.title, + x: this.range[0] + (this.range[1] - this.range[0]) / 2, + y: + this.boundingRect.y + + this.boundingRect.height - + this.axisConfig.titlePadding - + this.titleTextHeight, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 0, + verticalPos: "top", + horizontalPos: "center", + }, + ], + }), + e + ) + } + getDrawableElementsForTopAxis() { + const e = [] + if (this.showAxisLine) { + const r = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2 + e.push({ + type: "path", + groupTexts: ["top-axis", "axis-line"], + data: [ + { + path: `M ${this.boundingRect.x},${r} L ${this.boundingRect.x + this.boundingRect.width},${r}`, + strokeFill: this.axisThemeConfig.axisLineColor, + strokeWidth: this.axisConfig.axisLineWidth, + }, + ], + }) + } + if ( + (this.showLabel && + e.push({ + type: "text", + groupTexts: ["top-axis", "label"], + data: this.getTickValues().map((r) => ({ + text: r.toString(), + x: this.getScaleValue(r), + y: + this.boundingRect.y + + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + + this.axisConfig.labelPadding, + fill: this.axisThemeConfig.labelColor, + fontSize: this.axisConfig.labelFontSize, + rotation: 0, + verticalPos: "top", + horizontalPos: "center", + })), + }), + this.showTick) + ) { + const r = this.boundingRect.y + e.push({ + type: "path", + groupTexts: ["top-axis", "ticks"], + data: this.getTickValues().map((n) => ({ + path: `M ${this.getScaleValue(n)},${r + this.boundingRect.height - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)} L ${this.getScaleValue(n)},${r + this.boundingRect.height - this.axisConfig.tickLength - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)}`, + strokeFill: this.axisThemeConfig.tickColor, + strokeWidth: this.axisConfig.tickWidth, + })), + }) + } + return ( + this.showTitle && + e.push({ + type: "text", + groupTexts: ["top-axis", "title"], + data: [ + { + text: this.title, + x: this.boundingRect.x + this.boundingRect.width / 2, + y: this.boundingRect.y + this.axisConfig.titlePadding, + fill: this.axisThemeConfig.titleColor, + fontSize: this.axisConfig.titleFontSize, + rotation: 0, + verticalPos: "top", + horizontalPos: "center", + }, + ], + }), + e + ) + } + getDrawableElements() { + if (this.axisPosition === "left") return this.getDrawableElementsForLeftAxis() + if (this.axisPosition === "right") throw Error("Drawing of right axis is not implemented") + return this.axisPosition === "bottom" + ? this.getDrawableElementsForBottomAxis() + : this.axisPosition === "top" + ? this.getDrawableElementsForTopAxis() + : [] + } + }), + x(nd, "BaseAxis"), + nd), + id, + X3e = + ((id = class extends KG { + constructor(e, r, n, i, a) { + super(e, i, a, r), + (this.categories = n), + (this.scale = Z3().domain(this.categories).range(this.getRange())) + } + setRange(e) { + super.setRange(e) + } + recalculateScale() { + ;(this.scale = Z3() + .domain(this.categories) + .range(this.getRange()) + .paddingInner(1) + .paddingOuter(0) + .align(0.5)), + ie.trace("BandAxis axis final categories, range: ", this.categories, this.getRange()) + } + getTickValues() { + return this.categories + } + getScaleValue(e) { + return this.scale(e) ?? this.getRange()[0] + } + }), + x(id, "BandAxis"), + id), + ad, + j3e = + ((ad = class extends KG { + constructor(e, r, n, i, a) { + super(e, i, a, r), (this.domain = n), (this.scale = _d().domain(this.domain).range(this.getRange())) + } + getTickValues() { + return this.scale.ticks() + } + recalculateScale() { + const e = [...this.domain] + this.axisPosition === "left" && e.reverse(), (this.scale = _d().domain(e).range(this.getRange())) + } + getScaleValue(e) { + return this.scale(e) + } + }), + x(ad, "LinearAxis"), + ad) +function g6(t, e, r, n) { + const i = new jG(n) + return qk(t) ? new X3e(e, r, t.categories, t.title, i) : new j3e(e, r, [t.min, t.max], t.title, i) +} +x(g6, "getAxis") +var sd, + K3e = + ((sd = class { + constructor(e, r, n, i) { + ;(this.textDimensionCalculator = e), + (this.chartConfig = r), + (this.chartData = n), + (this.chartThemeConfig = i), + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }), + (this.showChartTitle = !1) + } + setBoundingBoxXY(e) { + ;(this.boundingRect.x = e.x), (this.boundingRect.y = e.y) + } + calculateSpace(e) { + const r = this.textDimensionCalculator.getMaxDimension( + [this.chartData.title], + this.chartConfig.titleFontSize, + ), + n = Math.max(r.width, e.width), + i = r.height + 2 * this.chartConfig.titlePadding + return ( + r.width <= n && + r.height <= i && + this.chartConfig.showTitle && + this.chartData.title && + ((this.boundingRect.width = n), (this.boundingRect.height = i), (this.showChartTitle = !0)), + { width: this.boundingRect.width, height: this.boundingRect.height } + ) + } + getDrawableElements() { + const e = [] + return ( + this.showChartTitle && + e.push({ + groupTexts: ["chart-title"], + type: "text", + data: [ + { + fontSize: this.chartConfig.titleFontSize, + text: this.chartData.title, + verticalPos: "middle", + horizontalPos: "center", + x: this.boundingRect.x + this.boundingRect.width / 2, + y: this.boundingRect.y + this.boundingRect.height / 2, + fill: this.chartThemeConfig.titleColor, + rotation: 0, + }, + ], + }), + e + ) + } + }), + x(sd, "ChartTitle"), + sd) +function ZG(t, e, r, n) { + const i = new jG(n) + return new K3e(i, t, e, r) +} +x(ZG, "getChartTitleComponent") +var od, + Z3e = + ((od = class { + constructor(e, r, n, i, a) { + ;(this.plotData = e), (this.xAxis = r), (this.yAxis = n), (this.orientation = i), (this.plotIndex = a) + } + getDrawableElement() { + const e = this.plotData.data.map((n) => [ + this.xAxis.getScaleValue(n[0]), + this.yAxis.getScaleValue(n[1]), + ]) + let r + return ( + this.orientation === "horizontal" + ? (r = _p() + .y((n) => n[0]) + .x((n) => n[1])(e)) + : (r = _p() + .x((n) => n[0]) + .y((n) => n[1])(e)), + r + ? [ + { + groupTexts: ["plot", `line-plot-${this.plotIndex}`], + type: "path", + data: [ + { + path: r, + strokeFill: this.plotData.strokeFill, + strokeWidth: this.plotData.strokeWidth, + }, + ], + }, + ] + : [] + ) + } + }), + x(od, "LinePlot"), + od), + ld, + Q3e = + ((ld = class { + constructor(e, r, n, i, a, s) { + ;(this.barData = e), + (this.boundingRect = r), + (this.xAxis = n), + (this.yAxis = i), + (this.orientation = a), + (this.plotIndex = s) + } + getDrawableElement() { + const e = this.barData.data.map((a) => [ + this.xAxis.getScaleValue(a[0]), + this.yAxis.getScaleValue(a[1]), + ]), + n = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - 0.05), + i = n / 2 + return this.orientation === "horizontal" + ? [ + { + groupTexts: ["plot", `bar-plot-${this.plotIndex}`], + type: "rect", + data: e.map((a) => ({ + x: this.boundingRect.x, + y: a[0] - i, + height: n, + width: a[1] - this.boundingRect.x, + fill: this.barData.fill, + strokeWidth: 0, + strokeFill: this.barData.fill, + })), + }, + ] + : [ + { + groupTexts: ["plot", `bar-plot-${this.plotIndex}`], + type: "rect", + data: e.map((a) => ({ + x: a[0] - i, + y: a[1], + width: n, + height: this.boundingRect.y + this.boundingRect.height - a[1], + fill: this.barData.fill, + strokeWidth: 0, + strokeFill: this.barData.fill, + })), + }, + ] + } + }), + x(ld, "BarPlot"), + ld), + cd, + J3e = + ((cd = class { + constructor(e, r, n) { + ;(this.chartConfig = e), + (this.chartData = r), + (this.chartThemeConfig = n), + (this.boundingRect = { x: 0, y: 0, width: 0, height: 0 }) + } + setAxes(e, r) { + ;(this.xAxis = e), (this.yAxis = r) + } + setBoundingBoxXY(e) { + ;(this.boundingRect.x = e.x), (this.boundingRect.y = e.y) + } + calculateSpace(e) { + return ( + (this.boundingRect.width = e.width), + (this.boundingRect.height = e.height), + { width: this.boundingRect.width, height: this.boundingRect.height } + ) + } + getDrawableElements() { + if (!(this.xAxis && this.yAxis)) throw Error("Axes must be passed to render Plots") + const e = [] + for (const [r, n] of this.chartData.plots.entries()) + switch (n.type) { + case "line": + { + const i = new Z3e(n, this.xAxis, this.yAxis, this.chartConfig.chartOrientation, r) + e.push(...i.getDrawableElement()) + } + break + case "bar": + { + const i = new Q3e( + n, + this.boundingRect, + this.xAxis, + this.yAxis, + this.chartConfig.chartOrientation, + r, + ) + e.push(...i.getDrawableElement()) + } + break + } + return e + } + }), + x(cd, "BasePlot"), + cd) +function QG(t, e, r) { + return new J3e(t, e, r) +} +x(QG, "getPlotComponent") +var ud, + ewe = + ((ud = class { + constructor(e, r, n, i) { + ;(this.chartConfig = e), + (this.chartData = r), + (this.componentStore = { + title: ZG(e, r, n, i), + plot: QG(e, r, n), + xAxis: g6( + r.xAxis, + e.xAxis, + { + titleColor: n.xAxisTitleColor, + labelColor: n.xAxisLabelColor, + tickColor: n.xAxisTickColor, + axisLineColor: n.xAxisLineColor, + }, + i, + ), + yAxis: g6( + r.yAxis, + e.yAxis, + { + titleColor: n.yAxisTitleColor, + labelColor: n.yAxisLabelColor, + tickColor: n.yAxisTickColor, + axisLineColor: n.yAxisLineColor, + }, + i, + ), + }) + } + calculateVerticalSpace() { + let e = this.chartConfig.width, + r = this.chartConfig.height, + n = 0, + i = 0, + a = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100), + s = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100), + o = this.componentStore.plot.calculateSpace({ width: a, height: s }) + ;(e -= o.width), + (r -= o.height), + (o = this.componentStore.title.calculateSpace({ width: this.chartConfig.width, height: r })), + (i = o.height), + (r -= o.height), + this.componentStore.xAxis.setAxisPosition("bottom"), + (o = this.componentStore.xAxis.calculateSpace({ width: e, height: r })), + (r -= o.height), + this.componentStore.yAxis.setAxisPosition("left"), + (o = this.componentStore.yAxis.calculateSpace({ width: e, height: r })), + (n = o.width), + (e -= o.width), + e > 0 && ((a += e), (e = 0)), + r > 0 && ((s += r), (r = 0)), + this.componentStore.plot.calculateSpace({ width: a, height: s }), + this.componentStore.plot.setBoundingBoxXY({ x: n, y: i }), + this.componentStore.xAxis.setRange([n, n + a]), + this.componentStore.xAxis.setBoundingBoxXY({ x: n, y: i + s }), + this.componentStore.yAxis.setRange([i, i + s]), + this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: i }), + this.chartData.plots.some((l) => p6(l)) && + this.componentStore.xAxis.recalculateOuterPaddingToDrawBar() + } + calculateHorizontalSpace() { + let e = this.chartConfig.width, + r = this.chartConfig.height, + n = 0, + i = 0, + a = 0, + s = Math.floor((e * this.chartConfig.plotReservedSpacePercent) / 100), + o = Math.floor((r * this.chartConfig.plotReservedSpacePercent) / 100), + l = this.componentStore.plot.calculateSpace({ width: s, height: o }) + ;(e -= l.width), + (r -= l.height), + (l = this.componentStore.title.calculateSpace({ width: this.chartConfig.width, height: r })), + (n = l.height), + (r -= l.height), + this.componentStore.xAxis.setAxisPosition("left"), + (l = this.componentStore.xAxis.calculateSpace({ width: e, height: r })), + (e -= l.width), + (i = l.width), + this.componentStore.yAxis.setAxisPosition("top"), + (l = this.componentStore.yAxis.calculateSpace({ width: e, height: r })), + (r -= l.height), + (a = n + l.height), + e > 0 && ((s += e), (e = 0)), + r > 0 && ((o += r), (r = 0)), + this.componentStore.plot.calculateSpace({ width: s, height: o }), + this.componentStore.plot.setBoundingBoxXY({ x: i, y: a }), + this.componentStore.yAxis.setRange([i, i + s]), + this.componentStore.yAxis.setBoundingBoxXY({ x: i, y: n }), + this.componentStore.xAxis.setRange([a, a + o]), + this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: a }), + this.chartData.plots.some((u) => p6(u)) && + this.componentStore.xAxis.recalculateOuterPaddingToDrawBar() + } + calculateSpace() { + this.chartConfig.chartOrientation === "horizontal" + ? this.calculateHorizontalSpace() + : this.calculateVerticalSpace() + } + getDrawableElement() { + this.calculateSpace() + const e = [] + this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis) + for (const r of Object.values(this.componentStore)) e.push(...r.getDrawableElements()) + return e + } + }), + x(ud, "Orchestrator"), + ud), + hd, + twe = + ((hd = class { + static build(e, r, n, i) { + return new ewe(e, r, n, i).getDrawableElement() + } + }), + x(hd, "XYChartBuilder"), + hd), + Vp = 0, + JG, + Gp = Yk(), + Up = Hk(), + Lr = Xk(), + m6 = Up.plotColorPalette.split(",").map((t) => t.trim()), + Tx = !1, + Wk = !1 +function Hk() { + const t = k2(), + e = Dr() + return ns(t.xyChart, e.themeVariables.xyChart) +} +x(Hk, "getChartDefaultThemeConfig") +function Yk() { + const t = Dr() + return ns(hr.xyChart, t.xyChart) +} +x(Yk, "getChartDefaultConfig") +function Xk() { + return { + yAxis: { type: "linear", title: "", min: 1 / 0, max: -1 / 0 }, + xAxis: { type: "band", title: "", categories: [] }, + title: "", + plots: [], + } +} +x(Xk, "getChartDefaultData") +function Ex(t) { + const e = Dr() + return Pr(t.trim(), e) +} +x(Ex, "textSanitizer") +function eU(t) { + JG = t +} +x(eU, "setTmpSVGG") +function tU(t) { + t === "horizontal" ? (Gp.chartOrientation = "horizontal") : (Gp.chartOrientation = "vertical") +} +x(tU, "setOrientation") +function rU(t) { + Lr.xAxis.title = Ex(t.text) +} +x(rU, "setXAxisTitle") +function jk(t, e) { + ;(Lr.xAxis = { type: "linear", title: Lr.xAxis.title, min: t, max: e }), (Tx = !0) +} +x(jk, "setXAxisRangeData") +function nU(t) { + ;(Lr.xAxis = { type: "band", title: Lr.xAxis.title, categories: t.map((e) => Ex(e.text)) }), (Tx = !0) +} +x(nU, "setXAxisBand") +function iU(t) { + Lr.yAxis.title = Ex(t.text) +} +x(iU, "setYAxisTitle") +function aU(t, e) { + ;(Lr.yAxis = { type: "linear", title: Lr.yAxis.title, min: t, max: e }), (Wk = !0) +} +x(aU, "setYAxisRangeData") +function sU(t) { + const e = Math.min(...t), + r = Math.max(...t), + n = Th(Lr.yAxis) ? Lr.yAxis.min : 1 / 0, + i = Th(Lr.yAxis) ? Lr.yAxis.max : -1 / 0 + Lr.yAxis = { type: "linear", title: Lr.yAxis.title, min: Math.min(n, e), max: Math.max(i, r) } +} +x(sU, "setYAxisRangeFromPlotData") +function Kk(t) { + let e = [] + if (t.length === 0) return e + if (!Tx) { + const r = Th(Lr.xAxis) ? Lr.xAxis.min : 1 / 0, + n = Th(Lr.xAxis) ? Lr.xAxis.max : -1 / 0 + jk(Math.min(r, 1), Math.max(n, t.length)) + } + if ((Wk || sU(t), qk(Lr.xAxis) && (e = Lr.xAxis.categories.map((r, n) => [r, t[n]])), Th(Lr.xAxis))) { + const r = Lr.xAxis.min, + n = Lr.xAxis.max, + i = (n - r) / (t.length - 1), + a = [] + for (let s = r; s <= n; s += i) a.push(`${s}`) + e = a.map((s, o) => [s, t[o]]) + } + return e +} +x(Kk, "transformDataWithoutCategory") +function Zk(t) { + return m6[t === 0 ? 0 : t % m6.length] +} +x(Zk, "getPlotColorFromPalette") +function oU(t, e) { + const r = Kk(e) + Lr.plots.push({ type: "line", strokeFill: Zk(Vp), strokeWidth: 2, data: r }), Vp++ +} +x(oU, "setLineData") +function lU(t, e) { + const r = Kk(e) + Lr.plots.push({ type: "bar", fill: Zk(Vp), data: r }), Vp++ +} +x(lU, "setBarData") +function cU() { + if (Lr.plots.length === 0) throw Error("No Plot to render, please provide a plot with some data") + return (Lr.title = Un()), twe.build(Gp, Lr, Up, JG) +} +x(cU, "getDrawableElem") +function uU() { + return Up +} +x(uU, "getChartThemeConfig") +function hU() { + return Gp +} +x(hU, "getChartConfig") +var rwe = x(function () { + Gn(), + (Vp = 0), + (Gp = Yk()), + (Lr = Xk()), + (Up = Hk()), + (m6 = Up.plotColorPalette.split(",").map((t) => t.trim())), + (Tx = !1), + (Wk = !1) + }, "clear"), + nwe = { + getDrawableElem: cU, + clear: rwe, + setAccTitle: $n, + getAccTitle: Zn, + setDiagramTitle: fi, + getDiagramTitle: Un, + getAccDescription: Jn, + setAccDescription: Qn, + setOrientation: tU, + setXAxisTitle: rU, + setXAxisRangeData: jk, + setXAxisBand: nU, + setYAxisTitle: iU, + setYAxisRangeData: aU, + setLineData: oU, + setBarData: lU, + setTmpSVGG: eU, + getChartThemeConfig: uU, + getChartConfig: hU, + }, + iwe = x((t, e, r, n) => { + const i = n.db, + a = i.getChartThemeConfig(), + s = i.getChartConfig() + function o(v) { + return v === "top" ? "text-before-edge" : "middle" + } + x(o, "getDominantBaseLine") + function l(v) { + return v === "left" ? "start" : v === "right" ? "end" : "middle" + } + x(l, "getTextAnchor") + function u(v) { + return `translate(${v.x}, ${v.y}) rotate(${v.rotation || 0})` + } + x(u, "getTextTransformation"), + ie.debug( + `Rendering xychart chart +` + t, + ) + const h = il(e), + d = h.append("g").attr("class", "main"), + f = d.append("rect").attr("width", s.width).attr("height", s.height).attr("class", "background") + da(h, s.height, s.width, !0), + h.attr("viewBox", `0 0 ${s.width} ${s.height}`), + f.attr("fill", a.backgroundColor), + i.setTmpSVGG(h.append("g").attr("class", "mermaid-tmp-group")) + const p = i.getDrawableElem(), + g = {} + function m(v) { + let y = d, + b = "" + for (const [w] of v.entries()) { + let T = d + w > 0 && g[b] && (T = g[b]), + (b += v[w]), + (y = g[b]), + y || (y = g[b] = T.append("g").attr("class", v[w])) + } + return y + } + x(m, "getGroup") + for (const v of p) { + if (v.data.length === 0) continue + const y = m(v.groupTexts) + switch (v.type) { + case "rect": + y.selectAll("rect") + .data(v.data) + .enter() + .append("rect") + .attr("x", (b) => b.x) + .attr("y", (b) => b.y) + .attr("width", (b) => b.width) + .attr("height", (b) => b.height) + .attr("fill", (b) => b.fill) + .attr("stroke", (b) => b.strokeFill) + .attr("stroke-width", (b) => b.strokeWidth) + break + case "text": + y.selectAll("text") + .data(v.data) + .enter() + .append("text") + .attr("x", 0) + .attr("y", 0) + .attr("fill", (b) => b.fill) + .attr("font-size", (b) => b.fontSize) + .attr("dominant-baseline", (b) => o(b.verticalPos)) + .attr("text-anchor", (b) => l(b.horizontalPos)) + .attr("transform", (b) => u(b)) + .text((b) => b.text) + break + case "path": + y.selectAll("path") + .data(v.data) + .enter() + .append("path") + .attr("d", (b) => b.path) + .attr("fill", (b) => (b.fill ? b.fill : "none")) + .attr("stroke", (b) => b.strokeFill) + .attr("stroke-width", (b) => b.strokeWidth) + break + } + } + }, "draw"), + awe = { draw: iwe }, + swe = { parser: Y3e, db: nwe, renderer: awe } +const owe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: swe }, Symbol.toStringTag, { value: "Module" }), +) +var v6 = (function () { + var t = x(function (ge, Me, J, ue) { + for (J = J || {}, ue = ge.length; ue--; J[ge[ue]] = Me); + return J + }, "o"), + e = [1, 3], + r = [1, 4], + n = [1, 5], + i = [1, 6], + a = [5, 6, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 77, 89, 90], + s = [1, 22], + o = [2, 7], + l = [1, 26], + u = [1, 27], + h = [1, 28], + d = [1, 29], + f = [1, 33], + p = [1, 34], + g = [1, 35], + m = [1, 36], + v = [1, 37], + y = [1, 38], + b = [1, 24], + w = [1, 31], + T = [1, 32], + E = [1, 30], + S = [1, 39], + k = [1, 40], + L = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 77, 89, 90], + A = [1, 61], + R = [89, 90], + C = [ + 5, 8, 9, 11, 13, 21, 22, 23, 24, 27, 29, 41, 42, 43, 44, 45, 46, 54, 61, 63, 72, 74, 75, 76, 77, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, + ], + I = [27, 29], + P = [1, 70], + _ = [1, 71], + N = [1, 72], + M = [1, 73], + O = [1, 74], + D = [1, 75], + B = [1, 76], + z = [1, 83], + F = [1, 80], + G = [1, 84], + q = [1, 85], + Y = [1, 86], + ee = [1, 87], + Q = [1, 88], + oe = [1, 89], + pe = [1, 90], + j = [1, 91], + H = [1, 92], + X = [ + 5, 8, 9, 11, 13, 21, 22, 23, 24, 27, 41, 42, 43, 44, 45, 46, 54, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, + ], + W = [63, 64], + K = [1, 101], + ne = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 76, 77, 89, 90], + Z = [ + 5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, + ], + be = [1, 110], + ce = [1, 106], + re = [1, 107], + Ne = [1, 108], + me = [1, 109], + Ve = [1, 111], + Ue = [1, 116], + Fe = [1, 117], + _e = [1, 114], + Oe = [1, 115], + Ce = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + directive: 4, + NEWLINE: 5, + RD: 6, + diagram: 7, + EOF: 8, + acc_title: 9, + acc_title_value: 10, + acc_descr: 11, + acc_descr_value: 12, + acc_descr_multiline_value: 13, + requirementDef: 14, + elementDef: 15, + relationshipDef: 16, + direction: 17, + styleStatement: 18, + classDefStatement: 19, + classStatement: 20, + direction_tb: 21, + direction_bt: 22, + direction_rl: 23, + direction_lr: 24, + requirementType: 25, + requirementName: 26, + STRUCT_START: 27, + requirementBody: 28, + STYLE_SEPARATOR: 29, + idList: 30, + ID: 31, + COLONSEP: 32, + id: 33, + TEXT: 34, + text: 35, + RISK: 36, + riskLevel: 37, + VERIFYMTHD: 38, + verifyType: 39, + STRUCT_STOP: 40, + REQUIREMENT: 41, + FUNCTIONAL_REQUIREMENT: 42, + INTERFACE_REQUIREMENT: 43, + PERFORMANCE_REQUIREMENT: 44, + PHYSICAL_REQUIREMENT: 45, + DESIGN_CONSTRAINT: 46, + LOW_RISK: 47, + MED_RISK: 48, + HIGH_RISK: 49, + VERIFY_ANALYSIS: 50, + VERIFY_DEMONSTRATION: 51, + VERIFY_INSPECTION: 52, + VERIFY_TEST: 53, + ELEMENT: 54, + elementName: 55, + elementBody: 56, + TYPE: 57, + type: 58, + DOCREF: 59, + ref: 60, + END_ARROW_L: 61, + relationship: 62, + LINE: 63, + END_ARROW_R: 64, + CONTAINS: 65, + COPIES: 66, + DERIVES: 67, + SATISFIES: 68, + VERIFIES: 69, + REFINES: 70, + TRACES: 71, + CLASSDEF: 72, + stylesOpt: 73, + CLASS: 74, + ALPHA: 75, + COMMA: 76, + STYLE: 77, + style: 78, + styleComponent: 79, + NUM: 80, + COLON: 81, + UNIT: 82, + SPACE: 83, + BRKT: 84, + PCT: 85, + MINUS: 86, + LABEL: 87, + SEMICOLON: 88, + unqString: 89, + qString: 90, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 5: "NEWLINE", + 6: "RD", + 8: "EOF", + 9: "acc_title", + 10: "acc_title_value", + 11: "acc_descr", + 12: "acc_descr_value", + 13: "acc_descr_multiline_value", + 21: "direction_tb", + 22: "direction_bt", + 23: "direction_rl", + 24: "direction_lr", + 27: "STRUCT_START", + 29: "STYLE_SEPARATOR", + 31: "ID", + 32: "COLONSEP", + 34: "TEXT", + 36: "RISK", + 38: "VERIFYMTHD", + 40: "STRUCT_STOP", + 41: "REQUIREMENT", + 42: "FUNCTIONAL_REQUIREMENT", + 43: "INTERFACE_REQUIREMENT", + 44: "PERFORMANCE_REQUIREMENT", + 45: "PHYSICAL_REQUIREMENT", + 46: "DESIGN_CONSTRAINT", + 47: "LOW_RISK", + 48: "MED_RISK", + 49: "HIGH_RISK", + 50: "VERIFY_ANALYSIS", + 51: "VERIFY_DEMONSTRATION", + 52: "VERIFY_INSPECTION", + 53: "VERIFY_TEST", + 54: "ELEMENT", + 57: "TYPE", + 59: "DOCREF", + 61: "END_ARROW_L", + 63: "LINE", + 64: "END_ARROW_R", + 65: "CONTAINS", + 66: "COPIES", + 67: "DERIVES", + 68: "SATISFIES", + 69: "VERIFIES", + 70: "REFINES", + 71: "TRACES", + 72: "CLASSDEF", + 74: "CLASS", + 75: "ALPHA", + 76: "COMMA", + 77: "STYLE", + 80: "NUM", + 81: "COLON", + 82: "UNIT", + 83: "SPACE", + 84: "BRKT", + 85: "PCT", + 86: "MINUS", + 87: "LABEL", + 88: "SEMICOLON", + 89: "unqString", + 90: "qString", + }, + productions_: [ + 0, + [3, 3], + [3, 2], + [3, 4], + [4, 2], + [4, 2], + [4, 1], + [7, 0], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [7, 2], + [17, 1], + [17, 1], + [17, 1], + [17, 1], + [14, 5], + [14, 7], + [28, 5], + [28, 5], + [28, 5], + [28, 5], + [28, 2], + [28, 1], + [25, 1], + [25, 1], + [25, 1], + [25, 1], + [25, 1], + [25, 1], + [37, 1], + [37, 1], + [37, 1], + [39, 1], + [39, 1], + [39, 1], + [39, 1], + [15, 5], + [15, 7], + [56, 5], + [56, 5], + [56, 2], + [56, 1], + [16, 5], + [16, 5], + [62, 1], + [62, 1], + [62, 1], + [62, 1], + [62, 1], + [62, 1], + [62, 1], + [19, 3], + [20, 3], + [20, 3], + [30, 1], + [30, 3], + [30, 1], + [30, 3], + [18, 3], + [73, 1], + [73, 3], + [78, 1], + [78, 2], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [79, 1], + [26, 1], + [26, 1], + [33, 1], + [33, 1], + [35, 1], + [35, 1], + [55, 1], + [55, 1], + [58, 1], + [58, 1], + [60, 1], + [60, 1], + ], + performAction: x(function (Me, J, ue, $, se, ae, fe) { + var he = ae.length - 1 + switch (se) { + case 4: + ;(this.$ = ae[he].trim()), $.setAccTitle(this.$) + break + case 5: + case 6: + ;(this.$ = ae[he].trim()), $.setAccDescription(this.$) + break + case 7: + this.$ = [] + break + case 17: + $.setDirection("TB") + break + case 18: + $.setDirection("BT") + break + case 19: + $.setDirection("RL") + break + case 20: + $.setDirection("LR") + break + case 21: + $.addRequirement(ae[he - 3], ae[he - 4]) + break + case 22: + $.addRequirement(ae[he - 5], ae[he - 6]), $.setClass([ae[he - 5]], ae[he - 3]) + break + case 23: + $.setNewReqId(ae[he - 2]) + break + case 24: + $.setNewReqText(ae[he - 2]) + break + case 25: + $.setNewReqRisk(ae[he - 2]) + break + case 26: + $.setNewReqVerifyMethod(ae[he - 2]) + break + case 29: + this.$ = $.RequirementType.REQUIREMENT + break + case 30: + this.$ = $.RequirementType.FUNCTIONAL_REQUIREMENT + break + case 31: + this.$ = $.RequirementType.INTERFACE_REQUIREMENT + break + case 32: + this.$ = $.RequirementType.PERFORMANCE_REQUIREMENT + break + case 33: + this.$ = $.RequirementType.PHYSICAL_REQUIREMENT + break + case 34: + this.$ = $.RequirementType.DESIGN_CONSTRAINT + break + case 35: + this.$ = $.RiskLevel.LOW_RISK + break + case 36: + this.$ = $.RiskLevel.MED_RISK + break + case 37: + this.$ = $.RiskLevel.HIGH_RISK + break + case 38: + this.$ = $.VerifyType.VERIFY_ANALYSIS + break + case 39: + this.$ = $.VerifyType.VERIFY_DEMONSTRATION + break + case 40: + this.$ = $.VerifyType.VERIFY_INSPECTION + break + case 41: + this.$ = $.VerifyType.VERIFY_TEST + break + case 42: + $.addElement(ae[he - 3]) + break + case 43: + $.addElement(ae[he - 5]), $.setClass([ae[he - 5]], ae[he - 3]) + break + case 44: + $.setNewElementType(ae[he - 2]) + break + case 45: + $.setNewElementDocRef(ae[he - 2]) + break + case 48: + $.addRelationship(ae[he - 2], ae[he], ae[he - 4]) + break + case 49: + $.addRelationship(ae[he - 2], ae[he - 4], ae[he]) + break + case 50: + this.$ = $.Relationships.CONTAINS + break + case 51: + this.$ = $.Relationships.COPIES + break + case 52: + this.$ = $.Relationships.DERIVES + break + case 53: + this.$ = $.Relationships.SATISFIES + break + case 54: + this.$ = $.Relationships.VERIFIES + break + case 55: + this.$ = $.Relationships.REFINES + break + case 56: + this.$ = $.Relationships.TRACES + break + case 57: + ;(this.$ = ae[he - 2]), $.defineClass(ae[he - 1], ae[he]) + break + case 58: + $.setClass(ae[he - 1], ae[he]) + break + case 59: + $.setClass([ae[he - 2]], ae[he]) + break + case 60: + case 62: + this.$ = [ae[he]] + break + case 61: + case 63: + this.$ = ae[he - 2].concat([ae[he]]) + break + case 64: + ;(this.$ = ae[he - 2]), $.setCssStyle(ae[he - 1], ae[he]) + break + case 65: + this.$ = [ae[he]] + break + case 66: + ae[he - 2].push(ae[he]), (this.$ = ae[he - 2]) + break + case 68: + this.$ = ae[he - 1] + ae[he] + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: 2, 6: e, 9: r, 11: n, 13: i }, + { 1: [3] }, + { 3: 8, 4: 2, 5: [1, 7], 6: e, 9: r, 11: n, 13: i }, + { 5: [1, 9] }, + { 10: [1, 10] }, + { 12: [1, 11] }, + t(a, [2, 6]), + { 3: 12, 4: 2, 6: e, 9: r, 11: n, 13: i }, + { 1: [2, 2] }, + { + 4: 17, + 5: s, + 7: 13, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + t(a, [2, 4]), + t(a, [2, 5]), + { 1: [2, 1] }, + { 8: [1, 41] }, + { + 4: 17, + 5: s, + 7: 42, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 43, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 44, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 45, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 46, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 47, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 48, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 49, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { + 4: 17, + 5: s, + 7: 50, + 8: o, + 9: r, + 11: n, + 13: i, + 14: 14, + 15: 15, + 16: 16, + 17: 18, + 18: 19, + 19: 20, + 20: 21, + 21: l, + 22: u, + 23: h, + 24: d, + 25: 23, + 33: 25, + 41: f, + 42: p, + 43: g, + 44: m, + 45: v, + 46: y, + 54: b, + 72: w, + 74: T, + 77: E, + 89: S, + 90: k, + }, + { 26: 51, 89: [1, 52], 90: [1, 53] }, + { 55: 54, 89: [1, 55], 90: [1, 56] }, + { 29: [1, 59], 61: [1, 57], 63: [1, 58] }, + t(L, [2, 17]), + t(L, [2, 18]), + t(L, [2, 19]), + t(L, [2, 20]), + { 30: 60, 33: 62, 75: A, 89: S, 90: k }, + { 30: 63, 33: 62, 75: A, 89: S, 90: k }, + { 30: 64, 33: 62, 75: A, 89: S, 90: k }, + t(R, [2, 29]), + t(R, [2, 30]), + t(R, [2, 31]), + t(R, [2, 32]), + t(R, [2, 33]), + t(R, [2, 34]), + t(C, [2, 81]), + t(C, [2, 82]), + { 1: [2, 3] }, + { 8: [2, 8] }, + { 8: [2, 9] }, + { 8: [2, 10] }, + { 8: [2, 11] }, + { 8: [2, 12] }, + { 8: [2, 13] }, + { 8: [2, 14] }, + { 8: [2, 15] }, + { 8: [2, 16] }, + { 27: [1, 65], 29: [1, 66] }, + t(I, [2, 79]), + t(I, [2, 80]), + { 27: [1, 67], 29: [1, 68] }, + t(I, [2, 85]), + t(I, [2, 86]), + { 62: 69, 65: P, 66: _, 67: N, 68: M, 69: O, 70: D, 71: B }, + { 62: 77, 65: P, 66: _, 67: N, 68: M, 69: O, 70: D, 71: B }, + { 30: 78, 33: 62, 75: A, 89: S, 90: k }, + { + 73: 79, + 75: z, + 76: F, + 78: 81, + 79: 82, + 80: G, + 81: q, + 82: Y, + 83: ee, + 84: Q, + 85: oe, + 86: pe, + 87: j, + 88: H, + }, + t(X, [2, 60]), + t(X, [2, 62]), + { + 73: 93, + 75: z, + 76: F, + 78: 81, + 79: 82, + 80: G, + 81: q, + 82: Y, + 83: ee, + 84: Q, + 85: oe, + 86: pe, + 87: j, + 88: H, + }, + { 30: 94, 33: 62, 75: A, 76: F, 89: S, 90: k }, + { 5: [1, 95] }, + { 30: 96, 33: 62, 75: A, 89: S, 90: k }, + { 5: [1, 97] }, + { 30: 98, 33: 62, 75: A, 89: S, 90: k }, + { 63: [1, 99] }, + t(W, [2, 50]), + t(W, [2, 51]), + t(W, [2, 52]), + t(W, [2, 53]), + t(W, [2, 54]), + t(W, [2, 55]), + t(W, [2, 56]), + { 64: [1, 100] }, + t(L, [2, 59], { 76: F }), + t(L, [2, 64], { 76: K }), + { 33: 103, 75: [1, 102], 89: S, 90: k }, + t(ne, [2, 65], { 79: 104, 75: z, 80: G, 81: q, 82: Y, 83: ee, 84: Q, 85: oe, 86: pe, 87: j, 88: H }), + t(Z, [2, 67]), + t(Z, [2, 69]), + t(Z, [2, 70]), + t(Z, [2, 71]), + t(Z, [2, 72]), + t(Z, [2, 73]), + t(Z, [2, 74]), + t(Z, [2, 75]), + t(Z, [2, 76]), + t(Z, [2, 77]), + t(Z, [2, 78]), + t(L, [2, 57], { 76: K }), + t(L, [2, 58], { 76: F }), + { 5: be, 28: 105, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + { 27: [1, 112], 76: F }, + { 5: Ue, 40: Fe, 56: 113, 57: _e, 59: Oe }, + { 27: [1, 118], 76: F }, + { 33: 119, 89: S, 90: k }, + { 33: 120, 89: S, 90: k }, + { 75: z, 78: 121, 79: 82, 80: G, 81: q, 82: Y, 83: ee, 84: Q, 85: oe, 86: pe, 87: j, 88: H }, + t(X, [2, 61]), + t(X, [2, 63]), + t(Z, [2, 68]), + t(L, [2, 21]), + { 32: [1, 122] }, + { 32: [1, 123] }, + { 32: [1, 124] }, + { 32: [1, 125] }, + { 5: be, 28: 126, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + t(L, [2, 28]), + { 5: [1, 127] }, + t(L, [2, 42]), + { 32: [1, 128] }, + { 32: [1, 129] }, + { 5: Ue, 40: Fe, 56: 130, 57: _e, 59: Oe }, + t(L, [2, 47]), + { 5: [1, 131] }, + t(L, [2, 48]), + t(L, [2, 49]), + t(ne, [2, 66], { 79: 104, 75: z, 80: G, 81: q, 82: Y, 83: ee, 84: Q, 85: oe, 86: pe, 87: j, 88: H }), + { 33: 132, 89: S, 90: k }, + { 35: 133, 89: [1, 134], 90: [1, 135] }, + { 37: 136, 47: [1, 137], 48: [1, 138], 49: [1, 139] }, + { 39: 140, 50: [1, 141], 51: [1, 142], 52: [1, 143], 53: [1, 144] }, + t(L, [2, 27]), + { 5: be, 28: 145, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + { 58: 146, 89: [1, 147], 90: [1, 148] }, + { 60: 149, 89: [1, 150], 90: [1, 151] }, + t(L, [2, 46]), + { 5: Ue, 40: Fe, 56: 152, 57: _e, 59: Oe }, + { 5: [1, 153] }, + { 5: [1, 154] }, + { 5: [2, 83] }, + { 5: [2, 84] }, + { 5: [1, 155] }, + { 5: [2, 35] }, + { 5: [2, 36] }, + { 5: [2, 37] }, + { 5: [1, 156] }, + { 5: [2, 38] }, + { 5: [2, 39] }, + { 5: [2, 40] }, + { 5: [2, 41] }, + t(L, [2, 22]), + { 5: [1, 157] }, + { 5: [2, 87] }, + { 5: [2, 88] }, + { 5: [1, 158] }, + { 5: [2, 89] }, + { 5: [2, 90] }, + t(L, [2, 43]), + { 5: be, 28: 159, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + { 5: be, 28: 160, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + { 5: be, 28: 161, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + { 5: be, 28: 162, 31: ce, 34: re, 36: Ne, 38: me, 40: Ve }, + { 5: Ue, 40: Fe, 56: 163, 57: _e, 59: Oe }, + { 5: Ue, 40: Fe, 56: 164, 57: _e, 59: Oe }, + t(L, [2, 23]), + t(L, [2, 24]), + t(L, [2, 25]), + t(L, [2, 26]), + t(L, [2, 44]), + t(L, [2, 45]), + ], + defaultActions: { + 8: [2, 2], + 12: [2, 1], + 41: [2, 3], + 42: [2, 8], + 43: [2, 9], + 44: [2, 10], + 45: [2, 11], + 46: [2, 12], + 47: [2, 13], + 48: [2, 14], + 49: [2, 15], + 50: [2, 16], + 134: [2, 83], + 135: [2, 84], + 137: [2, 35], + 138: [2, 36], + 139: [2, 37], + 141: [2, 38], + 142: [2, 39], + 143: [2, 40], + 144: [2, 41], + 147: [2, 87], + 148: [2, 88], + 150: [2, 89], + 151: [2, 90], + }, + parseError: x(function (Me, J) { + if (J.recoverable) this.trace(Me) + else { + var ue = new Error(Me) + throw ((ue.hash = J), ue) + } + }, "parseError"), + parse: x(function (Me) { + var J = this, + ue = [0], + $ = [], + se = [null], + ae = [], + fe = this.table, + he = "", + Te = 0, + ke = 0, + Ee = 2, + Ge = 1, + Je = ae.slice.call(arguments, 1), + We = Object.create(this.lexer), + Xe = { yy: {} } + for (var Ke in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Ke) && (Xe.yy[Ke] = this.yy[Ke]) + We.setInput(Me, Xe.yy), + (Xe.yy.lexer = We), + (Xe.yy.parser = this), + typeof We.yylloc > "u" && (We.yylloc = {}) + var $e = We.yylloc + ae.push($e) + var je = We.options && We.options.ranges + typeof Xe.yy.parseError == "function" + ? (this.parseError = Xe.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function lt(ur) { + ;(ue.length = ue.length - 2 * ur), (se.length = se.length - ur), (ae.length = ae.length - ur) + } + x(lt, "popStack") + function st() { + var ur + return ( + (ur = $.pop() || We.lex() || Ge), + typeof ur != "number" && + (ur instanceof Array && (($ = ur), (ur = $.pop())), (ur = J.symbols_[ur] || ur)), + ur + ) + } + x(st, "lex") + for (var qe, wt, Ye, Ze, dt = {}, ct, ut, mt, sr; ; ) { + if ( + ((wt = ue[ue.length - 1]), + this.defaultActions[wt] + ? (Ye = this.defaultActions[wt]) + : ((qe === null || typeof qe > "u") && (qe = st()), (Ye = fe[wt] && fe[wt][qe])), + typeof Ye > "u" || !Ye.length || !Ye[0]) + ) { + var Lt = "" + sr = [] + for (ct in fe[wt]) this.terminals_[ct] && ct > Ee && sr.push("'" + this.terminals_[ct] + "'") + We.showPosition + ? (Lt = + "Parse error on line " + + (Te + 1) + + `: +` + + We.showPosition() + + ` +Expecting ` + + sr.join(", ") + + ", got '" + + (this.terminals_[qe] || qe) + + "'") + : (Lt = + "Parse error on line " + + (Te + 1) + + ": Unexpected " + + (qe == Ge ? "end of input" : "'" + (this.terminals_[qe] || qe) + "'")), + this.parseError(Lt, { + text: We.match, + token: this.terminals_[qe] || qe, + line: We.yylineno, + loc: $e, + expected: sr, + }) + } + if (Ye[0] instanceof Array && Ye.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + wt + ", token: " + qe) + switch (Ye[0]) { + case 1: + ue.push(qe), + se.push(We.yytext), + ae.push(We.yylloc), + ue.push(Ye[1]), + (qe = null), + (ke = We.yyleng), + (he = We.yytext), + (Te = We.yylineno), + ($e = We.yylloc) + break + case 2: + if ( + ((ut = this.productions_[Ye[1]][1]), + (dt.$ = se[se.length - ut]), + (dt._$ = { + first_line: ae[ae.length - (ut || 1)].first_line, + last_line: ae[ae.length - 1].last_line, + first_column: ae[ae.length - (ut || 1)].first_column, + last_column: ae[ae.length - 1].last_column, + }), + je && (dt._$.range = [ae[ae.length - (ut || 1)].range[0], ae[ae.length - 1].range[1]]), + (Ze = this.performAction.apply(dt, [he, ke, Te, Xe.yy, Ye[1], se, ae].concat(Je))), + typeof Ze < "u") + ) + return Ze + ut && + ((ue = ue.slice(0, -1 * ut * 2)), + (se = se.slice(0, -1 * ut)), + (ae = ae.slice(0, -1 * ut))), + ue.push(this.productions_[Ye[1]][0]), + se.push(dt.$), + ae.push(dt._$), + (mt = fe[ue[ue.length - 2]][ue[ue.length - 1]]), + ue.push(mt) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + Le = (function () { + var ge = { + EOF: 1, + parseError: x(function (J, ue) { + if (this.yy.parser) this.yy.parser.parseError(J, ue) + else throw new Error(J) + }, "parseError"), + setInput: x(function (Me, J) { + return ( + (this.yy = J || this.yy || {}), + (this._input = Me), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var Me = this._input[0] + ;(this.yytext += Me), this.yyleng++, this.offset++, (this.match += Me), (this.matched += Me) + var J = Me.match(/(?:\r\n?|\n).*/g) + return ( + J ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + Me + ) + }, "input"), + unput: x(function (Me) { + var J = Me.length, + ue = Me.split(/(?:\r\n?|\n)/g) + ;(this._input = Me + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - J)), + (this.offset -= J) + var $ = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + ue.length - 1 && (this.yylineno -= ue.length - 1) + var se = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: ue + ? (ue.length === $.length ? this.yylloc.first_column : 0) + + $[$.length - ue.length].length - + ue[0].length + : this.yylloc.first_column - J, + }), + this.options.ranges && (this.yylloc.range = [se[0], se[0] + this.yyleng - J]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (Me) { + this.unput(this.match.slice(Me)) + }, "less"), + pastInput: x(function () { + var Me = this.matched.substr(0, this.matched.length - this.match.length) + return (Me.length > 20 ? "..." : "") + Me.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var Me = this.match + return ( + Me.length < 20 && (Me += this._input.substr(0, 20 - Me.length)), + (Me.substr(0, 20) + (Me.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var Me = this.pastInput(), + J = new Array(Me.length + 1).join("-") + return ( + Me + + this.upcomingInput() + + ` +` + + J + + "^" + ) + }, "showPosition"), + test_match: x(function (Me, J) { + var ue, $, se + if ( + (this.options.backtrack_lexer && + ((se = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (se.yylloc.range = this.yylloc.range.slice(0))), + ($ = Me[0].match(/(?:\r\n?|\n).*/g)), + $ && (this.yylineno += $.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: $ + ? $[$.length - 1].length - $[$.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + Me[0].length, + }), + (this.yytext += Me[0]), + (this.match += Me[0]), + (this.matches = Me), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(Me[0].length)), + (this.matched += Me[0]), + (ue = this.performAction.call( + this, + this.yy, + this, + J, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + ue) + ) + return ue + if (this._backtrack) { + for (var ae in se) this[ae] = se[ae] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var Me, J, ue, $ + this._more || ((this.yytext = ""), (this.match = "")) + for (var se = this._currentRules(), ae = 0; ae < se.length; ae++) + if (((ue = this._input.match(this.rules[se[ae]])), ue && (!J || ue[0].length > J[0].length))) { + if (((J = ue), ($ = ae), this.options.backtrack_lexer)) { + if (((Me = this.test_match(ue, se[ae])), Me !== !1)) return Me + if (this._backtrack) { + J = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return J + ? ((Me = this.test_match(J, se[$])), Me !== !1 ? Me : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var J = this.next() + return J || this.lex() + }, "lex"), + begin: x(function (J) { + this.conditionStack.push(J) + }, "begin"), + popState: x(function () { + var J = this.conditionStack.length - 1 + return J > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (J) { + return ( + (J = this.conditionStack.length - 1 - Math.abs(J || 0)), + J >= 0 ? this.conditionStack[J] : "INITIAL" + ) + }, "topState"), + pushState: x(function (J) { + this.begin(J) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (J, ue, $, se) { + switch ($) { + case 0: + return "title" + case 1: + return this.begin("acc_title"), 9 + case 2: + return this.popState(), "acc_title_value" + case 3: + return this.begin("acc_descr"), 11 + case 4: + return this.popState(), "acc_descr_value" + case 5: + this.begin("acc_descr_multiline") + break + case 6: + this.popState() + break + case 7: + return "acc_descr_multiline_value" + case 8: + return 21 + case 9: + return 22 + case 10: + return 23 + case 11: + return 24 + case 12: + return 5 + case 13: + break + case 14: + break + case 15: + break + case 16: + return 8 + case 17: + return 6 + case 18: + return 27 + case 19: + return 40 + case 20: + return 29 + case 21: + return 32 + case 22: + return 31 + case 23: + return 34 + case 24: + return 36 + case 25: + return 38 + case 26: + return 41 + case 27: + return 42 + case 28: + return 43 + case 29: + return 44 + case 30: + return 45 + case 31: + return 46 + case 32: + return 47 + case 33: + return 48 + case 34: + return 49 + case 35: + return 50 + case 36: + return 51 + case 37: + return 52 + case 38: + return 53 + case 39: + return 54 + case 40: + return 65 + case 41: + return 66 + case 42: + return 67 + case 43: + return 68 + case 44: + return 69 + case 45: + return 70 + case 46: + return 71 + case 47: + return 57 + case 48: + return 59 + case 49: + return this.begin("style"), 77 + case 50: + return 75 + case 51: + return 81 + case 52: + return 88 + case 53: + return "PERCENT" + case 54: + return 86 + case 55: + return 84 + case 56: + break + case 57: + this.begin("string") + break + case 58: + this.popState() + break + case 59: + return this.begin("style"), 72 + case 60: + return this.begin("style"), 74 + case 61: + return 61 + case 62: + return 64 + case 63: + return 63 + case 64: + this.begin("string") + break + case 65: + this.popState() + break + case 66: + return "qString" + case 67: + return (ue.yytext = ue.yytext.trim()), 89 + case 68: + return 75 + case 69: + return 80 + case 70: + return 76 + } + }, "anonymous"), + rules: [ + /^(?:title\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:(\r?\n)+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:$)/i, + /^(?:requirementDiagram\b)/i, + /^(?:\{)/i, + /^(?:\})/i, + /^(?::{3})/i, + /^(?::)/i, + /^(?:id\b)/i, + /^(?:text\b)/i, + /^(?:risk\b)/i, + /^(?:verifyMethod\b)/i, + /^(?:requirement\b)/i, + /^(?:functionalRequirement\b)/i, + /^(?:interfaceRequirement\b)/i, + /^(?:performanceRequirement\b)/i, + /^(?:physicalRequirement\b)/i, + /^(?:designConstraint\b)/i, + /^(?:low\b)/i, + /^(?:medium\b)/i, + /^(?:high\b)/i, + /^(?:analysis\b)/i, + /^(?:demonstration\b)/i, + /^(?:inspection\b)/i, + /^(?:test\b)/i, + /^(?:element\b)/i, + /^(?:contains\b)/i, + /^(?:copies\b)/i, + /^(?:derives\b)/i, + /^(?:satisfies\b)/i, + /^(?:verifies\b)/i, + /^(?:refines\b)/i, + /^(?:traces\b)/i, + /^(?:type\b)/i, + /^(?:docref\b)/i, + /^(?:style\b)/i, + /^(?:\w+)/i, + /^(?::)/i, + /^(?:;)/i, + /^(?:%)/i, + /^(?:-)/i, + /^(?:#)/i, + /^(?: )/i, + /^(?:["])/i, + /^(?:\n)/i, + /^(?:classDef\b)/i, + /^(?:class\b)/i, + /^(?:<-)/i, + /^(?:->)/i, + /^(?:-)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i, + /^(?:\w+)/i, + /^(?:[0-9]+)/i, + /^(?:,)/i, + ], + conditions: { + acc_descr_multiline: { rules: [6, 7, 68, 69, 70], inclusive: !1 }, + acc_descr: { rules: [4, 68, 69, 70], inclusive: !1 }, + acc_title: { rules: [2, 68, 69, 70], inclusive: !1 }, + style: { rules: [50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 69, 70], inclusive: !1 }, + unqString: { rules: [68, 69, 70], inclusive: !1 }, + token: { rules: [68, 69, 70], inclusive: !1 }, + string: { rules: [65, 66, 68, 69, 70], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 59, + 60, 61, 62, 63, 64, 67, 68, 69, 70, + ], + inclusive: !0, + }, + }, + } + return ge + })() + Ce.lexer = Le + function ze() { + this.yy = {} + } + return x(ze, "Parser"), (ze.prototype = Ce), (Ce.Parser = ze), new ze() +})() +v6.parser = v6 +var lwe = v6, + dd, + cwe = + ((dd = class { + constructor() { + ;(this.relations = []), + (this.latestRequirement = this.getInitialRequirement()), + (this.requirements = new Map()), + (this.latestElement = this.getInitialElement()), + (this.elements = new Map()), + (this.classes = new Map()), + (this.direction = "TB"), + (this.RequirementType = { + REQUIREMENT: "Requirement", + FUNCTIONAL_REQUIREMENT: "Functional Requirement", + INTERFACE_REQUIREMENT: "Interface Requirement", + PERFORMANCE_REQUIREMENT: "Performance Requirement", + PHYSICAL_REQUIREMENT: "Physical Requirement", + DESIGN_CONSTRAINT: "Design Constraint", + }), + (this.RiskLevel = { LOW_RISK: "Low", MED_RISK: "Medium", HIGH_RISK: "High" }), + (this.VerifyType = { + VERIFY_ANALYSIS: "Analysis", + VERIFY_DEMONSTRATION: "Demonstration", + VERIFY_INSPECTION: "Inspection", + VERIFY_TEST: "Test", + }), + (this.Relationships = { + CONTAINS: "contains", + COPIES: "copies", + DERIVES: "derives", + SATISFIES: "satisfies", + VERIFIES: "verifies", + REFINES: "refines", + TRACES: "traces", + }), + (this.setAccTitle = $n), + (this.getAccTitle = Zn), + (this.setAccDescription = Qn), + (this.getAccDescription = Jn), + (this.setDiagramTitle = fi), + (this.getDiagramTitle = Un), + (this.getConfig = x(() => we().requirement, "getConfig")), + this.clear(), + (this.setDirection = this.setDirection.bind(this)), + (this.addRequirement = this.addRequirement.bind(this)), + (this.setNewReqId = this.setNewReqId.bind(this)), + (this.setNewReqRisk = this.setNewReqRisk.bind(this)), + (this.setNewReqText = this.setNewReqText.bind(this)), + (this.setNewReqVerifyMethod = this.setNewReqVerifyMethod.bind(this)), + (this.addElement = this.addElement.bind(this)), + (this.setNewElementType = this.setNewElementType.bind(this)), + (this.setNewElementDocRef = this.setNewElementDocRef.bind(this)), + (this.addRelationship = this.addRelationship.bind(this)), + (this.setCssStyle = this.setCssStyle.bind(this)), + (this.setClass = this.setClass.bind(this)), + (this.defineClass = this.defineClass.bind(this)), + (this.setAccTitle = this.setAccTitle.bind(this)), + (this.setAccDescription = this.setAccDescription.bind(this)) + } + getDirection() { + return this.direction + } + setDirection(e) { + this.direction = e + } + resetLatestRequirement() { + this.latestRequirement = this.getInitialRequirement() + } + resetLatestElement() { + this.latestElement = this.getInitialElement() + } + getInitialRequirement() { + return { + requirementId: "", + text: "", + risk: "", + verifyMethod: "", + name: "", + type: "", + cssStyles: [], + classes: ["default"], + } + } + getInitialElement() { + return { name: "", type: "", docRef: "", cssStyles: [], classes: ["default"] } + } + addRequirement(e, r) { + return ( + this.requirements.has(e) || + this.requirements.set(e, { + name: e, + type: r, + requirementId: this.latestRequirement.requirementId, + text: this.latestRequirement.text, + risk: this.latestRequirement.risk, + verifyMethod: this.latestRequirement.verifyMethod, + cssStyles: [], + classes: ["default"], + }), + this.resetLatestRequirement(), + this.requirements.get(e) + ) + } + getRequirements() { + return this.requirements + } + setNewReqId(e) { + this.latestRequirement !== void 0 && (this.latestRequirement.requirementId = e) + } + setNewReqText(e) { + this.latestRequirement !== void 0 && (this.latestRequirement.text = e) + } + setNewReqRisk(e) { + this.latestRequirement !== void 0 && (this.latestRequirement.risk = e) + } + setNewReqVerifyMethod(e) { + this.latestRequirement !== void 0 && (this.latestRequirement.verifyMethod = e) + } + addElement(e) { + return ( + this.elements.has(e) || + (this.elements.set(e, { + name: e, + type: this.latestElement.type, + docRef: this.latestElement.docRef, + cssStyles: [], + classes: ["default"], + }), + ie.info("Added new element: ", e)), + this.resetLatestElement(), + this.elements.get(e) + ) + } + getElements() { + return this.elements + } + setNewElementType(e) { + this.latestElement !== void 0 && (this.latestElement.type = e) + } + setNewElementDocRef(e) { + this.latestElement !== void 0 && (this.latestElement.docRef = e) + } + addRelationship(e, r, n) { + this.relations.push({ type: e, src: r, dst: n }) + } + getRelationships() { + return this.relations + } + clear() { + ;(this.relations = []), + this.resetLatestRequirement(), + (this.requirements = new Map()), + this.resetLatestElement(), + (this.elements = new Map()), + (this.classes = new Map()), + Gn() + } + setCssStyle(e, r) { + for (const n of e) { + const i = this.requirements.get(n) ?? this.elements.get(n) + if (!r || !i) return + for (const a of r) a.includes(",") ? i.cssStyles.push(...a.split(",")) : i.cssStyles.push(a) + } + } + setClass(e, r) { + var n + for (const i of e) { + const a = this.requirements.get(i) ?? this.elements.get(i) + if (a) + for (const s of r) { + a.classes.push(s) + const o = (n = this.classes.get(s)) == null ? void 0 : n.styles + o && a.cssStyles.push(...o) + } + } + } + defineClass(e, r) { + for (const n of e) { + let i = this.classes.get(n) + i === void 0 && ((i = { id: n, styles: [], textStyles: [] }), this.classes.set(n, i)), + r && + r.forEach(function (a) { + if (/color/.exec(a)) { + const s = a.replace("fill", "bgFill") + i.textStyles.push(s) + } + i.styles.push(a) + }), + this.requirements.forEach((a) => { + a.classes.includes(n) && a.cssStyles.push(...r.flatMap((s) => s.split(","))) + }), + this.elements.forEach((a) => { + a.classes.includes(n) && a.cssStyles.push(...r.flatMap((s) => s.split(","))) + }) + } + } + getClasses() { + return this.classes + } + getData() { + var i, a, s, o + const e = we(), + r = [], + n = [] + for (const l of this.requirements.values()) { + const u = l + ;(u.id = l.name), + (u.cssStyles = l.cssStyles), + (u.cssClasses = l.classes.join(" ")), + (u.shape = "requirementBox"), + (u.look = e.look), + r.push(u) + } + for (const l of this.elements.values()) { + const u = l + ;(u.shape = "requirementBox"), + (u.look = e.look), + (u.id = l.name), + (u.cssStyles = l.cssStyles), + (u.cssClasses = l.classes.join(" ")), + r.push(u) + } + for (const l of this.relations) { + let u = 0 + const h = l.type === this.Relationships.CONTAINS, + d = { + id: `${l.src}-${l.dst}-${u}`, + start: + ((i = this.requirements.get(l.src)) == null ? void 0 : i.name) ?? + ((a = this.elements.get(l.src)) == null ? void 0 : a.name), + end: + ((s = this.requirements.get(l.dst)) == null ? void 0 : s.name) ?? + ((o = this.elements.get(l.dst)) == null ? void 0 : o.name), + label: `<<${l.type}>>`, + classes: "relationshipLine", + style: ["fill:none", h ? "" : "stroke-dasharray: 10,7"], + labelpos: "c", + thickness: "normal", + type: "normal", + pattern: h ? "normal" : "dashed", + arrowTypeStart: h ? "requirement_contains" : "", + arrowTypeEnd: h ? "" : "requirement_arrow", + look: e.look, + } + n.push(d), u++ + } + return { nodes: r, edges: n, other: {}, config: e, direction: this.getDirection() } + } + }), + x(dd, "RequirementDB"), + dd), + uwe = x( + (t) => ` + + marker { + fill: ${t.relationColor}; + stroke: ${t.relationColor}; + } + + marker.cross { + stroke: ${t.lineColor}; + } + + svg { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + } + + .reqBox { + fill: ${t.requirementBackground}; + fill-opacity: 1.0; + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${t.requirementTextColor}; + } + .reqLabelBox { + fill: ${t.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + .relationshipLine { + stroke: ${t.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${t.relationLabelColor}; + } + .divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; + } + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .label text,span { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + .labelBkg { + background-color: ${t.edgeLabelBackground}; + } + +`, + "getStyles", + ), + hwe = uwe, + dU = {} +w2(dU, { draw: () => dwe }) +var dwe = x(async function (t, e, r, n) { + ie.info("REF0:"), ie.info("Drawing requirement diagram (unified)", e) + const { securityLevel: i, state: a, layout: s } = we(), + o = n.db.getData(), + l = Ag(e, i) + ;(o.type = n.type), + (o.layoutAlgorithm = X2(s)), + (o.nodeSpacing = (a == null ? void 0 : a.nodeSpacing) ?? 50), + (o.rankSpacing = (a == null ? void 0 : a.rankSpacing) ?? 50), + (o.markers = ["requirement_contains", "requirement_arrow"]), + (o.diagramId = e), + await Tg(o, l) + const u = 8 + Zt.insertTitle( + l, + "requirementDiagramTitleText", + (a == null ? void 0 : a.titleTopMargin) ?? 25, + n.db.getDiagramTitle(), + ), + _g(l, u, "requirementDiagram", (a == null ? void 0 : a.useMaxWidth) ?? !0) + }, "draw"), + fwe = { + parser: lwe, + get db() { + return new cwe() + }, + renderer: dU, + styles: hwe, + } +const pwe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: fwe }, Symbol.toStringTag, { value: "Module" }), +) +var y6 = (function () { + var t = x(function (j, H, X, W) { + for (X = X || {}, W = j.length; W--; X[j[W]] = H); + return X + }, "o"), + e = [1, 2], + r = [1, 3], + n = [1, 4], + i = [2, 4], + a = [1, 9], + s = [1, 11], + o = [1, 13], + l = [1, 14], + u = [1, 16], + h = [1, 17], + d = [1, 18], + f = [1, 24], + p = [1, 25], + g = [1, 26], + m = [1, 27], + v = [1, 28], + y = [1, 29], + b = [1, 30], + w = [1, 31], + T = [1, 32], + E = [1, 33], + S = [1, 34], + k = [1, 35], + L = [1, 36], + A = [1, 37], + R = [1, 38], + C = [1, 39], + I = [1, 41], + P = [1, 42], + _ = [1, 43], + N = [1, 44], + M = [1, 45], + O = [1, 46], + D = [ + 1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49, 50, 52, 53, + 54, 59, 60, 61, 62, 70, + ], + B = [4, 5, 16, 50, 52, 53], + z = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53, 54, 59, 60, + 61, 62, 70, + ], + F = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50, 52, 53, 54, 59, + 60, 61, 62, 70, + ], + G = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50, 52, 53, 54, 59, + 60, 61, 62, 70, + ], + q = [ + 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50, 52, 53, 54, 59, + 60, 61, 62, 70, + ], + Y = [68, 69, 70], + ee = [1, 122], + Q = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NEWLINE: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + box_section: 10, + box_line: 11, + participant_statement: 12, + create: 13, + box: 14, + restOfLine: 15, + end: 16, + signal: 17, + autonumber: 18, + NUM: 19, + off: 20, + activate: 21, + actor: 22, + deactivate: 23, + note_statement: 24, + links_statement: 25, + link_statement: 26, + properties_statement: 27, + details_statement: 28, + title: 29, + legacy_title: 30, + acc_title: 31, + acc_title_value: 32, + acc_descr: 33, + acc_descr_value: 34, + acc_descr_multiline_value: 35, + loop: 36, + rect: 37, + opt: 38, + alt: 39, + else_sections: 40, + par: 41, + par_sections: 42, + par_over: 43, + critical: 44, + option_sections: 45, + break: 46, + option: 47, + and: 48, + else: 49, + participant: 50, + AS: 51, + participant_actor: 52, + destroy: 53, + note: 54, + placement: 55, + text2: 56, + over: 57, + actor_pair: 58, + links: 59, + link: 60, + properties: 61, + details: 62, + spaceList: 63, + ",": 64, + left_of: 65, + right_of: 66, + signaltype: 67, + "+": 68, + "-": 69, + ACTOR: 70, + SOLID_OPEN_ARROW: 71, + DOTTED_OPEN_ARROW: 72, + SOLID_ARROW: 73, + BIDIRECTIONAL_SOLID_ARROW: 74, + DOTTED_ARROW: 75, + BIDIRECTIONAL_DOTTED_ARROW: 76, + SOLID_CROSS: 77, + DOTTED_CROSS: 78, + SOLID_POINT: 79, + DOTTED_POINT: 80, + TXT: 81, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "SPACE", + 5: "NEWLINE", + 6: "SD", + 13: "create", + 14: "box", + 15: "restOfLine", + 16: "end", + 18: "autonumber", + 19: "NUM", + 20: "off", + 21: "activate", + 23: "deactivate", + 29: "title", + 30: "legacy_title", + 31: "acc_title", + 32: "acc_title_value", + 33: "acc_descr", + 34: "acc_descr_value", + 35: "acc_descr_multiline_value", + 36: "loop", + 37: "rect", + 38: "opt", + 39: "alt", + 41: "par", + 43: "par_over", + 44: "critical", + 46: "break", + 47: "option", + 48: "and", + 49: "else", + 50: "participant", + 51: "AS", + 52: "participant_actor", + 53: "destroy", + 54: "note", + 57: "over", + 59: "links", + 60: "link", + 61: "properties", + 62: "details", + 64: ",", + 65: "left_of", + 66: "right_of", + 68: "+", + 69: "-", + 70: "ACTOR", + 71: "SOLID_OPEN_ARROW", + 72: "DOTTED_OPEN_ARROW", + 73: "SOLID_ARROW", + 74: "BIDIRECTIONAL_SOLID_ARROW", + 75: "DOTTED_ARROW", + 76: "BIDIRECTIONAL_DOTTED_ARROW", + 77: "SOLID_CROSS", + 78: "DOTTED_CROSS", + 79: "SOLID_POINT", + 80: "DOTTED_POINT", + 81: "TXT", + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [10, 0], + [10, 2], + [11, 2], + [11, 1], + [11, 1], + [9, 1], + [9, 2], + [9, 4], + [9, 2], + [9, 4], + [9, 3], + [9, 3], + [9, 2], + [9, 3], + [9, 3], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [9, 4], + [45, 1], + [45, 4], + [42, 1], + [42, 4], + [40, 1], + [40, 4], + [12, 5], + [12, 3], + [12, 5], + [12, 3], + [12, 3], + [24, 4], + [24, 4], + [25, 3], + [26, 3], + [27, 3], + [28, 3], + [63, 2], + [63, 1], + [58, 3], + [58, 1], + [55, 1], + [55, 1], + [17, 5], + [17, 5], + [17, 4], + [22, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [67, 1], + [56, 1], + ], + performAction: x(function (H, X, W, K, ne, Z, be) { + var ce = Z.length - 1 + switch (ne) { + case 3: + return K.apply(Z[ce]), Z[ce] + case 4: + case 9: + this.$ = [] + break + case 5: + case 10: + Z[ce - 1].push(Z[ce]), (this.$ = Z[ce - 1]) + break + case 6: + case 7: + case 11: + case 12: + this.$ = Z[ce] + break + case 8: + case 13: + this.$ = [] + break + case 15: + ;(Z[ce].type = "createParticipant"), (this.$ = Z[ce]) + break + case 16: + Z[ce - 1].unshift({ type: "boxStart", boxData: K.parseBoxData(Z[ce - 2]) }), + Z[ce - 1].push({ type: "boxEnd", boxText: Z[ce - 2] }), + (this.$ = Z[ce - 1]) + break + case 18: + this.$ = { + type: "sequenceIndex", + sequenceIndex: Number(Z[ce - 2]), + sequenceIndexStep: Number(Z[ce - 1]), + sequenceVisible: !0, + signalType: K.LINETYPE.AUTONUMBER, + } + break + case 19: + this.$ = { + type: "sequenceIndex", + sequenceIndex: Number(Z[ce - 1]), + sequenceIndexStep: 1, + sequenceVisible: !0, + signalType: K.LINETYPE.AUTONUMBER, + } + break + case 20: + this.$ = { type: "sequenceIndex", sequenceVisible: !1, signalType: K.LINETYPE.AUTONUMBER } + break + case 21: + this.$ = { type: "sequenceIndex", sequenceVisible: !0, signalType: K.LINETYPE.AUTONUMBER } + break + case 22: + this.$ = { type: "activeStart", signalType: K.LINETYPE.ACTIVE_START, actor: Z[ce - 1].actor } + break + case 23: + this.$ = { type: "activeEnd", signalType: K.LINETYPE.ACTIVE_END, actor: Z[ce - 1].actor } + break + case 29: + K.setDiagramTitle(Z[ce].substring(6)), (this.$ = Z[ce].substring(6)) + break + case 30: + K.setDiagramTitle(Z[ce].substring(7)), (this.$ = Z[ce].substring(7)) + break + case 31: + ;(this.$ = Z[ce].trim()), K.setAccTitle(this.$) + break + case 32: + case 33: + ;(this.$ = Z[ce].trim()), K.setAccDescription(this.$) + break + case 34: + Z[ce - 1].unshift({ + type: "loopStart", + loopText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.LOOP_START, + }), + Z[ce - 1].push({ type: "loopEnd", loopText: Z[ce - 2], signalType: K.LINETYPE.LOOP_END }), + (this.$ = Z[ce - 1]) + break + case 35: + Z[ce - 1].unshift({ + type: "rectStart", + color: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.RECT_START, + }), + Z[ce - 1].push({ + type: "rectEnd", + color: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.RECT_END, + }), + (this.$ = Z[ce - 1]) + break + case 36: + Z[ce - 1].unshift({ + type: "optStart", + optText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.OPT_START, + }), + Z[ce - 1].push({ + type: "optEnd", + optText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.OPT_END, + }), + (this.$ = Z[ce - 1]) + break + case 37: + Z[ce - 1].unshift({ + type: "altStart", + altText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.ALT_START, + }), + Z[ce - 1].push({ type: "altEnd", signalType: K.LINETYPE.ALT_END }), + (this.$ = Z[ce - 1]) + break + case 38: + Z[ce - 1].unshift({ + type: "parStart", + parText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.PAR_START, + }), + Z[ce - 1].push({ type: "parEnd", signalType: K.LINETYPE.PAR_END }), + (this.$ = Z[ce - 1]) + break + case 39: + Z[ce - 1].unshift({ + type: "parStart", + parText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.PAR_OVER_START, + }), + Z[ce - 1].push({ type: "parEnd", signalType: K.LINETYPE.PAR_END }), + (this.$ = Z[ce - 1]) + break + case 40: + Z[ce - 1].unshift({ + type: "criticalStart", + criticalText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.CRITICAL_START, + }), + Z[ce - 1].push({ type: "criticalEnd", signalType: K.LINETYPE.CRITICAL_END }), + (this.$ = Z[ce - 1]) + break + case 41: + Z[ce - 1].unshift({ + type: "breakStart", + breakText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.BREAK_START, + }), + Z[ce - 1].push({ + type: "breakEnd", + optText: K.parseMessage(Z[ce - 2]), + signalType: K.LINETYPE.BREAK_END, + }), + (this.$ = Z[ce - 1]) + break + case 43: + this.$ = Z[ce - 3].concat([ + { + type: "option", + optionText: K.parseMessage(Z[ce - 1]), + signalType: K.LINETYPE.CRITICAL_OPTION, + }, + Z[ce], + ]) + break + case 45: + this.$ = Z[ce - 3].concat([ + { type: "and", parText: K.parseMessage(Z[ce - 1]), signalType: K.LINETYPE.PAR_AND }, + Z[ce], + ]) + break + case 47: + this.$ = Z[ce - 3].concat([ + { type: "else", altText: K.parseMessage(Z[ce - 1]), signalType: K.LINETYPE.ALT_ELSE }, + Z[ce], + ]) + break + case 48: + ;(Z[ce - 3].draw = "participant"), + (Z[ce - 3].type = "addParticipant"), + (Z[ce - 3].description = K.parseMessage(Z[ce - 1])), + (this.$ = Z[ce - 3]) + break + case 49: + ;(Z[ce - 1].draw = "participant"), (Z[ce - 1].type = "addParticipant"), (this.$ = Z[ce - 1]) + break + case 50: + ;(Z[ce - 3].draw = "actor"), + (Z[ce - 3].type = "addParticipant"), + (Z[ce - 3].description = K.parseMessage(Z[ce - 1])), + (this.$ = Z[ce - 3]) + break + case 51: + ;(Z[ce - 1].draw = "actor"), (Z[ce - 1].type = "addParticipant"), (this.$ = Z[ce - 1]) + break + case 52: + ;(Z[ce - 1].type = "destroyParticipant"), (this.$ = Z[ce - 1]) + break + case 53: + this.$ = [ + Z[ce - 1], + { type: "addNote", placement: Z[ce - 2], actor: Z[ce - 1].actor, text: Z[ce] }, + ] + break + case 54: + ;(Z[ce - 2] = [].concat(Z[ce - 1], Z[ce - 1]).slice(0, 2)), + (Z[ce - 2][0] = Z[ce - 2][0].actor), + (Z[ce - 2][1] = Z[ce - 2][1].actor), + (this.$ = [ + Z[ce - 1], + { + type: "addNote", + placement: K.PLACEMENT.OVER, + actor: Z[ce - 2].slice(0, 2), + text: Z[ce], + }, + ]) + break + case 55: + this.$ = [Z[ce - 1], { type: "addLinks", actor: Z[ce - 1].actor, text: Z[ce] }] + break + case 56: + this.$ = [Z[ce - 1], { type: "addALink", actor: Z[ce - 1].actor, text: Z[ce] }] + break + case 57: + this.$ = [Z[ce - 1], { type: "addProperties", actor: Z[ce - 1].actor, text: Z[ce] }] + break + case 58: + this.$ = [Z[ce - 1], { type: "addDetails", actor: Z[ce - 1].actor, text: Z[ce] }] + break + case 61: + this.$ = [Z[ce - 2], Z[ce]] + break + case 62: + this.$ = Z[ce] + break + case 63: + this.$ = K.PLACEMENT.LEFTOF + break + case 64: + this.$ = K.PLACEMENT.RIGHTOF + break + case 65: + this.$ = [ + Z[ce - 4], + Z[ce - 1], + { + type: "addMessage", + from: Z[ce - 4].actor, + to: Z[ce - 1].actor, + signalType: Z[ce - 3], + msg: Z[ce], + activate: !0, + }, + { type: "activeStart", signalType: K.LINETYPE.ACTIVE_START, actor: Z[ce - 1].actor }, + ] + break + case 66: + this.$ = [ + Z[ce - 4], + Z[ce - 1], + { + type: "addMessage", + from: Z[ce - 4].actor, + to: Z[ce - 1].actor, + signalType: Z[ce - 3], + msg: Z[ce], + }, + { type: "activeEnd", signalType: K.LINETYPE.ACTIVE_END, actor: Z[ce - 4].actor }, + ] + break + case 67: + this.$ = [ + Z[ce - 3], + Z[ce - 1], + { + type: "addMessage", + from: Z[ce - 3].actor, + to: Z[ce - 1].actor, + signalType: Z[ce - 2], + msg: Z[ce], + }, + ] + break + case 68: + this.$ = { type: "addParticipant", actor: Z[ce] } + break + case 69: + this.$ = K.LINETYPE.SOLID_OPEN + break + case 70: + this.$ = K.LINETYPE.DOTTED_OPEN + break + case 71: + this.$ = K.LINETYPE.SOLID + break + case 72: + this.$ = K.LINETYPE.BIDIRECTIONAL_SOLID + break + case 73: + this.$ = K.LINETYPE.DOTTED + break + case 74: + this.$ = K.LINETYPE.BIDIRECTIONAL_DOTTED + break + case 75: + this.$ = K.LINETYPE.SOLID_CROSS + break + case 76: + this.$ = K.LINETYPE.DOTTED_CROSS + break + case 77: + this.$ = K.LINETYPE.SOLID_POINT + break + case 78: + this.$ = K.LINETYPE.DOTTED_POINT + break + case 79: + this.$ = K.parseMessage(Z[ce].trim().substring(1)) + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: e, 5: r, 6: n }, + { 1: [3] }, + { 3: 5, 4: e, 5: r, 6: n }, + { 3: 6, 4: e, 5: r, 6: n }, + t( + [ + 1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53, 54, + 59, 60, 61, 62, 70, + ], + i, + { 7: 7 }, + ), + { 1: [2, 1] }, + { 1: [2, 2] }, + { + 1: [2, 3], + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + t(D, [2, 5]), + { + 9: 47, + 12: 12, + 13: o, + 14: l, + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + t(D, [2, 7]), + t(D, [2, 8]), + t(D, [2, 14]), + { 12: 48, 50: A, 52: R, 53: C }, + { 15: [1, 49] }, + { 5: [1, 50] }, + { 5: [1, 53], 19: [1, 51], 20: [1, 52] }, + { 22: 54, 70: O }, + { 22: 55, 70: O }, + { 5: [1, 56] }, + { 5: [1, 57] }, + { 5: [1, 58] }, + { 5: [1, 59] }, + { 5: [1, 60] }, + t(D, [2, 29]), + t(D, [2, 30]), + { 32: [1, 61] }, + { 34: [1, 62] }, + t(D, [2, 33]), + { 15: [1, 63] }, + { 15: [1, 64] }, + { 15: [1, 65] }, + { 15: [1, 66] }, + { 15: [1, 67] }, + { 15: [1, 68] }, + { 15: [1, 69] }, + { 15: [1, 70] }, + { 22: 71, 70: O }, + { 22: 72, 70: O }, + { 22: 73, 70: O }, + { + 67: 74, + 71: [1, 75], + 72: [1, 76], + 73: [1, 77], + 74: [1, 78], + 75: [1, 79], + 76: [1, 80], + 77: [1, 81], + 78: [1, 82], + 79: [1, 83], + 80: [1, 84], + }, + { 55: 85, 57: [1, 86], 65: [1, 87], 66: [1, 88] }, + { 22: 89, 70: O }, + { 22: 90, 70: O }, + { 22: 91, 70: O }, + { 22: 92, 70: O }, + t([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], [2, 68]), + t(D, [2, 6]), + t(D, [2, 15]), + t(B, [2, 9], { 10: 93 }), + t(D, [2, 17]), + { 5: [1, 95], 19: [1, 94] }, + { 5: [1, 96] }, + t(D, [2, 21]), + { 5: [1, 97] }, + { 5: [1, 98] }, + t(D, [2, 24]), + t(D, [2, 25]), + t(D, [2, 26]), + t(D, [2, 27]), + t(D, [2, 28]), + t(D, [2, 31]), + t(D, [2, 32]), + t(z, i, { 7: 99 }), + t(z, i, { 7: 100 }), + t(z, i, { 7: 101 }), + t(F, i, { 40: 102, 7: 103 }), + t(G, i, { 42: 104, 7: 105 }), + t(G, i, { 7: 105, 42: 106 }), + t(q, i, { 45: 107, 7: 108 }), + t(z, i, { 7: 109 }), + { 5: [1, 111], 51: [1, 110] }, + { 5: [1, 113], 51: [1, 112] }, + { 5: [1, 114] }, + { 22: 117, 68: [1, 115], 69: [1, 116], 70: O }, + t(Y, [2, 69]), + t(Y, [2, 70]), + t(Y, [2, 71]), + t(Y, [2, 72]), + t(Y, [2, 73]), + t(Y, [2, 74]), + t(Y, [2, 75]), + t(Y, [2, 76]), + t(Y, [2, 77]), + t(Y, [2, 78]), + { 22: 118, 70: O }, + { 22: 120, 58: 119, 70: O }, + { 70: [2, 63] }, + { 70: [2, 64] }, + { 56: 121, 81: ee }, + { 56: 123, 81: ee }, + { 56: 124, 81: ee }, + { 56: 125, 81: ee }, + { 4: [1, 128], 5: [1, 130], 11: 127, 12: 129, 16: [1, 126], 50: A, 52: R, 53: C }, + { 5: [1, 131] }, + t(D, [2, 19]), + t(D, [2, 20]), + t(D, [2, 22]), + t(D, [2, 23]), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [1, 132], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [1, 133], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [1, 134], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { 16: [1, 135] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [2, 46], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 49: [1, 136], + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { 16: [1, 137] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [2, 44], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 48: [1, 138], + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { 16: [1, 139] }, + { 16: [1, 140] }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [2, 42], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 47: [1, 141], + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 12: 12, + 13: o, + 14: l, + 16: [1, 142], + 17: 15, + 18: u, + 21: h, + 22: 40, + 23: d, + 24: 19, + 25: 20, + 26: 21, + 27: 22, + 28: 23, + 29: f, + 30: p, + 31: g, + 33: m, + 35: v, + 36: y, + 37: b, + 38: w, + 39: T, + 41: E, + 43: S, + 44: k, + 46: L, + 50: A, + 52: R, + 53: C, + 54: I, + 59: P, + 60: _, + 61: N, + 62: M, + 70: O, + }, + { 15: [1, 143] }, + t(D, [2, 49]), + { 15: [1, 144] }, + t(D, [2, 51]), + t(D, [2, 52]), + { 22: 145, 70: O }, + { 22: 146, 70: O }, + { 56: 147, 81: ee }, + { 56: 148, 81: ee }, + { 56: 149, 81: ee }, + { 64: [1, 150], 81: [2, 62] }, + { 5: [2, 55] }, + { 5: [2, 79] }, + { 5: [2, 56] }, + { 5: [2, 57] }, + { 5: [2, 58] }, + t(D, [2, 16]), + t(B, [2, 10]), + { 12: 151, 50: A, 52: R, 53: C }, + t(B, [2, 12]), + t(B, [2, 13]), + t(D, [2, 18]), + t(D, [2, 34]), + t(D, [2, 35]), + t(D, [2, 36]), + t(D, [2, 37]), + { 15: [1, 152] }, + t(D, [2, 38]), + { 15: [1, 153] }, + t(D, [2, 39]), + t(D, [2, 40]), + { 15: [1, 154] }, + t(D, [2, 41]), + { 5: [1, 155] }, + { 5: [1, 156] }, + { 56: 157, 81: ee }, + { 56: 158, 81: ee }, + { 5: [2, 67] }, + { 5: [2, 53] }, + { 5: [2, 54] }, + { 22: 159, 70: O }, + t(B, [2, 11]), + t(F, i, { 7: 103, 40: 160 }), + t(G, i, { 7: 105, 42: 161 }), + t(q, i, { 7: 108, 45: 162 }), + t(D, [2, 48]), + t(D, [2, 50]), + { 5: [2, 65] }, + { 5: [2, 66] }, + { 81: [2, 61] }, + { 16: [2, 47] }, + { 16: [2, 45] }, + { 16: [2, 43] }, + ], + defaultActions: { + 5: [2, 1], + 6: [2, 2], + 87: [2, 63], + 88: [2, 64], + 121: [2, 55], + 122: [2, 79], + 123: [2, 56], + 124: [2, 57], + 125: [2, 58], + 147: [2, 67], + 148: [2, 53], + 149: [2, 54], + 157: [2, 65], + 158: [2, 66], + 159: [2, 61], + 160: [2, 47], + 161: [2, 45], + 162: [2, 43], + }, + parseError: x(function (H, X) { + if (X.recoverable) this.trace(H) + else { + var W = new Error(H) + throw ((W.hash = X), W) + } + }, "parseError"), + parse: x(function (H) { + var X = this, + W = [0], + K = [], + ne = [null], + Z = [], + be = this.table, + ce = "", + re = 0, + Ne = 0, + me = 2, + Ve = 1, + Ue = Z.slice.call(arguments, 1), + Fe = Object.create(this.lexer), + _e = { yy: {} } + for (var Oe in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Oe) && (_e.yy[Oe] = this.yy[Oe]) + Fe.setInput(H, _e.yy), + (_e.yy.lexer = Fe), + (_e.yy.parser = this), + typeof Fe.yylloc > "u" && (Fe.yylloc = {}) + var Ce = Fe.yylloc + Z.push(Ce) + var Le = Fe.options && Fe.options.ranges + typeof _e.yy.parseError == "function" + ? (this.parseError = _e.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function ze(Ee) { + ;(W.length = W.length - 2 * Ee), (ne.length = ne.length - Ee), (Z.length = Z.length - Ee) + } + x(ze, "popStack") + function ge() { + var Ee + return ( + (Ee = K.pop() || Fe.lex() || Ve), + typeof Ee != "number" && + (Ee instanceof Array && ((K = Ee), (Ee = K.pop())), (Ee = X.symbols_[Ee] || Ee)), + Ee + ) + } + x(ge, "lex") + for (var Me, J, ue, $, se = {}, ae, fe, he, Te; ; ) { + if ( + ((J = W[W.length - 1]), + this.defaultActions[J] + ? (ue = this.defaultActions[J]) + : ((Me === null || typeof Me > "u") && (Me = ge()), (ue = be[J] && be[J][Me])), + typeof ue > "u" || !ue.length || !ue[0]) + ) { + var ke = "" + Te = [] + for (ae in be[J]) this.terminals_[ae] && ae > me && Te.push("'" + this.terminals_[ae] + "'") + Fe.showPosition + ? (ke = + "Parse error on line " + + (re + 1) + + `: +` + + Fe.showPosition() + + ` +Expecting ` + + Te.join(", ") + + ", got '" + + (this.terminals_[Me] || Me) + + "'") + : (ke = + "Parse error on line " + + (re + 1) + + ": Unexpected " + + (Me == Ve ? "end of input" : "'" + (this.terminals_[Me] || Me) + "'")), + this.parseError(ke, { + text: Fe.match, + token: this.terminals_[Me] || Me, + line: Fe.yylineno, + loc: Ce, + expected: Te, + }) + } + if (ue[0] instanceof Array && ue.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + J + ", token: " + Me) + switch (ue[0]) { + case 1: + W.push(Me), + ne.push(Fe.yytext), + Z.push(Fe.yylloc), + W.push(ue[1]), + (Me = null), + (Ne = Fe.yyleng), + (ce = Fe.yytext), + (re = Fe.yylineno), + (Ce = Fe.yylloc) + break + case 2: + if ( + ((fe = this.productions_[ue[1]][1]), + (se.$ = ne[ne.length - fe]), + (se._$ = { + first_line: Z[Z.length - (fe || 1)].first_line, + last_line: Z[Z.length - 1].last_line, + first_column: Z[Z.length - (fe || 1)].first_column, + last_column: Z[Z.length - 1].last_column, + }), + Le && (se._$.range = [Z[Z.length - (fe || 1)].range[0], Z[Z.length - 1].range[1]]), + ($ = this.performAction.apply(se, [ce, Ne, re, _e.yy, ue[1], ne, Z].concat(Ue))), + typeof $ < "u") + ) + return $ + fe && + ((W = W.slice(0, -1 * fe * 2)), (ne = ne.slice(0, -1 * fe)), (Z = Z.slice(0, -1 * fe))), + W.push(this.productions_[ue[1]][0]), + ne.push(se.$), + Z.push(se._$), + (he = be[W[W.length - 2]][W[W.length - 1]]), + W.push(he) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + oe = (function () { + var j = { + EOF: 1, + parseError: x(function (X, W) { + if (this.yy.parser) this.yy.parser.parseError(X, W) + else throw new Error(X) + }, "parseError"), + setInput: x(function (H, X) { + return ( + (this.yy = X || this.yy || {}), + (this._input = H), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var H = this._input[0] + ;(this.yytext += H), this.yyleng++, this.offset++, (this.match += H), (this.matched += H) + var X = H.match(/(?:\r\n?|\n).*/g) + return ( + X ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + H + ) + }, "input"), + unput: x(function (H) { + var X = H.length, + W = H.split(/(?:\r\n?|\n)/g) + ;(this._input = H + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - X)), + (this.offset -= X) + var K = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + W.length - 1 && (this.yylineno -= W.length - 1) + var ne = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: W + ? (W.length === K.length ? this.yylloc.first_column : 0) + + K[K.length - W.length].length - + W[0].length + : this.yylloc.first_column - X, + }), + this.options.ranges && (this.yylloc.range = [ne[0], ne[0] + this.yyleng - X]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (H) { + this.unput(this.match.slice(H)) + }, "less"), + pastInput: x(function () { + var H = this.matched.substr(0, this.matched.length - this.match.length) + return (H.length > 20 ? "..." : "") + H.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var H = this.match + return ( + H.length < 20 && (H += this._input.substr(0, 20 - H.length)), + (H.substr(0, 20) + (H.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var H = this.pastInput(), + X = new Array(H.length + 1).join("-") + return ( + H + + this.upcomingInput() + + ` +` + + X + + "^" + ) + }, "showPosition"), + test_match: x(function (H, X) { + var W, K, ne + if ( + (this.options.backtrack_lexer && + ((ne = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (ne.yylloc.range = this.yylloc.range.slice(0))), + (K = H[0].match(/(?:\r\n?|\n).*/g)), + K && (this.yylineno += K.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: K + ? K[K.length - 1].length - K[K.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + H[0].length, + }), + (this.yytext += H[0]), + (this.match += H[0]), + (this.matches = H), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(H[0].length)), + (this.matched += H[0]), + (W = this.performAction.call( + this, + this.yy, + this, + X, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + W) + ) + return W + if (this._backtrack) { + for (var Z in ne) this[Z] = ne[Z] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var H, X, W, K + this._more || ((this.yytext = ""), (this.match = "")) + for (var ne = this._currentRules(), Z = 0; Z < ne.length; Z++) + if (((W = this._input.match(this.rules[ne[Z]])), W && (!X || W[0].length > X[0].length))) { + if (((X = W), (K = Z), this.options.backtrack_lexer)) { + if (((H = this.test_match(W, ne[Z])), H !== !1)) return H + if (this._backtrack) { + X = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return X + ? ((H = this.test_match(X, ne[K])), H !== !1 ? H : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var X = this.next() + return X || this.lex() + }, "lex"), + begin: x(function (X) { + this.conditionStack.push(X) + }, "begin"), + popState: x(function () { + var X = this.conditionStack.length - 1 + return X > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (X) { + return ( + (X = this.conditionStack.length - 1 - Math.abs(X || 0)), + X >= 0 ? this.conditionStack[X] : "INITIAL" + ) + }, "topState"), + pushState: x(function (X) { + this.begin(X) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (X, W, K, ne) { + switch (K) { + case 0: + return 5 + case 1: + break + case 2: + break + case 3: + break + case 4: + break + case 5: + break + case 6: + return 19 + case 7: + return this.begin("LINE"), 14 + case 8: + return this.begin("ID"), 50 + case 9: + return this.begin("ID"), 52 + case 10: + return 13 + case 11: + return this.begin("ID"), 53 + case 12: + return (W.yytext = W.yytext.trim()), this.begin("ALIAS"), 70 + case 13: + return this.popState(), this.popState(), this.begin("LINE"), 51 + case 14: + return this.popState(), this.popState(), 5 + case 15: + return this.begin("LINE"), 36 + case 16: + return this.begin("LINE"), 37 + case 17: + return this.begin("LINE"), 38 + case 18: + return this.begin("LINE"), 39 + case 19: + return this.begin("LINE"), 49 + case 20: + return this.begin("LINE"), 41 + case 21: + return this.begin("LINE"), 43 + case 22: + return this.begin("LINE"), 48 + case 23: + return this.begin("LINE"), 44 + case 24: + return this.begin("LINE"), 47 + case 25: + return this.begin("LINE"), 46 + case 26: + return this.popState(), 15 + case 27: + return 16 + case 28: + return 65 + case 29: + return 66 + case 30: + return 59 + case 31: + return 60 + case 32: + return 61 + case 33: + return 62 + case 34: + return 57 + case 35: + return 54 + case 36: + return this.begin("ID"), 21 + case 37: + return this.begin("ID"), 23 + case 38: + return 29 + case 39: + return 30 + case 40: + return this.begin("acc_title"), 31 + case 41: + return this.popState(), "acc_title_value" + case 42: + return this.begin("acc_descr"), 33 + case 43: + return this.popState(), "acc_descr_value" + case 44: + this.begin("acc_descr_multiline") + break + case 45: + this.popState() + break + case 46: + return "acc_descr_multiline_value" + case 47: + return 6 + case 48: + return 18 + case 49: + return 20 + case 50: + return 64 + case 51: + return 5 + case 52: + return (W.yytext = W.yytext.trim()), 70 + case 53: + return 73 + case 54: + return 74 + case 55: + return 75 + case 56: + return 76 + case 57: + return 71 + case 58: + return 72 + case 59: + return 77 + case 60: + return 78 + case 61: + return 79 + case 62: + return 80 + case 63: + return 81 + case 64: + return 68 + case 65: + return 69 + case 66: + return 5 + case 67: + return "INVALID" + } + }, "anonymous"), + rules: [ + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[0-9]+(?=[ \n]+))/i, + /^(?:box\b)/i, + /^(?:participant\b)/i, + /^(?:actor\b)/i, + /^(?:create\b)/i, + /^(?:destroy\b)/i, + /^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i, + /^(?:as\b)/i, + /^(?:(?:))/i, + /^(?:loop\b)/i, + /^(?:rect\b)/i, + /^(?:opt\b)/i, + /^(?:alt\b)/i, + /^(?:else\b)/i, + /^(?:par\b)/i, + /^(?:par_over\b)/i, + /^(?:and\b)/i, + /^(?:critical\b)/i, + /^(?:option\b)/i, + /^(?:break\b)/i, + /^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i, + /^(?:end\b)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:links\b)/i, + /^(?:link\b)/i, + /^(?:properties\b)/i, + /^(?:details\b)/i, + /^(?:over\b)/i, + /^(?:note\b)/i, + /^(?:activate\b)/i, + /^(?:deactivate\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:title:\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:sequenceDiagram\b)/i, + /^(?:autonumber\b)/i, + /^(?:off\b)/i, + /^(?:,)/i, + /^(?:;)/i, + /^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i, + /^(?:->>)/i, + /^(?:<<->>)/i, + /^(?:-->>)/i, + /^(?:<<-->>)/i, + /^(?:->)/i, + /^(?:-->)/i, + /^(?:-[x])/i, + /^(?:--[x])/i, + /^(?:-[\)])/i, + /^(?:--[\)])/i, + /^(?::(?:(?:no)?wrap)?[^#\n;]+)/i, + /^(?:\+)/i, + /^(?:-)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + acc_descr_multiline: { rules: [45, 46], inclusive: !1 }, + acc_descr: { rules: [43], inclusive: !1 }, + acc_title: { rules: [41], inclusive: !1 }, + ID: { rules: [2, 3, 12], inclusive: !1 }, + ALIAS: { rules: [2, 3, 13, 14], inclusive: !1 }, + LINE: { rules: [2, 3, 26], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + ], + inclusive: !0, + }, + }, + } + return j + })() + Q.lexer = oe + function pe() { + this.yy = {} + } + return x(pe, "Parser"), (pe.prototype = Q), (Q.Parser = pe), new pe() +})() +y6.parser = y6 +var gwe = y6, + mwe = { + SOLID: 0, + DOTTED: 1, + NOTE: 2, + SOLID_CROSS: 3, + DOTTED_CROSS: 4, + SOLID_OPEN: 5, + DOTTED_OPEN: 6, + LOOP_START: 10, + LOOP_END: 11, + ALT_START: 12, + ALT_ELSE: 13, + ALT_END: 14, + OPT_START: 15, + OPT_END: 16, + ACTIVE_START: 17, + ACTIVE_END: 18, + PAR_START: 19, + PAR_AND: 20, + PAR_END: 21, + RECT_START: 22, + RECT_END: 23, + SOLID_POINT: 24, + DOTTED_POINT: 25, + AUTONUMBER: 26, + CRITICAL_START: 27, + CRITICAL_OPTION: 28, + CRITICAL_END: 29, + BREAK_START: 30, + BREAK_END: 31, + PAR_OVER_START: 32, + BIDIRECTIONAL_SOLID: 33, + BIDIRECTIONAL_DOTTED: 34, + }, + vwe = { FILLED: 0, OPEN: 1 }, + ywe = { LEFTOF: 0, RIGHTOF: 1, OVER: 2 }, + fd, + xwe = + ((fd = class { + constructor() { + ;(this.state = new sk(() => ({ + prevActor: void 0, + actors: new Map(), + createdActors: new Map(), + destroyedActors: new Map(), + boxes: [], + messages: [], + notes: [], + sequenceNumbersEnabled: !1, + wrapEnabled: void 0, + currentBox: void 0, + lastCreated: void 0, + lastDestroyed: void 0, + }))), + (this.setAccTitle = $n), + (this.setAccDescription = Qn), + (this.setDiagramTitle = fi), + (this.getAccTitle = Zn), + (this.getAccDescription = Jn), + (this.getDiagramTitle = Un), + (this.apply = this.apply.bind(this)), + (this.parseBoxData = this.parseBoxData.bind(this)), + (this.parseMessage = this.parseMessage.bind(this)), + this.clear(), + this.setWrap(we().wrap), + (this.LINETYPE = mwe), + (this.ARROWTYPE = vwe), + (this.PLACEMENT = ywe) + } + addBox(e) { + this.state.records.boxes.push({ + name: e.text, + wrap: e.wrap ?? this.autoWrap(), + fill: e.color, + actorKeys: [], + }), + (this.state.records.currentBox = this.state.records.boxes.slice(-1)[0]) + } + addActor(e, r, n, i) { + let a = this.state.records.currentBox + const s = this.state.records.actors.get(e) + if (s) { + if (this.state.records.currentBox && s.box && this.state.records.currentBox !== s.box) + throw new Error( + `A same participant should only be defined in one Box: ${s.name} can't be in '${s.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`, + ) + if ( + ((a = s.box ? s.box : this.state.records.currentBox), + (s.box = a), + s && r === s.name && n == null) + ) + return + } + if ( + ((n == null ? void 0 : n.text) == null && (n = { text: r, type: i }), + (i == null || n.text == null) && (n = { text: r, type: i }), + this.state.records.actors.set(e, { + box: a, + name: r, + description: n.text, + wrap: n.wrap ?? this.autoWrap(), + prevActor: this.state.records.prevActor, + links: {}, + properties: {}, + actorCnt: null, + rectData: null, + type: i ?? "participant", + }), + this.state.records.prevActor) + ) { + const o = this.state.records.actors.get(this.state.records.prevActor) + o && (o.nextActor = e) + } + this.state.records.currentBox && this.state.records.currentBox.actorKeys.push(e), + (this.state.records.prevActor = e) + } + activationCount(e) { + let r, + n = 0 + if (!e) return 0 + for (r = 0; r < this.state.records.messages.length; r++) + this.state.records.messages[r].type === this.LINETYPE.ACTIVE_START && + this.state.records.messages[r].from === e && + n++, + this.state.records.messages[r].type === this.LINETYPE.ACTIVE_END && + this.state.records.messages[r].from === e && + n-- + return n + } + addMessage(e, r, n, i) { + this.state.records.messages.push({ + id: this.state.records.messages.length.toString(), + from: e, + to: r, + message: n.text, + wrap: n.wrap ?? this.autoWrap(), + answer: i, + }) + } + addSignal(e, r, n, i, a = !1) { + if (i === this.LINETYPE.ACTIVE_END && this.activationCount(e ?? "") < 1) { + const o = new Error("Trying to inactivate an inactive participant (" + e + ")") + throw ( + ((o.hash = { + text: "->>-", + token: "->>-", + line: "1", + loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 }, + expected: ["'ACTIVE_PARTICIPANT'"], + }), + o) + ) + } + return ( + this.state.records.messages.push({ + id: this.state.records.messages.length.toString(), + from: e, + to: r, + message: (n == null ? void 0 : n.text) ?? "", + wrap: (n == null ? void 0 : n.wrap) ?? this.autoWrap(), + type: i, + activate: a, + }), + !0 + ) + } + hasAtLeastOneBox() { + return this.state.records.boxes.length > 0 + } + hasAtLeastOneBoxWithTitle() { + return this.state.records.boxes.some((e) => e.name) + } + getMessages() { + return this.state.records.messages + } + getBoxes() { + return this.state.records.boxes + } + getActors() { + return this.state.records.actors + } + getCreatedActors() { + return this.state.records.createdActors + } + getDestroyedActors() { + return this.state.records.destroyedActors + } + getActor(e) { + return this.state.records.actors.get(e) + } + getActorKeys() { + return [...this.state.records.actors.keys()] + } + enableSequenceNumbers() { + this.state.records.sequenceNumbersEnabled = !0 + } + disableSequenceNumbers() { + this.state.records.sequenceNumbersEnabled = !1 + } + showSequenceNumbers() { + return this.state.records.sequenceNumbersEnabled + } + setWrap(e) { + this.state.records.wrapEnabled = e + } + extractWrap(e) { + if (e === void 0) return {} + e = e.trim() + const r = /^:?wrap:/.exec(e) !== null ? !0 : /^:?nowrap:/.exec(e) !== null ? !1 : void 0 + return { cleanedText: (r === void 0 ? e : e.replace(/^:?(?:no)?wrap:/, "")).trim(), wrap: r } + } + autoWrap() { + var e + return this.state.records.wrapEnabled !== void 0 + ? this.state.records.wrapEnabled + : (((e = we().sequence) == null ? void 0 : e.wrap) ?? !1) + } + clear() { + this.state.reset(), Gn() + } + parseMessage(e) { + const r = e.trim(), + { wrap: n, cleanedText: i } = this.extractWrap(r), + a = { text: i, wrap: n } + return ie.debug(`parseMessage: ${JSON.stringify(a)}`), a + } + parseBoxData(e) { + const r = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e) + let n = r != null && r[1] ? r[1].trim() : "transparent", + i = r != null && r[2] ? r[2].trim() : void 0 + if (window != null && window.CSS) + window.CSS.supports("color", n) || ((n = "transparent"), (i = e.trim())) + else { + const o = new Option().style + ;(o.color = n), o.color !== n && ((n = "transparent"), (i = e.trim())) + } + const { wrap: a, cleanedText: s } = this.extractWrap(i) + return { text: s ? Pr(s, we()) : void 0, color: n, wrap: a } + } + addNote(e, r, n) { + const i = { actor: e, placement: r, message: n.text, wrap: n.wrap ?? this.autoWrap() }, + a = [].concat(e, e) + this.state.records.notes.push(i), + this.state.records.messages.push({ + id: this.state.records.messages.length.toString(), + from: a[0], + to: a[1], + message: n.text, + wrap: n.wrap ?? this.autoWrap(), + type: this.LINETYPE.NOTE, + placement: r, + }) + } + addLinks(e, r) { + const n = this.getActor(e) + try { + let i = Pr(r.text, we()) + ;(i = i.replace(/=/g, "=")), (i = i.replace(/&/g, "&")) + const a = JSON.parse(i) + this.insertLinks(n, a) + } catch (i) { + ie.error("error while parsing actor link text", i) + } + } + addALink(e, r) { + const n = this.getActor(e) + try { + const i = {} + let a = Pr(r.text, we()) + const s = a.indexOf("@") + ;(a = a.replace(/=/g, "=")), (a = a.replace(/&/g, "&")) + const o = a.slice(0, s - 1).trim(), + l = a.slice(s + 1).trim() + ;(i[o] = l), this.insertLinks(n, i) + } catch (i) { + ie.error("error while parsing actor link text", i) + } + } + insertLinks(e, r) { + if (e.links == null) e.links = r + else for (const n in r) e.links[n] = r[n] + } + addProperties(e, r) { + const n = this.getActor(e) + try { + const i = Pr(r.text, we()), + a = JSON.parse(i) + this.insertProperties(n, a) + } catch (i) { + ie.error("error while parsing actor properties text", i) + } + } + insertProperties(e, r) { + if (e.properties == null) e.properties = r + else for (const n in r) e.properties[n] = r[n] + } + boxEnd() { + this.state.records.currentBox = void 0 + } + addDetails(e, r) { + const n = this.getActor(e), + i = document.getElementById(r.text) + try { + const a = i.innerHTML, + s = JSON.parse(a) + s.properties && this.insertProperties(n, s.properties), s.links && this.insertLinks(n, s.links) + } catch (a) { + ie.error("error while parsing actor details text", a) + } + } + getActorProperty(e, r) { + if ((e == null ? void 0 : e.properties) !== void 0) return e.properties[r] + } + apply(e) { + if (Array.isArray(e)) + e.forEach((r) => { + this.apply(r) + }) + else + switch (e.type) { + case "sequenceIndex": + this.state.records.messages.push({ + id: this.state.records.messages.length.toString(), + from: void 0, + to: void 0, + message: { + start: e.sequenceIndex, + step: e.sequenceIndexStep, + visible: e.sequenceVisible, + }, + wrap: !1, + type: e.signalType, + }) + break + case "addParticipant": + this.addActor(e.actor, e.actor, e.description, e.draw) + break + case "createParticipant": + if (this.state.records.actors.has(e.actor)) + throw new Error( + "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior", + ) + ;(this.state.records.lastCreated = e.actor), + this.addActor(e.actor, e.actor, e.description, e.draw), + this.state.records.createdActors.set(e.actor, this.state.records.messages.length) + break + case "destroyParticipant": + ;(this.state.records.lastDestroyed = e.actor), + this.state.records.destroyedActors.set(e.actor, this.state.records.messages.length) + break + case "activeStart": + this.addSignal(e.actor, void 0, void 0, e.signalType) + break + case "activeEnd": + this.addSignal(e.actor, void 0, void 0, e.signalType) + break + case "addNote": + this.addNote(e.actor, e.placement, e.text) + break + case "addLinks": + this.addLinks(e.actor, e.text) + break + case "addALink": + this.addALink(e.actor, e.text) + break + case "addProperties": + this.addProperties(e.actor, e.text) + break + case "addDetails": + this.addDetails(e.actor, e.text) + break + case "addMessage": + if (this.state.records.lastCreated) { + if (e.to !== this.state.records.lastCreated) + throw new Error( + "The created participant " + + this.state.records.lastCreated.name + + " does not have an associated creating message after its declaration. Please check the sequence diagram.", + ) + this.state.records.lastCreated = void 0 + } else if (this.state.records.lastDestroyed) { + if ( + e.to !== this.state.records.lastDestroyed && + e.from !== this.state.records.lastDestroyed + ) + throw new Error( + "The destroyed participant " + + this.state.records.lastDestroyed.name + + " does not have an associated destroying message after its declaration. Please check the sequence diagram.", + ) + this.state.records.lastDestroyed = void 0 + } + this.addSignal(e.from, e.to, e.msg, e.signalType, e.activate) + break + case "boxStart": + this.addBox(e.boxData) + break + case "boxEnd": + this.boxEnd() + break + case "loopStart": + this.addSignal(void 0, void 0, e.loopText, e.signalType) + break + case "loopEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + case "rectStart": + this.addSignal(void 0, void 0, e.color, e.signalType) + break + case "rectEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + case "optStart": + this.addSignal(void 0, void 0, e.optText, e.signalType) + break + case "optEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + case "altStart": + this.addSignal(void 0, void 0, e.altText, e.signalType) + break + case "else": + this.addSignal(void 0, void 0, e.altText, e.signalType) + break + case "altEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + case "setAccTitle": + $n(e.text) + break + case "parStart": + this.addSignal(void 0, void 0, e.parText, e.signalType) + break + case "and": + this.addSignal(void 0, void 0, e.parText, e.signalType) + break + case "parEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + case "criticalStart": + this.addSignal(void 0, void 0, e.criticalText, e.signalType) + break + case "option": + this.addSignal(void 0, void 0, e.optionText, e.signalType) + break + case "criticalEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + case "breakStart": + this.addSignal(void 0, void 0, e.breakText, e.signalType) + break + case "breakEnd": + this.addSignal(void 0, void 0, void 0, e.signalType) + break + } + } + getConfig() { + return we().sequence + } + }), + x(fd, "SequenceDB"), + fd), + bwe = x( + (t) => `.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`, + "getStyles", + ), + wwe = bwe, + Pc = 18 * 2, + fU = "actor-top", + pU = "actor-bottom", + Twe = "actor-box", + d9 = "actor-man", + Qk = x(function (t, e) { + return sx(t, e) + }, "drawRect"), + Ewe = x(function (t, e, r, n, i) { + if (e.links === void 0 || e.links === null || Object.keys(e.links).length === 0) return { height: 0, width: 0 } + const a = e.links, + s = e.actorCnt, + o = e.rectData + var l = "none" + i && (l = "block !important") + const u = t.append("g") + u.attr("id", "actor" + s + "_popup"), u.attr("class", "actorPopupMenu"), u.attr("display", l) + var h = "" + o.class !== void 0 && (h = " " + o.class) + let d = o.width > r ? o.width : r + const f = u.append("rect") + if ( + (f.attr("class", "actorPopupMenuPanel" + h), + f.attr("x", o.x), + f.attr("y", o.height), + f.attr("fill", o.fill), + f.attr("stroke", o.stroke), + f.attr("width", d), + f.attr("height", o.height), + f.attr("rx", o.rx), + f.attr("ry", o.ry), + a != null) + ) { + var p = 20 + for (let v in a) { + var g = u.append("a"), + m = fu.sanitizeUrl(a[v]) + g.attr("xlink:href", m), + g.attr("target", "_blank"), + zwe(n)(v, g, o.x + 10, o.height + p, d, 20, { class: "actor" }, n), + (p += 30) + } + } + return f.attr("height", p), { height: o.height + p, width: d } + }, "drawPopup"), + kwe = x(function (t) { + return ( + "var pu = document.getElementById('" + + t + + "'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }" + ) + }, "popupMenuToggle"), + Wy = x(async function (t, e, r = null) { + let n = t.append("foreignObject") + const i = await lg(e.text, Dr()), + s = n + .append("xhtml:div") + .attr("style", "width: fit-content;") + .attr("xmlns", "http://www.w3.org/1999/xhtml") + .html(i) + .node() + .getBoundingClientRect() + if ((n.attr("height", Math.round(s.height)).attr("width", Math.round(s.width)), e.class === "noteText")) { + const o = t.node().firstChild + o.setAttribute("height", s.height + 2 * e.textMargin) + const l = o.getBBox() + n.attr("x", Math.round(l.x + l.width / 2 - s.width / 2)).attr( + "y", + Math.round(l.y + l.height / 2 - s.height / 2), + ) + } else if (r) { + let { startx: o, stopx: l, starty: u } = r + if (o > l) { + const h = o + ;(o = l), (l = h) + } + n.attr("x", Math.round(o + Math.abs(o - l) / 2 - s.width / 2)), + e.class === "loopText" ? n.attr("y", Math.round(u)) : n.attr("y", Math.round(u - s.height)) + } + return [n] + }, "drawKatex"), + qd = x(function (t, e) { + let r = 0, + n = 0 + const i = e.text.split(it.lineBreakRegex), + [a, s] = jl(e.fontSize) + let o = [], + l = 0, + u = x(() => e.y, "yfunc") + if (e.valign !== void 0 && e.textMargin !== void 0 && e.textMargin > 0) + switch (e.valign) { + case "top": + case "start": + u = x(() => Math.round(e.y + e.textMargin), "yfunc") + break + case "middle": + case "center": + u = x(() => Math.round(e.y + (r + n + e.textMargin) / 2), "yfunc") + break + case "bottom": + case "end": + u = x(() => Math.round(e.y + (r + n + 2 * e.textMargin) - e.textMargin), "yfunc") + break + } + if (e.anchor !== void 0 && e.textMargin !== void 0 && e.width !== void 0) + switch (e.anchor) { + case "left": + case "start": + ;(e.x = Math.round(e.x + e.textMargin)), + (e.anchor = "start"), + (e.dominantBaseline = "middle"), + (e.alignmentBaseline = "middle") + break + case "middle": + case "center": + ;(e.x = Math.round(e.x + e.width / 2)), + (e.anchor = "middle"), + (e.dominantBaseline = "middle"), + (e.alignmentBaseline = "middle") + break + case "right": + case "end": + ;(e.x = Math.round(e.x + e.width - e.textMargin)), + (e.anchor = "end"), + (e.dominantBaseline = "middle"), + (e.alignmentBaseline = "middle") + break + } + for (let [h, d] of i.entries()) { + e.textMargin !== void 0 && e.textMargin === 0 && a !== void 0 && (l = h * a) + const f = t.append("text") + f.attr("x", e.x), + f.attr("y", u()), + e.anchor !== void 0 && + f + .attr("text-anchor", e.anchor) + .attr("dominant-baseline", e.dominantBaseline) + .attr("alignment-baseline", e.alignmentBaseline), + e.fontFamily !== void 0 && f.style("font-family", e.fontFamily), + s !== void 0 && f.style("font-size", s), + e.fontWeight !== void 0 && f.style("font-weight", e.fontWeight), + e.fill !== void 0 && f.attr("fill", e.fill), + e.class !== void 0 && f.attr("class", e.class), + e.dy !== void 0 ? f.attr("dy", e.dy) : l !== 0 && f.attr("dy", l) + const p = d || NP + if (e.tspan) { + const g = f.append("tspan") + g.attr("x", e.x), e.fill !== void 0 && g.attr("fill", e.fill), g.text(p) + } else f.text(p) + e.valign !== void 0 && + e.textMargin !== void 0 && + e.textMargin > 0 && + ((n += (f._groups || f)[0][0].getBBox().height), (r = n)), + o.push(f) + } + return o + }, "drawText"), + gU = x(function (t, e) { + function r(i, a, s, o, l) { + return ( + i + + "," + + a + + " " + + (i + s) + + "," + + a + + " " + + (i + s) + + "," + + (a + o - l) + + " " + + (i + s - l * 1.2) + + "," + + (a + o) + + " " + + i + + "," + + (a + o) + ) + } + x(r, "genPoints") + const n = t.append("polygon") + return ( + n.attr("points", r(e.x, e.y, e.width, e.height, 7)), + n.attr("class", "labelBox"), + (e.y = e.y + e.height / 2), + qd(t, e), + n + ) + }, "drawLabel"), + Vs = -1, + mU = x((t, e, r, n) => { + t.select && + r.forEach((i) => { + const a = e.get(i), + s = t.select("#actor" + a.actorCnt) + !n.mirrorActors && a.stopy + ? s.attr("y2", a.stopy + a.height / 2) + : n.mirrorActors && s.attr("y2", a.stopy) + }) + }, "fixLifeLineHeights"), + Swe = x(function (t, e, r, n) { + var p, g + const i = n ? e.stopy : e.starty, + a = e.x + e.width / 2, + s = i + e.height, + o = t.append("g").lower() + var l = o + n || + (Vs++, + Object.keys(e.links || {}).length && + !r.forceMenus && + l.attr("onclick", kwe(`actor${Vs}_popup`)).attr("cursor", "pointer"), + l + .append("line") + .attr("id", "actor" + Vs) + .attr("x1", a) + .attr("y1", s) + .attr("x2", a) + .attr("y2", 2e3) + .attr("class", "actor-line 200") + .attr("stroke-width", "0.5px") + .attr("stroke", "#999") + .attr("name", e.name), + (l = o.append("g")), + (e.actorCnt = Vs), + e.links != null && l.attr("id", "root-" + Vs)) + const u = Eu() + var h = "actor" + ;(p = e.properties) != null && p.class ? (h = e.properties.class) : (u.fill = "#eaeaea"), + n ? (h += ` ${pU}`) : (h += ` ${fU}`), + (u.x = e.x), + (u.y = i), + (u.width = e.width), + (u.height = e.height), + (u.class = h), + (u.rx = 3), + (u.ry = 3), + (u.name = e.name) + const d = Qk(l, u) + if (((e.rectData = u), (g = e.properties) != null && g.icon)) { + const m = e.properties.icon.trim() + m.charAt(0) === "@" + ? Pge(l, u.x + u.width - 20, u.y + 10, m.substr(1)) + : Oge(l, u.x + u.width - 20, u.y + 10, m) + } + Jk(r, Si(e.description))(e.description, l, u.x, u.y, u.width, u.height, { class: `actor ${Twe}` }, r) + let f = e.height + if (d.node) { + const m = d.node().getBBox() + ;(e.height = m.height), (f = m.height) + } + return f + }, "drawActorTypeParticipant"), + Cwe = x(function (t, e, r, n) { + const i = n ? e.stopy : e.starty, + a = e.x + e.width / 2, + s = i + 80, + o = t.append("g").lower() + n || + (Vs++, + o + .append("line") + .attr("id", "actor" + Vs) + .attr("x1", a) + .attr("y1", s) + .attr("x2", a) + .attr("y2", 2e3) + .attr("class", "actor-line 200") + .attr("stroke-width", "0.5px") + .attr("stroke", "#999") + .attr("name", e.name), + (e.actorCnt = Vs)) + const l = t.append("g") + let u = d9 + n ? (u += ` ${pU}`) : (u += ` ${fU}`), l.attr("class", u), l.attr("name", e.name) + const h = Eu() + ;(h.x = e.x), + (h.y = i), + (h.fill = "#eaeaea"), + (h.width = e.width), + (h.height = e.height), + (h.class = "actor"), + (h.rx = 3), + (h.ry = 3), + l + .append("line") + .attr("id", "actor-man-torso" + Vs) + .attr("x1", a) + .attr("y1", i + 25) + .attr("x2", a) + .attr("y2", i + 45), + l + .append("line") + .attr("id", "actor-man-arms" + Vs) + .attr("x1", a - Pc / 2) + .attr("y1", i + 33) + .attr("x2", a + Pc / 2) + .attr("y2", i + 33), + l + .append("line") + .attr("x1", a - Pc / 2) + .attr("y1", i + 60) + .attr("x2", a) + .attr("y2", i + 45), + l + .append("line") + .attr("x1", a) + .attr("y1", i + 45) + .attr("x2", a + Pc / 2 - 2) + .attr("y2", i + 60) + const d = l.append("circle") + d.attr("cx", e.x + e.width / 2), + d.attr("cy", i + 10), + d.attr("r", 15), + d.attr("width", e.width), + d.attr("height", e.height) + const f = l.node().getBBox() + return ( + (e.height = f.height), + Jk(r, Si(e.description))(e.description, l, h.x, h.y + 35, h.width, h.height, { class: `actor ${d9}` }, r), + e.height + ) + }, "drawActorTypeActor"), + Awe = x(async function (t, e, r, n) { + switch (e.type) { + case "actor": + return await Cwe(t, e, r, n) + case "participant": + return await Swe(t, e, r, n) + } + }, "drawActor"), + _we = x(function (t, e, r) { + const i = t.append("g") + vU(i, e), + e.name && Jk(r)(e.name, i, e.x, e.y + (e.textMaxHeight || 0) / 2, e.width, 0, { class: "text" }, r), + i.lower() + }, "drawBox"), + Lwe = x(function (t) { + return t.append("g") + }, "anchorElement"), + Rwe = x(function (t, e, r, n, i) { + const a = Eu(), + s = e.anchored + ;(a.x = e.startx), + (a.y = e.starty), + (a.class = "activation" + (i % 3)), + (a.width = e.stopx - e.startx), + (a.height = r - e.starty), + Qk(s, a) + }, "drawActivation"), + Nwe = x(async function (t, e, r, n) { + const { + boxMargin: i, + boxTextMargin: a, + labelBoxHeight: s, + labelBoxWidth: o, + messageFontFamily: l, + messageFontSize: u, + messageFontWeight: h, + } = n, + d = t.append("g"), + f = x(function (m, v, y, b) { + return d + .append("line") + .attr("x1", m) + .attr("y1", v) + .attr("x2", y) + .attr("y2", b) + .attr("class", "loopLine") + }, "drawLoopLine") + f(e.startx, e.starty, e.stopx, e.starty), + f(e.stopx, e.starty, e.stopx, e.stopy), + f(e.startx, e.stopy, e.stopx, e.stopy), + f(e.startx, e.starty, e.startx, e.stopy), + e.sections !== void 0 && + e.sections.forEach(function (m) { + f(e.startx, m.y, e.stopx, m.y).style("stroke-dasharray", "3, 3") + }) + let p = ek() + ;(p.text = r), + (p.x = e.startx), + (p.y = e.starty), + (p.fontFamily = l), + (p.fontSize = u), + (p.fontWeight = h), + (p.anchor = "middle"), + (p.valign = "middle"), + (p.tspan = !1), + (p.width = o || 50), + (p.height = s || 20), + (p.textMargin = a), + (p.class = "labelText"), + gU(d, p), + (p = yU()), + (p.text = e.title), + (p.x = e.startx + o / 2 + (e.stopx - e.startx) / 2), + (p.y = e.starty + i + a), + (p.anchor = "middle"), + (p.valign = "middle"), + (p.textMargin = a), + (p.class = "loopText"), + (p.fontFamily = l), + (p.fontSize = u), + (p.fontWeight = h), + (p.wrap = !0) + let g = Si(p.text) ? await Wy(d, p, e) : qd(d, p) + if (e.sectionTitles !== void 0) { + for (const [m, v] of Object.entries(e.sectionTitles)) + if (v.message) { + ;(p.text = v.message), + (p.x = e.startx + (e.stopx - e.startx) / 2), + (p.y = e.sections[m].y + i + a), + (p.class = "loopText"), + (p.anchor = "middle"), + (p.valign = "middle"), + (p.tspan = !1), + (p.fontFamily = l), + (p.fontSize = u), + (p.fontWeight = h), + (p.wrap = e.wrap), + Si(p.text) ? ((e.starty = e.sections[m].y), await Wy(d, p, e)) : qd(d, p) + let y = Math.round(g.map((b) => (b._groups || b)[0][0].getBBox().height).reduce((b, w) => b + w)) + e.sections[m].height += y - (i + a) + } + } + return (e.height = Math.round(e.stopy - e.starty)), d + }, "drawLoop"), + vU = x(function (t, e) { + Cz(t, e) + }, "drawBackgroundRect"), + Dwe = x(function (t) { + t.append("defs") + .append("symbol") + .attr("id", "database") + .attr("fill-rule", "evenodd") + .attr("clip-rule", "evenodd") + .append("path") + .attr("transform", "scale(.5)") + .attr( + "d", + "M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z", + ) + }, "insertDatabaseIcon"), + Iwe = x(function (t) { + t.append("defs") + .append("symbol") + .attr("id", "computer") + .attr("width", "24") + .attr("height", "24") + .append("path") + .attr("transform", "scale(.5)") + .attr( + "d", + "M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z", + ) + }, "insertComputerIcon"), + Mwe = x(function (t) { + t.append("defs") + .append("symbol") + .attr("id", "clock") + .attr("width", "24") + .attr("height", "24") + .append("path") + .attr("transform", "scale(.5)") + .attr( + "d", + "M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z", + ) + }, "insertClockIcon"), + Owe = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "arrowhead") + .attr("refX", 7.9) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 12) + .attr("markerHeight", 12) + .attr("orient", "auto-start-reverse") + .append("path") + .attr("d", "M -1 0 L 10 5 L 0 10 z") + }, "insertArrowHead"), + Pwe = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "filled-head") + .attr("refX", 15.5) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") + }, "insertArrowFilledHead"), + Bwe = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "sequencenumber") + .attr("refX", 15) + .attr("refY", 15) + .attr("markerWidth", 60) + .attr("markerHeight", 40) + .attr("orient", "auto") + .append("circle") + .attr("cx", 15) + .attr("cy", 15) + .attr("r", 6) + }, "insertSequenceNumber"), + Fwe = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "crosshead") + .attr("markerWidth", 15) + .attr("markerHeight", 8) + .attr("orient", "auto") + .attr("refX", 4) + .attr("refY", 4.5) + .append("path") + .attr("fill", "none") + .attr("stroke", "#000000") + .style("stroke-dasharray", "0, 0") + .attr("stroke-width", "1pt") + .attr("d", "M 1,2 L 6,7 M 6,2 L 1,7") + }, "insertArrowCrossHead"), + yU = x(function () { + return { + x: 0, + y: 0, + fill: void 0, + anchor: void 0, + style: "#666", + width: void 0, + height: void 0, + textMargin: 0, + rx: 0, + ry: 0, + tspan: !0, + valign: void 0, + } + }, "getTextObj"), + $we = x(function () { + return { x: 0, y: 0, fill: "#EDF2AE", stroke: "#666", width: 100, anchor: "start", height: 100, rx: 0, ry: 0 } + }, "getNoteRect"), + Jk = (function () { + function t(a, s, o, l, u, h, d) { + const f = s + .append("text") + .attr("x", o + u / 2) + .attr("y", l + h / 2 + 5) + .style("text-anchor", "middle") + .text(a) + i(f, d) + } + x(t, "byText") + function e(a, s, o, l, u, h, d, f) { + const { actorFontSize: p, actorFontFamily: g, actorFontWeight: m } = f, + [v, y] = jl(p), + b = a.split(it.lineBreakRegex) + for (let w = 0; w < b.length; w++) { + const T = w * v - (v * (b.length - 1)) / 2, + E = s + .append("text") + .attr("x", o + u / 2) + .attr("y", l) + .style("text-anchor", "middle") + .style("font-size", y) + .style("font-weight", m) + .style("font-family", g) + E.append("tspan") + .attr("x", o + u / 2) + .attr("dy", T) + .text(b[w]), + E.attr("y", l + h / 2) + .attr("dominant-baseline", "central") + .attr("alignment-baseline", "central"), + i(E, d) + } + } + x(e, "byTspan") + function r(a, s, o, l, u, h, d, f) { + const p = s.append("switch"), + m = p + .append("foreignObject") + .attr("x", o) + .attr("y", l) + .attr("width", u) + .attr("height", h) + .append("xhtml:div") + .style("display", "table") + .style("height", "100%") + .style("width", "100%") + m + .append("div") + .style("display", "table-cell") + .style("text-align", "center") + .style("vertical-align", "middle") + .text(a), + e(a, p, o, l, u, h, d, f), + i(m, d) + } + x(r, "byFo") + async function n(a, s, o, l, u, h, d, f) { + const p = await og(a, Dr()), + g = s.append("switch"), + v = g + .append("foreignObject") + .attr("x", o + u / 2 - p.width / 2) + .attr("y", l + h / 2 - p.height / 2) + .attr("width", p.width) + .attr("height", p.height) + .append("xhtml:div") + .style("height", "100%") + .style("width", "100%") + v + .append("div") + .style("text-align", "center") + .style("vertical-align", "middle") + .html(await lg(a, Dr())), + e(a, g, o, l, u, h, d, f), + i(v, d) + } + x(n, "byKatex") + function i(a, s) { + for (const o in s) s.hasOwnProperty(o) && a.attr(o, s[o]) + } + return ( + x(i, "_setTextAttrs"), + function (a, s = !1) { + return s ? n : a.textPlacement === "fo" ? r : a.textPlacement === "old" ? t : e + } + ) + })(), + zwe = (function () { + function t(i, a, s, o, l, u, h) { + const d = a.append("text").attr("x", s).attr("y", o).style("text-anchor", "start").text(i) + n(d, h) + } + x(t, "byText") + function e(i, a, s, o, l, u, h, d) { + const { actorFontSize: f, actorFontFamily: p, actorFontWeight: g } = d, + m = i.split(it.lineBreakRegex) + for (let v = 0; v < m.length; v++) { + const y = v * f - (f * (m.length - 1)) / 2, + b = a + .append("text") + .attr("x", s) + .attr("y", o) + .style("text-anchor", "start") + .style("font-size", f) + .style("font-weight", g) + .style("font-family", p) + b.append("tspan").attr("x", s).attr("dy", y).text(m[v]), + b + .attr("y", o + u / 2) + .attr("dominant-baseline", "central") + .attr("alignment-baseline", "central"), + n(b, h) + } + } + x(e, "byTspan") + function r(i, a, s, o, l, u, h, d) { + const f = a.append("switch"), + g = f + .append("foreignObject") + .attr("x", s) + .attr("y", o) + .attr("width", l) + .attr("height", u) + .append("xhtml:div") + .style("display", "table") + .style("height", "100%") + .style("width", "100%") + g + .append("div") + .style("display", "table-cell") + .style("text-align", "center") + .style("vertical-align", "middle") + .text(i), + e(i, f, s, o, l, u, h, d), + n(g, h) + } + x(r, "byFo") + function n(i, a) { + for (const s in a) a.hasOwnProperty(s) && i.attr(s, a[s]) + } + return ( + x(n, "_setTextAttrs"), + function (i) { + return i.textPlacement === "fo" ? r : i.textPlacement === "old" ? t : e + } + ) + })(), + fn = { + drawRect: Qk, + drawText: qd, + drawLabel: gU, + drawActor: Awe, + drawBox: _we, + drawPopup: Ewe, + anchorElement: Lwe, + drawActivation: Rwe, + drawLoop: Nwe, + drawBackgroundRect: vU, + insertArrowHead: Owe, + insertArrowFilledHead: Pwe, + insertSequenceNumber: Bwe, + insertArrowCrossHead: Fwe, + insertDatabaseIcon: Dwe, + insertComputerIcon: Iwe, + insertClockIcon: Mwe, + getTextObj: yU, + getNoteRect: $we, + fixLifeLineHeights: mU, + sanitizeUrl: fu.sanitizeUrl, + }, + Re = {}, + et = { + data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }, + verticalPos: 0, + sequenceItems: [], + activations: [], + models: { + getHeight: x(function () { + return ( + Math.max.apply(null, this.actors.length === 0 ? [0] : this.actors.map((t) => t.height || 0)) + + (this.loops.length === 0 ? 0 : this.loops.map((t) => t.height || 0).reduce((t, e) => t + e)) + + (this.messages.length === 0 ? 0 : this.messages.map((t) => t.height || 0).reduce((t, e) => t + e)) + + (this.notes.length === 0 ? 0 : this.notes.map((t) => t.height || 0).reduce((t, e) => t + e)) + ) + }, "getHeight"), + clear: x(function () { + ;(this.actors = []), (this.boxes = []), (this.loops = []), (this.messages = []), (this.notes = []) + }, "clear"), + addBox: x(function (t) { + this.boxes.push(t) + }, "addBox"), + addActor: x(function (t) { + this.actors.push(t) + }, "addActor"), + addLoop: x(function (t) { + this.loops.push(t) + }, "addLoop"), + addMessage: x(function (t) { + this.messages.push(t) + }, "addMessage"), + addNote: x(function (t) { + this.notes.push(t) + }, "addNote"), + lastActor: x(function () { + return this.actors[this.actors.length - 1] + }, "lastActor"), + lastLoop: x(function () { + return this.loops[this.loops.length - 1] + }, "lastLoop"), + lastMessage: x(function () { + return this.messages[this.messages.length - 1] + }, "lastMessage"), + lastNote: x(function () { + return this.notes[this.notes.length - 1] + }, "lastNote"), + actors: [], + boxes: [], + loops: [], + messages: [], + notes: [], + }, + init: x(function () { + ;(this.sequenceItems = []), + (this.activations = []), + this.models.clear(), + (this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }), + (this.verticalPos = 0), + wU(we()) + }, "init"), + updateVal: x(function (t, e, r, n) { + t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e])) + }, "updateVal"), + updateBounds: x(function (t, e, r, n) { + const i = this + let a = 0 + function s(o) { + return x(function (u) { + a++ + const h = i.sequenceItems.length - a + 1 + i.updateVal(u, "starty", e - h * Re.boxMargin, Math.min), + i.updateVal(u, "stopy", n + h * Re.boxMargin, Math.max), + i.updateVal(et.data, "startx", t - h * Re.boxMargin, Math.min), + i.updateVal(et.data, "stopx", r + h * Re.boxMargin, Math.max), + o !== "activation" && + (i.updateVal(u, "startx", t - h * Re.boxMargin, Math.min), + i.updateVal(u, "stopx", r + h * Re.boxMargin, Math.max), + i.updateVal(et.data, "starty", e - h * Re.boxMargin, Math.min), + i.updateVal(et.data, "stopy", n + h * Re.boxMargin, Math.max)) + }, "updateItemBounds") + } + x(s, "updateFn"), this.sequenceItems.forEach(s()), this.activations.forEach(s("activation")) + }, "updateBounds"), + insert: x(function (t, e, r, n) { + const i = it.getMin(t, r), + a = it.getMax(t, r), + s = it.getMin(e, n), + o = it.getMax(e, n) + this.updateVal(et.data, "startx", i, Math.min), + this.updateVal(et.data, "starty", s, Math.min), + this.updateVal(et.data, "stopx", a, Math.max), + this.updateVal(et.data, "stopy", o, Math.max), + this.updateBounds(i, s, a, o) + }, "insert"), + newActivation: x(function (t, e, r) { + const n = r.get(t.from), + i = kx(t.from).length || 0, + a = n.x + n.width / 2 + ((i - 1) * Re.activationWidth) / 2 + this.activations.push({ + startx: a, + starty: this.verticalPos + 2, + stopx: a + Re.activationWidth, + stopy: void 0, + actor: t.from, + anchored: fn.anchorElement(e), + }) + }, "newActivation"), + endActivation: x(function (t) { + const e = this.activations + .map(function (r) { + return r.actor + }) + .lastIndexOf(t.from) + return this.activations.splice(e, 1)[0] + }, "endActivation"), + createLoop: x(function (t = { message: void 0, wrap: !1, width: void 0 }, e) { + return { + startx: void 0, + starty: this.verticalPos, + stopx: void 0, + stopy: void 0, + title: t.message, + wrap: t.wrap, + width: t.width, + height: 0, + fill: e, + } + }, "createLoop"), + newLoop: x(function (t = { message: void 0, wrap: !1, width: void 0 }, e) { + this.sequenceItems.push(this.createLoop(t, e)) + }, "newLoop"), + endLoop: x(function () { + return this.sequenceItems.pop() + }, "endLoop"), + isLoopOverlap: x(function () { + return this.sequenceItems.length ? this.sequenceItems[this.sequenceItems.length - 1].overlap : !1 + }, "isLoopOverlap"), + addSectionToLoop: x(function (t) { + const e = this.sequenceItems.pop() + ;(e.sections = e.sections || []), + (e.sectionTitles = e.sectionTitles || []), + e.sections.push({ y: et.getVerticalPos(), height: 0 }), + e.sectionTitles.push(t), + this.sequenceItems.push(e) + }, "addSectionToLoop"), + saveVerticalPos: x(function () { + this.isLoopOverlap() && (this.savedVerticalPos = this.verticalPos) + }, "saveVerticalPos"), + resetVerticalPos: x(function () { + this.isLoopOverlap() && (this.verticalPos = this.savedVerticalPos) + }, "resetVerticalPos"), + bumpVerticalPos: x(function (t) { + ;(this.verticalPos = this.verticalPos + t), (this.data.stopy = it.getMax(this.data.stopy, this.verticalPos)) + }, "bumpVerticalPos"), + getVerticalPos: x(function () { + return this.verticalPos + }, "getVerticalPos"), + getBounds: x(function () { + return { bounds: this.data, models: this.models } + }, "getBounds"), + }, + Vwe = x(async function (t, e) { + et.bumpVerticalPos(Re.boxMargin), (e.height = Re.boxMargin), (e.starty = et.getVerticalPos()) + const r = Eu() + ;(r.x = e.startx), (r.y = e.starty), (r.width = e.width || Re.width), (r.class = "note") + const n = t.append("g"), + i = fn.drawRect(n, r), + a = ek() + ;(a.x = e.startx), + (a.y = e.starty), + (a.width = r.width), + (a.dy = "1em"), + (a.text = e.message), + (a.class = "noteText"), + (a.fontFamily = Re.noteFontFamily), + (a.fontSize = Re.noteFontSize), + (a.fontWeight = Re.noteFontWeight), + (a.anchor = Re.noteAlign), + (a.textMargin = Re.noteMargin), + (a.valign = "center") + const s = Si(a.text) ? await Wy(n, a) : qd(n, a), + o = Math.round(s.map((l) => (l._groups || l)[0][0].getBBox().height).reduce((l, u) => l + u)) + i.attr("height", o + 2 * Re.noteMargin), + (e.height += o + 2 * Re.noteMargin), + et.bumpVerticalPos(o + 2 * Re.noteMargin), + (e.stopy = e.starty + o + 2 * Re.noteMargin), + (e.stopx = e.startx + r.width), + et.insert(e.startx, e.starty, e.stopx, e.stopy), + et.models.addNote(e) + }, "drawNote"), + su = x( + (t) => ({ fontFamily: t.messageFontFamily, fontSize: t.messageFontSize, fontWeight: t.messageFontWeight }), + "messageFont", + ), + Ju = x( + (t) => ({ fontFamily: t.noteFontFamily, fontSize: t.noteFontSize, fontWeight: t.noteFontWeight }), + "noteFont", + ), + x6 = x( + (t) => ({ fontFamily: t.actorFontFamily, fontSize: t.actorFontSize, fontWeight: t.actorFontWeight }), + "actorFont", + ) +async function xU(t, e) { + et.bumpVerticalPos(10) + const { startx: r, stopx: n, message: i } = e, + a = it.splitBreaks(i).length, + s = Si(i), + o = s ? await og(i, we()) : Zt.calculateTextDimensions(i, su(Re)) + if (!s) { + const d = o.height / a + ;(e.height += d), et.bumpVerticalPos(d) + } + let l, + u = o.height - 10 + const h = o.width + if (r === n) { + ;(l = et.getVerticalPos() + u), + Re.rightAngles || ((u += Re.boxMargin), (l = et.getVerticalPos() + u)), + (u += 30) + const d = it.getMax(h / 2, Re.width / 2) + et.insert(r - d, et.getVerticalPos() - 10 + u, n + d, et.getVerticalPos() + 30 + u) + } else (u += Re.boxMargin), (l = et.getVerticalPos() + u), et.insert(r, l - 10, n, l) + return ( + et.bumpVerticalPos(u), + (e.height += u), + (e.stopy = e.starty + e.height), + et.insert(e.fromBounds, e.starty, e.toBounds, e.stopy), + l + ) +} +x(xU, "boundMessage") +var Gwe = x(async function (t, e, r, n) { + const { startx: i, stopx: a, starty: s, message: o, type: l, sequenceIndex: u, sequenceVisible: h } = e, + d = Zt.calculateTextDimensions(o, su(Re)), + f = ek() + ;(f.x = i), + (f.y = s + 10), + (f.width = a - i), + (f.class = "messageText"), + (f.dy = "1em"), + (f.text = o), + (f.fontFamily = Re.messageFontFamily), + (f.fontSize = Re.messageFontSize), + (f.fontWeight = Re.messageFontWeight), + (f.anchor = Re.messageAlign), + (f.valign = "center"), + (f.textMargin = Re.wrapPadding), + (f.tspan = !1), + Si(f.text) ? await Wy(t, f, { startx: i, stopx: a, starty: r }) : qd(t, f) + const p = d.width + let g + i === a + ? Re.rightAngles + ? (g = t + .append("path") + .attr("d", `M ${i},${r} H ${i + it.getMax(Re.width / 2, p / 2)} V ${r + 25} H ${i}`)) + : (g = t + .append("path") + .attr( + "d", + "M " + + i + + "," + + r + + " C " + + (i + 60) + + "," + + (r - 10) + + " " + + (i + 60) + + "," + + (r + 30) + + " " + + i + + "," + + (r + 20), + )) + : ((g = t.append("line")), g.attr("x1", i), g.attr("y1", r), g.attr("x2", a), g.attr("y2", r)), + l === n.db.LINETYPE.DOTTED || + l === n.db.LINETYPE.DOTTED_CROSS || + l === n.db.LINETYPE.DOTTED_POINT || + l === n.db.LINETYPE.DOTTED_OPEN || + l === n.db.LINETYPE.BIDIRECTIONAL_DOTTED + ? (g.style("stroke-dasharray", "3, 3"), g.attr("class", "messageLine1")) + : g.attr("class", "messageLine0") + let m = "" + Re.arrowMarkerAbsolute && + ((m = + window.location.protocol + + "//" + + window.location.host + + window.location.pathname + + window.location.search), + (m = m.replace(/\(/g, "\\(")), + (m = m.replace(/\)/g, "\\)"))), + g.attr("stroke-width", 2), + g.attr("stroke", "none"), + g.style("fill", "none"), + (l === n.db.LINETYPE.SOLID || l === n.db.LINETYPE.DOTTED) && + g.attr("marker-end", "url(" + m + "#arrowhead)"), + (l === n.db.LINETYPE.BIDIRECTIONAL_SOLID || l === n.db.LINETYPE.BIDIRECTIONAL_DOTTED) && + (g.attr("marker-start", "url(" + m + "#arrowhead)"), g.attr("marker-end", "url(" + m + "#arrowhead)")), + (l === n.db.LINETYPE.SOLID_POINT || l === n.db.LINETYPE.DOTTED_POINT) && + g.attr("marker-end", "url(" + m + "#filled-head)"), + (l === n.db.LINETYPE.SOLID_CROSS || l === n.db.LINETYPE.DOTTED_CROSS) && + g.attr("marker-end", "url(" + m + "#crosshead)"), + (h || Re.showSequenceNumbers) && + (g.attr("marker-start", "url(" + m + "#sequencenumber)"), + t + .append("text") + .attr("x", i) + .attr("y", r + 4) + .attr("font-family", "sans-serif") + .attr("font-size", "12px") + .attr("text-anchor", "middle") + .attr("class", "sequenceNumber") + .text(u)) + }, "drawMessage"), + Uwe = x(function (t, e, r, n, i, a, s) { + let o = 0, + l = 0, + u, + h = 0 + for (const d of n) { + const f = e.get(d), + p = f.box + u && u != p && (s || et.models.addBox(u), (l += Re.boxMargin + u.margin)), + p && p != u && (s || ((p.x = o + l), (p.y = i)), (l += p.margin)), + (f.width = f.width || Re.width), + (f.height = it.getMax(f.height || Re.height, Re.height)), + (f.margin = f.margin || Re.actorMargin), + (h = it.getMax(h, f.height)), + r.get(f.name) && (l += f.width / 2), + (f.x = o + l), + (f.starty = et.getVerticalPos()), + et.insert(f.x, i, f.x + f.width, f.height), + (o += f.width + l), + f.box && (f.box.width = o + p.margin - f.box.x), + (l = f.margin), + (u = f.box), + et.models.addActor(f) + } + u && !s && et.models.addBox(u), et.bumpVerticalPos(h) + }, "addActorRenderingData"), + b6 = x(async function (t, e, r, n) { + if (n) { + let i = 0 + et.bumpVerticalPos(Re.boxMargin * 2) + for (const a of r) { + const s = e.get(a) + s.stopy || (s.stopy = et.getVerticalPos()) + const o = await fn.drawActor(t, s, Re, !0) + i = it.getMax(i, o) + } + et.bumpVerticalPos(i + Re.boxMargin) + } else + for (const i of r) { + const a = e.get(i) + await fn.drawActor(t, a, Re, !1) + } + }, "drawActors"), + bU = x(function (t, e, r, n) { + let i = 0, + a = 0 + for (const s of r) { + const o = e.get(s), + l = Wwe(o), + u = fn.drawPopup(t, o, l, Re, Re.forceMenus, n) + u.height > i && (i = u.height), u.width + o.x > a && (a = u.width + o.x) + } + return { maxHeight: i, maxWidth: a } + }, "drawActorsPopup"), + wU = x(function (t) { + Mn(Re, t), + t.fontFamily && (Re.actorFontFamily = Re.noteFontFamily = Re.messageFontFamily = t.fontFamily), + t.fontSize && (Re.actorFontSize = Re.noteFontSize = Re.messageFontSize = t.fontSize), + t.fontWeight && (Re.actorFontWeight = Re.noteFontWeight = Re.messageFontWeight = t.fontWeight) + }, "setConf"), + kx = x(function (t) { + return et.activations.filter(function (e) { + return e.actor === t + }) + }, "actorActivations"), + f9 = x(function (t, e) { + const r = e.get(t), + n = kx(t), + i = n.reduce( + function (s, o) { + return it.getMin(s, o.startx) + }, + r.x + r.width / 2 - 1, + ), + a = n.reduce( + function (s, o) { + return it.getMax(s, o.stopx) + }, + r.x + r.width / 2 + 1, + ) + return [i, a] + }, "activationBounds") +function os(t, e, r, n, i) { + et.bumpVerticalPos(r) + let a = n + if (e.id && e.message && t[e.id]) { + const s = t[e.id].width, + o = su(Re) + ;(e.message = Zt.wrapLabel(`[${e.message}]`, s - 2 * Re.wrapPadding, o)), (e.width = s), (e.wrap = !0) + const l = Zt.calculateTextDimensions(e.message, o), + u = it.getMax(l.height, Re.labelBoxHeight) + ;(a = n + u), ie.debug(`${u} - ${e.message}`) + } + i(e), et.bumpVerticalPos(a) +} +x(os, "adjustLoopHeightForWrap") +function TU(t, e, r, n, i, a, s) { + function o(u, h) { + u.x < i.get(t.from).x + ? (et.insert(e.stopx - h, e.starty, e.startx, e.stopy + u.height / 2 + Re.noteMargin), + (e.stopx = e.stopx + h)) + : (et.insert(e.startx, e.starty, e.stopx + h, e.stopy + u.height / 2 + Re.noteMargin), + (e.stopx = e.stopx - h)) + } + x(o, "receiverAdjustment") + function l(u, h) { + u.x < i.get(t.to).x + ? (et.insert(e.startx - h, e.starty, e.stopx, e.stopy + u.height / 2 + Re.noteMargin), + (e.startx = e.startx + h)) + : (et.insert(e.stopx, e.starty, e.startx + h, e.stopy + u.height / 2 + Re.noteMargin), + (e.startx = e.startx - h)) + } + if ((x(l, "senderAdjustment"), a.get(t.to) == n)) { + const u = i.get(t.to), + h = u.type == "actor" ? Pc / 2 + 3 : u.width / 2 + 3 + o(u, h), (u.starty = r - u.height / 2), et.bumpVerticalPos(u.height / 2) + } else if (s.get(t.from) == n) { + const u = i.get(t.from) + if (Re.mirrorActors) { + const h = u.type == "actor" ? Pc / 2 : u.width / 2 + l(u, h) + } + ;(u.stopy = r - u.height / 2), et.bumpVerticalPos(u.height / 2) + } else if (s.get(t.to) == n) { + const u = i.get(t.to) + if (Re.mirrorActors) { + const h = u.type == "actor" ? Pc / 2 + 3 : u.width / 2 + 3 + o(u, h) + } + ;(u.stopy = r - u.height / 2), et.bumpVerticalPos(u.height / 2) + } +} +x(TU, "adjustCreatedDestroyedData") +var qwe = x(async function (t, e, r, n) { + const { securityLevel: i, sequence: a } = we() + Re = a + let s + i === "sandbox" && (s = rt("#i" + e)) + const o = rt(i === "sandbox" ? s.nodes()[0].contentDocument.body : "body"), + l = i === "sandbox" ? s.nodes()[0].contentDocument : document + et.init(), ie.debug(n.db) + const u = i === "sandbox" ? o.select(`[id="${e}"]`) : rt(`[id="${e}"]`), + h = n.db.getActors(), + d = n.db.getCreatedActors(), + f = n.db.getDestroyedActors(), + p = n.db.getBoxes() + let g = n.db.getActorKeys() + const m = n.db.getMessages(), + v = n.db.getDiagramTitle(), + y = n.db.hasAtLeastOneBox(), + b = n.db.hasAtLeastOneBoxWithTitle(), + w = await EU(h, m, n) + if ( + ((Re.height = await kU(h, w, p)), + fn.insertComputerIcon(u), + fn.insertDatabaseIcon(u), + fn.insertClockIcon(u), + y && (et.bumpVerticalPos(Re.boxMargin), b && et.bumpVerticalPos(p[0].textMaxHeight)), + Re.hideUnusedParticipants === !0) + ) { + const D = new Set() + m.forEach((B) => { + D.add(B.from), D.add(B.to) + }), + (g = g.filter((B) => D.has(B))) + } + Uwe(u, h, d, g, 0, m, !1) + const T = await Xwe(m, h, w, n) + fn.insertArrowHead(u), fn.insertArrowCrossHead(u), fn.insertArrowFilledHead(u), fn.insertSequenceNumber(u) + function E(D, B) { + const z = et.endActivation(D) + z.starty + 18 > B && ((z.starty = B - 6), (B += 12)), + fn.drawActivation(u, z, B, Re, kx(D.from).length), + et.insert(z.startx, B - 10, z.stopx, B) + } + x(E, "activeEnd") + let S = 1, + k = 1 + const L = [], + A = [] + let R = 0 + for (const D of m) { + let B, z, F + switch (D.type) { + case n.db.LINETYPE.NOTE: + et.resetVerticalPos(), (z = D.noteModel), await Vwe(u, z) + break + case n.db.LINETYPE.ACTIVE_START: + et.newActivation(D, u, h) + break + case n.db.LINETYPE.ACTIVE_END: + E(D, et.getVerticalPos()) + break + case n.db.LINETYPE.LOOP_START: + os(T, D, Re.boxMargin, Re.boxMargin + Re.boxTextMargin, (G) => et.newLoop(G)) + break + case n.db.LINETYPE.LOOP_END: + ;(B = et.endLoop()), + await fn.drawLoop(u, B, "loop", Re), + et.bumpVerticalPos(B.stopy - et.getVerticalPos()), + et.models.addLoop(B) + break + case n.db.LINETYPE.RECT_START: + os(T, D, Re.boxMargin, Re.boxMargin, (G) => et.newLoop(void 0, G.message)) + break + case n.db.LINETYPE.RECT_END: + ;(B = et.endLoop()), A.push(B), et.models.addLoop(B), et.bumpVerticalPos(B.stopy - et.getVerticalPos()) + break + case n.db.LINETYPE.OPT_START: + os(T, D, Re.boxMargin, Re.boxMargin + Re.boxTextMargin, (G) => et.newLoop(G)) + break + case n.db.LINETYPE.OPT_END: + ;(B = et.endLoop()), + await fn.drawLoop(u, B, "opt", Re), + et.bumpVerticalPos(B.stopy - et.getVerticalPos()), + et.models.addLoop(B) + break + case n.db.LINETYPE.ALT_START: + os(T, D, Re.boxMargin, Re.boxMargin + Re.boxTextMargin, (G) => et.newLoop(G)) + break + case n.db.LINETYPE.ALT_ELSE: + os(T, D, Re.boxMargin + Re.boxTextMargin, Re.boxMargin, (G) => et.addSectionToLoop(G)) + break + case n.db.LINETYPE.ALT_END: + ;(B = et.endLoop()), + await fn.drawLoop(u, B, "alt", Re), + et.bumpVerticalPos(B.stopy - et.getVerticalPos()), + et.models.addLoop(B) + break + case n.db.LINETYPE.PAR_START: + case n.db.LINETYPE.PAR_OVER_START: + os(T, D, Re.boxMargin, Re.boxMargin + Re.boxTextMargin, (G) => et.newLoop(G)), et.saveVerticalPos() + break + case n.db.LINETYPE.PAR_AND: + os(T, D, Re.boxMargin + Re.boxTextMargin, Re.boxMargin, (G) => et.addSectionToLoop(G)) + break + case n.db.LINETYPE.PAR_END: + ;(B = et.endLoop()), + await fn.drawLoop(u, B, "par", Re), + et.bumpVerticalPos(B.stopy - et.getVerticalPos()), + et.models.addLoop(B) + break + case n.db.LINETYPE.AUTONUMBER: + ;(S = D.message.start || S), + (k = D.message.step || k), + D.message.visible ? n.db.enableSequenceNumbers() : n.db.disableSequenceNumbers() + break + case n.db.LINETYPE.CRITICAL_START: + os(T, D, Re.boxMargin, Re.boxMargin + Re.boxTextMargin, (G) => et.newLoop(G)) + break + case n.db.LINETYPE.CRITICAL_OPTION: + os(T, D, Re.boxMargin + Re.boxTextMargin, Re.boxMargin, (G) => et.addSectionToLoop(G)) + break + case n.db.LINETYPE.CRITICAL_END: + ;(B = et.endLoop()), + await fn.drawLoop(u, B, "critical", Re), + et.bumpVerticalPos(B.stopy - et.getVerticalPos()), + et.models.addLoop(B) + break + case n.db.LINETYPE.BREAK_START: + os(T, D, Re.boxMargin, Re.boxMargin + Re.boxTextMargin, (G) => et.newLoop(G)) + break + case n.db.LINETYPE.BREAK_END: + ;(B = et.endLoop()), + await fn.drawLoop(u, B, "break", Re), + et.bumpVerticalPos(B.stopy - et.getVerticalPos()), + et.models.addLoop(B) + break + default: + try { + ;(F = D.msgModel), + (F.starty = et.getVerticalPos()), + (F.sequenceIndex = S), + (F.sequenceVisible = n.db.showSequenceNumbers()) + const G = await xU(u, F) + TU(D, F, G, R, h, d, f), L.push({ messageModel: F, lineStartY: G }), et.models.addMessage(F) + } catch (G) { + ie.error("error while drawing message", G) + } + } + ;[ + n.db.LINETYPE.SOLID_OPEN, + n.db.LINETYPE.DOTTED_OPEN, + n.db.LINETYPE.SOLID, + n.db.LINETYPE.DOTTED, + n.db.LINETYPE.SOLID_CROSS, + n.db.LINETYPE.DOTTED_CROSS, + n.db.LINETYPE.SOLID_POINT, + n.db.LINETYPE.DOTTED_POINT, + n.db.LINETYPE.BIDIRECTIONAL_SOLID, + n.db.LINETYPE.BIDIRECTIONAL_DOTTED, + ].includes(D.type) && (S = S + k), + R++ + } + ie.debug("createdActors", d), ie.debug("destroyedActors", f), await b6(u, h, g, !1) + for (const D of L) await Gwe(u, D.messageModel, D.lineStartY, n) + Re.mirrorActors && (await b6(u, h, g, !0)), A.forEach((D) => fn.drawBackgroundRect(u, D)), mU(u, h, g, Re) + for (const D of et.models.boxes) + (D.height = et.getVerticalPos() - D.y), + et.insert(D.x, D.y, D.x + D.width, D.height), + (D.startx = D.x), + (D.starty = D.y), + (D.stopx = D.startx + D.width), + (D.stopy = D.starty + D.height), + (D.stroke = "rgb(0,0,0, 0.5)"), + fn.drawBox(u, D, Re) + y && et.bumpVerticalPos(Re.boxMargin) + const C = bU(u, h, g, l), + { bounds: I } = et.getBounds() + I.startx === void 0 && (I.startx = 0), + I.starty === void 0 && (I.starty = 0), + I.stopx === void 0 && (I.stopx = 0), + I.stopy === void 0 && (I.stopy = 0) + let P = I.stopy - I.starty + P < C.maxHeight && (P = C.maxHeight) + let _ = P + 2 * Re.diagramMarginY + Re.mirrorActors && (_ = _ - Re.boxMargin + Re.bottomMarginAdj) + let N = I.stopx - I.startx + N < C.maxWidth && (N = C.maxWidth) + const M = N + 2 * Re.diagramMarginX + v && + u + .append("text") + .text(v) + .attr("x", (I.stopx - I.startx) / 2 - 2 * Re.diagramMarginX) + .attr("y", -25), + da(u, _, M, Re.useMaxWidth) + const O = v ? 40 : 0 + u.attr("viewBox", I.startx - Re.diagramMarginX + " -" + (Re.diagramMarginY + O) + " " + M + " " + (_ + O)), + ie.debug("models:", et.models) +}, "draw") +async function EU(t, e, r) { + const n = {} + for (const i of e) + if (t.get(i.to) && t.get(i.from)) { + const a = t.get(i.to) + if ( + (i.placement === r.db.PLACEMENT.LEFTOF && !a.prevActor) || + (i.placement === r.db.PLACEMENT.RIGHTOF && !a.nextActor) + ) + continue + const s = i.placement !== void 0, + o = !s, + l = s ? Ju(Re) : su(Re), + u = i.wrap ? Zt.wrapLabel(i.message, Re.width - 2 * Re.wrapPadding, l) : i.message, + d = (Si(u) ? await og(i.message, we()) : Zt.calculateTextDimensions(u, l)).width + 2 * Re.wrapPadding + o && i.from === a.nextActor + ? (n[i.to] = it.getMax(n[i.to] || 0, d)) + : o && i.from === a.prevActor + ? (n[i.from] = it.getMax(n[i.from] || 0, d)) + : o && i.from === i.to + ? ((n[i.from] = it.getMax(n[i.from] || 0, d / 2)), (n[i.to] = it.getMax(n[i.to] || 0, d / 2))) + : i.placement === r.db.PLACEMENT.RIGHTOF + ? (n[i.from] = it.getMax(n[i.from] || 0, d)) + : i.placement === r.db.PLACEMENT.LEFTOF + ? (n[a.prevActor] = it.getMax(n[a.prevActor] || 0, d)) + : i.placement === r.db.PLACEMENT.OVER && + (a.prevActor && (n[a.prevActor] = it.getMax(n[a.prevActor] || 0, d / 2)), + a.nextActor && (n[i.from] = it.getMax(n[i.from] || 0, d / 2))) + } + return ie.debug("maxMessageWidthPerActor:", n), n +} +x(EU, "getMaxMessageWidthPerActor") +var Wwe = x(function (t) { + let e = 0 + const r = x6(Re) + for (const n in t.links) { + const a = Zt.calculateTextDimensions(n, r).width + 2 * Re.wrapPadding + 2 * Re.boxMargin + e < a && (e = a) + } + return e +}, "getRequiredPopupWidth") +async function kU(t, e, r) { + let n = 0 + for (const a of t.keys()) { + const s = t.get(a) + s.wrap && (s.description = Zt.wrapLabel(s.description, Re.width - 2 * Re.wrapPadding, x6(Re))) + const o = Si(s.description) ? await og(s.description, we()) : Zt.calculateTextDimensions(s.description, x6(Re)) + ;(s.width = s.wrap ? Re.width : it.getMax(Re.width, o.width + 2 * Re.wrapPadding)), + (s.height = s.wrap ? it.getMax(o.height, Re.height) : Re.height), + (n = it.getMax(n, s.height)) + } + for (const a in e) { + const s = t.get(a) + if (!s) continue + const o = t.get(s.nextActor) + if (!o) { + const d = e[a] + Re.actorMargin - s.width / 2 + s.margin = it.getMax(d, Re.actorMargin) + continue + } + const u = e[a] + Re.actorMargin - s.width / 2 - o.width / 2 + s.margin = it.getMax(u, Re.actorMargin) + } + let i = 0 + return ( + r.forEach((a) => { + const s = su(Re) + let o = a.actorKeys.reduce((h, d) => (h += t.get(d).width + (t.get(d).margin || 0)), 0) + ;(o -= 2 * Re.boxTextMargin), a.wrap && (a.name = Zt.wrapLabel(a.name, o - 2 * Re.wrapPadding, s)) + const l = Zt.calculateTextDimensions(a.name, s) + i = it.getMax(l.height, i) + const u = it.getMax(o, l.width + 2 * Re.wrapPadding) + if (((a.margin = Re.boxTextMargin), o < u)) { + const h = (u - o) / 2 + a.margin += h + } + }), + r.forEach((a) => (a.textMaxHeight = i)), + it.getMax(n, Re.height) + ) +} +x(kU, "calculateActorMargins") +var Hwe = x(async function (t, e, r) { + const n = e.get(t.from), + i = e.get(t.to), + a = n.x, + s = i.x, + o = t.wrap && t.message + let l = Si(t.message) + ? await og(t.message, we()) + : Zt.calculateTextDimensions(o ? Zt.wrapLabel(t.message, Re.width, Ju(Re)) : t.message, Ju(Re)) + const u = { + width: o ? Re.width : it.getMax(Re.width, l.width + 2 * Re.noteMargin), + height: 0, + startx: n.x, + stopx: 0, + starty: 0, + stopy: 0, + message: t.message, + } + return ( + t.placement === r.db.PLACEMENT.RIGHTOF + ? ((u.width = o + ? it.getMax(Re.width, l.width) + : it.getMax(n.width / 2 + i.width / 2, l.width + 2 * Re.noteMargin)), + (u.startx = a + (n.width + Re.actorMargin) / 2)) + : t.placement === r.db.PLACEMENT.LEFTOF + ? ((u.width = o + ? it.getMax(Re.width, l.width + 2 * Re.noteMargin) + : it.getMax(n.width / 2 + i.width / 2, l.width + 2 * Re.noteMargin)), + (u.startx = a - u.width + (n.width - Re.actorMargin) / 2)) + : t.to === t.from + ? ((l = Zt.calculateTextDimensions( + o ? Zt.wrapLabel(t.message, it.getMax(Re.width, n.width), Ju(Re)) : t.message, + Ju(Re), + )), + (u.width = o + ? it.getMax(Re.width, n.width) + : it.getMax(n.width, Re.width, l.width + 2 * Re.noteMargin)), + (u.startx = a + (n.width - u.width) / 2)) + : ((u.width = Math.abs(a + n.width / 2 - (s + i.width / 2)) + Re.actorMargin), + (u.startx = + a < s ? a + n.width / 2 - Re.actorMargin / 2 : s + i.width / 2 - Re.actorMargin / 2)), + o && (u.message = Zt.wrapLabel(t.message, u.width - 2 * Re.wrapPadding, Ju(Re))), + ie.debug(`NM:[${u.startx},${u.stopx},${u.starty},${u.stopy}:${u.width},${u.height}=${t.message}]`), + u + ) + }, "buildNoteModel"), + Ywe = x(function (t, e, r) { + if ( + ![ + r.db.LINETYPE.SOLID_OPEN, + r.db.LINETYPE.DOTTED_OPEN, + r.db.LINETYPE.SOLID, + r.db.LINETYPE.DOTTED, + r.db.LINETYPE.SOLID_CROSS, + r.db.LINETYPE.DOTTED_CROSS, + r.db.LINETYPE.SOLID_POINT, + r.db.LINETYPE.DOTTED_POINT, + r.db.LINETYPE.BIDIRECTIONAL_SOLID, + r.db.LINETYPE.BIDIRECTIONAL_DOTTED, + ].includes(t.type) + ) + return {} + const [n, i] = f9(t.from, e), + [a, s] = f9(t.to, e), + o = n <= a + let l = o ? i : n, + u = o ? a : s + const h = Math.abs(a - s) > 2, + d = x((m) => (o ? -m : m), "adjustValue") + t.from === t.to + ? (u = l) + : (t.activate && !h && (u += d(Re.activationWidth / 2 - 1)), + [r.db.LINETYPE.SOLID_OPEN, r.db.LINETYPE.DOTTED_OPEN].includes(t.type) || (u += d(3)), + [r.db.LINETYPE.BIDIRECTIONAL_SOLID, r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type) && (l -= d(3))) + const f = [n, i, a, s], + p = Math.abs(l - u) + t.wrap && + t.message && + (t.message = Zt.wrapLabel(t.message, it.getMax(p + 2 * Re.wrapPadding, Re.width), su(Re))) + const g = Zt.calculateTextDimensions(t.message, su(Re)) + return { + width: it.getMax(t.wrap ? 0 : g.width + 2 * Re.wrapPadding, p + 2 * Re.wrapPadding, Re.width), + height: 0, + startx: l, + stopx: u, + starty: 0, + stopy: 0, + message: t.message, + type: t.type, + wrap: t.wrap, + fromBounds: Math.min.apply(null, f), + toBounds: Math.max.apply(null, f), + } + }, "buildMessageModel"), + Xwe = x(async function (t, e, r, n) { + const i = {}, + a = [] + let s, o, l + for (const u of t) { + switch (u.type) { + case n.db.LINETYPE.LOOP_START: + case n.db.LINETYPE.ALT_START: + case n.db.LINETYPE.OPT_START: + case n.db.LINETYPE.PAR_START: + case n.db.LINETYPE.PAR_OVER_START: + case n.db.LINETYPE.CRITICAL_START: + case n.db.LINETYPE.BREAK_START: + a.push({ + id: u.id, + msg: u.message, + from: Number.MAX_SAFE_INTEGER, + to: Number.MIN_SAFE_INTEGER, + width: 0, + }) + break + case n.db.LINETYPE.ALT_ELSE: + case n.db.LINETYPE.PAR_AND: + case n.db.LINETYPE.CRITICAL_OPTION: + u.message && ((s = a.pop()), (i[s.id] = s), (i[u.id] = s), a.push(s)) + break + case n.db.LINETYPE.LOOP_END: + case n.db.LINETYPE.ALT_END: + case n.db.LINETYPE.OPT_END: + case n.db.LINETYPE.PAR_END: + case n.db.LINETYPE.CRITICAL_END: + case n.db.LINETYPE.BREAK_END: + ;(s = a.pop()), (i[s.id] = s) + break + case n.db.LINETYPE.ACTIVE_START: + { + const d = e.get(u.from ? u.from : u.to.actor), + f = kx(u.from ? u.from : u.to.actor).length, + p = d.x + d.width / 2 + ((f - 1) * Re.activationWidth) / 2, + g = { startx: p, stopx: p + Re.activationWidth, actor: u.from, enabled: !0 } + et.activations.push(g) + } + break + case n.db.LINETYPE.ACTIVE_END: + { + const d = et.activations.map((f) => f.actor).lastIndexOf(u.from) + et.activations.splice(d, 1).splice(0, 1) + } + break + } + u.placement !== void 0 + ? ((o = await Hwe(u, e, n)), + (u.noteModel = o), + a.forEach((d) => { + ;(s = d), + (s.from = it.getMin(s.from, o.startx)), + (s.to = it.getMax(s.to, o.startx + o.width)), + (s.width = it.getMax(s.width, Math.abs(s.from - s.to)) - Re.labelBoxWidth) + })) + : ((l = Ywe(u, e, n)), + (u.msgModel = l), + l.startx && + l.stopx && + a.length > 0 && + a.forEach((d) => { + if (((s = d), l.startx === l.stopx)) { + const f = e.get(u.from), + p = e.get(u.to) + ;(s.from = it.getMin(f.x - l.width / 2, f.x - f.width / 2, s.from)), + (s.to = it.getMax(p.x + l.width / 2, p.x + f.width / 2, s.to)), + (s.width = it.getMax(s.width, Math.abs(s.to - s.from)) - Re.labelBoxWidth) + } else + (s.from = it.getMin(l.startx, s.from)), + (s.to = it.getMax(l.stopx, s.to)), + (s.width = it.getMax(s.width, l.width) - Re.labelBoxWidth) + })) + } + return (et.activations = []), ie.debug("Loop type widths:", i), i + }, "calculateLoopBounds"), + jwe = { bounds: et, drawActors: b6, drawActorsPopup: bU, setConf: wU, draw: qwe }, + Kwe = { + parser: gwe, + get db() { + return new xwe() + }, + renderer: jwe, + styles: wwe, + init: x((t) => { + t.sequence || (t.sequence = {}), t.wrap && ((t.sequence.wrap = t.wrap), b3({ sequence: { wrap: t.wrap } })) + }, "init"), + } +const Zwe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: Kwe }, Symbol.toStringTag, { value: "Module" }), +) +var w6 = (function () { + var t = x(function (Oe, Ce, Le, ze) { + for (Le = Le || {}, ze = Oe.length; ze--; Le[Oe[ze]] = Ce); + return Le + }, "o"), + e = [1, 18], + r = [1, 19], + n = [1, 20], + i = [1, 41], + a = [1, 42], + s = [1, 26], + o = [1, 24], + l = [1, 25], + u = [1, 32], + h = [1, 33], + d = [1, 34], + f = [1, 45], + p = [1, 35], + g = [1, 36], + m = [1, 37], + v = [1, 38], + y = [1, 27], + b = [1, 28], + w = [1, 29], + T = [1, 30], + E = [1, 31], + S = [1, 44], + k = [1, 46], + L = [1, 43], + A = [1, 47], + R = [1, 9], + C = [1, 8, 9], + I = [1, 58], + P = [1, 59], + _ = [1, 60], + N = [1, 61], + M = [1, 62], + O = [1, 63], + D = [1, 64], + B = [1, 8, 9, 41], + z = [1, 76], + F = [1, 8, 9, 12, 13, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], + G = [1, 8, 9, 12, 13, 17, 20, 22, 39, 41, 44, 48, 58, 66, 67, 68, 69, 70, 71, 72, 77, 79, 84, 99, 101, 102], + q = [13, 58, 84, 99, 101, 102], + Y = [13, 58, 71, 72, 84, 99, 101, 102], + ee = [13, 58, 66, 67, 68, 69, 70, 84, 99, 101, 102], + Q = [1, 98], + oe = [1, 115], + pe = [1, 107], + j = [1, 113], + H = [1, 108], + X = [1, 109], + W = [1, 110], + K = [1, 111], + ne = [1, 112], + Z = [1, 114], + be = [22, 58, 59, 80, 84, 85, 86, 87, 88, 89], + ce = [1, 8, 9, 39, 41, 44], + re = [1, 8, 9, 22], + Ne = [1, 143], + me = [1, 8, 9, 59], + Ve = [1, 8, 9, 22, 58, 59, 80, 84, 85, 86, 87, 88, 89], + Ue = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + mermaidDoc: 4, + statements: 5, + graphConfig: 6, + CLASS_DIAGRAM: 7, + NEWLINE: 8, + EOF: 9, + statement: 10, + classLabel: 11, + SQS: 12, + STR: 13, + SQE: 14, + namespaceName: 15, + alphaNumToken: 16, + DOT: 17, + className: 18, + classLiteralName: 19, + GENERICTYPE: 20, + relationStatement: 21, + LABEL: 22, + namespaceStatement: 23, + classStatement: 24, + memberStatement: 25, + annotationStatement: 26, + clickStatement: 27, + styleStatement: 28, + cssClassStatement: 29, + noteStatement: 30, + classDefStatement: 31, + direction: 32, + acc_title: 33, + acc_title_value: 34, + acc_descr: 35, + acc_descr_value: 36, + acc_descr_multiline_value: 37, + namespaceIdentifier: 38, + STRUCT_START: 39, + classStatements: 40, + STRUCT_STOP: 41, + NAMESPACE: 42, + classIdentifier: 43, + STYLE_SEPARATOR: 44, + members: 45, + CLASS: 46, + ANNOTATION_START: 47, + ANNOTATION_END: 48, + MEMBER: 49, + SEPARATOR: 50, + relation: 51, + NOTE_FOR: 52, + noteText: 53, + NOTE: 54, + CLASSDEF: 55, + classList: 56, + stylesOpt: 57, + ALPHA: 58, + COMMA: 59, + direction_tb: 60, + direction_bt: 61, + direction_rl: 62, + direction_lr: 63, + relationType: 64, + lineType: 65, + AGGREGATION: 66, + EXTENSION: 67, + COMPOSITION: 68, + DEPENDENCY: 69, + LOLLIPOP: 70, + LINE: 71, + DOTTED_LINE: 72, + CALLBACK: 73, + LINK: 74, + LINK_TARGET: 75, + CLICK: 76, + CALLBACK_NAME: 77, + CALLBACK_ARGS: 78, + HREF: 79, + STYLE: 80, + CSSCLASS: 81, + style: 82, + styleComponent: 83, + NUM: 84, + COLON: 85, + UNIT: 86, + SPACE: 87, + BRKT: 88, + PCT: 89, + commentToken: 90, + textToken: 91, + graphCodeTokens: 92, + textNoTagsToken: 93, + TAGSTART: 94, + TAGEND: 95, + "==": 96, + "--": 97, + DEFAULT: 98, + MINUS: 99, + keywords: 100, + UNICODE_TEXT: 101, + BQUOTE_STR: 102, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 7: "CLASS_DIAGRAM", + 8: "NEWLINE", + 9: "EOF", + 12: "SQS", + 13: "STR", + 14: "SQE", + 17: "DOT", + 20: "GENERICTYPE", + 22: "LABEL", + 33: "acc_title", + 34: "acc_title_value", + 35: "acc_descr", + 36: "acc_descr_value", + 37: "acc_descr_multiline_value", + 39: "STRUCT_START", + 41: "STRUCT_STOP", + 42: "NAMESPACE", + 44: "STYLE_SEPARATOR", + 46: "CLASS", + 47: "ANNOTATION_START", + 48: "ANNOTATION_END", + 49: "MEMBER", + 50: "SEPARATOR", + 52: "NOTE_FOR", + 54: "NOTE", + 55: "CLASSDEF", + 58: "ALPHA", + 59: "COMMA", + 60: "direction_tb", + 61: "direction_bt", + 62: "direction_rl", + 63: "direction_lr", + 66: "AGGREGATION", + 67: "EXTENSION", + 68: "COMPOSITION", + 69: "DEPENDENCY", + 70: "LOLLIPOP", + 71: "LINE", + 72: "DOTTED_LINE", + 73: "CALLBACK", + 74: "LINK", + 75: "LINK_TARGET", + 76: "CLICK", + 77: "CALLBACK_NAME", + 78: "CALLBACK_ARGS", + 79: "HREF", + 80: "STYLE", + 81: "CSSCLASS", + 84: "NUM", + 85: "COLON", + 86: "UNIT", + 87: "SPACE", + 88: "BRKT", + 89: "PCT", + 92: "graphCodeTokens", + 94: "TAGSTART", + 95: "TAGEND", + 96: "==", + 97: "--", + 98: "DEFAULT", + 99: "MINUS", + 100: "keywords", + 101: "UNICODE_TEXT", + 102: "BQUOTE_STR", + }, + productions_: [ + 0, + [3, 1], + [3, 1], + [4, 1], + [6, 4], + [5, 1], + [5, 2], + [5, 3], + [11, 3], + [15, 1], + [15, 3], + [15, 2], + [18, 1], + [18, 3], + [18, 1], + [18, 2], + [18, 2], + [18, 2], + [10, 1], + [10, 2], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [10, 1], + [23, 4], + [23, 5], + [38, 2], + [40, 1], + [40, 2], + [40, 3], + [24, 1], + [24, 3], + [24, 4], + [24, 6], + [43, 2], + [43, 3], + [26, 4], + [45, 1], + [45, 2], + [25, 1], + [25, 2], + [25, 1], + [25, 1], + [21, 3], + [21, 4], + [21, 4], + [21, 5], + [30, 3], + [30, 2], + [31, 3], + [56, 1], + [56, 3], + [32, 1], + [32, 1], + [32, 1], + [32, 1], + [51, 3], + [51, 2], + [51, 2], + [51, 1], + [64, 1], + [64, 1], + [64, 1], + [64, 1], + [64, 1], + [65, 1], + [65, 1], + [27, 3], + [27, 4], + [27, 3], + [27, 4], + [27, 4], + [27, 5], + [27, 3], + [27, 4], + [27, 4], + [27, 5], + [27, 4], + [27, 5], + [27, 5], + [27, 6], + [28, 3], + [29, 3], + [57, 1], + [57, 3], + [82, 1], + [82, 2], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [83, 1], + [90, 1], + [90, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [91, 1], + [93, 1], + [93, 1], + [93, 1], + [93, 1], + [16, 1], + [16, 1], + [16, 1], + [16, 1], + [19, 1], + [53, 1], + ], + performAction: x(function (Ce, Le, ze, ge, Me, J, ue) { + var $ = J.length - 1 + switch (Me) { + case 8: + this.$ = J[$ - 1] + break + case 9: + case 12: + case 14: + this.$ = J[$] + break + case 10: + case 13: + this.$ = J[$ - 2] + "." + J[$] + break + case 11: + case 15: + this.$ = J[$ - 1] + J[$] + break + case 16: + case 17: + this.$ = J[$ - 1] + "~" + J[$] + "~" + break + case 18: + ge.addRelation(J[$]) + break + case 19: + ;(J[$ - 1].title = ge.cleanupLabel(J[$])), ge.addRelation(J[$ - 1]) + break + case 30: + ;(this.$ = J[$].trim()), ge.setAccTitle(this.$) + break + case 31: + case 32: + ;(this.$ = J[$].trim()), ge.setAccDescription(this.$) + break + case 33: + ge.addClassesToNamespace(J[$ - 3], J[$ - 1]) + break + case 34: + ge.addClassesToNamespace(J[$ - 4], J[$ - 1]) + break + case 35: + ;(this.$ = J[$]), ge.addNamespace(J[$]) + break + case 36: + this.$ = [J[$]] + break + case 37: + this.$ = [J[$ - 1]] + break + case 38: + J[$].unshift(J[$ - 2]), (this.$ = J[$]) + break + case 40: + ge.setCssClass(J[$ - 2], J[$]) + break + case 41: + ge.addMembers(J[$ - 3], J[$ - 1]) + break + case 42: + ge.setCssClass(J[$ - 5], J[$ - 3]), ge.addMembers(J[$ - 5], J[$ - 1]) + break + case 43: + ;(this.$ = J[$]), ge.addClass(J[$]) + break + case 44: + ;(this.$ = J[$ - 1]), ge.addClass(J[$ - 1]), ge.setClassLabel(J[$ - 1], J[$]) + break + case 45: + ge.addAnnotation(J[$], J[$ - 2]) + break + case 46: + case 59: + this.$ = [J[$]] + break + case 47: + J[$].push(J[$ - 1]), (this.$ = J[$]) + break + case 48: + break + case 49: + ge.addMember(J[$ - 1], ge.cleanupLabel(J[$])) + break + case 50: + break + case 51: + break + case 52: + this.$ = { + id1: J[$ - 2], + id2: J[$], + relation: J[$ - 1], + relationTitle1: "none", + relationTitle2: "none", + } + break + case 53: + this.$ = { + id1: J[$ - 3], + id2: J[$], + relation: J[$ - 1], + relationTitle1: J[$ - 2], + relationTitle2: "none", + } + break + case 54: + this.$ = { + id1: J[$ - 3], + id2: J[$], + relation: J[$ - 2], + relationTitle1: "none", + relationTitle2: J[$ - 1], + } + break + case 55: + this.$ = { + id1: J[$ - 4], + id2: J[$], + relation: J[$ - 2], + relationTitle1: J[$ - 3], + relationTitle2: J[$ - 1], + } + break + case 56: + ge.addNote(J[$], J[$ - 1]) + break + case 57: + ge.addNote(J[$]) + break + case 58: + ;(this.$ = J[$ - 2]), ge.defineClass(J[$ - 1], J[$]) + break + case 60: + this.$ = J[$ - 2].concat([J[$]]) + break + case 61: + ge.setDirection("TB") + break + case 62: + ge.setDirection("BT") + break + case 63: + ge.setDirection("RL") + break + case 64: + ge.setDirection("LR") + break + case 65: + this.$ = { type1: J[$ - 2], type2: J[$], lineType: J[$ - 1] } + break + case 66: + this.$ = { type1: "none", type2: J[$], lineType: J[$ - 1] } + break + case 67: + this.$ = { type1: J[$ - 1], type2: "none", lineType: J[$] } + break + case 68: + this.$ = { type1: "none", type2: "none", lineType: J[$] } + break + case 69: + this.$ = ge.relationType.AGGREGATION + break + case 70: + this.$ = ge.relationType.EXTENSION + break + case 71: + this.$ = ge.relationType.COMPOSITION + break + case 72: + this.$ = ge.relationType.DEPENDENCY + break + case 73: + this.$ = ge.relationType.LOLLIPOP + break + case 74: + this.$ = ge.lineType.LINE + break + case 75: + this.$ = ge.lineType.DOTTED_LINE + break + case 76: + case 82: + ;(this.$ = J[$ - 2]), ge.setClickEvent(J[$ - 1], J[$]) + break + case 77: + case 83: + ;(this.$ = J[$ - 3]), ge.setClickEvent(J[$ - 2], J[$ - 1]), ge.setTooltip(J[$ - 2], J[$]) + break + case 78: + ;(this.$ = J[$ - 2]), ge.setLink(J[$ - 1], J[$]) + break + case 79: + ;(this.$ = J[$ - 3]), ge.setLink(J[$ - 2], J[$ - 1], J[$]) + break + case 80: + ;(this.$ = J[$ - 3]), ge.setLink(J[$ - 2], J[$ - 1]), ge.setTooltip(J[$ - 2], J[$]) + break + case 81: + ;(this.$ = J[$ - 4]), ge.setLink(J[$ - 3], J[$ - 2], J[$]), ge.setTooltip(J[$ - 3], J[$ - 1]) + break + case 84: + ;(this.$ = J[$ - 3]), ge.setClickEvent(J[$ - 2], J[$ - 1], J[$]) + break + case 85: + ;(this.$ = J[$ - 4]), + ge.setClickEvent(J[$ - 3], J[$ - 2], J[$ - 1]), + ge.setTooltip(J[$ - 3], J[$]) + break + case 86: + ;(this.$ = J[$ - 3]), ge.setLink(J[$ - 2], J[$]) + break + case 87: + ;(this.$ = J[$ - 4]), ge.setLink(J[$ - 3], J[$ - 1], J[$]) + break + case 88: + ;(this.$ = J[$ - 4]), ge.setLink(J[$ - 3], J[$ - 1]), ge.setTooltip(J[$ - 3], J[$]) + break + case 89: + ;(this.$ = J[$ - 5]), ge.setLink(J[$ - 4], J[$ - 2], J[$]), ge.setTooltip(J[$ - 4], J[$ - 1]) + break + case 90: + ;(this.$ = J[$ - 2]), ge.setCssStyle(J[$ - 1], J[$]) + break + case 91: + ge.setCssClass(J[$ - 1], J[$]) + break + case 92: + this.$ = [J[$]] + break + case 93: + J[$ - 2].push(J[$]), (this.$ = J[$ - 2]) + break + case 95: + this.$ = J[$ - 1] + J[$] + break + } + }, "anonymous"), + table: [ + { + 3: 1, + 4: 2, + 5: 3, + 6: 4, + 7: [1, 6], + 10: 5, + 16: 39, + 18: 21, + 19: 40, + 21: 7, + 23: 8, + 24: 9, + 25: 10, + 26: 11, + 27: 12, + 28: 13, + 29: 14, + 30: 15, + 31: 16, + 32: 17, + 33: e, + 35: r, + 37: n, + 38: 22, + 42: i, + 43: 23, + 46: a, + 47: s, + 49: o, + 50: l, + 52: u, + 54: h, + 55: d, + 58: f, + 60: p, + 61: g, + 62: m, + 63: v, + 73: y, + 74: b, + 76: w, + 80: T, + 81: E, + 84: S, + 99: k, + 101: L, + 102: A, + }, + { 1: [3] }, + { 1: [2, 1] }, + { 1: [2, 2] }, + { 1: [2, 3] }, + t(R, [2, 5], { 8: [1, 48] }), + { 8: [1, 49] }, + t(C, [2, 18], { 22: [1, 50] }), + t(C, [2, 20]), + t(C, [2, 21]), + t(C, [2, 22]), + t(C, [2, 23]), + t(C, [2, 24]), + t(C, [2, 25]), + t(C, [2, 26]), + t(C, [2, 27]), + t(C, [2, 28]), + t(C, [2, 29]), + { 34: [1, 51] }, + { 36: [1, 52] }, + t(C, [2, 32]), + t(C, [2, 48], { + 51: 53, + 64: 56, + 65: 57, + 13: [1, 54], + 22: [1, 55], + 66: I, + 67: P, + 68: _, + 69: N, + 70: M, + 71: O, + 72: D, + }), + { 39: [1, 65] }, + t(B, [2, 39], { 39: [1, 67], 44: [1, 66] }), + t(C, [2, 50]), + t(C, [2, 51]), + { 16: 68, 58: f, 84: S, 99: k, 101: L }, + { 16: 39, 18: 69, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + { 16: 39, 18: 70, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + { 16: 39, 18: 71, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + { 58: [1, 72] }, + { 13: [1, 73] }, + { 16: 39, 18: 74, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + { 13: z, 53: 75 }, + { 56: 77, 58: [1, 78] }, + t(C, [2, 61]), + t(C, [2, 62]), + t(C, [2, 63]), + t(C, [2, 64]), + t(F, [2, 12], { + 16: 39, + 19: 40, + 18: 80, + 17: [1, 79], + 20: [1, 81], + 58: f, + 84: S, + 99: k, + 101: L, + 102: A, + }), + t(F, [2, 14], { 20: [1, 82] }), + { 15: 83, 16: 84, 58: f, 84: S, 99: k, 101: L }, + { 16: 39, 18: 85, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + t(G, [2, 118]), + t(G, [2, 119]), + t(G, [2, 120]), + t(G, [2, 121]), + t([1, 8, 9, 12, 13, 20, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], [2, 122]), + t(R, [2, 6], { + 10: 5, + 21: 7, + 23: 8, + 24: 9, + 25: 10, + 26: 11, + 27: 12, + 28: 13, + 29: 14, + 30: 15, + 31: 16, + 32: 17, + 18: 21, + 38: 22, + 43: 23, + 16: 39, + 19: 40, + 5: 86, + 33: e, + 35: r, + 37: n, + 42: i, + 46: a, + 47: s, + 49: o, + 50: l, + 52: u, + 54: h, + 55: d, + 58: f, + 60: p, + 61: g, + 62: m, + 63: v, + 73: y, + 74: b, + 76: w, + 80: T, + 81: E, + 84: S, + 99: k, + 101: L, + 102: A, + }), + { + 5: 87, + 10: 5, + 16: 39, + 18: 21, + 19: 40, + 21: 7, + 23: 8, + 24: 9, + 25: 10, + 26: 11, + 27: 12, + 28: 13, + 29: 14, + 30: 15, + 31: 16, + 32: 17, + 33: e, + 35: r, + 37: n, + 38: 22, + 42: i, + 43: 23, + 46: a, + 47: s, + 49: o, + 50: l, + 52: u, + 54: h, + 55: d, + 58: f, + 60: p, + 61: g, + 62: m, + 63: v, + 73: y, + 74: b, + 76: w, + 80: T, + 81: E, + 84: S, + 99: k, + 101: L, + 102: A, + }, + t(C, [2, 19]), + t(C, [2, 30]), + t(C, [2, 31]), + { 13: [1, 89], 16: 39, 18: 88, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + { 51: 90, 64: 56, 65: 57, 66: I, 67: P, 68: _, 69: N, 70: M, 71: O, 72: D }, + t(C, [2, 49]), + { 65: 91, 71: O, 72: D }, + t(q, [2, 68], { 64: 92, 66: I, 67: P, 68: _, 69: N, 70: M }), + t(Y, [2, 69]), + t(Y, [2, 70]), + t(Y, [2, 71]), + t(Y, [2, 72]), + t(Y, [2, 73]), + t(ee, [2, 74]), + t(ee, [2, 75]), + { 8: [1, 94], 24: 95, 40: 93, 43: 23, 46: a }, + { 16: 96, 58: f, 84: S, 99: k, 101: L }, + { 45: 97, 49: Q }, + { 48: [1, 99] }, + { 13: [1, 100] }, + { 13: [1, 101] }, + { 77: [1, 102], 79: [1, 103] }, + { 22: oe, 57: 104, 58: pe, 80: j, 82: 105, 83: 106, 84: H, 85: X, 86: W, 87: K, 88: ne, 89: Z }, + { 58: [1, 116] }, + { 13: z, 53: 117 }, + t(C, [2, 57]), + t(C, [2, 123]), + { + 22: oe, + 57: 118, + 58: pe, + 59: [1, 119], + 80: j, + 82: 105, + 83: 106, + 84: H, + 85: X, + 86: W, + 87: K, + 88: ne, + 89: Z, + }, + t(be, [2, 59]), + { 16: 39, 18: 120, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + t(F, [2, 15]), + t(F, [2, 16]), + t(F, [2, 17]), + { 39: [2, 35] }, + { 15: 122, 16: 84, 17: [1, 121], 39: [2, 9], 58: f, 84: S, 99: k, 101: L }, + t(ce, [2, 43], { 11: 123, 12: [1, 124] }), + t(R, [2, 7]), + { 9: [1, 125] }, + t(re, [2, 52]), + { 16: 39, 18: 126, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + { 13: [1, 128], 16: 39, 18: 127, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + t(q, [2, 67], { 64: 129, 66: I, 67: P, 68: _, 69: N, 70: M }), + t(q, [2, 66]), + { 41: [1, 130] }, + { 24: 95, 40: 131, 43: 23, 46: a }, + { 8: [1, 132], 41: [2, 36] }, + t(B, [2, 40], { 39: [1, 133] }), + { 41: [1, 134] }, + { 41: [2, 46], 45: 135, 49: Q }, + { 16: 39, 18: 136, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + t(C, [2, 76], { 13: [1, 137] }), + t(C, [2, 78], { 13: [1, 139], 75: [1, 138] }), + t(C, [2, 82], { 13: [1, 140], 78: [1, 141] }), + { 13: [1, 142] }, + t(C, [2, 90], { 59: Ne }), + t(me, [2, 92], { 83: 144, 22: oe, 58: pe, 80: j, 84: H, 85: X, 86: W, 87: K, 88: ne, 89: Z }), + t(Ve, [2, 94]), + t(Ve, [2, 96]), + t(Ve, [2, 97]), + t(Ve, [2, 98]), + t(Ve, [2, 99]), + t(Ve, [2, 100]), + t(Ve, [2, 101]), + t(Ve, [2, 102]), + t(Ve, [2, 103]), + t(Ve, [2, 104]), + t(C, [2, 91]), + t(C, [2, 56]), + t(C, [2, 58], { 59: Ne }), + { 58: [1, 145] }, + t(F, [2, 13]), + { 15: 146, 16: 84, 58: f, 84: S, 99: k, 101: L }, + { 39: [2, 11] }, + t(ce, [2, 44]), + { 13: [1, 147] }, + { 1: [2, 4] }, + t(re, [2, 54]), + t(re, [2, 53]), + { 16: 39, 18: 148, 19: 40, 58: f, 84: S, 99: k, 101: L, 102: A }, + t(q, [2, 65]), + t(C, [2, 33]), + { 41: [1, 149] }, + { 24: 95, 40: 150, 41: [2, 37], 43: 23, 46: a }, + { 45: 151, 49: Q }, + t(B, [2, 41]), + { 41: [2, 47] }, + t(C, [2, 45]), + t(C, [2, 77]), + t(C, [2, 79]), + t(C, [2, 80], { 75: [1, 152] }), + t(C, [2, 83]), + t(C, [2, 84], { 13: [1, 153] }), + t(C, [2, 86], { 13: [1, 155], 75: [1, 154] }), + { 22: oe, 58: pe, 80: j, 82: 156, 83: 106, 84: H, 85: X, 86: W, 87: K, 88: ne, 89: Z }, + t(Ve, [2, 95]), + t(be, [2, 60]), + { 39: [2, 10] }, + { 14: [1, 157] }, + t(re, [2, 55]), + t(C, [2, 34]), + { 41: [2, 38] }, + { 41: [1, 158] }, + t(C, [2, 81]), + t(C, [2, 85]), + t(C, [2, 87]), + t(C, [2, 88], { 75: [1, 159] }), + t(me, [2, 93], { 83: 144, 22: oe, 58: pe, 80: j, 84: H, 85: X, 86: W, 87: K, 88: ne, 89: Z }), + t(ce, [2, 8]), + t(B, [2, 42]), + t(C, [2, 89]), + ], + defaultActions: { + 2: [2, 1], + 3: [2, 2], + 4: [2, 3], + 83: [2, 35], + 122: [2, 11], + 125: [2, 4], + 135: [2, 47], + 146: [2, 10], + 150: [2, 38], + }, + parseError: x(function (Ce, Le) { + if (Le.recoverable) this.trace(Ce) + else { + var ze = new Error(Ce) + throw ((ze.hash = Le), ze) + } + }, "parseError"), + parse: x(function (Ce) { + var Le = this, + ze = [0], + ge = [], + Me = [null], + J = [], + ue = this.table, + $ = "", + se = 0, + ae = 0, + fe = 2, + he = 1, + Te = J.slice.call(arguments, 1), + ke = Object.create(this.lexer), + Ee = { yy: {} } + for (var Ge in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Ge) && (Ee.yy[Ge] = this.yy[Ge]) + ke.setInput(Ce, Ee.yy), + (Ee.yy.lexer = ke), + (Ee.yy.parser = this), + typeof ke.yylloc > "u" && (ke.yylloc = {}) + var Je = ke.yylloc + J.push(Je) + var We = ke.options && ke.options.ranges + typeof Ee.yy.parseError == "function" + ? (this.parseError = Ee.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function Xe(ut) { + ;(ze.length = ze.length - 2 * ut), (Me.length = Me.length - ut), (J.length = J.length - ut) + } + x(Xe, "popStack") + function Ke() { + var ut + return ( + (ut = ge.pop() || ke.lex() || he), + typeof ut != "number" && + (ut instanceof Array && ((ge = ut), (ut = ge.pop())), (ut = Le.symbols_[ut] || ut)), + ut + ) + } + x(Ke, "lex") + for (var $e, je, lt, st, qe = {}, wt, Ye, Ze, dt; ; ) { + if ( + ((je = ze[ze.length - 1]), + this.defaultActions[je] + ? (lt = this.defaultActions[je]) + : (($e === null || typeof $e > "u") && ($e = Ke()), (lt = ue[je] && ue[je][$e])), + typeof lt > "u" || !lt.length || !lt[0]) + ) { + var ct = "" + dt = [] + for (wt in ue[je]) this.terminals_[wt] && wt > fe && dt.push("'" + this.terminals_[wt] + "'") + ke.showPosition + ? (ct = + "Parse error on line " + + (se + 1) + + `: +` + + ke.showPosition() + + ` +Expecting ` + + dt.join(", ") + + ", got '" + + (this.terminals_[$e] || $e) + + "'") + : (ct = + "Parse error on line " + + (se + 1) + + ": Unexpected " + + ($e == he ? "end of input" : "'" + (this.terminals_[$e] || $e) + "'")), + this.parseError(ct, { + text: ke.match, + token: this.terminals_[$e] || $e, + line: ke.yylineno, + loc: Je, + expected: dt, + }) + } + if (lt[0] instanceof Array && lt.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + je + ", token: " + $e) + switch (lt[0]) { + case 1: + ze.push($e), + Me.push(ke.yytext), + J.push(ke.yylloc), + ze.push(lt[1]), + ($e = null), + (ae = ke.yyleng), + ($ = ke.yytext), + (se = ke.yylineno), + (Je = ke.yylloc) + break + case 2: + if ( + ((Ye = this.productions_[lt[1]][1]), + (qe.$ = Me[Me.length - Ye]), + (qe._$ = { + first_line: J[J.length - (Ye || 1)].first_line, + last_line: J[J.length - 1].last_line, + first_column: J[J.length - (Ye || 1)].first_column, + last_column: J[J.length - 1].last_column, + }), + We && (qe._$.range = [J[J.length - (Ye || 1)].range[0], J[J.length - 1].range[1]]), + (st = this.performAction.apply(qe, [$, ae, se, Ee.yy, lt[1], Me, J].concat(Te))), + typeof st < "u") + ) + return st + Ye && + ((ze = ze.slice(0, -1 * Ye * 2)), + (Me = Me.slice(0, -1 * Ye)), + (J = J.slice(0, -1 * Ye))), + ze.push(this.productions_[lt[1]][0]), + Me.push(qe.$), + J.push(qe._$), + (Ze = ue[ze[ze.length - 2]][ze[ze.length - 1]]), + ze.push(Ze) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + Fe = (function () { + var Oe = { + EOF: 1, + parseError: x(function (Le, ze) { + if (this.yy.parser) this.yy.parser.parseError(Le, ze) + else throw new Error(Le) + }, "parseError"), + setInput: x(function (Ce, Le) { + return ( + (this.yy = Le || this.yy || {}), + (this._input = Ce), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var Ce = this._input[0] + ;(this.yytext += Ce), this.yyleng++, this.offset++, (this.match += Ce), (this.matched += Ce) + var Le = Ce.match(/(?:\r\n?|\n).*/g) + return ( + Le ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + Ce + ) + }, "input"), + unput: x(function (Ce) { + var Le = Ce.length, + ze = Ce.split(/(?:\r\n?|\n)/g) + ;(this._input = Ce + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - Le)), + (this.offset -= Le) + var ge = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + ze.length - 1 && (this.yylineno -= ze.length - 1) + var Me = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: ze + ? (ze.length === ge.length ? this.yylloc.first_column : 0) + + ge[ge.length - ze.length].length - + ze[0].length + : this.yylloc.first_column - Le, + }), + this.options.ranges && (this.yylloc.range = [Me[0], Me[0] + this.yyleng - Le]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (Ce) { + this.unput(this.match.slice(Ce)) + }, "less"), + pastInput: x(function () { + var Ce = this.matched.substr(0, this.matched.length - this.match.length) + return (Ce.length > 20 ? "..." : "") + Ce.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var Ce = this.match + return ( + Ce.length < 20 && (Ce += this._input.substr(0, 20 - Ce.length)), + (Ce.substr(0, 20) + (Ce.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var Ce = this.pastInput(), + Le = new Array(Ce.length + 1).join("-") + return ( + Ce + + this.upcomingInput() + + ` +` + + Le + + "^" + ) + }, "showPosition"), + test_match: x(function (Ce, Le) { + var ze, ge, Me + if ( + (this.options.backtrack_lexer && + ((Me = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (Me.yylloc.range = this.yylloc.range.slice(0))), + (ge = Ce[0].match(/(?:\r\n?|\n).*/g)), + ge && (this.yylineno += ge.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: ge + ? ge[ge.length - 1].length - ge[ge.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + Ce[0].length, + }), + (this.yytext += Ce[0]), + (this.match += Ce[0]), + (this.matches = Ce), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(Ce[0].length)), + (this.matched += Ce[0]), + (ze = this.performAction.call( + this, + this.yy, + this, + Le, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + ze) + ) + return ze + if (this._backtrack) { + for (var J in Me) this[J] = Me[J] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var Ce, Le, ze, ge + this._more || ((this.yytext = ""), (this.match = "")) + for (var Me = this._currentRules(), J = 0; J < Me.length; J++) + if (((ze = this._input.match(this.rules[Me[J]])), ze && (!Le || ze[0].length > Le[0].length))) { + if (((Le = ze), (ge = J), this.options.backtrack_lexer)) { + if (((Ce = this.test_match(ze, Me[J])), Ce !== !1)) return Ce + if (this._backtrack) { + Le = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return Le + ? ((Ce = this.test_match(Le, Me[ge])), Ce !== !1 ? Ce : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var Le = this.next() + return Le || this.lex() + }, "lex"), + begin: x(function (Le) { + this.conditionStack.push(Le) + }, "begin"), + popState: x(function () { + var Le = this.conditionStack.length - 1 + return Le > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (Le) { + return ( + (Le = this.conditionStack.length - 1 - Math.abs(Le || 0)), + Le >= 0 ? this.conditionStack[Le] : "INITIAL" + ) + }, "topState"), + pushState: x(function (Le) { + this.begin(Le) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: {}, + performAction: x(function (Le, ze, ge, Me) { + switch (ge) { + case 0: + return 60 + case 1: + return 61 + case 2: + return 62 + case 3: + return 63 + case 4: + break + case 5: + break + case 6: + return this.begin("acc_title"), 33 + case 7: + return this.popState(), "acc_title_value" + case 8: + return this.begin("acc_descr"), 35 + case 9: + return this.popState(), "acc_descr_value" + case 10: + this.begin("acc_descr_multiline") + break + case 11: + this.popState() + break + case 12: + return "acc_descr_multiline_value" + case 13: + return 8 + case 14: + break + case 15: + return 7 + case 16: + return 7 + case 17: + return "EDGE_STATE" + case 18: + this.begin("callback_name") + break + case 19: + this.popState() + break + case 20: + this.popState(), this.begin("callback_args") + break + case 21: + return 77 + case 22: + this.popState() + break + case 23: + return 78 + case 24: + this.popState() + break + case 25: + return "STR" + case 26: + this.begin("string") + break + case 27: + return 80 + case 28: + return 55 + case 29: + return this.begin("namespace"), 42 + case 30: + return this.popState(), 8 + case 31: + break + case 32: + return this.begin("namespace-body"), 39 + case 33: + return this.popState(), 41 + case 34: + return "EOF_IN_STRUCT" + case 35: + return 8 + case 36: + break + case 37: + return "EDGE_STATE" + case 38: + return this.begin("class"), 46 + case 39: + return this.popState(), 8 + case 40: + break + case 41: + return this.popState(), this.popState(), 41 + case 42: + return this.begin("class-body"), 39 + case 43: + return this.popState(), 41 + case 44: + return "EOF_IN_STRUCT" + case 45: + return "EDGE_STATE" + case 46: + return "OPEN_IN_STRUCT" + case 47: + break + case 48: + return "MEMBER" + case 49: + return 81 + case 50: + return 73 + case 51: + return 74 + case 52: + return 76 + case 53: + return 52 + case 54: + return 54 + case 55: + return 47 + case 56: + return 48 + case 57: + return 79 + case 58: + this.popState() + break + case 59: + return "GENERICTYPE" + case 60: + this.begin("generic") + break + case 61: + this.popState() + break + case 62: + return "BQUOTE_STR" + case 63: + this.begin("bqstring") + break + case 64: + return 75 + case 65: + return 75 + case 66: + return 75 + case 67: + return 75 + case 68: + return 67 + case 69: + return 67 + case 70: + return 69 + case 71: + return 69 + case 72: + return 68 + case 73: + return 66 + case 74: + return 70 + case 75: + return 71 + case 76: + return 72 + case 77: + return 22 + case 78: + return 44 + case 79: + return 99 + case 80: + return 17 + case 81: + return "PLUS" + case 82: + return 85 + case 83: + return 59 + case 84: + return 88 + case 85: + return 88 + case 86: + return 89 + case 87: + return "EQUALS" + case 88: + return "EQUALS" + case 89: + return 58 + case 90: + return 12 + case 91: + return 14 + case 92: + return "PUNCTUATION" + case 93: + return 84 + case 94: + return 101 + case 95: + return 87 + case 96: + return 87 + case 97: + return 9 + } + }, "anonymous"), + rules: [ + /^(?:.*direction\s+TB[^\n]*)/, + /^(?:.*direction\s+BT[^\n]*)/, + /^(?:.*direction\s+RL[^\n]*)/, + /^(?:.*direction\s+LR[^\n]*)/, + /^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/, + /^(?:%%[^\n]*(\r?\n)*)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:classDiagram-v2\b)/, + /^(?:classDiagram\b)/, + /^(?:\[\*\])/, + /^(?:call[\s]+)/, + /^(?:\([\s]*\))/, + /^(?:\()/, + /^(?:[^(]*)/, + /^(?:\))/, + /^(?:[^)]*)/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:["])/, + /^(?:style\b)/, + /^(?:classDef\b)/, + /^(?:namespace\b)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:$)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:\[\*\])/, + /^(?:class\b)/, + /^(?:\s*(\r?\n)+)/, + /^(?:\s+)/, + /^(?:[}])/, + /^(?:[{])/, + /^(?:[}])/, + /^(?:$)/, + /^(?:\[\*\])/, + /^(?:[{])/, + /^(?:[\n])/, + /^(?:[^{}\n]*)/, + /^(?:cssClass\b)/, + /^(?:callback\b)/, + /^(?:link\b)/, + /^(?:click\b)/, + /^(?:note for\b)/, + /^(?:note\b)/, + /^(?:<<)/, + /^(?:>>)/, + /^(?:href\b)/, + /^(?:[~])/, + /^(?:[^~]*)/, + /^(?:~)/, + /^(?:[`])/, + /^(?:[^`]+)/, + /^(?:[`])/, + /^(?:_self\b)/, + /^(?:_blank\b)/, + /^(?:_parent\b)/, + /^(?:_top\b)/, + /^(?:\s*<\|)/, + /^(?:\s*\|>)/, + /^(?:\s*>)/, + /^(?:\s*<)/, + /^(?:\s*\*)/, + /^(?:\s*o\b)/, + /^(?:\s*\(\))/, + /^(?:--)/, + /^(?:\.\.)/, + /^(?::{1}[^:\n;]+)/, + /^(?::{3})/, + /^(?:-)/, + /^(?:\.)/, + /^(?:\+)/, + /^(?::)/, + /^(?:,)/, + /^(?:#)/, + /^(?:#)/, + /^(?:%)/, + /^(?:=)/, + /^(?:=)/, + /^(?:\w+)/, + /^(?:\[)/, + /^(?:\])/, + /^(?:[!"#$%&'*+,-.`?\\/])/, + /^(?:[0-9]+)/, + /^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/, + /^(?:\s)/, + /^(?:\s)/, + /^(?:$)/, + ], + conditions: { + "namespace-body": { + rules: [ + 26, 33, 34, 35, 36, 37, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 97, + ], + inclusive: !1, + }, + namespace: { + rules: [ + 26, 29, 30, 31, 32, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + "class-body": { + rules: [ + 26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 97, + ], + inclusive: !1, + }, + class: { + rules: [ + 26, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + acc_descr_multiline: { + rules: [ + 11, 12, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + acc_descr: { + rules: [ + 9, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + acc_title: { + rules: [ + 7, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + callback_args: { + rules: [ + 22, 23, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + callback_name: { + rules: [ + 19, 20, 21, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + href: { + rules: [ + 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + struct: { + rules: [ + 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + generic: { + rules: [ + 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + bqstring: { + rules: [ + 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + string: { + rules: [ + 24, 25, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, + ], + inclusive: !1, + }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 29, 38, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + ], + inclusive: !0, + }, + }, + } + return Oe + })() + Ue.lexer = Fe + function _e() { + this.yy = {} + } + return x(_e, "Parser"), (_e.prototype = Ue), (Ue.Parser = _e), new _e() +})() +w6.parser = w6 +var SU = w6, + p9 = ["#", "+", "~", "-", ""], + pd, + g9 = + ((pd = class { + constructor(e, r) { + ;(this.memberType = r), (this.visibility = ""), (this.classifier = ""), (this.text = "") + const n = Pr(e, we()) + this.parseMember(n) + } + getDisplayDetails() { + let e = this.visibility + dl(this.id) + this.memberType === "method" && + ((e += `(${dl(this.parameters.trim())})`), this.returnType && (e += " : " + dl(this.returnType))), + (e = e.trim()) + const r = this.parseClassifier() + return { displayText: e, cssStyle: r } + } + parseMember(e) { + let r = "" + if (this.memberType === "method") { + const a = /([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e) + if (a) { + const s = a[1] ? a[1].trim() : "" + if ( + (p9.includes(s) && (this.visibility = s), + (this.id = a[2]), + (this.parameters = a[3] ? a[3].trim() : ""), + (r = a[4] ? a[4].trim() : ""), + (this.returnType = a[5] ? a[5].trim() : ""), + r === "") + ) { + const o = this.returnType.substring(this.returnType.length - 1) + ;/[$*]/.exec(o) && + ((r = o), (this.returnType = this.returnType.substring(0, this.returnType.length - 1))) + } + } + } else { + const i = e.length, + a = e.substring(0, 1), + s = e.substring(i - 1) + p9.includes(a) && (this.visibility = a), + /[$*]/.exec(s) && (r = s), + (this.id = e.substring(this.visibility === "" ? 0 : 1, r === "" ? i : i - 1)) + } + ;(this.classifier = r), (this.id = this.id.startsWith(" ") ? " " + this.id.trim() : this.id.trim()) + const n = `${this.visibility ? "\\" + this.visibility : ""}${dl(this.id)}${this.memberType === "method" ? `(${dl(this.parameters)})${this.returnType ? " : " + dl(this.returnType) : ""}` : ""}` + ;(this.text = n.replaceAll("<", "<").replaceAll(">", ">")), + this.text.startsWith("\\<") && (this.text = this.text.replace("\\<", "~")) + } + parseClassifier() { + switch (this.classifier) { + case "*": + return "font-style:italic;" + case "$": + return "text-decoration:underline;" + default: + return "" + } + } + }), + x(pd, "ClassMember"), + pd), + q1 = "classId-", + m9 = 0, + fc = x((t) => it.sanitizeText(t, we()), "sanitizeText"), + gd, + CU = + ((gd = class { + constructor() { + ;(this.relations = []), + (this.classes = new Map()), + (this.styleClasses = new Map()), + (this.notes = []), + (this.interfaces = []), + (this.namespaces = new Map()), + (this.namespaceCounter = 0), + (this.functions = []), + (this.lineType = { LINE: 0, DOTTED_LINE: 1 }), + (this.relationType = { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3, LOLLIPOP: 4 }), + (this.setupToolTips = x((e) => { + let r = rt(".mermaidTooltip") + ;(r._groups || r)[0][0] === null && + (r = rt("body").append("div").attr("class", "mermaidTooltip").style("opacity", 0)), + rt(e) + .select("svg") + .selectAll("g.node") + .on("mouseover", (a) => { + const s = rt(a.currentTarget) + if (s.attr("title") === null) return + const l = this.getBoundingClientRect() + r.transition().duration(200).style("opacity", ".9"), + r + .text(s.attr("title")) + .style("left", window.scrollX + l.left + (l.right - l.left) / 2 + "px") + .style("top", window.scrollY + l.top - 14 + document.body.scrollTop + "px"), + r.html(r.html().replace(/<br\/>/g, "<br/>")), + s.classed("hover", !0) + }) + .on("mouseout", (a) => { + r.transition().duration(500).style("opacity", 0), + rt(a.currentTarget).classed("hover", !1) + }) + }, "setupToolTips")), + (this.direction = "TB"), + (this.setAccTitle = $n), + (this.getAccTitle = Zn), + (this.setAccDescription = Qn), + (this.getAccDescription = Jn), + (this.setDiagramTitle = fi), + (this.getDiagramTitle = Un), + (this.getConfig = x(() => we().class, "getConfig")), + this.functions.push(this.setupToolTips.bind(this)), + this.clear(), + (this.addRelation = this.addRelation.bind(this)), + (this.addClassesToNamespace = this.addClassesToNamespace.bind(this)), + (this.addNamespace = this.addNamespace.bind(this)), + (this.setCssClass = this.setCssClass.bind(this)), + (this.addMembers = this.addMembers.bind(this)), + (this.addClass = this.addClass.bind(this)), + (this.setClassLabel = this.setClassLabel.bind(this)), + (this.addAnnotation = this.addAnnotation.bind(this)), + (this.addMember = this.addMember.bind(this)), + (this.cleanupLabel = this.cleanupLabel.bind(this)), + (this.addNote = this.addNote.bind(this)), + (this.defineClass = this.defineClass.bind(this)), + (this.setDirection = this.setDirection.bind(this)), + (this.setLink = this.setLink.bind(this)), + (this.bindFunctions = this.bindFunctions.bind(this)), + (this.clear = this.clear.bind(this)), + (this.setTooltip = this.setTooltip.bind(this)), + (this.setClickEvent = this.setClickEvent.bind(this)), + (this.setCssStyle = this.setCssStyle.bind(this)) + } + splitClassNameAndType(e) { + const r = it.sanitizeText(e, we()) + let n = "", + i = r + if (r.indexOf("~") > 0) { + const a = r.split("~") + ;(i = fc(a[0])), (n = fc(a[1])) + } + return { className: i, type: n } + } + setClassLabel(e, r) { + const n = it.sanitizeText(e, we()) + r && (r = fc(r)) + const { className: i } = this.splitClassNameAndType(n) + ;(this.classes.get(i).label = r), + (this.classes.get(i).text = + `${r}${this.classes.get(i).type ? `<${this.classes.get(i).type}>` : ""}`) + } + addClass(e) { + const r = it.sanitizeText(e, we()), + { className: n, type: i } = this.splitClassNameAndType(r) + if (this.classes.has(n)) return + const a = it.sanitizeText(n, we()) + this.classes.set(a, { + id: a, + type: i, + label: a, + text: `${a}${i ? `<${i}>` : ""}`, + shape: "classBox", + cssClasses: "default", + methods: [], + members: [], + annotations: [], + styles: [], + domId: q1 + a + "-" + m9, + }), + m9++ + } + addInterface(e, r) { + const n = { id: `interface${this.interfaces.length}`, label: e, classId: r } + this.interfaces.push(n) + } + lookUpDomId(e) { + const r = it.sanitizeText(e, we()) + if (this.classes.has(r)) return this.classes.get(r).domId + throw new Error("Class not found: " + r) + } + clear() { + ;(this.relations = []), + (this.classes = new Map()), + (this.notes = []), + (this.interfaces = []), + (this.functions = []), + this.functions.push(this.setupToolTips.bind(this)), + (this.namespaces = new Map()), + (this.namespaceCounter = 0), + (this.direction = "TB"), + Gn() + } + getClass(e) { + return this.classes.get(e) + } + getClasses() { + return this.classes + } + getRelations() { + return this.relations + } + getNotes() { + return this.notes + } + addRelation(e) { + ie.debug("Adding relation: " + JSON.stringify(e)) + const r = [ + this.relationType.LOLLIPOP, + this.relationType.AGGREGATION, + this.relationType.COMPOSITION, + this.relationType.DEPENDENCY, + this.relationType.EXTENSION, + ] + e.relation.type1 === this.relationType.LOLLIPOP && !r.includes(e.relation.type2) + ? (this.addClass(e.id2), + this.addInterface(e.id1, e.id2), + (e.id1 = `interface${this.interfaces.length - 1}`)) + : e.relation.type2 === this.relationType.LOLLIPOP && !r.includes(e.relation.type1) + ? (this.addClass(e.id1), + this.addInterface(e.id2, e.id1), + (e.id2 = `interface${this.interfaces.length - 1}`)) + : (this.addClass(e.id1), this.addClass(e.id2)), + (e.id1 = this.splitClassNameAndType(e.id1).className), + (e.id2 = this.splitClassNameAndType(e.id2).className), + (e.relationTitle1 = it.sanitizeText(e.relationTitle1.trim(), we())), + (e.relationTitle2 = it.sanitizeText(e.relationTitle2.trim(), we())), + this.relations.push(e) + } + addAnnotation(e, r) { + const n = this.splitClassNameAndType(e).className + this.classes.get(n).annotations.push(r) + } + addMember(e, r) { + this.addClass(e) + const n = this.splitClassNameAndType(e).className, + i = this.classes.get(n) + if (typeof r == "string") { + const a = r.trim() + a.startsWith("<<") && a.endsWith(">>") + ? i.annotations.push(fc(a.substring(2, a.length - 2))) + : a.indexOf(")") > 0 + ? i.methods.push(new g9(a, "method")) + : a && i.members.push(new g9(a, "attribute")) + } + } + addMembers(e, r) { + Array.isArray(r) && (r.reverse(), r.forEach((n) => this.addMember(e, n))) + } + addNote(e, r) { + const n = { id: `note${this.notes.length}`, class: r, text: e } + this.notes.push(n) + } + cleanupLabel(e) { + return e.startsWith(":") && (e = e.substring(1)), fc(e.trim()) + } + setCssClass(e, r) { + e.split(",").forEach((n) => { + let i = n + ;/\d/.exec(n[0]) && (i = q1 + i) + const a = this.classes.get(i) + a && (a.cssClasses += " " + r) + }) + } + defineClass(e, r) { + for (const n of e) { + let i = this.styleClasses.get(n) + i === void 0 && ((i = { id: n, styles: [], textStyles: [] }), this.styleClasses.set(n, i)), + r && + r.forEach((a) => { + if (/color/.exec(a)) { + const s = a.replace("fill", "bgFill") + i.textStyles.push(s) + } + i.styles.push(a) + }), + this.classes.forEach((a) => { + a.cssClasses.includes(n) && a.styles.push(...r.flatMap((s) => s.split(","))) + }) + } + } + setTooltip(e, r) { + e.split(",").forEach((n) => { + r !== void 0 && (this.classes.get(n).tooltip = fc(r)) + }) + } + getTooltip(e, r) { + return r && this.namespaces.has(r) + ? this.namespaces.get(r).classes.get(e).tooltip + : this.classes.get(e).tooltip + } + setLink(e, r, n) { + const i = we() + e.split(",").forEach((a) => { + let s = a + ;/\d/.exec(a[0]) && (s = q1 + s) + const o = this.classes.get(s) + o && + ((o.link = Zt.formatUrl(r, i)), + i.securityLevel === "sandbox" + ? (o.linkTarget = "_top") + : typeof n == "string" + ? (o.linkTarget = fc(n)) + : (o.linkTarget = "_blank")) + }), + this.setCssClass(e, "clickable") + } + setClickEvent(e, r, n) { + e.split(",").forEach((i) => { + this.setClickFunc(i, r, n), (this.classes.get(i).haveCallback = !0) + }), + this.setCssClass(e, "clickable") + } + setClickFunc(e, r, n) { + const i = it.sanitizeText(e, we()) + if (we().securityLevel !== "loose" || r === void 0) return + const s = i + if (this.classes.has(s)) { + const o = this.lookUpDomId(s) + let l = [] + if (typeof n == "string") { + l = n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/) + for (let u = 0; u < l.length; u++) { + let h = l[u].trim() + h.startsWith('"') && h.endsWith('"') && (h = h.substr(1, h.length - 2)), (l[u] = h) + } + } + l.length === 0 && l.push(o), + this.functions.push(() => { + const u = document.querySelector(`[id="${o}"]`) + u !== null && + u.addEventListener( + "click", + () => { + Zt.runFunc(r, ...l) + }, + !1, + ) + }) + } + } + bindFunctions(e) { + this.functions.forEach((r) => { + r(e) + }) + } + getDirection() { + return this.direction + } + setDirection(e) { + this.direction = e + } + addNamespace(e) { + this.namespaces.has(e) || + (this.namespaces.set(e, { + id: e, + classes: new Map(), + children: {}, + domId: q1 + e + "-" + this.namespaceCounter, + }), + this.namespaceCounter++) + } + getNamespace(e) { + return this.namespaces.get(e) + } + getNamespaces() { + return this.namespaces + } + addClassesToNamespace(e, r) { + if (this.namespaces.has(e)) + for (const n of r) { + const { className: i } = this.splitClassNameAndType(n) + ;(this.classes.get(i).parent = e), this.namespaces.get(e).classes.set(i, this.classes.get(i)) + } + } + setCssStyle(e, r) { + const n = this.classes.get(e) + if (!(!r || !n)) for (const i of r) i.includes(",") ? n.styles.push(...i.split(",")) : n.styles.push(i) + } + getArrowMarker(e) { + let r + switch (e) { + case 0: + r = "aggregation" + break + case 1: + r = "extension" + break + case 2: + r = "composition" + break + case 3: + r = "dependency" + break + case 4: + r = "lollipop" + break + default: + r = "none" + } + return r + } + getData() { + var a + const e = [], + r = [], + n = we() + for (const s of this.namespaces.keys()) { + const o = this.namespaces.get(s) + if (o) { + const l = { + id: o.id, + label: o.id, + isGroup: !0, + padding: n.class.padding ?? 16, + shape: "rect", + cssStyles: ["fill: none", "stroke: black"], + look: n.look, + } + e.push(l) + } + } + for (const s of this.classes.keys()) { + const o = this.classes.get(s) + if (o) { + const l = o + ;(l.parentId = o.parent), (l.look = n.look), e.push(l) + } + } + let i = 0 + for (const s of this.notes) { + i++ + const o = { + id: s.id, + label: s.text, + isGroup: !1, + shape: "note", + padding: n.class.padding ?? 6, + cssStyles: [ + "text-align: left", + "white-space: nowrap", + `fill: ${n.themeVariables.noteBkgColor}`, + `stroke: ${n.themeVariables.noteBorderColor}`, + ], + look: n.look, + } + e.push(o) + const l = ((a = this.classes.get(s.class)) == null ? void 0 : a.id) ?? "" + if (l) { + const u = { + id: `edgeNote${i}`, + start: s.id, + end: l, + type: "normal", + thickness: "normal", + classes: "relation", + arrowTypeStart: "none", + arrowTypeEnd: "none", + arrowheadStyle: "", + labelStyle: [""], + style: ["fill: none"], + pattern: "dotted", + look: n.look, + } + r.push(u) + } + } + for (const s of this.interfaces) { + const o = { + id: s.id, + label: s.label, + isGroup: !1, + shape: "rect", + cssStyles: ["opacity: 0;"], + look: n.look, + } + e.push(o) + } + i = 0 + for (const s of this.relations) { + i++ + const o = { + id: ip(s.id1, s.id2, { prefix: "id", counter: i }), + start: s.id1, + end: s.id2, + type: "normal", + label: s.title, + labelpos: "c", + thickness: "normal", + classes: "relation", + arrowTypeStart: this.getArrowMarker(s.relation.type1), + arrowTypeEnd: this.getArrowMarker(s.relation.type2), + startLabelRight: s.relationTitle1 === "none" ? "" : s.relationTitle1, + endLabelLeft: s.relationTitle2 === "none" ? "" : s.relationTitle2, + arrowheadStyle: "", + labelStyle: ["display: inline-block"], + style: s.style || "", + pattern: s.relation.lineType == 1 ? "dashed" : "solid", + look: n.look, + } + r.push(o) + } + return { nodes: e, edges: r, other: {}, config: n, direction: this.getDirection() } + } + }), + x(gd, "ClassDB"), + gd), + Qwe = x( + (t) => `g.classGroup text { + fill: ${t.nodeBorder || t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} + +.labelBkg { + background: ${t.mainBkg}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`, + "getStyles", + ), + AU = Qwe, + Jwe = x((t, e = "TB") => { + if (!t.doc) return e + let r = e + for (const n of t.doc) n.stmt === "dir" && (r = n.value) + return r + }, "getDir"), + e6e = x(function (t, e) { + return e.db.getClasses() + }, "getClasses"), + t6e = x(async function (t, e, r, n) { + ie.info("REF0:"), ie.info("Drawing class diagram (v3)", e) + const { securityLevel: i, state: a, layout: s } = we(), + o = n.db.getData(), + l = Ag(e, i) + ;(o.type = n.type), + (o.layoutAlgorithm = X2(s)), + (o.nodeSpacing = (a == null ? void 0 : a.nodeSpacing) || 50), + (o.rankSpacing = (a == null ? void 0 : a.rankSpacing) || 50), + (o.markers = ["aggregation", "extension", "composition", "dependency", "lollipop"]), + (o.diagramId = e), + await Tg(o, l) + const u = 8 + Zt.insertTitle( + l, + "classDiagramTitleText", + (a == null ? void 0 : a.titleTopMargin) ?? 25, + n.db.getDiagramTitle(), + ), + _g(l, u, "classDiagram", (a == null ? void 0 : a.useMaxWidth) ?? !0) + }, "draw"), + _U = { getClasses: e6e, draw: t6e, getDir: Jwe }, + r6e = { + parser: SU, + get db() { + return new CU() + }, + renderer: _U, + styles: AU, + init: x((t) => { + t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute) + }, "init"), + } +const n6e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: r6e }, Symbol.toStringTag, { value: "Module" }), +) +var i6e = { + parser: SU, + get db() { + return new CU() + }, + renderer: _U, + styles: AU, + init: x((t) => { + t.class || (t.class = {}), (t.class.arrowMarkerAbsolute = t.arrowMarkerAbsolute) + }, "init"), +} +const a6e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: i6e }, Symbol.toStringTag, { value: "Module" }), +) +var T6 = (function () { + var t = x(function (D, B, z, F) { + for (z = z || {}, F = D.length; F--; z[D[F]] = B); + return z + }, "o"), + e = [1, 2], + r = [1, 3], + n = [1, 4], + i = [2, 4], + a = [1, 9], + s = [1, 11], + o = [1, 16], + l = [1, 17], + u = [1, 18], + h = [1, 19], + d = [1, 32], + f = [1, 20], + p = [1, 21], + g = [1, 22], + m = [1, 23], + v = [1, 24], + y = [1, 26], + b = [1, 27], + w = [1, 28], + T = [1, 29], + E = [1, 30], + S = [1, 31], + k = [1, 34], + L = [1, 35], + A = [1, 36], + R = [1, 37], + C = [1, 33], + I = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], + P = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], + _ = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], + N = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + SPACE: 4, + NL: 5, + SD: 6, + document: 7, + line: 8, + statement: 9, + classDefStatement: 10, + styleStatement: 11, + cssClassStatement: 12, + idStatement: 13, + DESCR: 14, + "-->": 15, + HIDE_EMPTY: 16, + scale: 17, + WIDTH: 18, + COMPOSIT_STATE: 19, + STRUCT_START: 20, + STRUCT_STOP: 21, + STATE_DESCR: 22, + AS: 23, + ID: 24, + FORK: 25, + JOIN: 26, + CHOICE: 27, + CONCURRENT: 28, + note: 29, + notePosition: 30, + NOTE_TEXT: 31, + direction: 32, + acc_title: 33, + acc_title_value: 34, + acc_descr: 35, + acc_descr_value: 36, + acc_descr_multiline_value: 37, + classDef: 38, + CLASSDEF_ID: 39, + CLASSDEF_STYLEOPTS: 40, + DEFAULT: 41, + style: 42, + STYLE_IDS: 43, + STYLEDEF_STYLEOPTS: 44, + class: 45, + CLASSENTITY_IDS: 46, + STYLECLASS: 47, + direction_tb: 48, + direction_bt: 49, + direction_rl: 50, + direction_lr: 51, + eol: 52, + ";": 53, + EDGE_STATE: 54, + STYLE_SEPARATOR: 55, + left_of: 56, + right_of: 57, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "SPACE", + 5: "NL", + 6: "SD", + 14: "DESCR", + 15: "-->", + 16: "HIDE_EMPTY", + 17: "scale", + 18: "WIDTH", + 19: "COMPOSIT_STATE", + 20: "STRUCT_START", + 21: "STRUCT_STOP", + 22: "STATE_DESCR", + 23: "AS", + 24: "ID", + 25: "FORK", + 26: "JOIN", + 27: "CHOICE", + 28: "CONCURRENT", + 29: "note", + 31: "NOTE_TEXT", + 33: "acc_title", + 34: "acc_title_value", + 35: "acc_descr", + 36: "acc_descr_value", + 37: "acc_descr_multiline_value", + 38: "classDef", + 39: "CLASSDEF_ID", + 40: "CLASSDEF_STYLEOPTS", + 41: "DEFAULT", + 42: "style", + 43: "STYLE_IDS", + 44: "STYLEDEF_STYLEOPTS", + 45: "class", + 46: "CLASSENTITY_IDS", + 47: "STYLECLASS", + 48: "direction_tb", + 49: "direction_bt", + 50: "direction_rl", + 51: "direction_lr", + 53: ";", + 54: "EDGE_STATE", + 55: "STYLE_SEPARATOR", + 56: "left_of", + 57: "right_of", + }, + productions_: [ + 0, + [3, 2], + [3, 2], + [3, 2], + [7, 0], + [7, 2], + [8, 2], + [8, 1], + [8, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 2], + [9, 3], + [9, 4], + [9, 1], + [9, 2], + [9, 1], + [9, 4], + [9, 3], + [9, 6], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [9, 4], + [9, 4], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [10, 3], + [10, 3], + [11, 3], + [12, 3], + [32, 1], + [32, 1], + [32, 1], + [32, 1], + [52, 1], + [52, 1], + [13, 1], + [13, 1], + [13, 3], + [13, 3], + [30, 1], + [30, 1], + ], + performAction: x(function (B, z, F, G, q, Y, ee) { + var Q = Y.length - 1 + switch (q) { + case 3: + return G.setRootDoc(Y[Q]), Y[Q] + case 4: + this.$ = [] + break + case 5: + Y[Q] != "nl" && (Y[Q - 1].push(Y[Q]), (this.$ = Y[Q - 1])) + break + case 6: + case 7: + this.$ = Y[Q] + break + case 8: + this.$ = "nl" + break + case 12: + this.$ = Y[Q] + break + case 13: + const H = Y[Q - 1] + ;(H.description = G.trimColon(Y[Q])), (this.$ = H) + break + case 14: + this.$ = { stmt: "relation", state1: Y[Q - 2], state2: Y[Q] } + break + case 15: + const X = G.trimColon(Y[Q]) + this.$ = { stmt: "relation", state1: Y[Q - 3], state2: Y[Q - 1], description: X } + break + case 19: + this.$ = { stmt: "state", id: Y[Q - 3], type: "default", description: "", doc: Y[Q - 1] } + break + case 20: + var oe = Y[Q], + pe = Y[Q - 2].trim() + if (Y[Q].match(":")) { + var j = Y[Q].split(":") + ;(oe = j[0]), (pe = [pe, j[1]]) + } + this.$ = { stmt: "state", id: oe, type: "default", description: pe } + break + case 21: + this.$ = { stmt: "state", id: Y[Q - 3], type: "default", description: Y[Q - 5], doc: Y[Q - 1] } + break + case 22: + this.$ = { stmt: "state", id: Y[Q], type: "fork" } + break + case 23: + this.$ = { stmt: "state", id: Y[Q], type: "join" } + break + case 24: + this.$ = { stmt: "state", id: Y[Q], type: "choice" } + break + case 25: + this.$ = { stmt: "state", id: G.getDividerId(), type: "divider" } + break + case 26: + this.$ = { + stmt: "state", + id: Y[Q - 1].trim(), + note: { position: Y[Q - 2].trim(), text: Y[Q].trim() }, + } + break + case 29: + ;(this.$ = Y[Q].trim()), G.setAccTitle(this.$) + break + case 30: + case 31: + ;(this.$ = Y[Q].trim()), G.setAccDescription(this.$) + break + case 32: + case 33: + this.$ = { stmt: "classDef", id: Y[Q - 1].trim(), classes: Y[Q].trim() } + break + case 34: + this.$ = { stmt: "style", id: Y[Q - 1].trim(), styleClass: Y[Q].trim() } + break + case 35: + this.$ = { stmt: "applyClass", id: Y[Q - 1].trim(), styleClass: Y[Q].trim() } + break + case 36: + G.setDirection("TB"), (this.$ = { stmt: "dir", value: "TB" }) + break + case 37: + G.setDirection("BT"), (this.$ = { stmt: "dir", value: "BT" }) + break + case 38: + G.setDirection("RL"), (this.$ = { stmt: "dir", value: "RL" }) + break + case 39: + G.setDirection("LR"), (this.$ = { stmt: "dir", value: "LR" }) + break + case 42: + case 43: + this.$ = { stmt: "state", id: Y[Q].trim(), type: "default", description: "" } + break + case 44: + this.$ = { + stmt: "state", + id: Y[Q - 2].trim(), + classes: [Y[Q].trim()], + type: "default", + description: "", + } + break + case 45: + this.$ = { + stmt: "state", + id: Y[Q - 2].trim(), + classes: [Y[Q].trim()], + type: "default", + description: "", + } + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: e, 5: r, 6: n }, + { 1: [3] }, + { 3: 5, 4: e, 5: r, 6: n }, + { 3: 6, 4: e, 5: r, 6: n }, + t([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], i, { + 7: 7, + }), + { 1: [2, 1] }, + { 1: [2, 2] }, + { + 1: [2, 3], + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: o, + 17: l, + 19: u, + 22: h, + 24: d, + 25: f, + 26: p, + 27: g, + 28: m, + 29: v, + 32: 25, + 33: y, + 35: b, + 37: w, + 38: T, + 42: E, + 45: S, + 48: k, + 49: L, + 50: A, + 51: R, + 54: C, + }, + t(I, [2, 5]), + { + 9: 38, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: o, + 17: l, + 19: u, + 22: h, + 24: d, + 25: f, + 26: p, + 27: g, + 28: m, + 29: v, + 32: 25, + 33: y, + 35: b, + 37: w, + 38: T, + 42: E, + 45: S, + 48: k, + 49: L, + 50: A, + 51: R, + 54: C, + }, + t(I, [2, 7]), + t(I, [2, 8]), + t(I, [2, 9]), + t(I, [2, 10]), + t(I, [2, 11]), + t(I, [2, 12], { 14: [1, 39], 15: [1, 40] }), + t(I, [2, 16]), + { 18: [1, 41] }, + t(I, [2, 18], { 20: [1, 42] }), + { 23: [1, 43] }, + t(I, [2, 22]), + t(I, [2, 23]), + t(I, [2, 24]), + t(I, [2, 25]), + { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, + t(I, [2, 28]), + { 34: [1, 48] }, + { 36: [1, 49] }, + t(I, [2, 31]), + { 39: [1, 50], 41: [1, 51] }, + { 43: [1, 52] }, + { 46: [1, 53] }, + t(P, [2, 42], { 55: [1, 54] }), + t(P, [2, 43], { 55: [1, 55] }), + t(I, [2, 36]), + t(I, [2, 37]), + t(I, [2, 38]), + t(I, [2, 39]), + t(I, [2, 6]), + t(I, [2, 13]), + { 13: 56, 24: d, 54: C }, + t(I, [2, 17]), + t(_, i, { 7: 57 }), + { 24: [1, 58] }, + { 24: [1, 59] }, + { 23: [1, 60] }, + { 24: [2, 46] }, + { 24: [2, 47] }, + t(I, [2, 29]), + t(I, [2, 30]), + { 40: [1, 61] }, + { 40: [1, 62] }, + { 44: [1, 63] }, + { 47: [1, 64] }, + { 24: [1, 65] }, + { 24: [1, 66] }, + t(I, [2, 14], { 14: [1, 67] }), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: o, + 17: l, + 19: u, + 21: [1, 68], + 22: h, + 24: d, + 25: f, + 26: p, + 27: g, + 28: m, + 29: v, + 32: 25, + 33: y, + 35: b, + 37: w, + 38: T, + 42: E, + 45: S, + 48: k, + 49: L, + 50: A, + 51: R, + 54: C, + }, + t(I, [2, 20], { 20: [1, 69] }), + { 31: [1, 70] }, + { 24: [1, 71] }, + t(I, [2, 32]), + t(I, [2, 33]), + t(I, [2, 34]), + t(I, [2, 35]), + t(P, [2, 44]), + t(P, [2, 45]), + t(I, [2, 15]), + t(I, [2, 19]), + t(_, i, { 7: 72 }), + t(I, [2, 26]), + t(I, [2, 27]), + { + 4: a, + 5: s, + 8: 8, + 9: 10, + 10: 12, + 11: 13, + 12: 14, + 13: 15, + 16: o, + 17: l, + 19: u, + 21: [1, 73], + 22: h, + 24: d, + 25: f, + 26: p, + 27: g, + 28: m, + 29: v, + 32: 25, + 33: y, + 35: b, + 37: w, + 38: T, + 42: E, + 45: S, + 48: k, + 49: L, + 50: A, + 51: R, + 54: C, + }, + t(I, [2, 21]), + ], + defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] }, + parseError: x(function (B, z) { + if (z.recoverable) this.trace(B) + else { + var F = new Error(B) + throw ((F.hash = z), F) + } + }, "parseError"), + parse: x(function (B) { + var z = this, + F = [0], + G = [], + q = [null], + Y = [], + ee = this.table, + Q = "", + oe = 0, + pe = 0, + j = 2, + H = 1, + X = Y.slice.call(arguments, 1), + W = Object.create(this.lexer), + K = { yy: {} } + for (var ne in this.yy) Object.prototype.hasOwnProperty.call(this.yy, ne) && (K.yy[ne] = this.yy[ne]) + W.setInput(B, K.yy), (K.yy.lexer = W), (K.yy.parser = this), typeof W.yylloc > "u" && (W.yylloc = {}) + var Z = W.yylloc + Y.push(Z) + var be = W.options && W.options.ranges + typeof K.yy.parseError == "function" + ? (this.parseError = K.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function ce(ge) { + ;(F.length = F.length - 2 * ge), (q.length = q.length - ge), (Y.length = Y.length - ge) + } + x(ce, "popStack") + function re() { + var ge + return ( + (ge = G.pop() || W.lex() || H), + typeof ge != "number" && + (ge instanceof Array && ((G = ge), (ge = G.pop())), (ge = z.symbols_[ge] || ge)), + ge + ) + } + x(re, "lex") + for (var Ne, me, Ve, Ue, Fe = {}, _e, Oe, Ce, Le; ; ) { + if ( + ((me = F[F.length - 1]), + this.defaultActions[me] + ? (Ve = this.defaultActions[me]) + : ((Ne === null || typeof Ne > "u") && (Ne = re()), (Ve = ee[me] && ee[me][Ne])), + typeof Ve > "u" || !Ve.length || !Ve[0]) + ) { + var ze = "" + Le = [] + for (_e in ee[me]) this.terminals_[_e] && _e > j && Le.push("'" + this.terminals_[_e] + "'") + W.showPosition + ? (ze = + "Parse error on line " + + (oe + 1) + + `: +` + + W.showPosition() + + ` +Expecting ` + + Le.join(", ") + + ", got '" + + (this.terminals_[Ne] || Ne) + + "'") + : (ze = + "Parse error on line " + + (oe + 1) + + ": Unexpected " + + (Ne == H ? "end of input" : "'" + (this.terminals_[Ne] || Ne) + "'")), + this.parseError(ze, { + text: W.match, + token: this.terminals_[Ne] || Ne, + line: W.yylineno, + loc: Z, + expected: Le, + }) + } + if (Ve[0] instanceof Array && Ve.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + me + ", token: " + Ne) + switch (Ve[0]) { + case 1: + F.push(Ne), + q.push(W.yytext), + Y.push(W.yylloc), + F.push(Ve[1]), + (Ne = null), + (pe = W.yyleng), + (Q = W.yytext), + (oe = W.yylineno), + (Z = W.yylloc) + break + case 2: + if ( + ((Oe = this.productions_[Ve[1]][1]), + (Fe.$ = q[q.length - Oe]), + (Fe._$ = { + first_line: Y[Y.length - (Oe || 1)].first_line, + last_line: Y[Y.length - 1].last_line, + first_column: Y[Y.length - (Oe || 1)].first_column, + last_column: Y[Y.length - 1].last_column, + }), + be && (Fe._$.range = [Y[Y.length - (Oe || 1)].range[0], Y[Y.length - 1].range[1]]), + (Ue = this.performAction.apply(Fe, [Q, pe, oe, K.yy, Ve[1], q, Y].concat(X))), + typeof Ue < "u") + ) + return Ue + Oe && ((F = F.slice(0, -1 * Oe * 2)), (q = q.slice(0, -1 * Oe)), (Y = Y.slice(0, -1 * Oe))), + F.push(this.productions_[Ve[1]][0]), + q.push(Fe.$), + Y.push(Fe._$), + (Ce = ee[F[F.length - 2]][F[F.length - 1]]), + F.push(Ce) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + M = (function () { + var D = { + EOF: 1, + parseError: x(function (z, F) { + if (this.yy.parser) this.yy.parser.parseError(z, F) + else throw new Error(z) + }, "parseError"), + setInput: x(function (B, z) { + return ( + (this.yy = z || this.yy || {}), + (this._input = B), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var B = this._input[0] + ;(this.yytext += B), this.yyleng++, this.offset++, (this.match += B), (this.matched += B) + var z = B.match(/(?:\r\n?|\n).*/g) + return ( + z ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + B + ) + }, "input"), + unput: x(function (B) { + var z = B.length, + F = B.split(/(?:\r\n?|\n)/g) + ;(this._input = B + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - z)), + (this.offset -= z) + var G = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + F.length - 1 && (this.yylineno -= F.length - 1) + var q = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: F + ? (F.length === G.length ? this.yylloc.first_column : 0) + + G[G.length - F.length].length - + F[0].length + : this.yylloc.first_column - z, + }), + this.options.ranges && (this.yylloc.range = [q[0], q[0] + this.yyleng - z]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (B) { + this.unput(this.match.slice(B)) + }, "less"), + pastInput: x(function () { + var B = this.matched.substr(0, this.matched.length - this.match.length) + return (B.length > 20 ? "..." : "") + B.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var B = this.match + return ( + B.length < 20 && (B += this._input.substr(0, 20 - B.length)), + (B.substr(0, 20) + (B.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var B = this.pastInput(), + z = new Array(B.length + 1).join("-") + return ( + B + + this.upcomingInput() + + ` +` + + z + + "^" + ) + }, "showPosition"), + test_match: x(function (B, z) { + var F, G, q + if ( + (this.options.backtrack_lexer && + ((q = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (q.yylloc.range = this.yylloc.range.slice(0))), + (G = B[0].match(/(?:\r\n?|\n).*/g)), + G && (this.yylineno += G.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: G + ? G[G.length - 1].length - G[G.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + B[0].length, + }), + (this.yytext += B[0]), + (this.match += B[0]), + (this.matches = B), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(B[0].length)), + (this.matched += B[0]), + (F = this.performAction.call( + this, + this.yy, + this, + z, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + F) + ) + return F + if (this._backtrack) { + for (var Y in q) this[Y] = q[Y] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var B, z, F, G + this._more || ((this.yytext = ""), (this.match = "")) + for (var q = this._currentRules(), Y = 0; Y < q.length; Y++) + if (((F = this._input.match(this.rules[q[Y]])), F && (!z || F[0].length > z[0].length))) { + if (((z = F), (G = Y), this.options.backtrack_lexer)) { + if (((B = this.test_match(F, q[Y])), B !== !1)) return B + if (this._backtrack) { + z = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return z + ? ((B = this.test_match(z, q[G])), B !== !1 ? B : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var z = this.next() + return z || this.lex() + }, "lex"), + begin: x(function (z) { + this.conditionStack.push(z) + }, "begin"), + popState: x(function () { + var z = this.conditionStack.length - 1 + return z > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (z) { + return ( + (z = this.conditionStack.length - 1 - Math.abs(z || 0)), + z >= 0 ? this.conditionStack[z] : "INITIAL" + ) + }, "topState"), + pushState: x(function (z) { + this.begin(z) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (z, F, G, q) { + switch (G) { + case 0: + return 41 + case 1: + return 48 + case 2: + return 49 + case 3: + return 50 + case 4: + return 51 + case 5: + break + case 6: + break + case 7: + return 5 + case 8: + break + case 9: + break + case 10: + break + case 11: + break + case 12: + return this.pushState("SCALE"), 17 + case 13: + return 18 + case 14: + this.popState() + break + case 15: + return this.begin("acc_title"), 33 + case 16: + return this.popState(), "acc_title_value" + case 17: + return this.begin("acc_descr"), 35 + case 18: + return this.popState(), "acc_descr_value" + case 19: + this.begin("acc_descr_multiline") + break + case 20: + this.popState() + break + case 21: + return "acc_descr_multiline_value" + case 22: + return this.pushState("CLASSDEF"), 38 + case 23: + return this.popState(), this.pushState("CLASSDEFID"), "DEFAULT_CLASSDEF_ID" + case 24: + return this.popState(), this.pushState("CLASSDEFID"), 39 + case 25: + return this.popState(), 40 + case 26: + return this.pushState("CLASS"), 45 + case 27: + return this.popState(), this.pushState("CLASS_STYLE"), 46 + case 28: + return this.popState(), 47 + case 29: + return this.pushState("STYLE"), 42 + case 30: + return this.popState(), this.pushState("STYLEDEF_STYLES"), 43 + case 31: + return this.popState(), 44 + case 32: + return this.pushState("SCALE"), 17 + case 33: + return 18 + case 34: + this.popState() + break + case 35: + this.pushState("STATE") + break + case 36: + return this.popState(), (F.yytext = F.yytext.slice(0, -8).trim()), 25 + case 37: + return this.popState(), (F.yytext = F.yytext.slice(0, -8).trim()), 26 + case 38: + return this.popState(), (F.yytext = F.yytext.slice(0, -10).trim()), 27 + case 39: + return this.popState(), (F.yytext = F.yytext.slice(0, -8).trim()), 25 + case 40: + return this.popState(), (F.yytext = F.yytext.slice(0, -8).trim()), 26 + case 41: + return this.popState(), (F.yytext = F.yytext.slice(0, -10).trim()), 27 + case 42: + return 48 + case 43: + return 49 + case 44: + return 50 + case 45: + return 51 + case 46: + this.pushState("STATE_STRING") + break + case 47: + return this.pushState("STATE_ID"), "AS" + case 48: + return this.popState(), "ID" + case 49: + this.popState() + break + case 50: + return "STATE_DESCR" + case 51: + return 19 + case 52: + this.popState() + break + case 53: + return this.popState(), this.pushState("struct"), 20 + case 54: + break + case 55: + return this.popState(), 21 + case 56: + break + case 57: + return this.begin("NOTE"), 29 + case 58: + return this.popState(), this.pushState("NOTE_ID"), 56 + case 59: + return this.popState(), this.pushState("NOTE_ID"), 57 + case 60: + this.popState(), this.pushState("FLOATING_NOTE") + break + case 61: + return this.popState(), this.pushState("FLOATING_NOTE_ID"), "AS" + case 62: + break + case 63: + return "NOTE_TEXT" + case 64: + return this.popState(), "ID" + case 65: + return this.popState(), this.pushState("NOTE_TEXT"), 24 + case 66: + return this.popState(), (F.yytext = F.yytext.substr(2).trim()), 31 + case 67: + return this.popState(), (F.yytext = F.yytext.slice(0, -8).trim()), 31 + case 68: + return 6 + case 69: + return 6 + case 70: + return 16 + case 71: + return 54 + case 72: + return 24 + case 73: + return (F.yytext = F.yytext.trim()), 14 + case 74: + return 15 + case 75: + return 28 + case 76: + return 55 + case 77: + return 5 + case 78: + return "INVALID" + } + }, "anonymous"), + rules: [ + /^(?:default\b)/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:[\s]+)/i, + /^(?:((?!\n)\s)+)/i, + /^(?:#[^\n]*)/i, + /^(?:%[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:classDef\s+)/i, + /^(?:DEFAULT\s+)/i, + /^(?:\w+\s+)/i, + /^(?:[^\n]*)/i, + /^(?:class\s+)/i, + /^(?:(\w+)+((,\s*\w+)*))/i, + /^(?:[^\n]*)/i, + /^(?:style\s+)/i, + /^(?:[\w,]+\s+)/i, + /^(?:[^\n]*)/i, + /^(?:scale\s+)/i, + /^(?:\d+)/i, + /^(?:\s+width\b)/i, + /^(?:state\s+)/i, + /^(?:.*<<fork>>)/i, + /^(?:.*<<join>>)/i, + /^(?:.*<<choice>>)/i, + /^(?:.*\[\[fork\]\])/i, + /^(?:.*\[\[join\]\])/i, + /^(?:.*\[\[choice\]\])/i, + /^(?:.*direction\s+TB[^\n]*)/i, + /^(?:.*direction\s+BT[^\n]*)/i, + /^(?:.*direction\s+RL[^\n]*)/i, + /^(?:.*direction\s+LR[^\n]*)/i, + /^(?:["])/i, + /^(?:\s*as\s+)/i, + /^(?:[^\n\{]*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n\s\{]+)/i, + /^(?:\n)/i, + /^(?:\{)/i, + /^(?:%%(?!\{)[^\n]*)/i, + /^(?:\})/i, + /^(?:[\n])/i, + /^(?:note\s+)/i, + /^(?:left of\b)/i, + /^(?:right of\b)/i, + /^(?:")/i, + /^(?:\s*as\s*)/i, + /^(?:["])/i, + /^(?:[^"]*)/i, + /^(?:[^\n]*)/i, + /^(?:\s*[^:\n\s\-]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:[\s\S]*?end note\b)/i, + /^(?:stateDiagram\s+)/i, + /^(?:stateDiagram-v2\s+)/i, + /^(?:hide empty description\b)/i, + /^(?:\[\*\])/i, + /^(?:[^:\n\s\-\{]+)/i, + /^(?:\s*:[^:\n;]+)/i, + /^(?:-->)/i, + /^(?:--)/i, + /^(?::::)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + LINE: { rules: [9, 10], inclusive: !1 }, + struct: { + rules: [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], + inclusive: !1, + }, + FLOATING_NOTE_ID: { rules: [64], inclusive: !1 }, + FLOATING_NOTE: { rules: [61, 62, 63], inclusive: !1 }, + NOTE_TEXT: { rules: [66, 67], inclusive: !1 }, + NOTE_ID: { rules: [65], inclusive: !1 }, + NOTE: { rules: [58, 59, 60], inclusive: !1 }, + STYLEDEF_STYLEOPTS: { rules: [], inclusive: !1 }, + STYLEDEF_STYLES: { rules: [31], inclusive: !1 }, + STYLE_IDS: { rules: [], inclusive: !1 }, + STYLE: { rules: [30], inclusive: !1 }, + CLASS_STYLE: { rules: [28], inclusive: !1 }, + CLASS: { rules: [27], inclusive: !1 }, + CLASSDEFID: { rules: [25], inclusive: !1 }, + CLASSDEF: { rules: [23, 24], inclusive: !1 }, + acc_descr_multiline: { rules: [20, 21], inclusive: !1 }, + acc_descr: { rules: [18], inclusive: !1 }, + acc_title: { rules: [16], inclusive: !1 }, + SCALE: { rules: [13, 14, 33, 34], inclusive: !1 }, + ALIAS: { rules: [], inclusive: !1 }, + STATE_ID: { rules: [48], inclusive: !1 }, + STATE_STRING: { rules: [49, 50], inclusive: !1 }, + FORK_STATE: { rules: [], inclusive: !1 }, + STATE: { rules: [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], inclusive: !1 }, + ID: { rules: [9, 10], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, 68, 69, 70, + 71, 72, 73, 74, 76, 77, 78, + ], + inclusive: !0, + }, + }, + } + return D + })() + N.lexer = M + function O() { + this.yy = {} + } + return x(O, "Parser"), (O.prototype = N), (N.Parser = O), new O() +})() +T6.parser = T6 +var LU = T6, + s6e = "TB", + RU = "TB", + v9 = "dir", + Xm = "state", + E6 = "relation", + o6e = "classDef", + l6e = "style", + c6e = "applyClass", + cp = "default", + NU = "divider", + DU = "fill:none", + IU = "fill: #333", + MU = "c", + OU = "text", + PU = "normal", + S4 = "rect", + C4 = "rectWithTitle", + u6e = "stateStart", + h6e = "stateEnd", + y9 = "divider", + x9 = "roundedWithTitle", + d6e = "note", + f6e = "noteGroup", + $g = "statediagram", + p6e = "state", + g6e = `${$g}-${p6e}`, + BU = "transition", + m6e = "note", + v6e = "note-edge", + y6e = `${BU} ${v6e}`, + x6e = `${$g}-${m6e}`, + b6e = "cluster", + w6e = `${$g}-${b6e}`, + T6e = "cluster-alt", + E6e = `${$g}-${T6e}`, + FU = "parent", + $U = "note", + k6e = "state", + eS = "----", + S6e = `${eS}${$U}`, + b9 = `${eS}${FU}`, + zU = x((t, e = RU) => { + if (!t.doc) return e + let r = e + for (const n of t.doc) n.stmt === "dir" && (r = n.value) + return r + }, "getDir"), + C6e = x(function (t, e) { + return e.db.getClasses() + }, "getClasses"), + A6e = x(async function (t, e, r, n) { + ie.info("REF0:"), ie.info("Drawing state diagram (v2)", e) + const { securityLevel: i, state: a, layout: s } = we() + n.db.extract(n.db.getRootDocV2()) + const o = n.db.getData(), + l = Ag(e, i) + ;(o.type = n.type), + (o.layoutAlgorithm = s), + (o.nodeSpacing = (a == null ? void 0 : a.nodeSpacing) || 50), + (o.rankSpacing = (a == null ? void 0 : a.rankSpacing) || 50), + (o.markers = ["barb"]), + (o.diagramId = e), + await Tg(o, l) + const u = 8 + Zt.insertTitle( + l, + "statediagramTitleText", + (a == null ? void 0 : a.titleTopMargin) ?? 25, + n.db.getDiagramTitle(), + ), + _g(l, u, $g, (a == null ? void 0 : a.useMaxWidth) ?? !0) + }, "draw"), + _6e = { getClasses: C6e, draw: A6e, getDir: zU }, + jm = new Map(), + gl = 0 +function Km(t = "", e = 0, r = "", n = eS) { + const i = r !== null && r.length > 0 ? `${n}${r}` : "" + return `${k6e}-${t}${i}-${e}` +} +x(Km, "stateDomId") +var L6e = x((t, e, r, n, i, a, s, o) => { + ie.trace("items", e), + e.forEach((l) => { + switch (l.stmt) { + case Xm: + W0(t, l, r, n, i, a, s, o) + break + case cp: + W0(t, l, r, n, i, a, s, o) + break + case E6: + { + W0(t, l.state1, r, n, i, a, s, o), W0(t, l.state2, r, n, i, a, s, o) + const u = { + id: "edge" + gl, + start: l.state1.id, + end: l.state2.id, + arrowhead: "normal", + arrowTypeEnd: "arrow_barb", + style: DU, + labelStyle: "", + label: it.sanitizeText(l.description, we()), + arrowheadStyle: IU, + labelpos: MU, + labelType: OU, + thickness: PU, + classes: BU, + look: s, + } + i.push(u), gl++ + } + break + } + }) + }, "setupDoc"), + w9 = x((t, e = RU) => { + let r = e + if (t.doc) for (const n of t.doc) n.stmt === "dir" && (r = n.value) + return r + }, "getDir") +function q0(t, e, r) { + if (!e.id || e.id === "</join></fork>" || e.id === "</choice>") return + e.cssClasses && + (Array.isArray(e.cssCompiledStyles) || (e.cssCompiledStyles = []), + e.cssClasses.split(" ").forEach((i) => { + if (r.get(i)) { + const a = r.get(i) + e.cssCompiledStyles = [...e.cssCompiledStyles, ...a.styles] + } + })) + const n = t.find((i) => i.id === e.id) + n ? Object.assign(n, e) : t.push(e) +} +x(q0, "insertOrUpdateNode") +function VU(t) { + var e + return ((e = t == null ? void 0 : t.classes) == null ? void 0 : e.join(" ")) ?? "" +} +x(VU, "getClassesFromDbInfo") +function GU(t) { + return (t == null ? void 0 : t.styles) ?? [] +} +x(GU, "getStylesFromDbInfo") +var W0 = x((t, e, r, n, i, a, s, o) => { + var f, p + const l = e.id, + u = r.get(l), + h = VU(u), + d = GU(u) + if ((ie.info("dataFetcher parsedItem", e, u, d), l !== "root")) { + let g = S4 + e.start === !0 ? (g = u6e) : e.start === !1 && (g = h6e), + e.type !== cp && (g = e.type), + jm.get(l) || + jm.set(l, { + id: l, + shape: g, + description: it.sanitizeText(l, we()), + cssClasses: `${h} ${g6e}`, + cssStyles: d, + }) + const m = jm.get(l) + e.description && + (Array.isArray(m.description) + ? ((m.shape = C4), m.description.push(e.description)) + : ((f = m.description) == null ? void 0 : f.length) > 0 + ? ((m.shape = C4), + m.description === l + ? (m.description = [e.description]) + : (m.description = [m.description, e.description])) + : ((m.shape = S4), (m.description = e.description)), + (m.description = it.sanitizeTextOrArray(m.description, we()))), + ((p = m.description) == null ? void 0 : p.length) === 1 && + m.shape === C4 && + (m.type === "group" ? (m.shape = x9) : (m.shape = S4)), + !m.type && + e.doc && + (ie.info("Setting cluster for XCX", l, w9(e)), + (m.type = "group"), + (m.isGroup = !0), + (m.dir = w9(e)), + (m.shape = e.type === NU ? y9 : x9), + (m.cssClasses = `${m.cssClasses} ${w6e} ${a ? E6e : ""}`)) + const v = { + labelStyle: "", + shape: m.shape, + label: m.description, + cssClasses: m.cssClasses, + cssCompiledStyles: [], + cssStyles: m.cssStyles, + id: l, + dir: m.dir, + domId: Km(l, gl), + type: m.type, + isGroup: m.type === "group", + padding: 8, + rx: 10, + ry: 10, + look: s, + } + if ( + (v.shape === y9 && (v.label = ""), + t && + t.id !== "root" && + (ie.trace("Setting node ", l, " to be child of its parent ", t.id), (v.parentId = t.id)), + (v.centerLabel = !0), + e.note) + ) { + const y = { + labelStyle: "", + shape: d6e, + label: e.note.text, + cssClasses: x6e, + cssStyles: [], + cssCompilesStyles: [], + id: l + S6e + "-" + gl, + domId: Km(l, gl, $U), + type: m.type, + isGroup: m.type === "group", + padding: we().flowchart.padding, + look: s, + position: e.note.position, + }, + b = l + b9, + w = { + labelStyle: "", + shape: f6e, + label: e.note.text, + cssClasses: m.cssClasses, + cssStyles: [], + id: l + b9, + domId: Km(l, gl, FU), + type: "group", + isGroup: !0, + padding: 16, + look: s, + position: e.note.position, + } + gl++, (w.id = b), (y.parentId = b), q0(n, w, o), q0(n, y, o), q0(n, v, o) + let T = l, + E = y.id + e.note.position === "left of" && ((T = y.id), (E = l)), + i.push({ + id: T + "-" + E, + start: T, + end: E, + arrowhead: "none", + arrowTypeEnd: "", + style: DU, + labelStyle: "", + classes: y6e, + arrowheadStyle: IU, + labelpos: MU, + labelType: OU, + thickness: PU, + look: s, + }) + } else q0(n, v, o) + } + e.doc && (ie.trace("Adding nodes children "), L6e(e, e.doc, r, n, i, !a, s, o)) + }, "dataFetcher"), + R6e = x(() => { + jm.clear(), (gl = 0) + }, "reset"), + k6 = "[*]", + T9 = "start", + E9 = k6, + k9 = "end", + S9 = "color", + C9 = "fill", + N6e = "bgFill", + D6e = "," +function S6() { + return new Map() +} +x(S6, "newClassesList") +var A9 = x(() => ({ relations: [], states: new Map(), documents: {} }), "newDoc"), + W1 = x((t) => JSON.parse(JSON.stringify(t)), "clone"), + Fc, + kc = + ((Fc = class { + constructor(e) { + Ut(this, "version") + Ut(this, "nodes", []) + Ut(this, "edges", []) + Ut(this, "rootDoc", []) + Ut(this, "classes", S6()) + Ut(this, "documents", { root: A9() }) + Ut(this, "currentDocument", this.documents.root) + Ut(this, "startEndCount", 0) + Ut(this, "dividerCnt", 0) + Ut(this, "getAccTitle", Zn) + Ut(this, "setAccTitle", $n) + Ut(this, "getAccDescription", Jn) + Ut(this, "setAccDescription", Qn) + Ut(this, "setDiagramTitle", fi) + Ut(this, "getDiagramTitle", Un) + this.clear(), + (this.version = e), + (this.setRootDoc = this.setRootDoc.bind(this)), + (this.getDividerId = this.getDividerId.bind(this)), + (this.setDirection = this.setDirection.bind(this)), + (this.trimColon = this.trimColon.bind(this)) + } + setRootDoc(e) { + ie.info("Setting root doc", e), + (this.rootDoc = e), + this.version === 1 ? this.extract(e) : this.extract(this.getRootDocV2()) + } + getRootDoc() { + return this.rootDoc + } + docTranslator(e, r, n) { + if (r.stmt === E6) this.docTranslator(e, r.state1, !0), this.docTranslator(e, r.state2, !1) + else if ( + (r.stmt === Xm && + (r.id === "[*]" + ? ((r.id = n ? e.id + "_start" : e.id + "_end"), (r.start = n)) + : (r.id = r.id.trim())), + r.doc) + ) { + const i = [] + let a = [], + s + for (s = 0; s < r.doc.length; s++) + if (r.doc[s].type === NU) { + const o = W1(r.doc[s]) + ;(o.doc = W1(a)), i.push(o), (a = []) + } else a.push(r.doc[s]) + if (i.length > 0 && a.length > 0) { + const o = { stmt: Xm, id: BP(), type: "divider", doc: W1(a) } + i.push(W1(o)), (r.doc = i) + } + r.doc.forEach((o) => this.docTranslator(r, o, !0)) + } + } + getRootDocV2() { + return ( + this.docTranslator({ id: "root" }, { id: "root", doc: this.rootDoc }, !0), + { id: "root", doc: this.rootDoc } + ) + } + extract(e) { + let r + e.doc ? (r = e.doc) : (r = e), + ie.info(r), + this.clear(!0), + ie.info("Extract initial document:", r), + r.forEach((s) => { + switch ((ie.warn("Statement", s.stmt), s.stmt)) { + case Xm: + this.addState( + s.id.trim(), + s.type, + s.doc, + s.description, + s.note, + s.classes, + s.styles, + s.textStyles, + ) + break + case E6: + this.addRelation(s.state1, s.state2, s.description) + break + case o6e: + this.addStyleClass(s.id.trim(), s.classes) + break + case l6e: + { + const o = s.id.trim().split(","), + l = s.styleClass.split(",") + o.forEach((u) => { + let h = this.getState(u) + if (h === void 0) { + const d = u.trim() + this.addState(d), (h = this.getState(d)) + } + h.styles = l.map((d) => { + var f + return (f = d.replace(/;/g, "")) == null ? void 0 : f.trim() + }) + }) + } + break + case c6e: + this.setCssClass(s.id.trim(), s.styleClass) + break + } + }) + const n = this.getStates(), + a = we().look + R6e(), + W0(void 0, this.getRootDocV2(), n, this.nodes, this.edges, !0, a, this.classes), + this.nodes.forEach((s) => { + if (Array.isArray(s.label)) { + if (((s.description = s.label.slice(1)), s.isGroup && s.description.length > 0)) + throw new Error( + "Group nodes can only have label. Remove the additional description for node [" + + s.id + + "]", + ) + s.label = s.label[0] + } + }) + } + addState(e, r = cp, n = null, i = null, a = null, s = null, o = null, l = null) { + const u = e == null ? void 0 : e.trim() + if ( + (this.currentDocument.states.has(u) + ? (this.currentDocument.states.get(u).doc || (this.currentDocument.states.get(u).doc = n), + this.currentDocument.states.get(u).type || (this.currentDocument.states.get(u).type = r)) + : (ie.info("Adding state ", u, i), + this.currentDocument.states.set(u, { + id: u, + descriptions: [], + type: r, + doc: n, + note: a, + classes: [], + styles: [], + textStyles: [], + })), + i && + (ie.info("Setting state description", u, i), + typeof i == "string" && this.addDescription(u, i.trim()), + typeof i == "object" && i.forEach((h) => this.addDescription(u, h.trim()))), + a) + ) { + const h = this.currentDocument.states.get(u) + ;(h.note = a), (h.note.text = it.sanitizeText(h.note.text, we())) + } + s && + (ie.info("Setting state classes", u, s), + (typeof s == "string" ? [s] : s).forEach((d) => this.setCssClass(u, d.trim()))), + o && + (ie.info("Setting state styles", u, o), + (typeof o == "string" ? [o] : o).forEach((d) => this.setStyle(u, d.trim()))), + l && + (ie.info("Setting state styles", u, o), + (typeof l == "string" ? [l] : l).forEach((d) => this.setTextStyle(u, d.trim()))) + } + clear(e) { + ;(this.nodes = []), + (this.edges = []), + (this.documents = { root: A9() }), + (this.currentDocument = this.documents.root), + (this.startEndCount = 0), + (this.classes = S6()), + e || Gn() + } + getState(e) { + return this.currentDocument.states.get(e) + } + getStates() { + return this.currentDocument.states + } + logDocuments() { + ie.info("Documents = ", this.documents) + } + getRelations() { + return this.currentDocument.relations + } + startIdIfNeeded(e = "") { + let r = e + return e === k6 && (this.startEndCount++, (r = `${T9}${this.startEndCount}`)), r + } + startTypeIfNeeded(e = "", r = cp) { + return e === k6 ? T9 : r + } + endIdIfNeeded(e = "") { + let r = e + return e === E9 && (this.startEndCount++, (r = `${k9}${this.startEndCount}`)), r + } + endTypeIfNeeded(e = "", r = cp) { + return e === E9 ? k9 : r + } + addRelationObjs(e, r, n) { + let i = this.startIdIfNeeded(e.id.trim()), + a = this.startTypeIfNeeded(e.id.trim(), e.type), + s = this.startIdIfNeeded(r.id.trim()), + o = this.startTypeIfNeeded(r.id.trim(), r.type) + this.addState(i, a, e.doc, e.description, e.note, e.classes, e.styles, e.textStyles), + this.addState(s, o, r.doc, r.description, r.note, r.classes, r.styles, r.textStyles), + this.currentDocument.relations.push({ id1: i, id2: s, relationTitle: it.sanitizeText(n, we()) }) + } + addRelation(e, r, n) { + if (typeof e == "object") this.addRelationObjs(e, r, n) + else { + const i = this.startIdIfNeeded(e.trim()), + a = this.startTypeIfNeeded(e), + s = this.endIdIfNeeded(r.trim()), + o = this.endTypeIfNeeded(r) + this.addState(i, a), + this.addState(s, o), + this.currentDocument.relations.push({ id1: i, id2: s, title: it.sanitizeText(n, we()) }) + } + } + addDescription(e, r) { + const n = this.currentDocument.states.get(e), + i = r.startsWith(":") ? r.replace(":", "").trim() : r + n.descriptions.push(it.sanitizeText(i, we())) + } + cleanupLabel(e) { + return e.substring(0, 1) === ":" ? e.substr(2).trim() : e.trim() + } + getDividerId() { + return this.dividerCnt++, "divider-id-" + this.dividerCnt + } + addStyleClass(e, r = "") { + this.classes.has(e) || this.classes.set(e, { id: e, styles: [], textStyles: [] }) + const n = this.classes.get(e) + r != null && + r.split(D6e).forEach((i) => { + const a = i.replace(/([^;]*);/, "$1").trim() + if (RegExp(S9).exec(i)) { + const o = a.replace(C9, N6e).replace(S9, C9) + n.textStyles.push(o) + } + n.styles.push(a) + }) + } + getClasses() { + return this.classes + } + setCssClass(e, r) { + e.split(",").forEach((n) => { + let i = this.getState(n) + if (i === void 0) { + const a = n.trim() + this.addState(a), (i = this.getState(a)) + } + i.classes.push(r) + }) + } + setStyle(e, r) { + const n = this.getState(e) + n !== void 0 && n.styles.push(r) + } + setTextStyle(e, r) { + const n = this.getState(e) + n !== void 0 && n.textStyles.push(r) + } + getDirectionStatement() { + return this.rootDoc.find((e) => e.stmt === v9) + } + getDirection() { + var e + return ((e = this.getDirectionStatement()) == null ? void 0 : e.value) ?? s6e + } + setDirection(e) { + const r = this.getDirectionStatement() + r ? (r.value = e) : this.rootDoc.unshift({ stmt: v9, value: e }) + } + trimColon(e) { + return e && e[0] === ":" ? e.substr(1).trim() : e.trim() + } + getData() { + const e = we() + return { + nodes: this.nodes, + edges: this.edges, + other: {}, + config: e, + direction: zU(this.getRootDocV2()), + } + } + getConfig() { + return we().state + } + }), + x(Fc, "StateDB"), + Ut(Fc, "relationType", { AGGREGATION: 0, EXTENSION: 1, COMPOSITION: 2, DEPENDENCY: 3 }), + Fc), + I6e = x( + (t) => ` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor || t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor || t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground || t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg || t.mainBkg}; + stroke: ${t.stateBorder || t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder || t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder || t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder || t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground || t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground ? t.altBackground : "#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground ? t.altBackground : "#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`, + "getStyles", + ), + UU = I6e, + tS = {}, + M6e = x((t, e) => { + tS[t] = e + }, "set"), + O6e = x((t) => tS[t], "get"), + qU = x(() => Object.keys(tS), "keys"), + P6e = x(() => qU().length, "size"), + B6e = { get: O6e, set: M6e, keys: qU, size: P6e }, + F6e = x( + (t) => + t + .append("circle") + .attr("class", "start-state") + .attr("r", we().state.sizeUnit) + .attr("cx", we().state.padding + we().state.sizeUnit) + .attr("cy", we().state.padding + we().state.sizeUnit), + "drawStartState", + ), + $6e = x( + (t) => + t + .append("line") + .style("stroke", "grey") + .style("stroke-dasharray", "3") + .attr("x1", we().state.textHeight) + .attr("class", "divider") + .attr("x2", we().state.textHeight * 2) + .attr("y1", 0) + .attr("y2", 0), + "drawDivider", + ), + z6e = x((t, e) => { + const r = t + .append("text") + .attr("x", 2 * we().state.padding) + .attr("y", we().state.textHeight + 2 * we().state.padding) + .attr("font-size", we().state.fontSize) + .attr("class", "state-title") + .text(e.id), + n = r.node().getBBox() + return ( + t + .insert("rect", ":first-child") + .attr("x", we().state.padding) + .attr("y", we().state.padding) + .attr("width", n.width + 2 * we().state.padding) + .attr("height", n.height + 2 * we().state.padding) + .attr("rx", we().state.radius), + r + ) + }, "drawSimpleState"), + V6e = x((t, e) => { + const r = x(function (f, p, g) { + const m = f + .append("tspan") + .attr("x", 2 * we().state.padding) + .text(p) + g || m.attr("dy", we().state.textHeight) + }, "addTspan"), + i = t + .append("text") + .attr("x", 2 * we().state.padding) + .attr("y", we().state.textHeight + 1.3 * we().state.padding) + .attr("font-size", we().state.fontSize) + .attr("class", "state-title") + .text(e.descriptions[0]) + .node() + .getBBox(), + a = i.height, + s = t + .append("text") + .attr("x", we().state.padding) + .attr("y", a + we().state.padding * 0.4 + we().state.dividerMargin + we().state.textHeight) + .attr("class", "state-description") + let o = !0, + l = !0 + e.descriptions.forEach(function (f) { + o || (r(s, f, l), (l = !1)), (o = !1) + }) + const u = t + .append("line") + .attr("x1", we().state.padding) + .attr("y1", we().state.padding + a + we().state.dividerMargin / 2) + .attr("y2", we().state.padding + a + we().state.dividerMargin / 2) + .attr("class", "descr-divider"), + h = s.node().getBBox(), + d = Math.max(h.width, i.width) + return ( + u.attr("x2", d + 3 * we().state.padding), + t + .insert("rect", ":first-child") + .attr("x", we().state.padding) + .attr("y", we().state.padding) + .attr("width", d + 2 * we().state.padding) + .attr("height", h.height + a + 2 * we().state.padding) + .attr("rx", we().state.radius), + t + ) + }, "drawDescrState"), + G6e = x((t, e, r) => { + const n = we().state.padding, + i = 2 * we().state.padding, + a = t.node().getBBox(), + s = a.width, + o = a.x, + l = t + .append("text") + .attr("x", 0) + .attr("y", we().state.titleShift) + .attr("font-size", we().state.fontSize) + .attr("class", "state-title") + .text(e.id), + h = l.node().getBBox().width + i + let d = Math.max(h, s) + d === s && (d = d + i) + let f + const p = t.node().getBBox() + e.doc, (f = o - n), h > s && (f = (s - d) / 2 + n), Math.abs(o - p.x) < n && h > s && (f = o - (h - s) / 2) + const g = 1 - we().state.textHeight + return ( + t + .insert("rect", ":first-child") + .attr("x", f) + .attr("y", g) + .attr("class", r ? "alt-composit" : "composit") + .attr("width", d) + .attr("height", p.height + we().state.textHeight + we().state.titleShift + 1) + .attr("rx", "0"), + l.attr("x", f + n), + h <= s && l.attr("x", o + (d - i) / 2 - h / 2 + n), + t + .insert("rect", ":first-child") + .attr("x", f) + .attr("y", we().state.titleShift - we().state.textHeight - we().state.padding) + .attr("width", d) + .attr("height", we().state.textHeight * 3) + .attr("rx", we().state.radius), + t + .insert("rect", ":first-child") + .attr("x", f) + .attr("y", we().state.titleShift - we().state.textHeight - we().state.padding) + .attr("width", d) + .attr("height", p.height + 3 + 2 * we().state.textHeight) + .attr("rx", we().state.radius), + t + ) + }, "addTitleAndBox"), + U6e = x( + (t) => ( + t + .append("circle") + .attr("class", "end-state-outer") + .attr("r", we().state.sizeUnit + we().state.miniPadding) + .attr("cx", we().state.padding + we().state.sizeUnit + we().state.miniPadding) + .attr("cy", we().state.padding + we().state.sizeUnit + we().state.miniPadding), + t + .append("circle") + .attr("class", "end-state-inner") + .attr("r", we().state.sizeUnit) + .attr("cx", we().state.padding + we().state.sizeUnit + 2) + .attr("cy", we().state.padding + we().state.sizeUnit + 2) + ), + "drawEndState", + ), + q6e = x((t, e) => { + let r = we().state.forkWidth, + n = we().state.forkHeight + if (e.parentId) { + let i = r + ;(r = n), (n = i) + } + return t + .append("rect") + .style("stroke", "black") + .style("fill", "black") + .attr("width", r) + .attr("height", n) + .attr("x", we().state.padding) + .attr("y", we().state.padding) + }, "drawForkJoinState"), + W6e = x((t, e, r, n) => { + let i = 0 + const a = n.append("text") + a.style("text-anchor", "start"), a.attr("class", "noteText") + let s = t.replace(/\r\n/g, "<br/>") + s = s.replace(/\n/g, "<br/>") + const o = s.split(it.lineBreakRegex) + let l = 1.25 * we().state.noteMargin + for (const u of o) { + const h = u.trim() + if (h.length > 0) { + const d = a.append("tspan") + if ((d.text(h), l === 0)) { + const f = d.node().getBBox() + l += f.height + } + ;(i += l), d.attr("x", e + we().state.noteMargin), d.attr("y", r + i + 1.25 * we().state.noteMargin) + } + } + return { textWidth: a.node().getBBox().width, textHeight: i } + }, "_drawLongText"), + H6e = x((t, e) => { + e.attr("class", "state-note") + const r = e.append("rect").attr("x", 0).attr("y", we().state.padding), + n = e.append("g"), + { textWidth: i, textHeight: a } = W6e(t, 0, 0, n) + return r.attr("height", a + 2 * we().state.noteMargin), r.attr("width", i + we().state.noteMargin * 2), r + }, "drawNote"), + _9 = x(function (t, e) { + const r = e.id, + n = { id: r, label: e.id, width: 0, height: 0 }, + i = t.append("g").attr("id", r).attr("class", "stateGroup") + e.type === "start" && F6e(i), + e.type === "end" && U6e(i), + (e.type === "fork" || e.type === "join") && q6e(i, e), + e.type === "note" && H6e(e.note.text, i), + e.type === "divider" && $6e(i), + e.type === "default" && e.descriptions.length === 0 && z6e(i, e), + e.type === "default" && e.descriptions.length > 0 && V6e(i, e) + const a = i.node().getBBox() + return ( + (n.width = a.width + 2 * we().state.padding), + (n.height = a.height + 2 * we().state.padding), + B6e.set(r, n), + n + ) + }, "drawState"), + L9 = 0, + Y6e = x(function (t, e, r) { + const n = x(function (l) { + switch (l) { + case kc.relationType.AGGREGATION: + return "aggregation" + case kc.relationType.EXTENSION: + return "extension" + case kc.relationType.COMPOSITION: + return "composition" + case kc.relationType.DEPENDENCY: + return "dependency" + } + }, "getRelationType") + e.points = e.points.filter((l) => !Number.isNaN(l.y)) + const i = e.points, + a = _p() + .x(function (l) { + return l.x + }) + .y(function (l) { + return l.y + }) + .curve(mh), + s = t + .append("path") + .attr("d", a(i)) + .attr("id", "edge" + L9) + .attr("class", "transition") + let o = "" + if ( + (we().state.arrowMarkerAbsolute && + ((o = + window.location.protocol + + "//" + + window.location.host + + window.location.pathname + + window.location.search), + (o = o.replace(/\(/g, "\\(")), + (o = o.replace(/\)/g, "\\)"))), + s.attr("marker-end", "url(" + o + "#" + n(kc.relationType.DEPENDENCY) + "End)"), + r.title !== void 0) + ) { + const l = t.append("g").attr("class", "stateLabel"), + { x: u, y: h } = Zt.calcLabelPosition(e.points), + d = it.getRows(r.title) + let f = 0 + const p = [] + let g = 0, + m = 0 + for (let b = 0; b <= d.length; b++) { + const w = l + .append("text") + .attr("text-anchor", "middle") + .text(d[b]) + .attr("x", u) + .attr("y", h + f), + T = w.node().getBBox() + ;(g = Math.max(g, T.width)), + (m = Math.min(m, T.x)), + ie.info(T.x, u, h + f), + f === 0 && ((f = w.node().getBBox().height), ie.info("Title height", f, h)), + p.push(w) + } + let v = f * d.length + if (d.length > 1) { + const b = (d.length - 1) * f * 0.5 + p.forEach((w, T) => w.attr("y", h + T * f - b)), (v = f * d.length) + } + const y = l.node().getBBox() + l + .insert("rect", ":first-child") + .attr("class", "box") + .attr("x", u - g / 2 - we().state.padding / 2) + .attr("y", h - v / 2 - we().state.padding / 2 - 3.5) + .attr("width", g + we().state.padding) + .attr("height", v + we().state.padding), + ie.info(y) + } + L9++ + }, "drawEdge"), + Ta, + A4 = {}, + X6e = x(function () {}, "setConf"), + j6e = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "dependencyEnd") + .attr("refX", 19) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 19,7 L9,13 L14,7 L9,1 Z") + }, "insertMarkers"), + K6e = x(function (t, e, r, n) { + Ta = we().state + const i = we().securityLevel + let a + i === "sandbox" && (a = rt("#i" + e)) + const s = rt(i === "sandbox" ? a.nodes()[0].contentDocument.body : "body"), + o = i === "sandbox" ? a.nodes()[0].contentDocument : document + ie.debug("Rendering diagram " + t) + const l = s.select(`[id='${e}']`) + j6e(l) + const u = n.db.getRootDoc() + WU(u, l, void 0, !1, s, o, n) + const h = Ta.padding, + d = l.node().getBBox(), + f = d.width + h * 2, + p = d.height + h * 2, + g = f * 1.75 + da(l, p, g, Ta.useMaxWidth), l.attr("viewBox", `${d.x - Ta.padding} ${d.y - Ta.padding} ` + f + " " + p) + }, "draw"), + Z6e = x((t) => (t ? t.length * Ta.fontSizeFactor : 1), "getLabelWidth"), + WU = x((t, e, r, n, i, a, s) => { + const o = new ga({ compound: !0, multigraph: !0 }) + let l, + u = !0 + for (l = 0; l < t.length; l++) + if (t[l].stmt === "relation") { + u = !1 + break + } + r + ? o.setGraph({ + rankdir: "LR", + multigraph: !0, + compound: !0, + ranker: "tight-tree", + ranksep: u ? 1 : Ta.edgeLengthFactor, + nodeSep: u ? 1 : 50, + isMultiGraph: !0, + }) + : o.setGraph({ + rankdir: "TB", + multigraph: !0, + compound: !0, + ranksep: u ? 1 : Ta.edgeLengthFactor, + nodeSep: u ? 1 : 50, + ranker: "tight-tree", + isMultiGraph: !0, + }), + o.setDefaultEdgeLabel(function () { + return {} + }) + const h = s.db.getStates(), + d = s.db.getRelations(), + f = Object.keys(h) + for (const y of f) { + const b = h[y] + r && (b.parentId = r) + let w + if (b.doc) { + let T = e.append("g").attr("id", b.id).attr("class", "stateGroup") + w = WU(b.doc, T, b.id, !n, i, a, s) + { + T = G6e(T, b, n) + let E = T.node().getBBox() + ;(w.width = E.width), + (w.height = E.height + Ta.padding / 2), + (A4[b.id] = { y: Ta.compositTitleSize }) + } + } else w = _9(e, b, o) + if (b.note) { + const T = { descriptions: [], id: b.id + "-note", note: b.note, type: "note" }, + E = _9(e, T, o) + b.note.position === "left of" + ? (o.setNode(w.id + "-note", E), o.setNode(w.id, w)) + : (o.setNode(w.id, w), o.setNode(w.id + "-note", E)), + o.setParent(w.id, w.id + "-group"), + o.setParent(w.id + "-note", w.id + "-group") + } else o.setNode(w.id, w) + } + ie.debug("Count=", o.nodeCount(), o) + let p = 0 + d.forEach(function (y) { + p++, + ie.debug("Setting edge", y), + o.setEdge( + y.id1, + y.id2, + { + relation: y, + width: Z6e(y.title), + height: Ta.labelHeight * it.getRows(y.title).length, + labelpos: "c", + }, + "id" + p, + ) + }), + xz(o), + ie.debug("Graph after layout", o.nodes()) + const g = e.node() + o.nodes().forEach(function (y) { + y !== void 0 && o.node(y) !== void 0 + ? (ie.warn("Node " + y + ": " + JSON.stringify(o.node(y))), + i + .select("#" + g.id + " #" + y) + .attr( + "transform", + "translate(" + + (o.node(y).x - o.node(y).width / 2) + + "," + + (o.node(y).y + (A4[y] ? A4[y].y : 0) - o.node(y).height / 2) + + " )", + ), + i.select("#" + g.id + " #" + y).attr("data-x-shift", o.node(y).x - o.node(y).width / 2), + a.querySelectorAll("#" + g.id + " #" + y + " .divider").forEach((w) => { + const T = w.parentElement + let E = 0, + S = 0 + T && + (T.parentElement && (E = T.parentElement.getBBox().width), + (S = parseInt(T.getAttribute("data-x-shift"), 10)), + Number.isNaN(S) && (S = 0)), + w.setAttribute("x1", 0 - S + 8), + w.setAttribute("x2", E - S - 8) + })) + : ie.debug("No Node " + y + ": " + JSON.stringify(o.node(y))) + }) + let m = g.getBBox() + o.edges().forEach(function (y) { + y !== void 0 && + o.edge(y) !== void 0 && + (ie.debug("Edge " + y.v + " -> " + y.w + ": " + JSON.stringify(o.edge(y))), + Y6e(e, o.edge(y), o.edge(y).relation)) + }), + (m = g.getBBox()) + const v = { id: r || "root", label: r || "root", width: 0, height: 0 } + return ( + (v.width = m.width + 2 * Ta.padding), + (v.height = m.height + 2 * Ta.padding), + ie.debug("Doc rendered", v, o), + v + ) + }, "renderDoc"), + Q6e = { setConf: X6e, draw: K6e }, + J6e = { + parser: LU, + get db() { + return new kc(1) + }, + renderer: Q6e, + styles: UU, + init: x((t) => { + t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute) + }, "init"), + } +const eTe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: J6e }, Symbol.toStringTag, { value: "Module" }), +) +var tTe = { + parser: LU, + get db() { + return new kc(2) + }, + renderer: _6e, + styles: UU, + init: x((t) => { + t.state || (t.state = {}), (t.state.arrowMarkerAbsolute = t.arrowMarkerAbsolute) + }, "init"), +} +const rTe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: tTe }, Symbol.toStringTag, { value: "Module" }), +) +var C6 = (function () { + var t = x(function (d, f, p, g) { + for (p = p || {}, g = d.length; g--; p[d[g]] = f); + return p + }, "o"), + e = [6, 8, 10, 11, 12, 14, 16, 17, 18], + r = [1, 9], + n = [1, 10], + i = [1, 11], + a = [1, 12], + s = [1, 13], + o = [1, 14], + l = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + journey: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + title: 11, + acc_title: 12, + acc_title_value: 13, + acc_descr: 14, + acc_descr_value: 15, + acc_descr_multiline_value: 16, + section: 17, + taskName: 18, + taskData: 19, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "journey", + 6: "EOF", + 8: "SPACE", + 10: "NEWLINE", + 11: "title", + 12: "acc_title", + 13: "acc_title_value", + 14: "acc_descr", + 15: "acc_descr_value", + 16: "acc_descr_multiline_value", + 17: "section", + 18: "taskName", + 19: "taskData", + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 2], + ], + performAction: x(function (f, p, g, m, v, y, b) { + var w = y.length - 1 + switch (v) { + case 1: + return y[w - 1] + case 2: + this.$ = [] + break + case 3: + y[w - 1].push(y[w]), (this.$ = y[w - 1]) + break + case 4: + case 5: + this.$ = y[w] + break + case 6: + case 7: + this.$ = [] + break + case 8: + m.setDiagramTitle(y[w].substr(6)), (this.$ = y[w].substr(6)) + break + case 9: + ;(this.$ = y[w].trim()), m.setAccTitle(this.$) + break + case 10: + case 11: + ;(this.$ = y[w].trim()), m.setAccDescription(this.$) + break + case 12: + m.addSection(y[w].substr(8)), (this.$ = y[w].substr(8)) + break + case 13: + m.addTask(y[w - 1], y[w]), (this.$ = "task") + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: r, 12: n, 14: i, 16: a, 17: s, 18: o }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { 9: 15, 11: r, 12: n, 14: i, 16: a, 17: s, 18: o }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 8]), + { 13: [1, 16] }, + { 15: [1, 17] }, + t(e, [2, 11]), + t(e, [2, 12]), + { 19: [1, 18] }, + t(e, [2, 4]), + t(e, [2, 9]), + t(e, [2, 10]), + t(e, [2, 13]), + ], + defaultActions: {}, + parseError: x(function (f, p) { + if (p.recoverable) this.trace(f) + else { + var g = new Error(f) + throw ((g.hash = p), g) + } + }, "parseError"), + parse: x(function (f) { + var p = this, + g = [0], + m = [], + v = [null], + y = [], + b = this.table, + w = "", + T = 0, + E = 0, + S = 2, + k = 1, + L = y.slice.call(arguments, 1), + A = Object.create(this.lexer), + R = { yy: {} } + for (var C in this.yy) Object.prototype.hasOwnProperty.call(this.yy, C) && (R.yy[C] = this.yy[C]) + A.setInput(f, R.yy), (R.yy.lexer = A), (R.yy.parser = this), typeof A.yylloc > "u" && (A.yylloc = {}) + var I = A.yylloc + y.push(I) + var P = A.options && A.options.ranges + typeof R.yy.parseError == "function" + ? (this.parseError = R.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function _(Q) { + ;(g.length = g.length - 2 * Q), (v.length = v.length - Q), (y.length = y.length - Q) + } + x(_, "popStack") + function N() { + var Q + return ( + (Q = m.pop() || A.lex() || k), + typeof Q != "number" && + (Q instanceof Array && ((m = Q), (Q = m.pop())), (Q = p.symbols_[Q] || Q)), + Q + ) + } + x(N, "lex") + for (var M, O, D, B, z = {}, F, G, q, Y; ; ) { + if ( + ((O = g[g.length - 1]), + this.defaultActions[O] + ? (D = this.defaultActions[O]) + : ((M === null || typeof M > "u") && (M = N()), (D = b[O] && b[O][M])), + typeof D > "u" || !D.length || !D[0]) + ) { + var ee = "" + Y = [] + for (F in b[O]) this.terminals_[F] && F > S && Y.push("'" + this.terminals_[F] + "'") + A.showPosition + ? (ee = + "Parse error on line " + + (T + 1) + + `: +` + + A.showPosition() + + ` +Expecting ` + + Y.join(", ") + + ", got '" + + (this.terminals_[M] || M) + + "'") + : (ee = + "Parse error on line " + + (T + 1) + + ": Unexpected " + + (M == k ? "end of input" : "'" + (this.terminals_[M] || M) + "'")), + this.parseError(ee, { + text: A.match, + token: this.terminals_[M] || M, + line: A.yylineno, + loc: I, + expected: Y, + }) + } + if (D[0] instanceof Array && D.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + O + ", token: " + M) + switch (D[0]) { + case 1: + g.push(M), + v.push(A.yytext), + y.push(A.yylloc), + g.push(D[1]), + (M = null), + (E = A.yyleng), + (w = A.yytext), + (T = A.yylineno), + (I = A.yylloc) + break + case 2: + if ( + ((G = this.productions_[D[1]][1]), + (z.$ = v[v.length - G]), + (z._$ = { + first_line: y[y.length - (G || 1)].first_line, + last_line: y[y.length - 1].last_line, + first_column: y[y.length - (G || 1)].first_column, + last_column: y[y.length - 1].last_column, + }), + P && (z._$.range = [y[y.length - (G || 1)].range[0], y[y.length - 1].range[1]]), + (B = this.performAction.apply(z, [w, E, T, R.yy, D[1], v, y].concat(L))), + typeof B < "u") + ) + return B + G && ((g = g.slice(0, -1 * G * 2)), (v = v.slice(0, -1 * G)), (y = y.slice(0, -1 * G))), + g.push(this.productions_[D[1]][0]), + v.push(z.$), + y.push(z._$), + (q = b[g[g.length - 2]][g[g.length - 1]]), + g.push(q) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + u = (function () { + var d = { + EOF: 1, + parseError: x(function (p, g) { + if (this.yy.parser) this.yy.parser.parseError(p, g) + else throw new Error(p) + }, "parseError"), + setInput: x(function (f, p) { + return ( + (this.yy = p || this.yy || {}), + (this._input = f), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var f = this._input[0] + ;(this.yytext += f), this.yyleng++, this.offset++, (this.match += f), (this.matched += f) + var p = f.match(/(?:\r\n?|\n).*/g) + return ( + p ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + f + ) + }, "input"), + unput: x(function (f) { + var p = f.length, + g = f.split(/(?:\r\n?|\n)/g) + ;(this._input = f + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - p)), + (this.offset -= p) + var m = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + g.length - 1 && (this.yylineno -= g.length - 1) + var v = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: g + ? (g.length === m.length ? this.yylloc.first_column : 0) + + m[m.length - g.length].length - + g[0].length + : this.yylloc.first_column - p, + }), + this.options.ranges && (this.yylloc.range = [v[0], v[0] + this.yyleng - p]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (f) { + this.unput(this.match.slice(f)) + }, "less"), + pastInput: x(function () { + var f = this.matched.substr(0, this.matched.length - this.match.length) + return (f.length > 20 ? "..." : "") + f.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var f = this.match + return ( + f.length < 20 && (f += this._input.substr(0, 20 - f.length)), + (f.substr(0, 20) + (f.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var f = this.pastInput(), + p = new Array(f.length + 1).join("-") + return ( + f + + this.upcomingInput() + + ` +` + + p + + "^" + ) + }, "showPosition"), + test_match: x(function (f, p) { + var g, m, v + if ( + (this.options.backtrack_lexer && + ((v = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (v.yylloc.range = this.yylloc.range.slice(0))), + (m = f[0].match(/(?:\r\n?|\n).*/g)), + m && (this.yylineno += m.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: m + ? m[m.length - 1].length - m[m.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + f[0].length, + }), + (this.yytext += f[0]), + (this.match += f[0]), + (this.matches = f), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(f[0].length)), + (this.matched += f[0]), + (g = this.performAction.call( + this, + this.yy, + this, + p, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + g) + ) + return g + if (this._backtrack) { + for (var y in v) this[y] = v[y] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var f, p, g, m + this._more || ((this.yytext = ""), (this.match = "")) + for (var v = this._currentRules(), y = 0; y < v.length; y++) + if (((g = this._input.match(this.rules[v[y]])), g && (!p || g[0].length > p[0].length))) { + if (((p = g), (m = y), this.options.backtrack_lexer)) { + if (((f = this.test_match(g, v[y])), f !== !1)) return f + if (this._backtrack) { + p = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return p + ? ((f = this.test_match(p, v[m])), f !== !1 ? f : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var p = this.next() + return p || this.lex() + }, "lex"), + begin: x(function (p) { + this.conditionStack.push(p) + }, "begin"), + popState: x(function () { + var p = this.conditionStack.length - 1 + return p > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (p) { + return ( + (p = this.conditionStack.length - 1 - Math.abs(p || 0)), + p >= 0 ? this.conditionStack[p] : "INITIAL" + ) + }, "topState"), + pushState: x(function (p) { + this.begin(p) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (p, g, m, v) { + switch (m) { + case 0: + break + case 1: + break + case 2: + return 10 + case 3: + break + case 4: + break + case 5: + return 4 + case 6: + return 11 + case 7: + return this.begin("acc_title"), 12 + case 8: + return this.popState(), "acc_title_value" + case 9: + return this.begin("acc_descr"), 14 + case 10: + return this.popState(), "acc_descr_value" + case 11: + this.begin("acc_descr_multiline") + break + case 12: + this.popState() + break + case 13: + return "acc_descr_multiline_value" + case 14: + return 17 + case 15: + return 18 + case 16: + return 19 + case 17: + return ":" + case 18: + return 6 + case 19: + return "INVALID" + } + }, "anonymous"), + rules: [ + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:journey\b)/i, + /^(?:title\s[^#\n;]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:section\s[^#:\n;]+)/i, + /^(?:[^#:\n;]+)/i, + /^(?::[^#\n;]+)/i, + /^(?::)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], inclusive: !0 }, + }, + } + return d + })() + l.lexer = u + function h() { + this.yy = {} + } + return x(h, "Parser"), (h.prototype = l), (l.Parser = h), new h() +})() +C6.parser = C6 +var nTe = C6, + Wd = "", + rS = [], + qp = [], + Wp = [], + iTe = x(function () { + ;(rS.length = 0), (qp.length = 0), (Wd = ""), (Wp.length = 0), Gn() + }, "clear"), + aTe = x(function (t) { + ;(Wd = t), rS.push(t) + }, "addSection"), + sTe = x(function () { + return rS + }, "getSections"), + oTe = x(function () { + let t = R9() + const e = 100 + let r = 0 + for (; !t && r < e; ) (t = R9()), r++ + return qp.push(...Wp), qp + }, "getTasks"), + lTe = x(function () { + const t = [] + return ( + qp.forEach((r) => { + r.people && t.push(...r.people) + }), + [...new Set(t)].sort() + ) + }, "updateActors"), + cTe = x(function (t, e) { + const r = e.substr(1).split(":") + let n = 0, + i = [] + r.length === 1 ? ((n = Number(r[0])), (i = [])) : ((n = Number(r[0])), (i = r[1].split(","))) + const a = i.map((o) => o.trim()), + s = { section: Wd, type: Wd, people: a, task: t, score: n } + Wp.push(s) + }, "addTask"), + uTe = x(function (t) { + const e = { section: Wd, type: Wd, description: t, task: t, classes: [] } + qp.push(e) + }, "addTaskOrg"), + R9 = x(function () { + const t = x(function (r) { + return Wp[r].processed + }, "compileTask") + let e = !0 + for (const [r, n] of Wp.entries()) t(r), (e = e && n.processed) + return e + }, "compileTasks"), + hTe = x(function () { + return lTe() + }, "getActors"), + N9 = { + getConfig: x(() => we().journey, "getConfig"), + clear: iTe, + setDiagramTitle: fi, + getDiagramTitle: Un, + setAccTitle: $n, + getAccTitle: Zn, + setAccDescription: Qn, + getAccDescription: Jn, + addSection: aTe, + getSections: sTe, + getTasks: oTe, + addTask: cTe, + addTaskOrg: uTe, + getActors: hTe, + }, + dTe = x( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + font-family: ${t.fontFamily}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor ? `fill: ${t.faceColor}` : "fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0 ? `fill: ${t.fillType0}` : ""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0 ? `fill: ${t.fillType1}` : ""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0 ? `fill: ${t.fillType2}` : ""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0 ? `fill: ${t.fillType3}` : ""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0 ? `fill: ${t.fillType4}` : ""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0 ? `fill: ${t.fillType5}` : ""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0 ? `fill: ${t.fillType6}` : ""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0 ? `fill: ${t.fillType7}` : ""}; + } + + .actor-0 { + ${t.actor0 ? `fill: ${t.actor0}` : ""}; + } + .actor-1 { + ${t.actor1 ? `fill: ${t.actor1}` : ""}; + } + .actor-2 { + ${t.actor2 ? `fill: ${t.actor2}` : ""}; + } + .actor-3 { + ${t.actor3 ? `fill: ${t.actor3}` : ""}; + } + .actor-4 { + ${t.actor4 ? `fill: ${t.actor4}` : ""}; + } + .actor-5 { + ${t.actor5 ? `fill: ${t.actor5}` : ""}; + } +`, + "getStyles", + ), + fTe = dTe, + nS = x(function (t, e) { + return sx(t, e) + }, "drawRect"), + pTe = x(function (t, e) { + const n = t + .append("circle") + .attr("cx", e.cx) + .attr("cy", e.cy) + .attr("class", "face") + .attr("r", 15) + .attr("stroke-width", 2) + .attr("overflow", "visible"), + i = t.append("g") + i + .append("circle") + .attr("cx", e.cx - 15 / 3) + .attr("cy", e.cy - 15 / 3) + .attr("r", 1.5) + .attr("stroke-width", 2) + .attr("fill", "#666") + .attr("stroke", "#666"), + i + .append("circle") + .attr("cx", e.cx + 15 / 3) + .attr("cy", e.cy - 15 / 3) + .attr("r", 1.5) + .attr("stroke-width", 2) + .attr("fill", "#666") + .attr("stroke", "#666") + function a(l) { + const u = Nd() + .startAngle(Math.PI / 2) + .endAngle(3 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175) + l.append("path") + .attr("class", "mouth") + .attr("d", u) + .attr("transform", "translate(" + e.cx + "," + (e.cy + 2) + ")") + } + x(a, "smile") + function s(l) { + const u = Nd() + .startAngle((3 * Math.PI) / 2) + .endAngle(5 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175) + l.append("path") + .attr("class", "mouth") + .attr("d", u) + .attr("transform", "translate(" + e.cx + "," + (e.cy + 7) + ")") + } + x(s, "sad") + function o(l) { + l.append("line") + .attr("class", "mouth") + .attr("stroke", 2) + .attr("x1", e.cx - 5) + .attr("y1", e.cy + 7) + .attr("x2", e.cx + 5) + .attr("y2", e.cy + 7) + .attr("class", "mouth") + .attr("stroke-width", "1px") + .attr("stroke", "#666") + } + return x(o, "ambivalent"), e.score > 3 ? a(i) : e.score < 3 ? s(i) : o(i), n + }, "drawFace"), + HU = x(function (t, e) { + const r = t.append("circle") + return ( + r.attr("cx", e.cx), + r.attr("cy", e.cy), + r.attr("class", "actor-" + e.pos), + r.attr("fill", e.fill), + r.attr("stroke", e.stroke), + r.attr("r", e.r), + r.class !== void 0 && r.attr("class", r.class), + e.title !== void 0 && r.append("title").text(e.title), + r + ) + }, "drawCircle"), + YU = x(function (t, e) { + return Mge(t, e) + }, "drawText"), + gTe = x(function (t, e) { + function r(i, a, s, o, l) { + return ( + i + + "," + + a + + " " + + (i + s) + + "," + + a + + " " + + (i + s) + + "," + + (a + o - l) + + " " + + (i + s - l * 1.2) + + "," + + (a + o) + + " " + + i + + "," + + (a + o) + ) + } + x(r, "genPoints") + const n = t.append("polygon") + n.attr("points", r(e.x, e.y, 50, 20, 7)), + n.attr("class", "labelBox"), + (e.y = e.y + e.labelMargin), + (e.x = e.x + 0.5 * e.labelMargin), + YU(t, e) + }, "drawLabel"), + mTe = x(function (t, e, r) { + const n = t.append("g"), + i = Eu() + ;(i.x = e.x), + (i.y = e.y), + (i.fill = e.fill), + (i.width = r.width * e.taskCount + r.diagramMarginX * (e.taskCount - 1)), + (i.height = r.height), + (i.class = "journey-section section-type-" + e.num), + (i.rx = 3), + (i.ry = 3), + nS(n, i), + XU(r)( + e.text, + n, + i.x, + i.y, + i.width, + i.height, + { class: "journey-section section-type-" + e.num }, + r, + e.colour, + ) + }, "drawSection"), + D9 = -1, + vTe = x(function (t, e, r) { + const n = e.x + r.width / 2, + i = t.append("g") + D9++ + const a = 300 + 5 * 30 + i + .append("line") + .attr("id", "task" + D9) + .attr("x1", n) + .attr("y1", e.y) + .attr("x2", n) + .attr("y2", a) + .attr("class", "task-line") + .attr("stroke-width", "1px") + .attr("stroke-dasharray", "4 2") + .attr("stroke", "#666"), + pTe(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score }) + const s = Eu() + ;(s.x = e.x), + (s.y = e.y), + (s.fill = e.fill), + (s.width = r.width), + (s.height = r.height), + (s.class = "task task-type-" + e.num), + (s.rx = 3), + (s.ry = 3), + nS(i, s) + let o = e.x + 14 + e.people.forEach((l) => { + const u = e.actors[l].color, + h = { cx: o, cy: e.y, r: 7, fill: u, stroke: "#000", title: l, pos: e.actors[l].position } + HU(i, h), (o += 10) + }), + XU(r)(e.task, i, s.x, s.y, s.width, s.height, { class: "task" }, r, e.colour) + }, "drawTask"), + yTe = x(function (t, e) { + Cz(t, e) + }, "drawBackgroundRect"), + XU = (function () { + function t(i, a, s, o, l, u, h, d) { + const f = a + .append("text") + .attr("x", s + l / 2) + .attr("y", o + u / 2 + 5) + .style("font-color", d) + .style("text-anchor", "middle") + .text(i) + n(f, h) + } + x(t, "byText") + function e(i, a, s, o, l, u, h, d, f) { + const { taskFontSize: p, taskFontFamily: g } = d, + m = i.split(/<br\s*\/?>/gi) + for (let v = 0; v < m.length; v++) { + const y = v * p - (p * (m.length - 1)) / 2, + b = a + .append("text") + .attr("x", s + l / 2) + .attr("y", o) + .attr("fill", f) + .style("text-anchor", "middle") + .style("font-size", p) + .style("font-family", g) + b + .append("tspan") + .attr("x", s + l / 2) + .attr("dy", y) + .text(m[v]), + b + .attr("y", o + u / 2) + .attr("dominant-baseline", "central") + .attr("alignment-baseline", "central"), + n(b, h) + } + } + x(e, "byTspan") + function r(i, a, s, o, l, u, h, d) { + const f = a.append("switch"), + g = f + .append("foreignObject") + .attr("x", s) + .attr("y", o) + .attr("width", l) + .attr("height", u) + .attr("position", "fixed") + .append("xhtml:div") + .style("display", "table") + .style("height", "100%") + .style("width", "100%") + g + .append("div") + .attr("class", "label") + .style("display", "table-cell") + .style("text-align", "center") + .style("vertical-align", "middle") + .text(i), + e(i, f, s, o, l, u, h, d), + n(g, h) + } + x(r, "byFo") + function n(i, a) { + for (const s in a) s in a && i.attr(s, a[s]) + } + return ( + x(n, "_setTextAttrs"), + function (i) { + return i.textPlacement === "fo" ? r : i.textPlacement === "old" ? t : e + } + ) + })(), + xTe = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z") + }, "initGraphics"), + Hp = { + drawRect: nS, + drawCircle: HU, + drawSection: mTe, + drawText: YU, + drawLabel: gTe, + drawTask: vTe, + drawBackgroundRect: yTe, + initGraphics: xTe, + }, + bTe = x(function (t) { + Object.keys(t).forEach(function (r) { + Sx[r] = t[r] + }) + }, "setConf"), + Do = {} +function jU(t) { + const e = we().journey + let r = 60 + Object.keys(Do).forEach((n) => { + const i = Do[n].color, + a = { cx: 20, cy: r, r: 7, fill: i, stroke: "#000", pos: Do[n].position } + Hp.drawCircle(t, a) + const s = { x: 40, y: r + 7, fill: "#666", text: n, textMargin: e.boxTextMargin | 5 } + Hp.drawText(t, s), (r += 20) + }) +} +x(jU, "drawActorLegend") +var Sx = we().journey, + Sc = Sx.leftMargin, + wTe = x(function (t, e, r, n) { + const i = we().journey, + a = we().securityLevel + let s + a === "sandbox" && (s = rt("#i" + e)) + const o = rt(a === "sandbox" ? s.nodes()[0].contentDocument.body : "body") + $a.init() + const l = o.select("#" + e) + Hp.initGraphics(l) + const u = n.db.getTasks(), + h = n.db.getDiagramTitle(), + d = n.db.getActors() + for (const y in Do) delete Do[y] + let f = 0 + d.forEach((y) => { + ;(Do[y] = { color: i.actorColours[f % i.actorColours.length], position: f }), f++ + }), + jU(l), + $a.insert(0, 0, Sc, Object.keys(Do).length * 50), + TTe(l, u, 0) + const p = $a.getBounds() + h && l.append("text").text(h).attr("x", Sc).attr("font-size", "4ex").attr("font-weight", "bold").attr("y", 25) + const g = p.stopy - p.starty + 2 * i.diagramMarginY, + m = Sc + p.stopx + 2 * i.diagramMarginX + da(l, g, m, i.useMaxWidth), + l + .append("line") + .attr("x1", Sc) + .attr("y1", i.height * 4) + .attr("x2", m - Sc - 4) + .attr("y2", i.height * 4) + .attr("stroke-width", 4) + .attr("stroke", "black") + .attr("marker-end", "url(#arrowhead)") + const v = h ? 70 : 0 + l.attr("viewBox", `${p.startx} -25 ${m} ${g + v}`), + l.attr("preserveAspectRatio", "xMinYMin meet"), + l.attr("height", g + v + 25) + }, "draw"), + $a = { + data: { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }, + verticalPos: 0, + sequenceItems: [], + init: x(function () { + ;(this.sequenceItems = []), + (this.data = { startx: void 0, stopx: void 0, starty: void 0, stopy: void 0 }), + (this.verticalPos = 0) + }, "init"), + updateVal: x(function (t, e, r, n) { + t[e] === void 0 ? (t[e] = r) : (t[e] = n(r, t[e])) + }, "updateVal"), + updateBounds: x(function (t, e, r, n) { + const i = we().journey, + a = this + let s = 0 + function o(l) { + return x(function (h) { + s++ + const d = a.sequenceItems.length - s + 1 + a.updateVal(h, "starty", e - d * i.boxMargin, Math.min), + a.updateVal(h, "stopy", n + d * i.boxMargin, Math.max), + a.updateVal($a.data, "startx", t - d * i.boxMargin, Math.min), + a.updateVal($a.data, "stopx", r + d * i.boxMargin, Math.max), + l !== "activation" && + (a.updateVal(h, "startx", t - d * i.boxMargin, Math.min), + a.updateVal(h, "stopx", r + d * i.boxMargin, Math.max), + a.updateVal($a.data, "starty", e - d * i.boxMargin, Math.min), + a.updateVal($a.data, "stopy", n + d * i.boxMargin, Math.max)) + }, "updateItemBounds") + } + x(o, "updateFn"), this.sequenceItems.forEach(o()) + }, "updateBounds"), + insert: x(function (t, e, r, n) { + const i = Math.min(t, r), + a = Math.max(t, r), + s = Math.min(e, n), + o = Math.max(e, n) + this.updateVal($a.data, "startx", i, Math.min), + this.updateVal($a.data, "starty", s, Math.min), + this.updateVal($a.data, "stopx", a, Math.max), + this.updateVal($a.data, "stopy", o, Math.max), + this.updateBounds(i, s, a, o) + }, "insert"), + bumpVerticalPos: x(function (t) { + ;(this.verticalPos = this.verticalPos + t), (this.data.stopy = this.verticalPos) + }, "bumpVerticalPos"), + getVerticalPos: x(function () { + return this.verticalPos + }, "getVerticalPos"), + getBounds: x(function () { + return this.data + }, "getBounds"), + }, + _4 = Sx.sectionFills, + I9 = Sx.sectionColours, + TTe = x(function (t, e, r) { + const n = we().journey + let i = "" + const a = n.height * 2 + n.diagramMarginY, + s = r + a + let o = 0, + l = "#CCC", + u = "black", + h = 0 + for (const [d, f] of e.entries()) { + if (i !== f.section) { + ;(l = _4[o % _4.length]), (h = o % _4.length), (u = I9[o % I9.length]) + let g = 0 + const m = f.section + for (let y = d; y < e.length && e[y].section == m; y++) g = g + 1 + const v = { + x: d * n.taskMargin + d * n.width + Sc, + y: 50, + text: f.section, + fill: l, + num: h, + colour: u, + taskCount: g, + } + Hp.drawSection(t, v, n), (i = f.section), o++ + } + const p = f.people.reduce((g, m) => (Do[m] && (g[m] = Do[m]), g), {}) + ;(f.x = d * n.taskMargin + d * n.width + Sc), + (f.y = s), + (f.width = n.diagramMarginX), + (f.height = n.diagramMarginY), + (f.colour = u), + (f.fill = l), + (f.num = h), + (f.actors = p), + Hp.drawTask(t, f, n), + $a.insert(f.x, f.y, f.x + f.width + n.taskMargin, 300 + 5 * 30) + } + }, "drawTasks"), + M9 = { setConf: bTe, draw: wTe }, + ETe = { + parser: nTe, + db: N9, + renderer: M9, + styles: fTe, + init: x((t) => { + M9.setConf(t.journey), N9.clear() + }, "init"), + } +const kTe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: ETe }, Symbol.toStringTag, { value: "Module" }), +) +var A6 = (function () { + var t = x(function (f, p, g, m) { + for (g = g || {}, m = f.length; m--; g[f[m]] = p); + return g + }, "o"), + e = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21], + r = [1, 9], + n = [1, 10], + i = [1, 11], + a = [1, 12], + s = [1, 13], + o = [1, 16], + l = [1, 17], + u = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + timeline: 4, + document: 5, + EOF: 6, + line: 7, + SPACE: 8, + statement: 9, + NEWLINE: 10, + title: 11, + acc_title: 12, + acc_title_value: 13, + acc_descr: 14, + acc_descr_value: 15, + acc_descr_multiline_value: 16, + section: 17, + period_statement: 18, + event_statement: 19, + period: 20, + event: 21, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "timeline", + 6: "EOF", + 8: "SPACE", + 10: "NEWLINE", + 11: "title", + 12: "acc_title", + 13: "acc_title_value", + 14: "acc_descr", + 15: "acc_descr_value", + 16: "acc_descr_multiline_value", + 17: "section", + 20: "period", + 21: "event", + }, + productions_: [ + 0, + [3, 3], + [5, 0], + [5, 2], + [7, 2], + [7, 1], + [7, 1], + [7, 1], + [9, 1], + [9, 2], + [9, 2], + [9, 1], + [9, 1], + [9, 1], + [9, 1], + [18, 1], + [19, 1], + ], + performAction: x(function (p, g, m, v, y, b, w) { + var T = b.length - 1 + switch (y) { + case 1: + return b[T - 1] + case 2: + this.$ = [] + break + case 3: + b[T - 1].push(b[T]), (this.$ = b[T - 1]) + break + case 4: + case 5: + this.$ = b[T] + break + case 6: + case 7: + this.$ = [] + break + case 8: + v.getCommonDb().setDiagramTitle(b[T].substr(6)), (this.$ = b[T].substr(6)) + break + case 9: + ;(this.$ = b[T].trim()), v.getCommonDb().setAccTitle(this.$) + break + case 10: + case 11: + ;(this.$ = b[T].trim()), v.getCommonDb().setAccDescription(this.$) + break + case 12: + v.addSection(b[T].substr(8)), (this.$ = b[T].substr(8)) + break + case 15: + v.addTask(b[T], 0, ""), (this.$ = b[T]) + break + case 16: + v.addEvent(b[T].substr(2)), (this.$ = b[T]) + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + t(e, [2, 2], { 5: 3 }), + { + 6: [1, 4], + 7: 5, + 8: [1, 6], + 9: 7, + 10: [1, 8], + 11: r, + 12: n, + 14: i, + 16: a, + 17: s, + 18: 14, + 19: 15, + 20: o, + 21: l, + }, + t(e, [2, 7], { 1: [2, 1] }), + t(e, [2, 3]), + { 9: 18, 11: r, 12: n, 14: i, 16: a, 17: s, 18: 14, 19: 15, 20: o, 21: l }, + t(e, [2, 5]), + t(e, [2, 6]), + t(e, [2, 8]), + { 13: [1, 19] }, + { 15: [1, 20] }, + t(e, [2, 11]), + t(e, [2, 12]), + t(e, [2, 13]), + t(e, [2, 14]), + t(e, [2, 15]), + t(e, [2, 16]), + t(e, [2, 4]), + t(e, [2, 9]), + t(e, [2, 10]), + ], + defaultActions: {}, + parseError: x(function (p, g) { + if (g.recoverable) this.trace(p) + else { + var m = new Error(p) + throw ((m.hash = g), m) + } + }, "parseError"), + parse: x(function (p) { + var g = this, + m = [0], + v = [], + y = [null], + b = [], + w = this.table, + T = "", + E = 0, + S = 0, + k = 2, + L = 1, + A = b.slice.call(arguments, 1), + R = Object.create(this.lexer), + C = { yy: {} } + for (var I in this.yy) Object.prototype.hasOwnProperty.call(this.yy, I) && (C.yy[I] = this.yy[I]) + R.setInput(p, C.yy), (C.yy.lexer = R), (C.yy.parser = this), typeof R.yylloc > "u" && (R.yylloc = {}) + var P = R.yylloc + b.push(P) + var _ = R.options && R.options.ranges + typeof C.yy.parseError == "function" + ? (this.parseError = C.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function N(oe) { + ;(m.length = m.length - 2 * oe), (y.length = y.length - oe), (b.length = b.length - oe) + } + x(N, "popStack") + function M() { + var oe + return ( + (oe = v.pop() || R.lex() || L), + typeof oe != "number" && + (oe instanceof Array && ((v = oe), (oe = v.pop())), (oe = g.symbols_[oe] || oe)), + oe + ) + } + x(M, "lex") + for (var O, D, B, z, F = {}, G, q, Y, ee; ; ) { + if ( + ((D = m[m.length - 1]), + this.defaultActions[D] + ? (B = this.defaultActions[D]) + : ((O === null || typeof O > "u") && (O = M()), (B = w[D] && w[D][O])), + typeof B > "u" || !B.length || !B[0]) + ) { + var Q = "" + ee = [] + for (G in w[D]) this.terminals_[G] && G > k && ee.push("'" + this.terminals_[G] + "'") + R.showPosition + ? (Q = + "Parse error on line " + + (E + 1) + + `: +` + + R.showPosition() + + ` +Expecting ` + + ee.join(", ") + + ", got '" + + (this.terminals_[O] || O) + + "'") + : (Q = + "Parse error on line " + + (E + 1) + + ": Unexpected " + + (O == L ? "end of input" : "'" + (this.terminals_[O] || O) + "'")), + this.parseError(Q, { + text: R.match, + token: this.terminals_[O] || O, + line: R.yylineno, + loc: P, + expected: ee, + }) + } + if (B[0] instanceof Array && B.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + D + ", token: " + O) + switch (B[0]) { + case 1: + m.push(O), + y.push(R.yytext), + b.push(R.yylloc), + m.push(B[1]), + (O = null), + (S = R.yyleng), + (T = R.yytext), + (E = R.yylineno), + (P = R.yylloc) + break + case 2: + if ( + ((q = this.productions_[B[1]][1]), + (F.$ = y[y.length - q]), + (F._$ = { + first_line: b[b.length - (q || 1)].first_line, + last_line: b[b.length - 1].last_line, + first_column: b[b.length - (q || 1)].first_column, + last_column: b[b.length - 1].last_column, + }), + _ && (F._$.range = [b[b.length - (q || 1)].range[0], b[b.length - 1].range[1]]), + (z = this.performAction.apply(F, [T, S, E, C.yy, B[1], y, b].concat(A))), + typeof z < "u") + ) + return z + q && ((m = m.slice(0, -1 * q * 2)), (y = y.slice(0, -1 * q)), (b = b.slice(0, -1 * q))), + m.push(this.productions_[B[1]][0]), + y.push(F.$), + b.push(F._$), + (Y = w[m[m.length - 2]][m[m.length - 1]]), + m.push(Y) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + h = (function () { + var f = { + EOF: 1, + parseError: x(function (g, m) { + if (this.yy.parser) this.yy.parser.parseError(g, m) + else throw new Error(g) + }, "parseError"), + setInput: x(function (p, g) { + return ( + (this.yy = g || this.yy || {}), + (this._input = p), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var p = this._input[0] + ;(this.yytext += p), this.yyleng++, this.offset++, (this.match += p), (this.matched += p) + var g = p.match(/(?:\r\n?|\n).*/g) + return ( + g ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + p + ) + }, "input"), + unput: x(function (p) { + var g = p.length, + m = p.split(/(?:\r\n?|\n)/g) + ;(this._input = p + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - g)), + (this.offset -= g) + var v = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + m.length - 1 && (this.yylineno -= m.length - 1) + var y = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: m + ? (m.length === v.length ? this.yylloc.first_column : 0) + + v[v.length - m.length].length - + m[0].length + : this.yylloc.first_column - g, + }), + this.options.ranges && (this.yylloc.range = [y[0], y[0] + this.yyleng - g]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (p) { + this.unput(this.match.slice(p)) + }, "less"), + pastInput: x(function () { + var p = this.matched.substr(0, this.matched.length - this.match.length) + return (p.length > 20 ? "..." : "") + p.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var p = this.match + return ( + p.length < 20 && (p += this._input.substr(0, 20 - p.length)), + (p.substr(0, 20) + (p.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var p = this.pastInput(), + g = new Array(p.length + 1).join("-") + return ( + p + + this.upcomingInput() + + ` +` + + g + + "^" + ) + }, "showPosition"), + test_match: x(function (p, g) { + var m, v, y + if ( + (this.options.backtrack_lexer && + ((y = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (y.yylloc.range = this.yylloc.range.slice(0))), + (v = p[0].match(/(?:\r\n?|\n).*/g)), + v && (this.yylineno += v.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: v + ? v[v.length - 1].length - v[v.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + p[0].length, + }), + (this.yytext += p[0]), + (this.match += p[0]), + (this.matches = p), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(p[0].length)), + (this.matched += p[0]), + (m = this.performAction.call( + this, + this.yy, + this, + g, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + m) + ) + return m + if (this._backtrack) { + for (var b in y) this[b] = y[b] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var p, g, m, v + this._more || ((this.yytext = ""), (this.match = "")) + for (var y = this._currentRules(), b = 0; b < y.length; b++) + if (((m = this._input.match(this.rules[y[b]])), m && (!g || m[0].length > g[0].length))) { + if (((g = m), (v = b), this.options.backtrack_lexer)) { + if (((p = this.test_match(m, y[b])), p !== !1)) return p + if (this._backtrack) { + g = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return g + ? ((p = this.test_match(g, y[v])), p !== !1 ? p : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var g = this.next() + return g || this.lex() + }, "lex"), + begin: x(function (g) { + this.conditionStack.push(g) + }, "begin"), + popState: x(function () { + var g = this.conditionStack.length - 1 + return g > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (g) { + return ( + (g = this.conditionStack.length - 1 - Math.abs(g || 0)), + g >= 0 ? this.conditionStack[g] : "INITIAL" + ) + }, "topState"), + pushState: x(function (g) { + this.begin(g) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (g, m, v, y) { + switch (v) { + case 0: + break + case 1: + break + case 2: + return 10 + case 3: + break + case 4: + break + case 5: + return 4 + case 6: + return 11 + case 7: + return this.begin("acc_title"), 12 + case 8: + return this.popState(), "acc_title_value" + case 9: + return this.begin("acc_descr"), 14 + case 10: + return this.popState(), "acc_descr_value" + case 11: + this.begin("acc_descr_multiline") + break + case 12: + this.popState() + break + case 13: + return "acc_descr_multiline_value" + case 14: + return 17 + case 15: + return 21 + case 16: + return 20 + case 17: + return 6 + case 18: + return "INVALID" + } + }, "anonymous"), + rules: [ + /^(?:%(?!\{)[^\n]*)/i, + /^(?:[^\}]%%[^\n]*)/i, + /^(?:[\n]+)/i, + /^(?:\s+)/i, + /^(?:#[^\n]*)/i, + /^(?:timeline\b)/i, + /^(?:title\s[^\n]+)/i, + /^(?:accTitle\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*:\s*)/i, + /^(?:(?!\n||)*[^\n]*)/i, + /^(?:accDescr\s*\{\s*)/i, + /^(?:[\}])/i, + /^(?:[^\}]*)/i, + /^(?:section\s[^:\n]+)/i, + /^(?::\s[^:\n]+)/i, + /^(?:[^#:\n]+)/i, + /^(?:$)/i, + /^(?:.)/i, + ], + conditions: { + acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, + acc_descr: { rules: [10], inclusive: !1 }, + acc_title: { rules: [8], inclusive: !1 }, + INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18], inclusive: !0 }, + }, + } + return f + })() + u.lexer = h + function d() { + this.yy = {} + } + return x(d, "Parser"), (d.prototype = u), (u.Parser = d), new d() +})() +A6.parser = A6 +var STe = A6, + KU = {} +w2(KU, { + addEvent: () => iq, + addSection: () => eq, + addTask: () => nq, + addTaskOrg: () => aq, + clear: () => JU, + default: () => CTe, + getCommonDb: () => QU, + getSections: () => tq, + getTasks: () => rq, +}) +var Hd = "", + ZU = 0, + iS = [], + Hy = [], + Yd = [], + QU = x(() => NT, "getCommonDb"), + JU = x(function () { + ;(iS.length = 0), (Hy.length = 0), (Hd = ""), (Yd.length = 0), Gn() + }, "clear"), + eq = x(function (t) { + ;(Hd = t), iS.push(t) + }, "addSection"), + tq = x(function () { + return iS + }, "getSections"), + rq = x(function () { + let t = O9() + const e = 100 + let r = 0 + for (; !t && r < e; ) (t = O9()), r++ + return Hy.push(...Yd), Hy + }, "getTasks"), + nq = x(function (t, e, r) { + const n = { id: ZU++, section: Hd, type: Hd, task: t, score: e || 0, events: r ? [r] : [] } + Yd.push(n) + }, "addTask"), + iq = x(function (t) { + Yd.find((r) => r.id === ZU - 1).events.push(t) + }, "addEvent"), + aq = x(function (t) { + const e = { section: Hd, type: Hd, description: t, task: t, classes: [] } + Hy.push(e) + }, "addTaskOrg"), + O9 = x(function () { + const t = x(function (r) { + return Yd[r].processed + }, "compileTask") + let e = !0 + for (const [r, n] of Yd.entries()) t(r), (e = e && n.processed) + return e + }, "compileTasks"), + CTe = { + clear: JU, + getCommonDb: QU, + addSection: eq, + getSections: tq, + getTasks: rq, + addTask: nq, + addTaskOrg: aq, + addEvent: iq, + }, + ATe = 12, + Cx = x(function (t, e) { + const r = t.append("rect") + return ( + r.attr("x", e.x), + r.attr("y", e.y), + r.attr("fill", e.fill), + r.attr("stroke", e.stroke), + r.attr("width", e.width), + r.attr("height", e.height), + r.attr("rx", e.rx), + r.attr("ry", e.ry), + e.class !== void 0 && r.attr("class", e.class), + r + ) + }, "drawRect"), + _Te = x(function (t, e) { + const n = t + .append("circle") + .attr("cx", e.cx) + .attr("cy", e.cy) + .attr("class", "face") + .attr("r", 15) + .attr("stroke-width", 2) + .attr("overflow", "visible"), + i = t.append("g") + i + .append("circle") + .attr("cx", e.cx - 15 / 3) + .attr("cy", e.cy - 15 / 3) + .attr("r", 1.5) + .attr("stroke-width", 2) + .attr("fill", "#666") + .attr("stroke", "#666"), + i + .append("circle") + .attr("cx", e.cx + 15 / 3) + .attr("cy", e.cy - 15 / 3) + .attr("r", 1.5) + .attr("stroke-width", 2) + .attr("fill", "#666") + .attr("stroke", "#666") + function a(l) { + const u = Nd() + .startAngle(Math.PI / 2) + .endAngle(3 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175) + l.append("path") + .attr("class", "mouth") + .attr("d", u) + .attr("transform", "translate(" + e.cx + "," + (e.cy + 2) + ")") + } + x(a, "smile") + function s(l) { + const u = Nd() + .startAngle((3 * Math.PI) / 2) + .endAngle(5 * (Math.PI / 2)) + .innerRadius(7.5) + .outerRadius(6.8181818181818175) + l.append("path") + .attr("class", "mouth") + .attr("d", u) + .attr("transform", "translate(" + e.cx + "," + (e.cy + 7) + ")") + } + x(s, "sad") + function o(l) { + l.append("line") + .attr("class", "mouth") + .attr("stroke", 2) + .attr("x1", e.cx - 5) + .attr("y1", e.cy + 7) + .attr("x2", e.cx + 5) + .attr("y2", e.cy + 7) + .attr("class", "mouth") + .attr("stroke-width", "1px") + .attr("stroke", "#666") + } + return x(o, "ambivalent"), e.score > 3 ? a(i) : e.score < 3 ? s(i) : o(i), n + }, "drawFace"), + LTe = x(function (t, e) { + const r = t.append("circle") + return ( + r.attr("cx", e.cx), + r.attr("cy", e.cy), + r.attr("class", "actor-" + e.pos), + r.attr("fill", e.fill), + r.attr("stroke", e.stroke), + r.attr("r", e.r), + r.class !== void 0 && r.attr("class", r.class), + e.title !== void 0 && r.append("title").text(e.title), + r + ) + }, "drawCircle"), + sq = x(function (t, e) { + const r = e.text.replace(/<br\s*\/?>/gi, " "), + n = t.append("text") + n.attr("x", e.x), + n.attr("y", e.y), + n.attr("class", "legend"), + n.style("text-anchor", e.anchor), + e.class !== void 0 && n.attr("class", e.class) + const i = n.append("tspan") + return i.attr("x", e.x + e.textMargin * 2), i.text(r), n + }, "drawText"), + RTe = x(function (t, e) { + function r(i, a, s, o, l) { + return ( + i + + "," + + a + + " " + + (i + s) + + "," + + a + + " " + + (i + s) + + "," + + (a + o - l) + + " " + + (i + s - l * 1.2) + + "," + + (a + o) + + " " + + i + + "," + + (a + o) + ) + } + x(r, "genPoints") + const n = t.append("polygon") + n.attr("points", r(e.x, e.y, 50, 20, 7)), + n.attr("class", "labelBox"), + (e.y = e.y + e.labelMargin), + (e.x = e.x + 0.5 * e.labelMargin), + sq(t, e) + }, "drawLabel"), + NTe = x(function (t, e, r) { + const n = t.append("g"), + i = aS() + ;(i.x = e.x), + (i.y = e.y), + (i.fill = e.fill), + (i.width = r.width), + (i.height = r.height), + (i.class = "journey-section section-type-" + e.num), + (i.rx = 3), + (i.ry = 3), + Cx(n, i), + oq(r)( + e.text, + n, + i.x, + i.y, + i.width, + i.height, + { class: "journey-section section-type-" + e.num }, + r, + e.colour, + ) + }, "drawSection"), + P9 = -1, + DTe = x(function (t, e, r) { + const n = e.x + r.width / 2, + i = t.append("g") + P9++ + const a = 300 + 5 * 30 + i + .append("line") + .attr("id", "task" + P9) + .attr("x1", n) + .attr("y1", e.y) + .attr("x2", n) + .attr("y2", a) + .attr("class", "task-line") + .attr("stroke-width", "1px") + .attr("stroke-dasharray", "4 2") + .attr("stroke", "#666"), + _Te(i, { cx: n, cy: 300 + (5 - e.score) * 30, score: e.score }) + const s = aS() + ;(s.x = e.x), + (s.y = e.y), + (s.fill = e.fill), + (s.width = r.width), + (s.height = r.height), + (s.class = "task task-type-" + e.num), + (s.rx = 3), + (s.ry = 3), + Cx(i, s), + oq(r)(e.task, i, s.x, s.y, s.width, s.height, { class: "task" }, r, e.colour) + }, "drawTask"), + ITe = x(function (t, e) { + Cx(t, { + x: e.startx, + y: e.starty, + width: e.stopx - e.startx, + height: e.stopy - e.starty, + fill: e.fill, + class: "rect", + }).lower() + }, "drawBackgroundRect"), + MTe = x(function () { + return { + x: 0, + y: 0, + fill: void 0, + "text-anchor": "start", + width: 100, + height: 100, + textMargin: 0, + rx: 0, + ry: 0, + } + }, "getTextObj"), + aS = x(function () { + return { x: 0, y: 0, width: 100, anchor: "start", height: 100, rx: 0, ry: 0 } + }, "getNoteRect"), + oq = (function () { + function t(i, a, s, o, l, u, h, d) { + const f = a + .append("text") + .attr("x", s + l / 2) + .attr("y", o + u / 2 + 5) + .style("font-color", d) + .style("text-anchor", "middle") + .text(i) + n(f, h) + } + x(t, "byText") + function e(i, a, s, o, l, u, h, d, f) { + const { taskFontSize: p, taskFontFamily: g } = d, + m = i.split(/<br\s*\/?>/gi) + for (let v = 0; v < m.length; v++) { + const y = v * p - (p * (m.length - 1)) / 2, + b = a + .append("text") + .attr("x", s + l / 2) + .attr("y", o) + .attr("fill", f) + .style("text-anchor", "middle") + .style("font-size", p) + .style("font-family", g) + b + .append("tspan") + .attr("x", s + l / 2) + .attr("dy", y) + .text(m[v]), + b + .attr("y", o + u / 2) + .attr("dominant-baseline", "central") + .attr("alignment-baseline", "central"), + n(b, h) + } + } + x(e, "byTspan") + function r(i, a, s, o, l, u, h, d) { + const f = a.append("switch"), + g = f + .append("foreignObject") + .attr("x", s) + .attr("y", o) + .attr("width", l) + .attr("height", u) + .attr("position", "fixed") + .append("xhtml:div") + .style("display", "table") + .style("height", "100%") + .style("width", "100%") + g + .append("div") + .attr("class", "label") + .style("display", "table-cell") + .style("text-align", "center") + .style("vertical-align", "middle") + .text(i), + e(i, f, s, o, l, u, h, d), + n(g, h) + } + x(r, "byFo") + function n(i, a) { + for (const s in a) s in a && i.attr(s, a[s]) + } + return ( + x(n, "_setTextAttrs"), + function (i) { + return i.textPlacement === "fo" ? r : i.textPlacement === "old" ? t : e + } + ) + })(), + OTe = x(function (t) { + t.append("defs") + .append("marker") + .attr("id", "arrowhead") + .attr("refX", 5) + .attr("refY", 2) + .attr("markerWidth", 6) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0,0 V 4 L6,2 Z") + }, "initGraphics") +function sS(t, e) { + t.each(function () { + var r = rt(this), + n = r + .text() + .split(/(\s+|<br>)/) + .reverse(), + i, + a = [], + s = 1.1, + o = r.attr("y"), + l = parseFloat(r.attr("dy")), + u = r + .text(null) + .append("tspan") + .attr("x", 0) + .attr("y", o) + .attr("dy", l + "em") + for (let h = 0; h < n.length; h++) + (i = n[n.length - 1 - h]), + a.push(i), + u.text(a.join(" ").trim()), + (u.node().getComputedTextLength() > e || i === "<br>") && + (a.pop(), + u.text(a.join(" ").trim()), + i === "<br>" ? (a = [""]) : (a = [i]), + (u = r + .append("tspan") + .attr("x", 0) + .attr("y", o) + .attr("dy", s + "em") + .text(i))) + }) +} +x(sS, "wrap") +var PTe = x(function (t, e, r, n) { + var d + const i = (r % ATe) - 1, + a = t.append("g") + ;(e.section = i), a.attr("class", (e.class ? e.class + " " : "") + "timeline-node " + ("section-" + i)) + const s = a.append("g"), + o = a.append("g"), + u = o + .append("text") + .text(e.descr) + .attr("dy", "1em") + .attr("alignment-baseline", "middle") + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle") + .call(sS, e.width) + .node() + .getBBox(), + h = (d = n.fontSize) != null && d.replace ? n.fontSize.replace("px", "") : n.fontSize + return ( + (e.height = u.height + h * 1.1 * 0.5 + e.padding), + (e.height = Math.max(e.height, e.maxHeight)), + (e.width = e.width + 2 * e.padding), + o.attr("transform", "translate(" + e.width / 2 + ", " + e.padding / 2 + ")"), + FTe(s, e, i, n), + e + ) + }, "drawNode"), + BTe = x(function (t, e, r) { + var o + const n = t.append("g"), + a = n + .append("text") + .text(e.descr) + .attr("dy", "1em") + .attr("alignment-baseline", "middle") + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle") + .call(sS, e.width) + .node() + .getBBox(), + s = (o = r.fontSize) != null && o.replace ? r.fontSize.replace("px", "") : r.fontSize + return n.remove(), a.height + s * 1.1 * 0.5 + e.padding + }, "getVirtualNodeHeight"), + FTe = x(function (t, e, r) { + t + .append("path") + .attr("id", "node-" + e.id) + .attr("class", "node-bkg node-" + e.type) + .attr( + "d", + `M0 ${e.height - 5} v${-e.height + 2 * 5} q0,-5 5,-5 h${e.width - 2 * 5} q5,0 5,5 v${e.height - 5} H0 Z`, + ), + t + .append("line") + .attr("class", "node-line-" + r) + .attr("x1", 0) + .attr("y1", e.height) + .attr("x2", e.width) + .attr("y2", e.height) + }, "defaultBkg"), + Cc = { + drawRect: Cx, + drawCircle: LTe, + drawSection: NTe, + drawText: sq, + drawLabel: RTe, + drawTask: DTe, + drawBackgroundRect: ITe, + getTextObj: MTe, + getNoteRect: aS, + initGraphics: OTe, + drawNode: PTe, + getVirtualNodeHeight: BTe, + }, + $Te = x(function (t, e, r, n) { + var A, R + const i = we(), + a = i.leftMargin ?? 50 + ie.debug("timeline", n.db) + const s = i.securityLevel + let o + s === "sandbox" && (o = rt("#i" + e)) + const u = rt(s === "sandbox" ? o.nodes()[0].contentDocument.body : "body").select("#" + e) + u.append("g") + const h = n.db.getTasks(), + d = n.db.getCommonDb().getDiagramTitle() + ie.debug("task", h), Cc.initGraphics(u) + const f = n.db.getSections() + ie.debug("sections", f) + let p = 0, + g = 0, + m = 0, + v = 0, + y = 50 + a, + b = 50 + v = 50 + let w = 0, + T = !0 + f.forEach(function (C) { + const I = { number: w, descr: C, section: w, width: 150, padding: 20, maxHeight: p }, + P = Cc.getVirtualNodeHeight(u, I, i) + ie.debug("sectionHeight before draw", P), (p = Math.max(p, P + 20)) + }) + let E = 0, + S = 0 + ie.debug("tasks.length", h.length) + for (const [C, I] of h.entries()) { + const P = { number: C, descr: I, section: I.section, width: 150, padding: 20, maxHeight: g }, + _ = Cc.getVirtualNodeHeight(u, P, i) + ie.debug("taskHeight before draw", _), (g = Math.max(g, _ + 20)), (E = Math.max(E, I.events.length)) + let N = 0 + for (const M of I.events) { + const O = { descr: M, section: I.section, number: I.section, width: 150, padding: 20, maxHeight: 50 } + N += Cc.getVirtualNodeHeight(u, O, i) + } + S = Math.max(S, N) + } + ie.debug("maxSectionHeight before draw", p), + ie.debug("maxTaskHeight before draw", g), + f && f.length > 0 + ? f.forEach((C) => { + const I = h.filter((M) => M.section === C), + P = { + number: w, + descr: C, + section: w, + width: 200 * Math.max(I.length, 1) - 50, + padding: 20, + maxHeight: p, + } + ie.debug("sectionNode", P) + const _ = u.append("g"), + N = Cc.drawNode(_, P, w, i) + ie.debug("sectionNode output", N), + _.attr("transform", `translate(${y}, ${v})`), + (b += p + 50), + I.length > 0 && B9(u, I, w, y, b, g, i, E, S, p, !1), + (y += 200 * Math.max(I.length, 1)), + (b = v), + w++ + }) + : ((T = !1), B9(u, h, w, y, b, g, i, E, S, p, !0)) + const k = u.node().getBBox() + ie.debug("bounds", k), + d && + u + .append("text") + .text(d) + .attr("x", k.width / 2 - a) + .attr("font-size", "4ex") + .attr("font-weight", "bold") + .attr("y", 20), + (m = T ? p + g + 150 : g + 100), + u + .append("g") + .attr("class", "lineWrapper") + .append("line") + .attr("x1", a) + .attr("y1", m) + .attr("x2", k.width + 3 * a) + .attr("y2", m) + .attr("stroke-width", 4) + .attr("stroke", "black") + .attr("marker-end", "url(#arrowhead)"), + rf( + void 0, + u, + ((A = i.timeline) == null ? void 0 : A.padding) ?? 50, + ((R = i.timeline) == null ? void 0 : R.useMaxWidth) ?? !1, + ) + }, "draw"), + B9 = x(function (t, e, r, n, i, a, s, o, l, u, h) { + var d + for (const f of e) { + const p = { descr: f.task, section: r, number: r, width: 150, padding: 20, maxHeight: a } + ie.debug("taskNode", p) + const g = t.append("g").attr("class", "taskWrapper"), + v = Cc.drawNode(g, p, r, s).height + if ( + (ie.debug("taskHeight after draw", v), + g.attr("transform", `translate(${n}, ${i})`), + (a = Math.max(a, v)), + f.events) + ) { + const y = t.append("g").attr("class", "lineWrapper") + let b = a + ;(i += 100), + (b = b + zTe(t, f.events, r, n, i, s)), + (i -= 100), + y + .append("line") + .attr("x1", n + 190 / 2) + .attr("y1", i + a) + .attr("x2", n + 190 / 2) + .attr("y2", i + a + (h ? a : u) + l + 120) + .attr("stroke-width", 2) + .attr("stroke", "black") + .attr("marker-end", "url(#arrowhead)") + .attr("stroke-dasharray", "5,5") + } + ;(n = n + 200), h && !((d = s.timeline) != null && d.disableMulticolor) && r++ + } + i = i - 10 + }, "drawTasks"), + zTe = x(function (t, e, r, n, i, a) { + let s = 0 + const o = i + i = i + 100 + for (const l of e) { + const u = { descr: l, section: r, number: r, width: 150, padding: 20, maxHeight: 50 } + ie.debug("eventNode", u) + const h = t.append("g").attr("class", "eventWrapper"), + f = Cc.drawNode(h, u, r, a).height + ;(s = s + f), h.attr("transform", `translate(${n}, ${i})`), (i = i + 10 + f) + } + return (i = o), s + }, "drawEvents"), + VTe = { setConf: x(() => {}, "setConf"), draw: $Te }, + GTe = x((t) => { + let e = "" + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) + (t["lineColor" + r] = t["lineColor" + r] || t["cScaleInv" + r]), + Xl(t["lineColor" + r]) + ? (t["lineColor" + r] = St(t["lineColor" + r], 20)) + : (t["lineColor" + r] = It(t["lineColor" + r], 20)) + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) { + const n = "" + (17 - 3 * r) + e += ` + .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} path { + fill: ${t["cScale" + r]}; + } + .section-${r - 1} text { + fill: ${t["cScaleLabel" + r]}; + } + .node-icon-${r - 1} { + font-size: 40px; + color: ${t["cScaleLabel" + r]}; + } + .section-edge-${r - 1}{ + stroke: ${t["cScale" + r]}; + } + .edge-depth-${r - 1}{ + stroke-width: ${n}; + } + .section-${r - 1} line { + stroke: ${t["cScaleInv" + r]} ; + stroke-width: 3; + } + + .lineWrapper line{ + stroke: ${t["cScaleLabel" + r]} ; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + ` + } + return e + }, "genSections"), + UTe = x( + (t) => ` + .edge { + stroke-width: 3; + } + ${GTe(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`, + "getStyles", + ), + qTe = UTe, + WTe = { db: KU, renderer: VTe, parser: STe, styles: qTe } +const HTe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: WTe }, Symbol.toStringTag, { value: "Module" }), +) +function _6(t, e) { + ;(e == null || e > t.length) && (e = t.length) + for (var r = 0, n = Array(e); r < e; r++) n[r] = t[r] + return n +} +function YTe(t) { + if (Array.isArray(t)) return t +} +function XTe(t) { + if (Array.isArray(t)) return _6(t) +} +function Jl(t, e) { + if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") +} +function jTe(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r] + ;(n.enumerable = n.enumerable || !1), + (n.configurable = !0), + "value" in n && (n.writable = !0), + Object.defineProperty(t, cq(n.key), n) + } +} +function ec(t, e, r) { + return e && jTe(t.prototype, e), Object.defineProperty(t, "prototype", { writable: !1 }), t +} +function na(t, e) { + var r = (typeof Symbol < "u" && t[Symbol.iterator]) || t["@@iterator"] + if (!r) { + if (Array.isArray(t) || (r = oS(t)) || e) { + r && (t = r) + var n = 0, + i = function () {} + return { + s: i, + n: function () { + return n >= t.length ? { done: !0 } : { done: !1, value: t[n++] } + }, + e: function (l) { + throw l + }, + f: i, + } + } + throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`) + } + var a, + s = !0, + o = !1 + return { + s: function () { + r = r.call(t) + }, + n: function () { + var l = r.next() + return (s = l.done), l + }, + e: function (l) { + ;(o = !0), (a = l) + }, + f: function () { + try { + s || r.return == null || r.return() + } finally { + if (o) throw a + } + }, + } +} +function lq(t, e, r) { + return ( + (e = cq(e)) in t + ? Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }) + : (t[e] = r), + t + ) +} +function KTe(t) { + if ((typeof Symbol < "u" && t[Symbol.iterator] != null) || t["@@iterator"] != null) return Array.from(t) +} +function ZTe(t, e) { + var r = t == null ? null : (typeof Symbol < "u" && t[Symbol.iterator]) || t["@@iterator"] + if (r != null) { + var n, + i, + a, + s, + o = [], + l = !0, + u = !1 + try { + if (((a = (r = r.call(t)).next), e === 0)) { + if (Object(r) !== r) return + l = !1 + } else for (; !(l = (n = a.call(r)).done) && (o.push(n.value), o.length !== e); l = !0); + } catch (h) { + ;(u = !0), (i = h) + } finally { + try { + if (!l && r.return != null && ((s = r.return()), Object(s) !== s)) return + } finally { + if (u) throw i + } + } + return o + } +} +function QTe() { + throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`) +} +function JTe() { + throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`) +} +function Rn(t, e) { + return YTe(t) || ZTe(t, e) || oS(t, e) || QTe() +} +function Yy(t) { + return XTe(t) || KTe(t) || oS(t) || JTe() +} +function eEe(t, e) { + if (typeof t != "object" || !t) return t + var r = t[Symbol.toPrimitive] + if (r !== void 0) { + var n = r.call(t, e) + if (typeof n != "object") return n + throw new TypeError("@@toPrimitive must return a primitive value.") + } + return String(t) +} +function cq(t) { + var e = eEe(t, "string") + return typeof e == "symbol" ? e : e + "" +} +function Vn(t) { + "@babel/helpers - typeof" + return ( + (Vn = + typeof Symbol == "function" && typeof Symbol.iterator == "symbol" + ? function (e) { + return typeof e + } + : function (e) { + return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype + ? "symbol" + : typeof e + }), + Vn(t) + ) +} +function oS(t, e) { + if (t) { + if (typeof t == "string") return _6(t, e) + var r = {}.toString.call(t).slice(8, -1) + return ( + r === "Object" && t.constructor && (r = t.constructor.name), + r === "Map" || r === "Set" + ? Array.from(t) + : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) + ? _6(t, e) + : void 0 + ) + } +} +var Ln = typeof window > "u" ? null : window, + F9 = Ln ? Ln.navigator : null +Ln && Ln.document +var tEe = Vn(""), + uq = Vn({}), + rEe = Vn(function () {}), + nEe = typeof HTMLElement > "u" ? "undefined" : Vn(HTMLElement), + zg = function (e) { + return e && e.instanceString && an(e.instanceString) ? e.instanceString() : null + }, + Bt = function (e) { + return e != null && Vn(e) == tEe + }, + an = function (e) { + return e != null && Vn(e) === rEe + }, + Fr = function (e) { + return !Aa(e) && (Array.isArray ? Array.isArray(e) : e != null && e instanceof Array) + }, + mr = function (e) { + return e != null && Vn(e) === uq && !Fr(e) && e.constructor === Object + }, + iEe = function (e) { + return e != null && Vn(e) === uq + }, + gt = function (e) { + return e != null && Vn(e) === Vn(1) && !isNaN(e) + }, + aEe = function (e) { + return gt(e) && Math.floor(e) === e + }, + Xy = function (e) { + if (nEe !== "undefined") return e != null && e instanceof HTMLElement + }, + Aa = function (e) { + return Vg(e) || hq(e) + }, + Vg = function (e) { + return zg(e) === "collection" && e._private.single + }, + hq = function (e) { + return zg(e) === "collection" && !e._private.single + }, + lS = function (e) { + return zg(e) === "core" + }, + dq = function (e) { + return zg(e) === "stylesheet" + }, + sEe = function (e) { + return zg(e) === "event" + }, + zl = function (e) { + return e == null ? !0 : !!(e === "" || e.match(/^\s+$/)) + }, + oEe = function (e) { + return typeof HTMLElement > "u" ? !1 : e instanceof HTMLElement + }, + lEe = function (e) { + return mr(e) && gt(e.x1) && gt(e.x2) && gt(e.y1) && gt(e.y2) + }, + cEe = function (e) { + return iEe(e) && an(e.then) + }, + uEe = function () { + return F9 && F9.userAgent.match(/msie|trident|edge/i) + }, + Xd = function (e, r) { + r || + (r = function () { + if (arguments.length === 1) return arguments[0] + if (arguments.length === 0) return "undefined" + for (var a = [], s = 0; s < arguments.length; s++) a.push(arguments[s]) + return a.join("$") + }) + var n = function () { + var a = this, + s = arguments, + o, + l = r.apply(a, s), + u = n.cache + return (o = u[l]) || (o = u[l] = e.apply(a, s)), o + } + return (n.cache = {}), n + }, + cS = Xd(function (t) { + return t.replace(/([A-Z])/g, function (e) { + return "-" + e.toLowerCase() + }) + }), + Ax = Xd(function (t) { + return t.replace(/(-\w)/g, function (e) { + return e[1].toUpperCase() + }) + }), + fq = Xd( + function (t, e) { + return t + e[0].toUpperCase() + e.substring(1) + }, + function (t, e) { + return t + "$" + e + }, + ), + $9 = function (e) { + return zl(e) ? e : e.charAt(0).toUpperCase() + e.substring(1) + }, + Pn = "(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))", + hEe = "rgb[a]?\\((" + Pn + "[%]?)\\s*,\\s*(" + Pn + "[%]?)\\s*,\\s*(" + Pn + "[%]?)(?:\\s*,\\s*(" + Pn + "))?\\)", + dEe = + "rgb[a]?\\((?:" + + Pn + + "[%]?)\\s*,\\s*(?:" + + Pn + + "[%]?)\\s*,\\s*(?:" + + Pn + + "[%]?)(?:\\s*,\\s*(?:" + + Pn + + "))?\\)", + fEe = "hsl[a]?\\((" + Pn + ")\\s*,\\s*(" + Pn + "[%])\\s*,\\s*(" + Pn + "[%])(?:\\s*,\\s*(" + Pn + "))?\\)", + pEe = "hsl[a]?\\((?:" + Pn + ")\\s*,\\s*(?:" + Pn + "[%])\\s*,\\s*(?:" + Pn + "[%])(?:\\s*,\\s*(?:" + Pn + "))?\\)", + gEe = "\\#[0-9a-fA-F]{3}", + mEe = "\\#[0-9a-fA-F]{6}", + pq = function (e, r) { + return e < r ? -1 : e > r ? 1 : 0 + }, + vEe = function (e, r) { + return -1 * pq(e, r) + }, + Gt = + Object.assign != null + ? Object.assign.bind(Object) + : function (t) { + for (var e = arguments, r = 1; r < e.length; r++) { + var n = e[r] + if (n != null) + for (var i = Object.keys(n), a = 0; a < i.length; a++) { + var s = i[a] + t[s] = n[s] + } + } + return t + }, + yEe = function (e) { + if (!(!(e.length === 4 || e.length === 7) || e[0] !== "#")) { + var r = e.length === 4, + n, + i, + a, + s = 16 + return ( + r + ? ((n = parseInt(e[1] + e[1], s)), (i = parseInt(e[2] + e[2], s)), (a = parseInt(e[3] + e[3], s))) + : ((n = parseInt(e[1] + e[2], s)), (i = parseInt(e[3] + e[4], s)), (a = parseInt(e[5] + e[6], s))), + [n, i, a] + ) + } + }, + xEe = function (e) { + var r, n, i, a, s, o, l, u + function h(g, m, v) { + return ( + v < 0 && (v += 1), + v > 1 && (v -= 1), + v < 1 / 6 ? g + (m - g) * 6 * v : v < 1 / 2 ? m : v < 2 / 3 ? g + (m - g) * (2 / 3 - v) * 6 : g + ) + } + var d = new RegExp("^" + fEe + "$").exec(e) + if (d) { + if ( + ((n = parseInt(d[1])), + n < 0 ? (n = (360 - ((-1 * n) % 360)) % 360) : n > 360 && (n = n % 360), + (n /= 360), + (i = parseFloat(d[2])), + i < 0 || + i > 100 || + ((i = i / 100), (a = parseFloat(d[3])), a < 0 || a > 100) || + ((a = a / 100), (s = d[4]), s !== void 0 && ((s = parseFloat(s)), s < 0 || s > 1))) + ) + return + if (i === 0) o = l = u = Math.round(a * 255) + else { + var f = a < 0.5 ? a * (1 + i) : a + i - a * i, + p = 2 * a - f + ;(o = Math.round(255 * h(p, f, n + 1 / 3))), + (l = Math.round(255 * h(p, f, n))), + (u = Math.round(255 * h(p, f, n - 1 / 3))) + } + r = [o, l, u, s] + } + return r + }, + bEe = function (e) { + var r, + n = new RegExp("^" + hEe + "$").exec(e) + if (n) { + r = [] + for (var i = [], a = 1; a <= 3; a++) { + var s = n[a] + if ( + (s[s.length - 1] === "%" && (i[a] = !0), + (s = parseFloat(s)), + i[a] && (s = (s / 100) * 255), + s < 0 || s > 255) + ) + return + r.push(Math.floor(s)) + } + var o = i[1] || i[2] || i[3], + l = i[1] && i[2] && i[3] + if (o && !l) return + var u = n[4] + if (u !== void 0) { + if (((u = parseFloat(u)), u < 0 || u > 1)) return + r.push(u) + } + } + return r + }, + wEe = function (e) { + return TEe[e.toLowerCase()] + }, + gq = function (e) { + return (Fr(e) ? e : null) || wEe(e) || yEe(e) || bEe(e) || xEe(e) + }, + TEe = { + transparent: [0, 0, 0, 0], + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + grey: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50], + }, + mq = function (e) { + for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) { + var s = n[a] + if (mr(s)) throw Error("Tried to set map with object key") + a < n.length - 1 ? (r[s] == null && (r[s] = {}), (r = r[s])) : (r[s] = e.value) + } + }, + vq = function (e) { + for (var r = e.map, n = e.keys, i = n.length, a = 0; a < i; a++) { + var s = n[a] + if (mr(s)) throw Error("Tried to get map with object key") + if (((r = r[s]), r == null)) return r + } + return r + }, + H1 = + typeof globalThis < "u" + ? globalThis + : typeof window < "u" + ? window + : typeof global < "u" + ? global + : typeof self < "u" + ? self + : {} +function Gg(t) { + return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t +} +var L4, z9 +function Ug() { + if (z9) return L4 + z9 = 1 + function t(e) { + var r = typeof e + return e != null && (r == "object" || r == "function") + } + return (L4 = t), L4 +} +var R4, V9 +function EEe() { + if (V9) return R4 + V9 = 1 + var t = typeof H1 == "object" && H1 && H1.Object === Object && H1 + return (R4 = t), R4 +} +var N4, G9 +function _x() { + if (G9) return N4 + G9 = 1 + var t = EEe(), + e = typeof self == "object" && self && self.Object === Object && self, + r = t || e || Function("return this")() + return (N4 = r), N4 +} +var D4, U9 +function kEe() { + if (U9) return D4 + U9 = 1 + var t = _x(), + e = function () { + return t.Date.now() + } + return (D4 = e), D4 +} +var I4, q9 +function SEe() { + if (q9) return I4 + q9 = 1 + var t = /\s/ + function e(r) { + for (var n = r.length; n-- && t.test(r.charAt(n)); ); + return n + } + return (I4 = e), I4 +} +var M4, W9 +function CEe() { + if (W9) return M4 + W9 = 1 + var t = SEe(), + e = /^\s+/ + function r(n) { + return n && n.slice(0, t(n) + 1).replace(e, "") + } + return (M4 = r), M4 +} +var O4, H9 +function uS() { + if (H9) return O4 + H9 = 1 + var t = _x(), + e = t.Symbol + return (O4 = e), O4 +} +var P4, Y9 +function AEe() { + if (Y9) return P4 + Y9 = 1 + var t = uS(), + e = Object.prototype, + r = e.hasOwnProperty, + n = e.toString, + i = t ? t.toStringTag : void 0 + function a(s) { + var o = r.call(s, i), + l = s[i] + try { + s[i] = void 0 + var u = !0 + } catch {} + var h = n.call(s) + return u && (o ? (s[i] = l) : delete s[i]), h + } + return (P4 = a), P4 +} +var B4, X9 +function _Ee() { + if (X9) return B4 + X9 = 1 + var t = Object.prototype, + e = t.toString + function r(n) { + return e.call(n) + } + return (B4 = r), B4 +} +var F4, j9 +function yq() { + if (j9) return F4 + j9 = 1 + var t = uS(), + e = AEe(), + r = _Ee(), + n = "[object Null]", + i = "[object Undefined]", + a = t ? t.toStringTag : void 0 + function s(o) { + return o == null ? (o === void 0 ? i : n) : a && a in Object(o) ? e(o) : r(o) + } + return (F4 = s), F4 +} +var $4, K9 +function LEe() { + if (K9) return $4 + K9 = 1 + function t(e) { + return e != null && typeof e == "object" + } + return ($4 = t), $4 +} +var z4, Z9 +function qg() { + if (Z9) return z4 + Z9 = 1 + var t = yq(), + e = LEe(), + r = "[object Symbol]" + function n(i) { + return typeof i == "symbol" || (e(i) && t(i) == r) + } + return (z4 = n), z4 +} +var V4, Q9 +function REe() { + if (Q9) return V4 + Q9 = 1 + var t = CEe(), + e = Ug(), + r = qg(), + n = NaN, + i = /^[-+]0x[0-9a-f]+$/i, + a = /^0b[01]+$/i, + s = /^0o[0-7]+$/i, + o = parseInt + function l(u) { + if (typeof u == "number") return u + if (r(u)) return n + if (e(u)) { + var h = typeof u.valueOf == "function" ? u.valueOf() : u + u = e(h) ? h + "" : h + } + if (typeof u != "string") return u === 0 ? u : +u + u = t(u) + var d = a.test(u) + return d || s.test(u) ? o(u.slice(2), d ? 2 : 8) : i.test(u) ? n : +u + } + return (V4 = l), V4 +} +var G4, J9 +function NEe() { + if (J9) return G4 + J9 = 1 + var t = Ug(), + e = kEe(), + r = REe(), + n = "Expected a function", + i = Math.max, + a = Math.min + function s(o, l, u) { + var h, + d, + f, + p, + g, + m, + v = 0, + y = !1, + b = !1, + w = !0 + if (typeof o != "function") throw new TypeError(n) + ;(l = r(l) || 0), + t(u) && + ((y = !!u.leading), + (b = "maxWait" in u), + (f = b ? i(r(u.maxWait) || 0, l) : f), + (w = "trailing" in u ? !!u.trailing : w)) + function T(P) { + var _ = h, + N = d + return (h = d = void 0), (v = P), (p = o.apply(N, _)), p + } + function E(P) { + return (v = P), (g = setTimeout(L, l)), y ? T(P) : p + } + function S(P) { + var _ = P - m, + N = P - v, + M = l - _ + return b ? a(M, f - N) : M + } + function k(P) { + var _ = P - m, + N = P - v + return m === void 0 || _ >= l || _ < 0 || (b && N >= f) + } + function L() { + var P = e() + if (k(P)) return A(P) + g = setTimeout(L, S(P)) + } + function A(P) { + return (g = void 0), w && h ? T(P) : ((h = d = void 0), p) + } + function R() { + g !== void 0 && clearTimeout(g), (v = 0), (h = m = d = g = void 0) + } + function C() { + return g === void 0 ? p : A(e()) + } + function I() { + var P = e(), + _ = k(P) + if (((h = arguments), (d = this), (m = P), _)) { + if (g === void 0) return E(m) + if (b) return clearTimeout(g), (g = setTimeout(L, l)), T(m) + } + return g === void 0 && (g = setTimeout(L, l)), p + } + return (I.cancel = R), (I.flush = C), I + } + return (G4 = s), G4 +} +var DEe = NEe(), + Wg = Gg(DEe), + U4 = Ln ? Ln.performance : null, + xq = + U4 && U4.now + ? function () { + return U4.now() + } + : function () { + return Date.now() + }, + IEe = (function () { + if (Ln) { + if (Ln.requestAnimationFrame) + return function (t) { + Ln.requestAnimationFrame(t) + } + if (Ln.mozRequestAnimationFrame) + return function (t) { + Ln.mozRequestAnimationFrame(t) + } + if (Ln.webkitRequestAnimationFrame) + return function (t) { + Ln.webkitRequestAnimationFrame(t) + } + if (Ln.msRequestAnimationFrame) + return function (t) { + Ln.msRequestAnimationFrame(t) + } + } + return function (t) { + t && + setTimeout(function () { + t(xq()) + }, 1e3 / 60) + } + })(), + jy = function (e) { + return IEe(e) + }, + Ko = xq, + Ac = 9261, + bq = 65599, + eh = 5381, + wq = function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ac, n = r, i; + (i = e.next()), !i.done; + + ) + n = (n * bq + i.value) | 0 + return n + }, + Yp = function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ac + return (r * bq + e) | 0 + }, + Xp = function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : eh + return ((r << 5) + r + e) | 0 + }, + MEe = function (e, r) { + return e * 2097152 + r + }, + cl = function (e) { + return e[0] * 2097152 + e[1] + }, + Y1 = function (e, r) { + return [Yp(e[0], r[0]), Xp(e[1], r[1])] + }, + eL = function (e, r) { + var n = { value: 0, done: !1 }, + i = 0, + a = e.length, + s = { + next: function () { + return i < a ? (n.value = e[i++]) : (n.done = !0), n + }, + } + return wq(s, r) + }, + ou = function (e, r) { + var n = { value: 0, done: !1 }, + i = 0, + a = e.length, + s = { + next: function () { + return i < a ? (n.value = e.charCodeAt(i++)) : (n.done = !0), n + }, + } + return wq(s, r) + }, + Tq = function () { + return OEe(arguments) + }, + OEe = function (e) { + for (var r, n = 0; n < e.length; n++) { + var i = e[n] + n === 0 ? (r = ou(i)) : (r = ou(i, r)) + } + return r + }, + tL = !0, + PEe = console.warn != null, + BEe = console.trace != null, + hS = Number.MAX_SAFE_INTEGER || 9007199254740991, + Eq = function () { + return !0 + }, + Ky = function () { + return !1 + }, + rL = function () { + return 0 + }, + dS = function () {}, + nn = function (e) { + throw new Error(e) + }, + kq = function (e) { + if (e !== void 0) tL = !!e + else return tL + }, + Sr = function (e) { + kq() && (PEe ? console.warn(e) : (console.log(e), BEe && console.trace())) + }, + FEe = function (e) { + return Gt({}, e) + }, + Ys = function (e) { + return e == null ? e : Fr(e) ? e.slice() : mr(e) ? FEe(e) : e + }, + $Ee = function (e) { + return e.slice() + }, + Sq = function (e, r) { + for ( + r = e = ""; + e++ < 36; + r += (e * 51) & 52 ? (e ^ 15 ? 8 ^ (Math.random() * (e ^ 20 ? 16 : 4)) : 4).toString(16) : "-" + ); + return r + }, + zEe = {}, + Cq = function () { + return zEe + }, + pi = function (e) { + var r = Object.keys(e) + return function (n) { + for (var i = {}, a = 0; a < r.length; a++) { + var s = r[a], + o = n == null ? void 0 : n[s] + i[s] = o === void 0 ? e[s] : o + } + return i + } + }, + Vl = function (e, r, n) { + for (var i = e.length - 1; i >= 0; i--) e[i] === r && e.splice(i, 1) + }, + fS = function (e) { + e.splice(0, e.length) + }, + VEe = function (e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n] + e.push(i) + } + }, + Ji = function (e, r, n) { + return n && (r = fq(n, r)), e[r] + }, + Co = function (e, r, n, i) { + n && (r = fq(n, r)), (e[r] = i) + }, + GEe = (function () { + function t() { + Jl(this, t), (this._obj = {}) + } + return ec(t, [ + { + key: "set", + value: function (r, n) { + return (this._obj[r] = n), this + }, + }, + { + key: "delete", + value: function (r) { + return (this._obj[r] = void 0), this + }, + }, + { + key: "clear", + value: function () { + this._obj = {} + }, + }, + { + key: "has", + value: function (r) { + return this._obj[r] !== void 0 + }, + }, + { + key: "get", + value: function (r) { + return this._obj[r] + }, + }, + ]) + })(), + Io = typeof Map < "u" ? Map : GEe, + UEe = "undefined", + qEe = (function () { + function t(e) { + if ((Jl(this, t), (this._obj = Object.create(null)), (this.size = 0), e != null)) { + var r + e.instanceString != null && e.instanceString() === this.instanceString() ? (r = e.toArray()) : (r = e) + for (var n = 0; n < r.length; n++) this.add(r[n]) + } + } + return ec(t, [ + { + key: "instanceString", + value: function () { + return "set" + }, + }, + { + key: "add", + value: function (r) { + var n = this._obj + n[r] !== 1 && ((n[r] = 1), this.size++) + }, + }, + { + key: "delete", + value: function (r) { + var n = this._obj + n[r] === 1 && ((n[r] = 0), this.size--) + }, + }, + { + key: "clear", + value: function () { + this._obj = Object.create(null) + }, + }, + { + key: "has", + value: function (r) { + return this._obj[r] === 1 + }, + }, + { + key: "toArray", + value: function () { + var r = this + return Object.keys(this._obj).filter(function (n) { + return r.has(n) + }) + }, + }, + { + key: "forEach", + value: function (r, n) { + return this.toArray().forEach(r, n) + }, + }, + ]) + })(), + yf = (typeof Set > "u" ? "undefined" : Vn(Set)) !== UEe ? Set : qEe, + Lx = function (e, r) { + var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0 + if (e === void 0 || r === void 0 || !lS(e)) { + nn("An element must have a core reference and parameters set") + return + } + var i = r.group + if ( + (i == null && (r.data && r.data.source != null && r.data.target != null ? (i = "edges") : (i = "nodes")), + i !== "nodes" && i !== "edges") + ) { + nn("An element must be of type `nodes` or `edges`; you specified `" + i + "`") + return + } + ;(this.length = 1), (this[0] = this) + var a = (this._private = { + cy: e, + single: !0, + data: r.data || {}, + position: r.position || { x: 0, y: 0 }, + autoWidth: void 0, + autoHeight: void 0, + autoPadding: void 0, + compoundBoundsClean: !1, + listeners: [], + group: i, + style: {}, + rstyle: {}, + styleCxts: [], + styleKeys: {}, + removed: !0, + selected: !!r.selected, + selectable: r.selectable === void 0 ? !0 : !!r.selectable, + locked: !!r.locked, + grabbed: !1, + grabbable: r.grabbable === void 0 ? !0 : !!r.grabbable, + pannable: r.pannable === void 0 ? i === "edges" : !!r.pannable, + active: !1, + classes: new yf(), + animation: { current: [], queue: [] }, + rscratch: {}, + scratch: r.scratch || {}, + edges: [], + children: [], + parent: r.parent && r.parent.isNode() ? r.parent : null, + traversalCache: {}, + backgrounding: !1, + bbCache: null, + bbCacheShift: { x: 0, y: 0 }, + bodyBounds: null, + overlayBounds: null, + labelBounds: { all: null, source: null, target: null, main: null }, + arrowBounds: { source: null, target: null, "mid-source": null, "mid-target": null }, + }) + if ( + (a.position.x == null && (a.position.x = 0), a.position.y == null && (a.position.y = 0), r.renderedPosition) + ) { + var s = r.renderedPosition, + o = e.pan(), + l = e.zoom() + a.position = { x: (s.x - o.x) / l, y: (s.y - o.y) / l } + } + var u = [] + Fr(r.classes) ? (u = r.classes) : Bt(r.classes) && (u = r.classes.split(/\s+/)) + for (var h = 0, d = u.length; h < d; h++) { + var f = u[h] + !f || f === "" || a.classes.add(f) + } + this.createEmitter(), (n === void 0 || n) && this.restore() + var p = r.style || r.css + p && + (Sr( + "Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.", + ), + this.style(p)) + }, + nL = function (e) { + return ( + (e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }), + function (n, i, a) { + var s + mr(n) && !Aa(n) && ((s = n), (n = s.roots || s.root), (i = s.visit), (a = s.directed)), + (a = arguments.length === 2 && !an(i) ? i : a), + (i = an(i) ? i : function () {}) + for ( + var o = this._private.cy, + l = (n = Bt(n) ? this.filter(n) : n), + u = [], + h = [], + d = {}, + f = {}, + p = {}, + g = 0, + m, + v = this.byGroup(), + y = v.nodes, + b = v.edges, + w = 0; + w < l.length; + w++ + ) { + var T = l[w], + E = T.id() + T.isNode() && (u.unshift(T), e.bfs && ((p[E] = !0), h.push(T)), (f[E] = 0)) + } + for ( + var S = function () { + var P = e.bfs ? u.shift() : u.pop(), + _ = P.id() + if (e.dfs) { + if (p[_]) return 0 + ;(p[_] = !0), h.push(P) + } + var N = f[_], + M = d[_], + O = M != null ? M.source() : null, + D = M != null ? M.target() : null, + B = M == null ? void 0 : P.same(O) ? D[0] : O[0], + z + if (((z = i(P, M, B, g++, N)), z === !0)) return (m = P), 1 + if (z === !1) return 1 + for ( + var F = P.connectedEdges().filter(function (Q) { + return (!a || Q.source().same(P)) && b.has(Q) + }), + G = 0; + G < F.length; + G++ + ) { + var q = F[G], + Y = q.connectedNodes().filter(function (Q) { + return !Q.same(P) && y.has(Q) + }), + ee = Y.id() + Y.length !== 0 && + !p[ee] && + ((Y = Y[0]), + u.push(Y), + e.bfs && ((p[ee] = !0), h.push(Y)), + (d[ee] = q), + (f[ee] = f[_] + 1)) + } + }, + k; + u.length !== 0 && ((k = S()), !(k !== 0 && k === 1)); + + ); + for (var L = o.collection(), A = 0; A < h.length; A++) { + var R = h[A], + C = d[R.id()] + C != null && L.push(C), L.push(R) + } + return { path: o.collection(L), found: o.collection(m) } + } + ) + }, + jp = { breadthFirstSearch: nL({ bfs: !0 }), depthFirstSearch: nL({ dfs: !0 }) } +jp.bfs = jp.breadthFirstSearch +jp.dfs = jp.depthFirstSearch +var Zm = { exports: {} }, + WEe = Zm.exports, + iL +function HEe() { + return ( + iL || + ((iL = 1), + (function (t, e) { + ;(function () { + var r, n, i, a, s, o, l, u, h, d, f, p, g, m, v + ;(i = Math.floor), + (d = Math.min), + (n = function (y, b) { + return y < b ? -1 : y > b ? 1 : 0 + }), + (h = function (y, b, w, T, E) { + var S + if ((w == null && (w = 0), E == null && (E = n), w < 0)) + throw new Error("lo must be non-negative") + for (T == null && (T = y.length); w < T; ) + (S = i((w + T) / 2)), E(b, y[S]) < 0 ? (T = S) : (w = S + 1) + return [].splice.apply(y, [w, w - w].concat(b)), b + }), + (o = function (y, b, w) { + return w == null && (w = n), y.push(b), m(y, 0, y.length - 1, w) + }), + (s = function (y, b) { + var w, T + return ( + b == null && (b = n), + (w = y.pop()), + y.length ? ((T = y[0]), (y[0] = w), v(y, 0, b)) : (T = w), + T + ) + }), + (u = function (y, b, w) { + var T + return w == null && (w = n), (T = y[0]), (y[0] = b), v(y, 0, w), T + }), + (l = function (y, b, w) { + var T + return ( + w == null && (w = n), + y.length && w(y[0], b) < 0 && ((T = [y[0], b]), (b = T[0]), (y[0] = T[1]), v(y, 0, w)), + b + ) + }), + (a = function (y, b) { + var w, T, E, S, k, L + for ( + b == null && (b = n), + S = function () { + L = [] + for (var A = 0, R = i(y.length / 2); 0 <= R ? A < R : A > R; 0 <= R ? A++ : A--) + L.push(A) + return L + } + .apply(this) + .reverse(), + k = [], + T = 0, + E = S.length; + T < E; + T++ + ) + (w = S[T]), k.push(v(y, w, b)) + return k + }), + (g = function (y, b, w) { + var T + if ((w == null && (w = n), (T = y.indexOf(b)), T !== -1)) return m(y, 0, T, w), v(y, T, w) + }), + (f = function (y, b, w) { + var T, E, S, k, L + if ((w == null && (w = n), (E = y.slice(0, b)), !E.length)) return E + for (a(E, w), L = y.slice(b), S = 0, k = L.length; S < k; S++) (T = L[S]), l(E, T, w) + return E.sort(w).reverse() + }), + (p = function (y, b, w) { + var T, E, S, k, L, A, R, C, I + if ((w == null && (w = n), b * 10 <= y.length)) { + if (((S = y.slice(0, b).sort(w)), !S.length)) return S + for (E = S[S.length - 1], R = y.slice(b), k = 0, A = R.length; k < A; k++) + (T = R[k]), w(T, E) < 0 && (h(S, T, 0, null, w), S.pop(), (E = S[S.length - 1])) + return S + } + for (a(y, w), I = [], L = 0, C = d(b, y.length); 0 <= C ? L < C : L > C; 0 <= C ? ++L : --L) + I.push(s(y, w)) + return I + }), + (m = function (y, b, w, T) { + var E, S, k + for (T == null && (T = n), E = y[w]; w > b; ) { + if (((k = (w - 1) >> 1), (S = y[k]), T(E, S) < 0)) { + ;(y[w] = S), (w = k) + continue + } + break + } + return (y[w] = E) + }), + (v = function (y, b, w) { + var T, E, S, k, L + for (w == null && (w = n), E = y.length, L = b, S = y[b], T = 2 * b + 1; T < E; ) + (k = T + 1), + k < E && !(w(y[T], y[k]) < 0) && (T = k), + (y[b] = y[T]), + (b = T), + (T = 2 * b + 1) + return (y[b] = S), m(y, L, b, w) + }), + (r = (function () { + ;(y.push = o), + (y.pop = s), + (y.replace = u), + (y.pushpop = l), + (y.heapify = a), + (y.updateItem = g), + (y.nlargest = f), + (y.nsmallest = p) + function y(b) { + ;(this.cmp = b ?? n), (this.nodes = []) + } + return ( + (y.prototype.push = function (b) { + return o(this.nodes, b, this.cmp) + }), + (y.prototype.pop = function () { + return s(this.nodes, this.cmp) + }), + (y.prototype.peek = function () { + return this.nodes[0] + }), + (y.prototype.contains = function (b) { + return this.nodes.indexOf(b) !== -1 + }), + (y.prototype.replace = function (b) { + return u(this.nodes, b, this.cmp) + }), + (y.prototype.pushpop = function (b) { + return l(this.nodes, b, this.cmp) + }), + (y.prototype.heapify = function () { + return a(this.nodes, this.cmp) + }), + (y.prototype.updateItem = function (b) { + return g(this.nodes, b, this.cmp) + }), + (y.prototype.clear = function () { + return (this.nodes = []) + }), + (y.prototype.empty = function () { + return this.nodes.length === 0 + }), + (y.prototype.size = function () { + return this.nodes.length + }), + (y.prototype.clone = function () { + var b + return (b = new y()), (b.nodes = this.nodes.slice(0)), b + }), + (y.prototype.toArray = function () { + return this.nodes.slice(0) + }), + (y.prototype.insert = y.prototype.push), + (y.prototype.top = y.prototype.peek), + (y.prototype.front = y.prototype.peek), + (y.prototype.has = y.prototype.contains), + (y.prototype.copy = y.prototype.clone), + y + ) + })()), + (function (y, b) { + return (t.exports = b()) + })(this, function () { + return r + }) + }).call(WEe) + })(Zm)), + Zm.exports + ) +} +var q4, aL +function YEe() { + return aL || ((aL = 1), (q4 = HEe())), q4 +} +var XEe = YEe(), + Hg = Gg(XEe), + jEe = pi({ + root: null, + weight: function (e) { + return 1 + }, + directed: !1, + }), + KEe = { + dijkstra: function (e) { + if (!mr(e)) { + var r = arguments + e = { root: r[0], weight: r[1], directed: r[2] } + } + var n = jEe(e), + i = n.root, + a = n.weight, + s = n.directed, + o = this, + l = a, + u = Bt(i) ? this.filter(i)[0] : i[0], + h = {}, + d = {}, + f = {}, + p = this.byGroup(), + g = p.nodes, + m = p.edges + m.unmergeBy(function (N) { + return N.isLoop() + }) + for ( + var v = function (M) { + return h[M.id()] + }, + y = function (M, O) { + ;(h[M.id()] = O), b.updateItem(M) + }, + b = new Hg(function (N, M) { + return v(N) - v(M) + }), + w = 0; + w < g.length; + w++ + ) { + var T = g[w] + ;(h[T.id()] = T.same(u) ? 0 : 1 / 0), b.push(T) + } + for ( + var E = function (M, O) { + for ( + var D = (s ? M.edgesTo(O) : M.edgesWith(O)).intersect(m), B = 1 / 0, z, F = 0; + F < D.length; + F++ + ) { + var G = D[F], + q = l(G) + ;(q < B || !z) && ((B = q), (z = G)) + } + return { edge: z, dist: B } + }; + b.size() > 0; + + ) { + var S = b.pop(), + k = v(S), + L = S.id() + if (((f[L] = k), k !== 1 / 0)) + for (var A = S.neighborhood().intersect(g), R = 0; R < A.length; R++) { + var C = A[R], + I = C.id(), + P = E(S, C), + _ = k + P.dist + _ < v(C) && (y(C, _), (d[I] = { node: S, edge: P.edge })) + } + } + return { + distanceTo: function (M) { + var O = Bt(M) ? g.filter(M)[0] : M[0] + return f[O.id()] + }, + pathTo: function (M) { + var O = Bt(M) ? g.filter(M)[0] : M[0], + D = [], + B = O, + z = B.id() + if (O.length > 0) + for (D.unshift(O); d[z]; ) { + var F = d[z] + D.unshift(F.edge), D.unshift(F.node), (B = F.node), (z = B.id()) + } + return o.spawn(D) + }, + } + }, + }, + ZEe = { + kruskal: function (e) { + e = + e || + function (w) { + return 1 + } + for ( + var r = this.byGroup(), + n = r.nodes, + i = r.edges, + a = n.length, + s = new Array(a), + o = n, + l = function (T) { + for (var E = 0; E < s.length; E++) { + var S = s[E] + if (S.has(T)) return E + } + }, + u = 0; + u < a; + u++ + ) + s[u] = this.spawn(n[u]) + for ( + var h = i.sort(function (w, T) { + return e(w) - e(T) + }), + d = 0; + d < h.length; + d++ + ) { + var f = h[d], + p = f.source()[0], + g = f.target()[0], + m = l(p), + v = l(g), + y = s[m], + b = s[v] + m !== v && (o.merge(f), y.merge(b), s.splice(v, 1)) + } + return o + }, + }, + QEe = pi({ + root: null, + goal: null, + weight: function (e) { + return 1 + }, + heuristic: function (e) { + return 0 + }, + directed: !1, + }), + JEe = { + aStar: function (e) { + var r = this.cy(), + n = QEe(e), + i = n.root, + a = n.goal, + s = n.heuristic, + o = n.directed, + l = n.weight + ;(i = r.collection(i)[0]), (a = r.collection(a)[0]) + var u = i.id(), + h = a.id(), + d = {}, + f = {}, + p = {}, + g = new Hg(function (z, F) { + return f[z.id()] - f[F.id()] + }), + m = new yf(), + v = {}, + y = {}, + b = function (F, G) { + g.push(F), m.add(G) + }, + w, + T, + E = function () { + ;(w = g.pop()), (T = w.id()), m.delete(T) + }, + S = function (F) { + return m.has(F) + } + b(i, u), (d[u] = 0), (f[u] = s(i)) + for (var k = 0; g.size() > 0; ) { + if ((E(), k++, T === h)) { + for ( + var L = [], A = a, R = h, C = y[R]; + L.unshift(A), C != null && L.unshift(C), (A = v[R]), A != null; + + ) + (R = A.id()), (C = y[R]) + return { found: !0, distance: d[T], path: this.spawn(L), steps: k } + } + p[T] = !0 + for (var I = w._private.edges, P = 0; P < I.length; P++) { + var _ = I[P] + if (this.hasElementWithId(_.id()) && !(o && _.data("source") !== T)) { + var N = _.source(), + M = _.target(), + O = N.id() !== T ? N : M, + D = O.id() + if (this.hasElementWithId(D) && !p[D]) { + var B = d[T] + l(_) + if (!S(D)) { + ;(d[D] = B), (f[D] = B + s(O)), b(O, D), (v[D] = w), (y[D] = _) + continue + } + B < d[D] && ((d[D] = B), (f[D] = B + s(O)), (v[D] = w), (y[D] = _)) + } + } + } + } + return { found: !1, distance: void 0, path: void 0, steps: k } + }, + }, + eke = pi({ + weight: function (e) { + return 1 + }, + directed: !1, + }), + tke = { + floydWarshall: function (e) { + for ( + var r = this.cy(), + n = eke(e), + i = n.weight, + a = n.directed, + s = i, + o = this.byGroup(), + l = o.nodes, + u = o.edges, + h = l.length, + d = h * h, + f = function (q) { + return l.indexOf(q) + }, + p = function (q) { + return l[q] + }, + g = new Array(d), + m = 0; + m < d; + m++ + ) { + var v = m % h, + y = (m - v) / h + y === v ? (g[m] = 0) : (g[m] = 1 / 0) + } + for (var b = new Array(d), w = new Array(d), T = 0; T < u.length; T++) { + var E = u[T], + S = E.source()[0], + k = E.target()[0] + if (S !== k) { + var L = f(S), + A = f(k), + R = L * h + A, + C = s(E) + if ((g[R] > C && ((g[R] = C), (b[R] = A), (w[R] = E)), !a)) { + var I = A * h + L + !a && g[I] > C && ((g[I] = C), (b[I] = L), (w[I] = E)) + } + } + } + for (var P = 0; P < h; P++) + for (var _ = 0; _ < h; _++) + for (var N = _ * h + P, M = 0; M < h; M++) { + var O = _ * h + M, + D = P * h + M + g[N] + g[D] < g[O] && ((g[O] = g[N] + g[D]), (b[O] = b[N])) + } + var B = function (q) { + return (Bt(q) ? r.filter(q) : q)[0] + }, + z = function (q) { + return f(B(q)) + }, + F = { + distance: function (q, Y) { + var ee = z(q), + Q = z(Y) + return g[ee * h + Q] + }, + path: function (q, Y) { + var ee = z(q), + Q = z(Y), + oe = p(ee) + if (ee === Q) return oe.collection() + if (b[ee * h + Q] == null) return r.collection() + var pe = r.collection(), + j = ee, + H + for (pe.merge(oe); ee !== Q; ) + (j = ee), (ee = b[ee * h + Q]), (H = w[j * h + ee]), pe.merge(H), pe.merge(p(ee)) + return pe + }, + } + return F + }, + }, + rke = pi({ + weight: function (e) { + return 1 + }, + directed: !1, + root: null, + }), + nke = { + bellmanFord: function (e) { + var r = this, + n = rke(e), + i = n.weight, + a = n.directed, + s = n.root, + o = i, + l = this, + u = this.cy(), + h = this.byGroup(), + d = h.edges, + f = h.nodes, + p = f.length, + g = new Io(), + m = !1, + v = [] + ;(s = u.collection(s)[0]), + d.unmergeBy(function (ce) { + return ce.isLoop() + }) + for ( + var y = d.length, + b = function (re) { + var Ne = g.get(re.id()) + return Ne || ((Ne = {}), g.set(re.id(), Ne)), Ne + }, + w = function (re) { + return (Bt(re) ? u.$(re) : re)[0] + }, + T = function (re) { + return b(w(re)).dist + }, + E = function (re) { + for ( + var Ne = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : s, + me = w(re), + Ve = [], + Ue = me; + ; + + ) { + if (Ue == null) return r.spawn() + var Fe = b(Ue), + _e = Fe.edge, + Oe = Fe.pred + if ((Ve.unshift(Ue[0]), Ue.same(Ne) && Ve.length > 0)) break + _e != null && Ve.unshift(_e), (Ue = Oe) + } + return l.spawn(Ve) + }, + S = 0; + S < p; + S++ + ) { + var k = f[S], + L = b(k) + k.same(s) ? (L.dist = 0) : (L.dist = 1 / 0), (L.pred = null), (L.edge = null) + } + for ( + var A = !1, + R = function (re, Ne, me, Ve, Ue, Fe) { + var _e = Ve.dist + Fe + _e < Ue.dist && !me.same(Ve.edge) && ((Ue.dist = _e), (Ue.pred = re), (Ue.edge = me), (A = !0)) + }, + C = 1; + C < p; + C++ + ) { + A = !1 + for (var I = 0; I < y; I++) { + var P = d[I], + _ = P.source(), + N = P.target(), + M = o(P), + O = b(_), + D = b(N) + R(_, N, P, O, D, M), a || R(N, _, P, D, O, M) + } + if (!A) break + } + if (A) + for (var B = [], z = 0; z < y; z++) { + var F = d[z], + G = F.source(), + q = F.target(), + Y = o(F), + ee = b(G).dist, + Q = b(q).dist + if (ee + Y < Q || (!a && Q + Y < ee)) + if ( + (m || (Sr("Graph contains a negative weight cycle for Bellman-Ford"), (m = !0)), + e.findNegativeWeightCycles !== !1) + ) { + var oe = [] + ee + Y < Q && oe.push(G), !a && Q + Y < ee && oe.push(q) + for (var pe = oe.length, j = 0; j < pe; j++) { + var H = oe[j], + X = [H] + X.push(b(H).edge) + for (var W = b(H).pred; X.indexOf(W) === -1; ) + X.push(W), X.push(b(W).edge), (W = b(W).pred) + X = X.slice(X.indexOf(W)) + for (var K = X[0].id(), ne = 0, Z = 2; Z < X.length; Z += 2) + X[Z].id() < K && ((K = X[Z].id()), (ne = Z)) + ;(X = X.slice(ne).concat(X.slice(0, ne))), X.push(X[0]) + var be = X.map(function (ce) { + return ce.id() + }).join(",") + B.indexOf(be) === -1 && (v.push(l.spawn(X)), B.push(be)) + } + } else break + } + return { distanceTo: T, pathTo: E, hasNegativeWeightCycle: m, negativeWeightCycles: v } + }, + }, + ike = Math.sqrt(2), + ake = function (e, r, n) { + n.length === 0 && nn("Karger-Stein must be run on a connected (sub)graph") + for (var i = n[e], a = i[1], s = i[2], o = r[a], l = r[s], u = n, h = u.length - 1; h >= 0; h--) { + var d = u[h], + f = d[1], + p = d[2] + ;((r[f] === o && r[p] === l) || (r[f] === l && r[p] === o)) && u.splice(h, 1) + } + for (var g = 0; g < u.length; g++) { + var m = u[g] + m[1] === l ? ((u[g] = m.slice()), (u[g][1] = o)) : m[2] === l && ((u[g] = m.slice()), (u[g][2] = o)) + } + for (var v = 0; v < r.length; v++) r[v] === l && (r[v] = o) + return u + }, + W4 = function (e, r, n, i) { + for (; n > i; ) { + var a = Math.floor(Math.random() * r.length) + ;(r = ake(a, e, r)), n-- + } + return r + }, + ske = { + kargerStein: function () { + var e = this, + r = this.byGroup(), + n = r.nodes, + i = r.edges + i.unmergeBy(function (D) { + return D.isLoop() + }) + var a = n.length, + s = i.length, + o = Math.ceil(Math.pow(Math.log(a) / Math.LN2, 2)), + l = Math.floor(a / ike) + if (a < 2) { + nn("At least 2 nodes are required for Karger-Stein algorithm") + return + } + for (var u = [], h = 0; h < s; h++) { + var d = i[h] + u.push([h, n.indexOf(d.source()), n.indexOf(d.target())]) + } + for ( + var f = 1 / 0, + p = [], + g = new Array(a), + m = new Array(a), + v = new Array(a), + y = function (B, z) { + for (var F = 0; F < a; F++) z[F] = B[F] + }, + b = 0; + b <= o; + b++ + ) { + for (var w = 0; w < a; w++) m[w] = w + var T = W4(m, u.slice(), a, l), + E = T.slice() + y(m, v) + var S = W4(m, T, l, 2), + k = W4(v, E, l, 2) + S.length <= k.length && S.length < f + ? ((f = S.length), (p = S), y(m, g)) + : k.length <= S.length && k.length < f && ((f = k.length), (p = k), y(v, g)) + } + for ( + var L = this.spawn( + p.map(function (D) { + return i[D[0]] + }), + ), + A = this.spawn(), + R = this.spawn(), + C = g[0], + I = 0; + I < g.length; + I++ + ) { + var P = g[I], + _ = n[I] + P === C ? A.merge(_) : R.merge(_) + } + var N = function (B) { + var z = e.spawn() + return ( + B.forEach(function (F) { + z.merge(F), + F.connectedEdges().forEach(function (G) { + e.contains(G) && !L.contains(G) && z.merge(G) + }) + }), + z + ) + }, + M = [N(A), N(R)], + O = { cut: L, components: M, partition1: A, partition2: R } + return O + }, + }, + oke = function (e) { + return { x: e.x, y: e.y } + }, + Rx = function (e, r, n) { + return { x: e.x * r + n.x, y: e.y * r + n.y } + }, + Aq = function (e, r, n) { + return { x: (e.x - n.x) / r, y: (e.y - n.y) / r } + }, + lh = function (e) { + return { x: e[0], y: e[1] } + }, + lke = function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = 1 / 0, + a = r; + a < n; + a++ + ) { + var s = e[a] + isFinite(s) && (i = Math.min(s, i)) + } + return i + }, + cke = function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = -1 / 0, + a = r; + a < n; + a++ + ) { + var s = e[a] + isFinite(s) && (i = Math.max(s, i)) + } + return i + }, + uke = function (e) { + for ( + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = 0, + a = 0, + s = r; + s < n; + s++ + ) { + var o = e[s] + isFinite(o) && ((i += o), a++) + } + return i / a + }, + hke = function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, + n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : e.length, + i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0 + i ? (e = e.slice(r, n)) : (n < e.length && e.splice(n, e.length - n), r > 0 && e.splice(0, r)) + for (var o = 0, l = e.length - 1; l >= 0; l--) { + var u = e[l] + s ? isFinite(u) || ((e[l] = -1 / 0), o++) : e.splice(l, 1) + } + a && + e.sort(function (f, p) { + return f - p + }) + var h = e.length, + d = Math.floor(h / 2) + return h % 2 !== 0 ? e[d + 1 + o] : (e[d - 1 + o] + e[d + o]) / 2 + }, + dke = function (e) { + return (Math.PI * e) / 180 + }, + X1 = function (e, r) { + return Math.atan2(r, e) - Math.PI / 2 + }, + pS = + Math.log2 || + function (t) { + return Math.log(t) / Math.log(2) + }, + gS = function (e) { + return e > 0 ? 1 : e < 0 ? -1 : 0 + }, + lu = function (e, r) { + return Math.sqrt(xc(e, r)) + }, + xc = function (e, r) { + var n = r.x - e.x, + i = r.y - e.y + return n * n + i * i + }, + fke = function (e) { + for (var r = e.length, n = 0, i = 0; i < r; i++) n += e[i] + for (var a = 0; a < r; a++) e[a] = e[a] / n + return e + }, + Yn = function (e, r, n, i) { + return (1 - i) * (1 - i) * e + 2 * (1 - i) * i * r + i * i * n + }, + Eh = function (e, r, n, i) { + return { x: Yn(e.x, r.x, n.x, i), y: Yn(e.y, r.y, n.y, i) } + }, + pke = function (e, r, n, i) { + var a = { x: r.x - e.x, y: r.y - e.y }, + s = lu(e, r), + o = { x: a.x / s, y: a.y / s } + return (n = n ?? 0), (i = i ?? n * s), { x: e.x + o.x * i, y: e.y + o.y * i } + }, + Kp = function (e, r, n) { + return Math.max(e, Math.min(n, r)) + }, + ua = function (e) { + if (e == null) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 } + if (e.x1 != null && e.y1 != null) { + if (e.x2 != null && e.y2 != null && e.x2 >= e.x1 && e.y2 >= e.y1) + return { x1: e.x1, y1: e.y1, x2: e.x2, y2: e.y2, w: e.x2 - e.x1, h: e.y2 - e.y1 } + if (e.w != null && e.h != null && e.w >= 0 && e.h >= 0) + return { x1: e.x1, y1: e.y1, x2: e.x1 + e.w, y2: e.y1 + e.h, w: e.w, h: e.h } + } + }, + gke = function (e) { + return { x1: e.x1, x2: e.x2, w: e.w, y1: e.y1, y2: e.y2, h: e.h } + }, + mke = function (e) { + ;(e.x1 = 1 / 0), (e.y1 = 1 / 0), (e.x2 = -1 / 0), (e.y2 = -1 / 0), (e.w = 0), (e.h = 0) + }, + vke = function (e, r, n) { + return { x1: e.x1 + r, x2: e.x2 + r, y1: e.y1 + n, y2: e.y2 + n, w: e.w, h: e.h } + }, + _q = function (e, r) { + ;(e.x1 = Math.min(e.x1, r.x1)), + (e.x2 = Math.max(e.x2, r.x2)), + (e.w = e.x2 - e.x1), + (e.y1 = Math.min(e.y1, r.y1)), + (e.y2 = Math.max(e.y2, r.y2)), + (e.h = e.y2 - e.y1) + }, + yke = function (e, r, n) { + ;(e.x1 = Math.min(e.x1, r)), + (e.x2 = Math.max(e.x2, r)), + (e.w = e.x2 - e.x1), + (e.y1 = Math.min(e.y1, n)), + (e.y2 = Math.max(e.y2, n)), + (e.h = e.y2 - e.y1) + }, + Qm = function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0 + return (e.x1 -= r), (e.x2 += r), (e.y1 -= r), (e.y2 += r), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e + }, + Jm = function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [0], + n, + i, + a, + s + if (r.length === 1) n = i = a = s = r[0] + else if (r.length === 2) (n = a = r[0]), (s = i = r[1]) + else if (r.length === 4) { + var o = Rn(r, 4) + ;(n = o[0]), (i = o[1]), (a = o[2]), (s = o[3]) + } + return (e.x1 -= s), (e.x2 += i), (e.y1 -= n), (e.y2 += a), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1), e + }, + sL = function (e, r) { + ;(e.x1 = r.x1), (e.y1 = r.y1), (e.x2 = r.x2), (e.y2 = r.y2), (e.w = e.x2 - e.x1), (e.h = e.y2 - e.y1) + }, + mS = function (e, r) { + return !( + e.x1 > r.x2 || + r.x1 > e.x2 || + e.x2 < r.x1 || + r.x2 < e.x1 || + e.y2 < r.y1 || + r.y2 < e.y1 || + e.y1 > r.y2 || + r.y1 > e.y2 + ) + }, + jd = function (e, r, n) { + return e.x1 <= r && r <= e.x2 && e.y1 <= n && n <= e.y2 + }, + xke = function (e, r) { + return jd(e, r.x, r.y) + }, + bke = function (e, r) { + return jd(e, r.x1, r.y1) && jd(e, r.x2, r.y2) + }, + Lq = function (e, r, n, i, a, s, o) { + var l = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : "auto", + u = l === "auto" ? Gl(a, s) : l, + h = a / 2, + d = s / 2 + u = Math.min(u, h, d) + var f = u !== h, + p = u !== d, + g + if (f) { + var m = n - h + u - o, + v = i - d - o, + y = n + h - u + o, + b = v + if (((g = wl(e, r, n, i, m, v, y, b, !1)), g.length > 0)) return g + } + if (p) { + var w = n + h + o, + T = i - d + u - o, + E = w, + S = i + d - u + o + if (((g = wl(e, r, n, i, w, T, E, S, !1)), g.length > 0)) return g + } + if (f) { + var k = n - h + u - o, + L = i + d + o, + A = n + h - u + o, + R = L + if (((g = wl(e, r, n, i, k, L, A, R, !1)), g.length > 0)) return g + } + if (p) { + var C = n - h - o, + I = i - d + u - o, + P = C, + _ = i + d - u + o + if (((g = wl(e, r, n, i, C, I, P, _, !1)), g.length > 0)) return g + } + var N + { + var M = n - h + u, + O = i - d + u + if (((N = H0(e, r, n, i, M, O, u + o)), N.length > 0 && N[0] <= M && N[1] <= O)) return [N[0], N[1]] + } + { + var D = n + h - u, + B = i - d + u + if (((N = H0(e, r, n, i, D, B, u + o)), N.length > 0 && N[0] >= D && N[1] <= B)) return [N[0], N[1]] + } + { + var z = n + h - u, + F = i + d - u + if (((N = H0(e, r, n, i, z, F, u + o)), N.length > 0 && N[0] >= z && N[1] >= F)) return [N[0], N[1]] + } + { + var G = n - h + u, + q = i + d - u + if (((N = H0(e, r, n, i, G, q, u + o)), N.length > 0 && N[0] <= G && N[1] >= q)) return [N[0], N[1]] + } + return [] + }, + wke = function (e, r, n, i, a, s, o) { + var l = o, + u = Math.min(n, a), + h = Math.max(n, a), + d = Math.min(i, s), + f = Math.max(i, s) + return u - l <= e && e <= h + l && d - l <= r && r <= f + l + }, + Tke = function (e, r, n, i, a, s, o, l, u) { + var h = { + x1: Math.min(n, o, a) - u, + x2: Math.max(n, o, a) + u, + y1: Math.min(i, l, s) - u, + y2: Math.max(i, l, s) + u, + } + return !(e < h.x1 || e > h.x2 || r < h.y1 || r > h.y2) + }, + Eke = function (e, r, n, i) { + n -= i + var a = r * r - 4 * e * n + if (a < 0) return [] + var s = Math.sqrt(a), + o = 2 * e, + l = (-r + s) / o, + u = (-r - s) / o + return [l, u] + }, + kke = function (e, r, n, i, a) { + var s = 1e-5 + e === 0 && (e = s), (r /= e), (n /= e), (i /= e) + var o, l, u, h, d, f, p, g + if ( + ((l = (3 * n - r * r) / 9), + (u = -(27 * i) + r * (9 * n - 2 * (r * r))), + (u /= 54), + (o = l * l * l + u * u), + (a[1] = 0), + (p = r / 3), + o > 0) + ) { + ;(d = u + Math.sqrt(o)), + (d = d < 0 ? -Math.pow(-d, 1 / 3) : Math.pow(d, 1 / 3)), + (f = u - Math.sqrt(o)), + (f = f < 0 ? -Math.pow(-f, 1 / 3) : Math.pow(f, 1 / 3)), + (a[0] = -p + d + f), + (p += (d + f) / 2), + (a[4] = a[2] = -p), + (p = (Math.sqrt(3) * (-f + d)) / 2), + (a[3] = p), + (a[5] = -p) + return + } + if (((a[5] = a[3] = 0), o === 0)) { + ;(g = u < 0 ? -Math.pow(-u, 1 / 3) : Math.pow(u, 1 / 3)), (a[0] = -p + 2 * g), (a[4] = a[2] = -(g + p)) + return + } + ;(l = -l), + (h = l * l * l), + (h = Math.acos(u / Math.sqrt(h))), + (g = 2 * Math.sqrt(l)), + (a[0] = -p + g * Math.cos(h / 3)), + (a[2] = -p + g * Math.cos((h + 2 * Math.PI) / 3)), + (a[4] = -p + g * Math.cos((h + 4 * Math.PI) / 3)) + }, + Ske = function (e, r, n, i, a, s, o, l) { + var u = + 1 * n * n - + 4 * n * a + + 2 * n * o + + 4 * a * a - + 4 * a * o + + o * o + + i * i - + 4 * i * s + + 2 * i * l + + 4 * s * s - + 4 * s * l + + l * l, + h = + 1 * 9 * n * a - + 3 * n * n - + 3 * n * o - + 6 * a * a + + 3 * a * o + + 9 * i * s - + 3 * i * i - + 3 * i * l - + 6 * s * s + + 3 * s * l, + d = + 1 * 3 * n * n - + 6 * n * a + + n * o - + n * e + + 2 * a * a + + 2 * a * e - + o * e + + 3 * i * i - + 6 * i * s + + i * l - + i * r + + 2 * s * s + + 2 * s * r - + l * r, + f = 1 * n * a - n * n + n * e - a * e + i * s - i * i + i * r - s * r, + p = [] + kke(u, h, d, f, p) + for (var g = 1e-7, m = [], v = 0; v < 6; v += 2) + Math.abs(p[v + 1]) < g && p[v] >= 0 && p[v] <= 1 && m.push(p[v]) + m.push(1), m.push(0) + for (var y = -1, b, w, T, E = 0; E < m.length; E++) + (b = Math.pow(1 - m[E], 2) * n + 2 * (1 - m[E]) * m[E] * a + m[E] * m[E] * o), + (w = Math.pow(1 - m[E], 2) * i + 2 * (1 - m[E]) * m[E] * s + m[E] * m[E] * l), + (T = Math.pow(b - e, 2) + Math.pow(w - r, 2)), + y >= 0 ? T < y && (y = T) : (y = T) + return y + }, + Cke = function (e, r, n, i, a, s) { + var o = [e - n, r - i], + l = [a - n, s - i], + u = l[0] * l[0] + l[1] * l[1], + h = o[0] * o[0] + o[1] * o[1], + d = o[0] * l[0] + o[1] * l[1], + f = (d * d) / u + return d < 0 ? h : f > u ? (e - a) * (e - a) + (r - s) * (r - s) : h - f + }, + ea = function (e, r, n) { + for (var i, a, s, o, l, u = 0, h = 0; h < n.length / 2; h++) + if ( + ((i = n[h * 2]), + (a = n[h * 2 + 1]), + h + 1 < n.length / 2 + ? ((s = n[(h + 1) * 2]), (o = n[(h + 1) * 2 + 1])) + : ((s = n[(h + 1 - n.length / 2) * 2]), (o = n[(h + 1 - n.length / 2) * 2 + 1])), + !(i == e && s == e)) + ) + if ((i >= e && e >= s) || (i <= e && e <= s)) (l = ((e - i) / (s - i)) * (o - a) + a), l > r && u++ + else continue + return u % 2 !== 0 + }, + Zo = function (e, r, n, i, a, s, o, l, u) { + var h = new Array(n.length), + d + l[0] != null + ? ((d = Math.atan(l[1] / l[0])), l[0] < 0 ? (d = d + Math.PI / 2) : (d = -d - Math.PI / 2)) + : (d = l) + for (var f = Math.cos(-d), p = Math.sin(-d), g = 0; g < h.length / 2; g++) + (h[g * 2] = (s / 2) * (n[g * 2] * f - n[g * 2 + 1] * p)), + (h[g * 2 + 1] = (o / 2) * (n[g * 2 + 1] * f + n[g * 2] * p)), + (h[g * 2] += i), + (h[g * 2 + 1] += a) + var m + if (u > 0) { + var v = Qy(h, -u) + m = Zy(v) + } else m = h + return ea(e, r, m) + }, + Ake = function (e, r, n, i, a, s, o, l) { + for (var u = new Array(n.length * 2), h = 0; h < l.length; h++) { + var d = l[h] + ;(u[h * 4 + 0] = d.startX), (u[h * 4 + 1] = d.startY), (u[h * 4 + 2] = d.stopX), (u[h * 4 + 3] = d.stopY) + var f = Math.pow(d.cx - e, 2) + Math.pow(d.cy - r, 2) + if (f <= Math.pow(d.radius, 2)) return !0 + } + return ea(e, r, u) + }, + Zy = function (e) { + for (var r = new Array(e.length / 2), n, i, a, s, o, l, u, h, d = 0; d < e.length / 4; d++) { + ;(n = e[d * 4]), + (i = e[d * 4 + 1]), + (a = e[d * 4 + 2]), + (s = e[d * 4 + 3]), + d < e.length / 4 - 1 + ? ((o = e[(d + 1) * 4]), + (l = e[(d + 1) * 4 + 1]), + (u = e[(d + 1) * 4 + 2]), + (h = e[(d + 1) * 4 + 3])) + : ((o = e[0]), (l = e[1]), (u = e[2]), (h = e[3])) + var f = wl(n, i, a, s, o, l, u, h, !0) + ;(r[d * 2] = f[0]), (r[d * 2 + 1] = f[1]) + } + return r + }, + Qy = function (e, r) { + for (var n = new Array(e.length * 2), i, a, s, o, l = 0; l < e.length / 2; l++) { + ;(i = e[l * 2]), + (a = e[l * 2 + 1]), + l < e.length / 2 - 1 ? ((s = e[(l + 1) * 2]), (o = e[(l + 1) * 2 + 1])) : ((s = e[0]), (o = e[1])) + var u = o - a, + h = -(s - i), + d = Math.sqrt(u * u + h * h), + f = u / d, + p = h / d + ;(n[l * 4] = i + f * r), (n[l * 4 + 1] = a + p * r), (n[l * 4 + 2] = s + f * r), (n[l * 4 + 3] = o + p * r) + } + return n + }, + _ke = function (e, r, n, i, a, s) { + var o = n - e, + l = i - r + ;(o /= a), (l /= s) + var u = Math.sqrt(o * o + l * l), + h = u - 1 + if (h < 0) return [] + var d = h / u + return [(n - e) * d + e, (i - r) * d + r] + }, + Bc = function (e, r, n, i, a, s, o) { + return (e -= a), (r -= s), (e /= n / 2 + o), (r /= i / 2 + o), e * e + r * r <= 1 + }, + H0 = function (e, r, n, i, a, s, o) { + var l = [n - e, i - r], + u = [e - a, r - s], + h = l[0] * l[0] + l[1] * l[1], + d = 2 * (u[0] * l[0] + u[1] * l[1]), + f = u[0] * u[0] + u[1] * u[1] - o * o, + p = d * d - 4 * h * f + if (p < 0) return [] + var g = (-d + Math.sqrt(p)) / (2 * h), + m = (-d - Math.sqrt(p)) / (2 * h), + v = Math.min(g, m), + y = Math.max(g, m), + b = [] + if ((v >= 0 && v <= 1 && b.push(v), y >= 0 && y <= 1 && b.push(y), b.length === 0)) return [] + var w = b[0] * l[0] + e, + T = b[0] * l[1] + r + if (b.length > 1) { + if (b[0] == b[1]) return [w, T] + var E = b[1] * l[0] + e, + S = b[1] * l[1] + r + return [w, T, E, S] + } else return [w, T] + }, + H4 = function (e, r, n) { + return (r <= e && e <= n) || (n <= e && e <= r) ? e : (e <= r && r <= n) || (n <= r && r <= e) ? r : n + }, + wl = function (e, r, n, i, a, s, o, l, u) { + var h = e - a, + d = n - e, + f = o - a, + p = r - s, + g = i - r, + m = l - s, + v = f * p - m * h, + y = d * p - g * h, + b = m * d - f * g + if (b !== 0) { + var w = v / b, + T = y / b, + E = 0.001, + S = 0 - E, + k = 1 + E + return S <= w && w <= k && S <= T && T <= k ? [e + w * d, r + w * g] : u ? [e + w * d, r + w * g] : [] + } else + return v === 0 || y === 0 + ? H4(e, n, o) === o + ? [o, l] + : H4(e, n, a) === a + ? [a, s] + : H4(a, o, n) === n + ? [n, i] + : [] + : [] + }, + Zp = function (e, r, n, i, a, s, o, l) { + var u = [], + h, + d = new Array(n.length), + f = !0 + s == null && (f = !1) + var p + if (f) { + for (var g = 0; g < d.length / 2; g++) (d[g * 2] = n[g * 2] * s + i), (d[g * 2 + 1] = n[g * 2 + 1] * o + a) + if (l > 0) { + var m = Qy(d, -l) + p = Zy(m) + } else p = d + } else p = n + for (var v, y, b, w, T = 0; T < p.length / 2; T++) + (v = p[T * 2]), + (y = p[T * 2 + 1]), + T < p.length / 2 - 1 ? ((b = p[(T + 1) * 2]), (w = p[(T + 1) * 2 + 1])) : ((b = p[0]), (w = p[1])), + (h = wl(e, r, i, a, v, y, b, w)), + h.length !== 0 && u.push(h[0], h[1]) + return u + }, + Lke = function (e, r, n, i, a, s, o, l, u) { + var h = [], + d, + f = new Array(n.length * 2) + u.forEach(function (b, w) { + w === 0 + ? ((f[f.length - 2] = b.startX), (f[f.length - 1] = b.startY)) + : ((f[w * 4 - 2] = b.startX), (f[w * 4 - 1] = b.startY)), + (f[w * 4] = b.stopX), + (f[w * 4 + 1] = b.stopY), + (d = H0(e, r, i, a, b.cx, b.cy, b.radius)), + d.length !== 0 && h.push(d[0], d[1]) + }) + for (var p = 0; p < f.length / 4; p++) + (d = wl(e, r, i, a, f[p * 4], f[p * 4 + 1], f[p * 4 + 2], f[p * 4 + 3], !1)), + d.length !== 0 && h.push(d[0], d[1]) + if (h.length > 2) { + for ( + var g = [h[0], h[1]], m = Math.pow(g[0] - e, 2) + Math.pow(g[1] - r, 2), v = 1; + v < h.length / 2; + v++ + ) { + var y = Math.pow(h[v * 2] - e, 2) + Math.pow(h[v * 2 + 1] - r, 2) + y <= m && ((g[0] = h[v * 2]), (g[1] = h[v * 2 + 1]), (m = y)) + } + return g + } + return h + }, + j1 = function (e, r, n) { + var i = [e[0] - r[0], e[1] - r[1]], + a = Math.sqrt(i[0] * i[0] + i[1] * i[1]), + s = (a - n) / a + return s < 0 && (s = 1e-5), [r[0] + s * i[0], r[1] + s * i[1]] + }, + Ii = function (e, r) { + var n = L6(e, r) + return (n = Rq(n)), n + }, + Rq = function (e) { + for (var r, n, i = e.length / 2, a = 1 / 0, s = 1 / 0, o = -1 / 0, l = -1 / 0, u = 0; u < i; u++) + (r = e[2 * u]), + (n = e[2 * u + 1]), + (a = Math.min(a, r)), + (o = Math.max(o, r)), + (s = Math.min(s, n)), + (l = Math.max(l, n)) + for (var h = 2 / (o - a), d = 2 / (l - s), f = 0; f < i; f++) + (r = e[2 * f] = e[2 * f] * h), + (n = e[2 * f + 1] = e[2 * f + 1] * d), + (a = Math.min(a, r)), + (o = Math.max(o, r)), + (s = Math.min(s, n)), + (l = Math.max(l, n)) + if (s < -1) for (var p = 0; p < i; p++) n = e[2 * p + 1] = e[2 * p + 1] + (-1 - s) + return e + }, + L6 = function (e, r) { + var n = (1 / e) * 2 * Math.PI, + i = e % 2 === 0 ? Math.PI / 2 + n / 2 : Math.PI / 2 + i += r + for (var a = new Array(e * 2), s, o = 0; o < e; o++) + (s = o * n + i), (a[2 * o] = Math.cos(s)), (a[2 * o + 1] = Math.sin(-s)) + return a + }, + Gl = function (e, r) { + return Math.min(e / 4, r / 4, 8) + }, + Nq = function (e, r) { + return Math.min(e / 10, r / 10, 8) + }, + vS = function () { + return 8 + }, + Rke = function (e, r, n) { + return [e - 2 * r + n, 2 * (r - e), e] + }, + R6 = function (e, r) { + return { heightOffset: Math.min(15, 0.05 * r), widthOffset: Math.min(100, 0.25 * e), ctrlPtOffsetPct: 0.05 } + } +function Nke(t, e) { + function r(d) { + for (var f = [], p = 0; p < d.length; p++) { + var g = d[p], + m = d[(p + 1) % d.length], + v = { x: m.x - g.x, y: m.y - g.y }, + y = { x: -v.y, y: v.x }, + b = Math.sqrt(y.x * y.x + y.y * y.y) + f.push({ x: y.x / b, y: y.y / b }) + } + return f + } + function n(d, f) { + var p = 1 / 0, + g = -1 / 0, + m = na(d), + v + try { + for (m.s(); !(v = m.n()).done; ) { + var y = v.value, + b = y.x * f.x + y.y * f.y + ;(p = Math.min(p, b)), (g = Math.max(g, b)) + } + } catch (w) { + m.e(w) + } finally { + m.f() + } + return { min: p, max: g } + } + function i(d, f) { + return !(d.max < f.min || f.max < d.min) + } + var a = [].concat(Yy(r(t)), Yy(r(e))), + s = na(a), + o + try { + for (s.s(); !(o = s.n()).done; ) { + var l = o.value, + u = n(t, l), + h = n(e, l) + if (!i(u, h)) return !1 + } + } catch (d) { + s.e(d) + } finally { + s.f() + } + return !0 +} +var Dke = pi({ + dampingFactor: 0.8, + precision: 1e-6, + iterations: 200, + weight: function (e) { + return 1 + }, + }), + Ike = { + pageRank: function (e) { + for ( + var r = Dke(e), + n = r.dampingFactor, + i = r.precision, + a = r.iterations, + s = r.weight, + o = this._private.cy, + l = this.byGroup(), + u = l.nodes, + h = l.edges, + d = u.length, + f = d * d, + p = h.length, + g = new Array(f), + m = new Array(d), + v = (1 - n) / d, + y = 0; + y < d; + y++ + ) { + for (var b = 0; b < d; b++) { + var w = y * d + b + g[w] = 0 + } + m[y] = 0 + } + for (var T = 0; T < p; T++) { + var E = h[T], + S = E.data("source"), + k = E.data("target") + if (S !== k) { + var L = u.indexOfId(S), + A = u.indexOfId(k), + R = s(E), + C = A * d + L + ;(g[C] += R), (m[L] += R) + } + } + for (var I = 1 / d + v, P = 0; P < d; P++) + if (m[P] === 0) + for (var _ = 0; _ < d; _++) { + var N = _ * d + P + g[N] = I + } + else + for (var M = 0; M < d; M++) { + var O = M * d + P + g[O] = g[O] / m[P] + v + } + for (var D = new Array(d), B = new Array(d), z, F = 0; F < d; F++) D[F] = 1 + for (var G = 0; G < a; G++) { + for (var q = 0; q < d; q++) B[q] = 0 + for (var Y = 0; Y < d; Y++) + for (var ee = 0; ee < d; ee++) { + var Q = Y * d + ee + B[Y] += g[Q] * D[ee] + } + fke(B), (z = D), (D = B), (B = z) + for (var oe = 0, pe = 0; pe < d; pe++) { + var j = z[pe] - D[pe] + oe += j * j + } + if (oe < i) break + } + var H = { + rank: function (W) { + return (W = o.collection(W)[0]), D[u.indexOf(W)] + }, + } + return H + }, + }, + oL = pi({ + root: null, + weight: function (e) { + return 1 + }, + directed: !1, + alpha: 0, + }), + kh = { + degreeCentralityNormalized: function (e) { + e = oL(e) + var r = this.cy(), + n = this.nodes(), + i = n.length + if (e.directed) { + for (var h = {}, d = {}, f = 0, p = 0, g = 0; g < i; g++) { + var m = n[g], + v = m.id() + e.root = m + var y = this.degreeCentrality(e) + f < y.indegree && (f = y.indegree), + p < y.outdegree && (p = y.outdegree), + (h[v] = y.indegree), + (d[v] = y.outdegree) + } + return { + indegree: function (w) { + return f == 0 ? 0 : (Bt(w) && (w = r.filter(w)), h[w.id()] / f) + }, + outdegree: function (w) { + return p === 0 ? 0 : (Bt(w) && (w = r.filter(w)), d[w.id()] / p) + }, + } + } else { + for (var a = {}, s = 0, o = 0; o < i; o++) { + var l = n[o] + e.root = l + var u = this.degreeCentrality(e) + s < u.degree && (s = u.degree), (a[l.id()] = u.degree) + } + return { + degree: function (w) { + return s === 0 ? 0 : (Bt(w) && (w = r.filter(w)), a[w.id()] / s) + }, + } + } + }, + degreeCentrality: function (e) { + e = oL(e) + var r = this.cy(), + n = this, + i = e, + a = i.root, + s = i.weight, + o = i.directed, + l = i.alpha + if (((a = r.collection(a)[0]), o)) { + for ( + var p = a.connectedEdges(), + g = p.filter(function (S) { + return S.target().same(a) && n.has(S) + }), + m = p.filter(function (S) { + return S.source().same(a) && n.has(S) + }), + v = g.length, + y = m.length, + b = 0, + w = 0, + T = 0; + T < g.length; + T++ + ) + b += s(g[T]) + for (var E = 0; E < m.length; E++) w += s(m[E]) + return { indegree: Math.pow(v, 1 - l) * Math.pow(b, l), outdegree: Math.pow(y, 1 - l) * Math.pow(w, l) } + } else { + for (var u = a.connectedEdges().intersection(n), h = u.length, d = 0, f = 0; f < u.length; f++) + d += s(u[f]) + return { degree: Math.pow(h, 1 - l) * Math.pow(d, l) } + } + }, + } +kh.dc = kh.degreeCentrality +kh.dcn = kh.degreeCentralityNormalised = kh.degreeCentralityNormalized +var lL = pi({ + harmonic: !0, + weight: function () { + return 1 + }, + directed: !1, + root: null, + }), + Sh = { + closenessCentralityNormalized: function (e) { + for ( + var r = lL(e), + n = r.harmonic, + i = r.weight, + a = r.directed, + s = this.cy(), + o = {}, + l = 0, + u = this.nodes(), + h = this.floydWarshall({ weight: i, directed: a }), + d = 0; + d < u.length; + d++ + ) { + for (var f = 0, p = u[d], g = 0; g < u.length; g++) + if (d !== g) { + var m = h.distance(p, u[g]) + n ? (f += 1 / m) : (f += m) + } + n || (f = 1 / f), l < f && (l = f), (o[p.id()] = f) + } + return { + closeness: function (y) { + return l == 0 ? 0 : (Bt(y) ? (y = s.filter(y)[0].id()) : (y = y.id()), o[y] / l) + }, + } + }, + closenessCentrality: function (e) { + var r = lL(e), + n = r.root, + i = r.weight, + a = r.directed, + s = r.harmonic + n = this.filter(n)[0] + for ( + var o = this.dijkstra({ root: n, weight: i, directed: a }), l = 0, u = this.nodes(), h = 0; + h < u.length; + h++ + ) { + var d = u[h] + if (!d.same(n)) { + var f = o.distanceTo(d) + s ? (l += 1 / f) : (l += f) + } + } + return s ? l : 1 / l + }, + } +Sh.cc = Sh.closenessCentrality +Sh.ccn = Sh.closenessCentralityNormalised = Sh.closenessCentralityNormalized +var Mke = pi({ weight: null, directed: !1 }), + N6 = { + betweennessCentrality: function (e) { + for ( + var r = Mke(e), + n = r.directed, + i = r.weight, + a = i != null, + s = this.cy(), + o = this.nodes(), + l = {}, + u = {}, + h = 0, + d = { + set: function (w, T) { + ;(u[w] = T), T > h && (h = T) + }, + get: function (w) { + return u[w] + }, + }, + f = 0; + f < o.length; + f++ + ) { + var p = o[f], + g = p.id() + n ? (l[g] = p.outgoers().nodes()) : (l[g] = p.openNeighborhood().nodes()), d.set(g, 0) + } + for ( + var m = function () { + for ( + var w = o[v].id(), + T = [], + E = {}, + S = {}, + k = {}, + L = new Hg(function (Y, ee) { + return k[Y] - k[ee] + }), + A = 0; + A < o.length; + A++ + ) { + var R = o[A].id() + ;(E[R] = []), (S[R] = 0), (k[R] = 1 / 0) + } + for (S[w] = 1, k[w] = 0, L.push(w); !L.empty(); ) { + var C = L.pop() + if ((T.push(C), a)) + for (var I = 0; I < l[C].length; I++) { + var P = l[C][I], + _ = s.getElementById(C), + N = void 0 + _.edgesTo(P).length > 0 ? (N = _.edgesTo(P)[0]) : (N = P.edgesTo(_)[0]) + var M = i(N) + ;(P = P.id()), + k[P] > k[C] + M && + ((k[P] = k[C] + M), + L.nodes.indexOf(P) < 0 ? L.push(P) : L.updateItem(P), + (S[P] = 0), + (E[P] = [])), + k[P] == k[C] + M && ((S[P] = S[P] + S[C]), E[P].push(C)) + } + else + for (var O = 0; O < l[C].length; O++) { + var D = l[C][O].id() + k[D] == 1 / 0 && (L.push(D), (k[D] = k[C] + 1)), + k[D] == k[C] + 1 && ((S[D] = S[D] + S[C]), E[D].push(C)) + } + } + for (var B = {}, z = 0; z < o.length; z++) B[o[z].id()] = 0 + for (; T.length > 0; ) { + for (var F = T.pop(), G = 0; G < E[F].length; G++) { + var q = E[F][G] + B[q] = B[q] + (S[q] / S[F]) * (1 + B[F]) + } + F != o[v].id() && d.set(F, d.get(F) + B[F]) + } + }, + v = 0; + v < o.length; + v++ + ) + m() + var y = { + betweenness: function (w) { + var T = s.collection(w).id() + return d.get(T) + }, + betweennessNormalized: function (w) { + if (h == 0) return 0 + var T = s.collection(w).id() + return d.get(T) / h + }, + } + return (y.betweennessNormalised = y.betweennessNormalized), y + }, + } +N6.bc = N6.betweennessCentrality +var Oke = pi({ + expandFactor: 2, + inflateFactor: 2, + multFactor: 1, + maxIterations: 20, + attributes: [ + function (t) { + return 1 + }, + ], + }), + Pke = function (e) { + return Oke(e) + }, + Bke = function (e, r) { + for (var n = 0, i = 0; i < r.length; i++) n += r[i](e) + return n + }, + Fke = function (e, r, n) { + for (var i = 0; i < r; i++) e[i * r + i] = n + }, + Dq = function (e, r) { + for (var n, i = 0; i < r; i++) { + n = 0 + for (var a = 0; a < r; a++) n += e[a * r + i] + for (var s = 0; s < r; s++) e[s * r + i] = e[s * r + i] / n + } + }, + $ke = function (e, r, n) { + for (var i = new Array(n * n), a = 0; a < n; a++) { + for (var s = 0; s < n; s++) i[a * n + s] = 0 + for (var o = 0; o < n; o++) for (var l = 0; l < n; l++) i[a * n + l] += e[a * n + o] * r[o * n + l] + } + return i + }, + zke = function (e, r, n) { + for (var i = e.slice(0), a = 1; a < n; a++) e = $ke(e, i, r) + return e + }, + Vke = function (e, r, n) { + for (var i = new Array(r * r), a = 0; a < r * r; a++) i[a] = Math.pow(e[a], n) + return Dq(i, r), i + }, + Gke = function (e, r, n, i) { + for (var a = 0; a < n; a++) { + var s = Math.round(e[a] * Math.pow(10, i)) / Math.pow(10, i), + o = Math.round(r[a] * Math.pow(10, i)) / Math.pow(10, i) + if (s !== o) return !1 + } + return !0 + }, + Uke = function (e, r, n, i) { + for (var a = [], s = 0; s < r; s++) { + for (var o = [], l = 0; l < r; l++) Math.round(e[s * r + l] * 1e3) / 1e3 > 0 && o.push(n[l]) + o.length !== 0 && a.push(i.collection(o)) + } + return a + }, + qke = function (e, r) { + for (var n = 0; n < e.length; n++) if (!r[n] || e[n].id() !== r[n].id()) return !1 + return !0 + }, + Wke = function (e) { + for (var r = 0; r < e.length; r++) + for (var n = 0; n < e.length; n++) r != n && qke(e[r], e[n]) && e.splice(n, 1) + return e + }, + cL = function (e) { + for (var r = this.nodes(), n = this.edges(), i = this.cy(), a = Pke(e), s = {}, o = 0; o < r.length; o++) + s[r[o].id()] = o + for (var l = r.length, u = l * l, h = new Array(u), d, f = 0; f < u; f++) h[f] = 0 + for (var p = 0; p < n.length; p++) { + var g = n[p], + m = s[g.source().id()], + v = s[g.target().id()], + y = Bke(g, a.attributes) + ;(h[m * l + v] += y), (h[v * l + m] += y) + } + Fke(h, l, a.multFactor), Dq(h, l) + for (var b = !0, w = 0; b && w < a.maxIterations; ) + (b = !1), + (d = zke(h, l, a.expandFactor)), + (h = Vke(d, l, a.inflateFactor)), + Gke(h, d, u, 4) || (b = !0), + w++ + var T = Uke(h, l, r, i) + return (T = Wke(T)), T + }, + Hke = { markovClustering: cL, mcl: cL }, + Yke = function (e) { + return e + }, + Iq = function (e, r) { + return Math.abs(r - e) + }, + uL = function (e, r, n) { + return e + Iq(r, n) + }, + hL = function (e, r, n) { + return e + Math.pow(n - r, 2) + }, + Xke = function (e) { + return Math.sqrt(e) + }, + jke = function (e, r, n) { + return Math.max(e, Iq(r, n)) + }, + qf = function (e, r, n, i, a) { + for ( + var s = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : Yke, o = i, l, u, h = 0; + h < e; + h++ + ) + (l = r(h)), (u = n(h)), (o = a(o, l, u)) + return s(o) + }, + Kd = { + euclidean: function (e, r, n) { + return e >= 2 ? qf(e, r, n, 0, hL, Xke) : qf(e, r, n, 0, uL) + }, + squaredEuclidean: function (e, r, n) { + return qf(e, r, n, 0, hL) + }, + manhattan: function (e, r, n) { + return qf(e, r, n, 0, uL) + }, + max: function (e, r, n) { + return qf(e, r, n, -1 / 0, jke) + }, + } +Kd["squared-euclidean"] = Kd.squaredEuclidean +Kd.squaredeuclidean = Kd.squaredEuclidean +function Nx(t, e, r, n, i, a) { + var s + return an(t) ? (s = t) : (s = Kd[t] || Kd.euclidean), e === 0 && an(t) ? s(i, a) : s(e, r, n, i, a) +} +var Kke = pi({ + k: 2, + m: 2, + sensitivityThreshold: 1e-4, + distance: "euclidean", + maxIterations: 10, + attributes: [], + testMode: !1, + testCentroids: null, + }), + yS = function (e) { + return Kke(e) + }, + Jy = function (e, r, n, i, a) { + var s = a !== "kMedoids", + o = s + ? function (d) { + return n[d] + } + : function (d) { + return i[d](n) + }, + l = function (f) { + return i[f](r) + }, + u = n, + h = r + return Nx(e, i.length, o, l, u, h) + }, + Y4 = function (e, r, n) { + for (var i = n.length, a = new Array(i), s = new Array(i), o = new Array(r), l = null, u = 0; u < i; u++) + (a[u] = e.min(n[u]).value), (s[u] = e.max(n[u]).value) + for (var h = 0; h < r; h++) { + l = [] + for (var d = 0; d < i; d++) l[d] = Math.random() * (s[d] - a[d]) + a[d] + o[h] = l + } + return o + }, + Mq = function (e, r, n, i, a) { + for (var s = 1 / 0, o = 0, l = 0; l < r.length; l++) { + var u = Jy(n, e, r[l], i, a) + u < s && ((s = u), (o = l)) + } + return o + }, + Oq = function (e, r, n) { + for (var i = [], a = null, s = 0; s < r.length; s++) (a = r[s]), n[a.id()] === e && i.push(a) + return i + }, + Zke = function (e, r, n) { + return Math.abs(r - e) <= n + }, + Qke = function (e, r, n) { + for (var i = 0; i < e.length; i++) + for (var a = 0; a < e[i].length; a++) { + var s = Math.abs(e[i][a] - r[i][a]) + if (s > n) return !1 + } + return !0 + }, + Jke = function (e, r, n) { + for (var i = 0; i < n; i++) if (e === r[i]) return !0 + return !1 + }, + dL = function (e, r) { + var n = new Array(r) + if (e.length < 50) + for (var i = 0; i < r; i++) { + for (var a = e[Math.floor(Math.random() * e.length)]; Jke(a, n, i); ) + a = e[Math.floor(Math.random() * e.length)] + n[i] = a + } + else for (var s = 0; s < r; s++) n[s] = e[Math.floor(Math.random() * e.length)] + return n + }, + fL = function (e, r, n) { + for (var i = 0, a = 0; a < r.length; a++) i += Jy("manhattan", r[a], e, n, "kMedoids") + return i + }, + eSe = function (e) { + var r = this.cy(), + n = this.nodes(), + i = null, + a = yS(e), + s = new Array(a.k), + o = {}, + l + a.testMode + ? typeof a.testCentroids == "number" + ? (a.testCentroids, (l = Y4(n, a.k, a.attributes))) + : Vn(a.testCentroids) === "object" + ? (l = a.testCentroids) + : (l = Y4(n, a.k, a.attributes)) + : (l = Y4(n, a.k, a.attributes)) + for (var u = !0, h = 0; u && h < a.maxIterations; ) { + for (var d = 0; d < n.length; d++) (i = n[d]), (o[i.id()] = Mq(i, l, a.distance, a.attributes, "kMeans")) + u = !1 + for (var f = 0; f < a.k; f++) { + var p = Oq(f, n, o) + if (p.length !== 0) { + for (var g = a.attributes.length, m = l[f], v = new Array(g), y = new Array(g), b = 0; b < g; b++) { + y[b] = 0 + for (var w = 0; w < p.length; w++) (i = p[w]), (y[b] += a.attributes[b](i)) + ;(v[b] = y[b] / p.length), Zke(v[b], m[b], a.sensitivityThreshold) || (u = !0) + } + ;(l[f] = v), (s[f] = r.collection(p)) + } + } + h++ + } + return s + }, + tSe = function (e) { + var r = this.cy(), + n = this.nodes(), + i = null, + a = yS(e), + s = new Array(a.k), + o, + l = {}, + u, + h = new Array(a.k) + a.testMode + ? typeof a.testCentroids == "number" || + (Vn(a.testCentroids) === "object" ? (o = a.testCentroids) : (o = dL(n, a.k))) + : (o = dL(n, a.k)) + for (var d = !0, f = 0; d && f < a.maxIterations; ) { + for (var p = 0; p < n.length; p++) (i = n[p]), (l[i.id()] = Mq(i, o, a.distance, a.attributes, "kMedoids")) + d = !1 + for (var g = 0; g < o.length; g++) { + var m = Oq(g, n, l) + if (m.length !== 0) { + h[g] = fL(o[g], m, a.attributes) + for (var v = 0; v < m.length; v++) + (u = fL(m[v], m, a.attributes)), u < h[g] && ((h[g] = u), (o[g] = m[v]), (d = !0)) + s[g] = r.collection(m) + } + } + f++ + } + return s + }, + rSe = function (e, r, n, i, a) { + for (var s, o, l = 0; l < r.length; l++) for (var u = 0; u < e.length; u++) i[l][u] = Math.pow(n[l][u], a.m) + for (var h = 0; h < e.length; h++) + for (var d = 0; d < a.attributes.length; d++) { + ;(s = 0), (o = 0) + for (var f = 0; f < r.length; f++) (s += i[f][h] * a.attributes[d](r[f])), (o += i[f][h]) + e[h][d] = s / o + } + }, + nSe = function (e, r, n, i, a) { + for (var s = 0; s < e.length; s++) r[s] = e[s].slice() + for (var o, l, u, h = 2 / (a.m - 1), d = 0; d < n.length; d++) + for (var f = 0; f < i.length; f++) { + o = 0 + for (var p = 0; p < n.length; p++) + (l = Jy(a.distance, i[f], n[d], a.attributes, "cmeans")), + (u = Jy(a.distance, i[f], n[p], a.attributes, "cmeans")), + (o += Math.pow(l / u, h)) + e[f][d] = 1 / o + } + }, + iSe = function (e, r, n, i) { + for (var a = new Array(n.k), s = 0; s < a.length; s++) a[s] = [] + for (var o, l, u = 0; u < r.length; u++) { + ;(o = -1 / 0), (l = -1) + for (var h = 0; h < r[0].length; h++) r[u][h] > o && ((o = r[u][h]), (l = h)) + a[l].push(e[u]) + } + for (var d = 0; d < a.length; d++) a[d] = i.collection(a[d]) + return a + }, + pL = function (e) { + var r = this.cy(), + n = this.nodes(), + i = yS(e), + a, + s, + o, + l, + u + l = new Array(n.length) + for (var h = 0; h < n.length; h++) l[h] = new Array(i.k) + o = new Array(n.length) + for (var d = 0; d < n.length; d++) o[d] = new Array(i.k) + for (var f = 0; f < n.length; f++) { + for (var p = 0, g = 0; g < i.k; g++) (o[f][g] = Math.random()), (p += o[f][g]) + for (var m = 0; m < i.k; m++) o[f][m] = o[f][m] / p + } + s = new Array(i.k) + for (var v = 0; v < i.k; v++) s[v] = new Array(i.attributes.length) + u = new Array(n.length) + for (var y = 0; y < n.length; y++) u[y] = new Array(i.k) + for (var b = !0, w = 0; b && w < i.maxIterations; ) + (b = !1), rSe(s, n, o, u, i), nSe(o, l, s, n, i), Qke(o, l, i.sensitivityThreshold) || (b = !0), w++ + return (a = iSe(n, o, i, r)), { clusters: a, degreeOfMembership: o } + }, + aSe = { kMeans: eSe, kMedoids: tSe, fuzzyCMeans: pL, fcm: pL }, + sSe = pi({ + distance: "euclidean", + linkage: "min", + mode: "threshold", + threshold: 1 / 0, + addDendrogram: !1, + dendrogramDepth: 0, + attributes: [], + }), + oSe = { single: "min", complete: "max" }, + lSe = function (e) { + var r = sSe(e), + n = oSe[r.linkage] + return n != null && (r.linkage = n), r + }, + gL = function (e, r, n, i, a) { + for ( + var s = 0, + o = 1 / 0, + l, + u = a.attributes, + h = function (A, R) { + return Nx( + a.distance, + u.length, + function (C) { + return u[C](A) + }, + function (C) { + return u[C](R) + }, + A, + R, + ) + }, + d = 0; + d < e.length; + d++ + ) { + var f = e[d].key, + p = n[f][i[f]] + p < o && ((s = f), (o = p)) + } + if ((a.mode === "threshold" && o >= a.threshold) || (a.mode === "dendrogram" && e.length === 1)) return !1 + var g = r[s], + m = r[i[s]], + v + a.mode === "dendrogram" + ? (v = { left: g, right: m, key: g.key }) + : (v = { value: g.value.concat(m.value), key: g.key }), + (e[g.index] = v), + e.splice(m.index, 1), + (r[g.key] = v) + for (var y = 0; y < e.length; y++) { + var b = e[y] + g.key === b.key + ? (l = 1 / 0) + : a.linkage === "min" + ? ((l = n[g.key][b.key]), n[g.key][b.key] > n[m.key][b.key] && (l = n[m.key][b.key])) + : a.linkage === "max" + ? ((l = n[g.key][b.key]), n[g.key][b.key] < n[m.key][b.key] && (l = n[m.key][b.key])) + : a.linkage === "mean" + ? (l = (n[g.key][b.key] * g.size + n[m.key][b.key] * m.size) / (g.size + m.size)) + : a.mode === "dendrogram" + ? (l = h(b.value, g.value)) + : (l = h(b.value[0], g.value[0])), + (n[g.key][b.key] = n[b.key][g.key] = l) + } + for (var w = 0; w < e.length; w++) { + var T = e[w].key + if (i[T] === g.key || i[T] === m.key) { + for (var E = T, S = 0; S < e.length; S++) { + var k = e[S].key + n[T][k] < n[T][E] && (E = k) + } + i[T] = E + } + e[w].index = w + } + return (g.key = m.key = g.index = m.index = null), !0 + }, + ch = function (e, r, n) { + e && (e.value ? r.push(e.value) : (e.left && ch(e.left, r), e.right && ch(e.right, r))) + }, + D6 = function (e, r) { + if (!e) return "" + if (e.left && e.right) { + var n = D6(e.left, r), + i = D6(e.right, r), + a = r.add({ group: "nodes", data: { id: n + "," + i } }) + return ( + r.add({ group: "edges", data: { source: n, target: a.id() } }), + r.add({ group: "edges", data: { source: i, target: a.id() } }), + a.id() + ) + } else if (e.value) return e.value.id() + }, + I6 = function (e, r, n) { + if (!e) return [] + var i = [], + a = [], + s = [] + return r === 0 + ? (e.left && ch(e.left, i), e.right && ch(e.right, a), (s = i.concat(a)), [n.collection(s)]) + : r === 1 + ? e.value + ? [n.collection(e.value)] + : (e.left && ch(e.left, i), e.right && ch(e.right, a), [n.collection(i), n.collection(a)]) + : e.value + ? [n.collection(e.value)] + : (e.left && (i = I6(e.left, r - 1, n)), e.right && (a = I6(e.right, r - 1, n)), i.concat(a)) + }, + mL = function (e) { + for ( + var r = this.cy(), + n = this.nodes(), + i = lSe(e), + a = i.attributes, + s = function (w, T) { + return Nx( + i.distance, + a.length, + function (E) { + return a[E](w) + }, + function (E) { + return a[E](T) + }, + w, + T, + ) + }, + o = [], + l = [], + u = [], + h = [], + d = 0; + d < n.length; + d++ + ) { + var f = { value: i.mode === "dendrogram" ? n[d] : [n[d]], key: d, index: d } + ;(o[d] = f), (h[d] = f), (l[d] = []), (u[d] = 0) + } + for (var p = 0; p < o.length; p++) + for (var g = 0; g <= p; g++) { + var m = void 0 + i.mode === "dendrogram" + ? (m = p === g ? 1 / 0 : s(o[p].value, o[g].value)) + : (m = p === g ? 1 / 0 : s(o[p].value[0], o[g].value[0])), + (l[p][g] = m), + (l[g][p] = m), + m < l[p][u[p]] && (u[p] = g) + } + for (var v = gL(o, h, l, u, i); v; ) v = gL(o, h, l, u, i) + var y + return ( + i.mode === "dendrogram" + ? ((y = I6(o[0], i.dendrogramDepth, r)), i.addDendrogram && D6(o[0], r)) + : ((y = new Array(o.length)), + o.forEach(function (b, w) { + ;(b.key = b.index = null), (y[w] = r.collection(b.value)) + })), + y + ) + }, + cSe = { hierarchicalClustering: mL, hca: mL }, + uSe = pi({ + distance: "euclidean", + preference: "median", + damping: 0.8, + maxIterations: 1e3, + minIterations: 100, + attributes: [], + }), + hSe = function (e) { + var r = e.damping, + n = e.preference + ;(0.5 <= r && r < 1) || nn("Damping must range on [0.5, 1). Got: ".concat(r)) + var i = ["median", "mean", "min", "max"] + return ( + i.some(function (a) { + return a === n + }) || + gt(n) || + nn( + "Preference must be one of [" + .concat( + i + .map(function (a) { + return "'".concat(a, "'") + }) + .join(", "), + "] or a number. Got: ", + ) + .concat(n), + ), + uSe(e) + ) + }, + dSe = function (e, r, n, i) { + var a = function (o, l) { + return i[l](o) + } + return -Nx( + e, + i.length, + function (s) { + return a(r, s) + }, + function (s) { + return a(n, s) + }, + r, + n, + ) + }, + fSe = function (e, r) { + var n = null + return ( + r === "median" + ? (n = hke(e)) + : r === "mean" + ? (n = uke(e)) + : r === "min" + ? (n = lke(e)) + : r === "max" + ? (n = cke(e)) + : (n = r), + n + ) + }, + pSe = function (e, r, n) { + for (var i = [], a = 0; a < e; a++) r[a * e + a] + n[a * e + a] > 0 && i.push(a) + return i + }, + vL = function (e, r, n) { + for (var i = [], a = 0; a < e; a++) { + for (var s = -1, o = -1 / 0, l = 0; l < n.length; l++) { + var u = n[l] + r[a * e + u] > o && ((s = u), (o = r[a * e + u])) + } + s > 0 && i.push(s) + } + for (var h = 0; h < n.length; h++) i[n[h]] = n[h] + return i + }, + gSe = function (e, r, n) { + for (var i = vL(e, r, n), a = 0; a < n.length; a++) { + for (var s = [], o = 0; o < i.length; o++) i[o] === n[a] && s.push(o) + for (var l = -1, u = -1 / 0, h = 0; h < s.length; h++) { + for (var d = 0, f = 0; f < s.length; f++) d += r[s[f] * e + s[h]] + d > u && ((l = h), (u = d)) + } + n[a] = s[l] + } + return (i = vL(e, r, n)), i + }, + yL = function (e) { + for (var r = this.cy(), n = this.nodes(), i = hSe(e), a = {}, s = 0; s < n.length; s++) a[n[s].id()] = s + var o, l, u, h, d, f + ;(o = n.length), (l = o * o), (u = new Array(l)) + for (var p = 0; p < l; p++) u[p] = -1 / 0 + for (var g = 0; g < o; g++) + for (var m = 0; m < o; m++) g !== m && (u[g * o + m] = dSe(i.distance, n[g], n[m], i.attributes)) + h = fSe(u, i.preference) + for (var v = 0; v < o; v++) u[v * o + v] = h + d = new Array(l) + for (var y = 0; y < l; y++) d[y] = 0 + f = new Array(l) + for (var b = 0; b < l; b++) f[b] = 0 + for (var w = new Array(o), T = new Array(o), E = new Array(o), S = 0; S < o; S++) + (w[S] = 0), (T[S] = 0), (E[S] = 0) + for (var k = new Array(o * i.minIterations), L = 0; L < k.length; L++) k[L] = 0 + var A + for (A = 0; A < i.maxIterations; A++) { + for (var R = 0; R < o; R++) { + for (var C = -1 / 0, I = -1 / 0, P = -1, _ = 0, N = 0; N < o; N++) + (w[N] = d[R * o + N]), + (_ = f[R * o + N] + u[R * o + N]), + _ >= C ? ((I = C), (C = _), (P = N)) : _ > I && (I = _) + for (var M = 0; M < o; M++) d[R * o + M] = (1 - i.damping) * (u[R * o + M] - C) + i.damping * w[M] + d[R * o + P] = (1 - i.damping) * (u[R * o + P] - I) + i.damping * w[P] + } + for (var O = 0; O < o; O++) { + for (var D = 0, B = 0; B < o; B++) + (w[B] = f[B * o + O]), (T[B] = Math.max(0, d[B * o + O])), (D += T[B]) + ;(D -= T[O]), (T[O] = d[O * o + O]), (D += T[O]) + for (var z = 0; z < o; z++) f[z * o + O] = (1 - i.damping) * Math.min(0, D - T[z]) + i.damping * w[z] + f[O * o + O] = (1 - i.damping) * (D - T[O]) + i.damping * w[O] + } + for (var F = 0, G = 0; G < o; G++) { + var q = f[G * o + G] + d[G * o + G] > 0 ? 1 : 0 + ;(k[(A % i.minIterations) * o + G] = q), (F += q) + } + if (F > 0 && (A >= i.minIterations - 1 || A == i.maxIterations - 1)) { + for (var Y = 0, ee = 0; ee < o; ee++) { + E[ee] = 0 + for (var Q = 0; Q < i.minIterations; Q++) E[ee] += k[Q * o + ee] + ;(E[ee] === 0 || E[ee] === i.minIterations) && Y++ + } + if (Y === o) break + } + } + for (var oe = pSe(o, d, f), pe = gSe(o, u, oe), j = {}, H = 0; H < oe.length; H++) j[oe[H]] = [] + for (var X = 0; X < n.length; X++) { + var W = a[n[X].id()], + K = pe[W] + K != null && j[K].push(n[X]) + } + for (var ne = new Array(oe.length), Z = 0; Z < oe.length; Z++) ne[Z] = r.collection(j[oe[Z]]) + return ne + }, + mSe = { affinityPropagation: yL, ap: yL }, + vSe = pi({ root: void 0, directed: !1 }), + ySe = { + hierholzer: function (e) { + if (!mr(e)) { + var r = arguments + e = { root: r[0], directed: r[1] } + } + var n = vSe(e), + i = n.root, + a = n.directed, + s = this, + o = !1, + l, + u, + h + i && (h = Bt(i) ? this.filter(i)[0].id() : i[0].id()) + var d = {}, + f = {} + a + ? s.forEach(function (b) { + var w = b.id() + if (b.isNode()) { + var T = b.indegree(!0), + E = b.outdegree(!0), + S = T - E, + k = E - T + S == 1 + ? l + ? (o = !0) + : (l = w) + : k == 1 + ? u + ? (o = !0) + : (u = w) + : (k > 1 || S > 1) && (o = !0), + (d[w] = []), + b.outgoers().forEach(function (L) { + L.isEdge() && d[w].push(L.id()) + }) + } else f[w] = [void 0, b.target().id()] + }) + : s.forEach(function (b) { + var w = b.id() + if (b.isNode()) { + var T = b.degree(!0) + T % 2 && (l ? (u ? (o = !0) : (u = w)) : (l = w)), + (d[w] = []), + b.connectedEdges().forEach(function (E) { + return d[w].push(E.id()) + }) + } else f[w] = [b.source().id(), b.target().id()] + }) + var p = { found: !1, trail: void 0 } + if (o) return p + if (u && l) + if (a) { + if (h && u != h) return p + h = u + } else { + if (h && u != h && l != h) return p + h || (h = u) + } + else h || (h = s[0].id()) + var g = function (w) { + for (var T = w, E = [w], S, k, L; d[T].length; ) + (S = d[T].shift()), + (k = f[S][0]), + (L = f[S][1]), + T != L + ? ((d[L] = d[L].filter(function (A) { + return A != S + })), + (T = L)) + : !a && + T != k && + ((d[k] = d[k].filter(function (A) { + return A != S + })), + (T = k)), + E.unshift(S), + E.unshift(T) + return E + }, + m = [], + v = [] + for (v = g(h); v.length != 1; ) + d[v[0]].length == 0 + ? (m.unshift(s.getElementById(v.shift())), m.unshift(s.getElementById(v.shift()))) + : (v = g(v.shift()).concat(v)) + m.unshift(s.getElementById(v.shift())) + for (var y in d) if (d[y].length) return p + return (p.found = !0), (p.trail = this.spawn(m, !0)), p + }, + }, + K1 = function () { + var e = this, + r = {}, + n = 0, + i = 0, + a = [], + s = [], + o = {}, + l = function (f, p) { + for (var g = s.length - 1, m = [], v = e.spawn(); s[g].x != f || s[g].y != p; ) + m.push(s.pop().edge), g-- + m.push(s.pop().edge), + m.forEach(function (y) { + var b = y.connectedNodes().intersection(e) + v.merge(y), + b.forEach(function (w) { + var T = w.id(), + E = w.connectedEdges().intersection(e) + v.merge(w), + r[T].cutVertex + ? v.merge( + E.filter(function (S) { + return S.isLoop() + }), + ) + : v.merge(E) + }) + }), + a.push(v) + }, + u = function (f, p, g) { + f === g && (i += 1), (r[p] = { id: n, low: n++, cutVertex: !1 }) + var m = e.getElementById(p).connectedEdges().intersection(e) + if (m.size() === 0) a.push(e.spawn(e.getElementById(p))) + else { + var v, y, b, w + m.forEach(function (T) { + ;(v = T.source().id()), + (y = T.target().id()), + (b = v === p ? y : v), + b !== g && + ((w = T.id()), + o[w] || ((o[w] = !0), s.push({ x: p, y: b, edge: T })), + b in r + ? (r[p].low = Math.min(r[p].low, r[b].id)) + : (u(f, b, p), + (r[p].low = Math.min(r[p].low, r[b].low)), + r[p].id <= r[b].low && ((r[p].cutVertex = !0), l(p, b)))) + }) + } + } + e.forEach(function (d) { + if (d.isNode()) { + var f = d.id() + f in r || ((i = 0), u(f, f), (r[f].cutVertex = i > 1)) + } + }) + var h = Object.keys(r) + .filter(function (d) { + return r[d].cutVertex + }) + .map(function (d) { + return e.getElementById(d) + }) + return { cut: e.spawn(h), components: a } + }, + xSe = { hopcroftTarjanBiconnected: K1, htbc: K1, htb: K1, hopcroftTarjanBiconnectedComponents: K1 }, + Z1 = function () { + var e = this, + r = {}, + n = 0, + i = [], + a = [], + s = e.spawn(e), + o = function (u) { + a.push(u), (r[u] = { index: n, low: n++, explored: !1 }) + var h = e.getElementById(u).connectedEdges().intersection(e) + if ( + (h.forEach(function (m) { + var v = m.target().id() + v !== u && (v in r || o(v), r[v].explored || (r[u].low = Math.min(r[u].low, r[v].low))) + }), + r[u].index === r[u].low) + ) { + for (var d = e.spawn(); ; ) { + var f = a.pop() + if ((d.merge(e.getElementById(f)), (r[f].low = r[u].index), (r[f].explored = !0), f === u)) + break + } + var p = d.edgesWith(d), + g = d.merge(p) + i.push(g), (s = s.difference(g)) + } + } + return ( + e.forEach(function (l) { + if (l.isNode()) { + var u = l.id() + u in r || o(u) + } + }), + { cut: s, components: i } + ) + }, + bSe = { tarjanStronglyConnected: Z1, tsc: Z1, tscc: Z1, tarjanStronglyConnectedComponents: Z1 }, + Pq = {} +;[jp, KEe, ZEe, JEe, tke, nke, ske, Ike, kh, Sh, N6, Hke, aSe, cSe, mSe, ySe, xSe, bSe].forEach(function (t) { + Gt(Pq, t) +}) +/*! +Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable +Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) +Licensed under The MIT License (http://opensource.org/licenses/MIT) +*/ var Bq = 0, + Fq = 1, + $q = 2, + Ss = function (e) { + if (!(this instanceof Ss)) return new Ss(e) + ;(this.id = "Thenable/1.0.7"), + (this.state = Bq), + (this.fulfillValue = void 0), + (this.rejectReason = void 0), + (this.onFulfilled = []), + (this.onRejected = []), + (this.proxy = { then: this.then.bind(this) }), + typeof e == "function" && e.call(this, this.fulfill.bind(this), this.reject.bind(this)) + } +Ss.prototype = { + fulfill: function (e) { + return xL(this, Fq, "fulfillValue", e) + }, + reject: function (e) { + return xL(this, $q, "rejectReason", e) + }, + then: function (e, r) { + var n = this, + i = new Ss() + return n.onFulfilled.push(wL(e, i, "fulfill")), n.onRejected.push(wL(r, i, "reject")), zq(n), i.proxy + }, +} +var xL = function (e, r, n, i) { + return e.state === Bq && ((e.state = r), (e[n] = i), zq(e)), e + }, + zq = function (e) { + e.state === Fq ? bL(e, "onFulfilled", e.fulfillValue) : e.state === $q && bL(e, "onRejected", e.rejectReason) + }, + bL = function (e, r, n) { + if (e[r].length !== 0) { + var i = e[r] + e[r] = [] + var a = function () { + for (var o = 0; o < i.length; o++) i[o](n) + } + typeof setImmediate == "function" ? setImmediate(a) : setTimeout(a, 0) + } + }, + wL = function (e, r, n) { + return function (i) { + if (typeof e != "function") r[n].call(r, i) + else { + var a + try { + a = e(i) + } catch (s) { + r.reject(s) + return + } + Vq(r, a) + } + } + }, + Vq = function (e, r) { + if (e === r || e.proxy === r) { + e.reject(new TypeError("cannot resolve promise with itself")) + return + } + var n + if ((Vn(r) === "object" && r !== null) || typeof r == "function") + try { + n = r.then + } catch (a) { + e.reject(a) + return + } + if (typeof n == "function") { + var i = !1 + try { + n.call( + r, + function (a) { + i || ((i = !0), a === r ? e.reject(new TypeError("circular thenable chain")) : Vq(e, a)) + }, + function (a) { + i || ((i = !0), e.reject(a)) + }, + ) + } catch (a) { + i || e.reject(a) + } + return + } + e.fulfill(r) + } +Ss.all = function (t) { + return new Ss(function (e, r) { + for ( + var n = new Array(t.length), + i = 0, + a = function (l, u) { + ;(n[l] = u), i++, i === t.length && e(n) + }, + s = 0; + s < t.length; + s++ + ) + (function (o) { + var l = t[o], + u = l != null && l.then != null + if (u) + l.then( + function (d) { + a(o, d) + }, + function (d) { + r(d) + }, + ) + else { + var h = l + a(o, h) + } + })(s) + }) +} +Ss.resolve = function (t) { + return new Ss(function (e, r) { + e(t) + }) +} +Ss.reject = function (t) { + return new Ss(function (e, r) { + r(t) + }) +} +var xf = typeof Promise < "u" ? Promise : Ss, + M6 = function (e, r, n) { + var i = lS(e), + a = !i, + s = (this._private = Gt({ duration: 1e3 }, r, n)) + if ( + ((s.target = e), + (s.style = s.style || s.css), + (s.started = !1), + (s.playing = !1), + (s.hooked = !1), + (s.applying = !1), + (s.progress = 0), + (s.completes = []), + (s.frames = []), + s.complete && an(s.complete) && s.completes.push(s.complete), + a) + ) { + var o = e.position() + ;(s.startPosition = s.startPosition || { x: o.x, y: o.y }), + (s.startStyle = s.startStyle || e.cy().style().getAnimationStartStyle(e, s.style)) + } + if (i) { + var l = e.pan() + ;(s.startPan = { x: l.x, y: l.y }), (s.startZoom = e.zoom()) + } + ;(this.length = 1), (this[0] = this) + }, + cu = M6.prototype +Gt(cu, { + instanceString: function () { + return "animation" + }, + hook: function () { + var e = this._private + if (!e.hooked) { + var r, + n = e.target._private.animation + e.queue ? (r = n.queue) : (r = n.current), + r.push(this), + Aa(e.target) && e.target.cy().addToAnimationPool(e.target), + (e.hooked = !0) + } + return this + }, + play: function () { + var e = this._private + return ( + e.progress === 1 && (e.progress = 0), + (e.playing = !0), + (e.started = !1), + (e.stopped = !1), + this.hook(), + this + ) + }, + playing: function () { + return this._private.playing + }, + apply: function () { + var e = this._private + return (e.applying = !0), (e.started = !1), (e.stopped = !1), this.hook(), this + }, + applying: function () { + return this._private.applying + }, + pause: function () { + var e = this._private + return (e.playing = !1), (e.started = !1), this + }, + stop: function () { + var e = this._private + return (e.playing = !1), (e.started = !1), (e.stopped = !0), this + }, + rewind: function () { + return this.progress(0) + }, + fastforward: function () { + return this.progress(1) + }, + time: function (e) { + var r = this._private + return e === void 0 ? r.progress * r.duration : this.progress(e / r.duration) + }, + progress: function (e) { + var r = this._private, + n = r.playing + return e === void 0 + ? r.progress + : (n && this.pause(), (r.progress = e), (r.started = !1), n && this.play(), this) + }, + completed: function () { + return this._private.progress === 1 + }, + reverse: function () { + var e = this._private, + r = e.playing + r && this.pause(), (e.progress = 1 - e.progress), (e.started = !1) + var n = function (u, h) { + var d = e[u] + d != null && ((e[u] = e[h]), (e[h] = d)) + } + if ((n("zoom", "startZoom"), n("pan", "startPan"), n("position", "startPosition"), e.style)) + for (var i = 0; i < e.style.length; i++) { + var a = e.style[i], + s = a.name, + o = e.startStyle[s] + ;(e.startStyle[s] = a), (e.style[i] = o) + } + return r && this.play(), this + }, + promise: function (e) { + var r = this._private, + n + switch (e) { + case "frame": + n = r.frames + break + default: + case "complete": + case "completed": + n = r.completes + } + return new xf(function (i, a) { + n.push(function () { + i() + }) + }) + }, +}) +cu.complete = cu.completed +cu.run = cu.play +cu.running = cu.playing +var wSe = { + animated: function () { + return function () { + var r = this, + n = r.length !== void 0, + i = n ? r : [r], + a = this._private.cy || this + if (!a.styleEnabled()) return !1 + var s = i[0] + if (s) return s._private.animation.current.length > 0 + } + }, + clearQueue: function () { + return function () { + var r = this, + n = r.length !== void 0, + i = n ? r : [r], + a = this._private.cy || this + if (!a.styleEnabled()) return this + for (var s = 0; s < i.length; s++) { + var o = i[s] + o._private.animation.queue = [] + } + return this + } + }, + delay: function () { + return function (r, n) { + var i = this._private.cy || this + return i.styleEnabled() ? this.animate({ delay: r, duration: r, complete: n }) : this + } + }, + delayAnimation: function () { + return function (r, n) { + var i = this._private.cy || this + return i.styleEnabled() ? this.animation({ delay: r, duration: r, complete: n }) : this + } + }, + animation: function () { + return function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + o = this._private.cy || this, + l = !a, + u = !l + if (!o.styleEnabled()) return this + var h = o.style() + r = Gt({}, r, n) + var d = Object.keys(r).length === 0 + if (d) return new M6(s[0], r) + switch ((r.duration === void 0 && (r.duration = 400), r.duration)) { + case "slow": + r.duration = 600 + break + case "fast": + r.duration = 200 + break + } + if ( + (u && ((r.style = h.getPropsList(r.style || r.css)), (r.css = void 0)), + u && r.renderedPosition != null) + ) { + var f = r.renderedPosition, + p = o.pan(), + g = o.zoom() + r.position = Aq(f, g, p) + } + if (l && r.panBy != null) { + var m = r.panBy, + v = o.pan() + r.pan = { x: v.x + m.x, y: v.y + m.y } + } + var y = r.center || r.centre + if (l && y != null) { + var b = o.getCenterPan(y.eles, r.zoom) + b != null && (r.pan = b) + } + if (l && r.fit != null) { + var w = r.fit, + T = o.getFitViewport(w.eles || w.boundingBox, w.padding) + T != null && ((r.pan = T.pan), (r.zoom = T.zoom)) + } + if (l && mr(r.zoom)) { + var E = o.getZoomedViewport(r.zoom) + E != null ? (E.zoomed && (r.zoom = E.zoom), E.panned && (r.pan = E.pan)) : (r.zoom = null) + } + return new M6(s[0], r) + } + }, + animate: function () { + return function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + o = this._private.cy || this + if (!o.styleEnabled()) return this + n && (r = Gt({}, r, n)) + for (var l = 0; l < s.length; l++) { + var u = s[l], + h = u.animated() && (r.queue === void 0 || r.queue), + d = u.animation(r, h ? { queue: !0 } : void 0) + d.play() + } + return this + } + }, + stop: function () { + return function (r, n) { + var i = this, + a = i.length !== void 0, + s = a ? i : [i], + o = this._private.cy || this + if (!o.styleEnabled()) return this + for (var l = 0; l < s.length; l++) { + for (var u = s[l], h = u._private, d = h.animation.current, f = 0; f < d.length; f++) { + var p = d[f], + g = p._private + n && (g.duration = 0) + } + r && (h.animation.queue = []), n || (h.animation.current = []) + } + return o.notify("draw"), this + } + }, + }, + X4, + TL +function Dx() { + if (TL) return X4 + TL = 1 + var t = Array.isArray + return (X4 = t), X4 +} +var j4, EL +function TSe() { + if (EL) return j4 + EL = 1 + var t = Dx(), + e = qg(), + r = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + n = /^\w*$/ + function i(a, s) { + if (t(a)) return !1 + var o = typeof a + return o == "number" || o == "symbol" || o == "boolean" || a == null || e(a) + ? !0 + : n.test(a) || !r.test(a) || (s != null && a in Object(s)) + } + return (j4 = i), j4 +} +var K4, kL +function ESe() { + if (kL) return K4 + kL = 1 + var t = yq(), + e = Ug(), + r = "[object AsyncFunction]", + n = "[object Function]", + i = "[object GeneratorFunction]", + a = "[object Proxy]" + function s(o) { + if (!e(o)) return !1 + var l = t(o) + return l == n || l == i || l == r || l == a + } + return (K4 = s), K4 +} +var Z4, SL +function kSe() { + if (SL) return Z4 + SL = 1 + var t = _x(), + e = t["__core-js_shared__"] + return (Z4 = e), Z4 +} +var Q4, CL +function SSe() { + if (CL) return Q4 + CL = 1 + var t = kSe(), + e = (function () { + var n = /[^.]+$/.exec((t && t.keys && t.keys.IE_PROTO) || "") + return n ? "Symbol(src)_1." + n : "" + })() + function r(n) { + return !!e && e in n + } + return (Q4 = r), Q4 +} +var J4, AL +function CSe() { + if (AL) return J4 + AL = 1 + var t = Function.prototype, + e = t.toString + function r(n) { + if (n != null) { + try { + return e.call(n) + } catch {} + try { + return n + "" + } catch {} + } + return "" + } + return (J4 = r), J4 +} +var e5, _L +function ASe() { + if (_L) return e5 + _L = 1 + var t = ESe(), + e = SSe(), + r = Ug(), + n = CSe(), + i = /[\\^$.*+?()[\]{}|]/g, + a = /^\[object .+?Constructor\]$/, + s = Function.prototype, + o = Object.prototype, + l = s.toString, + u = o.hasOwnProperty, + h = RegExp( + "^" + + l + .call(u) + .replace(i, "\\$&") + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + + "$", + ) + function d(f) { + if (!r(f) || e(f)) return !1 + var p = t(f) ? h : a + return p.test(n(f)) + } + return (e5 = d), e5 +} +var t5, LL +function _Se() { + if (LL) return t5 + LL = 1 + function t(e, r) { + return e == null ? void 0 : e[r] + } + return (t5 = t), t5 +} +var r5, RL +function xS() { + if (RL) return r5 + RL = 1 + var t = ASe(), + e = _Se() + function r(n, i) { + var a = e(n, i) + return t(a) ? a : void 0 + } + return (r5 = r), r5 +} +var n5, NL +function Ix() { + if (NL) return n5 + NL = 1 + var t = xS(), + e = t(Object, "create") + return (n5 = e), n5 +} +var i5, DL +function LSe() { + if (DL) return i5 + DL = 1 + var t = Ix() + function e() { + ;(this.__data__ = t ? t(null) : {}), (this.size = 0) + } + return (i5 = e), i5 +} +var a5, IL +function RSe() { + if (IL) return a5 + IL = 1 + function t(e) { + var r = this.has(e) && delete this.__data__[e] + return (this.size -= r ? 1 : 0), r + } + return (a5 = t), a5 +} +var s5, ML +function NSe() { + if (ML) return s5 + ML = 1 + var t = Ix(), + e = "__lodash_hash_undefined__", + r = Object.prototype, + n = r.hasOwnProperty + function i(a) { + var s = this.__data__ + if (t) { + var o = s[a] + return o === e ? void 0 : o + } + return n.call(s, a) ? s[a] : void 0 + } + return (s5 = i), s5 +} +var o5, OL +function DSe() { + if (OL) return o5 + OL = 1 + var t = Ix(), + e = Object.prototype, + r = e.hasOwnProperty + function n(i) { + var a = this.__data__ + return t ? a[i] !== void 0 : r.call(a, i) + } + return (o5 = n), o5 +} +var l5, PL +function ISe() { + if (PL) return l5 + PL = 1 + var t = Ix(), + e = "__lodash_hash_undefined__" + function r(n, i) { + var a = this.__data__ + return (this.size += this.has(n) ? 0 : 1), (a[n] = t && i === void 0 ? e : i), this + } + return (l5 = r), l5 +} +var c5, BL +function MSe() { + if (BL) return c5 + BL = 1 + var t = LSe(), + e = RSe(), + r = NSe(), + n = DSe(), + i = ISe() + function a(s) { + var o = -1, + l = s == null ? 0 : s.length + for (this.clear(); ++o < l; ) { + var u = s[o] + this.set(u[0], u[1]) + } + } + return ( + (a.prototype.clear = t), + (a.prototype.delete = e), + (a.prototype.get = r), + (a.prototype.has = n), + (a.prototype.set = i), + (c5 = a), + c5 + ) +} +var u5, FL +function OSe() { + if (FL) return u5 + FL = 1 + function t() { + ;(this.__data__ = []), (this.size = 0) + } + return (u5 = t), u5 +} +var h5, $L +function Gq() { + if ($L) return h5 + $L = 1 + function t(e, r) { + return e === r || (e !== e && r !== r) + } + return (h5 = t), h5 +} +var d5, zL +function Mx() { + if (zL) return d5 + zL = 1 + var t = Gq() + function e(r, n) { + for (var i = r.length; i--; ) if (t(r[i][0], n)) return i + return -1 + } + return (d5 = e), d5 +} +var f5, VL +function PSe() { + if (VL) return f5 + VL = 1 + var t = Mx(), + e = Array.prototype, + r = e.splice + function n(i) { + var a = this.__data__, + s = t(a, i) + if (s < 0) return !1 + var o = a.length - 1 + return s == o ? a.pop() : r.call(a, s, 1), --this.size, !0 + } + return (f5 = n), f5 +} +var p5, GL +function BSe() { + if (GL) return p5 + GL = 1 + var t = Mx() + function e(r) { + var n = this.__data__, + i = t(n, r) + return i < 0 ? void 0 : n[i][1] + } + return (p5 = e), p5 +} +var g5, UL +function FSe() { + if (UL) return g5 + UL = 1 + var t = Mx() + function e(r) { + return t(this.__data__, r) > -1 + } + return (g5 = e), g5 +} +var m5, qL +function $Se() { + if (qL) return m5 + qL = 1 + var t = Mx() + function e(r, n) { + var i = this.__data__, + a = t(i, r) + return a < 0 ? (++this.size, i.push([r, n])) : (i[a][1] = n), this + } + return (m5 = e), m5 +} +var v5, WL +function zSe() { + if (WL) return v5 + WL = 1 + var t = OSe(), + e = PSe(), + r = BSe(), + n = FSe(), + i = $Se() + function a(s) { + var o = -1, + l = s == null ? 0 : s.length + for (this.clear(); ++o < l; ) { + var u = s[o] + this.set(u[0], u[1]) + } + } + return ( + (a.prototype.clear = t), + (a.prototype.delete = e), + (a.prototype.get = r), + (a.prototype.has = n), + (a.prototype.set = i), + (v5 = a), + v5 + ) +} +var y5, HL +function VSe() { + if (HL) return y5 + HL = 1 + var t = xS(), + e = _x(), + r = t(e, "Map") + return (y5 = r), y5 +} +var x5, YL +function GSe() { + if (YL) return x5 + YL = 1 + var t = MSe(), + e = zSe(), + r = VSe() + function n() { + ;(this.size = 0), (this.__data__ = { hash: new t(), map: new (r || e)(), string: new t() }) + } + return (x5 = n), x5 +} +var b5, XL +function USe() { + if (XL) return b5 + XL = 1 + function t(e) { + var r = typeof e + return r == "string" || r == "number" || r == "symbol" || r == "boolean" ? e !== "__proto__" : e === null + } + return (b5 = t), b5 +} +var w5, jL +function Ox() { + if (jL) return w5 + jL = 1 + var t = USe() + function e(r, n) { + var i = r.__data__ + return t(n) ? i[typeof n == "string" ? "string" : "hash"] : i.map + } + return (w5 = e), w5 +} +var T5, KL +function qSe() { + if (KL) return T5 + KL = 1 + var t = Ox() + function e(r) { + var n = t(this, r).delete(r) + return (this.size -= n ? 1 : 0), n + } + return (T5 = e), T5 +} +var E5, ZL +function WSe() { + if (ZL) return E5 + ZL = 1 + var t = Ox() + function e(r) { + return t(this, r).get(r) + } + return (E5 = e), E5 +} +var k5, QL +function HSe() { + if (QL) return k5 + QL = 1 + var t = Ox() + function e(r) { + return t(this, r).has(r) + } + return (k5 = e), k5 +} +var S5, JL +function YSe() { + if (JL) return S5 + JL = 1 + var t = Ox() + function e(r, n) { + var i = t(this, r), + a = i.size + return i.set(r, n), (this.size += i.size == a ? 0 : 1), this + } + return (S5 = e), S5 +} +var C5, eR +function XSe() { + if (eR) return C5 + eR = 1 + var t = GSe(), + e = qSe(), + r = WSe(), + n = HSe(), + i = YSe() + function a(s) { + var o = -1, + l = s == null ? 0 : s.length + for (this.clear(); ++o < l; ) { + var u = s[o] + this.set(u[0], u[1]) + } + } + return ( + (a.prototype.clear = t), + (a.prototype.delete = e), + (a.prototype.get = r), + (a.prototype.has = n), + (a.prototype.set = i), + (C5 = a), + C5 + ) +} +var A5, tR +function jSe() { + if (tR) return A5 + tR = 1 + var t = XSe(), + e = "Expected a function" + function r(n, i) { + if (typeof n != "function" || (i != null && typeof i != "function")) throw new TypeError(e) + var a = function () { + var s = arguments, + o = i ? i.apply(this, s) : s[0], + l = a.cache + if (l.has(o)) return l.get(o) + var u = n.apply(this, s) + return (a.cache = l.set(o, u) || l), u + } + return (a.cache = new (r.Cache || t)()), a + } + return (r.Cache = t), (A5 = r), A5 +} +var _5, rR +function KSe() { + if (rR) return _5 + rR = 1 + var t = jSe(), + e = 500 + function r(n) { + var i = t(n, function (s) { + return a.size === e && a.clear(), s + }), + a = i.cache + return i + } + return (_5 = r), _5 +} +var L5, nR +function Uq() { + if (nR) return L5 + nR = 1 + var t = KSe(), + e = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + r = /\\(\\)?/g, + n = t(function (i) { + var a = [] + return ( + i.charCodeAt(0) === 46 && a.push(""), + i.replace(e, function (s, o, l, u) { + a.push(l ? u.replace(r, "$1") : o || s) + }), + a + ) + }) + return (L5 = n), L5 +} +var R5, iR +function qq() { + if (iR) return R5 + iR = 1 + function t(e, r) { + for (var n = -1, i = e == null ? 0 : e.length, a = Array(i); ++n < i; ) a[n] = r(e[n], n, e) + return a + } + return (R5 = t), R5 +} +var N5, aR +function ZSe() { + if (aR) return N5 + aR = 1 + var t = uS(), + e = qq(), + r = Dx(), + n = qg(), + i = t ? t.prototype : void 0, + a = i ? i.toString : void 0 + function s(o) { + if (typeof o == "string") return o + if (r(o)) return e(o, s) + "" + if (n(o)) return a ? a.call(o) : "" + var l = o + "" + return l == "0" && 1 / o == -1 / 0 ? "-0" : l + } + return (N5 = s), N5 +} +var D5, sR +function Wq() { + if (sR) return D5 + sR = 1 + var t = ZSe() + function e(r) { + return r == null ? "" : t(r) + } + return (D5 = e), D5 +} +var I5, oR +function Hq() { + if (oR) return I5 + oR = 1 + var t = Dx(), + e = TSe(), + r = Uq(), + n = Wq() + function i(a, s) { + return t(a) ? a : e(a, s) ? [a] : r(n(a)) + } + return (I5 = i), I5 +} +var M5, lR +function bS() { + if (lR) return M5 + lR = 1 + var t = qg() + function e(r) { + if (typeof r == "string" || t(r)) return r + var n = r + "" + return n == "0" && 1 / r == -1 / 0 ? "-0" : n + } + return (M5 = e), M5 +} +var O5, cR +function QSe() { + if (cR) return O5 + cR = 1 + var t = Hq(), + e = bS() + function r(n, i) { + i = t(i, n) + for (var a = 0, s = i.length; n != null && a < s; ) n = n[e(i[a++])] + return a && a == s ? n : void 0 + } + return (O5 = r), O5 +} +var P5, uR +function JSe() { + if (uR) return P5 + uR = 1 + var t = QSe() + function e(r, n, i) { + var a = r == null ? void 0 : t(r, n) + return a === void 0 ? i : a + } + return (P5 = e), P5 +} +var e7e = JSe(), + t7e = Gg(e7e), + B5, + hR +function r7e() { + if (hR) return B5 + hR = 1 + var t = xS(), + e = (function () { + try { + var r = t(Object, "defineProperty") + return r({}, "", {}), r + } catch {} + })() + return (B5 = e), B5 +} +var F5, dR +function n7e() { + if (dR) return F5 + dR = 1 + var t = r7e() + function e(r, n, i) { + n == "__proto__" && t ? t(r, n, { configurable: !0, enumerable: !0, value: i, writable: !0 }) : (r[n] = i) + } + return (F5 = e), F5 +} +var $5, fR +function i7e() { + if (fR) return $5 + fR = 1 + var t = n7e(), + e = Gq(), + r = Object.prototype, + n = r.hasOwnProperty + function i(a, s, o) { + var l = a[s] + ;(!(n.call(a, s) && e(l, o)) || (o === void 0 && !(s in a))) && t(a, s, o) + } + return ($5 = i), $5 +} +var z5, pR +function a7e() { + if (pR) return z5 + pR = 1 + var t = 9007199254740991, + e = /^(?:0|[1-9]\d*)$/ + function r(n, i) { + var a = typeof n + return (i = i ?? t), !!i && (a == "number" || (a != "symbol" && e.test(n))) && n > -1 && n % 1 == 0 && n < i + } + return (z5 = r), z5 +} +var V5, gR +function s7e() { + if (gR) return V5 + gR = 1 + var t = i7e(), + e = Hq(), + r = a7e(), + n = Ug(), + i = bS() + function a(s, o, l, u) { + if (!n(s)) return s + o = e(o, s) + for (var h = -1, d = o.length, f = d - 1, p = s; p != null && ++h < d; ) { + var g = i(o[h]), + m = l + if (g === "__proto__" || g === "constructor" || g === "prototype") return s + if (h != f) { + var v = p[g] + ;(m = u ? u(v, g, p) : void 0), m === void 0 && (m = n(v) ? v : r(o[h + 1]) ? [] : {}) + } + t(p, g, m), (p = p[g]) + } + return s + } + return (V5 = a), V5 +} +var G5, mR +function o7e() { + if (mR) return G5 + mR = 1 + var t = s7e() + function e(r, n, i) { + return r == null ? r : t(r, n, i) + } + return (G5 = e), G5 +} +var l7e = o7e(), + c7e = Gg(l7e), + U5, + vR +function u7e() { + if (vR) return U5 + vR = 1 + function t(e, r) { + var n = -1, + i = e.length + for (r || (r = Array(i)); ++n < i; ) r[n] = e[n] + return r + } + return (U5 = t), U5 +} +var q5, yR +function h7e() { + if (yR) return q5 + yR = 1 + var t = qq(), + e = u7e(), + r = Dx(), + n = qg(), + i = Uq(), + a = bS(), + s = Wq() + function o(l) { + return r(l) ? t(l, a) : n(l) ? [l] : e(i(s(l))) + } + return (q5 = o), q5 +} +var d7e = h7e(), + f7e = Gg(d7e), + p7e = { + data: function (e) { + var r = { + field: "data", + bindingEvent: "data", + allowBinding: !1, + allowSetting: !1, + allowGetting: !1, + settingEvent: "data", + settingTriggersEvent: !1, + triggerFnName: "trigger", + immutableKeys: {}, + updateStyle: !1, + beforeGet: function (i) {}, + beforeSet: function (i, a) {}, + onSet: function (i) {}, + canSet: function (i) { + return !0 + }, + } + return ( + (e = Gt({}, r, e)), + function (i, a) { + var s = e, + o = this, + l = o.length !== void 0, + u = l ? o : [o], + h = l ? o[0] : o + if (Bt(i)) { + var d = i.indexOf(".") !== -1, + f = d && f7e(i) + if (s.allowGetting && a === void 0) { + var p + return ( + h && + (s.beforeGet(h), + f && h._private[s.field][i] === void 0 + ? (p = t7e(h._private[s.field], f)) + : (p = h._private[s.field][i])), + p + ) + } else if (s.allowSetting && a !== void 0) { + var g = !s.immutableKeys[i] + if (g) { + var m = lq({}, i, a) + s.beforeSet(o, m) + for (var v = 0, y = u.length; v < y; v++) { + var b = u[v] + s.canSet(b) && + (f && h._private[s.field][i] === void 0 + ? c7e(b._private[s.field], f, a) + : (b._private[s.field][i] = a)) + } + s.updateStyle && o.updateStyle(), + s.onSet(o), + s.settingTriggersEvent && o[s.triggerFnName](s.settingEvent) + } + } + } else if (s.allowSetting && mr(i)) { + var w = i, + T, + E, + S = Object.keys(w) + s.beforeSet(o, w) + for (var k = 0; k < S.length; k++) { + ;(T = S[k]), (E = w[T]) + var L = !s.immutableKeys[T] + if (L) + for (var A = 0; A < u.length; A++) { + var R = u[A] + s.canSet(R) && (R._private[s.field][T] = E) + } + } + s.updateStyle && o.updateStyle(), + s.onSet(o), + s.settingTriggersEvent && o[s.triggerFnName](s.settingEvent) + } else if (s.allowBinding && an(i)) { + var C = i + o.on(s.bindingEvent, C) + } else if (s.allowGetting && i === void 0) { + var I + return h && (s.beforeGet(h), (I = h._private[s.field])), I + } + return o + } + ) + }, + removeData: function (e) { + var r = { field: "data", event: "data", triggerFnName: "trigger", triggerEvent: !1, immutableKeys: {} } + return ( + (e = Gt({}, r, e)), + function (i) { + var a = e, + s = this, + o = s.length !== void 0, + l = o ? s : [s] + if (Bt(i)) { + for (var u = i.split(/\s+/), h = u.length, d = 0; d < h; d++) { + var f = u[d] + if (!zl(f)) { + var p = !a.immutableKeys[f] + if (p) for (var g = 0, m = l.length; g < m; g++) l[g]._private[a.field][f] = void 0 + } + } + a.triggerEvent && s[a.triggerFnName](a.event) + } else if (i === void 0) { + for (var v = 0, y = l.length; v < y; v++) + for (var b = l[v]._private[a.field], w = Object.keys(b), T = 0; T < w.length; T++) { + var E = w[T], + S = !a.immutableKeys[E] + S && (b[E] = void 0) + } + a.triggerEvent && s[a.triggerFnName](a.event) + } + return s + } + ) + }, + }, + g7e = { + eventAliasesOn: function (e) { + var r = e + ;(r.addListener = r.listen = r.bind = r.on), + (r.unlisten = r.unbind = r.off = r.removeListener), + (r.trigger = r.emit), + (r.pon = r.promiseOn = + function (n, i) { + var a = this, + s = Array.prototype.slice.call(arguments, 0) + return new xf(function (o, l) { + var u = function (p) { + a.off.apply(a, d), o(p) + }, + h = s.concat([u]), + d = h.concat([]) + a.on.apply(a, h) + }) + }) + }, + }, + Tr = {} +;[wSe, p7e, g7e].forEach(function (t) { + Gt(Tr, t) +}) +var m7e = { + animate: Tr.animate(), + animation: Tr.animation(), + animated: Tr.animated(), + clearQueue: Tr.clearQueue(), + delay: Tr.delay(), + delayAnimation: Tr.delayAnimation(), + stop: Tr.stop(), + }, + ev = { + classes: function (e) { + var r = this + if (e === void 0) { + var n = [] + return ( + r[0]._private.classes.forEach(function (g) { + return n.push(g) + }), + n + ) + } else Fr(e) || (e = (e || "").match(/\S+/g) || []) + for (var i = [], a = new yf(e), s = 0; s < r.length; s++) { + for (var o = r[s], l = o._private, u = l.classes, h = !1, d = 0; d < e.length; d++) { + var f = e[d], + p = u.has(f) + if (!p) { + h = !0 + break + } + } + h || (h = u.size !== e.length), h && ((l.classes = a), i.push(o)) + } + return i.length > 0 && this.spawn(i).updateStyle().emit("class"), r + }, + addClass: function (e) { + return this.toggleClass(e, !0) + }, + hasClass: function (e) { + var r = this[0] + return r != null && r._private.classes.has(e) + }, + toggleClass: function (e, r) { + Fr(e) || (e = e.match(/\S+/g) || []) + for (var n = this, i = r === void 0, a = [], s = 0, o = n.length; s < o; s++) + for (var l = n[s], u = l._private.classes, h = !1, d = 0; d < e.length; d++) { + var f = e[d], + p = u.has(f), + g = !1 + r || (i && !p) ? (u.add(f), (g = !0)) : (!r || (i && p)) && (u.delete(f), (g = !0)), + !h && g && (a.push(l), (h = !0)) + } + return a.length > 0 && this.spawn(a).updateStyle().emit("class"), n + }, + removeClass: function (e) { + return this.toggleClass(e, !1) + }, + flashClass: function (e, r) { + var n = this + if (r == null) r = 250 + else if (r === 0) return n + return ( + n.addClass(e), + setTimeout(function () { + n.removeClass(e) + }, r), + n + ) + }, + } +ev.className = ev.classNames = ev.classes +var gr = { + metaChar: "[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]", + comparatorOp: "=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=", + boolOp: "\\?|\\!|\\^", + string: `"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`, + number: Pn, + meta: "degree|indegree|outdegree", + separator: "\\s*,\\s*", + descendant: "\\s+", + child: "\\s+>\\s+", + subject: "\\$", + group: "node|edge|\\*", + directedEdge: "\\s+->\\s+", + undirectedEdge: "\\s+<->\\s+", +} +gr.variable = "(?:[\\w-.]|(?:\\\\" + gr.metaChar + "))+" +gr.className = "(?:[\\w-]|(?:\\\\" + gr.metaChar + "))+" +gr.value = gr.string + "|" + gr.number +gr.id = gr.variable +;(function () { + var t, e, r + for (t = gr.comparatorOp.split("|"), r = 0; r < t.length; r++) (e = t[r]), (gr.comparatorOp += "|@" + e) + for (t = gr.comparatorOp.split("|"), r = 0; r < t.length; r++) + (e = t[r]), !(e.indexOf("!") >= 0) && e !== "=" && (gr.comparatorOp += "|\\!" + e) +})() +var Mr = function () { + return { checks: [] } + }, + At = { + GROUP: 0, + COLLECTION: 1, + FILTER: 2, + DATA_COMPARE: 3, + DATA_EXIST: 4, + DATA_BOOL: 5, + META_COMPARE: 6, + STATE: 7, + ID: 8, + CLASS: 9, + UNDIRECTED_EDGE: 10, + DIRECTED_EDGE: 11, + NODE_SOURCE: 12, + NODE_TARGET: 13, + NODE_NEIGHBOR: 14, + CHILD: 15, + DESCENDANT: 16, + PARENT: 17, + ANCESTOR: 18, + COMPOUND_SPLIT: 19, + TRUE: 20, + }, + O6 = [ + { + selector: ":selected", + matches: function (e) { + return e.selected() + }, + }, + { + selector: ":unselected", + matches: function (e) { + return !e.selected() + }, + }, + { + selector: ":selectable", + matches: function (e) { + return e.selectable() + }, + }, + { + selector: ":unselectable", + matches: function (e) { + return !e.selectable() + }, + }, + { + selector: ":locked", + matches: function (e) { + return e.locked() + }, + }, + { + selector: ":unlocked", + matches: function (e) { + return !e.locked() + }, + }, + { + selector: ":visible", + matches: function (e) { + return e.visible() + }, + }, + { + selector: ":hidden", + matches: function (e) { + return !e.visible() + }, + }, + { + selector: ":transparent", + matches: function (e) { + return e.transparent() + }, + }, + { + selector: ":grabbed", + matches: function (e) { + return e.grabbed() + }, + }, + { + selector: ":free", + matches: function (e) { + return !e.grabbed() + }, + }, + { + selector: ":removed", + matches: function (e) { + return e.removed() + }, + }, + { + selector: ":inside", + matches: function (e) { + return !e.removed() + }, + }, + { + selector: ":grabbable", + matches: function (e) { + return e.grabbable() + }, + }, + { + selector: ":ungrabbable", + matches: function (e) { + return !e.grabbable() + }, + }, + { + selector: ":animated", + matches: function (e) { + return e.animated() + }, + }, + { + selector: ":unanimated", + matches: function (e) { + return !e.animated() + }, + }, + { + selector: ":parent", + matches: function (e) { + return e.isParent() + }, + }, + { + selector: ":childless", + matches: function (e) { + return e.isChildless() + }, + }, + { + selector: ":child", + matches: function (e) { + return e.isChild() + }, + }, + { + selector: ":orphan", + matches: function (e) { + return e.isOrphan() + }, + }, + { + selector: ":nonorphan", + matches: function (e) { + return e.isChild() + }, + }, + { + selector: ":compound", + matches: function (e) { + return e.isNode() ? e.isParent() : e.source().isParent() || e.target().isParent() + }, + }, + { + selector: ":loop", + matches: function (e) { + return e.isLoop() + }, + }, + { + selector: ":simple", + matches: function (e) { + return e.isSimple() + }, + }, + { + selector: ":active", + matches: function (e) { + return e.active() + }, + }, + { + selector: ":inactive", + matches: function (e) { + return !e.active() + }, + }, + { + selector: ":backgrounding", + matches: function (e) { + return e.backgrounding() + }, + }, + { + selector: ":nonbackgrounding", + matches: function (e) { + return !e.backgrounding() + }, + }, + ].sort(function (t, e) { + return vEe(t.selector, e.selector) + }), + v7e = (function () { + for (var t = {}, e, r = 0; r < O6.length; r++) (e = O6[r]), (t[e.selector] = e.matches) + return t + })(), + y7e = function (e, r) { + return v7e[e](r) + }, + x7e = + "(" + + O6.map(function (t) { + return t.selector + }).join("|") + + ")", + Vu = function (e) { + return e.replace(new RegExp("\\\\(" + gr.metaChar + ")", "g"), function (r, n) { + return n + }) + }, + ul = function (e, r, n) { + e[e.length - 1] = n + }, + P6 = [ + { + name: "group", + query: !0, + regex: "(" + gr.group + ")", + populate: function (e, r, n) { + var i = Rn(n, 1), + a = i[0] + r.checks.push({ type: At.GROUP, value: a === "*" ? a : a + "s" }) + }, + }, + { + name: "state", + query: !0, + regex: x7e, + populate: function (e, r, n) { + var i = Rn(n, 1), + a = i[0] + r.checks.push({ type: At.STATE, value: a }) + }, + }, + { + name: "id", + query: !0, + regex: "\\#(" + gr.id + ")", + populate: function (e, r, n) { + var i = Rn(n, 1), + a = i[0] + r.checks.push({ type: At.ID, value: Vu(a) }) + }, + }, + { + name: "className", + query: !0, + regex: "\\.(" + gr.className + ")", + populate: function (e, r, n) { + var i = Rn(n, 1), + a = i[0] + r.checks.push({ type: At.CLASS, value: Vu(a) }) + }, + }, + { + name: "dataExists", + query: !0, + regex: "\\[\\s*(" + gr.variable + ")\\s*\\]", + populate: function (e, r, n) { + var i = Rn(n, 1), + a = i[0] + r.checks.push({ type: At.DATA_EXIST, field: Vu(a) }) + }, + }, + { + name: "dataCompare", + query: !0, + regex: "\\[\\s*(" + gr.variable + ")\\s*(" + gr.comparatorOp + ")\\s*(" + gr.value + ")\\s*\\]", + populate: function (e, r, n) { + var i = Rn(n, 3), + a = i[0], + s = i[1], + o = i[2], + l = new RegExp("^" + gr.string + "$").exec(o) != null + l ? (o = o.substring(1, o.length - 1)) : (o = parseFloat(o)), + r.checks.push({ type: At.DATA_COMPARE, field: Vu(a), operator: s, value: o }) + }, + }, + { + name: "dataBool", + query: !0, + regex: "\\[\\s*(" + gr.boolOp + ")\\s*(" + gr.variable + ")\\s*\\]", + populate: function (e, r, n) { + var i = Rn(n, 2), + a = i[0], + s = i[1] + r.checks.push({ type: At.DATA_BOOL, field: Vu(s), operator: a }) + }, + }, + { + name: "metaCompare", + query: !0, + regex: "\\[\\[\\s*(" + gr.meta + ")\\s*(" + gr.comparatorOp + ")\\s*(" + gr.number + ")\\s*\\]\\]", + populate: function (e, r, n) { + var i = Rn(n, 3), + a = i[0], + s = i[1], + o = i[2] + r.checks.push({ type: At.META_COMPARE, field: Vu(a), operator: s, value: parseFloat(o) }) + }, + }, + { + name: "nextQuery", + separator: !0, + regex: gr.separator, + populate: function (e, r) { + var n = e.currentSubject, + i = e.edgeCount, + a = e.compoundCount, + s = e[e.length - 1] + n != null && ((s.subject = n), (e.currentSubject = null)), + (s.edgeCount = i), + (s.compoundCount = a), + (e.edgeCount = 0), + (e.compoundCount = 0) + var o = (e[e.length++] = Mr()) + return o + }, + }, + { + name: "directedEdge", + separator: !0, + regex: gr.directedEdge, + populate: function (e, r) { + if (e.currentSubject == null) { + var n = Mr(), + i = r, + a = Mr() + return ( + n.checks.push({ type: At.DIRECTED_EDGE, source: i, target: a }), ul(e, r, n), e.edgeCount++, a + ) + } else { + var s = Mr(), + o = r, + l = Mr() + return s.checks.push({ type: At.NODE_SOURCE, source: o, target: l }), ul(e, r, s), e.edgeCount++, l + } + }, + }, + { + name: "undirectedEdge", + separator: !0, + regex: gr.undirectedEdge, + populate: function (e, r) { + if (e.currentSubject == null) { + var n = Mr(), + i = r, + a = Mr() + return n.checks.push({ type: At.UNDIRECTED_EDGE, nodes: [i, a] }), ul(e, r, n), e.edgeCount++, a + } else { + var s = Mr(), + o = r, + l = Mr() + return s.checks.push({ type: At.NODE_NEIGHBOR, node: o, neighbor: l }), ul(e, r, s), l + } + }, + }, + { + name: "child", + separator: !0, + regex: gr.child, + populate: function (e, r) { + if (e.currentSubject == null) { + var n = Mr(), + i = Mr(), + a = e[e.length - 1] + return n.checks.push({ type: At.CHILD, parent: a, child: i }), ul(e, r, n), e.compoundCount++, i + } else if (e.currentSubject === r) { + var s = Mr(), + o = e[e.length - 1], + l = Mr(), + u = Mr(), + h = Mr(), + d = Mr() + return ( + s.checks.push({ type: At.COMPOUND_SPLIT, left: o, right: l, subject: u }), + (u.checks = r.checks), + (r.checks = [{ type: At.TRUE }]), + d.checks.push({ type: At.TRUE }), + l.checks.push({ type: At.PARENT, parent: d, child: h }), + ul(e, o, s), + (e.currentSubject = u), + e.compoundCount++, + h + ) + } else { + var f = Mr(), + p = Mr(), + g = [{ type: At.PARENT, parent: f, child: p }] + return (f.checks = r.checks), (r.checks = g), e.compoundCount++, p + } + }, + }, + { + name: "descendant", + separator: !0, + regex: gr.descendant, + populate: function (e, r) { + if (e.currentSubject == null) { + var n = Mr(), + i = Mr(), + a = e[e.length - 1] + return ( + n.checks.push({ type: At.DESCENDANT, ancestor: a, descendant: i }), + ul(e, r, n), + e.compoundCount++, + i + ) + } else if (e.currentSubject === r) { + var s = Mr(), + o = e[e.length - 1], + l = Mr(), + u = Mr(), + h = Mr(), + d = Mr() + return ( + s.checks.push({ type: At.COMPOUND_SPLIT, left: o, right: l, subject: u }), + (u.checks = r.checks), + (r.checks = [{ type: At.TRUE }]), + d.checks.push({ type: At.TRUE }), + l.checks.push({ type: At.ANCESTOR, ancestor: d, descendant: h }), + ul(e, o, s), + (e.currentSubject = u), + e.compoundCount++, + h + ) + } else { + var f = Mr(), + p = Mr(), + g = [{ type: At.ANCESTOR, ancestor: f, descendant: p }] + return (f.checks = r.checks), (r.checks = g), e.compoundCount++, p + } + }, + }, + { + name: "subject", + modifier: !0, + regex: gr.subject, + populate: function (e, r) { + if (e.currentSubject != null && e.currentSubject !== r) + return Sr("Redefinition of subject in selector `" + e.toString() + "`"), !1 + e.currentSubject = r + var n = e[e.length - 1], + i = n.checks[0], + a = i == null ? null : i.type + a === At.DIRECTED_EDGE + ? (i.type = At.NODE_TARGET) + : a === At.UNDIRECTED_EDGE && + ((i.type = At.NODE_NEIGHBOR), + (i.node = i.nodes[1]), + (i.neighbor = i.nodes[0]), + (i.nodes = null)) + }, + }, + ] +P6.forEach(function (t) { + return (t.regexObj = new RegExp("^" + t.regex)) +}) +var b7e = function (e) { + for (var r, n, i, a = 0; a < P6.length; a++) { + var s = P6[a], + o = s.name, + l = e.match(s.regexObj) + if (l != null) { + ;(n = l), (r = s), (i = o) + var u = l[0] + e = e.substring(u.length) + break + } + } + return { expr: r, match: n, name: i, remaining: e } + }, + w7e = function (e) { + var r = e.match(/^\s+/) + if (r) { + var n = r[0] + e = e.substring(n.length) + } + return e + }, + T7e = function (e) { + var r = this, + n = (r.inputText = e), + i = (r[0] = Mr()) + for (r.length = 1, n = w7e(n); ; ) { + var a = b7e(n) + if (a.expr == null) return Sr("The selector `" + e + "`is invalid"), !1 + var s = a.match.slice(1), + o = a.expr.populate(r, i, s) + if (o === !1) return !1 + if ((o != null && (i = o), (n = a.remaining), n.match(/^\s*$/))) break + } + var l = r[r.length - 1] + r.currentSubject != null && (l.subject = r.currentSubject), + (l.edgeCount = r.edgeCount), + (l.compoundCount = r.compoundCount) + for (var u = 0; u < r.length; u++) { + var h = r[u] + if (h.compoundCount > 0 && h.edgeCount > 0) + return ( + Sr( + "The selector `" + + e + + "` is invalid because it uses both a compound selector and an edge selector", + ), + !1 + ) + if (h.edgeCount > 1) + return Sr("The selector `" + e + "` is invalid because it uses multiple edge selectors"), !1 + h.edgeCount === 1 && + Sr( + "The selector `" + + e + + "` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.", + ) + } + return !0 + }, + E7e = function () { + if (this.toStringCache != null) return this.toStringCache + for ( + var e = function (h) { + return h ?? "" + }, + r = function (h) { + return Bt(h) ? '"' + h + '"' : e(h) + }, + n = function (h) { + return " " + h + " " + }, + i = function (h, d) { + var f = h.type, + p = h.value + switch (f) { + case At.GROUP: { + var g = e(p) + return g.substring(0, g.length - 1) + } + case At.DATA_COMPARE: { + var m = h.field, + v = h.operator + return "[" + m + n(e(v)) + r(p) + "]" + } + case At.DATA_BOOL: { + var y = h.operator, + b = h.field + return "[" + e(y) + b + "]" + } + case At.DATA_EXIST: { + var w = h.field + return "[" + w + "]" + } + case At.META_COMPARE: { + var T = h.operator, + E = h.field + return "[[" + E + n(e(T)) + r(p) + "]]" + } + case At.STATE: + return p + case At.ID: + return "#" + p + case At.CLASS: + return "." + p + case At.PARENT: + case At.CHILD: + return a(h.parent, d) + n(">") + a(h.child, d) + case At.ANCESTOR: + case At.DESCENDANT: + return a(h.ancestor, d) + " " + a(h.descendant, d) + case At.COMPOUND_SPLIT: { + var S = a(h.left, d), + k = a(h.subject, d), + L = a(h.right, d) + return S + (S.length > 0 ? " " : "") + k + L + } + case At.TRUE: + return "" + } + }, + a = function (h, d) { + return h.checks.reduce(function (f, p, g) { + return f + (d === h && g === 0 ? "$" : "") + i(p, d) + }, "") + }, + s = "", + o = 0; + o < this.length; + o++ + ) { + var l = this[o] + ;(s += a(l, l.subject)), this.length > 1 && o < this.length - 1 && (s += ", ") + } + return (this.toStringCache = s), s + }, + k7e = { parse: T7e, toString: E7e }, + Yq = function (e, r, n) { + var i, + a = Bt(e), + s = gt(e), + o = Bt(n), + l, + u, + h = !1, + d = !1, + f = !1 + switch ( + (r.indexOf("!") >= 0 && ((r = r.replace("!", "")), (d = !0)), + r.indexOf("@") >= 0 && ((r = r.replace("@", "")), (h = !0)), + (a || o || h) && ((l = !a && !s ? "" : "" + e), (u = "" + n)), + h && ((e = l = l.toLowerCase()), (n = u = u.toLowerCase())), + r) + ) { + case "*=": + i = l.indexOf(u) >= 0 + break + case "$=": + i = l.indexOf(u, l.length - u.length) >= 0 + break + case "^=": + i = l.indexOf(u) === 0 + break + case "=": + i = e === n + break + case ">": + ;(f = !0), (i = e > n) + break + case ">=": + ;(f = !0), (i = e >= n) + break + case "<": + ;(f = !0), (i = e < n) + break + case "<=": + ;(f = !0), (i = e <= n) + break + default: + i = !1 + break + } + return d && (e != null || !f) && (i = !i), i + }, + S7e = function (e, r) { + switch (r) { + case "?": + return !!e + case "!": + return !e + case "^": + return e === void 0 + } + }, + C7e = function (e) { + return e !== void 0 + }, + wS = function (e, r) { + return e.data(r) + }, + A7e = function (e, r) { + return e[r]() + }, + hn = [], + Hr = function (e, r) { + return e.checks.every(function (n) { + return hn[n.type](n, r) + }) + } +hn[At.GROUP] = function (t, e) { + var r = t.value + return r === "*" || r === e.group() +} +hn[At.STATE] = function (t, e) { + var r = t.value + return y7e(r, e) +} +hn[At.ID] = function (t, e) { + var r = t.value + return e.id() === r +} +hn[At.CLASS] = function (t, e) { + var r = t.value + return e.hasClass(r) +} +hn[At.META_COMPARE] = function (t, e) { + var r = t.field, + n = t.operator, + i = t.value + return Yq(A7e(e, r), n, i) +} +hn[At.DATA_COMPARE] = function (t, e) { + var r = t.field, + n = t.operator, + i = t.value + return Yq(wS(e, r), n, i) +} +hn[At.DATA_BOOL] = function (t, e) { + var r = t.field, + n = t.operator + return S7e(wS(e, r), n) +} +hn[At.DATA_EXIST] = function (t, e) { + var r = t.field + return t.operator, C7e(wS(e, r)) +} +hn[At.UNDIRECTED_EDGE] = function (t, e) { + var r = t.nodes[0], + n = t.nodes[1], + i = e.source(), + a = e.target() + return (Hr(r, i) && Hr(n, a)) || (Hr(n, i) && Hr(r, a)) +} +hn[At.NODE_NEIGHBOR] = function (t, e) { + return ( + Hr(t.node, e) && + e.neighborhood().some(function (r) { + return r.isNode() && Hr(t.neighbor, r) + }) + ) +} +hn[At.DIRECTED_EDGE] = function (t, e) { + return Hr(t.source, e.source()) && Hr(t.target, e.target()) +} +hn[At.NODE_SOURCE] = function (t, e) { + return ( + Hr(t.source, e) && + e.outgoers().some(function (r) { + return r.isNode() && Hr(t.target, r) + }) + ) +} +hn[At.NODE_TARGET] = function (t, e) { + return ( + Hr(t.target, e) && + e.incomers().some(function (r) { + return r.isNode() && Hr(t.source, r) + }) + ) +} +hn[At.CHILD] = function (t, e) { + return Hr(t.child, e) && Hr(t.parent, e.parent()) +} +hn[At.PARENT] = function (t, e) { + return ( + Hr(t.parent, e) && + e.children().some(function (r) { + return Hr(t.child, r) + }) + ) +} +hn[At.DESCENDANT] = function (t, e) { + return ( + Hr(t.descendant, e) && + e.ancestors().some(function (r) { + return Hr(t.ancestor, r) + }) + ) +} +hn[At.ANCESTOR] = function (t, e) { + return ( + Hr(t.ancestor, e) && + e.descendants().some(function (r) { + return Hr(t.descendant, r) + }) + ) +} +hn[At.COMPOUND_SPLIT] = function (t, e) { + return Hr(t.subject, e) && Hr(t.left, e) && Hr(t.right, e) +} +hn[At.TRUE] = function () { + return !0 +} +hn[At.COLLECTION] = function (t, e) { + var r = t.value + return r.has(e) +} +hn[At.FILTER] = function (t, e) { + var r = t.value + return r(e) +} +var _7e = function (e) { + var r = this + if (r.length === 1 && r[0].checks.length === 1 && r[0].checks[0].type === At.ID) + return e.getElementById(r[0].checks[0].value).collection() + var n = function (a) { + for (var s = 0; s < r.length; s++) { + var o = r[s] + if (Hr(o, a)) return !0 + } + return !1 + } + return ( + r.text() == null && + (n = function () { + return !0 + }), + e.filter(n) + ) + }, + L7e = function (e) { + for (var r = this, n = 0; n < r.length; n++) { + var i = r[n] + if (Hr(i, e)) return !0 + } + return !1 + }, + R7e = { matches: L7e, filter: _7e }, + Ul = function (e) { + ;(this.inputText = e), + (this.currentSubject = null), + (this.compoundCount = 0), + (this.edgeCount = 0), + (this.length = 0), + e == null || + (Bt(e) && e.match(/^\s*$/)) || + (Aa(e) + ? this.addQuery({ checks: [{ type: At.COLLECTION, value: e.collection() }] }) + : an(e) + ? this.addQuery({ checks: [{ type: At.FILTER, value: e }] }) + : Bt(e) + ? this.parse(e) || (this.invalid = !0) + : nn("A selector must be created from a string; found ")) + }, + ql = Ul.prototype +;[k7e, R7e].forEach(function (t) { + return Gt(ql, t) +}) +ql.text = function () { + return this.inputText +} +ql.size = function () { + return this.length +} +ql.eq = function (t) { + return this[t] +} +ql.sameText = function (t) { + return !this.invalid && !t.invalid && this.text() === t.text() +} +ql.addQuery = function (t) { + this[this.length++] = t +} +ql.selector = ql.toString +var Sl = { + allAre: function (e) { + var r = new Ul(e) + return this.every(function (n) { + return r.matches(n) + }) + }, + is: function (e) { + var r = new Ul(e) + return this.some(function (n) { + return r.matches(n) + }) + }, + some: function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this) + if (i) return !0 + } + return !1 + }, + every: function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = r ? e.apply(r, [this[n], n, this]) : e(this[n], n, this) + if (!i) return !1 + } + return !0 + }, + same: function (e) { + if (this === e) return !0 + e = this.cy().collection(e) + var r = this.length, + n = e.length + return r !== n + ? !1 + : r === 1 + ? this[0] === e[0] + : this.every(function (i) { + return e.hasElementWithId(i.id()) + }) + }, + anySame: function (e) { + return ( + (e = this.cy().collection(e)), + this.some(function (r) { + return e.hasElementWithId(r.id()) + }) + ) + }, + allAreNeighbors: function (e) { + e = this.cy().collection(e) + var r = this.neighborhood() + return e.every(function (n) { + return r.hasElementWithId(n.id()) + }) + }, + contains: function (e) { + e = this.cy().collection(e) + var r = this + return e.every(function (n) { + return r.hasElementWithId(n.id()) + }) + }, +} +Sl.allAreNeighbours = Sl.allAreNeighbors +Sl.has = Sl.contains +Sl.equal = Sl.equals = Sl.same +var ja = function (e, r) { + return function (i, a, s, o) { + var l = i, + u = this, + h + if ((l == null ? (h = "") : Aa(l) && l.length === 1 && (h = l.id()), u.length === 1 && h)) { + var d = u[0]._private, + f = (d.traversalCache = d.traversalCache || {}), + p = (f[r] = f[r] || []), + g = ou(h), + m = p[g] + return m || (p[g] = e.call(u, i, a, s, o)) + } else return e.call(u, i, a, s, o) + } + }, + Zd = { + parent: function (e) { + var r = [] + if (this.length === 1) { + var n = this[0]._private.parent + if (n) return n + } + for (var i = 0; i < this.length; i++) { + var a = this[i], + s = a._private.parent + s && r.push(s) + } + return this.spawn(r, !0).filter(e) + }, + parents: function (e) { + for (var r = [], n = this.parent(); n.nonempty(); ) { + for (var i = 0; i < n.length; i++) { + var a = n[i] + r.push(a) + } + n = n.parent() + } + return this.spawn(r, !0).filter(e) + }, + commonAncestors: function (e) { + for (var r, n = 0; n < this.length; n++) { + var i = this[n], + a = i.parents() + ;(r = r || a), (r = r.intersect(a)) + } + return r.filter(e) + }, + orphans: function (e) { + return this.stdFilter(function (r) { + return r.isOrphan() + }).filter(e) + }, + nonorphans: function (e) { + return this.stdFilter(function (r) { + return r.isChild() + }).filter(e) + }, + children: ja(function (t) { + for (var e = [], r = 0; r < this.length; r++) + for (var n = this[r], i = n._private.children, a = 0; a < i.length; a++) e.push(i[a]) + return this.spawn(e, !0).filter(t) + }, "children"), + siblings: function (e) { + return this.parent().children().not(this).filter(e) + }, + isParent: function () { + var e = this[0] + if (e) return e.isNode() && e._private.children.length !== 0 + }, + isChildless: function () { + var e = this[0] + if (e) return e.isNode() && e._private.children.length === 0 + }, + isChild: function () { + var e = this[0] + if (e) return e.isNode() && e._private.parent != null + }, + isOrphan: function () { + var e = this[0] + if (e) return e.isNode() && e._private.parent == null + }, + descendants: function (e) { + var r = [] + function n(i) { + for (var a = 0; a < i.length; a++) { + var s = i[a] + r.push(s), s.children().nonempty() && n(s.children()) + } + } + return n(this.children()), this.spawn(r, !0).filter(e) + }, + } +function TS(t, e, r, n) { + for (var i = [], a = new yf(), s = t.cy(), o = s.hasCompoundNodes(), l = 0; l < t.length; l++) { + var u = t[l] + r ? i.push(u) : o && n(i, a, u) + } + for (; i.length > 0; ) { + var h = i.shift() + e(h), a.add(h.id()), o && n(i, a, h) + } + return t +} +function Xq(t, e, r) { + if (r.isParent()) + for (var n = r._private.children, i = 0; i < n.length; i++) { + var a = n[i] + e.has(a.id()) || t.push(a) + } +} +Zd.forEachDown = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0 + return TS(this, t, e, Xq) +} +function jq(t, e, r) { + if (r.isChild()) { + var n = r._private.parent + e.has(n.id()) || t.push(n) + } +} +Zd.forEachUp = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0 + return TS(this, t, e, jq) +} +function N7e(t, e, r) { + jq(t, e, r), Xq(t, e, r) +} +Zd.forEachUpAndDown = function (t) { + var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0 + return TS(this, t, e, N7e) +} +Zd.ancestors = Zd.parents +var Qp, Kq +Qp = Kq = { + data: Tr.data({ + field: "data", + bindingEvent: "data", + allowBinding: !0, + allowSetting: !0, + settingEvent: "data", + settingTriggersEvent: !0, + triggerFnName: "trigger", + allowGetting: !0, + immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, + updateStyle: !0, + }), + removeData: Tr.removeData({ + field: "data", + event: "data", + triggerFnName: "trigger", + triggerEvent: !0, + immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, + updateStyle: !0, + }), + scratch: Tr.data({ + field: "scratch", + bindingEvent: "scratch", + allowBinding: !0, + allowSetting: !0, + settingEvent: "scratch", + settingTriggersEvent: !0, + triggerFnName: "trigger", + allowGetting: !0, + updateStyle: !0, + }), + removeScratch: Tr.removeData({ + field: "scratch", + event: "scratch", + triggerFnName: "trigger", + triggerEvent: !0, + updateStyle: !0, + }), + rscratch: Tr.data({ + field: "rscratch", + allowBinding: !1, + allowSetting: !0, + settingTriggersEvent: !1, + allowGetting: !0, + }), + removeRscratch: Tr.removeData({ field: "rscratch", triggerEvent: !1 }), + id: function () { + var e = this[0] + if (e) return e._private.data.id + }, +} +Qp.attr = Qp.data +Qp.removeAttr = Qp.removeData +var D7e = Kq, + Px = {} +function W5(t) { + return function (e) { + var r = this + if ((e === void 0 && (e = !0), r.length !== 0)) + if (r.isNode() && !r.removed()) { + for (var n = 0, i = r[0], a = i._private.edges, s = 0; s < a.length; s++) { + var o = a[s] + ;(!e && o.isLoop()) || (n += t(i, o)) + } + return n + } else return + } +} +Gt(Px, { + degree: W5(function (t, e) { + return e.source().same(e.target()) ? 2 : 1 + }), + indegree: W5(function (t, e) { + return e.target().same(t) ? 1 : 0 + }), + outdegree: W5(function (t, e) { + return e.source().same(t) ? 1 : 0 + }), +}) +function Gu(t, e) { + return function (r) { + for (var n, i = this.nodes(), a = 0; a < i.length; a++) { + var s = i[a], + o = s[t](r) + o !== void 0 && (n === void 0 || e(o, n)) && (n = o) + } + return n + } +} +Gt(Px, { + minDegree: Gu("degree", function (t, e) { + return t < e + }), + maxDegree: Gu("degree", function (t, e) { + return t > e + }), + minIndegree: Gu("indegree", function (t, e) { + return t < e + }), + maxIndegree: Gu("indegree", function (t, e) { + return t > e + }), + minOutdegree: Gu("outdegree", function (t, e) { + return t < e + }), + maxOutdegree: Gu("outdegree", function (t, e) { + return t > e + }), +}) +Gt(Px, { + totalDegree: function (e) { + for (var r = 0, n = this.nodes(), i = 0; i < n.length; i++) r += n[i].degree(e) + return r + }, +}) +var xs, + Zq, + Qq = function (e, r, n) { + for (var i = 0; i < e.length; i++) { + var a = e[i] + if (!a.locked()) { + var s = a._private.position, + o = { x: r.x != null ? r.x - s.x : 0, y: r.y != null ? r.y - s.y : 0 } + a.isParent() && !(o.x === 0 && o.y === 0) && a.children().shift(o, n), a.dirtyBoundingBoxCache() + } + } + }, + xR = { + field: "position", + bindingEvent: "position", + allowBinding: !0, + allowSetting: !0, + settingEvent: "position", + settingTriggersEvent: !0, + triggerFnName: "emitAndNotify", + allowGetting: !0, + validKeys: ["x", "y"], + beforeGet: function (e) { + e.updateCompoundBounds() + }, + beforeSet: function (e, r) { + Qq(e, r, !1) + }, + onSet: function (e) { + e.dirtyCompoundBoundsCache() + }, + canSet: function (e) { + return !e.locked() + }, + } +xs = Zq = { + position: Tr.data(xR), + silentPosition: Tr.data( + Gt({}, xR, { + allowBinding: !1, + allowSetting: !0, + settingTriggersEvent: !1, + allowGetting: !1, + beforeSet: function (e, r) { + Qq(e, r, !0) + }, + onSet: function (e) { + e.dirtyCompoundBoundsCache() + }, + }), + ), + positions: function (e, r) { + if (mr(e)) r ? this.silentPosition(e) : this.position(e) + else if (an(e)) { + var n = e, + i = this.cy() + i.startBatch() + for (var a = 0; a < this.length; a++) { + var s = this[a], + o = void 0 + ;(o = n(s, a)) && (r ? s.silentPosition(o) : s.position(o)) + } + i.endBatch() + } + return this + }, + silentPositions: function (e) { + return this.positions(e, !0) + }, + shift: function (e, r, n) { + var i + if ( + (mr(e) + ? ((i = { x: gt(e.x) ? e.x : 0, y: gt(e.y) ? e.y : 0 }), (n = r)) + : Bt(e) && gt(r) && ((i = { x: 0, y: 0 }), (i[e] = r)), + i != null) + ) { + var a = this.cy() + a.startBatch() + for (var s = 0; s < this.length; s++) { + var o = this[s] + if (!(a.hasCompoundNodes() && o.isChild() && o.ancestors().anySame(this))) { + var l = o.position(), + u = { x: l.x + i.x, y: l.y + i.y } + n ? o.silentPosition(u) : o.position(u) + } + } + a.endBatch() + } + return this + }, + silentShift: function (e, r) { + return mr(e) ? this.shift(e, !0) : Bt(e) && gt(r) && this.shift(e, r, !0), this + }, + renderedPosition: function (e, r) { + var n = this[0], + i = this.cy(), + a = i.zoom(), + s = i.pan(), + o = mr(e) ? e : void 0, + l = o !== void 0 || (r !== void 0 && Bt(e)) + if (n && n.isNode()) + if (l) + for (var u = 0; u < this.length; u++) { + var h = this[u] + r !== void 0 ? h.position(e, (r - s[e]) / a) : o !== void 0 && h.position(Aq(o, a, s)) + } + else { + var d = n.position() + return (o = Rx(d, a, s)), e === void 0 ? o : o[e] + } + else if (!l) return + return this + }, + relativePosition: function (e, r) { + var n = this[0], + i = this.cy(), + a = mr(e) ? e : void 0, + s = a !== void 0 || (r !== void 0 && Bt(e)), + o = i.hasCompoundNodes() + if (n && n.isNode()) + if (s) + for (var l = 0; l < this.length; l++) { + var u = this[l], + h = o ? u.parent() : null, + d = h && h.length > 0, + f = d + d && (h = h[0]) + var p = f ? h.position() : { x: 0, y: 0 } + r !== void 0 ? u.position(e, r + p[e]) : a !== void 0 && u.position({ x: a.x + p.x, y: a.y + p.y }) + } + else { + var g = n.position(), + m = o ? n.parent() : null, + v = m && m.length > 0, + y = v + v && (m = m[0]) + var b = y ? m.position() : { x: 0, y: 0 } + return (a = { x: g.x - b.x, y: g.y - b.y }), e === void 0 ? a : a[e] + } + else if (!s) return + return this + }, +} +xs.modelPosition = xs.point = xs.position +xs.modelPositions = xs.points = xs.positions +xs.renderedPoint = xs.renderedPosition +xs.relativePoint = xs.relativePosition +var I7e = Zq, + Ch, + tc +Ch = tc = {} +tc.renderedBoundingBox = function (t) { + var e = this.boundingBox(t), + r = this.cy(), + n = r.zoom(), + i = r.pan(), + a = e.x1 * n + i.x, + s = e.x2 * n + i.x, + o = e.y1 * n + i.y, + l = e.y2 * n + i.y + return { x1: a, x2: s, y1: o, y2: l, w: s - a, h: l - o } +} +tc.dirtyCompoundBoundsCache = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + e = this.cy() + return !e.styleEnabled() || !e.hasCompoundNodes() + ? this + : (this.forEachUp(function (r) { + if (r.isParent()) { + var n = r._private + ;(n.compoundBoundsClean = !1), (n.bbCache = null), t || r.emitAndNotify("bounds") + } + }), + this) +} +tc.updateCompoundBounds = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + e = this.cy() + if (!e.styleEnabled() || !e.hasCompoundNodes()) return this + if (!t && e.batching()) return this + function r(s) { + if (!s.isParent()) return + var o = s._private, + l = s.children(), + u = s.pstyle("compound-sizing-wrt-labels").value === "include", + h = { + width: { + val: s.pstyle("min-width").pfValue, + left: s.pstyle("min-width-bias-left"), + right: s.pstyle("min-width-bias-right"), + }, + height: { + val: s.pstyle("min-height").pfValue, + top: s.pstyle("min-height-bias-top"), + bottom: s.pstyle("min-height-bias-bottom"), + }, + }, + d = l.boundingBox({ includeLabels: u, includeOverlays: !1, useCache: !1 }), + f = o.position + ;(d.w === 0 || d.h === 0) && + ((d = { w: s.pstyle("width").pfValue, h: s.pstyle("height").pfValue }), + (d.x1 = f.x - d.w / 2), + (d.x2 = f.x + d.w / 2), + (d.y1 = f.y - d.h / 2), + (d.y2 = f.y + d.h / 2)) + function p(A, R, C) { + var I = 0, + P = 0, + _ = R + C + return A > 0 && _ > 0 && ((I = (R / _) * A), (P = (C / _) * A)), { biasDiff: I, biasComplementDiff: P } + } + function g(A, R, C, I) { + if (C.units === "%") + switch (I) { + case "width": + return A > 0 ? C.pfValue * A : 0 + case "height": + return R > 0 ? C.pfValue * R : 0 + case "average": + return A > 0 && R > 0 ? (C.pfValue * (A + R)) / 2 : 0 + case "min": + return A > 0 && R > 0 ? (A > R ? C.pfValue * R : C.pfValue * A) : 0 + case "max": + return A > 0 && R > 0 ? (A > R ? C.pfValue * A : C.pfValue * R) : 0 + default: + return 0 + } + else return C.units === "px" ? C.pfValue : 0 + } + var m = h.width.left.value + h.width.left.units === "px" && h.width.val > 0 && (m = (m * 100) / h.width.val) + var v = h.width.right.value + h.width.right.units === "px" && h.width.val > 0 && (v = (v * 100) / h.width.val) + var y = h.height.top.value + h.height.top.units === "px" && h.height.val > 0 && (y = (y * 100) / h.height.val) + var b = h.height.bottom.value + h.height.bottom.units === "px" && h.height.val > 0 && (b = (b * 100) / h.height.val) + var w = p(h.width.val - d.w, m, v), + T = w.biasDiff, + E = w.biasComplementDiff, + S = p(h.height.val - d.h, y, b), + k = S.biasDiff, + L = S.biasComplementDiff + ;(o.autoPadding = g(d.w, d.h, s.pstyle("padding"), s.pstyle("padding-relative-to").value)), + (o.autoWidth = Math.max(d.w, h.width.val)), + (f.x = (-T + d.x1 + d.x2 + E) / 2), + (o.autoHeight = Math.max(d.h, h.height.val)), + (f.y = (-k + d.y1 + d.y2 + L) / 2) + } + for (var n = 0; n < this.length; n++) { + var i = this[n], + a = i._private + ;(!a.compoundBoundsClean || t) && (r(i), e.batching() || (a.compoundBoundsClean = !0)) + } + return this +} +var Ga = function (e) { + return e === 1 / 0 || e === -1 / 0 ? 0 : e + }, + us = function (e, r, n, i, a) { + i - r === 0 || + a - n === 0 || + r == null || + n == null || + i == null || + a == null || + ((e.x1 = r < e.x1 ? r : e.x1), + (e.x2 = i > e.x2 ? i : e.x2), + (e.y1 = n < e.y1 ? n : e.y1), + (e.y2 = a > e.y2 ? a : e.y2), + (e.w = e.x2 - e.x1), + (e.h = e.y2 - e.y1)) + }, + bc = function (e, r) { + return r == null ? e : us(e, r.x1, r.y1, r.x2, r.y2) + }, + Wf = function (e, r, n) { + return Ji(e, r, n) + }, + Q1 = function (e, r, n) { + if (!r.cy().headless()) { + var i = r._private, + a = i.rstyle, + s = a.arrowWidth / 2, + o = r.pstyle(n + "-arrow-shape").value, + l, + u + if (o !== "none") { + n === "source" + ? ((l = a.srcX), (u = a.srcY)) + : n === "target" + ? ((l = a.tgtX), (u = a.tgtY)) + : ((l = a.midX), (u = a.midY)) + var h = (i.arrowBounds = i.arrowBounds || {}), + d = (h[n] = h[n] || {}) + ;(d.x1 = l - s), + (d.y1 = u - s), + (d.x2 = l + s), + (d.y2 = u + s), + (d.w = d.x2 - d.x1), + (d.h = d.y2 - d.y1), + Qm(d, 1), + us(e, d.x1, d.y1, d.x2, d.y2) + } + } + }, + H5 = function (e, r, n) { + if (!r.cy().headless()) { + var i + n ? (i = n + "-") : (i = "") + var a = r._private, + s = a.rstyle, + o = r.pstyle(i + "label").strValue + if (o) { + var l = r.pstyle("text-halign"), + u = r.pstyle("text-valign"), + h = Wf(s, "labelWidth", n), + d = Wf(s, "labelHeight", n), + f = Wf(s, "labelX", n), + p = Wf(s, "labelY", n), + g = r.pstyle(i + "text-margin-x").pfValue, + m = r.pstyle(i + "text-margin-y").pfValue, + v = r.isEdge(), + y = r.pstyle(i + "text-rotation"), + b = r.pstyle("text-outline-width").pfValue, + w = r.pstyle("text-border-width").pfValue, + T = w / 2, + E = r.pstyle("text-background-padding").pfValue, + S = 2, + k = d, + L = h, + A = L / 2, + R = k / 2, + C, + I, + P, + _ + if (v) (C = f - A), (I = f + A), (P = p - R), (_ = p + R) + else { + switch (l.value) { + case "left": + ;(C = f - L), (I = f) + break + case "center": + ;(C = f - A), (I = f + A) + break + case "right": + ;(C = f), (I = f + L) + break + } + switch (u.value) { + case "top": + ;(P = p - k), (_ = p) + break + case "center": + ;(P = p - R), (_ = p + R) + break + case "bottom": + ;(P = p), (_ = p + k) + break + } + } + var N = g - Math.max(b, T) - E - S, + M = g + Math.max(b, T) + E + S, + O = m - Math.max(b, T) - E - S, + D = m + Math.max(b, T) + E + S + ;(C += N), (I += M), (P += O), (_ += D) + var B = n || "main", + z = a.labelBounds, + F = (z[B] = z[B] || {}) + ;(F.x1 = C), + (F.y1 = P), + (F.x2 = I), + (F.y2 = _), + (F.w = I - C), + (F.h = _ - P), + (F.leftPad = N), + (F.rightPad = M), + (F.topPad = O), + (F.botPad = D) + var G = v && y.strValue === "autorotate", + q = y.pfValue != null && y.pfValue !== 0 + if (G || q) { + var Y = G ? Wf(a.rstyle, "labelAngle", n) : y.pfValue, + ee = Math.cos(Y), + Q = Math.sin(Y), + oe = (C + I) / 2, + pe = (P + _) / 2 + if (!v) { + switch (l.value) { + case "left": + oe = I + break + case "right": + oe = C + break + } + switch (u.value) { + case "top": + pe = _ + break + case "bottom": + pe = P + break + } + } + var j = function (ce, re) { + return ( + (ce = ce - oe), (re = re - pe), { x: ce * ee - re * Q + oe, y: ce * Q + re * ee + pe } + ) + }, + H = j(C, P), + X = j(C, _), + W = j(I, P), + K = j(I, _) + ;(C = Math.min(H.x, X.x, W.x, K.x)), + (I = Math.max(H.x, X.x, W.x, K.x)), + (P = Math.min(H.y, X.y, W.y, K.y)), + (_ = Math.max(H.y, X.y, W.y, K.y)) + } + var ne = B + "Rot", + Z = (z[ne] = z[ne] || {}) + ;(Z.x1 = C), + (Z.y1 = P), + (Z.x2 = I), + (Z.y2 = _), + (Z.w = I - C), + (Z.h = _ - P), + us(e, C, P, I, _), + us(a.labelBounds.all, C, P, I, _) + } + return e + } + }, + M7e = function (e, r) { + if (!r.cy().headless()) { + var n = r.pstyle("outline-opacity").value, + i = r.pstyle("outline-width").value + if (n > 0 && i > 0) { + var a = r.pstyle("outline-offset").value, + s = r.pstyle("shape").value, + o = i + a, + l = (e.w + o * 2) / e.w, + u = (e.h + o * 2) / e.h, + h = 0, + d = 0 + ;["diamond", "pentagon", "round-triangle"].includes(s) + ? ((l = (e.w + o * 2.4) / e.w), (d = -o / 3.6)) + : ["concave-hexagon", "rhomboid", "right-rhomboid"].includes(s) + ? (l = (e.w + o * 2.4) / e.w) + : s === "star" + ? ((l = (e.w + o * 2.8) / e.w), (u = (e.h + o * 2.6) / e.h), (d = -o / 3.8)) + : s === "triangle" + ? ((l = (e.w + o * 2.8) / e.w), (u = (e.h + o * 2.4) / e.h), (d = -o / 1.4)) + : s === "vee" && + ((l = (e.w + o * 4.4) / e.w), (u = (e.h + o * 3.8) / e.h), (d = -o * 0.5)) + var f = e.h * u - e.h, + p = e.w * l - e.w + if ((Jm(e, [Math.ceil(f / 2), Math.ceil(p / 2)]), h != 0 || d !== 0)) { + var g = vke(e, h, d) + _q(e, g) + } + } + } + }, + O7e = function (e, r) { + var n = e._private.cy, + i = n.styleEnabled(), + a = n.headless(), + s = ua(), + o = e._private, + l = e.isNode(), + u = e.isEdge(), + h, + d, + f, + p, + g, + m, + v = o.rstyle, + y = l && i ? e.pstyle("bounds-expansion").pfValue : [0], + b = function (be) { + return be.pstyle("display").value !== "none" + }, + w = !i || (b(e) && (!u || (b(e.source()) && b(e.target())))) + if (w) { + var T = 0, + E = 0 + i && + r.includeOverlays && + ((T = e.pstyle("overlay-opacity").value), T !== 0 && (E = e.pstyle("overlay-padding").value)) + var S = 0, + k = 0 + i && + r.includeUnderlays && + ((S = e.pstyle("underlay-opacity").value), S !== 0 && (k = e.pstyle("underlay-padding").value)) + var L = Math.max(E, k), + A = 0, + R = 0 + if ((i && ((A = e.pstyle("width").pfValue), (R = A / 2)), l && r.includeNodes)) { + var C = e.position() + ;(g = C.x), (m = C.y) + var I = e.outerWidth(), + P = I / 2, + _ = e.outerHeight(), + N = _ / 2 + ;(h = g - P), + (d = g + P), + (f = m - N), + (p = m + N), + us(s, h, f, d, p), + i && r.includeOutlines && M7e(s, e) + } else if (u && r.includeEdges) + if (i && !a) { + var M = e.pstyle("curve-style").strValue + if ( + ((h = Math.min(v.srcX, v.midX, v.tgtX)), + (d = Math.max(v.srcX, v.midX, v.tgtX)), + (f = Math.min(v.srcY, v.midY, v.tgtY)), + (p = Math.max(v.srcY, v.midY, v.tgtY)), + (h -= R), + (d += R), + (f -= R), + (p += R), + us(s, h, f, d, p), + M === "haystack") + ) { + var O = v.haystackPts + if (O && O.length === 2) { + if (((h = O[0].x), (f = O[0].y), (d = O[1].x), (p = O[1].y), h > d)) { + var D = h + ;(h = d), (d = D) + } + if (f > p) { + var B = f + ;(f = p), (p = B) + } + us(s, h - R, f - R, d + R, p + R) + } + } else if ( + M === "bezier" || + M === "unbundled-bezier" || + M.endsWith("segments") || + M.endsWith("taxi") + ) { + var z + switch (M) { + case "bezier": + case "unbundled-bezier": + z = v.bezierPts + break + case "segments": + case "taxi": + case "round-segments": + case "round-taxi": + z = v.linePts + break + } + if (z != null) + for (var F = 0; F < z.length; F++) { + var G = z[F] + ;(h = G.x - R), (d = G.x + R), (f = G.y - R), (p = G.y + R), us(s, h, f, d, p) + } + } + } else { + var q = e.source(), + Y = q.position(), + ee = e.target(), + Q = ee.position() + if (((h = Y.x), (d = Q.x), (f = Y.y), (p = Q.y), h > d)) { + var oe = h + ;(h = d), (d = oe) + } + if (f > p) { + var pe = f + ;(f = p), (p = pe) + } + ;(h -= R), (d += R), (f -= R), (p += R), us(s, h, f, d, p) + } + if ( + (i && + r.includeEdges && + u && + (Q1(s, e, "mid-source"), Q1(s, e, "mid-target"), Q1(s, e, "source"), Q1(s, e, "target")), + i) + ) { + var j = e.pstyle("ghost").value === "yes" + if (j) { + var H = e.pstyle("ghost-offset-x").pfValue, + X = e.pstyle("ghost-offset-y").pfValue + us(s, s.x1 + H, s.y1 + X, s.x2 + H, s.y2 + X) + } + } + var W = (o.bodyBounds = o.bodyBounds || {}) + sL(W, s), + Jm(W, y), + Qm(W, 1), + i && ((h = s.x1), (d = s.x2), (f = s.y1), (p = s.y2), us(s, h - L, f - L, d + L, p + L)) + var K = (o.overlayBounds = o.overlayBounds || {}) + sL(K, s), Jm(K, y), Qm(K, 1) + var ne = (o.labelBounds = o.labelBounds || {}) + ne.all != null ? mke(ne.all) : (ne.all = ua()), + i && + r.includeLabels && + (r.includeMainLabels && H5(s, e, null), + u && (r.includeSourceLabels && H5(s, e, "source"), r.includeTargetLabels && H5(s, e, "target"))) + } + return ( + (s.x1 = Ga(s.x1)), + (s.y1 = Ga(s.y1)), + (s.x2 = Ga(s.x2)), + (s.y2 = Ga(s.y2)), + (s.w = Ga(s.x2 - s.x1)), + (s.h = Ga(s.y2 - s.y1)), + s.w > 0 && s.h > 0 && w && (Jm(s, y), Qm(s, 1)), + s + ) + }, + Jq = function (e) { + var r = 0, + n = function (s) { + return (s ? 1 : 0) << r++ + }, + i = 0 + return ( + (i += n(e.incudeNodes)), + (i += n(e.includeEdges)), + (i += n(e.includeLabels)), + (i += n(e.includeMainLabels)), + (i += n(e.includeSourceLabels)), + (i += n(e.includeTargetLabels)), + (i += n(e.includeOverlays)), + (i += n(e.includeOutlines)), + i + ) + }, + eW = function (e) { + var r = function (o) { + return Math.round(o) + } + if (e.isEdge()) { + var n = e.source().position(), + i = e.target().position() + return eL([r(n.x), r(n.y), r(i.x), r(i.y)]) + } else { + var a = e.position() + return eL([r(a.x), r(a.y)]) + } + }, + bR = function (e, r) { + var n = e._private, + i, + a = e.isEdge(), + s = r == null ? wR : Jq(r), + o = s === wR + if ( + (n.bbCache == null ? ((i = O7e(e, Jp)), (n.bbCache = i), (n.bbCachePosKey = eW(e))) : (i = n.bbCache), !o) + ) { + var l = e.isNode() + ;(i = ua()), + ((r.includeNodes && l) || (r.includeEdges && !l)) && + (r.includeOverlays ? bc(i, n.overlayBounds) : bc(i, n.bodyBounds)), + r.includeLabels && + (r.includeMainLabels && (!a || (r.includeSourceLabels && r.includeTargetLabels)) + ? bc(i, n.labelBounds.all) + : (r.includeMainLabels && bc(i, n.labelBounds.mainRot), + r.includeSourceLabels && bc(i, n.labelBounds.sourceRot), + r.includeTargetLabels && bc(i, n.labelBounds.targetRot))), + (i.w = i.x2 - i.x1), + (i.h = i.y2 - i.y1) + } + return i + }, + Jp = { + includeNodes: !0, + includeEdges: !0, + includeLabels: !0, + includeMainLabels: !0, + includeSourceLabels: !0, + includeTargetLabels: !0, + includeOverlays: !0, + includeUnderlays: !0, + includeOutlines: !0, + useCache: !0, + }, + wR = Jq(Jp), + TR = pi(Jp) +tc.boundingBox = function (t) { + var e, + r = t === void 0 || t.useCache === void 0 || t.useCache === !0, + n = Xd( + function (h) { + var d = h._private + return d.bbCache == null || d.styleDirty || d.bbCachePosKey !== eW(h) + }, + function (h) { + return h.id() + }, + ) + if (r && this.length === 1 && !n(this[0])) t === void 0 ? (t = Jp) : (t = TR(t)), (e = bR(this[0], t)) + else { + ;(e = ua()), (t = t || Jp) + var i = TR(t), + a = this, + s = a.cy(), + o = s.styleEnabled() + this.edges().forEach(n), + this.nodes().forEach(n), + o && this.recalculateRenderedStyle(r), + this.updateCompoundBounds(!r) + for (var l = 0; l < a.length; l++) { + var u = a[l] + n(u) && u.dirtyBoundingBoxCache(), bc(e, bR(u, i)) + } + } + return ( + (e.x1 = Ga(e.x1)), + (e.y1 = Ga(e.y1)), + (e.x2 = Ga(e.x2)), + (e.y2 = Ga(e.y2)), + (e.w = Ga(e.x2 - e.x1)), + (e.h = Ga(e.y2 - e.y1)), + e + ) +} +tc.dirtyBoundingBoxCache = function () { + for (var t = 0; t < this.length; t++) { + var e = this[t]._private + ;(e.bbCache = null), + (e.bbCachePosKey = null), + (e.bodyBounds = null), + (e.overlayBounds = null), + (e.labelBounds.all = null), + (e.labelBounds.source = null), + (e.labelBounds.target = null), + (e.labelBounds.main = null), + (e.labelBounds.sourceRot = null), + (e.labelBounds.targetRot = null), + (e.labelBounds.mainRot = null), + (e.arrowBounds.source = null), + (e.arrowBounds.target = null), + (e.arrowBounds["mid-source"] = null), + (e.arrowBounds["mid-target"] = null) + } + return this.emitAndNotify("bounds"), this +} +tc.boundingBoxAt = function (t) { + var e = this.nodes(), + r = this.cy(), + n = r.hasCompoundNodes(), + i = r.collection() + if ( + (n && + ((i = e.filter(function (u) { + return u.isParent() + })), + (e = e.not(i))), + mr(t)) + ) { + var a = t + t = function () { + return a + } + } + var s = function (h, d) { + return (h._private.bbAtOldPos = t(h, d)) + }, + o = function (h) { + return h._private.bbAtOldPos + } + r.startBatch(), + e.forEach(s).silentPositions(t), + n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)) + var l = gke(this.boundingBox({ useCache: !1 })) + return ( + e.silentPositions(o), + n && (i.dirtyCompoundBoundsCache(), i.dirtyBoundingBoxCache(), i.updateCompoundBounds(!0)), + r.endBatch(), + l + ) +} +Ch.boundingbox = Ch.bb = Ch.boundingBox +Ch.renderedBoundingbox = Ch.renderedBoundingBox +var P7e = tc, + Y0, + Yg +Y0 = Yg = {} +var tW = function (e) { + ;(e.uppercaseName = $9(e.name)), + (e.autoName = "auto" + e.uppercaseName), + (e.labelName = "label" + e.uppercaseName), + (e.outerName = "outer" + e.uppercaseName), + (e.uppercaseOuterName = $9(e.outerName)), + (Y0[e.name] = function () { + var n = this[0], + i = n._private, + a = i.cy, + s = a._private.styleEnabled + if (n) + if (s) { + if (n.isParent()) return n.updateCompoundBounds(), i[e.autoName] || 0 + var o = n.pstyle(e.name) + switch (o.strValue) { + case "label": + return n.recalculateRenderedStyle(), i.rstyle[e.labelName] || 0 + default: + return o.pfValue + } + } else return 1 + }), + (Y0["outer" + e.uppercaseName] = function () { + var n = this[0], + i = n._private, + a = i.cy, + s = a._private.styleEnabled + if (n) + if (s) { + var o = n[e.name](), + l = n.pstyle("border-position").value, + u + l === "center" + ? (u = n.pstyle("border-width").pfValue) + : l === "outside" + ? (u = 2 * n.pstyle("border-width").pfValue) + : (u = 0) + var h = 2 * n.padding() + return o + u + h + } else return 1 + }), + (Y0["rendered" + e.uppercaseName] = function () { + var n = this[0] + if (n) { + var i = n[e.name]() + return i * this.cy().zoom() + } + }), + (Y0["rendered" + e.uppercaseOuterName] = function () { + var n = this[0] + if (n) { + var i = n[e.outerName]() + return i * this.cy().zoom() + } + }) +} +tW({ name: "width" }) +tW({ name: "height" }) +Yg.padding = function () { + var t = this[0], + e = t._private + return t.isParent() + ? (t.updateCompoundBounds(), e.autoPadding !== void 0 ? e.autoPadding : t.pstyle("padding").pfValue) + : t.pstyle("padding").pfValue +} +Yg.paddedHeight = function () { + var t = this[0] + return t.height() + 2 * t.padding() +} +Yg.paddedWidth = function () { + var t = this[0] + return t.width() + 2 * t.padding() +} +var B7e = Yg, + F7e = function (e, r) { + if (e.isEdge() && e.takesUpSpace()) return r(e) + }, + $7e = function (e, r) { + if (e.isEdge() && e.takesUpSpace()) { + var n = e.cy() + return Rx(r(e), n.zoom(), n.pan()) + } + }, + z7e = function (e, r) { + if (e.isEdge() && e.takesUpSpace()) { + var n = e.cy(), + i = n.pan(), + a = n.zoom() + return r(e).map(function (s) { + return Rx(s, a, i) + }) + } + }, + V7e = function (e) { + return e.renderer().getControlPoints(e) + }, + G7e = function (e) { + return e.renderer().getSegmentPoints(e) + }, + U7e = function (e) { + return e.renderer().getSourceEndpoint(e) + }, + q7e = function (e) { + return e.renderer().getTargetEndpoint(e) + }, + W7e = function (e) { + return e.renderer().getEdgeMidpoint(e) + }, + ER = { + controlPoints: { get: V7e, mult: !0 }, + segmentPoints: { get: G7e, mult: !0 }, + sourceEndpoint: { get: U7e }, + targetEndpoint: { get: q7e }, + midpoint: { get: W7e }, + }, + H7e = function (e) { + return "rendered" + e[0].toUpperCase() + e.substr(1) + }, + Y7e = Object.keys(ER).reduce(function (t, e) { + var r = ER[e], + n = H7e(e) + return ( + (t[e] = function () { + return F7e(this, r.get) + }), + r.mult + ? (t[n] = function () { + return z7e(this, r.get) + }) + : (t[n] = function () { + return $7e(this, r.get) + }), + t + ) + }, {}), + X7e = Gt({}, I7e, P7e, B7e, Y7e) +/*! +Event object based on jQuery events, MIT license + +https://jquery.org/license/ +https://tldrlegal.com/license/mit-license +https://github.com/jquery/jquery/blob/master/src/event.js +*/ var rW = function (e, r) { + this.recycle(e, r) +} +function Hf() { + return !1 +} +function J1() { + return !0 +} +rW.prototype = { + instanceString: function () { + return "event" + }, + recycle: function (e, r) { + if ( + ((this.isImmediatePropagationStopped = this.isPropagationStopped = this.isDefaultPrevented = Hf), + e != null && e.preventDefault + ? ((this.type = e.type), (this.isDefaultPrevented = e.defaultPrevented ? J1 : Hf)) + : e != null && e.type + ? (r = e) + : (this.type = e), + r != null && + ((this.originalEvent = r.originalEvent), + (this.type = r.type != null ? r.type : this.type), + (this.cy = r.cy), + (this.target = r.target), + (this.position = r.position), + (this.renderedPosition = r.renderedPosition), + (this.namespace = r.namespace), + (this.layout = r.layout)), + this.cy != null && this.position != null && this.renderedPosition == null) + ) { + var n = this.position, + i = this.cy.zoom(), + a = this.cy.pan() + this.renderedPosition = { x: n.x * i + a.x, y: n.y * i + a.y } + } + this.timeStamp = (e && e.timeStamp) || Date.now() + }, + preventDefault: function () { + this.isDefaultPrevented = J1 + var e = this.originalEvent + e && e.preventDefault && e.preventDefault() + }, + stopPropagation: function () { + this.isPropagationStopped = J1 + var e = this.originalEvent + e && e.stopPropagation && e.stopPropagation() + }, + stopImmediatePropagation: function () { + ;(this.isImmediatePropagationStopped = J1), this.stopPropagation() + }, + isDefaultPrevented: Hf, + isPropagationStopped: Hf, + isImmediatePropagationStopped: Hf, +} +var nW = /^([^.]+)(\.(?:[^.]+))?$/, + j7e = ".*", + iW = { + qualifierCompare: function (e, r) { + return e === r + }, + eventMatches: function () { + return !0 + }, + addEventFields: function () {}, + callbackContext: function (e) { + return e + }, + beforeEmit: function () {}, + afterEmit: function () {}, + bubble: function () { + return !1 + }, + parent: function () { + return null + }, + context: null, + }, + kR = Object.keys(iW), + K7e = {} +function Bx() { + for ( + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : K7e, + e = arguments.length > 1 ? arguments[1] : void 0, + r = 0; + r < kR.length; + r++ + ) { + var n = kR[r] + this[n] = t[n] || iW[n] + } + ;(this.context = e || this.context), (this.listeners = []), (this.emitting = 0) +} +var Wl = Bx.prototype, + aW = function (e, r, n, i, a, s, o) { + an(i) && ((a = i), (i = null)), o && (s == null ? (s = o) : (s = Gt({}, s, o))) + for (var l = Fr(n) ? n : n.split(/\s+/), u = 0; u < l.length; u++) { + var h = l[u] + if (!zl(h)) { + var d = h.match(nW) + if (d) { + var f = d[1], + p = d[2] ? d[2] : null, + g = r(e, h, f, p, i, a, s) + if (g === !1) break + } + } + } + }, + SR = function (e, r) { + return e.addEventFields(e.context, r), new rW(r.type, r) + }, + Z7e = function (e, r, n) { + if (sEe(n)) { + r(e, n) + return + } else if (mr(n)) { + r(e, SR(e, n)) + return + } + for (var i = Fr(n) ? n : n.split(/\s+/), a = 0; a < i.length; a++) { + var s = i[a] + if (!zl(s)) { + var o = s.match(nW) + if (o) { + var l = o[1], + u = o[2] ? o[2] : null, + h = SR(e, { type: l, namespace: u, target: e.context }) + r(e, h) + } + } + } + } +Wl.on = Wl.addListener = function (t, e, r, n, i) { + return ( + aW( + this, + function (a, s, o, l, u, h, d) { + an(h) && a.listeners.push({ event: s, callback: h, type: o, namespace: l, qualifier: u, conf: d }) + }, + t, + e, + r, + n, + i, + ), + this + ) +} +Wl.one = function (t, e, r, n) { + return this.on(t, e, r, n, { one: !0 }) +} +Wl.removeListener = Wl.off = function (t, e, r, n) { + var i = this + this.emitting !== 0 && (this.listeners = $Ee(this.listeners)) + for ( + var a = this.listeners, + s = function (u) { + var h = a[u] + aW( + i, + function (d, f, p, g, m, v) { + if ( + (h.type === p || t === "*") && + ((!g && h.namespace !== ".*") || h.namespace === g) && + (!m || d.qualifierCompare(h.qualifier, m)) && + (!v || h.callback === v) + ) + return a.splice(u, 1), !1 + }, + t, + e, + r, + n, + ) + }, + o = a.length - 1; + o >= 0; + o-- + ) + s(o) + return this +} +Wl.removeAllListeners = function () { + return this.removeListener("*") +} +Wl.emit = Wl.trigger = function (t, e, r) { + var n = this.listeners, + i = n.length + return ( + this.emitting++, + Fr(e) || (e = [e]), + Z7e( + this, + function (a, s) { + r != null && + ((n = [{ event: s.event, type: s.type, namespace: s.namespace, callback: r }]), (i = n.length)) + for ( + var o = function () { + var h = n[l] + if ( + h.type === s.type && + (!h.namespace || h.namespace === s.namespace || h.namespace === j7e) && + a.eventMatches(a.context, h, s) + ) { + var d = [s] + e != null && VEe(d, e), + a.beforeEmit(a.context, h, s), + h.conf && + h.conf.one && + (a.listeners = a.listeners.filter(function (g) { + return g !== h + })) + var f = a.callbackContext(a.context, h, s), + p = h.callback.apply(f, d) + a.afterEmit(a.context, h, s), p === !1 && (s.stopPropagation(), s.preventDefault()) + } + }, + l = 0; + l < i; + l++ + ) + o() + a.bubble(a.context) && !s.isPropagationStopped() && a.parent(a.context).emit(s, e) + }, + t, + ), + this.emitting--, + this + ) +} +var Q7e = { + qualifierCompare: function (e, r) { + return e == null || r == null ? e == null && r == null : e.sameText(r) + }, + eventMatches: function (e, r, n) { + var i = r.qualifier + return i != null ? e !== n.target && Vg(n.target) && i.matches(n.target) : !0 + }, + addEventFields: function (e, r) { + ;(r.cy = e.cy()), (r.target = e) + }, + callbackContext: function (e, r, n) { + return r.qualifier != null ? n.target : e + }, + beforeEmit: function (e, r) { + r.conf && r.conf.once && r.conf.onceCollection.removeListener(r.event, r.qualifier, r.callback) + }, + bubble: function () { + return !0 + }, + parent: function (e) { + return e.isChild() ? e.parent() : e.cy() + }, + }, + em = function (e) { + return Bt(e) ? new Ul(e) : e + }, + sW = { + createEmitter: function () { + for (var e = 0; e < this.length; e++) { + var r = this[e], + n = r._private + n.emitter || (n.emitter = new Bx(Q7e, r)) + } + return this + }, + emitter: function () { + return this._private.emitter + }, + on: function (e, r, n) { + for (var i = em(r), a = 0; a < this.length; a++) { + var s = this[a] + s.emitter().on(e, i, n) + } + return this + }, + removeListener: function (e, r, n) { + for (var i = em(r), a = 0; a < this.length; a++) { + var s = this[a] + s.emitter().removeListener(e, i, n) + } + return this + }, + removeAllListeners: function () { + for (var e = 0; e < this.length; e++) { + var r = this[e] + r.emitter().removeAllListeners() + } + return this + }, + one: function (e, r, n) { + for (var i = em(r), a = 0; a < this.length; a++) { + var s = this[a] + s.emitter().one(e, i, n) + } + return this + }, + once: function (e, r, n) { + for (var i = em(r), a = 0; a < this.length; a++) { + var s = this[a] + s.emitter().on(e, i, n, { once: !0, onceCollection: this }) + } + }, + emit: function (e, r) { + for (var n = 0; n < this.length; n++) { + var i = this[n] + i.emitter().emit(e, r) + } + return this + }, + emitAndNotify: function (e, r) { + if (this.length !== 0) return this.cy().notify(e, this), this.emit(e, r), this + }, + } +Tr.eventAliasesOn(sW) +var oW = { + nodes: function (e) { + return this.filter(function (r) { + return r.isNode() + }).filter(e) + }, + edges: function (e) { + return this.filter(function (r) { + return r.isEdge() + }).filter(e) + }, + byGroup: function () { + for (var e = this.spawn(), r = this.spawn(), n = 0; n < this.length; n++) { + var i = this[n] + i.isNode() ? e.push(i) : r.push(i) + } + return { nodes: e, edges: r } + }, + filter: function (e, r) { + if (e === void 0) return this + if (Bt(e) || Aa(e)) return new Ul(e).filter(this) + if (an(e)) { + for (var n = this.spawn(), i = this, a = 0; a < i.length; a++) { + var s = i[a], + o = r ? e.apply(r, [s, a, i]) : e(s, a, i) + o && n.push(s) + } + return n + } + return this.spawn() + }, + not: function (e) { + if (e) { + Bt(e) && (e = this.filter(e)) + for (var r = this.spawn(), n = 0; n < this.length; n++) { + var i = this[n], + a = e.has(i) + a || r.push(i) + } + return r + } else return this + }, + absoluteComplement: function () { + var e = this.cy() + return e.mutableElements().not(this) + }, + intersect: function (e) { + if (Bt(e)) { + var r = e + return this.filter(r) + } + for ( + var n = this.spawn(), i = this, a = e, s = this.length < e.length, o = s ? i : a, l = s ? a : i, u = 0; + u < o.length; + u++ + ) { + var h = o[u] + l.has(h) && n.push(h) + } + return n + }, + xor: function (e) { + var r = this._private.cy + Bt(e) && (e = r.$(e)) + var n = this.spawn(), + i = this, + a = e, + s = function (l, u) { + for (var h = 0; h < l.length; h++) { + var d = l[h], + f = d._private.data.id, + p = u.hasElementWithId(f) + p || n.push(d) + } + } + return s(i, a), s(a, i), n + }, + diff: function (e) { + var r = this._private.cy + Bt(e) && (e = r.$(e)) + var n = this.spawn(), + i = this.spawn(), + a = this.spawn(), + s = this, + o = e, + l = function (h, d, f) { + for (var p = 0; p < h.length; p++) { + var g = h[p], + m = g._private.data.id, + v = d.hasElementWithId(m) + v ? a.merge(g) : f.push(g) + } + } + return l(s, o, n), l(o, s, i), { left: n, right: i, both: a } + }, + add: function (e) { + var r = this._private.cy + if (!e) return this + if (Bt(e)) { + var n = e + e = r.mutableElements().filter(n) + } + for (var i = this.spawnSelf(), a = 0; a < e.length; a++) { + var s = e[a], + o = !this.has(s) + o && i.push(s) + } + return i + }, + merge: function (e) { + var r = this._private, + n = r.cy + if (!e) return this + if (e && Bt(e)) { + var i = e + e = n.mutableElements().filter(i) + } + for (var a = r.map, s = 0; s < e.length; s++) { + var o = e[s], + l = o._private.data.id, + u = !a.has(l) + if (u) { + var h = this.length++ + ;(this[h] = o), a.set(l, { ele: o, index: h }) + } + } + return this + }, + unmergeAt: function (e) { + var r = this[e], + n = r.id(), + i = this._private, + a = i.map + ;(this[e] = void 0), a.delete(n) + var s = e === this.length - 1 + if (this.length > 1 && !s) { + var o = this.length - 1, + l = this[o], + u = l._private.data.id + ;(this[o] = void 0), (this[e] = l), a.set(u, { ele: l, index: e }) + } + return this.length--, this + }, + unmergeOne: function (e) { + e = e[0] + var r = this._private, + n = e._private.data.id, + i = r.map, + a = i.get(n) + if (!a) return this + var s = a.index + return this.unmergeAt(s), this + }, + unmerge: function (e) { + var r = this._private.cy + if (!e) return this + if (e && Bt(e)) { + var n = e + e = r.mutableElements().filter(n) + } + for (var i = 0; i < e.length; i++) this.unmergeOne(e[i]) + return this + }, + unmergeBy: function (e) { + for (var r = this.length - 1; r >= 0; r--) { + var n = this[r] + e(n) && this.unmergeAt(r) + } + return this + }, + map: function (e, r) { + for (var n = [], i = this, a = 0; a < i.length; a++) { + var s = i[a], + o = r ? e.apply(r, [s, a, i]) : e(s, a, i) + n.push(o) + } + return n + }, + reduce: function (e, r) { + for (var n = r, i = this, a = 0; a < i.length; a++) n = e(n, i[a], a, i) + return n + }, + max: function (e, r) { + for (var n = -1 / 0, i, a = this, s = 0; s < a.length; s++) { + var o = a[s], + l = r ? e.apply(r, [o, s, a]) : e(o, s, a) + l > n && ((n = l), (i = o)) + } + return { value: n, ele: i } + }, + min: function (e, r) { + for (var n = 1 / 0, i, a = this, s = 0; s < a.length; s++) { + var o = a[s], + l = r ? e.apply(r, [o, s, a]) : e(o, s, a) + l < n && ((n = l), (i = o)) + } + return { value: n, ele: i } + }, + }, + yr = oW +yr.u = yr["|"] = yr["+"] = yr.union = yr.or = yr.add +yr["\\"] = yr["!"] = yr["-"] = yr.difference = yr.relativeComplement = yr.subtract = yr.not +yr.n = yr["&"] = yr["."] = yr.and = yr.intersection = yr.intersect +yr["^"] = yr["(+)"] = yr["(-)"] = yr.symmetricDifference = yr.symdiff = yr.xor +yr.fnFilter = yr.filterFn = yr.stdFilter = yr.filter +yr.complement = yr.abscomp = yr.absoluteComplement +var J7e = { + isNode: function () { + return this.group() === "nodes" + }, + isEdge: function () { + return this.group() === "edges" + }, + isLoop: function () { + return this.isEdge() && this.source()[0] === this.target()[0] + }, + isSimple: function () { + return this.isEdge() && this.source()[0] !== this.target()[0] + }, + group: function () { + var e = this[0] + if (e) return e._private.group + }, + }, + lW = function (e, r) { + var n = e.cy(), + i = n.hasCompoundNodes() + function a(h) { + var d = h.pstyle("z-compound-depth") + return d.value === "auto" ? (i ? h.zDepth() : 0) : d.value === "bottom" ? -1 : d.value === "top" ? hS : 0 + } + var s = a(e) - a(r) + if (s !== 0) return s + function o(h) { + var d = h.pstyle("z-index-compare") + return d.value === "auto" && h.isNode() ? 1 : 0 + } + var l = o(e) - o(r) + if (l !== 0) return l + var u = e.pstyle("z-index").value - r.pstyle("z-index").value + return u !== 0 ? u : e.poolIndex() - r.poolIndex() + }, + e2 = { + forEach: function (e, r) { + if (an(e)) + for (var n = this.length, i = 0; i < n; i++) { + var a = this[i], + s = r ? e.apply(r, [a, i, this]) : e(a, i, this) + if (s === !1) break + } + return this + }, + toArray: function () { + for (var e = [], r = 0; r < this.length; r++) e.push(this[r]) + return e + }, + slice: function (e, r) { + var n = [], + i = this.length + r == null && (r = i), e == null && (e = 0), e < 0 && (e = i + e), r < 0 && (r = i + r) + for (var a = e; a >= 0 && a < r && a < i; a++) n.push(this[a]) + return this.spawn(n) + }, + size: function () { + return this.length + }, + eq: function (e) { + return this[e] || this.spawn() + }, + first: function () { + return this[0] || this.spawn() + }, + last: function () { + return this[this.length - 1] || this.spawn() + }, + empty: function () { + return this.length === 0 + }, + nonempty: function () { + return !this.empty() + }, + sort: function (e) { + if (!an(e)) return this + var r = this.toArray().sort(e) + return this.spawn(r) + }, + sortByZIndex: function () { + return this.sort(lW) + }, + zDepth: function () { + var e = this[0] + if (e) { + var r = e._private, + n = r.group + if (n === "nodes") { + var i = r.data.parent ? e.parents().size() : 0 + return e.isParent() ? i : hS - 1 + } else { + var a = r.source, + s = r.target, + o = a.zDepth(), + l = s.zDepth() + return Math.max(o, l, 0) + } + } + }, + } +e2.each = e2.forEach +var eCe = function () { + var e = "undefined", + r = (typeof Symbol > "u" ? "undefined" : Vn(Symbol)) != e && Vn(Symbol.iterator) != e + r && + (e2[Symbol.iterator] = function () { + var n = this, + i = { value: void 0, done: !1 }, + a = 0, + s = this.length + return lq( + { + next: function () { + return a < s ? (i.value = n[a++]) : ((i.value = void 0), (i.done = !0)), i + }, + }, + Symbol.iterator, + function () { + return this + }, + ) + }) +} +eCe() +var tCe = pi({ nodeDimensionsIncludeLabels: !1 }), + tv = { + layoutDimensions: function (e) { + e = tCe(e) + var r + if (!this.takesUpSpace()) r = { w: 0, h: 0 } + else if (e.nodeDimensionsIncludeLabels) { + var n = this.boundingBox() + r = { w: n.w, h: n.h } + } else r = { w: this.outerWidth(), h: this.outerHeight() } + return (r.w === 0 || r.h === 0) && (r.w = r.h = 1), r + }, + layoutPositions: function (e, r, n) { + var i = this.nodes().filter(function (E) { + return !E.isParent() + }), + a = this.cy(), + s = r.eles, + o = function (S) { + return S.id() + }, + l = Xd(n, o) + e.emit({ type: "layoutstart", layout: e }), (e.animations = []) + var u = function (S, k, L) { + var A = { x: k.x1 + k.w / 2, y: k.y1 + k.h / 2 }, + R = { x: (L.x - A.x) * S, y: (L.y - A.y) * S } + return { x: A.x + R.x, y: A.y + R.y } + }, + h = r.spacingFactor && r.spacingFactor !== 1, + d = function () { + if (!h) return null + for (var S = ua(), k = 0; k < i.length; k++) { + var L = i[k], + A = l(L, k) + yke(S, A.x, A.y) + } + return S + }, + f = d(), + p = Xd(function (E, S) { + var k = l(E, S) + if (h) { + var L = Math.abs(r.spacingFactor) + k = u(L, f, k) + } + return r.transform != null && (k = r.transform(E, k)), k + }, o) + if (r.animate) { + for (var g = 0; g < i.length; g++) { + var m = i[g], + v = p(m, g), + y = r.animateFilter == null || r.animateFilter(m, g) + if (y) { + var b = m.animation({ position: v, duration: r.animationDuration, easing: r.animationEasing }) + e.animations.push(b) + } else m.position(v) + } + if (r.fit) { + var w = a.animation({ + fit: { boundingBox: s.boundingBoxAt(p), padding: r.padding }, + duration: r.animationDuration, + easing: r.animationEasing, + }) + e.animations.push(w) + } else if (r.zoom !== void 0 && r.pan !== void 0) { + var T = a.animation({ + zoom: r.zoom, + pan: r.pan, + duration: r.animationDuration, + easing: r.animationEasing, + }) + e.animations.push(T) + } + e.animations.forEach(function (E) { + return E.play() + }), + e.one("layoutready", r.ready), + e.emit({ type: "layoutready", layout: e }), + xf + .all( + e.animations.map(function (E) { + return E.promise() + }), + ) + .then(function () { + e.one("layoutstop", r.stop), e.emit({ type: "layoutstop", layout: e }) + }) + } else + i.positions(p), + r.fit && a.fit(r.eles, r.padding), + r.zoom != null && a.zoom(r.zoom), + r.pan && a.pan(r.pan), + e.one("layoutready", r.ready), + e.emit({ type: "layoutready", layout: e }), + e.one("layoutstop", r.stop), + e.emit({ type: "layoutstop", layout: e }) + return this + }, + layout: function (e) { + var r = this.cy() + return r.makeLayout(Gt({}, e, { eles: this })) + }, + } +tv.createLayout = tv.makeLayout = tv.layout +function cW(t, e, r) { + var n = r._private, + i = (n.styleCache = n.styleCache || []), + a + return (a = i[t]) != null || (a = i[t] = e(r)), a +} +function Fx(t, e) { + return ( + (t = ou(t)), + function (n) { + return cW(t, e, n) + } + ) +} +function $x(t, e) { + t = ou(t) + var r = function (i) { + return e.call(i) + } + return function () { + var i = this[0] + if (i) return cW(t, r, i) + } +} +var hi = { + recalculateRenderedStyle: function (e) { + var r = this.cy(), + n = r.renderer(), + i = r.styleEnabled() + return n && i && n.recalculateRenderedStyle(this, e), this + }, + dirtyStyleCache: function () { + var e = this.cy(), + r = function (a) { + return (a._private.styleCache = null) + } + if (e.hasCompoundNodes()) { + var n + ;(n = this.spawnSelf().merge(this.descendants()).merge(this.parents())), + n.merge(n.connectedEdges()), + n.forEach(r) + } else + this.forEach(function (i) { + r(i), i.connectedEdges().forEach(r) + }) + return this + }, + updateStyle: function (e) { + var r = this._private.cy + if (!r.styleEnabled()) return this + if (r.batching()) { + var n = r._private.batchStyleEles + return n.merge(this), this + } + var i = r.hasCompoundNodes(), + a = this + ;(e = !!(e || e === void 0)), i && (a = this.spawnSelf().merge(this.descendants()).merge(this.parents())) + var s = a + return ( + e ? s.emitAndNotify("style") : s.emit("style"), + a.forEach(function (o) { + return (o._private.styleDirty = !0) + }), + this + ) + }, + cleanStyle: function () { + var e = this.cy() + if (e.styleEnabled()) + for (var r = 0; r < this.length; r++) { + var n = this[r] + n._private.styleDirty && ((n._private.styleDirty = !1), e.style().apply(n)) + } + }, + parsedStyle: function (e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + n = this[0], + i = n.cy() + if (i.styleEnabled() && n) { + n._private.styleDirty && ((n._private.styleDirty = !1), i.style().apply(n)) + var a = n._private.style[e] + return a ?? (r ? i.style().getDefaultProperty(e) : null) + } + }, + numericStyle: function (e) { + var r = this[0] + if (r.cy().styleEnabled() && r) { + var n = r.pstyle(e) + return n.pfValue !== void 0 ? n.pfValue : n.value + } + }, + numericStyleUnits: function (e) { + var r = this[0] + if (r.cy().styleEnabled() && r) return r.pstyle(e).units + }, + renderedStyle: function (e) { + var r = this.cy() + if (!r.styleEnabled()) return this + var n = this[0] + if (n) return r.style().getRenderedStyle(n, e) + }, + style: function (e, r) { + var n = this.cy() + if (!n.styleEnabled()) return this + var i = !1, + a = n.style() + if (mr(e)) { + var s = e + a.applyBypass(this, s, i), this.emitAndNotify("style") + } else if (Bt(e)) + if (r === void 0) { + var o = this[0] + return o ? a.getStylePropertyValue(o, e) : void 0 + } else a.applyBypass(this, e, r, i), this.emitAndNotify("style") + else if (e === void 0) { + var l = this[0] + return l ? a.getRawStyle(l) : void 0 + } + return this + }, + removeStyle: function (e) { + var r = this.cy() + if (!r.styleEnabled()) return this + var n = !1, + i = r.style(), + a = this + if (e === void 0) + for (var s = 0; s < a.length; s++) { + var o = a[s] + i.removeAllBypasses(o, n) + } + else { + e = e.split(/\s+/) + for (var l = 0; l < a.length; l++) { + var u = a[l] + i.removeBypasses(u, e, n) + } + } + return this.emitAndNotify("style"), this + }, + show: function () { + return this.css("display", "element"), this + }, + hide: function () { + return this.css("display", "none"), this + }, + effectiveOpacity: function () { + var e = this.cy() + if (!e.styleEnabled()) return 1 + var r = e.hasCompoundNodes(), + n = this[0] + if (n) { + var i = n._private, + a = n.pstyle("opacity").value + if (!r) return a + var s = i.data.parent ? n.parents() : null + if (s) + for (var o = 0; o < s.length; o++) { + var l = s[o], + u = l.pstyle("opacity").value + a = u * a + } + return a + } + }, + transparent: function () { + var e = this.cy() + if (!e.styleEnabled()) return !1 + var r = this[0], + n = r.cy().hasCompoundNodes() + if (r) return n ? r.effectiveOpacity() === 0 : r.pstyle("opacity").value === 0 + }, + backgrounding: function () { + var e = this.cy() + if (!e.styleEnabled()) return !1 + var r = this[0] + return !!r._private.backgrounding + }, +} +function Y5(t, e) { + var r = t._private, + n = r.data.parent ? t.parents() : null + if (n) + for (var i = 0; i < n.length; i++) { + var a = n[i] + if (!e(a)) return !1 + } + return !0 +} +function ES(t) { + var e = t.ok, + r = t.edgeOkViaNode || t.ok, + n = t.parentOk || t.ok + return function () { + var i = this.cy() + if (!i.styleEnabled()) return !0 + var a = this[0], + s = i.hasCompoundNodes() + if (a) { + var o = a._private + if (!e(a)) return !1 + if (a.isNode()) return !s || Y5(a, n) + var l = o.source, + u = o.target + return r(l) && (!s || Y5(l, r)) && (l === u || (r(u) && (!s || Y5(u, r)))) + } + } +} +var bf = Fx("eleTakesUpSpace", function (t) { + return t.pstyle("display").value === "element" && t.width() !== 0 && (t.isNode() ? t.height() !== 0 : !0) +}) +hi.takesUpSpace = $x("takesUpSpace", ES({ ok: bf })) +var rCe = Fx("eleInteractive", function (t) { + return t.pstyle("events").value === "yes" && t.pstyle("visibility").value === "visible" && bf(t) + }), + nCe = Fx("parentInteractive", function (t) { + return t.pstyle("visibility").value === "visible" && bf(t) + }) +hi.interactive = $x("interactive", ES({ ok: rCe, parentOk: nCe, edgeOkViaNode: bf })) +hi.noninteractive = function () { + var t = this[0] + if (t) return !t.interactive() +} +var iCe = Fx("eleVisible", function (t) { + return t.pstyle("visibility").value === "visible" && t.pstyle("opacity").pfValue !== 0 && bf(t) + }), + aCe = bf +hi.visible = $x("visible", ES({ ok: iCe, edgeOkViaNode: aCe })) +hi.hidden = function () { + var t = this[0] + if (t) return !t.visible() +} +hi.isBundledBezier = $x("isBundledBezier", function () { + return this.cy().styleEnabled() + ? !this.removed() && this.pstyle("curve-style").value === "bezier" && this.takesUpSpace() + : !1 +}) +hi.bypass = hi.css = hi.style +hi.renderedCss = hi.renderedStyle +hi.removeBypass = hi.removeCss = hi.removeStyle +hi.pstyle = hi.parsedStyle +var Cl = {} +function CR(t) { + return function () { + var e = arguments, + r = [] + if (e.length === 2) { + var n = e[0], + i = e[1] + this.on(t.event, n, i) + } else if (e.length === 1 && an(e[0])) { + var a = e[0] + this.on(t.event, a) + } else if (e.length === 0 || (e.length === 1 && Fr(e[0]))) { + for (var s = e.length === 1 ? e[0] : null, o = 0; o < this.length; o++) { + var l = this[o], + u = !t.ableField || l._private[t.ableField], + h = l._private[t.field] != t.value + if (t.overrideAble) { + var d = t.overrideAble(l) + if (d !== void 0 && ((u = d), !d)) return this + } + u && ((l._private[t.field] = t.value), h && r.push(l)) + } + var f = this.spawn(r) + f.updateStyle(), f.emit(t.event), s && f.emit(s) + } + return this + } +} +function wf(t) { + ;(Cl[t.field] = function () { + var e = this[0] + if (e) { + if (t.overrideField) { + var r = t.overrideField(e) + if (r !== void 0) return r + } + return e._private[t.field] + } + }), + (Cl[t.on] = CR({ + event: t.on, + field: t.field, + ableField: t.ableField, + overrideAble: t.overrideAble, + value: !0, + })), + (Cl[t.off] = CR({ + event: t.off, + field: t.field, + ableField: t.ableField, + overrideAble: t.overrideAble, + value: !1, + })) +} +wf({ + field: "locked", + overrideField: function (e) { + return e.cy().autolock() ? !0 : void 0 + }, + on: "lock", + off: "unlock", +}) +wf({ + field: "grabbable", + overrideField: function (e) { + return e.cy().autoungrabify() || e.pannable() ? !1 : void 0 + }, + on: "grabify", + off: "ungrabify", +}) +wf({ + field: "selected", + ableField: "selectable", + overrideAble: function (e) { + return e.cy().autounselectify() ? !1 : void 0 + }, + on: "select", + off: "unselect", +}) +wf({ + field: "selectable", + overrideField: function (e) { + return e.cy().autounselectify() ? !1 : void 0 + }, + on: "selectify", + off: "unselectify", +}) +Cl.deselect = Cl.unselect +Cl.grabbed = function () { + var t = this[0] + if (t) return t._private.grabbed +} +wf({ field: "active", on: "activate", off: "unactivate" }) +wf({ field: "pannable", on: "panify", off: "unpanify" }) +Cl.inactive = function () { + var t = this[0] + if (t) return !t._private.active +} +var Ci = {}, + AR = function (e) { + return function (n) { + for (var i = this, a = [], s = 0; s < i.length; s++) { + var o = i[s] + if (o.isNode()) { + for (var l = !1, u = o.connectedEdges(), h = 0; h < u.length; h++) { + var d = u[h], + f = d.source(), + p = d.target() + if ((e.noIncomingEdges && p === o && f !== o) || (e.noOutgoingEdges && f === o && p !== o)) { + l = !0 + break + } + } + l || a.push(o) + } + } + return this.spawn(a, !0).filter(n) + } + }, + _R = function (e) { + return function (r) { + for (var n = this, i = [], a = 0; a < n.length; a++) { + var s = n[a] + if (s.isNode()) + for (var o = s.connectedEdges(), l = 0; l < o.length; l++) { + var u = o[l], + h = u.source(), + d = u.target() + e.outgoing && h === s ? (i.push(u), i.push(d)) : e.incoming && d === s && (i.push(u), i.push(h)) + } + } + return this.spawn(i, !0).filter(r) + } + }, + LR = function (e) { + return function (r) { + for (var n = this, i = [], a = {}; ; ) { + var s = e.outgoing ? n.outgoers() : n.incomers() + if (s.length === 0) break + for (var o = !1, l = 0; l < s.length; l++) { + var u = s[l], + h = u.id() + a[h] || ((a[h] = !0), i.push(u), (o = !0)) + } + if (!o) break + n = s + } + return this.spawn(i, !0).filter(r) + } + } +Ci.clearTraversalCache = function () { + for (var t = 0; t < this.length; t++) this[t]._private.traversalCache = null +} +Gt(Ci, { + roots: AR({ noIncomingEdges: !0 }), + leaves: AR({ noOutgoingEdges: !0 }), + outgoers: ja(_R({ outgoing: !0 }), "outgoers"), + successors: LR({ outgoing: !0 }), + incomers: ja(_R({ incoming: !0 }), "incomers"), + predecessors: LR({}), +}) +Gt(Ci, { + neighborhood: ja(function (t) { + for (var e = [], r = this.nodes(), n = 0; n < r.length; n++) + for (var i = r[n], a = i.connectedEdges(), s = 0; s < a.length; s++) { + var o = a[s], + l = o.source(), + u = o.target(), + h = i === l ? u : l + h.length > 0 && e.push(h[0]), e.push(o[0]) + } + return this.spawn(e, !0).filter(t) + }, "neighborhood"), + closedNeighborhood: function (e) { + return this.neighborhood().add(this).filter(e) + }, + openNeighborhood: function (e) { + return this.neighborhood(e) + }, +}) +Ci.neighbourhood = Ci.neighborhood +Ci.closedNeighbourhood = Ci.closedNeighborhood +Ci.openNeighbourhood = Ci.openNeighborhood +Gt(Ci, { + source: ja(function (e) { + var r = this[0], + n + return r && (n = r._private.source || r.cy().collection()), n && e ? n.filter(e) : n + }, "source"), + target: ja(function (e) { + var r = this[0], + n + return r && (n = r._private.target || r.cy().collection()), n && e ? n.filter(e) : n + }, "target"), + sources: RR({ attr: "source" }), + targets: RR({ attr: "target" }), +}) +function RR(t) { + return function (r) { + for (var n = [], i = 0; i < this.length; i++) { + var a = this[i], + s = a._private[t.attr] + s && n.push(s) + } + return this.spawn(n, !0).filter(r) + } +} +Gt(Ci, { edgesWith: ja(NR(), "edgesWith"), edgesTo: ja(NR({ thisIsSrc: !0 }), "edgesTo") }) +function NR(t) { + return function (r) { + var n = [], + i = this._private.cy, + a = t || {} + Bt(r) && (r = i.$(r)) + for (var s = 0; s < r.length; s++) + for (var o = r[s]._private.edges, l = 0; l < o.length; l++) { + var u = o[l], + h = u._private.data, + d = this.hasElementWithId(h.source) && r.hasElementWithId(h.target), + f = r.hasElementWithId(h.source) && this.hasElementWithId(h.target), + p = d || f + p && (((a.thisIsSrc || a.thisIsTgt) && ((a.thisIsSrc && !d) || (a.thisIsTgt && !f))) || n.push(u)) + } + return this.spawn(n, !0) + } +} +Gt(Ci, { + connectedEdges: ja(function (t) { + for (var e = [], r = this, n = 0; n < r.length; n++) { + var i = r[n] + if (i.isNode()) + for (var a = i._private.edges, s = 0; s < a.length; s++) { + var o = a[s] + e.push(o) + } + } + return this.spawn(e, !0).filter(t) + }, "connectedEdges"), + connectedNodes: ja(function (t) { + for (var e = [], r = this, n = 0; n < r.length; n++) { + var i = r[n] + i.isEdge() && (e.push(i.source()[0]), e.push(i.target()[0])) + } + return this.spawn(e, !0).filter(t) + }, "connectedNodes"), + parallelEdges: ja(DR(), "parallelEdges"), + codirectedEdges: ja(DR({ codirected: !0 }), "codirectedEdges"), +}) +function DR(t) { + var e = { codirected: !1 } + return ( + (t = Gt({}, e, t)), + function (n) { + for (var i = [], a = this.edges(), s = t, o = 0; o < a.length; o++) + for ( + var l = a[o], + u = l._private, + h = u.source, + d = h._private.data.id, + f = u.data.target, + p = h._private.edges, + g = 0; + g < p.length; + g++ + ) { + var m = p[g], + v = m._private.data, + y = v.target, + b = v.source, + w = y === f && b === d, + T = d === y && f === b + ;((s.codirected && w) || (!s.codirected && (w || T))) && i.push(m) + } + return this.spawn(i, !0).filter(n) + } + ) +} +Gt(Ci, { + components: function (e) { + var r = this, + n = r.cy(), + i = n.collection(), + a = e == null ? r.nodes() : e.nodes(), + s = [] + e != null && a.empty() && (a = e.sources()) + var o = function (h, d) { + i.merge(h), a.unmerge(h), d.merge(h) + } + if (a.empty()) return r.spawn() + var l = function () { + var h = n.collection() + s.push(h) + var d = a[0] + o(d, h), + r.bfs({ + directed: !1, + roots: d, + visit: function (p) { + return o(p, h) + }, + }), + h.forEach(function (f) { + f.connectedEdges().forEach(function (p) { + r.has(p) && h.has(p.source()) && h.has(p.target()) && h.merge(p) + }) + }) + } + do l() + while (a.length > 0) + return s + }, + component: function () { + var e = this[0] + return e.cy().mutableElements().components(e)[0] + }, +}) +Ci.componentsOf = Ci.components +var di = function (e, r) { + var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1, + i = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !1 + if (e === void 0) { + nn("A collection must have a reference to the core") + return + } + var a = new Io(), + s = !1 + if (!r) r = [] + else if (r.length > 0 && mr(r[0]) && !Vg(r[0])) { + s = !0 + for (var o = [], l = new yf(), u = 0, h = r.length; u < h; u++) { + var d = r[u] + d.data == null && (d.data = {}) + var f = d.data + if (f.id == null) f.id = Sq() + else if (e.hasElementWithId(f.id) || l.has(f.id)) continue + var p = new Lx(e, d, !1) + o.push(p), l.add(f.id) + } + r = o + } + this.length = 0 + for (var g = 0, m = r.length; g < m; g++) { + var v = r[g][0] + if (v != null) { + var y = v._private.data.id + ;(!n || !a.has(y)) && + (n && a.set(y, { index: this.length, ele: v }), (this[this.length] = v), this.length++) + } + } + ;(this._private = { + eles: this, + cy: e, + get map() { + return this.lazyMap == null && this.rebuildMap(), this.lazyMap + }, + set map(b) { + this.lazyMap = b + }, + rebuildMap: function () { + for (var w = (this.lazyMap = new Io()), T = this.eles, E = 0; E < T.length; E++) { + var S = T[E] + w.set(S.id(), { index: E, ele: S }) + } + }, + }), + n && (this._private.map = a), + s && !i && this.restore() + }, + qr = (Lx.prototype = di.prototype = Object.create(Array.prototype)) +qr.instanceString = function () { + return "collection" +} +qr.spawn = function (t, e) { + return new di(this.cy(), t, e) +} +qr.spawnSelf = function () { + return this.spawn(this) +} +qr.cy = function () { + return this._private.cy +} +qr.renderer = function () { + return this._private.cy.renderer() +} +qr.element = function () { + return this[0] +} +qr.collection = function () { + return hq(this) ? this : new di(this._private.cy, [this]) +} +qr.unique = function () { + return new di(this._private.cy, this, !0) +} +qr.hasElementWithId = function (t) { + return (t = "" + t), this._private.map.has(t) +} +qr.getElementById = function (t) { + t = "" + t + var e = this._private.cy, + r = this._private.map.get(t) + return r ? r.ele : new di(e) +} +qr.$id = qr.getElementById +qr.poolIndex = function () { + var t = this._private.cy, + e = t._private.elements, + r = this[0]._private.data.id + return e._private.map.get(r).index +} +qr.indexOf = function (t) { + var e = t[0]._private.data.id + return this._private.map.get(e).index +} +qr.indexOfId = function (t) { + return (t = "" + t), this._private.map.get(t).index +} +qr.json = function (t) { + var e = this.element(), + r = this.cy() + if (e == null && t) return this + if (e != null) { + var n = e._private + if (mr(t)) { + if ((r.startBatch(), t.data)) { + e.data(t.data) + var i = n.data + if (e.isEdge()) { + var a = !1, + s = {}, + o = t.data.source, + l = t.data.target + o != null && o != i.source && ((s.source = "" + o), (a = !0)), + l != null && l != i.target && ((s.target = "" + l), (a = !0)), + a && (e = e.move(s)) + } else { + var u = "parent" in t.data, + h = t.data.parent + u && + (h != null || i.parent != null) && + h != i.parent && + (h === void 0 && (h = null), h != null && (h = "" + h), (e = e.move({ parent: h }))) + } + } + t.position && e.position(t.position) + var d = function (m, v, y) { + var b = t[m] + b != null && b !== n[m] && (b ? e[v]() : e[y]()) + } + return ( + d("removed", "remove", "restore"), + d("selected", "select", "unselect"), + d("selectable", "selectify", "unselectify"), + d("locked", "lock", "unlock"), + d("grabbable", "grabify", "ungrabify"), + d("pannable", "panify", "unpanify"), + t.classes != null && e.classes(t.classes), + r.endBatch(), + this + ) + } else if (t === void 0) { + var f = { + data: Ys(n.data), + position: Ys(n.position), + group: n.group, + removed: n.removed, + selected: n.selected, + selectable: n.selectable, + locked: n.locked, + grabbable: n.grabbable, + pannable: n.pannable, + classes: null, + } + f.classes = "" + var p = 0 + return ( + n.classes.forEach(function (g) { + return (f.classes += p++ === 0 ? g : " " + g) + }), + f + ) + } + } +} +qr.jsons = function () { + for (var t = [], e = 0; e < this.length; e++) { + var r = this[e], + n = r.json() + t.push(n) + } + return t +} +qr.clone = function () { + for (var t = this.cy(), e = [], r = 0; r < this.length; r++) { + var n = this[r], + i = n.json(), + a = new Lx(t, i, !1) + e.push(a) + } + return new di(t, e) +} +qr.copy = qr.clone +qr.restore = function () { + for ( + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + r = this, + n = r.cy(), + i = n._private, + a = [], + s = [], + o, + l = 0, + u = r.length; + l < u; + l++ + ) { + var h = r[l] + ;(e && !h.removed()) || (h.isNode() ? a.push(h) : s.push(h)) + } + o = a.concat(s) + var d, + f = function () { + o.splice(d, 1), d-- + } + for (d = 0; d < o.length; d++) { + var p = o[d], + g = p._private, + m = g.data + if ((p.clearTraversalCache(), !(!e && !g.removed))) { + if (m.id === void 0) m.id = Sq() + else if (gt(m.id)) m.id = "" + m.id + else if (zl(m.id) || !Bt(m.id)) { + nn("Can not create element with invalid string ID `" + m.id + "`"), f() + continue + } else if (n.hasElementWithId(m.id)) { + nn("Can not create second element with ID `" + m.id + "`"), f() + continue + } + } + var v = m.id + if (p.isNode()) { + var y = g.position + y.x == null && (y.x = 0), y.y == null && (y.y = 0) + } + if (p.isEdge()) { + for (var b = p, w = ["source", "target"], T = w.length, E = !1, S = 0; S < T; S++) { + var k = w[S], + L = m[k] + gt(L) && (L = m[k] = "" + m[k]), + L == null || L === "" + ? (nn("Can not create edge `" + v + "` with unspecified " + k), (E = !0)) + : n.hasElementWithId(L) || + (nn("Can not create edge `" + v + "` with nonexistant " + k + " `" + L + "`"), (E = !0)) + } + if (E) { + f() + continue + } + var A = n.getElementById(m.source), + R = n.getElementById(m.target) + A.same(R) ? A._private.edges.push(b) : (A._private.edges.push(b), R._private.edges.push(b)), + (b._private.source = A), + (b._private.target = R) + } + ;(g.map = new Io()), g.map.set(v, { ele: p, index: 0 }), (g.removed = !1), e && n.addToPool(p) + } + for (var C = 0; C < a.length; C++) { + var I = a[C], + P = I._private.data + gt(P.parent) && (P.parent = "" + P.parent) + var _ = P.parent, + N = _ != null + if (N || I._private.parent) { + var M = I._private.parent ? n.collection().merge(I._private.parent) : n.getElementById(_) + if (M.empty()) P.parent = void 0 + else if (M[0].removed()) + Sr("Node added with missing parent, reference to parent removed"), + (P.parent = void 0), + (I._private.parent = null) + else { + for (var O = !1, D = M; !D.empty(); ) { + if (I.same(D)) { + ;(O = !0), (P.parent = void 0) + break + } + D = D.parent() + } + O || (M[0]._private.children.push(I), (I._private.parent = M[0]), (i.hasCompoundNodes = !0)) + } + } + } + if (o.length > 0) { + for (var B = o.length === r.length ? r : new di(n, o), z = 0; z < B.length; z++) { + var F = B[z] + F.isNode() || + (F.parallelEdges().clearTraversalCache(), + F.source().clearTraversalCache(), + F.target().clearTraversalCache()) + } + var G + i.hasCompoundNodes ? (G = n.collection().merge(B).merge(B.connectedNodes()).merge(B.parent())) : (G = B), + G.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t), + t ? B.emitAndNotify("add") : e && B.emit("add") + } + return r +} +qr.removed = function () { + var t = this[0] + return t && t._private.removed +} +qr.inside = function () { + var t = this[0] + return t && !t._private.removed +} +qr.remove = function () { + var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + r = this, + n = [], + i = {}, + a = r._private.cy + function s(_) { + for (var N = _._private.edges, M = 0; M < N.length; M++) l(N[M]) + } + function o(_) { + for (var N = _._private.children, M = 0; M < N.length; M++) l(N[M]) + } + function l(_) { + var N = i[_.id()] + ;(e && _.removed()) || N || ((i[_.id()] = !0), _.isNode() ? (n.push(_), s(_), o(_)) : n.unshift(_)) + } + for (var u = 0, h = r.length; u < h; u++) { + var d = r[u] + l(d) + } + function f(_, N) { + var M = _._private.edges + Vl(M, N), _.clearTraversalCache() + } + function p(_) { + _.clearTraversalCache() + } + var g = [] + g.ids = {} + function m(_, N) { + ;(N = N[0]), (_ = _[0]) + var M = _._private.children, + O = _.id() + Vl(M, N), (N._private.parent = null), g.ids[O] || ((g.ids[O] = !0), g.push(_)) + } + r.dirtyCompoundBoundsCache(), e && a.removeFromPool(n) + for (var v = 0; v < n.length; v++) { + var y = n[v] + if (y.isEdge()) { + var b = y.source()[0], + w = y.target()[0] + f(b, y), f(w, y) + for (var T = y.parallelEdges(), E = 0; E < T.length; E++) { + var S = T[E] + p(S), S.isBundledBezier() && S.dirtyBoundingBoxCache() + } + } else { + var k = y.parent() + k.length !== 0 && m(k, y) + } + e && (y._private.removed = !0) + } + var L = a._private.elements + a._private.hasCompoundNodes = !1 + for (var A = 0; A < L.length; A++) { + var R = L[A] + if (R.isParent()) { + a._private.hasCompoundNodes = !0 + break + } + } + var C = new di(this.cy(), n) + C.size() > 0 && (t ? C.emitAndNotify("remove") : e && C.emit("remove")) + for (var I = 0; I < g.length; I++) { + var P = g[I] + ;(!e || !P.removed()) && P.updateStyle() + } + return C +} +qr.move = function (t) { + var e = this._private.cy, + r = this, + n = !1, + i = !1, + a = function (g) { + return g == null ? g : "" + g + } + if (t.source !== void 0 || t.target !== void 0) { + var s = a(t.source), + o = a(t.target), + l = s != null && e.hasElementWithId(s), + u = o != null && e.hasElementWithId(o) + ;(l || u) && + (e.batch(function () { + r.remove(n, i), r.emitAndNotify("moveout") + for (var p = 0; p < r.length; p++) { + var g = r[p], + m = g._private.data + g.isEdge() && (l && (m.source = s), u && (m.target = o)) + } + r.restore(n, i) + }), + r.emitAndNotify("move")) + } else if (t.parent !== void 0) { + var h = a(t.parent), + d = h === null || e.hasElementWithId(h) + if (d) { + var f = h === null ? void 0 : h + e.batch(function () { + var p = r.remove(n, i) + p.emitAndNotify("moveout") + for (var g = 0; g < r.length; g++) { + var m = r[g], + v = m._private.data + m.isNode() && (v.parent = f) + } + p.restore(n, i) + }), + r.emitAndNotify("move") + } + } + return this +} +;[Pq, m7e, ev, Sl, Zd, D7e, Px, X7e, sW, oW, J7e, e2, tv, hi, Cl, Ci].forEach(function (t) { + Gt(qr, t) +}) +var sCe = { + add: function (e) { + var r, + n = this + if (Aa(e)) { + var i = e + if (i._private.cy === n) r = i.restore() + else { + for (var a = [], s = 0; s < i.length; s++) { + var o = i[s] + a.push(o.json()) + } + r = new di(n, a) + } + } else if (Fr(e)) { + var l = e + r = new di(n, l) + } else if (mr(e) && (Fr(e.nodes) || Fr(e.edges))) { + for (var u = e, h = [], d = ["nodes", "edges"], f = 0, p = d.length; f < p; f++) { + var g = d[f], + m = u[g] + if (Fr(m)) + for (var v = 0, y = m.length; v < y; v++) { + var b = Gt({ group: g }, m[v]) + h.push(b) + } + } + r = new di(n, h) + } else { + var w = e + r = new Lx(n, w).collection() + } + return r + }, + remove: function (e) { + if (!Aa(e)) { + if (Bt(e)) { + var r = e + e = this.$(r) + } + } + return e.remove() + }, +} +/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */ function oCe( + t, + e, + r, + n, +) { + var i = 4, + a = 0.001, + s = 1e-7, + o = 10, + l = 11, + u = 1 / (l - 1), + h = typeof Float32Array < "u" + if (arguments.length !== 4) return !1 + for (var d = 0; d < 4; ++d) + if (typeof arguments[d] != "number" || isNaN(arguments[d]) || !isFinite(arguments[d])) return !1 + ;(t = Math.min(t, 1)), (r = Math.min(r, 1)), (t = Math.max(t, 0)), (r = Math.max(r, 0)) + var f = h ? new Float32Array(l) : new Array(l) + function p(R, C) { + return 1 - 3 * C + 3 * R + } + function g(R, C) { + return 3 * C - 6 * R + } + function m(R) { + return 3 * R + } + function v(R, C, I) { + return ((p(C, I) * R + g(C, I)) * R + m(C)) * R + } + function y(R, C, I) { + return 3 * p(C, I) * R * R + 2 * g(C, I) * R + m(C) + } + function b(R, C) { + for (var I = 0; I < i; ++I) { + var P = y(C, t, r) + if (P === 0) return C + var _ = v(C, t, r) - R + C -= _ / P + } + return C + } + function w() { + for (var R = 0; R < l; ++R) f[R] = v(R * u, t, r) + } + function T(R, C, I) { + var P, + _, + N = 0 + do (_ = C + (I - C) / 2), (P = v(_, t, r) - R), P > 0 ? (I = _) : (C = _) + while (Math.abs(P) > s && ++N < o) + return _ + } + function E(R) { + for (var C = 0, I = 1, P = l - 1; I !== P && f[I] <= R; ++I) C += u + --I + var _ = (R - f[I]) / (f[I + 1] - f[I]), + N = C + _ * u, + M = y(N, t, r) + return M >= a ? b(R, N) : M === 0 ? N : T(R, C, C + u) + } + var S = !1 + function k() { + ;(S = !0), (t !== e || r !== n) && w() + } + var L = function (C) { + return S || k(), t === e && r === n ? C : C === 0 ? 0 : C === 1 ? 1 : v(E(C), e, n) + } + L.getControlPoints = function () { + return [ + { x: t, y: e }, + { x: r, y: n }, + ] + } + var A = "generateBezier(" + [t, e, r, n] + ")" + return ( + (L.toString = function () { + return A + }), + L + ) +} +/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */ var lCe = + (function () { + function t(n) { + return -n.tension * n.x - n.friction * n.v + } + function e(n, i, a) { + var s = { x: n.x + a.dx * i, v: n.v + a.dv * i, tension: n.tension, friction: n.friction } + return { dx: s.v, dv: t(s) } + } + function r(n, i) { + var a = { dx: n.v, dv: t(n) }, + s = e(n, i * 0.5, a), + o = e(n, i * 0.5, s), + l = e(n, i, o), + u = (1 / 6) * (a.dx + 2 * (s.dx + o.dx) + l.dx), + h = (1 / 6) * (a.dv + 2 * (s.dv + o.dv) + l.dv) + return (n.x = n.x + u * i), (n.v = n.v + h * i), n + } + return function n(i, a, s) { + var o = { x: -1, v: 0, tension: null, friction: null }, + l = [0], + u = 0, + h = 1 / 1e4, + d = 16 / 1e3, + f, + p, + g + for ( + i = parseFloat(i) || 500, + a = parseFloat(a) || 20, + s = s || null, + o.tension = i, + o.friction = a, + f = s !== null, + f ? ((u = n(i, a)), (p = (u / s) * d)) : (p = d); + (g = r(g || o, p)), l.push(1 + g.x), (u += 16), Math.abs(g.x) > h && Math.abs(g.v) > h; + + ); + return f + ? function (m) { + return l[(m * (l.length - 1)) | 0] + } + : u + } + })(), + Vr = function (e, r, n, i) { + var a = oCe(e, r, n, i) + return function (s, o, l) { + return s + (o - s) * a(l) + } + }, + rv = { + linear: function (e, r, n) { + return e + (r - e) * n + }, + ease: Vr(0.25, 0.1, 0.25, 1), + "ease-in": Vr(0.42, 0, 1, 1), + "ease-out": Vr(0, 0, 0.58, 1), + "ease-in-out": Vr(0.42, 0, 0.58, 1), + "ease-in-sine": Vr(0.47, 0, 0.745, 0.715), + "ease-out-sine": Vr(0.39, 0.575, 0.565, 1), + "ease-in-out-sine": Vr(0.445, 0.05, 0.55, 0.95), + "ease-in-quad": Vr(0.55, 0.085, 0.68, 0.53), + "ease-out-quad": Vr(0.25, 0.46, 0.45, 0.94), + "ease-in-out-quad": Vr(0.455, 0.03, 0.515, 0.955), + "ease-in-cubic": Vr(0.55, 0.055, 0.675, 0.19), + "ease-out-cubic": Vr(0.215, 0.61, 0.355, 1), + "ease-in-out-cubic": Vr(0.645, 0.045, 0.355, 1), + "ease-in-quart": Vr(0.895, 0.03, 0.685, 0.22), + "ease-out-quart": Vr(0.165, 0.84, 0.44, 1), + "ease-in-out-quart": Vr(0.77, 0, 0.175, 1), + "ease-in-quint": Vr(0.755, 0.05, 0.855, 0.06), + "ease-out-quint": Vr(0.23, 1, 0.32, 1), + "ease-in-out-quint": Vr(0.86, 0, 0.07, 1), + "ease-in-expo": Vr(0.95, 0.05, 0.795, 0.035), + "ease-out-expo": Vr(0.19, 1, 0.22, 1), + "ease-in-out-expo": Vr(1, 0, 0, 1), + "ease-in-circ": Vr(0.6, 0.04, 0.98, 0.335), + "ease-out-circ": Vr(0.075, 0.82, 0.165, 1), + "ease-in-out-circ": Vr(0.785, 0.135, 0.15, 0.86), + spring: function (e, r, n) { + if (n === 0) return rv.linear + var i = lCe(e, r, n) + return function (a, s, o) { + return a + (s - a) * i(o) + } + }, + "cubic-bezier": Vr, + } +function IR(t, e, r, n, i) { + if (n === 1 || e === r) return r + var a = i(e, r, n) + return ( + t == null || + ((t.roundValue || t.color) && (a = Math.round(a)), + t.min !== void 0 && (a = Math.max(a, t.min)), + t.max !== void 0 && (a = Math.min(a, t.max))), + a + ) +} +function MR(t, e) { + return t.pfValue != null || t.value != null + ? t.pfValue != null && (e == null || e.type.units !== "%") + ? t.pfValue + : t.value + : t +} +function Uu(t, e, r, n, i) { + var a = i != null ? i.type : null + r < 0 ? (r = 0) : r > 1 && (r = 1) + var s = MR(t, i), + o = MR(e, i) + if (gt(s) && gt(o)) return IR(a, s, o, r, n) + if (Fr(s) && Fr(o)) { + for (var l = [], u = 0; u < o.length; u++) { + var h = s[u], + d = o[u] + if (h != null && d != null) { + var f = IR(a, h, d, r, n) + l.push(f) + } else l.push(d) + } + return l + } +} +function cCe(t, e, r, n) { + var i = !n, + a = t._private, + s = e._private, + o = s.easing, + l = s.startTime, + u = n ? t : t.cy(), + h = u.style() + if (!s.easingImpl) + if (o == null) s.easingImpl = rv.linear + else { + var d + if (Bt(o)) { + var f = h.parse("transition-timing-function", o) + d = f.value + } else d = o + var p, g + Bt(d) + ? ((p = d), (g = [])) + : ((p = d[1]), + (g = d.slice(2).map(function (B) { + return +B + }))), + g.length > 0 + ? (p === "spring" && g.push(s.duration), (s.easingImpl = rv[p].apply(null, g))) + : (s.easingImpl = rv[p]) + } + var m = s.easingImpl, + v + if ( + (s.duration === 0 ? (v = 1) : (v = (r - l) / s.duration), + s.applying && (v = s.progress), + v < 0 ? (v = 0) : v > 1 && (v = 1), + s.delay == null) + ) { + var y = s.startPosition, + b = s.position + if (b && i && !t.locked()) { + var w = {} + Yf(y.x, b.x) && (w.x = Uu(y.x, b.x, v, m)), Yf(y.y, b.y) && (w.y = Uu(y.y, b.y, v, m)), t.position(w) + } + var T = s.startPan, + E = s.pan, + S = a.pan, + k = E != null && n + k && (Yf(T.x, E.x) && (S.x = Uu(T.x, E.x, v, m)), Yf(T.y, E.y) && (S.y = Uu(T.y, E.y, v, m)), t.emit("pan")) + var L = s.startZoom, + A = s.zoom, + R = A != null && n + R && (Yf(L, A) && (a.zoom = Kp(a.minZoom, Uu(L, A, v, m), a.maxZoom)), t.emit("zoom")), + (k || R) && t.emit("viewport") + var C = s.style + if (C && C.length > 0 && i) { + for (var I = 0; I < C.length; I++) { + var P = C[I], + _ = P.name, + N = P, + M = s.startStyle[_], + O = h.properties[M.name], + D = Uu(M, N, v, m, O) + h.overrideBypass(t, _, D) + } + t.emit("style") + } + } + return (s.progress = v), v +} +function Yf(t, e) { + return t == null || e == null ? !1 : gt(t) && gt(e) ? !0 : !!(t && e) +} +function uCe(t, e, r, n) { + var i = e._private + ;(i.started = !0), (i.startTime = r - i.progress * i.duration) +} +function OR(t, e) { + var r = e._private.aniEles, + n = [] + function i(h, d) { + var f = h._private, + p = f.animation.current, + g = f.animation.queue, + m = !1 + if (p.length === 0) { + var v = g.shift() + v && p.push(v) + } + for ( + var y = function (S) { + for (var k = S.length - 1; k >= 0; k--) { + var L = S[k] + L() + } + S.splice(0, S.length) + }, + b = p.length - 1; + b >= 0; + b-- + ) { + var w = p[b], + T = w._private + if (T.stopped) { + p.splice(b, 1), (T.hooked = !1), (T.playing = !1), (T.started = !1), y(T.frames) + continue + } + ;(!T.playing && !T.applying) || + (T.playing && T.applying && (T.applying = !1), + T.started || uCe(h, w, t), + cCe(h, w, t, d), + T.applying && (T.applying = !1), + y(T.frames), + T.step != null && T.step(t), + w.completed() && (p.splice(b, 1), (T.hooked = !1), (T.playing = !1), (T.started = !1), y(T.completes)), + (m = !0)) + } + return !d && p.length === 0 && g.length === 0 && n.push(h), m + } + for (var a = !1, s = 0; s < r.length; s++) { + var o = r[s], + l = i(o) + a = a || l + } + var u = i(e, !0) + ;(a || u) && (r.length > 0 ? e.notify("draw", r) : e.notify("draw")), r.unmerge(n), e.emit("step") +} +var hCe = { + animate: Tr.animate(), + animation: Tr.animation(), + animated: Tr.animated(), + clearQueue: Tr.clearQueue(), + delay: Tr.delay(), + delayAnimation: Tr.delayAnimation(), + stop: Tr.stop(), + addToAnimationPool: function (e) { + var r = this + r.styleEnabled() && r._private.aniEles.merge(e) + }, + stopAnimationLoop: function () { + this._private.animationsRunning = !1 + }, + startAnimationLoop: function () { + var e = this + if (((e._private.animationsRunning = !0), !e.styleEnabled())) return + function r() { + e._private.animationsRunning && + jy(function (a) { + OR(a, e), r() + }) + } + var n = e.renderer() + n && n.beforeRender + ? n.beforeRender(function (a, s) { + OR(s, e) + }, n.beforeRenderPriorities.animations) + : r() + }, + }, + dCe = { + qualifierCompare: function (e, r) { + return e == null || r == null ? e == null && r == null : e.sameText(r) + }, + eventMatches: function (e, r, n) { + var i = r.qualifier + return i != null ? e !== n.target && Vg(n.target) && i.matches(n.target) : !0 + }, + addEventFields: function (e, r) { + ;(r.cy = e), (r.target = e) + }, + callbackContext: function (e, r, n) { + return r.qualifier != null ? n.target : e + }, + }, + tm = function (e) { + return Bt(e) ? new Ul(e) : e + }, + uW = { + createEmitter: function () { + var e = this._private + return e.emitter || (e.emitter = new Bx(dCe, this)), this + }, + emitter: function () { + return this._private.emitter + }, + on: function (e, r, n) { + return this.emitter().on(e, tm(r), n), this + }, + removeListener: function (e, r, n) { + return this.emitter().removeListener(e, tm(r), n), this + }, + removeAllListeners: function () { + return this.emitter().removeAllListeners(), this + }, + one: function (e, r, n) { + return this.emitter().one(e, tm(r), n), this + }, + once: function (e, r, n) { + return this.emitter().one(e, tm(r), n), this + }, + emit: function (e, r) { + return this.emitter().emit(e, r), this + }, + emitAndNotify: function (e, r) { + return this.emit(e), this.notify(e, r), this + }, + } +Tr.eventAliasesOn(uW) +var B6 = { + png: function (e) { + var r = this._private.renderer + return (e = e || {}), r.png(e) + }, + jpg: function (e) { + var r = this._private.renderer + return (e = e || {}), (e.bg = e.bg || "#fff"), r.jpg(e) + }, +} +B6.jpeg = B6.jpg +var nv = { + layout: function (e) { + var r = this + if (e == null) { + nn("Layout options must be specified to make a layout") + return + } + if (e.name == null) { + nn("A `name` must be specified to make a layout") + return + } + var n = e.name, + i = r.extension("layout", n) + if (i == null) { + nn("No such layout `" + n + "` found. Did you forget to import it and `cytoscape.use()` it?") + return + } + var a + Bt(e.eles) ? (a = r.$(e.eles)) : (a = e.eles != null ? e.eles : r.$()) + var s = new i(Gt({}, e, { cy: r, eles: a })) + return s + }, +} +nv.createLayout = nv.makeLayout = nv.layout +var fCe = { + notify: function (e, r) { + var n = this._private + if (this.batching()) { + n.batchNotifications = n.batchNotifications || {} + var i = (n.batchNotifications[e] = n.batchNotifications[e] || this.collection()) + r != null && i.merge(r) + return + } + if (n.notificationsEnabled) { + var a = this.renderer() + this.destroyed() || !a || a.notify(e, r) + } + }, + notifications: function (e) { + var r = this._private + return e === void 0 ? r.notificationsEnabled : ((r.notificationsEnabled = !!e), this) + }, + noNotifications: function (e) { + this.notifications(!1), e(), this.notifications(!0) + }, + batching: function () { + return this._private.batchCount > 0 + }, + startBatch: function () { + var e = this._private + return ( + e.batchCount == null && (e.batchCount = 0), + e.batchCount === 0 && ((e.batchStyleEles = this.collection()), (e.batchNotifications = {})), + e.batchCount++, + this + ) + }, + endBatch: function () { + var e = this._private + if (e.batchCount === 0) return this + if ((e.batchCount--, e.batchCount === 0)) { + e.batchStyleEles.updateStyle() + var r = this.renderer() + Object.keys(e.batchNotifications).forEach(function (n) { + var i = e.batchNotifications[n] + i.empty() ? r.notify(n) : r.notify(n, i) + }) + } + return this + }, + batch: function (e) { + return this.startBatch(), e(), this.endBatch(), this + }, + batchData: function (e) { + var r = this + return this.batch(function () { + for (var n = Object.keys(e), i = 0; i < n.length; i++) { + var a = n[i], + s = e[a], + o = r.getElementById(a) + o.data(s) + } + }) + }, + }, + pCe = pi({ + hideEdgesOnViewport: !1, + textureOnViewport: !1, + motionBlur: !1, + motionBlurOpacity: 0.05, + pixelRatio: void 0, + desktopTapThreshold: 4, + touchTapThreshold: 8, + wheelSensitivity: 1, + debug: !1, + showFps: !1, + webgl: !1, + webglDebug: !1, + webglDebugShowAtlases: !1, + webglTexSize: 2048, + webglTexRows: 36, + webglTexRowsNodes: 18, + webglBatchSize: 2048, + webglTexPerBatch: 14, + webglBgColor: [255, 255, 255], + }), + F6 = { + renderTo: function (e, r, n, i) { + var a = this._private.renderer + return a.renderTo(e, r, n, i), this + }, + renderer: function () { + return this._private.renderer + }, + forceRender: function () { + return this.notify("draw"), this + }, + resize: function () { + return this.invalidateSize(), this.emitAndNotify("resize"), this + }, + initRenderer: function (e) { + var r = this, + n = r.extension("renderer", e.name) + if (n == null) { + nn( + "Can not initialise: No such renderer `".concat( + e.name, + "` found. Did you forget to import it and `cytoscape.use()` it?", + ), + ) + return + } + e.wheelSensitivity !== void 0 && + Sr( + "You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.", + ) + var i = pCe(e) + ;(i.cy = r), (r._private.renderer = new n(i)), this.notify("init") + }, + destroyRenderer: function () { + var e = this + e.notify("destroy") + var r = e.container() + if (r) for (r._cyreg = null; r.childNodes.length > 0; ) r.removeChild(r.childNodes[0]) + ;(e._private.renderer = null), + e.mutableElements().forEach(function (n) { + var i = n._private + ;(i.rscratch = {}), (i.rstyle = {}), (i.animation.current = []), (i.animation.queue = []) + }) + }, + onRender: function (e) { + return this.on("render", e) + }, + offRender: function (e) { + return this.off("render", e) + }, + } +F6.invalidateDimensions = F6.resize +var iv = { + collection: function (e, r) { + return Bt(e) + ? this.$(e) + : Aa(e) + ? e.collection() + : Fr(e) + ? (r || (r = {}), new di(this, e, r.unique, r.removed)) + : new di(this) + }, + nodes: function (e) { + var r = this.$(function (n) { + return n.isNode() + }) + return e ? r.filter(e) : r + }, + edges: function (e) { + var r = this.$(function (n) { + return n.isEdge() + }) + return e ? r.filter(e) : r + }, + $: function (e) { + var r = this._private.elements + return e ? r.filter(e) : r.spawnSelf() + }, + mutableElements: function () { + return this._private.elements + }, +} +iv.elements = iv.filter = iv.$ +var ti = {}, + up = "t", + gCe = "f" +ti.apply = function (t) { + for (var e = this, r = e._private, n = r.cy, i = n.collection(), a = 0; a < t.length; a++) { + var s = t[a], + o = e.getContextMeta(s) + if (!o.empty) { + var l = e.getContextStyle(o), + u = e.applyContextStyle(o, l, s) + s._private.appliedInitStyle ? e.updateTransitions(s, u.diffProps) : (s._private.appliedInitStyle = !0) + var h = e.updateStyleHints(s) + h && i.push(s) + } + } + return i +} +ti.getPropertiesDiff = function (t, e) { + var r = this, + n = (r._private.propDiffs = r._private.propDiffs || {}), + i = t + "-" + e, + a = n[i] + if (a) return a + for (var s = [], o = {}, l = 0; l < r.length; l++) { + var u = r[l], + h = t[l] === up, + d = e[l] === up, + f = h !== d, + p = u.mappedProperties.length > 0 + if (f || (d && p)) { + var g = void 0 + ;(f && p) || f ? (g = u.properties) : p && (g = u.mappedProperties) + for (var m = 0; m < g.length; m++) { + for (var v = g[m], y = v.name, b = !1, w = l + 1; w < r.length; w++) { + var T = r[w], + E = e[w] === up + if (E && ((b = T.properties[v.name] != null), b)) break + } + !o[y] && !b && ((o[y] = !0), s.push(y)) + } + } + } + return (n[i] = s), s +} +ti.getContextMeta = function (t) { + for (var e = this, r = "", n, i = t._private.styleCxtKey || "", a = 0; a < e.length; a++) { + var s = e[a], + o = s.selector && s.selector.matches(t) + o ? (r += up) : (r += gCe) + } + return ( + (n = e.getPropertiesDiff(i, r)), + (t._private.styleCxtKey = r), + { key: r, diffPropNames: n, empty: n.length === 0 } + ) +} +ti.getContextStyle = function (t) { + var e = t.key, + r = this, + n = (this._private.contextStyles = this._private.contextStyles || {}) + if (n[e]) return n[e] + for (var i = { _private: { key: e } }, a = 0; a < r.length; a++) { + var s = r[a], + o = e[a] === up + if (o) + for (var l = 0; l < s.properties.length; l++) { + var u = s.properties[l] + i[u.name] = u + } + } + return (n[e] = i), i +} +ti.applyContextStyle = function (t, e, r) { + for (var n = this, i = t.diffPropNames, a = {}, s = n.types, o = 0; o < i.length; o++) { + var l = i[o], + u = e[l], + h = r.pstyle(l) + if (!u) + if (h) h.bypass ? (u = { name: l, deleteBypassed: !0 }) : (u = { name: l, delete: !0 }) + else continue + if (h !== u) { + if (u.mapped === s.fn && h != null && h.mapping != null && h.mapping.value === u.value) { + var d = h.mapping, + f = (d.fnValue = u.value(r)) + if (f === d.prevFnValue) continue + } + var p = (a[l] = { prev: h }) + n.applyParsedProperty(r, u), (p.next = r.pstyle(l)), p.next && p.next.bypass && (p.next = p.next.bypassed) + } + } + return { diffProps: a } +} +ti.updateStyleHints = function (t) { + var e = t._private, + r = this, + n = r.propertyGroupNames, + i = r.propertyGroupKeys, + a = function (W, K, ne) { + return r.getPropertiesHash(W, K, ne) + }, + s = e.styleKey + if (t.removed()) return !1 + var o = e.group === "nodes", + l = t._private.style + n = Object.keys(l) + for (var u = 0; u < i.length; u++) { + var h = i[u] + e.styleKeys[h] = [Ac, eh] + } + for ( + var d = function (W, K) { + return (e.styleKeys[K][0] = Yp(W, e.styleKeys[K][0])) + }, + f = function (W, K) { + return (e.styleKeys[K][1] = Xp(W, e.styleKeys[K][1])) + }, + p = function (W, K) { + d(W, K), f(W, K) + }, + g = function (W, K) { + for (var ne = 0; ne < W.length; ne++) { + var Z = W.charCodeAt(ne) + d(Z, K), f(Z, K) + } + }, + m = 2e9, + v = function (W) { + return -128 < W && W < 128 && Math.floor(W) !== W ? m - ((W * 1024) | 0) : W + }, + y = 0; + y < n.length; + y++ + ) { + var b = n[y], + w = l[b] + if (w != null) { + var T = this.properties[b], + E = T.type, + S = T.groupKey, + k = void 0 + T.hashOverride != null ? (k = T.hashOverride(t, w)) : w.pfValue != null && (k = w.pfValue) + var L = T.enums == null ? w.value : null, + A = k != null, + R = L != null, + C = A || R, + I = w.units + if (E.number && C && !E.multiple) { + var P = A ? k : L + p(v(P), S), !A && I != null && g(I, S) + } else g(w.strValue, S) + } + } + for (var _ = [Ac, eh], N = 0; N < i.length; N++) { + var M = i[N], + O = e.styleKeys[M] + ;(_[0] = Yp(O[0], _[0])), (_[1] = Xp(O[1], _[1])) + } + e.styleKey = MEe(_[0], _[1]) + var D = e.styleKeys + e.labelDimsKey = cl(D.labelDimensions) + var B = a(t, ["label"], D.labelDimensions) + if (((e.labelKey = cl(B)), (e.labelStyleKey = cl(Y1(D.commonLabel, B))), !o)) { + var z = a(t, ["source-label"], D.labelDimensions) + ;(e.sourceLabelKey = cl(z)), (e.sourceLabelStyleKey = cl(Y1(D.commonLabel, z))) + var F = a(t, ["target-label"], D.labelDimensions) + ;(e.targetLabelKey = cl(F)), (e.targetLabelStyleKey = cl(Y1(D.commonLabel, F))) + } + if (o) { + var G = e.styleKeys, + q = G.nodeBody, + Y = G.nodeBorder, + ee = G.nodeOutline, + Q = G.backgroundImage, + oe = G.compound, + pe = G.pie, + j = G.stripe, + H = [q, Y, ee, Q, oe, pe, j] + .filter(function (X) { + return X != null + }) + .reduce(Y1, [Ac, eh]) + ;(e.nodeKey = cl(H)), + (e.hasPie = pe != null && pe[0] !== Ac && pe[1] !== eh), + (e.hasStripe = j != null && j[0] !== Ac && j[1] !== eh) + } + return s !== e.styleKey +} +ti.clearStyleHints = function (t) { + var e = t._private + ;(e.styleCxtKey = ""), + (e.styleKeys = {}), + (e.styleKey = null), + (e.labelKey = null), + (e.labelStyleKey = null), + (e.sourceLabelKey = null), + (e.sourceLabelStyleKey = null), + (e.targetLabelKey = null), + (e.targetLabelStyleKey = null), + (e.nodeKey = null), + (e.hasPie = null), + (e.hasStripe = null) +} +ti.applyParsedProperty = function (t, e) { + var r = this, + n = e, + i = t._private.style, + a, + s = r.types, + o = r.properties[n.name].type, + l = n.bypass, + u = i[n.name], + h = u && u.bypass, + d = t._private, + f = "mapping", + p = function (q) { + return q == null ? null : q.pfValue != null ? q.pfValue : q.value + }, + g = function () { + var q = p(u), + Y = p(n) + r.checkTriggers(t, n.name, q, Y) + } + if ( + (e.name === "curve-style" && + t.isEdge() && + ((e.value !== "bezier" && t.isLoop()) || + (e.value === "haystack" && (t.source().isParent() || t.target().isParent()))) && + (n = e = this.parse(e.name, "bezier", l)), + n.delete) + ) + return (i[n.name] = void 0), g(), !0 + if (n.deleteBypassed) return u ? (u.bypass ? ((u.bypassed = void 0), g(), !0) : !1) : (g(), !0) + if (n.deleteBypass) return u ? (u.bypass ? ((i[n.name] = u.bypassed), g(), !0) : !1) : (g(), !0) + var m = function () { + Sr( + "Do not assign mappings to elements without corresponding data (i.e. ele `" + + t.id() + + "` has no mapping for property `" + + n.name + + "` with data field `" + + n.field + + "`); try a `[" + + n.field + + "]` selector to limit scope to elements with `" + + n.field + + "` defined", + ) + } + switch (n.mapped) { + case s.mapData: { + for (var v = n.field.split("."), y = d.data, b = 0; b < v.length && y; b++) { + var w = v[b] + y = y[w] + } + if (y == null) return m(), !1 + var T + if (gt(y)) { + var E = n.fieldMax - n.fieldMin + E === 0 ? (T = 0) : (T = (y - n.fieldMin) / E) + } else + return ( + Sr( + "Do not use continuous mappers without specifying numeric data (i.e. `" + + n.field + + ": " + + y + + "` for `" + + t.id() + + "` is non-numeric)", + ), + !1 + ) + if ((T < 0 ? (T = 0) : T > 1 && (T = 1), o.color)) { + var S = n.valueMin[0], + k = n.valueMax[0], + L = n.valueMin[1], + A = n.valueMax[1], + R = n.valueMin[2], + C = n.valueMax[2], + I = n.valueMin[3] == null ? 1 : n.valueMin[3], + P = n.valueMax[3] == null ? 1 : n.valueMax[3], + _ = [ + Math.round(S + (k - S) * T), + Math.round(L + (A - L) * T), + Math.round(R + (C - R) * T), + Math.round(I + (P - I) * T), + ] + a = { + bypass: n.bypass, + name: n.name, + value: _, + strValue: "rgb(" + _[0] + ", " + _[1] + ", " + _[2] + ")", + } + } else if (o.number) { + var N = n.valueMin + (n.valueMax - n.valueMin) * T + a = this.parse(n.name, N, n.bypass, f) + } else return !1 + if (!a) return m(), !1 + ;(a.mapping = n), (n = a) + break + } + case s.data: { + for (var M = n.field.split("."), O = d.data, D = 0; D < M.length && O; D++) { + var B = M[D] + O = O[B] + } + if ((O != null && (a = this.parse(n.name, O, n.bypass, f)), !a)) return m(), !1 + ;(a.mapping = n), (n = a) + break + } + case s.fn: { + var z = n.value, + F = n.fnValue != null ? n.fnValue : z(t) + if (((n.prevFnValue = F), F == null)) + return ( + Sr( + "Custom function mappers may not return null (i.e. `" + + n.name + + "` for ele `" + + t.id() + + "` is null)", + ), + !1 + ) + if (((a = this.parse(n.name, F, n.bypass, f)), !a)) + return ( + Sr( + "Custom function mappers may not return invalid values for the property type (i.e. `" + + n.name + + "` for ele `" + + t.id() + + "` is invalid)", + ), + !1 + ) + ;(a.mapping = Ys(n)), (n = a) + break + } + case void 0: + break + default: + return !1 + } + return ( + l + ? (h ? (n.bypassed = u.bypassed) : (n.bypassed = u), (i[n.name] = n)) + : h + ? (u.bypassed = n) + : (i[n.name] = n), + g(), + !0 + ) +} +ti.cleanElements = function (t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r] + if ((this.clearStyleHints(n), n.dirtyCompoundBoundsCache(), n.dirtyBoundingBoxCache(), !e)) + n._private.style = {} + else + for (var i = n._private.style, a = Object.keys(i), s = 0; s < a.length; s++) { + var o = a[s], + l = i[o] + l != null && (l.bypass ? (l.bypassed = null) : (i[o] = null)) + } + } +} +ti.update = function () { + var t = this._private.cy, + e = t.mutableElements() + e.updateStyle() +} +ti.updateTransitions = function (t, e) { + var r = this, + n = t._private, + i = t.pstyle("transition-property").value, + a = t.pstyle("transition-duration").pfValue, + s = t.pstyle("transition-delay").pfValue + if (i.length > 0 && a > 0) { + for (var o = {}, l = !1, u = 0; u < i.length; u++) { + var h = i[u], + d = t.pstyle(h), + f = e[h] + if (f) { + var p = f.prev, + g = p, + m = f.next != null ? f.next : d, + v = !1, + y = void 0, + b = 1e-6 + g && + (gt(g.pfValue) && gt(m.pfValue) + ? ((v = m.pfValue - g.pfValue), (y = g.pfValue + b * v)) + : gt(g.value) && gt(m.value) + ? ((v = m.value - g.value), (y = g.value + b * v)) + : Fr(g.value) && + Fr(m.value) && + ((v = + g.value[0] !== m.value[0] || + g.value[1] !== m.value[1] || + g.value[2] !== m.value[2]), + (y = g.strValue)), + v && ((o[h] = m.strValue), this.applyBypass(t, h, y), (l = !0))) + } + } + if (!l) return + ;(n.transitioning = !0), + new xf(function (w) { + s > 0 ? t.delayAnimation(s).play().promise().then(w) : w() + }) + .then(function () { + return t + .animation({ + style: o, + duration: a, + easing: t.pstyle("transition-timing-function").value, + queue: !1, + }) + .play() + .promise() + }) + .then(function () { + r.removeBypasses(t, i), t.emitAndNotify("style"), (n.transitioning = !1) + }) + } else n.transitioning && (this.removeBypasses(t, i), t.emitAndNotify("style"), (n.transitioning = !1)) +} +ti.checkTrigger = function (t, e, r, n, i, a) { + var s = this.properties[e], + o = i(s) + t.removed() || (o != null && o(r, n, t) && a(s)) +} +ti.checkZOrderTrigger = function (t, e, r, n) { + var i = this + this.checkTrigger( + t, + e, + r, + n, + function (a) { + return a.triggersZOrder + }, + function () { + i._private.cy.notify("zorder", t) + }, + ) +} +ti.checkBoundsTrigger = function (t, e, r, n) { + this.checkTrigger( + t, + e, + r, + n, + function (i) { + return i.triggersBounds + }, + function (i) { + t.dirtyCompoundBoundsCache(), t.dirtyBoundingBoxCache() + }, + ) +} +ti.checkConnectedEdgesBoundsTrigger = function (t, e, r, n) { + this.checkTrigger( + t, + e, + r, + n, + function (i) { + return i.triggersBoundsOfConnectedEdges + }, + function (i) { + t.connectedEdges().forEach(function (a) { + a.dirtyBoundingBoxCache() + }) + }, + ) +} +ti.checkParallelEdgesBoundsTrigger = function (t, e, r, n) { + this.checkTrigger( + t, + e, + r, + n, + function (i) { + return i.triggersBoundsOfParallelEdges + }, + function (i) { + t.parallelEdges().forEach(function (a) { + a.dirtyBoundingBoxCache() + }) + }, + ) +} +ti.checkTriggers = function (t, e, r, n) { + t.dirtyStyleCache(), + this.checkZOrderTrigger(t, e, r, n), + this.checkBoundsTrigger(t, e, r, n), + this.checkConnectedEdgesBoundsTrigger(t, e, r, n), + this.checkParallelEdgesBoundsTrigger(t, e, r, n) +} +var Xg = {} +Xg.applyBypass = function (t, e, r, n) { + var i = this, + a = [], + s = !0 + if (e === "*" || e === "**") { + if (r !== void 0) + for (var o = 0; o < i.properties.length; o++) { + var l = i.properties[o], + u = l.name, + h = this.parse(u, r, !0) + h && a.push(h) + } + } else if (Bt(e)) { + var d = this.parse(e, r, !0) + d && a.push(d) + } else if (mr(e)) { + var f = e + n = r + for (var p = Object.keys(f), g = 0; g < p.length; g++) { + var m = p[g], + v = f[m] + if ((v === void 0 && (v = f[Ax(m)]), v !== void 0)) { + var y = this.parse(m, v, !0) + y && a.push(y) + } + } + } else return !1 + if (a.length === 0) return !1 + for (var b = !1, w = 0; w < t.length; w++) { + for (var T = t[w], E = {}, S = void 0, k = 0; k < a.length; k++) { + var L = a[k] + if (n) { + var A = T.pstyle(L.name) + S = E[L.name] = { prev: A } + } + ;(b = this.applyParsedProperty(T, Ys(L)) || b), n && (S.next = T.pstyle(L.name)) + } + b && this.updateStyleHints(T), n && this.updateTransitions(T, E, s) + } + return b +} +Xg.overrideBypass = function (t, e, r) { + e = cS(e) + for (var n = 0; n < t.length; n++) { + var i = t[n], + a = i._private.style[e], + s = this.properties[e].type, + o = s.color, + l = s.mutiple, + u = a ? (a.pfValue != null ? a.pfValue : a.value) : null + !a || !a.bypass + ? this.applyBypass(i, e, r) + : ((a.value = r), + a.pfValue != null && (a.pfValue = r), + o ? (a.strValue = "rgb(" + r.join(",") + ")") : l ? (a.strValue = r.join(" ")) : (a.strValue = "" + r), + this.updateStyleHints(i)), + this.checkTriggers(i, e, u, r) + } +} +Xg.removeAllBypasses = function (t, e) { + return this.removeBypasses(t, this.propertyNames, e) +} +Xg.removeBypasses = function (t, e, r) { + for (var n = !0, i = 0; i < t.length; i++) { + for (var a = t[i], s = {}, o = 0; o < e.length; o++) { + var l = e[o], + u = this.properties[l], + h = a.pstyle(u.name) + if (!(!h || !h.bypass)) { + var d = "", + f = this.parse(l, d, !0), + p = (s[u.name] = { prev: h }) + this.applyParsedProperty(a, f), (p.next = a.pstyle(u.name)) + } + } + this.updateStyleHints(a), r && this.updateTransitions(a, s, n) + } +} +var kS = {} +kS.getEmSizeInPixels = function () { + var t = this.containerCss("font-size") + return t != null ? parseFloat(t) : 1 +} +kS.containerCss = function (t) { + var e = this._private.cy, + r = e.container(), + n = e.window() + if (n && r && n.getComputedStyle) return n.getComputedStyle(r).getPropertyValue(t) +} +var eo = {} +eo.getRenderedStyle = function (t, e) { + return e ? this.getStylePropertyValue(t, e, !0) : this.getRawStyle(t, !0) +} +eo.getRawStyle = function (t, e) { + var r = this + if (((t = t[0]), t)) { + for (var n = {}, i = 0; i < r.properties.length; i++) { + var a = r.properties[i], + s = r.getStylePropertyValue(t, a.name, e) + s != null && ((n[a.name] = s), (n[Ax(a.name)] = s)) + } + return n + } +} +eo.getIndexedStyle = function (t, e, r, n) { + var i = t.pstyle(e)[r][n] + return i ?? t.cy().style().getDefaultProperty(e)[r][0] +} +eo.getStylePropertyValue = function (t, e, r) { + var n = this + if (((t = t[0]), t)) { + var i = n.properties[e] + i.alias && (i = i.pointsTo) + var a = i.type, + s = t.pstyle(i.name) + if (s) { + var o = s.value, + l = s.units, + u = s.strValue + if (r && a.number && o != null && gt(o)) { + var h = t.cy().zoom(), + d = function (v) { + return v * h + }, + f = function (v, y) { + return d(v) + y + }, + p = Fr(o), + g = p + ? l.every(function (m) { + return m != null + }) + : l != null + return g + ? p + ? o + .map(function (m, v) { + return f(m, l[v]) + }) + .join(" ") + : f(o, l) + : p + ? o + .map(function (m) { + return Bt(m) ? m : "" + d(m) + }) + .join(" ") + : "" + d(o) + } else if (u != null) return u + } + return null + } +} +eo.getAnimationStartStyle = function (t, e) { + for (var r = {}, n = 0; n < e.length; n++) { + var i = e[n], + a = i.name, + s = t.pstyle(a) + s !== void 0 && (mr(s) ? (s = this.parse(a, s.strValue)) : (s = this.parse(a, s))), s && (r[a] = s) + } + return r +} +eo.getPropsList = function (t) { + var e = this, + r = [], + n = t, + i = e.properties + if (n) + for (var a = Object.keys(n), s = 0; s < a.length; s++) { + var o = a[s], + l = n[o], + u = i[o] || i[cS(o)], + h = this.parse(u.name, l) + h && r.push(h) + } + return r +} +eo.getNonDefaultPropertiesHash = function (t, e, r) { + var n = r.slice(), + i, + a, + s, + o, + l, + u + for (l = 0; l < e.length; l++) + if (((i = e[l]), (a = t.pstyle(i, !1)), a != null)) + if (a.pfValue != null) (n[0] = Yp(o, n[0])), (n[1] = Xp(o, n[1])) + else + for (s = a.strValue, u = 0; u < s.length; u++) + (o = s.charCodeAt(u)), (n[0] = Yp(o, n[0])), (n[1] = Xp(o, n[1])) + return n +} +eo.getPropertiesHash = eo.getNonDefaultPropertiesHash +var zx = {} +zx.appendFromJson = function (t) { + for (var e = this, r = 0; r < t.length; r++) { + var n = t[r], + i = n.selector, + a = n.style || n.css, + s = Object.keys(a) + e.selector(i) + for (var o = 0; o < s.length; o++) { + var l = s[o], + u = a[l] + e.css(l, u) + } + } + return e +} +zx.fromJson = function (t) { + var e = this + return e.resetToDefault(), e.appendFromJson(t), e +} +zx.json = function () { + for (var t = [], e = this.defaultLength; e < this.length; e++) { + for (var r = this[e], n = r.selector, i = r.properties, a = {}, s = 0; s < i.length; s++) { + var o = i[s] + a[o.name] = o.strValue + } + t.push({ selector: n ? n.toString() : "core", style: a }) + } + return t +} +var SS = {} +SS.appendFromString = function (t) { + var e = this, + r = this, + n = "" + t, + i, + a, + s + n = n.replace(/[/][*](\s|.)+?[*][/]/g, "") + function o() { + n.length > i.length ? (n = n.substr(i.length)) : (n = "") + } + function l() { + a.length > s.length ? (a = a.substr(s.length)) : (a = "") + } + for (;;) { + var u = n.match(/^\s*$/) + if (u) break + var h = n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/) + if (!h) { + Sr( + "Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: " + + n, + ) + break + } + i = h[0] + var d = h[1] + if (d !== "core") { + var f = new Ul(d) + if (f.invalid) { + Sr("Skipping parsing of block: Invalid selector found in string stylesheet: " + d), o() + continue + } + } + var p = h[2], + g = !1 + a = p + for (var m = []; ; ) { + var v = a.match(/^\s*$/) + if (v) break + var y = a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/) + if (!y) { + Sr( + "Skipping parsing of block: Invalid formatting of style property and value definitions found in:" + + p, + ), + (g = !0) + break + } + s = y[0] + var b = y[1], + w = y[2], + T = e.properties[b] + if (!T) { + Sr("Skipping property: Invalid property name in: " + s), l() + continue + } + var E = r.parse(b, w) + if (!E) { + Sr("Skipping property: Invalid property definition in: " + s), l() + continue + } + m.push({ name: b, val: w }), l() + } + if (g) { + o() + break + } + r.selector(d) + for (var S = 0; S < m.length; S++) { + var k = m[S] + r.css(k.name, k.val) + } + o() + } + return r +} +SS.fromString = function (t) { + var e = this + return e.resetToDefault(), e.appendFromString(t), e +} +var bn = {} +;(function () { + var t = Pn, + e = dEe, + r = pEe, + n = gEe, + i = mEe, + a = function (X) { + return "^" + X + "\\s*\\(\\s*([\\w\\.]+)\\s*\\)$" + }, + s = function (X) { + var W = t + "|\\w+|" + e + "|" + r + "|" + n + "|" + i + return ( + "^" + + X + + "\\s*\\(([\\w\\.]+)\\s*\\,\\s*(" + + t + + ")\\s*\\,\\s*(" + + t + + ")\\s*,\\s*(" + + W + + ")\\s*\\,\\s*(" + + W + + ")\\)$" + ) + }, + o = [`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`, "^(none)$", "^(.+)$"] + bn.types = { + time: { number: !0, min: 0, units: "s|ms", implicitUnits: "ms" }, + percent: { number: !0, min: 0, max: 100, units: "%", implicitUnits: "%" }, + percentages: { number: !0, min: 0, max: 100, units: "%", implicitUnits: "%", multiple: !0 }, + zeroOneNumber: { number: !0, min: 0, max: 1, unitless: !0 }, + zeroOneNumbers: { number: !0, min: 0, max: 1, unitless: !0, multiple: !0 }, + nOneOneNumber: { number: !0, min: -1, max: 1, unitless: !0 }, + nonNegativeInt: { number: !0, min: 0, integer: !0, unitless: !0 }, + nonNegativeNumber: { number: !0, min: 0, unitless: !0 }, + position: { enums: ["parent", "origin"] }, + nodeSize: { number: !0, min: 0, enums: ["label"] }, + number: { number: !0, unitless: !0 }, + numbers: { number: !0, unitless: !0, multiple: !0 }, + positiveNumber: { number: !0, unitless: !0, min: 0, strictMin: !0 }, + size: { number: !0, min: 0 }, + bidirectionalSize: { number: !0 }, + bidirectionalSizeMaybePercent: { number: !0, allowPercent: !0 }, + bidirectionalSizes: { number: !0, multiple: !0 }, + sizeMaybePercent: { number: !0, min: 0, allowPercent: !0 }, + axisDirection: { enums: ["horizontal", "leftward", "rightward", "vertical", "upward", "downward", "auto"] }, + axisDirectionExplicit: { enums: ["leftward", "rightward", "upward", "downward"] }, + axisDirectionPrimary: { enums: ["horizontal", "vertical"] }, + paddingRelativeTo: { enums: ["width", "height", "average", "min", "max"] }, + bgWH: { number: !0, min: 0, allowPercent: !0, enums: ["auto"], multiple: !0 }, + bgPos: { number: !0, allowPercent: !0, multiple: !0 }, + bgRelativeTo: { enums: ["inner", "include-padding"], multiple: !0 }, + bgRepeat: { enums: ["repeat", "repeat-x", "repeat-y", "no-repeat"], multiple: !0 }, + bgFit: { enums: ["none", "contain", "cover"], multiple: !0 }, + bgCrossOrigin: { enums: ["anonymous", "use-credentials", "null"], multiple: !0 }, + bgClip: { enums: ["none", "node"], multiple: !0 }, + bgContainment: { enums: ["inside", "over"], multiple: !0 }, + color: { color: !0 }, + colors: { color: !0, multiple: !0 }, + fill: { enums: ["solid", "linear-gradient", "radial-gradient"] }, + bool: { enums: ["yes", "no"] }, + bools: { enums: ["yes", "no"], multiple: !0 }, + lineStyle: { enums: ["solid", "dotted", "dashed"] }, + lineCap: { enums: ["butt", "round", "square"] }, + linePosition: { enums: ["center", "inside", "outside"] }, + lineJoin: { enums: ["round", "bevel", "miter"] }, + borderStyle: { enums: ["solid", "dotted", "dashed", "double"] }, + curveStyle: { + enums: [ + "bezier", + "unbundled-bezier", + "haystack", + "segments", + "straight", + "straight-triangle", + "taxi", + "round-segments", + "round-taxi", + ], + }, + radiusType: { enums: ["arc-radius", "influence-radius"], multiple: !0 }, + fontFamily: { regex: '^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$' }, + fontStyle: { enums: ["italic", "normal", "oblique"] }, + fontWeight: { + enums: [ + "normal", + "bold", + "bolder", + "lighter", + "100", + "200", + "300", + "400", + "500", + "600", + "800", + "900", + 100, + 200, + 300, + 400, + 500, + 600, + 700, + 800, + 900, + ], + }, + textDecoration: { enums: ["none", "underline", "overline", "line-through"] }, + textTransform: { enums: ["none", "uppercase", "lowercase"] }, + textWrap: { enums: ["none", "wrap", "ellipsis"] }, + textOverflowWrap: { enums: ["whitespace", "anywhere"] }, + textBackgroundShape: { enums: ["rectangle", "roundrectangle", "round-rectangle"] }, + nodeShape: { + enums: [ + "rectangle", + "roundrectangle", + "round-rectangle", + "cutrectangle", + "cut-rectangle", + "bottomroundrectangle", + "bottom-round-rectangle", + "barrel", + "ellipse", + "triangle", + "round-triangle", + "square", + "pentagon", + "round-pentagon", + "hexagon", + "round-hexagon", + "concavehexagon", + "concave-hexagon", + "heptagon", + "round-heptagon", + "octagon", + "round-octagon", + "tag", + "round-tag", + "star", + "diamond", + "round-diamond", + "vee", + "rhomboid", + "right-rhomboid", + "polygon", + ], + }, + overlayShape: { enums: ["roundrectangle", "round-rectangle", "ellipse"] }, + cornerRadius: { number: !0, min: 0, units: "px|em", implicitUnits: "px", enums: ["auto"] }, + compoundIncludeLabels: { enums: ["include", "exclude"] }, + arrowShape: { + enums: [ + "tee", + "triangle", + "triangle-tee", + "circle-triangle", + "triangle-cross", + "triangle-backcurve", + "vee", + "square", + "circle", + "diamond", + "chevron", + "none", + ], + }, + arrowFill: { enums: ["filled", "hollow"] }, + arrowWidth: { number: !0, units: "%|px|em", implicitUnits: "px", enums: ["match-line"] }, + display: { enums: ["element", "none"] }, + visibility: { enums: ["hidden", "visible"] }, + zCompoundDepth: { enums: ["bottom", "orphan", "auto", "top"] }, + zIndexCompare: { enums: ["auto", "manual"] }, + valign: { enums: ["top", "center", "bottom"] }, + halign: { enums: ["left", "center", "right"] }, + justification: { enums: ["left", "center", "right", "auto"] }, + text: { string: !0 }, + data: { mapping: !0, regex: a("data") }, + layoutData: { mapping: !0, regex: a("layoutData") }, + scratch: { mapping: !0, regex: a("scratch") }, + mapData: { mapping: !0, regex: s("mapData") }, + mapLayoutData: { mapping: !0, regex: s("mapLayoutData") }, + mapScratch: { mapping: !0, regex: s("mapScratch") }, + fn: { mapping: !0, fn: !0 }, + url: { regexes: o, singleRegexMatchValue: !0 }, + urls: { regexes: o, singleRegexMatchValue: !0, multiple: !0 }, + propList: { propList: !0 }, + angle: { number: !0, units: "deg|rad", implicitUnits: "rad" }, + textRotation: { number: !0, units: "deg|rad", implicitUnits: "rad", enums: ["none", "autorotate"] }, + polygonPointList: { number: !0, multiple: !0, evenMultiple: !0, min: -1, max: 1, unitless: !0 }, + edgeDistances: { enums: ["intersection", "node-position", "endpoints"] }, + edgeEndpoint: { + number: !0, + multiple: !0, + units: "%|px|em|deg|rad", + implicitUnits: "px", + enums: [ + "inside-to-node", + "outside-to-node", + "outside-to-node-or-label", + "outside-to-line", + "outside-to-line-or-label", + ], + singleEnum: !0, + validate: function (X, W) { + switch (X.length) { + case 2: + return W[0] !== "deg" && W[0] !== "rad" && W[1] !== "deg" && W[1] !== "rad" + case 1: + return Bt(X[0]) || W[0] === "deg" || W[0] === "rad" + default: + return !1 + } + }, + }, + easing: { + regexes: [ + "^(spring)\\s*\\(\\s*(" + t + ")\\s*,\\s*(" + t + ")\\s*\\)$", + "^(cubic-bezier)\\s*\\(\\s*(" + + t + + ")\\s*,\\s*(" + + t + + ")\\s*,\\s*(" + + t + + ")\\s*,\\s*(" + + t + + ")\\s*\\)$", + ], + enums: [ + "linear", + "ease", + "ease-in", + "ease-out", + "ease-in-out", + "ease-in-sine", + "ease-out-sine", + "ease-in-out-sine", + "ease-in-quad", + "ease-out-quad", + "ease-in-out-quad", + "ease-in-cubic", + "ease-out-cubic", + "ease-in-out-cubic", + "ease-in-quart", + "ease-out-quart", + "ease-in-out-quart", + "ease-in-quint", + "ease-out-quint", + "ease-in-out-quint", + "ease-in-expo", + "ease-out-expo", + "ease-in-out-expo", + "ease-in-circ", + "ease-out-circ", + "ease-in-out-circ", + ], + }, + gradientDirection: { + enums: [ + "to-bottom", + "to-top", + "to-left", + "to-right", + "to-bottom-right", + "to-bottom-left", + "to-top-right", + "to-top-left", + "to-right-bottom", + "to-left-bottom", + "to-right-top", + "to-left-top", + ], + }, + boundsExpansion: { + number: !0, + multiple: !0, + min: 0, + validate: function (X) { + var W = X.length + return W === 1 || W === 2 || W === 4 + }, + }, + } + var l = { + zeroNonZero: function (X, W) { + return ((X == null || W == null) && X !== W) || (X == 0 && W != 0) ? !0 : X != 0 && W == 0 + }, + any: function (X, W) { + return X != W + }, + emptyNonEmpty: function (X, W) { + var K = zl(X), + ne = zl(W) + return (K && !ne) || (!K && ne) + }, + }, + u = bn.types, + h = [ + { name: "label", type: u.text, triggersBounds: l.any, triggersZOrder: l.emptyNonEmpty }, + { name: "text-rotation", type: u.textRotation, triggersBounds: l.any }, + { name: "text-margin-x", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "text-margin-y", type: u.bidirectionalSize, triggersBounds: l.any }, + ], + d = [ + { name: "source-label", type: u.text, triggersBounds: l.any }, + { name: "source-text-rotation", type: u.textRotation, triggersBounds: l.any }, + { name: "source-text-margin-x", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "source-text-margin-y", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "source-text-offset", type: u.size, triggersBounds: l.any }, + ], + f = [ + { name: "target-label", type: u.text, triggersBounds: l.any }, + { name: "target-text-rotation", type: u.textRotation, triggersBounds: l.any }, + { name: "target-text-margin-x", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "target-text-margin-y", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "target-text-offset", type: u.size, triggersBounds: l.any }, + ], + p = [ + { name: "font-family", type: u.fontFamily, triggersBounds: l.any }, + { name: "font-style", type: u.fontStyle, triggersBounds: l.any }, + { name: "font-weight", type: u.fontWeight, triggersBounds: l.any }, + { name: "font-size", type: u.size, triggersBounds: l.any }, + { name: "text-transform", type: u.textTransform, triggersBounds: l.any }, + { name: "text-wrap", type: u.textWrap, triggersBounds: l.any }, + { name: "text-overflow-wrap", type: u.textOverflowWrap, triggersBounds: l.any }, + { name: "text-max-width", type: u.size, triggersBounds: l.any }, + { name: "text-outline-width", type: u.size, triggersBounds: l.any }, + { name: "line-height", type: u.positiveNumber, triggersBounds: l.any }, + ], + g = [ + { name: "text-valign", type: u.valign, triggersBounds: l.any }, + { name: "text-halign", type: u.halign, triggersBounds: l.any }, + { name: "color", type: u.color }, + { name: "text-outline-color", type: u.color }, + { name: "text-outline-opacity", type: u.zeroOneNumber }, + { name: "text-background-color", type: u.color }, + { name: "text-background-opacity", type: u.zeroOneNumber }, + { name: "text-background-padding", type: u.size, triggersBounds: l.any }, + { name: "text-border-opacity", type: u.zeroOneNumber }, + { name: "text-border-color", type: u.color }, + { name: "text-border-width", type: u.size, triggersBounds: l.any }, + { name: "text-border-style", type: u.borderStyle, triggersBounds: l.any }, + { name: "text-background-shape", type: u.textBackgroundShape, triggersBounds: l.any }, + { name: "text-justification", type: u.justification }, + { name: "box-select-labels", type: u.bool, triggersBounds: l.any }, + ], + m = [ + { name: "events", type: u.bool, triggersZOrder: l.any }, + { name: "text-events", type: u.bool, triggersZOrder: l.any }, + ], + v = [ + { + name: "display", + type: u.display, + triggersZOrder: l.any, + triggersBounds: l.any, + triggersBoundsOfConnectedEdges: l.any, + triggersBoundsOfParallelEdges: function (X, W, K) { + return X === W ? !1 : K.pstyle("curve-style").value === "bezier" + }, + }, + { name: "visibility", type: u.visibility, triggersZOrder: l.any }, + { name: "opacity", type: u.zeroOneNumber, triggersZOrder: l.zeroNonZero }, + { name: "text-opacity", type: u.zeroOneNumber }, + { name: "min-zoomed-font-size", type: u.size }, + { name: "z-compound-depth", type: u.zCompoundDepth, triggersZOrder: l.any }, + { name: "z-index-compare", type: u.zIndexCompare, triggersZOrder: l.any }, + { name: "z-index", type: u.number, triggersZOrder: l.any }, + ], + y = [ + { name: "overlay-padding", type: u.size, triggersBounds: l.any }, + { name: "overlay-color", type: u.color }, + { name: "overlay-opacity", type: u.zeroOneNumber, triggersBounds: l.zeroNonZero }, + { name: "overlay-shape", type: u.overlayShape, triggersBounds: l.any }, + { name: "overlay-corner-radius", type: u.cornerRadius }, + ], + b = [ + { name: "underlay-padding", type: u.size, triggersBounds: l.any }, + { name: "underlay-color", type: u.color }, + { name: "underlay-opacity", type: u.zeroOneNumber, triggersBounds: l.zeroNonZero }, + { name: "underlay-shape", type: u.overlayShape, triggersBounds: l.any }, + { name: "underlay-corner-radius", type: u.cornerRadius }, + ], + w = [ + { name: "transition-property", type: u.propList }, + { name: "transition-duration", type: u.time }, + { name: "transition-delay", type: u.time }, + { name: "transition-timing-function", type: u.easing }, + ], + T = function (X, W) { + return W.value === "label" ? -X.poolIndex() : W.pfValue + }, + E = [ + { name: "height", type: u.nodeSize, triggersBounds: l.any, hashOverride: T }, + { name: "width", type: u.nodeSize, triggersBounds: l.any, hashOverride: T }, + { name: "shape", type: u.nodeShape, triggersBounds: l.any }, + { name: "shape-polygon-points", type: u.polygonPointList, triggersBounds: l.any }, + { name: "corner-radius", type: u.cornerRadius }, + { name: "background-color", type: u.color }, + { name: "background-fill", type: u.fill }, + { name: "background-opacity", type: u.zeroOneNumber }, + { name: "background-blacken", type: u.nOneOneNumber }, + { name: "background-gradient-stop-colors", type: u.colors }, + { name: "background-gradient-stop-positions", type: u.percentages }, + { name: "background-gradient-direction", type: u.gradientDirection }, + { name: "padding", type: u.sizeMaybePercent, triggersBounds: l.any }, + { name: "padding-relative-to", type: u.paddingRelativeTo, triggersBounds: l.any }, + { name: "bounds-expansion", type: u.boundsExpansion, triggersBounds: l.any }, + ], + S = [ + { name: "border-color", type: u.color }, + { name: "border-opacity", type: u.zeroOneNumber }, + { name: "border-width", type: u.size, triggersBounds: l.any }, + { name: "border-style", type: u.borderStyle }, + { name: "border-cap", type: u.lineCap }, + { name: "border-join", type: u.lineJoin }, + { name: "border-dash-pattern", type: u.numbers }, + { name: "border-dash-offset", type: u.number }, + { name: "border-position", type: u.linePosition }, + ], + k = [ + { name: "outline-color", type: u.color }, + { name: "outline-opacity", type: u.zeroOneNumber }, + { name: "outline-width", type: u.size, triggersBounds: l.any }, + { name: "outline-style", type: u.borderStyle }, + { name: "outline-offset", type: u.size, triggersBounds: l.any }, + ], + L = [ + { name: "background-image", type: u.urls }, + { name: "background-image-crossorigin", type: u.bgCrossOrigin }, + { name: "background-image-opacity", type: u.zeroOneNumbers }, + { name: "background-image-containment", type: u.bgContainment }, + { name: "background-image-smoothing", type: u.bools }, + { name: "background-position-x", type: u.bgPos }, + { name: "background-position-y", type: u.bgPos }, + { name: "background-width-relative-to", type: u.bgRelativeTo }, + { name: "background-height-relative-to", type: u.bgRelativeTo }, + { name: "background-repeat", type: u.bgRepeat }, + { name: "background-fit", type: u.bgFit }, + { name: "background-clip", type: u.bgClip }, + { name: "background-width", type: u.bgWH }, + { name: "background-height", type: u.bgWH }, + { name: "background-offset-x", type: u.bgPos }, + { name: "background-offset-y", type: u.bgPos }, + ], + A = [ + { name: "position", type: u.position, triggersBounds: l.any }, + { name: "compound-sizing-wrt-labels", type: u.compoundIncludeLabels, triggersBounds: l.any }, + { name: "min-width", type: u.size, triggersBounds: l.any }, + { name: "min-width-bias-left", type: u.sizeMaybePercent, triggersBounds: l.any }, + { name: "min-width-bias-right", type: u.sizeMaybePercent, triggersBounds: l.any }, + { name: "min-height", type: u.size, triggersBounds: l.any }, + { name: "min-height-bias-top", type: u.sizeMaybePercent, triggersBounds: l.any }, + { name: "min-height-bias-bottom", type: u.sizeMaybePercent, triggersBounds: l.any }, + ], + R = [ + { name: "line-style", type: u.lineStyle }, + { name: "line-color", type: u.color }, + { name: "line-fill", type: u.fill }, + { name: "line-cap", type: u.lineCap }, + { name: "line-opacity", type: u.zeroOneNumber }, + { name: "line-dash-pattern", type: u.numbers }, + { name: "line-dash-offset", type: u.number }, + { name: "line-outline-width", type: u.size }, + { name: "line-outline-color", type: u.color }, + { name: "line-gradient-stop-colors", type: u.colors }, + { name: "line-gradient-stop-positions", type: u.percentages }, + { + name: "curve-style", + type: u.curveStyle, + triggersBounds: l.any, + triggersBoundsOfParallelEdges: function (X, W) { + return X === W ? !1 : X === "bezier" || W === "bezier" + }, + }, + { name: "haystack-radius", type: u.zeroOneNumber, triggersBounds: l.any }, + { name: "source-endpoint", type: u.edgeEndpoint, triggersBounds: l.any }, + { name: "target-endpoint", type: u.edgeEndpoint, triggersBounds: l.any }, + { name: "control-point-step-size", type: u.size, triggersBounds: l.any }, + { name: "control-point-distances", type: u.bidirectionalSizes, triggersBounds: l.any }, + { name: "control-point-weights", type: u.numbers, triggersBounds: l.any }, + { name: "segment-distances", type: u.bidirectionalSizes, triggersBounds: l.any }, + { name: "segment-weights", type: u.numbers, triggersBounds: l.any }, + { name: "segment-radii", type: u.numbers, triggersBounds: l.any }, + { name: "radius-type", type: u.radiusType, triggersBounds: l.any }, + { name: "taxi-turn", type: u.bidirectionalSizeMaybePercent, triggersBounds: l.any }, + { name: "taxi-turn-min-distance", type: u.size, triggersBounds: l.any }, + { name: "taxi-direction", type: u.axisDirection, triggersBounds: l.any }, + { name: "taxi-radius", type: u.number, triggersBounds: l.any }, + { name: "edge-distances", type: u.edgeDistances, triggersBounds: l.any }, + { name: "arrow-scale", type: u.positiveNumber, triggersBounds: l.any }, + { name: "loop-direction", type: u.angle, triggersBounds: l.any }, + { name: "loop-sweep", type: u.angle, triggersBounds: l.any }, + { name: "source-distance-from-node", type: u.size, triggersBounds: l.any }, + { name: "target-distance-from-node", type: u.size, triggersBounds: l.any }, + ], + C = [ + { name: "ghost", type: u.bool, triggersBounds: l.any }, + { name: "ghost-offset-x", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "ghost-offset-y", type: u.bidirectionalSize, triggersBounds: l.any }, + { name: "ghost-opacity", type: u.zeroOneNumber }, + ], + I = [ + { name: "selection-box-color", type: u.color }, + { name: "selection-box-opacity", type: u.zeroOneNumber }, + { name: "selection-box-border-color", type: u.color }, + { name: "selection-box-border-width", type: u.size }, + { name: "active-bg-color", type: u.color }, + { name: "active-bg-opacity", type: u.zeroOneNumber }, + { name: "active-bg-size", type: u.size }, + { name: "outside-texture-bg-color", type: u.color }, + { name: "outside-texture-bg-opacity", type: u.zeroOneNumber }, + ], + P = [] + ;(bn.pieBackgroundN = 16), + P.push({ name: "pie-size", type: u.sizeMaybePercent }), + P.push({ name: "pie-hole", type: u.sizeMaybePercent }), + P.push({ name: "pie-start-angle", type: u.angle }) + for (var _ = 1; _ <= bn.pieBackgroundN; _++) + P.push({ name: "pie-" + _ + "-background-color", type: u.color }), + P.push({ name: "pie-" + _ + "-background-size", type: u.percent }), + P.push({ name: "pie-" + _ + "-background-opacity", type: u.zeroOneNumber }) + var N = [] + ;(bn.stripeBackgroundN = 16), + N.push({ name: "stripe-size", type: u.sizeMaybePercent }), + N.push({ name: "stripe-direction", type: u.axisDirectionPrimary }) + for (var M = 1; M <= bn.stripeBackgroundN; M++) + N.push({ name: "stripe-" + M + "-background-color", type: u.color }), + N.push({ name: "stripe-" + M + "-background-size", type: u.percent }), + N.push({ name: "stripe-" + M + "-background-opacity", type: u.zeroOneNumber }) + var O = [], + D = (bn.arrowPrefixes = ["source", "mid-source", "target", "mid-target"]) + ;[ + { name: "arrow-shape", type: u.arrowShape, triggersBounds: l.any }, + { name: "arrow-color", type: u.color }, + { name: "arrow-fill", type: u.arrowFill }, + { name: "arrow-width", type: u.arrowWidth }, + ].forEach(function (H) { + D.forEach(function (X) { + var W = X + "-" + H.name, + K = H.type, + ne = H.triggersBounds + O.push({ name: W, type: K, triggersBounds: ne }) + }) + }, {}) + var B = (bn.properties = [].concat(m, w, v, y, b, C, g, p, h, d, f, E, S, k, L, P, N, A, R, O, I)), + z = (bn.propertyGroups = { + behavior: m, + transition: w, + visibility: v, + overlay: y, + underlay: b, + ghost: C, + commonLabel: g, + labelDimensions: p, + mainLabel: h, + sourceLabel: d, + targetLabel: f, + nodeBody: E, + nodeBorder: S, + nodeOutline: k, + backgroundImage: L, + pie: P, + stripe: N, + compound: A, + edgeLine: R, + edgeArrow: O, + core: I, + }), + F = (bn.propertyGroupNames = {}), + G = (bn.propertyGroupKeys = Object.keys(z)) + G.forEach(function (H) { + ;(F[H] = z[H].map(function (X) { + return X.name + })), + z[H].forEach(function (X) { + return (X.groupKey = H) + }) + }) + var q = (bn.aliases = [ + { name: "content", pointsTo: "label" }, + { name: "control-point-distance", pointsTo: "control-point-distances" }, + { name: "control-point-weight", pointsTo: "control-point-weights" }, + { name: "segment-distance", pointsTo: "segment-distances" }, + { name: "segment-weight", pointsTo: "segment-weights" }, + { name: "segment-radius", pointsTo: "segment-radii" }, + { name: "edge-text-rotation", pointsTo: "text-rotation" }, + { name: "padding-left", pointsTo: "padding" }, + { name: "padding-right", pointsTo: "padding" }, + { name: "padding-top", pointsTo: "padding" }, + { name: "padding-bottom", pointsTo: "padding" }, + ]) + bn.propertyNames = B.map(function (H) { + return H.name + }) + for (var Y = 0; Y < B.length; Y++) { + var ee = B[Y] + B[ee.name] = ee + } + for (var Q = 0; Q < q.length; Q++) { + var oe = q[Q], + pe = B[oe.pointsTo], + j = { name: oe.name, alias: !0, pointsTo: pe } + B.push(j), (B[oe.name] = j) + } +})() +bn.getDefaultProperty = function (t) { + return this.getDefaultProperties()[t] +} +bn.getDefaultProperties = function () { + var t = this._private + if (t.defaultProperties != null) return t.defaultProperties + for ( + var e = Gt( + { + "selection-box-color": "#ddd", + "selection-box-opacity": 0.65, + "selection-box-border-color": "#aaa", + "selection-box-border-width": 1, + "active-bg-color": "black", + "active-bg-opacity": 0.15, + "active-bg-size": 30, + "outside-texture-bg-color": "#000", + "outside-texture-bg-opacity": 0.125, + events: "yes", + "text-events": "no", + "text-valign": "top", + "text-halign": "center", + "text-justification": "auto", + "line-height": 1, + color: "#000", + "text-outline-color": "#000", + "text-outline-width": 0, + "text-outline-opacity": 1, + "text-opacity": 1, + "text-decoration": "none", + "text-transform": "none", + "text-wrap": "none", + "text-overflow-wrap": "whitespace", + "text-max-width": 9999, + "text-background-color": "#000", + "text-background-opacity": 0, + "text-background-shape": "rectangle", + "text-background-padding": 0, + "text-border-opacity": 0, + "text-border-width": 0, + "text-border-style": "solid", + "text-border-color": "#000", + "font-family": "Helvetica Neue, Helvetica, sans-serif", + "font-style": "normal", + "font-weight": "normal", + "font-size": 16, + "min-zoomed-font-size": 0, + "text-rotation": "none", + "source-text-rotation": "none", + "target-text-rotation": "none", + visibility: "visible", + display: "element", + opacity: 1, + "z-compound-depth": "auto", + "z-index-compare": "auto", + "z-index": 0, + label: "", + "text-margin-x": 0, + "text-margin-y": 0, + "source-label": "", + "source-text-offset": 0, + "source-text-margin-x": 0, + "source-text-margin-y": 0, + "target-label": "", + "target-text-offset": 0, + "target-text-margin-x": 0, + "target-text-margin-y": 0, + "overlay-opacity": 0, + "overlay-color": "#000", + "overlay-padding": 10, + "overlay-shape": "round-rectangle", + "overlay-corner-radius": "auto", + "underlay-opacity": 0, + "underlay-color": "#000", + "underlay-padding": 10, + "underlay-shape": "round-rectangle", + "underlay-corner-radius": "auto", + "transition-property": "none", + "transition-duration": 0, + "transition-delay": 0, + "transition-timing-function": "linear", + "box-select-labels": "no", + "background-blacken": 0, + "background-color": "#999", + "background-fill": "solid", + "background-opacity": 1, + "background-image": "none", + "background-image-crossorigin": "anonymous", + "background-image-opacity": 1, + "background-image-containment": "inside", + "background-image-smoothing": "yes", + "background-position-x": "50%", + "background-position-y": "50%", + "background-offset-x": 0, + "background-offset-y": 0, + "background-width-relative-to": "include-padding", + "background-height-relative-to": "include-padding", + "background-repeat": "no-repeat", + "background-fit": "none", + "background-clip": "node", + "background-width": "auto", + "background-height": "auto", + "border-color": "#000", + "border-opacity": 1, + "border-width": 0, + "border-style": "solid", + "border-dash-pattern": [4, 2], + "border-dash-offset": 0, + "border-cap": "butt", + "border-join": "miter", + "border-position": "center", + "outline-color": "#999", + "outline-opacity": 1, + "outline-width": 0, + "outline-offset": 0, + "outline-style": "solid", + height: 30, + width: 30, + shape: "ellipse", + "shape-polygon-points": "-1, -1, 1, -1, 1, 1, -1, 1", + "corner-radius": "auto", + "bounds-expansion": 0, + "background-gradient-direction": "to-bottom", + "background-gradient-stop-colors": "#999", + "background-gradient-stop-positions": "0%", + ghost: "no", + "ghost-offset-y": 0, + "ghost-offset-x": 0, + "ghost-opacity": 0, + padding: 0, + "padding-relative-to": "width", + position: "origin", + "compound-sizing-wrt-labels": "include", + "min-width": 0, + "min-width-bias-left": 0, + "min-width-bias-right": 0, + "min-height": 0, + "min-height-bias-top": 0, + "min-height-bias-bottom": 0, + }, + { "pie-size": "100%", "pie-hole": 0, "pie-start-angle": "0deg" }, + [ + { name: "pie-{{i}}-background-color", value: "black" }, + { name: "pie-{{i}}-background-size", value: "0%" }, + { name: "pie-{{i}}-background-opacity", value: 1 }, + ].reduce(function (l, u) { + for (var h = 1; h <= bn.pieBackgroundN; h++) { + var d = u.name.replace("{{i}}", h), + f = u.value + l[d] = f + } + return l + }, {}), + { "stripe-size": "100%", "stripe-direction": "horizontal" }, + [ + { name: "stripe-{{i}}-background-color", value: "black" }, + { name: "stripe-{{i}}-background-size", value: "0%" }, + { name: "stripe-{{i}}-background-opacity", value: 1 }, + ].reduce(function (l, u) { + for (var h = 1; h <= bn.stripeBackgroundN; h++) { + var d = u.name.replace("{{i}}", h), + f = u.value + l[d] = f + } + return l + }, {}), + { + "line-style": "solid", + "line-color": "#999", + "line-fill": "solid", + "line-cap": "butt", + "line-opacity": 1, + "line-outline-width": 0, + "line-outline-color": "#000", + "line-gradient-stop-colors": "#999", + "line-gradient-stop-positions": "0%", + "control-point-step-size": 40, + "control-point-weights": 0.5, + "segment-weights": 0.5, + "segment-distances": 20, + "segment-radii": 15, + "radius-type": "arc-radius", + "taxi-turn": "50%", + "taxi-radius": 15, + "taxi-turn-min-distance": 10, + "taxi-direction": "auto", + "edge-distances": "intersection", + "curve-style": "haystack", + "haystack-radius": 0, + "arrow-scale": 1, + "loop-direction": "-45deg", + "loop-sweep": "-90deg", + "source-distance-from-node": 0, + "target-distance-from-node": 0, + "source-endpoint": "outside-to-node", + "target-endpoint": "outside-to-node", + "line-dash-pattern": [6, 3], + "line-dash-offset": 0, + }, + [ + { name: "arrow-shape", value: "none" }, + { name: "arrow-color", value: "#999" }, + { name: "arrow-fill", value: "filled" }, + { name: "arrow-width", value: 1 }, + ].reduce(function (l, u) { + return ( + bn.arrowPrefixes.forEach(function (h) { + var d = h + "-" + u.name, + f = u.value + l[d] = f + }), + l + ) + }, {}), + ), + r = {}, + n = 0; + n < this.properties.length; + n++ + ) { + var i = this.properties[n] + if (!i.pointsTo) { + var a = i.name, + s = e[a], + o = this.parse(a, s) + r[a] = o + } + } + return (t.defaultProperties = r), t.defaultProperties +} +bn.addDefaultStylesheet = function () { + this.selector(":parent") + .css({ shape: "rectangle", padding: 10, "background-color": "#eee", "border-color": "#ccc", "border-width": 1 }) + .selector("edge") + .css({ width: 3 }) + .selector(":loop") + .css({ "curve-style": "bezier" }) + .selector("edge:compound") + .css({ "curve-style": "bezier", "source-endpoint": "outside-to-line", "target-endpoint": "outside-to-line" }) + .selector(":selected") + .css({ + "background-color": "#0169D9", + "line-color": "#0169D9", + "source-arrow-color": "#0169D9", + "target-arrow-color": "#0169D9", + "mid-source-arrow-color": "#0169D9", + "mid-target-arrow-color": "#0169D9", + }) + .selector(":parent:selected") + .css({ "background-color": "#CCE1F9", "border-color": "#aec8e5" }) + .selector(":active") + .css({ "overlay-color": "black", "overlay-padding": 10, "overlay-opacity": 0.25 }), + (this.defaultLength = this.length) +} +var Vx = {} +Vx.parse = function (t, e, r, n) { + var i = this + if (an(e)) return i.parseImplWarn(t, e, r, n) + var a = n === "mapping" || n === !0 || n === !1 || n == null ? "dontcare" : n, + s = r ? "t" : "f", + o = "" + e, + l = Tq(t, o, s, a), + u = (i.propCache = i.propCache || []), + h + return ( + (h = u[l]) || (h = u[l] = i.parseImplWarn(t, e, r, n)), + (r || n === "mapping") && ((h = Ys(h)), h && (h.value = Ys(h.value))), + h + ) +} +Vx.parseImplWarn = function (t, e, r, n) { + var i = this.parseImpl(t, e, r, n) + return ( + !i && e != null && Sr("The style property `".concat(t, ": ").concat(e, "` is invalid")), + i && + (i.name === "width" || i.name === "height") && + e === "label" && + Sr("The style value of `label` is deprecated for `" + i.name + "`"), + i + ) +} +Vx.parseImpl = function (t, e, r, n) { + var i = this + t = cS(t) + var a = i.properties[t], + s = e, + o = i.types + if (!a || e === void 0) return null + a.alias && ((a = a.pointsTo), (t = a.name)) + var l = Bt(e) + l && (e = e.trim()) + var u = a.type + if (!u) return null + if (r && (e === "" || e === null)) return { name: t, value: e, bypass: !0, deleteBypass: !0 } + if (an(e)) return { name: t, value: e, strValue: "fn", mapped: o.fn, bypass: r } + var h, d + if (!(!l || n || e.length < 7 || e[1] !== "a")) { + if (e.length >= 7 && e[0] === "d" && (h = new RegExp(o.data.regex).exec(e))) { + if (r) return !1 + var f = o.data + return { name: t, value: h, strValue: "" + e, mapped: f, field: h[1], bypass: r } + } else if (e.length >= 10 && e[0] === "m" && (d = new RegExp(o.mapData.regex).exec(e))) { + if (r || u.multiple) return !1 + var p = o.mapData + if (!(u.color || u.number)) return !1 + var g = this.parse(t, d[4]) + if (!g || g.mapped) return !1 + var m = this.parse(t, d[5]) + if (!m || m.mapped) return !1 + if (g.pfValue === m.pfValue || g.strValue === m.strValue) + return ( + Sr( + "`" + + t + + ": " + + e + + "` is not a valid mapper because the output range is zero; converting to `" + + t + + ": " + + g.strValue + + "`", + ), + this.parse(t, g.strValue) + ) + if (u.color) { + var v = g.value, + y = m.value, + b = + v[0] === y[0] && + v[1] === y[1] && + v[2] === y[2] && + (v[3] === y[3] || ((v[3] == null || v[3] === 1) && (y[3] == null || y[3] === 1))) + if (b) return !1 + } + return { + name: t, + value: d, + strValue: "" + e, + mapped: p, + field: d[1], + fieldMin: parseFloat(d[2]), + fieldMax: parseFloat(d[3]), + valueMin: g.value, + valueMax: m.value, + bypass: r, + } + } + } + if (u.multiple && n !== "multiple") { + var w + if ((l ? (w = e.split(/\s+/)) : Fr(e) ? (w = e) : (w = [e]), u.evenMultiple && w.length % 2 !== 0)) return null + for (var T = [], E = [], S = [], k = "", L = !1, A = 0; A < w.length; A++) { + var R = i.parse(t, w[A], r, "multiple") + ;(L = L || Bt(R.value)), + T.push(R.value), + S.push(R.pfValue != null ? R.pfValue : R.value), + E.push(R.units), + (k += (A > 0 ? " " : "") + R.strValue) + } + return u.validate && !u.validate(T, E) + ? null + : u.singleEnum && L + ? T.length === 1 && Bt(T[0]) + ? { name: t, value: T[0], strValue: T[0], bypass: r } + : null + : { name: t, value: T, pfValue: S, strValue: k, bypass: r, units: E } + } + var C = function () { + for (var j = 0; j < u.enums.length; j++) { + var H = u.enums[j] + if (H === e) return { name: t, value: e, strValue: "" + e, bypass: r } + } + return null + } + if (u.number) { + var I, + P = "px" + if ((u.units && (I = u.units), u.implicitUnits && (P = u.implicitUnits), !u.unitless)) + if (l) { + var _ = "px|em" + (u.allowPercent ? "|\\%" : "") + I && (_ = I) + var N = e.match("^(" + Pn + ")(" + _ + ")?$") + N && ((e = N[1]), (I = N[2] || P)) + } else (!I || u.implicitUnits) && (I = P) + if (((e = parseFloat(e)), isNaN(e) && u.enums === void 0)) return null + if (isNaN(e) && u.enums !== void 0) return (e = s), C() + if ( + (u.integer && !aEe(e)) || + (u.min !== void 0 && (e < u.min || (u.strictMin && e === u.min))) || + (u.max !== void 0 && (e > u.max || (u.strictMax && e === u.max))) + ) + return null + var M = { name: t, value: e, strValue: "" + e + (I || ""), units: I, bypass: r } + return ( + u.unitless || (I !== "px" && I !== "em") + ? (M.pfValue = e) + : (M.pfValue = I === "px" || !I ? e : this.getEmSizeInPixels() * e), + (I === "ms" || I === "s") && (M.pfValue = I === "ms" ? e : 1e3 * e), + (I === "deg" || I === "rad") && (M.pfValue = I === "rad" ? e : dke(e)), + I === "%" && (M.pfValue = e / 100), + M + ) + } else if (u.propList) { + var O = [], + D = "" + e + if (D !== "none") { + for (var B = D.split(/\s*,\s*|\s+/), z = 0; z < B.length; z++) { + var F = B[z].trim() + i.properties[F] ? O.push(F) : Sr("`" + F + "` is not a valid property name") + } + if (O.length === 0) return null + } + return { name: t, value: O, strValue: O.length === 0 ? "none" : O.join(" "), bypass: r } + } else if (u.color) { + var G = gq(e) + return G + ? { name: t, value: G, pfValue: G, strValue: "rgb(" + G[0] + "," + G[1] + "," + G[2] + ")", bypass: r } + : null + } else if (u.regex || u.regexes) { + if (u.enums) { + var q = C() + if (q) return q + } + for (var Y = u.regexes ? u.regexes : [u.regex], ee = 0; ee < Y.length; ee++) { + var Q = new RegExp(Y[ee]), + oe = Q.exec(e) + if (oe) return { name: t, value: u.singleRegexMatchValue ? oe[1] : oe, strValue: "" + e, bypass: r } + } + return null + } else return u.string ? { name: t, value: "" + e, strValue: "" + e, bypass: r } : u.enums ? C() : null +} +var Kn = function (e) { + if (!(this instanceof Kn)) return new Kn(e) + if (!lS(e)) { + nn("A style must have a core reference") + return + } + ;(this._private = { cy: e, coreStyle: {} }), (this.length = 0), this.resetToDefault() + }, + Ai = Kn.prototype +Ai.instanceString = function () { + return "style" +} +Ai.clear = function () { + for (var t = this._private, e = t.cy, r = e.elements(), n = 0; n < this.length; n++) this[n] = void 0 + return ( + (this.length = 0), + (t.contextStyles = {}), + (t.propDiffs = {}), + this.cleanElements(r, !0), + r.forEach(function (i) { + var a = i[0]._private + ;(a.styleDirty = !0), (a.appliedInitStyle = !1) + }), + this + ) +} +Ai.resetToDefault = function () { + return this.clear(), this.addDefaultStylesheet(), this +} +Ai.core = function (t) { + return this._private.coreStyle[t] || this.getDefaultProperty(t) +} +Ai.selector = function (t) { + var e = t === "core" ? null : new Ul(t), + r = this.length++ + return (this[r] = { selector: e, properties: [], mappedProperties: [], index: r }), this +} +Ai.css = function () { + var t = this, + e = arguments + if (e.length === 1) + for (var r = e[0], n = 0; n < t.properties.length; n++) { + var i = t.properties[n], + a = r[i.name] + a === void 0 && (a = r[Ax(i.name)]), a !== void 0 && this.cssRule(i.name, a) + } + else e.length === 2 && this.cssRule(e[0], e[1]) + return this +} +Ai.style = Ai.css +Ai.cssRule = function (t, e) { + var r = this.parse(t, e) + if (r) { + var n = this.length - 1 + this[n].properties.push(r), + (this[n].properties[r.name] = r), + r.name.match(/pie-(\d+)-background-size/) && r.value && (this._private.hasPie = !0), + r.name.match(/stripe-(\d+)-background-size/) && r.value && (this._private.hasStripe = !0), + r.mapped && this[n].mappedProperties.push(r) + var i = !this[n].selector + i && (this._private.coreStyle[r.name] = r) + } + return this +} +Ai.append = function (t) { + return dq(t) ? t.appendToStyle(this) : Fr(t) ? this.appendFromJson(t) : Bt(t) && this.appendFromString(t), this +} +Kn.fromJson = function (t, e) { + var r = new Kn(t) + return r.fromJson(e), r +} +Kn.fromString = function (t, e) { + return new Kn(t).fromString(e) +} +;[ti, Xg, kS, eo, zx, SS, bn, Vx].forEach(function (t) { + Gt(Ai, t) +}) +Kn.types = Ai.types +Kn.properties = Ai.properties +Kn.propertyGroups = Ai.propertyGroups +Kn.propertyGroupNames = Ai.propertyGroupNames +Kn.propertyGroupKeys = Ai.propertyGroupKeys +var mCe = { + style: function (e) { + if (e) { + var r = this.setStyle(e) + r.update() + } + return this._private.style + }, + setStyle: function (e) { + var r = this._private + return ( + dq(e) + ? (r.style = e.generateStyle(this)) + : Fr(e) + ? (r.style = Kn.fromJson(this, e)) + : Bt(e) + ? (r.style = Kn.fromString(this, e)) + : (r.style = Kn(this)), + r.style + ) + }, + updateStyle: function () { + this.mutableElements().updateStyle() + }, + }, + vCe = "single", + uu = { + autolock: function (e) { + if (e !== void 0) this._private.autolock = !!e + else return this._private.autolock + return this + }, + autoungrabify: function (e) { + if (e !== void 0) this._private.autoungrabify = !!e + else return this._private.autoungrabify + return this + }, + autounselectify: function (e) { + if (e !== void 0) this._private.autounselectify = !!e + else return this._private.autounselectify + return this + }, + selectionType: function (e) { + var r = this._private + if ((r.selectionType == null && (r.selectionType = vCe), e !== void 0)) + (e === "additive" || e === "single") && (r.selectionType = e) + else return r.selectionType + return this + }, + panningEnabled: function (e) { + if (e !== void 0) this._private.panningEnabled = !!e + else return this._private.panningEnabled + return this + }, + userPanningEnabled: function (e) { + if (e !== void 0) this._private.userPanningEnabled = !!e + else return this._private.userPanningEnabled + return this + }, + zoomingEnabled: function (e) { + if (e !== void 0) this._private.zoomingEnabled = !!e + else return this._private.zoomingEnabled + return this + }, + userZoomingEnabled: function (e) { + if (e !== void 0) this._private.userZoomingEnabled = !!e + else return this._private.userZoomingEnabled + return this + }, + boxSelectionEnabled: function (e) { + if (e !== void 0) this._private.boxSelectionEnabled = !!e + else return this._private.boxSelectionEnabled + return this + }, + pan: function () { + var e = arguments, + r = this._private.pan, + n, + i, + a, + s, + o + switch (e.length) { + case 0: + return r + case 1: + if (Bt(e[0])) return (n = e[0]), r[n] + if (mr(e[0])) { + if (!this._private.panningEnabled) return this + ;(a = e[0]), + (s = a.x), + (o = a.y), + gt(s) && (r.x = s), + gt(o) && (r.y = o), + this.emit("pan viewport") + } + break + case 2: + if (!this._private.panningEnabled) return this + ;(n = e[0]), (i = e[1]), (n === "x" || n === "y") && gt(i) && (r[n] = i), this.emit("pan viewport") + break + } + return this.notify("viewport"), this + }, + panBy: function (e, r) { + var n = arguments, + i = this._private.pan, + a, + s, + o, + l, + u + if (!this._private.panningEnabled) return this + switch (n.length) { + case 1: + mr(e) && + ((o = n[0]), + (l = o.x), + (u = o.y), + gt(l) && (i.x += l), + gt(u) && (i.y += u), + this.emit("pan viewport")) + break + case 2: + ;(a = e), (s = r), (a === "x" || a === "y") && gt(s) && (i[a] += s), this.emit("pan viewport") + break + } + return this.notify("viewport"), this + }, + gc: function () { + this.notify("gc") + }, + fit: function (e, r) { + var n = this.getFitViewport(e, r) + if (n) { + var i = this._private + ;(i.zoom = n.zoom), (i.pan = n.pan), this.emit("pan zoom viewport"), this.notify("viewport") + } + return this + }, + getFitViewport: function (e, r) { + if ( + (gt(e) && r === void 0 && ((r = e), (e = void 0)), + !(!this._private.panningEnabled || !this._private.zoomingEnabled)) + ) { + var n + if (Bt(e)) { + var i = e + e = this.$(i) + } else if (lEe(e)) { + var a = e + ;(n = { x1: a.x1, y1: a.y1, x2: a.x2, y2: a.y2 }), (n.w = n.x2 - n.x1), (n.h = n.y2 - n.y1) + } else Aa(e) || (e = this.mutableElements()) + if (!(Aa(e) && e.empty())) { + n = n || e.boundingBox() + var s = this.width(), + o = this.height(), + l + if ( + ((r = gt(r) ? r : 0), + !isNaN(s) && !isNaN(o) && s > 0 && o > 0 && !isNaN(n.w) && !isNaN(n.h) && n.w > 0 && n.h > 0) + ) { + ;(l = Math.min((s - 2 * r) / n.w, (o - 2 * r) / n.h)), + (l = l > this._private.maxZoom ? this._private.maxZoom : l), + (l = l < this._private.minZoom ? this._private.minZoom : l) + var u = { x: (s - l * (n.x1 + n.x2)) / 2, y: (o - l * (n.y1 + n.y2)) / 2 } + return { zoom: l, pan: u } + } + } + } + }, + zoomRange: function (e, r) { + var n = this._private + if (r == null) { + var i = e + ;(e = i.min), (r = i.max) + } + return ( + gt(e) && gt(r) && e <= r + ? ((n.minZoom = e), (n.maxZoom = r)) + : gt(e) && r === void 0 && e <= n.maxZoom + ? (n.minZoom = e) + : gt(r) && e === void 0 && r >= n.minZoom && (n.maxZoom = r), + this + ) + }, + minZoom: function (e) { + return e === void 0 ? this._private.minZoom : this.zoomRange({ min: e }) + }, + maxZoom: function (e) { + return e === void 0 ? this._private.maxZoom : this.zoomRange({ max: e }) + }, + getZoomedViewport: function (e) { + var r = this._private, + n = r.pan, + i = r.zoom, + a, + s, + o = !1 + if ( + (r.zoomingEnabled || (o = !0), + gt(e) + ? (s = e) + : mr(e) && + ((s = e.level), + e.position != null + ? (a = Rx(e.position, i, n)) + : e.renderedPosition != null && (a = e.renderedPosition), + a != null && !r.panningEnabled && (o = !0)), + (s = s > r.maxZoom ? r.maxZoom : s), + (s = s < r.minZoom ? r.minZoom : s), + o || !gt(s) || s === i || (a != null && (!gt(a.x) || !gt(a.y)))) + ) + return null + if (a != null) { + var l = n, + u = i, + h = s, + d = { x: (-h / u) * (a.x - l.x) + a.x, y: (-h / u) * (a.y - l.y) + a.y } + return { zoomed: !0, panned: !0, zoom: h, pan: d } + } else return { zoomed: !0, panned: !1, zoom: s, pan: n } + }, + zoom: function (e) { + if (e === void 0) return this._private.zoom + var r = this.getZoomedViewport(e), + n = this._private + return r == null || !r.zoomed + ? this + : ((n.zoom = r.zoom), + r.panned && ((n.pan.x = r.pan.x), (n.pan.y = r.pan.y)), + this.emit("zoom" + (r.panned ? " pan" : "") + " viewport"), + this.notify("viewport"), + this) + }, + viewport: function (e) { + var r = this._private, + n = !0, + i = !0, + a = [], + s = !1, + o = !1 + if (!e) return this + if ((gt(e.zoom) || (n = !1), mr(e.pan) || (i = !1), !n && !i)) return this + if (n) { + var l = e.zoom + l < r.minZoom || l > r.maxZoom || !r.zoomingEnabled ? (s = !0) : ((r.zoom = l), a.push("zoom")) + } + if (i && (!s || !e.cancelOnFailedZoom) && r.panningEnabled) { + var u = e.pan + gt(u.x) && ((r.pan.x = u.x), (o = !1)), gt(u.y) && ((r.pan.y = u.y), (o = !1)), o || a.push("pan") + } + return a.length > 0 && (a.push("viewport"), this.emit(a.join(" ")), this.notify("viewport")), this + }, + center: function (e) { + var r = this.getCenterPan(e) + return r && ((this._private.pan = r), this.emit("pan viewport"), this.notify("viewport")), this + }, + getCenterPan: function (e, r) { + if (this._private.panningEnabled) { + if (Bt(e)) { + var n = e + e = this.mutableElements().filter(n) + } else Aa(e) || (e = this.mutableElements()) + if (e.length !== 0) { + var i = e.boundingBox(), + a = this.width(), + s = this.height() + r = r === void 0 ? this._private.zoom : r + var o = { x: (a - r * (i.x1 + i.x2)) / 2, y: (s - r * (i.y1 + i.y2)) / 2 } + return o + } + } + }, + reset: function () { + return !this._private.panningEnabled || !this._private.zoomingEnabled + ? this + : (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this) + }, + invalidateSize: function () { + this._private.sizeCache = null + }, + size: function () { + var e = this._private, + r = e.container, + n = this + return (e.sizeCache = + e.sizeCache || + (r + ? (function () { + var i = n.window().getComputedStyle(r), + a = function (o) { + return parseFloat(i.getPropertyValue(o)) + } + return { + width: r.clientWidth - a("padding-left") - a("padding-right"), + height: r.clientHeight - a("padding-top") - a("padding-bottom"), + } + })() + : { width: 1, height: 1 })) + }, + width: function () { + return this.size().width + }, + height: function () { + return this.size().height + }, + extent: function () { + var e = this._private.pan, + r = this._private.zoom, + n = this.renderedExtent(), + i = { x1: (n.x1 - e.x) / r, x2: (n.x2 - e.x) / r, y1: (n.y1 - e.y) / r, y2: (n.y2 - e.y) / r } + return (i.w = i.x2 - i.x1), (i.h = i.y2 - i.y1), i + }, + renderedExtent: function () { + var e = this.width(), + r = this.height() + return { x1: 0, y1: 0, x2: e, y2: r, w: e, h: r } + }, + multiClickDebounceTime: function (e) { + if (e) this._private.multiClickDebounceTime = e + else return this._private.multiClickDebounceTime + return this + }, + } +uu.centre = uu.center +uu.autolockNodes = uu.autolock +uu.autoungrabifyNodes = uu.autoungrabify +var eg = { + data: Tr.data({ + field: "data", + bindingEvent: "data", + allowBinding: !0, + allowSetting: !0, + settingEvent: "data", + settingTriggersEvent: !0, + triggerFnName: "trigger", + allowGetting: !0, + updateStyle: !0, + }), + removeData: Tr.removeData({ + field: "data", + event: "data", + triggerFnName: "trigger", + triggerEvent: !0, + updateStyle: !0, + }), + scratch: Tr.data({ + field: "scratch", + bindingEvent: "scratch", + allowBinding: !0, + allowSetting: !0, + settingEvent: "scratch", + settingTriggersEvent: !0, + triggerFnName: "trigger", + allowGetting: !0, + updateStyle: !0, + }), + removeScratch: Tr.removeData({ + field: "scratch", + event: "scratch", + triggerFnName: "trigger", + triggerEvent: !0, + updateStyle: !0, + }), +} +eg.attr = eg.data +eg.removeAttr = eg.removeData +var tg = function (e) { + var r = this + e = Gt({}, e) + var n = e.container + n && !Xy(n) && Xy(n[0]) && (n = n[0]) + var i = n ? n._cyreg : null + ;(i = i || {}), i && i.cy && (i.cy.destroy(), (i = {})) + var a = (i.readies = i.readies || []) + n && (n._cyreg = i), (i.cy = r) + var s = Ln !== void 0 && n !== void 0 && !e.headless, + o = e + ;(o.layout = Gt({ name: s ? "grid" : "null" }, o.layout)), + (o.renderer = Gt({ name: s ? "canvas" : "null" }, o.renderer)) + var l = function (g, m, v) { + return m !== void 0 ? m : v !== void 0 ? v : g + }, + u = (this._private = { + container: n, + ready: !1, + options: o, + elements: new di(this), + listeners: [], + aniEles: new di(this), + data: o.data || {}, + scratch: {}, + layout: null, + renderer: null, + destroyed: !1, + notificationsEnabled: !0, + minZoom: 1e-50, + maxZoom: 1e50, + zoomingEnabled: l(!0, o.zoomingEnabled), + userZoomingEnabled: l(!0, o.userZoomingEnabled), + panningEnabled: l(!0, o.panningEnabled), + userPanningEnabled: l(!0, o.userPanningEnabled), + boxSelectionEnabled: l(!0, o.boxSelectionEnabled), + autolock: l(!1, o.autolock, o.autolockNodes), + autoungrabify: l(!1, o.autoungrabify, o.autoungrabifyNodes), + autounselectify: l(!1, o.autounselectify), + styleEnabled: o.styleEnabled === void 0 ? s : o.styleEnabled, + zoom: gt(o.zoom) ? o.zoom : 1, + pan: { x: mr(o.pan) && gt(o.pan.x) ? o.pan.x : 0, y: mr(o.pan) && gt(o.pan.y) ? o.pan.y : 0 }, + animation: { current: [], queue: [] }, + hasCompoundNodes: !1, + multiClickDebounceTime: l(250, o.multiClickDebounceTime), + }) + this.createEmitter(), this.selectionType(o.selectionType), this.zoomRange({ min: o.minZoom, max: o.maxZoom }) + var h = function (g, m) { + var v = g.some(cEe) + if (v) return xf.all(g).then(m) + m(g) + } + u.styleEnabled && r.setStyle([]) + var d = Gt({}, o, o.renderer) + r.initRenderer(d) + var f = function (g, m, v) { + r.notifications(!1) + var y = r.mutableElements() + y.length > 0 && y.remove(), + g != null && (mr(g) || Fr(g)) && r.add(g), + r + .one("layoutready", function (w) { + r.notifications(!0), r.emit(w), r.one("load", m), r.emitAndNotify("load") + }) + .one("layoutstop", function () { + r.one("done", v), r.emit("done") + }) + var b = Gt({}, r._private.options.layout) + ;(b.eles = r.elements()), r.layout(b).run() + } + h([o.style, o.elements], function (p) { + var g = p[0], + m = p[1] + u.styleEnabled && r.style().append(g), + f( + m, + function () { + r.startAnimationLoop(), (u.ready = !0), an(o.ready) && r.on("ready", o.ready) + for (var v = 0; v < a.length; v++) { + var y = a[v] + r.on("ready", y) + } + i && (i.readies = []), r.emit("ready") + }, + o.done, + ) + }) + }, + t2 = tg.prototype +Gt(t2, { + instanceString: function () { + return "core" + }, + isReady: function () { + return this._private.ready + }, + destroyed: function () { + return this._private.destroyed + }, + ready: function (e) { + return this.isReady() ? this.emitter().emit("ready", [], e) : this.on("ready", e), this + }, + destroy: function () { + var e = this + if (!e.destroyed()) + return e.stopAnimationLoop(), e.destroyRenderer(), this.emit("destroy"), (e._private.destroyed = !0), e + }, + hasElementWithId: function (e) { + return this._private.elements.hasElementWithId(e) + }, + getElementById: function (e) { + return this._private.elements.getElementById(e) + }, + hasCompoundNodes: function () { + return this._private.hasCompoundNodes + }, + headless: function () { + return this._private.renderer.isHeadless() + }, + styleEnabled: function () { + return this._private.styleEnabled + }, + addToPool: function (e) { + return this._private.elements.merge(e), this + }, + removeFromPool: function (e) { + return this._private.elements.unmerge(e), this + }, + container: function () { + return this._private.container || null + }, + window: function () { + var e = this._private.container + if (e == null) return Ln + var r = this._private.container.ownerDocument + return r === void 0 || r == null ? Ln : r.defaultView || Ln + }, + mount: function (e) { + if (e != null) { + var r = this, + n = r._private, + i = n.options + return ( + !Xy(e) && Xy(e[0]) && (e = e[0]), + r.stopAnimationLoop(), + r.destroyRenderer(), + (n.container = e), + (n.styleEnabled = !0), + r.invalidateSize(), + r.initRenderer( + Gt({}, i, i.renderer, { name: i.renderer.name === "null" ? "canvas" : i.renderer.name }), + ), + r.startAnimationLoop(), + r.style(i.style), + r.emit("mount"), + r + ) + } + }, + unmount: function () { + var e = this + return e.stopAnimationLoop(), e.destroyRenderer(), e.initRenderer({ name: "null" }), e.emit("unmount"), e + }, + options: function () { + return Ys(this._private.options) + }, + json: function (e) { + var r = this, + n = r._private, + i = r.mutableElements(), + a = function (T) { + return r.getElementById(T.id()) + } + if (mr(e)) { + if ((r.startBatch(), e.elements)) { + var s = {}, + o = function (T, E) { + for (var S = [], k = [], L = 0; L < T.length; L++) { + var A = T[L] + if (!A.data.id) { + Sr("cy.json() cannot handle elements without an ID attribute") + continue + } + var R = "" + A.data.id, + C = r.getElementById(R) + ;(s[R] = !0), C.length !== 0 ? k.push({ ele: C, json: A }) : (E && (A.group = E), S.push(A)) + } + r.add(S) + for (var I = 0; I < k.length; I++) { + var P = k[I], + _ = P.ele, + N = P.json + _.json(N) + } + } + if (Fr(e.elements)) o(e.elements) + else + for (var l = ["nodes", "edges"], u = 0; u < l.length; u++) { + var h = l[u], + d = e.elements[h] + Fr(d) && o(d, h) + } + var f = r.collection() + i + .filter(function (w) { + return !s[w.id()] + }) + .forEach(function (w) { + w.isParent() ? f.merge(w) : w.remove() + }), + f.forEach(function (w) { + return w.children().move({ parent: null }) + }), + f.forEach(function (w) { + return a(w).remove() + }) + } + e.style && r.style(e.style), + e.zoom != null && e.zoom !== n.zoom && r.zoom(e.zoom), + e.pan && (e.pan.x !== n.pan.x || e.pan.y !== n.pan.y) && r.pan(e.pan), + e.data && r.data(e.data) + for ( + var p = [ + "minZoom", + "maxZoom", + "zoomingEnabled", + "userZoomingEnabled", + "panningEnabled", + "userPanningEnabled", + "boxSelectionEnabled", + "autolock", + "autoungrabify", + "autounselectify", + "multiClickDebounceTime", + ], + g = 0; + g < p.length; + g++ + ) { + var m = p[g] + e[m] != null && r[m](e[m]) + } + return r.endBatch(), this + } else { + var v = !!e, + y = {} + v + ? (y.elements = this.elements().map(function (w) { + return w.json() + })) + : ((y.elements = {}), + i.forEach(function (w) { + var T = w.group() + y.elements[T] || (y.elements[T] = []), y.elements[T].push(w.json()) + })), + this._private.styleEnabled && (y.style = r.style().json()), + (y.data = Ys(r.data())) + var b = n.options + return ( + (y.zoomingEnabled = n.zoomingEnabled), + (y.userZoomingEnabled = n.userZoomingEnabled), + (y.zoom = n.zoom), + (y.minZoom = n.minZoom), + (y.maxZoom = n.maxZoom), + (y.panningEnabled = n.panningEnabled), + (y.userPanningEnabled = n.userPanningEnabled), + (y.pan = Ys(n.pan)), + (y.boxSelectionEnabled = n.boxSelectionEnabled), + (y.renderer = Ys(b.renderer)), + (y.hideEdgesOnViewport = b.hideEdgesOnViewport), + (y.textureOnViewport = b.textureOnViewport), + (y.wheelSensitivity = b.wheelSensitivity), + (y.motionBlur = b.motionBlur), + (y.multiClickDebounceTime = b.multiClickDebounceTime), + y + ) + } + }, +}) +t2.$id = t2.getElementById +;[sCe, hCe, uW, B6, nv, fCe, F6, iv, mCe, uu, eg].forEach(function (t) { + Gt(t2, t) +}) +var yCe = { + fit: !0, + directed: !1, + padding: 30, + circle: !1, + grid: !1, + spacingFactor: 1.75, + boundingBox: void 0, + avoidOverlap: !0, + nodeDimensionsIncludeLabels: !1, + roots: void 0, + depthSort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: function (e, r) { + return !0 + }, + ready: void 0, + stop: void 0, + transform: function (e, r) { + return r + }, + }, + xCe = { maximal: !1, acyclic: !1 }, + qu = function (e) { + return e.scratch("breadthfirst") + }, + PR = function (e, r) { + return e.scratch("breadthfirst", r) + } +function hW(t) { + this.options = Gt({}, yCe, xCe, t) +} +hW.prototype.run = function () { + var t = this.options, + e = t.cy, + r = t.eles, + n = r.nodes().filter(function (re) { + return re.isChildless() + }), + i = r, + a = t.directed, + s = t.acyclic || t.maximal || t.maximalAdjustments > 0, + o = !!t.boundingBox, + l = e.extent(), + u = ua(o ? t.boundingBox : { x1: l.x1, y1: l.y1, w: l.w, h: l.h }), + h + if (Aa(t.roots)) h = t.roots + else if (Fr(t.roots)) { + for (var d = [], f = 0; f < t.roots.length; f++) { + var p = t.roots[f], + g = e.getElementById(p) + d.push(g) + } + h = e.collection(d) + } else if (Bt(t.roots)) h = e.$(t.roots) + else if (a) h = n.roots() + else { + var m = r.components() + h = e.collection() + for ( + var v = function () { + var Ne = m[y], + me = Ne.maxDegree(!1), + Ve = Ne.filter(function (Ue) { + return Ue.degree(!1) === me + }) + h = h.add(Ve) + }, + y = 0; + y < m.length; + y++ + ) + v() + } + var b = [], + w = {}, + T = function (Ne, me) { + b[me] == null && (b[me] = []) + var Ve = b[me].length + b[me].push(Ne), PR(Ne, { index: Ve, depth: me }) + }, + E = function (Ne, me) { + var Ve = qu(Ne), + Ue = Ve.depth, + Fe = Ve.index + ;(b[Ue][Fe] = null), Ne.isChildless() && T(Ne, me) + } + i.bfs({ + roots: h, + directed: t.directed, + visit: function (Ne, me, Ve, Ue, Fe) { + var _e = Ne[0], + Oe = _e.id() + _e.isChildless() && T(_e, Fe), (w[Oe] = !0) + }, + }) + for (var S = [], k = 0; k < n.length; k++) { + var L = n[k] + w[L.id()] || S.push(L) + } + var A = function (Ne) { + for (var me = b[Ne], Ve = 0; Ve < me.length; Ve++) { + var Ue = me[Ve] + if (Ue == null) { + me.splice(Ve, 1), Ve-- + continue + } + PR(Ue, { depth: Ne, index: Ve }) + } + }, + R = function (Ne, me) { + for ( + var Ve = qu(Ne), + Ue = Ne.incomers().filter(function (ge) { + return ge.isNode() && r.has(ge) + }), + Fe = -1, + _e = Ne.id(), + Oe = 0; + Oe < Ue.length; + Oe++ + ) { + var Ce = Ue[Oe], + Le = qu(Ce) + Fe = Math.max(Fe, Le.depth) + } + if (Ve.depth <= Fe) { + if (!t.acyclic && me[_e]) return null + var ze = Fe + 1 + return E(Ne, ze), (me[_e] = ze), !0 + } + return !1 + } + if (a && s) { + var C = [], + I = {}, + P = function (Ne) { + return C.push(Ne) + }, + _ = function () { + return C.shift() + } + for ( + n.forEach(function (re) { + return C.push(re) + }); + C.length > 0; + + ) { + var N = _(), + M = R(N, I) + if (M) + N.outgoers() + .filter(function (re) { + return re.isNode() && r.has(re) + }) + .forEach(P) + else if (M === null) { + Sr( + "Detected double maximal shift for node `" + + N.id() + + "`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.", + ) + break + } + } + } + var O = 0 + if (t.avoidOverlap) + for (var D = 0; D < n.length; D++) { + var B = n[D], + z = B.layoutDimensions(t), + F = z.w, + G = z.h + O = Math.max(O, F, G) + } + var q = {}, + Y = function (Ne) { + if (q[Ne.id()]) return q[Ne.id()] + for (var me = qu(Ne).depth, Ve = Ne.neighborhood(), Ue = 0, Fe = 0, _e = 0; _e < Ve.length; _e++) { + var Oe = Ve[_e] + if (!(Oe.isEdge() || Oe.isParent() || !n.has(Oe))) { + var Ce = qu(Oe) + if (Ce != null) { + var Le = Ce.index, + ze = Ce.depth + if (!(Le == null || ze == null)) { + var ge = b[ze].length + ze < me && ((Ue += Le / ge), Fe++) + } + } + } + } + return (Fe = Math.max(1, Fe)), (Ue = Ue / Fe), Fe === 0 && (Ue = 0), (q[Ne.id()] = Ue), Ue + }, + ee = function (Ne, me) { + var Ve = Y(Ne), + Ue = Y(me), + Fe = Ve - Ue + return Fe === 0 ? pq(Ne.id(), me.id()) : Fe + } + t.depthSort !== void 0 && (ee = t.depthSort) + for (var Q = b.length, oe = 0; oe < Q; oe++) b[oe].sort(ee), A(oe) + for (var pe = [], j = 0; j < S.length; j++) pe.push(S[j]) + var H = function () { + for (var Ne = 0; Ne < Q; Ne++) A(Ne) + } + pe.length && (b.unshift(pe), (Q = b.length), H()) + for (var X = 0, W = 0; W < Q; W++) X = Math.max(b[W].length, X) + var K = { x: u.x1 + u.w / 2, y: u.y1 + u.h / 2 }, + ne = n.reduce( + function (re, Ne) { + return (function (me) { + return { w: re.w === -1 ? me.w : (re.w + me.w) / 2, h: re.h === -1 ? me.h : (re.h + me.h) / 2 } + })(Ne.boundingBox({ includeLabels: t.nodeDimensionsIncludeLabels })) + }, + { w: -1, h: -1 }, + ), + Z = Math.max( + Q === 1 ? 0 : o ? (u.h - t.padding * 2 - ne.h) / (Q - 1) : (u.h - t.padding * 2 - ne.h) / (Q + 1), + O, + ), + be = b.reduce(function (re, Ne) { + return Math.max(re, Ne.length) + }, 0), + ce = function (Ne) { + var me = qu(Ne), + Ve = me.depth, + Ue = me.index + if (t.circle) { + var Fe = Math.min(u.w / 2 / Q, u.h / 2 / Q) + Fe = Math.max(Fe, O) + var _e = Fe * Ve + Fe - (Q > 0 && b[0].length <= 3 ? Fe / 2 : 0), + Oe = ((2 * Math.PI) / b[Ve].length) * Ue + return ( + Ve === 0 && b[0].length === 1 && (_e = 1), + { x: K.x + _e * Math.cos(Oe), y: K.y + _e * Math.sin(Oe) } + ) + } else { + var Ce = b[Ve].length, + Le = Math.max( + Ce === 1 + ? 0 + : o + ? (u.w - t.padding * 2 - ne.w) / ((t.grid ? be : Ce) - 1) + : (u.w - t.padding * 2 - ne.w) / ((t.grid ? be : Ce) + 1), + O, + ), + ze = { x: K.x + (Ue + 1 - (Ce + 1) / 2) * Le, y: K.y + (Ve + 1 - (Q + 1) / 2) * Z } + return ze + } + } + return r.nodes().layoutPositions(this, t, ce), this +} +var bCe = { + fit: !0, + padding: 30, + boundingBox: void 0, + avoidOverlap: !0, + nodeDimensionsIncludeLabels: !1, + spacingFactor: void 0, + radius: void 0, + startAngle: (3 / 2) * Math.PI, + sweep: void 0, + clockwise: !0, + sort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: function (e, r) { + return !0 + }, + ready: void 0, + stop: void 0, + transform: function (e, r) { + return r + }, +} +function dW(t) { + this.options = Gt({}, bCe, t) +} +dW.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise, + a = n.nodes().not(":parent") + e.sort && (a = a.sort(e.sort)) + for ( + var s = ua(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }), + o = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 }, + l = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / a.length : e.sweep, + u = l / Math.max(1, a.length - 1), + h, + d = 0, + f = 0; + f < a.length; + f++ + ) { + var p = a[f], + g = p.layoutDimensions(e), + m = g.w, + v = g.h + d = Math.max(d, m, v) + } + if ( + (gt(e.radius) ? (h = e.radius) : a.length <= 1 ? (h = 0) : (h = Math.min(s.h, s.w) / 2 - d), + a.length > 1 && e.avoidOverlap) + ) { + d *= 1.75 + var y = Math.cos(u) - Math.cos(0), + b = Math.sin(u) - Math.sin(0), + w = Math.sqrt((d * d) / (y * y + b * b)) + h = Math.max(w, h) + } + var T = function (S, k) { + var L = e.startAngle + k * u * (i ? 1 : -1), + A = h * Math.cos(L), + R = h * Math.sin(L), + C = { x: o.x + A, y: o.y + R } + return C + } + return n.nodes().layoutPositions(this, e, T), this +} +var wCe = { + fit: !0, + padding: 30, + startAngle: (3 / 2) * Math.PI, + sweep: void 0, + clockwise: !0, + equidistant: !1, + minNodeSpacing: 10, + boundingBox: void 0, + avoidOverlap: !0, + nodeDimensionsIncludeLabels: !1, + height: void 0, + width: void 0, + spacingFactor: void 0, + concentric: function (e) { + return e.degree() + }, + levelWidth: function (e) { + return e.maxDegree() / 4 + }, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: function (e, r) { + return !0 + }, + ready: void 0, + stop: void 0, + transform: function (e, r) { + return r + }, +} +function fW(t) { + this.options = Gt({}, wCe, t) +} +fW.prototype.run = function () { + for ( + var t = this.options, + e = t, + r = e.counterclockwise !== void 0 ? !e.counterclockwise : e.clockwise, + n = t.cy, + i = e.eles, + a = i.nodes().not(":parent"), + s = ua(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }), + o = { x: s.x1 + s.w / 2, y: s.y1 + s.h / 2 }, + l = [], + u = 0, + h = 0; + h < a.length; + h++ + ) { + var d = a[h], + f = void 0 + ;(f = e.concentric(d)), l.push({ value: f, node: d }), (d._private.scratch.concentric = f) + } + a.updateStyle() + for (var p = 0; p < a.length; p++) { + var g = a[p], + m = g.layoutDimensions(e) + u = Math.max(u, m.w, m.h) + } + l.sort(function (ne, Z) { + return Z.value - ne.value + }) + for (var v = e.levelWidth(a), y = [[]], b = y[0], w = 0; w < l.length; w++) { + var T = l[w] + if (b.length > 0) { + var E = Math.abs(b[0].value - T.value) + E >= v && ((b = []), y.push(b)) + } + b.push(T) + } + var S = u + e.minNodeSpacing + if (!e.avoidOverlap) { + var k = y.length > 0 && y[0].length > 1, + L = Math.min(s.w, s.h) / 2 - S, + A = L / (y.length + k ? 1 : 0) + S = Math.min(S, A) + } + for (var R = 0, C = 0; C < y.length; C++) { + var I = y[C], + P = e.sweep === void 0 ? 2 * Math.PI - (2 * Math.PI) / I.length : e.sweep, + _ = (I.dTheta = P / Math.max(1, I.length - 1)) + if (I.length > 1 && e.avoidOverlap) { + var N = Math.cos(_) - Math.cos(0), + M = Math.sin(_) - Math.sin(0), + O = Math.sqrt((S * S) / (N * N + M * M)) + R = Math.max(O, R) + } + ;(I.r = R), (R += S) + } + if (e.equidistant) { + for (var D = 0, B = 0, z = 0; z < y.length; z++) { + var F = y[z], + G = F.r - B + D = Math.max(D, G) + } + B = 0 + for (var q = 0; q < y.length; q++) { + var Y = y[q] + q === 0 && (B = Y.r), (Y.r = B), (B += D) + } + } + for (var ee = {}, Q = 0; Q < y.length; Q++) + for (var oe = y[Q], pe = oe.dTheta, j = oe.r, H = 0; H < oe.length; H++) { + var X = oe[H], + W = e.startAngle + (r ? 1 : -1) * pe * H, + K = { x: o.x + j * Math.cos(W), y: o.y + j * Math.sin(W) } + ee[X.node.id()] = K + } + return ( + i.nodes().layoutPositions(this, e, function (ne) { + var Z = ne.id() + return ee[Z] + }), + this + ) +} +var X5, + TCe = { + ready: function () {}, + stop: function () {}, + animate: !0, + animationEasing: void 0, + animationDuration: void 0, + animateFilter: function (e, r) { + return !0 + }, + animationThreshold: 250, + refresh: 20, + fit: !0, + padding: 30, + boundingBox: void 0, + nodeDimensionsIncludeLabels: !1, + randomize: !1, + componentSpacing: 40, + nodeRepulsion: function (e) { + return 2048 + }, + nodeOverlap: 4, + idealEdgeLength: function (e) { + return 32 + }, + edgeElasticity: function (e) { + return 32 + }, + nestingFactor: 1.2, + gravity: 1, + numIter: 1e3, + initialTemp: 1e3, + coolingFactor: 0.99, + minTemp: 1, + } +function Gx(t) { + ;(this.options = Gt({}, TCe, t)), (this.options.layout = this) + var e = this.options.eles.nodes(), + r = this.options.eles.edges(), + n = r.filter(function (i) { + var a = i.source().data("id"), + s = i.target().data("id"), + o = e.some(function (u) { + return u.data("id") === a + }), + l = e.some(function (u) { + return u.data("id") === s + }) + return !o || !l + }) + this.options.eles = this.options.eles.not(n) +} +Gx.prototype.run = function () { + var t = this.options, + e = t.cy, + r = this + ;(r.stopped = !1), + (t.animate === !0 || t.animate === !1) && r.emit({ type: "layoutstart", layout: r }), + t.debug === !0 ? (X5 = !0) : (X5 = !1) + var n = ECe(e, r, t) + X5 && SCe(n), t.randomize && CCe(n) + var i = Ko(), + a = function () { + ACe(n, e, t), t.fit === !0 && e.fit(t.padding) + }, + s = function (f) { + return !( + r.stopped || + f >= t.numIter || + (_Ce(n, t), (n.temperature = n.temperature * t.coolingFactor), n.temperature < t.minTemp) + ) + }, + o = function () { + if (t.animate === !0 || t.animate === !1) + a(), r.one("layoutstop", t.stop), r.emit({ type: "layoutstop", layout: r }) + else { + var f = t.eles.nodes(), + p = gW(n, t, f) + f.layoutPositions(r, t, p) + } + }, + l = 0, + u = !0 + if (t.animate === !0) { + var h = function () { + for (var f = 0; u && f < t.refresh; ) (u = s(l)), l++, f++ + if (!u) FR(n, t), o() + else { + var p = Ko() + p - i >= t.animationThreshold && a(), jy(h) + } + } + h() + } else { + for (; u; ) (u = s(l)), l++ + FR(n, t), o() + } + return this +} +Gx.prototype.stop = function () { + return (this.stopped = !0), this.thread && this.thread.stop(), this.emit("layoutstop"), this +} +Gx.prototype.destroy = function () { + return this.thread && this.thread.stop(), this +} +var ECe = function (e, r, n) { + for ( + var i = n.eles.edges(), + a = n.eles.nodes(), + s = ua(n.boundingBox ? n.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }), + o = { + isCompound: e.hasCompoundNodes(), + layoutNodes: [], + idToIndex: {}, + nodeSize: a.size(), + graphSet: [], + indexToGraph: [], + layoutEdges: [], + edgeSize: i.size(), + temperature: n.initialTemp, + clientWidth: s.w, + clientHeight: s.h, + boundingBox: s, + }, + l = n.eles.components(), + u = {}, + h = 0; + h < l.length; + h++ + ) + for (var d = l[h], f = 0; f < d.length; f++) { + var p = d[f] + u[p.id()] = h + } + for (var h = 0; h < o.nodeSize; h++) { + var g = a[h], + m = g.layoutDimensions(n), + v = {} + ;(v.isLocked = g.locked()), + (v.id = g.data("id")), + (v.parentId = g.data("parent")), + (v.cmptId = u[g.id()]), + (v.children = []), + (v.positionX = g.position("x")), + (v.positionY = g.position("y")), + (v.offsetX = 0), + (v.offsetY = 0), + (v.height = m.w), + (v.width = m.h), + (v.maxX = v.positionX + v.width / 2), + (v.minX = v.positionX - v.width / 2), + (v.maxY = v.positionY + v.height / 2), + (v.minY = v.positionY - v.height / 2), + (v.padLeft = parseFloat(g.style("padding"))), + (v.padRight = parseFloat(g.style("padding"))), + (v.padTop = parseFloat(g.style("padding"))), + (v.padBottom = parseFloat(g.style("padding"))), + (v.nodeRepulsion = an(n.nodeRepulsion) ? n.nodeRepulsion(g) : n.nodeRepulsion), + o.layoutNodes.push(v), + (o.idToIndex[v.id] = h) + } + for (var y = [], b = 0, w = -1, T = [], h = 0; h < o.nodeSize; h++) { + var g = o.layoutNodes[h], + E = g.parentId + E != null ? o.layoutNodes[o.idToIndex[E]].children.push(g.id) : ((y[++w] = g.id), T.push(g.id)) + } + for (o.graphSet.push(T); b <= w; ) { + var S = y[b++], + k = o.idToIndex[S], + p = o.layoutNodes[k], + L = p.children + if (L.length > 0) { + o.graphSet.push(L) + for (var h = 0; h < L.length; h++) y[++w] = L[h] + } + } + for (var h = 0; h < o.graphSet.length; h++) + for (var A = o.graphSet[h], f = 0; f < A.length; f++) { + var R = o.idToIndex[A[f]] + o.indexToGraph[R] = h + } + for (var h = 0; h < o.edgeSize; h++) { + var C = i[h], + I = {} + ;(I.id = C.data("id")), (I.sourceId = C.data("source")), (I.targetId = C.data("target")) + var P = an(n.idealEdgeLength) ? n.idealEdgeLength(C) : n.idealEdgeLength, + _ = an(n.edgeElasticity) ? n.edgeElasticity(C) : n.edgeElasticity, + N = o.idToIndex[I.sourceId], + M = o.idToIndex[I.targetId], + O = o.indexToGraph[N], + D = o.indexToGraph[M] + if (O != D) { + for ( + var B = kCe(I.sourceId, I.targetId, o), z = o.graphSet[B], F = 0, v = o.layoutNodes[N]; + z.indexOf(v.id) === -1; + + ) + (v = o.layoutNodes[o.idToIndex[v.parentId]]), F++ + for (v = o.layoutNodes[M]; z.indexOf(v.id) === -1; ) (v = o.layoutNodes[o.idToIndex[v.parentId]]), F++ + P *= F * n.nestingFactor + } + ;(I.idealLength = P), (I.elasticity = _), o.layoutEdges.push(I) + } + return o + }, + kCe = function (e, r, n) { + var i = pW(e, r, 0, n) + return 2 > i.count ? 0 : i.graph + }, + pW = function (e, r, n, i) { + var a = i.graphSet[n] + if (-1 < a.indexOf(e) && -1 < a.indexOf(r)) return { count: 2, graph: n } + for (var s = 0, o = 0; o < a.length; o++) { + var l = a[o], + u = i.idToIndex[l], + h = i.layoutNodes[u].children + if (h.length !== 0) { + var d = i.indexToGraph[i.idToIndex[h[0]]], + f = pW(e, r, d, i) + if (f.count !== 0) + if (f.count === 1) { + if ((s++, s === 2)) break + } else return f + } + } + return { count: s, graph: n } + }, + SCe, + CCe = function (e, r) { + for (var n = e.clientWidth, i = e.clientHeight, a = 0; a < e.nodeSize; a++) { + var s = e.layoutNodes[a] + s.children.length === 0 && + !s.isLocked && + ((s.positionX = Math.random() * n), (s.positionY = Math.random() * i)) + } + }, + gW = function (e, r, n) { + var i = e.boundingBox, + a = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 } + return ( + r.boundingBox && + (n.forEach(function (s) { + var o = e.layoutNodes[e.idToIndex[s.data("id")]] + ;(a.x1 = Math.min(a.x1, o.positionX)), + (a.x2 = Math.max(a.x2, o.positionX)), + (a.y1 = Math.min(a.y1, o.positionY)), + (a.y2 = Math.max(a.y2, o.positionY)) + }), + (a.w = a.x2 - a.x1), + (a.h = a.y2 - a.y1)), + function (s, o) { + var l = e.layoutNodes[e.idToIndex[s.data("id")]] + if (r.boundingBox) { + var u = (l.positionX - a.x1) / a.w, + h = (l.positionY - a.y1) / a.h + return { x: i.x1 + u * i.w, y: i.y1 + h * i.h } + } else return { x: l.positionX, y: l.positionY } + } + ) + }, + ACe = function (e, r, n) { + var i = n.layout, + a = n.eles.nodes(), + s = gW(e, n, a) + a.positions(s), + e.ready !== !0 && + ((e.ready = !0), i.one("layoutready", n.ready), i.emit({ type: "layoutready", layout: this })) + }, + _Ce = function (e, r, n) { + LCe(e, r), DCe(e), ICe(e, r), MCe(e), OCe(e) + }, + LCe = function (e, r) { + for (var n = 0; n < e.graphSet.length; n++) + for (var i = e.graphSet[n], a = i.length, s = 0; s < a; s++) + for (var o = e.layoutNodes[e.idToIndex[i[s]]], l = s + 1; l < a; l++) { + var u = e.layoutNodes[e.idToIndex[i[l]]] + RCe(o, u, e, r) + } + }, + BR = function (e) { + return -1 + 2 * e * Math.random() + }, + RCe = function (e, r, n, i) { + var a = e.cmptId, + s = r.cmptId + if (!(a !== s && !n.isCompound)) { + var o = r.positionX - e.positionX, + l = r.positionY - e.positionY, + u = 1 + o === 0 && l === 0 && ((o = BR(u)), (l = BR(u))) + var h = NCe(e, r, o, l) + if (h > 0) + var d = i.nodeOverlap * h, + f = Math.sqrt(o * o + l * l), + p = (d * o) / f, + g = (d * l) / f + else + var m = r2(e, o, l), + v = r2(r, -1 * o, -1 * l), + y = v.x - m.x, + b = v.y - m.y, + w = y * y + b * b, + f = Math.sqrt(w), + d = (e.nodeRepulsion + r.nodeRepulsion) / w, + p = (d * y) / f, + g = (d * b) / f + e.isLocked || ((e.offsetX -= p), (e.offsetY -= g)), r.isLocked || ((r.offsetX += p), (r.offsetY += g)) + } + }, + NCe = function (e, r, n, i) { + if (n > 0) var a = e.maxX - r.minX + else var a = r.maxX - e.minX + if (i > 0) var s = e.maxY - r.minY + else var s = r.maxY - e.minY + return a >= 0 && s >= 0 ? Math.sqrt(a * a + s * s) : 0 + }, + r2 = function (e, r, n) { + var i = e.positionX, + a = e.positionY, + s = e.height || 1, + o = e.width || 1, + l = n / r, + u = s / o, + h = {} + return (r === 0 && 0 < n) || (r === 0 && 0 > n) + ? ((h.x = i), (h.y = a + s / 2), h) + : 0 < r && -1 * u <= l && l <= u + ? ((h.x = i + o / 2), (h.y = a + (o * n) / 2 / r), h) + : 0 > r && -1 * u <= l && l <= u + ? ((h.x = i - o / 2), (h.y = a - (o * n) / 2 / r), h) + : 0 < n && (l <= -1 * u || l >= u) + ? ((h.x = i + (s * r) / 2 / n), (h.y = a + s / 2), h) + : (0 > n && (l <= -1 * u || l >= u) && ((h.x = i - (s * r) / 2 / n), (h.y = a - s / 2)), h) + }, + DCe = function (e, r) { + for (var n = 0; n < e.edgeSize; n++) { + var i = e.layoutEdges[n], + a = e.idToIndex[i.sourceId], + s = e.layoutNodes[a], + o = e.idToIndex[i.targetId], + l = e.layoutNodes[o], + u = l.positionX - s.positionX, + h = l.positionY - s.positionY + if (!(u === 0 && h === 0)) { + var d = r2(s, u, h), + f = r2(l, -1 * u, -1 * h), + p = f.x - d.x, + g = f.y - d.y, + m = Math.sqrt(p * p + g * g), + v = Math.pow(i.idealLength - m, 2) / i.elasticity + if (m !== 0) + var y = (v * p) / m, + b = (v * g) / m + else + var y = 0, + b = 0 + s.isLocked || ((s.offsetX += y), (s.offsetY += b)), l.isLocked || ((l.offsetX -= y), (l.offsetY -= b)) + } + } + }, + ICe = function (e, r) { + if (r.gravity !== 0) + for (var n = 1, i = 0; i < e.graphSet.length; i++) { + var a = e.graphSet[i], + s = a.length + if (i === 0) + var o = e.clientHeight / 2, + l = e.clientWidth / 2 + else + var u = e.layoutNodes[e.idToIndex[a[0]]], + h = e.layoutNodes[e.idToIndex[u.parentId]], + o = h.positionX, + l = h.positionY + for (var d = 0; d < s; d++) { + var f = e.layoutNodes[e.idToIndex[a[d]]] + if (!f.isLocked) { + var p = o - f.positionX, + g = l - f.positionY, + m = Math.sqrt(p * p + g * g) + if (m > n) { + var v = (r.gravity * p) / m, + y = (r.gravity * g) / m + ;(f.offsetX += v), (f.offsetY += y) + } + } + } + } + }, + MCe = function (e, r) { + var n = [], + i = 0, + a = -1 + for (n.push.apply(n, e.graphSet[0]), a += e.graphSet[0].length; i <= a; ) { + var s = n[i++], + o = e.idToIndex[s], + l = e.layoutNodes[o], + u = l.children + if (0 < u.length && !l.isLocked) { + for (var h = l.offsetX, d = l.offsetY, f = 0; f < u.length; f++) { + var p = e.layoutNodes[e.idToIndex[u[f]]] + ;(p.offsetX += h), (p.offsetY += d), (n[++a] = u[f]) + } + ;(l.offsetX = 0), (l.offsetY = 0) + } + } + }, + OCe = function (e, r) { + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n] + 0 < i.children.length && ((i.maxX = void 0), (i.minX = void 0), (i.maxY = void 0), (i.minY = void 0)) + } + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n] + if (!(0 < i.children.length || i.isLocked)) { + var a = PCe(i.offsetX, i.offsetY, e.temperature) + ;(i.positionX += a.x), + (i.positionY += a.y), + (i.offsetX = 0), + (i.offsetY = 0), + (i.minX = i.positionX - i.width), + (i.maxX = i.positionX + i.width), + (i.minY = i.positionY - i.height), + (i.maxY = i.positionY + i.height), + mW(i, e) + } + } + for (var n = 0; n < e.nodeSize; n++) { + var i = e.layoutNodes[n] + 0 < i.children.length && + !i.isLocked && + ((i.positionX = (i.maxX + i.minX) / 2), + (i.positionY = (i.maxY + i.minY) / 2), + (i.width = i.maxX - i.minX), + (i.height = i.maxY - i.minY)) + } + }, + PCe = function (e, r, n) { + var i = Math.sqrt(e * e + r * r) + if (i > n) var a = { x: (n * e) / i, y: (n * r) / i } + else var a = { x: e, y: r } + return a + }, + mW = function (e, r) { + var n = e.parentId + if (n != null) { + var i = r.layoutNodes[r.idToIndex[n]], + a = !1 + if ( + ((i.maxX == null || e.maxX + i.padRight > i.maxX) && ((i.maxX = e.maxX + i.padRight), (a = !0)), + (i.minX == null || e.minX - i.padLeft < i.minX) && ((i.minX = e.minX - i.padLeft), (a = !0)), + (i.maxY == null || e.maxY + i.padBottom > i.maxY) && ((i.maxY = e.maxY + i.padBottom), (a = !0)), + (i.minY == null || e.minY - i.padTop < i.minY) && ((i.minY = e.minY - i.padTop), (a = !0)), + a) + ) + return mW(i, r) + } + }, + FR = function (e, r) { + for (var n = e.layoutNodes, i = [], a = 0; a < n.length; a++) { + var s = n[a], + o = s.cmptId, + l = (i[o] = i[o] || []) + l.push(s) + } + for (var u = 0, a = 0; a < i.length; a++) { + var h = i[a] + if (h) { + ;(h.x1 = 1 / 0), (h.x2 = -1 / 0), (h.y1 = 1 / 0), (h.y2 = -1 / 0) + for (var d = 0; d < h.length; d++) { + var f = h[d] + ;(h.x1 = Math.min(h.x1, f.positionX - f.width / 2)), + (h.x2 = Math.max(h.x2, f.positionX + f.width / 2)), + (h.y1 = Math.min(h.y1, f.positionY - f.height / 2)), + (h.y2 = Math.max(h.y2, f.positionY + f.height / 2)) + } + ;(h.w = h.x2 - h.x1), (h.h = h.y2 - h.y1), (u += h.w * h.h) + } + } + i.sort(function (b, w) { + return w.w * w.h - b.w * b.h + }) + for ( + var p = 0, g = 0, m = 0, v = 0, y = (Math.sqrt(u) * e.clientWidth) / e.clientHeight, a = 0; + a < i.length; + a++ + ) { + var h = i[a] + if (h) { + for (var d = 0; d < h.length; d++) { + var f = h[d] + f.isLocked || ((f.positionX += p - h.x1), (f.positionY += g - h.y1)) + } + ;(p += h.w + r.componentSpacing), + (m += h.w + r.componentSpacing), + (v = Math.max(v, h.h)), + m > y && ((g += v + r.componentSpacing), (p = 0), (m = 0), (v = 0)) + } + } + }, + BCe = { + fit: !0, + padding: 30, + boundingBox: void 0, + avoidOverlap: !0, + avoidOverlapPadding: 10, + nodeDimensionsIncludeLabels: !1, + spacingFactor: void 0, + condense: !1, + rows: void 0, + cols: void 0, + position: function (e) {}, + sort: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: function (e, r) { + return !0 + }, + ready: void 0, + stop: void 0, + transform: function (e, r) { + return r + }, + } +function vW(t) { + this.options = Gt({}, BCe, t) +} +vW.prototype.run = function () { + var t = this.options, + e = t, + r = t.cy, + n = e.eles, + i = n.nodes().not(":parent") + e.sort && (i = i.sort(e.sort)) + var a = ua(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }) + if (a.h === 0 || a.w === 0) + n.nodes().layoutPositions(this, e, function (q) { + return { x: a.x1, y: a.y1 } + }) + else { + var s = i.size(), + o = Math.sqrt((s * a.h) / a.w), + l = Math.round(o), + u = Math.round((a.w / a.h) * o), + h = function (Y) { + if (Y == null) return Math.min(l, u) + var ee = Math.min(l, u) + ee == l ? (l = Y) : (u = Y) + }, + d = function (Y) { + if (Y == null) return Math.max(l, u) + var ee = Math.max(l, u) + ee == l ? (l = Y) : (u = Y) + }, + f = e.rows, + p = e.cols != null ? e.cols : e.columns + if (f != null && p != null) (l = f), (u = p) + else if (f != null && p == null) (l = f), (u = Math.ceil(s / l)) + else if (f == null && p != null) (u = p), (l = Math.ceil(s / u)) + else if (u * l > s) { + var g = h(), + m = d() + ;(g - 1) * m >= s ? h(g - 1) : (m - 1) * g >= s && d(m - 1) + } else + for (; u * l < s; ) { + var v = h(), + y = d() + ;(y + 1) * v >= s ? d(y + 1) : h(v + 1) + } + var b = a.w / u, + w = a.h / l + if ((e.condense && ((b = 0), (w = 0)), e.avoidOverlap)) + for (var T = 0; T < i.length; T++) { + var E = i[T], + S = E._private.position + ;(S.x == null || S.y == null) && ((S.x = 0), (S.y = 0)) + var k = E.layoutDimensions(e), + L = e.avoidOverlapPadding, + A = k.w + L, + R = k.h + L + ;(b = Math.max(b, A)), (w = Math.max(w, R)) + } + for ( + var C = {}, + I = function (Y, ee) { + return !!C["c-" + Y + "-" + ee] + }, + P = function (Y, ee) { + C["c-" + Y + "-" + ee] = !0 + }, + _ = 0, + N = 0, + M = function () { + N++, N >= u && ((N = 0), _++) + }, + O = {}, + D = 0; + D < i.length; + D++ + ) { + var B = i[D], + z = e.position(B) + if (z && (z.row !== void 0 || z.col !== void 0)) { + var F = { row: z.row, col: z.col } + if (F.col === void 0) for (F.col = 0; I(F.row, F.col); ) F.col++ + else if (F.row === void 0) for (F.row = 0; I(F.row, F.col); ) F.row++ + ;(O[B.id()] = F), P(F.row, F.col) + } + } + var G = function (Y, ee) { + var Q, oe + if (Y.locked() || Y.isParent()) return !1 + var pe = O[Y.id()] + if (pe) (Q = pe.col * b + b / 2 + a.x1), (oe = pe.row * w + w / 2 + a.y1) + else { + for (; I(_, N); ) M() + ;(Q = N * b + b / 2 + a.x1), (oe = _ * w + w / 2 + a.y1), P(_, N), M() + } + return { x: Q, y: oe } + } + i.layoutPositions(this, e, G) + } + return this +} +var FCe = { ready: function () {}, stop: function () {} } +function CS(t) { + this.options = Gt({}, FCe, t) +} +CS.prototype.run = function () { + var t = this.options, + e = t.eles, + r = this + return ( + t.cy, + r.emit("layoutstart"), + e.nodes().positions(function () { + return { x: 0, y: 0 } + }), + r.one("layoutready", t.ready), + r.emit("layoutready"), + r.one("layoutstop", t.stop), + r.emit("layoutstop"), + this + ) +} +CS.prototype.stop = function () { + return this +} +var $Ce = { + positions: void 0, + zoom: void 0, + pan: void 0, + fit: !0, + padding: 30, + spacingFactor: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: function (e, r) { + return !0 + }, + ready: void 0, + stop: void 0, + transform: function (e, r) { + return r + }, +} +function yW(t) { + this.options = Gt({}, $Ce, t) +} +yW.prototype.run = function () { + var t = this.options, + e = t.eles, + r = e.nodes(), + n = an(t.positions) + function i(a) { + if (t.positions == null) return oke(a.position()) + if (n) return t.positions(a) + var s = t.positions[a._private.data.id] + return s ?? null + } + return ( + r.layoutPositions(this, t, function (a, s) { + var o = i(a) + return a.locked() || o == null ? !1 : o + }), + this + ) +} +var zCe = { + fit: !0, + padding: 30, + boundingBox: void 0, + animate: !1, + animationDuration: 500, + animationEasing: void 0, + animateFilter: function (e, r) { + return !0 + }, + ready: void 0, + stop: void 0, + transform: function (e, r) { + return r + }, +} +function xW(t) { + this.options = Gt({}, zCe, t) +} +xW.prototype.run = function () { + var t = this.options, + e = t.cy, + r = t.eles, + n = ua(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }), + i = function (s, o) { + return { x: n.x1 + Math.round(Math.random() * n.w), y: n.y1 + Math.round(Math.random() * n.h) } + } + return r.nodes().layoutPositions(this, t, i), this +} +var VCe = [ + { name: "breadthfirst", impl: hW }, + { name: "circle", impl: dW }, + { name: "concentric", impl: fW }, + { name: "cose", impl: Gx }, + { name: "grid", impl: vW }, + { name: "null", impl: CS }, + { name: "preset", impl: yW }, + { name: "random", impl: xW }, +] +function bW(t) { + ;(this.options = t), (this.notifications = 0) +} +var $R = function () {}, + zR = function () { + throw new Error("A headless instance can not render images") + } +bW.prototype = { + recalculateRenderedStyle: $R, + notify: function () { + this.notifications++ + }, + init: $R, + isHeadless: function () { + return !0 + }, + png: zR, + jpg: zR, +} +var AS = {} +AS.arrowShapeWidth = 0.3 +AS.registerArrowShapes = function () { + var t = (this.arrowShapes = {}), + e = this, + r = function (u, h, d, f, p, g, m) { + var v = p.x - d / 2 - m, + y = p.x + d / 2 + m, + b = p.y - d / 2 - m, + w = p.y + d / 2 + m, + T = v <= u && u <= y && b <= h && h <= w + return T + }, + n = function (u, h, d, f, p) { + var g = u * Math.cos(f) - h * Math.sin(f), + m = u * Math.sin(f) + h * Math.cos(f), + v = g * d, + y = m * d, + b = v + p.x, + w = y + p.y + return { x: b, y: w } + }, + i = function (u, h, d, f) { + for (var p = [], g = 0; g < u.length; g += 2) { + var m = u[g], + v = u[g + 1] + p.push(n(m, v, h, d, f)) + } + return p + }, + a = function (u) { + for (var h = [], d = 0; d < u.length; d++) { + var f = u[d] + h.push(f.x, f.y) + } + return h + }, + s = function (u) { + return u.pstyle("width").pfValue * u.pstyle("arrow-scale").pfValue * 2 + }, + o = function (u, h) { + Bt(h) && (h = t[h]), + (t[u] = Gt( + { + name: u, + points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3], + collide: function (f, p, g, m, v, y) { + var b = a(i(this.points, g + 2 * y, m, v)), + w = ea(f, p, b) + return w + }, + roughCollide: r, + draw: function (f, p, g, m) { + var v = i(this.points, p, g, m) + e.arrowShapeImpl("polygon")(f, v) + }, + spacing: function (f) { + return 0 + }, + gap: s, + }, + h, + )) + } + o("none", { collide: Ky, roughCollide: Ky, draw: dS, spacing: rL, gap: rL }), + o("triangle", { points: [-0.15, -0.3, 0, 0, 0.15, -0.3] }), + o("arrow", "triangle"), + o("triangle-backcurve", { + points: t.triangle.points, + controlPoint: [0, -0.15], + roughCollide: r, + draw: function (u, h, d, f, p) { + var g = i(this.points, h, d, f), + m = this.controlPoint, + v = n(m[0], m[1], h, d, f) + e.arrowShapeImpl(this.name)(u, g, v) + }, + gap: function (u) { + return s(u) * 0.8 + }, + }), + o("triangle-tee", { + points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0], + pointsTee: [-0.15, -0.4, -0.15, -0.5, 0.15, -0.5, 0.15, -0.4], + collide: function (u, h, d, f, p, g, m) { + var v = a(i(this.points, d + 2 * m, f, p)), + y = a(i(this.pointsTee, d + 2 * m, f, p)), + b = ea(u, h, v) || ea(u, h, y) + return b + }, + draw: function (u, h, d, f, p) { + var g = i(this.points, h, d, f), + m = i(this.pointsTee, h, d, f) + e.arrowShapeImpl(this.name)(u, g, m) + }, + }), + o("circle-triangle", { + radius: 0.15, + pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15], + collide: function (u, h, d, f, p, g, m) { + var v = p, + y = Math.pow(v.x - u, 2) + Math.pow(v.y - h, 2) <= Math.pow((d + 2 * m) * this.radius, 2), + b = a(i(this.points, d + 2 * m, f, p)) + return ea(u, h, b) || y + }, + draw: function (u, h, d, f, p) { + var g = i(this.pointsTr, h, d, f) + e.arrowShapeImpl(this.name)(u, g, f.x, f.y, this.radius * h) + }, + spacing: function (u) { + return e.getArrowWidth(u.pstyle("width").pfValue, u.pstyle("arrow-scale").value) * this.radius + }, + }), + o("triangle-cross", { + points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0], + baseCrossLinePts: [-0.15, -0.4, -0.15, -0.4, 0.15, -0.4, 0.15, -0.4], + crossLinePts: function (u, h) { + var d = this.baseCrossLinePts.slice(), + f = h / u, + p = 3, + g = 5 + return (d[p] = d[p] - f), (d[g] = d[g] - f), d + }, + collide: function (u, h, d, f, p, g, m) { + var v = a(i(this.points, d + 2 * m, f, p)), + y = a(i(this.crossLinePts(d, g), d + 2 * m, f, p)), + b = ea(u, h, v) || ea(u, h, y) + return b + }, + draw: function (u, h, d, f, p) { + var g = i(this.points, h, d, f), + m = i(this.crossLinePts(h, p), h, d, f) + e.arrowShapeImpl(this.name)(u, g, m) + }, + }), + o("vee", { + points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15], + gap: function (u) { + return s(u) * 0.525 + }, + }), + o("circle", { + radius: 0.15, + collide: function (u, h, d, f, p, g, m) { + var v = p, + y = Math.pow(v.x - u, 2) + Math.pow(v.y - h, 2) <= Math.pow((d + 2 * m) * this.radius, 2) + return y + }, + draw: function (u, h, d, f, p) { + e.arrowShapeImpl(this.name)(u, f.x, f.y, this.radius * h) + }, + spacing: function (u) { + return e.getArrowWidth(u.pstyle("width").pfValue, u.pstyle("arrow-scale").value) * this.radius + }, + }), + o("tee", { + points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0], + spacing: function (u) { + return 1 + }, + gap: function (u) { + return 1 + }, + }), + o("square", { points: [-0.15, 0, 0.15, 0, 0.15, -0.3, -0.15, -0.3] }), + o("diamond", { + points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0], + gap: function (u) { + return u.pstyle("width").pfValue * u.pstyle("arrow-scale").value + }, + }), + o("chevron", { + points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15], + gap: function (u) { + return 0.95 * u.pstyle("width").pfValue * u.pstyle("arrow-scale").value + }, + }) +} +var Iu = {} +Iu.projectIntoViewport = function (t, e) { + var r = this.cy, + n = this.findContainerClientCoords(), + i = n[0], + a = n[1], + s = n[4], + o = r.pan(), + l = r.zoom(), + u = ((t - i) / s - o.x) / l, + h = ((e - a) / s - o.y) / l + return [u, h] +} +Iu.findContainerClientCoords = function () { + if (this.containerBB) return this.containerBB + var t = this.container, + e = t.getBoundingClientRect(), + r = this.cy.window().getComputedStyle(t), + n = function (y) { + return parseFloat(r.getPropertyValue(y)) + }, + i = { left: n("padding-left"), right: n("padding-right"), top: n("padding-top"), bottom: n("padding-bottom") }, + a = { + left: n("border-left-width"), + right: n("border-right-width"), + top: n("border-top-width"), + bottom: n("border-bottom-width"), + }, + s = t.clientWidth, + o = t.clientHeight, + l = i.left + i.right, + u = i.top + i.bottom, + h = a.left + a.right, + d = e.width / (s + h), + f = s - l, + p = o - u, + g = e.left + i.left + a.left, + m = e.top + i.top + a.top + return (this.containerBB = [g, m, f, p, d]) +} +Iu.invalidateContainerClientCoordsCache = function () { + this.containerBB = null +} +Iu.findNearestElement = function (t, e, r, n) { + return this.findNearestElements(t, e, r, n)[0] +} +Iu.findNearestElements = function (t, e, r, n) { + var i = this, + a = this, + s = a.getCachedZSortedEles(), + o = [], + l = a.cy.zoom(), + u = a.cy.hasCompoundNodes(), + h = (n ? 24 : 8) / l, + d = (n ? 8 : 2) / l, + f = (n ? 8 : 2) / l, + p = 1 / 0, + g, + m + r && (s = s.interactive) + function v(k, L) { + if (k.isNode()) { + if (m) return + ;(m = k), o.push(k) + } + if (k.isEdge() && (L == null || L < p)) + if (g) { + if ( + g.pstyle("z-compound-depth").value === k.pstyle("z-compound-depth").value && + g.pstyle("z-compound-depth").value === k.pstyle("z-compound-depth").value + ) { + for (var A = 0; A < o.length; A++) + if (o[A].isEdge()) { + ;(o[A] = k), (g = k), (p = L ?? p) + break + } + } + } else o.push(k), (g = k), (p = L ?? p) + } + function y(k) { + var L = k.outerWidth() + 2 * d, + A = k.outerHeight() + 2 * d, + R = L / 2, + C = A / 2, + I = k.position(), + P = k.pstyle("corner-radius").value === "auto" ? "auto" : k.pstyle("corner-radius").pfValue, + _ = k._private.rscratch + if (I.x - R <= t && t <= I.x + R && I.y - C <= e && e <= I.y + C) { + var N = a.nodeShapes[i.getNodeShape(k)] + if (N.checkPoint(t, e, 0, L, A, I.x, I.y, P, _)) return v(k, 0), !0 + } + } + function b(k) { + var L = k._private, + A = L.rscratch, + R = k.pstyle("width").pfValue, + C = k.pstyle("arrow-scale").value, + I = R / 2 + h, + P = I * I, + _ = I * 2, + D = L.source, + B = L.target, + N + if (A.edgeType === "segments" || A.edgeType === "straight" || A.edgeType === "haystack") { + for (var M = A.allpts, O = 0; O + 3 < M.length; O += 2) + if ( + wke(t, e, M[O], M[O + 1], M[O + 2], M[O + 3], _) && + P > (N = Cke(t, e, M[O], M[O + 1], M[O + 2], M[O + 3])) + ) + return v(k, N), !0 + } else if ( + A.edgeType === "bezier" || + A.edgeType === "multibezier" || + A.edgeType === "self" || + A.edgeType === "compound" + ) { + for (var M = A.allpts, O = 0; O + 5 < A.allpts.length; O += 4) + if ( + Tke(t, e, M[O], M[O + 1], M[O + 2], M[O + 3], M[O + 4], M[O + 5], _) && + P > (N = Ske(t, e, M[O], M[O + 1], M[O + 2], M[O + 3], M[O + 4], M[O + 5])) + ) + return v(k, N), !0 + } + for ( + var D = D || L.source, + B = B || L.target, + z = i.getArrowWidth(R, C), + F = [ + { name: "source", x: A.arrowStartX, y: A.arrowStartY, angle: A.srcArrowAngle }, + { name: "target", x: A.arrowEndX, y: A.arrowEndY, angle: A.tgtArrowAngle }, + { name: "mid-source", x: A.midX, y: A.midY, angle: A.midsrcArrowAngle }, + { name: "mid-target", x: A.midX, y: A.midY, angle: A.midtgtArrowAngle }, + ], + O = 0; + O < F.length; + O++ + ) { + var G = F[O], + q = a.arrowShapes[k.pstyle(G.name + "-arrow-shape").value], + Y = k.pstyle("width").pfValue + if ( + q.roughCollide(t, e, z, G.angle, { x: G.x, y: G.y }, Y, h) && + q.collide(t, e, z, G.angle, { x: G.x, y: G.y }, Y, h) + ) + return v(k), !0 + } + u && o.length > 0 && (y(D), y(B)) + } + function w(k, L, A) { + return Ji(k, L, A) + } + function T(k, L) { + var A = k._private, + R = f, + C + L ? (C = L + "-") : (C = ""), k.boundingBox() + var I = A.labelBounds[L || "main"], + P = k.pstyle(C + "label").value, + _ = k.pstyle("text-events").strValue === "yes" + if (!(!_ || !P)) { + var N = w(A.rscratch, "labelX", L), + M = w(A.rscratch, "labelY", L), + O = w(A.rscratch, "labelAngle", L), + D = k.pstyle(C + "text-margin-x").pfValue, + B = k.pstyle(C + "text-margin-y").pfValue, + z = I.x1 - R - D, + F = I.x2 + R - D, + G = I.y1 - R - B, + q = I.y2 + R - B + if (O) { + var Y = Math.cos(O), + ee = Math.sin(O), + Q = function (K, ne) { + return (K = K - N), (ne = ne - M), { x: K * Y - ne * ee + N, y: K * ee + ne * Y + M } + }, + oe = Q(z, G), + pe = Q(z, q), + j = Q(F, G), + H = Q(F, q), + X = [oe.x + D, oe.y + B, j.x + D, j.y + B, H.x + D, H.y + B, pe.x + D, pe.y + B] + if (ea(t, e, X)) return v(k), !0 + } else if (jd(I, t, e)) return v(k), !0 + } + } + for (var E = s.length - 1; E >= 0; E--) { + var S = s[E] + S.isNode() ? y(S) || T(S) : b(S) || T(S) || T(S, "source") || T(S, "target") + } + return o +} +Iu.getAllInBox = function (t, e, r, n) { + var i = this.getCachedZSortedEles().interactive, + a = this.cy.zoom(), + s = 2 / a, + o = [], + l = Math.min(t, r), + u = Math.max(t, r), + h = Math.min(e, n), + d = Math.max(e, n) + ;(t = l), (r = u), (e = h), (n = d) + var f = ua({ x1: t, y1: e, x2: r, y2: n }) + function p(P, _, N) { + return Ji(P, _, N) + } + function g(P, _) { + var N = P._private, + M = s, + O = "" + P.boundingBox() + var D = N.labelBounds.main, + B = p(N.rscratch, "labelX", _), + z = p(N.rscratch, "labelY", _), + F = p(N.rscratch, "labelAngle", _), + G = P.pstyle(O + "text-margin-x").pfValue, + q = P.pstyle(O + "text-margin-y").pfValue, + Y = D.x1 - M - G, + ee = D.x2 + M - G, + Q = D.y1 - M - q, + oe = D.y2 + M - q + if (F) { + var pe = Math.cos(F), + j = Math.sin(F), + H = function (W, K) { + return (W = W - B), (K = K - z), { x: W * pe - K * j + B, y: W * j + K * pe + z } + } + return [H(Y, Q), H(ee, Q), H(ee, oe), H(Y, oe)] + } else + return [ + { x: Y, y: Q }, + { x: ee, y: Q }, + { x: ee, y: oe }, + { x: Y, y: oe }, + ] + } + for (var m = 0; m < i.length; m++) { + var v = i[m] + if (v.isNode()) { + var y = v, + b = y.pstyle("text-events").strValue === "yes", + w = y.pstyle("box-select-labels").strValue === "yes", + T = y.boundingBox({ includeNodes: !0, includeEdges: !1, includeLabels: w && b }) + if (mS(f, T)) { + var E = g(y), + S = [ + { x: f.x1, y: f.y1 }, + { x: f.x2, y: f.y1 }, + { x: f.x2, y: f.y2 }, + { x: f.x1, y: f.y2 }, + ] + Nke(E, S) && o.push(y) + } + } else { + var k = v, + L = k._private, + A = L.rscratch + if ( + (A.startX != null && A.startY != null && !jd(f, A.startX, A.startY)) || + (A.endX != null && A.endY != null && !jd(f, A.endX, A.endY)) + ) + continue + if ( + A.edgeType === "bezier" || + A.edgeType === "multibezier" || + A.edgeType === "self" || + A.edgeType === "compound" || + A.edgeType === "segments" || + A.edgeType === "haystack" + ) { + for ( + var R = L.rstyle.bezierPts || L.rstyle.linePts || L.rstyle.haystackPts, C = !0, I = 0; + I < R.length; + I++ + ) + if (!xke(f, R[I])) { + C = !1 + break + } + C && o.push(k) + } else (A.edgeType === "haystack" || A.edgeType === "straight") && o.push(k) + } + } + return o +} +var n2 = {} +n2.calculateArrowAngles = function (t) { + var e = t._private.rscratch, + r = e.edgeType === "haystack", + n = e.edgeType === "bezier", + i = e.edgeType === "multibezier", + a = e.edgeType === "segments", + s = e.edgeType === "compound", + o = e.edgeType === "self", + l, + u, + h, + d, + f, + p, + y, + b + if ( + (r + ? ((h = e.haystackPts[0]), (d = e.haystackPts[1]), (f = e.haystackPts[2]), (p = e.haystackPts[3])) + : ((h = e.arrowStartX), (d = e.arrowStartY), (f = e.arrowEndX), (p = e.arrowEndY)), + (y = e.midX), + (b = e.midY), + a) + ) + (l = h - e.segpts[0]), (u = d - e.segpts[1]) + else if (i || s || o || n) { + var g = e.allpts, + m = Yn(g[0], g[2], g[4], 0.1), + v = Yn(g[1], g[3], g[5], 0.1) + ;(l = h - m), (u = d - v) + } else (l = h - y), (u = d - b) + e.srcArrowAngle = X1(l, u) + var y = e.midX, + b = e.midY + if ((r && ((y = (h + f) / 2), (b = (d + p) / 2)), (l = f - h), (u = p - d), a)) { + var g = e.allpts + if ((g.length / 2) % 2 === 0) { + var w = g.length / 2, + T = w - 2 + ;(l = g[w] - g[T]), (u = g[w + 1] - g[T + 1]) + } else if (e.isRound) (l = e.midVector[1]), (u = -e.midVector[0]) + else { + var w = g.length / 2 - 1, + T = w - 2 + ;(l = g[w] - g[T]), (u = g[w + 1] - g[T + 1]) + } + } else if (i || s || o) { + var g = e.allpts, + E = e.ctrlpts, + S, + k, + L, + A + if ((E.length / 2) % 2 === 0) { + var R = g.length / 2 - 1, + C = R + 2, + I = C + 2 + ;(S = Yn(g[R], g[C], g[I], 0)), + (k = Yn(g[R + 1], g[C + 1], g[I + 1], 0)), + (L = Yn(g[R], g[C], g[I], 1e-4)), + (A = Yn(g[R + 1], g[C + 1], g[I + 1], 1e-4)) + } else { + var C = g.length / 2 - 1, + R = C - 2, + I = C + 2 + ;(S = Yn(g[R], g[C], g[I], 0.4999)), + (k = Yn(g[R + 1], g[C + 1], g[I + 1], 0.4999)), + (L = Yn(g[R], g[C], g[I], 0.5)), + (A = Yn(g[R + 1], g[C + 1], g[I + 1], 0.5)) + } + ;(l = L - S), (u = A - k) + } + if (((e.midtgtArrowAngle = X1(l, u)), (e.midDispX = l), (e.midDispY = u), (l *= -1), (u *= -1), a)) { + var g = e.allpts + if ((g.length / 2) % 2 !== 0) { + if (!e.isRound) { + var w = g.length / 2 - 1, + P = w + 2 + ;(l = -(g[P] - g[w])), (u = -(g[P + 1] - g[w + 1])) + } + } + } + if (((e.midsrcArrowAngle = X1(l, u)), a)) + (l = f - e.segpts[e.segpts.length - 2]), (u = p - e.segpts[e.segpts.length - 1]) + else if (i || s || o || n) { + var g = e.allpts, + _ = g.length, + m = Yn(g[_ - 6], g[_ - 4], g[_ - 2], 0.9), + v = Yn(g[_ - 5], g[_ - 3], g[_ - 1], 0.9) + ;(l = f - m), (u = p - v) + } else (l = f - y), (u = p - b) + e.tgtArrowAngle = X1(l, u) +} +n2.getArrowWidth = n2.getArrowHeight = function (t, e) { + var r = (this.arrowWidthCache = this.arrowWidthCache || {}), + n = r[t + ", " + e] + return n || ((n = Math.max(Math.pow(t * 13.37, 0.9), 29) * e), (r[t + ", " + e] = n), n) +} +var $6, + z6, + Os = {}, + Fa = {}, + VR, + GR, + _c, + av, + xo, + pc, + wc, + Ns, + Wu, + rm, + wW, + TW, + V6, + G6, + UR, + qR = function (e, r, n) { + ;(n.x = r.x - e.x), + (n.y = r.y - e.y), + (n.len = Math.sqrt(n.x * n.x + n.y * n.y)), + (n.nx = n.x / n.len), + (n.ny = n.y / n.len), + (n.ang = Math.atan2(n.ny, n.nx)) + }, + GCe = function (e, r) { + ;(r.x = e.x * -1), + (r.y = e.y * -1), + (r.nx = e.nx * -1), + (r.ny = e.ny * -1), + (r.ang = e.ang > 0 ? -(Math.PI - e.ang) : Math.PI + e.ang) + }, + UCe = function (e, r, n, i, a) { + if ( + (e !== UR ? qR(r, e, Os) : GCe(Fa, Os), + qR(r, n, Fa), + (VR = Os.nx * Fa.ny - Os.ny * Fa.nx), + (GR = Os.nx * Fa.nx - Os.ny * -Fa.ny), + (xo = Math.asin(Math.max(-1, Math.min(1, VR)))), + Math.abs(xo) < 1e-6) + ) { + ;($6 = r.x), (z6 = r.y), (wc = Wu = 0) + return + } + ;(_c = 1), + (av = !1), + GR < 0 + ? xo < 0 + ? (xo = Math.PI + xo) + : ((xo = Math.PI - xo), (_c = -1), (av = !0)) + : xo > 0 && ((_c = -1), (av = !0)), + r.radius !== void 0 ? (Wu = r.radius) : (Wu = i), + (pc = xo / 2), + (rm = Math.min(Os.len / 2, Fa.len / 2)), + a + ? ((Ns = Math.abs((Math.cos(pc) * Wu) / Math.sin(pc))), + Ns > rm ? ((Ns = rm), (wc = Math.abs((Ns * Math.sin(pc)) / Math.cos(pc)))) : (wc = Wu)) + : ((Ns = Math.min(rm, Wu)), (wc = Math.abs((Ns * Math.sin(pc)) / Math.cos(pc)))), + (V6 = r.x + Fa.nx * Ns), + (G6 = r.y + Fa.ny * Ns), + ($6 = V6 - Fa.ny * wc * _c), + (z6 = G6 + Fa.nx * wc * _c), + (wW = r.x + Os.nx * Ns), + (TW = r.y + Os.ny * Ns), + (UR = r) + } +function EW(t, e) { + e.radius === 0 ? t.lineTo(e.cx, e.cy) : t.arc(e.cx, e.cy, e.radius, e.startAngle, e.endAngle, e.counterClockwise) +} +function _S(t, e, r, n) { + var i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0 + return n === 0 || e.radius === 0 + ? { + cx: e.x, + cy: e.y, + radius: 0, + startX: e.x, + startY: e.y, + stopX: e.x, + stopY: e.y, + startAngle: void 0, + endAngle: void 0, + counterClockwise: void 0, + } + : (UCe(t, e, r, n, i), + { + cx: $6, + cy: z6, + radius: wc, + startX: wW, + startY: TW, + stopX: V6, + stopY: G6, + startAngle: Os.ang + (Math.PI / 2) * _c, + endAngle: Fa.ang - (Math.PI / 2) * _c, + counterClockwise: av, + }) +} +var rg = 0.01, + qCe = Math.sqrt(2 * rg), + Li = {} +Li.findMidptPtsEtc = function (t, e) { + var r = e.posPts, + n = e.intersectionPts, + i = e.vectorNormInverse, + a, + s = t.pstyle("source-endpoint"), + o = t.pstyle("target-endpoint"), + l = s.units != null && o.units != null, + u = function (E, S, k, L) { + var A = L - S, + R = k - E, + C = Math.sqrt(R * R + A * A) + return { x: -A / C, y: R / C } + }, + h = t.pstyle("edge-distances").value + switch (h) { + case "node-position": + a = r + break + case "intersection": + a = n + break + case "endpoints": { + if (l) { + var d = this.manualEndptToPx(t.source()[0], s), + f = Rn(d, 2), + p = f[0], + g = f[1], + m = this.manualEndptToPx(t.target()[0], o), + v = Rn(m, 2), + y = v[0], + b = v[1], + w = { x1: p, y1: g, x2: y, y2: b } + ;(i = u(p, g, y, b)), (a = w) + } else + Sr( + "Edge ".concat( + t.id(), + " has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).", + ), + ), + (a = n) + break + } + } + return { midptPts: a, vectorNormInverse: i } +} +Li.findHaystackPoints = function (t) { + for (var e = 0; e < t.length; e++) { + var r = t[e], + n = r._private, + i = n.rscratch + if (!i.haystack) { + var a = Math.random() * 2 * Math.PI + ;(i.source = { x: Math.cos(a), y: Math.sin(a) }), + (a = Math.random() * 2 * Math.PI), + (i.target = { x: Math.cos(a), y: Math.sin(a) }) + } + var s = n.source, + o = n.target, + l = s.position(), + u = o.position(), + h = s.width(), + d = o.width(), + f = s.height(), + p = o.height(), + g = r.pstyle("haystack-radius").value, + m = g / 2 + ;(i.haystackPts = i.allpts = + [i.source.x * h * m + l.x, i.source.y * f * m + l.y, i.target.x * d * m + u.x, i.target.y * p * m + u.y]), + (i.midX = (i.allpts[0] + i.allpts[2]) / 2), + (i.midY = (i.allpts[1] + i.allpts[3]) / 2), + (i.edgeType = "haystack"), + (i.haystack = !0), + this.storeEdgeProjections(r), + this.calculateArrowAngles(r), + this.recalculateEdgeLabelProjections(r), + this.calculateLabelAngles(r) + } +} +Li.findSegmentsPoints = function (t, e) { + var r = t._private.rscratch, + n = t.pstyle("segment-weights"), + i = t.pstyle("segment-distances"), + a = t.pstyle("segment-radii"), + s = t.pstyle("radius-type"), + o = Math.min(n.pfValue.length, i.pfValue.length), + l = a.pfValue[a.pfValue.length - 1], + u = s.pfValue[s.pfValue.length - 1] + ;(r.edgeType = "segments"), (r.segpts = []), (r.radii = []), (r.isArcRadius = []) + for (var h = 0; h < o; h++) { + var d = n.pfValue[h], + f = i.pfValue[h], + p = 1 - d, + g = d, + m = this.findMidptPtsEtc(t, e), + v = m.midptPts, + y = m.vectorNormInverse, + b = { x: v.x1 * p + v.x2 * g, y: v.y1 * p + v.y2 * g } + r.segpts.push(b.x + y.x * f, b.y + y.y * f), + r.radii.push(a.pfValue[h] !== void 0 ? a.pfValue[h] : l), + r.isArcRadius.push((s.pfValue[h] !== void 0 ? s.pfValue[h] : u) === "arc-radius") + } +} +Li.findLoopPoints = function (t, e, r, n) { + var i = t._private.rscratch, + a = e.dirCounts, + s = e.srcPos, + o = t.pstyle("control-point-distances"), + l = o ? o.pfValue[0] : void 0, + u = t.pstyle("loop-direction").pfValue, + h = t.pstyle("loop-sweep").pfValue, + d = t.pstyle("control-point-step-size").pfValue + i.edgeType = "self" + var f = r, + p = d + n && ((f = 0), (p = l)) + var g = u - Math.PI / 2, + m = g - h / 2, + v = g + h / 2, + y = u + "_" + h + ;(f = a[y] === void 0 ? (a[y] = 0) : ++a[y]), + (i.ctrlpts = [ + s.x + Math.cos(m) * 1.4 * p * (f / 3 + 1), + s.y + Math.sin(m) * 1.4 * p * (f / 3 + 1), + s.x + Math.cos(v) * 1.4 * p * (f / 3 + 1), + s.y + Math.sin(v) * 1.4 * p * (f / 3 + 1), + ]) +} +Li.findCompoundLoopPoints = function (t, e, r, n) { + var i = t._private.rscratch + i.edgeType = "compound" + var a = e.srcPos, + s = e.tgtPos, + o = e.srcW, + l = e.srcH, + u = e.tgtW, + h = e.tgtH, + d = t.pstyle("control-point-step-size").pfValue, + f = t.pstyle("control-point-distances"), + p = f ? f.pfValue[0] : void 0, + g = r, + m = d + n && ((g = 0), (m = p)) + var v = 50, + y = { x: a.x - o / 2, y: a.y - l / 2 }, + b = { x: s.x - u / 2, y: s.y - h / 2 }, + w = { x: Math.min(y.x, b.x), y: Math.min(y.y, b.y) }, + T = 0.5, + E = Math.max(T, Math.log(o * rg)), + S = Math.max(T, Math.log(u * rg)) + i.ctrlpts = [ + w.x, + w.y - (1 + Math.pow(v, 1.12) / 100) * m * (g / 3 + 1) * E, + w.x - (1 + Math.pow(v, 1.12) / 100) * m * (g / 3 + 1) * S, + w.y, + ] +} +Li.findStraightEdgePoints = function (t) { + t._private.rscratch.edgeType = "straight" +} +Li.findBezierPoints = function (t, e, r, n, i) { + var a = t._private.rscratch, + s = t.pstyle("control-point-step-size").pfValue, + o = t.pstyle("control-point-distances"), + l = t.pstyle("control-point-weights"), + u = o && l ? Math.min(o.value.length, l.value.length) : 1, + h = o ? o.pfValue[0] : void 0, + d = l.value[0], + f = n + ;(a.edgeType = f ? "multibezier" : "bezier"), (a.ctrlpts = []) + for (var p = 0; p < u; p++) { + var g = (0.5 - e.eles.length / 2 + r) * s * (i ? -1 : 1), + m = void 0, + v = gS(g) + f && ((h = o ? o.pfValue[p] : s), (d = l.value[p])), n ? (m = h) : (m = h !== void 0 ? v * h : void 0) + var y = m !== void 0 ? m : g, + b = 1 - d, + w = d, + T = this.findMidptPtsEtc(t, e), + E = T.midptPts, + S = T.vectorNormInverse, + k = { x: E.x1 * b + E.x2 * w, y: E.y1 * b + E.y2 * w } + a.ctrlpts.push(k.x + S.x * y, k.y + S.y * y) + } +} +Li.findTaxiPoints = function (t, e) { + var r = t._private.rscratch + r.edgeType = "segments" + var n = "vertical", + i = "horizontal", + a = "leftward", + s = "rightward", + o = "downward", + l = "upward", + u = "auto", + h = e.posPts, + d = e.srcW, + f = e.srcH, + p = e.tgtW, + g = e.tgtH, + m = t.pstyle("edge-distances").value, + v = m !== "node-position", + y = t.pstyle("taxi-direction").value, + b = y, + w = t.pstyle("taxi-turn"), + T = w.units === "%", + E = w.pfValue, + S = E < 0, + k = t.pstyle("taxi-turn-min-distance").pfValue, + L = v ? (d + p) / 2 : 0, + A = v ? (f + g) / 2 : 0, + R = h.x2 - h.x1, + C = h.y2 - h.y1, + I = function ($, se) { + return $ > 0 ? Math.max($ - se, 0) : Math.min($ + se, 0) + }, + P = I(R, L), + _ = I(C, A), + N = !1 + b === u + ? (y = Math.abs(P) > Math.abs(_) ? i : n) + : b === l || b === o + ? ((y = n), (N = !0)) + : (b === a || b === s) && ((y = i), (N = !0)) + var M = y === n, + O = M ? _ : P, + D = M ? C : R, + B = gS(D), + z = !1 + !(N && (T || S)) && + ((b === o && D < 0) || (b === l && D > 0) || (b === a && D > 0) || (b === s && D < 0)) && + ((B *= -1), (O = B * Math.abs(O)), (z = !0)) + var F + if (T) { + var G = E < 0 ? 1 + E : E + F = G * O + } else { + var q = E < 0 ? O : 0 + F = q + E * B + } + var Y = function ($) { + return Math.abs($) < k || Math.abs($) >= Math.abs(O) + }, + ee = Y(F), + Q = Y(Math.abs(O) - Math.abs(F)), + oe = ee || Q + if (oe && !z) + if (M) { + var pe = Math.abs(D) <= f / 2, + j = Math.abs(R) <= p / 2 + if (pe) { + var H = (h.x1 + h.x2) / 2, + X = h.y1, + W = h.y2 + r.segpts = [H, X, H, W] + } else if (j) { + var K = (h.y1 + h.y2) / 2, + ne = h.x1, + Z = h.x2 + r.segpts = [ne, K, Z, K] + } else r.segpts = [h.x1, h.y2] + } else { + var be = Math.abs(D) <= d / 2, + ce = Math.abs(C) <= g / 2 + if (be) { + var re = (h.y1 + h.y2) / 2, + Ne = h.x1, + me = h.x2 + r.segpts = [Ne, re, me, re] + } else if (ce) { + var Ve = (h.x1 + h.x2) / 2, + Ue = h.y1, + Fe = h.y2 + r.segpts = [Ve, Ue, Ve, Fe] + } else r.segpts = [h.x2, h.y1] + } + else if (M) { + var _e = h.y1 + F + (v ? (f / 2) * B : 0), + Oe = h.x1, + Ce = h.x2 + r.segpts = [Oe, _e, Ce, _e] + } else { + var Le = h.x1 + F + (v ? (d / 2) * B : 0), + ze = h.y1, + ge = h.y2 + r.segpts = [Le, ze, Le, ge] + } + if (r.isRound) { + var Me = t.pstyle("taxi-radius").value, + J = t.pstyle("radius-type").value[0] === "arc-radius" + ;(r.radii = new Array(r.segpts.length / 2).fill(Me)), (r.isArcRadius = new Array(r.segpts.length / 2).fill(J)) + } +} +Li.tryToCorrectInvalidPoints = function (t, e) { + var r = t._private.rscratch + if (r.edgeType === "bezier") { + var n = e.srcPos, + i = e.tgtPos, + a = e.srcW, + s = e.srcH, + o = e.tgtW, + l = e.tgtH, + u = e.srcShape, + h = e.tgtShape, + d = e.srcCornerRadius, + f = e.tgtCornerRadius, + p = e.srcRs, + g = e.tgtRs, + m = !gt(r.startX) || !gt(r.startY), + v = !gt(r.arrowStartX) || !gt(r.arrowStartY), + y = !gt(r.endX) || !gt(r.endY), + b = !gt(r.arrowEndX) || !gt(r.arrowEndY), + w = 3, + T = this.getArrowWidth(t.pstyle("width").pfValue, t.pstyle("arrow-scale").value) * this.arrowShapeWidth, + E = w * T, + S = lu({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.startX, y: r.startY }), + k = S < E, + L = lu({ x: r.ctrlpts[0], y: r.ctrlpts[1] }, { x: r.endX, y: r.endY }), + A = L < E, + R = !1 + if (m || v || k) { + R = !0 + var C = { x: r.ctrlpts[0] - n.x, y: r.ctrlpts[1] - n.y }, + I = Math.sqrt(C.x * C.x + C.y * C.y), + P = { x: C.x / I, y: C.y / I }, + _ = Math.max(a, s), + N = { x: r.ctrlpts[0] + P.x * 2 * _, y: r.ctrlpts[1] + P.y * 2 * _ }, + M = u.intersectLine(n.x, n.y, a, s, N.x, N.y, 0, d, p) + k + ? ((r.ctrlpts[0] = r.ctrlpts[0] + P.x * (E - S)), (r.ctrlpts[1] = r.ctrlpts[1] + P.y * (E - S))) + : ((r.ctrlpts[0] = M[0] + P.x * E), (r.ctrlpts[1] = M[1] + P.y * E)) + } + if (y || b || A) { + R = !0 + var O = { x: r.ctrlpts[0] - i.x, y: r.ctrlpts[1] - i.y }, + D = Math.sqrt(O.x * O.x + O.y * O.y), + B = { x: O.x / D, y: O.y / D }, + z = Math.max(a, s), + F = { x: r.ctrlpts[0] + B.x * 2 * z, y: r.ctrlpts[1] + B.y * 2 * z }, + G = h.intersectLine(i.x, i.y, o, l, F.x, F.y, 0, f, g) + A + ? ((r.ctrlpts[0] = r.ctrlpts[0] + B.x * (E - L)), (r.ctrlpts[1] = r.ctrlpts[1] + B.y * (E - L))) + : ((r.ctrlpts[0] = G[0] + B.x * E), (r.ctrlpts[1] = G[1] + B.y * E)) + } + R && this.findEndpoints(t) + } +} +Li.storeAllpts = function (t) { + var e = t._private.rscratch + if (e.edgeType === "multibezier" || e.edgeType === "bezier" || e.edgeType === "self" || e.edgeType === "compound") { + ;(e.allpts = []), e.allpts.push(e.startX, e.startY) + for (var r = 0; r + 1 < e.ctrlpts.length; r += 2) + e.allpts.push(e.ctrlpts[r], e.ctrlpts[r + 1]), + r + 3 < e.ctrlpts.length && + e.allpts.push((e.ctrlpts[r] + e.ctrlpts[r + 2]) / 2, (e.ctrlpts[r + 1] + e.ctrlpts[r + 3]) / 2) + e.allpts.push(e.endX, e.endY) + var n, i + ;(e.ctrlpts.length / 2) % 2 === 0 + ? ((n = e.allpts.length / 2 - 1), (e.midX = e.allpts[n]), (e.midY = e.allpts[n + 1])) + : ((n = e.allpts.length / 2 - 3), + (i = 0.5), + (e.midX = Yn(e.allpts[n], e.allpts[n + 2], e.allpts[n + 4], i)), + (e.midY = Yn(e.allpts[n + 1], e.allpts[n + 3], e.allpts[n + 5], i))) + } else if (e.edgeType === "straight") + (e.allpts = [e.startX, e.startY, e.endX, e.endY]), + (e.midX = (e.startX + e.endX + e.arrowStartX + e.arrowEndX) / 4), + (e.midY = (e.startY + e.endY + e.arrowStartY + e.arrowEndY) / 4) + else if (e.edgeType === "segments") { + if ( + ((e.allpts = []), + e.allpts.push(e.startX, e.startY), + e.allpts.push.apply(e.allpts, e.segpts), + e.allpts.push(e.endX, e.endY), + e.isRound) + ) { + e.roundCorners = [] + for (var a = 2; a + 3 < e.allpts.length; a += 2) { + var s = e.radii[a / 2 - 1], + o = e.isArcRadius[a / 2 - 1] + e.roundCorners.push( + _S( + { x: e.allpts[a - 2], y: e.allpts[a - 1] }, + { x: e.allpts[a], y: e.allpts[a + 1], radius: s }, + { x: e.allpts[a + 2], y: e.allpts[a + 3] }, + s, + o, + ), + ) + } + } + if (e.segpts.length % 4 === 0) { + var l = e.segpts.length / 2, + u = l - 2 + ;(e.midX = (e.segpts[u] + e.segpts[l]) / 2), (e.midY = (e.segpts[u + 1] + e.segpts[l + 1]) / 2) + } else { + var h = e.segpts.length / 2 - 1 + if (!e.isRound) (e.midX = e.segpts[h]), (e.midY = e.segpts[h + 1]) + else { + var d = { x: e.segpts[h], y: e.segpts[h + 1] }, + f = e.roundCorners[h / 2] + if (f.radius === 0) { + var p = { x: e.segpts[h + 2], y: e.segpts[h + 3] } + ;(e.midX = d.x), (e.midY = d.y), (e.midVector = [d.y - p.y, p.x - d.x]) + } else { + var g = [d.x - f.cx, d.y - f.cy], + m = f.radius / Math.sqrt(Math.pow(g[0], 2) + Math.pow(g[1], 2)) + ;(g = g.map(function (v) { + return v * m + })), + (e.midX = f.cx + g[0]), + (e.midY = f.cy + g[1]), + (e.midVector = g) + } + } + } + } +} +Li.checkForInvalidEdgeWarning = function (t) { + var e = t[0]._private.rscratch + e.nodesOverlap || (gt(e.startX) && gt(e.startY) && gt(e.endX) && gt(e.endY)) + ? (e.loggedErr = !1) + : e.loggedErr || + ((e.loggedErr = !0), + Sr( + "Edge `" + + t.id() + + "` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.", + )) +} +Li.findEdgeControlPoints = function (t) { + var e = this + if (!(!t || t.length === 0)) { + for ( + var r = this, + n = r.cy, + i = n.hasCompoundNodes(), + a = new Io(), + s = function (A, R) { + return [].concat(Yy(A), [R ? 1 : 0]).join("-") + }, + o = [], + l = [], + u = 0; + u < t.length; + u++ + ) { + var h = t[u], + d = h._private, + f = h.pstyle("curve-style").value + if (!(h.removed() || !h.takesUpSpace())) { + if (f === "haystack") { + l.push(h) + continue + } + var p = + f === "unbundled-bezier" || + f.endsWith("segments") || + f === "straight" || + f === "straight-triangle" || + f.endsWith("taxi"), + g = f === "unbundled-bezier" || f === "bezier", + m = d.source, + v = d.target, + y = m.poolIndex(), + b = v.poolIndex(), + w = [y, b].sort(), + T = s(w, p), + E = a.get(T) + E == null && ((E = { eles: [] }), o.push({ pairId: w, edgeIsUnbundled: p }), a.set(T, E)), + E.eles.push(h), + p && (E.hasUnbundled = !0), + g && (E.hasBezier = !0) + } + } + for ( + var S = function () { + var A = o[k], + R = A.pairId, + C = A.edgeIsUnbundled, + I = s(R, C), + P = a.get(I), + _ + if (!P.hasUnbundled) { + var N = P.eles[0].parallelEdges().filter(function (J) { + return J.isBundledBezier() + }) + fS(P.eles), + N.forEach(function (J) { + return P.eles.push(J) + }), + P.eles.sort(function (J, ue) { + return J.poolIndex() - ue.poolIndex() + }) + } + var M = P.eles[0], + O = M.source(), + D = M.target() + if (O.poolIndex() > D.poolIndex()) { + var B = O + ;(O = D), (D = B) + } + var z = (P.srcPos = O.position()), + F = (P.tgtPos = D.position()), + G = (P.srcW = O.outerWidth()), + q = (P.srcH = O.outerHeight()), + Y = (P.tgtW = D.outerWidth()), + ee = (P.tgtH = D.outerHeight()), + Q = (P.srcShape = r.nodeShapes[e.getNodeShape(O)]), + oe = (P.tgtShape = r.nodeShapes[e.getNodeShape(D)]), + pe = (P.srcCornerRadius = + O.pstyle("corner-radius").value === "auto" ? "auto" : O.pstyle("corner-radius").pfValue), + j = (P.tgtCornerRadius = + D.pstyle("corner-radius").value === "auto" ? "auto" : D.pstyle("corner-radius").pfValue), + H = (P.tgtRs = D._private.rscratch), + X = (P.srcRs = O._private.rscratch) + P.dirCounts = { + north: 0, + west: 0, + south: 0, + east: 0, + northwest: 0, + southwest: 0, + northeast: 0, + southeast: 0, + } + for (var W = 0; W < P.eles.length; W++) { + var K = P.eles[W], + ne = K[0]._private.rscratch, + Z = K.pstyle("curve-style").value, + be = Z === "unbundled-bezier" || Z.endsWith("segments") || Z.endsWith("taxi"), + ce = !O.same(K.source()) + if (!P.calculatedIntersection && O !== D && (P.hasBezier || P.hasUnbundled)) { + P.calculatedIntersection = !0 + var re = Q.intersectLine(z.x, z.y, G, q, F.x, F.y, 0, pe, X), + Ne = (P.srcIntn = re), + me = oe.intersectLine(F.x, F.y, Y, ee, z.x, z.y, 0, j, H), + Ve = (P.tgtIntn = me), + Ue = (P.intersectionPts = { x1: re[0], x2: me[0], y1: re[1], y2: me[1] }), + Fe = (P.posPts = { x1: z.x, x2: F.x, y1: z.y, y2: F.y }), + _e = me[1] - re[1], + Oe = me[0] - re[0], + Ce = Math.sqrt(Oe * Oe + _e * _e) + ;(gt(Ce) && Ce >= qCe) || (Ce = Math.sqrt(Math.max(Oe * Oe, rg) + Math.max(_e * _e, rg))) + var Le = (P.vector = { x: Oe, y: _e }), + ze = (P.vectorNorm = { x: Le.x / Ce, y: Le.y / Ce }), + ge = { x: -ze.y, y: ze.x } + ;(P.nodesOverlap = + !gt(Ce) || + oe.checkPoint(re[0], re[1], 0, Y, ee, F.x, F.y, j, H) || + Q.checkPoint(me[0], me[1], 0, G, q, z.x, z.y, pe, X)), + (P.vectorNormInverse = ge), + (_ = { + nodesOverlap: P.nodesOverlap, + dirCounts: P.dirCounts, + calculatedIntersection: !0, + hasBezier: P.hasBezier, + hasUnbundled: P.hasUnbundled, + eles: P.eles, + srcPos: F, + srcRs: H, + tgtPos: z, + tgtRs: X, + srcW: Y, + srcH: ee, + tgtW: G, + tgtH: q, + srcIntn: Ve, + tgtIntn: Ne, + srcShape: oe, + tgtShape: Q, + posPts: { x1: Fe.x2, y1: Fe.y2, x2: Fe.x1, y2: Fe.y1 }, + intersectionPts: { x1: Ue.x2, y1: Ue.y2, x2: Ue.x1, y2: Ue.y1 }, + vector: { x: -Le.x, y: -Le.y }, + vectorNorm: { x: -ze.x, y: -ze.y }, + vectorNormInverse: { x: -ge.x, y: -ge.y }, + }) + } + var Me = ce ? _ : P + ;(ne.nodesOverlap = Me.nodesOverlap), + (ne.srcIntn = Me.srcIntn), + (ne.tgtIntn = Me.tgtIntn), + (ne.isRound = Z.startsWith("round")), + i && + (O.isParent() || O.isChild() || D.isParent() || D.isChild()) && + (O.parents().anySame(D) || D.parents().anySame(O) || (O.same(D) && O.isParent())) + ? e.findCompoundLoopPoints(K, Me, W, be) + : O === D + ? e.findLoopPoints(K, Me, W, be) + : Z.endsWith("segments") + ? e.findSegmentsPoints(K, Me) + : Z.endsWith("taxi") + ? e.findTaxiPoints(K, Me) + : Z === "straight" || + (!be && + P.eles.length % 2 === 1 && + W === Math.floor(P.eles.length / 2)) + ? e.findStraightEdgePoints(K) + : e.findBezierPoints(K, Me, W, be, ce), + e.findEndpoints(K), + e.tryToCorrectInvalidPoints(K, Me), + e.checkForInvalidEdgeWarning(K), + e.storeAllpts(K), + e.storeEdgeProjections(K), + e.calculateArrowAngles(K), + e.recalculateEdgeLabelProjections(K), + e.calculateLabelAngles(K) + } + }, + k = 0; + k < o.length; + k++ + ) + S() + this.findHaystackPoints(l) + } +} +function kW(t) { + var e = [] + if (t != null) { + for (var r = 0; r < t.length; r += 2) { + var n = t[r], + i = t[r + 1] + e.push({ x: n, y: i }) + } + return e + } +} +Li.getSegmentPoints = function (t) { + var e = t[0]._private.rscratch + this.recalculateRenderedStyle(t) + var r = e.edgeType + if (r === "segments") return kW(e.segpts) +} +Li.getControlPoints = function (t) { + var e = t[0]._private.rscratch + this.recalculateRenderedStyle(t) + var r = e.edgeType + if (r === "bezier" || r === "multibezier" || r === "self" || r === "compound") return kW(e.ctrlpts) +} +Li.getEdgeMidpoint = function (t) { + var e = t[0]._private.rscratch + return this.recalculateRenderedStyle(t), { x: e.midX, y: e.midY } +} +var jg = {} +jg.manualEndptToPx = function (t, e) { + var r = this, + n = t.position(), + i = t.outerWidth(), + a = t.outerHeight(), + s = t._private.rscratch + if (e.value.length === 2) { + var o = [e.pfValue[0], e.pfValue[1]] + return ( + e.units[0] === "%" && (o[0] = o[0] * i), + e.units[1] === "%" && (o[1] = o[1] * a), + (o[0] += n.x), + (o[1] += n.y), + o + ) + } else { + var l = e.pfValue[0] + l = -Math.PI / 2 + l + var u = 2 * Math.max(i, a), + h = [n.x + Math.cos(l) * u, n.y + Math.sin(l) * u] + return r.nodeShapes[this.getNodeShape(t)].intersectLine( + n.x, + n.y, + i, + a, + h[0], + h[1], + 0, + t.pstyle("corner-radius").value === "auto" ? "auto" : t.pstyle("corner-radius").pfValue, + s, + ) + } +} +jg.findEndpoints = function (t) { + var e = this, + r, + n = t.source()[0], + i = t.target()[0], + a = n.position(), + s = i.position(), + o = t.pstyle("target-arrow-shape").value, + l = t.pstyle("source-arrow-shape").value, + u = t.pstyle("target-distance-from-node").pfValue, + h = t.pstyle("source-distance-from-node").pfValue, + d = n._private.rscratch, + f = i._private.rscratch, + p = t.pstyle("curve-style").value, + g = t._private.rscratch, + m = g.edgeType, + v = p === "taxi", + y = m === "self" || m === "compound", + b = m === "bezier" || m === "multibezier" || y, + w = m !== "bezier", + T = m === "straight" || m === "segments", + E = m === "segments", + S = b || w || T, + k = y || v, + L = t.pstyle("source-endpoint"), + A = k ? "outside-to-node" : L.value, + R = n.pstyle("corner-radius").value === "auto" ? "auto" : n.pstyle("corner-radius").pfValue, + C = t.pstyle("target-endpoint"), + I = k ? "outside-to-node" : C.value, + P = i.pstyle("corner-radius").value === "auto" ? "auto" : i.pstyle("corner-radius").pfValue + ;(g.srcManEndpt = L), (g.tgtManEndpt = C) + var _, N, M, O + if (b) { + var D = [g.ctrlpts[0], g.ctrlpts[1]], + B = w ? [g.ctrlpts[g.ctrlpts.length - 2], g.ctrlpts[g.ctrlpts.length - 1]] : D + ;(_ = B), (N = D) + } else if (T) { + var z = E ? g.segpts.slice(0, 2) : [s.x, s.y], + F = E ? g.segpts.slice(g.segpts.length - 2) : [a.x, a.y] + ;(_ = F), (N = z) + } + if (I === "inside-to-node") r = [s.x, s.y] + else if (C.units) r = this.manualEndptToPx(i, C) + else if (I === "outside-to-line") r = g.tgtIntn + else if ( + (I === "outside-to-node" || I === "outside-to-node-or-label" + ? (M = _) + : (I === "outside-to-line" || I === "outside-to-line-or-label") && (M = [a.x, a.y]), + (r = e.nodeShapes[this.getNodeShape(i)].intersectLine( + s.x, + s.y, + i.outerWidth(), + i.outerHeight(), + M[0], + M[1], + 0, + P, + f, + )), + I === "outside-to-node-or-label" || I === "outside-to-line-or-label") + ) { + var G = i._private.rscratch, + q = G.labelWidth, + Y = G.labelHeight, + ee = G.labelX, + Q = G.labelY, + oe = q / 2, + pe = Y / 2, + j = i.pstyle("text-valign").value + j === "top" ? (Q -= pe) : j === "bottom" && (Q += pe) + var H = i.pstyle("text-halign").value + H === "left" ? (ee -= oe) : H === "right" && (ee += oe) + var X = Zp(M[0], M[1], [ee - oe, Q - pe, ee + oe, Q - pe, ee + oe, Q + pe, ee - oe, Q + pe], s.x, s.y) + if (X.length > 0) { + var W = a, + K = xc(W, lh(r)), + ne = xc(W, lh(X)), + Z = K + if ((ne < K && ((r = X), (Z = ne)), X.length > 2)) { + var be = xc(W, { x: X[2], y: X[3] }) + be < Z && (r = [X[2], X[3]]) + } + } + } + var ce = j1(r, _, e.arrowShapes[o].spacing(t) + u), + re = j1(r, _, e.arrowShapes[o].gap(t) + u) + if (((g.endX = re[0]), (g.endY = re[1]), (g.arrowEndX = ce[0]), (g.arrowEndY = ce[1]), A === "inside-to-node")) + r = [a.x, a.y] + else if (L.units) r = this.manualEndptToPx(n, L) + else if (A === "outside-to-line") r = g.srcIntn + else if ( + (A === "outside-to-node" || A === "outside-to-node-or-label" + ? (O = N) + : (A === "outside-to-line" || A === "outside-to-line-or-label") && (O = [s.x, s.y]), + (r = e.nodeShapes[this.getNodeShape(n)].intersectLine( + a.x, + a.y, + n.outerWidth(), + n.outerHeight(), + O[0], + O[1], + 0, + R, + d, + )), + A === "outside-to-node-or-label" || A === "outside-to-line-or-label") + ) { + var Ne = n._private.rscratch, + me = Ne.labelWidth, + Ve = Ne.labelHeight, + Ue = Ne.labelX, + Fe = Ne.labelY, + _e = me / 2, + Oe = Ve / 2, + Ce = n.pstyle("text-valign").value + Ce === "top" ? (Fe -= Oe) : Ce === "bottom" && (Fe += Oe) + var Le = n.pstyle("text-halign").value + Le === "left" ? (Ue -= _e) : Le === "right" && (Ue += _e) + var ze = Zp(O[0], O[1], [Ue - _e, Fe - Oe, Ue + _e, Fe - Oe, Ue + _e, Fe + Oe, Ue - _e, Fe + Oe], a.x, a.y) + if (ze.length > 0) { + var ge = s, + Me = xc(ge, lh(r)), + J = xc(ge, lh(ze)), + ue = Me + if ((J < Me && ((r = [ze[0], ze[1]]), (ue = J)), ze.length > 2)) { + var $ = xc(ge, { x: ze[2], y: ze[3] }) + $ < ue && (r = [ze[2], ze[3]]) + } + } + } + var se = j1(r, N, e.arrowShapes[l].spacing(t) + h), + ae = j1(r, N, e.arrowShapes[l].gap(t) + h) + ;(g.startX = ae[0]), + (g.startY = ae[1]), + (g.arrowStartX = se[0]), + (g.arrowStartY = se[1]), + S && (!gt(g.startX) || !gt(g.startY) || !gt(g.endX) || !gt(g.endY) ? (g.badLine = !0) : (g.badLine = !1)) +} +jg.getSourceEndpoint = function (t) { + var e = t[0]._private.rscratch + switch ((this.recalculateRenderedStyle(t), e.edgeType)) { + case "haystack": + return { x: e.haystackPts[0], y: e.haystackPts[1] } + default: + return { x: e.arrowStartX, y: e.arrowStartY } + } +} +jg.getTargetEndpoint = function (t) { + var e = t[0]._private.rscratch + switch ((this.recalculateRenderedStyle(t), e.edgeType)) { + case "haystack": + return { x: e.haystackPts[2], y: e.haystackPts[3] } + default: + return { x: e.arrowEndX, y: e.arrowEndY } + } +} +var LS = {} +function WCe(t, e, r) { + for ( + var n = function (u, h, d, f) { + return Yn(u, h, d, f) + }, + i = e._private, + a = i.rstyle.bezierPts, + s = 0; + s < t.bezierProjPcts.length; + s++ + ) { + var o = t.bezierProjPcts[s] + a.push({ x: n(r[0], r[2], r[4], o), y: n(r[1], r[3], r[5], o) }) + } +} +LS.storeEdgeProjections = function (t) { + var e = t._private, + r = e.rscratch, + n = r.edgeType + if ( + ((e.rstyle.bezierPts = null), + (e.rstyle.linePts = null), + (e.rstyle.haystackPts = null), + n === "multibezier" || n === "bezier" || n === "self" || n === "compound") + ) { + e.rstyle.bezierPts = [] + for (var i = 0; i + 5 < r.allpts.length; i += 4) WCe(this, t, r.allpts.slice(i, i + 6)) + } else if (n === "segments") + for (var a = (e.rstyle.linePts = []), i = 0; i + 1 < r.allpts.length; i += 2) + a.push({ x: r.allpts[i], y: r.allpts[i + 1] }) + else if (n === "haystack") { + var s = r.haystackPts + e.rstyle.haystackPts = [ + { x: s[0], y: s[1] }, + { x: s[2], y: s[3] }, + ] + } + e.rstyle.arrowWidth = + this.getArrowWidth(t.pstyle("width").pfValue, t.pstyle("arrow-scale").value) * this.arrowShapeWidth +} +LS.recalculateEdgeProjections = function (t) { + this.findEdgeControlPoints(t) +} +var uo = {} +uo.recalculateNodeLabelProjection = function (t) { + var e = t.pstyle("label").strValue + if (!zl(e)) { + var r, + n, + i = t._private, + a = t.width(), + s = t.height(), + o = t.padding(), + l = t.position(), + u = t.pstyle("text-halign").strValue, + h = t.pstyle("text-valign").strValue, + d = i.rscratch, + f = i.rstyle + switch (u) { + case "left": + r = l.x - a / 2 - o + break + case "right": + r = l.x + a / 2 + o + break + default: + r = l.x + } + switch (h) { + case "top": + n = l.y - s / 2 - o + break + case "bottom": + n = l.y + s / 2 + o + break + default: + n = l.y + } + ;(d.labelX = r), + (d.labelY = n), + (f.labelX = r), + (f.labelY = n), + this.calculateLabelAngles(t), + this.applyLabelDimensions(t) + } +} +var SW = function (e, r) { + var n = Math.atan(r / e) + return e === 0 && n < 0 && (n = n * -1), n + }, + CW = function (e, r) { + var n = r.x - e.x, + i = r.y - e.y + return SW(n, i) + }, + HCe = function (e, r, n, i) { + var a = Kp(0, i - 0.001, 1), + s = Kp(0, i + 0.001, 1), + o = Eh(e, r, n, a), + l = Eh(e, r, n, s) + return CW(o, l) + } +uo.recalculateEdgeLabelProjections = function (t) { + var e, + r = t._private, + n = r.rscratch, + i = this, + a = { + mid: t.pstyle("label").strValue, + source: t.pstyle("source-label").strValue, + target: t.pstyle("target-label").strValue, + } + if (a.mid || a.source || a.target) { + e = { x: n.midX, y: n.midY } + var s = function (d, f, p) { + Co(r.rscratch, d, f, p), Co(r.rstyle, d, f, p) + } + s("labelX", null, e.x), s("labelY", null, e.y) + var o = SW(n.midDispX, n.midDispY) + s("labelAutoAngle", null, o) + var l = function () { + if (l.cache) return l.cache + for (var d = [], f = 0; f + 5 < n.allpts.length; f += 4) { + var p = { x: n.allpts[f], y: n.allpts[f + 1] }, + g = { x: n.allpts[f + 2], y: n.allpts[f + 3] }, + m = { x: n.allpts[f + 4], y: n.allpts[f + 5] } + d.push({ p0: p, p1: g, p2: m, startDist: 0, length: 0, segments: [] }) + } + var v = r.rstyle.bezierPts, + y = i.bezierProjPcts.length + function b(k, L, A, R, C) { + var I = lu(L, A), + P = k.segments[k.segments.length - 1], + _ = { p0: L, p1: A, t0: R, t1: C, startDist: P ? P.startDist + P.length : 0, length: I } + k.segments.push(_), (k.length += I) + } + for (var w = 0; w < d.length; w++) { + var T = d[w], + E = d[w - 1] + E && (T.startDist = E.startDist + E.length), b(T, T.p0, v[w * y], 0, i.bezierProjPcts[0]) + for (var S = 0; S < y - 1; S++) + b(T, v[w * y + S], v[w * y + S + 1], i.bezierProjPcts[S], i.bezierProjPcts[S + 1]) + b(T, v[w * y + y - 1], T.p2, i.bezierProjPcts[y - 1], 1) + } + return (l.cache = d) + }, + u = function (d) { + var f, + p = d === "source" + if (a[d]) { + var g = t.pstyle(d + "-text-offset").pfValue + switch (n.edgeType) { + case "self": + case "compound": + case "bezier": + case "multibezier": { + for (var m = l(), v, y = 0, b = 0, w = 0; w < m.length; w++) { + for (var T = m[p ? w : m.length - 1 - w], E = 0; E < T.segments.length; E++) { + var S = T.segments[p ? E : T.segments.length - 1 - E], + k = w === m.length - 1 && E === T.segments.length - 1 + if (((y = b), (b += S.length), b >= g || k)) { + v = { cp: T, segment: S } + break + } + } + if (v) break + } + var L = v.cp, + A = v.segment, + R = (g - y) / A.length, + C = A.t1 - A.t0, + I = p ? A.t0 + C * R : A.t1 - C * R + ;(I = Kp(0, I, 1)), (e = Eh(L.p0, L.p1, L.p2, I)), (f = HCe(L.p0, L.p1, L.p2, I)) + break + } + case "straight": + case "segments": + case "haystack": { + for ( + var P = 0, _, N, M, O, D = n.allpts.length, B = 0; + B + 3 < D && + (p + ? ((M = { x: n.allpts[B], y: n.allpts[B + 1] }), + (O = { x: n.allpts[B + 2], y: n.allpts[B + 3] })) + : ((M = { x: n.allpts[D - 2 - B], y: n.allpts[D - 1 - B] }), + (O = { x: n.allpts[D - 4 - B], y: n.allpts[D - 3 - B] })), + (_ = lu(M, O)), + (N = P), + (P += _), + !(P >= g)); + B += 2 + ); + var z = g - N, + F = z / _ + ;(F = Kp(0, F, 1)), (e = pke(M, O, F)), (f = CW(M, O)) + break + } + } + s("labelX", d, e.x), s("labelY", d, e.y), s("labelAutoAngle", d, f) + } + } + u("source"), u("target"), this.applyLabelDimensions(t) + } +} +uo.applyLabelDimensions = function (t) { + this.applyPrefixedLabelDimensions(t), + t.isEdge() && (this.applyPrefixedLabelDimensions(t, "source"), this.applyPrefixedLabelDimensions(t, "target")) +} +uo.applyPrefixedLabelDimensions = function (t, e) { + var r = t._private, + n = this.getLabelText(t, e), + i = ou(n, t._private.labelDimsKey) + if (Ji(r.rscratch, "prefixedLabelDimsKey", e) !== i) { + Co(r.rscratch, "prefixedLabelDimsKey", e, i) + var a = this.calculateLabelDimensions(t, n), + s = t.pstyle("line-height").pfValue, + o = t.pstyle("text-wrap").strValue, + l = Ji(r.rscratch, "labelWrapCachedLines", e) || [], + u = o !== "wrap" ? 1 : Math.max(l.length, 1), + h = a.height / u, + d = h * s, + f = a.width, + p = a.height + (u - 1) * (s - 1) * h + Co(r.rstyle, "labelWidth", e, f), + Co(r.rscratch, "labelWidth", e, f), + Co(r.rstyle, "labelHeight", e, p), + Co(r.rscratch, "labelHeight", e, p), + Co(r.rscratch, "labelLineHeight", e, d) + } +} +uo.getLabelText = function (t, e) { + var r = t._private, + n = e ? e + "-" : "", + i = t.pstyle(n + "label").strValue, + a = t.pstyle("text-transform").value, + s = function (q, Y) { + return Y ? (Co(r.rscratch, q, e, Y), Y) : Ji(r.rscratch, q, e) + } + if (!i) return "" + a == "none" || (a == "uppercase" ? (i = i.toUpperCase()) : a == "lowercase" && (i = i.toLowerCase())) + var o = t.pstyle("text-wrap").value + if (o === "wrap") { + var l = s("labelKey") + if (l != null && s("labelWrapKey") === l) return s("labelWrapCachedText") + for ( + var u = "​", + h = i.split(` +`), + d = t.pstyle("text-max-width").pfValue, + f = t.pstyle("text-overflow-wrap").value, + p = f === "anywhere", + g = [], + m = /[\s\u200b]+|$/g, + v = 0; + v < h.length; + v++ + ) { + var y = h[v], + b = this.calculateLabelDimensions(t, y), + w = b.width + if (p) { + var T = y.split("").join(u) + y = T + } + if (w > d) { + var E = y.matchAll(m), + S = "", + k = 0, + L = na(E), + A + try { + for (L.s(); !(A = L.n()).done; ) { + var R = A.value, + C = R[0], + I = y.substring(k, R.index) + k = R.index + C.length + var P = S.length === 0 ? I : S + I + C, + _ = this.calculateLabelDimensions(t, P), + N = _.width + N <= d ? (S += I + C) : (S && g.push(S), (S = I + C)) + } + } catch (G) { + L.e(G) + } finally { + L.f() + } + S.match(/^[\s\u200b]+$/) || g.push(S) + } else g.push(y) + } + s("labelWrapCachedLines", g), + (i = s( + "labelWrapCachedText", + g.join(` +`), + )), + s("labelWrapKey", l) + } else if (o === "ellipsis") { + var M = t.pstyle("text-max-width").pfValue, + O = "", + D = "…", + B = !1 + if (this.calculateLabelDimensions(t, i).width < M) return i + for (var z = 0; z < i.length; z++) { + var F = this.calculateLabelDimensions(t, O + i[z] + D).width + if (F > M) break + ;(O += i[z]), z === i.length - 1 && (B = !0) + } + return B || (O += D), O + } + return i +} +uo.getLabelJustification = function (t) { + var e = t.pstyle("text-justification").strValue, + r = t.pstyle("text-halign").strValue + if (e === "auto") + if (t.isNode()) + switch (r) { + case "left": + return "right" + case "right": + return "left" + default: + return "center" + } + else return "center" + else return e +} +uo.calculateLabelDimensions = function (t, e) { + var r = this, + n = r.cy.window(), + i = n.document, + a = 0, + s = t.pstyle("font-style").strValue, + o = t.pstyle("font-size").pfValue, + l = t.pstyle("font-family").strValue, + u = t.pstyle("font-weight").strValue, + h = this.labelCalcCanvas, + d = this.labelCalcCanvasContext + if (!h) { + ;(h = this.labelCalcCanvas = i.createElement("canvas")), (d = this.labelCalcCanvasContext = h.getContext("2d")) + var f = h.style + ;(f.position = "absolute"), + (f.left = "-9999px"), + (f.top = "-9999px"), + (f.zIndex = "-1"), + (f.visibility = "hidden"), + (f.pointerEvents = "none") + } + d.font = "".concat(s, " ").concat(u, " ").concat(o, "px ").concat(l) + for ( + var p = 0, + g = 0, + m = e.split(` +`), + v = 0; + v < m.length; + v++ + ) { + var y = m[v], + b = d.measureText(y), + w = Math.ceil(b.width), + T = o + ;(p = Math.max(w, p)), (g += T) + } + return (p += a), (g += a), { width: p, height: g } +} +uo.calculateLabelAngle = function (t, e) { + var r = t._private, + n = r.rscratch, + i = t.isEdge(), + a = e ? e + "-" : "", + s = t.pstyle(a + "text-rotation"), + o = s.strValue + return o === "none" ? 0 : i && o === "autorotate" ? n.labelAutoAngle : o === "autorotate" ? 0 : s.pfValue +} +uo.calculateLabelAngles = function (t) { + var e = this, + r = t.isEdge(), + n = t._private, + i = n.rscratch + ;(i.labelAngle = e.calculateLabelAngle(t)), + r && + ((i.sourceLabelAngle = e.calculateLabelAngle(t, "source")), + (i.targetLabelAngle = e.calculateLabelAngle(t, "target"))) +} +var AW = {}, + WR = 28, + HR = !1 +AW.getNodeShape = function (t) { + var e = this, + r = t.pstyle("shape").value + if (r === "cutrectangle" && (t.width() < WR || t.height() < WR)) + return ( + HR || + (Sr("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"), + (HR = !0)), + "rectangle" + ) + if (t.isParent()) + return r === "rectangle" || + r === "roundrectangle" || + r === "round-rectangle" || + r === "cutrectangle" || + r === "cut-rectangle" || + r === "barrel" + ? r + : "rectangle" + if (r === "polygon") { + var n = t.pstyle("shape-polygon-points").value + return e.nodeShapes.makePolygon(n).name + } + return r +} +var Ux = {} +Ux.registerCalculationListeners = function () { + var t = this.cy, + e = t.collection(), + r = this, + n = function (s) { + var o = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0 + if ((e.merge(s), o)) + for (var l = 0; l < s.length; l++) { + var u = s[l], + h = u._private, + d = h.rstyle + ;(d.clean = !1), (d.cleanConnected = !1) + } + } + r.binder(t) + .on("bounds.* dirty.*", function (s) { + var o = s.target + n(o) + }) + .on("style.* background.*", function (s) { + var o = s.target + n(o, !1) + }) + var i = function (s) { + if (s) { + var o = r.onUpdateEleCalcsFns + e.cleanStyle() + for (var l = 0; l < e.length; l++) { + var u = e[l], + h = u._private.rstyle + u.isNode() && !h.cleanConnected && (n(u.connectedEdges()), (h.cleanConnected = !0)) + } + if (o) + for (var d = 0; d < o.length; d++) { + var f = o[d] + f(s, e) + } + r.recalculateRenderedStyle(e), (e = t.collection()) + } + } + ;(r.flushRenderedStyleQueue = function () { + i(!0) + }), + r.beforeRender(i, r.beforeRenderPriorities.eleCalcs) +} +Ux.onUpdateEleCalcs = function (t) { + var e = (this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []) + e.push(t) +} +Ux.recalculateRenderedStyle = function (t, e) { + var r = function (T) { + return T._private.rstyle.cleanConnected + } + if (t.length !== 0) { + var n = [], + i = [] + if (!this.destroyed) { + e === void 0 && (e = !0) + for (var a = 0; a < t.length; a++) { + var s = t[a], + o = s._private, + l = o.rstyle + s.isEdge() && (!r(s.source()) || !r(s.target())) && (l.clean = !1), + s.isEdge() && + s.isBundledBezier() && + s.parallelEdges().some(function (w) { + return !w._private.rstyle.clean && w.isBundledBezier() + }) && + (l.clean = !1), + !((e && l.clean) || s.removed()) && + s.pstyle("display").value !== "none" && + (o.group === "nodes" ? i.push(s) : n.push(s), (l.clean = !0)) + } + for (var u = 0; u < i.length; u++) { + var h = i[u], + d = h._private, + f = d.rstyle, + p = h.position() + this.recalculateNodeLabelProjection(h), + (f.nodeX = p.x), + (f.nodeY = p.y), + (f.nodeW = h.pstyle("width").pfValue), + (f.nodeH = h.pstyle("height").pfValue) + } + this.recalculateEdgeProjections(n) + for (var g = 0; g < n.length; g++) { + var m = n[g], + v = m._private, + y = v.rstyle, + b = v.rscratch + ;(y.srcX = b.arrowStartX), + (y.srcY = b.arrowStartY), + (y.tgtX = b.arrowEndX), + (y.tgtY = b.arrowEndY), + (y.midX = b.midX), + (y.midY = b.midY), + (y.labelAngle = b.labelAngle), + (y.sourceLabelAngle = b.sourceLabelAngle), + (y.targetLabelAngle = b.targetLabelAngle) + } + } + } +} +var qx = {} +qx.updateCachedGrabbedEles = function () { + var t = this.cachedZSortedEles + if (t) { + ;(t.drag = []), (t.nondrag = []) + for (var e = [], r = 0; r < t.length; r++) { + var n = t[r], + i = n._private.rscratch + n.grabbed() && !n.isParent() ? e.push(n) : i.inDragLayer ? t.drag.push(n) : t.nondrag.push(n) + } + for (var r = 0; r < e.length; r++) { + var n = e[r] + t.drag.push(n) + } + } +} +qx.invalidateCachedZSortedEles = function () { + this.cachedZSortedEles = null +} +qx.getCachedZSortedEles = function (t) { + if (t || !this.cachedZSortedEles) { + var e = this.cy.mutableElements().toArray() + e.sort(lW), + (e.interactive = e.filter(function (r) { + return r.interactive() + })), + (this.cachedZSortedEles = e), + this.updateCachedGrabbedEles() + } else e = this.cachedZSortedEles + return e +} +var _W = {} +;[Iu, n2, Li, jg, LS, uo, AW, Ux, qx].forEach(function (t) { + Gt(_W, t) +}) +var LW = {} +LW.getCachedImage = function (t, e, r) { + var n = this, + i = (n.imageCache = n.imageCache || {}), + a = i[t] + if (a) return a.image.complete || a.image.addEventListener("load", r), a.image + a = i[t] = i[t] || {} + var s = (a.image = new Image()) + s.addEventListener("load", r), + s.addEventListener("error", function () { + s.error = !0 + }) + var o = "data:", + l = t.substring(0, o.length).toLowerCase() === o + return l || ((e = e === "null" ? null : e), (s.crossOrigin = e)), (s.src = t), s +} +var Tf = {} +Tf.registerBinding = function (t, e, r, n) { + var i = Array.prototype.slice.apply(arguments, [1]) + if (Array.isArray(t)) { + for (var a = [], s = 0; s < t.length; s++) { + var o = t[s] + if (o !== void 0) { + var l = this.binder(o) + a.push(l.on.apply(l, i)) + } + } + return a + } + var l = this.binder(t) + return l.on.apply(l, i) +} +Tf.binder = function (t) { + var e = this, + r = e.cy.window(), + n = t === r || t === r.document || t === r.document.body || oEe(t) + if (e.supportsPassiveEvents == null) { + var i = !1 + try { + var a = Object.defineProperty({}, "passive", { + get: function () { + return (i = !0), !0 + }, + }) + r.addEventListener("test", null, a) + } catch {} + e.supportsPassiveEvents = i + } + var s = function (l, u, h) { + var d = Array.prototype.slice.call(arguments) + return ( + n && e.supportsPassiveEvents && (d[2] = { capture: h ?? !1, passive: !1, once: !1 }), + e.bindings.push({ target: t, args: d }), + (t.addEventListener || t.on).apply(t, d), + this + ) + } + return { on: s, addEventListener: s, addListener: s, bind: s } +} +Tf.nodeIsDraggable = function (t) { + return t && t.isNode() && !t.locked() && t.grabbable() +} +Tf.nodeIsGrabbable = function (t) { + return this.nodeIsDraggable(t) && t.interactive() +} +Tf.load = function () { + var t = this, + e = t.cy.window(), + r = function ($) { + return $.selected() + }, + n = function ($) { + var se = $.getRootNode() + if (se && se.nodeType === 11 && se.host !== void 0) return se + }, + i = function ($, se, ae, fe) { + $ == null && ($ = t.cy) + for (var he = 0; he < se.length; he++) { + var Te = se[he] + $.emit({ originalEvent: ae, type: Te, position: fe }) + } + }, + a = function ($) { + return $.shiftKey || $.metaKey || $.ctrlKey + }, + s = function ($, se) { + var ae = !0 + if (t.cy.hasCompoundNodes() && $ && $.pannable()) + for (var fe = 0; se && fe < se.length; fe++) { + var $ = se[fe] + if ($.isNode() && $.isParent() && !$.pannable()) { + ae = !1 + break + } + } + else ae = !0 + return ae + }, + o = function ($) { + $[0]._private.grabbed = !0 + }, + l = function ($) { + $[0]._private.grabbed = !1 + }, + u = function ($) { + $[0]._private.rscratch.inDragLayer = !0 + }, + h = function ($) { + $[0]._private.rscratch.inDragLayer = !1 + }, + d = function ($) { + $[0]._private.rscratch.isGrabTarget = !0 + }, + f = function ($) { + $[0]._private.rscratch.isGrabTarget = !1 + }, + p = function ($, se) { + var ae = se.addToList, + fe = ae.has($) + !fe && $.grabbable() && !$.locked() && (ae.merge($), o($)) + }, + g = function ($, se) { + if ($.cy().hasCompoundNodes() && !(se.inDragLayer == null && se.addToList == null)) { + var ae = $.descendants() + se.inDragLayer && (ae.forEach(u), ae.connectedEdges().forEach(u)), se.addToList && p(ae, se) + } + }, + m = function ($, se) { + se = se || {} + var ae = $.cy().hasCompoundNodes() + se.inDragLayer && + ($.forEach(u), + $.neighborhood() + .stdFilter(function (fe) { + return !ae || fe.isEdge() + }) + .forEach(u)), + se.addToList && + $.forEach(function (fe) { + p(fe, se) + }), + g($, se), + b($, { inDragLayer: se.inDragLayer }), + t.updateCachedGrabbedEles() + }, + v = m, + y = function ($) { + $ && + (t.getCachedZSortedEles().forEach(function (se) { + l(se), h(se), f(se) + }), + t.updateCachedGrabbedEles()) + }, + b = function ($, se) { + if (!(se.inDragLayer == null && se.addToList == null) && $.cy().hasCompoundNodes()) { + var ae = $.ancestors().orphans() + if (!ae.same($)) { + var fe = ae.descendants().spawnSelf().merge(ae).unmerge($).unmerge($.descendants()), + he = fe.connectedEdges() + se.inDragLayer && (he.forEach(u), fe.forEach(u)), + se.addToList && + fe.forEach(function (Te) { + p(Te, se) + }) + } + } + }, + w = function () { + document.activeElement != null && document.activeElement.blur != null && document.activeElement.blur() + }, + T = typeof MutationObserver < "u", + E = typeof ResizeObserver < "u" + T + ? ((t.removeObserver = new MutationObserver(function (ue) { + for (var $ = 0; $ < ue.length; $++) { + var se = ue[$], + ae = se.removedNodes + if (ae) + for (var fe = 0; fe < ae.length; fe++) { + var he = ae[fe] + if (he === t.container) { + t.destroy() + break + } + } + } + })), + t.container.parentNode && t.removeObserver.observe(t.container.parentNode, { childList: !0 })) + : t.registerBinding(t.container, "DOMNodeRemoved", function (ue) { + t.destroy() + }) + var S = Wg(function () { + t.cy.resize() + }, 100) + T && ((t.styleObserver = new MutationObserver(S)), t.styleObserver.observe(t.container, { attributes: !0 })), + t.registerBinding(e, "resize", S), + E && ((t.resizeObserver = new ResizeObserver(S)), t.resizeObserver.observe(t.container)) + var k = function ($, se) { + for (; $ != null; ) se($), ($ = $.parentNode) + }, + L = function () { + t.invalidateContainerClientCoordsCache() + } + k(t.container, function (ue) { + t.registerBinding(ue, "transitionend", L), + t.registerBinding(ue, "animationend", L), + t.registerBinding(ue, "scroll", L) + }), + t.registerBinding(t.container, "contextmenu", function (ue) { + ue.preventDefault() + }) + var A = function () { + return t.selection[4] !== 0 + }, + R = function ($) { + for ( + var se = t.findContainerClientCoords(), + ae = se[0], + fe = se[1], + he = se[2], + Te = se[3], + ke = $.touches ? $.touches : [$], + Ee = !1, + Ge = 0; + Ge < ke.length; + Ge++ + ) { + var Je = ke[Ge] + if (ae <= Je.clientX && Je.clientX <= ae + he && fe <= Je.clientY && Je.clientY <= fe + Te) { + Ee = !0 + break + } + } + if (!Ee) return !1 + for (var We = t.container, Xe = $.target, Ke = Xe.parentNode, $e = !1; Ke; ) { + if (Ke === We) { + $e = !0 + break + } + Ke = Ke.parentNode + } + return !!$e + } + t.registerBinding( + t.container, + "mousedown", + function ($) { + if (R($) && !(t.hoverData.which === 1 && $.which !== 1)) { + $.preventDefault(), w(), (t.hoverData.capture = !0), (t.hoverData.which = $.which) + var se = t.cy, + ae = [$.clientX, $.clientY], + fe = t.projectIntoViewport(ae[0], ae[1]), + he = t.selection, + Te = t.findNearestElements(fe[0], fe[1], !0, !1), + ke = Te[0], + Ee = t.dragData.possibleDragElements + ;(t.hoverData.mdownPos = fe), (t.hoverData.mdownGPos = ae) + var Ge = function () { + ;(t.hoverData.tapholdCancelled = !1), + clearTimeout(t.hoverData.tapholdTimeout), + (t.hoverData.tapholdTimeout = setTimeout(function () { + if (!t.hoverData.tapholdCancelled) { + var je = t.hoverData.down + je + ? je.emit({ originalEvent: $, type: "taphold", position: { x: fe[0], y: fe[1] } }) + : se.emit({ originalEvent: $, type: "taphold", position: { x: fe[0], y: fe[1] } }) + } + }, t.tapholdDuration)) + } + if ($.which == 3) { + t.hoverData.cxtStarted = !0 + var Je = { originalEvent: $, type: "cxttapstart", position: { x: fe[0], y: fe[1] } } + ke ? (ke.activate(), ke.emit(Je), (t.hoverData.down = ke)) : se.emit(Je), + (t.hoverData.downTime = new Date().getTime()), + (t.hoverData.cxtDragged = !1) + } else if ($.which == 1) { + ke && ke.activate() + { + if (ke != null && t.nodeIsGrabbable(ke)) { + var We = function (je) { + return { originalEvent: $, type: je, position: { x: fe[0], y: fe[1] } } + }, + Xe = function (je) { + je.emit(We("grab")) + } + if ((d(ke), !ke.selected())) + (Ee = t.dragData.possibleDragElements = se.collection()), + v(ke, { addToList: Ee }), + ke.emit(We("grabon")).emit(We("grab")) + else { + Ee = t.dragData.possibleDragElements = se.collection() + var Ke = se.$(function ($e) { + return $e.isNode() && $e.selected() && t.nodeIsGrabbable($e) + }) + m(Ke, { addToList: Ee }), ke.emit(We("grabon")), Ke.forEach(Xe) + } + t.redrawHint("eles", !0), t.redrawHint("drag", !0) + } + ;(t.hoverData.down = ke), + (t.hoverData.downs = Te), + (t.hoverData.downTime = new Date().getTime()) + } + i(ke, ["mousedown", "tapstart", "vmousedown"], $, { x: fe[0], y: fe[1] }), + ke == null + ? ((he[4] = 1), + (t.data.bgActivePosistion = { x: fe[0], y: fe[1] }), + t.redrawHint("select", !0), + t.redraw()) + : ke.pannable() && (he[4] = 1), + Ge() + } + ;(he[0] = he[2] = fe[0]), (he[1] = he[3] = fe[1]) + } + }, + !1, + ) + var C = n(t.container) + t.registerBinding( + [e, C], + "mousemove", + function ($) { + var se = t.hoverData.capture + if (!(!se && !R($))) { + var ae = !1, + fe = t.cy, + he = fe.zoom(), + Te = [$.clientX, $.clientY], + ke = t.projectIntoViewport(Te[0], Te[1]), + Ee = t.hoverData.mdownPos, + Ge = t.hoverData.mdownGPos, + Je = t.selection, + We = null + !t.hoverData.draggingEles && + !t.hoverData.dragging && + !t.hoverData.selecting && + (We = t.findNearestElement(ke[0], ke[1], !0, !1)) + var Xe = t.hoverData.last, + Ke = t.hoverData.down, + $e = [ke[0] - Je[2], ke[1] - Je[3]], + je = t.dragData.possibleDragElements, + lt + if (Ge) { + var st = Te[0] - Ge[0], + qe = st * st, + wt = Te[1] - Ge[1], + Ye = wt * wt, + Ze = qe + Ye + t.hoverData.isOverThresholdDrag = lt = Ze >= t.desktopTapThreshold2 + } + var dt = a($) + lt && (t.hoverData.tapholdCancelled = !0) + var ct = function () { + var pt = (t.hoverData.dragDelta = t.hoverData.dragDelta || []) + pt.length === 0 ? (pt.push($e[0]), pt.push($e[1])) : ((pt[0] += $e[0]), (pt[1] += $e[1])) + } + ;(ae = !0), i(We, ["mousemove", "vmousemove", "tapdrag"], $, { x: ke[0], y: ke[1] }) + var ut = function () { + ;(t.data.bgActivePosistion = void 0), + t.hoverData.selecting || + fe.emit({ originalEvent: $, type: "boxstart", position: { x: ke[0], y: ke[1] } }), + (Je[4] = 1), + (t.hoverData.selecting = !0), + t.redrawHint("select", !0), + t.redraw() + } + if (t.hoverData.which === 3) { + if (lt) { + var mt = { originalEvent: $, type: "cxtdrag", position: { x: ke[0], y: ke[1] } } + Ke ? Ke.emit(mt) : fe.emit(mt), + (t.hoverData.cxtDragged = !0), + (!t.hoverData.cxtOver || We !== t.hoverData.cxtOver) && + (t.hoverData.cxtOver && + t.hoverData.cxtOver.emit({ + originalEvent: $, + type: "cxtdragout", + position: { x: ke[0], y: ke[1] }, + }), + (t.hoverData.cxtOver = We), + We && + We.emit({ + originalEvent: $, + type: "cxtdragover", + position: { x: ke[0], y: ke[1] }, + })) + } + } else if (t.hoverData.dragging) { + if (((ae = !0), fe.panningEnabled() && fe.userPanningEnabled())) { + var sr + if (t.hoverData.justStartedPan) { + var Lt = t.hoverData.mdownPos + ;(sr = { x: (ke[0] - Lt[0]) * he, y: (ke[1] - Lt[1]) * he }), + (t.hoverData.justStartedPan = !1) + } else sr = { x: $e[0] * he, y: $e[1] * he } + fe.panBy(sr), fe.emit("dragpan"), (t.hoverData.dragged = !0) + } + ke = t.projectIntoViewport($.clientX, $.clientY) + } else if (Je[4] == 1 && (Ke == null || Ke.pannable())) { + if (lt) { + if ( + !t.hoverData.dragging && + fe.boxSelectionEnabled() && + (dt || !fe.panningEnabled() || !fe.userPanningEnabled()) + ) + ut() + else if (!t.hoverData.selecting && fe.panningEnabled() && fe.userPanningEnabled()) { + var ur = s(Ke, t.hoverData.downs) + ur && + ((t.hoverData.dragging = !0), + (t.hoverData.justStartedPan = !0), + (Je[4] = 0), + (t.data.bgActivePosistion = lh(Ee)), + t.redrawHint("select", !0), + t.redraw()) + } + Ke && Ke.pannable() && Ke.active() && Ke.unactivate() + } + } else { + if ( + (Ke && Ke.pannable() && Ke.active() && Ke.unactivate(), + (!Ke || !Ke.grabbed()) && + We != Xe && + (Xe && i(Xe, ["mouseout", "tapdragout"], $, { x: ke[0], y: ke[1] }), + We && i(We, ["mouseover", "tapdragover"], $, { x: ke[0], y: ke[1] }), + (t.hoverData.last = We)), + Ke) + ) + if (lt) { + if (fe.boxSelectionEnabled() && dt) + Ke && + Ke.grabbed() && + (y(je), + Ke.emit("freeon"), + je.emit("free"), + t.dragData.didDrag && (Ke.emit("dragfreeon"), je.emit("dragfree"))), + ut() + else if (Ke && Ke.grabbed() && t.nodeIsDraggable(Ke)) { + var rr = !t.dragData.didDrag + rr && t.redrawHint("eles", !0), + (t.dragData.didDrag = !0), + t.hoverData.draggingEles || m(je, { inDragLayer: !0 }) + var er = { x: 0, y: 0 } + if (gt($e[0]) && gt($e[1]) && ((er.x += $e[0]), (er.y += $e[1]), rr)) { + var Ht = t.hoverData.dragDelta + Ht && gt(Ht[0]) && gt(Ht[1]) && ((er.x += Ht[0]), (er.y += Ht[1])) + } + ;(t.hoverData.draggingEles = !0), + je.silentShift(er).emit("position drag"), + t.redrawHint("drag", !0), + t.redraw() + } + } else ct() + ae = !0 + } + if (((Je[2] = ke[0]), (Je[3] = ke[1]), ae)) + return $.stopPropagation && $.stopPropagation(), $.preventDefault && $.preventDefault(), !1 + } + }, + !1, + ) + var I, P, _ + t.registerBinding( + e, + "mouseup", + function ($) { + if (!(t.hoverData.which === 1 && $.which !== 1 && t.hoverData.capture)) { + var se = t.hoverData.capture + if (se) { + t.hoverData.capture = !1 + var ae = t.cy, + fe = t.projectIntoViewport($.clientX, $.clientY), + he = t.selection, + Te = t.findNearestElement(fe[0], fe[1], !0, !1), + ke = t.dragData.possibleDragElements, + Ee = t.hoverData.down, + Ge = a($) + if ( + (t.data.bgActivePosistion && (t.redrawHint("select", !0), t.redraw()), + (t.hoverData.tapholdCancelled = !0), + (t.data.bgActivePosistion = void 0), + Ee && Ee.unactivate(), + t.hoverData.which === 3) + ) { + var Je = { originalEvent: $, type: "cxttapend", position: { x: fe[0], y: fe[1] } } + if ((Ee ? Ee.emit(Je) : ae.emit(Je), !t.hoverData.cxtDragged)) { + var We = { originalEvent: $, type: "cxttap", position: { x: fe[0], y: fe[1] } } + Ee ? Ee.emit(We) : ae.emit(We) + } + ;(t.hoverData.cxtDragged = !1), (t.hoverData.which = null) + } else if (t.hoverData.which === 1) { + if ( + (i(Te, ["mouseup", "tapend", "vmouseup"], $, { x: fe[0], y: fe[1] }), + !t.dragData.didDrag && + !t.hoverData.dragged && + !t.hoverData.selecting && + !t.hoverData.isOverThresholdDrag && + (i(Ee, ["click", "tap", "vclick"], $, { x: fe[0], y: fe[1] }), + (P = !1), + $.timeStamp - _ <= ae.multiClickDebounceTime() + ? (I && clearTimeout(I), + (P = !0), + (_ = null), + i(Ee, ["dblclick", "dbltap", "vdblclick"], $, { x: fe[0], y: fe[1] })) + : ((I = setTimeout(function () { + P || i(Ee, ["oneclick", "onetap", "voneclick"], $, { x: fe[0], y: fe[1] }) + }, ae.multiClickDebounceTime())), + (_ = $.timeStamp))), + Ee == null && + !t.dragData.didDrag && + !t.hoverData.selecting && + !t.hoverData.dragged && + !a($) && + (ae.$(r).unselect(["tapunselect"]), + ke.length > 0 && t.redrawHint("eles", !0), + (t.dragData.possibleDragElements = ke = ae.collection())), + Te == Ee && + !t.dragData.didDrag && + !t.hoverData.selecting && + Te != null && + Te._private.selectable && + (t.hoverData.dragging || + (ae.selectionType() === "additive" || Ge + ? Te.selected() + ? Te.unselect(["tapunselect"]) + : Te.select(["tapselect"]) + : Ge || + (ae.$(r).unmerge(Te).unselect(["tapunselect"]), Te.select(["tapselect"]))), + t.redrawHint("eles", !0)), + t.hoverData.selecting) + ) { + var Xe = ae.collection(t.getAllInBox(he[0], he[1], he[2], he[3])) + t.redrawHint("select", !0), + Xe.length > 0 && t.redrawHint("eles", !0), + ae.emit({ type: "boxend", originalEvent: $, position: { x: fe[0], y: fe[1] } }) + var Ke = function (lt) { + return lt.selectable() && !lt.selected() + } + ae.selectionType() === "additive" || Ge || ae.$(r).unmerge(Xe).unselect(), + Xe.emit("box").stdFilter(Ke).select().emit("boxselect"), + t.redraw() + } + if ( + (t.hoverData.dragging && + ((t.hoverData.dragging = !1), + t.redrawHint("select", !0), + t.redrawHint("eles", !0), + t.redraw()), + !he[4]) + ) { + t.redrawHint("drag", !0), t.redrawHint("eles", !0) + var $e = Ee && Ee.grabbed() + y(ke), + $e && + (Ee.emit("freeon"), + ke.emit("free"), + t.dragData.didDrag && (Ee.emit("dragfreeon"), ke.emit("dragfree"))) + } + } + ;(he[4] = 0), + (t.hoverData.down = null), + (t.hoverData.cxtStarted = !1), + (t.hoverData.draggingEles = !1), + (t.hoverData.selecting = !1), + (t.hoverData.isOverThresholdDrag = !1), + (t.dragData.didDrag = !1), + (t.hoverData.dragged = !1), + (t.hoverData.dragDelta = []), + (t.hoverData.mdownPos = null), + (t.hoverData.mdownGPos = null), + (t.hoverData.which = null) + } + } + }, + !1, + ) + var N = [], + M = 4, + O, + D = 1e5, + B = function ($, se) { + for (var ae = 0; ae < $.length; ae++) if ($[ae] % se !== 0) return !1 + return !0 + }, + z = function ($) { + for (var se = Math.abs($[0]), ae = 1; ae < $.length; ae++) if (Math.abs($[ae]) !== se) return !1 + return !0 + }, + F = function ($) { + var se = !1, + ae = $.deltaY + if ( + (ae == null && + ($.wheelDeltaY != null + ? (ae = $.wheelDeltaY / 4) + : $.wheelDelta != null && (ae = $.wheelDelta / 4)), + O == null) + ) + if (N.length >= M) { + var fe = N + if (((O = B(fe, 5)), !O)) { + var he = Math.abs(fe[0]) + O = z(fe) && he > 5 + } + if (O) for (var Te = 0; Te < fe.length; Te++) D = Math.min(Math.abs(fe[Te]), D) + } else N.push(ae), (se = !0) + else O && (D = Math.min(Math.abs(ae), D)) + if (!t.scrollingPage) { + var ke = t.cy, + Ee = ke.zoom(), + Ge = ke.pan(), + Je = t.projectIntoViewport($.clientX, $.clientY), + We = [Je[0] * Ee + Ge.x, Je[1] * Ee + Ge.y] + if (t.hoverData.draggingEles || t.hoverData.dragging || t.hoverData.cxtStarted || A()) { + $.preventDefault() + return + } + if (ke.panningEnabled() && ke.userPanningEnabled() && ke.zoomingEnabled() && ke.userZoomingEnabled()) { + $.preventDefault(), + (t.data.wheelZooming = !0), + clearTimeout(t.data.wheelTimeout), + (t.data.wheelTimeout = setTimeout(function () { + ;(t.data.wheelZooming = !1), t.redrawHint("eles", !0), t.redraw() + }, 150)) + var Xe + se && Math.abs(ae) > 5 && (ae = gS(ae) * 5), + (Xe = ae / -250), + O && ((Xe /= D), (Xe *= 3)), + (Xe = Xe * t.wheelSensitivity) + var Ke = $.deltaMode === 1 + Ke && (Xe *= 33) + var $e = ke.zoom() * Math.pow(10, Xe) + $.type === "gesturechange" && ($e = t.gestureStartZoom * $.scale), + ke.zoom({ level: $e, renderedPosition: { x: We[0], y: We[1] } }), + ke.emit($.type === "gesturechange" ? "pinchzoom" : "scrollzoom") + } + } + } + t.registerBinding(t.container, "wheel", F, !0), + t.registerBinding( + e, + "scroll", + function ($) { + ;(t.scrollingPage = !0), + clearTimeout(t.scrollingPageTimeout), + (t.scrollingPageTimeout = setTimeout(function () { + t.scrollingPage = !1 + }, 250)) + }, + !0, + ), + t.registerBinding( + t.container, + "gesturestart", + function ($) { + ;(t.gestureStartZoom = t.cy.zoom()), t.hasTouchStarted || $.preventDefault() + }, + !0, + ), + t.registerBinding( + t.container, + "gesturechange", + function (ue) { + t.hasTouchStarted || F(ue) + }, + !0, + ), + t.registerBinding( + t.container, + "mouseout", + function ($) { + var se = t.projectIntoViewport($.clientX, $.clientY) + t.cy.emit({ originalEvent: $, type: "mouseout", position: { x: se[0], y: se[1] } }) + }, + !1, + ), + t.registerBinding( + t.container, + "mouseover", + function ($) { + var se = t.projectIntoViewport($.clientX, $.clientY) + t.cy.emit({ originalEvent: $, type: "mouseover", position: { x: se[0], y: se[1] } }) + }, + !1, + ) + var G, + q, + Y, + ee, + Q, + oe, + pe, + j, + H, + X, + W, + K, + ne, + Z = function ($, se, ae, fe) { + return Math.sqrt((ae - $) * (ae - $) + (fe - se) * (fe - se)) + }, + be = function ($, se, ae, fe) { + return (ae - $) * (ae - $) + (fe - se) * (fe - se) + }, + ce + t.registerBinding( + t.container, + "touchstart", + (ce = function ($) { + if (((t.hasTouchStarted = !0), !!R($))) { + w(), (t.touchData.capture = !0), (t.data.bgActivePosistion = void 0) + var se = t.cy, + ae = t.touchData.now, + fe = t.touchData.earlier + if ($.touches[0]) { + var he = t.projectIntoViewport($.touches[0].clientX, $.touches[0].clientY) + ;(ae[0] = he[0]), (ae[1] = he[1]) + } + if ($.touches[1]) { + var he = t.projectIntoViewport($.touches[1].clientX, $.touches[1].clientY) + ;(ae[2] = he[0]), (ae[3] = he[1]) + } + if ($.touches[2]) { + var he = t.projectIntoViewport($.touches[2].clientX, $.touches[2].clientY) + ;(ae[4] = he[0]), (ae[5] = he[1]) + } + if ($.touches[1]) { + ;(t.touchData.singleTouchMoved = !0), y(t.dragData.touchDragEles) + var Te = t.findContainerClientCoords() + ;(H = Te[0]), + (X = Te[1]), + (W = Te[2]), + (K = Te[3]), + (G = $.touches[0].clientX - H), + (q = $.touches[0].clientY - X), + (Y = $.touches[1].clientX - H), + (ee = $.touches[1].clientY - X), + (ne = 0 <= G && G <= W && 0 <= Y && Y <= W && 0 <= q && q <= K && 0 <= ee && ee <= K) + var ke = se.pan(), + Ee = se.zoom() + ;(Q = Z(G, q, Y, ee)), + (oe = be(G, q, Y, ee)), + (pe = [(G + Y) / 2, (q + ee) / 2]), + (j = [(pe[0] - ke.x) / Ee, (pe[1] - ke.y) / Ee]) + var Ge = 200, + Je = Ge * Ge + if (oe < Je && !$.touches[2]) { + var We = t.findNearestElement(ae[0], ae[1], !0, !0), + Xe = t.findNearestElement(ae[2], ae[3], !0, !0) + We && We.isNode() + ? (We.activate().emit({ + originalEvent: $, + type: "cxttapstart", + position: { x: ae[0], y: ae[1] }, + }), + (t.touchData.start = We)) + : Xe && Xe.isNode() + ? (Xe.activate().emit({ + originalEvent: $, + type: "cxttapstart", + position: { x: ae[0], y: ae[1] }, + }), + (t.touchData.start = Xe)) + : se.emit({ originalEvent: $, type: "cxttapstart", position: { x: ae[0], y: ae[1] } }), + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxt = !0), + (t.touchData.cxtDragged = !1), + (t.data.bgActivePosistion = void 0), + t.redraw() + return + } + } + if ($.touches[2]) se.boxSelectionEnabled() && $.preventDefault() + else if (!$.touches[1]) { + if ($.touches[0]) { + var Ke = t.findNearestElements(ae[0], ae[1], !0, !0), + $e = Ke[0] + if ( + $e != null && + ($e.activate(), (t.touchData.start = $e), (t.touchData.starts = Ke), t.nodeIsGrabbable($e)) + ) { + var je = (t.dragData.touchDragEles = se.collection()), + lt = null + t.redrawHint("eles", !0), + t.redrawHint("drag", !0), + $e.selected() + ? ((lt = se.$(function (Ze) { + return Ze.selected() && t.nodeIsGrabbable(Ze) + })), + m(lt, { addToList: je })) + : v($e, { addToList: je }), + d($e) + var st = function (dt) { + return { originalEvent: $, type: dt, position: { x: ae[0], y: ae[1] } } + } + $e.emit(st("grabon")), + lt + ? lt.forEach(function (Ze) { + Ze.emit(st("grab")) + }) + : $e.emit(st("grab")) + } + i($e, ["touchstart", "tapstart", "vmousedown"], $, { x: ae[0], y: ae[1] }), + $e == null && + ((t.data.bgActivePosistion = { x: he[0], y: he[1] }), + t.redrawHint("select", !0), + t.redraw()), + (t.touchData.singleTouchMoved = !1), + (t.touchData.singleTouchStartTime = +new Date()), + clearTimeout(t.touchData.tapholdTimeout), + (t.touchData.tapholdTimeout = setTimeout(function () { + t.touchData.singleTouchMoved === !1 && + !t.pinching && + !t.touchData.selecting && + i(t.touchData.start, ["taphold"], $, { x: ae[0], y: ae[1] }) + }, t.tapholdDuration)) + } + } + if ($.touches.length >= 1) { + for ( + var qe = (t.touchData.startPosition = [null, null, null, null, null, null]), wt = 0; + wt < ae.length; + wt++ + ) + qe[wt] = fe[wt] = ae[wt] + var Ye = $.touches[0] + t.touchData.startGPosition = [Ye.clientX, Ye.clientY] + } + } + }), + !1, + ) + var re + t.registerBinding( + e, + "touchmove", + (re = function ($) { + var se = t.touchData.capture + if (!(!se && !R($))) { + var ae = t.selection, + fe = t.cy, + he = t.touchData.now, + Te = t.touchData.earlier, + ke = fe.zoom() + if ($.touches[0]) { + var Ee = t.projectIntoViewport($.touches[0].clientX, $.touches[0].clientY) + ;(he[0] = Ee[0]), (he[1] = Ee[1]) + } + if ($.touches[1]) { + var Ee = t.projectIntoViewport($.touches[1].clientX, $.touches[1].clientY) + ;(he[2] = Ee[0]), (he[3] = Ee[1]) + } + if ($.touches[2]) { + var Ee = t.projectIntoViewport($.touches[2].clientX, $.touches[2].clientY) + ;(he[4] = Ee[0]), (he[5] = Ee[1]) + } + var Ge = t.touchData.startGPosition, + Je + if (se && $.touches[0] && Ge) { + for (var We = [], Xe = 0; Xe < he.length; Xe++) We[Xe] = he[Xe] - Te[Xe] + var Ke = $.touches[0].clientX - Ge[0], + $e = Ke * Ke, + je = $.touches[0].clientY - Ge[1], + lt = je * je, + st = $e + lt + Je = st >= t.touchTapThreshold2 + } + if (se && t.touchData.cxt) { + $.preventDefault() + var qe = $.touches[0].clientX - H, + wt = $.touches[0].clientY - X, + Ye = $.touches[1].clientX - H, + Ze = $.touches[1].clientY - X, + dt = be(qe, wt, Ye, Ze), + ct = dt / oe, + ut = 150, + mt = ut * ut, + sr = 1.5, + Lt = sr * sr + if (ct >= Lt || dt >= mt) { + ;(t.touchData.cxt = !1), (t.data.bgActivePosistion = void 0), t.redrawHint("select", !0) + var ur = { originalEvent: $, type: "cxttapend", position: { x: he[0], y: he[1] } } + t.touchData.start + ? (t.touchData.start.unactivate().emit(ur), (t.touchData.start = null)) + : fe.emit(ur) + } + } + if (se && t.touchData.cxt) { + var ur = { originalEvent: $, type: "cxtdrag", position: { x: he[0], y: he[1] } } + ;(t.data.bgActivePosistion = void 0), + t.redrawHint("select", !0), + t.touchData.start ? t.touchData.start.emit(ur) : fe.emit(ur), + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxtDragged = !0) + var rr = t.findNearestElement(he[0], he[1], !0, !0) + ;(!t.touchData.cxtOver || rr !== t.touchData.cxtOver) && + (t.touchData.cxtOver && + t.touchData.cxtOver.emit({ + originalEvent: $, + type: "cxtdragout", + position: { x: he[0], y: he[1] }, + }), + (t.touchData.cxtOver = rr), + rr && rr.emit({ originalEvent: $, type: "cxtdragover", position: { x: he[0], y: he[1] } })) + } else if (se && $.touches[2] && fe.boxSelectionEnabled()) + $.preventDefault(), + (t.data.bgActivePosistion = void 0), + (this.lastThreeTouch = +new Date()), + t.touchData.selecting || + fe.emit({ originalEvent: $, type: "boxstart", position: { x: he[0], y: he[1] } }), + (t.touchData.selecting = !0), + (t.touchData.didSelect = !0), + (ae[4] = 1), + !ae || ae.length === 0 || ae[0] === void 0 + ? ((ae[0] = (he[0] + he[2] + he[4]) / 3), + (ae[1] = (he[1] + he[3] + he[5]) / 3), + (ae[2] = (he[0] + he[2] + he[4]) / 3 + 1), + (ae[3] = (he[1] + he[3] + he[5]) / 3 + 1)) + : ((ae[2] = (he[0] + he[2] + he[4]) / 3), (ae[3] = (he[1] + he[3] + he[5]) / 3)), + t.redrawHint("select", !0), + t.redraw() + else if ( + se && + $.touches[1] && + !t.touchData.didSelect && + fe.zoomingEnabled() && + fe.panningEnabled() && + fe.userZoomingEnabled() && + fe.userPanningEnabled() + ) { + $.preventDefault(), (t.data.bgActivePosistion = void 0), t.redrawHint("select", !0) + var er = t.dragData.touchDragEles + if (er) { + t.redrawHint("drag", !0) + for (var Ht = 0; Ht < er.length; Ht++) { + var Xr = er[Ht]._private + ;(Xr.grabbed = !1), (Xr.rscratch.inDragLayer = !1) + } + } + var pt = t.touchData.start, + qe = $.touches[0].clientX - H, + wt = $.touches[0].clientY - X, + Ye = $.touches[1].clientX - H, + Ze = $.touches[1].clientY - X, + Se = Z(qe, wt, Ye, Ze), + Qe = Se / Q + if (ne) { + var xt = qe - G, + tr = wt - q, + Ir = Ye - Y, + zr = Ze - ee, + _r = (xt + Ir) / 2, + yn = (tr + zr) / 2, + mi = fe.zoom(), + Br = mi * Qe, + xn = fe.pan(), + Ct = j[0] * mi + xn.x, + Tt = j[1] * mi + xn.y, + ot = { x: (-Br / mi) * (Ct - xn.x - _r) + Ct, y: (-Br / mi) * (Tt - xn.y - yn) + Tt } + if (pt && pt.active()) { + var er = t.dragData.touchDragEles + y(er), + t.redrawHint("drag", !0), + t.redrawHint("eles", !0), + pt.unactivate().emit("freeon"), + er.emit("free"), + t.dragData.didDrag && (pt.emit("dragfreeon"), er.emit("dragfree")) + } + fe.viewport({ zoom: Br, pan: ot, cancelOnFailedZoom: !0 }), + fe.emit("pinchzoom"), + (Q = Se), + (G = qe), + (q = wt), + (Y = Ye), + (ee = Ze), + (t.pinching = !0) + } + if ($.touches[0]) { + var Ee = t.projectIntoViewport($.touches[0].clientX, $.touches[0].clientY) + ;(he[0] = Ee[0]), (he[1] = Ee[1]) + } + if ($.touches[1]) { + var Ee = t.projectIntoViewport($.touches[1].clientX, $.touches[1].clientY) + ;(he[2] = Ee[0]), (he[3] = Ee[1]) + } + if ($.touches[2]) { + var Ee = t.projectIntoViewport($.touches[2].clientX, $.touches[2].clientY) + ;(he[4] = Ee[0]), (he[5] = Ee[1]) + } + } else if ($.touches[0] && !t.touchData.didSelect) { + var He = t.touchData.start, + ar = t.touchData.last, + rr + if ( + (!t.hoverData.draggingEles && + !t.swipePanning && + (rr = t.findNearestElement(he[0], he[1], !0, !0)), + se && He != null && $.preventDefault(), + se && He != null && t.nodeIsDraggable(He)) + ) + if (Je) { + var er = t.dragData.touchDragEles, + de = !t.dragData.didDrag + de && m(er, { inDragLayer: !0 }), (t.dragData.didDrag = !0) + var ss = { x: 0, y: 0 } + if (gt(We[0]) && gt(We[1]) && ((ss.x += We[0]), (ss.y += We[1]), de)) { + t.redrawHint("eles", !0) + var ve = t.touchData.dragDelta + ve && gt(ve[0]) && gt(ve[1]) && ((ss.x += ve[0]), (ss.y += ve[1])) + } + ;(t.hoverData.draggingEles = !0), + er.silentShift(ss).emit("position drag"), + t.redrawHint("drag", !0), + t.touchData.startPosition[0] == Te[0] && + t.touchData.startPosition[1] == Te[1] && + t.redrawHint("eles", !0), + t.redraw() + } else { + var ve = (t.touchData.dragDelta = t.touchData.dragDelta || []) + ve.length === 0 ? (ve.push(We[0]), ve.push(We[1])) : ((ve[0] += We[0]), (ve[1] += We[1])) + } + if ( + (i(He || rr, ["touchmove", "tapdrag", "vmousemove"], $, { x: he[0], y: he[1] }), + (!He || !He.grabbed()) && + rr != ar && + (ar && ar.emit({ originalEvent: $, type: "tapdragout", position: { x: he[0], y: he[1] } }), + rr && rr.emit({ originalEvent: $, type: "tapdragover", position: { x: he[0], y: he[1] } })), + (t.touchData.last = rr), + se) + ) + for (var Ht = 0; Ht < he.length; Ht++) + he[Ht] && t.touchData.startPosition[Ht] && Je && (t.touchData.singleTouchMoved = !0) + if (se && (He == null || He.pannable()) && fe.panningEnabled() && fe.userPanningEnabled()) { + var sn = s(He, t.touchData.starts) + sn && + ($.preventDefault(), + t.data.bgActivePosistion || (t.data.bgActivePosistion = lh(t.touchData.startPosition)), + t.swipePanning + ? (fe.panBy({ x: We[0] * ke, y: We[1] * ke }), fe.emit("dragpan")) + : Je && + ((t.swipePanning = !0), + fe.panBy({ x: Ke * ke, y: je * ke }), + fe.emit("dragpan"), + He && (He.unactivate(), t.redrawHint("select", !0), (t.touchData.start = null)))) + var Ee = t.projectIntoViewport($.touches[0].clientX, $.touches[0].clientY) + ;(he[0] = Ee[0]), (he[1] = Ee[1]) + } + } + for (var Xe = 0; Xe < he.length; Xe++) Te[Xe] = he[Xe] + se && + $.touches.length > 0 && + !t.hoverData.draggingEles && + !t.swipePanning && + t.data.bgActivePosistion != null && + ((t.data.bgActivePosistion = void 0), t.redrawHint("select", !0), t.redraw()) + } + }), + !1, + ) + var Ne + t.registerBinding( + e, + "touchcancel", + (Ne = function ($) { + var se = t.touchData.start + ;(t.touchData.capture = !1), se && se.unactivate() + }), + ) + var me, Ve, Ue, Fe + if ( + (t.registerBinding( + e, + "touchend", + (me = function ($) { + var se = t.touchData.start, + ae = t.touchData.capture + if (ae) $.touches.length === 0 && (t.touchData.capture = !1), $.preventDefault() + else return + var fe = t.selection + ;(t.swipePanning = !1), (t.hoverData.draggingEles = !1) + var he = t.cy, + Te = he.zoom(), + ke = t.touchData.now, + Ee = t.touchData.earlier + if ($.touches[0]) { + var Ge = t.projectIntoViewport($.touches[0].clientX, $.touches[0].clientY) + ;(ke[0] = Ge[0]), (ke[1] = Ge[1]) + } + if ($.touches[1]) { + var Ge = t.projectIntoViewport($.touches[1].clientX, $.touches[1].clientY) + ;(ke[2] = Ge[0]), (ke[3] = Ge[1]) + } + if ($.touches[2]) { + var Ge = t.projectIntoViewport($.touches[2].clientX, $.touches[2].clientY) + ;(ke[4] = Ge[0]), (ke[5] = Ge[1]) + } + se && se.unactivate() + var Je + if (t.touchData.cxt) { + if ( + ((Je = { originalEvent: $, type: "cxttapend", position: { x: ke[0], y: ke[1] } }), + se ? se.emit(Je) : he.emit(Je), + !t.touchData.cxtDragged) + ) { + var We = { originalEvent: $, type: "cxttap", position: { x: ke[0], y: ke[1] } } + se ? se.emit(We) : he.emit(We) + } + t.touchData.start && (t.touchData.start._private.grabbed = !1), + (t.touchData.cxt = !1), + (t.touchData.start = null), + t.redraw() + return + } + if (!$.touches[2] && he.boxSelectionEnabled() && t.touchData.selecting) { + t.touchData.selecting = !1 + var Xe = he.collection(t.getAllInBox(fe[0], fe[1], fe[2], fe[3])) + ;(fe[0] = void 0), + (fe[1] = void 0), + (fe[2] = void 0), + (fe[3] = void 0), + (fe[4] = 0), + t.redrawHint("select", !0), + he.emit({ type: "boxend", originalEvent: $, position: { x: ke[0], y: ke[1] } }) + var Ke = function (mt) { + return mt.selectable() && !mt.selected() + } + Xe.emit("box").stdFilter(Ke).select().emit("boxselect"), + Xe.nonempty() && t.redrawHint("eles", !0), + t.redraw() + } + if ((se != null && se.unactivate(), $.touches[2])) + (t.data.bgActivePosistion = void 0), t.redrawHint("select", !0) + else if (!$.touches[1]) { + if (!$.touches[0]) { + if (!$.touches[0]) { + ;(t.data.bgActivePosistion = void 0), t.redrawHint("select", !0) + var $e = t.dragData.touchDragEles + if (se != null) { + var je = se._private.grabbed + y($e), + t.redrawHint("drag", !0), + t.redrawHint("eles", !0), + je && + (se.emit("freeon"), + $e.emit("free"), + t.dragData.didDrag && (se.emit("dragfreeon"), $e.emit("dragfree"))), + i(se, ["touchend", "tapend", "vmouseup", "tapdragout"], $, { x: ke[0], y: ke[1] }), + se.unactivate(), + (t.touchData.start = null) + } else { + var lt = t.findNearestElement(ke[0], ke[1], !0, !0) + i(lt, ["touchend", "tapend", "vmouseup", "tapdragout"], $, { x: ke[0], y: ke[1] }) + } + var st = t.touchData.startPosition[0] - ke[0], + qe = st * st, + wt = t.touchData.startPosition[1] - ke[1], + Ye = wt * wt, + Ze = qe + Ye, + dt = Ze * Te * Te + t.touchData.singleTouchMoved || + (se || he.$(":selected").unselect(["tapunselect"]), + i(se, ["tap", "vclick"], $, { x: ke[0], y: ke[1] }), + (Ve = !1), + $.timeStamp - Fe <= he.multiClickDebounceTime() + ? (Ue && clearTimeout(Ue), + (Ve = !0), + (Fe = null), + i(se, ["dbltap", "vdblclick"], $, { x: ke[0], y: ke[1] })) + : ((Ue = setTimeout(function () { + Ve || i(se, ["onetap", "voneclick"], $, { x: ke[0], y: ke[1] }) + }, he.multiClickDebounceTime())), + (Fe = $.timeStamp))), + se != null && + !t.dragData.didDrag && + se._private.selectable && + dt < t.touchTapThreshold2 && + !t.pinching && + (he.selectionType() === "single" + ? (he.$(r).unmerge(se).unselect(["tapunselect"]), se.select(["tapselect"])) + : se.selected() + ? se.unselect(["tapunselect"]) + : se.select(["tapselect"]), + t.redrawHint("eles", !0)), + (t.touchData.singleTouchMoved = !0) + } + } + } + for (var ct = 0; ct < ke.length; ct++) Ee[ct] = ke[ct] + ;(t.dragData.didDrag = !1), + $.touches.length === 0 && + ((t.touchData.dragDelta = []), + (t.touchData.startPosition = [null, null, null, null, null, null]), + (t.touchData.startGPosition = null), + (t.touchData.didSelect = !1)), + $.touches.length < 2 && + ($.touches.length === 1 && + (t.touchData.startGPosition = [$.touches[0].clientX, $.touches[0].clientY]), + (t.pinching = !1), + t.redrawHint("eles", !0), + t.redraw()) + }), + !1, + ), + typeof TouchEvent > "u") + ) { + var _e = [], + Oe = function ($) { + return { + clientX: $.clientX, + clientY: $.clientY, + force: 1, + identifier: $.pointerId, + pageX: $.pageX, + pageY: $.pageY, + radiusX: $.width / 2, + radiusY: $.height / 2, + screenX: $.screenX, + screenY: $.screenY, + target: $.target, + } + }, + Ce = function ($) { + return { event: $, touch: Oe($) } + }, + Le = function ($) { + _e.push(Ce($)) + }, + ze = function ($) { + for (var se = 0; se < _e.length; se++) { + var ae = _e[se] + if (ae.event.pointerId === $.pointerId) { + _e.splice(se, 1) + return + } + } + }, + ge = function ($) { + var se = _e.filter(function (ae) { + return ae.event.pointerId === $.pointerId + })[0] + ;(se.event = $), (se.touch = Oe($)) + }, + Me = function ($) { + $.touches = _e.map(function (se) { + return se.touch + }) + }, + J = function ($) { + return $.pointerType === "mouse" || $.pointerType === 4 + } + t.registerBinding(t.container, "pointerdown", function (ue) { + J(ue) || (ue.preventDefault(), Le(ue), Me(ue), ce(ue)) + }), + t.registerBinding(t.container, "pointerup", function (ue) { + J(ue) || (ze(ue), Me(ue), me(ue)) + }), + t.registerBinding(t.container, "pointercancel", function (ue) { + J(ue) || (ze(ue), Me(ue), Ne(ue)) + }), + t.registerBinding(t.container, "pointermove", function (ue) { + J(ue) || (ue.preventDefault(), ge(ue), Me(ue), re(ue)) + }) + } +} +var al = {} +al.generatePolygon = function (t, e) { + return (this.nodeShapes[t] = { + renderer: this, + name: t, + points: e, + draw: function (n, i, a, s, o, l) { + this.renderer.nodeShapeImpl("polygon", n, i, a, s, o, this.points) + }, + intersectLine: function (n, i, a, s, o, l, u, h) { + return Zp(o, l, this.points, n, i, a / 2, s / 2, u) + }, + checkPoint: function (n, i, a, s, o, l, u, h) { + return Zo(n, i, this.points, l, u, s, o, [0, -1], a) + }, + }) +} +al.generateEllipse = function () { + return (this.nodeShapes.ellipse = { + renderer: this, + name: "ellipse", + draw: function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a) + }, + intersectLine: function (e, r, n, i, a, s, o, l) { + return _ke(a, s, e, r, n / 2 + o, i / 2 + o) + }, + checkPoint: function (e, r, n, i, a, s, o, l) { + return Bc(e, r, i, a, s, o, n) + }, + }) +} +al.generateRoundPolygon = function (t, e) { + return (this.nodeShapes[t] = { + renderer: this, + name: t, + points: e, + getOrCreateCorners: function (n, i, a, s, o, l, u) { + if (l[u] !== void 0 && l[u + "-cx"] === n && l[u + "-cy"] === i) return l[u] + ;(l[u] = new Array(e.length / 2)), (l[u + "-cx"] = n), (l[u + "-cy"] = i) + var h = a / 2, + d = s / 2 + o = o === "auto" ? Nq(a, s) : o + for (var f = new Array(e.length / 2), p = 0; p < e.length / 2; p++) + f[p] = { x: n + h * e[p * 2], y: i + d * e[p * 2 + 1] } + var g, + m, + v, + y, + b = f.length + for (m = f[b - 1], g = 0; g < b; g++) + (v = f[g % b]), (y = f[(g + 1) % b]), (l[u][g] = _S(m, v, y, o)), (m = v), (v = y) + return l[u] + }, + draw: function (n, i, a, s, o, l, u) { + this.renderer.nodeShapeImpl( + "round-polygon", + n, + i, + a, + s, + o, + this.points, + this.getOrCreateCorners(i, a, s, o, l, u, "drawCorners"), + ) + }, + intersectLine: function (n, i, a, s, o, l, u, h, d) { + return Lke(o, l, this.points, n, i, a, s, u, this.getOrCreateCorners(n, i, a, s, h, d, "corners")) + }, + checkPoint: function (n, i, a, s, o, l, u, h, d) { + return Ake(n, i, this.points, l, u, s, o, this.getOrCreateCorners(l, u, s, o, h, d, "corners")) + }, + }) +} +al.generateRoundRectangle = function () { + return (this.nodeShapes["round-rectangle"] = this.nodeShapes.roundrectangle = + { + renderer: this, + name: "round-rectangle", + points: Ii(4, 0), + draw: function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s) + }, + intersectLine: function (e, r, n, i, a, s, o, l) { + return Lq(a, s, e, r, n, i, o, l) + }, + checkPoint: function (e, r, n, i, a, s, o, l) { + var u = i / 2, + h = a / 2 + ;(l = l === "auto" ? Gl(i, a) : l), (l = Math.min(u, h, l)) + var d = l * 2 + return !!( + Zo(e, r, this.points, s, o, i, a - d, [0, -1], n) || + Zo(e, r, this.points, s, o, i - d, a, [0, -1], n) || + Bc(e, r, d, d, s - u + l, o - h + l, n) || + Bc(e, r, d, d, s + u - l, o - h + l, n) || + Bc(e, r, d, d, s + u - l, o + h - l, n) || + Bc(e, r, d, d, s - u + l, o + h - l, n) + ) + }, + }) +} +al.generateCutRectangle = function () { + return (this.nodeShapes["cut-rectangle"] = this.nodeShapes.cutrectangle = + { + renderer: this, + name: "cut-rectangle", + cornerLength: vS(), + points: Ii(4, 0), + draw: function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, null, s) + }, + generateCutTrianglePts: function (e, r, n, i, a) { + var s = a === "auto" ? this.cornerLength : a, + o = r / 2, + l = e / 2, + u = n - l, + h = n + l, + d = i - o, + f = i + o + return { + topLeft: [u, d + s, u + s, d, u + s, d + s], + topRight: [h - s, d, h, d + s, h - s, d + s], + bottomRight: [h, f - s, h - s, f, h - s, f - s], + bottomLeft: [u + s, f, u, f - s, u + s, f - s], + } + }, + intersectLine: function (e, r, n, i, a, s, o, l) { + var u = this.generateCutTrianglePts(n + 2 * o, i + 2 * o, e, r, l), + h = [].concat.apply( + [], + [ + u.topLeft.splice(0, 4), + u.topRight.splice(0, 4), + u.bottomRight.splice(0, 4), + u.bottomLeft.splice(0, 4), + ], + ) + return Zp(a, s, h, e, r) + }, + checkPoint: function (e, r, n, i, a, s, o, l) { + var u = l === "auto" ? this.cornerLength : l + if ( + Zo(e, r, this.points, s, o, i, a - 2 * u, [0, -1], n) || + Zo(e, r, this.points, s, o, i - 2 * u, a, [0, -1], n) + ) + return !0 + var h = this.generateCutTrianglePts(i, a, s, o) + return ea(e, r, h.topLeft) || ea(e, r, h.topRight) || ea(e, r, h.bottomRight) || ea(e, r, h.bottomLeft) + }, + }) +} +al.generateBarrel = function () { + return (this.nodeShapes.barrel = { + renderer: this, + name: "barrel", + points: Ii(4, 0), + draw: function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a) + }, + intersectLine: function (e, r, n, i, a, s, o, l) { + var u = 0.15, + h = 0.5, + d = 0.85, + f = this.generateBarrelBezierPts(n + 2 * o, i + 2 * o, e, r), + p = function (v) { + var y = Eh({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, u), + b = Eh({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, h), + w = Eh({ x: v[0], y: v[1] }, { x: v[2], y: v[3] }, { x: v[4], y: v[5] }, d) + return [v[0], v[1], y.x, y.y, b.x, b.y, w.x, w.y, v[4], v[5]] + }, + g = [].concat(p(f.topLeft), p(f.topRight), p(f.bottomRight), p(f.bottomLeft)) + return Zp(a, s, g, e, r) + }, + generateBarrelBezierPts: function (e, r, n, i) { + var a = r / 2, + s = e / 2, + o = n - s, + l = n + s, + u = i - a, + h = i + a, + d = R6(e, r), + f = d.heightOffset, + p = d.widthOffset, + g = d.ctrlPtOffsetPct * e, + m = { + topLeft: [o, u + f, o + g, u, o + p, u], + topRight: [l - p, u, l - g, u, l, u + f], + bottomRight: [l, h - f, l - g, h, l - p, h], + bottomLeft: [o + p, h, o + g, h, o, h - f], + } + return ( + (m.topLeft.isTop = !0), + (m.topRight.isTop = !0), + (m.bottomLeft.isBottom = !0), + (m.bottomRight.isBottom = !0), + m + ) + }, + checkPoint: function (e, r, n, i, a, s, o, l) { + var u = R6(i, a), + h = u.heightOffset, + d = u.widthOffset + if ( + Zo(e, r, this.points, s, o, i, a - 2 * h, [0, -1], n) || + Zo(e, r, this.points, s, o, i - 2 * d, a, [0, -1], n) + ) + return !0 + for ( + var f = this.generateBarrelBezierPts(i, a, s, o), + p = function (L, A, R) { + var C = R[4], + I = R[2], + P = R[0], + _ = R[5], + N = R[1], + M = Math.min(C, P), + O = Math.max(C, P), + D = Math.min(_, N), + B = Math.max(_, N) + if (M <= L && L <= O && D <= A && A <= B) { + var z = Rke(C, I, P), + F = Eke(z[0], z[1], z[2], L), + G = F.filter(function (q) { + return 0 <= q && q <= 1 + }) + if (G.length > 0) return G[0] + } + return null + }, + g = Object.keys(f), + m = 0; + m < g.length; + m++ + ) { + var v = g[m], + y = f[v], + b = p(e, r, y) + if (b != null) { + var w = y[5], + T = y[3], + E = y[1], + S = Yn(w, T, E, b) + if ((y.isTop && S <= r) || (y.isBottom && r <= S)) return !0 + } + } + return !1 + }, + }) +} +al.generateBottomRoundrectangle = function () { + return (this.nodeShapes["bottom-round-rectangle"] = this.nodeShapes.bottomroundrectangle = + { + renderer: this, + name: "bottom-round-rectangle", + points: Ii(4, 0), + draw: function (e, r, n, i, a, s) { + this.renderer.nodeShapeImpl(this.name, e, r, n, i, a, this.points, s) + }, + intersectLine: function (e, r, n, i, a, s, o, l) { + var u = e - (n / 2 + o), + h = r - (i / 2 + o), + d = h, + f = e + (n / 2 + o), + p = wl(a, s, e, r, u, h, f, d, !1) + return p.length > 0 ? p : Lq(a, s, e, r, n, i, o, l) + }, + checkPoint: function (e, r, n, i, a, s, o, l) { + l = l === "auto" ? Gl(i, a) : l + var u = 2 * l + if ( + Zo(e, r, this.points, s, o, i, a - u, [0, -1], n) || + Zo(e, r, this.points, s, o, i - u, a, [0, -1], n) + ) + return !0 + var h = i / 2 + 2 * n, + d = a / 2 + 2 * n, + f = [s - h, o - d, s - h, o, s + h, o, s + h, o - d] + return !!( + ea(e, r, f) || + Bc(e, r, u, u, s + i / 2 - l, o + a / 2 - l, n) || + Bc(e, r, u, u, s - i / 2 + l, o + a / 2 - l, n) + ) + }, + }) +} +al.registerNodeShapes = function () { + var t = (this.nodeShapes = {}), + e = this + this.generateEllipse(), + this.generatePolygon("triangle", Ii(3, 0)), + this.generateRoundPolygon("round-triangle", Ii(3, 0)), + this.generatePolygon("rectangle", Ii(4, 0)), + (t.square = t.rectangle), + this.generateRoundRectangle(), + this.generateCutRectangle(), + this.generateBarrel(), + this.generateBottomRoundrectangle() + { + var r = [0, 1, 1, 0, 0, -1, -1, 0] + this.generatePolygon("diamond", r), this.generateRoundPolygon("round-diamond", r) + } + this.generatePolygon("pentagon", Ii(5, 0)), + this.generateRoundPolygon("round-pentagon", Ii(5, 0)), + this.generatePolygon("hexagon", Ii(6, 0)), + this.generateRoundPolygon("round-hexagon", Ii(6, 0)), + this.generatePolygon("heptagon", Ii(7, 0)), + this.generateRoundPolygon("round-heptagon", Ii(7, 0)), + this.generatePolygon("octagon", Ii(8, 0)), + this.generateRoundPolygon("round-octagon", Ii(8, 0)) + var n = new Array(20) + { + var i = L6(5, 0), + a = L6(5, Math.PI / 5), + s = 0.5 * (3 - Math.sqrt(5)) + s *= 1.57 + for (var o = 0; o < a.length / 2; o++) (a[o * 2] *= s), (a[o * 2 + 1] *= s) + for (var o = 0; o < 20 / 4; o++) + (n[o * 4] = i[o * 2]), + (n[o * 4 + 1] = i[o * 2 + 1]), + (n[o * 4 + 2] = a[o * 2]), + (n[o * 4 + 3] = a[o * 2 + 1]) + } + ;(n = Rq(n)), + this.generatePolygon("star", n), + this.generatePolygon("vee", [-1, -1, 0, -0.333, 1, -1, 0, 1]), + this.generatePolygon("rhomboid", [-1, -1, 0.333, -1, 1, 1, -0.333, 1]), + this.generatePolygon("right-rhomboid", [-0.333, -1, 1, -1, 0.333, 1, -1, 1]), + (this.nodeShapes.concavehexagon = this.generatePolygon( + "concave-hexagon", + [-1, -0.95, -0.75, 0, -1, 0.95, 1, 0.95, 0.75, 0, 1, -0.95], + )) + { + var l = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1] + this.generatePolygon("tag", l), this.generateRoundPolygon("round-tag", l) + } + t.makePolygon = function (u) { + var h = u.join("$"), + d = "polygon-" + h, + f + return (f = this[d]) ? f : e.generatePolygon(d, u) + } +} +var Kg = {} +Kg.timeToRender = function () { + return this.redrawTotalTime / this.redrawCount +} +Kg.redraw = function (t) { + t = t || Cq() + var e = this + e.averageRedrawTime === void 0 && (e.averageRedrawTime = 0), + e.lastRedrawTime === void 0 && (e.lastRedrawTime = 0), + e.lastDrawTime === void 0 && (e.lastDrawTime = 0), + (e.requestedFrame = !0), + (e.renderOptions = t) +} +Kg.beforeRender = function (t, e) { + if (!this.destroyed) { + e == null && nn("Priority is not optional for beforeRender") + var r = this.beforeRenderCallbacks + r.push({ fn: t, priority: e }), + r.sort(function (n, i) { + return i.priority - n.priority + }) + } +} +var YR = function (e, r, n) { + for (var i = e.beforeRenderCallbacks, a = 0; a < i.length; a++) i[a].fn(r, n) +} +Kg.startRenderLoop = function () { + var t = this, + e = t.cy + if (!t.renderLoopStarted) { + t.renderLoopStarted = !0 + var r = function (i) { + if (!t.destroyed) { + if (!e.batching()) + if (t.requestedFrame && !t.skipFrame) { + YR(t, !0, i) + var a = Ko() + t.render(t.renderOptions) + var s = (t.lastDrawTime = Ko()) + t.averageRedrawTime === void 0 && (t.averageRedrawTime = s - a), + t.redrawCount === void 0 && (t.redrawCount = 0), + t.redrawCount++, + t.redrawTotalTime === void 0 && (t.redrawTotalTime = 0) + var o = s - a + ;(t.redrawTotalTime += o), + (t.lastRedrawTime = o), + (t.averageRedrawTime = t.averageRedrawTime / 2 + o / 2), + (t.requestedFrame = !1) + } else YR(t, !1, i) + ;(t.skipFrame = !1), jy(r) + } + } + jy(r) + } +} +var YCe = function (e) { + this.init(e) + }, + RW = YCe, + Ef = RW.prototype +Ef.clientFunctions = ["redrawHint", "render", "renderTo", "matchCanvasSize", "nodeShapeImpl", "arrowShapeImpl"] +Ef.init = function (t) { + var e = this + ;(e.options = t), (e.cy = t.cy) + var r = (e.container = t.cy.container()), + n = e.cy.window() + if (n) { + var i = n.document, + a = i.head, + s = "__________cytoscape_stylesheet", + o = "__________cytoscape_container", + l = i.getElementById(s) != null + if ((r.className.indexOf(o) < 0 && (r.className = (r.className || "") + " " + o), !l)) { + var u = i.createElement("style") + ;(u.id = s), (u.textContent = "." + o + " { position: relative; }"), a.insertBefore(u, a.children[0]) + } + var h = n.getComputedStyle(r), + d = h.getPropertyValue("position") + d === "static" && + Sr("A Cytoscape container has style position:static and so can not use UI extensions properly") + } + ;(e.selection = [void 0, void 0, void 0, void 0, 0]), + (e.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95]), + (e.hoverData = { + down: null, + last: null, + downTime: null, + triggerMode: null, + dragging: !1, + initialPan: [null, null], + capture: !1, + }), + (e.dragData = { possibleDragElements: [] }), + (e.touchData = { + start: null, + capture: !1, + startPosition: [null, null, null, null, null, null], + singleTouchStartTime: null, + singleTouchMoved: !0, + now: [null, null, null, null, null, null], + earlier: [null, null, null, null, null, null], + }), + (e.redraws = 0), + (e.showFps = t.showFps), + (e.debug = t.debug), + (e.webgl = t.webgl), + (e.hideEdgesOnViewport = t.hideEdgesOnViewport), + (e.textureOnViewport = t.textureOnViewport), + (e.wheelSensitivity = t.wheelSensitivity), + (e.motionBlurEnabled = t.motionBlur), + (e.forcedPixelRatio = gt(t.pixelRatio) ? t.pixelRatio : null), + (e.motionBlur = t.motionBlur), + (e.motionBlurOpacity = t.motionBlurOpacity), + (e.motionBlurTransparency = 1 - e.motionBlurOpacity), + (e.motionBlurPxRatio = 1), + (e.mbPxRBlurry = 1), + (e.minMbLowQualFrames = 4), + (e.fullQualityMb = !1), + (e.clearedForMotionBlur = []), + (e.desktopTapThreshold = t.desktopTapThreshold), + (e.desktopTapThreshold2 = t.desktopTapThreshold * t.desktopTapThreshold), + (e.touchTapThreshold = t.touchTapThreshold), + (e.touchTapThreshold2 = t.touchTapThreshold * t.touchTapThreshold), + (e.tapholdDuration = 500), + (e.bindings = []), + (e.beforeRenderCallbacks = []), + (e.beforeRenderPriorities = { + animations: 400, + eleCalcs: 300, + eleTxrDeq: 200, + lyrTxrDeq: 150, + lyrTxrSkip: 100, + }), + e.registerNodeShapes(), + e.registerArrowShapes(), + e.registerCalculationListeners() +} +Ef.notify = function (t, e) { + var r = this, + n = r.cy + if (!this.destroyed) { + if (t === "init") { + r.load() + return + } + if (t === "destroy") { + r.destroy() + return + } + ;(t === "add" || + t === "remove" || + (t === "move" && n.hasCompoundNodes()) || + t === "load" || + t === "zorder" || + t === "mount") && + r.invalidateCachedZSortedEles(), + t === "viewport" && r.redrawHint("select", !0), + t === "gc" && r.redrawHint("gc", !0), + (t === "load" || t === "resize" || t === "mount") && + (r.invalidateContainerClientCoordsCache(), r.matchCanvasSize(r.container)), + r.redrawHint("eles", !0), + r.redrawHint("drag", !0), + this.startRenderLoop(), + this.redraw() + } +} +Ef.destroy = function () { + var t = this + ;(t.destroyed = !0), t.cy.stopAnimationLoop() + for (var e = 0; e < t.bindings.length; e++) { + var r = t.bindings[e], + n = r, + i = n.target + ;(i.off || i.removeEventListener).apply(i, n.args) + } + if ( + ((t.bindings = []), + (t.beforeRenderCallbacks = []), + (t.onUpdateEleCalcsFns = []), + t.removeObserver && t.removeObserver.disconnect(), + t.styleObserver && t.styleObserver.disconnect(), + t.resizeObserver && t.resizeObserver.disconnect(), + t.labelCalcDiv) + ) + try { + document.body.removeChild(t.labelCalcDiv) + } catch {} +} +Ef.isHeadless = function () { + return !1 +} +;[AS, _W, LW, Tf, al, Kg].forEach(function (t) { + Gt(Ef, t) +}) +var j5 = 1e3 / 60, + NW = { + setupDequeueing: function (e) { + return function () { + var n = this, + i = this.renderer + if (!n.dequeueingSetup) { + n.dequeueingSetup = !0 + var a = Wg(function () { + i.redrawHint("eles", !0), i.redrawHint("drag", !0), i.redraw() + }, e.deqRedrawThreshold), + s = function (u, h) { + var d = Ko(), + f = i.averageRedrawTime, + p = i.lastRedrawTime, + g = [], + m = i.cy.extent(), + v = i.getPixelRatio() + for (u || i.flushRenderedStyleQueue(); ; ) { + var y = Ko(), + b = y - d, + w = y - h + if (p < j5) { + var T = j5 - (u ? f : 0) + if (w >= e.deqFastCost * T) break + } else if (u) { + if (b >= e.deqCost * p || b >= e.deqAvgCost * f) break + } else if (w >= e.deqNoDrawCost * j5) break + var E = e.deq(n, v, m) + if (E.length > 0) for (var S = 0; S < E.length; S++) g.push(E[S]) + else break + } + g.length > 0 && (e.onDeqd(n, g), !u && e.shouldRedraw(n, g, v, m) && a()) + }, + o = e.priority || dS + i.beforeRender(s, o(n)) + } + } + }, + }, + XCe = (function () { + function t(e) { + var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Ky + Jl(this, t), + (this.idsByKey = new Io()), + (this.keyForId = new Io()), + (this.cachesByLvl = new Io()), + (this.lvls = []), + (this.getKey = e), + (this.doesEleInvalidateKey = r) + } + return ec(t, [ + { + key: "getIdsFor", + value: function (r) { + r == null && nn("Can not get id list for null key") + var n = this.idsByKey, + i = this.idsByKey.get(r) + return i || ((i = new yf()), n.set(r, i)), i + }, + }, + { + key: "addIdForKey", + value: function (r, n) { + r != null && this.getIdsFor(r).add(n) + }, + }, + { + key: "deleteIdForKey", + value: function (r, n) { + r != null && this.getIdsFor(r).delete(n) + }, + }, + { + key: "getNumberOfIdsForKey", + value: function (r) { + return r == null ? 0 : this.getIdsFor(r).size + }, + }, + { + key: "updateKeyMappingFor", + value: function (r) { + var n = r.id(), + i = this.keyForId.get(n), + a = this.getKey(r) + this.deleteIdForKey(i, n), this.addIdForKey(a, n), this.keyForId.set(n, a) + }, + }, + { + key: "deleteKeyMappingFor", + value: function (r) { + var n = r.id(), + i = this.keyForId.get(n) + this.deleteIdForKey(i, n), this.keyForId.delete(n) + }, + }, + { + key: "keyHasChangedFor", + value: function (r) { + var n = r.id(), + i = this.keyForId.get(n), + a = this.getKey(r) + return i !== a + }, + }, + { + key: "isInvalid", + value: function (r) { + return this.keyHasChangedFor(r) || this.doesEleInvalidateKey(r) + }, + }, + { + key: "getCachesAt", + value: function (r) { + var n = this.cachesByLvl, + i = this.lvls, + a = n.get(r) + return a || ((a = new Io()), n.set(r, a), i.push(r)), a + }, + }, + { + key: "getCache", + value: function (r, n) { + return this.getCachesAt(n).get(r) + }, + }, + { + key: "get", + value: function (r, n) { + var i = this.getKey(r), + a = this.getCache(i, n) + return a != null && this.updateKeyMappingFor(r), a + }, + }, + { + key: "getForCachedKey", + value: function (r, n) { + var i = this.keyForId.get(r.id()), + a = this.getCache(i, n) + return a + }, + }, + { + key: "hasCache", + value: function (r, n) { + return this.getCachesAt(n).has(r) + }, + }, + { + key: "has", + value: function (r, n) { + var i = this.getKey(r) + return this.hasCache(i, n) + }, + }, + { + key: "setCache", + value: function (r, n, i) { + ;(i.key = r), this.getCachesAt(n).set(r, i) + }, + }, + { + key: "set", + value: function (r, n, i) { + var a = this.getKey(r) + this.setCache(a, n, i), this.updateKeyMappingFor(r) + }, + }, + { + key: "deleteCache", + value: function (r, n) { + this.getCachesAt(n).delete(r) + }, + }, + { + key: "delete", + value: function (r, n) { + var i = this.getKey(r) + this.deleteCache(i, n) + }, + }, + { + key: "invalidateKey", + value: function (r) { + var n = this + this.lvls.forEach(function (i) { + return n.deleteCache(r, i) + }) + }, + }, + { + key: "invalidate", + value: function (r) { + var n = r.id(), + i = this.keyForId.get(n) + this.deleteKeyMappingFor(r) + var a = this.doesEleInvalidateKey(r) + return a && this.invalidateKey(i), a || this.getNumberOfIdsForKey(i) === 0 + }, + }, + ]) + })(), + XR = 25, + nm = 50, + sv = -4, + U6 = 3, + DW = 7.99, + jCe = 8, + KCe = 1024, + ZCe = 1024, + QCe = 1024, + JCe = 0.2, + e8e = 0.8, + t8e = 10, + r8e = 0.15, + n8e = 0.1, + i8e = 0.9, + a8e = 0.9, + s8e = 100, + o8e = 1, + uh = { dequeue: "dequeue", downscale: "downscale", highQuality: "highQuality" }, + l8e = pi({ + getKey: null, + doesEleInvalidateKey: Ky, + drawElement: null, + getBoundingBox: null, + getRotationPoint: null, + getRotationOffset: null, + isVisible: Eq, + allowEdgeTxrCaching: !0, + allowParentTxrCaching: !0, + }), + X0 = function (e, r) { + var n = this + ;(n.renderer = e), (n.onDequeues = []) + var i = l8e(r) + Gt(n, i), (n.lookup = new XCe(i.getKey, i.doesEleInvalidateKey)), n.setupDequeueing() + }, + Wn = X0.prototype +Wn.reasons = uh +Wn.getTextureQueue = function (t) { + var e = this + return (e.eleImgCaches = e.eleImgCaches || {}), (e.eleImgCaches[t] = e.eleImgCaches[t] || []) +} +Wn.getRetiredTextureQueue = function (t) { + var e = this, + r = (e.eleImgCaches.retired = e.eleImgCaches.retired || {}), + n = (r[t] = r[t] || []) + return n +} +Wn.getElementQueue = function () { + var t = this, + e = (t.eleCacheQueue = + t.eleCacheQueue || + new Hg(function (r, n) { + return n.reqs - r.reqs + })) + return e +} +Wn.getElementKeyToQueue = function () { + var t = this, + e = (t.eleKeyToCacheQueue = t.eleKeyToCacheQueue || {}) + return e +} +Wn.getElement = function (t, e, r, n, i) { + var a = this, + s = this.renderer, + o = s.cy.zoom(), + l = this.lookup + if ( + !e || + e.w === 0 || + e.h === 0 || + isNaN(e.w) || + isNaN(e.h) || + !t.visible() || + t.removed() || + (!a.allowEdgeTxrCaching && t.isEdge()) || + (!a.allowParentTxrCaching && t.isParent()) + ) + return null + if ((n == null && (n = Math.ceil(pS(o * r))), n < sv)) n = sv + else if (o >= DW || n > U6) return null + var u = Math.pow(2, n), + h = e.h * u, + d = e.w * u, + f = s.eleTextBiggerThanMin(t, u) + if (!this.isVisible(t, f)) return null + var p = l.get(t, n) + if ((p && p.invalidated && ((p.invalidated = !1), (p.texture.invalidatedWidth -= p.width)), p)) return p + var g + if ((h <= XR ? (g = XR) : h <= nm ? (g = nm) : (g = Math.ceil(h / nm) * nm), h > QCe || d > ZCe)) return null + var m = a.getTextureQueue(g), + v = m[m.length - 2], + y = function () { + return a.recycleTexture(g, d) || a.addTexture(g, d) + } + v || (v = m[m.length - 1]), v || (v = y()), v.width - v.usedWidth < d && (v = y()) + for ( + var b = function (M) { + return M && M.scaledLabelShown === f + }, + w = i && i === uh.dequeue, + T = i && i === uh.highQuality, + E = i && i === uh.downscale, + S, + k = n + 1; + k <= U6; + k++ + ) { + var L = l.get(t, k) + if (L) { + S = L + break + } + } + var A = S && S.level === n + 1 ? S : null, + R = function () { + v.context.drawImage(A.texture.canvas, A.x, 0, A.width, A.height, v.usedWidth, 0, d, h) + } + if ((v.context.setTransform(1, 0, 0, 1, 0, 0), v.context.clearRect(v.usedWidth, 0, d, g), b(A))) R() + else if (b(S)) + if (T) { + for (var C = S.level; C > n; C--) A = a.getElement(t, e, r, C, uh.downscale) + R() + } else return a.queueElement(t, S.level - 1), S + else { + var I + if (!w && !T && !E) + for (var P = n - 1; P >= sv; P--) { + var _ = l.get(t, P) + if (_) { + I = _ + break + } + } + if (b(I)) return a.queueElement(t, n), I + v.context.translate(v.usedWidth, 0), + v.context.scale(u, u), + this.drawElement(v.context, t, e, f, !1), + v.context.scale(1 / u, 1 / u), + v.context.translate(-v.usedWidth, 0) + } + return ( + (p = { x: v.usedWidth, texture: v, level: n, scale: u, width: d, height: h, scaledLabelShown: f }), + (v.usedWidth += Math.ceil(d + jCe)), + v.eleCaches.push(p), + l.set(t, n, p), + a.checkTextureFullness(v), + p + ) +} +Wn.invalidateElements = function (t) { + for (var e = 0; e < t.length; e++) this.invalidateElement(t[e]) +} +Wn.invalidateElement = function (t) { + var e = this, + r = e.lookup, + n = [], + i = r.isInvalid(t) + if (i) { + for (var a = sv; a <= U6; a++) { + var s = r.getForCachedKey(t, a) + s && n.push(s) + } + var o = r.invalidate(t) + if (o) + for (var l = 0; l < n.length; l++) { + var u = n[l], + h = u.texture + ;(h.invalidatedWidth += u.width), (u.invalidated = !0), e.checkTextureUtility(h) + } + e.removeFromQueue(t) + } +} +Wn.checkTextureUtility = function (t) { + t.invalidatedWidth >= JCe * t.width && this.retireTexture(t) +} +Wn.checkTextureFullness = function (t) { + var e = this, + r = e.getTextureQueue(t.height) + t.usedWidth / t.width > e8e && t.fullnessChecks >= t8e ? Vl(r, t) : t.fullnessChecks++ +} +Wn.retireTexture = function (t) { + var e = this, + r = t.height, + n = e.getTextureQueue(r), + i = this.lookup + Vl(n, t), (t.retired = !0) + for (var a = t.eleCaches, s = 0; s < a.length; s++) { + var o = a[s] + i.deleteCache(o.key, o.level) + } + fS(a) + var l = e.getRetiredTextureQueue(r) + l.push(t) +} +Wn.addTexture = function (t, e) { + var r = this, + n = r.getTextureQueue(t), + i = {} + return ( + n.push(i), + (i.eleCaches = []), + (i.height = t), + (i.width = Math.max(KCe, e)), + (i.usedWidth = 0), + (i.invalidatedWidth = 0), + (i.fullnessChecks = 0), + (i.canvas = r.renderer.makeOffscreenCanvas(i.width, i.height)), + (i.context = i.canvas.getContext("2d")), + i + ) +} +Wn.recycleTexture = function (t, e) { + for (var r = this, n = r.getTextureQueue(t), i = r.getRetiredTextureQueue(t), a = 0; a < i.length; a++) { + var s = i[a] + if (s.width >= e) + return ( + (s.retired = !1), + (s.usedWidth = 0), + (s.invalidatedWidth = 0), + (s.fullnessChecks = 0), + fS(s.eleCaches), + s.context.setTransform(1, 0, 0, 1, 0, 0), + s.context.clearRect(0, 0, s.width, s.height), + Vl(i, s), + n.push(s), + s + ) + } +} +Wn.queueElement = function (t, e) { + var r = this, + n = r.getElementQueue(), + i = r.getElementKeyToQueue(), + a = this.getKey(t), + s = i[a] + if (s) (s.level = Math.max(s.level, e)), s.eles.merge(t), s.reqs++, n.updateItem(s) + else { + var o = { eles: t.spawn().merge(t), level: e, reqs: 1, key: a } + n.push(o), (i[a] = o) + } +} +Wn.dequeue = function (t) { + for ( + var e = this, r = e.getElementQueue(), n = e.getElementKeyToQueue(), i = [], a = e.lookup, s = 0; + s < o8e && r.size() > 0; + s++ + ) { + var o = r.pop(), + l = o.key, + u = o.eles[0], + h = a.hasCache(u, o.level) + if (((n[l] = null), h)) continue + i.push(o) + var d = e.getBoundingBox(u) + e.getElement(u, d, t, o.level, uh.dequeue) + } + return i +} +Wn.removeFromQueue = function (t) { + var e = this, + r = e.getElementQueue(), + n = e.getElementKeyToQueue(), + i = this.getKey(t), + a = n[i] + a != null && (a.eles.length === 1 ? ((a.reqs = hS), r.updateItem(a), r.pop(), (n[i] = null)) : a.eles.unmerge(t)) +} +Wn.onDequeue = function (t) { + this.onDequeues.push(t) +} +Wn.offDequeue = function (t) { + Vl(this.onDequeues, t) +} +Wn.setupDequeueing = NW.setupDequeueing({ + deqRedrawThreshold: s8e, + deqCost: r8e, + deqAvgCost: n8e, + deqNoDrawCost: i8e, + deqFastCost: a8e, + deq: function (e, r, n) { + return e.dequeue(r, n) + }, + onDeqd: function (e, r) { + for (var n = 0; n < e.onDequeues.length; n++) { + var i = e.onDequeues[n] + i(r) + } + }, + shouldRedraw: function (e, r, n, i) { + for (var a = 0; a < r.length; a++) + for (var s = r[a].eles, o = 0; o < s.length; o++) { + var l = s[o].boundingBox() + if (mS(l, i)) return !0 + } + return !1 + }, + priority: function (e) { + return e.renderer.beforeRenderPriorities.eleTxrDeq + }, +}) +var c8e = 1, + hp = -4, + i2 = 2, + u8e = 3.99, + h8e = 50, + d8e = 50, + f8e = 0.15, + p8e = 0.1, + g8e = 0.9, + m8e = 0.9, + v8e = 1, + jR = 250, + y8e = 4e3 * 4e3, + KR = 32767, + x8e = !0, + IW = function (e) { + var r = this, + n = (r.renderer = e), + i = n.cy + ;(r.layersByLevel = {}), + (r.firstGet = !0), + (r.lastInvalidationTime = Ko() - 2 * jR), + (r.skipping = !1), + (r.eleTxrDeqs = i.collection()), + (r.scheduleElementRefinement = Wg(function () { + r.refineElementTextures(r.eleTxrDeqs), r.eleTxrDeqs.unmerge(r.eleTxrDeqs) + }, d8e)), + n.beforeRender(function (s, o) { + o - r.lastInvalidationTime <= jR ? (r.skipping = !0) : (r.skipping = !1) + }, n.beforeRenderPriorities.lyrTxrSkip) + var a = function (o, l) { + return l.reqs - o.reqs + } + ;(r.layersQueue = new Hg(a)), r.setupDequeueing() + }, + gi = IW.prototype, + ZR = 0, + b8e = Math.pow(2, 53) - 1 +gi.makeLayer = function (t, e) { + var r = Math.pow(2, e), + n = Math.ceil(t.w * r), + i = Math.ceil(t.h * r), + a = this.renderer.makeOffscreenCanvas(n, i), + s = { + id: (ZR = ++ZR % b8e), + bb: t, + level: e, + width: n, + height: i, + canvas: a, + context: a.getContext("2d"), + eles: [], + elesQueue: [], + reqs: 0, + }, + o = s.context, + l = -s.bb.x1, + u = -s.bb.y1 + return o.scale(r, r), o.translate(l, u), s +} +gi.getLayers = function (t, e, r) { + var n = this, + i = n.renderer, + a = i.cy, + s = a.zoom(), + o = n.firstGet + if (((n.firstGet = !1), r == null)) { + if (((r = Math.ceil(pS(s * e))), r < hp)) r = hp + else if (s >= u8e || r > i2) return null + } + n.validateLayersElesOrdering(r, t) + var l = n.layersByLevel, + u = Math.pow(2, r), + h = (l[r] = l[r] || []), + d, + f = n.levelIsComplete(r, t), + p, + g = function () { + var R = function (N) { + if ((n.validateLayersElesOrdering(N, t), n.levelIsComplete(N, t))) return (p = l[N]), !0 + }, + C = function (N) { + if (!p) for (var M = r + N; hp <= M && M <= i2 && !R(M); M += N); + } + C(1), C(-1) + for (var I = h.length - 1; I >= 0; I--) { + var P = h[I] + P.invalid && Vl(h, P) + } + } + if (!f) g() + else return h + var m = function () { + if (!d) { + d = ua() + for (var R = 0; R < t.length; R++) _q(d, t[R].boundingBox()) + } + return d + }, + v = function (R) { + R = R || {} + var C = R.after + m() + var I = Math.ceil(d.w * u), + P = Math.ceil(d.h * u) + if (I > KR || P > KR) return null + var _ = I * P + if (_ > y8e) return null + var N = n.makeLayer(d, r) + if (C != null) { + var M = h.indexOf(C) + 1 + h.splice(M, 0, N) + } else (R.insert === void 0 || R.insert) && h.unshift(N) + return N + } + if (n.skipping && !o) return null + for (var y = null, b = t.length / c8e, w = !o, T = 0; T < t.length; T++) { + var E = t[T], + S = E._private.rscratch, + k = (S.imgLayerCaches = S.imgLayerCaches || {}), + L = k[r] + if (L) { + y = L + continue + } + if ((!y || y.eles.length >= b || !bke(y.bb, E.boundingBox())) && ((y = v({ insert: !0, after: y })), !y)) + return null + p || w ? n.queueLayer(y, E) : n.drawEleInLayer(y, E, r, e), y.eles.push(E), (k[r] = y) + } + return p || (w ? null : h) +} +gi.getEleLevelForLayerLevel = function (t, e) { + return t +} +gi.drawEleInLayer = function (t, e, r, n) { + var i = this, + a = this.renderer, + s = t.context, + o = e.boundingBox() + o.w === 0 || + o.h === 0 || + !e.visible() || + ((r = i.getEleLevelForLayerLevel(r, n)), + a.setImgSmoothing(s, !1), + a.drawCachedElement(s, e, null, null, r, x8e), + a.setImgSmoothing(s, !0)) +} +gi.levelIsComplete = function (t, e) { + var r = this, + n = r.layersByLevel[t] + if (!n || n.length === 0) return !1 + for (var i = 0, a = 0; a < n.length; a++) { + var s = n[a] + if (s.reqs > 0 || s.invalid) return !1 + i += s.eles.length + } + return i === e.length +} +gi.validateLayersElesOrdering = function (t, e) { + var r = this.layersByLevel[t] + if (r) + for (var n = 0; n < r.length; n++) { + for (var i = r[n], a = -1, s = 0; s < e.length; s++) + if (i.eles[0] === e[s]) { + a = s + break + } + if (a < 0) { + this.invalidateLayer(i) + continue + } + for (var o = a, s = 0; s < i.eles.length; s++) + if (i.eles[s] !== e[o + s]) { + this.invalidateLayer(i) + break + } + } +} +gi.updateElementsInLayers = function (t, e) { + for (var r = this, n = Vg(t[0]), i = 0; i < t.length; i++) + for ( + var a = n ? null : t[i], + s = n ? t[i] : t[i].ele, + o = s._private.rscratch, + l = (o.imgLayerCaches = o.imgLayerCaches || {}), + u = hp; + u <= i2; + u++ + ) { + var h = l[u] + h && ((a && r.getEleLevelForLayerLevel(h.level) !== a.level) || e(h, s, a)) + } +} +gi.haveLayers = function () { + for (var t = this, e = !1, r = hp; r <= i2; r++) { + var n = t.layersByLevel[r] + if (n && n.length > 0) { + e = !0 + break + } + } + return e +} +gi.invalidateElements = function (t) { + var e = this + t.length !== 0 && + ((e.lastInvalidationTime = Ko()), + !(t.length === 0 || !e.haveLayers()) && + e.updateElementsInLayers(t, function (n, i, a) { + e.invalidateLayer(n) + })) +} +gi.invalidateLayer = function (t) { + if (((this.lastInvalidationTime = Ko()), !t.invalid)) { + var e = t.level, + r = t.eles, + n = this.layersByLevel[e] + Vl(n, t), (t.elesQueue = []), (t.invalid = !0), t.replacement && (t.replacement.invalid = !0) + for (var i = 0; i < r.length; i++) { + var a = r[i]._private.rscratch.imgLayerCaches + a && (a[e] = null) + } + } +} +gi.refineElementTextures = function (t) { + var e = this + e.updateElementsInLayers(t, function (n, i, a) { + var s = n.replacement + if ((s || ((s = n.replacement = e.makeLayer(n.bb, n.level)), (s.replaces = n), (s.eles = n.eles)), !s.reqs)) + for (var o = 0; o < s.eles.length; o++) e.queueLayer(s, s.eles[o]) + }) +} +gi.enqueueElementRefinement = function (t) { + this.eleTxrDeqs.merge(t), this.scheduleElementRefinement() +} +gi.queueLayer = function (t, e) { + var r = this, + n = r.layersQueue, + i = t.elesQueue, + a = (i.hasId = i.hasId || {}) + if (!t.replacement) { + if (e) { + if (a[e.id()]) return + i.push(e), (a[e.id()] = !0) + } + t.reqs ? (t.reqs++, n.updateItem(t)) : ((t.reqs = 1), n.push(t)) + } +} +gi.dequeue = function (t) { + for (var e = this, r = e.layersQueue, n = [], i = 0; i < v8e && r.size() !== 0; ) { + var a = r.peek() + if (a.replacement) { + r.pop() + continue + } + if (a.replaces && a !== a.replaces.replacement) { + r.pop() + continue + } + if (a.invalid) { + r.pop() + continue + } + var s = a.elesQueue.shift() + s && (e.drawEleInLayer(a, s, a.level, t), i++), + n.length === 0 && n.push(!0), + a.elesQueue.length === 0 && + (r.pop(), (a.reqs = 0), a.replaces && e.applyLayerReplacement(a), e.requestRedraw()) + } + return n +} +gi.applyLayerReplacement = function (t) { + var e = this, + r = e.layersByLevel[t.level], + n = t.replaces, + i = r.indexOf(n) + if (!(i < 0 || n.invalid)) { + r[i] = t + for (var a = 0; a < t.eles.length; a++) { + var s = t.eles[a]._private, + o = (s.imgLayerCaches = s.imgLayerCaches || {}) + o && (o[t.level] = t) + } + e.requestRedraw() + } +} +gi.requestRedraw = Wg(function () { + var t = this.renderer + t.redrawHint("eles", !0), t.redrawHint("drag", !0), t.redraw() +}, 100) +gi.setupDequeueing = NW.setupDequeueing({ + deqRedrawThreshold: h8e, + deqCost: f8e, + deqAvgCost: p8e, + deqNoDrawCost: g8e, + deqFastCost: m8e, + deq: function (e, r) { + return e.dequeue(r) + }, + onDeqd: dS, + shouldRedraw: Eq, + priority: function (e) { + return e.renderer.beforeRenderPriorities.lyrTxrDeq + }, +}) +var MW = {}, + QR +function w8e(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r] + t.lineTo(n.x, n.y) + } +} +function T8e(t, e, r) { + for (var n, i = 0; i < e.length; i++) { + var a = e[i] + i === 0 && (n = a), t.lineTo(a.x, a.y) + } + t.quadraticCurveTo(r.x, r.y, n.x, n.y) +} +function JR(t, e, r) { + t.beginPath && t.beginPath() + for (var n = e, i = 0; i < n.length; i++) { + var a = n[i] + t.lineTo(a.x, a.y) + } + var s = r, + o = r[0] + t.moveTo(o.x, o.y) + for (var i = 1; i < s.length; i++) { + var a = s[i] + t.lineTo(a.x, a.y) + } + t.closePath && t.closePath() +} +function E8e(t, e, r, n, i) { + t.beginPath && t.beginPath(), t.arc(r, n, i, 0, Math.PI * 2, !1) + var a = e, + s = a[0] + t.moveTo(s.x, s.y) + for (var o = 0; o < a.length; o++) { + var l = a[o] + t.lineTo(l.x, l.y) + } + t.closePath && t.closePath() +} +function k8e(t, e, r, n) { + t.arc(e, r, n, 0, Math.PI * 2, !1) +} +MW.arrowShapeImpl = function (t) { + return (QR || + (QR = { + polygon: w8e, + "triangle-backcurve": T8e, + "triangle-tee": JR, + "circle-triangle": E8e, + "triangle-cross": JR, + circle: k8e, + }))[t] +} +var ho = {} +ho.drawElement = function (t, e, r, n, i, a) { + var s = this + e.isNode() ? s.drawNode(t, e, r, n, i, a) : s.drawEdge(t, e, r, n, i, a) +} +ho.drawElementOverlay = function (t, e) { + var r = this + e.isNode() ? r.drawNodeOverlay(t, e) : r.drawEdgeOverlay(t, e) +} +ho.drawElementUnderlay = function (t, e) { + var r = this + e.isNode() ? r.drawNodeUnderlay(t, e) : r.drawEdgeUnderlay(t, e) +} +ho.drawCachedElementPortion = function (t, e, r, n, i, a, s, o) { + var l = this, + u = r.getBoundingBox(e) + if (!(u.w === 0 || u.h === 0)) { + var h = r.getElement(e, u, n, i, a) + if (h != null) { + var d = o(l, e) + if (d === 0) return + var f = s(l, e), + p = u.x1, + g = u.y1, + m = u.w, + v = u.h, + y, + b, + w, + T, + E + if (f !== 0) { + var S = r.getRotationPoint(e) + ;(w = S.x), + (T = S.y), + t.translate(w, T), + t.rotate(f), + (E = l.getImgSmoothing(t)), + E || l.setImgSmoothing(t, !0) + var k = r.getRotationOffset(e) + ;(y = k.x), (b = k.y) + } else (y = p), (b = g) + var L + d !== 1 && ((L = t.globalAlpha), (t.globalAlpha = L * d)), + t.drawImage(h.texture.canvas, h.x, 0, h.width, h.height, y, b, m, v), + d !== 1 && (t.globalAlpha = L), + f !== 0 && (t.rotate(-f), t.translate(-w, -T), E || l.setImgSmoothing(t, !1)) + } else r.drawElement(t, e) + } +} +var S8e = function () { + return 0 + }, + C8e = function (e, r) { + return e.getTextAngle(r, null) + }, + A8e = function (e, r) { + return e.getTextAngle(r, "source") + }, + _8e = function (e, r) { + return e.getTextAngle(r, "target") + }, + L8e = function (e, r) { + return r.effectiveOpacity() + }, + K5 = function (e, r) { + return r.pstyle("text-opacity").pfValue * r.effectiveOpacity() + } +ho.drawCachedElement = function (t, e, r, n, i, a) { + var s = this, + o = s.data, + l = o.eleTxrCache, + u = o.lblTxrCache, + h = o.slbTxrCache, + d = o.tlbTxrCache, + f = e.boundingBox(), + p = a === !0 ? l.reasons.highQuality : null + if (!(f.w === 0 || f.h === 0 || !e.visible()) && (!n || mS(f, n))) { + var g = e.isEdge(), + m = e.element()._private.rscratch.badLine + s.drawElementUnderlay(t, e), + s.drawCachedElementPortion(t, e, l, r, i, p, S8e, L8e), + (!g || !m) && s.drawCachedElementPortion(t, e, u, r, i, p, C8e, K5), + g && + !m && + (s.drawCachedElementPortion(t, e, h, r, i, p, A8e, K5), + s.drawCachedElementPortion(t, e, d, r, i, p, _8e, K5)), + s.drawElementOverlay(t, e) + } +} +ho.drawElements = function (t, e) { + for (var r = this, n = 0; n < e.length; n++) { + var i = e[n] + r.drawElement(t, i) + } +} +ho.drawCachedElements = function (t, e, r, n) { + for (var i = this, a = 0; a < e.length; a++) { + var s = e[a] + i.drawCachedElement(t, s, r, n) + } +} +ho.drawCachedNodes = function (t, e, r, n) { + for (var i = this, a = 0; a < e.length; a++) { + var s = e[a] + s.isNode() && i.drawCachedElement(t, s, r, n) + } +} +ho.drawLayeredElements = function (t, e, r, n) { + var i = this, + a = i.data.lyrTxrCache.getLayers(e, r) + if (a) + for (var s = 0; s < a.length; s++) { + var o = a[s], + l = o.bb + l.w === 0 || l.h === 0 || t.drawImage(o.canvas, l.x1, l.y1, l.w, l.h) + } + else i.drawCachedElements(t, e, r, n) +} +var sl = {} +sl.drawEdge = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this, + o = e._private.rscratch + if (!(a && !e.visible()) && !(o.badLine || o.allpts == null || isNaN(o.allpts[0]))) { + var l + r && ((l = r), t.translate(-l.x1, -l.y1)) + var u = a ? e.pstyle("opacity").value : 1, + h = a ? e.pstyle("line-opacity").value : 1, + d = e.pstyle("curve-style").value, + f = e.pstyle("line-style").value, + p = e.pstyle("width").pfValue, + g = e.pstyle("line-cap").value, + m = e.pstyle("line-outline-width").value, + v = e.pstyle("line-outline-color").value, + y = u * h, + b = u * h, + w = function () { + var N = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : y + d === "straight-triangle" + ? (s.eleStrokeStyle(t, e, N), s.drawEdgeTrianglePath(e, t, o.allpts)) + : ((t.lineWidth = p), + (t.lineCap = g), + s.eleStrokeStyle(t, e, N), + s.drawEdgePath(e, t, o.allpts, f), + (t.lineCap = "butt")) + }, + T = function () { + var N = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : y + if (((t.lineWidth = p + m), (t.lineCap = g), m > 0)) s.colorStrokeStyle(t, v[0], v[1], v[2], N) + else { + t.lineCap = "butt" + return + } + d === "straight-triangle" + ? s.drawEdgeTrianglePath(e, t, o.allpts) + : (s.drawEdgePath(e, t, o.allpts, f), (t.lineCap = "butt")) + }, + E = function () { + i && s.drawEdgeOverlay(t, e) + }, + S = function () { + i && s.drawEdgeUnderlay(t, e) + }, + k = function () { + var N = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : b + s.drawArrowheads(t, e, N) + }, + L = function () { + s.drawElementText(t, e, null, n) + } + t.lineJoin = "round" + var A = e.pstyle("ghost").value === "yes" + if (A) { + var R = e.pstyle("ghost-offset-x").pfValue, + C = e.pstyle("ghost-offset-y").pfValue, + I = e.pstyle("ghost-opacity").value, + P = y * I + t.translate(R, C), w(P), k(P), t.translate(-R, -C) + } else T() + S(), w(), k(), E(), L(), r && t.translate(l.x1, l.y1) + } +} +var OW = function (e) { + if (!["overlay", "underlay"].includes(e)) throw new Error("Invalid state") + return function (r, n) { + if (n.visible()) { + var i = n.pstyle("".concat(e, "-opacity")).value + if (i !== 0) { + var a = this, + s = a.usePaths(), + o = n._private.rscratch, + l = n.pstyle("".concat(e, "-padding")).pfValue, + u = 2 * l, + h = n.pstyle("".concat(e, "-color")).value + ;(r.lineWidth = u), + o.edgeType === "self" && !s ? (r.lineCap = "butt") : (r.lineCap = "round"), + a.colorStrokeStyle(r, h[0], h[1], h[2], i), + a.drawEdgePath(n, r, o.allpts, "solid") + } + } + } +} +sl.drawEdgeOverlay = OW("overlay") +sl.drawEdgeUnderlay = OW("underlay") +sl.drawEdgePath = function (t, e, r, n) { + var i = t._private.rscratch, + a = e, + s, + o = !1, + l = this.usePaths(), + u = t.pstyle("line-dash-pattern").pfValue, + h = t.pstyle("line-dash-offset").pfValue + if (l) { + var d = r.join("$"), + f = i.pathCacheKey && i.pathCacheKey === d + f ? ((s = e = i.pathCache), (o = !0)) : ((s = e = new Path2D()), (i.pathCacheKey = d), (i.pathCache = s)) + } + if (a.setLineDash) + switch (n) { + case "dotted": + a.setLineDash([1, 1]) + break + case "dashed": + a.setLineDash(u), (a.lineDashOffset = h) + break + case "solid": + a.setLineDash([]) + break + } + if (!o && !i.badLine) + switch ((e.beginPath && e.beginPath(), e.moveTo(r[0], r[1]), i.edgeType)) { + case "bezier": + case "self": + case "compound": + case "multibezier": + for (var p = 2; p + 3 < r.length; p += 4) e.quadraticCurveTo(r[p], r[p + 1], r[p + 2], r[p + 3]) + break + case "straight": + case "haystack": + for (var g = 2; g + 1 < r.length; g += 2) e.lineTo(r[g], r[g + 1]) + break + case "segments": + if (i.isRound) { + var m = na(i.roundCorners), + v + try { + for (m.s(); !(v = m.n()).done; ) { + var y = v.value + EW(e, y) + } + } catch (w) { + m.e(w) + } finally { + m.f() + } + e.lineTo(r[r.length - 2], r[r.length - 1]) + } else for (var b = 2; b + 1 < r.length; b += 2) e.lineTo(r[b], r[b + 1]) + break + } + ;(e = a), l ? e.stroke(s) : e.stroke(), e.setLineDash && e.setLineDash([]) +} +sl.drawEdgeTrianglePath = function (t, e, r) { + e.fillStyle = e.strokeStyle + for (var n = t.pstyle("width").pfValue, i = 0; i + 1 < r.length; i += 2) { + var a = [r[i + 2] - r[i], r[i + 3] - r[i + 1]], + s = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + o = [a[1] / s, -a[0] / s], + l = [(o[0] * n) / 2, (o[1] * n) / 2] + e.beginPath(), + e.moveTo(r[i] - l[0], r[i + 1] - l[1]), + e.lineTo(r[i] + l[0], r[i + 1] + l[1]), + e.lineTo(r[i + 2], r[i + 3]), + e.closePath(), + e.fill() + } +} +sl.drawArrowheads = function (t, e, r) { + var n = e._private.rscratch, + i = n.edgeType === "haystack" + i || this.drawArrowhead(t, e, "source", n.arrowStartX, n.arrowStartY, n.srcArrowAngle, r), + this.drawArrowhead(t, e, "mid-target", n.midX, n.midY, n.midtgtArrowAngle, r), + this.drawArrowhead(t, e, "mid-source", n.midX, n.midY, n.midsrcArrowAngle, r), + i || this.drawArrowhead(t, e, "target", n.arrowEndX, n.arrowEndY, n.tgtArrowAngle, r) +} +sl.drawArrowhead = function (t, e, r, n, i, a, s) { + if (!(isNaN(n) || n == null || isNaN(i) || i == null || isNaN(a) || a == null)) { + var o = this, + l = e.pstyle(r + "-arrow-shape").value + if (l !== "none") { + var u = e.pstyle(r + "-arrow-fill").value === "hollow" ? "both" : "filled", + h = e.pstyle(r + "-arrow-fill").value, + d = e.pstyle("width").pfValue, + f = e.pstyle(r + "-arrow-width"), + p = f.value === "match-line" ? d : f.pfValue + f.units === "%" && (p *= d) + var g = e.pstyle("opacity").value + s === void 0 && (s = g) + var m = t.globalCompositeOperation + ;(s !== 1 || h === "hollow") && + ((t.globalCompositeOperation = "destination-out"), + o.colorFillStyle(t, 255, 255, 255, 1), + o.colorStrokeStyle(t, 255, 255, 255, 1), + o.drawArrowShape(e, t, u, d, l, p, n, i, a), + (t.globalCompositeOperation = m)) + var v = e.pstyle(r + "-arrow-color").value + o.colorFillStyle(t, v[0], v[1], v[2], s), + o.colorStrokeStyle(t, v[0], v[1], v[2], s), + o.drawArrowShape(e, t, h, d, l, p, n, i, a) + } + } +} +sl.drawArrowShape = function (t, e, r, n, i, a, s, o, l) { + var u = this, + h = this.usePaths() && i !== "triangle-cross", + d = !1, + f, + p = e, + g = { x: s, y: o }, + m = t.pstyle("arrow-scale").value, + v = this.getArrowWidth(n, m), + y = u.arrowShapes[i] + if (h) { + var b = (u.arrowPathCache = u.arrowPathCache || []), + w = ou(i), + T = b[w] + T != null ? ((f = e = T), (d = !0)) : ((f = e = new Path2D()), (b[w] = f)) + } + d || + (e.beginPath && e.beginPath(), + h ? y.draw(e, 1, 0, { x: 0, y: 0 }, 1) : y.draw(e, v, l, g, n), + e.closePath && e.closePath()), + (e = p), + h && (e.translate(s, o), e.rotate(l), e.scale(v, v)), + (r === "filled" || r === "both") && (h ? e.fill(f) : e.fill()), + (r === "hollow" || r === "both") && + ((e.lineWidth = a / (h ? v : 1)), (e.lineJoin = "miter"), h ? e.stroke(f) : e.stroke()), + h && (e.scale(1 / v, 1 / v), e.rotate(-l), e.translate(-s, -o)) +} +var RS = {} +RS.safeDrawImage = function (t, e, r, n, i, a, s, o, l, u) { + if (!(i <= 0 || a <= 0 || l <= 0 || u <= 0)) + try { + t.drawImage(e, r, n, i, a, s, o, l, u) + } catch (h) { + Sr(h) + } +} +RS.drawInscribedImage = function (t, e, r, n, i) { + var a = this, + s = r.position(), + o = s.x, + l = s.y, + u = r.cy().style(), + h = u.getIndexedStyle.bind(u), + d = h(r, "background-fit", "value", n), + f = h(r, "background-repeat", "value", n), + p = r.width(), + g = r.height(), + m = r.padding() * 2, + v = p + (h(r, "background-width-relative-to", "value", n) === "inner" ? 0 : m), + y = g + (h(r, "background-height-relative-to", "value", n) === "inner" ? 0 : m), + b = r._private.rscratch, + w = h(r, "background-clip", "value", n), + T = w === "node", + E = h(r, "background-image-opacity", "value", n) * i, + S = h(r, "background-image-smoothing", "value", n), + k = r.pstyle("corner-radius").value + k !== "auto" && (k = r.pstyle("corner-radius").pfValue) + var L = e.width || e.cachedW, + A = e.height || e.cachedH + ;(L == null || A == null) && + (document.body.appendChild(e), + (L = e.cachedW = e.width || e.offsetWidth), + (A = e.cachedH = e.height || e.offsetHeight), + document.body.removeChild(e)) + var R = L, + C = A + if ( + (h(r, "background-width", "value", n) !== "auto" && + (h(r, "background-width", "units", n) === "%" + ? (R = h(r, "background-width", "pfValue", n) * v) + : (R = h(r, "background-width", "pfValue", n))), + h(r, "background-height", "value", n) !== "auto" && + (h(r, "background-height", "units", n) === "%" + ? (C = h(r, "background-height", "pfValue", n) * y) + : (C = h(r, "background-height", "pfValue", n))), + !(R === 0 || C === 0)) + ) { + if (d === "contain") { + var I = Math.min(v / R, y / C) + ;(R *= I), (C *= I) + } else if (d === "cover") { + var I = Math.max(v / R, y / C) + ;(R *= I), (C *= I) + } + var P = o - v / 2, + _ = h(r, "background-position-x", "units", n), + N = h(r, "background-position-x", "pfValue", n) + _ === "%" ? (P += (v - R) * N) : (P += N) + var M = h(r, "background-offset-x", "units", n), + O = h(r, "background-offset-x", "pfValue", n) + M === "%" ? (P += (v - R) * O) : (P += O) + var D = l - y / 2, + B = h(r, "background-position-y", "units", n), + z = h(r, "background-position-y", "pfValue", n) + B === "%" ? (D += (y - C) * z) : (D += z) + var F = h(r, "background-offset-y", "units", n), + G = h(r, "background-offset-y", "pfValue", n) + F === "%" ? (D += (y - C) * G) : (D += G), b.pathCache && ((P -= o), (D -= l), (o = 0), (l = 0)) + var q = t.globalAlpha + t.globalAlpha = E + var Y = a.getImgSmoothing(t), + ee = !1 + if ( + (S === "no" && Y + ? (a.setImgSmoothing(t, !1), (ee = !0)) + : S === "yes" && !Y && (a.setImgSmoothing(t, !0), (ee = !0)), + f === "no-repeat") + ) + T && + (t.save(), + b.pathCache + ? t.clip(b.pathCache) + : (a.nodeShapes[a.getNodeShape(r)].draw(t, o, l, v, y, k, b), t.clip())), + a.safeDrawImage(t, e, 0, 0, L, A, P, D, R, C), + T && t.restore() + else { + var Q = t.createPattern(e, f) + ;(t.fillStyle = Q), + a.nodeShapes[a.getNodeShape(r)].draw(t, o, l, v, y, k, b), + t.translate(P, D), + t.fill(), + t.translate(-P, -D) + } + ;(t.globalAlpha = q), ee && a.setImgSmoothing(t, Y) + } +} +var Mu = {} +Mu.eleTextBiggerThanMin = function (t, e) { + if (!e) { + var r = t.cy().zoom(), + n = this.getPixelRatio(), + i = Math.ceil(pS(r * n)) + e = Math.pow(2, i) + } + var a = t.pstyle("font-size").pfValue * e, + s = t.pstyle("min-zoomed-font-size").pfValue + return !(a < s) +} +Mu.drawElementText = function (t, e, r, n, i) { + var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this + if (n == null) { + if (a && !s.eleTextBiggerThanMin(e)) return + } else if (n === !1) return + if (e.isNode()) { + var o = e.pstyle("label") + if (!o || !o.value) return + var l = s.getLabelJustification(e) + ;(t.textAlign = l), (t.textBaseline = "bottom") + } else { + var u = e.element()._private.rscratch.badLine, + h = e.pstyle("label"), + d = e.pstyle("source-label"), + f = e.pstyle("target-label") + if (u || ((!h || !h.value) && (!d || !d.value) && (!f || !f.value))) return + ;(t.textAlign = "center"), (t.textBaseline = "bottom") + } + var p = !r, + g + r && ((g = r), t.translate(-g.x1, -g.y1)), + i == null + ? (s.drawText(t, e, null, p, a), + e.isEdge() && (s.drawText(t, e, "source", p, a), s.drawText(t, e, "target", p, a))) + : s.drawText(t, e, i, p, a), + r && t.translate(g.x1, g.y1) +} +Mu.getFontCache = function (t) { + var e + this.fontCaches = this.fontCaches || [] + for (var r = 0; r < this.fontCaches.length; r++) if (((e = this.fontCaches[r]), e.context === t)) return e + return (e = { context: t }), this.fontCaches.push(e), e +} +Mu.setupTextStyle = function (t, e) { + var r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0, + n = e.pstyle("font-style").strValue, + i = e.pstyle("font-size").pfValue + "px", + a = e.pstyle("font-family").strValue, + s = e.pstyle("font-weight").strValue, + o = r ? e.effectiveOpacity() * e.pstyle("text-opacity").value : 1, + l = e.pstyle("text-outline-opacity").value * o, + u = e.pstyle("color").value, + h = e.pstyle("text-outline-color").value + ;(t.font = n + " " + s + " " + i + " " + a), + (t.lineJoin = "round"), + this.colorFillStyle(t, u[0], u[1], u[2], o), + this.colorStrokeStyle(t, h[0], h[1], h[2], l) +} +function Z5(t, e, r, n, i) { + var a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 5, + s = arguments.length > 6 ? arguments[6] : void 0 + t.beginPath(), + t.moveTo(e + a, r), + t.lineTo(e + n - a, r), + t.quadraticCurveTo(e + n, r, e + n, r + a), + t.lineTo(e + n, r + i - a), + t.quadraticCurveTo(e + n, r + i, e + n - a, r + i), + t.lineTo(e + a, r + i), + t.quadraticCurveTo(e, r + i, e, r + i - a), + t.lineTo(e, r + a), + t.quadraticCurveTo(e, r, e + a, r), + t.closePath(), + s ? t.stroke() : t.fill() +} +Mu.getTextAngle = function (t, e) { + var r, + n = t._private, + i = n.rscratch, + a = e ? e + "-" : "", + s = t.pstyle(a + "text-rotation") + if (s.strValue === "autorotate") { + var o = Ji(i, "labelAngle", e) + r = t.isEdge() ? o : 0 + } else s.strValue === "none" ? (r = 0) : (r = s.pfValue) + return r +} +Mu.drawText = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = e._private, + s = a.rscratch, + o = i ? e.effectiveOpacity() : 1 + if (!(i && (o === 0 || e.pstyle("text-opacity").value === 0))) { + r === "main" && (r = null) + var l = Ji(s, "labelX", r), + u = Ji(s, "labelY", r), + h, + d, + f = this.getLabelText(e, r) + if (f != null && f !== "" && !isNaN(l) && !isNaN(u)) { + this.setupTextStyle(t, e, i) + var p = r ? r + "-" : "", + g = Ji(s, "labelWidth", r), + m = Ji(s, "labelHeight", r), + v = e.pstyle(p + "text-margin-x").pfValue, + y = e.pstyle(p + "text-margin-y").pfValue, + b = e.isEdge(), + w = e.pstyle("text-halign").value, + T = e.pstyle("text-valign").value + b && ((w = "center"), (T = "center")), (l += v), (u += y) + var E + switch ( + (n ? (E = this.getTextAngle(e, r)) : (E = 0), + E !== 0 && ((h = l), (d = u), t.translate(h, d), t.rotate(E), (l = 0), (u = 0)), + T) + ) { + case "top": + break + case "center": + u += m / 2 + break + case "bottom": + u += m + break + } + var S = e.pstyle("text-background-opacity").value, + k = e.pstyle("text-border-opacity").value, + L = e.pstyle("text-border-width").pfValue, + A = e.pstyle("text-background-padding").pfValue, + R = e.pstyle("text-background-shape").strValue, + C = R.indexOf("round") === 0, + I = 2 + if (S > 0 || (L > 0 && k > 0)) { + var P = l - A + switch (w) { + case "left": + P -= g + break + case "center": + P -= g / 2 + break + } + var _ = u - m - A, + N = g + 2 * A, + M = m + 2 * A + if (S > 0) { + var O = t.fillStyle, + D = e.pstyle("text-background-color").value + ;(t.fillStyle = "rgba(" + D[0] + "," + D[1] + "," + D[2] + "," + S * o + ")"), + C ? Z5(t, P, _, N, M, I) : t.fillRect(P, _, N, M), + (t.fillStyle = O) + } + if (L > 0 && k > 0) { + var B = t.strokeStyle, + z = t.lineWidth, + F = e.pstyle("text-border-color").value, + G = e.pstyle("text-border-style").value + if ( + ((t.strokeStyle = "rgba(" + F[0] + "," + F[1] + "," + F[2] + "," + k * o + ")"), + (t.lineWidth = L), + t.setLineDash) + ) + switch (G) { + case "dotted": + t.setLineDash([1, 1]) + break + case "dashed": + t.setLineDash([4, 2]) + break + case "double": + ;(t.lineWidth = L / 4), t.setLineDash([]) + break + case "solid": + t.setLineDash([]) + break + } + if ((C ? Z5(t, P, _, N, M, I, "stroke") : t.strokeRect(P, _, N, M), G === "double")) { + var q = L / 2 + C + ? Z5(t, P + q, _ + q, N - q * 2, M - q * 2, I, "stroke") + : t.strokeRect(P + q, _ + q, N - q * 2, M - q * 2) + } + t.setLineDash && t.setLineDash([]), (t.lineWidth = z), (t.strokeStyle = B) + } + } + var Y = 2 * e.pstyle("text-outline-width").pfValue + if ((Y > 0 && (t.lineWidth = Y), e.pstyle("text-wrap").value === "wrap")) { + var ee = Ji(s, "labelWrapCachedLines", r), + Q = Ji(s, "labelLineHeight", r), + oe = g / 2, + pe = this.getLabelJustification(e) + switch ( + (pe === "auto" || + (w === "left" + ? pe === "left" + ? (l += -g) + : pe === "center" && (l += -oe) + : w === "center" + ? pe === "left" + ? (l += -oe) + : pe === "right" && (l += oe) + : w === "right" && (pe === "center" ? (l += oe) : pe === "right" && (l += g))), + T) + ) { + case "top": + u -= (ee.length - 1) * Q + break + case "center": + case "bottom": + u -= (ee.length - 1) * Q + break + } + for (var j = 0; j < ee.length; j++) + Y > 0 && t.strokeText(ee[j], l, u), t.fillText(ee[j], l, u), (u += Q) + } else Y > 0 && t.strokeText(f, l, u), t.fillText(f, l, u) + E !== 0 && (t.rotate(-E), t.translate(-h, -d)) + } + } +} +var rc = {} +rc.drawNode = function (t, e, r) { + var n = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : !0, + i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + a = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : !0, + s = this, + o, + l, + u = e._private, + h = u.rscratch, + d = e.position() + if (!(!gt(d.x) || !gt(d.y)) && !(a && !e.visible())) { + var f = a ? e.effectiveOpacity() : 1, + p = s.usePaths(), + g, + m = !1, + v = e.padding() + ;(o = e.width() + 2 * v), (l = e.height() + 2 * v) + var y + r && ((y = r), t.translate(-y.x1, -y.y1)) + for ( + var b = e.pstyle("background-image"), + w = b.value, + T = new Array(w.length), + E = new Array(w.length), + S = 0, + k = 0; + k < w.length; + k++ + ) { + var L = w[k], + A = (T[k] = L != null && L !== "none") + if (A) { + var R = e.cy().style().getIndexedStyle(e, "background-image-crossorigin", "value", k) + S++, + (E[k] = s.getCachedImage(L, R, function () { + ;(u.backgroundTimestamp = Date.now()), e.emitAndNotify("background") + })) + } + } + var C = e.pstyle("background-blacken").value, + I = e.pstyle("border-width").pfValue, + P = e.pstyle("background-opacity").value * f, + _ = e.pstyle("border-color").value, + N = e.pstyle("border-style").value, + M = e.pstyle("border-join").value, + O = e.pstyle("border-cap").value, + D = e.pstyle("border-position").value, + B = e.pstyle("border-dash-pattern").pfValue, + z = e.pstyle("border-dash-offset").pfValue, + F = e.pstyle("border-opacity").value * f, + G = e.pstyle("outline-width").pfValue, + q = e.pstyle("outline-color").value, + Y = e.pstyle("outline-style").value, + ee = e.pstyle("outline-opacity").value * f, + Q = e.pstyle("outline-offset").value, + oe = e.pstyle("corner-radius").value + oe !== "auto" && (oe = e.pstyle("corner-radius").pfValue) + var pe = function () { + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : P + s.eleFillStyle(t, e, J) + }, + j = function () { + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : F + s.colorStrokeStyle(t, _[0], _[1], _[2], J) + }, + H = function () { + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ee + s.colorStrokeStyle(t, q[0], q[1], q[2], J) + }, + X = function (J, ue, $, se) { + var ae = (s.nodePathCache = s.nodePathCache || []), + fe = Tq($ === "polygon" ? $ + "," + se.join(",") : $, "" + ue, "" + J, "" + oe), + he = ae[fe], + Te, + ke = !1 + return ( + he != null + ? ((Te = he), (ke = !0), (h.pathCache = Te)) + : ((Te = new Path2D()), (ae[fe] = h.pathCache = Te)), + { path: Te, cacheHit: ke } + ) + }, + W = e.pstyle("shape").strValue, + K = e.pstyle("shape-polygon-points").pfValue + if (p) { + t.translate(d.x, d.y) + var ne = X(o, l, W, K) + ;(g = ne.path), (m = ne.cacheHit) + } + var Z = function () { + if (!m) { + var J = d + p && (J = { x: 0, y: 0 }), s.nodeShapes[s.getNodeShape(e)].draw(g || t, J.x, J.y, o, l, oe, h) + } + p ? t.fill(g) : t.fill() + }, + be = function () { + for ( + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : f, + ue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, + $ = u.backgrounding, + se = 0, + ae = 0; + ae < E.length; + ae++ + ) { + var fe = e.cy().style().getIndexedStyle(e, "background-image-containment", "value", ae) + if ((ue && fe === "over") || (!ue && fe === "inside")) { + se++ + continue + } + T[ae] && E[ae].complete && !E[ae].error && (se++, s.drawInscribedImage(t, E[ae], e, ae, J)) + } + ;(u.backgrounding = se !== S), $ !== u.backgrounding && e.updateStyle(!1) + }, + ce = function () { + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + ue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : f + s.hasPie(e) && + (s.drawPie(t, e, ue), J && (p || s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, o, l, oe, h))) + }, + re = function () { + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1, + ue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : f + s.hasStripe(e) && + (t.save(), + p + ? t.clip(h.pathCache) + : (s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, o, l, oe, h), t.clip()), + s.drawStripe(t, e, ue), + t.restore(), + J && (p || s.nodeShapes[s.getNodeShape(e)].draw(t, d.x, d.y, o, l, oe, h))) + }, + Ne = function () { + var J = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : f, + ue = (C > 0 ? C : -C) * J, + $ = C > 0 ? 0 : 255 + C !== 0 && (s.colorFillStyle(t, $, $, $, ue), p ? t.fill(g) : t.fill()) + }, + me = function () { + if (I > 0) { + if (((t.lineWidth = I), (t.lineCap = O), (t.lineJoin = M), t.setLineDash)) + switch (N) { + case "dotted": + t.setLineDash([1, 1]) + break + case "dashed": + t.setLineDash(B), (t.lineDashOffset = z) + break + case "solid": + case "double": + t.setLineDash([]) + break + } + if (D !== "center") { + if ((t.save(), (t.lineWidth *= 2), D === "inside")) p ? t.clip(g) : t.clip() + else { + var J = new Path2D() + J.rect(-o / 2 - I, -l / 2 - I, o + 2 * I, l + 2 * I), J.addPath(g), t.clip(J, "evenodd") + } + p ? t.stroke(g) : t.stroke(), t.restore() + } else p ? t.stroke(g) : t.stroke() + if (N === "double") { + t.lineWidth = I / 3 + var ue = t.globalCompositeOperation + ;(t.globalCompositeOperation = "destination-out"), + p ? t.stroke(g) : t.stroke(), + (t.globalCompositeOperation = ue) + } + t.setLineDash && t.setLineDash([]) + } + }, + Ve = function () { + if (G > 0) { + if (((t.lineWidth = G), (t.lineCap = "butt"), t.setLineDash)) + switch (Y) { + case "dotted": + t.setLineDash([1, 1]) + break + case "dashed": + t.setLineDash([4, 2]) + break + case "solid": + case "double": + t.setLineDash([]) + break + } + var J = d + p && (J = { x: 0, y: 0 }) + var ue = s.getNodeShape(e), + $ = I + D === "inside" && ($ = 0), D === "outside" && ($ *= 2) + var se = (o + $ + (G + Q)) / o, + ae = (l + $ + (G + Q)) / l, + fe = o * se, + he = l * ae, + Te = s.nodeShapes[ue].points, + ke + if (p) { + var Ee = X(fe, he, ue, Te) + ke = Ee.path + } + if (ue === "ellipse") s.drawEllipsePath(ke || t, J.x, J.y, fe, he) + else if ( + [ + "round-diamond", + "round-heptagon", + "round-hexagon", + "round-octagon", + "round-pentagon", + "round-polygon", + "round-triangle", + "round-tag", + ].includes(ue) + ) { + var Ge = 0, + Je = 0, + We = 0 + ue === "round-diamond" + ? (Ge = ($ + Q + G) * 1.4) + : ue === "round-heptagon" + ? ((Ge = ($ + Q + G) * 1.075), (We = -($ / 2 + Q + G) / 35)) + : ue === "round-hexagon" + ? (Ge = ($ + Q + G) * 1.12) + : ue === "round-pentagon" + ? ((Ge = ($ + Q + G) * 1.13), (We = -($ / 2 + Q + G) / 15)) + : ue === "round-tag" + ? ((Ge = ($ + Q + G) * 1.12), (Je = ($ / 2 + G + Q) * 0.07)) + : ue === "round-triangle" && + ((Ge = ($ + Q + G) * (Math.PI / 2)), (We = -($ + Q / 2 + G) / Math.PI)), + Ge !== 0 && + ((se = (o + Ge) / o), + (fe = o * se), + ["round-hexagon", "round-tag"].includes(ue) || ((ae = (l + Ge) / l), (he = l * ae))), + (oe = oe === "auto" ? Nq(fe, he) : oe) + for ( + var Xe = fe / 2, + Ke = he / 2, + $e = oe + ($ + G + Q) / 2, + je = new Array(Te.length / 2), + lt = new Array(Te.length / 2), + st = 0; + st < Te.length / 2; + st++ + ) + je[st] = { x: J.x + Je + Xe * Te[st * 2], y: J.y + We + Ke * Te[st * 2 + 1] } + var qe, + wt, + Ye, + Ze, + dt = je.length + for (wt = je[dt - 1], qe = 0; qe < dt; qe++) + (Ye = je[qe % dt]), + (Ze = je[(qe + 1) % dt]), + (lt[qe] = _S(wt, Ye, Ze, $e)), + (wt = Ye), + (Ye = Ze) + s.drawRoundPolygonPath(ke || t, J.x + Je, J.y + We, o * se, l * ae, Te, lt) + } else if (["roundrectangle", "round-rectangle"].includes(ue)) + (oe = oe === "auto" ? Gl(fe, he) : oe), + s.drawRoundRectanglePath(ke || t, J.x, J.y, fe, he, oe + ($ + G + Q) / 2) + else if (["cutrectangle", "cut-rectangle"].includes(ue)) + (oe = oe === "auto" ? vS() : oe), + s.drawCutRectanglePath(ke || t, J.x, J.y, fe, he, null, oe + ($ + G + Q) / 4) + else if (["bottomroundrectangle", "bottom-round-rectangle"].includes(ue)) + (oe = oe === "auto" ? Gl(fe, he) : oe), + s.drawBottomRoundRectanglePath(ke || t, J.x, J.y, fe, he, oe + ($ + G + Q) / 2) + else if (ue === "barrel") s.drawBarrelPath(ke || t, J.x, J.y, fe, he) + else if ( + ue.startsWith("polygon") || + ["rhomboid", "right-rhomboid", "round-tag", "tag", "vee"].includes(ue) + ) { + var ct = ($ + G + Q) / o + ;(Te = Zy(Qy(Te, ct))), s.drawPolygonPath(ke || t, J.x, J.y, o, l, Te) + } else { + var ut = ($ + G + Q) / o + ;(Te = Zy(Qy(Te, -ut))), s.drawPolygonPath(ke || t, J.x, J.y, o, l, Te) + } + if ((p ? t.stroke(ke) : t.stroke(), Y === "double")) { + t.lineWidth = $ / 3 + var mt = t.globalCompositeOperation + ;(t.globalCompositeOperation = "destination-out"), + p ? t.stroke(ke) : t.stroke(), + (t.globalCompositeOperation = mt) + } + t.setLineDash && t.setLineDash([]) + } + }, + Ue = function () { + i && s.drawNodeOverlay(t, e, d, o, l) + }, + Fe = function () { + i && s.drawNodeUnderlay(t, e, d, o, l) + }, + _e = function () { + s.drawElementText(t, e, null, n) + }, + Oe = e.pstyle("ghost").value === "yes" + if (Oe) { + var Ce = e.pstyle("ghost-offset-x").pfValue, + Le = e.pstyle("ghost-offset-y").pfValue, + ze = e.pstyle("ghost-opacity").value, + ge = ze * f + t.translate(Ce, Le), + H(), + Ve(), + pe(ze * P), + Z(), + be(ge, !0), + j(ze * F), + me(), + ce(C !== 0 || I !== 0), + re(C !== 0 || I !== 0), + be(ge, !1), + Ne(ge), + t.translate(-Ce, -Le) + } + p && t.translate(-d.x, -d.y), + Fe(), + p && t.translate(d.x, d.y), + H(), + Ve(), + pe(), + Z(), + be(f, !0), + j(), + me(), + ce(C !== 0 || I !== 0), + re(C !== 0 || I !== 0), + be(f, !1), + Ne(), + p && t.translate(-d.x, -d.y), + _e(), + Ue(), + r && t.translate(y.x1, y.y1) + } +} +var PW = function (e) { + if (!["overlay", "underlay"].includes(e)) throw new Error("Invalid state") + return function (r, n, i, a, s) { + var o = this + if (n.visible()) { + var l = n.pstyle("".concat(e, "-padding")).pfValue, + u = n.pstyle("".concat(e, "-opacity")).value, + h = n.pstyle("".concat(e, "-color")).value, + d = n.pstyle("".concat(e, "-shape")).value, + f = n.pstyle("".concat(e, "-corner-radius")).value + if (u > 0) { + if (((i = i || n.position()), a == null || s == null)) { + var p = n.padding() + ;(a = n.width() + 2 * p), (s = n.height() + 2 * p) + } + o.colorFillStyle(r, h[0], h[1], h[2], u), + o.nodeShapes[d].draw(r, i.x, i.y, a + l * 2, s + l * 2, f), + r.fill() + } + } + } +} +rc.drawNodeOverlay = PW("overlay") +rc.drawNodeUnderlay = PW("underlay") +rc.hasPie = function (t) { + return (t = t[0]), t._private.hasPie +} +rc.hasStripe = function (t) { + return (t = t[0]), t._private.hasStripe +} +rc.drawPie = function (t, e, r, n) { + ;(e = e[0]), (n = n || e.position()) + var i = e.cy().style(), + a = e.pstyle("pie-size"), + s = e.pstyle("pie-hole"), + o = e.pstyle("pie-start-angle").pfValue, + l = n.x, + u = n.y, + h = e.width(), + d = e.height(), + f = Math.min(h, d) / 2, + p, + g = 0, + m = this.usePaths() + if ( + (m && ((l = 0), (u = 0)), + a.units === "%" ? (f = f * a.pfValue) : a.pfValue !== void 0 && (f = a.pfValue / 2), + s.units === "%" ? (p = f * s.pfValue) : s.pfValue !== void 0 && (p = s.pfValue / 2), + !(p >= f)) + ) + for (var v = 1; v <= i.pieBackgroundN; v++) { + var y = e.pstyle("pie-" + v + "-background-size").value, + b = e.pstyle("pie-" + v + "-background-color").value, + w = e.pstyle("pie-" + v + "-background-opacity").value * r, + T = y / 100 + T + g > 1 && (T = 1 - g) + var E = 1.5 * Math.PI + 2 * Math.PI * g + E += o + var S = 2 * Math.PI * T, + k = E + S + y === 0 || + g >= 1 || + g + T > 1 || + (p === 0 + ? (t.beginPath(), t.moveTo(l, u), t.arc(l, u, f, E, k), t.closePath()) + : (t.beginPath(), t.arc(l, u, f, E, k), t.arc(l, u, p, k, E, !0), t.closePath()), + this.colorFillStyle(t, b[0], b[1], b[2], w), + t.fill(), + (g += T)) + } +} +rc.drawStripe = function (t, e, r, n) { + ;(e = e[0]), (n = n || e.position()) + var i = e.cy().style(), + a = n.x, + s = n.y, + o = e.width(), + l = e.height(), + u = 0, + h = this.usePaths() + t.save() + var d = e.pstyle("stripe-direction").value, + f = e.pstyle("stripe-size") + switch (d) { + case "vertical": + break + case "righward": + t.rotate(-Math.PI / 2) + break + } + var p = o, + g = l + f.units === "%" + ? ((p = p * f.pfValue), (g = g * f.pfValue)) + : f.pfValue !== void 0 && ((p = f.pfValue), (g = f.pfValue)), + h && ((a = 0), (s = 0)), + (s -= p / 2), + (a -= g / 2) + for (var m = 1; m <= i.stripeBackgroundN; m++) { + var v = e.pstyle("stripe-" + m + "-background-size").value, + y = e.pstyle("stripe-" + m + "-background-color").value, + b = e.pstyle("stripe-" + m + "-background-opacity").value * r, + w = v / 100 + w + u > 1 && (w = 1 - u), + !(v === 0 || u >= 1 || u + w > 1) && + (t.beginPath(), + t.rect(a, s + g * u, p, g * w), + t.closePath(), + this.colorFillStyle(t, y[0], y[1], y[2], b), + t.fill(), + (u += w)) + } + t.restore() +} +var Xi = {}, + R8e = 100 +Xi.getPixelRatio = function () { + var t = this.data.contexts[0] + if (this.forcedPixelRatio != null) return this.forcedPixelRatio + var e = this.cy.window(), + r = + t.backingStorePixelRatio || + t.webkitBackingStorePixelRatio || + t.mozBackingStorePixelRatio || + t.msBackingStorePixelRatio || + t.oBackingStorePixelRatio || + t.backingStorePixelRatio || + 1 + return (e.devicePixelRatio || 1) / r +} +Xi.paintCache = function (t) { + for (var e = (this.paintCaches = this.paintCaches || []), r = !0, n, i = 0; i < e.length; i++) + if (((n = e[i]), n.context === t)) { + r = !1 + break + } + return r && ((n = { context: t }), e.push(n)), n +} +Xi.createGradientStyleFor = function (t, e, r, n, i) { + var a, + s = this.usePaths(), + o = r.pstyle(e + "-gradient-stop-colors").value, + l = r.pstyle(e + "-gradient-stop-positions").pfValue + if (n === "radial-gradient") + if (r.isEdge()) { + var u = r.sourceEndpoint(), + h = r.targetEndpoint(), + d = r.midpoint(), + f = lu(u, d), + p = lu(h, d) + a = t.createRadialGradient(d.x, d.y, 0, d.x, d.y, Math.max(f, p)) + } else { + var g = s ? { x: 0, y: 0 } : r.position(), + m = r.paddedWidth(), + v = r.paddedHeight() + a = t.createRadialGradient(g.x, g.y, 0, g.x, g.y, Math.max(m, v)) + } + else if (r.isEdge()) { + var y = r.sourceEndpoint(), + b = r.targetEndpoint() + a = t.createLinearGradient(y.x, y.y, b.x, b.y) + } else { + var w = s ? { x: 0, y: 0 } : r.position(), + T = r.paddedWidth(), + E = r.paddedHeight(), + S = T / 2, + k = E / 2, + L = r.pstyle("background-gradient-direction").value + switch (L) { + case "to-bottom": + a = t.createLinearGradient(w.x, w.y - k, w.x, w.y + k) + break + case "to-top": + a = t.createLinearGradient(w.x, w.y + k, w.x, w.y - k) + break + case "to-left": + a = t.createLinearGradient(w.x + S, w.y, w.x - S, w.y) + break + case "to-right": + a = t.createLinearGradient(w.x - S, w.y, w.x + S, w.y) + break + case "to-bottom-right": + case "to-right-bottom": + a = t.createLinearGradient(w.x - S, w.y - k, w.x + S, w.y + k) + break + case "to-top-right": + case "to-right-top": + a = t.createLinearGradient(w.x - S, w.y + k, w.x + S, w.y - k) + break + case "to-bottom-left": + case "to-left-bottom": + a = t.createLinearGradient(w.x + S, w.y - k, w.x - S, w.y + k) + break + case "to-top-left": + case "to-left-top": + a = t.createLinearGradient(w.x + S, w.y + k, w.x - S, w.y - k) + break + } + } + if (!a) return null + for (var A = l.length === o.length, R = o.length, C = 0; C < R; C++) + a.addColorStop(A ? l[C] : C / (R - 1), "rgba(" + o[C][0] + "," + o[C][1] + "," + o[C][2] + "," + i + ")") + return a +} +Xi.gradientFillStyle = function (t, e, r, n) { + var i = this.createGradientStyleFor(t, "background", e, r, n) + if (!i) return null + t.fillStyle = i +} +Xi.colorFillStyle = function (t, e, r, n, i) { + t.fillStyle = "rgba(" + e + "," + r + "," + n + "," + i + ")" +} +Xi.eleFillStyle = function (t, e, r) { + var n = e.pstyle("background-fill").value + if (n === "linear-gradient" || n === "radial-gradient") this.gradientFillStyle(t, e, n, r) + else { + var i = e.pstyle("background-color").value + this.colorFillStyle(t, i[0], i[1], i[2], r) + } +} +Xi.gradientStrokeStyle = function (t, e, r, n) { + var i = this.createGradientStyleFor(t, "line", e, r, n) + if (!i) return null + t.strokeStyle = i +} +Xi.colorStrokeStyle = function (t, e, r, n, i) { + t.strokeStyle = "rgba(" + e + "," + r + "," + n + "," + i + ")" +} +Xi.eleStrokeStyle = function (t, e, r) { + var n = e.pstyle("line-fill").value + if (n === "linear-gradient" || n === "radial-gradient") this.gradientStrokeStyle(t, e, n, r) + else { + var i = e.pstyle("line-color").value + this.colorStrokeStyle(t, i[0], i[1], i[2], r) + } +} +Xi.matchCanvasSize = function (t) { + var e = this, + r = e.data, + n = e.findContainerClientCoords(), + i = n[2], + a = n[3], + s = e.getPixelRatio(), + o = e.motionBlurPxRatio + ;(t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE] || t === e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG]) && + (s = o) + var l = i * s, + u = a * s, + h + if (!(l === e.canvasWidth && u === e.canvasHeight)) { + e.fontCaches = null + var d = r.canvasContainer + ;(d.style.width = i + "px"), (d.style.height = a + "px") + for (var f = 0; f < e.CANVAS_LAYERS; f++) + (h = r.canvases[f]), (h.width = l), (h.height = u), (h.style.width = i + "px"), (h.style.height = a + "px") + for (var f = 0; f < e.BUFFER_COUNT; f++) + (h = r.bufferCanvases[f]), + (h.width = l), + (h.height = u), + (h.style.width = i + "px"), + (h.style.height = a + "px") + ;(e.textureMult = 1), + s <= 1 && + ((h = r.bufferCanvases[e.TEXTURE_BUFFER]), + (e.textureMult = 2), + (h.width = l * e.textureMult), + (h.height = u * e.textureMult)), + (e.canvasWidth = l), + (e.canvasHeight = u), + (e.pixelRatio = s) + } +} +Xi.renderTo = function (t, e, r, n) { + this.render({ forcedContext: t, forcedZoom: e, forcedPan: r, drawAllLayers: !0, forcedPxRatio: n }) +} +Xi.clearCanvas = function () { + var t = this, + e = t.data + function r(n) { + n.clearRect(0, 0, t.canvasWidth, t.canvasHeight) + } + r(e.contexts[t.NODE]), r(e.contexts[t.DRAG]) +} +Xi.render = function (t) { + var e = this + t = t || Cq() + var r = e.cy, + n = t.forcedContext, + i = t.drawAllLayers, + a = t.drawOnlyNodeLayer, + s = t.forcedZoom, + o = t.forcedPan, + l = t.forcedPxRatio === void 0 ? this.getPixelRatio() : t.forcedPxRatio, + u = e.data, + h = u.canvasNeedsRedraw, + d = e.textureOnViewport && !n && (e.pinching || e.hoverData.dragging || e.swipePanning || e.data.wheelZooming), + f = t.motionBlur !== void 0 ? t.motionBlur : e.motionBlur, + p = e.motionBlurPxRatio, + g = r.hasCompoundNodes(), + m = e.hoverData.draggingEles, + v = !!(e.hoverData.selecting || e.touchData.selecting) + f = f && !n && e.motionBlurEnabled && !v + var y = f + n || + (e.prevPxRatio !== l && + (e.invalidateContainerClientCoordsCache(), + e.matchCanvasSize(e.container), + e.redrawHint("eles", !0), + e.redrawHint("drag", !0)), + (e.prevPxRatio = l)), + !n && e.motionBlurTimeout && clearTimeout(e.motionBlurTimeout), + f && + (e.mbFrames == null && (e.mbFrames = 0), + e.mbFrames++, + e.mbFrames < 3 && (y = !1), + e.mbFrames > e.minMbLowQualFrames && (e.motionBlurPxRatio = e.mbPxRBlurry)), + e.clearingMotionBlur && (e.motionBlurPxRatio = 1), + e.textureDrawLastFrame && !d && ((h[e.NODE] = !0), (h[e.SELECT_BOX] = !0)) + var b = r.style(), + w = r.zoom(), + T = s !== void 0 ? s : w, + E = r.pan(), + S = { x: E.x, y: E.y }, + k = { zoom: w, pan: { x: E.x, y: E.y } }, + L = e.prevViewport, + A = L === void 0 || k.zoom !== L.zoom || k.pan.x !== L.pan.x || k.pan.y !== L.pan.y + !A && !(m && !g) && (e.motionBlurPxRatio = 1), o && (S = o), (T *= l), (S.x *= l), (S.y *= l) + var R = e.getCachedZSortedEles() + function C(j, H, X, W, K) { + var ne = j.globalCompositeOperation + ;(j.globalCompositeOperation = "destination-out"), + e.colorFillStyle(j, 255, 255, 255, e.motionBlurTransparency), + j.fillRect(H, X, W, K), + (j.globalCompositeOperation = ne) + } + function I(j, H) { + var X, W, K, ne + !e.clearingMotionBlur && + (j === u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE] || j === u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]) + ? ((X = { x: E.x * p, y: E.y * p }), (W = w * p), (K = e.canvasWidth * p), (ne = e.canvasHeight * p)) + : ((X = S), (W = T), (K = e.canvasWidth), (ne = e.canvasHeight)), + j.setTransform(1, 0, 0, 1, 0, 0), + H === "motionBlur" ? C(j, 0, 0, K, ne) : !n && (H === void 0 || H) && j.clearRect(0, 0, K, ne), + i || (j.translate(X.x, X.y), j.scale(W, W)), + o && j.translate(o.x, o.y), + s && j.scale(s, s) + } + if ((d || (e.textureDrawLastFrame = !1), d)) { + if (((e.textureDrawLastFrame = !0), !e.textureCache)) { + ;(e.textureCache = {}), + (e.textureCache.bb = r.mutableElements().boundingBox()), + (e.textureCache.texture = e.data.bufferCanvases[e.TEXTURE_BUFFER]) + var P = e.data.bufferContexts[e.TEXTURE_BUFFER] + P.setTransform(1, 0, 0, 1, 0, 0), + P.clearRect(0, 0, e.canvasWidth * e.textureMult, e.canvasHeight * e.textureMult), + e.render({ forcedContext: P, drawOnlyNodeLayer: !0, forcedPxRatio: l * e.textureMult }) + var k = (e.textureCache.viewport = { + zoom: r.zoom(), + pan: r.pan(), + width: e.canvasWidth, + height: e.canvasHeight, + }) + k.mpan = { x: (0 - k.pan.x) / k.zoom, y: (0 - k.pan.y) / k.zoom } + } + ;(h[e.DRAG] = !1), (h[e.NODE] = !1) + var _ = u.contexts[e.NODE], + N = e.textureCache.texture, + k = e.textureCache.viewport + _.setTransform(1, 0, 0, 1, 0, 0), f ? C(_, 0, 0, k.width, k.height) : _.clearRect(0, 0, k.width, k.height) + var M = b.core("outside-texture-bg-color").value, + O = b.core("outside-texture-bg-opacity").value + e.colorFillStyle(_, M[0], M[1], M[2], O), _.fillRect(0, 0, k.width, k.height) + var w = r.zoom() + I(_, !1), + _.clearRect(k.mpan.x, k.mpan.y, k.width / k.zoom / l, k.height / k.zoom / l), + _.drawImage(N, k.mpan.x, k.mpan.y, k.width / k.zoom / l, k.height / k.zoom / l) + } else e.textureOnViewport && !n && (e.textureCache = null) + var D = r.extent(), + B = + e.pinching || + e.hoverData.dragging || + e.swipePanning || + e.data.wheelZooming || + e.hoverData.draggingEles || + e.cy.animated(), + z = e.hideEdgesOnViewport && B, + F = [] + if ( + ((F[e.NODE] = (!h[e.NODE] && f && !e.clearedForMotionBlur[e.NODE]) || e.clearingMotionBlur), + F[e.NODE] && (e.clearedForMotionBlur[e.NODE] = !0), + (F[e.DRAG] = (!h[e.DRAG] && f && !e.clearedForMotionBlur[e.DRAG]) || e.clearingMotionBlur), + F[e.DRAG] && (e.clearedForMotionBlur[e.DRAG] = !0), + h[e.NODE] || i || a || F[e.NODE]) + ) { + var G = f && !F[e.NODE] && p !== 1, + _ = n || (G ? e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE] : u.contexts[e.NODE]), + q = f && !G ? "motionBlur" : void 0 + I(_, q), + z ? e.drawCachedNodes(_, R.nondrag, l, D) : e.drawLayeredElements(_, R.nondrag, l, D), + e.debug && e.drawDebugPoints(_, R.nondrag), + !i && !f && (h[e.NODE] = !1) + } + if (!a && (h[e.DRAG] || i || F[e.DRAG])) { + var G = f && !F[e.DRAG] && p !== 1, + _ = n || (G ? e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG] : u.contexts[e.DRAG]) + I(_, f && !G ? "motionBlur" : void 0), + z ? e.drawCachedNodes(_, R.drag, l, D) : e.drawCachedElements(_, R.drag, l, D), + e.debug && e.drawDebugPoints(_, R.drag), + !i && !f && (h[e.DRAG] = !1) + } + if ((this.drawSelectionRectangle(t, I), f && p !== 1)) { + var Y = u.contexts[e.NODE], + ee = e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE], + Q = u.contexts[e.DRAG], + oe = e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG], + pe = function (H, X, W) { + H.setTransform(1, 0, 0, 1, 0, 0), + W || !y + ? H.clearRect(0, 0, e.canvasWidth, e.canvasHeight) + : C(H, 0, 0, e.canvasWidth, e.canvasHeight) + var K = p + H.drawImage(X, 0, 0, e.canvasWidth * K, e.canvasHeight * K, 0, 0, e.canvasWidth, e.canvasHeight) + } + ;(h[e.NODE] || F[e.NODE]) && (pe(Y, ee, F[e.NODE]), (h[e.NODE] = !1)), + (h[e.DRAG] || F[e.DRAG]) && (pe(Q, oe, F[e.DRAG]), (h[e.DRAG] = !1)) + } + ;(e.prevViewport = k), + e.clearingMotionBlur && ((e.clearingMotionBlur = !1), (e.motionBlurCleared = !0), (e.motionBlur = !0)), + f && + (e.motionBlurTimeout = setTimeout(function () { + ;(e.motionBlurTimeout = null), + (e.clearedForMotionBlur[e.NODE] = !1), + (e.clearedForMotionBlur[e.DRAG] = !1), + (e.motionBlur = !1), + (e.clearingMotionBlur = !d), + (e.mbFrames = 0), + (h[e.NODE] = !0), + (h[e.DRAG] = !0), + e.redraw() + }, R8e)), + n || r.emit("render") +} +var Xf +Xi.drawSelectionRectangle = function (t, e) { + var r = this, + n = r.cy, + i = r.data, + a = n.style(), + s = t.drawOnlyNodeLayer, + o = t.drawAllLayers, + l = i.canvasNeedsRedraw, + u = t.forcedContext + if (r.showFps || (!s && l[r.SELECT_BOX] && !o)) { + var h = u || i.contexts[r.SELECT_BOX] + if ((e(h), r.selection[4] == 1 && (r.hoverData.selecting || r.touchData.selecting))) { + var d = r.cy.zoom(), + f = a.core("selection-box-border-width").value / d + ;(h.lineWidth = f), + (h.fillStyle = + "rgba(" + + a.core("selection-box-color").value[0] + + "," + + a.core("selection-box-color").value[1] + + "," + + a.core("selection-box-color").value[2] + + "," + + a.core("selection-box-opacity").value + + ")"), + h.fillRect( + r.selection[0], + r.selection[1], + r.selection[2] - r.selection[0], + r.selection[3] - r.selection[1], + ), + f > 0 && + ((h.strokeStyle = + "rgba(" + + a.core("selection-box-border-color").value[0] + + "," + + a.core("selection-box-border-color").value[1] + + "," + + a.core("selection-box-border-color").value[2] + + "," + + a.core("selection-box-opacity").value + + ")"), + h.strokeRect( + r.selection[0], + r.selection[1], + r.selection[2] - r.selection[0], + r.selection[3] - r.selection[1], + )) + } + if (i.bgActivePosistion && !r.hoverData.selecting) { + var d = r.cy.zoom(), + p = i.bgActivePosistion + ;(h.fillStyle = + "rgba(" + + a.core("active-bg-color").value[0] + + "," + + a.core("active-bg-color").value[1] + + "," + + a.core("active-bg-color").value[2] + + "," + + a.core("active-bg-opacity").value + + ")"), + h.beginPath(), + h.arc(p.x, p.y, a.core("active-bg-size").pfValue / d, 0, 2 * Math.PI), + h.fill() + } + var g = r.lastRedrawTime + if (r.showFps && g) { + g = Math.round(g) + var m = Math.round(1e3 / g), + v = "1 frame = " + g + " ms = " + m + " fps" + if ( + (h.setTransform(1, 0, 0, 1, 0, 0), + (h.fillStyle = "rgba(255, 0, 0, 0.75)"), + (h.strokeStyle = "rgba(255, 0, 0, 0.75)"), + (h.font = "30px Arial"), + !Xf) + ) { + var y = h.measureText(v) + Xf = y.actualBoundingBoxAscent + } + h.fillText(v, 0, Xf) + var b = 60 + h.strokeRect(0, Xf + 10, 250, 20), h.fillRect(0, Xf + 10, 250 * Math.min(m / b, 1), 20) + } + o || (l[r.SELECT_BOX] = !1) + } +} +function eN(t, e, r) { + var n = t.createShader(e) + if ((t.shaderSource(n, r), t.compileShader(n), !t.getShaderParameter(n, t.COMPILE_STATUS))) + throw new Error(t.getShaderInfoLog(n)) + return n +} +function N8e(t, e, r) { + var n = eN(t, t.VERTEX_SHADER, e), + i = eN(t, t.FRAGMENT_SHADER, r), + a = t.createProgram() + if ((t.attachShader(a, n), t.attachShader(a, i), t.linkProgram(a), !t.getProgramParameter(a, t.LINK_STATUS))) + throw new Error("Could not initialize shaders") + return a +} +function D8e(t, e, r) { + r === void 0 && (r = e) + var n = t.makeOffscreenCanvas(e, r), + i = (n.context = n.getContext("2d")) + return ( + (n.clear = function () { + return i.clearRect(0, 0, n.width, n.height) + }), + n.clear(), + n + ) +} +function NS(t) { + var e = t.pixelRatio, + r = t.cy.zoom(), + n = t.cy.pan() + return { zoom: r * e, pan: { x: n.x * e, y: n.y * e } } +} +function I8e(t) { + var e = t.pixelRatio, + r = t.cy.zoom() + return r * e +} +function M8e(t, e, r, n, i) { + var a = n * r + e.x, + s = i * r + e.y + return (s = Math.round(t.canvasHeight - s)), [a, s] +} +function O8e(t) { + return t.pstyle("background-fill").value !== "solid" || t.pstyle("background-image").strValue !== "none" + ? !1 + : t.pstyle("border-width").value === 0 || t.pstyle("border-opacity").value === 0 + ? !0 + : t.pstyle("border-style").value === "solid" +} +function P8e(t, e) { + if (t.length !== e.length) return !1 + for (var r = 0; r < t.length; r++) if (t[r] !== e[r]) return !1 + return !0 +} +function gc(t, e, r) { + var n = t[0] / 255, + i = t[1] / 255, + a = t[2] / 255, + s = e, + o = r || new Array(4) + return (o[0] = n * s), (o[1] = i * s), (o[2] = a * s), (o[3] = s), o +} +function Hu(t, e) { + var r = e || new Array(4) + return ( + (r[0] = ((t >> 0) & 255) / 255), + (r[1] = ((t >> 8) & 255) / 255), + (r[2] = ((t >> 16) & 255) / 255), + (r[3] = ((t >> 24) & 255) / 255), + r + ) +} +function B8e(t) { + return t[0] + (t[1] << 8) + (t[2] << 16) + (t[3] << 24) +} +function F8e(t, e) { + var r = t.createTexture() + return ( + (r.buffer = function (n) { + t.bindTexture(t.TEXTURE_2D, r), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.LINEAR), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.LINEAR_MIPMAP_NEAREST), + t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0), + t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, n), + t.generateMipmap(t.TEXTURE_2D), + t.bindTexture(t.TEXTURE_2D, null) + }), + (r.deleteTexture = function () { + t.deleteTexture(r) + }), + r + ) +} +function BW(t, e) { + switch (e) { + case "float": + return [1, t.FLOAT, 4] + case "vec2": + return [2, t.FLOAT, 4] + case "vec3": + return [3, t.FLOAT, 4] + case "vec4": + return [4, t.FLOAT, 4] + case "int": + return [1, t.INT, 4] + case "ivec2": + return [2, t.INT, 4] + } +} +function FW(t, e, r) { + switch (e) { + case t.FLOAT: + return new Float32Array(r) + case t.INT: + return new Int32Array(r) + } +} +function $8e(t, e, r, n, i, a) { + switch (e) { + case t.FLOAT: + return new Float32Array(r.buffer, a * n, i) + case t.INT: + return new Int32Array(r.buffer, a * n, i) + } +} +function z8e(t, e, r, n) { + var i = BW(t, e), + a = Rn(i, 2), + s = a[0], + o = a[1], + l = FW(t, o, n), + u = t.createBuffer() + return ( + t.bindBuffer(t.ARRAY_BUFFER, u), + t.bufferData(t.ARRAY_BUFFER, l, t.STATIC_DRAW), + o === t.FLOAT ? t.vertexAttribPointer(r, s, o, !1, 0, 0) : o === t.INT && t.vertexAttribIPointer(r, s, o, 0, 0), + t.enableVertexAttribArray(r), + t.bindBuffer(t.ARRAY_BUFFER, null), + u + ) +} +function Ds(t, e, r, n) { + var i = BW(t, r), + a = Rn(i, 3), + s = a[0], + o = a[1], + l = a[2], + u = FW(t, o, e * s), + h = s * l, + d = t.createBuffer() + t.bindBuffer(t.ARRAY_BUFFER, d), + t.bufferData(t.ARRAY_BUFFER, e * h, t.DYNAMIC_DRAW), + t.enableVertexAttribArray(n), + o === t.FLOAT ? t.vertexAttribPointer(n, s, o, !1, h, 0) : o === t.INT && t.vertexAttribIPointer(n, s, o, h, 0), + t.vertexAttribDivisor(n, 1), + t.bindBuffer(t.ARRAY_BUFFER, null) + for (var f = new Array(e), p = 0; p < e; p++) f[p] = $8e(t, o, u, h, s, p) + return ( + (d.dataArray = u), + (d.stride = h), + (d.size = s), + (d.getView = function (g) { + return f[g] + }), + (d.setPoint = function (g, m, v) { + var y = f[g] + ;(y[0] = m), (y[1] = v) + }), + (d.bufferSubData = function (g) { + t.bindBuffer(t.ARRAY_BUFFER, d), + g ? t.bufferSubData(t.ARRAY_BUFFER, 0, u, 0, g * s) : t.bufferSubData(t.ARRAY_BUFFER, 0, u) + }), + d + ) +} +function V8e(t, e, r) { + for (var n = 9, i = new Float32Array(e * n), a = new Array(e), s = 0; s < e; s++) { + var o = s * n * 4 + a[s] = new Float32Array(i.buffer, o, n) + } + var l = t.createBuffer() + t.bindBuffer(t.ARRAY_BUFFER, l), t.bufferData(t.ARRAY_BUFFER, i.byteLength, t.DYNAMIC_DRAW) + for (var u = 0; u < 3; u++) { + var h = r + u + t.enableVertexAttribArray(h), + t.vertexAttribPointer(h, 3, t.FLOAT, !1, 3 * 12, u * 12), + t.vertexAttribDivisor(h, 1) + } + return ( + t.bindBuffer(t.ARRAY_BUFFER, null), + (l.getMatrixView = function (d) { + return a[d] + }), + (l.setData = function (d, f) { + a[f].set(d, 0) + }), + (l.bufferSubData = function () { + t.bindBuffer(t.ARRAY_BUFFER, l), t.bufferSubData(t.ARRAY_BUFFER, 0, i) + }), + l + ) +} +function G8e(t) { + var e = t.createFramebuffer() + t.bindFramebuffer(t.FRAMEBUFFER, e) + var r = t.createTexture() + return ( + t.bindTexture(t.TEXTURE_2D, r), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.LINEAR), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), + t.framebufferTexture2D(t.FRAMEBUFFER, t.COLOR_ATTACHMENT0, t.TEXTURE_2D, r, 0), + t.bindFramebuffer(t.FRAMEBUFFER, null), + (e.setFramebufferAttachmentSizes = function (n, i) { + t.bindTexture(t.TEXTURE_2D, r), + t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, n, i, 0, t.RGBA, t.UNSIGNED_BYTE, null) + }), + e + ) +} +var tN = typeof Float32Array < "u" ? Float32Array : Array +Math.hypot || + (Math.hypot = function () { + for (var t = 0, e = arguments.length; e--; ) t += arguments[e] * arguments[e] + return Math.sqrt(t) + }) +function Q5() { + var t = new tN(9) + return ( + tN != Float32Array && ((t[1] = 0), (t[2] = 0), (t[3] = 0), (t[5] = 0), (t[6] = 0), (t[7] = 0)), + (t[0] = 1), + (t[4] = 1), + (t[8] = 1), + t + ) +} +function rN(t) { + return (t[0] = 1), (t[1] = 0), (t[2] = 0), (t[3] = 0), (t[4] = 1), (t[5] = 0), (t[6] = 0), (t[7] = 0), (t[8] = 1), t +} +function U8e(t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + s = e[3], + o = e[4], + l = e[5], + u = e[6], + h = e[7], + d = e[8], + f = r[0], + p = r[1], + g = r[2], + m = r[3], + v = r[4], + y = r[5], + b = r[6], + w = r[7], + T = r[8] + return ( + (t[0] = f * n + p * s + g * u), + (t[1] = f * i + p * o + g * h), + (t[2] = f * a + p * l + g * d), + (t[3] = m * n + v * s + y * u), + (t[4] = m * i + v * o + y * h), + (t[5] = m * a + v * l + y * d), + (t[6] = b * n + w * s + T * u), + (t[7] = b * i + w * o + T * h), + (t[8] = b * a + w * l + T * d), + t + ) +} +function ov(t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + s = e[3], + o = e[4], + l = e[5], + u = e[6], + h = e[7], + d = e[8], + f = r[0], + p = r[1] + return ( + (t[0] = n), + (t[1] = i), + (t[2] = a), + (t[3] = s), + (t[4] = o), + (t[5] = l), + (t[6] = f * n + p * s + u), + (t[7] = f * i + p * o + h), + (t[8] = f * a + p * l + d), + t + ) +} +function nN(t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + s = e[3], + o = e[4], + l = e[5], + u = e[6], + h = e[7], + d = e[8], + f = Math.sin(r), + p = Math.cos(r) + return ( + (t[0] = p * n + f * s), + (t[1] = p * i + f * o), + (t[2] = p * a + f * l), + (t[3] = p * s - f * n), + (t[4] = p * o - f * i), + (t[5] = p * l - f * a), + (t[6] = u), + (t[7] = h), + (t[8] = d), + t + ) +} +function q6(t, e, r) { + var n = r[0], + i = r[1] + return ( + (t[0] = n * e[0]), + (t[1] = n * e[1]), + (t[2] = n * e[2]), + (t[3] = i * e[3]), + (t[4] = i * e[4]), + (t[5] = i * e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[8] = e[8]), + t + ) +} +function q8e(t, e, r) { + return ( + (t[0] = 2 / e), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = -2 / r), + (t[5] = 0), + (t[6] = -1), + (t[7] = 1), + (t[8] = 1), + t + ) +} +var W8e = (function () { + function t(e, r, n, i) { + Jl(this, t), + (this.debugID = Math.floor(Math.random() * 1e4)), + (this.r = e), + (this.texSize = r), + (this.texRows = n), + (this.texHeight = Math.floor(r / n)), + (this.enableWrapping = !0), + (this.locked = !1), + (this.texture = null), + (this.needsBuffer = !0), + (this.freePointer = { x: 0, row: 0 }), + (this.keyToLocation = new Map()), + (this.canvas = i(e, r, r)), + (this.scratch = i(e, r, this.texHeight, "scratch")) + } + return ec(t, [ + { + key: "lock", + value: function () { + this.locked = !0 + }, + }, + { + key: "getKeys", + value: function () { + return new Set(this.keyToLocation.keys()) + }, + }, + { + key: "getScale", + value: function (r) { + var n = r.w, + i = r.h, + a = this.texHeight, + s = this.texSize, + o = a / i, + l = n * o, + u = i * o + return l > s && ((o = s / n), (l = n * o), (u = i * o)), { scale: o, texW: l, texH: u } + }, + }, + { + key: "draw", + value: function (r, n, i) { + var a = this + if (this.locked) throw new Error("can't draw, atlas is locked") + var s = this.texSize, + o = this.texRows, + l = this.texHeight, + u = this.getScale(n), + h = u.scale, + d = u.texW, + f = u.texH, + p = function (w, T) { + if (i && T) { + var E = T.context, + S = w.x, + k = w.row, + L = S, + A = l * k + E.save(), E.translate(L, A), E.scale(h, h), i(E, n), E.restore() + } + }, + g = [null, null], + m = function () { + p(a.freePointer, a.canvas), + (g[0] = { x: a.freePointer.x, y: a.freePointer.row * l, w: d, h: f }), + (g[1] = { x: a.freePointer.x + d, y: a.freePointer.row * l, w: 0, h: f }), + (a.freePointer.x += d), + a.freePointer.x == s && ((a.freePointer.x = 0), a.freePointer.row++) + }, + v = function () { + var w = a.scratch, + T = a.canvas + w.clear(), p({ x: 0, row: 0 }, w) + var E = s - a.freePointer.x, + S = d - E, + k = l + { + var L = a.freePointer.x, + A = a.freePointer.row * l, + R = E + T.context.drawImage(w, 0, 0, R, k, L, A, R, k), (g[0] = { x: L, y: A, w: R, h: f }) + } + { + var C = E, + I = (a.freePointer.row + 1) * l, + P = S + T && T.context.drawImage(w, C, 0, P, k, 0, I, P, k), (g[1] = { x: 0, y: I, w: P, h: f }) + } + ;(a.freePointer.x = S), a.freePointer.row++ + }, + y = function () { + ;(a.freePointer.x = 0), a.freePointer.row++ + } + if (this.freePointer.x + d <= s) m() + else { + if (this.freePointer.row >= o - 1) return !1 + this.freePointer.x === s ? (y(), m()) : this.enableWrapping ? v() : (y(), m()) + } + return this.keyToLocation.set(r, g), (this.needsBuffer = !0), g + }, + }, + { + key: "getOffsets", + value: function (r) { + return this.keyToLocation.get(r) + }, + }, + { + key: "isEmpty", + value: function () { + return this.freePointer.x === 0 && this.freePointer.row === 0 + }, + }, + { + key: "canFit", + value: function (r) { + if (this.locked) return !1 + var n = this.texSize, + i = this.texRows, + a = this.getScale(r), + s = a.texW + return this.freePointer.x + s > n ? this.freePointer.row < i - 1 : !0 + }, + }, + { + key: "bufferIfNeeded", + value: function (r) { + this.texture || (this.texture = F8e(r, this.debugID)), + this.needsBuffer && + (this.texture.buffer(this.canvas), + (this.needsBuffer = !1), + this.locked && ((this.canvas = null), (this.scratch = null))) + }, + }, + { + key: "dispose", + value: function () { + this.texture && (this.texture.deleteTexture(), (this.texture = null)), + (this.canvas = null), + (this.scratch = null), + (this.locked = !0) + }, + }, + ]) + })(), + H8e = (function () { + function t(e, r, n, i) { + Jl(this, t), + (this.r = e), + (this.texSize = r), + (this.texRows = n), + (this.createTextureCanvas = i), + (this.atlases = []), + (this.styleKeyToAtlas = new Map()), + (this.markedKeys = new Set()) + } + return ec(t, [ + { + key: "getKeys", + value: function () { + return new Set(this.styleKeyToAtlas.keys()) + }, + }, + { + key: "_createAtlas", + value: function () { + var r = this.r, + n = this.texSize, + i = this.texRows, + a = this.createTextureCanvas + return new W8e(r, n, i, a) + }, + }, + { + key: "_getScratchCanvas", + value: function () { + if (!this.scratch) { + var r = this.r, + n = this.texSize, + i = this.texRows, + a = this.createTextureCanvas, + s = Math.floor(n / i) + this.scratch = a(r, n, s, "scratch") + } + return this.scratch + }, + }, + { + key: "draw", + value: function (r, n, i) { + var a = this.styleKeyToAtlas.get(r) + return ( + a || + ((a = this.atlases[this.atlases.length - 1]), + (!a || !a.canFit(n)) && (a && a.lock(), (a = this._createAtlas()), this.atlases.push(a)), + a.draw(r, n, i), + this.styleKeyToAtlas.set(r, a)), + a + ) + }, + }, + { + key: "getAtlas", + value: function (r) { + return this.styleKeyToAtlas.get(r) + }, + }, + { + key: "hasAtlas", + value: function (r) { + return this.styleKeyToAtlas.has(r) + }, + }, + { + key: "markKeyForGC", + value: function (r) { + this.markedKeys.add(r) + }, + }, + { + key: "gc", + value: function () { + var r = this, + n = this.markedKeys + if (n.size === 0) { + console.log("nothing to garbage collect") + return + } + var i = [], + a = new Map(), + s = null, + o = na(this.atlases), + l + try { + var u = function () { + var d = l.value, + f = d.getKeys(), + p = Y8e(n, f) + if (p.size === 0) + return ( + i.push(d), + f.forEach(function (E) { + return a.set(E, d) + }), + 1 + ) + s || ((s = r._createAtlas()), i.push(s)) + var g = na(f), + m + try { + for (g.s(); !(m = g.n()).done; ) { + var v = m.value + if (!p.has(v)) { + var y = d.getOffsets(v), + b = Rn(y, 2), + w = b[0], + T = b[1] + s.canFit({ w: w.w + T.w, h: w.h }) || + (s.lock(), (s = r._createAtlas()), i.push(s)), + d.canvas && (r._copyTextureToNewAtlas(v, d, s), a.set(v, s)) + } + } + } catch (E) { + g.e(E) + } finally { + g.f() + } + d.dispose() + } + for (o.s(); !(l = o.n()).done; ) u() + } catch (h) { + o.e(h) + } finally { + o.f() + } + ;(this.atlases = i), (this.styleKeyToAtlas = a), (this.markedKeys = new Set()) + }, + }, + { + key: "_copyTextureToNewAtlas", + value: function (r, n, i) { + var a = n.getOffsets(r), + s = Rn(a, 2), + o = s[0], + l = s[1] + if (l.w === 0) + i.draw(r, o, function (f) { + f.drawImage(n.canvas, o.x, o.y, o.w, o.h, 0, 0, o.w, o.h) + }) + else { + var u = this._getScratchCanvas() + u.clear(), + u.context.drawImage(n.canvas, o.x, o.y, o.w, o.h, 0, 0, o.w, o.h), + u.context.drawImage(n.canvas, l.x, l.y, l.w, l.h, o.w, 0, l.w, l.h) + var h = o.w + l.w, + d = o.h + i.draw(r, { w: h, h: d }, function (f) { + f.drawImage(u, 0, 0, h, d, 0, 0, h, d) + }) + } + }, + }, + { + key: "getCounts", + value: function () { + return { + keyCount: this.styleKeyToAtlas.size, + atlasCount: new Set(this.styleKeyToAtlas.values()).size, + } + }, + }, + ]) + })() +function Y8e(t, e) { + return t.intersection + ? t.intersection(e) + : new Set( + Yy(t).filter(function (r) { + return e.has(r) + }), + ) +} +var X8e = (function () { + function t(e, r) { + Jl(this, t), + (this.r = e), + (this.globalOptions = r), + (this.atlasSize = r.webglTexSize), + (this.maxAtlasesPerBatch = r.webglTexPerBatch), + (this.renderTypes = new Map()), + (this.collections = new Map()), + (this.typeAndIdToKey = new Map()) + } + return ec(t, [ + { + key: "getAtlasSize", + value: function () { + return this.atlasSize + }, + }, + { + key: "addAtlasCollection", + value: function (r, n) { + var i = this.globalOptions, + a = i.webglTexSize, + s = i.createTextureCanvas, + o = n.texRows, + l = this._cacheScratchCanvas(s), + u = new H8e(this.r, a, o, l) + this.collections.set(r, u) + }, + }, + { + key: "addRenderType", + value: function (r, n) { + var i = n.collection + if (!this.collections.has(i)) throw new Error("invalid atlas collection name '".concat(i, "'")) + var a = this.collections.get(i), + s = Gt({ type: r, atlasCollection: a }, n) + this.renderTypes.set(r, s) + }, + }, + { + key: "getRenderTypeOpts", + value: function (r) { + return this.renderTypes.get(r) + }, + }, + { + key: "getAtlasCollection", + value: function (r) { + return this.collections.get(r) + }, + }, + { + key: "_cacheScratchCanvas", + value: function (r) { + var n = -1, + i = -1, + a = null + return function (s, o, l, u) { + return u ? ((!a || o != n || l != i) && ((n = o), (i = l), (a = r(s, o, l))), a) : r(s, o, l) + } + }, + }, + { + key: "_key", + value: function (r, n) { + return "".concat(r, "-").concat(n) + }, + }, + { + key: "invalidate", + value: function (r) { + var n = this, + i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, + a = i.forceRedraw, + s = a === void 0 ? !1 : a, + o = i.filterEle, + l = + o === void 0 + ? function () { + return !0 + } + : o, + u = i.filterType, + h = + u === void 0 + ? function () { + return !0 + } + : u, + d = !1, + f = !1, + p = na(r), + g + try { + for (p.s(); !(g = p.n()).done; ) { + var m = g.value + if (l(m)) { + var v = na(this.renderTypes.values()), + y + try { + var b = function () { + var T = y.value, + E = T.type + if (h(E)) { + var S = n.collections.get(T.collection), + k = T.getKey(m), + L = Array.isArray(k) ? k : [k] + if (s) + L.forEach(function (I) { + return S.markKeyForGC(I) + }), + (f = !0) + else { + var A = T.getID ? T.getID(m) : m.id(), + R = n._key(E, A), + C = n.typeAndIdToKey.get(R) + C !== void 0 && + !P8e(L, C) && + ((d = !0), + n.typeAndIdToKey.delete(R), + C.forEach(function (I) { + return S.markKeyForGC(I) + })) + } + } + } + for (v.s(); !(y = v.n()).done; ) b() + } catch (w) { + v.e(w) + } finally { + v.f() + } + } + } + } catch (w) { + p.e(w) + } finally { + p.f() + } + return f && (this.gc(), (d = !1)), d + }, + }, + { + key: "gc", + value: function () { + var r = na(this.collections.values()), + n + try { + for (r.s(); !(n = r.n()).done; ) { + var i = n.value + i.gc() + } + } catch (a) { + r.e(a) + } finally { + r.f() + } + }, + }, + { + key: "getOrCreateAtlas", + value: function (r, n, i, a) { + var s = this.renderTypes.get(n), + o = this.collections.get(s.collection), + l = !1, + u = o.draw(a, i, function (f) { + s.drawClipped + ? (f.save(), + f.beginPath(), + f.rect(0, 0, i.w, i.h), + f.clip(), + s.drawElement(f, r, i, !0, !0), + f.restore()) + : s.drawElement(f, r, i, !0, !0), + (l = !0) + }) + if (l) { + var h = s.getID ? s.getID(r) : r.id(), + d = this._key(n, h) + this.typeAndIdToKey.has(d) + ? this.typeAndIdToKey.get(d).push(a) + : this.typeAndIdToKey.set(d, [a]) + } + return u + }, + }, + { + key: "getAtlasInfo", + value: function (r, n) { + var i = this, + a = this.renderTypes.get(n), + s = a.getKey(r), + o = Array.isArray(s) ? s : [s] + return o.map(function (l) { + var u = a.getBoundingBox(r, l), + h = i.getOrCreateAtlas(r, n, u, l), + d = h.getOffsets(l), + f = Rn(d, 2), + p = f[0], + g = f[1] + return { atlas: h, tex: p, tex1: p, tex2: g, bb: u } + }) + }, + }, + { + key: "getDebugInfo", + value: function () { + var r = [], + n = na(this.collections), + i + try { + for (n.s(); !(i = n.n()).done; ) { + var a = Rn(i.value, 2), + s = a[0], + o = a[1], + l = o.getCounts(), + u = l.keyCount, + h = l.atlasCount + r.push({ type: s, keyCount: u, atlasCount: h }) + } + } catch (d) { + n.e(d) + } finally { + n.f() + } + return r + }, + }, + ]) + })(), + j8e = (function () { + function t(e) { + Jl(this, t), + (this.globalOptions = e), + (this.atlasSize = e.webglTexSize), + (this.maxAtlasesPerBatch = e.webglTexPerBatch), + (this.batchAtlases = []) + } + return ec(t, [ + { + key: "getMaxAtlasesPerBatch", + value: function () { + return this.maxAtlasesPerBatch + }, + }, + { + key: "getAtlasSize", + value: function () { + return this.atlasSize + }, + }, + { + key: "getIndexArray", + value: function () { + return Array.from({ length: this.maxAtlasesPerBatch }, function (r, n) { + return n + }) + }, + }, + { + key: "startBatch", + value: function () { + this.batchAtlases = [] + }, + }, + { + key: "getAtlasCount", + value: function () { + return this.batchAtlases.length + }, + }, + { + key: "getAtlases", + value: function () { + return this.batchAtlases + }, + }, + { + key: "canAddToCurrentBatch", + value: function (r) { + return this.batchAtlases.length === this.maxAtlasesPerBatch ? this.batchAtlases.includes(r) : !0 + }, + }, + { + key: "getAtlasIndexForBatch", + value: function (r) { + var n = this.batchAtlases.indexOf(r) + if (n < 0) { + if (this.batchAtlases.length === this.maxAtlasesPerBatch) + throw new Error("cannot add more atlases to batch") + this.batchAtlases.push(r), (n = this.batchAtlases.length - 1) + } + return n + }, + }, + ]) + })(), + K8e = ` + float circleSD(vec2 p, float r) { + return distance(vec2(0), p) - r; // signed distance + } +`, + Z8e = ` + float rectangleSD(vec2 p, vec2 b) { + vec2 d = abs(p)-b; + return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0); + } +`, + Q8e = ` + float roundRectangleSD(vec2 p, vec2 b, vec4 cr) { + cr.xy = (p.x > 0.0) ? cr.xy : cr.zw; + cr.x = (p.y > 0.0) ? cr.x : cr.y; + vec2 q = abs(p) - b + cr.x; + return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x; + } +`, + J8e = ` + float ellipseSD(vec2 p, vec2 ab) { + p = abs( p ); // symmetry + + // find root with Newton solver + vec2 q = ab*(p-ab); + float w = (q.x<q.y)? 1.570796327 : 0.0; + for( int i=0; i<5; i++ ) { + vec2 cs = vec2(cos(w),sin(w)); + vec2 u = ab*vec2( cs.x,cs.y); + vec2 v = ab*vec2(-cs.y,cs.x); + w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v)); + } + + // compute final point and distance + float d = length(p-ab*vec2(cos(w),sin(w))); + + // return signed distance + return (dot(p/ab,p/ab)>1.0) ? d : -d; + } +`, + dp = { SCREEN: { name: "screen", screen: !0 }, PICKING: { name: "picking", picking: !0 } }, + a2 = { IGNORE: 1, USE_BB: 2 }, + J5 = 0, + iN = 1, + aN = 2, + e3 = 3, + Yu = 4, + im = 5, + jf = 6, + Kf = 7, + eAe = (function () { + function t(e, r, n) { + Jl(this, t), + (this.r = e), + (this.gl = r), + (this.maxInstances = n.webglBatchSize), + (this.atlasSize = n.webglTexSize), + (this.bgColor = n.bgColor), + (this.debug = n.webglDebug), + (this.batchDebugInfo = []), + (n.enableWrapping = !0), + (n.createTextureCanvas = D8e), + (this.atlasManager = new X8e(e, n)), + (this.batchManager = new j8e(n)), + (this.simpleShapeOptions = new Map()), + (this.program = this._createShaderProgram(dp.SCREEN)), + (this.pickingProgram = this._createShaderProgram(dp.PICKING)), + (this.vao = this._createVAO()) + } + return ec(t, [ + { + key: "addAtlasCollection", + value: function (r, n) { + this.atlasManager.addAtlasCollection(r, n) + }, + }, + { + key: "addTextureAtlasRenderType", + value: function (r, n) { + this.atlasManager.addRenderType(r, n) + }, + }, + { + key: "addSimpleShapeRenderType", + value: function (r, n) { + this.simpleShapeOptions.set(r, n) + }, + }, + { + key: "invalidate", + value: function (r) { + var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, + i = n.type, + a = this.atlasManager + return i + ? a.invalidate(r, { + filterType: function (o) { + return o === i + }, + forceRedraw: !0, + }) + : a.invalidate(r) + }, + }, + { + key: "gc", + value: function () { + this.atlasManager.gc() + }, + }, + { + key: "_createShaderProgram", + value: function (r) { + var n = this.gl, + i = `#version 300 es + precision highp float; + + uniform mat3 uPanZoomMatrix; + uniform int uAtlasSize; + + // instanced + in vec2 aPosition; // a vertex from the unit square + + in mat3 aTransform; // used to transform verticies, eg into a bounding box + in int aVertType; // the type of thing we are rendering + + // the z-index that is output when using picking mode + in vec4 aIndex; + + // For textures + in int aAtlasId; // which shader unit/atlas to use + in vec4 aTex; // x/y/w/h of texture in atlas + + // for edges + in vec4 aPointAPointB; + in vec4 aPointCPointD; + in vec2 aLineWidth; // also used for node border width + + // simple shapes + in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left] + in vec4 aColor; // also used for edges + in vec4 aBorderColor; // aLineWidth is used for border width + + // output values passed to the fragment shader + out vec2 vTexCoord; + out vec4 vColor; + out vec2 vPosition; + // flat values are not interpolated + flat out int vAtlasId; + flat out int vVertType; + flat out vec2 vTopRight; + flat out vec2 vBotLeft; + flat out vec4 vCornerRadius; + flat out vec4 vBorderColor; + flat out vec2 vBorderWidth; + flat out vec4 vIndex; + + void main(void) { + int vid = gl_VertexID; + vec2 position = aPosition; // TODO make this a vec3, simplifies some code below + + if(aVertType == ` + .concat( + J5, + `) { + float texX = aTex.x; // texture coordinates + float texY = aTex.y; + float texW = aTex.z; + float texH = aTex.w; + + if(vid == 1 || vid == 2 || vid == 4) { + texX += texW; + } + if(vid == 2 || vid == 4 || vid == 5) { + texY += texH; + } + + float d = float(uAtlasSize); + vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1 + + gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); + } + else if(aVertType == `, + ) + .concat(Yu, " || aVertType == ") + .concat( + Kf, + ` + || aVertType == `, + ) + .concat(im, " || aVertType == ") + .concat( + jf, + `) { // simple shapes + + // the bounding box is needed by the fragment shader + vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat + vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat + vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated + + // calculations are done in the fragment shader, just pass these along + vColor = aColor; + vCornerRadius = aCornerRadius; + vBorderColor = aBorderColor; + vBorderWidth = aLineWidth; + + gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); + } + else if(aVertType == `, + ) + .concat( + iN, + `) { + vec2 source = aPointAPointB.xy; + vec2 target = aPointAPointB.zw; + + // adjust the geometry so that the line is centered on the edge + position.y = position.y - 0.5; + + // stretch the unit square into a long skinny rectangle + vec2 xBasis = target - source; + vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x)); + vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y; + + gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); + vColor = aColor; + } + else if(aVertType == `, + ) + .concat( + aN, + `) { + vec2 pointA = aPointAPointB.xy; + vec2 pointB = aPointAPointB.zw; + vec2 pointC = aPointCPointD.xy; + vec2 pointD = aPointCPointD.zw; + + // adjust the geometry so that the line is centered on the edge + position.y = position.y - 0.5; + + vec2 p0, p1, p2, pos; + if(position.x == 0.0) { // The left side of the unit square + p0 = pointA; + p1 = pointB; + p2 = pointC; + pos = position; + } else { // The right side of the unit square, use same approach but flip the geometry upside down + p0 = pointD; + p1 = pointC; + p2 = pointB; + pos = vec2(0.0, -position.y); + } + + vec2 p01 = p1 - p0; + vec2 p12 = p2 - p1; + vec2 p21 = p1 - p2; + + // Find the normal vector. + vec2 tangent = normalize(normalize(p12) + normalize(p01)); + vec2 normal = vec2(-tangent.y, tangent.x); + + // Find the vector perpendicular to p0 -> p1. + vec2 p01Norm = normalize(vec2(-p01.y, p01.x)); + + // Determine the bend direction. + float sigma = sign(dot(p01 + p21, normal)); + float width = aLineWidth[0]; + + if(sign(pos.y) == -sigma) { + // This is an intersecting vertex. Adjust the position so that there's no overlap. + vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm); + gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0); + } else { + // This is a non-intersecting vertex. Treat it like a mitre join. + vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm); + gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0); + } + + vColor = aColor; + } + else if(aVertType == `, + ) + .concat( + e3, + ` && vid < 3) { + // massage the first triangle into an edge arrow + if(vid == 0) + position = vec2(-0.15, -0.3); + if(vid == 1) + position = vec2( 0.0, 0.0); + if(vid == 2) + position = vec2( 0.15, -0.3); + + gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0); + vColor = aColor; + } + else { + gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space + } + + vAtlasId = aAtlasId; + vVertType = aVertType; + vIndex = aIndex; + } + `, + ), + a = this.batchManager.getIndexArray(), + s = `#version 300 es + precision highp float; + + // declare texture unit for each texture atlas in the batch + ` + .concat( + a.map(function (u) { + return "uniform sampler2D uTexture".concat(u, ";") + }).join(` + `), + ` + + uniform vec4 uBGColor; + uniform float uZoom; + + in vec2 vTexCoord; + in vec4 vColor; + in vec2 vPosition; // model coordinates + + flat in int vAtlasId; + flat in vec4 vIndex; + flat in int vVertType; + flat in vec2 vTopRight; + flat in vec2 vBotLeft; + flat in vec4 vCornerRadius; + flat in vec4 vBorderColor; + flat in vec2 vBorderWidth; + + out vec4 outColor; + + `, + ) + .concat( + K8e, + ` + `, + ) + .concat( + Z8e, + ` + `, + ) + .concat( + Q8e, + ` + `, + ) + .concat( + J8e, + ` + + vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha + return vec4( + top.rgb + (bot.rgb * (1.0 - top.a)), + top.a + (bot.a * (1.0 - top.a)) + ); + } + + vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance + // scale to the zoom level so that borders don't look blurry when zoomed in + // note 1.5 is an aribitrary value chosen because it looks good + return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); + } + + void main(void) { + if(vVertType == `, + ) + .concat( + J5, + `) { + // look up the texel from the texture unit + `, + ) + .concat( + a.map(function (u) { + return "if(vAtlasId == " + .concat(u, ") outColor = texture(uTexture") + .concat(u, ", vTexCoord);") + }).join(` + else `), + ` + } + else if(vVertType == `, + ) + .concat( + e3, + `) { + // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out'; + outColor = blend(vColor, uBGColor); + outColor.a = 1.0; // make opaque, masks out line under arrow + } + else if(vVertType == `, + ) + .concat( + Yu, + ` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border + outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done + } + else if(vVertType == `, + ) + .concat(Yu, " || vVertType == ") + .concat( + Kf, + ` + || vVertType == `, + ) + .concat(im, " || vVertType == ") + .concat( + jf, + `) { // use SDF + + float outerBorder = vBorderWidth[0]; + float innerBorder = vBorderWidth[1]; + float borderPadding = outerBorder * 2.0; + float w = vTopRight.x - vBotLeft.x - borderPadding; + float h = vTopRight.y - vBotLeft.y - borderPadding; + vec2 b = vec2(w/2.0, h/2.0); // half width, half height + vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center + + float d; // signed distance + if(vVertType == `, + ) + .concat( + Yu, + `) { + d = rectangleSD(p, b); + } else if(vVertType == `, + ) + .concat( + Kf, + ` && w == h) { + d = circleSD(p, b.x); // faster than ellipse + } else if(vVertType == `, + ) + .concat( + Kf, + `) { + d = ellipseSD(p, b); + } else { + d = roundRectangleSD(p, b, vCornerRadius.wzyx); + } + + // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling + // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box + if(d > 0.0) { + if(d > outerBorder) { + discard; + } else { + outColor = distInterp(vBorderColor, vec4(0), d - outerBorder); + } + } else { + if(d > innerBorder) { + vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor; + vec4 innerBorderColor = blend(vBorderColor, vColor); + outColor = distInterp(innerBorderColor, outerColor, d); + } + else { + vec4 outerColor; + if(innerBorder == 0.0 && outerBorder == 0.0) { + outerColor = vec4(0); + } else if(innerBorder == 0.0) { + outerColor = vBorderColor; + } else { + outerColor = blend(vBorderColor, vColor); + } + outColor = distInterp(vColor, outerColor, d - innerBorder); + } + } + } + else { + outColor = vColor; + } + + `, + ) + .concat( + r.picking + ? `if(outColor.a == 0.0) discard; + else outColor = vIndex;` + : "", + ` + } + `, + ), + o = N8e(n, i, s) + ;(o.aPosition = n.getAttribLocation(o, "aPosition")), + (o.aIndex = n.getAttribLocation(o, "aIndex")), + (o.aVertType = n.getAttribLocation(o, "aVertType")), + (o.aTransform = n.getAttribLocation(o, "aTransform")), + (o.aAtlasId = n.getAttribLocation(o, "aAtlasId")), + (o.aTex = n.getAttribLocation(o, "aTex")), + (o.aPointAPointB = n.getAttribLocation(o, "aPointAPointB")), + (o.aPointCPointD = n.getAttribLocation(o, "aPointCPointD")), + (o.aLineWidth = n.getAttribLocation(o, "aLineWidth")), + (o.aColor = n.getAttribLocation(o, "aColor")), + (o.aCornerRadius = n.getAttribLocation(o, "aCornerRadius")), + (o.aBorderColor = n.getAttribLocation(o, "aBorderColor")), + (o.uPanZoomMatrix = n.getUniformLocation(o, "uPanZoomMatrix")), + (o.uAtlasSize = n.getUniformLocation(o, "uAtlasSize")), + (o.uBGColor = n.getUniformLocation(o, "uBGColor")), + (o.uZoom = n.getUniformLocation(o, "uZoom")), + (o.uTextures = []) + for (var l = 0; l < this.batchManager.getMaxAtlasesPerBatch(); l++) + o.uTextures.push(n.getUniformLocation(o, "uTexture".concat(l))) + return o + }, + }, + { + key: "_createVAO", + value: function () { + var r = [0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1] + this.vertexCount = r.length / 2 + var n = this.maxInstances, + i = this.gl, + a = this.program, + s = i.createVertexArray() + return ( + i.bindVertexArray(s), + z8e(i, "vec2", a.aPosition, r), + (this.transformBuffer = V8e(i, n, a.aTransform)), + (this.indexBuffer = Ds(i, n, "vec4", a.aIndex)), + (this.vertTypeBuffer = Ds(i, n, "int", a.aVertType)), + (this.atlasIdBuffer = Ds(i, n, "int", a.aAtlasId)), + (this.texBuffer = Ds(i, n, "vec4", a.aTex)), + (this.pointAPointBBuffer = Ds(i, n, "vec4", a.aPointAPointB)), + (this.pointCPointDBuffer = Ds(i, n, "vec4", a.aPointCPointD)), + (this.lineWidthBuffer = Ds(i, n, "vec2", a.aLineWidth)), + (this.colorBuffer = Ds(i, n, "vec4", a.aColor)), + (this.cornerRadiusBuffer = Ds(i, n, "vec4", a.aCornerRadius)), + (this.borderColorBuffer = Ds(i, n, "vec4", a.aBorderColor)), + i.bindVertexArray(null), + s + ) + }, + }, + { + key: "buffers", + get: function () { + var r = this + return ( + this._buffers || + (this._buffers = Object.keys(this) + .filter(function (n) { + return n.endsWith("Buffer") + }) + .map(function (n) { + return r[n] + })), + this._buffers + ) + }, + }, + { + key: "startFrame", + value: function (r) { + var n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : dp.SCREEN + ;(this.panZoomMatrix = r), + (this.renderTarget = n), + (this.batchDebugInfo = []), + (this.wrappedCount = 0), + (this.simpleCount = 0), + this.startBatch() + }, + }, + { + key: "startBatch", + value: function () { + ;(this.instanceCount = 0), this.batchManager.startBatch() + }, + }, + { + key: "endFrame", + value: function () { + this.endBatch() + }, + }, + { + key: "_isVisible", + value: function (r, n) { + return r.visible() ? (n && n.isVisible ? n.isVisible(r) : !0) : !1 + }, + }, + { + key: "drawTexture", + value: function (r, n, i) { + var a = this.atlasManager, + s = this.batchManager, + o = a.getRenderTypeOpts(i) + if (this._isVisible(r, o)) { + if (this.renderTarget.picking && o.getTexPickingMode) { + var l = o.getTexPickingMode(r) + if (l === a2.IGNORE) return + if (l == a2.USE_BB) { + this.drawPickingRectangle(r, n, i) + return + } + } + var u = a.getAtlasInfo(r, i), + h = na(u), + d + try { + for (h.s(); !(d = h.n()).done; ) { + var f = d.value, + p = f.atlas, + g = f.tex1, + m = f.tex2 + s.canAddToCurrentBatch(p) || this.endBatch() + for ( + var v = s.getAtlasIndexForBatch(p), + y = 0, + b = [ + [g, !0], + [m, !1], + ]; + y < b.length; + y++ + ) { + var w = Rn(b[y], 2), + T = w[0], + E = w[1] + if (T.w != 0) { + var S = this.instanceCount + this.vertTypeBuffer.getView(S)[0] = J5 + var k = this.indexBuffer.getView(S) + Hu(n, k) + var L = this.atlasIdBuffer.getView(S) + L[0] = v + var A = this.texBuffer.getView(S) + ;(A[0] = T.x), (A[1] = T.y), (A[2] = T.w), (A[3] = T.h) + var R = this.transformBuffer.getMatrixView(S) + this.setTransformMatrix(r, R, o, f, E), + this.instanceCount++, + E || this.wrappedCount++, + this.instanceCount >= this.maxInstances && this.endBatch() + } + } + } + } catch (C) { + h.e(C) + } finally { + h.f() + } + } + }, + }, + { + key: "setTransformMatrix", + value: function (r, n, i, a) { + var s = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, + o = 0 + if ((i.shapeProps && i.shapeProps.padding && (o = r.pstyle(i.shapeProps.padding).pfValue), a)) { + var l = a.bb, + u = a.tex1, + h = a.tex2, + d = u.w / (u.w + h.w) + s || (d = 1 - d) + var f = this._getAdjustedBB(l, o, s, d) + this._applyTransformMatrix(n, f, i, r) + } else { + var p = i.getBoundingBox(r), + g = this._getAdjustedBB(p, o, !0, 1) + this._applyTransformMatrix(n, g, i, r) + } + }, + }, + { + key: "_applyTransformMatrix", + value: function (r, n, i, a) { + var s, o + rN(r) + var l = i.getRotation ? i.getRotation(a) : 0 + if (l !== 0) { + var u = i.getRotationPoint(a), + h = u.x, + d = u.y + ov(r, r, [h, d]), nN(r, r, l) + var f = i.getRotationOffset(a) + ;(s = f.x + (n.xOffset || 0)), (o = f.y + (n.yOffset || 0)) + } else (s = n.x1), (o = n.y1) + ov(r, r, [s, o]), q6(r, r, [n.w, n.h]) + }, + }, + { + key: "_getAdjustedBB", + value: function (r, n, i, a) { + var s = r.x1, + o = r.y1, + l = r.w, + u = r.h, + h = r.yOffset + n && ((s -= n), (o -= n), (l += 2 * n), (u += 2 * n)) + var d = 0, + f = l * a + return ( + i && a < 1 ? (l = f) : !i && a < 1 && ((d = l - f), (s += d), (l = f)), + { x1: s, y1: o, w: l, h: u, xOffset: d, yOffset: h } + ) + }, + }, + { + key: "drawPickingRectangle", + value: function (r, n, i) { + var a = this.atlasManager.getRenderTypeOpts(i), + s = this.instanceCount + this.vertTypeBuffer.getView(s)[0] = Yu + var o = this.indexBuffer.getView(s) + Hu(n, o) + var l = this.colorBuffer.getView(s) + gc([0, 0, 0], 1, l) + var u = this.transformBuffer.getMatrixView(s) + this.setTransformMatrix(r, u, a), + this.simpleCount++, + this.instanceCount++, + this.instanceCount >= this.maxInstances && this.endBatch() + }, + }, + { + key: "drawNode", + value: function (r, n, i) { + var a = this.simpleShapeOptions.get(i) + if (this._isVisible(r, a)) { + var s = a.shapeProps, + o = this._getVertTypeForShape(r, s.shape) + if (o === void 0 || (a.isSimple && !a.isSimple(r))) { + this.drawTexture(r, n, i) + return + } + var l = this.instanceCount + if (((this.vertTypeBuffer.getView(l)[0] = o), o === im || o === jf)) { + var u = a.getBoundingBox(r), + h = this._getCornerRadius(r, s.radius, u), + d = this.cornerRadiusBuffer.getView(l) + ;(d[0] = h), (d[1] = h), (d[2] = h), (d[3] = h), o === jf && ((d[0] = 0), (d[2] = 0)) + } + var f = this.indexBuffer.getView(l) + Hu(n, f) + var p = r.pstyle(s.color).value, + g = r.pstyle(s.opacity).value, + m = this.colorBuffer.getView(l) + gc(p, g, m) + var v = this.lineWidthBuffer.getView(l) + if (((v[0] = 0), (v[1] = 0), s.border)) { + var y = r.pstyle("border-width").value + if (y > 0) { + var b = r.pstyle("border-color").value, + w = r.pstyle("border-opacity").value, + T = this.borderColorBuffer.getView(l) + gc(b, w, T) + var E = r.pstyle("border-position").value + if (E === "inside") (v[0] = 0), (v[1] = -y) + else if (E === "outside") (v[0] = y), (v[1] = 0) + else { + var S = y / 2 + ;(v[0] = S), (v[1] = -S) + } + } + } + var k = this.transformBuffer.getMatrixView(l) + this.setTransformMatrix(r, k, a), + this.simpleCount++, + this.instanceCount++, + this.instanceCount >= this.maxInstances && this.endBatch() + } + }, + }, + { + key: "_getVertTypeForShape", + value: function (r, n) { + var i = r.pstyle(n).value + switch (i) { + case "rectangle": + return Yu + case "ellipse": + return Kf + case "roundrectangle": + case "round-rectangle": + return im + case "bottom-round-rectangle": + return jf + default: + return + } + }, + }, + { + key: "_getCornerRadius", + value: function (r, n, i) { + var a = i.w, + s = i.h + if (r.pstyle(n).value === "auto") return Gl(a, s) + var o = r.pstyle(n).pfValue, + l = a / 2, + u = s / 2 + return Math.min(o, u, l) + }, + }, + { + key: "drawEdgeArrow", + value: function (r, n, i) { + if (r.visible()) { + var a = r._private.rscratch, + s, + o, + l + if ( + (i === "source" + ? ((s = a.arrowStartX), (o = a.arrowStartY), (l = a.srcArrowAngle)) + : ((s = a.arrowEndX), (o = a.arrowEndY), (l = a.tgtArrowAngle)), + !(isNaN(s) || s == null || isNaN(o) || o == null || isNaN(l) || l == null)) + ) { + var u = r.pstyle(i + "-arrow-shape").value + if (u !== "none") { + var h = r.pstyle(i + "-arrow-color").value, + d = r.pstyle("opacity").value, + f = r.pstyle("line-opacity").value, + p = d * f, + g = r.pstyle("width").pfValue, + m = r.pstyle("arrow-scale").value, + v = this.r.getArrowWidth(g, m), + y = this.instanceCount, + b = this.transformBuffer.getMatrixView(y) + rN(b), + ov(b, b, [s, o]), + q6(b, b, [v, v]), + nN(b, b, l), + (this.vertTypeBuffer.getView(y)[0] = e3) + var w = this.indexBuffer.getView(y) + Hu(n, w) + var T = this.colorBuffer.getView(y) + gc(h, p, T), + this.instanceCount++, + this.instanceCount >= this.maxInstances && this.endBatch() + } + } + } + }, + }, + { + key: "drawEdgeLine", + value: function (r, n) { + if (r.visible()) { + var i = this._getEdgePoints(r) + if (i) { + var a = r.pstyle("opacity").value, + s = r.pstyle("line-opacity").value, + o = r.pstyle("width").pfValue, + l = r.pstyle("line-color").value, + u = a * s + if ( + (i.length / 2 + this.instanceCount > this.maxInstances && this.endBatch(), + i.length == 4) + ) { + var h = this.instanceCount + this.vertTypeBuffer.getView(h)[0] = iN + var d = this.indexBuffer.getView(h) + Hu(n, d) + var f = this.colorBuffer.getView(h) + gc(l, u, f) + var p = this.lineWidthBuffer.getView(h) + p[0] = o + var g = this.pointAPointBBuffer.getView(h) + ;(g[0] = i[0]), + (g[1] = i[1]), + (g[2] = i[2]), + (g[3] = i[3]), + this.instanceCount++, + this.instanceCount >= this.maxInstances && this.endBatch() + } else + for (var m = 0; m < i.length - 2; m += 2) { + var v = this.instanceCount + this.vertTypeBuffer.getView(v)[0] = aN + var y = this.indexBuffer.getView(v) + Hu(n, y) + var b = this.colorBuffer.getView(v) + gc(l, u, b) + var w = this.lineWidthBuffer.getView(v) + w[0] = o + var T = i[m - 2], + E = i[m - 1], + S = i[m], + k = i[m + 1], + L = i[m + 2], + A = i[m + 3], + R = i[m + 4], + C = i[m + 5] + m == 0 && ((T = 2 * S - L + 0.001), (E = 2 * k - A + 0.001)), + m == i.length - 4 && ((R = 2 * L - S + 0.001), (C = 2 * A - k + 0.001)) + var I = this.pointAPointBBuffer.getView(v) + ;(I[0] = T), (I[1] = E), (I[2] = S), (I[3] = k) + var P = this.pointCPointDBuffer.getView(v) + ;(P[0] = L), + (P[1] = A), + (P[2] = R), + (P[3] = C), + this.instanceCount++, + this.instanceCount >= this.maxInstances && this.endBatch() + } + } + } + }, + }, + { + key: "_getEdgePoints", + value: function (r) { + var n = r._private.rscratch + if (!(n.badLine || n.allpts == null || isNaN(n.allpts[0]))) { + var i = n.allpts + if (i.length == 4) return i + var a = this._getNumSegments(r) + return this._getCurveSegmentPoints(i, a) + } + }, + }, + { + key: "_getNumSegments", + value: function (r) { + var n = 15 + return Math.min(Math.max(n, 5), this.maxInstances) + }, + }, + { + key: "_getCurveSegmentPoints", + value: function (r, n) { + if (r.length == 4) return r + for (var i = Array((n + 1) * 2), a = 0; a <= n; a++) + if (a == 0) (i[0] = r[0]), (i[1] = r[1]) + else if (a == n) (i[a * 2] = r[r.length - 2]), (i[a * 2 + 1] = r[r.length - 1]) + else { + var s = a / n + this._setCurvePoint(r, s, i, a * 2) + } + return i + }, + }, + { + key: "_setCurvePoint", + value: function (r, n, i, a) { + if (r.length <= 2) (i[a] = r[0]), (i[a + 1] = r[1]) + else { + for (var s = Array(r.length - 2), o = 0; o < s.length; o += 2) { + var l = (1 - n) * r[o] + n * r[o + 2], + u = (1 - n) * r[o + 1] + n * r[o + 3] + ;(s[o] = l), (s[o + 1] = u) + } + return this._setCurvePoint(s, n, i, a) + } + }, + }, + { + key: "endBatch", + value: function () { + var r = this.gl, + n = this.vao, + i = this.vertexCount, + a = this.instanceCount + if (a !== 0) { + var s = this.renderTarget.picking ? this.pickingProgram : this.program + r.useProgram(s), r.bindVertexArray(n) + var o = na(this.buffers), + l + try { + for (o.s(); !(l = o.n()).done; ) { + var u = l.value + u.bufferSubData(a) + } + } catch (g) { + o.e(g) + } finally { + o.f() + } + for (var h = this.batchManager.getAtlases(), d = 0; d < h.length; d++) h[d].bufferIfNeeded(r) + for (var f = 0; f < h.length; f++) + r.activeTexture(r.TEXTURE0 + f), + r.bindTexture(r.TEXTURE_2D, h[f].texture), + r.uniform1i(s.uTextures[f], f) + r.uniform1f(s.uZoom, I8e(this.r)), + r.uniformMatrix3fv(s.uPanZoomMatrix, !1, this.panZoomMatrix), + r.uniform1i(s.uAtlasSize, this.batchManager.getAtlasSize()) + var p = gc(this.bgColor, 1) + r.uniform4fv(s.uBGColor, p), + r.drawArraysInstanced(r.TRIANGLES, 0, i, a), + r.bindVertexArray(null), + r.bindTexture(r.TEXTURE_2D, null), + this.debug && this.batchDebugInfo.push({ count: a, atlasCount: h.length }), + this.startBatch() + } + }, + }, + { + key: "getDebugInfo", + value: function () { + var r = this.atlasManager.getDebugInfo(), + n = r.reduce(function (s, o) { + return s + o.atlasCount + }, 0), + i = this.batchDebugInfo, + a = i.reduce(function (s, o) { + return s + o.count + }, 0) + return { + atlasInfo: r, + totalAtlases: n, + wrappedCount: this.wrappedCount, + simpleCount: this.simpleCount, + batchCount: i.length, + batchInfo: i, + totalInstances: a, + } + }, + }, + ]) + })(), + $W = {} +$W.initWebgl = function (t, e) { + var r = this, + n = r.data.contexts[r.WEBGL] + ;(t.bgColor = tAe(r)), + (t.webglTexSize = Math.min(t.webglTexSize, n.getParameter(n.MAX_TEXTURE_SIZE))), + (t.webglTexRows = Math.min(t.webglTexRows, 54)), + (t.webglTexRowsNodes = Math.min(t.webglTexRowsNodes, 54)), + (t.webglBatchSize = Math.min(t.webglBatchSize, 16384)), + (t.webglTexPerBatch = Math.min(t.webglTexPerBatch, n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS))), + (r.webglDebug = t.webglDebug), + (r.webglDebugShowAtlases = t.webglDebugShowAtlases), + (r.pickingFrameBuffer = G8e(n)), + (r.pickingFrameBuffer.needsDraw = !0), + (r.drawing = new eAe(r, n, t)) + var i = function (d) { + return function (f) { + return r.getTextAngle(f, d) + } + }, + a = function (d) { + return function (f) { + var p = f.pstyle(d) + return p && p.value + } + }, + s = function (d) { + return function (f) { + return f.pstyle("".concat(d, "-opacity")).value > 0 + } + }, + o = function (d) { + var f = d.pstyle("text-events").strValue === "yes" + return f ? a2.USE_BB : a2.IGNORE + }, + l = function (d) { + var f = d.position(), + p = f.x, + g = f.y, + m = d.outerWidth(), + v = d.outerHeight() + return { w: m, h: v, x1: p - m / 2, y1: g - v / 2 } + } + r.drawing.addAtlasCollection("node", { texRows: t.webglTexRowsNodes }), + r.drawing.addAtlasCollection("label", { texRows: t.webglTexRows }), + r.drawing.addTextureAtlasRenderType("node-body", { + collection: "node", + getKey: e.getStyleKey, + getBoundingBox: e.getElementBox, + drawElement: e.drawElement, + }), + r.drawing.addSimpleShapeRenderType("node-body", { + getBoundingBox: l, + isSimple: O8e, + shapeProps: { + shape: "shape", + color: "background-color", + opacity: "background-opacity", + radius: "corner-radius", + border: !0, + }, + }), + r.drawing.addSimpleShapeRenderType("node-overlay", { + getBoundingBox: l, + isVisible: s("overlay"), + shapeProps: { + shape: "overlay-shape", + color: "overlay-color", + opacity: "overlay-opacity", + padding: "overlay-padding", + radius: "overlay-corner-radius", + }, + }), + r.drawing.addSimpleShapeRenderType("node-underlay", { + getBoundingBox: l, + isVisible: s("underlay"), + shapeProps: { + shape: "underlay-shape", + color: "underlay-color", + opacity: "underlay-opacity", + padding: "underlay-padding", + radius: "underlay-corner-radius", + }, + }), + r.drawing.addTextureAtlasRenderType("label", { + collection: "label", + getTexPickingMode: o, + getKey: t3(e.getLabelKey, null), + getBoundingBox: r3(e.getLabelBox, null), + drawClipped: !0, + drawElement: e.drawLabel, + getRotation: i(null), + getRotationPoint: e.getLabelRotationPoint, + getRotationOffset: e.getLabelRotationOffset, + isVisible: a("label"), + }), + r.drawing.addTextureAtlasRenderType("edge-source-label", { + collection: "label", + getTexPickingMode: o, + getKey: t3(e.getSourceLabelKey, "source"), + getBoundingBox: r3(e.getSourceLabelBox, "source"), + drawClipped: !0, + drawElement: e.drawSourceLabel, + getRotation: i("source"), + getRotationPoint: e.getSourceLabelRotationPoint, + getRotationOffset: e.getSourceLabelRotationOffset, + isVisible: a("source-label"), + }), + r.drawing.addTextureAtlasRenderType("edge-target-label", { + collection: "label", + getTexPickingMode: o, + getKey: t3(e.getTargetLabelKey, "target"), + getBoundingBox: r3(e.getTargetLabelBox, "target"), + drawClipped: !0, + drawElement: e.drawTargetLabel, + getRotation: i("target"), + getRotationPoint: e.getTargetLabelRotationPoint, + getRotationOffset: e.getTargetLabelRotationOffset, + isVisible: a("target-label"), + }) + var u = Wg(function () { + console.log("garbage collect flag set"), (r.data.gc = !0) + }, 1e4) + r.onUpdateEleCalcs(function (h, d) { + var f = !1 + d && d.length > 0 && (f |= r.drawing.invalidate(d)), f && u() + }), + rAe(r) +} +function tAe(t) { + var e = t.cy.container(), + r = (e && e.style && e.style.backgroundColor) || "white" + return gq(r) +} +function zW(t, e) { + var r = t._private.rscratch + return Ji(r, "labelWrapCachedLines", e) || [] +} +var t3 = function (e, r) { + return function (n) { + var i = e(n), + a = zW(n, r) + return a.length > 1 + ? a.map(function (s, o) { + return "".concat(i, "_").concat(o) + }) + : i + } + }, + r3 = function (e, r) { + return function (n, i) { + var a = e(n) + if (typeof i == "string") { + var s = i.indexOf("_") + if (s > 0) { + var o = Number(i.substring(s + 1)), + l = zW(n, r), + u = a.h / l.length, + h = u * o, + d = a.y1 + h + return { x1: a.x1, w: a.w, y1: d, h: u, yOffset: h } + } + } + return a + } + } +function rAe(t) { + { + var e = t.render + t.render = function (a) { + a = a || {} + var s = t.cy + t.webgl && (s.zoom() > DW ? (nAe(t), e.call(t, a)) : (iAe(t), GW(t, a, dp.SCREEN))) + } + } + { + var r = t.matchCanvasSize + t.matchCanvasSize = function (a) { + r.call(t, a), + t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth, t.canvasHeight), + (t.pickingFrameBuffer.needsDraw = !0) + } + } + t.findNearestElements = function (a, s, o, l) { + return uAe(t, a, s) + } + { + var n = t.invalidateCachedZSortedEles + t.invalidateCachedZSortedEles = function () { + n.call(t), (t.pickingFrameBuffer.needsDraw = !0) + } + } + { + var i = t.notify + t.notify = function (a, s) { + i.call(t, a, s), + a === "viewport" || a === "bounds" + ? (t.pickingFrameBuffer.needsDraw = !0) + : a === "background" && t.drawing.invalidate(s, { type: "node-body" }) + } + } +} +function nAe(t) { + var e = t.data.contexts[t.WEBGL] + e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT) +} +function iAe(t) { + var e = function (n) { + n.save(), n.setTransform(1, 0, 0, 1, 0, 0), n.clearRect(0, 0, t.canvasWidth, t.canvasHeight), n.restore() + } + e(t.data.contexts[t.NODE]), e(t.data.contexts[t.DRAG]) +} +function aAe(t) { + var e = t.canvasWidth, + r = t.canvasHeight, + n = NS(t), + i = n.pan, + a = n.zoom, + s = Q5() + ov(s, s, [i.x, i.y]), q6(s, s, [a, a]) + var o = Q5() + q8e(o, e, r) + var l = Q5() + return U8e(l, o, s), l +} +function VW(t, e) { + var r = t.canvasWidth, + n = t.canvasHeight, + i = NS(t), + a = i.pan, + s = i.zoom + e.setTransform(1, 0, 0, 1, 0, 0), e.clearRect(0, 0, r, n), e.translate(a.x, a.y), e.scale(s, s) +} +function sAe(t, e) { + t.drawSelectionRectangle(e, function (r) { + return VW(t, r) + }) +} +function oAe(t) { + var e = t.data.contexts[t.NODE] + e.save(), + VW(t, e), + (e.strokeStyle = "rgba(0, 0, 0, 0.3)"), + e.beginPath(), + e.moveTo(-1e3, 0), + e.lineTo(1e3, 0), + e.stroke(), + e.beginPath(), + e.moveTo(0, -1e3), + e.lineTo(0, 1e3), + e.stroke(), + e.restore() +} +function lAe(t) { + var e = function (i, a, s) { + for ( + var o = i.atlasManager.getAtlasCollection(a), l = t.data.contexts[t.NODE], u = o.atlases, h = 0; + h < u.length; + h++ + ) { + var d = u[h], + f = d.canvas + if (f) { + var p = f.width, + g = f.height, + m = p * h, + v = f.height * s, + y = 0.4 + l.save(), + l.scale(y, y), + l.drawImage(f, m, v), + (l.strokeStyle = "black"), + l.rect(m, v, p, g), + l.stroke(), + l.restore() + } + } + }, + r = 0 + e(t.drawing, "node", r++), e(t.drawing, "label", r++) +} +function cAe(t, e, r, n, i) { + var a, + s, + o, + l, + u = NS(t), + h = u.pan, + d = u.zoom + { + var f = M8e(t, h, d, e, r), + p = Rn(f, 2), + g = p[0], + m = p[1], + v = 6 + ;(a = g - v / 2), (s = m - v / 2), (o = v), (l = v) + } + if (o === 0 || l === 0) return [] + var y = t.data.contexts[t.WEBGL] + y.bindFramebuffer(y.FRAMEBUFFER, t.pickingFrameBuffer), + t.pickingFrameBuffer.needsDraw && + (y.viewport(0, 0, y.canvas.width, y.canvas.height), + GW(t, null, dp.PICKING), + (t.pickingFrameBuffer.needsDraw = !1)) + var b = o * l, + w = new Uint8Array(b * 4) + y.readPixels(a, s, o, l, y.RGBA, y.UNSIGNED_BYTE, w), y.bindFramebuffer(y.FRAMEBUFFER, null) + for (var T = new Set(), E = 0; E < b; E++) { + var S = w.slice(E * 4, E * 4 + 4), + k = B8e(S) - 1 + k >= 0 && T.add(k) + } + return T +} +function uAe(t, e, r) { + var n = cAe(t, e, r), + i = t.getCachedZSortedEles(), + a, + s, + o = na(n), + l + try { + for (o.s(); !(l = o.n()).done; ) { + var u = l.value, + h = i[u] + if ((!a && h.isNode() && (a = h), !s && h.isEdge() && (s = h), a && s)) break + } + } catch (d) { + o.e(d) + } finally { + o.f() + } + return [a, s].filter(Boolean) +} +function n3(t, e, r) { + var n = t.drawing + ;(e += 1), + r.isNode() + ? (n.drawNode(r, e, "node-underlay"), + n.drawNode(r, e, "node-body"), + n.drawTexture(r, e, "label"), + n.drawNode(r, e, "node-overlay")) + : (n.drawEdgeLine(r, e), + n.drawEdgeArrow(r, e, "source"), + n.drawEdgeArrow(r, e, "target"), + n.drawTexture(r, e, "label"), + n.drawTexture(r, e, "edge-source-label"), + n.drawTexture(r, e, "edge-target-label")) +} +function GW(t, e, r) { + var n + t.webglDebug && (n = performance.now()) + var i = t.drawing, + a = 0 + if ( + (r.screen && t.data.canvasNeedsRedraw[t.SELECT_BOX] && sAe(t, e), t.data.canvasNeedsRedraw[t.NODE] || r.picking) + ) { + var s = t.data.contexts[t.WEBGL] + r.screen + ? (s.clearColor(0, 0, 0, 0), s.enable(s.BLEND), s.blendFunc(s.ONE, s.ONE_MINUS_SRC_ALPHA)) + : s.disable(s.BLEND), + s.clear(s.COLOR_BUFFER_BIT | s.DEPTH_BUFFER_BIT), + s.viewport(0, 0, s.canvas.width, s.canvas.height) + var o = aAe(t), + l = t.getCachedZSortedEles() + if (((a = l.length), i.startFrame(o, r), r.screen)) { + for (var u = 0; u < l.nondrag.length; u++) n3(t, u, l.nondrag[u]) + for (var h = 0; h < l.drag.length; h++) n3(t, h, l.drag[h]) + } else if (r.picking) for (var d = 0; d < l.length; d++) n3(t, d, l[d]) + i.endFrame(), + r.screen && t.webglDebugShowAtlases && (oAe(t), lAe(t)), + (t.data.canvasNeedsRedraw[t.NODE] = !1), + (t.data.canvasNeedsRedraw[t.DRAG] = !1) + } + if (t.webglDebug) { + var f = performance.now(), + p = !1, + g = Math.ceil(f - n), + m = i.getDebugInfo(), + v = [ + "".concat(a, " elements"), + "".concat(m.totalInstances, " instances"), + "".concat(m.batchCount, " batches"), + "".concat(m.totalAtlases, " atlases"), + "".concat(m.wrappedCount, " wrapped textures"), + "".concat(m.simpleCount, " simple shapes"), + ].join(", ") + if (p) console.log("WebGL (".concat(r.name, ") - time ").concat(g, "ms, ").concat(v)) + else { + console.log("WebGL (".concat(r.name, ") - frame time ").concat(g, "ms")), + console.log("Totals:"), + console.log(" ".concat(v)), + console.log("Texture Atlases Used:") + var y = m.atlasInfo, + b = na(y), + w + try { + for (b.s(); !(w = b.n()).done; ) { + var T = w.value + console.log( + " ".concat(T.type, ": ").concat(T.keyCount, " keys, ").concat(T.atlasCount, " atlases"), + ) + } + } catch (E) { + b.e(E) + } finally { + b.f() + } + console.log("") + } + } + t.data.gc && (console.log("Garbage Collect!"), (t.data.gc = !1), i.gc()) +} +var nc = {} +nc.drawPolygonPath = function (t, e, r, n, i, a) { + var s = n / 2, + o = i / 2 + t.beginPath && t.beginPath(), t.moveTo(e + s * a[0], r + o * a[1]) + for (var l = 1; l < a.length / 2; l++) t.lineTo(e + s * a[l * 2], r + o * a[l * 2 + 1]) + t.closePath() +} +nc.drawRoundPolygonPath = function (t, e, r, n, i, a, s) { + s.forEach(function (o) { + return EW(t, o) + }), + t.closePath() +} +nc.drawRoundRectanglePath = function (t, e, r, n, i, a) { + var s = n / 2, + o = i / 2, + l = a === "auto" ? Gl(n, i) : Math.min(a, o, s) + t.beginPath && t.beginPath(), + t.moveTo(e, r - o), + t.arcTo(e + s, r - o, e + s, r, l), + t.arcTo(e + s, r + o, e, r + o, l), + t.arcTo(e - s, r + o, e - s, r, l), + t.arcTo(e - s, r - o, e, r - o, l), + t.lineTo(e, r - o), + t.closePath() +} +nc.drawBottomRoundRectanglePath = function (t, e, r, n, i, a) { + var s = n / 2, + o = i / 2, + l = a === "auto" ? Gl(n, i) : a + t.beginPath && t.beginPath(), + t.moveTo(e, r - o), + t.lineTo(e + s, r - o), + t.lineTo(e + s, r), + t.arcTo(e + s, r + o, e, r + o, l), + t.arcTo(e - s, r + o, e - s, r, l), + t.lineTo(e - s, r - o), + t.lineTo(e, r - o), + t.closePath() +} +nc.drawCutRectanglePath = function (t, e, r, n, i, a, s) { + var o = n / 2, + l = i / 2, + u = s === "auto" ? vS() : s + t.beginPath && t.beginPath(), + t.moveTo(e - o + u, r - l), + t.lineTo(e + o - u, r - l), + t.lineTo(e + o, r - l + u), + t.lineTo(e + o, r + l - u), + t.lineTo(e + o - u, r + l), + t.lineTo(e - o + u, r + l), + t.lineTo(e - o, r + l - u), + t.lineTo(e - o, r - l + u), + t.closePath() +} +nc.drawBarrelPath = function (t, e, r, n, i) { + var a = n / 2, + s = i / 2, + o = e - a, + l = e + a, + u = r - s, + h = r + s, + d = R6(n, i), + f = d.widthOffset, + p = d.heightOffset, + g = d.ctrlPtOffsetPct * f + t.beginPath && t.beginPath(), + t.moveTo(o, u + p), + t.lineTo(o, h - p), + t.quadraticCurveTo(o + g, h, o + f, h), + t.lineTo(l - f, h), + t.quadraticCurveTo(l - g, h, l, h - p), + t.lineTo(l, u + p), + t.quadraticCurveTo(l - g, u, l - f, u), + t.lineTo(o + f, u), + t.quadraticCurveTo(o + g, u, o, u + p), + t.closePath() +} +var sN = Math.sin(0), + oN = Math.cos(0), + W6 = {}, + H6 = {}, + UW = Math.PI / 40 +for (var Xu = 0 * Math.PI; Xu < 2 * Math.PI; Xu += UW) (W6[Xu] = Math.sin(Xu)), (H6[Xu] = Math.cos(Xu)) +nc.drawEllipsePath = function (t, e, r, n, i) { + if ((t.beginPath && t.beginPath(), t.ellipse)) t.ellipse(e, r, n / 2, i / 2, 0, 0, 2 * Math.PI) + else + for (var a, s, o = n / 2, l = i / 2, u = 0 * Math.PI; u < 2 * Math.PI; u += UW) + (a = e - o * W6[u] * sN + o * H6[u] * oN), + (s = r + l * H6[u] * sN + l * W6[u] * oN), + u === 0 ? t.moveTo(a, s) : t.lineTo(a, s) + t.closePath() +} +var Zg = {} +Zg.createBuffer = function (t, e) { + var r = document.createElement("canvas") + return (r.width = t), (r.height = e), [r, r.getContext("2d")] +} +Zg.bufferCanvasImage = function (t) { + var e = this.cy, + r = e.mutableElements(), + n = r.boundingBox(), + i = this.findContainerClientCoords(), + a = t.full ? Math.ceil(n.w) : i[2], + s = t.full ? Math.ceil(n.h) : i[3], + o = gt(t.maxWidth) || gt(t.maxHeight), + l = this.getPixelRatio(), + u = 1 + if (t.scale !== void 0) (a *= t.scale), (s *= t.scale), (u = t.scale) + else if (o) { + var h = 1 / 0, + d = 1 / 0 + gt(t.maxWidth) && (h = (u * t.maxWidth) / a), + gt(t.maxHeight) && (d = (u * t.maxHeight) / s), + (u = Math.min(h, d)), + (a *= u), + (s *= u) + } + o || ((a *= l), (s *= l), (u *= l)) + var f = document.createElement("canvas") + ;(f.width = a), (f.height = s), (f.style.width = a + "px"), (f.style.height = s + "px") + var p = f.getContext("2d") + if (a > 0 && s > 0) { + p.clearRect(0, 0, a, s), (p.globalCompositeOperation = "source-over") + var g = this.getCachedZSortedEles() + if (t.full) + p.translate(-n.x1 * u, -n.y1 * u), + p.scale(u, u), + this.drawElements(p, g), + p.scale(1 / u, 1 / u), + p.translate(n.x1 * u, n.y1 * u) + else { + var m = e.pan(), + v = { x: m.x * u, y: m.y * u } + ;(u *= e.zoom()), + p.translate(v.x, v.y), + p.scale(u, u), + this.drawElements(p, g), + p.scale(1 / u, 1 / u), + p.translate(-v.x, -v.y) + } + t.bg && ((p.globalCompositeOperation = "destination-over"), (p.fillStyle = t.bg), p.rect(0, 0, a, s), p.fill()) + } + return f +} +function hAe(t, e) { + for (var r = atob(t), n = new ArrayBuffer(r.length), i = new Uint8Array(n), a = 0; a < r.length; a++) + i[a] = r.charCodeAt(a) + return new Blob([n], { type: e }) +} +function lN(t) { + var e = t.indexOf(",") + return t.substr(e + 1) +} +function qW(t, e, r) { + var n = function () { + return e.toDataURL(r, t.quality) + } + switch (t.output) { + case "blob-promise": + return new xf(function (i, a) { + try { + e.toBlob( + function (s) { + s != null ? i(s) : a(new Error("`canvas.toBlob()` sent a null value in its callback")) + }, + r, + t.quality, + ) + } catch (s) { + a(s) + } + }) + case "blob": + return hAe(lN(n()), r) + case "base64": + return lN(n()) + case "base64uri": + default: + return n() + } +} +Zg.png = function (t) { + return qW(t, this.bufferCanvasImage(t), "image/png") +} +Zg.jpg = function (t) { + return qW(t, this.bufferCanvasImage(t), "image/jpeg") +} +var WW = {} +WW.nodeShapeImpl = function (t, e, r, n, i, a, s, o) { + switch (t) { + case "ellipse": + return this.drawEllipsePath(e, r, n, i, a) + case "polygon": + return this.drawPolygonPath(e, r, n, i, a, s) + case "round-polygon": + return this.drawRoundPolygonPath(e, r, n, i, a, s, o) + case "roundrectangle": + case "round-rectangle": + return this.drawRoundRectanglePath(e, r, n, i, a, o) + case "cutrectangle": + case "cut-rectangle": + return this.drawCutRectanglePath(e, r, n, i, a, s, o) + case "bottomroundrectangle": + case "bottom-round-rectangle": + return this.drawBottomRoundRectanglePath(e, r, n, i, a, o) + case "barrel": + return this.drawBarrelPath(e, r, n, i, a) + } +} +var dAe = HW, + nr = HW.prototype +nr.CANVAS_LAYERS = 3 +nr.SELECT_BOX = 0 +nr.DRAG = 1 +nr.NODE = 2 +nr.WEBGL = 3 +nr.CANVAS_TYPES = ["2d", "2d", "2d", "webgl2"] +nr.BUFFER_COUNT = 3 +nr.TEXTURE_BUFFER = 0 +nr.MOTIONBLUR_BUFFER_NODE = 1 +nr.MOTIONBLUR_BUFFER_DRAG = 2 +function HW(t) { + var e = this, + r = e.cy.window(), + n = r.document + t.webgl && ((nr.CANVAS_LAYERS = e.CANVAS_LAYERS = 4), console.log("webgl rendering enabled")), + (e.data = { + canvases: new Array(nr.CANVAS_LAYERS), + contexts: new Array(nr.CANVAS_LAYERS), + canvasNeedsRedraw: new Array(nr.CANVAS_LAYERS), + bufferCanvases: new Array(nr.BUFFER_COUNT), + bufferContexts: new Array(nr.CANVAS_LAYERS), + }) + var i = "-webkit-tap-highlight-color", + a = "rgba(0,0,0,0)" + e.data.canvasContainer = n.createElement("div") + var s = e.data.canvasContainer.style + ;(e.data.canvasContainer.style[i] = a), (s.position = "relative"), (s.zIndex = "0"), (s.overflow = "hidden") + var o = t.cy.container() + o.appendChild(e.data.canvasContainer), (o.style[i] = a) + var l = { + "-webkit-user-select": "none", + "-moz-user-select": "-moz-none", + "user-select": "none", + "-webkit-tap-highlight-color": "rgba(0,0,0,0)", + "outline-style": "none", + } + uEe() && ((l["-ms-touch-action"] = "none"), (l["touch-action"] = "none")) + for (var u = 0; u < nr.CANVAS_LAYERS; u++) { + var h = (e.data.canvases[u] = n.createElement("canvas")), + d = nr.CANVAS_TYPES[u] + ;(e.data.contexts[u] = h.getContext(d)), + e.data.contexts[u] || nn("Could not create canvas of type " + d), + Object.keys(l).forEach(function (j) { + h.style[j] = l[j] + }), + (h.style.position = "absolute"), + h.setAttribute("data-id", "layer" + u), + (h.style.zIndex = String(nr.CANVAS_LAYERS - u)), + e.data.canvasContainer.appendChild(h), + (e.data.canvasNeedsRedraw[u] = !1) + } + ;(e.data.topCanvas = e.data.canvases[0]), + e.data.canvases[nr.NODE].setAttribute("data-id", "layer" + nr.NODE + "-node"), + e.data.canvases[nr.SELECT_BOX].setAttribute("data-id", "layer" + nr.SELECT_BOX + "-selectbox"), + e.data.canvases[nr.DRAG].setAttribute("data-id", "layer" + nr.DRAG + "-drag"), + e.data.canvases[nr.WEBGL] && e.data.canvases[nr.WEBGL].setAttribute("data-id", "layer" + nr.WEBGL + "-webgl") + for (var u = 0; u < nr.BUFFER_COUNT; u++) + (e.data.bufferCanvases[u] = n.createElement("canvas")), + (e.data.bufferContexts[u] = e.data.bufferCanvases[u].getContext("2d")), + (e.data.bufferCanvases[u].style.position = "absolute"), + e.data.bufferCanvases[u].setAttribute("data-id", "buffer" + u), + (e.data.bufferCanvases[u].style.zIndex = String(-u - 1)), + (e.data.bufferCanvases[u].style.visibility = "hidden") + e.pathsEnabled = !0 + var f = ua(), + p = function (H) { + return { x: (H.x1 + H.x2) / 2, y: (H.y1 + H.y2) / 2 } + }, + g = function (H) { + return { x: -H.w / 2, y: -H.h / 2 } + }, + m = function (H) { + var X = H[0]._private, + W = X.oldBackgroundTimestamp === X.backgroundTimestamp + return !W + }, + v = function (H) { + return H[0]._private.nodeKey + }, + y = function (H) { + return H[0]._private.labelStyleKey + }, + b = function (H) { + return H[0]._private.sourceLabelStyleKey + }, + w = function (H) { + return H[0]._private.targetLabelStyleKey + }, + T = function (H, X, W, K, ne) { + return e.drawElement(H, X, W, !1, !1, ne) + }, + E = function (H, X, W, K, ne) { + return e.drawElementText(H, X, W, K, "main", ne) + }, + S = function (H, X, W, K, ne) { + return e.drawElementText(H, X, W, K, "source", ne) + }, + k = function (H, X, W, K, ne) { + return e.drawElementText(H, X, W, K, "target", ne) + }, + L = function (H) { + return H.boundingBox(), H[0]._private.bodyBounds + }, + A = function (H) { + return H.boundingBox(), H[0]._private.labelBounds.main || f + }, + R = function (H) { + return H.boundingBox(), H[0]._private.labelBounds.source || f + }, + C = function (H) { + return H.boundingBox(), H[0]._private.labelBounds.target || f + }, + I = function (H, X) { + return X + }, + P = function (H) { + return p(L(H)) + }, + _ = function (H, X, W) { + var K = H ? H + "-" : "" + return { x: X.x + W.pstyle(K + "text-margin-x").pfValue, y: X.y + W.pstyle(K + "text-margin-y").pfValue } + }, + N = function (H, X, W) { + var K = H[0]._private.rscratch + return { x: K[X], y: K[W] } + }, + M = function (H) { + return _("", N(H, "labelX", "labelY"), H) + }, + O = function (H) { + return _("source", N(H, "sourceLabelX", "sourceLabelY"), H) + }, + D = function (H) { + return _("target", N(H, "targetLabelX", "targetLabelY"), H) + }, + B = function (H) { + return g(L(H)) + }, + z = function (H) { + return g(R(H)) + }, + F = function (H) { + return g(C(H)) + }, + G = function (H) { + var X = A(H), + W = g(A(H)) + if (H.isNode()) { + switch (H.pstyle("text-halign").value) { + case "left": + W.x = -X.w - (X.leftPad || 0) + break + case "right": + W.x = -(X.rightPad || 0) + break + } + switch (H.pstyle("text-valign").value) { + case "top": + W.y = -X.h - (X.topPad || 0) + break + case "bottom": + W.y = -(X.botPad || 0) + break + } + } + return W + }, + q = (e.data.eleTxrCache = new X0(e, { + getKey: v, + doesEleInvalidateKey: m, + drawElement: T, + getBoundingBox: L, + getRotationPoint: P, + getRotationOffset: B, + allowEdgeTxrCaching: !1, + allowParentTxrCaching: !1, + })), + Y = (e.data.lblTxrCache = new X0(e, { + getKey: y, + drawElement: E, + getBoundingBox: A, + getRotationPoint: M, + getRotationOffset: G, + isVisible: I, + })), + ee = (e.data.slbTxrCache = new X0(e, { + getKey: b, + drawElement: S, + getBoundingBox: R, + getRotationPoint: O, + getRotationOffset: z, + isVisible: I, + })), + Q = (e.data.tlbTxrCache = new X0(e, { + getKey: w, + drawElement: k, + getBoundingBox: C, + getRotationPoint: D, + getRotationOffset: F, + isVisible: I, + })), + oe = (e.data.lyrTxrCache = new IW(e)) + e.onUpdateEleCalcs(function (H, X) { + q.invalidateElements(X), + Y.invalidateElements(X), + ee.invalidateElements(X), + Q.invalidateElements(X), + oe.invalidateElements(X) + for (var W = 0; W < X.length; W++) { + var K = X[W]._private + K.oldBackgroundTimestamp = K.backgroundTimestamp + } + }) + var pe = function (H) { + for (var X = 0; X < H.length; X++) oe.enqueueElementRefinement(H[X].ele) + } + q.onDequeue(pe), + Y.onDequeue(pe), + ee.onDequeue(pe), + Q.onDequeue(pe), + t.webgl && + e.initWebgl(t, { + getStyleKey: v, + getLabelKey: y, + getSourceLabelKey: b, + getTargetLabelKey: w, + drawElement: T, + drawLabel: E, + drawSourceLabel: S, + drawTargetLabel: k, + getElementBox: L, + getLabelBox: A, + getSourceLabelBox: R, + getTargetLabelBox: C, + getElementRotationPoint: P, + getElementRotationOffset: B, + getLabelRotationPoint: M, + getSourceLabelRotationPoint: O, + getTargetLabelRotationPoint: D, + getLabelRotationOffset: G, + getSourceLabelRotationOffset: z, + getTargetLabelRotationOffset: F, + }) +} +nr.redrawHint = function (t, e) { + var r = this + switch (t) { + case "eles": + r.data.canvasNeedsRedraw[nr.NODE] = e + break + case "drag": + r.data.canvasNeedsRedraw[nr.DRAG] = e + break + case "select": + r.data.canvasNeedsRedraw[nr.SELECT_BOX] = e + break + case "gc": + r.data.gc = !0 + break + } +} +var fAe = typeof Path2D < "u" +nr.path2dEnabled = function (t) { + if (t === void 0) return this.pathsEnabled + this.pathsEnabled = !!t +} +nr.usePaths = function () { + return fAe && this.pathsEnabled +} +nr.setImgSmoothing = function (t, e) { + t.imageSmoothingEnabled != null + ? (t.imageSmoothingEnabled = e) + : ((t.webkitImageSmoothingEnabled = e), (t.mozImageSmoothingEnabled = e), (t.msImageSmoothingEnabled = e)) +} +nr.getImgSmoothing = function (t) { + return t.imageSmoothingEnabled != null + ? t.imageSmoothingEnabled + : t.webkitImageSmoothingEnabled || t.mozImageSmoothingEnabled || t.msImageSmoothingEnabled +} +nr.makeOffscreenCanvas = function (t, e) { + var r + if ((typeof OffscreenCanvas > "u" ? "undefined" : Vn(OffscreenCanvas)) !== "undefined") + r = new OffscreenCanvas(t, e) + else { + var n = this.cy.window(), + i = n.document + ;(r = i.createElement("canvas")), (r.width = t), (r.height = e) + } + return r +} +;[MW, ho, sl, RS, Mu, rc, Xi, $W, nc, Zg, WW].forEach(function (t) { + Gt(nr, t) +}) +var pAe = [ + { name: "null", impl: bW }, + { name: "base", impl: RW }, + { name: "canvas", impl: dAe }, + ], + gAe = [ + { type: "layout", extensions: VCe }, + { type: "renderer", extensions: pAe }, + ], + YW = {}, + XW = {} +function jW(t, e, r) { + var n = r, + i = function (L) { + Sr( + "Can not register `" + + e + + "` for `" + + t + + "` since `" + + L + + "` already exists in the prototype and can not be overridden", + ) + } + if (t === "core") { + if (tg.prototype[e]) return i(e) + tg.prototype[e] = r + } else if (t === "collection") { + if (di.prototype[e]) return i(e) + di.prototype[e] = r + } else if (t === "layout") { + for ( + var a = function (L) { + ;(this.options = L), + r.call(this, L), + mr(this._private) || (this._private = {}), + (this._private.cy = L.cy), + (this._private.listeners = []), + this.createEmitter() + }, + s = (a.prototype = Object.create(r.prototype)), + o = [], + l = 0; + l < o.length; + l++ + ) { + var u = o[l] + s[u] = + s[u] || + function () { + return this + } + } + s.start && !s.run + ? (s.run = function () { + return this.start(), this + }) + : !s.start && + s.run && + (s.start = function () { + return this.run(), this + }) + var h = r.prototype.stop + ;(s.stop = function () { + var k = this.options + if (k && k.animate) { + var L = this.animations + if (L) for (var A = 0; A < L.length; A++) L[A].stop() + } + return h ? h.call(this) : this.emit("layoutstop"), this + }), + s.destroy || + (s.destroy = function () { + return this + }), + (s.cy = function () { + return this._private.cy + }) + var d = function (L) { + return L._private.cy + }, + f = { + addEventFields: function (L, A) { + ;(A.layout = L), (A.cy = d(L)), (A.target = L) + }, + bubble: function () { + return !0 + }, + parent: function (L) { + return d(L) + }, + } + Gt(s, { + createEmitter: function () { + return (this._private.emitter = new Bx(f, this)), this + }, + emitter: function () { + return this._private.emitter + }, + on: function (L, A) { + return this.emitter().on(L, A), this + }, + one: function (L, A) { + return this.emitter().one(L, A), this + }, + once: function (L, A) { + return this.emitter().one(L, A), this + }, + removeListener: function (L, A) { + return this.emitter().removeListener(L, A), this + }, + removeAllListeners: function () { + return this.emitter().removeAllListeners(), this + }, + emit: function (L, A) { + return this.emitter().emit(L, A), this + }, + }), + Tr.eventAliasesOn(s), + (n = a) + } else if (t === "renderer" && e !== "null" && e !== "base") { + var p = KW("renderer", "base"), + g = p.prototype, + m = r, + v = r.prototype, + y = function () { + p.apply(this, arguments), m.apply(this, arguments) + }, + b = y.prototype + for (var w in g) { + var T = g[w], + E = v[w] != null + if (E) return i(w) + b[w] = T + } + for (var S in v) b[S] = v[S] + g.clientFunctions.forEach(function (k) { + b[k] = + b[k] || + function () { + nn("Renderer does not implement `renderer." + k + "()` on its prototype") + } + }), + (n = y) + } else if (t === "__proto__" || t === "constructor" || t === "prototype") + return nn(t + " is an illegal type to be registered, possibly lead to prototype pollutions") + return mq({ map: YW, keys: [t, e], value: n }) +} +function KW(t, e) { + return vq({ map: YW, keys: [t, e] }) +} +function mAe(t, e, r, n, i) { + return mq({ map: XW, keys: [t, e, r, n], value: i }) +} +function vAe(t, e, r, n) { + return vq({ map: XW, keys: [t, e, r, n] }) +} +var Y6 = function () { + if (arguments.length === 2) return KW.apply(null, arguments) + if (arguments.length === 3) return jW.apply(null, arguments) + if (arguments.length === 4) return vAe.apply(null, arguments) + if (arguments.length === 5) return mAe.apply(null, arguments) + nn("Invalid extension access syntax") +} +tg.prototype.extension = Y6 +gAe.forEach(function (t) { + t.extensions.forEach(function (e) { + jW(t.type, e.name, e.impl) + }) +}) +var s2 = function () { + if (!(this instanceof s2)) return new s2() + this.length = 0 + }, + hu = s2.prototype +hu.instanceString = function () { + return "stylesheet" +} +hu.selector = function (t) { + var e = this.length++ + return (this[e] = { selector: t, properties: [] }), this +} +hu.css = function (t, e) { + var r = this.length - 1 + if (Bt(t)) this[r].properties.push({ name: t, value: e }) + else if (mr(t)) + for (var n = t, i = Object.keys(n), a = 0; a < i.length; a++) { + var s = i[a], + o = n[s] + if (o != null) { + var l = Kn.properties[s] || Kn.properties[Ax(s)] + if (l != null) { + var u = l.name, + h = o + this[r].properties.push({ name: u, value: h }) + } + } + } + return this +} +hu.style = hu.css +hu.generateStyle = function (t) { + var e = new Kn(t) + return this.appendToStyle(e) +} +hu.appendToStyle = function (t) { + for (var e = 0; e < this.length; e++) { + var r = this[e], + n = r.selector, + i = r.properties + t.selector(n) + for (var a = 0; a < i.length; a++) { + var s = i[a] + t.css(s.name, s.value) + } + } + return t +} +var yAe = "3.32.0", + to = function (e) { + if ((e === void 0 && (e = {}), mr(e))) return new tg(e) + if (Bt(e)) return Y6.apply(Y6, arguments) + } +to.use = function (t) { + var e = Array.prototype.slice.call(arguments, 1) + return e.unshift(to), t.apply(null, e), this +} +to.warnings = function (t) { + return kq(t) +} +to.version = yAe +to.stylesheet = to.Stylesheet = s2 +var lv = { exports: {} }, + cv = { exports: {} }, + uv = { exports: {} }, + xAe = uv.exports, + cN +function bAe() { + return ( + cN || + ((cN = 1), + (function (t, e) { + ;(function (n, i) { + t.exports = i() + })(xAe, function () { + return (function (r) { + var n = {} + function i(a) { + if (n[a]) return n[a].exports + var s = (n[a] = { i: a, l: !1, exports: {} }) + return r[a].call(s.exports, s, s.exports, i), (s.l = !0), s.exports + } + return ( + (i.m = r), + (i.c = n), + (i.i = function (a) { + return a + }), + (i.d = function (a, s, o) { + i.o(a, s) || Object.defineProperty(a, s, { configurable: !1, enumerable: !0, get: o }) + }), + (i.n = function (a) { + var s = + a && a.__esModule + ? function () { + return a.default + } + : function () { + return a + } + return i.d(s, "a", s), s + }), + (i.o = function (a, s) { + return Object.prototype.hasOwnProperty.call(a, s) + }), + (i.p = ""), + i((i.s = 26)) + ) + })([ + function (r, n, i) { + function a() {} + ;(a.QUALITY = 1), + (a.DEFAULT_CREATE_BENDS_AS_NEEDED = !1), + (a.DEFAULT_INCREMENTAL = !1), + (a.DEFAULT_ANIMATION_ON_LAYOUT = !0), + (a.DEFAULT_ANIMATION_DURING_LAYOUT = !1), + (a.DEFAULT_ANIMATION_PERIOD = 50), + (a.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1), + (a.DEFAULT_GRAPH_MARGIN = 15), + (a.NODE_DIMENSIONS_INCLUDE_LABELS = !1), + (a.SIMPLE_NODE_SIZE = 40), + (a.SIMPLE_NODE_HALF_SIZE = a.SIMPLE_NODE_SIZE / 2), + (a.EMPTY_COMPOUND_NODE_SIZE = 40), + (a.MIN_EDGE_LENGTH = 1), + (a.WORLD_BOUNDARY = 1e6), + (a.INITIAL_WORLD_BOUNDARY = a.WORLD_BOUNDARY / 1e3), + (a.WORLD_CENTER_X = 1200), + (a.WORLD_CENTER_Y = 900), + (r.exports = a) + }, + function (r, n, i) { + var a = i(2), + s = i(8), + o = i(9) + function l(h, d, f) { + a.call(this, f), + (this.isOverlapingSourceAndTarget = !1), + (this.vGraphObject = f), + (this.bendpoints = []), + (this.source = h), + (this.target = d) + } + l.prototype = Object.create(a.prototype) + for (var u in a) l[u] = a[u] + ;(l.prototype.getSource = function () { + return this.source + }), + (l.prototype.getTarget = function () { + return this.target + }), + (l.prototype.isInterGraph = function () { + return this.isInterGraph + }), + (l.prototype.getLength = function () { + return this.length + }), + (l.prototype.isOverlapingSourceAndTarget = function () { + return this.isOverlapingSourceAndTarget + }), + (l.prototype.getBendpoints = function () { + return this.bendpoints + }), + (l.prototype.getLca = function () { + return this.lca + }), + (l.prototype.getSourceInLca = function () { + return this.sourceInLca + }), + (l.prototype.getTargetInLca = function () { + return this.targetInLca + }), + (l.prototype.getOtherEnd = function (h) { + if (this.source === h) return this.target + if (this.target === h) return this.source + throw "Node is not incident with this edge" + }), + (l.prototype.getOtherEndInGraph = function (h, d) { + for (var f = this.getOtherEnd(h), p = d.getGraphManager().getRoot(); ; ) { + if (f.getOwner() == d) return f + if (f.getOwner() == p) break + f = f.getOwner().getParent() + } + return null + }), + (l.prototype.updateLength = function () { + var h = new Array(4) + ;(this.isOverlapingSourceAndTarget = s.getIntersection( + this.target.getRect(), + this.source.getRect(), + h, + )), + this.isOverlapingSourceAndTarget || + ((this.lengthX = h[0] - h[2]), + (this.lengthY = h[1] - h[3]), + Math.abs(this.lengthX) < 1 && (this.lengthX = o.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = o.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY, + ))) + }), + (l.prototype.updateLengthSimple = function () { + ;(this.lengthX = this.target.getCenterX() - this.source.getCenterX()), + (this.lengthY = this.target.getCenterY() - this.source.getCenterY()), + Math.abs(this.lengthX) < 1 && (this.lengthX = o.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = o.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY, + )) + }), + (r.exports = l) + }, + function (r, n, i) { + function a(s) { + this.vGraphObject = s + } + r.exports = a + }, + function (r, n, i) { + var a = i(2), + s = i(10), + o = i(13), + l = i(0), + u = i(16), + h = i(4) + function d(p, g, m, v) { + m == null && v == null && (v = g), + a.call(this, v), + p.graphManager != null && (p = p.graphManager), + (this.estimatedSize = s.MIN_VALUE), + (this.inclusionTreeDepth = s.MAX_VALUE), + (this.vGraphObject = v), + (this.edges = []), + (this.graphManager = p), + m != null && g != null + ? (this.rect = new o(g.x, g.y, m.width, m.height)) + : (this.rect = new o()) + } + d.prototype = Object.create(a.prototype) + for (var f in a) d[f] = a[f] + ;(d.prototype.getEdges = function () { + return this.edges + }), + (d.prototype.getChild = function () { + return this.child + }), + (d.prototype.getOwner = function () { + return this.owner + }), + (d.prototype.getWidth = function () { + return this.rect.width + }), + (d.prototype.setWidth = function (p) { + this.rect.width = p + }), + (d.prototype.getHeight = function () { + return this.rect.height + }), + (d.prototype.setHeight = function (p) { + this.rect.height = p + }), + (d.prototype.getCenterX = function () { + return this.rect.x + this.rect.width / 2 + }), + (d.prototype.getCenterY = function () { + return this.rect.y + this.rect.height / 2 + }), + (d.prototype.getCenter = function () { + return new h(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2) + }), + (d.prototype.getLocation = function () { + return new h(this.rect.x, this.rect.y) + }), + (d.prototype.getRect = function () { + return this.rect + }), + (d.prototype.getDiagonal = function () { + return Math.sqrt( + this.rect.width * this.rect.width + this.rect.height * this.rect.height, + ) + }), + (d.prototype.getHalfTheDiagonal = function () { + return ( + Math.sqrt( + this.rect.height * this.rect.height + this.rect.width * this.rect.width, + ) / 2 + ) + }), + (d.prototype.setRect = function (p, g) { + ;(this.rect.x = p.x), + (this.rect.y = p.y), + (this.rect.width = g.width), + (this.rect.height = g.height) + }), + (d.prototype.setCenter = function (p, g) { + ;(this.rect.x = p - this.rect.width / 2), (this.rect.y = g - this.rect.height / 2) + }), + (d.prototype.setLocation = function (p, g) { + ;(this.rect.x = p), (this.rect.y = g) + }), + (d.prototype.moveBy = function (p, g) { + ;(this.rect.x += p), (this.rect.y += g) + }), + (d.prototype.getEdgeListToNode = function (p) { + var g = [], + m = this + return ( + m.edges.forEach(function (v) { + if (v.target == p) { + if (v.source != m) throw "Incorrect edge source!" + g.push(v) + } + }), + g + ) + }), + (d.prototype.getEdgesBetween = function (p) { + var g = [], + m = this + return ( + m.edges.forEach(function (v) { + if (!(v.source == m || v.target == m)) + throw "Incorrect edge source and/or target" + ;(v.target == p || v.source == p) && g.push(v) + }), + g + ) + }), + (d.prototype.getNeighborsList = function () { + var p = new Set(), + g = this + return ( + g.edges.forEach(function (m) { + if (m.source == g) p.add(m.target) + else { + if (m.target != g) throw "Incorrect incidency!" + p.add(m.source) + } + }), + p + ) + }), + (d.prototype.withChildren = function () { + var p = new Set(), + g, + m + if ((p.add(this), this.child != null)) + for (var v = this.child.getNodes(), y = 0; y < v.length; y++) + (g = v[y]), + (m = g.withChildren()), + m.forEach(function (b) { + p.add(b) + }) + return p + }), + (d.prototype.getNoOfChildren = function () { + var p = 0, + g + if (this.child == null) p = 1 + else + for (var m = this.child.getNodes(), v = 0; v < m.length; v++) + (g = m[v]), (p += g.getNoOfChildren()) + return p == 0 && (p = 1), p + }), + (d.prototype.getEstimatedSize = function () { + if (this.estimatedSize == s.MIN_VALUE) throw "assert failed" + return this.estimatedSize + }), + (d.prototype.calcEstimatedSize = function () { + return this.child == null + ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2) + : ((this.estimatedSize = this.child.calcEstimatedSize()), + (this.rect.width = this.estimatedSize), + (this.rect.height = this.estimatedSize), + this.estimatedSize) + }), + (d.prototype.scatter = function () { + var p, + g, + m = -l.INITIAL_WORLD_BOUNDARY, + v = l.INITIAL_WORLD_BOUNDARY + p = l.WORLD_CENTER_X + u.nextDouble() * (v - m) + m + var y = -l.INITIAL_WORLD_BOUNDARY, + b = l.INITIAL_WORLD_BOUNDARY + ;(g = l.WORLD_CENTER_Y + u.nextDouble() * (b - y) + y), + (this.rect.x = p), + (this.rect.y = g) + }), + (d.prototype.updateBounds = function () { + if (this.getChild() == null) throw "assert failed" + if (this.getChild().getNodes().length != 0) { + var p = this.getChild() + if ( + (p.updateBounds(!0), + (this.rect.x = p.getLeft()), + (this.rect.y = p.getTop()), + this.setWidth(p.getRight() - p.getLeft()), + this.setHeight(p.getBottom() - p.getTop()), + l.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var g = p.getRight() - p.getLeft(), + m = p.getBottom() - p.getTop() + this.labelWidth > g && + ((this.rect.x -= (this.labelWidth - g) / 2), + this.setWidth(this.labelWidth)), + this.labelHeight > m && + (this.labelPos == "center" + ? (this.rect.y -= (this.labelHeight - m) / 2) + : this.labelPos == "top" && + (this.rect.y -= this.labelHeight - m), + this.setHeight(this.labelHeight)) + } + } + }), + (d.prototype.getInclusionTreeDepth = function () { + if (this.inclusionTreeDepth == s.MAX_VALUE) throw "assert failed" + return this.inclusionTreeDepth + }), + (d.prototype.transform = function (p) { + var g = this.rect.x + g > l.WORLD_BOUNDARY + ? (g = l.WORLD_BOUNDARY) + : g < -l.WORLD_BOUNDARY && (g = -l.WORLD_BOUNDARY) + var m = this.rect.y + m > l.WORLD_BOUNDARY + ? (m = l.WORLD_BOUNDARY) + : m < -l.WORLD_BOUNDARY && (m = -l.WORLD_BOUNDARY) + var v = new h(g, m), + y = p.inverseTransformPoint(v) + this.setLocation(y.x, y.y) + }), + (d.prototype.getLeft = function () { + return this.rect.x + }), + (d.prototype.getRight = function () { + return this.rect.x + this.rect.width + }), + (d.prototype.getTop = function () { + return this.rect.y + }), + (d.prototype.getBottom = function () { + return this.rect.y + this.rect.height + }), + (d.prototype.getParent = function () { + return this.owner == null ? null : this.owner.getParent() + }), + (r.exports = d) + }, + function (r, n, i) { + function a(s, o) { + s == null && o == null ? ((this.x = 0), (this.y = 0)) : ((this.x = s), (this.y = o)) + } + ;(a.prototype.getX = function () { + return this.x + }), + (a.prototype.getY = function () { + return this.y + }), + (a.prototype.setX = function (s) { + this.x = s + }), + (a.prototype.setY = function (s) { + this.y = s + }), + (a.prototype.getDifference = function (s) { + return new DimensionD(this.x - s.x, this.y - s.y) + }), + (a.prototype.getCopy = function () { + return new a(this.x, this.y) + }), + (a.prototype.translate = function (s) { + return (this.x += s.width), (this.y += s.height), this + }), + (r.exports = a) + }, + function (r, n, i) { + var a = i(2), + s = i(10), + o = i(0), + l = i(6), + u = i(3), + h = i(1), + d = i(13), + f = i(12), + p = i(11) + function g(v, y, b) { + a.call(this, b), + (this.estimatedSize = s.MIN_VALUE), + (this.margin = o.DEFAULT_GRAPH_MARGIN), + (this.edges = []), + (this.nodes = []), + (this.isConnected = !1), + (this.parent = v), + y != null && y instanceof l + ? (this.graphManager = y) + : y != null && y instanceof Layout && (this.graphManager = y.graphManager) + } + g.prototype = Object.create(a.prototype) + for (var m in a) g[m] = a[m] + ;(g.prototype.getNodes = function () { + return this.nodes + }), + (g.prototype.getEdges = function () { + return this.edges + }), + (g.prototype.getGraphManager = function () { + return this.graphManager + }), + (g.prototype.getParent = function () { + return this.parent + }), + (g.prototype.getLeft = function () { + return this.left + }), + (g.prototype.getRight = function () { + return this.right + }), + (g.prototype.getTop = function () { + return this.top + }), + (g.prototype.getBottom = function () { + return this.bottom + }), + (g.prototype.isConnected = function () { + return this.isConnected + }), + (g.prototype.add = function (v, y, b) { + if (y == null && b == null) { + var w = v + if (this.graphManager == null) throw "Graph has no graph mgr!" + if (this.getNodes().indexOf(w) > -1) throw "Node already in graph!" + return (w.owner = this), this.getNodes().push(w), w + } else { + var T = v + if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(b) > -1)) + throw "Source or target not in graph!" + if (!(y.owner == b.owner && y.owner == this)) + throw "Both owners must be this graph!" + return y.owner != b.owner + ? null + : ((T.source = y), + (T.target = b), + (T.isInterGraph = !1), + this.getEdges().push(T), + y.edges.push(T), + b != y && b.edges.push(T), + T) + } + }), + (g.prototype.remove = function (v) { + var y = v + if (v instanceof u) { + if (y == null) throw "Node is null!" + if (!(y.owner != null && y.owner == this)) throw "Owner graph is invalid!" + if (this.graphManager == null) throw "Owner graph manager is invalid!" + for (var b = y.edges.slice(), w, T = b.length, E = 0; E < T; E++) + (w = b[E]), + w.isInterGraph ? this.graphManager.remove(w) : w.source.owner.remove(w) + var S = this.nodes.indexOf(y) + if (S == -1) throw "Node not in owner node list!" + this.nodes.splice(S, 1) + } else if (v instanceof h) { + var w = v + if (w == null) throw "Edge is null!" + if (!(w.source != null && w.target != null)) + throw "Source and/or target is null!" + if ( + !( + w.source.owner != null && + w.target.owner != null && + w.source.owner == this && + w.target.owner == this + ) + ) + throw "Source and/or target owner is invalid!" + var k = w.source.edges.indexOf(w), + L = w.target.edges.indexOf(w) + if (!(k > -1 && L > -1)) throw "Source and/or target doesn't know this edge!" + w.source.edges.splice(k, 1), w.target != w.source && w.target.edges.splice(L, 1) + var S = w.source.owner.getEdges().indexOf(w) + if (S == -1) throw "Not in owner's edge list!" + w.source.owner.getEdges().splice(S, 1) + } + }), + (g.prototype.updateLeftTop = function () { + for ( + var v = s.MAX_VALUE, + y = s.MAX_VALUE, + b, + w, + T, + E = this.getNodes(), + S = E.length, + k = 0; + k < S; + k++ + ) { + var L = E[k] + ;(b = L.getTop()), (w = L.getLeft()), v > b && (v = b), y > w && (y = w) + } + return v == s.MAX_VALUE + ? null + : (E[0].getParent().paddingLeft != null + ? (T = E[0].getParent().paddingLeft) + : (T = this.margin), + (this.left = y - T), + (this.top = v - T), + new f(this.left, this.top)) + }), + (g.prototype.updateBounds = function (v) { + for ( + var y = s.MAX_VALUE, + b = -s.MAX_VALUE, + w = s.MAX_VALUE, + T = -s.MAX_VALUE, + E, + S, + k, + L, + A, + R = this.nodes, + C = R.length, + I = 0; + I < C; + I++ + ) { + var P = R[I] + v && P.child != null && P.updateBounds(), + (E = P.getLeft()), + (S = P.getRight()), + (k = P.getTop()), + (L = P.getBottom()), + y > E && (y = E), + b < S && (b = S), + w > k && (w = k), + T < L && (T = L) + } + var _ = new d(y, w, b - y, T - w) + y == s.MAX_VALUE && + ((this.left = this.parent.getLeft()), + (this.right = this.parent.getRight()), + (this.top = this.parent.getTop()), + (this.bottom = this.parent.getBottom())), + R[0].getParent().paddingLeft != null + ? (A = R[0].getParent().paddingLeft) + : (A = this.margin), + (this.left = _.x - A), + (this.right = _.x + _.width + A), + (this.top = _.y - A), + (this.bottom = _.y + _.height + A) + }), + (g.calculateBounds = function (v) { + for ( + var y = s.MAX_VALUE, + b = -s.MAX_VALUE, + w = s.MAX_VALUE, + T = -s.MAX_VALUE, + E, + S, + k, + L, + A = v.length, + R = 0; + R < A; + R++ + ) { + var C = v[R] + ;(E = C.getLeft()), + (S = C.getRight()), + (k = C.getTop()), + (L = C.getBottom()), + y > E && (y = E), + b < S && (b = S), + w > k && (w = k), + T < L && (T = L) + } + var I = new d(y, w, b - y, T - w) + return I + }), + (g.prototype.getInclusionTreeDepth = function () { + return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth() + }), + (g.prototype.getEstimatedSize = function () { + if (this.estimatedSize == s.MIN_VALUE) throw "assert failed" + return this.estimatedSize + }), + (g.prototype.calcEstimatedSize = function () { + for (var v = 0, y = this.nodes, b = y.length, w = 0; w < b; w++) { + var T = y[w] + v += T.calcEstimatedSize() + } + return ( + v == 0 + ? (this.estimatedSize = o.EMPTY_COMPOUND_NODE_SIZE) + : (this.estimatedSize = v / Math.sqrt(this.nodes.length)), + this.estimatedSize + ) + }), + (g.prototype.updateConnected = function () { + var v = this + if (this.nodes.length == 0) { + this.isConnected = !0 + return + } + var y = new p(), + b = new Set(), + w = this.nodes[0], + T, + E, + S = w.withChildren() + for ( + S.forEach(function (I) { + y.push(I), b.add(I) + }); + y.length !== 0; + + ) { + ;(w = y.shift()), (T = w.getEdges()) + for (var k = T.length, L = 0; L < k; L++) { + var A = T[L] + if (((E = A.getOtherEndInGraph(w, this)), E != null && !b.has(E))) { + var R = E.withChildren() + R.forEach(function (I) { + y.push(I), b.add(I) + }) + } + } + } + if (((this.isConnected = !1), b.size >= this.nodes.length)) { + var C = 0 + b.forEach(function (I) { + I.owner == v && C++ + }), + C == this.nodes.length && (this.isConnected = !0) + } + }), + (r.exports = g) + }, + function (r, n, i) { + var a, + s = i(1) + function o(l) { + ;(a = i(5)), (this.layout = l), (this.graphs = []), (this.edges = []) + } + ;(o.prototype.addRoot = function () { + var l = this.layout.newGraph(), + u = this.layout.newNode(null), + h = this.add(l, u) + return this.setRootGraph(h), this.rootGraph + }), + (o.prototype.add = function (l, u, h, d, f) { + if (h == null && d == null && f == null) { + if (l == null) throw "Graph is null!" + if (u == null) throw "Parent node is null!" + if (this.graphs.indexOf(l) > -1) throw "Graph already in this graph mgr!" + if ((this.graphs.push(l), l.parent != null)) throw "Already has a parent!" + if (u.child != null) throw "Already has a child!" + return (l.parent = u), (u.child = l), l + } else { + ;(f = h), (d = u), (h = l) + var p = d.getOwner(), + g = f.getOwner() + if (!(p != null && p.getGraphManager() == this)) + throw "Source not in this graph mgr!" + if (!(g != null && g.getGraphManager() == this)) + throw "Target not in this graph mgr!" + if (p == g) return (h.isInterGraph = !1), p.add(h, d, f) + if ( + ((h.isInterGraph = !0), + (h.source = d), + (h.target = f), + this.edges.indexOf(h) > -1) + ) + throw "Edge already in inter-graph edge list!" + if ((this.edges.push(h), !(h.source != null && h.target != null))) + throw "Edge source and/or target is null!" + if (!(h.source.edges.indexOf(h) == -1 && h.target.edges.indexOf(h) == -1)) + throw "Edge already in source and/or target incidency list!" + return h.source.edges.push(h), h.target.edges.push(h), h + } + }), + (o.prototype.remove = function (l) { + if (l instanceof a) { + var u = l + if (u.getGraphManager() != this) throw "Graph not in this graph mgr" + if ( + !( + u == this.rootGraph || + (u.parent != null && u.parent.graphManager == this) + ) + ) + throw "Invalid parent node!" + var h = [] + h = h.concat(u.getEdges()) + for (var d, f = h.length, p = 0; p < f; p++) (d = h[p]), u.remove(d) + var g = [] + g = g.concat(u.getNodes()) + var m + f = g.length + for (var p = 0; p < f; p++) (m = g[p]), u.remove(m) + u == this.rootGraph && this.setRootGraph(null) + var v = this.graphs.indexOf(u) + this.graphs.splice(v, 1), (u.parent = null) + } else if (l instanceof s) { + if (((d = l), d == null)) throw "Edge is null!" + if (!d.isInterGraph) throw "Not an inter-graph edge!" + if (!(d.source != null && d.target != null)) + throw "Source and/or target is null!" + if (!(d.source.edges.indexOf(d) != -1 && d.target.edges.indexOf(d) != -1)) + throw "Source and/or target doesn't know this edge!" + var v = d.source.edges.indexOf(d) + if ( + (d.source.edges.splice(v, 1), + (v = d.target.edges.indexOf(d)), + d.target.edges.splice(v, 1), + !(d.source.owner != null && d.source.owner.getGraphManager() != null)) + ) + throw "Edge owner graph or owner graph manager is null!" + if (d.source.owner.getGraphManager().edges.indexOf(d) == -1) + throw "Not in owner graph manager's edge list!" + var v = d.source.owner.getGraphManager().edges.indexOf(d) + d.source.owner.getGraphManager().edges.splice(v, 1) + } + }), + (o.prototype.updateBounds = function () { + this.rootGraph.updateBounds(!0) + }), + (o.prototype.getGraphs = function () { + return this.graphs + }), + (o.prototype.getAllNodes = function () { + if (this.allNodes == null) { + for (var l = [], u = this.getGraphs(), h = u.length, d = 0; d < h; d++) + l = l.concat(u[d].getNodes()) + this.allNodes = l + } + return this.allNodes + }), + (o.prototype.resetAllNodes = function () { + this.allNodes = null + }), + (o.prototype.resetAllEdges = function () { + this.allEdges = null + }), + (o.prototype.resetAllNodesToApplyGravitation = function () { + this.allNodesToApplyGravitation = null + }), + (o.prototype.getAllEdges = function () { + if (this.allEdges == null) { + var l = [], + u = this.getGraphs() + u.length + for (var h = 0; h < u.length; h++) l = l.concat(u[h].getEdges()) + ;(l = l.concat(this.edges)), (this.allEdges = l) + } + return this.allEdges + }), + (o.prototype.getAllNodesToApplyGravitation = function () { + return this.allNodesToApplyGravitation + }), + (o.prototype.setAllNodesToApplyGravitation = function (l) { + if (this.allNodesToApplyGravitation != null) throw "assert failed" + this.allNodesToApplyGravitation = l + }), + (o.prototype.getRoot = function () { + return this.rootGraph + }), + (o.prototype.setRootGraph = function (l) { + if (l.getGraphManager() != this) throw "Root not in this graph mgr!" + ;(this.rootGraph = l), + l.parent == null && (l.parent = this.layout.newNode("Root node")) + }), + (o.prototype.getLayout = function () { + return this.layout + }), + (o.prototype.isOneAncestorOfOther = function (l, u) { + if (!(l != null && u != null)) throw "assert failed" + if (l == u) return !0 + var h = l.getOwner(), + d + do { + if (((d = h.getParent()), d == null)) break + if (d == u) return !0 + if (((h = d.getOwner()), h == null)) break + } while (!0) + h = u.getOwner() + do { + if (((d = h.getParent()), d == null)) break + if (d == l) return !0 + if (((h = d.getOwner()), h == null)) break + } while (!0) + return !1 + }), + (o.prototype.calcLowestCommonAncestors = function () { + for (var l, u, h, d, f, p = this.getAllEdges(), g = p.length, m = 0; m < g; m++) { + if ( + ((l = p[m]), + (u = l.source), + (h = l.target), + (l.lca = null), + (l.sourceInLca = u), + (l.targetInLca = h), + u == h) + ) { + l.lca = u.getOwner() + continue + } + for (d = u.getOwner(); l.lca == null; ) { + for (l.targetInLca = h, f = h.getOwner(); l.lca == null; ) { + if (f == d) { + l.lca = f + break + } + if (f == this.rootGraph) break + if (l.lca != null) throw "assert failed" + ;(l.targetInLca = f.getParent()), (f = l.targetInLca.getOwner()) + } + if (d == this.rootGraph) break + l.lca == null && + ((l.sourceInLca = d.getParent()), (d = l.sourceInLca.getOwner())) + } + if (l.lca == null) throw "assert failed" + } + }), + (o.prototype.calcLowestCommonAncestor = function (l, u) { + if (l == u) return l.getOwner() + var h = l.getOwner() + do { + if (h == null) break + var d = u.getOwner() + do { + if (d == null) break + if (d == h) return d + d = d.getParent().getOwner() + } while (!0) + h = h.getParent().getOwner() + } while (!0) + return h + }), + (o.prototype.calcInclusionTreeDepths = function (l, u) { + l == null && u == null && ((l = this.rootGraph), (u = 1)) + for (var h, d = l.getNodes(), f = d.length, p = 0; p < f; p++) + (h = d[p]), + (h.inclusionTreeDepth = u), + h.child != null && this.calcInclusionTreeDepths(h.child, u + 1) + }), + (o.prototype.includesInvalidEdge = function () { + for (var l, u = this.edges.length, h = 0; h < u; h++) + if (((l = this.edges[h]), this.isOneAncestorOfOther(l.source, l.target))) + return !0 + return !1 + }), + (r.exports = o) + }, + function (r, n, i) { + var a = i(0) + function s() {} + for (var o in a) s[o] = a[o] + ;(s.MAX_ITERATIONS = 2500), + (s.DEFAULT_EDGE_LENGTH = 50), + (s.DEFAULT_SPRING_STRENGTH = 0.45), + (s.DEFAULT_REPULSION_STRENGTH = 4500), + (s.DEFAULT_GRAVITY_STRENGTH = 0.4), + (s.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1), + (s.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8), + (s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5), + (s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0), + (s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0), + (s.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3), + (s.COOLING_ADAPTATION_FACTOR = 0.33), + (s.ADAPTATION_LOWER_NODE_LIMIT = 1e3), + (s.ADAPTATION_UPPER_NODE_LIMIT = 5e3), + (s.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100), + (s.MAX_NODE_DISPLACEMENT = s.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3), + (s.MIN_REPULSION_DIST = s.DEFAULT_EDGE_LENGTH / 10), + (s.CONVERGENCE_CHECK_PERIOD = 100), + (s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1), + (s.MIN_EDGE_LENGTH = 1), + (s.GRID_CALCULATION_CHECK_PERIOD = 10), + (r.exports = s) + }, + function (r, n, i) { + var a = i(12) + function s() {} + ;(s.calcSeparationAmount = function (o, l, u, h) { + if (!o.intersects(l)) throw "assert failed" + var d = new Array(2) + this.decideDirectionsForOverlappingNodes(o, l, d), + (u[0] = Math.min(o.getRight(), l.getRight()) - Math.max(o.x, l.x)), + (u[1] = Math.min(o.getBottom(), l.getBottom()) - Math.max(o.y, l.y)), + o.getX() <= l.getX() && o.getRight() >= l.getRight() + ? (u[0] += Math.min(l.getX() - o.getX(), o.getRight() - l.getRight())) + : l.getX() <= o.getX() && + l.getRight() >= o.getRight() && + (u[0] += Math.min(o.getX() - l.getX(), l.getRight() - o.getRight())), + o.getY() <= l.getY() && o.getBottom() >= l.getBottom() + ? (u[1] += Math.min(l.getY() - o.getY(), o.getBottom() - l.getBottom())) + : l.getY() <= o.getY() && + l.getBottom() >= o.getBottom() && + (u[1] += Math.min(o.getY() - l.getY(), l.getBottom() - o.getBottom())) + var f = Math.abs((l.getCenterY() - o.getCenterY()) / (l.getCenterX() - o.getCenterX())) + l.getCenterY() === o.getCenterY() && l.getCenterX() === o.getCenterX() && (f = 1) + var p = f * u[0], + g = u[1] / f + u[0] < g ? (g = u[0]) : (p = u[1]), + (u[0] = -1 * d[0] * (g / 2 + h)), + (u[1] = -1 * d[1] * (p / 2 + h)) + }), + (s.decideDirectionsForOverlappingNodes = function (o, l, u) { + o.getCenterX() < l.getCenterX() ? (u[0] = -1) : (u[0] = 1), + o.getCenterY() < l.getCenterY() ? (u[1] = -1) : (u[1] = 1) + }), + (s.getIntersection2 = function (o, l, u) { + var h = o.getCenterX(), + d = o.getCenterY(), + f = l.getCenterX(), + p = l.getCenterY() + if (o.intersects(l)) return (u[0] = h), (u[1] = d), (u[2] = f), (u[3] = p), !0 + var g = o.getX(), + m = o.getY(), + v = o.getRight(), + y = o.getX(), + b = o.getBottom(), + w = o.getRight(), + T = o.getWidthHalf(), + E = o.getHeightHalf(), + S = l.getX(), + k = l.getY(), + L = l.getRight(), + A = l.getX(), + R = l.getBottom(), + C = l.getRight(), + I = l.getWidthHalf(), + P = l.getHeightHalf(), + _ = !1, + N = !1 + if (h === f) { + if (d > p) return (u[0] = h), (u[1] = m), (u[2] = f), (u[3] = R), !1 + if (d < p) return (u[0] = h), (u[1] = b), (u[2] = f), (u[3] = k), !1 + } else if (d === p) { + if (h > f) return (u[0] = g), (u[1] = d), (u[2] = L), (u[3] = p), !1 + if (h < f) return (u[0] = v), (u[1] = d), (u[2] = S), (u[3] = p), !1 + } else { + var M = o.height / o.width, + O = l.height / l.width, + D = (p - d) / (f - h), + B = void 0, + z = void 0, + F = void 0, + G = void 0, + q = void 0, + Y = void 0 + if ( + (-M === D + ? h > f + ? ((u[0] = y), (u[1] = b), (_ = !0)) + : ((u[0] = v), (u[1] = m), (_ = !0)) + : M === D && + (h > f + ? ((u[0] = g), (u[1] = m), (_ = !0)) + : ((u[0] = w), (u[1] = b), (_ = !0))), + -O === D + ? f > h + ? ((u[2] = A), (u[3] = R), (N = !0)) + : ((u[2] = L), (u[3] = k), (N = !0)) + : O === D && + (f > h + ? ((u[2] = S), (u[3] = k), (N = !0)) + : ((u[2] = C), (u[3] = R), (N = !0))), + _ && N) + ) + return !1 + if ( + (h > f + ? d > p + ? ((B = this.getCardinalDirection(M, D, 4)), + (z = this.getCardinalDirection(O, D, 2))) + : ((B = this.getCardinalDirection(-M, D, 3)), + (z = this.getCardinalDirection(-O, D, 1))) + : d > p + ? ((B = this.getCardinalDirection(-M, D, 1)), + (z = this.getCardinalDirection(-O, D, 3))) + : ((B = this.getCardinalDirection(M, D, 2)), + (z = this.getCardinalDirection(O, D, 4))), + !_) + ) + switch (B) { + case 1: + ;(G = m), (F = h + -E / D), (u[0] = F), (u[1] = G) + break + case 2: + ;(F = w), (G = d + T * D), (u[0] = F), (u[1] = G) + break + case 3: + ;(G = b), (F = h + E / D), (u[0] = F), (u[1] = G) + break + case 4: + ;(F = y), (G = d + -T * D), (u[0] = F), (u[1] = G) + break + } + if (!N) + switch (z) { + case 1: + ;(Y = k), (q = f + -P / D), (u[2] = q), (u[3] = Y) + break + case 2: + ;(q = C), (Y = p + I * D), (u[2] = q), (u[3] = Y) + break + case 3: + ;(Y = R), (q = f + P / D), (u[2] = q), (u[3] = Y) + break + case 4: + ;(q = A), (Y = p + -I * D), (u[2] = q), (u[3] = Y) + break + } + } + return !1 + }), + (s.getCardinalDirection = function (o, l, u) { + return o > l ? u : 1 + (u % 4) + }), + (s.getIntersection = function (o, l, u, h) { + if (h == null) return this.getIntersection2(o, l, u) + var d = o.x, + f = o.y, + p = l.x, + g = l.y, + m = u.x, + v = u.y, + y = h.x, + b = h.y, + w = void 0, + T = void 0, + E = void 0, + S = void 0, + k = void 0, + L = void 0, + A = void 0, + R = void 0, + C = void 0 + return ( + (E = g - f), + (k = d - p), + (A = p * f - d * g), + (S = b - v), + (L = m - y), + (R = y * v - m * b), + (C = E * L - S * k), + C === 0 + ? null + : ((w = (k * R - L * A) / C), (T = (S * A - E * R) / C), new a(w, T)) + ) + }), + (s.angleOfVector = function (o, l, u, h) { + var d = void 0 + return ( + o !== u + ? ((d = Math.atan((h - l) / (u - o))), + u < o ? (d += Math.PI) : h < l && (d += this.TWO_PI)) + : h < l + ? (d = this.ONE_AND_HALF_PI) + : (d = this.HALF_PI), + d + ) + }), + (s.doIntersect = function (o, l, u, h) { + var d = o.x, + f = o.y, + p = l.x, + g = l.y, + m = u.x, + v = u.y, + y = h.x, + b = h.y, + w = (p - d) * (b - v) - (y - m) * (g - f) + if (w === 0) return !1 + var T = ((b - v) * (y - d) + (m - y) * (b - f)) / w, + E = ((f - g) * (y - d) + (p - d) * (b - f)) / w + return 0 < T && T < 1 && 0 < E && E < 1 + }), + (s.HALF_PI = 0.5 * Math.PI), + (s.ONE_AND_HALF_PI = 1.5 * Math.PI), + (s.TWO_PI = 2 * Math.PI), + (s.THREE_PI = 3 * Math.PI), + (r.exports = s) + }, + function (r, n, i) { + function a() {} + ;(a.sign = function (s) { + return s > 0 ? 1 : s < 0 ? -1 : 0 + }), + (a.floor = function (s) { + return s < 0 ? Math.ceil(s) : Math.floor(s) + }), + (a.ceil = function (s) { + return s < 0 ? Math.floor(s) : Math.ceil(s) + }), + (r.exports = a) + }, + function (r, n, i) { + function a() {} + ;(a.MAX_VALUE = 2147483647), (a.MIN_VALUE = -2147483648), (r.exports = a) + }, + function (r, n, i) { + var a = (function () { + function d(f, p) { + for (var g = 0; g < p.length; g++) { + var m = p[g] + ;(m.enumerable = m.enumerable || !1), + (m.configurable = !0), + "value" in m && (m.writable = !0), + Object.defineProperty(f, m.key, m) + } + } + return function (f, p, g) { + return p && d(f.prototype, p), g && d(f, g), f + } + })() + function s(d, f) { + if (!(d instanceof f)) throw new TypeError("Cannot call a class as a function") + } + var o = function (f) { + return { value: f, next: null, prev: null } + }, + l = function (f, p, g, m) { + return ( + f !== null ? (f.next = p) : (m.head = p), + g !== null ? (g.prev = p) : (m.tail = p), + (p.prev = f), + (p.next = g), + m.length++, + p + ) + }, + u = function (f, p) { + var g = f.prev, + m = f.next + return ( + g !== null ? (g.next = m) : (p.head = m), + m !== null ? (m.prev = g) : (p.tail = g), + (f.prev = f.next = null), + p.length--, + f + ) + }, + h = (function () { + function d(f) { + var p = this + s(this, d), + (this.length = 0), + (this.head = null), + (this.tail = null), + f != null && + f.forEach(function (g) { + return p.push(g) + }) + } + return ( + a(d, [ + { + key: "size", + value: function () { + return this.length + }, + }, + { + key: "insertBefore", + value: function (p, g) { + return l(g.prev, o(p), g, this) + }, + }, + { + key: "insertAfter", + value: function (p, g) { + return l(g, o(p), g.next, this) + }, + }, + { + key: "insertNodeBefore", + value: function (p, g) { + return l(g.prev, p, g, this) + }, + }, + { + key: "insertNodeAfter", + value: function (p, g) { + return l(g, p, g.next, this) + }, + }, + { + key: "push", + value: function (p) { + return l(this.tail, o(p), null, this) + }, + }, + { + key: "unshift", + value: function (p) { + return l(null, o(p), this.head, this) + }, + }, + { + key: "remove", + value: function (p) { + return u(p, this) + }, + }, + { + key: "pop", + value: function () { + return u(this.tail, this).value + }, + }, + { + key: "popNode", + value: function () { + return u(this.tail, this) + }, + }, + { + key: "shift", + value: function () { + return u(this.head, this).value + }, + }, + { + key: "shiftNode", + value: function () { + return u(this.head, this) + }, + }, + { + key: "get_object_at", + value: function (p) { + if (p <= this.length()) { + for (var g = 1, m = this.head; g < p; ) (m = m.next), g++ + return m.value + } + }, + }, + { + key: "set_object_at", + value: function (p, g) { + if (p <= this.length()) { + for (var m = 1, v = this.head; m < p; ) (v = v.next), m++ + v.value = g + } + }, + }, + ]), + d + ) + })() + r.exports = h + }, + function (r, n, i) { + function a(s, o, l) { + ;(this.x = null), + (this.y = null), + s == null && o == null && l == null + ? ((this.x = 0), (this.y = 0)) + : typeof s == "number" && typeof o == "number" && l == null + ? ((this.x = s), (this.y = o)) + : s.constructor.name == "Point" && + o == null && + l == null && + ((l = s), (this.x = l.x), (this.y = l.y)) + } + ;(a.prototype.getX = function () { + return this.x + }), + (a.prototype.getY = function () { + return this.y + }), + (a.prototype.getLocation = function () { + return new a(this.x, this.y) + }), + (a.prototype.setLocation = function (s, o, l) { + s.constructor.name == "Point" && o == null && l == null + ? ((l = s), this.setLocation(l.x, l.y)) + : typeof s == "number" && + typeof o == "number" && + l == null && + (parseInt(s) == s && parseInt(o) == o + ? this.move(s, o) + : ((this.x = Math.floor(s + 0.5)), (this.y = Math.floor(o + 0.5)))) + }), + (a.prototype.move = function (s, o) { + ;(this.x = s), (this.y = o) + }), + (a.prototype.translate = function (s, o) { + ;(this.x += s), (this.y += o) + }), + (a.prototype.equals = function (s) { + if (s.constructor.name == "Point") { + var o = s + return this.x == o.x && this.y == o.y + } + return this == s + }), + (a.prototype.toString = function () { + return new a().constructor.name + "[x=" + this.x + ",y=" + this.y + "]" + }), + (r.exports = a) + }, + function (r, n, i) { + function a(s, o, l, u) { + ;(this.x = 0), + (this.y = 0), + (this.width = 0), + (this.height = 0), + s != null && + o != null && + l != null && + u != null && + ((this.x = s), (this.y = o), (this.width = l), (this.height = u)) + } + ;(a.prototype.getX = function () { + return this.x + }), + (a.prototype.setX = function (s) { + this.x = s + }), + (a.prototype.getY = function () { + return this.y + }), + (a.prototype.setY = function (s) { + this.y = s + }), + (a.prototype.getWidth = function () { + return this.width + }), + (a.prototype.setWidth = function (s) { + this.width = s + }), + (a.prototype.getHeight = function () { + return this.height + }), + (a.prototype.setHeight = function (s) { + this.height = s + }), + (a.prototype.getRight = function () { + return this.x + this.width + }), + (a.prototype.getBottom = function () { + return this.y + this.height + }), + (a.prototype.intersects = function (s) { + return !( + this.getRight() < s.x || + this.getBottom() < s.y || + s.getRight() < this.x || + s.getBottom() < this.y + ) + }), + (a.prototype.getCenterX = function () { + return this.x + this.width / 2 + }), + (a.prototype.getMinX = function () { + return this.getX() + }), + (a.prototype.getMaxX = function () { + return this.getX() + this.width + }), + (a.prototype.getCenterY = function () { + return this.y + this.height / 2 + }), + (a.prototype.getMinY = function () { + return this.getY() + }), + (a.prototype.getMaxY = function () { + return this.getY() + this.height + }), + (a.prototype.getWidthHalf = function () { + return this.width / 2 + }), + (a.prototype.getHeightHalf = function () { + return this.height / 2 + }), + (r.exports = a) + }, + function (r, n, i) { + var a = + typeof Symbol == "function" && typeof Symbol.iterator == "symbol" + ? function (o) { + return typeof o + } + : function (o) { + return o && + typeof Symbol == "function" && + o.constructor === Symbol && + o !== Symbol.prototype + ? "symbol" + : typeof o + } + function s() {} + ;(s.lastID = 0), + (s.createID = function (o) { + return s.isPrimitive(o) + ? o + : (o.uniqueID != null || ((o.uniqueID = s.getString()), s.lastID++), o.uniqueID) + }), + (s.getString = function (o) { + return o == null && (o = s.lastID), "Object#" + o + }), + (s.isPrimitive = function (o) { + var l = typeof o > "u" ? "undefined" : a(o) + return o == null || (l != "object" && l != "function") + }), + (r.exports = s) + }, + function (r, n, i) { + function a(m) { + if (Array.isArray(m)) { + for (var v = 0, y = Array(m.length); v < m.length; v++) y[v] = m[v] + return y + } else return Array.from(m) + } + var s = i(0), + o = i(6), + l = i(3), + u = i(1), + h = i(5), + d = i(4), + f = i(17), + p = i(27) + function g(m) { + p.call(this), + (this.layoutQuality = s.QUALITY), + (this.createBendsAsNeeded = s.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.incremental = s.DEFAULT_INCREMENTAL), + (this.animationOnLayout = s.DEFAULT_ANIMATION_ON_LAYOUT), + (this.animationDuringLayout = s.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = s.DEFAULT_ANIMATION_PERIOD), + (this.uniformLeafNodeSizes = s.DEFAULT_UNIFORM_LEAF_NODE_SIZES), + (this.edgeToDummyNodes = new Map()), + (this.graphManager = new o(this)), + (this.isLayoutFinished = !1), + (this.isSubLayout = !1), + (this.isRemoteUse = !1), + m != null && (this.isRemoteUse = m) + } + ;(g.RANDOM_SEED = 1), + (g.prototype = Object.create(p.prototype)), + (g.prototype.getGraphManager = function () { + return this.graphManager + }), + (g.prototype.getAllNodes = function () { + return this.graphManager.getAllNodes() + }), + (g.prototype.getAllEdges = function () { + return this.graphManager.getAllEdges() + }), + (g.prototype.getAllNodesToApplyGravitation = function () { + return this.graphManager.getAllNodesToApplyGravitation() + }), + (g.prototype.newGraphManager = function () { + var m = new o(this) + return (this.graphManager = m), m + }), + (g.prototype.newGraph = function (m) { + return new h(null, this.graphManager, m) + }), + (g.prototype.newNode = function (m) { + return new l(this.graphManager, m) + }), + (g.prototype.newEdge = function (m) { + return new u(null, null, m) + }), + (g.prototype.checkLayoutSuccess = function () { + return ( + this.graphManager.getRoot() == null || + this.graphManager.getRoot().getNodes().length == 0 || + this.graphManager.includesInvalidEdge() + ) + }), + (g.prototype.runLayout = function () { + ;(this.isLayoutFinished = !1), + this.tilingPreLayout && this.tilingPreLayout(), + this.initParameters() + var m + return ( + this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()), + s.ANIMATE === "during" + ? !1 + : (m && (this.isSubLayout || this.doPostLayout()), + this.tilingPostLayout && this.tilingPostLayout(), + (this.isLayoutFinished = !0), + m) + ) + }), + (g.prototype.doPostLayout = function () { + this.incremental || this.transform(), this.update() + }), + (g.prototype.update2 = function () { + if ( + (this.createBendsAsNeeded && + (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), + !this.isRemoteUse) + ) { + for (var m = this.graphManager.getAllEdges(), v = 0; v < m.length; v++) m[v] + for (var y = this.graphManager.getRoot().getNodes(), v = 0; v < y.length; v++) + y[v] + this.update(this.graphManager.getRoot()) + } + }), + (g.prototype.update = function (m) { + if (m == null) this.update2() + else if (m instanceof l) { + var v = m + if (v.getChild() != null) + for (var y = v.getChild().getNodes(), b = 0; b < y.length; b++) update(y[b]) + if (v.vGraphObject != null) { + var w = v.vGraphObject + w.update(v) + } + } else if (m instanceof u) { + var T = m + if (T.vGraphObject != null) { + var E = T.vGraphObject + E.update(T) + } + } else if (m instanceof h) { + var S = m + if (S.vGraphObject != null) { + var k = S.vGraphObject + k.update(S) + } + } + }), + (g.prototype.initParameters = function () { + this.isSubLayout || + ((this.layoutQuality = s.QUALITY), + (this.animationDuringLayout = s.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = s.DEFAULT_ANIMATION_PERIOD), + (this.animationOnLayout = s.DEFAULT_ANIMATION_ON_LAYOUT), + (this.incremental = s.DEFAULT_INCREMENTAL), + (this.createBendsAsNeeded = s.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.uniformLeafNodeSizes = s.DEFAULT_UNIFORM_LEAF_NODE_SIZES)), + this.animationDuringLayout && (this.animationOnLayout = !1) + }), + (g.prototype.transform = function (m) { + if (m == null) this.transform(new d(0, 0)) + else { + var v = new f(), + y = this.graphManager.getRoot().updateLeftTop() + if (y != null) { + v.setWorldOrgX(m.x), + v.setWorldOrgY(m.y), + v.setDeviceOrgX(y.x), + v.setDeviceOrgY(y.y) + for (var b = this.getAllNodes(), w, T = 0; T < b.length; T++) + (w = b[T]), w.transform(v) + } + } + }), + (g.prototype.positionNodesRandomly = function (m) { + if (m == null) + this.positionNodesRandomly(this.getGraphManager().getRoot()), + this.getGraphManager().getRoot().updateBounds(!0) + else + for (var v, y, b = m.getNodes(), w = 0; w < b.length; w++) + (v = b[w]), + (y = v.getChild()), + y == null || y.getNodes().length == 0 + ? v.scatter() + : (this.positionNodesRandomly(y), v.updateBounds()) + }), + (g.prototype.getFlatForest = function () { + for ( + var m = [], v = !0, y = this.graphManager.getRoot().getNodes(), b = !0, w = 0; + w < y.length; + w++ + ) + y[w].getChild() != null && (b = !1) + if (!b) return m + var T = new Set(), + E = [], + S = new Map(), + k = [] + for (k = k.concat(y); k.length > 0 && v; ) { + for (E.push(k[0]); E.length > 0 && v; ) { + var L = E[0] + E.splice(0, 1), T.add(L) + for (var A = L.getEdges(), w = 0; w < A.length; w++) { + var R = A[w].getOtherEnd(L) + if (S.get(L) != R) + if (!T.has(R)) E.push(R), S.set(R, L) + else { + v = !1 + break + } + } + } + if (!v) m = [] + else { + var C = [].concat(a(T)) + m.push(C) + for (var w = 0; w < C.length; w++) { + var I = C[w], + P = k.indexOf(I) + P > -1 && k.splice(P, 1) + } + ;(T = new Set()), (S = new Map()) + } + } + return m + }), + (g.prototype.createDummyNodesForBendpoints = function (m) { + for ( + var v = [], + y = m.source, + b = this.graphManager.calcLowestCommonAncestor(m.source, m.target), + w = 0; + w < m.bendpoints.length; + w++ + ) { + var T = this.newNode(null) + T.setRect(new Point(0, 0), new Dimension(1, 1)), b.add(T) + var E = this.newEdge(null) + this.graphManager.add(E, y, T), v.add(T), (y = T) + } + var E = this.newEdge(null) + return ( + this.graphManager.add(E, y, m.target), + this.edgeToDummyNodes.set(m, v), + m.isInterGraph() ? this.graphManager.remove(m) : b.remove(m), + v + ) + }), + (g.prototype.createBendpointsFromDummyNodes = function () { + var m = [] + ;(m = m.concat(this.graphManager.getAllEdges())), + (m = [].concat(a(this.edgeToDummyNodes.keys())).concat(m)) + for (var v = 0; v < m.length; v++) { + var y = m[v] + if (y.bendpoints.length > 0) { + for (var b = this.edgeToDummyNodes.get(y), w = 0; w < b.length; w++) { + var T = b[w], + E = new d(T.getCenterX(), T.getCenterY()), + S = y.bendpoints.get(w) + ;(S.x = E.x), (S.y = E.y), T.getOwner().remove(T) + } + this.graphManager.add(y, y.source, y.target) + } + } + }), + (g.transform = function (m, v, y, b) { + if (y != null && b != null) { + var w = v + if (m <= 50) { + var T = v / y + w -= ((v - T) / 50) * (50 - m) + } else { + var E = v * b + w += ((E - v) / 50) * (m - 50) + } + return w + } else { + var S, k + return ( + m <= 50 + ? ((S = (9 * v) / 500), (k = v / 10)) + : ((S = (9 * v) / 50), (k = -8 * v)), + S * m + k + ) + } + }), + (g.findCenterOfTree = function (m) { + var v = [] + v = v.concat(m) + var y = [], + b = new Map(), + w = !1, + T = null + ;(v.length == 1 || v.length == 2) && ((w = !0), (T = v[0])) + for (var E = 0; E < v.length; E++) { + var S = v[E], + k = S.getNeighborsList().size + b.set(S, S.getNeighborsList().size), k == 1 && y.push(S) + } + var L = [] + for (L = L.concat(y); !w; ) { + var A = [] + ;(A = A.concat(L)), (L = []) + for (var E = 0; E < v.length; E++) { + var S = v[E], + R = v.indexOf(S) + R >= 0 && v.splice(R, 1) + var C = S.getNeighborsList() + C.forEach(function (_) { + if (y.indexOf(_) < 0) { + var N = b.get(_), + M = N - 1 + M == 1 && L.push(_), b.set(_, M) + } + }) + } + ;(y = y.concat(L)), (v.length == 1 || v.length == 2) && ((w = !0), (T = v[0])) + } + return T + }), + (g.prototype.setGraphManager = function (m) { + this.graphManager = m + }), + (r.exports = g) + }, + function (r, n, i) { + function a() {} + ;(a.seed = 1), + (a.x = 0), + (a.nextDouble = function () { + return (a.x = Math.sin(a.seed++) * 1e4), a.x - Math.floor(a.x) + }), + (r.exports = a) + }, + function (r, n, i) { + var a = i(4) + function s(o, l) { + ;(this.lworldOrgX = 0), + (this.lworldOrgY = 0), + (this.ldeviceOrgX = 0), + (this.ldeviceOrgY = 0), + (this.lworldExtX = 1), + (this.lworldExtY = 1), + (this.ldeviceExtX = 1), + (this.ldeviceExtY = 1) + } + ;(s.prototype.getWorldOrgX = function () { + return this.lworldOrgX + }), + (s.prototype.setWorldOrgX = function (o) { + this.lworldOrgX = o + }), + (s.prototype.getWorldOrgY = function () { + return this.lworldOrgY + }), + (s.prototype.setWorldOrgY = function (o) { + this.lworldOrgY = o + }), + (s.prototype.getWorldExtX = function () { + return this.lworldExtX + }), + (s.prototype.setWorldExtX = function (o) { + this.lworldExtX = o + }), + (s.prototype.getWorldExtY = function () { + return this.lworldExtY + }), + (s.prototype.setWorldExtY = function (o) { + this.lworldExtY = o + }), + (s.prototype.getDeviceOrgX = function () { + return this.ldeviceOrgX + }), + (s.prototype.setDeviceOrgX = function (o) { + this.ldeviceOrgX = o + }), + (s.prototype.getDeviceOrgY = function () { + return this.ldeviceOrgY + }), + (s.prototype.setDeviceOrgY = function (o) { + this.ldeviceOrgY = o + }), + (s.prototype.getDeviceExtX = function () { + return this.ldeviceExtX + }), + (s.prototype.setDeviceExtX = function (o) { + this.ldeviceExtX = o + }), + (s.prototype.getDeviceExtY = function () { + return this.ldeviceExtY + }), + (s.prototype.setDeviceExtY = function (o) { + this.ldeviceExtY = o + }), + (s.prototype.transformX = function (o) { + var l = 0, + u = this.lworldExtX + return ( + u != 0 && + (l = this.ldeviceOrgX + ((o - this.lworldOrgX) * this.ldeviceExtX) / u), + l + ) + }), + (s.prototype.transformY = function (o) { + var l = 0, + u = this.lworldExtY + return ( + u != 0 && + (l = this.ldeviceOrgY + ((o - this.lworldOrgY) * this.ldeviceExtY) / u), + l + ) + }), + (s.prototype.inverseTransformX = function (o) { + var l = 0, + u = this.ldeviceExtX + return ( + u != 0 && + (l = this.lworldOrgX + ((o - this.ldeviceOrgX) * this.lworldExtX) / u), + l + ) + }), + (s.prototype.inverseTransformY = function (o) { + var l = 0, + u = this.ldeviceExtY + return ( + u != 0 && + (l = this.lworldOrgY + ((o - this.ldeviceOrgY) * this.lworldExtY) / u), + l + ) + }), + (s.prototype.inverseTransformPoint = function (o) { + var l = new a(this.inverseTransformX(o.x), this.inverseTransformY(o.y)) + return l + }), + (r.exports = s) + }, + function (r, n, i) { + function a(p) { + if (Array.isArray(p)) { + for (var g = 0, m = Array(p.length); g < p.length; g++) m[g] = p[g] + return m + } else return Array.from(p) + } + var s = i(15), + o = i(7), + l = i(0), + u = i(8), + h = i(9) + function d() { + s.call(this), + (this.useSmartIdealEdgeLengthCalculation = + o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.idealEdgeLength = o.DEFAULT_EDGE_LENGTH), + (this.springConstant = o.DEFAULT_SPRING_STRENGTH), + (this.repulsionConstant = o.DEFAULT_REPULSION_STRENGTH), + (this.gravityConstant = o.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = o.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = o.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.displacementThresholdPerNode = (3 * o.DEFAULT_EDGE_LENGTH) / 100), + (this.coolingFactor = o.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.initialCoolingFactor = o.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.totalDisplacement = 0), + (this.oldTotalDisplacement = 0), + (this.maxIterations = o.MAX_ITERATIONS) + } + d.prototype = Object.create(s.prototype) + for (var f in s) d[f] = s[f] + ;(d.prototype.initParameters = function () { + s.prototype.initParameters.call(this, arguments), + (this.totalIterations = 0), + (this.notAnimatedIterations = 0), + (this.useFRGridVariant = o.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION), + (this.grid = []) + }), + (d.prototype.calcIdealEdgeLengths = function () { + for ( + var p, g, m, v, y, b, w = this.getGraphManager().getAllEdges(), T = 0; + T < w.length; + T++ + ) + (p = w[T]), + (p.idealLength = this.idealEdgeLength), + p.isInterGraph && + ((m = p.getSource()), + (v = p.getTarget()), + (y = p.getSourceInLca().getEstimatedSize()), + (b = p.getTargetInLca().getEstimatedSize()), + this.useSmartIdealEdgeLengthCalculation && + (p.idealLength += y + b - 2 * l.SIMPLE_NODE_SIZE), + (g = p.getLca().getInclusionTreeDepth()), + (p.idealLength += + o.DEFAULT_EDGE_LENGTH * + o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * + (m.getInclusionTreeDepth() + v.getInclusionTreeDepth() - 2 * g))) + }), + (d.prototype.initSpringEmbedder = function () { + var p = this.getAllNodes().length + this.incremental + ? (p > o.ADAPTATION_LOWER_NODE_LIMIT && + (this.coolingFactor = Math.max( + this.coolingFactor * o.COOLING_ADAPTATION_FACTOR, + this.coolingFactor - + ((p - o.ADAPTATION_LOWER_NODE_LIMIT) / + (o.ADAPTATION_UPPER_NODE_LIMIT - + o.ADAPTATION_LOWER_NODE_LIMIT)) * + this.coolingFactor * + (1 - o.COOLING_ADAPTATION_FACTOR), + )), + (this.maxNodeDisplacement = o.MAX_NODE_DISPLACEMENT_INCREMENTAL)) + : (p > o.ADAPTATION_LOWER_NODE_LIMIT + ? (this.coolingFactor = Math.max( + o.COOLING_ADAPTATION_FACTOR, + 1 - + ((p - o.ADAPTATION_LOWER_NODE_LIMIT) / + (o.ADAPTATION_UPPER_NODE_LIMIT - + o.ADAPTATION_LOWER_NODE_LIMIT)) * + (1 - o.COOLING_ADAPTATION_FACTOR), + )) + : (this.coolingFactor = 1), + (this.initialCoolingFactor = this.coolingFactor), + (this.maxNodeDisplacement = o.MAX_NODE_DISPLACEMENT)), + (this.maxIterations = Math.max( + this.getAllNodes().length * 5, + this.maxIterations, + )), + (this.totalDisplacementThreshold = + this.displacementThresholdPerNode * this.getAllNodes().length), + (this.repulsionRange = this.calcRepulsionRange()) + }), + (d.prototype.calcSpringForces = function () { + for (var p = this.getAllEdges(), g, m = 0; m < p.length; m++) + (g = p[m]), this.calcSpringForce(g, g.idealLength) + }), + (d.prototype.calcRepulsionForces = function () { + var p = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, + m, + v, + y, + b, + w = this.getAllNodes(), + T + if (this.useFRGridVariant) + for ( + this.totalIterations % o.GRID_CALCULATION_CHECK_PERIOD == 1 && + p && + this.updateGrid(), + T = new Set(), + m = 0; + m < w.length; + m++ + ) + (y = w[m]), this.calculateRepulsionForceOfANode(y, T, p, g), T.add(y) + else + for (m = 0; m < w.length; m++) + for (y = w[m], v = m + 1; v < w.length; v++) + (b = w[v]), + y.getOwner() == b.getOwner() && this.calcRepulsionForce(y, b) + }), + (d.prototype.calcGravitationalForces = function () { + for (var p, g = this.getAllNodesToApplyGravitation(), m = 0; m < g.length; m++) + (p = g[m]), this.calcGravitationalForce(p) + }), + (d.prototype.moveNodes = function () { + for (var p = this.getAllNodes(), g, m = 0; m < p.length; m++) (g = p[m]), g.move() + }), + (d.prototype.calcSpringForce = function (p, g) { + var m = p.getSource(), + v = p.getTarget(), + y, + b, + w, + T + if (this.uniformLeafNodeSizes && m.getChild() == null && v.getChild() == null) + p.updateLengthSimple() + else if ((p.updateLength(), p.isOverlapingSourceAndTarget)) return + ;(y = p.getLength()), + y != 0 && + ((b = this.springConstant * (y - g)), + (w = b * (p.lengthX / y)), + (T = b * (p.lengthY / y)), + (m.springForceX += w), + (m.springForceY += T), + (v.springForceX -= w), + (v.springForceY -= T)) + }), + (d.prototype.calcRepulsionForce = function (p, g) { + var m = p.getRect(), + v = g.getRect(), + y = new Array(2), + b = new Array(4), + w, + T, + E, + S, + k, + L, + A + if (m.intersects(v)) { + u.calcSeparationAmount(m, v, y, o.DEFAULT_EDGE_LENGTH / 2), + (L = 2 * y[0]), + (A = 2 * y[1]) + var R = (p.noOfChildren * g.noOfChildren) / (p.noOfChildren + g.noOfChildren) + ;(p.repulsionForceX -= R * L), + (p.repulsionForceY -= R * A), + (g.repulsionForceX += R * L), + (g.repulsionForceY += R * A) + } else + this.uniformLeafNodeSizes && p.getChild() == null && g.getChild() == null + ? ((w = v.getCenterX() - m.getCenterX()), + (T = v.getCenterY() - m.getCenterY())) + : (u.getIntersection(m, v, b), (w = b[2] - b[0]), (T = b[3] - b[1])), + Math.abs(w) < o.MIN_REPULSION_DIST && + (w = h.sign(w) * o.MIN_REPULSION_DIST), + Math.abs(T) < o.MIN_REPULSION_DIST && + (T = h.sign(T) * o.MIN_REPULSION_DIST), + (E = w * w + T * T), + (S = Math.sqrt(E)), + (k = (this.repulsionConstant * p.noOfChildren * g.noOfChildren) / E), + (L = (k * w) / S), + (A = (k * T) / S), + (p.repulsionForceX -= L), + (p.repulsionForceY -= A), + (g.repulsionForceX += L), + (g.repulsionForceY += A) + }), + (d.prototype.calcGravitationalForce = function (p) { + var g, m, v, y, b, w, T, E + ;(g = p.getOwner()), + (m = (g.getRight() + g.getLeft()) / 2), + (v = (g.getTop() + g.getBottom()) / 2), + (y = p.getCenterX() - m), + (b = p.getCenterY() - v), + (w = Math.abs(y) + p.getWidth() / 2), + (T = Math.abs(b) + p.getHeight() / 2), + p.getOwner() == this.graphManager.getRoot() + ? ((E = g.getEstimatedSize() * this.gravityRangeFactor), + (w > E || T > E) && + ((p.gravitationForceX = -this.gravityConstant * y), + (p.gravitationForceY = -this.gravityConstant * b))) + : ((E = g.getEstimatedSize() * this.compoundGravityRangeFactor), + (w > E || T > E) && + ((p.gravitationForceX = + -this.gravityConstant * y * this.compoundGravityConstant), + (p.gravitationForceY = + -this.gravityConstant * b * this.compoundGravityConstant))) + }), + (d.prototype.isConverged = function () { + var p, + g = !1 + return ( + this.totalIterations > this.maxIterations / 3 && + (g = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), + (p = this.totalDisplacement < this.totalDisplacementThreshold), + (this.oldTotalDisplacement = this.totalDisplacement), + p || g + ) + }), + (d.prototype.animate = function () { + this.animationDuringLayout && + !this.isSubLayout && + (this.notAnimatedIterations == this.animationPeriod + ? (this.update(), (this.notAnimatedIterations = 0)) + : this.notAnimatedIterations++) + }), + (d.prototype.calcNoOfChildrenForAllNodes = function () { + for (var p, g = this.graphManager.getAllNodes(), m = 0; m < g.length; m++) + (p = g[m]), (p.noOfChildren = p.getNoOfChildren()) + }), + (d.prototype.calcGrid = function (p) { + var g = 0, + m = 0 + ;(g = parseInt(Math.ceil((p.getRight() - p.getLeft()) / this.repulsionRange))), + (m = parseInt(Math.ceil((p.getBottom() - p.getTop()) / this.repulsionRange))) + for (var v = new Array(g), y = 0; y < g; y++) v[y] = new Array(m) + for (var y = 0; y < g; y++) for (var b = 0; b < m; b++) v[y][b] = new Array() + return v + }), + (d.prototype.addNodeToGrid = function (p, g, m) { + var v = 0, + y = 0, + b = 0, + w = 0 + ;(v = parseInt(Math.floor((p.getRect().x - g) / this.repulsionRange))), + (y = parseInt( + Math.floor((p.getRect().width + p.getRect().x - g) / this.repulsionRange), + )), + (b = parseInt(Math.floor((p.getRect().y - m) / this.repulsionRange))), + (w = parseInt( + Math.floor((p.getRect().height + p.getRect().y - m) / this.repulsionRange), + )) + for (var T = v; T <= y; T++) + for (var E = b; E <= w; E++) + this.grid[T][E].push(p), p.setGridCoordinates(v, y, b, w) + }), + (d.prototype.updateGrid = function () { + var p, + g, + m = this.getAllNodes() + for ( + this.grid = this.calcGrid(this.graphManager.getRoot()), p = 0; + p < m.length; + p++ + ) + (g = m[p]), + this.addNodeToGrid( + g, + this.graphManager.getRoot().getLeft(), + this.graphManager.getRoot().getTop(), + ) + }), + (d.prototype.calculateRepulsionForceOfANode = function (p, g, m, v) { + if ((this.totalIterations % o.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || v) { + var y = new Set() + p.surrounding = new Array() + for (var b, w = this.grid, T = p.startX - 1; T < p.finishX + 2; T++) + for (var E = p.startY - 1; E < p.finishY + 2; E++) + if (!(T < 0 || E < 0 || T >= w.length || E >= w[0].length)) { + for (var S = 0; S < w[T][E].length; S++) + if ( + ((b = w[T][E][S]), + !(p.getOwner() != b.getOwner() || p == b) && + !g.has(b) && + !y.has(b)) + ) { + var k = + Math.abs(p.getCenterX() - b.getCenterX()) - + (p.getWidth() / 2 + b.getWidth() / 2), + L = + Math.abs(p.getCenterY() - b.getCenterY()) - + (p.getHeight() / 2 + b.getHeight() / 2) + k <= this.repulsionRange && + L <= this.repulsionRange && + y.add(b) + } + } + p.surrounding = [].concat(a(y)) + } + for (T = 0; T < p.surrounding.length; T++) + this.calcRepulsionForce(p, p.surrounding[T]) + }), + (d.prototype.calcRepulsionRange = function () { + return 0 + }), + (r.exports = d) + }, + function (r, n, i) { + var a = i(1), + s = i(7) + function o(u, h, d) { + a.call(this, u, h, d), (this.idealLength = s.DEFAULT_EDGE_LENGTH) + } + o.prototype = Object.create(a.prototype) + for (var l in a) o[l] = a[l] + r.exports = o + }, + function (r, n, i) { + var a = i(3) + function s(l, u, h, d) { + a.call(this, l, u, h, d), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0), + (this.startX = 0), + (this.finishX = 0), + (this.startY = 0), + (this.finishY = 0), + (this.surrounding = []) + } + s.prototype = Object.create(a.prototype) + for (var o in a) s[o] = a[o] + ;(s.prototype.setGridCoordinates = function (l, u, h, d) { + ;(this.startX = l), (this.finishX = u), (this.startY = h), (this.finishY = d) + }), + (r.exports = s) + }, + function (r, n, i) { + function a(s, o) { + ;(this.width = 0), + (this.height = 0), + s !== null && o !== null && ((this.height = o), (this.width = s)) + } + ;(a.prototype.getWidth = function () { + return this.width + }), + (a.prototype.setWidth = function (s) { + this.width = s + }), + (a.prototype.getHeight = function () { + return this.height + }), + (a.prototype.setHeight = function (s) { + this.height = s + }), + (r.exports = a) + }, + function (r, n, i) { + var a = i(14) + function s() { + ;(this.map = {}), (this.keys = []) + } + ;(s.prototype.put = function (o, l) { + var u = a.createID(o) + this.contains(u) || ((this.map[u] = l), this.keys.push(o)) + }), + (s.prototype.contains = function (o) { + return a.createID(o), this.map[o] != null + }), + (s.prototype.get = function (o) { + var l = a.createID(o) + return this.map[l] + }), + (s.prototype.keySet = function () { + return this.keys + }), + (r.exports = s) + }, + function (r, n, i) { + var a = i(14) + function s() { + this.set = {} + } + ;(s.prototype.add = function (o) { + var l = a.createID(o) + this.contains(l) || (this.set[l] = o) + }), + (s.prototype.remove = function (o) { + delete this.set[a.createID(o)] + }), + (s.prototype.clear = function () { + this.set = {} + }), + (s.prototype.contains = function (o) { + return this.set[a.createID(o)] == o + }), + (s.prototype.isEmpty = function () { + return this.size() === 0 + }), + (s.prototype.size = function () { + return Object.keys(this.set).length + }), + (s.prototype.addAllTo = function (o) { + for (var l = Object.keys(this.set), u = l.length, h = 0; h < u; h++) + o.push(this.set[l[h]]) + }), + (s.prototype.size = function () { + return Object.keys(this.set).length + }), + (s.prototype.addAll = function (o) { + for (var l = o.length, u = 0; u < l; u++) { + var h = o[u] + this.add(h) + } + }), + (r.exports = s) + }, + function (r, n, i) { + var a = (function () { + function u(h, d) { + for (var f = 0; f < d.length; f++) { + var p = d[f] + ;(p.enumerable = p.enumerable || !1), + (p.configurable = !0), + "value" in p && (p.writable = !0), + Object.defineProperty(h, p.key, p) + } + } + return function (h, d, f) { + return d && u(h.prototype, d), f && u(h, f), h + } + })() + function s(u, h) { + if (!(u instanceof h)) throw new TypeError("Cannot call a class as a function") + } + var o = i(11), + l = (function () { + function u(h, d) { + s(this, u), + (d !== null || d !== void 0) && + (this.compareFunction = this._defaultCompareFunction) + var f = void 0 + h instanceof o ? (f = h.size()) : (f = h.length), this._quicksort(h, 0, f - 1) + } + return ( + a(u, [ + { + key: "_quicksort", + value: function (d, f, p) { + if (f < p) { + var g = this._partition(d, f, p) + this._quicksort(d, f, g), this._quicksort(d, g + 1, p) + } + }, + }, + { + key: "_partition", + value: function (d, f, p) { + for (var g = this._get(d, f), m = f, v = p; ; ) { + for (; this.compareFunction(g, this._get(d, v)); ) v-- + for (; this.compareFunction(this._get(d, m), g); ) m++ + if (m < v) this._swap(d, m, v), m++, v-- + else return v + } + }, + }, + { + key: "_get", + value: function (d, f) { + return d instanceof o ? d.get_object_at(f) : d[f] + }, + }, + { + key: "_set", + value: function (d, f, p) { + d instanceof o ? d.set_object_at(f, p) : (d[f] = p) + }, + }, + { + key: "_swap", + value: function (d, f, p) { + var g = this._get(d, f) + this._set(d, f, this._get(d, p)), this._set(d, p, g) + }, + }, + { + key: "_defaultCompareFunction", + value: function (d, f) { + return f > d + }, + }, + ]), + u + ) + })() + r.exports = l + }, + function (r, n, i) { + var a = (function () { + function l(u, h) { + for (var d = 0; d < h.length; d++) { + var f = h[d] + ;(f.enumerable = f.enumerable || !1), + (f.configurable = !0), + "value" in f && (f.writable = !0), + Object.defineProperty(u, f.key, f) + } + } + return function (u, h, d) { + return h && l(u.prototype, h), d && l(u, d), u + } + })() + function s(l, u) { + if (!(l instanceof u)) throw new TypeError("Cannot call a class as a function") + } + var o = (function () { + function l(u, h) { + var d = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, + f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, + p = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1 + s(this, l), + (this.sequence1 = u), + (this.sequence2 = h), + (this.match_score = d), + (this.mismatch_penalty = f), + (this.gap_penalty = p), + (this.iMax = u.length + 1), + (this.jMax = h.length + 1), + (this.grid = new Array(this.iMax)) + for (var g = 0; g < this.iMax; g++) { + this.grid[g] = new Array(this.jMax) + for (var m = 0; m < this.jMax; m++) this.grid[g][m] = 0 + } + this.tracebackGrid = new Array(this.iMax) + for (var v = 0; v < this.iMax; v++) { + this.tracebackGrid[v] = new Array(this.jMax) + for (var y = 0; y < this.jMax; y++) + this.tracebackGrid[v][y] = [null, null, null] + } + ;(this.alignments = []), (this.score = -1), this.computeGrids() + } + return ( + a(l, [ + { + key: "getScore", + value: function () { + return this.score + }, + }, + { + key: "getAlignments", + value: function () { + return this.alignments + }, + }, + { + key: "computeGrids", + value: function () { + for (var h = 1; h < this.jMax; h++) + (this.grid[0][h] = this.grid[0][h - 1] + this.gap_penalty), + (this.tracebackGrid[0][h] = [!1, !1, !0]) + for (var d = 1; d < this.iMax; d++) + (this.grid[d][0] = this.grid[d - 1][0] + this.gap_penalty), + (this.tracebackGrid[d][0] = [!1, !0, !1]) + for (var f = 1; f < this.iMax; f++) + for (var p = 1; p < this.jMax; p++) { + var g = void 0 + this.sequence1[f - 1] === this.sequence2[p - 1] + ? (g = this.grid[f - 1][p - 1] + this.match_score) + : (g = this.grid[f - 1][p - 1] + this.mismatch_penalty) + var m = this.grid[f - 1][p] + this.gap_penalty, + v = this.grid[f][p - 1] + this.gap_penalty, + y = [g, m, v], + b = this.arrayAllMaxIndexes(y) + ;(this.grid[f][p] = y[b[0]]), + (this.tracebackGrid[f][p] = [ + b.includes(0), + b.includes(1), + b.includes(2), + ]) + } + this.score = this.grid[this.iMax - 1][this.jMax - 1] + }, + }, + { + key: "alignmentTraceback", + value: function () { + var h = [] + for ( + h.push({ + pos: [this.sequence1.length, this.sequence2.length], + seq1: "", + seq2: "", + }); + h[0]; + + ) { + var d = h[0], + f = this.tracebackGrid[d.pos[0]][d.pos[1]] + f[0] && + h.push({ + pos: [d.pos[0] - 1, d.pos[1] - 1], + seq1: this.sequence1[d.pos[0] - 1] + d.seq1, + seq2: this.sequence2[d.pos[1] - 1] + d.seq2, + }), + f[1] && + h.push({ + pos: [d.pos[0] - 1, d.pos[1]], + seq1: this.sequence1[d.pos[0] - 1] + d.seq1, + seq2: "-" + d.seq2, + }), + f[2] && + h.push({ + pos: [d.pos[0], d.pos[1] - 1], + seq1: "-" + d.seq1, + seq2: this.sequence2[d.pos[1] - 1] + d.seq2, + }), + d.pos[0] === 0 && + d.pos[1] === 0 && + this.alignments.push({ + sequence1: d.seq1, + sequence2: d.seq2, + }), + h.shift() + } + return this.alignments + }, + }, + { + key: "getAllIndexes", + value: function (h, d) { + for (var f = [], p = -1; (p = h.indexOf(d, p + 1)) !== -1; ) f.push(p) + return f + }, + }, + { + key: "arrayAllMaxIndexes", + value: function (h) { + return this.getAllIndexes(h, Math.max.apply(null, h)) + }, + }, + ]), + l + ) + })() + r.exports = o + }, + function (r, n, i) { + var a = function () {} + ;(a.FDLayout = i(18)), + (a.FDLayoutConstants = i(7)), + (a.FDLayoutEdge = i(19)), + (a.FDLayoutNode = i(20)), + (a.DimensionD = i(21)), + (a.HashMap = i(22)), + (a.HashSet = i(23)), + (a.IGeometry = i(8)), + (a.IMath = i(9)), + (a.Integer = i(10)), + (a.Point = i(12)), + (a.PointD = i(4)), + (a.RandomSeed = i(16)), + (a.RectangleD = i(13)), + (a.Transform = i(17)), + (a.UniqueIDGeneretor = i(14)), + (a.Quicksort = i(24)), + (a.LinkedList = i(11)), + (a.LGraphObject = i(2)), + (a.LGraph = i(5)), + (a.LEdge = i(1)), + (a.LGraphManager = i(6)), + (a.LNode = i(3)), + (a.Layout = i(15)), + (a.LayoutConstants = i(0)), + (a.NeedlemanWunsch = i(25)), + (r.exports = a) + }, + function (r, n, i) { + function a() { + this.listeners = [] + } + var s = a.prototype + ;(s.addListener = function (o, l) { + this.listeners.push({ event: o, callback: l }) + }), + (s.removeListener = function (o, l) { + for (var u = this.listeners.length; u >= 0; u--) { + var h = this.listeners[u] + h.event === o && h.callback === l && this.listeners.splice(u, 1) + } + }), + (s.emit = function (o, l) { + for (var u = 0; u < this.listeners.length; u++) { + var h = this.listeners[u] + o === h.event && h.callback(l) + } + }), + (r.exports = a) + }, + ]) + }) + })(uv)), + uv.exports + ) +} +var wAe = cv.exports, + uN +function TAe() { + return ( + uN || + ((uN = 1), + (function (t, e) { + ;(function (n, i) { + t.exports = i(bAe()) + })(wAe, function (r) { + return (function (n) { + var i = {} + function a(s) { + if (i[s]) return i[s].exports + var o = (i[s] = { i: s, l: !1, exports: {} }) + return n[s].call(o.exports, o, o.exports, a), (o.l = !0), o.exports + } + return ( + (a.m = n), + (a.c = i), + (a.i = function (s) { + return s + }), + (a.d = function (s, o, l) { + a.o(s, o) || Object.defineProperty(s, o, { configurable: !1, enumerable: !0, get: l }) + }), + (a.n = function (s) { + var o = + s && s.__esModule + ? function () { + return s.default + } + : function () { + return s + } + return a.d(o, "a", o), o + }), + (a.o = function (s, o) { + return Object.prototype.hasOwnProperty.call(s, o) + }), + (a.p = ""), + a((a.s = 7)) + ) + })([ + function (n, i) { + n.exports = r + }, + function (n, i, a) { + var s = a(0).FDLayoutConstants + function o() {} + for (var l in s) o[l] = s[l] + ;(o.DEFAULT_USE_MULTI_LEVEL_SCALING = !1), + (o.DEFAULT_RADIAL_SEPARATION = s.DEFAULT_EDGE_LENGTH), + (o.DEFAULT_COMPONENT_SEPERATION = 60), + (o.TILE = !0), + (o.TILING_PADDING_VERTICAL = 10), + (o.TILING_PADDING_HORIZONTAL = 10), + (o.TREE_REDUCTION_ON_INCREMENTAL = !1), + (n.exports = o) + }, + function (n, i, a) { + var s = a(0).FDLayoutEdge + function o(u, h, d) { + s.call(this, u, h, d) + } + o.prototype = Object.create(s.prototype) + for (var l in s) o[l] = s[l] + n.exports = o + }, + function (n, i, a) { + var s = a(0).LGraph + function o(u, h, d) { + s.call(this, u, h, d) + } + o.prototype = Object.create(s.prototype) + for (var l in s) o[l] = s[l] + n.exports = o + }, + function (n, i, a) { + var s = a(0).LGraphManager + function o(u) { + s.call(this, u) + } + o.prototype = Object.create(s.prototype) + for (var l in s) o[l] = s[l] + n.exports = o + }, + function (n, i, a) { + var s = a(0).FDLayoutNode, + o = a(0).IMath + function l(h, d, f, p) { + s.call(this, h, d, f, p) + } + l.prototype = Object.create(s.prototype) + for (var u in s) l[u] = s[u] + ;(l.prototype.move = function () { + var h = this.graphManager.getLayout() + ;(this.displacementX = + (h.coolingFactor * + (this.springForceX + this.repulsionForceX + this.gravitationForceX)) / + this.noOfChildren), + (this.displacementY = + (h.coolingFactor * + (this.springForceY + this.repulsionForceY + this.gravitationForceY)) / + this.noOfChildren), + Math.abs(this.displacementX) > h.coolingFactor * h.maxNodeDisplacement && + (this.displacementX = + h.coolingFactor * h.maxNodeDisplacement * o.sign(this.displacementX)), + Math.abs(this.displacementY) > h.coolingFactor * h.maxNodeDisplacement && + (this.displacementY = + h.coolingFactor * h.maxNodeDisplacement * o.sign(this.displacementY)), + this.child == null + ? this.moveBy(this.displacementX, this.displacementY) + : this.child.getNodes().length == 0 + ? this.moveBy(this.displacementX, this.displacementY) + : this.propogateDisplacementToChildren( + this.displacementX, + this.displacementY, + ), + (h.totalDisplacement += + Math.abs(this.displacementX) + Math.abs(this.displacementY)), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0) + }), + (l.prototype.propogateDisplacementToChildren = function (h, d) { + for (var f = this.getChild().getNodes(), p, g = 0; g < f.length; g++) + (p = f[g]), + p.getChild() == null + ? (p.moveBy(h, d), (p.displacementX += h), (p.displacementY += d)) + : p.propogateDisplacementToChildren(h, d) + }), + (l.prototype.setPred1 = function (h) { + this.pred1 = h + }), + (l.prototype.getPred1 = function () { + return pred1 + }), + (l.prototype.getPred2 = function () { + return pred2 + }), + (l.prototype.setNext = function (h) { + this.next = h + }), + (l.prototype.getNext = function () { + return next + }), + (l.prototype.setProcessed = function (h) { + this.processed = h + }), + (l.prototype.isProcessed = function () { + return processed + }), + (n.exports = l) + }, + function (n, i, a) { + var s = a(0).FDLayout, + o = a(4), + l = a(3), + u = a(5), + h = a(2), + d = a(1), + f = a(0).FDLayoutConstants, + p = a(0).LayoutConstants, + g = a(0).Point, + m = a(0).PointD, + v = a(0).Layout, + y = a(0).Integer, + b = a(0).IGeometry, + w = a(0).LGraph, + T = a(0).Transform + function E() { + s.call(this), (this.toBeTiled = {}) + } + E.prototype = Object.create(s.prototype) + for (var S in s) E[S] = s[S] + ;(E.prototype.newGraphManager = function () { + var k = new o(this) + return (this.graphManager = k), k + }), + (E.prototype.newGraph = function (k) { + return new l(null, this.graphManager, k) + }), + (E.prototype.newNode = function (k) { + return new u(this.graphManager, k) + }), + (E.prototype.newEdge = function (k) { + return new h(null, null, k) + }), + (E.prototype.initParameters = function () { + s.prototype.initParameters.call(this, arguments), + this.isSubLayout || + (d.DEFAULT_EDGE_LENGTH < 10 + ? (this.idealEdgeLength = 10) + : (this.idealEdgeLength = d.DEFAULT_EDGE_LENGTH), + (this.useSmartIdealEdgeLengthCalculation = + d.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.springConstant = f.DEFAULT_SPRING_STRENGTH), + (this.repulsionConstant = f.DEFAULT_REPULSION_STRENGTH), + (this.gravityConstant = f.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = f.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = f.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.prunedNodesAll = []), + (this.growTreeIterations = 0), + (this.afterGrowthIterations = 0), + (this.isTreeGrowing = !1), + (this.isGrowthFinished = !1), + (this.coolingCycle = 0), + (this.maxCoolingCycle = this.maxIterations / f.CONVERGENCE_CHECK_PERIOD), + (this.finalTemperature = f.CONVERGENCE_CHECK_PERIOD / this.maxIterations), + (this.coolingAdjuster = 1)) + }), + (E.prototype.layout = function () { + var k = p.DEFAULT_CREATE_BENDS_AS_NEEDED + return ( + k && (this.createBendpoints(), this.graphManager.resetAllEdges()), + (this.level = 0), + this.classicLayout() + ) + }), + (E.prototype.classicLayout = function () { + if ( + ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()), + this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), + this.calcNoOfChildrenForAllNodes(), + this.graphManager.calcLowestCommonAncestors(), + this.graphManager.calcInclusionTreeDepths(), + this.graphManager.getRoot().calcEstimatedSize(), + this.calcIdealEdgeLengths(), + this.incremental) + ) { + if (d.TREE_REDUCTION_ON_INCREMENTAL) { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation() + var L = new Set(this.getAllNodes()), + A = this.nodesWithGravity.filter(function (I) { + return L.has(I) + }) + this.graphManager.setAllNodesToApplyGravitation(A) + } + } else { + var k = this.getFlatForest() + if (k.length > 0) this.positionNodesRadially(k) + else { + this.reduceTrees(), this.graphManager.resetAllNodesToApplyGravitation() + var L = new Set(this.getAllNodes()), + A = this.nodesWithGravity.filter(function (R) { + return L.has(R) + }) + this.graphManager.setAllNodesToApplyGravitation(A), + this.positionNodesRandomly() + } + } + return this.initSpringEmbedder(), this.runSpringEmbedder(), !0 + }), + (E.prototype.tick = function () { + if ( + (this.totalIterations++, + this.totalIterations === this.maxIterations && + !this.isTreeGrowing && + !this.isGrowthFinished) + ) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0 + else return !0 + if ( + this.totalIterations % f.CONVERGENCE_CHECK_PERIOD == 0 && + !this.isTreeGrowing && + !this.isGrowthFinished + ) { + if (this.isConverged()) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0 + else return !0 + this.coolingCycle++, + this.layoutQuality == 0 + ? (this.coolingAdjuster = this.coolingCycle) + : this.layoutQuality == 1 && + (this.coolingAdjuster = this.coolingCycle / 3), + (this.coolingFactor = Math.max( + this.initialCoolingFactor - + (Math.pow( + this.coolingCycle, + Math.log( + 100 * (this.initialCoolingFactor - this.finalTemperature), + ) / Math.log(this.maxCoolingCycle), + ) / + 100) * + this.coolingAdjuster, + this.finalTemperature, + )), + (this.animationPeriod = Math.ceil( + this.initialAnimationPeriod * Math.sqrt(this.coolingFactor), + )) + } + if (this.isTreeGrowing) { + if (this.growTreeIterations % 10 == 0) + if (this.prunedNodesAll.length > 0) { + this.graphManager.updateBounds(), + this.updateGrid(), + this.growTree(this.prunedNodesAll), + this.graphManager.resetAllNodesToApplyGravitation() + var k = new Set(this.getAllNodes()), + L = this.nodesWithGravity.filter(function (C) { + return k.has(C) + }) + this.graphManager.setAllNodesToApplyGravitation(L), + this.graphManager.updateBounds(), + this.updateGrid(), + (this.coolingFactor = f.DEFAULT_COOLING_FACTOR_INCREMENTAL) + } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0) + this.growTreeIterations++ + } + if (this.isGrowthFinished) { + if (this.isConverged()) return !0 + this.afterGrowthIterations % 10 == 0 && + (this.graphManager.updateBounds(), this.updateGrid()), + (this.coolingFactor = + f.DEFAULT_COOLING_FACTOR_INCREMENTAL * + ((100 - this.afterGrowthIterations) / 100)), + this.afterGrowthIterations++ + } + var A = !this.isTreeGrowing && !this.isGrowthFinished, + R = + (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) || + (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished) + return ( + (this.totalDisplacement = 0), + this.graphManager.updateBounds(), + this.calcSpringForces(), + this.calcRepulsionForces(A, R), + this.calcGravitationalForces(), + this.moveNodes(), + this.animate(), + !1 + ) + }), + (E.prototype.getPositionsData = function () { + for (var k = this.graphManager.getAllNodes(), L = {}, A = 0; A < k.length; A++) { + var R = k[A].rect, + C = k[A].id + L[C] = { id: C, x: R.getCenterX(), y: R.getCenterY(), w: R.width, h: R.height } + } + return L + }), + (E.prototype.runSpringEmbedder = function () { + ;(this.initialAnimationPeriod = 25), + (this.animationPeriod = this.initialAnimationPeriod) + var k = !1 + if (f.ANIMATE === "during") this.emit("layoutstarted") + else { + for (; !k; ) k = this.tick() + this.graphManager.updateBounds() + } + }), + (E.prototype.calculateNodesToApplyGravitationTo = function () { + var k = [], + L, + A = this.graphManager.getGraphs(), + R = A.length, + C + for (C = 0; C < R; C++) + (L = A[C]), L.updateConnected(), L.isConnected || (k = k.concat(L.getNodes())) + return k + }), + (E.prototype.createBendpoints = function () { + var k = [] + k = k.concat(this.graphManager.getAllEdges()) + var L = new Set(), + A + for (A = 0; A < k.length; A++) { + var R = k[A] + if (!L.has(R)) { + var C = R.getSource(), + I = R.getTarget() + if (C == I) + R.getBendpoints().push(new m()), + R.getBendpoints().push(new m()), + this.createDummyNodesForBendpoints(R), + L.add(R) + else { + var P = [] + if ( + ((P = P.concat(C.getEdgeListToNode(I))), + (P = P.concat(I.getEdgeListToNode(C))), + !L.has(P[0])) + ) { + if (P.length > 1) { + var _ + for (_ = 0; _ < P.length; _++) { + var N = P[_] + N.getBendpoints().push(new m()), + this.createDummyNodesForBendpoints(N) + } + } + P.forEach(function (M) { + L.add(M) + }) + } + } + } + if (L.size == k.length) break + } + }), + (E.prototype.positionNodesRadially = function (k) { + for ( + var L = new g(0, 0), + A = Math.ceil(Math.sqrt(k.length)), + R = 0, + C = 0, + I = 0, + P = new m(0, 0), + _ = 0; + _ < k.length; + _++ + ) { + _ % A == 0 && + ((I = 0), (C = R), _ != 0 && (C += d.DEFAULT_COMPONENT_SEPERATION), (R = 0)) + var N = k[_], + M = v.findCenterOfTree(N) + ;(L.x = I), + (L.y = C), + (P = E.radialLayout(N, M, L)), + P.y > R && (R = Math.floor(P.y)), + (I = Math.floor(P.x + d.DEFAULT_COMPONENT_SEPERATION)) + } + this.transform(new m(p.WORLD_CENTER_X - P.x / 2, p.WORLD_CENTER_Y - P.y / 2)) + }), + (E.radialLayout = function (k, L, A) { + var R = Math.max(this.maxDiagonalInTree(k), d.DEFAULT_RADIAL_SEPARATION) + E.branchRadialLayout(L, null, 0, 359, 0, R) + var C = w.calculateBounds(k), + I = new T() + I.setDeviceOrgX(C.getMinX()), + I.setDeviceOrgY(C.getMinY()), + I.setWorldOrgX(A.x), + I.setWorldOrgY(A.y) + for (var P = 0; P < k.length; P++) { + var _ = k[P] + _.transform(I) + } + var N = new m(C.getMaxX(), C.getMaxY()) + return I.inverseTransformPoint(N) + }), + (E.branchRadialLayout = function (k, L, A, R, C, I) { + var P = (R - A + 1) / 2 + P < 0 && (P += 180) + var _ = (P + A) % 360, + N = (_ * b.TWO_PI) / 360, + M = C * Math.cos(N), + O = C * Math.sin(N) + k.setCenter(M, O) + var D = [] + D = D.concat(k.getEdges()) + var B = D.length + L != null && B-- + for (var z = 0, F = D.length, G, q = k.getEdgesBetween(L); q.length > 1; ) { + var Y = q[0] + q.splice(0, 1) + var ee = D.indexOf(Y) + ee >= 0 && D.splice(ee, 1), F--, B-- + } + L != null ? (G = (D.indexOf(q[0]) + 1) % F) : (G = 0) + for (var Q = Math.abs(R - A) / B, oe = G; z != B; oe = ++oe % F) { + var pe = D[oe].getOtherEnd(k) + if (pe != L) { + var j = (A + z * Q) % 360, + H = (j + Q) % 360 + E.branchRadialLayout(pe, k, j, H, C + I, I), z++ + } + } + }), + (E.maxDiagonalInTree = function (k) { + for (var L = y.MIN_VALUE, A = 0; A < k.length; A++) { + var R = k[A], + C = R.getDiagonal() + C > L && (L = C) + } + return L + }), + (E.prototype.calcRepulsionRange = function () { + return 2 * (this.level + 1) * this.idealEdgeLength + }), + (E.prototype.groupZeroDegreeMembers = function () { + var k = this, + L = {} + ;(this.memberGroups = {}), (this.idToDummyNode = {}) + for (var A = [], R = this.graphManager.getAllNodes(), C = 0; C < R.length; C++) { + var I = R[C], + P = I.getParent() + this.getNodeDegreeWithChildren(I) === 0 && + (P.id == null || !this.getToBeTiled(P)) && + A.push(I) + } + for (var C = 0; C < A.length; C++) { + var I = A[C], + _ = I.getParent().id + typeof L[_] > "u" && (L[_] = []), (L[_] = L[_].concat(I)) + } + Object.keys(L).forEach(function (N) { + if (L[N].length > 1) { + var M = "DummyCompound_" + N + k.memberGroups[M] = L[N] + var O = L[N][0].getParent(), + D = new u(k.graphManager) + ;(D.id = M), + (D.paddingLeft = O.paddingLeft || 0), + (D.paddingRight = O.paddingRight || 0), + (D.paddingBottom = O.paddingBottom || 0), + (D.paddingTop = O.paddingTop || 0), + (k.idToDummyNode[M] = D) + var B = k.getGraphManager().add(k.newGraph(), D), + z = O.getChild() + z.add(D) + for (var F = 0; F < L[N].length; F++) { + var G = L[N][F] + z.remove(G), B.add(G) + } + } + }) + }), + (E.prototype.clearCompounds = function () { + var k = {}, + L = {} + this.performDFSOnCompounds() + for (var A = 0; A < this.compoundOrder.length; A++) + (L[this.compoundOrder[A].id] = this.compoundOrder[A]), + (k[this.compoundOrder[A].id] = [].concat( + this.compoundOrder[A].getChild().getNodes(), + )), + this.graphManager.remove(this.compoundOrder[A].getChild()), + (this.compoundOrder[A].child = null) + this.graphManager.resetAllNodes(), this.tileCompoundMembers(k, L) + }), + (E.prototype.clearZeroDegreeMembers = function () { + var k = this, + L = (this.tiledZeroDegreePack = []) + Object.keys(this.memberGroups).forEach(function (A) { + var R = k.idToDummyNode[A] + ;(L[A] = k.tileNodes(k.memberGroups[A], R.paddingLeft + R.paddingRight)), + (R.rect.width = L[A].width), + (R.rect.height = L[A].height) + }) + }), + (E.prototype.repopulateCompounds = function () { + for (var k = this.compoundOrder.length - 1; k >= 0; k--) { + var L = this.compoundOrder[k], + A = L.id, + R = L.paddingLeft, + C = L.paddingTop + this.adjustLocations(this.tiledMemberPack[A], L.rect.x, L.rect.y, R, C) + } + }), + (E.prototype.repopulateZeroDegreeMembers = function () { + var k = this, + L = this.tiledZeroDegreePack + Object.keys(L).forEach(function (A) { + var R = k.idToDummyNode[A], + C = R.paddingLeft, + I = R.paddingTop + k.adjustLocations(L[A], R.rect.x, R.rect.y, C, I) + }) + }), + (E.prototype.getToBeTiled = function (k) { + var L = k.id + if (this.toBeTiled[L] != null) return this.toBeTiled[L] + var A = k.getChild() + if (A == null) return (this.toBeTiled[L] = !1), !1 + for (var R = A.getNodes(), C = 0; C < R.length; C++) { + var I = R[C] + if (this.getNodeDegree(I) > 0) return (this.toBeTiled[L] = !1), !1 + if (I.getChild() == null) { + this.toBeTiled[I.id] = !1 + continue + } + if (!this.getToBeTiled(I)) return (this.toBeTiled[L] = !1), !1 + } + return (this.toBeTiled[L] = !0), !0 + }), + (E.prototype.getNodeDegree = function (k) { + k.id + for (var L = k.getEdges(), A = 0, R = 0; R < L.length; R++) { + var C = L[R] + C.getSource().id !== C.getTarget().id && (A = A + 1) + } + return A + }), + (E.prototype.getNodeDegreeWithChildren = function (k) { + var L = this.getNodeDegree(k) + if (k.getChild() == null) return L + for (var A = k.getChild().getNodes(), R = 0; R < A.length; R++) { + var C = A[R] + L += this.getNodeDegreeWithChildren(C) + } + return L + }), + (E.prototype.performDFSOnCompounds = function () { + ;(this.compoundOrder = []), + this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()) + }), + (E.prototype.fillCompexOrderByDFS = function (k) { + for (var L = 0; L < k.length; L++) { + var A = k[L] + A.getChild() != null && this.fillCompexOrderByDFS(A.getChild().getNodes()), + this.getToBeTiled(A) && this.compoundOrder.push(A) + } + }), + (E.prototype.adjustLocations = function (k, L, A, R, C) { + ;(L += R), (A += C) + for (var I = L, P = 0; P < k.rows.length; P++) { + var _ = k.rows[P] + L = I + for (var N = 0, M = 0; M < _.length; M++) { + var O = _[M] + ;(O.rect.x = L), + (O.rect.y = A), + (L += O.rect.width + k.horizontalPadding), + O.rect.height > N && (N = O.rect.height) + } + A += N + k.verticalPadding + } + }), + (E.prototype.tileCompoundMembers = function (k, L) { + var A = this + ;(this.tiledMemberPack = []), + Object.keys(k).forEach(function (R) { + var C = L[R] + ;(A.tiledMemberPack[R] = A.tileNodes(k[R], C.paddingLeft + C.paddingRight)), + (C.rect.width = A.tiledMemberPack[R].width), + (C.rect.height = A.tiledMemberPack[R].height) + }) + }), + (E.prototype.tileNodes = function (k, L) { + var A = d.TILING_PADDING_VERTICAL, + R = d.TILING_PADDING_HORIZONTAL, + C = { + rows: [], + rowWidth: [], + rowHeight: [], + width: 0, + height: L, + verticalPadding: A, + horizontalPadding: R, + } + k.sort(function (_, N) { + return _.rect.width * _.rect.height > N.rect.width * N.rect.height + ? -1 + : _.rect.width * _.rect.height < N.rect.width * N.rect.height + ? 1 + : 0 + }) + for (var I = 0; I < k.length; I++) { + var P = k[I] + C.rows.length == 0 + ? this.insertNodeToRow(C, P, 0, L) + : this.canAddHorizontal(C, P.rect.width, P.rect.height) + ? this.insertNodeToRow(C, P, this.getShortestRowIndex(C), L) + : this.insertNodeToRow(C, P, C.rows.length, L), + this.shiftToLastRow(C) + } + return C + }), + (E.prototype.insertNodeToRow = function (k, L, A, R) { + var C = R + if (A == k.rows.length) { + var I = [] + k.rows.push(I), k.rowWidth.push(C), k.rowHeight.push(0) + } + var P = k.rowWidth[A] + L.rect.width + k.rows[A].length > 0 && (P += k.horizontalPadding), + (k.rowWidth[A] = P), + k.width < P && (k.width = P) + var _ = L.rect.height + A > 0 && (_ += k.verticalPadding) + var N = 0 + _ > k.rowHeight[A] && + ((N = k.rowHeight[A]), (k.rowHeight[A] = _), (N = k.rowHeight[A] - N)), + (k.height += N), + k.rows[A].push(L) + }), + (E.prototype.getShortestRowIndex = function (k) { + for (var L = -1, A = Number.MAX_VALUE, R = 0; R < k.rows.length; R++) + k.rowWidth[R] < A && ((L = R), (A = k.rowWidth[R])) + return L + }), + (E.prototype.getLongestRowIndex = function (k) { + for (var L = -1, A = Number.MIN_VALUE, R = 0; R < k.rows.length; R++) + k.rowWidth[R] > A && ((L = R), (A = k.rowWidth[R])) + return L + }), + (E.prototype.canAddHorizontal = function (k, L, A) { + var R = this.getShortestRowIndex(k) + if (R < 0) return !0 + var C = k.rowWidth[R] + if (C + k.horizontalPadding + L <= k.width) return !0 + var I = 0 + k.rowHeight[R] < A && R > 0 && (I = A + k.verticalPadding - k.rowHeight[R]) + var P + k.width - C >= L + k.horizontalPadding + ? (P = (k.height + I) / (C + L + k.horizontalPadding)) + : (P = (k.height + I) / k.width), + (I = A + k.verticalPadding) + var _ + return ( + k.width < L ? (_ = (k.height + I) / L) : (_ = (k.height + I) / k.width), + _ < 1 && (_ = 1 / _), + P < 1 && (P = 1 / P), + P < _ + ) + }), + (E.prototype.shiftToLastRow = function (k) { + var L = this.getLongestRowIndex(k), + A = k.rowWidth.length - 1, + R = k.rows[L], + C = R[R.length - 1], + I = C.width + k.horizontalPadding + if (k.width - k.rowWidth[A] > I && L != A) { + R.splice(-1, 1), + k.rows[A].push(C), + (k.rowWidth[L] = k.rowWidth[L] - I), + (k.rowWidth[A] = k.rowWidth[A] + I), + (k.width = k.rowWidth[instance.getLongestRowIndex(k)]) + for (var P = Number.MIN_VALUE, _ = 0; _ < R.length; _++) + R[_].height > P && (P = R[_].height) + L > 0 && (P += k.verticalPadding) + var N = k.rowHeight[L] + k.rowHeight[A] + ;(k.rowHeight[L] = P), + k.rowHeight[A] < C.height + k.verticalPadding && + (k.rowHeight[A] = C.height + k.verticalPadding) + var M = k.rowHeight[L] + k.rowHeight[A] + ;(k.height += M - N), this.shiftToLastRow(k) + } + }), + (E.prototype.tilingPreLayout = function () { + d.TILE && + (this.groupZeroDegreeMembers(), + this.clearCompounds(), + this.clearZeroDegreeMembers()) + }), + (E.prototype.tilingPostLayout = function () { + d.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()) + }), + (E.prototype.reduceTrees = function () { + for (var k = [], L = !0, A; L; ) { + var R = this.graphManager.getAllNodes(), + C = [] + L = !1 + for (var I = 0; I < R.length; I++) + (A = R[I]), + A.getEdges().length == 1 && + !A.getEdges()[0].isInterGraph && + A.getChild() == null && + (C.push([A, A.getEdges()[0], A.getOwner()]), (L = !0)) + if (L == !0) { + for (var P = [], _ = 0; _ < C.length; _++) + C[_][0].getEdges().length == 1 && + (P.push(C[_]), C[_][0].getOwner().remove(C[_][0])) + k.push(P), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges() + } + } + this.prunedNodesAll = k + }), + (E.prototype.growTree = function (k) { + for (var L = k.length, A = k[L - 1], R, C = 0; C < A.length; C++) + (R = A[C]), + this.findPlaceforPrunedNode(R), + R[2].add(R[0]), + R[2].add(R[1], R[1].source, R[1].target) + k.splice(k.length - 1, 1), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges() + }), + (E.prototype.findPlaceforPrunedNode = function (k) { + var L, + A, + R = k[0] + R == k[1].source ? (A = k[1].target) : (A = k[1].source) + var C = A.startX, + I = A.finishX, + P = A.startY, + _ = A.finishY, + N = 0, + M = 0, + O = 0, + D = 0, + B = [N, O, M, D] + if (P > 0) + for (var z = C; z <= I; z++) + B[0] += this.grid[z][P - 1].length + this.grid[z][P].length - 1 + if (I < this.grid.length - 1) + for (var z = P; z <= _; z++) + B[1] += this.grid[I + 1][z].length + this.grid[I][z].length - 1 + if (_ < this.grid[0].length - 1) + for (var z = C; z <= I; z++) + B[2] += this.grid[z][_ + 1].length + this.grid[z][_].length - 1 + if (C > 0) + for (var z = P; z <= _; z++) + B[3] += this.grid[C - 1][z].length + this.grid[C][z].length - 1 + for (var F = y.MAX_VALUE, G, q, Y = 0; Y < B.length; Y++) + B[Y] < F ? ((F = B[Y]), (G = 1), (q = Y)) : B[Y] == F && G++ + if (G == 3 && F == 0) + B[0] == 0 && B[1] == 0 && B[2] == 0 + ? (L = 1) + : B[0] == 0 && B[1] == 0 && B[3] == 0 + ? (L = 0) + : B[0] == 0 && B[2] == 0 && B[3] == 0 + ? (L = 3) + : B[1] == 0 && B[2] == 0 && B[3] == 0 && (L = 2) + else if (G == 2 && F == 0) { + var ee = Math.floor(Math.random() * 2) + B[0] == 0 && B[1] == 0 + ? ee == 0 + ? (L = 0) + : (L = 1) + : B[0] == 0 && B[2] == 0 + ? ee == 0 + ? (L = 0) + : (L = 2) + : B[0] == 0 && B[3] == 0 + ? ee == 0 + ? (L = 0) + : (L = 3) + : B[1] == 0 && B[2] == 0 + ? ee == 0 + ? (L = 1) + : (L = 2) + : B[1] == 0 && B[3] == 0 + ? ee == 0 + ? (L = 1) + : (L = 3) + : ee == 0 + ? (L = 2) + : (L = 3) + } else if (G == 4 && F == 0) { + var ee = Math.floor(Math.random() * 4) + L = ee + } else L = q + L == 0 + ? R.setCenter( + A.getCenterX(), + A.getCenterY() - + A.getHeight() / 2 - + f.DEFAULT_EDGE_LENGTH - + R.getHeight() / 2, + ) + : L == 1 + ? R.setCenter( + A.getCenterX() + + A.getWidth() / 2 + + f.DEFAULT_EDGE_LENGTH + + R.getWidth() / 2, + A.getCenterY(), + ) + : L == 2 + ? R.setCenter( + A.getCenterX(), + A.getCenterY() + + A.getHeight() / 2 + + f.DEFAULT_EDGE_LENGTH + + R.getHeight() / 2, + ) + : R.setCenter( + A.getCenterX() - + A.getWidth() / 2 - + f.DEFAULT_EDGE_LENGTH - + R.getWidth() / 2, + A.getCenterY(), + ) + }), + (n.exports = E) + }, + function (n, i, a) { + var s = {} + ;(s.layoutBase = a(0)), + (s.CoSEConstants = a(1)), + (s.CoSEEdge = a(2)), + (s.CoSEGraph = a(3)), + (s.CoSEGraphManager = a(4)), + (s.CoSELayout = a(6)), + (s.CoSENode = a(5)), + (n.exports = s) + }, + ]) + }) + })(cv)), + cv.exports + ) +} +var EAe = lv.exports, + hN +function kAe() { + return ( + hN || + ((hN = 1), + (function (t, e) { + ;(function (n, i) { + t.exports = i(TAe()) + })(EAe, function (r) { + return (function (n) { + var i = {} + function a(s) { + if (i[s]) return i[s].exports + var o = (i[s] = { i: s, l: !1, exports: {} }) + return n[s].call(o.exports, o, o.exports, a), (o.l = !0), o.exports + } + return ( + (a.m = n), + (a.c = i), + (a.i = function (s) { + return s + }), + (a.d = function (s, o, l) { + a.o(s, o) || Object.defineProperty(s, o, { configurable: !1, enumerable: !0, get: l }) + }), + (a.n = function (s) { + var o = + s && s.__esModule + ? function () { + return s.default + } + : function () { + return s + } + return a.d(o, "a", o), o + }), + (a.o = function (s, o) { + return Object.prototype.hasOwnProperty.call(s, o) + }), + (a.p = ""), + a((a.s = 1)) + ) + })([ + function (n, i) { + n.exports = r + }, + function (n, i, a) { + var s = a(0).layoutBase.LayoutConstants, + o = a(0).layoutBase.FDLayoutConstants, + l = a(0).CoSEConstants, + u = a(0).CoSELayout, + h = a(0).CoSENode, + d = a(0).layoutBase.PointD, + f = a(0).layoutBase.DimensionD, + p = { + ready: function () {}, + stop: function () {}, + quality: "default", + nodeDimensionsIncludeLabels: !1, + refresh: 30, + fit: !0, + padding: 10, + randomize: !0, + nodeRepulsion: 4500, + idealEdgeLength: 50, + edgeElasticity: 0.45, + nestingFactor: 0.1, + gravity: 0.25, + numIter: 2500, + tile: !0, + animate: "end", + animationDuration: 500, + tilingPaddingVertical: 10, + tilingPaddingHorizontal: 10, + gravityRangeCompound: 1.5, + gravityCompound: 1, + gravityRange: 3.8, + initialEnergyOnIncremental: 0.5, + } + function g(b, w) { + var T = {} + for (var E in b) T[E] = b[E] + for (var E in w) T[E] = w[E] + return T + } + function m(b) { + ;(this.options = g(p, b)), v(this.options) + } + var v = function (w) { + w.nodeRepulsion != null && + (l.DEFAULT_REPULSION_STRENGTH = o.DEFAULT_REPULSION_STRENGTH = w.nodeRepulsion), + w.idealEdgeLength != null && + (l.DEFAULT_EDGE_LENGTH = o.DEFAULT_EDGE_LENGTH = w.idealEdgeLength), + w.edgeElasticity != null && + (l.DEFAULT_SPRING_STRENGTH = o.DEFAULT_SPRING_STRENGTH = w.edgeElasticity), + w.nestingFactor != null && + (l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + w.nestingFactor), + w.gravity != null && + (l.DEFAULT_GRAVITY_STRENGTH = o.DEFAULT_GRAVITY_STRENGTH = w.gravity), + w.numIter != null && (l.MAX_ITERATIONS = o.MAX_ITERATIONS = w.numIter), + w.gravityRange != null && + (l.DEFAULT_GRAVITY_RANGE_FACTOR = o.DEFAULT_GRAVITY_RANGE_FACTOR = + w.gravityRange), + w.gravityCompound != null && + (l.DEFAULT_COMPOUND_GRAVITY_STRENGTH = o.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + w.gravityCompound), + w.gravityRangeCompound != null && + (l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + w.gravityRangeCompound), + w.initialEnergyOnIncremental != null && + (l.DEFAULT_COOLING_FACTOR_INCREMENTAL = o.DEFAULT_COOLING_FACTOR_INCREMENTAL = + w.initialEnergyOnIncremental), + w.quality == "draft" + ? (s.QUALITY = 0) + : w.quality == "proof" + ? (s.QUALITY = 2) + : (s.QUALITY = 1), + (l.NODE_DIMENSIONS_INCLUDE_LABELS = + o.NODE_DIMENSIONS_INCLUDE_LABELS = + s.NODE_DIMENSIONS_INCLUDE_LABELS = + w.nodeDimensionsIncludeLabels), + (l.DEFAULT_INCREMENTAL = + o.DEFAULT_INCREMENTAL = + s.DEFAULT_INCREMENTAL = + !w.randomize), + (l.ANIMATE = o.ANIMATE = s.ANIMATE = w.animate), + (l.TILE = w.tile), + (l.TILING_PADDING_VERTICAL = + typeof w.tilingPaddingVertical == "function" + ? w.tilingPaddingVertical.call() + : w.tilingPaddingVertical), + (l.TILING_PADDING_HORIZONTAL = + typeof w.tilingPaddingHorizontal == "function" + ? w.tilingPaddingHorizontal.call() + : w.tilingPaddingHorizontal) + } + ;(m.prototype.run = function () { + var b, + w, + T = this.options + this.idToLNode = {} + var E = (this.layout = new u()), + S = this + ;(S.stopped = !1), + (this.cy = this.options.cy), + this.cy.trigger({ type: "layoutstart", layout: this }) + var k = E.newGraphManager() + this.gm = k + var L = this.options.eles.nodes(), + A = this.options.eles.edges() + ;(this.root = k.addRoot()), + this.processChildrenList(this.root, this.getTopMostNodes(L), E) + for (var R = 0; R < A.length; R++) { + var C = A[R], + I = this.idToLNode[C.data("source")], + P = this.idToLNode[C.data("target")] + if (I !== P && I.getEdgesBetween(P).length == 0) { + var _ = k.add(E.newEdge(), I, P) + _.id = C.id() + } + } + var N = function (D, B) { + typeof D == "number" && (D = B) + var z = D.data("id"), + F = S.idToLNode[z] + return { x: F.getRect().getCenterX(), y: F.getRect().getCenterY() } + }, + M = function O() { + for ( + var D = function () { + T.fit && T.cy.fit(T.eles, T.padding), + b || + ((b = !0), + S.cy.one("layoutready", T.ready), + S.cy.trigger({ type: "layoutready", layout: S })) + }, + B = S.options.refresh, + z, + F = 0; + F < B && !z; + F++ + ) + z = S.stopped || S.layout.tick() + if (z) { + E.checkLayoutSuccess() && !E.isSubLayout && E.doPostLayout(), + E.tilingPostLayout && E.tilingPostLayout(), + (E.isLayoutFinished = !0), + S.options.eles.nodes().positions(N), + D(), + S.cy.one("layoutstop", S.options.stop), + S.cy.trigger({ type: "layoutstop", layout: S }), + w && cancelAnimationFrame(w), + (b = !1) + return + } + var G = S.layout.getPositionsData() + T.eles.nodes().positions(function (q, Y) { + if ((typeof q == "number" && (q = Y), !q.isParent())) { + for ( + var ee = q.id(), Q = G[ee], oe = q; + Q == null && + ((Q = + G[oe.data("parent")] || + G["DummyCompound_" + oe.data("parent")]), + (G[ee] = Q), + (oe = oe.parent()[0]), + oe != null); + + ); + return Q != null + ? { x: Q.x, y: Q.y } + : { x: q.position("x"), y: q.position("y") } + } + }), + D(), + (w = requestAnimationFrame(O)) + } + return ( + E.addListener("layoutstarted", function () { + S.options.animate === "during" && (w = requestAnimationFrame(M)) + }), + E.runLayout(), + this.options.animate !== "during" && + (S.options.eles.nodes().not(":parent").layoutPositions(S, S.options, N), + (b = !1)), + this + ) + }), + (m.prototype.getTopMostNodes = function (b) { + for (var w = {}, T = 0; T < b.length; T++) w[b[T].id()] = !0 + var E = b.filter(function (S, k) { + typeof S == "number" && (S = k) + for (var L = S.parent()[0]; L != null; ) { + if (w[L.id()]) return !1 + L = L.parent()[0] + } + return !0 + }) + return E + }), + (m.prototype.processChildrenList = function (b, w, T) { + for (var E = w.length, S = 0; S < E; S++) { + var k = w[S], + L = k.children(), + A, + R = k.layoutDimensions({ + nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels, + }) + if ( + (k.outerWidth() != null && k.outerHeight() != null + ? (A = b.add( + new h( + T.graphManager, + new d(k.position("x") - R.w / 2, k.position("y") - R.h / 2), + new f(parseFloat(R.w), parseFloat(R.h)), + ), + )) + : (A = b.add(new h(this.graphManager))), + (A.id = k.data("id")), + (A.paddingLeft = parseInt(k.css("padding"))), + (A.paddingTop = parseInt(k.css("padding"))), + (A.paddingRight = parseInt(k.css("padding"))), + (A.paddingBottom = parseInt(k.css("padding"))), + this.options.nodeDimensionsIncludeLabels && k.isParent()) + ) { + var C = k.boundingBox({ includeLabels: !0, includeNodes: !1 }).w, + I = k.boundingBox({ includeLabels: !0, includeNodes: !1 }).h, + P = k.css("text-halign") + ;(A.labelWidth = C), (A.labelHeight = I), (A.labelPos = P) + } + if ( + ((this.idToLNode[k.data("id")] = A), + isNaN(A.rect.x) && (A.rect.x = 0), + isNaN(A.rect.y) && (A.rect.y = 0), + L != null && L.length > 0) + ) { + var _ + ;(_ = T.getGraphManager().add(T.newGraph(), A)), + this.processChildrenList(_, L, T) + } + } + }), + (m.prototype.stop = function () { + return (this.stopped = !0), this + }) + var y = function (w) { + w("layout", "cose-bilkent", m) + } + typeof cytoscape < "u" && y(cytoscape), (n.exports = y) + }, + ]) + }) + })(lv)), + lv.exports + ) +} +var SAe = kAe() +const CAe = Qd(SAe) +var X6 = (function () { + var t = x(function (T, E, S, k) { + for (S = S || {}, k = T.length; k--; S[T[k]] = E); + return S + }, "o"), + e = [1, 4], + r = [1, 13], + n = [1, 12], + i = [1, 15], + a = [1, 16], + s = [1, 20], + o = [1, 19], + l = [6, 7, 8], + u = [1, 26], + h = [1, 24], + d = [1, 25], + f = [6, 7, 11], + p = [1, 6, 13, 15, 16, 19, 22], + g = [1, 33], + m = [1, 34], + v = [1, 6, 7, 11, 13, 15, 16, 19, 22], + y = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + mindMap: 4, + spaceLines: 5, + SPACELINE: 6, + NL: 7, + MINDMAP: 8, + document: 9, + stop: 10, + EOF: 11, + statement: 12, + SPACELIST: 13, + node: 14, + ICON: 15, + CLASS: 16, + nodeWithId: 17, + nodeWithoutId: 18, + NODE_DSTART: 19, + NODE_DESCR: 20, + NODE_DEND: 21, + NODE_ID: 22, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 6: "SPACELINE", + 7: "NL", + 8: "MINDMAP", + 11: "EOF", + 13: "SPACELIST", + 15: "ICON", + 16: "CLASS", + 19: "NODE_DSTART", + 20: "NODE_DESCR", + 21: "NODE_DEND", + 22: "NODE_ID", + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [5, 1], + [5, 2], + [5, 2], + [4, 2], + [4, 3], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [9, 3], + [9, 2], + [12, 2], + [12, 2], + [12, 2], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [14, 1], + [14, 1], + [18, 3], + [17, 1], + [17, 4], + ], + performAction: x(function (E, S, k, L, A, R, C) { + var I = R.length - 1 + switch (A) { + case 6: + case 7: + return L + case 8: + L.getLogger().trace("Stop NL ") + break + case 9: + L.getLogger().trace("Stop EOF ") + break + case 11: + L.getLogger().trace("Stop NL2 ") + break + case 12: + L.getLogger().trace("Stop EOF2 ") + break + case 15: + L.getLogger().info("Node: ", R[I].id), + L.addNode(R[I - 1].length, R[I].id, R[I].descr, R[I].type) + break + case 16: + L.getLogger().trace("Icon: ", R[I]), L.decorateNode({ icon: R[I] }) + break + case 17: + case 21: + L.decorateNode({ class: R[I] }) + break + case 18: + L.getLogger().trace("SPACELIST") + break + case 19: + L.getLogger().trace("Node: ", R[I].id), L.addNode(0, R[I].id, R[I].descr, R[I].type) + break + case 20: + L.decorateNode({ icon: R[I] }) + break + case 25: + L.getLogger().trace("node found ..", R[I - 2]), + (this.$ = { id: R[I - 1], descr: R[I - 1], type: L.getType(R[I - 2], R[I]) }) + break + case 26: + this.$ = { id: R[I], descr: R[I], type: L.nodeType.DEFAULT } + break + case 27: + L.getLogger().trace("node found ..", R[I - 3]), + (this.$ = { id: R[I - 3], descr: R[I - 1], type: L.getType(R[I - 2], R[I]) }) + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e }, + { 1: [3] }, + { 1: [2, 1] }, + { 4: 6, 6: [1, 7], 7: [1, 8], 8: e }, + { 6: r, 7: [1, 10], 9: 9, 12: 11, 13: n, 14: 14, 15: i, 16: a, 17: 17, 18: 18, 19: s, 22: o }, + t(l, [2, 3]), + { 1: [2, 2] }, + t(l, [2, 4]), + t(l, [2, 5]), + { 1: [2, 6], 6: r, 12: 21, 13: n, 14: 14, 15: i, 16: a, 17: 17, 18: 18, 19: s, 22: o }, + { 6: r, 9: 22, 12: 11, 13: n, 14: 14, 15: i, 16: a, 17: 17, 18: 18, 19: s, 22: o }, + { 6: u, 7: h, 10: 23, 11: d }, + t(f, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: s, 22: o }), + t(f, [2, 18]), + t(f, [2, 19]), + t(f, [2, 20]), + t(f, [2, 21]), + t(f, [2, 23]), + t(f, [2, 24]), + t(f, [2, 26], { 19: [1, 30] }), + { 20: [1, 31] }, + { 6: u, 7: h, 10: 32, 11: d }, + { 1: [2, 7], 6: r, 12: 21, 13: n, 14: 14, 15: i, 16: a, 17: 17, 18: 18, 19: s, 22: o }, + t(p, [2, 14], { 7: g, 11: m }), + t(v, [2, 8]), + t(v, [2, 9]), + t(v, [2, 10]), + t(f, [2, 15]), + t(f, [2, 16]), + t(f, [2, 17]), + { 20: [1, 35] }, + { 21: [1, 36] }, + t(p, [2, 13], { 7: g, 11: m }), + t(v, [2, 11]), + t(v, [2, 12]), + { 21: [1, 37] }, + t(f, [2, 25]), + t(f, [2, 27]), + ], + defaultActions: { 2: [2, 1], 6: [2, 2] }, + parseError: x(function (E, S) { + if (S.recoverable) this.trace(E) + else { + var k = new Error(E) + throw ((k.hash = S), k) + } + }, "parseError"), + parse: x(function (E) { + var S = this, + k = [0], + L = [], + A = [null], + R = [], + C = this.table, + I = "", + P = 0, + _ = 0, + N = 2, + M = 1, + O = R.slice.call(arguments, 1), + D = Object.create(this.lexer), + B = { yy: {} } + for (var z in this.yy) Object.prototype.hasOwnProperty.call(this.yy, z) && (B.yy[z] = this.yy[z]) + D.setInput(E, B.yy), (B.yy.lexer = D), (B.yy.parser = this), typeof D.yylloc > "u" && (D.yylloc = {}) + var F = D.yylloc + R.push(F) + var G = D.options && D.options.ranges + typeof B.yy.parseError == "function" + ? (this.parseError = B.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function q(Z) { + ;(k.length = k.length - 2 * Z), (A.length = A.length - Z), (R.length = R.length - Z) + } + x(q, "popStack") + function Y() { + var Z + return ( + (Z = L.pop() || D.lex() || M), + typeof Z != "number" && + (Z instanceof Array && ((L = Z), (Z = L.pop())), (Z = S.symbols_[Z] || Z)), + Z + ) + } + x(Y, "lex") + for (var ee, Q, oe, pe, j = {}, H, X, W, K; ; ) { + if ( + ((Q = k[k.length - 1]), + this.defaultActions[Q] + ? (oe = this.defaultActions[Q]) + : ((ee === null || typeof ee > "u") && (ee = Y()), (oe = C[Q] && C[Q][ee])), + typeof oe > "u" || !oe.length || !oe[0]) + ) { + var ne = "" + K = [] + for (H in C[Q]) this.terminals_[H] && H > N && K.push("'" + this.terminals_[H] + "'") + D.showPosition + ? (ne = + "Parse error on line " + + (P + 1) + + `: +` + + D.showPosition() + + ` +Expecting ` + + K.join(", ") + + ", got '" + + (this.terminals_[ee] || ee) + + "'") + : (ne = + "Parse error on line " + + (P + 1) + + ": Unexpected " + + (ee == M ? "end of input" : "'" + (this.terminals_[ee] || ee) + "'")), + this.parseError(ne, { + text: D.match, + token: this.terminals_[ee] || ee, + line: D.yylineno, + loc: F, + expected: K, + }) + } + if (oe[0] instanceof Array && oe.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + Q + ", token: " + ee) + switch (oe[0]) { + case 1: + k.push(ee), + A.push(D.yytext), + R.push(D.yylloc), + k.push(oe[1]), + (ee = null), + (_ = D.yyleng), + (I = D.yytext), + (P = D.yylineno), + (F = D.yylloc) + break + case 2: + if ( + ((X = this.productions_[oe[1]][1]), + (j.$ = A[A.length - X]), + (j._$ = { + first_line: R[R.length - (X || 1)].first_line, + last_line: R[R.length - 1].last_line, + first_column: R[R.length - (X || 1)].first_column, + last_column: R[R.length - 1].last_column, + }), + G && (j._$.range = [R[R.length - (X || 1)].range[0], R[R.length - 1].range[1]]), + (pe = this.performAction.apply(j, [I, _, P, B.yy, oe[1], A, R].concat(O))), + typeof pe < "u") + ) + return pe + X && ((k = k.slice(0, -1 * X * 2)), (A = A.slice(0, -1 * X)), (R = R.slice(0, -1 * X))), + k.push(this.productions_[oe[1]][0]), + A.push(j.$), + R.push(j._$), + (W = C[k[k.length - 2]][k[k.length - 1]]), + k.push(W) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + b = (function () { + var T = { + EOF: 1, + parseError: x(function (S, k) { + if (this.yy.parser) this.yy.parser.parseError(S, k) + else throw new Error(S) + }, "parseError"), + setInput: x(function (E, S) { + return ( + (this.yy = S || this.yy || {}), + (this._input = E), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var E = this._input[0] + ;(this.yytext += E), this.yyleng++, this.offset++, (this.match += E), (this.matched += E) + var S = E.match(/(?:\r\n?|\n).*/g) + return ( + S ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + E + ) + }, "input"), + unput: x(function (E) { + var S = E.length, + k = E.split(/(?:\r\n?|\n)/g) + ;(this._input = E + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - S)), + (this.offset -= S) + var L = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + k.length - 1 && (this.yylineno -= k.length - 1) + var A = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: k + ? (k.length === L.length ? this.yylloc.first_column : 0) + + L[L.length - k.length].length - + k[0].length + : this.yylloc.first_column - S, + }), + this.options.ranges && (this.yylloc.range = [A[0], A[0] + this.yyleng - S]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (E) { + this.unput(this.match.slice(E)) + }, "less"), + pastInput: x(function () { + var E = this.matched.substr(0, this.matched.length - this.match.length) + return (E.length > 20 ? "..." : "") + E.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var E = this.match + return ( + E.length < 20 && (E += this._input.substr(0, 20 - E.length)), + (E.substr(0, 20) + (E.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var E = this.pastInput(), + S = new Array(E.length + 1).join("-") + return ( + E + + this.upcomingInput() + + ` +` + + S + + "^" + ) + }, "showPosition"), + test_match: x(function (E, S) { + var k, L, A + if ( + (this.options.backtrack_lexer && + ((A = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (A.yylloc.range = this.yylloc.range.slice(0))), + (L = E[0].match(/(?:\r\n?|\n).*/g)), + L && (this.yylineno += L.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: L + ? L[L.length - 1].length - L[L.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + E[0].length, + }), + (this.yytext += E[0]), + (this.match += E[0]), + (this.matches = E), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(E[0].length)), + (this.matched += E[0]), + (k = this.performAction.call( + this, + this.yy, + this, + S, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + k) + ) + return k + if (this._backtrack) { + for (var R in A) this[R] = A[R] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var E, S, k, L + this._more || ((this.yytext = ""), (this.match = "")) + for (var A = this._currentRules(), R = 0; R < A.length; R++) + if (((k = this._input.match(this.rules[A[R]])), k && (!S || k[0].length > S[0].length))) { + if (((S = k), (L = R), this.options.backtrack_lexer)) { + if (((E = this.test_match(k, A[R])), E !== !1)) return E + if (this._backtrack) { + S = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return S + ? ((E = this.test_match(S, A[L])), E !== !1 ? E : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var S = this.next() + return S || this.lex() + }, "lex"), + begin: x(function (S) { + this.conditionStack.push(S) + }, "begin"), + popState: x(function () { + var S = this.conditionStack.length - 1 + return S > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (S) { + return ( + (S = this.conditionStack.length - 1 - Math.abs(S || 0)), + S >= 0 ? this.conditionStack[S] : "INITIAL" + ) + }, "topState"), + pushState: x(function (S) { + this.begin(S) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (S, k, L, A) { + switch (L) { + case 0: + return S.getLogger().trace("Found comment", k.yytext), 6 + case 1: + return 8 + case 2: + this.begin("CLASS") + break + case 3: + return this.popState(), 16 + case 4: + this.popState() + break + case 5: + S.getLogger().trace("Begin icon"), this.begin("ICON") + break + case 6: + return S.getLogger().trace("SPACELINE"), 6 + case 7: + return 7 + case 8: + return 15 + case 9: + S.getLogger().trace("end icon"), this.popState() + break + case 10: + return S.getLogger().trace("Exploding node"), this.begin("NODE"), 19 + case 11: + return S.getLogger().trace("Cloud"), this.begin("NODE"), 19 + case 12: + return S.getLogger().trace("Explosion Bang"), this.begin("NODE"), 19 + case 13: + return S.getLogger().trace("Cloud Bang"), this.begin("NODE"), 19 + case 14: + return this.begin("NODE"), 19 + case 15: + return this.begin("NODE"), 19 + case 16: + return this.begin("NODE"), 19 + case 17: + return this.begin("NODE"), 19 + case 18: + return 13 + case 19: + return 22 + case 20: + return 11 + case 21: + this.begin("NSTR2") + break + case 22: + return "NODE_DESCR" + case 23: + this.popState() + break + case 24: + S.getLogger().trace("Starting NSTR"), this.begin("NSTR") + break + case 25: + return S.getLogger().trace("description:", k.yytext), "NODE_DESCR" + case 26: + this.popState() + break + case 27: + return this.popState(), S.getLogger().trace("node end ))"), "NODE_DEND" + case 28: + return this.popState(), S.getLogger().trace("node end )"), "NODE_DEND" + case 29: + return this.popState(), S.getLogger().trace("node end ...", k.yytext), "NODE_DEND" + case 30: + return this.popState(), S.getLogger().trace("node end (("), "NODE_DEND" + case 31: + return this.popState(), S.getLogger().trace("node end (-"), "NODE_DEND" + case 32: + return this.popState(), S.getLogger().trace("node end (-"), "NODE_DEND" + case 33: + return this.popState(), S.getLogger().trace("node end (("), "NODE_DEND" + case 34: + return this.popState(), S.getLogger().trace("node end (("), "NODE_DEND" + case 35: + return S.getLogger().trace("Long description:", k.yytext), 20 + case 36: + return S.getLogger().trace("Long description:", k.yytext), 20 + } + }, "anonymous"), + rules: [ + /^(?:\s*%%.*)/i, + /^(?:mindmap\b)/i, + /^(?::::)/i, + /^(?:.+)/i, + /^(?:\n)/i, + /^(?:::icon\()/i, + /^(?:[\s]+[\n])/i, + /^(?:[\n]+)/i, + /^(?:[^\)]+)/i, + /^(?:\))/i, + /^(?:-\))/i, + /^(?:\(-)/i, + /^(?:\)\))/i, + /^(?:\))/i, + /^(?:\(\()/i, + /^(?:\{\{)/i, + /^(?:\()/i, + /^(?:\[)/i, + /^(?:[\s]+)/i, + /^(?:[^\(\[\n\)\{\}]+)/i, + /^(?:$)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:[^"]+)/i, + /^(?:["])/i, + /^(?:[\)]\))/i, + /^(?:[\)])/i, + /^(?:[\]])/i, + /^(?:\}\})/i, + /^(?:\(-)/i, + /^(?:-\))/i, + /^(?:\(\()/i, + /^(?:\()/i, + /^(?:[^\)\]\(\}]+)/i, + /^(?:.+(?!\(\())/i, + ], + conditions: { + CLASS: { rules: [3, 4], inclusive: !1 }, + ICON: { rules: [8, 9], inclusive: !1 }, + NSTR2: { rules: [22, 23], inclusive: !1 }, + NSTR: { rules: [25, 26], inclusive: !1 }, + NODE: { rules: [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], inclusive: !1 }, + INITIAL: { rules: [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], inclusive: !0 }, + }, + } + return T + })() + y.lexer = b + function w() { + this.yy = {} + } + return x(w, "Parser"), (w.prototype = y), (y.Parser = w), new w() +})() +X6.parser = X6 +var AAe = X6, + bs = [], + ZW = 0, + DS = {}, + _Ae = x(() => { + ;(bs = []), (ZW = 0), (DS = {}) + }, "clear"), + LAe = x(function (t) { + for (let e = bs.length - 1; e >= 0; e--) if (bs[e].level < t) return bs[e] + return null + }, "getParent"), + RAe = x(() => (bs.length > 0 ? bs[0] : null), "getMindmap"), + NAe = x((t, e, r, n) => { + var l, u + ie.info("addNode", t, e, r, n) + const i = we() + let a = ((l = i.mindmap) == null ? void 0 : l.padding) ?? hr.mindmap.padding + switch (n) { + case Nn.ROUNDED_RECT: + case Nn.RECT: + case Nn.HEXAGON: + a *= 2 + } + const s = { + id: ZW++, + nodeId: Pr(e, i), + level: t, + descr: Pr(r, i), + type: n, + children: [], + width: ((u = i.mindmap) == null ? void 0 : u.maxNodeWidth) ?? hr.mindmap.maxNodeWidth, + padding: a, + }, + o = LAe(t) + if (o) o.children.push(s), bs.push(s) + else if (bs.length === 0) bs.push(s) + else throw new Error('There can be only one root. No parent could be found for ("' + s.descr + '")') + }, "addNode"), + Nn = { DEFAULT: 0, NO_BORDER: 0, ROUNDED_RECT: 1, RECT: 2, CIRCLE: 3, CLOUD: 4, BANG: 5, HEXAGON: 6 }, + DAe = x((t, e) => { + switch ((ie.debug("In get type", t, e), t)) { + case "[": + return Nn.RECT + case "(": + return e === ")" ? Nn.ROUNDED_RECT : Nn.CLOUD + case "((": + return Nn.CIRCLE + case ")": + return Nn.CLOUD + case "))": + return Nn.BANG + case "{{": + return Nn.HEXAGON + default: + return Nn.DEFAULT + } + }, "getType"), + IAe = x((t, e) => { + DS[t] = e + }, "setElementForId"), + MAe = x((t) => { + if (!t) return + const e = we(), + r = bs[bs.length - 1] + t.icon && (r.icon = Pr(t.icon, e)), t.class && (r.class = Pr(t.class, e)) + }, "decorateNode"), + OAe = x((t) => { + switch (t) { + case Nn.DEFAULT: + return "no-border" + case Nn.RECT: + return "rect" + case Nn.ROUNDED_RECT: + return "rounded-rect" + case Nn.CIRCLE: + return "circle" + case Nn.CLOUD: + return "cloud" + case Nn.BANG: + return "bang" + case Nn.HEXAGON: + return "hexgon" + default: + return "no-border" + } + }, "type2Str"), + PAe = x(() => ie, "getLogger"), + BAe = x((t) => DS[t], "getElementById"), + FAe = { + clear: _Ae, + addNode: NAe, + getMindmap: RAe, + nodeType: Nn, + getType: DAe, + setElementForId: IAe, + decorateNode: MAe, + type2Str: OAe, + getLogger: PAe, + getElementById: BAe, + }, + $Ae = FAe, + zAe = 12, + VAe = x(function (t, e, r, n) { + e + .append("path") + .attr("id", "node-" + r.id) + .attr("class", "node-bkg node-" + t.type2Str(r.type)) + .attr( + "d", + `M0 ${r.height - 5} v${-r.height + 2 * 5} q0,-5 5,-5 h${r.width - 2 * 5} q5,0 5,5 v${r.height - 5} H0 Z`, + ), + e + .append("line") + .attr("class", "node-line-" + n) + .attr("x1", 0) + .attr("y1", r.height) + .attr("x2", r.width) + .attr("y2", r.height) + }, "defaultBkg"), + GAe = x(function (t, e, r) { + e.append("rect") + .attr("id", "node-" + r.id) + .attr("class", "node-bkg node-" + t.type2Str(r.type)) + .attr("height", r.height) + .attr("width", r.width) + }, "rectBkg"), + UAe = x(function (t, e, r) { + const n = r.width, + i = r.height, + a = 0.15 * n, + s = 0.25 * n, + o = 0.35 * n, + l = 0.2 * n + e.append("path") + .attr("id", "node-" + r.id) + .attr("class", "node-bkg node-" + t.type2Str(r.type)) + .attr( + "d", + `M0 0 a${a},${a} 0 0,1 ${n * 0.25},${-1 * n * 0.1} + a${o},${o} 1 0,1 ${n * 0.4},${-1 * n * 0.1} + a${s},${s} 1 0,1 ${n * 0.35},${1 * n * 0.2} + + a${a},${a} 1 0,1 ${n * 0.15},${1 * i * 0.35} + a${l},${l} 1 0,1 ${-1 * n * 0.15},${1 * i * 0.65} + + a${s},${a} 1 0,1 ${-1 * n * 0.25},${n * 0.15} + a${o},${o} 1 0,1 ${-1 * n * 0.5},0 + a${a},${a} 1 0,1 ${-1 * n * 0.25},${-1 * n * 0.15} + + a${a},${a} 1 0,1 ${-1 * n * 0.1},${-1 * i * 0.35} + a${l},${l} 1 0,1 ${n * 0.1},${-1 * i * 0.65} + + H0 V0 Z`, + ) + }, "cloudBkg"), + qAe = x(function (t, e, r) { + const n = r.width, + i = r.height, + a = 0.15 * n + e.append("path") + .attr("id", "node-" + r.id) + .attr("class", "node-bkg node-" + t.type2Str(r.type)) + .attr( + "d", + `M0 0 a${a},${a} 1 0,0 ${n * 0.25},${-1 * i * 0.1} + a${a},${a} 1 0,0 ${n * 0.25},0 + a${a},${a} 1 0,0 ${n * 0.25},0 + a${a},${a} 1 0,0 ${n * 0.25},${1 * i * 0.1} + + a${a},${a} 1 0,0 ${n * 0.15},${1 * i * 0.33} + a${a * 0.8},${a * 0.8} 1 0,0 0,${1 * i * 0.34} + a${a},${a} 1 0,0 ${-1 * n * 0.15},${1 * i * 0.33} + + a${a},${a} 1 0,0 ${-1 * n * 0.25},${i * 0.15} + a${a},${a} 1 0,0 ${-1 * n * 0.25},0 + a${a},${a} 1 0,0 ${-1 * n * 0.25},0 + a${a},${a} 1 0,0 ${-1 * n * 0.25},${-1 * i * 0.15} + + a${a},${a} 1 0,0 ${-1 * n * 0.1},${-1 * i * 0.33} + a${a * 0.8},${a * 0.8} 1 0,0 0,${-1 * i * 0.34} + a${a},${a} 1 0,0 ${n * 0.1},${-1 * i * 0.33} + + H0 V0 Z`, + ) + }, "bangBkg"), + WAe = x(function (t, e, r) { + e.append("circle") + .attr("id", "node-" + r.id) + .attr("class", "node-bkg node-" + t.type2Str(r.type)) + .attr("r", r.width / 2) + }, "circleBkg") +function QW(t, e, r, n, i) { + return t + .insert("polygon", ":first-child") + .attr( + "points", + n + .map(function (a) { + return a.x + "," + a.y + }) + .join(" "), + ) + .attr("transform", "translate(" + (i.width - e) / 2 + ", " + r + ")") +} +x(QW, "insertPolygonShape") +var HAe = x(function (t, e, r) { + const n = r.height, + a = n / 4, + s = r.width - r.padding + 2 * a, + o = [ + { x: a, y: 0 }, + { x: s - a, y: 0 }, + { x: s, y: -n / 2 }, + { x: s - a, y: -n }, + { x: a, y: -n }, + { x: 0, y: -n / 2 }, + ] + QW(e, s, n, o, r) + }, "hexagonBkg"), + YAe = x(function (t, e, r) { + e.append("rect") + .attr("id", "node-" + r.id) + .attr("class", "node-bkg node-" + t.type2Str(r.type)) + .attr("height", r.height) + .attr("rx", r.padding) + .attr("ry", r.padding) + .attr("width", r.width) + }, "roundedRectBkg"), + XAe = x(async function (t, e, r, n, i) { + const a = i.htmlLabels, + s = n % (zAe - 1), + o = e.append("g") + r.section = s + let l = "section-" + s + s < 0 && (l += " section-root"), o.attr("class", (r.class ? r.class + " " : "") + "mindmap-node " + l) + const u = o.append("g"), + h = o.append("g"), + d = r.descr.replace( + /(<br\/*>)/g, + ` +`, + ) + await fa(h, d, { useHtmlLabels: a, width: r.width, classes: "mindmap-node-label" }, i), + a || + h + .attr("dy", "1em") + .attr("alignment-baseline", "middle") + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle") + const f = h.node().getBBox(), + [p] = jl(i.fontSize) + if (((r.height = f.height + p * 1.1 * 0.5 + r.padding), (r.width = f.width + 2 * r.padding), r.icon)) + if (r.type === t.nodeType.CIRCLE) + (r.height += 50), + (r.width += 50), + o + .append("foreignObject") + .attr("height", "50px") + .attr("width", r.width) + .attr("style", "text-align: center;") + .append("div") + .attr("class", "icon-container") + .append("i") + .attr("class", "node-icon-" + s + " " + r.icon), + h.attr("transform", "translate(" + r.width / 2 + ", " + (r.height / 2 - 1.5 * r.padding) + ")") + else { + r.width += 50 + const g = r.height + r.height = Math.max(g, 60) + const m = Math.abs(r.height - g) + o + .append("foreignObject") + .attr("width", "60px") + .attr("height", r.height) + .attr("style", "text-align: center;margin-top:" + m / 2 + "px;") + .append("div") + .attr("class", "icon-container") + .append("i") + .attr("class", "node-icon-" + s + " " + r.icon), + h.attr("transform", "translate(" + (25 + r.width / 2) + ", " + (m / 2 + r.padding / 2) + ")") + } + else if (a) { + const g = (r.width - f.width) / 2, + m = (r.height - f.height) / 2 + h.attr("transform", "translate(" + g + ", " + m + ")") + } else { + const g = r.width / 2, + m = r.padding / 2 + h.attr("transform", "translate(" + g + ", " + m + ")") + } + switch (r.type) { + case t.nodeType.DEFAULT: + VAe(t, u, r, s) + break + case t.nodeType.ROUNDED_RECT: + YAe(t, u, r, s) + break + case t.nodeType.RECT: + GAe(t, u, r, s) + break + case t.nodeType.CIRCLE: + u.attr("transform", "translate(" + r.width / 2 + ", " + +r.height / 2 + ")"), WAe(t, u, r, s) + break + case t.nodeType.CLOUD: + UAe(t, u, r, s) + break + case t.nodeType.BANG: + qAe(t, u, r, s) + break + case t.nodeType.HEXAGON: + HAe(t, u, r, s) + break + } + return t.setElementForId(r.id, o), r.height + }, "drawNode"), + jAe = x(function (t, e) { + const r = t.getElementById(e.id), + n = e.x || 0, + i = e.y || 0 + r.attr("transform", "translate(" + n + "," + i + ")") + }, "positionNode") +to.use(CAe) +async function IS(t, e, r, n, i) { + await XAe(t, e, r, n, i), r.children && (await Promise.all(r.children.map((a, s) => IS(t, e, a, n < 0 ? s : n, i)))) +} +x(IS, "drawNodes") +function JW(t, e) { + e.edges().map((r, n) => { + const i = r.data() + if (r[0]._private.bodyBounds) { + const a = r[0]._private.rscratch + ie.trace("Edge: ", n, i), + t + .insert("path") + .attr("d", `M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `) + .attr("class", "edge section-edge-" + i.section + " edge-depth-" + i.depth) + } + }) +} +x(JW, "drawEdges") +function MS(t, e, r, n) { + e.add({ + group: "nodes", + data: { + id: t.id.toString(), + labelText: t.descr, + height: t.height, + width: t.width, + level: n, + nodeId: t.id, + padding: t.padding, + type: t.type, + }, + position: { x: t.x, y: t.y }, + }), + t.children && + t.children.forEach((i) => { + MS(i, e, r, n + 1), + e.add({ + group: "edges", + data: { id: `${t.id}_${i.id}`, source: t.id, target: i.id, depth: n, section: i.section }, + }) + }) +} +x(MS, "addNodes") +function eH(t, e) { + return new Promise((r) => { + const n = rt("body").append("div").attr("id", "cy").attr("style", "display:none"), + i = to({ + container: document.getElementById("cy"), + style: [{ selector: "edge", style: { "curve-style": "bezier" } }], + }) + n.remove(), + MS(t, i, e, 0), + i.nodes().forEach(function (a) { + a.layoutDimensions = () => { + const s = a.data() + return { w: s.width, h: s.height } + } + }), + i.layout({ name: "cose-bilkent", quality: "proof", styleEnabled: !1, animate: !1 }).run(), + i.ready((a) => { + ie.info("Ready", a), r(i) + }) + }) +} +x(eH, "layoutMindmap") +function tH(t, e) { + e.nodes().map((r, n) => { + const i = r.data() + ;(i.x = r.position().x), (i.y = r.position().y), jAe(t, i) + const a = t.getElementById(i.nodeId) + ie.info("Id:", n, "Position: (", r.position().x, ", ", r.position().y, ")", i), + a.attr("transform", `translate(${r.position().x - i.width / 2}, ${r.position().y - i.height / 2})`), + a.attr("attr", `apa-${n})`) + }) +} +x(tH, "positionNodes") +var KAe = x(async (t, e, r, n) => { + var d, f + ie.debug( + `Rendering mindmap diagram +` + t, + ) + const i = n.db, + a = i.getMindmap() + if (!a) return + const s = we() + s.htmlLabels = !1 + const o = il(e), + l = o.append("g") + l.attr("class", "mindmap-edges") + const u = o.append("g") + u.attr("class", "mindmap-nodes"), await IS(i, u, a, -1, s) + const h = await eH(a, s) + JW(l, h), + tH(i, h), + rf( + void 0, + o, + ((d = s.mindmap) == null ? void 0 : d.padding) ?? hr.mindmap.padding, + ((f = s.mindmap) == null ? void 0 : f.useMaxWidth) ?? hr.mindmap.useMaxWidth, + ) + }, "draw"), + ZAe = { draw: KAe }, + QAe = x((t) => { + let e = "" + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) + (t["lineColor" + r] = t["lineColor" + r] || t["cScaleInv" + r]), + Xl(t["lineColor" + r]) + ? (t["lineColor" + r] = St(t["lineColor" + r], 20)) + : (t["lineColor" + r] = It(t["lineColor" + r], 20)) + for (let r = 0; r < t.THEME_COLOR_LIMIT; r++) { + const n = "" + (17 - 3 * r) + e += ` + .section-${r - 1} rect, .section-${r - 1} path, .section-${r - 1} circle, .section-${r - 1} polygon, .section-${r - 1} path { + fill: ${t["cScale" + r]}; + } + .section-${r - 1} text { + fill: ${t["cScaleLabel" + r]}; + } + .node-icon-${r - 1} { + font-size: 40px; + color: ${t["cScaleLabel" + r]}; + } + .section-edge-${r - 1}{ + stroke: ${t["cScale" + r]}; + } + .edge-depth-${r - 1}{ + stroke-width: ${n}; + } + .section-${r - 1} line { + stroke: ${t["cScaleInv" + r]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + ` + } + return e + }, "genSections"), + JAe = x( + (t) => ` + .edge { + stroke-width: 3; + } + ${QAe(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`, + "getStyles", + ), + e_e = JAe, + t_e = { db: $Ae, renderer: ZAe, parser: AAe, styles: e_e } +const r_e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: t_e }, Symbol.toStringTag, { value: "Module" }), +) +var j6 = (function () { + var t = x(function (k, L, A, R) { + for (A = A || {}, R = k.length; R--; A[k[R]] = L); + return A + }, "o"), + e = [1, 4], + r = [1, 13], + n = [1, 12], + i = [1, 15], + a = [1, 16], + s = [1, 20], + o = [1, 19], + l = [6, 7, 8], + u = [1, 26], + h = [1, 24], + d = [1, 25], + f = [6, 7, 11], + p = [1, 31], + g = [6, 7, 11, 24], + m = [1, 6, 13, 16, 17, 20, 23], + v = [1, 35], + y = [1, 36], + b = [1, 6, 7, 11, 13, 16, 17, 20, 23], + w = [1, 38], + T = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + mindMap: 4, + spaceLines: 5, + SPACELINE: 6, + NL: 7, + KANBAN: 8, + document: 9, + stop: 10, + EOF: 11, + statement: 12, + SPACELIST: 13, + node: 14, + shapeData: 15, + ICON: 16, + CLASS: 17, + nodeWithId: 18, + nodeWithoutId: 19, + NODE_DSTART: 20, + NODE_DESCR: 21, + NODE_DEND: 22, + NODE_ID: 23, + SHAPE_DATA: 24, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 6: "SPACELINE", + 7: "NL", + 8: "KANBAN", + 11: "EOF", + 13: "SPACELIST", + 16: "ICON", + 17: "CLASS", + 20: "NODE_DSTART", + 21: "NODE_DESCR", + 22: "NODE_DEND", + 23: "NODE_ID", + 24: "SHAPE_DATA", + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [5, 1], + [5, 2], + [5, 2], + [4, 2], + [4, 3], + [10, 1], + [10, 1], + [10, 1], + [10, 2], + [10, 2], + [9, 3], + [9, 2], + [12, 3], + [12, 2], + [12, 2], + [12, 2], + [12, 1], + [12, 2], + [12, 1], + [12, 1], + [12, 1], + [12, 1], + [14, 1], + [14, 1], + [19, 3], + [18, 1], + [18, 4], + [15, 2], + [15, 1], + ], + performAction: x(function (L, A, R, C, I, P, _) { + var N = P.length - 1 + switch (I) { + case 6: + case 7: + return C + case 8: + C.getLogger().trace("Stop NL ") + break + case 9: + C.getLogger().trace("Stop EOF ") + break + case 11: + C.getLogger().trace("Stop NL2 ") + break + case 12: + C.getLogger().trace("Stop EOF2 ") + break + case 15: + C.getLogger().info("Node: ", P[N - 1].id), + C.addNode(P[N - 2].length, P[N - 1].id, P[N - 1].descr, P[N - 1].type, P[N]) + break + case 16: + C.getLogger().info("Node: ", P[N].id), + C.addNode(P[N - 1].length, P[N].id, P[N].descr, P[N].type) + break + case 17: + C.getLogger().trace("Icon: ", P[N]), C.decorateNode({ icon: P[N] }) + break + case 18: + case 23: + C.decorateNode({ class: P[N] }) + break + case 19: + C.getLogger().trace("SPACELIST") + break + case 20: + C.getLogger().trace("Node: ", P[N - 1].id), + C.addNode(0, P[N - 1].id, P[N - 1].descr, P[N - 1].type, P[N]) + break + case 21: + C.getLogger().trace("Node: ", P[N].id), C.addNode(0, P[N].id, P[N].descr, P[N].type) + break + case 22: + C.decorateNode({ icon: P[N] }) + break + case 27: + C.getLogger().trace("node found ..", P[N - 2]), + (this.$ = { id: P[N - 1], descr: P[N - 1], type: C.getType(P[N - 2], P[N]) }) + break + case 28: + this.$ = { id: P[N], descr: P[N], type: 0 } + break + case 29: + C.getLogger().trace("node found ..", P[N - 3]), + (this.$ = { id: P[N - 3], descr: P[N - 1], type: C.getType(P[N - 2], P[N]) }) + break + case 30: + this.$ = P[N - 1] + P[N] + break + case 31: + this.$ = P[N] + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: e }, + { 1: [3] }, + { 1: [2, 1] }, + { 4: 6, 6: [1, 7], 7: [1, 8], 8: e }, + { 6: r, 7: [1, 10], 9: 9, 12: 11, 13: n, 14: 14, 16: i, 17: a, 18: 17, 19: 18, 20: s, 23: o }, + t(l, [2, 3]), + { 1: [2, 2] }, + t(l, [2, 4]), + t(l, [2, 5]), + { 1: [2, 6], 6: r, 12: 21, 13: n, 14: 14, 16: i, 17: a, 18: 17, 19: 18, 20: s, 23: o }, + { 6: r, 9: 22, 12: 11, 13: n, 14: 14, 16: i, 17: a, 18: 17, 19: 18, 20: s, 23: o }, + { 6: u, 7: h, 10: 23, 11: d }, + t(f, [2, 24], { 18: 17, 19: 18, 14: 27, 16: [1, 28], 17: [1, 29], 20: s, 23: o }), + t(f, [2, 19]), + t(f, [2, 21], { 15: 30, 24: p }), + t(f, [2, 22]), + t(f, [2, 23]), + t(g, [2, 25]), + t(g, [2, 26]), + t(g, [2, 28], { 20: [1, 32] }), + { 21: [1, 33] }, + { 6: u, 7: h, 10: 34, 11: d }, + { 1: [2, 7], 6: r, 12: 21, 13: n, 14: 14, 16: i, 17: a, 18: 17, 19: 18, 20: s, 23: o }, + t(m, [2, 14], { 7: v, 11: y }), + t(b, [2, 8]), + t(b, [2, 9]), + t(b, [2, 10]), + t(f, [2, 16], { 15: 37, 24: p }), + t(f, [2, 17]), + t(f, [2, 18]), + t(f, [2, 20], { 24: w }), + t(g, [2, 31]), + { 21: [1, 39] }, + { 22: [1, 40] }, + t(m, [2, 13], { 7: v, 11: y }), + t(b, [2, 11]), + t(b, [2, 12]), + t(f, [2, 15], { 24: w }), + t(g, [2, 30]), + { 22: [1, 41] }, + t(g, [2, 27]), + t(g, [2, 29]), + ], + defaultActions: { 2: [2, 1], 6: [2, 2] }, + parseError: x(function (L, A) { + if (A.recoverable) this.trace(L) + else { + var R = new Error(L) + throw ((R.hash = A), R) + } + }, "parseError"), + parse: x(function (L) { + var A = this, + R = [0], + C = [], + I = [null], + P = [], + _ = this.table, + N = "", + M = 0, + O = 0, + D = 2, + B = 1, + z = P.slice.call(arguments, 1), + F = Object.create(this.lexer), + G = { yy: {} } + for (var q in this.yy) Object.prototype.hasOwnProperty.call(this.yy, q) && (G.yy[q] = this.yy[q]) + F.setInput(L, G.yy), (G.yy.lexer = F), (G.yy.parser = this), typeof F.yylloc > "u" && (F.yylloc = {}) + var Y = F.yylloc + P.push(Y) + var ee = F.options && F.options.ranges + typeof G.yy.parseError == "function" + ? (this.parseError = G.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function Q(re) { + ;(R.length = R.length - 2 * re), (I.length = I.length - re), (P.length = P.length - re) + } + x(Q, "popStack") + function oe() { + var re + return ( + (re = C.pop() || F.lex() || B), + typeof re != "number" && + (re instanceof Array && ((C = re), (re = C.pop())), (re = A.symbols_[re] || re)), + re + ) + } + x(oe, "lex") + for (var pe, j, H, X, W = {}, K, ne, Z, be; ; ) { + if ( + ((j = R[R.length - 1]), + this.defaultActions[j] + ? (H = this.defaultActions[j]) + : ((pe === null || typeof pe > "u") && (pe = oe()), (H = _[j] && _[j][pe])), + typeof H > "u" || !H.length || !H[0]) + ) { + var ce = "" + be = [] + for (K in _[j]) this.terminals_[K] && K > D && be.push("'" + this.terminals_[K] + "'") + F.showPosition + ? (ce = + "Parse error on line " + + (M + 1) + + `: +` + + F.showPosition() + + ` +Expecting ` + + be.join(", ") + + ", got '" + + (this.terminals_[pe] || pe) + + "'") + : (ce = + "Parse error on line " + + (M + 1) + + ": Unexpected " + + (pe == B ? "end of input" : "'" + (this.terminals_[pe] || pe) + "'")), + this.parseError(ce, { + text: F.match, + token: this.terminals_[pe] || pe, + line: F.yylineno, + loc: Y, + expected: be, + }) + } + if (H[0] instanceof Array && H.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + j + ", token: " + pe) + switch (H[0]) { + case 1: + R.push(pe), + I.push(F.yytext), + P.push(F.yylloc), + R.push(H[1]), + (pe = null), + (O = F.yyleng), + (N = F.yytext), + (M = F.yylineno), + (Y = F.yylloc) + break + case 2: + if ( + ((ne = this.productions_[H[1]][1]), + (W.$ = I[I.length - ne]), + (W._$ = { + first_line: P[P.length - (ne || 1)].first_line, + last_line: P[P.length - 1].last_line, + first_column: P[P.length - (ne || 1)].first_column, + last_column: P[P.length - 1].last_column, + }), + ee && (W._$.range = [P[P.length - (ne || 1)].range[0], P[P.length - 1].range[1]]), + (X = this.performAction.apply(W, [N, O, M, G.yy, H[1], I, P].concat(z))), + typeof X < "u") + ) + return X + ne && ((R = R.slice(0, -1 * ne * 2)), (I = I.slice(0, -1 * ne)), (P = P.slice(0, -1 * ne))), + R.push(this.productions_[H[1]][0]), + I.push(W.$), + P.push(W._$), + (Z = _[R[R.length - 2]][R[R.length - 1]]), + R.push(Z) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + E = (function () { + var k = { + EOF: 1, + parseError: x(function (A, R) { + if (this.yy.parser) this.yy.parser.parseError(A, R) + else throw new Error(A) + }, "parseError"), + setInput: x(function (L, A) { + return ( + (this.yy = A || this.yy || {}), + (this._input = L), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var L = this._input[0] + ;(this.yytext += L), this.yyleng++, this.offset++, (this.match += L), (this.matched += L) + var A = L.match(/(?:\r\n?|\n).*/g) + return ( + A ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + L + ) + }, "input"), + unput: x(function (L) { + var A = L.length, + R = L.split(/(?:\r\n?|\n)/g) + ;(this._input = L + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - A)), + (this.offset -= A) + var C = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + R.length - 1 && (this.yylineno -= R.length - 1) + var I = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: R + ? (R.length === C.length ? this.yylloc.first_column : 0) + + C[C.length - R.length].length - + R[0].length + : this.yylloc.first_column - A, + }), + this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - A]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (L) { + this.unput(this.match.slice(L)) + }, "less"), + pastInput: x(function () { + var L = this.matched.substr(0, this.matched.length - this.match.length) + return (L.length > 20 ? "..." : "") + L.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var L = this.match + return ( + L.length < 20 && (L += this._input.substr(0, 20 - L.length)), + (L.substr(0, 20) + (L.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var L = this.pastInput(), + A = new Array(L.length + 1).join("-") + return ( + L + + this.upcomingInput() + + ` +` + + A + + "^" + ) + }, "showPosition"), + test_match: x(function (L, A) { + var R, C, I + if ( + (this.options.backtrack_lexer && + ((I = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))), + (C = L[0].match(/(?:\r\n?|\n).*/g)), + C && (this.yylineno += C.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: C + ? C[C.length - 1].length - C[C.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + L[0].length, + }), + (this.yytext += L[0]), + (this.match += L[0]), + (this.matches = L), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(L[0].length)), + (this.matched += L[0]), + (R = this.performAction.call( + this, + this.yy, + this, + A, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + R) + ) + return R + if (this._backtrack) { + for (var P in I) this[P] = I[P] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var L, A, R, C + this._more || ((this.yytext = ""), (this.match = "")) + for (var I = this._currentRules(), P = 0; P < I.length; P++) + if (((R = this._input.match(this.rules[I[P]])), R && (!A || R[0].length > A[0].length))) { + if (((A = R), (C = P), this.options.backtrack_lexer)) { + if (((L = this.test_match(R, I[P])), L !== !1)) return L + if (this._backtrack) { + A = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return A + ? ((L = this.test_match(A, I[C])), L !== !1 ? L : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var A = this.next() + return A || this.lex() + }, "lex"), + begin: x(function (A) { + this.conditionStack.push(A) + }, "begin"), + popState: x(function () { + var A = this.conditionStack.length - 1 + return A > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (A) { + return ( + (A = this.conditionStack.length - 1 - Math.abs(A || 0)), + A >= 0 ? this.conditionStack[A] : "INITIAL" + ) + }, "topState"), + pushState: x(function (A) { + this.begin(A) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (A, R, C, I) { + switch (C) { + case 0: + return this.pushState("shapeData"), (R.yytext = ""), 24 + case 1: + return this.pushState("shapeDataStr"), 24 + case 2: + return this.popState(), 24 + case 3: + const P = /\n\s*/g + return (R.yytext = R.yytext.replace(P, "<br/>")), 24 + case 4: + return 24 + case 5: + this.popState() + break + case 6: + return A.getLogger().trace("Found comment", R.yytext), 6 + case 7: + return 8 + case 8: + this.begin("CLASS") + break + case 9: + return this.popState(), 17 + case 10: + this.popState() + break + case 11: + A.getLogger().trace("Begin icon"), this.begin("ICON") + break + case 12: + return A.getLogger().trace("SPACELINE"), 6 + case 13: + return 7 + case 14: + return 16 + case 15: + A.getLogger().trace("end icon"), this.popState() + break + case 16: + return A.getLogger().trace("Exploding node"), this.begin("NODE"), 20 + case 17: + return A.getLogger().trace("Cloud"), this.begin("NODE"), 20 + case 18: + return A.getLogger().trace("Explosion Bang"), this.begin("NODE"), 20 + case 19: + return A.getLogger().trace("Cloud Bang"), this.begin("NODE"), 20 + case 20: + return this.begin("NODE"), 20 + case 21: + return this.begin("NODE"), 20 + case 22: + return this.begin("NODE"), 20 + case 23: + return this.begin("NODE"), 20 + case 24: + return 13 + case 25: + return 23 + case 26: + return 11 + case 27: + this.begin("NSTR2") + break + case 28: + return "NODE_DESCR" + case 29: + this.popState() + break + case 30: + A.getLogger().trace("Starting NSTR"), this.begin("NSTR") + break + case 31: + return A.getLogger().trace("description:", R.yytext), "NODE_DESCR" + case 32: + this.popState() + break + case 33: + return this.popState(), A.getLogger().trace("node end ))"), "NODE_DEND" + case 34: + return this.popState(), A.getLogger().trace("node end )"), "NODE_DEND" + case 35: + return this.popState(), A.getLogger().trace("node end ...", R.yytext), "NODE_DEND" + case 36: + return this.popState(), A.getLogger().trace("node end (("), "NODE_DEND" + case 37: + return this.popState(), A.getLogger().trace("node end (-"), "NODE_DEND" + case 38: + return this.popState(), A.getLogger().trace("node end (-"), "NODE_DEND" + case 39: + return this.popState(), A.getLogger().trace("node end (("), "NODE_DEND" + case 40: + return this.popState(), A.getLogger().trace("node end (("), "NODE_DEND" + case 41: + return A.getLogger().trace("Long description:", R.yytext), 21 + case 42: + return A.getLogger().trace("Long description:", R.yytext), 21 + } + }, "anonymous"), + rules: [ + /^(?:@\{)/i, + /^(?:["])/i, + /^(?:["])/i, + /^(?:[^\"]+)/i, + /^(?:[^}^"]+)/i, + /^(?:\})/i, + /^(?:\s*%%.*)/i, + /^(?:kanban\b)/i, + /^(?::::)/i, + /^(?:.+)/i, + /^(?:\n)/i, + /^(?:::icon\()/i, + /^(?:[\s]+[\n])/i, + /^(?:[\n]+)/i, + /^(?:[^\)]+)/i, + /^(?:\))/i, + /^(?:-\))/i, + /^(?:\(-)/i, + /^(?:\)\))/i, + /^(?:\))/i, + /^(?:\(\()/i, + /^(?:\{\{)/i, + /^(?:\()/i, + /^(?:\[)/i, + /^(?:[\s]+)/i, + /^(?:[^\(\[\n\)\{\}@]+)/i, + /^(?:$)/i, + /^(?:["][`])/i, + /^(?:[^`"]+)/i, + /^(?:[`]["])/i, + /^(?:["])/i, + /^(?:[^"]+)/i, + /^(?:["])/i, + /^(?:[\)]\))/i, + /^(?:[\)])/i, + /^(?:[\]])/i, + /^(?:\}\})/i, + /^(?:\(-)/i, + /^(?:-\))/i, + /^(?:\(\()/i, + /^(?:\()/i, + /^(?:[^\)\]\(\}]+)/i, + /^(?:.+(?!\(\())/i, + ], + conditions: { + shapeDataEndBracket: { rules: [], inclusive: !1 }, + shapeDataStr: { rules: [2, 3], inclusive: !1 }, + shapeData: { rules: [1, 4, 5], inclusive: !1 }, + CLASS: { rules: [9, 10], inclusive: !1 }, + ICON: { rules: [14, 15], inclusive: !1 }, + NSTR2: { rules: [28, 29], inclusive: !1 }, + NSTR: { rules: [31, 32], inclusive: !1 }, + NODE: { rules: [27, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], inclusive: !1 }, + INITIAL: { + rules: [0, 6, 7, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], + inclusive: !0, + }, + }, + } + return k + })() + T.lexer = E + function S() { + this.yy = {} + } + return x(S, "Parser"), (S.prototype = T), (T.Parser = S), new S() +})() +j6.parser = j6 +var n_e = j6, + za = [], + OS = [], + K6 = 0, + PS = {}, + i_e = x(() => { + ;(za = []), (OS = []), (K6 = 0), (PS = {}) + }, "clear"), + a_e = x((t) => { + if (za.length === 0) return null + const e = za[0].level + let r = null + for (let n = za.length - 1; n >= 0; n--) + if ((za[n].level === e && !r && (r = za[n]), za[n].level < e)) + throw new Error('Items without section detected, found section ("' + za[n].label + '")') + return t === (r == null ? void 0 : r.level) ? null : r + }, "getSection"), + rH = x(function () { + return OS + }, "getSections"), + s_e = x(function () { + const t = [], + e = [], + r = rH(), + n = we() + for (const i of r) { + const a = { + id: i.id, + label: Pr(i.label ?? "", n), + isGroup: !0, + ticket: i.ticket, + shape: "kanbanSection", + level: i.level, + look: n.look, + } + e.push(a) + const s = za.filter((o) => o.parentId === i.id) + for (const o of s) { + const l = { + id: o.id, + parentId: i.id, + label: Pr(o.label ?? "", n), + isGroup: !1, + ticket: o == null ? void 0 : o.ticket, + priority: o == null ? void 0 : o.priority, + assigned: o == null ? void 0 : o.assigned, + icon: o == null ? void 0 : o.icon, + shape: "kanbanItem", + level: o.level, + rx: 5, + ry: 5, + cssStyles: ["text-align: left"], + } + e.push(l) + } + } + return { nodes: e, edges: t, other: {}, config: we() } + }, "getData"), + o_e = x((t, e, r, n, i) => { + var u, h + const a = we() + let s = ((u = a.mindmap) == null ? void 0 : u.padding) ?? hr.mindmap.padding + switch (n) { + case Dn.ROUNDED_RECT: + case Dn.RECT: + case Dn.HEXAGON: + s *= 2 + } + const o = { + id: Pr(e, a) || "kbn" + K6++, + level: t, + label: Pr(r, a), + width: ((h = a.mindmap) == null ? void 0 : h.maxNodeWidth) ?? hr.mindmap.maxNodeWidth, + padding: s, + isGroup: !1, + } + if (i !== void 0) { + let d + i.includes(` +`) + ? (d = + i + + ` +`) + : (d = + `{ +` + + i + + ` +}`) + const f = WT(d, { schema: qT }) + if (f.shape && (f.shape !== f.shape.toLowerCase() || f.shape.includes("_"))) + throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`) + f != null && f.shape && f.shape === "kanbanItem" && (o.shape = f == null ? void 0 : f.shape), + f != null && f.label && (o.label = f == null ? void 0 : f.label), + f != null && f.icon && (o.icon = f == null ? void 0 : f.icon.toString()), + f != null && f.assigned && (o.assigned = f == null ? void 0 : f.assigned.toString()), + f != null && f.ticket && (o.ticket = f == null ? void 0 : f.ticket.toString()), + f != null && f.priority && (o.priority = f == null ? void 0 : f.priority) + } + const l = a_e(t) + l ? (o.parentId = l.id || "kbn" + K6++) : OS.push(o), za.push(o) + }, "addNode"), + Dn = { DEFAULT: 0, NO_BORDER: 0, ROUNDED_RECT: 1, RECT: 2, CIRCLE: 3, CLOUD: 4, BANG: 5, HEXAGON: 6 }, + l_e = x((t, e) => { + switch ((ie.debug("In get type", t, e), t)) { + case "[": + return Dn.RECT + case "(": + return e === ")" ? Dn.ROUNDED_RECT : Dn.CLOUD + case "((": + return Dn.CIRCLE + case ")": + return Dn.CLOUD + case "))": + return Dn.BANG + case "{{": + return Dn.HEXAGON + default: + return Dn.DEFAULT + } + }, "getType"), + c_e = x((t, e) => { + PS[t] = e + }, "setElementForId"), + u_e = x((t) => { + if (!t) return + const e = we(), + r = za[za.length - 1] + t.icon && (r.icon = Pr(t.icon, e)), t.class && (r.cssClasses = Pr(t.class, e)) + }, "decorateNode"), + h_e = x((t) => { + switch (t) { + case Dn.DEFAULT: + return "no-border" + case Dn.RECT: + return "rect" + case Dn.ROUNDED_RECT: + return "rounded-rect" + case Dn.CIRCLE: + return "circle" + case Dn.CLOUD: + return "cloud" + case Dn.BANG: + return "bang" + case Dn.HEXAGON: + return "hexgon" + default: + return "no-border" + } + }, "type2Str"), + d_e = x(() => ie, "getLogger"), + f_e = x((t) => PS[t], "getElementById"), + p_e = { + clear: i_e, + addNode: o_e, + getSections: rH, + getData: s_e, + nodeType: Dn, + getType: l_e, + setElementForId: c_e, + decorateNode: u_e, + type2Str: h_e, + getLogger: d_e, + getElementById: f_e, + }, + g_e = p_e, + m_e = x(async (t, e, r, n) => { + var v, y, b, w, T + ie.debug( + `Rendering kanban diagram +` + t, + ) + const a = n.db.getData(), + s = we() + s.htmlLabels = !1 + const o = il(e), + l = o.append("g") + l.attr("class", "sections") + const u = o.append("g") + u.attr("class", "items") + const h = a.nodes.filter((E) => E.isGroup) + let d = 0 + const f = 10, + p = [] + let g = 25 + for (const E of h) { + const S = ((v = s == null ? void 0 : s.kanban) == null ? void 0 : v.sectionWidth) || 200 + ;(d = d + 1), + (E.x = S * d + ((d - 1) * f) / 2), + (E.width = S), + (E.y = 0), + (E.height = S * 3), + (E.rx = 5), + (E.ry = 5), + (E.cssClasses = E.cssClasses + " section-" + d) + const k = await RE(l, E) + ;(g = Math.max(g, (y = k == null ? void 0 : k.labelBBox) == null ? void 0 : y.height)), p.push(k) + } + let m = 0 + for (const E of h) { + const S = p[m] + m = m + 1 + const k = ((b = s == null ? void 0 : s.kanban) == null ? void 0 : b.sectionWidth) || 200, + L = (-k * 3) / 2 + g + let A = L + const R = a.nodes.filter((P) => P.parentId === E.id) + for (const P of R) { + if (P.isGroup) throw new Error("Groups within groups are not allowed in Kanban diagrams") + ;(P.x = E.x), (P.width = k - 1.5 * f) + const N = (await Y2(u, P, { config: s })).node().getBBox() + ;(P.y = A + N.height / 2), await lw(P), (A = P.y + N.height / 2 + f / 2) + } + const C = S.cluster.select("rect"), + I = Math.max(A - L + 3 * f, 50) + (g - 25) + C.attr("height", I) + } + rf( + void 0, + o, + ((w = s.mindmap) == null ? void 0 : w.padding) ?? hr.kanban.padding, + ((T = s.mindmap) == null ? void 0 : T.useMaxWidth) ?? hr.kanban.useMaxWidth, + ) + }, "draw"), + v_e = { draw: m_e }, + y_e = x((t) => { + let e = "" + for (let n = 0; n < t.THEME_COLOR_LIMIT; n++) + (t["lineColor" + n] = t["lineColor" + n] || t["cScaleInv" + n]), + Xl(t["lineColor" + n]) + ? (t["lineColor" + n] = St(t["lineColor" + n], 20)) + : (t["lineColor" + n] = It(t["lineColor" + n], 20)) + const r = x((n, i) => (t.darkMode ? It(n, i) : St(n, i)), "adjuster") + for (let n = 0; n < t.THEME_COLOR_LIMIT; n++) { + const i = "" + (17 - 3 * n) + e += ` + .section-${n - 1} rect, .section-${n - 1} path, .section-${n - 1} circle, .section-${n - 1} polygon, .section-${n - 1} path { + fill: ${r(t["cScale" + n], 10)}; + stroke: ${r(t["cScale" + n], 10)}; + + } + .section-${n - 1} text { + fill: ${t["cScaleLabel" + n]}; + } + .node-icon-${n - 1} { + font-size: 40px; + color: ${t["cScaleLabel" + n]}; + } + .section-edge-${n - 1}{ + stroke: ${t["cScale" + n]}; + } + .edge-depth-${n - 1}{ + stroke-width: ${i}; + } + .section-${n - 1} line { + stroke: ${t["cScaleInv" + n]} ; + stroke-width: 3; + } + + .disabled, .disabled circle, .disabled text { + fill: lightgray; + } + .disabled text { + fill: #efefef; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.background}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .kanban-ticket-link { + fill: ${t.background}; + stroke: ${t.nodeBorder}; + text-decoration: underline; + } + ` + } + return e + }, "genSections"), + x_e = x( + (t) => ` + .edge { + stroke-width: 3; + } + ${y_e(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .cluster-label, .label { + color: ${t.textColor}; + fill: ${t.textColor}; + } + .kanban-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`, + "getStyles", + ), + b_e = x_e, + w_e = { db: g_e, renderer: v_e, parser: n_e, styles: b_e } +const T_e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: w_e }, Symbol.toStringTag, { value: "Module" }), +) +function dN(t, e) { + let r + if (e === void 0) for (const n of t) n != null && (r < n || (r === void 0 && n >= n)) && (r = n) + else { + let n = -1 + for (let i of t) (i = e(i, ++n, t)) != null && (r < i || (r === void 0 && i >= i)) && (r = i) + } + return r +} +function nH(t, e) { + let r + if (e === void 0) for (const n of t) n != null && (r > n || (r === void 0 && n >= n)) && (r = n) + else { + let n = -1 + for (let i of t) (i = e(i, ++n, t)) != null && (r > i || (r === void 0 && i >= i)) && (r = i) + } + return r +} +function i3(t, e) { + let r = 0 + if (e === void 0) for (let n of t) (n = +n) && (r += n) + else { + let n = -1 + for (let i of t) (i = +e(i, ++n, t)) && (r += i) + } + return r +} +function E_e(t) { + return t.target.depth +} +function k_e(t) { + return t.depth +} +function S_e(t, e) { + return e - 1 - t.height +} +function iH(t, e) { + return t.sourceLinks.length ? t.depth : e - 1 +} +function C_e(t) { + return t.targetLinks.length ? t.depth : t.sourceLinks.length ? nH(t.sourceLinks, E_e) - 1 : 0 +} +function am(t) { + return function () { + return t + } +} +function fN(t, e) { + return o2(t.source, e.source) || t.index - e.index +} +function pN(t, e) { + return o2(t.target, e.target) || t.index - e.index +} +function o2(t, e) { + return t.y0 - e.y0 +} +function a3(t) { + return t.value +} +function A_e(t) { + return t.index +} +function __e(t) { + return t.nodes +} +function L_e(t) { + return t.links +} +function gN(t, e) { + const r = t.get(e) + if (!r) throw new Error("missing: " + e) + return r +} +function mN({ nodes: t }) { + for (const e of t) { + let r = e.y0, + n = r + for (const i of e.sourceLinks) (i.y0 = r + i.width / 2), (r += i.width) + for (const i of e.targetLinks) (i.y1 = n + i.width / 2), (n += i.width) + } +} +function R_e() { + let t = 0, + e = 0, + r = 1, + n = 1, + i = 24, + a = 8, + s, + o = A_e, + l = iH, + u, + h, + d = __e, + f = L_e, + p = 6 + function g() { + const N = { nodes: d.apply(null, arguments), links: f.apply(null, arguments) } + return m(N), v(N), y(N), b(N), E(N), mN(N), N + } + ;(g.update = function (N) { + return mN(N), N + }), + (g.nodeId = function (N) { + return arguments.length ? ((o = typeof N == "function" ? N : am(N)), g) : o + }), + (g.nodeAlign = function (N) { + return arguments.length ? ((l = typeof N == "function" ? N : am(N)), g) : l + }), + (g.nodeSort = function (N) { + return arguments.length ? ((u = N), g) : u + }), + (g.nodeWidth = function (N) { + return arguments.length ? ((i = +N), g) : i + }), + (g.nodePadding = function (N) { + return arguments.length ? ((a = s = +N), g) : a + }), + (g.nodes = function (N) { + return arguments.length ? ((d = typeof N == "function" ? N : am(N)), g) : d + }), + (g.links = function (N) { + return arguments.length ? ((f = typeof N == "function" ? N : am(N)), g) : f + }), + (g.linkSort = function (N) { + return arguments.length ? ((h = N), g) : h + }), + (g.size = function (N) { + return arguments.length ? ((t = e = 0), (r = +N[0]), (n = +N[1]), g) : [r - t, n - e] + }), + (g.extent = function (N) { + return arguments.length + ? ((t = +N[0][0]), (r = +N[1][0]), (e = +N[0][1]), (n = +N[1][1]), g) + : [ + [t, e], + [r, n], + ] + }), + (g.iterations = function (N) { + return arguments.length ? ((p = +N), g) : p + }) + function m({ nodes: N, links: M }) { + for (const [D, B] of N.entries()) (B.index = D), (B.sourceLinks = []), (B.targetLinks = []) + const O = new Map(N.map((D, B) => [o(D, B, N), D])) + for (const [D, B] of M.entries()) { + B.index = D + let { source: z, target: F } = B + typeof z != "object" && (z = B.source = gN(O, z)), + typeof F != "object" && (F = B.target = gN(O, F)), + z.sourceLinks.push(B), + F.targetLinks.push(B) + } + if (h != null) for (const { sourceLinks: D, targetLinks: B } of N) D.sort(h), B.sort(h) + } + function v({ nodes: N }) { + for (const M of N) + M.value = M.fixedValue === void 0 ? Math.max(i3(M.sourceLinks, a3), i3(M.targetLinks, a3)) : M.fixedValue + } + function y({ nodes: N }) { + const M = N.length + let O = new Set(N), + D = new Set(), + B = 0 + for (; O.size; ) { + for (const z of O) { + z.depth = B + for (const { target: F } of z.sourceLinks) D.add(F) + } + if (++B > M) throw new Error("circular link") + ;(O = D), (D = new Set()) + } + } + function b({ nodes: N }) { + const M = N.length + let O = new Set(N), + D = new Set(), + B = 0 + for (; O.size; ) { + for (const z of O) { + z.height = B + for (const { source: F } of z.targetLinks) D.add(F) + } + if (++B > M) throw new Error("circular link") + ;(O = D), (D = new Set()) + } + } + function w({ nodes: N }) { + const M = dN(N, (B) => B.depth) + 1, + O = (r - t - i) / (M - 1), + D = new Array(M) + for (const B of N) { + const z = Math.max(0, Math.min(M - 1, Math.floor(l.call(null, B, M)))) + ;(B.layer = z), (B.x0 = t + z * O), (B.x1 = B.x0 + i), D[z] ? D[z].push(B) : (D[z] = [B]) + } + if (u) for (const B of D) B.sort(u) + return D + } + function T(N) { + const M = nH(N, (O) => (n - e - (O.length - 1) * s) / i3(O, a3)) + for (const O of N) { + let D = e + for (const B of O) { + ;(B.y0 = D), (B.y1 = D + B.value * M), (D = B.y1 + s) + for (const z of B.sourceLinks) z.width = z.value * M + } + D = (n - D + s) / (O.length + 1) + for (let B = 0; B < O.length; ++B) { + const z = O[B] + ;(z.y0 += D * (B + 1)), (z.y1 += D * (B + 1)) + } + I(O) + } + } + function E(N) { + const M = w(N) + ;(s = Math.min(a, (n - e) / (dN(M, (O) => O.length) - 1))), T(M) + for (let O = 0; O < p; ++O) { + const D = Math.pow(0.99, O), + B = Math.max(1 - D, (O + 1) / p) + k(M, D, B), S(M, D, B) + } + } + function S(N, M, O) { + for (let D = 1, B = N.length; D < B; ++D) { + const z = N[D] + for (const F of z) { + let G = 0, + q = 0 + for (const { source: ee, value: Q } of F.targetLinks) { + let oe = Q * (F.layer - ee.layer) + ;(G += P(ee, F) * oe), (q += oe) + } + if (!(q > 0)) continue + let Y = (G / q - F.y0) * M + ;(F.y0 += Y), (F.y1 += Y), C(F) + } + u === void 0 && z.sort(o2), L(z, O) + } + } + function k(N, M, O) { + for (let D = N.length, B = D - 2; B >= 0; --B) { + const z = N[B] + for (const F of z) { + let G = 0, + q = 0 + for (const { target: ee, value: Q } of F.sourceLinks) { + let oe = Q * (ee.layer - F.layer) + ;(G += _(F, ee) * oe), (q += oe) + } + if (!(q > 0)) continue + let Y = (G / q - F.y0) * M + ;(F.y0 += Y), (F.y1 += Y), C(F) + } + u === void 0 && z.sort(o2), L(z, O) + } + } + function L(N, M) { + const O = N.length >> 1, + D = N[O] + R(N, D.y0 - s, O - 1, M), A(N, D.y1 + s, O + 1, M), R(N, n, N.length - 1, M), A(N, e, 0, M) + } + function A(N, M, O, D) { + for (; O < N.length; ++O) { + const B = N[O], + z = (M - B.y0) * D + z > 1e-6 && ((B.y0 += z), (B.y1 += z)), (M = B.y1 + s) + } + } + function R(N, M, O, D) { + for (; O >= 0; --O) { + const B = N[O], + z = (B.y1 - M) * D + z > 1e-6 && ((B.y0 -= z), (B.y1 -= z)), (M = B.y0 - s) + } + } + function C({ sourceLinks: N, targetLinks: M }) { + if (h === void 0) { + for (const { + source: { sourceLinks: O }, + } of M) + O.sort(pN) + for (const { + target: { targetLinks: O }, + } of N) + O.sort(fN) + } + } + function I(N) { + if (h === void 0) for (const { sourceLinks: M, targetLinks: O } of N) M.sort(pN), O.sort(fN) + } + function P(N, M) { + let O = N.y0 - ((N.sourceLinks.length - 1) * s) / 2 + for (const { target: D, width: B } of N.sourceLinks) { + if (D === M) break + O += B + s + } + for (const { source: D, width: B } of M.targetLinks) { + if (D === N) break + O -= B + } + return O + } + function _(N, M) { + let O = M.y0 - ((M.targetLinks.length - 1) * s) / 2 + for (const { source: D, width: B } of M.targetLinks) { + if (D === N) break + O += B + s + } + for (const { target: D, width: B } of N.sourceLinks) { + if (D === M) break + O -= B + } + return O + } + return g +} +var Z6 = Math.PI, + Q6 = 2 * Z6, + Tc = 1e-6, + N_e = Q6 - Tc +function J6() { + ;(this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = "") +} +function aH() { + return new J6() +} +J6.prototype = aH.prototype = { + constructor: J6, + moveTo: function (t, e) { + this._ += "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e) + }, + closePath: function () { + this._x1 !== null && ((this._x1 = this._x0), (this._y1 = this._y0), (this._ += "Z")) + }, + lineTo: function (t, e) { + this._ += "L" + (this._x1 = +t) + "," + (this._y1 = +e) + }, + quadraticCurveTo: function (t, e, r, n) { + this._ += "Q" + +t + "," + +e + "," + (this._x1 = +r) + "," + (this._y1 = +n) + }, + bezierCurveTo: function (t, e, r, n, i, a) { + this._ += "C" + +t + "," + +e + "," + +r + "," + +n + "," + (this._x1 = +i) + "," + (this._y1 = +a) + }, + arcTo: function (t, e, r, n, i) { + ;(t = +t), (e = +e), (r = +r), (n = +n), (i = +i) + var a = this._x1, + s = this._y1, + o = r - t, + l = n - e, + u = a - t, + h = s - e, + d = u * u + h * h + if (i < 0) throw new Error("negative radius: " + i) + if (this._x1 === null) this._ += "M" + (this._x1 = t) + "," + (this._y1 = e) + else if (d > Tc) + if (!(Math.abs(h * o - l * u) > Tc) || !i) this._ += "L" + (this._x1 = t) + "," + (this._y1 = e) + else { + var f = r - a, + p = n - s, + g = o * o + l * l, + m = f * f + p * p, + v = Math.sqrt(g), + y = Math.sqrt(d), + b = i * Math.tan((Z6 - Math.acos((g + d - m) / (2 * v * y))) / 2), + w = b / y, + T = b / v + Math.abs(w - 1) > Tc && (this._ += "L" + (t + w * u) + "," + (e + w * h)), + (this._ += + "A" + + i + + "," + + i + + ",0,0," + + +(h * f > u * p) + + "," + + (this._x1 = t + T * o) + + "," + + (this._y1 = e + T * l)) + } + }, + arc: function (t, e, r, n, i, a) { + ;(t = +t), (e = +e), (r = +r), (a = !!a) + var s = r * Math.cos(n), + o = r * Math.sin(n), + l = t + s, + u = e + o, + h = 1 ^ a, + d = a ? n - i : i - n + if (r < 0) throw new Error("negative radius: " + r) + this._x1 === null + ? (this._ += "M" + l + "," + u) + : (Math.abs(this._x1 - l) > Tc || Math.abs(this._y1 - u) > Tc) && (this._ += "L" + l + "," + u), + r && + (d < 0 && (d = (d % Q6) + Q6), + d > N_e + ? (this._ += + "A" + + r + + "," + + r + + ",0,1," + + h + + "," + + (t - s) + + "," + + (e - o) + + "A" + + r + + "," + + r + + ",0,1," + + h + + "," + + (this._x1 = l) + + "," + + (this._y1 = u)) + : d > Tc && + (this._ += + "A" + + r + + "," + + r + + ",0," + + +(d >= Z6) + + "," + + h + + "," + + (this._x1 = t + r * Math.cos(i)) + + "," + + (this._y1 = e + r * Math.sin(i)))) + }, + rect: function (t, e, r, n) { + this._ += + "M" + (this._x0 = this._x1 = +t) + "," + (this._y0 = this._y1 = +e) + "h" + +r + "v" + +n + "h" + -r + "Z" + }, + toString: function () { + return this._ + }, +} +function vN(t) { + return function () { + return t + } +} +function D_e(t) { + return t[0] +} +function I_e(t) { + return t[1] +} +var M_e = Array.prototype.slice +function O_e(t) { + return t.source +} +function P_e(t) { + return t.target +} +function B_e(t) { + var e = O_e, + r = P_e, + n = D_e, + i = I_e, + a = null + function s() { + var o, + l = M_e.call(arguments), + u = e.apply(this, l), + h = r.apply(this, l) + if ( + (a || (a = o = aH()), + t( + a, + +n.apply(this, ((l[0] = u), l)), + +i.apply(this, l), + +n.apply(this, ((l[0] = h), l)), + +i.apply(this, l), + ), + o) + ) + return (a = null), o + "" || null + } + return ( + (s.source = function (o) { + return arguments.length ? ((e = o), s) : e + }), + (s.target = function (o) { + return arguments.length ? ((r = o), s) : r + }), + (s.x = function (o) { + return arguments.length ? ((n = typeof o == "function" ? o : vN(+o)), s) : n + }), + (s.y = function (o) { + return arguments.length ? ((i = typeof o == "function" ? o : vN(+o)), s) : i + }), + (s.context = function (o) { + return arguments.length ? ((a = o ?? null), s) : a + }), + s + ) +} +function F_e(t, e, r, n, i) { + t.moveTo(e, r), t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i) +} +function $_e() { + return B_e(F_e) +} +function z_e(t) { + return [t.source.x1, t.y0] +} +function V_e(t) { + return [t.target.x0, t.y1] +} +function G_e() { + return $_e().source(z_e).target(V_e) +} +var eT = (function () { + var t = x(function (o, l, u, h) { + for (u = u || {}, h = o.length; h--; u[o[h]] = l); + return u + }, "o"), + e = [1, 9], + r = [1, 10], + n = [1, 5, 10, 12], + i = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + start: 3, + SANKEY: 4, + NEWLINE: 5, + csv: 6, + opt_eof: 7, + record: 8, + csv_tail: 9, + EOF: 10, + "field[source]": 11, + COMMA: 12, + "field[target]": 13, + "field[value]": 14, + field: 15, + escaped: 16, + non_escaped: 17, + DQUOTE: 18, + ESCAPED_TEXT: 19, + NON_ESCAPED_TEXT: 20, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "SANKEY", + 5: "NEWLINE", + 10: "EOF", + 11: "field[source]", + 12: "COMMA", + 13: "field[target]", + 14: "field[value]", + 18: "DQUOTE", + 19: "ESCAPED_TEXT", + 20: "NON_ESCAPED_TEXT", + }, + productions_: [ + 0, + [3, 4], + [6, 2], + [9, 2], + [9, 0], + [7, 1], + [7, 0], + [8, 5], + [15, 1], + [15, 1], + [16, 3], + [17, 1], + ], + performAction: x(function (l, u, h, d, f, p, g) { + var m = p.length - 1 + switch (f) { + case 7: + const v = d.findOrCreateNode(p[m - 4].trim().replaceAll('""', '"')), + y = d.findOrCreateNode(p[m - 2].trim().replaceAll('""', '"')), + b = parseFloat(p[m].trim()) + d.addLink(v, y, b) + break + case 8: + case 9: + case 11: + this.$ = p[m] + break + case 10: + this.$ = p[m - 1] + break + } + }, "anonymous"), + table: [ + { 3: 1, 4: [1, 2] }, + { 1: [3] }, + { 5: [1, 3] }, + { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r }, + { 1: [2, 6], 7: 11, 10: [1, 12] }, + t(r, [2, 4], { 9: 13, 5: [1, 14] }), + { 12: [1, 15] }, + t(n, [2, 8]), + t(n, [2, 9]), + { 19: [1, 16] }, + t(n, [2, 11]), + { 1: [2, 1] }, + { 1: [2, 5] }, + t(r, [2, 2]), + { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: e, 20: r }, + { 15: 18, 16: 7, 17: 8, 18: e, 20: r }, + { 18: [1, 19] }, + t(r, [2, 3]), + { 12: [1, 20] }, + t(n, [2, 10]), + { 15: 21, 16: 7, 17: 8, 18: e, 20: r }, + t([1, 5, 10], [2, 7]), + ], + defaultActions: { 11: [2, 1], 12: [2, 5] }, + parseError: x(function (l, u) { + if (u.recoverable) this.trace(l) + else { + var h = new Error(l) + throw ((h.hash = u), h) + } + }, "parseError"), + parse: x(function (l) { + var u = this, + h = [0], + d = [], + f = [null], + p = [], + g = this.table, + m = "", + v = 0, + y = 0, + b = 2, + w = 1, + T = p.slice.call(arguments, 1), + E = Object.create(this.lexer), + S = { yy: {} } + for (var k in this.yy) Object.prototype.hasOwnProperty.call(this.yy, k) && (S.yy[k] = this.yy[k]) + E.setInput(l, S.yy), (S.yy.lexer = E), (S.yy.parser = this), typeof E.yylloc > "u" && (E.yylloc = {}) + var L = E.yylloc + p.push(L) + var A = E.options && E.options.ranges + typeof S.yy.parseError == "function" + ? (this.parseError = S.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function R(G) { + ;(h.length = h.length - 2 * G), (f.length = f.length - G), (p.length = p.length - G) + } + x(R, "popStack") + function C() { + var G + return ( + (G = d.pop() || E.lex() || w), + typeof G != "number" && + (G instanceof Array && ((d = G), (G = d.pop())), (G = u.symbols_[G] || G)), + G + ) + } + x(C, "lex") + for (var I, P, _, N, M = {}, O, D, B, z; ; ) { + if ( + ((P = h[h.length - 1]), + this.defaultActions[P] + ? (_ = this.defaultActions[P]) + : ((I === null || typeof I > "u") && (I = C()), (_ = g[P] && g[P][I])), + typeof _ > "u" || !_.length || !_[0]) + ) { + var F = "" + z = [] + for (O in g[P]) this.terminals_[O] && O > b && z.push("'" + this.terminals_[O] + "'") + E.showPosition + ? (F = + "Parse error on line " + + (v + 1) + + `: +` + + E.showPosition() + + ` +Expecting ` + + z.join(", ") + + ", got '" + + (this.terminals_[I] || I) + + "'") + : (F = + "Parse error on line " + + (v + 1) + + ": Unexpected " + + (I == w ? "end of input" : "'" + (this.terminals_[I] || I) + "'")), + this.parseError(F, { + text: E.match, + token: this.terminals_[I] || I, + line: E.yylineno, + loc: L, + expected: z, + }) + } + if (_[0] instanceof Array && _.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + P + ", token: " + I) + switch (_[0]) { + case 1: + h.push(I), + f.push(E.yytext), + p.push(E.yylloc), + h.push(_[1]), + (I = null), + (y = E.yyleng), + (m = E.yytext), + (v = E.yylineno), + (L = E.yylloc) + break + case 2: + if ( + ((D = this.productions_[_[1]][1]), + (M.$ = f[f.length - D]), + (M._$ = { + first_line: p[p.length - (D || 1)].first_line, + last_line: p[p.length - 1].last_line, + first_column: p[p.length - (D || 1)].first_column, + last_column: p[p.length - 1].last_column, + }), + A && (M._$.range = [p[p.length - (D || 1)].range[0], p[p.length - 1].range[1]]), + (N = this.performAction.apply(M, [m, y, v, S.yy, _[1], f, p].concat(T))), + typeof N < "u") + ) + return N + D && ((h = h.slice(0, -1 * D * 2)), (f = f.slice(0, -1 * D)), (p = p.slice(0, -1 * D))), + h.push(this.productions_[_[1]][0]), + f.push(M.$), + p.push(M._$), + (B = g[h[h.length - 2]][h[h.length - 1]]), + h.push(B) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + a = (function () { + var o = { + EOF: 1, + parseError: x(function (u, h) { + if (this.yy.parser) this.yy.parser.parseError(u, h) + else throw new Error(u) + }, "parseError"), + setInput: x(function (l, u) { + return ( + (this.yy = u || this.yy || {}), + (this._input = l), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var l = this._input[0] + ;(this.yytext += l), this.yyleng++, this.offset++, (this.match += l), (this.matched += l) + var u = l.match(/(?:\r\n?|\n).*/g) + return ( + u ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + l + ) + }, "input"), + unput: x(function (l) { + var u = l.length, + h = l.split(/(?:\r\n?|\n)/g) + ;(this._input = l + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - u)), + (this.offset -= u) + var d = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + h.length - 1 && (this.yylineno -= h.length - 1) + var f = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: h + ? (h.length === d.length ? this.yylloc.first_column : 0) + + d[d.length - h.length].length - + h[0].length + : this.yylloc.first_column - u, + }), + this.options.ranges && (this.yylloc.range = [f[0], f[0] + this.yyleng - u]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (l) { + this.unput(this.match.slice(l)) + }, "less"), + pastInput: x(function () { + var l = this.matched.substr(0, this.matched.length - this.match.length) + return (l.length > 20 ? "..." : "") + l.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var l = this.match + return ( + l.length < 20 && (l += this._input.substr(0, 20 - l.length)), + (l.substr(0, 20) + (l.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var l = this.pastInput(), + u = new Array(l.length + 1).join("-") + return ( + l + + this.upcomingInput() + + ` +` + + u + + "^" + ) + }, "showPosition"), + test_match: x(function (l, u) { + var h, d, f + if ( + (this.options.backtrack_lexer && + ((f = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (f.yylloc.range = this.yylloc.range.slice(0))), + (d = l[0].match(/(?:\r\n?|\n).*/g)), + d && (this.yylineno += d.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: d + ? d[d.length - 1].length - d[d.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + l[0].length, + }), + (this.yytext += l[0]), + (this.match += l[0]), + (this.matches = l), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(l[0].length)), + (this.matched += l[0]), + (h = this.performAction.call( + this, + this.yy, + this, + u, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + h) + ) + return h + if (this._backtrack) { + for (var p in f) this[p] = f[p] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var l, u, h, d + this._more || ((this.yytext = ""), (this.match = "")) + for (var f = this._currentRules(), p = 0; p < f.length; p++) + if (((h = this._input.match(this.rules[f[p]])), h && (!u || h[0].length > u[0].length))) { + if (((u = h), (d = p), this.options.backtrack_lexer)) { + if (((l = this.test_match(h, f[p])), l !== !1)) return l + if (this._backtrack) { + u = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return u + ? ((l = this.test_match(u, f[d])), l !== !1 ? l : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var u = this.next() + return u || this.lex() + }, "lex"), + begin: x(function (u) { + this.conditionStack.push(u) + }, "begin"), + popState: x(function () { + var u = this.conditionStack.length - 1 + return u > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (u) { + return ( + (u = this.conditionStack.length - 1 - Math.abs(u || 0)), + u >= 0 ? this.conditionStack[u] : "INITIAL" + ) + }, "topState"), + pushState: x(function (u) { + this.begin(u) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: { "case-insensitive": !0 }, + performAction: x(function (u, h, d, f) { + switch (d) { + case 0: + return this.pushState("csv"), 4 + case 1: + return 10 + case 2: + return 5 + case 3: + return 12 + case 4: + return this.pushState("escaped_text"), 18 + case 5: + return 20 + case 6: + return this.popState("escaped_text"), 18 + case 7: + return 19 + } + }, "anonymous"), + rules: [ + /^(?:sankey-beta\b)/i, + /^(?:$)/i, + /^(?:((\u000D\u000A)|(\u000A)))/i, + /^(?:(\u002C))/i, + /^(?:(\u0022))/i, + /^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i, + /^(?:(\u0022)(?!(\u0022)))/i, + /^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i, + ], + conditions: { + csv: { rules: [1, 2, 3, 4, 5, 6, 7], inclusive: !1 }, + escaped_text: { rules: [6, 7], inclusive: !1 }, + INITIAL: { rules: [0, 1, 2, 3, 4, 5, 6, 7], inclusive: !0 }, + }, + } + return o + })() + i.lexer = a + function s() { + this.yy = {} + } + return x(s, "Parser"), (s.prototype = i), (i.Parser = s), new s() +})() +eT.parser = eT +var l2 = eT, + Wx = [], + Hx = [], + c2 = new Map(), + U_e = x(() => { + ;(Wx = []), (Hx = []), (c2 = new Map()), Gn() + }, "clear"), + md, + q_e = + ((md = class { + constructor(e, r, n = 0) { + ;(this.source = e), (this.target = r), (this.value = n) + } + }), + x(md, "SankeyLink"), + md), + W_e = x((t, e, r) => { + Wx.push(new q_e(t, e, r)) + }, "addLink"), + vd, + H_e = + ((vd = class { + constructor(e) { + this.ID = e + } + }), + x(vd, "SankeyNode"), + vd), + Y_e = x((t) => { + t = it.sanitizeText(t, we()) + let e = c2.get(t) + return e === void 0 && ((e = new H_e(t)), c2.set(t, e), Hx.push(e)), e + }, "findOrCreateNode"), + X_e = x(() => Hx, "getNodes"), + j_e = x(() => Wx, "getLinks"), + K_e = x( + () => ({ + nodes: Hx.map((t) => ({ id: t.ID })), + links: Wx.map((t) => ({ source: t.source.ID, target: t.target.ID, value: t.value })), + }), + "getGraph", + ), + Z_e = { + nodesMap: c2, + getConfig: x(() => we().sankey, "getConfig"), + getNodes: X_e, + getLinks: j_e, + getGraph: K_e, + addLink: W_e, + findOrCreateNode: Y_e, + getAccTitle: Zn, + setAccTitle: $n, + getAccDescription: Jn, + setAccDescription: Qn, + getDiagramTitle: Un, + setDiagramTitle: fi, + clear: U_e, + }, + Mo, + yN = + ((Mo = class { + static next(e) { + return new Mo(e + ++Mo.count) + } + constructor(e) { + ;(this.id = e), (this.href = `#${e}`) + } + toString() { + return "url(" + this.href + ")" + } + }), + x(Mo, "Uid"), + (Mo.count = 0), + Mo), + Q_e = { left: k_e, right: S_e, center: C_e, justify: iH }, + J_e = x(function (t, e, r, n) { + const { securityLevel: i, sankey: a } = we(), + s = sI.sankey + let o + i === "sandbox" && (o = rt("#i" + e)) + const l = rt(i === "sandbox" ? o.nodes()[0].contentDocument.body : "body"), + u = i === "sandbox" ? l.select(`[id="${e}"]`) : rt(`[id="${e}"]`), + h = (a == null ? void 0 : a.width) ?? s.width, + d = (a == null ? void 0 : a.height) ?? s.width, + f = (a == null ? void 0 : a.useMaxWidth) ?? s.useMaxWidth, + p = (a == null ? void 0 : a.nodeAlignment) ?? s.nodeAlignment, + g = (a == null ? void 0 : a.prefix) ?? s.prefix, + m = (a == null ? void 0 : a.suffix) ?? s.suffix, + v = (a == null ? void 0 : a.showValues) ?? s.showValues, + y = n.db.getGraph(), + b = Q_e[p] + R_e() + .nodeId((R) => R.id) + .nodeWidth(10) + .nodePadding(10 + (v ? 15 : 0)) + .nodeAlign(b) + .extent([ + [0, 0], + [h, d], + ])(y) + const E = M2(mne) + u.append("g") + .attr("class", "nodes") + .selectAll(".node") + .data(y.nodes) + .join("g") + .attr("class", "node") + .attr("id", (R) => (R.uid = yN.next("node-")).id) + .attr("transform", function (R) { + return "translate(" + R.x0 + "," + R.y0 + ")" + }) + .attr("x", (R) => R.x0) + .attr("y", (R) => R.y0) + .append("rect") + .attr("height", (R) => R.y1 - R.y0) + .attr("width", (R) => R.x1 - R.x0) + .attr("fill", (R) => E(R.id)) + const S = x( + ({ id: R, value: C }) => + v + ? `${R} +${g}${Math.round(C * 100) / 100}${m}` + : R, + "getText", + ) + u.append("g") + .attr("class", "node-labels") + .attr("font-size", 14) + .selectAll("text") + .data(y.nodes) + .join("text") + .attr("x", (R) => (R.x0 < h / 2 ? R.x1 + 6 : R.x0 - 6)) + .attr("y", (R) => (R.y1 + R.y0) / 2) + .attr("dy", `${v ? "0" : "0.35"}em`) + .attr("text-anchor", (R) => (R.x0 < h / 2 ? "start" : "end")) + .text(S) + const k = u + .append("g") + .attr("class", "links") + .attr("fill", "none") + .attr("stroke-opacity", 0.5) + .selectAll(".link") + .data(y.links) + .join("g") + .attr("class", "link") + .style("mix-blend-mode", "multiply"), + L = (a == null ? void 0 : a.linkColor) ?? "gradient" + if (L === "gradient") { + const R = k + .append("linearGradient") + .attr("id", (C) => (C.uid = yN.next("linearGradient-")).id) + .attr("gradientUnits", "userSpaceOnUse") + .attr("x1", (C) => C.source.x1) + .attr("x2", (C) => C.target.x0) + R.append("stop") + .attr("offset", "0%") + .attr("stop-color", (C) => E(C.source.id)), + R.append("stop") + .attr("offset", "100%") + .attr("stop-color", (C) => E(C.target.id)) + } + let A + switch (L) { + case "gradient": + A = x((R) => R.uid, "coloring") + break + case "source": + A = x((R) => E(R.source.id), "coloring") + break + case "target": + A = x((R) => E(R.target.id), "coloring") + break + default: + A = L + } + k + .append("path") + .attr("d", G_e()) + .attr("stroke", A) + .attr("stroke-width", (R) => Math.max(1, R.width)), + rf(void 0, u, 0, f) + }, "draw"), + e9e = { draw: J_e }, + t9e = x( + (t) => + t + .replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g, "") + .replaceAll( + /([\n\r])+/g, + ` +`, + ) + .trim(), + "prepareTextForParsing", + ), + r9e = x( + (t) => `.label { + font-family: ${t.fontFamily}; + }`, + "getStyles", + ), + n9e = r9e, + i9e = l2.parse.bind(l2) +l2.parse = (t) => i9e(t9e(t)) +var a9e = { styles: n9e, parser: l2, db: Z_e, renderer: e9e } +const s9e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: a9e }, Symbol.toStringTag, { value: "Module" }), +) +var sH = { packet: [] }, + BS = structuredClone(sH), + o9e = hr.packet, + l9e = x(() => { + const t = ns({ ...o9e, ...Dr().packet }) + return t.showBits && (t.paddingY += 10), t + }, "getConfig"), + c9e = x(() => BS.packet, "getPacket"), + u9e = x((t) => { + t.length > 0 && BS.packet.push(t) + }, "pushWord"), + h9e = x(() => { + Gn(), (BS = structuredClone(sH)) + }, "clear"), + th = { + pushWord: u9e, + getPacket: c9e, + getConfig: l9e, + clear: h9e, + setAccTitle: $n, + getAccTitle: Zn, + setDiagramTitle: fi, + getDiagramTitle: Un, + getAccDescription: Jn, + setAccDescription: Qn, + }, + d9e = 1e4, + f9e = x((t) => { + hf(t, th) + let e = -1, + r = [], + n = 1 + const { bitsPerRow: i } = th.getConfig() + for (let { start: a, end: s, label: o } of t.blocks) { + if (s && s < a) throw new Error(`Packet block ${a} - ${s} is invalid. End must be greater than start.`) + if (a !== e + 1) + throw new Error(`Packet block ${a} - ${s ?? a} is not contiguous. It should start from ${e + 1}.`) + for ( + e = s ?? a, ie.debug(`Packet block ${a} - ${e} with label ${o}`); + r.length <= i + 1 && th.getPacket().length < d9e; + + ) { + const [l, u] = p9e({ start: a, end: s, label: o }, n, i) + if ((r.push(l), l.end + 1 === n * i && (th.pushWord(r), (r = []), n++), !u)) break + ;({ start: a, end: s, label: o } = u) + } + } + th.pushWord(r) + }, "populate"), + p9e = x((t, e, r) => { + if ((t.end === void 0 && (t.end = t.start), t.start > t.end)) + throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`) + return t.end + 1 <= e * r + ? [t, void 0] + : [ + { start: t.start, end: e * r - 1, label: t.label }, + { start: e * r, end: t.end, label: t.label }, + ] + }, "getNextFittingBlock"), + g9e = { + parse: x(async (t) => { + const e = await Ru("packet", t) + ie.debug(e), f9e(e) + }, "parse"), + }, + m9e = x((t, e, r, n) => { + const i = n.db, + a = i.getConfig(), + { rowHeight: s, paddingY: o, bitWidth: l, bitsPerRow: u } = a, + h = i.getPacket(), + d = i.getDiagramTitle(), + f = s + o, + p = f * (h.length + 1) - (d ? 0 : s), + g = l * u + 2, + m = il(e) + m.attr("viewbox", `0 0 ${g} ${p}`), da(m, p, g, a.useMaxWidth) + for (const [v, y] of h.entries()) v9e(m, y, v, a) + m.append("text") + .text(d) + .attr("x", g / 2) + .attr("y", p - f / 2) + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle") + .attr("class", "packetTitle") + }, "draw"), + v9e = x((t, e, r, { rowHeight: n, paddingX: i, paddingY: a, bitWidth: s, bitsPerRow: o, showBits: l }) => { + const u = t.append("g"), + h = r * (n + a) + a + for (const d of e) { + const f = (d.start % o) * s + 1, + p = (d.end - d.start + 1) * s - i + if ( + (u + .append("rect") + .attr("x", f) + .attr("y", h) + .attr("width", p) + .attr("height", n) + .attr("class", "packetBlock"), + u + .append("text") + .attr("x", f + p / 2) + .attr("y", h + n / 2) + .attr("class", "packetLabel") + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle") + .text(d.label), + !l) + ) + continue + const g = d.end === d.start, + m = h - 2 + u + .append("text") + .attr("x", f + (g ? p / 2 : 0)) + .attr("y", m) + .attr("class", "packetByte start") + .attr("dominant-baseline", "auto") + .attr("text-anchor", g ? "middle" : "start") + .text(d.start), + g || + u + .append("text") + .attr("x", f + p) + .attr("y", m) + .attr("class", "packetByte end") + .attr("dominant-baseline", "auto") + .attr("text-anchor", "end") + .text(d.end) + } + }, "drawWord"), + y9e = { draw: m9e }, + x9e = { + byteFontSize: "10px", + startByteColor: "black", + endByteColor: "black", + labelColor: "black", + labelFontSize: "12px", + titleColor: "black", + titleFontSize: "14px", + blockStrokeColor: "black", + blockStrokeWidth: "1", + blockFillColor: "#efefef", + }, + b9e = x(({ packet: t } = {}) => { + const e = ns(x9e, t) + return ` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + ` + }, "styles"), + w9e = { parser: g9e, db: th, renderer: y9e, styles: b9e } +const T9e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: w9e }, Symbol.toStringTag, { value: "Module" }), +) +var rh = { showLegend: !0, ticks: 5, max: null, min: 0, graticule: "circle" }, + oH = { axes: [], curves: [], options: rh }, + Ou = structuredClone(oH), + E9e = hr.radar, + k9e = x(() => ns({ ...E9e, ...Dr().radar }), "getConfig"), + lH = x(() => Ou.axes, "getAxes"), + S9e = x(() => Ou.curves, "getCurves"), + C9e = x(() => Ou.options, "getOptions"), + A9e = x((t) => { + Ou.axes = t.map((e) => ({ name: e.name, label: e.label ?? e.name })) + }, "setAxes"), + _9e = x((t) => { + Ou.curves = t.map((e) => ({ name: e.name, label: e.label ?? e.name, entries: L9e(e.entries) })) + }, "setCurves"), + L9e = x((t) => { + if (t[0].axis == null) return t.map((r) => r.value) + const e = lH() + if (e.length === 0) throw new Error("Axes must be populated before curves for reference entries") + return e.map((r) => { + const n = t.find((i) => { + var a + return ((a = i.axis) == null ? void 0 : a.$refText) === r.name + }) + if (n === void 0) throw new Error("Missing entry for axis " + r.label) + return n.value + }) + }, "computeCurveEntries"), + R9e = x((t) => { + var r, n, i, a, s + const e = t.reduce((o, l) => ((o[l.name] = l), o), {}) + Ou.options = { + showLegend: ((r = e.showLegend) == null ? void 0 : r.value) ?? rh.showLegend, + ticks: ((n = e.ticks) == null ? void 0 : n.value) ?? rh.ticks, + max: ((i = e.max) == null ? void 0 : i.value) ?? rh.max, + min: ((a = e.min) == null ? void 0 : a.value) ?? rh.min, + graticule: ((s = e.graticule) == null ? void 0 : s.value) ?? rh.graticule, + } + }, "setOptions"), + N9e = x(() => { + Gn(), (Ou = structuredClone(oH)) + }, "clear"), + j0 = { + getAxes: lH, + getCurves: S9e, + getOptions: C9e, + setAxes: A9e, + setCurves: _9e, + setOptions: R9e, + getConfig: k9e, + clear: N9e, + setAccTitle: $n, + getAccTitle: Zn, + setDiagramTitle: fi, + getDiagramTitle: Un, + getAccDescription: Jn, + setAccDescription: Qn, + }, + D9e = x((t) => { + hf(t, j0) + const { axes: e, curves: r, options: n } = t + j0.setAxes(e), j0.setCurves(r), j0.setOptions(n) + }, "populate"), + I9e = { + parse: x(async (t) => { + const e = await Ru("radar", t) + ie.debug(e), D9e(e) + }, "parse"), + }, + M9e = x((t, e, r, n) => { + const i = n.db, + a = i.getAxes(), + s = i.getCurves(), + o = i.getOptions(), + l = i.getConfig(), + u = i.getDiagramTitle(), + h = il(e), + d = O9e(h, l), + f = o.max ?? Math.max(...s.map((m) => Math.max(...m.entries))), + p = o.min, + g = Math.min(l.width, l.height) / 2 + P9e(d, a, g, o.ticks, o.graticule), + B9e(d, a, g, l), + cH(d, a, s, p, f, o.graticule, l), + dH(d, s, o.showLegend, l), + d + .append("text") + .attr("class", "radarTitle") + .text(u) + .attr("x", 0) + .attr("y", -l.height / 2 - l.marginTop) + }, "draw"), + O9e = x((t, e) => { + const r = e.width + e.marginLeft + e.marginRight, + n = e.height + e.marginTop + e.marginBottom, + i = { x: e.marginLeft + e.width / 2, y: e.marginTop + e.height / 2 } + return ( + t.attr("viewbox", `0 0 ${r} ${n}`).attr("width", r).attr("height", n), + t.append("g").attr("transform", `translate(${i.x}, ${i.y})`) + ) + }, "drawFrame"), + P9e = x((t, e, r, n, i) => { + if (i === "circle") + for (let a = 0; a < n; a++) { + const s = (r * (a + 1)) / n + t.append("circle").attr("r", s).attr("class", "radarGraticule") + } + else if (i === "polygon") { + const a = e.length + for (let s = 0; s < n; s++) { + const o = (r * (s + 1)) / n, + l = e + .map((u, h) => { + const d = (2 * h * Math.PI) / a - Math.PI / 2, + f = o * Math.cos(d), + p = o * Math.sin(d) + return `${f},${p}` + }) + .join(" ") + t.append("polygon").attr("points", l).attr("class", "radarGraticule") + } + } + }, "drawGraticule"), + B9e = x((t, e, r, n) => { + const i = e.length + for (let a = 0; a < i; a++) { + const s = e[a].label, + o = (2 * a * Math.PI) / i - Math.PI / 2 + t + .append("line") + .attr("x1", 0) + .attr("y1", 0) + .attr("x2", r * n.axisScaleFactor * Math.cos(o)) + .attr("y2", r * n.axisScaleFactor * Math.sin(o)) + .attr("class", "radarAxisLine"), + t + .append("text") + .text(s) + .attr("x", r * n.axisLabelFactor * Math.cos(o)) + .attr("y", r * n.axisLabelFactor * Math.sin(o)) + .attr("class", "radarAxisLabel") + } + }, "drawAxes") +function cH(t, e, r, n, i, a, s) { + const o = e.length, + l = Math.min(s.width, s.height) / 2 + r.forEach((u, h) => { + if (u.entries.length !== o) return + const d = u.entries.map((f, p) => { + const g = (2 * Math.PI * p) / o - Math.PI / 2, + m = uH(f, n, i, l), + v = m * Math.cos(g), + y = m * Math.sin(g) + return { x: v, y } + }) + a === "circle" + ? t.append("path").attr("d", hH(d, s.curveTension)).attr("class", `radarCurve-${h}`) + : a === "polygon" && + t + .append("polygon") + .attr("points", d.map((f) => `${f.x},${f.y}`).join(" ")) + .attr("class", `radarCurve-${h}`) + }) +} +x(cH, "drawCurves") +function uH(t, e, r, n) { + const i = Math.min(Math.max(t, e), r) + return (n * (i - e)) / (r - e) +} +x(uH, "relativeRadius") +function hH(t, e) { + const r = t.length + let n = `M${t[0].x},${t[0].y}` + for (let i = 0; i < r; i++) { + const a = t[(i - 1 + r) % r], + s = t[i], + o = t[(i + 1) % r], + l = t[(i + 2) % r], + u = { x: s.x + (o.x - a.x) * e, y: s.y + (o.y - a.y) * e }, + h = { x: o.x - (l.x - s.x) * e, y: o.y - (l.y - s.y) * e } + n += ` C${u.x},${u.y} ${h.x},${h.y} ${o.x},${o.y}` + } + return `${n} Z` +} +x(hH, "closedRoundCurve") +function dH(t, e, r, n) { + if (!r) return + const i = ((n.width / 2 + n.marginRight) * 3) / 4, + a = (-(n.height / 2 + n.marginTop) * 3) / 4, + s = 20 + e.forEach((o, l) => { + const u = t.append("g").attr("transform", `translate(${i}, ${a + l * s})`) + u.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${l}`), + u.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(o.label) + }) +} +x(dH, "drawLegend") +var F9e = { draw: M9e }, + $9e = x((t, e) => { + let r = "" + for (let n = 0; n < t.THEME_COLOR_LIMIT; n++) { + const i = t[`cScale${n}`] + r += ` + .radarCurve-${n} { + color: ${i}; + fill: ${i}; + fill-opacity: ${e.curveOpacity}; + stroke: ${i}; + stroke-width: ${e.curveStrokeWidth}; + } + .radarLegendBox-${n} { + fill: ${i}; + fill-opacity: ${e.curveOpacity}; + stroke: ${i}; + } + ` + } + return r + }, "genIndexStyles"), + z9e = x((t) => { + const e = k2(), + r = Dr(), + n = ns(e, r.themeVariables), + i = ns(n.radar, t) + return { themeVariables: n, radarOptions: i } + }, "buildRadarStyleOptions"), + V9e = x(({ radar: t } = {}) => { + const { themeVariables: e, radarOptions: r } = z9e(t) + return ` + .radarTitle { + font-size: ${e.fontSize}; + color: ${e.titleColor}; + dominant-baseline: hanging; + text-anchor: middle; + } + .radarAxisLine { + stroke: ${r.axisColor}; + stroke-width: ${r.axisStrokeWidth}; + } + .radarAxisLabel { + dominant-baseline: middle; + text-anchor: middle; + font-size: ${r.axisLabelFontSize}px; + color: ${r.axisColor}; + } + .radarGraticule { + fill: ${r.graticuleColor}; + fill-opacity: ${r.graticuleOpacity}; + stroke: ${r.graticuleColor}; + stroke-width: ${r.graticuleStrokeWidth}; + } + .radarLegendText { + text-anchor: start; + font-size: ${r.legendFontSize}px; + dominant-baseline: hanging; + } + ${$9e(e, r)} + ` + }, "styles"), + G9e = { parser: I9e, db: j0, renderer: F9e, styles: V9e } +const U9e = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: G9e }, Symbol.toStringTag, { value: "Module" }), +) +var tT = (function () { + var t = x(function (w, T, E, S) { + for (E = E || {}, S = w.length; S--; E[w[S]] = T); + return E + }, "o"), + e = [1, 7], + r = [1, 13], + n = [1, 14], + i = [1, 15], + a = [1, 19], + s = [1, 16], + o = [1, 17], + l = [1, 18], + u = [8, 30], + h = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47], + d = [1, 23], + f = [1, 24], + p = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47], + g = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47], + m = [1, 49], + v = { + trace: x(function () {}, "trace"), + yy: {}, + symbols_: { + error: 2, + spaceLines: 3, + SPACELINE: 4, + NL: 5, + separator: 6, + SPACE: 7, + EOF: 8, + start: 9, + BLOCK_DIAGRAM_KEY: 10, + document: 11, + stop: 12, + statement: 13, + link: 14, + LINK: 15, + START_LINK: 16, + LINK_LABEL: 17, + STR: 18, + nodeStatement: 19, + columnsStatement: 20, + SPACE_BLOCK: 21, + blockStatement: 22, + classDefStatement: 23, + cssClassStatement: 24, + styleStatement: 25, + node: 26, + SIZE: 27, + COLUMNS: 28, + "id-block": 29, + end: 30, + block: 31, + NODE_ID: 32, + nodeShapeNLabel: 33, + dirList: 34, + DIR: 35, + NODE_DSTART: 36, + NODE_DEND: 37, + BLOCK_ARROW_START: 38, + BLOCK_ARROW_END: 39, + classDef: 40, + CLASSDEF_ID: 41, + CLASSDEF_STYLEOPTS: 42, + DEFAULT: 43, + class: 44, + CLASSENTITY_IDS: 45, + STYLECLASS: 46, + style: 47, + STYLE_ENTITY_IDS: 48, + STYLE_DEFINITION_DATA: 49, + $accept: 0, + $end: 1, + }, + terminals_: { + 2: "error", + 4: "SPACELINE", + 5: "NL", + 7: "SPACE", + 8: "EOF", + 10: "BLOCK_DIAGRAM_KEY", + 15: "LINK", + 16: "START_LINK", + 17: "LINK_LABEL", + 18: "STR", + 21: "SPACE_BLOCK", + 27: "SIZE", + 28: "COLUMNS", + 29: "id-block", + 30: "end", + 31: "block", + 32: "NODE_ID", + 35: "DIR", + 36: "NODE_DSTART", + 37: "NODE_DEND", + 38: "BLOCK_ARROW_START", + 39: "BLOCK_ARROW_END", + 40: "classDef", + 41: "CLASSDEF_ID", + 42: "CLASSDEF_STYLEOPTS", + 43: "DEFAULT", + 44: "class", + 45: "CLASSENTITY_IDS", + 46: "STYLECLASS", + 47: "style", + 48: "STYLE_ENTITY_IDS", + 49: "STYLE_DEFINITION_DATA", + }, + productions_: [ + 0, + [3, 1], + [3, 2], + [3, 2], + [6, 1], + [6, 1], + [6, 1], + [9, 3], + [12, 1], + [12, 1], + [12, 2], + [12, 2], + [11, 1], + [11, 2], + [14, 1], + [14, 4], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [13, 1], + [19, 3], + [19, 2], + [19, 1], + [20, 1], + [22, 4], + [22, 3], + [26, 1], + [26, 2], + [34, 1], + [34, 2], + [33, 3], + [33, 4], + [23, 3], + [23, 3], + [24, 3], + [25, 3], + ], + performAction: x(function (T, E, S, k, L, A, R) { + var C = A.length - 1 + switch (L) { + case 4: + k.getLogger().debug("Rule: separator (NL) ") + break + case 5: + k.getLogger().debug("Rule: separator (Space) ") + break + case 6: + k.getLogger().debug("Rule: separator (EOF) ") + break + case 7: + k.getLogger().debug("Rule: hierarchy: ", A[C - 1]), k.setHierarchy(A[C - 1]) + break + case 8: + k.getLogger().debug("Stop NL ") + break + case 9: + k.getLogger().debug("Stop EOF ") + break + case 10: + k.getLogger().debug("Stop NL2 ") + break + case 11: + k.getLogger().debug("Stop EOF2 ") + break + case 12: + k.getLogger().debug("Rule: statement: ", A[C]), + typeof A[C].length == "number" ? (this.$ = A[C]) : (this.$ = [A[C]]) + break + case 13: + k.getLogger().debug("Rule: statement #2: ", A[C - 1]), (this.$ = [A[C - 1]].concat(A[C])) + break + case 14: + k.getLogger().debug("Rule: link: ", A[C], T), (this.$ = { edgeTypeStr: A[C], label: "" }) + break + case 15: + k.getLogger().debug("Rule: LABEL link: ", A[C - 3], A[C - 1], A[C]), + (this.$ = { edgeTypeStr: A[C], label: A[C - 1] }) + break + case 18: + const I = parseInt(A[C]), + P = k.generateId() + this.$ = { id: P, type: "space", label: "", width: I, children: [] } + break + case 23: + k.getLogger().debug( + "Rule: (nodeStatement link node) ", + A[C - 2], + A[C - 1], + A[C], + " typestr: ", + A[C - 1].edgeTypeStr, + ) + const _ = k.edgeStrToEdgeData(A[C - 1].edgeTypeStr) + this.$ = [ + { + id: A[C - 2].id, + label: A[C - 2].label, + type: A[C - 2].type, + directions: A[C - 2].directions, + }, + { + id: A[C - 2].id + "-" + A[C].id, + start: A[C - 2].id, + end: A[C].id, + label: A[C - 1].label, + type: "edge", + directions: A[C].directions, + arrowTypeEnd: _, + arrowTypeStart: "arrow_open", + }, + { + id: A[C].id, + label: A[C].label, + type: k.typeStr2Type(A[C].typeStr), + directions: A[C].directions, + }, + ] + break + case 24: + k.getLogger().debug("Rule: nodeStatement (abc88 node size) ", A[C - 1], A[C]), + (this.$ = { + id: A[C - 1].id, + label: A[C - 1].label, + type: k.typeStr2Type(A[C - 1].typeStr), + directions: A[C - 1].directions, + widthInColumns: parseInt(A[C], 10), + }) + break + case 25: + k.getLogger().debug("Rule: nodeStatement (node) ", A[C]), + (this.$ = { + id: A[C].id, + label: A[C].label, + type: k.typeStr2Type(A[C].typeStr), + directions: A[C].directions, + widthInColumns: 1, + }) + break + case 26: + k.getLogger().debug("APA123", this ? this : "na"), + k.getLogger().debug("COLUMNS: ", A[C]), + (this.$ = { type: "column-setting", columns: A[C] === "auto" ? -1 : parseInt(A[C]) }) + break + case 27: + k.getLogger().debug("Rule: id-block statement : ", A[C - 2], A[C - 1]), + k.generateId(), + (this.$ = { ...A[C - 2], type: "composite", children: A[C - 1] }) + break + case 28: + k.getLogger().debug("Rule: blockStatement : ", A[C - 2], A[C - 1], A[C]) + const N = k.generateId() + this.$ = { id: N, type: "composite", label: "", children: A[C - 1] } + break + case 29: + k.getLogger().debug("Rule: node (NODE_ID separator): ", A[C]), (this.$ = { id: A[C] }) + break + case 30: + k.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ", A[C - 1], A[C]), + (this.$ = { + id: A[C - 1], + label: A[C].label, + typeStr: A[C].typeStr, + directions: A[C].directions, + }) + break + case 31: + k.getLogger().debug("Rule: dirList: ", A[C]), (this.$ = [A[C]]) + break + case 32: + k.getLogger().debug("Rule: dirList: ", A[C - 1], A[C]), (this.$ = [A[C - 1]].concat(A[C])) + break + case 33: + k.getLogger().debug("Rule: nodeShapeNLabel: ", A[C - 2], A[C - 1], A[C]), + (this.$ = { typeStr: A[C - 2] + A[C], label: A[C - 1] }) + break + case 34: + k + .getLogger() + .debug("Rule: BLOCK_ARROW nodeShapeNLabel: ", A[C - 3], A[C - 2], " #3:", A[C - 1], A[C]), + (this.$ = { typeStr: A[C - 3] + A[C], label: A[C - 2], directions: A[C - 1] }) + break + case 35: + case 36: + this.$ = { type: "classDef", id: A[C - 1].trim(), css: A[C].trim() } + break + case 37: + this.$ = { type: "applyClass", id: A[C - 1].trim(), styleClass: A[C].trim() } + break + case 38: + this.$ = { type: "applyStyles", id: A[C - 1].trim(), stylesStr: A[C].trim() } + break + } + }, "anonymous"), + table: [ + { 9: 1, 10: [1, 2] }, + { 1: [3] }, + { + 11: 3, + 13: 4, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: o, + 47: l, + }, + { 8: [1, 20] }, + t(u, [2, 12], { + 13: 4, + 19: 5, + 20: 6, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 11: 21, + 21: e, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: o, + 47: l, + }), + t(h, [2, 16], { 14: 22, 15: d, 16: f }), + t(h, [2, 17]), + t(h, [2, 18]), + t(h, [2, 19]), + t(h, [2, 20]), + t(h, [2, 21]), + t(h, [2, 22]), + t(p, [2, 25], { 27: [1, 25] }), + t(h, [2, 26]), + { 19: 26, 26: 12, 32: a }, + { + 11: 27, + 13: 4, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: o, + 47: l, + }, + { 41: [1, 28], 43: [1, 29] }, + { 45: [1, 30] }, + { 48: [1, 31] }, + t(g, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }), + { 1: [2, 7] }, + t(u, [2, 13]), + { 26: 35, 32: a }, + { 32: [2, 14] }, + { 17: [1, 36] }, + t(p, [2, 24]), + { + 11: 37, + 13: 4, + 14: 22, + 15: d, + 16: f, + 19: 5, + 20: 6, + 21: e, + 22: 8, + 23: 9, + 24: 10, + 25: 11, + 26: 12, + 28: r, + 29: n, + 31: i, + 32: a, + 40: s, + 44: o, + 47: l, + }, + { 30: [1, 38] }, + { 42: [1, 39] }, + { 42: [1, 40] }, + { 46: [1, 41] }, + { 49: [1, 42] }, + t(g, [2, 30]), + { 18: [1, 43] }, + { 18: [1, 44] }, + t(p, [2, 23]), + { 18: [1, 45] }, + { 30: [1, 46] }, + t(h, [2, 28]), + t(h, [2, 35]), + t(h, [2, 36]), + t(h, [2, 37]), + t(h, [2, 38]), + { 37: [1, 47] }, + { 34: 48, 35: m }, + { 15: [1, 50] }, + t(h, [2, 27]), + t(g, [2, 33]), + { 39: [1, 51] }, + { 34: 52, 35: m, 39: [2, 31] }, + { 32: [2, 15] }, + t(g, [2, 34]), + { 39: [2, 32] }, + ], + defaultActions: { 20: [2, 7], 23: [2, 14], 50: [2, 15], 52: [2, 32] }, + parseError: x(function (T, E) { + if (E.recoverable) this.trace(T) + else { + var S = new Error(T) + throw ((S.hash = E), S) + } + }, "parseError"), + parse: x(function (T) { + var E = this, + S = [0], + k = [], + L = [null], + A = [], + R = this.table, + C = "", + I = 0, + P = 0, + _ = 2, + N = 1, + M = A.slice.call(arguments, 1), + O = Object.create(this.lexer), + D = { yy: {} } + for (var B in this.yy) Object.prototype.hasOwnProperty.call(this.yy, B) && (D.yy[B] = this.yy[B]) + O.setInput(T, D.yy), (D.yy.lexer = O), (D.yy.parser = this), typeof O.yylloc > "u" && (O.yylloc = {}) + var z = O.yylloc + A.push(z) + var F = O.options && O.options.ranges + typeof D.yy.parseError == "function" + ? (this.parseError = D.yy.parseError) + : (this.parseError = Object.getPrototypeOf(this).parseError) + function G(ne) { + ;(S.length = S.length - 2 * ne), (L.length = L.length - ne), (A.length = A.length - ne) + } + x(G, "popStack") + function q() { + var ne + return ( + (ne = k.pop() || O.lex() || N), + typeof ne != "number" && + (ne instanceof Array && ((k = ne), (ne = k.pop())), (ne = E.symbols_[ne] || ne)), + ne + ) + } + x(q, "lex") + for (var Y, ee, Q, oe, pe = {}, j, H, X, W; ; ) { + if ( + ((ee = S[S.length - 1]), + this.defaultActions[ee] + ? (Q = this.defaultActions[ee]) + : ((Y === null || typeof Y > "u") && (Y = q()), (Q = R[ee] && R[ee][Y])), + typeof Q > "u" || !Q.length || !Q[0]) + ) { + var K = "" + W = [] + for (j in R[ee]) this.terminals_[j] && j > _ && W.push("'" + this.terminals_[j] + "'") + O.showPosition + ? (K = + "Parse error on line " + + (I + 1) + + `: +` + + O.showPosition() + + ` +Expecting ` + + W.join(", ") + + ", got '" + + (this.terminals_[Y] || Y) + + "'") + : (K = + "Parse error on line " + + (I + 1) + + ": Unexpected " + + (Y == N ? "end of input" : "'" + (this.terminals_[Y] || Y) + "'")), + this.parseError(K, { + text: O.match, + token: this.terminals_[Y] || Y, + line: O.yylineno, + loc: z, + expected: W, + }) + } + if (Q[0] instanceof Array && Q.length > 1) + throw new Error("Parse Error: multiple actions possible at state: " + ee + ", token: " + Y) + switch (Q[0]) { + case 1: + S.push(Y), + L.push(O.yytext), + A.push(O.yylloc), + S.push(Q[1]), + (Y = null), + (P = O.yyleng), + (C = O.yytext), + (I = O.yylineno), + (z = O.yylloc) + break + case 2: + if ( + ((H = this.productions_[Q[1]][1]), + (pe.$ = L[L.length - H]), + (pe._$ = { + first_line: A[A.length - (H || 1)].first_line, + last_line: A[A.length - 1].last_line, + first_column: A[A.length - (H || 1)].first_column, + last_column: A[A.length - 1].last_column, + }), + F && (pe._$.range = [A[A.length - (H || 1)].range[0], A[A.length - 1].range[1]]), + (oe = this.performAction.apply(pe, [C, P, I, D.yy, Q[1], L, A].concat(M))), + typeof oe < "u") + ) + return oe + H && ((S = S.slice(0, -1 * H * 2)), (L = L.slice(0, -1 * H)), (A = A.slice(0, -1 * H))), + S.push(this.productions_[Q[1]][0]), + L.push(pe.$), + A.push(pe._$), + (X = R[S[S.length - 2]][S[S.length - 1]]), + S.push(X) + break + case 3: + return !0 + } + } + return !0 + }, "parse"), + }, + y = (function () { + var w = { + EOF: 1, + parseError: x(function (E, S) { + if (this.yy.parser) this.yy.parser.parseError(E, S) + else throw new Error(E) + }, "parseError"), + setInput: x(function (T, E) { + return ( + (this.yy = E || this.yy || {}), + (this._input = T), + (this._more = this._backtrack = this.done = !1), + (this.yylineno = this.yyleng = 0), + (this.yytext = this.matched = this.match = ""), + (this.conditionStack = ["INITIAL"]), + (this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }), + this.options.ranges && (this.yylloc.range = [0, 0]), + (this.offset = 0), + this + ) + }, "setInput"), + input: x(function () { + var T = this._input[0] + ;(this.yytext += T), this.yyleng++, this.offset++, (this.match += T), (this.matched += T) + var E = T.match(/(?:\r\n?|\n).*/g) + return ( + E ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, + this.options.ranges && this.yylloc.range[1]++, + (this._input = this._input.slice(1)), + T + ) + }, "input"), + unput: x(function (T) { + var E = T.length, + S = T.split(/(?:\r\n?|\n)/g) + ;(this._input = T + this._input), + (this.yytext = this.yytext.substr(0, this.yytext.length - E)), + (this.offset -= E) + var k = this.match.split(/(?:\r\n?|\n)/g) + ;(this.match = this.match.substr(0, this.match.length - 1)), + (this.matched = this.matched.substr(0, this.matched.length - 1)), + S.length - 1 && (this.yylineno -= S.length - 1) + var L = this.yylloc.range + return ( + (this.yylloc = { + first_line: this.yylloc.first_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.first_column, + last_column: S + ? (S.length === k.length ? this.yylloc.first_column : 0) + + k[k.length - S.length].length - + S[0].length + : this.yylloc.first_column - E, + }), + this.options.ranges && (this.yylloc.range = [L[0], L[0] + this.yyleng - E]), + (this.yyleng = this.yytext.length), + this + ) + }, "unput"), + more: x(function () { + return (this._more = !0), this + }, "more"), + reject: x(function () { + if (this.options.backtrack_lexer) this._backtrack = !0 + else + return this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + return this + }, "reject"), + less: x(function (T) { + this.unput(this.match.slice(T)) + }, "less"), + pastInput: x(function () { + var T = this.matched.substr(0, this.matched.length - this.match.length) + return (T.length > 20 ? "..." : "") + T.substr(-20).replace(/\n/g, "") + }, "pastInput"), + upcomingInput: x(function () { + var T = this.match + return ( + T.length < 20 && (T += this._input.substr(0, 20 - T.length)), + (T.substr(0, 20) + (T.length > 20 ? "..." : "")).replace(/\n/g, "") + ) + }, "upcomingInput"), + showPosition: x(function () { + var T = this.pastInput(), + E = new Array(T.length + 1).join("-") + return ( + T + + this.upcomingInput() + + ` +` + + E + + "^" + ) + }, "showPosition"), + test_match: x(function (T, E) { + var S, k, L + if ( + (this.options.backtrack_lexer && + ((L = { + yylineno: this.yylineno, + yylloc: { + first_line: this.yylloc.first_line, + last_line: this.last_line, + first_column: this.yylloc.first_column, + last_column: this.yylloc.last_column, + }, + yytext: this.yytext, + match: this.match, + matches: this.matches, + matched: this.matched, + yyleng: this.yyleng, + offset: this.offset, + _more: this._more, + _input: this._input, + yy: this.yy, + conditionStack: this.conditionStack.slice(0), + done: this.done, + }), + this.options.ranges && (L.yylloc.range = this.yylloc.range.slice(0))), + (k = T[0].match(/(?:\r\n?|\n).*/g)), + k && (this.yylineno += k.length), + (this.yylloc = { + first_line: this.yylloc.last_line, + last_line: this.yylineno + 1, + first_column: this.yylloc.last_column, + last_column: k + ? k[k.length - 1].length - k[k.length - 1].match(/\r?\n?/)[0].length + : this.yylloc.last_column + T[0].length, + }), + (this.yytext += T[0]), + (this.match += T[0]), + (this.matches = T), + (this.yyleng = this.yytext.length), + this.options.ranges && (this.yylloc.range = [this.offset, (this.offset += this.yyleng)]), + (this._more = !1), + (this._backtrack = !1), + (this._input = this._input.slice(T[0].length)), + (this.matched += T[0]), + (S = this.performAction.call( + this, + this.yy, + this, + E, + this.conditionStack[this.conditionStack.length - 1], + )), + this.done && this._input && (this.done = !1), + S) + ) + return S + if (this._backtrack) { + for (var A in L) this[A] = L[A] + return !1 + } + return !1 + }, "test_match"), + next: x(function () { + if (this.done) return this.EOF + this._input || (this.done = !0) + var T, E, S, k + this._more || ((this.yytext = ""), (this.match = "")) + for (var L = this._currentRules(), A = 0; A < L.length; A++) + if (((S = this._input.match(this.rules[L[A]])), S && (!E || S[0].length > E[0].length))) { + if (((E = S), (k = A), this.options.backtrack_lexer)) { + if (((T = this.test_match(S, L[A])), T !== !1)) return T + if (this._backtrack) { + E = !1 + continue + } else return !1 + } else if (!this.options.flex) break + } + return E + ? ((T = this.test_match(E, L[k])), T !== !1 ? T : !1) + : this._input === "" + ? this.EOF + : this.parseError( + "Lexical error on line " + + (this.yylineno + 1) + + `. Unrecognized text. +` + + this.showPosition(), + { text: "", token: null, line: this.yylineno }, + ) + }, "next"), + lex: x(function () { + var E = this.next() + return E || this.lex() + }, "lex"), + begin: x(function (E) { + this.conditionStack.push(E) + }, "begin"), + popState: x(function () { + var E = this.conditionStack.length - 1 + return E > 0 ? this.conditionStack.pop() : this.conditionStack[0] + }, "popState"), + _currentRules: x(function () { + return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] + ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules + : this.conditions.INITIAL.rules + }, "_currentRules"), + topState: x(function (E) { + return ( + (E = this.conditionStack.length - 1 - Math.abs(E || 0)), + E >= 0 ? this.conditionStack[E] : "INITIAL" + ) + }, "topState"), + pushState: x(function (E) { + this.begin(E) + }, "pushState"), + stateStackSize: x(function () { + return this.conditionStack.length + }, "stateStackSize"), + options: {}, + performAction: x(function (E, S, k, L) { + switch (k) { + case 0: + return 10 + case 1: + return E.getLogger().debug("Found space-block"), 31 + case 2: + return E.getLogger().debug("Found nl-block"), 31 + case 3: + return E.getLogger().debug("Found space-block"), 29 + case 4: + E.getLogger().debug(".", S.yytext) + break + case 5: + E.getLogger().debug("_", S.yytext) + break + case 6: + return 5 + case 7: + return (S.yytext = -1), 28 + case 8: + return ( + (S.yytext = S.yytext.replace(/columns\s+/, "")), + E.getLogger().debug("COLUMNS (LEX)", S.yytext), + 28 + ) + case 9: + this.pushState("md_string") + break + case 10: + return "MD_STR" + case 11: + this.popState() + break + case 12: + this.pushState("string") + break + case 13: + E.getLogger().debug("LEX: POPPING STR:", S.yytext), this.popState() + break + case 14: + return E.getLogger().debug("LEX: STR end:", S.yytext), "STR" + case 15: + return ( + (S.yytext = S.yytext.replace(/space\:/, "")), + E.getLogger().debug("SPACE NUM (LEX)", S.yytext), + 21 + ) + case 16: + return (S.yytext = "1"), E.getLogger().debug("COLUMNS (LEX)", S.yytext), 21 + case 17: + return 43 + case 18: + return "LINKSTYLE" + case 19: + return "INTERPOLATE" + case 20: + return this.pushState("CLASSDEF"), 40 + case 21: + return this.popState(), this.pushState("CLASSDEFID"), "DEFAULT_CLASSDEF_ID" + case 22: + return this.popState(), this.pushState("CLASSDEFID"), 41 + case 23: + return this.popState(), 42 + case 24: + return this.pushState("CLASS"), 44 + case 25: + return this.popState(), this.pushState("CLASS_STYLE"), 45 + case 26: + return this.popState(), 46 + case 27: + return this.pushState("STYLE_STMNT"), 47 + case 28: + return this.popState(), this.pushState("STYLE_DEFINITION"), 48 + case 29: + return this.popState(), 49 + case 30: + return this.pushState("acc_title"), "acc_title" + case 31: + return this.popState(), "acc_title_value" + case 32: + return this.pushState("acc_descr"), "acc_descr" + case 33: + return this.popState(), "acc_descr_value" + case 34: + this.pushState("acc_descr_multiline") + break + case 35: + this.popState() + break + case 36: + return "acc_descr_multiline_value" + case 37: + return 30 + case 38: + return this.popState(), E.getLogger().debug("Lex: (("), "NODE_DEND" + case 39: + return this.popState(), E.getLogger().debug("Lex: (("), "NODE_DEND" + case 40: + return this.popState(), E.getLogger().debug("Lex: ))"), "NODE_DEND" + case 41: + return this.popState(), E.getLogger().debug("Lex: (("), "NODE_DEND" + case 42: + return this.popState(), E.getLogger().debug("Lex: (("), "NODE_DEND" + case 43: + return this.popState(), E.getLogger().debug("Lex: (-"), "NODE_DEND" + case 44: + return this.popState(), E.getLogger().debug("Lex: -)"), "NODE_DEND" + case 45: + return this.popState(), E.getLogger().debug("Lex: (("), "NODE_DEND" + case 46: + return this.popState(), E.getLogger().debug("Lex: ]]"), "NODE_DEND" + case 47: + return this.popState(), E.getLogger().debug("Lex: ("), "NODE_DEND" + case 48: + return this.popState(), E.getLogger().debug("Lex: ])"), "NODE_DEND" + case 49: + return this.popState(), E.getLogger().debug("Lex: /]"), "NODE_DEND" + case 50: + return this.popState(), E.getLogger().debug("Lex: /]"), "NODE_DEND" + case 51: + return this.popState(), E.getLogger().debug("Lex: )]"), "NODE_DEND" + case 52: + return this.popState(), E.getLogger().debug("Lex: )"), "NODE_DEND" + case 53: + return this.popState(), E.getLogger().debug("Lex: ]>"), "NODE_DEND" + case 54: + return this.popState(), E.getLogger().debug("Lex: ]"), "NODE_DEND" + case 55: + return E.getLogger().debug("Lexa: -)"), this.pushState("NODE"), 36 + case 56: + return E.getLogger().debug("Lexa: (-"), this.pushState("NODE"), 36 + case 57: + return E.getLogger().debug("Lexa: ))"), this.pushState("NODE"), 36 + case 58: + return E.getLogger().debug("Lexa: )"), this.pushState("NODE"), 36 + case 59: + return E.getLogger().debug("Lex: ((("), this.pushState("NODE"), 36 + case 60: + return E.getLogger().debug("Lexa: )"), this.pushState("NODE"), 36 + case 61: + return E.getLogger().debug("Lexa: )"), this.pushState("NODE"), 36 + case 62: + return E.getLogger().debug("Lexa: )"), this.pushState("NODE"), 36 + case 63: + return E.getLogger().debug("Lexc: >"), this.pushState("NODE"), 36 + case 64: + return E.getLogger().debug("Lexa: (["), this.pushState("NODE"), 36 + case 65: + return E.getLogger().debug("Lexa: )"), this.pushState("NODE"), 36 + case 66: + return this.pushState("NODE"), 36 + case 67: + return this.pushState("NODE"), 36 + case 68: + return this.pushState("NODE"), 36 + case 69: + return this.pushState("NODE"), 36 + case 70: + return this.pushState("NODE"), 36 + case 71: + return this.pushState("NODE"), 36 + case 72: + return this.pushState("NODE"), 36 + case 73: + return E.getLogger().debug("Lexa: ["), this.pushState("NODE"), 36 + case 74: + return this.pushState("BLOCK_ARROW"), E.getLogger().debug("LEX ARR START"), 38 + case 75: + return E.getLogger().debug("Lex: NODE_ID", S.yytext), 32 + case 76: + return E.getLogger().debug("Lex: EOF", S.yytext), 8 + case 77: + this.pushState("md_string") + break + case 78: + this.pushState("md_string") + break + case 79: + return "NODE_DESCR" + case 80: + this.popState() + break + case 81: + E.getLogger().debug("Lex: Starting string"), this.pushState("string") + break + case 82: + E.getLogger().debug("LEX ARR: Starting string"), this.pushState("string") + break + case 83: + return E.getLogger().debug("LEX: NODE_DESCR:", S.yytext), "NODE_DESCR" + case 84: + E.getLogger().debug("LEX POPPING"), this.popState() + break + case 85: + E.getLogger().debug("Lex: =>BAE"), this.pushState("ARROW_DIR") + break + case 86: + return ( + (S.yytext = S.yytext.replace(/^,\s*/, "")), + E.getLogger().debug("Lex (right): dir:", S.yytext), + "DIR" + ) + case 87: + return ( + (S.yytext = S.yytext.replace(/^,\s*/, "")), + E.getLogger().debug("Lex (left):", S.yytext), + "DIR" + ) + case 88: + return ( + (S.yytext = S.yytext.replace(/^,\s*/, "")), + E.getLogger().debug("Lex (x):", S.yytext), + "DIR" + ) + case 89: + return ( + (S.yytext = S.yytext.replace(/^,\s*/, "")), + E.getLogger().debug("Lex (y):", S.yytext), + "DIR" + ) + case 90: + return ( + (S.yytext = S.yytext.replace(/^,\s*/, "")), + E.getLogger().debug("Lex (up):", S.yytext), + "DIR" + ) + case 91: + return ( + (S.yytext = S.yytext.replace(/^,\s*/, "")), + E.getLogger().debug("Lex (down):", S.yytext), + "DIR" + ) + case 92: + return ( + (S.yytext = "]>"), + E.getLogger().debug("Lex (ARROW_DIR end):", S.yytext), + this.popState(), + this.popState(), + "BLOCK_ARROW_END" + ) + case 93: + return E.getLogger().debug("Lex: LINK", "#" + S.yytext + "#"), 15 + case 94: + return E.getLogger().debug("Lex: LINK", S.yytext), 15 + case 95: + return E.getLogger().debug("Lex: LINK", S.yytext), 15 + case 96: + return E.getLogger().debug("Lex: LINK", S.yytext), 15 + case 97: + return E.getLogger().debug("Lex: START_LINK", S.yytext), this.pushState("LLABEL"), 16 + case 98: + return E.getLogger().debug("Lex: START_LINK", S.yytext), this.pushState("LLABEL"), 16 + case 99: + return E.getLogger().debug("Lex: START_LINK", S.yytext), this.pushState("LLABEL"), 16 + case 100: + this.pushState("md_string") + break + case 101: + return E.getLogger().debug("Lex: Starting string"), this.pushState("string"), "LINK_LABEL" + case 102: + return this.popState(), E.getLogger().debug("Lex: LINK", "#" + S.yytext + "#"), 15 + case 103: + return this.popState(), E.getLogger().debug("Lex: LINK", S.yytext), 15 + case 104: + return this.popState(), E.getLogger().debug("Lex: LINK", S.yytext), 15 + case 105: + return E.getLogger().debug("Lex: COLON", S.yytext), (S.yytext = S.yytext.slice(1)), 27 + } + }, "anonymous"), + rules: [ + /^(?:block-beta\b)/, + /^(?:block\s+)/, + /^(?:block\n+)/, + /^(?:block:)/, + /^(?:[\s]+)/, + /^(?:[\n]+)/, + /^(?:((\u000D\u000A)|(\u000A)))/, + /^(?:columns\s+auto\b)/, + /^(?:columns\s+[\d]+)/, + /^(?:["][`])/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]*)/, + /^(?:space[:]\d+)/, + /^(?:space\b)/, + /^(?:default\b)/, + /^(?:linkStyle\b)/, + /^(?:interpolate\b)/, + /^(?:classDef\s+)/, + /^(?:DEFAULT\s+)/, + /^(?:\w+\s+)/, + /^(?:[^\n]*)/, + /^(?:class\s+)/, + /^(?:(\w+)+((,\s*\w+)*))/, + /^(?:[^\n]*)/, + /^(?:style\s+)/, + /^(?:(\w+)+((,\s*\w+)*))/, + /^(?:[^\n]*)/, + /^(?:accTitle\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*:\s*)/, + /^(?:(?!\n||)*[^\n]*)/, + /^(?:accDescr\s*\{\s*)/, + /^(?:[\}])/, + /^(?:[^\}]*)/, + /^(?:end\b\s*)/, + /^(?:\(\(\()/, + /^(?:\)\)\))/, + /^(?:[\)]\))/, + /^(?:\}\})/, + /^(?:\})/, + /^(?:\(-)/, + /^(?:-\))/, + /^(?:\(\()/, + /^(?:\]\])/, + /^(?:\()/, + /^(?:\]\))/, + /^(?:\\\])/, + /^(?:\/\])/, + /^(?:\)\])/, + /^(?:[\)])/, + /^(?:\]>)/, + /^(?:[\]])/, + /^(?:-\))/, + /^(?:\(-)/, + /^(?:\)\))/, + /^(?:\))/, + /^(?:\(\(\()/, + /^(?:\(\()/, + /^(?:\{\{)/, + /^(?:\{)/, + /^(?:>)/, + /^(?:\(\[)/, + /^(?:\()/, + /^(?:\[\[)/, + /^(?:\[\|)/, + /^(?:\[\()/, + /^(?:\)\)\))/, + /^(?:\[\\)/, + /^(?:\[\/)/, + /^(?:\[\\)/, + /^(?:\[)/, + /^(?:<\[)/, + /^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/, + /^(?:$)/, + /^(?:["][`])/, + /^(?:["][`])/, + /^(?:[^`"]+)/, + /^(?:[`]["])/, + /^(?:["])/, + /^(?:["])/, + /^(?:[^"]+)/, + /^(?:["])/, + /^(?:\]>\s*\()/, + /^(?:,?\s*right\s*)/, + /^(?:,?\s*left\s*)/, + /^(?:,?\s*x\s*)/, + /^(?:,?\s*y\s*)/, + /^(?:,?\s*up\s*)/, + /^(?:,?\s*down\s*)/, + /^(?:\)\s*)/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?:\s*~~[\~]+\s*)/, + /^(?:\s*[xo<]?--\s*)/, + /^(?:\s*[xo<]?==\s*)/, + /^(?:\s*[xo<]?-\.\s*)/, + /^(?:["][`])/, + /^(?:["])/, + /^(?:\s*[xo<]?--+[-xo>]\s*)/, + /^(?:\s*[xo<]?==+[=xo>]\s*)/, + /^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/, + /^(?::\d+)/, + ], + conditions: { + STYLE_DEFINITION: { rules: [29], inclusive: !1 }, + STYLE_STMNT: { rules: [28], inclusive: !1 }, + CLASSDEFID: { rules: [23], inclusive: !1 }, + CLASSDEF: { rules: [21, 22], inclusive: !1 }, + CLASS_STYLE: { rules: [26], inclusive: !1 }, + CLASS: { rules: [25], inclusive: !1 }, + LLABEL: { rules: [100, 101, 102, 103, 104], inclusive: !1 }, + ARROW_DIR: { rules: [86, 87, 88, 89, 90, 91, 92], inclusive: !1 }, + BLOCK_ARROW: { rules: [77, 82, 85], inclusive: !1 }, + NODE: { + rules: [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81], + inclusive: !1, + }, + md_string: { rules: [10, 11, 79, 80], inclusive: !1 }, + space: { rules: [], inclusive: !1 }, + string: { rules: [13, 14, 83, 84], inclusive: !1 }, + acc_descr_multiline: { rules: [35, 36], inclusive: !1 }, + acc_descr: { rules: [33], inclusive: !1 }, + acc_title: { rules: [31], inclusive: !1 }, + INITIAL: { + rules: [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34, 37, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 93, 94, 95, + 96, 97, 98, 99, 105, + ], + inclusive: !0, + }, + }, + } + return w + })() + v.lexer = y + function b() { + this.yy = {} + } + return x(b, "Parser"), (b.prototype = v), (v.Parser = b), new b() +})() +tT.parser = tT +var q9e = tT, + ws = new Map(), + FS = [], + rT = new Map(), + xN = "color", + bN = "fill", + W9e = "bgFill", + fH = ",", + H9e = we(), + u2 = new Map(), + Y9e = x((t) => it.sanitizeText(t, H9e), "sanitizeText"), + X9e = x(function (t, e = "") { + let r = u2.get(t) + r || ((r = { id: t, styles: [], textStyles: [] }), u2.set(t, r)), + e != null && + e.split(fH).forEach((n) => { + const i = n.replace(/([^;]*);/, "$1").trim() + if (RegExp(xN).exec(n)) { + const s = i.replace(bN, W9e).replace(xN, bN) + r.textStyles.push(s) + } + r.styles.push(i) + }) + }, "addStyleClass"), + j9e = x(function (t, e = "") { + const r = ws.get(t) + e != null && (r.styles = e.split(fH)) + }, "addStyle2Node"), + K9e = x(function (t, e) { + t.split(",").forEach(function (r) { + let n = ws.get(r) + if (n === void 0) { + const i = r.trim() + ;(n = { id: i, type: "na", children: [] }), ws.set(i, n) + } + n.classes || (n.classes = []), n.classes.push(e) + }) + }, "setCssClass"), + pH = x((t, e) => { + const r = t.flat(), + n = [] + for (const i of r) { + if ((i.label && (i.label = Y9e(i.label)), i.type === "classDef")) { + X9e(i.id, i.css) + continue + } + if (i.type === "applyClass") { + K9e(i.id, (i == null ? void 0 : i.styleClass) ?? "") + continue + } + if (i.type === "applyStyles") { + i != null && i.stylesStr && j9e(i.id, i == null ? void 0 : i.stylesStr) + continue + } + if (i.type === "column-setting") e.columns = i.columns ?? -1 + else if (i.type === "edge") { + const a = (rT.get(i.id) ?? 0) + 1 + rT.set(i.id, a), (i.id = a + "-" + i.id), FS.push(i) + } else { + i.label || (i.type === "composite" ? (i.label = "") : (i.label = i.id)) + const a = ws.get(i.id) + if ( + (a === void 0 + ? ws.set(i.id, i) + : (i.type !== "na" && (a.type = i.type), i.label !== i.id && (a.label = i.label)), + i.children && pH(i.children, i), + i.type === "space") + ) { + const s = i.width ?? 1 + for (let o = 0; o < s; o++) { + const l = zn(i) + ;(l.id = l.id + "-" + o), ws.set(l.id, l), n.push(l) + } + } else a === void 0 && n.push(i) + } + } + e.children = n + }, "populateBlockDatabase"), + $S = [], + fp = { id: "root", type: "composite", children: [], columns: -1 }, + Z9e = x(() => { + ie.debug("Clear called"), + Gn(), + (fp = { id: "root", type: "composite", children: [], columns: -1 }), + (ws = new Map([["root", fp]])), + ($S = []), + (u2 = new Map()), + (FS = []), + (rT = new Map()) + }, "clear") +function gH(t) { + switch ((ie.debug("typeStr2Type", t), t)) { + case "[]": + return "square" + case "()": + return ie.debug("we have a round"), "round" + case "(())": + return "circle" + case ">]": + return "rect_left_inv_arrow" + case "{}": + return "diamond" + case "{{}}": + return "hexagon" + case "([])": + return "stadium" + case "[[]]": + return "subroutine" + case "[()]": + return "cylinder" + case "((()))": + return "doublecircle" + case "[//]": + return "lean_right" + case "[\\\\]": + return "lean_left" + case "[/\\]": + return "trapezoid" + case "[\\/]": + return "inv_trapezoid" + case "<[]>": + return "block_arrow" + default: + return "na" + } +} +x(gH, "typeStr2Type") +function mH(t) { + switch ((ie.debug("typeStr2Type", t), t)) { + case "==": + return "thick" + default: + return "normal" + } +} +x(mH, "edgeTypeStr2Type") +function vH(t) { + switch (t.trim()) { + case "--x": + return "arrow_cross" + case "--o": + return "arrow_circle" + default: + return "arrow_point" + } +} +x(vH, "edgeStrToEdgeData") +var wN = 0, + Q9e = x(() => (wN++, "id-" + Math.random().toString(36).substr(2, 12) + "-" + wN), "generateId"), + J9e = x((t) => { + ;(fp.children = t), pH(t, fp), ($S = fp.children) + }, "setHierarchy"), + eLe = x((t) => { + const e = ws.get(t) + return e ? (e.columns ? e.columns : e.children ? e.children.length : -1) : -1 + }, "getColumns"), + tLe = x(() => [...ws.values()], "getBlocksFlat"), + rLe = x(() => $S || [], "getBlocks"), + nLe = x(() => FS, "getEdges"), + iLe = x((t) => ws.get(t), "getBlock"), + aLe = x((t) => { + ws.set(t.id, t) + }, "setBlock"), + sLe = x(() => console, "getLogger"), + oLe = x(function () { + return u2 + }, "getClasses"), + lLe = { + getConfig: x(() => Dr().block, "getConfig"), + typeStr2Type: gH, + edgeTypeStr2Type: mH, + edgeStrToEdgeData: vH, + getLogger: sLe, + getBlocksFlat: tLe, + getBlocks: rLe, + getEdges: nLe, + setHierarchy: J9e, + getBlock: iLe, + setBlock: aLe, + getColumns: eLe, + getClasses: oLe, + clear: Z9e, + generateId: Q9e, + }, + cLe = lLe, + sm = x((t, e) => { + const r = _T, + n = r(t, "r"), + i = r(t, "g"), + a = r(t, "b") + return Tl(n, i, a, e) + }, "fade"), + uLe = x( + (t) => `.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor || t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span,p { + color: ${t.titleColor}; + } + + + + .label text,span,p { + fill: ${t.nodeTextColor || t.textColor}; + color: ${t.nodeTextColor || t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${sm(t.edgeLabelBackground, 0.5)}; + // background-color: + } + + .node .cluster { + // fill: ${sm(t.mainBkg, 0.5)}; + fill: ${sm(t.clusterBkg, 0.5)}; + stroke: ${sm(t.clusterBorder, 0.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span,p { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`, + "getStyles", + ), + hLe = uLe, + dLe = x((t, e, r, n) => { + e.forEach((i) => { + TLe[i](t, r, n) + }) + }, "insertMarkers"), + fLe = x((t, e, r) => { + ie.trace("Making markers for ", r), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-extensionStart") + .attr("class", "marker extension " + e) + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,7 L18,13 V 1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-extensionEnd") + .attr("class", "marker extension " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,1 V 13 L18,7 Z") + }, "extension"), + pLe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-compositionStart") + .attr("class", "marker composition " + e) + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-compositionEnd") + .attr("class", "marker composition " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z") + }, "composition"), + gLe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-aggregationStart") + .attr("class", "marker aggregation " + e) + .attr("refX", 18) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-aggregationEnd") + .attr("class", "marker aggregation " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L1,7 L9,1 Z") + }, "aggregation"), + mLe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-dependencyStart") + .attr("class", "marker dependency " + e) + .attr("refX", 6) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("path") + .attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-dependencyEnd") + .attr("class", "marker dependency " + e) + .attr("refX", 13) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 28) + .attr("orient", "auto") + .append("path") + .attr("d", "M 18,7 L9,13 L14,7 L9,1 Z") + }, "dependency"), + vLe = x((t, e, r) => { + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-lollipopStart") + .attr("class", "marker lollipop " + e) + .attr("refX", 13) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("circle") + .attr("stroke", "black") + .attr("fill", "transparent") + .attr("cx", 7) + .attr("cy", 7) + .attr("r", 6), + t + .append("defs") + .append("marker") + .attr("id", r + "_" + e + "-lollipopEnd") + .attr("class", "marker lollipop " + e) + .attr("refX", 1) + .attr("refY", 7) + .attr("markerWidth", 190) + .attr("markerHeight", 240) + .attr("orient", "auto") + .append("circle") + .attr("stroke", "black") + .attr("fill", "transparent") + .attr("cx", 7) + .attr("cy", 7) + .attr("r", 6) + }, "lollipop"), + yLe = x((t, e, r) => { + t + .append("marker") + .attr("id", r + "_" + e + "-pointEnd") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", 6) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 12) + .attr("markerHeight", 12) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0 0 L 10 5 L 0 10 z") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0"), + t + .append("marker") + .attr("id", r + "_" + e + "-pointStart") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", 4.5) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 12) + .attr("markerHeight", 12) + .attr("orient", "auto") + .append("path") + .attr("d", "M 0 5 L 10 10 L 10 0 z") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0") + }, "point"), + xLe = x((t, e, r) => { + t + .append("marker") + .attr("id", r + "_" + e + "-circleEnd") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", 11) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("circle") + .attr("cx", "5") + .attr("cy", "5") + .attr("r", "5") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0"), + t + .append("marker") + .attr("id", r + "_" + e + "-circleStart") + .attr("class", "marker " + e) + .attr("viewBox", "0 0 10 10") + .attr("refX", -1) + .attr("refY", 5) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("circle") + .attr("cx", "5") + .attr("cy", "5") + .attr("r", "5") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 1) + .style("stroke-dasharray", "1,0") + }, "circle"), + bLe = x((t, e, r) => { + t + .append("marker") + .attr("id", r + "_" + e + "-crossEnd") + .attr("class", "marker cross " + e) + .attr("viewBox", "0 0 11 11") + .attr("refX", 12) + .attr("refY", 5.2) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,1 l 9,9 M 10,1 l -9,9") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 2) + .style("stroke-dasharray", "1,0"), + t + .append("marker") + .attr("id", r + "_" + e + "-crossStart") + .attr("class", "marker cross " + e) + .attr("viewBox", "0 0 11 11") + .attr("refX", -1) + .attr("refY", 5.2) + .attr("markerUnits", "userSpaceOnUse") + .attr("markerWidth", 11) + .attr("markerHeight", 11) + .attr("orient", "auto") + .append("path") + .attr("d", "M 1,1 l 9,9 M 10,1 l -9,9") + .attr("class", "arrowMarkerPath") + .style("stroke-width", 2) + .style("stroke-dasharray", "1,0") + }, "cross"), + wLe = x((t, e, r) => { + t.append("defs") + .append("marker") + .attr("id", r + "_" + e + "-barbEnd") + .attr("refX", 19) + .attr("refY", 7) + .attr("markerWidth", 20) + .attr("markerHeight", 14) + .attr("markerUnits", "strokeWidth") + .attr("orient", "auto") + .append("path") + .attr("d", "M 19,7 L9,13 L14,7 L9,1 Z") + }, "barb"), + TLe = { + extension: fLe, + composition: pLe, + aggregation: gLe, + dependency: mLe, + lollipop: vLe, + point: yLe, + circle: xLe, + cross: bLe, + barb: wLe, + }, + ELe = dLe, + MN, + ON, + pn = ((ON = (MN = we()) == null ? void 0 : MN.block) == null ? void 0 : ON.padding) ?? 8 +function yH(t, e) { + if (t === 0 || !Number.isInteger(t)) throw new Error("Columns must be an integer !== 0.") + if (e < 0 || !Number.isInteger(e)) throw new Error("Position must be a non-negative integer." + e) + if (t < 0) return { px: e, py: 0 } + if (t === 1) return { px: 0, py: e } + const r = e % t, + n = Math.floor(e / t) + return { px: r, py: n } +} +x(yH, "calculateBlockPosition") +var kLe = x((t) => { + let e = 0, + r = 0 + for (const n of t.children) { + const { width: i, height: a, x: s, y: o } = n.size ?? { width: 0, height: 0, x: 0, y: 0 } + ie.debug("getMaxChildSize abc95 child:", n.id, "width:", i, "height:", a, "x:", s, "y:", o, n.type), + n.type !== "space" && (i > e && (e = i / (t.widthInColumns ?? 1)), a > r && (r = a)) + } + return { width: e, height: r } +}, "getMaxChildSize") +function h2(t, e, r = 0, n = 0) { + var s, o, l, u, h, d, f, p, g, m, v + ie.debug( + "setBlockSizes abc95 (start)", + t.id, + (s = t == null ? void 0 : t.size) == null ? void 0 : s.x, + "block width =", + t == null ? void 0 : t.size, + "sieblingWidth", + r, + ), + ((o = t == null ? void 0 : t.size) != null && o.width) || (t.size = { width: r, height: n, x: 0, y: 0 }) + let i = 0, + a = 0 + if (((l = t.children) == null ? void 0 : l.length) > 0) { + for (const L of t.children) h2(L, e) + const y = kLe(t) + ;(i = y.width), (a = y.height), ie.debug("setBlockSizes abc95 maxWidth of", t.id, ":s children is ", i, a) + for (const L of t.children) + L.size && + (ie.debug(`abc95 Setting size of children of ${t.id} id=${L.id} ${i} ${a} ${JSON.stringify(L.size)}`), + (L.size.width = i * (L.widthInColumns ?? 1) + pn * ((L.widthInColumns ?? 1) - 1)), + (L.size.height = a), + (L.size.x = 0), + (L.size.y = 0), + ie.debug(`abc95 updating size of ${t.id} children child:${L.id} maxWidth:${i} maxHeight:${a}`)) + for (const L of t.children) h2(L, e, i, a) + const b = t.columns ?? -1 + let w = 0 + for (const L of t.children) w += L.widthInColumns ?? 1 + let T = t.children.length + b > 0 && b < w && (T = b) + const E = Math.ceil(w / T) + let S = T * (i + pn) + pn, + k = E * (a + pn) + pn + if (S < r) { + ie.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${r} sieblingHeight ${n} width ${S}`), + (S = r), + (k = n) + const L = (r - T * pn - pn) / T, + A = (n - E * pn - pn) / E + ie.debug("Size indata abc88", t.id, "childWidth", L, "maxWidth", i), + ie.debug("Size indata abc88", t.id, "childHeight", A, "maxHeight", a), + ie.debug("Size indata abc88 xSize", T, "padding", pn) + for (const R of t.children) + R.size && ((R.size.width = L), (R.size.height = A), (R.size.x = 0), (R.size.y = 0)) + } + if ( + (ie.debug( + `abc95 (finale calc) ${t.id} xSize ${T} ySize ${E} columns ${b}${t.children.length} width=${Math.max(S, ((u = t.size) == null ? void 0 : u.width) || 0)}`, + ), + S < (((h = t == null ? void 0 : t.size) == null ? void 0 : h.width) || 0)) + ) { + S = ((d = t == null ? void 0 : t.size) == null ? void 0 : d.width) || 0 + const L = b > 0 ? Math.min(t.children.length, b) : t.children.length + if (L > 0) { + const A = (S - L * pn - pn) / L + ie.debug("abc95 (growing to fit) width", t.id, S, (f = t.size) == null ? void 0 : f.width, A) + for (const R of t.children) R.size && (R.size.width = A) + } + } + t.size = { width: S, height: k, x: 0, y: 0 } + } + ie.debug( + "setBlockSizes abc94 (done)", + t.id, + (p = t == null ? void 0 : t.size) == null ? void 0 : p.x, + (g = t == null ? void 0 : t.size) == null ? void 0 : g.width, + (m = t == null ? void 0 : t.size) == null ? void 0 : m.y, + (v = t == null ? void 0 : t.size) == null ? void 0 : v.height, + ) +} +x(h2, "setBlockSizes") +function zS(t, e) { + var n, i, a, s, o, l, u, h, d, f, p, g, m, v, y, b, w + ie.debug( + `abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${(n = t == null ? void 0 : t.size) == null ? void 0 : n.x} y: ${(i = t == null ? void 0 : t.size) == null ? void 0 : i.y} width: ${(a = t == null ? void 0 : t.size) == null ? void 0 : a.width}`, + ) + const r = t.columns ?? -1 + if ((ie.debug("layoutBlocks columns abc95", t.id, "=>", r, t), t.children && t.children.length > 0)) { + const T = + ((o = (s = t == null ? void 0 : t.children[0]) == null ? void 0 : s.size) == null ? void 0 : o.width) ?? + 0, + E = t.children.length * T + (t.children.length - 1) * pn + ie.debug("widthOfChildren 88", E, "posX") + let S = 0 + ie.debug("abc91 block?.size?.x", t.id, (l = t == null ? void 0 : t.size) == null ? void 0 : l.x) + let k = + (u = t == null ? void 0 : t.size) != null && u.x + ? ((h = t == null ? void 0 : t.size) == null ? void 0 : h.x) + + (-((d = t == null ? void 0 : t.size) == null ? void 0 : d.width) / 2 || 0) + : -pn, + L = 0 + for (const A of t.children) { + const R = t + if (!A.size) continue + const { width: C, height: I } = A.size, + { px: P, py: _ } = yH(r, S) + if ( + (_ != L && + ((L = _), + (k = + (f = t == null ? void 0 : t.size) != null && f.x + ? ((p = t == null ? void 0 : t.size) == null ? void 0 : p.x) + + (-((g = t == null ? void 0 : t.size) == null ? void 0 : g.width) / 2 || 0) + : -pn), + ie.debug("New row in layout for block", t.id, " and child ", A.id, L)), + ie.debug( + `abc89 layout blocks (child) id: ${A.id} Pos: ${S} (px, py) ${P},${_} (${(m = R == null ? void 0 : R.size) == null ? void 0 : m.x},${(v = R == null ? void 0 : R.size) == null ? void 0 : v.y}) parent: ${R.id} width: ${C}${pn}`, + ), + R.size) + ) { + const N = C / 2 + ;(A.size.x = k + pn + N), + ie.debug( + `abc91 layout blocks (calc) px, pyid:${A.id} startingPos=X${k} new startingPosX${A.size.x} ${N} padding=${pn} width=${C} halfWidth=${N} => x:${A.size.x} y:${A.size.y} ${A.widthInColumns} (width * (child?.w || 1)) / 2 ${(C * ((A == null ? void 0 : A.widthInColumns) ?? 1)) / 2}`, + ), + (k = A.size.x + N), + (A.size.y = R.size.y - R.size.height / 2 + _ * (I + pn) + I / 2 + pn), + ie.debug( + `abc88 layout blocks (calc) px, pyid:${A.id}startingPosX${k}${pn}${N}=>x:${A.size.x}y:${A.size.y}${A.widthInColumns}(width * (child?.w || 1)) / 2${(C * ((A == null ? void 0 : A.widthInColumns) ?? 1)) / 2}`, + ) + } + A.children && zS(A), (S += (A == null ? void 0 : A.widthInColumns) ?? 1), ie.debug("abc88 columnsPos", A, S) + } + } + ie.debug( + `layout blocks (<==layoutBlocks) ${t.id} x: ${(y = t == null ? void 0 : t.size) == null ? void 0 : y.x} y: ${(b = t == null ? void 0 : t.size) == null ? void 0 : b.y} width: ${(w = t == null ? void 0 : t.size) == null ? void 0 : w.width}`, + ) +} +x(zS, "layoutBlocks") +function VS(t, { minX: e, minY: r, maxX: n, maxY: i } = { minX: 0, minY: 0, maxX: 0, maxY: 0 }) { + if (t.size && t.id !== "root") { + const { x: a, y: s, width: o, height: l } = t.size + a - o / 2 < e && (e = a - o / 2), + s - l / 2 < r && (r = s - l / 2), + a + o / 2 > n && (n = a + o / 2), + s + l / 2 > i && (i = s + l / 2) + } + if (t.children) + for (const a of t.children) + ({ minX: e, minY: r, maxX: n, maxY: i } = VS(a, { minX: e, minY: r, maxX: n, maxY: i })) + return { minX: e, minY: r, maxX: n, maxY: i } +} +x(VS, "findBounds") +function xH(t) { + const e = t.getBlock("root") + if (!e) return + h2(e, t, 0, 0), zS(e), ie.debug("getBlocks", JSON.stringify(e, null, 2)) + const { minX: r, minY: n, maxX: i, maxY: a } = VS(e), + s = a - n, + o = i - r + return { x: r, y: n, width: o, height: s } +} +x(xH, "layout") +function nT(t, e) { + e && t.attr("style", e) +} +x(nT, "applyStyle") +function bH(t) { + const e = rt(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject")), + r = e.append("xhtml:div"), + n = t.label, + i = t.isNode ? "nodeLabel" : "edgeLabel", + a = r.append("span") + return ( + a.html(n), + nT(a, t.labelStyle), + a.attr("class", i), + nT(r, t.labelStyle), + r.style("display", "inline-block"), + r.style("white-space", "nowrap"), + r.attr("xmlns", "http://www.w3.org/1999/xhtml"), + e.node() + ) +} +x(bH, "addHtmlLabel") +var SLe = x((t, e, r, n) => { + let i = t || "" + if ((typeof i == "object" && (i = i[0]), Nr(we().flowchart.htmlLabels))) { + ;(i = i.replace(/\\n|\n/g, "<br />")), ie.debug("vertexText" + i) + const a = { isNode: n, label: CE(Zs(i)), labelStyle: e.replace("fill:", "color:") } + return bH(a) + } else { + const a = document.createElementNS("http://www.w3.org/2000/svg", "text") + a.setAttribute("style", e.replace("color:", "fill:")) + let s = [] + typeof i == "string" ? (s = i.split(/\\n|\n|<br\s*\/?>/gi)) : Array.isArray(i) ? (s = i) : (s = []) + for (const o of s) { + const l = document.createElementNS("http://www.w3.org/2000/svg", "tspan") + l.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve"), + l.setAttribute("dy", "1em"), + l.setAttribute("x", "0"), + r ? l.setAttribute("class", "title-row") : l.setAttribute("class", "row"), + (l.textContent = o.trim()), + a.appendChild(l) + } + return a + } + }, "createLabel"), + Ua = SLe, + CLe = x((t, e, r, n, i) => { + e.arrowTypeStart && TN(t, "start", e.arrowTypeStart, r, n, i), + e.arrowTypeEnd && TN(t, "end", e.arrowTypeEnd, r, n, i) + }, "addEdgeMarkers"), + ALe = { + arrow_cross: "cross", + arrow_point: "point", + arrow_barb: "barb", + arrow_circle: "circle", + aggregation: "aggregation", + extension: "extension", + composition: "composition", + dependency: "dependency", + lollipop: "lollipop", + }, + TN = x((t, e, r, n, i, a) => { + const s = ALe[r] + if (!s) { + ie.warn(`Unknown arrow type: ${r}`) + return + } + const o = e === "start" ? "Start" : "End" + t.attr(`marker-${e}`, `url(${n}#${i}_${a}-${s}${o})`) + }, "addEdgeMarker"), + iT = {}, + bi = {}, + _Le = x((t, e) => { + const r = we(), + n = Nr(r.flowchart.htmlLabels), + i = + e.labelType === "markdown" + ? fa(t, e.label, { style: e.labelStyle, useHtmlLabels: n, addSvgBackground: !0 }, r) + : Ua(e.label, e.labelStyle), + a = t.insert("g").attr("class", "edgeLabel"), + s = a.insert("g").attr("class", "label") + s.node().appendChild(i) + let o = i.getBBox() + if (n) { + const u = i.children[0], + h = rt(i) + ;(o = u.getBoundingClientRect()), h.attr("width", o.width), h.attr("height", o.height) + } + s.attr("transform", "translate(" + -o.width / 2 + ", " + -o.height / 2 + ")"), + (iT[e.id] = a), + (e.width = o.width), + (e.height = o.height) + let l + if (e.startLabelLeft) { + const u = Ua(e.startLabelLeft, e.labelStyle), + h = t.insert("g").attr("class", "edgeTerminals"), + d = h.insert("g").attr("class", "inner") + l = d.node().appendChild(u) + const f = u.getBBox() + d.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), + bi[e.id] || (bi[e.id] = {}), + (bi[e.id].startLeft = h), + K0(l, e.startLabelLeft) + } + if (e.startLabelRight) { + const u = Ua(e.startLabelRight, e.labelStyle), + h = t.insert("g").attr("class", "edgeTerminals"), + d = h.insert("g").attr("class", "inner") + ;(l = h.node().appendChild(u)), d.node().appendChild(u) + const f = u.getBBox() + d.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), + bi[e.id] || (bi[e.id] = {}), + (bi[e.id].startRight = h), + K0(l, e.startLabelRight) + } + if (e.endLabelLeft) { + const u = Ua(e.endLabelLeft, e.labelStyle), + h = t.insert("g").attr("class", "edgeTerminals"), + d = h.insert("g").attr("class", "inner") + l = d.node().appendChild(u) + const f = u.getBBox() + d.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), + h.node().appendChild(u), + bi[e.id] || (bi[e.id] = {}), + (bi[e.id].endLeft = h), + K0(l, e.endLabelLeft) + } + if (e.endLabelRight) { + const u = Ua(e.endLabelRight, e.labelStyle), + h = t.insert("g").attr("class", "edgeTerminals"), + d = h.insert("g").attr("class", "inner") + l = d.node().appendChild(u) + const f = u.getBBox() + d.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), + h.node().appendChild(u), + bi[e.id] || (bi[e.id] = {}), + (bi[e.id].endRight = h), + K0(l, e.endLabelRight) + } + return i + }, "insertEdgeLabel") +function K0(t, e) { + we().flowchart.htmlLabels && t && ((t.style.width = e.length * 9 + "px"), (t.style.height = "12px")) +} +x(K0, "setTerminalWidth") +var LLe = x((t, e) => { + ie.debug("Moving label abc88 ", t.id, t.label, iT[t.id], e) + let r = e.updatedPath ? e.updatedPath : e.originalPath + const n = we(), + { subGraphTitleTotalMargin: i } = ug(n) + if (t.label) { + const a = iT[t.id] + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcLabelPosition(r) + ie.debug("Moving label " + t.label + " from (", s, ",", o, ") to (", l.x, ",", l.y, ") abc88"), + e.updatedPath && ((s = l.x), (o = l.y)) + } + a.attr("transform", `translate(${s}, ${o + i / 2})`) + } + if (t.startLabelLeft) { + const a = bi[t.id].startLeft + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, "start_left", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + if (t.startLabelRight) { + const a = bi[t.id].startRight + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeStart ? 10 : 0, "start_right", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + if (t.endLabelLeft) { + const a = bi[t.id].endLeft + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, "end_left", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + if (t.endLabelRight) { + const a = bi[t.id].endRight + let s = t.x, + o = t.y + if (r) { + const l = Zt.calcTerminalLabelPosition(t.arrowTypeEnd ? 10 : 0, "end_right", r) + ;(s = l.x), (o = l.y) + } + a.attr("transform", `translate(${s}, ${o})`) + } + }, "positionEdgeLabel"), + RLe = x((t, e) => { + const r = t.x, + n = t.y, + i = Math.abs(e.x - r), + a = Math.abs(e.y - n), + s = t.width / 2, + o = t.height / 2 + return i >= s || a >= o + }, "outsideNode"), + NLe = x((t, e, r) => { + ie.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`) + const n = t.x, + i = t.y, + a = Math.abs(n - r.x), + s = t.width / 2 + let o = r.x < e.x ? s - a : s + a + const l = t.height / 2, + u = Math.abs(e.y - r.y), + h = Math.abs(e.x - r.x) + if (Math.abs(i - e.y) * s > Math.abs(n - e.x) * l) { + let d = r.y < e.y ? e.y - l - i : i - l - e.y + o = (h * d) / u + const f = { x: r.x < e.x ? r.x + o : r.x - h + o, y: r.y < e.y ? r.y + u - d : r.y - u + d } + return ( + o === 0 && ((f.x = e.x), (f.y = e.y)), + h === 0 && (f.x = e.x), + u === 0 && (f.y = e.y), + ie.debug(`abc89 topp/bott calc, Q ${u}, q ${d}, R ${h}, r ${o}`, f), + f + ) + } else { + r.x < e.x ? (o = e.x - s - n) : (o = n - s - e.x) + let d = (u * o) / h, + f = r.x < e.x ? r.x + h - o : r.x - h + o, + p = r.y < e.y ? r.y + d : r.y - d + return ( + ie.debug(`sides calc abc89, Q ${u}, q ${d}, R ${h}, r ${o}`, { _x: f, _y: p }), + o === 0 && ((f = e.x), (p = e.y)), + h === 0 && (f = e.x), + u === 0 && (p = e.y), + { x: f, y: p } + ) + } + }, "intersection"), + EN = x((t, e) => { + ie.debug("abc88 cutPathAtIntersect", t, e) + let r = [], + n = t[0], + i = !1 + return ( + t.forEach((a) => { + if (!RLe(e, a) && !i) { + const s = NLe(e, n, a) + let o = !1 + r.forEach((l) => { + o = o || (l.x === s.x && l.y === s.y) + }), + r.some((l) => l.x === s.x && l.y === s.y) || r.push(s), + (i = !0) + } else (n = a), i || r.push(a) + }), + r + ) + }, "cutPathAtIntersect"), + DLe = x(function (t, e, r, n, i, a, s) { + let o = r.points + ie.debug("abc88 InsertEdge: edge=", r, "e=", e) + let l = !1 + const u = a.node(e.v) + var h = a.node(e.w) + h != null && + h.intersect && + u != null && + u.intersect && + ((o = o.slice(1, r.points.length - 1)), o.unshift(u.intersect(o[0])), o.push(h.intersect(o[o.length - 1]))), + r.toCluster && + (ie.debug("to cluster abc88", n[r.toCluster]), (o = EN(r.points, n[r.toCluster].node)), (l = !0)), + r.fromCluster && + (ie.debug("from cluster abc88", n[r.fromCluster]), + (o = EN(o.reverse(), n[r.fromCluster].node).reverse()), + (l = !0)) + const d = o.filter((T) => !Number.isNaN(T.y)) + let f = mh + r.curve && (i === "graph" || i === "flowchart") && (f = r.curve) + const { x: p, y: g } = UM(r), + m = _p().x(p).y(g).curve(f) + let v + switch (r.thickness) { + case "normal": + v = "edge-thickness-normal" + break + case "thick": + v = "edge-thickness-thick" + break + case "invisible": + v = "edge-thickness-thick" + break + default: + v = "" + } + switch (r.pattern) { + case "solid": + v += " edge-pattern-solid" + break + case "dotted": + v += " edge-pattern-dotted" + break + case "dashed": + v += " edge-pattern-dashed" + break + } + const y = t + .append("path") + .attr("d", m(d)) + .attr("id", r.id) + .attr("class", " " + v + (r.classes ? " " + r.classes : "")) + .attr("style", r.style) + let b = "" + ;(we().flowchart.arrowMarkerAbsolute || we().state.arrowMarkerAbsolute) && + ((b = + window.location.protocol + + "//" + + window.location.host + + window.location.pathname + + window.location.search), + (b = b.replace(/\(/g, "\\(")), + (b = b.replace(/\)/g, "\\)"))), + CLe(y, r, b, s, i) + let w = {} + return l && (w.updatedPath = o), (w.originalPath = r.points), w + }, "insertEdge"), + ILe = x((t) => { + const e = new Set() + for (const r of t) + switch (r) { + case "x": + e.add("right"), e.add("left") + break + case "y": + e.add("up"), e.add("down") + break + default: + e.add(r) + break + } + return e + }, "expandAndDeduplicateDirections"), + MLe = x((t, e, r) => { + const n = ILe(t), + i = 2, + a = e.height + 2 * r.padding, + s = a / i, + o = e.width + 2 * s + r.padding, + l = r.padding / 2 + return n.has("right") && n.has("left") && n.has("up") && n.has("down") + ? [ + { x: 0, y: 0 }, + { x: s, y: 0 }, + { x: o / 2, y: 2 * l }, + { x: o - s, y: 0 }, + { x: o, y: 0 }, + { x: o, y: -a / 3 }, + { x: o + 2 * l, y: -a / 2 }, + { x: o, y: (-2 * a) / 3 }, + { x: o, y: -a }, + { x: o - s, y: -a }, + { x: o / 2, y: -a - 2 * l }, + { x: s, y: -a }, + { x: 0, y: -a }, + { x: 0, y: (-2 * a) / 3 }, + { x: -2 * l, y: -a / 2 }, + { x: 0, y: -a / 3 }, + ] + : n.has("right") && n.has("left") && n.has("up") + ? [ + { x: s, y: 0 }, + { x: o - s, y: 0 }, + { x: o, y: -a / 2 }, + { x: o - s, y: -a }, + { x: s, y: -a }, + { x: 0, y: -a / 2 }, + ] + : n.has("right") && n.has("left") && n.has("down") + ? [ + { x: 0, y: 0 }, + { x: s, y: -a }, + { x: o - s, y: -a }, + { x: o, y: 0 }, + ] + : n.has("right") && n.has("up") && n.has("down") + ? [ + { x: 0, y: 0 }, + { x: o, y: -s }, + { x: o, y: -a + s }, + { x: 0, y: -a }, + ] + : n.has("left") && n.has("up") && n.has("down") + ? [ + { x: o, y: 0 }, + { x: 0, y: -s }, + { x: 0, y: -a + s }, + { x: o, y: -a }, + ] + : n.has("right") && n.has("left") + ? [ + { x: s, y: 0 }, + { x: s, y: -l }, + { x: o - s, y: -l }, + { x: o - s, y: 0 }, + { x: o, y: -a / 2 }, + { x: o - s, y: -a }, + { x: o - s, y: -a + l }, + { x: s, y: -a + l }, + { x: s, y: -a }, + { x: 0, y: -a / 2 }, + ] + : n.has("up") && n.has("down") + ? [ + { x: o / 2, y: 0 }, + { x: 0, y: -l }, + { x: s, y: -l }, + { x: s, y: -a + l }, + { x: 0, y: -a + l }, + { x: o / 2, y: -a }, + { x: o, y: -a + l }, + { x: o - s, y: -a + l }, + { x: o - s, y: -l }, + { x: o, y: -l }, + ] + : n.has("right") && n.has("up") + ? [ + { x: 0, y: 0 }, + { x: o, y: -s }, + { x: 0, y: -a }, + ] + : n.has("right") && n.has("down") + ? [ + { x: 0, y: 0 }, + { x: o, y: 0 }, + { x: 0, y: -a }, + ] + : n.has("left") && n.has("up") + ? [ + { x: o, y: 0 }, + { x: 0, y: -s }, + { x: o, y: -a }, + ] + : n.has("left") && n.has("down") + ? [ + { x: o, y: 0 }, + { x: 0, y: 0 }, + { x: o, y: -a }, + ] + : n.has("right") + ? [ + { x: s, y: -l }, + { x: s, y: -l }, + { x: o - s, y: -l }, + { x: o - s, y: 0 }, + { x: o, y: -a / 2 }, + { x: o - s, y: -a }, + { x: o - s, y: -a + l }, + { x: s, y: -a + l }, + { x: s, y: -a + l }, + ] + : n.has("left") + ? [ + { x: s, y: 0 }, + { x: s, y: -l }, + { x: o - s, y: -l }, + { x: o - s, y: -a + l }, + { x: s, y: -a + l }, + { x: s, y: -a }, + { x: 0, y: -a / 2 }, + ] + : n.has("up") + ? [ + { x: s, y: -l }, + { x: s, y: -a + l }, + { x: 0, y: -a + l }, + { x: o / 2, y: -a }, + { x: o, y: -a + l }, + { x: o - s, y: -a + l }, + { x: o - s, y: -l }, + ] + : n.has("down") + ? [ + { x: o / 2, y: 0 }, + { x: 0, y: -l }, + { x: s, y: -l }, + { x: s, y: -a + l }, + { x: o - s, y: -a + l }, + { x: o - s, y: -l }, + { x: o, y: -l }, + ] + : [{ x: 0, y: 0 }] + }, "getArrowPoints") +function wH(t, e) { + return t.intersect(e) +} +x(wH, "intersectNode") +var OLe = wH +function TH(t, e, r, n) { + var i = t.x, + a = t.y, + s = i - n.x, + o = a - n.y, + l = Math.sqrt(e * e * o * o + r * r * s * s), + u = Math.abs((e * r * s) / l) + n.x < i && (u = -u) + var h = Math.abs((e * r * o) / l) + return n.y < a && (h = -h), { x: i + u, y: a + h } +} +x(TH, "intersectEllipse") +var EH = TH +function kH(t, e, r) { + return EH(t, e, e, r) +} +x(kH, "intersectCircle") +var PLe = kH +function SH(t, e, r, n) { + var i, a, s, o, l, u, h, d, f, p, g, m, v, y, b + if ( + ((i = e.y - t.y), + (s = t.x - e.x), + (l = e.x * t.y - t.x * e.y), + (f = i * r.x + s * r.y + l), + (p = i * n.x + s * n.y + l), + !(f !== 0 && p !== 0 && aT(f, p)) && + ((a = n.y - r.y), + (o = r.x - n.x), + (u = n.x * r.y - r.x * n.y), + (h = a * t.x + o * t.y + u), + (d = a * e.x + o * e.y + u), + !(h !== 0 && d !== 0 && aT(h, d)) && ((g = i * o - a * s), g !== 0))) + ) + return ( + (m = Math.abs(g / 2)), + (v = s * u - o * l), + (y = v < 0 ? (v - m) / g : (v + m) / g), + (v = a * l - i * u), + (b = v < 0 ? (v - m) / g : (v + m) / g), + { x: y, y: b } + ) +} +x(SH, "intersectLine") +function aT(t, e) { + return t * e > 0 +} +x(aT, "sameSign") +var BLe = SH, + FLe = CH +function CH(t, e, r) { + var n = t.x, + i = t.y, + a = [], + s = Number.POSITIVE_INFINITY, + o = Number.POSITIVE_INFINITY + typeof e.forEach == "function" + ? e.forEach(function (g) { + ;(s = Math.min(s, g.x)), (o = Math.min(o, g.y)) + }) + : ((s = Math.min(s, e.x)), (o = Math.min(o, e.y))) + for (var l = n - t.width / 2 - s, u = i - t.height / 2 - o, h = 0; h < e.length; h++) { + var d = e[h], + f = e[h < e.length - 1 ? h + 1 : 0], + p = BLe(t, r, { x: l + d.x, y: u + d.y }, { x: l + f.x, y: u + f.y }) + p && a.push(p) + } + return a.length + ? (a.length > 1 && + a.sort(function (g, m) { + var v = g.x - r.x, + y = g.y - r.y, + b = Math.sqrt(v * v + y * y), + w = m.x - r.x, + T = m.y - r.y, + E = Math.sqrt(w * w + T * T) + return b < E ? -1 : b === E ? 0 : 1 + }), + a[0]) + : t +} +x(CH, "intersectPolygon") +var $Le = x((t, e) => { + var r = t.x, + n = t.y, + i = e.x - r, + a = e.y - n, + s = t.width / 2, + o = t.height / 2, + l, + u + return ( + Math.abs(a) * s > Math.abs(i) * o + ? (a < 0 && (o = -o), (l = a === 0 ? 0 : (o * i) / a), (u = o)) + : (i < 0 && (s = -s), (l = s), (u = i === 0 ? 0 : (s * a) / i)), + { x: r + l, y: n + u } + ) + }, "intersectRect"), + zLe = $Le, + Qr = { node: OLe, circle: PLe, ellipse: EH, polygon: FLe, rect: zLe }, + ri = x(async (t, e, r, n) => { + const i = we() + let a + const s = e.useHtmlLabels || Nr(i.flowchart.htmlLabels) + r ? (a = r) : (a = "node default") + const o = t + .insert("g") + .attr("class", a) + .attr("id", e.domId || e.id), + l = o.insert("g").attr("class", "label").attr("style", e.labelStyle) + let u + e.labelText === void 0 ? (u = "") : (u = typeof e.labelText == "string" ? e.labelText : e.labelText[0]) + const h = l.node() + let d + e.labelType === "markdown" + ? (d = fa( + l, + Pr(Zs(u), i), + { useHtmlLabels: s, width: e.width || i.flowchart.wrappingWidth, classes: "markdown-node-label" }, + i, + )) + : (d = h.appendChild(Ua(Pr(Zs(u), i), e.labelStyle, !1, n))) + let f = d.getBBox() + const p = e.padding / 2 + if (Nr(i.flowchart.htmlLabels)) { + const g = d.children[0], + m = rt(d), + v = g.getElementsByTagName("img") + if (v) { + const y = u.replace(/<img[^>]*>/g, "").trim() === "" + await Promise.all( + [...v].map( + (b) => + new Promise((w) => { + function T() { + if (((b.style.display = "flex"), (b.style.flexDirection = "column"), y)) { + const E = i.fontSize + ? i.fontSize + : window.getComputedStyle(document.body).fontSize, + k = parseInt(E, 10) * 5 + "px" + ;(b.style.minWidth = k), (b.style.maxWidth = k) + } else b.style.width = "100%" + w(b) + } + x(T, "setupImage"), + setTimeout(() => { + b.complete && T() + }), + b.addEventListener("error", T), + b.addEventListener("load", T) + }), + ), + ) + } + ;(f = g.getBoundingClientRect()), m.attr("width", f.width), m.attr("height", f.height) + } + return ( + s + ? l.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")") + : l.attr("transform", "translate(0, " + -f.height / 2 + ")"), + e.centerLabel && l.attr("transform", "translate(" + -f.width / 2 + ", " + -f.height / 2 + ")"), + l.insert("rect", ":first-child"), + { shapeSvg: o, bbox: f, halfPadding: p, label: l } + ) + }, "labelHelper"), + dn = x((t, e) => { + const r = e.node().getBBox() + ;(t.width = r.width), (t.height = r.height) + }, "updateNodeBounds") +function Ls(t, e, r, n) { + return t + .insert("polygon", ":first-child") + .attr( + "points", + n + .map(function (i) { + return i.x + "," + i.y + }) + .join(" "), + ) + .attr("class", "label-container") + .attr("transform", "translate(" + -e / 2 + "," + r / 2 + ")") +} +x(Ls, "insertPolygonShape") +var VLe = x(async (t, e) => { + e.useHtmlLabels || we().flowchart.htmlLabels || (e.centerLabel = !0) + const { shapeSvg: n, bbox: i, halfPadding: a } = await ri(t, e, "node " + e.classes, !0) + ie.info("Classes = ", e.classes) + const s = n.insert("rect", ":first-child") + return ( + s + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("x", -i.width / 2 - a) + .attr("y", -i.height / 2 - a) + .attr("width", i.width + e.padding) + .attr("height", i.height + e.padding), + dn(e, s), + (e.intersect = function (o) { + return Qr.rect(e, o) + }), + n + ) + }, "note"), + GLe = VLe, + kN = x((t) => (t ? " " + t : ""), "formatClass"), + Ia = x((t, e) => `${e || "node default"}${kN(t.classes)} ${kN(t.class)}`, "getClassesFromNode"), + SN = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = i + a, + o = [ + { x: s / 2, y: 0 }, + { x: s, y: -s / 2 }, + { x: s / 2, y: -s }, + { x: 0, y: -s / 2 }, + ] + ie.info("Question main (Circle)") + const l = Ls(r, s, s, o) + return ( + l.attr("style", e.style), + dn(e, l), + (e.intersect = function (u) { + return ie.warn("Intersect called"), Qr.polygon(e, o, u) + }), + r + ) + }, "question"), + ULe = x((t, e) => { + const r = t + .insert("g") + .attr("class", "node default") + .attr("id", e.domId || e.id), + n = 28, + i = [ + { x: 0, y: n / 2 }, + { x: n / 2, y: 0 }, + { x: 0, y: -28 / 2 }, + { x: -28 / 2, y: 0 }, + ] + return ( + r + .insert("polygon", ":first-child") + .attr( + "points", + i + .map(function (s) { + return s.x + "," + s.y + }) + .join(" "), + ) + .attr("class", "state-start") + .attr("r", 7) + .attr("width", 28) + .attr("height", 28), + (e.width = 28), + (e.height = 28), + (e.intersect = function (s) { + return Qr.circle(e, 14, s) + }), + r + ) + }, "choice"), + qLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = 4, + a = n.height + e.padding, + s = a / i, + o = n.width + 2 * s + e.padding, + l = [ + { x: s, y: 0 }, + { x: o - s, y: 0 }, + { x: o, y: -a / 2 }, + { x: o - s, y: -a }, + { x: s, y: -a }, + { x: 0, y: -a / 2 }, + ], + u = Ls(r, o, a, l) + return ( + u.attr("style", e.style), + dn(e, u), + (e.intersect = function (h) { + return Qr.polygon(e, l, h) + }), + r + ) + }, "hexagon"), + WLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, void 0, !0), + i = 2, + a = n.height + 2 * e.padding, + s = a / i, + o = n.width + 2 * s + e.padding, + l = MLe(e.directions, n, e), + u = Ls(r, o, a, l) + return ( + u.attr("style", e.style), + dn(e, u), + (e.intersect = function (h) { + return Qr.polygon(e, l, h) + }), + r + ) + }, "block_arrow"), + HLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: -a / 2, y: 0 }, + { x: i, y: 0 }, + { x: i, y: -a }, + { x: -a / 2, y: -a }, + { x: 0, y: -a / 2 }, + ] + return ( + Ls(r, i, a, s).attr("style", e.style), + (e.width = i + a), + (e.height = a), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "rect_left_inv_arrow"), + YLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (-2 * a) / 6, y: 0 }, + { x: i - a / 6, y: 0 }, + { x: i + (2 * a) / 6, y: -a }, + { x: a / 6, y: -a }, + ], + o = Ls(r, i, a, s) + return ( + o.attr("style", e.style), + dn(e, o), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "lean_right"), + XLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (2 * a) / 6, y: 0 }, + { x: i + a / 6, y: 0 }, + { x: i - (2 * a) / 6, y: -a }, + { x: -a / 6, y: -a }, + ], + o = Ls(r, i, a, s) + return ( + o.attr("style", e.style), + dn(e, o), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "lean_left"), + jLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: (-2 * a) / 6, y: 0 }, + { x: i + (2 * a) / 6, y: 0 }, + { x: i - a / 6, y: -a }, + { x: a / 6, y: -a }, + ], + o = Ls(r, i, a, s) + return ( + o.attr("style", e.style), + dn(e, o), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "trapezoid"), + KLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: a / 6, y: 0 }, + { x: i - a / 6, y: 0 }, + { x: i + (2 * a) / 6, y: -a }, + { x: (-2 * a) / 6, y: -a }, + ], + o = Ls(r, i, a, s) + return ( + o.attr("style", e.style), + dn(e, o), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "inv_trapezoid"), + ZLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: 0, y: 0 }, + { x: i + a / 2, y: 0 }, + { x: i, y: -a / 2 }, + { x: i + a / 2, y: -a }, + { x: 0, y: -a }, + ], + o = Ls(r, i, a, s) + return ( + o.attr("style", e.style), + dn(e, o), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "rect_right_inv_arrow"), + QLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = i / 2, + s = a / (2.5 + i / 50), + o = n.height + s + e.padding, + l = + "M 0," + + s + + " a " + + a + + "," + + s + + " 0,0,0 " + + i + + " 0 a " + + a + + "," + + s + + " 0,0,0 " + + -i + + " 0 l 0," + + o + + " a " + + a + + "," + + s + + " 0,0,0 " + + i + + " 0 l 0," + + -o, + u = r + .attr("label-offset-y", s) + .insert("path", ":first-child") + .attr("style", e.style) + .attr("d", l) + .attr("transform", "translate(" + -i / 2 + "," + -(o / 2 + s) + ")") + return ( + dn(e, u), + (e.intersect = function (h) { + const d = Qr.rect(e, h), + f = d.x - e.x + if ( + a != 0 && + (Math.abs(f) < e.width / 2 || + (Math.abs(f) == e.width / 2 && Math.abs(d.y - e.y) > e.height / 2 - s)) + ) { + let p = s * s * (1 - (f * f) / (a * a)) + p != 0 && (p = Math.sqrt(p)), (p = s - p), h.y - e.y > 0 && (p = -p), (d.y += p) + } + return d + }), + r + ) + }, "cylinder"), + JLe = x(async (t, e) => { + const { shapeSvg: r, bbox: n, halfPadding: i } = await ri(t, e, "node " + e.classes + " " + e.class, !0), + a = r.insert("rect", ":first-child"), + s = e.positioned ? e.width : n.width + e.padding, + o = e.positioned ? e.height : n.height + e.padding, + l = e.positioned ? -s / 2 : -n.width / 2 - i, + u = e.positioned ? -o / 2 : -n.height / 2 - i + if ( + (a + .attr("class", "basic label-container") + .attr("style", e.style) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("x", l) + .attr("y", u) + .attr("width", s) + .attr("height", o), + e.props) + ) { + const h = new Set(Object.keys(e.props)) + e.props.borders && (Yx(a, e.props.borders, s, o), h.delete("borders")), + h.forEach((d) => { + ie.warn(`Unknown node property ${d}`) + }) + } + return ( + dn(e, a), + (e.intersect = function (h) { + return Qr.rect(e, h) + }), + r + ) + }, "rect"), + eRe = x(async (t, e) => { + const { shapeSvg: r, bbox: n, halfPadding: i } = await ri(t, e, "node " + e.classes, !0), + a = r.insert("rect", ":first-child"), + s = e.positioned ? e.width : n.width + e.padding, + o = e.positioned ? e.height : n.height + e.padding, + l = e.positioned ? -s / 2 : -n.width / 2 - i, + u = e.positioned ? -o / 2 : -n.height / 2 - i + if ( + (a + .attr("class", "basic cluster composite label-container") + .attr("style", e.style) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("x", l) + .attr("y", u) + .attr("width", s) + .attr("height", o), + e.props) + ) { + const h = new Set(Object.keys(e.props)) + e.props.borders && (Yx(a, e.props.borders, s, o), h.delete("borders")), + h.forEach((d) => { + ie.warn(`Unknown node property ${d}`) + }) + } + return ( + dn(e, a), + (e.intersect = function (h) { + return Qr.rect(e, h) + }), + r + ) + }, "composite"), + tRe = x(async (t, e) => { + const { shapeSvg: r } = await ri(t, e, "label", !0) + ie.trace("Classes = ", e.class) + const n = r.insert("rect", ":first-child"), + i = 0, + a = 0 + if ((n.attr("width", i).attr("height", a), r.attr("class", "label edgeLabel"), e.props)) { + const s = new Set(Object.keys(e.props)) + e.props.borders && (Yx(n, e.props.borders, i, a), s.delete("borders")), + s.forEach((o) => { + ie.warn(`Unknown node property ${o}`) + }) + } + return ( + dn(e, n), + (e.intersect = function (s) { + return Qr.rect(e, s) + }), + r + ) + }, "labelRect") +function Yx(t, e, r, n) { + const i = [], + a = x((o) => { + i.push(o, 0) + }, "addBorder"), + s = x((o) => { + i.push(0, o) + }, "skipBorder") + e.includes("t") ? (ie.debug("add top border"), a(r)) : s(r), + e.includes("r") ? (ie.debug("add right border"), a(n)) : s(n), + e.includes("b") ? (ie.debug("add bottom border"), a(r)) : s(r), + e.includes("l") ? (ie.debug("add left border"), a(n)) : s(n), + t.attr("stroke-dasharray", i.join(" ")) +} +x(Yx, "applyNodePropertyBorders") +var rRe = x((t, e) => { + let r + e.classes ? (r = "node " + e.classes) : (r = "node default") + const n = t + .insert("g") + .attr("class", r) + .attr("id", e.domId || e.id), + i = n.insert("rect", ":first-child"), + a = n.insert("line"), + s = n.insert("g").attr("class", "label"), + o = e.labelText.flat ? e.labelText.flat() : e.labelText + let l = "" + typeof o == "object" ? (l = o[0]) : (l = o), ie.info("Label text abc79", l, o, typeof o == "object") + const u = s.node().appendChild(Ua(l, e.labelStyle, !0, !0)) + let h = { width: 0, height: 0 } + if (Nr(we().flowchart.htmlLabels)) { + const m = u.children[0], + v = rt(u) + ;(h = m.getBoundingClientRect()), v.attr("width", h.width), v.attr("height", h.height) + } + ie.info("Text 2", o) + const d = o.slice(1, o.length) + let f = u.getBBox() + const p = s.node().appendChild(Ua(d.join ? d.join("<br/>") : d, e.labelStyle, !0, !0)) + if (Nr(we().flowchart.htmlLabels)) { + const m = p.children[0], + v = rt(p) + ;(h = m.getBoundingClientRect()), v.attr("width", h.width), v.attr("height", h.height) + } + const g = e.padding / 2 + return ( + rt(p).attr( + "transform", + "translate( " + (h.width > f.width ? 0 : (f.width - h.width) / 2) + ", " + (f.height + g + 5) + ")", + ), + rt(u).attr("transform", "translate( " + (h.width < f.width ? 0 : -(f.width - h.width) / 2) + ", 0)"), + (h = s.node().getBBox()), + s.attr("transform", "translate(" + -h.width / 2 + ", " + (-h.height / 2 - g + 3) + ")"), + i + .attr("class", "outer title-state") + .attr("x", -h.width / 2 - g) + .attr("y", -h.height / 2 - g) + .attr("width", h.width + e.padding) + .attr("height", h.height + e.padding), + a + .attr("class", "divider") + .attr("x1", -h.width / 2 - g) + .attr("x2", h.width / 2 + g) + .attr("y1", -h.height / 2 - g + f.height + g) + .attr("y2", -h.height / 2 - g + f.height + g), + dn(e, i), + (e.intersect = function (m) { + return Qr.rect(e, m) + }), + n + ) + }, "rectWithTitle"), + nRe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.height + e.padding, + a = n.width + i / 4 + e.padding, + s = r + .insert("rect", ":first-child") + .attr("style", e.style) + .attr("rx", i / 2) + .attr("ry", i / 2) + .attr("x", -a / 2) + .attr("y", -i / 2) + .attr("width", a) + .attr("height", i) + return ( + dn(e, s), + (e.intersect = function (o) { + return Qr.rect(e, o) + }), + r + ) + }, "stadium"), + iRe = x(async (t, e) => { + const { shapeSvg: r, bbox: n, halfPadding: i } = await ri(t, e, Ia(e, void 0), !0), + a = r.insert("circle", ":first-child") + return ( + a + .attr("style", e.style) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("r", n.width / 2 + i) + .attr("width", n.width + e.padding) + .attr("height", n.height + e.padding), + ie.info("Circle main"), + dn(e, a), + (e.intersect = function (s) { + return ie.info("Circle intersect", e, n.width / 2 + i, s), Qr.circle(e, n.width / 2 + i, s) + }), + r + ) + }, "circle"), + aRe = x(async (t, e) => { + const { shapeSvg: r, bbox: n, halfPadding: i } = await ri(t, e, Ia(e, void 0), !0), + a = 5, + s = r.insert("g", ":first-child"), + o = s.insert("circle"), + l = s.insert("circle") + return ( + s.attr("class", e.class), + o + .attr("style", e.style) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("r", n.width / 2 + i + a) + .attr("width", n.width + e.padding + a * 2) + .attr("height", n.height + e.padding + a * 2), + l + .attr("style", e.style) + .attr("rx", e.rx) + .attr("ry", e.ry) + .attr("r", n.width / 2 + i) + .attr("width", n.width + e.padding) + .attr("height", n.height + e.padding), + ie.info("DoubleCircle main"), + dn(e, o), + (e.intersect = function (u) { + return ( + ie.info("DoubleCircle intersect", e, n.width / 2 + i + a, u), Qr.circle(e, n.width / 2 + i + a, u) + ) + }), + r + ) + }, "doublecircle"), + sRe = x(async (t, e) => { + const { shapeSvg: r, bbox: n } = await ri(t, e, Ia(e, void 0), !0), + i = n.width + e.padding, + a = n.height + e.padding, + s = [ + { x: 0, y: 0 }, + { x: i, y: 0 }, + { x: i, y: -a }, + { x: 0, y: -a }, + { x: 0, y: 0 }, + { x: -8, y: 0 }, + { x: i + 8, y: 0 }, + { x: i + 8, y: -a }, + { x: -8, y: -a }, + { x: -8, y: 0 }, + ], + o = Ls(r, i, a, s) + return ( + o.attr("style", e.style), + dn(e, o), + (e.intersect = function (l) { + return Qr.polygon(e, s, l) + }), + r + ) + }, "subroutine"), + oRe = x((t, e) => { + const r = t + .insert("g") + .attr("class", "node default") + .attr("id", e.domId || e.id), + n = r.insert("circle", ":first-child") + return ( + n.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), + dn(e, n), + (e.intersect = function (i) { + return Qr.circle(e, 7, i) + }), + r + ) + }, "start"), + CN = x((t, e, r) => { + const n = t + .insert("g") + .attr("class", "node default") + .attr("id", e.domId || e.id) + let i = 70, + a = 10 + r === "LR" && ((i = 10), (a = 70)) + const s = n + .append("rect") + .attr("x", (-1 * i) / 2) + .attr("y", (-1 * a) / 2) + .attr("width", i) + .attr("height", a) + .attr("class", "fork-join") + return ( + dn(e, s), + (e.height = e.height + e.padding / 2), + (e.width = e.width + e.padding / 2), + (e.intersect = function (o) { + return Qr.rect(e, o) + }), + n + ) + }, "forkJoin"), + lRe = x((t, e) => { + const r = t + .insert("g") + .attr("class", "node default") + .attr("id", e.domId || e.id), + n = r.insert("circle", ":first-child"), + i = r.insert("circle", ":first-child") + return ( + i.attr("class", "state-start").attr("r", 7).attr("width", 14).attr("height", 14), + n.attr("class", "state-end").attr("r", 5).attr("width", 10).attr("height", 10), + dn(e, i), + (e.intersect = function (a) { + return Qr.circle(e, 7, a) + }), + r + ) + }, "end"), + cRe = x((t, e) => { + var L + const r = e.padding / 2, + n = 4, + i = 8 + let a + e.classes ? (a = "node " + e.classes) : (a = "node default") + const s = t + .insert("g") + .attr("class", a) + .attr("id", e.domId || e.id), + o = s.insert("rect", ":first-child"), + l = s.insert("line"), + u = s.insert("line") + let h = 0, + d = n + const f = s.insert("g").attr("class", "label") + let p = 0 + const g = (L = e.classData.annotations) == null ? void 0 : L[0], + m = e.classData.annotations[0] ? "«" + e.classData.annotations[0] + "»" : "", + v = f.node().appendChild(Ua(m, e.labelStyle, !0, !0)) + let y = v.getBBox() + if (Nr(we().flowchart.htmlLabels)) { + const A = v.children[0], + R = rt(v) + ;(y = A.getBoundingClientRect()), R.attr("width", y.width), R.attr("height", y.height) + } + e.classData.annotations[0] && ((d += y.height + n), (h += y.width)) + let b = e.classData.label + e.classData.type !== void 0 && + e.classData.type !== "" && + (we().flowchart.htmlLabels + ? (b += "<" + e.classData.type + ">") + : (b += "<" + e.classData.type + ">")) + const w = f.node().appendChild(Ua(b, e.labelStyle, !0, !0)) + rt(w).attr("class", "classTitle") + let T = w.getBBox() + if (Nr(we().flowchart.htmlLabels)) { + const A = w.children[0], + R = rt(w) + ;(T = A.getBoundingClientRect()), R.attr("width", T.width), R.attr("height", T.height) + } + ;(d += T.height + n), T.width > h && (h = T.width) + const E = [] + e.classData.members.forEach((A) => { + const R = A.getDisplayDetails() + let C = R.displayText + we().flowchart.htmlLabels && (C = C.replace(/</g, "<").replace(/>/g, ">")) + const I = f.node().appendChild(Ua(C, R.cssStyle ? R.cssStyle : e.labelStyle, !0, !0)) + let P = I.getBBox() + if (Nr(we().flowchart.htmlLabels)) { + const _ = I.children[0], + N = rt(I) + ;(P = _.getBoundingClientRect()), N.attr("width", P.width), N.attr("height", P.height) + } + P.width > h && (h = P.width), (d += P.height + n), E.push(I) + }), + (d += i) + const S = [] + if ( + (e.classData.methods.forEach((A) => { + const R = A.getDisplayDetails() + let C = R.displayText + we().flowchart.htmlLabels && (C = C.replace(/</g, "<").replace(/>/g, ">")) + const I = f.node().appendChild(Ua(C, R.cssStyle ? R.cssStyle : e.labelStyle, !0, !0)) + let P = I.getBBox() + if (Nr(we().flowchart.htmlLabels)) { + const _ = I.children[0], + N = rt(I) + ;(P = _.getBoundingClientRect()), N.attr("width", P.width), N.attr("height", P.height) + } + P.width > h && (h = P.width), (d += P.height + n), S.push(I) + }), + (d += i), + g) + ) { + let A = (h - y.width) / 2 + rt(v).attr("transform", "translate( " + ((-1 * h) / 2 + A) + ", " + (-1 * d) / 2 + ")"), (p = y.height + n) + } + let k = (h - T.width) / 2 + return ( + rt(w).attr("transform", "translate( " + ((-1 * h) / 2 + k) + ", " + ((-1 * d) / 2 + p) + ")"), + (p += T.height + n), + l + .attr("class", "divider") + .attr("x1", -h / 2 - r) + .attr("x2", h / 2 + r) + .attr("y1", -d / 2 - r + i + p) + .attr("y2", -d / 2 - r + i + p), + (p += i), + E.forEach((A) => { + rt(A).attr("transform", "translate( " + -h / 2 + ", " + ((-1 * d) / 2 + p + i / 2) + ")") + const R = A == null ? void 0 : A.getBBox() + p += ((R == null ? void 0 : R.height) ?? 0) + n + }), + (p += i), + u + .attr("class", "divider") + .attr("x1", -h / 2 - r) + .attr("x2", h / 2 + r) + .attr("y1", -d / 2 - r + i + p) + .attr("y2", -d / 2 - r + i + p), + (p += i), + S.forEach((A) => { + rt(A).attr("transform", "translate( " + -h / 2 + ", " + ((-1 * d) / 2 + p) + ")") + const R = A == null ? void 0 : A.getBBox() + p += ((R == null ? void 0 : R.height) ?? 0) + n + }), + o + .attr("style", e.style) + .attr("class", "outer title-state") + .attr("x", -h / 2 - r) + .attr("y", -(d / 2) - r) + .attr("width", h + e.padding) + .attr("height", d + e.padding), + dn(e, o), + (e.intersect = function (A) { + return Qr.rect(e, A) + }), + s + ) + }, "class_box"), + AN = { + rhombus: SN, + composite: eRe, + question: SN, + rect: JLe, + labelRect: tRe, + rectWithTitle: rRe, + choice: ULe, + circle: iRe, + doublecircle: aRe, + stadium: nRe, + hexagon: qLe, + block_arrow: WLe, + rect_left_inv_arrow: HLe, + lean_right: YLe, + lean_left: XLe, + trapezoid: jLe, + inv_trapezoid: KLe, + rect_right_inv_arrow: ZLe, + cylinder: QLe, + start: oRe, + end: lRe, + note: GLe, + subroutine: sRe, + fork: CN, + join: CN, + class_box: cRe, + }, + hv = {}, + AH = x(async (t, e, r) => { + let n, i + if (e.link) { + let a + we().securityLevel === "sandbox" ? (a = "_top") : e.linkTarget && (a = e.linkTarget || "_blank"), + (n = t.insert("svg:a").attr("xlink:href", e.link).attr("target", a)), + (i = await AN[e.shape](n, e, r)) + } else (i = await AN[e.shape](t, e, r)), (n = i) + return ( + e.tooltip && i.attr("title", e.tooltip), + e.class && i.attr("class", "node default " + e.class), + (hv[e.id] = n), + e.haveCallback && hv[e.id].attr("class", hv[e.id].attr("class") + " clickable"), + n + ) + }, "insertNode"), + uRe = x((t) => { + const e = hv[t.id] + ie.trace("Transforming node", t.diff, t, "translate(" + (t.x - t.width / 2 - 5) + ", " + t.width / 2 + ")") + const r = 8, + n = t.diff || 0 + return ( + t.clusterNode + ? e.attr("transform", "translate(" + (t.x + n - t.width / 2) + ", " + (t.y - t.height / 2 - r) + ")") + : e.attr("transform", "translate(" + t.x + ", " + t.y + ")"), + n + ) + }, "positionNode") +function GS(t, e, r = !1) { + var f, p, g + const n = t + let i = "default" + ;(((f = n == null ? void 0 : n.classes) == null ? void 0 : f.length) || 0) > 0 && + (i = ((n == null ? void 0 : n.classes) ?? []).join(" ")), + (i = i + " flowchart-label") + let a = 0, + s = "", + o + switch (n.type) { + case "round": + ;(a = 5), (s = "rect") + break + case "composite": + ;(a = 0), (s = "composite"), (o = 0) + break + case "square": + s = "rect" + break + case "diamond": + s = "question" + break + case "hexagon": + s = "hexagon" + break + case "block_arrow": + s = "block_arrow" + break + case "odd": + s = "rect_left_inv_arrow" + break + case "lean_right": + s = "lean_right" + break + case "lean_left": + s = "lean_left" + break + case "trapezoid": + s = "trapezoid" + break + case "inv_trapezoid": + s = "inv_trapezoid" + break + case "rect_left_inv_arrow": + s = "rect_left_inv_arrow" + break + case "circle": + s = "circle" + break + case "ellipse": + s = "ellipse" + break + case "stadium": + s = "stadium" + break + case "subroutine": + s = "subroutine" + break + case "cylinder": + s = "cylinder" + break + case "group": + s = "rect" + break + case "doublecircle": + s = "doublecircle" + break + default: + s = "rect" + } + const l = fE((n == null ? void 0 : n.styles) ?? []), + u = n.label, + h = n.size ?? { width: 0, height: 0, x: 0, y: 0 } + return { + labelStyle: l.labelStyle, + shape: s, + labelText: u, + rx: a, + ry: a, + class: i, + style: l.style, + id: n.id, + directions: n.directions, + width: h.width, + height: h.height, + x: h.x, + y: h.y, + positioned: r, + intersect: void 0, + type: n.type, + padding: o ?? ((g = (p = Dr()) == null ? void 0 : p.block) == null ? void 0 : g.padding) ?? 0, + } +} +x(GS, "getNodeFromBlock") +async function _H(t, e, r) { + const n = GS(e, r, !1) + if (n.type === "group") return + const i = Dr(), + a = await AH(t, n, { config: i }), + s = a.node().getBBox(), + o = r.getBlock(n.id) + ;(o.size = { width: s.width, height: s.height, x: 0, y: 0, node: a }), r.setBlock(o), a.remove() +} +x(_H, "calculateBlockSize") +async function LH(t, e, r) { + const n = GS(e, r, !0) + if (r.getBlock(n.id).type !== "space") { + const a = Dr() + await AH(t, n, { config: a }), (e.intersect = n == null ? void 0 : n.intersect), uRe(n) + } +} +x(LH, "insertBlockPositioned") +async function Xx(t, e, r, n) { + for (const i of e) await n(t, i, r), i.children && (await Xx(t, i.children, r, n)) +} +x(Xx, "performOperations") +async function RH(t, e, r) { + await Xx(t, e, r, _H) +} +x(RH, "calculateBlockSizes") +async function NH(t, e, r) { + await Xx(t, e, r, LH) +} +x(NH, "insertBlocks") +async function DH(t, e, r, n, i) { + const a = new ga({ multigraph: !0, compound: !0 }) + a.setGraph({ rankdir: "TB", nodesep: 10, ranksep: 10, marginx: 8, marginy: 8 }) + for (const s of r) s.size && a.setNode(s.id, { width: s.size.width, height: s.size.height, intersect: s.intersect }) + for (const s of e) + if (s.start && s.end) { + const o = n.getBlock(s.start), + l = n.getBlock(s.end) + if (o != null && o.size && l != null && l.size) { + const u = o.size, + h = l.size, + d = [ + { x: u.x, y: u.y }, + { x: u.x + (h.x - u.x) / 2, y: u.y + (h.y - u.y) / 2 }, + { x: h.x, y: h.y }, + ] + DLe( + t, + { v: s.start, w: s.end, name: s.id }, + { + ...s, + arrowTypeEnd: s.arrowTypeEnd, + arrowTypeStart: s.arrowTypeStart, + points: d, + classes: "edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1", + }, + void 0, + "block", + a, + i, + ), + s.label && + (await _Le(t, { + ...s, + label: s.label, + labelStyle: "stroke: #333; stroke-width: 1.5px;fill:none;", + arrowTypeEnd: s.arrowTypeEnd, + arrowTypeStart: s.arrowTypeStart, + points: d, + classes: "edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1", + }), + LLe({ ...s, x: d[1].x, y: d[1].y }, { originalPath: d })) + } + } +} +x(DH, "insertEdges") +var hRe = x(function (t, e) { + return e.db.getClasses() + }, "getClasses"), + dRe = x(async function (t, e, r, n) { + const { securityLevel: i, block: a } = Dr(), + s = n.db + let o + i === "sandbox" && (o = rt("#i" + e)) + const l = rt(i === "sandbox" ? o.nodes()[0].contentDocument.body : "body"), + u = i === "sandbox" ? l.select(`[id="${e}"]`) : rt(`[id="${e}"]`) + ELe(u, ["point", "circle", "cross"], n.type, e) + const d = s.getBlocks(), + f = s.getBlocksFlat(), + p = s.getEdges(), + g = u.insert("g").attr("class", "block") + await RH(g, d, s) + const m = xH(s) + if ((await NH(g, d, s), await DH(g, p, f, s, e), m)) { + const v = m, + y = Math.max(1, Math.round(0.125 * (v.width / v.height))), + b = v.height + y + 10, + w = v.width + 10, + { useMaxWidth: T } = a + da(u, b, w, !!T), + ie.debug("Here Bounds", m, v), + u.attr("viewBox", `${v.x - 5} ${v.y - 5} ${v.width + 10} ${v.height + 10}`) + } + }, "draw"), + fRe = { draw: dRe, getClasses: hRe }, + pRe = { parser: q9e, db: cLe, renderer: fRe, styles: hLe } +const gRe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: pRe }, Symbol.toStringTag, { value: "Module" }), +) +var dv = { exports: {} }, + fv = { exports: {} }, + pv = { exports: {} }, + mRe = pv.exports, + _N +function vRe() { + return ( + _N || + ((_N = 1), + (function (t, e) { + ;(function (n, i) { + t.exports = i() + })(mRe, function () { + return (function (r) { + var n = {} + function i(a) { + if (n[a]) return n[a].exports + var s = (n[a] = { i: a, l: !1, exports: {} }) + return r[a].call(s.exports, s, s.exports, i), (s.l = !0), s.exports + } + return ( + (i.m = r), + (i.c = n), + (i.i = function (a) { + return a + }), + (i.d = function (a, s, o) { + i.o(a, s) || Object.defineProperty(a, s, { configurable: !1, enumerable: !0, get: o }) + }), + (i.n = function (a) { + var s = + a && a.__esModule + ? function () { + return a.default + } + : function () { + return a + } + return i.d(s, "a", s), s + }), + (i.o = function (a, s) { + return Object.prototype.hasOwnProperty.call(a, s) + }), + (i.p = ""), + i((i.s = 28)) + ) + })([ + function (r, n, i) { + function a() {} + ;(a.QUALITY = 1), + (a.DEFAULT_CREATE_BENDS_AS_NEEDED = !1), + (a.DEFAULT_INCREMENTAL = !1), + (a.DEFAULT_ANIMATION_ON_LAYOUT = !0), + (a.DEFAULT_ANIMATION_DURING_LAYOUT = !1), + (a.DEFAULT_ANIMATION_PERIOD = 50), + (a.DEFAULT_UNIFORM_LEAF_NODE_SIZES = !1), + (a.DEFAULT_GRAPH_MARGIN = 15), + (a.NODE_DIMENSIONS_INCLUDE_LABELS = !1), + (a.SIMPLE_NODE_SIZE = 40), + (a.SIMPLE_NODE_HALF_SIZE = a.SIMPLE_NODE_SIZE / 2), + (a.EMPTY_COMPOUND_NODE_SIZE = 40), + (a.MIN_EDGE_LENGTH = 1), + (a.WORLD_BOUNDARY = 1e6), + (a.INITIAL_WORLD_BOUNDARY = a.WORLD_BOUNDARY / 1e3), + (a.WORLD_CENTER_X = 1200), + (a.WORLD_CENTER_Y = 900), + (r.exports = a) + }, + function (r, n, i) { + var a = i(2), + s = i(8), + o = i(9) + function l(h, d, f) { + a.call(this, f), + (this.isOverlapingSourceAndTarget = !1), + (this.vGraphObject = f), + (this.bendpoints = []), + (this.source = h), + (this.target = d) + } + l.prototype = Object.create(a.prototype) + for (var u in a) l[u] = a[u] + ;(l.prototype.getSource = function () { + return this.source + }), + (l.prototype.getTarget = function () { + return this.target + }), + (l.prototype.isInterGraph = function () { + return this.isInterGraph + }), + (l.prototype.getLength = function () { + return this.length + }), + (l.prototype.isOverlapingSourceAndTarget = function () { + return this.isOverlapingSourceAndTarget + }), + (l.prototype.getBendpoints = function () { + return this.bendpoints + }), + (l.prototype.getLca = function () { + return this.lca + }), + (l.prototype.getSourceInLca = function () { + return this.sourceInLca + }), + (l.prototype.getTargetInLca = function () { + return this.targetInLca + }), + (l.prototype.getOtherEnd = function (h) { + if (this.source === h) return this.target + if (this.target === h) return this.source + throw "Node is not incident with this edge" + }), + (l.prototype.getOtherEndInGraph = function (h, d) { + for (var f = this.getOtherEnd(h), p = d.getGraphManager().getRoot(); ; ) { + if (f.getOwner() == d) return f + if (f.getOwner() == p) break + f = f.getOwner().getParent() + } + return null + }), + (l.prototype.updateLength = function () { + var h = new Array(4) + ;(this.isOverlapingSourceAndTarget = s.getIntersection( + this.target.getRect(), + this.source.getRect(), + h, + )), + this.isOverlapingSourceAndTarget || + ((this.lengthX = h[0] - h[2]), + (this.lengthY = h[1] - h[3]), + Math.abs(this.lengthX) < 1 && (this.lengthX = o.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = o.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY, + ))) + }), + (l.prototype.updateLengthSimple = function () { + ;(this.lengthX = this.target.getCenterX() - this.source.getCenterX()), + (this.lengthY = this.target.getCenterY() - this.source.getCenterY()), + Math.abs(this.lengthX) < 1 && (this.lengthX = o.sign(this.lengthX)), + Math.abs(this.lengthY) < 1 && (this.lengthY = o.sign(this.lengthY)), + (this.length = Math.sqrt( + this.lengthX * this.lengthX + this.lengthY * this.lengthY, + )) + }), + (r.exports = l) + }, + function (r, n, i) { + function a(s) { + this.vGraphObject = s + } + r.exports = a + }, + function (r, n, i) { + var a = i(2), + s = i(10), + o = i(13), + l = i(0), + u = i(16), + h = i(5) + function d(p, g, m, v) { + m == null && v == null && (v = g), + a.call(this, v), + p.graphManager != null && (p = p.graphManager), + (this.estimatedSize = s.MIN_VALUE), + (this.inclusionTreeDepth = s.MAX_VALUE), + (this.vGraphObject = v), + (this.edges = []), + (this.graphManager = p), + m != null && g != null + ? (this.rect = new o(g.x, g.y, m.width, m.height)) + : (this.rect = new o()) + } + d.prototype = Object.create(a.prototype) + for (var f in a) d[f] = a[f] + ;(d.prototype.getEdges = function () { + return this.edges + }), + (d.prototype.getChild = function () { + return this.child + }), + (d.prototype.getOwner = function () { + return this.owner + }), + (d.prototype.getWidth = function () { + return this.rect.width + }), + (d.prototype.setWidth = function (p) { + this.rect.width = p + }), + (d.prototype.getHeight = function () { + return this.rect.height + }), + (d.prototype.setHeight = function (p) { + this.rect.height = p + }), + (d.prototype.getCenterX = function () { + return this.rect.x + this.rect.width / 2 + }), + (d.prototype.getCenterY = function () { + return this.rect.y + this.rect.height / 2 + }), + (d.prototype.getCenter = function () { + return new h(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2) + }), + (d.prototype.getLocation = function () { + return new h(this.rect.x, this.rect.y) + }), + (d.prototype.getRect = function () { + return this.rect + }), + (d.prototype.getDiagonal = function () { + return Math.sqrt( + this.rect.width * this.rect.width + this.rect.height * this.rect.height, + ) + }), + (d.prototype.getHalfTheDiagonal = function () { + return ( + Math.sqrt( + this.rect.height * this.rect.height + this.rect.width * this.rect.width, + ) / 2 + ) + }), + (d.prototype.setRect = function (p, g) { + ;(this.rect.x = p.x), + (this.rect.y = p.y), + (this.rect.width = g.width), + (this.rect.height = g.height) + }), + (d.prototype.setCenter = function (p, g) { + ;(this.rect.x = p - this.rect.width / 2), (this.rect.y = g - this.rect.height / 2) + }), + (d.prototype.setLocation = function (p, g) { + ;(this.rect.x = p), (this.rect.y = g) + }), + (d.prototype.moveBy = function (p, g) { + ;(this.rect.x += p), (this.rect.y += g) + }), + (d.prototype.getEdgeListToNode = function (p) { + var g = [], + m = this + return ( + m.edges.forEach(function (v) { + if (v.target == p) { + if (v.source != m) throw "Incorrect edge source!" + g.push(v) + } + }), + g + ) + }), + (d.prototype.getEdgesBetween = function (p) { + var g = [], + m = this + return ( + m.edges.forEach(function (v) { + if (!(v.source == m || v.target == m)) + throw "Incorrect edge source and/or target" + ;(v.target == p || v.source == p) && g.push(v) + }), + g + ) + }), + (d.prototype.getNeighborsList = function () { + var p = new Set(), + g = this + return ( + g.edges.forEach(function (m) { + if (m.source == g) p.add(m.target) + else { + if (m.target != g) throw "Incorrect incidency!" + p.add(m.source) + } + }), + p + ) + }), + (d.prototype.withChildren = function () { + var p = new Set(), + g, + m + if ((p.add(this), this.child != null)) + for (var v = this.child.getNodes(), y = 0; y < v.length; y++) + (g = v[y]), + (m = g.withChildren()), + m.forEach(function (b) { + p.add(b) + }) + return p + }), + (d.prototype.getNoOfChildren = function () { + var p = 0, + g + if (this.child == null) p = 1 + else + for (var m = this.child.getNodes(), v = 0; v < m.length; v++) + (g = m[v]), (p += g.getNoOfChildren()) + return p == 0 && (p = 1), p + }), + (d.prototype.getEstimatedSize = function () { + if (this.estimatedSize == s.MIN_VALUE) throw "assert failed" + return this.estimatedSize + }), + (d.prototype.calcEstimatedSize = function () { + return this.child == null + ? (this.estimatedSize = (this.rect.width + this.rect.height) / 2) + : ((this.estimatedSize = this.child.calcEstimatedSize()), + (this.rect.width = this.estimatedSize), + (this.rect.height = this.estimatedSize), + this.estimatedSize) + }), + (d.prototype.scatter = function () { + var p, + g, + m = -l.INITIAL_WORLD_BOUNDARY, + v = l.INITIAL_WORLD_BOUNDARY + p = l.WORLD_CENTER_X + u.nextDouble() * (v - m) + m + var y = -l.INITIAL_WORLD_BOUNDARY, + b = l.INITIAL_WORLD_BOUNDARY + ;(g = l.WORLD_CENTER_Y + u.nextDouble() * (b - y) + y), + (this.rect.x = p), + (this.rect.y = g) + }), + (d.prototype.updateBounds = function () { + if (this.getChild() == null) throw "assert failed" + if (this.getChild().getNodes().length != 0) { + var p = this.getChild() + if ( + (p.updateBounds(!0), + (this.rect.x = p.getLeft()), + (this.rect.y = p.getTop()), + this.setWidth(p.getRight() - p.getLeft()), + this.setHeight(p.getBottom() - p.getTop()), + l.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var g = p.getRight() - p.getLeft(), + m = p.getBottom() - p.getTop() + this.labelWidth && + (this.labelPosHorizontal == "left" + ? ((this.rect.x -= this.labelWidth), + this.setWidth(g + this.labelWidth)) + : this.labelPosHorizontal == "center" && this.labelWidth > g + ? ((this.rect.x -= (this.labelWidth - g) / 2), + this.setWidth(this.labelWidth)) + : this.labelPosHorizontal == "right" && + this.setWidth(g + this.labelWidth)), + this.labelHeight && + (this.labelPosVertical == "top" + ? ((this.rect.y -= this.labelHeight), + this.setHeight(m + this.labelHeight)) + : this.labelPosVertical == "center" && this.labelHeight > m + ? ((this.rect.y -= (this.labelHeight - m) / 2), + this.setHeight(this.labelHeight)) + : this.labelPosVertical == "bottom" && + this.setHeight(m + this.labelHeight)) + } + } + }), + (d.prototype.getInclusionTreeDepth = function () { + if (this.inclusionTreeDepth == s.MAX_VALUE) throw "assert failed" + return this.inclusionTreeDepth + }), + (d.prototype.transform = function (p) { + var g = this.rect.x + g > l.WORLD_BOUNDARY + ? (g = l.WORLD_BOUNDARY) + : g < -l.WORLD_BOUNDARY && (g = -l.WORLD_BOUNDARY) + var m = this.rect.y + m > l.WORLD_BOUNDARY + ? (m = l.WORLD_BOUNDARY) + : m < -l.WORLD_BOUNDARY && (m = -l.WORLD_BOUNDARY) + var v = new h(g, m), + y = p.inverseTransformPoint(v) + this.setLocation(y.x, y.y) + }), + (d.prototype.getLeft = function () { + return this.rect.x + }), + (d.prototype.getRight = function () { + return this.rect.x + this.rect.width + }), + (d.prototype.getTop = function () { + return this.rect.y + }), + (d.prototype.getBottom = function () { + return this.rect.y + this.rect.height + }), + (d.prototype.getParent = function () { + return this.owner == null ? null : this.owner.getParent() + }), + (r.exports = d) + }, + function (r, n, i) { + var a = i(0) + function s() {} + for (var o in a) s[o] = a[o] + ;(s.MAX_ITERATIONS = 2500), + (s.DEFAULT_EDGE_LENGTH = 50), + (s.DEFAULT_SPRING_STRENGTH = 0.45), + (s.DEFAULT_REPULSION_STRENGTH = 4500), + (s.DEFAULT_GRAVITY_STRENGTH = 0.4), + (s.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1), + (s.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8), + (s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5), + (s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = !0), + (s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = !0), + (s.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3), + (s.COOLING_ADAPTATION_FACTOR = 0.33), + (s.ADAPTATION_LOWER_NODE_LIMIT = 1e3), + (s.ADAPTATION_UPPER_NODE_LIMIT = 5e3), + (s.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100), + (s.MAX_NODE_DISPLACEMENT = s.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3), + (s.MIN_REPULSION_DIST = s.DEFAULT_EDGE_LENGTH / 10), + (s.CONVERGENCE_CHECK_PERIOD = 100), + (s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1), + (s.MIN_EDGE_LENGTH = 1), + (s.GRID_CALCULATION_CHECK_PERIOD = 10), + (r.exports = s) + }, + function (r, n, i) { + function a(s, o) { + s == null && o == null ? ((this.x = 0), (this.y = 0)) : ((this.x = s), (this.y = o)) + } + ;(a.prototype.getX = function () { + return this.x + }), + (a.prototype.getY = function () { + return this.y + }), + (a.prototype.setX = function (s) { + this.x = s + }), + (a.prototype.setY = function (s) { + this.y = s + }), + (a.prototype.getDifference = function (s) { + return new DimensionD(this.x - s.x, this.y - s.y) + }), + (a.prototype.getCopy = function () { + return new a(this.x, this.y) + }), + (a.prototype.translate = function (s) { + return (this.x += s.width), (this.y += s.height), this + }), + (r.exports = a) + }, + function (r, n, i) { + var a = i(2), + s = i(10), + o = i(0), + l = i(7), + u = i(3), + h = i(1), + d = i(13), + f = i(12), + p = i(11) + function g(v, y, b) { + a.call(this, b), + (this.estimatedSize = s.MIN_VALUE), + (this.margin = o.DEFAULT_GRAPH_MARGIN), + (this.edges = []), + (this.nodes = []), + (this.isConnected = !1), + (this.parent = v), + y != null && y instanceof l + ? (this.graphManager = y) + : y != null && y instanceof Layout && (this.graphManager = y.graphManager) + } + g.prototype = Object.create(a.prototype) + for (var m in a) g[m] = a[m] + ;(g.prototype.getNodes = function () { + return this.nodes + }), + (g.prototype.getEdges = function () { + return this.edges + }), + (g.prototype.getGraphManager = function () { + return this.graphManager + }), + (g.prototype.getParent = function () { + return this.parent + }), + (g.prototype.getLeft = function () { + return this.left + }), + (g.prototype.getRight = function () { + return this.right + }), + (g.prototype.getTop = function () { + return this.top + }), + (g.prototype.getBottom = function () { + return this.bottom + }), + (g.prototype.isConnected = function () { + return this.isConnected + }), + (g.prototype.add = function (v, y, b) { + if (y == null && b == null) { + var w = v + if (this.graphManager == null) throw "Graph has no graph mgr!" + if (this.getNodes().indexOf(w) > -1) throw "Node already in graph!" + return (w.owner = this), this.getNodes().push(w), w + } else { + var T = v + if (!(this.getNodes().indexOf(y) > -1 && this.getNodes().indexOf(b) > -1)) + throw "Source or target not in graph!" + if (!(y.owner == b.owner && y.owner == this)) + throw "Both owners must be this graph!" + return y.owner != b.owner + ? null + : ((T.source = y), + (T.target = b), + (T.isInterGraph = !1), + this.getEdges().push(T), + y.edges.push(T), + b != y && b.edges.push(T), + T) + } + }), + (g.prototype.remove = function (v) { + var y = v + if (v instanceof u) { + if (y == null) throw "Node is null!" + if (!(y.owner != null && y.owner == this)) throw "Owner graph is invalid!" + if (this.graphManager == null) throw "Owner graph manager is invalid!" + for (var b = y.edges.slice(), w, T = b.length, E = 0; E < T; E++) + (w = b[E]), + w.isInterGraph ? this.graphManager.remove(w) : w.source.owner.remove(w) + var S = this.nodes.indexOf(y) + if (S == -1) throw "Node not in owner node list!" + this.nodes.splice(S, 1) + } else if (v instanceof h) { + var w = v + if (w == null) throw "Edge is null!" + if (!(w.source != null && w.target != null)) + throw "Source and/or target is null!" + if ( + !( + w.source.owner != null && + w.target.owner != null && + w.source.owner == this && + w.target.owner == this + ) + ) + throw "Source and/or target owner is invalid!" + var k = w.source.edges.indexOf(w), + L = w.target.edges.indexOf(w) + if (!(k > -1 && L > -1)) throw "Source and/or target doesn't know this edge!" + w.source.edges.splice(k, 1), w.target != w.source && w.target.edges.splice(L, 1) + var S = w.source.owner.getEdges().indexOf(w) + if (S == -1) throw "Not in owner's edge list!" + w.source.owner.getEdges().splice(S, 1) + } + }), + (g.prototype.updateLeftTop = function () { + for ( + var v = s.MAX_VALUE, + y = s.MAX_VALUE, + b, + w, + T, + E = this.getNodes(), + S = E.length, + k = 0; + k < S; + k++ + ) { + var L = E[k] + ;(b = L.getTop()), (w = L.getLeft()), v > b && (v = b), y > w && (y = w) + } + return v == s.MAX_VALUE + ? null + : (E[0].getParent().paddingLeft != null + ? (T = E[0].getParent().paddingLeft) + : (T = this.margin), + (this.left = y - T), + (this.top = v - T), + new f(this.left, this.top)) + }), + (g.prototype.updateBounds = function (v) { + for ( + var y = s.MAX_VALUE, + b = -s.MAX_VALUE, + w = s.MAX_VALUE, + T = -s.MAX_VALUE, + E, + S, + k, + L, + A, + R = this.nodes, + C = R.length, + I = 0; + I < C; + I++ + ) { + var P = R[I] + v && P.child != null && P.updateBounds(), + (E = P.getLeft()), + (S = P.getRight()), + (k = P.getTop()), + (L = P.getBottom()), + y > E && (y = E), + b < S && (b = S), + w > k && (w = k), + T < L && (T = L) + } + var _ = new d(y, w, b - y, T - w) + y == s.MAX_VALUE && + ((this.left = this.parent.getLeft()), + (this.right = this.parent.getRight()), + (this.top = this.parent.getTop()), + (this.bottom = this.parent.getBottom())), + R[0].getParent().paddingLeft != null + ? (A = R[0].getParent().paddingLeft) + : (A = this.margin), + (this.left = _.x - A), + (this.right = _.x + _.width + A), + (this.top = _.y - A), + (this.bottom = _.y + _.height + A) + }), + (g.calculateBounds = function (v) { + for ( + var y = s.MAX_VALUE, + b = -s.MAX_VALUE, + w = s.MAX_VALUE, + T = -s.MAX_VALUE, + E, + S, + k, + L, + A = v.length, + R = 0; + R < A; + R++ + ) { + var C = v[R] + ;(E = C.getLeft()), + (S = C.getRight()), + (k = C.getTop()), + (L = C.getBottom()), + y > E && (y = E), + b < S && (b = S), + w > k && (w = k), + T < L && (T = L) + } + var I = new d(y, w, b - y, T - w) + return I + }), + (g.prototype.getInclusionTreeDepth = function () { + return this == this.graphManager.getRoot() ? 1 : this.parent.getInclusionTreeDepth() + }), + (g.prototype.getEstimatedSize = function () { + if (this.estimatedSize == s.MIN_VALUE) throw "assert failed" + return this.estimatedSize + }), + (g.prototype.calcEstimatedSize = function () { + for (var v = 0, y = this.nodes, b = y.length, w = 0; w < b; w++) { + var T = y[w] + v += T.calcEstimatedSize() + } + return ( + v == 0 + ? (this.estimatedSize = o.EMPTY_COMPOUND_NODE_SIZE) + : (this.estimatedSize = v / Math.sqrt(this.nodes.length)), + this.estimatedSize + ) + }), + (g.prototype.updateConnected = function () { + var v = this + if (this.nodes.length == 0) { + this.isConnected = !0 + return + } + var y = new p(), + b = new Set(), + w = this.nodes[0], + T, + E, + S = w.withChildren() + for ( + S.forEach(function (I) { + y.push(I), b.add(I) + }); + y.length !== 0; + + ) { + ;(w = y.shift()), (T = w.getEdges()) + for (var k = T.length, L = 0; L < k; L++) { + var A = T[L] + if (((E = A.getOtherEndInGraph(w, this)), E != null && !b.has(E))) { + var R = E.withChildren() + R.forEach(function (I) { + y.push(I), b.add(I) + }) + } + } + } + if (((this.isConnected = !1), b.size >= this.nodes.length)) { + var C = 0 + b.forEach(function (I) { + I.owner == v && C++ + }), + C == this.nodes.length && (this.isConnected = !0) + } + }), + (r.exports = g) + }, + function (r, n, i) { + var a, + s = i(1) + function o(l) { + ;(a = i(6)), (this.layout = l), (this.graphs = []), (this.edges = []) + } + ;(o.prototype.addRoot = function () { + var l = this.layout.newGraph(), + u = this.layout.newNode(null), + h = this.add(l, u) + return this.setRootGraph(h), this.rootGraph + }), + (o.prototype.add = function (l, u, h, d, f) { + if (h == null && d == null && f == null) { + if (l == null) throw "Graph is null!" + if (u == null) throw "Parent node is null!" + if (this.graphs.indexOf(l) > -1) throw "Graph already in this graph mgr!" + if ((this.graphs.push(l), l.parent != null)) throw "Already has a parent!" + if (u.child != null) throw "Already has a child!" + return (l.parent = u), (u.child = l), l + } else { + ;(f = h), (d = u), (h = l) + var p = d.getOwner(), + g = f.getOwner() + if (!(p != null && p.getGraphManager() == this)) + throw "Source not in this graph mgr!" + if (!(g != null && g.getGraphManager() == this)) + throw "Target not in this graph mgr!" + if (p == g) return (h.isInterGraph = !1), p.add(h, d, f) + if ( + ((h.isInterGraph = !0), + (h.source = d), + (h.target = f), + this.edges.indexOf(h) > -1) + ) + throw "Edge already in inter-graph edge list!" + if ((this.edges.push(h), !(h.source != null && h.target != null))) + throw "Edge source and/or target is null!" + if (!(h.source.edges.indexOf(h) == -1 && h.target.edges.indexOf(h) == -1)) + throw "Edge already in source and/or target incidency list!" + return h.source.edges.push(h), h.target.edges.push(h), h + } + }), + (o.prototype.remove = function (l) { + if (l instanceof a) { + var u = l + if (u.getGraphManager() != this) throw "Graph not in this graph mgr" + if ( + !( + u == this.rootGraph || + (u.parent != null && u.parent.graphManager == this) + ) + ) + throw "Invalid parent node!" + var h = [] + h = h.concat(u.getEdges()) + for (var d, f = h.length, p = 0; p < f; p++) (d = h[p]), u.remove(d) + var g = [] + g = g.concat(u.getNodes()) + var m + f = g.length + for (var p = 0; p < f; p++) (m = g[p]), u.remove(m) + u == this.rootGraph && this.setRootGraph(null) + var v = this.graphs.indexOf(u) + this.graphs.splice(v, 1), (u.parent = null) + } else if (l instanceof s) { + if (((d = l), d == null)) throw "Edge is null!" + if (!d.isInterGraph) throw "Not an inter-graph edge!" + if (!(d.source != null && d.target != null)) + throw "Source and/or target is null!" + if (!(d.source.edges.indexOf(d) != -1 && d.target.edges.indexOf(d) != -1)) + throw "Source and/or target doesn't know this edge!" + var v = d.source.edges.indexOf(d) + if ( + (d.source.edges.splice(v, 1), + (v = d.target.edges.indexOf(d)), + d.target.edges.splice(v, 1), + !(d.source.owner != null && d.source.owner.getGraphManager() != null)) + ) + throw "Edge owner graph or owner graph manager is null!" + if (d.source.owner.getGraphManager().edges.indexOf(d) == -1) + throw "Not in owner graph manager's edge list!" + var v = d.source.owner.getGraphManager().edges.indexOf(d) + d.source.owner.getGraphManager().edges.splice(v, 1) + } + }), + (o.prototype.updateBounds = function () { + this.rootGraph.updateBounds(!0) + }), + (o.prototype.getGraphs = function () { + return this.graphs + }), + (o.prototype.getAllNodes = function () { + if (this.allNodes == null) { + for (var l = [], u = this.getGraphs(), h = u.length, d = 0; d < h; d++) + l = l.concat(u[d].getNodes()) + this.allNodes = l + } + return this.allNodes + }), + (o.prototype.resetAllNodes = function () { + this.allNodes = null + }), + (o.prototype.resetAllEdges = function () { + this.allEdges = null + }), + (o.prototype.resetAllNodesToApplyGravitation = function () { + this.allNodesToApplyGravitation = null + }), + (o.prototype.getAllEdges = function () { + if (this.allEdges == null) { + var l = [], + u = this.getGraphs() + u.length + for (var h = 0; h < u.length; h++) l = l.concat(u[h].getEdges()) + ;(l = l.concat(this.edges)), (this.allEdges = l) + } + return this.allEdges + }), + (o.prototype.getAllNodesToApplyGravitation = function () { + return this.allNodesToApplyGravitation + }), + (o.prototype.setAllNodesToApplyGravitation = function (l) { + if (this.allNodesToApplyGravitation != null) throw "assert failed" + this.allNodesToApplyGravitation = l + }), + (o.prototype.getRoot = function () { + return this.rootGraph + }), + (o.prototype.setRootGraph = function (l) { + if (l.getGraphManager() != this) throw "Root not in this graph mgr!" + ;(this.rootGraph = l), + l.parent == null && (l.parent = this.layout.newNode("Root node")) + }), + (o.prototype.getLayout = function () { + return this.layout + }), + (o.prototype.isOneAncestorOfOther = function (l, u) { + if (!(l != null && u != null)) throw "assert failed" + if (l == u) return !0 + var h = l.getOwner(), + d + do { + if (((d = h.getParent()), d == null)) break + if (d == u) return !0 + if (((h = d.getOwner()), h == null)) break + } while (!0) + h = u.getOwner() + do { + if (((d = h.getParent()), d == null)) break + if (d == l) return !0 + if (((h = d.getOwner()), h == null)) break + } while (!0) + return !1 + }), + (o.prototype.calcLowestCommonAncestors = function () { + for (var l, u, h, d, f, p = this.getAllEdges(), g = p.length, m = 0; m < g; m++) { + if ( + ((l = p[m]), + (u = l.source), + (h = l.target), + (l.lca = null), + (l.sourceInLca = u), + (l.targetInLca = h), + u == h) + ) { + l.lca = u.getOwner() + continue + } + for (d = u.getOwner(); l.lca == null; ) { + for (l.targetInLca = h, f = h.getOwner(); l.lca == null; ) { + if (f == d) { + l.lca = f + break + } + if (f == this.rootGraph) break + if (l.lca != null) throw "assert failed" + ;(l.targetInLca = f.getParent()), (f = l.targetInLca.getOwner()) + } + if (d == this.rootGraph) break + l.lca == null && + ((l.sourceInLca = d.getParent()), (d = l.sourceInLca.getOwner())) + } + if (l.lca == null) throw "assert failed" + } + }), + (o.prototype.calcLowestCommonAncestor = function (l, u) { + if (l == u) return l.getOwner() + var h = l.getOwner() + do { + if (h == null) break + var d = u.getOwner() + do { + if (d == null) break + if (d == h) return d + d = d.getParent().getOwner() + } while (!0) + h = h.getParent().getOwner() + } while (!0) + return h + }), + (o.prototype.calcInclusionTreeDepths = function (l, u) { + l == null && u == null && ((l = this.rootGraph), (u = 1)) + for (var h, d = l.getNodes(), f = d.length, p = 0; p < f; p++) + (h = d[p]), + (h.inclusionTreeDepth = u), + h.child != null && this.calcInclusionTreeDepths(h.child, u + 1) + }), + (o.prototype.includesInvalidEdge = function () { + for (var l, u = [], h = this.edges.length, d = 0; d < h; d++) + (l = this.edges[d]), this.isOneAncestorOfOther(l.source, l.target) && u.push(l) + for (var d = 0; d < u.length; d++) this.remove(u[d]) + return !1 + }), + (r.exports = o) + }, + function (r, n, i) { + var a = i(12) + function s() {} + ;(s.calcSeparationAmount = function (o, l, u, h) { + if (!o.intersects(l)) throw "assert failed" + var d = new Array(2) + this.decideDirectionsForOverlappingNodes(o, l, d), + (u[0] = Math.min(o.getRight(), l.getRight()) - Math.max(o.x, l.x)), + (u[1] = Math.min(o.getBottom(), l.getBottom()) - Math.max(o.y, l.y)), + o.getX() <= l.getX() && o.getRight() >= l.getRight() + ? (u[0] += Math.min(l.getX() - o.getX(), o.getRight() - l.getRight())) + : l.getX() <= o.getX() && + l.getRight() >= o.getRight() && + (u[0] += Math.min(o.getX() - l.getX(), l.getRight() - o.getRight())), + o.getY() <= l.getY() && o.getBottom() >= l.getBottom() + ? (u[1] += Math.min(l.getY() - o.getY(), o.getBottom() - l.getBottom())) + : l.getY() <= o.getY() && + l.getBottom() >= o.getBottom() && + (u[1] += Math.min(o.getY() - l.getY(), l.getBottom() - o.getBottom())) + var f = Math.abs((l.getCenterY() - o.getCenterY()) / (l.getCenterX() - o.getCenterX())) + l.getCenterY() === o.getCenterY() && l.getCenterX() === o.getCenterX() && (f = 1) + var p = f * u[0], + g = u[1] / f + u[0] < g ? (g = u[0]) : (p = u[1]), + (u[0] = -1 * d[0] * (g / 2 + h)), + (u[1] = -1 * d[1] * (p / 2 + h)) + }), + (s.decideDirectionsForOverlappingNodes = function (o, l, u) { + o.getCenterX() < l.getCenterX() ? (u[0] = -1) : (u[0] = 1), + o.getCenterY() < l.getCenterY() ? (u[1] = -1) : (u[1] = 1) + }), + (s.getIntersection2 = function (o, l, u) { + var h = o.getCenterX(), + d = o.getCenterY(), + f = l.getCenterX(), + p = l.getCenterY() + if (o.intersects(l)) return (u[0] = h), (u[1] = d), (u[2] = f), (u[3] = p), !0 + var g = o.getX(), + m = o.getY(), + v = o.getRight(), + y = o.getX(), + b = o.getBottom(), + w = o.getRight(), + T = o.getWidthHalf(), + E = o.getHeightHalf(), + S = l.getX(), + k = l.getY(), + L = l.getRight(), + A = l.getX(), + R = l.getBottom(), + C = l.getRight(), + I = l.getWidthHalf(), + P = l.getHeightHalf(), + _ = !1, + N = !1 + if (h === f) { + if (d > p) return (u[0] = h), (u[1] = m), (u[2] = f), (u[3] = R), !1 + if (d < p) return (u[0] = h), (u[1] = b), (u[2] = f), (u[3] = k), !1 + } else if (d === p) { + if (h > f) return (u[0] = g), (u[1] = d), (u[2] = L), (u[3] = p), !1 + if (h < f) return (u[0] = v), (u[1] = d), (u[2] = S), (u[3] = p), !1 + } else { + var M = o.height / o.width, + O = l.height / l.width, + D = (p - d) / (f - h), + B = void 0, + z = void 0, + F = void 0, + G = void 0, + q = void 0, + Y = void 0 + if ( + (-M === D + ? h > f + ? ((u[0] = y), (u[1] = b), (_ = !0)) + : ((u[0] = v), (u[1] = m), (_ = !0)) + : M === D && + (h > f + ? ((u[0] = g), (u[1] = m), (_ = !0)) + : ((u[0] = w), (u[1] = b), (_ = !0))), + -O === D + ? f > h + ? ((u[2] = A), (u[3] = R), (N = !0)) + : ((u[2] = L), (u[3] = k), (N = !0)) + : O === D && + (f > h + ? ((u[2] = S), (u[3] = k), (N = !0)) + : ((u[2] = C), (u[3] = R), (N = !0))), + _ && N) + ) + return !1 + if ( + (h > f + ? d > p + ? ((B = this.getCardinalDirection(M, D, 4)), + (z = this.getCardinalDirection(O, D, 2))) + : ((B = this.getCardinalDirection(-M, D, 3)), + (z = this.getCardinalDirection(-O, D, 1))) + : d > p + ? ((B = this.getCardinalDirection(-M, D, 1)), + (z = this.getCardinalDirection(-O, D, 3))) + : ((B = this.getCardinalDirection(M, D, 2)), + (z = this.getCardinalDirection(O, D, 4))), + !_) + ) + switch (B) { + case 1: + ;(G = m), (F = h + -E / D), (u[0] = F), (u[1] = G) + break + case 2: + ;(F = w), (G = d + T * D), (u[0] = F), (u[1] = G) + break + case 3: + ;(G = b), (F = h + E / D), (u[0] = F), (u[1] = G) + break + case 4: + ;(F = y), (G = d + -T * D), (u[0] = F), (u[1] = G) + break + } + if (!N) + switch (z) { + case 1: + ;(Y = k), (q = f + -P / D), (u[2] = q), (u[3] = Y) + break + case 2: + ;(q = C), (Y = p + I * D), (u[2] = q), (u[3] = Y) + break + case 3: + ;(Y = R), (q = f + P / D), (u[2] = q), (u[3] = Y) + break + case 4: + ;(q = A), (Y = p + -I * D), (u[2] = q), (u[3] = Y) + break + } + } + return !1 + }), + (s.getCardinalDirection = function (o, l, u) { + return o > l ? u : 1 + (u % 4) + }), + (s.getIntersection = function (o, l, u, h) { + if (h == null) return this.getIntersection2(o, l, u) + var d = o.x, + f = o.y, + p = l.x, + g = l.y, + m = u.x, + v = u.y, + y = h.x, + b = h.y, + w = void 0, + T = void 0, + E = void 0, + S = void 0, + k = void 0, + L = void 0, + A = void 0, + R = void 0, + C = void 0 + return ( + (E = g - f), + (k = d - p), + (A = p * f - d * g), + (S = b - v), + (L = m - y), + (R = y * v - m * b), + (C = E * L - S * k), + C === 0 + ? null + : ((w = (k * R - L * A) / C), (T = (S * A - E * R) / C), new a(w, T)) + ) + }), + (s.angleOfVector = function (o, l, u, h) { + var d = void 0 + return ( + o !== u + ? ((d = Math.atan((h - l) / (u - o))), + u < o ? (d += Math.PI) : h < l && (d += this.TWO_PI)) + : h < l + ? (d = this.ONE_AND_HALF_PI) + : (d = this.HALF_PI), + d + ) + }), + (s.doIntersect = function (o, l, u, h) { + var d = o.x, + f = o.y, + p = l.x, + g = l.y, + m = u.x, + v = u.y, + y = h.x, + b = h.y, + w = (p - d) * (b - v) - (y - m) * (g - f) + if (w === 0) return !1 + var T = ((b - v) * (y - d) + (m - y) * (b - f)) / w, + E = ((f - g) * (y - d) + (p - d) * (b - f)) / w + return 0 < T && T < 1 && 0 < E && E < 1 + }), + (s.findCircleLineIntersections = function (o, l, u, h, d, f, p) { + var g = (u - o) * (u - o) + (h - l) * (h - l), + m = 2 * ((o - d) * (u - o) + (l - f) * (h - l)), + v = (o - d) * (o - d) + (l - f) * (l - f) - p * p, + y = m * m - 4 * g * v + if (y >= 0) { + var b = (-m + Math.sqrt(m * m - 4 * g * v)) / (2 * g), + w = (-m - Math.sqrt(m * m - 4 * g * v)) / (2 * g), + T = null + return b >= 0 && b <= 1 ? [b] : w >= 0 && w <= 1 ? [w] : T + } else return null + }), + (s.HALF_PI = 0.5 * Math.PI), + (s.ONE_AND_HALF_PI = 1.5 * Math.PI), + (s.TWO_PI = 2 * Math.PI), + (s.THREE_PI = 3 * Math.PI), + (r.exports = s) + }, + function (r, n, i) { + function a() {} + ;(a.sign = function (s) { + return s > 0 ? 1 : s < 0 ? -1 : 0 + }), + (a.floor = function (s) { + return s < 0 ? Math.ceil(s) : Math.floor(s) + }), + (a.ceil = function (s) { + return s < 0 ? Math.floor(s) : Math.ceil(s) + }), + (r.exports = a) + }, + function (r, n, i) { + function a() {} + ;(a.MAX_VALUE = 2147483647), (a.MIN_VALUE = -2147483648), (r.exports = a) + }, + function (r, n, i) { + var a = (function () { + function d(f, p) { + for (var g = 0; g < p.length; g++) { + var m = p[g] + ;(m.enumerable = m.enumerable || !1), + (m.configurable = !0), + "value" in m && (m.writable = !0), + Object.defineProperty(f, m.key, m) + } + } + return function (f, p, g) { + return p && d(f.prototype, p), g && d(f, g), f + } + })() + function s(d, f) { + if (!(d instanceof f)) throw new TypeError("Cannot call a class as a function") + } + var o = function (f) { + return { value: f, next: null, prev: null } + }, + l = function (f, p, g, m) { + return ( + f !== null ? (f.next = p) : (m.head = p), + g !== null ? (g.prev = p) : (m.tail = p), + (p.prev = f), + (p.next = g), + m.length++, + p + ) + }, + u = function (f, p) { + var g = f.prev, + m = f.next + return ( + g !== null ? (g.next = m) : (p.head = m), + m !== null ? (m.prev = g) : (p.tail = g), + (f.prev = f.next = null), + p.length--, + f + ) + }, + h = (function () { + function d(f) { + var p = this + s(this, d), + (this.length = 0), + (this.head = null), + (this.tail = null), + f != null && + f.forEach(function (g) { + return p.push(g) + }) + } + return ( + a(d, [ + { + key: "size", + value: function () { + return this.length + }, + }, + { + key: "insertBefore", + value: function (p, g) { + return l(g.prev, o(p), g, this) + }, + }, + { + key: "insertAfter", + value: function (p, g) { + return l(g, o(p), g.next, this) + }, + }, + { + key: "insertNodeBefore", + value: function (p, g) { + return l(g.prev, p, g, this) + }, + }, + { + key: "insertNodeAfter", + value: function (p, g) { + return l(g, p, g.next, this) + }, + }, + { + key: "push", + value: function (p) { + return l(this.tail, o(p), null, this) + }, + }, + { + key: "unshift", + value: function (p) { + return l(null, o(p), this.head, this) + }, + }, + { + key: "remove", + value: function (p) { + return u(p, this) + }, + }, + { + key: "pop", + value: function () { + return u(this.tail, this).value + }, + }, + { + key: "popNode", + value: function () { + return u(this.tail, this) + }, + }, + { + key: "shift", + value: function () { + return u(this.head, this).value + }, + }, + { + key: "shiftNode", + value: function () { + return u(this.head, this) + }, + }, + { + key: "get_object_at", + value: function (p) { + if (p <= this.length()) { + for (var g = 1, m = this.head; g < p; ) (m = m.next), g++ + return m.value + } + }, + }, + { + key: "set_object_at", + value: function (p, g) { + if (p <= this.length()) { + for (var m = 1, v = this.head; m < p; ) (v = v.next), m++ + v.value = g + } + }, + }, + ]), + d + ) + })() + r.exports = h + }, + function (r, n, i) { + function a(s, o, l) { + ;(this.x = null), + (this.y = null), + s == null && o == null && l == null + ? ((this.x = 0), (this.y = 0)) + : typeof s == "number" && typeof o == "number" && l == null + ? ((this.x = s), (this.y = o)) + : s.constructor.name == "Point" && + o == null && + l == null && + ((l = s), (this.x = l.x), (this.y = l.y)) + } + ;(a.prototype.getX = function () { + return this.x + }), + (a.prototype.getY = function () { + return this.y + }), + (a.prototype.getLocation = function () { + return new a(this.x, this.y) + }), + (a.prototype.setLocation = function (s, o, l) { + s.constructor.name == "Point" && o == null && l == null + ? ((l = s), this.setLocation(l.x, l.y)) + : typeof s == "number" && + typeof o == "number" && + l == null && + (parseInt(s) == s && parseInt(o) == o + ? this.move(s, o) + : ((this.x = Math.floor(s + 0.5)), (this.y = Math.floor(o + 0.5)))) + }), + (a.prototype.move = function (s, o) { + ;(this.x = s), (this.y = o) + }), + (a.prototype.translate = function (s, o) { + ;(this.x += s), (this.y += o) + }), + (a.prototype.equals = function (s) { + if (s.constructor.name == "Point") { + var o = s + return this.x == o.x && this.y == o.y + } + return this == s + }), + (a.prototype.toString = function () { + return new a().constructor.name + "[x=" + this.x + ",y=" + this.y + "]" + }), + (r.exports = a) + }, + function (r, n, i) { + function a(s, o, l, u) { + ;(this.x = 0), + (this.y = 0), + (this.width = 0), + (this.height = 0), + s != null && + o != null && + l != null && + u != null && + ((this.x = s), (this.y = o), (this.width = l), (this.height = u)) + } + ;(a.prototype.getX = function () { + return this.x + }), + (a.prototype.setX = function (s) { + this.x = s + }), + (a.prototype.getY = function () { + return this.y + }), + (a.prototype.setY = function (s) { + this.y = s + }), + (a.prototype.getWidth = function () { + return this.width + }), + (a.prototype.setWidth = function (s) { + this.width = s + }), + (a.prototype.getHeight = function () { + return this.height + }), + (a.prototype.setHeight = function (s) { + this.height = s + }), + (a.prototype.getRight = function () { + return this.x + this.width + }), + (a.prototype.getBottom = function () { + return this.y + this.height + }), + (a.prototype.intersects = function (s) { + return !( + this.getRight() < s.x || + this.getBottom() < s.y || + s.getRight() < this.x || + s.getBottom() < this.y + ) + }), + (a.prototype.getCenterX = function () { + return this.x + this.width / 2 + }), + (a.prototype.getMinX = function () { + return this.getX() + }), + (a.prototype.getMaxX = function () { + return this.getX() + this.width + }), + (a.prototype.getCenterY = function () { + return this.y + this.height / 2 + }), + (a.prototype.getMinY = function () { + return this.getY() + }), + (a.prototype.getMaxY = function () { + return this.getY() + this.height + }), + (a.prototype.getWidthHalf = function () { + return this.width / 2 + }), + (a.prototype.getHeightHalf = function () { + return this.height / 2 + }), + (r.exports = a) + }, + function (r, n, i) { + var a = + typeof Symbol == "function" && typeof Symbol.iterator == "symbol" + ? function (o) { + return typeof o + } + : function (o) { + return o && + typeof Symbol == "function" && + o.constructor === Symbol && + o !== Symbol.prototype + ? "symbol" + : typeof o + } + function s() {} + ;(s.lastID = 0), + (s.createID = function (o) { + return s.isPrimitive(o) + ? o + : (o.uniqueID != null || ((o.uniqueID = s.getString()), s.lastID++), o.uniqueID) + }), + (s.getString = function (o) { + return o == null && (o = s.lastID), "Object#" + o + }), + (s.isPrimitive = function (o) { + var l = typeof o > "u" ? "undefined" : a(o) + return o == null || (l != "object" && l != "function") + }), + (r.exports = s) + }, + function (r, n, i) { + function a(m) { + if (Array.isArray(m)) { + for (var v = 0, y = Array(m.length); v < m.length; v++) y[v] = m[v] + return y + } else return Array.from(m) + } + var s = i(0), + o = i(7), + l = i(3), + u = i(1), + h = i(6), + d = i(5), + f = i(17), + p = i(29) + function g(m) { + p.call(this), + (this.layoutQuality = s.QUALITY), + (this.createBendsAsNeeded = s.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.incremental = s.DEFAULT_INCREMENTAL), + (this.animationOnLayout = s.DEFAULT_ANIMATION_ON_LAYOUT), + (this.animationDuringLayout = s.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = s.DEFAULT_ANIMATION_PERIOD), + (this.uniformLeafNodeSizes = s.DEFAULT_UNIFORM_LEAF_NODE_SIZES), + (this.edgeToDummyNodes = new Map()), + (this.graphManager = new o(this)), + (this.isLayoutFinished = !1), + (this.isSubLayout = !1), + (this.isRemoteUse = !1), + m != null && (this.isRemoteUse = m) + } + ;(g.RANDOM_SEED = 1), + (g.prototype = Object.create(p.prototype)), + (g.prototype.getGraphManager = function () { + return this.graphManager + }), + (g.prototype.getAllNodes = function () { + return this.graphManager.getAllNodes() + }), + (g.prototype.getAllEdges = function () { + return this.graphManager.getAllEdges() + }), + (g.prototype.getAllNodesToApplyGravitation = function () { + return this.graphManager.getAllNodesToApplyGravitation() + }), + (g.prototype.newGraphManager = function () { + var m = new o(this) + return (this.graphManager = m), m + }), + (g.prototype.newGraph = function (m) { + return new h(null, this.graphManager, m) + }), + (g.prototype.newNode = function (m) { + return new l(this.graphManager, m) + }), + (g.prototype.newEdge = function (m) { + return new u(null, null, m) + }), + (g.prototype.checkLayoutSuccess = function () { + return ( + this.graphManager.getRoot() == null || + this.graphManager.getRoot().getNodes().length == 0 || + this.graphManager.includesInvalidEdge() + ) + }), + (g.prototype.runLayout = function () { + ;(this.isLayoutFinished = !1), + this.tilingPreLayout && this.tilingPreLayout(), + this.initParameters() + var m + return ( + this.checkLayoutSuccess() ? (m = !1) : (m = this.layout()), + s.ANIMATE === "during" + ? !1 + : (m && (this.isSubLayout || this.doPostLayout()), + this.tilingPostLayout && this.tilingPostLayout(), + (this.isLayoutFinished = !0), + m) + ) + }), + (g.prototype.doPostLayout = function () { + this.incremental || this.transform(), this.update() + }), + (g.prototype.update2 = function () { + if ( + (this.createBendsAsNeeded && + (this.createBendpointsFromDummyNodes(), this.graphManager.resetAllEdges()), + !this.isRemoteUse) + ) { + for (var m = this.graphManager.getAllEdges(), v = 0; v < m.length; v++) m[v] + for (var y = this.graphManager.getRoot().getNodes(), v = 0; v < y.length; v++) + y[v] + this.update(this.graphManager.getRoot()) + } + }), + (g.prototype.update = function (m) { + if (m == null) this.update2() + else if (m instanceof l) { + var v = m + if (v.getChild() != null) + for (var y = v.getChild().getNodes(), b = 0; b < y.length; b++) update(y[b]) + if (v.vGraphObject != null) { + var w = v.vGraphObject + w.update(v) + } + } else if (m instanceof u) { + var T = m + if (T.vGraphObject != null) { + var E = T.vGraphObject + E.update(T) + } + } else if (m instanceof h) { + var S = m + if (S.vGraphObject != null) { + var k = S.vGraphObject + k.update(S) + } + } + }), + (g.prototype.initParameters = function () { + this.isSubLayout || + ((this.layoutQuality = s.QUALITY), + (this.animationDuringLayout = s.DEFAULT_ANIMATION_DURING_LAYOUT), + (this.animationPeriod = s.DEFAULT_ANIMATION_PERIOD), + (this.animationOnLayout = s.DEFAULT_ANIMATION_ON_LAYOUT), + (this.incremental = s.DEFAULT_INCREMENTAL), + (this.createBendsAsNeeded = s.DEFAULT_CREATE_BENDS_AS_NEEDED), + (this.uniformLeafNodeSizes = s.DEFAULT_UNIFORM_LEAF_NODE_SIZES)), + this.animationDuringLayout && (this.animationOnLayout = !1) + }), + (g.prototype.transform = function (m) { + if (m == null) this.transform(new d(0, 0)) + else { + var v = new f(), + y = this.graphManager.getRoot().updateLeftTop() + if (y != null) { + v.setWorldOrgX(m.x), + v.setWorldOrgY(m.y), + v.setDeviceOrgX(y.x), + v.setDeviceOrgY(y.y) + for (var b = this.getAllNodes(), w, T = 0; T < b.length; T++) + (w = b[T]), w.transform(v) + } + } + }), + (g.prototype.positionNodesRandomly = function (m) { + if (m == null) + this.positionNodesRandomly(this.getGraphManager().getRoot()), + this.getGraphManager().getRoot().updateBounds(!0) + else + for (var v, y, b = m.getNodes(), w = 0; w < b.length; w++) + (v = b[w]), + (y = v.getChild()), + y == null || y.getNodes().length == 0 + ? v.scatter() + : (this.positionNodesRandomly(y), v.updateBounds()) + }), + (g.prototype.getFlatForest = function () { + for ( + var m = [], v = !0, y = this.graphManager.getRoot().getNodes(), b = !0, w = 0; + w < y.length; + w++ + ) + y[w].getChild() != null && (b = !1) + if (!b) return m + var T = new Set(), + E = [], + S = new Map(), + k = [] + for (k = k.concat(y); k.length > 0 && v; ) { + for (E.push(k[0]); E.length > 0 && v; ) { + var L = E[0] + E.splice(0, 1), T.add(L) + for (var A = L.getEdges(), w = 0; w < A.length; w++) { + var R = A[w].getOtherEnd(L) + if (S.get(L) != R) + if (!T.has(R)) E.push(R), S.set(R, L) + else { + v = !1 + break + } + } + } + if (!v) m = [] + else { + var C = [].concat(a(T)) + m.push(C) + for (var w = 0; w < C.length; w++) { + var I = C[w], + P = k.indexOf(I) + P > -1 && k.splice(P, 1) + } + ;(T = new Set()), (S = new Map()) + } + } + return m + }), + (g.prototype.createDummyNodesForBendpoints = function (m) { + for ( + var v = [], + y = m.source, + b = this.graphManager.calcLowestCommonAncestor(m.source, m.target), + w = 0; + w < m.bendpoints.length; + w++ + ) { + var T = this.newNode(null) + T.setRect(new Point(0, 0), new Dimension(1, 1)), b.add(T) + var E = this.newEdge(null) + this.graphManager.add(E, y, T), v.add(T), (y = T) + } + var E = this.newEdge(null) + return ( + this.graphManager.add(E, y, m.target), + this.edgeToDummyNodes.set(m, v), + m.isInterGraph() ? this.graphManager.remove(m) : b.remove(m), + v + ) + }), + (g.prototype.createBendpointsFromDummyNodes = function () { + var m = [] + ;(m = m.concat(this.graphManager.getAllEdges())), + (m = [].concat(a(this.edgeToDummyNodes.keys())).concat(m)) + for (var v = 0; v < m.length; v++) { + var y = m[v] + if (y.bendpoints.length > 0) { + for (var b = this.edgeToDummyNodes.get(y), w = 0; w < b.length; w++) { + var T = b[w], + E = new d(T.getCenterX(), T.getCenterY()), + S = y.bendpoints.get(w) + ;(S.x = E.x), (S.y = E.y), T.getOwner().remove(T) + } + this.graphManager.add(y, y.source, y.target) + } + } + }), + (g.transform = function (m, v, y, b) { + if (y != null && b != null) { + var w = v + if (m <= 50) { + var T = v / y + w -= ((v - T) / 50) * (50 - m) + } else { + var E = v * b + w += ((E - v) / 50) * (m - 50) + } + return w + } else { + var S, k + return ( + m <= 50 + ? ((S = (9 * v) / 500), (k = v / 10)) + : ((S = (9 * v) / 50), (k = -8 * v)), + S * m + k + ) + } + }), + (g.findCenterOfTree = function (m) { + var v = [] + v = v.concat(m) + var y = [], + b = new Map(), + w = !1, + T = null + ;(v.length == 1 || v.length == 2) && ((w = !0), (T = v[0])) + for (var E = 0; E < v.length; E++) { + var S = v[E], + k = S.getNeighborsList().size + b.set(S, S.getNeighborsList().size), k == 1 && y.push(S) + } + var L = [] + for (L = L.concat(y); !w; ) { + var A = [] + ;(A = A.concat(L)), (L = []) + for (var E = 0; E < v.length; E++) { + var S = v[E], + R = v.indexOf(S) + R >= 0 && v.splice(R, 1) + var C = S.getNeighborsList() + C.forEach(function (_) { + if (y.indexOf(_) < 0) { + var N = b.get(_), + M = N - 1 + M == 1 && L.push(_), b.set(_, M) + } + }) + } + ;(y = y.concat(L)), (v.length == 1 || v.length == 2) && ((w = !0), (T = v[0])) + } + return T + }), + (g.prototype.setGraphManager = function (m) { + this.graphManager = m + }), + (r.exports = g) + }, + function (r, n, i) { + function a() {} + ;(a.seed = 1), + (a.x = 0), + (a.nextDouble = function () { + return (a.x = Math.sin(a.seed++) * 1e4), a.x - Math.floor(a.x) + }), + (r.exports = a) + }, + function (r, n, i) { + var a = i(5) + function s(o, l) { + ;(this.lworldOrgX = 0), + (this.lworldOrgY = 0), + (this.ldeviceOrgX = 0), + (this.ldeviceOrgY = 0), + (this.lworldExtX = 1), + (this.lworldExtY = 1), + (this.ldeviceExtX = 1), + (this.ldeviceExtY = 1) + } + ;(s.prototype.getWorldOrgX = function () { + return this.lworldOrgX + }), + (s.prototype.setWorldOrgX = function (o) { + this.lworldOrgX = o + }), + (s.prototype.getWorldOrgY = function () { + return this.lworldOrgY + }), + (s.prototype.setWorldOrgY = function (o) { + this.lworldOrgY = o + }), + (s.prototype.getWorldExtX = function () { + return this.lworldExtX + }), + (s.prototype.setWorldExtX = function (o) { + this.lworldExtX = o + }), + (s.prototype.getWorldExtY = function () { + return this.lworldExtY + }), + (s.prototype.setWorldExtY = function (o) { + this.lworldExtY = o + }), + (s.prototype.getDeviceOrgX = function () { + return this.ldeviceOrgX + }), + (s.prototype.setDeviceOrgX = function (o) { + this.ldeviceOrgX = o + }), + (s.prototype.getDeviceOrgY = function () { + return this.ldeviceOrgY + }), + (s.prototype.setDeviceOrgY = function (o) { + this.ldeviceOrgY = o + }), + (s.prototype.getDeviceExtX = function () { + return this.ldeviceExtX + }), + (s.prototype.setDeviceExtX = function (o) { + this.ldeviceExtX = o + }), + (s.prototype.getDeviceExtY = function () { + return this.ldeviceExtY + }), + (s.prototype.setDeviceExtY = function (o) { + this.ldeviceExtY = o + }), + (s.prototype.transformX = function (o) { + var l = 0, + u = this.lworldExtX + return ( + u != 0 && + (l = this.ldeviceOrgX + ((o - this.lworldOrgX) * this.ldeviceExtX) / u), + l + ) + }), + (s.prototype.transformY = function (o) { + var l = 0, + u = this.lworldExtY + return ( + u != 0 && + (l = this.ldeviceOrgY + ((o - this.lworldOrgY) * this.ldeviceExtY) / u), + l + ) + }), + (s.prototype.inverseTransformX = function (o) { + var l = 0, + u = this.ldeviceExtX + return ( + u != 0 && + (l = this.lworldOrgX + ((o - this.ldeviceOrgX) * this.lworldExtX) / u), + l + ) + }), + (s.prototype.inverseTransformY = function (o) { + var l = 0, + u = this.ldeviceExtY + return ( + u != 0 && + (l = this.lworldOrgY + ((o - this.ldeviceOrgY) * this.lworldExtY) / u), + l + ) + }), + (s.prototype.inverseTransformPoint = function (o) { + var l = new a(this.inverseTransformX(o.x), this.inverseTransformY(o.y)) + return l + }), + (r.exports = s) + }, + function (r, n, i) { + function a(p) { + if (Array.isArray(p)) { + for (var g = 0, m = Array(p.length); g < p.length; g++) m[g] = p[g] + return m + } else return Array.from(p) + } + var s = i(15), + o = i(4), + l = i(0), + u = i(8), + h = i(9) + function d() { + s.call(this), + (this.useSmartIdealEdgeLengthCalculation = + o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.gravityConstant = o.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = o.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = o.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.displacementThresholdPerNode = (3 * o.DEFAULT_EDGE_LENGTH) / 100), + (this.coolingFactor = o.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.initialCoolingFactor = o.DEFAULT_COOLING_FACTOR_INCREMENTAL), + (this.totalDisplacement = 0), + (this.oldTotalDisplacement = 0), + (this.maxIterations = o.MAX_ITERATIONS) + } + d.prototype = Object.create(s.prototype) + for (var f in s) d[f] = s[f] + ;(d.prototype.initParameters = function () { + s.prototype.initParameters.call(this, arguments), + (this.totalIterations = 0), + (this.notAnimatedIterations = 0), + (this.useFRGridVariant = o.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION), + (this.grid = []) + }), + (d.prototype.calcIdealEdgeLengths = function () { + for ( + var p, g, m, v, y, b, w, T = this.getGraphManager().getAllEdges(), E = 0; + E < T.length; + E++ + ) + (p = T[E]), + (g = p.idealLength), + p.isInterGraph && + ((v = p.getSource()), + (y = p.getTarget()), + (b = p.getSourceInLca().getEstimatedSize()), + (w = p.getTargetInLca().getEstimatedSize()), + this.useSmartIdealEdgeLengthCalculation && + (p.idealLength += b + w - 2 * l.SIMPLE_NODE_SIZE), + (m = p.getLca().getInclusionTreeDepth()), + (p.idealLength += + g * + o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * + (v.getInclusionTreeDepth() + y.getInclusionTreeDepth() - 2 * m))) + }), + (d.prototype.initSpringEmbedder = function () { + var p = this.getAllNodes().length + this.incremental + ? (p > o.ADAPTATION_LOWER_NODE_LIMIT && + (this.coolingFactor = Math.max( + this.coolingFactor * o.COOLING_ADAPTATION_FACTOR, + this.coolingFactor - + ((p - o.ADAPTATION_LOWER_NODE_LIMIT) / + (o.ADAPTATION_UPPER_NODE_LIMIT - + o.ADAPTATION_LOWER_NODE_LIMIT)) * + this.coolingFactor * + (1 - o.COOLING_ADAPTATION_FACTOR), + )), + (this.maxNodeDisplacement = o.MAX_NODE_DISPLACEMENT_INCREMENTAL)) + : (p > o.ADAPTATION_LOWER_NODE_LIMIT + ? (this.coolingFactor = Math.max( + o.COOLING_ADAPTATION_FACTOR, + 1 - + ((p - o.ADAPTATION_LOWER_NODE_LIMIT) / + (o.ADAPTATION_UPPER_NODE_LIMIT - + o.ADAPTATION_LOWER_NODE_LIMIT)) * + (1 - o.COOLING_ADAPTATION_FACTOR), + )) + : (this.coolingFactor = 1), + (this.initialCoolingFactor = this.coolingFactor), + (this.maxNodeDisplacement = o.MAX_NODE_DISPLACEMENT)), + (this.maxIterations = Math.max( + this.getAllNodes().length * 5, + this.maxIterations, + )), + (this.displacementThresholdPerNode = (3 * o.DEFAULT_EDGE_LENGTH) / 100), + (this.totalDisplacementThreshold = + this.displacementThresholdPerNode * this.getAllNodes().length), + (this.repulsionRange = this.calcRepulsionRange()) + }), + (d.prototype.calcSpringForces = function () { + for (var p = this.getAllEdges(), g, m = 0; m < p.length; m++) + (g = p[m]), this.calcSpringForce(g, g.idealLength) + }), + (d.prototype.calcRepulsionForces = function () { + var p = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0, + g = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, + m, + v, + y, + b, + w = this.getAllNodes(), + T + if (this.useFRGridVariant) + for ( + this.totalIterations % o.GRID_CALCULATION_CHECK_PERIOD == 1 && + p && + this.updateGrid(), + T = new Set(), + m = 0; + m < w.length; + m++ + ) + (y = w[m]), this.calculateRepulsionForceOfANode(y, T, p, g), T.add(y) + else + for (m = 0; m < w.length; m++) + for (y = w[m], v = m + 1; v < w.length; v++) + (b = w[v]), + y.getOwner() == b.getOwner() && this.calcRepulsionForce(y, b) + }), + (d.prototype.calcGravitationalForces = function () { + for (var p, g = this.getAllNodesToApplyGravitation(), m = 0; m < g.length; m++) + (p = g[m]), this.calcGravitationalForce(p) + }), + (d.prototype.moveNodes = function () { + for (var p = this.getAllNodes(), g, m = 0; m < p.length; m++) (g = p[m]), g.move() + }), + (d.prototype.calcSpringForce = function (p, g) { + var m = p.getSource(), + v = p.getTarget(), + y, + b, + w, + T + if (this.uniformLeafNodeSizes && m.getChild() == null && v.getChild() == null) + p.updateLengthSimple() + else if ((p.updateLength(), p.isOverlapingSourceAndTarget)) return + ;(y = p.getLength()), + y != 0 && + ((b = p.edgeElasticity * (y - g)), + (w = b * (p.lengthX / y)), + (T = b * (p.lengthY / y)), + (m.springForceX += w), + (m.springForceY += T), + (v.springForceX -= w), + (v.springForceY -= T)) + }), + (d.prototype.calcRepulsionForce = function (p, g) { + var m = p.getRect(), + v = g.getRect(), + y = new Array(2), + b = new Array(4), + w, + T, + E, + S, + k, + L, + A + if (m.intersects(v)) { + u.calcSeparationAmount(m, v, y, o.DEFAULT_EDGE_LENGTH / 2), + (L = 2 * y[0]), + (A = 2 * y[1]) + var R = (p.noOfChildren * g.noOfChildren) / (p.noOfChildren + g.noOfChildren) + ;(p.repulsionForceX -= R * L), + (p.repulsionForceY -= R * A), + (g.repulsionForceX += R * L), + (g.repulsionForceY += R * A) + } else + this.uniformLeafNodeSizes && p.getChild() == null && g.getChild() == null + ? ((w = v.getCenterX() - m.getCenterX()), + (T = v.getCenterY() - m.getCenterY())) + : (u.getIntersection(m, v, b), (w = b[2] - b[0]), (T = b[3] - b[1])), + Math.abs(w) < o.MIN_REPULSION_DIST && + (w = h.sign(w) * o.MIN_REPULSION_DIST), + Math.abs(T) < o.MIN_REPULSION_DIST && + (T = h.sign(T) * o.MIN_REPULSION_DIST), + (E = w * w + T * T), + (S = Math.sqrt(E)), + (k = + ((p.nodeRepulsion / 2 + g.nodeRepulsion / 2) * + p.noOfChildren * + g.noOfChildren) / + E), + (L = (k * w) / S), + (A = (k * T) / S), + (p.repulsionForceX -= L), + (p.repulsionForceY -= A), + (g.repulsionForceX += L), + (g.repulsionForceY += A) + }), + (d.prototype.calcGravitationalForce = function (p) { + var g, m, v, y, b, w, T, E + ;(g = p.getOwner()), + (m = (g.getRight() + g.getLeft()) / 2), + (v = (g.getTop() + g.getBottom()) / 2), + (y = p.getCenterX() - m), + (b = p.getCenterY() - v), + (w = Math.abs(y) + p.getWidth() / 2), + (T = Math.abs(b) + p.getHeight() / 2), + p.getOwner() == this.graphManager.getRoot() + ? ((E = g.getEstimatedSize() * this.gravityRangeFactor), + (w > E || T > E) && + ((p.gravitationForceX = -this.gravityConstant * y), + (p.gravitationForceY = -this.gravityConstant * b))) + : ((E = g.getEstimatedSize() * this.compoundGravityRangeFactor), + (w > E || T > E) && + ((p.gravitationForceX = + -this.gravityConstant * y * this.compoundGravityConstant), + (p.gravitationForceY = + -this.gravityConstant * b * this.compoundGravityConstant))) + }), + (d.prototype.isConverged = function () { + var p, + g = !1 + return ( + this.totalIterations > this.maxIterations / 3 && + (g = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2), + (p = this.totalDisplacement < this.totalDisplacementThreshold), + (this.oldTotalDisplacement = this.totalDisplacement), + p || g + ) + }), + (d.prototype.animate = function () { + this.animationDuringLayout && + !this.isSubLayout && + (this.notAnimatedIterations == this.animationPeriod + ? (this.update(), (this.notAnimatedIterations = 0)) + : this.notAnimatedIterations++) + }), + (d.prototype.calcNoOfChildrenForAllNodes = function () { + for (var p, g = this.graphManager.getAllNodes(), m = 0; m < g.length; m++) + (p = g[m]), (p.noOfChildren = p.getNoOfChildren()) + }), + (d.prototype.calcGrid = function (p) { + var g = 0, + m = 0 + ;(g = parseInt(Math.ceil((p.getRight() - p.getLeft()) / this.repulsionRange))), + (m = parseInt(Math.ceil((p.getBottom() - p.getTop()) / this.repulsionRange))) + for (var v = new Array(g), y = 0; y < g; y++) v[y] = new Array(m) + for (var y = 0; y < g; y++) for (var b = 0; b < m; b++) v[y][b] = new Array() + return v + }), + (d.prototype.addNodeToGrid = function (p, g, m) { + var v = 0, + y = 0, + b = 0, + w = 0 + ;(v = parseInt(Math.floor((p.getRect().x - g) / this.repulsionRange))), + (y = parseInt( + Math.floor((p.getRect().width + p.getRect().x - g) / this.repulsionRange), + )), + (b = parseInt(Math.floor((p.getRect().y - m) / this.repulsionRange))), + (w = parseInt( + Math.floor((p.getRect().height + p.getRect().y - m) / this.repulsionRange), + )) + for (var T = v; T <= y; T++) + for (var E = b; E <= w; E++) + this.grid[T][E].push(p), p.setGridCoordinates(v, y, b, w) + }), + (d.prototype.updateGrid = function () { + var p, + g, + m = this.getAllNodes() + for ( + this.grid = this.calcGrid(this.graphManager.getRoot()), p = 0; + p < m.length; + p++ + ) + (g = m[p]), + this.addNodeToGrid( + g, + this.graphManager.getRoot().getLeft(), + this.graphManager.getRoot().getTop(), + ) + }), + (d.prototype.calculateRepulsionForceOfANode = function (p, g, m, v) { + if ((this.totalIterations % o.GRID_CALCULATION_CHECK_PERIOD == 1 && m) || v) { + var y = new Set() + p.surrounding = new Array() + for (var b, w = this.grid, T = p.startX - 1; T < p.finishX + 2; T++) + for (var E = p.startY - 1; E < p.finishY + 2; E++) + if (!(T < 0 || E < 0 || T >= w.length || E >= w[0].length)) { + for (var S = 0; S < w[T][E].length; S++) + if ( + ((b = w[T][E][S]), + !(p.getOwner() != b.getOwner() || p == b) && + !g.has(b) && + !y.has(b)) + ) { + var k = + Math.abs(p.getCenterX() - b.getCenterX()) - + (p.getWidth() / 2 + b.getWidth() / 2), + L = + Math.abs(p.getCenterY() - b.getCenterY()) - + (p.getHeight() / 2 + b.getHeight() / 2) + k <= this.repulsionRange && + L <= this.repulsionRange && + y.add(b) + } + } + p.surrounding = [].concat(a(y)) + } + for (T = 0; T < p.surrounding.length; T++) + this.calcRepulsionForce(p, p.surrounding[T]) + }), + (d.prototype.calcRepulsionRange = function () { + return 0 + }), + (r.exports = d) + }, + function (r, n, i) { + var a = i(1), + s = i(4) + function o(u, h, d) { + a.call(this, u, h, d), + (this.idealLength = s.DEFAULT_EDGE_LENGTH), + (this.edgeElasticity = s.DEFAULT_SPRING_STRENGTH) + } + o.prototype = Object.create(a.prototype) + for (var l in a) o[l] = a[l] + r.exports = o + }, + function (r, n, i) { + var a = i(3), + s = i(4) + function o(u, h, d, f) { + a.call(this, u, h, d, f), + (this.nodeRepulsion = s.DEFAULT_REPULSION_STRENGTH), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0), + (this.startX = 0), + (this.finishX = 0), + (this.startY = 0), + (this.finishY = 0), + (this.surrounding = []) + } + o.prototype = Object.create(a.prototype) + for (var l in a) o[l] = a[l] + ;(o.prototype.setGridCoordinates = function (u, h, d, f) { + ;(this.startX = u), (this.finishX = h), (this.startY = d), (this.finishY = f) + }), + (r.exports = o) + }, + function (r, n, i) { + function a(s, o) { + ;(this.width = 0), + (this.height = 0), + s !== null && o !== null && ((this.height = o), (this.width = s)) + } + ;(a.prototype.getWidth = function () { + return this.width + }), + (a.prototype.setWidth = function (s) { + this.width = s + }), + (a.prototype.getHeight = function () { + return this.height + }), + (a.prototype.setHeight = function (s) { + this.height = s + }), + (r.exports = a) + }, + function (r, n, i) { + var a = i(14) + function s() { + ;(this.map = {}), (this.keys = []) + } + ;(s.prototype.put = function (o, l) { + var u = a.createID(o) + this.contains(u) || ((this.map[u] = l), this.keys.push(o)) + }), + (s.prototype.contains = function (o) { + return a.createID(o), this.map[o] != null + }), + (s.prototype.get = function (o) { + var l = a.createID(o) + return this.map[l] + }), + (s.prototype.keySet = function () { + return this.keys + }), + (r.exports = s) + }, + function (r, n, i) { + var a = i(14) + function s() { + this.set = {} + } + ;(s.prototype.add = function (o) { + var l = a.createID(o) + this.contains(l) || (this.set[l] = o) + }), + (s.prototype.remove = function (o) { + delete this.set[a.createID(o)] + }), + (s.prototype.clear = function () { + this.set = {} + }), + (s.prototype.contains = function (o) { + return this.set[a.createID(o)] == o + }), + (s.prototype.isEmpty = function () { + return this.size() === 0 + }), + (s.prototype.size = function () { + return Object.keys(this.set).length + }), + (s.prototype.addAllTo = function (o) { + for (var l = Object.keys(this.set), u = l.length, h = 0; h < u; h++) + o.push(this.set[l[h]]) + }), + (s.prototype.size = function () { + return Object.keys(this.set).length + }), + (s.prototype.addAll = function (o) { + for (var l = o.length, u = 0; u < l; u++) { + var h = o[u] + this.add(h) + } + }), + (r.exports = s) + }, + function (r, n, i) { + function a() {} + ;(a.multMat = function (s, o) { + for (var l = [], u = 0; u < s.length; u++) { + l[u] = [] + for (var h = 0; h < o[0].length; h++) { + l[u][h] = 0 + for (var d = 0; d < s[0].length; d++) l[u][h] += s[u][d] * o[d][h] + } + } + return l + }), + (a.transpose = function (s) { + for (var o = [], l = 0; l < s[0].length; l++) { + o[l] = [] + for (var u = 0; u < s.length; u++) o[l][u] = s[u][l] + } + return o + }), + (a.multCons = function (s, o) { + for (var l = [], u = 0; u < s.length; u++) l[u] = s[u] * o + return l + }), + (a.minusOp = function (s, o) { + for (var l = [], u = 0; u < s.length; u++) l[u] = s[u] - o[u] + return l + }), + (a.dotProduct = function (s, o) { + for (var l = 0, u = 0; u < s.length; u++) l += s[u] * o[u] + return l + }), + (a.mag = function (s) { + return Math.sqrt(this.dotProduct(s, s)) + }), + (a.normalize = function (s) { + for (var o = [], l = this.mag(s), u = 0; u < s.length; u++) o[u] = s[u] / l + return o + }), + (a.multGamma = function (s) { + for (var o = [], l = 0, u = 0; u < s.length; u++) l += s[u] + l *= -1 / s.length + for (var h = 0; h < s.length; h++) o[h] = l + s[h] + return o + }), + (a.multL = function (s, o, l) { + for (var u = [], h = [], d = [], f = 0; f < o[0].length; f++) { + for (var p = 0, g = 0; g < o.length; g++) p += -0.5 * o[g][f] * s[g] + h[f] = p + } + for (var m = 0; m < l.length; m++) { + for (var v = 0, y = 0; y < l.length; y++) v += l[m][y] * h[y] + d[m] = v + } + for (var b = 0; b < o.length; b++) { + for (var w = 0, T = 0; T < o[0].length; T++) w += o[b][T] * d[T] + u[b] = w + } + return u + }), + (r.exports = a) + }, + function (r, n, i) { + var a = (function () { + function u(h, d) { + for (var f = 0; f < d.length; f++) { + var p = d[f] + ;(p.enumerable = p.enumerable || !1), + (p.configurable = !0), + "value" in p && (p.writable = !0), + Object.defineProperty(h, p.key, p) + } + } + return function (h, d, f) { + return d && u(h.prototype, d), f && u(h, f), h + } + })() + function s(u, h) { + if (!(u instanceof h)) throw new TypeError("Cannot call a class as a function") + } + var o = i(11), + l = (function () { + function u(h, d) { + s(this, u), + (d !== null || d !== void 0) && + (this.compareFunction = this._defaultCompareFunction) + var f = void 0 + h instanceof o ? (f = h.size()) : (f = h.length), this._quicksort(h, 0, f - 1) + } + return ( + a(u, [ + { + key: "_quicksort", + value: function (d, f, p) { + if (f < p) { + var g = this._partition(d, f, p) + this._quicksort(d, f, g), this._quicksort(d, g + 1, p) + } + }, + }, + { + key: "_partition", + value: function (d, f, p) { + for (var g = this._get(d, f), m = f, v = p; ; ) { + for (; this.compareFunction(g, this._get(d, v)); ) v-- + for (; this.compareFunction(this._get(d, m), g); ) m++ + if (m < v) this._swap(d, m, v), m++, v-- + else return v + } + }, + }, + { + key: "_get", + value: function (d, f) { + return d instanceof o ? d.get_object_at(f) : d[f] + }, + }, + { + key: "_set", + value: function (d, f, p) { + d instanceof o ? d.set_object_at(f, p) : (d[f] = p) + }, + }, + { + key: "_swap", + value: function (d, f, p) { + var g = this._get(d, f) + this._set(d, f, this._get(d, p)), this._set(d, p, g) + }, + }, + { + key: "_defaultCompareFunction", + value: function (d, f) { + return f > d + }, + }, + ]), + u + ) + })() + r.exports = l + }, + function (r, n, i) { + function a() {} + ;(a.svd = function (s) { + ;(this.U = null), + (this.V = null), + (this.s = null), + (this.m = 0), + (this.n = 0), + (this.m = s.length), + (this.n = s[0].length) + var o = Math.min(this.m, this.n) + ;(this.s = (function (Ye) { + for (var Ze = []; Ye-- > 0; ) Ze.push(0) + return Ze + })(Math.min(this.m + 1, this.n))), + (this.U = (function (Ye) { + var Ze = function dt(ct) { + if (ct.length == 0) return 0 + for (var ut = [], mt = 0; mt < ct[0]; mt++) ut.push(dt(ct.slice(1))) + return ut + } + return Ze(Ye) + })([this.m, o])), + (this.V = (function (Ye) { + var Ze = function dt(ct) { + if (ct.length == 0) return 0 + for (var ut = [], mt = 0; mt < ct[0]; mt++) ut.push(dt(ct.slice(1))) + return ut + } + return Ze(Ye) + })([this.n, this.n])) + for ( + var l = (function (Ye) { + for (var Ze = []; Ye-- > 0; ) Ze.push(0) + return Ze + })(this.n), + u = (function (Ye) { + for (var Ze = []; Ye-- > 0; ) Ze.push(0) + return Ze + })(this.m), + h = !0, + d = Math.min(this.m - 1, this.n), + f = Math.max(0, Math.min(this.n - 2, this.m)), + p = 0; + p < Math.max(d, f); + p++ + ) { + if (p < d) { + this.s[p] = 0 + for (var g = p; g < this.m; g++) this.s[p] = a.hypot(this.s[p], s[g][p]) + if (this.s[p] !== 0) { + s[p][p] < 0 && (this.s[p] = -this.s[p]) + for (var m = p; m < this.m; m++) s[m][p] /= this.s[p] + s[p][p] += 1 + } + this.s[p] = -this.s[p] + } + for (var v = p + 1; v < this.n; v++) { + if ( + (function (Ye, Ze) { + return Ye && Ze + })(p < d, this.s[p] !== 0) + ) { + for (var y = 0, b = p; b < this.m; b++) y += s[b][p] * s[b][v] + y = -y / s[p][p] + for (var w = p; w < this.m; w++) s[w][v] += y * s[w][p] + } + l[v] = s[p][v] + } + if ( + (function (Ye, Ze) { + return Ze + })(h, p < d) + ) + for (var T = p; T < this.m; T++) this.U[T][p] = s[T][p] + if (p < f) { + l[p] = 0 + for (var E = p + 1; E < this.n; E++) l[p] = a.hypot(l[p], l[E]) + if (l[p] !== 0) { + l[p + 1] < 0 && (l[p] = -l[p]) + for (var S = p + 1; S < this.n; S++) l[S] /= l[p] + l[p + 1] += 1 + } + if ( + ((l[p] = -l[p]), + (function (Ye, Ze) { + return Ye && Ze + })(p + 1 < this.m, l[p] !== 0)) + ) { + for (var k = p + 1; k < this.m; k++) u[k] = 0 + for (var L = p + 1; L < this.n; L++) + for (var A = p + 1; A < this.m; A++) u[A] += l[L] * s[A][L] + for (var R = p + 1; R < this.n; R++) + for (var C = -l[R] / l[p + 1], I = p + 1; I < this.m; I++) + s[I][R] += C * u[I] + } + for (var P = p + 1; P < this.n; P++) this.V[P][p] = l[P] + } + } + var _ = Math.min(this.n, this.m + 1) + d < this.n && (this.s[d] = s[d][d]), + this.m < _ && (this.s[_ - 1] = 0), + f + 1 < _ && (l[f] = s[f][_ - 1]), + (l[_ - 1] = 0) + { + for (var N = d; N < o; N++) { + for (var M = 0; M < this.m; M++) this.U[M][N] = 0 + this.U[N][N] = 1 + } + for (var O = d - 1; O >= 0; O--) + if (this.s[O] !== 0) { + for (var D = O + 1; D < o; D++) { + for (var B = 0, z = O; z < this.m; z++) B += this.U[z][O] * this.U[z][D] + B = -B / this.U[O][O] + for (var F = O; F < this.m; F++) this.U[F][D] += B * this.U[F][O] + } + for (var G = O; G < this.m; G++) this.U[G][O] = -this.U[G][O] + this.U[O][O] = 1 + this.U[O][O] + for (var q = 0; q < O - 1; q++) this.U[q][O] = 0 + } else { + for (var Y = 0; Y < this.m; Y++) this.U[Y][O] = 0 + this.U[O][O] = 1 + } + } + for (var ee = this.n - 1; ee >= 0; ee--) { + if ( + (function (Ye, Ze) { + return Ye && Ze + })(ee < f, l[ee] !== 0) + ) + for (var Q = ee + 1; Q < o; Q++) { + for (var oe = 0, pe = ee + 1; pe < this.n; pe++) + oe += this.V[pe][ee] * this.V[pe][Q] + oe = -oe / this.V[ee + 1][ee] + for (var j = ee + 1; j < this.n; j++) this.V[j][Q] += oe * this.V[j][ee] + } + for (var H = 0; H < this.n; H++) this.V[H][ee] = 0 + this.V[ee][ee] = 1 + } + for (var X = _ - 1, W = Math.pow(2, -52), K = Math.pow(2, -966); _ > 0; ) { + var ne = void 0, + Z = void 0 + for (ne = _ - 2; ne >= -1 && ne !== -1; ne--) + if ( + Math.abs(l[ne]) <= + K + W * (Math.abs(this.s[ne]) + Math.abs(this.s[ne + 1])) + ) { + l[ne] = 0 + break + } + if (ne === _ - 2) Z = 4 + else { + var be = void 0 + for (be = _ - 1; be >= ne && be !== ne; be--) { + var ce = + (be !== _ ? Math.abs(l[be]) : 0) + + (be !== ne + 1 ? Math.abs(l[be - 1]) : 0) + if (Math.abs(this.s[be]) <= K + W * ce) { + this.s[be] = 0 + break + } + } + be === ne ? (Z = 3) : be === _ - 1 ? (Z = 1) : ((Z = 2), (ne = be)) + } + switch ((ne++, Z)) { + case 1: + { + var re = l[_ - 2] + l[_ - 2] = 0 + for (var Ne = _ - 2; Ne >= ne; Ne--) { + var me = a.hypot(this.s[Ne], re), + Ve = this.s[Ne] / me, + Ue = re / me + ;(this.s[Ne] = me), + Ne !== ne && + ((re = -Ue * l[Ne - 1]), (l[Ne - 1] = Ve * l[Ne - 1])) + for (var Fe = 0; Fe < this.n; Fe++) + (me = Ve * this.V[Fe][Ne] + Ue * this.V[Fe][_ - 1]), + (this.V[Fe][_ - 1] = + -Ue * this.V[Fe][Ne] + Ve * this.V[Fe][_ - 1]), + (this.V[Fe][Ne] = me) + } + } + break + case 2: + { + var _e = l[ne - 1] + l[ne - 1] = 0 + for (var Oe = ne; Oe < _; Oe++) { + var Ce = a.hypot(this.s[Oe], _e), + Le = this.s[Oe] / Ce, + ze = _e / Ce + ;(this.s[Oe] = Ce), (_e = -ze * l[Oe]), (l[Oe] = Le * l[Oe]) + for (var ge = 0; ge < this.m; ge++) + (Ce = Le * this.U[ge][Oe] + ze * this.U[ge][ne - 1]), + (this.U[ge][ne - 1] = + -ze * this.U[ge][Oe] + Le * this.U[ge][ne - 1]), + (this.U[ge][Oe] = Ce) + } + } + break + case 3: + { + var Me = Math.max( + Math.max( + Math.max( + Math.max( + Math.abs(this.s[_ - 1]), + Math.abs(this.s[_ - 2]), + ), + Math.abs(l[_ - 2]), + ), + Math.abs(this.s[ne]), + ), + Math.abs(l[ne]), + ), + J = this.s[_ - 1] / Me, + ue = this.s[_ - 2] / Me, + $ = l[_ - 2] / Me, + se = this.s[ne] / Me, + ae = l[ne] / Me, + fe = ((ue + J) * (ue - J) + $ * $) / 2, + he = J * $ * (J * $), + Te = 0 + ;(function (Ye, Ze) { + return Ye || Ze + })(fe !== 0, he !== 0) && + ((Te = Math.sqrt(fe * fe + he)), + fe < 0 && (Te = -Te), + (Te = he / (fe + Te))) + for ( + var ke = (se + J) * (se - J) + Te, Ee = se * ae, Ge = ne; + Ge < _ - 1; + Ge++ + ) { + var Je = a.hypot(ke, Ee), + We = ke / Je, + Xe = Ee / Je + Ge !== ne && (l[Ge - 1] = Je), + (ke = We * this.s[Ge] + Xe * l[Ge]), + (l[Ge] = We * l[Ge] - Xe * this.s[Ge]), + (Ee = Xe * this.s[Ge + 1]), + (this.s[Ge + 1] = We * this.s[Ge + 1]) + for (var Ke = 0; Ke < this.n; Ke++) + (Je = We * this.V[Ke][Ge] + Xe * this.V[Ke][Ge + 1]), + (this.V[Ke][Ge + 1] = + -Xe * this.V[Ke][Ge] + We * this.V[Ke][Ge + 1]), + (this.V[Ke][Ge] = Je) + if ( + ((Je = a.hypot(ke, Ee)), + (We = ke / Je), + (Xe = Ee / Je), + (this.s[Ge] = Je), + (ke = We * l[Ge] + Xe * this.s[Ge + 1]), + (this.s[Ge + 1] = -Xe * l[Ge] + We * this.s[Ge + 1]), + (Ee = Xe * l[Ge + 1]), + (l[Ge + 1] = We * l[Ge + 1]), + Ge < this.m - 1) + ) + for (var $e = 0; $e < this.m; $e++) + (Je = We * this.U[$e][Ge] + Xe * this.U[$e][Ge + 1]), + (this.U[$e][Ge + 1] = + -Xe * this.U[$e][Ge] + We * this.U[$e][Ge + 1]), + (this.U[$e][Ge] = Je) + } + l[_ - 2] = ke + } + break + case 4: + { + if (this.s[ne] <= 0) { + this.s[ne] = this.s[ne] < 0 ? -this.s[ne] : 0 + for (var je = 0; je <= X; je++) this.V[je][ne] = -this.V[je][ne] + } + for (; ne < X && !(this.s[ne] >= this.s[ne + 1]); ) { + var lt = this.s[ne] + if ( + ((this.s[ne] = this.s[ne + 1]), + (this.s[ne + 1] = lt), + ne < this.n - 1) + ) + for (var st = 0; st < this.n; st++) + (lt = this.V[st][ne + 1]), + (this.V[st][ne + 1] = this.V[st][ne]), + (this.V[st][ne] = lt) + if (ne < this.m - 1) + for (var qe = 0; qe < this.m; qe++) + (lt = this.U[qe][ne + 1]), + (this.U[qe][ne + 1] = this.U[qe][ne]), + (this.U[qe][ne] = lt) + ne++ + } + _-- + } + break + } + } + var wt = { U: this.U, V: this.V, S: this.s } + return wt + }), + (a.hypot = function (s, o) { + var l = void 0 + return ( + Math.abs(s) > Math.abs(o) + ? ((l = o / s), (l = Math.abs(s) * Math.sqrt(1 + l * l))) + : o != 0 + ? ((l = s / o), (l = Math.abs(o) * Math.sqrt(1 + l * l))) + : (l = 0), + l + ) + }), + (r.exports = a) + }, + function (r, n, i) { + var a = (function () { + function l(u, h) { + for (var d = 0; d < h.length; d++) { + var f = h[d] + ;(f.enumerable = f.enumerable || !1), + (f.configurable = !0), + "value" in f && (f.writable = !0), + Object.defineProperty(u, f.key, f) + } + } + return function (u, h, d) { + return h && l(u.prototype, h), d && l(u, d), u + } + })() + function s(l, u) { + if (!(l instanceof u)) throw new TypeError("Cannot call a class as a function") + } + var o = (function () { + function l(u, h) { + var d = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1, + f = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : -1, + p = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : -1 + s(this, l), + (this.sequence1 = u), + (this.sequence2 = h), + (this.match_score = d), + (this.mismatch_penalty = f), + (this.gap_penalty = p), + (this.iMax = u.length + 1), + (this.jMax = h.length + 1), + (this.grid = new Array(this.iMax)) + for (var g = 0; g < this.iMax; g++) { + this.grid[g] = new Array(this.jMax) + for (var m = 0; m < this.jMax; m++) this.grid[g][m] = 0 + } + this.tracebackGrid = new Array(this.iMax) + for (var v = 0; v < this.iMax; v++) { + this.tracebackGrid[v] = new Array(this.jMax) + for (var y = 0; y < this.jMax; y++) + this.tracebackGrid[v][y] = [null, null, null] + } + ;(this.alignments = []), (this.score = -1), this.computeGrids() + } + return ( + a(l, [ + { + key: "getScore", + value: function () { + return this.score + }, + }, + { + key: "getAlignments", + value: function () { + return this.alignments + }, + }, + { + key: "computeGrids", + value: function () { + for (var h = 1; h < this.jMax; h++) + (this.grid[0][h] = this.grid[0][h - 1] + this.gap_penalty), + (this.tracebackGrid[0][h] = [!1, !1, !0]) + for (var d = 1; d < this.iMax; d++) + (this.grid[d][0] = this.grid[d - 1][0] + this.gap_penalty), + (this.tracebackGrid[d][0] = [!1, !0, !1]) + for (var f = 1; f < this.iMax; f++) + for (var p = 1; p < this.jMax; p++) { + var g = void 0 + this.sequence1[f - 1] === this.sequence2[p - 1] + ? (g = this.grid[f - 1][p - 1] + this.match_score) + : (g = this.grid[f - 1][p - 1] + this.mismatch_penalty) + var m = this.grid[f - 1][p] + this.gap_penalty, + v = this.grid[f][p - 1] + this.gap_penalty, + y = [g, m, v], + b = this.arrayAllMaxIndexes(y) + ;(this.grid[f][p] = y[b[0]]), + (this.tracebackGrid[f][p] = [ + b.includes(0), + b.includes(1), + b.includes(2), + ]) + } + this.score = this.grid[this.iMax - 1][this.jMax - 1] + }, + }, + { + key: "alignmentTraceback", + value: function () { + var h = [] + for ( + h.push({ + pos: [this.sequence1.length, this.sequence2.length], + seq1: "", + seq2: "", + }); + h[0]; + + ) { + var d = h[0], + f = this.tracebackGrid[d.pos[0]][d.pos[1]] + f[0] && + h.push({ + pos: [d.pos[0] - 1, d.pos[1] - 1], + seq1: this.sequence1[d.pos[0] - 1] + d.seq1, + seq2: this.sequence2[d.pos[1] - 1] + d.seq2, + }), + f[1] && + h.push({ + pos: [d.pos[0] - 1, d.pos[1]], + seq1: this.sequence1[d.pos[0] - 1] + d.seq1, + seq2: "-" + d.seq2, + }), + f[2] && + h.push({ + pos: [d.pos[0], d.pos[1] - 1], + seq1: "-" + d.seq1, + seq2: this.sequence2[d.pos[1] - 1] + d.seq2, + }), + d.pos[0] === 0 && + d.pos[1] === 0 && + this.alignments.push({ + sequence1: d.seq1, + sequence2: d.seq2, + }), + h.shift() + } + return this.alignments + }, + }, + { + key: "getAllIndexes", + value: function (h, d) { + for (var f = [], p = -1; (p = h.indexOf(d, p + 1)) !== -1; ) f.push(p) + return f + }, + }, + { + key: "arrayAllMaxIndexes", + value: function (h) { + return this.getAllIndexes(h, Math.max.apply(null, h)) + }, + }, + ]), + l + ) + })() + r.exports = o + }, + function (r, n, i) { + var a = function () {} + ;(a.FDLayout = i(18)), + (a.FDLayoutConstants = i(4)), + (a.FDLayoutEdge = i(19)), + (a.FDLayoutNode = i(20)), + (a.DimensionD = i(21)), + (a.HashMap = i(22)), + (a.HashSet = i(23)), + (a.IGeometry = i(8)), + (a.IMath = i(9)), + (a.Integer = i(10)), + (a.Point = i(12)), + (a.PointD = i(5)), + (a.RandomSeed = i(16)), + (a.RectangleD = i(13)), + (a.Transform = i(17)), + (a.UniqueIDGeneretor = i(14)), + (a.Quicksort = i(25)), + (a.LinkedList = i(11)), + (a.LGraphObject = i(2)), + (a.LGraph = i(6)), + (a.LEdge = i(1)), + (a.LGraphManager = i(7)), + (a.LNode = i(3)), + (a.Layout = i(15)), + (a.LayoutConstants = i(0)), + (a.NeedlemanWunsch = i(27)), + (a.Matrix = i(24)), + (a.SVD = i(26)), + (r.exports = a) + }, + function (r, n, i) { + function a() { + this.listeners = [] + } + var s = a.prototype + ;(s.addListener = function (o, l) { + this.listeners.push({ event: o, callback: l }) + }), + (s.removeListener = function (o, l) { + for (var u = this.listeners.length; u >= 0; u--) { + var h = this.listeners[u] + h.event === o && h.callback === l && this.listeners.splice(u, 1) + } + }), + (s.emit = function (o, l) { + for (var u = 0; u < this.listeners.length; u++) { + var h = this.listeners[u] + o === h.event && h.callback(l) + } + }), + (r.exports = a) + }, + ]) + }) + })(pv)), + pv.exports + ) +} +var yRe = fv.exports, + LN +function xRe() { + return ( + LN || + ((LN = 1), + (function (t, e) { + ;(function (n, i) { + t.exports = i(vRe()) + })(yRe, function (r) { + return (() => { + var n = { + 45: (o, l, u) => { + var h = {} + ;(h.layoutBase = u(551)), + (h.CoSEConstants = u(806)), + (h.CoSEEdge = u(767)), + (h.CoSEGraph = u(880)), + (h.CoSEGraphManager = u(578)), + (h.CoSELayout = u(765)), + (h.CoSENode = u(991)), + (h.ConstraintHandler = u(902)), + (o.exports = h) + }, + 806: (o, l, u) => { + var h = u(551).FDLayoutConstants + function d() {} + for (var f in h) d[f] = h[f] + ;(d.DEFAULT_USE_MULTI_LEVEL_SCALING = !1), + (d.DEFAULT_RADIAL_SEPARATION = h.DEFAULT_EDGE_LENGTH), + (d.DEFAULT_COMPONENT_SEPERATION = 60), + (d.TILE = !0), + (d.TILING_PADDING_VERTICAL = 10), + (d.TILING_PADDING_HORIZONTAL = 10), + (d.TRANSFORM_ON_CONSTRAINT_HANDLING = !0), + (d.ENFORCE_CONSTRAINTS = !0), + (d.APPLY_LAYOUT = !0), + (d.RELAX_MOVEMENT_ON_CONSTRAINTS = !0), + (d.TREE_REDUCTION_ON_INCREMENTAL = !0), + (d.PURE_INCREMENTAL = d.DEFAULT_INCREMENTAL), + (o.exports = d) + }, + 767: (o, l, u) => { + var h = u(551).FDLayoutEdge + function d(p, g, m) { + h.call(this, p, g, m) + } + d.prototype = Object.create(h.prototype) + for (var f in h) d[f] = h[f] + o.exports = d + }, + 880: (o, l, u) => { + var h = u(551).LGraph + function d(p, g, m) { + h.call(this, p, g, m) + } + d.prototype = Object.create(h.prototype) + for (var f in h) d[f] = h[f] + o.exports = d + }, + 578: (o, l, u) => { + var h = u(551).LGraphManager + function d(p) { + h.call(this, p) + } + d.prototype = Object.create(h.prototype) + for (var f in h) d[f] = h[f] + o.exports = d + }, + 765: (o, l, u) => { + var h = u(551).FDLayout, + d = u(578), + f = u(880), + p = u(991), + g = u(767), + m = u(806), + v = u(902), + y = u(551).FDLayoutConstants, + b = u(551).LayoutConstants, + w = u(551).Point, + T = u(551).PointD, + E = u(551).DimensionD, + S = u(551).Layout, + k = u(551).Integer, + L = u(551).IGeometry, + A = u(551).LGraph, + R = u(551).Transform, + C = u(551).LinkedList + function I() { + h.call(this), (this.toBeTiled = {}), (this.constraints = {}) + } + I.prototype = Object.create(h.prototype) + for (var P in h) I[P] = h[P] + ;(I.prototype.newGraphManager = function () { + var _ = new d(this) + return (this.graphManager = _), _ + }), + (I.prototype.newGraph = function (_) { + return new f(null, this.graphManager, _) + }), + (I.prototype.newNode = function (_) { + return new p(this.graphManager, _) + }), + (I.prototype.newEdge = function (_) { + return new g(null, null, _) + }), + (I.prototype.initParameters = function () { + h.prototype.initParameters.call(this, arguments), + this.isSubLayout || + (m.DEFAULT_EDGE_LENGTH < 10 + ? (this.idealEdgeLength = 10) + : (this.idealEdgeLength = m.DEFAULT_EDGE_LENGTH), + (this.useSmartIdealEdgeLengthCalculation = + m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION), + (this.gravityConstant = y.DEFAULT_GRAVITY_STRENGTH), + (this.compoundGravityConstant = + y.DEFAULT_COMPOUND_GRAVITY_STRENGTH), + (this.gravityRangeFactor = y.DEFAULT_GRAVITY_RANGE_FACTOR), + (this.compoundGravityRangeFactor = + y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR), + (this.prunedNodesAll = []), + (this.growTreeIterations = 0), + (this.afterGrowthIterations = 0), + (this.isTreeGrowing = !1), + (this.isGrowthFinished = !1)) + }), + (I.prototype.initSpringEmbedder = function () { + h.prototype.initSpringEmbedder.call(this), + (this.coolingCycle = 0), + (this.maxCoolingCycle = + this.maxIterations / y.CONVERGENCE_CHECK_PERIOD), + (this.finalTemperature = 0.04), + (this.coolingAdjuster = 1) + }), + (I.prototype.layout = function () { + var _ = b.DEFAULT_CREATE_BENDS_AS_NEEDED + return ( + _ && (this.createBendpoints(), this.graphManager.resetAllEdges()), + (this.level = 0), + this.classicLayout() + ) + }), + (I.prototype.classicLayout = function () { + if ( + ((this.nodesWithGravity = this.calculateNodesToApplyGravitationTo()), + this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity), + this.calcNoOfChildrenForAllNodes(), + this.graphManager.calcLowestCommonAncestors(), + this.graphManager.calcInclusionTreeDepths(), + this.graphManager.getRoot().calcEstimatedSize(), + this.calcIdealEdgeLengths(), + this.incremental) + ) { + if (m.TREE_REDUCTION_ON_INCREMENTAL) { + this.reduceTrees(), + this.graphManager.resetAllNodesToApplyGravitation() + var N = new Set(this.getAllNodes()), + M = this.nodesWithGravity.filter(function (B) { + return N.has(B) + }) + this.graphManager.setAllNodesToApplyGravitation(M) + } + } else { + var _ = this.getFlatForest() + if (_.length > 0) this.positionNodesRadially(_) + else { + this.reduceTrees(), + this.graphManager.resetAllNodesToApplyGravitation() + var N = new Set(this.getAllNodes()), + M = this.nodesWithGravity.filter(function (O) { + return N.has(O) + }) + this.graphManager.setAllNodesToApplyGravitation(M), + this.positionNodesRandomly() + } + } + return ( + Object.keys(this.constraints).length > 0 && + (v.handleConstraints(this), this.initConstraintVariables()), + this.initSpringEmbedder(), + m.APPLY_LAYOUT && this.runSpringEmbedder(), + !0 + ) + }), + (I.prototype.tick = function () { + if ( + (this.totalIterations++, + this.totalIterations === this.maxIterations && + !this.isTreeGrowing && + !this.isGrowthFinished) + ) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0 + else return !0 + if ( + this.totalIterations % y.CONVERGENCE_CHECK_PERIOD == 0 && + !this.isTreeGrowing && + !this.isGrowthFinished + ) { + if (this.isConverged()) + if (this.prunedNodesAll.length > 0) this.isTreeGrowing = !0 + else return !0 + this.coolingCycle++, + this.layoutQuality == 0 + ? (this.coolingAdjuster = this.coolingCycle) + : this.layoutQuality == 1 && + (this.coolingAdjuster = this.coolingCycle / 3), + (this.coolingFactor = Math.max( + this.initialCoolingFactor - + (Math.pow( + this.coolingCycle, + Math.log( + 100 * + (this.initialCoolingFactor - + this.finalTemperature), + ) / Math.log(this.maxCoolingCycle), + ) / + 100) * + this.coolingAdjuster, + this.finalTemperature, + )), + (this.animationPeriod = Math.ceil( + this.initialAnimationPeriod * Math.sqrt(this.coolingFactor), + )) + } + if (this.isTreeGrowing) { + if (this.growTreeIterations % 10 == 0) + if (this.prunedNodesAll.length > 0) { + this.graphManager.updateBounds(), + this.updateGrid(), + this.growTree(this.prunedNodesAll), + this.graphManager.resetAllNodesToApplyGravitation() + var _ = new Set(this.getAllNodes()), + N = this.nodesWithGravity.filter(function (D) { + return _.has(D) + }) + this.graphManager.setAllNodesToApplyGravitation(N), + this.graphManager.updateBounds(), + this.updateGrid(), + m.PURE_INCREMENTAL + ? (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) + : (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL) + } else (this.isTreeGrowing = !1), (this.isGrowthFinished = !0) + this.growTreeIterations++ + } + if (this.isGrowthFinished) { + if (this.isConverged()) return !0 + this.afterGrowthIterations % 10 == 0 && + (this.graphManager.updateBounds(), this.updateGrid()), + m.PURE_INCREMENTAL + ? (this.coolingFactor = + (y.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2) * + ((100 - this.afterGrowthIterations) / 100)) + : (this.coolingFactor = + y.DEFAULT_COOLING_FACTOR_INCREMENTAL * + ((100 - this.afterGrowthIterations) / 100)), + this.afterGrowthIterations++ + } + var M = !this.isTreeGrowing && !this.isGrowthFinished, + O = + (this.growTreeIterations % 10 == 1 && this.isTreeGrowing) || + (this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished) + return ( + (this.totalDisplacement = 0), + this.graphManager.updateBounds(), + this.calcSpringForces(), + this.calcRepulsionForces(M, O), + this.calcGravitationalForces(), + this.moveNodes(), + this.animate(), + !1 + ) + }), + (I.prototype.getPositionsData = function () { + for ( + var _ = this.graphManager.getAllNodes(), N = {}, M = 0; + M < _.length; + M++ + ) { + var O = _[M].rect, + D = _[M].id + N[D] = { + id: D, + x: O.getCenterX(), + y: O.getCenterY(), + w: O.width, + h: O.height, + } + } + return N + }), + (I.prototype.runSpringEmbedder = function () { + ;(this.initialAnimationPeriod = 25), + (this.animationPeriod = this.initialAnimationPeriod) + var _ = !1 + if (y.ANIMATE === "during") this.emit("layoutstarted") + else { + for (; !_; ) _ = this.tick() + this.graphManager.updateBounds() + } + }), + (I.prototype.moveNodes = function () { + for (var _ = this.getAllNodes(), N, M = 0; M < _.length; M++) + (N = _[M]), N.calculateDisplacement() + Object.keys(this.constraints).length > 0 && this.updateDisplacements() + for (var M = 0; M < _.length; M++) (N = _[M]), N.move() + }), + (I.prototype.initConstraintVariables = function () { + var _ = this + ;(this.idToNodeMap = new Map()), (this.fixedNodeSet = new Set()) + for (var N = this.graphManager.getAllNodes(), M = 0; M < N.length; M++) { + var O = N[M] + this.idToNodeMap.set(O.id, O) + } + var D = function j(H) { + for ( + var X = H.getChild().getNodes(), W, K = 0, ne = 0; + ne < X.length; + ne++ + ) + (W = X[ne]), + W.getChild() == null + ? _.fixedNodeSet.has(W.id) && (K += 100) + : (K += j(W)) + return K + } + if (this.constraints.fixedNodeConstraint) { + this.constraints.fixedNodeConstraint.forEach(function (X) { + _.fixedNodeSet.add(X.nodeId) + }) + for ( + var N = this.graphManager.getAllNodes(), O, M = 0; + M < N.length; + M++ + ) + if (((O = N[M]), O.getChild() != null)) { + var B = D(O) + B > 0 && (O.fixedNodeWeight = B) + } + } + if (this.constraints.relativePlacementConstraint) { + var z = new Map(), + F = new Map() + if ( + ((this.dummyToNodeForVerticalAlignment = new Map()), + (this.dummyToNodeForHorizontalAlignment = new Map()), + (this.fixedNodesOnHorizontal = new Set()), + (this.fixedNodesOnVertical = new Set()), + this.fixedNodeSet.forEach(function (j) { + _.fixedNodesOnHorizontal.add(j), _.fixedNodesOnVertical.add(j) + }), + this.constraints.alignmentConstraint) + ) { + if (this.constraints.alignmentConstraint.vertical) + for ( + var G = this.constraints.alignmentConstraint.vertical, + M = 0; + M < G.length; + M++ + ) + this.dummyToNodeForVerticalAlignment.set("dummy" + M, []), + G[M].forEach(function (H) { + z.set(H, "dummy" + M), + _.dummyToNodeForVerticalAlignment + .get("dummy" + M) + .push(H), + _.fixedNodeSet.has(H) && + _.fixedNodesOnHorizontal.add("dummy" + M) + }) + if (this.constraints.alignmentConstraint.horizontal) + for ( + var q = this.constraints.alignmentConstraint.horizontal, + M = 0; + M < q.length; + M++ + ) + this.dummyToNodeForHorizontalAlignment.set("dummy" + M, []), + q[M].forEach(function (H) { + F.set(H, "dummy" + M), + _.dummyToNodeForHorizontalAlignment + .get("dummy" + M) + .push(H), + _.fixedNodeSet.has(H) && + _.fixedNodesOnVertical.add("dummy" + M) + }) + } + if (m.RELAX_MOVEMENT_ON_CONSTRAINTS) + (this.shuffle = function (j) { + var H, X, W + for (W = j.length - 1; W >= (2 * j.length) / 3; W--) + (H = Math.floor(Math.random() * (W + 1))), + (X = j[W]), + (j[W] = j[H]), + (j[H] = X) + return j + }), + (this.nodesInRelativeHorizontal = []), + (this.nodesInRelativeVertical = []), + (this.nodeToRelativeConstraintMapHorizontal = new Map()), + (this.nodeToRelativeConstraintMapVertical = new Map()), + (this.nodeToTempPositionMapHorizontal = new Map()), + (this.nodeToTempPositionMapVertical = new Map()), + this.constraints.relativePlacementConstraint.forEach( + function (j) { + if (j.left) { + var H = z.has(j.left) ? z.get(j.left) : j.left, + X = z.has(j.right) ? z.get(j.right) : j.right + _.nodesInRelativeHorizontal.includes(H) || + (_.nodesInRelativeHorizontal.push(H), + _.nodeToRelativeConstraintMapHorizontal.set( + H, + [], + ), + _.dummyToNodeForVerticalAlignment.has(H) + ? _.nodeToTempPositionMapHorizontal.set( + H, + _.idToNodeMap + .get( + _.dummyToNodeForVerticalAlignment.get( + H, + )[0], + ) + .getCenterX(), + ) + : _.nodeToTempPositionMapHorizontal.set( + H, + _.idToNodeMap.get(H).getCenterX(), + )), + _.nodesInRelativeHorizontal.includes(X) || + (_.nodesInRelativeHorizontal.push(X), + _.nodeToRelativeConstraintMapHorizontal.set( + X, + [], + ), + _.dummyToNodeForVerticalAlignment.has(X) + ? _.nodeToTempPositionMapHorizontal.set( + X, + _.idToNodeMap + .get( + _.dummyToNodeForVerticalAlignment.get( + X, + )[0], + ) + .getCenterX(), + ) + : _.nodeToTempPositionMapHorizontal.set( + X, + _.idToNodeMap + .get(X) + .getCenterX(), + )), + _.nodeToRelativeConstraintMapHorizontal + .get(H) + .push({ right: X, gap: j.gap }), + _.nodeToRelativeConstraintMapHorizontal + .get(X) + .push({ left: H, gap: j.gap }) + } else { + var W = F.has(j.top) ? F.get(j.top) : j.top, + K = F.has(j.bottom) ? F.get(j.bottom) : j.bottom + _.nodesInRelativeVertical.includes(W) || + (_.nodesInRelativeVertical.push(W), + _.nodeToRelativeConstraintMapVertical.set( + W, + [], + ), + _.dummyToNodeForHorizontalAlignment.has(W) + ? _.nodeToTempPositionMapVertical.set( + W, + _.idToNodeMap + .get( + _.dummyToNodeForHorizontalAlignment.get( + W, + )[0], + ) + .getCenterY(), + ) + : _.nodeToTempPositionMapVertical.set( + W, + _.idToNodeMap.get(W).getCenterY(), + )), + _.nodesInRelativeVertical.includes(K) || + (_.nodesInRelativeVertical.push(K), + _.nodeToRelativeConstraintMapVertical.set( + K, + [], + ), + _.dummyToNodeForHorizontalAlignment.has(K) + ? _.nodeToTempPositionMapVertical.set( + K, + _.idToNodeMap + .get( + _.dummyToNodeForHorizontalAlignment.get( + K, + )[0], + ) + .getCenterY(), + ) + : _.nodeToTempPositionMapVertical.set( + K, + _.idToNodeMap + .get(K) + .getCenterY(), + )), + _.nodeToRelativeConstraintMapVertical + .get(W) + .push({ bottom: K, gap: j.gap }), + _.nodeToRelativeConstraintMapVertical + .get(K) + .push({ top: W, gap: j.gap }) + } + }, + ) + else { + var Y = new Map(), + ee = new Map() + this.constraints.relativePlacementConstraint.forEach(function (j) { + if (j.left) { + var H = z.has(j.left) ? z.get(j.left) : j.left, + X = z.has(j.right) ? z.get(j.right) : j.right + Y.has(H) ? Y.get(H).push(X) : Y.set(H, [X]), + Y.has(X) ? Y.get(X).push(H) : Y.set(X, [H]) + } else { + var W = F.has(j.top) ? F.get(j.top) : j.top, + K = F.has(j.bottom) ? F.get(j.bottom) : j.bottom + ee.has(W) ? ee.get(W).push(K) : ee.set(W, [K]), + ee.has(K) ? ee.get(K).push(W) : ee.set(K, [W]) + } + }) + var Q = function (H, X) { + var W = [], + K = [], + ne = new C(), + Z = new Set(), + be = 0 + return ( + H.forEach(function (ce, re) { + if (!Z.has(re)) { + ;(W[be] = []), (K[be] = !1) + var Ne = re + for ( + ne.push(Ne), Z.add(Ne), W[be].push(Ne); + ne.length != 0; + + ) { + ;(Ne = ne.shift()), + X.has(Ne) && (K[be] = !0) + var me = H.get(Ne) + me.forEach(function (Ve) { + Z.has(Ve) || + (ne.push(Ve), + Z.add(Ve), + W[be].push(Ve)) + }) + } + be++ + } + }), + { components: W, isFixed: K } + ) + }, + oe = Q(Y, _.fixedNodesOnHorizontal) + ;(this.componentsOnHorizontal = oe.components), + (this.fixedComponentsOnHorizontal = oe.isFixed) + var pe = Q(ee, _.fixedNodesOnVertical) + ;(this.componentsOnVertical = pe.components), + (this.fixedComponentsOnVertical = pe.isFixed) + } + } + }), + (I.prototype.updateDisplacements = function () { + var _ = this + if ( + (this.constraints.fixedNodeConstraint && + this.constraints.fixedNodeConstraint.forEach(function (pe) { + var j = _.idToNodeMap.get(pe.nodeId) + ;(j.displacementX = 0), (j.displacementY = 0) + }), + this.constraints.alignmentConstraint) + ) { + if (this.constraints.alignmentConstraint.vertical) + for ( + var N = this.constraints.alignmentConstraint.vertical, M = 0; + M < N.length; + M++ + ) { + for (var O = 0, D = 0; D < N[M].length; D++) { + if (this.fixedNodeSet.has(N[M][D])) { + O = 0 + break + } + O += this.idToNodeMap.get(N[M][D]).displacementX + } + for (var B = O / N[M].length, D = 0; D < N[M].length; D++) + this.idToNodeMap.get(N[M][D]).displacementX = B + } + if (this.constraints.alignmentConstraint.horizontal) + for ( + var z = this.constraints.alignmentConstraint.horizontal, M = 0; + M < z.length; + M++ + ) { + for (var F = 0, D = 0; D < z[M].length; D++) { + if (this.fixedNodeSet.has(z[M][D])) { + F = 0 + break + } + F += this.idToNodeMap.get(z[M][D]).displacementY + } + for (var G = F / z[M].length, D = 0; D < z[M].length; D++) + this.idToNodeMap.get(z[M][D]).displacementY = G + } + } + if (this.constraints.relativePlacementConstraint) + if (m.RELAX_MOVEMENT_ON_CONSTRAINTS) + this.totalIterations % 10 == 0 && + (this.shuffle(this.nodesInRelativeHorizontal), + this.shuffle(this.nodesInRelativeVertical)), + this.nodesInRelativeHorizontal.forEach(function (pe) { + if (!_.fixedNodesOnHorizontal.has(pe)) { + var j = 0 + _.dummyToNodeForVerticalAlignment.has(pe) + ? (j = _.idToNodeMap.get( + _.dummyToNodeForVerticalAlignment.get( + pe, + )[0], + ).displacementX) + : (j = _.idToNodeMap.get(pe).displacementX), + _.nodeToRelativeConstraintMapHorizontal + .get(pe) + .forEach(function (H) { + if (H.right) { + var X = + _.nodeToTempPositionMapHorizontal.get( + H.right, + ) - + _.nodeToTempPositionMapHorizontal.get( + pe, + ) - + j + X < H.gap && (j -= H.gap - X) + } else { + var X = + _.nodeToTempPositionMapHorizontal.get( + pe, + ) - + _.nodeToTempPositionMapHorizontal.get( + H.left, + ) + + j + X < H.gap && (j += H.gap - X) + } + }), + _.nodeToTempPositionMapHorizontal.set( + pe, + _.nodeToTempPositionMapHorizontal.get(pe) + j, + ), + _.dummyToNodeForVerticalAlignment.has(pe) + ? _.dummyToNodeForVerticalAlignment + .get(pe) + .forEach(function (H) { + _.idToNodeMap.get(H).displacementX = + j + }) + : (_.idToNodeMap.get(pe).displacementX = j) + } + }), + this.nodesInRelativeVertical.forEach(function (pe) { + if (!_.fixedNodesOnHorizontal.has(pe)) { + var j = 0 + _.dummyToNodeForHorizontalAlignment.has(pe) + ? (j = _.idToNodeMap.get( + _.dummyToNodeForHorizontalAlignment.get( + pe, + )[0], + ).displacementY) + : (j = _.idToNodeMap.get(pe).displacementY), + _.nodeToRelativeConstraintMapVertical + .get(pe) + .forEach(function (H) { + if (H.bottom) { + var X = + _.nodeToTempPositionMapVertical.get( + H.bottom, + ) - + _.nodeToTempPositionMapVertical.get( + pe, + ) - + j + X < H.gap && (j -= H.gap - X) + } else { + var X = + _.nodeToTempPositionMapVertical.get( + pe, + ) - + _.nodeToTempPositionMapVertical.get( + H.top, + ) + + j + X < H.gap && (j += H.gap - X) + } + }), + _.nodeToTempPositionMapVertical.set( + pe, + _.nodeToTempPositionMapVertical.get(pe) + j, + ), + _.dummyToNodeForHorizontalAlignment.has(pe) + ? _.dummyToNodeForHorizontalAlignment + .get(pe) + .forEach(function (H) { + _.idToNodeMap.get(H).displacementY = + j + }) + : (_.idToNodeMap.get(pe).displacementY = j) + } + }) + else { + for (var M = 0; M < this.componentsOnHorizontal.length; M++) { + var q = this.componentsOnHorizontal[M] + if (this.fixedComponentsOnHorizontal[M]) + for (var D = 0; D < q.length; D++) + this.dummyToNodeForVerticalAlignment.has(q[D]) + ? this.dummyToNodeForVerticalAlignment + .get(q[D]) + .forEach(function (H) { + _.idToNodeMap.get(H).displacementX = 0 + }) + : (this.idToNodeMap.get(q[D]).displacementX = 0) + else { + for (var Y = 0, ee = 0, D = 0; D < q.length; D++) + if (this.dummyToNodeForVerticalAlignment.has(q[D])) { + var Q = this.dummyToNodeForVerticalAlignment.get( + q[D], + ) + ;(Y += + Q.length * + this.idToNodeMap.get(Q[0]).displacementX), + (ee += Q.length) + } else + (Y += this.idToNodeMap.get(q[D]).displacementX), + ee++ + for (var oe = Y / ee, D = 0; D < q.length; D++) + this.dummyToNodeForVerticalAlignment.has(q[D]) + ? this.dummyToNodeForVerticalAlignment + .get(q[D]) + .forEach(function (H) { + _.idToNodeMap.get(H).displacementX = oe + }) + : (this.idToNodeMap.get(q[D]).displacementX = oe) + } + } + for (var M = 0; M < this.componentsOnVertical.length; M++) { + var q = this.componentsOnVertical[M] + if (this.fixedComponentsOnVertical[M]) + for (var D = 0; D < q.length; D++) + this.dummyToNodeForHorizontalAlignment.has(q[D]) + ? this.dummyToNodeForHorizontalAlignment + .get(q[D]) + .forEach(function (X) { + _.idToNodeMap.get(X).displacementY = 0 + }) + : (this.idToNodeMap.get(q[D]).displacementY = 0) + else { + for (var Y = 0, ee = 0, D = 0; D < q.length; D++) + if (this.dummyToNodeForHorizontalAlignment.has(q[D])) { + var Q = this.dummyToNodeForHorizontalAlignment.get( + q[D], + ) + ;(Y += + Q.length * + this.idToNodeMap.get(Q[0]).displacementY), + (ee += Q.length) + } else + (Y += this.idToNodeMap.get(q[D]).displacementY), + ee++ + for (var oe = Y / ee, D = 0; D < q.length; D++) + this.dummyToNodeForHorizontalAlignment.has(q[D]) + ? this.dummyToNodeForHorizontalAlignment + .get(q[D]) + .forEach(function (ne) { + _.idToNodeMap.get(ne).displacementY = oe + }) + : (this.idToNodeMap.get(q[D]).displacementY = oe) + } + } + } + }), + (I.prototype.calculateNodesToApplyGravitationTo = function () { + var _ = [], + N, + M = this.graphManager.getGraphs(), + O = M.length, + D + for (D = 0; D < O; D++) + (N = M[D]), + N.updateConnected(), + N.isConnected || (_ = _.concat(N.getNodes())) + return _ + }), + (I.prototype.createBendpoints = function () { + var _ = [] + _ = _.concat(this.graphManager.getAllEdges()) + var N = new Set(), + M + for (M = 0; M < _.length; M++) { + var O = _[M] + if (!N.has(O)) { + var D = O.getSource(), + B = O.getTarget() + if (D == B) + O.getBendpoints().push(new T()), + O.getBendpoints().push(new T()), + this.createDummyNodesForBendpoints(O), + N.add(O) + else { + var z = [] + if ( + ((z = z.concat(D.getEdgeListToNode(B))), + (z = z.concat(B.getEdgeListToNode(D))), + !N.has(z[0])) + ) { + if (z.length > 1) { + var F + for (F = 0; F < z.length; F++) { + var G = z[F] + G.getBendpoints().push(new T()), + this.createDummyNodesForBendpoints(G) + } + } + z.forEach(function (q) { + N.add(q) + }) + } + } + } + if (N.size == _.length) break + } + }), + (I.prototype.positionNodesRadially = function (_) { + for ( + var N = new w(0, 0), + M = Math.ceil(Math.sqrt(_.length)), + O = 0, + D = 0, + B = 0, + z = new T(0, 0), + F = 0; + F < _.length; + F++ + ) { + F % M == 0 && + ((B = 0), + (D = O), + F != 0 && (D += m.DEFAULT_COMPONENT_SEPERATION), + (O = 0)) + var G = _[F], + q = S.findCenterOfTree(G) + ;(N.x = B), + (N.y = D), + (z = I.radialLayout(G, q, N)), + z.y > O && (O = Math.floor(z.y)), + (B = Math.floor(z.x + m.DEFAULT_COMPONENT_SEPERATION)) + } + this.transform( + new T(b.WORLD_CENTER_X - z.x / 2, b.WORLD_CENTER_Y - z.y / 2), + ) + }), + (I.radialLayout = function (_, N, M) { + var O = Math.max(this.maxDiagonalInTree(_), m.DEFAULT_RADIAL_SEPARATION) + I.branchRadialLayout(N, null, 0, 359, 0, O) + var D = A.calculateBounds(_), + B = new R() + B.setDeviceOrgX(D.getMinX()), + B.setDeviceOrgY(D.getMinY()), + B.setWorldOrgX(M.x), + B.setWorldOrgY(M.y) + for (var z = 0; z < _.length; z++) { + var F = _[z] + F.transform(B) + } + var G = new T(D.getMaxX(), D.getMaxY()) + return B.inverseTransformPoint(G) + }), + (I.branchRadialLayout = function (_, N, M, O, D, B) { + var z = (O - M + 1) / 2 + z < 0 && (z += 180) + var F = (z + M) % 360, + G = (F * L.TWO_PI) / 360, + q = D * Math.cos(G), + Y = D * Math.sin(G) + _.setCenter(q, Y) + var ee = [] + ee = ee.concat(_.getEdges()) + var Q = ee.length + N != null && Q-- + for ( + var oe = 0, pe = ee.length, j, H = _.getEdgesBetween(N); + H.length > 1; + + ) { + var X = H[0] + H.splice(0, 1) + var W = ee.indexOf(X) + W >= 0 && ee.splice(W, 1), pe--, Q-- + } + N != null ? (j = (ee.indexOf(H[0]) + 1) % pe) : (j = 0) + for (var K = Math.abs(O - M) / Q, ne = j; oe != Q; ne = ++ne % pe) { + var Z = ee[ne].getOtherEnd(_) + if (Z != N) { + var be = (M + oe * K) % 360, + ce = (be + K) % 360 + I.branchRadialLayout(Z, _, be, ce, D + B, B), oe++ + } + } + }), + (I.maxDiagonalInTree = function (_) { + for (var N = k.MIN_VALUE, M = 0; M < _.length; M++) { + var O = _[M], + D = O.getDiagonal() + D > N && (N = D) + } + return N + }), + (I.prototype.calcRepulsionRange = function () { + return 2 * (this.level + 1) * this.idealEdgeLength + }), + (I.prototype.groupZeroDegreeMembers = function () { + var _ = this, + N = {} + ;(this.memberGroups = {}), (this.idToDummyNode = {}) + for ( + var M = [], O = this.graphManager.getAllNodes(), D = 0; + D < O.length; + D++ + ) { + var B = O[D], + z = B.getParent() + this.getNodeDegreeWithChildren(B) === 0 && + (z.id == null || !this.getToBeTiled(z)) && + M.push(B) + } + for (var D = 0; D < M.length; D++) { + var B = M[D], + F = B.getParent().id + typeof N[F] > "u" && (N[F] = []), (N[F] = N[F].concat(B)) + } + Object.keys(N).forEach(function (G) { + if (N[G].length > 1) { + var q = "DummyCompound_" + G + _.memberGroups[q] = N[G] + var Y = N[G][0].getParent(), + ee = new p(_.graphManager) + ;(ee.id = q), + (ee.paddingLeft = Y.paddingLeft || 0), + (ee.paddingRight = Y.paddingRight || 0), + (ee.paddingBottom = Y.paddingBottom || 0), + (ee.paddingTop = Y.paddingTop || 0), + (_.idToDummyNode[q] = ee) + var Q = _.getGraphManager().add(_.newGraph(), ee), + oe = Y.getChild() + oe.add(ee) + for (var pe = 0; pe < N[G].length; pe++) { + var j = N[G][pe] + oe.remove(j), Q.add(j) + } + } + }) + }), + (I.prototype.clearCompounds = function () { + var _ = {}, + N = {} + this.performDFSOnCompounds() + for (var M = 0; M < this.compoundOrder.length; M++) + (N[this.compoundOrder[M].id] = this.compoundOrder[M]), + (_[this.compoundOrder[M].id] = [].concat( + this.compoundOrder[M].getChild().getNodes(), + )), + this.graphManager.remove(this.compoundOrder[M].getChild()), + (this.compoundOrder[M].child = null) + this.graphManager.resetAllNodes(), this.tileCompoundMembers(_, N) + }), + (I.prototype.clearZeroDegreeMembers = function () { + var _ = this, + N = (this.tiledZeroDegreePack = []) + Object.keys(this.memberGroups).forEach(function (M) { + var O = _.idToDummyNode[M] + if ( + ((N[M] = _.tileNodes( + _.memberGroups[M], + O.paddingLeft + O.paddingRight, + )), + (O.rect.width = N[M].width), + (O.rect.height = N[M].height), + O.setCenter(N[M].centerX, N[M].centerY), + (O.labelMarginLeft = 0), + (O.labelMarginTop = 0), + m.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var D = O.rect.width, + B = O.rect.height + O.labelWidth && + (O.labelPosHorizontal == "left" + ? ((O.rect.x -= O.labelWidth), + O.setWidth(D + O.labelWidth), + (O.labelMarginLeft = O.labelWidth)) + : O.labelPosHorizontal == "center" && O.labelWidth > D + ? ((O.rect.x -= (O.labelWidth - D) / 2), + O.setWidth(O.labelWidth), + (O.labelMarginLeft = (O.labelWidth - D) / 2)) + : O.labelPosHorizontal == "right" && + O.setWidth(D + O.labelWidth)), + O.labelHeight && + (O.labelPosVertical == "top" + ? ((O.rect.y -= O.labelHeight), + O.setHeight(B + O.labelHeight), + (O.labelMarginTop = O.labelHeight)) + : O.labelPosVertical == "center" && O.labelHeight > B + ? ((O.rect.y -= (O.labelHeight - B) / 2), + O.setHeight(O.labelHeight), + (O.labelMarginTop = (O.labelHeight - B) / 2)) + : O.labelPosVertical == "bottom" && + O.setHeight(B + O.labelHeight)) + } + }) + }), + (I.prototype.repopulateCompounds = function () { + for (var _ = this.compoundOrder.length - 1; _ >= 0; _--) { + var N = this.compoundOrder[_], + M = N.id, + O = N.paddingLeft, + D = N.paddingTop, + B = N.labelMarginLeft, + z = N.labelMarginTop + this.adjustLocations( + this.tiledMemberPack[M], + N.rect.x, + N.rect.y, + O, + D, + B, + z, + ) + } + }), + (I.prototype.repopulateZeroDegreeMembers = function () { + var _ = this, + N = this.tiledZeroDegreePack + Object.keys(N).forEach(function (M) { + var O = _.idToDummyNode[M], + D = O.paddingLeft, + B = O.paddingTop, + z = O.labelMarginLeft, + F = O.labelMarginTop + _.adjustLocations(N[M], O.rect.x, O.rect.y, D, B, z, F) + }) + }), + (I.prototype.getToBeTiled = function (_) { + var N = _.id + if (this.toBeTiled[N] != null) return this.toBeTiled[N] + var M = _.getChild() + if (M == null) return (this.toBeTiled[N] = !1), !1 + for (var O = M.getNodes(), D = 0; D < O.length; D++) { + var B = O[D] + if (this.getNodeDegree(B) > 0) return (this.toBeTiled[N] = !1), !1 + if (B.getChild() == null) { + this.toBeTiled[B.id] = !1 + continue + } + if (!this.getToBeTiled(B)) return (this.toBeTiled[N] = !1), !1 + } + return (this.toBeTiled[N] = !0), !0 + }), + (I.prototype.getNodeDegree = function (_) { + _.id + for (var N = _.getEdges(), M = 0, O = 0; O < N.length; O++) { + var D = N[O] + D.getSource().id !== D.getTarget().id && (M = M + 1) + } + return M + }), + (I.prototype.getNodeDegreeWithChildren = function (_) { + var N = this.getNodeDegree(_) + if (_.getChild() == null) return N + for (var M = _.getChild().getNodes(), O = 0; O < M.length; O++) { + var D = M[O] + N += this.getNodeDegreeWithChildren(D) + } + return N + }), + (I.prototype.performDFSOnCompounds = function () { + ;(this.compoundOrder = []), + this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()) + }), + (I.prototype.fillCompexOrderByDFS = function (_) { + for (var N = 0; N < _.length; N++) { + var M = _[N] + M.getChild() != null && + this.fillCompexOrderByDFS(M.getChild().getNodes()), + this.getToBeTiled(M) && this.compoundOrder.push(M) + } + }), + (I.prototype.adjustLocations = function (_, N, M, O, D, B, z) { + ;(N += O + B), (M += D + z) + for (var F = N, G = 0; G < _.rows.length; G++) { + var q = _.rows[G] + N = F + for (var Y = 0, ee = 0; ee < q.length; ee++) { + var Q = q[ee] + ;(Q.rect.x = N), + (Q.rect.y = M), + (N += Q.rect.width + _.horizontalPadding), + Q.rect.height > Y && (Y = Q.rect.height) + } + M += Y + _.verticalPadding + } + }), + (I.prototype.tileCompoundMembers = function (_, N) { + var M = this + ;(this.tiledMemberPack = []), + Object.keys(_).forEach(function (O) { + var D = N[O] + if ( + ((M.tiledMemberPack[O] = M.tileNodes( + _[O], + D.paddingLeft + D.paddingRight, + )), + (D.rect.width = M.tiledMemberPack[O].width), + (D.rect.height = M.tiledMemberPack[O].height), + D.setCenter( + M.tiledMemberPack[O].centerX, + M.tiledMemberPack[O].centerY, + ), + (D.labelMarginLeft = 0), + (D.labelMarginTop = 0), + m.NODE_DIMENSIONS_INCLUDE_LABELS) + ) { + var B = D.rect.width, + z = D.rect.height + D.labelWidth && + (D.labelPosHorizontal == "left" + ? ((D.rect.x -= D.labelWidth), + D.setWidth(B + D.labelWidth), + (D.labelMarginLeft = D.labelWidth)) + : D.labelPosHorizontal == "center" && D.labelWidth > B + ? ((D.rect.x -= (D.labelWidth - B) / 2), + D.setWidth(D.labelWidth), + (D.labelMarginLeft = (D.labelWidth - B) / 2)) + : D.labelPosHorizontal == "right" && + D.setWidth(B + D.labelWidth)), + D.labelHeight && + (D.labelPosVertical == "top" + ? ((D.rect.y -= D.labelHeight), + D.setHeight(z + D.labelHeight), + (D.labelMarginTop = D.labelHeight)) + : D.labelPosVertical == "center" && + D.labelHeight > z + ? ((D.rect.y -= (D.labelHeight - z) / 2), + D.setHeight(D.labelHeight), + (D.labelMarginTop = + (D.labelHeight - z) / 2)) + : D.labelPosVertical == "bottom" && + D.setHeight(z + D.labelHeight)) + } + }) + }), + (I.prototype.tileNodes = function (_, N) { + var M = this.tileNodesByFavoringDim(_, N, !0), + O = this.tileNodesByFavoringDim(_, N, !1), + D = this.getOrgRatio(M), + B = this.getOrgRatio(O), + z + return B < D ? (z = O) : (z = M), z + }), + (I.prototype.getOrgRatio = function (_) { + var N = _.width, + M = _.height, + O = N / M + return O < 1 && (O = 1 / O), O + }), + (I.prototype.calcIdealRowWidth = function (_, N) { + var M = m.TILING_PADDING_VERTICAL, + O = m.TILING_PADDING_HORIZONTAL, + D = _.length, + B = 0, + z = 0, + F = 0 + _.forEach(function (pe) { + ;(B += pe.getWidth()), + (z += pe.getHeight()), + pe.getWidth() > F && (F = pe.getWidth()) + }) + var G = B / D, + q = z / D, + Y = Math.pow(M - O, 2) + 4 * (G + O) * (q + M) * D, + ee = (O - M + Math.sqrt(Y)) / (2 * (G + O)), + Q + N ? ((Q = Math.ceil(ee)), Q == ee && Q++) : (Q = Math.floor(ee)) + var oe = Q * (G + O) - O + return F > oe && (oe = F), (oe += O * 2), oe + }), + (I.prototype.tileNodesByFavoringDim = function (_, N, M) { + var O = m.TILING_PADDING_VERTICAL, + D = m.TILING_PADDING_HORIZONTAL, + B = m.TILING_COMPARE_BY, + z = { + rows: [], + rowWidth: [], + rowHeight: [], + width: 0, + height: N, + verticalPadding: O, + horizontalPadding: D, + centerX: 0, + centerY: 0, + } + B && (z.idealRowWidth = this.calcIdealRowWidth(_, M)) + var F = function (j) { + return j.rect.width * j.rect.height + }, + G = function (j, H) { + return F(H) - F(j) + } + _.sort(function (pe, j) { + var H = G + return z.idealRowWidth ? ((H = B), H(pe.id, j.id)) : H(pe, j) + }) + for (var q = 0, Y = 0, ee = 0; ee < _.length; ee++) { + var Q = _[ee] + ;(q += Q.getCenterX()), (Y += Q.getCenterY()) + } + ;(z.centerX = q / _.length), (z.centerY = Y / _.length) + for (var ee = 0; ee < _.length; ee++) { + var Q = _[ee] + if (z.rows.length == 0) this.insertNodeToRow(z, Q, 0, N) + else if (this.canAddHorizontal(z, Q.rect.width, Q.rect.height)) { + var oe = z.rows.length - 1 + z.idealRowWidth || (oe = this.getShortestRowIndex(z)), + this.insertNodeToRow(z, Q, oe, N) + } else this.insertNodeToRow(z, Q, z.rows.length, N) + this.shiftToLastRow(z) + } + return z + }), + (I.prototype.insertNodeToRow = function (_, N, M, O) { + var D = O + if (M == _.rows.length) { + var B = [] + _.rows.push(B), _.rowWidth.push(D), _.rowHeight.push(0) + } + var z = _.rowWidth[M] + N.rect.width + _.rows[M].length > 0 && (z += _.horizontalPadding), + (_.rowWidth[M] = z), + _.width < z && (_.width = z) + var F = N.rect.height + M > 0 && (F += _.verticalPadding) + var G = 0 + F > _.rowHeight[M] && + ((G = _.rowHeight[M]), (_.rowHeight[M] = F), (G = _.rowHeight[M] - G)), + (_.height += G), + _.rows[M].push(N) + }), + (I.prototype.getShortestRowIndex = function (_) { + for (var N = -1, M = Number.MAX_VALUE, O = 0; O < _.rows.length; O++) + _.rowWidth[O] < M && ((N = O), (M = _.rowWidth[O])) + return N + }), + (I.prototype.getLongestRowIndex = function (_) { + for (var N = -1, M = Number.MIN_VALUE, O = 0; O < _.rows.length; O++) + _.rowWidth[O] > M && ((N = O), (M = _.rowWidth[O])) + return N + }), + (I.prototype.canAddHorizontal = function (_, N, M) { + if (_.idealRowWidth) { + var O = _.rows.length - 1, + D = _.rowWidth[O] + return D + N + _.horizontalPadding <= _.idealRowWidth + } + var B = this.getShortestRowIndex(_) + if (B < 0) return !0 + var z = _.rowWidth[B] + if (z + _.horizontalPadding + N <= _.width) return !0 + var F = 0 + _.rowHeight[B] < M && B > 0 && (F = M + _.verticalPadding - _.rowHeight[B]) + var G + _.width - z >= N + _.horizontalPadding + ? (G = (_.height + F) / (z + N + _.horizontalPadding)) + : (G = (_.height + F) / _.width), + (F = M + _.verticalPadding) + var q + return ( + _.width < N ? (q = (_.height + F) / N) : (q = (_.height + F) / _.width), + q < 1 && (q = 1 / q), + G < 1 && (G = 1 / G), + G < q + ) + }), + (I.prototype.shiftToLastRow = function (_) { + var N = this.getLongestRowIndex(_), + M = _.rowWidth.length - 1, + O = _.rows[N], + D = O[O.length - 1], + B = D.width + _.horizontalPadding + if (_.width - _.rowWidth[M] > B && N != M) { + O.splice(-1, 1), + _.rows[M].push(D), + (_.rowWidth[N] = _.rowWidth[N] - B), + (_.rowWidth[M] = _.rowWidth[M] + B), + (_.width = _.rowWidth[instance.getLongestRowIndex(_)]) + for (var z = Number.MIN_VALUE, F = 0; F < O.length; F++) + O[F].height > z && (z = O[F].height) + N > 0 && (z += _.verticalPadding) + var G = _.rowHeight[N] + _.rowHeight[M] + ;(_.rowHeight[N] = z), + _.rowHeight[M] < D.height + _.verticalPadding && + (_.rowHeight[M] = D.height + _.verticalPadding) + var q = _.rowHeight[N] + _.rowHeight[M] + ;(_.height += q - G), this.shiftToLastRow(_) + } + }), + (I.prototype.tilingPreLayout = function () { + m.TILE && + (this.groupZeroDegreeMembers(), + this.clearCompounds(), + this.clearZeroDegreeMembers()) + }), + (I.prototype.tilingPostLayout = function () { + m.TILE && (this.repopulateZeroDegreeMembers(), this.repopulateCompounds()) + }), + (I.prototype.reduceTrees = function () { + for (var _ = [], N = !0, M; N; ) { + var O = this.graphManager.getAllNodes(), + D = [] + N = !1 + for (var B = 0; B < O.length; B++) + if ( + ((M = O[B]), + M.getEdges().length == 1 && + !M.getEdges()[0].isInterGraph && + M.getChild() == null) + ) { + if (m.PURE_INCREMENTAL) { + var z = M.getEdges()[0].getOtherEnd(M), + F = new E( + M.getCenterX() - z.getCenterX(), + M.getCenterY() - z.getCenterY(), + ) + D.push([M, M.getEdges()[0], M.getOwner(), F]) + } else D.push([M, M.getEdges()[0], M.getOwner()]) + N = !0 + } + if (N == !0) { + for (var G = [], q = 0; q < D.length; q++) + D[q][0].getEdges().length == 1 && + (G.push(D[q]), D[q][0].getOwner().remove(D[q][0])) + _.push(G), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges() + } + } + this.prunedNodesAll = _ + }), + (I.prototype.growTree = function (_) { + for (var N = _.length, M = _[N - 1], O, D = 0; D < M.length; D++) + (O = M[D]), + this.findPlaceforPrunedNode(O), + O[2].add(O[0]), + O[2].add(O[1], O[1].source, O[1].target) + _.splice(_.length - 1, 1), + this.graphManager.resetAllNodes(), + this.graphManager.resetAllEdges() + }), + (I.prototype.findPlaceforPrunedNode = function (_) { + var N, + M, + O = _[0] + if ( + (O == _[1].source ? (M = _[1].target) : (M = _[1].source), + m.PURE_INCREMENTAL) + ) + O.setCenter( + M.getCenterX() + _[3].getWidth(), + M.getCenterY() + _[3].getHeight(), + ) + else { + var D = M.startX, + B = M.finishX, + z = M.startY, + F = M.finishY, + G = 0, + q = 0, + Y = 0, + ee = 0, + Q = [G, Y, q, ee] + if (z > 0) + for (var oe = D; oe <= B; oe++) + Q[0] += + this.grid[oe][z - 1].length + this.grid[oe][z].length - 1 + if (B < this.grid.length - 1) + for (var oe = z; oe <= F; oe++) + Q[1] += + this.grid[B + 1][oe].length + this.grid[B][oe].length - 1 + if (F < this.grid[0].length - 1) + for (var oe = D; oe <= B; oe++) + Q[2] += + this.grid[oe][F + 1].length + this.grid[oe][F].length - 1 + if (D > 0) + for (var oe = z; oe <= F; oe++) + Q[3] += + this.grid[D - 1][oe].length + this.grid[D][oe].length - 1 + for (var pe = k.MAX_VALUE, j, H, X = 0; X < Q.length; X++) + Q[X] < pe ? ((pe = Q[X]), (j = 1), (H = X)) : Q[X] == pe && j++ + if (j == 3 && pe == 0) + Q[0] == 0 && Q[1] == 0 && Q[2] == 0 + ? (N = 1) + : Q[0] == 0 && Q[1] == 0 && Q[3] == 0 + ? (N = 0) + : Q[0] == 0 && Q[2] == 0 && Q[3] == 0 + ? (N = 3) + : Q[1] == 0 && Q[2] == 0 && Q[3] == 0 && (N = 2) + else if (j == 2 && pe == 0) { + var W = Math.floor(Math.random() * 2) + Q[0] == 0 && Q[1] == 0 + ? W == 0 + ? (N = 0) + : (N = 1) + : Q[0] == 0 && Q[2] == 0 + ? W == 0 + ? (N = 0) + : (N = 2) + : Q[0] == 0 && Q[3] == 0 + ? W == 0 + ? (N = 0) + : (N = 3) + : Q[1] == 0 && Q[2] == 0 + ? W == 0 + ? (N = 1) + : (N = 2) + : Q[1] == 0 && Q[3] == 0 + ? W == 0 + ? (N = 1) + : (N = 3) + : W == 0 + ? (N = 2) + : (N = 3) + } else if (j == 4 && pe == 0) { + var W = Math.floor(Math.random() * 4) + N = W + } else N = H + N == 0 + ? O.setCenter( + M.getCenterX(), + M.getCenterY() - + M.getHeight() / 2 - + y.DEFAULT_EDGE_LENGTH - + O.getHeight() / 2, + ) + : N == 1 + ? O.setCenter( + M.getCenterX() + + M.getWidth() / 2 + + y.DEFAULT_EDGE_LENGTH + + O.getWidth() / 2, + M.getCenterY(), + ) + : N == 2 + ? O.setCenter( + M.getCenterX(), + M.getCenterY() + + M.getHeight() / 2 + + y.DEFAULT_EDGE_LENGTH + + O.getHeight() / 2, + ) + : O.setCenter( + M.getCenterX() - + M.getWidth() / 2 - + y.DEFAULT_EDGE_LENGTH - + O.getWidth() / 2, + M.getCenterY(), + ) + } + }), + (o.exports = I) + }, + 991: (o, l, u) => { + var h = u(551).FDLayoutNode, + d = u(551).IMath + function f(g, m, v, y) { + h.call(this, g, m, v, y) + } + f.prototype = Object.create(h.prototype) + for (var p in h) f[p] = h[p] + ;(f.prototype.calculateDisplacement = function () { + var g = this.graphManager.getLayout() + this.getChild() != null && this.fixedNodeWeight + ? ((this.displacementX += + (g.coolingFactor * + (this.springForceX + + this.repulsionForceX + + this.gravitationForceX)) / + this.fixedNodeWeight), + (this.displacementY += + (g.coolingFactor * + (this.springForceY + + this.repulsionForceY + + this.gravitationForceY)) / + this.fixedNodeWeight)) + : ((this.displacementX += + (g.coolingFactor * + (this.springForceX + + this.repulsionForceX + + this.gravitationForceX)) / + this.noOfChildren), + (this.displacementY += + (g.coolingFactor * + (this.springForceY + + this.repulsionForceY + + this.gravitationForceY)) / + this.noOfChildren)), + Math.abs(this.displacementX) > g.coolingFactor * g.maxNodeDisplacement && + (this.displacementX = + g.coolingFactor * + g.maxNodeDisplacement * + d.sign(this.displacementX)), + Math.abs(this.displacementY) > g.coolingFactor * g.maxNodeDisplacement && + (this.displacementY = + g.coolingFactor * + g.maxNodeDisplacement * + d.sign(this.displacementY)), + this.child && + this.child.getNodes().length > 0 && + this.propogateDisplacementToChildren( + this.displacementX, + this.displacementY, + ) + }), + (f.prototype.propogateDisplacementToChildren = function (g, m) { + for (var v = this.getChild().getNodes(), y, b = 0; b < v.length; b++) + (y = v[b]), + y.getChild() == null + ? ((y.displacementX += g), (y.displacementY += m)) + : y.propogateDisplacementToChildren(g, m) + }), + (f.prototype.move = function () { + var g = this.graphManager.getLayout() + ;(this.child == null || this.child.getNodes().length == 0) && + (this.moveBy(this.displacementX, this.displacementY), + (g.totalDisplacement += + Math.abs(this.displacementX) + Math.abs(this.displacementY))), + (this.springForceX = 0), + (this.springForceY = 0), + (this.repulsionForceX = 0), + (this.repulsionForceY = 0), + (this.gravitationForceX = 0), + (this.gravitationForceY = 0), + (this.displacementX = 0), + (this.displacementY = 0) + }), + (f.prototype.setPred1 = function (g) { + this.pred1 = g + }), + (f.prototype.getPred1 = function () { + return pred1 + }), + (f.prototype.getPred2 = function () { + return pred2 + }), + (f.prototype.setNext = function (g) { + this.next = g + }), + (f.prototype.getNext = function () { + return next + }), + (f.prototype.setProcessed = function (g) { + this.processed = g + }), + (f.prototype.isProcessed = function () { + return processed + }), + (o.exports = f) + }, + 902: (o, l, u) => { + function h(v) { + if (Array.isArray(v)) { + for (var y = 0, b = Array(v.length); y < v.length; y++) b[y] = v[y] + return b + } else return Array.from(v) + } + var d = u(806), + f = u(551).LinkedList, + p = u(551).Matrix, + g = u(551).SVD + function m() {} + ;(m.handleConstraints = function (v) { + var y = {} + ;(y.fixedNodeConstraint = v.constraints.fixedNodeConstraint), + (y.alignmentConstraint = v.constraints.alignmentConstraint), + (y.relativePlacementConstraint = v.constraints.relativePlacementConstraint) + for ( + var b = new Map(), + w = new Map(), + T = [], + E = [], + S = v.getAllNodes(), + k = 0, + L = 0; + L < S.length; + L++ + ) { + var A = S[L] + A.getChild() == null && + (w.set(A.id, k++), + T.push(A.getCenterX()), + E.push(A.getCenterY()), + b.set(A.id, A)) + } + y.relativePlacementConstraint && + y.relativePlacementConstraint.forEach(function (ue) { + !ue.gap && + ue.gap != 0 && + (ue.left + ? (ue.gap = + d.DEFAULT_EDGE_LENGTH + + b.get(ue.left).getWidth() / 2 + + b.get(ue.right).getWidth() / 2) + : (ue.gap = + d.DEFAULT_EDGE_LENGTH + + b.get(ue.top).getHeight() / 2 + + b.get(ue.bottom).getHeight() / 2)) + }) + var R = function ($, se) { + return { x: $.x - se.x, y: $.y - se.y } + }, + C = function ($) { + var se = 0, + ae = 0 + return ( + $.forEach(function (fe) { + ;(se += T[w.get(fe)]), (ae += E[w.get(fe)]) + }), + { x: se / $.size, y: ae / $.size } + ) + }, + I = function ($, se, ae, fe, he) { + function Te($e, je) { + var lt = new Set($e), + st = !0, + qe = !1, + wt = void 0 + try { + for ( + var Ye = je[Symbol.iterator](), Ze; + !(st = (Ze = Ye.next()).done); + st = !0 + ) { + var dt = Ze.value + lt.add(dt) + } + } catch (ct) { + ;(qe = !0), (wt = ct) + } finally { + try { + !st && Ye.return && Ye.return() + } finally { + if (qe) throw wt + } + } + return lt + } + var ke = new Map() + $.forEach(function ($e, je) { + ke.set(je, 0) + }), + $.forEach(function ($e, je) { + $e.forEach(function (lt) { + ke.set(lt.id, ke.get(lt.id) + 1) + }) + }) + var Ee = new Map(), + Ge = new Map(), + Je = new f() + ke.forEach(function ($e, je) { + $e == 0 + ? (Je.push(je), + ae || + (se == "horizontal" + ? Ee.set(je, w.has(je) ? T[w.get(je)] : fe.get(je)) + : Ee.set( + je, + w.has(je) ? E[w.get(je)] : fe.get(je), + ))) + : Ee.set(je, Number.NEGATIVE_INFINITY), + ae && Ge.set(je, new Set([je])) + }), + ae && + he.forEach(function ($e) { + var je = [] + if ( + ($e.forEach(function (qe) { + ae.has(qe) && je.push(qe) + }), + je.length > 0) + ) { + var lt = 0 + je.forEach(function (qe) { + se == "horizontal" + ? (Ee.set( + qe, + w.has(qe) ? T[w.get(qe)] : fe.get(qe), + ), + (lt += Ee.get(qe))) + : (Ee.set( + qe, + w.has(qe) ? E[w.get(qe)] : fe.get(qe), + ), + (lt += Ee.get(qe))) + }), + (lt = lt / je.length), + $e.forEach(function (qe) { + ae.has(qe) || Ee.set(qe, lt) + }) + } else { + var st = 0 + $e.forEach(function (qe) { + se == "horizontal" + ? (st += w.has(qe) ? T[w.get(qe)] : fe.get(qe)) + : (st += w.has(qe) ? E[w.get(qe)] : fe.get(qe)) + }), + (st = st / $e.length), + $e.forEach(function (qe) { + Ee.set(qe, st) + }) + } + }) + for ( + var We = function () { + var je = Je.shift(), + lt = $.get(je) + lt.forEach(function (st) { + if (Ee.get(st.id) < Ee.get(je) + st.gap) + if (ae && ae.has(st.id)) { + var qe = void 0 + if ( + (se == "horizontal" + ? (qe = w.has(st.id) + ? T[w.get(st.id)] + : fe.get(st.id)) + : (qe = w.has(st.id) + ? E[w.get(st.id)] + : fe.get(st.id)), + Ee.set(st.id, qe), + qe < Ee.get(je) + st.gap) + ) { + var wt = Ee.get(je) + st.gap - qe + Ge.get(je).forEach(function (Ye) { + Ee.set(Ye, Ee.get(Ye) - wt) + }) + } + } else Ee.set(st.id, Ee.get(je) + st.gap) + ke.set(st.id, ke.get(st.id) - 1), + ke.get(st.id) == 0 && Je.push(st.id), + ae && Ge.set(st.id, Te(Ge.get(je), Ge.get(st.id))) + }) + }; + Je.length != 0; + + ) + We() + if (ae) { + var Xe = new Set() + $.forEach(function ($e, je) { + $e.length == 0 && Xe.add(je) + }) + var Ke = [] + Ge.forEach(function ($e, je) { + if (Xe.has(je)) { + var lt = !1, + st = !0, + qe = !1, + wt = void 0 + try { + for ( + var Ye = $e[Symbol.iterator](), Ze; + !(st = (Ze = Ye.next()).done); + st = !0 + ) { + var dt = Ze.value + ae.has(dt) && (lt = !0) + } + } catch (mt) { + ;(qe = !0), (wt = mt) + } finally { + try { + !st && Ye.return && Ye.return() + } finally { + if (qe) throw wt + } + } + if (!lt) { + var ct = !1, + ut = void 0 + Ke.forEach(function (mt, sr) { + mt.has([].concat(h($e))[0]) && + ((ct = !0), (ut = sr)) + }), + ct + ? $e.forEach(function (mt) { + Ke[ut].add(mt) + }) + : Ke.push(new Set($e)) + } + } + }), + Ke.forEach(function ($e, je) { + var lt = Number.POSITIVE_INFINITY, + st = Number.POSITIVE_INFINITY, + qe = Number.NEGATIVE_INFINITY, + wt = Number.NEGATIVE_INFINITY, + Ye = !0, + Ze = !1, + dt = void 0 + try { + for ( + var ct = $e[Symbol.iterator](), ut; + !(Ye = (ut = ct.next()).done); + Ye = !0 + ) { + var mt = ut.value, + sr = void 0 + se == "horizontal" + ? (sr = w.has(mt) ? T[w.get(mt)] : fe.get(mt)) + : (sr = w.has(mt) ? E[w.get(mt)] : fe.get(mt)) + var Lt = Ee.get(mt) + sr < lt && (lt = sr), + sr > qe && (qe = sr), + Lt < st && (st = Lt), + Lt > wt && (wt = Lt) + } + } catch (Qe) { + ;(Ze = !0), (dt = Qe) + } finally { + try { + !Ye && ct.return && ct.return() + } finally { + if (Ze) throw dt + } + } + var ur = (lt + qe) / 2 - (st + wt) / 2, + rr = !0, + er = !1, + Ht = void 0 + try { + for ( + var Xr = $e[Symbol.iterator](), pt; + !(rr = (pt = Xr.next()).done); + rr = !0 + ) { + var Se = pt.value + Ee.set(Se, Ee.get(Se) + ur) + } + } catch (Qe) { + ;(er = !0), (Ht = Qe) + } finally { + try { + !rr && Xr.return && Xr.return() + } finally { + if (er) throw Ht + } + } + }) + } + return Ee + }, + P = function ($) { + var se = 0, + ae = 0, + fe = 0, + he = 0 + if ( + ($.forEach(function (Ge) { + Ge.left + ? T[w.get(Ge.left)] - T[w.get(Ge.right)] >= 0 + ? se++ + : ae++ + : E[w.get(Ge.top)] - E[w.get(Ge.bottom)] >= 0 + ? fe++ + : he++ + }), + se > ae && fe > he) + ) + for (var Te = 0; Te < w.size; Te++) + (T[Te] = -1 * T[Te]), (E[Te] = -1 * E[Te]) + else if (se > ae) for (var ke = 0; ke < w.size; ke++) T[ke] = -1 * T[ke] + else if (fe > he) for (var Ee = 0; Ee < w.size; Ee++) E[Ee] = -1 * E[Ee] + }, + _ = function ($) { + var se = [], + ae = new f(), + fe = new Set(), + he = 0 + return ( + $.forEach(function (Te, ke) { + if (!fe.has(ke)) { + se[he] = [] + var Ee = ke + for ( + ae.push(Ee), fe.add(Ee), se[he].push(Ee); + ae.length != 0; + + ) { + Ee = ae.shift() + var Ge = $.get(Ee) + Ge.forEach(function (Je) { + fe.has(Je.id) || + (ae.push(Je.id), + fe.add(Je.id), + se[he].push(Je.id)) + }) + } + he++ + } + }), + se + ) + }, + N = function ($) { + var se = new Map() + return ( + $.forEach(function (ae, fe) { + se.set(fe, []) + }), + $.forEach(function (ae, fe) { + ae.forEach(function (he) { + se.get(fe).push(he), + se + .get(he.id) + .push({ + id: fe, + gap: he.gap, + direction: he.direction, + }) + }) + }), + se + ) + }, + M = function ($) { + var se = new Map() + return ( + $.forEach(function (ae, fe) { + se.set(fe, []) + }), + $.forEach(function (ae, fe) { + ae.forEach(function (he) { + se.get(he.id).push({ + id: fe, + gap: he.gap, + direction: he.direction, + }) + }) + }), + se + ) + }, + O = [], + D = [], + B = !1, + z = !1, + F = new Set(), + G = new Map(), + q = new Map(), + Y = [] + if ( + (y.fixedNodeConstraint && + y.fixedNodeConstraint.forEach(function (ue) { + F.add(ue.nodeId) + }), + y.relativePlacementConstraint && + (y.relativePlacementConstraint.forEach(function (ue) { + ue.left + ? (G.has(ue.left) + ? G.get(ue.left).push({ + id: ue.right, + gap: ue.gap, + direction: "horizontal", + }) + : G.set(ue.left, [ + { + id: ue.right, + gap: ue.gap, + direction: "horizontal", + }, + ]), + G.has(ue.right) || G.set(ue.right, [])) + : (G.has(ue.top) + ? G.get(ue.top).push({ + id: ue.bottom, + gap: ue.gap, + direction: "vertical", + }) + : G.set(ue.top, [ + { + id: ue.bottom, + gap: ue.gap, + direction: "vertical", + }, + ]), + G.has(ue.bottom) || G.set(ue.bottom, [])) + }), + (q = N(G)), + (Y = _(q))), + d.TRANSFORM_ON_CONSTRAINT_HANDLING) + ) { + if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 1) + y.fixedNodeConstraint.forEach(function (ue, $) { + ;(O[$] = [ue.position.x, ue.position.y]), + (D[$] = [T[w.get(ue.nodeId)], E[w.get(ue.nodeId)]]) + }), + (B = !0) + else if (y.alignmentConstraint) + (function () { + var ue = 0 + if (y.alignmentConstraint.vertical) { + for ( + var $ = y.alignmentConstraint.vertical, + se = function (Ee) { + var Ge = new Set() + $[Ee].forEach(function (Xe) { + Ge.add(Xe) + }) + var Je = new Set( + [].concat(h(Ge)).filter(function (Xe) { + return F.has(Xe) + }), + ), + We = void 0 + Je.size > 0 + ? (We = T[w.get(Je.values().next().value)]) + : (We = C(Ge).x), + $[Ee].forEach(function (Xe) { + ;(O[ue] = [We, E[w.get(Xe)]]), + (D[ue] = [T[w.get(Xe)], E[w.get(Xe)]]), + ue++ + }) + }, + ae = 0; + ae < $.length; + ae++ + ) + se(ae) + B = !0 + } + if (y.alignmentConstraint.horizontal) { + for ( + var fe = y.alignmentConstraint.horizontal, + he = function (Ee) { + var Ge = new Set() + fe[Ee].forEach(function (Xe) { + Ge.add(Xe) + }) + var Je = new Set( + [].concat(h(Ge)).filter(function (Xe) { + return F.has(Xe) + }), + ), + We = void 0 + Je.size > 0 + ? (We = T[w.get(Je.values().next().value)]) + : (We = C(Ge).y), + fe[Ee].forEach(function (Xe) { + ;(O[ue] = [T[w.get(Xe)], We]), + (D[ue] = [T[w.get(Xe)], E[w.get(Xe)]]), + ue++ + }) + }, + Te = 0; + Te < fe.length; + Te++ + ) + he(Te) + B = !0 + } + y.relativePlacementConstraint && (z = !0) + })() + else if (y.relativePlacementConstraint) { + for (var ee = 0, Q = 0, oe = 0; oe < Y.length; oe++) + Y[oe].length > ee && ((ee = Y[oe].length), (Q = oe)) + if (ee < q.size / 2) + P(y.relativePlacementConstraint), (B = !1), (z = !1) + else { + var pe = new Map(), + j = new Map(), + H = [] + Y[Q].forEach(function (ue) { + G.get(ue).forEach(function ($) { + $.direction == "horizontal" + ? (pe.has(ue) ? pe.get(ue).push($) : pe.set(ue, [$]), + pe.has($.id) || pe.set($.id, []), + H.push({ left: ue, right: $.id })) + : (j.has(ue) ? j.get(ue).push($) : j.set(ue, [$]), + j.has($.id) || j.set($.id, []), + H.push({ top: ue, bottom: $.id })) + }) + }), + P(H), + (z = !1) + var X = I(pe, "horizontal"), + W = I(j, "vertical") + Y[Q].forEach(function (ue, $) { + ;(D[$] = [T[w.get(ue)], E[w.get(ue)]]), + (O[$] = []), + X.has(ue) + ? (O[$][0] = X.get(ue)) + : (O[$][0] = T[w.get(ue)]), + W.has(ue) ? (O[$][1] = W.get(ue)) : (O[$][1] = E[w.get(ue)]) + }), + (B = !0) + } + } + if (B) { + for ( + var K = void 0, ne = p.transpose(O), Z = p.transpose(D), be = 0; + be < ne.length; + be++ + ) + (ne[be] = p.multGamma(ne[be])), (Z[be] = p.multGamma(Z[be])) + var ce = p.multMat(ne, p.transpose(Z)), + re = g.svd(ce) + K = p.multMat(re.V, p.transpose(re.U)) + for (var Ne = 0; Ne < w.size; Ne++) { + var me = [T[Ne], E[Ne]], + Ve = [K[0][0], K[1][0]], + Ue = [K[0][1], K[1][1]] + ;(T[Ne] = p.dotProduct(me, Ve)), (E[Ne] = p.dotProduct(me, Ue)) + } + z && P(y.relativePlacementConstraint) + } + } + if (d.ENFORCE_CONSTRAINTS) { + if (y.fixedNodeConstraint && y.fixedNodeConstraint.length > 0) { + var Fe = { x: 0, y: 0 } + y.fixedNodeConstraint.forEach(function (ue, $) { + var se = { x: T[w.get(ue.nodeId)], y: E[w.get(ue.nodeId)] }, + ae = ue.position, + fe = R(ae, se) + ;(Fe.x += fe.x), (Fe.y += fe.y) + }), + (Fe.x /= y.fixedNodeConstraint.length), + (Fe.y /= y.fixedNodeConstraint.length), + T.forEach(function (ue, $) { + T[$] += Fe.x + }), + E.forEach(function (ue, $) { + E[$] += Fe.y + }), + y.fixedNodeConstraint.forEach(function (ue) { + ;(T[w.get(ue.nodeId)] = ue.position.x), + (E[w.get(ue.nodeId)] = ue.position.y) + }) + } + if (y.alignmentConstraint) { + if (y.alignmentConstraint.vertical) + for ( + var _e = y.alignmentConstraint.vertical, + Oe = function ($) { + var se = new Set() + _e[$].forEach(function (he) { + se.add(he) + }) + var ae = new Set( + [].concat(h(se)).filter(function (he) { + return F.has(he) + }), + ), + fe = void 0 + ae.size > 0 + ? (fe = T[w.get(ae.values().next().value)]) + : (fe = C(se).x), + se.forEach(function (he) { + F.has(he) || (T[w.get(he)] = fe) + }) + }, + Ce = 0; + Ce < _e.length; + Ce++ + ) + Oe(Ce) + if (y.alignmentConstraint.horizontal) + for ( + var Le = y.alignmentConstraint.horizontal, + ze = function ($) { + var se = new Set() + Le[$].forEach(function (he) { + se.add(he) + }) + var ae = new Set( + [].concat(h(se)).filter(function (he) { + return F.has(he) + }), + ), + fe = void 0 + ae.size > 0 + ? (fe = E[w.get(ae.values().next().value)]) + : (fe = C(se).y), + se.forEach(function (he) { + F.has(he) || (E[w.get(he)] = fe) + }) + }, + ge = 0; + ge < Le.length; + ge++ + ) + ze(ge) + } + y.relativePlacementConstraint && + (function () { + var ue = new Map(), + $ = new Map(), + se = new Map(), + ae = new Map(), + fe = new Map(), + he = new Map(), + Te = new Set(), + ke = new Set() + if ( + (F.forEach(function (Tt) { + Te.add(Tt), ke.add(Tt) + }), + y.alignmentConstraint) + ) { + if (y.alignmentConstraint.vertical) + for ( + var Ee = y.alignmentConstraint.vertical, + Ge = function (ot) { + se.set("dummy" + ot, []), + Ee[ot].forEach(function (He) { + ue.set(He, "dummy" + ot), + se.get("dummy" + ot).push(He), + F.has(He) && Te.add("dummy" + ot) + }), + fe.set("dummy" + ot, T[w.get(Ee[ot][0])]) + }, + Je = 0; + Je < Ee.length; + Je++ + ) + Ge(Je) + if (y.alignmentConstraint.horizontal) + for ( + var We = y.alignmentConstraint.horizontal, + Xe = function (ot) { + ae.set("dummy" + ot, []), + We[ot].forEach(function (He) { + $.set(He, "dummy" + ot), + ae.get("dummy" + ot).push(He), + F.has(He) && ke.add("dummy" + ot) + }), + he.set("dummy" + ot, E[w.get(We[ot][0])]) + }, + Ke = 0; + Ke < We.length; + Ke++ + ) + Xe(Ke) + } + var $e = new Map(), + je = new Map(), + lt = function (ot) { + G.get(ot).forEach(function (He) { + var ar = void 0, + de = void 0 + He.direction == "horizontal" + ? ((ar = ue.get(ot) ? ue.get(ot) : ot), + ue.get(He.id) + ? (de = { + id: ue.get(He.id), + gap: He.gap, + direction: He.direction, + }) + : (de = He), + $e.has(ar) + ? $e.get(ar).push(de) + : $e.set(ar, [de]), + $e.has(de.id) || $e.set(de.id, [])) + : ((ar = $.get(ot) ? $.get(ot) : ot), + $.get(He.id) + ? (de = { + id: $.get(He.id), + gap: He.gap, + direction: He.direction, + }) + : (de = He), + je.has(ar) + ? je.get(ar).push(de) + : je.set(ar, [de]), + je.has(de.id) || je.set(de.id, [])) + }) + }, + st = !0, + qe = !1, + wt = void 0 + try { + for ( + var Ye = G.keys()[Symbol.iterator](), Ze; + !(st = (Ze = Ye.next()).done); + st = !0 + ) { + var dt = Ze.value + lt(dt) + } + } catch (Tt) { + ;(qe = !0), (wt = Tt) + } finally { + try { + !st && Ye.return && Ye.return() + } finally { + if (qe) throw wt + } + } + var ct = N($e), + ut = N(je), + mt = _(ct), + sr = _(ut), + Lt = M($e), + ur = M(je), + rr = [], + er = [] + mt.forEach(function (Tt, ot) { + ;(rr[ot] = []), + Tt.forEach(function (He) { + Lt.get(He).length == 0 && rr[ot].push(He) + }) + }), + sr.forEach(function (Tt, ot) { + ;(er[ot] = []), + Tt.forEach(function (He) { + ur.get(He).length == 0 && er[ot].push(He) + }) + }) + var Ht = I($e, "horizontal", Te, fe, rr), + Xr = I(je, "vertical", ke, he, er), + pt = function (ot) { + se.get(ot) + ? se.get(ot).forEach(function (He) { + T[w.get(He)] = Ht.get(ot) + }) + : (T[w.get(ot)] = Ht.get(ot)) + }, + Se = !0, + Qe = !1, + xt = void 0 + try { + for ( + var tr = Ht.keys()[Symbol.iterator](), Ir; + !(Se = (Ir = tr.next()).done); + Se = !0 + ) { + var zr = Ir.value + pt(zr) + } + } catch (Tt) { + ;(Qe = !0), (xt = Tt) + } finally { + try { + !Se && tr.return && tr.return() + } finally { + if (Qe) throw xt + } + } + var _r = function (ot) { + ae.get(ot) + ? ae.get(ot).forEach(function (He) { + E[w.get(He)] = Xr.get(ot) + }) + : (E[w.get(ot)] = Xr.get(ot)) + }, + yn = !0, + mi = !1, + Br = void 0 + try { + for ( + var xn = Xr.keys()[Symbol.iterator](), Ct; + !(yn = (Ct = xn.next()).done); + yn = !0 + ) { + var zr = Ct.value + _r(zr) + } + } catch (Tt) { + ;(mi = !0), (Br = Tt) + } finally { + try { + !yn && xn.return && xn.return() + } finally { + if (mi) throw Br + } + } + })() + } + for (var Me = 0; Me < S.length; Me++) { + var J = S[Me] + J.getChild() == null && J.setCenter(T[w.get(J.id)], E[w.get(J.id)]) + } + }), + (o.exports = m) + }, + 551: (o) => { + o.exports = r + }, + }, + i = {} + function a(o) { + var l = i[o] + if (l !== void 0) return l.exports + var u = (i[o] = { exports: {} }) + return n[o](u, u.exports, a), u.exports + } + var s = a(45) + return s + })() + }) + })(fv)), + fv.exports + ) +} +var bRe = dv.exports, + RN +function wRe() { + return ( + RN || + ((RN = 1), + (function (t, e) { + ;(function (n, i) { + t.exports = i(xRe()) + })(bRe, function (r) { + return (() => { + var n = { + 658: (o) => { + o.exports = + Object.assign != null + ? Object.assign.bind(Object) + : function (l) { + for ( + var u = arguments.length, h = Array(u > 1 ? u - 1 : 0), d = 1; + d < u; + d++ + ) + h[d - 1] = arguments[d] + return ( + h.forEach(function (f) { + Object.keys(f).forEach(function (p) { + return (l[p] = f[p]) + }) + }), + l + ) + } + }, + 548: (o, l, u) => { + var h = (function () { + function p(g, m) { + var v = [], + y = !0, + b = !1, + w = void 0 + try { + for ( + var T = g[Symbol.iterator](), E; + !(y = (E = T.next()).done) && + (v.push(E.value), !(m && v.length === m)); + y = !0 + ); + } catch (S) { + ;(b = !0), (w = S) + } finally { + try { + !y && T.return && T.return() + } finally { + if (b) throw w + } + } + return v + } + return function (g, m) { + if (Array.isArray(g)) return g + if (Symbol.iterator in Object(g)) return p(g, m) + throw new TypeError( + "Invalid attempt to destructure non-iterable instance", + ) + } + })(), + d = u(140).layoutBase.LinkedList, + f = {} + ;(f.getTopMostNodes = function (p) { + for (var g = {}, m = 0; m < p.length; m++) g[p[m].id()] = !0 + var v = p.filter(function (y, b) { + typeof y == "number" && (y = b) + for (var w = y.parent()[0]; w != null; ) { + if (g[w.id()]) return !1 + w = w.parent()[0] + } + return !0 + }) + return v + }), + (f.connectComponents = function (p, g, m, v) { + var y = new d(), + b = new Set(), + w = [], + T = void 0, + E = void 0, + S = void 0, + k = !1, + L = 1, + A = [], + R = [], + C = function () { + var P = p.collection() + R.push(P) + var _ = m[0], + N = p.collection() + N.merge(_).merge(_.descendants().intersection(g)), + w.push(_), + N.forEach(function (D) { + y.push(D), b.add(D), P.merge(D) + }) + for ( + var M = function () { + _ = y.shift() + var B = p.collection() + _.neighborhood() + .nodes() + .forEach(function (q) { + g.intersection(_.edgesWith(q)).length > 0 && + B.merge(q) + }) + for (var z = 0; z < B.length; z++) { + var F = B[z] + if ( + ((T = m.intersection(F.union(F.ancestors()))), + T != null && !b.has(T[0])) + ) { + var G = T.union(T.descendants()) + G.forEach(function (q) { + y.push(q), + b.add(q), + P.merge(q), + m.has(q) && w.push(q) + }) + } + } + }; + y.length != 0; + + ) + M() + if ( + (P.forEach(function (D) { + g.intersection(D.connectedEdges()).forEach(function (B) { + P.has(B.source()) && P.has(B.target()) && P.merge(B) + }) + }), + w.length == m.length && (k = !0), + !k || (k && L > 1)) + ) { + ;(E = w[0]), + (S = E.connectedEdges().length), + w.forEach(function (D) { + D.connectedEdges().length < S && + ((S = D.connectedEdges().length), (E = D)) + }), + A.push(E.id()) + var O = p.collection() + O.merge(w[0]), + w.forEach(function (D) { + O.merge(D) + }), + (w = []), + (m = m.difference(O)), + L++ + } + } + do C() + while (!k) + return v && A.length > 0 && v.set("dummy" + (v.size + 1), A), R + }), + (f.relocateComponent = function (p, g, m) { + if (!m.fixedNodeConstraint) { + var v = Number.POSITIVE_INFINITY, + y = Number.NEGATIVE_INFINITY, + b = Number.POSITIVE_INFINITY, + w = Number.NEGATIVE_INFINITY + if (m.quality == "draft") { + var T = !0, + E = !1, + S = void 0 + try { + for ( + var k = g.nodeIndexes[Symbol.iterator](), L; + !(T = (L = k.next()).done); + T = !0 + ) { + var A = L.value, + R = h(A, 2), + C = R[0], + I = R[1], + P = m.cy.getElementById(C) + if (P) { + var _ = P.boundingBox(), + N = g.xCoords[I] - _.w / 2, + M = g.xCoords[I] + _.w / 2, + O = g.yCoords[I] - _.h / 2, + D = g.yCoords[I] + _.h / 2 + N < v && (v = N), + M > y && (y = M), + O < b && (b = O), + D > w && (w = D) + } + } + } catch (q) { + ;(E = !0), (S = q) + } finally { + try { + !T && k.return && k.return() + } finally { + if (E) throw S + } + } + var B = p.x - (y + v) / 2, + z = p.y - (w + b) / 2 + ;(g.xCoords = g.xCoords.map(function (q) { + return q + B + })), + (g.yCoords = g.yCoords.map(function (q) { + return q + z + })) + } else { + Object.keys(g).forEach(function (q) { + var Y = g[q], + ee = Y.getRect().x, + Q = Y.getRect().x + Y.getRect().width, + oe = Y.getRect().y, + pe = Y.getRect().y + Y.getRect().height + ee < v && (v = ee), + Q > y && (y = Q), + oe < b && (b = oe), + pe > w && (w = pe) + }) + var F = p.x - (y + v) / 2, + G = p.y - (w + b) / 2 + Object.keys(g).forEach(function (q) { + var Y = g[q] + Y.setCenter(Y.getCenterX() + F, Y.getCenterY() + G) + }) + } + } + }), + (f.calcBoundingBox = function (p, g, m, v) { + for ( + var y = Number.MAX_SAFE_INTEGER, + b = Number.MIN_SAFE_INTEGER, + w = Number.MAX_SAFE_INTEGER, + T = Number.MIN_SAFE_INTEGER, + E = void 0, + S = void 0, + k = void 0, + L = void 0, + A = p.descendants().not(":parent"), + R = A.length, + C = 0; + C < R; + C++ + ) { + var I = A[C] + ;(E = g[v.get(I.id())] - I.width() / 2), + (S = g[v.get(I.id())] + I.width() / 2), + (k = m[v.get(I.id())] - I.height() / 2), + (L = m[v.get(I.id())] + I.height() / 2), + y > E && (y = E), + b < S && (b = S), + w > k && (w = k), + T < L && (T = L) + } + var P = {} + return ( + (P.topLeftX = y), + (P.topLeftY = w), + (P.width = b - y), + (P.height = T - w), + P + ) + }), + (f.calcParentsWithoutChildren = function (p, g) { + var m = p.collection() + return ( + g.nodes(":parent").forEach(function (v) { + var y = !1 + v.children().forEach(function (b) { + b.css("display") != "none" && (y = !0) + }), + y || m.merge(v) + }), + m + ) + }), + (o.exports = f) + }, + 816: (o, l, u) => { + var h = u(548), + d = u(140).CoSELayout, + f = u(140).CoSENode, + p = u(140).layoutBase.PointD, + g = u(140).layoutBase.DimensionD, + m = u(140).layoutBase.LayoutConstants, + v = u(140).layoutBase.FDLayoutConstants, + y = u(140).CoSEConstants, + b = function (T, E) { + var S = T.cy, + k = T.eles, + L = k.nodes(), + A = k.edges(), + R = void 0, + C = void 0, + I = void 0, + P = {} + T.randomize && ((R = E.nodeIndexes), (C = E.xCoords), (I = E.yCoords)) + var _ = function (q) { + return typeof q == "function" + }, + N = function (q, Y) { + return _(q) ? q(Y) : q + }, + M = h.calcParentsWithoutChildren(S, k), + O = function G(q, Y, ee, Q) { + for (var oe = Y.length, pe = 0; pe < oe; pe++) { + var j = Y[pe], + H = null + j.intersection(M).length == 0 && (H = j.children()) + var X = void 0, + W = j.layoutDimensions({ + nodeDimensionsIncludeLabels: + Q.nodeDimensionsIncludeLabels, + }) + if (j.outerWidth() != null && j.outerHeight() != null) + if (Q.randomize) + if (!j.isParent()) + X = q.add( + new f( + ee.graphManager, + new p( + C[R.get(j.id())] - W.w / 2, + I[R.get(j.id())] - W.h / 2, + ), + new g(parseFloat(W.w), parseFloat(W.h)), + ), + ) + else { + var K = h.calcBoundingBox(j, C, I, R) + j.intersection(M).length == 0 + ? (X = q.add( + new f( + ee.graphManager, + new p(K.topLeftX, K.topLeftY), + new g(K.width, K.height), + ), + )) + : (X = q.add( + new f( + ee.graphManager, + new p(K.topLeftX, K.topLeftY), + new g( + parseFloat(W.w), + parseFloat(W.h), + ), + ), + )) + } + else + X = q.add( + new f( + ee.graphManager, + new p( + j.position("x") - W.w / 2, + j.position("y") - W.h / 2, + ), + new g(parseFloat(W.w), parseFloat(W.h)), + ), + ) + else X = q.add(new f(this.graphManager)) + if ( + ((X.id = j.data("id")), + (X.nodeRepulsion = N(Q.nodeRepulsion, j)), + (X.paddingLeft = parseInt(j.css("padding"))), + (X.paddingTop = parseInt(j.css("padding"))), + (X.paddingRight = parseInt(j.css("padding"))), + (X.paddingBottom = parseInt(j.css("padding"))), + Q.nodeDimensionsIncludeLabels && + ((X.labelWidth = j.boundingBox({ + includeLabels: !0, + includeNodes: !1, + includeOverlays: !1, + }).w), + (X.labelHeight = j.boundingBox({ + includeLabels: !0, + includeNodes: !1, + includeOverlays: !1, + }).h), + (X.labelPosVertical = j.css("text-valign")), + (X.labelPosHorizontal = j.css("text-halign"))), + (P[j.data("id")] = X), + isNaN(X.rect.x) && (X.rect.x = 0), + isNaN(X.rect.y) && (X.rect.y = 0), + H != null && H.length > 0) + ) { + var ne = void 0 + ;(ne = ee.getGraphManager().add(ee.newGraph(), X)), + G(ne, H, ee, Q) + } + } + }, + D = function (q, Y, ee) { + for (var Q = 0, oe = 0, pe = 0; pe < ee.length; pe++) { + var j = ee[pe], + H = P[j.data("source")], + X = P[j.data("target")] + if (H && X && H !== X && H.getEdgesBetween(X).length == 0) { + var W = Y.add(q.newEdge(), H, X) + ;(W.id = j.id()), + (W.idealLength = N(T.idealEdgeLength, j)), + (W.edgeElasticity = N(T.edgeElasticity, j)), + (Q += W.idealLength), + oe++ + } + } + T.idealEdgeLength != null && + (oe > 0 + ? (y.DEFAULT_EDGE_LENGTH = v.DEFAULT_EDGE_LENGTH = Q / oe) + : _(T.idealEdgeLength) + ? (y.DEFAULT_EDGE_LENGTH = v.DEFAULT_EDGE_LENGTH = 50) + : (y.DEFAULT_EDGE_LENGTH = v.DEFAULT_EDGE_LENGTH = + T.idealEdgeLength), + (y.MIN_REPULSION_DIST = v.MIN_REPULSION_DIST = + v.DEFAULT_EDGE_LENGTH / 10), + (y.DEFAULT_RADIAL_SEPARATION = v.DEFAULT_EDGE_LENGTH)) + }, + B = function (q, Y) { + Y.fixedNodeConstraint && + (q.constraints.fixedNodeConstraint = Y.fixedNodeConstraint), + Y.alignmentConstraint && + (q.constraints.alignmentConstraint = Y.alignmentConstraint), + Y.relativePlacementConstraint && + (q.constraints.relativePlacementConstraint = + Y.relativePlacementConstraint) + } + T.nestingFactor != null && + (y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + v.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = + T.nestingFactor), + T.gravity != null && + (y.DEFAULT_GRAVITY_STRENGTH = v.DEFAULT_GRAVITY_STRENGTH = + T.gravity), + T.numIter != null && (y.MAX_ITERATIONS = v.MAX_ITERATIONS = T.numIter), + T.gravityRange != null && + (y.DEFAULT_GRAVITY_RANGE_FACTOR = v.DEFAULT_GRAVITY_RANGE_FACTOR = + T.gravityRange), + T.gravityCompound != null && + (y.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + v.DEFAULT_COMPOUND_GRAVITY_STRENGTH = + T.gravityCompound), + T.gravityRangeCompound != null && + (y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + v.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = + T.gravityRangeCompound), + T.initialEnergyOnIncremental != null && + (y.DEFAULT_COOLING_FACTOR_INCREMENTAL = + v.DEFAULT_COOLING_FACTOR_INCREMENTAL = + T.initialEnergyOnIncremental), + T.tilingCompareBy != null && (y.TILING_COMPARE_BY = T.tilingCompareBy), + T.quality == "proof" ? (m.QUALITY = 2) : (m.QUALITY = 0), + (y.NODE_DIMENSIONS_INCLUDE_LABELS = + v.NODE_DIMENSIONS_INCLUDE_LABELS = + m.NODE_DIMENSIONS_INCLUDE_LABELS = + T.nodeDimensionsIncludeLabels), + (y.DEFAULT_INCREMENTAL = + v.DEFAULT_INCREMENTAL = + m.DEFAULT_INCREMENTAL = + !T.randomize), + (y.ANIMATE = v.ANIMATE = m.ANIMATE = T.animate), + (y.TILE = T.tile), + (y.TILING_PADDING_VERTICAL = + typeof T.tilingPaddingVertical == "function" + ? T.tilingPaddingVertical.call() + : T.tilingPaddingVertical), + (y.TILING_PADDING_HORIZONTAL = + typeof T.tilingPaddingHorizontal == "function" + ? T.tilingPaddingHorizontal.call() + : T.tilingPaddingHorizontal), + (y.DEFAULT_INCREMENTAL = + v.DEFAULT_INCREMENTAL = + m.DEFAULT_INCREMENTAL = + !0), + (y.PURE_INCREMENTAL = !T.randomize), + (m.DEFAULT_UNIFORM_LEAF_NODE_SIZES = T.uniformNodeDimensions), + T.step == "transformed" && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0), + (y.ENFORCE_CONSTRAINTS = !1), + (y.APPLY_LAYOUT = !1)), + T.step == "enforced" && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !0), + (y.APPLY_LAYOUT = !1)), + T.step == "cose" && + ((y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !1), + (y.APPLY_LAYOUT = !0)), + T.step == "all" && + (T.randomize + ? (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !0) + : (y.TRANSFORM_ON_CONSTRAINT_HANDLING = !1), + (y.ENFORCE_CONSTRAINTS = !0), + (y.APPLY_LAYOUT = !0)), + T.fixedNodeConstraint || + T.alignmentConstraint || + T.relativePlacementConstraint + ? (y.TREE_REDUCTION_ON_INCREMENTAL = !1) + : (y.TREE_REDUCTION_ON_INCREMENTAL = !0) + var z = new d(), + F = z.newGraphManager() + return ( + O(F.addRoot(), h.getTopMostNodes(L), z, T), + D(z, F, A), + B(z, T), + z.runLayout(), + P + ) + } + o.exports = { coseLayout: b } + }, + 212: (o, l, u) => { + var h = (function () { + function T(E, S) { + for (var k = 0; k < S.length; k++) { + var L = S[k] + ;(L.enumerable = L.enumerable || !1), + (L.configurable = !0), + "value" in L && (L.writable = !0), + Object.defineProperty(E, L.key, L) + } + } + return function (E, S, k) { + return S && T(E.prototype, S), k && T(E, k), E + } + })() + function d(T, E) { + if (!(T instanceof E)) throw new TypeError("Cannot call a class as a function") + } + var f = u(658), + p = u(548), + g = u(657), + m = g.spectralLayout, + v = u(816), + y = v.coseLayout, + b = Object.freeze({ + quality: "default", + randomize: !0, + animate: !0, + animationDuration: 1e3, + animationEasing: void 0, + fit: !0, + padding: 30, + nodeDimensionsIncludeLabels: !1, + uniformNodeDimensions: !1, + packComponents: !0, + step: "all", + samplingType: !0, + sampleSize: 25, + nodeSeparation: 75, + piTol: 1e-7, + nodeRepulsion: function (E) { + return 4500 + }, + idealEdgeLength: function (E) { + return 50 + }, + edgeElasticity: function (E) { + return 0.45 + }, + nestingFactor: 0.1, + gravity: 0.25, + numIter: 2500, + tile: !0, + tilingCompareBy: void 0, + tilingPaddingVertical: 10, + tilingPaddingHorizontal: 10, + gravityRangeCompound: 1.5, + gravityCompound: 1, + gravityRange: 3.8, + initialEnergyOnIncremental: 0.3, + fixedNodeConstraint: void 0, + alignmentConstraint: void 0, + relativePlacementConstraint: void 0, + ready: function () {}, + stop: function () {}, + }), + w = (function () { + function T(E) { + d(this, T), (this.options = f({}, b, E)) + } + return ( + h(T, [ + { + key: "run", + value: function () { + var S = this, + k = this.options, + L = k.cy, + A = k.eles, + R = [], + C = [], + I = void 0, + P = [] + k.fixedNodeConstraint && + (!Array.isArray(k.fixedNodeConstraint) || + k.fixedNodeConstraint.length == 0) && + (k.fixedNodeConstraint = void 0), + k.alignmentConstraint && + (k.alignmentConstraint.vertical && + (!Array.isArray( + k.alignmentConstraint.vertical, + ) || + k.alignmentConstraint.vertical.length == + 0) && + (k.alignmentConstraint.vertical = void 0), + k.alignmentConstraint.horizontal && + (!Array.isArray( + k.alignmentConstraint.horizontal, + ) || + k.alignmentConstraint.horizontal.length == + 0) && + (k.alignmentConstraint.horizontal = void 0)), + k.relativePlacementConstraint && + (!Array.isArray(k.relativePlacementConstraint) || + k.relativePlacementConstraint.length == 0) && + (k.relativePlacementConstraint = void 0) + var _ = + k.fixedNodeConstraint || + k.alignmentConstraint || + k.relativePlacementConstraint + _ && ((k.tile = !1), (k.packComponents = !1)) + var N = void 0, + M = !1 + if ( + (L.layoutUtilities && + k.packComponents && + ((N = L.layoutUtilities("get")), + N || (N = L.layoutUtilities()), + (M = !0)), + A.nodes().length > 0) + ) + if (M) { + var B = p.getTopMostNodes(k.eles.nodes()) + if ( + ((I = p.connectComponents(L, k.eles, B)), + I.forEach(function (ce) { + var re = ce.boundingBox() + P.push({ + x: re.x1 + re.w / 2, + y: re.y1 + re.h / 2, + }) + }), + k.randomize && + I.forEach(function (ce) { + ;(k.eles = ce), R.push(m(k)) + }), + k.quality == "default" || k.quality == "proof") + ) { + var z = L.collection() + if (k.tile) { + var F = new Map(), + G = [], + q = [], + Y = 0, + ee = { + nodeIndexes: F, + xCoords: G, + yCoords: q, + }, + Q = [] + if ( + (I.forEach(function (ce, re) { + ce.edges().length == 0 && + (ce + .nodes() + .forEach(function (Ne, me) { + z.merge(ce.nodes()[me]), + Ne.isParent() || + (ee.nodeIndexes.set( + ce + .nodes() + [ + me + ].id(), + Y++, + ), + ee.xCoords.push( + ce + .nodes()[0] + .position() + .x, + ), + ee.yCoords.push( + ce + .nodes()[0] + .position() + .y, + )) + }), + Q.push(re)) + }), + z.length > 1) + ) { + var oe = z.boundingBox() + P.push({ + x: oe.x1 + oe.w / 2, + y: oe.y1 + oe.h / 2, + }), + I.push(z), + R.push(ee) + for ( + var pe = Q.length - 1; + pe >= 0; + pe-- + ) + I.splice(Q[pe], 1), + R.splice(Q[pe], 1), + P.splice(Q[pe], 1) + } + } + I.forEach(function (ce, re) { + ;(k.eles = ce), + C.push(y(k, R[re])), + p.relocateComponent(P[re], C[re], k) + }) + } else + I.forEach(function (ce, re) { + p.relocateComponent(P[re], R[re], k) + }) + var j = new Set() + if (I.length > 1) { + var H = [], + X = A.filter(function (ce) { + return ce.css("display") == "none" + }) + I.forEach(function (ce, re) { + var Ne = void 0 + if ( + (k.quality == "draft" && + (Ne = R[re].nodeIndexes), + ce.nodes().not(X).length > 0) + ) { + var me = {} + ;(me.edges = []), (me.nodes = []) + var Ve = void 0 + ce + .nodes() + .not(X) + .forEach(function (Ue) { + if (k.quality == "draft") + if (!Ue.isParent()) + (Ve = Ne.get(Ue.id())), + me.nodes.push({ + x: + R[re] + .xCoords[ + Ve + ] - + Ue.boundingbox() + .w / + 2, + y: + R[re] + .yCoords[ + Ve + ] - + Ue.boundingbox() + .h / + 2, + width: Ue.boundingbox() + .w, + height: Ue.boundingbox() + .h, + }) + else { + var Fe = + p.calcBoundingBox( + Ue, + R[re].xCoords, + R[re].yCoords, + Ne, + ) + me.nodes.push({ + x: Fe.topLeftX, + y: Fe.topLeftY, + width: Fe.width, + height: Fe.height, + }) + } + else + C[re][Ue.id()] && + me.nodes.push({ + x: C[re][ + Ue.id() + ].getLeft(), + y: C[re][ + Ue.id() + ].getTop(), + width: C[re][ + Ue.id() + ].getWidth(), + height: C[re][ + Ue.id() + ].getHeight(), + }) + }), + ce.edges().forEach(function (Ue) { + var Fe = Ue.source(), + _e = Ue.target() + if ( + Fe.css("display") != + "none" && + _e.css("display") != "none" + ) + if (k.quality == "draft") { + var Oe = Ne.get( + Fe.id(), + ), + Ce = Ne.get( + _e.id(), + ), + Le = [], + ze = [] + if (Fe.isParent()) { + var ge = + p.calcBoundingBox( + Fe, + R[re] + .xCoords, + R[re] + .yCoords, + Ne, + ) + Le.push( + ge.topLeftX + + ge.width / + 2, + ), + Le.push( + ge.topLeftY + + ge.height / + 2, + ) + } else + Le.push( + R[re].xCoords[ + Oe + ], + ), + Le.push( + R[re] + .yCoords[ + Oe + ], + ) + if (_e.isParent()) { + var Me = + p.calcBoundingBox( + _e, + R[re] + .xCoords, + R[re] + .yCoords, + Ne, + ) + ze.push( + Me.topLeftX + + Me.width / + 2, + ), + ze.push( + Me.topLeftY + + Me.height / + 2, + ) + } else + ze.push( + R[re].xCoords[ + Ce + ], + ), + ze.push( + R[re] + .yCoords[ + Ce + ], + ) + me.edges.push({ + startX: Le[0], + startY: Le[1], + endX: ze[0], + endY: ze[1], + }) + } else + C[re][Fe.id()] && + C[re][_e.id()] && + me.edges.push({ + startX: C[re][ + Fe.id() + ].getCenterX(), + startY: C[re][ + Fe.id() + ].getCenterY(), + endX: C[re][ + _e.id() + ].getCenterX(), + endY: C[re][ + _e.id() + ].getCenterY(), + }) + }), + me.nodes.length > 0 && + (H.push(me), j.add(re)) + } + }) + var W = N.packComponents(H, k.randomize).shifts + if (k.quality == "draft") + R.forEach(function (ce, re) { + var Ne = ce.xCoords.map(function (Ve) { + return Ve + W[re].dx + }), + me = ce.yCoords.map(function (Ve) { + return Ve + W[re].dy + }) + ;(ce.xCoords = Ne), (ce.yCoords = me) + }) + else { + var K = 0 + j.forEach(function (ce) { + Object.keys(C[ce]).forEach( + function (re) { + var Ne = C[ce][re] + Ne.setCenter( + Ne.getCenterX() + W[K].dx, + Ne.getCenterY() + W[K].dy, + ) + }, + ), + K++ + }) + } + } + } else { + var O = k.eles.boundingBox() + if ( + (P.push({ + x: O.x1 + O.w / 2, + y: O.y1 + O.h / 2, + }), + k.randomize) + ) { + var D = m(k) + R.push(D) + } + k.quality == "default" || k.quality == "proof" + ? (C.push(y(k, R[0])), + p.relocateComponent(P[0], C[0], k)) + : p.relocateComponent(P[0], R[0], k) + } + var ne = function (re, Ne) { + if (k.quality == "default" || k.quality == "proof") { + typeof re == "number" && (re = Ne) + var me = void 0, + Ve = void 0, + Ue = re.data("id") + return ( + C.forEach(function (_e) { + Ue in _e && + ((me = { + x: _e[Ue].getRect().getCenterX(), + y: _e[Ue].getRect().getCenterY(), + }), + (Ve = _e[Ue])) + }), + k.nodeDimensionsIncludeLabels && + (Ve.labelWidth && + (Ve.labelPosHorizontal == "left" + ? (me.x += Ve.labelWidth / 2) + : Ve.labelPosHorizontal == + "right" && + (me.x -= Ve.labelWidth / 2)), + Ve.labelHeight && + (Ve.labelPosVertical == "top" + ? (me.y += Ve.labelHeight / 2) + : Ve.labelPosVertical == "bottom" && + (me.y -= Ve.labelHeight / 2))), + me == null && + (me = { + x: re.position("x"), + y: re.position("y"), + }), + { x: me.x, y: me.y } + ) + } else { + var Fe = void 0 + return ( + R.forEach(function (_e) { + var Oe = _e.nodeIndexes.get(re.id()) + Oe != null && + (Fe = { + x: _e.xCoords[Oe], + y: _e.yCoords[Oe], + }) + }), + Fe == null && + (Fe = { + x: re.position("x"), + y: re.position("y"), + }), + { x: Fe.x, y: Fe.y } + ) + } + } + if ( + k.quality == "default" || + k.quality == "proof" || + k.randomize + ) { + var Z = p.calcParentsWithoutChildren(L, A), + be = A.filter(function (ce) { + return ce.css("display") == "none" + }) + ;(k.eles = A.not(be)), + A.nodes() + .not(":parent") + .not(be) + .layoutPositions(S, k, ne), + Z.length > 0 && + Z.forEach(function (ce) { + ce.position(ne(ce)) + }) + } else + console.log( + "If randomize option is set to false, then quality option must be 'default' or 'proof'.", + ) + }, + }, + ]), + T + ) + })() + o.exports = w + }, + 657: (o, l, u) => { + var h = u(548), + d = u(140).layoutBase.Matrix, + f = u(140).layoutBase.SVD, + p = function (m) { + var v = m.cy, + y = m.eles, + b = y.nodes(), + w = y.nodes(":parent"), + T = new Map(), + E = new Map(), + S = new Map(), + k = [], + L = [], + A = [], + R = [], + C = [], + I = [], + P = [], + _ = [], + N = void 0, + M = 1e8, + O = 1e-9, + D = m.piTol, + B = m.samplingType, + z = m.nodeSeparation, + F = void 0, + G = function () { + for (var $ = 0, se = 0, ae = !1; se < F; ) { + ;($ = Math.floor(Math.random() * N)), (ae = !1) + for (var fe = 0; fe < se; fe++) + if (R[fe] == $) { + ae = !0 + break + } + if (!ae) (R[se] = $), se++ + else continue + } + }, + q = function ($, se, ae) { + for ( + var fe = [], + he = 0, + Te = 0, + ke = 0, + Ee = void 0, + Ge = [], + Je = 0, + We = 1, + Xe = 0; + Xe < N; + Xe++ + ) + Ge[Xe] = M + for (fe[Te] = $, Ge[$] = 0; Te >= he; ) { + ke = fe[he++] + for (var Ke = k[ke], $e = 0; $e < Ke.length; $e++) + (Ee = E.get(Ke[$e])), + Ge[Ee] == M && ((Ge[Ee] = Ge[ke] + 1), (fe[++Te] = Ee)) + I[ke][se] = Ge[ke] * z + } + if (ae) { + for (var je = 0; je < N; je++) + I[je][se] < C[je] && (C[je] = I[je][se]) + for (var lt = 0; lt < N; lt++) + C[lt] > Je && ((Je = C[lt]), (We = lt)) + } + return We + }, + Y = function ($) { + var se = void 0 + if ($) { + se = Math.floor(Math.random() * N) + for (var fe = 0; fe < N; fe++) C[fe] = M + for (var he = 0; he < F; he++) (R[he] = se), (se = q(se, he, $)) + } else { + G() + for (var ae = 0; ae < F; ae++) q(R[ae], ae, $) + } + for (var Te = 0; Te < N; Te++) + for (var ke = 0; ke < F; ke++) I[Te][ke] *= I[Te][ke] + for (var Ee = 0; Ee < F; Ee++) P[Ee] = [] + for (var Ge = 0; Ge < F; Ge++) + for (var Je = 0; Je < F; Je++) P[Ge][Je] = I[R[Je]][Ge] + }, + ee = function () { + for ( + var $ = f.svd(P), + se = $.S, + ae = $.U, + fe = $.V, + he = se[0] * se[0] * se[0], + Te = [], + ke = 0; + ke < F; + ke++ + ) { + Te[ke] = [] + for (var Ee = 0; Ee < F; Ee++) + (Te[ke][Ee] = 0), + ke == Ee && + (Te[ke][Ee] = + se[ke] / + (se[ke] * se[ke] + he / (se[ke] * se[ke]))) + } + _ = d.multMat(d.multMat(fe, Te), d.transpose(ae)) + }, + Q = function () { + for ( + var $ = void 0, + se = void 0, + ae = [], + fe = [], + he = [], + Te = [], + ke = 0; + ke < N; + ke++ + ) + (ae[ke] = Math.random()), (fe[ke] = Math.random()) + ;(ae = d.normalize(ae)), (fe = d.normalize(fe)) + for (var Ee = O, Ge = O, Je = void 0; ; ) { + for (var We = 0; We < N; We++) he[We] = ae[We] + if ( + ((ae = d.multGamma(d.multL(d.multGamma(he), I, _))), + ($ = d.dotProduct(he, ae)), + (ae = d.normalize(ae)), + (Ee = d.dotProduct(he, ae)), + (Je = Math.abs(Ee / Ge)), + Je <= 1 + D && Je >= 1) + ) + break + Ge = Ee + } + for (var Xe = 0; Xe < N; Xe++) he[Xe] = ae[Xe] + for (Ge = O; ; ) { + for (var Ke = 0; Ke < N; Ke++) Te[Ke] = fe[Ke] + if ( + ((Te = d.minusOp(Te, d.multCons(he, d.dotProduct(he, Te)))), + (fe = d.multGamma(d.multL(d.multGamma(Te), I, _))), + (se = d.dotProduct(Te, fe)), + (fe = d.normalize(fe)), + (Ee = d.dotProduct(Te, fe)), + (Je = Math.abs(Ee / Ge)), + Je <= 1 + D && Je >= 1) + ) + break + Ge = Ee + } + for (var $e = 0; $e < N; $e++) Te[$e] = fe[$e] + ;(L = d.multCons(he, Math.sqrt(Math.abs($)))), + (A = d.multCons(Te, Math.sqrt(Math.abs(se)))) + } + h.connectComponents(v, y, h.getTopMostNodes(b), T), + w.forEach(function (ue) { + h.connectComponents( + v, + y, + h.getTopMostNodes(ue.descendants().intersection(y)), + T, + ) + }) + for (var oe = 0, pe = 0; pe < b.length; pe++) + b[pe].isParent() || E.set(b[pe].id(), oe++) + var j = !0, + H = !1, + X = void 0 + try { + for ( + var W = T.keys()[Symbol.iterator](), K; + !(j = (K = W.next()).done); + j = !0 + ) { + var ne = K.value + E.set(ne, oe++) + } + } catch (ue) { + ;(H = !0), (X = ue) + } finally { + try { + !j && W.return && W.return() + } finally { + if (H) throw X + } + } + for (var Z = 0; Z < E.size; Z++) k[Z] = [] + w.forEach(function (ue) { + for ( + var $ = ue.children().intersection(y); + $.nodes(":childless").length == 0; + + ) + $ = $.nodes()[0].children().intersection(y) + var se = 0, + ae = $.nodes(":childless")[0].connectedEdges().length + $.nodes(":childless").forEach(function (fe, he) { + fe.connectedEdges().length < ae && + ((ae = fe.connectedEdges().length), (se = he)) + }), + S.set(ue.id(), $.nodes(":childless")[se].id()) + }), + b.forEach(function (ue) { + var $ = void 0 + ue.isParent() ? ($ = E.get(S.get(ue.id()))) : ($ = E.get(ue.id())), + ue + .neighborhood() + .nodes() + .forEach(function (se) { + y.intersection(ue.edgesWith(se)).length > 0 && + (se.isParent() + ? k[$].push(S.get(se.id())) + : k[$].push(se.id())) + }) + }) + var be = function ($) { + var se = E.get($), + ae = void 0 + T.get($).forEach(function (fe) { + v.getElementById(fe).isParent() ? (ae = S.get(fe)) : (ae = fe), + k[se].push(ae), + k[E.get(ae)].push($) + }) + }, + ce = !0, + re = !1, + Ne = void 0 + try { + for ( + var me = T.keys()[Symbol.iterator](), Ve; + !(ce = (Ve = me.next()).done); + ce = !0 + ) { + var Ue = Ve.value + be(Ue) + } + } catch (ue) { + ;(re = !0), (Ne = ue) + } finally { + try { + !ce && me.return && me.return() + } finally { + if (re) throw Ne + } + } + N = E.size + var Fe = void 0 + if (N > 2) { + F = N < m.sampleSize ? N : m.sampleSize + for (var _e = 0; _e < N; _e++) I[_e] = [] + for (var Oe = 0; Oe < F; Oe++) _[Oe] = [] + return ( + m.quality == "draft" || m.step == "all" + ? (Y(B), + ee(), + Q(), + (Fe = { nodeIndexes: E, xCoords: L, yCoords: A })) + : (E.forEach(function (ue, $) { + L.push(v.getElementById($).position("x")), + A.push(v.getElementById($).position("y")) + }), + (Fe = { nodeIndexes: E, xCoords: L, yCoords: A })), + Fe + ) + } else { + var Ce = E.keys(), + Le = v.getElementById(Ce.next().value), + ze = Le.position(), + ge = Le.outerWidth() + if ((L.push(ze.x), A.push(ze.y), N == 2)) { + var Me = v.getElementById(Ce.next().value), + J = Me.outerWidth() + L.push(ze.x + ge / 2 + J / 2 + m.idealEdgeLength), A.push(ze.y) + } + return (Fe = { nodeIndexes: E, xCoords: L, yCoords: A }), Fe + } + } + o.exports = { spectralLayout: p } + }, + 579: (o, l, u) => { + var h = u(212), + d = function (p) { + p && p("layout", "fcose", h) + } + typeof cytoscape < "u" && d(cytoscape), (o.exports = d) + }, + 140: (o) => { + o.exports = r + }, + }, + i = {} + function a(o) { + var l = i[o] + if (l !== void 0) return l.exports + var u = (i[o] = { exports: {} }) + return n[o](u, u.exports, a), u.exports + } + var s = a(579) + return s + })() + }) + })(dv)), + dv.exports + ) +} +var TRe = wRe() +const ERe = Qd(TRe) +var NN = { L: "left", R: "right", T: "top", B: "bottom" }, + DN = { + L: x((t) => `${t},${t / 2} 0,${t} 0,0`, "L"), + R: x((t) => `0,${t / 2} ${t},0 ${t},${t}`, "R"), + T: x((t) => `0,0 ${t},0 ${t / 2},${t}`, "T"), + B: x((t) => `${t / 2},0 ${t},${t} 0,${t}`, "B"), + }, + om = { + L: x((t, e) => t - e + 2, "L"), + R: x((t, e) => t - 2, "R"), + T: x((t, e) => t - e + 2, "T"), + B: x((t, e) => t - 2, "B"), + }, + kRe = x(function (t) { + return Mi(t) ? (t === "L" ? "R" : "L") : t === "T" ? "B" : "T" + }, "getOppositeArchitectureDirection"), + IN = x(function (t) { + const e = t + return e === "L" || e === "R" || e === "T" || e === "B" + }, "isArchitectureDirection"), + Mi = x(function (t) { + const e = t + return e === "L" || e === "R" + }, "isArchitectureDirectionX"), + Hl = x(function (t) { + const e = t + return e === "T" || e === "B" + }, "isArchitectureDirectionY"), + US = x(function (t, e) { + const r = Mi(t) && Hl(e), + n = Hl(t) && Mi(e) + return r || n + }, "isArchitectureDirectionXY"), + SRe = x(function (t) { + const e = t[0], + r = t[1], + n = Mi(e) && Hl(r), + i = Hl(e) && Mi(r) + return n || i + }, "isArchitecturePairXY"), + CRe = x(function (t) { + return t !== "LL" && t !== "RR" && t !== "TT" && t !== "BB" + }, "isValidArchitectureDirectionPair"), + sT = x(function (t, e) { + const r = `${t}${e}` + return CRe(r) ? r : void 0 + }, "getArchitectureDirectionPair"), + ARe = x(function ([t, e], r) { + const n = r[0], + i = r[1] + return Mi(n) + ? Hl(i) + ? [t + (n === "L" ? -1 : 1), e + (i === "T" ? 1 : -1)] + : [t + (n === "L" ? -1 : 1), e] + : Mi(i) + ? [t + (i === "L" ? 1 : -1), e + (n === "T" ? 1 : -1)] + : [t, e + (n === "T" ? 1 : -1)] + }, "shiftPositionByArchitectureDirectionPair"), + _Re = x(function (t) { + return t === "LT" || t === "TL" + ? [1, 1] + : t === "BL" || t === "LB" + ? [1, -1] + : t === "BR" || t === "RB" + ? [-1, -1] + : [-1, 1] + }, "getArchitectureDirectionXYFactors"), + LRe = x(function (t, e) { + return US(t, e) ? "bend" : Mi(t) ? "horizontal" : "vertical" + }, "getArchitectureDirectionAlignment"), + RRe = x(function (t) { + return t.type === "service" + }, "isArchitectureService"), + NRe = x(function (t) { + return t.type === "junction" + }, "isArchitectureJunction"), + IH = x((t) => t.data(), "edgeData"), + hh = x((t) => t.data(), "nodeData"), + MH = hr.architecture, + Qt = new sk(() => ({ + nodes: {}, + groups: {}, + edges: [], + registeredIds: {}, + config: MH, + dataStructures: void 0, + elements: {}, + })), + DRe = x(() => { + Qt.reset(), Gn() + }, "clear"), + IRe = x(function ({ id: t, icon: e, in: r, title: n, iconText: i }) { + if (Qt.records.registeredIds[t] !== void 0) + throw new Error(`The service id [${t}] is already in use by another ${Qt.records.registeredIds[t]}`) + if (r !== void 0) { + if (t === r) throw new Error(`The service [${t}] cannot be placed within itself`) + if (Qt.records.registeredIds[r] === void 0) + throw new Error( + `The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`, + ) + if (Qt.records.registeredIds[r] === "node") throw new Error(`The service [${t}]'s parent is not a group`) + } + ;(Qt.records.registeredIds[t] = "node"), + (Qt.records.nodes[t] = { id: t, type: "service", icon: e, iconText: i, title: n, edges: [], in: r }) + }, "addService"), + MRe = x(() => Object.values(Qt.records.nodes).filter(RRe), "getServices"), + ORe = x(function ({ id: t, in: e }) { + ;(Qt.records.registeredIds[t] = "node"), (Qt.records.nodes[t] = { id: t, type: "junction", edges: [], in: e }) + }, "addJunction"), + PRe = x(() => Object.values(Qt.records.nodes).filter(NRe), "getJunctions"), + BRe = x(() => Object.values(Qt.records.nodes), "getNodes"), + oT = x((t) => Qt.records.nodes[t], "getNode"), + FRe = x(function ({ id: t, icon: e, in: r, title: n }) { + if (Qt.records.registeredIds[t] !== void 0) + throw new Error(`The group id [${t}] is already in use by another ${Qt.records.registeredIds[t]}`) + if (r !== void 0) { + if (t === r) throw new Error(`The group [${t}] cannot be placed within itself`) + if (Qt.records.registeredIds[r] === void 0) + throw new Error( + `The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`, + ) + if (Qt.records.registeredIds[r] === "node") throw new Error(`The group [${t}]'s parent is not a group`) + } + ;(Qt.records.registeredIds[t] = "group"), (Qt.records.groups[t] = { id: t, icon: e, title: n, in: r }) + }, "addGroup"), + $Re = x(() => Object.values(Qt.records.groups), "getGroups"), + zRe = x(function ({ + lhsId: t, + rhsId: e, + lhsDir: r, + rhsDir: n, + lhsInto: i, + rhsInto: a, + lhsGroup: s, + rhsGroup: o, + title: l, + }) { + if (!IN(r)) + throw new Error( + `Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`, + ) + if (!IN(n)) + throw new Error( + `Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`, + ) + if (Qt.records.nodes[t] === void 0 && Qt.records.groups[t] === void 0) + throw new Error( + `The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`, + ) + if (Qt.records.nodes[e] === void 0 && Qt.records.groups[t] === void 0) + throw new Error( + `The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`, + ) + const u = Qt.records.nodes[t].in, + h = Qt.records.nodes[e].in + if (s && u && h && u == h) + throw new Error( + `The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`, + ) + if (o && u && h && u == h) + throw new Error( + `The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`, + ) + const d = { + lhsId: t, + lhsDir: r, + lhsInto: i, + lhsGroup: s, + rhsId: e, + rhsDir: n, + rhsInto: a, + rhsGroup: o, + title: l, + } + Qt.records.edges.push(d), + Qt.records.nodes[t] && + Qt.records.nodes[e] && + (Qt.records.nodes[t].edges.push(Qt.records.edges[Qt.records.edges.length - 1]), + Qt.records.nodes[e].edges.push(Qt.records.edges[Qt.records.edges.length - 1])) + }, "addEdge"), + VRe = x(() => Qt.records.edges, "getEdges"), + GRe = x(() => { + if (Qt.records.dataStructures === void 0) { + const t = {}, + e = Object.entries(Qt.records.nodes).reduce( + (o, [l, u]) => ( + (o[l] = u.edges.reduce((h, d) => { + var g, m + const f = (g = oT(d.lhsId)) == null ? void 0 : g.in, + p = (m = oT(d.rhsId)) == null ? void 0 : m.in + if (f && p && f !== p) { + const v = LRe(d.lhsDir, d.rhsDir) + v !== "bend" && (t[f] ?? (t[f] = {}), (t[f][p] = v), t[p] ?? (t[p] = {}), (t[p][f] = v)) + } + if (d.lhsId === l) { + const v = sT(d.lhsDir, d.rhsDir) + v && (h[v] = d.rhsId) + } else { + const v = sT(d.rhsDir, d.lhsDir) + v && (h[v] = d.lhsId) + } + return h + }, {})), + o + ), + {}, + ), + r = Object.keys(e)[0], + n = { [r]: 1 }, + i = Object.keys(e).reduce((o, l) => (l === r ? o : { ...o, [l]: 1 }), {}), + a = x((o) => { + const l = { [o]: [0, 0] }, + u = [o] + for (; u.length > 0; ) { + const h = u.shift() + if (h) { + ;(n[h] = 1), delete i[h] + const d = e[h], + [f, p] = l[h] + Object.entries(d).forEach(([g, m]) => { + n[m] || ((l[m] = ARe([f, p], g)), u.push(m)) + }) + } + } + return l + }, "BFS"), + s = [a(r)] + for (; Object.keys(i).length > 0; ) s.push(a(Object.keys(i)[0])) + Qt.records.dataStructures = { adjList: e, spatialMaps: s, groupAlignments: t } + } + return Qt.records.dataStructures + }, "getDataStructures"), + URe = x((t, e) => { + Qt.records.elements[t] = e + }, "setElementForId"), + qRe = x((t) => Qt.records.elements[t], "getElementById"), + d2 = { + clear: DRe, + setDiagramTitle: fi, + getDiagramTitle: Un, + setAccTitle: $n, + getAccTitle: Zn, + setAccDescription: Qn, + getAccDescription: Jn, + addService: IRe, + getServices: MRe, + addJunction: ORe, + getJunctions: PRe, + getNodes: BRe, + getNode: oT, + addGroup: FRe, + getGroups: $Re, + addEdge: zRe, + getEdges: VRe, + setElementForId: URe, + getElementById: qRe, + getDataStructures: GRe, + } +function Bn(t) { + const e = we().architecture + return e != null && e[t] ? e[t] : MH[t] +} +x(Bn, "getConfigField") +var WRe = x((t, e) => { + hf(t, e), + t.groups.map(e.addGroup), + t.services.map((r) => e.addService({ ...r, type: "service" })), + t.junctions.map((r) => e.addJunction({ ...r, type: "junction" })), + t.edges.map(e.addEdge) + }, "populateDb"), + HRe = { + parse: x(async (t) => { + const e = await Ru("architecture", t) + ie.debug(e), WRe(e, d2) + }, "parse"), + }, + YRe = x( + (t) => ` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`, + "getStyles", + ), + XRe = YRe, + ju = x((t) => `<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`, "wrapIcon"), + ng = { + prefix: "mermaid-architecture", + height: 80, + width: 80, + icons: { + database: { + body: ju( + '<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>', + ), + }, + server: { + body: ju( + '<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>', + ), + }, + disk: { + body: ju( + '<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>', + ), + }, + internet: { + body: ju( + '<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>', + ), + }, + cloud: { + body: ju( + '<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>', + ), + }, + unknown: WM, + blank: { body: ju("") }, + }, + }, + jRe = x(async function (t, e) { + const r = Bn("padding"), + n = Bn("iconSize"), + i = n / 2, + a = n / 6, + s = a / 2 + await Promise.all( + e.edges().map(async (o) => { + var L, A + const { + source: l, + sourceDir: u, + sourceArrow: h, + sourceGroup: d, + target: f, + targetDir: p, + targetArrow: g, + targetGroup: m, + label: v, + } = IH(o) + let { x: y, y: b } = o[0].sourceEndpoint() + const { x: w, y: T } = o[0].midpoint() + let { x: E, y: S } = o[0].targetEndpoint() + const k = r + 4 + if ( + (d && (Mi(u) ? (y += u === "L" ? -k : k) : (b += u === "T" ? -k : k + 18)), + m && (Mi(p) ? (E += p === "L" ? -k : k) : (S += p === "T" ? -k : k + 18)), + !d && + ((L = d2.getNode(l)) == null ? void 0 : L.type) === "junction" && + (Mi(u) ? (y += u === "L" ? i : -i) : (b += u === "T" ? i : -i)), + !m && + ((A = d2.getNode(f)) == null ? void 0 : A.type) === "junction" && + (Mi(p) ? (E += p === "L" ? i : -i) : (S += p === "T" ? i : -i)), + o[0]._private.rscratch) + ) { + const R = t.insert("g") + if ((R.insert("path").attr("d", `M ${y},${b} L ${w},${T} L${E},${S} `).attr("class", "edge"), h)) { + const C = Mi(u) ? om[u](y, a) : y - s, + I = Hl(u) ? om[u](b, a) : b - s + R.insert("polygon") + .attr("points", DN[u](a)) + .attr("transform", `translate(${C},${I})`) + .attr("class", "arrow") + } + if (g) { + const C = Mi(p) ? om[p](E, a) : E - s, + I = Hl(p) ? om[p](S, a) : S - s + R.insert("polygon") + .attr("points", DN[p](a)) + .attr("transform", `translate(${C},${I})`) + .attr("class", "arrow") + } + if (v) { + const C = US(u, p) ? "XY" : Mi(u) ? "X" : "Y" + let I = 0 + C === "X" + ? (I = Math.abs(y - E)) + : C === "Y" + ? (I = Math.abs(b - S) / 1.5) + : (I = Math.abs(y - E) / 2) + const P = R.append("g") + if ( + (await fa( + P, + v, + { useHtmlLabels: !1, width: I, classes: "architecture-service-label" }, + we(), + ), + P.attr("dy", "1em") + .attr("alignment-baseline", "middle") + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle"), + C === "X") + ) + P.attr("transform", "translate(" + w + ", " + T + ")") + else if (C === "Y") P.attr("transform", "translate(" + w + ", " + T + ") rotate(-90)") + else if (C === "XY") { + const _ = sT(u, p) + if (_ && SRe(_)) { + const N = P.node().getBoundingClientRect(), + [M, O] = _Re(_) + P.attr("dominant-baseline", "auto").attr("transform", `rotate(${-1 * M * O * 45})`) + const D = P.node().getBoundingClientRect() + P.attr( + "transform", + ` + translate(${w}, ${T - N.height / 2}) + translate(${(M * D.width) / 2}, ${(O * D.height) / 2}) + rotate(${-1 * M * O * 45}, 0, ${N.height / 2}) + `, + ) + } + } + } + } + }), + ) + }, "drawEdges"), + KRe = x(async function (t, e) { + const n = Bn("padding") * 0.75, + i = Bn("fontSize"), + s = Bn("iconSize") / 2 + await Promise.all( + e.nodes().map(async (o) => { + const l = hh(o) + if (l.type === "group") { + const { h: u, w: h, x1: d, y1: f } = o.boundingBox() + t.append("rect") + .attr("x", d + s) + .attr("y", f + s) + .attr("width", h) + .attr("height", u) + .attr("class", "node-bkg") + const p = t.append("g") + let g = d, + m = f + if (l.icon) { + const v = p.append("g") + v.html(`<g>${await Uc(l.icon, { height: n, width: n, fallbackPrefix: ng.prefix })}</g>`), + v.attr("transform", "translate(" + (g + s + 1) + ", " + (m + s + 1) + ")"), + (g += n), + (m += i / 2 - 1 - 2) + } + if (l.label) { + const v = p.append("g") + await fa( + v, + l.label, + { useHtmlLabels: !1, width: h, classes: "architecture-service-label" }, + we(), + ), + v + .attr("dy", "1em") + .attr("alignment-baseline", "middle") + .attr("dominant-baseline", "start") + .attr("text-anchor", "start"), + v.attr("transform", "translate(" + (g + s + 4) + ", " + (m + s + 2) + ")") + } + } + }), + ) + }, "drawGroups"), + ZRe = x(async function (t, e, r) { + for (const n of r) { + const i = e.append("g"), + a = Bn("iconSize") + if (n.title) { + const u = i.append("g") + await fa( + u, + n.title, + { useHtmlLabels: !1, width: a * 1.5, classes: "architecture-service-label" }, + we(), + ), + u + .attr("dy", "1em") + .attr("alignment-baseline", "middle") + .attr("dominant-baseline", "middle") + .attr("text-anchor", "middle"), + u.attr("transform", "translate(" + a / 2 + ", " + a + ")") + } + const s = i.append("g") + if (n.icon) s.html(`<g>${await Uc(n.icon, { height: a, width: a, fallbackPrefix: ng.prefix })}</g>`) + else if (n.iconText) { + s.html(`<g>${await Uc("blank", { height: a, width: a, fallbackPrefix: ng.prefix })}</g>`) + const d = s + .append("g") + .append("foreignObject") + .attr("width", a) + .attr("height", a) + .append("div") + .attr("class", "node-icon-text") + .attr("style", `height: ${a}px;`) + .append("div") + .html(n.iconText), + f = + parseInt( + window.getComputedStyle(d.node(), null).getPropertyValue("font-size").replace(/\D/g, ""), + ) ?? 16 + d.attr("style", `-webkit-line-clamp: ${Math.floor((a - 2) / f)};`) + } else + s.append("path") + .attr("class", "node-bkg") + .attr("id", "node-" + n.id) + .attr("d", `M0 ${a} v${-a} q0,-5 5,-5 h${a} q5,0 5,5 v${a} H0 Z`) + i.attr("class", "architecture-service") + const { width: o, height: l } = i._groups[0][0].getBBox() + ;(n.width = o), (n.height = l), t.setElementForId(n.id, i) + } + return 0 + }, "drawServices"), + QRe = x(function (t, e, r) { + r.forEach((n) => { + const i = e.append("g"), + a = Bn("iconSize") + i + .append("g") + .append("rect") + .attr("id", "node-" + n.id) + .attr("fill-opacity", "0") + .attr("width", a) + .attr("height", a), + i.attr("class", "architecture-junction") + const { width: o, height: l } = i._groups[0][0].getBBox() + ;(i.width = o), (i.height = l), t.setElementForId(n.id, i) + }) + }, "drawJunctions") +YM([{ name: ng.prefix, icons: ng }]) +to.use(ERe) +function OH(t, e) { + t.forEach((r) => { + e.add({ + group: "nodes", + data: { + type: "service", + id: r.id, + icon: r.icon, + label: r.title, + parent: r.in, + width: Bn("iconSize"), + height: Bn("iconSize"), + }, + classes: "node-service", + }) + }) +} +x(OH, "addServices") +function PH(t, e) { + t.forEach((r) => { + e.add({ + group: "nodes", + data: { type: "junction", id: r.id, parent: r.in, width: Bn("iconSize"), height: Bn("iconSize") }, + classes: "node-junction", + }) + }) +} +x(PH, "addJunctions") +function BH(t, e) { + e.nodes().map((r) => { + const n = hh(r) + if (n.type === "group") return + ;(n.x = r.position().x), + (n.y = r.position().y), + t.getElementById(n.id).attr("transform", "translate(" + (n.x || 0) + "," + (n.y || 0) + ")") + }) +} +x(BH, "positionNodes") +function FH(t, e) { + t.forEach((r) => { + e.add({ + group: "nodes", + data: { type: "group", id: r.id, icon: r.icon, label: r.title, parent: r.in }, + classes: "node-group", + }) + }) +} +x(FH, "addGroups") +function $H(t, e) { + t.forEach((r) => { + const { + lhsId: n, + rhsId: i, + lhsInto: a, + lhsGroup: s, + rhsInto: o, + lhsDir: l, + rhsDir: u, + rhsGroup: h, + title: d, + } = r, + f = US(r.lhsDir, r.rhsDir) ? "segments" : "straight", + p = { + id: `${n}-${i}`, + label: d, + source: n, + sourceDir: l, + sourceArrow: a, + sourceGroup: s, + sourceEndpoint: l === "L" ? "0 50%" : l === "R" ? "100% 50%" : l === "T" ? "50% 0" : "50% 100%", + target: i, + targetDir: u, + targetArrow: o, + targetGroup: h, + targetEndpoint: u === "L" ? "0 50%" : u === "R" ? "100% 50%" : u === "T" ? "50% 0" : "50% 100%", + } + e.add({ group: "edges", data: p, classes: f }) + }) +} +x($H, "addEdges") +function zH(t, e, r) { + const n = x( + (o, l) => + Object.entries(o).reduce((u, [h, d]) => { + var g + let f = 0 + const p = Object.entries(d) + if (p.length === 1) return (u[h] = p[0][1]), u + for (let m = 0; m < p.length - 1; m++) + for (let v = m + 1; v < p.length; v++) { + const [y, b] = p[m], + [w, T] = p[v] + if (((g = r[y]) == null ? void 0 : g[w]) === l) + u[h] ?? (u[h] = []), (u[h] = [...u[h], ...b, ...T]) + else if (y === "default" || w === "default") + u[h] ?? (u[h] = []), (u[h] = [...u[h], ...b, ...T]) + else { + const S = `${h}-${f++}` + u[S] = b + const k = `${h}-${f++}` + u[k] = T + } + } + return u + }, {}), + "flattenAlignments", + ), + i = e.map((o) => { + const l = {}, + u = {} + return ( + Object.entries(o).forEach(([h, [d, f]]) => { + var g, m, v + const p = ((g = t.getNode(h)) == null ? void 0 : g.in) ?? "default" + l[f] ?? (l[f] = {}), + (m = l[f])[p] ?? (m[p] = []), + l[f][p].push(h), + u[d] ?? (u[d] = {}), + (v = u[d])[p] ?? (v[p] = []), + u[d][p].push(h) + }), + { + horiz: Object.values(n(l, "horizontal")).filter((h) => h.length > 1), + vert: Object.values(n(u, "vertical")).filter((h) => h.length > 1), + } + ) + }), + [a, s] = i.reduce( + ([o, l], { horiz: u, vert: h }) => [ + [...o, ...u], + [...l, ...h], + ], + [[], []], + ) + return { horizontal: a, vertical: s } +} +x(zH, "getAlignments") +function VH(t) { + const e = [], + r = x((i) => `${i[0]},${i[1]}`, "posToStr"), + n = x((i) => i.split(",").map((a) => parseInt(a)), "strToPos") + return ( + t.forEach((i) => { + const a = Object.fromEntries(Object.entries(i).map(([u, h]) => [r(h), u])), + s = [r([0, 0])], + o = {}, + l = { L: [-1, 0], R: [1, 0], T: [0, 1], B: [0, -1] } + for (; s.length > 0; ) { + const u = s.shift() + if (u) { + o[u] = 1 + const h = a[u] + if (h) { + const d = n(u) + Object.entries(l).forEach(([f, p]) => { + const g = r([d[0] + p[0], d[1] + p[1]]), + m = a[g] + m && + !o[g] && + (s.push(g), e.push({ [NN[f]]: m, [NN[kRe(f)]]: h, gap: 1.5 * Bn("iconSize") })) + }) + } + } + } + }), + e + ) +} +x(VH, "getRelativeConstraints") +function GH(t, e, r, n, i, { spatialMaps: a, groupAlignments: s }) { + return new Promise((o) => { + const l = rt("body").append("div").attr("id", "cy").attr("style", "display:none"), + u = to({ + container: document.getElementById("cy"), + style: [ + { + selector: "edge", + style: { + "curve-style": "straight", + label: "data(label)", + "source-endpoint": "data(sourceEndpoint)", + "target-endpoint": "data(targetEndpoint)", + }, + }, + { + selector: "edge.segments", + style: { + "curve-style": "segments", + "segment-weights": "0", + "segment-distances": [0.5], + "edge-distances": "endpoints", + "source-endpoint": "data(sourceEndpoint)", + "target-endpoint": "data(targetEndpoint)", + }, + }, + { selector: "node", style: { "compound-sizing-wrt-labels": "include" } }, + { + selector: "node[label]", + style: { "text-valign": "bottom", "text-halign": "center", "font-size": `${Bn("fontSize")}px` }, + }, + { + selector: ".node-service", + style: { label: "data(label)", width: "data(width)", height: "data(height)" }, + }, + { selector: ".node-junction", style: { width: "data(width)", height: "data(height)" } }, + { selector: ".node-group", style: { padding: `${Bn("padding")}px` } }, + ], + }) + l.remove(), FH(r, u), OH(t, u), PH(e, u), $H(n, u) + const h = zH(i, a, s), + d = VH(a), + f = u.layout({ + name: "fcose", + quality: "proof", + styleEnabled: !1, + animate: !1, + nodeDimensionsIncludeLabels: !1, + idealEdgeLength(p) { + const [g, m] = p.connectedNodes(), + { parent: v } = hh(g), + { parent: y } = hh(m) + return v === y ? 1.5 * Bn("iconSize") : 0.5 * Bn("iconSize") + }, + edgeElasticity(p) { + const [g, m] = p.connectedNodes(), + { parent: v } = hh(g), + { parent: y } = hh(m) + return v === y ? 0.45 : 0.001 + }, + alignmentConstraint: h, + relativePlacementConstraint: d, + }) + f.one("layoutstop", () => { + var g + function p(m, v, y, b) { + let w, T + const { x: E, y: S } = m, + { x: k, y: L } = v + ;(T = (b - S + ((E - y) * (S - L)) / (E - k)) / Math.sqrt(1 + Math.pow((S - L) / (E - k), 2))), + (w = Math.sqrt(Math.pow(b - S, 2) + Math.pow(y - E, 2) - Math.pow(T, 2))) + const A = Math.sqrt(Math.pow(k - E, 2) + Math.pow(L - S, 2)) + w = w / A + let R = (k - E) * (b - S) - (L - S) * (y - E) + switch (!0) { + case R >= 0: + R = 1 + break + case R < 0: + R = -1 + break + } + let C = (k - E) * (y - E) + (L - S) * (b - S) + switch (!0) { + case C >= 0: + C = 1 + break + case C < 0: + C = -1 + break + } + return (T = Math.abs(T) * R), (w = w * C), { distances: T, weights: w } + } + x(p, "getSegmentWeights"), u.startBatch() + for (const m of Object.values(u.edges())) + if ((g = m.data) != null && g.call(m)) { + const { x: v, y } = m.source().position(), + { x: b, y: w } = m.target().position() + if (v !== b && y !== w) { + const T = m.sourceEndpoint(), + E = m.targetEndpoint(), + { sourceDir: S } = IH(m), + [k, L] = Hl(S) ? [T.x, E.y] : [E.x, T.y], + { weights: A, distances: R } = p(T, E, k, L) + m.style("segment-distances", R), m.style("segment-weights", A) + } + } + u.endBatch(), f.run() + }), + f.run(), + u.ready((p) => { + ie.info("Ready", p), o(u) + }) + }) +} +x(GH, "layoutArchitecture") +var JRe = x(async (t, e, r, n) => { + const i = n.db, + a = i.getServices(), + s = i.getJunctions(), + o = i.getGroups(), + l = i.getEdges(), + u = i.getDataStructures(), + h = il(e), + d = h.append("g") + d.attr("class", "architecture-edges") + const f = h.append("g") + f.attr("class", "architecture-services") + const p = h.append("g") + p.attr("class", "architecture-groups"), await ZRe(i, f, a), QRe(i, f, s) + const g = await GH(a, s, o, l, i, u) + await jRe(d, g), await KRe(p, g), BH(i, g), rf(void 0, h, Bn("padding"), Bn("useMaxWidth")) + }, "draw"), + eNe = { draw: JRe }, + tNe = { parser: HRe, db: d2, renderer: eNe, styles: XRe } +const rNe = Object.freeze( + Object.defineProperty({ __proto__: null, diagram: tNe }, Symbol.toStringTag, { value: "Module" }), +) +export { + c4e as A, + jbe as G, + Qbe as I, + t4e as P, + d4e as R, + dr as _, + Jbe as a, + r4e as b, + iNe as c, + a4e as d, + s4e as e, + u4e as f, + Qd as g, + Kbe as h, + f4e as i, + WX as k, + hNe as m, +} +//# sourceMappingURL=mermaid-bundle.js.map diff --git a/src/webview-ui/build/assets/mermaid-bundle.js.map b/src/webview-ui/build/assets/mermaid-bundle.js.map new file mode 100644 index 0000000000..c51bdf56d3 --- /dev/null +++ b/src/webview-ui/build/assets/mermaid-bundle.js.map @@ -0,0 +1,14907 @@ +{ + "version": 3, + "mappings": "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IAAK,EACpC,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACpC,GAAM,CAAC,QAAU,OAAS,EAAG,EAAG,IAAK,EACrC,GAAM,CAAC,QAAU,OAAS,EAAG,EAAG,IAAK,EACrC,GAAM,CAAC,QAAU,OAAS,EAAG,EAAG,IAAK,EACrC,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACpC,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACpC,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACpC,GAAM,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACpC,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,OAAS,EAAG,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,GAAM,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC9B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EACzB,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,EAAG,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,EACrC,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,IAAO,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAC/B,KAAQ,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAChC,KAAQ,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAChC,KAAQ,CAAC,EAAG,OAAS,EAAG,EAAG,IAAK,EAChC,KAAQ,CAAC,OAAS,OAAS,EAAG,EAAG,IAAK,CAC1C,CACA,EA+BIC,GAAe,CACjB,MAAO,CAAC,IAAO,IAAO,GAAK,EAE3B,MAAO,CAAC,EAAO,EAAO,CAAK,EAE3B,QAAS,CAAC,EAAO,EAAO,CAAK,EAE7B,OAAQ,CAAC,EAAO,EAAO,CAAK,EAE5B,QAAS,CAAC,KAAO,KAAO,IAAK,EAE7B,KAAM,CAAC,EAAO,MAAO,KAAK,EAE1B,WAAY,CAAC,EAAO,EAAO,CAAK,EAEhC,KAAM,CAAC,KAAO,KAAO,IAAK,EAE1B,KAAM,CAAC,KAAO,KAAO,IAAK,EAE1B,KAAM,CAAC,KAAO,KAAO,IAAK,EAE1B,OAAQ,CAAC,KAAO,KAAO,KAAK,EAE5B,OAAQ,CAAC,KAAO,KAAO,IAAK,EAE5B,KAAM,CAAC,KAAO,KAAO,IAAK,EAE1B,KAAM,CAAC,KAAO,KAAO,IAAK,EAE1B,KAAM,CAAC,KAAO,KAAO,IAAK,EAE1B,KAAM,CAAC,IAAO,KAAO,EAAK,EAE1B,KAAM,CAAC,KAAO,KAAO,EAAK,EAE1B,QAAS,CAAC,KAAO,KAAO,IAAK,EAE7B,QAAS,CAAC,IAAO,KAAO,EAAK,EAE7B,OAAQ,CAAC,KAAO,IAAO,IAAK,EAE5B,OAAQ,CAAC,KAAO,MAAO,IAAK,EAE5B,WAAY,CAAC,IAAO,IAAO,GAAK,EAOhC,qBAAsB,CAAC,IAAM,KAAO,IAAK,EAEzC,cAAe,CAAC,KAAO,KAAO,IAAK,EAEnC,cAAe,CAAC,KAAO,KAAO,IAAK,EAEnC,cAAe,CAAC,GAAK,GAAK,EAAG,EAE7B,cAAe,CAAC,GAAK,KAAO,IAAK,EAEjC,cAAe,CAAC,GAAK,KAAO,IAAK,EAIjC,kBAAmB,CAAC,IAAM,IAAM,GAAI,EAKpC,QAAS,CAAC,GAAM,GAAM,EAAI,EAG1B,cAAe,CAAC,GAAK,GAAK,EAAG,EAG7B,eAAgB,CAAC,IAAM,IAAM,GAAI,EAEjC,QAAS,CAAC,GAAK,GAAK,EAAG,EAEvB,SAAU,CAAC,IAAM,IAAM,GAAI,CAE7B,EAQIC,GAAoB,CAEtB,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IAEL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,GACP,EAMA,SAASC,GAAeC,EAAUC,EAAS,CACzCL,GAAgBI,CAAQ,EAAIC,CAC9B,CASA,SAASC,GAAoBC,EAAWC,EAAMC,EAAM,CAClD,GAAI,CAACT,GAAgBQ,CAAI,EACvB,MAAM,IAAI,MAAM,oCAAsCA,EAAO,GAAG,EAGlE,IAAIE,EAAKH,EAAU,WAAW,CAAC,EAC3BF,EAAUL,GAAgBQ,CAAI,EAAEE,CAAE,EAqBtC,GAnBI,CAACL,GAAWE,EAAU,CAAC,IAAKL,KAC9BQ,EAAKR,GAAkBK,EAAU,CAAC,CAAC,EAAE,WAAW,CAAC,EACjDF,EAAUL,GAAgBQ,CAAI,EAAEE,CAAE,GAGhC,CAACL,GAAWI,IAAS,QASnBtC,GAAmBuC,CAAE,IACvBL,EAAUL,GAAgBQ,CAAI,EAAE,EAAE,GAIlCH,EACF,MAAO,CACL,MAAOA,EAAQ,CAAC,EAChB,OAAQA,EAAQ,CAAC,EACjB,OAAQA,EAAQ,CAAC,EACjB,KAAMA,EAAQ,CAAC,EACf,MAAOA,EAAQ,CAAC,CACjB,CAEL,CACA,IAAIM,GAAyB,CAAE,EAK/B,SAASC,GAAiBpE,EAAM,CAC9B,IAAIqE,EAUJ,GARIrE,GAAQ,EACVqE,EAAY,EACHrE,GAAQ,EACjBqE,EAAY,EAEZA,EAAY,EAGV,CAACF,GAAuBE,CAAS,EAAG,CACtC,IAAIR,EAAUM,GAAuBE,CAAS,EAAI,CAChD,WAAYZ,GAAa,KAAKY,CAAS,EAAI,EAC5C,EAED,QAASC,KAAOb,GACVA,GAAa,eAAea,CAAG,IACjCT,EAAQS,CAAG,EAAIb,GAAaa,CAAG,EAAED,CAAS,EAGlD,CAEE,OAAOF,GAAuBE,CAAS,CACzC,CAQA,IAAIE,GAAe,CAEnB,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,EAAG,EAAG,CAAC,EACR,CAAC,GAAI,EAAG,CAAC,EACT,CAAC,GAAI,GAAI,CAAC,CACV,EACIC,GAAkB,CAEtB,GAAK,GAAK,GAAK,GAAK,GAAK,EAAK,IAAK,KAAM,MAAO,MAAO,KAAK,EAExDC,GAAc,SAAqBzE,EAAM0E,EAAO,CAClD,OAAOA,EAAM,KAAO,EAAI1E,EAAOuE,GAAavE,EAAO,CAAC,EAAE0E,EAAM,KAAO,CAAC,CACtE,EAUA,MAAMC,EAAQ,CAQZ,YAAYC,EAAM,CAChB,KAAK,MAAQ,OACb,KAAK,MAAQ,OACb,KAAK,KAAO,OACZ,KAAK,SAAW,OAChB,KAAK,QAAU,OACf,KAAK,KAAO,OACZ,KAAK,WAAa,OAClB,KAAK,WAAa,OAClB,KAAK,UAAY,OACjB,KAAK,eAAiB,OACtB,KAAK,QAAU,OACf,KAAK,iBAAmB,OACxB,KAAK,aAAe,OACpB,KAAK,MAAQA,EAAK,MAClB,KAAK,MAAQA,EAAK,MAClB,KAAK,KAAOA,EAAK,MAAQD,GAAQ,SACjC,KAAK,SAAWC,EAAK,UAAY,KAAK,KACtC,KAAK,QAAU,CAAC,CAACA,EAAK,QACtB,KAAK,KAAOA,EAAK,MAAQ,GACzB,KAAK,WAAaA,EAAK,YAAc,GACrC,KAAK,WAAaA,EAAK,YAAc,GACrC,KAAK,UAAYA,EAAK,WAAa,GACnC,KAAK,eAAiBJ,GAAgB,KAAK,KAAO,CAAC,EACnD,KAAK,QAAUI,EAAK,QACpB,KAAK,iBAAmBA,EAAK,iBAC7B,KAAK,aAAe,MACxB,CAOE,OAAOC,EAAW,CAChB,IAAID,EAAO,CACT,MAAO,KAAK,MACZ,KAAM,KAAK,KACX,SAAU,KAAK,SACf,MAAO,KAAK,MACZ,QAAS,KAAK,QACd,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,UAAW,KAAK,UAChB,QAAS,KAAK,QACd,iBAAkB,KAAK,gBACxB,EAED,QAASN,KAAOO,EACVA,EAAU,eAAeP,CAAG,IAC9BM,EAAKN,CAAG,EAAIO,EAAUP,CAAG,GAI7B,OAAO,IAAIK,GAAQC,CAAI,CAC3B,CAOE,YAAYF,EAAO,CACjB,OAAI,KAAK,QAAUA,EACV,KAEA,KAAK,OAAO,CACjB,MAAOA,EACP,KAAMD,GAAY,KAAK,SAAUC,CAAK,CAC9C,CAAO,CAEP,CAOE,oBAAqB,CACnB,OAAO,KAAK,YAAY,KAAK,MAAM,MAAK,CAAE,CAC9C,CAOE,WAAW1E,EAAM,CACf,OAAI,KAAK,OAASA,GAAQ,KAAK,WAAaA,EACnC,KAEA,KAAK,OAAO,CACjB,MAAO,KAAK,MAAM,KAAM,EACxB,KAAMA,EACN,SAAUA,EACV,eAAgBwE,GAAgBxE,EAAO,CAAC,CAChD,CAAO,CAEP,CAOE,gBAAgB0E,EAAO,CACrBA,EAAQA,GAAS,KAAK,MAAM,KAAM,EAClC,IAAII,EAAWL,GAAYE,GAAQ,SAAUD,CAAK,EAElD,OAAI,KAAK,OAASI,GAAY,KAAK,WAAaH,GAAQ,UAAY,KAAK,QAAUD,EAC1E,KAEA,KAAK,OAAO,CACjB,MAAOA,EACP,KAAMI,CACd,CAAO,CAEP,CAOE,kBAAmB,CACjB,IAAI9E,EAEJ,OAAQ,KAAK,MAAM,GAAE,CACnB,IAAK,GACL,IAAK,GACHA,EAAO,EAEP,MAEF,IAAK,GACL,IAAK,GACHA,EAAO,EAEP,MAEF,QACEA,EAAO,CAEf,CAEI,OAAO,KAAK,OAAO,CACjB,MAAO,KAAK,MAAM,KAAM,EACxB,KAAMA,CACZ,CAAK,CACL,CAME,UAAUnB,EAAO,CACf,OAAO,KAAK,OAAO,CACjB,MAAOA,CACb,CAAK,CACL,CAME,aAAc,CACZ,OAAO,KAAK,OAAO,CACjB,QAAS,EACf,CAAK,CACL,CAOE,SAASmF,EAAM,CACb,OAAO,KAAK,OAAO,CACjB,KAAAA,CACN,CAAK,CACL,CAME,mBAAmBe,EAAY,CAC7B,OAAO,KAAK,OAAO,CACjB,WAAAA,EACA,KAAM,EACZ,CAAK,CACL,CAME,mBAAmBC,EAAY,CAC7B,OAAO,KAAK,OAAO,CACjB,WAAAA,EACA,KAAM,EACZ,CAAK,CACL,CAME,kBAAkBC,EAAW,CAC3B,OAAO,KAAK,OAAO,CACjB,UAAAA,EACA,KAAM,EACZ,CAAK,CACL,CAOE,cAAcC,EAAY,CACxB,OAAIA,EAAW,OAAS,KAAK,KACpB,CAAC,SAAU,aAAeA,EAAW,KAAM,OAAS,KAAK,IAAI,EAE7D,CAAE,CAEf,CAOE,mBAAoB,CAClB,OAAI,KAAK,OAASP,GAAQ,SACjB,CAAC,SAAU,aAAe,KAAK,KAAM,OAASA,GAAQ,QAAQ,EAE9D,CAAE,CAEf,CAME,aAAc,CACZ,OAAK,KAAK,eACR,KAAK,aAAeP,GAAiB,KAAK,IAAI,GAGzC,KAAK,YAChB,CAME,UAAW,CACT,OAAI,KAAK,QACA,cAEA,KAAK,KAElB,CAEA,CAEAO,GAAQ,SAAW,EAUnB,IAAIQ,GAAY,CAGd,GAAM,EAEN,GAAM,KAAO,KAEb,GAAM,KAAO,IAEb,GAAM,MAEN,GAAM,IAAM,IAEZ,GAAM,GAEN,GAAM,KAAO,KAEb,GAAM,MAAQ,KAEd,GAAM,IAAM,IAEZ,GAAM,KAAO,IAEb,GAAM,EAAI,MAGV,GAAM,IAAM,GAEd,EAEIC,GAAe,CACjB,GAAM,GACN,GAAM,GACN,GAAM,EACR,EAMIC,GAAY,SAAmBC,EAAM,CACvC,OAAI,OAAOA,GAAS,WAClBA,EAAOA,EAAK,MAGPA,KAAQH,IAAaG,KAAQF,IAAgBE,IAAS,IAC/D,EAOIC,GAAgB,SAAuBC,EAAWjG,EAAS,CAC7D,IAAIkG,EAEJ,GAAID,EAAU,QAAQL,GAEpBM,EAAQN,GAAUK,EAAU,IAAI,EAC9BjG,EAAQ,YAAW,EAAG,QACtBA,EAAQ,uBACDiG,EAAU,OAAS,KAE5BC,EAAQlG,EAAQ,YAAW,EAAG,eACzB,CAGL,IAAImG,EAgBJ,GAdInG,EAAQ,MAAM,UAEhBmG,EAAcnG,EAAQ,YAAYA,EAAQ,MAAM,KAAI,CAAE,EAEtDmG,EAAcnG,EAUZiG,EAAU,OAAS,KACrBC,EAAQC,EAAY,YAAW,EAAG,gBACzBF,EAAU,OAAS,KAC5BC,EAAQC,EAAY,YAAW,EAAG,SAElC,OAAM,IAAI9I,GAAW,kBAAoB4I,EAAU,KAAO,GAAG,EAG3DE,IAAgBnG,IAClBkG,GAASC,EAAY,eAAiBnG,EAAQ,eAEpD,CAEE,OAAO,KAAK,IAAIiG,EAAU,OAASC,EAAOlG,EAAQ,OAAO,CAC3D,EAMIoG,GAAS,SAAgB1G,EAAG,CAC9B,MAAO,CAACA,EAAE,QAAQ,CAAC,EAAI,IACzB,EAmBI2G,GAAc,SAAqBC,EAAS,CAC9C,OAAOA,EAAQ,OAAOC,GAAOA,CAAG,EAAE,KAAK,GAAG,CAC5C,EAEIC,GAAW,SAAkBF,EAAStG,EAASmF,EAAO,CAQxD,GAPA,KAAK,QAAUmB,GAAW,CAAE,EAC5B,KAAK,WAAa,CAAE,EACpB,KAAK,OAAS,EACd,KAAK,MAAQ,EACb,KAAK,YAAc,EACnB,KAAK,MAAQnB,GAAS,CAAE,EAEpBnF,EAAS,CACPA,EAAQ,MAAM,WAChB,KAAK,QAAQ,KAAK,QAAQ,EAG5B,IAAIV,EAAQU,EAAQ,SAAU,EAE1BV,IACF,KAAK,MAAM,MAAQA,EAEzB,CACA,EAMImH,GAAS,SAAgBC,EAAS,CACpC,IAAIC,EAAO,SAAS,cAAcD,CAAO,EAEzCC,EAAK,UAAYN,GAAY,KAAK,OAAO,EAEzC,QAASlB,KAAS,KAAK,MACjB,KAAK,MAAM,eAAeA,CAAK,IAEjCwB,EAAK,MAAMxB,CAAK,EAAI,KAAK,MAAMA,CAAK,GAKxC,QAASyB,KAAQ,KAAK,WAChB,KAAK,WAAW,eAAeA,CAAI,GACrCD,EAAK,aAAaC,EAAM,KAAK,WAAWA,CAAI,CAAC,EAKjD,QAAS9E,EAAI,EAAGA,EAAI,KAAK,SAAS,OAAQA,IACxC6E,EAAK,YAAY,KAAK,SAAS7E,CAAC,EAAE,QAAQ,EAG5C,OAAO6E,CACT,EAWIE,GAA4B,qBAK5BC,GAAW,SAAkBJ,EAAS,CACxC,IAAI5C,EAAS,IAAM4C,EAEf,KAAK,QAAQ,SACf5C,GAAU,WAAc1E,GAAM,OAAOiH,GAAY,KAAK,OAAO,CAAC,EAAI,KAGpE,IAAI1F,EAAS,GAEb,QAASwE,KAAS,KAAK,MACjB,KAAK,MAAM,eAAeA,CAAK,IACjCxE,GAAUvB,GAAM,UAAU+F,CAAK,EAAI,IAAM,KAAK,MAAMA,CAAK,EAAI,KAI7DxE,IACFmD,GAAU,WAAc1E,GAAM,OAAOuB,CAAM,EAAI,KAIjD,QAASiG,KAAQ,KAAK,WACpB,GAAI,KAAK,WAAW,eAAeA,CAAI,EAAG,CACxC,GAAIC,GAA0B,KAAKD,CAAI,EACrC,MAAM,IAAIvJ,GAAW,2BAA6BuJ,EAAO,GAAG,EAG9D9C,GAAU,IAAM8C,EAAO,KAAQxH,GAAM,OAAO,KAAK,WAAWwH,CAAI,CAAC,EAAI,GAC3E,CAGE9C,GAAU,IAEV,QAAShC,EAAI,EAAGA,EAAI,KAAK,SAAS,OAAQA,IACxCgC,GAAU,KAAK,SAAShC,CAAC,EAAE,SAAU,EAGvC,OAAAgC,GAAU,KAAO4C,EAAU,IACpB5C,CACT,EAkBA,MAAMiD,EAAK,CACT,YAAYT,EAAS3C,EAAU3D,EAASmF,EAAO,CAC7C,KAAK,SAAW,OAChB,KAAK,WAAa,OAClB,KAAK,QAAU,OACf,KAAK,OAAS,OACd,KAAK,MAAQ,OACb,KAAK,MAAQ,OACb,KAAK,YAAc,OACnB,KAAK,MAAQ,OACbqB,GAAS,KAAK,KAAMF,EAAStG,EAASmF,CAAK,EAC3C,KAAK,SAAWxB,GAAY,CAAE,CAClC,CAQE,aAAaqD,EAAWhI,EAAO,CAC7B,KAAK,WAAWgI,CAAS,EAAIhI,CACjC,CAEE,SAAS4E,EAAW,CAClB,OAAOxE,GAAM,SAAS,KAAK,QAASwE,CAAS,CACjD,CAEE,QAAS,CACP,OAAO6C,GAAO,KAAK,KAAM,MAAM,CACnC,CAEE,UAAW,CACT,OAAOK,GAAS,KAAK,KAAM,MAAM,CACrC,CAEA,CAMA,MAAMG,EAAO,CACX,YAAYC,EAAMZ,EAAS3C,EAAU3D,EAAS,CAC5C,KAAK,SAAW,OAChB,KAAK,WAAa,OAClB,KAAK,QAAU,OACf,KAAK,OAAS,OACd,KAAK,MAAQ,OACb,KAAK,YAAc,OACnB,KAAK,MAAQ,OACbwG,GAAS,KAAK,KAAMF,EAAStG,CAAO,EACpC,KAAK,SAAW2D,GAAY,CAAE,EAC9B,KAAK,aAAa,OAAQuD,CAAI,CAClC,CAEE,aAAaF,EAAWhI,EAAO,CAC7B,KAAK,WAAWgI,CAAS,EAAIhI,CACjC,CAEE,SAAS4E,EAAW,CAClB,OAAOxE,GAAM,SAAS,KAAK,QAASwE,CAAS,CACjD,CAEE,QAAS,CACP,OAAO6C,GAAO,KAAK,KAAM,GAAG,CAChC,CAEE,UAAW,CACT,OAAOK,GAAS,KAAK,KAAM,GAAG,CAClC,CAEA,CAKA,MAAMK,EAAI,CACR,YAAYC,EAAKC,EAAKlC,EAAO,CAC3B,KAAK,IAAM,OACX,KAAK,IAAM,OACX,KAAK,QAAU,OACf,KAAK,OAAS,OACd,KAAK,MAAQ,OACb,KAAK,YAAc,OACnB,KAAK,MAAQ,OACb,KAAK,IAAMkC,EACX,KAAK,IAAMD,EACX,KAAK,QAAU,CAAC,MAAM,EACtB,KAAK,MAAQjC,CACjB,CAEE,SAASvB,EAAW,CAClB,OAAOxE,GAAM,SAAS,KAAK,QAASwE,CAAS,CACjD,CAEE,QAAS,CACP,IAAI+C,EAAO,SAAS,cAAc,KAAK,EACvCA,EAAK,IAAM,KAAK,IAChBA,EAAK,IAAM,KAAK,IAChBA,EAAK,UAAY,OAEjB,QAASxB,KAAS,KAAK,MACjB,KAAK,MAAM,eAAeA,CAAK,IAEjCwB,EAAK,MAAMxB,CAAK,EAAI,KAAK,MAAMA,CAAK,GAIxC,OAAOwB,CACX,CAEE,UAAW,CACT,IAAI7C,EAAS,aAAgB1E,GAAM,OAAO,KAAK,GAAG,EAAI,KAAQ,SAAYA,GAAM,OAAO,KAAK,GAAG,EAAI,KAE/FuB,EAAS,GAEb,QAASwE,KAAS,KAAK,MACjB,KAAK,MAAM,eAAeA,CAAK,IACjCxE,GAAUvB,GAAM,UAAU+F,CAAK,EAAI,IAAM,KAAK,MAAMA,CAAK,EAAI,KAIjE,OAAIxE,IACFmD,GAAU,WAAc1E,GAAM,OAAOuB,CAAM,EAAI,KAGjDmD,GAAU,MACHA,CACX,CAEA,CACA,IAAIwD,GAAgB,CAClB,EAAK,KACL,EAAK,KACL,EAAK,KAEL,EAAK,IACP,EAOA,MAAMC,EAAW,CACf,YAAYrK,EAAMoG,EAAQkE,EAAOC,EAAQC,EAAMC,EAAOrB,EAASnB,EAAO,CACpE,KAAK,KAAO,OACZ,KAAK,OAAS,OACd,KAAK,MAAQ,OACb,KAAK,OAAS,OACd,KAAK,KAAO,OACZ,KAAK,MAAQ,OACb,KAAK,YAAc,OACnB,KAAK,QAAU,OACf,KAAK,MAAQ,OACb,KAAK,KAAOjI,EACZ,KAAK,OAASoG,GAAU,EACxB,KAAK,MAAQkE,GAAS,EACtB,KAAK,OAASC,GAAU,EACxB,KAAK,KAAOC,GAAQ,EACpB,KAAK,MAAQC,GAAS,EACtB,KAAK,QAAUrB,GAAW,CAAE,EAC5B,KAAK,MAAQnB,GAAS,CAAE,EACxB,KAAK,YAAc,EAQnB,IAAIpD,EAASH,GAAoB,KAAK,KAAK,WAAW,CAAC,CAAC,EAEpDG,GACF,KAAK,QAAQ,KAAKA,EAAS,WAAW,EAGpC,SAAS,KAAK,KAAK,IAAI,IAEzB,KAAK,KAAOuF,GAAc,KAAK,IAAI,EAEzC,CAEE,SAAS1D,EAAW,CAClB,OAAOxE,GAAM,SAAS,KAAK,QAASwE,CAAS,CACjD,CAOE,QAAS,CACP,IAAI+C,EAAO,SAAS,eAAe,KAAK,IAAI,EACxCiB,EAAO,KAEP,KAAK,OAAS,IAChBA,EAAO,SAAS,cAAc,MAAM,EACpCA,EAAK,MAAM,YAAcxB,GAAO,KAAK,MAAM,GAGzC,KAAK,QAAQ,OAAS,IACxBwB,EAAOA,GAAQ,SAAS,cAAc,MAAM,EAC5CA,EAAK,UAAYvB,GAAY,KAAK,OAAO,GAG3C,QAASlB,KAAS,KAAK,MACjB,KAAK,MAAM,eAAeA,CAAK,IACjCyC,EAAOA,GAAQ,SAAS,cAAc,MAAM,EAE5CA,EAAK,MAAMzC,CAAK,EAAI,KAAK,MAAMA,CAAK,GAIxC,OAAIyC,GACFA,EAAK,YAAYjB,CAAI,EACdiB,GAEAjB,CAEb,CAME,UAAW,CAGT,IAAIkB,EAAY,GACZ/D,EAAS,QAET,KAAK,QAAQ,SACf+D,EAAY,GACZ/D,GAAU,WACVA,GAAU1E,GAAM,OAAOiH,GAAY,KAAK,OAAO,CAAC,EAChDvC,GAAU,KAGZ,IAAInD,EAAS,GAET,KAAK,OAAS,IAChBA,GAAU,gBAAkB,KAAK,OAAS,OAG5C,QAASwE,KAAS,KAAK,MACjB,KAAK,MAAM,eAAeA,CAAK,IACjCxE,GAAUvB,GAAM,UAAU+F,CAAK,EAAI,IAAM,KAAK,MAAMA,CAAK,EAAI,KAI7DxE,IACFkH,EAAY,GACZ/D,GAAU,WAAc1E,GAAM,OAAOuB,CAAM,EAAI,KAGjD,IAAImH,EAAU1I,GAAM,OAAO,KAAK,IAAI,EAEpC,OAAIyI,GACF/D,GAAU,IACVA,GAAUgE,EACVhE,GAAU,UACHA,GAEAgE,CAEb,CAEA,CAKA,MAAMC,EAAQ,CACZ,YAAYpE,EAAUqE,EAAY,CAChC,KAAK,SAAW,OAChB,KAAK,WAAa,OAClB,KAAK,SAAWrE,GAAY,CAAE,EAC9B,KAAK,WAAaqE,GAAc,CAAE,CACtC,CAEE,QAAS,CACP,IAAIC,EAAQ,6BACRtB,EAAO,SAAS,gBAAgBsB,EAAO,KAAK,EAEhD,QAASrB,KAAQ,KAAK,WAChB,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAI,GAC5DD,EAAK,aAAaC,EAAM,KAAK,WAAWA,CAAI,CAAC,EAIjD,QAAS,EAAI,EAAG,EAAI,KAAK,SAAS,OAAQ,IACxCD,EAAK,YAAY,KAAK,SAAS,CAAC,EAAE,QAAQ,EAG5C,OAAOA,CACX,CAEE,UAAW,CACT,IAAI7C,EAAS,0CAEb,QAAS8C,KAAQ,KAAK,WAChB,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAI,IAC5D9C,GAAU,IAAM8C,EAAO,KAAQxH,GAAM,OAAO,KAAK,WAAWwH,CAAI,CAAC,EAAI,KAIzE9C,GAAU,IAEV,QAAShC,EAAI,EAAGA,EAAI,KAAK,SAAS,OAAQA,IACxCgC,GAAU,KAAK,SAAShC,CAAC,EAAE,SAAU,EAGvC,OAAAgC,GAAU,SACHA,CACX,CAEA,CACA,MAAMoE,EAAS,CACb,YAAYC,EAAUC,EAAW,CAC/B,KAAK,SAAW,OAChB,KAAK,UAAY,OACjB,KAAK,SAAWD,EAChB,KAAK,UAAYC,CACrB,CAEE,QAAS,CACP,IAAIH,EAAQ,6BACRtB,EAAO,SAAS,gBAAgBsB,EAAO,MAAM,EAEjD,OAAI,KAAK,UACPtB,EAAK,aAAa,IAAK,KAAK,SAAS,EAErCA,EAAK,aAAa,IAAKxD,GAAK,KAAK,QAAQ,CAAC,EAGrCwD,CACX,CAEE,UAAW,CACT,OAAI,KAAK,UACA,YAAevH,GAAM,OAAO,KAAK,SAAS,EAAI,MAE9C,YAAeA,GAAM,OAAO+D,GAAK,KAAK,QAAQ,CAAC,EAAI,KAEhE,CAEA,CACA,MAAMkF,EAAS,CACb,YAAYL,EAAY,CACtB,KAAK,WAAa,OAClB,KAAK,WAAaA,GAAc,CAAE,CACtC,CAEE,QAAS,CACP,IAAIC,EAAQ,6BACRtB,EAAO,SAAS,gBAAgBsB,EAAO,MAAM,EAEjD,QAASrB,KAAQ,KAAK,WAChB,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAI,GAC5DD,EAAK,aAAaC,EAAM,KAAK,WAAWA,CAAI,CAAC,EAIjD,OAAOD,CACX,CAEE,UAAW,CACT,IAAI7C,EAAS,QAEb,QAAS8C,KAAQ,KAAK,WAChB,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAI,IAC5D9C,GAAU,IAAM8C,EAAO,KAAQxH,GAAM,OAAO,KAAK,WAAWwH,CAAI,CAAC,EAAI,KAIzE,OAAA9C,GAAU,KACHA,CACX,CAEA,CACA,SAASwE,GAAoB1J,EAAO,CAClC,GAAIA,aAAiB2I,GACnB,OAAO3I,EAEP,MAAM,IAAI,MAAM,+BAAiC,OAAOA,CAAK,EAAI,GAAG,CAExE,CACA,SAAS2J,GAAW3J,EAAO,CACzB,GAAIA,aAAiBmI,GACnB,OAAOnI,EAEP,MAAM,IAAI,MAAM,sCAAwC,OAAOA,CAAK,EAAI,GAAG,CAE/E,CAuBA,IAAI4J,GAAQ,CACV,IAAO,EACP,MAAS,EACT,MAAS,EACT,KAAQ,EACR,MAAS,EACT,IAAO,CACT,EACIC,GAAY,CACd,eAAgB,EAChB,QAAW,EACX,WAAY,EACZ,QAAW,EACX,QAAW,CACb,EACIC,GAAU,CACZ,KAAQ,CAAE,EACV,KAAQ,EACV,EAGA,SAASC,EAAajE,EAAMD,EAAM7F,EAAOgK,EAASvF,EAAMwF,EAAmB,CACzEH,GAAQhE,CAAI,EAAErB,CAAI,EAAI,CACpB,KAAAoB,EACA,MAAA7F,EACA,QAAAgK,CACD,EAEGC,GAAqBD,IACvBF,GAAQhE,CAAI,EAAEkE,CAAO,EAAIF,GAAQhE,CAAI,EAAErB,CAAI,EAE/C,CAIA,IAAIyF,EAAO,OACP5L,GAAO,OAEP6L,GAAO,OACPC,GAAM,MAENC,GAAS,eACTC,GAAM,MACNC,GAAQ,QACRC,GAAQ,QACRC,GAAU,UACVC,GAAK,WACLC,GAAO,OACPC,GAAQ,QACRC,GAAM,MACNC,GAAU,UACVC,GAAU,UAGdhB,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,SAAU,EAAI,EACtDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,SAAU,EAAI,EACtDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAS,EAAI,EACrDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAQ,EAChDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAS,EAAI,EACrDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,OAAQ,EAAI,EACpDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,OAAQ,EAAI,EACpDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAY,EACpDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,eAAgB,EAAI,EAC5Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,eAAgB,EAAI,EAC5Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,OAAQ,EAAI,EACpDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAW,EAAI,EACvDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAQ,EAEhDd,EAAaG,EAAMC,GAAMS,GAAO,IAAU,SAAS,EACnDb,EAAaG,EAAMC,GAAMS,GAAO,IAAU,SAAS,EAEnDb,EAAaG,EAAMC,GAAMY,GAAS,IAAU,KAAK,EACjDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAK,EACjDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,KAAK,EACjDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAK,EACjDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,WAAY,EAAI,EAC5DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,SAAU,EAAI,EAC1DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,WAAY,EAAI,EAC5DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,SAAU,EAAI,EAC1DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAS,EAAI,EACzDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,YAAa,EAAI,EAC7DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,aAAc,EAAI,EAC9DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,gBAAiB,EAAI,EACjEhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,cAAe,EAAI,EAC/DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,cAAe,EAAI,EAC/DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAK,EACjDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAK,EAEjDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAO,EACnDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,OAAO,EACnDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,cAAc,EAC1DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAQ,EACpDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,QAAQ,EACpDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,iBAAiB,EAE7DhB,EAAaG,EAAMC,GAAMI,GAAO,IAAU,eAAgB,EAAI,EAC9DR,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,eAAgB,EAAI,EAC7DZ,EAAaG,EAAMC,GAAMI,GAAO,IAAU,WAAY,EAAI,EAC1DR,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,WAAY,EAAI,EAEzDZ,EAAaG,EAAMC,GAAMG,GAAK,IAAU,OAAQ,EAAI,EACpDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,WAAY,EAAI,EACxDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAW,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAW,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,OAAO,EAC/CP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAW,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,YAAa,EAAI,EACzDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,WAAY,EAAI,EACxDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,WAAW,EACnDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,OAAQ,EAAI,EACpDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,SAAS,EACjDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,OAAO,EAG/CP,EAAaG,EAAMC,GAAMU,GAAK,IAAU,kBAAmB,EAAI,EAC/Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,cAAe,EAAI,EAC3Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,kBAAmB,EAAI,EAC/Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,mBAAoB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,eAAgB,EAAI,EAC5Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,mBAAoB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,mBAAoB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,uBAAwB,EAAI,EACpEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,mBAAoB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,uBAAwB,EAAI,EACpEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,eAAgB,EAAI,EAC5Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EACzDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,kBAAmB,EAAI,EAC/Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,mBAAoB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EACzDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,kBAAmB,EAAI,EAC/Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,mBAAoB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EACzDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,oBAAqB,EAAI,EACjEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,qBAAsB,EAAI,EAClEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EACzDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,sBAAuB,EAAI,EAEnEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EAEtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAU,EACjDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EAEtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,iBAAiB,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,iBAAiB,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAkB,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAU,EACjDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EAEtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAE5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAmB,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAkB,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,qBAAsB,EAAI,EACjEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAe,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,iBAAiB,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAkB,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAe,EACtDd,EAAaG,EAAME,GAAKE,GAAK,IAAU,SAAS,EAChDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,SAAS,EAEhDP,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAEhEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAe,EACtDd,EAAaG,EAAME,GAAKW,GAAS,IAAU,UAAU,EACrDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,gBAAgB,EAC3DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,WAAW,EACtDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,YAAY,EACvDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,YAAY,EACvDhB,EAAazL,GAAM8L,GAAKW,GAAS,IAAU,YAAY,EACvDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,kBAAmB,EAAI,EAClEhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,WAAW,EACtDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,OAAO,EAClDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,SAAU,EAAI,EACzDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,SAAU,EAAI,EACzDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,aAAa,EACxDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,iBAAiB,EAC5DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,qBAAqB,EAChEhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,eAAe,EAC1DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,gBAAgB,EAC3DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,WAAW,EACtDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,mBAAoB,EAAI,EACnEhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,eAAgB,EAAI,EAE/DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,QAAS,EAAI,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,GAAQ,EACpDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,UAAU,EACrDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,YAAY,EACvDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,UAAU,EACrDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,OAAO,EAClDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,WAAW,EAEtDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,QAAS,EAAI,EACxDhB,EAAazL,GAAM8L,GAAKW,GAAS,IAAU,QAAS,EAAI,EACxDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,cAAe,EAAI,EAC9DhB,EAAazL,GAAM8L,GAAKW,GAAS,IAAU,aAAa,EAExDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,SAAU,EAAI,EACzDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,WAAY,EAAI,EAC3DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,UAAW,EAAI,EAE1DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,YAAa,EAAI,EAC5DhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,YAAY,EAEvDhB,EAAaG,EAAME,GAAKO,GAAM,IAAU,cAAe,EAAI,EAC3DZ,EAAaG,EAAME,GAAKG,GAAO,IAAU,cAAe,EAAI,EAC5DR,EAAaG,EAAME,GAAKO,GAAM,IAAU,cAAe,EAAI,EAC3DZ,EAAaG,EAAME,GAAKG,GAAO,IAAU,cAAe,EAAI,EAE5DR,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKE,GAAK,IAAU,WAAW,EAClDP,EAAaG,EAAME,GAAKS,GAAK,IAAU,QAAS,EAAI,EACpDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAY,EACnDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,iBAAkB,EAAI,EAC7Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAmB,EAAI,EAC9Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAmB,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAkB,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAc,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKE,GAAK,IAAU,UAAU,EACjDP,EAAaG,EAAME,GAAKS,GAAK,IAAU,QAAS,EAAI,EACpDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAY,EACnDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAe,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAY,EAAI,EACvDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAoB,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAmB,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAY,EACnDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,iBAAiB,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAa,EACpDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,qBAAqB,EAG5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAe,EACtDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,sBAAsB,EAG7Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,YAAa,EAAI,EACxDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAU,EACjDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAS,EAChDd,EAAaG,EAAME,GAAKE,GAAK,IAAU,OAAO,EAC9CP,EAAaG,EAAME,GAAKE,GAAK,IAAU,OAAO,EAC9CP,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EACtDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAQ,EAChDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,UAAW,EAAI,EAEtDd,EAAaG,EAAME,GAAKE,GAAK,IAAU,YAAa,EAAI,EACxDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,iBAAiB,EACxDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,QAAS,EAAI,EACpDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,QAAS,EAAI,EACpDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,mBAAoB,EAAI,EAC/DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAc,EAAI,EACzDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,YAAa,EAAI,EACxDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,kBAAmB,EAAI,EAC9DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,WAAY,EAAI,EACvDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,WAAY,EAAI,EACvDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,mBAAoB,EAAI,EAC/DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,oBAAqB,EAAI,EAChEP,EAAaG,EAAME,GAAKE,GAAK,IAAU,eAAgB,EAAI,EAC3DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAc,EAAI,EACzDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,gBAAiB,EAAI,EAC5DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,eAAgB,EAAI,EAC3DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAa,EACpDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAc,EAAI,EACzDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAa,EACpDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAa,EACpDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAc,EAAI,EAIzDP,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAE/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAmB,EAAI,EAC9Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAC/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,qBAAsB,EAAI,EACjEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAmB,EAAI,EAC9Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAmB,EAAI,EAC9Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,sBAAuB,EAAI,EAClEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAE/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,QAAS,EAAI,EACpDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAgB,EAAI,EAC3Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,kBAAmB,EAAI,EAC9Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EAExDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EAEzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,aAAc,EAAI,EACzDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,wBAAyB,EAAI,EACpEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,qBAAsB,EAAI,EACjEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,sBAAuB,EAAI,EAClEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAC/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAC/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAEhEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,qBAAsB,EAAI,EACjEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,QAAS,EAAI,EACpDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAC/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,mBAAoB,EAAI,EAC/Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,qBAAsB,EAAI,EACjEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,oBAAqB,EAAI,EAChEd,EAAaG,EAAME,GAAKS,GAAK,IAAU,WAAW,EAClDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,gBAAiB,EAAI,EAC5Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,eAAe,EACtDd,EAAaG,EAAMC,GAAMY,GAAS,IAAU,GAAG,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,cAAc,EACrDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,kBAAkB,EACzDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,SAAS,EACrDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,YAAY,EACxDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,WAAY,EAAI,EAC5DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,YAAa,EAAI,EAC7DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAS,EAAI,EACzDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAS,EAAI,EACzDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAW,EAAI,EAC3DhB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAK,GAAQ,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAS,EAAI,EACzDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAQ,EACpDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAO,EACnDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,OAAO,EACnDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,YAAY,EACxDhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,cAAc,EACzDhB,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,SAAU,EAAI,EAC1DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,YAAa,EAAI,EAC7DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,SAAU,EAAI,EAC1DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,QAAS,EAAI,EACzDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,SAAU,EAAI,EAC1DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,WAAY,EAAI,EAC5DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,OAAQ,EAAI,EACxDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,OAAQ,EAAI,EACxDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,OAAQ,EAAI,EACxDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,YAAa,EAAI,EAC7DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,OAAQ,EAAI,EACxDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,QAAS,EAAI,EACzDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,QAAS,EAAI,EACzDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,YAAa,EAAI,EAC7DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,QAAS,EAAI,EACzDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,QAAS,EAAI,EACzDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,QAAS,EAAI,EACzDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,eAAgB,EAAI,EAChEV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,aAAc,EAAI,EAC9DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAW,EAAI,EAC3DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,WAAY,EAAI,EAC5DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,aAAc,EAAI,EAC9DV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,WAAY,EAAI,EAC5DV,EAAaG,EAAMC,GAAMG,GAAK,IAAU,IAAK,EAAI,EACjDP,EAAaG,EAAMC,GAAMG,GAAK,IAAK,GAAG,EACtCP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,IAAK,EAAI,EACjDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,SAAU,EAAI,EACtDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,SAAU,EAAI,EACtDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,QAAS,EAAI,EACrDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,OAAQ,EAAI,EACpDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAW,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,QAAS,EAAI,EACrDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,QAAS,EAAI,EACrDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,aAAc,EAAI,EAC1DP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,QAAQ,EAChDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,OAAO,EAC/CP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAW,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,QAAS,EAAI,EACrDP,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAQ,EACpDhB,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,WAAY,EAAI,EACzDZ,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,SAAS,EAClDZ,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,SAAS,EAClDZ,EAAaG,EAAMC,GAAMI,GAAO,IAAK,GAAG,EACxCR,EAAaG,EAAMC,GAAMI,GAAO,IAAK,GAAG,EACxCR,EAAaG,EAAMC,GAAMI,GAAO,IAAU,WAAY,EAAI,EAC1DR,EAAaG,EAAMC,GAAMI,GAAO,IAAU,SAAS,EACnDR,EAAaG,EAAMC,GAAMI,GAAO,IAAU,SAAS,EACnDR,EAAaG,EAAMC,GAAMU,GAAK,IAAK,GAAG,EACtCd,EAAaG,EAAMC,GAAMU,GAAK,IAAK,GAAG,EACtCd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,SAAU,EAAI,EACtDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,MAAM,EAC9Cd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAS,EAAI,EACrDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAQ,EAChDd,EAAaG,EAAMC,GAAMU,GAAK,IAAK,OAAQ,EAAI,EAC/Cd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,OAAQ,EAAI,EACpDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAQ,EAChDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,WAAY,EAAI,EACxDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,aAAc,EAAI,EAC1Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,aAAc,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAME,GAAKS,GAAK,IAAU,cAAe,EAAI,EAC1Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,UAAU,EAClDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,cAAe,EAAI,EAC3Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,MAAM,EAC9Cd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,QAAS,EAAI,EACrDd,EAAaG,EAAMC,GAAMU,GAAK,IAAK,OAAQ,EAAI,EAC/Cd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,eAAgB,EAAI,EAC5Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,MAAM,EAC9Cd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAME,GAAKS,GAAK,IAAU,SAAU,EAAI,EACrDd,EAAaG,EAAMC,GAAMW,GAAS,IAAU,KAAK,EACjDf,EAAaG,EAAMC,GAAMW,GAAS,IAAU,SAAS,EAErDf,EAAaG,EAAMC,GAAMW,GAAS,IAAU,gBAAgB,EAC5Df,EAAazL,GAAM6L,GAAMW,GAAS,IAAU,KAAK,EACjDf,EAAazL,GAAM6L,GAAMW,GAAS,IAAU,GAAG,EAC/Cf,EAAazL,GAAM6L,GAAMW,GAAS,IAAU,SAAS,EACrDf,EAAazL,GAAM6L,GAAMW,GAAS,IAAU,gBAAgB,EAC5Df,EAAaG,EAAMC,GAAMW,GAAS,KAAM,WAAW,EACnDf,EAAaG,EAAMC,GAAMW,GAAS,KAAM,cAAc,EACtDf,EAAaG,EAAMC,GAAMS,GAAO,IAAK,GAAG,EACxCb,EAAaG,EAAMC,GAAMS,GAAO,IAAK,GAAG,EACxCb,EAAaG,EAAME,GAAKE,GAAK,IAAU,aAAc,EAAI,EACzDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,WAAY,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,SAAU,EAAI,EACtDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAW,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,WAAY,EAAI,EACxDP,EAAaG,EAAMC,GAAMY,GAAS,IAAU,YAAa,EAAI,EAC7DhB,EAAaG,EAAMC,GAAMG,GAAK,IAAU,WAAY,EAAI,EACxDP,EAAaG,EAAME,GAAKE,GAAK,IAAU,gBAAiB,EAAI,EAC5DP,EAAaG,EAAME,GAAKE,GAAK,IAAU,WAAY,EAAI,EACvDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,iBAAiB,EACzDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,mBAAmB,EAC3DP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,UAAU,EAClDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,WAAW,EACnDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,QAAQ,EAChDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,gBAAgB,EACxDP,EAAaG,EAAMC,GAAMG,GAAK,IAAU,iBAAiB,EACzDP,EAAaG,EAAMC,GAAMQ,GAAM,IAAK,KAAK,EACzCZ,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,iBAAiB,EACxDhB,EAAaG,EAAMC,GAAMI,GAAO,IAAK,KAAK,EAC1CR,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,KAAK,EAC5ChB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,kBAAkB,EACzDhB,EAAaG,EAAMC,GAAMQ,GAAM,IAAK,UAAU,EAC9CZ,EAAaG,EAAMC,GAAMI,GAAO,IAAK,UAAU,EAC/CR,EAAaG,EAAMC,GAAMQ,GAAM,IAAK,WAAY,EAAI,EACpDZ,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,WAAY,EAAI,EACvDhB,EAAaG,EAAMC,GAAMI,GAAO,IAAK,WAAY,EAAI,EACrDR,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,WAAY,EAAI,EACvDhB,EAAaG,EAAMC,GAAMQ,GAAM,IAAK,WAAY,EAAI,EACpDZ,EAAaG,EAAMC,GAAMI,GAAO,IAAK,WAAY,EAAI,EACrDR,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,aAAc,EAAI,EAEzDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,gBAAiB,EAAI,EAE5DhB,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,WAAY,EAAI,EACzDZ,EAAaG,EAAMC,GAAMI,GAAO,IAAU,WAAY,EAAI,EAC1DR,EAAaG,EAAMC,GAAMQ,GAAM,IAAU,UAAW,EAAI,EACxDZ,EAAaG,EAAMC,GAAMI,GAAO,IAAU,UAAW,EAAI,EACzDR,EAAaG,EAAMC,GAAMY,GAAS,KAAM,aAAa,EACrDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,GAAG,EAC/ChB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAQ,EACpDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,YAAa,EAAI,EAExDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,KAAK,EACjDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,QAAQ,EACpDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,cAAc,EAC1DhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,kBAAkB,EACzDhB,EAAazL,GAAM6L,GAAMY,GAAS,KAAM,iBAAiB,EACzDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAK,mBAAmB,EAC1DhB,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EACzDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,YAAa,EAAI,EACzDd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,cAAe,EAAI,EAC3Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,cAAe,EAAI,EAC3Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,gBAAiB,EAAI,EAC7Dd,EAAaG,EAAMC,GAAMU,GAAK,IAAU,gBAAiB,EAAI,EAC7Dd,EAAaG,EAAMC,GAAMO,GAAI,IAAU,UAAU,EACjDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,UAAU,EACjDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,YAAY,EACnDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,YAAY,EACnDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,UAAU,EACjDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,UAAU,EACjDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,OAAO,EAC9CX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,SAAS,EAChDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,QAAQ,EAC/CX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,SAAS,EAChDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,QAAQ,EAC/CX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,OAAO,EAC9CX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,aAAa,EACpDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,YAAY,EACnDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,WAAW,EAClDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,QAAQ,EAC/CX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,SAAS,EAChDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,UAAU,EACjDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,YAAY,EACnDX,EAAaG,EAAMC,GAAMO,GAAI,IAAU,YAAY,EACnDX,EAAazL,GAAM6L,GAAMK,GAAO,IAAU,gBAAgB,EAC1DT,EAAaG,EAAMC,GAAMK,GAAO,IAAU,gBAAgB,EAC1DT,EAAazL,GAAM6L,GAAMK,GAAO,IAAU,UAAW,EAAI,EACzDT,EAAaG,EAAMC,GAAMK,GAAO,IAAU,UAAW,EAAI,EACzDT,EAAaG,EAAMC,GAAMK,GAAO,IAAU,WAAY,EAAI,EAC1DT,EAAaG,EAAMC,GAAMK,GAAO,IAAU,UAAW,EAAI,EAEzDT,EAAaG,EAAMC,GAAMY,GAAS,IAAU,YAAY,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,YAAY,EACxDhB,EAAaG,EAAMC,GAAME,GAAQ,IAAU,SAAS,EACpDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,SAAS,EACpDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,QAAQ,EACnDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,SAAS,EACpDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,OAAO,EAClDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,SAAS,EACpDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,SAAS,EACpDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,OAAO,EAClDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,OAAO,EAClDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,OAAO,EAClDN,EAAaG,EAAMC,GAAME,GAAQ,IAAU,YAAY,EAEvDN,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAU,EACtDV,EAAaG,EAAMC,GAAMM,GAAS,IAAU,UAAU,EACtDV,EAAaG,EAAMC,GAAMY,GAAS,IAAU,GAAQ,EACpDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,GAAQ,EACpDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,OAAQ,EAAI,EACxDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,KAAK,EAEhDN,EAAazL,GAAM6L,GAAME,GAAQ,IAAU,eAAe,EAG1D,IAAIW,GAAY,CACd,KAAM,GACN,MAAO,GACP,KAAM,GACN,KAAM,EACR,EACAjB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAM,EAAI,EACtDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,cAAc,EAC1DhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,MAAO,EAAI,EACvDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,cAAc,EAC1DhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,IAAK,EAAI,EACrDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,iBAAiB,EAC7DhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,IAAK,EAAI,EACrDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,kBAAkB,EAC9DhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAM,EAAI,EACtDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,oBAAoB,EAChEhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,KAAM,EAAI,EACtDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,qBAAqB,EAEjEhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,WAAY,EAAI,EAC5DhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,UAAU,EAEtDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,eAAgB,EAAI,EAGhEhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,UAAU,EACtDhB,EAAaG,EAAMC,GAAMY,GAAS,IAAU,iBAAkB,EAAI,EAClEhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,UAAU,EACtDhB,EAAazL,GAAM6L,GAAMY,GAAS,IAAU,iBAAkB,EAAI,EAClEhB,EAAaG,EAAME,GAAKW,GAAS,IAAU,WAAW,EACtDhB,EAAazL,GAAM8L,GAAKW,GAAS,IAAU,WAAW,EAGtD,IAAIE,GAAkB,iBAEtB,QAAS/H,GAAI,EAAGA,GAAI+H,GAAgB,OAAQ/H,KAAK,CAC/C,IAAI6C,GAAKkF,GAAgB,OAAO/H,EAAC,EACjC6G,EAAaG,EAAMC,GAAMY,GAAShF,GAAIA,EAAE,CAC1C,CAGA,IAAImF,GAAc,4BAElB,QAAS9H,GAAK,EAAGA,GAAK8H,GAAY,OAAQ9H,KAAM,CAC9C,IAAI+H,GAAMD,GAAY,OAAO9H,EAAE,EAE/B2G,EAAazL,GAAM6L,GAAMY,GAASI,GAAKA,EAAG,CAC5C,CAGA,IAAIC,GAAU,uDAEd,QAASC,GAAM,EAAGA,GAAMD,GAAQ,OAAQC,KAAO,CAC7C,IAAIC,GAAOF,GAAQ,OAAOC,EAAG,EAE7BtB,EAAaG,EAAMC,GAAMM,GAASa,GAAMA,EAAI,EAC5CvB,EAAazL,GAAM6L,GAAMY,GAASO,GAAMA,EAAI,CAC9C,CAGAvB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAE9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAME,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAazL,GAAM8L,GAAKW,GAAS,IAAK,GAAQ,EAC9ChB,EAAaG,EAAMC,GAAMM,GAAS,IAAK,GAAQ,EAE/CV,EAAazL,GAAM6L,GAAMM,GAAS,IAAK,GAAQ,EAM/C,IAAIc,GAAW,GAEf,QAASC,GAAM,EAAGA,GAAMJ,GAAQ,OAAQI,KAAO,CAC7C,IAAIC,GAAOL,GAAQ,OAAOI,EAAG,EAK7BD,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAE5CC,GAAM,KAGRD,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASC,EAAG,EAEnDzB,EAAaG,EAAMC,GAAMM,GAASgB,GAAMF,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASU,GAAMF,EAAQ,EAGpD,CAGAA,GAAW,KAEXxB,EAAaG,EAAMC,GAAMM,GAAS,IAAKc,EAAQ,EAC/CxB,EAAazL,GAAM6L,GAAMY,GAAS,IAAKQ,EAAQ,EAE/C,QAASG,GAAM,EAAGA,GAAM,GAAIA,KAAO,CACjC,IAAIC,GAAOD,GAAI,SAAU,EAEzBH,GAAW,OAAO,aAAa,MAAQ,MAASG,EAAG,EAEnD3B,EAAaG,EAAMC,GAAMM,GAASkB,GAAMJ,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASY,GAAMJ,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASG,EAAG,EAEnD3B,EAAaG,EAAMC,GAAMM,GAASkB,GAAMJ,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASY,GAAMJ,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASG,EAAG,EAEnD3B,EAAaG,EAAMC,GAAMM,GAASkB,GAAMJ,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASY,GAAMJ,EAAQ,EAChDA,GAAW,OAAO,aAAa,MAAQ,MAASG,EAAG,EAEnD3B,EAAaG,EAAMC,GAAMM,GAASkB,GAAMJ,EAAQ,EAChDxB,EAAazL,GAAM6L,GAAMY,GAASY,GAAMJ,EAAQ,CAClD,CAMA,IAAIK,GAAa,MAEjB,QAASC,GAAM,EAAGA,GAAMD,GAAW,OAAQC,KAAO,CAChD,IAAIC,GAAOF,GAAW,OAAOC,EAAG,EAEhC9B,EAAaG,EAAMC,GAAMM,GAASqB,GAAMA,EAAI,EAC5C/B,EAAazL,GAAM6L,GAAMY,GAASe,GAAMA,EAAI,CAC9C,CAmBA,IAAIC,GAAsB,CAAC,CAAC,SAAU,SAAU,WAAW,EAC3D,CAAC,SAAU,SAAU,WAAW,EAChC,CAAC,aAAc,SAAU,aAAa,EACtC,CAAC,aAAc,SAAU,aAAa,EACtC,CAAC,aAAc,aAAc,iBAAiB,EAC9C,CAAC,aAAc,aAAc,iBAAiB,EAG9C,CAAC,UAAW,UAAW,gBAAgB,EACvC,CAAC,GAAI,GAAI,EAAE,EACX,CAAC,GAAI,GAAI,EAAE,EACX,CAAC,GAAI,GAAI,EAAE,EACX,CAAC,WAAY,WAAY,iBAAiB,EAC1C,CAAC,WAAY,WAAY,iBAAiB,EAC1C,CAAC,SAAU,SAAU,aAAa,EAClC,CAAC,SAAU,SAAU,aAAa,EAElC,CAAC,eAAgB,eAAgB,iBAAiB,EAClD,CAAC,eAAgB,eAAgB,iBAAiB,EAClD,CAAC,SAAU,SAAU,mBAAmB,EACxC,CAAC,SAAU,SAAU,mBAAmB,EACxC,CAAC,aAAc,aAAc,gBAAgB,EAC7C,CAAC,aAAc,aAAc,gBAAgB,EAC7C,CAAC,WAAY,WAAY,kBAAkB,EAC3C,CAAC,WAAY,WAAY,kBAAkB,EAC3C,CAAC,GAAI,GAAI,EAAE,EACX,CAAC,GAAI,GAAI,EAAE,EACX,CAAC,SAAU,SAAU,oBAAoB,EACzC,CAAC,SAAU,SAAU,oBAAoB,CACzC,EACIC,GAAkB,CAAC,CAAC,SAAU,SAAU,WAAW,EACvD,CAAC,GAAI,GAAI,EAAE,EACX,CAAC,SAAU,SAAU,mBAAmB,EACxC,CAAC,aAAc,aAAc,gBAAgB,EAC7C,CAAC,SAAU,SAAU,oBAAoB,CACzC,EACIC,GAAoB,SAA2BV,EAAUzF,EAAM,CAEjE,IAAIoG,EAAIX,EAAS,WAAW,CAAC,EAEzBY,EAAIZ,EAAS,WAAW,CAAC,EAEzBa,GAAaF,EAAI,OAAU,MAASC,EAAI,OAAU,MAClDE,EAAIvG,IAAS,OAAS,EAAI,EAE9B,GAAI,QAAWsG,GAAaA,EAAY,OAAS,CAG/C,IAAIlJ,EAAI,KAAK,OAAOkJ,EAAY,QAAW,EAAE,EAC7C,MAAO,CAACL,GAAoB7I,CAAC,EAAE,CAAC,EAAG6I,GAAoB7I,CAAC,EAAEmJ,CAAC,CAAC,CAC7D,SAAU,QAAWD,GAAaA,GAAa,OAAS,CAEvD,IAAIhJ,EAAK,KAAK,OAAOgJ,EAAY,QAAW,EAAE,EAE9C,MAAO,CAACJ,GAAgB5I,CAAE,EAAE,CAAC,EAAG4I,GAAgB5I,CAAE,EAAEiJ,CAAC,CAAC,CACvD,KAAM,IAAID,IAAc,QAAWA,IAAc,OAEhD,MAAO,CAACL,GAAoB,CAAC,EAAE,CAAC,EAAGA,GAAoB,CAAC,EAAEM,CAAC,CAAC,EACvD,GAAI,OAAUD,GAAaA,EAAY,OAE5C,MAAO,CAAC,GAAI,EAAE,EAGd,MAAM,IAAI3N,GAAW,0BAA4B8M,CAAQ,EAE7D,EAQIe,GAAe,SAAsBlM,EACzCqF,EAAUK,EAAM,CAEd,OAAIgE,GAAQhE,CAAI,EAAE1F,CAAK,GAAK0J,GAAQhE,CAAI,EAAE1F,CAAK,EAAE,UAC/CA,EAAQ0J,GAAQhE,CAAI,EAAE1F,CAAK,EAAE,SAGxB,CACL,MAAOA,EACP,QAASuF,GAAoBvF,EAAOqF,EAAUK,CAAI,CACnD,CACH,EAaIyG,GAAa,SAAoBnM,EAAOqF,EAAUK,EAAM1E,EAASsG,EAAS,CAC5E,IAAI8E,EAASF,GAAalM,EAAOqF,EAAUK,CAAI,EAC3CJ,EAAU8G,EAAO,QACrBpM,EAAQoM,EAAO,MACf,IAAIC,EAEJ,GAAI/G,EAAS,CACX,IAAImD,EAASnD,EAAQ,QAEjBI,IAAS,QAAU1E,GAAWA,EAAQ,OAAS,YACjDyH,EAAS,GAGX4D,EAAa,IAAI9D,GAAWvI,EAAOsF,EAAQ,OAAQA,EAAQ,MAAOmD,EAAQnD,EAAQ,KAAMA,EAAQ,MAAOgC,CAAO,CAClH,MAEI,OAAO,QAAY,KAAe,QAAQ,KAAK,yBAA2B,QAAUtH,EAAQ,eAAiBqF,EAAW,eAAiBK,EAAO,IAAI,EACpJ2G,EAAa,IAAI9D,GAAWvI,EAAO,EAAG,EAAG,EAAG,EAAG,EAAGsH,CAAO,EAG3D,GAAItG,EAAS,CACXqL,EAAW,YAAcrL,EAAQ,eAE7BA,EAAQ,MAAM,WAChBqL,EAAW,QAAQ,KAAK,QAAQ,EAGlC,IAAI/L,EAAQU,EAAQ,SAAU,EAE1BV,IACF+L,EAAW,MAAM,MAAQ/L,EAE/B,CAEE,OAAO+L,CACT,EAOIC,GAAU,SAAiBtM,EAAO0F,EAAM1E,EAASsG,EAAS,CAY5D,OAXIA,IAAY,SACdA,EAAU,CAAE,GAUVtG,EAAQ,OAAS,cAAgBkL,GAAalM,EAAO,YAAa0F,CAAI,EAAE,QACnEyG,GAAWnM,EAAO,YAAa0F,EAAM1E,EAASsG,EAAQ,OAAO,CAAC,QAAQ,CAAC,CAAC,EACtEtH,IAAU,MAAQ0J,GAAQhE,CAAI,EAAE1F,CAAK,EAAE,OAAS,OAClDmM,GAAWnM,EAAO,eAAgB0F,EAAM1E,EAASsG,CAAO,EAExD6E,GAAWnM,EAAO,cAAe0F,EAAM1E,EAASsG,EAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,CAEpF,EASIiF,GAAa,SAAoBvM,EAAO0F,EAAM1E,EAASsG,EAASzG,EAAM,CACxE,OAAIA,IAAS,WAAaqL,GAAalM,EAAO,kBAAmB0F,CAAI,EAAE,QAC9D,CACL,SAAU,kBACV,UAAW,YACZ,EAIM,CACL,SAAU,YACV,UAAW,QACZ,CAEL,EAMI8G,GAAU,SAAiB5M,EAAOoB,EAASH,EAAM,CACnD,IAAI6E,EAAO9F,EAAM,KACb1B,EAAO0B,EAAM,KACb0H,EAAU,CAAC,MAAM,EAEjBmF,EAAS/G,IAAS,QAAUA,IAAS,QAAU1E,EAAQ,KACvD0L,EAAeD,EAASzL,EAAQ,KAAOA,EAAQ,WAC/C2L,EAAe,GACfC,EAAgB,GAMpB,GAJI1O,EAAK,WAAW,CAAC,IAAM,QACzB,CAACyO,EAAcC,CAAa,EAAIf,GAAkB3N,EAAMwH,CAAI,GAG1DiH,EAAa,OAAS,EAExB,OAAOR,GAAWjO,EAAMyO,EAAcjH,EAAM1E,EAASsG,EAAQ,OAAOsF,CAAa,CAAC,EAC7E,GAAIF,EAAc,CACvB,IAAIrH,EACAwH,EAEJ,GAAIH,IAAiB,aAAc,CACjC,IAAII,EAAWP,GAAWrO,EAAMwH,EAAM1E,EAASsG,EAASzG,CAAI,EAC5DwE,EAAWyH,EAAS,SACpBD,EAAc,CAACC,EAAS,SAAS,CAClC,MAAUL,GACTpH,EAAW0H,GAAQL,CAAY,EAAE,SACjCG,EAAc,CAACH,CAAY,IAE3BrH,EAAW2H,GAAqBN,EAAc1L,EAAQ,WAAYA,EAAQ,SAAS,EACnF6L,EAAc,CAACH,EAAc1L,EAAQ,WAAYA,EAAQ,SAAS,GAGpE,GAAIkL,GAAahO,EAAMmH,EAAUK,CAAI,EAAE,QACrC,OAAOyG,GAAWjO,EAAMmH,EAAUK,EAAM1E,EAASsG,EAAQ,OAAOuF,CAAW,CAAC,EACvE,GAAIjC,GAAU,eAAe1M,CAAI,GAAKmH,EAAS,MAAM,EAAG,EAAE,IAAM,aAAc,CAInF,QAFI4H,EAAQ,CAAE,EAELnK,EAAI,EAAGA,EAAI5E,EAAK,OAAQ4E,IAC/BmK,EAAM,KAAKd,GAAWjO,EAAK4E,CAAC,EAAGuC,EAAUK,EAAM1E,EAASsG,EAAQ,OAAOuF,CAAW,CAAC,CAAC,EAGtF,OAAOK,GAAaD,CAAK,CAC/B,CACG,CAGD,GAAIpM,IAAS,UACX,OAAOsL,GAAWjO,EAAM,cAAewH,EAAM1E,EAASsG,EAAQ,OAAO,CAAC,YAAY,CAAC,CAAC,EAC/E,GAAIzG,IAAS,UAAW,CAC7B,IAAI4E,EAAOiE,GAAQhE,CAAI,EAAExH,CAAI,GAAKwL,GAAQhE,CAAI,EAAExH,CAAI,EAAE,KAEtD,GAAIuH,IAAS,MAAO,CAClB,IAAI0H,EAAYH,GAAqB,QAAShM,EAAQ,WAAYA,EAAQ,SAAS,EAEnF,OAAOmL,GAAWjO,EAAMiP,EAAWzH,EAAM1E,EAASsG,EAAQ,OAAO,QAAStG,EAAQ,WAAYA,EAAQ,SAAS,CAAC,CACjH,SAAUyE,IAAS,QAAU,CAACA,EAAM,CACnC,IAAI2H,EAAaJ,GAAqB,SAAUhM,EAAQ,WAAYA,EAAQ,SAAS,EAErF,OAAOmL,GAAWjO,EAAMkP,EAAY1H,EAAM1E,EAASsG,EAAQ,OAAOtG,EAAQ,WAAYA,EAAQ,SAAS,CAAC,CAC9G,KAAW,CAEL,IAAIqM,EAAaL,GAAqBvH,EAAMzE,EAAQ,WAAYA,EAAQ,SAAS,EAGjF,OAAOmL,GAAWjO,EAAMmP,EAAY3H,EAAM1E,EAASsG,EAAQ,OAAO+F,EAAYrM,EAAQ,WAAYA,EAAQ,SAAS,CAAC,CAC1H,CACA,KACI,OAAM,IAAI,MAAM,oBAAsBH,EAAO,aAAa,CAE9D,EAOIyM,GAAa,CAACC,EAAMC,IAAS,CAC/B,GAAInG,GAAYkG,EAAK,OAAO,IAAMlG,GAAYmG,EAAK,OAAO,GAAKD,EAAK,OAASC,EAAK,MAAQD,EAAK,cAAgBC,EAAK,YAClH,MAAO,GAKT,GAAID,EAAK,QAAQ,SAAW,EAAG,CAC7B,IAAIhG,EAAMgG,EAAK,QAAQ,CAAC,EAExB,GAAIhG,IAAQ,QAAUA,IAAQ,OAC5B,MAAO,EAEb,CAEE,QAASpB,KAASoH,EAAK,MACrB,GAAIA,EAAK,MAAM,eAAepH,CAAK,GAAKoH,EAAK,MAAMpH,CAAK,IAAMqH,EAAK,MAAMrH,CAAK,EAC5E,MAAO,GAIX,QAASsH,KAAUD,EAAK,MACtB,GAAIA,EAAK,MAAM,eAAeC,CAAM,GAAKF,EAAK,MAAME,CAAM,IAAMD,EAAK,MAAMC,CAAM,EAC/E,MAAO,GAIX,MAAO,EACT,EAOIC,GAAkBC,GAAS,CAC7B,QAAS7K,EAAI,EAAGA,EAAI6K,EAAM,OAAS,EAAG7K,IAAK,CACzC,IAAIyK,EAAOI,EAAM7K,CAAC,EACd0K,EAAOG,EAAM7K,EAAI,CAAC,EAElByK,aAAgBhF,IAAciF,aAAgBjF,IAAc+E,GAAWC,EAAMC,CAAI,IACnFD,EAAK,MAAQC,EAAK,KAClBD,EAAK,OAAS,KAAK,IAAIA,EAAK,OAAQC,EAAK,MAAM,EAC/CD,EAAK,MAAQ,KAAK,IAAIA,EAAK,MAAOC,EAAK,KAAK,EAI5CD,EAAK,OAASC,EAAK,OACnBG,EAAM,OAAO7K,EAAI,EAAG,CAAC,EACrBA,IAEN,CAEE,OAAO6K,CACT,EAOIC,GAA0B,SAAiC5O,EAAM,CAKnE,QAJIsF,EAAS,EACTkE,EAAQ,EACRqF,EAAc,EAET/K,EAAI,EAAGA,EAAI9D,EAAK,SAAS,OAAQ8D,IAAK,CAC7C,IAAIkC,EAAQhG,EAAK,SAAS8D,CAAC,EAEvBkC,EAAM,OAASV,IACjBA,EAASU,EAAM,QAGbA,EAAM,MAAQwD,IAChBA,EAAQxD,EAAM,OAGZA,EAAM,YAAc6I,IACtBA,EAAc7I,EAAM,YAE1B,CAEEhG,EAAK,OAASsF,EACdtF,EAAK,MAAQwJ,EACbxJ,EAAK,YAAc6O,CACrB,EAWIC,GAAa,SAAkBxG,EAAS3C,EAAU3D,EAASmF,EAAO,CACpE,IAAIyC,EAAO,IAAIb,GAAKT,EAAS3C,EAAU3D,EAASmF,CAAK,EACrD,OAAAyH,GAAwBhF,CAAI,EACrBA,CACT,EAIImF,GAAc,CAACzG,EAAS3C,EAAU3D,EAASmF,IAAU,IAAI4B,GAAKT,EAAS3C,EAAU3D,EAASmF,CAAK,EAE/F6H,GAAe,SAAsBpJ,EAAW5D,EAASiN,EAAW,CACtE,IAAIC,EAAOJ,GAAW,CAAClJ,CAAS,EAAG,GAAI5D,CAAO,EAC9C,OAAAkN,EAAK,OAAS,KAAK,IAAID,GAAajN,EAAQ,cAAc,qBAAsBA,EAAQ,gBAAgB,EACxGkN,EAAK,MAAM,kBAAoB9G,GAAO8G,EAAK,MAAM,EACjDA,EAAK,YAAc,EACZA,CACT,EAOIC,GAAa,SAAoBjG,EAAMZ,EAAS3C,EAAU3D,EAAS,CACrE,IAAIoN,EAAS,IAAInG,GAAOC,EAAMZ,EAAS3C,EAAU3D,CAAO,EACxD,OAAA4M,GAAwBQ,CAAM,EACvBA,CACT,EAMIlB,GAAe,SAAsBvI,EAAU,CACjD,IAAI0J,EAAW,IAAI3J,GAAiBC,CAAQ,EAC5C,OAAAiJ,GAAwBS,CAAQ,EACzBA,CACT,EAOIC,GAAe,SAAsB1O,EAAOoB,EAAS,CACvD,OAAIpB,aAAiB8E,GACZoJ,GAAW,CAAE,EAAE,CAAClO,CAAK,EAAGoB,CAAO,EAGjCpB,CACT,EAOI2O,GAA2B,SAAkCC,EAAQ,CACvE,GAAIA,EAAO,eAAiB,kBAAmB,CAS7C,QARIC,EAAcD,EAAO,SACrB7J,EAAW,CAAC8J,EAAY,CAAC,CAAC,EAG1BC,EAAS,CAACD,EAAY,CAAC,EAAE,MAAQA,EAAY,CAAC,EAAE,KAAK,MAErDE,EAAUD,EAEL5L,EAAI,EAAGA,EAAI2L,EAAY,OAAQ3L,IAAK,CAC3C,IAAI8L,EAAO,CAACH,EAAY3L,CAAC,EAAE,MAAQ6L,EAAUF,EAAY3L,CAAC,EAAE,KAAK,MAC7DrB,EAAOmN,GAAQH,EAAY3L,EAAI,CAAC,EAAE,KAAK,OAAS2L,EAAY3L,EAAI,CAAC,EAAE,KAAK,OAC5E6L,EAAUA,EAAUC,EACpBjK,EAAS,KAAK,CACZ,KAAM,OACN,KAAAlD,CACR,CAAO,EACDkD,EAAS,KAAK8J,EAAY3L,CAAC,CAAC,CAClC,CAEI,MAAO,CACL,SAAA6B,EACA,MAAO+J,CACR,CACL,CAEE,IAAIlG,EAEJ,GAAIgG,EAAO,eAAiB,MAAO,CAKjC,QAFIK,EAASL,EAAO,aAEXxL,EAAK,EAAGA,EAAKwL,EAAO,SAAS,OAAQxL,IAAM,CAClD,IAAIgC,EAAQwJ,EAAO,SAASxL,CAAE,EAC9B6L,GAAU7J,EAAM,OAAS,OAASA,EAAM,KAAOA,EAAM,KAAK,OAASA,EAAM,KAAK,KACpF,CAEIwD,EAAQqG,CACZ,SAAaL,EAAO,eAAiB,SACjChG,EAAQ,CAACgG,EAAO,iBACX,CACL,IAAIM,EAAaN,EAAO,SAAS,CAAC,EAElC,GAAIM,EAAW,OAAS,OACtB,MAAM,IAAI,MAAM,oCAAoC,EAGtD,GAAIN,EAAO,eAAiB,QAC1BhG,EAAQ,CAACsG,EAAW,KAAK,MAAQN,EAAO,qBAC/BA,EAAO,eAAiB,gBACjChG,EAAQ,CAACsG,EAAW,KAAK,UAEzB,OAAM,IAAI,MAAM,wBAA0BN,EAAO,aAAe,GAAG,CAEzE,CAEE,MAAO,CACL,SAAUA,EAAO,SACjB,MAAAhG,CACD,CACH,EASIuG,GAAY,SAAmBP,EAAQxN,EAAS,CAclD,OAbI,CACF,SAAA2D,EACA,MAAA6D,CACJ,EAAM+F,GAAyBC,CAAM,EAQ/BQ,EAAa,EAERlM,EAAI,EAAGA,EAAI6B,EAAS,OAAQ7B,IAAK,CACxC,IAAIkC,EAAQL,EAAS7B,CAAC,EAEtB,GAAIkC,EAAM,OAAS,OAAQ,CACzB,IAAIhG,EAAOgG,EAAM,KACjBgK,EAAa,KAAK,IAAIA,EAAYhQ,EAAK,YAAaA,EAAK,MAAM,CACrE,CACA,CAEEgQ,GAAc,EACd,IAAIC,EAASnB,GAAW,CAAC,QAAQ,EAAG,EAAE,EACtCmB,EAAO,MAAM,OAAS7H,GAAO4H,CAAU,EAOvC,QALIE,EAAe,CAAE,EACjBC,EAAS3G,EACT4G,EAAS5G,EACTmG,EAAUnG,EAELyC,EAAM,EAAGA,EAAMtG,EAAS,OAAQsG,IAAO,CAC9C,IAAIoE,EAAS1K,EAASsG,CAAG,EAEzB,GAAIoE,EAAO,OAAS,OAClBV,GAAWU,EAAO,SACb,CACL,IAAIC,EAAQD,EAAO,KACf/H,EAAU+H,EAAO,gBAAkB,CAAE,EACrClJ,EAAQkJ,EAAO,cAAgB,CAAE,EACjCE,EAAYzB,GAAWxG,EAAS,CAAC2H,EAAQK,CAAK,EAAG,OAAWnJ,CAAK,EACrEoJ,EAAU,MAAM,IAAMnI,GAAO,CAAC4H,EAAaL,EAAUW,EAAM,KAAK,EAE5DD,EAAO,aACTE,EAAU,MAAM,WAAaF,EAAO,YAGlCA,EAAO,cACTE,EAAU,MAAM,YAAcF,EAAO,aAGvCH,EAAa,KAAKK,CAAS,EAC3BZ,GAAWW,EAAM,OAASA,EAAM,KACtC,CAEIH,EAAS,KAAK,IAAIA,EAAQR,CAAO,EACjCS,EAAS,KAAK,IAAIA,EAAQT,CAAO,CAClC,CAKD,IAAIa,EAAQ1B,GAAW,CAAC,OAAO,EAAGoB,CAAY,EAC9CM,EAAM,MAAM,OAASpI,GAAOgI,CAAM,EAElC,IAAIK,EAEJ,GAAIN,EAAS,EAAG,CAMd,IAAIO,EAAY5B,GAAW,CAAE,EAAE,EAAE,EAC7B6B,EAAa7B,GAAW,CAAC,OAAO,EAAG,CAAC4B,CAAS,CAAC,EAClDC,EAAW,MAAM,OAASvI,GAAO,CAAC+H,CAAM,EAGxC,IAAIS,EAAW9B,GAAW,CAAC,SAAS,EAAG,CAAC,IAAIvF,GAAW,GAAQ,CAAC,CAAC,EACjEkH,EAAO,CAAC3B,GAAW,CAAC,SAAS,EAAG,CAAC0B,EAAOI,CAAQ,CAAC,EAAG9B,GAAW,CAAC,SAAS,EAAG,CAAC6B,CAAU,CAAC,CAAC,CAC7F,MACIF,EAAO,CAAC3B,GAAW,CAAC,SAAS,EAAG,CAAC0B,CAAK,CAAC,CAAC,EAG1C,IAAIK,EAAS/B,GAAW,CAAC,SAAS,EAAG2B,CAAI,EAEzC,OAAIA,EAAK,SAAW,GAClBI,EAAO,QAAQ,KAAK,UAAU,EAGhCA,EAAO,OAAST,EAChBS,EAAO,MAAQ,CAACV,EACTU,CACT,EAKIC,GAAW,CAACC,EAAa/O,IAAY,CAEvC,IAAIgP,EAAOlC,GAAW,CAAC,QAAQ,EAAG,GAAI9M,CAAO,EACzCS,EAAOuF,GAAc+I,EAAa/O,CAAO,EAC7C,OAAAgP,EAAK,MAAM,YAAc5I,GAAO3F,CAAI,EAC7BuO,CACT,EAGIhD,GAAuB,SAA8BxG,EAAYC,EAAYC,EAAW,CAC1F,IAAIuJ,EAAe,GAEnB,OAAQzJ,EAAU,CAChB,IAAK,QACHyJ,EAAe,MACf,MAEF,IAAK,SACHA,EAAe,OACf,MAEF,IAAK,SACHA,EAAe,YACf,MAEF,IAAK,SACHA,EAAe,aACf,MAEF,QACEA,EAAezJ,CAErB,CAEE,IAAI0J,EAEJ,OAAIzJ,IAAe,UAAYC,IAAc,SAC3CwJ,EAAiB,aACRzJ,IAAe,SACxByJ,EAAiB,OACRzJ,IAAe,SACxByJ,EAAiB,SAEjBA,EAAiB,UAGZD,EAAe,IAAMC,CAC9B,EASInD,GAAU,CAEZ,OAAU,CACR,QAAS,OACT,SAAU,WACX,EACD,OAAU,CACR,QAAS,SACT,SAAU,cACX,EACD,OAAU,CACR,QAAS,SACT,SAAU,aACX,EACD,OAAU,CACR,QAAS,SACT,SAAU,aACX,EACD,WAAc,CACZ,QAAS,SACT,SAAU,aACX,EACD,SAAY,CACV,QAAS,oBACT,SAAU,kBACX,EAKD,OAAU,CACR,QAAS,gBACT,SAAU,aACX,EACD,QAAW,CACT,QAAS,SACT,SAAU,qBACX,EACD,SAAY,CACV,QAAS,UACT,SAAU,iBACX,EACD,QAAW,CACT,QAAS,SACT,SAAU,gBACX,EACD,OAAU,CACR,QAAS,aACT,SAAU,mBACX,EACD,OAAU,CACR,QAAS,YACT,SAAU,oBACd,CACA,EACIoD,GAAU,CAEZ,IAAK,CAAC,MAAO,KAAO,IAAK,EAEzB,WAAY,CAAC,aAAc,KAAO,IAAK,EAEvC,WAAY,CAAC,aAAc,MAAO,IAAK,EACvC,YAAa,CAAC,cAAe,MAAO,IAAK,EACzC,YAAa,CAAC,cAAe,KAAM,IAAK,CAC1C,EAEIC,GAAY,SAAmBpQ,EAAOgB,EAAS,CAEjD,GAAI,CAACmI,EAAUR,EAAOrE,CAAM,EAAI6L,GAAQnQ,CAAK,EACzCmE,EAAO,IAAI+E,GAASC,CAAQ,EAC5BkH,EAAU,IAAItH,GAAQ,CAAC5E,CAAI,EAAG,CAChC,MAASiD,GAAOuB,CAAK,EACrB,OAAUvB,GAAO9C,CAAM,EAEvB,MAAS,SAAW8C,GAAOuB,CAAK,EAChC,QAAW,OAAS,IAAOA,EAAQ,IAAM,IAAOrE,EAChD,oBAAuB,UAC3B,CAAG,EACGsE,EAAOmF,GAAY,CAAC,SAAS,EAAG,CAACsC,CAAO,EAAGrP,CAAO,EACtD,OAAA4H,EAAK,OAAStE,EACdsE,EAAK,MAAM,OAASxB,GAAO9C,CAAM,EACjCsE,EAAK,MAAM,MAAQxB,GAAOuB,CAAK,EACxBC,CACT,EAEI0H,GAAc,CAChB,QAAAvD,GACA,WAAAZ,GACA,QAAAG,GACA,SAAUwB,GACV,YAAAC,GACA,aAAAC,GACA,WAAAG,GACA,aAAAjB,GACA,aAAAoB,GACA,UAAAS,GACA,QAAAvC,GACA,SAAAsD,GACA,UAAAM,GACA,QAAAD,GACA,gBAAAzC,EACF,EAKI6C,GAAY,CACd,OAAQ,EACR,KAAM,IACR,EACIC,GAAc,CAChB,OAAQ,EACR,KAAM,IACR,EACIC,GAAa,CACf,OAAQ,EACR,KAAM,IACR,EAOIC,GAAW,CACb,KAAM,CACJ,IAAKH,GACL,KAAMC,GACN,KAAMC,GACN,OAAQF,EACT,EACD,IAAK,CACH,KAAMA,GACN,IAAKA,GACL,KAAME,GACN,OAAQF,EACT,EACD,KAAM,CACJ,KAAMC,GACN,IAAKA,GACL,MAAOA,GACP,OAAQA,EACT,EACD,KAAM,CACJ,KAAMC,GACN,IAAKA,GACL,MAAOA,GACP,OAAQA,EACT,EACD,MAAO,CAAE,EACT,OAAQ,CACN,IAAKF,GACL,KAAMC,GACN,KAAMC,GACN,OAAQF,EACT,EACD,OAAQ,CACN,KAAMA,GACN,IAAKA,GACL,KAAME,GACN,MAAOF,GACP,OAAQA,GACR,OAAQA,GACR,OAAQA,EACT,EACD,OAAQ,CACN,KAAMA,GACN,IAAKA,GACL,KAAMC,GACN,KAAMC,GACN,MAAOF,GACP,OAAQA,GACR,OAAQA,EACZ,CACA,EAEII,GAAgB,CAClB,KAAM,CACJ,IAAKJ,EACN,EACD,IAAK,CACH,KAAMA,GACN,IAAKA,EACN,EACD,KAAM,CAAE,EACR,KAAM,CAAE,EACR,MAAO,CAAE,EACT,OAAQ,CACN,IAAKA,EACN,EACD,OAAQ,CAAE,EACV,OAAQ,CACN,IAAKA,EACT,CACA,EAsBIK,GAAa,CAAE,EAMfC,GAAqB,CAAE,EAMvBC,GAAuB,CAAE,EAC7B,SAASC,GAAeC,EAAM,CAuB5B,OAtBI,CACF,KAAAnQ,EACA,MAAAoQ,EACA,MAAAC,EACA,QAAAC,EACA,YAAAC,EACA,cAAAC,CACJ,EAAML,EAEA3K,EAAO,CACT,KAAAxF,EACA,QAASqQ,EAAM,QACf,SAAUA,EAAM,SAChB,kBAAmB,CAAC,CAACA,EAAM,kBAC3B,cAAe,CAAC,CAACA,EAAM,cACvB,cAAeA,EAAM,gBAAkB,OAAY,GAAOA,EAAM,cAChE,gBAAiBA,EAAM,iBAAmB,EAC1C,MAAO,CAAC,CAACA,EAAM,MACf,UAAW,CAAC,CAACA,EAAM,UACnB,QAASC,CACV,EAEQrO,EAAI,EAAGA,EAAImO,EAAM,OAAQ,EAAEnO,EAClC8N,GAAWK,EAAMnO,CAAC,CAAC,EAAIuD,EAGrBxF,IACEuQ,IACFP,GAAmBhQ,CAAI,EAAIuQ,GAGzBC,IACFP,GAAqBjQ,CAAI,EAAIwQ,GAGnC,CAOA,SAASC,GAAuBC,EAAO,CACrC,GAAI,CACF,KAAA1Q,EACA,YAAAuQ,EACA,cAAAC,CACJ,EAAME,EACJR,GAAe,CACb,KAAAlQ,EACA,MAAO,CAAE,EACT,MAAO,CACL,QAAS,CACV,EAED,SAAU,CACR,MAAM,IAAI,MAAM,yBAAyB,CAC1C,EAED,YAAAuQ,EACA,cAAAC,CACJ,CAAG,CACH,CACA,IAAIG,GAAoB,SAA2BC,EAAK,CACtD,OAAOA,EAAI,OAAS,YAAcA,EAAI,KAAK,SAAW,EAAIA,EAAI,KAAK,CAAC,EAAIA,CAC1E,EAGIC,GAAc,SAAqBD,EAAK,CAC1C,OAAOA,EAAI,OAAS,WAAaA,EAAI,KAAO,CAACA,CAAG,CAClD,EAQIE,GAAarB,GAAY,SAIzBsB,GAAmB,CAAC,WAAY,OAAQ,QAAS,OAAQ,MAAO,QAAQ,EACxEC,GAAoB,CAAC,YAAa,OAAQ,SAAU,QAAQ,EAC5DC,GAAa,CACf,QAAWpP,GAAQ,QACnB,KAAQA,GAAQ,KAChB,OAAUA,GAAQ,OAClB,aAAgBA,GAAQ,YAC1B,EACIqP,GAAU,CACZ,KAAM,OACN,IAAK,MACL,KAAM,OACN,KAAM,OACN,MAAO,QACP,OAAQ,SACR,OAAQ,SACR,OAAQ,QACV,EAUIC,GAAoB,SAAyBC,EAAYjR,EAASkR,EAAaC,EAAa,CAC1FA,IAAgB,SAClBA,EAAc,CAAC,KAAM,IAAI,GAM3B,QAFIC,EAAS,CAAE,EAENtP,EAAI,EAAGA,EAAImP,EAAW,OAAQnP,IAAK,CAC1C,IAAIuP,EAASC,GAAaL,EAAWnP,CAAC,EAAG9B,CAAO,EAEhD,GAAIqR,aAAkB3N,GAAkB,CACtC,IAAIC,EAAW0N,EAAO,SACtBD,EAAO,KAAK,GAAGzN,CAAQ,CAC7B,MACMyN,EAAO,KAAKC,CAAM,CAErB,CAMD,GAHA/B,GAAY,gBAAgB8B,CAAM,EAG9B,CAACF,EACH,OAAOE,EAGT,IAAIG,EAAcvR,EAElB,GAAIiR,EAAW,SAAW,EAAG,CAC3B,IAAItK,EAAOsK,EAAW,CAAC,EAEnBtK,EAAK,OAAS,SAChB4K,EAAcvR,EAAQ,WAAW2G,EAAK,IAAI,EACjCA,EAAK,OAAS,YACvB4K,EAAcvR,EAAQ,YAAY8Q,GAAWnK,EAAK,KAAK,CAAC,EAE3D,CAKD,IAAI6K,EAAYb,GAAW,CAACQ,EAAY,CAAC,GAAK,UAAU,EAAG,CAAE,EAAEnR,CAAO,EAClEyR,EAAYd,GAAW,CAACQ,EAAY,CAAC,GAAK,WAAW,EAAG,GAAInR,CAAO,EAMnE0R,EAASR,IAAgB,OAC7B,OAAAS,GAAsBP,EAAQ,CAACzK,EAAM4F,IAAS,CAC5C,IAAIqF,EAAWrF,EAAK,QAAQ,CAAC,EACzB1M,EAAO8G,EAAK,QAAQ,CAAC,EAErBiL,IAAa,QAAUxS,GAAM,SAASyR,GAAmBhR,CAAI,EAC/D0M,EAAK,QAAQ,CAAC,EAAI,OACT1M,IAAS,QAAUT,GAAM,SAASwR,GAAkBgB,CAAQ,IACrEjL,EAAK,QAAQ,CAAC,EAAI,OAExB,EAAK,CACD,KAAM6K,CACV,EAAKC,EAAWC,CAAM,EACpBC,GAAsBP,EAAQ,CAACzK,EAAM4F,IAAS,CAC5C,IAAIqF,EAAWC,GAAiBtF,CAAI,EAChC1M,EAAOgS,GAAiBlL,CAAI,EAE5BmL,EAAQF,GAAY/R,EAAO8G,EAAK,SAAS,QAAQ,EAAIgJ,GAAciC,CAAQ,EAAE/R,CAAI,EAAI6P,GAASkC,CAAQ,EAAE/R,CAAI,EAAI,KAEpH,GAAIiS,EAEF,OAAOxC,GAAY,SAASwC,EAAOP,CAAW,CAEpD,EAAK,CACD,KAAMC,CACV,EAAKC,EAAWC,CAAM,EACbN,CACT,EAMIO,GAAwB,SAASA,EAAsBI,EAAOC,EAAUzF,EAAMC,EAAMkF,EAAQ,CAC1FlF,GAEFuF,EAAM,KAAKvF,CAAI,EAKjB,QAFI1K,EAAI,EAEDA,EAAIiQ,EAAM,OAAQjQ,IAAK,CAC5B,IAAI6E,EAAOoL,EAAMjQ,CAAC,EACdmQ,EAAeC,GAAkBvL,CAAI,EAEzC,GAAIsL,EAAc,CAGhBN,EAAsBM,EAAa,SAAUD,EAAUzF,EAAM,KAAMmF,CAAM,EACzE,QACD,CAID,IAAIS,EAAW,CAACxL,EAAK,SAAS,QAAQ,EAEtC,GAAIwL,EAAU,CACZ,IAAIC,EAASJ,EAASrL,EAAM4F,EAAK,IAAI,EAEjC6F,IACE7F,EAAK,YACPA,EAAK,YAAY6F,CAAM,GAGvBL,EAAM,QAAQK,CAAM,EACpBtQ,KAGV,CAEQqQ,EACF5F,EAAK,KAAO5F,EACH+K,GAAU/K,EAAK,SAAS,SAAS,IAC1C4F,EAAK,KAAOoE,GAAW,CAAC,UAAU,CAAC,GAGrCpE,EAAK,aAAe8F,GAAS3S,GAAK,CAChCqS,EAAM,OAAOM,EAAQ,EAAG,EAAG3S,CAAC,EAC5BoC,GACD,GAAEA,CAAC,CACR,CAEM0K,GACFuF,EAAM,IAAK,CAEf,EAGIG,GAAoB,SAA2BvL,EAAM,CACvD,OAAIA,aAAgBjD,IAAoBiD,aAAgBM,IAAUN,aAAgBI,IAAQJ,EAAK,SAAS,WAAW,EAC1GA,EAGF,IACT,EAGI2L,GAAmB,SAASA,EAAiB3L,EAAM4L,EAAM,CAC3D,IAAIN,EAAeC,GAAkBvL,CAAI,EAEzC,GAAIsL,EAAc,CAChB,IAAItO,EAAWsO,EAAa,SAE5B,GAAItO,EAAS,OAAQ,CACnB,GAAI4O,IAAS,QACX,OAAOD,EAAiB3O,EAASA,EAAS,OAAS,CAAC,EAAG,OAAO,EACzD,GAAI4O,IAAS,OAClB,OAAOD,EAAiB3O,EAAS,CAAC,EAAG,MAAM,CAEnD,CACA,CAEE,OAAOgD,CACT,EAIIkL,GAAmB,SAA0BlL,EAAM4L,EAAM,CAC3D,OAAK5L,GAID4L,IACF5L,EAAO2L,GAAiB3L,EAAM4L,CAAI,GAK7BxB,GAAQpK,EAAK,QAAQ,CAAC,CAAC,GAAK,MAT1B,IAUX,EACI6L,GAAoB,SAA2BxS,EAASsG,EAAS,CACnE,IAAImM,EAAc,CAAC,eAAe,EAAE,OAAOzS,EAAQ,mBAAmB,EACtE,OAAO2Q,GAAWrK,EAAQ,OAAOmM,CAAW,CAAC,CAC/C,EAOInB,GAAe,SAAoB1S,EAAOoB,EAAS0S,EAAa,CAClE,GAAI,CAAC9T,EACH,OAAO+R,GAAY,EAGrB,GAAId,GAAmBjR,EAAM,IAAI,EAAG,CAGlC,IAAI+T,EAAY9C,GAAmBjR,EAAM,IAAI,EAAEA,EAAOoB,CAAO,EAG7D,GAAI0S,GAAe1S,EAAQ,OAAS0S,EAAY,KAAM,CACpDC,EAAYhC,GAAW3Q,EAAQ,cAAc0S,CAAW,EAAG,CAACC,CAAS,EAAG3S,CAAO,EAC/E,IAAI4S,EAAa5S,EAAQ,eAAiB0S,EAAY,eACtDC,EAAU,QAAUC,EACpBD,EAAU,OAASC,CACzB,CAEI,OAAOD,CACX,KACI,OAAM,IAAItV,GAAW,+BAAiCuB,EAAM,KAAO,GAAG,CAE1E,EAQA,SAASiU,GAAqBlP,EAAU3D,EAAS,CAE/C,IAAI8S,EAAOnC,GAAW,CAAC,MAAM,EAAGhN,EAAU3D,CAAO,EAI7C+S,EAAQpC,GAAW,CAAC,OAAO,CAAC,EAChC,OAAAoC,EAAM,MAAM,OAAS3M,GAAO0M,EAAK,OAASA,EAAK,KAAK,EAEhDA,EAAK,QACPC,EAAM,MAAM,cAAgB3M,GAAO,CAAC0M,EAAK,KAAK,GAGhDA,EAAK,SAAS,QAAQC,CAAK,EACpBD,CACT,CAOA,SAASE,GAAUC,EAAMjT,EAAS,CAEhC,IAAIkT,EAAM,KAEND,EAAK,SAAW,GAAKA,EAAK,CAAC,EAAE,OAAS,QACxCC,EAAMD,EAAK,CAAC,EAAE,IACdA,EAAOA,EAAK,CAAC,EAAE,MAIjB,IAAIhC,EAAaD,GAAkBiC,EAAMjT,EAAS,MAAM,EACpDmT,EAEAlC,EAAW,SAAW,GAAKA,EAAW,CAAC,EAAE,SAAS,KAAK,IAEzDkC,EAASlC,EAAW,IAAK,GAY3B,QATItN,EAAW,GAOXsI,EAAQ,CAAE,EAELnK,EAAI,EAAGA,EAAImP,EAAW,OAAQnP,IAGrC,GAFAmK,EAAM,KAAKgF,EAAWnP,CAAC,CAAC,EAEpBmP,EAAWnP,CAAC,EAAE,SAAS,MAAM,GAAKmP,EAAWnP,CAAC,EAAE,SAAS,MAAM,GAAKmP,EAAWnP,CAAC,EAAE,SAAS,YAAY,EAAG,CAK5G,QAFIsR,EAAU,GAEPtR,EAAImP,EAAW,OAAS,GAAKA,EAAWnP,EAAI,CAAC,EAAE,SAAS,QAAQ,GAAK,CAACmP,EAAWnP,EAAI,CAAC,EAAE,SAAS,SAAS,GAC/GA,IACAmK,EAAM,KAAKgF,EAAWnP,CAAC,CAAC,EAEpBmP,EAAWnP,CAAC,EAAE,SAAS,SAAS,IAClCsR,EAAU,IAKTA,IACHzP,EAAS,KAAKkP,GAAqB5G,EAAOjM,CAAO,CAAC,EAClDiM,EAAQ,CAAE,EAEb,MAAUgF,EAAWnP,CAAC,EAAE,SAAS,SAAS,IAEzCmK,EAAM,IAAK,EAEPA,EAAM,OAAS,IACjBtI,EAAS,KAAKkP,GAAqB5G,EAAOjM,CAAO,CAAC,EAClDiM,EAAQ,CAAE,GAIZtI,EAAS,KAAKsN,EAAWnP,CAAC,CAAC,GAI3BmK,EAAM,OAAS,GACjBtI,EAAS,KAAKkP,GAAqB5G,EAAOjM,CAAO,CAAC,EAIpD,IAAIqT,EAEAH,GACFG,EAAWR,GAAqB7B,GAAkBkC,EAAKlT,EAAS,EAAI,CAAC,EACrEqT,EAAS,QAAU,CAAC,KAAK,EACzB1P,EAAS,KAAK0P,CAAQ,GACbF,GACTxP,EAAS,KAAKwP,CAAM,EAGtB,IAAIG,EAAW3C,GAAW,CAAC,YAAY,EAAGhN,CAAQ,EAIlD,GAHA2P,EAAS,aAAa,cAAe,MAAM,EAGvCD,EAAU,CACZ,IAAIN,EAAQM,EAAS,SAAS,CAAC,EAC/BN,EAAM,MAAM,OAAS3M,GAAOkN,EAAS,OAASA,EAAS,KAAK,EAExDA,EAAS,QACXP,EAAM,MAAM,cAAgB3M,GAAO,CAACkN,EAAS,KAAK,EAExD,CAEE,OAAOA,CACT,CAWA,SAASC,GAAoB5P,EAAU,CACrC,OAAO,IAAID,GAAiBC,CAAQ,CACtC,CAOA,MAAM6P,EAAS,CACb,YAAY3T,EAAM8D,EAAU2C,EAAS,CACnC,KAAK,KAAO,OACZ,KAAK,WAAa,OAClB,KAAK,SAAW,OAChB,KAAK,QAAU,OACf,KAAK,KAAOzG,EACZ,KAAK,WAAa,CAAE,EACpB,KAAK,SAAW8D,GAAY,CAAE,EAC9B,KAAK,QAAU2C,GAAW,CAAE,CAChC,CAOE,aAAajD,EAAMrE,EAAO,CACxB,KAAK,WAAWqE,CAAI,EAAIrE,CAC5B,CAME,aAAaqE,EAAM,CACjB,OAAO,KAAK,WAAWA,CAAI,CAC/B,CAME,QAAS,CACP,IAAIsD,EAAO,SAAS,gBAAgB,qCAAsC,KAAK,IAAI,EAEnF,QAASC,KAAQ,KAAK,WAChB,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAI,GAC5DD,EAAK,aAAaC,EAAM,KAAK,WAAWA,CAAI,CAAC,EAI7C,KAAK,QAAQ,OAAS,IACxBD,EAAK,UAAYN,GAAY,KAAK,OAAO,GAG3C,QAASvE,EAAI,EAAGA,EAAI,KAAK,SAAS,OAAQA,IAGxC,GAAI,KAAK,SAASA,CAAC,YAAa2R,IAAY,KAAK,SAAS3R,EAAI,CAAC,YAAa2R,GAAU,CAGpF,QAFIvW,EAAO,KAAK,SAAS4E,CAAC,EAAE,SAAW,KAAK,SAAS,EAAEA,CAAC,EAAE,OAAQ,EAE3D,KAAK,SAASA,EAAI,CAAC,YAAa2R,IACrCvW,GAAQ,KAAK,SAAS,EAAE4E,CAAC,EAAE,OAAQ,EAGrC6E,EAAK,YAAY,IAAI8M,GAASvW,CAAI,EAAE,OAAM,CAAE,CACpD,MACQyJ,EAAK,YAAY,KAAK,SAAS7E,CAAC,EAAE,QAAQ,EAI9C,OAAO6E,CACX,CAME,UAAW,CACT,IAAI7C,EAAS,IAAM,KAAK,KAExB,QAAS8C,KAAQ,KAAK,WAChB,OAAO,UAAU,eAAe,KAAK,KAAK,WAAYA,CAAI,IAC5D9C,GAAU,IAAM8C,EAAO,KACvB9C,GAAU1E,GAAM,OAAO,KAAK,WAAWwH,CAAI,CAAC,EAC5C9C,GAAU,KAIV,KAAK,QAAQ,OAAS,IACxBA,GAAU,YAAe1E,GAAM,OAAOiH,GAAY,KAAK,OAAO,CAAC,EAAI,KAGrEvC,GAAU,IAEV,QAAShC,EAAI,EAAGA,EAAI,KAAK,SAAS,OAAQA,IACxCgC,GAAU,KAAK,SAAShC,CAAC,EAAE,SAAU,EAGvC,OAAAgC,GAAU,KAAO,KAAK,KAAO,IACtBA,CACX,CAME,QAAS,CACP,OAAO,KAAK,SAAS,IAAIE,GAASA,EAAM,OAAQ,GAAE,KAAK,EAAE,CAC7D,CAEA,CAKA,MAAMyP,EAAS,CACb,YAAYvW,EAAM,CAChB,KAAK,KAAO,OACZ,KAAK,KAAOA,CAChB,CAME,QAAS,CACP,OAAO,SAAS,eAAe,KAAK,IAAI,CAC5C,CAOE,UAAW,CACT,OAAOkC,GAAM,OAAO,KAAK,OAAM,CAAE,CACrC,CAOE,QAAS,CACP,OAAO,KAAK,IAChB,CAEA,CAMA,MAAMsU,EAAU,CAId,YAAY/L,EAAO,CACjB,KAAK,MAAQ,OACb,KAAK,UAAY,OACjB,KAAK,MAAQA,EAKTA,GAAS,QAAWA,GAAS,OAC/B,KAAK,UAAY,IACRA,GAAS,OAAUA,GAAS,MACrC,KAAK,UAAY,IACRA,GAAS,OAAUA,GAAS,MACrC,KAAK,UAAY,IACRA,GAAS,OAAUA,GAAS,MACrC,KAAK,UAAY,KACRA,GAAS,SAAYA,GAAS,QACvC,KAAK,UAAY,KACRA,GAAS,QAAWA,GAAS,OACtC,KAAK,UAAY,KACRA,GAAS,QAAWA,GAAS,OACtC,KAAK,UAAY,KACRA,GAAS,QAAWA,GAAS,OACtC,KAAK,UAAY,KAEjB,KAAK,UAAY,IAEvB,CAME,QAAS,CACP,GAAI,KAAK,UACP,OAAO,SAAS,eAAe,KAAK,SAAS,EAE7C,IAAIhB,EAAO,SAAS,gBAAgB,qCAAsC,QAAQ,EAClF,OAAAA,EAAK,aAAa,QAASP,GAAO,KAAK,KAAK,CAAC,EACtCO,CAEb,CAME,UAAW,CACT,OAAI,KAAK,UACA,UAAY,KAAK,UAAY,WAE7B,kBAAqBP,GAAO,KAAK,KAAK,EAAI,KAEvD,CAME,QAAS,CACP,OAAI,KAAK,UACA,KAAK,UAEL,GAEb,CAEA,CAEA,IAAIuN,GAAa,CACf,SAAAH,GACA,SAAAC,GACA,UAAAC,GACA,oBAAAH,EACF,EAYIK,GAAW,SAAkB1W,EAAMwH,EAAM1E,EAAS,CACpD,OAAI0I,GAAQhE,CAAI,EAAExH,CAAI,GAAKwL,GAAQhE,CAAI,EAAExH,CAAI,EAAE,SAAWA,EAAK,WAAW,CAAC,IAAM,OAAU,EAAE0M,GAAU,eAAe1M,CAAI,GAAK8C,IAAYA,EAAQ,YAAcA,EAAQ,WAAW,MAAM,EAAG,CAAC,IAAM,MAAQA,EAAQ,MAAQA,EAAQ,KAAK,MAAM,EAAG,CAAC,IAAM,SACvP9C,EAAOwL,GAAQhE,CAAI,EAAExH,CAAI,EAAE,SAGtB,IAAIyW,GAAW,SAASzW,CAAI,CACrC,EAMI2W,GAAU,SAAiBf,EAAM,CACnC,OAAIA,EAAK,SAAW,EACXA,EAAK,CAAC,EAEN,IAAIa,GAAW,SAAS,OAAQb,CAAI,CAE/C,EAKIgB,GAAa,SAAoBlV,EAAOoB,EAAS,CAInD,GAAIA,EAAQ,aAAe,SACzB,MAAO,YACF,GAAIA,EAAQ,aAAe,SAChC,OAAIA,EAAQ,YAAc,UAAYA,EAAQ,aAAe,SACpD,yBACEA,EAAQ,YAAc,SACxB,oBACEA,EAAQ,aAAe,SACzB,kBAEA,aAEJ,GAAIA,EAAQ,YAAc,UAAYA,EAAQ,aAAe,SAClE,MAAO,cACF,GAAIA,EAAQ,YAAc,SAC/B,MAAO,SACF,GAAIA,EAAQ,aAAe,SAChC,MAAO,OAGT,IAAIyE,EAAOzE,EAAQ,KAEnB,GAAI,CAACyE,GAAQA,IAAS,aACpB,OAAO,KAGT,IAAIC,EAAO9F,EAAM,KAEjB,GAAI6F,IAAS,SACX,MAAO,SACF,GAAIA,IAAS,aAClB,OAAO7F,EAAM,OAAS,UAAY,OAAS,cACtC,GAAI6F,IAAS,SAClB,MAAO,OACF,GAAIA,IAAS,SAClB,MAAO,gBACF,GAAIA,IAAS,WAClB,MAAO,oBACF,GAAIA,IAAS,WAClB,MAAO,UACF,GAAIA,IAAS,WAAaA,IAAS,UAExC,MAAO,SACF,GAAIA,IAAS,SAClB,MAAO,aACF,GAAIA,IAAS,SAClB,MAAO,YAGT,IAAIvH,EAAO0B,EAAM,KAEjB,GAAIQ,GAAM,SAAS,CAAC,UAAW,SAAS,EAAGlC,CAAI,EAC7C,OAAO,KAGLwL,GAAQhE,CAAI,EAAExH,CAAI,GAAKwL,GAAQhE,CAAI,EAAExH,CAAI,EAAE,UAC7CA,EAAOwL,GAAQhE,CAAI,EAAExH,CAAI,EAAE,SAG7B,IAAImH,EAAWiL,GAAY,QAAQ7K,CAAI,EAAE,SAEzC,OAAIF,GAAoBrH,EAAMmH,EAAUK,CAAI,EACnC4K,GAAY,QAAQ7K,CAAI,EAAE,QAG5B,IACT,EAOA,SAASsP,GAAoBnV,EAAO,CAClC,GAAI,CAACA,EACH,MAAO,GAGT,GAAIA,EAAM,OAAS,MAAQA,EAAM,SAAS,SAAW,EAAG,CACtD,IAAIoF,EAAQpF,EAAM,SAAS,CAAC,EAC5B,OAAOoF,aAAiByP,IAAYzP,EAAM,OAAS,GACvD,SAAapF,EAAM,OAAS,MAAQA,EAAM,SAAS,SAAW,GAAKA,EAAM,aAAa,WAAW,IAAM,QAAUA,EAAM,aAAa,QAAQ,IAAM,OAASA,EAAM,aAAa,QAAQ,IAAM,MAAO,CAC/L,IAAIyP,EAASzP,EAAM,SAAS,CAAC,EAC7B,OAAOyP,aAAkBoF,IAAYpF,EAAO,OAAS,GACzD,KACI,OAAO,EAEX,CAQA,IAAI2F,GAAkB,SAAyB/C,EAAYjR,EAASiU,EAAY,CAC9E,GAAIhD,EAAW,SAAW,EAAG,CAC3B,IAAIrS,EAAQsV,GAAWjD,EAAW,CAAC,EAAGjR,CAAO,EAE7C,OAAIiU,GAAcrV,aAAiB4U,IAAY5U,EAAM,OAAS,OAG5DA,EAAM,aAAa,SAAU,KAAK,EAClCA,EAAM,aAAa,SAAU,KAAK,GAG7B,CAACA,CAAK,CACjB,CAKE,QAHIwS,EAAS,CAAE,EACX+C,EAEKrS,EAAI,EAAGA,EAAImP,EAAW,OAAQnP,IAAK,CAC1C,IAAIsS,EAASF,GAAWjD,EAAWnP,CAAC,EAAG9B,CAAO,EAE9C,GAAIoU,aAAkBZ,IAAYW,aAAqBX,IAErD,GAAIY,EAAO,OAAS,SAAWD,EAAU,OAAS,SAAWC,EAAO,aAAa,aAAa,IAAMD,EAAU,aAAa,aAAa,EAAG,CACzIA,EAAU,SAAS,KAAK,GAAGC,EAAO,QAAQ,EAC1C,QACR,SAAiBA,EAAO,OAAS,MAAQD,EAAU,OAAS,KAAM,CAC1DA,EAAU,SAAS,KAAK,GAAGC,EAAO,QAAQ,EAC1C,QACR,SAAiBL,GAAoBK,CAAM,GAAKD,EAAU,OAAS,KAAM,CACjEA,EAAU,SAAS,KAAK,GAAGC,EAAO,QAAQ,EAC1C,QACR,SAAiBA,EAAO,OAAS,MAAQL,GAAoBI,CAAS,EAC9DC,EAAO,SAAW,CAAC,GAAGD,EAAU,SAAU,GAAGC,EAAO,QAAQ,EAC5DhD,EAAO,IAAG,WAEAgD,EAAO,OAAS,QAAUA,EAAO,OAAS,SAAWA,EAAO,SAAS,QAAU,IAAMD,EAAU,OAAS,MAAQJ,GAAoBI,CAAS,GAAI,CAC3J,IAAIE,EAAOD,EAAO,SAAS,CAAC,EAExBC,aAAgBb,IAAYa,EAAK,OAAS,OAC5CA,EAAK,SAAW,CAAC,GAAGF,EAAU,SAAU,GAAGE,EAAK,QAAQ,EACxDjD,EAAO,IAAK,EAGtB,SAAiB+C,EAAU,OAAS,MAAQA,EAAU,SAAS,SAAW,EAAG,CACrE,IAAIG,EAAYH,EAAU,SAAS,CAAC,EAEpC,GAAIG,aAAqBb,IAAYa,EAAU,OAAS,MAAaF,EAAO,OAAS,MAAQA,EAAO,OAAS,MAAQA,EAAO,OAAS,MAAO,CAC1I,IAAIpQ,EAAQoQ,EAAO,SAAS,CAAC,EAEzBpQ,aAAiByP,IAAYzP,EAAM,KAAK,OAAS,IAEnDA,EAAM,KAAOA,EAAM,KAAK,MAAM,EAAG,CAAC,EAAI,IAAWA,EAAM,KAAK,MAAM,CAAC,EACnEoN,EAAO,IAAK,EAExB,CACA,EAGIA,EAAO,KAAKgD,CAAM,EAClBD,EAAYC,CAChB,CAEE,OAAOhD,CACT,EAMImD,GAAqB,SAA4BtD,EAAYjR,EAASiU,EAAY,CACpF,OAAOJ,GAAQG,GAAgB/C,EAAYjR,EAASiU,CAAU,CAAC,CACjE,EAMIC,GAAa,SAAoBtV,EAAOoB,EAAS,CACnD,GAAI,CAACpB,EACH,OAAO,IAAI+U,GAAW,SAAS,MAAM,EAGvC,GAAI7D,GAAqBlR,EAAM,IAAI,EAAG,CAGpC,IAAIwT,EAAStC,GAAqBlR,EAAM,IAAI,EAAEA,EAAOoB,CAAO,EAE5D,OAAOoS,CACX,KACI,OAAM,IAAI/U,GAAW,+BAAiCuB,EAAM,KAAO,GAAG,CAE1E,EAUA,SAAS4V,GAAYvB,EAAMwB,EAAezU,EAAS0U,EAAeC,EAAe,CAC/E,IAAI1D,EAAa+C,GAAgBf,EAAMjT,CAAO,EAO1C4U,EAEA3D,EAAW,SAAW,GAAKA,EAAW,CAAC,YAAauC,IAAYpU,GAAM,SAAS,CAAC,OAAQ,QAAQ,EAAG6R,EAAW,CAAC,EAAE,IAAI,EACvH2D,EAAU3D,EAAW,CAAC,EAEtB2D,EAAU,IAAIjB,GAAW,SAAS,OAAQ1C,CAAU,EAItD,IAAI4D,EAAa,IAAIlB,GAAW,SAAS,aAAc,CAAC,IAAIA,GAAW,SAASc,CAAa,CAAC,CAAC,EAC/FI,EAAW,aAAa,WAAY,mBAAmB,EACvD,IAAIC,EAAY,IAAInB,GAAW,SAAS,YAAa,CAACiB,EAASC,CAAU,CAAC,EACtE/L,EAAO,IAAI6K,GAAW,SAAS,OAAQ,CAACmB,CAAS,CAAC,EACtDhM,EAAK,aAAa,QAAS,oCAAoC,EAE3D4L,GACF5L,EAAK,aAAa,UAAW,OAAO,EAOtC,IAAIiM,EAAeJ,EAAgB,QAAU,eAE7C,OAAOrF,GAAY,SAAS,CAACyF,CAAY,EAAG,CAACjM,CAAI,CAAC,CACpD,CAEA,IAAIkM,GAAsB,SAA6BC,EAAU,CAC/D,OAAO,IAAI7P,GAAQ,CACjB,MAAO6P,EAAS,YAAcvT,GAAQ,QAAUA,GAAQ,KACxD,QAASuT,EAAS,QAClB,iBAAkBA,EAAS,gBAC/B,CAAG,CACH,EAEIC,GAAc,SAAqBvO,EAAMsO,EAAU,CACrD,GAAIA,EAAS,YAAa,CACxB,IAAI3O,EAAU,CAAC,eAAe,EAE1B2O,EAAS,OACX3O,EAAQ,KAAK,OAAO,EAGlB2O,EAAS,OACX3O,EAAQ,KAAK,OAAO,EAGtBK,EAAO2I,GAAY,SAAShJ,EAAS,CAACK,CAAI,CAAC,CAC/C,CAEE,OAAOA,CACT,EAEIwO,GAAY,SAAmBlC,EAAMhC,EAAYgE,EAAU,CAC7D,IAAIjV,EAAUgV,GAAoBC,CAAQ,EACtCG,EAEJ,GAAIH,EAAS,SAAW,SACtB,OAAOT,GAAYvB,EAAMhC,EAAYjR,EAASiV,EAAS,YAAa,EAAI,EACnE,GAAIA,EAAS,SAAW,OAAQ,CACrC,IAAI3B,EAAWN,GAAUC,EAAMjT,CAAO,EACtCoV,EAAY9F,GAAY,SAAS,CAAC,OAAO,EAAG,CAACgE,CAAQ,CAAC,CAC1D,KAAS,CACL,IAAI+B,EAAab,GAAYvB,EAAMhC,EAAYjR,EAASiV,EAAS,YAAa,EAAK,EAE/EK,EAAYtC,GAAUC,EAAMjT,CAAO,EAEvCoV,EAAY9F,GAAY,SAAS,CAAC,OAAO,EAAG,CAAC+F,EAAYC,CAAS,CAAC,CACvE,CAEE,OAAOJ,GAAYE,EAAWH,CAAQ,CACxC,EACIM,GAAgB,SAAuBtC,EAAMhC,EAAYgE,EAAU,CACrE,IAAIjV,EAAUgV,GAAoBC,CAAQ,EACtC3B,EAAWN,GAAUC,EAAMjT,CAAO,EAClCoV,EAAY9F,GAAY,SAAS,CAAC,OAAO,EAAG,CAACgE,CAAQ,CAAC,EAC1D,OAAO4B,GAAYE,EAAWH,CAAQ,CACxC,EAOIO,GAAoB,CACtB,QAAS,IACT,UAAW,IACX,UAAW,IACX,OAAQ,IACR,cAAe,IACf,eAAgB,IAChB,WAAY,IACZ,eAAgB,IAChB,gBAAiB,IACjB,YAAa,IACb,WAAY,IACZ,UAAW,IACX,UAAW,IACX,WAAY,IACZ,mBAAoB,IACpB,oBAAqB,IACrB,gBAAiB,IACjB,eAAgB,IAChB,YAAa,IACb,gBAAiB,IACjB,eAAgB,IAChB,iBAAkB,IAClB,gBAAiB,IACjB,WAAY,IACZ,gBAAiB,IACjB,eAAgB,IAChB,gBAAiB,IACjB,QAAS,IACT,kBAAmB,IACnB,iBAAkB,IAClB,mBAAoB,IACpB,mBAAoB,IACpB,kBAAmB,IACnB,mBAAoB,IACpB,WAAY,IACZ,QAAS,IACT,iBAAkB,IAClB,kBAAmB,IAEnB,iBAAkB,IAElB,iBAAkB,IAClB,gBAAiB,IACjB,gBAAiB,GACnB,EAEIC,GAAa,SAAoBjS,EAAO,CAC1C,IAAImD,EAAO,IAAIgN,GAAW,SAAS,KAAM,CAAC,IAAIA,GAAW,SAAS6B,GAAkBhS,EAAM,QAAQ,MAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAC/G,OAAAmD,EAAK,aAAa,WAAY,MAAM,EAC7BA,CACT,EAsCI+O,GAAkB,CAEpB,eAAgB,CAAC,CAAC,YAAY,EAAG,KAAO,IAAK,UAAU,EACvD,cAAe,CAAC,CAAC,WAAW,EAAG,KAAO,IAAK,UAAU,EACrD,gBAAiB,CAAC,CAAC,YAAY,EAAG,KAAO,IAAK,UAAU,EACxD,eAAgB,CAAC,CAAC,WAAW,EAAG,KAAO,IAAK,UAAU,EACtD,YAAa,CAAC,CAAC,YAAY,EAAG,MAAO,IAAK,UAAU,EACpD,iBAAkB,CAAC,CAAC,YAAY,EAAG,EAAK,IAAK,UAAU,EAEvD,WAAY,CAAC,CAAC,WAAW,EAAG,MAAO,IAAK,UAAU,EAClD,gBAAiB,CAAC,CAAC,WAAW,EAAG,EAAK,IAAK,UAAU,EACrD,eAAgB,CAAC,CAAC,kBAAkB,EAAG,KAAO,IAAK,UAAU,EAC7D,YAAa,CAAC,CAAC,kBAAkB,EAAG,MAAO,IAAK,UAAU,EAC1D,WAAY,CAAC,CAAC,iBAAiB,EAAG,MAAO,IAAK,UAAU,EACxD,gBAAiB,CAAC,CAAC,aAAa,EAAG,KAAO,IAAK,UAAU,EACzD,eAAgB,CAAC,CAAC,aAAa,EAAG,KAAO,IAAK,UAAU,EACxD,iBAAkB,CAAC,CAAC,iBAAiB,EAAG,KAAO,IAAK,UAAU,EAC9D,iBAAkB,CAAC,CAAC,cAAc,EAAG,KAAO,IAAK,UAAU,EAC3D,gBAAiB,CAAC,CAAC,cAAc,EAAG,KAAO,IAAK,UAAU,EAC1D,kBAAmB,CAAC,CAAC,kBAAkB,EAAG,KAAO,IAAK,UAAU,EAChE,WAAY,CAAC,CAAC,WAAW,EAAG,KAAO,IAAK,UAAU,EAClD,gBAAiB,CAAC,CAAC,WAAW,EAAG,EAAK,IAAK,UAAU,EACrD,kBAAmB,CAAC,CAAC,kBAAkB,EAAG,KAAO,IAAK,UAAU,EAChE,mBAAoB,CAAC,CAAC,mBAAmB,EAAG,KAAO,IAAK,UAAU,EAClE,mBAAoB,CAAC,CAAC,YAAa,YAAY,EAAG,KAAO,GAAG,EAC5D,UAAW,CAAC,CAAC,YAAa,WAAY,YAAY,EAAG,IAAK,GAAG,EAC7D,WAAY,CAAC,CAAC,iBAAkB,gBAAiB,iBAAiB,EAAG,IAAK,GAAG,EAC7E,oBAAqB,CAAC,CAAC,YAAa,YAAY,EAAG,KAAO,GAAG,EAC7D,gBAAiB,CAAC,CAAC,YAAa,YAAY,EAAG,KAAM,GAAG,EACxD,gBAAiB,CAAC,CAAC,kBAAmB,kBAAkB,EAAG,KAAM,GAAG,EACpE,mBAAoB,CAAC,CAAC,sBAAuB,kBAAkB,EAAG,KAAM,GAAG,EAC3E,mBAAoB,CAAC,CAAC,kBAAmB,sBAAsB,EAAG,KAAM,GAAG,EAC3E,eAAgB,CAAC,CAAC,YAAa,WAAW,EAAG,KAAM,GAAG,EACtD,gBAAiB,CAAC,CAAC,WAAY,YAAY,EAAG,KAAM,GAAG,EACvD,gBAAiB,CAAC,CAAC,kBAAmB,kBAAkB,EAAG,KAAO,GAAG,EACrE,iBAAkB,CAAC,CAAC,kBAAmB,kBAAkB,EAAG,KAAO,GAAG,EACtE,UAAW,CAAC,CAAC,YAAa,YAAY,EAAG,KAAO,GAAG,EACnD,WAAY,CAAC,CAAC,iBAAkB,iBAAiB,EAAG,KAAO,GAAG,EAC9D,QAAS,CAAC,CAAC,aAAc,YAAY,EAAG,IAAK,GAAG,EAChD,QAAS,CAAC,CAAC,aAAc,aAAa,EAAG,KAAM,GAAG,EAKlD,iBAAkB,CAAC,CAAC,oBAAqB,oBAAoB,EAAG,KAAM,GAAG,EACzE,kBAAmB,CAAC,CAAC,2BAA4B,2BAA2B,EAAG,KAAM,GAAG,EACxF,iBAAkB,CAAC,CAAC,2BAA4B,2BAA2B,EAAG,KAAM,GAAG,CACzF,EAEIC,GAAc,SAAqBlF,EAAK,CAC1C,OAAIA,EAAI,OAAS,WACRA,EAAI,KAAK,OAET,CAEX,EAEImF,GAAU,SAAiBhX,EAAOoB,EAAS,CAE7C,SAAS6V,GAAgB,CACvB,IAAIC,EAAe,IAEftS,EAAQ5E,EAAM,MAAM,MAAM,CAAC,EAE/B,GAAIQ,GAAM,SAAS,CAAC,UAAW,YAAa,YAAa,QAAQ,EAAGoE,CAAK,EAAG,CAI1E,IAAIuS,EAAMnX,EAGNoX,EAAWL,GAAYI,EAAI,IAAI,EAC/B/S,EACAmF,EAEA8N,EAEJ,GAAID,EAAW,EACTxS,IAAU,WAAaA,IAAU,aACnCR,EAAgB,IAChB8S,EAAe,KACfG,EAAU,IACV9N,EAAW3E,EAAQ,MAEnBR,EAAgB,IAChB8S,EAAe,KACfG,EAAU,IACV9N,EAAW,cAER,CACL,IAAI+N,EAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAEF,CAAQ,EAEtCxS,IAAU,WAAaA,IAAU,aACnCsS,EAAe,CAAC,EAAG,KAAM,KAAM,KAAM,IAAI,EAAEI,CAAQ,EACnDlT,EAAgB,CAAC,EAAG,IAAK,IAAK,IAAK,GAAG,EAAEkT,CAAQ,EAChDD,EAAU,CAAC,EAAG,IAAM,GAAK,GAAK,IAAM,GAAI,EAAEC,CAAQ,EAClD/N,EAAW3E,EAAQ0S,IAEnBJ,EAAe,CAAC,EAAG,IAAK,KAAM,KAAM,IAAI,EAAEI,CAAQ,EAClDlT,EAAgB,CAAC,EAAG,IAAK,IAAK,IAAK,GAAG,EAAEkT,CAAQ,EAChDD,EAAU,CAAC,EAAG,IAAM,KAAO,GAAK,KAAO,GAAI,EAAEC,CAAQ,EACrD/N,EAAW,QAAU+N,EAE/B,CAEM,IAAI/S,EAAO,IAAI+E,GAASC,CAAQ,EAC5BkH,EAAU,IAAItH,GAAQ,CAAC5E,CAAI,EAAG,CAChC,MAAS,OACT,OAAUiD,GAAO6P,CAAO,EACxB,QAAW,OAASH,EAAe,IAAM9S,EACzC,oBAAuB,MAC/B,CAAO,EACD,MAAO,CACL,KAAMsM,GAAY,YAAY,CAAE,EAAE,CAACD,CAAO,EAAGrP,CAAO,EACpD,SAAU,EACV,OAAQiW,CACT,CACP,KAAW,CACL,IAAIE,EAAQ,CAAE,EACV9Q,EAAOqQ,GAAgBlS,CAAK,EAC5B,CAAC4S,EAAOC,EAAWC,CAAc,EAAIjR,EAErCkR,EAAWD,EAAiB,IAE5BE,EAAiBJ,EAAM,OACvBK,EACAC,EAEJ,GAAIF,IAAmB,EAAG,CAExB,IAAIG,EAAStR,EAAK,CAAC,EACnBoR,EAAe,CAAC,WAAW,EAC3BC,EAAS,CAACC,CAAM,CACxB,SAAiBH,IAAmB,EAC5BC,EAAe,CAAC,iBAAkB,iBAAiB,EACnDC,EAAS,CAAC,WAAY,UAAU,UACvBF,IAAmB,EAC5BC,EAAe,CAAC,aAAc,eAAgB,aAAa,EAC3DC,EAAS,CAAC,WAAY,WAAY,UAAU,MAE5C,OAAM,IAAI,MAAM;AAAA,sBAAiFF,EAAiB,YAAY,EAGhI,QAAS1U,EAAI,EAAGA,EAAI0U,EAAgB1U,IAAK,CACvC,IAAI8U,EAAQ,IAAI1O,GAASkO,EAAMtU,CAAC,CAAC,EAE7B+U,EAAW,IAAI9O,GAAQ,CAAC6O,CAAK,EAAG,CAClC,MAAS,QACT,OAAUxQ,GAAOmQ,CAAQ,EACzB,QAAW,OAAST,EAAe,IAAMQ,EACzC,oBAAuBI,EAAO5U,CAAC,EAAI,QAC7C,CAAS,EAEGgV,EAAQxH,GAAY,YAAY,CAACmH,EAAa3U,CAAC,CAAC,EAAG,CAAC+U,CAAQ,EAAG7W,CAAO,EAE1E,GAAIwW,IAAmB,EACrB,MAAO,CACL,KAAMM,EACN,SAAUT,EACV,OAAQE,CACT,EAEDO,EAAM,MAAM,OAAS1Q,GAAOmQ,CAAQ,EACpCJ,EAAM,KAAKW,CAAK,CAE1B,CAEM,MAAO,CACL,KAAMxH,GAAY,SAAS,CAAC,UAAU,EAAG6G,EAAOnW,CAAO,EACvD,SAAUqW,EACV,OAAQE,CACT,CACP,CACG,CAGD,GAAI,CACF,KAAA3O,EACA,SAAAmP,EACA,OAAAzT,CACD,EAAGuS,EAAa,EAGjB,OAAAjO,EAAK,OAAStE,EACdsE,EAAK,MAAM,OAASxB,GAAO9C,CAAM,EAE7ByT,EAAW,IACbnP,EAAK,MAAM,SAAWxB,GAAO2Q,CAAQ,GAGhCnP,CACT,EAEIoP,GAAc,SAAqB5N,EAAO5F,EAAOyT,EAAQC,EAAWlX,EAAS,CAE/E,IAAImX,EACAC,EAAchO,EAAM,OAASA,EAAM,MAAQ6N,EAASC,EAExD,GAAI,kBAAkB,KAAK1T,CAAK,GAG9B,GAFA2T,EAAM7H,GAAY,SAAS,CAAC,WAAY9L,CAAK,EAAG,CAAE,EAAExD,CAAO,EAEvDwD,IAAU,OAAQ,CACpB,IAAIlE,EAAQU,EAAQ,OAASA,EAAQ,SAAU,EAE3CV,IACF6X,EAAI,MAAM,YAAc7X,EAEhC,MACS,CAIL,IAAI+X,EAAQ,CAAE,EAEV,eAAe,KAAK7T,CAAK,GAC3B6T,EAAM,KAAK,IAAIhP,GAAS,CACtB,GAAM,IACN,GAAM,IACN,GAAM,OACN,GAAM,OACN,eAAgB,SACxB,CAAO,CAAC,EAGA,aAAa,KAAK7E,CAAK,GACzB6T,EAAM,KAAK,IAAIhP,GAAS,CACtB,GAAM,IACN,GAAM,OACN,GAAM,OACN,GAAM,IACN,eAAgB,SACxB,CAAO,CAAC,EAGJ,IAAIgH,EAAU,IAAItH,GAAQsP,EAAO,CAC/B,MAAS,OACT,OAAUjR,GAAOgR,CAAW,CAClC,CAAK,EACDD,EAAM7H,GAAY,YAAY,CAAE,EAAE,CAACD,CAAO,EAAGrP,CAAO,CACxD,CAEE,OAAAmX,EAAI,OAASC,EACbD,EAAI,MAAM,OAAS/Q,GAAOgR,CAAW,EAC9BD,CACT,EAEIG,GAAW,CACb,YAAAN,GACA,WAAAvB,GACA,QAAAG,EACF,EAMA,SAAS2B,GAAe5Q,EAAM9G,EAAM,CAClC,GAAI,CAAC8G,GAAQA,EAAK,OAAS9G,EACzB,MAAM,IAAI,MAAM,yBAA2BA,EAAO,cAAgB8G,EAAO,gBAAkBA,EAAK,KAAO,OAAOA,CAAI,EAAE,EAItH,OAAOA,CACT,CAMA,SAAS6Q,GAAqB7Q,EAAM,CAClC,IAAI8Q,EAAYC,GAAoB/Q,CAAI,EAExC,GAAI,CAAC8Q,EACH,MAAM,IAAI,MAAM,gDAAkD9Q,EAAO,gBAAkBA,EAAK,KAAO,OAAOA,CAAI,EAAE,EAGtH,OAAO8Q,CACT,CAMA,SAASC,GAAoB/Q,EAAM,CACjC,OAAIA,IAASA,EAAK,OAAS,QAAU8B,GAAU,eAAe9B,EAAK,IAAI,GAE9DA,EAGF,IACT,CAIA,IAAIgR,GAAgB,CAAC5B,EAAK/V,IAAY,CAEpC,IAAIqU,EACAzV,EACAgZ,EAEA7B,GAAOA,EAAI,OAAS,UAStBnX,EAAQ2Y,GAAexB,EAAI,KAAM,QAAQ,EAEzC1B,EAAOzV,EAAM,KAEbmX,EAAI,KAAO1B,EAGXuD,EAAcrP,GAAW+I,GAAayE,EAAK/V,CAAO,CAAC,EAEnD+V,EAAI,KAAOnX,IAEXA,EAAQ2Y,GAAexB,EAAK,QAAQ,EACpC1B,EAAOzV,EAAM,MAIf,IAAIkU,EAAOxB,GAAa+C,EAAMrU,EAAQ,mBAAoB,GAEtD6X,EAAYjZ,EAAM,UAAYQ,GAAM,eAAeiV,CAAI,EAMvD3M,EAAO,EAEX,GAAImQ,EAAW,CAGb,IAAIC,EAAW1Y,GAAM,YAAYiV,CAAI,EAEjC0D,EAAYzG,GAAawG,EAAU9X,EAAQ,mBAAoB,GAEnE0H,EAAOY,GAAoByP,CAAS,EAAE,IAI1C,CAEE,IAAIC,EAAcpZ,EAAM,QAAU,MAE9BqZ,EAAYD,EAAclF,EAAK,OAASA,EAAK,MAAQ,KAAK,IAAIA,EAAK,OAAQ9S,EAAQ,YAAa,EAAC,OAAO,EAExGkY,EAEJ,GAAKtZ,EAAM,WAsETsZ,EAAaZ,GAAS,QAAQ1Y,EAAOoB,CAAO,EAC5CkY,EAAa5I,GAAY,UAAU,CACjC,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMwD,CACd,EAAS,CACD,KAAM,OACN,KAAMoF,EACN,eAAgB,CAAC,WAAW,EAC5B,aAAcxQ,EAAO,EAAI,CACvB,MAAO,eAAiBtB,GAAO,EAAIsB,CAAI,EAAI,IAC3C,WAAYtB,GAAO,EAAIsB,CAAI,CACrC,EAAY,MACL,EACF,EAAE1H,CAAO,MArFW,CACrB,IAAIiJ,EACAtB,EAEA/I,EAAM,QAAU,SAMlBqK,EAASqG,GAAY,UAAU,MAAOtP,CAAO,EAC7C2H,EAAQ2H,GAAY,QAAQ,IAAI,CAAC,IAEjCrG,EAASqG,GAAY,QAAQ,CAC3B,KAAM1Q,EAAM,KACZ,KAAMA,EAAM,KACpB,EAASoB,EAAS,SAAS,EACrBiJ,EAASX,GAAoBW,CAAM,EAGnCA,EAAO,OAAS,EAChBtB,EAAQsB,EAAO,MAEX+O,IACFC,GAAahP,EAAO,QAIxBiP,EAAa5I,GAAY,SAAS,CAAC,aAAa,EAAG,CAACrG,CAAM,CAAC,EAI3D,IAAIkP,EAAavZ,EAAM,QAAU,gBAE7BuZ,IACFD,EAAW,QAAQ,KAAK,aAAa,EACrCD,EAAYnF,EAAK,QAInB,IAAInV,EAAO+J,EAKNyQ,IACHxa,GAAQgK,EAAQ,GAGlBuQ,EAAW,MAAM,KAAO9R,GAAOzI,CAAI,EAG/BiB,EAAM,QAAU,kBAClBsZ,EAAW,MAAM,IAAM,QAGzBA,EAAa5I,GAAY,UAAU,CACjC,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMwD,CACd,EAAS,CACD,KAAM,OACN,KAAM,CAACmF,CACf,EAAS,CACD,KAAM,OACN,KAAMC,CACP,EACF,EAAElY,CAAO,CACd,CAmBE,IAAIoY,EAAa9I,GAAY,SAAS,CAAC,OAAQ,QAAQ,EAAG,CAAC4I,CAAU,EAAGlY,CAAO,EAE/E,OAAI4X,GAGFA,EAAY,SAAS,CAAC,EAAIQ,EAG1BR,EAAY,OAAS,KAAK,IAAIQ,EAAW,OAAQR,EAAY,MAAM,EAEnEA,EAAY,QAAQ,CAAC,EAAI,OAClBA,GAEAQ,CAEX,EAEIC,GAAkB,CAACzZ,EAAOoB,IAAY,CACxC,IAAIsY,EAAa1Z,EAAM,WAAa0Y,GAAS,WAAW1Y,EAAM,KAAK,EAAI,IAAI+U,GAAW,SAAS,KAAM,CAACC,GAAShV,EAAM,MAAOA,EAAM,IAAI,CAAC,CAAC,EACpI+H,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,EAAGsY,CAAU,CAAC,EACzF,OAAA3R,EAAK,aAAa,SAAU,MAAM,EAC3BA,CACT,EAEI4R,GAA4B,IAAI,OAAO,CAAC,UAAW,UAAW,SAAU,UAAW,QAAS,UAAW,UAAW,QAAS,QAAS,QAAS,YAAY,EAAE,IAAItP,GAAU,KAAOA,CAAM,EAAE,KAAK,GAAG,CAAC,EAErM8G,GAAe,CACb,KAAM,SACN,MAAO,CAAC,UAAW,UAAW,SAAU,UAAW,QAAS,UAAW,UAAW,QAAS,QAAS,QAAS,aAAc,cAAe,YAAa,cAAe,mBAAoB,kBAAmB,mBAAoB,uBAAwB,cAAe,oBAAqB,oBAAqB,oBAAoB,EACtU,MAAO,CACL,QAAS,CACV,EACD,QAAS,CAAC1P,EAASmY,IAAS,CAC1B,IAAInE,EAAO7D,GAAkBgI,EAAK,CAAC,CAAC,EAChCC,EAAa,CAACF,GAA0B,KAAKlY,EAAQ,QAAQ,EAC7DqY,EAAW,CAACD,GAAcpY,EAAQ,WAAa,aAAeA,EAAQ,WAAa,eAAiBA,EAAQ,WAAa,cAC7H,MAAO,CACL,KAAM,SACN,KAAMA,EAAQ,OAAO,KACrB,MAAOA,EAAQ,SACf,WAAYoY,EACZ,SAAUC,EACV,KAAMrE,CACP,CACF,EACD,YAAasD,GACb,cAAeU,EACjB,CAAC,EAEDtI,GAAe,CACb,KAAM,SACN,MAAO,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,eAAe,EAC3G,MAAO,CACL,QAAS,EACT,cAAe,GACf,cAAe,GAEf,SAAU,CAAC,WAAW,CACvB,EACD,QAAS,CAAC1P,EAASmY,IAAS,CAC1B,IAAInE,EAAOmE,EAAK,CAAC,EACb9T,EAAOrE,EAAQ,OAAO,KAE1B,OAAIqE,IAAS,SACXrE,EAAQ,OAAO,SAAS,gBAAgB,oBAAqB,kBAAoBA,EAAQ,SAAW,0BAA0B,EAC9HqE,EAAO,QAGF,CACL,KAAM,SACN,KAAMA,EACN,MAAOrE,EAAQ,SACf,WAAY,GACZ,SAAU,GACV,KAAMgU,CACP,CACF,EACD,YAAasD,GACb,cAAeU,EACjB,CAAC,EAGDtI,GAAe,CACb,KAAM,cACN,MAAO,CAAC,mBAAoB,oBAAqB,wBAAyB,eAAgB,qBAAsB,UAAU,EAC1H,MAAO,CACL,QAAS,CACV,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACAqE,EAAOmE,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,cACN,KAAMG,EAAO,KACb,MAAOC,EACP,KAAMvE,CACP,CACF,EACD,YAAa,CAACzV,EAAOoB,IAAY,CAE/B,IAAI6Y,EAAavH,GAAa1S,EAAM,KAAMoB,CAAO,EAC7CkY,EAAaZ,GAAS,QAAQ1Y,EAAOoB,CAAO,EAC5C8Y,EAAOla,EAAM,QAAU,WAAa,IAAO,EAE3C4P,EAAQc,GAAY,UAAU,CAChC,aAAc,MACd,aAAcuJ,EAAW,OACzB,SAAU,CAAC,CACT,KAAM,OACN,KAAMX,EACN,eAAgB,CAAC,WAAW,CACpC,EAAS,CACD,KAAM,OACN,KAAMY,CACd,EAAS,CACD,KAAM,OACN,KAAMD,CACP,EACF,EAAE7Y,CAAO,EACV,OAAOsP,GAAY,SAAS,CAAC,OAAQ,aAAa,EAAG,CAACd,CAAK,EAAGxO,CAAO,CACtE,EACD,cAAe,CAACpB,EAAOoB,IAAY,CACjC,IAAIsY,EAAahB,GAAS,WAAW1Y,EAAM,KAAK,EAC5C+H,EAAO,IAAIgN,GAAW,SAAS,SAAU,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,EAAGsY,CAAU,CAAC,EAC1F,OAAA3R,EAAK,aAAa,cAAe,MAAM,EAChCA,CACX,CACA,CAAC,EAGD,IAAIoS,GAAana,GAAS,CACxB,IAAI+H,EAAO,IAAIgN,GAAW,SAAS,UAAW/U,EAAQ,CAACA,CAAK,EAAI,EAAE,EAClE,OAAA+H,EAAK,aAAa,QAAS,QAAQ,EACnCA,EAAK,aAAa,SAAU,OAAO,EAC5BA,CACT,EAGAoJ,GAAe,CACb,KAAM,SACN,MAAO,CAAC,eAAgB,gBAAiB,eAAgB,gBAAiB,oBAAqB,oBAAqB,mBAAoB,oBAAqB,YAAa,sBAAuB,oBAAqB,qBAAsB,mBAAoB,uBAAwB,uBAAwB,eAAgB,uBAAwB,sBAAuB,YAE/W,qBAAsB,sBAAuB,qBAC7C,mBAAoB,kBAAmB,iBAAiB,EACxD,MAAO,CACL,QAAS,EACT,gBAAiB,CAClB,EAED,QAAQC,EAAMwI,EAAMQ,EAAS,CAC3B,GAAI,CACF,OAAAL,EACA,SAAAC,CACN,EAAQ5I,EACJ,MAAO,CACL,KAAM,SACN,KAAM2I,EAAO,KACb,MAAOC,EACP,KAAMJ,EAAK,CAAC,EACZ,MAAOQ,EAAQ,CAAC,CACjB,CACF,EAID,YAAYpa,EAAOoB,EAAS,CAC1B,IAAImF,EAAQnF,EAAQ,MAKhBiZ,EAAajZ,EAAQ,YAAYmF,EAAM,IAAG,CAAE,EAC5C+T,EAAa5J,GAAY,aAAagC,GAAa1S,EAAM,KAAMqa,EAAYjZ,CAAO,EAAGA,CAAO,EAC5FmZ,EAAcva,EAAM,MAAM,MAAM,EAAG,CAAC,IAAM,MAAQ,IAAM,KAC5Dsa,EAAW,QAAQ,KAAKC,EAAc,YAAY,EAClD,IAAIC,EAEAxa,EAAM,QAERqa,EAAajZ,EAAQ,YAAYmF,EAAM,IAAG,CAAE,EAC5CiU,EAAa9J,GAAY,aAAagC,GAAa1S,EAAM,MAAOqa,EAAYjZ,CAAO,EAAGA,CAAO,EAC7FoZ,EAAW,QAAQ,KAAKD,EAAc,YAAY,GAGpD,IAAIE,EAAY/B,GAAS,QAAQ1Y,EAAOoB,CAAO,EAG3CsZ,EAAa,CAACtZ,EAAQ,YAAW,EAAG,WAAa,GAAMqZ,EAAU,OAEjEE,EAAa,CAACvZ,EAAQ,YAAa,EAAC,WAAa,GAAMqZ,EAAU,OAAS,MAE1EH,EAAW,MAAQ,KAAQta,EAAM,QAAU,wBAC7C2a,GAAcL,EAAW,OAI3B,IAAI1K,EAEJ,GAAI4K,EAAY,CACd,IAAII,EAAa,CAACxZ,EAAQ,cAAc,WAAaoZ,EAAW,OAAS,GAAMC,EAAU,OAAS,KAClG7K,EAAQc,GAAY,UAAU,CAC5B,aAAc,kBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM4J,EACN,MAAOK,CACjB,EAAW,CACD,KAAM,OACN,KAAMF,EACN,MAAOC,CACjB,EAAW,CACD,KAAM,OACN,KAAMF,EACN,MAAOI,CACR,EACF,EAAExZ,CAAO,CAChB,MACMwO,EAAQc,GAAY,UAAU,CAC5B,aAAc,kBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM4J,EACN,MAAOK,CACjB,EAAW,CACD,KAAM,OACN,KAAMF,EACN,MAAOC,CACR,EACF,EAAEtZ,CAAO,EAIZ,OAAAwO,EAAM,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,KAAK,WAAW,EAC3Dc,GAAY,SAAS,CAAC,OAAQ,SAAS,EAAG,CAACd,CAAK,EAAGxO,CAAO,CAClE,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAIyZ,EAAYnC,GAAS,WAAW1Y,EAAM,KAAK,EAC/C6a,EAAU,aAAa,UAAW7a,EAAM,MAAM,OAAO,CAAC,IAAM,IAAM,SAAW,OAAO,EACpF,IAAI+H,EAEJ,GAAI/H,EAAM,KAAM,CACd,IAAI8a,EAAYX,GAAW7E,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,EAE1D,GAAIpB,EAAM,MAAO,CACf,IAAI+a,EAAYZ,GAAW7E,GAAWtV,EAAM,MAAOoB,CAAO,CAAC,EAC3D2G,EAAO,IAAIgN,GAAW,SAAS,aAAc,CAAC8F,EAAWE,EAAWD,CAAS,CAAC,CACtF,MACQ/S,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAAC8F,EAAWC,CAAS,CAAC,CAEtE,SAAe9a,EAAM,MAAO,CACtB,IAAIgb,EAAab,GAAW7E,GAAWtV,EAAM,MAAOoB,CAAO,CAAC,EAE5D2G,EAAO,IAAIgN,GAAW,SAAS,SAAU,CAAC8F,EAAWG,CAAU,CAAC,CACtE,MAGMjT,EAAOoS,GAAY,EACnBpS,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAAC8F,EAAW9S,CAAI,CAAC,EAG3D,OAAOA,CACX,CAEA,CAAC,EAED,IAAIkT,GAAWvK,GAAY,SAE3B,SAASwK,GAAclb,EAAOoB,EAAS,CACrC,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAS,EAAI,EAC1D,OAAO6Z,GAAS,CAACjb,EAAM,MAAM,EAAGmb,EAAU/Z,CAAO,CACnD,CAEA,SAASga,GAAgBpb,EAAOoB,EAAS,CACvC,IAAI2G,EACAyC,EAAQ4K,GAAgBpV,EAAM,KAAMoB,CAAO,EAE/C,OAAIpB,EAAM,SAAW,SACnB+H,EAAO,IAAIgN,GAAW,SAAS,UAAWvK,CAAK,EACtCxK,EAAM,SAAW,OACtBA,EAAM,gBACR+H,EAAOyC,EAAM,CAAC,EACdzC,EAAK,KAAO,MAEZA,EAAO,IAAIgN,GAAW,SAAS,KAAMvK,CAAK,GAGxCxK,EAAM,gBACR+H,EAAOyC,EAAM,CAAC,EACdzC,EAAK,KAAO,MAEZA,EAAO,IAAIgN,GAAW,SAAS,KAAMvK,CAAK,EAKxCxK,EAAM,SAAW,QACnB+H,EAAK,WAAW,OAAS,SAEzBA,EAAK,WAAW,OAAS,UAChB/H,EAAM,SAAW,UAC1B+H,EAAK,WAAW,OAAS,MACzBA,EAAK,WAAW,OAAS,UAChB/H,EAAM,SAAW,SAAWA,EAAM,SAAW,UACtD+H,EAAK,WAAW,OAAS,MACzBA,EAAK,WAAW,OAAS,OAChB/H,EAAM,SAAW,WAC1B+H,EAAK,WAAW,OAAS,WAEzBA,EAAK,WAAW,MAAQ,cAMrBA,CACT,CAGAoJ,GAAe,CACb,KAAM,SACN,MAAO,CAAC,YAAa,YAAa,YAAa,aAAc,cAAe,cAAe,aAAa,EACxG,MAAO,CACL,QAAS,EACT,UAAW,EACZ,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA8C,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,SACN,KAAMG,EAAO,KACb,OAAQ,IAAMC,EAAS,MAAM,CAAC,EAE9B,KAAMlI,GAAYoC,CAAI,EACtB,eAAgB1T,GAAM,eAAe0T,CAAI,CAC1C,CACF,EAED,YAAagH,GACb,cAAeE,EACjB,CAAC,EACD,IAAIC,GAAcxJ,GAAO,CAKvB,IAAIyJ,EAAOzJ,EAAI,OAAS,YAAcA,EAAI,KAAK,OAASA,EAAI,KAAK,CAAC,EAAIA,EAEtE,OAAIyJ,EAAK,OAAS,SAAWA,EAAK,SAAW,OAASA,EAAK,SAAW,OAC7D,IAAMA,EAAK,OAEX,MAEX,EAGAnK,GAAe,CACb,KAAM,SACN,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,CACV,EAED,QAAQQ,EAAOiI,EAAM,CACnB,GAAI,CACF,OAAAG,CACN,EAAQpI,EACJ,MAAO,CACL,KAAM,SACN,KAAMoI,EAAO,KACb,OAAQsB,GAAYzB,EAAK,CAAC,CAAC,EAC3B,KAAM9H,GAAY8H,EAAK,CAAC,CAAC,EACzB,eAAgBpZ,GAAM,eAAeoZ,EAAK,CAAC,CAAC,CAC7C,CACL,CAEA,CAAC,EAEDzI,GAAe,CACb,KAAM,SACN,MAAO,CAAC,aAAc,YAAa,YAAY,EAC/C,MAAO,CACL,QAAS,CACV,EAED,QAAQoK,EAAO3B,EAAM,CACnB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQuB,EACAC,EAAU5B,EAAK,CAAC,EAChB6B,EAAa7B,EAAK,CAAC,EACnB8B,EAEA1B,IAAa,aAEf0B,EAASL,GAAYG,CAAO,EAE5BE,EAAS,OAGX,IAAIC,EAAS,CACX,KAAM,KACN,KAAMH,EAAQ,KACd,OAAQ,GACR,mBAAoB,GACpB,eAAgB,GAChB,OAAQ,GACR,kBAAmBxB,IAAa,aAChC,KAAMlI,GAAY0J,CAAO,CAC1B,EACGI,EAAS,CACX,KAAM,SACN,KAAMH,EAAW,KACjB,KAAME,EACN,IAAK3B,IAAa,aAAe,KAAOyB,EACxC,IAAKzB,IAAa,aAAeyB,EAAa,IAC/C,EACD,MAAO,CACL,KAAM,SACN,KAAM1B,EAAO,KACb,OAAA2B,EACA,KAAM,CAACE,CAAM,EACb,eAAgBpb,GAAM,eAAeob,CAAM,CAC5C,CACF,EAED,YAAaV,GACb,cAAeE,EACjB,CAAC,EAMDjK,GAAe,CACb,KAAM,MACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,MACN,KAAM2I,EAAO,KACb,OAAQsB,GAAYzB,EAAK,CAAC,CAAC,EAC3B,KAAM9H,GAAY8H,EAAK,CAAC,CAAC,CAC1B,CACF,EAED,YAAY5Z,EAAOoB,EAAS,CAC1B,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAS,EAAI,EACtD2G,EAAO2I,GAAY,SAAS,CAAC1Q,EAAM,MAAM,EAAGmb,EAAU/Z,CAAO,EACjE,OAAA2G,EAAK,MAAM,WAAa,uBACjBA,CACR,EAED,cAAc/H,EAAOuG,EAAO,CAC1B,IAAIiE,EAAQ4K,GAAgBpV,EAAM,KAAMuG,CAAK,EAEzCwB,EAAO,IAAIgN,GAAW,SAAS,SAAUvK,CAAK,EAClD,OAAAzC,EAAK,aAAa,QAAS,mCAAmC,EACvDA,CACX,CAEA,CAAC,EAED,IAAI8T,GAAsB,CACxB,IAAK,mBACL,IAAK,kBACL,IAAK,kBACL,EAAK,YACL,EAAK,cACL,IAAK,SACL,IAAK,UACP,EAEIC,GAAU,KAML,CACL,KAAM,UACN,KAAM,CAAE,EACR,KAAM,OACN,MAAO,SACR,GAGCC,GAAiBhU,GACZA,EAAK,OAAS,WAAaA,EAAK,OAAS,IAG9CiU,GAAa,CAACjU,EAAMkU,KACdlU,EAAK,OAAS,WAAaA,EAAK,OAAS,SAAWA,EAAK,OAASkU,EAG5E,SAASC,GAAQC,EAAWC,EAAQrC,EAAQ,CAG1C,IAAIC,EAAW6B,GAAoBM,CAAS,EAE5C,OAAQnC,EAAQ,CACd,IAAK,mBACL,IAAK,kBACH,OAAOD,EAAO,aAAaC,EAAU,CAACoC,EAAO,CAAC,CAAC,EAAG,CAACA,EAAO,CAAC,CAAC,CAAC,EAE/D,IAAK,YACL,IAAK,cACH,CACE,IAAIC,EAAYtC,EAAO,aAAa,aAAc,CAACqC,EAAO,CAAC,CAAC,EAAG,EAAE,EAC7DE,EAAY,CACd,KAAM,OACN,KAAMtC,EACN,KAAM,OACN,OAAQ,KACT,EACGuC,EAAaxC,EAAO,aAAa,QAAS,CAACuC,CAAS,EAAG,EAAE,EACzDE,EAAazC,EAAO,aAAa,cAAe,CAACqC,EAAO,CAAC,CAAC,EAAG,EAAE,EAC/DK,EAAa,CACf,KAAM,WACN,KAAM,OACN,KAAM,CAACJ,EAAWE,EAAYC,CAAU,CACzC,EACD,OAAOzC,EAAO,aAAa,eAAgB,CAAC0C,CAAU,EAAG,EAAE,CACnE,CAEI,IAAK,kBACH,OAAO1C,EAAO,aAAa,kBAAmB,GAAI,EAAE,EAEtD,IAAK,SACH,CACE,IAAI2C,EAAQ,CACV,KAAM,UACN,KAAM,SACN,KAAM,MACP,EACD,OAAO3C,EAAO,aAAa,QAAS,CAAC2C,CAAK,EAAG,EAAE,CACvD,CAEI,QACE,MAAO,CACL,KAAM,UACN,KAAM,IACN,KAAM,MACP,CACP,CACA,CAEA,SAASC,GAAQ5C,EAAQ,CAEvB,IAAI6C,EAAa,CAAE,EAKnB,IAJA7C,EAAO,OAAO,WAAY,EAC1BA,EAAO,OAAO,OAAO,IAAI,OAAQ,aAAa,EAC9CA,EAAO,OAAO,WAAY,IAEb,CAGX6C,EAAW,KAAK7C,EAAO,gBAAgB,GAAO,MAAM,CAAC,EACrDA,EAAO,OAAO,SAAU,EACxBA,EAAO,OAAO,WAAY,EAC1B,IAAInM,EAAOmM,EAAO,MAAK,EAAG,KAE1B,GAAInM,IAAS,KAAOA,IAAS,OAC3BmM,EAAO,QAAS,UACPnM,IAAS,QAAS,CACvBgP,EAAWA,EAAW,OAAS,CAAC,EAAE,SAAW,GAC/CA,EAAW,IAAG,EAGhB,KACN,KACM,OAAM,IAAIne,GAAW,iCAAkCsb,EAAO,SAAS,CAE7E,CAKE,QAHI8C,EAAM,CAAE,EACR3I,EAAO,CAAC2I,CAAG,EAEN3Z,EAAI,EAAGA,EAAI0Z,EAAW,OAAQ1Z,IAAK,CAM1C,QAJI4Z,EAAWF,EAAW1Z,CAAC,EAEvB6Z,EAAOjB,GAAS,EAEXzP,EAAI,EAAGA,EAAIyQ,EAAS,OAAQzQ,IACnC,GAAI,CAAC0P,GAAee,EAASzQ,CAAC,CAAC,EAE7B0Q,EAAK,KAAK,KAAKD,EAASzQ,CAAC,CAAC,MACrB,CAGLwQ,EAAI,KAAKE,CAAI,EAGb1Q,GAAK,EACL,IAAI8P,EAAYvD,GAAqBkE,EAASzQ,CAAC,CAAC,EAAE,KAE9C+P,EAAS,IAAI,MAAM,CAAC,EAYxB,GAXAA,EAAO,CAAC,EAAI,CACV,KAAM,WACN,KAAM,OACN,KAAM,EACP,EACDA,EAAO,CAAC,EAAI,CACV,KAAM,WACN,KAAM,OACN,KAAM,EAChB,EAEY,QAAM,QAAQD,CAAS,EAAI,IAAW,GAAI,OAAO,QAAQA,CAAS,EAAI,GAKxE,QAASa,EAAW,EAAGA,EAAW,EAAGA,IAAY,CAG/C,QAFIC,EAAU,GAELC,EAAI7Q,EAAI,EAAG6Q,EAAIJ,EAAS,OAAQI,IAAK,CAC5C,GAAIlB,GAAWc,EAASI,CAAC,EAAGf,CAAS,EAAG,CACtCc,EAAU,GACV5Q,EAAI6Q,EACJ,KAChB,CAEc,GAAInB,GAAee,EAASI,CAAC,CAAC,EAC5B,MAAM,IAAIze,GAAW,aAAe0d,EAAY,qCAAsCW,EAASI,CAAC,CAAC,EAGnGd,EAAOY,CAAQ,EAAE,KAAK,KAAKF,EAASI,CAAC,CAAC,CACpD,CAEY,GAAID,EAEF,MAAM,IAAIxe,GAAW,aAAe0d,EAAY,qCAAsCW,EAASzQ,CAAC,CAAC,CAE/G,KAEU,OAAM,IAAI5N,GAAW,oCAAuCqe,EAASzQ,CAAC,CAAC,EAIzE,IAAIqQ,EAAQR,GAAQC,EAAWC,EAAQrC,CAAM,EAGzCoD,EAAe,CACjB,KAAM,UACN,KAAM,CAACT,CAAK,EACZ,KAAM,OACN,MAAO,SAER,EACDG,EAAI,KAAKM,CAAY,EAIrBJ,EAAOjB,GAAS,CACxB,CAGQ5Y,EAAI,IAAM,EAGZ2Z,EAAI,KAAKE,CAAI,EAIbF,EAAI,MAAO,EAGbA,EAAM,CAAE,EACR3I,EAAK,KAAK2I,CAAG,CACd,CAGD9C,EAAO,OAAO,WAEdA,EAAO,OAAO,WAEd,IAAIqD,EAAO,IAAI,MAAMlJ,EAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CACxC,KAAM,QACN,MAAO,IACP,OAAQ,IAER,QAAS,GAEb,CAAG,EACD,MAAO,CACL,KAAM,QACN,KAAM,OACN,KAAAA,EACA,aAAc,EACd,OAAQ,GACR,QAAS,CAAC,IAAI,EACd,KAAAkJ,EACA,kBAAmB,KACnB,gBAAiB,IAAI,MAAMlJ,EAAK,OAAS,CAAC,EAAE,KAAK,CAAE,EACpD,CACH,CAMA/C,GAAe,CACb,KAAM,UACN,MAAO,CAAC,aAAc,aAAa,EACnC,MAAO,CACL,QAAS,CACV,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACJ,MAAO,CACL,KAAM,UACN,KAAM2I,EAAO,KACb,KAAMC,EAAS,MAAM,CAAC,EACtB,MAAOJ,EAAK,CAAC,CACd,CACF,EAED,YAAY5Z,EAAOoB,EAAS,CAC1B,IAAIiZ,EAAajZ,EAAQ,YAAYA,EAAQ,MAAM,KAAK,EACpDwD,EAAQ8L,GAAY,aAAagC,GAAa1S,EAAM,MAAOqa,EAAYjZ,CAAO,EAAGA,CAAO,EAC5F,OAAAwD,EAAM,QAAQ,KAAK,YAAc5E,EAAM,IAAI,EAC3C4E,EAAM,MAAM,OAAS4C,GAAO,GAAM5C,EAAM,KAAK,EAG7CA,EAAM,OAAS,EACfA,EAAM,MAAQ,EACPA,CACR,EAED,cAAc5E,EAAOoB,EAAS,CAC5B,IAAIwD,EAAQ,IAAImQ,GAAW,SAAS,OAAQ,CAACO,GAAWtV,EAAM,MAAOoB,CAAO,CAAC,CAAC,EAC9E,OAAAwD,EAAQ,IAAImQ,GAAW,SAAS,UAAW,CAACnQ,CAAK,CAAC,EAClDA,EAAM,aAAa,QAAS,GAAG,EAE3B5E,EAAM,OAAS,QACjB4E,EAAM,aAAa,SAAU,SAAS,EAKxCA,EAAM,aAAa,UAAW,OAAO,EACrCA,EAAQ,IAAImQ,GAAW,SAAS,SAAU,CAACnQ,CAAK,CAAC,EACjDA,EAAM,aAAa,eAAgB,OAAO,EAC1CA,EAAM,aAAa,cAAe,GAAG,EAC9BA,CACX,CAEA,CAAC,EACDuM,GAAe,CACb,KAAM,gBACN,MAAO,CAAC,cAAc,EACtB,MAAO,CACL,QAAS,CACV,EAED,QAAQQ,EAAOiI,EAAM,CACnB,GAAI,CACF,OAAAG,CACN,EAAQpI,EACJ,MAAO,CACL,KAAM,gBACN,KAAMoI,EAAO,KACb,SAAUH,EAAK,CAAC,CACjB,CACF,EAED,YAAY5Z,EAAOoB,EAAS,CAI1B,IAAIic,EAAS3M,GAAY,aAAagC,GAAa1S,EAAM,SAAUoB,CAAO,EAAGA,CAAO,EACpF,OAAAic,EAAO,QAAQ,KAAK,eAAe,EAC5BA,CACR,EAED,cAAcrd,EAAOoB,EAAS,CAC5B,OAAO,IAAI2T,GAAW,SAAS,OAAQ,CAACO,GAAWtV,EAAM,SAAUoB,CAAO,CAAC,CAAC,CAChF,CAEA,CAAC,EAKD+P,GAAe,CACb,KAAM,UACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAQlB,OAPI,CACF,OAAAG,CACN,EAAQ3I,EACAS,EAAM8G,GAAeiB,EAAK,CAAC,EAAG,UAAU,EACxC5Z,EAAQ6R,EAAI,KACZyL,EAAS,GAEJpa,EAAI,EAAGA,EAAIlD,EAAM,OAAQkD,IAAK,CACrC,IAAI6E,EAAO4Q,GAAe3Y,EAAMkD,CAAC,EAAG,SAAS,EAC7Coa,GAAUvV,EAAK,IACrB,CAEI,IAAIwV,EAAO,SAASD,CAAM,EACtBhf,EAEJ,GAAI,MAAMif,CAAI,EACZ,MAAM,IAAI9e,GAAW,oCAAsC6e,CAAM,EAE5D,GAAIC,EAAO,GAAKA,GAAQ,QAC7B,MAAM,IAAI9e,GAAW,mCAAqC6e,CAAM,EAC3D,OAAIC,GAAQ,MACjBjf,EAAO,OAAO,aAAaif,CAAI,GAG/BA,GAAQ,MACRjf,EAAO,OAAO,cAAcif,GAAQ,IAAM,OAASA,EAAO,MAAS,KAAM,GAGpE,CACL,KAAM,UACN,KAAMxD,EAAO,KACb,KAAMzb,CACP,CACL,CAEA,CAAC,EAED,IAAIkf,GAAgB,CAACxd,EAAOoB,IAAY,CACtC,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAQ,UAAUpB,EAAM,KAAK,EAAG,EAAK,EAKlF,OAAO0Q,GAAY,aAAayK,CAAQ,CAC1C,EAEIsC,GAAkB,CAACzd,EAAOoB,IAAY,CACxC,IAAIoJ,EAAQ4K,GAAgBpV,EAAM,KAAMoB,EAAQ,UAAUpB,EAAM,KAAK,CAAC,EAClE+H,EAAO,IAAIgN,GAAW,SAAS,SAAUvK,CAAK,EAClD,OAAAzC,EAAK,aAAa,YAAa/H,EAAM,KAAK,EACnC+H,CACT,EAEAoJ,GAAe,CACb,KAAM,QACN,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,QAAS,EACT,cAAe,GACf,SAAU,CAAC,QAAS,UAAU,CAC/B,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACA1Q,EAAQiY,GAAeiB,EAAK,CAAC,EAAG,aAAa,EAAE,MAC/C1F,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,QACN,KAAMG,EAAO,KACb,MAAArZ,EACA,KAAMoR,GAAYoC,CAAI,CACvB,CACF,EAED,YAAasJ,GACb,cAAeC,EACjB,CAAC,EACDtM,GAAe,CACb,KAAM,QACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,EACT,cAAe,GACf,SAAU,CAAC,OAAO,CACnB,EAED,QAAQQ,EAAOiI,EAAM,CACnB,GAAI,CACF,OAAAG,EACA,iBAAA2D,CACN,EAAQ/L,EACAjR,EAAQiY,GAAeiB,EAAK,CAAC,EAAG,aAAa,EAAE,MAKnDG,EAAO,OAAO,OAAO,IAAI,kBAAmBrZ,CAAK,EAEjD,IAAIwT,EAAO6F,EAAO,gBAAgB,GAAM2D,CAAgB,EACxD,MAAO,CACL,KAAM,QACN,KAAM3D,EAAO,KACb,MAAArZ,EACA,KAAAwT,CACD,CACF,EAED,YAAasJ,GACb,cAAeC,EACjB,CAAC,EAIDtM,GAAe,CACb,KAAM,KACN,MAAO,CAAC,MAAM,EACd,MAAO,CACL,QAAS,EACT,gBAAiB,EACjB,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAMQ,EAAS,CAC3B,GAAI,CACF,OAAAL,CACN,EAAQ3I,EACAvP,EAAOkY,EAAO,OAAO,OAAQ,EAAC,OAAS,IAAMA,EAAO,eAAe,EAAI,EAAI,KAC3E4D,EAAU,CAAC5D,EAAO,SAAS,aAAe,CAACA,EAAO,SAAS,kBAAkB,uBAAwB,0DAA+D,EACxK,MAAO,CACL,KAAM,KACN,KAAMA,EAAO,KACb,QAAA4D,EACA,KAAM9b,GAAQ8W,GAAe9W,EAAM,MAAM,EAAE,KAC5C,CACF,EAID,YAAY7B,EAAOoB,EAAS,CAC1B,IAAI4H,EAAO0H,GAAY,SAAS,CAAC,QAAQ,EAAG,CAAE,EAAEtP,CAAO,EAEvD,OAAIpB,EAAM,UACRgJ,EAAK,QAAQ,KAAK,SAAS,EAEvBhJ,EAAM,OACRgJ,EAAK,MAAM,UAAYxB,GAAOJ,GAAcpH,EAAM,KAAMoB,CAAO,CAAC,IAI7D4H,CACR,EAED,cAAchJ,EAAOoB,EAAS,CAC5B,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,QAAQ,EAE3C,OAAI/U,EAAM,UACR+H,EAAK,aAAa,YAAa,SAAS,EAEpC/H,EAAM,MACR+H,EAAK,aAAa,SAAUP,GAAOJ,GAAcpH,EAAM,KAAMoB,CAAO,CAAC,CAAC,GAInE2G,CACX,CAEA,CAAC,EAED,IAAI6V,GAAY,CACd,WAAY,WACZ,SAAU,iBACV,iBAAkB,iBAClB,QAAS,SACT,SAAU,SACV,SAAU,SACV,SAAU,SACV,QAAS,gBACT,cAAe,kBACjB,EAEIC,GAAuBC,GAAO,CAChC,IAAIrZ,EAAOqZ,EAAI,KAEf,GAAI,wBAAwB,KAAKrZ,CAAI,EACnC,MAAM,IAAIhG,GAAW,8BAA+Bqf,CAAG,EAGzD,OAAOrZ,CACT,EAEIsZ,GAAShE,GAAU,CACrB,IAAI+D,EAAM/D,EAAO,OAAO,SAAU,EAElC,OAAI+D,EAAI,OAAS,MAEfA,EAAM/D,EAAO,OAAO,SAAU,EAE1B+D,EAAI,OAAS,MAEfA,EAAM/D,EAAO,OAAO,SAAU,IAI3B+D,CACT,EAEIE,GAAa,CAACjE,EAAQtV,EAAMqZ,EAAKG,IAAW,CAC9C,IAAIC,EAAQnE,EAAO,OAAO,OAAO,IAAI+D,EAAI,IAAI,EAEzCI,GAAS,OAGXJ,EAAI,SAAW,GACfI,EAAQ,CACN,OAAQ,CAACJ,CAAG,EACZ,QAAS,EAET,aAAc,CAAC/D,EAAO,OAAO,aAAa+D,EAAI,IAAI,CACnD,GAGH/D,EAAO,OAAO,OAAO,IAAItV,EAAMyZ,EAAOD,CAAM,CAC9C,EAMA9M,GAAe,CACb,KAAM,WACN,MAAO,CAAC,WAAY,SAAU,gBAC7B,EACD,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EAED,QAAQC,EAAM,CACZ,GAAI,CACF,OAAA2I,EACA,SAAAC,CACN,EAAQ5I,EACJ2I,EAAO,cAAe,EACtB,IAAIpb,EAAQob,EAAO,MAAO,EAE1B,GAAI6D,GAAUjf,EAAM,IAAI,EAEtB,OAAIqb,IAAa,YAAcA,IAAa,oBAC1Crb,EAAM,KAAOif,GAAUjf,EAAM,IAAI,GAG5Bga,GAAeoB,EAAO,cAAa,EAAI,UAAU,EAG1D,MAAM,IAAItb,GAAW,mCAAoCE,CAAK,CAClE,CAEA,CAAC,EAKDwS,GAAe,CACb,KAAM,WACN,MAAO,CAAC,QAAS,SAAU,SAAU,QAAQ,EAC7C,MAAO,CACL,QAAS,EACT,cAAe,GACf,UAAW,EACZ,EAED,QAAQQ,EAAO,CACb,GAAI,CACF,OAAAoI,EACA,SAAAC,CACN,EAAQrI,EACAmM,EAAM/D,EAAO,OAAO,SAAU,EAC9BtV,EAAOqZ,EAAI,KAEf,GAAI,wBAAwB,KAAKrZ,CAAI,EACnC,MAAM,IAAIhG,GAAW,8BAA+Bqf,CAAG,EAOzD,QAJIK,EAAU,EACVC,EACAC,EAAa,CAAC,EAAE,EAEbtE,EAAO,OAAO,OAAM,EAAG,OAAS,KAGrC,GAFA+D,EAAM/D,EAAO,OAAO,SAAU,EAE1B+D,EAAI,OAAS,IAAK,CAKpB,GAAI/D,EAAO,OAAO,OAAM,EAAG,OAAS,IAAK,CACvCqE,EAASrE,EAAO,OAAO,OAAQ,EAC/BsE,EAAWF,CAAO,EAAE,KAAK,GAAG,EAC5B,KACD,CAMD,GAFAL,EAAM/D,EAAO,OAAO,SAAU,EAE1B,CAAC,UAAU,KAAK+D,EAAI,IAAI,EAC1B,MAAM,IAAIrf,GAAW,4BAA+Bqf,EAAI,KAAO,GAAI,EAGrE,GAAI,SAASA,EAAI,IAAI,IAAMK,EAAU,EACnC,MAAM,IAAI1f,GAAW,oBAAuBqf,EAAI,KAAO,gBAAiB,EAG1EK,IACAE,EAAW,KAAK,EAAE,CAC1B,KAAa,IAAIP,EAAI,OAAS,MACtB,MAAM,IAAIrf,GAAW,6BAA6B,EAElD4f,EAAWF,CAAO,EAAE,KAAKL,EAAI,IAAI,EAKrC,GAAI,CACF,OAAAQ,CACN,EAAQvE,EAAO,OAAO,WAAY,EAE9B,OAAIqE,GACFE,EAAO,QAAQF,CAAM,GAGnBpE,IAAa,UAAYA,IAAa,YACxCsE,EAASvE,EAAO,OAAO,aAAauE,CAAM,EAC1CA,EAAO,QAAO,GAIhBvE,EAAO,OAAO,OAAO,IAAItV,EAAM,CAC7B,OAAA6Z,EACA,QAAAH,EACA,WAAAE,CACN,EAAOrE,IAAa4D,GAAU5D,CAAQ,CAAC,EAC5B,CACL,KAAM,WACN,KAAMD,EAAO,IACd,CACL,CAEA,CAAC,EAKD5I,GAAe,CACb,KAAM,WACN,MAAO,CAAC,QAAS,eAChB,EACD,MAAO,CACL,QAAS,EACT,cAAe,GACf,UAAW,EACZ,EAED,QAAQoK,EAAO,CACb,GAAI,CACF,OAAAxB,EACA,SAAAC,CACN,EAAQuB,EACA9W,EAAOoZ,GAAqB9D,EAAO,OAAO,SAAQ,CAAE,EACxDA,EAAO,OAAO,cAAe,EAC7B,IAAI+D,EAAMC,GAAOhE,CAAM,EACvB,OAAAiE,GAAWjE,EAAQtV,EAAMqZ,EAAK9D,IAAa,eAAe,EACnD,CACL,KAAM,WACN,KAAMD,EAAO,IACd,CACL,CAEA,CAAC,EAED5I,GAAe,CACb,KAAM,WACN,MAAO,CAAC,cAAe,kBACtB,EACD,MAAO,CACL,QAAS,EACT,cAAe,GACf,UAAW,EACZ,EAED,QAAQoN,EAAO,CACb,GAAI,CACF,OAAAxE,EACA,SAAAC,CACN,EAAQuE,EACA9Z,EAAOoZ,GAAqB9D,EAAO,OAAO,SAAQ,CAAE,EACpDyE,EAASzE,EAAO,OAAO,SAAU,EACjC+D,EAAM/D,EAAO,OAAO,SAAU,EAClC,OAAAiE,GAAWjE,EAAQtV,EAAMqZ,EAAK9D,IAAa,kBAAkB,EAC7DD,EAAO,OAAO,UAAU+D,CAAG,EAC3B/D,EAAO,OAAO,UAAUyE,CAAM,EACvB,CACL,KAAM,WACN,KAAMzE,EAAO,IACd,CACL,CAEA,CAAC,EA4BD,IAAI0E,GAAa,SAAoBC,EAAQ7Y,EAAMC,EAAM,CACvD,IAAIkE,EAAUF,GAAQ,KAAK4U,CAAM,GAAK5U,GAAQ,KAAK4U,CAAM,EAAE,QACvDhZ,EAAUC,GAAoBqE,GAAW0U,EAAQ7Y,EAAMC,CAAI,EAE/D,GAAI,CAACJ,EACH,MAAM,IAAI,MAAM,sBAAwBgZ,EAAS,kBAAoB7Y,EAAO,GAAG,EAGjF,OAAOH,CACT,EAOIiZ,GAAY,SAAmBC,EAAOC,EAASzd,EAASsG,EAAS,CACnE,IAAI2S,EAAajZ,EAAQ,gBAAgByd,CAAO,EAC5C7V,EAAO0H,GAAY,SAAShJ,EAAQ,OAAO2S,EAAW,cAAcjZ,CAAO,CAAC,EAAG,CAACwd,CAAK,EAAGxd,CAAO,EAC/F0d,EAAsBzE,EAAW,eAAiBjZ,EAAQ,eAC9D,OAAA4H,EAAK,QAAU8V,EACf9V,EAAK,OAAS8V,EACd9V,EAAK,YAAcqR,EAAW,eACvBrR,CACT,EAEI+V,GAAa,SAAoB/V,EAAM5H,EAASmF,EAAO,CACzD,IAAI8T,EAAajZ,EAAQ,gBAAgBmF,CAAK,EAC1CyY,GAAS,EAAI5d,EAAQ,eAAiBiZ,EAAW,gBAAkBjZ,EAAQ,YAAW,EAAG,WAC7F4H,EAAK,QAAQ,KAAK,aAAa,EAC/BA,EAAK,MAAM,IAAMxB,GAAOwX,CAAK,EAC7BhW,EAAK,QAAUgW,EACfhW,EAAK,OAASgW,CAChB,EAQIC,GAAiB,SAAwBL,EAAOrY,EAAO2Y,EAAQ9d,EAAS0E,EAAM4B,EAAS,CACzF,IAAIpJ,EAAOoS,GAAY,WAAWkO,EAAO,eAAgB9Y,EAAM1E,CAAO,EAClE4H,EAAO2V,GAAUrgB,EAAMiI,EAAOnF,EAASsG,CAAO,EAElD,OAAIwX,GACFH,GAAW/V,EAAM5H,EAASmF,CAAK,EAG1ByC,CACT,EAMImW,GAAa,SAAoB/e,EAAOyB,EAAMiE,EAAM1E,EAAS,CAC/D,OAAOsP,GAAY,WAAWtQ,EAAO,OAASyB,EAAO,WAAYiE,EAAM1E,CAAO,CAChF,EAOIge,GAAiB,SAAwBR,EAAO/c,EAAMqd,EAAQ9d,EAAS0E,EAAM4B,EAAS,CACxF,IAAI8C,EAAQ2U,GAAWP,EAAO/c,EAAMiE,EAAM1E,CAAO,EAC7C4H,EAAO2V,GAAUjO,GAAY,SAAS,CAAC,cAAe,OAAS7O,CAAI,EAAG,CAAC2I,CAAK,EAAGpJ,CAAO,EAAG0B,GAAQ,KAAM1B,EAASsG,CAAO,EAE3H,OAAIwX,GACFH,GAAW/V,EAAM5H,EAAS0B,GAAQ,IAAI,EAGjCkG,CACT,EAOIqW,GAAgB,SAAuBX,EAAQ7Y,EAAMC,EAAM,CAC7D,IAAIwZ,EAEAzZ,IAAS,gBACXyZ,EAAY,cAIVA,EAAY,cAGhB,IAAIC,EAAS7O,GAAY,SAAS,CAAC,mBAAoB4O,CAAS,EAAG,CAAC5O,GAAY,SAAS,GAAI,CAACA,GAAY,WAAWgO,EAAQ7Y,EAAMC,CAAI,CAAC,CAAC,CAAC,CAAC,EAG3I,MAAO,CACL,KAAM,OACN,KAAMyZ,CACP,CACH,EAEIC,GAAY,SAAmBzZ,EAAIrB,EAAQtD,EAAS,CAEtD,IAAI2H,EAAQ1D,GAAgB,eAAe,EAAEU,EAAG,WAAW,CAAC,CAAC,EAAIV,GAAgB,eAAe,EAAEU,EAAG,WAAW,CAAC,CAAC,EAAE,CAAC,EAAIV,GAAgB,eAAe,EAAEU,EAAG,WAAW,CAAC,CAAC,EAAE,CAAC,EACzKxB,EAAO,IAAI+E,GAAS,QAAS9E,GAAUuB,EAAI,KAAK,MAAM,IAAOrB,CAAM,CAAC,CAAC,EACrE+L,EAAU,IAAItH,GAAQ,CAAC5E,CAAI,EAAG,CAChC,MAASiD,GAAOuB,CAAK,EACrB,OAAUvB,GAAO9C,CAAM,EAEvB,MAAS,SAAW8C,GAAOuB,CAAK,EAChC,QAAW,OAAS,IAAOA,EAAQ,IAAM,KAAK,MAAM,IAAOrE,CAAM,EACjE,oBAAuB,UAC3B,CAAG,EACGsE,EAAO0H,GAAY,YAAY,CAAE,EAAE,CAACD,CAAO,EAAGrP,CAAO,EACzD,OAAA4H,EAAK,OAAStE,EACdsE,EAAK,MAAM,OAASxB,GAAO9C,CAAM,EACjCsE,EAAK,MAAM,MAAQxB,GAAOuB,CAAK,EACxB,CACL,KAAM,OACN,KAAMC,CACP,CACH,EAGIyW,GAAW,KACXC,GAAM,CACR,KAAM,OACN,KAAM,GAAKD,EACb,EACIE,GAAQ,CAAC,IAAK,UAAW,UAAW,QAAQ,EAC5CC,GAAc,CAAC,MAAO,UAAW,UAAW,QAAQ,EAMpDC,GAAmB,SAA0BjB,EAAOkB,EAAaZ,EAAQ9d,EAAS0E,EAAM4B,EAAS,CAGnG,IAAIqY,EACAvB,EACAwB,EACA/Q,EACAgR,EAAW,GACX/I,EAAe,EACnB6I,EAAMC,EAAS/Q,EAAS2P,EACxBJ,EAAS,KAET,IAAI3Y,EAAO,gBAIP+Y,IAAU,YACZoB,EAAS/Q,EAAS,IACT2P,IAAU,YACnBoB,EAAS/Q,EAAS,IACT2P,IAAU,cACnBmB,EAAMC,EAAS,IACNpB,IAAU,cACnBmB,EAAMC,EAAS,IACNpB,IAAU,iBACnBmB,EAAM,YACNC,EAAS,IACT/Q,EAAS,eACA2P,IAAU,iBACnBmB,EAAM,YACNC,EAAS,IACT/Q,EAAS,eACAzO,GAAM,SAASmf,GAAOf,CAAK,GACpCoB,EAAS,IACTC,EAAW,OACX/I,EAAe,KACN1W,GAAM,SAASof,GAAahB,CAAK,GAC1CoB,EAAS,IACTC,EAAW,aACX/I,EAAe,KACN0H,IAAU,KAAOA,IAAU,YACpCmB,EAAM,IACNC,EAAS,IACT/Q,EAAS,IACTpJ,EAAO,gBACPoa,EAAW,SACX/I,EAAe,KACN0H,IAAU,KAAOA,IAAU,YACpCmB,EAAM,IACNC,EAAS,IACT/Q,EAAS,IACTpJ,EAAO,gBACPoa,EAAW,SACX/I,EAAe,KACN0H,IAAU,YAAcA,IAAU,KAC3CoB,EAASD,EAAM,IACf9Q,EAAS,IACTpJ,EAAO,gBACPoa,EAAW,SACX/I,EAAe,KACN0H,IAAU,WAAaA,IAAU,KAC1CmB,EAAM,IACNC,EAAS/Q,EAAS,IAClBpJ,EAAO,gBACPoa,EAAW,QACX/I,EAAe,KACN0H,IAAU,YAAcA,IAAU,KAC3CoB,EAASD,EAAM,IACf9Q,EAAS,IACTpJ,EAAO,gBACPoa,EAAW,SACX/I,EAAe,KACN0H,IAAU,WAAaA,IAAU,KAC1CmB,EAAM,IACNC,EAAS/Q,EAAS,IAClBpJ,EAAO,gBACPoa,EAAW,QACX/I,EAAe,KACN0H,IAAU,KAAOA,IAAU,YACpCmB,EAAM,IACNC,EAAS,IACT/Q,EAAS,IACTpJ,EAAO,gBACPoa,EAAW,SACX/I,EAAe,KACN0H,IAAU,KAAOA,IAAU,YACpCmB,EAAM,IACNC,EAAS,IACT/Q,EAAS,IACTpJ,EAAO,gBACPoa,EAAW,SACX/I,EAAe,KACN0H,IAAU,OAASA,IAAU,YACtCmB,EAAM,IACNvB,EAAS,IACTvP,EAAS,IACT+Q,EAAS,IACTna,EAAO,iBACE+Y,IAAU,OAASA,IAAU,YACtCmB,EAAM,IACNvB,EAAS,IACTvP,EAAS,IACT+Q,EAAS,IACTna,EAAO,iBACE+Y,IAAU,YAAcA,IAAU,KAC3CmB,EAAM,IACN9Q,EAAS,IACT+Q,EAAS,IACTna,EAAO,iBACE+Y,IAAU,YAAcA,IAAU,KAC3CmB,EAAM,IACN9Q,EAAS,IACT+Q,EAAS,IACTna,EAAO,iBACE+Y,IAAU,gBAAkBA,IAAU,KAC/CmB,EAAM,IACN9Q,EAAS,IACT+Q,EAAS,IACTna,EAAO,kBACE+Y,IAAU,gBAAkBA,IAAU,OAC/CmB,EAAM,IACN9Q,EAAS,IACT+Q,EAAS,IACTna,EAAO,iBAIT,IAAIqa,EAAazB,GAAWsB,EAAKla,EAAMC,CAAI,EACvCqa,EAAiBD,EAAW,OAASA,EAAW,MAChDE,EAAgB3B,GAAWuB,EAAQna,EAAMC,CAAI,EAC7Cua,EAAoBD,EAAc,OAASA,EAAc,MACzDE,EAAgB7B,GAAWxP,EAAQpJ,EAAMC,CAAI,EAC7Cya,EAAoBD,EAAc,OAASA,EAAc,MACzDE,EAAoB,EACpBC,EAAe,EAEnB,GAAIjC,IAAW,KAAM,CACnB,IAAIkC,EAAgBjC,GAAWD,EAAQ3Y,EAAMC,CAAI,EACjD0a,EAAoBE,EAAc,OAASA,EAAc,MACzDD,EAAe,CAChB,CAID,IAAIE,EAAYR,EAAiBI,EAAoBC,EAEjDI,EAAc,KAAK,IAAI,EAAG,KAAK,MAAMd,EAAca,IAAcF,EAAeJ,EAAkB,CAAC,EAEnGQ,EAAkBF,EAAYC,EAAcH,EAAeJ,EAK3DS,EAAa1f,EAAQ,YAAW,EAAG,WAEnC8d,IACF4B,GAAc1f,EAAQ,gBAIxB,IAAIwH,EAAQiY,EAAkB,EAAIC,EAG9BC,EAAQ,CAAE,EAEd,GAAId,EAAS,OAAS,EAAG,CAGvB,IAAIpb,EAAYgc,EAAkBV,EAAiBI,EAC/Cnc,EAAgB,KAAK,MAAMyc,EAAkB,GAAI,EACjDG,EAAUrc,GAAUsb,EAAU,KAAK,MAAMpb,EAAY,GAAI,CAAC,EAC1DN,EAAO,IAAI+E,GAAS2W,EAAUe,CAAO,EACrCjY,GAASmO,EAAe,KAAM,QAAQ,CAAC,EAAI,KAC3CxS,GAAUN,EAAgB,KAAM,QAAQ,CAAC,EAAI,KAC7C6c,EAAM,IAAI9X,GAAQ,CAAC5E,CAAI,EAAG,CAC5B,MAASwE,EACT,OAAUrE,EACV,QAAW,OAASwS,EAAe,IAAM9S,CAC/C,CAAK,EACG4R,EAAUtF,GAAY,YAAY,CAAE,EAAE,CAACuQ,CAAG,EAAG7f,CAAO,EACxD4U,EAAQ,OAAS5R,EAAgB,IACjC4R,EAAQ,MAAM,MAAQjN,EACtBiN,EAAQ,MAAM,OAAStR,EACvBqc,EAAM,KAAK,CACT,KAAM,OACN,KAAM/K,CACZ,CAAK,CACL,KAAS,CAML,GAHA+K,EAAM,KAAK1B,GAAcpQ,EAAQpJ,EAAMC,CAAI,CAAC,EAC5Cib,EAAM,KAAKrB,EAAG,EAEVlB,IAAW,KAAM,CAGnB,IAAI0C,EAAcL,EAAkBV,EAAiBI,EAAoB,EAAId,GAC7EsB,EAAM,KAAKvB,GAAUQ,EAAQkB,EAAa9f,CAAO,CAAC,CACxD,KAAW,CAGL,IAAI+f,GAAgBN,EAAkBV,EAAiBI,EAAoBC,GAAqB,EAAI,EAAIf,GAExGsB,EAAM,KAAKvB,GAAUQ,EAAQmB,EAAc/f,CAAO,CAAC,EAEnD2f,EAAM,KAAKrB,EAAG,EACdqB,EAAM,KAAK1B,GAAcb,EAAQ3Y,EAAMC,CAAI,CAAC,EAC5Cib,EAAM,KAAKrB,EAAG,EACdqB,EAAM,KAAKvB,GAAUQ,EAAQmB,EAAc/f,CAAO,CAAC,CACpD,CAGD2f,EAAM,KAAKrB,EAAG,EACdqB,EAAM,KAAK1B,GAAcU,EAAKla,EAAMC,CAAI,CAAC,CAC1C,CAGD,IAAIuU,EAAajZ,EAAQ,gBAAgB0B,GAAQ,IAAI,EACjD0H,EAAQkG,GAAY,UAAU,CAChC,aAAc,SACd,aAAc9H,EACd,SAAUmY,CACX,EAAE1G,CAAU,EACb,OAAOsE,GAAUjO,GAAY,SAAS,CAAC,cAAe,MAAM,EAAG,CAAClG,CAAK,EAAG6P,CAAU,EAAGvX,GAAQ,KAAM1B,EAASsG,CAAO,CACrH,EAII0Z,GAAQ,GAERC,GAAQ,IAERC,GAAU,SAAiBC,EAAU7c,EAAQN,EAAeT,EAAevC,EAAS,CACtF,IAAImD,EAAOD,GAASid,EAAU5d,EAAeS,CAAa,EACtDod,EAAW,IAAIlY,GAASiY,EAAUhd,CAAI,EACtC0c,EAAM,IAAI9X,GAAQ,CAACqY,CAAQ,EAAG,CAEhC,MAAS,QACT,OAAUha,GAAO9C,CAAM,EACvB,QAAW,cAAgBN,EAC3B,oBAAuB,gBAC3B,CAAG,EACD,OAAOsM,GAAY,YAAY,CAAC,WAAW,EAAG,CAACuQ,CAAG,EAAG7f,CAAO,CAC9D,EAMIqgB,GAAgB,SAAuB/c,EAAQtD,EAAS,CAG1D,IAAIiZ,EAAajZ,EAAQ,mBAErBwd,EAAQ8C,GAAiB,SAAUhd,EAAS2V,EAAW,eAAgBsH,GAA6BtH,CAAU,EAC9GuH,EAAiBvH,EAAW,eAI5B1W,EAAgB,KAAK,IAAI,EAAGvC,EAAQ,iBAAmBA,EAAQ,cAAc,iBAAiB,EAE9F4H,EACA6Y,EAAa,EACbC,EAAY,EACZ1d,EAAgB,EAChB2d,EAMJ,OAAInD,EAAM,OAAS,SAGjBxa,EAAgB,IAAO,IAAOT,EAAgByd,GAE1C1c,EAAS,EACXkd,EAAiB,EACRld,EAAS,MAClBkd,EAAiB,IAGnBC,GAAc,EAAMle,EAAgB0d,IAASO,EAC7CE,GAAa,EAAOne,GAAiBie,EACrC5Y,EAAOsY,GAAQ,WAAYO,EAAYzd,EAAeT,EAAevC,CAAO,EAC5E4H,EAAK,MAAM,SAAW,UACtB+Y,EAAe,KAAQH,GACdhD,EAAM,OAAS,SAExBxa,GAAiB,IAAOgd,IAASY,GAAgBpD,EAAM,IAAI,EAC3DkD,GAAaE,GAAgBpD,EAAM,IAAI,EAAIjb,GAAiBie,EAC5DC,GAAcG,GAAgBpD,EAAM,IAAI,EAAIjb,EAAgB0d,IAASO,EACrE5Y,EAAOsY,GAAQ,WAAa1C,EAAM,KAAMiD,EAAYzd,EAAeT,EAAevC,CAAO,EACzF4H,EAAK,MAAM,SAAW,SACtB+Y,EAAe,EAAMH,IAIrBC,EAAand,EAASf,EAAgB0d,GACtCS,EAAYpd,EAASf,EACrBS,EAAgB,KAAK,MAAM,IAAOM,EAASf,CAAa,EAAIyd,GAC5DpY,EAAOsY,GAAQ,WAAYO,EAAYzd,EAAeT,EAAevC,CAAO,EAC5E4H,EAAK,MAAM,SAAW,UACtB+Y,EAAe,OAGjB/Y,EAAK,OAAS8Y,EACd9Y,EAAK,MAAM,OAASxB,GAAOqa,CAAU,EAC9B,CACL,KAAA7Y,EACA,aAAA+Y,EAKA,WAAY3gB,EAAQ,YAAW,EAAG,kBAAoBuC,GAAiBie,CACxE,CACH,EAIIK,GAAuB,CAAC,IAAK,WAAY,IAAK,WAAY,IAAK,WAAY,IAAK,WAAY,MAAO,WAAY,MAAO,WAAY,WAAY,WAAY,IAAU,IAAU,UAAW,UAAW,IAAU,IAAU,QAAQ,EAEhOC,GAAwB,CAAC,YAAa,cAAe,gBAAiB,YAAa,cAAe,gBAAiB,IAAK,MAAO,SAAU,SAAU,UAAW,UAAW,UAAW,UAAW,WAAY,WAAY,IAAU,IAAU,eAAgB,eAAgB,IAAU,GAAQ,EAE7RC,GAAuB,CAAC,IAAK,IAAK,WAAY,WAAY,IAAK,cAAe,OAAQ,MAAM,EAI5FH,GAAkB,CAAC,EAAG,IAAK,IAAK,IAAK,CAAG,EAKxCI,GAAiB,SAAwBxD,EAAO/c,EAAMT,EAAS0E,EAAM4B,EAAS,CAShF,GAPIkX,IAAU,KAAOA,IAAU,QAAUA,IAAU,IACjDA,EAAQ,YACCA,IAAU,KAAOA,IAAU,QAAUA,IAAU,OACxDA,EAAQ,YAINpe,GAAM,SAASyhB,GAAsBrD,CAAK,GAAKpe,GAAM,SAAS2hB,GAAsBvD,CAAK,EAC3F,OAAOQ,GAAeR,EAAO/c,EAAM,GAAOT,EAAS0E,EAAM4B,CAAO,EAC3D,GAAIlH,GAAM,SAAS0hB,GAAuBtD,CAAK,EACpD,OAAOiB,GAAiBjB,EAAOoD,GAAgBngB,CAAI,EAAG,GAAOT,EAAS0E,EAAM4B,CAAO,EAEnF,MAAM,IAAIjJ,GAAW,uBAAyBmgB,EAAQ,GAAG,CAE7D,EAeIyD,GAA8B,CAAC,CACjC,KAAM,QACN,MAAOvf,GAAQ,YACjB,EAAG,CACD,KAAM,QACN,MAAOA,GAAQ,MACjB,EAAG,CACD,KAAM,QACN,MAAOA,GAAQ,IACjB,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,QACN,KAAM,CACR,CAAC,EAEGwf,GAA+B,CAAC,CAClC,KAAM,QACN,MAAOxf,GAAQ,YACjB,EAAG,CACD,KAAM,QACN,MAAOA,GAAQ,MACjB,EAAG,CACD,KAAM,QACN,MAAOA,GAAQ,IACjB,EAAG,CACD,KAAM,OACR,CAAC,EAGG6e,GAA8B,CAAC,CACjC,KAAM,QACN,MAAO7e,GAAQ,YACjB,EAAG,CACD,KAAM,QACN,MAAOA,GAAQ,MACjB,EAAG,CACD,KAAM,QACN,MAAOA,GAAQ,IACjB,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,QACN,KAAM,CACR,EAAG,CACD,KAAM,OACR,CAAC,EAMGyf,GAAkB,SAAyBthB,EAAM,CACnD,GAAIA,EAAK,OAAS,QAChB,MAAO,eACF,GAAIA,EAAK,OAAS,QACvB,MAAO,OAASA,EAAK,KAAO,WACvB,GAAIA,EAAK,OAAS,QACvB,MAAO,gBAEP,MAAM,IAAI,MAAM,+BAAiCA,EAAK,KAAO,SAAS,CAE1E,EAOIygB,GAAmB,SAA0B9C,EAAOla,EAAQ8d,EAAUphB,EAAS,CAOjF,QAFInD,EAAQ,KAAK,IAAI,EAAG,EAAImD,EAAQ,MAAM,IAAI,EAErC8B,EAAIjF,EAAOiF,EAAIsf,EAAS,QAC3BA,EAAStf,CAAC,EAAE,OAAS,QADcA,IAAK,CAM5C,IAAIwC,EAAU+Y,GAAWG,EAAO2D,GAAgBC,EAAStf,CAAC,CAAC,EAAG,MAAM,EAChEuf,EAAc/c,EAAQ,OAASA,EAAQ,MAG3C,GAAI8c,EAAStf,CAAC,EAAE,OAAS,QAAS,CAChC,IAAImX,EAAajZ,EAAQ,gBAAgBohB,EAAStf,CAAC,EAAE,KAAK,EAC1Duf,GAAepI,EAAW,cAC3B,CAGD,GAAIoI,EAAc/d,EAChB,OAAO8d,EAAStf,CAAC,CAEpB,CAGD,OAAOsf,EAASA,EAAS,OAAS,CAAC,CACrC,EAOIE,GAAuB,SAA8B9D,EAAOla,EAAQwa,EAAQ9d,EAAS0E,EAAM4B,EAAS,CAClGkX,IAAU,KAAOA,IAAU,QAAUA,IAAU,IACjDA,EAAQ,YACCA,IAAU,KAAOA,IAAU,QAAUA,IAAU,OACxDA,EAAQ,YAIV,IAAI4D,EAEAhiB,GAAM,SAAS2hB,GAAsBvD,CAAK,EAC5C4D,EAAWH,GACF7hB,GAAM,SAASyhB,GAAsBrD,CAAK,EACnD4D,EAAWb,GAEXa,EAAWF,GAIb,IAAIK,EAAYjB,GAAiB9C,EAAOla,EAAQ8d,EAAUphB,CAAO,EAIjE,OAAIuhB,EAAU,OAAS,QACd1D,GAAeL,EAAO+D,EAAU,MAAOzD,EAAQ9d,EAAS0E,EAAM4B,CAAO,EACnEib,EAAU,OAAS,QACrBvD,GAAeR,EAAO+D,EAAU,KAAMzD,EAAQ9d,EAAS0E,EAAM4B,CAAO,EAIlEmY,GAAiBjB,EAAOla,EAAQwa,EAAQ9d,EAAS0E,EAAM4B,CAAO,CAE3E,EAOIkb,GAAqB,SAA4BhE,EAAOla,EAAQkE,EAAOxH,EAAS0E,EAAM4B,EAAS,CAEjG,IAAIoZ,EAAa1f,EAAQ,YAAa,EAAC,WAAaA,EAAQ,eAExDyhB,EAAkB,IAClBC,EAAkB,EAAM1hB,EAAQ,YAAa,EAAC,QAC9C2hB,EAAkB,KAAK,IAAIre,EAASoc,EAAYlY,EAAQkY,CAAU,EAClEtI,EAAc,KAAK,IASvBuK,EAAkB,IAAMF,EAAiB,EAAIE,EAAkBD,CAAe,EAG9E,OAAOJ,GAAqB9D,EAAOpG,EAAa,GAAMpX,EAAS0E,EAAM4B,CAAO,CAC9E,EAEIsb,GAAY,CACd,UAAWvB,GACX,WAAYW,GACZ,gBAAiBJ,GACjB,iBAAkBU,GAClB,eAAgBE,EAClB,EAGIK,GAAiB,CACnB,SAAU,CACR,OAAQ,QACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,QACR,KAAM,CACP,EACD,UAAW,CACT,OAAQ,QACR,KAAM,CACP,EACD,UAAW,CACT,OAAQ,QACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,SACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,SACR,KAAM,CACP,EACD,UAAW,CACT,OAAQ,SACR,KAAM,CACP,EACD,UAAW,CACT,OAAQ,SACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,OACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,OACR,KAAM,CACP,EACD,UAAW,CACT,OAAQ,OACR,KAAM,CACP,EACD,UAAW,CACT,OAAQ,OACR,KAAM,CACP,EACD,QAAS,CACP,OAAQ,OACR,KAAM,CACP,EACD,QAAS,CACP,OAAQ,OACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,OACR,KAAM,CACP,EACD,SAAU,CACR,OAAQ,OACR,KAAM,CACV,CACA,EACI5E,GAAa,CAAC,IAAK,WAAY,IAAK,WAAY,IAAK,WAAY,IAAK,WAAY,MAAO,WAAY,MAAO,WAAY,WAAY,WAAY,IAAU,IAAU,UAAW,UAAW,IAAU,IAAU,IAAK,IAAK,WAAY,IAAU,WAAY,IAAU,OAAQ,OAAQ,UAAW,UAAW,UAAW,UAAW,WAAY,WAAY,IAAU,IAAU,eAAgB,eAAgB,IAAU,IAAU,IAAK,cAAe,IAAK,SAAU,MAAO,SAAU,YAAa,YAAa,cAAe,cAAe,gBAAiB,gBAAiB,GAAG,EAGrjB,SAAS6E,GAAetE,EAAOnd,EAAS,CACtC,IAAI0hB,EAAWrK,GAAoB8F,CAAK,EAExC,GAAIuE,GAAY3iB,GAAM,SAAS6d,GAAY8E,EAAS,IAAI,EACtD,OAAOA,EACF,MAAIA,EACH,IAAI1kB,GAAW,sBAAwB0kB,EAAS,KAAO,YAAc1hB,EAAQ,SAAW,IAAKmd,CAAK,EAElG,IAAIngB,GAAW,2BAA6BmgB,EAAM,KAAO,IAAKA,CAAK,CAE7E,CAEAzN,GAAe,CACb,KAAM,cACN,MAAO,CAAC,SAAU,SAAU,UAAW,UAAW,SAAU,SAAU,UAAW,UAAW,SAAU,SAAU,UAAW,UAAW,QAAS,QAAS,SAAU,QAAQ,EAC1K,MAAO,CACL,QAAS,EACT,SAAU,CAAC,WAAW,CACvB,EACD,QAAS,CAAC1P,EAASmY,IAAS,CAC1B,IAAIgF,EAAQsE,GAAetJ,EAAK,CAAC,EAAGnY,CAAO,EAC3C,MAAO,CACL,KAAM,cACN,KAAMA,EAAQ,OAAO,KACrB,KAAMwhB,GAAexhB,EAAQ,QAAQ,EAAE,KACvC,OAAQwhB,GAAexhB,EAAQ,QAAQ,EAAE,OACzC,MAAOmd,EAAM,IACd,CACF,EACD,YAAa,CAAC5e,EAAOoB,IACfpB,EAAM,QAAU,IAGX0Q,GAAY,SAAS,CAAC1Q,EAAM,MAAM,CAAC,EAIrCgjB,GAAU,WAAWhjB,EAAM,MAAOA,EAAM,KAAMoB,EAASpB,EAAM,KAAM,CAACA,EAAM,MAAM,CAAC,EAE1F,cAAeA,GAAS,CACtB,IAAI+E,EAAW,CAAE,EAEb/E,EAAM,QAAU,KAClB+E,EAAS,KAAKiQ,GAAShV,EAAM,MAAOA,EAAM,IAAI,CAAC,EAGjD,IAAI+H,EAAO,IAAIgN,GAAW,SAAS,KAAMhQ,CAAQ,EAE7C/E,EAAM,SAAW,SAAWA,EAAM,SAAW,SAG/C+H,EAAK,aAAa,QAAS,MAAM,EAIjCA,EAAK,aAAa,QAAS,OAAO,EAGpCA,EAAK,aAAa,WAAY,MAAM,EACpC,IAAIlG,EAAO2F,GAAOwb,GAAU,gBAAgBhjB,EAAM,IAAI,CAAC,EACvD,OAAA+H,EAAK,aAAa,UAAWlG,CAAI,EACjCkG,EAAK,aAAa,UAAWlG,CAAI,EAC1BkG,CACX,CACA,CAAC,EAED,SAASqb,GAAapjB,EAAO,CAC3B,GAAI,CAACA,EAAM,KACT,MAAM,IAAI,MAAM,mDAAmD,CAEvE,CAEAmR,GAAe,CACb,KAAM,kBACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,EACT,UAAW,EACZ,EACD,QAAS,CAAC1P,EAASmY,IAAS,CAI1B,IAAIlZ,EAAQe,EAAQ,OAAO,OAAO,OAAO,IAAI,iBAAiB,EAE9D,GAAIf,GAAS,OAAOA,GAAU,SAC5B,MAAM,IAAIjC,GAAW,8CAA8C,EAGrE,MAAO,CACL,KAAM,kBACN,KAAMgD,EAAQ,OAAO,KACrB,MAAOyhB,GAAetJ,EAAK,CAAC,EAAGnY,CAAO,EAAE,KACxC,MAAAf,CAED,CACL,CACA,CAAC,EACDyQ,GAAe,CACb,KAAM,YACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,UAAW,EACZ,EACD,QAAS,CAAC1P,EAASmY,IAAS,CAC1B,IAAIgF,EAAQsE,GAAetJ,EAAK,CAAC,EAAGnY,CAAO,EACvCsY,EAAStY,EAAQ,OAErB,EAAEsY,EAAO,eAET,IAAI7F,EAAO6F,EAAO,gBAAgB,EAAK,EACvC,EAAEA,EAAO,eAETA,EAAO,OAAO,UAAW,EAAK,EAC9B,IAAI/a,EAAQ2Z,GAAeoB,EAAO,cAAa,EAAI,iBAAiB,EACpE,MAAO,CACL,KAAM,YACN,KAAMA,EAAO,KACb,KAAA7F,EACA,KAAM0K,EAAM,KACZ,MAAO5f,EAAM,MACb,WAAYA,EAAM,KACnB,CACF,EACD,YAAa,CAACgB,EAAOoB,IAAY,CAC/BgiB,GAAapjB,CAAK,EAOlB,QALIwK,EAAQ4H,GAAkBpS,EAAM,KAAMoB,EAAS,GAAM,CAAC,QAAS,QAAQ,CAAC,EACxE8f,EAAc,EACdmC,EAAa,EACbC,EAAY,GAEPpgB,EAAI,EAAGA,EAAIsH,EAAM,OAAQtH,IAI5BsH,EAAMtH,CAAC,EAAE,SACXogB,EAAY,IAEZpC,EAAc,KAAK,IAAI1W,EAAMtH,CAAC,EAAE,OAAQge,CAAW,EACnDmC,EAAa,KAAK,IAAI7Y,EAAMtH,CAAC,EAAE,MAAOmgB,CAAU,GAOpDnC,GAAe9f,EAAQ,eACvBiiB,GAAcjiB,EAAQ,eACtB,IAAImiB,EAcJ,GAZIvjB,EAAM,OAAS,IAEjBujB,EAAY3P,GAAkBxS,EAAS,CAAC,OAAO,CAAC,EAIhDmiB,EAAYP,GAAU,eAAehjB,EAAM,KAAMkhB,EAAamC,EAAYjiB,EAASpB,EAAM,KAAM,CAAC,OAAO,CAAC,EAI1GwK,EAAM,QAAQ+Y,CAAS,EAEnBD,EACF,QAASlgB,EAAK,EAAGA,EAAKoH,EAAM,OAAQpH,IAAM,CACxC,IAAIogB,EAAchZ,EAAMpH,CAAE,EAItBqgB,EAAWD,EAAY,SAEvBC,IAEFjZ,EAAMpH,CAAE,EAAI4f,GAAU,eAAeS,EAAS,MAAOvC,EAAamC,EAAYI,EAAS,QAASzjB,EAAM,KAAM,EAAE,EAExH,CAGI,IAAI0jB,EAEJ,GAAI1jB,EAAM,QAAU,IAClB0jB,EAAa9P,GAAkBxS,EAAS,CAAC,QAAQ,CAAC,MAC7C,CACL,IAAIuiB,EAAe3jB,EAAM,WAAaoB,EAAQ,UAAUpB,EAAM,UAAU,EAAIoB,EAC5EsiB,EAAaV,GAAU,eAAehjB,EAAM,MAAOkhB,EAAamC,EAAYM,EAAc3jB,EAAM,KAAM,CAAC,QAAQ,CAAC,CACjH,CAGD,OAAAwK,EAAM,KAAKkZ,CAAU,EACdhT,GAAY,SAAS,CAAC,QAAQ,EAAGlG,EAAOpJ,CAAO,CACvD,EACD,cAAe,CAACpB,EAAOoB,IAAY,CACjCgiB,GAAapjB,CAAK,EAClB,IAAIwK,EAAQ4K,GAAgBpV,EAAM,KAAMoB,CAAO,EAE/C,GAAIpB,EAAM,OAAS,IAAK,CACtB,IAAI4jB,EAAW,IAAI7O,GAAW,SAAS,KAAM,CAACC,GAAShV,EAAM,KAAMA,EAAM,IAAI,CAAC,CAAC,EAC/E4jB,EAAS,aAAa,QAAS,MAAM,EACrCpZ,EAAM,QAAQoZ,CAAQ,CAC5B,CAEI,GAAI5jB,EAAM,QAAU,IAAK,CACvB,IAAI6jB,EAAY,IAAI9O,GAAW,SAAS,KAAM,CAACC,GAAShV,EAAM,MAAOA,EAAM,IAAI,CAAC,CAAC,EACjF6jB,EAAU,aAAa,QAAS,MAAM,EAElC7jB,EAAM,YACR6jB,EAAU,aAAa,YAAa7jB,EAAM,UAAU,EAGtDwK,EAAM,KAAKqZ,CAAS,CAC1B,CAEI,OAAO5O,GAAQzK,CAAK,CACxB,CACA,CAAC,EACD2G,GAAe,CACb,KAAM,SACN,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,QAAS,EACT,UAAW,EACZ,EACD,QAAS,CAAC1P,EAASmY,IAAS,CAC1B,IAAIgF,EAAQsE,GAAetJ,EAAK,CAAC,EAAGnY,CAAO,EAE3C,GAAI,CAACA,EAAQ,OAAO,eAClB,MAAM,IAAIhD,GAAW,oCAAqCmgB,CAAK,EAGjE,MAAO,CACL,KAAM,SACN,KAAMnd,EAAQ,OAAO,KACrB,MAAOmd,EAAM,IACd,CACF,EACD,YAAa,CAAC5e,EAAOoB,IAAY,CAC/B,IAAIoiB,EAEJ,GAAIxjB,EAAM,QAAU,IAClBwjB,EAAc5P,GAAkBxS,EAAS,EAAE,MACtC,CACLoiB,EAAcR,GAAU,WAAWhjB,EAAM,MAAO,EAAGoB,EAASpB,EAAM,KAAM,EAAE,EAC1E,IAAIyjB,EAAW,CACb,MAAOzjB,EAAM,MACb,QAAAoB,CACR,EAMMoiB,EAAY,SAAWC,CAC7B,CAEI,OAAOD,CACR,EACD,cAAe,CAACxjB,EAAOoB,IAAY,CAKjC,IAAI0iB,EAAW9jB,EAAM,QAAU,UAAYA,EAAM,QAAU,IAAMgV,GAAS,IAAK,MAAM,EAAIA,GAAShV,EAAM,MAAOA,EAAM,IAAI,EACrH+jB,EAAa,IAAIhP,GAAW,SAAS,KAAM,CAAC+O,CAAQ,CAAC,EACzD,OAAAC,EAAW,aAAa,QAAS,MAAM,EAGvCA,EAAW,aAAa,SAAU,QAAQ,EAC1CA,EAAW,aAAa,SAAU,QAAQ,EACnCA,CACX,CACA,CAAC,EAED,IAAIC,GAAgB,CAAChkB,EAAOoB,IAAY,CAItC,IAAIoJ,EAAQkG,GAAY,aAAagC,GAAa1S,EAAM,KAAMoB,CAAO,EAAGA,CAAO,EAC3EwD,EAAQ5E,EAAM,MAAM,MAAM,CAAC,EAC3BsH,EAAQlG,EAAQ,eAChBmX,EACA0L,EAAW,EAMXC,EAAe1jB,GAAM,eAAeR,EAAM,IAAI,EAElD,GAAI4E,IAAU,OACZ2T,EAAM7H,GAAY,SAAS,CAAC,WAAY,MAAM,CAAC,EAC/C6H,EAAI,OAASnX,EAAQ,YAAa,EAAC,qBAAuBkG,EAC1D2c,EAAW,IAAO7iB,EAAQ,YAAa,EAAC,gBAC/BwD,IAAU,QAAS,CAE5B,IAAIuf,EAAa/c,GAAc,CAC7B,OAAQ,GACR,KAAM,IACP,EAAEhG,CAAO,EACNiY,EAAYjS,GAAc,CAC5B,OAAQ,IACR,KAAM,IACP,EAAEhG,CAAO,EAENiZ,EAAajZ,EAAQ,iBAAkB,EAC3CkG,EAAQA,EAAQ+S,EAAW,eAC3B,IAAI+J,EAAc5Z,EAAM,OAASA,EAAM,MAAQ2Z,EAAa9K,EAE5D7O,EAAM,MAAM,YAAchD,GAAO4c,EAAc,EAAID,CAAU,EAE7D,IAAI/f,EAAgB,KAAK,MAAM,IAAOggB,EAAc9c,CAAK,EACrD/C,EAAOP,GAAUI,CAAa,EAC9BqM,EAAU,IAAItH,GAAQ,CAAC,IAAIG,GAAS,QAAS/E,CAAI,CAAC,EAAG,CACvD,MAAS,QACT,OAAUiD,GAAOpD,EAAgB,GAAI,EACrC,QAAW,cAAgBA,EAC3B,oBAAuB,gBAC7B,CAAK,EAEDmU,EAAM7H,GAAY,YAAY,CAAC,WAAW,EAAG,CAACD,CAAO,EAAGrP,CAAO,EAC/DmX,EAAI,MAAM,OAAS/Q,GAAO4c,CAAW,EACrCH,EAAWzZ,EAAM,MAAQ2Z,EAAa9K,CAC1C,KAAS,CAED,SAAS,KAAKzU,CAAK,EAChBsf,GACH1Z,EAAM,QAAQ,KAAK,YAAY,EAExB5F,IAAU,OACnB4F,EAAM,QAAQ,KAAK,SAAS,EAE5BA,EAAM,QAAQ,KAAK,QAAQ,EAI7B,IAAI6N,EAAS,EACTC,EAAY,EACZ+L,EAAgB,EAEhB,MAAM,KAAKzf,CAAK,GAClByf,EAAgB,KAAK,IAAIjjB,EAAQ,YAAa,EAAC,SAC/CA,EAAQ,gBACP,EACDiX,EAASjX,EAAQ,cAAc,SAAWwD,IAAU,WAAa,EAAIyf,GACrE/L,EAAYD,GACHzT,IAAU,QACnByf,EAAgB,KAAK,IAAIjjB,EAAQ,YAAW,EAAG,qBAAsBA,EAAQ,gBAAgB,EAC7FiX,EAAS,EAAIgM,EAEb/L,EAAY,KAAK,IAAI,EAAG,IAAO9N,EAAM,KAAK,IAE1C6N,EAAS6L,EAAe,GAAM,EAC9B5L,EAAYD,GAGdE,EAAMG,GAAS,YAAYlO,EAAO5F,EAAOyT,EAAQC,EAAWlX,CAAO,EAE/D,uBAAuB,KAAKwD,CAAK,GACnC2T,EAAI,MAAM,YAAc,QACxBA,EAAI,MAAM,YAAc/Q,GAAO6c,CAAa,GACnCzf,IAAU,QAAUyf,IAAkB,OAC/C9L,EAAI,MAAM,eAAiB/Q,GAAO6c,CAAa,EAC/C9L,EAAI,MAAM,iBAAmB/Q,GAAO6c,CAAa,GAGnDJ,EAAWzZ,EAAM,MAAQ8N,EAErBtY,EAAM,kBACRuY,EAAI,MAAM,gBAAkBvY,EAAM,gBAE9BA,EAAM,cACRuY,EAAI,MAAM,YAAcvY,EAAM,aAGtC,CAEE,IAAI4P,EAEJ,GAAI5P,EAAM,gBACR4P,EAAQc,GAAY,UAAU,CAC5B,aAAc,kBACd,SAAU,CACV,CACE,KAAM,OACN,KAAM6H,EACN,MAAO0L,CACf,EAAS,CACD,KAAM,OACN,KAAMzZ,EACN,MAAO,CACR,EACF,EAAEpJ,CAAO,MACL,CACL,IAAIsG,EAAU,eAAe,KAAK9C,CAAK,EAAI,CAAC,WAAW,EAAI,CAAE,EAC7DgL,EAAQc,GAAY,UAAU,CAC5B,aAAc,kBACd,SAAU,CACV,CACE,KAAM,OACN,KAAMlG,EACN,MAAO,CACf,EAAS,CACD,KAAM,OACN,KAAM+N,EACN,MAAO0L,EACP,eAAgBvc,CACjB,EACF,EAAEtG,CAAO,CACd,CASE,MAPI,SAAS,KAAKwD,CAAK,IAGrBgL,EAAM,OAASpF,EAAM,OACrBoF,EAAM,MAAQpF,EAAM,OAGlB,SAAS,KAAK5F,CAAK,GAAK,CAACsf,EAEpBxT,GAAY,SAAS,CAAC,OAAQ,YAAY,EAAG,CAACd,CAAK,EAAGxO,CAAO,EAE7DsP,GAAY,SAAS,CAAC,MAAM,EAAG,CAACd,CAAK,EAAGxO,CAAO,CAE1D,EAEIkjB,GAAkB,CAACtkB,EAAOoB,IAAY,CACxC,IAAImjB,EAAU,EACVxc,EAAO,IAAIgN,GAAW,SAAS/U,EAAM,MAAM,QAAQ,UAAU,EAAI,GAAK,UAAY,WAAY,CAACsV,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAEnI,OAAQpB,EAAM,MAAK,CACjB,IAAK,WACH+H,EAAK,aAAa,WAAY,kBAAkB,EAChD,MAEF,IAAK,YACHA,EAAK,aAAa,WAAY,oBAAoB,EAClD,MAEF,IAAK,UACHA,EAAK,aAAa,WAAY,aAAa,EAC3C,MAEF,IAAK,SACHA,EAAK,aAAa,WAAY,kBAAkB,EAChD,MAEF,IAAK,SACHA,EAAK,aAAa,WAAY,KAAK,EACnC,MAEF,IAAK,SACHA,EAAK,aAAa,WAAY,WAAW,EACzC,MAEF,IAAK,cACL,IAAK,aAUH,GAPAwc,EAAUnjB,EAAQ,YAAa,EAAC,QAAUA,EAAQ,YAAW,EAAG,QAChE2G,EAAK,aAAa,QAAS,IAAM,EAAIwc,EAAU,IAAI,EACnDxc,EAAK,aAAa,SAAU,IAAM,EAAIwc,EAAU,IAAI,EACpDxc,EAAK,aAAa,SAAUwc,EAAU,IAAI,EAE1Cxc,EAAK,aAAa,UAAWwc,EAAU,IAAI,EAEvCvkB,EAAM,QAAU,cAAe,CACjC,IAAIwkB,EAAM,KAAK,IAAIpjB,EAAQ,YAAa,EAAC,SACzCA,EAAQ,gBACP,EACD2G,EAAK,aAAa,QAAS,WAAayc,EAAM,YAAc,OAAOxkB,EAAM,WAAW,CAAC,CAC7F,CAEM,MAEF,IAAK,YACH+H,EAAK,aAAa,WAAY,qCAAqC,EACnE,KACN,CAEE,OAAI/H,EAAM,iBACR+H,EAAK,aAAa,iBAAkB/H,EAAM,eAAe,EAGpD+H,CACT,EAEAoJ,GAAe,CACb,KAAM,UACN,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,QAAS,EACT,cAAe,GACf,SAAU,CAAC,QAAS,MAAM,CAC3B,EAED,QAAQC,EAAMwI,EAAMQ,EAAS,CAC3B,GAAI,CACF,OAAAL,EACA,SAAAC,CACN,EAAQ5I,EACA1Q,EAAQiY,GAAeiB,EAAK,CAAC,EAAG,aAAa,EAAE,MAC/C1F,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,UACN,KAAMG,EAAO,KACb,MAAOC,EACP,gBAAiBtZ,EACjB,KAAAwT,CACD,CACF,EAED,YAAa8P,GACb,cAAeM,EACjB,CAAC,EACDnT,GAAe,CACb,KAAM,UACN,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,QAAS,EACT,cAAe,GACf,SAAU,CAAC,QAAS,QAAS,MAAM,CACpC,EAED,QAAQQ,EAAOiI,EAAMQ,EAAS,CAC5B,GAAI,CACF,OAAAL,EACA,SAAAC,CACN,EAAQrI,EACA8S,EAAc9L,GAAeiB,EAAK,CAAC,EAAG,aAAa,EAAE,MACrD8K,EAAkB/L,GAAeiB,EAAK,CAAC,EAAG,aAAa,EAAE,MACzD1F,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,UACN,KAAMG,EAAO,KACb,MAAOC,EACP,gBAAA0K,EACA,YAAAD,EACA,KAAAvQ,CACD,CACF,EAED,YAAa8P,GACb,cAAeM,EACjB,CAAC,EACDnT,GAAe,CACb,KAAM,UACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,EACjB,cAAe,EAChB,EAED,QAAQoK,EAAO3B,EAAM,CACnB,GAAI,CACF,OAAAG,CACN,EAAQwB,EACJ,MAAO,CACL,KAAM,UACN,KAAMxB,EAAO,KACb,MAAO,SACP,KAAMH,EAAK,CAAC,CACb,CACL,CAEA,CAAC,EACDzI,GAAe,CACb,KAAM,UACN,MAAO,CAAC,WAAY,YAAa,YAAa,SAAU,SAAS,EACjE,MAAO,CACL,QAAS,CACV,EAED,QAAQoN,EAAO3E,EAAM,CACnB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQuE,EACArK,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,UACN,KAAMG,EAAO,KACb,MAAOC,EACP,KAAA9F,CACD,CACF,EAED,YAAa8P,GACb,cAAeM,EACjB,CAAC,EACDnT,GAAe,CACb,KAAM,UACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,EACjB,cAAe,EAChB,EAED,QAAQwT,EAAO/K,EAAM,CACnB,GAAI,CACF,OAAAG,CACN,EAAQ4K,EACJ,MAAO,CACL,KAAM,UACN,KAAM5K,EAAO,KACb,MAAO,SACP,KAAMH,EAAK,CAAC,CACb,CACL,CAEA,CAAC,EAOD,IAAIgL,GAAgB,CAAE,EACtB,SAASC,GAAkBzT,EAAM,CAkB/B,OAjBI,CACF,KAAAnQ,EACA,MAAAoQ,EACA,MAAAC,EACA,QAAAC,EACA,YAAAC,EACA,cAAAC,CACJ,EAAML,EAEA3K,EAAO,CACT,KAAAxF,EACA,QAASqQ,EAAM,SAAW,EAC1B,cAAe,GACf,gBAAiB,EACjB,QAAAC,CACD,EAEQrO,EAAI,EAAGA,EAAImO,EAAM,OAAQ,EAAEnO,EAIlC0hB,GAAcvT,EAAMnO,CAAC,CAAC,EAAIuD,EAGxB+K,IACFP,GAAmBhQ,CAAI,EAAIuQ,GAGzBC,IACFP,GAAqBjQ,CAAI,EAAIwQ,EAEjC,CAOA,IAAIqT,GAAU,GAEd,SAASC,GAAYtgB,EAAMyP,EAAM,CAC/B4Q,GAAQrgB,CAAI,EAAIyP,CAClB,CAGA,SAAS8Q,GAAUjL,EAAQ,CAGzB,IAAIkL,EAAY,CAAE,EAClBlL,EAAO,cAAe,EACtB,IAAImL,EAAMnL,EAAO,MAAK,EAAG,KASzB,IAPImL,IAAQ,YAEVnL,EAAO,QAAS,EAChBA,EAAO,cAAe,EACtBmL,EAAMnL,EAAO,MAAK,EAAG,MAGhBmL,IAAQ,WAAaA,IAAQ,eAClCnL,EAAO,QAAS,EAChBkL,EAAU,KAAKC,IAAQ,aAAa,EACpCnL,EAAO,cAAe,EACtBmL,EAAMnL,EAAO,MAAK,EAAG,KAGvB,OAAOkL,CACT,CAEA,IAAIE,GAAgC1jB,GAAW,CAC7C,IAAI4U,EAAW5U,EAAQ,OAAO,SAE9B,GAAI,CAAC4U,EAAS,YACZ,MAAM,IAAI5X,GAAW,IAAMgD,EAAQ,QAAU,qCAA0C,CAE3F,EAOA,SAAS2jB,GAAW3gB,EAAM,CACxB,GAAIA,EAAK,QAAQ,IAAI,IAAM,GACzB,OAAOA,EAAK,QAAQ,GAAG,IAAM,EAGjC,CASA,SAAS4gB,GAAWtL,EAAQ3I,EAAM7K,EAAO,CACvC,GAAI,CACF,oBAAA+e,EACA,OAAAC,EACA,KAAAnI,EACA,aAAAoI,EACA,kBAAAC,EACA,QAAAC,EACA,UAAAC,EACA,eAAAC,EACA,WAAAC,EACA,MAAAC,CACJ,EAAM1U,EAUJ,GATA2I,EAAO,OAAO,WAAY,EAErB4L,GAGH5L,EAAO,OAAO,OAAO,IAAI,OAAQ,aAAa,EAI5C,CAACyL,EAAc,CACjB,IAAIO,EAAUhM,EAAO,OAAO,kBAAkB,gBAAgB,EAE9D,GAAIgM,GAAW,KAEbP,EAAe,UAEfA,EAAe,WAAWO,CAAO,EAE7B,CAACP,GAAgBA,EAAe,EAClC,MAAM,IAAI/mB,GAAW,2BAA6BsnB,CAAO,CAG9D,CAGDhM,EAAO,OAAO,WAAY,EAC1B,IAAI8C,EAAM,CAAE,EACR3I,EAAO,CAAC2I,CAAG,EACXmJ,EAAU,CAAE,EACZC,EAAkB,CAAE,EACpBC,EAAOR,GAAW,KAAO,GAAK,OAIlC,SAASS,GAAW,CACdT,GACF3L,EAAO,OAAO,OAAO,IAAI,WAAY,IAAK,EAAI,CAEpD,CAEE,SAASqM,GAAS,CACZF,IACEnM,EAAO,OAAO,OAAO,IAAI,UAAU,GACrCmM,EAAK,KAAKnM,EAAO,SAAS,CAAC,IAAI1b,GAAM,UAAU,CAAC,CAAC,CAAC,EAClD0b,EAAO,OAAO,OAAO,IAAI,WAAY,OAAW,EAAI,GAEpDmM,EAAK,KAAK,EAAQR,GAAY3L,EAAO,OAAO,OAAO,IAAI,UAAU,IAAM,GAAG,EAGlF,CAME,IAJAoM,IAEAF,EAAgB,KAAKjB,GAAUjL,CAAM,CAAC,IAEzB,CAGX,IAAIgD,EAAOhD,EAAO,gBAAgB,GAAO4L,EAAY,QAAU,MAAM,EACrE5L,EAAO,OAAO,SAAU,EACxBA,EAAO,OAAO,WAAY,EAC1BgD,EAAO,CACL,KAAM,WACN,KAAMhD,EAAO,KACb,KAAMgD,CACP,EAEGxW,IACFwW,EAAO,CACL,KAAM,UACN,KAAMhD,EAAO,KACb,MAAAxT,EACA,KAAM,CAACwW,CAAI,CACZ,GAGHF,EAAI,KAAKE,CAAI,EACb,IAAInP,EAAOmM,EAAO,MAAK,EAAG,KAE1B,GAAInM,IAAS,IAAK,CAChB,GAAIiY,GAAchJ,EAAI,SAAWgJ,EAAY,CAC3C,GAAIF,GAAaF,EAEf,MAAM,IAAIhnB,GAAW,6BAA8Bsb,EAAO,SAAS,EAGnEA,EAAO,SAAS,gBAAgB,UAAW,2DAAgE,CAErH,CAEMA,EAAO,QAAS,CACtB,SAAenM,IAAS,QAAS,CAC3BwY,IAKIvJ,EAAI,SAAW,GAAKE,EAAK,OAAS,WAAaA,EAAK,KAAK,CAAC,EAAE,KAAK,SAAW,IAAM7I,EAAK,OAAS,GAAK,CAAC0R,IACxG1R,EAAK,IAAK,EAGR+R,EAAgB,OAAS/R,EAAK,OAAS,GACzC+R,EAAgB,KAAK,EAAE,EAGzB,KACN,SAAerY,IAAS,OAAQ,CAC1BmM,EAAO,QAAS,EAChB,IAAIlY,EAAO,OAMPkY,EAAO,OAAO,OAAM,EAAG,OAAS,MAClClY,EAAOkY,EAAO,eAAe,EAAI,GAGnCiM,EAAQ,KAAKnkB,EAAOA,EAAK,MAAQ,IAAI,EACrCukB,IAEAH,EAAgB,KAAKjB,GAAUjL,CAAM,CAAC,EACtC8C,EAAM,CAAE,EACR3I,EAAK,KAAK2I,CAAG,EACbsJ,EAAU,CAChB,KACM,OAAM,IAAI1nB,GAAW,sCAAuCsb,EAAO,SAAS,CAE/E,CAGD,OAAAA,EAAO,OAAO,WAEdA,EAAO,OAAO,SAAU,EACjB,CACL,KAAM,QACN,KAAMA,EAAO,KACb,OAAAwL,EACA,aAAAC,EACA,KAAAtR,EACA,KAAAkJ,EACA,QAAA4I,EACA,oBAAAV,EACA,gBAAAW,EACA,kBAAAR,EACA,KAAAS,EACA,MAAAJ,CACD,CACH,CAIA,SAASO,GAAWC,EAAS,CAC3B,OAAIA,EAAQ,MAAM,EAAG,CAAC,IAAM,IACnB,UAEA,MAEX,CAEA,IAAIC,GAAgB,SAAqBvmB,EAAOoB,EAAS,CACvD,IAAIolB,EACAC,EACAC,EAAK1mB,EAAM,KAAK,OAChBimB,EAAkBjmB,EAAM,gBACxB2mB,EAAK,EACLzS,EAAO,IAAI,MAAMwS,CAAE,EACnBE,EAAS,CAAE,EACXvC,EAAgB,KAAK,IACzBjjB,EAAQ,YAAW,EAAG,eAAgBA,EAAQ,gBAChD,EAEMylB,EAAK,EAAIzlB,EAAQ,YAAa,EAAC,QAC/B0lB,EAAc,EAAID,EAEtB,GAAI7mB,EAAM,mBAAqBA,EAAM,oBAAsB,QAAS,CAMlE,IAAI+mB,EAAkB3lB,EAAQ,YAAY0B,GAAQ,MAAM,EAAE,eAC1DgkB,EAAc,OAAUC,EAAkB3lB,EAAQ,eACnD,CAGD,IAAI4lB,EAAehnB,EAAM,oBAAsB,KAAOoH,GAAc,CAClE,OAAQ,EACR,KAAM,IACV,EAAKhG,CAAO,EAAI,GAAKylB,EAIfI,EAAM,EAAIJ,EACVK,EAAYlnB,EAAM,aAAegnB,EACjCG,EAAgB,GAAMD,EAEtBE,EAAe,GAAMF,EAErB1O,EAAc,EAElB,SAAS6O,EAAYC,GAAa,CAChC,QAASpkB,GAAI,EAAGA,GAAIokB,GAAY,OAAQ,EAAEpkB,GACpCA,GAAI,IACNsV,GAAe,KAGjBoO,EAAO,KAAK,CACV,IAAKpO,EACL,SAAU8O,GAAYpkB,EAAC,CAC/B,CAAO,CAEP,CAIE,IAFAmkB,EAAYpB,EAAgB,CAAC,CAAC,EAEzBO,EAAI,EAAGA,EAAIxmB,EAAM,KAAK,OAAQ,EAAEwmB,EAAG,CACtC,IAAIe,EAAQvnB,EAAM,KAAKwmB,CAAC,EACpB9hB,EAASyiB,EAETve,EAAQwe,EAERT,EAAKY,EAAM,SACbZ,EAAKY,EAAM,QAGb,IAAIC,EAAS,IAAI,MAAMD,EAAM,MAAM,EAEnC,IAAKd,EAAI,EAAGA,EAAIc,EAAM,OAAQ,EAAEd,EAAG,CACjC,IAAIgB,EAAM/U,GAAa6U,EAAMd,CAAC,EAAGrlB,CAAO,EAEpCwH,EAAQ6e,EAAI,QACd7e,EAAQ6e,EAAI,OAGV/iB,EAAS+iB,EAAI,SACf/iB,EAAS+iB,EAAI,QAGfD,EAAOf,CAAC,EAAIgB,CAClB,CAEI,IAAIC,EAAS1nB,EAAM,QAAQwmB,CAAC,EACxBmB,EAAM,EAEND,IACFC,EAAMvgB,GAAcsgB,EAAQtmB,CAAO,EAE/BumB,EAAM,IAERA,GAAOP,EAEHxe,EAAQ+e,IACV/e,EAAQ+e,GAGVA,EAAM,IAON3nB,EAAM,SACR4I,GAASqe,GAGXO,EAAO,OAAS9iB,EAChB8iB,EAAO,MAAQ5e,EACf4P,GAAe9T,EACf8iB,EAAO,IAAMhP,EACbA,GAAe5P,EAAQ+e,EAEvBzT,EAAKsS,CAAC,EAAIgB,EAEVH,EAAYpB,EAAgBO,EAAI,CAAC,CAAC,CACtC,CAEE,IAAIoB,EAASpP,EAAc,EAAIpX,EAAQ,YAAa,EAAC,WACjDymB,EAAkB7nB,EAAM,MAAQ,CAAE,EAClCod,EAAO,CAAE,EACT0K,EACAC,EACAC,EAAW,CAAE,EAEjB,GAAIhoB,EAAM,MAAQA,EAAM,KAAK,KAAKsU,IAAOA,EAAG,EAG1C,IAAKkS,EAAI,EAAGA,EAAIE,EAAI,EAAEF,EAAG,CACvB,IAAIyB,EAAK/T,EAAKsS,CAAC,EACXxH,EAAQiJ,EAAG,IAAML,EACjBtT,EAAMtU,EAAM,KAAKwmB,CAAC,EAClB0B,EAAU,OAEV5T,IAAQ,GAEV4T,EAAUxX,GAAY,SAAS,CAAC,SAAS,EAAG,CAAE,EAAEtP,CAAO,EAC9CkT,IAAQ,GAEjB4T,EAAUxX,GAAY,SAAS,GAAI,GAAItP,CAAO,EAG9C8mB,EAAUxX,GAAY,SAAS,GAAI0B,GAAkBkC,EAAKlT,EAAS,EAAI,EAAGA,CAAO,EAGnF8mB,EAAQ,MAAQD,EAAG,MACnBC,EAAQ,OAASD,EAAG,OACpBD,EAAS,KAAK,CACZ,KAAM,OACN,KAAME,EACN,MAAAlJ,CACR,CAAO,CACP,CAGE,IAAKyH,EAAI,EAAGsB,EAAc,EAE1BtB,EAAIE,GAAMoB,EAAcF,EAAgB,OAAQ,EAAEpB,EAAG,EAAEsB,EAAa,CAIlE,QAHII,EAAWN,EAAgBE,CAAW,GAAK,CAAE,EAC7CK,EAAiB,GAEdD,EAAS,OAAS,aAAa,CASpC,GANKC,IACHN,EAASpX,GAAY,SAAS,CAAC,aAAa,EAAG,EAAE,EACjDoX,EAAO,MAAM,MAAQtgB,GAAOpG,EAAQ,YAAa,EAAC,aAAa,EAC/Dgc,EAAK,KAAK0K,CAAM,GAGdK,EAAS,YAAc,KAAOA,EAAS,YAAc,IAAK,CAC5D,IAAIE,EAAWF,EAAS,YAAc,IAAM,QAAU,SAClDG,GAAY5X,GAAY,SAAS,CAAC,oBAAoB,EAAG,CAAE,EAAEtP,CAAO,EACxEknB,GAAU,MAAM,OAAS9gB,GAAOgR,CAAW,EAC3C8P,GAAU,MAAM,iBAAmB9gB,GAAO6c,CAAa,EACvDiE,GAAU,MAAM,iBAAmBD,EACnCC,GAAU,MAAM,OAAS,KAAO9gB,GAAO,CAAC6c,EAAgB,CAAC,EAEzD,IAAIkE,EAAS/P,EAAcoP,EAEvBW,IACFD,GAAU,MAAM,cAAgB9gB,GAAO,CAAC+gB,CAAM,GAGhDnL,EAAK,KAAKkL,EAAS,CAC3B,KACQ,OAAM,IAAI7pB,GAAW,2BAA6B0pB,EAAS,SAAS,EAGtEJ,IACAI,EAAWN,EAAgBE,CAAW,GAAK,CAAE,EAC7CK,EAAiB,EACvB,CAEI,GAAI,EAAA3B,GAAKE,GAIT,KAAI6B,GAAW,QAEX/B,EAAI,GAAKzmB,EAAM,uBACjBwoB,GAAWhoB,GAAM,MAAM2nB,EAAS,OAAQrB,CAAW,EAE/C0B,KAAa,IACfV,EAASpX,GAAY,SAAS,CAAC,aAAa,EAAG,EAAE,EACjDoX,EAAO,MAAM,MAAQtgB,GAAOghB,EAAQ,EACpCpL,EAAK,KAAK0K,CAAM,IAIpB,IAAIW,GAAM,CAAE,EAEZ,IAAKjC,EAAI,EAAGA,EAAIE,EAAI,EAAEF,EAAG,CACvB,IAAI3J,EAAM3I,EAAKsS,CAAC,EACZpnB,EAAOyd,EAAI4J,CAAC,EAEhB,GAAKrnB,EAIL,KAAIspB,EAAU7L,EAAI,IAAM+K,EAExBxoB,EAAK,MAAQyd,EAAI,MACjBzd,EAAK,OAASyd,EAAI,OAClB4L,GAAI,KAAK,CACP,KAAM,OACN,KAAMrpB,EACN,MAAOspB,CACf,CAAO,EACP,CAEID,GAAM/X,GAAY,UAAU,CAC1B,aAAc,kBACd,SAAU+X,EACX,EAAErnB,CAAO,EACVqnB,GAAM/X,GAAY,SAAS,CAAC,cAAgByX,EAAS,OAAS,IAAI,EAAG,CAACM,EAAG,CAAC,EAC1ErL,EAAK,KAAKqL,EAAG,GAEThC,EAAIE,EAAK,GAAK3mB,EAAM,uBACtBwoB,GAAWhoB,GAAM,MAAM2nB,EAAS,QAASrB,CAAW,EAEhD0B,KAAa,IACfV,EAASpX,GAAY,SAAS,CAAC,aAAa,EAAG,EAAE,EACjDoX,EAAO,MAAM,MAAQtgB,GAAOghB,EAAQ,EACpCpL,EAAK,KAAK0K,CAAM,IAGxB,CAIE,GAFA5T,EAAOxD,GAAY,SAAS,CAAC,QAAQ,EAAG0M,CAAI,EAExCwJ,EAAO,OAAS,EAAG,CASrB,QARItY,EAAOoC,GAAY,aAAa,QAAStP,EAASijB,CAAa,EAC/DsE,EAASjY,GAAY,aAAa,YAAatP,EAASijB,CAAa,EACrEuE,GAAa,CAAC,CAChB,KAAM,OACN,KAAM1U,EACN,MAAO,CACb,CAAK,EAEM0S,EAAO,OAAS,GAAG,CACxB,IAAIiC,EAAQjC,EAAO,IAAK,EACpBkC,GAAYD,EAAM,IAAMjB,EAExBiB,EAAM,SACRD,GAAW,KAAK,CACd,KAAM,OACN,KAAMD,EACN,MAAOG,EACjB,CAAS,EAEDF,GAAW,KAAK,CACd,KAAM,OACN,KAAMta,EACN,MAAOwa,EACjB,CAAS,CAET,CAEI5U,EAAOxD,GAAY,UAAU,CAC3B,aAAc,kBACd,SAAUkY,EACX,EAAExnB,CAAO,CACd,CAEE,GAAI4mB,EAAS,SAAW,EACtB,OAAOtX,GAAY,SAAS,CAAC,MAAM,EAAG,CAACwD,CAAI,EAAG9S,CAAO,EAErD,IAAI2nB,GAAYrY,GAAY,UAAU,CACpC,aAAc,kBACd,SAAUsX,CACX,EAAE5mB,CAAO,EACV,OAAA2nB,GAAYrY,GAAY,SAAS,CAAC,KAAK,EAAG,CAACqY,EAAS,EAAG3nB,CAAO,EACvDsP,GAAY,aAAa,CAACwD,EAAM6U,EAAS,CAAC,CAErD,EAEIC,GAAW,CACb,EAAG,UACH,EAAG,QACH,EAAG,QACL,EAEIC,GAAkB,SAAuBjpB,EAAOoB,EAAS,CAK3D,QAJI8nB,EAAM,CAAE,EACRC,EAAO,IAAIpU,GAAW,SAAS,MAAO,CAAE,EAAE,CAAC,UAAU,CAAC,EACtDT,EAAM,IAAIS,GAAW,SAAS,MAAO,CAAE,EAAE,CAAC,aAAa,CAAC,EAEnD7R,EAAI,EAAGA,EAAIlD,EAAM,KAAK,OAAQkD,IAAK,CAI1C,QAHI+kB,EAAKjoB,EAAM,KAAKkD,CAAC,EACjB2Z,EAAM,CAAE,EAEHxQ,EAAI,EAAGA,EAAI4b,EAAG,OAAQ5b,IAC7BwQ,EAAI,KAAK,IAAI9H,GAAW,SAAS,MAAO,CAACO,GAAW2S,EAAG5b,CAAC,EAAGjL,CAAO,CAAC,CAAC,CAAC,EAGnEpB,EAAM,MAAQA,EAAM,KAAKkD,CAAC,IAC5B2Z,EAAI,QAAQsM,CAAI,EAChBtM,EAAI,KAAKsM,CAAI,EAETnpB,EAAM,MACR6c,EAAI,QAAQvI,CAAG,EAEfuI,EAAI,KAAKvI,CAAG,GAIhB4U,EAAI,KAAK,IAAInU,GAAW,SAAS,MAAO8H,CAAG,CAAC,CAChD,CAEE,IAAIuM,EAAQ,IAAIrU,GAAW,SAAS,SAAUmU,CAAG,EAW7CvB,EAAM3nB,EAAM,eAAiB,GAAM,GACrC,IAAOA,EAAM,aAAe,GAAKA,EAAM,OAAS,IAAO,GACzDopB,EAAM,aAAa,aAAc5hB,GAAOmgB,CAAG,CAAC,EAG5C,IAAI0B,EAAW,GACXC,EAAQ,GAEZ,GAAItpB,EAAM,MAAQA,EAAM,KAAK,OAAS,EAAG,CAEvC,IAAIod,EAAOpd,EAAM,KACbupB,EAAc,GACdC,EAAmB,GACnBC,EAAS,EACTC,EAAOtM,EAAK,OAEZA,EAAK,CAAC,EAAE,OAAS,cACnBiM,GAAY,OACZI,EAAS,GAGPrM,EAAKA,EAAK,OAAS,CAAC,EAAE,OAAS,cACjCiM,GAAY,UACZK,GAAQ,GAGV,QAAStmB,EAAKqmB,EAAQrmB,EAAKsmB,EAAMtmB,IAC3Bga,EAAKha,CAAE,EAAE,OAAS,SACpBkmB,GAASN,GAAS5L,EAAKha,CAAE,EAAE,KAAK,EAE5BomB,IACFD,GAAe,SAGjBC,EAAmB,IACVpM,EAAKha,CAAE,EAAE,OAAS,aAGvBomB,IACFD,GAAenM,EAAKha,CAAE,EAAE,YAAc,IAAM,SAAW,UACvDomB,EAAmB,IAKzBJ,EAAM,aAAa,cAAeE,EAAM,KAAI,CAAE,EAE1C,OAAO,KAAKC,CAAW,GACzBH,EAAM,aAAa,cAAeG,EAAY,KAAI,CAAE,CAEvD,CAGD,GAAIvpB,EAAM,oBAAsB,QAAS,CAKvC,QAJI2pB,EAAQ3pB,EAAM,MAAQ,CAAE,EAExB8K,EAAU,GAELO,EAAM,EAAGA,EAAMse,EAAM,OAAQte,IACpCP,GAAWO,EAAM,EAAI,OAAS,OAGhC+d,EAAM,aAAa,gBAAiBte,EAAQ,KAAI,CAAE,CACtD,MAAa9K,EAAM,oBAAsB,WAAaA,EAAM,oBAAsB,SAC9EopB,EAAM,aAAa,gBAAiB,KAAK,EAChCppB,EAAM,oBAAsB,QACrCopB,EAAM,aAAa,gBAAiB,UAAU,EACrCppB,EAAM,oBAAsB,KACrCopB,EAAM,aAAa,gBAAiB,OAAO,EAE3CA,EAAM,aAAa,gBAAiB,KAAK,EAI3C,IAAIQ,EAAW,GACXhD,EAAS5mB,EAAM,gBACnBqpB,GAAYzC,EAAO,CAAC,EAAE,OAAS,EAAI,QAAU,GAC7CyC,GAAYzC,EAAOA,EAAO,OAAS,CAAC,EAAE,OAAS,EAAI,SAAW,GAE9D,QAASpb,EAAM,EAAGA,EAAMob,EAAO,OAAS,EAAGpb,IACzCoe,GAAYhD,EAAOpb,CAAG,EAAE,SAAW,EAAI,QACrCob,EAAOpb,CAAG,EAAE,CAAC,EAAI,UAAY,SAGjC,MAAI,OAAO,KAAKoe,CAAQ,GACtBR,EAAM,aAAa,WAAYQ,EAAS,KAAI,CAAE,EAG5CP,IAAa,KACfD,EAAQ,IAAIrU,GAAW,SAAS,WAAY,CAACqU,CAAK,CAAC,EACnDA,EAAM,aAAa,WAAYC,EAAS,KAAI,CAAE,GAG5CrpB,EAAM,cAAgBA,EAAM,aAAe,IAE7CopB,EAAQ,IAAIrU,GAAW,SAAS,SAAU,CAACqU,CAAK,CAAC,EACjDA,EAAM,aAAa,cAAe,GAAG,GAGhCA,CACT,EAGIS,GAAiB,SAAwBpoB,EAASmY,EAAM,CACtDnY,EAAQ,QAAQ,QAAQ,IAAI,IAAM,IACpC0jB,GAA8B1jB,CAAO,EAGvC,IAAI2b,EAAO,CAAE,EACT0M,EAAiBroB,EAAQ,QAAQ,QAAQ,IAAI,EAAI,GAAK,UAAY,QAClEsoB,EAAUtoB,EAAQ,UAAY,QAC9BuoB,EAAM3E,GAAW5jB,EAAQ,OAAQ,CACnC,KAAA2b,EACA,OAAQ,GACR,QAAS2M,EAAU,OAAY3E,GAAW3jB,EAAQ,OAAO,EACzD,eAAgB,GAChB,kBAAmBqoB,EACnB,WAAYC,EAAU,EAAI,OAC1B,MAAOtoB,EAAQ,OAAO,SAAS,KAChC,EAAE,SAAS,EAURwoB,EACAC,EAAU,EACVC,EAAa,CACf,KAAM,WACN,KAAM1oB,EAAQ,KACd,KAAM,EACP,EAED,GAAImY,EAAK,CAAC,GAAKA,EAAK,CAAC,EAAE,OAAS,WAAY,CAG1C,QAFIwQ,EAAO,GAEFlnB,EAAI,EAAGA,EAAI0W,EAAK,CAAC,EAAE,KAAK,OAAQ1W,IAAK,CAC5C,IAAI6H,EAAU4N,GAAeiB,EAAK,CAAC,EAAE,KAAK1W,CAAC,EAAG,SAAS,EACvDknB,GAAQrf,EAAQ,IACtB,CAEIkf,EAAW,OAAOG,CAAI,EACtBF,EAAUD,EAAW,CACzB,CAEE,IAAII,EAAY,CAACH,EACjBF,EAAI,KAAK,QAAQ,SAAUnN,EAAK,CAC9B,QAASnR,EAAM,EAAGA,EAAMmR,EAAI,OAAQnR,GAAO,EAAG,CAE5C,IAAI4e,EAAU3R,GAAekE,EAAInR,CAAG,EAAG,SAAS,EAC5C6e,EAAW5R,GAAe2R,EAAQ,KAAK,CAAC,EAAG,UAAU,EACzDC,EAAS,KAAK,QAAQJ,CAAU,CACtC,CAEI,GAAKE,EAOMH,EAAUrN,EAAI,SAEvBqN,EAAUrN,EAAI,YATA,CAEd,IAAI2N,EAAW3N,EAAI,OAAS,EAE5B,GAAIoN,EAAWO,EACb,MAAM,IAAI/rB,GAAW,4BAA8B,YAAcwrB,EAAW,aAAeO,GAAW3N,EAAI,CAAC,CAAC,CAEpH,CAIA,CAAG,EAID,QAAShR,EAAM,EAAGA,EAAMqe,EAAS,EAAEre,EAAK,CACtC,IAAIyd,EAAQ,IACRmB,EAAS,EAET5e,EAAM,IAAM,EACdyd,EAAQ,IACCzd,EAAM,GAAKwe,IAEpBI,EAAS,GAGXrN,EAAKvR,CAAG,EAAI,CACV,KAAM,QACN,MAAOyd,EACP,OAAQmB,EACR,QAAS,CACV,CACL,CAEE,OAAAT,EAAI,kBAAoBK,EAAY,QAAU,UACvCL,CACT,EAMAnF,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,QAAS,QAAQ,EACzB,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAASmY,EAAM,CAKrB,IAAI8Q,EAAU5R,GAAoBc,EAAK,CAAC,CAAC,EACrC+Q,EAAWD,EAAU,CAAC9Q,EAAK,CAAC,CAAC,EAAIjB,GAAeiB,EAAK,CAAC,EAAG,UAAU,EAAE,KACrEwD,EAAOuN,EAAS,IAAI,SAAUC,EAAK,CACrC,IAAI7iB,EAAO6Q,GAAqBgS,CAAG,EAC/BC,EAAK9iB,EAAK,KAEd,GAAI,MAAM,QAAQ8iB,CAAE,IAAM,GACxB,MAAO,CACL,KAAM,QACN,MAAOA,CACR,EACI,GAAIA,IAAO,IAChB,MAAO,CACL,KAAM,YACN,UAAW,GACZ,EACI,GAAIA,IAAO,IAChB,MAAO,CACL,KAAM,YACN,UAAW,GACZ,EAGH,MAAM,IAAIpsB,GAAW,6BAA+BosB,EAAID,CAAG,CACjE,CAAK,EACGZ,EAAM,CACR,KAAA5M,EACA,oBAAqB,GAErB,WAAYA,EAAK,MAClB,EACD,OAAOiI,GAAW5jB,EAAQ,OAAQuoB,EAAK3D,GAAW5kB,EAAQ,OAAO,CAAC,CACnE,EAED,YAAa8kB,GACb,cAAe0C,EACjB,CAAC,EAKDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,SAAU,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAAY,WAAY,WAAY,WAAY,UAAU,EAC9I,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAAS,CACf,IAAI4c,EAAa,CACf,OAAU,KACV,QAAW,CAAC,IAAK,GAAG,EACpB,QAAW,CAAC,IAAK,GAAG,EACpB,QAAW,CAAC,MAAO,KAAK,EACxB,QAAW,CAAC,IAAK,GAAG,EACpB,QAAW,CAAC,SAAU,QAAQ,CACpC,EAAM5c,EAAQ,QAAQ,QAAQ,IAAK,EAAE,CAAC,EAE9BqpB,EAAW,IACXC,EAAU,CACZ,oBAAqB,GACrB,KAAM,CAAC,CACL,KAAM,QACN,MAAOD,CACR,EACF,EAED,GAAIrpB,EAAQ,QAAQ,OAAOA,EAAQ,QAAQ,OAAS,CAAC,IAAM,IAAK,CAG9D,IAAIsY,EAAStY,EAAQ,OAGrB,GAFAsY,EAAO,cAAe,EAElBA,EAAO,QAAQ,OAAS,IAAK,CAK/B,GAJAA,EAAO,QAAS,EAChBA,EAAO,cAAe,EACtB+Q,EAAW/Q,EAAO,MAAK,EAAG,KAEtB,MAAM,QAAQ+Q,CAAQ,IAAM,GAC9B,MAAM,IAAIrsB,GAAW,uBAAwBsb,EAAO,SAAS,EAG/DA,EAAO,QAAS,EAChBA,EAAO,cAAe,EACtBA,EAAO,OAAO,GAAG,EACjBA,EAAO,QAAS,EAChBgR,EAAQ,KAAO,CAAC,CACd,KAAM,QACN,MAAOD,CACjB,CAAS,CACT,CACA,CAEI,IAAId,EAAM3E,GAAW5jB,EAAQ,OAAQspB,EAAS1E,GAAW5kB,EAAQ,OAAO,CAAC,EAErEyoB,EAAU,KAAK,IAAI,EAAG,GAAGF,EAAI,KAAK,IAAInN,GAAOA,EAAI,MAAM,CAAC,EAC5D,OAAAmN,EAAI,KAAO,IAAI,MAAME,CAAO,EAAE,KAAK,CACjC,KAAM,QACN,MAAOY,CACb,CAAK,EACMzM,EAAa,CAClB,KAAM,YACN,KAAM5c,EAAQ,KACd,KAAM,CAACuoB,CAAG,EACV,KAAM3L,EAAW,CAAC,EAClB,MAAOA,EAAW,CAAC,EACnB,WAAY,MAElB,EAAQ2L,CACL,EAED,YAAazD,GACb,cAAe0C,EACjB,CAAC,EACDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAAS,CACf,IAAIspB,EAAU,CACZ,aAAc,EACf,EACGf,EAAM3E,GAAW5jB,EAAQ,OAAQspB,EAAS,QAAQ,EACtD,OAAAf,EAAI,kBAAoB,QACjBA,CACR,EAED,YAAazD,GACb,cAAe0C,EACjB,CAAC,EACDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAASmY,EAAM,CAErB,IAAI8Q,EAAU5R,GAAoBc,EAAK,CAAC,CAAC,EACrC+Q,EAAWD,EAAU,CAAC9Q,EAAK,CAAC,CAAC,EAAIjB,GAAeiB,EAAK,CAAC,EAAG,UAAU,EAAE,KACrEwD,EAAOuN,EAAS,IAAI,SAAUC,EAAK,CACrC,IAAI7iB,EAAO6Q,GAAqBgS,CAAG,EAC/BC,EAAK9iB,EAAK,KAEd,GAAI,KAAK,QAAQ8iB,CAAE,IAAM,GACvB,MAAO,CACL,KAAM,QACN,MAAOA,CACR,EAGH,MAAM,IAAIpsB,GAAW,6BAA+BosB,EAAID,CAAG,CACjE,CAAK,EAED,GAAIxN,EAAK,OAAS,EAChB,MAAM,IAAI3e,GAAW,wCAAwC,EAG/D,IAAIurB,EAAM,CACR,KAAA5M,EACA,oBAAqB,GACrB,aAAc,EACf,EAGD,GAFA4M,EAAM3E,GAAW5jB,EAAQ,OAAQuoB,EAAK,QAAQ,EAE1CA,EAAI,KAAK,OAAS,GAAKA,EAAI,KAAK,CAAC,EAAE,OAAS,EAC9C,MAAM,IAAIvrB,GAAW,wCAAwC,EAG/D,OAAOurB,CACR,EAED,YAAazD,GACb,cAAe0C,EACjB,CAAC,EAODpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,QAAS,SAAU,SAAU,SAAS,EAC9C,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAAS,CACf,IAAIspB,EAAU,CACZ,aAAc,IACd,KAAM,CAAC,CACL,KAAM,QACN,MAAO,IACP,OAAQ,EAKR,QAAS,CAGjB,EAAS,CACD,KAAM,QACN,MAAO,IACP,OAAQ,EACR,QAAS,CACV,EACF,EACGf,EAAM3E,GAAW5jB,EAAQ,OAAQspB,EAAS1E,GAAW5kB,EAAQ,OAAO,CAAC,EACzE,MAAO,CACL,KAAM,YACN,KAAMA,EAAQ,KACd,KAAM,CAACuoB,CAAG,EACV,KAAMvoB,EAAQ,QAAQ,QAAQ,GAAG,EAAI,GAAK,IAAM,MAChD,MAAOA,EAAQ,QAAQ,QAAQ,GAAG,EAAI,GAAK,MAAQ,IACnD,WAAY,MACb,CACF,EAED,YAAa8kB,GACb,cAAe0C,EACjB,CAAC,EAODpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,QAAS,SAAU,UAAW,OAAO,EAC7C,MAAO,CACL,QAAS,CACV,EACD,QAASgF,GACT,YAAatD,GACb,cAAe0C,EACjB,CAAC,EAIDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,WAAY,SAAU,SAAS,EACvC,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAAS,CACXjB,GAAM,SAAS,CAAC,SAAU,SAAS,EAAGiB,EAAQ,OAAO,GACvD0jB,GAA8B1jB,CAAO,EAGvC,IAAIuoB,EAAM,CACR,KAAM,CAAC,CACL,KAAM,QACN,MAAO,GACf,CAAO,EACD,OAAQ,GACR,kBAAmB,SACnB,QAAS5E,GAAW3jB,EAAQ,OAAO,EACnC,eAAgB,GAChB,MAAOA,EAAQ,OAAO,SAAS,KAChC,EACD,OAAO4jB,GAAW5jB,EAAQ,OAAQuoB,EAAK,SAAS,CACjD,EAED,YAAazD,GACb,cAAe0C,EACjB,CAAC,EAIDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,UAAW,WAAY,WAAW,EAC1C,MAAO,CACL,QAAS,CACV,EACD,QAASgF,GACT,YAAatD,GACb,cAAe0C,EACjB,CAAC,EACDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,WAAY,WAAW,EAC/B,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAAS,CACf0jB,GAA8B1jB,CAAO,EACrC,IAAIuoB,EAAM,CACR,QAAS5E,GAAW3jB,EAAQ,OAAO,EACnC,eAAgB,GAChB,UAAW,GACX,WAAY,EACZ,MAAOA,EAAQ,OAAO,SAAS,KAChC,EACD,OAAO4jB,GAAW5jB,EAAQ,OAAQuoB,EAAK,SAAS,CACjD,EAED,YAAazD,GACb,cAAe0C,EACjB,CAAC,EACDpE,GAAkB,CAChB,KAAM,QACN,MAAO,CAAC,IAAI,EACZ,MAAO,CACL,QAAS,CACV,EAED,QAAQpjB,EAAS,CACf,OAAA0jB,GAA8B1jB,CAAO,EAC9Bkb,GAAQlb,EAAQ,MAAM,CAC9B,EAED,YAAa8kB,GACb,cAAe0C,EACjB,CAAC,EACDlE,GAAY,aAAc,mBAAmB,EAC7CA,GAAY,UAAW,YAAY,EAEnC5T,GAAe,CACb,KAAM,OAEN,MAAO,CAAC,UAAW,aAAa,EAChC,MAAO,CACL,QAAS,EACT,cAAe,GACf,cAAe,EAChB,EAED,QAAQ1P,EAASmY,EAAM,CACrB,MAAM,IAAInb,GAAWgD,EAAQ,SAAW,sCAAsC,CAClF,CAEA,CAAC,EAED,IAAIupB,GAAepG,GAInBzT,GAAe,CACb,KAAM,cACN,MAAO,CAAC,UAAW,OAAO,EAC1B,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,CAClB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA6Z,EAAYrR,EAAK,CAAC,EAEtB,GAAIqR,EAAU,OAAS,WACrB,MAAM,IAAIxsB,GAAW,2BAA4BwsB,CAAS,EAK5D,QAFI3E,EAAU,GAELpjB,EAAI,EAAGA,EAAI+nB,EAAU,KAAK,OAAQ,EAAE/nB,EAC3CojB,GAAW3N,GAAesS,EAAU,KAAK/nB,CAAC,EAAG,SAAS,EAAE,KAG1D,GAAI8W,IAAa,UAAW,CAE1B,GAAI,CAACgR,GAAa,eAAe1E,CAAO,EACtC,MAAM,IAAI7nB,GAAW,wBAA0B6nB,EAAS2E,CAAS,EAKnE,IAAIC,EAAMF,GAAa1E,CAAO,EAC1B,CACF,KAAM6E,EACN,QAAA/Q,CACR,EAAUL,EAAO,eAAe,WAAauM,EAAU,IAAK4E,CAAG,EACrDzpB,EAAU,CACZ,KAAMsY,EAAO,KACb,QAAAuM,EACA,OAAAvM,CACD,EACGvG,EAAS0X,EAAI,QAAQzpB,EAAS0pB,EAAO/Q,CAAO,EAChDL,EAAO,OAAO,QAAS,EAAK,EAC5B,IAAIqR,EAAerR,EAAO,UACtB7b,EAAMya,GAAeoB,EAAO,cAAa,EAAI,aAAa,EAE9D,GAAI7b,EAAI,OAASooB,EACf,MAAM,IAAI7nB,GAAW,qBAAuB6nB,EAAU,sBAAwBpoB,EAAI,KAAO,IAAKktB,CAAY,EAI5G,OAAO5X,CACb,CAEI,MAAO,CACL,KAAM,cACN,KAAMuG,EAAO,KACb,KAAMuM,EACN,UAAA2E,CACD,CACL,CAEA,CAAC,EAID,IAAII,GAAgB,CAACrrB,EAAOoB,IAAY,CACtC,IAAIyE,EAAO7F,EAAM,KACbqa,EAAajZ,EAAQ,SAASyE,CAAI,EACtC,OAAO6M,GAAa1S,EAAM,KAAMqa,CAAU,CAC5C,EAEIiR,GAAkB,CAACtrB,EAAOoB,IAAY,CACxC,IAAIyE,EAAO7F,EAAM,KACbqa,EAAajZ,EAAQ,SAASyE,CAAI,EACtC,OAAOyP,GAAWtV,EAAM,KAAMqa,CAAU,CAC1C,EAEIkR,GAAc,CAChB,QAAS,WACT,SAAU,WACV,SAAU,aACV,OAAQ,cACV,EACApa,GAAe,CACb,KAAM,OACN,MAAO,CACP,WAAY,WAAY,WAAY,eAAgB,aACpD,WAAY,YAAa,aAAc,YAAa,WAAY,WAChE,QAAS,SAAU,QAAQ,EAC3B,MAAO,CACL,QAAS,EACT,kBAAmB,EACpB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA8C,EAAOtC,GAAkBgI,EAAK,CAAC,CAAC,EAChC4R,EAAOxR,EAEX,OAAIwR,KAAQD,KACVC,EAAOD,GAAYC,CAAI,GAGlB,CACL,KAAM,OACN,KAAMzR,EAAO,KACb,KAAMyR,EAAK,MAAM,CAAC,EAClB,KAAAtX,CACD,CACF,EACD,YAAamX,GACb,cAAeC,EACjB,CAAC,EACDna,GAAe,CACb,KAAM,SACN,MAAO,CAAC,eAAgB,MAAM,EAC9B,MAAO,CACL,QAAS,CACV,EACD,QAAS,CAACQ,EAAOiI,IAAS,CACxB,GAAI,CACF,OAAAG,CACN,EAAQpI,EACAuC,EAAO0F,EAAK,CAAC,EACb3Z,EAAiBO,GAAM,eAAe0T,CAAI,EAG9C,MAAO,CACL,KAAM,SACN,KAAM6F,EAAO,KACb,OAAQsB,GAAYnH,CAAI,EACxB,KAAM,CAAC,CACL,KAAM,OACN,KAAM6F,EAAO,KACb,KAAM,aACN,KAAA7F,CACR,CAAO,EACD,eAAgBjU,CACjB,CACL,CACA,CAAC,EAEDkR,GAAe,CACb,KAAM,OACN,MAAO,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAO,EACvD,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACoK,EAAO3B,IAAS,CACxB,GAAI,CACF,OAAAG,EACA,SAAAC,EACA,iBAAA0D,CACN,EAAQnC,EACA,CACF,KAAAzV,CACN,EAAQiU,EACA7F,EAAO6F,EAAO,gBAAgB,GAAM2D,CAAgB,EACpDnX,EAAQ,OAASyT,EAAS,MAAM,CAAC,EACrC,MAAO,CACL,KAAM,OACN,KAAMlU,EACN,KAAMS,EACN,KAAM,CACJ,KAAM,WACN,KAAMwT,EAAO,KACb,KAAA7F,CACR,CACK,CACF,EACD,YAAamX,GACb,cAAeC,EACjB,CAAC,EAED,IAAIG,GAAc,CAAC5pB,EAAM6pB,IAAkB,CAGzC,IAAInlB,EAAQmlB,EAEZ,OAAI7pB,IAAS,UAGX0E,EAAQA,EAAM,IAAMzD,GAAQ,OAAO,GAAKyD,EAAM,OAASzD,GAAQ,QACtDjB,IAAS,QAAU0E,EAAM,OAASzD,GAAQ,QAAQ,KAE3DyD,EAAQzD,GAAQ,KACPjB,IAAS,SAClB0E,EAAQzD,GAAQ,OACPjB,IAAS,iBAClB0E,EAAQzD,GAAQ,cAGXyD,CACT,EAEIolB,GAAgB,CAAC3rB,EAAOoB,IAAY,CAEtC,IAAImF,EAAQklB,GAAYzrB,EAAM,KAAMoB,EAAQ,KAAK,EAC7CwqB,EAASrlB,EAAM,QAAS,EACxBslB,EAAStlB,EAAM,QAAS,EACxB8T,EACJA,EAAajZ,EAAQ,YAAYwqB,CAAM,EACvC,IAAIE,EAASpZ,GAAa1S,EAAM,MAAOqa,EAAYjZ,CAAO,EAE1D,GAAIpB,EAAM,UAAW,CAGnB,IAAI+rB,EAAS,IAAM3qB,EAAQ,YAAa,EAAC,QACrC4qB,EAAS,IAAM5qB,EAAQ,YAAa,EAAC,QACzC0qB,EAAO,OAASA,EAAO,OAASC,EAASA,EAASD,EAAO,OACzDA,EAAO,MAAQA,EAAO,MAAQE,EAASA,EAASF,EAAO,KAC3D,CAEEzR,EAAajZ,EAAQ,YAAYyqB,CAAM,EACvC,IAAII,EAASvZ,GAAa1S,EAAM,MAAOqa,EAAYjZ,CAAO,EACtDgP,EACA8b,EACAC,EAEAnsB,EAAM,YACJA,EAAM,SACRksB,EAAY9kB,GAAcpH,EAAM,QAASoB,CAAO,EAChDgP,EAAOM,GAAY,aAAa,YAAatP,EAAS8qB,CAAS,GAE/D9b,EAAOM,GAAY,aAAa,YAAatP,CAAO,EAGtD8qB,EAAY9b,EAAK,OACjB+b,EAAc/b,EAAK,SAEnBA,EAAO,KACP8b,EAAY,EACZC,EAAc/qB,EAAQ,YAAW,EAAG,sBAItC,IAAIgrB,EACA/S,EACAgT,EAEA9lB,EAAM,OAASzD,GAAQ,QAAQ,MAAQ9C,EAAM,OAAS,WACxDosB,EAAWhrB,EAAQ,YAAW,EAAG,KAE7B8qB,EAAY,EACd7S,EAAY,EAAI8S,EAEhB9S,EAAY,EAAI8S,EAGlBE,EAAajrB,EAAQ,YAAW,EAAG,SAE/B8qB,EAAY,GACdE,EAAWhrB,EAAQ,YAAW,EAAG,KACjCiY,EAAY8S,IAEZC,EAAWhrB,EAAQ,YAAW,EAAG,KACjCiY,EAAY,EAAI8S,GAGlBE,EAAajrB,EAAQ,YAAW,EAAG,QAGrC,IAAIkrB,EAEJ,GAAKlc,EAqBE,CAEL,IAAI0Q,EAAa1f,EAAQ,YAAW,EAAG,WAEnCgrB,EAAWN,EAAO,OAAShL,EAAa,GAAMoL,GAAa7S,IAC7D+S,GAAY/S,GAAa+S,EAAWN,EAAO,OAAShL,EAAa,GAAMoL,KAGrEpL,EAAa,GAAMoL,GAAaD,EAAO,OAASI,GAAchT,IAChEgT,GAAchT,GAAayH,EAAa,GAAMoL,GAAaD,EAAO,OAASI,KAG7E,IAAIE,EAAW,EAAEzL,EAAa,GAAMoL,GACpCI,EAAO5b,GAAY,UAAU,CAC3B,aAAc,kBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMub,EACN,MAAOI,CACf,EAAS,CACD,KAAM,OACN,KAAMjc,EACN,MAAOmc,CACf,EAAS,CACD,KAAM,OACN,KAAMT,EACN,MAAO,CAACM,CACT,EACF,EAAEhrB,CAAO,CACX,KAlDU,CAET,IAAIorB,EAAqBJ,EAAWN,EAAO,OAASG,EAAO,OAASI,GAEhEG,EAAqBnT,IACvB+S,GAAY,IAAO/S,EAAYmT,GAC/BH,GAAc,IAAOhT,EAAYmT,IAGnCF,EAAO5b,GAAY,UAAU,CAC3B,aAAc,kBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMub,EACN,MAAOI,CACf,EAAS,CACD,KAAM,OACN,KAAMP,EACN,MAAO,CAACM,CACT,EACF,EAAEhrB,CAAO,CACd,CAiCEiZ,EAAajZ,EAAQ,YAAYmF,CAAK,EACtC+lB,EAAK,QAAUjS,EAAW,eAAiBjZ,EAAQ,eACnDkrB,EAAK,OAASjS,EAAW,eAAiBjZ,EAAQ,eAElD,IAAIqrB,EAEAlmB,EAAM,OAASzD,GAAQ,QAAQ,KACjC2pB,EAAYrrB,EAAQ,YAAW,EAAG,OACzBmF,EAAM,OAASzD,GAAQ,aAAa,KAC7C2pB,EAAYrrB,EAAQ,YAAY0B,GAAQ,MAAM,EAAE,YAAW,EAAG,OAE9D2pB,EAAYrrB,EAAQ,YAAW,EAAG,OAGpC,IAAImiB,EACAG,EAEJ,OAAI1jB,EAAM,WAAa,KACrBujB,EAAY3P,GAAkBxS,EAAS,CAAC,OAAO,CAAC,EAEhDmiB,EAAYP,GAAU,iBAAiBhjB,EAAM,UAAWysB,EAAW,GAAMrrB,EAAQ,YAAYmF,CAAK,EAAGvG,EAAM,KAAM,CAAC,OAAO,CAAC,EAGxHA,EAAM,UACR0jB,EAAahT,GAAY,SAAS,EAAE,EAC3B1Q,EAAM,YAAc,KAC7B0jB,EAAa9P,GAAkBxS,EAAS,CAAC,QAAQ,CAAC,EAElDsiB,EAAaV,GAAU,iBAAiBhjB,EAAM,WAAYysB,EAAW,GAAMrrB,EAAQ,YAAYmF,CAAK,EAAGvG,EAAM,KAAM,CAAC,QAAQ,CAAC,EAGxH0Q,GAAY,SAAS,CAAC,MAAM,EAAE,OAAO2J,EAAW,cAAcjZ,CAAO,CAAC,EAAG,CAACmiB,EAAW7S,GAAY,SAAS,CAAC,OAAO,EAAG,CAAC4b,CAAI,CAAC,EAAG5I,CAAU,EAAGtiB,CAAO,CAC3J,EAEIsrB,GAAkB,CAAC1sB,EAAOoB,IAAY,CACxC,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAACO,GAAWtV,EAAM,MAAOoB,CAAO,EAAGkU,GAAWtV,EAAM,MAAOoB,CAAO,CAAC,CAAC,EAEhH,GAAI,CAACpB,EAAM,WACT+H,EAAK,aAAa,gBAAiB,KAAK,UAC/B/H,EAAM,QAAS,CACxB,IAAIksB,EAAY9kB,GAAcpH,EAAM,QAASoB,CAAO,EACpD2G,EAAK,aAAa,gBAAiBP,GAAO0kB,CAAS,CAAC,CACxD,CAEE,IAAI3lB,EAAQklB,GAAYzrB,EAAM,KAAMoB,EAAQ,KAAK,EAEjD,GAAImF,EAAM,OAASnF,EAAQ,MAAM,KAAM,CACrC2G,EAAO,IAAIgN,GAAW,SAAS,SAAU,CAAChN,CAAI,CAAC,EAC/C,IAAI4kB,EAAYpmB,EAAM,OAASzD,GAAQ,QAAQ,KAAO,OAAS,QAC/DiF,EAAK,aAAa,eAAgB4kB,CAAS,EAC3C5kB,EAAK,aAAa,cAAe,GAAG,CACxC,CAEE,GAAI/H,EAAM,WAAa,MAAQA,EAAM,YAAc,KAAM,CACvD,IAAI4sB,EAAa,CAAE,EAEnB,GAAI5sB,EAAM,WAAa,KAAM,CAC3B,IAAI6sB,EAAS,IAAI9X,GAAW,SAAS,KAAM,CAAC,IAAIA,GAAW,SAAS/U,EAAM,UAAU,QAAQ,KAAM,EAAE,CAAC,CAAC,CAAC,EACvG6sB,EAAO,aAAa,QAAS,MAAM,EACnCD,EAAW,KAAKC,CAAM,CAC5B,CAII,GAFAD,EAAW,KAAK7kB,CAAI,EAEhB/H,EAAM,YAAc,KAAM,CAC5B,IAAI8sB,EAAU,IAAI/X,GAAW,SAAS,KAAM,CAAC,IAAIA,GAAW,SAAS/U,EAAM,WAAW,QAAQ,KAAM,EAAE,CAAC,CAAC,CAAC,EACzG8sB,EAAQ,aAAa,QAAS,MAAM,EACpCF,EAAW,KAAKE,CAAO,CAC7B,CAEI,OAAO7X,GAAQ2X,CAAU,CAC7B,CAEE,OAAO7kB,CACT,EAEAoJ,GAAe,CACb,KAAM,UACN,MAAO,CAAC,UAAW,SAAU,UAAW,WAAY,UAAW,WAAY,eAC3E,gBAAiB,eAChB,EACD,MAAO,CACL,QAAS,EACT,kBAAmB,EACpB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA2b,EAAQnT,EAAK,CAAC,EACdoT,EAAQpT,EAAK,CAAC,EACdqT,EACA1J,EAAY,KACZG,EAAa,KACb7hB,EAAO,OAEX,OAAQmY,EAAQ,CACd,IAAK,UACL,IAAK,SACL,IAAK,UACHiT,EAAa,GACb,MAEF,IAAK,eACHA,EAAa,GACb,MAEF,IAAK,WACL,IAAK,UACL,IAAK,WACHA,EAAa,GACb1J,EAAY,IACZG,EAAa,IACb,MAEF,IAAK,gBACHuJ,EAAa,GACb1J,EAAY,MACZG,EAAa,MACb,MAEF,IAAK,gBACHuJ,EAAa,GACb1J,EAAY,IACZG,EAAa,IACb,MAEF,QACE,MAAM,IAAI,MAAM,8BAA8B,CACtD,CAEI,OAAQ1J,EAAQ,CACd,IAAK,UACL,IAAK,WACHnY,EAAO,UACP,MAEF,IAAK,UACL,IAAK,WACHA,EAAO,OACP,KACR,CAEI,MAAO,CACL,KAAM,UACN,KAAMkY,EAAO,KACb,UAAW,GACX,MAAAgT,EACA,MAAAC,EACA,WAAAC,EACA,UAAA1J,EACA,WAAAG,EACA,KAAA7hB,EACA,QAAS,IACV,CACF,EACD,YAAa8pB,GACb,cAAee,EACjB,CAAC,EACDvb,GAAe,CACb,KAAM,UACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,CACV,EACD,QAAS,CAACQ,EAAOiI,IAAS,CACxB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQrI,EACAob,EAAQnT,EAAK,CAAC,EACdoT,EAAQpT,EAAK,CAAC,EAClB,MAAO,CACL,KAAM,UACN,KAAMG,EAAO,KACb,UAAW,GACX,MAAAgT,EACA,MAAAC,EACA,WAAY,GACZ,UAAW,KACX,WAAY,KACZ,KAAM,UACN,QAAS,IACV,CACL,CACA,CAAC,EAGD7b,GAAe,CACb,KAAM,QACN,MAAO,CAAC,SAAU,WAAY,SAAU,UAAW,SAAS,EAC5D,MAAO,CACL,QAAS,EACT,MAAO,EACR,EAED,QAAQoK,EAAO,CACb,GAAI,CACF,OAAAxB,EACA,SAAAC,EACA,MAAArb,CACN,EAAQ4c,EACA2R,EAEJ,OAAQlT,EAAQ,CACd,IAAK,SACHkT,EAAc,SACd,MAEF,IAAK,WACHA,EAAc,UACd,MAEF,IAAK,SACHA,EAAc,eACd,MAEF,IAAK,UACHA,EAAc,gBACd,MAEF,IAAK,UACHA,EAAc,gBACd,MAEF,QACE,MAAM,IAAI,MAAM,oCAAoC,CAC5D,CAEI,MAAO,CACL,KAAM,QACN,KAAMnT,EAAO,KACb,YAAAmT,EACA,MAAAvuB,CACD,CACL,CAEA,CAAC,EACD,IAAIwuB,GAAY,CAAC,UAAW,OAAQ,SAAU,cAAc,EAExDC,GAAiB,SAAwBC,EAAa,CACxD,IAAIzO,EAAQ,KAEZ,OAAIyO,EAAY,OAAS,IACvBzO,EAAQyO,EACRzO,EAAQA,IAAU,IAAM,KAAOA,GAG1BA,CACT,EAEAzN,GAAe,CACb,KAAM,UACN,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACT,kBAAmB,GACnB,SAAU,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAM,CAC1D,EAED,QAAQoN,EAAO3E,EAAM,CACnB,GAAI,CACF,OAAAG,CACN,EAAQwE,EACAwO,EAAQnT,EAAK,CAAC,EACdoT,EAAQpT,EAAK,CAAC,EAEdgK,EAAWhS,GAAkBgI,EAAK,CAAC,CAAC,EACpC2J,EAAYK,EAAS,OAAS,QAAUA,EAAS,SAAW,OAASwJ,GAAexJ,EAAS,IAAI,EAAI,KACrGC,EAAYjS,GAAkBgI,EAAK,CAAC,CAAC,EACrC8J,EAAaG,EAAU,OAAS,QAAUA,EAAU,SAAW,QAAUuJ,GAAevJ,EAAU,IAAI,EAAI,KAC1GyJ,EAAU3U,GAAeiB,EAAK,CAAC,EAAG,MAAM,EACxCqT,EACAM,EAAU,KAEVD,EAAQ,QAIVL,EAAa,IAEbM,EAAUD,EAAQ,MAClBL,EAAaM,EAAQ,OAAS,GAIhC,IAAI1rB,EAAO,OACP2rB,EAAO5T,EAAK,CAAC,EAEjB,GAAI4T,EAAK,OAAS,YAChB,GAAIA,EAAK,KAAK,OAAS,EAAG,CACxB,IAAIC,EAAU9U,GAAe6U,EAAK,KAAK,CAAC,EAAG,SAAS,EACpD3rB,EAAOsrB,GAAU,OAAOM,EAAQ,IAAI,CAAC,CAC7C,OAEMD,EAAO7U,GAAe6U,EAAM,SAAS,EACrC3rB,EAAOsrB,GAAU,OAAOK,EAAK,IAAI,CAAC,EAGpC,MAAO,CACL,KAAM,UACN,KAAMzT,EAAO,KACb,MAAAgT,EACA,MAAAC,EACA,UAAW,GACX,WAAAC,EACA,QAAAM,EACA,UAAAhK,EACA,WAAAG,EACA,KAAA7hB,CACD,CACF,EAED,YAAa8pB,GACb,cAAee,EACjB,CAAC,EAEDvb,GAAe,CACb,KAAM,QACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,EACjB,MAAO,EACR,EAED,QAAQwT,EAAO/K,EAAM,CACnB,GAAI,CACF,OAAAG,EACA,SAAAC,EACA,MAAArb,CACN,EAAQgmB,EACJ,MAAO,CACL,KAAM,QACN,KAAM5K,EAAO,KACb,YAAa,gBACb,KAAMpB,GAAeiB,EAAK,CAAC,EAAG,MAAM,EAAE,MACtC,MAAAjb,CACD,CACL,CAEA,CAAC,EACDwS,GAAe,CACb,KAAM,UACN,MAAO,CAAC,eAAe,EACvB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,OAAQ,OAAQ,MAAM,CAClC,EACD,QAAS,CAACuc,EAAO9T,IAAS,CACxB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ0T,EACAX,EAAQnT,EAAK,CAAC,EACd2T,EAAUptB,GAAOwY,GAAeiB,EAAK,CAAC,EAAG,OAAO,EAAE,IAAI,EACtDoT,EAAQpT,EAAK,CAAC,EACdqT,EAAaM,EAAQ,OAAS,EAClC,MAAO,CACL,KAAM,UACN,KAAMxT,EAAO,KACb,MAAAgT,EACA,MAAAC,EACA,UAAW,GACX,WAAAC,EACA,QAAAM,EACA,UAAW,KACX,WAAY,KACZ,KAAM,MACP,CACF,EACD,YAAa5B,GACb,cAAee,EACjB,CAAC,EAID,IAAIiB,GAAgB,CAACxW,EAAK/V,IAAY,CACpC,IAAImF,EAAQnF,EAAQ,MAEhB4X,EACAhZ,EAEAmX,EAAI,OAAS,UAIf6B,EAAc7B,EAAI,IAAMzE,GAAayE,EAAI,IAAK/V,EAAQ,YAAYmF,EAAM,IAAK,GAAGnF,CAAO,EAAIsR,GAAayE,EAAI,IAAK/V,EAAQ,YAAYmF,EAAM,KAAK,EAAGnF,CAAO,EAC1JpB,EAAQ2Y,GAAexB,EAAI,KAAM,YAAY,GAE7CnX,EAAQ2Y,GAAexB,EAAK,YAAY,EAI1C,IAAIjD,EAAOxB,GAAa1S,EAAM,KAAMoB,EAAQ,gBAAgB0B,GAAQ,OAAO,CAAC,EAExE8qB,EAAYlV,GAAS,QAAQ1Y,EAAOoB,CAAO,EAG3CwO,EAqCJ,GAnCI5P,EAAM,QACR4P,EAAQc,GAAY,UAAU,CAC5B,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMwD,CACd,EAAS,CACD,KAAM,OACN,KAAM,EACd,EAAS,CACD,KAAM,OACN,KAAM0Z,CACP,EACF,EAAExsB,CAAO,EAEVwO,EAAM,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,KAAK,WAAW,IAElEA,EAAQc,GAAY,UAAU,CAC5B,aAAc,SACd,aAAcwD,EAAK,MAAQ,GAAM0Z,EAAU,OAC3C,SAAU,CAAC,CACT,KAAM,OACN,KAAMA,CACd,EAAS,CACD,KAAM,OACN,KAAM,EACd,EAAS,CACD,KAAM,OACN,KAAM1Z,CACP,EACF,EAAE9S,CAAO,EAEVwO,EAAM,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,KAAK,WAAW,GAGhEoJ,EAAa,CAQf,IAAI6U,EAAQnd,GAAY,SAAS,CAAC,OAAQ1Q,EAAM,OAAS,QAAU,QAAQ,EAAG,CAAC4P,CAAK,EAAGxO,CAAO,EAE1FpB,EAAM,OACR4P,EAAQc,GAAY,UAAU,CAC5B,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMmd,CAChB,EAAW,CACD,KAAM,OACN,KAAM,EAChB,EAAW,CACD,KAAM,OACN,KAAM7U,CACP,EACF,EAAE5X,CAAO,EAEVwO,EAAQc,GAAY,UAAU,CAC5B,aAAc,SACd,aAAcmd,EAAM,MAAQ,GAAM7U,EAAY,OAASA,EAAY,MACnE,SAAU,CAAC,CACT,KAAM,OACN,KAAMA,CAChB,EAAW,CACD,KAAM,OACN,KAAM,EAChB,EAAW,CACD,KAAM,OACN,KAAM6U,CACP,EACF,EAAEzsB,CAAO,CAEhB,CAEE,OAAOsP,GAAY,SAAS,CAAC,OAAQ1Q,EAAM,OAAS,QAAU,QAAQ,EAAG,CAAC4P,CAAK,EAAGxO,CAAO,CAC3F,EAEI0sB,GAAkB,CAAC9tB,EAAOoB,IAAY,CACxC,IAAIsY,EAAahB,GAAS,WAAW1Y,EAAM,KAAK,EAChD,OAAO,IAAI+U,GAAW,SAAS/U,EAAM,OAAS,QAAU,SAAU,CAACsV,GAAWtV,EAAM,KAAMoB,CAAO,EAAGsY,CAAU,CAAC,CACjH,EAGAvI,GAAe,CACb,KAAM,aACN,MAAO,CAAC,cAAe,cAAc,EACrC,MAAO,CACL,QAAS,CACV,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACJ,MAAO,CACL,KAAM,aACN,KAAM2I,EAAO,KACb,MAAOC,EACP,OAAQ,UAAU,KAAKA,CAAQ,EAC/B,KAAMJ,EAAK,CAAC,CACb,CACF,EAED,YAAa+T,GACb,cAAeG,EACjB,CAAC,EAED3c,GAAe,CACb,KAAM,OACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAO,UAAU,EAC5B,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACA8C,EAAO0F,EAAK,CAAC,EACbtR,EAAOqQ,GAAeiB,EAAK,CAAC,EAAG,KAAK,EAAE,IAE1C,OAAKG,EAAO,SAAS,UAAU,CAC7B,QAAS,SACT,IAAKzR,CACX,CAAK,EAIM,CACL,KAAM,OACN,KAAMyR,EAAO,KACb,KAAAzR,EACA,KAAMwJ,GAAYoC,CAAI,CACvB,EARQ6F,EAAO,qBAAqB,QAAQ,CAS9C,EACD,YAAa,CAAC/Z,EAAOoB,IAAY,CAC/B,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAS,EAAK,EAC3D,OAAOsP,GAAY,WAAW1Q,EAAM,KAAM,CAAE,EAAEmb,EAAU/Z,CAAO,CAChE,EACD,cAAe,CAACpB,EAAOoB,IAAY,CACjC,IAAI8I,EAAOyL,GAAmB3V,EAAM,KAAMoB,CAAO,EAEjD,OAAM8I,aAAgB0K,KACpB1K,EAAO,IAAI0K,GAAS,OAAQ,CAAC1K,CAAI,CAAC,GAGpCA,EAAK,aAAa,OAAQlK,EAAM,IAAI,EAC7BkK,CACX,CACA,CAAC,EACDiH,GAAe,CACb,KAAM,OACN,MAAO,CAAC,OAAO,EACf,MAAO,CACL,QAAS,EACT,SAAU,CAAC,KAAK,EAChB,cAAe,EAChB,EACD,QAAS,CAACQ,EAAOiI,IAAS,CACxB,GAAI,CACF,OAAAG,CACN,EAAQpI,EACArJ,EAAOqQ,GAAeiB,EAAK,CAAC,EAAG,KAAK,EAAE,IAE1C,GAAI,CAACG,EAAO,SAAS,UAAU,CAC7B,QAAS,QACT,IAAKzR,CACX,CAAK,EACC,OAAOyR,EAAO,qBAAqB,OAAO,EAK5C,QAFIhM,EAAQ,CAAE,EAEL7K,EAAI,EAAGA,EAAIoF,EAAK,OAAQpF,IAAK,CACpC,IAAIujB,EAAIne,EAAKpF,CAAC,EAEVujB,IAAM,MACRA,EAAI,oBAGN1Y,EAAM,KAAK,CACT,KAAM,UACN,KAAM,OACN,KAAM0Y,CACd,CAAO,CACP,CAEI,IAAIvS,EAAO,CACT,KAAM,OACN,KAAM6F,EAAO,KACb,KAAM,WACN,KAAMhM,CACP,EACD,MAAO,CACL,KAAM,OACN,KAAMgM,EAAO,KACb,KAAAzR,EACA,KAAMwJ,GAAYoC,CAAI,CACvB,CACL,CACA,CAAC,EAMD/C,GAAe,CACb,KAAM,OACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,EACjB,cAAe,GACf,UAAW,EACZ,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,OACN,KAAM2I,EAAO,KACb,KAAMjI,GAAY8H,EAAK,CAAC,CAAC,CAC1B,CACF,EAED,YAAY5Z,EAAOoB,EAAS,CAC1B,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAS,EAAK,EAC3D,OAAOsP,GAAY,aAAayK,CAAQ,CACzC,EAED,cAAcnb,EAAOoB,EAAS,CAC5B,OAAO,IAAI2T,GAAW,SAAS,OAAQK,GAAgBpV,EAAM,KAAMoB,CAAO,CAAC,CAC/E,CAEA,CAAC,EAED+P,GAAe,CACb,KAAM,OACN,MAAO,CAAC,cAAe,WAAY,cAAe,YAAY,EAC9D,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAO,UAAU,EAC5B,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,EACA,MAAArb,CACN,EAAQyS,EACAhR,EAAQuY,GAAeiB,EAAK,CAAC,EAAG,KAAK,EAAE,OACvC1F,EAAO0F,EAAK,CAAC,EAEbG,EAAO,SAAS,QAClBA,EAAO,SAAS,gBAAgB,gBAAiB,2CAA2C,EAG9F,IAAIgU,EACA3kB,EAAa,CAAE,EAEnB,OAAQ4Q,EAAQ,CACd,IAAK,cACH5Q,EAAW,MAAQhJ,EACnB2tB,EAAe,CACb,QAAS,cACT,MAAO3tB,CACR,EACD,MAEF,IAAK,WACHgJ,EAAW,GAAKhJ,EAChB2tB,EAAe,CACb,QAAS,WACT,GAAI3tB,CACL,EACD,MAEF,IAAK,cACHgJ,EAAW,MAAQhJ,EACnB2tB,EAAe,CACb,QAAS,cACT,MAAO3tB,CACR,EACD,MAEF,IAAK,aACH,CAGE,QAFIqG,EAAOrG,EAAM,MAAM,GAAG,EAEjB8C,EAAI,EAAGA,EAAIuD,EAAK,OAAQvD,IAAK,CACpC,IAAI8qB,EAASvnB,EAAKvD,CAAC,EAAE,MAAM,GAAG,EAE9B,GAAI8qB,EAAO,SAAW,EACpB,MAAM,IAAIvvB,GAAW,wCAAwC,EAG/D2K,EAAW,QAAU4kB,EAAO,CAAC,EAAE,KAAM,GAAIA,EAAO,CAAC,EAAE,KAAM,CACrE,CAEUD,EAAe,CACb,QAAS,aACT,WAAA3kB,CACD,EACD,KACV,CAEM,QACE,MAAM,IAAI,MAAM,2BAA2B,CACnD,CAEI,OAAK2Q,EAAO,SAAS,UAAUgU,CAAY,EAIpC,CACL,KAAM,OACN,KAAMhU,EAAO,KACb,WAAA3Q,EACA,KAAM0I,GAAYoC,CAAI,CACvB,EARQ6F,EAAO,qBAAqBC,CAAQ,CAS9C,EACD,YAAa,CAACha,EAAOoB,IAAY,CAC/B,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAS,EAAK,EACvDsG,EAAU,CAAC,WAAW,EAEtB1H,EAAM,WAAW,OACnB0H,EAAQ,KAAK,GAAG1H,EAAM,WAAW,MAAM,KAAM,EAAC,MAAM,KAAK,CAAC,EAG5D,IAAIgJ,EAAO0H,GAAY,SAAShJ,EAASyT,EAAU/Z,CAAO,EAE1D,QAAS4G,KAAQhI,EAAM,WACjBgI,IAAS,SAAWhI,EAAM,WAAW,eAAegI,CAAI,GAC1DgB,EAAK,aAAahB,EAAMhI,EAAM,WAAWgI,CAAI,CAAC,EAIlD,OAAOgB,CACR,EACD,cAAe,CAAChJ,EAAOoB,IACduU,GAAmB3V,EAAM,KAAMoB,CAAO,CAEjD,CAAC,EAED+P,GAAe,CACb,KAAM,aACN,MAAO,CAAC,eAAe,EACvB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,aACN,KAAM2I,EAAO,KACb,KAAMjI,GAAY8H,EAAK,CAAC,CAAC,EACzB,OAAQ9H,GAAY8H,EAAK,CAAC,CAAC,CAC5B,CACF,EACD,YAAa,CAAC5Z,EAAOoB,IAAY,CAC/B,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAS,EAAK,EAC3D,OAAOsP,GAAY,aAAayK,CAAQ,CACzC,EACD,cAAe,CAACnb,EAAOoB,IACduU,GAAmB3V,EAAM,OAAQoB,CAAO,CAEnD,CAAC,EAED,IAAI6sB,GAAW,SAAkBvuB,EAAK,CACpC,GAAI,+BAA+B,KAAKA,CAAG,EAGzC,MAAO,CACL,OAAQ,CAACA,EACT,KAAM,IACP,EAED,IAAII,EAAQ,6CAA6C,KAAKJ,CAAG,EAEjE,GAAI,CAACI,EACH,MAAM,IAAIrB,GAAW,kBAAoBiB,EAAM,wBAAwB,EAGzE,IAAI+G,EAAO,CACT,OAAQ,EAAE3G,EAAM,CAAC,EAAIA,EAAM,CAAC,GAE5B,KAAMA,EAAM,CAAC,CACd,EAED,GAAI,CAACoH,GAAUT,CAAI,EACjB,MAAM,IAAIhI,GAAW,kBAAoBgI,EAAK,KAAO,yBAAyB,EAGhF,OAAOA,CAEX,EAEA0K,GAAe,CACb,KAAM,kBACN,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CACL,QAAS,EACT,gBAAiB,EACjB,SAAU,CAAC,MAAO,KAAK,EACvB,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,EAAMQ,IAAY,CAChC,GAAI,CACF,OAAAL,CACN,EAAQ3I,EACArI,EAAQ,CACV,OAAQ,EACR,KAAM,IACP,EACGrE,EAAS,CACX,OAAQ,GACR,KAAM,IACZ,EAEQwpB,EAAc,CAChB,OAAQ,EACR,KAAM,IACP,EACGzlB,EAAM,GAEV,GAAI2R,EAAQ,CAAC,EAKX,QAJI+T,EAAexV,GAAeyB,EAAQ,CAAC,EAAG,KAAK,EAAE,OAEjDhR,EAAa+kB,EAAa,MAAM,GAAG,EAE9BjrB,EAAI,EAAGA,EAAIkG,EAAW,OAAQlG,IAAK,CAC1C,IAAI8qB,EAAS5kB,EAAWlG,CAAC,EAAE,MAAM,GAAG,EAEpC,GAAI8qB,EAAO,SAAW,EAAG,CACvB,IAAItuB,EAAMsuB,EAAO,CAAC,EAAE,KAAM,EAE1B,OAAQA,EAAO,CAAC,EAAE,KAAM,GACtB,IAAK,MACHvlB,EAAM/I,EACN,MAEF,IAAK,QACHqJ,EAAQklB,GAASvuB,CAAG,EACpB,MAEF,IAAK,SACHgF,EAASupB,GAASvuB,CAAG,EACrB,MAEF,IAAK,cACHwuB,EAAcD,GAASvuB,CAAG,EAC1B,MAEF,QACE,MAAM,IAAIjB,GAAW,iBAAmBuvB,EAAO,CAAC,EAAI,yBAAyB,CAC3F,CACA,CACA,CAGI,IAAIxlB,EAAMmQ,GAAeiB,EAAK,CAAC,EAAG,KAAK,EAAE,IASzC,OAPInR,IAAQ,KAEVA,EAAMD,EACNC,EAAMA,EAAI,QAAQ,WAAY,EAAE,EAChCA,EAAMA,EAAI,UAAU,EAAGA,EAAI,YAAY,GAAG,CAAC,GAGxCsR,EAAO,SAAS,UAAU,CAC7B,QAAS,oBACT,IAAKvR,CACX,CAAK,EAIM,CACL,KAAM,kBACN,KAAMuR,EAAO,KACb,IAAKtR,EACL,MAAOM,EACP,OAAQrE,EACR,YAAawpB,EACb,IAAK1lB,CACN,EAXQuR,EAAO,qBAAqB,mBAAmB,CAYzD,EACD,YAAa,CAAC/Z,EAAOoB,IAAY,CAC/B,IAAIsD,EAAS0C,GAAcpH,EAAM,OAAQoB,CAAO,EAC5CwH,EAAQ,EAER5I,EAAM,YAAY,OAAS,IAC7B4I,EAAQxB,GAAcpH,EAAM,YAAaoB,CAAO,EAAIsD,GAGtD,IAAIqE,EAAQ,EAER/I,EAAM,MAAM,OAAS,IACvB+I,EAAQ3B,GAAcpH,EAAM,MAAOoB,CAAO,GAG5C,IAAImF,EAAQ,CACV,OAAQiB,GAAO9C,EAASkE,CAAK,CAC9B,EAEGG,EAAQ,IACVxC,EAAM,MAAQiB,GAAOuB,CAAK,GAGxBH,EAAQ,IACVrC,EAAM,cAAgBiB,GAAO,CAACoB,CAAK,GAGrC,IAAIb,EAAO,IAAIQ,GAAIvI,EAAM,IAAKA,EAAM,IAAKuG,CAAK,EAC9C,OAAAwB,EAAK,OAASrD,EACdqD,EAAK,MAAQa,EACNb,CACR,EACD,cAAe,CAAC/H,EAAOoB,IAAY,CACjC,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,SAAU,EAAE,EAC/ChN,EAAK,aAAa,MAAO/H,EAAM,GAAG,EAClC,IAAI0E,EAAS0C,GAAcpH,EAAM,OAAQoB,CAAO,EAC5CwH,EAAQ,EASZ,GAPI5I,EAAM,YAAY,OAAS,IAC7B4I,EAAQxB,GAAcpH,EAAM,YAAaoB,CAAO,EAAIsD,EACpDqD,EAAK,aAAa,SAAUP,GAAO,CAACoB,CAAK,CAAC,GAG5Cb,EAAK,aAAa,SAAUP,GAAO9C,EAASkE,CAAK,CAAC,EAE9C5I,EAAM,MAAM,OAAS,EAAG,CAC1B,IAAI+I,EAAQ3B,GAAcpH,EAAM,MAAOoB,CAAO,EAC9C2G,EAAK,aAAa,QAASP,GAAOuB,CAAK,CAAC,CAC9C,CAEI,OAAAhB,EAAK,aAAa,MAAO/H,EAAM,GAAG,EAC3B+H,CACX,CACA,CAAC,EAIDoJ,GAAe,CACb,KAAM,OACN,MAAO,CAAC,SAAU,UAAW,UAAW,SAAS,EACjD,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,EACjB,UAAW,GACX,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACAvP,EAAO8W,GAAeiB,EAAK,CAAC,EAAG,MAAM,EAEzC,GAAIG,EAAO,SAAS,OAAQ,CAC1B,IAAIqU,EAAepU,EAAS,CAAC,IAAM,IAE/BqU,EAASxsB,EAAK,MAAM,OAAS,KAE7BusB,GACGC,GACHtU,EAAO,SAAS,gBAAgB,kBAAmB,WAAaC,EAAW,6BAA+B,OAASnY,EAAK,MAAM,KAAO,SAAS,EAG5IkY,EAAO,OAAS,QAClBA,EAAO,SAAS,gBAAgB,kBAAmB,WAAaC,EAAW,0BAA0B,GAInGqU,GACFtU,EAAO,SAAS,gBAAgB,kBAAmB,WAAaC,EAAW,2BAA2B,CAGhH,CAEI,MAAO,CACL,KAAM,OACN,KAAMD,EAAO,KACb,UAAWlY,EAAK,KACjB,CACF,EAED,YAAY7B,EAAOoB,EAAS,CAC1B,OAAOsP,GAAY,SAAS1Q,EAAM,UAAWoB,CAAO,CACrD,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAIktB,EAAYlnB,GAAcpH,EAAM,UAAWoB,CAAO,EACtD,OAAO,IAAI2T,GAAW,UAAUuZ,CAAS,CAC7C,CAEA,CAAC,EAGDnd,GAAe,CACb,KAAM,MACN,MAAO,CAAC,aAAc,aAAc,YAAY,EAChD,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA8C,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,MACN,KAAMG,EAAO,KACb,UAAWC,EAAS,MAAM,CAAC,EAC3B,KAAA9F,CACD,CACF,EACD,YAAa,CAAClU,EAAOoB,IAAY,CAE/B,IAAIoJ,EAEAxK,EAAM,YAAc,QAEtBwK,EAAQkG,GAAY,SAAS,GAAI,CAACgC,GAAa1S,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAEpEoJ,EAAQkG,GAAY,SAAS,CAAC,OAAO,EAAG,CAAClG,CAAK,EAAGpJ,CAAO,GAExDoJ,EAAQkG,GAAY,SAAS,CAAC,OAAO,EAAG,CAACgC,GAAa1S,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAG7E,IAAImtB,EAAM7d,GAAY,SAAS,CAAC,KAAK,EAAG,EAAE,EACtC3I,EAAO2I,GAAY,SAAS,CAAC1Q,EAAM,SAAS,EAAG,CAACwK,EAAO+jB,CAAG,EAAGntB,CAAO,EAMpE+S,EAAQzD,GAAY,SAAS,CAAC,OAAO,CAAC,EAC1C,OAAAyD,EAAM,MAAM,OAAS3M,GAAOO,EAAK,OAASA,EAAK,KAAK,EAEhDA,EAAK,QACPoM,EAAM,MAAM,cAAgB3M,GAAO,CAACO,EAAK,KAAK,GAGhDA,EAAK,SAAS,QAAQoM,CAAK,EAG3BpM,EAAO2I,GAAY,SAAS,CAAC,SAAS,EAAG,CAAC3I,CAAI,EAAG3G,CAAO,EACjDsP,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAG,CAAC3I,CAAI,EAAG3G,CAAO,CAC9D,EACD,cAAe,CAACpB,EAAOoB,IAAY,CAEjC,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,UAAW,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAE/E,GAAIpB,EAAM,YAAc,OAAQ,CAC9B,IAAI4nB,EAAS5nB,EAAM,YAAc,OAAS,KAAO,OACjD+H,EAAK,aAAa,SAAU6f,EAAS,OAAO,CAClD,CAEI,OAAA7f,EAAK,aAAa,QAAS,KAAK,EACzBA,CACX,CACA,CAAC,EAEDoJ,GAAe,CACb,KAAM,UACN,MAAO,CAAC,MAAO,GAAG,EAClB,MAAO,CACL,QAAS,EACT,cAAe,GACf,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,SAAAI,EACA,OAAAD,CACN,EAAQ3I,EACAod,EAAYzU,EAAO,KACvBA,EAAO,WAAW,MAAM,EACxB,IAAIxP,EAAQyP,IAAa,MAAQ,MAAQ,IACrC9F,EAAO6F,EAAO,gBAAgB,GAAOxP,CAAK,EAC9C,OAAAwP,EAAO,OAAOxP,CAAK,EACnBwP,EAAO,WAAWyU,CAAS,EACpB,CACL,KAAM,UACN,KAAMzU,EAAO,KACb,MAAO,OACP,KAAA7F,CACD,CACL,CAEA,CAAC,EAED/C,GAAe,CACb,KAAM,OAEN,MAAO,CAAC,MAAO,KAAK,EACpB,MAAO,CACL,QAAS,EACT,cAAe,GACf,cAAe,EAChB,EAED,QAAQ1P,EAASmY,EAAM,CACrB,MAAM,IAAInb,GAAW,cAAgBgD,EAAQ,QAAQ,CACzD,CAEA,CAAC,EAED,IAAIgtB,GAAkB,CAACzuB,EAAOoB,IAAY,CACxC,OAAQA,EAAQ,MAAM,KAAI,CACxB,KAAK0B,GAAQ,QAAQ,KACnB,OAAO9C,EAAM,QAEf,KAAK8C,GAAQ,KAAK,KAChB,OAAO9C,EAAM,KAEf,KAAK8C,GAAQ,OAAO,KAClB,OAAO9C,EAAM,OAEf,KAAK8C,GAAQ,aAAa,KACxB,OAAO9C,EAAM,aAEf,QACE,OAAOA,EAAM,IACnB,CACA,EAEAmR,GAAe,CACb,KAAM,aACN,MAAO,CAAC,cAAc,EACtB,MAAO,CACL,QAAS,EACT,UAAW,EACZ,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,aACN,KAAM2I,EAAO,KACb,QAASjI,GAAY8H,EAAK,CAAC,CAAC,EAC5B,KAAM9H,GAAY8H,EAAK,CAAC,CAAC,EACzB,OAAQ9H,GAAY8H,EAAK,CAAC,CAAC,EAC3B,aAAc9H,GAAY8H,EAAK,CAAC,CAAC,CAClC,CACF,EACD,YAAa,CAAC5Z,EAAOoB,IAAY,CAC/B,IAAI8S,EAAOua,GAAgBzuB,EAAOoB,CAAO,EACrC+Z,EAAW/I,GAAkB8B,EAAM9S,EAAS,EAAK,EACrD,OAAOsP,GAAY,aAAayK,CAAQ,CACzC,EACD,cAAe,CAACnb,EAAOoB,IAAY,CACjC,IAAI8S,EAAOua,GAAgBzuB,EAAOoB,CAAO,EACzC,OAAOuU,GAAmBzB,EAAM9S,CAAO,CAC3C,CACA,CAAC,EAED,IAAIstB,GAAiB,CAACjZ,EAAMkZ,EAAUC,EAAUxtB,EAASmF,EAAOsoB,EAAOC,IAAc,CACnFrZ,EAAO/E,GAAY,SAAS,GAAI,CAAC+E,CAAI,CAAC,EACtC,IAAIsZ,EAAuBH,GAAYpuB,GAAM,eAAeouB,CAAQ,EAChE3sB,EACAD,EAGJ,GAAI2sB,EAAU,CACZ,IAAIvvB,EAAOsT,GAAaic,EAAUvtB,EAAQ,YAAYmF,EAAM,KAAK,EAAGnF,CAAO,EAC3EY,EAAM,CACJ,KAAA5C,EACA,KAAM,KAAK,IAAIgC,EAAQ,YAAa,EAAC,cAAeA,EAAQ,YAAW,EAAG,cAAgBhC,EAAK,KAAK,CACrG,CACL,CAEE,GAAIwvB,EAAU,CACZ,IAAIlf,EAAQgD,GAAakc,EAAUxtB,EAAQ,YAAYmF,EAAM,KAAK,EAAGnF,CAAO,EAE5Ea,EAAM,CACJ,KAAMyN,EACN,KAAM,KAAK,IAAItO,EAAQ,YAAa,EAAC,cAAeA,EAAQ,YAAW,EAAG,cAAgBsO,EAAM,MAAM,CACvG,CACF,CAID,IAAIsf,EAEJ,GAAIhtB,GAAOC,EAAK,CACd,IAAIgN,EAAS7N,EAAQ,YAAa,EAAC,cAAgBa,EAAI,KAAK,OAASA,EAAI,KAAK,MAAQA,EAAI,KAAOwT,EAAK,MAAQqZ,EAC9GE,EAAate,GAAY,UAAU,CACjC,aAAc,SACd,aAAczB,EACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM7N,EAAQ,cAAc,aACpC,EAAS,CACD,KAAM,OACN,KAAMa,EAAI,KACV,WAAYuF,GAAO,CAACqnB,CAAK,CACjC,EAAS,CACD,KAAM,OACN,KAAM5sB,EAAI,IAClB,EAAS,CACD,KAAM,OACN,KAAMwT,CACd,EAAS,CACD,KAAM,OACN,KAAMzT,EAAI,IAClB,EAAS,CACD,KAAM,OACN,KAAMA,EAAI,KACV,WAAYwF,GAAOqnB,CAAK,CAChC,EAAS,CACD,KAAM,OACN,KAAMztB,EAAQ,cAAc,aAC7B,EACF,EAAEA,CAAO,CACX,SAAUa,EAAK,CACd,IAAI8d,EAAMtK,EAAK,OAASqZ,EAKxBE,EAAate,GAAY,UAAU,CACjC,aAAc,MACd,aAAcqP,EACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM3e,EAAQ,cAAc,aACpC,EAAS,CACD,KAAM,OACN,KAAMa,EAAI,KACV,WAAYuF,GAAO,CAACqnB,CAAK,CACjC,EAAS,CACD,KAAM,OACN,KAAM5sB,EAAI,IAClB,EAAS,CACD,KAAM,OACN,KAAMwT,CACP,EACF,EAAErU,CAAO,CACX,SAAUY,EAAK,CACd,IAAIitB,EAAUxZ,EAAK,MAAQqZ,EAE3BE,EAAate,GAAY,UAAU,CACjC,aAAc,SACd,aAAcue,EACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMxZ,CACd,EAAS,CACD,KAAM,OACN,KAAMzT,EAAI,IAClB,EAAS,CACD,KAAM,OACN,KAAMA,EAAI,KACV,WAAYwF,GAAOqnB,CAAK,CAChC,EAAS,CACD,KAAM,OACN,KAAMztB,EAAQ,cAAc,aAC7B,EACF,EAAEA,CAAO,CACd,KAII,QAAOqU,EAGT,IAAIpI,EAAQ,CAAC2hB,CAAU,EAEvB,GAAI/sB,GAAO4sB,IAAU,GAAK,CAACE,EAAsB,CAG/C,IAAIG,EAASxe,GAAY,SAAS,CAAC,QAAQ,EAAG,CAAE,EAAEtP,CAAO,EACzD8tB,EAAO,MAAM,YAAc1nB,GAAOqnB,CAAK,EACvCxhB,EAAM,QAAQ6hB,CAAM,CACxB,CAEE,OAAOxe,GAAY,SAAS,CAAC,MAAO,WAAW,EAAGrD,EAAOjM,CAAO,CAClE,EAII+tB,GAAc,CAAC,YAAY,EAG3BC,GAAgB,CAACjY,EAAK/V,IAAY,CAEpC,IAAIutB,EACAC,EACAS,EAAY,GACZrvB,EAEAmX,EAAI,OAAS,UAIfwX,EAAWxX,EAAI,IACfyX,EAAWzX,EAAI,IACfnX,EAAQ2Y,GAAexB,EAAI,KAAM,IAAI,EACrCkY,EAAY,IAEZrvB,EAAQ2Y,GAAexB,EAAK,IAAI,EAGlC,IAAI5Q,EAAQnF,EAAQ,MAChBkuB,EAAQ,GAER/oB,EAAM,OAASzD,GAAQ,QAAQ,MAAQ9C,EAAM,QAAU,CAACQ,GAAM,SAAS2uB,GAAanvB,EAAM,IAAI,IAEhGsvB,EAAQ,IAGV,IAAI7Z,EAEJ,GAAIzV,EAAM,OAAQ,CAEhB,IAAIyF,EAAW6pB,EAAQ,gBAAkB,gBACrCC,EAAQ,GAWZ,IATIvvB,EAAM,OAAS,WAAaA,EAAM,OAAS,cAG7CuvB,EAAQvvB,EAAM,KAAK,MAAM,CAAC,EAC1BA,EAAM,KAAOuvB,IAAU,QAAU,SAAW,WAG9C9Z,EAAO/E,GAAY,WAAW1Q,EAAM,KAAMyF,EAAU,OAAQrE,EAAS,CAAC,MAAO,YAAakuB,EAAQ,WAAa,UAAU,CAAC,EAEtHC,EAAM,OAAS,EAAG,CAGpB,IAAI1mB,EAAS4M,EAAK,OACd+Z,EAAO9e,GAAY,UAAU6e,EAAQ,QAAUD,EAAQ,IAAM,KAAMluB,CAAO,EAC9EqU,EAAO/E,GAAY,UAAU,CAC3B,aAAc,kBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM+E,EACN,MAAO,CACjB,EAAW,CACD,KAAM,OACN,KAAM+Z,EACN,MAAOF,EAAQ,IAAO,CACvB,EACF,EAAEluB,CAAO,EACVpB,EAAM,KAAO,KAAOuvB,EACpB9Z,EAAK,QAAQ,QAAQ,KAAK,EAE1BA,EAAK,OAAS5M,CACpB,CACA,SAAa7I,EAAM,KAAM,CAErB,IAAIwK,EAAQ4H,GAAkBpS,EAAM,KAAMoB,EAAS,EAAI,EAEnDoJ,EAAM,SAAW,GAAKA,EAAM,CAAC,YAAa7B,IAC5C8M,EAAOjL,EAAM,CAAC,EACdiL,EAAK,QAAQ,CAAC,EAAI,OAElBA,EAAO/E,GAAY,SAAS,CAAC,KAAK,EAAGlG,EAAOpJ,CAAO,CAEzD,KAAS,CAKL,QAFIqR,EAAS,CAAE,EAENvP,EAAI,EAAGA,EAAIlD,EAAM,KAAK,OAAQkD,IACrCuP,EAAO,KAAK/B,GAAY,QAAQ1Q,EAAM,KAAKkD,CAAC,EAAGlD,EAAM,KAAMoB,CAAO,CAAC,EAGrEqU,EAAO/E,GAAY,SAAS,CAAC,KAAK,EAAG+B,EAAQrR,CAAO,CACrD,CAGD,IAAI0tB,EAAY,EACZD,EAAQ,EAeZ,OAbKpZ,aAAgB9M,IAAc3I,EAAM,OAAS,WAAaA,EAAM,OAAS,aAAe,CAACA,EAAM,oBAOlG8uB,GAAarZ,EAAK,OAASA,EAAK,OAAS,EAAIrU,EAAQ,YAAa,EAAC,WAGnEytB,EAAQpZ,EAAK,QAGX4Z,EACKX,GAAejZ,EAAMkZ,EAAUC,EAAUxtB,EAASmF,EAAOsoB,EAAOC,CAAS,GAE5EA,IACFrZ,EAAK,MAAM,SAAW,WACtBA,EAAK,MAAM,IAAMjO,GAAOsnB,CAAS,GAG5BrZ,EAEX,EAEIga,GAAkB,CAACzvB,EAAOoB,IAAY,CACxC,IAAI2G,EAEJ,GAAI/H,EAAM,OAER+H,EAAO,IAAI6M,GAAS,KAAM,CAACI,GAAShV,EAAM,KAAMA,EAAM,IAAI,CAAC,CAAC,EAExDQ,GAAM,SAAS2uB,GAAanvB,EAAM,IAAI,GACxC+H,EAAK,aAAa,UAAW,OAAO,UAE7B/H,EAAM,KAEf+H,EAAO,IAAI6M,GAAS,KAAMQ,GAAgBpV,EAAM,KAAMoB,CAAO,CAAC,MACzD,CAGL2G,EAAO,IAAI6M,GAAS,KAAM,CAAC,IAAIC,GAAS7U,EAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAG7D,IAAI0vB,EAAW,IAAI9a,GAAS,KAAM,CAACI,GAAS,IAAU,MAAM,CAAC,CAAC,EAE1DhV,EAAM,eACR+H,EAAO,IAAI6M,GAAS,OAAQ,CAAC7M,EAAM2nB,CAAQ,CAAC,EAE5C3nB,EAAO4M,GAAoB,CAAC5M,EAAM2nB,CAAQ,CAAC,CAEjD,CAEE,OAAO3nB,CACT,EAEI4nB,GAAmB,CACrB,IAAU,SACV,IAAU,WACV,IAAU,QACV,IAAU,aACV,IAAU,WACV,IAAU,WACV,IAAU,WACV,IAAU,YACV,IAAU,aACV,IAAU,cACV,IAAU,aACV,IAAU,YACZ,EACAxe,GAAe,CACb,KAAM,KACN,MAAO,CAAC,WAAY,WAAY,aAAc,aAAc,WAAY,WAAY,UAAW,SAAU,QAAS,cAAe,aAAc,YAAa,aAAc,aAAc,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,GAAQ,EAC9S,MAAO,CACL,QAAS,CACV,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACAwe,EAAQ5V,EAEZ,OAAI4V,EAAM,SAAW,IACnBA,EAAQD,GAAiBC,CAAK,GAGzB,CACL,KAAM,KACN,KAAM7V,EAAO,KACb,OAAQ,GACR,eAAgB,GAChB,OAAQ,GACR,KAAM6V,CACP,CACF,EACD,YAAaR,GACb,cAAeK,EACjB,CAAC,EAGDte,GAAe,CACb,KAAM,KACN,MAAO,CAAC,UAAU,EAClB,MAAO,CACL,QAAS,EACT,UAAW,EACZ,EACD,QAAS,CAACQ,EAAOiI,IAAS,CACxB,GAAI,CACF,OAAAG,CACN,EAAQpI,EACAuC,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,KACN,KAAMG,EAAO,KACb,OAAQ,GACR,eAAgB,GAChB,OAAQ,GACR,KAAMjI,GAAYoC,CAAI,CACvB,CACF,EACD,YAAakb,GACb,cAAeK,EACjB,CAAC,EAID,IAAII,GAAsB,CACxB,IAAU,QACV,IAAU,SACV,IAAU,UACV,IAAU,SACV,IAAU,UACV,IAAU,UACZ,EAEA1e,GAAe,CACb,KAAM,KACN,MAAO,CAAC,WAAY,WAAY,WAAY,UAAW,WAAY,QAAS,OAAQ,QAAS,UAAW,SAAU,QAAS,SAAU,SAAU,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,QAAS,SAAU,OAAQ,QAAS,SAAU,OAAQ,MAAM,EACrT,MAAO,CACL,QAAS,CACV,EAED,QAAQoK,EAAO,CACb,GAAI,CACF,OAAAxB,EACA,SAAAC,CACN,EAAQuB,EACJ,MAAO,CACL,KAAM,KACN,KAAMxB,EAAO,KACb,OAAQ,GACR,eAAgB,GAChB,OAAQ,GACR,KAAMC,CACP,CACF,EAED,YAAaoV,GACb,cAAeK,EACjB,CAAC,EAEDte,GAAe,CACb,KAAM,KACN,MAAO,CAAC,QAAS,QAAS,QAAS,QAAS,QAAS,QAAS,OAAQ,OAAO,EAC7E,MAAO,CACL,QAAS,CACV,EAED,QAAQoN,EAAO,CACb,GAAI,CACF,OAAAxE,EACA,SAAAC,CACN,EAAQuE,EACJ,MAAO,CACL,KAAM,KACN,KAAMxE,EAAO,KACb,OAAQ,GACR,eAAgB,GAChB,OAAQ,GACR,KAAMC,CACP,CACF,EAED,YAAaoV,GACb,cAAeK,EACjB,CAAC,EAEDte,GAAe,CACb,KAAM,KACN,MAAO,CAAC,QAAS,SAAU,UAAW,SAAU,UAAW,WAAY,IAAU,IAAU,IAAU,IAAU,IAAU,GAAQ,EACjI,MAAO,CACL,QAAS,CACV,EAED,QAAQwT,EAAO,CACb,GAAI,CACF,OAAA5K,EACA,SAAAC,CACN,EAAQ2K,EACAiL,EAAQ5V,EAEZ,OAAI4V,EAAM,SAAW,IACnBA,EAAQC,GAAoBD,CAAK,GAG5B,CACL,KAAM,KACN,KAAM7V,EAAO,KACb,OAAQ,GACR,eAAgB,GAChB,OAAQ,GACR,KAAM6V,CACP,CACF,EAED,YAAaR,GACb,cAAeK,EACjB,CAAC,EAKD,IAAIK,GAAgB,CAAC3Y,EAAK/V,IAAY,CAEpC,IAAIutB,EACAC,EACAS,EAAY,GACZrvB,EAEAmX,EAAI,OAAS,UAIfwX,EAAWxX,EAAI,IACfyX,EAAWzX,EAAI,IACfnX,EAAQ2Y,GAAexB,EAAI,KAAM,cAAc,EAC/CkY,EAAY,IAEZrvB,EAAQ2Y,GAAexB,EAAK,cAAc,EAG5C,IAAI1B,EAEJ,GAAIzV,EAAM,KAAK,OAAS,EAAG,CAkBzB,QAjBIkU,EAAOlU,EAAM,KAAK,IAAIoF,GAAS,CAEjC,IAAI2qB,EAAY3qB,EAAM,KAEtB,OAAI,OAAO2qB,GAAc,SAChB,CACL,KAAM,UACN,KAAM3qB,EAAM,KACZ,KAAM2qB,CACP,EAEM3qB,CAEf,CAAK,EAEGiN,EAAaD,GAAkB8B,EAAM9S,EAAQ,SAAS,QAAQ,EAAG,EAAI,EAEhE8B,EAAI,EAAGA,EAAImP,EAAW,OAAQnP,IAAK,CAC1C,IAAIkC,EAAQiN,EAAWnP,CAAC,EAEpBkC,aAAiBuD,KAGnBvD,EAAM,KAAOA,EAAM,KAAK,QAAQ,SAAU,GAAG,EAAE,QAAQ,SAAU,GAAG,EAE5E,CAEIqQ,EAAO/E,GAAY,SAAS,CAAC,KAAK,EAAG2B,EAAYjR,CAAO,CAC5D,MACIqU,EAAO/E,GAAY,SAAS,CAAC,KAAK,EAAG,CAAE,EAAEtP,CAAO,EAGlD,OAAIiuB,EACKX,GAAejZ,EAAMkZ,EAAUC,EAAUxtB,EAASA,EAAQ,MAAO,EAAG,CAAC,EAErEqU,CAEX,EAEIhE,GAAgB,CAACzR,EAAOoB,IAAY,CAMtC,QAJIiR,EAAa+C,GAAgBpV,EAAM,KAAMoB,EAAQ,SAAS,QAAQ,CAAC,EAEnE4uB,EAAc,GAET,EAAI,EAAG,EAAI3d,EAAW,OAAQ,IAAK,CAC1C,IAAItK,EAAOsK,EAAW,CAAC,EAEvB,GAAI,EAAAtK,aAAgBgN,GAAW,WAAkB,GAAIhN,aAAgBgN,GAAW,SAC9E,OAAQhN,EAAK,KAAI,CACf,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,SACL,IAAK,QACH,MAGF,IAAK,KACH,CACE,IAAI3C,EAAQ2C,EAAK,SAAS,CAAC,EAEvBA,EAAK,SAAS,SAAW,GAAK3C,aAAiB2P,GAAW,SAC5D3P,EAAM,KAAOA,EAAM,KAAK,QAAQ,SAAU,GAAG,EAAE,QAAQ,SAAU,GAAG,EAEpE4qB,EAAc,GAGhB,KACZ,CAEQ,QACEA,EAAc,EACxB,MAEMA,EAAc,EAEpB,CAEE,GAAIA,EAAa,CAEf,IAAIC,EAAO5d,EAAW,IAAItK,GAAQA,EAAK,OAAQ,GAAE,KAAK,EAAE,EACxDsK,EAAa,CAAC,IAAI0C,GAAW,SAASkb,CAAI,CAAC,CAC/C,CAEE,IAAIC,EAAa,IAAInb,GAAW,SAAS,KAAM1C,CAAU,EACzD6d,EAAW,aAAa,cAAe,QAAQ,EAG/C,IAAIR,EAAW,IAAI3a,GAAW,SAAS,KAAM,CAACC,GAAS,IAAU,MAAM,CAAC,CAAC,EAEzE,OAAIhV,EAAM,eACD,IAAI+U,GAAW,SAAS,OAAQ,CAACmb,EAAYR,CAAQ,CAAC,EAEtD3a,GAAW,oBAAoB,CAACmb,EAAYR,CAAQ,CAAC,CAEhE,EAIAve,GAAe,CACb,KAAM,eACN,MAAO,CAAC,kBAAmB,0BAA0B,EACrD,MAAO,CACL,QAAS,CACV,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA8C,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,eACN,KAAMG,EAAO,KACb,KAAMjI,GAAYoC,CAAI,EACtB,mBAAoB8F,IAAa,2BACjC,OAAQ,GACR,eAAgB,EACjB,CACF,EACD,YAAa8V,GACb,cAAAre,EACF,CAAC,EACDsT,GAAY,iBAAkB,kDAAkD,EAEhFrT,GAAuB,CACrB,KAAM,WAEN,YAAY1R,EAAOoB,EAAS,CAC1B,OAAIpB,EAAM,WACD0Q,GAAY,aAAa0B,GAAkBpS,EAAM,KAAMoB,EAAS,EAAK,CAAC,EAGxEsP,GAAY,SAAS,CAAC,MAAM,EAAG0B,GAAkBpS,EAAM,KAAMoB,EAAS,EAAI,EAAGA,CAAO,CAC5F,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,OAAOuU,GAAmB3V,EAAM,KAAMoB,EAAS,EAAI,CACvD,CAEA,CAAC,EAED+P,GAAe,CACb,KAAM,WACN,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,QAAS,CACV,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACA8C,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,WACN,KAAMG,EAAO,KACb,KAAA7F,CACD,CACF,EAED,YAAYlU,EAAOoB,EAAS,CAG1B,IAAI6Y,EAAavH,GAAa1S,EAAM,KAAMoB,EAAQ,mBAAkB,CAAE,EAElEkN,EAAOoC,GAAY,aAAa,gBAAiBtP,CAAO,EAExD+uB,EAAuB/uB,EAAQ,YAAW,EAAG,qBAC7CwO,EAAQc,GAAY,UAAU,CAChC,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMuJ,CACd,EAAS,CACD,KAAM,OACN,KAAM,EAAIkW,CAClB,EAAS,CACD,KAAM,OACN,KAAM7hB,CACd,EAAS,CACD,KAAM,OACN,KAAM6hB,CACP,EACF,EAAE/uB,CAAO,EACV,OAAOsP,GAAY,SAAS,CAAC,OAAQ,UAAU,EAAG,CAACd,CAAK,EAAGxO,CAAO,CACnE,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAIsuB,EAAW,IAAI3a,GAAW,SAAS,KAAM,CAAC,IAAIA,GAAW,SAAS,GAAQ,CAAC,CAAC,EAChF2a,EAAS,aAAa,WAAY,MAAM,EACxC,IAAI3nB,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,EAAGsuB,CAAQ,CAAC,EACvF,OAAA3nB,EAAK,aAAa,SAAU,MAAM,EAC3BA,CACX,CAEA,CAAC,EAEDoJ,GAAe,CACb,KAAM,UACN,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,IAAS,CACvB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACA8C,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,UACN,KAAMG,EAAO,KACb,KAAMjI,GAAYoC,CAAI,CACvB,CACF,EACD,YAAa,CAAClU,EAAOoB,IAAY,CAC/B,IAAI+Z,EAAW/I,GAAkBpS,EAAM,KAAMoB,EAAQ,YAAW,EAAI,EAAK,EAGzE,OAAOsP,GAAY,aAAayK,CAAQ,CACzC,EACD,cAAe,CAACnb,EAAOoB,IAAY,CACjC,IAAIoJ,EAAQ4K,GAAgBpV,EAAM,KAAMoB,CAAO,EAC/C,OAAO,IAAI2T,GAAW,SAAS,WAAYvK,CAAK,CACpD,CACA,CAAC,EACD2G,GAAe,CACb,KAAM,WACN,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACQ,EAAOiI,IAAS,CACxB,GAAI,CACF,OAAAG,CACN,EAAQpI,EACAuC,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,WACN,KAAMG,EAAO,KACb,KAAA7F,CACD,CACF,EACD,YAAa,CAAClU,EAAOoB,IAAY,CAC/B,IAAI2G,EAAO2I,GAAY,SAAS,CAAE,EAAE,CAACgC,GAAa1S,EAAM,KAAMoB,EAAQ,YAAW,CAAE,CAAC,CAAC,EAIrF,GAHA2G,EAAK,OAAS,EACdA,EAAK,MAAQ,EAETA,EAAK,SACP,QAAS7E,EAAI,EAAGA,EAAI6E,EAAK,SAAS,OAAQ7E,IACxC6E,EAAK,SAAS7E,CAAC,EAAE,OAAS,EAC1B6E,EAAK,SAAS7E,CAAC,EAAE,MAAQ,EAK7B,OAAA6E,EAAO2I,GAAY,UAAU,CAC3B,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM3I,CACP,EACF,EAAE3G,CAAO,EAEHsP,GAAY,SAAS,CAAC,MAAM,EAAG,CAAC3I,CAAI,EAAG3G,CAAO,CACtD,EACD,cAAe,CAACpB,EAAOoB,IAAY,CACjC,IAAIoJ,EAAQ4K,GAAgBtD,GAAY9R,EAAM,IAAI,EAAGoB,CAAO,EACxDgvB,EAAU,IAAIrb,GAAW,SAAS,WAAYvK,CAAK,EACnDzC,EAAO,IAAIgN,GAAW,SAAS,UAAW,CAACqb,CAAO,CAAC,EACvD,OAAAroB,EAAK,aAAa,SAAU,KAAK,EACjCA,EAAK,aAAa,QAAS,KAAK,EACzBA,CACX,CACA,CAAC,EACDoJ,GAAe,CACb,KAAM,WACN,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACoK,EAAO3B,IAAS,CACxB,GAAI,CACF,OAAAG,CACN,EAAQwB,EACArH,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,WACN,KAAMG,EAAO,KACb,KAAA7F,CACD,CACF,EACD,YAAa,CAAClU,EAAOoB,IAAY,CAC/B,IAAIoJ,EAAQkG,GAAY,SAAS,CAAC,OAAO,EAAG,CAACgC,GAAa1S,EAAM,KAAMoB,EAAQ,YAAW,CAAE,CAAC,CAAC,EACzFmtB,EAAM7d,GAAY,SAAS,CAAC,KAAK,EAAG,EAAE,EAC1C,OAAOA,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAG,CAAClG,EAAO+jB,CAAG,EAAGntB,CAAO,CACpE,EACD,cAAe,CAACpB,EAAOoB,IAAY,CACjC,IAAIoJ,EAAQ4K,GAAgBtD,GAAY9R,EAAM,IAAI,EAAGoB,CAAO,EACxDgvB,EAAU,IAAIrb,GAAW,SAAS,WAAYvK,CAAK,EACnDzC,EAAO,IAAIgN,GAAW,SAAS,UAAW,CAACqb,CAAO,CAAC,EACvD,OAAAroB,EAAK,aAAa,QAAS,KAAK,EACzBA,CACX,CACA,CAAC,EAEDoJ,GAAe,CACb,KAAM,WACN,MAAO,CAAC,YAAY,EACpB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,OAAQ,MAAM,EACzB,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACAif,EAAS1X,GAAeiB,EAAK,CAAC,EAAG,MAAM,EAAE,MACzC1F,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,WACN,KAAMG,EAAO,KACb,GAAIsW,EACJ,KAAAnc,CACD,CACF,EAED,YAAYlU,EAAOoB,EAAS,CAC1B,IAAI8S,EAAOxB,GAAa1S,EAAM,KAAMoB,CAAO,EACvCkvB,EAAKlpB,GAAcpH,EAAM,GAAIoB,CAAO,EACxC,OAAOsP,GAAY,UAAU,CAC3B,aAAc,QACd,aAAc,CAAC4f,EACf,SAAU,CAAC,CACT,KAAM,OACN,KAAMpc,CACP,EACF,EAAE9S,CAAO,CACX,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,UAAW,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAC3EkvB,EAAKtwB,EAAM,GAAG,OAASA,EAAM,GAAG,KACpC,OAAA+H,EAAK,aAAa,UAAWuoB,CAAE,EACxBvoB,CACX,CAEA,CAAC,EAEDoJ,GAAe,CACb,KAAM,WACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,EACT,cAAe,GACf,kBAAmB,EACpB,EAED,QAAQC,EAAM,CACZ,GAAI,CACF,OAAA2I,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,WACN,KAAM2I,EAAO,IACd,CACL,CAEA,CAAC,EAED5I,GAAe,CACb,KAAM,OACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,gBAAiB,EACjB,cAAe,GACf,cAAe,GACf,SAAU,CAAC,OAAQ,OAAQ,MAAM,CAClC,EAED,QAAQC,EAAMwI,EAAMQ,EAAS,CAC3B,GAAI,CACF,OAAAL,CACN,EAAQ3I,EACA4N,EAAQ5E,EAAQ,CAAC,EACjBrR,EAAQ4P,GAAeiB,EAAK,CAAC,EAAG,MAAM,EACtClV,EAASiU,GAAeiB,EAAK,CAAC,EAAG,MAAM,EAC3C,MAAO,CACL,KAAM,OACN,KAAMG,EAAO,KACb,MAAOiF,GAASrG,GAAeqG,EAAO,MAAM,EAAE,MAC9C,MAAOjW,EAAM,MACb,OAAQrE,EAAO,KAChB,CACF,EAED,YAAY1E,EAAOoB,EAAS,CAE1B,IAAIgP,EAAOM,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAG,GAAItP,CAAO,EAEzD2H,EAAQ3B,GAAcpH,EAAM,MAAOoB,CAAO,EAC1CsD,EAAS0C,GAAcpH,EAAM,OAAQoB,CAAO,EAC5C4d,EAAQhf,EAAM,MAAQoH,GAAcpH,EAAM,MAAOoB,CAAO,EAAI,EAEhE,OAAAgP,EAAK,MAAM,iBAAmB5I,GAAOuB,CAAK,EAC1CqH,EAAK,MAAM,eAAiB5I,GAAO9C,CAAM,EACzC0L,EAAK,MAAM,OAAS5I,GAAOwX,CAAK,EAEhC5O,EAAK,MAAQrH,EACbqH,EAAK,OAAS1L,EAASsa,EACvB5O,EAAK,MAAQ,CAAC4O,EAId5O,EAAK,YAAc1L,EAAS,MAAQtD,EAAQ,eACrCgP,CACR,EAED,cAAcpQ,EAAOoB,EAAS,CAC5B,IAAI2H,EAAQ3B,GAAcpH,EAAM,MAAOoB,CAAO,EAC1CsD,EAAS0C,GAAcpH,EAAM,OAAQoB,CAAO,EAC5C4d,EAAQhf,EAAM,MAAQoH,GAAcpH,EAAM,MAAOoB,CAAO,EAAI,EAC5DV,EAAQU,EAAQ,OAASA,EAAQ,SAAU,GAAI,QAC/CgP,EAAO,IAAI2E,GAAW,SAAS,QAAQ,EAC3C3E,EAAK,aAAa,iBAAkB1P,CAAK,EACzC0P,EAAK,aAAa,QAAS5I,GAAOuB,CAAK,CAAC,EACxCqH,EAAK,aAAa,SAAU5I,GAAO9C,CAAM,CAAC,EAC1C,IAAIsR,EAAU,IAAIjB,GAAW,SAAS,UAAW,CAAC3E,CAAI,CAAC,EAEvD,OAAI4O,GAAS,EACXhJ,EAAQ,aAAa,SAAUxO,GAAOwX,CAAK,CAAC,GAE5ChJ,EAAQ,aAAa,SAAUxO,GAAOwX,CAAK,CAAC,EAC5ChJ,EAAQ,aAAa,QAASxO,GAAO,CAACwX,CAAK,CAAC,GAG9ChJ,EAAQ,aAAa,UAAWxO,GAAOwX,CAAK,CAAC,EACtChJ,CACX,CAEA,CAAC,EAED,SAASua,GAAYnwB,EAAOgB,EAAS0S,EAAa,CAKhD,QAJItJ,EAAQ4H,GAAkBhS,EAAOgB,EAAS,EAAK,EAC/C4S,EAAa5S,EAAQ,eAAiB0S,EAAY,eAG7C5Q,EAAI,EAAGA,EAAIsH,EAAM,OAAQtH,IAAK,CACrC,IAAIstB,EAAMhmB,EAAMtH,CAAC,EAAE,QAAQ,QAAQ,QAAQ,EAEvCstB,EAAM,EACR,MAAM,UAAU,KAAK,MAAMhmB,EAAMtH,CAAC,EAAE,QAAS9B,EAAQ,cAAc0S,CAAW,CAAC,EACtEtJ,EAAMtH,CAAC,EAAE,QAAQstB,EAAM,CAAC,IAAM,aAAepvB,EAAQ,OAI9DoJ,EAAMtH,CAAC,EAAE,QAAQstB,EAAM,CAAC,EAAI,aAAe1c,EAAY,MAGzDtJ,EAAMtH,CAAC,EAAE,QAAU8Q,EACnBxJ,EAAMtH,CAAC,EAAE,OAAS8Q,CACtB,CAEE,OAAOtD,GAAY,aAAalG,CAAK,CACvC,CACA,IAAIimB,GAAY,CAAC,SAAU,cAAe,eAAgB,iBAAkB,UAAW,eAAgB,UAAW,UAAW,UAAW,SAAU,QAAQ,EACtJjf,GAAc,CAACxR,EAAOoB,IAAY,CAIpC,IAAIiZ,EAAajZ,EAAQ,WAAWpB,EAAM,IAAI,EAC9C,OAAOuwB,GAAYvwB,EAAM,KAAMqa,EAAYjZ,CAAO,CACpD,EACA+P,GAAe,CACb,KAAM,SACN,MAAOsf,GACP,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EACD,QAAS,CAACrf,EAAMwI,IAAS,CACvB,GAAI,CACF,iBAAA8D,EACA,SAAA1D,EACA,OAAAD,CACN,EAAQ3I,EACA8C,EAAO6F,EAAO,gBAAgB,GAAO2D,CAAgB,EACzD,MAAO,CACL,KAAM,SACN,KAAM3D,EAAO,KAEb,KAAM0W,GAAU,QAAQzW,CAAQ,EAAI,EACpC,KAAA9F,CACD,CACF,EACD,YAAA1C,GACA,cAAe,CAACxR,EAAOoB,IAAY,CACjC,IAAIiZ,EAAajZ,EAAQ,WAAWpB,EAAM,IAAI,EAC1CwK,EAAQ4K,GAAgBpV,EAAM,KAAMqa,CAAU,EAC9CtS,EAAO,IAAIgN,GAAW,SAAS,SAAUvK,CAAK,EAMlD,OAAAzC,EAAK,aAAa,WAAYP,GAAO6S,EAAW,cAAc,CAAC,EACxDtS,CACX,CACA,CAAC,EAGDoJ,GAAe,CACb,KAAM,QACN,MAAO,CAAC,SAAS,EACjB,MAAO,CACL,QAAS,EACT,gBAAiB,EACjB,cAAe,EAChB,EACD,QAAS,CAACC,EAAMwI,EAAMQ,IAAY,CAChC,GAAI,CACF,OAAAL,CACN,EAAQ3I,EACAsf,EAAc,GACdC,EAAa,GACbC,EAAQxW,EAAQ,CAAC,GAAKzB,GAAeyB,EAAQ,CAAC,EAAG,UAAU,EAE/D,GAAIwW,EAMF,QAFIC,EAAS,GAEJ3tB,EAAI,EAAGA,EAAI0tB,EAAM,KAAK,OAAQ,EAAE1tB,EAAG,CAC1C,IAAI6E,EAAO6oB,EAAM,KAAK1tB,CAAC,EAIvB,GAFA2tB,EAAS9oB,EAAK,KAEV8oB,IAAW,IACbH,EAAc,WACLG,IAAW,IACpBF,EAAa,OACR,CACLD,EAAc,GACdC,EAAa,GACb,KACV,CACA,MAEMD,EAAc,GACdC,EAAa,GAGf,IAAIzc,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,QACN,KAAMG,EAAO,KACb,KAAA7F,EACA,YAAAwc,EACA,WAAAC,CACD,CACF,EACD,YAAa,CAAC3wB,EAAOoB,IAAY,CAC/B,IAAI2G,EAAO2I,GAAY,SAAS,CAAE,EAAE,CAACgC,GAAa1S,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAEvE,GAAI,CAACpB,EAAM,aAAe,CAACA,EAAM,WAC/B,OAAO+H,EAGT,GAAI/H,EAAM,cACR+H,EAAK,OAAS,EAEVA,EAAK,UACP,QAAS7E,EAAI,EAAGA,EAAI6E,EAAK,SAAS,OAAQ7E,IACxC6E,EAAK,SAAS7E,CAAC,EAAE,OAAS,EAKhC,GAAIlD,EAAM,aACR+H,EAAK,MAAQ,EAETA,EAAK,UACP,QAAS3E,EAAK,EAAGA,EAAK2E,EAAK,SAAS,OAAQ3E,IAC1C2E,EAAK,SAAS3E,CAAE,EAAE,MAAQ,EAShC,IAAI0tB,EAAcpgB,GAAY,UAAU,CACtC,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAM3I,CACP,EACF,EAAE3G,CAAO,EAEV,OAAOsP,GAAY,SAAS,CAAC,MAAM,EAAG,CAACogB,CAAW,EAAG1vB,CAAO,CAC7D,EACD,cAAe,CAACpB,EAAOoB,IAAY,CACjC,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,UAAW,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAE/E,OAAIpB,EAAM,aACR+H,EAAK,aAAa,SAAU,KAAK,EAG/B/H,EAAM,YACR+H,EAAK,aAAa,QAAS,KAAK,EAG3BA,CACX,CACA,CAAC,EAEDoJ,GAAe,CACb,KAAM,OACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,gBAAiB,CAClB,EAED,QAAQC,EAAMwI,EAAMQ,EAAS,CAC3B,GAAI,CACF,OAAAL,CACN,EAAQ3I,EACAqC,EAAQ2G,EAAQ,CAAC,EACjBlG,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,OACN,KAAMG,EAAO,KACb,KAAA7F,EACA,MAAAT,CACD,CACF,EAED,YAAYzT,EAAOoB,EAAS,CAI1B,IAAIoJ,EAAQkI,GAAa1S,EAAM,KAAMoB,EAAQ,oBAAoB,EAE7DoJ,EAAM,SAAW,IAEnBA,EAAM,OAASpJ,EAAQ,YAAa,EAAC,SAKvCoJ,EAAQkG,GAAY,aAAalG,EAAOpJ,CAAO,EAE/C,IAAIsE,EAAUtE,EAAQ,YAAa,EAC/B2vB,EAAQrrB,EAAQ,qBAChBsrB,EAAMD,EAEN3vB,EAAQ,MAAM,GAAK0B,GAAQ,KAAK,KAClCkuB,EAAM5vB,EAAQ,YAAW,EAAG,SAI9B,IAAI6vB,EAAgBF,EAAQC,EAAM,EAC9BE,EAAqB1mB,EAAM,OAASA,EAAM,MAAQymB,EAAgBF,EAElE,CACF,KAAMxY,EACN,UAAA2T,EACA,aAAAnK,CACD,EAAGiB,GAAU,UAAUkO,EAAoB9vB,CAAO,EAC/C+vB,EAAa5Y,EAAI,OAAS2T,EAE1BiF,EAAa3mB,EAAM,OAASA,EAAM,MAAQymB,IAC5CA,GAAiBA,EAAgBE,EAAa3mB,EAAM,OAASA,EAAM,OAAS,GAI9E,IAAIyZ,EAAW1L,EAAI,OAAS/N,EAAM,OAASymB,EAAgB/E,EAC3D1hB,EAAM,MAAM,YAAchD,GAAOua,CAAY,EAE7C,IAAI7N,EAAOxD,GAAY,UAAU,CAC/B,aAAc,gBACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMlG,EACN,eAAgB,CAAC,WAAW,CACpC,EAAS,CACD,KAAM,OACN,KAAM,EAAEA,EAAM,OAASyZ,EAC/B,EAAS,CACD,KAAM,OACN,KAAM1L,CACd,EAAS,CACD,KAAM,OACN,KAAM2T,CACP,EACF,EAAE9qB,CAAO,EAEV,GAAKpB,EAAM,MAEJ,CAGL,IAAIqa,EAAajZ,EAAQ,YAAY0B,GAAQ,YAAY,EACrDsuB,EAAQ1e,GAAa1S,EAAM,MAAOqa,EAAYjZ,CAAO,EAGrDiwB,EAAU,IAAOnd,EAAK,OAASA,EAAK,OAEpCod,EAAY5gB,GAAY,UAAU,CACpC,aAAc,QACd,aAAc,CAAC2gB,EACf,SAAU,CAAC,CACT,KAAM,OACN,KAAMD,CACP,EACF,EAAEhwB,CAAO,EAGNmwB,EAAgB7gB,GAAY,SAAS,CAAC,MAAM,EAAG,CAAC4gB,CAAS,CAAC,EAC9D,OAAO5gB,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAG,CAAC6gB,EAAerd,CAAI,EAAG9S,CAAO,CAClF,KAtBM,QAAOsP,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAG,CAACwD,CAAI,EAAG9S,CAAO,CAuBhE,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,GAAI,CACF,KAAA8S,EACA,MAAAT,CACN,EAAQzT,EACJ,OAAOyT,EAAQ,IAAIsB,GAAW,SAAS,QAAS,CAACO,GAAWpB,EAAM9S,CAAO,EAAGkU,GAAW7B,EAAOrS,CAAO,CAAC,CAAC,EAAI,IAAI2T,GAAW,SAAS,QAAS,CAACO,GAAWpB,EAAM9S,CAAO,CAAC,CAAC,CAC3K,CAEA,CAAC,EAED,IAAIowB,GAAW,CACb,QAAW1uB,GAAQ,QACnB,KAAQA,GAAQ,KAChB,OAAUA,GAAQ,OAClB,aAAgBA,GAAQ,YAC1B,EACAqO,GAAe,CACb,KAAM,UACN,MAAO,CAAC,iBAAkB,cAAe,gBAAiB,qBAAqB,EAC/E,MAAO,CACL,QAAS,EACT,cAAe,GACf,UAAW,EACZ,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,iBAAA8D,EACA,SAAA1D,EACA,OAAAD,CACN,EAAQ3I,EAEA8C,EAAO6F,EAAO,gBAAgB,GAAM2D,CAAgB,EAIpDnX,EAAQyT,EAAS,MAAM,EAAGA,EAAS,OAAS,CAAC,EACjD,MAAO,CACL,KAAM,UACN,KAAMD,EAAO,KAGb,MAAAxT,EACA,KAAA2N,CACD,CACF,EAED,YAAYlU,EAAOoB,EAAS,CAE1B,IAAIqwB,EAAWD,GAASxxB,EAAM,KAAK,EAC/Bqa,EAAajZ,EAAQ,YAAYqwB,CAAQ,EAAE,SAAS,EAAE,EAC1D,OAAOlB,GAAYvwB,EAAM,KAAMqa,EAAYjZ,CAAO,CACnD,EAED,cAAcpB,EAAOoB,EAAS,CAE5B,IAAIqwB,EAAWD,GAASxxB,EAAM,KAAK,EAC/Bqa,EAAajZ,EAAQ,YAAYqwB,CAAQ,EACzCjnB,EAAQ4K,GAAgBpV,EAAM,KAAMqa,CAAU,EAC9CtS,EAAO,IAAIgN,GAAW,SAAS,SAAUvK,CAAK,EAC9CknB,EAAkB,CACpB,QAAW,CAAC,IAAK,MAAM,EACvB,KAAQ,CAAC,IAAK,OAAO,EACrB,OAAU,CAAC,IAAK,OAAO,EACvB,aAAgB,CAAC,IAAK,OAAO,CAC9B,EACG1pB,EAAO0pB,EAAgB1xB,EAAM,KAAK,EACtC,OAAA+H,EAAK,aAAa,cAAeC,EAAK,CAAC,CAAC,EACxCD,EAAK,aAAa,eAAgBC,EAAK,CAAC,CAAC,EAClCD,CACX,CAEA,CAAC,EASD,IAAI4pB,GAAsB,SAA6B3xB,EAAOoB,EAAS,CACrE,IAAIqU,EAAOzV,EAAM,KAEjB,GAAKyV,EAEE,GAAIA,EAAK,OAAS,KAAM,CAG7B,IAAImc,EAAWnc,EAAK,SAAWrU,EAAQ,MAAM,OAAS0B,GAAQ,QAAQ,MAAQ2S,EAAK,oBACnF,OAAOmc,EAAWxC,GAAgB,IACtC,SAAa3Z,EAAK,OAAS,eAAgB,CACvC,IAAIoc,EAAYpc,EAAK,qBAAuBrU,EAAQ,MAAM,OAAS0B,GAAQ,QAAQ,MAAQ2S,EAAK,QAEhG,OAAOoc,EAAY/B,GAAgB,IACvC,KAAS,IAAIra,EAAK,OAAS,SACvB,OAAOjV,GAAM,eAAeiV,EAAK,IAAI,EAAIsD,GAAgB,KACpD,GAAItD,EAAK,OAAS,aAAc,CACrC,IAAIqc,EAAQ,CAAC9xB,EAAM,IACnB,OAAO8xB,IAAUrc,EAAK,OAASkY,GAAgB,IACnD,KACI,QAAO,SAhBP,QAAO,IAkBX,EAIAjc,GAAuB,CACrB,KAAM,SAEN,YAAY1R,EAAOoB,EAAS,CAK1B,IAAI2wB,EAAkBJ,GAAoB3xB,EAAOoB,CAAO,EAExD,GAAI2wB,EACF,OAAOA,EAAgB/xB,EAAOoB,CAAO,EAGvC,GAAI,CACF,KAAM4wB,EACN,IAAKC,EACL,IAAKC,CACX,EAAQlyB,EACAyV,EAAO/C,GAAasf,EAAW5wB,CAAO,EACtC+wB,EACAC,EACA1sB,EAAUtE,EAAQ,cAElBixB,EAAW,EACXC,EAAW,EACXryB,EAAiB+xB,GAAaxxB,GAAM,eAAewxB,CAAS,EAEhE,GAAIC,EAAU,CACZ,IAAI5X,EAAajZ,EAAQ,YAAYA,EAAQ,MAAM,KAAK,EACxD+wB,EAAOzf,GAAauf,EAAU5X,EAAYjZ,CAAO,EAE5CnB,IACHoyB,EAAW5c,EAAK,OAAS4E,EAAW,cAAc,QAAUA,EAAW,eAAiBjZ,EAAQ,eAExG,CAEI,GAAI8wB,EAAU,CACZ,IAAIK,EAAcnxB,EAAQ,YAAYA,EAAQ,MAAM,KAAK,EAEzDgxB,EAAO1f,GAAawf,EAAUK,EAAanxB,CAAO,EAE7CnB,IACHqyB,EAAW7c,EAAK,MAAQ8c,EAAY,cAAc,QAAUA,EAAY,eAAiBnxB,EAAQ,eAEpG,CAGD,IAAIoxB,EAEApxB,EAAQ,QAAU0B,GAAQ,QAC5B0vB,EAAc9sB,EAAQ,KACbtE,EAAQ,MAAM,QACvBoxB,EAAc9sB,EAAQ,KAEtB8sB,EAAc9sB,EAAQ,KAKxB,IAAIsO,EAAa5S,EAAQ,eACrBqxB,EAAcjrB,GAAO,GAAM9B,EAAQ,QAAUsO,CAAU,EACvD0e,EAAa,KAEjB,GAAIN,EAAM,CAIR,IAAIO,EAAU3yB,EAAM,MAAQA,EAAM,KAAK,OAAS,MAAQA,EAAM,KAAK,OAASA,EAAM,KAAK,OAAS,WAAaA,EAAM,KAAK,OAAS,aAE7HyV,aAAgB9M,IAAcgqB,KAEhCD,EAAalrB,GAAO,CAACiO,EAAK,MAAM,EAExC,CAEI,IAAImG,EAEJ,GAAIuW,GAAQC,EAAM,CAChBC,EAAW,KAAK,IAAIA,EAAUG,EAAaL,EAAK,MAAQ,IAAOzsB,EAAQ,OAAO,EAC9E4sB,EAAW,KAAK,IAAIA,EAAU5sB,EAAQ,IAAI,EAC1C,IAAIwmB,EAAYxmB,EAAQ,qBAEpBktB,EAAW,EAAI1G,EAEnB,GAAImG,EAAWF,EAAK,OAASC,EAAK,OAASE,GAAYM,EAAU,CAC/DN,EAAWM,GAAYP,EAAWF,EAAK,OAASC,EAAK,OACrD,IAAIS,EAAM,GAAMntB,EAAQ,SAAW2sB,EAAWF,EAAK,OAE/CU,EAAM,IACRR,GAAYQ,EACZP,GAAYO,EAEtB,CAEM,IAAIC,EAAY,CAAC,CACf,KAAM,OACN,KAAMV,EACN,MAAOE,EACP,YAAAG,EACA,WAAAC,CACR,EAAS,CACD,KAAM,OACN,KAAMP,EACN,MAAO,CAACE,EACR,YAAAI,CACR,CAAO,EACD7W,EAASlL,GAAY,UAAU,CAC7B,aAAc,kBACd,SAAUoiB,CACX,EAAE1xB,CAAO,CACX,SAAUgxB,EAAM,CAEfE,EAAW,KAAK,IAAIA,EAAU5sB,EAAQ,KAAM0sB,EAAK,OAAS,GAAM1sB,EAAQ,OAAO,EAC/E,IAAIqtB,EAAa,CAAC,CAChB,KAAM,OACN,KAAMX,EACN,WAAAM,EACA,YAAAD,CACR,CAAO,EACD7W,EAASlL,GAAY,UAAU,CAC7B,aAAc,QACd,aAAc4hB,EACd,SAAUS,CACX,EAAE3xB,CAAO,CACX,SAAU+wB,EAETE,EAAW,KAAK,IAAIA,EAAUG,EAAaL,EAAK,MAAQ,IAAOzsB,EAAQ,OAAO,EAC9EkW,EAASlL,GAAY,UAAU,CAC7B,aAAc,QACd,aAAc,CAAC2hB,EACf,SAAU,CAAC,CACT,KAAM,OACN,KAAMF,EACN,YAAAM,CACD,EACF,EAAErxB,CAAO,MAEV,OAAM,IAAI,MAAM,qCAAqC,EAIvD,IAAIsa,EAASzI,GAAiBwC,EAAM,OAAO,GAAK,OAChD,OAAO/E,GAAY,SAAS,CAACgL,CAAM,EAAG,CAACjG,EAAM/E,GAAY,SAAS,CAAC,SAAS,EAAG,CAACkL,CAAM,CAAC,CAAC,EAAGxa,CAAO,CACnG,EAED,cAAcpB,EAAOoB,EAAS,CAE5B,IAAI4xB,EAAU,GACVC,EACAnB,EAEA9xB,EAAM,MAAQA,EAAM,KAAK,OAAS,eACpC8xB,EAAQ,CAAC,CAAC9xB,EAAM,IAEZ8xB,IAAU9xB,EAAM,KAAK,SACvBgzB,EAAU,GACVC,EAASjzB,EAAM,KAAK,SAIpBA,EAAM,OAASA,EAAM,KAAK,OAAS,MAAQA,EAAM,KAAK,OAAS,kBACjEA,EAAM,KAAK,eAAiB,IAG9B,IAAI+E,EAAW,CAACuQ,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,EAE3CpB,EAAM,KACR+E,EAAS,KAAKuQ,GAAWtV,EAAM,IAAKoB,CAAO,CAAC,EAG1CpB,EAAM,KACR+E,EAAS,KAAKuQ,GAAWtV,EAAM,IAAKoB,CAAO,CAAC,EAG9C,IAAI8xB,EAEJ,GAAIF,EACFE,EAAWD,EAAS,QAAU,iBACpBjzB,EAAM,IAUX,GAAKA,EAAM,IAUX,CACL,IAAImzB,EAASnzB,EAAM,KAEfmzB,GAAUA,EAAO,OAAS,MAAQA,EAAO,QAAU/xB,EAAQ,QAAU0B,GAAQ,SAEtEqwB,GAAUA,EAAO,OAAS,gBAAkBA,EAAO,qBAAuB/xB,EAAQ,QAAU0B,GAAQ,SAAWqwB,EAAO,QAD/HD,EAAW,aAIXA,EAAW,SAEnB,KApB2B,CACrB,IAAIE,EAAQpzB,EAAM,KAEdozB,GAASA,EAAM,OAAS,MAAQA,EAAM,SAAWhyB,EAAQ,QAAU0B,GAAQ,SAAWswB,EAAM,qBAErFA,GAASA,EAAM,OAAS,gBAAkBA,EAAM,qBAAuBA,EAAM,QAAUhyB,EAAQ,QAAU0B,GAAQ,SAD1HowB,EAAW,SAIXA,EAAW,MAEnB,KApB2B,CACrB,IAAIzd,EAAOzV,EAAM,KAEbyV,GAAQA,EAAK,OAAS,MAAQA,EAAK,SAAWrU,EAAQ,QAAU0B,GAAQ,SAAW2S,EAAK,qBAEjFA,GAAQA,EAAK,OAAS,gBAAkBA,EAAK,qBAAuBA,EAAK,QAAUrU,EAAQ,QAAU0B,GAAQ,SADtHowB,EAAW,QAIXA,EAAW,MAEnB,CAsBI,OAAO,IAAIne,GAAW,SAASme,EAAUnuB,CAAQ,CACrD,CAEA,CAAC,EAED2M,GAAuB,CACrB,KAAM,OAEN,YAAY1R,EAAOoB,EAAS,CAC1B,OAAOsP,GAAY,QAAQ1Q,EAAM,KAAMA,EAAM,KAAMoB,EAAS,CAAC,IAAMpB,EAAM,MAAM,CAAC,CACjF,EAED,cAAcA,EAAOoB,EAAS,CAC5B,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,KAAM,CAACC,GAAShV,EAAM,KAAMA,EAAM,IAAI,CAAC,CAAC,EAE3E,GAAIA,EAAM,SAAW,MAAO,CAC1B,IAAIqzB,EAAUne,GAAWlV,EAAOoB,CAAO,EAEnCiyB,IAAY,eACdtrB,EAAK,aAAa,cAAesrB,CAAO,CAEhD,MAAerzB,EAAM,SAAW,QAC1B+H,EAAK,aAAa,YAAa,MAAM,GAC5B/H,EAAM,SAAW,QAAUA,EAAM,SAAW,UAGrD+H,EAAK,aAAa,WAAY,OAAO,EAGvC,OAAOA,CACX,CAEA,CAAC,EAID,IAAIurB,GAAiB,CACnB,GAAM,SACN,GAAM,SACN,MAAS,QACX,EACA5hB,GAAuB,CACrB,KAAM,UAEN,YAAY1R,EAAOoB,EAAS,CAC1B,OAAOsP,GAAY,QAAQ1Q,EAAOoB,EAAS,SAAS,CACrD,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAI2G,EAAO,IAAIgN,GAAW,SAAS,KAAM,CAACC,GAAShV,EAAM,KAAMA,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAChFiyB,EAAUne,GAAWlV,EAAOoB,CAAO,GAAK,SAE5C,OAAIiyB,IAAYC,GAAevrB,EAAK,IAAI,GACtCA,EAAK,aAAa,cAAesrB,CAAO,EAGnCtrB,CACX,CAEA,CAAC,EACD2J,GAAuB,CACrB,KAAM,UAEN,YAAY1R,EAAOoB,EAAS,CAC1B,OAAOsP,GAAY,QAAQ1Q,EAAOoB,EAAS,SAAS,CACrD,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAI9C,EAAO0W,GAAShV,EAAM,KAAMA,EAAM,KAAMoB,CAAO,EAC/CiyB,EAAUne,GAAWlV,EAAOoB,CAAO,GAAK,SACxC2G,EAEJ,OAAI/H,EAAM,OAAS,OACjB+H,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAACzW,CAAI,CAAC,EACrC,QAAQ,KAAK0B,EAAM,IAAI,EAChC+H,EAAO,IAAIgN,GAAW,SAAS,KAAM,CAACzW,CAAI,CAAC,EAClC0B,EAAM,OAAS,UACxB+H,EAAO,IAAIgN,GAAW,SAAS,KAAM,CAACzW,CAAI,CAAC,EAE3CyJ,EAAO,IAAIgN,GAAW,SAAS,KAAM,CAACzW,CAAI,CAAC,EAGzC+0B,IAAYC,GAAevrB,EAAK,IAAI,GACtCA,EAAK,aAAa,cAAesrB,CAAO,EAGnCtrB,CACX,CAEA,CAAC,EAED,IAAIwrB,GAAW,CACb,YAAa,UACb,eAAgB,YAClB,EAMIC,GAAe,CACjB,IAAK,CAAE,EACP,MAAO,CAAE,EACT,IAAK,CACH,UAAW,SACZ,EACD,UAAW,CAAE,EACb,iBAAkB,CAChB,UAAW,SACf,CACA,EAGA9hB,GAAuB,CACrB,KAAM,UAEN,YAAY1R,EAAOoB,EAAS,CAC1B,GAAIoyB,GAAa,eAAexzB,EAAM,IAAI,EAAG,CAC3C,IAAIgF,EAAYwuB,GAAaxzB,EAAM,IAAI,EAAE,WAAa,GAItD,GAAIA,EAAM,OAAS,OAAQ,CACzB,IAAIyzB,EAAM/iB,GAAY,QAAQ1Q,EAAOoB,EAAS,SAAS,EACvD,OAAAqyB,EAAI,QAAQ,KAAKzuB,CAAS,EACnByuB,CACf,KACQ,QAAO/iB,GAAY,SAAS,CAAC,SAAU1L,CAAS,EAAG,CAAC0L,GAAY,QAAQ1Q,EAAM,KAAMA,EAAM,KAAMoB,CAAO,CAAC,EAAGA,CAAO,CAErH,KAAM,IAAImyB,GAAS,eAAevzB,EAAM,IAAI,EAE3C,OAAO0Q,GAAY,SAAS,CAAC,SAAU6iB,GAASvzB,EAAM,IAAI,CAAC,EAAG,CAAE,EAAEoB,CAAO,EAEzE,MAAM,IAAI3C,GAAW,0BAA6BuB,EAAM,KAAO,GAAI,EAEtE,EAED,cAAcA,EAAOoB,EAAS,CAC5B,IAAI2G,EAEJ,GAAIyrB,GAAa,eAAexzB,EAAM,IAAI,EACxC+H,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAAC,IAAIA,GAAW,SAAS,GAAQ,CAAC,CAAC,MACtE,IAAIwe,GAAS,eAAevzB,EAAM,IAAI,EAE3C,OAAO,IAAI+U,GAAW,SAAS,QAAQ,EAEvC,MAAM,IAAItW,GAAW,0BAA6BuB,EAAM,KAAO,GAAI,EAGrE,OAAO+H,CACX,CAEA,CAAC,EAED,IAAI2rB,GAAM,IAAM,CACd,IAAIC,EAAU,IAAI5e,GAAW,SAAS,MAAO,EAAE,EAC/C,OAAA4e,EAAQ,aAAa,QAAS,KAAK,EAC5BA,CACT,EAEAjiB,GAAuB,CACrB,KAAM,MAEN,cAAc1R,EAAOoB,EAAS,CAC5B,IAAIgoB,EAAQ,IAAIrU,GAAW,SAAS,SAAU,CAAC,IAAIA,GAAW,SAAS,MAAO,CAAC2e,GAAG,EAAI,IAAI3e,GAAW,SAAS,MAAO,CAACY,GAAmB3V,EAAM,KAAMoB,CAAO,CAAC,CAAC,EAAGsyB,GAAK,EAAE,IAAI3e,GAAW,SAAS,MAAO,CAACY,GAAmB3V,EAAM,IAAKoB,CAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnP,OAAAgoB,EAAM,aAAa,QAAS,MAAM,EAC3BA,CAOX,CAEA,CAAC,EAED,IAAIwK,GAAmB,CACrB,SAAU,OACV,WAAY,SACZ,WAAY,SACZ,WAAY,SACZ,eAAgB,QAClB,EACIC,GAAkB,CACpB,WAAY,SACZ,WAAY,QACd,EACIC,GAAiB,CACnB,WAAY,SACZ,WAAY,QACd,EAEIC,GAAkB,CAAC/zB,EAAOoB,IAAY,CACxC,IAAIyE,EAAO7F,EAAM,KAEjB,GAAK6F,EAEE,IAAI+tB,GAAiB/tB,CAAI,EAC9B,OAAOzE,EAAQ,mBAAmBwyB,GAAiB/tB,CAAI,CAAC,EACnD,GAAIguB,GAAgBhuB,CAAI,EAC7B,OAAOzE,EAAQ,mBAAmByyB,GAAgBhuB,CAAI,CAAC,EAClD,GAAIA,IAAS,SAClB,OAAOzE,EAAQ,YAAc,SAAWA,EAAQ,kBAAkB,QAAQ,EAAIA,EAAQ,kBAAkB,QAAQ,MANhH,QAAOA,EAST,OAAOA,EAAQ,kBAAkB0yB,GAAejuB,CAAI,CAAC,CACvD,EAEAsL,GAAe,CACb,KAAM,OACN,MAAO,CACP,SAAU,WAAY,WAAY,WAAY,eAC9C,WAAY,WACZ,WAAY,WAAY,QAAQ,EAChC,MAAO,CACL,QAAS,EACT,SAAU,CAAC,MAAM,EACjB,kBAAmB,GACnB,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,EACA,SAAAC,CACN,EAAQ5I,EACA8C,EAAO0F,EAAK,CAAC,EACjB,MAAO,CACL,KAAM,OACN,KAAMG,EAAO,KACb,KAAMjI,GAAYoC,CAAI,EACtB,KAAM8F,CACP,CACF,EAED,YAAYha,EAAOoB,EAAS,CAC1B,IAAIiZ,EAAa0Z,GAAgB/zB,EAAOoB,CAAO,EAC3CoJ,EAAQ4H,GAAkBpS,EAAM,KAAMqa,EAAY,EAAI,EAC1D,OAAO3J,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAGlG,EAAO6P,CAAU,CAChE,EAED,cAAcra,EAAOoB,EAAS,CAC5B,IAAIiZ,EAAa0Z,GAAgB/zB,EAAOoB,CAAO,EAC/C,OAAOuU,GAAmB3V,EAAM,KAAMqa,CAAU,CACpD,CAEA,CAAC,EAEDlJ,GAAe,CACb,KAAM,YACN,MAAO,CAAC,aAAa,EACrB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,YACN,KAAM2I,EAAO,KACb,KAAMH,EAAK,CAAC,CACb,CACF,EAED,YAAY5Z,EAAOoB,EAAS,CAG1B,IAAI6Y,EAAavH,GAAa1S,EAAM,KAAMoB,CAAO,EAE7CkN,EAAOoC,GAAY,aAAa,iBAAkBtP,CAAO,EAEzD+uB,EAAuB/uB,EAAQ,YAAW,EAAG,qBAC7CwO,EAAQc,GAAY,UAAU,CAChC,aAAc,MACd,aAAcuJ,EAAW,OACzB,SAAU,CAAC,CACT,KAAM,OACN,KAAMkW,CACd,EAAS,CACD,KAAM,OACN,KAAM7hB,CACd,EAAS,CACD,KAAM,OACN,KAAM,EAAI6hB,CAClB,EAAS,CACD,KAAM,OACN,KAAMlW,CACP,EACF,EAAE7Y,CAAO,EACV,OAAOsP,GAAY,SAAS,CAAC,OAAQ,WAAW,EAAG,CAACd,CAAK,EAAGxO,CAAO,CACpE,EAED,cAAcpB,EAAOoB,EAAS,CAC5B,IAAIsuB,EAAW,IAAI3a,GAAW,SAAS,KAAM,CAAC,IAAIA,GAAW,SAAS,GAAQ,CAAC,CAAC,EAChF2a,EAAS,aAAa,WAAY,MAAM,EACxC,IAAI3nB,EAAO,IAAIgN,GAAW,SAAS,SAAU,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,EAAGsuB,CAAQ,CAAC,EACxF,OAAA3nB,EAAK,aAAa,cAAe,MAAM,EAChCA,CACX,CAEA,CAAC,EAEDoJ,GAAe,CACb,KAAM,UACN,MAAO,CAAC,WAAW,EACnB,MAAO,CACL,QAAS,EACT,SAAU,CAAC,UAAU,EAErB,cAAe,EAChB,EAED,QAAQC,EAAMwI,EAAM,CAClB,GAAI,CACF,OAAAG,CACN,EAAQ3I,EACJ,MAAO,CACL,KAAM,UACN,KAAM2I,EAAO,KACb,KAAMH,EAAK,CAAC,CACb,CACF,EAED,YAAY5Z,EAAOoB,EAAS,CAC1B,IAAI8S,EAAOxB,GAAa1S,EAAM,KAAMoB,CAAO,EACvC0f,EAAa1f,EAAQ,YAAW,EAAG,WACnCkvB,EAAK,IAAOpc,EAAK,OAAS4M,GAAc5M,EAAK,MAAQ4M,IACzD,OAAOpQ,GAAY,UAAU,CAC3B,aAAc,QACd,aAAc4f,EACd,SAAU,CAAC,CACT,KAAM,OACN,KAAMpc,CACP,EACF,EAAE9S,CAAO,CACX,EAED,cAAcpB,EAAOoB,EAAS,CAI5B,OAAO,IAAI2T,GAAW,SAAS,UAAW,CAACO,GAAWtV,EAAM,KAAMoB,CAAO,CAAC,EAAG,CAAC,SAAS,CAAC,CAC5F,CAEA,CAAC,EAED+P,GAAe,CACb,KAAM,OACN,MAAO,CAAC,QAAQ,EAChB,MAAO,CACL,QAAS,EACT,cAAe,EAChB,EAED,QAAQ1P,EAASmY,EAAMQ,EAAS,CAK9B,MAAM,IAAI3b,GAAW,2DAA2D,CACjF,EAED,YAAYuB,EAAOoB,EAAS,CAM1B,QALI9C,EAAO01B,GAASh0B,CAAK,EACrBkU,EAAO,GAEPmG,EAAajZ,EAAQ,YAAYA,EAAQ,MAAM,MAAM,EAEhD8B,EAAI,EAAGA,EAAI5E,EAAK,OAAQ4E,IAAK,CACpC,IAAIujB,EAAInoB,EAAK4E,CAAC,EAEVujB,IAAM,MACRA,EAAI,oBAGNvS,EAAK,KAAKxD,GAAY,WAAW+V,EAAG,qBAAsBzmB,EAAM,KAAMqa,EAAY,CAAC,OAAQ,QAAQ,CAAC,CAAC,CAC3G,CAEI,OAAO3J,GAAY,SAAS,CAAC,OAAQ,MAAM,EAAE,OAAO2J,EAAW,cAAcjZ,CAAO,CAAC,EAAGsP,GAAY,gBAAgBwD,CAAI,EAAGmG,CAAU,CACtI,EAED,cAAcra,EAAOoB,EAAS,CAC5B,IAAI9C,EAAO,IAAIyW,GAAW,SAASif,GAASh0B,CAAK,CAAC,EAC9C+H,EAAO,IAAIgN,GAAW,SAAS,QAAS,CAACzW,CAAI,CAAC,EAClD,OAAAyJ,EAAK,aAAa,cAAe,WAAW,EACrCA,CACX,CAEA,CAAC,EAQD,IAAIisB,GAAWh0B,GAASA,EAAM,KAAK,QAAQ,KAAMA,EAAM,KAAO,IAAW,GAAM,EAG3Ei0B,GAAYjjB,GAsCZkjB,GAAmB;AAAA,IACnBC,GAAyB,iBACzBC,GAA2B,uBAC3BC,GAAmC,IAAMF,GAAyB,IAAMD,GAAmB,IAC3FI,GAA0B;AAAA;AAAA,WAC1BC,GAAiC,QACjCC,GAAoC,IAAI,OAAOD,GAAiC,IAAI,EACpFE,GAAmB,IAAMP,GAAmB,OAChDI,GAA0B,KAC1B,uBACAC,GAAiC,KACjC,mCACAA,GAAiC,KACjC,sDAEA,IAAMF,KACN,IAAMD,GAA2B,KAIjC,IAAAM,GAAA,KAAY,CAGV,YAAY71B,EAAOwX,EAAU,CAC3B,KAAK,MAAQ,OACb,KAAK,SAAW,OAChB,KAAK,WAAa,OAClB,KAAK,SAAW,OAEhB,KAAK,MAAQxX,EACb,KAAK,SAAWwX,EAChB,KAAK,WAAa,IAAI,OAAOoe,GAAkB,GAAG,EAClD,KAAK,SAAW,CACd,IAAK,GAEL,IAAK,EAEN,CACL,CAEE,WAAWE,EAAMpX,EAAM,CACrB,KAAK,SAASoX,CAAI,EAAIpX,CAC1B,CAME,KAAM,CACJ,IAAI1e,EAAQ,KAAK,MACb2xB,EAAM,KAAK,WAAW,UAE1B,GAAIA,IAAQ3xB,EAAM,OAChB,OAAO,IAAIR,GAAM,MAAO,IAAIN,GAAe,KAAMyyB,EAAKA,CAAG,CAAC,EAG5D,IAAI1wB,EAAQ,KAAK,WAAW,KAAKjB,CAAK,EAEtC,GAAIiB,IAAU,MAAQA,EAAM,QAAU0wB,EACpC,MAAM,IAAI/xB,GAAW,0BAA4BI,EAAM2xB,CAAG,EAAI,IAAK,IAAInyB,GAAMQ,EAAM2xB,CAAG,EAAG,IAAIzyB,GAAe,KAAMyyB,EAAKA,EAAM,CAAC,CAAC,CAAC,EAGlI,IAAIlyB,EAAOwB,EAAM,CAAC,GAAKA,EAAM,CAAC,IAAMA,EAAM,CAAC,EAAI,MAAQ,KAEvD,GAAI,KAAK,SAASxB,CAAI,IAAM,GAAI,CAE9B,IAAIs2B,EAAU/1B,EAAM,QAAQ;AAAA,EAAM,KAAK,WAAW,SAAS,EAE3D,OAAI+1B,IAAY,IACd,KAAK,WAAW,UAAY/1B,EAAM,OAElC,KAAK,SAAS,gBAAgB,eAAgB,4GAAiH,GAE/J,KAAK,WAAW,UAAY+1B,EAAU,EAGjC,KAAK,IAAK,CACvB,CAEI,OAAO,IAAIv2B,GAAMC,EAAM,IAAIP,GAAe,KAAMyyB,EAAK,KAAK,WAAW,SAAS,CAAC,CACnF,CAEA,EASA,MAAMqE,EAAU,CAOd,YAAYC,EAAUC,EAAc,CAC9BD,IAAa,SACfA,EAAW,CAAE,GAGXC,IAAiB,SACnBA,EAAe,CAAE,GAGnB,KAAK,QAAU,OACf,KAAK,SAAW,OAChB,KAAK,WAAa,OAClB,KAAK,QAAUA,EACf,KAAK,SAAWD,EAChB,KAAK,WAAa,CAAE,CACxB,CAME,YAAa,CACX,KAAK,WAAW,KAAK,EAAE,CAC3B,CAME,UAAW,CACT,GAAI,KAAK,WAAW,SAAW,EAC7B,MAAM,IAAIr2B,GAAW,gGAAqG,EAG5H,IAAIu2B,EAAS,KAAK,WAAW,IAAK,EAElC,QAASC,KAASD,EACZA,EAAO,eAAeC,CAAK,IACzBD,EAAOC,CAAK,GAAK,KACnB,OAAO,KAAK,QAAQA,CAAK,EAEzB,KAAK,QAAQA,CAAK,EAAID,EAAOC,CAAK,EAI5C,CAOE,WAAY,CACV,KAAO,KAAK,WAAW,OAAS,GAC9B,KAAK,SAAU,CAErB,CAOE,IAAIxwB,EAAM,CACR,OAAO,KAAK,QAAQ,eAAeA,CAAI,GAAK,KAAK,SAAS,eAAeA,CAAI,CACjF,CAWE,IAAIA,EAAM,CACR,OAAI,KAAK,QAAQ,eAAeA,CAAI,EAC3B,KAAK,QAAQA,CAAI,EAEjB,KAAK,SAASA,CAAI,CAE/B,CAUE,IAAIA,EAAMrE,EAAO6d,EAAQ,CAKvB,GAJIA,IAAW,SACbA,EAAS,IAGPA,EAAQ,CAKV,QAAS,EAAI,EAAG,EAAI,KAAK,WAAW,OAAQ,IAC1C,OAAO,KAAK,WAAW,CAAC,EAAExZ,CAAI,EAG5B,KAAK,WAAW,OAAS,IAC3B,KAAK,WAAW,KAAK,WAAW,OAAS,CAAC,EAAEA,CAAI,EAAIrE,EAE5D,KAAW,CAIL,IAAI2f,EAAM,KAAK,WAAW,KAAK,WAAW,OAAS,CAAC,EAEhDA,GAAO,CAACA,EAAI,eAAetb,CAAI,IACjCsb,EAAItb,CAAI,EAAI,KAAK,QAAQA,CAAI,EAErC,CAEQrE,GAAS,KACX,OAAO,KAAK,QAAQqE,CAAI,EAExB,KAAK,QAAQA,CAAI,EAAIrE,CAE3B,CAEA,CAMA,IAAI80B,GAASpQ,GAGbC,GAAY,aAAc,SAAUtjB,EAAS,CAI3C,IAAI0zB,EAAI1zB,EAAQ,SAAU,EAE1B,OAAIA,EAAQ,aAAa0zB,EAAE,IAAI,IAC7BA,EAAE,SAAW,GACbA,EAAE,aAAe,IAGZ,CACL,OAAQ,CAACA,CAAC,EACV,QAAS,CACV,CACH,CAAC,EACDpQ,GAAY,gBAAiB,SAAUtjB,EAAS,CAM9C,IAAI0zB,EAAI1zB,EAAQ,SAAU,EAC1B,OAAAA,EAAQ,WAAW,EAAI,EAEhB,CACL,OAAQ,CAAC0zB,CAAC,EACV,QAAS,CACV,CACH,CAAC,EAGDpQ,GAAY,gBAAiB,SAAUtjB,EAAS,CAC9C,IAAImY,EAAOnY,EAAQ,YAAY,CAAC,EAChC,MAAO,CACL,OAAQmY,EAAK,CAAC,EACd,QAAS,CACV,CACH,CAAC,EAGDmL,GAAY,iBAAkB,SAAUtjB,EAAS,CAC/C,IAAImY,EAAOnY,EAAQ,YAAY,CAAC,EAChC,MAAO,CACL,OAAQmY,EAAK,CAAC,EACd,QAAS,CACV,CACH,CAAC,EAKDmL,GAAY,gBAAiB,SAAUtjB,EAAS,CAC9C,IAAImY,EAAOnY,EAAQ,YAAY,CAAC,EAEhCA,EAAQ,cAAe,EACvB,IAAI2zB,EAAY3zB,EAAQ,OAAQ,EAEhC,OAAImY,EAAK,CAAC,EAAE,SAAW,GAAKA,EAAK,CAAC,EAAE,CAAC,EAAE,OAASwb,EAAU,KACjD,CACL,OAAQxb,EAAK,CAAC,EACd,QAAS,CACV,EAEM,CACL,OAAQA,EAAK,CAAC,EACd,QAAS,CACV,CAEL,CAAC,EAKDmL,GAAY,YAAa,oCAAoC,EAE7DA,GAAY,eAAgB,SAAUtjB,EAAS,CAC7C,IAAImY,EAAOnY,EAAQ,YAAY,CAAC,EAEhC,OAAIA,EAAQ,OAAS,OACZ,CACL,OAAQmY,EAAK,CAAC,EACd,QAAS,CACV,EAEM,CACL,OAAQA,EAAK,CAAC,EACd,QAAS,CACV,CAEL,CAAC,EAED,IAAIyb,GAAgB,CAClB,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,GACL,EAAK,EACP,EAUAtQ,GAAY,SAAU,SAAUtjB,EAAS,CACvC,IAAI9C,EAAQ8C,EAAQ,SAAU,EAC1BgU,EACA6H,EAAS,GAEb,GAAI3e,EAAM,OAAS,IACjB8W,EAAO,EACP9W,EAAQ8C,EAAQ,SAAU,UACjB9C,EAAM,OAAS,IACxB8W,EAAO,GACP9W,EAAQ8C,EAAQ,SAAU,UACjB9C,EAAM,OAAS,IAGxB,GAFAA,EAAQ8C,EAAQ,SAAU,EAEtB9C,EAAM,KAAK,CAAC,IAAM,KACpB2e,EAAS3e,EAAM,KAAK,WAAW,CAAC,MAC3B,IAAIA,EAAM,OAAS,MACxB,MAAM,IAAIF,GAAW,0BAA0B,EAE/C6e,EAAS3e,EAAM,KAAK,WAAW,CAAC,OAGlC8W,EAAO,GAGT,GAAIA,EAAM,CAIR,GAFA6H,EAAS+X,GAAc12B,EAAM,IAAI,EAE7B2e,GAAU,MAAQA,GAAU7H,EAC9B,MAAM,IAAIhX,GAAW,gBAAkBgX,EAAO,UAAY9W,EAAM,IAAI,EAKtE,QAFI22B,GAEIA,EAAQD,GAAc5zB,EAAQ,SAAS,IAAI,IAAM,MAAQ6zB,EAAQ7f,GACvE6H,GAAU7H,EACV6H,GAAUgY,EACV7zB,EAAQ,SAAU,CAExB,CAEE,MAAO,WAAa6b,EAAS,GAC/B,CAAC,EAID,IAAIiY,GAAa,CAAC9zB,EAAS+zB,EAAUC,EAAaC,IAAiB,CACjE,IAAI7jB,EAAMpQ,EAAQ,WAAU,EAAG,OAE/B,GAAIoQ,EAAI,SAAW,EACjB,MAAM,IAAIpT,GAAW,oDAAoD,EAG3E,IAAIgG,EAAOoN,EAAI,CAAC,EAAE,KACd8jB,EAASl0B,EAAQ,UAAUgD,CAAI,EAEnC,GAAIkxB,GAAU,CAACH,EACb,MAAM,IAAI/2B,GAAW,gBAAkBgG,EAAO,6BAA+BA,EAAO,uBAAuB,EAG7G,GAAI,CAACkxB,GAAU,CAACF,EACd,MAAM,IAAIh3B,GAAW,kBAAoBgG,EAAO,kBAAoBA,EAAO,uCAA4C,EAGzH,IAAI0Z,EAAU,EAGd,GAFAtM,EAAMpQ,EAAQ,WAAU,EAAG,OAEvBoQ,EAAI,SAAW,GAAKA,EAAI,CAAC,EAAE,OAAS,IAAK,CAI3C,QAHI+jB,EAAU,GACVj3B,EAAQ8C,EAAQ,gBAAiB,EAE9B9C,EAAM,OAAS,KAAOA,EAAM,OAAS,OAE1Ci3B,GAAWj3B,EAAM,KACjBA,EAAQ8C,EAAQ,gBAAiB,EAGnC,GAAI,CAACm0B,EAAQ,MAAM,gBAAgB,EACjC,MAAM,IAAIn3B,GAAW,gCAAkCm3B,CAAO,EAGhEzX,EAAU,SAASyX,CAAO,EAC1B/jB,EAAMpQ,EAAQ,WAAU,EAAG,MAC/B,CAEE,OAAMk0B,GAAUD,GAEdj0B,EAAQ,OAAO,IAAIgD,EAAM,CACvB,OAAQoN,EACR,QAAAsM,CACN,CAAK,EAGI,EACT,EAEA4G,GAAY,eAAgBtjB,GAAW8zB,GAAW9zB,EAAS,GAAO,GAAM,EAAK,CAAC,EAC9EsjB,GAAY,iBAAkBtjB,GAAW8zB,GAAW9zB,EAAS,GAAM,GAAO,EAAK,CAAC,EAChFsjB,GAAY,mBAAoBtjB,GAAW8zB,GAAW9zB,EAAS,GAAM,GAAM,EAAI,CAAC,EAEhFsjB,GAAY,YAAatjB,GAAW,CAClC,IAAIoQ,EAAMpQ,EAAQ,YAAY,CAAC,EAAE,CAAC,EAElC,eAAQ,IAAIoQ,EAAI,QAAS,EAAC,IAAIlT,GAASA,EAAM,IAAI,EAAE,KAAK,EAAE,CAAC,EACpD,EACT,CAAC,EACDomB,GAAY,eAAgBtjB,GAAW,CACrC,IAAIoQ,EAAMpQ,EAAQ,YAAY,CAAC,EAAE,CAAC,EAElC,eAAQ,MAAMoQ,EAAI,QAAS,EAAC,IAAIlT,GAASA,EAAM,IAAI,EAAE,KAAK,EAAE,CAAC,EACtD,EACT,CAAC,EACDomB,GAAY,SAAUtjB,GAAW,CAC/B,IAAIqc,EAAMrc,EAAQ,SAAU,EACxBgD,EAAOqZ,EAAI,KAEf,eAAQ,IAAIA,EAAKrc,EAAQ,OAAO,IAAIgD,CAAI,EAAGwvB,GAAUxvB,CAAI,EAAGqF,GAAQ,KAAKrF,CAAI,EAAGqF,GAAQ,KAAKrF,CAAI,CAAC,EAC3F,EACT,CAAC,EAIDsgB,GAAY,WAAY,GAAG,EAC3BA,GAAY,WAAY,GAAG,EAO3BA,GAAY,IAAK,gBAAgB,EACjCA,GAAY,OAAQ,GAAG,EACvBA,GAAY,OAAQ,GAAG,EACvBA,GAAY,OAAQ,OAAO,EAC3BA,GAAY,OAAQ,OAAO,EAO3BA,GAAY,kBAAmB,2CAA2C,EAC1EA,GAAY,cAAe,wDAAwD,EACnFA,GAAY,mBAAoB,wDAAwD,EAExFA,GAAY,IAAU,cAAc,EAEpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,cAAc,EACpCA,GAAY,IAAU,eAAe,EAErCA,GAAY,IAAU,eAAe,EACrCA,GAAY,IAAU,eAAe,EAErCA,GAAY,SAAU,UAAU,EAIhCA,GAAY,IAAU,SAAS,EAE/BA,GAAY,SAAU,0BAA0B,EAChDA,GAAY,SAAU,0BAA0B,EAChDA,GAAY,SAAU,0BAA0B,EAEhDA,GAAY,cAAe,eAAe,EAE1CA,GAAY,aAAc,yBAAyB,EAMnDA,GAAY,QAAS,wDAAwD,EAM7EA,GAAY,QAAS,uDAAuD,EAC5EA,GAAY,OAAQ,OAAO,EAC3BA,GAAY,IAAU,OAAO,EAC7BA,GAAY,UAAW,8EAAmF,EAC1GA,GAAY,IAAU,SAAS,EAE/BA,GAAY,IAAU,sGAAqH,EAC3IA,GAAY,IAAU,kEAAuE,EAC7FA,GAAY,IAAU,gEAAqE,EAC3FA,GAAY,IAAU,uEAAiF,EACvGA,GAAY,IAAU,wEAAkF,EACxGA,GAAY,IAAU,sEAAgF,EACtGA,GAAY,IAAU,4DAAiE,EAEvFA,GAAY,IAAU,QAAQ,EAC9BA,GAAY,IAAU,8BAA8B,EACpDA,GAAY,IAAU,SAAS,EAC/BA,GAAY,IAAU,YAAY,EAClCA,GAAY,IAAU,YAAY,EAClCA,GAAY,IAAU,YAAY,EAClCA,GAAY,IAAU,YAAY,EAClCA,GAAY,IAAU,aAAa,EACnCA,GAAY,IAAU,kBAAkB,EACxCA,GAAY,IAAU,kBAAkB,EAGxCA,GAAY,aAAc,mDAAoD,EAC9EA,GAAY,aAAc,mDAAoD,EAC9EA,GAAY,aAAc,mDAAoD,EAC9EA,GAAY,aAAc,mDAAoD,EAO9EA,GAAY,UAAW,+BAA+B,EACtDA,GAAY,IAAU,SAAS,EAM/BA,GAAY,aAAc,mBAAmB,EAC7CA,GAAY,aAAc,mBAAmB,EAC7CA,GAAY,aAAc,mBAAmB,EAC7CA,GAAY,cAAe,oBAAoB,EAC/CA,GAAY,UAAW,gBAAgB,EACvCA,GAAY,UAAW,gBAAgB,EACvCA,GAAY,aAAc,mBAAmB,EAC7CA,GAAY,eAAgB,qBAAqB,EACjDA,GAAY,WAAY,iBAAiB,EACzCA,GAAY,WAAY,iBAAiB,EACzCA,GAAY,aAAc,mBAAmB,EAE7CA,GAAY,aAAc,uCAAuC,EAGjEA,GAAY,UAAW,gGAAqG,EAE5HA,GAAY,UAAW,8BAA8B,EAIrDA,GAAY,QAAS,mCAAmC,EACxDA,GAAY,YAAa,+BAA+B,EACxDA,GAAY,cAAe,8BAA8B,EAIzDA,GAAY,UAAW,uDAAuD,EAC9EA,GAAY,WAAY,wDAAwD,EAEhF,IAAI8Q,GAAc,CAChB,IAAK,UACL,QAAS,UAET,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UAEL,UAAW,UACX,WAAY,UACZ,WAAY,UACZ,aAAc,UACd,aAAc,UACd,WAAY,UACZ,WAAY,UACZ,SAAU,UACV,QAAS,UACT,cAAe,UACf,aAAc,UACd,YAAa,UACb,aAAc,UACd,QAAS,UACT,mBAAoB,UACpB,mBAAoB,UACpB,kBAAmB,UACnB,kBAAmB,UACnB,uBAAwB,UACxB,uBAAwB,UACxB,WAAY,UACZ,eAAgB,UAChB,mBAAoB,UACpB,UAAW,UAEX,YAAa,UAEb,YAAa,UACb,WAAY,UACZ,WAAY,UACZ,gBAAiB,UACjB,eAAgB,UAEhB,UAAW,UACX,QAAS,UACT,SAAU,UACV,SAAU,UACV,UAAW,UACX,WAAY,UACZ,aAAc,UAEd,UAAW,SACb,EACA9Q,GAAY,SAAU,SAAUtjB,EAAS,CAMvC,IAAIq0B,EAAU,UACVloB,EAAOnM,EAAQ,kBAAiB,EAAG,KAEvC,OAAImM,KAAQioB,GACVC,EAAUD,GAAYjoB,CAAI,GACjBA,EAAK,MAAM,EAAG,CAAC,IAAM,SAErBA,KAAQ9D,GAAQ,MACrBtJ,GAAM,SAAS,CAAC,MAAO,KAAK,EAAGsJ,GAAQ,KAAK8D,CAAI,EAAE,KAAK,KACzDkoB,EAAU,WAIPA,CACT,CAAC,EACD,IAAIC,GAAiB,CAEnB,IAAK,GACL,IAAK,GACL,WAAY,GACZ,MAAO,GACP,WAAY,GACZ,WAAY,GACZ,UAAW,GACX,WAAY,GACZ,WAAY,GACZ,eAAgB,GAChB,UAAW,GACX,SAAU,GACV,UAAW,GACX,SAAU,GACV,UAAW,GAEX,EAAK,GAEL,IAAK,GACL,IAAK,GACL,IAAK,EACP,EACAhR,GAAY,UAAW,SAAUtjB,EAAS,CACxC,IAAImM,EAAOnM,EAAQ,OAAM,EAAG,KAE5B,OAAImM,KAAQmoB,GACH,aAEA,SAEX,CAAC,EACDhR,GAAY,UAAW,SAAUtjB,EAAS,CACxC,IAAImM,EAAOnM,EAAQ,OAAM,EAAG,KAG5B,OAAImM,KAAQmoB,IAAkBnoB,IAAS,IAC9B,aAEA,SAEX,CAAC,EACDmX,GAAY,UAAW,SAAUtjB,EAAS,CACxC,IAAImM,EAAOnM,EAAQ,OAAM,EAAG,KAE5B,OAAImM,KAAQmoB,GACH,cAEA,UAEX,CAAC,EACDhR,GAAY,UAAW,SAAS,EAChCA,GAAY,UAAW,SAAS,EAChCA,GAAY,UAAW,YAAY,EAInCA,GAAY,UAAW,YAAY,EAInCA,GAAY,UAAW,SAAS,EAChCA,GAAY,UAAW,SAAS,EAChCA,GAAY,UAAW,SAAS,EAIhCA,GAAY,YAAa,8CAA8C,EAGvEA,GAAY,MAAO,0BAA0B,EAE7CA,GAAY,cAAe,KAAK,EAIhCA,GAAY,MAAO,cAAc,EACjCA,GAAY,MAAO,0BAA0B,EAE7CA,GAAY,aAAc,KAAK,EAG/BA,GAAY,MAAO,0BAA0B,EAE7CA,GAAY,eAAgB,KAAK,EAGjCA,GAAY,MAAO,0BAA0B,EAE7CA,GAAY,iBAAkB,KAAK,EAGnCA,GAAY,gBAAiB,0BAA0B,EAGvDA,GAAY,kBAAmB,yBAAyB,EAExDA,GAAY,YAAa,aAAa,EAEtCA,GAAY,WAAY,oBAAoB,EAE5CA,GAAY,SAAU,mBAAmB,EAEzCA,GAAY,UAAW,mBAAmB,EAE1CA,GAAY,QAAS,mCAAmC,EACxDA,GAAY,cAAe,uBAAuB,EAClDA,GAAY,gBAAiBtjB,GAAW,CACtC,GAAIA,EAAQ,OAAO,IAAI,UAAU,EAC/B,MAAM,IAAIhD,GAAW,gBAAgB,EAGvC,MAAO,4BACT,CAAC,EAUDsmB,GAAY,SAAU,6IAAuJ,EAC7KA,GAAY,QAAS,+EAAoF,EACzGA,GAAY,SAAU,+BAA+B,EACrDA,GAAY,QAAS,gGAA0G,EAM/HA,GAAY,YAAa,aAAa,EAKtCA,GAAY,QAAS,iFAA2F,EAehH,IAAIiR,GAAcxuB,GAAOnC,GAAgB,cAAc,EAAE,EAAiB,EAAE,CAAC,EAAI,GAAMA,GAAgB,cAAc,EAAE,EAAiB,EAAE,CAAC,CAAC,EAC5I0f,GAAY,UAAW,2BAA6B,2BAA6BiR,GAAc,sBAAwB,4BAA4B,EAEnJjR,GAAY,UAAW,2BAA6B,2BAA6BiR,GAAc,sBAAwB,4BAA4B,EAKnJjR,GAAY,WAAY,8BAA8B,EACtDA,GAAY,YAAa,mBAAmB,EAC5CA,GAAY,aAAc,mCAAmC,EAI7DA,GAAY,kBAAmB,GAAG,EAGlCA,GAAY,eAAgB,oCAAoC,EAEhEA,GAAY,aAAc,kGAA6G,EAEvIA,GAAY,aAAc,wFAAmG,EAG7HA,GAAY,aAAc,+FAA2G,EAErIA,GAAY,YAAa,4GAAwH,EAEjJA,GAAY,YAAa,4GAAwH,EAEjJA,GAAY,aAAc,wFAAmG,EAG7HA,GAAY,aAAc,+FAA2G,EAErIA,GAAY,YAAa,mGAA8G,EAEvIA,GAAY,YAAa,4GAAwH,EAEjJA,GAAY,gBAAiB,wGAAoH,EAEjJA,GAAY,gBAAiB,wGAAoH,EAEjJA,GAAY,aAAc,qGAAiH,EAE3IA,GAAY,aAAc,qGAAiH,EAE3IA,GAAY,IAAU,YAAY,EAElCA,GAAY,IAAU,WAAW,EAEjCA,GAAY,IAAU,YAAY,EAElCA,GAAY,IAAU,YAAY,EAElCA,GAAY,IAAU,YAAY,EAKlCA,GAAY,UAAW,cAAc,EACrCA,GAAY,eAAgB,YAAY,EACxCA,GAAY,gBAAiB,YAAY,EACzCA,GAAY,qBAAsB,YAAY,EAC9CA,GAAY,gBAAiB,YAAY,EACzCA,GAAY,qBAAsB,YAAY,EAC9CA,GAAY,eAAgB,WAAW,EACvCA,GAAY,oBAAqB,WAAW,EAC5CA,GAAY,eAAgB,WAAW,EACvCA,GAAY,oBAAqB,WAAW,EAE5CA,GAAY,qBAAsB,eAAe,EAEjDA,GAAY,kBAAmB,YAAY,EAE3CA,GAAY,aAAc,sDAAsD,EAChFA,GAAY,kBAAmB,oDAAoD,EACnFA,GAAY,gBAAiB,yDAAyD,EACtFA,GAAY,qBAAsB,uDAAuD,EAEzFA,GAAY,UAAW,+CAAoD,EAC3EA,GAAY,WAAY,mCAAmC,EAC3DA,GAAY,WAAY,mCAAmC,EAG3DA,GAAY,WAAY,mCAAmC,EAC3DA,GAAY,YAAa,oCAAoC,EAC7DA,GAAY,cAAe,yCAAyC,EACpEA,GAAY,cAAe,0CAA0C,EACrEA,GAAY,cAAe,gDAAgD,EAC3EA,GAAY,eAAgB,+CAA+C,EAG3EA,GAAY,cAAe,gCAAqC,EAChEA,GAAY,cAAe,gCAAqC,EAChEA,GAAY,UAAW,4BAAiC,EACxDA,GAAY,cAAe,gCAAqC,EAChEA,GAAY,UAAW,4BAAiC,EACxDA,GAAY,cAAe,gCAAqC,EAChEA,GAAY,cAAe,gCAAgC,EAC3DA,GAAY,mBAAoB,qCAAqC,EACrEA,GAAY,eAAgB,iCAAsC,EAClEA,GAAY,eAAgB,iCAAsC,EAClEA,GAAY,iBAAkB,mCAAmC,EACjEA,GAAY,kBAAmB,oCAAoC,EACnEA,GAAY,iBAAkB,mCAAmC,EACjEA,GAAY,kBAAmB,oCAAoC,EACnEA,GAAY,UAAW,4BAAiC,EACxDA,GAAY,UAAW,4BAAiC,EAKxDA,GAAY,cAAe,kEAAiF,EAC5GA,GAAY,cAAe,oEAAmF,EAC9GA,GAAY,IAAU,aAAa,EAEnCA,GAAY,IAAU,aAAa,EAEnCA,GAAY,WAAY,oEAAmF,EAC3GA,GAAY,WAAY,sEAAqF,EAC7GA,GAAY,IAAU,UAAU,EAEhCA,GAAY,IAAU,UAAU,EAMhCA,GAAY,WAAY,+IAA8J,EACtLA,GAAY,IAAK,UAAU,EAO3BA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,UAAU,EAChCA,GAAY,SAAU,UAAU,EAChCA,GAAY,SAAU,WAAW,EACjCA,GAAY,SAAU,WAAW,EACjCA,GAAY,SAAU,WAAW,EACjCA,GAAY,MAAO,aAAa,EAChCA,GAAY,MAAO,aAAa,EAChCA,GAAY,MAAO,aAAa,EAChCA,GAAY,SAAU,SAAS,EAC/BA,GAAY,YAAa,SAAS,EAClCA,GAAY,UAAW,aAAa,EACpCA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,UAAU,EAChCA,GAAY,QAAS,aAAa,EAClCA,GAAY,UAAW,YAAY,EACnCA,GAAY,UAAW,aAAa,EACpCA,GAAY,YAAa,aAAa,EACtCA,GAAY,WAAY,WAAW,EACnCA,GAAY,aAAc,eAAe,EACzCA,GAAY,UAAW,YAAY,EACnCA,GAAY,YAAa,aAAa,EACtCA,GAAY,QAAS,aAAa,EAClCA,GAAY,UAAW,UAAU,EACjCA,GAAY,SAAU,kBAAkB,EACxCA,GAAY,SAAU,kBAAkB,EACxCA,GAAY,SAAU,kBAAkB,EACxCA,GAAY,WAAY,aAAa,EACrCA,GAAY,UAAW,MAAM,EAC7BA,GAAY,UAAW,SAAS,EAChCA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,MAAM,EAC5BA,GAAY,UAAW,aAAa,EACpCA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,aAAa,EACnCA,GAAY,SAAU,aAAa,EACnCA,GAAY,UAAW,kBAAkB,EACzCA,GAAY,UAAW,kBAAkB,EACzCA,GAAY,UAAW,kBAAkB,EACzCA,GAAY,OAAQ,aAAa,EACjCA,GAAY,YAAa,aAAa,EACtCA,GAAY,OAAQ,aAAa,EACjCA,GAAY,YAAa,aAAa,EACtCA,GAAY,WAAY,MAAM,EAC9BA,GAAY,SAAU,cAAc,EACpCA,GAAY,SAAU,cAAc,EACpCA,GAAY,SAAU,cAAc,EACpCA,GAAY,SAAU,MAAM,EAC5BA,GAAY,UAAW,aAAa,EACpCA,GAAY,UAAW,aAAa,EACpCA,GAAY,QAAS,aAAa,EAClCA,GAAY,SAAU,QAAQ,EAC9BA,GAAY,SAAU,KAAK,EAC3BA,GAAY,WAAY,aAAa,EACrCA,GAAY,QAAS,UAAU,EAC/BA,GAAY,SAAU,YAAY,EAClCA,GAAY,SAAU,YAAY,EAClCA,GAAY,QAAS,aAAa,EAClCA,GAAY,aAAc,YAAY,EAEtCA,GAAY,WAAY,MAAM,EAC9BA,GAAY,SAAU,aAAa,EAInCA,GAAY,WAAY,mCAAmC,EAC3DA,GAAY,WAAY,mCAAmC,EAC3DA,GAAY,SAAU,+CAA+C,EAIrEA,GAAY,QAAS,4BAA4B,EACjDA,GAAY,QAAS,4BAA4B,EACjDA,GAAY,WAAY,mCAAmC,EAC3DA,GAAY,QAAS,0BAA0B,EAC/CA,GAAY,QAAS,0BAA0B,EAE/C,IAAIkR,GAAeC,GAAOz0B,GAAW,CACnC,IAAI1C,EAAO0C,EAAQ,WAAU,EAAG,OAC5B+c,EAAS/c,EAAQ,WAAU,EAAG,OAC9B00B,EAAe10B,EAAQ,WAAU,EAAG,OACpCzC,EAAQyC,EAAQ,WAAU,EAAG,OAC7B20B,EAAY30B,EAAQ,OAAO,IAAI,GAAG,EAClC40B,EAAkB50B,EAAQ,OAAO,IAAI,KAAK,EAC9CA,EAAQ,OAAO,WAAY,EAE3B,IAAI60B,EAAWC,GAAU90B,GAAW,CAC9By0B,IAEFz0B,EAAQ,OAAO,IAAI,IAAK20B,CAAS,EAE7BD,EAAa,QACf10B,EAAQ,OAAO,IAAI,MAAO40B,CAAe,GAI7C,IAAIG,EAAUD,EAEd,GAAI,CAACA,GAAUJ,EAAa,OAAQ,CAElC,IAAIf,EAAY3zB,EAAQ,OAAQ,EAE5B2zB,EAAU,OAAS,MACrB3zB,EAAQ,SAAU,EAClB+0B,EAAU,GAElB,CAEI,MAAO,CACL,OAAQA,EAAUL,EAAe3X,EACjC,QAAS,CACV,CACF,EAED/c,EAAQ,OAAO,IAAI,IAAK60B,EAAS,EAAK,CAAC,EAEnCH,EAAa,QACf10B,EAAQ,OAAO,IAAI,MAAO60B,EAAS,EAAI,CAAC,EAG1C,IAAIzkB,EAAMpQ,EAAQ,WAAU,EAAG,OAC3Bg1B,EAAWh1B,EAAQ,aAAa,CAAC,GAAGzC,EAAO,GAAG6S,EAAK,GAAG9S,CAC5D,CAAG,EACD,OAAA0C,EAAQ,OAAO,SAAU,EAClB,CACL,OAAQg1B,EAAS,QAAS,EAC1B,QAAS,CACV,CACH,EAEA1R,GAAY,YAAakR,GAAa,EAAK,CAAC,EAC5ClR,GAAY,YAAakR,GAAa,EAAI,CAAC,EAC3ClR,GAAY,WAAY,wFAA6F,EACrHA,GAAY,QAAS,oFAAyF,EAC9GA,GAAY,QAAS,oCAAoC,EAIzDA,GAAY,UAAW,YAAY,EAEnCA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,QAAS,2BAA2B,EAChDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,SAAU,uBAAuB,EAC7CA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,SAAU,2BAA2B,EACjDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,YAAa,2BAA2B,EACpDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,UAAW,2BAA2B,EAClDA,GAAY,WAAY,2BAA2B,EACnDA,GAAY,YAAa,2BAA2B,EAQpD,IAAI2R,GAAmB,CACrB,IAAK,GAEL,EAAK,GAEL,WAAY,GAEZ,aAAc,EAEhB,EACA,MAAMC,EAAc,CAClB,YAAY93B,EAAOwX,EAAUvQ,EAAM,CACjC,KAAK,SAAW,OAChB,KAAK,eAAiB,OACtB,KAAK,MAAQ,OACb,KAAK,OAAS,OACd,KAAK,MAAQ,OACb,KAAK,KAAO,OACZ,KAAK,SAAWuQ,EAChB,KAAK,eAAiB,EACtB,KAAK,KAAKxX,CAAK,EAEf,KAAK,OAAS,IAAIg2B,GAAUK,GAAQ7e,EAAS,MAAM,EACnD,KAAK,KAAOvQ,EACZ,KAAK,MAAQ,EACjB,CAOE,KAAKjH,EAAO,CACV,KAAK,MAAQ,IAAI+3B,GAAM/3B,EAAO,KAAK,QAAQ,CAC/C,CAME,WAAWg4B,EAAS,CAClB,KAAK,KAAOA,CAChB,CAME,YAAa,CACX,KAAK,OAAO,WAAY,CAC5B,CAME,UAAW,CACT,KAAK,OAAO,SAAU,CAC1B,CAOE,WAAY,CACV,KAAK,OAAO,UAAW,CAC3B,CAOE,QAAS,CACP,OAAI,KAAK,MAAM,SAAW,GACxB,KAAK,UAAU,KAAK,MAAM,IAAG,CAAE,EAG1B,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,CAC3C,CAME,UAAW,CACT,YAAK,OAAM,EAEJ,KAAK,MAAM,IAAK,CAC3B,CAOE,UAAUl4B,EAAO,CACf,KAAK,MAAM,KAAKA,CAAK,CACzB,CAME,WAAW2f,EAAQ,CACjB,KAAK,MAAM,KAAK,GAAGA,CAAM,CAC7B,CAOE,aAAawY,EAAY,CACvB,IAAI74B,EACAC,EACAogB,EAEJ,GAAIwY,EAAY,CAGd,GAFA,KAAK,cAAa,EAEd,KAAK,SAAS,OAAS,IACzB,OAAO,KAGT74B,EAAQ,KAAK,WAEZ,CACC,OAAAqgB,EACA,IAAApgB,CACD,EAAG,KAAK,WAAW,CAAC,GAAG,CAAC,CAC/B,MACO,CACC,OAAAogB,EACA,MAAArgB,EACA,IAAAC,CACR,EAAU,KAAK,WAAY,GAIvB,YAAK,UAAU,IAAIG,GAAM,MAAOH,EAAI,GAAG,CAAC,EACxC,KAAK,WAAWogB,CAAM,EACfrgB,EAAM,MAAMC,EAAK,EAAE,CAC9B,CAME,eAAgB,CACd,OAAS,CACP,IAAIS,EAAQ,KAAK,OAAQ,EAEzB,GAAIA,EAAM,OAAS,IACjB,KAAK,MAAM,IAAK,MAEhB,MAER,CACA,CAOE,WAAWo4B,EAAQ,CAOjB,IAAIzY,EAAS,CAAE,EACX0Y,EAAcD,GAAUA,EAAO,OAAS,EAEvCC,GAKH,KAAK,cAAe,EAGtB,IAAI/4B,EAAQ,KAAK,OAAQ,EACrB6f,EACAlV,EAAQ,EACR9I,EAAQ,EAEZ,EAAG,CAID,GAHAge,EAAM,KAAK,SAAU,EACrBQ,EAAO,KAAKR,CAAG,EAEXA,EAAI,OAAS,IACf,EAAElV,UACOkV,EAAI,OAAS,KAGtB,GAFA,EAAElV,EAEEA,IAAU,GACZ,MAAM,IAAInK,GAAW,UAAWqf,CAAG,UAE5BA,EAAI,OAAS,MACtB,MAAM,IAAIrf,GAAW,2DAAkEs4B,GAAUC,EAAcD,EAAOj3B,CAAK,EAAI,KAAO,IAAKge,CAAG,EAGhJ,GAAIiZ,GAAUC,EACZ,IAAKpuB,IAAU,GAAKA,IAAU,GAAKmuB,EAAOj3B,CAAK,IAAM,MAAQge,EAAI,OAASiZ,EAAOj3B,CAAK,GAGpF,GAFA,EAAEA,EAEEA,IAAUi3B,EAAO,OAAQ,CAE3BzY,EAAO,OAAO,CAACxe,EAAOA,CAAK,EAC3B,KACZ,OAEUA,EAAQ,CAGlB,OAAa8I,IAAU,GAAKouB,GAIxB,OAAI/4B,EAAM,OAAS,KAAOqgB,EAAOA,EAAO,OAAS,CAAC,EAAE,OAAS,MAC3DA,EAAO,IAAK,EACZA,EAAO,MAAO,GAGhBA,EAAO,QAAO,EAEP,CACL,OAAAA,EACA,MAAArgB,EACA,IAAK6f,CACN,CACL,CAOE,YAAYK,EAASE,EAAY,CAC/B,GAAIA,EAAY,CACd,GAAIA,EAAW,SAAWF,EAAU,EAClC,MAAM,IAAI1f,GAAW,4DAA4D,EAKnF,QAFIs4B,EAAS1Y,EAAW,CAAC,EAEhB,EAAI,EAAG,EAAI0Y,EAAO,OAAQ,IAAK,CACtC,IAAIjZ,EAAM,KAAK,SAAU,EAEzB,GAAIiZ,EAAO,CAAC,IAAMjZ,EAAI,KACpB,MAAM,IAAIrf,GAAW,gDAAiDqf,CAAG,CAEnF,CACA,CAII,QAFIlE,EAAO,CAAE,EAEJxW,EAAK,EAAGA,EAAK+a,EAAS/a,IAC7BwW,EAAK,KAAK,KAAK,WAAWyE,GAAcA,EAAWjb,EAAK,CAAC,CAAC,EAAE,MAAM,EAGpE,OAAOwW,CACX,CAOE,eAAeyW,EAAQ,CAGrB,GAFA,KAAK,gBAAkBA,EAEnB,KAAK,eAAiB,KAAK,SAAS,UACtC,MAAM,IAAI5xB,GAAW,0EAA+E,CAE1G,CAsBE,WAAWw4B,EAAgB,CACzB,IAAIC,EAAW,KAAK,SAAU,EAC1BzyB,EAAOyyB,EAAS,KAChBC,EAAaD,EAAS,SAAsC,KAA3B,KAAK,cAAczyB,CAAI,EAE5D,GAAI0yB,GAAa,MAAQF,GAAkBE,EAAU,aAAc,CACjE,GAAIF,GAAkBE,GAAa,MAAQ1yB,EAAK,CAAC,IAAM,MAAQ,CAAC,KAAK,UAAUA,CAAI,EACjF,MAAM,IAAIhG,GAAW,+BAAiCgG,CAAI,EAG5D,YAAK,UAAUyyB,CAAQ,EAChB,EACb,CAEI,KAAK,eAAe,CAAC,EACrB,IAAI5Y,EAAS6Y,EAAU,OACnBvd,EAAO,KAAK,YAAYud,EAAU,QAASA,EAAU,UAAU,EAEnE,GAAIA,EAAU,QAAS,CAErB7Y,EAASA,EAAO,QAEhB,QAASpb,EAAIob,EAAO,OAAS,EAAGpb,GAAK,EAAG,EAAEA,EAAG,CAC3C,IAAI4a,EAAMQ,EAAOpb,CAAC,EAElB,GAAI4a,EAAI,OAAS,IAAK,CACpB,GAAI5a,IAAM,EACR,MAAM,IAAIzE,GAAW,8CAA+Cqf,CAAG,EAKzE,GAFAA,EAAMQ,EAAO,EAAEpb,CAAC,EAEZ4a,EAAI,OAAS,IAEfQ,EAAO,OAAOpb,EAAI,EAAG,CAAC,UACb,UAAU,KAAK4a,EAAI,IAAI,EAEhCQ,EAAO,OAAOpb,EAAG,EAAG,GAAG0W,EAAK,CAACkE,EAAI,KAAO,CAAC,CAAC,MAE1C,OAAM,IAAIrf,GAAW,8BAA+Bqf,CAAG,CAEnE,CACA,CACK,CAGD,YAAK,WAAWQ,CAAM,EACfA,EAAO,MAClB,CASE,mBAAoB,CAClB,YAAK,WAAY,EACV,KAAK,OAAQ,CACxB,CAME,iBAAkB,CAChB,OACE,GAAI,KAAK,WAAY,IAAK,GAAO,CAE/B,IAAI3f,EAAQ,KAAK,MAAM,IAAG,EAG1B,OAAIA,EAAM,eACRA,EAAM,KAAO,WAGRA,CACf,CAKI,MAAM,IAAI,KACd,CAOE,YAAY8F,EAAM,CAChB,OAAO,KAAK,OAAO,IAAIA,CAAI,EAAI,KAAK,aAAa,CAAC,IAAIpG,GAAMoG,CAAI,CAAC,CAAC,EAAI,MAC1E,CAQE,aAAa6Z,EAAQ,CACnB,IAAI7L,EAAS,CAAE,EACX2kB,EAAiB,KAAK,MAAM,OAGhC,IAFA,KAAK,WAAW9Y,CAAM,EAEf,KAAK,MAAM,OAAS8Y,GAEzB,GAAI,KAAK,WAAW,EAAI,IAAM,GAAO,CAEnC,IAAIz4B,EAAQ,KAAK,MAAM,IAAK,EAExBA,EAAM,eAERA,EAAM,SAAW,GACjBA,EAAM,aAAe,IAGvB8T,EAAO,KAAK9T,CAAK,CACzB,CAKI,YAAK,eAAe8T,EAAO,MAAM,EAC1BA,CACX,CAOE,kBAAkBhO,EAAM,CACtB,IAAI6Z,EAAS,KAAK,YAAY7Z,CAAI,EAElC,OAAI6Z,GACKA,EAAO,IAAI3f,GAASA,EAAM,IAAI,EAAE,KAAK,EAAE,CAIpD,CAOE,cAAc8F,EAAM,CAClB,IAAI4yB,EAAa,KAAK,OAAO,IAAI5yB,CAAI,EAErC,GAAI4yB,GAAc,KAEhB,OAAOA,EAKT,GAAI5yB,EAAK,SAAW,EAAG,CACrB,IAAI6yB,EAAU,KAAK,MAAM,SAAS7yB,CAAI,EAEtC,GAAI6yB,GAAW,MAAQA,IAAY,GACjC,MAER,CAEI,IAAIH,EAAY,OAAOE,GAAe,WAAaA,EAAW,IAAI,EAAIA,EAEtE,GAAI,OAAOF,GAAc,SAAU,CACjC,IAAIhZ,EAAU,EAEd,GAAIgZ,EAAU,QAAQ,GAAG,IAAM,GAG7B,QAFII,EAAWJ,EAAU,QAAQ,MAAO,EAAE,EAEnCI,EAAS,QAAQ,KAAOpZ,EAAU,EAAE,IAAM,IAC/C,EAAEA,EAQN,QAJIqZ,EAAY,IAAIZ,GAAMO,EAAW,KAAK,QAAQ,EAC9C7Y,EAAS,CAAE,EACXR,EAAM0Z,EAAU,IAAK,EAElB1Z,EAAI,OAAS,OAClBQ,EAAO,KAAKR,CAAG,EACfA,EAAM0Z,EAAU,IAAK,EAGvBlZ,EAAO,QAAO,EAEd,IAAImY,EAAW,CACb,OAAAnY,EACA,QAAAH,CACD,EACD,OAAOsY,CACb,CAEI,OAAOU,CACX,CASE,UAAU1yB,EAAM,CACd,OAAO,KAAK,OAAO,IAAIA,CAAI,GAAKwvB,GAAU,eAAexvB,CAAI,GAAKqF,GAAQ,KAAK,eAAerF,CAAI,GAAKqF,GAAQ,KAAK,eAAerF,CAAI,GAAKiyB,GAAiB,eAAejyB,CAAI,CACpL,CAME,aAAaA,EAAM,CACjB,IAAIyZ,EAAQ,KAAK,OAAO,IAAIzZ,CAAI,EAChC,OAAOyZ,GAAS,KAAO,OAAOA,GAAU,UAAY,OAAOA,GAAU,YAAc,CAACA,EAAM,aAAe+V,GAAU,eAAexvB,CAAI,GAAK,CAACwvB,GAAUxvB,CAAI,EAAE,SAChK,CAEA,CAGA,IAAIgzB,GAAkB,2CAClBC,GAAe,OAAO,OAAO,CAC/B,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,EAAU,IACV,IAAU,IACV,EAAU,IACV,IAAU,IACV,EAAU,IACV,IAAU,IACV,EAAU,IACV,IAAU,IACV,IAAU,IACV,EAAU,IACV,EAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,EAAU,IACV,EAAU,IACV,EAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,GACZ,CAAC,EAIGC,GAAiB,CACnB,IAAK,CACH,KAAQ,MACR,KAAQ,SACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,SACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,QACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,SACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,OACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,SACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,SACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,OACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,OACT,EACD,IAAK,CACH,KAAQ,MACR,KAAQ,YACT,EACD,IAAK,CACH,KAAQ,KACT,EACD,IAAK,CACH,KAAQ,KACZ,CACA,EACIC,GAAiB,CACnB,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,MACL,EAAK,MACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,KACL,EAAK,IACP,EA+BA,IAAAC,GAAA,MAAMC,EAAO,CACX,YAA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iB,GACjB,aAAgB,SAChB,aAAgB,GAChB,WAAc,GACd,gBAAmB,EACnB,YAAe,GACf,oBAAuB,GACvB,cAAiB,GACjB,gBAAmB,0BACnB,gBAAmB,IACnB,aAAgB,GAChB,eAAkB,6CAClB,eAAkB,IAClB,UAAa,SACb,gBAAmB,GACnB,kBAAqB,6CACrB,kBAAqB,IACrB,KAAQ,GACR,YAAe,GACf,cAAiB,GACjB,eAAkB,EACnB,EACD,MAAS,CACP,YAAe,GACf,eAAkB,GAClB,UAAa,GACb,OAAU,EACV,WAAc,GACd,aAAgB,GAChB,YAAe,GACf,qBAAwB,GACxB,SAAY,GACZ,gBAAmB,GACnB,oBAAuB,EACvB,WAAc,WACd,QAAW,GACX,YAAe,GACf,QAAW,QACZ,EACD,QAAW,CACT,YAAe,GACf,eAAkB,GAClB,eAAkB,GAClB,WAAc,IACd,MAAS,IACT,OAAU,GACV,UAAa,GACb,cAAiB,EACjB,WAAc,GACd,cAAiB,GACjB,aAAgB,SAChB,gBAAmB,EACnB,YAAe,GACf,aAAgB,GAChB,eAAkB,0BAClB,WAAc,GACd,gBAAmB,GACnB,cAAiB,KACjB,aAAgB,CACd,UACA,UACA,UACA,UACA,UACA,SACD,EACD,aAAgB,CACd,UACA,UACA,UACA,UACA,UACA,UACA,SACD,EACD,eAAkB,CAChB,MACN,CACG,EACD,MAAS,CACP,YAAe,GACf,eAAkB,GAClB,oBAAuB,GACvB,cAAiB,GACjB,QAAW,EACX,WAAc,GACd,gBAAmB,gBACnB,WAAc,GACd,oBAAuB,EACxB,EACD,MAAS,CACP,YAAe,GACf,eAAkB,GAClB,cAAiB,GACjB,SAAY,EACZ,QAAW,EACX,WAAc,GACd,WAAc,IACd,WAAc,GACd,UAAa,GACb,WAAc,EACd,YAAe,EACf,eAAkB,KAClB,SAAY,GACZ,YAAe,GACf,iBAAoB,KACpB,kBAAqB,GACrB,OAAU,EACV,gBAAmB,eACpB,EACD,GAAM,CACJ,YAAe,GACf,eAAkB,GAClB,eAAkB,GAClB,gBAAmB,KACnB,eAAkB,IAClB,gBAAmB,GACnB,cAAiB,GACjB,YAAe,IAC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M,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,GAAI,EAAE,EAAGC,EAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,GAAI,EAAE,EAAGC,GAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAA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C,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,GAAK,GAAIC,EAAK,GAAIC,EAAK,EAAE,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI1C,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAI,GAAI,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,GAAK,GAAIC,EAAK,GAAIC,EAAK,EAAE,CAAE,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI1C,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAI,GAAI,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK,GAAIC,EAAK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,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,GAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGiR,GAAM,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,EAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,EAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,EAAG,EAAE,EAAGC,GAAO,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,GAAI,IAAK,GAAG,EAAGC,GAAO,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EAAGC,GAAO,CAAC,GAAI,GAAG,EAAGC,GAAO,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,EAAGC,GAAO,CAAC,EAAG,GAAG,E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EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,EAAG,CAAC,IAAK,CAAC,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,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,UAAU,EAClB,GAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,eAAe,EACvB,GAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,gBAAgB,EACxB,GAET,IAAK,IACH,MAAO,KAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MAAO,OAET,IAAK,IACH,YAAK,UAAU,aAAa,EACrB,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,MAAM,EACd,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,MAAM,EACd,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,UAAU,MAAM,EACd,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,MAAM,EACd,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,UAAU,MAAM,EACd,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MAA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CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,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T,IAAK,GACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MACF,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,OAAOD,EAAI,OAAO,CAAC,EAErB,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,I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C,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGiR,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,GAAI,GA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GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG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I,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAA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AAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,G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,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG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AET,IAAK,IACH,YAAK,MAAM,MAAM,EACV,GAET,IAAK,IACH,YAAK,MAAM,MAAM,EACV,GAET,IAAK,IACH,YAAK,MAAM,MAAM,EACV,GAET,IAAK,IACH,YAAK,MAAM,MAAM,EACV,GAET,IAAK,IACH,YAAK,MAAM,MAAM,EACV,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,IAAI,EACR,GAET,IAAK,IACH,YAAK,MAAM,IAAI,EACR,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,WAAW,EACf,GAET,IAAK,IACH,YAAK,SAAU,EACR,kBAET,IAAK,IACH,YAAK,MAAM,WAAW,EACf,GAET,IAAK,IACH,YAAK,SAAU,EACR,kBAET,IAAK,IACH,KAAK,MAAM,qBAAqB,EAChC,MACF,IAAK,IACH,KAAK,SAAU,EACf,MACF,IAAK,IACH,MAAO,4BAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,OAAAA,EAAI,OAASA,EAAI,OAAO,KAAM,EACvB,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,MAAO,SAEnB,CACO,EAAE,WAAW,EACd,MAAO,CAAC,cAAe,YAAa,oBAAqB,gBAAiB,sBAAuB,sBAAuB,yBAA0B,cAAe,sBAAuB,gBAAiB,iBAAkB,kBAAmB,sFAAuF,aAAc,aAAc,eAAgB,eAAgB,cAAe,cAAe,eAAgB,cAAe,mBAAoB,cAAe,mBAAoB,iBAAkB,gBAAiB,qCAAsC,cAAe,kBAAmB,mBAAoB,gBAAiB,eAAgB,qBAAsB,kBAAmB,eAAgB,eAAgB,mBAAoB,qBAAsB,wBAAyB,yBAA0B,wBAAyB,wBAAyB,wBAAyB,wBAAyB,yBAA0B,aAAc,eAAgB,0BAA2B,qBAAsB,cAAe,UAAW,UAAW,0EAA2E,YAAa,cAAe,aAAc,eAAgB,WAAY,YAAa,aAAc,cAAe,cAAe,eAAgB,kCAAmC,WAAY,UAAW,UAAW,SAAS,EACr1C,WAAY,CAAE,oBAAuB,CAAE,MAAS,CAAC,GAAI,EAAE,EAAG,UAAa,EAAO,EAAE,UAAa,CAAE,MAAS,CAAC,EAAE,EAAG,UAAa,EAAK,EAAI,UAAa,CAAE,MAAS,CAAC,EAAE,EAAG,UAAa,EAAK,EAAI,GAAM,CAAE,MAAS,CAAC,EAAG,EAAG,EAAE,EAAG,UAAa,IAAS,MAAS,CAAE,MAAS,CAAC,EAAG,EAAG,GAAI,EAAE,EAAG,UAAa,EAAO,EAAE,KAAQ,CAAE,MAAS,CAAC,EAAG,EAAG,EAAE,EAAG,UAAa,EAAO,EAAE,QAAW,CAAE,MAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAG,UAAa,EAAM,EACzmB,EACD,OAAOjB,CACX,EAAK,EACHhB,EAAQ,MAAQ7/J,GAChB,SAAS85B,IAAS,CAChB,KAAK,GAAK,CAAE,CAChB,CACEkV,SAAOlV,GAAQ,QAAQ,EACvBA,GAAO,UAAY+lI,EACnBA,EAAQ,OAAS/lI,GACV,IAAIA,EACb,EAAG,EACH/d,GAAO,OAASA,GAChB,IAAImyO,IAA0BnyO,GAG1BkqJ,IAAW,CACb,MAAO,EACP,OAAQ,EACR,KAAM,EACN,YAAa,EACb,aAAc,EACd,WAAY,EACZ,YAAa,EACb,WAAY,GACZ,SAAU,GACV,UAAW,GACX,SAAU,GACV,QAAS,GACT,UAAW,GACX,QAAS,GACT,aAAc,GACd,WAAY,GACZ,UAAW,GACX,QAAS,GACT,QAAS,GACT,WAAY,GACZ,SAAU,GACV,YAAa,GACb,aAAc,GACd,WAAY,GACZ,eAAgB,GAChB,gBAAiB,GACjB,aAAc,GACd,YAAa,GACb,UAAW,GACX,eAAgB,GAChB,oBAAqB,GACrB,qBAAsB,EACxB,EACIC,IAAY,CACd,OAAQ,EACR,KAAM,CACR,EACIC,IAAY,CACd,OAAQ,EACR,QAAS,EACT,KAAM,CACR,KACIgoF,KAAap+M,GAAA,KAAM,CACrB,aAAc,CACZ,KAAK,MAAQ,IAAI+lI,GAAgB,KAAO,CACtC,UAAW,OACX,OAAwB,IAAI,IAC5B,cAA+B,IAAI,IACnC,gBAAiC,IAAI,IACrC,MAAO,CAAE,EACT,SAAU,CAAE,EACZ,MAAO,CAAE,EACT,uBAAwB,GACxB,YAAa,OACb,WAAY,OACZ,YAAa,OACb,cAAe,MACrB,EAAM,EACF,KAAK,YAAch6H,GACnB,KAAK,kBAAoBD,GACzB,KAAK,gBAAkBE,GACvB,KAAK,YAAcJ,GACnB,KAAK,kBAAoBD,GACzB,KAAK,gBAAkBE,GACvB,KAAK,MAAQ,KAAK,MAAM,KAAK,IAAI,EACjC,KAAK,aAAe,KAAK,aAAa,KAAK,IAAI,EAC/C,KAAK,aAAe,KAAK,aAAa,KAAK,IAAI,EAC/C,KAAK,MAAO,EACZ,KAAK,QAAQU,GAAY,EAAC,IAAI,EAC9B,KAAK,SAAW2pH,IAChB,KAAK,UAAYC,IACjB,KAAK,UAAYC,GACrB,CAIE,OAAO19J,EAAM,CACX,KAAK,MAAM,QAAQ,MAAM,KAAK,CAC5B,KAAMA,EAAK,KACX,KAAMA,EAAK,MAAQ,KAAK,SAAU,EAClC,KAAMA,EAAK,MACX,UAAW,EACjB,CAAK,EACD,KAAK,MAAM,QAAQ,WAAa,KAAK,MAAM,QAAQ,MAAM,MAAM,EAAE,EAAE,CAAC,CACxE,CACE,SAAS7E,EAAI6C,EAAMgjH,EAAaxmH,EAAM,CACpC,IAAImrP,EAAc,KAAK,MAAM,QAAQ,WACrC,MAAMlrF,EAAM,KAAK,MAAM,QAAQ,OAAO,IAAIt/J,CAAE,EAC5C,GAAIs/J,EAAK,CACP,GAAI,KAAK,MAAM,QAAQ,YAAcA,EAAI,KAAO,KAAK,MAAM,QAAQ,aAAeA,EAAI,IACpF,MAAM,IAAI,MACR,yDAAyDA,EAAI,IAAI,iBAAiBA,EAAI,IAAI,IAAI,aAAa,KAAK,MAAM,QAAQ,WAAW,IAAI,qBAC9I,EAIH,GAFAkrF,EAAclrF,EAAI,IAAMA,EAAI,IAAM,KAAK,MAAM,QAAQ,WACrDA,EAAI,IAAMkrF,EACNlrF,GAAOz8J,IAASy8J,EAAI,MAAQz5C,GAAe,KAC7C,MAER,CAmBI,IAlBIA,GAAA,YAAAA,EAAa,OAAQ,OACvBA,EAAc,CAAE,KAAMhjH,EAAM,KAAAxD,CAAM,IAEhCA,GAAQ,MAAQwmH,EAAY,MAAQ,QACtCA,EAAc,CAAE,KAAMhjH,EAAM,KAAAxD,CAAM,GAEpC,KAAK,MAAM,QAAQ,OAAO,IAAIW,EAAI,CAChC,IAAKwqP,EACL,KAAA3nP,EACA,YAAagjH,EAAY,KACzB,KAAMA,EAAY,MAAQ,KAAK,SAAU,EACzC,UAAW,KAAK,MAAM,QAAQ,UAC9B,MAAO,CAAE,EACT,WAAY,CAAE,EACd,SAAU,KACV,SAAU,KACV,KAAMxmH,GAAQ,aACpB,CAAK,EACG,KAAK,MAAM,QAAQ,UAAW,CAChC,MAAMorP,EAAqB,KAAK,MAAM,QAAQ,OAAO,IAAI,KAAK,MAAM,QAAQ,SAAS,EACjFA,IACFA,EAAmB,UAAYzqP,EAEvC,CACQ,KAAK,MAAM,QAAQ,YACrB,KAAK,MAAM,QAAQ,WAAW,UAAU,KAAKA,CAAE,EAEjD,KAAK,MAAM,QAAQ,UAAYA,CACnC,CACE,gBAAgB0qP,EAAM,CACpB,IAAIppP,EACAs4C,EAAQ,EACZ,GAAI,CAAC8wM,EACH,MAAO,GAET,IAAKppP,EAAI,EAAGA,EAAI,KAAK,MAAM,QAAQ,SAAS,OAAQA,IAC9C,KAAK,MAAM,QAAQ,SAASA,CAAC,EAAE,OAAS,KAAK,SAAS,cAAgB,KAAK,MAAM,QAAQ,SAASA,CAAC,EAAE,OAASopP,GAChH9wM,IAEE,KAAK,MAAM,QAAQ,SAASt4C,CAAC,EAAE,OAAS,KAAK,SAAS,YAAc,KAAK,MAAM,QAAQ,SAASA,CAAC,EAAE,OAASopP,GAC9G9wM,IAGJ,OAAOA,CACX,CACE,WAAW+wM,EAAQC,EAAM9tP,EAAS+tP,EAAQ,CACxC,KAAK,MAAM,QAAQ,SAAS,KAAK,CAC/B,GAAI,KAAK,MAAM,QAAQ,SAAS,OAAO,SAAU,EACjD,KAAMF,EACN,GAAIC,EACJ,QAAS9tP,EAAQ,KACjB,KAAMA,EAAQ,MAAQ,KAAK,SAAU,EACrC,OAAA+tP,CACN,CAAK,CACL,CACE,UAAUF,EAAQC,EAAM9tP,EAASguP,EAAaC,EAAW,GAAO,CAC9D,GAAID,IAAgB,KAAK,SAAS,YACpB,KAAK,gBAAgBH,GAAU,EAAE,EACnC,EAAG,CACX,MAAM3tP,EAAQ,IAAI,MAAM,iDAAmD2tP,EAAS,GAAG,EACvF,MAAA3tP,EAAM,KAAO,CACX,KAAM,OACN,MAAO,OACP,KAAM,IACN,IAAK,CAAE,WAAY,EAAG,UAAW,EAAG,aAAc,EAAG,YAAa,CAAG,EACrE,SAAU,CAAC,sBAAsB,CAClC,EACKA,CACd,CAEI,YAAK,MAAM,QAAQ,SAAS,KAAK,CAC/B,GAAI,KAAK,MAAM,QAAQ,SAAS,OAAO,SAAU,EACjD,KAAM2tP,EACN,GAAIC,EACJ,SAAS9tP,GAAA,YAAAA,EAAS,OAAQ,GAC1B,MAAMA,GAAA,YAAAA,EAAS,OAAQ,KAAK,SAAU,EACtC,KAAMguP,EACN,SAAAC,CACN,CAAK,EACM,EACX,CACE,kBAAmB,CACjB,OAAO,KAAK,MAAM,QAAQ,MAAM,OAAS,CAC7C,CACE,2BAA4B,CAC1B,OAAO,KAAK,MAAM,QAAQ,MAAM,KAAMppP,GAAMA,EAAE,IAAI,CACtD,CACE,aAAc,CACZ,OAAO,KAAK,MAAM,QAAQ,QAC9B,CACE,UAAW,CACT,OAAO,KAAK,MAAM,QAAQ,KAC9B,CACE,WAAY,CACV,OAAO,KAAK,MAAM,QAAQ,MAC9B,CACE,kBAAmB,CACjB,OAAO,KAAK,MAAM,QAAQ,aAC9B,CACE,oBAAqB,CACnB,OAAO,KAAK,MAAM,QAAQ,eAC9B,CACE,SAAS3B,EAAI,CACX,OAAO,KAAK,MAAM,QAAQ,OAAO,IAAIA,CAAE,CAC3C,CACE,cAAe,CACb,MAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,OAAO,MAAM,CAC/C,CACE,uBAAwB,CACtB,KAAK,MAAM,QAAQ,uBAAyB,EAChD,CACE,wBAAyB,CACvB,KAAK,MAAM,QAAQ,uBAAyB,EAChD,CACE,qBAAsB,CACpB,OAAO,KAAK,MAAM,QAAQ,sBAC9B,CACE,QAAQoiK,EAAa,CACnB,KAAK,MAAM,QAAQ,YAAcA,CACrC,CACE,YAAY1lK,EAAM,CAChB,GAAIA,IAAS,OACX,MAAO,CAAE,EAEXA,EAAOA,EAAK,KAAM,EAClB,MAAM+sK,EAAO,WAAW,KAAK/sK,CAAI,IAAM,KAAO,GAAO,aAAa,KAAKA,CAAI,IAAM,KAAO,GAAQ,OAEhG,MAAO,CAAE,aADY+sK,IAAS,OAAS/sK,EAAOA,EAAK,QAAQ,kBAAmB,EAAE,GAAG,KAAM,EACnE,KAAA+sK,CAAM,CAChC,CACE,UAAW,OACT,OAAI,KAAK,MAAM,QAAQ,cAAgB,OAC9B,KAAK,MAAM,QAAQ,cAErB/wH,KAAY,EAAC,WAAbA,cAAuB,OAAQ,EAC1C,CACE,OAAQ,CACN,KAAK,MAAM,MAAO,EAClBb,GAAO,CACX,CACE,aAAa/5C,EAAK,CAChB,MAAMktP,EAAaltP,EAAI,KAAM,EACvB,CAAE,KAAA2rK,EAAM,YAAAwhF,CAAW,EAAK,KAAK,YAAYD,CAAU,EACnDluP,EAAU,CACd,KAAMmuP,EACN,KAAAxhF,CACD,EACD,OAAAh+H,GAAI,MAAM,iBAAiB,KAAK,UAAU3uC,CAAO,CAAC,EAAE,EAC7CA,CACX,CAIE,aAAagB,EAAK,CAChB,MAAMI,EAAQ,uCAAuC,KAAKJ,CAAG,EAC7D,IAAIgB,EAAQZ,GAAA,MAAAA,EAAQ,GAAKA,EAAM,CAAC,EAAE,KAAI,EAAK,cACvCgiG,EAAQhiG,GAAA,MAAAA,EAAQ,GAAKA,EAAM,CAAC,EAAE,KAAI,EAAK,OAC3C,GAAI,qBAAQ,IACL,OAAO,IAAI,SAAS,QAASY,CAAK,IACrCA,EAAQ,cACRohG,EAAQpiG,EAAI,KAAM,OAEf,CACL,MAAM6G,EAAQ,IAAI,OAAM,EAAG,MAC3BA,EAAM,MAAQ7F,EACV6F,EAAM,QAAU7F,IAClBA,EAAQ,cACRohG,EAAQpiG,EAAI,KAAM,EAE1B,CACI,KAAM,CAAE,KAAA2rK,EAAM,YAAAwhF,CAAW,EAAK,KAAK,YAAY/qJ,CAAK,EACpD,MAAO,CACL,KAAM+qJ,EAAc/2M,GAAa+2M,EAAavyM,GAAU,CAAE,EAAI,OAC9D,MAAA55C,EACA,KAAA2qK,CACD,CACL,CACE,QAAQyhF,EAAOC,EAAWruP,EAAS,CACjC,MAAMqoH,EAAO,CACX,MAAA+lI,EACA,UAAAC,EACA,QAASruP,EAAQ,KACjB,KAAMA,EAAQ,MAAQ,KAAK,SAAQ,CACpC,EACKsuP,EAAS,CAAE,EAAC,OAAOF,EAAOA,CAAK,EACrC,KAAK,MAAM,QAAQ,MAAM,KAAK/lI,CAAI,EAClC,KAAK,MAAM,QAAQ,SAAS,KAAK,CAC/B,GAAI,KAAK,MAAM,QAAQ,SAAS,OAAO,SAAU,EACjD,KAAMimI,EAAO,CAAC,EACd,GAAIA,EAAO,CAAC,EACZ,QAAStuP,EAAQ,KACjB,KAAMA,EAAQ,MAAQ,KAAK,SAAU,EACrC,KAAM,KAAK,SAAS,KACpB,UAAAquP,CACN,CAAK,CACL,CACE,SAASE,EAAS3uP,EAAM,CACtB,MAAMwuP,EAAQ,KAAK,SAASG,CAAO,EACnC,GAAI,CACF,IAAIC,EAAgBp3M,GAAax3C,EAAK,KAAMg8C,GAAU,CAAE,EACxD4yM,EAAgBA,EAAc,QAAQ,YAAa,GAAG,EACtDA,EAAgBA,EAAc,QAAQ,SAAU,GAAG,EACnD,MAAM1jJ,EAAQ,KAAK,MAAM0jJ,CAAa,EACtC,KAAK,YAAYJ,EAAOtjJ,CAAK,CAC9B,OAAQvuE,EAAG,CACVoS,GAAI,MAAM,sCAAuCpS,CAAC,CACxD,CACA,CACE,SAASgyN,EAAS3uP,EAAM,CACtB,MAAMwuP,EAAQ,KAAK,SAASG,CAAO,EACnC,GAAI,CACF,MAAMzjJ,EAAQ,CAAE,EAChB,IAAI0jJ,EAAgBp3M,GAAax3C,EAAK,KAAMg8C,GAAU,CAAE,EACxD,MAAMw2G,EAAMo8F,EAAc,QAAQ,GAAG,EACrCA,EAAgBA,EAAc,QAAQ,YAAa,GAAG,EACtDA,EAAgBA,EAAc,QAAQ,SAAU,GAAG,EACnD,MAAMtoP,EAAQsoP,EAAc,MAAM,EAAGp8F,EAAM,CAAC,EAAE,KAAM,EAC9ClrD,EAAOsnJ,EAAc,MAAMp8F,EAAM,CAAC,EAAE,KAAM,EAChDtnD,EAAM5kG,CAAK,EAAIghG,EACf,KAAK,YAAYknJ,EAAOtjJ,CAAK,CAC9B,OAAQvuE,EAAG,CACVoS,GAAI,MAAM,sCAAuCpS,CAAC,CACxD,CACA,CACE,YAAY6xN,EAAOtjJ,EAAO,CACxB,GAAIsjJ,EAAM,OAAS,KACjBA,EAAM,MAAQtjJ,MAEd,WAAWrjG,KAAOqjG,EAChBsjJ,EAAM,MAAM3mP,CAAG,EAAIqjG,EAAMrjG,CAAG,CAGpC,CACE,cAAc8mP,EAAS3uP,EAAM,CAC3B,MAAMwuP,EAAQ,KAAK,SAASG,CAAO,EACnC,GAAI,CACF,MAAMC,EAAgBp3M,GAAax3C,EAAK,KAAMg8C,GAAU,CAAE,EACpD6yM,EAAa,KAAK,MAAMD,CAAa,EAC3C,KAAK,iBAAiBJ,EAAOK,CAAU,CACxC,OAAQlyN,EAAG,CACVoS,GAAI,MAAM,4CAA6CpS,CAAC,CAC9D,CACA,CACE,iBAAiB6xN,EAAOK,EAAY,CAClC,GAAIL,EAAM,YAAc,KACtBA,EAAM,WAAaK,MAEnB,WAAWhnP,KAAOgnP,EAChBL,EAAM,WAAW3mP,CAAG,EAAIgnP,EAAWhnP,CAAG,CAG9C,CACE,QAAS,CACP,KAAK,MAAM,QAAQ,WAAa,MACpC,CACE,WAAW8mP,EAAS3uP,EAAM,CACxB,MAAMwuP,EAAQ,KAAK,SAASG,CAAO,EAC7B7tP,EAAO,SAAS,eAAed,EAAK,IAAI,EAC9C,GAAI,CACF,MAAMm2G,EAAQr1G,EAAK,UACb00L,EAAU,KAAK,MAAMr/E,CAAK,EAC5Bq/E,EAAQ,YACV,KAAK,iBAAiBg5D,EAAOh5D,EAAQ,UAAU,EAE7CA,EAAQ,OACV,KAAK,YAAYg5D,EAAOh5D,EAAQ,KAAK,CAExC,OAAQ74J,EAAG,CACVoS,GAAI,MAAM,yCAA0CpS,CAAC,CAC3D,CACA,CACE,iBAAiB6xN,EAAO3mP,EAAK,CAC3B,IAAI2mP,GAAA,YAAAA,EAAO,cAAe,OACxB,OAAOA,EAAM,WAAW3mP,CAAG,CAGjC,CAEE,MAAMohM,EAAO,CACX,GAAI,MAAM,QAAQA,CAAK,EACrBA,EAAM,QAASn+F,GAAS,CACtB,KAAK,MAAMA,CAAI,CACvB,CAAO,MAED,QAAQm+F,EAAM,KAAI,CAChB,IAAK,gBACH,KAAK,MAAM,QAAQ,SAAS,KAAK,CAC/B,GAAI,KAAK,MAAM,QAAQ,SAAS,OAAO,SAAU,EACjD,KAAM,OACN,GAAI,OACJ,QAAS,CACP,MAAOA,EAAM,cACb,KAAMA,EAAM,kBACZ,QAASA,EAAM,eAChB,EACD,KAAM,GACN,KAAMA,EAAM,UACxB,CAAW,EACD,MACF,IAAK,iBACH,KAAK,SAASA,EAAM,MAAOA,EAAM,MAAOA,EAAM,YAAaA,EAAM,IAAI,EACrE,MACF,IAAK,oBACH,GAAI,KAAK,MAAM,QAAQ,OAAO,IAAIA,EAAM,KAAK,EAC3C,MAAM,IAAI,MACR,oJACD,EAEH,KAAK,MAAM,QAAQ,YAAcA,EAAM,MACvC,KAAK,SAASA,EAAM,MAAOA,EAAM,MAAOA,EAAM,YAAaA,EAAM,IAAI,EACrE,KAAK,MAAM,QAAQ,cAAc,IAAIA,EAAM,MAAO,KAAK,MAAM,QAAQ,SAAS,MAAM,EACpF,MACF,IAAK,qBACH,KAAK,MAAM,QAAQ,cAAgBA,EAAM,MACzC,KAAK,MAAM,QAAQ,gBAAgB,IAAIA,EAAM,MAAO,KAAK,MAAM,QAAQ,SAAS,MAAM,EACtF,MACF,IAAK,cACH,KAAK,UAAUA,EAAM,MAAO,OAAQ,OAAQA,EAAM,UAAU,EAC5D,MACF,IAAK,YACH,KAAK,UAAUA,EAAM,MAAO,OAAQ,OAAQA,EAAM,UAAU,EAC5D,MACF,IAAK,UACH,KAAK,QAAQA,EAAM,MAAOA,EAAM,UAAWA,EAAM,IAAI,EACrD,MACF,IAAK,WACH,KAAK,SAASA,EAAM,MAAOA,EAAM,IAAI,EACrC,MACF,IAAK,WACH,KAAK,SAASA,EAAM,MAAOA,EAAM,IAAI,EACrC,MACF,IAAK,gBACH,KAAK,cAAcA,EAAM,MAAOA,EAAM,IAAI,EAC1C,MACF,IAAK,aACH,KAAK,WAAWA,EAAM,MAAOA,EAAM,IAAI,EACvC,MACF,IAAK,aACH,GAAI,KAAK,MAAM,QAAQ,YAAa,CAClC,GAAIA,EAAM,KAAO,KAAK,MAAM,QAAQ,YAClC,MAAM,IAAI,MACR,2BAA6B,KAAK,MAAM,QAAQ,YAAY,KAAO,yGACpE,EAED,KAAK,MAAM,QAAQ,YAAc,MAEpC,SAAU,KAAK,MAAM,QAAQ,cAAe,CAC3C,GAAIA,EAAM,KAAO,KAAK,MAAM,QAAQ,eAAiBA,EAAM,OAAS,KAAK,MAAM,QAAQ,cACrF,MAAM,IAAI,MACR,6BAA+B,KAAK,MAAM,QAAQ,cAAc,KAAO,2GACxE,EAED,KAAK,MAAM,QAAQ,cAAgB,MAEjD,CACU,KAAK,UAAUA,EAAM,KAAMA,EAAM,GAAIA,EAAM,IAAKA,EAAM,WAAYA,EAAM,QAAQ,EAChF,MACF,IAAK,WACH,KAAK,OAAOA,EAAM,OAAO,EACzB,MACF,IAAK,SACH,KAAK,OAAQ,EACb,MACF,IAAK,YACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,SAAUA,EAAM,UAAU,EAC/D,MACF,IAAK,UACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,MACF,IAAK,YACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,MAAOA,EAAM,UAAU,EAC5D,MACF,IAAK,UACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,MACF,IAAK,WACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,QAASA,EAAM,UAAU,EAC9D,MACF,IAAK,SACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,MACF,IAAK,WACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,QAASA,EAAM,UAAU,EAC9D,MACF,IAAK,OACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,QAASA,EAAM,UAAU,EAC9D,MACF,IAAK,SACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,MACF,IAAK,cACHztJ,GAAYytJ,EAAM,IAAI,EACtB,MACF,IAAK,WACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,QAASA,EAAM,UAAU,EAC9D,MACF,IAAK,MACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,QAASA,EAAM,UAAU,EAC9D,MACF,IAAK,SACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,MACF,IAAK,gBACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,aAAcA,EAAM,UAAU,EACnE,MACF,IAAK,SACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,WAAYA,EAAM,UAAU,EACjE,MACF,IAAK,cACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,MACF,IAAK,aACH,KAAK,UAAU,OAAQ,OAAQA,EAAM,UAAWA,EAAM,UAAU,EAChE,MACF,IAAK,WACH,KAAK,UAAU,OAAQ,OAAQ,OAAQA,EAAM,UAAU,EACvD,KACV,CAEA,CACE,WAAY,CACV,OAAOjtJ,GAAY,EAAC,QACxB,CACA,EAhcItN,EAAOe,GAAM,YAAY,EAhCZA,IAmebmL,IAA4BlM,EAAQ5rC,GAAY;AAAA,cACtCA,EAAQ,WAAW;AAAA,YACrBA,EAAQ,QAAQ;AAAA;;AAAA;AAAA,YAIhBA,EAAQ,cAAc;AAAA;AAAA;;AAAA;AAAA,cAKpBA,EAAQ,cAAc;AAAA;;AAAA;AAAA;AAAA;AAAA,cAMtBA,EAAQ,WAAW;AAAA;;AAAA;AAAA;AAAA;AAAA,cAMnBA,EAAQ,WAAW;AAAA;;AAAA;AAAA,YAIrBA,EAAQ,WAAW;AAAA,cACjBA,EAAQ,WAAW;AAAA;;AAAA;AAAA,YAIrBA,EAAQ,mBAAmB;AAAA;;AAAA;AAAA,YAI3BA,EAAQ,WAAW;AAAA;;AAAA;AAAA,YAInBA,EAAQ,WAAW;AAAA,cACjBA,EAAQ,WAAW;AAAA;;AAAA;AAAA,YAIrBA,EAAQ,eAAe;AAAA;AAAA;;AAAA;AAAA,cAKrBA,EAAQ,mBAAmB;AAAA,YAC7BA,EAAQ,gBAAgB;AAAA;;AAAA;AAAA,YAIxBA,EAAQ,cAAc;AAAA;AAAA;;AAAA;AAAA,YAKtBA,EAAQ,aAAa;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,cAOnBA,EAAQ,mBAAmB;AAAA,YAC7BA,EAAQ,mBAAmB;AAAA;;AAAA;AAAA;AAAA,cAKzBA,EAAQ,eAAe;AAAA,YACzBA,EAAQ,YAAY;AAAA;;AAAA;AAAA,YAIpBA,EAAQ,aAAa;AAAA;AAAA;;AAAA;AAAA,YAKrBA,EAAQ,kBAAkB;AAAA,cACxBA,EAAQ,qBAAqB;AAAA;;AAAA;AAAA,YAI/BA,EAAQ,kBAAkB;AAAA,cACxBA,EAAQ,qBAAqB;AAAA;;AAAA;AAAA,YAI/BA,EAAQ,kBAAkB;AAAA,cACxBA,EAAQ,qBAAqB;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,YAS/BA,EAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,cAKdA,EAAQ,WAAW;AAAA,YACrBA,EAAQ,QAAQ;AAAA;AAAA;AAAA,cAGdA,EAAQ,WAAW;AAAA,YACrBA,EAAQ,QAAQ;AAAA;AAAA;AAAA,EAGzB,WAAW,EACVm4C,IAAiBL,IAOjBk0M,GAAmB,GAAK,EACxBC,GAAkB,YAClBC,GAAqB,eACrBC,IAAkB,YAClBC,GAAyB,YACzBlpF,GAA4Bt3H,EAAO,SAAS5tC,EAAMu6J,EAAU,CAC9D,OAAO70C,GAAS1lH,EAAMu6J,CAAQ,CAChC,EAAG,UAAU,EACT8zF,IAA4BzgN,EAAO,SAAS5tC,EAAM0tP,EAAOY,EAAcrnF,EAAWsnF,EAAY,CAChG,GAAIb,EAAM,QAAU,QAAUA,EAAM,QAAU,MAAQ,OAAO,KAAKA,EAAM,KAAK,EAAE,SAAW,EACxF,MAAO,CAAE,OAAQ,EAAG,MAAO,CAAG,EAEhC,MAAMtjJ,EAAQsjJ,EAAM,MACdc,EAAYd,EAAM,SAClBnzF,EAAWmzF,EAAM,SACvB,IAAIe,EAAe,OACfF,IACFE,EAAe,oBAEjB,MAAMjyN,EAAIx8B,EAAK,OAAO,GAAG,EACzBw8B,EAAE,KAAK,KAAM,QAAUgyN,EAAY,QAAQ,EAC3ChyN,EAAE,KAAK,QAAS,gBAAgB,EAChCA,EAAE,KAAK,UAAWiyN,CAAY,EAC9B,IAAIC,EAAa,GACbn0F,EAAS,QAAU,SACrBm0F,EAAa,IAAMn0F,EAAS,OAE9B,IAAIo0F,EAAYp0F,EAAS,MAAQ+zF,EAAe/zF,EAAS,MAAQ+zF,EACjE,MAAMM,EAAWpyN,EAAE,OAAO,MAAM,EAUhC,GATAoyN,EAAS,KAAK,QAAS,sBAAwBF,CAAU,EACzDE,EAAS,KAAK,IAAKr0F,EAAS,CAAC,EAC7Bq0F,EAAS,KAAK,IAAKr0F,EAAS,MAAM,EAClCq0F,EAAS,KAAK,OAAQr0F,EAAS,IAAI,EACnCq0F,EAAS,KAAK,SAAUr0F,EAAS,MAAM,EACvCq0F,EAAS,KAAK,QAASD,CAAS,EAChCC,EAAS,KAAK,SAAUr0F,EAAS,MAAM,EACvCq0F,EAAS,KAAK,KAAMr0F,EAAS,EAAE,EAC/Bq0F,EAAS,KAAK,KAAMr0F,EAAS,EAAE,EAC3BnwD,GAAS,KAAM,CACjB,IAAIykJ,EAAQ,GACZ,QAAS9nP,KAAOqjG,EAAO,CACrB,IAAI0kJ,EAAWtyN,EAAE,OAAO,GAAG,EACvBs+H,EAAgB1/F,eAAYgvC,EAAMrjG,CAAG,CAAC,EAC1C+nP,EAAS,KAAK,aAAch0F,CAAa,EACzCg0F,EAAS,KAAK,SAAU,QAAQ,EAChCC,IAA+B9nF,CAAS,EACtClgK,EACA+nP,EACAv0F,EAAS,EAAI,GACbA,EAAS,OAASs0F,EAClBF,EACA,GACA,CAAE,MAAO,OAAS,EAClB1nF,CACD,EACD4nF,GAAS,EACf,CACA,CACE,OAAAD,EAAS,KAAK,SAAUC,CAAK,EACtB,CAAE,OAAQt0F,EAAS,OAASs0F,EAAO,MAAOF,CAAW,CAC9D,EAAG,WAAW,EACVK,IAAkCphN,EAAO,SAASqhN,EAAO,CAC3D,MAAO,qCAAuCA,EAAQ,4FACxD,EAAG,iBAAiB,EAChBC,GAA4BthN,EAAO,eAAe5tC,EAAMogG,EAAU+uJ,EAAW,KAAM,CACrF,IAAI3uJ,EAAWxgG,EAAK,OAAO,eAAe,EAC1C,MAAMqZ,EAAQ,MAAMm/B,GAAY4nD,EAAS,KAAM7qD,GAAS,CAAE,EAEpDmD,EADU8nD,EAAS,OAAO,WAAW,EAAE,KAAK,QAAS,qBAAqB,EAAE,KAAK,QAAS,8BAA8B,EAAE,KAAKnnF,CAAK,EACtH,KAAI,EAAG,sBAAuB,EAElD,GADAmnF,EAAS,KAAK,SAAU,KAAK,MAAM9nD,EAAI,MAAM,CAAC,EAAE,KAAK,QAAS,KAAK,MAAMA,EAAI,KAAK,CAAC,EAC/E0nD,EAAS,QAAU,WAAY,CACjC,MAAMwuJ,EAAW5uP,EAAK,KAAI,EAAG,WAC7B4uP,EAAS,aAAa,SAAUl2M,EAAI,OAAS,EAAI0nD,EAAS,UAAU,EACpE,MAAMgvJ,EAAUR,EAAS,QAAS,EAClCpuJ,EAAS,KAAK,IAAK,KAAK,MAAM4uJ,EAAQ,EAAIA,EAAQ,MAAQ,EAAI12M,EAAI,MAAQ,CAAC,CAAC,EAAE,KAAK,IAAK,KAAK,MAAM02M,EAAQ,EAAIA,EAAQ,OAAS,EAAI12M,EAAI,OAAS,CAAC,CAAC,CACpJ,SAAUy2M,EAAU,CACnB,GAAI,CAAE,OAAArnF,EAAQ,MAAAC,EAAO,OAAAC,CAAQ,EAAGmnF,EAChC,GAAIrnF,EAASC,EAAO,CAClB,MAAMsnF,EAAOvnF,EACbA,EAASC,EACTA,EAAQsnF,CACd,CACI7uJ,EAAS,KAAK,IAAK,KAAK,MAAMsnE,EAAS,KAAK,IAAIA,EAASC,CAAK,EAAI,EAAIrvH,EAAI,MAAQ,CAAC,CAAC,EAChF0nD,EAAS,QAAU,WACrBI,EAAS,KAAK,IAAK,KAAK,MAAMwnE,CAAM,CAAC,EAErCxnE,EAAS,KAAK,IAAK,KAAK,MAAMwnE,EAAStvH,EAAI,MAAM,CAAC,CAExD,CACE,MAAO,CAAC8nD,CAAQ,CAClB,EAAG,WAAW,EACVm6D,GAA2B/sH,EAAO,SAAS5tC,EAAMogG,EAAU,CAC7D,IAAIkvJ,EAAiB,EACjB99H,EAAa,EACjB,MAAMn4G,EAAQ+mF,EAAS,KAAK,MAAMtnD,GAAe,cAAc,EACzD,CAACy2M,EAAeC,CAAe,EAAIjvJ,GAAcH,EAAS,QAAQ,EACxE,IAAIqvJ,EAAY,CAAE,EACdv+N,EAAK,EACLw+N,EAAwB9hN,EAAO,IAAMwyD,EAAS,EAAG,OAAO,EAC5D,GAAIA,EAAS,SAAW,QAAUA,EAAS,aAAe,QAAUA,EAAS,WAAa,EACxF,OAAQA,EAAS,OAAM,CACrB,IAAK,MACL,IAAK,QACHsvJ,EAAwB9hN,EAAO,IAAM,KAAK,MAAMwyD,EAAS,EAAIA,EAAS,UAAU,EAAG,OAAO,EAC1F,MACF,IAAK,SACL,IAAK,SACHsvJ,EAAwB9hN,EAAO,IAAM,KAAK,MAAMwyD,EAAS,GAAKkvJ,EAAiB99H,EAAapxB,EAAS,YAAc,CAAC,EAAG,OAAO,EAC9H,MACF,IAAK,SACL,IAAK,MACHsvJ,EAAwB9hN,EAAO,IAAM,KAAK,MACxCwyD,EAAS,GAAKkvJ,EAAiB99H,EAAa,EAAIpxB,EAAS,YAAcA,EAAS,UACjF,EAAE,OAAO,EACV,KACR,CAEE,GAAIA,EAAS,SAAW,QAAUA,EAAS,aAAe,QAAUA,EAAS,QAAU,OACrF,OAAQA,EAAS,OAAM,CACrB,IAAK,OACL,IAAK,QACHA,EAAS,EAAI,KAAK,MAAMA,EAAS,EAAIA,EAAS,UAAU,EACxDA,EAAS,OAAS,QAClBA,EAAS,iBAAmB,SAC5BA,EAAS,kBAAoB,SAC7B,MACF,IAAK,SACL,IAAK,SACHA,EAAS,EAAI,KAAK,MAAMA,EAAS,EAAIA,EAAS,MAAQ,CAAC,EACvDA,EAAS,OAAS,SAClBA,EAAS,iBAAmB,SAC5BA,EAAS,kBAAoB,SAC7B,MACF,IAAK,QACL,IAAK,MACHA,EAAS,EAAI,KAAK,MAAMA,EAAS,EAAIA,EAAS,MAAQA,EAAS,UAAU,EACzEA,EAAS,OAAS,MAClBA,EAAS,iBAAmB,SAC5BA,EAAS,kBAAoB,SAC7B,KACR,CAEE,OAAS,CAACt8F,EAAGoL,CAAI,IAAKmK,EAAM,QAAO,EAAI,CACjC+mF,EAAS,aAAe,QAAUA,EAAS,aAAe,GAAKmvJ,IAAkB,SACnFr+N,EAAKptB,EAAIyrP,GAEX,MAAM/uJ,EAAWxgG,EAAK,OAAO,MAAM,EACnCwgG,EAAS,KAAK,IAAKJ,EAAS,CAAC,EAC7BI,EAAS,KAAK,IAAKkvJ,GAAO,EACtBtvJ,EAAS,SAAW,QACtBI,EAAS,KAAK,cAAeJ,EAAS,MAAM,EAAE,KAAK,oBAAqBA,EAAS,gBAAgB,EAAE,KAAK,qBAAsBA,EAAS,iBAAiB,EAEtJA,EAAS,aAAe,QAC1BI,EAAS,MAAM,cAAeJ,EAAS,UAAU,EAE/CovJ,IAAoB,QACtBhvJ,EAAS,MAAM,YAAagvJ,CAAe,EAEzCpvJ,EAAS,aAAe,QAC1BI,EAAS,MAAM,cAAeJ,EAAS,UAAU,EAE/CA,EAAS,OAAS,QACpBI,EAAS,KAAK,OAAQJ,EAAS,IAAI,EAEjCA,EAAS,QAAU,QACrBI,EAAS,KAAK,QAASJ,EAAS,KAAK,EAEnCA,EAAS,KAAO,OAClBI,EAAS,KAAK,KAAMJ,EAAS,EAAE,EACtBlvE,IAAO,GAChBsvE,EAAS,KAAK,KAAMtvE,CAAE,EAExB,MAAMhyB,EAAOgQ,GAAQwtF,GACrB,GAAI0D,EAAS,MAAO,CAClB,MAAMx2F,EAAO42F,EAAS,OAAO,OAAO,EACpC52F,EAAK,KAAK,IAAKw2F,EAAS,CAAC,EACrBA,EAAS,OAAS,QACpBx2F,EAAK,KAAK,OAAQw2F,EAAS,IAAI,EAEjCx2F,EAAK,KAAK1K,CAAI,CACpB,MACMshG,EAAS,KAAKthG,CAAI,EAEhBkhG,EAAS,SAAW,QAAUA,EAAS,aAAe,QAAUA,EAAS,WAAa,IACxFoxB,IAAehxB,EAAS,SAAWA,GAAU,CAAC,EAAE,CAAC,EAAE,QAAO,EAAG,OAC7D8uJ,EAAiB99H,GAEnBi+H,EAAU,KAAKjvJ,CAAQ,CAC3B,CACE,OAAOivJ,CACT,EAAG,UAAU,EACTE,GAA4B/hN,EAAO,SAAS5tC,EAAM4vP,EAAW,CAC/D,SAASC,EAAU/qP,EAAGD,EAAG8E,EAAOrE,EAAQwqP,EAAK,CAC3C,OAAOhrP,EAAI,IAAMD,EAAI,KAAOC,EAAI6E,GAAS,IAAM9E,EAAI,KAAOC,EAAI6E,GAAS,KAAO9E,EAAIS,EAASwqP,GAAO,KAAOhrP,EAAI6E,EAAQmmP,EAAM,KAAO,KAAOjrP,EAAIS,GAAU,IAAMR,EAAI,KAAOD,EAAIS,EAChL,CACEsoC,EAAOiiN,EAAW,WAAW,EAC7B,MAAMpyI,EAAUz9G,EAAK,OAAO,SAAS,EACrC,OAAAy9G,EAAQ,KAAK,SAAUoyI,EAAUD,EAAU,EAAGA,EAAU,EAAGA,EAAU,MAAOA,EAAU,OAAQ,CAAC,CAAC,EAChGnyI,EAAQ,KAAK,QAAS,UAAU,EAChCmyI,EAAU,EAAIA,EAAU,EAAIA,EAAU,OAAS,EAC/Cj1F,GAAS36J,EAAM4vP,CAAS,EACjBnyI,CACT,EAAG,WAAW,EACVsyI,GAAW,GACXC,GAAqCpiN,EAAO,CAAC4vF,EAAUowH,EAAQqC,EAAW3qF,IAAU,CACjF9nC,EAAS,QAGdyyH,EAAU,QAASC,GAAa,CAC9B,MAAMxC,EAAQE,EAAO,IAAIsC,CAAQ,EAC3BC,EAAW3yH,EAAS,OAAO,SAAWkwH,EAAM,QAAQ,EACtD,CAACpoF,EAAM,cAAgBooF,EAAM,MAC/ByC,EAAS,KAAK,KAAMzC,EAAM,MAAQA,EAAM,OAAS,CAAC,EACzCpoF,EAAM,cACf6qF,EAAS,KAAK,KAAMzC,EAAM,KAAK,CAErC,CAAG,CACH,EAAG,oBAAoB,EACnB0C,IAA2CxiN,EAAO,SAAS5tC,EAAM0tP,EAAOpoF,EAAO+qF,EAAU,SAC3F,MAAMC,EAASD,EAAW3C,EAAM,MAAQA,EAAM,OACxC5tO,EAAS4tO,EAAM,EAAIA,EAAM,MAAQ,EACjC92I,EAAU05I,EAAS5C,EAAM,OACzB6C,EAAmBvwP,EAAK,OAAO,GAAG,EAAE,MAAO,EACjD,IAAIw8B,EAAI+zN,EACHF,IACHN,KACI,OAAO,KAAKrC,EAAM,OAAS,CAAE,GAAE,QAAU,CAACpoF,EAAM,YAClD9oI,EAAE,KAAK,UAAWwyN,IAAgB,QAAQe,EAAQ,QAAQ,CAAC,EAAE,KAAK,SAAU,SAAS,EAEvFvzN,EAAE,OAAO,MAAM,EAAE,KAAK,KAAM,QAAUuzN,EAAQ,EAAE,KAAK,KAAMjwO,CAAM,EAAE,KAAK,KAAM82F,CAAO,EAAE,KAAK,KAAM92F,CAAM,EAAE,KAAK,KAAM,GAAG,EAAE,KAAK,QAAS,gBAAgB,EAAE,KAAK,eAAgB,OAAO,EAAE,KAAK,SAAU,MAAM,EAAE,KAAK,OAAQ4tO,EAAM,IAAI,EACtOlxN,EAAI+zN,EAAiB,OAAO,GAAG,EAC/B7C,EAAM,SAAWqC,GACbrC,EAAM,OAAS,MACjBlxN,EAAE,KAAK,KAAM,QAAUuzN,EAAQ,GAGnC,MAAMn3I,EAAOoiD,GAAa,EAC1B,IAAIw1F,EAAW,SACX7hN,EAAA++M,EAAM,aAAN,MAAA/+M,EAAkB,MACpB6hN,EAAW9C,EAAM,WAAW,MAE5B90I,EAAK,KAAO,UAEVy3I,EACFG,GAAY,IAAItC,EAAkB,GAElCsC,GAAY,IAAIvC,EAAe,GAEjCr1I,EAAK,EAAI80I,EAAM,EACf90I,EAAK,EAAI03I,EACT13I,EAAK,MAAQ80I,EAAM,MACnB90I,EAAK,OAAS80I,EAAM,OACpB90I,EAAK,MAAQ43I,EACb53I,EAAK,GAAK,EACVA,EAAK,GAAK,EACVA,EAAK,KAAO80I,EAAM,KAClB,MAAMkB,EAAW1pF,GAAU1oI,EAAGo8E,CAAI,EAElC,GADA80I,EAAM,SAAW90I,GACb7oE,EAAA29M,EAAM,aAAN,MAAA39M,EAAkB,KAAM,CAC1B,MAAM0gN,EAAU/C,EAAM,WAAW,KAAK,KAAM,EACxC+C,EAAQ,OAAO,CAAC,IAAM,IACxB11F,IAAkBv+H,EAAGo8E,EAAK,EAAIA,EAAK,MAAQ,GAAIA,EAAK,EAAI,GAAI63I,EAAQ,OAAO,CAAC,CAAC,EAE7E71F,IAAUp+H,EAAGo8E,EAAK,EAAIA,EAAK,MAAQ,GAAIA,EAAK,EAAI,GAAI63I,CAAO,CAEjE,CACEhrF,GAAuBH,EAAOhtH,GAASo1M,EAAM,WAAW,CAAC,EACvDA,EAAM,YACNlxN,EACAo8E,EAAK,EACLA,EAAK,EACLA,EAAK,MACLA,EAAK,OACL,CAAE,MAAO,SAASu1I,GAAe,EAAI,EACrC7oF,CACD,EACD,IAAIhgK,EAASooP,EAAM,OACnB,GAAIkB,EAAS,KAAM,CACjB,MAAM8B,EAAU9B,EAAS,KAAI,EAAG,QAAS,EACzClB,EAAM,OAASgD,EAAQ,OACvBprP,EAASorP,EAAQ,MACrB,CACE,OAAOprP,CACT,EAAG,0BAA0B,EACzBqrP,IAAqC/iN,EAAO,SAAS5tC,EAAM0tP,EAAOpoF,EAAO+qF,EAAU,CACrF,MAAMC,EAASD,EAAW3C,EAAM,MAAQA,EAAM,OACxC5tO,EAAS4tO,EAAM,EAAIA,EAAM,MAAQ,EACjC92I,EAAU05I,EAAS,GACnBphP,EAAOlP,EAAK,OAAO,GAAG,EAAE,MAAO,EAChCqwP,IACHN,KACA7gP,EAAK,OAAO,MAAM,EAAE,KAAK,KAAM,QAAU6gP,EAAQ,EAAE,KAAK,KAAMjwO,CAAM,EAAE,KAAK,KAAM82F,CAAO,EAAE,KAAK,KAAM92F,CAAM,EAAE,KAAK,KAAM,GAAG,EAAE,KAAK,QAAS,gBAAgB,EAAE,KAAK,eAAgB,OAAO,EAAE,KAAK,SAAU,MAAM,EAAE,KAAK,OAAQ4tO,EAAM,IAAI,EACzOA,EAAM,SAAWqC,IAEnB,MAAMa,EAAU5wP,EAAK,OAAO,GAAG,EAC/B,IAAIwiG,EAAW4rJ,GACXiC,EACF7tJ,GAAY,IAAI0rJ,EAAkB,GAElC1rJ,GAAY,IAAIyrJ,EAAe,GAEjC2C,EAAQ,KAAK,QAASpuJ,CAAQ,EAC9BouJ,EAAQ,KAAK,OAAQlD,EAAM,IAAI,EAC/B,MAAM90I,EAAOoiD,GAAa,EAC1BpiD,EAAK,EAAI80I,EAAM,EACf90I,EAAK,EAAI03I,EACT13I,EAAK,KAAO,UACZA,EAAK,MAAQ80I,EAAM,MACnB90I,EAAK,OAAS80I,EAAM,OACpB90I,EAAK,MAAQ,QACbA,EAAK,GAAK,EACVA,EAAK,GAAK,EACVg4I,EAAQ,OAAO,MAAM,EAAE,KAAK,KAAM,kBAAoBb,EAAQ,EAAE,KAAK,KAAMjwO,CAAM,EAAE,KAAK,KAAMwwO,EAAS,EAAE,EAAE,KAAK,KAAMxwO,CAAM,EAAE,KAAK,KAAMwwO,EAAS,EAAE,EACpJM,EAAQ,OAAO,MAAM,EAAE,KAAK,KAAM,iBAAmBb,EAAQ,EAAE,KAAK,KAAMjwO,EAASkuO,GAAmB,CAAC,EAAE,KAAK,KAAMsC,EAAS,EAAE,EAAE,KAAK,KAAMxwO,EAASkuO,GAAmB,CAAC,EAAE,KAAK,KAAMsC,EAAS,EAAE,EACjMM,EAAQ,OAAO,MAAM,EAAE,KAAK,KAAM9wO,EAASkuO,GAAmB,CAAC,EAAE,KAAK,KAAMsC,EAAS,EAAE,EAAE,KAAK,KAAMxwO,CAAM,EAAE,KAAK,KAAMwwO,EAAS,EAAE,EAClIM,EAAQ,OAAO,MAAM,EAAE,KAAK,KAAM9wO,CAAM,EAAE,KAAK,KAAMwwO,EAAS,EAAE,EAAE,KAAK,KAAMxwO,EAASkuO,GAAmB,EAAI,CAAC,EAAE,KAAK,KAAMsC,EAAS,EAAE,EACtI,MAAMtyI,EAAS4yI,EAAQ,OAAO,QAAQ,EACtC5yI,EAAO,KAAK,KAAM0vI,EAAM,EAAIA,EAAM,MAAQ,CAAC,EAC3C1vI,EAAO,KAAK,KAAMsyI,EAAS,EAAE,EAC7BtyI,EAAO,KAAK,IAAK,EAAE,EACnBA,EAAO,KAAK,QAAS0vI,EAAM,KAAK,EAChC1vI,EAAO,KAAK,SAAU0vI,EAAM,MAAM,EAClC,MAAMgD,EAAUE,EAAQ,KAAI,EAAG,QAAS,EACxC,OAAAlD,EAAM,OAASgD,EAAQ,OACvBjrF,GAAuBH,EAAOhtH,GAASo1M,EAAM,WAAW,CAAC,EACvDA,EAAM,YACNkD,EACAh4I,EAAK,EACLA,EAAK,EAAI,GACTA,EAAK,MACLA,EAAK,OACL,CAAE,MAAO,SAASw1I,EAAsB,EAAI,EAC5C9oF,CACD,EACMooF,EAAM,MACf,EAAG,oBAAoB,EACnBmD,IAA4BjjN,EAAO,eAAe5tC,EAAM0tP,EAAOpoF,EAAO+qF,EAAU,CAClF,OAAQ3C,EAAM,KAAI,CAChB,IAAK,QACH,OAAO,MAAMiD,IAAmB3wP,EAAM0tP,EAAOpoF,EAAO+qF,CAAQ,EAC9D,IAAK,cACH,OAAO,MAAMD,IAAyBpwP,EAAM0tP,EAAOpoF,EAAO+qF,CAAQ,CACxE,CACA,EAAG,WAAW,EACVS,IAA0BljN,EAAO,SAAS5tC,EAAM04D,EAAK4sG,EAAO,CAE9D,MAAM9oI,EADmBx8B,EAAK,OAAO,GAAG,EAExC+wP,GAAoBv0N,EAAGk8B,CAAG,EACtBA,EAAI,MACN+sG,GAAuBH,CAAK,EAC1B5sG,EAAI,KACJl8B,EACAk8B,EAAI,EACJA,EAAI,GAAKA,EAAI,eAAiB,GAAK,EACnCA,EAAI,MACJ,EACA,CAAE,MAAO,MAAQ,EACjB4sG,CACD,EAEH9oI,EAAE,MAAO,CACX,EAAG,SAAS,EACRw0N,IAAgCpjN,EAAO,SAAS5tC,EAAM,CACxD,OAAOA,EAAK,OAAO,GAAG,CACxB,EAAG,eAAe,EACdixP,IAAiCrjN,EAAO,SAAS5tC,EAAM0wP,EAAS9K,EAAatgF,EAAO4rF,EAAmB,CACzG,MAAMt4I,EAAOoiD,GAAa,EACpBx+H,EAAIk0N,EAAQ,SAClB93I,EAAK,EAAI83I,EAAQ,OACjB93I,EAAK,EAAI83I,EAAQ,OACjB93I,EAAK,MAAQ,aAAes4I,EAAoB,EAChDt4I,EAAK,MAAQ83I,EAAQ,MAAQA,EAAQ,OACrC93I,EAAK,OAASgtI,EAAc8K,EAAQ,OACpCxrF,GAAU1oI,EAAGo8E,CAAI,CACnB,EAAG,gBAAgB,EACfu4I,IAA2BvjN,EAAO,eAAe5tC,EAAMoxP,EAAWviI,EAAWy2C,EAAO,CACtF,KAAM,CACJ,UAAA+rF,EACA,cAAAC,EACA,eAAAC,EACA,cAAAC,EACA,kBAAmBhqP,EACnB,gBAAiBk6F,EACjB,kBAAmBj6F,CACvB,EAAM69J,EACE9oI,EAAIx8B,EAAK,OAAO,GAAG,EACnByxP,EAA+B7jN,EAAO,SAASk6H,EAAQE,EAAQD,EAAOE,EAAO,CACjF,OAAOzrI,EAAE,OAAO,MAAM,EAAE,KAAK,KAAMsrI,CAAM,EAAE,KAAK,KAAME,CAAM,EAAE,KAAK,KAAMD,CAAK,EAAE,KAAK,KAAME,CAAK,EAAE,KAAK,QAAS,UAAU,CAC3H,EAAE,cAAc,EACjBwpF,EAAaL,EAAU,OAAQA,EAAU,OAAQA,EAAU,MAAOA,EAAU,MAAM,EAClFK,EAAaL,EAAU,MAAOA,EAAU,OAAQA,EAAU,MAAOA,EAAU,KAAK,EAChFK,EAAaL,EAAU,OAAQA,EAAU,MAAOA,EAAU,MAAOA,EAAU,KAAK,EAChFK,EAAaL,EAAU,OAAQA,EAAU,OAAQA,EAAU,OAAQA,EAAU,KAAK,EAC9EA,EAAU,WAAa,QACzBA,EAAU,SAAS,QAAQ,SAASpnJ,EAAM,CACxCynJ,EAAaL,EAAU,OAAQpnJ,EAAK,EAAGonJ,EAAU,MAAOpnJ,EAAK,CAAC,EAAE,MAC9D,mBACA,MACD,CACP,CAAK,EAEH,IAAIzzD,EAAM2pD,GAAY,EACtB3pD,EAAI,KAAOs4E,EACXt4E,EAAI,EAAI66M,EAAU,OAClB76M,EAAI,EAAI66M,EAAU,OAClB76M,EAAI,WAAa/uC,EACjB+uC,EAAI,SAAWmrD,EACfnrD,EAAI,WAAa9uC,EACjB8uC,EAAI,OAAS,SACbA,EAAI,OAAS,SACbA,EAAI,MAAQ,GACZA,EAAI,MAAQi7M,GAAiB,GAC7Bj7M,EAAI,OAASg7M,GAAkB,GAC/Bh7M,EAAI,WAAa+6M,EACjB/6M,EAAI,MAAQ,YACZo5M,GAAUnzN,EAAG+Z,CAAG,EAChBA,EAAMm7M,GAAa,EACnBn7M,EAAI,KAAO66M,EAAU,MACrB76M,EAAI,EAAI66M,EAAU,OAASI,EAAgB,GAAKJ,EAAU,MAAQA,EAAU,QAAU,EACtF76M,EAAI,EAAI66M,EAAU,OAASC,EAAYC,EACvC/6M,EAAI,OAAS,SACbA,EAAI,OAAS,SACbA,EAAI,WAAa+6M,EACjB/6M,EAAI,MAAQ,WACZA,EAAI,WAAa/uC,EACjB+uC,EAAI,SAAWmrD,EACfnrD,EAAI,WAAa9uC,EACjB8uC,EAAI,KAAO,GACX,IAAIiqD,EAAWloD,GAAS/B,EAAI,IAAI,EAAI,MAAM24M,GAAU1yN,EAAG+Z,EAAK66M,CAAS,EAAIz2F,GAASn+H,EAAG+Z,CAAG,EACxF,GAAI66M,EAAU,gBAAkB,QAC9B,SAAW,CAACzuM,EAAKqnD,CAAI,IAAK,OAAO,QAAQonJ,EAAU,aAAa,EAC9D,GAAIpnJ,EAAK,QAAS,CAChBzzD,EAAI,KAAOyzD,EAAK,QAChBzzD,EAAI,EAAI66M,EAAU,QAAUA,EAAU,MAAQA,EAAU,QAAU,EAClE76M,EAAI,EAAI66M,EAAU,SAASzuM,CAAG,EAAE,EAAI0uM,EAAYC,EAChD/6M,EAAI,MAAQ,WACZA,EAAI,OAAS,SACbA,EAAI,OAAS,SACbA,EAAI,MAAQ,GACZA,EAAI,WAAa/uC,EACjB+uC,EAAI,SAAWmrD,EACfnrD,EAAI,WAAa9uC,EACjB8uC,EAAI,KAAO66M,EAAU,KACjB94M,GAAS/B,EAAI,IAAI,GACnB66M,EAAU,OAASA,EAAU,SAASzuM,CAAG,EAAE,EAC3C,MAAMusM,GAAU1yN,EAAG+Z,EAAK66M,CAAS,GAEjCz2F,GAASn+H,EAAG+Z,CAAG,EAEjB,IAAIo7M,EAAgB,KAAK,MACvBnxJ,EAAS,IAAKoxJ,IAAQA,EAAG,SAAWA,GAAI,CAAC,EAAE,CAAC,EAAE,QAAO,EAAG,MAAM,EAAE,OAAO,CAACl9H,EAAKviE,IAASuiE,EAAMviE,CAAI,CACjG,EACDi/L,EAAU,SAASzuM,CAAG,EAAE,QAAUgvM,GAAiBN,EAAYC,EACvE,EAGE,OAAAF,EAAU,OAAS,KAAK,MAAMA,EAAU,MAAQA,EAAU,MAAM,EACzD50N,CACT,EAAG,UAAU,EACTu0N,GAAsCnjN,EAAO,SAAS5tC,EAAM0wP,EAAS,CACvEh2F,GAAmB16J,EAAM0wP,CAAO,CAClC,EAAG,oBAAoB,EACnBpqF,IAAqC14H,EAAO,SAAS5tC,EAAM,CAC7DA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,UAAU,EAAE,KAAK,YAAa,SAAS,EAAE,KAAK,YAAa,SAAS,EAAE,OAAO,MAAM,EAAE,KAAK,YAAa,WAAW,EAAE,KAClK,IACA,i1ZACD,CACH,EAAG,oBAAoB,EACnBumK,IAAqC34H,EAAO,SAAS5tC,EAAM,CAC7DA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,UAAU,EAAE,KAAK,QAAS,IAAI,EAAE,KAAK,SAAU,IAAI,EAAE,OAAO,MAAM,EAAE,KAAK,YAAa,WAAW,EAAE,KACjJ,IACA,0JACD,CACH,EAAG,oBAAoB,EACnBwmK,IAAkC54H,EAAO,SAAS5tC,EAAM,CAC1DA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,OAAO,EAAE,KAAK,QAAS,IAAI,EAAE,KAAK,SAAU,IAAI,EAAE,OAAO,MAAM,EAAE,KAAK,YAAa,WAAW,EAAE,KAC9I,IACA,2UACD,CACH,EAAG,iBAAiB,EAChBymK,IAAkC74H,EAAO,SAAS5tC,EAAM,CAC1DA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,WAAW,EAAE,KAAK,OAAQ,GAAG,EAAE,KAAK,OAAQ,CAAC,EAAE,KAAK,cAAe,gBAAgB,EAAE,KAAK,cAAe,EAAE,EAAE,KAAK,eAAgB,EAAE,EAAE,KAAK,SAAU,oBAAoB,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK,wBAAwB,CAC9Q,EAAG,iBAAiB,EAChB2mK,IAAwC/4H,EAAO,SAAS5tC,EAAM,CAChEA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,aAAa,EAAE,KAAK,OAAQ,IAAI,EAAE,KAAK,OAAQ,CAAC,EAAE,KAAK,cAAe,EAAE,EAAE,KAAK,eAAgB,EAAE,EAAE,KAAK,SAAU,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK,2BAA2B,CAChO,EAAG,uBAAuB,EACtB6xP,IAAuCjkN,EAAO,SAAS5tC,EAAM,CAC/DA,EAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,gBAAgB,EAAE,KAAK,OAAQ,EAAE,EAAE,KAAK,OAAQ,EAAE,EAAE,KAAK,cAAe,EAAE,EAAE,KAAK,eAAgB,EAAE,EAAE,KAAK,SAAU,MAAM,EAAE,OAAO,QAAQ,EAAE,KAAK,KAAM,EAAE,EAAE,KAAK,KAAM,EAAE,EAAE,KAAK,IAAK,CAAC,CACxO,EAAG,sBAAsB,EACrB6mK,IAAuCj5H,EAAO,SAAS5tC,EAAM,CAClDA,EAAK,OAAO,MAAM,EACX,OAAO,QAAQ,EAAE,KAAK,KAAM,WAAW,EAAE,KAAK,cAAe,EAAE,EAAE,KAAK,eAAgB,CAAC,EAAE,KAAK,SAAU,MAAM,EAAE,KAAK,OAAQ,CAAC,EAAE,KAAK,OAAQ,GAAG,EAC7J,OAAO,MAAM,EAAE,KAAK,OAAQ,MAAM,EAAE,KAAK,SAAU,SAAS,EAAE,MAAM,mBAAoB,MAAM,EAAE,KAAK,eAAgB,KAAK,EAAE,KAAK,IAAK,yBAAyB,CACxK,EAAG,sBAAsB,EACrB0xP,GAA8B9jN,EAAO,UAAW,CAClD,MAAO,CACL,EAAG,EACH,EAAG,EACH,KAAM,OACN,OAAQ,OACR,MAAO,OACP,MAAO,OACP,OAAQ,OACR,WAAY,EACZ,GAAI,EACJ,GAAI,EACJ,MAAO,GACP,OAAQ,MACT,CACH,EAAG,YAAY,EACXkkN,IAA+BlkN,EAAO,UAAW,CACnD,MAAO,CACL,EAAG,EACH,EAAG,EACH,KAAM,UACN,OAAQ,OACR,MAAO,IACP,OAAQ,QACR,OAAQ,IACR,GAAI,EACJ,GAAI,CACL,CACH,EAAG,aAAa,EACZ63H,GAAyC,UAAW,CACtD,SAASuB,EAAO76H,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW,CAC1D,MAAM/nK,EAAOs9B,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK13B,EAAI6E,EAAQ,CAAC,EAAE,KAAK,IAAK9E,EAAIS,EAAS,EAAI,CAAC,EAAE,MAAM,cAAe,QAAQ,EAAE,KAAK6mC,CAAO,EAChI+6H,EAAchoK,EAAM+nK,CAAS,CACjC,CACEr5H,EAAOo5H,EAAQ,QAAQ,EACvB,SAASG,EAAQh7H,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,EAAO,CAClE,KAAM,CAAE,cAAAysF,EAAe,gBAAAC,EAAiB,gBAAAC,CAAiB,EAAG3sF,EACtD,CAAC4sF,EAAgBC,CAAgB,EAAI5xJ,GAAcwxJ,CAAa,EAChE14O,EAAQ8yB,EAAQ,MAAM2M,GAAe,cAAc,EACzD,QAASh1C,EAAI,EAAGA,EAAIuV,EAAM,OAAQvV,IAAK,CACrC,MAAMotB,EAAKptB,EAAIouP,EAAiBA,GAAkB74O,EAAM,OAAS,GAAK,EAChEna,EAAOs9B,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK13B,EAAI6E,EAAQ,CAAC,EAAE,KAAK,IAAK9E,CAAC,EAAE,MAAM,cAAe,QAAQ,EAAE,MAAM,YAAastP,CAAgB,EAAE,MAAM,cAAeF,CAAe,EAAE,MAAM,cAAeD,CAAe,EAClN9yP,EAAK,OAAO,OAAO,EAAE,KAAK,IAAK4F,EAAI6E,EAAQ,CAAC,EAAE,KAAK,KAAMunB,CAAE,EAAE,KAAK7X,EAAMvV,CAAC,CAAC,EAC1E5E,EAAK,KAAK,IAAK2F,EAAIS,EAAS,CAAC,EAAE,KAAK,oBAAqB,SAAS,EAAE,KAAK,qBAAsB,SAAS,EACxG4hK,EAAchoK,EAAM+nK,CAAS,CACnC,CACA,CACEr5H,EAAOu5H,EAAS,SAAS,EACzB,SAASC,EAAKj7H,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,EAAO,CAC/D,MAAM7jK,EAAI+6B,EAAE,OAAO,QAAQ,EAErBt9B,EADIuC,EAAE,OAAO,eAAe,EAAE,KAAK,IAAKqD,CAAC,EAAE,KAAK,IAAKD,CAAC,EAAE,KAAK,QAAS8E,CAAK,EAAE,KAAK,SAAUrE,CAAM,EACzF,OAAO,WAAW,EAAE,MAAM,UAAW,OAAO,EAAE,MAAM,SAAU,MAAM,EAAE,MAAM,QAAS,MAAM,EAC1GpG,EAAK,OAAO,KAAK,EAAE,MAAM,UAAW,YAAY,EAAE,MAAM,aAAc,QAAQ,EAAE,MAAM,iBAAkB,QAAQ,EAAE,KAAKitC,CAAO,EAC9Hg7H,EAAQh7H,EAAS1qC,EAAGqD,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,CAAK,EACzD4B,EAAchoK,EAAM+nK,CAAS,CACjC,CACEr5H,EAAOw5H,EAAM,MAAM,EACnB,eAAegrF,EAAQjmN,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,EAAO,CACxE,MAAM5sH,EAAM,MAAMH,GAA0BpM,EAASoJ,GAAS,CAAE,EAC1D9zC,EAAI+6B,EAAE,OAAO,QAAQ,EAErBt9B,EADIuC,EAAE,OAAO,eAAe,EAAE,KAAK,IAAKqD,EAAI6E,EAAQ,EAAI+uC,EAAI,MAAQ,CAAC,EAAE,KAAK,IAAK7zC,EAAIS,EAAS,EAAIozC,EAAI,OAAS,CAAC,EAAE,KAAK,QAASA,EAAI,KAAK,EAAE,KAAK,SAAUA,EAAI,MAAM,EAC3J,OAAO,WAAW,EAAE,MAAM,SAAU,MAAM,EAAE,MAAM,QAAS,MAAM,EAChFx5C,EAAK,OAAO,KAAK,EAAE,MAAM,aAAc,QAAQ,EAAE,MAAM,iBAAkB,QAAQ,EAAE,KAAK,MAAMs5C,GAAYrM,EAASoJ,GAAS,CAAE,CAAC,EAC/H4xH,EAAQh7H,EAAS1qC,EAAGqD,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,CAAK,EACzD4B,EAAchoK,EAAM+nK,CAAS,CACjC,CACEr5H,EAAOwkN,EAAS,SAAS,EACzB,SAASlrF,EAAcnhK,EAAQshK,EAAmB,CAChD,UAAWtgK,KAAOsgK,EACZA,EAAkB,eAAetgK,CAAG,GACtChB,EAAO,KAAKgB,EAAKsgK,EAAkBtgK,CAAG,CAAC,CAG/C,CACE6mC,SAAOs5H,EAAe,eAAe,EAC9B,SAAS5B,EAAO+sF,EAAY,GAAO,CACxC,OAAIA,EACKD,EAEF9sF,EAAM,gBAAkB,KAAO8B,EAAO9B,EAAM,gBAAkB,MAAQ0B,EAASG,CACvF,CACH,EAAG,EACC4nF,IAAiD,UAAW,CAC9D,SAAS/nF,EAAO76H,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW,CAC1D,MAAM/nK,EAAOs9B,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK13B,CAAC,EAAE,KAAK,IAAKD,CAAC,EAAE,MAAM,cAAe,OAAO,EAAE,KAAKsnC,CAAO,EAClG+6H,EAAchoK,EAAM+nK,CAAS,CACjC,CACEr5H,EAAOo5H,EAAQ,QAAQ,EACvB,SAASG,EAAQh7H,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,EAAO,CAClE,KAAM,CAAE,cAAAysF,EAAe,gBAAAC,EAAiB,gBAAAC,CAAiB,EAAG3sF,EACtDjsJ,EAAQ8yB,EAAQ,MAAM2M,GAAe,cAAc,EACzD,QAASh1C,EAAI,EAAGA,EAAIuV,EAAM,OAAQvV,IAAK,CACrC,MAAMotB,EAAKptB,EAAIiuP,EAAgBA,GAAiB14O,EAAM,OAAS,GAAK,EAC9Dna,EAAOs9B,EAAE,OAAO,MAAM,EAAE,KAAK,IAAK13B,CAAC,EAAE,KAAK,IAAKD,CAAC,EAAE,MAAM,cAAe,OAAO,EAAE,MAAM,YAAaktP,CAAa,EAAE,MAAM,cAAeE,CAAe,EAAE,MAAM,cAAeD,CAAe,EAClM9yP,EAAK,OAAO,OAAO,EAAE,KAAK,IAAK4F,CAAC,EAAE,KAAK,KAAMosB,CAAE,EAAE,KAAK7X,EAAMvV,CAAC,CAAC,EAC9D5E,EAAK,KAAK,IAAK2F,EAAIS,EAAS,CAAC,EAAE,KAAK,oBAAqB,SAAS,EAAE,KAAK,qBAAsB,SAAS,EACxG4hK,EAAchoK,EAAM+nK,CAAS,CACnC,CACA,CACEr5H,EAAOu5H,EAAS,SAAS,EACzB,SAASC,EAAKj7H,EAAS3P,EAAG13B,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,EAAO,CAC/D,MAAM7jK,EAAI+6B,EAAE,OAAO,QAAQ,EAErBt9B,EADIuC,EAAE,OAAO,eAAe,EAAE,KAAK,IAAKqD,CAAC,EAAE,KAAK,IAAKD,CAAC,EAAE,KAAK,QAAS8E,CAAK,EAAE,KAAK,SAAUrE,CAAM,EACzF,OAAO,WAAW,EAAE,MAAM,UAAW,OAAO,EAAE,MAAM,SAAU,MAAM,EAAE,MAAM,QAAS,MAAM,EAC1GpG,EAAK,OAAO,KAAK,EAAE,MAAM,UAAW,YAAY,EAAE,MAAM,aAAc,QAAQ,EAAE,MAAM,iBAAkB,QAAQ,EAAE,KAAKitC,CAAO,EAC9Hg7H,EAAQh7H,EAAS1qC,EAAGqD,EAAGD,EAAG8E,EAAOrE,EAAQ2hK,EAAW3B,CAAK,EACzD4B,EAAchoK,EAAM+nK,CAAS,CACjC,CACEr5H,EAAOw5H,EAAM,MAAM,EACnB,SAASF,EAAcnhK,EAAQshK,EAAmB,CAChD,UAAWtgK,KAAOsgK,EACZA,EAAkB,eAAetgK,CAAG,GACtChB,EAAO,KAAKgB,EAAKsgK,EAAkBtgK,CAAG,CAAC,CAG/C,CACE6mC,SAAOs5H,EAAe,eAAe,EAC9B,SAAS5B,EAAO,CACrB,OAAOA,EAAM,gBAAkB,KAAO8B,EAAO9B,EAAM,gBAAkB,MAAQ0B,EAASG,CACvF,CACH,EAAG,EACCG,GAAkB,CACpB,SAAUpC,GACZ,SAAEvK,GACF,UAAEg1F,GACA,UAAAkB,IACA,QAAAC,IACA,UAAAzC,IACA,cAAA2C,IACA,eAAAC,IACA,SAAAE,IACA,mBAAoBJ,GACpB,gBAAAtqF,IACA,sBAAAE,IACA,qBAAAkrF,IACA,qBAAAhrF,IACA,mBAAAP,IACA,mBAAAC,IACA,gBAAAC,IACA,WAAYkrF,GACZ,YAAaI,IACb,mBAAA9B,GACA50L,0BACF,EAGIlmB,GAAO,CAAE,EACTytD,GAAS,CACX,KAAM,CACJ,OAAQ,OACR,MAAO,OACP,OAAQ,OACR,MAAO,MACR,EACD,YAAa,EACb,cAAe,CAAE,EACjB,YAAa,CAAE,EACf,OAAQ,CACN,UAA2B/0D,EAAO,UAAW,CAC3C,OAAO,KAAK,IAAI,MACd,KACA,KAAK,OAAO,SAAW,EAAI,CAAC,CAAC,EAAI,KAAK,OAAO,IAAK8/M,GAAUA,EAAM,QAAU,CAAC,CAC9E,GAAI,KAAK,MAAM,SAAW,EAAI,EAAI,KAAK,MAAM,IAAK4E,GAAOA,EAAG,QAAU,CAAC,EAAE,OAAO,CAAC59H,EAAKx4F,IAAMw4F,EAAMx4F,CAAC,IAAM,KAAK,SAAS,SAAW,EAAI,EAAI,KAAK,SAAS,IAAKo2N,GAAOA,EAAG,QAAU,CAAC,EAAE,OAAO,CAAC59H,EAAKx4F,IAAMw4F,EAAMx4F,CAAC,IAAM,KAAK,MAAM,SAAW,EAAI,EAAI,KAAK,MAAM,IAAKo2N,GAAOA,EAAG,QAAU,CAAC,EAAE,OAAO,CAAC59H,EAAKx4F,IAAMw4F,EAAMx4F,CAAC,EACrT,EAAE,WAAW,EACd,MAAuB0R,EAAO,UAAW,CACvC,KAAK,OAAS,CAAE,EAChB,KAAK,MAAQ,CAAE,EACf,KAAK,MAAQ,CAAE,EACf,KAAK,SAAW,CAAE,EAClB,KAAK,MAAQ,CAAE,CAChB,EAAE,OAAO,EACV,OAAwBA,EAAO,SAAS2kN,EAAU,CAChD,KAAK,MAAM,KAAKA,CAAQ,CACzB,EAAE,QAAQ,EACX,SAA0B3kN,EAAO,SAAS4kN,EAAY,CACpD,KAAK,OAAO,KAAKA,CAAU,CAC5B,EAAE,UAAU,EACb,QAAyB5kN,EAAO,SAASwjN,EAAW,CAClD,KAAK,MAAM,KAAKA,CAAS,CAC1B,EAAE,SAAS,EACZ,WAA4BxjN,EAAO,SAASuhN,EAAU,CACpD,KAAK,SAAS,KAAKA,CAAQ,CAC5B,EAAE,YAAY,EACf,QAAyBvhN,EAAO,SAAS6kN,EAAW,CAClD,KAAK,MAAM,KAAKA,CAAS,CAC1B,EAAE,SAAS,EACZ,UAA2B7kN,EAAO,UAAW,CAC3C,OAAO,KAAK,OAAO,KAAK,OAAO,OAAS,CAAC,CAC1C,EAAE,WAAW,EACd,SAA0BA,EAAO,UAAW,CAC1C,OAAO,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,CACxC,EAAE,UAAU,EACb,YAA6BA,EAAO,UAAW,CAC7C,OAAO,KAAK,SAAS,KAAK,SAAS,OAAS,CAAC,CAC9C,EAAE,aAAa,EAChB,SAA0BA,EAAO,UAAW,CAC1C,OAAO,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,CACxC,EAAE,UAAU,EACb,OAAQ,CAAE,EACV,MAAO,CAAE,EACT,MAAO,CAAE,EACT,SAAU,CAAE,EACZ,MAAO,EACR,EACD,KAAsBA,EAAO,UAAW,CACtC,KAAK,cAAgB,CAAE,EACvB,KAAK,YAAc,CAAE,EACrB,KAAK,OAAO,MAAO,EACnB,KAAK,KAAO,CACV,OAAQ,OACR,MAAO,OACP,OAAQ,OACR,MAAO,MACR,EACD,KAAK,YAAc,EACnBi6H,GAAQ3sH,GAAU,CAAE,CACrB,EAAE,MAAM,EACT,UAA2BtN,EAAO,SAAS4F,EAAKzsC,EAAKktC,EAAKrS,EAAK,CACzD4R,EAAIzsC,CAAG,IAAM,OACfysC,EAAIzsC,CAAG,EAAIktC,EAEXT,EAAIzsC,CAAG,EAAI66B,EAAIqS,EAAKT,EAAIzsC,CAAG,CAAC,CAE/B,EAAE,WAAW,EACd,aAA8B6mC,EAAO,SAASk6H,EAAQE,EAAQD,EAAOE,EAAO,CAC1E,MAAMyqF,EAAQ,KACd,IAAI9yJ,EAAM,EACV,SAAS+yJ,EAAS9wP,EAAM,CACtB,OAAuB+rC,EAAO,SAA0Bo8D,EAAM,CAC5DpK,IACA,MAAMl+F,EAAIgxP,EAAM,cAAc,OAAS9yJ,EAAM,EAC7C8yJ,EAAM,UAAU1oJ,EAAM,SAAUg+D,EAAStmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EACrEw9M,EAAM,UAAU1oJ,EAAM,QAASi+D,EAAQvmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EACnEw9M,EAAM,UAAU/vJ,GAAO,KAAM,SAAUmlE,EAASpmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EAC5Ew9M,EAAM,UAAU/vJ,GAAO,KAAM,QAASolE,EAAQrmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EACpErzC,IAAS,eACb6wP,EAAM,UAAU1oJ,EAAM,SAAU89D,EAASpmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EACrEw9M,EAAM,UAAU1oJ,EAAM,QAAS+9D,EAAQrmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EACnEw9M,EAAM,UAAU/vJ,GAAO,KAAM,SAAUqlE,EAAStmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EAC5Ew9M,EAAM,UAAU/vJ,GAAO,KAAM,QAASslE,EAAQvmK,EAAIwzC,GAAK,UAAW,KAAK,GAAG,EAE7E,EAAE,kBAAkB,CAC3B,CACItH,EAAO+kN,EAAU,UAAU,EAC3B,KAAK,cAAc,QAAQA,GAAU,EACrC,KAAK,YAAY,QAAQA,EAAS,YAAY,CAAC,CAChD,EAAE,cAAc,EACjB,OAAwB/kN,EAAO,SAASk6H,EAAQE,EAAQD,EAAOE,EAAO,CACpE,MAAMC,EAAUpvH,GAAe,OAAOgvH,EAAQC,CAAK,EAC7CI,EAASrvH,GAAe,OAAOgvH,EAAQC,CAAK,EAC5CK,EAAUtvH,GAAe,OAAOkvH,EAAQC,CAAK,EAC7CI,EAASvvH,GAAe,OAAOkvH,EAAQC,CAAK,EAClD,KAAK,UAAUtlE,GAAO,KAAM,SAAUulE,EAAS,KAAK,GAAG,EACvD,KAAK,UAAUvlE,GAAO,KAAM,SAAUylE,EAAS,KAAK,GAAG,EACvD,KAAK,UAAUzlE,GAAO,KAAM,QAASwlE,EAAQ,KAAK,GAAG,EACrD,KAAK,UAAUxlE,GAAO,KAAM,QAAS0lE,EAAQ,KAAK,GAAG,EACrD,KAAK,aAAaH,EAASE,EAASD,EAAQE,CAAM,CACnD,EAAE,QAAQ,EACX,cAA+Bz6H,EAAO,SAAStuC,EAASk+H,EAAUowH,EAAQ,CACxE,MAAMgF,EAAYhF,EAAO,IAAItuP,EAAQ,IAAI,EACnCuzP,EAAcC,GAAiBxzP,EAAQ,IAAI,EAAE,QAAU,EACvDwF,EAAI8tP,EAAU,EAAIA,EAAU,MAAQ,GAAKC,EAAc,GAAK39M,GAAK,gBAAkB,EACzF,KAAK,YAAY,KAAK,CACpB,OAAQpwC,EACR,OAAQ,KAAK,YAAc,EAC3B,MAAOA,EAAIowC,GAAK,gBAChB,MAAO,OACP,MAAO51C,EAAQ,KACf,SAAUgoK,GAAgB,cAAc9pC,CAAQ,CACtD,CAAK,CACF,EAAE,eAAe,EAClB,cAA+B5vF,EAAO,SAAStuC,EAAS,CACtD,MAAMyzP,EAAyB,KAAK,YAAY,IAAI,SAASC,EAAY,CACvE,OAAOA,EAAW,KACxB,CAAK,EAAE,YAAY1zP,EAAQ,IAAI,EAC3B,OAAO,KAAK,YAAY,OAAOyzP,EAAwB,CAAC,EAAE,CAAC,CAC5D,EAAE,eAAe,EAClB,WAA4BnlN,EAAO,SAAS80D,EAAQ,CAAE,QAAS,OAAQ,KAAM,GAAO,MAAO,MAAM,EAAIhpB,EAAM,CACzG,MAAO,CACL,OAAQ,OACR,OAAQ,KAAK,YACb,MAAO,OACP,MAAO,OACP,MAAOgpB,EAAM,QACb,KAAMA,EAAM,KACZ,MAAOA,EAAM,MACb,OAAQ,EACR,KAAAhpB,CACD,CACF,EAAE,YAAY,EACf,QAAyB9rC,EAAO,SAAS80D,EAAQ,CAAE,QAAS,OAAQ,KAAM,GAAO,MAAO,MAAM,EAAIhpB,EAAM,CACtG,KAAK,cAAc,KAAK,KAAK,WAAWgpB,EAAOhpB,CAAI,CAAC,CACrD,EAAE,SAAS,EACZ,QAAyB9rC,EAAO,UAAW,CACzC,OAAO,KAAK,cAAc,IAAK,CAChC,EAAE,SAAS,EACZ,cAA+BA,EAAO,UAAW,CAC/C,OAAO,KAAK,cAAc,OAAS,KAAK,cAAc,KAAK,cAAc,OAAS,CAAC,EAAE,QAAU,EAChG,EAAE,eAAe,EAClB,iBAAkCA,EAAO,SAAStuC,EAAS,CACzD,MAAM89M,EAAO,KAAK,cAAc,IAAK,EACrCA,EAAK,SAAWA,EAAK,UAAY,CAAE,EACnCA,EAAK,cAAgBA,EAAK,eAAiB,CAAE,EAC7CA,EAAK,SAAS,KAAK,CAAE,EAAGz6G,GAAO,eAAgB,EAAE,OAAQ,EAAG,EAC5Dy6G,EAAK,cAAc,KAAK99M,CAAO,EAC/B,KAAK,cAAc,KAAK89M,CAAI,CAC7B,EAAE,kBAAkB,EACrB,gBAAiCxvK,EAAO,UAAW,CAC7C,KAAK,kBACP,KAAK,iBAAmB,KAAK,YAEhC,EAAE,iBAAiB,EACpB,iBAAkCA,EAAO,UAAW,CAC9C,KAAK,kBACP,KAAK,YAAc,KAAK,iBAE3B,EAAE,kBAAkB,EACrB,gBAAiCA,EAAO,SAASqlN,EAAM,CACrD,KAAK,YAAc,KAAK,YAAcA,EACtC,KAAK,KAAK,MAAQn6M,GAAe,OAAO,KAAK,KAAK,MAAO,KAAK,WAAW,CAC1E,EAAE,iBAAiB,EACpB,eAAgClL,EAAO,UAAW,CAChD,OAAO,KAAK,WACb,EAAE,gBAAgB,EACnB,UAA2BA,EAAO,UAAW,CAC3C,MAAO,CAAE,OAAQ,KAAK,KAAM,OAAQ,KAAK,MAAQ,CACrD,EAAK,WAAW,CAChB,EACIslN,IAA2BtlN,EAAO,eAAe5tC,EAAMyyP,EAAW,CACpE9vJ,GAAO,gBAAgBztD,GAAK,SAAS,EACrCu9M,EAAU,OAASv9M,GAAK,UACxBu9M,EAAU,OAAS9vJ,GAAO,eAAgB,EAC1C,MAAMiW,EAAOoiD,GAAa,EAC1BpiD,EAAK,EAAI65I,EAAU,OACnB75I,EAAK,EAAI65I,EAAU,OACnB75I,EAAK,MAAQ65I,EAAU,OAASv9M,GAAK,MACrC0jE,EAAK,MAAQ,OACb,MAAMp8E,EAAIx8B,EAAK,OAAO,GAAG,EACnB4uP,EAAWtnF,GAAgB,SAAS9qI,EAAGo8E,CAAI,EAC3C7W,EAAU7B,GAAY,EAC5B6B,EAAQ,EAAI0wJ,EAAU,OACtB1wJ,EAAQ,EAAI0wJ,EAAU,OACtB1wJ,EAAQ,MAAQ6W,EAAK,MACrB7W,EAAQ,GAAK,MACbA,EAAQ,KAAO0wJ,EAAU,QACzB1wJ,EAAQ,MAAQ,WAChBA,EAAQ,WAAa7sD,GAAK,eAC1B6sD,EAAQ,SAAW7sD,GAAK,aACxB6sD,EAAQ,WAAa7sD,GAAK,eAC1B6sD,EAAQ,OAAS7sD,GAAK,UACtB6sD,EAAQ,WAAa7sD,GAAK,WAC1B6sD,EAAQ,OAAS,SACjB,MAAMvB,EAAWloD,GAASypD,EAAQ,IAAI,EAAI,MAAMmtJ,GAAU1yN,EAAGulE,CAAO,EAAI44D,GAASn+H,EAAGulE,CAAO,EACrFyvB,EAAa,KAAK,MACtBhxB,EAAS,IAAKoxJ,IAAQA,EAAG,SAAWA,GAAI,CAAC,EAAE,CAAC,EAAE,QAAO,EAAG,MAAM,EAAE,OAAO,CAACl9H,EAAKviE,IAASuiE,EAAMviE,CAAI,CACjG,EACDy8L,EAAS,KAAK,SAAUp9H,EAAa,EAAIt8E,GAAK,UAAU,EACxDu9M,EAAU,QAAUjhI,EAAa,EAAIt8E,GAAK,WAC1CytD,GAAO,gBAAgB6uB,EAAa,EAAIt8E,GAAK,UAAU,EACvDu9M,EAAU,MAAQA,EAAU,OAASjhI,EAAa,EAAIt8E,GAAK,WAC3Du9M,EAAU,MAAQA,EAAU,OAAS75I,EAAK,MAC1CjW,GAAO,OAAO8vJ,EAAU,OAAQA,EAAU,OAAQA,EAAU,MAAOA,EAAU,KAAK,EAClF9vJ,GAAO,OAAO,QAAQ8vJ,CAAS,CACjC,EAAG,UAAU,EACThqF,GAA8B76H,EAAQm5H,IACjC,CACL,WAAYA,EAAI,kBAChB,SAAUA,EAAI,gBACd,WAAYA,EAAI,iBACjB,GACA,aAAa,EACZosF,GAA2BvlN,EAAQm5H,IAC9B,CACL,WAAYA,EAAI,eAChB,SAAUA,EAAI,aACd,WAAYA,EAAI,cACjB,GACA,UAAU,EACTqsF,GAA4BxlN,EAAQm5H,IAC/B,CACL,WAAYA,EAAI,gBAChB,SAAUA,EAAI,cACd,WAAYA,EAAI,eACjB,GACA,WAAW,EACd,eAAessF,GAAaC,EAAUnE,EAAU,CAC9CxsJ,GAAO,gBAAgB,EAAE,EACzB,KAAM,CAAE,OAAAmlE,EAAQ,MAAAC,EAAO,QAAAzoK,CAAS,EAAG6vP,EAC7B91O,EAAQy/B,GAAe,YAAYx5C,CAAO,EAAE,OAC5Ci0P,EAAaj7M,GAASh5C,CAAO,EAC7Bk0P,EAAWD,EAAa,MAAMh7M,GAA0Bj5C,EAAS47C,GAAU,CAAE,EAAI6nD,GAAc,wBAAwBzjG,EAASmpK,GAAYvzH,EAAI,CAAC,EACvJ,GAAI,CAACq+M,EAAY,CACf,MAAMjiJ,EAAakiJ,EAAS,OAASn6O,EACrC81O,EAAS,QAAU79I,EACnB3O,GAAO,gBAAgB2O,CAAU,CACrC,CACE,IAAImiJ,EACAC,EAAcF,EAAS,OAAS,GACpC,MAAM9U,EAAY8U,EAAS,MAC3B,GAAI1rF,IAAWC,EAAO,CACpB0rF,EAAa9wJ,GAAO,eAAc,EAAK+wJ,EAClCx+M,GAAK,cACRw+M,GAAex+M,GAAK,UACpBu+M,EAAa9wJ,GAAO,eAAc,EAAK+wJ,GAEzCA,GAAe,GACf,MAAMh8K,EAAK5+B,GAAe,OAAO4lM,EAAY,EAAGxpM,GAAK,MAAQ,CAAC,EAC9DytD,GAAO,OACLmlE,EAASpwF,EACTirB,GAAO,iBAAmB,GAAK+wJ,EAC/B3rF,EAAQrwF,EACRirB,GAAO,eAAgB,EAAG,GAAK+wJ,CAChC,CACL,MACIA,GAAex+M,GAAK,UACpBu+M,EAAa9wJ,GAAO,eAAc,EAAK+wJ,EACvC/wJ,GAAO,OAAOmlE,EAAQ2rF,EAAa,GAAI1rF,EAAO0rF,CAAU,EAE1D9wJ,UAAO,gBAAgB+wJ,CAAW,EAClCvE,EAAS,QAAUuE,EACnBvE,EAAS,MAAQA,EAAS,OAASA,EAAS,OAC5CxsJ,GAAO,OAAOwsJ,EAAS,WAAYA,EAAS,OAAQA,EAAS,SAAUA,EAAS,KAAK,EAC9EsE,CACT,CACA7lN,EAAOylN,GAAc,cAAc,EACnC,IAAIM,IAA8B/lN,EAAO,eAAe4vF,EAAU2xH,EAAUsE,EAAY7rF,EAAS,CAC/F,KAAM,CAAE,OAAAE,EAAQ,MAAAC,EAAO,OAAAC,EAAQ,QAAA1oK,EAAS,KAAAuC,EAAM,cAAA+xP,EAAe,gBAAAC,CAAe,EAAK1E,EAC3EqE,EAAWzwJ,GAAc,wBAAwBzjG,EAASmpK,GAAYvzH,EAAI,CAAC,EAC3E6sD,EAAU7B,GAAY,EAC5B6B,EAAQ,EAAI+lE,EACZ/lE,EAAQ,EAAIimE,EAAS,GACrBjmE,EAAQ,MAAQgmE,EAAQD,EACxB/lE,EAAQ,MAAQ,cAChBA,EAAQ,GAAK,MACbA,EAAQ,KAAOziG,EACfyiG,EAAQ,WAAa7sD,GAAK,kBAC1B6sD,EAAQ,SAAW7sD,GAAK,gBACxB6sD,EAAQ,WAAa7sD,GAAK,kBAC1B6sD,EAAQ,OAAS7sD,GAAK,aACtB6sD,EAAQ,OAAS,SACjBA,EAAQ,WAAa7sD,GAAK,YAC1B6sD,EAAQ,MAAQ,GACZzpD,GAASypD,EAAQ,IAAI,EACvB,MAAMmtJ,GAAU1xH,EAAUz7B,EAAS,CAAE,OAAA+lE,EAAQ,MAAAC,EAAO,OAAQ0rF,EAAY,EAExE94F,GAASn9B,EAAUz7B,CAAO,EAE5B,MAAM28I,EAAY8U,EAAS,MAC3B,IAAItkP,EACA44J,IAAWC,EACT7yH,GAAK,YACPhmC,EAAOsuH,EAAS,OAAO,MAAM,EAAE,KAC7B,IACA,MAAMsqC,CAAM,IAAI2rF,CAAU,MAAM3rF,EAAShvH,GAAe,OAAO5D,GAAK,MAAQ,EAAGwpM,EAAY,CAAC,CAAC,MAAM+U,EAAa,EAAE,MAAM3rF,CAAM,EAC/H,EAED54J,EAAOsuH,EAAS,OAAO,MAAM,EAAE,KAC7B,IACA,KAAOsqC,EAAS,IAAM2rF,EAAa,OAAS3rF,EAAS,IAAM,KAAO2rF,EAAa,IAAM,KAAO3rF,EAAS,IAAM,KAAO2rF,EAAa,IAAM,IAAM3rF,EAAS,KAAO2rF,EAAa,GACzK,GAGHvkP,EAAOsuH,EAAS,OAAO,MAAM,EAC7BtuH,EAAK,KAAK,KAAM44J,CAAM,EACtB54J,EAAK,KAAK,KAAMukP,CAAU,EAC1BvkP,EAAK,KAAK,KAAM64J,CAAK,EACrB74J,EAAK,KAAK,KAAMukP,CAAU,GAExB5xP,IAAS+lK,EAAQ,GAAG,SAAS,QAAU/lK,IAAS+lK,EAAQ,GAAG,SAAS,cAAgB/lK,IAAS+lK,EAAQ,GAAG,SAAS,cAAgB/lK,IAAS+lK,EAAQ,GAAG,SAAS,aAAe/lK,IAAS+lK,EAAQ,GAAG,SAAS,sBAC5M14J,EAAK,MAAM,mBAAoB,MAAM,EACrCA,EAAK,KAAK,QAAS,cAAc,GAEjCA,EAAK,KAAK,QAAS,cAAc,EAEnC,IAAIhO,EAAM,GACNg0C,GAAK,sBACPh0C,EAAM,OAAO,SAAS,SAAW,KAAO,OAAO,SAAS,KAAO,OAAO,SAAS,SAAW,OAAO,SAAS,OAC1GA,EAAMA,EAAI,QAAQ,MAAO,KAAK,EAC9BA,EAAMA,EAAI,QAAQ,MAAO,KAAK,GAEhCgO,EAAK,KAAK,eAAgB,CAAC,EAC3BA,EAAK,KAAK,SAAU,MAAM,EAC1BA,EAAK,MAAM,OAAQ,MAAM,GACrBrN,IAAS+lK,EAAQ,GAAG,SAAS,OAAS/lK,IAAS+lK,EAAQ,GAAG,SAAS,SACrE14J,EAAK,KAAK,aAAc,OAAShO,EAAM,aAAa,GAElDW,IAAS+lK,EAAQ,GAAG,SAAS,qBAAuB/lK,IAAS+lK,EAAQ,GAAG,SAAS,wBACnF14J,EAAK,KAAK,eAAgB,OAAShO,EAAM,aAAa,EACtDgO,EAAK,KAAK,aAAc,OAAShO,EAAM,aAAa,IAElDW,IAAS+lK,EAAQ,GAAG,SAAS,aAAe/lK,IAAS+lK,EAAQ,GAAG,SAAS,eAC3E14J,EAAK,KAAK,aAAc,OAAShO,EAAM,eAAe,GAEpDW,IAAS+lK,EAAQ,GAAG,SAAS,aAAe/lK,IAAS+lK,EAAQ,GAAG,SAAS,eAC3E14J,EAAK,KAAK,aAAc,OAAShO,EAAM,aAAa,GAElD2yP,GAAmB3+M,GAAK,uBAC1BhmC,EAAK,KAAK,eAAgB,OAAShO,EAAM,kBAAkB,EAC3Ds8H,EAAS,OAAO,MAAM,EAAE,KAAK,IAAKsqC,CAAM,EAAE,KAAK,IAAK2rF,EAAa,CAAC,EAAE,KAAK,cAAe,YAAY,EAAE,KAAK,YAAa,MAAM,EAAE,KAAK,cAAe,QAAQ,EAAE,KAAK,QAAS,gBAAgB,EAAE,KAAKG,CAAa,EAEpN,EAAG,aAAa,EACZE,IAAwClmN,EAAO,SAAS4vF,EAAUowH,EAAQmG,EAAe9D,EAAWrK,EAAaoO,EAAU3D,EAAU,CACvI,IAAI4D,EAAY,EACZC,EAAa,EACbC,EACA3gG,EAAY,EAChB,UAAW08F,KAAYD,EAAW,CAChC,MAAMvC,EAAQE,EAAO,IAAIsC,CAAQ,EAC3Bx3L,EAAMg1L,EAAM,IACdyG,GAAWA,GAAWz7L,IACnB23L,GACH1tJ,GAAO,OAAO,OAAOwxJ,CAAO,EAE9BD,GAAch/M,GAAK,UAAYi/M,EAAQ,QAErCz7L,GAAOA,GAAOy7L,IACX9D,IACH33L,EAAI,EAAIu7L,EAAYC,EACpBx7L,EAAI,EAAIktL,GAEVsO,GAAcx7L,EAAI,QAEpBg1L,EAAM,MAAQA,EAAM,OAASx4M,GAAK,MAClCw4M,EAAM,OAAS50M,GAAe,OAAO40M,EAAM,QAAUx4M,GAAK,OAAQA,GAAK,MAAM,EAC7Ew4M,EAAM,OAASA,EAAM,QAAUx4M,GAAK,YACpCs+G,EAAY16G,GAAe,OAAO06G,EAAWk6F,EAAM,MAAM,EACrDqG,EAAc,IAAIrG,EAAM,IAAI,IAC9BwG,GAAcxG,EAAM,MAAQ,GAE9BA,EAAM,EAAIuG,EAAYC,EACtBxG,EAAM,OAAS/qJ,GAAO,eAAgB,EACtCA,GAAO,OAAO+qJ,EAAM,EAAG9H,EAAa8H,EAAM,EAAIA,EAAM,MAAOA,EAAM,MAAM,EACvEuG,GAAavG,EAAM,MAAQwG,EACvBxG,EAAM,MACRA,EAAM,IAAI,MAAQuG,EAAYv7L,EAAI,OAASg1L,EAAM,IAAI,GAEvDwG,EAAaxG,EAAM,OACnByG,EAAUzG,EAAM,IAChB/qJ,GAAO,OAAO,SAAS+qJ,CAAK,CAChC,CACMyG,GAAW,CAAC9D,GACd1tJ,GAAO,OAAO,OAAOwxJ,CAAO,EAE9BxxJ,GAAO,gBAAgB6wD,CAAS,CAClC,EAAG,uBAAuB,EACtB4gG,GAA6BxmN,EAAO,eAAe4vF,EAAUowH,EAAQqC,EAAWI,EAAU,CAC5F,GAAKA,EAKE,CACL,IAAI78F,EAAY,EAChB7wD,GAAO,gBAAgBztD,GAAK,UAAY,CAAC,EACzC,UAAWg7M,KAAYD,EAAW,CAChC,MAAMvC,EAAQE,EAAO,IAAIsC,CAAQ,EAC5BxC,EAAM,QACTA,EAAM,MAAQ/qJ,GAAO,eAAgB,GAEvC,MAAMr9F,EAAS,MAAMgiK,GAAgB,UAAU9pC,EAAUkwH,EAAOx4M,GAAM,EAAI,EAC1Es+G,EAAY16G,GAAe,OAAO06G,EAAWluJ,CAAM,CACzD,CACIq9F,GAAO,gBAAgB6wD,EAAYt+G,GAAK,SAAS,CACrD,KAhBI,WAAWg7M,KAAYD,EAAW,CAChC,MAAMvC,EAAQE,EAAO,IAAIsC,CAAQ,EACjC,MAAM5oF,GAAgB,UAAU9pC,EAAUkwH,EAAOx4M,GAAM,EAAK,CAClE,CAcA,EAAG,YAAY,EACXm/M,GAAkCzmN,EAAO,SAAS4vF,EAAUowH,EAAQqC,EAAWzkN,EAAK,CACtF,IAAIgoH,EAAY,EACZhgI,EAAW,EACf,UAAW08N,KAAYD,EAAW,CAChC,MAAMvC,EAAQE,EAAO,IAAIsC,CAAQ,EAC3B5B,EAAegG,IAAsB5G,CAAK,EAC1C6G,EAAiBjtF,GAAgB,UACrC9pC,EACAkwH,EACAY,EACAp5M,GACAA,GAAK,WACL1J,CACD,EACG+oN,EAAe,OAAS/gG,IAC1BA,EAAY+gG,EAAe,QAEzBA,EAAe,MAAQ7G,EAAM,EAAIl6N,IACnCA,EAAW+gO,EAAe,MAAQ7G,EAAM,EAE9C,CACE,MAAO,CAAE,UAAAl6F,EAAW,SAAAhgI,CAAU,CAChC,EAAG,iBAAiB,EAChBq0I,GAA0Bj6H,EAAO,SAASm5H,EAAK,CACjDv3H,GAAwB0F,GAAM6xH,CAAG,EAC7BA,EAAI,aACN7xH,GAAK,gBAAkBA,GAAK,eAAiBA,GAAK,kBAAoB6xH,EAAI,YAExEA,EAAI,WACN7xH,GAAK,cAAgBA,GAAK,aAAeA,GAAK,gBAAkB6xH,EAAI,UAElEA,EAAI,aACN7xH,GAAK,gBAAkBA,GAAK,eAAiBA,GAAK,kBAAoB6xH,EAAI,WAE9E,EAAG,SAAS,EACR+rF,GAAmCllN,EAAO,SAAS8/M,EAAO,CAC5D,OAAO/qJ,GAAO,YAAY,OAAO,SAASqwJ,EAAY,CACpD,OAAOA,EAAW,QAAUtF,CAChC,CAAG,CACH,EAAG,kBAAkB,EACjB8G,GAAmC5mN,EAAO,SAAS8/M,EAAOE,EAAQ,CACpE,MAAM6G,EAAW7G,EAAO,IAAIF,CAAK,EAC3BgH,EAAc5B,GAAiBpF,CAAK,EACpC/tP,EAAO+0P,EAAY,OACvB,SAAShgI,EAAKs+H,EAAY,CACxB,OAAOl6M,GAAe,OAAO47E,EAAKs+H,EAAW,MAAM,CACpD,EACDyB,EAAS,EAAIA,EAAS,MAAQ,EAAI,CACnC,EACK70P,EAAQ80P,EAAY,OACxB,SAAShgI,EAAKs+H,EAAY,CACxB,OAAOl6M,GAAe,OAAO47E,EAAKs+H,EAAW,KAAK,CACnD,EACDyB,EAAS,EAAIA,EAAS,MAAQ,EAAI,CACnC,EACD,MAAO,CAAC90P,EAAMC,CAAK,CACrB,EAAG,kBAAkB,EACrB,SAAS+0P,GAAwBC,EAAYtmJ,EAAKumJ,EAAWC,EAAYC,EAAW,CAClFpyJ,GAAO,gBAAgBkyJ,CAAS,EAChC,IAAIG,EAAeF,EACnB,GAAIxmJ,EAAI,IAAMA,EAAI,SAAWsmJ,EAAWtmJ,EAAI,EAAE,EAAG,CAC/C,MAAM2mJ,EAAYL,EAAWtmJ,EAAI,EAAE,EAAE,MAC/Bu6D,EAAWJ,GAAYvzH,EAAI,EACjCo5D,EAAI,QAAUvL,GAAc,UAAU,IAAIuL,EAAI,OAAO,IAAK2mJ,EAAY,EAAI//M,GAAK,YAAa2zH,CAAQ,EACpGv6D,EAAI,MAAQ2mJ,EACZ3mJ,EAAI,KAAO,GACX,MAAMklJ,EAAWzwJ,GAAc,wBAAwBuL,EAAI,QAASu6D,CAAQ,EACtE6qF,EAAc56M,GAAe,OAAO06M,EAAS,OAAQt+M,GAAK,cAAc,EAC9E8/M,EAAeF,EAAapB,EAC5BzlN,GAAI,MAAM,GAAGylN,CAAW,MAAMplJ,EAAI,OAAO,EAAE,CAC/C,CACEymJ,EAAUzmJ,CAAG,EACb3L,GAAO,gBAAgBqyJ,CAAY,CACrC,CACApnN,EAAO+mN,GAAyB,yBAAyB,EACzD,SAASO,GAA2B5mJ,EAAK6gJ,EAAUsE,EAAYp/O,EAAOu5O,EAAQmG,EAAeoB,EAAiB,CAC5G,SAASC,EAAmB1H,EAAOt4L,EAAY,CACzCs4L,EAAM,EAAIE,EAAO,IAAIt/I,EAAI,IAAI,EAAE,GACjC3L,GAAO,OACLwsJ,EAAS,MAAQ/5L,EACjB+5L,EAAS,OACTA,EAAS,OACTA,EAAS,MAAQzB,EAAM,OAAS,EAAIx4M,GAAK,UAC1C,EACDi6M,EAAS,MAAQA,EAAS,MAAQ/5L,IAElCutC,GAAO,OACLwsJ,EAAS,OACTA,EAAS,OACTA,EAAS,MAAQ/5L,EACjB+5L,EAAS,MAAQzB,EAAM,OAAS,EAAIx4M,GAAK,UAC1C,EACDi6M,EAAS,MAAQA,EAAS,MAAQ/5L,EAExC,CACExnB,EAAOwnN,EAAoB,oBAAoB,EAC/C,SAASC,EAAiB3H,EAAOt4L,EAAY,CACvCs4L,EAAM,EAAIE,EAAO,IAAIt/I,EAAI,EAAE,EAAE,GAC/B3L,GAAO,OACLwsJ,EAAS,OAAS/5L,EAClB+5L,EAAS,OACTA,EAAS,MACTA,EAAS,MAAQzB,EAAM,OAAS,EAAIx4M,GAAK,UAC1C,EACDi6M,EAAS,OAASA,EAAS,OAAS/5L,IAEpCutC,GAAO,OACLwsJ,EAAS,MACTA,EAAS,OACTA,EAAS,OAAS/5L,EAClB+5L,EAAS,MAAQzB,EAAM,OAAS,EAAIx4M,GAAK,UAC1C,EACDi6M,EAAS,OAASA,EAAS,OAAS/5L,EAE1C,CAEE,GADAxnB,EAAOynN,EAAkB,kBAAkB,EACvCtB,EAAc,IAAIzlJ,EAAI,EAAE,GAAKj6F,EAAO,CACtC,MAAMq5O,EAAQE,EAAO,IAAIt/I,EAAI,EAAE,EACzBl5C,EAAas4L,EAAM,MAAQ,QAAUM,GAAmB,EAAI,EAAIN,EAAM,MAAQ,EAAI,EACxF0H,EAAmB1H,EAAOt4L,CAAU,EACpCs4L,EAAM,OAAS+F,EAAa/F,EAAM,OAAS,EAC3C/qJ,GAAO,gBAAgB+qJ,EAAM,OAAS,CAAC,CAC3C,SAAayH,EAAgB,IAAI7mJ,EAAI,IAAI,GAAKj6F,EAAO,CACjD,MAAMq5O,EAAQE,EAAO,IAAIt/I,EAAI,IAAI,EACjC,GAAIp5D,GAAK,aAAc,CACrB,MAAMkgB,EAAas4L,EAAM,MAAQ,QAAUM,GAAmB,EAAIN,EAAM,MAAQ,EAChF2H,EAAiB3H,EAAOt4L,CAAU,CACxC,CACIs4L,EAAM,MAAQ+F,EAAa/F,EAAM,OAAS,EAC1C/qJ,GAAO,gBAAgB+qJ,EAAM,OAAS,CAAC,CAC3C,SAAayH,EAAgB,IAAI7mJ,EAAI,EAAE,GAAKj6F,EAAO,CAC/C,MAAMq5O,EAAQE,EAAO,IAAIt/I,EAAI,EAAE,EAC/B,GAAIp5D,GAAK,aAAc,CACrB,MAAMkgB,EAAas4L,EAAM,MAAQ,QAAUM,GAAmB,EAAI,EAAIN,EAAM,MAAQ,EAAI,EACxF0H,EAAmB1H,EAAOt4L,CAAU,CAC1C,CACIs4L,EAAM,MAAQ+F,EAAa/F,EAAM,OAAS,EAC1C/qJ,GAAO,gBAAgB+qJ,EAAM,OAAS,CAAC,CAC3C,CACA,CACA9/M,EAAOsnN,GAA4B,4BAA4B,EAC/D,IAAI1xH,IAAuB51F,EAAO,eAAe61F,EAAOjhI,EAAIkpK,EAAU9D,EAAS,CAC7E,KAAM,CAAE,cAAA5tC,EAAe,SAAA52G,CAAU,EAAG83B,GAAY,EAChDhG,GAAO9xB,EACP,IAAIuoJ,EACA3xC,IAAkB,YACpB2xC,EAAiBjrG,GAAO,KAAOl+D,CAAE,GAEnC,MAAM2jC,EAAqCu6B,GAA9Bs5D,IAAkB,UAAmB2xC,EAAe,QAAQ,CAAC,EAAE,gBAAgB,KAAe,MAAX,EAC1FngI,EAAMwuF,IAAkB,UAAY2xC,EAAe,QAAQ,CAAC,EAAE,gBAAkB,SACtFhpE,GAAO,KAAM,EACb10D,GAAI,MAAM25H,EAAQ,EAAE,EACpB,MAAMpqC,EAAWxD,IAAkB,UAAY7zF,EAAK,OAAO,QAAQ3jC,CAAE,IAAI,EAAIk+D,GAAO,QAAQl+D,CAAE,IAAI,EAC5ForP,EAAShmF,EAAQ,GAAG,UAAW,EAC/BmsF,EAAgBnsF,EAAQ,GAAG,iBAAkB,EAC7CutF,EAAkBvtF,EAAQ,GAAG,mBAAoB,EACjD0tF,EAAQ1tF,EAAQ,GAAG,SAAU,EACnC,IAAIqoF,EAAYroF,EAAQ,GAAG,aAAc,EACzC,MAAMosF,EAAWpsF,EAAQ,GAAG,YAAa,EACnCllE,EAAQklE,EAAQ,GAAG,gBAAiB,EACpC2tF,EAAW3tF,EAAQ,GAAG,iBAAkB,EACxC4tF,EAAe5tF,EAAQ,GAAG,0BAA2B,EACrD6tF,EAA0B,MAAMC,GAA2B9H,EAAQoG,EAAUpsF,CAAO,EAW1F,GAVA1yH,GAAK,OAAS,MAAMygN,GAAsB/H,EAAQ6H,EAAyBH,CAAK,EAChFhuF,GAAgB,mBAAmB9pC,CAAQ,EAC3C8pC,GAAgB,mBAAmB9pC,CAAQ,EAC3C8pC,GAAgB,gBAAgB9pC,CAAQ,EACpC+3H,IACF5yJ,GAAO,gBAAgBztD,GAAK,SAAS,EACjCsgN,GACF7yJ,GAAO,gBAAgB2yJ,EAAM,CAAC,EAAE,aAAa,GAG7CpgN,GAAK,yBAA2B,GAAM,CACxC,MAAM0gN,EAA4B,IAAI,IACtC5B,EAAS,QAAS10P,GAAY,CAC5Bs2P,EAAU,IAAIt2P,EAAQ,IAAI,EAC1Bs2P,EAAU,IAAIt2P,EAAQ,EAAE,CAC9B,CAAK,EACD2wP,EAAYA,EAAU,OAAQC,GAAa0F,EAAU,IAAI1F,CAAQ,CAAC,CACtE,CACE4D,IAAsBt2H,EAAUowH,EAAQmG,EAAe9D,EAAW,EAAG+D,EAAU,EAAK,EACpF,MAAMY,EAAa,MAAMiB,IAAoB7B,EAAUpG,EAAQ6H,EAAyB7tF,CAAO,EAC/FN,GAAgB,gBAAgB9pC,CAAQ,EACxC8pC,GAAgB,qBAAqB9pC,CAAQ,EAC7C8pC,GAAgB,sBAAsB9pC,CAAQ,EAC9C8pC,GAAgB,qBAAqB9pC,CAAQ,EAC7C,SAASs4H,EAAUxnJ,EAAKs3I,EAAa,CACnC,MAAMmQ,EAAiBpzJ,GAAO,cAAc2L,CAAG,EAC3CynJ,EAAe,OAAS,GAAKnQ,IAC/BmQ,EAAe,OAASnQ,EAAc,EACtCA,GAAe,IAEjBt+E,GAAgB,eACd9pC,EACAu4H,EACAnQ,EACA1wM,GACA49M,GAAiBxkJ,EAAI,IAAI,EAAE,MAC5B,EACD3L,GAAO,OAAOozJ,EAAe,OAAQnQ,EAAc,GAAImQ,EAAe,MAAOnQ,CAAW,CAC5F,CACEh4M,EAAOkoN,EAAW,WAAW,EAC7B,IAAIlC,EAAgB,EAChBoC,EAAoB,EACxB,MAAMC,EAAiB,CAAE,EACnBC,EAAc,CAAE,EACtB,IAAI7hP,EAAQ,EACZ,UAAWi6F,KAAO0lJ,EAAU,CAC1B,IAAI5C,EAAWqB,EAAWtD,EAC1B,OAAQ7gJ,EAAI,KAAI,CACd,KAAKs5D,EAAQ,GAAG,SAAS,KACvBjlE,GAAO,iBAAkB,EACzB8vJ,EAAYnkJ,EAAI,UAChB,MAAM4kJ,IAAS11H,EAAUi1H,CAAS,EAClC,MACF,KAAK7qF,EAAQ,GAAG,SAAS,aACvBjlE,GAAO,cAAc2L,EAAKkvB,EAAUowH,CAAM,EAC1C,MACF,KAAKhmF,EAAQ,GAAG,SAAS,WACvBkuF,EAAUxnJ,EAAK3L,GAAO,gBAAgB,EACtC,MACF,KAAKilE,EAAQ,GAAG,SAAS,WACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UAAYA,GAAK,cACrB51C,GAAYqjG,GAAO,QAAQrjG,CAAO,CACpC,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,SACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5B,MAAM2kE,GAAgB,SAAS9pC,EAAU4zH,EAAW,OAAQl8M,EAAI,EAChEytD,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChEA,GAAO,OAAO,QAAQyuJ,CAAS,EAC/B,MACF,KAAKxpF,EAAQ,GAAG,SAAS,WACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UACJ51C,GAAYqjG,GAAO,QAAQ,OAAQrjG,EAAQ,OAAO,CACpD,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,SACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5BuzJ,EAAY,KAAK9E,CAAS,EAC1BzuJ,GAAO,OAAO,QAAQyuJ,CAAS,EAC/BzuJ,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChE,MACF,KAAKilE,EAAQ,GAAG,SAAS,UACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UAAYA,GAAK,cACrB51C,GAAYqjG,GAAO,QAAQrjG,CAAO,CACpC,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,QACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5B,MAAM2kE,GAAgB,SAAS9pC,EAAU4zH,EAAW,MAAOl8M,EAAI,EAC/DytD,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChEA,GAAO,OAAO,QAAQyuJ,CAAS,EAC/B,MACF,KAAKxpF,EAAQ,GAAG,SAAS,UACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UAAYA,GAAK,cACrB51C,GAAYqjG,GAAO,QAAQrjG,CAAO,CACpC,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,SACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UAAYA,GAAK,cACtBA,GAAK,UACJ51C,GAAYqjG,GAAO,iBAAiBrjG,CAAO,CAC7C,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,QACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5B,MAAM2kE,GAAgB,SAAS9pC,EAAU4zH,EAAW,MAAOl8M,EAAI,EAC/DytD,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChEA,GAAO,OAAO,QAAQyuJ,CAAS,EAC/B,MACF,KAAKxpF,EAAQ,GAAG,SAAS,UACzB,KAAKA,EAAQ,GAAG,SAAS,eACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UAAYA,GAAK,cACrB51C,GAAYqjG,GAAO,QAAQrjG,CAAO,CACpC,EACDqjG,GAAO,gBAAiB,EACxB,MACF,KAAKilE,EAAQ,GAAG,SAAS,QACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UAAYA,GAAK,cACtBA,GAAK,UACJ51C,GAAYqjG,GAAO,iBAAiBrjG,CAAO,CAC7C,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,QACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5B,MAAM2kE,GAAgB,SAAS9pC,EAAU4zH,EAAW,MAAOl8M,EAAI,EAC/DytD,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChEA,GAAO,OAAO,QAAQyuJ,CAAS,EAC/B,MACF,KAAKxpF,EAAQ,GAAG,SAAS,WACvBgsF,EAAgBtlJ,EAAI,QAAQ,OAASslJ,EACrCoC,EAAoB1nJ,EAAI,QAAQ,MAAQ0nJ,EACpC1nJ,EAAI,QAAQ,QACds5D,EAAQ,GAAG,sBAAuB,EAElCA,EAAQ,GAAG,uBAAwB,EAErC,MACF,KAAKA,EAAQ,GAAG,SAAS,eACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UAAYA,GAAK,cACrB51C,GAAYqjG,GAAO,QAAQrjG,CAAO,CACpC,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,gBACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UAAYA,GAAK,cACtBA,GAAK,UACJ51C,GAAYqjG,GAAO,iBAAiBrjG,CAAO,CAC7C,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,aACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5B,MAAM2kE,GAAgB,SAAS9pC,EAAU4zH,EAAW,WAAYl8M,EAAI,EACpEytD,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChEA,GAAO,OAAO,QAAQyuJ,CAAS,EAC/B,MACF,KAAKxpF,EAAQ,GAAG,SAAS,YACvB+sF,GACEC,EACAtmJ,EACAp5D,GAAK,UACLA,GAAK,UAAYA,GAAK,cACrB51C,GAAYqjG,GAAO,QAAQrjG,CAAO,CACpC,EACD,MACF,KAAKsoK,EAAQ,GAAG,SAAS,UACvBwpF,EAAYzuJ,GAAO,QAAS,EAC5B,MAAM2kE,GAAgB,SAAS9pC,EAAU4zH,EAAW,QAASl8M,EAAI,EACjEytD,GAAO,gBAAgByuJ,EAAU,MAAQzuJ,GAAO,eAAc,CAAE,EAChEA,GAAO,OAAO,QAAQyuJ,CAAS,EAC/B,MACF,QACE,GAAI,CACFjC,EAAW7gJ,EAAI,SACf6gJ,EAAS,OAASxsJ,GAAO,eAAgB,EACzCwsJ,EAAS,cAAgByE,EACzBzE,EAAS,gBAAkBvnF,EAAQ,GAAG,oBAAqB,EAC3D,MAAM6rF,EAAa,MAAMJ,GAAa71H,EAAU2xH,CAAQ,EACxD+F,GACE5mJ,EACA6gJ,EACAsE,EACAp/O,EACAu5O,EACAmG,EACAoB,CACD,EACDc,EAAe,KAAK,CAAE,aAAc9G,EAAU,WAAAsE,CAAU,CAAE,EAC1D9wJ,GAAO,OAAO,WAAWwsJ,CAAQ,CAClC,OAAQtzN,EAAG,CACVoS,GAAI,MAAM,8BAA+BpS,CAAC,CACpD,CACA,CACQ,CACF+rI,EAAQ,GAAG,SAAS,WACpBA,EAAQ,GAAG,SAAS,YACpBA,EAAQ,GAAG,SAAS,MACpBA,EAAQ,GAAG,SAAS,OACpBA,EAAQ,GAAG,SAAS,YACpBA,EAAQ,GAAG,SAAS,aACpBA,EAAQ,GAAG,SAAS,YACpBA,EAAQ,GAAG,SAAS,aACpBA,EAAQ,GAAG,SAAS,oBACpBA,EAAQ,GAAG,SAAS,oBAC1B,EAAM,SAASt5D,EAAI,IAAI,IACjBslJ,EAAgBA,EAAgBoC,GAElC3hP,GACJ,CACE45B,GAAI,MAAM,gBAAiB8lN,CAAa,EACxC9lN,GAAI,MAAM,kBAAmBknN,CAAe,EAC5C,MAAMf,GAAW52H,EAAUowH,EAAQqC,EAAW,EAAK,EACnD,UAAWp0N,KAAKo6N,EACd,MAAMtC,IAAYn2H,EAAU3hG,EAAE,aAAcA,EAAE,WAAY+rI,CAAO,EAE/D1yH,GAAK,cACP,MAAMk/M,GAAW52H,EAAUowH,EAAQqC,EAAW,EAAI,EAEpDiG,EAAY,QAASr6N,GAAMyrI,GAAgB,mBAAmB9pC,EAAU3hG,CAAC,CAAC,EAC1Em0N,GAAmBxyH,EAAUowH,EAAQqC,EAAW/6M,EAAI,EACpD,UAAWihN,KAAQxzJ,GAAO,OAAO,MAC/BwzJ,EAAK,OAASxzJ,GAAO,eAAgB,EAAGwzJ,EAAK,EAC7CxzJ,GAAO,OAAOwzJ,EAAK,EAAGA,EAAK,EAAGA,EAAK,EAAIA,EAAK,MAAOA,EAAK,MAAM,EAC9DA,EAAK,OAASA,EAAK,EACnBA,EAAK,OAASA,EAAK,EACnBA,EAAK,MAAQA,EAAK,OAASA,EAAK,MAChCA,EAAK,MAAQA,EAAK,OAASA,EAAK,OAChCA,EAAK,OAAS,kBACd7uF,GAAgB,QAAQ9pC,EAAU24H,EAAMjhN,EAAI,EAE1CqgN,GACF5yJ,GAAO,gBAAgBztD,GAAK,SAAS,EAEvC,MAAMkhN,EAAkB/B,GAAgB72H,EAAUowH,EAAQqC,EAAWzkN,CAAG,EAClE,CAAE,OAAQktB,GAAQiqC,GAAO,UAAW,EACtCjqC,EAAI,SAAW,SACjBA,EAAI,OAAS,GAEXA,EAAI,SAAW,SACjBA,EAAI,OAAS,GAEXA,EAAI,QAAU,SAChBA,EAAI,MAAQ,GAEVA,EAAI,QAAU,SAChBA,EAAI,MAAQ,GAEd,IAAIS,EAAYT,EAAI,MAAQA,EAAI,OAC5BS,EAAYi9L,EAAgB,YAC9Bj9L,EAAYi9L,EAAgB,WAE9B,IAAI9wP,EAAS6zD,EAAY,EAAIjkB,GAAK,eAC9BA,GAAK,eACP5vC,EAASA,EAAS4vC,GAAK,UAAYA,GAAK,iBAE1C,IAAIgkB,EAAWR,EAAI,MAAQA,EAAI,OAC3BQ,EAAWk9L,EAAgB,WAC7Bl9L,EAAWk9L,EAAgB,UAE7B,MAAMzsP,EAAQuvD,EAAW,EAAIhkB,GAAK,eAC9BwtD,GACF86B,EAAS,OAAO,MAAM,EAAE,KAAK96B,CAAK,EAAE,KAAK,KAAMhqC,EAAI,MAAQA,EAAI,QAAU,EAAI,EAAIxjB,GAAK,cAAc,EAAE,KAAK,IAAK,GAAG,EAErHkE,GAAiBokF,EAAUl4H,EAAQqE,EAAOurC,GAAK,WAAW,EAC1D,MAAM42H,EAAoBppE,EAAQ,GAAK,EACvC86B,EAAS,KACP,UACA9kE,EAAI,OAASxjB,GAAK,eAAiB,MAAQA,GAAK,eAAiB42H,GAAqB,IAAMniK,EAAQ,KAAOrE,EAASwmK,EACrH,EACD79H,GAAI,MAAM,UAAW00D,GAAO,MAAM,CACpC,EAAG,MAAM,EACT,eAAe+yJ,GAA2B9H,EAAQoG,EAAUpsF,EAAS,CACnE,MAAM6tF,EAA0B,CAAE,EAClC,UAAWnnJ,KAAO0lJ,EAChB,GAAIpG,EAAO,IAAIt/I,EAAI,EAAE,GAAKs/I,EAAO,IAAIt/I,EAAI,IAAI,EAAG,CAC9C,MAAMo/I,EAAQE,EAAO,IAAIt/I,EAAI,EAAE,EAI/B,GAHIA,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,QAAU,CAAC8lF,EAAM,WAGxDp/I,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,SAAW,CAAC8lF,EAAM,UAC3D,SAEF,MAAM2I,EAAS/nJ,EAAI,YAAc,OAC3BgoJ,EAAY,CAACD,EACbE,EAAWF,EAASlD,GAASj+M,EAAI,EAAIuzH,GAAYvzH,EAAI,EACrDshN,EAAiBloJ,EAAI,KAAOvL,GAAc,UAAUuL,EAAI,QAASp5D,GAAK,MAAQ,EAAIA,GAAK,YAAaqhN,CAAQ,EAAIjoJ,EAAI,QAEpHmoJ,GADoBn+M,GAASk+M,CAAc,EAAI,MAAMj+M,GAA0B+1D,EAAI,QAASpzD,GAAY,GAAI6nD,GAAc,wBAAwByzJ,EAAgBD,CAAQ,GACzI,MAAQ,EAAIrhN,GAAK,YACpDohN,GAAahoJ,EAAI,OAASo/I,EAAM,UAClC+H,EAAwBnnJ,EAAI,EAAE,EAAIx1D,GAAe,OAC/C28M,EAAwBnnJ,EAAI,EAAE,GAAK,EACnCmoJ,CACD,EACQH,GAAahoJ,EAAI,OAASo/I,EAAM,UACzC+H,EAAwBnnJ,EAAI,IAAI,EAAIx1D,GAAe,OACjD28M,EAAwBnnJ,EAAI,IAAI,GAAK,EACrCmoJ,CACD,EACQH,GAAahoJ,EAAI,OAASA,EAAI,IACvCmnJ,EAAwBnnJ,EAAI,IAAI,EAAIx1D,GAAe,OACjD28M,EAAwBnnJ,EAAI,IAAI,GAAK,EACrCmoJ,EAAe,CAChB,EACDhB,EAAwBnnJ,EAAI,EAAE,EAAIx1D,GAAe,OAC/C28M,EAAwBnnJ,EAAI,EAAE,GAAK,EACnCmoJ,EAAe,CAChB,GACQnoJ,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,QAChD6tF,EAAwBnnJ,EAAI,IAAI,EAAIx1D,GAAe,OACjD28M,EAAwBnnJ,EAAI,IAAI,GAAK,EACrCmoJ,CACD,EACQnoJ,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,OAChD6tF,EAAwB/H,EAAM,SAAS,EAAI50M,GAAe,OACxD28M,EAAwB/H,EAAM,SAAS,GAAK,EAC5C+I,CACD,EACQnoJ,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,OAC5C8lF,EAAM,YACR+H,EAAwB/H,EAAM,SAAS,EAAI50M,GAAe,OACxD28M,EAAwB/H,EAAM,SAAS,GAAK,EAC5C+I,EAAe,CAChB,GAEC/I,EAAM,YACR+H,EAAwBnnJ,EAAI,IAAI,EAAIx1D,GAAe,OACjD28M,EAAwBnnJ,EAAI,IAAI,GAAK,EACrCmoJ,EAAe,CAChB,GAGX,CAEE,OAAAxoN,GAAI,MAAM,2BAA4BwnN,CAAuB,EACtDA,CACT,CACA7nN,EAAO8nN,GAA4B,4BAA4B,EAC/D,IAAIpB,IAAwC1mN,EAAO,SAAS8/M,EAAO,CACjE,IAAIgJ,EAAqB,EACzB,MAAMH,EAAWnD,GAAUl+M,EAAI,EAC/B,UAAWnuC,KAAO2mP,EAAM,MAAO,CAE7B,MAAMiJ,EADkB5zJ,GAAc,wBAAwBh8F,EAAKwvP,CAAQ,EACxC,MAAQ,EAAIrhN,GAAK,YAAc,EAAIA,GAAK,UACvEwhN,EAAqBC,IACvBD,EAAqBC,EAE3B,CACE,OAAOD,CACT,EAAG,uBAAuB,EAC1B,eAAef,GAAsB/H,EAAQgJ,EAAqBtB,EAAO,CACvE,IAAI9hG,EAAY,EAChB,UAAWvxJ,KAAQ2rP,EAAO,OAAQ,CAChC,MAAMF,EAAQE,EAAO,IAAI3rP,CAAI,EACzByrP,EAAM,OACRA,EAAM,YAAc3qJ,GAAc,UAChC2qJ,EAAM,YACNx4M,GAAK,MAAQ,EAAIA,GAAK,YACtBk+M,GAAUl+M,EAAI,CACf,GAEH,MAAM2hN,EAAUv+M,GAASo1M,EAAM,WAAW,EAAI,MAAMn1M,GAA0Bm1M,EAAM,YAAaxyM,GAAY,GAAI6nD,GAAc,wBAAwB2qJ,EAAM,YAAa0F,GAAUl+M,EAAI,CAAC,EACzLw4M,EAAM,MAAQA,EAAM,KAAOx4M,GAAK,MAAQ4D,GAAe,OAAO5D,GAAK,MAAO2hN,EAAQ,MAAQ,EAAI3hN,GAAK,WAAW,EAC9Gw4M,EAAM,OAASA,EAAM,KAAO50M,GAAe,OAAO+9M,EAAQ,OAAQ3hN,GAAK,MAAM,EAAIA,GAAK,OACtFs+G,EAAY16G,GAAe,OAAO06G,EAAWk6F,EAAM,MAAM,CAC7D,CACE,UAAWwC,KAAY0G,EAAqB,CAC1C,MAAMlJ,EAAQE,EAAO,IAAIsC,CAAQ,EACjC,GAAI,CAACxC,EACH,SAEF,MAAMoJ,EAAYlJ,EAAO,IAAIF,EAAM,SAAS,EAC5C,GAAI,CAACoJ,EAAW,CAEd,MAAMC,EADgBH,EAAoB1G,CAAQ,EACdh7M,GAAK,YAAcw4M,EAAM,MAAQ,EACrEA,EAAM,OAAS50M,GAAe,OAAOi+M,EAAa7hN,GAAK,WAAW,EAClE,QACN,CAEI,MAAM8hN,EADeJ,EAAoB1G,CAAQ,EACfh7M,GAAK,YAAcw4M,EAAM,MAAQ,EAAIoJ,EAAU,MAAQ,EACzFpJ,EAAM,OAAS50M,GAAe,OAAOk+M,EAAY9hN,GAAK,WAAW,CACrE,CACE,IAAI+hN,EAAe,EACnB,OAAA3B,EAAM,QAAS58L,GAAQ,CACrB,MAAM69L,EAAW9tF,GAAYvzH,EAAI,EACjC,IAAI0iE,EAAal/C,EAAI,UAAU,OAAO,CAACw+L,EAAOC,IACrCD,GAAStJ,EAAO,IAAIuJ,CAAI,EAAE,OAASvJ,EAAO,IAAIuJ,CAAI,EAAE,QAAU,GACpE,CAAC,EACJv/I,GAAc,EAAI1iE,GAAK,cACnBwjB,EAAI,OACNA,EAAI,KAAOqqC,GAAc,UAAUrqC,EAAI,KAAMk/C,EAAa,EAAI1iE,GAAK,YAAaqhN,CAAQ,GAE1F,MAAMa,EAAmBr0J,GAAc,wBAAwBrqC,EAAI,KAAM69L,CAAQ,EACjFU,EAAen+M,GAAe,OAAOs+M,EAAiB,OAAQH,CAAY,EAC1E,MAAMl+O,EAAW+/B,GAAe,OAAO8+D,EAAYw/I,EAAiB,MAAQ,EAAIliN,GAAK,WAAW,EAEhG,GADAwjB,EAAI,OAASxjB,GAAK,cACd0iE,EAAa7+F,EAAU,CACzB,MAAMs+O,GAAWt+O,EAAW6+F,GAAc,EAC1Cl/C,EAAI,QAAU2+L,CACpB,CACA,CAAG,EACD/B,EAAM,QAAS58L,GAAQA,EAAI,cAAgBu+L,CAAY,EAChDn+M,GAAe,OAAO06G,EAAWt+G,GAAK,MAAM,CACrD,CACAtH,EAAO+nN,GAAuB,uBAAuB,EACrD,IAAI2B,IAAiC1pN,EAAO,eAAe0gE,EAAKs/I,EAAQhmF,EAAS,CAC/E,MAAM2vF,EAAY3J,EAAO,IAAIt/I,EAAI,IAAI,EAC/BkpJ,EAAU5J,EAAO,IAAIt/I,EAAI,EAAE,EAC3Bw5D,EAASyvF,EAAU,EACnBxvF,EAAQyvF,EAAQ,EAChBC,EAAanpJ,EAAI,MAAQA,EAAI,QACnC,IAAIopJ,EAAiBp/M,GAASg2D,EAAI,OAAO,EAAI,MAAM/1D,GAA0B+1D,EAAI,QAASpzD,IAAY,EAAI6nD,GAAc,wBACtH00J,EAAa10J,GAAc,UAAUuL,EAAI,QAASp5D,GAAK,MAAOi+M,GAASj+M,EAAI,CAAC,EAAIo5D,EAAI,QACpF6kJ,GAASj+M,EAAI,CACd,EACD,MAAMu9M,EAAY,CAChB,MAAOgF,EAAaviN,GAAK,MAAQ4D,GAAe,OAAO5D,GAAK,MAAOwiN,EAAe,MAAQ,EAAIxiN,GAAK,UAAU,EAC7G,OAAQ,EACR,OAAQqiN,EAAU,EAClB,MAAO,EACP,OAAQ,EACR,MAAO,EACP,QAASjpJ,EAAI,OACd,EACD,OAAIA,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,SACzC6qF,EAAU,MAAQgF,EAAa3+M,GAAe,OAAO5D,GAAK,MAAOwiN,EAAe,KAAK,EAAI5+M,GAAe,OACtGy+M,EAAU,MAAQ,EAAIC,EAAQ,MAAQ,EACtCE,EAAe,MAAQ,EAAIxiN,GAAK,UACjC,EACDu9M,EAAU,OAAS3qF,GAAUyvF,EAAU,MAAQriN,GAAK,aAAe,GAC1Do5D,EAAI,YAAcs5D,EAAQ,GAAG,UAAU,QAChD6qF,EAAU,MAAQgF,EAAa3+M,GAAe,OAAO5D,GAAK,MAAOwiN,EAAe,MAAQ,EAAIxiN,GAAK,UAAU,EAAI4D,GAAe,OAC5Hy+M,EAAU,MAAQ,EAAIC,EAAQ,MAAQ,EACtCE,EAAe,MAAQ,EAAIxiN,GAAK,UACjC,EACDu9M,EAAU,OAAS3qF,EAAS2qF,EAAU,OAAS8E,EAAU,MAAQriN,GAAK,aAAe,GAC5Eo5D,EAAI,KAAOA,EAAI,MACxBopJ,EAAiB30J,GAAc,wBAC7B00J,EAAa10J,GAAc,UAAUuL,EAAI,QAASx1D,GAAe,OAAO5D,GAAK,MAAOqiN,EAAU,KAAK,EAAGpE,GAASj+M,EAAI,CAAC,EAAIo5D,EAAI,QAC5H6kJ,GAASj+M,EAAI,CACd,EACDu9M,EAAU,MAAQgF,EAAa3+M,GAAe,OAAO5D,GAAK,MAAOqiN,EAAU,KAAK,EAAIz+M,GAAe,OAAOy+M,EAAU,MAAOriN,GAAK,MAAOwiN,EAAe,MAAQ,EAAIxiN,GAAK,UAAU,EACjLu9M,EAAU,OAAS3qF,GAAUyvF,EAAU,MAAQ9E,EAAU,OAAS,IAElEA,EAAU,MAAQ,KAAK,IAAI3qF,EAASyvF,EAAU,MAAQ,GAAKxvF,EAAQyvF,EAAQ,MAAQ,EAAE,EAAItiN,GAAK,YAC9Fu9M,EAAU,OAAS3qF,EAASC,EAAQD,EAASyvF,EAAU,MAAQ,EAAIriN,GAAK,YAAc,EAAI6yH,EAAQyvF,EAAQ,MAAQ,EAAItiN,GAAK,YAAc,GAEvIuiN,IACFhF,EAAU,QAAU1vJ,GAAc,UAChCuL,EAAI,QACJmkJ,EAAU,MAAQ,EAAIv9M,GAAK,YAC3Bi+M,GAASj+M,EAAI,CACd,GAEHjH,GAAI,MACF,OAAOwkN,EAAU,MAAM,IAAIA,EAAU,KAAK,IAAIA,EAAU,MAAM,IAAIA,EAAU,KAAK,IAAIA,EAAU,KAAK,IAAIA,EAAU,MAAM,IAAInkJ,EAAI,OAAO,GACxI,EACMmkJ,CACT,EAAG,gBAAgB,EACfkF,IAAoC/pN,EAAO,SAAS0gE,EAAKs/I,EAAQhmF,EAAS,CAC5E,GAAI,CAAC,CACHA,EAAQ,GAAG,SAAS,WACpBA,EAAQ,GAAG,SAAS,YACpBA,EAAQ,GAAG,SAAS,MACpBA,EAAQ,GAAG,SAAS,OACpBA,EAAQ,GAAG,SAAS,YACpBA,EAAQ,GAAG,SAAS,aACpBA,EAAQ,GAAG,SAAS,YACpBA,EAAQ,GAAG,SAAS,aACpBA,EAAQ,GAAG,SAAS,oBACpBA,EAAQ,GAAG,SAAS,oBACxB,EAAI,SAASt5D,EAAI,IAAI,EACjB,MAAO,CAAE,EAEX,KAAM,CAACspJ,EAAUxiK,CAAS,EAAIo/J,GAAiBlmJ,EAAI,KAAMs/I,CAAM,EACzD,CAACiK,EAAQC,CAAO,EAAItD,GAAiBlmJ,EAAI,GAAIs/I,CAAM,EACnDmK,EAAiBH,GAAYC,EACnC,IAAI/vF,EAASiwF,EAAiB3iK,EAAYwiK,EACtC7vF,EAAQgwF,EAAiBF,EAASC,EACtC,MAAME,EAAsB,KAAK,IAAIH,EAASC,CAAO,EAAI,EACnDG,EAA8BrqN,EAAQ5sC,GACnC+2P,EAAiB,CAAC/2P,EAAQA,EAChC,aAAa,EACZstG,EAAI,OAASA,EAAI,GACnBy5D,EAAQD,GAEJx5D,EAAI,UAAY,CAAC0pJ,IACnBjwF,GAASkwF,EAAY/iN,GAAK,gBAAkB,EAAI,CAAC,GAE9C,CAAC0yH,EAAQ,GAAG,SAAS,WAAYA,EAAQ,GAAG,SAAS,WAAW,EAAE,SAASt5D,EAAI,IAAI,IACtFy5D,GAASkwF,EAAY,CAAC,GAEpB,CAACrwF,EAAQ,GAAG,SAAS,oBAAqBA,EAAQ,GAAG,SAAS,oBAAoB,EAAE,SACtFt5D,EAAI,IACV,IACMw5D,GAAUmwF,EAAY,CAAC,IAG3B,MAAMC,EAAY,CAACN,EAAUxiK,EAAWyiK,EAAQC,CAAO,EACjDK,EAAe,KAAK,IAAIrwF,EAASC,CAAK,EACxCz5D,EAAI,MAAQA,EAAI,UAClBA,EAAI,QAAUvL,GAAc,UAC1BuL,EAAI,QACJx1D,GAAe,OAAOq/M,EAAe,EAAIjjN,GAAK,YAAaA,GAAK,KAAK,EACrEuzH,GAAYvzH,EAAI,CACjB,GAEH,MAAMkjN,EAAUr1J,GAAc,wBAAwBuL,EAAI,QAASm6D,GAAYvzH,EAAI,CAAC,EACpF,MAAO,CACL,MAAO4D,GAAe,OACpBw1D,EAAI,KAAO,EAAI8pJ,EAAQ,MAAQ,EAAIljN,GAAK,YACxCijN,EAAe,EAAIjjN,GAAK,YACxBA,GAAK,KACN,EACD,OAAQ,EACR,OAAA4yH,EACA,MAAAC,EACA,OAAQ,EACR,MAAO,EACP,QAASz5D,EAAI,QACb,KAAMA,EAAI,KACV,KAAMA,EAAI,KACV,WAAY,KAAK,IAAI,MAAM,KAAM4pJ,CAAS,EAC1C,SAAU,KAAK,IAAI,MAAM,KAAMA,CAAS,CACzC,CACH,EAAG,mBAAmB,EAClBrC,IAAsCjoN,EAAO,eAAeomN,EAAUpG,EAAQyK,EAAmBzwF,EAAS,CAC5G,MAAM0wF,EAAQ,CAAE,EACV32O,EAAQ,CAAE,EAChB,IAAIs6H,EAASw2G,EAAWtD,EACxB,UAAW7gJ,KAAO0lJ,EAAU,CAC1B,OAAQ1lJ,EAAI,KAAI,CACd,KAAKs5D,EAAQ,GAAG,SAAS,WACzB,KAAKA,EAAQ,GAAG,SAAS,UACzB,KAAKA,EAAQ,GAAG,SAAS,UACzB,KAAKA,EAAQ,GAAG,SAAS,UACzB,KAAKA,EAAQ,GAAG,SAAS,eACzB,KAAKA,EAAQ,GAAG,SAAS,eACzB,KAAKA,EAAQ,GAAG,SAAS,YACvBjmJ,EAAM,KAAK,CACT,GAAI2sF,EAAI,GACR,IAAKA,EAAI,QACT,KAAM,OAAO,iBACb,GAAI,OAAO,iBACX,MAAO,CACjB,CAAS,EACD,MACF,KAAKs5D,EAAQ,GAAG,SAAS,SACzB,KAAKA,EAAQ,GAAG,SAAS,QACzB,KAAKA,EAAQ,GAAG,SAAS,gBACnBt5D,EAAI,UACN2tC,EAAUt6H,EAAM,IAAK,EACrB22O,EAAMr8G,EAAQ,EAAE,EAAIA,EACpBq8G,EAAMhqJ,EAAI,EAAE,EAAI2tC,EAChBt6H,EAAM,KAAKs6H,CAAO,GAEpB,MACF,KAAK2rB,EAAQ,GAAG,SAAS,SACzB,KAAKA,EAAQ,GAAG,SAAS,QACzB,KAAKA,EAAQ,GAAG,SAAS,QACzB,KAAKA,EAAQ,GAAG,SAAS,QACzB,KAAKA,EAAQ,GAAG,SAAS,aACzB,KAAKA,EAAQ,GAAG,SAAS,UACvB3rB,EAAUt6H,EAAM,IAAK,EACrB22O,EAAMr8G,EAAQ,EAAE,EAAIA,EACpB,MACF,KAAK2rB,EAAQ,GAAG,SAAS,aACvB,CACE,MAAMgrF,EAAYhF,EAAO,IAAIt/I,EAAI,KAAOA,EAAI,KAAOA,EAAI,GAAG,KAAK,EACzDukJ,EAAcC,GAAiBxkJ,EAAI,KAAOA,EAAI,KAAOA,EAAI,GAAG,KAAK,EAAE,OACnExpG,EAAI8tP,EAAU,EAAIA,EAAU,MAAQ,GAAKC,EAAc,GAAK39M,GAAK,gBAAkB,EACnFqjN,EAAQ,CACZ,OAAQzzP,EACR,MAAOA,EAAIowC,GAAK,gBAChB,MAAOo5D,EAAI,KACX,QAAS,EACV,EACD3L,GAAO,YAAY,KAAK41J,CAAK,CACvC,CACQ,MACF,KAAK3wF,EAAQ,GAAG,SAAS,WACvB,CACE,MAAMmrF,EAAyBpwJ,GAAO,YAAY,IAAKhoE,GAAMA,EAAE,KAAK,EAAE,YAAY2zE,EAAI,IAAI,EAC1F3L,GAAO,YAAY,OAAOowJ,EAAwB,CAAC,EAAE,OAAO,EAAG,CAAC,CAC1E,CACQ,KACR,CACmBzkJ,EAAI,YAAc,QAE/BmkJ,EAAY,MAAM6E,IAAehpJ,EAAKs/I,EAAQhmF,CAAO,EACrDt5D,EAAI,UAAYmkJ,EAChB9wO,EAAM,QAAS62O,GAAQ,CACrBv8G,EAAUu8G,EACVv8G,EAAQ,KAAOnjG,GAAe,OAAOmjG,EAAQ,KAAMw2G,EAAU,MAAM,EACnEx2G,EAAQ,GAAKnjG,GAAe,OAAOmjG,EAAQ,GAAIw2G,EAAU,OAASA,EAAU,KAAK,EACjFx2G,EAAQ,MAAQnjG,GAAe,OAAOmjG,EAAQ,MAAO,KAAK,IAAIA,EAAQ,KAAOA,EAAQ,EAAE,CAAC,EAAI/mG,GAAK,aACzG,CAAO,IAEDi6M,EAAWwI,IAAkBrpJ,EAAKs/I,EAAQhmF,CAAO,EACjDt5D,EAAI,SAAW6gJ,EACXA,EAAS,QAAUA,EAAS,OAASxtO,EAAM,OAAS,GACtDA,EAAM,QAAS62O,GAAQ,CAErB,GADAv8G,EAAUu8G,EACNrJ,EAAS,SAAWA,EAAS,MAAO,CACtC,MAAMz7L,EAAOk6L,EAAO,IAAIt/I,EAAI,IAAI,EAC1B36C,EAAKi6L,EAAO,IAAIt/I,EAAI,EAAE,EAC5B2tC,EAAQ,KAAOnjG,GAAe,OAC5B4a,EAAK,EAAIy7L,EAAS,MAAQ,EAC1Bz7L,EAAK,EAAIA,EAAK,MAAQ,EACtBuoF,EAAQ,IACT,EACDA,EAAQ,GAAKnjG,GAAe,OAC1B6a,EAAG,EAAIw7L,EAAS,MAAQ,EACxBx7L,EAAG,EAAID,EAAK,MAAQ,EACpBuoF,EAAQ,EACT,EACDA,EAAQ,MAAQnjG,GAAe,OAAOmjG,EAAQ,MAAO,KAAK,IAAIA,EAAQ,GAAKA,EAAQ,IAAI,CAAC,EAAI/mG,GAAK,aAC7G,MACY+mG,EAAQ,KAAOnjG,GAAe,OAAOq2M,EAAS,OAAQlzG,EAAQ,IAAI,EAClEA,EAAQ,GAAKnjG,GAAe,OAAOq2M,EAAS,MAAOlzG,EAAQ,EAAE,EAC7DA,EAAQ,MAAQnjG,GAAe,OAAOmjG,EAAQ,MAAOkzG,EAAS,KAAK,EAAIj6M,GAAK,aAExF,CAAS,EAGT,CACEytD,UAAO,YAAc,CAAE,EACvB10D,GAAI,MAAM,oBAAqBqqN,CAAK,EAC7BA,CACT,EAAG,qBAAqB,EACpBG,IAA2B,CAC/B,OAAE91J,GACA,WAAAyxJ,GACA,gBAAAC,GACF,QAAExsF,GACArkC,QACF,EAGI9nF,IAAU,CACZ,OAAQoxM,IACR,IAAI,IAAK,CACP,OAAO,IAAIC,GACZ,EACD,SAAU0L,IACV,OAAQt+M,IACR,KAAsBvM,EAAQm5H,GAAQ,CAC/BA,EAAI,WACPA,EAAI,SAAW,CAAE,GAEfA,EAAI,OACNA,EAAI,SAAS,KAAOA,EAAI,KACxBzxH,GAAU,CAAE,SAAU,CAAE,KAAMyxH,EAAI,IAAI,EAAI,EAEhD,EAAK,MAAM,CACX,mHC56GA,IAAIpsJ,GAAS,UAAW,CACtB,IAAIshB,EAAoB2R,EAAO,SAAS9vB,GAAG8c,GAAGqgI,GAAI7+H,GAAG,CACnD,IAAK6+H,GAAKA,IAAM,GAAI7+H,GAAIte,GAAE,OAAQse,KAAK6+H,GAAGn9I,GAAEse,EAAC,CAAC,EAAIxB,GAAG,CACrD,OAAOqgI,EACX,EAAK,GAAG,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAG,EAAGC,EAAM,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAG,EAAGC,EAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAG,EAAGC,GAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAG,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGiR,GAAM,CAAC,EAAG,EAAG,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAClsCjR,GAAU,CACZ,MAAuB7wH,EAAO,UAAiB,CAC9C,EAAE,OAAO,EACV,GAAI,CAAE,EACN,SAAU,CAAE,MAAS,EAAG,MAAS,EAAG,WAAc,EAAG,WAAc,EAAG,YAAe,EAAG,cAAiB,EAAG,QAAW,EAAG,IAAO,EAAG,UAAa,GAAI,WAAc,GAAI,IAAO,GAAI,IAAO,GAAI,IAAO,GAAI,cAAiB,GAAI,cAAiB,GAAI,IAAO,GAAI,UAAa,GAAI,iBAAoB,GAAI,YAAe,GAAI,kBAAqB,GAAI,MAAS,GAAI,mBAAsB,GAAI,eAAkB,GAAI,gBAAmB,GAAI,oBAAuB,GAAI,eAAkB,GAAI,eAAkB,GAAI,kBAAqB,GAAI,cAAiB,GAAI,kBAAqB,GAAI,UAAa,GAAI,UAAa,GAAI,gBAAmB,GAAI,UAAa,GAAI,gBAAmB,GAAI,0BAA6B,GAAI,oBAAuB,GAAI,aAAgB,GAAI,gBAAmB,GAAI,YAAe,GAAI,UAAa,GAAI,gBAAmB,GAAI,gBAAmB,GAAI,QAAW,GAAI,MAAS,GAAI,iBAAoB,GAAI,eAAkB,GAAI,OAAU,GAAI,UAAa,GAAI,SAAY,GAAI,SAAY,GAAI,SAAY,GAAI,KAAQ,GAAI,SAAY,GAAI,UAAa,GAAI,UAAa,GAAI,MAAS,GAAI,MAAS,GAAI,aAAgB,GAAI,aAAgB,GAAI,aAAgB,GAAI,aAAgB,GAAI,aAAgB,GAAI,SAAY,GAAI,YAAe,GAAI,UAAa,GAAI,YAAe,GAAI,WAAc,GAAI,SAAY,GAAI,KAAQ,GAAI,YAAe,GAAI,SAAY,GAAI,KAAQ,GAAI,YAAe,GAAI,MAAS,GAAI,cAAiB,GAAI,cAAiB,GAAI,KAAQ,GAAI,MAAS,GAAI,SAAY,GAAI,MAAS,GAAI,eAAkB,GAAI,IAAO,GAAI,MAAS,GAAI,KAAQ,GAAI,MAAS,GAAI,KAAQ,GAAI,IAAO,GAAI,aAAgB,GAAI,UAAa,GAAI,gBAAmB,GAAI,gBAAmB,GAAI,SAAY,GAAI,OAAU,GAAI,KAAM,GAAI,KAAM,GAAI,QAAW,GAAI,MAAS,GAAI,SAAY,IAAK,aAAgB,IAAK,WAAc,IAAK,QAAW,EAAG,KAAQ,CAAG,EACxxD,WAAY,CAAE,EAAG,QAAS,EAAG,gBAAiB,EAAG,UAAW,EAAG,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,MAAO,GAAI,cAAe,GAAI,QAAS,GAAI,YAAa,GAAI,kBAAmB,GAAI,YAAa,GAAI,kBAAmB,GAAI,4BAA6B,GAAI,eAAgB,GAAI,cAAe,GAAI,YAAa,GAAI,kBAAmB,GAAI,QAAS,GAAI,mBAAoB,GAAI,iBAAkB,GAAI,SAAU,GAAI,YAAa,GAAI,WAAY,GAAI,OAAQ,GAAI,WAAY,GAAI,QAAS,GAAI,QAAS,GAAI,eAAgB,GAAI,eAAgB,GAAI,eAAgB,GAAI,eAAgB,GAAI,cAAe,GAAI,YAAa,GAAI,cAAe,GAAI,aAAc,GAAI,WAAY,GAAI,OAAQ,GAAI,cAAe,GAAI,WAAY,GAAI,OAAQ,GAAI,cAAe,GAAI,QAAS,GAAI,gBAAiB,GAAI,gBAAiB,GAAI,OAAQ,GAAI,QAAS,GAAI,WAAY,GAAI,MAAO,GAAI,QAAS,GAAI,OAAQ,GAAI,QAAS,GAAI,OAAQ,GAAI,MAAO,GAAI,kBAAmB,GAAI,WAAY,GAAI,SAAU,GAAI,KAAM,GAAI,KAAM,GAAI,UAAW,GAAI,QAAS,IAAK,WAAY,IAAK,eAAgB,IAAK,YAAc,EAC/iC,aAAc,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,G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,KAAK,SAAU,EACf,MACF,IAAK,IACH,MAAO,MAET,IAAK,IACH,KAAK,MAAM,QAAQ,EACnB,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,WAAW,EACf,GAET,IAAK,IACH,YAAK,SAAU,EACR,EAET,IAAK,IACH,MACF,IAAK,IACH,YAAK,MAAM,gBAAgB,EACpB,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MAAO,gBAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,aAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,YAAK,SAAU,EACR,EAET,IAAK,IACH,MACF,IAAK,IACH,YAAK,SAAU,EACf,KAAK,SAAU,EACR,GAET,IAAK,IACH,YAAK,MAAM,YAAY,EAChB,GAET,IAAK,IACH,YAAK,SAAU,EACR,GAET,IAAK,IACH,MAAO,gBAET,IAAK,IACH,MAAO,aAET,IAAK,IACH,MAAO,iBAET,IAAK,IACH,MACF,IAAK,IACH,MAAO,SAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,KAAK,SAAU,EACf,MACF,IAAK,IACH,MAAO,cAET,IAAK,IACH,KAAK,MAAM,SAAS,EACpB,MACF,IAAK,IACH,KAAK,SAAU,EACf,MACF,IAAK,IACH,MAAO,aAET,IAAK,IACH,KAAK,MAAM,UAAU,EACrB,MACF,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET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", + "names": [ + "SourceLocation", + "lexer", + "start", + "end", + "first", + "second", + "Token", + "text", + "loc", + "endToken", + "ParseError", + "message", + "token", + "error", + "input", + "underlined", + "left", + "right", + "self", + "contains", + "list", + "elem", + "deflt", + "setting", + "defaultIfUndefined", + "uppercase", + "hyphenate", + "str", + "ESCAPE_LOOKUP", + "ESCAPE_REGEX", + "escape", + "match", + "getBaseElem", + "group", + "isCharacterBox", + "baseElem", + "assert", + "value", + "protocolFromUrl", + "url", + "protocol", + "utils", + "SETTINGS_SCHEMA", + "color", + "def", + "defs", + "s", + "n", + "getDefaultValue", + "schema", + "type", + "defaultType", + "Settings", + "options", + "prop", + "errorCode", + "errorMsg", + "strict", + "context", + "trust", + "Style", + "id", + "size", + "cramped", + "styles", + "sup", + "sub", + "fracNum", + "fracDen", + "cramp", + "text$1", + "D", + "Dc", + "T", + "Tc", + "S", + "Sc", + "SS", + "SSc", + "Style$1", + "scriptData", + "scriptFromCodepoint", + "codepoint", + "i", + "script", + "_i", + "block", + "allBlocks", + "b", + "supportedCodepoint", + "hLinePad", + "sqrtMain", + "extraVinculum", + "sqrtSize1", + "sqrtSize2", + "sqrtSize3", + "sqrtSize4", + "phasePath", + "y", + "x", + "sqrtTall", + "viewBoxHeight", + "vertSegment", + "sqrtPath", + "path", + "innerPath", + "name", + "height", + "tallDelim", + "label", + "midHeight", + "DocumentFragment", + "children", + "className", + "frag", + "markup", + "toText", + "child", + "fontMetricsData", + "sigmasAndXis", + "extraCharacterMap", + "setFontMetrics", + "fontName", + "metrics", + "getCharacterMetrics", + "character", + "font", + "mode", + "ch", + "fontMetricsBySizeIndex", + "getGlobalMetrics", + "sizeIndex", + "key", + "sizeStyleMap", + "sizeMultipliers", + "sizeAtStyle", + "style", + "Options", + "data", + "extension", + "wantSize", + "fontFamily", + "fontWeight", + "fontShape", + "oldOptions", + "ptPerUnit", + "relativeUnit", + "validUnit", + "unit", + "calculateSize", + "sizeValue", + "scale", + "unitOptions", + "makeEm", + "createClass", + "classes", + "cls", + "initNode", + "toNode", + "tagName", + "node", + "attr", + "invalidAttributeNameRegex", + "toMarkup", + "Span", + "attribute", + "Anchor", + "href", + "Img", + "src", + "alt", + "iCombinations", + "SymbolNode", + "depth", + "italic", + "skew", + "width", + "span", + "needsSpan", + "escaped", + "SvgNode", + "attributes", + "svgNS", + "PathNode", + "pathName", + "alternate", + "LineNode", + "assertSymbolDomNode", + "assertSpan", + "ATOMS", + "NON_ATOMS", + "symbols", + "defineSymbol", + "replace", + "acceptUnicodeChar", + "math", + "main", + "ams", + "accent", + "bin", + "close", + "inner", + "mathord", + "op", + "open", + "punct", + "rel", + "spacing", + "textord", + "ligatures", + "mathTextSymbols", + "textSymbols", + "_ch", + "letters", + "_i2", + "_ch2", + "wideChar", + "_i3", + "_ch3", + "_i4", + "_ch4", + "extraLatin", + "_i5", + "_ch5", + "wideLatinLetterData", + "wideNumeralData", + "wideCharacterFont", + "H", + "L", + "codePoint", + "j", + "lookupSymbol", + "makeSymbol", + "lookup", + "symbolNode", + "mathsym", + "boldsymbol", + "makeOrd", + "isFont", + "fontOrFamily", + "wideFontName", + "wideFontClass", + "fontClasses", + "fontData", + "fontMap", + "retrieveTextFontName", + "parts", + "makeFragment", + "_fontName", + "_fontName2", + "_fontName3", + "canCombine", + "prev", + "next", + "_style", + "tryCombineChars", + "chars", + "sizeElementFromChildren", + "maxFontSize", + "makeSpan$2", + "makeSvgSpan", + "makeLineSpan", + "thickness", + "line", + "makeAnchor", + "anchor", + "fragment", + "wrapFragment", + "getVListChildrenAndDepth", + "params", + "oldChildren", + "_depth", + "currPos", + "diff", + "bottom", + "firstChild", + "makeVList", + "pstrutSize", + "pstrut", + "realChildren", + "minPos", + "maxPos", + "_child", + "_elem", + "childWrap", + "vlist", + "rows", + "emptySpan", + "depthStrut", + "topStrut", + "vtable", + "makeGlue", + "measurement", + "rule", + "baseFontName", + "fontStylesName", + "svgData", + "staticSvg", + "svgNode", + "buildCommon", + "thinspace", + "mediumspace", + "thickspace", + "spacings", + "tightSpacings", + "_functions", + "_htmlGroupBuilders", + "_mathmlGroupBuilders", + "defineFunction", + "_ref", + "names", + "props", + "handler", + "htmlBuilder", + "mathmlBuilder", + "defineFunctionBuilders", + "_ref2", + "normalizeArgument", + "arg", + "ordargument", + "makeSpan$1", + "binLeftCanceller", + "binRightCanceller", + "styleMap$1", + "DomEnum", + "buildExpression$1", + "expression", + "isRealGroup", + "surrounding", + "groups", + "output", + "buildGroup$1", + "glueOptions", + "dummyPrev", + "dummyNext", + "isRoot", + "traverseNonSpaceNodes", + "prevType", + "getTypeOfDomTree", + "space", + "nodes", + "callback", + "partialGroup", + "checkPartialGroup", + "nonspace", + "result", + "index", + "getOutermostNode", + "side", + "makeNullDelimiter", + "moreClasses", + "baseOptions", + "groupNode", + "multiplier", + "buildHTMLUnbreakable", + "body", + "strut", + "buildHTML", + "tree", + "tag", + "eqnNum", + "nobreak", + "tagChild", + "htmlNode", + "newDocumentFragment", + "MathNode", + "TextNode", + "SpaceNode", + "mathMLTree", + "makeText", + "makeRow", + "getVariant", + "isNumberPunctuation", + "buildExpression", + "isOrdgroup", + "buildGroup", + "lastGroup", + "_group", + "base", + "lastChild", + "buildExpressionRow", + "buildMathML", + "texExpression", + "isDisplayMode", + "forMathmlOnly", + "wrapper", + "annotation", + "semantics", + "wrapperClass", + "optionsFromSettings", + "settings", + "displayWrap", + "buildTree", + "katexNode", + "mathMLNode", + "_htmlNode", + "buildHTMLTree", + "stretchyCodePoint", + "mathMLnode", + "katexImagesData", + "groupLength", + "svgSpan", + "buildSvgSpan_", + "viewBoxWidth", + "grp", + "numChars", + "_height", + "imgIndex", + "spans", + "paths", + "_minWidth", + "_viewBoxHeight", + "_height2", + "numSvgChildren", + "widthClasses", + "aligns", + "align1", + "_path", + "_svgNode", + "_span", + "minWidth", + "encloseSpan", + "topPad", + "bottomPad", + "img", + "totalHeight", + "lines", + "stretchy", + "assertNodeType", + "assertSymbolNodeType", + "typedNode", + "checkSymbolNodeType", + "htmlBuilder$a", + "supSubGroup", + "mustShift", + "baseChar", + "baseGroup", + "accentBelow", + "clearance", + "accentBody", + "accentFull", + "accentWrap", + "mathmlBuilder$9", + "accentNode", + "NON_STRETCHY_ACCENT_REGEX", + "args", + "isStretchy", + "isShifty", + "parser", + "funcName", + "innerGroup", + "kern", + "paddedNode", + "optArgs", + "newOptions", + "upperGroup", + "arrowPrefix", + "lowerGroup", + "arrowBody", + "arrowShift", + "upperShift", + "lowerShift", + "arrowNode", + "upperNode", + "lowerNode", + "_lowerNode", + "makeSpan", + "htmlBuilder$9", + "elements", + "mathmlBuilder$8", + "binrelClass", + "atom", + "_ref3", + "baseArg", + "shiftedArg", + "mclass", + "baseOp", + "supsub", + "cdArrowFunctionName", + "newCell", + "isStartOfArrow", + "isLabelEnd", + "endChar", + "cdArrow", + "arrowChar", + "labels", + "leftLabel", + "bareArrow", + "sizedArrow", + "rightLabel", + "arrowGroup", + "arrow", + "parseCD", + "parsedRows", + "row", + "rowNodes", + "cell", + "labelNum", + "inLabel", + "k", + "wrappedArrow", + "cols", + "parent", + "number", + "code", + "htmlBuilder$8", + "mathmlBuilder$7", + "breakOnTokenText", + "newLine", + "globalMap", + "checkControlSequence", + "tok", + "getRHS", + "letCommand", + "global", + "macro", + "numArgs", + "insert", + "delimiters", + "tokens", + "_ref4", + "middle", + "getMetrics", + "symbol", + "styleWrap", + "delim", + "toStyle", + "delimSizeMultiplier", + "centerSpan", + "shift", + "makeSmallDelim", + "center", + "mathrmSize", + "makeLargeDelim", + "makeGlyphSpan", + "sizeClass", + "corner", + "makeInner", + "lapInEms", + "lap", + "verts", + "doubleVerts", + "makeStackedDelim", + "heightTotal", + "top", + "repeat", + "svgLabel", + "topMetrics", + "topHeightTotal", + "repeatMetrics", + "repeatHeightTotal", + "bottomMetrics", + "bottomHeightTotal", + "middleHeightTotal", + "middleFactor", + "middleMetrics", + "minHeight", + "repeatCount", + "realHeightTotal", + "axisHeight", + "stack", + "pathStr", + "svg", + "innerHeight", + "_innerHeight", + "vbPad", + "emPad", + "sqrtSvg", + "sqrtName", + "pathNode", + "makeSqrtImage", + "traverseSequence", + "stackLargeDelimiterSequence", + "sizeMultiplier", + "spanHeight", + "texHeight", + "advanceWidth", + "sizeToMaxHeight", + "stackLargeDelimiters", + "stackAlwaysDelimiters", + "stackNeverDelimiters", + "makeSizedDelim", + "stackNeverDelimiterSequence", + "stackAlwaysDelimiterSequence", + "delimTypeToFont", + "sequence", + "heightDepth", + "makeCustomSizedDelim", + "delimType", + "makeLeftRightDelim", + "delimiterFactor", + "delimiterExtend", + "maxDistFromAxis", + "delimiter", + "delimiterSizes", + "checkDelimiter", + "symDelim", + "assertParsed", + "innerDepth", + "hadMiddle", + "leftDelim", + "middleDelim", + "isMiddle", + "rightDelim", + "colorOptions", + "leftNode", + "rightNode", + "textNode", + "middleNode", + "htmlBuilder$7", + "imgShift", + "isSingleChar", + "lineWeight", + "angleHeight", + "ruleThickness", + "mathmlBuilder$6", + "fboxsep", + "thk", + "borderColor", + "backgroundColor", + "_ref5", + "_environments", + "defineEnvironment", + "_macros", + "defineMacro", + "getHLines", + "hlineInfo", + "nxt", + "validateAmsEnvironmentContext", + "getAutoTag", + "parseArray", + "hskipBeforeAndAfter", + "addJot", + "arraystretch", + "colSeparationType", + "autoTag", + "singleRow", + "emptySingleRow", + "maxNumCols", + "leqno", + "stretch", + "rowGaps", + "hLinesBeforeRow", + "tags", + "beginRow", + "endRow", + "dCellStyle", + "envName", + "htmlBuilder$6", + "r", + "c", + "nr", + "nc", + "hlines", + "pt", + "arraycolsep", + "localMultiplier", + "baselineskip", + "jot", + "arrayskip", + "arstrutHeight", + "arstrutDepth", + "setHLinePos", + "hlinesInGap", + "inrow", + "outrow", + "elt", + "rowGap", + "gap", + "offset", + "colDescriptions", + "colSep", + "colDescrNum", + "tagSpans", + "rw", + "tagSpan", + "colDescr", + "firstSeparator", + "lineType", + "separator", + "_shift", + "sepwidth", + "col", + "_shift2", + "dashes", + "vListElems", + "hline", + "lineShift", + "eqnNumCol", + "alignMap", + "mathmlBuilder$5", + "tbl", + "glue", + "table", + "menclose", + "align", + "columnLines", + "prevTypeWasAlign", + "iStart", + "iEnd", + "_cols", + "rowLines", + "alignedHandler", + "separationType", + "isSplit", + "res", + "numMaths", + "numCols", + "emptyGroup", + "arg0", + "isAligned", + "styling", + "ordgroup", + "curMaths", + "pregap", + "symNode", + "colalign", + "nde", + "ca", + "colAlign", + "payload", + "environments", + "nameGroup", + "env", + "_args", + "endNameToken", + "htmlBuilder$5", + "mathmlBuilder$4", + "fontAliases", + "func", + "adjustStyle", + "originalStyle", + "htmlBuilder$4", + "nstyle", + "dstyle", + "numerm", + "hStrut", + "dStrut", + "denomm", + "ruleWidth", + "ruleSpacing", + "numShift", + "denomShift", + "frac", + "midShift", + "candidateClearance", + "delimSize", + "mathmlBuilder$3", + "isDisplay", + "withDelims", + "leftOp", + "rightOp", + "numer", + "denom", + "hasBarLine", + "replaceWith", + "stylArray", + "delimFromValue", + "delimString", + "barNode", + "barSize", + "styl", + "textOrd", + "_ref6", + "htmlBuilder$3", + "braceBody", + "vSpan", + "mathmlBuilder$2", + "trustContext", + "keyVal", + "sizeData", + "totalheight", + "attributeStr", + "mathFunction", + "muUnit", + "dimension", + "fix", + "outerMode", + "chooseMathStyle", + "assembleSupSub", + "supGroup", + "subGroup", + "slant", + "baseShift", + "subIsSingleCharacter", + "finalGroup", + "_bottom", + "spacer", + "noSuccessor", + "htmlBuilder$2", + "hasLimits", + "large", + "stash", + "oval", + "mathmlBuilder$1", + "operator", + "singleCharBigOps", + "fName", + "singleCharIntegrals", + "htmlBuilder$1", + "childText", + "isAllString", + "word", + "identifier", + "defaultRuleThickness", + "phantom", + "amount", + "dy", + "sizingGroup", + "pos", + "sizeFuncs", + "smashHeight", + "smashDepth", + "tbArg", + "letter", + "smashedNode", + "theta", + "phi", + "lineClearance", + "minDelimiterHeight", + "delimDepth", + "rootm", + "toShift", + "rootVList", + "rootVListWrap", + "styleMap", + "newStyle", + "styleAttributes", + "htmlBuilderDelegate", + "delegate", + "_delegate", + "isSup", + "builderDelegate", + "valueBase", + "valueSup", + "valueSub", + "supm", + "subm", + "supShift", + "subShift", + "_newOptions", + "minSupShift", + "marginRight", + "marginLeft", + "isOiint", + "maxWidth", + "psi", + "vlistElem", + "_vlistElem", + "isBrace", + "isOver", + "nodeType", + "_base2", + "_base", + "variant", + "defaultVariant", + "cssSpace", + "regularSpace", + "ord", + "pad", + "padNode", + "textFontFamilies", + "textFontWeights", + "textFontShapes", + "optionsWithFont", + "makeVerb", + "functions", + "spaceRegexString", + "controlWordRegexString", + "controlSymbolRegexString", + "controlWordWhitespaceRegexString", + "controlSpaceRegexString", + "combiningDiacriticalMarkString", + "combiningDiacriticalMarksEndRegex", + "tokenRegexString", + "Lexer$1", + "char", + "nlIndex", + "Namespace", + "builtins", + "globalMacros", + "undefs", + "undef", + "macros", + "t", + "nextToken", + "digitToNumber", + "digit", + "newcommand", + "existsOK", + "nonexistsOK", + "skipIfExists", + "exists", + "argText", + "dotsByToken", + "thedots", + "spaceAfterDots", + "latexRaiseA", + "braketHelper", + "one", + "middleDouble", + "oldMiddle", + "oldMiddleDouble", + "midMacro", + "double", + "doubled", + "expanded", + "implicitCommands", + "MacroExpander", + "Lexer", + "newMode", + "isOptional", + "delims", + "isDelimited", + "expandableOnly", + "topToken", + "expansion", + "oldStackLength", + "definition", + "catcode", + "stripped", + "bodyLexer", + "unicodeSubRegEx", + "uSubsAndSups", + "unicodeAccents", + "unicodeSymbols", + "Parser$1", + "Parser", + "consume", + "parse", + "oldToken", + "breakOnInfix", + "lex", + "overIndex", + "numerNode", + "denomNode", + "numerBody", + "denomBody", + "symbolToken", + "textordArray", + "colorNode", + "superscript", + "subscript", + "limits", + "prime", + "primes", + "isSub", + "subsupTokens", + "funcData", + "totalArgs", + "argType", + "optional", + "_group2", + "modeName", + "argToken", + "regex", + "firstToken", + "lastToken", + "isBlank", + "groupEnd", + "a", + "v", + "nucleus", + "star", + "family", + "command", + "parseTree", + "toParse", + "render", + "baseNode", + "renderToDomTree", + "renderToString", + "generateParseTree", + "renderError", + "renderToHTMLTree", + "version", + "__domTree", + "katex", + "e", + "module", + "this", + "u", + "o", + "h", + "d", + "l", + "$", + "M", + "m", + "g", + "p", + "_", + "w", + "O", + "f", + "Channel", + "q", + "channel", + "max", + "min", + "Lang", + "lower", + "upper", + "Unit", + "dec", + "hex", + "Utils", + "lang", + "DEC2HEX", + "TYPE", + "Type$2", + "Channels", + "Type", + "channels", + "Hex", + "length", + "hasAlpha", + "isFullLength", + "bits", + "bitsOffset", + "mask", + "ChannelsReusable", + "HSL", + "hue", + "charCode", + "isAlphaPercentage", + "Keyword", + "RGB", + "isRedPercentage", + "isGreenPercentage", + "isBluePercentage", + "Color", + "change", + "rgba", + "luminance", + "isLight", + "isDark", + "adjustChannel", + "amountCurrent", + "amountNext", + "lighten", + "darken", + "adjust", + "changes", + "mix", + "color1", + "color2", + "weight", + "r1", + "g1", + "b1", + "a1", + "r2", + "g2", + "b2", + "a2", + "weightScale", + "weightNormalized", + "alphaDelta", + "weight1", + "weight2", + "invert", + "inverse", + "entries", + "setPrototypeOf", + "isFrozen", + "getPrototypeOf", + "getOwnPropertyDescriptor", + "freeze", + "seal", + "create", + "apply", + "construct", + "fun", + "thisValue", + "Func", + "arrayForEach", + "unapply", + "arrayLastIndexOf", + "arrayPop", + "arrayPush", + "arraySplice", + "stringToLowerCase", + "stringToString", + "stringMatch", + "stringReplace", + "stringIndexOf", + "stringTrim", + "objectHasOwnProperty", + "regExpTest", + "typeErrorCreate", + "unconstruct", + "thisArg", + "_len", + "_key", + "_len2", + "_key2", + "addToSet", + "set", + "array", + "transformCaseFunc", + "element", + "lcElement", + "cleanArray", + "clone", + "object", + "newObject", + "property", + "lookupGetter", + "desc", + "fallbackValue", + "html$1", + "svg$1", + "svgFilters", + "svgDisallowed", + "mathMl$1", + "mathMlDisallowed", + "html", + "mathMl", + "xml", + "MUSTACHE_EXPR", + "ERB_EXPR", + "TMPLIT_EXPR", + "DATA_ATTR", + "ARIA_ATTR", + "IS_ALLOWED_URI", + "IS_SCRIPT_OR_DATA", + "ATTR_WHITESPACE", + "DOCTYPE_NAME", + "CUSTOM_ELEMENT", + "EXPRESSIONS", + "NODE_TYPE", + "getGlobal", + "_createTrustedTypesPolicy", + "trustedTypes", + "purifyHostElement", + "suffix", + "ATTR_NAME", + "policyName", + "scriptUrl", + "_createHooksMap", + "createDOMPurify", + "window", + "DOMPurify", + "root", + "document", + "originalDocument", + "currentScript", + "HTMLTemplateElement", + "Node", + "Element", + "NodeFilter", + "NamedNodeMap", + "HTMLFormElement", + "DOMParser", + "ElementPrototype", + "cloneNode", + "remove", + "getNextSibling", + "getChildNodes", + "getParentNode", + "template", + "trustedTypesPolicy", + "emptyHTML", + "implementation", + "createNodeIterator", + "createDocumentFragment", + "getElementsByTagName", + "importNode", + "hooks", + "IS_ALLOWED_URI$1", + "ALLOWED_TAGS", + "DEFAULT_ALLOWED_TAGS", + "ALLOWED_ATTR", + "DEFAULT_ALLOWED_ATTR", + "CUSTOM_ELEMENT_HANDLING", + "FORBID_TAGS", + "FORBID_ATTR", + "ALLOW_ARIA_ATTR", + "ALLOW_DATA_ATTR", + "ALLOW_UNKNOWN_PROTOCOLS", + "ALLOW_SELF_CLOSE_IN_ATTR", + "SAFE_FOR_TEMPLATES", + "SAFE_FOR_XML", + "WHOLE_DOCUMENT", + "SET_CONFIG", + "FORCE_BODY", + "RETURN_DOM", + "RETURN_DOM_FRAGMENT", + "RETURN_TRUSTED_TYPE", + "SANITIZE_DOM", + "SANITIZE_NAMED_PROPS", + "SANITIZE_NAMED_PROPS_PREFIX", + "KEEP_CONTENT", + "IN_PLACE", + "USE_PROFILES", + "FORBID_CONTENTS", + "DEFAULT_FORBID_CONTENTS", + "DATA_URI_TAGS", + "DEFAULT_DATA_URI_TAGS", + "URI_SAFE_ATTRIBUTES", + "DEFAULT_URI_SAFE_ATTRIBUTES", + "MATHML_NAMESPACE", + "SVG_NAMESPACE", + "HTML_NAMESPACE", + "NAMESPACE", + "IS_EMPTY_INPUT", + "ALLOWED_NAMESPACES", + "DEFAULT_ALLOWED_NAMESPACES", + "MATHML_TEXT_INTEGRATION_POINTS", + "HTML_INTEGRATION_POINTS", + "COMMON_SVG_AND_HTML_ELEMENTS", + "PARSER_MEDIA_TYPE", + "SUPPORTED_PARSER_MEDIA_TYPES", + "DEFAULT_PARSER_MEDIA_TYPE", + "CONFIG", + "formElement", + "isRegexOrFunction", + "testValue", + "_parseConfig", + "cfg", + "ALL_SVG_TAGS", + "ALL_MATHML_TAGS", + "_checkValidNamespace", + "parentTagName", + "_forceRemove", + "_removeAttribute", + "_initDocument", + "dirty", + "doc", + "leadingWhitespace", + "matches", + "dirtyPayload", + "_createNodeIterator", + "_isClobbered", + "_isNode", + "_executeHooks", + "currentNode", + "hook", + "_sanitizeElements", + "content", + "_isBasicCustomElement", + "parentNode", + "childNodes", + "childCount", + "childClone", + "expr", + "_isValidAttribute", + "lcTag", + "lcName", + "_sanitizeAttributes", + "hookEvent", + "namespaceURI", + "attrValue", + "_sanitizeShadowDOM", + "shadowNode", + "shadowIterator", + "importedNode", + "returnNode", + "nodeIterator", + "serializedHTML", + "entryPoint", + "hookFunction", + "purify", + "__defProp", + "__name", + "target", + "__export", + "all", + "LEVELS", + "log", + "setLogLevel", + "level", + "numericLevel", + "format", + "dayjs", + "frontMatterRegex", + "directiveRegex", + "anyCommentRegex", + "UnknownDiagramError", + "_a", + "detectors", + "detectType", + "config2", + "detector", + "registerLazyLoadedDiagrams", + "diagrams2", + "loader", + "addDetector", + "getDiagramLoader", + "assignWithDepth", + "dst", + "clobber", + "assignWithDepth_default", + "oldAttributeBackgroundColorOdd", + "oldAttributeBackgroundColorEven", + "mkBorder", + "darkMode", + "Theme", + "adjust2", + "_b", + "_c", + "_d", + "_e", + "_f", + "_g", + "_h", + "_j", + "_k", + "_l", + "_m", + "_n", + "_o", + "_p", + "_q", + "_r", + "_s", + "_t", + "_u", + "overrides", + "keys", + "getThemeVariables", + "userOverrides", + "theme", + "Theme2", + "lighten2", + "adjust3", + "invert2", + "darken2", + "isDark2", + "getThemeVariables2", + "Theme3", + "adjust4", + "invert3", + "rgba2", + "darken3", + "lighten3", + "isDark3", + "getThemeVariables3", + "Theme4", + "lighten4", + "invert4", + "darken4", + "adjust5", + "isDark4", + "getThemeVariables4", + "Theme5", + "lighten5", + "adjust6", + "invert5", + "darken5", + "isDark5", + "getThemeVariables5", + "themes_default", + "config_schema_default", + "config", + "keyify", + "obj", + "prefix", + "el", + "configKeys", + "defaultConfig_default", + "sanitizeDirective", + "cssMatchers", + "cssKey", + "sanitizeCss", + "val", + "startCnt", + "endCnt", + "defaultConfig", + "siteConfig", + "configFromInitialize", + "directives", + "currentConfig", + "updateCurrentConfig", + "siteCfg", + "_directives", + "sumOfDirectives", + "sanitize", + "tmpConfigFromInitialize", + "themeVariables", + "checkConfig", + "setSiteConfig", + "conf", + "saveConfigFromInitialize", + "updateSiteConfig", + "getSiteConfig", + "setConfig", + "getConfig", + "addDirective", + "directive", + "reset", + "ConfigWarning", + "issuedWarnings", + "issueWarning", + "warning", + "lineBreakRegex", + "getRows", + "breakToPlaceholder", + "setupDompurifyHooksIfNotSetup", + "setup", + "setupDompurifyHooks", + "TEMPORARY_ATTRIBUTE", + "removeScript", + "txt", + "sanitizeMore", + "placeholderToBreak", + "sanitizeText", + "sanitizeTextOrArray", + "hasBreaks", + "splitBreaks", + "getUrl", + "useAbsolute", + "evaluate", + "getMax", + "values", + "newValues", + "getMin", + "parseGenericTypes", + "inputSets", + "thisSet", + "previousSet", + "nextSet", + "shouldCombineSets", + "processSet", + "countOccurrence", + "string", + "substring", + "prevCount", + "nextCount", + "tildeCount", + "hasStartingTilde", + "last", + "isMathMLSupported", + "katexRegex", + "hasKatex", + "calculateMathMLDimensions", + "renderKatex", + "divElem", + "dim", + "__vitePreload", + "katex$1", + "outputMode", + "common_default", + "d3Attrs", + "d3Elem", + "attrs", + "calculateSvgSizeAttrs", + "useMaxWidth", + "configureSvgSize", + "svgElem", + "setupGraphViewbox", + "graph", + "padding", + "svgBounds", + "sWidth", + "sHeight", + "vBox", + "themes", + "getStyles", + "userStyles", + "diagramStyles", + "addStylesForDiagram", + "diagramTheme", + "styles_default", + "commonDb_exports", + "clear", + "getAccDescription", + "getAccTitle", + "getDiagramTitle", + "setAccDescription", + "setAccTitle", + "setDiagramTitle", + "accTitle", + "diagramTitle", + "accDescription", + "sanitizeText2", + "log2", + "setLogLevel2", + "getConfig2", + "setConfig2", + "defaultConfig2", + "sanitizeText3", + "setupGraphViewbox2", + "getCommonDb", + "diagrams", + "registerDiagram", + "diagram", + "getDiagram", + "DiagramNotFoundError", + "isNothing", + "subject", + "isObject", + "toArray", + "extend", + "source", + "sourceKeys", + "count", + "cycle", + "isNegativeZero", + "isNothing_1", + "isObject_1", + "toArray_1", + "repeat_1", + "isNegativeZero_1", + "extend_1", + "common", + "formatError", + "exception2", + "compact", + "where", + "YAMLException$1", + "reason", + "mark", + "exception", + "getLine", + "buffer", + "lineStart", + "lineEnd", + "position", + "maxLineLength", + "head", + "tail", + "maxHalfLength", + "padStart", + "makeSnippet", + "re", + "lineStarts", + "lineEnds", + "foundLineNo", + "lineNoLength", + "snippet", + "TYPE_CONSTRUCTOR_OPTIONS", + "YAML_NODE_KINDS", + "compileStyleAliases", + "map2", + "alias", + "Type$1", + "compileList", + "schema2", + "currentType", + "newIndex", + "previousType", + "previousIndex", + "compileMap", + "collectType", + "type2", + "Schema$1", + "implicit", + "explicit", + "type$1", + "seq", + "map", + "failsafe", + "resolveYamlNull", + "constructYamlNull", + "isNull", + "_null", + "resolveYamlBoolean", + "constructYamlBoolean", + "isBoolean", + "bool", + "isHexCode", + "isOctCode", + "isDecCode", + "resolveYamlInteger", + "hasDigits", + "constructYamlInteger", + "sign", + "isInteger", + "int", + "YAML_FLOAT_PATTERN", + "resolveYamlFloat", + "constructYamlFloat", + "SCIENTIFIC_WITHOUT_DOT", + "representYamlFloat", + "isFloat", + "float", + "json", + "core", + "YAML_DATE_REGEXP", + "YAML_TIMESTAMP_REGEXP", + "resolveYamlTimestamp", + "constructYamlTimestamp", + "year", + "month", + "day", + "hour", + "minute", + "fraction", + "delta", + "tz_hour", + "tz_minute", + "date", + "representYamlTimestamp", + "timestamp", + "resolveYamlMerge", + "merge", + "BASE64_MAP", + "resolveYamlBinary", + "idx", + "bitlen", + "constructYamlBinary", + "tailbits", + "representYamlBinary", + "isBinary", + "binary", + "_hasOwnProperty$3", + "_toString$2", + "resolveYamlOmap", + "objectKeys", + "pair", + "pairKey", + "pairHasKey", + "constructYamlOmap", + "omap", + "_toString$1", + "resolveYamlPairs", + "constructYamlPairs", + "pairs", + "_hasOwnProperty$2", + "resolveYamlSet", + "constructYamlSet", + "_default", + "_hasOwnProperty$1", + "CONTEXT_FLOW_IN", + "CONTEXT_FLOW_OUT", + "CONTEXT_BLOCK_IN", + "CONTEXT_BLOCK_OUT", + "CHOMPING_CLIP", + "CHOMPING_STRIP", + "CHOMPING_KEEP", + "PATTERN_NON_PRINTABLE", + "PATTERN_NON_ASCII_LINE_BREAKS", + "PATTERN_FLOW_INDICATORS", + "PATTERN_TAG_HANDLE", + "PATTERN_TAG_URI", + "_class", + "is_EOL", + "is_WHITE_SPACE", + "is_WS_OR_EOL", + "is_FLOW_INDICATOR", + "fromHexCode", + "lc", + "escapedHexLen", + "fromDecimalCode", + "simpleEscapeSequence", + "charFromCodepoint", + "simpleEscapeCheck", + "simpleEscapeMap", + "State$1", + "generateError", + "state", + "throwError", + "throwWarning", + "directiveHandlers", + "major", + "minor", + "handle", + "captureSegment", + "checkJson", + "_position", + "_length", + "_character", + "_result", + "mergeMappings", + "destination", + "overridableKeys", + "quantity", + "storeMappingPair", + "keyTag", + "keyNode", + "valueNode", + "startLine", + "startLineStart", + "startPos", + "readLineBreak", + "skipSeparationSpace", + "allowComments", + "checkIndent", + "lineBreaks", + "testDocumentSeparator", + "writeFoldedLines", + "readPlainScalar", + "nodeIndent", + "withinFlowCollection", + "preceding", + "following", + "captureStart", + "captureEnd", + "hasPendingContent", + "_line", + "_lineStart", + "_lineIndent", + "_kind", + "readSingleQuotedScalar", + "readDoubleQuotedScalar", + "hexLength", + "hexResult", + "tmp", + "readFlowCollection", + "readNext", + "_pos", + "_tag", + "_anchor", + "terminator", + "isPair", + "isExplicitPair", + "isMapping", + "composeNode", + "readBlockScalar", + "folding", + "chomping", + "didReadContent", + "detectedIndent", + "textIndent", + "emptyLines", + "atMoreIndented", + "readBlockSequence", + "detected", + "readBlockMapping", + "flowIndent", + "allowCompact", + "_keyLine", + "_keyLineStart", + "_keyPos", + "atExplicitKey", + "readTagProperty", + "isVerbatim", + "isNamed", + "tagHandle", + "readAnchorProperty", + "readAlias", + "parentIndent", + "nodeContext", + "allowToSeek", + "allowBlockStyles", + "allowBlockScalars", + "allowBlockCollections", + "indentStatus", + "atNewLine", + "hasContent", + "typeIndex", + "typeQuantity", + "typeList", + "blockIndent", + "readDocument", + "documentStart", + "directiveName", + "directiveArgs", + "hasDirectives", + "loadDocuments", + "nullpos", + "loadAll$1", + "iterator", + "documents", + "load$1", + "load_1", + "_toString", + "_hasOwnProperty", + "CHAR_BOM", + "CHAR_TAB", + "CHAR_LINE_FEED", + "CHAR_CARRIAGE_RETURN", + "CHAR_SPACE", + "CHAR_EXCLAMATION", + "CHAR_DOUBLE_QUOTE", + "CHAR_SHARP", + "CHAR_PERCENT", + "CHAR_AMPERSAND", + "CHAR_SINGLE_QUOTE", + "CHAR_ASTERISK", + "CHAR_COMMA", + "CHAR_MINUS", + "CHAR_COLON", + "CHAR_EQUALS", + "CHAR_GREATER_THAN", + "CHAR_QUESTION", + "CHAR_COMMERCIAL_AT", + "CHAR_LEFT_SQUARE_BRACKET", + "CHAR_RIGHT_SQUARE_BRACKET", + "CHAR_GRAVE_ACCENT", + "CHAR_LEFT_CURLY_BRACKET", + "CHAR_VERTICAL_LINE", + "CHAR_RIGHT_CURLY_BRACKET", + "ESCAPE_SEQUENCES", + "DEPRECATED_BOOLEANS_SYNTAX", + "DEPRECATED_BASE60_SYNTAX", + "compileStyleMap", + "encodeHex", + "QUOTING_TYPE_SINGLE", + "QUOTING_TYPE_DOUBLE", + "State", + "indentString", + "spaces", + "ind", + "generateNextLine", + "testImplicitResolving", + "str2", + "isWhitespace", + "isPrintable", + "isNsCharOrWhitespace", + "isPlainSafe", + "inblock", + "cIsNsCharOrWhitespace", + "cIsNsChar", + "isPlainSafeFirst", + "isPlainSafeLast", + "codePointAt", + "needIndentIndicator", + "leadingSpaceRe", + "STYLE_PLAIN", + "STYLE_SINGLE", + "STYLE_LITERAL", + "STYLE_FOLDED", + "STYLE_DOUBLE", + "chooseScalarStyle", + "singleLineOnly", + "indentPerLevel", + "lineWidth", + "testAmbiguousType", + "quotingType", + "forceQuotes", + "prevChar", + "hasLineBreak", + "hasFoldableLine", + "shouldTrackWidth", + "previousLineBreak", + "plain", + "writeScalar", + "iskey", + "indent", + "testAmbiguity", + "string2", + "blockHeader", + "dropEndingNewline", + "foldString", + "escapeString", + "indentIndicator", + "clip", + "keep", + "chomp", + "lineRe", + "nextLF", + "foldLine", + "prevMoreIndented", + "moreIndented", + "breakRe", + "curr", + "escapeSeq", + "writeFlowSequence", + "writeNode", + "writeBlockSequence", + "writeFlowMapping", + "objectKeyList", + "objectKey", + "objectValue", + "pairBuffer", + "writeBlockMapping", + "explicitPair", + "isblockseq", + "tagStr", + "objectOrArray", + "duplicateIndex", + "duplicate", + "getDuplicateReferences", + "objects", + "duplicatesIndexes", + "inspectNode", + "dump$1", + "renamed", + "from", + "to", + "JSON_SCHEMA", + "load", + "markerOffsets", + "calculateDeltaAndAngle", + "point1", + "point2", + "pointTransformer", + "x1", + "y1", + "x2", + "y2", + "deltaX", + "deltaY", + "getLineFunctionsWithOffset", + "edge", + "DIRECTION", + "angle", + "differenceToEnd", + "differenceInYEnd", + "differenceToStart", + "differenceInYStart", + "startMarkerHeight", + "endMarkerHeight", + "extraRoom", + "adjustment", + "differenceInXEnd", + "differenceInXStart", + "getSubGraphTitleMargins", + "flowchart", + "subGraphTitleTopMargin", + "subGraphTitleBottomMargin", + "subGraphTitleTotalMargin", + "defaultIconDimensions", + "defaultIconTransformations", + "defaultIconProps", + "defaultExtendedIconProps", + "defaultIconSizeCustomisations", + "defaultIconCustomisations", + "stringToIcon", + "validate", + "allowSimpleName", + "provider", + "colonSeparated", + "name2", + "validateIconName", + "dashSeparated", + "icon", + "mergeIconTransformations", + "obj1", + "obj2", + "rotate", + "mergeIconData", + "getIconsTree", + "icons", + "aliases", + "resolved", + "resolve", + "internalGetIconData", + "currentProps", + "getIconData", + "unitsSplit", + "unitsTest", + "ratio", + "precision", + "oldParts", + "newParts", + "isNumber", + "num", + "splitSVGDefs", + "endEnd", + "mergeDefsAndContent", + "wrapSVGContent", + "split", + "isUnsetKeyword", + "iconToSVG", + "customisations", + "fullIcon", + "fullCustomisations", + "box", + "transformations", + "hFlip", + "vFlip", + "rotation", + "tempValue", + "customisationsWidth", + "customisationsHeight", + "boxWidth", + "boxHeight", + "setAttr", + "viewBox", + "randomPrefix", + "counter", + "replaceIDs", + "ids", + "newID", + "escapedID", + "iconToHTML", + "renderAttribsHTML", + "unknownIcon", + "iconsStore", + "loaderStore", + "registerIconPacks", + "iconLoaders", + "iconLoader", + "getRegisteredIconData", + "iconName", + "fallbackPrefix", + "iconData", + "getIconSVG", + "renderData", + "constants", + "dist", + "constants_1", + "require$$0", + "isRelativeUrlWithoutProtocol", + "decodeHtmlCharacters", + "removedNullByte", + "isValidUrl", + "decodeURI", + "uri", + "sanitizeUrl", + "charsToDecode", + "decodedUrl", + "sanitizedUrl", + "trimmedUrl", + "urlSchemeParseResults", + "urlScheme", + "backSanitized", + "url_1", + "ascending", + "descending", + "bisector", + "compare1", + "compare2", + "zero", + "lo", + "hi", + "mid", + "ascendingBisect", + "bisectRight", + "InternMap", + "keyof", + "intern_get", + "intern_set", + "intern_delete", + "_intern", + "e10", + "e5", + "e2", + "tickSpec", + "stop", + "step", + "power", + "factor", + "i1", + "i2", + "inc", + "ticks", + "reverse", + "tickIncrement", + "tickStep", + "valueof", + "range", + "identity$7", + "epsilon", + "translateX", + "translateY", + "entering", + "axis", + "orient", + "tickArguments", + "tickValues", + "tickFormat", + "tickSizeInner", + "tickSizeOuter", + "tickPadding", + "transform", + "identity", + "range0", + "range1", + "selection", + "tick", + "tickExit", + "tickEnter", + "axisTop", + "axisBottom", + "noop", + "dispatch", + "Dispatch", + "parseTypenames", + "typenames", + "types", + "typename", + "get", + "copy", + "that", + "xhtml", + "namespaces", + "namespace", + "creatorInherit", + "creatorFixed", + "fullname", + "creator", + "none", + "selector", + "selection_select", + "select", + "subgroups", + "subgroup", + "subnode", + "Selection", + "empty", + "selectorAll", + "arrayAll", + "selection_selectAll", + "parents", + "matcher", + "childMatcher", + "find", + "childFind", + "childFirst", + "selection_selectChild", + "filter", + "childrenFilter", + "selection_selectChildren", + "selection_filter", + "sparse", + "update", + "selection_enter", + "EnterNode", + "datum", + "constant$5", + "bindIndex", + "enter", + "exit", + "dataLength", + "bindKey", + "nodeByKeyValue", + "keyValues", + "keyValue", + "selection_data", + "bind", + "constant", + "arraylike", + "enterGroup", + "updateGroup", + "exitGroup", + "i0", + "previous", + "selection_exit", + "selection_join", + "onenter", + "onupdate", + "onexit", + "selection_merge", + "groups0", + "groups1", + "m0", + "m1", + "merges", + "group0", + "group1", + "selection_order", + "selection_sort", + "compare", + "compareNode", + "sortgroups", + "sortgroup", + "selection_call", + "selection_nodes", + "selection_node", + "selection_size", + "selection_empty", + "selection_each", + "attrRemove", + "attrRemoveNS", + "attrConstant", + "attrConstantNS", + "attrFunction", + "attrFunctionNS", + "selection_attr", + "defaultView", + "styleRemove", + "styleConstant", + "priority", + "styleFunction", + "selection_style", + "styleValue", + "propertyRemove", + "propertyConstant", + "propertyFunction", + "selection_property", + "classArray", + "classList", + "ClassList", + "classedAdd", + "classedRemove", + "classedTrue", + "classedFalse", + "classedFunction", + "selection_classed", + "textRemove", + "textConstant", + "textFunction", + "selection_text", + "htmlRemove", + "htmlConstant", + "htmlFunction", + "selection_html", + "raise", + "selection_raise", + "selection_lower", + "selection_append", + "constantNull", + "selection_insert", + "before", + "selection_remove", + "selection_cloneShallow", + "selection_cloneDeep", + "selection_clone", + "deep", + "selection_datum", + "contextListener", + "listener", + "event", + "onRemove", + "on", + "onAdd", + "selection_on", + "dispatchEvent", + "dispatchConstant", + "dispatchFunction", + "selection_dispatch", + "selection_iterator", + "selection_selection", + "define$4", + "constructor", + "factory", + "prototype", + "darker", + "brighter", + "reI", + "reN", + "reP", + "reHex", + "reRgbInteger", + "reRgbPercent", + "reRgbaInteger", + "reRgbaPercent", + "reHslPercent", + "reHslaPercent", + "named", + "define", + "color_formatHex", + "color_formatHex8", + "color_formatHsl", + "color_formatRgb", + "hslConvert", + "rgbn", + "Rgb", + "hsla", + "rgbConvert", + "rgb", + "opacity", + "clampi", + "clampa", + "rgb_formatHex", + "rgb_formatHex8", + "rgb_formatRgb", + "Hsl", + "hsl", + "m2", + "hsl2rgb", + "clamph", + "clampt", + "radians", + "degrees", + "K", + "Xn", + "Yn", + "Zn", + "t0", + "t1", + "t2", + "t3", + "labConvert", + "Lab", + "Hcl", + "hcl2lab", + "rgb2lrgb", + "xyz2lab", + "z", + "lab", + "lab2xyz", + "lrgb2rgb", + "hclConvert", + "hcl", + "constant$4", + "linear", + "exponential", + "gamma", + "nogamma", + "interpolateRgb", + "rgbGamma", + "colorRgb", + "numberArray", + "isNumberArray", + "genericArray", + "nb", + "na", + "date$1", + "interpolateNumber", + "object$1", + "reA", + "reB", + "interpolateString", + "bi", + "am", + "bm", + "bs", + "interpolate$1", + "interpolateRound", + "decompose", + "scaleX", + "scaleY", + "skewX", + "parseCss", + "parseSvg", + "interpolateTransform", + "pxComma", + "pxParen", + "degParen", + "pop", + "translate", + "xa", + "ya", + "xb", + "yb", + "interpolateTransformCss", + "interpolateTransformSvg", + "colorHcl", + "interpolateHcl", + "frame", + "timeout", + "interval", + "pokeDelay", + "taskHead", + "taskTail", + "clockLast", + "clockNow", + "clockSkew", + "clock", + "setFrame", + "now", + "clearNow", + "Timer", + "timer", + "delay", + "time", + "sleep", + "timerFlush", + "wake", + "nap", + "poke", + "elapsed", + "emptyOn", + "emptyTween", + "CREATED", + "SCHEDULED", + "STARTING", + "STARTED", + "RUNNING", + "ENDING", + "ENDED", + "schedule", + "timing", + "schedules", + "init", + "tween", + "interrupt", + "active", + "selection_interrupt", + "tweenRemove", + "tween0", + "tween1", + "tweenFunction", + "transition_tween", + "tweenValue", + "transition", + "interpolate", + "value1", + "string00", + "string1", + "interpolate0", + "string0", + "string10", + "transition_attr", + "attrInterpolate", + "attrInterpolateNS", + "attrTweenNS", + "attrTween", + "transition_attrTween", + "delayFunction", + "delayConstant", + "transition_delay", + "durationFunction", + "durationConstant", + "transition_duration", + "easeConstant", + "transition_ease", + "easeVarying", + "transition_easeVarying", + "transition_filter", + "Transition", + "transition_merge", + "onFunction", + "on0", + "on1", + "sit", + "transition_on", + "removeFunction", + "transition_remove", + "transition_select", + "transition_selectAll", + "inherit", + "transition_selection", + "styleNull", + "styleMaybeRemove", + "listener0", + "transition_style", + "styleInterpolate", + "styleTween", + "transition_styleTween", + "transition_text", + "textInterpolate", + "textTween", + "transition_textTween", + "transition_transition", + "id0", + "id1", + "newId", + "transition_end", + "reject", + "cancel", + "selection_prototype", + "cubicInOut", + "defaultTiming", + "easeCubicInOut", + "selection_transition", + "pi", + "tau", + "tauEpsilon", + "append", + "strings", + "appendRound", + "digits", + "Path$1", + "x0", + "y0", + "x21", + "y21", + "x01", + "y01", + "l01_2", + "x20", + "y20", + "l21_2", + "l20_2", + "l21", + "l01", + "t01", + "t21", + "a0", + "ccw", + "dx", + "cw", + "da", + "formatDecimal", + "formatDecimalParts", + "coefficient", + "exponent", + "formatGroup", + "grouping", + "thousands", + "formatNumerals", + "numerals", + "formatSpecifier", + "specifier", + "FormatSpecifier", + "formatTrim", + "out", + "prefixExponent", + "formatPrefixAuto", + "formatRounded", + "formatTypes", + "identity$5", + "prefixes", + "formatLocale$1", + "locale", + "currencyPrefix", + "currencySuffix", + "decimal", + "percent", + "minus", + "nan", + "newFormat", + "fill", + "comma", + "trim", + "formatType", + "maybeSuffix", + "valuePrefix", + "valueSuffix", + "valueNegative", + "formatPrefix", + "defaultLocale", + "formatLocale", + "precisionFixed", + "precisionPrefix", + "precisionRound", + "initRange", + "domain", + "ordinal", + "unknown", + "band", + "ordinalRange", + "r0", + "bandwidth", + "round", + "paddingInner", + "paddingOuter", + "rescale", + "normalize", + "clamper", + "bimap", + "d0", + "d1", + "polymap", + "bisect", + "transformer", + "interpolateValue", + "untransform", + "clamp", + "piecewise", + "continuous", + "linearish", + "prestep", + "maxIter", + "nice", + "timeInterval", + "floori", + "offseti", + "field", + "test", + "millisecond", + "durationSecond", + "durationMinute", + "durationHour", + "durationDay", + "durationWeek", + "durationMonth", + "durationYear", + "timeMinute", + "utcMinute", + "timeHour", + "utcHour", + "timeDay", + "utcDay", + "unixDay", + "timeWeekday", + "timeSunday", + "timeMonday", + "timeTuesday", + "timeWednesday", + "timeThursday", + "timeFriday", + "timeSaturday", + "utcWeekday", + "utcSunday", + "utcMonday", + "utcTuesday", + "utcWednesday", + "utcThursday", + "utcFriday", + "utcSaturday", + "timeMonth", + "utcMonth", + "timeYear", + "utcYear", + "ticker", + "week", + "tickIntervals", + "tickInterval", + "timeTicks", + "timeTickInterval", + "localDate", + "utcDate", + "newDate", + "locale_dateTime", + "locale_date", + "locale_time", + "locale_periods", + "locale_weekdays", + "locale_shortWeekdays", + "locale_months", + "locale_shortMonths", + "periodRe", + "formatRe", + "periodLookup", + "formatLookup", + "weekdayRe", + "weekdayLookup", + "shortWeekdayRe", + "shortWeekdayLookup", + "monthRe", + "monthLookup", + "shortMonthRe", + "shortMonthLookup", + "formats", + "formatShortWeekday", + "formatWeekday", + "formatShortMonth", + "formatMonth", + "formatDayOfMonth", + "formatMicroseconds", + "formatYearISO", + "formatFullYearISO", + "formatHour24", + "formatHour12", + "formatDayOfYear", + "formatMilliseconds", + "formatMonthNumber", + "formatMinutes", + "formatPeriod", + "formatQuarter", + "formatUnixTimestamp", + "formatUnixTimestampSeconds", + "formatSeconds", + "formatWeekdayNumberMonday", + "formatWeekNumberSunday", + "formatWeekNumberISO", + "formatWeekdayNumberSunday", + "formatWeekNumberMonday", + "formatYear", + "formatFullYear", + "formatZone", + "formatLiteralPercent", + "utcFormats", + "formatUTCShortWeekday", + "formatUTCWeekday", + "formatUTCShortMonth", + "formatUTCMonth", + "formatUTCDayOfMonth", + "formatUTCMicroseconds", + "formatUTCYearISO", + "formatUTCFullYearISO", + "formatUTCHour24", + "formatUTCHour12", + "formatUTCDayOfYear", + "formatUTCMilliseconds", + "formatUTCMonthNumber", + "formatUTCMinutes", + "formatUTCPeriod", + "formatUTCQuarter", + "formatUTCSeconds", + "formatUTCWeekdayNumberMonday", + "formatUTCWeekNumberSunday", + "formatUTCWeekNumberISO", + "formatUTCWeekdayNumberSunday", + "formatUTCWeekNumberMonday", + "formatUTCYear", + "formatUTCFullYear", + "formatUTCZone", + "parses", + "parseShortWeekday", + "parseWeekday", + "parseShortMonth", + "parseMonth", + "parseLocaleDateTime", + "parseDayOfMonth", + "parseMicroseconds", + "parseYear", + "parseFullYear", + "parseHour24", + "parseDayOfYear", + "parseMilliseconds", + "parseMonthNumber", + "parseMinutes", + "parsePeriod", + "parseQuarter", + "parseUnixTimestamp", + "parseUnixTimestampSeconds", + "parseSeconds", + "parseWeekdayNumberMonday", + "parseWeekNumberSunday", + "parseWeekNumberISO", + "parseWeekdayNumberSunday", + "parseWeekNumberMonday", + "parseLocaleDate", + "parseLocaleTime", + "parseZone", + "parseLiteralPercent", + "pads", + "newParse", + "Z", + "parseSpecifier", + "numberRe", + "percentRe", + "requoteRe", + "requote", + "dISO", + "dow", + "UTCdISO", + "timeFormat", + "calendar", + "formatMillisecond", + "formatSecond", + "formatMinute", + "formatHour", + "formatDay", + "formatWeek", + "timeWeek", + "timeSecond", + "colors$1", + "colors", + "constant$3", + "abs", + "atan2", + "cos", + "sin", + "sqrt", + "halfPi", + "acos", + "asin", + "withPath", + "shape", + "Path", + "arcInnerRadius", + "arcOuterRadius", + "arcStartAngle", + "arcEndAngle", + "arcPadAngle", + "intersect", + "x3", + "y3", + "x10", + "y10", + "x32", + "y32", + "cornerTangents", + "rc", + "ox", + "oy", + "x11", + "y11", + "x00", + "y00", + "d2", + "cx0", + "cy0", + "cx1", + "cy1", + "dx0", + "dy0", + "dx1", + "dy1", + "d3arc", + "innerRadius", + "outerRadius", + "cornerRadius", + "padRadius", + "startAngle", + "endAngle", + "padAngle", + "arc", + "a01", + "a11", + "a00", + "a10", + "da0", + "da1", + "ap", + "rp", + "rc0", + "rc1", + "p0", + "p1", + "oc", + "ax", + "ay", + "bx", + "by", + "kc", + "array$1", + "Linear", + "curveLinear", + "line$1", + "defined", + "curve", + "pointX", + "pointY", + "defined0", + "descending$1", + "identity$3", + "d3pie", + "sortValues", + "sort", + "pie", + "sum", + "arcs", + "pa", + "Bump", + "bumpX", + "bumpY", + "noop$3", + "point", + "Basis", + "curveBasis", + "BasisClosed", + "curveBasisClosed", + "BasisOpen", + "curveBasisOpen", + "Bundle", + "beta", + "curveBundle", + "custom", + "bundle", + "Cardinal", + "tension", + "curveCardinal", + "cardinal", + "CardinalClosed", + "curveCardinalClosed", + "CardinalOpen", + "curveCardinalOpen", + "CatmullRom", + "alpha", + "x23", + "y23", + "curveCatmullRom", + "catmullRom", + "CatmullRomClosed", + "curveCatmullRomClosed", + "CatmullRomOpen", + "curveCatmullRomOpen", + "LinearClosed", + "curveLinearClosed", + "slope3", + "h0", + "h1", + "s0", + "s1", + "slope2", + "MonotoneX", + "MonotoneY", + "ReflectContext", + "monotoneX", + "monotoneY", + "Natural", + "px", + "controlPoints", + "py", + "curveNatural", + "Step", + "curveStep", + "stepBefore", + "stepAfter", + "Transform", + "location", + "freeGlobal", + "freeSelf", + "Symbol", + "objectProto", + "hasOwnProperty", + "nativeObjectToString", + "symToStringTag", + "getRawTag", + "isOwn", + "unmasked", + "objectToString", + "nullTag", + "undefinedTag", + "baseGetTag", + "asyncTag", + "funcTag", + "genTag", + "proxyTag", + "isFunction", + "coreJsData", + "maskSrcKey", + "uid", + "isMasked", + "funcProto", + "funcToString", + "toSource", + "reRegExpChar", + "reIsHostCtor", + "reIsNative", + "baseIsNative", + "pattern", + "getValue", + "getNative", + "nativeCreate", + "hashClear", + "hashDelete", + "HASH_UNDEFINED", + "hashGet", + "hashHas", + "hashSet", + "Hash", + "entry", + "listCacheClear", + "eq", + "other", + "assocIndexOf", + "arrayProto", + "splice", + "listCacheDelete", + "lastIndex", + "listCacheGet", + "listCacheHas", + "listCacheSet", + "ListCache", + "Map", + "mapCacheClear", + "isKeyable", + "getMapData", + "mapCacheDelete", + "mapCacheGet", + "mapCacheHas", + "mapCacheSet", + "MapCache", + "FUNC_ERROR_TEXT", + "memoize", + "resolver", + "memoized", + "cache", + "stackClear", + "stackDelete", + "stackGet", + "stackHas", + "LARGE_ARRAY_SIZE", + "stackSet", + "Stack", + "defineProperty", + "baseAssignValue", + "assignMergeValue", + "createBaseFor", + "fromRight", + "iteratee", + "keysFunc", + "iterable", + "baseFor", + "freeExports", + "freeModule", + "moduleExports", + "Buffer", + "allocUnsafe", + "cloneBuffer", + "isDeep", + "Uint8Array", + "cloneArrayBuffer", + "arrayBuffer", + "cloneTypedArray", + "typedArray", + "copyArray", + "objectCreate", + "baseCreate", + "proto", + "overArg", + "getPrototype", + "isPrototype", + "Ctor", + "initCloneObject", + "isObjectLike", + "argsTag", + "baseIsArguments", + "propertyIsEnumerable", + "isArguments", + "isArray", + "MAX_SAFE_INTEGER", + "isLength", + "isArrayLike", + "isArrayLikeObject", + "stubFalse", + "nativeIsBuffer", + "isBuffer", + "objectTag", + "objectCtorString", + "isPlainObject", + "arrayTag", + "boolTag", + "dateTag", + "errorTag", + "mapTag", + "numberTag", + "regexpTag", + "setTag", + "stringTag", + "weakMapTag", + "arrayBufferTag", + "dataViewTag", + "float32Tag", + "float64Tag", + "int8Tag", + "int16Tag", + "int32Tag", + "uint8Tag", + "uint8ClampedTag", + "uint16Tag", + "uint32Tag", + "typedArrayTags", + "baseIsTypedArray", + "baseUnary", + "freeProcess", + "nodeUtil", + "nodeIsTypedArray", + "isTypedArray", + "safeGet", + "assignValue", + "objValue", + "copyObject", + "customizer", + "isNew", + "newValue", + "baseTimes", + "reIsUint", + "isIndex", + "arrayLikeKeys", + "inherited", + "isArr", + "isArg", + "isBuff", + "isType", + "skipIndexes", + "nativeKeysIn", + "baseKeysIn", + "isProto", + "keysIn", + "toPlainObject", + "baseMergeDeep", + "srcIndex", + "mergeFunc", + "srcValue", + "stacked", + "isCommon", + "isTyped", + "baseMerge", + "nativeMax", + "overRest", + "otherArgs", + "baseSetToString", + "HOT_COUNT", + "HOT_SPAN", + "nativeNow", + "shortOut", + "lastCalled", + "stamp", + "remaining", + "setToString", + "baseRest", + "isIterateeCall", + "createAssigner", + "assigner", + "sources", + "guard", + "ZERO_WIDTH_SPACE", + "d3CurveTypes", + "curveBumpX", + "curveBumpY", + "curveMonotoneX", + "curveMonotoneY", + "curveStepAfter", + "curveStepBefore", + "directiveWithoutOpen", + "detectInit", + "inits", + "detectDirective", + "results", + "commentWithoutDirectives", + "removeDirectives", + "isSubstringInArray", + "arr", + "interpolateToCurve", + "defaultCurve", + "curveName", + "formatUrl", + "linkStr", + "runFunc", + "functionName", + "arrPaths", + "len", + "fnName", + "distance", + "p2", + "traverseEdge", + "points", + "prevPoint", + "totalDistance", + "remainingDistance", + "calculatePoint", + "calcLabelPosition", + "roundNumber", + "distanceToTraverse", + "vectorDistance", + "distanceRatio", + "calcCardinalityPosition", + "isRelationTypePresent", + "initialPosition", + "cardinalityPosition", + "calcTerminalLabelPosition", + "terminalMarkerSize", + "_points", + "distanceToCardinalityPoint", + "getStylesFromArray", + "labelStyle", + "cnt", + "generateId", + "makeRandomHex", + "characters", + "charactersLength", + "random", + "getTextObj", + "drawSimpleText", + "textData", + "nText", + "_fontSizePx", + "parseFontSize", + "textElem", + "wrapLabel", + "words", + "completedLines", + "nextLine", + "wordLength", + "calculateTextWidth", + "nextLineLength", + "hyphenatedStrings", + "remainingWord", + "breakString", + "hyphenCharacter", + "currentLine", + "currentCharacter", + "isLastLine", + "hyphenatedNextLine", + "calculateTextHeight", + "calculateTextDimensions", + "fontSize", + "fontFamilies", + "dims", + "fontFamily2", + "cHeight", + "textObj", + "bBox", + "InitIDGenerator", + "deterministic", + "seed", + "decoder", + "entityDecode", + "isDetailedError", + "insertTitle", + "cssClass", + "titleTopMargin", + "title", + "bounds", + "fontSizeNumber", + "cleanAndMerge", + "defaultData", + "utils_default", + "encodeEntities", + "innerTxt", + "decodeEntities", + "getEdgeId", + "handleUndefinedAttr", + "_getDefaults", + "_defaults", + "changeDefaults", + "newDefaults", + "noopTest", + "edit", + "opt", + "valSource", + "bull", + "newline", + "blockCode", + "fences", + "hr", + "heading", + "bullet", + "lheadingCore", + "lheading", + "lheadingGfm", + "_paragraph", + "blockText", + "_blockLabel", + "_comment", + "paragraph", + "blockquote", + "blockNormal", + "gfmTable", + "blockGfm", + "blockPedantic", + "escape$1", + "inlineCode", + "br", + "inlineText", + "_punctuation", + "_punctuationOrSpace", + "_notPunctuationOrSpace", + "punctuation", + "_punctuationGfmStrongEm", + "_punctuationOrSpaceGfmStrongEm", + "_notPunctuationOrSpaceGfmStrongEm", + "blockSkip", + "emStrongLDelimCore", + "emStrongLDelim", + "emStrongLDelimGfm", + "emStrongRDelimAstCore", + "emStrongRDelimAst", + "emStrongRDelimAstGfm", + "emStrongRDelimUnd", + "anyPunctuation", + "autolink", + "_inlineComment", + "_inlineLabel", + "link", + "reflink", + "nolink", + "reflinkSearch", + "inlineNormal", + "inlinePedantic", + "inlineGfm", + "inlineBreaks", + "inline", + "escapeReplacements", + "getEscapeReplacement", + "encode", + "cleanUrl", + "splitCells", + "tableRow", + "cells", + "rtrim", + "suffLen", + "findClosingBracket", + "outputLink", + "cap", + "raw", + "rules", + "indentCodeCompensation", + "matchIndentToCode", + "indentToCode", + "matchIndentInNode", + "indentInNode", + "_Tokenizer", + "__publicField", + "trimmed", + "inBlockquote", + "currentLines", + "currentRaw", + "currentText", + "newText", + "newToken", + "isordered", + "itemRegex", + "endsWithBlankLine", + "endEarly", + "itemContents", + "blankLine", + "nextBulletRegex", + "hrRegex", + "fencesBeginRegex", + "headingBeginRegex", + "htmlBeginRegex", + "rawLine", + "nextLineWithoutTabs", + "istask", + "ischecked", + "lastItem", + "spacers", + "hasMultipleLineBreaks", + "headers", + "item", + "rtrimSlash", + "lastParenIndex", + "linkLen", + "links", + "linkString", + "maskedSrc", + "lLength", + "rDelim", + "rLength", + "delimTotal", + "midDelimTotal", + "endReg", + "lastCharLength", + "hasNonSpaceChars", + "hasSpaceCharsOnBothEnds", + "prevCapZero", + "_Lexer", + "lastParagraphClipped", + "extTokenizer", + "cutSrc", + "startIndex", + "tempSrc", + "tempStart", + "getStartIndex", + "errMsg", + "keepPrevChar", + "_Renderer", + "langString", + "ordered", + "startAttr", + "itemBody", + "checkbox", + "checked", + "header", + "cleanHref", + "_TextRenderer", + "_Parser", + "anyToken", + "genericToken", + "ret", + "textToken", + "renderer", + "_Hooks", + "markdown", + "Marked", + "tableToken", + "listToken", + "childTokens", + "extensions", + "pack", + "opts", + "ext", + "prevRenderer", + "extLevel", + "rendererProp", + "rendererFunc", + "tokenizer", + "tokenizerProp", + "tokenizerFunc", + "prevTokenizer", + "hooksProp", + "hooksFunc", + "prevHook", + "walkTokens", + "packWalktokens", + "blockType", + "origOpt", + "silent", + "async", + "msg", + "markedInstance", + "marked", + "dedent", + "templ", + "indentLengths", + "pattern_1", + "endentations", + "endentation", + "indentedValue", + "preprocessMarkdown", + "markdownAutoWrap", + "withoutMultipleNewlines", + "withoutExtraSpaces", + "markdownToLines", + "preprocessedMarkdown", + "processNode", + "parentType", + "textLine", + "contentNode", + "treeNode", + "markdownToHTML", + "splitTextToChars", + "splitWordToFitWidth", + "checkFit", + "splitWordToFitWidthRecursion", + "usedChars", + "remainingChars", + "nextChar", + "rest", + "newWord", + "splitLineToFitWidth", + "splitLineToFitWidthRecursion", + "joiner", + "nextWord", + "lineWithNextWord", + "applyStyle", + "dom", + "styleFn", + "addHtmlSpan", + "addBackground", + "fo", + "div", + "labelClass", + "bbox", + "createTspan", + "textElement", + "lineIndex", + "lineHeight", + "computeWidthOfText", + "testElement", + "testSpan", + "updateTextContentAndStyles", + "textLength", + "computeDimensionOfText", + "textDimension", + "createFormattedText", + "structuredText", + "labelGroup", + "bkg", + "checkWidth", + "line2", + "linesUnderWidth", + "preparedLine", + "tspan", + "wrappedLine", + "innerTspan", + "replaceIconSubstring", + "createText", + "isTitle", + "useHtmlLabels", + "isNode", + "addSvgBackground", + "htmlText", + "decodedReplacedText", + "inputForKatex", + "sanitizeBR", + "nodeLabelTextStyle", + "edgeLabelRectStyle", + "edgeLabelTextStyle", + "i$1", + "c$1", + "p$1", + "P", + "A", + "G", + "E", + "F", + "V", + "I", + "C", + "W", + "R", + "Q", + "N", + "B", + "J", + "U", + "X", + "Y", + "tt", + "et", + "st", + "nt", + "ot", + "at", + "labelHelper", + "_classes", + "cssClasses", + "shapeSvg", + "labelEl", + "text2", + "halfPadding", + "dv", + "images", + "noImgText", + "setupImage", + "bodyFontSize", + "enlargingFactor", + "parsedBodyFontSize", + "insertLabel", + "updateNodeBounds", + "getNodeClasses", + "extra", + "createPathFromPoints", + "pointStrings", + "generateFullSineWavePoints", + "amplitude", + "numCycles", + "cycleLength", + "frequency", + "midY", + "generateCirclePoints", + "centerX", + "centerY", + "radius", + "numPoints", + "startAngleRad", + "angleStep", + "intersectRect", + "sx", + "sy", + "intersect_rect_default", + "addHtmlLabel", + "select2", + "createLabel", + "_vertexText", + "vertexText", + "createLabel_default", + "createRoundedRectPathD", + "totalWidth", + "solidStateFill", + "handDrawnSeed", + "compileStyles", + "stylesMap", + "styles2Map", + "isLabelStyle", + "styles2String", + "stylesArray", + "labelStyles", + "nodeStyles", + "borderStyles", + "backgroundStyles", + "userNodeOverrides", + "nodeBorder", + "mainBkg", + "rect", + "clusterBkg", + "clusterBorder", + "select3", + "rect2", + "rough", + "roughNode", + "rectBox", + "noteGroup", + "roundedWithTitle", + "altBackground", + "compositeBackground", + "compositeTitleBackground", + "outerRectG", + "innerRect", + "innerY", + "isAlt", + "roughOuterNode", + "roughInnerNode", + "kanbanSection", + "divider", + "squareRect", + "shapes", + "clusterElems", + "insertCluster", + "cluster", + "intersectNode", + "intersect_node_default", + "intersectEllipse", + "rx", + "ry", + "cx", + "cy", + "det", + "intersect_ellipse_default", + "intersectCircle", + "intersect_circle_default", + "intersectLine", + "q1", + "q2", + "c1", + "c2", + "r3", + "r4", + "sameSign", + "intersect_line_default", + "intersectPolygon", + "polyPoints", + "intersections", + "minX", + "minY", + "pdx", + "pdy", + "distp", + "qdx", + "qdy", + "distq", + "intersect_polygon_default", + "intersect_default", + "cssStyles", + "rough2", + "circleElem", + "generateArcPoints", + "clockwise", + "midX", + "transformedX", + "transformedY", + "scaledCenterDistance", + "angleRange", + "angle2", + "bowTieRect", + "rough3", + "bowTieRectPath", + "bowTieRectShapePath", + "bowTieRectShape", + "insertPolygonShape", + "card", + "polygon", + "rough4", + "pathData", + "choice", + "rough5", + "choicePath", + "choiceShape", + "circle", + "rough6", + "createLine", + "xAxis45", + "yAxis45", + "lineLength", + "pointQ1", + "pointQ2", + "pointQ3", + "pointQ4", + "crossedCircle", + "rough7", + "circleNode", + "linePath", + "lineNode", + "crossedCircle2", + "generateCirclePoints2", + "curlyBraceLeft", + "rectPoints", + "rough8", + "newCurlyBracePath", + "curlyBraceLeftNode", + "rectPath", + "rectShape", + "curlyBraceLeftShape", + "generateCirclePoints3", + "curlyBraceRight", + "rough9", + "curlyBraceRightNode", + "curlyBraceRightShape", + "generateCirclePoints4", + "curlyBraces", + "leftCurlyBracePoints", + "rightCurlyBracePoints", + "rough10", + "newLeftCurlyBracePath", + "leftCurlyBraceNode", + "newRightCurlyBracePath", + "rightCurlyBraceNode", + "curlyBracesShape", + "curvedTrapezoid", + "rough11", + "tw", + "shapeNode", + "createCylinderPathD", + "createOuterCylinderPathD", + "createInnerCylinderPathD", + "cylinder", + "cylinder2", + "rough12", + "outerPathData", + "innerPathData", + "outerNode", + "innerLine", + "dividedRectangle", + "rectOffset", + "rough13", + "pts", + "poly", + "doublecircle", + "circleGroup", + "rough14", + "outerOptions", + "innerOptions", + "outerRoughNode", + "innerRoughNode", + "outerCircle", + "innerCircle", + "filledCircle", + "rough15", + "filledCircle2", + "flippedTriangle", + "rough16", + "flippedTriangle2", + "forkJoin", + "dir", + "state2", + "rough17", + "halfRoundedRectangle", + "rough18", + "createHexagonPathD", + "hexagon", + "rough19", + "hourglass", + "rough20", + "assetHeight", + "assetWidth", + "iconSize", + "defaultWidth", + "topLabel", + "labelPadding", + "rough21", + "iconNode", + "outerWidth", + "outerHeight", + "iconShape", + "outerShape", + "iconElem", + "iconBBox", + "iconWidth", + "iconHeight", + "iconX", + "iconY", + "nodeHeight", + "iconCircle", + "rough22", + "diameter", + "iconRounded", + "rough23", + "iconSquare", + "rough24", + "imageSquare", + "imageNaturalWidth", + "imageNaturalHeight", + "imageRawWidth", + "imageWidth", + "imageHeight", + "rough25", + "imageNode", + "image", + "inv_trapezoid", + "rough26", + "drawRect", + "rough27", + "options2", + "labelRect", + "lean_left", + "rough28", + "lean_right", + "rough29", + "lightningBolt", + "rough30", + "lightningBolt2", + "createCylinderPathD2", + "outerOffset", + "createOuterCylinderPathD2", + "createInnerCylinderPathD2", + "linedCylinder", + "rough31", + "linedWaveEdgedRect", + "waveAmplitude", + "finalH", + "rough32", + "waveEdgeRect", + "multiRect", + "rough33", + "outerPathPoints", + "innerPathPoints", + "outerPath", + "innerNode", + "multiRect2", + "multiWaveEdgedRectangle", + "wavePoints", + "lastWavePoint", + "rough34", + "note", + "rough35", + "noteShapeNode", + "createDecisionBoxPathD", + "question", + "rough36", + "rect_left_inv_arrow", + "notch", + "rough37", + "rectWithTitle", + "description", + "div2", + "dv2", + "select4", + "textRows", + "titleBox", + "descr", + "rough38", + "roughLine", + "roundedRect", + "shadedProcess", + "rough39", + "slopedRect", + "rough40", + "squareRect2", + "stadium", + "rough41", + "stateEnd", + "lineColor", + "stateBorder", + "rough42", + "innerFill", + "circle2", + "stateStart", + "rough43", + "subroutine", + "rough44", + "l1", + "l2", + "taggedRect", + "tagWidth", + "tagHeight", + "rough45", + "tagPoints", + "rectNode", + "tagPath", + "tagNode", + "taggedRect2", + "taggedWaveEdgedRectangle", + "rough46", + "waveEdgeRectPath", + "waveEdgeRectNode", + "taggedWaveEdgeRectPath", + "taggedWaveEdgeRectNode", + "createCylinderPathD3", + "createOuterCylinderPathD3", + "createInnerCylinderPathD3", + "tiltedCylinder", + "rough47", + "trapezoid", + "rough48", + "trapezoidalPentagon", + "rough49", + "triangle", + "rough50", + "waveEdgedRectangle", + "widthDif", + "extraW", + "rough51", + "waveRectangle", + "baseWidth", + "baseHeight", + "aspectRatio", + "rough52", + "waveRectPath", + "waveRectNode", + "waveRect", + "windowPane", + "rough53", + "no", + "windowPane2", + "erBox", + "entityNode", + "themeVariables2", + "background", + "backgroundNode", + "PADDING", + "TEXT_PADDING", + "shapeSvg2", + "nameBBox", + "addText", + "yOffset", + "yOffsets", + "maxTypeWidth", + "maxNameWidth", + "maxKeysWidth", + "maxCommentWidth", + "keysPresent", + "commentPresent", + "typeBBox", + "nameBBox2", + "keysBBox", + "commentBBox", + "totalWidthSections", + "shapeBBox", + "difference", + "rough54", + "select5", + "roughRect", + "rowEven", + "rowOdd", + "yOffset2", + "isEven", + "roughRect2", + "labelText", + "textHelper", + "GAP", + "annotationGroup", + "membersGroup", + "methodsGroup", + "annotationGroupHeight", + "labelGroupHeight", + "membersGroupHeight", + "addText2", + "labelGroupBBox", + "member", + "methodsYOffset", + "method", + "annotationGroupBBox", + "parentGroup", + "textEl", + "textContent", + "numberOfLines", + "select6", + "textChild", + "classBox", + "classNode", + "renderExtraBox", + "rough55", + "rectBBox", + "select7", + "newTranslateY", + "newTranslateX", + "_2", + "nodes2", + "colorRegex", + "colorStyle", + "match2", + "requirementBox", + "requirementNode", + "elementNode", + "isRequirementNode", + "typeHeight", + "addText3", + "accumulativeHeight", + "nameHeight", + "idHeight", + "textHeight", + "riskHeight", + "typeHeight2", + "rough56", + "select8", + "inputText", + "colorFromPriority", + "kanbanItem", + "kanbanNode", + "labelPaddingX", + "orgWidth", + "labelElTitle", + "ticketUrl", + "bbox2", + "labelElAssigned", + "bboxAssigned", + "labelPaddingY", + "heightAdj", + "rough57", + "lineX", + "shapesDefs", + "generateShapeMap", + "shapes2", + "isValidShape", + "nodeElems", + "insertNode", + "renderOptions", + "newEl", + "shapeHandler", + "setNodeElem", + "clear2", + "positionNode", + "addEdgeMarkers", + "svgPath", + "diagramType", + "strokeColor", + "addEdgeMarker", + "arrowTypesMap", + "arrowType", + "arrowTypeInfo", + "endMarkerType", + "originalMarkerId", + "colorId", + "coloredMarkerId", + "originalMarker", + "coloredMarker", + "edgeLabels", + "terminalLabels", + "getLabelStyles", + "styleArray", + "acc", + "insertEdgeLabel", + "labelElement", + "edgeLabel", + "startLabelElement", + "startEdgeLabelLeft", + "slBox", + "setTerminalWidth", + "startEdgeLabelRight", + "endLabelElement", + "endEdgeLabelLeft", + "endEdgeLabelRight", + "positionEdgeLabel", + "outsideNode", + "intersection", + "outsidePoint", + "insidePoint", + "_x", + "_y", + "cutPathAtIntersect", + "boundaryNode", + "lastPointOutside", + "isInside", + "inter", + "pointPresent", + "extractCornerPoints", + "cornerPoints", + "cornerPointPositions", + "findAdjacentPoint", + "pointA", + "pointB", + "xDiff", + "yDiff", + "fixCorners", + "lineData", + "newLineData", + "nextPoint", + "cornerPoint", + "newPrevPoint", + "newNextPoint", + "newCornerPoint", + "insertEdge", + "clusterDb", + "startNode", + "endNode", + "pointsHasChanged", + "edgeClassStyles", + "lineFunction", + "strokeClasses", + "edgeStyles", + "svgPathNode", + "stylesFromClasses", + "animationClass", + "pathStyle", + "insertMarkers", + "markerArray", + "markerName", + "markers", + "composition", + "aggregation", + "dependency", + "lollipop", + "cross", + "barb", + "only_one", + "zero_or_one", + "startMarker", + "endMarker", + "one_or_more", + "zero_or_more", + "requirement_arrow", + "requirement_contains", + "containsNode", + "markers_default", + "internalHelpers", + "layoutAlgorithms", + "registerLayoutLoaders", + "loaders", + "registerDefaultLayoutLoaders", + "data4Layout", + "layoutDefinition", + "getRegisteredLayoutAlgorithm", + "algorithm", + "fallback", + "package_default", + "selectSvgElement", + "securityLevel", + "COMMENT", + "RULESET", + "DECLARATION", + "IMPORT", + "KEYFRAMES", + "LAYER", + "replacement", + "indexof", + "search", + "charat", + "substr", + "begin", + "strlen", + "sizeof", + "column", + "siblings", + "peek", + "caret", + "slice", + "alloc", + "dealloc", + "delimit", + "whitespace", + "escaping", + "commenter", + "compile", + "rulesets", + "pseudo", + "declarations", + "atrule", + "variable", + "scanning", + "ampersand", + "reference", + "comment", + "declaration", + "ruleset", + "post", + "serialize", + "stringify", + "nativeKeys", + "baseKeys", + "DataView", + "Promise", + "Set", + "WeakMap", + "promiseTag", + "dataViewCtorString", + "mapCtorString", + "promiseCtorString", + "setCtorString", + "weakMapCtorString", + "getTag", + "ctorString", + "isEmpty", + "diagram2", + "c4DiagramVJAJSXHY", + "plugin", + "c4Detector_default", + "id2", + "detector2", + "loader2", + "flowDiagram4HSFHLVR", + "plugin2", + "flowDetector_default", + "id3", + "detector3", + "loader3", + "plugin3", + "flowDetector_v2_default", + "id4", + "detector4", + "loader4", + "erDiagramQ7BY3M3F", + "plugin4", + "erDetector_default", + "id5", + "detector5", + "loader5", + "gitGraphDiagram7IBYFJ6S", + "plugin5", + "gitGraphDetector_default", + "id6", + "detector6", + "loader6", + "ganttDiagramAPWFNJXF", + "plugin6", + "ganttDetector_default", + "id7", + "detector7", + "loader7", + "infoDiagramPH2N3AL5", + "info", + "id8", + "detector8", + "loader8", + "pieDiagramIB7DONF6", + "id9", + "detector9", + "loader9", + "quadrantDiagram7GDLP6J5", + "plugin7", + "quadrantDetector_default", + "id10", + "detector10", + "loader10", + "xychartDiagramVJFVF3MP", + "plugin8", + "xychartDetector_default", + "id11", + "detector11", + "loader11", + "requirementDiagramKVF5MWMF", + "plugin9", + "requirementDetector_default", + "id12", + "detector12", + "loader12", + "sequenceDiagramX6HHIX6F", + "plugin10", + "sequenceDetector_default", + "id13", + "detector13", + "loader13", + "classDiagramGIVACNV2", + "plugin11", + "classDetector_default", + "id14", + "detector14", + "loader14", + "classDiagramV2COTLJTTW", + "plugin12", + "classDetector_V2_default", + "id15", + "detector15", + "loader15", + "stateDiagramDGXRK772", + "plugin13", + "stateDetector_default", + "id16", + "detector16", + "loader16", + "stateDiagramV2YXO3MK2T", + "plugin14", + "stateDetector_V2_default", + "id17", + "detector17", + "loader17", + "journeyDiagramU35MCT3I", + "plugin15", + "journeyDetector_default", + "draw", + "_text", + "id27", + "errorRenderer_default", + "errorDiagram_default", + "id18", + "detector18", + "loader18", + "plugin16", + "detector_default", + "id19", + "detector19", + "loader19", + "timelineDefinitionBDJGKUSR", + "plugin17", + "detector_default2", + "id20", + "detector20", + "loader20", + "mindmapDefinitionALO5MXBD", + "plugin18", + "detector_default3", + "id21", + "detector21", + "loader21", + "kanbanDefinitionNDS4AKOZ", + "plugin19", + "detector_default4", + "id22", + "detector22", + "loader22", + "sankeyDiagramQLVOVGJD", + "plugin20", + "sankeyDetector_default", + "id23", + "detector23", + "loader23", + "diagramVNBRO52H", + "packet", + "id24", + "detector24", + "loader24", + "diagramSSKATNLV", + "radar", + "id25", + "detector25", + "loader25", + "blockDiagramJOT3LUYC", + "plugin21", + "blockDetector_default", + "id26", + "detector26", + "loader26", + "architectureDiagramIEHRJDOE", + "architecture", + "architectureDetector_default", + "hasLoadedDiagrams", + "addDiagrams", + "loadRegisteredDiagrams", + "failed", + "detector27", + "loader27", + "err", + "SVG_ROLE", + "setA11yDiagramInfo", + "addSVGa11yTitleDescription", + "a11yTitle", + "a11yDesc", + "baseId", + "descId", + "titleId", + "Diagram", + "db", + "renderer2", + "metadata", + "init2", + "interactionFunctions", + "attachFunctions", + "cleanupComments", + "extractFrontMatter", + "parsed", + "cleanupText", + "processFrontmatter", + "displayMode", + "processDirectives", + "initDirective", + "wrapDirectives", + "preprocessDiagram", + "cleanedCode", + "frontMatterResult", + "directiveResult", + "toBase64", + "utf8Bytes", + "utf8Str", + "byte", + "MAX_TEXTLENGTH", + "MAX_TEXTLENGTH_EXCEEDED_MSG", + "SECURITY_LVL_SANDBOX", + "SECURITY_LVL_LOOSE", + "XMLNS_SVG_STD", + "XMLNS_XLINK_STD", + "XMLNS_XHTML_STD", + "IFRAME_WIDTH", + "IFRAME_HEIGHT", + "IFRAME_STYLES", + "IFRAME_BODY_STYLE", + "IFRAME_SANDBOX_OPTS", + "IFRAME_NOT_SUPPORTED_MSG", + "DOMPURIFY_TAGS", + "DOMPURIFY_ATTR", + "processAndSetConfigs", + "processed", + "parseOptions", + "getDiagramFromText", + "cssImportantStyles", + "createCssStyles", + "classDefs", + "cssElements", + "styleClassDef", + "cssElement", + "createUserStyles", + "graphType", + "svgId", + "userCSSstyles", + "allStyles", + "cleanUpSvgCode", + "svgCode", + "inSandboxMode", + "useArrowMarkerUrls", + "cleanedUpSvg", + "putIntoIFrame", + "svgElement", + "base64encodedSrc", + "appendDivSvgG", + "parentRoot", + "enclosingDivId", + "divStyle", + "svgXlink", + "enclosingDiv", + "sandboxedIframe", + "iFrameId", + "removeExistingElements", + "divId", + "svgContainingElement", + "idSelector", + "iFrameID", + "iFrameID_selector", + "enclosingDivID", + "enclosingDivID_selector", + "removeTempElements", + "isSandboxed", + "isLooseSecurityLevel", + "iframe", + "diag", + "parseEncounteredException", + "diagramClassDefs", + "style1", + "a11yDescr", + "addA11yInfo", + "svgEl", + "initialize", + "userOptions", + "mermaidAPI", + "handleError", + "errors", + "parseError", + "run", + "runThrowsErrors", + "mermaid", + "postRenderCallback", + "querySelector", + "nodesToProcess", + "idGenerator", + "bindFunctions", + "render2", + "initialize2", + "runOptions", + "registerExternalDiagrams", + "lazyLoad", + "contentLoaded", + "startOnLoad", + "setParseErrorHandler", + "parseErrorHandler", + "executionQueue", + "executionQueueRunning", + "executeQueue", + "parse2", + "performCall", + "rej", + "container", + "mermaid_default", + "symbolTag", + "isSymbol", + "arrayMap", + "symbolProto", + "symbolToString", + "baseToString", + "reWhitespace", + "trimmedEndIndex", + "reTrimStart", + "baseTrim", + "NAN", + "reIsBadHex", + "reIsBinary", + "reIsOctal", + "freeParseInt", + "toNumber", + "INFINITY", + "MAX_INTEGER", + "toFinite", + "toInteger", + "remainder", + "arrayEach", + "baseFindIndex", + "predicate", + "fromIndex", + "baseIsNaN", + "strictIndexOf", + "baseIndexOf", + "arrayIncludes", + "assign", + "reIsDeepProp", + "reIsPlainProp", + "isKey", + "MAX_MEMOIZE_SIZE", + "memoizeCapped", + "rePropName", + "reEscapeChar", + "stringToPath", + "quote", + "subString", + "toString", + "castPath", + "toKey", + "baseGet", + "defaultValue", + "spreadableSymbol", + "isFlattenable", + "baseFlatten", + "isStrict", + "flatten", + "flatRest", + "baseSlice", + "arrayReduce", + "accumulator", + "initAccum", + "baseAssign", + "baseAssignIn", + "arrayFilter", + "resIndex", + "stubArray", + "nativeGetSymbols", + "getSymbols", + "copySymbols", + "getSymbolsIn", + "copySymbolsIn", + "baseGetAllKeys", + "symbolsFunc", + "getAllKeys", + "getAllKeysIn", + "initCloneArray", + "cloneDataView", + "dataView", + "reFlags", + "cloneRegExp", + "regexp", + "symbolValueOf", + "cloneSymbol", + "initCloneByTag", + "baseIsMap", + "nodeIsMap", + "isMap", + "baseIsSet", + "nodeIsSet", + "isSet", + "CLONE_DEEP_FLAG", + "CLONE_FLAT_FLAG", + "CLONE_SYMBOLS_FLAG", + "cloneableTags", + "baseClone", + "bitmask", + "isFlat", + "isFull", + "isFunc", + "subValue", + "cloneDeep", + "setCacheAdd", + "setCacheHas", + "SetCache", + "arraySome", + "cacheHas", + "COMPARE_PARTIAL_FLAG", + "COMPARE_UNORDERED_FLAG", + "equalArrays", + "equalFunc", + "isPartial", + "arrLength", + "othLength", + "arrStacked", + "othStacked", + "seen", + "arrValue", + "othValue", + "compared", + "othIndex", + "mapToArray", + "setToArray", + "equalByTag", + "convert", + "equalObjects", + "objProps", + "objLength", + "othProps", + "objStacked", + "skipCtor", + "objCtor", + "othCtor", + "baseIsEqualDeep", + "objIsArr", + "othIsArr", + "objTag", + "othTag", + "objIsObj", + "othIsObj", + "isSameTag", + "objIsWrapped", + "othIsWrapped", + "objUnwrapped", + "othUnwrapped", + "baseIsEqual", + "baseIsMatch", + "matchData", + "isStrictComparable", + "getMatchData", + "matchesStrictComparable", + "baseMatches", + "baseHasIn", + "hasPath", + "hasFunc", + "hasIn", + "baseMatchesProperty", + "baseProperty", + "basePropertyDeep", + "baseIteratee", + "arrayAggregator", + "setter", + "baseForOwn", + "createBaseEach", + "eachFunc", + "collection", + "baseEach", + "baseAggregator", + "createAggregator", + "initializer", + "defaults", + "propsIndex", + "propsLength", + "baseDifference", + "comparator", + "includes", + "valuesLength", + "outer", + "computed", + "valuesIndex", + "drop", + "dropRight", + "castFunction", + "forEach", + "arrayEvery", + "baseEvery", + "every", + "baseFilter", + "createFind", + "findIndexFunc", + "findIndex", + "baseMap", + "flatMap", + "forIn", + "forOwn", + "groupBy", + "baseGt", + "baseHas", + "has", + "isString", + "baseValues", + "indexOf", + "baseIsRegExp", + "nodeIsRegExp", + "isRegExp", + "isUndefined", + "baseLt", + "mapValues", + "baseExtremum", + "current", + "minBy", + "negate", + "baseSet", + "nested", + "basePickBy", + "pickBy", + "baseSortBy", + "comparer", + "compareAscending", + "valIsDefined", + "valIsNull", + "valIsReflexive", + "valIsSymbol", + "othIsDefined", + "othIsNull", + "othIsReflexive", + "othIsSymbol", + "compareMultiple", + "orders", + "objCriteria", + "othCriteria", + "ordersLength", + "order", + "baseOrderBy", + "iteratees", + "criteria", + "basePick", + "pick", + "nativeCeil", + "baseRange", + "createRange", + "baseReduce", + "reduce", + "baseSome", + "some", + "sortBy", + "createSet", + "baseUniq", + "seenIndex", + "union", + "arrays", + "uniq", + "uniqBy", + "idCounter", + "uniqueId", + "baseZipObject", + "assignFunc", + "valsLength", + "zipObject", + "DEFAULT_EDGE_NAME", + "GRAPH_NODE", + "EDGE_KEY_DELIM", + "Graph", + "_.constant", + "newDefault", + "_.isFunction", + "_.keys", + "_.filter", + "_.isEmpty", + "vs", + "_.each", + "removeEdge", + "_.isUndefined", + "ancestor", + "predsV", + "sucsV", + "preds", + "_.union", + "neighbors", + "findParent", + "_.values", + "_.reduce", + "valueSpecified", + "edgeArgsToId", + "edgeObj", + "edgeArgsToObj", + "incrementOrInitEntry", + "edgeObjToId", + "decrementOrRemoveEntry", + "inV", + "edges", + "outV", + "inEdges", + "isDirected", + "v_", + "w_", + "List", + "sentinel", + "unlink", + "strs", + "filterOutLinks", + "DEFAULT_WEIGHT_FN", + "greedyFAS", + "weightFn", + "buildState", + "doGreedyFAS", + "_.flatten", + "_.map", + "buckets", + "zeroIdx", + "sinks", + "removeNode", + "collectPredecessors", + "_.forEach", + "uEntry", + "assignBucket", + "wEntry", + "fasGraph", + "maxIn", + "maxOut", + "prevWeight", + "edgeWeight", + "_.range", + "fas", + "dfsFAS", + "_.uniqueId", + "visited", + "dfs", + "undo", + "forwardName", + "addDummyNode", + "simplify", + "simplified", + "simpleLabel", + "asNonCompoundGraph", + "buildLayerMatrix", + "layering", + "maxRank", + "rank", + "normalizeRanks", + "_.min", + "_.has", + "removeEmptyRanks", + "layers", + "nodeRankFactor", + "addBorderNode", + "_.max", + "partition", + "fn", + "notime", + "addBorderSegments", + "sg", + "sgNode", + "util.addDummyNode", + "rankDir", + "swapWidthHeight", + "reverseY", + "swapXY", + "swapWidthHeightOne", + "reverseYOne", + "swapXYOne", + "normalizeEdge", + "vRank", + "wRank", + "labelRank", + "dummy", + "origLabel", + "longestPath", + "slack", + "feasibleTree", + "tightTree", + "findMinSlackEdge", + "shiftRanks", + "edgeV", + "_.minBy", + "CycleException", + "_.isArray", + "navigation", + "doDfs", + "postorder", + "preorder", + "networkSimplex", + "initLowLimValues", + "initCutValues", + "calcCutValue", + "leaveEdge", + "enterEdge", + "exchangeEdges", + "alg.postorder", + "assignCutValue", + "childLab", + "childIsTail", + "graphEdge", + "cutValue", + "isOutEdge", + "pointsToHead", + "otherWeight", + "isTreeEdge", + "otherCutValue", + "dfsAssignLowLim", + "nextLim", + "low", + "_.find", + "vLabel", + "wLabel", + "tailLabel", + "flip", + "candidates", + "isDescendant", + "updateRanks", + "alg.preorder", + "flipped", + "rootLabel", + "networkSimplexRanker", + "tightTreeRanker", + "longestPathRanker", + "depths", + "treeDepths", + "nodeSep", + "sumWeights", + "util.addBorderNode", + "childNode", + "childTop", + "childBottom", + "thisWeight", + "minlen", + "cleanup", + "graphLabel", + "addSubgraphConstraints", + "cg", + "rootPrev", + "prevChild", + "buildLayerGraph", + "relationship", + "createRootNode", + "crossCount", + "cc", + "twoLayerCrossCount", + "northLayer", + "southLayer", + "southPos", + "_.zipObject", + "southEntries", + "_.sortBy", + "firstIndex", + "treeSize", + "weightSum", + "initOrder", + "simpleNodes", + "orderedVs", + "barycenter", + "movable", + "nodeU", + "resolveConflicts", + "mappedEntries", + "entryV", + "entryW", + "sourceSet", + "doResolveConflicts", + "handleIn", + "vEntry", + "mergeEntries", + "handleOut", + "_.pick", + "biasRight", + "util.partition", + "sortable", + "unsortable", + "vsIndex", + "compareWithBias", + "consumeUnsortable", + "_.last", + "bias", + "sortSubgraph", + "bl", + "subgraphs", + "barycenters", + "subgraphResult", + "mergeBarycenters", + "expandSubgraphs", + "blPred", + "brPred", + "util.maxRank", + "downLayerGraphs", + "buildLayerGraphs", + "upLayerGraphs", + "assignOrder", + "bestCC", + "best", + "lastBest", + "sweepLayerGraphs", + "util.buildLayerMatrix", + "_.cloneDeep", + "ranks", + "layerGraphs", + "lg", + "sorted", + "layer", + "parentDummyChains", + "postorderNums", + "findPath", + "lca", + "pathIdx", + "pathV", + "vPath", + "wPath", + "lim", + "findType1Conflicts", + "conflicts", + "visitLayer", + "prevLayer", + "k0", + "scanPos", + "prevLayerLength", + "lastNode", + "findOtherInnerSegmentNode", + "k1", + "scanNode", + "uLabel", + "uPos", + "addConflict", + "findType2Conflicts", + "scan", + "south", + "southEnd", + "prevNorthBorder", + "nextNorthBorder", + "uNode", + "north", + "prevNorthPos", + "nextNorthPos", + "southLookahead", + "predecessors", + "conflictsV", + "hasConflict", + "verticalAlignment", + "neighborFn", + "prevIdx", + "ws", + "mp", + "il", + "horizontalCompaction", + "reverseSep", + "xs", + "blockG", + "buildBlockGraph", + "borderType", + "iterate", + "setXsFunc", + "nextNodesFunc", + "pass1", + "pass2", + "blockGraph", + "sepFn", + "sep", + "vRoot", + "uRoot", + "prevMax", + "findSmallestWidthAlignment", + "xss", + "_.forIn", + "halfWidth", + "alignCoordinates", + "alignTo", + "alignToVals", + "alignToMin", + "alignToMax", + "vert", + "horiz", + "alignment", + "xsVals", + "_.mapValues", + "balance", + "ignore", + "positionX", + "_.merge", + "adjustedLayering", + "smallestWidth", + "edgeSep", + "util.asNonCompoundGraph", + "positionY", + "_.forOwn", + "rankSep", + "prevY", + "maxHeight", + "layout", + "util.notime", + "layoutGraph", + "buildLayoutGraph", + "runLayout", + "updateInputGraph", + "makeSpaceForEdgeLabels", + "removeSelfEdges", + "acyclic.run", + "nestingGraph.run", + "injectEdgeLabelProxies", + "util.removeEmptyRanks", + "nestingGraph.cleanup", + "util.normalizeRanks", + "assignRankMinMax", + "removeEdgeLabelProxies", + "normalize.run", + "insertSelfEdges", + "coordinateSystem.adjust", + "positionSelfEdges", + "removeBorderNodes", + "normalize.undo", + "fixupEdgeLabelCoords", + "coordinateSystem.undo", + "translateGraph", + "assignNodeIntersects", + "reversePointsForReversedEdges", + "acyclic.undo", + "inputGraph", + "inputLabel", + "layoutLabel", + "graphNumAttrs", + "graphDefaults", + "graphAttrs", + "nodeNumAttrs", + "nodeDefaults", + "edgeNumAttrs", + "edgeDefaults", + "edgeAttrs", + "canonicalize", + "selectNumberAttrs", + "_.defaults", + "maxX", + "maxY", + "marginX", + "marginY", + "getExtremes", + "nodeV", + "nodeW", + "util.intersectRect", + "orderShift", + "selfEdge", + "selfNode", + "newAttrs", + "write", + "writeNodes", + "writeEdges", + "_.clone", + "nodeValue", + "edgeValue", + "descendants", + "clear4", + "ancestorId", + "ancestorDescendants", + "edgeInCluster", + "clusterId", + "clusterDescendants", + "newGraph", + "rootId", + "data2", + "extractDescendants", + "findCommonEdges", + "edges1", + "edges2", + "edges1Prim", + "edges2Prim", + "edgeIn1", + "findNonClusterChild", + "reserve", + "_id", + "commonEdges", + "getAnchorId", + "adjustClustersAndEdges", + "nonClusterChild", + "graphlibJson.write", + "extractor", + "hasChildren", + "clusterGraph", + "graphlib.Graph", + "sorter", + "sortNodesByHierarchy", + "recursiveRender", + "parentCluster", + "graphlibJson2.write", + "clusters", + "edgePaths", + "ranksep", + "nodesep", + "edgePromises", + "dagreLayout", + "labelHeight", + "offsetY", + "graphlib2.Graph", + "clear3", + "nodeId", + "specialId1", + "specialId2", + "edge1", + "edgeMid", + "edge2", + "rectData", + "rectElement", + "attrKey", + "drawBackgroundRect", + "drawText", + "drawImage", + "imageElement", + "sanitizedLink", + "drawEmbeddedImage", + "getNoteRect", + "o2", + "$V0", + "$V1", + "$V2", + "$V3", + "$V4", + "$V5", + "$V6", + "$V7", + "$V8", + "$V9", + "$Va", + "$Vb", + "$Vc", + "$Vd", + "$Ve", + "$Vf", + "$Vg", + "$Vh", + "$Vi", + "$Vj", + "$Vk", + "$Vl", + "$Vm", + "$Vn", + "$Vo", + "$Vp", + "$Vq", + "$Vr", + "$Vs", + "$Vt", + "$Vu", + "$Vv", + "$Vw", + "$Vx", + "$Vy", + "$Vz", + "$VA", + "$VB", + "$VC", + "$VD", + "$VE", + "$VF", + "$VG", + "$VH", + "$VI", + "$VJ", + "$VK", + "$VL", + "$VM", + "$VN", + "$VO", + "$VP", + "$VQ", + "$VR", + "$VS", + "parser2", + "yytext", + "yyleng", + "yylineno", + "yy", + "yystate", + "$$", + "_$", + "$0", + "kv", + "hash", + "tstack", + "vstack", + "lstack", + "TERROR", + "EOF", + "lexer2", + "sharedState", + "yyloc", + "ranges", + "popStack", + "action", + "yyval", + "newState", + "expected", + "errStr", + "oldLines", + "past", + "pre", + "indexed_rule", + "backup", + "tempMatch", + "condition", + "yy_", + "$avoiding_name_collisions", + "YY_START", + "c4Diagram_default", + "c4ShapeArray", + "boundaryParseStack", + "currentBoundaryParse", + "parentBoundaryParse", + "boundaries", + "rels", + "wrapEnabled", + "c4ShapeInRow", + "c4BoundaryInRow", + "c4Type", + "getC4Type", + "setC4Type", + "c4TypeParam", + "addRel", + "techn", + "sprite", + "old", + "rel2", + "autoWrap", + "addPersonOrSystem", + "typeC4Shape", + "personOrSystem", + "personOrSystem2", + "addContainer", + "container2", + "addComponent", + "component", + "component2", + "addPersonOrSystemBoundary", + "boundary", + "boundary2", + "addContainerBoundary", + "addDeploymentNode", + "popBoundaryParseStack", + "updateElStyle", + "elementName", + "bgColor", + "fontColor", + "shadowing", + "legendText", + "legendSprite", + "updateRelStyle", + "textColor", + "offsetX", + "updateLayoutConfig", + "c4ShapeInRowParam", + "c4BoundaryInRowParam", + "c4ShapeInRowValue", + "c4BoundaryInRowValue", + "getC4ShapeInRow", + "getC4BoundaryInRow", + "getCurrentBoundaryParse", + "getParentBoundaryParse", + "getC4ShapeArray", + "parentBoundary", + "getC4Shape", + "getC4ShapeKeys", + "getBoundaries", + "getBoundarys", + "getRels", + "getTitle", + "setWrap", + "wrapSetting", + "LINETYPE", + "ARROWTYPE", + "PLACEMENT", + "setTitle", + "c4Db_default", + "drawRect2", + "imageElem", + "drawRels", + "rels2", + "conf2", + "relsElem", + "messageConf", + "_drawTextCandidateFunc", + "drawBoundary", + "boundaryElem", + "fillColor", + "attrsValue", + "boundaryConf", + "drawC4Shape", + "c4Shape", + "personImg", + "c4ShapeElem", + "c4ShapeFontConf", + "getC4ShapeFont", + "textFontConf", + "insertDatabaseIcon", + "insertComputerIcon", + "insertClockIcon", + "insertArrowHead", + "insertArrowEnd", + "insertArrowFilledHead", + "insertDynamicNumber", + "insertArrowCrossHead", + "marker", + "cnf", + "byText", + "textAttrs", + "_setTextAttrs", + "byTspan", + "byFo", + "fromTextAttrsDict", + "svgDraw_default", + "globalBoundaryMaxX", + "globalBoundaryMaxY", + "c4ShapeInRow2", + "c4BoundaryInRow2", + "Bounds", + "diagObj", + "setConf", + "startx", + "stopx", + "starty", + "stopy", + "_startx", + "_stopx", + "_starty", + "_stopy", + "margin", + "c4ShapeFont", + "boundaryFont", + "messageFont", + "calcC4ShapeTextWH", + "textType", + "c4ShapeTextWrap", + "textConf", + "textLimitWidth", + "drawBoundary2", + "boundaryTextWrap", + "boundaryLabelConf", + "drawC4ShapeArray", + "currentBounds", + "c4ShapeArray2", + "c4ShapeKeys", + "c4ShapeKey", + "c4ShapeTypeConf", + "c4ShapeLabelConf", + "c4ShapeTypeConf2", + "c4ShapeTechnConf", + "rectHeight", + "rectWidth", + "c4ShapeDescrConf", + "Point", + "getIntersectPoint", + "fromNode", + "endPoint", + "fromCenterX", + "fromCenterY", + "tanDYX", + "fromDYX", + "returnPoint", + "getIntersectPoints", + "endIntersectPoint", + "startPoint", + "drawRels2", + "getC4ShapeObj", + "relTextWrap", + "relConf", + "drawInsideBoundary", + "parentBoundaryAlias", + "parentBounds", + "currentBoundaries", + "currentBoundary", + "currentBoundaryTextWrap", + "currentBoundaryLabelConf", + "currentBoundaryTypeConf", + "currentBoundaryDescrConf", + "currentPersonOrSystemArray", + "currentPersonOrSystemKeys", + "nextCurrentBoundaries", + "_version", + "sandboxElement", + "screenBounds", + "title2", + "extraVertForTitle", + "c4Renderer_default", + "c4", + "wrap", + "getDiagramElement", + "setupViewPortForSVG", + "cssDiagram", + "calculateDimensionsWithPadding", + "createViewBox", + "MERMAID_DOM_ID_PREFIX", + "FlowDB", + "vertex", + "yamlData", + "edgeDoc", + "_start", + "_end", + "linkTextObj", + "existingLinks", + "linkData", + "isLastStart", + "isFirstEnd", + "positions", + "subGraph", + "tooltip", + "functionArgs", + "domId", + "argList", + "tooltipElem", + "ver", + "_title", + "prims", + "objs", + "dir2", + "nodeList", + "posCount", + "childPos", + "_str", + "stroke", + "dots", + "_startStr", + "startInfo", + "allSgs", + "allSubgraphs", + "arrowTypeStart", + "arrowTypeEnd", + "parentDB", + "subGraphDB", + "look", + "parentId", + "isGroup", + "compiledStyles", + "customClass", + "subGraphs", + "rawEdge", + "getClasses", + "diagramObj", + "direction", + "linkNode", + "flowRenderer_v3_unified_default", + "$VT", + "$VU", + "$VV", + "$VW", + "$VX", + "$VY", + "$VZ", + "$V_", + "$V$", + "$V01", + "$V11", + "$V21", + "$V31", + "$V41", + "$V51", + "$V61", + "$V71", + "$V81", + "$V91", + "$Va1", + "$Vb1", + "$Vc1", + "$Vd1", + "$Ve1", + "$Vf1", + "$Vg1", + "$Vh1", + "$Vi1", + "$Vj1", + "$Vk1", + "$Vl1", + "$Vm1", + "$Vn1", + "$Vo1", + "$Vp1", + "$Vq1", + "$Vr1", + "$Vs1", + "$Vt1", + "$Vu1", + "$Vv1", + "$Vw1", + "$Vx1", + "$Vy1", + "$Vz1", + "$VA1", + "$VB1", + "$VC1", + "$VD1", + "$VE1", + "$VF1", + "$VG1", + "$VH1", + "inf", + "flow_default", + "newParser", + "newSrc", + "flowParser_default", + "fade", + "channel2", + "khroma.channel", + "khroma.rgba", + "erDiagram_default", + "ErDB", + "entityName", + "attribs", + "entity", + "entA", + "rolA", + "entB", + "rSpec", + "entityA", + "entityB", + "classNames", + "entityKey", + "erRenderer_unified_exports", + "backgroundNodes", + "nonBackgroundId", + "nonBackgroundNode", + "populateCommonDb", + "ast", + "ImperativeState", + "isAstNode", + "isReference", + "isAstNodeDescription", + "isLinkingError", + "AbstractAstReflection", + "subtype", + "supertype", + "existing", + "allTypes", + "possibleSubType", + "isCompositeCstNode", + "isLeafCstNode", + "isRootCstNode", + "StreamImpl", + "startFn", + "nextFn", + "keyFn", + "valueFn", + "entryStream", + "DONE_RESULT", + "addSeparator", + "searchElement", + "callbackfn", + "done", + "initialValue", + "previousValue", + "mapped", + "isIterable", + "stream", + "skipCount", + "maxSize", + "otherKeySet", + "ownKey", + "EMPTY_STREAM", + "collections", + "TreeStreamImpl", + "Reduction", + "product", + "streamCst", + "isChildNode", + "tokenToRange", + "toDocumentSegment", + "RangeComparison", + "compareRange", + "startInside", + "endInside", + "inRange", + "DefaultNameRegexp", + "findCommentNode", + "cstNode", + "commentNames", + "getPreviousNode", + "isCommentNode", + "endIndex", + "hidden", + "ErrorWithLocation", + "assertUnreachable", + "AbstractRule", + "AbstractType", + "Condition", + "TypeDefinition", + "ValueLiteral", + "AbstractElement", + "isAbstractElement", + "reflection", + "ArrayLiteral", + "ArrayType", + "BooleanLiteral", + "isBooleanLiteral", + "Conjunction", + "isConjunction", + "Disjunction", + "isDisjunction", + "Grammar", + "GrammarImport", + "InferredType", + "isInferredType", + "Interface", + "isInterface", + "NamedArgument", + "Negation", + "isNegation", + "NumberLiteral", + "Parameter", + "ParameterReference", + "isParameterReference", + "ParserRule", + "isParserRule", + "ReferenceType", + "ReturnType", + "isReturnType", + "SimpleType", + "isSimpleType", + "StringLiteral", + "TerminalRule", + "isTerminalRule", + "TypeAttribute", + "UnionType", + "Action", + "isAction", + "Alternatives", + "isAlternatives", + "Assignment", + "isAssignment", + "CharacterRange", + "isCharacterRange", + "CrossReference", + "isCrossReference", + "EndOfFile", + "isEndOfFile", + "Group", + "isKeyword", + "NegatedToken", + "isNegatedToken", + "RegexToken", + "isRegexToken", + "RuleCall", + "isRuleCall", + "TerminalAlternatives", + "isTerminalAlternatives", + "TerminalGroup", + "isTerminalGroup", + "TerminalRuleCall", + "isTerminalRuleCall", + "UnorderedGroup", + "isUnorderedGroup", + "UntilToken", + "isUntilToken", + "Wildcard", + "isWildcard", + "LangiumGrammarAstReflection", + "refInfo", + "referenceId", + "linkContentToContainer", + "getContainerOfType", + "typePredicate", + "getDocument", + "findRootNode", + "streamContents", + "isAstNodeInRange", + "streamAllContents", + "streamAst", + "astNode", + "nodeRange", + "streamReferences", + "assignMandatoryProperties", + "typeMetaData", + "genericNode", + "copyDefaultValue", + "propertyType", + "insertToSet", + "subItem", + "addFlag", + "flagObj", + "flagKey", + "ASSERT_EXISTS", + "ASSERT_NEVER_REACH_HERE", + "isCharacter", + "digitsCharCodes", + "wordCharCodes", + "whitespaceCodes", + "hexDigitPattern", + "decimalPattern", + "decimalPatternNoZero", + "RegExpParser", + "flags", + "alts", + "terms", + "disjunction", + "isBacktracking", + "atLeast", + "atMost", + "complement", + "escapeCode", + "escapedChar", + "capturing", + "groupAst", + "howMuch", + "prevState", + "howMany", + "hexString", + "hexChar", + "BaseRegExpVisitor", + "subChild", + "NEWLINE_REGEXP", + "regexpParser", + "TerminalRegExpVisitor", + "escapeRegExp", + "visitor", + "isMultilineComment", + "whitespaceCharacters", + "getCaseInsensitivePattern", + "keyword", + "partialMatches", + "partial", + "partialRegExp", + "process", + "appendRaw", + "nbChars", + "appendOptional", + "getEntryRule", + "grammar", + "ast.isParserRule", + "getHiddenRules", + "ast.isTerminalRule", + "getAllReachableRules", + "allTerminals", + "ruleNames", + "entryRule", + "topMostRules", + "ruleDfs", + "visitedSet", + "ast.isRuleCall", + "refRule", + "getCrossReferenceTerminal", + "crossRef", + "nameAssigment", + "findNameAssignment", + "isCommentTerminal", + "terminalRule", + "terminalRegex", + "findNodesForProperty", + "findNodesForPropertyInternal", + "findNodeForProperty", + "nodeFeature", + "ast.isAssignment", + "findNodeForKeyword", + "findNodesForKeywordInternal", + "ast.isKeyword", + "treeIterator", + "keywordNodes", + "findAssignment", + "assignment", + "ast.isInferredType", + "ast.isAction", + "findNameAssignmentInternal", + "go", + "refType", + "childAssignment", + "ast.isSimpleType", + "isDataTypeRule", + "isDataTypeRuleInternal", + "getExplicitRuleType", + "ast.isInterface", + "ast.isType", + "getTypeName", + "ast.isReturnType", + "actionType", + "getActionType", + "getRuleType", + "abstractElementToRegex", + "flagText", + "WILDCARD", + "ast.isTerminalAlternatives", + "terminalAlternativesToRegex", + "ast.isTerminalGroup", + "terminalGroupToRegex", + "ast.isCharacterRange", + "characterRangeToRegex", + "ast.isTerminalRuleCall", + "withCardinality", + "ast.isNegatedToken", + "negateTokenToRegex", + "ast.isUntilToken", + "untilTokenToRegex", + "ast.isRegexToken", + "lastSlash", + "regexFlags", + "ast.isWildcard", + "alternatives", + "until", + "keywordToRegex", + "createGrammarConfig", + "services", + "PRINT_ERROR", + "PRINT_WARNING", + "toFastProperties", + "toBecomeFast", + "FakeConstructor", + "fakeInstance", + "fakeAccess", + "tokenLabel", + "tokType", + "hasTokenLabel", + "AbstractProduction", + "_definition", + "prod", + "NonTerminal", + "Rule", + "Alternative", + "RepetitionMandatory", + "RepetitionMandatoryWithSeparator", + "Repetition", + "RepetitionWithSeparator", + "Alternation", + "Terminal", + "serializeGrammar", + "topRules", + "serializeProduction", + "convertDefinition", + "serializedNonTerminal", + "Option", + "serializedTerminal", + "GAstVisitor", + "nodeAny", + "isSequenceProd", + "isOptionalProd", + "alreadyVisited", + "subProd", + "isBranchingProd", + "getProductionDslName", + "RestWalker", + "prevRest", + "currRest", + "terminal", + "refProd", + "flatProd", + "fullOrRest", + "optionProd", + "atLeastOneProd", + "fullAtLeastOneRest", + "atLeastOneSepProd", + "fullAtLeastOneSepRest", + "restForRepetitionWithSeparator", + "manyProd", + "fullManyRest", + "manySepProd", + "fullManySepRest", + "orProd", + "prodWrapper", + "repSepProd", + "firstForTerminal", + "firstForSequence", + "firstForBranching", + "firstSet", + "nextSubProdIdx", + "hasInnerProdsRemaining", + "currSubProd", + "isLastInnerProdOptional", + "allAlternativesFirsts", + "innerProd", + "IN", + "ResyncFollowsWalker", + "topProd", + "followName", + "buildBetweenProdsFollowPrefix", + "fullRest", + "restProd", + "t_in_topProd_follows", + "computeAllProdsFollows", + "topProductions", + "reSyncFollows", + "currRefsFollow", + "occurenceInParent", + "regExpAstCache", + "regExpParser", + "getRegExpAst", + "regExp", + "regExpStr", + "regExpAst", + "clearRegExpParserCache", + "complementErrorMessage", + "failedOptimizationPrefixMsg", + "getOptimizedStartCodesIndices", + "ensureOptimizations", + "firstCharOptimizedIndices", + "msgSuffix", + "ignoreCase", + "term", + "addOptimizedIdxToResult", + "rangeCode", + "minOptimizationVal", + "minUnOptVal", + "maxUnOptVal", + "minOptIdx", + "charCodeToOptimizedIndex", + "maxOptIdx", + "currOptIdx", + "isOptionalQuantifier", + "isWholeOptional", + "optimizedCharIdx", + "handleIgnoreCase", + "upperChar", + "lowerChar", + "findCode", + "setNode", + "targetCharCodes", + "codeOrRange", + "targetCode", + "quantifier", + "CharCodeFinder", + "canMatchCharCode", + "charCodes", + "charCodeFinder", + "PATTERN", + "DEFAULT_MODE", + "MODES", + "SUPPORT_STICKY", + "analyzeTokenTypes", + "tokenTypes", + "tracer", + "initCharCodeToOptimizedIndexMap", + "onlyRelevantTypes", + "currType", + "hasCustom", + "allTransformedPatterns", + "currPattern", + "regExpSource", + "addStickyFlag", + "addStartOfInput", + "escapedRegExpString", + "wrappedRegExp", + "patternIdxToType", + "patternIdxToGroup", + "patternIdxToLongerAltIdxArr", + "patternIdxToPushMode", + "patternIdxToPopMode", + "clazz", + "groupName", + "longerAltType", + "patternIdxToCanLineTerminator", + "lineTerminatorCharCodes", + "getCharCodes", + "checkLineBreaksIssues", + "patternIdxToIsCustom", + "patternIdxToShort", + "emptyGroups", + "patternIdxToConfig", + "isCustomPattern", + "isShortPattern", + "canBeOptimized", + "charCodeToPatternIdxToConfig", + "currTokType", + "optimizedIdx", + "addToMapOfArrays", + "lastOptimizedIdx", + "charOrInt", + "currOptimizedIdx", + "optimizedCodes", + "validatePatterns", + "validModesNames", + "missingResult", + "findMissingPatterns", + "invalidResult", + "findInvalidPatterns", + "validTokenTypes", + "validateRegExpPattern", + "findInvalidGroupType", + "findModesThatDoNotExist", + "findUnreachablePatterns", + "withRegExpPatterns", + "findEndOfInputAnchor", + "findStartOfInputAnchor", + "findUnsupportedFlags", + "findDuplicatePatterns", + "findEmptyMatchRegExps", + "tokenTypesWithMissingPattern", + "LexerDefinitionErrorType", + "valid", + "tokenTypesWithInvalidPattern", + "end_of_input", + "EndAnchorFinder", + "invalidRegex", + "regexpAst", + "endAnchorVisitor", + "matchesEmptyString", + "start_of_input", + "StartAnchorFinder", + "startAnchorVisitor", + "invalidFlags", + "found", + "identicalPatterns", + "outerType", + "innerType", + "duplicatePatterns", + "currIdenticalSet", + "setOfIdentical", + "tokenTypeNames", + "invalidTypes", + "validModes", + "invalidModes", + "canBeTested", + "noMetaChar", + "testIdx", + "tokenType", + "testTokenType", + "regExpArray", + "performRuntimeChecks", + "lexerDefinition", + "trackLines", + "lineTerminatorCharacters", + "currModeValue", + "currModeName", + "currIdx", + "longerAlt", + "currLongerAlt", + "performWarningRuntimeChecks", + "warnings", + "hasAnyLineBreak", + "allTokenTypes", + "concreteTokenTypes", + "terminatorCharCodes", + "currIssue", + "warningDescriptor", + "buildLineBreakIssueMessage", + "cloneEmptyGroups", + "clonedResult", + "groupKeys", + "currKey", + "currGroupValue", + "LineTerminatorOptimizedTester", + "details", + "charsOrCodes", + "numOrString", + "charCodeToOptimizedIdxMap", + "tokenStructuredMatcher", + "tokInstance", + "tokConstructor", + "instanceType", + "tokenStructuredMatcherNoCategories", + "tokenShortNameIdx", + "tokenIdxToClass", + "augmentTokenTypes", + "tokenTypesAndParents", + "expandCategories", + "assignTokenDefaultProps", + "assignCategoriesMapProp", + "assignCategoriesTokensProp", + "categories", + "searching", + "newCategories", + "hasShortKeyProperty", + "hasCategoriesProperty", + "hasExtendingTokensTypesProperty", + "hasExtendingTokensTypesMapProperty", + "singleAssignCategoriesToksMap", + "nextNode", + "nextCategory", + "newPath", + "isTokenType", + "defaultLexerErrorProvider", + "fullText", + "startOffset", + "DEFAULT_LEXER_CONFIG", + "phaseDesc", + "phaseImpl", + "traceMethod", + "traceInitVal", + "actualDefinition", + "hasOnlySingleMode", + "allModeNames", + "currModDef", + "currModName", + "currAnalyzeResult", + "allErrMessagesString", + "unOptimizedModes", + "cannotBeOptimized", + "initialMode", + "matchAltImage", + "matchedImage", + "altPayload", + "imageLength", + "errLength", + "orgText", + "orgLength", + "matchedTokensIndex", + "guessedNumberOfTokens", + "matchedTokens", + "lineTerminatorPattern", + "currModePatternsLength", + "currCharCodeToPatternIdxToConfig", + "modeStack", + "emptyArray", + "getPossiblePatterns", + "getPossiblePatternsSlow", + "getPossiblePatternsOptimized", + "possiblePatterns", + "pop_mode", + "popToken", + "modeCanBeOptimized", + "push_mode", + "currConfig", + "recoveryEnabled", + "nextCharCode", + "chosenPatternIdxToConfig", + "chosenPatternsLength", + "singleCharCode", + "longerAltLength", + "longerAltConfig", + "longerAltPattern", + "numOfLTsInMatch", + "foundTerminator", + "lastLTEndOffset", + "errorStartOffset", + "errorLine", + "errorColumn", + "foundResyncPoint", + "pushMode", + "newLastIndex", + "lastLTIdx", + "lastCharIsLT", + "fixForEndingInLT", + "oldColumn", + "tokenTypeIdx", + "startColumn", + "tokenVector", + "tokenToAdd", + "PARENT", + "CATEGORIES", + "LABEL", + "GROUP", + "PUSH_MODE", + "POP_MODE", + "LONGER_ALT", + "LINE_BREAKS", + "START_CHARS_HINT", + "createToken", + "createTokenInternal", + "createTokenInstance", + "endOffset", + "endLine", + "endColumn", + "tokenMatcher", + "defaultParserErrorProvider", + "actual", + "ruleName", + "firstRedundant", + "expectedPathsPerAlt", + "customUserDescription", + "errPrefix", + "errSuffix", + "allLookAheadPaths", + "currAltPaths", + "nextValidTokenSequences", + "currPath", + "currTokenType", + "calculatedDescription", + "itemMsg", + "expectedIterationPaths", + "defaultGrammarResolverErrorProvider", + "topLevelRule", + "undefinedRule", + "defaultGrammarValidatorErrorProvider", + "duplicateProds", + "getExtraProductionArgument", + "topLevelName", + "duplicateProd", + "dslName", + "extraArgument", + "hasExplicitIndex", + "pathMsg", + "currTok", + "occurrence", + "currtok", + "currMessage", + "pathNames", + "currRule", + "leftRecursivePath", + "resolveGrammar", + "topLevels", + "errMsgProvider", + "refResolver", + "GastRefResolverVisitor", + "nameToTopRule", + "ref", + "ParserDefinitionErrorType", + "AbstractNextPossibleTokensWalker", + "NextAfterTokenWalker", + "AbstractNextTerminalAfterProductionWalker", + "topRule", + "NextTerminalAfterManyWalker", + "firstAfterMany", + "_first", + "NextTerminalAfterManySepWalker", + "firstAfterManySep", + "NextTerminalAfterAtLeastOneWalker", + "firstAfterAtLeastOne", + "NextTerminalAfterAtLeastOneSepWalker", + "atleastOneSepProd", + "firstAfterfirstAfterAtLeastOneSep", + "possiblePathsFrom", + "targetDef", + "maxLength", + "remainingPathWith", + "nextDef", + "getAlternativesForProd", + "newDef", + "currAlt", + "nextPossibleTokensAfter", + "initialDef", + "tokMatcher", + "maxLookAhead", + "EXIT_NON_TERMINAL", + "EXIT_NON_TERMINAL_ARR", + "EXIT_ALTERNATIVE", + "foundCompletePath", + "tokenVectorLength", + "minimalAlternativesIndex", + "possiblePaths", + "currDef", + "currRuleStack", + "currOccurrenceStack", + "nextPath", + "nextIdx", + "actualToken", + "newRuleStack", + "newOccurrenceStack", + "nextPathWithout", + "nextPathWith", + "secondIteration", + "separatorGast", + "nthRepetition", + "currAltPath", + "expandTopLevelRule", + "newCurrOccurrenceStack", + "PROD_TYPE", + "getProdType", + "getLookaheadPaths", + "prodType", + "maxLookahead", + "getLookaheadPathsForOr", + "getLookaheadPathsForOptionalProd", + "buildLookaheadFuncForOr", + "ruleGrammar", + "hasPredicates", + "dynamicTokensEnabled", + "laFuncBuilder", + "lookAheadPaths", + "areTokenCategoriesNotUsed", + "buildLookaheadFuncForOptionalProd", + "lookaheadBuilder", + "buildAlternativesLookAheadFunc", + "numOfAlts", + "areAllOneTokenLookahead", + "orAlts", + "predicates", + "currNumOfPaths", + "currPredicate", + "currPathLength", + "singleTokenAlts", + "choiceToAlt", + "currExtendingType", + "buildSingleAlternativeLookaheadFunction", + "numOfPaths", + "singleTokensTypes", + "expectedTokenUniqueKey", + "RestDefinitionFinderWalker", + "targetOccurrence", + "targetProdType", + "expectedProdType", + "InsideDefinitionFinderVisitor", + "targetRef", + "expectedProdName", + "initializeArrayOfArrays", + "pathToHashKeys", + "longerKeys", + "currShorterKey", + "categoriesKeySuffix", + "isUniquePrefixHash", + "altKnownPathsKeys", + "searchPathKeys", + "currAltIdx", + "otherAltKnownPathsKeys", + "searchIdx", + "searchKey", + "lookAheadSequenceFromAlternatives", + "altsDefs", + "partialAlts", + "finalResult", + "altsHashes", + "dict", + "newData", + "pathLength", + "currDataset", + "altIdx", + "currAltPathsAndSuffixes", + "currPathIdx", + "currPathPrefix", + "suffixDef", + "prefixKeys", + "currAltResult", + "containsPath", + "newPartialPathsAndSuffixes", + "insideDefVisitor", + "insideDef", + "afterDef", + "insideFlat", + "AlternativeGAST", + "afterFlat", + "alternative", + "searchPath", + "compareOtherPath", + "otherPath", + "searchTok", + "otherTok", + "isStrictPrefixOfPath", + "otherTokType", + "singleAltPaths", + "singlePath", + "validateLookahead", + "lookaheadValidationErrorMessages", + "errorMessage", + "validateGrammar", + "grammarName", + "duplicateErrors", + "currTopLevel", + "validateDuplicateProductions", + "termsNamespaceConflictErrors", + "checkTerminalAndNoneTerminalsNameSpace", + "tooManyAltsErrors", + "curRule", + "validateTooManyAlts", + "duplicateRulesError", + "validateRuleDoesNotAlreadyExist", + "collectorVisitor", + "OccurrenceValidationCollector", + "allRuleProductions", + "productionGroups", + "identifyProductionForDuplicates", + "duplicates", + "currGroup", + "currDuplicates", + "firstProd", + "defError", + "param", + "subrule", + "option", + "manySep", + "atLeastOne", + "atLeastOneSep", + "many", + "or", + "allRules", + "validateRuleIsOverridden", + "definedRulesNames", + "validateNoLeftRecursion", + "nextNonTerminals", + "getFirstNoneTerminal", + "validNextSteps", + "errorsFromNextSteps", + "currRefRule", + "currSubDef", + "isFirstOptional", + "hasMore", + "OrCollector", + "validateEmptyOrAlternative", + "orCollector", + "ors", + "currOr", + "exceptLast", + "currAlternative", + "possibleFirstInAlt", + "validateAmbiguousAlternationAlternatives", + "globalMaxLookahead", + "currOccurrence", + "actualMaxLookahead", + "altsAmbiguityErrors", + "checkAlternativesAmbiguities", + "altsPrefixAmbiguityErrors", + "checkPrefixAlternativesAmbiguities", + "RepetitionCollector", + "validateSomeNonEmptyLookaheadPath", + "topLevelRules", + "currTopRule", + "currProd", + "pathsInsideProduction", + "alternation", + "foundAmbiguousPaths", + "identicalAmbiguities", + "altsCurrPathAppearsIn", + "currOtherAlt", + "currOtherAltIdx", + "currAmbDescriptor", + "ambgIndices", + "pathsAndIndices", + "currPathsAndIdx", + "currPathAndIdx", + "targetIdx", + "targetPath", + "prefixAmbiguitiesPathsAndIndices", + "searchPathAndIdx", + "currAmbPathAndIdx", + "tokenNames", + "currToken", + "currRuleName", + "actualOptions", + "topRulesTable", + "orgResolveGrammar", + "orgValidateGrammar", + "MISMATCHED_TOKEN_EXCEPTION", + "NO_VIABLE_ALT_EXCEPTION", + "EARLY_EXIT_EXCEPTION", + "NOT_ALL_INPUT_PARSED_EXCEPTION", + "RECOGNITION_EXCEPTION_NAMES", + "isRecognitionException", + "RecognitionException", + "MismatchedTokenException", + "previousToken", + "NoViableAltException", + "NotAllInputParsedException", + "EarlyExitException", + "EOF_FOLLOW_KEY", + "IN_RULE_RECOVERY_EXCEPTION", + "InRuleRecoveryException", + "Recoverable", + "DEFAULT_PARSER_CONFIG", + "attemptInRepetitionRecovery", + "tokToInsert", + "grammarRule", + "grammarRuleArgs", + "lookAheadFunc", + "expectedTokType", + "reSyncTokType", + "savedLexerState", + "resyncedTokens", + "passedResyncPoint", + "nextTokenWithoutResync", + "generateErrorMessage", + "expectTokAfterLastMatch", + "nextTokIdx", + "notStuck", + "tokIdxInRule", + "grammarPath", + "follows", + "nextTok", + "expectedToken", + "mismatchedTok", + "possibleFollowsTokType", + "followKey", + "currentRuleReSyncSet", + "allPossibleReSyncTokTypes", + "foundMatch", + "resyncTokType", + "currRuleShortName", + "currRuleIdx", + "prevRuleShortName", + "explicitRuleStack", + "explicitOccurrenceStack", + "followStack", + "resyncTokens", + "prodFunc", + "lookaheadFunc", + "dslMethodIdx", + "prodOccurrence", + "nextToksWalker", + "pathRuleStack", + "pathOccurrenceStack", + "currShortName", + "firstAfterRepInfo", + "isEndOfRule", + "BITS_FOR_METHOD_TYPE", + "BITS_FOR_OCCURRENCE_IDX", + "OR_IDX", + "OPTION_IDX", + "MANY_IDX", + "AT_LEAST_ONE_IDX", + "MANY_SEP_IDX", + "AT_LEAST_ONE_SEP_IDX", + "getKeyForAutomaticLookahead", + "ruleIdx", + "LLkLookaheadStrategy", + "leftRecursionErrors", + "emptyAltErrors", + "ambiguousAltsErrors", + "emptyRepetitionErrors", + "LooksAhead", + "repetition", + "repetitionMandatory", + "repetitionMandatoryWithSeparator", + "repetitionWithSeparator", + "collectMethods", + "prodIdx", + "laFunc", + "prodKey", + "prodMaxLookahead", + "dslMethodName", + "DslMethodsCollectorVisitor", + "dslMethods", + "setNodeLocationOnlyOffset", + "currNodeLocation", + "newLocationInfo", + "setNodeLocationFull", + "addTerminalToCst", + "tokenTypeName", + "addNoneTerminalToCst", + "ruleResult", + "NAME", + "defineNameProp", + "nameValue", + "defaultVisit", + "ctx", + "childrenNames", + "childrenNamesLength", + "currChildName", + "currChildArray", + "currChildArrayLength", + "currChild", + "createBaseSemanticVisitorConstructor", + "derivedConstructor", + "semanticProto", + "semanticDefinitionErrors", + "validateVisitor", + "errorMessages", + "currDefError", + "createBaseVisitorConstructorWithDefaults", + "baseConstructor", + "withDefaultsProto", + "CstVisitorDefinitionError", + "visitorInstance", + "validateMissingCstMethods", + "missingRuleNames", + "TreeBuilder", + "fullRuleName", + "ruleCstNode", + "prevToken", + "consumedToken", + "rootCst", + "ruleCstResult", + "preCstNode", + "newBaseCstVisitorConstructor", + "newConstructor", + "ruleStack", + "occurrenceStack", + "LexerAdapter", + "newInput", + "END_OF_FILE", + "soughtIdx", + "RecognizerApi", + "impl", + "ruleToCall", + "actionORMethodDef", + "altsOrOpts", + "DEFAULT_RULE_CONFIG", + "ruleImplementation", + "ruleErrors", + "orgState", + "RecognizerEngine", + "tokenVocabulary", + "uniqueTokens", + "noTokenCategoriesUsed", + "tokenConstructor", + "resyncEnabled", + "recoveryValueFunc", + "shortName", + "invokeRuleWithTry", + "cst", + "resyncEnabledConfig", + "isFirstInvokedRule", + "reSyncEnabled", + "recogError", + "partialCstResult", + "orgLookaheadFunction", + "laKey", + "separatorLookAheadFunc", + "lookaheadFunction", + "nextTerminalAfterWalker", + "beforeIteration", + "altIdxToTake", + "firstRedundantTok", + "eFromConsumption", + "eFromInRuleRecovery", + "savedErrors", + "savedRuleStack", + "fullName", + "idxInCallingRule", + "ErrorHandler", + "newErrors", + "userDefinedErrMsg", + "insideProdPaths", + "actualTokens", + "errMsgTypes", + "lookAheadPathsPerAlternative", + "ContentAssist", + "startRuleName", + "precedingInput", + "startRuleGast", + "topRuleName", + "topProduction", + "RECORDING_NULL_OBJECT", + "HANDLE_SEPARATOR", + "MAX_METHOD_IDX", + "RFT", + "RECORDING_PHASE_TOKEN", + "RECORDING_PHASE_CSTNODE", + "GastRecorder", + "arg1", + "arg2", + "newTopLevelRule", + "originalError", + "recordProd", + "recordOrProd", + "assertMethodIdxIsValid", + "getIdxSuffix", + "prevProd", + "newNoneTerminal", + "prodConstructor", + "mainProdArg", + "handleSep", + "grammarAction", + "newProd", + "hasOptions", + "newOrProd", + "currAltFlat", + "PerformanceTracer", + "userTraceInitPerf", + "traceIsNumber", + "applyMixins", + "derivedCtor", + "baseCtors", + "baseCtor", + "baseProto", + "propName", + "basePropDescriptor", + "EMPTY_ALT", + "parserInstance", + "defErrorsMsgs", + "originalGrammarAction", + "recordedRuleGast", + "resolverErrors", + "validationErrors", + "lookaheadValidationErrors", + "allFollows", + "EmbeddedActionsParser", + "configClone", + "buildATNKey", + "ATN_BASIC", + "ATN_RULE_START", + "ATN_PLUS_BLOCK_START", + "ATN_STAR_BLOCK_START", + "ATN_RULE_STOP", + "ATN_BLOCK_END", + "ATN_STAR_LOOP_BACK", + "ATN_STAR_LOOP_ENTRY", + "ATN_PLUS_LOOP_BACK", + "ATN_LOOP_END", + "AbstractTransition", + "AtomTransition", + "EpsilonTransition", + "RuleTransition", + "ruleStart", + "followState", + "createATN", + "atn", + "createRuleStartAndStopATNStates", + "ruleLength", + "ruleBlock", + "buildRuleHandle", + "production", + "tokenRef", + "ruleRef", + "repetitionSep", + "repetitionMandatorySep", + "starState", + "defineDecisionState", + "makeAlts", + "plusState", + "plus", + "handles", + "makeBlock", + "blkStart", + "blkEnd", + "loop", + "loopEnd", + "altsLength", + "isRuleTransition", + "ruleTransition", + "removeState", + "addTransition", + "currentRule", + "nonTerminal", + "call", + "DFA_ERROR", + "ATNConfigSet", + "getATNConfigKey", + "createDFACache", + "startState", + "decision", + "predicateSet", + "PredicateSet", + "EMPTY_PREDICATES", + "LLStarLookaheadStrategy", + "initATNSimulator", + "dfas", + "logging", + "decisionIndex", + "isLL1Sequence", + "prediction", + "gate", + "adaptivePredict", + "sequences", + "allowEmpty", + "fullSet", + "altSet", + "indices", + "decisionLength", + "decisionToDFA", + "dfaCaches", + "dfa", + "closure", + "computeStartState", + "addDFAState", + "newDFAState", + "performLookahead", + "previousD", + "getExistingTargetState", + "computeLookaheadTarget", + "buildAdaptivePredictError", + "lookahead", + "reach", + "computeReachSet", + "addDFAEdge", + "predictedAlt", + "getUniqueAlt", + "hasConflictTerminatingPrediction", + "reportLookaheadAmbiguity", + "ambiguityIndices", + "prefixPath", + "atnState", + "buildAmbiguityError", + "nextTransitions", + "nextTokenTypes", + "configs", + "intermediate", + "skippedStopStates", + "transitionLength", + "getReachableTarget", + "hasConfigInRuleStopState", + "mapKey", + "numberOfTransitions", + "atnStack", + "followConfig", + "getEpsilonTarget", + "allConfigsInRuleStopStates", + "altSets", + "getConflictingAltSets", + "hasConflictingAltSet", + "hasStateAssociatedWithOneAlt", + "configToAlts", + "DocumentUri", + "is", + "URI", + "integer", + "uinteger", + "Position", + "candidate", + "Is", + "Range", + "two", + "three", + "four", + "Location", + "LocationLink", + "targetUri", + "targetRange", + "targetSelectionRange", + "originSelectionRange", + "red", + "green", + "blue", + "ColorInformation", + "ColorPresentation", + "textEdit", + "additionalTextEdits", + "TextEdit", + "FoldingRangeKind", + "FoldingRange", + "startCharacter", + "endCharacter", + "kind", + "collapsedText", + "DiagnosticRelatedInformation", + "DiagnosticSeverity", + "DiagnosticTag", + "CodeDescription", + "Diagnostic", + "severity", + "relatedInformation", + "Command", + "del", + "ChangeAnnotation", + "needsConfirmation", + "ChangeAnnotationIdentifier", + "AnnotatedTextEdit", + "TextDocumentEdit", + "textDocument", + "edits", + "OptionalVersionedTextDocumentIdentifier", + "CreateFile", + "RenameFile", + "oldUri", + "newUri", + "DeleteFile", + "WorkspaceEdit", + "TextDocumentIdentifier", + "VersionedTextDocumentIdentifier", + "TextDocumentItem", + "languageId", + "MarkupKind", + "MarkupContent", + "CompletionItemKind", + "InsertTextFormat", + "CompletionItemTag", + "InsertReplaceEdit", + "InsertTextMode", + "CompletionItemLabelDetails", + "CompletionItem", + "CompletionList", + "items", + "isIncomplete", + "MarkedString", + "fromPlainText", + "plainText", + "Hover", + "ParameterInformation", + "documentation", + "SignatureInformation", + "parameters", + "DocumentHighlightKind", + "DocumentHighlight", + "SymbolKind", + "SymbolTag", + "SymbolInformation", + "containerName", + "WorkspaceSymbol", + "DocumentSymbol", + "detail", + "selectionRange", + "CodeActionKind", + "CodeActionTriggerKind", + "CodeActionContext", + "diagnostics", + "only", + "triggerKind", + "CodeAction", + "kindOrCommandOrEdit", + "checkKind", + "CodeLens", + "FormattingOptions", + "tabSize", + "insertSpaces", + "DocumentLink", + "SelectionRange", + "SemanticTokenTypes", + "SemanticTokenModifiers", + "SemanticTokens", + "InlineValueText", + "InlineValueVariableLookup", + "variableName", + "caseSensitiveLookup", + "InlineValueEvaluatableExpression", + "InlineValueContext", + "frameId", + "stoppedLocation", + "InlayHintKind", + "InlayHintLabelPart", + "InlayHint", + "StringValue", + "createSnippet", + "InlineCompletionItem", + "insertText", + "filterText", + "InlineCompletionList", + "InlineCompletionTriggerKind", + "SelectedCompletionInfo", + "InlineCompletionContext", + "selectedCompletionInfo", + "WorkspaceFolder", + "TextDocument", + "FullTextDocument", + "applyEdits", + "sortedEdits", + "mergeSort", + "lastModifiedOffset", + "leftIdx", + "rightIdx", + "FullTextDocument$1", + "lineOffsets", + "isLineStart", + "high", + "lineOffset", + "nextLineOffset", + "undefined", + "boolean", + "numberRange", + "objectLiteral", + "check", + "CstNodeBuilder", + "RootCstNodeImpl", + "feature", + "compositeNode", + "CompositeCstNodeImpl", + "leafNode", + "LeafCstNodeImpl", + "added", + "AbstractCstNode", + "CstNodeContainer", + "firstNode", + "firstRange", + "lastRange", + "DatatypeSymbol", + "isDataTypeNode", + "ruleSuffix", + "withRuleSuffix", + "AbstractLangiumParser", + "ChevrotainWrapper", + "choices", + "LangiumParser", + "ruleMethod", + "lexerResult", + "$type", + "createNode", + "hiddenTokens", + "isCrossRef", + "convertedValue", + "subruleResult", + "newItem", + "existingValue", + "targetCstNode", + "AbstractParserErrorMessageProvider", + "LangiumParserErrorMessageProvider", + "LangiumCompletionParser", + "useDefaultLookahead", + "createParser", + "buildRules", + "parserContext", + "reachable", + "parserRules", + "buildElement", + "ignoreGuard", + "buildKeyword", + "buildAction", + "buildCrossReference", + "buildRuleCall", + "buildAlternatives", + "buildUnorderedGroup", + "getGuardCondition", + "ruleCall", + "buildRuleCallPredicate", + "getRule", + "getToken", + "namedArgs", + "buildPredicate", + "ruleArgs", + "ruleTarget", + "methods", + "predicatedMethod", + "orIdx", + "idFunc", + "groupIdx", + "lParser", + "stackId", + "groupState", + "trackedAlternatives", + "wrapped", + "assignTerminal", + "cardinality", + "getRuleName", + "createCompletionParser", + "createLangiumParser", + "prepareLangiumParser", + "DefaultTokenBuilder", + "reachableRules", + "terminalTokens", + "terminalToken", + "stickyRegex", + "caseInsensitive", + "keywordPattern", + "longerAlts", + "DefaultValueConverter", + "ValueConverter", + "convertString", + "convertEscapeCharacter", + "convertID", + "convertInt", + "convertBigint", + "convertDate", + "convertNumber", + "convertBoolean", + "ral", + "_ral", + "RAL", + "install", + "stringArray", + "events", + "ral_1", + "Event", + "_disposable", + "CallbackList", + "bucket", + "foundCallbackWithDifferentContext", + "callbacks", + "contexts", + "Emitter", + "_options", + "thisArgs", + "disposables", + "cancellation", + "require$$1", + "events_1", + "require$$2", + "CancellationToken", + "shortcutEvent", + "MutableToken", + "CancellationTokenSource", + "delayNextTick", + "lastTick", + "globalInterruptionPeriod", + "startCancelableOperation", + "OperationCancelled", + "isOperationCancelled", + "interruptAndCheck", + "Deferred", + "getWellformedRange", + "addedLineOffsets", + "computeLineOffsets", + "isEOL", + "getWellformedEdit", + "isAtLineStart", + "textOffset", + "LIB", + "UriUtils", + "equals", + "relative", + "fromPath", + "toPath", + "fromParts", + "toParts", + "backPart", + "toPart", + "DocumentState", + "DefaultLangiumDocumentFactory", + "cancellationToken", + "model", + "parseResult", + "cancelToken", + "textDocumentGetter", + "oldText", + "serviceRegistry", + "textDoc", + "DefaultLangiumDocuments", + "uriString", + "langiumDoc", + "ref_resolving", + "DefaultLinker", + "linkedNode", + "refNode", + "refText", + "linker", + "refData", + "nodeDescription", + "targetDescription", + "referenceType", + "DefaultNameProvider", + "DefaultReferences", + "sourceCstNode", + "nodeElem", + "nameNode", + "targetNode", + "refs", + "indexReferences", + "MultiMap", + "BiMap", + "DefaultScopeComputation", + "exports", + "rootNode", + "scopes", + "StreamScope", + "outerScope", + "local", + "MapScope", + "localName", + "elementStream", + "DisposableCache", + "disposable", + "SimpleCache", + "ContextCache", + "converter", + "contextKey", + "contextCache", + "documentCache", + "WorkspaceCache", + "sharedServices", + "_changed", + "deleted", + "DefaultScopeProvider", + "precomputed", + "allDescriptions", + "_context", + "isAstNodeWithComment", + "isIntermediateReference", + "DefaultJsonSerializer", + "serializeOptions", + "specificReplacer", + "defaultReplacer", + "replacer", + "deserializeOptions", + "sourceText", + "textRegions", + "comments", + "uriConverter", + "refValue", + "$refText", + "targetDocument", + "createDocumentSegment", + "textRegion", + "assignments", + "propertyAssignments", + "containerProperty", + "containerIndex", + "propertyName", + "mutable", + "fragmentIndex", + "documentUri", + "DefaultServiceRegistry", + "language", + "diagnosticData", + "ValidationCategory", + "ValidationRegistry", + "checksRecord", + "thisObj", + "category", + "accept", + "functionality", + "messageContext", + "messageDetails", + "checks", + "checkBefore", + "checkAfter", + "DefaultDocumentValidator", + "DocumentValidator", + "lexerDiagnostics", + "lexerDiagnostic", + "diagnostic", + "toDiagnosticSeverity", + "toDiagnosticData", + "parserError", + "linkingError", + "validationItems", + "acceptor", + "checksBefore", + "checksAfter", + "getDiagnosticRange", + "DefaultAstNodeDescriptionProvider", + "nameNodeSegment", + "nameSegmentGetter", + "DefaultReferenceDescriptionProvider", + "targetNodeDescr", + "refCstNode", + "docUri", + "DefaultAstNodeLocator", + "containerPath", + "newSegment", + "$containerProperty", + "$containerIndex", + "currentValue", + "propertyIndex", + "arrayIndex", + "DefaultConfigurationProvider", + "languages", + "configToUpdate", + "section", + "configuration", + "sectionName", + "Disposable", + "DefaultDocumentBuilder", + "previousCategories", + "changed", + "deletedUri", + "changedUri", + "newDocument", + "allChangedUris", + "rebuildDocuments", + "changedUris", + "scopeComputation", + "toBeValidated", + "targetState", + "filtered", + "targetStateDocs", + "uriOrToken", + "buildDisposable", + "cancelDisposable", + "listenersCopy", + "validator", + "validationSetting", + "DefaultIndexManager", + "astNodePath", + "targetDocUri", + "docRefs", + "refDescr", + "uris", + "documentUris", + "indexData", + "references", + "DefaultWorkspaceManager", + "_params", + "folders", + "fileExtensions", + "collector", + "wf", + "_folders", + "_collector", + "workspaceFolder", + "folderPath", + "_workspaceFolder", + "extname", + "DefaultLexerErrorMessageProvider", + "DEFAULT_TOKENIZE_OPTIONS", + "DefaultLexer", + "lexerTokens", + "isTokenTypeDictionary", + "ChevrotainLexer", + "chevrotainResult", + "buildTokens", + "isIMultiModeLexerDefinition", + "isTokenTypeArray", + "parseJSDoc", + "getLines", + "normalizedOptions", + "normalizeOptions", + "tokenize", + "parseJSDocComment", + "isJSDoc", + "firstRegex", + "lastRegex", + "tagRegex", + "inlineTagRegex", + "lastCharacter", + "skipWhitespace", + "tagMatch", + "fullMatch", + "inlineTagMatches", + "buildInlineTokens", + "characterIndex", + "matchIndex", + "startContent", + "endContent", + "nonWhitespaceRegex", + "whitespaceEndRegex", + "startPosition", + "JSDocCommentImpl", + "parseJSDocElement", + "parseJSDocTag", + "parseJSDocText", + "appendEmptyLine", + "JSDocLineImpl", + "parseJSDocInline", + "JSDocTextImpl", + "parseJSDocLine", + "tagToken", + "docLine", + "JSDocTagImpl", + "normalizeOption", + "fillNewlines", + "rendered", + "renderInlineTag", + "display", + "displayStart", + "renderLinkDefault", + "JSDocDocumentationProvider", + "_node", + "DefaultCommentProvider", + "DefaultAsyncParser", + "_cancelToken", + "DefaultWorkspaceLock", + "tokenSource", + "queue", + "deferred", + "DefaultHydrator", + "lexerReport", + "astNodes", + "cstNodes", + "cstNodeObj", + "hydrated", + "createDefaultCoreModule", + "createDefaultSharedCoreModule", + "Module", + "_merge", + "inject", + "module1", + "module2", + "module3", + "module4", + "module5", + "module6", + "module7", + "module8", + "module9", + "_inject", + "isProxy", + "injector", + "proxy", + "_resolve", + "__requested__", + "value2", + "EmptyFileSystemProvider", + "EmptyFileSystem", + "minimalGrammarModule", + "minimalSharedGrammarModule", + "ast.LangiumGrammarAstReflection", + "createMinimalGrammarServices", + "shared", + "loadGrammarFromJson", + "Statement", + "Architecture", + "isArchitecture", + "Axis", + "Branch", + "isBranch", + "Checkout", + "CherryPicking", + "Commit", + "isCommit", + "Common", + "Curve", + "Edge", + "Entry", + "GitGraph", + "isGitGraph", + "Info", + "isInfo", + "Junction", + "Merge", + "isMerge", + "Packet", + "isPacket", + "PacketBlock", + "isPacketBlock", + "Pie", + "isPie", + "PieSection", + "isPieSection", + "Radar", + "Service", + "Direction", + "MermaidAstReflection", + "loadedInfoGrammar", + "InfoGrammar", + "loadedPacketGrammar", + "PacketGrammar", + "loadedPieGrammar", + "PieGrammar", + "loadedArchitectureGrammar", + "ArchitectureGrammar", + "loadedGitGraphGrammar", + "GitGraphGrammar", + "loadedRadarGrammar", + "RadarGrammar", + "InfoLanguageMetaData", + "PacketLanguageMetaData", + "PieLanguageMetaData", + "ArchitectureLanguageMetaData", + "GitGraphLanguageMetaData", + "RadarLanguageMetaData", + "MermaidGeneratedSharedModule", + "InfoGeneratedModule", + "PacketGeneratedModule", + "PieGeneratedModule", + "ArchitectureGeneratedModule", + "GitGraphGeneratedModule", + "RadarGeneratedModule", + "accessibilityDescrRegex", + "accessibilityTitleRegex", + "titleRegex", + "rulesRegexes", + "AbstractMermaidValueConverter", + "_cstNode", + "CommonValueConverter", + "_rule", + "_input", + "AbstractMermaidTokenBuilder", + "keywords", + "GitGraphTokenBuilder", + "GitGraphModule", + "createGitGraphServices", + "InfoTokenBuilder", + "InfoModule", + "createInfoServices", + "PacketTokenBuilder", + "PacketModule", + "createPacketServices", + "PieTokenBuilder", + "PieValueConverter", + "PieModule", + "createPieServices", + "ArchitectureTokenBuilder", + "ArchitectureValueConverter", + "ArchitectureModule", + "createArchitectureServices", + "RadarTokenBuilder", + "RadarModule", + "createRadarServices", + "parsers", + "initializers", + "createInfoServices2", + "createPacketServices2", + "createPieServices2", + "createArchitectureServices2", + "createGitGraphServices2", + "createRadarServices2", + "MermaidParseError", + "lexerErrors", + "parserErrors", + "commitType", + "DEFAULT_GITGRAPH_CONFIG", + "getConfig3", + "mainBranchName", + "mainBranchOrder", + "getID", + "recordMap", + "setDirection", + "setOptions", + "rawOptString", + "getOptions", + "commit", + "commitDB", + "newCommit", + "branch", + "branchDB", + "checkout", + "mergeDB", + "otherBranch", + "customId", + "overrideType", + "customTags", + "currentBranchCheck", + "otherBranchCheck", + "currentCommit", + "otherCommit", + "verifiedBranch", + "commit2", + "cherryPick", + "cherryPickDB", + "sourceId", + "targetId", + "parentCommitId", + "sourceCommit", + "sourceCommitBranch", + "currentCommitId", + "branch2", + "upsert", + "newVal", + "prettyPrintCommitHistory", + "commitArr", + "commit3", + "prettyPrint", + "getCommitsArray", + "getBranchesAsObjArray", + "branchConfig", + "getBranches", + "getCommits", + "getCurrentBranch", + "getDirection", + "getHead", + "populate", + "db2", + "statement", + "parseStatement", + "stmt", + "parseCommit", + "parseBranch", + "parseMerge", + "parseCheckout", + "parseCherryPicking", + "merge2", + "checkout2", + "cherryPicking", + "DEFAULT_CONFIG", + "DEFAULT_GITGRAPH_CONFIG2", + "LAYOUT_OFFSET", + "COMMIT_STEP", + "PX", + "PY", + "THEME_COLOR_LIMIT", + "branchPos", + "commitPos", + "defaultPos", + "allCommitsDict", + "lanes", + "findClosestParent", + "closestParent", + "comparisonFunc", + "targetPosition", + "parentPosition", + "findClosestParentBT", + "maxPosition", + "setParallelBTPos", + "sortedKeys", + "commits", + "defaultPos2", + "curPos", + "roots", + "calculateCommitPosition", + "setCommitPosition", + "setRootPosition", + "findClosestParentPos", + "closestParentPos", + "drawCommitBullet", + "gBullets", + "commitPosition", + "typeClass", + "branchIndex", + "commitSymbolType", + "drawCommitLabel", + "gLabels", + "labelBkg", + "r_x", + "r_y", + "drawCommitTags", + "maxTagBboxWidth", + "maxTagBboxHeight", + "tagElements", + "tagValue", + "hole", + "tagBbox", + "h2", + "ly", + "yOrigin", + "getCommitClassType", + "calculatePosition", + "commitPos2", + "defaultCommitPosition", + "getCommitPosition", + "isParallelCommits", + "posWithOffset", + "drawCommits", + "modifyGraph", + "sortKeys", + "seqA", + "seqB", + "shouldRerouteArrow", + "commitA", + "commitB", + "allCommits", + "branchToGetCurve", + "isOnBranchToGetCurve", + "isBetweenCommits", + "commitX", + "findLane", + "lane", + "drawArrow", + "arrowNeedsRerouting", + "arc2", + "colorClassNum", + "lineDef", + "lineY", + "drawArrows", + "gArrows", + "drawBranches", + "branches", + "adjustIndexForTheme", + "setBranchPosition", + "rotateCommitLabel", + "branchLabel", + "gitGraphRenderer_default", + "gantt_default", + "dayjsIsoWeek", + "dayjsCustomParseFormat", + "dayjsAdvancedFormat", + "WEEKEND_START_DAY", + "dateFormat", + "axisFormat", + "todayMarker", + "excludes", + "sections", + "tasks", + "currentSection", + "funs", + "inclusiveEndDates", + "topAxis", + "weekday", + "weekend", + "lastOrder", + "taskCnt", + "lastTask", + "lastTaskID", + "rawTasks", + "setAxisFormat", + "getAxisFormat", + "setTickInterval", + "getTickInterval", + "setTodayMarker", + "getTodayMarker", + "setDateFormat", + "enableInclusiveEndDates", + "endDatesAreInclusive", + "enableTopAxis", + "topAxisEnabled", + "setDisplayMode", + "getDisplayMode", + "getDateFormat", + "setIncludes", + "getIncludes", + "setExcludes", + "getExcludes", + "getLinks", + "addSection", + "getSections", + "getTasks", + "allItemsProcessed", + "compileTasks", + "maxDepth", + "iterationCount", + "isInvalidDate", + "dateFormat2", + "excludes2", + "includes2", + "setWeekday", + "getWeekday", + "setWeekend", + "startDay", + "checkTaskDates", + "task", + "startTime", + "originalEndTime", + "fixedEndTime", + "renderEndTime", + "fixTaskDates", + "endTime", + "invalid", + "getStartDate", + "prevTime", + "afterStatement", + "latestTask", + "findTaskById", + "today", + "mDate", + "parseDuration", + "getEndDate", + "inclusive", + "untilStatement", + "earliestTask", + "parsedDate", + "durationValue", + "durationUnit", + "newEndTime", + "parseId", + "idStr", + "compileData", + "prevTask", + "dataStr", + "ds", + "getTaskTags", + "endTimeData", + "parseData", + "prevTaskId", + "taskDb", + "addTask", + "rawTask", + "taskInfo", + "addTaskOrg", + "newTask", + "compileTask", + "allProcessed", + "setLink", + "_linkStr", + "pushFun", + "setClass", + "setClickFun", + "callbackFunction", + "setClickEvent", + "ganttDb_default", + "tags2", + "matchFound", + "mapWeekdayToTimeFunction", + "getMaxIntersections", + "tasks2", + "orderOffset", + "timeline", + "maxIntersections", + "taskArray", + "checkUnique", + "categoryHeights", + "categoryElements", + "categoryHeight", + "timeScale", + "scaleTime", + "taskCompare", + "taskA", + "taskB", + "makeGantt", + "pageWidth", + "pageHeight", + "barHeight", + "topPadding", + "leftPadding", + "colorScale", + "scaleLinear", + "drawExcludeDays", + "makeGrid", + "drawRects", + "vertLabels", + "drawToday", + "theArray", + "theGap", + "theTopPad", + "theSidePad", + "theBarHeight", + "theColorScale", + "w2", + "uniqueTasks", + "rectangles", + "links2", + "classStr", + "secNum", + "taskClass", + "startX", + "endX", + "textWidth", + "taskType", + "sandboxElement2", + "doc2", + "taskRect", + "taskText", + "oldParent", + "Link", + "minTime", + "maxTime", + "dayjs2", + "excludeRanges", + "renderEnd", + "bottomXAxis", + "resultTickInterval", + "weekday2", + "timeMillisecond", + "topXAxis", + "prevGap", + "numOccurrences", + "todayMarker2", + "todayG", + "todayLine", + "ganttRenderer_default", + "DEFAULT_INFO_DB", + "getVersion", + "DEFAULT_PIE_CONFIG", + "DEFAULT_PIE_DB", + "showData", + "setShowData", + "toggle", + "getShowData", + "populateDb", + "pieStyles_default", + "createPieArcs", + "sections2", + "pieData", + "d3Section", + "globalConfig", + "pieConfig", + "MARGIN", + "LEGEND_RECT_SIZE", + "LEGEND_SPACING", + "pieWidth", + "outerStrokeWidth", + "textPosition", + "arcGenerator", + "labelArcGenerator", + "myGeneratedColors", + "scaleOrdinal", + "legend", + "_datum", + "height2", + "horizontal", + "vertical", + "longestTextWidth", + "quadrant_default", + "defaultThemeVariables", + "QuadrantBuilder", + "themeConfig", + "xAxisPosition", + "showXAxis", + "showYAxis", + "showTitle", + "xAxisSpaceCalculation", + "xAxisSpace", + "yAxisSpaceCalculation", + "yAxisSpace", + "titleSpaceCalculation", + "titleSpace", + "quadrantLeft", + "quadrantTop", + "quadrantWidth", + "quadrantHeight", + "quadrantHalfWidth", + "quadrantHalfHeight", + "spaceData", + "quadrantSpace", + "drawXAxisLabelsInMiddle", + "drawYAxisLabelsInMiddle", + "axisLabels", + "quadrants", + "quadrant", + "xAxis", + "yAxis", + "classStyles", + "halfExternalBorderWidth", + "calculatedSpace", + "InvalidStyleError", + "validateHexCode", + "validateNumber", + "validateSizeInPixels", + "textSanitizer", + "quadrantBuilder", + "setQuadrant1Text", + "setQuadrant2Text", + "setQuadrant3Text", + "setQuadrant4Text", + "setXAxisLeftText", + "setXAxisRightText", + "setYAxisTopText", + "setYAxisBottomText", + "parseStyles", + "stylesObject", + "addPoint", + "addClass", + "setWidth", + "setHeight", + "getQuadrantData", + "quadrantChartConfig", + "quadrantDb_default", + "getDominantBaseLine", + "horizontalPos", + "getTextAnchor", + "verticalPos", + "getTransformation", + "quadrantData", + "quadrantsGroup", + "borderGroup", + "dataPointGroup", + "titleGroup", + "dataPoints", + "quadrantRenderer_default", + "xychart_default", + "isBarPlot", + "isBandAxisData", + "isLinearAxisData", + "TextDimensionCalculatorWithFont", + "texts", + "cur", + "BAR_WIDTH_TO_TICK_WIDTH_RATIO", + "MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL", + "BaseAxis", + "axisConfig", + "textDimensionCalculator", + "axisThemeConfig", + "axisPosition", + "availableSpace", + "availableHeight", + "spaceRequired", + "maxPadding", + "heightRequired", + "availableWidth", + "widthRequired", + "drawableElement", + "BandAxis", + "scaleBand", + "LinearAxis", + "getAxis", + "tmpSVGGroup2", + "ChartTitle", + "chartConfig", + "chartData", + "chartThemeConfig", + "titleDimension", + "drawableElem", + "getChartTitleComponent", + "LinePlot", + "plotData", + "orientation", + "plotIndex2", + "finalData", + "BarPlot", + "barData", + "boundingRect", + "barWidth", + "barWidthHalf", + "BasePlot", + "plot", + "linePlot", + "barPlot", + "getPlotComponent", + "Orchestrator", + "plotX", + "plotY", + "chartWidth", + "chartHeight", + "spaceUsed", + "titleYEnd", + "XYChartBuilder", + "plotIndex", + "tmpSVGGroup", + "xyChartConfig", + "getChartDefaultConfig", + "xyChartThemeConfig", + "getChartDefaultThemeConfig", + "xyChartData", + "getChartDefaultData", + "plotColorPalette", + "hasSetXAxis", + "hasSetYAxis", + "setTmpSVGG", + "SVGG", + "setOrientation", + "setXAxisTitle", + "setXAxisRangeData", + "setXAxisBand", + "setYAxisTitle", + "setYAxisRangeData", + "setYAxisRangeFromPlotData", + "minValue", + "maxValue", + "prevMinValue", + "prevMaxValue", + "transformDataWithoutCategory", + "retData", + "getPlotColorFromPalette", + "setLineData", + "setBarData", + "getDrawableElem", + "getChartThemeConfig", + "getChartConfig", + "xychartDb_default", + "getTextTransformation", + "getGroup", + "gList", + "shapeGroup", + "xychartRenderer_default", + "requirementDiagram_default", + "RequirementDB", + "risk", + "verifyMethod", + "docRef", + "styleClass", + "requirement", + "relation", + "isContains", + "requirementRenderer_exports", + "sequenceDiagram_default", + "SequenceDB", + "assignedBox", + "prevActorInRecords", + "part", + "idFrom", + "idTo", + "answer", + "messageType", + "activate", + "trimmedStr", + "cleanedText", + "actor", + "placement", + "actors", + "actorId", + "sanitizedText", + "properties", + "ACTOR_TYPE_WIDTH", + "TOP_ACTOR_CLASS", + "BOTTOM_ACTOR_CLASS", + "ACTOR_BOX_CLASS", + "ACTOR_MAN_FIGURE_CLASS", + "drawPopup", + "minMenuWidth", + "forceMenus", + "actorCnt2", + "displayValue", + "actorClass", + "menuWidth", + "rectElem", + "linkY", + "linkElem", + "_drawMenuItemTextCandidateFunc", + "popupMenuToggle", + "popId", + "drawKatex", + "msgModel", + "rectDim", + "temp", + "prevTextHeight", + "_textFontSize", + "_textFontSizePx", + "textElems", + "yfunc", + "drawLabel", + "txtObject", + "genPoints", + "cut", + "actorCnt", + "fixLifeLineHeights", + "actorKeys", + "actorKey", + "actorDOM", + "drawActorTypeParticipant", + "isFooter", + "actorY", + "boxplusLineGroup", + "cssclass", + "iconSrc", + "bounds2", + "drawActorTypeActor", + "actElem", + "drawActor", + "drawBox", + "drawBackgroundRect2", + "anchorElement", + "drawActivation", + "actorActivations2", + "drawLoop", + "loopModel", + "boxMargin", + "boxTextMargin", + "labelBoxHeight", + "labelBoxWidth", + "drawLoopLine", + "getTextObj2", + "sectionHeight", + "te", + "insertSequenceNumber", + "getNoteRect2", + "actorFontSize", + "actorFontFamily", + "actorFontWeight", + "_actorFontSize", + "_actorFontSizePx", + "byKatex", + "hasKatex2", + "it", + "boxModel", + "actorModel", + "noteModel", + "_self", + "updateFn", + "actorRect", + "stackedSize", + "actorActivations", + "lastActorActivationIdx", + "activation", + "bump", + "drawNote", + "noteFont", + "actorFont", + "boundMessage", + "_diagram", + "isKatexMsg", + "textDims", + "lineStartY", + "totalOffset", + "drawMessage", + "sequenceIndex", + "sequenceVisible", + "addActorRenderingData", + "createdActors", + "messages", + "prevWidth", + "prevMargin", + "prevBox", + "drawActors", + "drawActorsPopup", + "getRequiredPopupWidth", + "menuDimensions", + "activationBounds", + "actorObj", + "activations", + "adjustLoopHeightForWrap", + "loopWidths", + "preMargin", + "postMargin", + "addLoopFn", + "heightAdjust", + "loopWidth", + "adjustCreatedDestroyedData", + "destroyedActors", + "receiverAdjustment", + "senderAdjustment", + "boxes", + "hasBoxes", + "hasBoxTitles", + "maxMessageWidthPerActor", + "getMaxMessageWidthPerActor", + "calculateActorMargins", + "newActors", + "calculateLoopBounds", + "activeEnd", + "activationData", + "sequenceIndexStep", + "messagesToDraw", + "backgrounds", + "box2", + "requiredBoxSize", + "isNote", + "isMessage", + "textFont", + "wrappedMessage", + "messageWidth", + "requiredPopupWidth", + "labelWidth", + "actorToMessageWidth", + "actDims", + "nextActor", + "actorWidth2", + "actorWidth", + "maxBoxHeight", + "total", + "aKey", + "boxMsgDimensions", + "missing", + "buildNoteModel", + "fromActor", + "toActor", + "shouldWrap", + "textDimensions", + "buildMessageModel", + "fromLeft", + "toLeft", + "toRight", + "isArrowToRight", + "isArrowToActivation", + "adjustValue", + "allBounds", + "boundedWidth", + "msgDims", + "_maxWidthPerActor", + "loops", + "toAdd", + "stk", + "sequenceRenderer_default", + "classDiagram_default", + "visibilityValues", + "ClassMember", + "memberType", + "sanitizedInput", + "displayText", + "cssStyle", + "potentialClassifier", + "detectedVisibility", + "lastChar", + "firstChar", + "combinedText", + "classCounter", + "ClassDB", + "genericType", + "classId", + "classInterface", + "classRelation", + "validatedClassName", + "theClass", + "memberString", + "members", + "_domId", + "elemId", + "thisClass", + "namespaceKey", + "classKey", + "noteNode", + "noteClassId", + "_interface", + "interfaceNode", + "getDir", + "parsedItem", + "defaultDir", + "parsedItemDoc", + "classRenderer_v3_unified_default", + "stateStmt", + "relDescription", + "stateDiagram_default", + "DEFAULT_DIAGRAM_DIRECTION", + "DEFAULT_NESTED_DOC_DIR", + "STMT_DIRECTION", + "STMT_STATE", + "STMT_RELATION", + "STMT_CLASSDEF", + "STMT_STYLEDEF", + "STMT_APPLYCLASS", + "DEFAULT_STATE_TYPE", + "DIVIDER_TYPE", + "G_EDGE_STYLE", + "G_EDGE_ARROWHEADSTYLE", + "G_EDGE_LABELPOS", + "G_EDGE_LABELTYPE", + "G_EDGE_THICKNESS", + "SHAPE_STATE", + "SHAPE_STATE_WITH_DESC", + "SHAPE_START", + "SHAPE_END", + "SHAPE_DIVIDER", + "SHAPE_GROUP", + "SHAPE_NOTE", + "SHAPE_NOTEGROUP", + "CSS_DIAGRAM", + "CSS_STATE", + "CSS_DIAGRAM_STATE", + "CSS_EDGE", + "CSS_NOTE", + "CSS_NOTE_EDGE", + "CSS_EDGE_NOTE_EDGE", + "CSS_DIAGRAM_NOTE", + "CSS_CLUSTER", + "CSS_DIAGRAM_CLUSTER", + "CSS_CLUSTER_ALT", + "CSS_DIAGRAM_CLUSTER_ALT", + "NOTE", + "DOMID_STATE", + "DOMID_TYPE_SPACER", + "NOTE_ID", + "PARENT_ID", + "stateRenderer_v3_unified_default", + "nodeDb", + "graphItemCount", + "stateDomId", + "itemId", + "typeSpacer", + "typeStr", + "setupDoc", + "parentParsedItem", + "diagramStates", + "altFlag", + "dataFetcher", + "edgeData", + "getDir2", + "insertOrUpdateNode", + "nodeData", + "classDef", + "existingNodeData", + "getClassesFromDbInfo", + "dbInfoItem", + "getStylesFromDbInfo", + "dbState", + "newNode", + "noteData", + "parentNodeId", + "groupData", + "START_NODE", + "START_TYPE", + "END_NODE", + "END_TYPE", + "COLOR_KEYWORD", + "FILL_KEYWORD", + "BG_FILL", + "STYLECLASS_SEP", + "newClassesList", + "newDoc", + "StateDB", + "currentDoc", + "docNode", + "_doc", + "foundState", + "trimmedId", + "textStyles", + "des", + "textStyle", + "saveCommon", + "fixedId", + "item1", + "item2", + "relationTitle", + "type1", + "theState", + "_descr", + "foundClass", + "attrib", + "fixedAttrib", + "newStyle2", + "itemIds", + "cssClassName", + "styleText", + "idCache", + "id_cache_default", + "drawStartState", + "drawDivider", + "drawSimpleState", + "stateDef", + "drawDescrState", + "addTspan", + "isFirst2", + "tSpan", + "titleHeight", + "isFirst", + "isSecond", + "descrLine", + "descrBox", + "addTitleAndBox", + "altBkg", + "dblPad", + "orgBox", + "orgX", + "titleWidth", + "graphBox", + "drawEndState", + "drawForkJoinState", + "_drawLongText", + "tHeight", + "textBounds", + "drawState", + "stateInfo", + "stateBox", + "edgeCount", + "drawEdge", + "getRelationType", + "titleRows", + "boundsTmp", + "transformationLog", + "rootDoc", + "renderDoc", + "svgWidth", + "getLabelWidth", + "domDocument", + "edgeFreeDoc", + "states", + "relations", + "keys2", + "boxBounds", + "noteDef", + "pWidth", + "pShift", + "stateRenderer_default", + "journey_default", + "updateActors", + "tempActors", + "taskData", + "pieces", + "score", + "peeps", + "peopleList", + "getActors", + "journeyDb_default", + "drawFace", + "faceData", + "circleElement", + "face", + "smile", + "face2", + "sad", + "ambivalent", + "drawCircle", + "circleData", + "drawText2", + "drawSection", + "taskCount", + "drawTask", + "xPos", + "person", + "colour", + "taskFontSize", + "taskFontFamily", + "initGraphics", + "graphics", + "drawActorLegend", + "yPos", + "labelData", + "LEFT_MARGIN", + "actorNames", + "actorPos", + "actorName", + "drawTasks", + "fills", + "textColours", + "lastSection", + "sectionVHeight", + "taskPos", + "sectionNumber", + "taskInSectionCount", + "currentSection2", + "taskIndex", + "taskActors", + "journeyRenderer_default", + "timeline_default", + "timelineDb_exports", + "addEvent", + "timelineDb_default", + "currentTaskId", + "period", + "MAX_SECTIONS", + "drawNode", + "fullSection", + "bkgElem", + "defaultBkg", + "getVirtualNodeHeight", + "maxSectionHeight", + "maxTaskHeight", + "depthY", + "sectionBeginY", + "masterX", + "masterY", + "hasSections", + "sectionNode", + "maxEventCount", + "maxEventLineLength", + "taskNode", + "taskHeight", + "maxEventLineLengthTemp", + "eventNode", + "tasksForSection", + "sectionNodeWrapper", + "sectionColor", + "isWithoutSections", + "taskWrapper", + "lineWrapper", + "drawEvents", + "maxEventHeight", + "eventBeginY", + "eventWrapper", + "eventHeight", + "timelineRenderer_default", + "genSections", + "sw", + "_arrayLikeToArray", + "_arrayWithHoles", + "_arrayWithoutHoles", + "_classCallCheck", + "_defineProperties", + "_toPropertyKey", + "_createClass", + "_createForOfIteratorHelper", + "_unsupportedIterableToArray", + "_defineProperty$1", + "_iterableToArray", + "_iterableToArrayLimit", + "_nonIterableRest", + "_nonIterableSpread", + "_slicedToArray", + "_toConsumableArray", + "_toPrimitive", + "_typeof", + "_window", + "navigator", + "typeofstr", + "typeofobj", + "typeoffn", + "typeofhtmlele", + "instanceStr", + "fn$6", + "elementOrCollection", + "plainObject", + "number$1", + "htmlElement", + "stylesheet", + "emptyString", + "domElement", + "boundingBox", + "promise", + "ms", + "_memoizedFn", + "camel2dash", + "dash2camel", + "prependCamel", + "capitalize", + "rgbaNoBackRefs", + "hslaNoBackRefs", + "hex3", + "hex6", + "tgt", + "hex2tuple", + "shortHex", + "hsl2tuple", + "hue2rgb", + "rgb2tuple", + "isPct", + "atLeastOneIsPct", + "allArePct", + "colorname2tuple", + "color2tuple", + "setMap", + "getMap", + "commonjsGlobal", + "getDefaultExportFromCjs", + "hasRequiredIsObject", + "requireIsObject", + "_freeGlobal", + "hasRequired_freeGlobal", + "require_freeGlobal", + "_root", + "hasRequired_root", + "require_root", + "now_1", + "hasRequiredNow", + "requireNow", + "_trimmedEndIndex", + "hasRequired_trimmedEndIndex", + "require_trimmedEndIndex", + "_baseTrim", + "hasRequired_baseTrim", + "require_baseTrim", + "_Symbol", + "hasRequired_Symbol", + "require_Symbol", + "_getRawTag", + "hasRequired_getRawTag", + "require_getRawTag", + "_objectToString", + "hasRequired_objectToString", + "require_objectToString", + "_baseGetTag", + "hasRequired_baseGetTag", + "require_baseGetTag", + "isObjectLike_1", + "hasRequiredIsObjectLike", + "requireIsObjectLike", + "isSymbol_1", + "hasRequiredIsSymbol", + "requireIsSymbol", + "toNumber_1", + "hasRequiredToNumber", + "requireToNumber", + "debounce_1", + "hasRequiredDebounce", + "requireDebounce", + "nativeMin", + "debounce", + "wait", + "lastArgs", + "lastThis", + "maxWait", + "timerId", + "lastCallTime", + "lastInvokeTime", + "leading", + "maxing", + "trailing", + "invokeFunc", + "leadingEdge", + "timerExpired", + "remainingWait", + "timeSinceLastCall", + "timeSinceLastInvoke", + "timeWaiting", + "shouldInvoke", + "trailingEdge", + "flush", + "debounced", + "isInvoking", + "debounceExports", + "performance$1", + "pnow", + "raf", + "requestAnimationFrame", + "performanceNow", + "DEFAULT_HASH_SEED", + "DEFAULT_HASH_SEED_ALT", + "hashIterableInts", + "hashInt", + "hashIntAlt", + "combineHashes", + "hash1", + "hash2", + "combineHashesArray", + "hashes", + "hashArrays", + "hashes1", + "hashes2", + "hashIntsArray", + "ints", + "hashString", + "hashStrings", + "hashStringsArray", + "warningsEnabled", + "warnSupported", + "traceSupported", + "MAX_INT$1", + "trueify", + "falsify", + "zeroify", + "noop$1", + "enabled", + "warn", + "uuid", + "_staticEmptyObject", + "staticEmptyObject", + "defaults$g", + "filledOpts", + "optVal", + "removeFromArray", + "ele", + "oneCopy", + "clearArray", + "push", + "otherArr", + "getPrefixedProperty", + "setPrefixedProperty", + "ObjectMap", + "Map$1", + "ObjectSet", + "arrayOrObjectSet", + "_this", + "Set$1", + "restore", + "rpos", + "pan", + "zoom", + "bypass", + "defineSearch", + "directed", + "connectedNodes", + "connectedBy", + "id2depth", + "_this$byGroup", + "vi", + "viId", + "_loop", + "vId", + "prevEdge", + "prevNode", + "vwEdges", + "wId", + "_ret", + "connectedEles", + "elesfn$v", + "heap$2", + "heap$1", + "hasRequiredHeap$1", + "requireHeap$1", + "Heap", + "defaultCmp", + "floor", + "heapify", + "heappop", + "heappush", + "heappushpop", + "heapreplace", + "insort", + "nlargest", + "nsmallest", + "updateItem", + "_siftdown", + "_siftup", + "cmp", + "lastelt", + "returnitem", + "_ref1", + "_results", + "_results1", + "los", + "startpos", + "newitem", + "parentpos", + "childpos", + "endpos", + "rightpos", + "heap", + "hasRequiredHeap", + "requireHeap", + "heapExports", + "dijkstraDefaults", + "elesfn$u", + "_dijkstraDefaults", + "eles", + "knownDist", + "getDist", + "setDist", + "distBetween", + "uvs", + "smallestDistance", + "smallestEdge", + "_weight", + "smalletsDist", + "vid", + "vDist", + "elesfn$t", + "numNodes", + "forest", + "findSetIndex", + "setUIndex", + "setVIndex", + "setU", + "setV", + "aStarDefaults", + "elesfn$s", + "_aStarDefaults", + "goal", + "heuristic", + "sid", + "tid", + "gScore", + "fScore", + "closedSetIds", + "openSet", + "openSetIds", + "cameFrom", + "cameFromEdge", + "addToOpenSet", + "cMin", + "cMinId", + "popFromOpenSet", + "isInOpenSet", + "steps", + "pathNodeId", + "pathEdge", + "wSrc", + "wTgt", + "wid", + "tempScore", + "floydWarshallDefaults", + "elesfn$r", + "_floydWarshallDefault", + "Nsq", + "atIndex", + "edgeNext", + "ts", + "ik", + "ij", + "kj", + "getArgEle", + "indexOfArgEle", + "bellmanFordDefaults", + "elesfn$q", + "_bellmanFordDefaults", + "infoMap", + "hasNegativeWeightCycle", + "negativeWeightCycles", + "numEdges", + "getInfo", + "getNodeFromTo", + "distanceTo", + "pathTo", + "thisStart", + "_getInfo", + "pred", + "replacedEdge", + "checkForEdgeReplacement", + "node1", + "node2", + "info1", + "info2", + "srcInfo", + "tgtInfo", + "negativeWeightCycleIds", + "_edge", + "_src", + "_tgt", + "_weight2", + "srcDist", + "tgtDist", + "negativeNodes", + "numNegativeNodes", + "smallestId", + "smallestIndex", + "cycleId", + "sqrt2", + "collapse", + "edgeIndex", + "nodeMap", + "remainingEdges", + "edgeInfo", + "sourceIn", + "targetIn", + "partition1", + "partition2", + "newEdges", + "contractUntil", + "metaNodeMap", + "sizeLimit", + "elesfn$p", + "numIter", + "stopSize", + "edgeIndexes", + "minCutSize", + "minCutEdgeIndexes", + "minCutNodeMap", + "metaNodeMap2", + "copyNodesMap", + "iter", + "edgesState", + "edgesState2", + "res1", + "res2", + "witnessNodePartition", + "partitionId", + "constructComponent", + "subset", + "components", + "copyPosition", + "modelToRenderedPosition$1", + "renderedToModelPosition", + "array2point", + "mean", + "median", + "includeHoles", + "off", + "deg2rad", + "deg", + "getAngleFromDisp", + "dispX", + "dispY", + "signum", + "sqdist", + "inPlaceSumNormalize", + "qbezierAt", + "qbezierPtAt", + "lineAt", + "vec", + "vecDist", + "normVec", + "bound", + "makeBoundingBox", + "bb", + "copyBoundingBox", + "clearBoundingBox", + "shiftBoundingBox", + "updateBoundingBox", + "bb1", + "bb2", + "expandBoundingBoxByPoint", + "expandBoundingBox", + "expandBoundingBoxSides", + "_padding", + "assignBoundingBox", + "boundingBoxesIntersect", + "inBoundingBox", + "pointInBoundingBox", + "boundingBoxInBoundingBox", + "roundRectangleIntersectLine", + "nodeX", + "nodeY", + "getRoundRectangleRadius", + "halfHeight", + "doWidth", + "doHeight", + "straightLineIntersections", + "topStartX", + "topStartY", + "topEndX", + "topEndY", + "finiteLinesIntersect", + "rightStartX", + "rightStartY", + "rightEndX", + "rightEndY", + "bottomStartX", + "bottomStartY", + "bottomEndX", + "bottomEndY", + "leftStartX", + "leftStartY", + "leftEndX", + "leftEndY", + "arcIntersections", + "topLeftCenterX", + "topLeftCenterY", + "intersectLineCircle", + "topRightCenterX", + "topRightCenterY", + "bottomRightCenterX", + "bottomRightCenterY", + "bottomLeftCenterX", + "bottomLeftCenterY", + "inLineVicinity", + "lx1", + "ly1", + "lx2", + "ly2", + "tolerance", + "inBezierVicinity", + "solveQuadratic", + "sqrtR", + "root1", + "root2", + "solveCubic", + "discriminant", + "dum1", + "term1", + "r13", + "sqdistToQuadraticBezier", + "zeroThreshold", + "minDistanceSquared", + "curX", + "curY", + "distSquared", + "sqdistToFiniteLine", + "lineSq", + "hypSq", + "dotProduct", + "adjSq", + "pointInsidePolygonPoints", + "up", + "pointInsidePolygon", + "basePoints", + "transformedPoints", + "expandedLineSet", + "expandPolygon", + "joinLines", + "pointInsideRoundPolygon", + "corners", + "cutPolygonPoints", + "squaredDistance", + "lineSet", + "vertices", + "currentLineStartX", + "currentLineStartY", + "currentLineEndX", + "currentLineEndY", + "nextLineStartX", + "nextLineStartY", + "nextLineEndX", + "nextLineEndY", + "currentPointX", + "currentPointY", + "nextPointX", + "nextPointY", + "offsetLength", + "normalizedOffsetX", + "normalizedOffsetY", + "intersectLineEllipse", + "ellipseWradius", + "ellipseHradius", + "newLength", + "lenProportion", + "checkInEllipse", + "tMin", + "tMax", + "inRangeParams", + "nearIntersectionX", + "nearIntersectionY", + "farIntersectionX", + "farIntersectionY", + "midOfThree", + "x4", + "y4", + "infiniteLines", + "dx13", + "dx21", + "dx43", + "dy13", + "dy21", + "dy43", + "ua_t", + "ub_t", + "u_b", + "ua", + "ub", + "flptThreshold", + "_min", + "_max", + "polygonIntersectLine", + "doTransform", + "currentX", + "currentY", + "nextX", + "nextY", + "roundPolygonIntersectLine", + "lowestIntersection", + "lowestSquaredDistance", + "shortenIntersection", + "disp", + "lenRatio", + "generateUnitNgonPointsFitToSquare", + "sides", + "rotationRadians", + "generateUnitNgonPoints", + "fitPolygonToSquare", + "increment", + "currentAngle", + "getRoundPolygonRadius", + "getCutRectangleCornerLength", + "bezierPtsToQuadCoeff", + "getBarrelCurveConstants", + "satPolygonIntersection", + "poly1", + "poly2", + "getAxes", + "axes", + "normal", + "project", + "_iterator", + "_step", + "projection", + "overlaps", + "proj1", + "proj2", + "_iterator2", + "_step2", + "pageRankDefaults", + "elesfn$o", + "_pageRankDefaults", + "dampingFactor", + "iterations", + "numNodesSqd", + "matrix", + "columnSum", + "additionalProb", + "srcId", + "tgtId", + "_n2", + "_n3", + "eigenvector", + "_i6", + "_j2", + "_n4", + "_i7", + "defaults$f", + "elesfn$n", + "indegrees", + "outdegrees", + "maxIndegree", + "maxOutdegree", + "_currDegree", + "maxDegree", + "currDegree", + "callingEles", + "incoming", + "outgoing", + "k_in", + "k_out", + "s_in", + "s_out", + "connEdges", + "defaults$e", + "elesfn$m", + "harmonic", + "closenesses", + "maxCloseness", + "fw", + "currCloseness", + "node_i", + "_defaults2", + "dijkstra", + "defaults$d", + "elesfn$l", + "weighted", + "_C", + "_vid", + "_v", + "vEle", + "_w", + "_w2", + "_v2", + "defaults$c", + "setOptions$3", + "getSimilarity$1", + "addLoops", + "_row", + "mmult", + "expand", + "expandFactor", + "_M", + "inflate", + "inflateFactor", + "hasConverged", + "n2", + "roundFactor", + "v1", + "v2", + "assign$2", + "isDuplicate", + "removeDuplicates", + "markovClustering", + "id2position", + "sim", + "isStillMoving", + "markovClustering$1", + "identity$1", + "absDiff", + "addAbsDiff", + "addSquaredDiff", + "maxAbsDiff", + "currentMax", + "getDistance", + "getP", + "getQ", + "visit", + "distances", + "clusteringDistance", + "nodeP", + "nodeQ", + "defaults$b", + "setOptions$2", + "centroid", + "noNodeP", + "randomCentroids", + "ndim", + "centroids", + "classify", + "buildCluster", + "haveValuesConverged", + "sensitivityThreshold", + "haveMatricesConverged", + "seenBefore", + "medoids", + "randomMedoids", + "findCost", + "potentialNewMedoid", + "cost", + "kMeans", + "newCentroid", + "kMedoids", + "curCost", + "minCosts", + "updateCentroids", + "numerator", + "denominator", + "updateMembership", + "_U", + "pow", + "assign$1", + "_c2", + "_c3", + "fuzzyCMeans", + "kClustering", + "defaults$a", + "linkageAliases", + "setOptions$1", + "preferredAlias", + "mergeClosest", + "dists", + "mins", + "minKey", + "n1", + "_dist", + "merged", + "key1", + "key2", + "_getAllChildren", + "_buildDendrogram", + "leftStr", + "rightStr", + "_buildClustersFromTree", + "leaves", + "hierarchicalClustering", + "retClusters", + "hierarchicalClustering$1", + "defaults$9", + "dmp", + "pref", + "validPrefs", + "getSimilarity", + "getPreference", + "preference", + "findExemplars", + "assignClusters", + "exemplars", + "ei", + "_ei", + "ii", + "maxI", + "maxSum", + "affinityPropagation", + "Rp", + "se", + "_i8", + "max2", + "AS", + "_i9", + "_j3", + "_j4", + "_i10", + "_sum", + "_i11", + "_j5", + "exemplarsIndices", + "clusterIndices", + "_i12", + "clusterIndex", + "affinityPropagation$1", + "hierholzerDefaults", + "elesfn$k", + "_hierholzerDefaults", + "dflag", + "oddIn", + "oddOut", + "startVertex", + "outd", + "walk", + "subtour", + "adj", + "adjTail", + "adjHead", + "trail", + "hopcroftTarjanBiconnected", + "visitedEdges", + "buildComponent", + "cutset", + "connectedEdges", + "_biconnectedSearch", + "otherNodeId", + "edgeId", + "cutVertices", + "hopcroftTarjanBiconnected$1", + "tarjanStronglyConnected", + "_stronglyConnectedSearch", + "sourceNodeId", + "targetNodeId", + "componentNodes", + "componentEdges", + "tarjanStronglyConnected$1", + "elesfn$j", + "STATE_PENDING", + "STATE_FULFILLED", + "STATE_REJECTED", + "_api", + "executor", + "deliver", + "onFulfilled", + "onRejected", + "execute", + "execute_handlers", + "handlers", + "cb", + "then", + "ps", + "resolveAll", + "rejectAll", + "vals", + "doneCount", + "fulfill", + "isPromise", + "Promise$1", + "Animation", + "opts2", + "isCore", + "isEle", + "anifn", + "tAni", + "wasPlaying", + "swap", + "_pa", + "startStyleProp", + "define$3", + "selfIsArrayLike", + "complete", + "isEles", + "propertiesEmpty", + "panBy", + "cyPan", + "centerPan", + "fit", + "fitVp", + "vp", + "ani", + "clearQueue", + "jumpToEnd", + "anis", + "ani_p", + "isArray_1", + "hasRequiredIsArray", + "requireIsArray", + "_isKey", + "hasRequired_isKey", + "require_isKey", + "isFunction_1", + "hasRequiredIsFunction", + "requireIsFunction", + "_coreJsData", + "hasRequired_coreJsData", + "require_coreJsData", + "_isMasked", + "hasRequired_isMasked", + "require_isMasked", + "_toSource", + "hasRequired_toSource", + "require_toSource", + "_baseIsNative", + "hasRequired_baseIsNative", + "require_baseIsNative", + "_getValue", + "hasRequired_getValue", + "require_getValue", + "_getNative", + "hasRequired_getNative", + "require_getNative", + "_nativeCreate", + "hasRequired_nativeCreate", + "require_nativeCreate", + "_hashClear", + "hasRequired_hashClear", + "require_hashClear", + "_hashDelete", + "hasRequired_hashDelete", + "require_hashDelete", + "_hashGet", + "hasRequired_hashGet", + "require_hashGet", + "_hashHas", + "hasRequired_hashHas", + "require_hashHas", + "_hashSet", + "hasRequired_hashSet", + "require_hashSet", + "_Hash", + "hasRequired_Hash", + "require_Hash", + "_listCacheClear", + "hasRequired_listCacheClear", + "require_listCacheClear", + "eq_1", + "hasRequiredEq", + "requireEq", + "_assocIndexOf", + "hasRequired_assocIndexOf", + "require_assocIndexOf", + "_listCacheDelete", + "hasRequired_listCacheDelete", + "require_listCacheDelete", + "_listCacheGet", + "hasRequired_listCacheGet", + "require_listCacheGet", + "_listCacheHas", + "hasRequired_listCacheHas", + "require_listCacheHas", + "_listCacheSet", + "hasRequired_listCacheSet", + "require_listCacheSet", + "_ListCache", + "hasRequired_ListCache", + "require_ListCache", + "_Map", + "hasRequired_Map", + "require_Map", + "_mapCacheClear", + "hasRequired_mapCacheClear", + "require_mapCacheClear", + "_isKeyable", + "hasRequired_isKeyable", + "require_isKeyable", + "_getMapData", + "hasRequired_getMapData", + "require_getMapData", + "_mapCacheDelete", + "hasRequired_mapCacheDelete", + "require_mapCacheDelete", + "_mapCacheGet", + "hasRequired_mapCacheGet", + "require_mapCacheGet", + "_mapCacheHas", + "hasRequired_mapCacheHas", + "require_mapCacheHas", + "_mapCacheSet", + "hasRequired_mapCacheSet", + "require_mapCacheSet", + "_MapCache", + "hasRequired_MapCache", + "require_MapCache", + "memoize_1", + "hasRequiredMemoize", + "requireMemoize", + "_memoizeCapped", + "hasRequired_memoizeCapped", + "require_memoizeCapped", + "_stringToPath", + "hasRequired_stringToPath", + "require_stringToPath", + "_arrayMap", + "hasRequired_arrayMap", + "require_arrayMap", + "_baseToString", + "hasRequired_baseToString", + "require_baseToString", + "toString_1", + "hasRequiredToString", + "requireToString", + "_castPath", + "hasRequired_castPath", + "require_castPath", + "_toKey", + "hasRequired_toKey", + "require_toKey", + "_baseGet", + "hasRequired_baseGet", + "require_baseGet", + "get_1", + "hasRequiredGet", + "requireGet", + "getExports", + "_defineProperty", + "hasRequired_defineProperty", + "require_defineProperty", + "_baseAssignValue", + "hasRequired_baseAssignValue", + "require_baseAssignValue", + "_assignValue", + "hasRequired_assignValue", + "require_assignValue", + "_isIndex", + "hasRequired_isIndex", + "require_isIndex", + "_baseSet", + "hasRequired_baseSet", + "require_baseSet", + "set_1", + "hasRequiredSet", + "requireSet", + "setExports", + "_copyArray", + "hasRequired_copyArray", + "require_copyArray", + "toPath_1", + "hasRequiredToPath", + "requireToPath", + "toPathExports", + "define$2", + "single", + "isPathLike", + "_valid", + "_ele", + "i_a", + "l_a", + "_i_a", + "_l_a", + "_privateFields", + "_keys", + "validKeyToDelete", + "define$1", + "offArgs", + "onArgs", + "elesfn$i", + "elesfn$h", + "classesSet", + "eleClasses", + "changedEle", + "eleHasClass", + "toggleUndefd", + "hasClass", + "changedNow", + "duration", + "ops", + "newQuery", + "stateSelectors", + "selToFn", + "stateSelectorMatches", + "sel", + "stateSelectorRegex", + "cleanMetaChars", + "$1", + "replaceLastQuery", + "examiningQuery", + "replacementQuery", + "exprs", + "query", + "_ref7", + "_ref8", + "_ref9", + "_ref10", + "_ref11", + "_ref12", + "comparatorOp", + "valueIsString", + "_ref13", + "_ref14", + "boolOp", + "_ref15", + "_ref16", + "meta", + "currentSubject", + "compoundCount", + "lastQ", + "nextQuery", + "edgeQuery", + "srcTgtQ", + "_source", + "_target", + "nhoodQ", + "neighbor", + "parentChildQuery", + "compound", + "_parent", + "_parent2", + "_child2", + "pcQChecks", + "ancChQuery", + "descendant", + "_descendant", + "_ancestor", + "_ancestor2", + "_descendant2", + "adQChecks", + "topQ", + "topChk", + "topType", + "consumeExpr", + "consumed", + "consumeWhitespace", + "currentQuery", + "exprInfo", + "clean", + "cleanVal", + "checkToString", + "_operator", + "_field", + "_field2", + "_operator2", + "_field3", + "queryToString", + "lhs", + "rhs", + "chk", + "parse$1", + "valCmp", + "fieldVal", + "isFieldStr", + "isFieldNum", + "isValStr", + "fieldStr", + "valStr", + "notExpr", + "isIneqCmp", + "boolCmp", + "existCmp", + "data$1", + "matches$1", + "stateSelector", + "qA", + "qB", + "selectorFunction", + "matching", + "Selector", + "selfn", + "otherSel", + "elesfn$g", + "selObj", + "thisLength", + "collectionLength", + "nhood", + "arg3", + "arg4", + "selectorOrEles", + "tch", + "cacheHit", + "elesfn$f", + "ancestors", + "eleChildren", + "add", + "forEachCompound", + "includeSelf", + "recursiveStep", + "did", + "hasCompounds", + "addChildren", + "addParent", + "addParentAndChildren", + "fn$5", + "elesfn$e", + "elesfn$d", + "defineDegreeFunction", + "includeLoops", + "degree", + "defineDegreeBoundsFunction", + "degreeFn", + "fn$4", + "elesfn$c", + "beforePositionSet", + "newPos", + "oldPos", + "positionDef", + "_fn", + "ppos", + "hasCompoundNodes", + "_ele2", + "hasParent", + "relativeToParent", + "origin", + "_hasParent", + "_relativeToParent", + "_origin", + "fn$3", + "elesfn$b", + "force", + "includeLabels", + "computeBiasValues", + "propDiff", + "propBias", + "propBiasComplement", + "biasDiff", + "biasComplementDiff", + "biasTotal", + "computePaddingValues", + "paddingObject", + "relativeTo", + "leftVal", + "rightVal", + "topVal", + "bottomVal", + "widthBiasDiffs", + "diffLeft", + "diffRight", + "heightBiasDiffs", + "diffTop", + "diffBottom", + "noninf", + "updateBounds", + "updateBoundsFromBox", + "prefixedProperty", + "updateBoundsFromArrow", + "rstyle", + "halfArW", + "bbs", + "updateBoundsFromLabel", + "prefixDash", + "halign", + "valign", + "labelX", + "labelY", + "isEdge", + "outlineWidth", + "borderWidth", + "halfBorderWidth", + "marginOfError", + "lh", + "lw", + "lw_2", + "lh_2", + "leftPad", + "rightPad", + "botPad", + "bbPrefix", + "isAutorotate", + "isPfValue", + "xo", + "yo", + "px1y1", + "px1y2", + "px2y1", + "px2y2", + "bbPrefixRot", + "bbRot", + "updateBoundsFromOutline", + "outlineOpacity", + "outlineOffset", + "nodeShape", + "outlineSize", + "xOffset", + "hDelta", + "wDelta", + "oBounds", + "boundingBoxImpl", + "styleEnabled", + "headless", + "ex1", + "ex2", + "ey1", + "ey2", + "manualExpansion", + "isDisplayed", + "displayed", + "overlayOpacity", + "overlayPadding", + "underlayOpacity", + "underlayPadding", + "wHalf", + "halfW", + "halfH", + "curveStyle", + "hpts", + "_temp", + "n1pos", + "n2pos", + "_temp2", + "_temp3", + "ghost", + "gx", + "gy", + "bbBody", + "bbOverlay", + "bbLabels", + "getKey", + "tf", + "getBoundingBoxPosKey", + "cachedBoundingBoxImpl", + "defBbOptsKey", + "usingDefOpts", + "defBbOpts", + "filledBbOpts", + "useCache", + "isDirty", + "storeOldPos", + "getOldPos", + "fn$2", + "elesfn$a", + "defineDimFns", + "borderPos", + "border", + "od", + "widthHeight", + "ifEdge", + "ifEdgeRenderedPosition", + "getPoint", + "ifEdgeRenderedPositions", + "getPoints", + "segmentPoints", + "sourceEndpoint", + "targetEndpoint", + "midpoint", + "renderedName", + "edgePoints", + "spec", + "rName", + "dimensions", + "returnFalse", + "returnTrue", + "eventRegex", + "universalNamespace", + "defaults$8", + "defaultsKeys", + "emptyOpts", + "forEachEvent", + "qualifier", + "confOverrides", + "eventList", + "evt", + "makeEventObj", + "forEachEventObj", + "eventObj", + "listeners", + "extraParams", + "manualCallback", + "numListenersBeforeEmit", + "_loop2", + "emitterOptions$1", + "selector1", + "selector2", + "argSelector$1", + "elesfn$9", + "argSel", + "elesfn$8", + "_filter", + "filterEles", + "include", + "toRemove", + "col1", + "col2", + "col1Smaller", + "colS", + "colL", + "inOther", + "both", + "retEles", + "toAddEle", + "unmergedLastEle", + "lastEleI", + "lastEle", + "lastEleId", + "toRmFn", + "mapFn", + "valFn", + "maxEle", + "minEle", + "fn$1", + "elesfn$7", + "zIndexSort", + "getDepth", + "depthDiff", + "getEleDepth", + "eleDiff", + "zDiff", + "elesfn$6", + "thisSize", + "sortFn", + "srcDepth", + "tgtDepth", + "defineSymbolIterator", + "typeofUndef", + "isIteratorSupported", + "getLayoutDimensionOptions", + "elesfn$5", + "bbDim", + "layoutEles", + "getMemoizeKey", + "fnMem", + "calculateSpacing", + "nodesBb", + "spacingVector", + "useSpacingFactor", + "spacingBb", + "getFinalPos", + "animateNode", + "fitAni", + "zoomPanAni", + "styleCache", + "cacheStyleFunction", + "cachePrototypeStyleFunction", + "selfFn", + "elesfn$4", + "notifyRenderer", + "bEles", + "updatedEles", + "changedEles", + "includeNonDefault", + "overriddenStyle", + "pstyle", + "updateTransitions", + "parentOpacity", + "checkCompound", + "parentOk", + "defineDerivedStateFunction", + "specs", + "ok", + "edgeOkViaNode", + "eleTakesUpSpace", + "eleInteractive", + "parentInteractive", + "eleVisible", + "edgeVisibleViaNode", + "elesfn$3", + "defineSwitchFunction", + "_handler", + "addlEvents", + "able", + "overrideAble", + "changedColl", + "defineSwitchSet", + "elesfn$2", + "defineDagExtremity", + "disqualified", + "defineDagOneHop", + "oEles", + "defineDagAllHops", + "sEles", + "sElesIds", + "newNext", + "nid", + "otherNode", + "defineSourceFunction", + "defineEdgesWithFunction", + "otherNodes", + "thisToOther", + "otherToThis", + "edgeConnectsThisAndOther", + "defineParallelEdgesFunction", + "edge1_p", + "src1", + "srcid1", + "tgtid1", + "srcEdges1", + "edge2data", + "tgtid2", + "srcid2", + "codirected", + "oppdirected", + "unvisited", + "visitInComponent", + "cmpt", + "Collection", + "unique", + "removed", + "createdElements", + "elesIds", + "_data", + "element$1", + "elesfn$1", + "_data2", + "move", + "newParentValSpecd", + "checkSwitch", + "trueFnName", + "falseFnName", + "obj_k", + "jsons", + "elesArr", + "addToPool", + "cy_p", + "removeFromElements", + "_private", + "_data3", + "fields", + "fieldsLength", + "badSourceOrTarget", + "_data4", + "specifiedParent", + "selfAsParent", + "restored", + "_ele3", + "toUpdateStyle", + "removeFromPool", + "elesToRemove", + "elesToRemoveIds", + "addConnectedEdges", + "alreadyAdded", + "removeEdgeRef", + "removeParallelRef", + "pllEdge", + "alteredParents", + "removeChildRef", + "pid", + "_ele4", + "pllEdges", + "elesStillInside", + "_ele5", + "removedElements", + "_ele6", + "struct", + "modifyPool", + "srcExists", + "tgtExists", + "_data5", + "parentExists", + "pidToAssign", + "updated", + "_data6", + "corefn$9", + "_jsons", + "elesByGroup", + "_jsons2", + "grs", + "elesArray", + "jl", + "_json", + "generateCubicBezier", + "mX1", + "mY1", + "mX2", + "mY2", + "NEWTON_ITERATIONS", + "NEWTON_MIN_SLOPE", + "SUBDIVISION_PRECISION", + "SUBDIVISION_MAX_ITERATIONS", + "kSplineTableSize", + "kSampleStepSize", + "float32ArraySupported", + "mSampleValues", + "aA1", + "aA2", + "calcBezier", + "aT", + "getSlope", + "newtonRaphsonIterate", + "aX", + "aGuessT", + "currentSlope", + "calcSampleValues", + "binarySubdivide", + "aA", + "aB", + "currentT", + "getTForX", + "intervalStart", + "currentSample", + "lastSample", + "guessForT", + "initialSlope", + "_precomputed", + "precompute", + "generateSpringRK4", + "springAccelerationForState", + "springEvaluateStateWithDerivative", + "initialState", + "dt", + "derivative", + "springIntegrateState", + "dxdt", + "dvdt", + "springRK4Factory", + "friction", + "initState", + "time_lapsed", + "DT", + "have_duration", + "last_state", + "percentComplete", + "cubicBezier", + "bezier", + "easings", + "spring", + "getEasedValue", + "easingFn", + "ease", + "startProp", + "endProp", + "propSpec", + "easedArr", + "si", + "step$1", + "pEasing", + "easingVals", + "easingProp", + "easing", + "endPos", + "startPan", + "endPan", + "animatingPan", + "startZoom", + "endZoom", + "animatingZoom", + "_name", + "easedVal", + "startAnimation", + "stepAll", + "doneEles", + "stepOne", + "ranAnis", + "_callbacks", + "ranEleAni", + "handledThisEle", + "ranCoreAni", + "corefn$8", + "headlessStep", + "willDraw", + "emitterOptions", + "argSelector", + "elesfn", + "corefn$7", + "corefn$6", + "Layout", + "corefn$5", + "eventName", + "eventEles", + "rendererDefaults", + "corefn$4", + "pxRatio", + "RendererProto", + "rOpts", + "domEle", + "corefn$3", + "styfn$8", + "TRUE", + "FALSE", + "ie", + "cxtMeta", + "cxtStyle", + "app", + "hintsDiff", + "oldCxtKey", + "newCxtKey", + "dualCxtKey", + "cachedVal", + "diffProps", + "addedProp", + "cxt", + "oldHasCxt", + "newHasCxt", + "cxtHasDiffed", + "cxtHasMappedProps", + "laterCxtOverrides", + "laterCxt", + "hasLaterCxt", + "cxtKey", + "prevKey", + "contextSelectorMatches", + "cxtStyles", + "hasCxt", + "retDiffProps", + "diffPropName", + "cxtProp", + "eleProp", + "mapping", + "fnValue", + "retDiffProp", + "propNames", + "propGrKeys", + "propHash", + "seedKey", + "oldStyleKey", + "overriddenStyles", + "grKey", + "updateGrKey1", + "updateGrKey2", + "updateGrKey", + "updateGrKeyWStr", + "strVal", + "cleanNum", + "parsedProp", + "propInfo", + "_grKey", + "normalizedNumberVal", + "numberVal", + "haveNormNum", + "haveUnitedNum", + "haveNum", + "units", + "_grKey2", + "grHash", + "sk", + "labelKeys", + "sourceLabelKeys", + "targetLabelKeys", + "_p$styleKeys", + "nodeBody", + "nodeOutline", + "backgroundImage", + "stripe", + "nodeKeys", + "flatProp", + "propIsBypass", + "origProp", + "origPropIsBypass", + "flatPropMapping", + "getVal", + "checkTriggers", + "fromVal", + "toVal", + "printMappingErr", + "fieldWidth", + "clr", + "calcValue", + "_fields", + "_fieldVal", + "fnRetVal", + "keepBypasses", + "anyPrev", + "styProp", + "diffProp", + "prevProp", + "fromProp", + "toProp", + "initVal", + "initDt", + "fromValue", + "toValue", + "getTrigger", + "onTrigger", + "triggerCheck", + "styfn$7", + "isBypass", + "_parsedProp", + "specifiedProps", + "_name2", + "_value", + "_parsedProp2", + "_prop", + "isColor", + "isMulti", + "oldValue", + "styfn$6", + "containerWindow", + "styfn$5", + "isRenderedVal", + "subproperty", + "styleProp", + "strValue", + "getRenderedValue", + "getValueStringWithUnits", + "isArrayValue", + "haveUnits", + "aniProps", + "aniProp", + "propsObj", + "chVal", + "styfn$4", + "css", + "styfn$3", + "selAndBlockStr", + "blockRem", + "propAndValStr", + "removeSelAndBlockFromRemaining", + "removePropAndValFromRem", + "nothingLeftToParse", + "selAndBlock", + "selectorStr", + "blockStr", + "invalidBlock", + "_nothingLeftToParse", + "propAndVal", + "propStr", + "styfn$2", + "hex3$1", + "hex6$1", + "mapData", + "mapArg", + "urlRegexes", + "valArr", + "unitsArr", + "val1", + "val2", + "str1", + "empty1", + "empty2", + "mainLabel", + "sourceLabel", + "targetLabel", + "labelDimensions", + "commonLabel", + "behavior", + "visibility", + "overlay", + "underlay", + "nodeSizeHashOverride", + "edgeLine", + "edgeArrow", + "arrowPrefixes", + "triggersBounds", + "propGroups", + "propGroupNames", + "propGroupKeys", + "pointsToProp", + "aliasProp", + "rawProps", + "parsedProps", + "styfn$1", + "propIsFlat", + "flatKey", + "bypassKey", + "valueKey", + "argHash", + "propCache", + "passedValue", + "_mapped", + "valueMin", + "valueMax", + "same", + "pfValArr", + "hasEnum", + "checkEnums", + "en", + "implicitUnits", + "unitsRegex", + "propsStr", + "propsSplit", + "tuple", + "enumProp", + "regexes", + "_Style", + "styfn", + "ele_p", + "mapVal", + "currentSelectorIsCore", + "corefn$2", + "defaultSelectionType", + "corefn$1", + "selType", + "viewportState", + "bbe", + "currentPan", + "currentZoom", + "bail", + "pan1", + "zoom1", + "zoom2", + "pan2", + "zoomDefd", + "panDefd", + "zoomFailed", + "panFailed", + "rb", + "_int", + "Core", + "reg", + "readies", + "defVal", + "altVal", + "loadExtData", + "extData", + "anyIsPromise", + "rendererOptions", + "setElesAndLayout", + "onload", + "ondone", + "oldEles", + "layoutOpts", + "thens", + "initStyle", + "initEles", + "corefn", + "ownerDocument", + "getFreshRef", + "idInJson", + "updateEles", + "gr", + "toMod", + "_toMod$_i", + "parentsToRemove", + "flat", + "defaults$7", + "deprecatedOptionDefaults", + "setInfo", + "BreadthFirstLayout", + "maximal", + "hasBoundingBox", + "cyExtent", + "rootsArray", + "comp", + "compRoots", + "foundByBfs", + "addToDepth", + "changeDepth", + "newDepth", + "pNode", + "orphanNodes", + "assignDepthsAt", + "adjustMaximally", + "shifted", + "eInfo", + "incomers", + "incmr", + "iInfo", + "enqueue", + "dequeue", + "didShift", + "minDistance", + "nbb", + "cachedWeightedPercent", + "getWeightedPercent", + "eleDepth", + "samples", + "bf", + "nDepth", + "apct", + "bpct", + "depthsLen", + "orphanDepth", + "assignDepths", + "biggestDepthSize", + "aveNodeSize", + "distanceY", + "maxDepthSize", + "getPosition", + "_getInfo2", + "radiusStepSize", + "depthSize", + "distanceX", + "epos", + "defaults$6", + "CircleLayout", + "sweep", + "dTheta", + "dcos", + "dsin", + "rMin", + "getPos", + "defaults$5", + "ConcentricLayout", + "nodeValues", + "maxNodeSize", + "levelWidth", + "levels", + "currentLevel", + "minDist", + "firstLvlHasMulti", + "maxR", + "rStep", + "rDeltaMax", + "_level", + "rDelta", + "_level2", + "_level3", + "_dTheta", + "_r2", + "_val", + "DEBUG", + "defaults$4", + "CoseLayout", + "notEdges", + "hasSource", + "hasTarget", + "layoutInfo", + "createLayoutInfo", + "printLayoutInfo", + "randomizePositions", + "refresh", + "refreshPositions", + "mainLoop", + "getScaledPos", + "getScaleInBoundsFn", + "loopRet", + "_frame", + "separateComponents", + "id2cmptId", + "tempNode", + "tempGraph", + "p_id", + "node_id", + "node_ix", + "tempEdge", + "idealLength", + "elasticity", + "sourceIx", + "targetIx", + "sourceGraph", + "targetGraph", + "findLCA", + "lcaGraph", + "_findLCA_aux", + "graphIx", + "nodeIx", + "childGraphIx", + "coseBB", + "lnode", + "pctX", + "pctY", + "calculateNodeForces", + "calculateEdgeForces", + "calculateGravityForces", + "propagateForces", + "updatePositions", + "nodeRepulsion", + "randomDistance", + "cmptId1", + "cmptId2", + "directionX", + "directionY", + "maxRandDist", + "overlap", + "nodesOverlap", + "forceX", + "forceY", + "findClippingPoint", + "distanceSqr", + "dX", + "dY", + "overlapX", + "overlapY", + "dirSlope", + "nodeSlope", + "lx", + "distThreshold", + "fx", + "fy", + "nodeIndex", + "offX", + "offY", + "tempForce", + "limitForce", + "_updateAncestryBoundaries", + "flag", + "cid", + "totalA", + "usedW", + "rowH", + "maxRowW", + "defaults$3", + "GridLayout", + "splits", + "small", + "oRows", + "oCols", + "sm", + "_sm", + "_lg", + "cellWidth", + "cellHeight", + "cellUsed", + "used", + "use", + "moveToNextCell", + "id2manPos", + "rcPos", + "defaults$2", + "NullLayout", + "defaults$1", + "PresetLayout", + "posIsFn", + "RandomLayout", + "NullRenderer", + "throwImgErr", + "BRp$f", + "arrowShapes", + "bbCollide", + "translation", + "edgeWidth", + "inside", + "xRotated", + "yRotated", + "xScaled", + "yScaled", + "xTranslated", + "yTranslated", + "transformPoints", + "retPts", + "pointsToArr", + "standardGap", + "defineArrowShape", + "defn", + "ptsTrans", + "ctrlPt", + "ctrlPtTrans", + "triPts", + "teePts", + "circleInside", + "shiftFactor", + "crossLinePts", + "BRp$e", + "clientX", + "clientY", + "offsets", + "offsetLeft", + "offsetTop", + "clientWidth", + "clientHeight", + "paddingHor", + "paddingVer", + "borderHor", + "unscaledW", + "unscaledH", + "interactiveElementsOnly", + "isTouch", + "near", + "edgeThreshold", + "nodeThreshold", + "labelThreshold", + "minSqDist", + "nearEdge", + "nearNode", + "addEle", + "sqDist", + "checkNode", + "hw", + "hh", + "rs", + "checkEdge", + "styleWidth", + "widthSq", + "width2", + "arSize", + "arrows", + "ar", + "preprop", + "checkLabel", + "th", + "eventsEnabled", + "x1c", + "x2c", + "y1c", + "y2c", + "boxBb", + "getRotatedLabelBox", + "boxSelectEnabled", + "nodeBb", + "rotatedLabelBox", + "selectionBox", + "allInside", + "BRp$d", + "isHaystack", + "isBezier", + "isMultibezier", + "isSegments", + "isCompound", + "isSelf", + "startY", + "endY", + "bX", + "bY", + "cpts", + "bp0x", + "bp0y", + "bp1x", + "bp1y", + "ic", + "i3", + "sinA", + "sinA90", + "radDirection", + "drawDirection", + "halfAngle", + "cRadius", + "lenOut", + "limit", + "stopX", + "stopY", + "lastPoint", + "asVec", + "pp", + "invertVec", + "originalV", + "invertedV", + "calcCornerArc", + "previousPoint", + "currentPoint", + "radiusMax", + "isArcRadius", + "drawPreparedRoundCorner", + "roundCorner", + "getRoundCorner", + "AVOID_IMPOSSIBLE_BEZIER_CONSTANT", + "AVOID_IMPOSSIBLE_BEZIER_CONSTANT_L", + "BRp$c", + "pairInfo", + "posPts", + "intersectionPts", + "vectorNormInverse", + "midptPts", + "srcManEndpt", + "tgtManEndpt", + "haveManualEndPts", + "recalcVectorNormInverse", + "edgeDistances", + "_this$manualEndptToPx", + "_this$manualEndptToPx2", + "_this$manualEndptToPx3", + "_this$manualEndptToPx4", + "endPts", + "srcPos", + "tgtPos", + "srcW", + "tgtW", + "srcH", + "tgtH", + "halfRadius", + "segmentWs", + "segmentDs", + "segmentRs", + "segmentTs", + "segmentsN", + "lastRadius", + "lastRadiusType", + "w1", + "_this$findMidptPtsEtc", + "adjustedMidpt", + "edgeIsUnbundled", + "dirCounts", + "ctrlptDists", + "ctrlptDist", + "loopDir", + "loopSwp", + "stepSize", + "loopDist", + "loopAngle", + "outAngle", + "inAngle", + "dc", + "loopW", + "loopaPos", + "loopbPos", + "loopPos", + "minCompoundStretch", + "compoundStretchA", + "compoundStretchB", + "edgeIsSwapped", + "ctrlptWs", + "bezierN", + "ctrlptWeight", + "multi", + "normctrlptDist", + "manctrlptDist", + "distanceFromMidpoint", + "_this$findMidptPtsEtc2", + "VERTICAL", + "HORIZONTAL", + "LEFTWARD", + "RIGHTWARD", + "DOWNWARD", + "UPWARD", + "AUTO", + "dIncludesNodeBody", + "taxiDir", + "rawTaxiDir", + "taxiTurn", + "turnIsPercent", + "taxiTurnPfVal", + "turnIsNegative", + "minD", + "dw", + "dh", + "subDWH", + "dxy", + "dwh", + "isExplicitDir", + "isVert", + "pl", + "sgnL", + "forcedDir", + "getIsTooClose", + "isTooCloseSrc", + "isTooCloseTgt", + "isTooClose", + "lShapeInsideSrc", + "lShapeInsideTgt", + "_lShapeInsideSrc", + "_lShapeInsideTgt", + "_x2", + "_x3", + "_y2", + "_y3", + "_y4", + "_x4", + "_x5", + "_x6", + "_y5", + "_y6", + "srcShape", + "tgtShape", + "srcCornerRadius", + "tgtCornerRadius", + "srcRs", + "tgtRs", + "badStart", + "badAStart", + "badEnd", + "badAEnd", + "minCpADistFactor", + "arrowW", + "minCpADist", + "startACpDist", + "closeStartACp", + "endACpDist", + "closeEndACp", + "overlapping", + "cpD", + "cpL", + "cpM", + "cpProj", + "srcCtrlPtIntn", + "_cpD", + "_cpL", + "_cpM", + "_radius", + "_cpProj", + "tgtCtrlPtIntn", + "mt", + "hashTable", + "pairId", + "pairIds", + "haystackEdges", + "edgeIsBezier", + "tgtIndex", + "tableEntry", + "_pairIds$p", + "swappedpairInfo", + "firstEdge", + "_curveStyle", + "_edgeIsUnbundled", + "srcOutside", + "srcIntn", + "tgtOutside", + "tgtIntn", + "vector", + "vectorNorm", + "passedPairInfo", + "getPts", + "BRp$b", + "npos", + "tgtArShape", + "srcArShape", + "taxi", + "segments", + "hasEndpts", + "overrideEndpts", + "srcManEndptVal", + "tgtManEndptVal", + "p1_i", + "p2_i", + "cpStart", + "cpEnd", + "srcArrowFromPt", + "tgtArrowFromPt", + "trs", + "lw2", + "lh2", + "va", + "ha", + "labelIntersect", + "refPt", + "intSqdist", + "labIntSqdist", + "labInt2SqDist", + "arrowEnd", + "edgeEnd", + "srs", + "_lw", + "_lh", + "_lx", + "_ly", + "_lw2", + "_lh2", + "_va", + "_ha", + "_labelIntersect", + "_refPt", + "_intSqdist", + "_labIntSqdist", + "_minSqDist", + "_labInt2SqDist", + "arrowStart", + "edgeStart", + "BRp$a", + "pushBezierPts", + "qbezierAt$1", + "p3", + "bpts", + "lpts", + "BRp$9", + "textX", + "textY", + "nodeWidth", + "nodePos", + "textHalign", + "textValign", + "lineAngleFromDelta", + "lineAngle", + "bezierAngle", + "lp0", + "lp1", + "setRs", + "midAngle", + "_createControlPointInfo", + "ctrlpts", + "nProjs", + "addSegment", + "cp", + "prevSegment", + "segment", + "prevCp", + "calculateEndProjection", + "isSrc", + "cps", + "selected", + "startDist", + "totalDist", + "_cp", + "_seg", + "lastSeg", + "seg", + "tSegment", + "segDt", + "di", + "pD", + "cacheKey", + "labelDims", + "textWrap", + "numLines", + "normPerLineHeight", + "labelLineHeight", + "pfd", + "textTransform", + "rscratch", + "wrapStyle", + "labelKey", + "zwsp", + "maxW", + "overflow", + "overflowAny", + "wrappedLines", + "separatorRegex", + "lineDims", + "lineW", + "processedLine", + "separatorMatches", + "subline", + "separatorMatch", + "wordSeparator", + "testLine", + "testDims", + "testW", + "_maxW", + "ellipsized", + "ellipsis", + "incLastCh", + "widthWithNextCh", + "justification", + "fStyle", + "canvas", + "c2d", + "rot", + "rotStr", + "BRp$8", + "TOO_SMALL_CUT_RECT", + "warnedCutRect", + "BRp$7", + "elesToUpdate", + "dirtyStyleCaches", + "updateEleCalcs", + "fns", + "isCleanConnected", + "_p2", + "_rstyle", + "_p3", + "_rstyle2", + "BRp$6", + "grabTargets", + "forceRecalc", + "BRp$5", + "BRp$4", + "crossOrigin", + "onLoad", + "imageCache", + "dataUriPrefix", + "isDataUri", + "BRp$3", + "useCapture", + "tgtIsDom", + "supportsPassive", + "isSelected", + "getShadowRoot", + "triggerEvents", + "isMultSelKeyDown", + "allowPanningPassthrough", + "down", + "downs", + "allowPassthrough", + "setGrabbed", + "setFreed", + "setInDragLayer", + "setOutDragLayer", + "setGrabTarget", + "removeGrabTarget", + "addToDragList", + "listHasEle", + "addDescendantsToDrag", + "innerNodes", + "addNodesToDrag", + "updateAncestorsInDragLayer", + "addNodeToDrag", + "freeDraggedElements", + "grabbedEles", + "blurActiveDomElement", + "haveMutationsApi", + "haveResizeObserverApi", + "mutns", + "mutn", + "rNodes", + "rNode", + "onResize", + "forEachUp", + "invalidateCoords", + "inBoxSelection", + "eventInContainer", + "containerPageCoords", + "atLeastOnePosInside", + "tParent", + "containerIsTarget", + "gpos", + "nears", + "draggedElements", + "checkForTaphold", + "cxtEvt", + "makeEvent", + "triggerGrab", + "selectedNodes", + "shadowRoot", + "capture", + "preventDefault", + "mdownPos", + "mdownGPos", + "isOverThresholdDrag", + "dx2", + "dy2", + "dist2", + "multSelKeyDown", + "updateDragDelta", + "dragDelta", + "goIntoBoxMode", + "deltaP", + "mdPos", + "justStartedDrag", + "totalShift", + "clickTimeout", + "didDoubleClick", + "prevClickTimeStamp", + "cxtTap", + "eleWouldBeSelected", + "downWasGrabbed", + "wheelDeltas", + "wheelDeltaN", + "inaccurateScrollDevice", + "inaccurateScrollFactor", + "allAreDivisibleBy", + "allAreSameMagnitude", + "firstMag", + "wheelHandler", + "wds", + "needsWheelFix", + "newZoom", + "f1x1", + "f1y1", + "f2x1", + "f2y1", + "distance1", + "distance1Sq", + "center1", + "modelCenter1", + "containerWidth", + "containerHeight", + "twoFingersStartInside", + "distanceSq", + "touchstartHandler", + "earlier", + "cxtDistThreshold", + "cxtDistThresholdSq", + "near1", + "near2", + "draggedEles", + "sPos", + "touch0", + "touchmoveHandler", + "startGPos", + "f1x2", + "f1y2", + "f2x2", + "f2y2", + "distance2Sq", + "factorSq", + "distThresholdSq", + "factorThreshold", + "factorThresholdSq", + "de_p", + "distance2", + "df1x", + "df1y", + "df2x", + "df2y", + "tx", + "ty", + "ctrx", + "ctry", + "touchcancelHandler", + "touchendHandler", + "didDoubleTouch", + "touchTimeout", + "prevTouchTimeStamp", + "ctxTapend", + "ctxTap", + "startWasGrabbed", + "rdist2", + "pointers", + "makeTouch", + "makePointer", + "addPointer", + "removePointer", + "updatePointer", + "addTouchesToEvent", + "pointerIsMouse", + "BRp$2", + "diam", + "cl", + "xBegin", + "xEnd", + "yBegin", + "yEnd", + "cPts", + "cutTrianglePts", + "bPts", + "approximateBarrelCurvePts", + "curveConstants", + "hOffset", + "wOffset", + "ctrlPtXOffset", + "barrelCurvePts", + "getCurveT", + "curvePts", + "xMin", + "xMax", + "yMin", + "yMax", + "coeff", + "validRoots", + "curveRegions", + "cornerPts", + "bezY", + "topIntersections", + "nodeShapes", + "diamondPoints", + "star5Points", + "outerPoints", + "innerPoints", + "BRp$1", + "cbs", + "beforeRenderCallbacks", + "_renderFn", + "requestTime", + "BaseRenderer", + "BR", + "BRp", + "ctr", + "stylesheetId", + "stylesheetAlreadyExists", + "computedStyle", + "binding", + "fullFpsTime", + "queueRedraw", + "frameStartTime", + "avgRenderTime", + "renderTime", + "deqd", + "extent", + "pixelRatio", + "frameDuration", + "timeAvailable", + "thisDeqd", + "ElementTextureCacheLookup", + "doesEleInvalidateKey", + "idsByKey", + "newKey", + "lvl", + "cachesByLvl", + "lvls", + "caches", + "entireKeyInvalidated", + "minTxrH", + "txrStepH", + "minLvl$1", + "maxLvl$1", + "maxZoom$1", + "eleTxrSpacing", + "defTxrWidth", + "maxTxrW", + "maxTxrH", + "minUtility", + "maxFullness", + "maxFullnessChecks", + "deqCost$1", + "deqAvgCost$1", + "deqNoDrawCost$1", + "deqFastCost$1", + "deqRedrawThreshold$1", + "maxDeqSize$1", + "getTxrReasons", + "initDefaults", + "ElementTextureCache", + "initOptions", + "ETCp", + "txrH", + "rtxtrQs", + "rtxtrQ", + "k2q", + "eleScaledH", + "eleScaledW", + "scaledLabelShown", + "eleCache", + "txrQ", + "txr", + "addNewTxr", + "scalableFrom", + "otherCache", + "deqing", + "highQualityReq", + "downscaleReq", + "higherCache", + "oneUpCache", + "downscale", + "lowerCache", + "_l2", + "noOtherElesUseCache", + "_cache", + "eleCaches", + "minW", + "existingReq", + "req", + "dequeued", + "cacheExists", + "defNumLayers", + "minLvl", + "maxLvl", + "maxZoom", + "deqRedrawThreshold", + "refineEleDebounceTime", + "deqCost", + "deqAvgCost", + "deqNoDrawCost", + "deqFastCost", + "maxDeqSize", + "invalidThreshold", + "maxLayerArea", + "maxLayerDim", + "useHighQualityEleTxrReqs", + "LayeredTextureCache", + "qSort", + "LTCp", + "layerIdPool", + "MAX_INT", + "firstGet", + "layersByLvl", + "lvlComplete", + "tmpLayers", + "checkTempLevels", + "canUseAsTmpLvl", + "checkLvls", + "getBb", + "makeLayer", + "after", + "area", + "maxElesPerLayer", + "allowLazyQueueing", + "existingLayer", + "numElesInLayers", + "haveLayers", + "rLyr", + "elesQ", + "hasId", + "eleDeqs", + "layersInLevel", + "replaced", + "CRp$b", + "triangleBackcurve", + "controlPoint", + "firstPt", + "triangleTee", + "trianglePoints", + "teePoints", + "firstTeePt", + "circleTriangle", + "firstTrPt", + "CRp$a", + "shiftToOriginWithBb", + "showLabel", + "showOverlay", + "showOpacity", + "eleTxrCache", + "getRotation", + "getOpacity", + "smooth", + "rotPt", + "oldGlobalAlpha", + "getZeroRotation", + "getLabelRotation", + "getSourceLabelRotation", + "getTargetLabelRotation", + "getTextOpacity", + "requestHighQuality", + "_r$data", + "lblTxrCache", + "slbTxrCache", + "tlbTxrCache", + "badLine", + "CRp$9", + "shouldDrawOverlay", + "shouldDrawOpacity", + "lineOpacity", + "lineStyle", + "lineCap", + "lineOutlineWidth", + "lineOutlineColor", + "effectiveLineOpacity", + "effectiveArrowOpacity", + "drawLine", + "strokeOpacity", + "drawLineOutline", + "drawOverlay", + "drawUnderlay", + "arrowOpacity", + "ghostOpacity", + "effectiveGhostOpacity", + "drawEdgeOverlayUnderlay", + "overlayOrUnderlay", + "usePaths", + "canvasCxt", + "pathCacheHit", + "lineDashPattern", + "lineDashOffset", + "pathCacheKey", + "keyMatches", + "triangleHead", + "arrowShape", + "arrowClearFill", + "arrowFill", + "pArrowWidth", + "arrowWidth", + "edgeOpacity", + "gco", + "shapeWidth", + "canvasContext", + "shapeImpl", + "cachedPath", + "CRp$8", + "ix", + "iy", + "iw", + "ih", + "nodeOpacity", + "styleObj", + "getIndexedStyle", + "nodeH", + "paddingX2", + "nodeTW", + "nodeTH", + "shouldClip", + "imgOpacity", + "imgW", + "imgH", + "posXUnits", + "posXPfVal", + "offXUnits", + "offXPfVal", + "posYUnits", + "posYPfVal", + "offYUnits", + "offYPfVal", + "gAlpha", + "smoothingEnabled", + "isSmoothingSwitched", + "CRp$7", + "computedSize", + "minSize", + "useEleOpacity", + "_label", + "srcLabel", + "tgtLabel", + "applyRotation", + "labelSize", + "labelFamily", + "labelWeight", + "outlineColor", + "roundRect", + "pdash", + "textAngle", + "orgTextX", + "orgTextY", + "textW", + "textH", + "backgroundOpacity", + "borderOpacity", + "textBorderWidth", + "backgroundPadding", + "styleShape", + "rounded", + "roundRadius", + "bgX", + "bgY", + "bgW", + "bgH", + "textFill", + "textBackgroundColor", + "textStroke", + "textLineWidth", + "textBorderColor", + "textBorderStyle", + "whiteWidth", + "halfTextW", + "CRp$6", + "eleOpacity", + "bgImgProp", + "urls", + "urlDefined", + "numImages", + "defd", + "bgImgCrossOrigin", + "darkness", + "bgOpacity", + "borderStyle", + "borderJoin", + "borderCap", + "borderPosition", + "borderPattern", + "borderOffset", + "outlineStyle", + "setupShapeColor", + "bgOpy", + "setupBorderColor", + "bdrOpy", + "setupOutlineColor", + "otlnOpy", + "getPath", + "pathCache", + "shapePts", + "shapePath", + "drawShape", + "drawImages", + "prevBging", + "totalCompleted", + "bgContainment", + "drawPie", + "redrawShape", + "pieOpacity", + "drawStripe", + "stripeOpacity", + "darkenOpacity", + "drawBorder", + "region", + "drawOutline", + "bWidth", + "outlinePath", + "sMult", + "_pad", + "effGhostOpacity", + "drawNodeOverlayUnderlay", + "cyStyle", + "pieSize", + "overallStartAngle", + "holeRadius", + "lastPercent", + "angleStart", + "angleDelta", + "angleEnd", + "stripeSize", + "stripeW", + "stripeH", + "CRp$5", + "motionBlurDelay", + "backingStore", + "needToCreateCache", + "shapeStyleName", + "gradientStyle", + "_width", + "hasPositions", + "backgroundFill", + "lineFill", + "mbPxRatio", + "canvasWidth", + "canvasHeight", + "canvasContainer", + "forcedContext", + "drawAllLayers", + "drawOnlyNodeLayer", + "forcedZoom", + "forcedPan", + "needDraw", + "textureDraw", + "motionBlur", + "inNodeDragGesture", + "motionBlurFadeEffect", + "effectiveZoom", + "effectivePan", + "prevVp", + "viewportIsDiff", + "mbclear", + "setContextTransform", + "ePan", + "eZoom", + "texture", + "outsideBgColor", + "outsideBgOpacity", + "vpManip", + "hideEdges", + "needMbClear", + "useBuffer", + "cxtNode", + "txtNode", + "cxtDrag", + "txtDrag", + "drawMotionBlur", + "needClear", + "pxr", + "fpsHeight", + "timeToRender", + "fps", + "maxFps", + "compileShader", + "gl", + "shader", + "createProgram", + "vertexSource", + "fragementSource", + "vertexShader", + "fragmentShader", + "program", + "createTextureCanvas", + "getEffectivePanZoom", + "getEffectiveZoom", + "modelToRenderedPosition", + "isSimpleShape", + "arrayEqual", + "toWebGLColor", + "outArray", + "indexToVec4", + "vec4ToIndex", + "vec4", + "createTexture", + "debugID", + "offscreenCanvas", + "getTypeInfo", + "glslType", + "createTypedArray", + "glType", + "dataOrSize", + "createTypedArrayView", + "stride", + "createBufferStaticDraw", + "attributeLoc", + "dataArray", + "_getTypeInfo", + "_getTypeInfo2", + "createBufferDynamicDraw", + "instances", + "_getTypeInfo3", + "_getTypeInfo4", + "bytes", + "views", + "view", + "create3x3MatrixBufferDynamicDraw", + "matrixSize", + "matrixData", + "matrixViews", + "byteOffset", + "createPickingFrameBuffer", + "fb", + "targetTexture", + "ARRAY_TYPE", + "multiply", + "a02", + "a12", + "a20", + "a21", + "a22", + "b00", + "b01", + "b02", + "b10", + "b11", + "b12", + "b20", + "b21", + "b22", + "rad", + "Atlas", + "texSize", + "texRows", + "maxTexWidth", + "texW", + "texH", + "doDrawing", + "_this$getScale", + "drawAt", + "locations", + "drawNormal", + "drawWrapped", + "scratch", + "firstTexW", + "secondTexW", + "_dy", + "moveToStartOfNextRow", + "_this$getScale2", + "AtlasCollection", + "atlas", + "_this2", + "markedKeys", + "newAtlases", + "newStyleKeyToAtlas", + "newAtlas", + "keysToCollect", + "_atlas$getOffsets", + "_atlas$getOffsets2", + "s2", + "oldAtlas", + "_oldAtlas$getOffsets", + "_oldAtlas$getOffsets2", + "set1", + "set2", + "AtlasManager", + "globalOptions", + "collectionName", + "atlasCollectionOptions", + "_this$globalOptions", + "webglTexSize", + "cachedCreateTextureCanvas", + "atlasCollection", + "renderTypeOptions", + "prevW", + "prevH", + "scratchCanvas", + "renderType", + "_this3", + "_ref2$forceRedraw", + "forceRedraw", + "_ref2$filterEle", + "filterEle", + "_ref2$filterType", + "filterType", + "needGC", + "runGCNow", + "_iterator3", + "_step3", + "_iterator4", + "_step4", + "keyArray", + "oldKeyArray", + "oldKey", + "_iterator5", + "_step5", + "styleKey", + "drawn", + "_this4", + "_atlas$getOffsets3", + "_atlas$getOffsets4", + "tex1", + "tex2", + "debugInfo", + "_iterator6", + "_step6", + "_step6$value", + "_collection$getCounts", + "keyCount", + "atlasCount", + "AtlasBatchManager", + "atlasID", + "circleSD", + "rectangleSD", + "roundRectangleSD", + "ellipseSD", + "RENDER_TARGET", + "TEX_PICKING_MODE", + "TEXTURE", + "EDGE_STRAIGHT", + "EDGE_CURVE_SEGMENT", + "EDGE_ARROW", + "RECTANGLE", + "ROUND_RECTANGLE", + "BOTTOM_ROUND_RECTANGLE", + "ELLIPSE", + "ElementDrawingWebGL", + "typeName", + "atlasManager", + "renderTarget", + "vertexShaderSource", + "idxs", + "fragmentShaderSource", + "unitSquare", + "vao", + "panZoomMatrix", + "eleIndex", + "batchManager", + "atlasInfoArray", + "atlasInfo", + "atlasIndex", + "_arr", + "_arr$_i", + "tex", + "instance", + "indexView", + "atlasIdView", + "texView", + "matrixView", + "adjBB", + "_bb", + "_adjBB", + "_opts$getRotationPoin", + "adjW", + "colorView", + "vertType", + "radiusView", + "lineWidthView", + "borderColorView", + "shapeProp", + "radiusProp", + "baseOpacity", + "scale$1", + "lineWidthBuffer", + "sourceTargetView", + "_instance", + "_indexView", + "_colorView", + "_lineWidthBuffer", + "pAx", + "pAy", + "pBx", + "pBy", + "pCx", + "pCy", + "pDx", + "pDy", + "pointABView", + "pointCDView", + "numSegments", + "curvePoints", + "cpi", + "newpoints", + "vertexCount", + "atlases", + "webglBgColor", + "totalAtlases", + "batchInfo", + "totalInstances", + "CRp$4", + "getBGColor", + "isLabelVisible", + "isLayerVisible", + "getTexPickingMode", + "getBBForSimpleShape", + "_node$position", + "getStyleKeysForLabel", + "getBoundingBoxForLabel", + "setGCFlag", + "gcNeeded", + "overrideCanvasRendererFunctions", + "cssColor", + "getLabelLines", + "getBoundingBox", + "ui", + "renderCanvas", + "clearWebgl", + "clearCanvas", + "renderWebgl", + "baseFunc", + "findNearestElementsWebgl", + "_baseFunc", + "_baseFunc2", + "createPanZoomMatrix", + "_util$getEffectivePan", + "projection$1", + "_util$getEffectivePan2", + "drawSelectionRectangle", + "drawAxes", + "drawAtlases", + "drawing", + "getPickingIndexes", + "_util$getEffectivePan3", + "_util$modelToRendered", + "_util$modelToRendered2", + "cX1", + "cY1", + "indexes", + "pixel", + "drawEle", + "eleCount", + "report", + "CRp$3", + "cornerLength", + "barrelCurveConstants", + "sin0", + "cos0", + "ellipseStepSize", + "rh", + "CRp$2", + "ctrRect", + "specdMaxDims", + "maxScaleW", + "maxScaleH", + "buffCanvas", + "buffCxt", + "zsortedEles", + "b64ToBlob", + "b64", + "mimeType", + "buff", + "buffUint8", + "b64UriToB64", + "b64uri", + "getB64Uri", + "blob", + "CRp$1", + "CR", + "CanvasRenderer", + "CRp", + "tapHlOffAttr", + "tapHlOffStyle", + "containerStyle", + "emptyBb", + "getBoxCenter", + "getCenterOffset", + "backgroundTimestampHasChanged", + "getStyleKey", + "getLabelKey", + "getSourceLabelKey", + "getTargetLabelKey", + "drawElement", + "drawSourceLabel", + "drawTargetLabel", + "getElementBox", + "getLabelBox", + "getSourceLabelBox", + "getTargetLabelBox", + "isLabelVisibleAtScale", + "getElementRotationPoint", + "addTextMargin", + "getRsPt", + "getLabelRotationPoint", + "getSourceLabelRotationPoint", + "getTargetLabelRotationPoint", + "getElementRotationOffset", + "getSourceLabelRotationOffset", + "getTargetLabelRotationOffset", + "getLabelRotationOffset", + "lyrTxrCache", + "refineInLayers", + "reqs", + "pathsImpld", + "incExts", + "modules", + "setExtension", + "registrant", + "overrideErr", + "layoutProto", + "optLayoutFns", + "regStop", + "getCy", + "emitterOpts", + "getExtension", + "bProto", + "RegistrantRenderer", + "rProto", + "Renderer", + "pName", + "pVal", + "existsInR", + "_pName", + "setModule", + "moduleType", + "moduleName", + "getModule", + "_Stylesheet", + "sheetfn", + "cytoscape", + "installedModules", + "__webpack_require__", + "moduleId", + "getter", + "LayoutConstants", + "LGraphObject", + "IGeometry", + "IMath", + "LEdge", + "vEdge", + "otherEnd", + "clipPointCoordinates", + "vGraphObject", + "Integer", + "RectangleD", + "RandomSeed", + "PointD", + "LNode", + "gm", + "vNode", + "upperLeft", + "edgeList", + "withNeighborsList", + "noOfChildren", + "randomCenterX", + "randomCenterY", + "childGraph", + "trans", + "leftTop", + "vLeftTop", + "LGraphManager", + "LinkedList", + "LGraph", + "vGraph", + "sourceNode", + "newEdge", + "edgesToBeRemoved", + "sourceIndex", + "targetIndex", + "nodeTop", + "nodeLeft", + "lNode", + "recursive", + "nodeRight", + "nodeBottom", + "neighborEdges", + "currentNeighbor", + "childrenOfNode", + "neighborEdge", + "childrenOfNeighbor", + "noOfVisitedInThisGraph", + "visitedNode", + "ngraph", + "nnode", + "lObj", + "nodesToBeRemoved", + "graphs", + "secondNode", + "ownerGraph", + "sourceAncestorGraph", + "targetAncestorGraph", + "firstOwnerGraph", + "secondOwnerGraph", + "FDLayoutConstants", + "rectA", + "rectB", + "overlapAmount", + "separationBuffer", + "directions", + "slope", + "moveByY", + "moveByX", + "p1x", + "p1y", + "p2x", + "p2y", + "topLeftAx", + "topLeftAy", + "topRightAx", + "bottomLeftAx", + "bottomLeftAy", + "bottomRightAx", + "halfWidthA", + "halfHeightA", + "topLeftBx", + "topLeftBy", + "topRightBx", + "bottomLeftBx", + "bottomLeftBy", + "bottomRightBx", + "halfWidthB", + "halfHeightB", + "clipPointAFound", + "clipPointBFound", + "slopeA", + "slopeB", + "slopePrime", + "cardinalDirectionA", + "cardinalDirectionB", + "tempPointAx", + "tempPointAy", + "tempPointBx", + "tempPointBy", + "f1", + "f2", + "Cx", + "Cy", + "Nx", + "Ny", + "C_angle", + "p4", + "lambda", + "defineProperties", + "descriptor", + "Constructor", + "protoProps", + "staticProps", + "nodeFrom", + "_remove", + "UniqueIDGeneretor", + "arr2", + "isRemoteUse", + "isLayoutSuccessfull", + "allEdges", + "newLeftTop", + "flatForest", + "isForest", + "allNodes", + "toBeVisited", + "unProcessedNodes", + "dummyNodes", + "dummyNode", + "dummyEdge", + "lEdge", + "ebp", + "sliderValue", + "minDiv", + "maxMul", + "removedNodes", + "remainingDegrees", + "foundCenter", + "centerNode", + "tempList", + "tempList2", + "neighbours", + "neighbour", + "otherDegree", + "newDegree", + "wox", + "woy", + "wex", + "wey", + "dox", + "doy", + "dex", + "dey", + "xDevice", + "worldExtX", + "yDevice", + "worldExtY", + "xWorld", + "deviceExtX", + "yWorld", + "deviceExtY", + "inPoint", + "outPoint", + "FDLayout", + "lcaDepth", + "sizeOfSourceInLca", + "sizeOfTargetInLca", + "lEdges", + "gridUpdateAllowed", + "forceToNodeSurroundingUpdate", + "nodeA", + "nodeB", + "lNodes", + "processedNodeSet", + "springForce", + "springForceX", + "springForceY", + "clipPoints", + "distanceSquared", + "repulsionForce", + "repulsionForceX", + "repulsionForceY", + "childrenConstant", + "ownerCenterX", + "ownerCenterY", + "absDistanceX", + "absDistanceY", + "estimatedSize", + "converged", + "oscilating", + "sizeX", + "sizeY", + "grid", + "finishX", + "finishY", + "FDLayoutEdge", + "FDLayoutNode", + "_startX", + "_finishX", + "_startY", + "_finishY", + "DimensionD", + "HashMap", + "theId", + "HashSet", + "Quicksort", + "compareFunction", + "NeedlemanWunsch", + "sequence1", + "sequence2", + "match_score", + "mismatch_penalty", + "gap_penalty", + "maxOf", + "inProcessAlignments", + "layoutBase", + "__WEBPACK_EXTERNAL_MODULE_0__", + "CoSEConstants", + "CoSEEdge", + "CoSEGraph", + "graphMgr", + "CoSEGraphManager", + "CoSENode", + "pred1", + "CoSELayout", + "createBendsAsNeeded", + "pData", + "layoutEnded", + "multiEdge", + "currentStartingPoint", + "numberOfColumns", + "startingPoint", + "radialSep", + "bottomRight", + "parentOfNode", + "radialSeparation", + "halfInterval", + "nodeAngle", + "teta", + "x_", + "y_", + "branchCount", + "incEdgesCount", + "stepAngle", + "childStartAngle", + "childEndAngle", + "maxDiagonal", + "diagonal", + "tempMemberGroups", + "zeroDegree", + "dummyCompoundId", + "dummyCompound", + "dummyParentGraph", + "parentGraph", + "childGraphMap", + "idToNode", + "tiledZeroDegreePack", + "compoundNode", + "lCompoundNode", + "horizontalMargin", + "verticalMargin", + "tiledPack", + "theChild", + "organization", + "compoundHorizontalMargin", + "compoundVerticalMargin", + "verticalPadding", + "horizontalPadding", + "rowIndex", + "minCompoundSize", + "secondDimension", + "extraHeight", + "extraWidth", + "sri", + "hDiff", + "add_to_row_ratio", + "add_new_row_ratio", + "longest", + "prevTotal", + "finalTotal", + "prunedNodesAll", + "containsLeaf", + "prunedNodesInStepTemp", + "prunedNodesInStep", + "lengthOfPrunedNodesInStep", + "gridForPrunedNode", + "nodeToConnect", + "prunedNode", + "startGridX", + "finishGridX", + "startGridY", + "finishGridY", + "upNodeCount", + "downNodeCount", + "rightNodeCount", + "leftNodeCount", + "controlRegions", + "minCount", + "minIndex", + "coseBase", + "_CoSELayout", + "getUserOptions", + "ready", + "e1", + "getPositions", + "iterateAnimated", + "afterReposition", + "ticksPerFrame", + "isDone", + "animationData", + "nodesMap", + "children_of_children", + "theNode", + "labelPos", + "theNewGraph", + "register", + "mindmap_default", + "getParent", + "getMindmap", + "addNode", + "getType", + "startStr", + "endStr", + "setElementForId", + "decorateNode", + "decoration", + "type2Str", + "getLogger", + "getElementById", + "mindmapDb_default", + "rectBkg", + "cloudBkg", + "bangBkg", + "circleBkg", + "hexagonBkg", + "_db", + "roundedRectBkg", + "htmlLabels", + "sectionClass", + "orgHeight", + "heightDiff", + "coseBilkent", + "drawNodes", + "mindmap", + "drawEdges", + "edgesEl", + "addNodes", + "layoutMindmap", + "renderEl", + "positionNodes", + "mm", + "edgesElem", + "nodesElem", + "mindmapRenderer_default", + "kanban_default", + "getSection", + "sectionLevel", + "getData", + "_nodes", + "shapeData", + "kanbanDb_default", + "sectionsElem", + "cnt2", + "sectionObjects", + "maxLabelHeight", + "WIDTH", + "sectionObj", + "sectionItems", + "kanbanRenderer_default", + "adjuster", + "targetDepth", + "justify", + "ascendingSourceBreadth", + "ascendingBreadth", + "ascendingTargetBreadth", + "defaultId", + "defaultNodes", + "defaultLinks", + "nodeById", + "computeLinkBreadths", + "Sankey", + "linkSort", + "sankey", + "computeNodeLinks", + "computeNodeValues", + "computeNodeDepths", + "computeNodeHeights", + "computeNodeBreadths", + "sourceLinks", + "targetLinks", + "computeNodeLayers", + "kx", + "columns", + "initializeNodeBreadths", + "ky", + "reorderLinks", + "relaxRightToLeft", + "relaxLeftToRight", + "targetTop", + "reorderNodeLinks", + "resolveCollisions", + "sourceTop", + "resolveCollisionsBottomToTop", + "resolveCollisionsTopToBottom", + "linkSource", + "linkTarget", + "argv", + "curveHorizontal", + "linkHorizontal", + "horizontalSource", + "horizontalTarget", + "d3SankeyLinkHorizontal", + "sankey_default", + "SankeyLink", + "addLink", + "SankeyNode", + "ID", + "findOrCreateNode", + "getNodes", + "getGraph", + "sankeyDB_default", + "Uid", + "alignmentsMap", + "d3SankeyLeft", + "d3SankeyRight", + "d3SankeyCenter", + "d3SankeyJustify", + "defaultSankeyConfig", + "d3select", + "nodeAlignment", + "showValues", + "nodeAlign", + "d3Sankey", + "colorScheme", + "d3scaleOrdinal", + "d3schemeTableau10", + "getText", + "linkColor", + "gradient", + "coloring", + "sankeyRenderer_default", + "prepareTextForParsing", + "originalParse", + "defaultPacketData", + "DEFAULT_PACKET_CONFIG", + "getPacket", + "pushWord", + "maxPacketSize", + "lastByte", + "bitsPerRow", + "nextBlock", + "getNextFittingBlock", + "rowHeight", + "paddingY", + "bitWidth", + "totalRowHeight", + "svgHeight", + "drawWord", + "rowNumber", + "paddingX", + "showBits", + "wordY", + "blockX", + "isSingleBlock", + "bitNumberY", + "defaultPacketStyleOptions", + "defaultOptions", + "defaultRadarData", + "DEFAULT_RADAR_CONFIG", + "getCurves", + "setAxes", + "setCurves", + "curves", + "computeCurveEntries", + "entry2", + "optionMap", + "drawFrame", + "drawGraticule", + "drawCurves", + "drawLegend", + "graticule", + "numAxes", + "relativeRadius", + "closedRoundCurve", + "clippedValue", + "cp1", + "cp2", + "showLegend", + "legendX", + "legendY", + "itemGroup", + "genIndexStyles", + "radarOptions", + "indexColor", + "buildRadarStyleOptions", + "spaceId", + "block_default", + "blockDatabase", + "addStyleClass", + "addStyle2Node", + "foundBlock", + "setCssClass", + "populateBlockDatabase", + "_blockList", + "blockList", + "existingBlock", + "newBlock", + "blocks", + "rootBlock", + "typeStr2Type", + "edgeTypeStr2Type", + "edgeStrToEdgeData", + "setHierarchy", + "getColumns", + "blockId", + "getBlocksFlat", + "getBlocks", + "getEdges", + "getBlock", + "setBlock", + "blockDB_default", + "calculateBlockPosition", + "getMaxChildSize", + "setBlockSizes", + "siblingWidth", + "siblingHeight", + "childSize", + "numItems", + "xSize", + "ySize", + "childWidth", + "childHeight", + "layoutBlocks", + "widthOfChildren", + "columnPos", + "startingPosX", + "rowPos", + "findBounds", + "expandAndDeduplicateDirections", + "uniqueDirections", + "getArrowPoints", + "duplicatedDirections", + "padding2", + "classes2", + "note_default", + "formatClass", + "getClassesFromNode", + "otherClasses", + "questionElem", + "block_arrow", + "blockArrow", + "rect_right_inv_arrow", + "propKeys", + "applyNodePropertyBorders", + "propKey", + "composite", + "borders", + "strokeDashArray", + "addBorder", + "skipBorder", + "circle3", + "class_box", + "rowPadding", + "topLine", + "bottomLine", + "labelContainer", + "hasInterface", + "interfaceLabelText", + "interfaceLabel", + "interfaceBBox", + "classTitleString", + "classTitleLabel", + "classTitleBBox", + "classAttributes", + "parsedInfo", + "parsedText", + "lbl", + "classMethods", + "diffX2", + "diffX", + "memberBBox", + "getNodeFromBlock", + "positioned", + "calculateBlockSize", + "nodeEl", + "insertBlockPositioned", + "performOperations", + "blocks2", + "operation", + "calculateBlockSizes", + "insertBlocks", + "insertEdges", + "startBlock", + "endBlock", + "start2", + "end2", + "getClasses2", + "blArr", + "magicFactor", + "blockRenderer_default", + "edgesToRemove", + "Ex", + "Ey", + "Lx", + "Ly", + "disc", + "originalIdealLength", + "Matrix", + "array1", + "array2", + "magnitude", + "INV", + "temp1", + "temp2", + "_sum2", + "SVD", + "nu", + "allocate", + "work", + "wantu", + "nct", + "nrt", + "_t2", + "_i13", + "_i14", + "_i15", + "_i16", + "_k2", + "_t3", + "_i17", + "_i18", + "_i19", + "eps", + "tiny", + "_k3", + "kase", + "ks", + "_t4", + "_j6", + "_t5", + "cs", + "sn", + "_i20", + "_j7", + "_t6", + "_cs", + "_sn", + "_i21", + "sp", + "spm1", + "epm1", + "ek", + "_f2", + "_j8", + "_t7", + "_cs2", + "_sn2", + "_i22", + "_i23", + "_i24", + "_t8", + "_i25", + "_i26", + "__WEBPACK_EXTERNAL_MODULE__551__", + "__webpack_modules__", + "__unused_webpack_exports", + "ConstraintHandler", + "calculateCompoundWeight", + "fixedNodeWeight", + "nodeToDummyForVerticalAlignment", + "nodeToDummyForHorizontalAlignment", + "horizontalAlignment", + "constraint", + "nodeIdLeft", + "nodeIdRight", + "nodeIdTop", + "nodeIdBottom", + "subGraphOnHorizontal", + "subGraphOnVertical", + "constructComponents", + "fixedNodes", + "isFixed", + "resultOnHorizontal", + "resultOnVertical", + "fixedNode", + "allVerticalAlignments", + "totalDisplacementX", + "averageDisplacementX", + "allHorizontalAlignments", + "totalDisplacementY", + "averageDisplacementY", + "displacement", + "actualNodes", + "averageDisplacement", + "labelMarginLeft", + "labelMarginTop", + "compoundLabelMarginLeft", + "compoundLabelMarginTop", + "horizontalOrg", + "verticalOrg", + "horizontalRatio", + "verticalRatio", + "bestOrg", + "favorHorizontalDim", + "membersSize", + "averageWidth", + "averageHeight", + "horizontalCountDouble", + "horizontalCount", + "idealWidth", + "tilingCompareBy", + "getNodeArea", + "areaCompareFcn", + "cmpBy", + "sumCenterX", + "sumCenterY", + "lastRowIndex", + "lastRowWidth", + "relativePosition", + "constraints", + "idToNodeMap", + "nodeIndexes", + "xCoords", + "yCoords", + "calculatePositionDiff", + "pos1", + "pos2", + "calculateAvgPosition", + "nodeIdSet", + "xPosSum", + "yPosSum", + "findAppropriatePositionForRelativePlacement", + "dummyPositions", + "componentSources", + "setUnion", + "setA", + "setB", + "_iteratorNormalCompletion", + "_didIteratorError", + "_iteratorError", + "inDegrees", + "adjacent", + "positionMap", + "pastMap", + "fixedIds", + "fixedPosition", + "sinkNodes", + "_components", + "isFixedComponent", + "_iteratorNormalCompletion2", + "_didIteratorError2", + "_iteratorError2", + "isExist", + "existAt", + "minBefore", + "minAfter", + "maxBefore", + "maxAfter", + "_iteratorNormalCompletion3", + "_didIteratorError3", + "_iteratorError3", + "posBefore", + "posAfter", + "_iteratorNormalCompletion4", + "_didIteratorError4", + "_iteratorError4", + "_nodeId", + "applyReflectionForRelativePlacement", + "relativePlacementConstraints", + "reflectOnY", + "notReflectOnY", + "reflectOnX", + "notReflectOnX", + "findComponents", + "_currentNode", + "dagToUndirected", + "dag", + "undirected", + "dagToReversed", + "reversed", + "targetMatrix", + "sourceMatrix", + "standardTransformation", + "reflectionType", + "dagUndirected", + "verticalAlign", + "alignmentSet", + "horizontalAlign", + "_loop3", + "largestComponentSize", + "largestComponentIndex", + "constraintsInlargestComponent", + "positionMapHorizontal", + "positionMapVertical", + "transformationMatrix", + "targetMatrixTranspose", + "sourceMatrixTranspose", + "tempMatrix", + "SVDResult", + "temp3", + "translationAmount", + "posInTheory", + "posDesired", + "posDiff", + "xAlign", + "_loop4", + "yAlign", + "_loop5", + "dummyToNodeForVerticalAlignment", + "dummyToNodeForHorizontalAlignment", + "dummyPositionsForVerticalAlignment", + "dummyPositionsForHorizontalAlignment", + "fixedNodesOnHorizontal", + "fixedNodesOnVertical", + "_loop6", + "_loop7", + "dagOnHorizontal", + "dagOnVertical", + "_loop8", + "_iteratorNormalCompletion5", + "_didIteratorError5", + "_iteratorError5", + "undirectedOnHorizontal", + "undirectedOnVertical", + "componentsOnHorizontal", + "componentsOnVertical", + "reversedDagOnHorizontal", + "reversedDagOnVertical", + "componentSourcesOnHorizontal", + "componentSourcesOnVertical", + "_loop9", + "_iteratorNormalCompletion6", + "_didIteratorError6", + "_iteratorError6", + "_loop10", + "_iteratorNormalCompletion7", + "_didIteratorError7", + "_iteratorError7", + "_iterator7", + "_step7", + "__webpack_module_cache__", + "cachedModule", + "__webpack_exports__", + "__WEBPACK_EXTERNAL_MODULE__140__", + "srcs", + "sliceIterator", + "auxiliary", + "topMostNodes", + "visitedTopMostNodes", + "minDegreeNode", + "minDegree", + "isConnected", + "nodesConnectedToDummy", + "childrenOfCurrentNode", + "neighborNodes", + "neighborNode", + "originalCenter", + "componentResult", + "minXCoord", + "maxXCoord", + "minYCoord", + "maxYCoord", + "cyNode", + "nodeBB", + "leftX", + "rightX", + "topY", + "bottomY", + "diffOnX", + "diffOnY", + "_diffOnX", + "_diffOnY", + "parentsWithoutChildren", + "aux", + "coseLayout", + "spectralResult", + "idToLNode", + "isFn", + "optFn", + "processChildrenList", + "parentInfo", + "processEdges", + "idealLengthTotal", + "processConstraints", + "_require", + "spectralLayout", + "_require2", + "coseResult", + "componentCenters", + "constraintExist", + "layUtil", + "packingEnabled", + "toBeTiledNodes", + "_xCoords", + "_yCoords", + "tempSpectralResult", + "indexesToBeDeleted", + "_boundingBox", + "componentsEvaluated", + "hiddenEles", + "subgraph", + "sourceNodeIndex", + "targetNodeIndex", + "sourceCenter", + "targetCenter", + "_parentInfo", + "shiftResult", + "newXCoords", + "newYCoords", + "_count", + "nodeRectangle", + "_hiddenEles", + "parentNodes", + "parentChildMap", + "allNodesNeighborhood", + "samplesColumn", + "minDistancesColumn", + "PHI", + "nodeSize", + "infinity", + "piTol", + "samplingType", + "nodeSeparation", + "sampleSize", + "randomSampleCR", + "sample", + "BFS", + "pivot", + "samplingMethod", + "front", + "back", + "max_dist", + "max_ind", + "allBFS", + "a_q", + "a_u", + "a_v", + "max_s", + "a_Sig", + "powerIteration", + "theta1", + "theta2", + "Y1", + "Y2", + "V1", + "V2", + "ele2", + "disconnectedId", + "firstNodePos", + "firstNodeWidth", + "secondNodeWidth", + "ArchitectureDirectionName", + "ArchitectureDirectionArrow", + "ArchitectureDirectionArrowShift", + "orig", + "arrowSize", + "_arrowSize", + "getOppositeArchitectureDirection", + "isArchitectureDirectionX", + "isArchitectureDirection", + "isArchitectureDirectionY", + "isArchitectureDirectionXY", + "aX_bY", + "aY_bX", + "isArchitecturePairXY", + "isValidArchitectureDirectionPair", + "getArchitectureDirectionPair", + "sourceDir", + "targetDir", + "shiftPositionByArchitectureDirectionPair", + "getArchitectureDirectionXYFactors", + "getArchitectureDirectionAlignment", + "isArchitectureService", + "isArchitectureJunction", + "DEFAULT_ARCHITECTURE_CONFIG", + "addService", + "iconText", + "getServices", + "addJunction", + "getJunctions", + "getNode", + "addGroup", + "getGroups", + "addEdge", + "lhsId", + "rhsId", + "lhsDir", + "rhsDir", + "lhsInto", + "rhsInto", + "lhsGroup", + "rhsGroup", + "lhsGroupId", + "rhsGroupId", + "getDataStructures", + "groupAlignments", + "adjList", + "prevOuter", + "service", + "prevInner", + "firstId", + "notVisited", + "startingId", + "spatialMap", + "posX", + "posY", + "spatialMaps", + "getConfigField", + "arch", + "architectureStyles_default", + "wrapIcon", + "architectureIcons", + "halfIconSize", + "halfArrowSize", + "sourceArrow", + "sourceGroup", + "targetArrow", + "targetGroup", + "groupEdgeShift", + "xShift", + "yShift", + "bboxOrig", + "bboxNew", + "drawGroups", + "groupsEl", + "groupIconSize", + "groupLabelContainer", + "shiftedX1", + "shiftedY1", + "drawServices", + "serviceElem", + "drawJunctions", + "junctions", + "junction", + "junctionElem", + "fcose", + "addServices", + "addJunctions", + "addGroups", + "addEdges", + "parsedEdge", + "edgeType", + "getAlignments", + "flattenAlignments", + "alignmentObj", + "alignmentDir", + "alignments2", + "aGroupId", + "aNodeIds", + "bGroupId", + "bNodeIds", + "keyA", + "keyB", + "alignments", + "horizontalAlignments", + "verticalAlignments", + "nodeGroup", + "prevHoriz", + "prevVert", + "getRelativeConstraints", + "relativeConstraints", + "posToStr", + "strToPos", + "invSpatialMap", + "currId", + "layoutArchitecture", + "alignmentConstraint", + "relativePlacementConstraint", + "parentA", + "parentB", + "getSegmentWeights", + "sX", + "sY", + "tX", + "tY", + "distAB", + "delta1", + "delta2", + "sEP", + "tEP", + "weights", + "servicesElem", + "groupElem" + ], + "ignoreList": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694 + ], + "sources": [ + "../../../../node_modules/.pnpm/katex@0.16.22/node_modules/katex/dist/katex.mjs", + "../../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/channel.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/lang.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/unit.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/utils/index.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/constants.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/channels/type.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/channels/index.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/channels/reusable.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/hex.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/hsl.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/keyword.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/rgb.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/color/index.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/change.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/rgba.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/channel.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/luminance.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/is_light.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/is_dark.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/adjust_channel.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/lighten.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/darken.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/adjust.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/mix.js", + "../../../../node_modules/.pnpm/khroma@2.1.0/node_modules/khroma/dist/methods/invert.js", + "../../../../node_modules/.pnpm/dompurify@3.2.5/node_modules/dompurify/dist/purify.es.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-YTJNT7DU.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-6JRP7KZX.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-VV3M67IP.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-K557N5IZ.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/icon/defaults.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/customisations/defaults.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/icon/name.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/icon/transformations.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/icon/merge.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/icon-set/tree.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/icon-set/get-icon.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/svg/size.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/svg/defs.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/svg/build.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/svg/id.mjs", + "../../../../node_modules/.pnpm/@iconify+utils@2.3.0/node_modules/@iconify/utils/lib/svg/html.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-H2D2JQ3I.mjs", + "../../../../node_modules/.pnpm/@braintree+sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/constants.js", + "../../../../node_modules/.pnpm/@braintree+sanitize-url@7.1.1/node_modules/@braintree/sanitize-url/dist/index.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ascending.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/descending.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisect.js", + "../../../../node_modules/.pnpm/internmap@2.0.3/node_modules/internmap/src/index.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/ticks.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/max.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/min.js", + "../../../../node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/range.js", + "../../../../node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/identity.js", + "../../../../node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/axis.js", + "../../../../node_modules/.pnpm/d3-dispatch@3.0.1/node_modules/d3-dispatch/src/dispatch.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/namespaces.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/namespace.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/creator.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selector.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/select.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/array.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selectorAll.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectAll.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/matcher.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectChild.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectChildren.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/filter.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sparse.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/enter.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/constant.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/data.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/exit.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/join.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/merge.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/order.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sort.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/call.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/nodes.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/node.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/size.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/empty.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/each.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/attr.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/window.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/style.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/property.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/classed.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/text.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/html.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/raise.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/lower.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/append.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/insert.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/remove.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/clone.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/datum.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/on.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/dispatch.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/iterator.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/index.js", + "../../../../node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/select.js", + "../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/define.js", + "../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js", + "../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/math.js", + "../../../../node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/lab.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/constant.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/color.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/rgb.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/numberArray.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/array.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/date.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/number.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/object.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/string.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/value.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/round.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/transform/decompose.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/transform/parse.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/transform/index.js", + "../../../../node_modules/.pnpm/d3-interpolate@3.0.1/node_modules/d3-interpolate/src/hcl.js", + "../../../../node_modules/.pnpm/d3-timer@3.0.1/node_modules/d3-timer/src/timer.js", + "../../../../node_modules/.pnpm/d3-timer@3.0.1/node_modules/d3-timer/src/timeout.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/schedule.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/interrupt.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/interrupt.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/tween.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/interpolate.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/attr.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/attrTween.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/delay.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/duration.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/ease.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/easeVarying.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/filter.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/merge.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/on.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/remove.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/select.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/selectAll.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/selection.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/style.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/styleTween.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/text.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/textTween.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/transition.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/end.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/index.js", + "../../../../node_modules/.pnpm/d3-ease@3.0.1/node_modules/d3-ease/src/cubic.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/transition.js", + "../../../../node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/index.js", + "../../../../node_modules/.pnpm/d3-path@3.1.0/node_modules/d3-path/src/path.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatDecimal.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/exponent.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatGroup.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatNumerals.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatSpecifier.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTrim.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatPrefixAuto.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatRounded.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/formatTypes.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionFixed.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionPrefix.js", + "../../../../node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/precisionRound.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/ordinal.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/band.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/constant.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/continuous.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/tickFormat.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/linear.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/nice.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/interval.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/millisecond.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/duration.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/second.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/minute.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/hour.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/day.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/week.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/month.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/year.js", + "../../../../node_modules/.pnpm/d3-time@3.1.0/node_modules/d3-time/src/ticks.js", + "../../../../node_modules/.pnpm/d3-time-format@4.1.0/node_modules/d3-time-format/src/locale.js", + "../../../../node_modules/.pnpm/d3-time-format@4.1.0/node_modules/d3-time-format/src/defaultLocale.js", + "../../../../node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/time.js", + "../../../../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/colors.js", + "../../../../node_modules/.pnpm/d3-scale-chromatic@3.1.0/node_modules/d3-scale-chromatic/src/categorical/Tableau10.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/constant.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/math.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/path.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/arc.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/array.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linear.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/point.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/line.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/descending.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/identity.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/pie.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bump.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/noop.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basis.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisClosed.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/basisOpen.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/bundle.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinal.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalClosed.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/cardinalOpen.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRom.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomClosed.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/catmullRomOpen.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/linearClosed.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/monotone.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/natural.js", + "../../../../node_modules/.pnpm/d3-shape@3.2.0/node_modules/d3-shape/src/curve/step.js", + "../../../../node_modules/.pnpm/d3-zoom@3.0.0/node_modules/d3-zoom/src/transform.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O4NI6UNU.mjs", + "../../../../node_modules/.pnpm/marked@15.0.11/node_modules/marked/lib/marked.esm.js", + "../../../../node_modules/.pnpm/ts-dedent@2.2.0/node_modules/ts-dedent/esm/index.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-C3MQ5ANM.mjs", + "../../../../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bundled/rough.esm.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-HRU6DDCH.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-IIMUDSI4.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-TYCBKAJE.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5NNNAHNI.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-7B677QYD.mjs", + "../../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Enum.js", + "../../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Utility.js", + "../../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Tokenizer.js", + "../../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Parser.js", + "../../../../node_modules/.pnpm/stylis@4.3.6/node_modules/stylis/src/Serializer.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_DataView.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Promise.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isEmpty.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/mermaid.core.mjs", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_trimmedEndIndex.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTrim.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toNumber.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toFinite.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toInteger.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/noop.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFindIndex.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNaN.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_strictIndexOf.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIndexOf.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayIncludes.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/assign.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isFlattenable.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFlatten.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/flatten.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_flatRest.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSlice.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayReduce.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssign.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copySymbols.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbolsIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copySymbolsIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeysIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneDataView.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneRegExp.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsMap.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isMap.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseClone.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/clone.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/compact.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheAdd.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setCacheHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_SetCache.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arraySome.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cacheHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalArrays.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapToArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToArray.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalByTag.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_equalObjects.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqualDeep.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsEqual.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsMatch.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isStrictComparable.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMatchData.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_matchesStrictComparable.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMatches.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseHasIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasPath.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/hasIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMatchesProperty.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseProperty.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePropertyDeep.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/property.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIteratee.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayAggregator.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseForOwn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseEach.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseEach.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAggregator.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAggregator.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/defaults.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseDifference.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/difference.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/last.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/drop.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/dropRight.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castFunction.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/forEach.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEvery.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseEvery.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/every.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFilter.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/filter.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createFind.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/findIndex.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/find.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/head.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMap.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/map.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/flatMap.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/forIn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/forOwn.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/groupBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGt.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseHas.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/has.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseValues.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/values.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/includes.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/indexOf.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsRegExp.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isRegExp.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isUndefined.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseLt.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/mapValues.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseExtremum.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/max.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/min.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/minBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/negate.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePickBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/pickBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSortBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_compareAscending.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_compareMultiple.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseOrderBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePick.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/pick.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRange.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createRange.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/range.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseReduce.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/reduce.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/reject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSome.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/some.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/sortBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createSet.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUniq.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/union.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/uniq.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/uniqBy.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/uniqueId.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseZipObject.js", + "../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/zipObject.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/graph.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/data/list.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/greedy-fas.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/acyclic.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/util.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/add-border-segments.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/coordinate-system.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/normalize.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/rank/util.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/rank/feasible-tree.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/alg/topsort.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/alg/dfs.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/alg/postorder.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/alg/preorder.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/rank/network-simplex.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/rank/index.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/nesting-graph.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/add-subgraph-constraints.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/build-layer-graph.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/cross-count.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/init-order.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/barycenter.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/resolve-conflicts.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/sort.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/sort-subgraph.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/order/index.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/parent-dummy-chains.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/position/bk.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/position/index.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/dagre/layout.js", + "../../../../node_modules/.pnpm/dagre-d3-es@7.0.11/node_modules/dagre-d3-es/src/graphlib/json.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/dagre-OKDRZEBW.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-D6G4REZN.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-VJAJSXHY.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-RZ5BOZE2.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-4HSFHLVR.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-Q7BY3M3F.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BMEZGHF.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-XZIHB7SX.mjs", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/syntax-tree.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/stream.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/cst-utils.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/errors.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/languages/generated/ast.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/ast-utils.js", + "../../../../node_modules/.pnpm/@chevrotain+regexp-to-ast@11.0.3/node_modules/@chevrotain/regexp-to-ast/lib/src/utils.js", + "../../../../node_modules/.pnpm/@chevrotain+regexp-to-ast@11.0.3/node_modules/@chevrotain/regexp-to-ast/lib/src/character-classes.js", + "../../../../node_modules/.pnpm/@chevrotain+regexp-to-ast@11.0.3/node_modules/@chevrotain/regexp-to-ast/lib/src/regexp-parser.js", + "../../../../node_modules/.pnpm/@chevrotain+regexp-to-ast@11.0.3/node_modules/@chevrotain/regexp-to-ast/lib/src/base-regexp-visitor.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/regexp-utils.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/grammar-utils.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/languages/grammar-config.js", + "../../../../node_modules/.pnpm/@chevrotain+utils@11.0.3/node_modules/@chevrotain/utils/lib/src/print.js", + "../../../../node_modules/.pnpm/@chevrotain+utils@11.0.3/node_modules/@chevrotain/utils/lib/src/timer.js", + "../../../../node_modules/.pnpm/@chevrotain+utils@11.0.3/node_modules/@chevrotain/utils/lib/src/to-fast-properties.js", + "../../../../node_modules/.pnpm/@chevrotain+gast@11.0.3/node_modules/@chevrotain/gast/lib/src/model.js", + "../../../../node_modules/.pnpm/@chevrotain+gast@11.0.3/node_modules/@chevrotain/gast/lib/src/visitor.js", + "../../../../node_modules/.pnpm/@chevrotain+gast@11.0.3/node_modules/@chevrotain/gast/lib/src/helpers.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/rest.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/first.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/constants.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/follow.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/reg_exp_parser.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/reg_exp.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/lexer.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/tokens.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/lexer_errors_public.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/lexer_public.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/scan/tokens_public.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/errors_public.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/resolver.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/interpreter.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/lookahead.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/checks.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/gast/gast_resolver_public.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/exceptions_public.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/recoverable.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/keys.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/grammar/llk_lookahead.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/looksahead.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/cst/cst.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/lang/lang_extensions.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/cst/cst_visitor.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/tree_builder.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/lexer_adapter.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/recognizer_api.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/recognizer_engine.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/error_handler.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/context_assist.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/gast_recorder.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/traits/perf_tracer.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/utils/apply_mixins.js", + "../../../../node_modules/.pnpm/chevrotain@11.0.3/node_modules/chevrotain/lib/src/parse/parser/parser.js", + "../../../../node_modules/.pnpm/chevrotain-allstar@0.3.1_chevrotain@11.0.3/node_modules/chevrotain-allstar/lib/atn.js", + "../../../../node_modules/.pnpm/chevrotain-allstar@0.3.1_chevrotain@11.0.3/node_modules/chevrotain-allstar/lib/dfa.js", + "../../../../node_modules/.pnpm/chevrotain-allstar@0.3.1_chevrotain@11.0.3/node_modules/chevrotain-allstar/lib/all-star-lookahead.js", + "../../../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/cst-node-builder.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/langium-parser.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/parser-builder-base.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/completion-parser-builder.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/langium-parser-builder.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/token-builder.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/value-converter.js", + "../../../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js", + "../../../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js", + "../../../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js", + "../../../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/promise-utils.js", + "../../../../node_modules/.pnpm/vscode-languageserver-textdocument@1.0.12/node_modules/vscode-languageserver-textdocument/lib/esm/main.js", + "../../../../node_modules/.pnpm/vscode-uri@3.0.8/node_modules/vscode-uri/lib/esm/index.mjs", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/uri-utils.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/documents.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/references/linker.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/references/name-provider.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/references/references.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/collections.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/references/scope-computation.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/references/scope.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/caching.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/references/scope-provider.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/serializer/json-serializer.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/service-registry.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/validation/validation-registry.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/validation/document-validator.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/ast-descriptions.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/ast-node-locator.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/configuration.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/disposable.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/document-builder.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/index-manager.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/workspace-manager.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/lexer.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/documentation/jsdoc.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/documentation/documentation-provider.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/documentation/comment-provider.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/parser/async-parser.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/workspace-lock.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/serializer/hydrator.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/default-module.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/dependency-injection.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/workspace/file-system-provider.js", + "../../../../node_modules/.pnpm/langium@3.3.1/node_modules/langium/lib/utils/grammar-loader.js", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-7PKI6E2E.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-2NYFTIL2.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-EXZZNE6F.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-V4Q32G6S.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-ROXG7S4E.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-C4OEIS7N.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/chunks/mermaid-parser.core/chunk-2O5ZK7RR.mjs", + "../../../../node_modules/.pnpm/@mermaid-js+parser@0.4.0/node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-7IBYFJ6S.mjs", + "../../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/isoWeek.js", + "../../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/customParseFormat.js", + "../../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/advancedFormat.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-APWFNJXF.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-PH2N3AL5.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-IB7DONF6.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-7GDLP6J5.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-VJFVF3MP.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-KVF5MWMF.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-X6HHIX6F.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-A2AXSNBT.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-GIVACNV2.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-COTLJTTW.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/chunk-AEK57VVT.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-DGXRK772.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-YXO3MK2T.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-U35MCT3I.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-BDJGKUSR.mjs", + "../../../../node_modules/.pnpm/cytoscape@3.32.0/node_modules/cytoscape/dist/cytoscape.esm.mjs", + "../../../../node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js", + "../../../../node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js", + "../../../../node_modules/.pnpm/cytoscape-cose-bilkent@4.1.0_cytoscape@3.32.0/node_modules/cytoscape-cose-bilkent/cytoscape-cose-bilkent.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/mindmap-definition-ALO5MXBD.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-NDS4AKOZ.mjs", + "../../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/max.js", + "../../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/min.js", + "../../../../node_modules/.pnpm/d3-array@2.12.1/node_modules/d3-array/src/sum.js", + "../../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/align.js", + "../../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/constant.js", + "../../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankey.js", + "../../../../node_modules/.pnpm/d3-path@1.0.9/node_modules/d3-path/src/path.js", + "../../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/constant.js", + "../../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/point.js", + "../../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/array.js", + "../../../../node_modules/.pnpm/d3-shape@1.3.7/node_modules/d3-shape/src/link/index.js", + "../../../../node_modules/.pnpm/d3-sankey@0.12.3/node_modules/d3-sankey/src/sankeyLinkHorizontal.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-QLVOVGJD.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-VNBRO52H.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-SSKATNLV.mjs", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-JOT3LUYC.mjs", + "../../../../node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js", + "../../../../node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js", + "../../../../node_modules/.pnpm/cytoscape-fcose@2.2.0_cytoscape@3.32.0/node_modules/cytoscape-fcose/cytoscape-fcose.js", + "../../../../node_modules/.pnpm/mermaid@11.6.0/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-IEHRJDOE.mjs" + ], + "sourcesContent": [ + "/**\n * Lexing or parsing positional information for error reporting.\n * This object is immutable.\n */\nclass SourceLocation {\n // The + prefix indicates that these fields aren't writeable\n // Lexer holding the input string.\n // Start offset, zero-based inclusive.\n // End offset, zero-based exclusive.\n constructor(lexer, start, end) {\n this.lexer = void 0;\n this.start = void 0;\n this.end = void 0;\n this.lexer = lexer;\n this.start = start;\n this.end = end;\n }\n /**\n * Merges two `SourceLocation`s from location providers, given they are\n * provided in order of appearance.\n * - Returns the first one's location if only the first is provided.\n * - Returns a merged range of the first and the last if both are provided\n * and their lexers match.\n * - Otherwise, returns null.\n */\n\n\n static range(first, second) {\n if (!second) {\n return first && first.loc;\n } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) {\n return null;\n } else {\n return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end);\n }\n }\n\n}\n\n/**\n * Interface required to break circular dependency between Token, Lexer, and\n * ParseError.\n */\n\n/**\n * The resulting token returned from `lex`.\n *\n * It consists of the token text plus some position information.\n * The position information is essentially a range in an input string,\n * but instead of referencing the bare input string, we refer to the lexer.\n * That way it is possible to attach extra metadata to the input string,\n * like for example a file name or similar.\n *\n * The position information is optional, so it is OK to construct synthetic\n * tokens if appropriate. Not providing available position information may\n * lead to degraded error reporting, though.\n */\nclass Token {\n // don't expand the token\n // used in \\noexpand\n constructor(text, // the text of this token\n loc) {\n this.text = void 0;\n this.loc = void 0;\n this.noexpand = void 0;\n this.treatAsRelax = void 0;\n this.text = text;\n this.loc = loc;\n }\n /**\n * Given a pair of tokens (this and endToken), compute a `Token` encompassing\n * the whole input range enclosed by these two.\n */\n\n\n range(endToken, // last token of the range, inclusive\n text // the text of the newly constructed token\n ) {\n return new Token(text, SourceLocation.range(this, endToken));\n }\n\n}\n\n/**\n * This is the ParseError class, which is the main error thrown by KaTeX\n * functions when something has gone wrong. This is used to distinguish internal\n * errors from errors in the expression that the user provided.\n *\n * If possible, a caller should provide a Token or ParseNode with information\n * about where in the source string the problem occurred.\n */\nclass ParseError {\n // Error start position based on passed-in Token or ParseNode.\n // Length of affected text based on passed-in Token or ParseNode.\n // The underlying error message without any context added.\n constructor(message, // The error message\n token // An object providing position information\n ) {\n this.name = void 0;\n this.position = void 0;\n this.length = void 0;\n this.rawMessage = void 0;\n var error = \"KaTeX parse error: \" + message;\n var start;\n var end;\n var loc = token && token.loc;\n\n if (loc && loc.start <= loc.end) {\n // If we have the input and a position, make the error a bit fancier\n // Get the input\n var input = loc.lexer.input; // Prepend some information\n\n start = loc.start;\n end = loc.end;\n\n if (start === input.length) {\n error += \" at end of input: \";\n } else {\n error += \" at position \" + (start + 1) + \": \";\n } // Underline token in question using combining underscores\n\n\n var underlined = input.slice(start, end).replace(/[^]/g, \"$&\\u0332\"); // Extract some context from the input and add it to the error\n\n var left;\n\n if (start > 15) {\n left = \"…\" + input.slice(start - 15, start);\n } else {\n left = input.slice(0, start);\n }\n\n var right;\n\n if (end + 15 < input.length) {\n right = input.slice(end, end + 15) + \"…\";\n } else {\n right = input.slice(end);\n }\n\n error += left + underlined + right;\n } // Some hackery to make ParseError a prototype of Error\n // See http://stackoverflow.com/a/8460753\n // $FlowFixMe\n\n\n var self = new Error(error);\n self.name = \"ParseError\"; // $FlowFixMe\n\n self.__proto__ = ParseError.prototype;\n self.position = start;\n\n if (start != null && end != null) {\n self.length = end - start;\n }\n\n self.rawMessage = message;\n return self;\n }\n\n} // $FlowFixMe More hackery\n\n\nParseError.prototype.__proto__ = Error.prototype;\n\n/**\n * This file contains a list of utility functions which are useful in other\n * files.\n */\n\n/**\n * Return whether an element is contained in a list\n */\nvar contains = function contains(list, elem) {\n return list.indexOf(elem) !== -1;\n};\n/**\n * Provide a default value if a setting is undefined\n * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022.\n */\n\n\nvar deflt = function deflt(setting, defaultIfUndefined) {\n return setting === undefined ? defaultIfUndefined : setting;\n}; // hyphenate and escape adapted from Facebook's React under Apache 2 license\n\n\nvar uppercase = /([A-Z])/g;\n\nvar hyphenate = function hyphenate(str) {\n return str.replace(uppercase, \"-$1\").toLowerCase();\n};\n\nvar ESCAPE_LOOKUP = {\n \"&\": \"&\",\n \">\": \">\",\n \"<\": \"<\",\n \"\\\"\": \""\",\n \"'\": \"'\"\n};\nvar ESCAPE_REGEX = /[&><\"']/g;\n/**\n * Escapes text to prevent scripting attacks.\n */\n\nfunction escape(text) {\n return String(text).replace(ESCAPE_REGEX, match => ESCAPE_LOOKUP[match]);\n}\n/**\n * Sometimes we want to pull out the innermost element of a group. In most\n * cases, this will just be the group itself, but when ordgroups and colors have\n * a single element, we want to pull that out.\n */\n\n\nvar getBaseElem = function getBaseElem(group) {\n if (group.type === \"ordgroup\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"color\") {\n if (group.body.length === 1) {\n return getBaseElem(group.body[0]);\n } else {\n return group;\n }\n } else if (group.type === \"font\") {\n return getBaseElem(group.body);\n } else {\n return group;\n }\n};\n/**\n * TeXbook algorithms often reference \"character boxes\", which are simply groups\n * with a single character in them. To decide if something is a character box,\n * we find its innermost group, and see if it is a single character.\n */\n\n\nvar isCharacterBox = function isCharacterBox(group) {\n var baseElem = getBaseElem(group); // These are all they types of groups which hold single characters\n\n return baseElem.type === \"mathord\" || baseElem.type === \"textord\" || baseElem.type === \"atom\";\n};\n\nvar assert = function assert(value) {\n if (!value) {\n throw new Error('Expected non-null, but got ' + String(value));\n }\n\n return value;\n};\n/**\n * Return the protocol of a URL, or \"_relative\" if the URL does not specify a\n * protocol (and thus is relative), or `null` if URL has invalid protocol\n * (so should be outright rejected).\n */\n\nvar protocolFromUrl = function protocolFromUrl(url) {\n // Check for possible leading protocol.\n // https://url.spec.whatwg.org/#url-parsing strips leading whitespace\n // (U+20) or C0 control (U+00-U+1F) characters.\n // eslint-disable-next-line no-control-regex\n var protocol = /^[\\x00-\\x20]*([^\\\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(url);\n\n if (!protocol) {\n return \"_relative\";\n } // Reject weird colons\n\n\n if (protocol[2] !== \":\") {\n return null;\n } // Reject invalid characters in scheme according to\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.1\n\n\n if (!/^[a-zA-Z][a-zA-Z0-9+\\-.]*$/.test(protocol[1])) {\n return null;\n } // Lowercase the protocol\n\n\n return protocol[1].toLowerCase();\n};\nvar utils = {\n contains,\n deflt,\n escape,\n hyphenate,\n getBaseElem,\n isCharacterBox,\n protocolFromUrl\n};\n\n/* eslint no-console:0 */\n// TODO: automatically generate documentation\n// TODO: check all properties on Settings exist\n// TODO: check the type of a property on Settings matches\nvar SETTINGS_SCHEMA = {\n displayMode: {\n type: \"boolean\",\n description: \"Render math in display mode, which puts the math in \" + \"display style (so \\\\int and \\\\sum are large, for example), and \" + \"centers the math on the page on its own line.\",\n cli: \"-d, --display-mode\"\n },\n output: {\n type: {\n enum: [\"htmlAndMathml\", \"html\", \"mathml\"]\n },\n description: \"Determines the markup language of the output.\",\n cli: \"-F, --format <type>\"\n },\n leqno: {\n type: \"boolean\",\n description: \"Render display math in leqno style (left-justified tags).\"\n },\n fleqn: {\n type: \"boolean\",\n description: \"Render display math flush left.\"\n },\n throwOnError: {\n type: \"boolean\",\n default: true,\n cli: \"-t, --no-throw-on-error\",\n cliDescription: \"Render errors (in the color given by --error-color) ins\" + \"tead of throwing a ParseError exception when encountering an error.\"\n },\n errorColor: {\n type: \"string\",\n default: \"#cc0000\",\n cli: \"-c, --error-color <color>\",\n cliDescription: \"A color string given in the format 'rgb' or 'rrggbb' \" + \"(no #). This option determines the color of errors rendered by the \" + \"-t option.\",\n cliProcessor: color => \"#\" + color\n },\n macros: {\n type: \"object\",\n cli: \"-m, --macro <def>\",\n cliDescription: \"Define custom macro of the form '\\\\foo:expansion' (use \" + \"multiple -m arguments for multiple macros).\",\n cliDefault: [],\n cliProcessor: (def, defs) => {\n defs.push(def);\n return defs;\n }\n },\n minRuleThickness: {\n type: \"number\",\n description: \"Specifies a minimum thickness, in ems, for fraction lines,\" + \" `\\\\sqrt` top lines, `{array}` vertical lines, `\\\\hline`, \" + \"`\\\\hdashline`, `\\\\underline`, `\\\\overline`, and the borders of \" + \"`\\\\fbox`, `\\\\boxed`, and `\\\\fcolorbox`.\",\n processor: t => Math.max(0, t),\n cli: \"--min-rule-thickness <size>\",\n cliProcessor: parseFloat\n },\n colorIsTextColor: {\n type: \"boolean\",\n description: \"Makes \\\\color behave like LaTeX's 2-argument \\\\textcolor, \" + \"instead of LaTeX's one-argument \\\\color mode change.\",\n cli: \"-b, --color-is-text-color\"\n },\n strict: {\n type: [{\n enum: [\"warn\", \"ignore\", \"error\"]\n }, \"boolean\", \"function\"],\n description: \"Turn on strict / LaTeX faithfulness mode, which throws an \" + \"error if the input uses features that are not supported by LaTeX.\",\n cli: \"-S, --strict\",\n cliDefault: false\n },\n trust: {\n type: [\"boolean\", \"function\"],\n description: \"Trust the input, enabling all HTML features such as \\\\url.\",\n cli: \"-T, --trust\"\n },\n maxSize: {\n type: \"number\",\n default: Infinity,\n description: \"If non-zero, all user-specified sizes, e.g. in \" + \"\\\\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, \" + \"elements and spaces can be arbitrarily large\",\n processor: s => Math.max(0, s),\n cli: \"-s, --max-size <n>\",\n cliProcessor: parseInt\n },\n maxExpand: {\n type: \"number\",\n default: 1000,\n description: \"Limit the number of macro expansions to the specified \" + \"number, to prevent e.g. infinite macro loops. If set to Infinity, \" + \"the macro expander will try to fully expand as in LaTeX.\",\n processor: n => Math.max(0, n),\n cli: \"-e, --max-expand <n>\",\n cliProcessor: n => n === \"Infinity\" ? Infinity : parseInt(n)\n },\n globalGroup: {\n type: \"boolean\",\n cli: false\n }\n};\n\nfunction getDefaultValue(schema) {\n if (schema.default) {\n return schema.default;\n }\n\n var type = schema.type;\n var defaultType = Array.isArray(type) ? type[0] : type;\n\n if (typeof defaultType !== 'string') {\n return defaultType.enum[0];\n }\n\n switch (defaultType) {\n case 'boolean':\n return false;\n\n case 'string':\n return '';\n\n case 'number':\n return 0;\n\n case 'object':\n return {};\n }\n}\n/**\n * The main Settings object\n *\n * The current options stored are:\n * - displayMode: Whether the expression should be typeset as inline math\n * (false, the default), meaning that the math starts in\n * \\textstyle and is placed in an inline-block); or as display\n * math (true), meaning that the math starts in \\displaystyle\n * and is placed in a block with vertical margin.\n */\n\n\nclass Settings {\n constructor(options) {\n this.displayMode = void 0;\n this.output = void 0;\n this.leqno = void 0;\n this.fleqn = void 0;\n this.throwOnError = void 0;\n this.errorColor = void 0;\n this.macros = void 0;\n this.minRuleThickness = void 0;\n this.colorIsTextColor = void 0;\n this.strict = void 0;\n this.trust = void 0;\n this.maxSize = void 0;\n this.maxExpand = void 0;\n this.globalGroup = void 0;\n // allow null options\n options = options || {};\n\n for (var prop in SETTINGS_SCHEMA) {\n if (SETTINGS_SCHEMA.hasOwnProperty(prop)) {\n // $FlowFixMe\n var schema = SETTINGS_SCHEMA[prop]; // TODO: validate options\n // $FlowFixMe\n\n this[prop] = options[prop] !== undefined ? schema.processor ? schema.processor(options[prop]) : options[prop] : getDefaultValue(schema);\n }\n }\n }\n /**\n * Report nonstrict (non-LaTeX-compatible) input.\n * Can safely not be called if `this.strict` is false in JavaScript.\n */\n\n\n reportNonstrict(errorCode, errorMsg, token) {\n var strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n strict = strict(errorCode, errorMsg, token);\n }\n\n if (!strict || strict === \"ignore\") {\n return;\n } else if (strict === true || strict === \"error\") {\n throw new ParseError(\"LaTeX-incompatible input and strict mode is set to 'error': \" + (errorMsg + \" [\" + errorCode + \"]\"), token);\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n }\n }\n /**\n * Check whether to apply strict (LaTeX-adhering) behavior for unusual\n * input (like `\\\\`). Unlike `nonstrict`, will not throw an error;\n * instead, \"error\" translates to a return value of `true`, while \"ignore\"\n * translates to a return value of `false`. May still print a warning:\n * \"warn\" prints a warning and returns `false`.\n * This is for the second category of `errorCode`s listed in the README.\n */\n\n\n useStrictBehavior(errorCode, errorMsg, token) {\n var strict = this.strict;\n\n if (typeof strict === \"function\") {\n // Allow return value of strict function to be boolean or string\n // (or null/undefined, meaning no further processing).\n // But catch any exceptions thrown by function, treating them\n // like \"error\".\n try {\n strict = strict(errorCode, errorMsg, token);\n } catch (error) {\n strict = \"error\";\n }\n }\n\n if (!strict || strict === \"ignore\") {\n return false;\n } else if (strict === true || strict === \"error\") {\n return true;\n } else if (strict === \"warn\") {\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to 'warn': \" + (errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n } else {\n // won't happen in type-safe code\n typeof console !== \"undefined\" && console.warn(\"LaTeX-incompatible input and strict mode is set to \" + (\"unrecognized '\" + strict + \"': \" + errorMsg + \" [\" + errorCode + \"]\"));\n return false;\n }\n }\n /**\n * Check whether to test potentially dangerous input, and return\n * `true` (trusted) or `false` (untrusted). The sole argument `context`\n * should be an object with `command` field specifying the relevant LaTeX\n * command (as a string starting with `\\`), and any other arguments, etc.\n * If `context` has a `url` field, a `protocol` field will automatically\n * get added by this function (changing the specified object).\n */\n\n\n isTrusted(context) {\n if (context.url && !context.protocol) {\n var protocol = utils.protocolFromUrl(context.url);\n\n if (protocol == null) {\n return false;\n }\n\n context.protocol = protocol;\n }\n\n var trust = typeof this.trust === \"function\" ? this.trust(context) : this.trust;\n return Boolean(trust);\n }\n\n}\n\n/**\n * This file contains information and classes for the various kinds of styles\n * used in TeX. It provides a generic `Style` class, which holds information\n * about a specific style. It then provides instances of all the different kinds\n * of styles possible, and provides functions to move between them and get\n * information about them.\n */\n\n/**\n * The main style class. Contains a unique id for the style, a size (which is\n * the same for cramped and uncramped version of a style), and a cramped flag.\n */\nclass Style {\n constructor(id, size, cramped) {\n this.id = void 0;\n this.size = void 0;\n this.cramped = void 0;\n this.id = id;\n this.size = size;\n this.cramped = cramped;\n }\n /**\n * Get the style of a superscript given a base in the current style.\n */\n\n\n sup() {\n return styles[sup[this.id]];\n }\n /**\n * Get the style of a subscript given a base in the current style.\n */\n\n\n sub() {\n return styles[sub[this.id]];\n }\n /**\n * Get the style of a fraction numerator given the fraction in the current\n * style.\n */\n\n\n fracNum() {\n return styles[fracNum[this.id]];\n }\n /**\n * Get the style of a fraction denominator given the fraction in the current\n * style.\n */\n\n\n fracDen() {\n return styles[fracDen[this.id]];\n }\n /**\n * Get the cramped version of a style (in particular, cramping a cramped style\n * doesn't change the style).\n */\n\n\n cramp() {\n return styles[cramp[this.id]];\n }\n /**\n * Get a text or display version of this style.\n */\n\n\n text() {\n return styles[text$1[this.id]];\n }\n /**\n * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle)\n */\n\n\n isTight() {\n return this.size >= 2;\n }\n\n} // Export an interface for type checking, but don't expose the implementation.\n// This way, no more styles can be generated.\n\n\n// IDs of the different styles\nvar D = 0;\nvar Dc = 1;\nvar T = 2;\nvar Tc = 3;\nvar S = 4;\nvar Sc = 5;\nvar SS = 6;\nvar SSc = 7; // Instances of the different styles\n\nvar styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another\n\nvar sup = [S, Sc, S, Sc, SS, SSc, SS, SSc];\nvar sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc];\nvar fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc];\nvar cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc];\nvar text$1 = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles.\n\nvar Style$1 = {\n DISPLAY: styles[D],\n TEXT: styles[T],\n SCRIPT: styles[S],\n SCRIPTSCRIPT: styles[SS]\n};\n\n/*\n * This file defines the Unicode scripts and script families that we\n * support. To add new scripts or families, just add a new entry to the\n * scriptData array below. Adding scripts to the scriptData array allows\n * characters from that script to appear in \\text{} environments.\n */\n\n/**\n * Each script or script family has a name and an array of blocks.\n * Each block is an array of two numbers which specify the start and\n * end points (inclusive) of a block of Unicode codepoints.\n */\n\n/**\n * Unicode block data for the families of scripts we support in \\text{}.\n * Scripts only need to appear here if they do not have font metrics.\n */\nvar scriptData = [{\n // Latin characters beyond the Latin-1 characters we have metrics for.\n // Needed for Czech, Hungarian and Turkish text, for example.\n name: 'latin',\n blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B\n [0x0300, 0x036f] // Combining Diacritical marks\n ]\n}, {\n // The Cyrillic script used by Russian and related languages.\n // A Cyrillic subset used to be supported as explicitly defined\n // symbols in symbols.js\n name: 'cyrillic',\n blocks: [[0x0400, 0x04ff]]\n}, {\n // Armenian\n name: 'armenian',\n blocks: [[0x0530, 0x058F]]\n}, {\n // The Brahmic scripts of South and Southeast Asia\n // Devanagari (0900–097F)\n // Bengali (0980–09FF)\n // Gurmukhi (0A00–0A7F)\n // Gujarati (0A80–0AFF)\n // Oriya (0B00–0B7F)\n // Tamil (0B80–0BFF)\n // Telugu (0C00–0C7F)\n // Kannada (0C80–0CFF)\n // Malayalam (0D00–0D7F)\n // Sinhala (0D80–0DFF)\n // Thai (0E00–0E7F)\n // Lao (0E80–0EFF)\n // Tibetan (0F00–0FFF)\n // Myanmar (1000–109F)\n name: 'brahmic',\n blocks: [[0x0900, 0x109F]]\n}, {\n name: 'georgian',\n blocks: [[0x10A0, 0x10ff]]\n}, {\n // Chinese and Japanese.\n // The \"k\" in cjk is for Korean, but we've separated Korean out\n name: \"cjk\",\n blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana\n [0x4E00, 0x9FAF], // CJK ideograms\n [0xFF00, 0xFF60] // Fullwidth punctuation\n // TODO: add halfwidth Katakana and Romanji glyphs\n ]\n}, {\n // Korean\n name: 'hangul',\n blocks: [[0xAC00, 0xD7AF]]\n}];\n/**\n * Given a codepoint, return the name of the script or script family\n * it is from, or null if it is not part of a known block\n */\n\nfunction scriptFromCodepoint(codepoint) {\n for (var i = 0; i < scriptData.length; i++) {\n var script = scriptData[i];\n\n for (var _i = 0; _i < script.blocks.length; _i++) {\n var block = script.blocks[_i];\n\n if (codepoint >= block[0] && codepoint <= block[1]) {\n return script.name;\n }\n }\n }\n\n return null;\n}\n/**\n * A flattened version of all the supported blocks in a single array.\n * This is an optimization to make supportedCodepoint() fast.\n */\n\nvar allBlocks = [];\nscriptData.forEach(s => s.blocks.forEach(b => allBlocks.push(...b)));\n/**\n * Given a codepoint, return true if it falls within one of the\n * scripts or script families defined above and false otherwise.\n *\n * Micro benchmarks shows that this is faster than\n * /[\\u3000-\\u30FF\\u4E00-\\u9FAF\\uFF00-\\uFF60\\uAC00-\\uD7AF\\u0900-\\u109F]/.test()\n * in Firefox, Chrome and Node.\n */\n\nfunction supportedCodepoint(codepoint) {\n for (var i = 0; i < allBlocks.length; i += 2) {\n if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * This file provides support to domTree.js and delimiter.js.\n * It's a storehouse of path geometry for SVG images.\n */\n// In all paths below, the viewBox-to-em scale is 1000:1.\nvar hLinePad = 80; // padding above a sqrt vinculum. Prevents image cropping.\n// The vinculum of a \\sqrt can be made thicker by a KaTeX rendering option.\n// Think of variable extraVinculum as two detours in the SVG path.\n// The detour begins at the lower left of the area labeled extraVinculum below.\n// The detour proceeds one extraVinculum distance up and slightly to the right,\n// displacing the radiused corner between surd and vinculum. The radius is\n// traversed as usual, then the detour resumes. It goes right, to the end of\n// the very long vinculum, then down one extraVinculum distance,\n// after which it resumes regular path geometry for the radical.\n\n/* vinculum\n /\n /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraVinculum\n / █████████████████████←0.04em (40 unit) std vinculum thickness\n / /\n / /\n / /\\\n / / surd\n*/\n\nvar sqrtMain = function sqrtMain(extraVinculum, hLinePad) {\n // sqrtMain path geometry is from glyph U221A in the font KaTeX Main\n return \"M95,\" + (622 + extraVinculum + hLinePad) + \"\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl\" + extraVinculum / 2.075 + \" -\" + extraVinculum + \"\\nc5.3,-9.3,12,-14,20,-14\\nH400000v\" + (40 + extraVinculum) + \"H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM\" + (834 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize1 = function sqrtSize1(extraVinculum, hLinePad) {\n // size1 is from glyph U221A in the font KaTeX_Size1-Regular\n return \"M263,\" + (601 + extraVinculum + hLinePad) + \"c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl\" + extraVinculum / 2.084 + \" -\" + extraVinculum + \"\\nc4.7,-7.3,11,-11,19,-11\\nH40000v\" + (40 + extraVinculum) + \"H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize2 = function sqrtSize2(extraVinculum, hLinePad) {\n // size2 is from glyph U221A in the font KaTeX_Size2-Regular\n return \"M983 \" + (10 + extraVinculum + hLinePad) + \"\\nl\" + extraVinculum / 3.13 + \" -\" + extraVinculum + \"\\nc4,-6.7,10,-10,18,-10 H400000v\" + (40 + extraVinculum) + \"\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize3 = function sqrtSize3(extraVinculum, hLinePad) {\n // size3 is from glyph U221A in the font KaTeX_Size3-Regular\n return \"M424,\" + (2398 + extraVinculum + hLinePad) + \"\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl\" + extraVinculum / 4.223 + \" -\" + extraVinculum + \"c4,-6.7,10,-10,18,-10 H400000\\nv\" + (40 + extraVinculum) + \"H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M\" + (1001 + extraVinculum) + \" \" + hLinePad + \"\\nh400000v\" + (40 + extraVinculum) + \"h-400000z\";\n};\n\nvar sqrtSize4 = function sqrtSize4(extraVinculum, hLinePad) {\n // size4 is from glyph U221A in the font KaTeX_Size4-Regular\n return \"M473,\" + (2713 + extraVinculum + hLinePad) + \"\\nc339.3,-1799.3,509.3,-2700,510,-2702 l\" + extraVinculum / 5.298 + \" -\" + extraVinculum + \"\\nc3.3,-7.3,9.3,-11,18,-11 H400000v\" + (40 + extraVinculum) + \"H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM\" + (1001 + extraVinculum) + \" \" + hLinePad + \"h400000v\" + (40 + extraVinculum) + \"H1017.7z\";\n};\n\nvar phasePath = function phasePath(y) {\n var x = y / 2; // x coordinate at top of angle\n\n return \"M400000 \" + y + \" H0 L\" + x + \" 0 l65 45 L145 \" + (y - 80) + \" H400000z\";\n};\n\nvar sqrtTall = function sqrtTall(extraVinculum, hLinePad, viewBoxHeight) {\n // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular\n // One path edge has a variable length. It runs vertically from the vinculum\n // to a point near (14 units) the bottom of the surd. The vinculum\n // is normally 40 units thick. So the length of the line in question is:\n var vertSegment = viewBoxHeight - 54 - hLinePad - extraVinculum;\n return \"M702 \" + (extraVinculum + hLinePad) + \"H400000\" + (40 + extraVinculum) + \"\\nH742v\" + vertSegment + \"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 \" + hLinePad + \"H400000v\" + (40 + extraVinculum) + \"H742z\";\n};\n\nvar sqrtPath = function sqrtPath(size, extraVinculum, viewBoxHeight) {\n extraVinculum = 1000 * extraVinculum; // Convert from document ems to viewBox.\n\n var path = \"\";\n\n switch (size) {\n case \"sqrtMain\":\n path = sqrtMain(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize1\":\n path = sqrtSize1(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize2\":\n path = sqrtSize2(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize3\":\n path = sqrtSize3(extraVinculum, hLinePad);\n break;\n\n case \"sqrtSize4\":\n path = sqrtSize4(extraVinculum, hLinePad);\n break;\n\n case \"sqrtTall\":\n path = sqrtTall(extraVinculum, hLinePad, viewBoxHeight);\n }\n\n return path;\n};\nvar innerPath = function innerPath(name, height) {\n // The inner part of stretchy tall delimiters\n switch (name) {\n case \"\\u239c\":\n return \"M291 0 H417 V\" + height + \" H291z M291 0 H417 V\" + height + \" H291z\";\n\n case \"\\u2223\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\";\n\n case \"\\u2225\":\n return \"M145 0 H188 V\" + height + \" H145z M145 0 H188 V\" + height + \" H145z\" + (\"M367 0 H410 V\" + height + \" H367z M367 0 H410 V\" + height + \" H367z\");\n\n case \"\\u239f\":\n return \"M457 0 H583 V\" + height + \" H457z M457 0 H583 V\" + height + \" H457z\";\n\n case \"\\u23a2\":\n return \"M319 0 H403 V\" + height + \" H319z M319 0 H403 V\" + height + \" H319z\";\n\n case \"\\u23a5\":\n return \"M263 0 H347 V\" + height + \" H263z M263 0 H347 V\" + height + \" H263z\";\n\n case \"\\u23aa\":\n return \"M384 0 H504 V\" + height + \" H384z M384 0 H504 V\" + height + \" H384z\";\n\n case \"\\u23d0\":\n return \"M312 0 H355 V\" + height + \" H312z M312 0 H355 V\" + height + \" H312z\";\n\n case \"\\u2016\":\n return \"M257 0 H300 V\" + height + \" H257z M257 0 H300 V\" + height + \" H257z\" + (\"M478 0 H521 V\" + height + \" H478z M478 0 H521 V\" + height + \" H478z\");\n\n default:\n return \"\";\n }\n};\nvar path = {\n // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main\n doubleleftarrow: \"M262 157\\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\\nm8 0v40h399730v-40zm0 194v40h399730v-40z\",\n // doublerightarrow is from glyph U+21D2 in font KaTeX Main\n doublerightarrow: \"M399738 392l\\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z\",\n // leftarrow is from glyph U+2190 in font KaTeX Main\n leftarrow: \"M400000 241H110l3-3c68.7-52.7 113.7-120\\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\\n l-3-3h399890zM100 241v40h399900v-40z\",\n // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular\n leftbrace: \"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z\",\n leftbraceunder: \"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z\",\n // overgroup is from the MnSymbol package (public domain)\n leftgroup: \"M400000 80\\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\\n 435 0h399565z\",\n leftgroupunder: \"M400000 262\\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\\n 435 219h399565z\",\n // Harpoons are from glyph U+21BD in font KaTeX Main\n leftharpoon: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z\",\n leftharpoonplus: \"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\\nm0 0v40h400000v-40z\",\n leftharpoondown: \"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z\",\n leftharpoondownplus: \"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z\",\n // hook is from glyph U+21A9 in font KaTeX Main\n lefthook: \"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\\n 71.5 23h399859zM103 281v-40h399897v40z\",\n leftlinesegment: \"M40 281 V428 H0 V94 H40 V241 H400000 v40z\\nM40 281 V428 H0 V94 H40 V241 H400000 v40z\",\n leftmapsto: \"M40 281 V448H0V74H40V241H400000v40z\\nM40 281 V448H0V74H40V241H400000v40z\",\n // tofrom is from glyph U+21C4 in font KaTeX AMS Regular\n leftToFrom: \"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z\",\n longequal: \"M0 50 h400000 v40H0z m0 194h40000v40H0z\\nM0 50 h400000 v40H0z m0 194h40000v40H0z\",\n midbrace: \"M200428 334\\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z\",\n midbraceunder: \"M199572 214\\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z\",\n oiintSize1: \"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z\",\n oiintSize2: \"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\\nc0 110 84 276 504 276s502.4-166 502.4-276z\",\n oiiintSize1: \"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z\",\n oiiintSize2: \"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z\",\n rightarrow: \"M0 241v40h399891c-47.3 35.3-84 78-110 128\\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n 151.7 139 205zm0 0v40h399900v-40z\",\n rightbrace: \"M400000 542l\\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z\",\n rightbraceunder: \"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z\",\n rightgroup: \"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\\n 3-1 3-3v-38c-76-158-257-219-435-219H0z\",\n rightgroupunder: \"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z\",\n rightharpoon: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\\n 69.2 92 94.5zm0 0v40h399900v-40z\",\n rightharpoonplus: \"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z\",\n rightharpoondown: \"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z\",\n rightharpoondownplus: \"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\\nm0-194v40h400000v-40zm0 0v40h400000v-40z\",\n righthook: \"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z\",\n rightlinesegment: \"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z\",\n rightToFrom: \"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z\",\n // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular\n twoheadleftarrow: \"M0 167c68 40\\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z\",\n twoheadrightarrow: \"M400000 167\\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z\",\n // tilde1 is a modified version of a glyph from the MnSymbol package\n tilde1: \"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\\n-68.267.847-113-73.952-191-73.952z\",\n // ditto tilde2, tilde3, & tilde4\n tilde2: \"M344 55.266c-142 0-300.638 81.316-311.5 86.418\\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z\",\n tilde3: \"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\\n -338 0-409-156.573-744-156.573z\",\n tilde4: \"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\\n -175.236-744-175.236z\",\n // vec is from glyph U+20D7 in font KaTeX Main\n vec: \"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\\nc-16-25.333-24-45-24-59z\",\n // widehat1 is a modified version of a glyph from the MnSymbol package\n widehat1: \"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z\",\n // ditto widehat2, widehat3, & widehat4\n widehat2: \"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat3: \"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n widehat4: \"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z\",\n // widecheck paths are all inverted versions of widehat\n widecheck1: \"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z\",\n widecheck2: \"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck3: \"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n widecheck4: \"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z\",\n // The next ten paths support reaction arrows from the mhchem package.\n // Arrows for \\ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX\n // baraboveleftarrow is mostly from glyph U+2190 in font KaTeX Main\n baraboveleftarrow: \"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z\",\n // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main\n rightarrowabovebar: \"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z\",\n // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end.\n // Ref from mhchem.sty: \\rlap{\\raisebox{-.22ex}{$\\kern0.5em\n baraboveshortleftharpoon: \"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z\",\n rightharpoonaboveshortbar: \"M0,241 l0,40c399126,0,399993,0,399993,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z\",\n shortbaraboveleftharpoon: \"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z\",\n shortrightharpoonabovebar: \"M53,241l0,40c398570,0,399437,0,399437,0\\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z\"\n};\nvar tallDelim = function tallDelim(label, midHeight) {\n switch (label) {\n case \"lbrack\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v1759 h347 v-84\\nH403z M403 1759 V0 H319 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"rbrack\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v1759 H0 v84 H347z\\nM347 1759 V0 H263 V1759 v\" + midHeight + \" v1759 h84z\";\n\n case \"vert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"doublevert\":\n return \"M145 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v\" + midHeight + \" v585 h43z\\nM367 15 v585 v\" + midHeight + \" v585 c2.667,10,9.667,15,21,15\\nc10,0,16.667,-5,20,-15 v-585 v\" + -midHeight + \" v-585 c-2.667,-10,-9.667,-15,-21,-15\\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v\" + midHeight + \" v585 h43z\";\n\n case \"lfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1715 h263 v84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"rfloor\":\n return \"M319 602 V0 H403 V602 v\" + midHeight + \" v1799 H0 v-84 H319z\\nMM319 602 V0 H403 V602 v\" + midHeight + \" v1715 H319z\";\n\n case \"lceil\":\n return \"M403 1759 V84 H666 V0 H319 V1759 v\" + midHeight + \" v602 h84z\\nM403 1759 V0 H319 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"rceil\":\n return \"M347 1759 V0 H0 V84 H263 V1759 v\" + midHeight + \" v602 h84z\\nM347 1759 V0 h-84 V1759 v\" + midHeight + \" v602 h84z\";\n\n case \"lparen\":\n return \"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\\n-36,557 l0,\" + (midHeight + 84) + \"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\\nl0,-\" + (midHeight + 92) + \"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z\";\n\n case \"rparen\":\n return \"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,\" + (midHeight + 9) + \"\\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\\nl0,-\" + (midHeight + 144) + \"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z\";\n\n default:\n // We should not ever get here.\n throw new Error(\"Unknown stretchy delimiter.\");\n }\n};\n\n/**\n * This node represents a document fragment, which contains elements, but when\n * placed into the DOM doesn't have any representation itself. It only contains\n * children and doesn't have any DOM node properties.\n */\nclass DocumentFragment {\n // HtmlDomNode\n // Never used; needed for satisfying interface.\n constructor(children) {\n this.children = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.children = children;\n this.classes = [];\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = {};\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /** Convert the fragment into a node. */\n\n\n toNode() {\n var frag = document.createDocumentFragment();\n\n for (var i = 0; i < this.children.length; i++) {\n frag.appendChild(this.children[i].toNode());\n }\n\n return frag;\n }\n /** Convert the fragment into HTML markup. */\n\n\n toMarkup() {\n var markup = \"\"; // Simply concatenate the markup for the children together.\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText. Applies to\n * MathDomNode's only.\n */\n\n\n toText() {\n // To avoid this, we would subclass documentFragment separately for\n // MathML, but polyfills for subclassing is expensive per PR 1469.\n // $FlowFixMe: Only works for ChildType = MathDomNode.\n var toText = child => child.toText();\n\n return this.children.map(toText).join(\"\");\n }\n\n}\n\n// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY.\nvar fontMetricsData = {\n \"AMS-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68889, 0, 0, 0.72222],\n \"66\": [0, 0.68889, 0, 0, 0.66667],\n \"67\": [0, 0.68889, 0, 0, 0.72222],\n \"68\": [0, 0.68889, 0, 0, 0.72222],\n \"69\": [0, 0.68889, 0, 0, 0.66667],\n \"70\": [0, 0.68889, 0, 0, 0.61111],\n \"71\": [0, 0.68889, 0, 0, 0.77778],\n \"72\": [0, 0.68889, 0, 0, 0.77778],\n \"73\": [0, 0.68889, 0, 0, 0.38889],\n \"74\": [0.16667, 0.68889, 0, 0, 0.5],\n \"75\": [0, 0.68889, 0, 0, 0.77778],\n \"76\": [0, 0.68889, 0, 0, 0.66667],\n \"77\": [0, 0.68889, 0, 0, 0.94445],\n \"78\": [0, 0.68889, 0, 0, 0.72222],\n \"79\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"80\": [0, 0.68889, 0, 0, 0.61111],\n \"81\": [0.16667, 0.68889, 0, 0, 0.77778],\n \"82\": [0, 0.68889, 0, 0, 0.72222],\n \"83\": [0, 0.68889, 0, 0, 0.55556],\n \"84\": [0, 0.68889, 0, 0, 0.66667],\n \"85\": [0, 0.68889, 0, 0, 0.72222],\n \"86\": [0, 0.68889, 0, 0, 0.72222],\n \"87\": [0, 0.68889, 0, 0, 1.0],\n \"88\": [0, 0.68889, 0, 0, 0.72222],\n \"89\": [0, 0.68889, 0, 0, 0.72222],\n \"90\": [0, 0.68889, 0, 0, 0.66667],\n \"107\": [0, 0.68889, 0, 0, 0.55556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"165\": [0, 0.675, 0.025, 0, 0.75],\n \"174\": [0.15559, 0.69224, 0, 0, 0.94666],\n \"240\": [0, 0.68889, 0, 0, 0.55556],\n \"295\": [0, 0.68889, 0, 0, 0.54028],\n \"710\": [0, 0.825, 0, 0, 2.33334],\n \"732\": [0, 0.9, 0, 0, 2.33334],\n \"770\": [0, 0.825, 0, 0, 2.33334],\n \"771\": [0, 0.9, 0, 0, 2.33334],\n \"989\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"1008\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"8245\": [0, 0.54986, 0, 0, 0.275],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8487\": [0, 0.68889, 0, 0, 0.72222],\n \"8498\": [0, 0.68889, 0, 0, 0.55556],\n \"8502\": [0, 0.68889, 0, 0, 0.66667],\n \"8503\": [0, 0.68889, 0, 0, 0.44445],\n \"8504\": [0, 0.68889, 0, 0, 0.66667],\n \"8513\": [0, 0.68889, 0, 0, 0.63889],\n \"8592\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8594\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8602\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8603\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8606\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8608\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8610\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8611\": [0.01354, 0.52239, 0, 0, 1.11111],\n \"8619\": [0, 0.54986, 0, 0, 1.0],\n \"8620\": [0, 0.54986, 0, 0, 1.0],\n \"8621\": [-0.13313, 0.37788, 0, 0, 1.38889],\n \"8622\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8624\": [0, 0.69224, 0, 0, 0.5],\n \"8625\": [0, 0.69224, 0, 0, 0.5],\n \"8630\": [0, 0.43056, 0, 0, 1.0],\n \"8631\": [0, 0.43056, 0, 0, 1.0],\n \"8634\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8635\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8638\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8639\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8642\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8643\": [0.19444, 0.69224, 0, 0, 0.41667],\n \"8644\": [0.1808, 0.675, 0, 0, 1.0],\n \"8646\": [0.1808, 0.675, 0, 0, 1.0],\n \"8647\": [0.1808, 0.675, 0, 0, 1.0],\n \"8648\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8649\": [0.1808, 0.675, 0, 0, 1.0],\n \"8650\": [0.19444, 0.69224, 0, 0, 0.83334],\n \"8651\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8652\": [0.01354, 0.52239, 0, 0, 1.0],\n \"8653\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8654\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8655\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8666\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8667\": [0.13667, 0.63667, 0, 0, 1.0],\n \"8669\": [-0.13313, 0.37788, 0, 0, 1.0],\n \"8672\": [-0.064, 0.437, 0, 0, 1.334],\n \"8674\": [-0.064, 0.437, 0, 0, 1.334],\n \"8705\": [0, 0.825, 0, 0, 0.5],\n \"8708\": [0, 0.68889, 0, 0, 0.55556],\n \"8709\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8717\": [0, 0.43056, 0, 0, 0.42917],\n \"8722\": [-0.03598, 0.46402, 0, 0, 0.5],\n \"8724\": [0.08198, 0.69224, 0, 0, 0.77778],\n \"8726\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8733\": [0, 0.69224, 0, 0, 0.77778],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8737\": [0, 0.69224, 0, 0, 0.72222],\n \"8738\": [0.03517, 0.52239, 0, 0, 0.72222],\n \"8739\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"8740\": [0.25142, 0.74111, 0, 0, 0.27778],\n \"8741\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"8742\": [0.25142, 0.74111, 0, 0, 0.5],\n \"8756\": [0, 0.69224, 0, 0, 0.66667],\n \"8757\": [0, 0.69224, 0, 0, 0.66667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8765\": [-0.13313, 0.37788, 0, 0, 0.77778],\n \"8769\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8770\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8774\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8778\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8782\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8783\": [0.06062, 0.54986, 0, 0, 0.77778],\n \"8785\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8786\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8787\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8790\": [0, 0.69224, 0, 0, 0.77778],\n \"8791\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8796\": [0.08198, 0.91667, 0, 0, 0.77778],\n \"8806\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8807\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"8808\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8809\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"8812\": [0.25583, 0.75583, 0, 0, 0.5],\n \"8814\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8815\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8816\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8817\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8818\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8819\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8822\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8823\": [0.1808, 0.675, 0, 0, 0.77778],\n \"8828\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8829\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8830\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8831\": [0.22958, 0.72958, 0, 0, 0.77778],\n \"8832\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8833\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8840\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8841\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8842\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8843\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8847\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8848\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8858\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8859\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8861\": [0.08198, 0.58198, 0, 0, 0.77778],\n \"8862\": [0, 0.675, 0, 0, 0.77778],\n \"8863\": [0, 0.675, 0, 0, 0.77778],\n \"8864\": [0, 0.675, 0, 0, 0.77778],\n \"8865\": [0, 0.675, 0, 0, 0.77778],\n \"8872\": [0, 0.69224, 0, 0, 0.61111],\n \"8873\": [0, 0.69224, 0, 0, 0.72222],\n \"8874\": [0, 0.69224, 0, 0, 0.88889],\n \"8876\": [0, 0.68889, 0, 0, 0.61111],\n \"8877\": [0, 0.68889, 0, 0, 0.61111],\n \"8878\": [0, 0.68889, 0, 0, 0.72222],\n \"8879\": [0, 0.68889, 0, 0, 0.72222],\n \"8882\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8883\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8884\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8885\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8888\": [0, 0.54986, 0, 0, 1.11111],\n \"8890\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"8891\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8892\": [0.19444, 0.69224, 0, 0, 0.61111],\n \"8901\": [0, 0.54986, 0, 0, 0.27778],\n \"8903\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8905\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8906\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"8907\": [0, 0.69224, 0, 0, 0.77778],\n \"8908\": [0, 0.69224, 0, 0, 0.77778],\n \"8909\": [-0.03598, 0.46402, 0, 0, 0.77778],\n \"8910\": [0, 0.54986, 0, 0, 0.76042],\n \"8911\": [0, 0.54986, 0, 0, 0.76042],\n \"8912\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8913\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"8914\": [0, 0.54986, 0, 0, 0.66667],\n \"8915\": [0, 0.54986, 0, 0, 0.66667],\n \"8916\": [0, 0.69224, 0, 0, 0.66667],\n \"8918\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8919\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8920\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8921\": [0.03517, 0.54986, 0, 0, 1.33334],\n \"8922\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8923\": [0.38569, 0.88569, 0, 0, 0.77778],\n \"8926\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8927\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"8928\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8929\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8934\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8935\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8936\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8937\": [0.23222, 0.74111, 0, 0, 0.77778],\n \"8938\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8939\": [0.20576, 0.70576, 0, 0, 0.77778],\n \"8940\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8941\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"8994\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"8995\": [0.19444, 0.69224, 0, 0, 0.77778],\n \"9416\": [0.15559, 0.69224, 0, 0, 0.90222],\n \"9484\": [0, 0.69224, 0, 0, 0.5],\n \"9488\": [0, 0.69224, 0, 0, 0.5],\n \"9492\": [0, 0.37788, 0, 0, 0.5],\n \"9496\": [0, 0.37788, 0, 0, 0.5],\n \"9585\": [0.19444, 0.68889, 0, 0, 0.88889],\n \"9586\": [0.19444, 0.74111, 0, 0, 0.88889],\n \"9632\": [0, 0.675, 0, 0, 0.77778],\n \"9633\": [0, 0.675, 0, 0, 0.77778],\n \"9650\": [0, 0.54986, 0, 0, 0.72222],\n \"9651\": [0, 0.54986, 0, 0, 0.72222],\n \"9654\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9660\": [0, 0.54986, 0, 0, 0.72222],\n \"9661\": [0, 0.54986, 0, 0, 0.72222],\n \"9664\": [0.03517, 0.54986, 0, 0, 0.77778],\n \"9674\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"9733\": [0.19444, 0.69224, 0, 0, 0.94445],\n \"10003\": [0, 0.69224, 0, 0, 0.83334],\n \"10016\": [0, 0.69224, 0, 0, 0.83334],\n \"10731\": [0.11111, 0.69224, 0, 0, 0.66667],\n \"10846\": [0.19444, 0.75583, 0, 0, 0.61111],\n \"10877\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10878\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10885\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10886\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10887\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10888\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10889\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10890\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10891\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10892\": [0.48256, 0.98256, 0, 0, 0.77778],\n \"10901\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10902\": [0.13667, 0.63667, 0, 0, 0.77778],\n \"10933\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10934\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"10935\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10936\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10937\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10938\": [0.26167, 0.75726, 0, 0, 0.77778],\n \"10949\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10950\": [0.25583, 0.75583, 0, 0, 0.77778],\n \"10955\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"10956\": [0.28481, 0.79383, 0, 0, 0.77778],\n \"57350\": [0.08167, 0.58167, 0, 0, 0.22222],\n \"57351\": [0.08167, 0.58167, 0, 0, 0.38889],\n \"57352\": [0.08167, 0.58167, 0, 0, 0.77778],\n \"57353\": [0, 0.43056, 0.04028, 0, 0.66667],\n \"57356\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57357\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57358\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57359\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57360\": [0.30274, 0.79383, 0, 0, 0.77778],\n \"57361\": [0.41951, 0.91951, 0, 0, 0.77778],\n \"57366\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57367\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57368\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57369\": [0.25142, 0.75726, 0, 0, 0.77778],\n \"57370\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57371\": [0.13597, 0.63597, 0, 0, 0.77778]\n },\n \"Caligraphic-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.68333, 0, 0.19445, 0.79847],\n \"66\": [0, 0.68333, 0.03041, 0.13889, 0.65681],\n \"67\": [0, 0.68333, 0.05834, 0.13889, 0.52653],\n \"68\": [0, 0.68333, 0.02778, 0.08334, 0.77139],\n \"69\": [0, 0.68333, 0.08944, 0.11111, 0.52778],\n \"70\": [0, 0.68333, 0.09931, 0.11111, 0.71875],\n \"71\": [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],\n \"72\": [0, 0.68333, 0.00965, 0.11111, 0.84452],\n \"73\": [0, 0.68333, 0.07382, 0, 0.54452],\n \"74\": [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],\n \"75\": [0, 0.68333, 0.01445, 0.05556, 0.76195],\n \"76\": [0, 0.68333, 0, 0.13889, 0.68972],\n \"77\": [0, 0.68333, 0, 0.13889, 1.2009],\n \"78\": [0, 0.68333, 0.14736, 0.08334, 0.82049],\n \"79\": [0, 0.68333, 0.02778, 0.11111, 0.79611],\n \"80\": [0, 0.68333, 0.08222, 0.08334, 0.69556],\n \"81\": [0.09722, 0.68333, 0, 0.11111, 0.81667],\n \"82\": [0, 0.68333, 0, 0.08334, 0.8475],\n \"83\": [0, 0.68333, 0.075, 0.13889, 0.60556],\n \"84\": [0, 0.68333, 0.25417, 0, 0.54464],\n \"85\": [0, 0.68333, 0.09931, 0.08334, 0.62583],\n \"86\": [0, 0.68333, 0.08222, 0, 0.61278],\n \"87\": [0, 0.68333, 0.08222, 0.08334, 0.98778],\n \"88\": [0, 0.68333, 0.14643, 0.13889, 0.7133],\n \"89\": [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],\n \"90\": [0, 0.68333, 0.07944, 0.13889, 0.72473],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Fraktur-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69141, 0, 0, 0.29574],\n \"34\": [0, 0.69141, 0, 0, 0.21471],\n \"38\": [0, 0.69141, 0, 0, 0.73786],\n \"39\": [0, 0.69141, 0, 0, 0.21201],\n \"40\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"41\": [0.24982, 0.74947, 0, 0, 0.38865],\n \"42\": [0, 0.62119, 0, 0, 0.27764],\n \"43\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"44\": [0, 0.10803, 0, 0, 0.27764],\n \"45\": [0.08319, 0.58283, 0, 0, 0.75623],\n \"46\": [0, 0.10803, 0, 0, 0.27764],\n \"47\": [0.24982, 0.74947, 0, 0, 0.50181],\n \"48\": [0, 0.47534, 0, 0, 0.50181],\n \"49\": [0, 0.47534, 0, 0, 0.50181],\n \"50\": [0, 0.47534, 0, 0, 0.50181],\n \"51\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"52\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"53\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"54\": [0, 0.69141, 0, 0, 0.50181],\n \"55\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"56\": [0, 0.69141, 0, 0, 0.50181],\n \"57\": [0.18906, 0.47534, 0, 0, 0.50181],\n \"58\": [0, 0.47534, 0, 0, 0.21606],\n \"59\": [0.12604, 0.47534, 0, 0, 0.21606],\n \"61\": [-0.13099, 0.36866, 0, 0, 0.75623],\n \"63\": [0, 0.69141, 0, 0, 0.36245],\n \"65\": [0, 0.69141, 0, 0, 0.7176],\n \"66\": [0, 0.69141, 0, 0, 0.88397],\n \"67\": [0, 0.69141, 0, 0, 0.61254],\n \"68\": [0, 0.69141, 0, 0, 0.83158],\n \"69\": [0, 0.69141, 0, 0, 0.66278],\n \"70\": [0.12604, 0.69141, 0, 0, 0.61119],\n \"71\": [0, 0.69141, 0, 0, 0.78539],\n \"72\": [0.06302, 0.69141, 0, 0, 0.7203],\n \"73\": [0, 0.69141, 0, 0, 0.55448],\n \"74\": [0.12604, 0.69141, 0, 0, 0.55231],\n \"75\": [0, 0.69141, 0, 0, 0.66845],\n \"76\": [0, 0.69141, 0, 0, 0.66602],\n \"77\": [0, 0.69141, 0, 0, 1.04953],\n \"78\": [0, 0.69141, 0, 0, 0.83212],\n \"79\": [0, 0.69141, 0, 0, 0.82699],\n \"80\": [0.18906, 0.69141, 0, 0, 0.82753],\n \"81\": [0.03781, 0.69141, 0, 0, 0.82699],\n \"82\": [0, 0.69141, 0, 0, 0.82807],\n \"83\": [0, 0.69141, 0, 0, 0.82861],\n \"84\": [0, 0.69141, 0, 0, 0.66899],\n \"85\": [0, 0.69141, 0, 0, 0.64576],\n \"86\": [0, 0.69141, 0, 0, 0.83131],\n \"87\": [0, 0.69141, 0, 0, 1.04602],\n \"88\": [0, 0.69141, 0, 0, 0.71922],\n \"89\": [0.18906, 0.69141, 0, 0, 0.83293],\n \"90\": [0.12604, 0.69141, 0, 0, 0.60201],\n \"91\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"93\": [0.24982, 0.74947, 0, 0, 0.27764],\n \"94\": [0, 0.69141, 0, 0, 0.49965],\n \"97\": [0, 0.47534, 0, 0, 0.50046],\n \"98\": [0, 0.69141, 0, 0, 0.51315],\n \"99\": [0, 0.47534, 0, 0, 0.38946],\n \"100\": [0, 0.62119, 0, 0, 0.49857],\n \"101\": [0, 0.47534, 0, 0, 0.40053],\n \"102\": [0.18906, 0.69141, 0, 0, 0.32626],\n \"103\": [0.18906, 0.47534, 0, 0, 0.5037],\n \"104\": [0.18906, 0.69141, 0, 0, 0.52126],\n \"105\": [0, 0.69141, 0, 0, 0.27899],\n \"106\": [0, 0.69141, 0, 0, 0.28088],\n \"107\": [0, 0.69141, 0, 0, 0.38946],\n \"108\": [0, 0.69141, 0, 0, 0.27953],\n \"109\": [0, 0.47534, 0, 0, 0.76676],\n \"110\": [0, 0.47534, 0, 0, 0.52666],\n \"111\": [0, 0.47534, 0, 0, 0.48885],\n \"112\": [0.18906, 0.52396, 0, 0, 0.50046],\n \"113\": [0.18906, 0.47534, 0, 0, 0.48912],\n \"114\": [0, 0.47534, 0, 0, 0.38919],\n \"115\": [0, 0.47534, 0, 0, 0.44266],\n \"116\": [0, 0.62119, 0, 0, 0.33301],\n \"117\": [0, 0.47534, 0, 0, 0.5172],\n \"118\": [0, 0.52396, 0, 0, 0.5118],\n \"119\": [0, 0.52396, 0, 0, 0.77351],\n \"120\": [0.18906, 0.47534, 0, 0, 0.38865],\n \"121\": [0.18906, 0.47534, 0, 0, 0.49884],\n \"122\": [0.18906, 0.47534, 0, 0, 0.39054],\n \"160\": [0, 0, 0, 0, 0.25],\n \"8216\": [0, 0.69141, 0, 0, 0.21471],\n \"8217\": [0, 0.69141, 0, 0, 0.21471],\n \"58112\": [0, 0.62119, 0, 0, 0.49749],\n \"58113\": [0, 0.62119, 0, 0, 0.4983],\n \"58114\": [0.18906, 0.69141, 0, 0, 0.33328],\n \"58115\": [0.18906, 0.69141, 0, 0, 0.32923],\n \"58116\": [0.18906, 0.47534, 0, 0, 0.50343],\n \"58117\": [0, 0.69141, 0, 0, 0.33301],\n \"58118\": [0, 0.62119, 0, 0, 0.33409],\n \"58119\": [0, 0.47534, 0, 0, 0.50073]\n },\n \"Main-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.35],\n \"34\": [0, 0.69444, 0, 0, 0.60278],\n \"35\": [0.19444, 0.69444, 0, 0, 0.95833],\n \"36\": [0.05556, 0.75, 0, 0, 0.575],\n \"37\": [0.05556, 0.75, 0, 0, 0.95833],\n \"38\": [0, 0.69444, 0, 0, 0.89444],\n \"39\": [0, 0.69444, 0, 0, 0.31944],\n \"40\": [0.25, 0.75, 0, 0, 0.44722],\n \"41\": [0.25, 0.75, 0, 0, 0.44722],\n \"42\": [0, 0.75, 0, 0, 0.575],\n \"43\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"44\": [0.19444, 0.15556, 0, 0, 0.31944],\n \"45\": [0, 0.44444, 0, 0, 0.38333],\n \"46\": [0, 0.15556, 0, 0, 0.31944],\n \"47\": [0.25, 0.75, 0, 0, 0.575],\n \"48\": [0, 0.64444, 0, 0, 0.575],\n \"49\": [0, 0.64444, 0, 0, 0.575],\n \"50\": [0, 0.64444, 0, 0, 0.575],\n \"51\": [0, 0.64444, 0, 0, 0.575],\n \"52\": [0, 0.64444, 0, 0, 0.575],\n \"53\": [0, 0.64444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0, 0.64444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0, 0.64444, 0, 0, 0.575],\n \"58\": [0, 0.44444, 0, 0, 0.31944],\n \"59\": [0.19444, 0.44444, 0, 0, 0.31944],\n \"60\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"61\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"62\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"63\": [0, 0.69444, 0, 0, 0.54305],\n \"64\": [0, 0.69444, 0, 0, 0.89444],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0, 0, 0.81805],\n \"67\": [0, 0.68611, 0, 0, 0.83055],\n \"68\": [0, 0.68611, 0, 0, 0.88194],\n \"69\": [0, 0.68611, 0, 0, 0.75555],\n \"70\": [0, 0.68611, 0, 0, 0.72361],\n \"71\": [0, 0.68611, 0, 0, 0.90416],\n \"72\": [0, 0.68611, 0, 0, 0.9],\n \"73\": [0, 0.68611, 0, 0, 0.43611],\n \"74\": [0, 0.68611, 0, 0, 0.59444],\n \"75\": [0, 0.68611, 0, 0, 0.90138],\n \"76\": [0, 0.68611, 0, 0, 0.69166],\n \"77\": [0, 0.68611, 0, 0, 1.09166],\n \"78\": [0, 0.68611, 0, 0, 0.9],\n \"79\": [0, 0.68611, 0, 0, 0.86388],\n \"80\": [0, 0.68611, 0, 0, 0.78611],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86388],\n \"82\": [0, 0.68611, 0, 0, 0.8625],\n \"83\": [0, 0.68611, 0, 0, 0.63889],\n \"84\": [0, 0.68611, 0, 0, 0.8],\n \"85\": [0, 0.68611, 0, 0, 0.88472],\n \"86\": [0, 0.68611, 0.01597, 0, 0.86944],\n \"87\": [0, 0.68611, 0.01597, 0, 1.18888],\n \"88\": [0, 0.68611, 0, 0, 0.86944],\n \"89\": [0, 0.68611, 0.02875, 0, 0.86944],\n \"90\": [0, 0.68611, 0, 0, 0.70277],\n \"91\": [0.25, 0.75, 0, 0, 0.31944],\n \"92\": [0.25, 0.75, 0, 0, 0.575],\n \"93\": [0.25, 0.75, 0, 0, 0.31944],\n \"94\": [0, 0.69444, 0, 0, 0.575],\n \"95\": [0.31, 0.13444, 0.03194, 0, 0.575],\n \"97\": [0, 0.44444, 0, 0, 0.55902],\n \"98\": [0, 0.69444, 0, 0, 0.63889],\n \"99\": [0, 0.44444, 0, 0, 0.51111],\n \"100\": [0, 0.69444, 0, 0, 0.63889],\n \"101\": [0, 0.44444, 0, 0, 0.52708],\n \"102\": [0, 0.69444, 0.10903, 0, 0.35139],\n \"103\": [0.19444, 0.44444, 0.01597, 0, 0.575],\n \"104\": [0, 0.69444, 0, 0, 0.63889],\n \"105\": [0, 0.69444, 0, 0, 0.31944],\n \"106\": [0.19444, 0.69444, 0, 0, 0.35139],\n \"107\": [0, 0.69444, 0, 0, 0.60694],\n \"108\": [0, 0.69444, 0, 0, 0.31944],\n \"109\": [0, 0.44444, 0, 0, 0.95833],\n \"110\": [0, 0.44444, 0, 0, 0.63889],\n \"111\": [0, 0.44444, 0, 0, 0.575],\n \"112\": [0.19444, 0.44444, 0, 0, 0.63889],\n \"113\": [0.19444, 0.44444, 0, 0, 0.60694],\n \"114\": [0, 0.44444, 0, 0, 0.47361],\n \"115\": [0, 0.44444, 0, 0, 0.45361],\n \"116\": [0, 0.63492, 0, 0, 0.44722],\n \"117\": [0, 0.44444, 0, 0, 0.63889],\n \"118\": [0, 0.44444, 0.01597, 0, 0.60694],\n \"119\": [0, 0.44444, 0.01597, 0, 0.83055],\n \"120\": [0, 0.44444, 0, 0, 0.60694],\n \"121\": [0.19444, 0.44444, 0.01597, 0, 0.60694],\n \"122\": [0, 0.44444, 0, 0, 0.51111],\n \"123\": [0.25, 0.75, 0, 0, 0.575],\n \"124\": [0.25, 0.75, 0, 0, 0.31944],\n \"125\": [0.25, 0.75, 0, 0, 0.575],\n \"126\": [0.35, 0.34444, 0, 0, 0.575],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.86853],\n \"168\": [0, 0.69444, 0, 0, 0.575],\n \"172\": [0, 0.44444, 0, 0, 0.76666],\n \"176\": [0, 0.69444, 0, 0, 0.86944],\n \"177\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"184\": [0.17014, 0, 0, 0, 0.51111],\n \"198\": [0, 0.68611, 0, 0, 1.04166],\n \"215\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"216\": [0.04861, 0.73472, 0, 0, 0.89444],\n \"223\": [0, 0.69444, 0, 0, 0.59722],\n \"230\": [0, 0.44444, 0, 0, 0.83055],\n \"247\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"248\": [0.09722, 0.54167, 0, 0, 0.575],\n \"305\": [0, 0.44444, 0, 0, 0.31944],\n \"338\": [0, 0.68611, 0, 0, 1.16944],\n \"339\": [0, 0.44444, 0, 0, 0.89444],\n \"567\": [0.19444, 0.44444, 0, 0, 0.35139],\n \"710\": [0, 0.69444, 0, 0, 0.575],\n \"711\": [0, 0.63194, 0, 0, 0.575],\n \"713\": [0, 0.59611, 0, 0, 0.575],\n \"714\": [0, 0.69444, 0, 0, 0.575],\n \"715\": [0, 0.69444, 0, 0, 0.575],\n \"728\": [0, 0.69444, 0, 0, 0.575],\n \"729\": [0, 0.69444, 0, 0, 0.31944],\n \"730\": [0, 0.69444, 0, 0, 0.86944],\n \"732\": [0, 0.69444, 0, 0, 0.575],\n \"733\": [0, 0.69444, 0, 0, 0.575],\n \"915\": [0, 0.68611, 0, 0, 0.69166],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0, 0, 0.89444],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0, 0, 0.76666],\n \"928\": [0, 0.68611, 0, 0, 0.9],\n \"931\": [0, 0.68611, 0, 0, 0.83055],\n \"933\": [0, 0.68611, 0, 0, 0.89444],\n \"934\": [0, 0.68611, 0, 0, 0.83055],\n \"936\": [0, 0.68611, 0, 0, 0.89444],\n \"937\": [0, 0.68611, 0, 0, 0.83055],\n \"8211\": [0, 0.44444, 0.03194, 0, 0.575],\n \"8212\": [0, 0.44444, 0.03194, 0, 1.14999],\n \"8216\": [0, 0.69444, 0, 0, 0.31944],\n \"8217\": [0, 0.69444, 0, 0, 0.31944],\n \"8220\": [0, 0.69444, 0, 0, 0.60278],\n \"8221\": [0, 0.69444, 0, 0, 0.60278],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.51111],\n \"8242\": [0, 0.55556, 0, 0, 0.34444],\n \"8407\": [0, 0.72444, 0.15486, 0, 0.575],\n \"8463\": [0, 0.69444, 0, 0, 0.66759],\n \"8465\": [0, 0.69444, 0, 0, 0.83055],\n \"8467\": [0, 0.69444, 0, 0, 0.47361],\n \"8472\": [0.19444, 0.44444, 0, 0, 0.74027],\n \"8476\": [0, 0.69444, 0, 0, 0.83055],\n \"8501\": [0, 0.69444, 0, 0, 0.70277],\n \"8592\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8594\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.575],\n \"8596\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8597\": [0.25, 0.75, 0, 0, 0.575],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"8636\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8637\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8640\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8641\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8656\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8658\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.70277],\n \"8660\": [-0.10889, 0.39111, 0, 0, 1.14999],\n \"8661\": [0.25, 0.75, 0, 0, 0.70277],\n \"8704\": [0, 0.69444, 0, 0, 0.63889],\n \"8706\": [0, 0.69444, 0.06389, 0, 0.62847],\n \"8707\": [0, 0.69444, 0, 0, 0.63889],\n \"8709\": [0.05556, 0.75, 0, 0, 0.575],\n \"8711\": [0, 0.68611, 0, 0, 0.95833],\n \"8712\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8715\": [0.08556, 0.58556, 0, 0, 0.76666],\n \"8722\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8723\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8725\": [0.25, 0.75, 0, 0, 0.575],\n \"8726\": [0.25, 0.75, 0, 0, 0.575],\n \"8727\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8728\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8729\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8730\": [0.18, 0.82, 0, 0, 0.95833],\n \"8733\": [0, 0.44444, 0, 0, 0.89444],\n \"8734\": [0, 0.44444, 0, 0, 1.14999],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.31944],\n \"8741\": [0.25, 0.75, 0, 0, 0.575],\n \"8743\": [0, 0.55556, 0, 0, 0.76666],\n \"8744\": [0, 0.55556, 0, 0, 0.76666],\n \"8745\": [0, 0.55556, 0, 0, 0.76666],\n \"8746\": [0, 0.55556, 0, 0, 0.76666],\n \"8747\": [0.19444, 0.69444, 0.12778, 0, 0.56875],\n \"8764\": [-0.10889, 0.39111, 0, 0, 0.89444],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.31944],\n \"8771\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8773\": [0.027, 0.638, 0, 0, 0.894],\n \"8776\": [0.02444, 0.52444, 0, 0, 0.89444],\n \"8781\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8801\": [0.00222, 0.50222, 0, 0, 0.89444],\n \"8804\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8805\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8810\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8811\": [0.08556, 0.58556, 0, 0, 1.14999],\n \"8826\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8827\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8834\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8835\": [0.08556, 0.58556, 0, 0, 0.89444],\n \"8838\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8839\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8846\": [0, 0.55556, 0, 0, 0.76666],\n \"8849\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8850\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"8851\": [0, 0.55556, 0, 0, 0.76666],\n \"8852\": [0, 0.55556, 0, 0, 0.76666],\n \"8853\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8854\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8855\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8856\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8857\": [0.13333, 0.63333, 0, 0, 0.89444],\n \"8866\": [0, 0.69444, 0, 0, 0.70277],\n \"8867\": [0, 0.69444, 0, 0, 0.70277],\n \"8868\": [0, 0.69444, 0, 0, 0.89444],\n \"8869\": [0, 0.69444, 0, 0, 0.89444],\n \"8900\": [-0.02639, 0.47361, 0, 0, 0.575],\n \"8901\": [-0.02639, 0.47361, 0, 0, 0.31944],\n \"8902\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"8968\": [0.25, 0.75, 0, 0, 0.51111],\n \"8969\": [0.25, 0.75, 0, 0, 0.51111],\n \"8970\": [0.25, 0.75, 0, 0, 0.51111],\n \"8971\": [0.25, 0.75, 0, 0, 0.51111],\n \"8994\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"8995\": [-0.13889, 0.36111, 0, 0, 1.14999],\n \"9651\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9657\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9661\": [0.19444, 0.69444, 0, 0, 1.02222],\n \"9667\": [-0.02778, 0.47222, 0, 0, 0.575],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.14999],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.89444],\n \"9837\": [0, 0.75, 0, 0, 0.44722],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.44722],\n \"10216\": [0.25, 0.75, 0, 0, 0.44722],\n \"10217\": [0.25, 0.75, 0, 0, 0.44722],\n \"10815\": [0, 0.68611, 0, 0, 0.9],\n \"10927\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"10928\": [0.19667, 0.69667, 0, 0, 0.89444],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Main-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.11417, 0, 0.38611],\n \"34\": [0, 0.69444, 0.07939, 0, 0.62055],\n \"35\": [0.19444, 0.69444, 0.06833, 0, 0.94444],\n \"37\": [0.05556, 0.75, 0.12861, 0, 0.94444],\n \"38\": [0, 0.69444, 0.08528, 0, 0.88555],\n \"39\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"40\": [0.25, 0.75, 0.15806, 0, 0.47333],\n \"41\": [0.25, 0.75, 0.03306, 0, 0.47333],\n \"42\": [0, 0.75, 0.14333, 0, 0.59111],\n \"43\": [0.10333, 0.60333, 0.03306, 0, 0.88555],\n \"44\": [0.19444, 0.14722, 0, 0, 0.35555],\n \"45\": [0, 0.44444, 0.02611, 0, 0.41444],\n \"46\": [0, 0.14722, 0, 0, 0.35555],\n \"47\": [0.25, 0.75, 0.15806, 0, 0.59111],\n \"48\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"49\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"50\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"51\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"52\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"53\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"54\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"55\": [0.19444, 0.64444, 0.13167, 0, 0.59111],\n \"56\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"57\": [0, 0.64444, 0.13167, 0, 0.59111],\n \"58\": [0, 0.44444, 0.06695, 0, 0.35555],\n \"59\": [0.19444, 0.44444, 0.06695, 0, 0.35555],\n \"61\": [-0.10889, 0.39111, 0.06833, 0, 0.88555],\n \"63\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"64\": [0, 0.69444, 0.09208, 0, 0.88555],\n \"65\": [0, 0.68611, 0, 0, 0.86555],\n \"66\": [0, 0.68611, 0.0992, 0, 0.81666],\n \"67\": [0, 0.68611, 0.14208, 0, 0.82666],\n \"68\": [0, 0.68611, 0.09062, 0, 0.87555],\n \"69\": [0, 0.68611, 0.11431, 0, 0.75666],\n \"70\": [0, 0.68611, 0.12903, 0, 0.72722],\n \"71\": [0, 0.68611, 0.07347, 0, 0.89527],\n \"72\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"73\": [0, 0.68611, 0.15681, 0, 0.47166],\n \"74\": [0, 0.68611, 0.145, 0, 0.61055],\n \"75\": [0, 0.68611, 0.14208, 0, 0.89499],\n \"76\": [0, 0.68611, 0, 0, 0.69777],\n \"77\": [0, 0.68611, 0.17208, 0, 1.07277],\n \"78\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"79\": [0, 0.68611, 0.09062, 0, 0.85499],\n \"80\": [0, 0.68611, 0.0992, 0, 0.78721],\n \"81\": [0.19444, 0.68611, 0.09062, 0, 0.85499],\n \"82\": [0, 0.68611, 0.02559, 0, 0.85944],\n \"83\": [0, 0.68611, 0.11264, 0, 0.64999],\n \"84\": [0, 0.68611, 0.12903, 0, 0.7961],\n \"85\": [0, 0.68611, 0.17208, 0, 0.88083],\n \"86\": [0, 0.68611, 0.18625, 0, 0.86555],\n \"87\": [0, 0.68611, 0.18625, 0, 1.15999],\n \"88\": [0, 0.68611, 0.15681, 0, 0.86555],\n \"89\": [0, 0.68611, 0.19803, 0, 0.86555],\n \"90\": [0, 0.68611, 0.14208, 0, 0.70888],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.35611],\n \"93\": [0.25, 0.75, 0.09972, 0, 0.35611],\n \"94\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"95\": [0.31, 0.13444, 0.09811, 0, 0.59111],\n \"97\": [0, 0.44444, 0.09426, 0, 0.59111],\n \"98\": [0, 0.69444, 0.07861, 0, 0.53222],\n \"99\": [0, 0.44444, 0.05222, 0, 0.53222],\n \"100\": [0, 0.69444, 0.10861, 0, 0.59111],\n \"101\": [0, 0.44444, 0.085, 0, 0.53222],\n \"102\": [0.19444, 0.69444, 0.21778, 0, 0.4],\n \"103\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"104\": [0, 0.69444, 0.09426, 0, 0.59111],\n \"105\": [0, 0.69326, 0.11387, 0, 0.35555],\n \"106\": [0.19444, 0.69326, 0.1672, 0, 0.35555],\n \"107\": [0, 0.69444, 0.11111, 0, 0.53222],\n \"108\": [0, 0.69444, 0.10861, 0, 0.29666],\n \"109\": [0, 0.44444, 0.09426, 0, 0.94444],\n \"110\": [0, 0.44444, 0.09426, 0, 0.64999],\n \"111\": [0, 0.44444, 0.07861, 0, 0.59111],\n \"112\": [0.19444, 0.44444, 0.07861, 0, 0.59111],\n \"113\": [0.19444, 0.44444, 0.105, 0, 0.53222],\n \"114\": [0, 0.44444, 0.11111, 0, 0.50167],\n \"115\": [0, 0.44444, 0.08167, 0, 0.48694],\n \"116\": [0, 0.63492, 0.09639, 0, 0.385],\n \"117\": [0, 0.44444, 0.09426, 0, 0.62055],\n \"118\": [0, 0.44444, 0.11111, 0, 0.53222],\n \"119\": [0, 0.44444, 0.11111, 0, 0.76777],\n \"120\": [0, 0.44444, 0.12583, 0, 0.56055],\n \"121\": [0.19444, 0.44444, 0.105, 0, 0.56166],\n \"122\": [0, 0.44444, 0.13889, 0, 0.49055],\n \"126\": [0.35, 0.34444, 0.11472, 0, 0.59111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0.11473, 0, 0.59111],\n \"176\": [0, 0.69444, 0, 0, 0.94888],\n \"184\": [0.17014, 0, 0, 0, 0.53222],\n \"198\": [0, 0.68611, 0.11431, 0, 1.02277],\n \"216\": [0.04861, 0.73472, 0.09062, 0, 0.88555],\n \"223\": [0.19444, 0.69444, 0.09736, 0, 0.665],\n \"230\": [0, 0.44444, 0.085, 0, 0.82666],\n \"248\": [0.09722, 0.54167, 0.09458, 0, 0.59111],\n \"305\": [0, 0.44444, 0.09426, 0, 0.35555],\n \"338\": [0, 0.68611, 0.11431, 0, 1.14054],\n \"339\": [0, 0.44444, 0.085, 0, 0.82666],\n \"567\": [0.19444, 0.44444, 0.04611, 0, 0.385],\n \"710\": [0, 0.69444, 0.06709, 0, 0.59111],\n \"711\": [0, 0.63194, 0.08271, 0, 0.59111],\n \"713\": [0, 0.59444, 0.10444, 0, 0.59111],\n \"714\": [0, 0.69444, 0.08528, 0, 0.59111],\n \"715\": [0, 0.69444, 0, 0, 0.59111],\n \"728\": [0, 0.69444, 0.10333, 0, 0.59111],\n \"729\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"730\": [0, 0.69444, 0, 0, 0.94888],\n \"732\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"733\": [0, 0.69444, 0.11472, 0, 0.59111],\n \"915\": [0, 0.68611, 0.12903, 0, 0.69777],\n \"916\": [0, 0.68611, 0, 0, 0.94444],\n \"920\": [0, 0.68611, 0.09062, 0, 0.88555],\n \"923\": [0, 0.68611, 0, 0, 0.80666],\n \"926\": [0, 0.68611, 0.15092, 0, 0.76777],\n \"928\": [0, 0.68611, 0.17208, 0, 0.8961],\n \"931\": [0, 0.68611, 0.11431, 0, 0.82666],\n \"933\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"934\": [0, 0.68611, 0.05632, 0, 0.82666],\n \"936\": [0, 0.68611, 0.10778, 0, 0.88555],\n \"937\": [0, 0.68611, 0.0992, 0, 0.82666],\n \"8211\": [0, 0.44444, 0.09811, 0, 0.59111],\n \"8212\": [0, 0.44444, 0.09811, 0, 1.18221],\n \"8216\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8217\": [0, 0.69444, 0.12945, 0, 0.35555],\n \"8220\": [0, 0.69444, 0.16772, 0, 0.62055],\n \"8221\": [0, 0.69444, 0.07939, 0, 0.62055]\n },\n \"Main-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"34\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"35\": [0.19444, 0.69444, 0.06616, 0, 0.81777],\n \"37\": [0.05556, 0.75, 0.13639, 0, 0.81777],\n \"38\": [0, 0.69444, 0.09694, 0, 0.76666],\n \"39\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"40\": [0.25, 0.75, 0.16194, 0, 0.40889],\n \"41\": [0.25, 0.75, 0.03694, 0, 0.40889],\n \"42\": [0, 0.75, 0.14917, 0, 0.51111],\n \"43\": [0.05667, 0.56167, 0.03694, 0, 0.76666],\n \"44\": [0.19444, 0.10556, 0, 0, 0.30667],\n \"45\": [0, 0.43056, 0.02826, 0, 0.35778],\n \"46\": [0, 0.10556, 0, 0, 0.30667],\n \"47\": [0.25, 0.75, 0.16194, 0, 0.51111],\n \"48\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"49\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"50\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"51\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"52\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"53\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"54\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"55\": [0.19444, 0.64444, 0.13556, 0, 0.51111],\n \"56\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"57\": [0, 0.64444, 0.13556, 0, 0.51111],\n \"58\": [0, 0.43056, 0.0582, 0, 0.30667],\n \"59\": [0.19444, 0.43056, 0.0582, 0, 0.30667],\n \"61\": [-0.13313, 0.36687, 0.06616, 0, 0.76666],\n \"63\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"64\": [0, 0.69444, 0.09597, 0, 0.76666],\n \"65\": [0, 0.68333, 0, 0, 0.74333],\n \"66\": [0, 0.68333, 0.10257, 0, 0.70389],\n \"67\": [0, 0.68333, 0.14528, 0, 0.71555],\n \"68\": [0, 0.68333, 0.09403, 0, 0.755],\n \"69\": [0, 0.68333, 0.12028, 0, 0.67833],\n \"70\": [0, 0.68333, 0.13305, 0, 0.65277],\n \"71\": [0, 0.68333, 0.08722, 0, 0.77361],\n \"72\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"73\": [0, 0.68333, 0.15806, 0, 0.38555],\n \"74\": [0, 0.68333, 0.14028, 0, 0.525],\n \"75\": [0, 0.68333, 0.14528, 0, 0.76888],\n \"76\": [0, 0.68333, 0, 0, 0.62722],\n \"77\": [0, 0.68333, 0.16389, 0, 0.89666],\n \"78\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"79\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"80\": [0, 0.68333, 0.10257, 0, 0.67833],\n \"81\": [0.19444, 0.68333, 0.09403, 0, 0.76666],\n \"82\": [0, 0.68333, 0.03868, 0, 0.72944],\n \"83\": [0, 0.68333, 0.11972, 0, 0.56222],\n \"84\": [0, 0.68333, 0.13305, 0, 0.71555],\n \"85\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"86\": [0, 0.68333, 0.18361, 0, 0.74333],\n \"87\": [0, 0.68333, 0.18361, 0, 0.99888],\n \"88\": [0, 0.68333, 0.15806, 0, 0.74333],\n \"89\": [0, 0.68333, 0.19383, 0, 0.74333],\n \"90\": [0, 0.68333, 0.14528, 0, 0.61333],\n \"91\": [0.25, 0.75, 0.1875, 0, 0.30667],\n \"93\": [0.25, 0.75, 0.10528, 0, 0.30667],\n \"94\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"95\": [0.31, 0.12056, 0.09208, 0, 0.51111],\n \"97\": [0, 0.43056, 0.07671, 0, 0.51111],\n \"98\": [0, 0.69444, 0.06312, 0, 0.46],\n \"99\": [0, 0.43056, 0.05653, 0, 0.46],\n \"100\": [0, 0.69444, 0.10333, 0, 0.51111],\n \"101\": [0, 0.43056, 0.07514, 0, 0.46],\n \"102\": [0.19444, 0.69444, 0.21194, 0, 0.30667],\n \"103\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"104\": [0, 0.69444, 0.07671, 0, 0.51111],\n \"105\": [0, 0.65536, 0.1019, 0, 0.30667],\n \"106\": [0.19444, 0.65536, 0.14467, 0, 0.30667],\n \"107\": [0, 0.69444, 0.10764, 0, 0.46],\n \"108\": [0, 0.69444, 0.10333, 0, 0.25555],\n \"109\": [0, 0.43056, 0.07671, 0, 0.81777],\n \"110\": [0, 0.43056, 0.07671, 0, 0.56222],\n \"111\": [0, 0.43056, 0.06312, 0, 0.51111],\n \"112\": [0.19444, 0.43056, 0.06312, 0, 0.51111],\n \"113\": [0.19444, 0.43056, 0.08847, 0, 0.46],\n \"114\": [0, 0.43056, 0.10764, 0, 0.42166],\n \"115\": [0, 0.43056, 0.08208, 0, 0.40889],\n \"116\": [0, 0.61508, 0.09486, 0, 0.33222],\n \"117\": [0, 0.43056, 0.07671, 0, 0.53666],\n \"118\": [0, 0.43056, 0.10764, 0, 0.46],\n \"119\": [0, 0.43056, 0.10764, 0, 0.66444],\n \"120\": [0, 0.43056, 0.12042, 0, 0.46389],\n \"121\": [0.19444, 0.43056, 0.08847, 0, 0.48555],\n \"122\": [0, 0.43056, 0.12292, 0, 0.40889],\n \"126\": [0.35, 0.31786, 0.11585, 0, 0.51111],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.66786, 0.10474, 0, 0.51111],\n \"176\": [0, 0.69444, 0, 0, 0.83129],\n \"184\": [0.17014, 0, 0, 0, 0.46],\n \"198\": [0, 0.68333, 0.12028, 0, 0.88277],\n \"216\": [0.04861, 0.73194, 0.09403, 0, 0.76666],\n \"223\": [0.19444, 0.69444, 0.10514, 0, 0.53666],\n \"230\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"248\": [0.09722, 0.52778, 0.09194, 0, 0.51111],\n \"338\": [0, 0.68333, 0.12028, 0, 0.98499],\n \"339\": [0, 0.43056, 0.07514, 0, 0.71555],\n \"710\": [0, 0.69444, 0.06646, 0, 0.51111],\n \"711\": [0, 0.62847, 0.08295, 0, 0.51111],\n \"713\": [0, 0.56167, 0.10333, 0, 0.51111],\n \"714\": [0, 0.69444, 0.09694, 0, 0.51111],\n \"715\": [0, 0.69444, 0, 0, 0.51111],\n \"728\": [0, 0.69444, 0.10806, 0, 0.51111],\n \"729\": [0, 0.66786, 0.11752, 0, 0.30667],\n \"730\": [0, 0.69444, 0, 0, 0.83129],\n \"732\": [0, 0.66786, 0.11585, 0, 0.51111],\n \"733\": [0, 0.69444, 0.1225, 0, 0.51111],\n \"915\": [0, 0.68333, 0.13305, 0, 0.62722],\n \"916\": [0, 0.68333, 0, 0, 0.81777],\n \"920\": [0, 0.68333, 0.09403, 0, 0.76666],\n \"923\": [0, 0.68333, 0, 0, 0.69222],\n \"926\": [0, 0.68333, 0.15294, 0, 0.66444],\n \"928\": [0, 0.68333, 0.16389, 0, 0.74333],\n \"931\": [0, 0.68333, 0.12028, 0, 0.71555],\n \"933\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"934\": [0, 0.68333, 0.05986, 0, 0.71555],\n \"936\": [0, 0.68333, 0.11111, 0, 0.76666],\n \"937\": [0, 0.68333, 0.10257, 0, 0.71555],\n \"8211\": [0, 0.43056, 0.09208, 0, 0.51111],\n \"8212\": [0, 0.43056, 0.09208, 0, 1.02222],\n \"8216\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8217\": [0, 0.69444, 0.12417, 0, 0.30667],\n \"8220\": [0, 0.69444, 0.1685, 0, 0.51444],\n \"8221\": [0, 0.69444, 0.06961, 0, 0.51444],\n \"8463\": [0, 0.68889, 0, 0, 0.54028]\n },\n \"Main-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.27778],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.77778],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.19444, 0.10556, 0, 0, 0.27778],\n \"45\": [0, 0.43056, 0, 0, 0.33333],\n \"46\": [0, 0.10556, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.64444, 0, 0, 0.5],\n \"49\": [0, 0.64444, 0, 0, 0.5],\n \"50\": [0, 0.64444, 0, 0, 0.5],\n \"51\": [0, 0.64444, 0, 0, 0.5],\n \"52\": [0, 0.64444, 0, 0, 0.5],\n \"53\": [0, 0.64444, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0, 0.64444, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0, 0.64444, 0, 0, 0.5],\n \"58\": [0, 0.43056, 0, 0, 0.27778],\n \"59\": [0.19444, 0.43056, 0, 0, 0.27778],\n \"60\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"61\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"62\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.77778],\n \"65\": [0, 0.68333, 0, 0, 0.75],\n \"66\": [0, 0.68333, 0, 0, 0.70834],\n \"67\": [0, 0.68333, 0, 0, 0.72222],\n \"68\": [0, 0.68333, 0, 0, 0.76389],\n \"69\": [0, 0.68333, 0, 0, 0.68056],\n \"70\": [0, 0.68333, 0, 0, 0.65278],\n \"71\": [0, 0.68333, 0, 0, 0.78472],\n \"72\": [0, 0.68333, 0, 0, 0.75],\n \"73\": [0, 0.68333, 0, 0, 0.36111],\n \"74\": [0, 0.68333, 0, 0, 0.51389],\n \"75\": [0, 0.68333, 0, 0, 0.77778],\n \"76\": [0, 0.68333, 0, 0, 0.625],\n \"77\": [0, 0.68333, 0, 0, 0.91667],\n \"78\": [0, 0.68333, 0, 0, 0.75],\n \"79\": [0, 0.68333, 0, 0, 0.77778],\n \"80\": [0, 0.68333, 0, 0, 0.68056],\n \"81\": [0.19444, 0.68333, 0, 0, 0.77778],\n \"82\": [0, 0.68333, 0, 0, 0.73611],\n \"83\": [0, 0.68333, 0, 0, 0.55556],\n \"84\": [0, 0.68333, 0, 0, 0.72222],\n \"85\": [0, 0.68333, 0, 0, 0.75],\n \"86\": [0, 0.68333, 0.01389, 0, 0.75],\n \"87\": [0, 0.68333, 0.01389, 0, 1.02778],\n \"88\": [0, 0.68333, 0, 0, 0.75],\n \"89\": [0, 0.68333, 0.025, 0, 0.75],\n \"90\": [0, 0.68333, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.27778],\n \"92\": [0.25, 0.75, 0, 0, 0.5],\n \"93\": [0.25, 0.75, 0, 0, 0.27778],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.31, 0.12056, 0.02778, 0, 0.5],\n \"97\": [0, 0.43056, 0, 0, 0.5],\n \"98\": [0, 0.69444, 0, 0, 0.55556],\n \"99\": [0, 0.43056, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.55556],\n \"101\": [0, 0.43056, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.07778, 0, 0.30556],\n \"103\": [0.19444, 0.43056, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.55556],\n \"105\": [0, 0.66786, 0, 0, 0.27778],\n \"106\": [0.19444, 0.66786, 0, 0, 0.30556],\n \"107\": [0, 0.69444, 0, 0, 0.52778],\n \"108\": [0, 0.69444, 0, 0, 0.27778],\n \"109\": [0, 0.43056, 0, 0, 0.83334],\n \"110\": [0, 0.43056, 0, 0, 0.55556],\n \"111\": [0, 0.43056, 0, 0, 0.5],\n \"112\": [0.19444, 0.43056, 0, 0, 0.55556],\n \"113\": [0.19444, 0.43056, 0, 0, 0.52778],\n \"114\": [0, 0.43056, 0, 0, 0.39167],\n \"115\": [0, 0.43056, 0, 0, 0.39445],\n \"116\": [0, 0.61508, 0, 0, 0.38889],\n \"117\": [0, 0.43056, 0, 0, 0.55556],\n \"118\": [0, 0.43056, 0.01389, 0, 0.52778],\n \"119\": [0, 0.43056, 0.01389, 0, 0.72222],\n \"120\": [0, 0.43056, 0, 0, 0.52778],\n \"121\": [0.19444, 0.43056, 0.01389, 0, 0.52778],\n \"122\": [0, 0.43056, 0, 0, 0.44445],\n \"123\": [0.25, 0.75, 0, 0, 0.5],\n \"124\": [0.25, 0.75, 0, 0, 0.27778],\n \"125\": [0.25, 0.75, 0, 0, 0.5],\n \"126\": [0.35, 0.31786, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"163\": [0, 0.69444, 0, 0, 0.76909],\n \"167\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"168\": [0, 0.66786, 0, 0, 0.5],\n \"172\": [0, 0.43056, 0, 0, 0.66667],\n \"176\": [0, 0.69444, 0, 0, 0.75],\n \"177\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"182\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"198\": [0, 0.68333, 0, 0, 0.90278],\n \"215\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"216\": [0.04861, 0.73194, 0, 0, 0.77778],\n \"223\": [0, 0.69444, 0, 0, 0.5],\n \"230\": [0, 0.43056, 0, 0, 0.72222],\n \"247\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"248\": [0.09722, 0.52778, 0, 0, 0.5],\n \"305\": [0, 0.43056, 0, 0, 0.27778],\n \"338\": [0, 0.68333, 0, 0, 1.01389],\n \"339\": [0, 0.43056, 0, 0, 0.77778],\n \"567\": [0.19444, 0.43056, 0, 0, 0.30556],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.62847, 0, 0, 0.5],\n \"713\": [0, 0.56778, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.66786, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.75],\n \"732\": [0, 0.66786, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.68333, 0, 0, 0.625],\n \"916\": [0, 0.68333, 0, 0, 0.83334],\n \"920\": [0, 0.68333, 0, 0, 0.77778],\n \"923\": [0, 0.68333, 0, 0, 0.69445],\n \"926\": [0, 0.68333, 0, 0, 0.66667],\n \"928\": [0, 0.68333, 0, 0, 0.75],\n \"931\": [0, 0.68333, 0, 0, 0.72222],\n \"933\": [0, 0.68333, 0, 0, 0.77778],\n \"934\": [0, 0.68333, 0, 0, 0.72222],\n \"936\": [0, 0.68333, 0, 0, 0.77778],\n \"937\": [0, 0.68333, 0, 0, 0.72222],\n \"8211\": [0, 0.43056, 0.02778, 0, 0.5],\n \"8212\": [0, 0.43056, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5],\n \"8224\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8225\": [0.19444, 0.69444, 0, 0, 0.44445],\n \"8230\": [0, 0.123, 0, 0, 1.172],\n \"8242\": [0, 0.55556, 0, 0, 0.275],\n \"8407\": [0, 0.71444, 0.15382, 0, 0.5],\n \"8463\": [0, 0.68889, 0, 0, 0.54028],\n \"8465\": [0, 0.69444, 0, 0, 0.72222],\n \"8467\": [0, 0.69444, 0, 0.11111, 0.41667],\n \"8472\": [0.19444, 0.43056, 0, 0.11111, 0.63646],\n \"8476\": [0, 0.69444, 0, 0, 0.72222],\n \"8501\": [0, 0.69444, 0, 0, 0.61111],\n \"8592\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8593\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8594\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8595\": [0.19444, 0.69444, 0, 0, 0.5],\n \"8596\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8597\": [0.25, 0.75, 0, 0, 0.5],\n \"8598\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8599\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8600\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8601\": [0.19444, 0.69444, 0, 0, 1.0],\n \"8614\": [0.011, 0.511, 0, 0, 1.0],\n \"8617\": [0.011, 0.511, 0, 0, 1.126],\n \"8618\": [0.011, 0.511, 0, 0, 1.126],\n \"8636\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8637\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8640\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8641\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8652\": [0.011, 0.671, 0, 0, 1.0],\n \"8656\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8657\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8658\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8659\": [0.19444, 0.69444, 0, 0, 0.61111],\n \"8660\": [-0.13313, 0.36687, 0, 0, 1.0],\n \"8661\": [0.25, 0.75, 0, 0, 0.61111],\n \"8704\": [0, 0.69444, 0, 0, 0.55556],\n \"8706\": [0, 0.69444, 0.05556, 0.08334, 0.5309],\n \"8707\": [0, 0.69444, 0, 0, 0.55556],\n \"8709\": [0.05556, 0.75, 0, 0, 0.5],\n \"8711\": [0, 0.68333, 0, 0, 0.83334],\n \"8712\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8715\": [0.0391, 0.5391, 0, 0, 0.66667],\n \"8722\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8723\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8725\": [0.25, 0.75, 0, 0, 0.5],\n \"8726\": [0.25, 0.75, 0, 0, 0.5],\n \"8727\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8728\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8729\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8730\": [0.2, 0.8, 0, 0, 0.83334],\n \"8733\": [0, 0.43056, 0, 0, 0.77778],\n \"8734\": [0, 0.43056, 0, 0, 1.0],\n \"8736\": [0, 0.69224, 0, 0, 0.72222],\n \"8739\": [0.25, 0.75, 0, 0, 0.27778],\n \"8741\": [0.25, 0.75, 0, 0, 0.5],\n \"8743\": [0, 0.55556, 0, 0, 0.66667],\n \"8744\": [0, 0.55556, 0, 0, 0.66667],\n \"8745\": [0, 0.55556, 0, 0, 0.66667],\n \"8746\": [0, 0.55556, 0, 0, 0.66667],\n \"8747\": [0.19444, 0.69444, 0.11111, 0, 0.41667],\n \"8764\": [-0.13313, 0.36687, 0, 0, 0.77778],\n \"8768\": [0.19444, 0.69444, 0, 0, 0.27778],\n \"8771\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8773\": [-0.022, 0.589, 0, 0, 0.778],\n \"8776\": [-0.01688, 0.48312, 0, 0, 0.77778],\n \"8781\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8784\": [-0.133, 0.673, 0, 0, 0.778],\n \"8801\": [-0.03625, 0.46375, 0, 0, 0.77778],\n \"8804\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8805\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8810\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8811\": [0.0391, 0.5391, 0, 0, 1.0],\n \"8826\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8827\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8834\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8835\": [0.0391, 0.5391, 0, 0, 0.77778],\n \"8838\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8839\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8846\": [0, 0.55556, 0, 0, 0.66667],\n \"8849\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8850\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"8851\": [0, 0.55556, 0, 0, 0.66667],\n \"8852\": [0, 0.55556, 0, 0, 0.66667],\n \"8853\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8854\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8855\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8856\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8857\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"8866\": [0, 0.69444, 0, 0, 0.61111],\n \"8867\": [0, 0.69444, 0, 0, 0.61111],\n \"8868\": [0, 0.69444, 0, 0, 0.77778],\n \"8869\": [0, 0.69444, 0, 0, 0.77778],\n \"8872\": [0.249, 0.75, 0, 0, 0.867],\n \"8900\": [-0.05555, 0.44445, 0, 0, 0.5],\n \"8901\": [-0.05555, 0.44445, 0, 0, 0.27778],\n \"8902\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"8904\": [0.005, 0.505, 0, 0, 0.9],\n \"8942\": [0.03, 0.903, 0, 0, 0.278],\n \"8943\": [-0.19, 0.313, 0, 0, 1.172],\n \"8945\": [-0.1, 0.823, 0, 0, 1.282],\n \"8968\": [0.25, 0.75, 0, 0, 0.44445],\n \"8969\": [0.25, 0.75, 0, 0, 0.44445],\n \"8970\": [0.25, 0.75, 0, 0, 0.44445],\n \"8971\": [0.25, 0.75, 0, 0, 0.44445],\n \"8994\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"8995\": [-0.14236, 0.35764, 0, 0, 1.0],\n \"9136\": [0.244, 0.744, 0, 0, 0.412],\n \"9137\": [0.244, 0.745, 0, 0, 0.412],\n \"9651\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9657\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9661\": [0.19444, 0.69444, 0, 0, 0.88889],\n \"9667\": [-0.03472, 0.46528, 0, 0, 0.5],\n \"9711\": [0.19444, 0.69444, 0, 0, 1.0],\n \"9824\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9825\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9826\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9827\": [0.12963, 0.69444, 0, 0, 0.77778],\n \"9837\": [0, 0.75, 0, 0, 0.38889],\n \"9838\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"9839\": [0.19444, 0.69444, 0, 0, 0.38889],\n \"10216\": [0.25, 0.75, 0, 0, 0.38889],\n \"10217\": [0.25, 0.75, 0, 0, 0.38889],\n \"10222\": [0.244, 0.744, 0, 0, 0.412],\n \"10223\": [0.244, 0.745, 0, 0, 0.412],\n \"10229\": [0.011, 0.511, 0, 0, 1.609],\n \"10230\": [0.011, 0.511, 0, 0, 1.638],\n \"10231\": [0.011, 0.511, 0, 0, 1.859],\n \"10232\": [0.024, 0.525, 0, 0, 1.609],\n \"10233\": [0.024, 0.525, 0, 0, 1.638],\n \"10234\": [0.024, 0.525, 0, 0, 1.858],\n \"10236\": [0.011, 0.511, 0, 0, 1.638],\n \"10815\": [0, 0.68333, 0, 0, 0.75],\n \"10927\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"10928\": [0.13597, 0.63597, 0, 0, 0.77778],\n \"57376\": [0.19444, 0.69444, 0, 0, 0]\n },\n \"Math-BoldItalic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.44444, 0, 0, 0.575],\n \"49\": [0, 0.44444, 0, 0, 0.575],\n \"50\": [0, 0.44444, 0, 0, 0.575],\n \"51\": [0.19444, 0.44444, 0, 0, 0.575],\n \"52\": [0.19444, 0.44444, 0, 0, 0.575],\n \"53\": [0.19444, 0.44444, 0, 0, 0.575],\n \"54\": [0, 0.64444, 0, 0, 0.575],\n \"55\": [0.19444, 0.44444, 0, 0, 0.575],\n \"56\": [0, 0.64444, 0, 0, 0.575],\n \"57\": [0.19444, 0.44444, 0, 0, 0.575],\n \"65\": [0, 0.68611, 0, 0, 0.86944],\n \"66\": [0, 0.68611, 0.04835, 0, 0.8664],\n \"67\": [0, 0.68611, 0.06979, 0, 0.81694],\n \"68\": [0, 0.68611, 0.03194, 0, 0.93812],\n \"69\": [0, 0.68611, 0.05451, 0, 0.81007],\n \"70\": [0, 0.68611, 0.15972, 0, 0.68889],\n \"71\": [0, 0.68611, 0, 0, 0.88673],\n \"72\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"73\": [0, 0.68611, 0.07778, 0, 0.51111],\n \"74\": [0, 0.68611, 0.10069, 0, 0.63125],\n \"75\": [0, 0.68611, 0.06979, 0, 0.97118],\n \"76\": [0, 0.68611, 0, 0, 0.75555],\n \"77\": [0, 0.68611, 0.11424, 0, 1.14201],\n \"78\": [0, 0.68611, 0.11424, 0, 0.95034],\n \"79\": [0, 0.68611, 0.03194, 0, 0.83666],\n \"80\": [0, 0.68611, 0.15972, 0, 0.72309],\n \"81\": [0.19444, 0.68611, 0, 0, 0.86861],\n \"82\": [0, 0.68611, 0.00421, 0, 0.87235],\n \"83\": [0, 0.68611, 0.05382, 0, 0.69271],\n \"84\": [0, 0.68611, 0.15972, 0, 0.63663],\n \"85\": [0, 0.68611, 0.11424, 0, 0.80027],\n \"86\": [0, 0.68611, 0.25555, 0, 0.67778],\n \"87\": [0, 0.68611, 0.15972, 0, 1.09305],\n \"88\": [0, 0.68611, 0.07778, 0, 0.94722],\n \"89\": [0, 0.68611, 0.25555, 0, 0.67458],\n \"90\": [0, 0.68611, 0.06979, 0, 0.77257],\n \"97\": [0, 0.44444, 0, 0, 0.63287],\n \"98\": [0, 0.69444, 0, 0, 0.52083],\n \"99\": [0, 0.44444, 0, 0, 0.51342],\n \"100\": [0, 0.69444, 0, 0, 0.60972],\n \"101\": [0, 0.44444, 0, 0, 0.55361],\n \"102\": [0.19444, 0.69444, 0.11042, 0, 0.56806],\n \"103\": [0.19444, 0.44444, 0.03704, 0, 0.5449],\n \"104\": [0, 0.69444, 0, 0, 0.66759],\n \"105\": [0, 0.69326, 0, 0, 0.4048],\n \"106\": [0.19444, 0.69326, 0.0622, 0, 0.47083],\n \"107\": [0, 0.69444, 0.01852, 0, 0.6037],\n \"108\": [0, 0.69444, 0.0088, 0, 0.34815],\n \"109\": [0, 0.44444, 0, 0, 1.0324],\n \"110\": [0, 0.44444, 0, 0, 0.71296],\n \"111\": [0, 0.44444, 0, 0, 0.58472],\n \"112\": [0.19444, 0.44444, 0, 0, 0.60092],\n \"113\": [0.19444, 0.44444, 0.03704, 0, 0.54213],\n \"114\": [0, 0.44444, 0.03194, 0, 0.5287],\n \"115\": [0, 0.44444, 0, 0, 0.53125],\n \"116\": [0, 0.63492, 0, 0, 0.41528],\n \"117\": [0, 0.44444, 0, 0, 0.68102],\n \"118\": [0, 0.44444, 0.03704, 0, 0.56666],\n \"119\": [0, 0.44444, 0.02778, 0, 0.83148],\n \"120\": [0, 0.44444, 0, 0, 0.65903],\n \"121\": [0.19444, 0.44444, 0.03704, 0, 0.59028],\n \"122\": [0, 0.44444, 0.04213, 0, 0.55509],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68611, 0.15972, 0, 0.65694],\n \"916\": [0, 0.68611, 0, 0, 0.95833],\n \"920\": [0, 0.68611, 0.03194, 0, 0.86722],\n \"923\": [0, 0.68611, 0, 0, 0.80555],\n \"926\": [0, 0.68611, 0.07458, 0, 0.84125],\n \"928\": [0, 0.68611, 0.08229, 0, 0.98229],\n \"931\": [0, 0.68611, 0.05451, 0, 0.88507],\n \"933\": [0, 0.68611, 0.15972, 0, 0.67083],\n \"934\": [0, 0.68611, 0, 0, 0.76666],\n \"936\": [0, 0.68611, 0.11653, 0, 0.71402],\n \"937\": [0, 0.68611, 0.04835, 0, 0.8789],\n \"945\": [0, 0.44444, 0, 0, 0.76064],\n \"946\": [0.19444, 0.69444, 0.03403, 0, 0.65972],\n \"947\": [0.19444, 0.44444, 0.06389, 0, 0.59003],\n \"948\": [0, 0.69444, 0.03819, 0, 0.52222],\n \"949\": [0, 0.44444, 0, 0, 0.52882],\n \"950\": [0.19444, 0.69444, 0.06215, 0, 0.50833],\n \"951\": [0.19444, 0.44444, 0.03704, 0, 0.6],\n \"952\": [0, 0.69444, 0.03194, 0, 0.5618],\n \"953\": [0, 0.44444, 0, 0, 0.41204],\n \"954\": [0, 0.44444, 0, 0, 0.66759],\n \"955\": [0, 0.69444, 0, 0, 0.67083],\n \"956\": [0.19444, 0.44444, 0, 0, 0.70787],\n \"957\": [0, 0.44444, 0.06898, 0, 0.57685],\n \"958\": [0.19444, 0.69444, 0.03021, 0, 0.50833],\n \"959\": [0, 0.44444, 0, 0, 0.58472],\n \"960\": [0, 0.44444, 0.03704, 0, 0.68241],\n \"961\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"962\": [0.09722, 0.44444, 0.07917, 0, 0.42361],\n \"963\": [0, 0.44444, 0.03704, 0, 0.68588],\n \"964\": [0, 0.44444, 0.13472, 0, 0.52083],\n \"965\": [0, 0.44444, 0.03704, 0, 0.63055],\n \"966\": [0.19444, 0.44444, 0, 0, 0.74722],\n \"967\": [0.19444, 0.44444, 0, 0, 0.71805],\n \"968\": [0.19444, 0.69444, 0.03704, 0, 0.75833],\n \"969\": [0, 0.44444, 0.03704, 0, 0.71782],\n \"977\": [0, 0.69444, 0, 0, 0.69155],\n \"981\": [0.19444, 0.69444, 0, 0, 0.7125],\n \"982\": [0, 0.44444, 0.03194, 0, 0.975],\n \"1009\": [0.19444, 0.44444, 0, 0, 0.6118],\n \"1013\": [0, 0.44444, 0, 0, 0.48333],\n \"57649\": [0, 0.44444, 0, 0, 0.39352],\n \"57911\": [0.19444, 0.44444, 0, 0, 0.43889]\n },\n \"Math-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"48\": [0, 0.43056, 0, 0, 0.5],\n \"49\": [0, 0.43056, 0, 0, 0.5],\n \"50\": [0, 0.43056, 0, 0, 0.5],\n \"51\": [0.19444, 0.43056, 0, 0, 0.5],\n \"52\": [0.19444, 0.43056, 0, 0, 0.5],\n \"53\": [0.19444, 0.43056, 0, 0, 0.5],\n \"54\": [0, 0.64444, 0, 0, 0.5],\n \"55\": [0.19444, 0.43056, 0, 0, 0.5],\n \"56\": [0, 0.64444, 0, 0, 0.5],\n \"57\": [0.19444, 0.43056, 0, 0, 0.5],\n \"65\": [0, 0.68333, 0, 0.13889, 0.75],\n \"66\": [0, 0.68333, 0.05017, 0.08334, 0.75851],\n \"67\": [0, 0.68333, 0.07153, 0.08334, 0.71472],\n \"68\": [0, 0.68333, 0.02778, 0.05556, 0.82792],\n \"69\": [0, 0.68333, 0.05764, 0.08334, 0.7382],\n \"70\": [0, 0.68333, 0.13889, 0.08334, 0.64306],\n \"71\": [0, 0.68333, 0, 0.08334, 0.78625],\n \"72\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"73\": [0, 0.68333, 0.07847, 0.11111, 0.43958],\n \"74\": [0, 0.68333, 0.09618, 0.16667, 0.55451],\n \"75\": [0, 0.68333, 0.07153, 0.05556, 0.84931],\n \"76\": [0, 0.68333, 0, 0.02778, 0.68056],\n \"77\": [0, 0.68333, 0.10903, 0.08334, 0.97014],\n \"78\": [0, 0.68333, 0.10903, 0.08334, 0.80347],\n \"79\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"80\": [0, 0.68333, 0.13889, 0.08334, 0.64201],\n \"81\": [0.19444, 0.68333, 0, 0.08334, 0.79056],\n \"82\": [0, 0.68333, 0.00773, 0.08334, 0.75929],\n \"83\": [0, 0.68333, 0.05764, 0.08334, 0.6132],\n \"84\": [0, 0.68333, 0.13889, 0.08334, 0.58438],\n \"85\": [0, 0.68333, 0.10903, 0.02778, 0.68278],\n \"86\": [0, 0.68333, 0.22222, 0, 0.58333],\n \"87\": [0, 0.68333, 0.13889, 0, 0.94445],\n \"88\": [0, 0.68333, 0.07847, 0.08334, 0.82847],\n \"89\": [0, 0.68333, 0.22222, 0, 0.58056],\n \"90\": [0, 0.68333, 0.07153, 0.08334, 0.68264],\n \"97\": [0, 0.43056, 0, 0, 0.52859],\n \"98\": [0, 0.69444, 0, 0, 0.42917],\n \"99\": [0, 0.43056, 0, 0.05556, 0.43276],\n \"100\": [0, 0.69444, 0, 0.16667, 0.52049],\n \"101\": [0, 0.43056, 0, 0.05556, 0.46563],\n \"102\": [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],\n \"103\": [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],\n \"104\": [0, 0.69444, 0, 0, 0.57616],\n \"105\": [0, 0.65952, 0, 0, 0.34451],\n \"106\": [0.19444, 0.65952, 0.05724, 0, 0.41181],\n \"107\": [0, 0.69444, 0.03148, 0, 0.5206],\n \"108\": [0, 0.69444, 0.01968, 0.08334, 0.29838],\n \"109\": [0, 0.43056, 0, 0, 0.87801],\n \"110\": [0, 0.43056, 0, 0, 0.60023],\n \"111\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"112\": [0.19444, 0.43056, 0, 0.08334, 0.50313],\n \"113\": [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],\n \"114\": [0, 0.43056, 0.02778, 0.05556, 0.45116],\n \"115\": [0, 0.43056, 0, 0.05556, 0.46875],\n \"116\": [0, 0.61508, 0, 0.08334, 0.36111],\n \"117\": [0, 0.43056, 0, 0.02778, 0.57246],\n \"118\": [0, 0.43056, 0.03588, 0.02778, 0.48472],\n \"119\": [0, 0.43056, 0.02691, 0.08334, 0.71592],\n \"120\": [0, 0.43056, 0, 0.02778, 0.57153],\n \"121\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],\n \"122\": [0, 0.43056, 0.04398, 0.05556, 0.46505],\n \"160\": [0, 0, 0, 0, 0.25],\n \"915\": [0, 0.68333, 0.13889, 0.08334, 0.61528],\n \"916\": [0, 0.68333, 0, 0.16667, 0.83334],\n \"920\": [0, 0.68333, 0.02778, 0.08334, 0.76278],\n \"923\": [0, 0.68333, 0, 0.16667, 0.69445],\n \"926\": [0, 0.68333, 0.07569, 0.08334, 0.74236],\n \"928\": [0, 0.68333, 0.08125, 0.05556, 0.83125],\n \"931\": [0, 0.68333, 0.05764, 0.08334, 0.77986],\n \"933\": [0, 0.68333, 0.13889, 0.05556, 0.58333],\n \"934\": [0, 0.68333, 0, 0.08334, 0.66667],\n \"936\": [0, 0.68333, 0.11, 0.05556, 0.61222],\n \"937\": [0, 0.68333, 0.05017, 0.08334, 0.7724],\n \"945\": [0, 0.43056, 0.0037, 0.02778, 0.6397],\n \"946\": [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],\n \"947\": [0.19444, 0.43056, 0.05556, 0, 0.51773],\n \"948\": [0, 0.69444, 0.03785, 0.05556, 0.44444],\n \"949\": [0, 0.43056, 0, 0.08334, 0.46632],\n \"950\": [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],\n \"951\": [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],\n \"952\": [0, 0.69444, 0.02778, 0.08334, 0.46944],\n \"953\": [0, 0.43056, 0, 0.05556, 0.35394],\n \"954\": [0, 0.43056, 0, 0, 0.57616],\n \"955\": [0, 0.69444, 0, 0, 0.58334],\n \"956\": [0.19444, 0.43056, 0, 0.02778, 0.60255],\n \"957\": [0, 0.43056, 0.06366, 0.02778, 0.49398],\n \"958\": [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],\n \"959\": [0, 0.43056, 0, 0.05556, 0.48472],\n \"960\": [0, 0.43056, 0.03588, 0, 0.57003],\n \"961\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"962\": [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],\n \"963\": [0, 0.43056, 0.03588, 0, 0.57141],\n \"964\": [0, 0.43056, 0.1132, 0.02778, 0.43715],\n \"965\": [0, 0.43056, 0.03588, 0.02778, 0.54028],\n \"966\": [0.19444, 0.43056, 0, 0.08334, 0.65417],\n \"967\": [0.19444, 0.43056, 0, 0.05556, 0.62569],\n \"968\": [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],\n \"969\": [0, 0.43056, 0.03588, 0, 0.62245],\n \"977\": [0, 0.69444, 0, 0.08334, 0.59144],\n \"981\": [0.19444, 0.69444, 0, 0.08334, 0.59583],\n \"982\": [0, 0.43056, 0.02778, 0, 0.82813],\n \"1009\": [0.19444, 0.43056, 0, 0.08334, 0.51702],\n \"1013\": [0, 0.43056, 0, 0.05556, 0.4059],\n \"57649\": [0, 0.43056, 0, 0.02778, 0.32246],\n \"57911\": [0.19444, 0.43056, 0, 0.08334, 0.38403]\n },\n \"SansSerif-Bold\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.36667],\n \"34\": [0, 0.69444, 0, 0, 0.55834],\n \"35\": [0.19444, 0.69444, 0, 0, 0.91667],\n \"36\": [0.05556, 0.75, 0, 0, 0.55],\n \"37\": [0.05556, 0.75, 0, 0, 1.02912],\n \"38\": [0, 0.69444, 0, 0, 0.83056],\n \"39\": [0, 0.69444, 0, 0, 0.30556],\n \"40\": [0.25, 0.75, 0, 0, 0.42778],\n \"41\": [0.25, 0.75, 0, 0, 0.42778],\n \"42\": [0, 0.75, 0, 0, 0.55],\n \"43\": [0.11667, 0.61667, 0, 0, 0.85556],\n \"44\": [0.10556, 0.13056, 0, 0, 0.30556],\n \"45\": [0, 0.45833, 0, 0, 0.36667],\n \"46\": [0, 0.13056, 0, 0, 0.30556],\n \"47\": [0.25, 0.75, 0, 0, 0.55],\n \"48\": [0, 0.69444, 0, 0, 0.55],\n \"49\": [0, 0.69444, 0, 0, 0.55],\n \"50\": [0, 0.69444, 0, 0, 0.55],\n \"51\": [0, 0.69444, 0, 0, 0.55],\n \"52\": [0, 0.69444, 0, 0, 0.55],\n \"53\": [0, 0.69444, 0, 0, 0.55],\n \"54\": [0, 0.69444, 0, 0, 0.55],\n \"55\": [0, 0.69444, 0, 0, 0.55],\n \"56\": [0, 0.69444, 0, 0, 0.55],\n \"57\": [0, 0.69444, 0, 0, 0.55],\n \"58\": [0, 0.45833, 0, 0, 0.30556],\n \"59\": [0.10556, 0.45833, 0, 0, 0.30556],\n \"61\": [-0.09375, 0.40625, 0, 0, 0.85556],\n \"63\": [0, 0.69444, 0, 0, 0.51945],\n \"64\": [0, 0.69444, 0, 0, 0.73334],\n \"65\": [0, 0.69444, 0, 0, 0.73334],\n \"66\": [0, 0.69444, 0, 0, 0.73334],\n \"67\": [0, 0.69444, 0, 0, 0.70278],\n \"68\": [0, 0.69444, 0, 0, 0.79445],\n \"69\": [0, 0.69444, 0, 0, 0.64167],\n \"70\": [0, 0.69444, 0, 0, 0.61111],\n \"71\": [0, 0.69444, 0, 0, 0.73334],\n \"72\": [0, 0.69444, 0, 0, 0.79445],\n \"73\": [0, 0.69444, 0, 0, 0.33056],\n \"74\": [0, 0.69444, 0, 0, 0.51945],\n \"75\": [0, 0.69444, 0, 0, 0.76389],\n \"76\": [0, 0.69444, 0, 0, 0.58056],\n \"77\": [0, 0.69444, 0, 0, 0.97778],\n \"78\": [0, 0.69444, 0, 0, 0.79445],\n \"79\": [0, 0.69444, 0, 0, 0.79445],\n \"80\": [0, 0.69444, 0, 0, 0.70278],\n \"81\": [0.10556, 0.69444, 0, 0, 0.79445],\n \"82\": [0, 0.69444, 0, 0, 0.70278],\n \"83\": [0, 0.69444, 0, 0, 0.61111],\n \"84\": [0, 0.69444, 0, 0, 0.73334],\n \"85\": [0, 0.69444, 0, 0, 0.76389],\n \"86\": [0, 0.69444, 0.01528, 0, 0.73334],\n \"87\": [0, 0.69444, 0.01528, 0, 1.03889],\n \"88\": [0, 0.69444, 0, 0, 0.73334],\n \"89\": [0, 0.69444, 0.0275, 0, 0.73334],\n \"90\": [0, 0.69444, 0, 0, 0.67223],\n \"91\": [0.25, 0.75, 0, 0, 0.34306],\n \"93\": [0.25, 0.75, 0, 0, 0.34306],\n \"94\": [0, 0.69444, 0, 0, 0.55],\n \"95\": [0.35, 0.10833, 0.03056, 0, 0.55],\n \"97\": [0, 0.45833, 0, 0, 0.525],\n \"98\": [0, 0.69444, 0, 0, 0.56111],\n \"99\": [0, 0.45833, 0, 0, 0.48889],\n \"100\": [0, 0.69444, 0, 0, 0.56111],\n \"101\": [0, 0.45833, 0, 0, 0.51111],\n \"102\": [0, 0.69444, 0.07639, 0, 0.33611],\n \"103\": [0.19444, 0.45833, 0.01528, 0, 0.55],\n \"104\": [0, 0.69444, 0, 0, 0.56111],\n \"105\": [0, 0.69444, 0, 0, 0.25556],\n \"106\": [0.19444, 0.69444, 0, 0, 0.28611],\n \"107\": [0, 0.69444, 0, 0, 0.53056],\n \"108\": [0, 0.69444, 0, 0, 0.25556],\n \"109\": [0, 0.45833, 0, 0, 0.86667],\n \"110\": [0, 0.45833, 0, 0, 0.56111],\n \"111\": [0, 0.45833, 0, 0, 0.55],\n \"112\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"113\": [0.19444, 0.45833, 0, 0, 0.56111],\n \"114\": [0, 0.45833, 0.01528, 0, 0.37222],\n \"115\": [0, 0.45833, 0, 0, 0.42167],\n \"116\": [0, 0.58929, 0, 0, 0.40417],\n \"117\": [0, 0.45833, 0, 0, 0.56111],\n \"118\": [0, 0.45833, 0.01528, 0, 0.5],\n \"119\": [0, 0.45833, 0.01528, 0, 0.74445],\n \"120\": [0, 0.45833, 0, 0, 0.5],\n \"121\": [0.19444, 0.45833, 0.01528, 0, 0.5],\n \"122\": [0, 0.45833, 0, 0, 0.47639],\n \"126\": [0.35, 0.34444, 0, 0, 0.55],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.69444, 0, 0, 0.55],\n \"176\": [0, 0.69444, 0, 0, 0.73334],\n \"180\": [0, 0.69444, 0, 0, 0.55],\n \"184\": [0.17014, 0, 0, 0, 0.48889],\n \"305\": [0, 0.45833, 0, 0, 0.25556],\n \"567\": [0.19444, 0.45833, 0, 0, 0.28611],\n \"710\": [0, 0.69444, 0, 0, 0.55],\n \"711\": [0, 0.63542, 0, 0, 0.55],\n \"713\": [0, 0.63778, 0, 0, 0.55],\n \"728\": [0, 0.69444, 0, 0, 0.55],\n \"729\": [0, 0.69444, 0, 0, 0.30556],\n \"730\": [0, 0.69444, 0, 0, 0.73334],\n \"732\": [0, 0.69444, 0, 0, 0.55],\n \"733\": [0, 0.69444, 0, 0, 0.55],\n \"915\": [0, 0.69444, 0, 0, 0.58056],\n \"916\": [0, 0.69444, 0, 0, 0.91667],\n \"920\": [0, 0.69444, 0, 0, 0.85556],\n \"923\": [0, 0.69444, 0, 0, 0.67223],\n \"926\": [0, 0.69444, 0, 0, 0.73334],\n \"928\": [0, 0.69444, 0, 0, 0.79445],\n \"931\": [0, 0.69444, 0, 0, 0.79445],\n \"933\": [0, 0.69444, 0, 0, 0.85556],\n \"934\": [0, 0.69444, 0, 0, 0.79445],\n \"936\": [0, 0.69444, 0, 0, 0.85556],\n \"937\": [0, 0.69444, 0, 0, 0.79445],\n \"8211\": [0, 0.45833, 0.03056, 0, 0.55],\n \"8212\": [0, 0.45833, 0.03056, 0, 1.10001],\n \"8216\": [0, 0.69444, 0, 0, 0.30556],\n \"8217\": [0, 0.69444, 0, 0, 0.30556],\n \"8220\": [0, 0.69444, 0, 0, 0.55834],\n \"8221\": [0, 0.69444, 0, 0, 0.55834]\n },\n \"SansSerif-Italic\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0.05733, 0, 0.31945],\n \"34\": [0, 0.69444, 0.00316, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0.05087, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0.11156, 0, 0.5],\n \"37\": [0.05556, 0.75, 0.03126, 0, 0.83334],\n \"38\": [0, 0.69444, 0.03058, 0, 0.75834],\n \"39\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"40\": [0.25, 0.75, 0.13164, 0, 0.38889],\n \"41\": [0.25, 0.75, 0.02536, 0, 0.38889],\n \"42\": [0, 0.75, 0.11775, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0.02536, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0.01946, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0.13164, 0, 0.5],\n \"48\": [0, 0.65556, 0.11156, 0, 0.5],\n \"49\": [0, 0.65556, 0.11156, 0, 0.5],\n \"50\": [0, 0.65556, 0.11156, 0, 0.5],\n \"51\": [0, 0.65556, 0.11156, 0, 0.5],\n \"52\": [0, 0.65556, 0.11156, 0, 0.5],\n \"53\": [0, 0.65556, 0.11156, 0, 0.5],\n \"54\": [0, 0.65556, 0.11156, 0, 0.5],\n \"55\": [0, 0.65556, 0.11156, 0, 0.5],\n \"56\": [0, 0.65556, 0.11156, 0, 0.5],\n \"57\": [0, 0.65556, 0.11156, 0, 0.5],\n \"58\": [0, 0.44444, 0.02502, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0.02502, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0.05087, 0, 0.77778],\n \"63\": [0, 0.69444, 0.11809, 0, 0.47222],\n \"64\": [0, 0.69444, 0.07555, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0.08293, 0, 0.66667],\n \"67\": [0, 0.69444, 0.11983, 0, 0.63889],\n \"68\": [0, 0.69444, 0.07555, 0, 0.72223],\n \"69\": [0, 0.69444, 0.11983, 0, 0.59722],\n \"70\": [0, 0.69444, 0.13372, 0, 0.56945],\n \"71\": [0, 0.69444, 0.11983, 0, 0.66667],\n \"72\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"73\": [0, 0.69444, 0.13372, 0, 0.27778],\n \"74\": [0, 0.69444, 0.08094, 0, 0.47222],\n \"75\": [0, 0.69444, 0.11983, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0.08094, 0, 0.875],\n \"78\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"79\": [0, 0.69444, 0.07555, 0, 0.73611],\n \"80\": [0, 0.69444, 0.08293, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0.07555, 0, 0.73611],\n \"82\": [0, 0.69444, 0.08293, 0, 0.64584],\n \"83\": [0, 0.69444, 0.09205, 0, 0.55556],\n \"84\": [0, 0.69444, 0.13372, 0, 0.68056],\n \"85\": [0, 0.69444, 0.08094, 0, 0.6875],\n \"86\": [0, 0.69444, 0.1615, 0, 0.66667],\n \"87\": [0, 0.69444, 0.1615, 0, 0.94445],\n \"88\": [0, 0.69444, 0.13372, 0, 0.66667],\n \"89\": [0, 0.69444, 0.17261, 0, 0.66667],\n \"90\": [0, 0.69444, 0.11983, 0, 0.61111],\n \"91\": [0.25, 0.75, 0.15942, 0, 0.28889],\n \"93\": [0.25, 0.75, 0.08719, 0, 0.28889],\n \"94\": [0, 0.69444, 0.0799, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.08616, 0, 0.5],\n \"97\": [0, 0.44444, 0.00981, 0, 0.48056],\n \"98\": [0, 0.69444, 0.03057, 0, 0.51667],\n \"99\": [0, 0.44444, 0.08336, 0, 0.44445],\n \"100\": [0, 0.69444, 0.09483, 0, 0.51667],\n \"101\": [0, 0.44444, 0.06778, 0, 0.44445],\n \"102\": [0, 0.69444, 0.21705, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.10836, 0, 0.5],\n \"104\": [0, 0.69444, 0.01778, 0, 0.51667],\n \"105\": [0, 0.67937, 0.09718, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0.09162, 0, 0.26667],\n \"107\": [0, 0.69444, 0.08336, 0, 0.48889],\n \"108\": [0, 0.69444, 0.09483, 0, 0.23889],\n \"109\": [0, 0.44444, 0.01778, 0, 0.79445],\n \"110\": [0, 0.44444, 0.01778, 0, 0.51667],\n \"111\": [0, 0.44444, 0.06613, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0.0389, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0.04169, 0, 0.51667],\n \"114\": [0, 0.44444, 0.10836, 0, 0.34167],\n \"115\": [0, 0.44444, 0.0778, 0, 0.38333],\n \"116\": [0, 0.57143, 0.07225, 0, 0.36111],\n \"117\": [0, 0.44444, 0.04169, 0, 0.51667],\n \"118\": [0, 0.44444, 0.10836, 0, 0.46111],\n \"119\": [0, 0.44444, 0.10836, 0, 0.68334],\n \"120\": [0, 0.44444, 0.09169, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.10836, 0, 0.46111],\n \"122\": [0, 0.44444, 0.08752, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0.08826, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0.06385, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.73752],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0.04169, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0.04169, 0, 0.26667],\n \"710\": [0, 0.69444, 0.0799, 0, 0.5],\n \"711\": [0, 0.63194, 0.08432, 0, 0.5],\n \"713\": [0, 0.60889, 0.08776, 0, 0.5],\n \"714\": [0, 0.69444, 0.09205, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0.09483, 0, 0.5],\n \"729\": [0, 0.67937, 0.07774, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.73752],\n \"732\": [0, 0.67659, 0.08826, 0, 0.5],\n \"733\": [0, 0.69444, 0.09205, 0, 0.5],\n \"915\": [0, 0.69444, 0.13372, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0.07555, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0.12816, 0, 0.66667],\n \"928\": [0, 0.69444, 0.08094, 0, 0.70834],\n \"931\": [0, 0.69444, 0.11983, 0, 0.72222],\n \"933\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"934\": [0, 0.69444, 0.04603, 0, 0.72222],\n \"936\": [0, 0.69444, 0.09031, 0, 0.77778],\n \"937\": [0, 0.69444, 0.08293, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.08616, 0, 0.5],\n \"8212\": [0, 0.44444, 0.08616, 0, 1.0],\n \"8216\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8217\": [0, 0.69444, 0.07816, 0, 0.27778],\n \"8220\": [0, 0.69444, 0.14205, 0, 0.5],\n \"8221\": [0, 0.69444, 0.00316, 0, 0.5]\n },\n \"SansSerif-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"33\": [0, 0.69444, 0, 0, 0.31945],\n \"34\": [0, 0.69444, 0, 0, 0.5],\n \"35\": [0.19444, 0.69444, 0, 0, 0.83334],\n \"36\": [0.05556, 0.75, 0, 0, 0.5],\n \"37\": [0.05556, 0.75, 0, 0, 0.83334],\n \"38\": [0, 0.69444, 0, 0, 0.75834],\n \"39\": [0, 0.69444, 0, 0, 0.27778],\n \"40\": [0.25, 0.75, 0, 0, 0.38889],\n \"41\": [0.25, 0.75, 0, 0, 0.38889],\n \"42\": [0, 0.75, 0, 0, 0.5],\n \"43\": [0.08333, 0.58333, 0, 0, 0.77778],\n \"44\": [0.125, 0.08333, 0, 0, 0.27778],\n \"45\": [0, 0.44444, 0, 0, 0.33333],\n \"46\": [0, 0.08333, 0, 0, 0.27778],\n \"47\": [0.25, 0.75, 0, 0, 0.5],\n \"48\": [0, 0.65556, 0, 0, 0.5],\n \"49\": [0, 0.65556, 0, 0, 0.5],\n \"50\": [0, 0.65556, 0, 0, 0.5],\n \"51\": [0, 0.65556, 0, 0, 0.5],\n \"52\": [0, 0.65556, 0, 0, 0.5],\n \"53\": [0, 0.65556, 0, 0, 0.5],\n \"54\": [0, 0.65556, 0, 0, 0.5],\n \"55\": [0, 0.65556, 0, 0, 0.5],\n \"56\": [0, 0.65556, 0, 0, 0.5],\n \"57\": [0, 0.65556, 0, 0, 0.5],\n \"58\": [0, 0.44444, 0, 0, 0.27778],\n \"59\": [0.125, 0.44444, 0, 0, 0.27778],\n \"61\": [-0.13, 0.37, 0, 0, 0.77778],\n \"63\": [0, 0.69444, 0, 0, 0.47222],\n \"64\": [0, 0.69444, 0, 0, 0.66667],\n \"65\": [0, 0.69444, 0, 0, 0.66667],\n \"66\": [0, 0.69444, 0, 0, 0.66667],\n \"67\": [0, 0.69444, 0, 0, 0.63889],\n \"68\": [0, 0.69444, 0, 0, 0.72223],\n \"69\": [0, 0.69444, 0, 0, 0.59722],\n \"70\": [0, 0.69444, 0, 0, 0.56945],\n \"71\": [0, 0.69444, 0, 0, 0.66667],\n \"72\": [0, 0.69444, 0, 0, 0.70834],\n \"73\": [0, 0.69444, 0, 0, 0.27778],\n \"74\": [0, 0.69444, 0, 0, 0.47222],\n \"75\": [0, 0.69444, 0, 0, 0.69445],\n \"76\": [0, 0.69444, 0, 0, 0.54167],\n \"77\": [0, 0.69444, 0, 0, 0.875],\n \"78\": [0, 0.69444, 0, 0, 0.70834],\n \"79\": [0, 0.69444, 0, 0, 0.73611],\n \"80\": [0, 0.69444, 0, 0, 0.63889],\n \"81\": [0.125, 0.69444, 0, 0, 0.73611],\n \"82\": [0, 0.69444, 0, 0, 0.64584],\n \"83\": [0, 0.69444, 0, 0, 0.55556],\n \"84\": [0, 0.69444, 0, 0, 0.68056],\n \"85\": [0, 0.69444, 0, 0, 0.6875],\n \"86\": [0, 0.69444, 0.01389, 0, 0.66667],\n \"87\": [0, 0.69444, 0.01389, 0, 0.94445],\n \"88\": [0, 0.69444, 0, 0, 0.66667],\n \"89\": [0, 0.69444, 0.025, 0, 0.66667],\n \"90\": [0, 0.69444, 0, 0, 0.61111],\n \"91\": [0.25, 0.75, 0, 0, 0.28889],\n \"93\": [0.25, 0.75, 0, 0, 0.28889],\n \"94\": [0, 0.69444, 0, 0, 0.5],\n \"95\": [0.35, 0.09444, 0.02778, 0, 0.5],\n \"97\": [0, 0.44444, 0, 0, 0.48056],\n \"98\": [0, 0.69444, 0, 0, 0.51667],\n \"99\": [0, 0.44444, 0, 0, 0.44445],\n \"100\": [0, 0.69444, 0, 0, 0.51667],\n \"101\": [0, 0.44444, 0, 0, 0.44445],\n \"102\": [0, 0.69444, 0.06944, 0, 0.30556],\n \"103\": [0.19444, 0.44444, 0.01389, 0, 0.5],\n \"104\": [0, 0.69444, 0, 0, 0.51667],\n \"105\": [0, 0.67937, 0, 0, 0.23889],\n \"106\": [0.19444, 0.67937, 0, 0, 0.26667],\n \"107\": [0, 0.69444, 0, 0, 0.48889],\n \"108\": [0, 0.69444, 0, 0, 0.23889],\n \"109\": [0, 0.44444, 0, 0, 0.79445],\n \"110\": [0, 0.44444, 0, 0, 0.51667],\n \"111\": [0, 0.44444, 0, 0, 0.5],\n \"112\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"113\": [0.19444, 0.44444, 0, 0, 0.51667],\n \"114\": [0, 0.44444, 0.01389, 0, 0.34167],\n \"115\": [0, 0.44444, 0, 0, 0.38333],\n \"116\": [0, 0.57143, 0, 0, 0.36111],\n \"117\": [0, 0.44444, 0, 0, 0.51667],\n \"118\": [0, 0.44444, 0.01389, 0, 0.46111],\n \"119\": [0, 0.44444, 0.01389, 0, 0.68334],\n \"120\": [0, 0.44444, 0, 0, 0.46111],\n \"121\": [0.19444, 0.44444, 0.01389, 0, 0.46111],\n \"122\": [0, 0.44444, 0, 0, 0.43472],\n \"126\": [0.35, 0.32659, 0, 0, 0.5],\n \"160\": [0, 0, 0, 0, 0.25],\n \"168\": [0, 0.67937, 0, 0, 0.5],\n \"176\": [0, 0.69444, 0, 0, 0.66667],\n \"184\": [0.17014, 0, 0, 0, 0.44445],\n \"305\": [0, 0.44444, 0, 0, 0.23889],\n \"567\": [0.19444, 0.44444, 0, 0, 0.26667],\n \"710\": [0, 0.69444, 0, 0, 0.5],\n \"711\": [0, 0.63194, 0, 0, 0.5],\n \"713\": [0, 0.60889, 0, 0, 0.5],\n \"714\": [0, 0.69444, 0, 0, 0.5],\n \"715\": [0, 0.69444, 0, 0, 0.5],\n \"728\": [0, 0.69444, 0, 0, 0.5],\n \"729\": [0, 0.67937, 0, 0, 0.27778],\n \"730\": [0, 0.69444, 0, 0, 0.66667],\n \"732\": [0, 0.67659, 0, 0, 0.5],\n \"733\": [0, 0.69444, 0, 0, 0.5],\n \"915\": [0, 0.69444, 0, 0, 0.54167],\n \"916\": [0, 0.69444, 0, 0, 0.83334],\n \"920\": [0, 0.69444, 0, 0, 0.77778],\n \"923\": [0, 0.69444, 0, 0, 0.61111],\n \"926\": [0, 0.69444, 0, 0, 0.66667],\n \"928\": [0, 0.69444, 0, 0, 0.70834],\n \"931\": [0, 0.69444, 0, 0, 0.72222],\n \"933\": [0, 0.69444, 0, 0, 0.77778],\n \"934\": [0, 0.69444, 0, 0, 0.72222],\n \"936\": [0, 0.69444, 0, 0, 0.77778],\n \"937\": [0, 0.69444, 0, 0, 0.72222],\n \"8211\": [0, 0.44444, 0.02778, 0, 0.5],\n \"8212\": [0, 0.44444, 0.02778, 0, 1.0],\n \"8216\": [0, 0.69444, 0, 0, 0.27778],\n \"8217\": [0, 0.69444, 0, 0, 0.27778],\n \"8220\": [0, 0.69444, 0, 0, 0.5],\n \"8221\": [0, 0.69444, 0, 0, 0.5]\n },\n \"Script-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"65\": [0, 0.7, 0.22925, 0, 0.80253],\n \"66\": [0, 0.7, 0.04087, 0, 0.90757],\n \"67\": [0, 0.7, 0.1689, 0, 0.66619],\n \"68\": [0, 0.7, 0.09371, 0, 0.77443],\n \"69\": [0, 0.7, 0.18583, 0, 0.56162],\n \"70\": [0, 0.7, 0.13634, 0, 0.89544],\n \"71\": [0, 0.7, 0.17322, 0, 0.60961],\n \"72\": [0, 0.7, 0.29694, 0, 0.96919],\n \"73\": [0, 0.7, 0.19189, 0, 0.80907],\n \"74\": [0.27778, 0.7, 0.19189, 0, 1.05159],\n \"75\": [0, 0.7, 0.31259, 0, 0.91364],\n \"76\": [0, 0.7, 0.19189, 0, 0.87373],\n \"77\": [0, 0.7, 0.15981, 0, 1.08031],\n \"78\": [0, 0.7, 0.3525, 0, 0.9015],\n \"79\": [0, 0.7, 0.08078, 0, 0.73787],\n \"80\": [0, 0.7, 0.08078, 0, 1.01262],\n \"81\": [0, 0.7, 0.03305, 0, 0.88282],\n \"82\": [0, 0.7, 0.06259, 0, 0.85],\n \"83\": [0, 0.7, 0.19189, 0, 0.86767],\n \"84\": [0, 0.7, 0.29087, 0, 0.74697],\n \"85\": [0, 0.7, 0.25815, 0, 0.79996],\n \"86\": [0, 0.7, 0.27523, 0, 0.62204],\n \"87\": [0, 0.7, 0.27523, 0, 0.80532],\n \"88\": [0, 0.7, 0.26006, 0, 0.94445],\n \"89\": [0, 0.7, 0.2939, 0, 0.70961],\n \"90\": [0, 0.7, 0.24037, 0, 0.8212],\n \"160\": [0, 0, 0, 0, 0.25]\n },\n \"Size1-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.35001, 0.85, 0, 0, 0.45834],\n \"41\": [0.35001, 0.85, 0, 0, 0.45834],\n \"47\": [0.35001, 0.85, 0, 0, 0.57778],\n \"91\": [0.35001, 0.85, 0, 0, 0.41667],\n \"92\": [0.35001, 0.85, 0, 0, 0.57778],\n \"93\": [0.35001, 0.85, 0, 0, 0.41667],\n \"123\": [0.35001, 0.85, 0, 0, 0.58334],\n \"125\": [0.35001, 0.85, 0, 0, 0.58334],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.72222, 0, 0, 0.55556],\n \"732\": [0, 0.72222, 0, 0, 0.55556],\n \"770\": [0, 0.72222, 0, 0, 0.55556],\n \"771\": [0, 0.72222, 0, 0, 0.55556],\n \"8214\": [-0.00099, 0.601, 0, 0, 0.77778],\n \"8593\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8595\": [1e-05, 0.6, 0, 0, 0.66667],\n \"8657\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8659\": [1e-05, 0.6, 0, 0, 0.77778],\n \"8719\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8720\": [0.25001, 0.75, 0, 0, 0.94445],\n \"8721\": [0.25001, 0.75, 0, 0, 1.05556],\n \"8730\": [0.35001, 0.85, 0, 0, 1.0],\n \"8739\": [-0.00599, 0.606, 0, 0, 0.33333],\n \"8741\": [-0.00599, 0.606, 0, 0, 0.55556],\n \"8747\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8748\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8749\": [0.306, 0.805, 0.19445, 0, 0.47222],\n \"8750\": [0.30612, 0.805, 0.19445, 0, 0.47222],\n \"8896\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8897\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8898\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8899\": [0.25001, 0.75, 0, 0, 0.83334],\n \"8968\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8969\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8970\": [0.35001, 0.85, 0, 0, 0.47222],\n \"8971\": [0.35001, 0.85, 0, 0, 0.47222],\n \"9168\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"10216\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10217\": [0.35001, 0.85, 0, 0, 0.47222],\n \"10752\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10753\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10754\": [0.25001, 0.75, 0, 0, 1.11111],\n \"10756\": [0.25001, 0.75, 0, 0, 0.83334],\n \"10758\": [0.25001, 0.75, 0, 0, 0.83334]\n },\n \"Size2-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.65002, 1.15, 0, 0, 0.59722],\n \"41\": [0.65002, 1.15, 0, 0, 0.59722],\n \"47\": [0.65002, 1.15, 0, 0, 0.81111],\n \"91\": [0.65002, 1.15, 0, 0, 0.47222],\n \"92\": [0.65002, 1.15, 0, 0, 0.81111],\n \"93\": [0.65002, 1.15, 0, 0, 0.47222],\n \"123\": [0.65002, 1.15, 0, 0, 0.66667],\n \"125\": [0.65002, 1.15, 0, 0, 0.66667],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.0],\n \"732\": [0, 0.75, 0, 0, 1.0],\n \"770\": [0, 0.75, 0, 0, 1.0],\n \"771\": [0, 0.75, 0, 0, 1.0],\n \"8719\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8720\": [0.55001, 1.05, 0, 0, 1.27778],\n \"8721\": [0.55001, 1.05, 0, 0, 1.44445],\n \"8730\": [0.65002, 1.15, 0, 0, 1.0],\n \"8747\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8748\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8749\": [0.862, 1.36, 0.44445, 0, 0.55556],\n \"8750\": [0.86225, 1.36, 0.44445, 0, 0.55556],\n \"8896\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8897\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8898\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8899\": [0.55001, 1.05, 0, 0, 1.11111],\n \"8968\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8969\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8970\": [0.65002, 1.15, 0, 0, 0.52778],\n \"8971\": [0.65002, 1.15, 0, 0, 0.52778],\n \"10216\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10217\": [0.65002, 1.15, 0, 0, 0.61111],\n \"10752\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10753\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10754\": [0.55001, 1.05, 0, 0, 1.51112],\n \"10756\": [0.55001, 1.05, 0, 0, 1.11111],\n \"10758\": [0.55001, 1.05, 0, 0, 1.11111]\n },\n \"Size3-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [0.95003, 1.45, 0, 0, 0.73611],\n \"41\": [0.95003, 1.45, 0, 0, 0.73611],\n \"47\": [0.95003, 1.45, 0, 0, 1.04445],\n \"91\": [0.95003, 1.45, 0, 0, 0.52778],\n \"92\": [0.95003, 1.45, 0, 0, 1.04445],\n \"93\": [0.95003, 1.45, 0, 0, 0.52778],\n \"123\": [0.95003, 1.45, 0, 0, 0.75],\n \"125\": [0.95003, 1.45, 0, 0, 0.75],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.75, 0, 0, 1.44445],\n \"732\": [0, 0.75, 0, 0, 1.44445],\n \"770\": [0, 0.75, 0, 0, 1.44445],\n \"771\": [0, 0.75, 0, 0, 1.44445],\n \"8730\": [0.95003, 1.45, 0, 0, 1.0],\n \"8968\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8969\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8970\": [0.95003, 1.45, 0, 0, 0.58334],\n \"8971\": [0.95003, 1.45, 0, 0, 0.58334],\n \"10216\": [0.95003, 1.45, 0, 0, 0.75],\n \"10217\": [0.95003, 1.45, 0, 0, 0.75]\n },\n \"Size4-Regular\": {\n \"32\": [0, 0, 0, 0, 0.25],\n \"40\": [1.25003, 1.75, 0, 0, 0.79167],\n \"41\": [1.25003, 1.75, 0, 0, 0.79167],\n \"47\": [1.25003, 1.75, 0, 0, 1.27778],\n \"91\": [1.25003, 1.75, 0, 0, 0.58334],\n \"92\": [1.25003, 1.75, 0, 0, 1.27778],\n \"93\": [1.25003, 1.75, 0, 0, 0.58334],\n \"123\": [1.25003, 1.75, 0, 0, 0.80556],\n \"125\": [1.25003, 1.75, 0, 0, 0.80556],\n \"160\": [0, 0, 0, 0, 0.25],\n \"710\": [0, 0.825, 0, 0, 1.8889],\n \"732\": [0, 0.825, 0, 0, 1.8889],\n \"770\": [0, 0.825, 0, 0, 1.8889],\n \"771\": [0, 0.825, 0, 0, 1.8889],\n \"8730\": [1.25003, 1.75, 0, 0, 1.0],\n \"8968\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8969\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8970\": [1.25003, 1.75, 0, 0, 0.63889],\n \"8971\": [1.25003, 1.75, 0, 0, 0.63889],\n \"9115\": [0.64502, 1.155, 0, 0, 0.875],\n \"9116\": [1e-05, 0.6, 0, 0, 0.875],\n \"9117\": [0.64502, 1.155, 0, 0, 0.875],\n \"9118\": [0.64502, 1.155, 0, 0, 0.875],\n \"9119\": [1e-05, 0.6, 0, 0, 0.875],\n \"9120\": [0.64502, 1.155, 0, 0, 0.875],\n \"9121\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9122\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9123\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9124\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9125\": [-0.00099, 0.601, 0, 0, 0.66667],\n \"9126\": [0.64502, 1.155, 0, 0, 0.66667],\n \"9127\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9128\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9129\": [0.90001, 0, 0, 0, 0.88889],\n \"9130\": [0, 0.3, 0, 0, 0.88889],\n \"9131\": [1e-05, 0.9, 0, 0, 0.88889],\n \"9132\": [0.65002, 1.15, 0, 0, 0.88889],\n \"9133\": [0.90001, 0, 0, 0, 0.88889],\n \"9143\": [0.88502, 0.915, 0, 0, 1.05556],\n \"10216\": [1.25003, 1.75, 0, 0, 0.80556],\n \"10217\": [1.25003, 1.75, 0, 0, 0.80556],\n \"57344\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57345\": [-0.00499, 0.605, 0, 0, 1.05556],\n \"57680\": [0, 0.12, 0, 0, 0.45],\n \"57681\": [0, 0.12, 0, 0, 0.45],\n \"57682\": [0, 0.12, 0, 0, 0.45],\n \"57683\": [0, 0.12, 0, 0, 0.45]\n },\n \"Typewriter-Regular\": {\n \"32\": [0, 0, 0, 0, 0.525],\n \"33\": [0, 0.61111, 0, 0, 0.525],\n \"34\": [0, 0.61111, 0, 0, 0.525],\n \"35\": [0, 0.61111, 0, 0, 0.525],\n \"36\": [0.08333, 0.69444, 0, 0, 0.525],\n \"37\": [0.08333, 0.69444, 0, 0, 0.525],\n \"38\": [0, 0.61111, 0, 0, 0.525],\n \"39\": [0, 0.61111, 0, 0, 0.525],\n \"40\": [0.08333, 0.69444, 0, 0, 0.525],\n \"41\": [0.08333, 0.69444, 0, 0, 0.525],\n \"42\": [0, 0.52083, 0, 0, 0.525],\n \"43\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"44\": [0.13889, 0.125, 0, 0, 0.525],\n \"45\": [-0.08056, 0.53055, 0, 0, 0.525],\n \"46\": [0, 0.125, 0, 0, 0.525],\n \"47\": [0.08333, 0.69444, 0, 0, 0.525],\n \"48\": [0, 0.61111, 0, 0, 0.525],\n \"49\": [0, 0.61111, 0, 0, 0.525],\n \"50\": [0, 0.61111, 0, 0, 0.525],\n \"51\": [0, 0.61111, 0, 0, 0.525],\n \"52\": [0, 0.61111, 0, 0, 0.525],\n \"53\": [0, 0.61111, 0, 0, 0.525],\n \"54\": [0, 0.61111, 0, 0, 0.525],\n \"55\": [0, 0.61111, 0, 0, 0.525],\n \"56\": [0, 0.61111, 0, 0, 0.525],\n \"57\": [0, 0.61111, 0, 0, 0.525],\n \"58\": [0, 0.43056, 0, 0, 0.525],\n \"59\": [0.13889, 0.43056, 0, 0, 0.525],\n \"60\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"61\": [-0.19549, 0.41562, 0, 0, 0.525],\n \"62\": [-0.05556, 0.55556, 0, 0, 0.525],\n \"63\": [0, 0.61111, 0, 0, 0.525],\n \"64\": [0, 0.61111, 0, 0, 0.525],\n \"65\": [0, 0.61111, 0, 0, 0.525],\n \"66\": [0, 0.61111, 0, 0, 0.525],\n \"67\": [0, 0.61111, 0, 0, 0.525],\n \"68\": [0, 0.61111, 0, 0, 0.525],\n \"69\": [0, 0.61111, 0, 0, 0.525],\n \"70\": [0, 0.61111, 0, 0, 0.525],\n \"71\": [0, 0.61111, 0, 0, 0.525],\n \"72\": [0, 0.61111, 0, 0, 0.525],\n \"73\": [0, 0.61111, 0, 0, 0.525],\n \"74\": [0, 0.61111, 0, 0, 0.525],\n \"75\": [0, 0.61111, 0, 0, 0.525],\n \"76\": [0, 0.61111, 0, 0, 0.525],\n \"77\": [0, 0.61111, 0, 0, 0.525],\n \"78\": [0, 0.61111, 0, 0, 0.525],\n \"79\": [0, 0.61111, 0, 0, 0.525],\n \"80\": [0, 0.61111, 0, 0, 0.525],\n \"81\": [0.13889, 0.61111, 0, 0, 0.525],\n \"82\": [0, 0.61111, 0, 0, 0.525],\n \"83\": [0, 0.61111, 0, 0, 0.525],\n \"84\": [0, 0.61111, 0, 0, 0.525],\n \"85\": [0, 0.61111, 0, 0, 0.525],\n \"86\": [0, 0.61111, 0, 0, 0.525],\n \"87\": [0, 0.61111, 0, 0, 0.525],\n \"88\": [0, 0.61111, 0, 0, 0.525],\n \"89\": [0, 0.61111, 0, 0, 0.525],\n \"90\": [0, 0.61111, 0, 0, 0.525],\n \"91\": [0.08333, 0.69444, 0, 0, 0.525],\n \"92\": [0.08333, 0.69444, 0, 0, 0.525],\n \"93\": [0.08333, 0.69444, 0, 0, 0.525],\n \"94\": [0, 0.61111, 0, 0, 0.525],\n \"95\": [0.09514, 0, 0, 0, 0.525],\n \"96\": [0, 0.61111, 0, 0, 0.525],\n \"97\": [0, 0.43056, 0, 0, 0.525],\n \"98\": [0, 0.61111, 0, 0, 0.525],\n \"99\": [0, 0.43056, 0, 0, 0.525],\n \"100\": [0, 0.61111, 0, 0, 0.525],\n \"101\": [0, 0.43056, 0, 0, 0.525],\n \"102\": [0, 0.61111, 0, 0, 0.525],\n \"103\": [0.22222, 0.43056, 0, 0, 0.525],\n \"104\": [0, 0.61111, 0, 0, 0.525],\n \"105\": [0, 0.61111, 0, 0, 0.525],\n \"106\": [0.22222, 0.61111, 0, 0, 0.525],\n \"107\": [0, 0.61111, 0, 0, 0.525],\n \"108\": [0, 0.61111, 0, 0, 0.525],\n \"109\": [0, 0.43056, 0, 0, 0.525],\n \"110\": [0, 0.43056, 0, 0, 0.525],\n \"111\": [0, 0.43056, 0, 0, 0.525],\n \"112\": [0.22222, 0.43056, 0, 0, 0.525],\n \"113\": [0.22222, 0.43056, 0, 0, 0.525],\n \"114\": [0, 0.43056, 0, 0, 0.525],\n \"115\": [0, 0.43056, 0, 0, 0.525],\n \"116\": [0, 0.55358, 0, 0, 0.525],\n \"117\": [0, 0.43056, 0, 0, 0.525],\n \"118\": [0, 0.43056, 0, 0, 0.525],\n \"119\": [0, 0.43056, 0, 0, 0.525],\n \"120\": [0, 0.43056, 0, 0, 0.525],\n \"121\": [0.22222, 0.43056, 0, 0, 0.525],\n \"122\": [0, 0.43056, 0, 0, 0.525],\n \"123\": [0.08333, 0.69444, 0, 0, 0.525],\n \"124\": [0.08333, 0.69444, 0, 0, 0.525],\n \"125\": [0.08333, 0.69444, 0, 0, 0.525],\n \"126\": [0, 0.61111, 0, 0, 0.525],\n \"127\": [0, 0.61111, 0, 0, 0.525],\n \"160\": [0, 0, 0, 0, 0.525],\n \"176\": [0, 0.61111, 0, 0, 0.525],\n \"184\": [0.19445, 0, 0, 0, 0.525],\n \"305\": [0, 0.43056, 0, 0, 0.525],\n \"567\": [0.22222, 0.43056, 0, 0, 0.525],\n \"711\": [0, 0.56597, 0, 0, 0.525],\n \"713\": [0, 0.56555, 0, 0, 0.525],\n \"714\": [0, 0.61111, 0, 0, 0.525],\n \"715\": [0, 0.61111, 0, 0, 0.525],\n \"728\": [0, 0.61111, 0, 0, 0.525],\n \"730\": [0, 0.61111, 0, 0, 0.525],\n \"770\": [0, 0.61111, 0, 0, 0.525],\n \"771\": [0, 0.61111, 0, 0, 0.525],\n \"776\": [0, 0.61111, 0, 0, 0.525],\n \"915\": [0, 0.61111, 0, 0, 0.525],\n \"916\": [0, 0.61111, 0, 0, 0.525],\n \"920\": [0, 0.61111, 0, 0, 0.525],\n \"923\": [0, 0.61111, 0, 0, 0.525],\n \"926\": [0, 0.61111, 0, 0, 0.525],\n \"928\": [0, 0.61111, 0, 0, 0.525],\n \"931\": [0, 0.61111, 0, 0, 0.525],\n \"933\": [0, 0.61111, 0, 0, 0.525],\n \"934\": [0, 0.61111, 0, 0, 0.525],\n \"936\": [0, 0.61111, 0, 0, 0.525],\n \"937\": [0, 0.61111, 0, 0, 0.525],\n \"8216\": [0, 0.61111, 0, 0, 0.525],\n \"8217\": [0, 0.61111, 0, 0, 0.525],\n \"8242\": [0, 0.61111, 0, 0, 0.525],\n \"9251\": [0.11111, 0.21944, 0, 0, 0.525]\n }\n};\n\n/**\n * This file contains metrics regarding fonts and individual symbols. The sigma\n * and xi variables, as well as the metricMap map contain data extracted from\n * TeX, TeX font metrics, and the TTF files. These data are then exposed via the\n * `metrics` variable and the getCharacterMetrics function.\n */\n// In TeX, there are actually three sets of dimensions, one for each of\n// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4:\n// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are\n// provided in the arrays below, in that order.\n//\n// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respectively.\n// This was determined by running the following script:\n//\n// latex -interaction=nonstopmode \\\n// '\\documentclass{article}\\usepackage{amsmath}\\begin{document}' \\\n// '$a$ \\expandafter\\show\\the\\textfont2' \\\n// '\\expandafter\\show\\the\\scriptfont2' \\\n// '\\expandafter\\show\\the\\scriptscriptfont2' \\\n// '\\stop'\n//\n// The metrics themselves were retrieved using the following commands:\n//\n// tftopl cmsy10\n// tftopl cmsy7\n// tftopl cmsy5\n//\n// The output of each of these commands is quite lengthy. The only part we\n// care about is the FONTDIMEN section. Each value is measured in EMs.\nvar sigmasAndXis = {\n slant: [0.250, 0.250, 0.250],\n // sigma1\n space: [0.000, 0.000, 0.000],\n // sigma2\n stretch: [0.000, 0.000, 0.000],\n // sigma3\n shrink: [0.000, 0.000, 0.000],\n // sigma4\n xHeight: [0.431, 0.431, 0.431],\n // sigma5\n quad: [1.000, 1.171, 1.472],\n // sigma6\n extraSpace: [0.000, 0.000, 0.000],\n // sigma7\n num1: [0.677, 0.732, 0.925],\n // sigma8\n num2: [0.394, 0.384, 0.387],\n // sigma9\n num3: [0.444, 0.471, 0.504],\n // sigma10\n denom1: [0.686, 0.752, 1.025],\n // sigma11\n denom2: [0.345, 0.344, 0.532],\n // sigma12\n sup1: [0.413, 0.503, 0.504],\n // sigma13\n sup2: [0.363, 0.431, 0.404],\n // sigma14\n sup3: [0.289, 0.286, 0.294],\n // sigma15\n sub1: [0.150, 0.143, 0.200],\n // sigma16\n sub2: [0.247, 0.286, 0.400],\n // sigma17\n supDrop: [0.386, 0.353, 0.494],\n // sigma18\n subDrop: [0.050, 0.071, 0.100],\n // sigma19\n delim1: [2.390, 1.700, 1.980],\n // sigma20\n delim2: [1.010, 1.157, 1.420],\n // sigma21\n axisHeight: [0.250, 0.250, 0.250],\n // sigma22\n // These font metrics are extracted from TeX by using tftopl on cmex10.tfm;\n // they correspond to the font parameters of the extension fonts (family 3).\n // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to\n // match cmex7, we'd use cmex7.tfm values for script and scriptscript\n // values.\n defaultRuleThickness: [0.04, 0.049, 0.049],\n // xi8; cmex7: 0.049\n bigOpSpacing1: [0.111, 0.111, 0.111],\n // xi9\n bigOpSpacing2: [0.166, 0.166, 0.166],\n // xi10\n bigOpSpacing3: [0.2, 0.2, 0.2],\n // xi11\n bigOpSpacing4: [0.6, 0.611, 0.611],\n // xi12; cmex7: 0.611\n bigOpSpacing5: [0.1, 0.143, 0.143],\n // xi13; cmex7: 0.143\n // The \\sqrt rule width is taken from the height of the surd character.\n // Since we use the same font at all sizes, this thickness doesn't scale.\n sqrtRuleThickness: [0.04, 0.04, 0.04],\n // This value determines how large a pt is, for metrics which are defined\n // in terms of pts.\n // This value is also used in katex.scss; if you change it make sure the\n // values match.\n ptPerEm: [10.0, 10.0, 10.0],\n // The space between adjacent `|` columns in an array definition. From\n // `\\showthe\\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm.\n doubleRuleSep: [0.2, 0.2, 0.2],\n // The width of separator lines in {array} environments. From\n // `\\showthe\\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm.\n arrayRuleWidth: [0.04, 0.04, 0.04],\n // Two values from LaTeX source2e:\n fboxsep: [0.3, 0.3, 0.3],\n // 3 pt / ptPerEm\n fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm\n\n}; // This map contains a mapping from font name and character code to character\n// should have Latin-1 and Cyrillic characters, but may not depending on the\n// operating system. The metrics do not account for extra height from the\n// accents. In the case of Cyrillic characters which have both ascenders and\n// descenders we prefer approximations with ascenders, primarily to prevent\n// the fraction bar or root line from intersecting the glyph.\n// TODO(kevinb) allow union of multiple glyph metrics for better accuracy.\n\nvar extraCharacterMap = {\n // Latin-1\n 'Å': 'A',\n 'Ð': 'D',\n 'Þ': 'o',\n 'å': 'a',\n 'ð': 'd',\n 'þ': 'o',\n // Cyrillic\n 'А': 'A',\n 'Б': 'B',\n 'В': 'B',\n 'Г': 'F',\n 'Д': 'A',\n 'Е': 'E',\n 'Ж': 'K',\n 'З': '3',\n 'И': 'N',\n 'Й': 'N',\n 'К': 'K',\n 'Л': 'N',\n 'М': 'M',\n 'Н': 'H',\n 'О': 'O',\n 'П': 'N',\n 'Р': 'P',\n 'С': 'C',\n 'Т': 'T',\n 'У': 'y',\n 'Ф': 'O',\n 'Х': 'X',\n 'Ц': 'U',\n 'Ч': 'h',\n 'Ш': 'W',\n 'Щ': 'W',\n 'Ъ': 'B',\n 'Ы': 'X',\n 'Ь': 'B',\n 'Э': '3',\n 'Ю': 'X',\n 'Я': 'R',\n 'а': 'a',\n 'б': 'b',\n 'в': 'a',\n 'г': 'r',\n 'д': 'y',\n 'е': 'e',\n 'ж': 'm',\n 'з': 'e',\n 'и': 'n',\n 'й': 'n',\n 'к': 'n',\n 'л': 'n',\n 'м': 'm',\n 'н': 'n',\n 'о': 'o',\n 'п': 'n',\n 'р': 'p',\n 'с': 'c',\n 'т': 'o',\n 'у': 'y',\n 'ф': 'b',\n 'х': 'x',\n 'ц': 'n',\n 'ч': 'n',\n 'ш': 'w',\n 'щ': 'w',\n 'ъ': 'a',\n 'ы': 'm',\n 'ь': 'a',\n 'э': 'e',\n 'ю': 'm',\n 'я': 'r'\n};\n\n/**\n * This function adds new font metrics to default metricMap\n * It can also override existing metrics\n */\nfunction setFontMetrics(fontName, metrics) {\n fontMetricsData[fontName] = metrics;\n}\n/**\n * This function is a convenience function for looking up information in the\n * metricMap table. It takes a character as a string, and a font.\n *\n * Note: the `width` property may be undefined if fontMetricsData.js wasn't\n * built using `Make extended_metrics`.\n */\n\nfunction getCharacterMetrics(character, font, mode) {\n if (!fontMetricsData[font]) {\n throw new Error(\"Font metrics not found for font: \" + font + \".\");\n }\n\n var ch = character.charCodeAt(0);\n var metrics = fontMetricsData[font][ch];\n\n if (!metrics && character[0] in extraCharacterMap) {\n ch = extraCharacterMap[character[0]].charCodeAt(0);\n metrics = fontMetricsData[font][ch];\n }\n\n if (!metrics && mode === 'text') {\n // We don't typically have font metrics for Asian scripts.\n // But since we support them in text mode, we need to return\n // some sort of metrics.\n // So if the character is in a script we support but we\n // don't have metrics for it, just use the metrics for\n // the Latin capital letter M. This is close enough because\n // we (currently) only care about the height of the glyph\n // not its width.\n if (supportedCodepoint(ch)) {\n metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M'\n }\n }\n\n if (metrics) {\n return {\n depth: metrics[0],\n height: metrics[1],\n italic: metrics[2],\n skew: metrics[3],\n width: metrics[4]\n };\n }\n}\nvar fontMetricsBySizeIndex = {};\n/**\n * Get the font metrics for a given size.\n */\n\nfunction getGlobalMetrics(size) {\n var sizeIndex;\n\n if (size >= 5) {\n sizeIndex = 0;\n } else if (size >= 3) {\n sizeIndex = 1;\n } else {\n sizeIndex = 2;\n }\n\n if (!fontMetricsBySizeIndex[sizeIndex]) {\n var metrics = fontMetricsBySizeIndex[sizeIndex] = {\n cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18\n };\n\n for (var key in sigmasAndXis) {\n if (sigmasAndXis.hasOwnProperty(key)) {\n metrics[key] = sigmasAndXis[key][sizeIndex];\n }\n }\n }\n\n return fontMetricsBySizeIndex[sizeIndex];\n}\n\n/**\n * This file contains information about the options that the Parser carries\n * around with it while parsing. Data is held in an `Options` object, and when\n * recursing, a new `Options` object can be created with the `.with*` and\n * `.reset` functions.\n */\nvar sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize].\n// The size mappings are taken from TeX with \\normalsize=10pt.\n[1, 1, 1], // size1: [5, 5, 5] \\tiny\n[2, 1, 1], // size2: [6, 5, 5]\n[3, 1, 1], // size3: [7, 5, 5] \\scriptsize\n[4, 2, 1], // size4: [8, 6, 5] \\footnotesize\n[5, 2, 1], // size5: [9, 6, 5] \\small\n[6, 3, 1], // size6: [10, 7, 5] \\normalsize\n[7, 4, 2], // size7: [12, 8, 6] \\large\n[8, 6, 3], // size8: [14.4, 10, 7] \\Large\n[9, 7, 6], // size9: [17.28, 12, 10] \\LARGE\n[10, 8, 7], // size10: [20.74, 14.4, 12] \\huge\n[11, 10, 9] // size11: [24.88, 20.74, 17.28] \\HUGE\n];\nvar sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if\n// you change size indexes, change that function.\n0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488];\n\nvar sizeAtStyle = function sizeAtStyle(size, style) {\n return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1];\n}; // In these types, \"\" (empty string) means \"no change\".\n\n\n/**\n * This is the main options class. It contains the current style, size, color,\n * and font.\n *\n * Options objects should not be modified. To create a new Options with\n * different properties, call a `.having*` method.\n */\nclass Options {\n // A font family applies to a group of fonts (i.e. SansSerif), while a font\n // represents a specific font (i.e. SansSerif Bold).\n // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm\n\n /**\n * The base size index.\n */\n constructor(data) {\n this.style = void 0;\n this.color = void 0;\n this.size = void 0;\n this.textSize = void 0;\n this.phantom = void 0;\n this.font = void 0;\n this.fontFamily = void 0;\n this.fontWeight = void 0;\n this.fontShape = void 0;\n this.sizeMultiplier = void 0;\n this.maxSize = void 0;\n this.minRuleThickness = void 0;\n this._fontMetrics = void 0;\n this.style = data.style;\n this.color = data.color;\n this.size = data.size || Options.BASESIZE;\n this.textSize = data.textSize || this.size;\n this.phantom = !!data.phantom;\n this.font = data.font || \"\";\n this.fontFamily = data.fontFamily || \"\";\n this.fontWeight = data.fontWeight || '';\n this.fontShape = data.fontShape || '';\n this.sizeMultiplier = sizeMultipliers[this.size - 1];\n this.maxSize = data.maxSize;\n this.minRuleThickness = data.minRuleThickness;\n this._fontMetrics = undefined;\n }\n /**\n * Returns a new options object with the same properties as \"this\". Properties\n * from \"extension\" will be copied to the new options object.\n */\n\n\n extend(extension) {\n var data = {\n style: this.style,\n size: this.size,\n textSize: this.textSize,\n color: this.color,\n phantom: this.phantom,\n font: this.font,\n fontFamily: this.fontFamily,\n fontWeight: this.fontWeight,\n fontShape: this.fontShape,\n maxSize: this.maxSize,\n minRuleThickness: this.minRuleThickness\n };\n\n for (var key in extension) {\n if (extension.hasOwnProperty(key)) {\n data[key] = extension[key];\n }\n }\n\n return new Options(data);\n }\n /**\n * Return an options object with the given style. If `this.style === style`,\n * returns `this`.\n */\n\n\n havingStyle(style) {\n if (this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: sizeAtStyle(this.textSize, style)\n });\n }\n }\n /**\n * Return an options object with a cramped version of the current style. If\n * the current style is cramped, returns `this`.\n */\n\n\n havingCrampedStyle() {\n return this.havingStyle(this.style.cramp());\n }\n /**\n * Return an options object with the given size and in at least `\\textstyle`.\n * Returns `this` if appropriate.\n */\n\n\n havingSize(size) {\n if (this.size === size && this.textSize === size) {\n return this;\n } else {\n return this.extend({\n style: this.style.text(),\n size: size,\n textSize: size,\n sizeMultiplier: sizeMultipliers[size - 1]\n });\n }\n }\n /**\n * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted,\n * changes to at least `\\textstyle`.\n */\n\n\n havingBaseStyle(style) {\n style = style || this.style.text();\n var wantSize = sizeAtStyle(Options.BASESIZE, style);\n\n if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) {\n return this;\n } else {\n return this.extend({\n style: style,\n size: wantSize\n });\n }\n }\n /**\n * Remove the effect of sizing changes such as \\Huge.\n * Keep the effect of the current style, such as \\scriptstyle.\n */\n\n\n havingBaseSizing() {\n var size;\n\n switch (this.style.id) {\n case 4:\n case 5:\n size = 3; // normalsize in scriptstyle\n\n break;\n\n case 6:\n case 7:\n size = 1; // normalsize in scriptscriptstyle\n\n break;\n\n default:\n size = 6;\n // normalsize in textstyle or displaystyle\n }\n\n return this.extend({\n style: this.style.text(),\n size: size\n });\n }\n /**\n * Create a new options object with the given color.\n */\n\n\n withColor(color) {\n return this.extend({\n color: color\n });\n }\n /**\n * Create a new options object with \"phantom\" set to true.\n */\n\n\n withPhantom() {\n return this.extend({\n phantom: true\n });\n }\n /**\n * Creates a new options object with the given math font or old text font.\n * @type {[type]}\n */\n\n\n withFont(font) {\n return this.extend({\n font\n });\n }\n /**\n * Create a new options objects with the given fontFamily.\n */\n\n\n withTextFontFamily(fontFamily) {\n return this.extend({\n fontFamily,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n\n\n withTextFontWeight(fontWeight) {\n return this.extend({\n fontWeight,\n font: \"\"\n });\n }\n /**\n * Creates a new options object with the given font weight\n */\n\n\n withTextFontShape(fontShape) {\n return this.extend({\n fontShape,\n font: \"\"\n });\n }\n /**\n * Return the CSS sizing classes required to switch from enclosing options\n * `oldOptions` to `this`. Returns an array of classes.\n */\n\n\n sizingClasses(oldOptions) {\n if (oldOptions.size !== this.size) {\n return [\"sizing\", \"reset-size\" + oldOptions.size, \"size\" + this.size];\n } else {\n return [];\n }\n }\n /**\n * Return the CSS sizing classes required to switch to the base size. Like\n * `this.havingSize(BASESIZE).sizingClasses(this)`.\n */\n\n\n baseSizingClasses() {\n if (this.size !== Options.BASESIZE) {\n return [\"sizing\", \"reset-size\" + this.size, \"size\" + Options.BASESIZE];\n } else {\n return [];\n }\n }\n /**\n * Return the font metrics for this size.\n */\n\n\n fontMetrics() {\n if (!this._fontMetrics) {\n this._fontMetrics = getGlobalMetrics(this.size);\n }\n\n return this._fontMetrics;\n }\n /**\n * Gets the CSS color of the current options object\n */\n\n\n getColor() {\n if (this.phantom) {\n return \"transparent\";\n } else {\n return this.color;\n }\n }\n\n}\n\nOptions.BASESIZE = 6;\n\n/**\n * This file does conversion between units. In particular, it provides\n * calculateSize to convert other units into ems.\n */\n// Thus, multiplying a length by this number converts the length from units\n// into pts. Dividing the result by ptPerEm gives the number of ems\n// *assuming* a font size of ptPerEm (normal size, normal style).\n\nvar ptPerUnit = {\n // https://en.wikibooks.org/wiki/LaTeX/Lengths and\n // https://tex.stackexchange.com/a/8263\n \"pt\": 1,\n // TeX point\n \"mm\": 7227 / 2540,\n // millimeter\n \"cm\": 7227 / 254,\n // centimeter\n \"in\": 72.27,\n // inch\n \"bp\": 803 / 800,\n // big (PostScript) points\n \"pc\": 12,\n // pica\n \"dd\": 1238 / 1157,\n // didot\n \"cc\": 14856 / 1157,\n // cicero (12 didot)\n \"nd\": 685 / 642,\n // new didot\n \"nc\": 1370 / 107,\n // new cicero (12 new didot)\n \"sp\": 1 / 65536,\n // scaled point (TeX's internal smallest unit)\n // https://tex.stackexchange.com/a/41371\n \"px\": 803 / 800 // \\pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX\n\n}; // Dictionary of relative units, for fast validity testing.\n\nvar relativeUnit = {\n \"ex\": true,\n \"em\": true,\n \"mu\": true\n};\n\n/**\n * Determine whether the specified unit (either a string defining the unit\n * or a \"size\" parse node containing a unit field) is valid.\n */\nvar validUnit = function validUnit(unit) {\n if (typeof unit !== \"string\") {\n unit = unit.unit;\n }\n\n return unit in ptPerUnit || unit in relativeUnit || unit === \"ex\";\n};\n/*\n * Convert a \"size\" parse node (with numeric \"number\" and string \"unit\" fields,\n * as parsed by functions.js argType \"size\") into a CSS em value for the\n * current style/scale. `options` gives the current options.\n */\n\nvar calculateSize = function calculateSize(sizeValue, options) {\n var scale;\n\n if (sizeValue.unit in ptPerUnit) {\n // Absolute units\n scale = ptPerUnit[sizeValue.unit] // Convert unit to pt\n / options.fontMetrics().ptPerEm // Convert pt to CSS em\n / options.sizeMultiplier; // Unscale to make absolute units\n } else if (sizeValue.unit === \"mu\") {\n // `mu` units scale with scriptstyle/scriptscriptstyle.\n scale = options.fontMetrics().cssEmPerMu;\n } else {\n // Other relative units always refer to the *textstyle* font\n // in the current size.\n var unitOptions;\n\n if (options.style.isTight()) {\n // isTight() means current style is script/scriptscript.\n unitOptions = options.havingStyle(options.style.text());\n } else {\n unitOptions = options;\n } // TODO: In TeX these units are relative to the quad of the current\n // *text* font, e.g. cmr10. KaTeX instead uses values from the\n // comparably-sized *Computer Modern symbol* font. At 10pt, these\n // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641;\n // cmr5=1.361133, cmsy5=1.472241. Consider $\\scriptsize a\\kern1emb$.\n // TeX \\showlists shows a kern of 1.13889 * fontsize;\n // KaTeX shows a kern of 1.171 * fontsize.\n\n\n if (sizeValue.unit === \"ex\") {\n scale = unitOptions.fontMetrics().xHeight;\n } else if (sizeValue.unit === \"em\") {\n scale = unitOptions.fontMetrics().quad;\n } else {\n throw new ParseError(\"Invalid unit: '\" + sizeValue.unit + \"'\");\n }\n\n if (unitOptions !== options) {\n scale *= unitOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n return Math.min(sizeValue.number * scale, options.maxSize);\n};\n/**\n * Round `n` to 4 decimal places, or to the nearest 1/10,000th em. See\n * https://github.com/KaTeX/KaTeX/pull/2460.\n */\n\nvar makeEm = function makeEm(n) {\n return +n.toFixed(4) + \"em\";\n};\n\n/**\n * These objects store the data about the DOM nodes we create, as well as some\n * extra data. They can then be transformed into real DOM nodes with the\n * `toNode` function or HTML markup using `toMarkup`. They are useful for both\n * storing extra properties on the nodes, as well as providing a way to easily\n * work with the DOM.\n *\n * Similar functions for working with MathML nodes exist in mathMLTree.js.\n *\n * TODO: refactor `span` and `anchor` into common superclass when\n * target environments support class inheritance\n */\n\n/**\n * Create an HTML className based on a list of classes. In addition to joining\n * with spaces, we also remove empty classes.\n */\nvar createClass = function createClass(classes) {\n return classes.filter(cls => cls).join(\" \");\n};\n\nvar initNode = function initNode(classes, options, style) {\n this.classes = classes || [];\n this.attributes = {};\n this.height = 0;\n this.depth = 0;\n this.maxFontSize = 0;\n this.style = style || {};\n\n if (options) {\n if (options.style.isTight()) {\n this.classes.push(\"mtight\");\n }\n\n var color = options.getColor();\n\n if (color) {\n this.style.color = color;\n }\n }\n};\n/**\n * Convert into an HTML node\n */\n\n\nvar toNode = function toNode(tagName) {\n var node = document.createElement(tagName); // Apply the class\n\n node.className = createClass(this.classes); // Apply inline styles\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe Flow doesn't seem to understand span.style's type.\n node.style[style] = this.style[style];\n }\n } // Apply attributes\n\n\n for (var attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n } // Append the children, also as HTML nodes\n\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n};\n/**\n * https://w3c.github.io/html-reference/syntax.html#syntax-attributes\n *\n * > Attribute Names must consist of one or more characters\n * other than the space characters, U+0000 NULL,\n * '\"', \"'\", \">\", \"/\", \"=\", the control characters,\n * and any characters that are not defined by Unicode.\n */\n\n\nvar invalidAttributeNameRegex = /[\\s\"'>/=\\x00-\\x1f]/;\n/**\n * Convert into an HTML markup string\n */\n\nvar toMarkup = function toMarkup(tagName) {\n var markup = \"<\" + tagName; // Add the class\n\n if (this.classes.length) {\n markup += \" class=\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n var styles = \"\"; // Add the styles, after hyphenation\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n } // Add the attributes\n\n\n for (var attr in this.attributes) {\n if (this.attributes.hasOwnProperty(attr)) {\n if (invalidAttributeNameRegex.test(attr)) {\n throw new ParseError(\"Invalid attribute name '\" + attr + \"'\");\n }\n\n markup += \" \" + attr + \"=\\\"\" + utils.escape(this.attributes[attr]) + \"\\\"\";\n }\n }\n\n markup += \">\"; // Add the markup of the children, also as markup\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"</\" + tagName + \">\";\n return markup;\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n// This type does not include all CSS properties. Additional properties should\n// be added as needed.\n\n\n/**\n * This node represents a span node, with a className, a list of children, and\n * an inline style. It also contains information about its height, depth, and\n * maxFontSize.\n *\n * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan\n * otherwise. This typesafety is important when HTML builders access a span's\n * children.\n */\nclass Span {\n constructor(classes, children, options, style) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options, style);\n this.children = children || [];\n }\n /**\n * Sets an arbitrary attribute on the span. Warning: use this wisely. Not\n * all browsers support attributes the same, and having too many custom\n * attributes is probably bad.\n */\n\n\n setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n return toNode.call(this, \"span\");\n }\n\n toMarkup() {\n return toMarkup.call(this, \"span\");\n }\n\n}\n/**\n * This node represents an anchor (<a>) element with a hyperlink. See `span`\n * for further details.\n */\n\nclass Anchor {\n constructor(href, classes, children, options) {\n this.children = void 0;\n this.attributes = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n initNode.call(this, classes, options);\n this.children = children || [];\n this.setAttribute('href', href);\n }\n\n setAttribute(attribute, value) {\n this.attributes[attribute] = value;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n return toNode.call(this, \"a\");\n }\n\n toMarkup() {\n return toMarkup.call(this, \"a\");\n }\n\n}\n/**\n * This node represents an image embed (<img>) element.\n */\n\nclass Img {\n constructor(src, alt, style) {\n this.src = void 0;\n this.alt = void 0;\n this.classes = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.maxFontSize = void 0;\n this.style = void 0;\n this.alt = alt;\n this.src = src;\n this.classes = [\"mord\"];\n this.style = style;\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n\n toNode() {\n var node = document.createElement(\"img\");\n node.src = this.src;\n node.alt = this.alt;\n node.className = \"mord\"; // Apply inline styles\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n // $FlowFixMe\n node.style[style] = this.style[style];\n }\n }\n\n return node;\n }\n\n toMarkup() {\n var markup = \"<img src=\\\"\" + utils.escape(this.src) + \"\\\"\" + (\" alt=\\\"\" + utils.escape(this.alt) + \"\\\"\"); // Add the styles, after hyphenation\n\n var styles = \"\";\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n }\n\n markup += \"'/>\";\n return markup;\n }\n\n}\nvar iCombinations = {\n 'î': '\\u0131\\u0302',\n 'ï': '\\u0131\\u0308',\n 'í': '\\u0131\\u0301',\n // 'ī': '\\u0131\\u0304', // enable when we add Extended Latin\n 'ì': '\\u0131\\u0300'\n};\n/**\n * A symbol node contains information about a single symbol. It either renders\n * to a single text node, or a span with a single text node in it, depending on\n * whether it has CSS classes, styles, or needs italic correction.\n */\n\nclass SymbolNode {\n constructor(text, height, depth, italic, skew, width, classes, style) {\n this.text = void 0;\n this.height = void 0;\n this.depth = void 0;\n this.italic = void 0;\n this.skew = void 0;\n this.width = void 0;\n this.maxFontSize = void 0;\n this.classes = void 0;\n this.style = void 0;\n this.text = text;\n this.height = height || 0;\n this.depth = depth || 0;\n this.italic = italic || 0;\n this.skew = skew || 0;\n this.width = width || 0;\n this.classes = classes || [];\n this.style = style || {};\n this.maxFontSize = 0; // Mark text from non-Latin scripts with specific classes so that we\n // can specify which fonts to use. This allows us to render these\n // characters with a serif font in situations where the browser would\n // either default to a sans serif or render a placeholder character.\n // We use CSS class names like cjk_fallback, hangul_fallback and\n // brahmic_fallback. See ./unicodeScripts.js for the set of possible\n // script names\n\n var script = scriptFromCodepoint(this.text.charCodeAt(0));\n\n if (script) {\n this.classes.push(script + \"_fallback\");\n }\n\n if (/[îïíì]/.test(this.text)) {\n // add ī when we add Extended Latin\n this.text = iCombinations[this.text];\n }\n }\n\n hasClass(className) {\n return utils.contains(this.classes, className);\n }\n /**\n * Creates a text node or span from a symbol node. Note that a span is only\n * created if it is needed.\n */\n\n\n toNode() {\n var node = document.createTextNode(this.text);\n var span = null;\n\n if (this.italic > 0) {\n span = document.createElement(\"span\");\n span.style.marginRight = makeEm(this.italic);\n }\n\n if (this.classes.length > 0) {\n span = span || document.createElement(\"span\");\n span.className = createClass(this.classes);\n }\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n span = span || document.createElement(\"span\"); // $FlowFixMe Flow doesn't seem to understand span.style's type.\n\n span.style[style] = this.style[style];\n }\n }\n\n if (span) {\n span.appendChild(node);\n return span;\n } else {\n return node;\n }\n }\n /**\n * Creates markup for a symbol node.\n */\n\n\n toMarkup() {\n // TODO(alpert): More duplication than I'd like from\n // span.prototype.toMarkup and symbolNode.prototype.toNode...\n var needsSpan = false;\n var markup = \"<span\";\n\n if (this.classes.length) {\n needsSpan = true;\n markup += \" class=\\\"\";\n markup += utils.escape(createClass(this.classes));\n markup += \"\\\"\";\n }\n\n var styles = \"\";\n\n if (this.italic > 0) {\n styles += \"margin-right:\" + this.italic + \"em;\";\n }\n\n for (var style in this.style) {\n if (this.style.hasOwnProperty(style)) {\n styles += utils.hyphenate(style) + \":\" + this.style[style] + \";\";\n }\n }\n\n if (styles) {\n needsSpan = true;\n markup += \" style=\\\"\" + utils.escape(styles) + \"\\\"\";\n }\n\n var escaped = utils.escape(this.text);\n\n if (needsSpan) {\n markup += \">\";\n markup += escaped;\n markup += \"</span>\";\n return markup;\n } else {\n return escaped;\n }\n }\n\n}\n/**\n * SVG nodes are used to render stretchy wide elements.\n */\n\nclass SvgNode {\n constructor(children, attributes) {\n this.children = void 0;\n this.attributes = void 0;\n this.children = children || [];\n this.attributes = attributes || {};\n }\n\n toNode() {\n var svgNS = \"http://www.w3.org/2000/svg\";\n var node = document.createElementNS(svgNS, \"svg\"); // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n for (var i = 0; i < this.children.length; i++) {\n node.appendChild(this.children[i].toNode());\n }\n\n return node;\n }\n\n toMarkup() {\n var markup = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\"\"; // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += \" \" + attr + \"=\\\"\" + utils.escape(this.attributes[attr]) + \"\\\"\";\n }\n }\n\n markup += \">\";\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"</svg>\";\n return markup;\n }\n\n}\nclass PathNode {\n constructor(pathName, alternate) {\n this.pathName = void 0;\n this.alternate = void 0;\n this.pathName = pathName;\n this.alternate = alternate; // Used only for \\sqrt, \\phase, & tall delims\n }\n\n toNode() {\n var svgNS = \"http://www.w3.org/2000/svg\";\n var node = document.createElementNS(svgNS, \"path\");\n\n if (this.alternate) {\n node.setAttribute(\"d\", this.alternate);\n } else {\n node.setAttribute(\"d\", path[this.pathName]);\n }\n\n return node;\n }\n\n toMarkup() {\n if (this.alternate) {\n return \"<path d=\\\"\" + utils.escape(this.alternate) + \"\\\"/>\";\n } else {\n return \"<path d=\\\"\" + utils.escape(path[this.pathName]) + \"\\\"/>\";\n }\n }\n\n}\nclass LineNode {\n constructor(attributes) {\n this.attributes = void 0;\n this.attributes = attributes || {};\n }\n\n toNode() {\n var svgNS = \"http://www.w3.org/2000/svg\";\n var node = document.createElementNS(svgNS, \"line\"); // Apply attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n return node;\n }\n\n toMarkup() {\n var markup = \"<line\";\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += \" \" + attr + \"=\\\"\" + utils.escape(this.attributes[attr]) + \"\\\"\";\n }\n }\n\n markup += \"/>\";\n return markup;\n }\n\n}\nfunction assertSymbolDomNode(group) {\n if (group instanceof SymbolNode) {\n return group;\n } else {\n throw new Error(\"Expected symbolNode but got \" + String(group) + \".\");\n }\n}\nfunction assertSpan(group) {\n if (group instanceof Span) {\n return group;\n } else {\n throw new Error(\"Expected span<HtmlDomNode> but got \" + String(group) + \".\");\n }\n}\n\n/**\n * This file holds a list of all no-argument functions and single-character\n * symbols (like 'a' or ';').\n *\n * For each of the symbols, there are three properties they can have:\n * - font (required): the font to be used for this symbol. Either \"main\" (the\n normal font), or \"ams\" (the ams fonts).\n * - group (required): the ParseNode group type the symbol should have (i.e.\n \"textord\", \"mathord\", etc).\n See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types\n * - replace: the character that this symbol or function should be\n * replaced with (i.e. \"\\phi\" has a replace value of \"\\u03d5\", the phi\n * character in the main font).\n *\n * The outermost map in the table indicates what mode the symbols should be\n * accepted in (e.g. \"math\" or \"text\").\n */\n// Some of these have a \"-token\" suffix since these are also used as `ParseNode`\n// types for raw text tokens, and we want to avoid conflicts with higher-level\n// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by\n// looking up the `symbols` map.\nvar ATOMS = {\n \"bin\": 1,\n \"close\": 1,\n \"inner\": 1,\n \"open\": 1,\n \"punct\": 1,\n \"rel\": 1\n};\nvar NON_ATOMS = {\n \"accent-token\": 1,\n \"mathord\": 1,\n \"op-token\": 1,\n \"spacing\": 1,\n \"textord\": 1\n};\nvar symbols = {\n \"math\": {},\n \"text\": {}\n};\n/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */\n\nfunction defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) {\n symbols[mode][name] = {\n font,\n group,\n replace\n };\n\n if (acceptUnicodeChar && replace) {\n symbols[mode][replace] = symbols[mode][name];\n }\n} // Some abbreviations for commonly used strings.\n// This helps minify the code, and also spotting typos using jshint.\n// modes:\n\nvar math = \"math\";\nvar text = \"text\"; // fonts:\n\nvar main = \"main\";\nvar ams = \"ams\"; // groups:\n\nvar accent = \"accent-token\";\nvar bin = \"bin\";\nvar close = \"close\";\nvar inner = \"inner\";\nvar mathord = \"mathord\";\nvar op = \"op-token\";\nvar open = \"open\";\nvar punct = \"punct\";\nvar rel = \"rel\";\nvar spacing = \"spacing\";\nvar textord = \"textord\"; // Now comes the symbol table\n// Relation Symbols\n\ndefineSymbol(math, main, rel, \"\\u2261\", \"\\\\equiv\", true);\ndefineSymbol(math, main, rel, \"\\u227a\", \"\\\\prec\", true);\ndefineSymbol(math, main, rel, \"\\u227b\", \"\\\\succ\", true);\ndefineSymbol(math, main, rel, \"\\u223c\", \"\\\\sim\", true);\ndefineSymbol(math, main, rel, \"\\u22a5\", \"\\\\perp\");\ndefineSymbol(math, main, rel, \"\\u2aaf\", \"\\\\preceq\", true);\ndefineSymbol(math, main, rel, \"\\u2ab0\", \"\\\\succeq\", true);\ndefineSymbol(math, main, rel, \"\\u2243\", \"\\\\simeq\", true);\ndefineSymbol(math, main, rel, \"\\u2223\", \"\\\\mid\", true);\ndefineSymbol(math, main, rel, \"\\u226a\", \"\\\\ll\", true);\ndefineSymbol(math, main, rel, \"\\u226b\", \"\\\\gg\", true);\ndefineSymbol(math, main, rel, \"\\u224d\", \"\\\\asymp\", true);\ndefineSymbol(math, main, rel, \"\\u2225\", \"\\\\parallel\");\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\bowtie\", true);\ndefineSymbol(math, main, rel, \"\\u2323\", \"\\\\smile\", true);\ndefineSymbol(math, main, rel, \"\\u2291\", \"\\\\sqsubseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2292\", \"\\\\sqsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2250\", \"\\\\doteq\", true);\ndefineSymbol(math, main, rel, \"\\u2322\", \"\\\\frown\", true);\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\ni\", true);\ndefineSymbol(math, main, rel, \"\\u221d\", \"\\\\propto\", true);\ndefineSymbol(math, main, rel, \"\\u22a2\", \"\\\\vdash\", true);\ndefineSymbol(math, main, rel, \"\\u22a3\", \"\\\\dashv\", true);\ndefineSymbol(math, main, rel, \"\\u220b\", \"\\\\owns\"); // Punctuation\n\ndefineSymbol(math, main, punct, \"\\u002e\", \"\\\\ldotp\");\ndefineSymbol(math, main, punct, \"\\u22c5\", \"\\\\cdotp\"); // Misc Symbols\n\ndefineSymbol(math, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(text, main, textord, \"\\u0023\", \"\\\\#\");\ndefineSymbol(math, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(text, main, textord, \"\\u0026\", \"\\\\&\");\ndefineSymbol(math, main, textord, \"\\u2135\", \"\\\\aleph\", true);\ndefineSymbol(math, main, textord, \"\\u2200\", \"\\\\forall\", true);\ndefineSymbol(math, main, textord, \"\\u210f\", \"\\\\hbar\", true);\ndefineSymbol(math, main, textord, \"\\u2203\", \"\\\\exists\", true);\ndefineSymbol(math, main, textord, \"\\u2207\", \"\\\\nabla\", true);\ndefineSymbol(math, main, textord, \"\\u266d\", \"\\\\flat\", true);\ndefineSymbol(math, main, textord, \"\\u2113\", \"\\\\ell\", true);\ndefineSymbol(math, main, textord, \"\\u266e\", \"\\\\natural\", true);\ndefineSymbol(math, main, textord, \"\\u2663\", \"\\\\clubsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2118\", \"\\\\wp\", true);\ndefineSymbol(math, main, textord, \"\\u266f\", \"\\\\sharp\", true);\ndefineSymbol(math, main, textord, \"\\u2662\", \"\\\\diamondsuit\", true);\ndefineSymbol(math, main, textord, \"\\u211c\", \"\\\\Re\", true);\ndefineSymbol(math, main, textord, \"\\u2661\", \"\\\\heartsuit\", true);\ndefineSymbol(math, main, textord, \"\\u2111\", \"\\\\Im\", true);\ndefineSymbol(math, main, textord, \"\\u2660\", \"\\\\spadesuit\", true);\ndefineSymbol(math, main, textord, \"\\u00a7\", \"\\\\S\", true);\ndefineSymbol(text, main, textord, \"\\u00a7\", \"\\\\S\");\ndefineSymbol(math, main, textord, \"\\u00b6\", \"\\\\P\", true);\ndefineSymbol(text, main, textord, \"\\u00b6\", \"\\\\P\"); // Math and Text\n\ndefineSymbol(math, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(text, main, textord, \"\\u2020\", \"\\\\dag\");\ndefineSymbol(text, main, textord, \"\\u2020\", \"\\\\textdagger\");\ndefineSymbol(math, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(text, main, textord, \"\\u2021\", \"\\\\ddag\");\ndefineSymbol(text, main, textord, \"\\u2021\", \"\\\\textdaggerdbl\"); // Large Delimiters\n\ndefineSymbol(math, main, close, \"\\u23b1\", \"\\\\rmoustache\", true);\ndefineSymbol(math, main, open, \"\\u23b0\", \"\\\\lmoustache\", true);\ndefineSymbol(math, main, close, \"\\u27ef\", \"\\\\rgroup\", true);\ndefineSymbol(math, main, open, \"\\u27ee\", \"\\\\lgroup\", true); // Binary Operators\n\ndefineSymbol(math, main, bin, \"\\u2213\", \"\\\\mp\", true);\ndefineSymbol(math, main, bin, \"\\u2296\", \"\\\\ominus\", true);\ndefineSymbol(math, main, bin, \"\\u228e\", \"\\\\uplus\", true);\ndefineSymbol(math, main, bin, \"\\u2293\", \"\\\\sqcap\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"\\\\ast\");\ndefineSymbol(math, main, bin, \"\\u2294\", \"\\\\sqcup\", true);\ndefineSymbol(math, main, bin, \"\\u25ef\", \"\\\\bigcirc\", true);\ndefineSymbol(math, main, bin, \"\\u2219\", \"\\\\bullet\", true);\ndefineSymbol(math, main, bin, \"\\u2021\", \"\\\\ddagger\");\ndefineSymbol(math, main, bin, \"\\u2240\", \"\\\\wr\", true);\ndefineSymbol(math, main, bin, \"\\u2a3f\", \"\\\\amalg\");\ndefineSymbol(math, main, bin, \"\\u0026\", \"\\\\And\"); // from amsmath\n// Arrow Symbols\n\ndefineSymbol(math, main, rel, \"\\u27f5\", \"\\\\longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d0\", \"\\\\Leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f8\", \"\\\\Longleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f6\", \"\\\\longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d2\", \"\\\\Rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f9\", \"\\\\Longrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2194\", \"\\\\leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27f7\", \"\\\\longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d4\", \"\\\\Leftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u27fa\", \"\\\\Longleftrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21a6\", \"\\\\mapsto\", true);\ndefineSymbol(math, main, rel, \"\\u27fc\", \"\\\\longmapsto\", true);\ndefineSymbol(math, main, rel, \"\\u2197\", \"\\\\nearrow\", true);\ndefineSymbol(math, main, rel, \"\\u21a9\", \"\\\\hookleftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21aa\", \"\\\\hookrightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2198\", \"\\\\searrow\", true);\ndefineSymbol(math, main, rel, \"\\u21bc\", \"\\\\leftharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u21c0\", \"\\\\rightharpoonup\", true);\ndefineSymbol(math, main, rel, \"\\u2199\", \"\\\\swarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21bd\", \"\\\\leftharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u21c1\", \"\\\\rightharpoondown\", true);\ndefineSymbol(math, main, rel, \"\\u2196\", \"\\\\nwarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21cc\", \"\\\\rightleftharpoons\", true); // AMS Negated Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u226e\", \"\\\\nless\", true); // Symbol names preceded by \"@\" each have a corresponding macro.\n\ndefineSymbol(math, ams, rel, \"\\ue010\", \"\\\\@nleqslant\");\ndefineSymbol(math, ams, rel, \"\\ue011\", \"\\\\@nleqq\");\ndefineSymbol(math, ams, rel, \"\\u2a87\", \"\\\\lneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2268\", \"\\\\lneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue00c\", \"\\\\@lvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e6\", \"\\\\lnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a89\", \"\\\\lnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2280\", \"\\\\nprec\", true); // unicode-math maps \\u22e0 to \\npreccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22e0\", \"\\\\npreceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22e8\", \"\\\\precnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab9\", \"\\\\precnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2241\", \"\\\\nsim\", true);\ndefineSymbol(math, ams, rel, \"\\ue006\", \"\\\\@nshortmid\");\ndefineSymbol(math, ams, rel, \"\\u2224\", \"\\\\nmid\", true);\ndefineSymbol(math, ams, rel, \"\\u22ac\", \"\\\\nvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u22ad\", \"\\\\nvDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22ea\", \"\\\\ntriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22ec\", \"\\\\ntrianglelefteq\", true);\ndefineSymbol(math, ams, rel, \"\\u228a\", \"\\\\subsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\ue01a\", \"\\\\@varsubsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acb\", \"\\\\subsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue017\", \"\\\\@varsubsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u226f\", \"\\\\ngtr\", true);\ndefineSymbol(math, ams, rel, \"\\ue00f\", \"\\\\@ngeqslant\");\ndefineSymbol(math, ams, rel, \"\\ue00e\", \"\\\\@ngeqq\");\ndefineSymbol(math, ams, rel, \"\\u2a88\", \"\\\\gneq\", true);\ndefineSymbol(math, ams, rel, \"\\u2269\", \"\\\\gneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue00d\", \"\\\\@gvertneqq\");\ndefineSymbol(math, ams, rel, \"\\u22e7\", \"\\\\gnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8a\", \"\\\\gnapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u2281\", \"\\\\nsucc\", true); // unicode-math maps \\u22e1 to \\nsucccurlyeq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u22e1\", \"\\\\nsucceq\", true);\ndefineSymbol(math, ams, rel, \"\\u22e9\", \"\\\\succnsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2aba\", \"\\\\succnapprox\", true); // unicode-math maps \\u2246 to \\simneqq. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u2246\", \"\\\\ncong\", true);\ndefineSymbol(math, ams, rel, \"\\ue007\", \"\\\\@nshortparallel\");\ndefineSymbol(math, ams, rel, \"\\u2226\", \"\\\\nparallel\", true);\ndefineSymbol(math, ams, rel, \"\\u22af\", \"\\\\nVDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22eb\", \"\\\\ntriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22ed\", \"\\\\ntrianglerighteq\", true);\ndefineSymbol(math, ams, rel, \"\\ue018\", \"\\\\@nsupseteqq\");\ndefineSymbol(math, ams, rel, \"\\u228b\", \"\\\\supsetneq\", true);\ndefineSymbol(math, ams, rel, \"\\ue01b\", \"\\\\@varsupsetneq\");\ndefineSymbol(math, ams, rel, \"\\u2acc\", \"\\\\supsetneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue019\", \"\\\\@varsupsetneqq\");\ndefineSymbol(math, ams, rel, \"\\u22ae\", \"\\\\nVdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab5\", \"\\\\precneqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab6\", \"\\\\succneqq\", true);\ndefineSymbol(math, ams, rel, \"\\ue016\", \"\\\\@nsubseteqq\");\ndefineSymbol(math, ams, bin, \"\\u22b4\", \"\\\\unlhd\");\ndefineSymbol(math, ams, bin, \"\\u22b5\", \"\\\\unrhd\"); // AMS Negated Arrows\n\ndefineSymbol(math, ams, rel, \"\\u219a\", \"\\\\nleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219b\", \"\\\\nrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21cd\", \"\\\\nLeftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21cf\", \"\\\\nRightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21ae\", \"\\\\nleftrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21ce\", \"\\\\nLeftrightarrow\", true); // AMS Misc\n\ndefineSymbol(math, ams, rel, \"\\u25b3\", \"\\\\vartriangle\");\ndefineSymbol(math, ams, textord, \"\\u210f\", \"\\\\hslash\");\ndefineSymbol(math, ams, textord, \"\\u25bd\", \"\\\\triangledown\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\lozenge\");\ndefineSymbol(math, ams, textord, \"\\u24c8\", \"\\\\circledS\");\ndefineSymbol(math, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(text, ams, textord, \"\\u00ae\", \"\\\\circledR\");\ndefineSymbol(math, ams, textord, \"\\u2221\", \"\\\\measuredangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2204\", \"\\\\nexists\");\ndefineSymbol(math, ams, textord, \"\\u2127\", \"\\\\mho\");\ndefineSymbol(math, ams, textord, \"\\u2132\", \"\\\\Finv\", true);\ndefineSymbol(math, ams, textord, \"\\u2141\", \"\\\\Game\", true);\ndefineSymbol(math, ams, textord, \"\\u2035\", \"\\\\backprime\");\ndefineSymbol(math, ams, textord, \"\\u25b2\", \"\\\\blacktriangle\");\ndefineSymbol(math, ams, textord, \"\\u25bc\", \"\\\\blacktriangledown\");\ndefineSymbol(math, ams, textord, \"\\u25a0\", \"\\\\blacksquare\");\ndefineSymbol(math, ams, textord, \"\\u29eb\", \"\\\\blacklozenge\");\ndefineSymbol(math, ams, textord, \"\\u2605\", \"\\\\bigstar\");\ndefineSymbol(math, ams, textord, \"\\u2222\", \"\\\\sphericalangle\", true);\ndefineSymbol(math, ams, textord, \"\\u2201\", \"\\\\complement\", true); // unicode-math maps U+F0 to \\matheth. We map to AMS function \\eth\n\ndefineSymbol(math, ams, textord, \"\\u00f0\", \"\\\\eth\", true);\ndefineSymbol(text, main, textord, \"\\u00f0\", \"\\u00f0\");\ndefineSymbol(math, ams, textord, \"\\u2571\", \"\\\\diagup\");\ndefineSymbol(math, ams, textord, \"\\u2572\", \"\\\\diagdown\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\square\");\ndefineSymbol(math, ams, textord, \"\\u25a1\", \"\\\\Box\");\ndefineSymbol(math, ams, textord, \"\\u25ca\", \"\\\\Diamond\"); // unicode-math maps U+A5 to \\mathyen. We map to AMS function \\yen\n\ndefineSymbol(math, ams, textord, \"\\u00a5\", \"\\\\yen\", true);\ndefineSymbol(text, ams, textord, \"\\u00a5\", \"\\\\yen\", true);\ndefineSymbol(math, ams, textord, \"\\u2713\", \"\\\\checkmark\", true);\ndefineSymbol(text, ams, textord, \"\\u2713\", \"\\\\checkmark\"); // AMS Hebrew\n\ndefineSymbol(math, ams, textord, \"\\u2136\", \"\\\\beth\", true);\ndefineSymbol(math, ams, textord, \"\\u2138\", \"\\\\daleth\", true);\ndefineSymbol(math, ams, textord, \"\\u2137\", \"\\\\gimel\", true); // AMS Greek\n\ndefineSymbol(math, ams, textord, \"\\u03dd\", \"\\\\digamma\", true);\ndefineSymbol(math, ams, textord, \"\\u03f0\", \"\\\\varkappa\"); // AMS Delimiters\n\ndefineSymbol(math, ams, open, \"\\u250c\", \"\\\\@ulcorner\", true);\ndefineSymbol(math, ams, close, \"\\u2510\", \"\\\\@urcorner\", true);\ndefineSymbol(math, ams, open, \"\\u2514\", \"\\\\@llcorner\", true);\ndefineSymbol(math, ams, close, \"\\u2518\", \"\\\\@lrcorner\", true); // AMS Binary Relations\n\ndefineSymbol(math, ams, rel, \"\\u2266\", \"\\\\leqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2a7d\", \"\\\\leqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2a95\", \"\\\\eqslantless\", true);\ndefineSymbol(math, ams, rel, \"\\u2272\", \"\\\\lesssim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a85\", \"\\\\lessapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u224a\", \"\\\\approxeq\", true);\ndefineSymbol(math, ams, bin, \"\\u22d6\", \"\\\\lessdot\");\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\lll\", true);\ndefineSymbol(math, ams, rel, \"\\u2276\", \"\\\\lessgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u22da\", \"\\\\lesseqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8b\", \"\\\\lesseqqgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\doteqdot\");\ndefineSymbol(math, ams, rel, \"\\u2253\", \"\\\\risingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u2252\", \"\\\\fallingdotseq\", true);\ndefineSymbol(math, ams, rel, \"\\u223d\", \"\\\\backsim\", true);\ndefineSymbol(math, ams, rel, \"\\u22cd\", \"\\\\backsimeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2ac5\", \"\\\\subseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22d0\", \"\\\\Subset\", true);\ndefineSymbol(math, ams, rel, \"\\u228f\", \"\\\\sqsubset\", true);\ndefineSymbol(math, ams, rel, \"\\u227c\", \"\\\\preccurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22de\", \"\\\\curlyeqprec\", true);\ndefineSymbol(math, ams, rel, \"\\u227e\", \"\\\\precsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab7\", \"\\\\precapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22b2\", \"\\\\vartriangleleft\");\ndefineSymbol(math, ams, rel, \"\\u22b4\", \"\\\\trianglelefteq\");\ndefineSymbol(math, ams, rel, \"\\u22a8\", \"\\\\vDash\", true);\ndefineSymbol(math, ams, rel, \"\\u22aa\", \"\\\\Vvdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2323\", \"\\\\smallsmile\");\ndefineSymbol(math, ams, rel, \"\\u2322\", \"\\\\smallfrown\");\ndefineSymbol(math, ams, rel, \"\\u224f\", \"\\\\bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u224e\", \"\\\\Bumpeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2267\", \"\\\\geqq\", true);\ndefineSymbol(math, ams, rel, \"\\u2a7e\", \"\\\\geqslant\", true);\ndefineSymbol(math, ams, rel, \"\\u2a96\", \"\\\\eqslantgtr\", true);\ndefineSymbol(math, ams, rel, \"\\u2273\", \"\\\\gtrsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2a86\", \"\\\\gtrapprox\", true);\ndefineSymbol(math, ams, bin, \"\\u22d7\", \"\\\\gtrdot\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\ggg\", true);\ndefineSymbol(math, ams, rel, \"\\u2277\", \"\\\\gtrless\", true);\ndefineSymbol(math, ams, rel, \"\\u22db\", \"\\\\gtreqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2a8c\", \"\\\\gtreqqless\", true);\ndefineSymbol(math, ams, rel, \"\\u2256\", \"\\\\eqcirc\", true);\ndefineSymbol(math, ams, rel, \"\\u2257\", \"\\\\circeq\", true);\ndefineSymbol(math, ams, rel, \"\\u225c\", \"\\\\triangleq\", true);\ndefineSymbol(math, ams, rel, \"\\u223c\", \"\\\\thicksim\");\ndefineSymbol(math, ams, rel, \"\\u2248\", \"\\\\thickapprox\");\ndefineSymbol(math, ams, rel, \"\\u2ac6\", \"\\\\supseteqq\", true);\ndefineSymbol(math, ams, rel, \"\\u22d1\", \"\\\\Supset\", true);\ndefineSymbol(math, ams, rel, \"\\u2290\", \"\\\\sqsupset\", true);\ndefineSymbol(math, ams, rel, \"\\u227d\", \"\\\\succcurlyeq\", true);\ndefineSymbol(math, ams, rel, \"\\u22df\", \"\\\\curlyeqsucc\", true);\ndefineSymbol(math, ams, rel, \"\\u227f\", \"\\\\succsim\", true);\ndefineSymbol(math, ams, rel, \"\\u2ab8\", \"\\\\succapprox\", true);\ndefineSymbol(math, ams, rel, \"\\u22b3\", \"\\\\vartriangleright\");\ndefineSymbol(math, ams, rel, \"\\u22b5\", \"\\\\trianglerighteq\");\ndefineSymbol(math, ams, rel, \"\\u22a9\", \"\\\\Vdash\", true);\ndefineSymbol(math, ams, rel, \"\\u2223\", \"\\\\shortmid\");\ndefineSymbol(math, ams, rel, \"\\u2225\", \"\\\\shortparallel\");\ndefineSymbol(math, ams, rel, \"\\u226c\", \"\\\\between\", true);\ndefineSymbol(math, ams, rel, \"\\u22d4\", \"\\\\pitchfork\", true);\ndefineSymbol(math, ams, rel, \"\\u221d\", \"\\\\varpropto\");\ndefineSymbol(math, ams, rel, \"\\u25c0\", \"\\\\blacktriangleleft\"); // unicode-math says that \\therefore is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2234\", \"\\\\therefore\", true);\ndefineSymbol(math, ams, rel, \"\\u220d\", \"\\\\backepsilon\");\ndefineSymbol(math, ams, rel, \"\\u25b6\", \"\\\\blacktriangleright\"); // unicode-math says that \\because is a mathord atom.\n// We kept the amssymb atom type, which is rel.\n\ndefineSymbol(math, ams, rel, \"\\u2235\", \"\\\\because\", true);\ndefineSymbol(math, ams, rel, \"\\u22d8\", \"\\\\llless\");\ndefineSymbol(math, ams, rel, \"\\u22d9\", \"\\\\gggtr\");\ndefineSymbol(math, ams, bin, \"\\u22b2\", \"\\\\lhd\");\ndefineSymbol(math, ams, bin, \"\\u22b3\", \"\\\\rhd\");\ndefineSymbol(math, ams, rel, \"\\u2242\", \"\\\\eqsim\", true);\ndefineSymbol(math, main, rel, \"\\u22c8\", \"\\\\Join\");\ndefineSymbol(math, ams, rel, \"\\u2251\", \"\\\\Doteq\", true); // AMS Binary Operators\n\ndefineSymbol(math, ams, bin, \"\\u2214\", \"\\\\dotplus\", true);\ndefineSymbol(math, ams, bin, \"\\u2216\", \"\\\\smallsetminus\");\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\Cap\", true);\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\Cup\", true);\ndefineSymbol(math, ams, bin, \"\\u2a5e\", \"\\\\doublebarwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u229f\", \"\\\\boxminus\", true);\ndefineSymbol(math, ams, bin, \"\\u229e\", \"\\\\boxplus\", true);\ndefineSymbol(math, ams, bin, \"\\u22c7\", \"\\\\divideontimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22c9\", \"\\\\ltimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22ca\", \"\\\\rtimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cb\", \"\\\\leftthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cc\", \"\\\\rightthreetimes\", true);\ndefineSymbol(math, ams, bin, \"\\u22cf\", \"\\\\curlywedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22ce\", \"\\\\curlyvee\", true);\ndefineSymbol(math, ams, bin, \"\\u229d\", \"\\\\circleddash\", true);\ndefineSymbol(math, ams, bin, \"\\u229b\", \"\\\\circledast\", true);\ndefineSymbol(math, ams, bin, \"\\u22c5\", \"\\\\centerdot\");\ndefineSymbol(math, ams, bin, \"\\u22ba\", \"\\\\intercal\", true);\ndefineSymbol(math, ams, bin, \"\\u22d2\", \"\\\\doublecap\");\ndefineSymbol(math, ams, bin, \"\\u22d3\", \"\\\\doublecup\");\ndefineSymbol(math, ams, bin, \"\\u22a0\", \"\\\\boxtimes\", true); // AMS Arrows\n// Note: unicode-math maps \\u21e2 to their own function \\rightdasharrow.\n// We'll map it to AMS function \\dashrightarrow. It produces the same atom.\n\ndefineSymbol(math, ams, rel, \"\\u21e2\", \"\\\\dashrightarrow\", true); // unicode-math maps \\u21e0 to \\leftdasharrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21e0\", \"\\\\dashleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21c7\", \"\\\\leftleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21c6\", \"\\\\leftrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21da\", \"\\\\Lleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u219e\", \"\\\\twoheadleftarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21a2\", \"\\\\leftarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21ab\", \"\\\\looparrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21cb\", \"\\\\leftrightharpoons\", true);\ndefineSymbol(math, ams, rel, \"\\u21b6\", \"\\\\curvearrowleft\", true); // unicode-math maps \\u21ba to \\acwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21ba\", \"\\\\circlearrowleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21b0\", \"\\\\Lsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21c8\", \"\\\\upuparrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21bf\", \"\\\\upharpoonleft\", true);\ndefineSymbol(math, ams, rel, \"\\u21c3\", \"\\\\downharpoonleft\", true);\ndefineSymbol(math, main, rel, \"\\u22b6\", \"\\\\origof\", true); // not in font\n\ndefineSymbol(math, main, rel, \"\\u22b7\", \"\\\\imageof\", true); // not in font\n\ndefineSymbol(math, ams, rel, \"\\u22b8\", \"\\\\multimap\", true);\ndefineSymbol(math, ams, rel, \"\\u21ad\", \"\\\\leftrightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21c9\", \"\\\\rightrightarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21c4\", \"\\\\rightleftarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21a0\", \"\\\\twoheadrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21a3\", \"\\\\rightarrowtail\", true);\ndefineSymbol(math, ams, rel, \"\\u21ac\", \"\\\\looparrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21b7\", \"\\\\curvearrowright\", true); // unicode-math maps \\u21bb to \\cwopencirclearrow. We'll use the AMS synonym.\n\ndefineSymbol(math, ams, rel, \"\\u21bb\", \"\\\\circlearrowright\", true);\ndefineSymbol(math, ams, rel, \"\\u21b1\", \"\\\\Rsh\", true);\ndefineSymbol(math, ams, rel, \"\\u21ca\", \"\\\\downdownarrows\", true);\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\upharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21c2\", \"\\\\downharpoonright\", true);\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\rightsquigarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21dd\", \"\\\\leadsto\");\ndefineSymbol(math, ams, rel, \"\\u21db\", \"\\\\Rrightarrow\", true);\ndefineSymbol(math, ams, rel, \"\\u21be\", \"\\\\restriction\");\ndefineSymbol(math, main, textord, \"\\u2018\", \"`\");\ndefineSymbol(math, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(text, main, textord, \"$\", \"\\\\$\");\ndefineSymbol(text, main, textord, \"$\", \"\\\\textdollar\");\ndefineSymbol(math, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(text, main, textord, \"%\", \"\\\\%\");\ndefineSymbol(math, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(text, main, textord, \"_\", \"\\\\_\");\ndefineSymbol(text, main, textord, \"_\", \"\\\\textunderscore\");\ndefineSymbol(math, main, textord, \"\\u2220\", \"\\\\angle\", true);\ndefineSymbol(math, main, textord, \"\\u221e\", \"\\\\infty\", true);\ndefineSymbol(math, main, textord, \"\\u2032\", \"\\\\prime\");\ndefineSymbol(math, main, textord, \"\\u25b3\", \"\\\\triangle\");\ndefineSymbol(math, main, textord, \"\\u0393\", \"\\\\Gamma\", true);\ndefineSymbol(math, main, textord, \"\\u0394\", \"\\\\Delta\", true);\ndefineSymbol(math, main, textord, \"\\u0398\", \"\\\\Theta\", true);\ndefineSymbol(math, main, textord, \"\\u039b\", \"\\\\Lambda\", true);\ndefineSymbol(math, main, textord, \"\\u039e\", \"\\\\Xi\", true);\ndefineSymbol(math, main, textord, \"\\u03a0\", \"\\\\Pi\", true);\ndefineSymbol(math, main, textord, \"\\u03a3\", \"\\\\Sigma\", true);\ndefineSymbol(math, main, textord, \"\\u03a5\", \"\\\\Upsilon\", true);\ndefineSymbol(math, main, textord, \"\\u03a6\", \"\\\\Phi\", true);\ndefineSymbol(math, main, textord, \"\\u03a8\", \"\\\\Psi\", true);\ndefineSymbol(math, main, textord, \"\\u03a9\", \"\\\\Omega\", true);\ndefineSymbol(math, main, textord, \"A\", \"\\u0391\");\ndefineSymbol(math, main, textord, \"B\", \"\\u0392\");\ndefineSymbol(math, main, textord, \"E\", \"\\u0395\");\ndefineSymbol(math, main, textord, \"Z\", \"\\u0396\");\ndefineSymbol(math, main, textord, \"H\", \"\\u0397\");\ndefineSymbol(math, main, textord, \"I\", \"\\u0399\");\ndefineSymbol(math, main, textord, \"K\", \"\\u039A\");\ndefineSymbol(math, main, textord, \"M\", \"\\u039C\");\ndefineSymbol(math, main, textord, \"N\", \"\\u039D\");\ndefineSymbol(math, main, textord, \"O\", \"\\u039F\");\ndefineSymbol(math, main, textord, \"P\", \"\\u03A1\");\ndefineSymbol(math, main, textord, \"T\", \"\\u03A4\");\ndefineSymbol(math, main, textord, \"X\", \"\\u03A7\");\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\neg\", true);\ndefineSymbol(math, main, textord, \"\\u00ac\", \"\\\\lnot\");\ndefineSymbol(math, main, textord, \"\\u22a4\", \"\\\\top\");\ndefineSymbol(math, main, textord, \"\\u22a5\", \"\\\\bot\");\ndefineSymbol(math, main, textord, \"\\u2205\", \"\\\\emptyset\");\ndefineSymbol(math, ams, textord, \"\\u2205\", \"\\\\varnothing\");\ndefineSymbol(math, main, mathord, \"\\u03b1\", \"\\\\alpha\", true);\ndefineSymbol(math, main, mathord, \"\\u03b2\", \"\\\\beta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b3\", \"\\\\gamma\", true);\ndefineSymbol(math, main, mathord, \"\\u03b4\", \"\\\\delta\", true);\ndefineSymbol(math, main, mathord, \"\\u03f5\", \"\\\\epsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03b6\", \"\\\\zeta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b7\", \"\\\\eta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b8\", \"\\\\theta\", true);\ndefineSymbol(math, main, mathord, \"\\u03b9\", \"\\\\iota\", true);\ndefineSymbol(math, main, mathord, \"\\u03ba\", \"\\\\kappa\", true);\ndefineSymbol(math, main, mathord, \"\\u03bb\", \"\\\\lambda\", true);\ndefineSymbol(math, main, mathord, \"\\u03bc\", \"\\\\mu\", true);\ndefineSymbol(math, main, mathord, \"\\u03bd\", \"\\\\nu\", true);\ndefineSymbol(math, main, mathord, \"\\u03be\", \"\\\\xi\", true);\ndefineSymbol(math, main, mathord, \"\\u03bf\", \"\\\\omicron\", true);\ndefineSymbol(math, main, mathord, \"\\u03c0\", \"\\\\pi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c1\", \"\\\\rho\", true);\ndefineSymbol(math, main, mathord, \"\\u03c3\", \"\\\\sigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03c4\", \"\\\\tau\", true);\ndefineSymbol(math, main, mathord, \"\\u03c5\", \"\\\\upsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03d5\", \"\\\\phi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c7\", \"\\\\chi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c8\", \"\\\\psi\", true);\ndefineSymbol(math, main, mathord, \"\\u03c9\", \"\\\\omega\", true);\ndefineSymbol(math, main, mathord, \"\\u03b5\", \"\\\\varepsilon\", true);\ndefineSymbol(math, main, mathord, \"\\u03d1\", \"\\\\vartheta\", true);\ndefineSymbol(math, main, mathord, \"\\u03d6\", \"\\\\varpi\", true);\ndefineSymbol(math, main, mathord, \"\\u03f1\", \"\\\\varrho\", true);\ndefineSymbol(math, main, mathord, \"\\u03c2\", \"\\\\varsigma\", true);\ndefineSymbol(math, main, mathord, \"\\u03c6\", \"\\\\varphi\", true);\ndefineSymbol(math, main, bin, \"\\u2217\", \"*\", true);\ndefineSymbol(math, main, bin, \"+\", \"+\");\ndefineSymbol(math, main, bin, \"\\u2212\", \"-\", true);\ndefineSymbol(math, main, bin, \"\\u22c5\", \"\\\\cdot\", true);\ndefineSymbol(math, main, bin, \"\\u2218\", \"\\\\circ\", true);\ndefineSymbol(math, main, bin, \"\\u00f7\", \"\\\\div\", true);\ndefineSymbol(math, main, bin, \"\\u00b1\", \"\\\\pm\", true);\ndefineSymbol(math, main, bin, \"\\u00d7\", \"\\\\times\", true);\ndefineSymbol(math, main, bin, \"\\u2229\", \"\\\\cap\", true);\ndefineSymbol(math, main, bin, \"\\u222a\", \"\\\\cup\", true);\ndefineSymbol(math, main, bin, \"\\u2216\", \"\\\\setminus\", true);\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\land\");\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\lor\");\ndefineSymbol(math, main, bin, \"\\u2227\", \"\\\\wedge\", true);\ndefineSymbol(math, main, bin, \"\\u2228\", \"\\\\vee\", true);\ndefineSymbol(math, main, textord, \"\\u221a\", \"\\\\surd\");\ndefineSymbol(math, main, open, \"\\u27e8\", \"\\\\langle\", true);\ndefineSymbol(math, main, open, \"\\u2223\", \"\\\\lvert\");\ndefineSymbol(math, main, open, \"\\u2225\", \"\\\\lVert\");\ndefineSymbol(math, main, close, \"?\", \"?\");\ndefineSymbol(math, main, close, \"!\", \"!\");\ndefineSymbol(math, main, close, \"\\u27e9\", \"\\\\rangle\", true);\ndefineSymbol(math, main, close, \"\\u2223\", \"\\\\rvert\");\ndefineSymbol(math, main, close, \"\\u2225\", \"\\\\rVert\");\ndefineSymbol(math, main, rel, \"=\", \"=\");\ndefineSymbol(math, main, rel, \":\", \":\");\ndefineSymbol(math, main, rel, \"\\u2248\", \"\\\\approx\", true);\ndefineSymbol(math, main, rel, \"\\u2245\", \"\\\\cong\", true);\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\ge\");\ndefineSymbol(math, main, rel, \"\\u2265\", \"\\\\geq\", true);\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\gets\");\ndefineSymbol(math, main, rel, \">\", \"\\\\gt\", true);\ndefineSymbol(math, main, rel, \"\\u2208\", \"\\\\in\", true);\ndefineSymbol(math, main, rel, \"\\ue020\", \"\\\\@not\");\ndefineSymbol(math, main, rel, \"\\u2282\", \"\\\\subset\", true);\ndefineSymbol(math, main, rel, \"\\u2283\", \"\\\\supset\", true);\ndefineSymbol(math, main, rel, \"\\u2286\", \"\\\\subseteq\", true);\ndefineSymbol(math, main, rel, \"\\u2287\", \"\\\\supseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2288\", \"\\\\nsubseteq\", true);\ndefineSymbol(math, ams, rel, \"\\u2289\", \"\\\\nsupseteq\", true);\ndefineSymbol(math, main, rel, \"\\u22a8\", \"\\\\models\");\ndefineSymbol(math, main, rel, \"\\u2190\", \"\\\\leftarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\le\");\ndefineSymbol(math, main, rel, \"\\u2264\", \"\\\\leq\", true);\ndefineSymbol(math, main, rel, \"<\", \"\\\\lt\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\rightarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2192\", \"\\\\to\");\ndefineSymbol(math, ams, rel, \"\\u2271\", \"\\\\ngeq\", true);\ndefineSymbol(math, ams, rel, \"\\u2270\", \"\\\\nleq\", true);\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\space\"); // Ref: LaTeX Source 2e: \\DeclareRobustCommand{\\nobreakspace}{%\n\ndefineSymbol(math, main, spacing, \"\\u00a0\", \"\\\\nobreakspace\");\ndefineSymbol(text, main, spacing, \"\\u00a0\", \"\\\\ \");\ndefineSymbol(text, main, spacing, \"\\u00a0\", \" \");\ndefineSymbol(text, main, spacing, \"\\u00a0\", \"\\\\space\");\ndefineSymbol(text, main, spacing, \"\\u00a0\", \"\\\\nobreakspace\");\ndefineSymbol(math, main, spacing, null, \"\\\\nobreak\");\ndefineSymbol(math, main, spacing, null, \"\\\\allowbreak\");\ndefineSymbol(math, main, punct, \",\", \",\");\ndefineSymbol(math, main, punct, \";\", \";\");\ndefineSymbol(math, ams, bin, \"\\u22bc\", \"\\\\barwedge\", true);\ndefineSymbol(math, ams, bin, \"\\u22bb\", \"\\\\veebar\", true);\ndefineSymbol(math, main, bin, \"\\u2299\", \"\\\\odot\", true);\ndefineSymbol(math, main, bin, \"\\u2295\", \"\\\\oplus\", true);\ndefineSymbol(math, main, bin, \"\\u2297\", \"\\\\otimes\", true);\ndefineSymbol(math, main, textord, \"\\u2202\", \"\\\\partial\", true);\ndefineSymbol(math, main, bin, \"\\u2298\", \"\\\\oslash\", true);\ndefineSymbol(math, ams, bin, \"\\u229a\", \"\\\\circledcirc\", true);\ndefineSymbol(math, ams, bin, \"\\u22a1\", \"\\\\boxdot\", true);\ndefineSymbol(math, main, bin, \"\\u25b3\", \"\\\\bigtriangleup\");\ndefineSymbol(math, main, bin, \"\\u25bd\", \"\\\\bigtriangledown\");\ndefineSymbol(math, main, bin, \"\\u2020\", \"\\\\dagger\");\ndefineSymbol(math, main, bin, \"\\u22c4\", \"\\\\diamond\");\ndefineSymbol(math, main, bin, \"\\u22c6\", \"\\\\star\");\ndefineSymbol(math, main, bin, \"\\u25c3\", \"\\\\triangleleft\");\ndefineSymbol(math, main, bin, \"\\u25b9\", \"\\\\triangleright\");\ndefineSymbol(math, main, open, \"{\", \"\\\\{\");\ndefineSymbol(text, main, textord, \"{\", \"\\\\{\");\ndefineSymbol(text, main, textord, \"{\", \"\\\\textbraceleft\");\ndefineSymbol(math, main, close, \"}\", \"\\\\}\");\ndefineSymbol(text, main, textord, \"}\", \"\\\\}\");\ndefineSymbol(text, main, textord, \"}\", \"\\\\textbraceright\");\ndefineSymbol(math, main, open, \"{\", \"\\\\lbrace\");\ndefineSymbol(math, main, close, \"}\", \"\\\\rbrace\");\ndefineSymbol(math, main, open, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(text, main, textord, \"[\", \"\\\\lbrack\", true);\ndefineSymbol(math, main, close, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(text, main, textord, \"]\", \"\\\\rbrack\", true);\ndefineSymbol(math, main, open, \"(\", \"\\\\lparen\", true);\ndefineSymbol(math, main, close, \")\", \"\\\\rparen\", true);\ndefineSymbol(text, main, textord, \"<\", \"\\\\textless\", true); // in T1 fontenc\n\ndefineSymbol(text, main, textord, \">\", \"\\\\textgreater\", true); // in T1 fontenc\n\ndefineSymbol(math, main, open, \"\\u230a\", \"\\\\lfloor\", true);\ndefineSymbol(math, main, close, \"\\u230b\", \"\\\\rfloor\", true);\ndefineSymbol(math, main, open, \"\\u2308\", \"\\\\lceil\", true);\ndefineSymbol(math, main, close, \"\\u2309\", \"\\\\rceil\", true);\ndefineSymbol(math, main, textord, \"\\\\\", \"\\\\backslash\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"|\");\ndefineSymbol(math, main, textord, \"\\u2223\", \"\\\\vert\");\ndefineSymbol(text, main, textord, \"|\", \"\\\\textbar\", true); // in T1 fontenc\n\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\|\");\ndefineSymbol(math, main, textord, \"\\u2225\", \"\\\\Vert\");\ndefineSymbol(text, main, textord, \"\\u2225\", \"\\\\textbardbl\");\ndefineSymbol(text, main, textord, \"~\", \"\\\\textasciitilde\");\ndefineSymbol(text, main, textord, \"\\\\\", \"\\\\textbackslash\");\ndefineSymbol(text, main, textord, \"^\", \"\\\\textasciicircum\");\ndefineSymbol(math, main, rel, \"\\u2191\", \"\\\\uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d1\", \"\\\\Uparrow\", true);\ndefineSymbol(math, main, rel, \"\\u2193\", \"\\\\downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d3\", \"\\\\Downarrow\", true);\ndefineSymbol(math, main, rel, \"\\u2195\", \"\\\\updownarrow\", true);\ndefineSymbol(math, main, rel, \"\\u21d5\", \"\\\\Updownarrow\", true);\ndefineSymbol(math, main, op, \"\\u2210\", \"\\\\coprod\");\ndefineSymbol(math, main, op, \"\\u22c1\", \"\\\\bigvee\");\ndefineSymbol(math, main, op, \"\\u22c0\", \"\\\\bigwedge\");\ndefineSymbol(math, main, op, \"\\u2a04\", \"\\\\biguplus\");\ndefineSymbol(math, main, op, \"\\u22c2\", \"\\\\bigcap\");\ndefineSymbol(math, main, op, \"\\u22c3\", \"\\\\bigcup\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\int\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\intop\");\ndefineSymbol(math, main, op, \"\\u222c\", \"\\\\iint\");\ndefineSymbol(math, main, op, \"\\u222d\", \"\\\\iiint\");\ndefineSymbol(math, main, op, \"\\u220f\", \"\\\\prod\");\ndefineSymbol(math, main, op, \"\\u2211\", \"\\\\sum\");\ndefineSymbol(math, main, op, \"\\u2a02\", \"\\\\bigotimes\");\ndefineSymbol(math, main, op, \"\\u2a01\", \"\\\\bigoplus\");\ndefineSymbol(math, main, op, \"\\u2a00\", \"\\\\bigodot\");\ndefineSymbol(math, main, op, \"\\u222e\", \"\\\\oint\");\ndefineSymbol(math, main, op, \"\\u222f\", \"\\\\oiint\");\ndefineSymbol(math, main, op, \"\\u2230\", \"\\\\oiiint\");\ndefineSymbol(math, main, op, \"\\u2a06\", \"\\\\bigsqcup\");\ndefineSymbol(math, main, op, \"\\u222b\", \"\\\\smallint\");\ndefineSymbol(text, main, inner, \"\\u2026\", \"\\\\textellipsis\");\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\mathellipsis\");\ndefineSymbol(text, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u2026\", \"\\\\ldots\", true);\ndefineSymbol(math, main, inner, \"\\u22ef\", \"\\\\@cdots\", true);\ndefineSymbol(math, main, inner, \"\\u22f1\", \"\\\\ddots\", true); // \\vdots is a macro that uses one of these two symbols (with made-up names):\n\ndefineSymbol(math, main, textord, \"\\u22ee\", \"\\\\varvdots\");\ndefineSymbol(text, main, textord, \"\\u22ee\", \"\\\\varvdots\");\ndefineSymbol(math, main, accent, \"\\u02ca\", \"\\\\acute\");\ndefineSymbol(math, main, accent, \"\\u02cb\", \"\\\\grave\");\ndefineSymbol(math, main, accent, \"\\u00a8\", \"\\\\ddot\");\ndefineSymbol(math, main, accent, \"\\u007e\", \"\\\\tilde\");\ndefineSymbol(math, main, accent, \"\\u02c9\", \"\\\\bar\");\ndefineSymbol(math, main, accent, \"\\u02d8\", \"\\\\breve\");\ndefineSymbol(math, main, accent, \"\\u02c7\", \"\\\\check\");\ndefineSymbol(math, main, accent, \"\\u005e\", \"\\\\hat\");\ndefineSymbol(math, main, accent, \"\\u20d7\", \"\\\\vec\");\ndefineSymbol(math, main, accent, \"\\u02d9\", \"\\\\dot\");\ndefineSymbol(math, main, accent, \"\\u02da\", \"\\\\mathring\"); // \\imath and \\jmath should be invariant to \\mathrm, \\mathbf, etc., so use PUA\n\ndefineSymbol(math, main, mathord, \"\\ue131\", \"\\\\@imath\");\ndefineSymbol(math, main, mathord, \"\\ue237\", \"\\\\@jmath\");\ndefineSymbol(math, main, textord, \"\\u0131\", \"\\u0131\");\ndefineSymbol(math, main, textord, \"\\u0237\", \"\\u0237\");\ndefineSymbol(text, main, textord, \"\\u0131\", \"\\\\i\", true);\ndefineSymbol(text, main, textord, \"\\u0237\", \"\\\\j\", true);\ndefineSymbol(text, main, textord, \"\\u00df\", \"\\\\ss\", true);\ndefineSymbol(text, main, textord, \"\\u00e6\", \"\\\\ae\", true);\ndefineSymbol(text, main, textord, \"\\u0153\", \"\\\\oe\", true);\ndefineSymbol(text, main, textord, \"\\u00f8\", \"\\\\o\", true);\ndefineSymbol(text, main, textord, \"\\u00c6\", \"\\\\AE\", true);\ndefineSymbol(text, main, textord, \"\\u0152\", \"\\\\OE\", true);\ndefineSymbol(text, main, textord, \"\\u00d8\", \"\\\\O\", true);\ndefineSymbol(text, main, accent, \"\\u02ca\", \"\\\\'\"); // acute\n\ndefineSymbol(text, main, accent, \"\\u02cb\", \"\\\\`\"); // grave\n\ndefineSymbol(text, main, accent, \"\\u02c6\", \"\\\\^\"); // circumflex\n\ndefineSymbol(text, main, accent, \"\\u02dc\", \"\\\\~\"); // tilde\n\ndefineSymbol(text, main, accent, \"\\u02c9\", \"\\\\=\"); // macron\n\ndefineSymbol(text, main, accent, \"\\u02d8\", \"\\\\u\"); // breve\n\ndefineSymbol(text, main, accent, \"\\u02d9\", \"\\\\.\"); // dot above\n\ndefineSymbol(text, main, accent, \"\\u00b8\", \"\\\\c\"); // cedilla\n\ndefineSymbol(text, main, accent, \"\\u02da\", \"\\\\r\"); // ring above\n\ndefineSymbol(text, main, accent, \"\\u02c7\", \"\\\\v\"); // caron\n\ndefineSymbol(text, main, accent, \"\\u00a8\", '\\\\\"'); // diaeresis\n\ndefineSymbol(text, main, accent, \"\\u02dd\", \"\\\\H\"); // double acute\n\ndefineSymbol(text, main, accent, \"\\u25ef\", \"\\\\textcircled\"); // \\bigcirc glyph\n// These ligatures are detected and created in Parser.js's `formLigatures`.\n\nvar ligatures = {\n \"--\": true,\n \"---\": true,\n \"``\": true,\n \"''\": true\n};\ndefineSymbol(text, main, textord, \"\\u2013\", \"--\", true);\ndefineSymbol(text, main, textord, \"\\u2013\", \"\\\\textendash\");\ndefineSymbol(text, main, textord, \"\\u2014\", \"---\", true);\ndefineSymbol(text, main, textord, \"\\u2014\", \"\\\\textemdash\");\ndefineSymbol(text, main, textord, \"\\u2018\", \"`\", true);\ndefineSymbol(text, main, textord, \"\\u2018\", \"\\\\textquoteleft\");\ndefineSymbol(text, main, textord, \"\\u2019\", \"'\", true);\ndefineSymbol(text, main, textord, \"\\u2019\", \"\\\\textquoteright\");\ndefineSymbol(text, main, textord, \"\\u201c\", \"``\", true);\ndefineSymbol(text, main, textord, \"\\u201c\", \"\\\\textquotedblleft\");\ndefineSymbol(text, main, textord, \"\\u201d\", \"''\", true);\ndefineSymbol(text, main, textord, \"\\u201d\", \"\\\\textquotedblright\"); // \\degree from gensymb package\n\ndefineSymbol(math, main, textord, \"\\u00b0\", \"\\\\degree\", true);\ndefineSymbol(text, main, textord, \"\\u00b0\", \"\\\\degree\"); // \\textdegree from inputenc package\n\ndefineSymbol(text, main, textord, \"\\u00b0\", \"\\\\textdegree\", true); // TODO: In LaTeX, \\pounds can generate a different character in text and math\n// mode, but among our fonts, only Main-Regular defines this character \"163\".\n\ndefineSymbol(math, main, textord, \"\\u00a3\", \"\\\\pounds\");\ndefineSymbol(math, main, textord, \"\\u00a3\", \"\\\\mathsterling\", true);\ndefineSymbol(text, main, textord, \"\\u00a3\", \"\\\\pounds\");\ndefineSymbol(text, main, textord, \"\\u00a3\", \"\\\\textsterling\", true);\ndefineSymbol(math, ams, textord, \"\\u2720\", \"\\\\maltese\");\ndefineSymbol(text, ams, textord, \"\\u2720\", \"\\\\maltese\"); // There are lots of symbols which are the same, so we add them in afterwards.\n// All of these are textords in math mode\n\nvar mathTextSymbols = \"0123456789/@.\\\"\";\n\nfor (var i = 0; i < mathTextSymbols.length; i++) {\n var ch = mathTextSymbols.charAt(i);\n defineSymbol(math, main, textord, ch, ch);\n} // All of these are textords in text mode\n\n\nvar textSymbols = \"0123456789!@*()-=+\\\";:?/.,\";\n\nfor (var _i = 0; _i < textSymbols.length; _i++) {\n var _ch = textSymbols.charAt(_i);\n\n defineSymbol(text, main, textord, _ch, _ch);\n} // All of these are textords in text mode, and mathords in math mode\n\n\nvar letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n\nfor (var _i2 = 0; _i2 < letters.length; _i2++) {\n var _ch2 = letters.charAt(_i2);\n\n defineSymbol(math, main, mathord, _ch2, _ch2);\n defineSymbol(text, main, textord, _ch2, _ch2);\n} // Blackboard bold and script letters in Unicode range\n\n\ndefineSymbol(math, ams, textord, \"C\", \"\\u2102\"); // blackboard bold\n\ndefineSymbol(text, ams, textord, \"C\", \"\\u2102\");\ndefineSymbol(math, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(text, ams, textord, \"H\", \"\\u210D\");\ndefineSymbol(math, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(text, ams, textord, \"N\", \"\\u2115\");\ndefineSymbol(math, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(text, ams, textord, \"P\", \"\\u2119\");\ndefineSymbol(math, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(text, ams, textord, \"Q\", \"\\u211A\");\ndefineSymbol(math, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(text, ams, textord, \"R\", \"\\u211D\");\ndefineSymbol(math, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(text, ams, textord, \"Z\", \"\\u2124\");\ndefineSymbol(math, main, mathord, \"h\", \"\\u210E\"); // italic h, Planck constant\n\ndefineSymbol(text, main, mathord, \"h\", \"\\u210E\"); // The next loop loads wide (surrogate pair) characters.\n// We support some letters in the Unicode range U+1D400 to U+1D7FF,\n// Mathematical Alphanumeric Symbols.\n// Some editors do not deal well with wide characters. So don't write the\n// string into this file. Instead, create the string from the surrogate pair.\n\nvar wideChar = \"\";\n\nfor (var _i3 = 0; _i3 < letters.length; _i3++) {\n var _ch3 = letters.charAt(_i3); // The hex numbers in the next line are a surrogate pair.\n // 0xD835 is the high surrogate for all letters in the range we support.\n // 0xDC00 is the low surrogate for bold A.\n\n\n wideChar = String.fromCharCode(0xD835, 0xDC00 + _i3); // A-Z a-z bold\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC34 + _i3); // A-Z a-z italic\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC68 + _i3); // A-Z a-z bold italic\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD04 + _i3); // A-Z a-z Fraktur\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDD6C + _i3); // A-Z a-z bold Fraktur\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDA0 + _i3); // A-Z a-z sans-serif\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDDD4 + _i3); // A-Z a-z sans bold\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE08 + _i3); // A-Z a-z sans italic\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDE70 + _i3); // A-Z a-z monospace\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n\n if (_i3 < 26) {\n // KaTeX fonts have only capital letters for blackboard bold and script.\n // See exception for k below.\n wideChar = String.fromCharCode(0xD835, 0xDD38 + _i3); // A-Z double struck\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDC9C + _i3); // A-Z script\n\n defineSymbol(math, main, mathord, _ch3, wideChar);\n defineSymbol(text, main, textord, _ch3, wideChar);\n } // TODO: Add bold script when it is supported by a KaTeX font.\n\n} // \"k\" is the only double struck lower case letter in the KaTeX fonts.\n\n\nwideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck\n\ndefineSymbol(math, main, mathord, \"k\", wideChar);\ndefineSymbol(text, main, textord, \"k\", wideChar); // Next, some wide character numerals\n\nfor (var _i4 = 0; _i4 < 10; _i4++) {\n var _ch4 = _i4.toString();\n\n wideChar = String.fromCharCode(0xD835, 0xDFCE + _i4); // 0-9 bold\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(text, main, textord, _ch4, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFE2 + _i4); // 0-9 sans serif\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(text, main, textord, _ch4, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFEC + _i4); // 0-9 bold sans\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(text, main, textord, _ch4, wideChar);\n wideChar = String.fromCharCode(0xD835, 0xDFF6 + _i4); // 0-9 monospace\n\n defineSymbol(math, main, mathord, _ch4, wideChar);\n defineSymbol(text, main, textord, _ch4, wideChar);\n} // We add these Latin-1 letters as symbols for backwards-compatibility,\n// but they are not actually in the font, nor are they supported by the\n// Unicode accent mechanism, so they fall back to Times font and look ugly.\n// TODO(edemaine): Fix this.\n\n\nvar extraLatin = \"\\u00d0\\u00de\\u00fe\";\n\nfor (var _i5 = 0; _i5 < extraLatin.length; _i5++) {\n var _ch5 = extraLatin.charAt(_i5);\n\n defineSymbol(math, main, mathord, _ch5, _ch5);\n defineSymbol(text, main, textord, _ch5, _ch5);\n}\n\n/**\n * This file provides support for Unicode range U+1D400 to U+1D7FF,\n * Mathematical Alphanumeric Symbols.\n *\n * Function wideCharacterFont takes a wide character as input and returns\n * the font information necessary to render it properly.\n */\n/**\n * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf\n * That document sorts characters into groups by font type, say bold or italic.\n *\n * In the arrays below, each subarray consists three elements:\n * * The CSS class of that group when in math mode.\n * * The CSS class of that group when in text mode.\n * * The font name, so that KaTeX can get font metrics.\n */\n\nvar wideLatinLetterData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // A-Z bold upright\n[\"mathbf\", \"textbf\", \"Main-Bold\"], // a-z bold upright\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // A-Z italic\n[\"mathnormal\", \"textit\", \"Math-Italic\"], // a-z italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // A-Z bold italic\n[\"boldsymbol\", \"boldsymbol\", \"Main-BoldItalic\"], // a-z bold italic\n// Map fancy A-Z letters to script, not calligraphic.\n// This aligns with unicode-math and math fonts (except Cambria Math).\n[\"mathscr\", \"textscr\", \"Script-Regular\"], // A-Z script\n[\"\", \"\", \"\"], // a-z script. No font\n[\"\", \"\", \"\"], // A-Z bold script. No font\n[\"\", \"\", \"\"], // a-z bold script. No font\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // A-Z Fraktur\n[\"mathfrak\", \"textfrak\", \"Fraktur-Regular\"], // a-z Fraktur\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // A-Z double-struck\n[\"mathbb\", \"textbb\", \"AMS-Regular\"], // k double-struck\n// Note that we are using a bold font, but font metrics for regular Fraktur.\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // A-Z bold Fraktur\n[\"mathboldfrak\", \"textboldfrak\", \"Fraktur-Regular\"], // a-z bold Fraktur\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // A-Z sans-serif\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // a-z sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // A-Z bold sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // a-z bold sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // A-Z italic sans-serif\n[\"mathitsf\", \"textitsf\", \"SansSerif-Italic\"], // a-z italic sans-serif\n[\"\", \"\", \"\"], // A-Z bold italic sans. No font\n[\"\", \"\", \"\"], // a-z bold italic sans. No font\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"], // A-Z monospace\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // a-z monospace\n];\nvar wideNumeralData = [[\"mathbf\", \"textbf\", \"Main-Bold\"], // 0-9 bold\n[\"\", \"\", \"\"], // 0-9 double-struck. No KaTeX font.\n[\"mathsf\", \"textsf\", \"SansSerif-Regular\"], // 0-9 sans-serif\n[\"mathboldsf\", \"textboldsf\", \"SansSerif-Bold\"], // 0-9 bold sans-serif\n[\"mathtt\", \"texttt\", \"Typewriter-Regular\"] // 0-9 monospace\n];\nvar wideCharacterFont = function wideCharacterFont(wideChar, mode) {\n // IE doesn't support codePointAt(). So work with the surrogate pair.\n var H = wideChar.charCodeAt(0); // high surrogate\n\n var L = wideChar.charCodeAt(1); // low surrogate\n\n var codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000;\n var j = mode === \"math\" ? 0 : 1; // column index for CSS class.\n\n if (0x1D400 <= codePoint && codePoint < 0x1D6A4) {\n // wideLatinLetterData contains exactly 26 chars on each row.\n // So we can calculate the relevant row. No traverse necessary.\n var i = Math.floor((codePoint - 0x1D400) / 26);\n return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]];\n } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) {\n // Numerals, ten per row.\n var _i = Math.floor((codePoint - 0x1D7CE) / 10);\n\n return [wideNumeralData[_i][2], wideNumeralData[_i][j]];\n } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) {\n // dotless i or j\n return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]];\n } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) {\n // Greek letters. Not supported, yet.\n return [\"\", \"\"];\n } else {\n // We don't support any wide characters outside 1D400–1D7FF.\n throw new ParseError(\"Unsupported character: \" + wideChar);\n }\n};\n\n/* eslint no-console:0 */\n\n/**\n * Looks up the given symbol in fontMetrics, after applying any symbol\n * replacements defined in symbol.js\n */\nvar lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this.\nfontName, mode) {\n // Replace the value with its replaced value from symbol.js\n if (symbols[mode][value] && symbols[mode][value].replace) {\n value = symbols[mode][value].replace;\n }\n\n return {\n value: value,\n metrics: getCharacterMetrics(value, fontName, mode)\n };\n};\n/**\n * Makes a symbolNode after translation via the list of symbols in symbols.js.\n * Correctly pulls out metrics for the character, and optionally takes a list of\n * classes to be attached to the node.\n *\n * TODO: make argument order closer to makeSpan\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n * TODO(#953): Make `options` mandatory and always pass it in.\n */\n\n\nvar makeSymbol = function makeSymbol(value, fontName, mode, options, classes) {\n var lookup = lookupSymbol(value, fontName, mode);\n var metrics = lookup.metrics;\n value = lookup.value;\n var symbolNode;\n\n if (metrics) {\n var italic = metrics.italic;\n\n if (mode === \"text\" || options && options.font === \"mathit\") {\n italic = 0;\n }\n\n symbolNode = new SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes);\n } else {\n // TODO(emily): Figure out a good way to only print this in development\n typeof console !== \"undefined\" && console.warn(\"No character metrics \" + (\"for '\" + value + \"' in style '\" + fontName + \"' and mode '\" + mode + \"'\"));\n symbolNode = new SymbolNode(value, 0, 0, 0, 0, 0, classes);\n }\n\n if (options) {\n symbolNode.maxFontSize = options.sizeMultiplier;\n\n if (options.style.isTight()) {\n symbolNode.classes.push(\"mtight\");\n }\n\n var color = options.getColor();\n\n if (color) {\n symbolNode.style.color = color;\n }\n }\n\n return symbolNode;\n};\n/**\n * Makes a symbol in Main-Regular or AMS-Regular.\n * Used for rel, bin, open, close, inner, and punct.\n */\n\n\nvar mathsym = function mathsym(value, mode, options, classes) {\n if (classes === void 0) {\n classes = [];\n }\n\n // Decide what font to render the symbol in by its entry in the symbols\n // table.\n // Have a special case for when the value = \\ because the \\ is used as a\n // textord in unsupported command errors but cannot be parsed as a regular\n // text ordinal and is therefore not present as a symbol in the symbols\n // table for text, as well as a special case for boldsymbol because it\n // can be used for bold + and -\n if (options.font === \"boldsymbol\" && lookupSymbol(value, \"Main-Bold\", mode).metrics) {\n return makeSymbol(value, \"Main-Bold\", mode, options, classes.concat([\"mathbf\"]));\n } else if (value === \"\\\\\" || symbols[mode][value].font === \"main\") {\n return makeSymbol(value, \"Main-Regular\", mode, options, classes);\n } else {\n return makeSymbol(value, \"AMS-Regular\", mode, options, classes.concat([\"amsrm\"]));\n }\n};\n/**\n * Determines which of the two font names (Main-Bold and Math-BoldItalic) and\n * corresponding style tags (mathbf or boldsymbol) to use for font \"boldsymbol\",\n * depending on the symbol. Use this function instead of fontMap for font\n * \"boldsymbol\".\n */\n\n\nvar boldsymbol = function boldsymbol(value, mode, options, classes, type) {\n if (type !== \"textord\" && lookupSymbol(value, \"Math-BoldItalic\", mode).metrics) {\n return {\n fontName: \"Math-BoldItalic\",\n fontClass: \"boldsymbol\"\n };\n } else {\n // Some glyphs do not exist in Math-BoldItalic so we need to use\n // Main-Bold instead.\n return {\n fontName: \"Main-Bold\",\n fontClass: \"mathbf\"\n };\n }\n};\n/**\n * Makes either a mathord or textord in the correct font and color.\n */\n\n\nvar makeOrd = function makeOrd(group, options, type) {\n var mode = group.mode;\n var text = group.text;\n var classes = [\"mord\"]; // Math mode or Old font (i.e. \\rm)\n\n var isFont = mode === \"math\" || mode === \"text\" && options.font;\n var fontOrFamily = isFont ? options.font : options.fontFamily;\n var wideFontName = \"\";\n var wideFontClass = \"\";\n\n if (text.charCodeAt(0) === 0xD835) {\n [wideFontName, wideFontClass] = wideCharacterFont(text, mode);\n }\n\n if (wideFontName.length > 0) {\n // surrogate pairs get special treatment\n return makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass));\n } else if (fontOrFamily) {\n var fontName;\n var fontClasses;\n\n if (fontOrFamily === \"boldsymbol\") {\n var fontData = boldsymbol(text, mode, options, classes, type);\n fontName = fontData.fontName;\n fontClasses = [fontData.fontClass];\n } else if (isFont) {\n fontName = fontMap[fontOrFamily].fontName;\n fontClasses = [fontOrFamily];\n } else {\n fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape);\n fontClasses = [fontOrFamily, options.fontWeight, options.fontShape];\n }\n\n if (lookupSymbol(text, fontName, mode).metrics) {\n return makeSymbol(text, fontName, mode, options, classes.concat(fontClasses));\n } else if (ligatures.hasOwnProperty(text) && fontName.slice(0, 10) === \"Typewriter\") {\n // Deconstruct ligatures in monospace fonts (\\texttt, \\tt).\n var parts = [];\n\n for (var i = 0; i < text.length; i++) {\n parts.push(makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses)));\n }\n\n return makeFragment(parts);\n }\n } // Makes a symbol in the default font for mathords and textords.\n\n\n if (type === \"mathord\") {\n return makeSymbol(text, \"Math-Italic\", mode, options, classes.concat([\"mathnormal\"]));\n } else if (type === \"textord\") {\n var font = symbols[mode][text] && symbols[mode][text].font;\n\n if (font === \"ams\") {\n var _fontName = retrieveTextFontName(\"amsrm\", options.fontWeight, options.fontShape);\n\n return makeSymbol(text, _fontName, mode, options, classes.concat(\"amsrm\", options.fontWeight, options.fontShape));\n } else if (font === \"main\" || !font) {\n var _fontName2 = retrieveTextFontName(\"textrm\", options.fontWeight, options.fontShape);\n\n return makeSymbol(text, _fontName2, mode, options, classes.concat(options.fontWeight, options.fontShape));\n } else {\n // fonts added by plugins\n var _fontName3 = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class\n\n\n return makeSymbol(text, _fontName3, mode, options, classes.concat(_fontName3, options.fontWeight, options.fontShape));\n }\n } else {\n throw new Error(\"unexpected type: \" + type + \" in makeOrd\");\n }\n};\n/**\n * Returns true if subsequent symbolNodes have the same classes, skew, maxFont,\n * and styles.\n */\n\n\nvar canCombine = (prev, next) => {\n if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) {\n return false;\n } // If prev and next both are just \"mbin\"s or \"mord\"s we don't combine them\n // so that the proper spacing can be preserved.\n\n\n if (prev.classes.length === 1) {\n var cls = prev.classes[0];\n\n if (cls === \"mbin\" || cls === \"mord\") {\n return false;\n }\n }\n\n for (var style in prev.style) {\n if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) {\n return false;\n }\n }\n\n for (var _style in next.style) {\n if (next.style.hasOwnProperty(_style) && prev.style[_style] !== next.style[_style]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Combine consecutive domTree.symbolNodes into a single symbolNode.\n * Note: this function mutates the argument.\n */\n\n\nvar tryCombineChars = chars => {\n for (var i = 0; i < chars.length - 1; i++) {\n var prev = chars[i];\n var next = chars[i + 1];\n\n if (prev instanceof SymbolNode && next instanceof SymbolNode && canCombine(prev, next)) {\n prev.text += next.text;\n prev.height = Math.max(prev.height, next.height);\n prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use\n // it to add padding to the right of the span created from\n // the combined characters.\n\n prev.italic = next.italic;\n chars.splice(i + 1, 1);\n i--;\n }\n }\n\n return chars;\n};\n/**\n * Calculate the height, depth, and maxFontSize of an element based on its\n * children.\n */\n\n\nvar sizeElementFromChildren = function sizeElementFromChildren(elem) {\n var height = 0;\n var depth = 0;\n var maxFontSize = 0;\n\n for (var i = 0; i < elem.children.length; i++) {\n var child = elem.children[i];\n\n if (child.height > height) {\n height = child.height;\n }\n\n if (child.depth > depth) {\n depth = child.depth;\n }\n\n if (child.maxFontSize > maxFontSize) {\n maxFontSize = child.maxFontSize;\n }\n }\n\n elem.height = height;\n elem.depth = depth;\n elem.maxFontSize = maxFontSize;\n};\n/**\n * Makes a span with the given list of classes, list of children, and options.\n *\n * TODO(#953): Ensure that `options` is always provided (currently some call\n * sites don't pass it) and make the type below mandatory.\n * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which\n * should if present come first in `classes`.\n */\n\n\nvar makeSpan$2 = function makeSpan(classes, children, options, style) {\n var span = new Span(classes, children, options, style);\n sizeElementFromChildren(span);\n return span;\n}; // SVG one is simpler -- doesn't require height, depth, max-font setting.\n// This is also a separate method for typesafety.\n\n\nvar makeSvgSpan = (classes, children, options, style) => new Span(classes, children, options, style);\n\nvar makeLineSpan = function makeLineSpan(className, options, thickness) {\n var line = makeSpan$2([className], [], options);\n line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n line.style.borderBottomWidth = makeEm(line.height);\n line.maxFontSize = 1.0;\n return line;\n};\n/**\n * Makes an anchor with the given href, list of classes, list of children,\n * and options.\n */\n\n\nvar makeAnchor = function makeAnchor(href, classes, children, options) {\n var anchor = new Anchor(href, classes, children, options);\n sizeElementFromChildren(anchor);\n return anchor;\n};\n/**\n * Makes a document fragment with the given list of children.\n */\n\n\nvar makeFragment = function makeFragment(children) {\n var fragment = new DocumentFragment(children);\n sizeElementFromChildren(fragment);\n return fragment;\n};\n/**\n * Wraps group in a span if it's a document fragment, allowing to apply classes\n * and styles\n */\n\n\nvar wrapFragment = function wrapFragment(group, options) {\n if (group instanceof DocumentFragment) {\n return makeSpan$2([], [group], options);\n }\n\n return group;\n}; // These are exact object types to catch typos in the names of the optional fields.\n\n\n// Computes the updated `children` list and the overall depth.\n//\n// This helper function for makeVList makes it easier to enforce type safety by\n// allowing early exits (returns) in the logic.\nvar getVListChildrenAndDepth = function getVListChildrenAndDepth(params) {\n if (params.positionType === \"individualShift\") {\n var oldChildren = params.children;\n var children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be\n // shifted to the correct specified shift\n\n var _depth = -oldChildren[0].shift - oldChildren[0].elem.depth;\n\n var currPos = _depth;\n\n for (var i = 1; i < oldChildren.length; i++) {\n var diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth;\n var size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth);\n currPos = currPos + diff;\n children.push({\n type: \"kern\",\n size\n });\n children.push(oldChildren[i]);\n }\n\n return {\n children,\n depth: _depth\n };\n }\n\n var depth;\n\n if (params.positionType === \"top\") {\n // We always start at the bottom, so calculate the bottom by adding up\n // all the sizes\n var bottom = params.positionData;\n\n for (var _i = 0; _i < params.children.length; _i++) {\n var child = params.children[_i];\n bottom -= child.type === \"kern\" ? child.size : child.elem.height + child.elem.depth;\n }\n\n depth = bottom;\n } else if (params.positionType === \"bottom\") {\n depth = -params.positionData;\n } else {\n var firstChild = params.children[0];\n\n if (firstChild.type !== \"elem\") {\n throw new Error('First child must have type \"elem\".');\n }\n\n if (params.positionType === \"shift\") {\n depth = -firstChild.elem.depth - params.positionData;\n } else if (params.positionType === \"firstBaseline\") {\n depth = -firstChild.elem.depth;\n } else {\n throw new Error(\"Invalid positionType \" + params.positionType + \".\");\n }\n }\n\n return {\n children: params.children,\n depth\n };\n};\n/**\n * Makes a vertical list by stacking elements and kerns on top of each other.\n * Allows for many different ways of specifying the positioning method.\n *\n * See VListParam documentation above.\n */\n\n\nvar makeVList = function makeVList(params, options) {\n var {\n children,\n depth\n } = getVListChildrenAndDepth(params); // Create a strut that is taller than any list item. The strut is added to\n // each item, where it will determine the item's baseline. Since it has\n // `overflow:hidden`, the strut's top edge will sit on the item's line box's\n // top edge and the strut's bottom edge will sit on the item's baseline,\n // with no additional line-height spacing. This allows the item baseline to\n // be positioned precisely without worrying about font ascent and\n // line-height.\n\n var pstrutSize = 0;\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.type === \"elem\") {\n var elem = child.elem;\n pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height);\n }\n }\n\n pstrutSize += 2;\n var pstrut = makeSpan$2([\"pstrut\"], []);\n pstrut.style.height = makeEm(pstrutSize); // Create a new list of actual children at the correct offsets\n\n var realChildren = [];\n var minPos = depth;\n var maxPos = depth;\n var currPos = depth;\n\n for (var _i2 = 0; _i2 < children.length; _i2++) {\n var _child = children[_i2];\n\n if (_child.type === \"kern\") {\n currPos += _child.size;\n } else {\n var _elem = _child.elem;\n var classes = _child.wrapperClasses || [];\n var style = _child.wrapperStyle || {};\n var childWrap = makeSpan$2(classes, [pstrut, _elem], undefined, style);\n childWrap.style.top = makeEm(-pstrutSize - currPos - _elem.depth);\n\n if (_child.marginLeft) {\n childWrap.style.marginLeft = _child.marginLeft;\n }\n\n if (_child.marginRight) {\n childWrap.style.marginRight = _child.marginRight;\n }\n\n realChildren.push(childWrap);\n currPos += _elem.height + _elem.depth;\n }\n\n minPos = Math.min(minPos, currPos);\n maxPos = Math.max(maxPos, currPos);\n } // The vlist contents go in a table-cell with `vertical-align:bottom`.\n // This cell's bottom edge will determine the containing table's baseline\n // without overly expanding the containing line-box.\n\n\n var vlist = makeSpan$2([\"vlist\"], realChildren);\n vlist.style.height = makeEm(maxPos); // A second row is used if necessary to represent the vlist's depth.\n\n var rows;\n\n if (minPos < 0) {\n // We will define depth in an empty span with display: table-cell.\n // It should render with the height that we define. But Chrome, in\n // contenteditable mode only, treats that span as if it contains some\n // text content. And that min-height over-rides our desired height.\n // So we put another empty span inside the depth strut span.\n var emptySpan = makeSpan$2([], []);\n var depthStrut = makeSpan$2([\"vlist\"], [emptySpan]);\n depthStrut.style.height = makeEm(-minPos); // Safari wants the first row to have inline content; otherwise it\n // puts the bottom of the *second* row on the baseline.\n\n var topStrut = makeSpan$2([\"vlist-s\"], [new SymbolNode(\"\\u200b\")]);\n rows = [makeSpan$2([\"vlist-r\"], [vlist, topStrut]), makeSpan$2([\"vlist-r\"], [depthStrut])];\n } else {\n rows = [makeSpan$2([\"vlist-r\"], [vlist])];\n }\n\n var vtable = makeSpan$2([\"vlist-t\"], rows);\n\n if (rows.length === 2) {\n vtable.classes.push(\"vlist-t2\");\n }\n\n vtable.height = maxPos;\n vtable.depth = -minPos;\n return vtable;\n}; // Glue is a concept from TeX which is a flexible space between elements in\n// either a vertical or horizontal list. In KaTeX, at least for now, it's\n// static space between elements in a horizontal layout.\n\n\nvar makeGlue = (measurement, options) => {\n // Make an empty span for the space\n var rule = makeSpan$2([\"mspace\"], [], options);\n var size = calculateSize(measurement, options);\n rule.style.marginRight = makeEm(size);\n return rule;\n}; // Takes font options, and returns the appropriate fontLookup name\n\n\nvar retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) {\n var baseFontName = \"\";\n\n switch (fontFamily) {\n case \"amsrm\":\n baseFontName = \"AMS\";\n break;\n\n case \"textrm\":\n baseFontName = \"Main\";\n break;\n\n case \"textsf\":\n baseFontName = \"SansSerif\";\n break;\n\n case \"texttt\":\n baseFontName = \"Typewriter\";\n break;\n\n default:\n baseFontName = fontFamily;\n // use fonts added by a plugin\n }\n\n var fontStylesName;\n\n if (fontWeight === \"textbf\" && fontShape === \"textit\") {\n fontStylesName = \"BoldItalic\";\n } else if (fontWeight === \"textbf\") {\n fontStylesName = \"Bold\";\n } else if (fontWeight === \"textit\") {\n fontStylesName = \"Italic\";\n } else {\n fontStylesName = \"Regular\";\n }\n\n return baseFontName + \"-\" + fontStylesName;\n};\n/**\n * Maps TeX font commands to objects containing:\n * - variant: string used for \"mathvariant\" attribute in buildMathML.js\n * - fontName: the \"style\" parameter to fontMetrics.getCharacterMetrics\n */\n// A map between tex font commands an MathML mathvariant attribute values\n\n\nvar fontMap = {\n // styles\n \"mathbf\": {\n variant: \"bold\",\n fontName: \"Main-Bold\"\n },\n \"mathrm\": {\n variant: \"normal\",\n fontName: \"Main-Regular\"\n },\n \"textit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathit\": {\n variant: \"italic\",\n fontName: \"Main-Italic\"\n },\n \"mathnormal\": {\n variant: \"italic\",\n fontName: \"Math-Italic\"\n },\n \"mathsfit\": {\n variant: \"sans-serif-italic\",\n fontName: \"SansSerif-Italic\"\n },\n // \"boldsymbol\" is missing because they require the use of multiple fonts:\n // Math-BoldItalic and Main-Bold. This is handled by a special case in\n // makeOrd which ends up calling boldsymbol.\n // families\n \"mathbb\": {\n variant: \"double-struck\",\n fontName: \"AMS-Regular\"\n },\n \"mathcal\": {\n variant: \"script\",\n fontName: \"Caligraphic-Regular\"\n },\n \"mathfrak\": {\n variant: \"fraktur\",\n fontName: \"Fraktur-Regular\"\n },\n \"mathscr\": {\n variant: \"script\",\n fontName: \"Script-Regular\"\n },\n \"mathsf\": {\n variant: \"sans-serif\",\n fontName: \"SansSerif-Regular\"\n },\n \"mathtt\": {\n variant: \"monospace\",\n fontName: \"Typewriter-Regular\"\n }\n};\nvar svgData = {\n // path, width, height\n vec: [\"vec\", 0.471, 0.714],\n // values from the font glyph\n oiintSize1: [\"oiintSize1\", 0.957, 0.499],\n // oval to overlay the integrand\n oiintSize2: [\"oiintSize2\", 1.472, 0.659],\n oiiintSize1: [\"oiiintSize1\", 1.304, 0.499],\n oiiintSize2: [\"oiiintSize2\", 1.98, 0.659]\n};\n\nvar staticSvg = function staticSvg(value, options) {\n // Create a span with inline SVG for the element.\n var [pathName, width, height] = svgData[value];\n var path = new PathNode(pathName);\n var svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + 1000 * height,\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n var span = makeSvgSpan([\"overlay\"], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return span;\n};\n\nvar buildCommon = {\n fontMap,\n makeSymbol,\n mathsym,\n makeSpan: makeSpan$2,\n makeSvgSpan,\n makeLineSpan,\n makeAnchor,\n makeFragment,\n wrapFragment,\n makeVList,\n makeOrd,\n makeGlue,\n staticSvg,\n svgData,\n tryCombineChars\n};\n\n/**\n * Describes spaces between different classes of atoms.\n */\nvar thinspace = {\n number: 3,\n unit: \"mu\"\n};\nvar mediumspace = {\n number: 4,\n unit: \"mu\"\n};\nvar thickspace = {\n number: 5,\n unit: \"mu\"\n}; // Making the type below exact with all optional fields doesn't work due to\n// - https://github.com/facebook/flow/issues/4582\n// - https://github.com/facebook/flow/issues/5688\n// However, since *all* fields are optional, $Shape<> works as suggested in 5688\n// above.\n\n// Spacing relationships for display and text styles\nvar spacings = {\n mord: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n minner: thinspace\n },\n mbin: {\n mord: mediumspace,\n mop: mediumspace,\n mopen: mediumspace,\n minner: mediumspace\n },\n mrel: {\n mord: thickspace,\n mop: thickspace,\n mopen: thickspace,\n minner: thickspace\n },\n mopen: {},\n mclose: {\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n minner: thinspace\n },\n mpunct: {\n mord: thinspace,\n mop: thinspace,\n mrel: thickspace,\n mopen: thinspace,\n mclose: thinspace,\n mpunct: thinspace,\n minner: thinspace\n },\n minner: {\n mord: thinspace,\n mop: thinspace,\n mbin: mediumspace,\n mrel: thickspace,\n mopen: thinspace,\n mpunct: thinspace,\n minner: thinspace\n }\n}; // Spacing relationships for script and scriptscript styles\n\nvar tightSpacings = {\n mord: {\n mop: thinspace\n },\n mop: {\n mord: thinspace,\n mop: thinspace\n },\n mbin: {},\n mrel: {},\n mopen: {},\n mclose: {\n mop: thinspace\n },\n mpunct: {},\n minner: {\n mop: thinspace\n }\n};\n\n/** Context provided to function handlers for error messages. */\n// Note: reverse the order of the return type union will cause a flow error.\n// See https://github.com/facebook/flow/issues/3663.\n// More general version of `HtmlBuilder` for nodes (e.g. \\sum, accent types)\n// whose presence impacts super/subscripting. In this case, ParseNode<\"supsub\">\n// delegates its HTML building to the HtmlBuilder corresponding to these nodes.\n\n/**\n * Final function spec for use at parse time.\n * This is almost identical to `FunctionPropSpec`, except it\n * 1. includes the function handler, and\n * 2. requires all arguments except argTypes.\n * It is generated by `defineFunction()` below.\n */\n\n/**\n * All registered functions.\n * `functions.js` just exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary.\n */\nvar _functions = {};\n/**\n * All HTML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nvar _htmlGroupBuilders = {};\n/**\n * All MathML builders. Should be only used in the `define*` and the `build*ML`\n * functions.\n */\n\nvar _mathmlGroupBuilders = {};\nfunction defineFunction(_ref) {\n var {\n type,\n names,\n props,\n handler,\n htmlBuilder,\n mathmlBuilder\n } = _ref;\n // Set default values of functions\n var data = {\n type,\n numArgs: props.numArgs,\n argTypes: props.argTypes,\n allowedInArgument: !!props.allowedInArgument,\n allowedInText: !!props.allowedInText,\n allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath,\n numOptionalArgs: props.numOptionalArgs || 0,\n infix: !!props.infix,\n primitive: !!props.primitive,\n handler: handler\n };\n\n for (var i = 0; i < names.length; ++i) {\n _functions[names[i]] = data;\n }\n\n if (type) {\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n }\n}\n/**\n * Use this to register only the HTML and MathML builders for a function (e.g.\n * if the function's ParseNode is generated in Parser.js rather than via a\n * stand-alone handler provided to `defineFunction`).\n */\n\nfunction defineFunctionBuilders(_ref2) {\n var {\n type,\n htmlBuilder,\n mathmlBuilder\n } = _ref2;\n defineFunction({\n type,\n names: [],\n props: {\n numArgs: 0\n },\n\n handler() {\n throw new Error('Should never be called.');\n },\n\n htmlBuilder,\n mathmlBuilder\n });\n}\nvar normalizeArgument = function normalizeArgument(arg) {\n return arg.type === \"ordgroup\" && arg.body.length === 1 ? arg.body[0] : arg;\n}; // Since the corresponding buildHTML/buildMathML function expects a\n// list of elements, we normalize for different kinds of arguments\n\nvar ordargument = function ordargument(arg) {\n return arg.type === \"ordgroup\" ? arg.body : [arg];\n};\n\n/**\n * This file does the main work of building a domTree structure from a parse\n * tree. The entry point is the `buildHTML` function, which takes a parse tree.\n * Then, the buildExpression, buildGroup, and various groupBuilders functions\n * are called, to produce a final HTML tree.\n */\nvar makeSpan$1 = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`)\n// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6,\n// and the text before Rule 19.\n\nvar binLeftCanceller = [\"leftmost\", \"mbin\", \"mopen\", \"mrel\", \"mop\", \"mpunct\"];\nvar binRightCanceller = [\"rightmost\", \"mrel\", \"mclose\", \"mpunct\"];\nvar styleMap$1 = {\n \"display\": Style$1.DISPLAY,\n \"text\": Style$1.TEXT,\n \"script\": Style$1.SCRIPT,\n \"scriptscript\": Style$1.SCRIPTSCRIPT\n};\nvar DomEnum = {\n mord: \"mord\",\n mop: \"mop\",\n mbin: \"mbin\",\n mrel: \"mrel\",\n mopen: \"mopen\",\n mclose: \"mclose\",\n mpunct: \"mpunct\",\n minner: \"minner\"\n};\n\n/**\n * Take a list of nodes, build them in order, and return a list of the built\n * nodes. documentFragments are flattened into their contents, so the\n * returned list contains no fragments. `isRealGroup` is true if `expression`\n * is a real group (no atoms will be added on either side), as opposed to\n * a partial group (e.g. one created by \\color). `surrounding` is an array\n * consisting type of nodes that will be added to the left and right.\n */\nvar buildExpression$1 = function buildExpression(expression, options, isRealGroup, surrounding) {\n if (surrounding === void 0) {\n surrounding = [null, null];\n }\n\n // Parse expressions into `groups`.\n var groups = [];\n\n for (var i = 0; i < expression.length; i++) {\n var output = buildGroup$1(expression[i], options);\n\n if (output instanceof DocumentFragment) {\n var children = output.children;\n groups.push(...children);\n } else {\n groups.push(output);\n }\n } // Combine consecutive domTree.symbolNodes into a single symbolNode.\n\n\n buildCommon.tryCombineChars(groups); // If `expression` is a partial group, let the parent handle spacings\n // to avoid processing groups multiple times.\n\n if (!isRealGroup) {\n return groups;\n }\n\n var glueOptions = options;\n\n if (expression.length === 1) {\n var node = expression[0];\n\n if (node.type === \"sizing\") {\n glueOptions = options.havingSize(node.size);\n } else if (node.type === \"styling\") {\n glueOptions = options.havingStyle(styleMap$1[node.style]);\n }\n } // Dummy spans for determining spacings between surrounding atoms.\n // If `expression` has no atoms on the left or right, class \"leftmost\"\n // or \"rightmost\", respectively, is used to indicate it.\n\n\n var dummyPrev = makeSpan$1([surrounding[0] || \"leftmost\"], [], options);\n var dummyNext = makeSpan$1([surrounding[1] || \"rightmost\"], [], options); // TODO: These code assumes that a node's math class is the first element\n // of its `classes` array. A later cleanup should ensure this, for\n // instance by changing the signature of `makeSpan`.\n // Before determining what spaces to insert, perform bin cancellation.\n // Binary operators change to ordinary symbols in some contexts.\n\n var isRoot = isRealGroup === \"root\";\n traverseNonSpaceNodes(groups, (node, prev) => {\n var prevType = prev.classes[0];\n var type = node.classes[0];\n\n if (prevType === \"mbin\" && utils.contains(binRightCanceller, type)) {\n prev.classes[0] = \"mord\";\n } else if (type === \"mbin\" && utils.contains(binLeftCanceller, prevType)) {\n node.classes[0] = \"mord\";\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n traverseNonSpaceNodes(groups, (node, prev) => {\n var prevType = getTypeOfDomTree(prev);\n var type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style.\n\n var space = prevType && type ? node.hasClass(\"mtight\") ? tightSpacings[prevType][type] : spacings[prevType][type] : null;\n\n if (space) {\n // Insert glue (spacing) after the `prev`.\n return buildCommon.makeGlue(space, glueOptions);\n }\n }, {\n node: dummyPrev\n }, dummyNext, isRoot);\n return groups;\n}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and\n// previous node as arguments, optionally returning a node to insert after the\n// previous node. `prev` is an object with the previous node and `insertAfter`\n// function to insert after it. `next` is a node that will be added to the right.\n// Used for bin cancellation and inserting spacings.\n\nvar traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next, isRoot) {\n if (next) {\n // temporarily append the right node, if exists\n nodes.push(next);\n }\n\n var i = 0;\n\n for (; i < nodes.length; i++) {\n var node = nodes[i];\n var partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n // Recursive DFS\n // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array\n traverseNonSpaceNodes(partialGroup.children, callback, prev, null, isRoot);\n continue;\n } // Ignore explicit spaces (e.g., \\;, \\,) when determining what implicit\n // spacing should go between atoms of different classes\n\n\n var nonspace = !node.hasClass(\"mspace\");\n\n if (nonspace) {\n var result = callback(node, prev.node);\n\n if (result) {\n if (prev.insertAfter) {\n prev.insertAfter(result);\n } else {\n // insert at front\n nodes.unshift(result);\n i++;\n }\n }\n }\n\n if (nonspace) {\n prev.node = node;\n } else if (isRoot && node.hasClass(\"newline\")) {\n prev.node = makeSpan$1([\"leftmost\"]); // treat like beginning of line\n }\n\n prev.insertAfter = (index => n => {\n nodes.splice(index + 1, 0, n);\n i++;\n })(i);\n }\n\n if (next) {\n nodes.pop();\n }\n}; // Check if given node is a partial group, i.e., does not affect spacing around.\n\n\nvar checkPartialGroup = function checkPartialGroup(node) {\n if (node instanceof DocumentFragment || node instanceof Anchor || node instanceof Span && node.hasClass(\"enclosing\")) {\n return node;\n }\n\n return null;\n}; // Return the outermost node of a domTree.\n\n\nvar getOutermostNode = function getOutermostNode(node, side) {\n var partialGroup = checkPartialGroup(node);\n\n if (partialGroup) {\n var children = partialGroup.children;\n\n if (children.length) {\n if (side === \"right\") {\n return getOutermostNode(children[children.length - 1], \"right\");\n } else if (side === \"left\") {\n return getOutermostNode(children[0], \"left\");\n }\n }\n }\n\n return node;\n}; // Return math atom class (mclass) of a domTree.\n// If `side` is given, it will get the type of the outermost node at given side.\n\n\nvar getTypeOfDomTree = function getTypeOfDomTree(node, side) {\n if (!node) {\n return null;\n }\n\n if (side) {\n node = getOutermostNode(node, side);\n } // This makes a lot of assumptions as to where the type of atom\n // appears. We should do a better job of enforcing this.\n\n\n return DomEnum[node.classes[0]] || null;\n};\nvar makeNullDelimiter = function makeNullDelimiter(options, classes) {\n var moreClasses = [\"nulldelimiter\"].concat(options.baseSizingClasses());\n return makeSpan$1(classes.concat(moreClasses));\n};\n/**\n * buildGroup is the function that takes a group and calls the correct groupType\n * function for it. It also handles the interaction of size and style changes\n * between parents and children.\n */\n\nvar buildGroup$1 = function buildGroup(group, options, baseOptions) {\n if (!group) {\n return makeSpan$1();\n }\n\n if (_htmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n var groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account\n // for that size difference.\n\n if (baseOptions && options.size !== baseOptions.size) {\n groupNode = makeSpan$1(options.sizingClasses(baseOptions), [groupNode], options);\n var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier;\n groupNode.height *= multiplier;\n groupNode.depth *= multiplier;\n }\n\n return groupNode;\n } else {\n throw new ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`)\n * into an unbreakable HTML node of class .base, with proper struts to\n * guarantee correct vertical extent. `buildHTML` calls this repeatedly to\n * make up the entire expression as a sequence of unbreakable units.\n */\n\nfunction buildHTMLUnbreakable(children, options) {\n // Compute height and depth of this chunk.\n var body = makeSpan$1([\"base\"], children, options); // Add strut, which ensures that the top of the HTML element falls at\n // the height of the expression, and the bottom of the HTML element\n // falls at the depth of the expression.\n\n var strut = makeSpan$1([\"strut\"]);\n strut.style.height = makeEm(body.height + body.depth);\n\n if (body.depth) {\n strut.style.verticalAlign = makeEm(-body.depth);\n }\n\n body.children.unshift(strut);\n return body;\n}\n/**\n * Take an entire parse tree, and build it into an appropriate set of HTML\n * nodes.\n */\n\n\nfunction buildHTML(tree, options) {\n // Strip off outer tag wrapper for processing below.\n var tag = null;\n\n if (tree.length === 1 && tree[0].type === \"tag\") {\n tag = tree[0].tag;\n tree = tree[0].body;\n } // Build the expression contained in the tree\n\n\n var expression = buildExpression$1(tree, options, \"root\");\n var eqnNum;\n\n if (expression.length === 2 && expression[1].hasClass(\"tag\")) {\n // An environment with automatic equation numbers, e.g. {gather}.\n eqnNum = expression.pop();\n }\n\n var children = []; // Create one base node for each chunk between potential line breaks.\n // The TeXBook [p.173] says \"A formula will be broken only after a\n // relation symbol like $=$ or $<$ or $\\rightarrow$, or after a binary\n // operation symbol like $+$ or $-$ or $\\times$, where the relation or\n // binary operation is on the ``outer level'' of the formula (i.e., not\n // enclosed in {...} and not part of an \\over construction).\"\n\n var parts = [];\n\n for (var i = 0; i < expression.length; i++) {\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"mbin\") || expression[i].hasClass(\"mrel\") || expression[i].hasClass(\"allowbreak\")) {\n // Put any post-operator glue on same line as operator.\n // Watch for \\nobreak along the way, and stop at \\newline.\n var nobreak = false;\n\n while (i < expression.length - 1 && expression[i + 1].hasClass(\"mspace\") && !expression[i + 1].hasClass(\"newline\")) {\n i++;\n parts.push(expression[i]);\n\n if (expression[i].hasClass(\"nobreak\")) {\n nobreak = true;\n }\n } // Don't allow break if \\nobreak among the post-operator glue.\n\n\n if (!nobreak) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n }\n } else if (expression[i].hasClass(\"newline\")) {\n // Write the line except the newline\n parts.pop();\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n parts = [];\n } // Put the newline at the top level\n\n\n children.push(expression[i]);\n }\n }\n\n if (parts.length > 0) {\n children.push(buildHTMLUnbreakable(parts, options));\n } // Now, if there was a tag, build it too and append it as a final child.\n\n\n var tagChild;\n\n if (tag) {\n tagChild = buildHTMLUnbreakable(buildExpression$1(tag, options, true));\n tagChild.classes = [\"tag\"];\n children.push(tagChild);\n } else if (eqnNum) {\n children.push(eqnNum);\n }\n\n var htmlNode = makeSpan$1([\"katex-html\"], children);\n htmlNode.setAttribute(\"aria-hidden\", \"true\"); // Adjust the strut of the tag to be the maximum height of all children\n // (the height of the enclosing htmlNode) for proper vertical alignment.\n\n if (tagChild) {\n var strut = tagChild.children[0];\n strut.style.height = makeEm(htmlNode.height + htmlNode.depth);\n\n if (htmlNode.depth) {\n strut.style.verticalAlign = makeEm(-htmlNode.depth);\n }\n }\n\n return htmlNode;\n}\n\n/**\n * These objects store data about MathML nodes. This is the MathML equivalent\n * of the types in domTree.js. Since MathML handles its own rendering, and\n * since we're mainly using MathML to improve accessibility, we don't manage\n * any of the styling state that the plain DOM nodes do.\n *\n * The `toNode` and `toMarkup` functions work similarly to how they do in\n * domTree.js, creating namespaced DOM nodes and HTML text markup respectively.\n */\nfunction newDocumentFragment(children) {\n return new DocumentFragment(children);\n}\n/**\n * This node represents a general purpose MathML node of any type. The\n * constructor requires the type of node to create (for example, `\"mo\"` or\n * `\"mspace\"`, corresponding to `<mo>` and `<mspace>` tags).\n */\n\nclass MathNode {\n constructor(type, children, classes) {\n this.type = void 0;\n this.attributes = void 0;\n this.children = void 0;\n this.classes = void 0;\n this.type = type;\n this.attributes = {};\n this.children = children || [];\n this.classes = classes || [];\n }\n /**\n * Sets an attribute on a MathML node. MathML depends on attributes to convey a\n * semantic content, so this is used heavily.\n */\n\n\n setAttribute(name, value) {\n this.attributes[name] = value;\n }\n /**\n * Gets an attribute on a MathML node.\n */\n\n\n getAttribute(name) {\n return this.attributes[name];\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n toNode() {\n var node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", this.type);\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n node.setAttribute(attr, this.attributes[attr]);\n }\n }\n\n if (this.classes.length > 0) {\n node.className = createClass(this.classes);\n }\n\n for (var i = 0; i < this.children.length; i++) {\n // Combine multiple TextNodes into one TextNode, to prevent\n // screen readers from reading each as a separate word [#3995]\n if (this.children[i] instanceof TextNode && this.children[i + 1] instanceof TextNode) {\n var text = this.children[i].toText() + this.children[++i].toText();\n\n while (this.children[i + 1] instanceof TextNode) {\n text += this.children[++i].toText();\n }\n\n node.appendChild(new TextNode(text).toNode());\n } else {\n node.appendChild(this.children[i].toNode());\n }\n }\n\n return node;\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n\n\n toMarkup() {\n var markup = \"<\" + this.type; // Add the attributes\n\n for (var attr in this.attributes) {\n if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) {\n markup += \" \" + attr + \"=\\\"\";\n markup += utils.escape(this.attributes[attr]);\n markup += \"\\\"\";\n }\n }\n\n if (this.classes.length > 0) {\n markup += \" class =\\\"\" + utils.escape(createClass(this.classes)) + \"\\\"\";\n }\n\n markup += \">\";\n\n for (var i = 0; i < this.children.length; i++) {\n markup += this.children[i].toMarkup();\n }\n\n markup += \"</\" + this.type + \">\";\n return markup;\n }\n /**\n * Converts the math node into a string, similar to innerText, but escaped.\n */\n\n\n toText() {\n return this.children.map(child => child.toText()).join(\"\");\n }\n\n}\n/**\n * This node represents a piece of text.\n */\n\nclass TextNode {\n constructor(text) {\n this.text = void 0;\n this.text = text;\n }\n /**\n * Converts the text node into a DOM text node.\n */\n\n\n toNode() {\n return document.createTextNode(this.text);\n }\n /**\n * Converts the text node into escaped HTML markup\n * (representing the text itself).\n */\n\n\n toMarkup() {\n return utils.escape(this.toText());\n }\n /**\n * Converts the text node into a string\n * (representing the text itself).\n */\n\n\n toText() {\n return this.text;\n }\n\n}\n/**\n * This node represents a space, but may render as <mspace.../> or as text,\n * depending on the width.\n */\n\nclass SpaceNode {\n /**\n * Create a Space node with width given in CSS ems.\n */\n constructor(width) {\n this.width = void 0;\n this.character = void 0;\n this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html\n // for a table of space-like characters. We use Unicode\n // representations instead of &LongNames; as it's not clear how to\n // make the latter via document.createTextNode.\n\n if (width >= 0.05555 && width <= 0.05556) {\n this.character = \"\\u200a\"; //  \n } else if (width >= 0.1666 && width <= 0.1667) {\n this.character = \"\\u2009\"; //  \n } else if (width >= 0.2222 && width <= 0.2223) {\n this.character = \"\\u2005\"; //  \n } else if (width >= 0.2777 && width <= 0.2778) {\n this.character = \"\\u2005\\u200a\"; //   \n } else if (width >= -0.05556 && width <= -0.05555) {\n this.character = \"\\u200a\\u2063\"; // ​\n } else if (width >= -0.1667 && width <= -0.1666) {\n this.character = \"\\u2009\\u2063\"; // ​\n } else if (width >= -0.2223 && width <= -0.2222) {\n this.character = \"\\u205f\\u2063\"; // ​\n } else if (width >= -0.2778 && width <= -0.2777) {\n this.character = \"\\u2005\\u2063\"; // ​\n } else {\n this.character = null;\n }\n }\n /**\n * Converts the math node into a MathML-namespaced DOM element.\n */\n\n\n toNode() {\n if (this.character) {\n return document.createTextNode(this.character);\n } else {\n var node = document.createElementNS(\"http://www.w3.org/1998/Math/MathML\", \"mspace\");\n node.setAttribute(\"width\", makeEm(this.width));\n return node;\n }\n }\n /**\n * Converts the math node into an HTML markup string.\n */\n\n\n toMarkup() {\n if (this.character) {\n return \"<mtext>\" + this.character + \"</mtext>\";\n } else {\n return \"<mspace width=\\\"\" + makeEm(this.width) + \"\\\"/>\";\n }\n }\n /**\n * Converts the math node into a string, similar to innerText.\n */\n\n\n toText() {\n if (this.character) {\n return this.character;\n } else {\n return \" \";\n }\n }\n\n}\n\nvar mathMLTree = {\n MathNode,\n TextNode,\n SpaceNode,\n newDocumentFragment\n};\n\n/**\n * This file converts a parse tree into a corresponding MathML tree. The main\n * entry point is the `buildMathML` function, which takes a parse tree from the\n * parser.\n */\n\n/**\n * Takes a symbol and converts it into a MathML text node after performing\n * optional replacement from symbols.js.\n */\nvar makeText = function makeText(text, mode, options) {\n if (symbols[mode][text] && symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.slice(4, 6) === \"tt\" || options.font && options.font.slice(4, 6) === \"tt\"))) {\n text = symbols[mode][text].replace;\n }\n\n return new mathMLTree.TextNode(text);\n};\n/**\n * Wrap the given array of nodes in an <mrow> node if needed, i.e.,\n * unless the array has length 1. Always returns a single node.\n */\n\nvar makeRow = function makeRow(body) {\n if (body.length === 1) {\n return body[0];\n } else {\n return new mathMLTree.MathNode(\"mrow\", body);\n }\n};\n/**\n * Returns the math variant as a string or null if none is required.\n */\n\nvar getVariant = function getVariant(group, options) {\n // Handle \\text... font specifiers as best we can.\n // MathML has a limited list of allowable mathvariant specifiers; see\n // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt\n if (options.fontFamily === \"texttt\") {\n return \"monospace\";\n } else if (options.fontFamily === \"textsf\") {\n if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"sans-serif-bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"sans-serif-italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold-sans-serif\";\n } else {\n return \"sans-serif\";\n }\n } else if (options.fontShape === \"textit\" && options.fontWeight === \"textbf\") {\n return \"bold-italic\";\n } else if (options.fontShape === \"textit\") {\n return \"italic\";\n } else if (options.fontWeight === \"textbf\") {\n return \"bold\";\n }\n\n var font = options.font;\n\n if (!font || font === \"mathnormal\") {\n return null;\n }\n\n var mode = group.mode;\n\n if (font === \"mathit\") {\n return \"italic\";\n } else if (font === \"boldsymbol\") {\n return group.type === \"textord\" ? \"bold\" : \"bold-italic\";\n } else if (font === \"mathbf\") {\n return \"bold\";\n } else if (font === \"mathbb\") {\n return \"double-struck\";\n } else if (font === \"mathsfit\") {\n return \"sans-serif-italic\";\n } else if (font === \"mathfrak\") {\n return \"fraktur\";\n } else if (font === \"mathscr\" || font === \"mathcal\") {\n // MathML makes no distinction between script and calligraphic\n return \"script\";\n } else if (font === \"mathsf\") {\n return \"sans-serif\";\n } else if (font === \"mathtt\") {\n return \"monospace\";\n }\n\n var text = group.text;\n\n if (utils.contains([\"\\\\imath\", \"\\\\jmath\"], text)) {\n return null;\n }\n\n if (symbols[mode][text] && symbols[mode][text].replace) {\n text = symbols[mode][text].replace;\n }\n\n var fontName = buildCommon.fontMap[font].fontName;\n\n if (getCharacterMetrics(text, fontName, mode)) {\n return buildCommon.fontMap[font].variant;\n }\n\n return null;\n};\n/**\n * Check for <mi>.</mi> which is how a dot renders in MathML,\n * or <mo separator=\"true\" lspace=\"0em\" rspace=\"0em\">,</mo>\n * which is how a braced comma {,} renders in MathML\n */\n\nfunction isNumberPunctuation(group) {\n if (!group) {\n return false;\n }\n\n if (group.type === 'mi' && group.children.length === 1) {\n var child = group.children[0];\n return child instanceof TextNode && child.text === '.';\n } else if (group.type === 'mo' && group.children.length === 1 && group.getAttribute('separator') === 'true' && group.getAttribute('lspace') === '0em' && group.getAttribute('rspace') === '0em') {\n var _child = group.children[0];\n return _child instanceof TextNode && _child.text === ',';\n } else {\n return false;\n }\n}\n/**\n * Takes a list of nodes, builds them, and returns a list of the generated\n * MathML nodes. Also combine consecutive <mtext> outputs into a single\n * <mtext> tag.\n */\n\n\nvar buildExpression = function buildExpression(expression, options, isOrdgroup) {\n if (expression.length === 1) {\n var group = buildGroup(expression[0], options);\n\n if (isOrdgroup && group instanceof MathNode && group.type === \"mo\") {\n // When TeX writers want to suppress spacing on an operator,\n // they often put the operator by itself inside braces.\n group.setAttribute(\"lspace\", \"0em\");\n group.setAttribute(\"rspace\", \"0em\");\n }\n\n return [group];\n }\n\n var groups = [];\n var lastGroup;\n\n for (var i = 0; i < expression.length; i++) {\n var _group = buildGroup(expression[i], options);\n\n if (_group instanceof MathNode && lastGroup instanceof MathNode) {\n // Concatenate adjacent <mtext>s\n if (_group.type === 'mtext' && lastGroup.type === 'mtext' && _group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) {\n lastGroup.children.push(..._group.children);\n continue; // Concatenate adjacent <mn>s\n } else if (_group.type === 'mn' && lastGroup.type === 'mn') {\n lastGroup.children.push(..._group.children);\n continue; // Concatenate <mn>...</mn> followed by <mi>.</mi>\n } else if (isNumberPunctuation(_group) && lastGroup.type === 'mn') {\n lastGroup.children.push(..._group.children);\n continue; // Concatenate <mi>.</mi> followed by <mn>...</mn>\n } else if (_group.type === 'mn' && isNumberPunctuation(lastGroup)) {\n _group.children = [...lastGroup.children, ..._group.children];\n groups.pop(); // Put preceding <mn>...</mn> or <mi>.</mi> inside base of\n // <msup><mn>...base...</mn>...exponent...</msup> (or <msub>)\n } else if ((_group.type === 'msup' || _group.type === 'msub') && _group.children.length >= 1 && (lastGroup.type === 'mn' || isNumberPunctuation(lastGroup))) {\n var base = _group.children[0];\n\n if (base instanceof MathNode && base.type === 'mn') {\n base.children = [...lastGroup.children, ...base.children];\n groups.pop();\n } // \\not\n\n } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) {\n var lastChild = lastGroup.children[0];\n\n if (lastChild instanceof TextNode && lastChild.text === '\\u0338' && (_group.type === 'mo' || _group.type === 'mi' || _group.type === 'mn')) {\n var child = _group.children[0];\n\n if (child instanceof TextNode && child.text.length > 0) {\n // Overlay with combining character long solidus\n child.text = child.text.slice(0, 1) + \"\\u0338\" + child.text.slice(1);\n groups.pop();\n }\n }\n }\n }\n\n groups.push(_group);\n lastGroup = _group;\n }\n\n return groups;\n};\n/**\n * Equivalent to buildExpression, but wraps the elements in an <mrow>\n * if there's more than one. Returns a single node instead of an array.\n */\n\nvar buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) {\n return makeRow(buildExpression(expression, options, isOrdgroup));\n};\n/**\n * Takes a group from the parser and calls the appropriate groupBuilders function\n * on it to produce a MathML node.\n */\n\nvar buildGroup = function buildGroup(group, options) {\n if (!group) {\n return new mathMLTree.MathNode(\"mrow\");\n }\n\n if (_mathmlGroupBuilders[group.type]) {\n // Call the groupBuilders function\n // $FlowFixMe\n var result = _mathmlGroupBuilders[group.type](group, options); // $FlowFixMe\n\n return result;\n } else {\n throw new ParseError(\"Got group of unknown type: '\" + group.type + \"'\");\n }\n};\n/**\n * Takes a full parse tree and settings and builds a MathML representation of\n * it. In particular, we put the elements from building the parse tree into a\n * <semantics> tag so we can also include that TeX source as an annotation.\n *\n * Note that we actually return a domTree element with a `<math>` inside it so\n * we can do appropriate styling.\n */\n\nfunction buildMathML(tree, texExpression, options, isDisplayMode, forMathmlOnly) {\n var expression = buildExpression(tree, options); // TODO: Make a pass thru the MathML similar to buildHTML.traverseNonSpaceNodes\n // and add spacing nodes. This is necessary only adjacent to math operators\n // like \\sin or \\lim or to subsup elements that contain math operators.\n // MathML takes care of the other spacing issues.\n // Wrap up the expression in an mrow so it is presented in the semantics\n // tag correctly, unless it's a single <mrow> or <mtable>.\n\n var wrapper;\n\n if (expression.length === 1 && expression[0] instanceof MathNode && utils.contains([\"mrow\", \"mtable\"], expression[0].type)) {\n wrapper = expression[0];\n } else {\n wrapper = new mathMLTree.MathNode(\"mrow\", expression);\n } // Build a TeX annotation of the source\n\n\n var annotation = new mathMLTree.MathNode(\"annotation\", [new mathMLTree.TextNode(texExpression)]);\n annotation.setAttribute(\"encoding\", \"application/x-tex\");\n var semantics = new mathMLTree.MathNode(\"semantics\", [wrapper, annotation]);\n var math = new mathMLTree.MathNode(\"math\", [semantics]);\n math.setAttribute(\"xmlns\", \"http://www.w3.org/1998/Math/MathML\");\n\n if (isDisplayMode) {\n math.setAttribute(\"display\", \"block\");\n } // You can't style <math> nodes, so we wrap the node in a span.\n // NOTE: The span class is not typed to have <math> nodes as children, and\n // we don't want to make the children type more generic since the children\n // of span are expected to have more fields in `buildHtml` contexts.\n\n\n var wrapperClass = forMathmlOnly ? \"katex\" : \"katex-mathml\"; // $FlowFixMe\n\n return buildCommon.makeSpan([wrapperClass], [math]);\n}\n\nvar optionsFromSettings = function optionsFromSettings(settings) {\n return new Options({\n style: settings.displayMode ? Style$1.DISPLAY : Style$1.TEXT,\n maxSize: settings.maxSize,\n minRuleThickness: settings.minRuleThickness\n });\n};\n\nvar displayWrap = function displayWrap(node, settings) {\n if (settings.displayMode) {\n var classes = [\"katex-display\"];\n\n if (settings.leqno) {\n classes.push(\"leqno\");\n }\n\n if (settings.fleqn) {\n classes.push(\"fleqn\");\n }\n\n node = buildCommon.makeSpan(classes, [node]);\n }\n\n return node;\n};\n\nvar buildTree = function buildTree(tree, expression, settings) {\n var options = optionsFromSettings(settings);\n var katexNode;\n\n if (settings.output === \"mathml\") {\n return buildMathML(tree, expression, options, settings.displayMode, true);\n } else if (settings.output === \"html\") {\n var htmlNode = buildHTML(tree, options);\n katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n } else {\n var mathMLNode = buildMathML(tree, expression, options, settings.displayMode, false);\n\n var _htmlNode = buildHTML(tree, options);\n\n katexNode = buildCommon.makeSpan([\"katex\"], [mathMLNode, _htmlNode]);\n }\n\n return displayWrap(katexNode, settings);\n};\nvar buildHTMLTree = function buildHTMLTree(tree, expression, settings) {\n var options = optionsFromSettings(settings);\n var htmlNode = buildHTML(tree, options);\n var katexNode = buildCommon.makeSpan([\"katex\"], [htmlNode]);\n return displayWrap(katexNode, settings);\n};\n\n/**\n * This file provides support to buildMathML.js and buildHTML.js\n * for stretchy wide elements rendered from SVG files\n * and other CSS trickery.\n */\nvar stretchyCodePoint = {\n widehat: \"^\",\n widecheck: \"ˇ\",\n widetilde: \"~\",\n utilde: \"~\",\n overleftarrow: \"\\u2190\",\n underleftarrow: \"\\u2190\",\n xleftarrow: \"\\u2190\",\n overrightarrow: \"\\u2192\",\n underrightarrow: \"\\u2192\",\n xrightarrow: \"\\u2192\",\n underbrace: \"\\u23df\",\n overbrace: \"\\u23de\",\n overgroup: \"\\u23e0\",\n undergroup: \"\\u23e1\",\n overleftrightarrow: \"\\u2194\",\n underleftrightarrow: \"\\u2194\",\n xleftrightarrow: \"\\u2194\",\n Overrightarrow: \"\\u21d2\",\n xRightarrow: \"\\u21d2\",\n overleftharpoon: \"\\u21bc\",\n xleftharpoonup: \"\\u21bc\",\n overrightharpoon: \"\\u21c0\",\n xrightharpoonup: \"\\u21c0\",\n xLeftarrow: \"\\u21d0\",\n xLeftrightarrow: \"\\u21d4\",\n xhookleftarrow: \"\\u21a9\",\n xhookrightarrow: \"\\u21aa\",\n xmapsto: \"\\u21a6\",\n xrightharpoondown: \"\\u21c1\",\n xleftharpoondown: \"\\u21bd\",\n xrightleftharpoons: \"\\u21cc\",\n xleftrightharpoons: \"\\u21cb\",\n xtwoheadleftarrow: \"\\u219e\",\n xtwoheadrightarrow: \"\\u21a0\",\n xlongequal: \"=\",\n xtofrom: \"\\u21c4\",\n xrightleftarrows: \"\\u21c4\",\n xrightequilibrium: \"\\u21cc\",\n // Not a perfect match.\n xleftequilibrium: \"\\u21cb\",\n // None better available.\n \"\\\\cdrightarrow\": \"\\u2192\",\n \"\\\\cdleftarrow\": \"\\u2190\",\n \"\\\\cdlongequal\": \"=\"\n};\n\nvar mathMLnode = function mathMLnode(label) {\n var node = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(stretchyCodePoint[label.replace(/^\\\\/, '')])]);\n node.setAttribute(\"stretchy\", \"true\");\n return node;\n}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts.\n// Copyright (c) 2009-2010, Design Science, Inc. (<www.mathjax.org>)\n// Copyright (c) 2014-2017 Khan Academy (<www.khanacademy.org>)\n// Licensed under the SIL Open Font License, Version 1.1.\n// See \\nhttp://scripts.sil.org/OFL\n// Very Long SVGs\n// Many of the KaTeX stretchy wide elements use a long SVG image and an\n// overflow: hidden tactic to achieve a stretchy image while avoiding\n// distortion of arrowheads or brace corners.\n// The SVG typically contains a very long (400 em) arrow.\n// The SVG is in a container span that has overflow: hidden, so the span\n// acts like a window that exposes only part of the SVG.\n// The SVG always has a longer, thinner aspect ratio than the container span.\n// After the SVG fills 100% of the height of the container span,\n// there is a long arrow shaft left over. That left-over shaft is not shown.\n// Instead, it is sliced off because the span's CSS has overflow: hidden.\n// Thus, the reader sees an arrow that matches the subject matter width\n// without distortion.\n// Some functions, such as \\cancel, need to vary their aspect ratio. These\n// functions do not get the overflow SVG treatment.\n// Second Brush Stroke\n// Low resolution monitors struggle to display images in fine detail.\n// So browsers apply anti-aliasing. A long straight arrow shaft therefore\n// will sometimes appear as if it has a blurred edge.\n// To mitigate this, these SVG files contain a second \"brush-stroke\" on the\n// arrow shafts. That is, a second long thin rectangular SVG path has been\n// written directly on top of each arrow shaft. This reinforcement causes\n// some of the screen pixels to display as black instead of the anti-aliased\n// gray pixel that a single path would generate. So we get arrow shafts\n// whose edges appear to be sharper.\n// In the katexImagesData object just below, the dimensions all\n// correspond to path geometry inside the relevant SVG.\n// For example, \\overrightarrow uses the same arrowhead as glyph U+2192\n// from the KaTeX Main font. The scaling factor is 1000.\n// That is, inside the font, that arrowhead is 522 units tall, which\n// corresponds to 0.522 em inside the document.\n\n\nvar katexImagesData = {\n // path(s), minWidth, height, align\n overrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n overleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n underrightarrow: [[\"rightarrow\"], 0.888, 522, \"xMaxYMin\"],\n underleftarrow: [[\"leftarrow\"], 0.888, 522, \"xMinYMin\"],\n xrightarrow: [[\"rightarrow\"], 1.469, 522, \"xMaxYMin\"],\n \"\\\\cdrightarrow\": [[\"rightarrow\"], 3.0, 522, \"xMaxYMin\"],\n // CD minwwidth2.5pc\n xleftarrow: [[\"leftarrow\"], 1.469, 522, \"xMinYMin\"],\n \"\\\\cdleftarrow\": [[\"leftarrow\"], 3.0, 522, \"xMinYMin\"],\n Overrightarrow: [[\"doublerightarrow\"], 0.888, 560, \"xMaxYMin\"],\n xRightarrow: [[\"doublerightarrow\"], 1.526, 560, \"xMaxYMin\"],\n xLeftarrow: [[\"doubleleftarrow\"], 1.526, 560, \"xMinYMin\"],\n overleftharpoon: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoonup: [[\"leftharpoon\"], 0.888, 522, \"xMinYMin\"],\n xleftharpoondown: [[\"leftharpoondown\"], 0.888, 522, \"xMinYMin\"],\n overrightharpoon: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoonup: [[\"rightharpoon\"], 0.888, 522, \"xMaxYMin\"],\n xrightharpoondown: [[\"rightharpoondown\"], 0.888, 522, \"xMaxYMin\"],\n xlongequal: [[\"longequal\"], 0.888, 334, \"xMinYMin\"],\n \"\\\\cdlongequal\": [[\"longequal\"], 3.0, 334, \"xMinYMin\"],\n xtwoheadleftarrow: [[\"twoheadleftarrow\"], 0.888, 334, \"xMinYMin\"],\n xtwoheadrightarrow: [[\"twoheadrightarrow\"], 0.888, 334, \"xMaxYMin\"],\n overleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n overbrace: [[\"leftbrace\", \"midbrace\", \"rightbrace\"], 1.6, 548],\n underbrace: [[\"leftbraceunder\", \"midbraceunder\", \"rightbraceunder\"], 1.6, 548],\n underleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 0.888, 522],\n xleftrightarrow: [[\"leftarrow\", \"rightarrow\"], 1.75, 522],\n xLeftrightarrow: [[\"doubleleftarrow\", \"doublerightarrow\"], 1.75, 560],\n xrightleftharpoons: [[\"leftharpoondownplus\", \"rightharpoonplus\"], 1.75, 716],\n xleftrightharpoons: [[\"leftharpoonplus\", \"rightharpoondownplus\"], 1.75, 716],\n xhookleftarrow: [[\"leftarrow\", \"righthook\"], 1.08, 522],\n xhookrightarrow: [[\"lefthook\", \"rightarrow\"], 1.08, 522],\n overlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n underlinesegment: [[\"leftlinesegment\", \"rightlinesegment\"], 0.888, 522],\n overgroup: [[\"leftgroup\", \"rightgroup\"], 0.888, 342],\n undergroup: [[\"leftgroupunder\", \"rightgroupunder\"], 0.888, 342],\n xmapsto: [[\"leftmapsto\", \"rightarrow\"], 1.5, 522],\n xtofrom: [[\"leftToFrom\", \"rightToFrom\"], 1.75, 528],\n // The next three arrows are from the mhchem package.\n // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the\n // document as \\xrightarrow or \\xrightleftharpoons. Those have\n // min-length = 1.75em, so we set min-length on these next three to match.\n xrightleftarrows: [[\"baraboveleftarrow\", \"rightarrowabovebar\"], 1.75, 901],\n xrightequilibrium: [[\"baraboveshortleftharpoon\", \"rightharpoonaboveshortbar\"], 1.75, 716],\n xleftequilibrium: [[\"shortbaraboveleftharpoon\", \"shortrightharpoonabovebar\"], 1.75, 716]\n};\n\nvar groupLength = function groupLength(arg) {\n if (arg.type === \"ordgroup\") {\n return arg.body.length;\n } else {\n return 1;\n }\n};\n\nvar svgSpan = function svgSpan(group, options) {\n // Create a span with inline SVG for the element.\n function buildSvgSpan_() {\n var viewBoxWidth = 400000; // default\n\n var label = group.label.slice(1);\n\n if (utils.contains([\"widehat\", \"widecheck\", \"widetilde\", \"utilde\"], label)) {\n // Each type in the `if` statement corresponds to one of the ParseNode\n // types below. This narrowing is required to access `grp.base`.\n // $FlowFixMe\n var grp = group; // There are four SVG images available for each function.\n // Choose a taller image when there are more characters.\n\n var numChars = groupLength(grp.base);\n var viewBoxHeight;\n var pathName;\n\n var _height;\n\n if (numChars > 5) {\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxHeight = 420;\n viewBoxWidth = 2364;\n _height = 0.42;\n pathName = label + \"4\";\n } else {\n viewBoxHeight = 312;\n viewBoxWidth = 2340;\n _height = 0.34;\n pathName = \"tilde4\";\n }\n } else {\n var imgIndex = [1, 1, 2, 2, 3, 3][numChars];\n\n if (label === \"widehat\" || label === \"widecheck\") {\n viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex];\n viewBoxHeight = [0, 239, 300, 360, 420][imgIndex];\n _height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex];\n pathName = label + imgIndex;\n } else {\n viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex];\n viewBoxHeight = [0, 260, 286, 306, 312][imgIndex];\n _height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex];\n pathName = \"tilde\" + imgIndex;\n }\n }\n\n var path = new PathNode(pathName);\n var svgNode = new SvgNode([path], {\n \"width\": \"100%\",\n \"height\": makeEm(_height),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight,\n \"preserveAspectRatio\": \"none\"\n });\n return {\n span: buildCommon.makeSvgSpan([], [svgNode], options),\n minWidth: 0,\n height: _height\n };\n } else {\n var spans = [];\n var data = katexImagesData[label];\n var [paths, _minWidth, _viewBoxHeight] = data;\n\n var _height2 = _viewBoxHeight / 1000;\n\n var numSvgChildren = paths.length;\n var widthClasses;\n var aligns;\n\n if (numSvgChildren === 1) {\n // $FlowFixMe: All these cases must be of the 4-tuple type.\n var align1 = data[3];\n widthClasses = [\"hide-tail\"];\n aligns = [align1];\n } else if (numSvgChildren === 2) {\n widthClasses = [\"halfarrow-left\", \"halfarrow-right\"];\n aligns = [\"xMinYMin\", \"xMaxYMin\"];\n } else if (numSvgChildren === 3) {\n widthClasses = [\"brace-left\", \"brace-center\", \"brace-right\"];\n aligns = [\"xMinYMin\", \"xMidYMin\", \"xMaxYMin\"];\n } else {\n throw new Error(\"Correct katexImagesData or update code here to support\\n \" + numSvgChildren + \" children.\");\n }\n\n for (var i = 0; i < numSvgChildren; i++) {\n var _path = new PathNode(paths[i]);\n\n var _svgNode = new SvgNode([_path], {\n \"width\": \"400em\",\n \"height\": makeEm(_height2),\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + _viewBoxHeight,\n \"preserveAspectRatio\": aligns[i] + \" slice\"\n });\n\n var _span = buildCommon.makeSvgSpan([widthClasses[i]], [_svgNode], options);\n\n if (numSvgChildren === 1) {\n return {\n span: _span,\n minWidth: _minWidth,\n height: _height2\n };\n } else {\n _span.style.height = makeEm(_height2);\n spans.push(_span);\n }\n }\n\n return {\n span: buildCommon.makeSpan([\"stretchy\"], spans, options),\n minWidth: _minWidth,\n height: _height2\n };\n }\n } // buildSvgSpan_()\n\n\n var {\n span,\n minWidth,\n height\n } = buildSvgSpan_(); // Note that we are returning span.depth = 0.\n // Any adjustments relative to the baseline must be done in buildHTML.\n\n span.height = height;\n span.style.height = makeEm(height);\n\n if (minWidth > 0) {\n span.style.minWidth = makeEm(minWidth);\n }\n\n return span;\n};\n\nvar encloseSpan = function encloseSpan(inner, label, topPad, bottomPad, options) {\n // Return an image span for \\cancel, \\bcancel, \\xcancel, \\fbox, or \\angl\n var img;\n var totalHeight = inner.height + inner.depth + topPad + bottomPad;\n\n if (/fbox|color|angl/.test(label)) {\n img = buildCommon.makeSpan([\"stretchy\", label], [], options);\n\n if (label === \"fbox\") {\n var color = options.color && options.getColor();\n\n if (color) {\n img.style.borderColor = color;\n }\n }\n } else {\n // \\cancel, \\bcancel, or \\xcancel\n // Since \\cancel's SVG is inline and it omits the viewBox attribute,\n // its stroke-width will not vary with span area.\n var lines = [];\n\n if (/^[bx]cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"0\",\n \"x2\": \"100%\",\n \"y2\": \"100%\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n if (/^x?cancel$/.test(label)) {\n lines.push(new LineNode({\n \"x1\": \"0\",\n \"y1\": \"100%\",\n \"x2\": \"100%\",\n \"y2\": \"0\",\n \"stroke-width\": \"0.046em\"\n }));\n }\n\n var svgNode = new SvgNode(lines, {\n \"width\": \"100%\",\n \"height\": makeEm(totalHeight)\n });\n img = buildCommon.makeSvgSpan([], [svgNode], options);\n }\n\n img.height = totalHeight;\n img.style.height = makeEm(totalHeight);\n return img;\n};\n\nvar stretchy = {\n encloseSpan,\n mathMLnode,\n svgSpan\n};\n\n/**\n * Asserts that the node is of the given type and returns it with stricter\n * typing. Throws if the node's type does not match.\n */\nfunction assertNodeType(node, type) {\n if (!node || node.type !== type) {\n throw new Error(\"Expected node of type \" + type + \", but got \" + (node ? \"node of type \" + node.type : String(node)));\n } // $FlowFixMe, >=0.125\n\n\n return node;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction assertSymbolNodeType(node) {\n var typedNode = checkSymbolNodeType(node);\n\n if (!typedNode) {\n throw new Error(\"Expected node of symbol group type, but got \" + (node ? \"node of type \" + node.type : String(node)));\n }\n\n return typedNode;\n}\n/**\n * Returns the node more strictly typed iff it is of the given type. Otherwise,\n * returns null.\n */\n\nfunction checkSymbolNodeType(node) {\n if (node && (node.type === \"atom\" || NON_ATOMS.hasOwnProperty(node.type))) {\n // $FlowFixMe\n return node;\n }\n\n return null;\n}\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"accent\", but\n// also \"supsub\" since an accent can affect super/subscripting.\nvar htmlBuilder$a = (grp, options) => {\n // Accents are handled in the TeXbook pg. 443, rule 12.\n var base;\n var group;\n var supSubGroup;\n\n if (grp && grp.type === \"supsub\") {\n // If our base is a character box, and we have superscripts and\n // subscripts, the supsub will defer to us. In particular, we want\n // to attach the superscripts and subscripts to the inner body (so\n // that the position of the superscripts and subscripts won't be\n // affected by the height of the accent). We accomplish this by\n // sticking the base of the accent into the base of the supsub, and\n // rendering that, while keeping track of where the accent is.\n // The real accent group is the base of the supsub group\n group = assertNodeType(grp.base, \"accent\"); // The character box is the base of the accent group\n\n base = group.base; // Stick the character box into the base of the supsub group\n\n grp.base = base; // Rerender the supsub group with its new base, and store that\n // result.\n\n supSubGroup = assertSpan(buildGroup$1(grp, options)); // reset original base\n\n grp.base = group;\n } else {\n group = assertNodeType(grp, \"accent\");\n base = group.base;\n } // Build the base group\n\n\n var body = buildGroup$1(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character?\n\n var mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line \"If the\n // nucleus is not a single character, let s = 0; otherwise set s to the\n // kern amount for the nucleus followed by the \\skewchar of its font.\"\n // Note that our skew metrics are just the kern between each character\n // and the skewchar.\n\n var skew = 0;\n\n if (mustShift) {\n // If the base is a character box, then we want the skew of the\n // innermost character. To do that, we find the innermost character:\n var baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it\n\n var baseGroup = buildGroup$1(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol.\n\n skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we\n // removed with getBaseElem might contain things like \\color which\n // we can't get rid of.\n // TODO(emily): Find a better way to get the skew\n }\n\n var accentBelow = group.label === \"\\\\c\"; // calculate the amount of space between the body and the accent\n\n var clearance = accentBelow ? body.height + body.depth : Math.min(body.height, options.fontMetrics().xHeight); // Build the accent\n\n var accentBody;\n\n if (!group.isStretchy) {\n var accent;\n var width;\n\n if (group.label === \"\\\\vec\") {\n // Before version 0.9, \\vec used the combining font glyph U+20D7.\n // But browsers, especially Safari, are not consistent in how they\n // render combining characters when not preceded by a character.\n // So now we use an SVG.\n // If Safari reforms, we should consider reverting to the glyph.\n accent = buildCommon.staticSvg(\"vec\", options);\n width = buildCommon.svgData.vec[1];\n } else {\n accent = buildCommon.makeOrd({\n mode: group.mode,\n text: group.label\n }, options, \"textord\");\n accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to\n // shift the accent over to a place we don't want.\n\n accent.italic = 0;\n width = accent.width;\n\n if (accentBelow) {\n clearance += accent.depth;\n }\n }\n\n accentBody = buildCommon.makeSpan([\"accent-body\"], [accent]); // \"Full\" accents expand the width of the resulting symbol to be\n // at least the width of the accent, and overlap directly onto the\n // character without any vertical offset.\n\n var accentFull = group.label === \"\\\\textcircled\";\n\n if (accentFull) {\n accentBody.classes.push('accent-full');\n clearance = body.height;\n } // Shift the accent over by the skew.\n\n\n var left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }`\n // so that the accent doesn't contribute to the bounding box.\n // We need to shift the character by its width (effectively half\n // its width) to compensate.\n\n if (!accentFull) {\n left -= width / 2;\n }\n\n accentBody.style.left = makeEm(left); // \\textcircled uses the \\bigcirc glyph, so it needs some\n // vertical adjustment to match LaTeX.\n\n if (group.label === \"\\\\textcircled\") {\n accentBody.style.top = \".2em\";\n }\n\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: -clearance\n }, {\n type: \"elem\",\n elem: accentBody\n }]\n }, options);\n } else {\n accentBody = stretchy.svgSpan(group, options);\n accentBody = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"],\n wrapperStyle: skew > 0 ? {\n width: \"calc(100% - \" + makeEm(2 * skew) + \")\",\n marginLeft: makeEm(2 * skew)\n } : undefined\n }]\n }, options);\n }\n\n var accentWrap = buildCommon.makeSpan([\"mord\", \"accent\"], [accentBody], options);\n\n if (supSubGroup) {\n // Here, we replace the \"base\" child of the supsub with our newly\n // generated accent.\n supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the\n // accent, we manually recalculate height.\n\n supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not.\n\n supSubGroup.classes[0] = \"mord\";\n return supSubGroup;\n } else {\n return accentWrap;\n }\n};\n\nvar mathmlBuilder$9 = (group, options) => {\n var accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode(\"mo\", [makeText(group.label, group.mode)]);\n var node = new mathMLTree.MathNode(\"mover\", [buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n};\n\nvar NON_STRETCHY_ACCENT_REGEX = new RegExp([\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\"].map(accent => \"\\\\\" + accent).join(\"|\")); // Accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\acute\", \"\\\\grave\", \"\\\\ddot\", \"\\\\tilde\", \"\\\\bar\", \"\\\\breve\", \"\\\\check\", \"\\\\hat\", \"\\\\vec\", \"\\\\dot\", \"\\\\mathring\", \"\\\\widecheck\", \"\\\\widehat\", \"\\\\widetilde\", \"\\\\overrightarrow\", \"\\\\overleftarrow\", \"\\\\Overrightarrow\", \"\\\\overleftrightarrow\", \"\\\\overgroup\", \"\\\\overlinesegment\", \"\\\\overleftharpoon\", \"\\\\overrightharpoon\"],\n props: {\n numArgs: 1\n },\n handler: (context, args) => {\n var base = normalizeArgument(args[0]);\n var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName);\n var isShifty = !isStretchy || context.funcName === \"\\\\widehat\" || context.funcName === \"\\\\widetilde\" || context.funcName === \"\\\\widecheck\";\n return {\n type: \"accent\",\n mode: context.parser.mode,\n label: context.funcName,\n isStretchy: isStretchy,\n isShifty: isShifty,\n base: base\n };\n },\n htmlBuilder: htmlBuilder$a,\n mathmlBuilder: mathmlBuilder$9\n}); // Text-mode accents\n\ndefineFunction({\n type: \"accent\",\n names: [\"\\\\'\", \"\\\\`\", \"\\\\^\", \"\\\\~\", \"\\\\=\", \"\\\\u\", \"\\\\.\", '\\\\\"', \"\\\\c\", \"\\\\r\", \"\\\\H\", \"\\\\v\", \"\\\\textcircled\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n // unless in strict mode\n argTypes: [\"primitive\"]\n },\n handler: (context, args) => {\n var base = args[0];\n var mode = context.parser.mode;\n\n if (mode === \"math\") {\n context.parser.settings.reportNonstrict(\"mathVsTextAccents\", \"LaTeX's accent \" + context.funcName + \" works only in text mode\");\n mode = \"text\";\n }\n\n return {\n type: \"accent\",\n mode: mode,\n label: context.funcName,\n isStretchy: false,\n isShifty: true,\n base: base\n };\n },\n htmlBuilder: htmlBuilder$a,\n mathmlBuilder: mathmlBuilder$9\n});\n\n// Horizontal overlap functions\ndefineFunction({\n type: \"accentUnder\",\n names: [\"\\\\underleftarrow\", \"\\\\underrightarrow\", \"\\\\underleftrightarrow\", \"\\\\undergroup\", \"\\\\underlinesegment\", \"\\\\utilde\"],\n props: {\n numArgs: 1\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName\n } = _ref;\n var base = args[0];\n return {\n type: \"accentUnder\",\n mode: parser.mode,\n label: funcName,\n base: base\n };\n },\n htmlBuilder: (group, options) => {\n // Treat under accents much like underlines.\n var innerGroup = buildGroup$1(group.base, options);\n var accentBody = stretchy.svgSpan(group, options);\n var kern = group.label === \"\\\\utilde\" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns\n\n var vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"elem\",\n elem: accentBody,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: kern\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"accentunder\"], [vlist], options);\n },\n mathmlBuilder: (group, options) => {\n var accentNode = stretchy.mathMLnode(group.label);\n var node = new mathMLTree.MathNode(\"munder\", [buildGroup(group.base, options), accentNode]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n});\n\n// Helper function\nvar paddedNode = group => {\n var node = new mathMLTree.MathNode(\"mpadded\", group ? [group] : []);\n node.setAttribute(\"width\", \"+0.6em\");\n node.setAttribute(\"lspace\", \"0.3em\");\n return node;\n}; // Stretchy arrows with an optional argument\n\n\ndefineFunction({\n type: \"xArrow\",\n names: [\"\\\\xleftarrow\", \"\\\\xrightarrow\", \"\\\\xLeftarrow\", \"\\\\xRightarrow\", \"\\\\xleftrightarrow\", \"\\\\xLeftrightarrow\", \"\\\\xhookleftarrow\", \"\\\\xhookrightarrow\", \"\\\\xmapsto\", \"\\\\xrightharpoondown\", \"\\\\xrightharpoonup\", \"\\\\xleftharpoondown\", \"\\\\xleftharpoonup\", \"\\\\xrightleftharpoons\", \"\\\\xleftrightharpoons\", \"\\\\xlongequal\", \"\\\\xtwoheadrightarrow\", \"\\\\xtwoheadleftarrow\", \"\\\\xtofrom\", // The next 3 functions are here to support the mhchem extension.\n // Direct use of these functions is discouraged and may break someday.\n \"\\\\xrightleftarrows\", \"\\\\xrightequilibrium\", \"\\\\xleftequilibrium\", // The next 3 functions are here only to support the {CD} environment.\n \"\\\\\\\\cdrightarrow\", \"\\\\\\\\cdleftarrow\", \"\\\\\\\\cdlongequal\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n\n handler(_ref, args, optArgs) {\n var {\n parser,\n funcName\n } = _ref;\n return {\n type: \"xArrow\",\n mode: parser.mode,\n label: funcName,\n body: args[0],\n below: optArgs[0]\n };\n },\n\n // Flow is unable to correctly infer the type of `group`, even though it's\n // unambiguously determined from the passed-in `type` above.\n htmlBuilder(group, options) {\n var style = options.style; // Build the argument groups in the appropriate style.\n // Ref: amsmath.dtx: \\hbox{$\\scriptstyle\\mkern#3mu{#6}\\mkern#4mu$}%\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n var newOptions = options.havingStyle(style.sup());\n var upperGroup = buildCommon.wrapFragment(buildGroup$1(group.body, newOptions, options), options);\n var arrowPrefix = group.label.slice(0, 2) === \"\\\\x\" ? \"x\" : \"cd\";\n upperGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n var lowerGroup;\n\n if (group.below) {\n // Build the lower group\n newOptions = options.havingStyle(style.sub());\n lowerGroup = buildCommon.wrapFragment(buildGroup$1(group.below, newOptions, options), options);\n lowerGroup.classes.push(arrowPrefix + \"-arrow-pad\");\n }\n\n var arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0.\n // The point we want on the math axis is at 0.5 * arrowBody.height.\n\n var arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\\if0#2\\else\\mkern#2mu\\fi\n\n var upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu\n\n if (upperGroup.depth > 0.25 || group.label === \"\\\\xleftequilibrium\") {\n upperShift -= upperGroup.depth; // shift up if depth encroaches\n } // Generate the vlist\n\n\n var vlist;\n\n if (lowerGroup) {\n var lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111;\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }, {\n type: \"elem\",\n elem: lowerGroup,\n shift: lowerShift\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: upperGroup,\n shift: upperShift\n }, {\n type: \"elem\",\n elem: arrowBody,\n shift: arrowShift\n }]\n }, options);\n } // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n return buildCommon.makeSpan([\"mrel\", \"x-arrow\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n var arrowNode = stretchy.mathMLnode(group.label);\n arrowNode.setAttribute(\"minsize\", group.label.charAt(0) === \"x\" ? \"1.75em\" : \"3.0em\");\n var node;\n\n if (group.body) {\n var upperNode = paddedNode(buildGroup(group.body, options));\n\n if (group.below) {\n var lowerNode = paddedNode(buildGroup(group.below, options));\n node = new mathMLTree.MathNode(\"munderover\", [arrowNode, lowerNode, upperNode]);\n } else {\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, upperNode]);\n }\n } else if (group.below) {\n var _lowerNode = paddedNode(buildGroup(group.below, options));\n\n node = new mathMLTree.MathNode(\"munder\", [arrowNode, _lowerNode]);\n } else {\n // This should never happen.\n // Parser.js throws an error if there is no argument.\n node = paddedNode();\n node = new mathMLTree.MathNode(\"mover\", [arrowNode, node]);\n }\n\n return node;\n }\n\n});\n\nvar makeSpan = buildCommon.makeSpan;\n\nfunction htmlBuilder$9(group, options) {\n var elements = buildExpression$1(group.body, options, true);\n return makeSpan([group.mclass], elements, options);\n}\n\nfunction mathmlBuilder$8(group, options) {\n var node;\n var inner = buildExpression(group.body, options);\n\n if (group.mclass === \"minner\") {\n node = new mathMLTree.MathNode(\"mpadded\", inner);\n } else if (group.mclass === \"mord\") {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mi\";\n } else {\n node = new mathMLTree.MathNode(\"mi\", inner);\n }\n } else {\n if (group.isCharacterBox) {\n node = inner[0];\n node.type = \"mo\";\n } else {\n node = new mathMLTree.MathNode(\"mo\", inner);\n } // Set spacing based on what is the most likely adjacent atom type.\n // See TeXbook p170.\n\n\n if (group.mclass === \"mbin\") {\n node.attributes.lspace = \"0.22em\"; // medium space\n\n node.attributes.rspace = \"0.22em\";\n } else if (group.mclass === \"mpunct\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0.17em\"; // thinspace\n } else if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n node.attributes.lspace = \"0em\";\n node.attributes.rspace = \"0em\";\n } else if (group.mclass === \"minner\") {\n node.attributes.lspace = \"0.0556em\"; // 1 mu is the most likely option\n\n node.attributes.width = \"+0.1111em\";\n } // MathML <mo> default space is 5/18 em, so <mrel> needs no action.\n // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo\n\n }\n\n return node;\n} // Math class commands except \\mathop\n\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\mathord\", \"\\\\mathbin\", \"\\\\mathrel\", \"\\\\mathopen\", \"\\\\mathclose\", \"\\\\mathpunct\", \"\\\\mathinner\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n\n handler(_ref, args) {\n var {\n parser,\n funcName\n } = _ref;\n var body = args[0];\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: \"m\" + funcName.slice(5),\n // TODO(kevinb): don't prefix with 'm'\n body: ordargument(body),\n isCharacterBox: utils.isCharacterBox(body)\n };\n },\n\n htmlBuilder: htmlBuilder$9,\n mathmlBuilder: mathmlBuilder$8\n});\nvar binrelClass = arg => {\n // \\binrel@ spacing varies with (bin|rel|ord) of the atom in the argument.\n // (by rendering separately and with {}s before and after, and measuring\n // the change in spacing). We'll do roughly the same by detecting the\n // atom type directly.\n var atom = arg.type === \"ordgroup\" && arg.body.length ? arg.body[0] : arg;\n\n if (atom.type === \"atom\" && (atom.family === \"bin\" || atom.family === \"rel\")) {\n return \"m\" + atom.family;\n } else {\n return \"mord\";\n }\n}; // \\@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord.\n// This is equivalent to \\binrel@{x}\\binrel@@{y} in AMSTeX.\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\@binrel\"],\n props: {\n numArgs: 2\n },\n\n handler(_ref2, args) {\n var {\n parser\n } = _ref2;\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[1]),\n isCharacterBox: utils.isCharacterBox(args[1])\n };\n }\n\n}); // Build a relation or stacked op by placing one symbol on top of another\n\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\stackrel\", \"\\\\overset\", \"\\\\underset\"],\n props: {\n numArgs: 2\n },\n\n handler(_ref3, args) {\n var {\n parser,\n funcName\n } = _ref3;\n var baseArg = args[1];\n var shiftedArg = args[0];\n var mclass;\n\n if (funcName !== \"\\\\stackrel\") {\n // LaTeX applies \\binrel spacing to \\overset and \\underset.\n mclass = binrelClass(baseArg);\n } else {\n mclass = \"mrel\"; // for \\stackrel\n }\n\n var baseOp = {\n type: \"op\",\n mode: baseArg.mode,\n limits: true,\n alwaysHandleSupSub: true,\n parentIsSupSub: false,\n symbol: false,\n suppressBaseShift: funcName !== \"\\\\stackrel\",\n body: ordargument(baseArg)\n };\n var supsub = {\n type: \"supsub\",\n mode: shiftedArg.mode,\n base: baseOp,\n sup: funcName === \"\\\\underset\" ? null : shiftedArg,\n sub: funcName === \"\\\\underset\" ? shiftedArg : null\n };\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass,\n body: [supsub],\n isCharacterBox: utils.isCharacterBox(supsub)\n };\n },\n\n htmlBuilder: htmlBuilder$9,\n mathmlBuilder: mathmlBuilder$8\n});\n\n// \\pmb is a simulation of bold font.\n// The version of \\pmb in ambsy.sty works by typesetting three copies\n// with small offsets. We use CSS text-shadow.\n// It's a hack. Not as good as a real bold font. Better than nothing.\ndefineFunction({\n type: \"pmb\",\n names: [\"\\\\pmb\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n return {\n type: \"pmb\",\n mode: parser.mode,\n mclass: binrelClass(args[0]),\n body: ordargument(args[0])\n };\n },\n\n htmlBuilder(group, options) {\n var elements = buildExpression$1(group.body, options, true);\n var node = buildCommon.makeSpan([group.mclass], elements, options);\n node.style.textShadow = \"0.02em 0.01em 0.04px\";\n return node;\n },\n\n mathmlBuilder(group, style) {\n var inner = buildExpression(group.body, style); // Wrap with an <mstyle> element.\n\n var node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"style\", \"text-shadow: 0.02em 0.01em 0.04px\");\n return node;\n }\n\n});\n\nvar cdArrowFunctionName = {\n \">\": \"\\\\\\\\cdrightarrow\",\n \"<\": \"\\\\\\\\cdleftarrow\",\n \"=\": \"\\\\\\\\cdlongequal\",\n \"A\": \"\\\\uparrow\",\n \"V\": \"\\\\downarrow\",\n \"|\": \"\\\\Vert\",\n \".\": \"no arrow\"\n};\n\nvar newCell = () => {\n // Create an empty cell, to be filled below with parse nodes.\n // The parseTree from this module must be constructed like the\n // one created by parseArray(), so an empty CD cell must\n // be a ParseNode<\"styling\">. And CD is always displaystyle.\n // So these values are fixed and flow can do implicit typing.\n return {\n type: \"styling\",\n body: [],\n mode: \"math\",\n style: \"display\"\n };\n};\n\nvar isStartOfArrow = node => {\n return node.type === \"textord\" && node.text === \"@\";\n};\n\nvar isLabelEnd = (node, endChar) => {\n return (node.type === \"mathord\" || node.type === \"atom\") && node.text === endChar;\n};\n\nfunction cdArrow(arrowChar, labels, parser) {\n // Return a parse tree of an arrow and its labels.\n // This acts in a way similar to a macro expansion.\n var funcName = cdArrowFunctionName[arrowChar];\n\n switch (funcName) {\n case \"\\\\\\\\cdrightarrow\":\n case \"\\\\\\\\cdleftarrow\":\n return parser.callFunction(funcName, [labels[0]], [labels[1]]);\n\n case \"\\\\uparrow\":\n case \"\\\\downarrow\":\n {\n var leftLabel = parser.callFunction(\"\\\\\\\\cdleft\", [labels[0]], []);\n var bareArrow = {\n type: \"atom\",\n text: funcName,\n mode: \"math\",\n family: \"rel\"\n };\n var sizedArrow = parser.callFunction(\"\\\\Big\", [bareArrow], []);\n var rightLabel = parser.callFunction(\"\\\\\\\\cdright\", [labels[1]], []);\n var arrowGroup = {\n type: \"ordgroup\",\n mode: \"math\",\n body: [leftLabel, sizedArrow, rightLabel]\n };\n return parser.callFunction(\"\\\\\\\\cdparent\", [arrowGroup], []);\n }\n\n case \"\\\\\\\\cdlongequal\":\n return parser.callFunction(\"\\\\\\\\cdlongequal\", [], []);\n\n case \"\\\\Vert\":\n {\n var arrow = {\n type: \"textord\",\n text: \"\\\\Vert\",\n mode: \"math\"\n };\n return parser.callFunction(\"\\\\Big\", [arrow], []);\n }\n\n default:\n return {\n type: \"textord\",\n text: \" \",\n mode: \"math\"\n };\n }\n}\n\nfunction parseCD(parser) {\n // Get the array's parse nodes with \\\\ temporarily mapped to \\cr.\n var parsedRows = [];\n parser.gullet.beginGroup();\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n parser.gullet.beginGroup();\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Get the parse nodes for the next row.\n parsedRows.push(parser.parseExpression(false, \"\\\\\\\\\"));\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n var next = parser.fetch().text;\n\n if (next === \"&\" || next === \"\\\\\\\\\") {\n parser.consume();\n } else if (next === \"\\\\end\") {\n if (parsedRows[parsedRows.length - 1].length === 0) {\n parsedRows.pop(); // final row ended in \\\\\n }\n\n break;\n } else {\n throw new ParseError(\"Expected \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n }\n\n var row = [];\n var body = [row]; // Loop thru the parse nodes. Collect them into cells and arrows.\n\n for (var i = 0; i < parsedRows.length; i++) {\n // Start a new row.\n var rowNodes = parsedRows[i]; // Create the first cell.\n\n var cell = newCell();\n\n for (var j = 0; j < rowNodes.length; j++) {\n if (!isStartOfArrow(rowNodes[j])) {\n // If a parseNode is not an arrow, it goes into a cell.\n cell.body.push(rowNodes[j]);\n } else {\n // Parse node j is an \"@\", the start of an arrow.\n // Before starting on the arrow, push the cell into `row`.\n row.push(cell); // Now collect parseNodes into an arrow.\n // The character after \"@\" defines the arrow type.\n\n j += 1;\n var arrowChar = assertSymbolNodeType(rowNodes[j]).text; // Create two empty label nodes. We may or may not use them.\n\n var labels = new Array(2);\n labels[0] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n };\n labels[1] = {\n type: \"ordgroup\",\n mode: \"math\",\n body: []\n }; // Process the arrow.\n\n if (\"=|.\".indexOf(arrowChar) > -1) ; else if (\"<>AV\".indexOf(arrowChar) > -1) {\n // Four arrows, `@>>>`, `@<<<`, `@AAA`, and `@VVV`, each take\n // two optional labels. E.g. the right-point arrow syntax is\n // really: @>{optional label}>{optional label}>\n // Collect parseNodes into labels.\n for (var labelNum = 0; labelNum < 2; labelNum++) {\n var inLabel = true;\n\n for (var k = j + 1; k < rowNodes.length; k++) {\n if (isLabelEnd(rowNodes[k], arrowChar)) {\n inLabel = false;\n j = k;\n break;\n }\n\n if (isStartOfArrow(rowNodes[k])) {\n throw new ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[k]);\n }\n\n labels[labelNum].body.push(rowNodes[k]);\n }\n\n if (inLabel) {\n // isLabelEnd never returned a true.\n throw new ParseError(\"Missing a \" + arrowChar + \" character to complete a CD arrow.\", rowNodes[j]);\n }\n }\n } else {\n throw new ParseError(\"Expected one of \\\"<>AV=|.\\\" after @\", rowNodes[j]);\n } // Now join the arrow to its labels.\n\n\n var arrow = cdArrow(arrowChar, labels, parser); // Wrap the arrow in ParseNode<\"styling\">.\n // This is done to match parseArray() behavior.\n\n var wrappedArrow = {\n type: \"styling\",\n body: [arrow],\n mode: \"math\",\n style: \"display\" // CD is always displaystyle.\n\n };\n row.push(wrappedArrow); // In CD's syntax, cells are implicit. That is, everything that\n // is not an arrow gets collected into a cell. So create an empty\n // cell now. It will collect upcoming parseNodes.\n\n cell = newCell();\n }\n }\n\n if (i % 2 === 0) {\n // Even-numbered rows consist of: cell, arrow, cell, arrow, ... cell\n // The last cell is not yet pushed into `row`, so:\n row.push(cell);\n } else {\n // Odd-numbered rows consist of: vert arrow, empty cell, ... vert arrow\n // Remove the empty cell that was placed at the beginning of `row`.\n row.shift();\n }\n\n row = [];\n body.push(row);\n } // End row group\n\n\n parser.gullet.endGroup(); // End array group defining \\\\\n\n parser.gullet.endGroup(); // define column separation.\n\n var cols = new Array(body[0].length).fill({\n type: \"align\",\n align: \"c\",\n pregap: 0.25,\n // CD package sets \\enskip between columns.\n postgap: 0.25 // So pre and post each get half an \\enskip, i.e. 0.25em.\n\n });\n return {\n type: \"array\",\n mode: \"math\",\n body,\n arraystretch: 1,\n addJot: true,\n rowGaps: [null],\n cols,\n colSeparationType: \"CD\",\n hLinesBeforeRow: new Array(body.length + 1).fill([])\n };\n} // The functions below are not available for general use.\n// They are here only for internal use by the {CD} environment in placing labels\n// next to vertical arrows.\n// We don't need any such functions for horizontal arrows because we can reuse\n// the functionality that already exists for extensible arrows.\n\ndefineFunction({\n type: \"cdlabel\",\n names: [\"\\\\\\\\cdleft\", \"\\\\\\\\cdright\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n var {\n parser,\n funcName\n } = _ref;\n return {\n type: \"cdlabel\",\n mode: parser.mode,\n side: funcName.slice(4),\n label: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n var newOptions = options.havingStyle(options.style.sup());\n var label = buildCommon.wrapFragment(buildGroup$1(group.label, newOptions, options), options);\n label.classes.push(\"cd-label-\" + group.side);\n label.style.bottom = makeEm(0.8 - label.depth); // Zero out label height & depth, so vertical align of arrow is set\n // by the arrow height, not by the label.\n\n label.height = 0;\n label.depth = 0;\n return label;\n },\n\n mathmlBuilder(group, options) {\n var label = new mathMLTree.MathNode(\"mrow\", [buildGroup(group.label, options)]);\n label = new mathMLTree.MathNode(\"mpadded\", [label]);\n label.setAttribute(\"width\", \"0\");\n\n if (group.side === \"left\") {\n label.setAttribute(\"lspace\", \"-1width\");\n } // We have to guess at vertical alignment. We know the arrow is 1.8em tall,\n // But we don't know the height or depth of the label.\n\n\n label.setAttribute(\"voffset\", \"0.7em\");\n label = new mathMLTree.MathNode(\"mstyle\", [label]);\n label.setAttribute(\"displaystyle\", \"false\");\n label.setAttribute(\"scriptlevel\", \"1\");\n return label;\n }\n\n});\ndefineFunction({\n type: \"cdlabelparent\",\n names: [\"\\\\\\\\cdparent\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref2, args) {\n var {\n parser\n } = _ref2;\n return {\n type: \"cdlabelparent\",\n mode: parser.mode,\n fragment: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n // Wrap the vertical arrow and its labels.\n // The parent gets position: relative. The child gets position: absolute.\n // So CSS can locate the label correctly.\n var parent = buildCommon.wrapFragment(buildGroup$1(group.fragment, options), options);\n parent.classes.push(\"cd-vert-arrow\");\n return parent;\n },\n\n mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", [buildGroup(group.fragment, options)]);\n }\n\n});\n\n// {123} and converts into symbol with code 123. It is used by the *macro*\n// \\char defined in macros.js.\n\ndefineFunction({\n type: \"textord\",\n names: [\"\\\\@char\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n var arg = assertNodeType(args[0], \"ordgroup\");\n var group = arg.body;\n var number = \"\";\n\n for (var i = 0; i < group.length; i++) {\n var node = assertNodeType(group[i], \"textord\");\n number += node.text;\n }\n\n var code = parseInt(number);\n var text;\n\n if (isNaN(code)) {\n throw new ParseError(\"\\\\@char has non-numeric argument \" + number); // If we drop IE support, the following code could be replaced with\n // text = String.fromCodePoint(code)\n } else if (code < 0 || code >= 0x10ffff) {\n throw new ParseError(\"\\\\@char with invalid code point \" + number);\n } else if (code <= 0xffff) {\n text = String.fromCharCode(code);\n } else {\n // Astral code point; split into surrogate halves\n code -= 0x10000;\n text = String.fromCharCode((code >> 10) + 0xd800, (code & 0x3ff) + 0xdc00);\n }\n\n return {\n type: \"textord\",\n mode: parser.mode,\n text: text\n };\n }\n\n});\n\nvar htmlBuilder$8 = (group, options) => {\n var elements = buildExpression$1(group.body, options.withColor(group.color), false); // \\color isn't supposed to affect the type of the elements it contains.\n // To accomplish this, we wrap the results in a fragment, so the inner\n // elements will be able to directly interact with their neighbors. For\n // example, `\\color{red}{2 +} 3` has the same spacing as `2 + 3`\n\n return buildCommon.makeFragment(elements);\n};\n\nvar mathmlBuilder$7 = (group, options) => {\n var inner = buildExpression(group.body, options.withColor(group.color));\n var node = new mathMLTree.MathNode(\"mstyle\", inner);\n node.setAttribute(\"mathcolor\", group.color);\n return node;\n};\n\ndefineFunction({\n type: \"color\",\n names: [\"\\\\textcolor\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"original\"]\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n var color = assertNodeType(args[0], \"color-token\").color;\n var body = args[1];\n return {\n type: \"color\",\n mode: parser.mode,\n color,\n body: ordargument(body)\n };\n },\n\n htmlBuilder: htmlBuilder$8,\n mathmlBuilder: mathmlBuilder$7\n});\ndefineFunction({\n type: \"color\",\n names: [\"\\\\color\"],\n props: {\n numArgs: 1,\n allowedInText: true,\n argTypes: [\"color\"]\n },\n\n handler(_ref2, args) {\n var {\n parser,\n breakOnTokenText\n } = _ref2;\n var color = assertNodeType(args[0], \"color-token\").color; // Set macro \\current@color in current namespace to store the current\n // color, mimicking the behavior of color.sty.\n // This is currently used just to correctly color a \\right\n // that follows a \\color command.\n\n parser.gullet.macros.set(\"\\\\current@color\", color); // Parse out the implicit body that should be colored.\n\n var body = parser.parseExpression(true, breakOnTokenText);\n return {\n type: \"color\",\n mode: parser.mode,\n color,\n body\n };\n },\n\n htmlBuilder: htmlBuilder$8,\n mathmlBuilder: mathmlBuilder$7\n});\n\n// Row breaks within tabular environments, and line breaks at top level\n\ndefineFunction({\n type: \"cr\",\n names: [\"\\\\\\\\\"],\n props: {\n numArgs: 0,\n numOptionalArgs: 0,\n allowedInText: true\n },\n\n handler(_ref, args, optArgs) {\n var {\n parser\n } = _ref;\n var size = parser.gullet.future().text === \"[\" ? parser.parseSizeGroup(true) : null;\n var newLine = !parser.settings.displayMode || !parser.settings.useStrictBehavior(\"newLineInDisplayMode\", \"In LaTeX, \\\\\\\\ or \\\\newline \" + \"does nothing in display mode\");\n return {\n type: \"cr\",\n mode: parser.mode,\n newLine,\n size: size && assertNodeType(size, \"size\").value\n };\n },\n\n // The following builders are called only at the top level,\n // not within tabular/array environments.\n htmlBuilder(group, options) {\n var span = buildCommon.makeSpan([\"mspace\"], [], options);\n\n if (group.newLine) {\n span.classes.push(\"newline\");\n\n if (group.size) {\n span.style.marginTop = makeEm(calculateSize(group.size, options));\n }\n }\n\n return span;\n },\n\n mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mspace\");\n\n if (group.newLine) {\n node.setAttribute(\"linebreak\", \"newline\");\n\n if (group.size) {\n node.setAttribute(\"height\", makeEm(calculateSize(group.size, options)));\n }\n }\n\n return node;\n }\n\n});\n\nvar globalMap = {\n \"\\\\global\": \"\\\\global\",\n \"\\\\long\": \"\\\\\\\\globallong\",\n \"\\\\\\\\globallong\": \"\\\\\\\\globallong\",\n \"\\\\def\": \"\\\\gdef\",\n \"\\\\gdef\": \"\\\\gdef\",\n \"\\\\edef\": \"\\\\xdef\",\n \"\\\\xdef\": \"\\\\xdef\",\n \"\\\\let\": \"\\\\\\\\globallet\",\n \"\\\\futurelet\": \"\\\\\\\\globalfuture\"\n};\n\nvar checkControlSequence = tok => {\n var name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new ParseError(\"Expected a control sequence\", tok);\n }\n\n return name;\n};\n\nvar getRHS = parser => {\n var tok = parser.gullet.popToken();\n\n if (tok.text === \"=\") {\n // consume optional equals\n tok = parser.gullet.popToken();\n\n if (tok.text === \" \") {\n // consume one optional space\n tok = parser.gullet.popToken();\n }\n }\n\n return tok;\n};\n\nvar letCommand = (parser, name, tok, global) => {\n var macro = parser.gullet.macros.get(tok.text);\n\n if (macro == null) {\n // don't expand it later even if a macro with the same name is defined\n // e.g., \\let\\foo=\\frac \\def\\frac{\\relax} \\frac12\n tok.noexpand = true;\n macro = {\n tokens: [tok],\n numArgs: 0,\n // reproduce the same behavior in expansion\n unexpandable: !parser.gullet.isExpandable(tok.text)\n };\n }\n\n parser.gullet.macros.set(name, macro, global);\n}; // <assignment> -> <non-macro assignment>|<macro assignment>\n// <non-macro assignment> -> <simple assignment>|\\global<non-macro assignment>\n// <macro assignment> -> <definition>|<prefix><macro assignment>\n// <prefix> -> \\global|\\long|\\outer\n\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\global\", \"\\\\long\", \"\\\\\\\\globallong\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n\n handler(_ref) {\n var {\n parser,\n funcName\n } = _ref;\n parser.consumeSpaces();\n var token = parser.fetch();\n\n if (globalMap[token.text]) {\n // KaTeX doesn't have \\par, so ignore \\long\n if (funcName === \"\\\\global\" || funcName === \"\\\\\\\\globallong\") {\n token.text = globalMap[token.text];\n }\n\n return assertNodeType(parser.parseFunction(), \"internal\");\n }\n\n throw new ParseError(\"Invalid token after macro prefix\", token);\n }\n\n}); // Basic support for macro definitions: \\def, \\gdef, \\edef, \\xdef\n// <definition> -> <def><control sequence><definition text>\n// <def> -> \\def|\\gdef|\\edef|\\xdef\n// <definition text> -> <parameter text><left brace><balanced text><right brace>\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\def\", \"\\\\gdef\", \"\\\\edef\", \"\\\\xdef\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref2) {\n var {\n parser,\n funcName\n } = _ref2;\n var tok = parser.gullet.popToken();\n var name = tok.text;\n\n if (/^(?:[\\\\{}$&#^_]|EOF)$/.test(name)) {\n throw new ParseError(\"Expected a control sequence\", tok);\n }\n\n var numArgs = 0;\n var insert;\n var delimiters = [[]]; // <parameter text> contains no braces\n\n while (parser.gullet.future().text !== \"{\") {\n tok = parser.gullet.popToken();\n\n if (tok.text === \"#\") {\n // If the very last character of the <parameter text> is #, so that\n // this # is immediately followed by {, TeX will behave as if the {\n // had been inserted at the right end of both the parameter text\n // and the replacement text.\n if (parser.gullet.future().text === \"{\") {\n insert = parser.gullet.future();\n delimiters[numArgs].push(\"{\");\n break;\n } // A parameter, the first appearance of # must be followed by 1,\n // the next by 2, and so on; up to nine #’s are allowed\n\n\n tok = parser.gullet.popToken();\n\n if (!/^[1-9]$/.test(tok.text)) {\n throw new ParseError(\"Invalid argument number \\\"\" + tok.text + \"\\\"\");\n }\n\n if (parseInt(tok.text) !== numArgs + 1) {\n throw new ParseError(\"Argument number \\\"\" + tok.text + \"\\\" out of order\");\n }\n\n numArgs++;\n delimiters.push([]);\n } else if (tok.text === \"EOF\") {\n throw new ParseError(\"Expected a macro definition\");\n } else {\n delimiters[numArgs].push(tok.text);\n }\n } // replacement text, enclosed in '{' and '}' and properly nested\n\n\n var {\n tokens\n } = parser.gullet.consumeArg();\n\n if (insert) {\n tokens.unshift(insert);\n }\n\n if (funcName === \"\\\\edef\" || funcName === \"\\\\xdef\") {\n tokens = parser.gullet.expandTokens(tokens);\n tokens.reverse(); // to fit in with stack order\n } // Final arg is the expansion of the macro\n\n\n parser.gullet.macros.set(name, {\n tokens,\n numArgs,\n delimiters\n }, funcName === globalMap[funcName]);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n}); // <simple assignment> -> <let assignment>\n// <let assignment> -> \\futurelet<control sequence><token><token>\n// | \\let<control sequence><equals><one optional space><token>\n// <equals> -> <optional spaces>|<optional spaces>=\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\let\", \"\\\\\\\\globallet\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref3) {\n var {\n parser,\n funcName\n } = _ref3;\n var name = checkControlSequence(parser.gullet.popToken());\n parser.gullet.consumeSpaces();\n var tok = getRHS(parser);\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globallet\");\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n}); // ref: https://www.tug.org/TUGboat/tb09-3/tb22bechtolsheim.pdf\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\futurelet\", \"\\\\\\\\globalfuture\" // can’t be entered directly\n ],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref4) {\n var {\n parser,\n funcName\n } = _ref4;\n var name = checkControlSequence(parser.gullet.popToken());\n var middle = parser.gullet.popToken();\n var tok = parser.gullet.popToken();\n letCommand(parser, name, tok, funcName === \"\\\\\\\\globalfuture\");\n parser.gullet.pushToken(tok);\n parser.gullet.pushToken(middle);\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n});\n\n/**\n * This file deals with creating delimiters of various sizes. The TeXbook\n * discusses these routines on page 441-442, in the \"Another subroutine sets box\n * x to a specified variable delimiter\" paragraph.\n *\n * There are three main routines here. `makeSmallDelim` makes a delimiter in the\n * normal font, but in either text, script, or scriptscript style.\n * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1,\n * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of\n * smaller pieces that are stacked on top of one another.\n *\n * The functions take a parameter `center`, which determines if the delimiter\n * should be centered around the axis.\n *\n * Then, there are three exposed functions. `sizedDelim` makes a delimiter in\n * one of the given sizes. This is used for things like `\\bigl`.\n * `customSizedDelim` makes a delimiter with a given total height+depth. It is\n * called in places like `\\sqrt`. `leftRightDelim` makes an appropriate\n * delimiter which surrounds an expression of a given height an depth. It is\n * used in `\\left` and `\\right`.\n */\n\n/**\n * Get the metrics for a given symbol and font, after transformation (i.e.\n * after following replacement from symbols.js)\n */\nvar getMetrics = function getMetrics(symbol, font, mode) {\n var replace = symbols.math[symbol] && symbols.math[symbol].replace;\n var metrics = getCharacterMetrics(replace || symbol, font, mode);\n\n if (!metrics) {\n throw new Error(\"Unsupported symbol \" + symbol + \" and font size \" + font + \".\");\n }\n\n return metrics;\n};\n/**\n * Puts a delimiter span in a given style, and adds appropriate height, depth,\n * and maxFontSizes.\n */\n\n\nvar styleWrap = function styleWrap(delim, toStyle, options, classes) {\n var newOptions = options.havingBaseStyle(toStyle);\n var span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options);\n var delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier;\n span.height *= delimSizeMultiplier;\n span.depth *= delimSizeMultiplier;\n span.maxFontSize = newOptions.sizeMultiplier;\n return span;\n};\n\nvar centerSpan = function centerSpan(span, options, style) {\n var newOptions = options.havingBaseStyle(style);\n var shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight;\n span.classes.push(\"delimcenter\");\n span.style.top = makeEm(shift);\n span.height -= shift;\n span.depth += shift;\n};\n/**\n * Makes a small delimiter. This is a delimiter that comes in the Main-Regular\n * font, but is restyled to either be in textstyle, scriptstyle, or\n * scriptscriptstyle.\n */\n\n\nvar makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) {\n var text = buildCommon.makeSymbol(delim, \"Main-Regular\", mode, options);\n var span = styleWrap(text, style, options, classes);\n\n if (center) {\n centerSpan(span, options, style);\n }\n\n return span;\n};\n/**\n * Builds a symbol in the given font size (note size is an integer)\n */\n\n\nvar mathrmSize = function mathrmSize(value, size, mode, options) {\n return buildCommon.makeSymbol(value, \"Size\" + size + \"-Regular\", mode, options);\n};\n/**\n * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2,\n * Size3, or Size4 fonts. It is always rendered in textstyle.\n */\n\n\nvar makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) {\n var inner = mathrmSize(delim, size, mode, options);\n var span = styleWrap(buildCommon.makeSpan([\"delimsizing\", \"size\" + size], [inner], options), Style$1.TEXT, options, classes);\n\n if (center) {\n centerSpan(span, options, Style$1.TEXT);\n }\n\n return span;\n};\n/**\n * Make a span from a font glyph with the given offset and in the given font.\n * This is used in makeStackedDelim to make the stacking pieces for the delimiter.\n */\n\n\nvar makeGlyphSpan = function makeGlyphSpan(symbol, font, mode) {\n var sizeClass; // Apply the correct CSS class to choose the right font.\n\n if (font === \"Size1-Regular\") {\n sizeClass = \"delim-size1\";\n } else\n /* if (font === \"Size4-Regular\") */\n {\n sizeClass = \"delim-size4\";\n }\n\n var corner = buildCommon.makeSpan([\"delimsizinginner\", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element\n // in the appropriate tag that VList uses.\n\n return {\n type: \"elem\",\n elem: corner\n };\n};\n\nvar makeInner = function makeInner(ch, height, options) {\n // Create a span with inline SVG for the inner part of a tall stacked delimiter.\n var width = fontMetricsData['Size4-Regular'][ch.charCodeAt(0)] ? fontMetricsData['Size4-Regular'][ch.charCodeAt(0)][4] : fontMetricsData['Size1-Regular'][ch.charCodeAt(0)][4];\n var path = new PathNode(\"inner\", innerPath(ch, Math.round(1000 * height)));\n var svgNode = new SvgNode([path], {\n \"width\": makeEm(width),\n \"height\": makeEm(height),\n // Override CSS rule `.katex svg { width: 100% }`\n \"style\": \"width:\" + makeEm(width),\n \"viewBox\": \"0 0 \" + 1000 * width + \" \" + Math.round(1000 * height),\n \"preserveAspectRatio\": \"xMinYMin\"\n });\n var span = buildCommon.makeSvgSpan([], [svgNode], options);\n span.height = height;\n span.style.height = makeEm(height);\n span.style.width = makeEm(width);\n return {\n type: \"elem\",\n elem: span\n };\n}; // Helpers for makeStackedDelim\n\n\nvar lapInEms = 0.008;\nvar lap = {\n type: \"kern\",\n size: -1 * lapInEms\n};\nvar verts = [\"|\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\vert\"];\nvar doubleVerts = [\"\\\\|\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\Vert\"];\n/**\n * Make a stacked delimiter out of a given delimiter, with the total height at\n * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook.\n */\n\nvar makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) {\n // There are four parts, the top, an optional middle, a repeated part, and a\n // bottom.\n var top;\n var middle;\n var repeat;\n var bottom;\n var svgLabel = \"\";\n var viewBoxWidth = 0;\n top = repeat = bottom = delim;\n middle = null; // Also keep track of what font the delimiters are in\n\n var font = \"Size1-Regular\"; // We set the parts and font based on the symbol. Note that we use\n // '\\u23d0' instead of '|' and '\\u2016' instead of '\\\\|' for the\n // repeats of the arrows\n\n if (delim === \"\\\\uparrow\") {\n repeat = bottom = \"\\u23d0\";\n } else if (delim === \"\\\\Uparrow\") {\n repeat = bottom = \"\\u2016\";\n } else if (delim === \"\\\\downarrow\") {\n top = repeat = \"\\u23d0\";\n } else if (delim === \"\\\\Downarrow\") {\n top = repeat = \"\\u2016\";\n } else if (delim === \"\\\\updownarrow\") {\n top = \"\\\\uparrow\";\n repeat = \"\\u23d0\";\n bottom = \"\\\\downarrow\";\n } else if (delim === \"\\\\Updownarrow\") {\n top = \"\\\\Uparrow\";\n repeat = \"\\u2016\";\n bottom = \"\\\\Downarrow\";\n } else if (utils.contains(verts, delim)) {\n repeat = \"\\u2223\";\n svgLabel = \"vert\";\n viewBoxWidth = 333;\n } else if (utils.contains(doubleVerts, delim)) {\n repeat = \"\\u2225\";\n svgLabel = \"doublevert\";\n viewBoxWidth = 556;\n } else if (delim === \"[\" || delim === \"\\\\lbrack\") {\n top = \"\\u23a1\";\n repeat = \"\\u23a2\";\n bottom = \"\\u23a3\";\n font = \"Size4-Regular\";\n svgLabel = \"lbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"]\" || delim === \"\\\\rbrack\") {\n top = \"\\u23a4\";\n repeat = \"\\u23a5\";\n bottom = \"\\u23a6\";\n font = \"Size4-Regular\";\n svgLabel = \"rbrack\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lfloor\" || delim === \"\\u230a\") {\n repeat = top = \"\\u23a2\";\n bottom = \"\\u23a3\";\n font = \"Size4-Regular\";\n svgLabel = \"lfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\lceil\" || delim === \"\\u2308\") {\n top = \"\\u23a1\";\n repeat = bottom = \"\\u23a2\";\n font = \"Size4-Regular\";\n svgLabel = \"lceil\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rfloor\" || delim === \"\\u230b\") {\n repeat = top = \"\\u23a5\";\n bottom = \"\\u23a6\";\n font = \"Size4-Regular\";\n svgLabel = \"rfloor\";\n viewBoxWidth = 667;\n } else if (delim === \"\\\\rceil\" || delim === \"\\u2309\") {\n top = \"\\u23a4\";\n repeat = bottom = \"\\u23a5\";\n font = \"Size4-Regular\";\n svgLabel = \"rceil\";\n viewBoxWidth = 667;\n } else if (delim === \"(\" || delim === \"\\\\lparen\") {\n top = \"\\u239b\";\n repeat = \"\\u239c\";\n bottom = \"\\u239d\";\n font = \"Size4-Regular\";\n svgLabel = \"lparen\";\n viewBoxWidth = 875;\n } else if (delim === \")\" || delim === \"\\\\rparen\") {\n top = \"\\u239e\";\n repeat = \"\\u239f\";\n bottom = \"\\u23a0\";\n font = \"Size4-Regular\";\n svgLabel = \"rparen\";\n viewBoxWidth = 875;\n } else if (delim === \"\\\\{\" || delim === \"\\\\lbrace\") {\n top = \"\\u23a7\";\n middle = \"\\u23a8\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\}\" || delim === \"\\\\rbrace\") {\n top = \"\\u23ab\";\n middle = \"\\u23ac\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lgroup\" || delim === \"\\u27ee\") {\n top = \"\\u23a7\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rgroup\" || delim === \"\\u27ef\") {\n top = \"\\u23ab\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\lmoustache\" || delim === \"\\u23b0\") {\n top = \"\\u23a7\";\n bottom = \"\\u23ad\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } else if (delim === \"\\\\rmoustache\" || delim === \"\\u23b1\") {\n top = \"\\u23ab\";\n bottom = \"\\u23a9\";\n repeat = \"\\u23aa\";\n font = \"Size4-Regular\";\n } // Get the metrics of the four sections\n\n\n var topMetrics = getMetrics(top, font, mode);\n var topHeightTotal = topMetrics.height + topMetrics.depth;\n var repeatMetrics = getMetrics(repeat, font, mode);\n var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth;\n var bottomMetrics = getMetrics(bottom, font, mode);\n var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth;\n var middleHeightTotal = 0;\n var middleFactor = 1;\n\n if (middle !== null) {\n var middleMetrics = getMetrics(middle, font, mode);\n middleHeightTotal = middleMetrics.height + middleMetrics.depth;\n middleFactor = 2; // repeat symmetrically above and below middle\n } // Calculate the minimal height that the delimiter can have.\n // It is at least the size of the top, bottom, and optional middle combined.\n\n\n var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need\n\n var repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols\n\n var realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note\n // that in this context, \"center\" means that the delimiter should be\n // centered around the axis in the current style, while normally it is\n // centered around the axis in textstyle.\n\n var axisHeight = options.fontMetrics().axisHeight;\n\n if (center) {\n axisHeight *= options.sizeMultiplier;\n } // Calculate the depth\n\n\n var depth = realHeightTotal / 2 - axisHeight; // Now, we start building the pieces that will go into the vlist\n // Keep a list of the pieces of the stacked delimiter\n\n var stack = [];\n\n if (svgLabel.length > 0) {\n // Instead of stacking glyphs, create a single SVG.\n // This evades browser problems with imprecise positioning of spans.\n var midHeight = realHeightTotal - topHeightTotal - bottomHeightTotal;\n var viewBoxHeight = Math.round(realHeightTotal * 1000);\n var pathStr = tallDelim(svgLabel, Math.round(midHeight * 1000));\n var path = new PathNode(svgLabel, pathStr);\n var width = (viewBoxWidth / 1000).toFixed(3) + \"em\";\n var height = (viewBoxHeight / 1000).toFixed(3) + \"em\";\n var svg = new SvgNode([path], {\n \"width\": width,\n \"height\": height,\n \"viewBox\": \"0 0 \" + viewBoxWidth + \" \" + viewBoxHeight\n });\n var wrapper = buildCommon.makeSvgSpan([], [svg], options);\n wrapper.height = viewBoxHeight / 1000;\n wrapper.style.width = width;\n wrapper.style.height = height;\n stack.push({\n type: \"elem\",\n elem: wrapper\n });\n } else {\n // Stack glyphs\n // Start by adding the bottom symbol\n stack.push(makeGlyphSpan(bottom, font, mode));\n stack.push(lap); // overlap\n\n if (middle === null) {\n // The middle section will be an SVG. Make it an extra 0.016em tall.\n // We'll overlap by 0.008em at top and bottom.\n var innerHeight = realHeightTotal - topHeightTotal - bottomHeightTotal + 2 * lapInEms;\n stack.push(makeInner(repeat, innerHeight, options));\n } else {\n // When there is a middle bit, we need the middle part and two repeated\n // sections\n var _innerHeight = (realHeightTotal - topHeightTotal - bottomHeightTotal - middleHeightTotal) / 2 + 2 * lapInEms;\n\n stack.push(makeInner(repeat, _innerHeight, options)); // Now insert the middle of the brace.\n\n stack.push(lap);\n stack.push(makeGlyphSpan(middle, font, mode));\n stack.push(lap);\n stack.push(makeInner(repeat, _innerHeight, options));\n } // Add the top symbol\n\n\n stack.push(lap);\n stack.push(makeGlyphSpan(top, font, mode));\n } // Finally, build the vlist\n\n\n var newOptions = options.havingBaseStyle(Style$1.TEXT);\n var inner = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: depth,\n children: stack\n }, newOptions);\n return styleWrap(buildCommon.makeSpan([\"delimsizing\", \"mult\"], [inner], newOptions), Style$1.TEXT, options, classes);\n}; // All surds have 0.08em padding above the vinculum inside the SVG.\n// That keeps browser span height rounding error from pinching the line.\n\n\nvar vbPad = 80; // padding above the surd, measured inside the viewBox.\n\nvar emPad = 0.08; // padding, in ems, measured in the document.\n\nvar sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraVinculum, options) {\n var path = sqrtPath(sqrtName, extraVinculum, viewBoxHeight);\n var pathNode = new PathNode(sqrtName, path);\n var svg = new SvgNode([pathNode], {\n // Note: 1000:1 ratio of viewBox to document em width.\n \"width\": \"400em\",\n \"height\": makeEm(height),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n });\n return buildCommon.makeSvgSpan([\"hide-tail\"], [svg], options);\n};\n/**\n * Make a sqrt image of the given height,\n */\n\n\nvar makeSqrtImage = function makeSqrtImage(height, options) {\n // Define a newOptions that removes the effect of size changes such as \\Huge.\n // We don't pick different a height surd for \\Huge. For it, we scale up.\n var newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds.\n\n var delim = traverseSequence(\"\\\\surd\", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions);\n var sizeMultiplier = newOptions.sizeMultiplier; // default\n // The standard sqrt SVGs each have a 0.04em thick vinculum.\n // If Settings.minRuleThickness is larger than that, we add extraVinculum.\n\n var extraVinculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol.\n\n var span;\n var spanHeight = 0;\n var texHeight = 0;\n var viewBoxHeight = 0;\n var advanceWidth; // We create viewBoxes with 80 units of \"padding\" above each surd.\n // Then browser rounding error on the parent span height will not\n // encroach on the ink of the vinculum. But that padding is not\n // included in the TeX-like `height` used for calculation of\n // vertical alignment. So texHeight = span.height < span.style.height.\n\n if (delim.type === \"small\") {\n // Get an SVG that is derived from glyph U+221A in font KaTeX-Main.\n // 1000 unit normal glyph height.\n viewBoxHeight = 1000 + 1000 * extraVinculum + vbPad;\n\n if (height < 1.0) {\n sizeMultiplier = 1.0; // mimic a \\textfont radical\n } else if (height < 1.4) {\n sizeMultiplier = 0.7; // mimic a \\scriptfont radical\n }\n\n spanHeight = (1.0 + extraVinculum + emPad) / sizeMultiplier;\n texHeight = (1.00 + extraVinculum) / sizeMultiplier;\n span = sqrtSvg(\"sqrtMain\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.853em\";\n advanceWidth = 0.833 / sizeMultiplier; // from the font.\n } else if (delim.type === \"large\") {\n // These SVGs come from fonts: KaTeX_Size1, _Size2, etc.\n viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size];\n texHeight = (sizeToMaxHeight[delim.size] + extraVinculum) / sizeMultiplier;\n spanHeight = (sizeToMaxHeight[delim.size] + extraVinculum + emPad) / sizeMultiplier;\n span = sqrtSvg(\"sqrtSize\" + delim.size, spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"1.02em\";\n advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font.\n } else {\n // Tall sqrt. In TeX, this would be stacked using multiple glyphs.\n // We'll use a single SVG to accomplish the same thing.\n spanHeight = height + extraVinculum + emPad;\n texHeight = height + extraVinculum;\n viewBoxHeight = Math.floor(1000 * height + extraVinculum) + vbPad;\n span = sqrtSvg(\"sqrtTall\", spanHeight, viewBoxHeight, extraVinculum, options);\n span.style.minWidth = \"0.742em\";\n advanceWidth = 1.056;\n }\n\n span.height = texHeight;\n span.style.height = makeEm(spanHeight);\n return {\n span,\n advanceWidth,\n // Calculate the actual line width.\n // This actually should depend on the chosen font -- e.g. \\boldmath\n // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and\n // have thicker rules.\n ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraVinculum) * sizeMultiplier\n };\n}; // There are three kinds of delimiters, delimiters that stack when they become\n// too large\n\n\nvar stackLargeDelimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230a\", \"\\u230b\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"\\\\surd\"]; // delimiters that always stack\n\nvar stackAlwaysDelimiters = [\"\\\\uparrow\", \"\\\\downarrow\", \"\\\\updownarrow\", \"\\\\Uparrow\", \"\\\\Downarrow\", \"\\\\Updownarrow\", \"|\", \"\\\\|\", \"\\\\vert\", \"\\\\Vert\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27ee\", \"\\u27ef\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23b0\", \"\\u23b1\"]; // and delimiters that never stack\n\nvar stackNeverDelimiters = [\"<\", \">\", \"\\\\langle\", \"\\\\rangle\", \"/\", \"\\\\backslash\", \"\\\\lt\", \"\\\\gt\"]; // Metrics of the different sizes. Found by looking at TeX's output of\n// $\\bigl| // \\Bigl| \\biggl| \\Biggl| \\showlists$\n// Used to create stacked delimiters of appropriate sizes in makeSizedDelim.\n\nvar sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0];\n/**\n * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4.\n */\n\nvar makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) {\n // < and > turn into \\langle and \\rangle in delimiters\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27e8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27e9\") {\n delim = \"\\\\rangle\";\n } // Sized delimiters are never centered.\n\n\n if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) {\n return makeLargeDelim(delim, size, false, options, mode, classes);\n } else if (utils.contains(stackAlwaysDelimiters, delim)) {\n return makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes);\n } else {\n throw new ParseError(\"Illegal delimiter: '\" + delim + \"'\");\n }\n};\n/**\n * There are three different sequences of delimiter sizes that the delimiters\n * follow depending on the kind of delimiter. This is used when creating custom\n * sized delimiters to decide whether to create a small, large, or stacked\n * delimiter.\n *\n * In real TeX, these sequences aren't explicitly defined, but are instead\n * defined inside the font metrics. Since there are only three sequences that\n * are possible for the delimiters that TeX defines, it is easier to just encode\n * them explicitly here.\n */\n\n\n// Delimiters that never stack try small delimiters and large delimiters only\nvar stackNeverDelimiterSequence = [{\n type: \"small\",\n style: Style$1.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: Style$1.SCRIPT\n}, {\n type: \"small\",\n style: Style$1.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}]; // Delimiters that always stack try the small delimiters first, then stack\n\nvar stackAlwaysDelimiterSequence = [{\n type: \"small\",\n style: Style$1.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: Style$1.SCRIPT\n}, {\n type: \"small\",\n style: Style$1.TEXT\n}, {\n type: \"stack\"\n}]; // Delimiters that stack when large try the small and then large delimiters, and\n// stack afterwards\n\nvar stackLargeDelimiterSequence = [{\n type: \"small\",\n style: Style$1.SCRIPTSCRIPT\n}, {\n type: \"small\",\n style: Style$1.SCRIPT\n}, {\n type: \"small\",\n style: Style$1.TEXT\n}, {\n type: \"large\",\n size: 1\n}, {\n type: \"large\",\n size: 2\n}, {\n type: \"large\",\n size: 3\n}, {\n type: \"large\",\n size: 4\n}, {\n type: \"stack\"\n}];\n/**\n * Get the font used in a delimiter based on what kind of delimiter it is.\n * TODO(#963) Use more specific font family return type once that is introduced.\n */\n\nvar delimTypeToFont = function delimTypeToFont(type) {\n if (type.type === \"small\") {\n return \"Main-Regular\";\n } else if (type.type === \"large\") {\n return \"Size\" + type.size + \"-Regular\";\n } else if (type.type === \"stack\") {\n return \"Size4-Regular\";\n } else {\n throw new Error(\"Add support for delim type '\" + type.type + \"' here.\");\n }\n};\n/**\n * Traverse a sequence of types of delimiters to decide what kind of delimiter\n * should be used to create a delimiter of the given height+depth.\n */\n\n\nvar traverseSequence = function traverseSequence(delim, height, sequence, options) {\n // Here, we choose the index we should start at in the sequences. In smaller\n // sizes (which correspond to larger numbers in style.size) we start earlier\n // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts\n // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2\n var start = Math.min(2, 3 - options.style.size);\n\n for (var i = start; i < sequence.length; i++) {\n if (sequence[i].type === \"stack\") {\n // This is always the last delimiter, so we just break the loop now.\n break;\n }\n\n var metrics = getMetrics(delim, delimTypeToFont(sequence[i]), \"math\");\n var heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we\n // account for the style change size.\n\n if (sequence[i].type === \"small\") {\n var newOptions = options.havingBaseStyle(sequence[i].style);\n heightDepth *= newOptions.sizeMultiplier;\n } // Check if the delimiter at this size works for the given height.\n\n\n if (heightDepth > height) {\n return sequence[i];\n }\n } // If we reached the end of the sequence, return the last sequence element.\n\n\n return sequence[sequence.length - 1];\n};\n/**\n * Make a delimiter of a given height+depth, with optional centering. Here, we\n * traverse the sequences, and create a delimiter that the sequence tells us to.\n */\n\n\nvar makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) {\n if (delim === \"<\" || delim === \"\\\\lt\" || delim === \"\\u27e8\") {\n delim = \"\\\\langle\";\n } else if (delim === \">\" || delim === \"\\\\gt\" || delim === \"\\u27e9\") {\n delim = \"\\\\rangle\";\n } // Decide what sequence to use\n\n\n var sequence;\n\n if (utils.contains(stackNeverDelimiters, delim)) {\n sequence = stackNeverDelimiterSequence;\n } else if (utils.contains(stackLargeDelimiters, delim)) {\n sequence = stackLargeDelimiterSequence;\n } else {\n sequence = stackAlwaysDelimiterSequence;\n } // Look through the sequence\n\n\n var delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs.\n // Depending on the sequence element we decided on, call the\n // appropriate function.\n\n if (delimType.type === \"small\") {\n return makeSmallDelim(delim, delimType.style, center, options, mode, classes);\n } else if (delimType.type === \"large\") {\n return makeLargeDelim(delim, delimType.size, center, options, mode, classes);\n } else\n /* if (delimType.type === \"stack\") */\n {\n return makeStackedDelim(delim, height, center, options, mode, classes);\n }\n};\n/**\n * Make a delimiter for use with `\\left` and `\\right`, given a height and depth\n * of an expression that the delimiters surround.\n */\n\n\nvar makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) {\n // We always center \\left/\\right delimiters, so the axis is always shifted\n var axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right\n\n var delimiterFactor = 901;\n var delimiterExtend = 5.0 / options.fontMetrics().ptPerEm;\n var maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight);\n var totalHeight = Math.max( // In real TeX, calculations are done using integral values which are\n // 65536 per pt, or 655360 per em. So, the division here truncates in\n // TeX but doesn't here, producing different results. If we wanted to\n // exactly match TeX's calculation, we could do\n // Math.floor(655360 * maxDistFromAxis / 500) *\n // delimiterFactor / 655360\n // (To see the difference, compare\n // x^{x^{\\left(\\rule{0.1em}{0.68em}\\right)}}\n // in TeX and KaTeX)\n maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total\n // height\n\n return makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes);\n};\n\nvar delimiter = {\n sqrtImage: makeSqrtImage,\n sizedDelim: makeSizedDelim,\n sizeToMaxHeight: sizeToMaxHeight,\n customSizedDelim: makeCustomSizedDelim,\n leftRightDelim: makeLeftRightDelim\n};\n\n// Extra data needed for the delimiter handler down below\nvar delimiterSizes = {\n \"\\\\bigl\": {\n mclass: \"mopen\",\n size: 1\n },\n \"\\\\Bigl\": {\n mclass: \"mopen\",\n size: 2\n },\n \"\\\\biggl\": {\n mclass: \"mopen\",\n size: 3\n },\n \"\\\\Biggl\": {\n mclass: \"mopen\",\n size: 4\n },\n \"\\\\bigr\": {\n mclass: \"mclose\",\n size: 1\n },\n \"\\\\Bigr\": {\n mclass: \"mclose\",\n size: 2\n },\n \"\\\\biggr\": {\n mclass: \"mclose\",\n size: 3\n },\n \"\\\\Biggr\": {\n mclass: \"mclose\",\n size: 4\n },\n \"\\\\bigm\": {\n mclass: \"mrel\",\n size: 1\n },\n \"\\\\Bigm\": {\n mclass: \"mrel\",\n size: 2\n },\n \"\\\\biggm\": {\n mclass: \"mrel\",\n size: 3\n },\n \"\\\\Biggm\": {\n mclass: \"mrel\",\n size: 4\n },\n \"\\\\big\": {\n mclass: \"mord\",\n size: 1\n },\n \"\\\\Big\": {\n mclass: \"mord\",\n size: 2\n },\n \"\\\\bigg\": {\n mclass: \"mord\",\n size: 3\n },\n \"\\\\Bigg\": {\n mclass: \"mord\",\n size: 4\n }\n};\nvar delimiters = [\"(\", \"\\\\lparen\", \")\", \"\\\\rparen\", \"[\", \"\\\\lbrack\", \"]\", \"\\\\rbrack\", \"\\\\{\", \"\\\\lbrace\", \"\\\\}\", \"\\\\rbrace\", \"\\\\lfloor\", \"\\\\rfloor\", \"\\u230a\", \"\\u230b\", \"\\\\lceil\", \"\\\\rceil\", \"\\u2308\", \"\\u2309\", \"<\", \">\", \"\\\\langle\", \"\\u27e8\", \"\\\\rangle\", \"\\u27e9\", \"\\\\lt\", \"\\\\gt\", \"\\\\lvert\", \"\\\\rvert\", \"\\\\lVert\", \"\\\\rVert\", \"\\\\lgroup\", \"\\\\rgroup\", \"\\u27ee\", \"\\u27ef\", \"\\\\lmoustache\", \"\\\\rmoustache\", \"\\u23b0\", \"\\u23b1\", \"/\", \"\\\\backslash\", \"|\", \"\\\\vert\", \"\\\\|\", \"\\\\Vert\", \"\\\\uparrow\", \"\\\\Uparrow\", \"\\\\downarrow\", \"\\\\Downarrow\", \"\\\\updownarrow\", \"\\\\Updownarrow\", \".\"];\n\n// Delimiter functions\nfunction checkDelimiter(delim, context) {\n var symDelim = checkSymbolNodeType(delim);\n\n if (symDelim && utils.contains(delimiters, symDelim.text)) {\n return symDelim;\n } else if (symDelim) {\n throw new ParseError(\"Invalid delimiter '\" + symDelim.text + \"' after '\" + context.funcName + \"'\", delim);\n } else {\n throw new ParseError(\"Invalid delimiter type '\" + delim.type + \"'\", delim);\n }\n}\n\ndefineFunction({\n type: \"delimsizing\",\n names: [\"\\\\bigl\", \"\\\\Bigl\", \"\\\\biggl\", \"\\\\Biggl\", \"\\\\bigr\", \"\\\\Bigr\", \"\\\\biggr\", \"\\\\Biggr\", \"\\\\bigm\", \"\\\\Bigm\", \"\\\\biggm\", \"\\\\Biggm\", \"\\\\big\", \"\\\\Big\", \"\\\\bigg\", \"\\\\Bigg\"],\n props: {\n numArgs: 1,\n argTypes: [\"primitive\"]\n },\n handler: (context, args) => {\n var delim = checkDelimiter(args[0], context);\n return {\n type: \"delimsizing\",\n mode: context.parser.mode,\n size: delimiterSizes[context.funcName].size,\n mclass: delimiterSizes[context.funcName].mclass,\n delim: delim.text\n };\n },\n htmlBuilder: (group, options) => {\n if (group.delim === \".\") {\n // Empty delimiters still count as elements, even though they don't\n // show anything.\n return buildCommon.makeSpan([group.mclass]);\n } // Use delimiter.sizedDelim to generate the delimiter.\n\n\n return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]);\n },\n mathmlBuilder: group => {\n var children = [];\n\n if (group.delim !== \".\") {\n children.push(makeText(group.delim, group.mode));\n }\n\n var node = new mathMLTree.MathNode(\"mo\", children);\n\n if (group.mclass === \"mopen\" || group.mclass === \"mclose\") {\n // Only some of the delimsizing functions act as fences, and they\n // return \"mopen\" or \"mclose\" mclass.\n node.setAttribute(\"fence\", \"true\");\n } else {\n // Explicitly disable fencing if it's not a fence, to override the\n // defaults.\n node.setAttribute(\"fence\", \"false\");\n }\n\n node.setAttribute(\"stretchy\", \"true\");\n var size = makeEm(delimiter.sizeToMaxHeight[group.size]);\n node.setAttribute(\"minsize\", size);\n node.setAttribute(\"maxsize\", size);\n return node;\n }\n});\n\nfunction assertParsed(group) {\n if (!group.body) {\n throw new Error(\"Bug: The leftright ParseNode wasn't fully parsed.\");\n }\n}\n\ndefineFunction({\n type: \"leftright-right\",\n names: [\"\\\\right\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n // \\left case below triggers parsing of \\right in\n // `const right = parser.parseFunction();`\n // uses this return value.\n var color = context.parser.gullet.macros.get(\"\\\\current@color\");\n\n if (color && typeof color !== \"string\") {\n throw new ParseError(\"\\\\current@color set to non-string in \\\\right\");\n }\n\n return {\n type: \"leftright-right\",\n mode: context.parser.mode,\n delim: checkDelimiter(args[0], context).text,\n color // undefined if not set via \\color\n\n };\n }\n});\ndefineFunction({\n type: \"leftright\",\n names: [\"\\\\left\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n var delim = checkDelimiter(args[0], context);\n var parser = context.parser; // Parse out the implicit body\n\n ++parser.leftrightDepth; // parseExpression stops before '\\\\right'\n\n var body = parser.parseExpression(false);\n --parser.leftrightDepth; // Check the next token\n\n parser.expect(\"\\\\right\", false);\n var right = assertNodeType(parser.parseFunction(), \"leftright-right\");\n return {\n type: \"leftright\",\n mode: parser.mode,\n body,\n left: delim.text,\n right: right.delim,\n rightColor: right.color\n };\n },\n htmlBuilder: (group, options) => {\n assertParsed(group); // Build the inner expression\n\n var inner = buildExpression$1(group.body, options, true, [\"mopen\", \"mclose\"]);\n var innerHeight = 0;\n var innerDepth = 0;\n var hadMiddle = false; // Calculate its height and depth\n\n for (var i = 0; i < inner.length; i++) {\n // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n if (inner[i].isMiddle) {\n hadMiddle = true;\n } else {\n innerHeight = Math.max(inner[i].height, innerHeight);\n innerDepth = Math.max(inner[i].depth, innerDepth);\n }\n } // The size of delimiters is the same, regardless of what style we are\n // in. Thus, to correctly calculate the size of delimiter we need around\n // a group, we scale down the inner size based on the size.\n\n\n innerHeight *= options.sizeMultiplier;\n innerDepth *= options.sizeMultiplier;\n var leftDelim;\n\n if (group.left === \".\") {\n // Empty delimiters in \\left and \\right make null delimiter spaces.\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n // Otherwise, use leftRightDelim to generate the correct sized\n // delimiter.\n leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, [\"mopen\"]);\n } // Add it to the beginning of the expression\n\n\n inner.unshift(leftDelim); // Handle middle delimiters\n\n if (hadMiddle) {\n for (var _i = 1; _i < inner.length; _i++) {\n var middleDelim = inner[_i]; // Property `isMiddle` not defined on `span`. See comment in\n // \"middle\"'s htmlBuilder.\n // $FlowFixMe\n\n var isMiddle = middleDelim.isMiddle;\n\n if (isMiddle) {\n // Apply the options that were active when \\middle was called\n inner[_i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []);\n }\n }\n }\n\n var rightDelim; // Same for the right delimiter, but using color specified by \\color\n\n if (group.right === \".\") {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n var colorOptions = group.rightColor ? options.withColor(group.rightColor) : options;\n rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, [\"mclose\"]);\n } // Add it to the end of the expression.\n\n\n inner.push(rightDelim);\n return buildCommon.makeSpan([\"minner\"], inner, options);\n },\n mathmlBuilder: (group, options) => {\n assertParsed(group);\n var inner = buildExpression(group.body, options);\n\n if (group.left !== \".\") {\n var leftNode = new mathMLTree.MathNode(\"mo\", [makeText(group.left, group.mode)]);\n leftNode.setAttribute(\"fence\", \"true\");\n inner.unshift(leftNode);\n }\n\n if (group.right !== \".\") {\n var rightNode = new mathMLTree.MathNode(\"mo\", [makeText(group.right, group.mode)]);\n rightNode.setAttribute(\"fence\", \"true\");\n\n if (group.rightColor) {\n rightNode.setAttribute(\"mathcolor\", group.rightColor);\n }\n\n inner.push(rightNode);\n }\n\n return makeRow(inner);\n }\n});\ndefineFunction({\n type: \"middle\",\n names: [\"\\\\middle\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (context, args) => {\n var delim = checkDelimiter(args[0], context);\n\n if (!context.parser.leftrightDepth) {\n throw new ParseError(\"\\\\middle without preceding \\\\left\", delim);\n }\n\n return {\n type: \"middle\",\n mode: context.parser.mode,\n delim: delim.text\n };\n },\n htmlBuilder: (group, options) => {\n var middleDelim;\n\n if (group.delim === \".\") {\n middleDelim = makeNullDelimiter(options, []);\n } else {\n middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []);\n var isMiddle = {\n delim: group.delim,\n options\n }; // Property `isMiddle` not defined on `span`. It is only used in\n // this file above.\n // TODO: Fix this violation of the `span` type and possibly rename\n // things since `isMiddle` sounds like a boolean, but is a struct.\n // $FlowFixMe\n\n middleDelim.isMiddle = isMiddle;\n }\n\n return middleDelim;\n },\n mathmlBuilder: (group, options) => {\n // A Firefox \\middle will stretch a character vertically only if it\n // is in the fence part of the operator dictionary at:\n // https://www.w3.org/TR/MathML3/appendixc.html.\n // So we need to avoid U+2223 and use plain \"|\" instead.\n var textNode = group.delim === \"\\\\vert\" || group.delim === \"|\" ? makeText(\"|\", \"text\") : makeText(group.delim, group.mode);\n var middleNode = new mathMLTree.MathNode(\"mo\", [textNode]);\n middleNode.setAttribute(\"fence\", \"true\"); // MathML gives 5/18em spacing to each <mo> element.\n // \\middle should get delimiter spacing instead.\n\n middleNode.setAttribute(\"lspace\", \"0.05em\");\n middleNode.setAttribute(\"rspace\", \"0.05em\");\n return middleNode;\n }\n});\n\nvar htmlBuilder$7 = (group, options) => {\n // \\cancel, \\bcancel, \\xcancel, \\sout, \\fbox, \\colorbox, \\fcolorbox, \\phase\n // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n var inner = buildCommon.wrapFragment(buildGroup$1(group.body, options), options);\n var label = group.label.slice(1);\n var scale = options.sizeMultiplier;\n var img;\n var imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different\n // depending on whether the subject is wider than it is tall, or vice versa.\n // We don't know the width of a group, so as a proxy, we test if\n // the subject is a single character. This captures most of the\n // subjects that should get the \"tall\" treatment.\n\n var isSingleChar = utils.isCharacterBox(group.body);\n\n if (label === \"sout\") {\n img = buildCommon.makeSpan([\"stretchy\", \"sout\"]);\n img.height = options.fontMetrics().defaultRuleThickness / scale;\n imgShift = -0.5 * options.fontMetrics().xHeight;\n } else if (label === \"phase\") {\n // Set a couple of dimensions from the steinmetz package.\n var lineWeight = calculateSize({\n number: 0.6,\n unit: \"pt\"\n }, options);\n var clearance = calculateSize({\n number: 0.35,\n unit: \"ex\"\n }, options); // Prevent size changes like \\Huge from affecting line thickness\n\n var newOptions = options.havingBaseSizing();\n scale = scale / newOptions.sizeMultiplier;\n var angleHeight = inner.height + inner.depth + lineWeight + clearance; // Reserve a left pad for the angle.\n\n inner.style.paddingLeft = makeEm(angleHeight / 2 + lineWeight); // Create an SVG\n\n var viewBoxHeight = Math.floor(1000 * angleHeight * scale);\n var path = phasePath(viewBoxHeight);\n var svgNode = new SvgNode([new PathNode(\"phase\", path)], {\n \"width\": \"400em\",\n \"height\": makeEm(viewBoxHeight / 1000),\n \"viewBox\": \"0 0 400000 \" + viewBoxHeight,\n \"preserveAspectRatio\": \"xMinYMin slice\"\n }); // Wrap it in a span with overflow: hidden.\n\n img = buildCommon.makeSvgSpan([\"hide-tail\"], [svgNode], options);\n img.style.height = makeEm(angleHeight);\n imgShift = inner.depth + lineWeight + clearance;\n } else {\n // Add horizontal padding\n if (/cancel/.test(label)) {\n if (!isSingleChar) {\n inner.classes.push(\"cancel-pad\");\n }\n } else if (label === \"angl\") {\n inner.classes.push(\"anglpad\");\n } else {\n inner.classes.push(\"boxpad\");\n } // Add vertical padding\n\n\n var topPad = 0;\n var bottomPad = 0;\n var ruleThickness = 0; // ref: cancel package: \\advance\\totalheight2\\p@ % \"+2\"\n\n if (/box/.test(label)) {\n ruleThickness = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // User override.\n );\n topPad = options.fontMetrics().fboxsep + (label === \"colorbox\" ? 0 : ruleThickness);\n bottomPad = topPad;\n } else if (label === \"angl\") {\n ruleThickness = Math.max(options.fontMetrics().defaultRuleThickness, options.minRuleThickness);\n topPad = 4 * ruleThickness; // gap = 3 × line, plus the line itself.\n\n bottomPad = Math.max(0, 0.25 - inner.depth);\n } else {\n topPad = isSingleChar ? 0.2 : 0;\n bottomPad = topPad;\n }\n\n img = stretchy.encloseSpan(inner, label, topPad, bottomPad, options);\n\n if (/fbox|boxed|fcolorbox/.test(label)) {\n img.style.borderStyle = \"solid\";\n img.style.borderWidth = makeEm(ruleThickness);\n } else if (label === \"angl\" && ruleThickness !== 0.049) {\n img.style.borderTopWidth = makeEm(ruleThickness);\n img.style.borderRightWidth = makeEm(ruleThickness);\n }\n\n imgShift = inner.depth + bottomPad;\n\n if (group.backgroundColor) {\n img.style.backgroundColor = group.backgroundColor;\n\n if (group.borderColor) {\n img.style.borderColor = group.borderColor;\n }\n }\n }\n\n var vlist;\n\n if (group.backgroundColor) {\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Put the color background behind inner;\n {\n type: \"elem\",\n elem: img,\n shift: imgShift\n }, {\n type: \"elem\",\n elem: inner,\n shift: 0\n }]\n }, options);\n } else {\n var classes = /cancel|phase/.test(label) ? [\"svg-align\"] : [];\n vlist = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [// Write the \\cancel stroke on top of inner.\n {\n type: \"elem\",\n elem: inner,\n shift: 0\n }, {\n type: \"elem\",\n elem: img,\n shift: imgShift,\n wrapperClasses: classes\n }]\n }, options);\n }\n\n if (/cancel/.test(label)) {\n // The cancel package documentation says that cancel lines add their height\n // to the expression, but tests show that isn't how it actually works.\n vlist.height = inner.height;\n vlist.depth = inner.depth;\n }\n\n if (/cancel/.test(label) && !isSingleChar) {\n // cancel does not create horiz space for its line extension.\n return buildCommon.makeSpan([\"mord\", \"cancel-lap\"], [vlist], options);\n } else {\n return buildCommon.makeSpan([\"mord\"], [vlist], options);\n }\n};\n\nvar mathmlBuilder$6 = (group, options) => {\n var fboxsep = 0;\n var node = new mathMLTree.MathNode(group.label.indexOf(\"colorbox\") > -1 ? \"mpadded\" : \"menclose\", [buildGroup(group.body, options)]);\n\n switch (group.label) {\n case \"\\\\cancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike\");\n break;\n\n case \"\\\\bcancel\":\n node.setAttribute(\"notation\", \"downdiagonalstrike\");\n break;\n\n case \"\\\\phase\":\n node.setAttribute(\"notation\", \"phasorangle\");\n break;\n\n case \"\\\\sout\":\n node.setAttribute(\"notation\", \"horizontalstrike\");\n break;\n\n case \"\\\\fbox\":\n node.setAttribute(\"notation\", \"box\");\n break;\n\n case \"\\\\angl\":\n node.setAttribute(\"notation\", \"actuarial\");\n break;\n\n case \"\\\\fcolorbox\":\n case \"\\\\colorbox\":\n // <menclose> doesn't have a good notation option. So use <mpadded>\n // instead. Set some attributes that come included with <menclose>.\n fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm;\n node.setAttribute(\"width\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"height\", \"+\" + 2 * fboxsep + \"pt\");\n node.setAttribute(\"lspace\", fboxsep + \"pt\"); //\n\n node.setAttribute(\"voffset\", fboxsep + \"pt\");\n\n if (group.label === \"\\\\fcolorbox\") {\n var thk = Math.max(options.fontMetrics().fboxrule, // default\n options.minRuleThickness // user override\n );\n node.setAttribute(\"style\", \"border: \" + thk + \"em solid \" + String(group.borderColor));\n }\n\n break;\n\n case \"\\\\xcancel\":\n node.setAttribute(\"notation\", \"updiagonalstrike downdiagonalstrike\");\n break;\n }\n\n if (group.backgroundColor) {\n node.setAttribute(\"mathbackground\", group.backgroundColor);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\colorbox\"],\n props: {\n numArgs: 2,\n allowedInText: true,\n argTypes: [\"color\", \"text\"]\n },\n\n handler(_ref, args, optArgs) {\n var {\n parser,\n funcName\n } = _ref;\n var color = assertNodeType(args[0], \"color-token\").color;\n var body = args[1];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor: color,\n body\n };\n },\n\n htmlBuilder: htmlBuilder$7,\n mathmlBuilder: mathmlBuilder$6\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fcolorbox\"],\n props: {\n numArgs: 3,\n allowedInText: true,\n argTypes: [\"color\", \"color\", \"text\"]\n },\n\n handler(_ref2, args, optArgs) {\n var {\n parser,\n funcName\n } = _ref2;\n var borderColor = assertNodeType(args[0], \"color-token\").color;\n var backgroundColor = assertNodeType(args[1], \"color-token\").color;\n var body = args[2];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n backgroundColor,\n borderColor,\n body\n };\n },\n\n htmlBuilder: htmlBuilder$7,\n mathmlBuilder: mathmlBuilder$6\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\fbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: true\n },\n\n handler(_ref3, args) {\n var {\n parser\n } = _ref3;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\fbox\",\n body: args[0]\n };\n }\n\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\cancel\", \"\\\\bcancel\", \"\\\\xcancel\", \"\\\\sout\", \"\\\\phase\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref4, args) {\n var {\n parser,\n funcName\n } = _ref4;\n var body = args[0];\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: funcName,\n body\n };\n },\n\n htmlBuilder: htmlBuilder$7,\n mathmlBuilder: mathmlBuilder$6\n});\ndefineFunction({\n type: \"enclose\",\n names: [\"\\\\angl\"],\n props: {\n numArgs: 1,\n argTypes: [\"hbox\"],\n allowedInText: false\n },\n\n handler(_ref5, args) {\n var {\n parser\n } = _ref5;\n return {\n type: \"enclose\",\n mode: parser.mode,\n label: \"\\\\angl\",\n body: args[0]\n };\n }\n\n});\n\n/**\n * All registered environments.\n * `environments.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `environments.js`.\n */\nvar _environments = {};\nfunction defineEnvironment(_ref) {\n var {\n type,\n names,\n props,\n handler,\n htmlBuilder,\n mathmlBuilder\n } = _ref;\n // Set default values of environments.\n var data = {\n type,\n numArgs: props.numArgs || 0,\n allowedInText: false,\n numOptionalArgs: 0,\n handler\n };\n\n for (var i = 0; i < names.length; ++i) {\n // TODO: The value type of _environments should be a type union of all\n // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is\n // an existential type.\n _environments[names[i]] = data;\n }\n\n if (htmlBuilder) {\n _htmlGroupBuilders[type] = htmlBuilder;\n }\n\n if (mathmlBuilder) {\n _mathmlGroupBuilders[type] = mathmlBuilder;\n }\n}\n\n/**\n * All registered global/built-in macros.\n * `macros.js` exports this same dictionary again and makes it public.\n * `Parser.js` requires this dictionary via `macros.js`.\n */\nvar _macros = {}; // This function might one day accept an additional argument and do more things.\n\nfunction defineMacro(name, body) {\n _macros[name] = body;\n}\n\n// Helper functions\nfunction getHLines(parser) {\n // Return an array. The array length = number of hlines.\n // Each element in the array tells if the line is dashed.\n var hlineInfo = [];\n parser.consumeSpaces();\n var nxt = parser.fetch().text;\n\n if (nxt === \"\\\\relax\") {\n // \\relax is an artifact of the \\cr macro below\n parser.consume();\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n while (nxt === \"\\\\hline\" || nxt === \"\\\\hdashline\") {\n parser.consume();\n hlineInfo.push(nxt === \"\\\\hdashline\");\n parser.consumeSpaces();\n nxt = parser.fetch().text;\n }\n\n return hlineInfo;\n}\n\nvar validateAmsEnvironmentContext = context => {\n var settings = context.parser.settings;\n\n if (!settings.displayMode) {\n throw new ParseError(\"{\" + context.envName + \"} can be used only in\" + \" display mode.\");\n }\n}; // autoTag (an argument to parseArray) can be one of three values:\n// * undefined: Regular (not-top-level) array; no tags on each row\n// * true: Automatic equation numbering, overridable by \\tag\n// * false: Tags allowed on each row, but no automatic numbering\n// This function *doesn't* work with the \"split\" environment name.\n\n\nfunction getAutoTag(name) {\n if (name.indexOf(\"ed\") === -1) {\n return name.indexOf(\"*\") === -1;\n } // return undefined;\n\n}\n/**\n * Parse the body of the environment, with rows delimited by \\\\ and\n * columns delimited by &, and create a nested list in row-major order\n * with one group per cell. If given an optional argument style\n * (\"text\", \"display\", etc.), then each cell is cast into that style.\n */\n\n\nfunction parseArray(parser, _ref, style) {\n var {\n hskipBeforeAndAfter,\n addJot,\n cols,\n arraystretch,\n colSeparationType,\n autoTag,\n singleRow,\n emptySingleRow,\n maxNumCols,\n leqno\n } = _ref;\n parser.gullet.beginGroup();\n\n if (!singleRow) {\n // \\cr is equivalent to \\\\ without the optional size argument (see below)\n // TODO: provide helpful error when \\cr is used outside array environment\n parser.gullet.macros.set(\"\\\\cr\", \"\\\\\\\\\\\\relax\");\n } // Get current arraystretch if it's not set by the environment\n\n\n if (!arraystretch) {\n var stretch = parser.gullet.expandMacroAsText(\"\\\\arraystretch\");\n\n if (stretch == null) {\n // Default \\arraystretch from lttab.dtx\n arraystretch = 1;\n } else {\n arraystretch = parseFloat(stretch);\n\n if (!arraystretch || arraystretch < 0) {\n throw new ParseError(\"Invalid \\\\arraystretch: \" + stretch);\n }\n }\n } // Start group for first cell\n\n\n parser.gullet.beginGroup();\n var row = [];\n var body = [row];\n var rowGaps = [];\n var hLinesBeforeRow = [];\n var tags = autoTag != null ? [] : undefined; // amsmath uses \\global\\@eqnswtrue and \\global\\@eqnswfalse to represent\n // whether this row should have an equation number. Simulate this with\n // a \\@eqnsw macro set to 1 or 0.\n\n function beginRow() {\n if (autoTag) {\n parser.gullet.macros.set(\"\\\\@eqnsw\", \"1\", true);\n }\n }\n\n function endRow() {\n if (tags) {\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n tags.push(parser.subparse([new Token(\"\\\\df@tag\")]));\n parser.gullet.macros.set(\"\\\\df@tag\", undefined, true);\n } else {\n tags.push(Boolean(autoTag) && parser.gullet.macros.get(\"\\\\@eqnsw\") === \"1\");\n }\n }\n }\n\n beginRow(); // Test for \\hline at the top of the array.\n\n hLinesBeforeRow.push(getHLines(parser));\n\n while (true) {\n // eslint-disable-line no-constant-condition\n // Parse each cell in its own group (namespace)\n var cell = parser.parseExpression(false, singleRow ? \"\\\\end\" : \"\\\\\\\\\");\n parser.gullet.endGroup();\n parser.gullet.beginGroup();\n cell = {\n type: \"ordgroup\",\n mode: parser.mode,\n body: cell\n };\n\n if (style) {\n cell = {\n type: \"styling\",\n mode: parser.mode,\n style,\n body: [cell]\n };\n }\n\n row.push(cell);\n var next = parser.fetch().text;\n\n if (next === \"&\") {\n if (maxNumCols && row.length === maxNumCols) {\n if (singleRow || colSeparationType) {\n // {equation} or {split}\n throw new ParseError(\"Too many tab characters: &\", parser.nextToken);\n } else {\n // {array} environment\n parser.settings.reportNonstrict(\"textEnv\", \"Too few columns \" + \"specified in the {array} column argument.\");\n }\n }\n\n parser.consume();\n } else if (next === \"\\\\end\") {\n endRow(); // Arrays terminate newlines with `\\crcr` which consumes a `\\cr` if\n // the last line is empty. However, AMS environments keep the\n // empty row if it's the only one.\n // NOTE: Currently, `cell` is the last item added into `row`.\n\n if (row.length === 1 && cell.type === \"styling\" && cell.body[0].body.length === 0 && (body.length > 1 || !emptySingleRow)) {\n body.pop();\n }\n\n if (hLinesBeforeRow.length < body.length + 1) {\n hLinesBeforeRow.push([]);\n }\n\n break;\n } else if (next === \"\\\\\\\\\") {\n parser.consume();\n var size = void 0; // \\def\\Let@{\\let\\\\\\math@cr}\n // \\def\\math@cr{...\\math@cr@}\n // \\def\\math@cr@{\\new@ifnextchar[\\math@cr@@{\\math@cr@@[\\z@]}}\n // \\def\\math@cr@@[#1]{...\\math@cr@@@...}\n // \\def\\math@cr@@@{\\cr}\n\n if (parser.gullet.future().text !== \" \") {\n size = parser.parseSizeGroup(true);\n }\n\n rowGaps.push(size ? size.value : null);\n endRow(); // check for \\hline(s) following the row separator\n\n hLinesBeforeRow.push(getHLines(parser));\n row = [];\n body.push(row);\n beginRow();\n } else {\n throw new ParseError(\"Expected & or \\\\\\\\ or \\\\cr or \\\\end\", parser.nextToken);\n }\n } // End cell group\n\n\n parser.gullet.endGroup(); // End array group defining \\cr\n\n parser.gullet.endGroup();\n return {\n type: \"array\",\n mode: parser.mode,\n addJot,\n arraystretch,\n body,\n cols,\n rowGaps,\n hskipBeforeAndAfter,\n hLinesBeforeRow,\n colSeparationType,\n tags,\n leqno\n };\n} // Decides on a style for cells in an array according to whether the given\n// environment name starts with the letter 'd'.\n\n\nfunction dCellStyle(envName) {\n if (envName.slice(0, 1) === \"d\") {\n return \"display\";\n } else {\n return \"text\";\n }\n}\n\nvar htmlBuilder$6 = function htmlBuilder(group, options) {\n var r;\n var c;\n var nr = group.body.length;\n var hLinesBeforeRow = group.hLinesBeforeRow;\n var nc = 0;\n var body = new Array(nr);\n var hlines = [];\n var ruleThickness = Math.max( // From LaTeX \\showthe\\arrayrulewidth. Equals 0.04 em.\n options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override.\n ); // Horizontal spacing\n\n var pt = 1 / options.fontMetrics().ptPerEm;\n var arraycolsep = 5 * pt; // default value, i.e. \\arraycolsep in article.cls\n\n if (group.colSeparationType && group.colSeparationType === \"small\") {\n // We're in a {smallmatrix}. Default column space is \\thickspace,\n // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}.\n // But that needs adjustment because LaTeX applies \\scriptstyle to the\n // entire array, including the colspace, but this function applies\n // \\scriptstyle only inside each element.\n var localMultiplier = options.havingStyle(Style$1.SCRIPT).sizeMultiplier;\n arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier);\n } // Vertical spacing\n\n\n var baselineskip = group.colSeparationType === \"CD\" ? calculateSize({\n number: 3,\n unit: \"ex\"\n }, options) : 12 * pt; // see size10.clo\n // Default \\jot from ltmath.dtx\n // TODO(edemaine): allow overriding \\jot via \\setlength (#687)\n\n var jot = 3 * pt;\n var arrayskip = group.arraystretch * baselineskip;\n var arstrutHeight = 0.7 * arrayskip; // \\strutbox in ltfsstrc.dtx and\n\n var arstrutDepth = 0.3 * arrayskip; // \\@arstrutbox in lttab.dtx\n\n var totalHeight = 0; // Set a position for \\hline(s) at the top of the array, if any.\n\n function setHLinePos(hlinesInGap) {\n for (var i = 0; i < hlinesInGap.length; ++i) {\n if (i > 0) {\n totalHeight += 0.25;\n }\n\n hlines.push({\n pos: totalHeight,\n isDashed: hlinesInGap[i]\n });\n }\n }\n\n setHLinePos(hLinesBeforeRow[0]);\n\n for (r = 0; r < group.body.length; ++r) {\n var inrow = group.body[r];\n var height = arstrutHeight; // \\@array adds an \\@arstrut\n\n var depth = arstrutDepth; // to each tow (via the template)\n\n if (nc < inrow.length) {\n nc = inrow.length;\n }\n\n var outrow = new Array(inrow.length);\n\n for (c = 0; c < inrow.length; ++c) {\n var elt = buildGroup$1(inrow[c], options);\n\n if (depth < elt.depth) {\n depth = elt.depth;\n }\n\n if (height < elt.height) {\n height = elt.height;\n }\n\n outrow[c] = elt;\n }\n\n var rowGap = group.rowGaps[r];\n var gap = 0;\n\n if (rowGap) {\n gap = calculateSize(rowGap, options);\n\n if (gap > 0) {\n // \\@argarraycr\n gap += arstrutDepth;\n\n if (depth < gap) {\n depth = gap; // \\@xargarraycr\n }\n\n gap = 0;\n }\n } // In AMS multiline environments such as aligned and gathered, rows\n // correspond to lines that have additional \\jot added to the\n // \\baselineskip via \\openup.\n\n\n if (group.addJot) {\n depth += jot;\n }\n\n outrow.height = height;\n outrow.depth = depth;\n totalHeight += height;\n outrow.pos = totalHeight;\n totalHeight += depth + gap; // \\@yargarraycr\n\n body[r] = outrow; // Set a position for \\hline(s), if any.\n\n setHLinePos(hLinesBeforeRow[r + 1]);\n }\n\n var offset = totalHeight / 2 + options.fontMetrics().axisHeight;\n var colDescriptions = group.cols || [];\n var cols = [];\n var colSep;\n var colDescrNum;\n var tagSpans = [];\n\n if (group.tags && group.tags.some(tag => tag)) {\n // An environment with manual tags and/or automatic equation numbers.\n // Create node(s), the latter of which trigger CSS counter increment.\n for (r = 0; r < nr; ++r) {\n var rw = body[r];\n var shift = rw.pos - offset;\n var tag = group.tags[r];\n var tagSpan = void 0;\n\n if (tag === true) {\n // automatic numbering\n tagSpan = buildCommon.makeSpan([\"eqn-num\"], [], options);\n } else if (tag === false) {\n // \\nonumber/\\notag or starred environment\n tagSpan = buildCommon.makeSpan([], [], options);\n } else {\n // manual \\tag\n tagSpan = buildCommon.makeSpan([], buildExpression$1(tag, options, true), options);\n }\n\n tagSpan.depth = rw.depth;\n tagSpan.height = rw.height;\n tagSpans.push({\n type: \"elem\",\n elem: tagSpan,\n shift\n });\n }\n }\n\n for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column\n // descriptions, so trailing separators don't get lost.\n c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) {\n var colDescr = colDescriptions[colDescrNum] || {};\n var firstSeparator = true;\n\n while (colDescr.type === \"separator\") {\n // If there is more than one separator in a row, add a space\n // between them.\n if (!firstSeparator) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(options.fontMetrics().doubleRuleSep);\n cols.push(colSep);\n }\n\n if (colDescr.separator === \"|\" || colDescr.separator === \":\") {\n var lineType = colDescr.separator === \"|\" ? \"solid\" : \"dashed\";\n var separator = buildCommon.makeSpan([\"vertical-separator\"], [], options);\n separator.style.height = makeEm(totalHeight);\n separator.style.borderRightWidth = makeEm(ruleThickness);\n separator.style.borderRightStyle = lineType;\n separator.style.margin = \"0 \" + makeEm(-ruleThickness / 2);\n\n var _shift = totalHeight - offset;\n\n if (_shift) {\n separator.style.verticalAlign = makeEm(-_shift);\n }\n\n cols.push(separator);\n } else {\n throw new ParseError(\"Invalid separator type: \" + colDescr.separator);\n }\n\n colDescrNum++;\n colDescr = colDescriptions[colDescrNum] || {};\n firstSeparator = false;\n }\n\n if (c >= nc) {\n continue;\n }\n\n var sepwidth = void 0;\n\n if (c > 0 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.pregap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n\n var col = [];\n\n for (r = 0; r < nr; ++r) {\n var row = body[r];\n var elem = row[c];\n\n if (!elem) {\n continue;\n }\n\n var _shift2 = row.pos - offset;\n\n elem.depth = row.depth;\n elem.height = row.height;\n col.push({\n type: \"elem\",\n elem: elem,\n shift: _shift2\n });\n }\n\n col = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: col\n }, options);\n col = buildCommon.makeSpan([\"col-align-\" + (colDescr.align || \"c\")], [col]);\n cols.push(col);\n\n if (c < nc - 1 || group.hskipBeforeAndAfter) {\n sepwidth = utils.deflt(colDescr.postgap, arraycolsep);\n\n if (sepwidth !== 0) {\n colSep = buildCommon.makeSpan([\"arraycolsep\"], []);\n colSep.style.width = makeEm(sepwidth);\n cols.push(colSep);\n }\n }\n }\n\n body = buildCommon.makeSpan([\"mtable\"], cols); // Add \\hline(s), if any.\n\n if (hlines.length > 0) {\n var line = buildCommon.makeLineSpan(\"hline\", options, ruleThickness);\n var dashes = buildCommon.makeLineSpan(\"hdashline\", options, ruleThickness);\n var vListElems = [{\n type: \"elem\",\n elem: body,\n shift: 0\n }];\n\n while (hlines.length > 0) {\n var hline = hlines.pop();\n var lineShift = hline.pos - offset;\n\n if (hline.isDashed) {\n vListElems.push({\n type: \"elem\",\n elem: dashes,\n shift: lineShift\n });\n } else {\n vListElems.push({\n type: \"elem\",\n elem: line,\n shift: lineShift\n });\n }\n }\n\n body = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vListElems\n }, options);\n }\n\n if (tagSpans.length === 0) {\n return buildCommon.makeSpan([\"mord\"], [body], options);\n } else {\n var eqnNumCol = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: tagSpans\n }, options);\n eqnNumCol = buildCommon.makeSpan([\"tag\"], [eqnNumCol], options);\n return buildCommon.makeFragment([body, eqnNumCol]);\n }\n};\n\nvar alignMap = {\n c: \"center \",\n l: \"left \",\n r: \"right \"\n};\n\nvar mathmlBuilder$5 = function mathmlBuilder(group, options) {\n var tbl = [];\n var glue = new mathMLTree.MathNode(\"mtd\", [], [\"mtr-glue\"]);\n var tag = new mathMLTree.MathNode(\"mtd\", [], [\"mml-eqn-num\"]);\n\n for (var i = 0; i < group.body.length; i++) {\n var rw = group.body[i];\n var row = [];\n\n for (var j = 0; j < rw.length; j++) {\n row.push(new mathMLTree.MathNode(\"mtd\", [buildGroup(rw[j], options)]));\n }\n\n if (group.tags && group.tags[i]) {\n row.unshift(glue);\n row.push(glue);\n\n if (group.leqno) {\n row.unshift(tag);\n } else {\n row.push(tag);\n }\n }\n\n tbl.push(new mathMLTree.MathNode(\"mtr\", row));\n }\n\n var table = new mathMLTree.MathNode(\"mtable\", tbl); // Set column alignment, row spacing, column spacing, and\n // array lines by setting attributes on the table element.\n // Set the row spacing. In MathML, we specify a gap distance.\n // We do not use rowGap[] because MathML automatically increases\n // cell height with the height/depth of the element content.\n // LaTeX \\arraystretch multiplies the row baseline-to-baseline distance.\n // We simulate this by adding (arraystretch - 1)em to the gap. This\n // does a reasonable job of adjusting arrays containing 1 em tall content.\n // The 0.16 and 0.09 values are found empirically. They produce an array\n // similar to LaTeX and in which content does not interfere with \\hlines.\n\n var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray}\n : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0);\n table.setAttribute(\"rowspacing\", makeEm(gap)); // MathML table lines go only between cells.\n // To place a line on an edge we'll use <menclose>, if necessary.\n\n var menclose = \"\";\n var align = \"\";\n\n if (group.cols && group.cols.length > 0) {\n // Find column alignment, column spacing, and vertical lines.\n var cols = group.cols;\n var columnLines = \"\";\n var prevTypeWasAlign = false;\n var iStart = 0;\n var iEnd = cols.length;\n\n if (cols[0].type === \"separator\") {\n menclose += \"top \";\n iStart = 1;\n }\n\n if (cols[cols.length - 1].type === \"separator\") {\n menclose += \"bottom \";\n iEnd -= 1;\n }\n\n for (var _i = iStart; _i < iEnd; _i++) {\n if (cols[_i].type === \"align\") {\n align += alignMap[cols[_i].align];\n\n if (prevTypeWasAlign) {\n columnLines += \"none \";\n }\n\n prevTypeWasAlign = true;\n } else if (cols[_i].type === \"separator\") {\n // MathML accepts only single lines between cells.\n // So we read only the first of consecutive separators.\n if (prevTypeWasAlign) {\n columnLines += cols[_i].separator === \"|\" ? \"solid \" : \"dashed \";\n prevTypeWasAlign = false;\n }\n }\n }\n\n table.setAttribute(\"columnalign\", align.trim());\n\n if (/[sd]/.test(columnLines)) {\n table.setAttribute(\"columnlines\", columnLines.trim());\n }\n } // Set column spacing.\n\n\n if (group.colSeparationType === \"align\") {\n var _cols = group.cols || [];\n\n var spacing = \"\";\n\n for (var _i2 = 1; _i2 < _cols.length; _i2++) {\n spacing += _i2 % 2 ? \"0em \" : \"1em \";\n }\n\n table.setAttribute(\"columnspacing\", spacing.trim());\n } else if (group.colSeparationType === \"alignat\" || group.colSeparationType === \"gather\") {\n table.setAttribute(\"columnspacing\", \"0em\");\n } else if (group.colSeparationType === \"small\") {\n table.setAttribute(\"columnspacing\", \"0.2778em\");\n } else if (group.colSeparationType === \"CD\") {\n table.setAttribute(\"columnspacing\", \"0.5em\");\n } else {\n table.setAttribute(\"columnspacing\", \"1em\");\n } // Address \\hline and \\hdashline\n\n\n var rowLines = \"\";\n var hlines = group.hLinesBeforeRow;\n menclose += hlines[0].length > 0 ? \"left \" : \"\";\n menclose += hlines[hlines.length - 1].length > 0 ? \"right \" : \"\";\n\n for (var _i3 = 1; _i3 < hlines.length - 1; _i3++) {\n rowLines += hlines[_i3].length === 0 ? \"none \" // MathML accepts only a single line between rows. Read one element.\n : hlines[_i3][0] ? \"dashed \" : \"solid \";\n }\n\n if (/[sd]/.test(rowLines)) {\n table.setAttribute(\"rowlines\", rowLines.trim());\n }\n\n if (menclose !== \"\") {\n table = new mathMLTree.MathNode(\"menclose\", [table]);\n table.setAttribute(\"notation\", menclose.trim());\n }\n\n if (group.arraystretch && group.arraystretch < 1) {\n // A small array. Wrap in scriptstyle so row gap is not too large.\n table = new mathMLTree.MathNode(\"mstyle\", [table]);\n table.setAttribute(\"scriptlevel\", \"1\");\n }\n\n return table;\n}; // Convenience function for align, align*, aligned, alignat, alignat*, alignedat.\n\n\nvar alignedHandler = function alignedHandler(context, args) {\n if (context.envName.indexOf(\"ed\") === -1) {\n validateAmsEnvironmentContext(context);\n }\n\n var cols = [];\n var separationType = context.envName.indexOf(\"at\") > -1 ? \"alignat\" : \"align\";\n var isSplit = context.envName === \"split\";\n var res = parseArray(context.parser, {\n cols,\n addJot: true,\n autoTag: isSplit ? undefined : getAutoTag(context.envName),\n emptySingleRow: true,\n colSeparationType: separationType,\n maxNumCols: isSplit ? 2 : undefined,\n leqno: context.parser.settings.leqno\n }, \"display\"); // Determining number of columns.\n // 1. If the first argument is given, we use it as a number of columns,\n // and makes sure that each row doesn't exceed that number.\n // 2. Otherwise, just count number of columns = maximum number\n // of cells in each row (\"aligned\" mode -- isAligned will be true).\n //\n // At the same time, prepend empty group {} at beginning of every second\n // cell in each row (starting with second cell) so that operators become\n // binary. This behavior is implemented in amsmath's \\start@aligned.\n\n var numMaths;\n var numCols = 0;\n var emptyGroup = {\n type: \"ordgroup\",\n mode: context.mode,\n body: []\n };\n\n if (args[0] && args[0].type === \"ordgroup\") {\n var arg0 = \"\";\n\n for (var i = 0; i < args[0].body.length; i++) {\n var textord = assertNodeType(args[0].body[i], \"textord\");\n arg0 += textord.text;\n }\n\n numMaths = Number(arg0);\n numCols = numMaths * 2;\n }\n\n var isAligned = !numCols;\n res.body.forEach(function (row) {\n for (var _i4 = 1; _i4 < row.length; _i4 += 2) {\n // Modify ordgroup node within styling node\n var styling = assertNodeType(row[_i4], \"styling\");\n var ordgroup = assertNodeType(styling.body[0], \"ordgroup\");\n ordgroup.body.unshift(emptyGroup);\n }\n\n if (!isAligned) {\n // Case 1\n var curMaths = row.length / 2;\n\n if (numMaths < curMaths) {\n throw new ParseError(\"Too many math in a row: \" + (\"expected \" + numMaths + \", but got \" + curMaths), row[0]);\n }\n } else if (numCols < row.length) {\n // Case 2\n numCols = row.length;\n }\n }); // Adjusting alignment.\n // In aligned mode, we add one \\qquad between columns;\n // otherwise we add nothing.\n\n for (var _i5 = 0; _i5 < numCols; ++_i5) {\n var align = \"r\";\n var pregap = 0;\n\n if (_i5 % 2 === 1) {\n align = \"l\";\n } else if (_i5 > 0 && isAligned) {\n // \"aligned\" mode.\n pregap = 1; // add one \\quad\n }\n\n cols[_i5] = {\n type: \"align\",\n align: align,\n pregap: pregap,\n postgap: 0\n };\n }\n\n res.colSeparationType = isAligned ? \"align\" : \"alignat\";\n return res;\n}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation\n// is part of the source2e.pdf file of LaTeX2e source documentation.\n// {darray} is an {array} environment where cells are set in \\displaystyle,\n// as defined in nccmath.sty.\n\n\ndefineEnvironment({\n type: \"array\",\n names: [\"array\", \"darray\"],\n props: {\n numArgs: 1\n },\n\n handler(context, args) {\n // Since no types are specified above, the two possibilities are\n // - The argument is wrapped in {} or [], in which case Parser's\n // parseGroup() returns an \"ordgroup\" wrapping some symbol node.\n // - The argument is a bare symbol node.\n var symNode = checkSymbolNodeType(args[0]);\n var colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n var cols = colalign.map(function (nde) {\n var node = assertSymbolNodeType(nde);\n var ca = node.text;\n\n if (\"lcr\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n } else if (ca === \"|\") {\n return {\n type: \"separator\",\n separator: \"|\"\n };\n } else if (ca === \":\") {\n return {\n type: \"separator\",\n separator: \":\"\n };\n }\n\n throw new ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n var res = {\n cols,\n hskipBeforeAndAfter: true,\n // \\@preamble in lttab.dtx\n maxNumCols: cols.length\n };\n return parseArray(context.parser, res, dCellStyle(context.envName));\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n}); // The matrix environments of amsmath builds on the array environment\n// of LaTeX, which is discussed above.\n// The mathtools package adds starred versions of the same environments.\n// These have an optional argument to choose left|center|right justification.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"matrix\", \"pmatrix\", \"bmatrix\", \"Bmatrix\", \"vmatrix\", \"Vmatrix\", \"matrix*\", \"pmatrix*\", \"bmatrix*\", \"Bmatrix*\", \"vmatrix*\", \"Vmatrix*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n var delimiters = {\n \"matrix\": null,\n \"pmatrix\": [\"(\", \")\"],\n \"bmatrix\": [\"[\", \"]\"],\n \"Bmatrix\": [\"\\\\{\", \"\\\\}\"],\n \"vmatrix\": [\"|\", \"|\"],\n \"Vmatrix\": [\"\\\\Vert\", \"\\\\Vert\"]\n }[context.envName.replace(\"*\", \"\")]; // \\hskip -\\arraycolsep in amsmath\n\n var colAlign = \"c\";\n var payload = {\n hskipBeforeAndAfter: false,\n cols: [{\n type: \"align\",\n align: colAlign\n }]\n };\n\n if (context.envName.charAt(context.envName.length - 1) === \"*\") {\n // It's one of the mathtools starred functions.\n // Parse the optional alignment argument.\n var parser = context.parser;\n parser.consumeSpaces();\n\n if (parser.fetch().text === \"[\") {\n parser.consume();\n parser.consumeSpaces();\n colAlign = parser.fetch().text;\n\n if (\"lcr\".indexOf(colAlign) === -1) {\n throw new ParseError(\"Expected l or c or r\", parser.nextToken);\n }\n\n parser.consume();\n parser.consumeSpaces();\n parser.expect(\"]\");\n parser.consume();\n payload.cols = [{\n type: \"align\",\n align: colAlign\n }];\n }\n }\n\n var res = parseArray(context.parser, payload, dCellStyle(context.envName)); // Populate cols with the correct number of column alignment specs.\n\n var numCols = Math.max(0, ...res.body.map(row => row.length));\n res.cols = new Array(numCols).fill({\n type: \"align\",\n align: colAlign\n });\n return delimiters ? {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: delimiters[0],\n right: delimiters[1],\n rightColor: undefined // \\right uninfluenced by \\color in array\n\n } : res;\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"smallmatrix\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n var payload = {\n arraystretch: 0.5\n };\n var res = parseArray(context.parser, payload, \"script\");\n res.colSeparationType = \"small\";\n return res;\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"subarray\"],\n props: {\n numArgs: 1\n },\n\n handler(context, args) {\n // Parsing of {subarray} is similar to {array}\n var symNode = checkSymbolNodeType(args[0]);\n var colalign = symNode ? [args[0]] : assertNodeType(args[0], \"ordgroup\").body;\n var cols = colalign.map(function (nde) {\n var node = assertSymbolNodeType(nde);\n var ca = node.text; // {subarray} only recognizes \"l\" & \"c\"\n\n if (\"lc\".indexOf(ca) !== -1) {\n return {\n type: \"align\",\n align: ca\n };\n }\n\n throw new ParseError(\"Unknown column alignment: \" + ca, nde);\n });\n\n if (cols.length > 1) {\n throw new ParseError(\"{subarray} can contain only one column\");\n }\n\n var res = {\n cols,\n hskipBeforeAndAfter: false,\n arraystretch: 0.5\n };\n res = parseArray(context.parser, res, \"script\");\n\n if (res.body.length > 0 && res.body[0].length > 1) {\n throw new ParseError(\"{subarray} can contain only one column\");\n }\n\n return res;\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n}); // A cases environment (in amsmath.sty) is almost equivalent to\n// \\def\\arraystretch{1.2}%\n// \\left\\{\\begin{array}{@{}l@{\\quad}l@{}} … \\end{array}\\right.\n// {dcases} is a {cases} environment where cells are set in \\displaystyle,\n// as defined in mathtools.sty.\n// {rcases} is another mathtools environment. It's brace is on the right side.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"cases\", \"dcases\", \"rcases\", \"drcases\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n var payload = {\n arraystretch: 1.2,\n cols: [{\n type: \"align\",\n align: \"l\",\n pregap: 0,\n // TODO(kevinb) get the current style.\n // For now we use the metrics for TEXT style which is what we were\n // doing before. Before attempting to get the current style we\n // should look at TeX's behavior especially for \\over and matrices.\n postgap: 1.0\n /* 1em quad */\n\n }, {\n type: \"align\",\n align: \"l\",\n pregap: 0,\n postgap: 0\n }]\n };\n var res = parseArray(context.parser, payload, dCellStyle(context.envName));\n return {\n type: \"leftright\",\n mode: context.mode,\n body: [res],\n left: context.envName.indexOf(\"r\") > -1 ? \".\" : \"\\\\{\",\n right: context.envName.indexOf(\"r\") > -1 ? \"\\\\}\" : \".\",\n rightColor: undefined\n };\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n}); // In the align environment, one uses ampersands, &, to specify number of\n// columns in each row, and to locate spacing between each column.\n// align gets automatic numbering. align* and aligned do not.\n// The alignedat environment can be used in math mode.\n// Note that we assume \\nomallineskiplimit to be zero,\n// so that \\strut@ is the same as \\strut.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"align\", \"align*\", \"aligned\", \"split\"],\n props: {\n numArgs: 0\n },\n handler: alignedHandler,\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n}); // A gathered environment is like an array environment with one centered\n// column, but where rows are considered lines so get \\jot line spacing\n// and contents are set in \\displaystyle.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"gathered\", \"gather\", \"gather*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n if (utils.contains([\"gather\", \"gather*\"], context.envName)) {\n validateAmsEnvironmentContext(context);\n }\n\n var res = {\n cols: [{\n type: \"align\",\n align: \"c\"\n }],\n addJot: true,\n colSeparationType: \"gather\",\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n}); // alignat environment is like an align environment, but one must explicitly\n// specify maximum number of columns in each row, and can adjust spacing between\n// each columns.\n\ndefineEnvironment({\n type: \"array\",\n names: [\"alignat\", \"alignat*\", \"alignedat\"],\n props: {\n numArgs: 1\n },\n handler: alignedHandler,\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"equation\", \"equation*\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n validateAmsEnvironmentContext(context);\n var res = {\n autoTag: getAutoTag(context.envName),\n emptySingleRow: true,\n singleRow: true,\n maxNumCols: 1,\n leqno: context.parser.settings.leqno\n };\n return parseArray(context.parser, res, \"display\");\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n});\ndefineEnvironment({\n type: \"array\",\n names: [\"CD\"],\n props: {\n numArgs: 0\n },\n\n handler(context) {\n validateAmsEnvironmentContext(context);\n return parseCD(context.parser);\n },\n\n htmlBuilder: htmlBuilder$6,\n mathmlBuilder: mathmlBuilder$5\n});\ndefineMacro(\"\\\\nonumber\", \"\\\\gdef\\\\@eqnsw{0}\");\ndefineMacro(\"\\\\notag\", \"\\\\nonumber\"); // Catch \\hline outside array environment\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\hline\", \"\\\\hdashline\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: true\n },\n\n handler(context, args) {\n throw new ParseError(context.funcName + \" valid only within array environment\");\n }\n\n});\n\nvar environments = _environments;\n\n// defineEnvironment definitions.\n\ndefineFunction({\n type: \"environment\",\n names: [\"\\\\begin\", \"\\\\end\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"]\n },\n\n handler(_ref, args) {\n var {\n parser,\n funcName\n } = _ref;\n var nameGroup = args[0];\n\n if (nameGroup.type !== \"ordgroup\") {\n throw new ParseError(\"Invalid environment name\", nameGroup);\n }\n\n var envName = \"\";\n\n for (var i = 0; i < nameGroup.body.length; ++i) {\n envName += assertNodeType(nameGroup.body[i], \"textord\").text;\n }\n\n if (funcName === \"\\\\begin\") {\n // begin...end is similar to left...right\n if (!environments.hasOwnProperty(envName)) {\n throw new ParseError(\"No such environment: \" + envName, nameGroup);\n } // Build the environment object. Arguments and other information will\n // be made available to the begin and end methods using properties.\n\n\n var env = environments[envName];\n var {\n args: _args,\n optArgs\n } = parser.parseArguments(\"\\\\begin{\" + envName + \"}\", env);\n var context = {\n mode: parser.mode,\n envName,\n parser\n };\n var result = env.handler(context, _args, optArgs);\n parser.expect(\"\\\\end\", false);\n var endNameToken = parser.nextToken;\n var end = assertNodeType(parser.parseFunction(), \"environment\");\n\n if (end.name !== envName) {\n throw new ParseError(\"Mismatch: \\\\begin{\" + envName + \"} matched by \\\\end{\" + end.name + \"}\", endNameToken);\n } // $FlowFixMe, \"environment\" handler returns an environment ParseNode\n\n\n return result;\n }\n\n return {\n type: \"environment\",\n mode: parser.mode,\n name: envName,\n nameGroup\n };\n }\n\n});\n\n// TODO(kevinb): implement \\\\sl and \\\\sc\n\nvar htmlBuilder$5 = (group, options) => {\n var font = group.font;\n var newOptions = options.withFont(font);\n return buildGroup$1(group.body, newOptions);\n};\n\nvar mathmlBuilder$4 = (group, options) => {\n var font = group.font;\n var newOptions = options.withFont(font);\n return buildGroup(group.body, newOptions);\n};\n\nvar fontAliases = {\n \"\\\\Bbb\": \"\\\\mathbb\",\n \"\\\\bold\": \"\\\\mathbf\",\n \"\\\\frak\": \"\\\\mathfrak\",\n \"\\\\bm\": \"\\\\boldsymbol\"\n};\ndefineFunction({\n type: \"font\",\n names: [// styles, except \\boldsymbol defined below\n \"\\\\mathrm\", \"\\\\mathit\", \"\\\\mathbf\", \"\\\\mathnormal\", \"\\\\mathsfit\", // families\n \"\\\\mathbb\", \"\\\\mathcal\", \"\\\\mathfrak\", \"\\\\mathscr\", \"\\\\mathsf\", \"\\\\mathtt\", // aliases, except \\bm defined below\n \"\\\\Bbb\", \"\\\\bold\", \"\\\\frak\"],\n props: {\n numArgs: 1,\n allowedInArgument: true\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName\n } = _ref;\n var body = normalizeArgument(args[0]);\n var func = funcName;\n\n if (func in fontAliases) {\n func = fontAliases[func];\n }\n\n return {\n type: \"font\",\n mode: parser.mode,\n font: func.slice(1),\n body\n };\n },\n htmlBuilder: htmlBuilder$5,\n mathmlBuilder: mathmlBuilder$4\n});\ndefineFunction({\n type: \"mclass\",\n names: [\"\\\\boldsymbol\", \"\\\\bm\"],\n props: {\n numArgs: 1\n },\n handler: (_ref2, args) => {\n var {\n parser\n } = _ref2;\n var body = args[0];\n var isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \\boldsymbol uses \\binrel spacing to inherit the\n // argument's bin|rel|ord status\n\n return {\n type: \"mclass\",\n mode: parser.mode,\n mclass: binrelClass(body),\n body: [{\n type: \"font\",\n mode: parser.mode,\n font: \"boldsymbol\",\n body\n }],\n isCharacterBox: isCharacterBox\n };\n }\n}); // Old font changing functions\n\ndefineFunction({\n type: \"font\",\n names: [\"\\\\rm\", \"\\\\sf\", \"\\\\tt\", \"\\\\bf\", \"\\\\it\", \"\\\\cal\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: (_ref3, args) => {\n var {\n parser,\n funcName,\n breakOnTokenText\n } = _ref3;\n var {\n mode\n } = parser;\n var body = parser.parseExpression(true, breakOnTokenText);\n var style = \"math\" + funcName.slice(1);\n return {\n type: \"font\",\n mode: mode,\n font: style,\n body: {\n type: \"ordgroup\",\n mode: parser.mode,\n body\n }\n };\n },\n htmlBuilder: htmlBuilder$5,\n mathmlBuilder: mathmlBuilder$4\n});\n\nvar adjustStyle = (size, originalStyle) => {\n // Figure out what style this fraction should be in based on the\n // function used\n var style = originalStyle;\n\n if (size === \"display\") {\n // Get display style as a default.\n // If incoming style is sub/sup, use style.text() to get correct size.\n style = style.id >= Style$1.SCRIPT.id ? style.text() : Style$1.DISPLAY;\n } else if (size === \"text\" && style.size === Style$1.DISPLAY.size) {\n // We're in a \\tfrac but incoming style is displaystyle, so:\n style = Style$1.TEXT;\n } else if (size === \"script\") {\n style = Style$1.SCRIPT;\n } else if (size === \"scriptscript\") {\n style = Style$1.SCRIPTSCRIPT;\n }\n\n return style;\n};\n\nvar htmlBuilder$4 = (group, options) => {\n // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e).\n var style = adjustStyle(group.size, options.style);\n var nstyle = style.fracNum();\n var dstyle = style.fracDen();\n var newOptions;\n newOptions = options.havingStyle(nstyle);\n var numerm = buildGroup$1(group.numer, newOptions, options);\n\n if (group.continued) {\n // \\cfrac inserts a \\strut into the numerator.\n // Get \\strut dimensions from TeXbook page 353.\n var hStrut = 8.5 / options.fontMetrics().ptPerEm;\n var dStrut = 3.5 / options.fontMetrics().ptPerEm;\n numerm.height = numerm.height < hStrut ? hStrut : numerm.height;\n numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth;\n }\n\n newOptions = options.havingStyle(dstyle);\n var denomm = buildGroup$1(group.denom, newOptions, options);\n var rule;\n var ruleWidth;\n var ruleSpacing;\n\n if (group.hasBarLine) {\n if (group.barSize) {\n ruleWidth = calculateSize(group.barSize, options);\n rule = buildCommon.makeLineSpan(\"frac-line\", options, ruleWidth);\n } else {\n rule = buildCommon.makeLineSpan(\"frac-line\", options);\n }\n\n ruleWidth = rule.height;\n ruleSpacing = rule.height;\n } else {\n rule = null;\n ruleWidth = 0;\n ruleSpacing = options.fontMetrics().defaultRuleThickness;\n } // Rule 15b\n\n\n var numShift;\n var clearance;\n var denomShift;\n\n if (style.size === Style$1.DISPLAY.size || group.size === \"display\") {\n numShift = options.fontMetrics().num1;\n\n if (ruleWidth > 0) {\n clearance = 3 * ruleSpacing;\n } else {\n clearance = 7 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom1;\n } else {\n if (ruleWidth > 0) {\n numShift = options.fontMetrics().num2;\n clearance = ruleSpacing;\n } else {\n numShift = options.fontMetrics().num3;\n clearance = 3 * ruleSpacing;\n }\n\n denomShift = options.fontMetrics().denom2;\n }\n\n var frac;\n\n if (!rule) {\n // Rule 15c\n var candidateClearance = numShift - numerm.depth - (denomm.height - denomShift);\n\n if (candidateClearance < clearance) {\n numShift += 0.5 * (clearance - candidateClearance);\n denomShift += 0.5 * (clearance - candidateClearance);\n }\n\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } else {\n // Rule 15d\n var axisHeight = options.fontMetrics().axisHeight;\n\n if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) {\n numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth));\n }\n\n if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) {\n denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift));\n }\n\n var midShift = -(axisHeight - 0.5 * ruleWidth);\n frac = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: denomm,\n shift: denomShift\n }, {\n type: \"elem\",\n elem: rule,\n shift: midShift\n }, {\n type: \"elem\",\n elem: numerm,\n shift: -numShift\n }]\n }, options);\n } // Since we manually change the style sometimes (with \\dfrac or \\tfrac),\n // account for the possible size change here.\n\n\n newOptions = options.havingStyle(style);\n frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier;\n frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e\n\n var delimSize;\n\n if (style.size === Style$1.DISPLAY.size) {\n delimSize = options.fontMetrics().delim1;\n } else if (style.size === Style$1.SCRIPTSCRIPT.size) {\n delimSize = options.havingStyle(Style$1.SCRIPT).fontMetrics().delim2;\n } else {\n delimSize = options.fontMetrics().delim2;\n }\n\n var leftDelim;\n var rightDelim;\n\n if (group.leftDelim == null) {\n leftDelim = makeNullDelimiter(options, [\"mopen\"]);\n } else {\n leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mopen\"]);\n }\n\n if (group.continued) {\n rightDelim = buildCommon.makeSpan([]); // zero width for \\cfrac\n } else if (group.rightDelim == null) {\n rightDelim = makeNullDelimiter(options, [\"mclose\"]);\n } else {\n rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, [\"mclose\"]);\n }\n\n return buildCommon.makeSpan([\"mord\"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan([\"mfrac\"], [frac]), rightDelim], options);\n};\n\nvar mathmlBuilder$3 = (group, options) => {\n var node = new mathMLTree.MathNode(\"mfrac\", [buildGroup(group.numer, options), buildGroup(group.denom, options)]);\n\n if (!group.hasBarLine) {\n node.setAttribute(\"linethickness\", \"0px\");\n } else if (group.barSize) {\n var ruleWidth = calculateSize(group.barSize, options);\n node.setAttribute(\"linethickness\", makeEm(ruleWidth));\n }\n\n var style = adjustStyle(group.size, options.style);\n\n if (style.size !== options.style.size) {\n node = new mathMLTree.MathNode(\"mstyle\", [node]);\n var isDisplay = style.size === Style$1.DISPLAY.size ? \"true\" : \"false\";\n node.setAttribute(\"displaystyle\", isDisplay);\n node.setAttribute(\"scriptlevel\", \"0\");\n }\n\n if (group.leftDelim != null || group.rightDelim != null) {\n var withDelims = [];\n\n if (group.leftDelim != null) {\n var leftOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.leftDelim.replace(\"\\\\\", \"\"))]);\n leftOp.setAttribute(\"fence\", \"true\");\n withDelims.push(leftOp);\n }\n\n withDelims.push(node);\n\n if (group.rightDelim != null) {\n var rightOp = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(group.rightDelim.replace(\"\\\\\", \"\"))]);\n rightOp.setAttribute(\"fence\", \"true\");\n withDelims.push(rightOp);\n }\n\n return makeRow(withDelims);\n }\n\n return node;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\dfrac\", \"\\\\frac\", \"\\\\tfrac\", \"\\\\dbinom\", \"\\\\binom\", \"\\\\tbinom\", \"\\\\\\\\atopfrac\", // can’t be entered directly\n \"\\\\\\\\bracefrac\", \"\\\\\\\\brackfrac\" // ditto\n ],\n props: {\n numArgs: 2,\n allowedInArgument: true\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName\n } = _ref;\n var numer = args[0];\n var denom = args[1];\n var hasBarLine;\n var leftDelim = null;\n var rightDelim = null;\n var size = \"auto\";\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\frac\":\n case \"\\\\tfrac\":\n hasBarLine = true;\n break;\n\n case \"\\\\\\\\atopfrac\":\n hasBarLine = false;\n break;\n\n case \"\\\\dbinom\":\n case \"\\\\binom\":\n case \"\\\\tbinom\":\n hasBarLine = false;\n leftDelim = \"(\";\n rightDelim = \")\";\n break;\n\n case \"\\\\\\\\bracefrac\":\n hasBarLine = false;\n leftDelim = \"\\\\{\";\n rightDelim = \"\\\\}\";\n break;\n\n case \"\\\\\\\\brackfrac\":\n hasBarLine = false;\n leftDelim = \"[\";\n rightDelim = \"]\";\n break;\n\n default:\n throw new Error(\"Unrecognized genfrac command\");\n }\n\n switch (funcName) {\n case \"\\\\dfrac\":\n case \"\\\\dbinom\":\n size = \"display\";\n break;\n\n case \"\\\\tfrac\":\n case \"\\\\tbinom\":\n size = \"text\";\n break;\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: false,\n numer,\n denom,\n hasBarLine,\n leftDelim,\n rightDelim,\n size,\n barSize: null\n };\n },\n htmlBuilder: htmlBuilder$4,\n mathmlBuilder: mathmlBuilder$3\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\cfrac\"],\n props: {\n numArgs: 2\n },\n handler: (_ref2, args) => {\n var {\n parser,\n funcName\n } = _ref2;\n var numer = args[0];\n var denom = args[1];\n return {\n type: \"genfrac\",\n mode: parser.mode,\n continued: true,\n numer,\n denom,\n hasBarLine: true,\n leftDelim: null,\n rightDelim: null,\n size: \"display\",\n barSize: null\n };\n }\n}); // Infix generalized fractions -- these are not rendered directly, but replaced\n// immediately by one of the variants above.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\over\", \"\\\\choose\", \"\\\\atop\", \"\\\\brace\", \"\\\\brack\"],\n props: {\n numArgs: 0,\n infix: true\n },\n\n handler(_ref3) {\n var {\n parser,\n funcName,\n token\n } = _ref3;\n var replaceWith;\n\n switch (funcName) {\n case \"\\\\over\":\n replaceWith = \"\\\\frac\";\n break;\n\n case \"\\\\choose\":\n replaceWith = \"\\\\binom\";\n break;\n\n case \"\\\\atop\":\n replaceWith = \"\\\\\\\\atopfrac\";\n break;\n\n case \"\\\\brace\":\n replaceWith = \"\\\\\\\\bracefrac\";\n break;\n\n case \"\\\\brack\":\n replaceWith = \"\\\\\\\\brackfrac\";\n break;\n\n default:\n throw new Error(\"Unrecognized infix genfrac command\");\n }\n\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith,\n token\n };\n }\n\n});\nvar stylArray = [\"display\", \"text\", \"script\", \"scriptscript\"];\n\nvar delimFromValue = function delimFromValue(delimString) {\n var delim = null;\n\n if (delimString.length > 0) {\n delim = delimString;\n delim = delim === \".\" ? null : delim;\n }\n\n return delim;\n};\n\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\genfrac\"],\n props: {\n numArgs: 6,\n allowedInArgument: true,\n argTypes: [\"math\", \"math\", \"size\", \"text\", \"math\", \"math\"]\n },\n\n handler(_ref4, args) {\n var {\n parser\n } = _ref4;\n var numer = args[4];\n var denom = args[5]; // Look into the parse nodes to get the desired delimiters.\n\n var leftNode = normalizeArgument(args[0]);\n var leftDelim = leftNode.type === \"atom\" && leftNode.family === \"open\" ? delimFromValue(leftNode.text) : null;\n var rightNode = normalizeArgument(args[1]);\n var rightDelim = rightNode.type === \"atom\" && rightNode.family === \"close\" ? delimFromValue(rightNode.text) : null;\n var barNode = assertNodeType(args[2], \"size\");\n var hasBarLine;\n var barSize = null;\n\n if (barNode.isBlank) {\n // \\genfrac acts differently than \\above.\n // \\genfrac treats an empty size group as a signal to use a\n // standard bar size. \\above would see size = 0 and omit the bar.\n hasBarLine = true;\n } else {\n barSize = barNode.value;\n hasBarLine = barSize.number > 0;\n } // Find out if we want displaystyle, textstyle, etc.\n\n\n var size = \"auto\";\n var styl = args[3];\n\n if (styl.type === \"ordgroup\") {\n if (styl.body.length > 0) {\n var textOrd = assertNodeType(styl.body[0], \"textord\");\n size = stylArray[Number(textOrd.text)];\n }\n } else {\n styl = assertNodeType(styl, \"textord\");\n size = stylArray[Number(styl.text)];\n }\n\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer,\n denom,\n continued: false,\n hasBarLine,\n barSize,\n leftDelim,\n rightDelim,\n size\n };\n },\n\n htmlBuilder: htmlBuilder$4,\n mathmlBuilder: mathmlBuilder$3\n}); // \\above is an infix fraction that also defines a fraction bar size.\n\ndefineFunction({\n type: \"infix\",\n names: [\"\\\\above\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n infix: true\n },\n\n handler(_ref5, args) {\n var {\n parser,\n funcName,\n token\n } = _ref5;\n return {\n type: \"infix\",\n mode: parser.mode,\n replaceWith: \"\\\\\\\\abovefrac\",\n size: assertNodeType(args[0], \"size\").value,\n token\n };\n }\n\n});\ndefineFunction({\n type: \"genfrac\",\n names: [\"\\\\\\\\abovefrac\"],\n props: {\n numArgs: 3,\n argTypes: [\"math\", \"size\", \"math\"]\n },\n handler: (_ref6, args) => {\n var {\n parser,\n funcName\n } = _ref6;\n var numer = args[0];\n var barSize = assert(assertNodeType(args[1], \"infix\").size);\n var denom = args[2];\n var hasBarLine = barSize.number > 0;\n return {\n type: \"genfrac\",\n mode: parser.mode,\n numer,\n denom,\n continued: false,\n hasBarLine,\n barSize,\n leftDelim: null,\n rightDelim: null,\n size: \"auto\"\n };\n },\n htmlBuilder: htmlBuilder$4,\n mathmlBuilder: mathmlBuilder$3\n});\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only \"horizBrace\", but\n// also \"supsub\" since an over/underbrace can affect super/subscripting.\nvar htmlBuilder$3 = (grp, options) => {\n var style = options.style; // Pull out the `ParseNode<\"horizBrace\">` if `grp` is a \"supsub\" node.\n\n var supSubGroup;\n var group;\n\n if (grp.type === \"supsub\") {\n // Ref: LaTeX source2e: }}}}\\limits}\n // i.e. LaTeX treats the brace similar to an op and passes it\n // with \\limits, so we need to assign supsub style.\n supSubGroup = grp.sup ? buildGroup$1(grp.sup, options.havingStyle(style.sup()), options) : buildGroup$1(grp.sub, options.havingStyle(style.sub()), options);\n group = assertNodeType(grp.base, \"horizBrace\");\n } else {\n group = assertNodeType(grp, \"horizBrace\");\n } // Build the base group\n\n\n var body = buildGroup$1(group.base, options.havingBaseStyle(Style$1.DISPLAY)); // Create the stretchy element\n\n var braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓\n // This first vlist contains the content and the brace: equation\n\n var vlist;\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: body\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: braceBody\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[1].classes.push(\"svg-align\");\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: body.depth + 0.1 + braceBody.height,\n children: [{\n type: \"elem\",\n elem: braceBody\n }, {\n type: \"kern\",\n size: 0.1\n }, {\n type: \"elem\",\n elem: body\n }]\n }, options); // $FlowFixMe: Replace this with passing \"svg-align\" into makeVList.\n\n vlist.children[0].children[0].children[0].classes.push(\"svg-align\");\n }\n\n if (supSubGroup) {\n // To write the supsub, wrap the first vlist in another vlist:\n // They can't all go in the same vlist, because the note might be\n // wider than the equation. We want the equation to control the\n // brace width.\n // note long note long note\n // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓\n // equation eqn eqn\n var vSpan = buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n\n if (group.isOver) {\n vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: vSpan\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: supSubGroup\n }]\n }, options);\n } else {\n vlist = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth,\n children: [{\n type: \"elem\",\n elem: supSubGroup\n }, {\n type: \"kern\",\n size: 0.2\n }, {\n type: \"elem\",\n elem: vSpan\n }]\n }, options);\n }\n }\n\n return buildCommon.makeSpan([\"mord\", group.isOver ? \"mover\" : \"munder\"], [vlist], options);\n};\n\nvar mathmlBuilder$2 = (group, options) => {\n var accentNode = stretchy.mathMLnode(group.label);\n return new mathMLTree.MathNode(group.isOver ? \"mover\" : \"munder\", [buildGroup(group.base, options), accentNode]);\n}; // Horizontal stretchy braces\n\n\ndefineFunction({\n type: \"horizBrace\",\n names: [\"\\\\overbrace\", \"\\\\underbrace\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n var {\n parser,\n funcName\n } = _ref;\n return {\n type: \"horizBrace\",\n mode: parser.mode,\n label: funcName,\n isOver: /^\\\\over/.test(funcName),\n base: args[0]\n };\n },\n\n htmlBuilder: htmlBuilder$3,\n mathmlBuilder: mathmlBuilder$2\n});\n\ndefineFunction({\n type: \"href\",\n names: [\"\\\\href\"],\n props: {\n numArgs: 2,\n argTypes: [\"url\", \"original\"],\n allowedInText: true\n },\n handler: (_ref, args) => {\n var {\n parser\n } = _ref;\n var body = args[1];\n var href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\href\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\href\");\n }\n\n return {\n type: \"href\",\n mode: parser.mode,\n href,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n var elements = buildExpression$1(group.body, options, false);\n return buildCommon.makeAnchor(group.href, [], elements, options);\n },\n mathmlBuilder: (group, options) => {\n var math = buildExpressionRow(group.body, options);\n\n if (!(math instanceof MathNode)) {\n math = new MathNode(\"mrow\", [math]);\n }\n\n math.setAttribute(\"href\", group.href);\n return math;\n }\n});\ndefineFunction({\n type: \"href\",\n names: [\"\\\\url\"],\n props: {\n numArgs: 1,\n argTypes: [\"url\"],\n allowedInText: true\n },\n handler: (_ref2, args) => {\n var {\n parser\n } = _ref2;\n var href = assertNodeType(args[0], \"url\").url;\n\n if (!parser.settings.isTrusted({\n command: \"\\\\url\",\n url: href\n })) {\n return parser.formatUnsupportedCmd(\"\\\\url\");\n }\n\n var chars = [];\n\n for (var i = 0; i < href.length; i++) {\n var c = href[i];\n\n if (c === \"~\") {\n c = \"\\\\textasciitilde\";\n }\n\n chars.push({\n type: \"textord\",\n mode: \"text\",\n text: c\n });\n }\n\n var body = {\n type: \"text\",\n mode: parser.mode,\n font: \"\\\\texttt\",\n body: chars\n };\n return {\n type: \"href\",\n mode: parser.mode,\n href,\n body: ordargument(body)\n };\n }\n});\n\n// In LaTeX, \\vcenter can act only on a box, as in\n// \\vcenter{\\hbox{$\\frac{a+b}{\\dfrac{c}{d}}$}}\n// This function by itself doesn't do anything but prevent a soft line break.\n\ndefineFunction({\n type: \"hbox\",\n names: [\"\\\\hbox\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n return {\n type: \"hbox\",\n mode: parser.mode,\n body: ordargument(args[0])\n };\n },\n\n htmlBuilder(group, options) {\n var elements = buildExpression$1(group.body, options, false);\n return buildCommon.makeFragment(elements);\n },\n\n mathmlBuilder(group, options) {\n return new mathMLTree.MathNode(\"mrow\", buildExpression(group.body, options));\n }\n\n});\n\ndefineFunction({\n type: \"html\",\n names: [\"\\\\htmlClass\", \"\\\\htmlId\", \"\\\\htmlStyle\", \"\\\\htmlData\"],\n props: {\n numArgs: 2,\n argTypes: [\"raw\", \"original\"],\n allowedInText: true\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName,\n token\n } = _ref;\n var value = assertNodeType(args[0], \"raw\").string;\n var body = args[1];\n\n if (parser.settings.strict) {\n parser.settings.reportNonstrict(\"htmlExtension\", \"HTML extension is disabled on strict mode\");\n }\n\n var trustContext;\n var attributes = {};\n\n switch (funcName) {\n case \"\\\\htmlClass\":\n attributes.class = value;\n trustContext = {\n command: \"\\\\htmlClass\",\n class: value\n };\n break;\n\n case \"\\\\htmlId\":\n attributes.id = value;\n trustContext = {\n command: \"\\\\htmlId\",\n id: value\n };\n break;\n\n case \"\\\\htmlStyle\":\n attributes.style = value;\n trustContext = {\n command: \"\\\\htmlStyle\",\n style: value\n };\n break;\n\n case \"\\\\htmlData\":\n {\n var data = value.split(\",\");\n\n for (var i = 0; i < data.length; i++) {\n var keyVal = data[i].split(\"=\");\n\n if (keyVal.length !== 2) {\n throw new ParseError(\"Error parsing key-value for \\\\htmlData\");\n }\n\n attributes[\"data-\" + keyVal[0].trim()] = keyVal[1].trim();\n }\n\n trustContext = {\n command: \"\\\\htmlData\",\n attributes\n };\n break;\n }\n\n default:\n throw new Error(\"Unrecognized html command\");\n }\n\n if (!parser.settings.isTrusted(trustContext)) {\n return parser.formatUnsupportedCmd(funcName);\n }\n\n return {\n type: \"html\",\n mode: parser.mode,\n attributes,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n var elements = buildExpression$1(group.body, options, false);\n var classes = [\"enclosing\"];\n\n if (group.attributes.class) {\n classes.push(...group.attributes.class.trim().split(/\\s+/));\n }\n\n var span = buildCommon.makeSpan(classes, elements, options);\n\n for (var attr in group.attributes) {\n if (attr !== \"class\" && group.attributes.hasOwnProperty(attr)) {\n span.setAttribute(attr, group.attributes[attr]);\n }\n }\n\n return span;\n },\n mathmlBuilder: (group, options) => {\n return buildExpressionRow(group.body, options);\n }\n});\n\ndefineFunction({\n type: \"htmlmathml\",\n names: [\"\\\\html@mathml\"],\n props: {\n numArgs: 2,\n allowedInText: true\n },\n handler: (_ref, args) => {\n var {\n parser\n } = _ref;\n return {\n type: \"htmlmathml\",\n mode: parser.mode,\n html: ordargument(args[0]),\n mathml: ordargument(args[1])\n };\n },\n htmlBuilder: (group, options) => {\n var elements = buildExpression$1(group.html, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n return buildExpressionRow(group.mathml, options);\n }\n});\n\nvar sizeData = function sizeData(str) {\n if (/^[-+]? *(\\d+(\\.\\d*)?|\\.\\d+)$/.test(str)) {\n // str is a number with no unit specified.\n // default unit is bp, per graphix package.\n return {\n number: +str,\n unit: \"bp\"\n };\n } else {\n var match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(str);\n\n if (!match) {\n throw new ParseError(\"Invalid size: '\" + str + \"' in \\\\includegraphics\");\n }\n\n var data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new ParseError(\"Invalid unit: '\" + data.unit + \"' in \\\\includegraphics.\");\n }\n\n return data;\n }\n};\n\ndefineFunction({\n type: \"includegraphics\",\n names: [\"\\\\includegraphics\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n argTypes: [\"raw\", \"url\"],\n allowedInText: false\n },\n handler: (_ref, args, optArgs) => {\n var {\n parser\n } = _ref;\n var width = {\n number: 0,\n unit: \"em\"\n };\n var height = {\n number: 0.9,\n unit: \"em\"\n }; // sorta character sized.\n\n var totalheight = {\n number: 0,\n unit: \"em\"\n };\n var alt = \"\";\n\n if (optArgs[0]) {\n var attributeStr = assertNodeType(optArgs[0], \"raw\").string; // Parser.js does not parse key/value pairs. We get a string.\n\n var attributes = attributeStr.split(\",\");\n\n for (var i = 0; i < attributes.length; i++) {\n var keyVal = attributes[i].split(\"=\");\n\n if (keyVal.length === 2) {\n var str = keyVal[1].trim();\n\n switch (keyVal[0].trim()) {\n case \"alt\":\n alt = str;\n break;\n\n case \"width\":\n width = sizeData(str);\n break;\n\n case \"height\":\n height = sizeData(str);\n break;\n\n case \"totalheight\":\n totalheight = sizeData(str);\n break;\n\n default:\n throw new ParseError(\"Invalid key: '\" + keyVal[0] + \"' in \\\\includegraphics.\");\n }\n }\n }\n }\n\n var src = assertNodeType(args[0], \"url\").url;\n\n if (alt === \"\") {\n // No alt given. Use the file name. Strip away the path.\n alt = src;\n alt = alt.replace(/^.*[\\\\/]/, '');\n alt = alt.substring(0, alt.lastIndexOf('.'));\n }\n\n if (!parser.settings.isTrusted({\n command: \"\\\\includegraphics\",\n url: src\n })) {\n return parser.formatUnsupportedCmd(\"\\\\includegraphics\");\n }\n\n return {\n type: \"includegraphics\",\n mode: parser.mode,\n alt: alt,\n width: width,\n height: height,\n totalheight: totalheight,\n src: src\n };\n },\n htmlBuilder: (group, options) => {\n var height = calculateSize(group.height, options);\n var depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n }\n\n var width = 0;\n\n if (group.width.number > 0) {\n width = calculateSize(group.width, options);\n }\n\n var style = {\n height: makeEm(height + depth)\n };\n\n if (width > 0) {\n style.width = makeEm(width);\n }\n\n if (depth > 0) {\n style.verticalAlign = makeEm(-depth);\n }\n\n var node = new Img(group.src, group.alt, style);\n node.height = height;\n node.depth = depth;\n return node;\n },\n mathmlBuilder: (group, options) => {\n var node = new mathMLTree.MathNode(\"mglyph\", []);\n node.setAttribute(\"alt\", group.alt);\n var height = calculateSize(group.height, options);\n var depth = 0;\n\n if (group.totalheight.number > 0) {\n depth = calculateSize(group.totalheight, options) - height;\n node.setAttribute(\"valign\", makeEm(-depth));\n }\n\n node.setAttribute(\"height\", makeEm(height + depth));\n\n if (group.width.number > 0) {\n var width = calculateSize(group.width, options);\n node.setAttribute(\"width\", makeEm(width));\n }\n\n node.setAttribute(\"src\", group.src);\n return node;\n }\n});\n\n// Horizontal spacing commands\n\ndefineFunction({\n type: \"kern\",\n names: [\"\\\\kern\", \"\\\\mkern\", \"\\\\hskip\", \"\\\\mskip\"],\n props: {\n numArgs: 1,\n argTypes: [\"size\"],\n primitive: true,\n allowedInText: true\n },\n\n handler(_ref, args) {\n var {\n parser,\n funcName\n } = _ref;\n var size = assertNodeType(args[0], \"size\");\n\n if (parser.settings.strict) {\n var mathFunction = funcName[1] === 'm'; // \\mkern, \\mskip\n\n var muUnit = size.value.unit === 'mu';\n\n if (mathFunction) {\n if (!muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" supports only mu units, \" + (\"not \" + size.value.unit + \" units\"));\n }\n\n if (parser.mode !== \"math\") {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" works only in math mode\");\n }\n } else {\n // !mathFunction\n if (muUnit) {\n parser.settings.reportNonstrict(\"mathVsTextUnits\", \"LaTeX's \" + funcName + \" doesn't support mu units\");\n }\n }\n }\n\n return {\n type: \"kern\",\n mode: parser.mode,\n dimension: size.value\n };\n },\n\n htmlBuilder(group, options) {\n return buildCommon.makeGlue(group.dimension, options);\n },\n\n mathmlBuilder(group, options) {\n var dimension = calculateSize(group.dimension, options);\n return new mathMLTree.SpaceNode(dimension);\n }\n\n});\n\n// Horizontal overlap functions\ndefineFunction({\n type: \"lap\",\n names: [\"\\\\mathllap\", \"\\\\mathrlap\", \"\\\\mathclap\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName\n } = _ref;\n var body = args[0];\n return {\n type: \"lap\",\n mode: parser.mode,\n alignment: funcName.slice(5),\n body\n };\n },\n htmlBuilder: (group, options) => {\n // mathllap, mathrlap, mathclap\n var inner;\n\n if (group.alignment === \"clap\") {\n // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/\n inner = buildCommon.makeSpan([], [buildGroup$1(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span\n\n inner = buildCommon.makeSpan([\"inner\"], [inner], options);\n } else {\n inner = buildCommon.makeSpan([\"inner\"], [buildGroup$1(group.body, options)]);\n }\n\n var fix = buildCommon.makeSpan([\"fix\"], []);\n var node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the\n // two items involved in the lap.\n // Next, use a strut to set the height of the HTML bounding box.\n // Otherwise, a tall argument may be misplaced.\n // This code resolved issue #1153\n\n var strut = buildCommon.makeSpan([\"strut\"]);\n strut.style.height = makeEm(node.height + node.depth);\n\n if (node.depth) {\n strut.style.verticalAlign = makeEm(-node.depth);\n }\n\n node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall.\n // This code resolves issue #1234\n\n node = buildCommon.makeSpan([\"thinbox\"], [node], options);\n return buildCommon.makeSpan([\"mord\", \"vbox\"], [node], options);\n },\n mathmlBuilder: (group, options) => {\n // mathllap, mathrlap, mathclap\n var node = new mathMLTree.MathNode(\"mpadded\", [buildGroup(group.body, options)]);\n\n if (group.alignment !== \"rlap\") {\n var offset = group.alignment === \"llap\" ? \"-1\" : \"-0.5\";\n node.setAttribute(\"lspace\", offset + \"width\");\n }\n\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\(\", \"$\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n\n handler(_ref, args) {\n var {\n funcName,\n parser\n } = _ref;\n var outerMode = parser.mode;\n parser.switchMode(\"math\");\n var close = funcName === \"\\\\(\" ? \"\\\\)\" : \"$\";\n var body = parser.parseExpression(false, close);\n parser.expect(close);\n parser.switchMode(outerMode);\n return {\n type: \"styling\",\n mode: parser.mode,\n style: \"text\",\n body\n };\n }\n\n}); // Check for extra closing math delimiters\n\ndefineFunction({\n type: \"text\",\n // Doesn't matter what this is.\n names: [\"\\\\)\", \"\\\\]\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInMath: false\n },\n\n handler(context, args) {\n throw new ParseError(\"Mismatched \" + context.funcName);\n }\n\n});\n\nvar chooseMathStyle = (group, options) => {\n switch (options.style.size) {\n case Style$1.DISPLAY.size:\n return group.display;\n\n case Style$1.TEXT.size:\n return group.text;\n\n case Style$1.SCRIPT.size:\n return group.script;\n\n case Style$1.SCRIPTSCRIPT.size:\n return group.scriptscript;\n\n default:\n return group.text;\n }\n};\n\ndefineFunction({\n type: \"mathchoice\",\n names: [\"\\\\mathchoice\"],\n props: {\n numArgs: 4,\n primitive: true\n },\n handler: (_ref, args) => {\n var {\n parser\n } = _ref;\n return {\n type: \"mathchoice\",\n mode: parser.mode,\n display: ordargument(args[0]),\n text: ordargument(args[1]),\n script: ordargument(args[2]),\n scriptscript: ordargument(args[3])\n };\n },\n htmlBuilder: (group, options) => {\n var body = chooseMathStyle(group, options);\n var elements = buildExpression$1(body, options, false);\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n var body = chooseMathStyle(group, options);\n return buildExpressionRow(body, options);\n }\n});\n\nvar assembleSupSub = (base, supGroup, subGroup, options, style, slant, baseShift) => {\n base = buildCommon.makeSpan([], [base]);\n var subIsSingleCharacter = subGroup && utils.isCharacterBox(subGroup);\n var sub;\n var sup; // We manually have to handle the superscripts and subscripts. This,\n // aside from the kern calculations, is copied from supsub.\n\n if (supGroup) {\n var elem = buildGroup$1(supGroup, options.havingStyle(style.sup()), options);\n sup = {\n elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth)\n };\n }\n\n if (subGroup) {\n var _elem = buildGroup$1(subGroup, options.havingStyle(style.sub()), options);\n\n sub = {\n elem: _elem,\n kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - _elem.height)\n };\n } // Build the final group as a vlist of the possible subscript, base,\n // and possible superscript.\n\n\n var finalGroup;\n\n if (sup && sub) {\n var bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift;\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: bottom,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else if (sub) {\n var top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note\n // that we are supposed to shift the limits by 1/2 of the slant,\n // but since we are centering the limits adding a full slant of\n // margin will shift by 1/2 that.\n\n finalGroup = buildCommon.makeVList({\n positionType: \"top\",\n positionData: top,\n children: [{\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }, {\n type: \"elem\",\n elem: sub.elem,\n marginLeft: makeEm(-slant)\n }, {\n type: \"kern\",\n size: sub.kern\n }, {\n type: \"elem\",\n elem: base\n }]\n }, options);\n } else if (sup) {\n var _bottom = base.depth + baseShift;\n\n finalGroup = buildCommon.makeVList({\n positionType: \"bottom\",\n positionData: _bottom,\n children: [{\n type: \"elem\",\n elem: base\n }, {\n type: \"kern\",\n size: sup.kern\n }, {\n type: \"elem\",\n elem: sup.elem,\n marginLeft: makeEm(slant)\n }, {\n type: \"kern\",\n size: options.fontMetrics().bigOpSpacing5\n }]\n }, options);\n } else {\n // This case probably shouldn't occur (this would mean the\n // supsub was sending us a group with no superscript or\n // subscript) but be safe.\n return base;\n }\n\n var parts = [finalGroup];\n\n if (sub && slant !== 0 && !subIsSingleCharacter) {\n // A negative margin-left was applied to the lower limit.\n // Avoid an overlap by placing a spacer on the left on the group.\n var spacer = buildCommon.makeSpan([\"mspace\"], [], options);\n spacer.style.marginRight = makeEm(slant);\n parts.unshift(spacer);\n }\n\n return buildCommon.makeSpan([\"mop\", \"op-limits\"], parts, options);\n};\n\n// Limits, symbols\n// Most operators have a large successor symbol, but these don't.\nvar noSuccessor = [\"\\\\smallint\"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only \"op\", but also\n// \"supsub\" since some of them (like \\int) can affect super/subscripting.\n\nvar htmlBuilder$2 = (grp, options) => {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n var supGroup;\n var subGroup;\n var hasLimits = false;\n var group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"op\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"op\");\n }\n\n var style = options.style;\n var large = false;\n\n if (style.size === Style$1.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) {\n // Most symbol operators get larger in displaystyle (rule 13)\n large = true;\n }\n\n var base;\n\n if (group.symbol) {\n // If this is a symbol, create the symbol.\n var fontName = large ? \"Size2-Regular\" : \"Size1-Regular\";\n var stash = \"\";\n\n if (group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") {\n // No font glyphs yet, so use a glyph w/o the oval.\n // TODO: When font glyphs are available, delete this code.\n stash = group.name.slice(1);\n group.name = stash === \"oiint\" ? \"\\\\iint\" : \"\\\\iiint\";\n }\n\n base = buildCommon.makeSymbol(group.name, fontName, \"math\", options, [\"mop\", \"op-symbol\", large ? \"large-op\" : \"small-op\"]);\n\n if (stash.length > 0) {\n // We're in \\oiint or \\oiiint. Overlay the oval.\n // TODO: When font glyphs are available, delete this code.\n var italic = base.italic;\n var oval = buildCommon.staticSvg(stash + \"Size\" + (large ? \"2\" : \"1\"), options);\n base = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: [{\n type: \"elem\",\n elem: base,\n shift: 0\n }, {\n type: \"elem\",\n elem: oval,\n shift: large ? 0.08 : 0\n }]\n }, options);\n group.name = \"\\\\\" + stash;\n base.classes.unshift(\"mop\"); // $FlowFixMe\n\n base.italic = italic;\n }\n } else if (group.body) {\n // If this is a list, compose that list.\n var inner = buildExpression$1(group.body, options, true);\n\n if (inner.length === 1 && inner[0] instanceof SymbolNode) {\n base = inner[0];\n base.classes[0] = \"mop\"; // replace old mclass\n } else {\n base = buildCommon.makeSpan([\"mop\"], inner, options);\n }\n } else {\n // Otherwise, this is a text operator. Build the text from the\n // operator's name.\n var output = [];\n\n for (var i = 1; i < group.name.length; i++) {\n output.push(buildCommon.mathsym(group.name[i], group.mode, options));\n }\n\n base = buildCommon.makeSpan([\"mop\"], output, options);\n } // If content of op is a single symbol, shift it vertically.\n\n\n var baseShift = 0;\n var slant = 0;\n\n if ((base instanceof SymbolNode || group.name === \"\\\\oiint\" || group.name === \"\\\\oiiint\") && !group.suppressBaseShift) {\n // We suppress the shift of the base of \\overset and \\underset. Otherwise,\n // shift the symbol so its center lies on the axis (rule 13). It\n // appears that our fonts have the centers of the symbols already\n // almost on the axis, so these numbers are very small. Note we\n // don't actually apply this here, but instead it is used either in\n // the vlist creation or separately when there are no limits.\n baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction.\n // $FlowFixMe\n\n slant = base.italic;\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift);\n } else {\n if (baseShift) {\n base.style.position = \"relative\";\n base.style.top = makeEm(baseShift);\n }\n\n return base;\n }\n};\n\nvar mathmlBuilder$1 = (group, options) => {\n var node;\n\n if (group.symbol) {\n // This is a symbol. Just add the symbol.\n node = new MathNode(\"mo\", [makeText(group.name, group.mode)]);\n\n if (utils.contains(noSuccessor, group.name)) {\n node.setAttribute(\"largeop\", \"false\");\n }\n } else if (group.body) {\n // This is an operator with children. Add them.\n node = new MathNode(\"mo\", buildExpression(group.body, options));\n } else {\n // This is a text operator. Add all of the characters from the\n // operator's name.\n node = new MathNode(\"mi\", [new TextNode(group.name.slice(1))]); // Append an <mo>⁡</mo>.\n // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4\n\n var operator = new MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n node = new MathNode(\"mrow\", [node, operator]);\n } else {\n node = newDocumentFragment([node, operator]);\n }\n }\n\n return node;\n};\n\nvar singleCharBigOps = {\n \"\\u220F\": \"\\\\prod\",\n \"\\u2210\": \"\\\\coprod\",\n \"\\u2211\": \"\\\\sum\",\n \"\\u22c0\": \"\\\\bigwedge\",\n \"\\u22c1\": \"\\\\bigvee\",\n \"\\u22c2\": \"\\\\bigcap\",\n \"\\u22c3\": \"\\\\bigcup\",\n \"\\u2a00\": \"\\\\bigodot\",\n \"\\u2a01\": \"\\\\bigoplus\",\n \"\\u2a02\": \"\\\\bigotimes\",\n \"\\u2a04\": \"\\\\biguplus\",\n \"\\u2a06\": \"\\\\bigsqcup\"\n};\ndefineFunction({\n type: \"op\",\n names: [\"\\\\coprod\", \"\\\\bigvee\", \"\\\\bigwedge\", \"\\\\biguplus\", \"\\\\bigcap\", \"\\\\bigcup\", \"\\\\intop\", \"\\\\prod\", \"\\\\sum\", \"\\\\bigotimes\", \"\\\\bigoplus\", \"\\\\bigodot\", \"\\\\bigsqcup\", \"\\\\smallint\", \"\\u220F\", \"\\u2210\", \"\\u2211\", \"\\u22c0\", \"\\u22c1\", \"\\u22c2\", \"\\u22c3\", \"\\u2a00\", \"\\u2a01\", \"\\u2a02\", \"\\u2a04\", \"\\u2a06\"],\n props: {\n numArgs: 0\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName\n } = _ref;\n var fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharBigOps[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n htmlBuilder: htmlBuilder$2,\n mathmlBuilder: mathmlBuilder$1\n}); // Note: calling defineFunction with a type that's already been defined only\n// works because the same htmlBuilder and mathmlBuilder are being used.\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\mathop\"],\n props: {\n numArgs: 1,\n primitive: true\n },\n handler: (_ref2, args) => {\n var {\n parser\n } = _ref2;\n var body = args[0];\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n body: ordargument(body)\n };\n },\n htmlBuilder: htmlBuilder$2,\n mathmlBuilder: mathmlBuilder$1\n}); // There are 2 flags for operators; whether they produce limits in\n// displaystyle, and whether they are symbols and should grow in\n// displaystyle. These four groups cover the four possible choices.\n\nvar singleCharIntegrals = {\n \"\\u222b\": \"\\\\int\",\n \"\\u222c\": \"\\\\iint\",\n \"\\u222d\": \"\\\\iiint\",\n \"\\u222e\": \"\\\\oint\",\n \"\\u222f\": \"\\\\oiint\",\n \"\\u2230\": \"\\\\oiiint\"\n}; // No limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\arcsin\", \"\\\\arccos\", \"\\\\arctan\", \"\\\\arctg\", \"\\\\arcctg\", \"\\\\arg\", \"\\\\ch\", \"\\\\cos\", \"\\\\cosec\", \"\\\\cosh\", \"\\\\cot\", \"\\\\cotg\", \"\\\\coth\", \"\\\\csc\", \"\\\\ctg\", \"\\\\cth\", \"\\\\deg\", \"\\\\dim\", \"\\\\exp\", \"\\\\hom\", \"\\\\ker\", \"\\\\lg\", \"\\\\ln\", \"\\\\log\", \"\\\\sec\", \"\\\\sin\", \"\\\\sinh\", \"\\\\sh\", \"\\\\tan\", \"\\\\tanh\", \"\\\\tg\", \"\\\\th\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref3) {\n var {\n parser,\n funcName\n } = _ref3;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n\n htmlBuilder: htmlBuilder$2,\n mathmlBuilder: mathmlBuilder$1\n}); // Limits, not symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\det\", \"\\\\gcd\", \"\\\\inf\", \"\\\\lim\", \"\\\\max\", \"\\\\min\", \"\\\\Pr\", \"\\\\sup\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref4) {\n var {\n parser,\n funcName\n } = _ref4;\n return {\n type: \"op\",\n mode: parser.mode,\n limits: true,\n parentIsSupSub: false,\n symbol: false,\n name: funcName\n };\n },\n\n htmlBuilder: htmlBuilder$2,\n mathmlBuilder: mathmlBuilder$1\n}); // No limits, symbols\n\ndefineFunction({\n type: \"op\",\n names: [\"\\\\int\", \"\\\\iint\", \"\\\\iiint\", \"\\\\oint\", \"\\\\oiint\", \"\\\\oiiint\", \"\\u222b\", \"\\u222c\", \"\\u222d\", \"\\u222e\", \"\\u222f\", \"\\u2230\"],\n props: {\n numArgs: 0\n },\n\n handler(_ref5) {\n var {\n parser,\n funcName\n } = _ref5;\n var fName = funcName;\n\n if (fName.length === 1) {\n fName = singleCharIntegrals[fName];\n }\n\n return {\n type: \"op\",\n mode: parser.mode,\n limits: false,\n parentIsSupSub: false,\n symbol: true,\n name: fName\n };\n },\n\n htmlBuilder: htmlBuilder$2,\n mathmlBuilder: mathmlBuilder$1\n});\n\n// NOTE: Unlike most `htmlBuilder`s, this one handles not only\n// \"operatorname\", but also \"supsub\" since \\operatorname* can\n// affect super/subscripting.\nvar htmlBuilder$1 = (grp, options) => {\n // Operators are handled in the TeXbook pg. 443-444, rule 13(a).\n var supGroup;\n var subGroup;\n var hasLimits = false;\n var group;\n\n if (grp.type === \"supsub\") {\n // If we have limits, supsub will pass us its group to handle. Pull\n // out the superscript and subscript and set the group to the op in\n // its base.\n supGroup = grp.sup;\n subGroup = grp.sub;\n group = assertNodeType(grp.base, \"operatorname\");\n hasLimits = true;\n } else {\n group = assertNodeType(grp, \"operatorname\");\n }\n\n var base;\n\n if (group.body.length > 0) {\n var body = group.body.map(child => {\n // $FlowFixMe: Check if the node has a string `text` property.\n var childText = child.text;\n\n if (typeof childText === \"string\") {\n return {\n type: \"textord\",\n mode: child.mode,\n text: childText\n };\n } else {\n return child;\n }\n }); // Consolidate function names into symbol characters.\n\n var expression = buildExpression$1(body, options.withFont(\"mathrm\"), true);\n\n for (var i = 0; i < expression.length; i++) {\n var child = expression[i];\n\n if (child instanceof SymbolNode) {\n // Per amsopn package,\n // change minus to hyphen and \\ast to asterisk\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n }\n }\n\n base = buildCommon.makeSpan([\"mop\"], expression, options);\n } else {\n base = buildCommon.makeSpan([\"mop\"], [], options);\n }\n\n if (hasLimits) {\n return assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0);\n } else {\n return base;\n }\n};\n\nvar mathmlBuilder = (group, options) => {\n // The steps taken here are similar to the html version.\n var expression = buildExpression(group.body, options.withFont(\"mathrm\")); // Is expression a string or has it something like a fraction?\n\n var isAllString = true; // default\n\n for (var i = 0; i < expression.length; i++) {\n var node = expression[i];\n\n if (node instanceof mathMLTree.SpaceNode) ; else if (node instanceof mathMLTree.MathNode) {\n switch (node.type) {\n case \"mi\":\n case \"mn\":\n case \"ms\":\n case \"mspace\":\n case \"mtext\":\n break;\n // Do nothing yet.\n\n case \"mo\":\n {\n var child = node.children[0];\n\n if (node.children.length === 1 && child instanceof mathMLTree.TextNode) {\n child.text = child.text.replace(/\\u2212/, \"-\").replace(/\\u2217/, \"*\");\n } else {\n isAllString = false;\n }\n\n break;\n }\n\n default:\n isAllString = false;\n }\n } else {\n isAllString = false;\n }\n }\n\n if (isAllString) {\n // Write a single TextNode instead of multiple nested tags.\n var word = expression.map(node => node.toText()).join(\"\");\n expression = [new mathMLTree.TextNode(word)];\n }\n\n var identifier = new mathMLTree.MathNode(\"mi\", expression);\n identifier.setAttribute(\"mathvariant\", \"normal\"); // \\u2061 is the same as ⁡\n // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp\n\n var operator = new mathMLTree.MathNode(\"mo\", [makeText(\"\\u2061\", \"text\")]);\n\n if (group.parentIsSupSub) {\n return new mathMLTree.MathNode(\"mrow\", [identifier, operator]);\n } else {\n return mathMLTree.newDocumentFragment([identifier, operator]);\n }\n}; // \\operatorname\n// amsopn.dtx: \\mathop{#1\\kern\\z@\\operator@font#3}\\newmcodes@\n\n\ndefineFunction({\n type: \"operatorname\",\n names: [\"\\\\operatorname@\", \"\\\\operatornamewithlimits\"],\n props: {\n numArgs: 1\n },\n handler: (_ref, args) => {\n var {\n parser,\n funcName\n } = _ref;\n var body = args[0];\n return {\n type: \"operatorname\",\n mode: parser.mode,\n body: ordargument(body),\n alwaysHandleSupSub: funcName === \"\\\\operatornamewithlimits\",\n limits: false,\n parentIsSupSub: false\n };\n },\n htmlBuilder: htmlBuilder$1,\n mathmlBuilder\n});\ndefineMacro(\"\\\\operatorname\", \"\\\\@ifstar\\\\operatornamewithlimits\\\\operatorname@\");\n\ndefineFunctionBuilders({\n type: \"ordgroup\",\n\n htmlBuilder(group, options) {\n if (group.semisimple) {\n return buildCommon.makeFragment(buildExpression$1(group.body, options, false));\n }\n\n return buildCommon.makeSpan([\"mord\"], buildExpression$1(group.body, options, true), options);\n },\n\n mathmlBuilder(group, options) {\n return buildExpressionRow(group.body, options, true);\n }\n\n});\n\ndefineFunction({\n type: \"overline\",\n names: [\"\\\\overline\"],\n props: {\n numArgs: 1\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n var body = args[0];\n return {\n type: \"overline\",\n mode: parser.mode,\n body\n };\n },\n\n htmlBuilder(group, options) {\n // Overlines are handled in the TeXbook pg 443, Rule 9.\n // Build the inner group in the cramped style.\n var innerGroup = buildGroup$1(group.body, options.havingCrampedStyle()); // Create the line above the body\n\n var line = buildCommon.makeLineSpan(\"overline-line\", options); // Generate the vlist, with the appropriate kerns\n\n var defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n var vlist = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: innerGroup\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: defaultRuleThickness\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"overline\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n var operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n var node = new mathMLTree.MathNode(\"mover\", [buildGroup(group.body, options), operator]);\n node.setAttribute(\"accent\", \"true\");\n return node;\n }\n\n});\n\ndefineFunction({\n type: \"phantom\",\n names: [\"\\\\phantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args) => {\n var {\n parser\n } = _ref;\n var body = args[0];\n return {\n type: \"phantom\",\n mode: parser.mode,\n body: ordargument(body)\n };\n },\n htmlBuilder: (group, options) => {\n var elements = buildExpression$1(group.body, options.withPhantom(), false); // \\phantom isn't supposed to affect the elements it contains.\n // See \"color\" for more details.\n\n return buildCommon.makeFragment(elements);\n },\n mathmlBuilder: (group, options) => {\n var inner = buildExpression(group.body, options);\n return new mathMLTree.MathNode(\"mphantom\", inner);\n }\n});\ndefineFunction({\n type: \"hphantom\",\n names: [\"\\\\hphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref2, args) => {\n var {\n parser\n } = _ref2;\n var body = args[0];\n return {\n type: \"hphantom\",\n mode: parser.mode,\n body\n };\n },\n htmlBuilder: (group, options) => {\n var node = buildCommon.makeSpan([], [buildGroup$1(group.body, options.withPhantom())]);\n node.height = 0;\n node.depth = 0;\n\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n node.children[i].depth = 0;\n }\n } // See smash for comment re: use of makeVList\n\n\n node = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\smash as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [node], options);\n },\n mathmlBuilder: (group, options) => {\n var inner = buildExpression(ordargument(group.body), options);\n var phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n var node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"height\", \"0px\");\n node.setAttribute(\"depth\", \"0px\");\n return node;\n }\n});\ndefineFunction({\n type: \"vphantom\",\n names: [\"\\\\vphantom\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n handler: (_ref3, args) => {\n var {\n parser\n } = _ref3;\n var body = args[0];\n return {\n type: \"vphantom\",\n mode: parser.mode,\n body\n };\n },\n htmlBuilder: (group, options) => {\n var inner = buildCommon.makeSpan([\"inner\"], [buildGroup$1(group.body, options.withPhantom())]);\n var fix = buildCommon.makeSpan([\"fix\"], []);\n return buildCommon.makeSpan([\"mord\", \"rlap\"], [inner, fix], options);\n },\n mathmlBuilder: (group, options) => {\n var inner = buildExpression(ordargument(group.body), options);\n var phantom = new mathMLTree.MathNode(\"mphantom\", inner);\n var node = new mathMLTree.MathNode(\"mpadded\", [phantom]);\n node.setAttribute(\"width\", \"0px\");\n return node;\n }\n});\n\ndefineFunction({\n type: \"raisebox\",\n names: [\"\\\\raisebox\"],\n props: {\n numArgs: 2,\n argTypes: [\"size\", \"hbox\"],\n allowedInText: true\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n var amount = assertNodeType(args[0], \"size\").value;\n var body = args[1];\n return {\n type: \"raisebox\",\n mode: parser.mode,\n dy: amount,\n body\n };\n },\n\n htmlBuilder(group, options) {\n var body = buildGroup$1(group.body, options);\n var dy = calculateSize(group.dy, options);\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n\n mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mpadded\", [buildGroup(group.body, options)]);\n var dy = group.dy.number + group.dy.unit;\n node.setAttribute(\"voffset\", dy);\n return node;\n }\n\n});\n\ndefineFunction({\n type: \"internal\",\n names: [\"\\\\relax\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n allowedInArgument: true\n },\n\n handler(_ref) {\n var {\n parser\n } = _ref;\n return {\n type: \"internal\",\n mode: parser.mode\n };\n }\n\n});\n\ndefineFunction({\n type: \"rule\",\n names: [\"\\\\rule\"],\n props: {\n numArgs: 2,\n numOptionalArgs: 1,\n allowedInText: true,\n allowedInMath: true,\n argTypes: [\"size\", \"size\", \"size\"]\n },\n\n handler(_ref, args, optArgs) {\n var {\n parser\n } = _ref;\n var shift = optArgs[0];\n var width = assertNodeType(args[0], \"size\");\n var height = assertNodeType(args[1], \"size\");\n return {\n type: \"rule\",\n mode: parser.mode,\n shift: shift && assertNodeType(shift, \"size\").value,\n width: width.value,\n height: height.value\n };\n },\n\n htmlBuilder(group, options) {\n // Make an empty span for the rule\n var rule = buildCommon.makeSpan([\"mord\", \"rule\"], [], options); // Calculate the shift, width, and height of the rule, and account for units\n\n var width = calculateSize(group.width, options);\n var height = calculateSize(group.height, options);\n var shift = group.shift ? calculateSize(group.shift, options) : 0; // Style the rule to the right size\n\n rule.style.borderRightWidth = makeEm(width);\n rule.style.borderTopWidth = makeEm(height);\n rule.style.bottom = makeEm(shift); // Record the height and width\n\n rule.width = width;\n rule.height = height + shift;\n rule.depth = -shift; // Font size is the number large enough that the browser will\n // reserve at least `absHeight` space above the baseline.\n // The 1.125 factor was empirically determined\n\n rule.maxFontSize = height * 1.125 * options.sizeMultiplier;\n return rule;\n },\n\n mathmlBuilder(group, options) {\n var width = calculateSize(group.width, options);\n var height = calculateSize(group.height, options);\n var shift = group.shift ? calculateSize(group.shift, options) : 0;\n var color = options.color && options.getColor() || \"black\";\n var rule = new mathMLTree.MathNode(\"mspace\");\n rule.setAttribute(\"mathbackground\", color);\n rule.setAttribute(\"width\", makeEm(width));\n rule.setAttribute(\"height\", makeEm(height));\n var wrapper = new mathMLTree.MathNode(\"mpadded\", [rule]);\n\n if (shift >= 0) {\n wrapper.setAttribute(\"height\", makeEm(shift));\n } else {\n wrapper.setAttribute(\"height\", makeEm(shift));\n wrapper.setAttribute(\"depth\", makeEm(-shift));\n }\n\n wrapper.setAttribute(\"voffset\", makeEm(shift));\n return wrapper;\n }\n\n});\n\nfunction sizingGroup(value, options, baseOptions) {\n var inner = buildExpression$1(value, options, false);\n var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize\n // manually. Handle nested size changes.\n\n for (var i = 0; i < inner.length; i++) {\n var pos = inner[i].classes.indexOf(\"sizing\");\n\n if (pos < 0) {\n Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions));\n } else if (inner[i].classes[pos + 1] === \"reset-size\" + options.size) {\n // This is a nested size change: e.g., inner[i] is the \"b\" in\n // `\\Huge a \\small b`. Override the old size (the `reset-` class)\n // but not the new size.\n inner[i].classes[pos + 1] = \"reset-size\" + baseOptions.size;\n }\n\n inner[i].height *= multiplier;\n inner[i].depth *= multiplier;\n }\n\n return buildCommon.makeFragment(inner);\n}\nvar sizeFuncs = [\"\\\\tiny\", \"\\\\sixptsize\", \"\\\\scriptsize\", \"\\\\footnotesize\", \"\\\\small\", \"\\\\normalsize\", \"\\\\large\", \"\\\\Large\", \"\\\\LARGE\", \"\\\\huge\", \"\\\\Huge\"];\nvar htmlBuilder = (group, options) => {\n // Handle sizing operators like \\Huge. Real TeX doesn't actually allow\n // these functions inside of math expressions, so we do some special\n // handling.\n var newOptions = options.havingSize(group.size);\n return sizingGroup(group.body, newOptions, options);\n};\ndefineFunction({\n type: \"sizing\",\n names: sizeFuncs,\n props: {\n numArgs: 0,\n allowedInText: true\n },\n handler: (_ref, args) => {\n var {\n breakOnTokenText,\n funcName,\n parser\n } = _ref;\n var body = parser.parseExpression(false, breakOnTokenText);\n return {\n type: \"sizing\",\n mode: parser.mode,\n // Figure out what size to use based on the list of functions above\n size: sizeFuncs.indexOf(funcName) + 1,\n body\n };\n },\n htmlBuilder,\n mathmlBuilder: (group, options) => {\n var newOptions = options.havingSize(group.size);\n var inner = buildExpression(group.body, newOptions);\n var node = new mathMLTree.MathNode(\"mstyle\", inner); // TODO(emily): This doesn't produce the correct size for nested size\n // changes, because we don't keep state of what style we're currently\n // in, so we can't reset the size to normal before changing it. Now\n // that we're passing an options parameter we should be able to fix\n // this.\n\n node.setAttribute(\"mathsize\", makeEm(newOptions.sizeMultiplier));\n return node;\n }\n});\n\n// smash, with optional [tb], as in AMS\ndefineFunction({\n type: \"smash\",\n names: [\"\\\\smash\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1,\n allowedInText: true\n },\n handler: (_ref, args, optArgs) => {\n var {\n parser\n } = _ref;\n var smashHeight = false;\n var smashDepth = false;\n var tbArg = optArgs[0] && assertNodeType(optArgs[0], \"ordgroup\");\n\n if (tbArg) {\n // Optional [tb] argument is engaged.\n // ref: amsmath: \\renewcommand{\\smash}[1][tb]{%\n // def\\mb@t{\\ht}\\def\\mb@b{\\dp}\\def\\mb@tb{\\ht\\z@\\z@\\dp}%\n var letter = \"\";\n\n for (var i = 0; i < tbArg.body.length; ++i) {\n var node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n letter = node.text;\n\n if (letter === \"t\") {\n smashHeight = true;\n } else if (letter === \"b\") {\n smashDepth = true;\n } else {\n smashHeight = false;\n smashDepth = false;\n break;\n }\n }\n } else {\n smashHeight = true;\n smashDepth = true;\n }\n\n var body = args[0];\n return {\n type: \"smash\",\n mode: parser.mode,\n body,\n smashHeight,\n smashDepth\n };\n },\n htmlBuilder: (group, options) => {\n var node = buildCommon.makeSpan([], [buildGroup$1(group.body, options)]);\n\n if (!group.smashHeight && !group.smashDepth) {\n return node;\n }\n\n if (group.smashHeight) {\n node.height = 0; // In order to influence makeVList, we have to reset the children.\n\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n node.children[i].height = 0;\n }\n }\n }\n\n if (group.smashDepth) {\n node.depth = 0;\n\n if (node.children) {\n for (var _i = 0; _i < node.children.length; _i++) {\n node.children[_i].depth = 0;\n }\n }\n } // At this point, we've reset the TeX-like height and depth values.\n // But the span still has an HTML line height.\n // makeVList applies \"display: table-cell\", which prevents the browser\n // from acting on that line height. So we'll call makeVList now.\n\n\n var smashedNode = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: node\n }]\n }, options); // For spacing, TeX treats \\hphantom as a math group (same spacing as ord).\n\n return buildCommon.makeSpan([\"mord\"], [smashedNode], options);\n },\n mathmlBuilder: (group, options) => {\n var node = new mathMLTree.MathNode(\"mpadded\", [buildGroup(group.body, options)]);\n\n if (group.smashHeight) {\n node.setAttribute(\"height\", \"0px\");\n }\n\n if (group.smashDepth) {\n node.setAttribute(\"depth\", \"0px\");\n }\n\n return node;\n }\n});\n\ndefineFunction({\n type: \"sqrt\",\n names: [\"\\\\sqrt\"],\n props: {\n numArgs: 1,\n numOptionalArgs: 1\n },\n\n handler(_ref, args, optArgs) {\n var {\n parser\n } = _ref;\n var index = optArgs[0];\n var body = args[0];\n return {\n type: \"sqrt\",\n mode: parser.mode,\n body,\n index\n };\n },\n\n htmlBuilder(group, options) {\n // Square roots are handled in the TeXbook pg. 443, Rule 11.\n // First, we do the same steps as in overline to build the inner group\n // and line\n var inner = buildGroup$1(group.body, options.havingCrampedStyle());\n\n if (inner.height === 0) {\n // Render a small surd.\n inner.height = options.fontMetrics().xHeight;\n } // Some groups can return document fragments. Handle those by wrapping\n // them in a span.\n\n\n inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \\surd delimiter\n\n var metrics = options.fontMetrics();\n var theta = metrics.defaultRuleThickness;\n var phi = theta;\n\n if (options.style.id < Style$1.TEXT.id) {\n phi = options.fontMetrics().xHeight;\n } // Calculate the clearance between the body and line\n\n\n var lineClearance = theta + phi / 4;\n var minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size\n\n var {\n span: img,\n ruleWidth,\n advanceWidth\n } = delimiter.sqrtImage(minDelimiterHeight, options);\n var delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size\n\n if (delimDepth > inner.height + inner.depth + lineClearance) {\n lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2;\n } // Shift the sqrt image\n\n\n var imgShift = img.height - inner.height - lineClearance - ruleWidth;\n inner.style.paddingLeft = makeEm(advanceWidth); // Overlay the image and the argument.\n\n var body = buildCommon.makeVList({\n positionType: \"firstBaseline\",\n children: [{\n type: \"elem\",\n elem: inner,\n wrapperClasses: [\"svg-align\"]\n }, {\n type: \"kern\",\n size: -(inner.height + imgShift)\n }, {\n type: \"elem\",\n elem: img\n }, {\n type: \"kern\",\n size: ruleWidth\n }]\n }, options);\n\n if (!group.index) {\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [body], options);\n } else {\n // Handle the optional root index\n // The index is always in scriptscript style\n var newOptions = options.havingStyle(Style$1.SCRIPTSCRIPT);\n var rootm = buildGroup$1(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX\n // source, in the definition of `\\r@@t`.\n\n var toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly\n\n var rootVList = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -toShift,\n children: [{\n type: \"elem\",\n elem: rootm\n }]\n }, options); // Add a class surrounding it so we can add on the appropriate\n // kerning\n\n var rootVListWrap = buildCommon.makeSpan([\"root\"], [rootVList]);\n return buildCommon.makeSpan([\"mord\", \"sqrt\"], [rootVListWrap, body], options);\n }\n },\n\n mathmlBuilder(group, options) {\n var {\n body,\n index\n } = group;\n return index ? new mathMLTree.MathNode(\"mroot\", [buildGroup(body, options), buildGroup(index, options)]) : new mathMLTree.MathNode(\"msqrt\", [buildGroup(body, options)]);\n }\n\n});\n\nvar styleMap = {\n \"display\": Style$1.DISPLAY,\n \"text\": Style$1.TEXT,\n \"script\": Style$1.SCRIPT,\n \"scriptscript\": Style$1.SCRIPTSCRIPT\n};\ndefineFunction({\n type: \"styling\",\n names: [\"\\\\displaystyle\", \"\\\\textstyle\", \"\\\\scriptstyle\", \"\\\\scriptscriptstyle\"],\n props: {\n numArgs: 0,\n allowedInText: true,\n primitive: true\n },\n\n handler(_ref, args) {\n var {\n breakOnTokenText,\n funcName,\n parser\n } = _ref;\n // parse out the implicit body\n var body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g.\n // here and in buildHTML and de-dupe the enumeration of all the styles).\n // $FlowFixMe: The names above exactly match the styles.\n\n var style = funcName.slice(1, funcName.length - 5);\n return {\n type: \"styling\",\n mode: parser.mode,\n // Figure out what style to use by pulling out the style from\n // the function name\n style,\n body\n };\n },\n\n htmlBuilder(group, options) {\n // Style changes are handled in the TeXbook on pg. 442, Rule 3.\n var newStyle = styleMap[group.style];\n var newOptions = options.havingStyle(newStyle).withFont('');\n return sizingGroup(group.body, newOptions, options);\n },\n\n mathmlBuilder(group, options) {\n // Figure out what style we're changing to.\n var newStyle = styleMap[group.style];\n var newOptions = options.havingStyle(newStyle);\n var inner = buildExpression(group.body, newOptions);\n var node = new mathMLTree.MathNode(\"mstyle\", inner);\n var styleAttributes = {\n \"display\": [\"0\", \"true\"],\n \"text\": [\"0\", \"false\"],\n \"script\": [\"1\", \"false\"],\n \"scriptscript\": [\"2\", \"false\"]\n };\n var attr = styleAttributes[group.style];\n node.setAttribute(\"scriptlevel\", attr[0]);\n node.setAttribute(\"displaystyle\", attr[1]);\n return node;\n }\n\n});\n\n/**\n * Sometimes, groups perform special rules when they have superscripts or\n * subscripts attached to them. This function lets the `supsub` group know that\n * Sometimes, groups perform special rules when they have superscripts or\n * its inner element should handle the superscripts and subscripts instead of\n * handling them itself.\n */\nvar htmlBuilderDelegate = function htmlBuilderDelegate(group, options) {\n var base = group.base;\n\n if (!base) {\n return null;\n } else if (base.type === \"op\") {\n // Operators handle supsubs differently when they have limits\n // (e.g. `\\displaystyle\\sum_2^3`)\n var delegate = base.limits && (options.style.size === Style$1.DISPLAY.size || base.alwaysHandleSupSub);\n return delegate ? htmlBuilder$2 : null;\n } else if (base.type === \"operatorname\") {\n var _delegate = base.alwaysHandleSupSub && (options.style.size === Style$1.DISPLAY.size || base.limits);\n\n return _delegate ? htmlBuilder$1 : null;\n } else if (base.type === \"accent\") {\n return utils.isCharacterBox(base.base) ? htmlBuilder$a : null;\n } else if (base.type === \"horizBrace\") {\n var isSup = !group.sub;\n return isSup === base.isOver ? htmlBuilder$3 : null;\n } else {\n return null;\n }\n}; // Super scripts and subscripts, whose precise placement can depend on other\n// functions that precede them.\n\n\ndefineFunctionBuilders({\n type: \"supsub\",\n\n htmlBuilder(group, options) {\n // Superscript and subscripts are handled in the TeXbook on page\n // 445-446, rules 18(a-f).\n // Here is where we defer to the inner group if it should handle\n // superscripts and subscripts itself.\n var builderDelegate = htmlBuilderDelegate(group, options);\n\n if (builderDelegate) {\n return builderDelegate(group, options);\n }\n\n var {\n base: valueBase,\n sup: valueSup,\n sub: valueSub\n } = group;\n var base = buildGroup$1(valueBase, options);\n var supm;\n var subm;\n var metrics = options.fontMetrics(); // Rule 18a\n\n var supShift = 0;\n var subShift = 0;\n var isCharacterBox = valueBase && utils.isCharacterBox(valueBase);\n\n if (valueSup) {\n var newOptions = options.havingStyle(options.style.sup());\n supm = buildGroup$1(valueSup, newOptions, options);\n\n if (!isCharacterBox) {\n supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n }\n\n if (valueSub) {\n var _newOptions = options.havingStyle(options.style.sub());\n\n subm = buildGroup$1(valueSub, _newOptions, options);\n\n if (!isCharacterBox) {\n subShift = base.depth + _newOptions.fontMetrics().subDrop * _newOptions.sizeMultiplier / options.sizeMultiplier;\n }\n } // Rule 18c\n\n\n var minSupShift;\n\n if (options.style === Style$1.DISPLAY) {\n minSupShift = metrics.sup1;\n } else if (options.style.cramped) {\n minSupShift = metrics.sup3;\n } else {\n minSupShift = metrics.sup2;\n } // scriptspace is a font-size-independent size, so scale it\n // appropriately for use as the marginRight.\n\n\n var multiplier = options.sizeMultiplier;\n var marginRight = makeEm(0.5 / metrics.ptPerEm / multiplier);\n var marginLeft = null;\n\n if (subm) {\n // Subscripts shouldn't be shifted by the base's italic correction.\n // Account for that by shifting the subscript back the appropriate\n // amount. Note we only do this when the base is a single symbol.\n var isOiint = group.base && group.base.type === \"op\" && group.base.name && (group.base.name === \"\\\\oiint\" || group.base.name === \"\\\\oiiint\");\n\n if (base instanceof SymbolNode || isOiint) {\n // $FlowFixMe\n marginLeft = makeEm(-base.italic);\n }\n }\n\n var supsub;\n\n if (supm && subm) {\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n subShift = Math.max(subShift, metrics.sub2);\n var ruleWidth = metrics.defaultRuleThickness; // Rule 18e\n\n var maxWidth = 4 * ruleWidth;\n\n if (supShift - supm.depth - (subm.height - subShift) < maxWidth) {\n subShift = maxWidth - (supShift - supm.depth) + subm.height;\n var psi = 0.8 * metrics.xHeight - (supShift - supm.depth);\n\n if (psi > 0) {\n supShift += psi;\n subShift -= psi;\n }\n }\n\n var vlistElem = [{\n type: \"elem\",\n elem: subm,\n shift: subShift,\n marginRight,\n marginLeft\n }, {\n type: \"elem\",\n elem: supm,\n shift: -supShift,\n marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"individualShift\",\n children: vlistElem\n }, options);\n } else if (subm) {\n // Rule 18b\n subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight);\n var _vlistElem = [{\n type: \"elem\",\n elem: subm,\n marginLeft,\n marginRight\n }];\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: subShift,\n children: _vlistElem\n }, options);\n } else if (supm) {\n // Rule 18c, d\n supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight);\n supsub = buildCommon.makeVList({\n positionType: \"shift\",\n positionData: -supShift,\n children: [{\n type: \"elem\",\n elem: supm,\n marginRight\n }]\n }, options);\n } else {\n throw new Error(\"supsub must have either sup or sub.\");\n } // Wrap the supsub vlist in a span.msupsub to reset text-align.\n\n\n var mclass = getTypeOfDomTree(base, \"right\") || \"mord\";\n return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan([\"msupsub\"], [supsub])], options);\n },\n\n mathmlBuilder(group, options) {\n // Is the inner group a relevant horizontal brace?\n var isBrace = false;\n var isOver;\n var isSup;\n\n if (group.base && group.base.type === \"horizBrace\") {\n isSup = !!group.sup;\n\n if (isSup === group.base.isOver) {\n isBrace = true;\n isOver = group.base.isOver;\n }\n }\n\n if (group.base && (group.base.type === \"op\" || group.base.type === \"operatorname\")) {\n group.base.parentIsSupSub = true;\n }\n\n var children = [buildGroup(group.base, options)];\n\n if (group.sub) {\n children.push(buildGroup(group.sub, options));\n }\n\n if (group.sup) {\n children.push(buildGroup(group.sup, options));\n }\n\n var nodeType;\n\n if (isBrace) {\n nodeType = isOver ? \"mover\" : \"munder\";\n } else if (!group.sub) {\n var base = group.base;\n\n if (base && base.type === \"op\" && base.limits && (options.style === Style$1.DISPLAY || base.alwaysHandleSupSub)) {\n nodeType = \"mover\";\n } else if (base && base.type === \"operatorname\" && base.alwaysHandleSupSub && (base.limits || options.style === Style$1.DISPLAY)) {\n nodeType = \"mover\";\n } else {\n nodeType = \"msup\";\n }\n } else if (!group.sup) {\n var _base = group.base;\n\n if (_base && _base.type === \"op\" && _base.limits && (options.style === Style$1.DISPLAY || _base.alwaysHandleSupSub)) {\n nodeType = \"munder\";\n } else if (_base && _base.type === \"operatorname\" && _base.alwaysHandleSupSub && (_base.limits || options.style === Style$1.DISPLAY)) {\n nodeType = \"munder\";\n } else {\n nodeType = \"msub\";\n }\n } else {\n var _base2 = group.base;\n\n if (_base2 && _base2.type === \"op\" && _base2.limits && options.style === Style$1.DISPLAY) {\n nodeType = \"munderover\";\n } else if (_base2 && _base2.type === \"operatorname\" && _base2.alwaysHandleSupSub && (options.style === Style$1.DISPLAY || _base2.limits)) {\n nodeType = \"munderover\";\n } else {\n nodeType = \"msubsup\";\n }\n }\n\n return new mathMLTree.MathNode(nodeType, children);\n }\n\n});\n\ndefineFunctionBuilders({\n type: \"atom\",\n\n htmlBuilder(group, options) {\n return buildCommon.mathsym(group.text, group.mode, options, [\"m\" + group.family]);\n },\n\n mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mo\", [makeText(group.text, group.mode)]);\n\n if (group.family === \"bin\") {\n var variant = getVariant(group, options);\n\n if (variant === \"bold-italic\") {\n node.setAttribute(\"mathvariant\", variant);\n }\n } else if (group.family === \"punct\") {\n node.setAttribute(\"separator\", \"true\");\n } else if (group.family === \"open\" || group.family === \"close\") {\n // Delims built here should not stretch vertically.\n // See delimsizing.js for stretchy delims.\n node.setAttribute(\"stretchy\", \"false\");\n }\n\n return node;\n }\n\n});\n\n// \"mathord\" and \"textord\" ParseNodes created in Parser.js from symbol Groups in\n// src/symbols.js.\nvar defaultVariant = {\n \"mi\": \"italic\",\n \"mn\": \"normal\",\n \"mtext\": \"normal\"\n};\ndefineFunctionBuilders({\n type: \"mathord\",\n\n htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"mathord\");\n },\n\n mathmlBuilder(group, options) {\n var node = new mathMLTree.MathNode(\"mi\", [makeText(group.text, group.mode, options)]);\n var variant = getVariant(group, options) || \"italic\";\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n\n});\ndefineFunctionBuilders({\n type: \"textord\",\n\n htmlBuilder(group, options) {\n return buildCommon.makeOrd(group, options, \"textord\");\n },\n\n mathmlBuilder(group, options) {\n var text = makeText(group.text, group.mode, options);\n var variant = getVariant(group, options) || \"normal\";\n var node;\n\n if (group.mode === 'text') {\n node = new mathMLTree.MathNode(\"mtext\", [text]);\n } else if (/[0-9]/.test(group.text)) {\n node = new mathMLTree.MathNode(\"mn\", [text]);\n } else if (group.text === \"\\\\prime\") {\n node = new mathMLTree.MathNode(\"mo\", [text]);\n } else {\n node = new mathMLTree.MathNode(\"mi\", [text]);\n }\n\n if (variant !== defaultVariant[node.type]) {\n node.setAttribute(\"mathvariant\", variant);\n }\n\n return node;\n }\n\n});\n\nvar cssSpace = {\n \"\\\\nobreak\": \"nobreak\",\n \"\\\\allowbreak\": \"allowbreak\"\n}; // A lookup table to determine whether a spacing function/symbol should be\n// treated like a regular space character. If a symbol or command is a key\n// in this table, then it should be a regular space character. Furthermore,\n// the associated value may have a `className` specifying an extra CSS class\n// to add to the created `span`.\n\nvar regularSpace = {\n \" \": {},\n \"\\\\ \": {},\n \"~\": {\n className: \"nobreak\"\n },\n \"\\\\space\": {},\n \"\\\\nobreakspace\": {\n className: \"nobreak\"\n }\n}; // ParseNode<\"spacing\"> created in Parser.js from the \"spacing\" symbol Groups in\n// src/symbols.js.\n\ndefineFunctionBuilders({\n type: \"spacing\",\n\n htmlBuilder(group, options) {\n if (regularSpace.hasOwnProperty(group.text)) {\n var className = regularSpace[group.text].className || \"\"; // Spaces are generated by adding an actual space. Each of these\n // things has an entry in the symbols table, so these will be turned\n // into appropriate outputs.\n\n if (group.mode === \"text\") {\n var ord = buildCommon.makeOrd(group, options, \"textord\");\n ord.classes.push(className);\n return ord;\n } else {\n return buildCommon.makeSpan([\"mspace\", className], [buildCommon.mathsym(group.text, group.mode, options)], options);\n }\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // Spaces based on just a CSS class.\n return buildCommon.makeSpan([\"mspace\", cssSpace[group.text]], [], options);\n } else {\n throw new ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n },\n\n mathmlBuilder(group, options) {\n var node;\n\n if (regularSpace.hasOwnProperty(group.text)) {\n node = new mathMLTree.MathNode(\"mtext\", [new mathMLTree.TextNode(\"\\u00a0\")]);\n } else if (cssSpace.hasOwnProperty(group.text)) {\n // CSS-based MathML spaces (\\nobreak, \\allowbreak) are ignored\n return new mathMLTree.MathNode(\"mspace\");\n } else {\n throw new ParseError(\"Unknown type of space \\\"\" + group.text + \"\\\"\");\n }\n\n return node;\n }\n\n});\n\nvar pad = () => {\n var padNode = new mathMLTree.MathNode(\"mtd\", []);\n padNode.setAttribute(\"width\", \"50%\");\n return padNode;\n};\n\ndefineFunctionBuilders({\n type: \"tag\",\n\n mathmlBuilder(group, options) {\n var table = new mathMLTree.MathNode(\"mtable\", [new mathMLTree.MathNode(\"mtr\", [pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.body, options)]), pad(), new mathMLTree.MathNode(\"mtd\", [buildExpressionRow(group.tag, options)])])]);\n table.setAttribute(\"width\", \"100%\");\n return table; // TODO: Left-aligned tags.\n // Currently, the group and options passed here do not contain\n // enough info to set tag alignment. `leqno` is in Settings but it is\n // not passed to Options. On the HTML side, leqno is\n // set by a CSS class applied in buildTree.js. That would have worked\n // in MathML if browsers supported <mlabeledtr>. Since they don't, we\n // need to rewrite the way this function is called.\n }\n\n});\n\nvar textFontFamilies = {\n \"\\\\text\": undefined,\n \"\\\\textrm\": \"textrm\",\n \"\\\\textsf\": \"textsf\",\n \"\\\\texttt\": \"texttt\",\n \"\\\\textnormal\": \"textrm\"\n};\nvar textFontWeights = {\n \"\\\\textbf\": \"textbf\",\n \"\\\\textmd\": \"textmd\"\n};\nvar textFontShapes = {\n \"\\\\textit\": \"textit\",\n \"\\\\textup\": \"textup\"\n};\n\nvar optionsWithFont = (group, options) => {\n var font = group.font; // Checks if the argument is a font family or a font style.\n\n if (!font) {\n return options;\n } else if (textFontFamilies[font]) {\n return options.withTextFontFamily(textFontFamilies[font]);\n } else if (textFontWeights[font]) {\n return options.withTextFontWeight(textFontWeights[font]);\n } else if (font === \"\\\\emph\") {\n return options.fontShape === \"textit\" ? options.withTextFontShape(\"textup\") : options.withTextFontShape(\"textit\");\n }\n\n return options.withTextFontShape(textFontShapes[font]);\n};\n\ndefineFunction({\n type: \"text\",\n names: [// Font families\n \"\\\\text\", \"\\\\textrm\", \"\\\\textsf\", \"\\\\texttt\", \"\\\\textnormal\", // Font weights\n \"\\\\textbf\", \"\\\\textmd\", // Font Shapes\n \"\\\\textit\", \"\\\\textup\", \"\\\\emph\"],\n props: {\n numArgs: 1,\n argTypes: [\"text\"],\n allowedInArgument: true,\n allowedInText: true\n },\n\n handler(_ref, args) {\n var {\n parser,\n funcName\n } = _ref;\n var body = args[0];\n return {\n type: \"text\",\n mode: parser.mode,\n body: ordargument(body),\n font: funcName\n };\n },\n\n htmlBuilder(group, options) {\n var newOptions = optionsWithFont(group, options);\n var inner = buildExpression$1(group.body, newOptions, true);\n return buildCommon.makeSpan([\"mord\", \"text\"], inner, newOptions);\n },\n\n mathmlBuilder(group, options) {\n var newOptions = optionsWithFont(group, options);\n return buildExpressionRow(group.body, newOptions);\n }\n\n});\n\ndefineFunction({\n type: \"underline\",\n names: [\"\\\\underline\"],\n props: {\n numArgs: 1,\n allowedInText: true\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n return {\n type: \"underline\",\n mode: parser.mode,\n body: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n // Underlines are handled in the TeXbook pg 443, Rule 10.\n // Build the inner group.\n var innerGroup = buildGroup$1(group.body, options); // Create the line to go below the body\n\n var line = buildCommon.makeLineSpan(\"underline-line\", options); // Generate the vlist, with the appropriate kerns\n\n var defaultRuleThickness = options.fontMetrics().defaultRuleThickness;\n var vlist = buildCommon.makeVList({\n positionType: \"top\",\n positionData: innerGroup.height,\n children: [{\n type: \"kern\",\n size: defaultRuleThickness\n }, {\n type: \"elem\",\n elem: line\n }, {\n type: \"kern\",\n size: 3 * defaultRuleThickness\n }, {\n type: \"elem\",\n elem: innerGroup\n }]\n }, options);\n return buildCommon.makeSpan([\"mord\", \"underline\"], [vlist], options);\n },\n\n mathmlBuilder(group, options) {\n var operator = new mathMLTree.MathNode(\"mo\", [new mathMLTree.TextNode(\"\\u203e\")]);\n operator.setAttribute(\"stretchy\", \"true\");\n var node = new mathMLTree.MathNode(\"munder\", [buildGroup(group.body, options), operator]);\n node.setAttribute(\"accentunder\", \"true\");\n return node;\n }\n\n});\n\ndefineFunction({\n type: \"vcenter\",\n names: [\"\\\\vcenter\"],\n props: {\n numArgs: 1,\n argTypes: [\"original\"],\n // In LaTeX, \\vcenter can act only on a box.\n allowedInText: false\n },\n\n handler(_ref, args) {\n var {\n parser\n } = _ref;\n return {\n type: \"vcenter\",\n mode: parser.mode,\n body: args[0]\n };\n },\n\n htmlBuilder(group, options) {\n var body = buildGroup$1(group.body, options);\n var axisHeight = options.fontMetrics().axisHeight;\n var dy = 0.5 * (body.height - axisHeight - (body.depth + axisHeight));\n return buildCommon.makeVList({\n positionType: \"shift\",\n positionData: dy,\n children: [{\n type: \"elem\",\n elem: body\n }]\n }, options);\n },\n\n mathmlBuilder(group, options) {\n // There is no way to do this in MathML.\n // Write a class as a breadcrumb in case some post-processor wants\n // to perform a vcenter adjustment.\n return new mathMLTree.MathNode(\"mpadded\", [buildGroup(group.body, options)], [\"vcenter\"]);\n }\n\n});\n\ndefineFunction({\n type: \"verb\",\n names: [\"\\\\verb\"],\n props: {\n numArgs: 0,\n allowedInText: true\n },\n\n handler(context, args, optArgs) {\n // \\verb and \\verb* are dealt with directly in Parser.js.\n // If we end up here, it's because of a failure to match the two delimiters\n // in the regex in Lexer.js. LaTeX raises the following error when \\verb is\n // terminated by end of line (or file).\n throw new ParseError(\"\\\\verb ended by end of line instead of matching delimiter\");\n },\n\n htmlBuilder(group, options) {\n var text = makeVerb(group);\n var body = []; // \\verb enters text mode and therefore is sized like \\textstyle\n\n var newOptions = options.havingStyle(options.style.text());\n\n for (var i = 0; i < text.length; i++) {\n var c = text[i];\n\n if (c === '~') {\n c = '\\\\textasciitilde';\n }\n\n body.push(buildCommon.makeSymbol(c, \"Typewriter-Regular\", group.mode, newOptions, [\"mord\", \"texttt\"]));\n }\n\n return buildCommon.makeSpan([\"mord\", \"text\"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions);\n },\n\n mathmlBuilder(group, options) {\n var text = new mathMLTree.TextNode(makeVerb(group));\n var node = new mathMLTree.MathNode(\"mtext\", [text]);\n node.setAttribute(\"mathvariant\", \"monospace\");\n return node;\n }\n\n});\n/**\n * Converts verb group into body string.\n *\n * \\verb* replaces each space with an open box \\u2423\n * \\verb replaces each space with a no-break space \\xA0\n */\n\nvar makeVerb = group => group.body.replace(/ /g, group.star ? '\\u2423' : '\\xA0');\n\n/** Include this to ensure that all functions are defined. */\nvar functions = _functions;\n\n/**\n * The Lexer class handles tokenizing the input in various ways. Since our\n * parser expects us to be able to backtrack, the lexer allows lexing from any\n * given starting point.\n *\n * Its main exposed function is the `lex` function, which takes a position to\n * lex from and a type of token to lex. It defers to the appropriate `_innerLex`\n * function.\n *\n * The various `_innerLex` functions perform the actual lexing of different\n * kinds.\n */\n\n/* The following tokenRegex\n * - matches typical whitespace (but not NBSP etc.) using its first group\n * - does not match any control character \\x00-\\x1f except whitespace\n * - does not match a bare backslash\n * - matches any ASCII character except those just mentioned\n * - does not match the BMP private use area \\uE000-\\uF8FF\n * - does not match bare surrogate code units\n * - matches any BMP character except for those just described\n * - matches any valid Unicode surrogate pair\n * - matches a backslash followed by one or more whitespace characters\n * - matches a backslash followed by one or more letters then whitespace\n * - matches a backslash followed by any BMP character\n * Capturing groups:\n * [1] regular whitespace\n * [2] backslash followed by whitespace\n * [3] anything else, which may include:\n * [4] left character of \\verb*\n * [5] left character of \\verb\n * [6] backslash followed by word, excluding any trailing whitespace\n * Just because the Lexer matches something doesn't mean it's valid input:\n * If there is no matching function or symbol definition, the Parser will\n * still reject the input.\n */\nvar spaceRegexString = \"[ \\r\\n\\t]\";\nvar controlWordRegexString = \"\\\\\\\\[a-zA-Z@]+\";\nvar controlSymbolRegexString = \"\\\\\\\\[^\\uD800-\\uDFFF]\";\nvar controlWordWhitespaceRegexString = \"(\" + controlWordRegexString + \")\" + spaceRegexString + \"*\";\nvar controlSpaceRegexString = \"\\\\\\\\(\\n|[ \\r\\t]+\\n?)[ \\r\\t]*\";\nvar combiningDiacriticalMarkString = \"[\\u0300-\\u036f]\";\nvar combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + \"+$\");\nvar tokenRegexString = \"(\" + spaceRegexString + \"+)|\" + ( // whitespace\ncontrolSpaceRegexString + \"|\") + // \\whitespace\n\"([!-\\\\[\\\\]-\\u2027\\u202A-\\uD7FF\\uF900-\\uFFFF]\" + ( // single codepoint\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]\" + ( // surrogate pair\ncombiningDiacriticalMarkString + \"*\") + // ...plus accents\n\"|\\\\\\\\verb\\\\*([^]).*?\\\\4\" + // \\verb*\n\"|\\\\\\\\verb([^*a-zA-Z]).*?\\\\5\" + ( // \\verb unstarred\n\"|\" + controlWordWhitespaceRegexString) + ( // \\macroName + spaces\n\"|\" + controlSymbolRegexString + \")\"); // \\\\, \\', etc.\n\n/** Main Lexer class */\n\nclass Lexer {\n // Category codes. The lexer only supports comment characters (14) for now.\n // MacroExpander additionally distinguishes active (13).\n constructor(input, settings) {\n this.input = void 0;\n this.settings = void 0;\n this.tokenRegex = void 0;\n this.catcodes = void 0;\n // Separate accents from characters\n this.input = input;\n this.settings = settings;\n this.tokenRegex = new RegExp(tokenRegexString, 'g');\n this.catcodes = {\n \"%\": 14,\n // comment character\n \"~\": 13 // active character\n\n };\n }\n\n setCatcode(char, code) {\n this.catcodes[char] = code;\n }\n /**\n * This function lexes a single token.\n */\n\n\n lex() {\n var input = this.input;\n var pos = this.tokenRegex.lastIndex;\n\n if (pos === input.length) {\n return new Token(\"EOF\", new SourceLocation(this, pos, pos));\n }\n\n var match = this.tokenRegex.exec(input);\n\n if (match === null || match.index !== pos) {\n throw new ParseError(\"Unexpected character: '\" + input[pos] + \"'\", new Token(input[pos], new SourceLocation(this, pos, pos + 1)));\n }\n\n var text = match[6] || match[3] || (match[2] ? \"\\\\ \" : \" \");\n\n if (this.catcodes[text] === 14) {\n // comment character\n var nlIndex = input.indexOf('\\n', this.tokenRegex.lastIndex);\n\n if (nlIndex === -1) {\n this.tokenRegex.lastIndex = input.length; // EOF\n\n this.settings.reportNonstrict(\"commentAtEnd\", \"% comment has no terminating newline; LaTeX would \" + \"fail because of commenting the end of math mode (e.g. $)\");\n } else {\n this.tokenRegex.lastIndex = nlIndex + 1;\n }\n\n return this.lex();\n }\n\n return new Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex));\n }\n\n}\n\n/**\n * A `Namespace` refers to a space of nameable things like macros or lengths,\n * which can be `set` either globally or local to a nested group, using an\n * undo stack similar to how TeX implements this functionality.\n * Performance-wise, `get` and local `set` take constant time, while global\n * `set` takes time proportional to the depth of group nesting.\n */\nclass Namespace {\n /**\n * Both arguments are optional. The first argument is an object of\n * built-in mappings which never change. The second argument is an object\n * of initial (global-level) mappings, which will constantly change\n * according to any global/top-level `set`s done.\n */\n constructor(builtins, globalMacros) {\n if (builtins === void 0) {\n builtins = {};\n }\n\n if (globalMacros === void 0) {\n globalMacros = {};\n }\n\n this.current = void 0;\n this.builtins = void 0;\n this.undefStack = void 0;\n this.current = globalMacros;\n this.builtins = builtins;\n this.undefStack = [];\n }\n /**\n * Start a new nested group, affecting future local `set`s.\n */\n\n\n beginGroup() {\n this.undefStack.push({});\n }\n /**\n * End current nested group, restoring values before the group began.\n */\n\n\n endGroup() {\n if (this.undefStack.length === 0) {\n throw new ParseError(\"Unbalanced namespace destruction: attempt \" + \"to pop global namespace; please report this as a bug\");\n }\n\n var undefs = this.undefStack.pop();\n\n for (var undef in undefs) {\n if (undefs.hasOwnProperty(undef)) {\n if (undefs[undef] == null) {\n delete this.current[undef];\n } else {\n this.current[undef] = undefs[undef];\n }\n }\n }\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n\n\n endGroups() {\n while (this.undefStack.length > 0) {\n this.endGroup();\n }\n }\n /**\n * Detect whether `name` has a definition. Equivalent to\n * `get(name) != null`.\n */\n\n\n has(name) {\n return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name);\n }\n /**\n * Get the current value of a name, or `undefined` if there is no value.\n *\n * Note: Do not use `if (namespace.get(...))` to detect whether a macro\n * is defined, as the definition may be the empty string which evaluates\n * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or\n * `if (namespace.has(...))`.\n */\n\n\n get(name) {\n if (this.current.hasOwnProperty(name)) {\n return this.current[name];\n } else {\n return this.builtins[name];\n }\n }\n /**\n * Set the current value of a name, and optionally set it globally too.\n * Local set() sets the current value and (when appropriate) adds an undo\n * operation to the undo stack. Global set() may change the undo\n * operation at every level, so takes time linear in their number.\n * A value of undefined means to delete existing definitions.\n */\n\n\n set(name, value, global) {\n if (global === void 0) {\n global = false;\n }\n\n if (global) {\n // Global set is equivalent to setting in all groups. Simulate this\n // by destroying any undos currently scheduled for this name,\n // and adding an undo with the *new* value (in case it later gets\n // locally reset within this environment).\n for (var i = 0; i < this.undefStack.length; i++) {\n delete this.undefStack[i][name];\n }\n\n if (this.undefStack.length > 0) {\n this.undefStack[this.undefStack.length - 1][name] = value;\n }\n } else {\n // Undo this set at end of this group (possibly to `undefined`),\n // unless an undo is already in place, in which case that older\n // value is the correct one.\n var top = this.undefStack[this.undefStack.length - 1];\n\n if (top && !top.hasOwnProperty(name)) {\n top[name] = this.current[name];\n }\n }\n\n if (value == null) {\n delete this.current[name];\n } else {\n this.current[name] = value;\n }\n }\n\n}\n\n/**\n * Predefined macros for KaTeX.\n * This can be used to define some commands in terms of others.\n */\nvar macros = _macros;\n// macro tools\n\ndefineMacro(\"\\\\noexpand\", function (context) {\n // The expansion is the token itself; but that token is interpreted\n // as if its meaning were ‘\\relax’ if it is a control sequence that\n // would ordinarily be expanded by TeX’s expansion rules.\n var t = context.popToken();\n\n if (context.isExpandable(t.text)) {\n t.noexpand = true;\n t.treatAsRelax = true;\n }\n\n return {\n tokens: [t],\n numArgs: 0\n };\n});\ndefineMacro(\"\\\\expandafter\", function (context) {\n // TeX first reads the token that comes immediately after \\expandafter,\n // without expanding it; let’s call this token t. Then TeX reads the\n // token that comes after t (and possibly more tokens, if that token\n // has an argument), replacing it by its expansion. Finally TeX puts\n // t back in front of that expansion.\n var t = context.popToken();\n context.expandOnce(true); // expand only an expandable token\n\n return {\n tokens: [t],\n numArgs: 0\n };\n}); // LaTeX's \\@firstoftwo{#1}{#2} expands to #1, skipping #2\n// TeX source: \\long\\def\\@firstoftwo#1#2{#1}\n\ndefineMacro(\"\\\\@firstoftwo\", function (context) {\n var args = context.consumeArgs(2);\n return {\n tokens: args[0],\n numArgs: 0\n };\n}); // LaTeX's \\@secondoftwo{#1}{#2} expands to #2, skipping #1\n// TeX source: \\long\\def\\@secondoftwo#1#2{#2}\n\ndefineMacro(\"\\\\@secondoftwo\", function (context) {\n var args = context.consumeArgs(2);\n return {\n tokens: args[1],\n numArgs: 0\n };\n}); // LaTeX's \\@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded)\n// symbol that isn't a space, consuming any spaces but not consuming the\n// first nonspace character. If that nonspace character matches #1, then\n// the macro expands to #2; otherwise, it expands to #3.\n\ndefineMacro(\"\\\\@ifnextchar\", function (context) {\n var args = context.consumeArgs(3); // symbol, if, else\n\n context.consumeSpaces();\n var nextToken = context.future();\n\n if (args[0].length === 1 && args[0][0].text === nextToken.text) {\n return {\n tokens: args[1],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[2],\n numArgs: 0\n };\n }\n}); // LaTeX's \\@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol.\n// If it is `*`, then it consumes the symbol, and the macro expands to #1;\n// otherwise, the macro expands to #2 (without consuming the symbol).\n// TeX source: \\def\\@ifstar#1{\\@ifnextchar *{\\@firstoftwo{#1}}}\n\ndefineMacro(\"\\\\@ifstar\", \"\\\\@ifnextchar *{\\\\@firstoftwo{#1}}\"); // LaTeX's \\TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode\n\ndefineMacro(\"\\\\TextOrMath\", function (context) {\n var args = context.consumeArgs(2);\n\n if (context.mode === 'text') {\n return {\n tokens: args[0],\n numArgs: 0\n };\n } else {\n return {\n tokens: args[1],\n numArgs: 0\n };\n }\n}); // Lookup table for parsing numbers in base 8 through 16\n\nvar digitToNumber = {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"a\": 10,\n \"A\": 10,\n \"b\": 11,\n \"B\": 11,\n \"c\": 12,\n \"C\": 12,\n \"d\": 13,\n \"D\": 13,\n \"e\": 14,\n \"E\": 14,\n \"f\": 15,\n \"F\": 15\n}; // TeX \\char makes a literal character (catcode 12) using the following forms:\n// (see The TeXBook, p. 43)\n// \\char123 -- decimal\n// \\char'123 -- octal\n// \\char\"123 -- hex\n// \\char`x -- character that can be written (i.e. isn't active)\n// \\char`\\x -- character that cannot be written (e.g. %)\n// These all refer to characters from the font, so we turn them into special\n// calls to a function \\@char dealt with in the Parser.\n\ndefineMacro(\"\\\\char\", function (context) {\n var token = context.popToken();\n var base;\n var number = '';\n\n if (token.text === \"'\") {\n base = 8;\n token = context.popToken();\n } else if (token.text === '\"') {\n base = 16;\n token = context.popToken();\n } else if (token.text === \"`\") {\n token = context.popToken();\n\n if (token.text[0] === \"\\\\\") {\n number = token.text.charCodeAt(1);\n } else if (token.text === \"EOF\") {\n throw new ParseError(\"\\\\char` missing argument\");\n } else {\n number = token.text.charCodeAt(0);\n }\n } else {\n base = 10;\n }\n\n if (base) {\n // Parse a number in the given base, starting with first `token`.\n number = digitToNumber[token.text];\n\n if (number == null || number >= base) {\n throw new ParseError(\"Invalid base-\" + base + \" digit \" + token.text);\n }\n\n var digit;\n\n while ((digit = digitToNumber[context.future().text]) != null && digit < base) {\n number *= base;\n number += digit;\n context.popToken();\n }\n }\n\n return \"\\\\@char{\" + number + \"}\";\n}); // \\newcommand{\\macro}[args]{definition}\n// \\renewcommand{\\macro}[args]{definition}\n// TODO: Optional arguments: \\newcommand{\\macro}[args][default]{definition}\n\nvar newcommand = (context, existsOK, nonexistsOK, skipIfExists) => {\n var arg = context.consumeArg().tokens;\n\n if (arg.length !== 1) {\n throw new ParseError(\"\\\\newcommand's first argument must be a macro name\");\n }\n\n var name = arg[0].text;\n var exists = context.isDefined(name);\n\n if (exists && !existsOK) {\n throw new ParseError(\"\\\\newcommand{\" + name + \"} attempting to redefine \" + (name + \"; use \\\\renewcommand\"));\n }\n\n if (!exists && !nonexistsOK) {\n throw new ParseError(\"\\\\renewcommand{\" + name + \"} when command \" + name + \" \" + \"does not yet exist; use \\\\newcommand\");\n }\n\n var numArgs = 0;\n arg = context.consumeArg().tokens;\n\n if (arg.length === 1 && arg[0].text === \"[\") {\n var argText = '';\n var token = context.expandNextToken();\n\n while (token.text !== \"]\" && token.text !== \"EOF\") {\n // TODO: Should properly expand arg, e.g., ignore {}s\n argText += token.text;\n token = context.expandNextToken();\n }\n\n if (!argText.match(/^\\s*[0-9]+\\s*$/)) {\n throw new ParseError(\"Invalid number of arguments: \" + argText);\n }\n\n numArgs = parseInt(argText);\n arg = context.consumeArg().tokens;\n }\n\n if (!(exists && skipIfExists)) {\n // Final arg is the expansion of the macro\n context.macros.set(name, {\n tokens: arg,\n numArgs\n });\n }\n\n return '';\n};\n\ndefineMacro(\"\\\\newcommand\", context => newcommand(context, false, true, false));\ndefineMacro(\"\\\\renewcommand\", context => newcommand(context, true, false, false));\ndefineMacro(\"\\\\providecommand\", context => newcommand(context, true, true, true)); // terminal (console) tools\n\ndefineMacro(\"\\\\message\", context => {\n var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.log(arg.reverse().map(token => token.text).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\errmessage\", context => {\n var arg = context.consumeArgs(1)[0]; // eslint-disable-next-line no-console\n\n console.error(arg.reverse().map(token => token.text).join(\"\"));\n return '';\n});\ndefineMacro(\"\\\\show\", context => {\n var tok = context.popToken();\n var name = tok.text; // eslint-disable-next-line no-console\n\n console.log(tok, context.macros.get(name), functions[name], symbols.math[name], symbols.text[name]);\n return '';\n}); //////////////////////////////////////////////////////////////////////\n// Grouping\n// \\let\\bgroup={ \\let\\egroup=}\n\ndefineMacro(\"\\\\bgroup\", \"{\");\ndefineMacro(\"\\\\egroup\", \"}\"); // Symbols from latex.ltx:\n// \\def~{\\nobreakspace{}}\n// \\def\\lq{`}\n// \\def\\rq{'}\n// \\def \\aa {\\r a}\n// \\def \\AA {\\r A}\n\ndefineMacro(\"~\", \"\\\\nobreakspace\");\ndefineMacro(\"\\\\lq\", \"`\");\ndefineMacro(\"\\\\rq\", \"'\");\ndefineMacro(\"\\\\aa\", \"\\\\r a\");\ndefineMacro(\"\\\\AA\", \"\\\\r A\"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML.\n// \\DeclareTextCommandDefault{\\textcopyright}{\\textcircled{c}}\n// \\DeclareTextCommandDefault{\\textregistered}{\\textcircled{%\n// \\check@mathfonts\\fontsize\\sf@size\\z@\\math@fontsfalse\\selectfont R}}\n// \\DeclareRobustCommand{\\copyright}{%\n// \\ifmmode{\\nfss@text{\\textcopyright}}\\else\\textcopyright\\fi}\n\ndefineMacro(\"\\\\textcopyright\", \"\\\\html@mathml{\\\\textcircled{c}}{\\\\char`©}\");\ndefineMacro(\"\\\\copyright\", \"\\\\TextOrMath{\\\\textcopyright}{\\\\text{\\\\textcopyright}}\");\ndefineMacro(\"\\\\textregistered\", \"\\\\html@mathml{\\\\textcircled{\\\\scriptsize R}}{\\\\char`®}\"); // Characters omitted from Unicode range 1D400–1D7FF\n\ndefineMacro(\"\\u212C\", \"\\\\mathscr{B}\"); // script\n\ndefineMacro(\"\\u2130\", \"\\\\mathscr{E}\");\ndefineMacro(\"\\u2131\", \"\\\\mathscr{F}\");\ndefineMacro(\"\\u210B\", \"\\\\mathscr{H}\");\ndefineMacro(\"\\u2110\", \"\\\\mathscr{I}\");\ndefineMacro(\"\\u2112\", \"\\\\mathscr{L}\");\ndefineMacro(\"\\u2133\", \"\\\\mathscr{M}\");\ndefineMacro(\"\\u211B\", \"\\\\mathscr{R}\");\ndefineMacro(\"\\u212D\", \"\\\\mathfrak{C}\"); // Fraktur\n\ndefineMacro(\"\\u210C\", \"\\\\mathfrak{H}\");\ndefineMacro(\"\\u2128\", \"\\\\mathfrak{Z}\"); // Define \\Bbbk with a macro that works in both HTML and MathML.\n\ndefineMacro(\"\\\\Bbbk\", \"\\\\Bbb{k}\"); // Unicode middle dot\n// The KaTeX fonts do not contain U+00B7. Instead, \\cdotp displays\n// the dot at U+22C5 and gives it punct spacing.\n\ndefineMacro(\"\\u00b7\", \"\\\\cdotp\"); // \\llap and \\rlap render their contents in text mode\n\ndefineMacro(\"\\\\llap\", \"\\\\mathllap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\rlap\", \"\\\\mathrlap{\\\\textrm{#1}}\");\ndefineMacro(\"\\\\clap\", \"\\\\mathclap{\\\\textrm{#1}}\"); // \\mathstrut from the TeXbook, p 360\n\ndefineMacro(\"\\\\mathstrut\", \"\\\\vphantom{(}\"); // \\underbar from TeXbook p 353\n\ndefineMacro(\"\\\\underbar\", \"\\\\underline{\\\\text{#1}}\"); // \\not is defined by base/fontmath.ltx via\n// \\DeclareMathSymbol{\\not}{\\mathrel}{symbols}{\"36}\n// It's thus treated like a \\mathrel, but defined by a symbol that has zero\n// width but extends to the right. We use \\rlap to get that spacing.\n// For MathML we write U+0338 here. buildMathML.js will then do the overlay.\n\ndefineMacro(\"\\\\not\", '\\\\html@mathml{\\\\mathrel{\\\\mathrlap\\\\@not}}{\\\\char\"338}'); // Negated symbols from base/fontmath.ltx:\n// \\def\\neq{\\not=} \\let\\ne=\\neq\n// \\DeclareRobustCommand\n// \\notin{\\mathrel{\\m@th\\mathpalette\\c@ncel\\in}}\n// \\def\\c@ncel#1#2{\\m@th\\ooalign{$\\hfil#1\\mkern1mu/\\hfil$\\crcr$#1#2$}}\n\ndefineMacro(\"\\\\neq\", \"\\\\html@mathml{\\\\mathrel{\\\\not=}}{\\\\mathrel{\\\\char`≠}}\");\ndefineMacro(\"\\\\ne\", \"\\\\neq\");\ndefineMacro(\"\\u2260\", \"\\\\neq\");\ndefineMacro(\"\\\\notin\", \"\\\\html@mathml{\\\\mathrel{{\\\\in}\\\\mathllap{/\\\\mskip1mu}}}\" + \"{\\\\mathrel{\\\\char`∉}}\");\ndefineMacro(\"\\u2209\", \"\\\\notin\"); // Unicode stacked relations\n\ndefineMacro(\"\\u2258\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\kern{-1em}\\\\raisebox{0.4em}{$\\\\scriptsize\\\\frown$}}\" + \"}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u2259\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\wedge}{=}}{\\\\mathrel{\\\\char`\\u2258}}\");\ndefineMacro(\"\\u225A\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\vee}{=}}{\\\\mathrel{\\\\char`\\u225A}}\");\ndefineMacro(\"\\u225B\", \"\\\\html@mathml{\\\\stackrel{\\\\scriptsize\\\\star}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225B}}\");\ndefineMacro(\"\\u225D\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{def}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225D}}\");\ndefineMacro(\"\\u225E\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny\\\\mathrm{m}}{=}}\" + \"{\\\\mathrel{\\\\char`\\u225E}}\");\ndefineMacro(\"\\u225F\", \"\\\\html@mathml{\\\\stackrel{\\\\tiny?}{=}}{\\\\mathrel{\\\\char`\\u225F}}\"); // Misc Unicode\n\ndefineMacro(\"\\u27C2\", \"\\\\perp\");\ndefineMacro(\"\\u203C\", \"\\\\mathclose{!\\\\mkern-0.8mu!}\");\ndefineMacro(\"\\u220C\", \"\\\\notni\");\ndefineMacro(\"\\u231C\", \"\\\\ulcorner\");\ndefineMacro(\"\\u231D\", \"\\\\urcorner\");\ndefineMacro(\"\\u231E\", \"\\\\llcorner\");\ndefineMacro(\"\\u231F\", \"\\\\lrcorner\");\ndefineMacro(\"\\u00A9\", \"\\\\copyright\");\ndefineMacro(\"\\u00AE\", \"\\\\textregistered\");\ndefineMacro(\"\\uFE0F\", \"\\\\textregistered\"); // The KaTeX fonts have corners at codepoints that don't match Unicode.\n// For MathML purposes, use the Unicode code point.\n\ndefineMacro(\"\\\\ulcorner\", \"\\\\html@mathml{\\\\@ulcorner}{\\\\mathop{\\\\char\\\"231c}}\");\ndefineMacro(\"\\\\urcorner\", \"\\\\html@mathml{\\\\@urcorner}{\\\\mathop{\\\\char\\\"231d}}\");\ndefineMacro(\"\\\\llcorner\", \"\\\\html@mathml{\\\\@llcorner}{\\\\mathop{\\\\char\\\"231e}}\");\ndefineMacro(\"\\\\lrcorner\", \"\\\\html@mathml{\\\\@lrcorner}{\\\\mathop{\\\\char\\\"231f}}\"); //////////////////////////////////////////////////////////////////////\n// LaTeX_2ε\n// \\vdots{\\vbox{\\baselineskip4\\p@ \\lineskiplimit\\z@\n// \\kern6\\p@\\hbox{.}\\hbox{.}\\hbox{.}}}\n// We'll call \\varvdots, which gets a glyph from symbols.js.\n// The zero-width rule gets us an equivalent to the vertical 6pt kern.\n\ndefineMacro(\"\\\\vdots\", \"{\\\\varvdots\\\\rule{0pt}{15pt}}\");\ndefineMacro(\"\\u22ee\", \"\\\\vdots\"); //////////////////////////////////////////////////////////////////////\n// amsmath.sty\n// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf\n// Italic Greek capital letters. AMS defines these with \\DeclareMathSymbol,\n// but they are equivalent to \\mathit{\\Letter}.\n\ndefineMacro(\"\\\\varGamma\", \"\\\\mathit{\\\\Gamma}\");\ndefineMacro(\"\\\\varDelta\", \"\\\\mathit{\\\\Delta}\");\ndefineMacro(\"\\\\varTheta\", \"\\\\mathit{\\\\Theta}\");\ndefineMacro(\"\\\\varLambda\", \"\\\\mathit{\\\\Lambda}\");\ndefineMacro(\"\\\\varXi\", \"\\\\mathit{\\\\Xi}\");\ndefineMacro(\"\\\\varPi\", \"\\\\mathit{\\\\Pi}\");\ndefineMacro(\"\\\\varSigma\", \"\\\\mathit{\\\\Sigma}\");\ndefineMacro(\"\\\\varUpsilon\", \"\\\\mathit{\\\\Upsilon}\");\ndefineMacro(\"\\\\varPhi\", \"\\\\mathit{\\\\Phi}\");\ndefineMacro(\"\\\\varPsi\", \"\\\\mathit{\\\\Psi}\");\ndefineMacro(\"\\\\varOmega\", \"\\\\mathit{\\\\Omega}\"); //\\newcommand{\\substack}[1]{\\subarray{c}#1\\endsubarray}\n\ndefineMacro(\"\\\\substack\", \"\\\\begin{subarray}{c}#1\\\\end{subarray}\"); // \\renewcommand{\\colon}{\\nobreak\\mskip2mu\\mathpunct{}\\nonscript\n// \\mkern-\\thinmuskip{:}\\mskip6muplus1mu\\relax}\n\ndefineMacro(\"\\\\colon\", \"\\\\nobreak\\\\mskip2mu\\\\mathpunct{}\" + \"\\\\mathchoice{\\\\mkern-3mu}{\\\\mkern-3mu}{}{}{:}\\\\mskip6mu\\\\relax\"); // \\newcommand{\\boxed}[1]{\\fbox{\\m@th$\\displaystyle#1$}}\n\ndefineMacro(\"\\\\boxed\", \"\\\\fbox{$\\\\displaystyle{#1}$}\"); // \\def\\iff{\\DOTSB\\;\\Longleftrightarrow\\;}\n// \\def\\implies{\\DOTSB\\;\\Longrightarrow\\;}\n// \\def\\impliedby{\\DOTSB\\;\\Longleftarrow\\;}\n\ndefineMacro(\"\\\\iff\", \"\\\\DOTSB\\\\;\\\\Longleftrightarrow\\\\;\");\ndefineMacro(\"\\\\implies\", \"\\\\DOTSB\\\\;\\\\Longrightarrow\\\\;\");\ndefineMacro(\"\\\\impliedby\", \"\\\\DOTSB\\\\;\\\\Longleftarrow\\\\;\"); // \\def\\dddot#1{{\\mathop{#1}\\limits^{\\vbox to-1.4\\ex@{\\kern-\\tw@\\ex@\n// \\hbox{\\normalfont ...}\\vss}}}}\n// We use \\overset which avoids the vertical shift of \\mathop.\n\ndefineMacro(\"\\\\dddot\", \"{\\\\overset{\\\\raisebox{-0.1ex}{\\\\normalsize ...}}{#1}}\");\ndefineMacro(\"\\\\ddddot\", \"{\\\\overset{\\\\raisebox{-0.1ex}{\\\\normalsize ....}}{#1}}\"); // AMSMath's automatic \\dots, based on \\mdots@@ macro.\n\nvar dotsByToken = {\n ',': '\\\\dotsc',\n '\\\\not': '\\\\dotsb',\n // \\keybin@ checks for the following:\n '+': '\\\\dotsb',\n '=': '\\\\dotsb',\n '<': '\\\\dotsb',\n '>': '\\\\dotsb',\n '-': '\\\\dotsb',\n '*': '\\\\dotsb',\n ':': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSB:\n '\\\\DOTSB': '\\\\dotsb',\n '\\\\coprod': '\\\\dotsb',\n '\\\\bigvee': '\\\\dotsb',\n '\\\\bigwedge': '\\\\dotsb',\n '\\\\biguplus': '\\\\dotsb',\n '\\\\bigcap': '\\\\dotsb',\n '\\\\bigcup': '\\\\dotsb',\n '\\\\prod': '\\\\dotsb',\n '\\\\sum': '\\\\dotsb',\n '\\\\bigotimes': '\\\\dotsb',\n '\\\\bigoplus': '\\\\dotsb',\n '\\\\bigodot': '\\\\dotsb',\n '\\\\bigsqcup': '\\\\dotsb',\n '\\\\And': '\\\\dotsb',\n '\\\\longrightarrow': '\\\\dotsb',\n '\\\\Longrightarrow': '\\\\dotsb',\n '\\\\longleftarrow': '\\\\dotsb',\n '\\\\Longleftarrow': '\\\\dotsb',\n '\\\\longleftrightarrow': '\\\\dotsb',\n '\\\\Longleftrightarrow': '\\\\dotsb',\n '\\\\mapsto': '\\\\dotsb',\n '\\\\longmapsto': '\\\\dotsb',\n '\\\\hookrightarrow': '\\\\dotsb',\n '\\\\doteq': '\\\\dotsb',\n // Symbols whose definition starts with \\mathbin:\n '\\\\mathbin': '\\\\dotsb',\n // Symbols whose definition starts with \\mathrel:\n '\\\\mathrel': '\\\\dotsb',\n '\\\\relbar': '\\\\dotsb',\n '\\\\Relbar': '\\\\dotsb',\n '\\\\xrightarrow': '\\\\dotsb',\n '\\\\xleftarrow': '\\\\dotsb',\n // Symbols whose definition starts with \\DOTSI:\n '\\\\DOTSI': '\\\\dotsi',\n '\\\\int': '\\\\dotsi',\n '\\\\oint': '\\\\dotsi',\n '\\\\iint': '\\\\dotsi',\n '\\\\iiint': '\\\\dotsi',\n '\\\\iiiint': '\\\\dotsi',\n '\\\\idotsint': '\\\\dotsi',\n // Symbols whose definition starts with \\DOTSX:\n '\\\\DOTSX': '\\\\dotsx'\n};\ndefineMacro(\"\\\\dots\", function (context) {\n // TODO: If used in text mode, should expand to \\textellipsis.\n // However, in KaTeX, \\textellipsis and \\ldots behave the same\n // (in text mode), and it's unlikely we'd see any of the math commands\n // that affect the behavior of \\dots when in text mode. So fine for now\n // (until we support \\ifmmode ... \\else ... \\fi).\n var thedots = '\\\\dotso';\n var next = context.expandAfterFuture().text;\n\n if (next in dotsByToken) {\n thedots = dotsByToken[next];\n } else if (next.slice(0, 4) === '\\\\not') {\n thedots = '\\\\dotsb';\n } else if (next in symbols.math) {\n if (utils.contains(['bin', 'rel'], symbols.math[next].group)) {\n thedots = '\\\\dotsb';\n }\n }\n\n return thedots;\n});\nvar spaceAfterDots = {\n // \\rightdelim@ checks for the following:\n ')': true,\n ']': true,\n '\\\\rbrack': true,\n '\\\\}': true,\n '\\\\rbrace': true,\n '\\\\rangle': true,\n '\\\\rceil': true,\n '\\\\rfloor': true,\n '\\\\rgroup': true,\n '\\\\rmoustache': true,\n '\\\\right': true,\n '\\\\bigr': true,\n '\\\\biggr': true,\n '\\\\Bigr': true,\n '\\\\Biggr': true,\n // \\extra@ also tests for the following:\n '$': true,\n // \\extrap@ checks for the following:\n ';': true,\n '.': true,\n ',': true\n};\ndefineMacro(\"\\\\dotso\", function (context) {\n var next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\dotsc\", function (context) {\n var next = context.future().text; // \\dotsc uses \\extra@ but not \\extrap@, instead specially checking for\n // ';' and '.', but doesn't check for ','.\n\n if (next in spaceAfterDots && next !== ',') {\n return \"\\\\ldots\\\\,\";\n } else {\n return \"\\\\ldots\";\n }\n});\ndefineMacro(\"\\\\cdots\", function (context) {\n var next = context.future().text;\n\n if (next in spaceAfterDots) {\n return \"\\\\@cdots\\\\,\";\n } else {\n return \"\\\\@cdots\";\n }\n});\ndefineMacro(\"\\\\dotsb\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsm\", \"\\\\cdots\");\ndefineMacro(\"\\\\dotsi\", \"\\\\!\\\\cdots\"); // amsmath doesn't actually define \\dotsx, but \\dots followed by a macro\n// starting with \\DOTSX implies \\dotso, and then \\extra@ detects this case\n// and forces the added `\\,`.\n\ndefineMacro(\"\\\\dotsx\", \"\\\\ldots\\\\,\"); // \\let\\DOTSI\\relax\n// \\let\\DOTSB\\relax\n// \\let\\DOTSX\\relax\n\ndefineMacro(\"\\\\DOTSI\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSB\", \"\\\\relax\");\ndefineMacro(\"\\\\DOTSX\", \"\\\\relax\"); // Spacing, based on amsmath.sty's override of LaTeX defaults\n// \\DeclareRobustCommand{\\tmspace}[3]{%\n// \\ifmmode\\mskip#1#2\\else\\kern#1#3\\fi\\relax}\n\ndefineMacro(\"\\\\tmspace\", \"\\\\TextOrMath{\\\\kern#1#3}{\\\\mskip#1#2}\\\\relax\"); // \\renewcommand{\\,}{\\tmspace+\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\,\", \"\\\\tmspace+{3mu}{.1667em}\"); // \\let\\thinspace\\,\n\ndefineMacro(\"\\\\thinspace\", \"\\\\,\"); // \\def\\>{\\mskip\\medmuskip}\n// \\renewcommand{\\:}{\\tmspace+\\medmuskip{.2222em}}\n// TODO: \\> and math mode of \\: should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\>\", \"\\\\mskip{4mu}\");\ndefineMacro(\"\\\\:\", \"\\\\tmspace+{4mu}{.2222em}\"); // \\let\\medspace\\:\n\ndefineMacro(\"\\\\medspace\", \"\\\\:\"); // \\renewcommand{\\;}{\\tmspace+\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip = 5mu plus 5mu\n\ndefineMacro(\"\\\\;\", \"\\\\tmspace+{5mu}{.2777em}\"); // \\let\\thickspace\\;\n\ndefineMacro(\"\\\\thickspace\", \"\\\\;\"); // \\renewcommand{\\!}{\\tmspace-\\thinmuskip{.1667em}}\n// TODO: math mode should use \\thinmuskip\n\ndefineMacro(\"\\\\!\", \"\\\\tmspace-{3mu}{.1667em}\"); // \\let\\negthinspace\\!\n\ndefineMacro(\"\\\\negthinspace\", \"\\\\!\"); // \\newcommand{\\negmedspace}{\\tmspace-\\medmuskip{.2222em}}\n// TODO: math mode should use \\medmuskip\n\ndefineMacro(\"\\\\negmedspace\", \"\\\\tmspace-{4mu}{.2222em}\"); // \\newcommand{\\negthickspace}{\\tmspace-\\thickmuskip{.2777em}}\n// TODO: math mode should use \\thickmuskip\n\ndefineMacro(\"\\\\negthickspace\", \"\\\\tmspace-{5mu}{.277em}\"); // \\def\\enspace{\\kern.5em }\n\ndefineMacro(\"\\\\enspace\", \"\\\\kern.5em \"); // \\def\\enskip{\\hskip.5em\\relax}\n\ndefineMacro(\"\\\\enskip\", \"\\\\hskip.5em\\\\relax\"); // \\def\\quad{\\hskip1em\\relax}\n\ndefineMacro(\"\\\\quad\", \"\\\\hskip1em\\\\relax\"); // \\def\\qquad{\\hskip2em\\relax}\n\ndefineMacro(\"\\\\qquad\", \"\\\\hskip2em\\\\relax\"); // \\tag@in@display form of \\tag\n\ndefineMacro(\"\\\\tag\", \"\\\\@ifstar\\\\tag@literal\\\\tag@paren\");\ndefineMacro(\"\\\\tag@paren\", \"\\\\tag@literal{({#1})}\");\ndefineMacro(\"\\\\tag@literal\", context => {\n if (context.macros.get(\"\\\\df@tag\")) {\n throw new ParseError(\"Multiple \\\\tag\");\n }\n\n return \"\\\\gdef\\\\df@tag{\\\\text{#1}}\";\n}); // \\renewcommand{\\bmod}{\\nonscript\\mskip-\\medmuskip\\mkern5mu\\mathbin\n// {\\operator@font mod}\\penalty900\n// \\mkern5mu\\nonscript\\mskip-\\medmuskip}\n// \\newcommand{\\pod}[1]{\\allowbreak\n// \\if@display\\mkern18mu\\else\\mkern8mu\\fi(#1)}\n// \\renewcommand{\\pmod}[1]{\\pod{{\\operator@font mod}\\mkern6mu#1}}\n// \\newcommand{\\mod}[1]{\\allowbreak\\if@display\\mkern18mu\n// \\else\\mkern12mu\\fi{\\operator@font mod}\\,\\,#1}\n// TODO: math mode should use \\medmuskip = 4mu plus 2mu minus 4mu\n\ndefineMacro(\"\\\\bmod\", \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\" + \"\\\\mathbin{\\\\rm mod}\" + \"\\\\mathchoice{\\\\mskip1mu}{\\\\mskip1mu}{\\\\mskip5mu}{\\\\mskip5mu}\");\ndefineMacro(\"\\\\pod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern8mu}{\\\\mkern8mu}{\\\\mkern8mu}(#1)\");\ndefineMacro(\"\\\\pmod\", \"\\\\pod{{\\\\rm mod}\\\\mkern6mu#1}\");\ndefineMacro(\"\\\\mod\", \"\\\\allowbreak\" + \"\\\\mathchoice{\\\\mkern18mu}{\\\\mkern12mu}{\\\\mkern12mu}{\\\\mkern12mu}\" + \"{\\\\rm mod}\\\\,\\\\,#1\"); //////////////////////////////////////////////////////////////////////\n// LaTeX source2e\n// \\expandafter\\let\\expandafter\\@normalcr\n// \\csname\\expandafter\\@gobble\\string\\\\ \\endcsname\n// \\DeclareRobustCommand\\newline{\\@normalcr\\relax}\n\ndefineMacro(\"\\\\newline\", \"\\\\\\\\\\\\relax\"); // \\def\\TeX{T\\kern-.1667em\\lower.5ex\\hbox{E}\\kern-.125emX\\@}\n// TODO: Doesn't normally work in math mode because \\@ fails. KaTeX doesn't\n// support \\@ yet, so that's omitted, and we add \\text so that the result\n// doesn't look funny in math mode.\n\ndefineMacro(\"\\\\TeX\", \"\\\\textrm{\\\\html@mathml{\" + \"T\\\\kern-.1667em\\\\raisebox{-.5ex}{E}\\\\kern-.125emX\" + \"}{TeX}}\"); // \\DeclareRobustCommand{\\LaTeX}{L\\kern-.36em%\n// {\\sbox\\z@ T%\n// \\vbox to\\ht\\z@{\\hbox{\\check@mathfonts\n// \\fontsize\\sf@size\\z@\n// \\math@fontsfalse\\selectfont\n// A}%\n// \\vss}%\n// }%\n// \\kern-.15em%\n// \\TeX}\n// This code aligns the top of the A with the T (from the perspective of TeX's\n// boxes, though visually the A appears to extend above slightly).\n// We compute the corresponding \\raisebox when A is rendered in \\normalsize\n// \\scriptstyle, which has a scale factor of 0.7 (see Options.js).\n\nvar latexRaiseA = makeEm(fontMetricsData['Main-Regular'][\"T\".charCodeAt(0)][1] - 0.7 * fontMetricsData['Main-Regular'][\"A\".charCodeAt(0)][1]);\ndefineMacro(\"\\\\LaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"L\\\\kern-.36em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{LaTeX}}\"); // New KaTeX logo based on tweaking LaTeX logo\n\ndefineMacro(\"\\\\KaTeX\", \"\\\\textrm{\\\\html@mathml{\" + (\"K\\\\kern-.17em\\\\raisebox{\" + latexRaiseA + \"}{\\\\scriptstyle A}\") + \"\\\\kern-.15em\\\\TeX}{KaTeX}}\"); // \\DeclareRobustCommand\\hspace{\\@ifstar\\@hspacer\\@hspace}\n// \\def\\@hspace#1{\\hskip #1\\relax}\n// \\def\\@hspacer#1{\\vrule \\@width\\z@\\nobreak\n// \\hskip #1\\hskip \\z@skip}\n\ndefineMacro(\"\\\\hspace\", \"\\\\@ifstar\\\\@hspacer\\\\@hspace\");\ndefineMacro(\"\\\\@hspace\", \"\\\\hskip #1\\\\relax\");\ndefineMacro(\"\\\\@hspacer\", \"\\\\rule{0pt}{0pt}\\\\hskip #1\\\\relax\"); //////////////////////////////////////////////////////////////////////\n// mathtools.sty\n//\\providecommand\\ordinarycolon{:}\n\ndefineMacro(\"\\\\ordinarycolon\", \":\"); //\\def\\vcentcolon{\\mathrel{\\mathop\\ordinarycolon}}\n//TODO(edemaine): Not yet centered. Fix via \\raisebox or #726\n\ndefineMacro(\"\\\\vcentcolon\", \"\\\\mathrel{\\\\mathop\\\\ordinarycolon}\"); // \\providecommand*\\dblcolon{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}\n\ndefineMacro(\"\\\\dblcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-.9mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2237}}\"); // \\providecommand*\\coloneqq{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2254}}\"); // ≔\n// \\providecommand*\\Coloneqq{\\dblcolon\\mathrel{\\mkern-1.2mu}=}\n\ndefineMacro(\"\\\\Coloneqq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}=}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"3d}}\"); // \\providecommand*\\coloneq{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2212}}\"); // \\providecommand*\\Coloneq{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}\n\ndefineMacro(\"\\\\Coloneq\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\mathrel{-}}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2212}}\"); // \\providecommand*\\eqqcolon{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2255}}\"); // ≕\n// \\providecommand*\\Eqqcolon{=\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{=\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"3d\\\\char\\\"2237}}\"); // \\providecommand*\\eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}\n\ndefineMacro(\"\\\\eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}}\" + \"{\\\\mathop{\\\\char\\\"2239}}\"); // \\providecommand*\\Eqcolon{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}\n\ndefineMacro(\"\\\\Eqcolon\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\mathrel{-}\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}}\" + \"{\\\\mathop{\\\\char\\\"2212\\\\char\\\"2237}}\"); // \\providecommand*\\colonapprox{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"2248}}\"); // \\providecommand*\\Colonapprox{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}\n\ndefineMacro(\"\\\\Colonapprox\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\approx}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"2248}}\"); // \\providecommand*\\colonsim{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\vcentcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"3a\\\\char\\\"223c}}\"); // \\providecommand*\\Colonsim{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}\n\ndefineMacro(\"\\\\Colonsim\", \"\\\\html@mathml{\" + \"\\\\mathrel{\\\\dblcolon\\\\mathrel{\\\\mkern-1.2mu}\\\\sim}}\" + \"{\\\\mathop{\\\\char\\\"2237\\\\char\\\"223c}}\"); // Some Unicode characters are implemented with macros to mathtools functions.\n\ndefineMacro(\"\\u2237\", \"\\\\dblcolon\"); // ::\n\ndefineMacro(\"\\u2239\", \"\\\\eqcolon\"); // -:\n\ndefineMacro(\"\\u2254\", \"\\\\coloneqq\"); // :=\n\ndefineMacro(\"\\u2255\", \"\\\\eqqcolon\"); // =:\n\ndefineMacro(\"\\u2A74\", \"\\\\Coloneqq\"); // ::=\n//////////////////////////////////////////////////////////////////////\n// colonequals.sty\n// Alternate names for mathtools's macros:\n\ndefineMacro(\"\\\\ratio\", \"\\\\vcentcolon\");\ndefineMacro(\"\\\\coloncolon\", \"\\\\dblcolon\");\ndefineMacro(\"\\\\colonequals\", \"\\\\coloneqq\");\ndefineMacro(\"\\\\coloncolonequals\", \"\\\\Coloneqq\");\ndefineMacro(\"\\\\equalscolon\", \"\\\\eqqcolon\");\ndefineMacro(\"\\\\equalscoloncolon\", \"\\\\Eqqcolon\");\ndefineMacro(\"\\\\colonminus\", \"\\\\coloneq\");\ndefineMacro(\"\\\\coloncolonminus\", \"\\\\Coloneq\");\ndefineMacro(\"\\\\minuscolon\", \"\\\\eqcolon\");\ndefineMacro(\"\\\\minuscoloncolon\", \"\\\\Eqcolon\"); // \\colonapprox name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonapprox\", \"\\\\Colonapprox\"); // \\colonsim name is same in mathtools and colonequals.\n\ndefineMacro(\"\\\\coloncolonsim\", \"\\\\Colonsim\"); // Additional macros, implemented by analogy with mathtools definitions:\n\ndefineMacro(\"\\\\simcolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\simcoloncolon\", \"\\\\mathrel{\\\\sim\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\");\ndefineMacro(\"\\\\approxcolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\vcentcolon}\");\ndefineMacro(\"\\\\approxcoloncolon\", \"\\\\mathrel{\\\\approx\\\\mathrel{\\\\mkern-1.2mu}\\\\dblcolon}\"); // Present in newtxmath, pxfonts and txfonts\n\ndefineMacro(\"\\\\notni\", \"\\\\html@mathml{\\\\not\\\\ni}{\\\\mathrel{\\\\char`\\u220C}}\");\ndefineMacro(\"\\\\limsup\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,sup}\");\ndefineMacro(\"\\\\liminf\", \"\\\\DOTSB\\\\operatorname*{lim\\\\,inf}\"); //////////////////////////////////////////////////////////////////////\n// From amsopn.sty\n\ndefineMacro(\"\\\\injlim\", \"\\\\DOTSB\\\\operatorname*{inj\\\\,lim}\");\ndefineMacro(\"\\\\projlim\", \"\\\\DOTSB\\\\operatorname*{proj\\\\,lim}\");\ndefineMacro(\"\\\\varlimsup\", \"\\\\DOTSB\\\\operatorname*{\\\\overline{lim}}\");\ndefineMacro(\"\\\\varliminf\", \"\\\\DOTSB\\\\operatorname*{\\\\underline{lim}}\");\ndefineMacro(\"\\\\varinjlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underrightarrow{lim}}\");\ndefineMacro(\"\\\\varprojlim\", \"\\\\DOTSB\\\\operatorname*{\\\\underleftarrow{lim}}\"); //////////////////////////////////////////////////////////////////////\n// MathML alternates for KaTeX glyphs in the Unicode private area\n\ndefineMacro(\"\\\\gvertneqq\", \"\\\\html@mathml{\\\\@gvertneqq}{\\u2269}\");\ndefineMacro(\"\\\\lvertneqq\", \"\\\\html@mathml{\\\\@lvertneqq}{\\u2268}\");\ndefineMacro(\"\\\\ngeqq\", \"\\\\html@mathml{\\\\@ngeqq}{\\u2271}\");\ndefineMacro(\"\\\\ngeqslant\", \"\\\\html@mathml{\\\\@ngeqslant}{\\u2271}\");\ndefineMacro(\"\\\\nleqq\", \"\\\\html@mathml{\\\\@nleqq}{\\u2270}\");\ndefineMacro(\"\\\\nleqslant\", \"\\\\html@mathml{\\\\@nleqslant}{\\u2270}\");\ndefineMacro(\"\\\\nshortmid\", \"\\\\html@mathml{\\\\@nshortmid}{∤}\");\ndefineMacro(\"\\\\nshortparallel\", \"\\\\html@mathml{\\\\@nshortparallel}{∦}\");\ndefineMacro(\"\\\\nsubseteqq\", \"\\\\html@mathml{\\\\@nsubseteqq}{\\u2288}\");\ndefineMacro(\"\\\\nsupseteqq\", \"\\\\html@mathml{\\\\@nsupseteqq}{\\u2289}\");\ndefineMacro(\"\\\\varsubsetneq\", \"\\\\html@mathml{\\\\@varsubsetneq}{⊊}\");\ndefineMacro(\"\\\\varsubsetneqq\", \"\\\\html@mathml{\\\\@varsubsetneqq}{⫋}\");\ndefineMacro(\"\\\\varsupsetneq\", \"\\\\html@mathml{\\\\@varsupsetneq}{⊋}\");\ndefineMacro(\"\\\\varsupsetneqq\", \"\\\\html@mathml{\\\\@varsupsetneqq}{⫌}\");\ndefineMacro(\"\\\\imath\", \"\\\\html@mathml{\\\\@imath}{\\u0131}\");\ndefineMacro(\"\\\\jmath\", \"\\\\html@mathml{\\\\@jmath}{\\u0237}\"); //////////////////////////////////////////////////////////////////////\n// stmaryrd and semantic\n// The stmaryrd and semantic packages render the next four items by calling a\n// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros.\n\ndefineMacro(\"\\\\llbracket\", \"\\\\html@mathml{\" + \"\\\\mathopen{[\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u27e6}}\");\ndefineMacro(\"\\\\rrbracket\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu]}}\" + \"{\\\\mathclose{\\\\char`\\u27e7}}\");\ndefineMacro(\"\\u27e6\", \"\\\\llbracket\"); // blackboard bold [\n\ndefineMacro(\"\\u27e7\", \"\\\\rrbracket\"); // blackboard bold ]\n\ndefineMacro(\"\\\\lBrace\", \"\\\\html@mathml{\" + \"\\\\mathopen{\\\\{\\\\mkern-3.2mu[}}\" + \"{\\\\mathopen{\\\\char`\\u2983}}\");\ndefineMacro(\"\\\\rBrace\", \"\\\\html@mathml{\" + \"\\\\mathclose{]\\\\mkern-3.2mu\\\\}}}\" + \"{\\\\mathclose{\\\\char`\\u2984}}\");\ndefineMacro(\"\\u2983\", \"\\\\lBrace\"); // blackboard bold {\n\ndefineMacro(\"\\u2984\", \"\\\\rBrace\"); // blackboard bold }\n// TODO: Create variable sized versions of the last two items. I believe that\n// will require new font glyphs.\n// The stmaryrd function `\\minuso` provides a \"Plimsoll\" symbol that\n// superimposes the characters \\circ and \\mathminus. Used in chemistry.\n\ndefineMacro(\"\\\\minuso\", \"\\\\mathbin{\\\\html@mathml{\" + \"{\\\\mathrlap{\\\\mathchoice{\\\\kern{0.145em}}{\\\\kern{0.145em}}\" + \"{\\\\kern{0.1015em}}{\\\\kern{0.0725em}}\\\\circ}{-}}}\" + \"{\\\\char`⦵}}\");\ndefineMacro(\"⦵\", \"\\\\minuso\"); //////////////////////////////////////////////////////////////////////\n// texvc.sty\n// The texvc package contains macros available in mediawiki pages.\n// We omit the functions deprecated at\n// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax\n// We also omit texvc's \\O, which conflicts with \\text{\\O}\n\ndefineMacro(\"\\\\darr\", \"\\\\downarrow\");\ndefineMacro(\"\\\\dArr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\Darr\", \"\\\\Downarrow\");\ndefineMacro(\"\\\\lang\", \"\\\\langle\");\ndefineMacro(\"\\\\rang\", \"\\\\rangle\");\ndefineMacro(\"\\\\uarr\", \"\\\\uparrow\");\ndefineMacro(\"\\\\uArr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\Uarr\", \"\\\\Uparrow\");\ndefineMacro(\"\\\\N\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\R\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Z\", \"\\\\mathbb{Z}\");\ndefineMacro(\"\\\\alef\", \"\\\\aleph\");\ndefineMacro(\"\\\\alefsym\", \"\\\\aleph\");\ndefineMacro(\"\\\\Alpha\", \"\\\\mathrm{A}\");\ndefineMacro(\"\\\\Beta\", \"\\\\mathrm{B}\");\ndefineMacro(\"\\\\bull\", \"\\\\bullet\");\ndefineMacro(\"\\\\Chi\", \"\\\\mathrm{X}\");\ndefineMacro(\"\\\\clubs\", \"\\\\clubsuit\");\ndefineMacro(\"\\\\cnums\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Complex\", \"\\\\mathbb{C}\");\ndefineMacro(\"\\\\Dagger\", \"\\\\ddagger\");\ndefineMacro(\"\\\\diamonds\", \"\\\\diamondsuit\");\ndefineMacro(\"\\\\empty\", \"\\\\emptyset\");\ndefineMacro(\"\\\\Epsilon\", \"\\\\mathrm{E}\");\ndefineMacro(\"\\\\Eta\", \"\\\\mathrm{H}\");\ndefineMacro(\"\\\\exist\", \"\\\\exists\");\ndefineMacro(\"\\\\harr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\hArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Harr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\hearts\", \"\\\\heartsuit\");\ndefineMacro(\"\\\\image\", \"\\\\Im\");\ndefineMacro(\"\\\\infin\", \"\\\\infty\");\ndefineMacro(\"\\\\Iota\", \"\\\\mathrm{I}\");\ndefineMacro(\"\\\\isin\", \"\\\\in\");\ndefineMacro(\"\\\\Kappa\", \"\\\\mathrm{K}\");\ndefineMacro(\"\\\\larr\", \"\\\\leftarrow\");\ndefineMacro(\"\\\\lArr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\Larr\", \"\\\\Leftarrow\");\ndefineMacro(\"\\\\lrarr\", \"\\\\leftrightarrow\");\ndefineMacro(\"\\\\lrArr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Lrarr\", \"\\\\Leftrightarrow\");\ndefineMacro(\"\\\\Mu\", \"\\\\mathrm{M}\");\ndefineMacro(\"\\\\natnums\", \"\\\\mathbb{N}\");\ndefineMacro(\"\\\\Nu\", \"\\\\mathrm{N}\");\ndefineMacro(\"\\\\Omicron\", \"\\\\mathrm{O}\");\ndefineMacro(\"\\\\plusmn\", \"\\\\pm\");\ndefineMacro(\"\\\\rarr\", \"\\\\rightarrow\");\ndefineMacro(\"\\\\rArr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\Rarr\", \"\\\\Rightarrow\");\ndefineMacro(\"\\\\real\", \"\\\\Re\");\ndefineMacro(\"\\\\reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Reals\", \"\\\\mathbb{R}\");\ndefineMacro(\"\\\\Rho\", \"\\\\mathrm{P}\");\ndefineMacro(\"\\\\sdot\", \"\\\\cdot\");\ndefineMacro(\"\\\\sect\", \"\\\\S\");\ndefineMacro(\"\\\\spades\", \"\\\\spadesuit\");\ndefineMacro(\"\\\\sub\", \"\\\\subset\");\ndefineMacro(\"\\\\sube\", \"\\\\subseteq\");\ndefineMacro(\"\\\\supe\", \"\\\\supseteq\");\ndefineMacro(\"\\\\Tau\", \"\\\\mathrm{T}\");\ndefineMacro(\"\\\\thetasym\", \"\\\\vartheta\"); // TODO: defineMacro(\"\\\\varcoppa\", \"\\\\\\mbox{\\\\coppa}\");\n\ndefineMacro(\"\\\\weierp\", \"\\\\wp\");\ndefineMacro(\"\\\\Zeta\", \"\\\\mathrm{Z}\"); //////////////////////////////////////////////////////////////////////\n// statmath.sty\n// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf\n\ndefineMacro(\"\\\\argmin\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,min}\");\ndefineMacro(\"\\\\argmax\", \"\\\\DOTSB\\\\operatorname*{arg\\\\,max}\");\ndefineMacro(\"\\\\plim\", \"\\\\DOTSB\\\\mathop{\\\\operatorname{plim}}\\\\limits\"); //////////////////////////////////////////////////////////////////////\n// braket.sty\n// http://ctan.math.washington.edu/tex-archive/macros/latex/contrib/braket/braket.pdf\n\ndefineMacro(\"\\\\bra\", \"\\\\mathinner{\\\\langle{#1}|}\");\ndefineMacro(\"\\\\ket\", \"\\\\mathinner{|{#1}\\\\rangle}\");\ndefineMacro(\"\\\\braket\", \"\\\\mathinner{\\\\langle{#1}\\\\rangle}\");\ndefineMacro(\"\\\\Bra\", \"\\\\left\\\\langle#1\\\\right|\");\ndefineMacro(\"\\\\Ket\", \"\\\\left|#1\\\\right\\\\rangle\");\n\nvar braketHelper = one => context => {\n var left = context.consumeArg().tokens;\n var middle = context.consumeArg().tokens;\n var middleDouble = context.consumeArg().tokens;\n var right = context.consumeArg().tokens;\n var oldMiddle = context.macros.get(\"|\");\n var oldMiddleDouble = context.macros.get(\"\\\\|\");\n context.macros.beginGroup();\n\n var midMacro = double => context => {\n if (one) {\n // Only modify the first instance of | or \\|\n context.macros.set(\"|\", oldMiddle);\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", oldMiddleDouble);\n }\n }\n\n var doubled = double;\n\n if (!double && middleDouble.length) {\n // Mimic \\@ifnextchar\n var nextToken = context.future();\n\n if (nextToken.text === \"|\") {\n context.popToken();\n doubled = true;\n }\n }\n\n return {\n tokens: doubled ? middleDouble : middle,\n numArgs: 0\n };\n };\n\n context.macros.set(\"|\", midMacro(false));\n\n if (middleDouble.length) {\n context.macros.set(\"\\\\|\", midMacro(true));\n }\n\n var arg = context.consumeArg().tokens;\n var expanded = context.expandTokens([...right, ...arg, ...left // reversed\n ]);\n context.macros.endGroup();\n return {\n tokens: expanded.reverse(),\n numArgs: 0\n };\n};\n\ndefineMacro(\"\\\\bra@ket\", braketHelper(false));\ndefineMacro(\"\\\\bra@set\", braketHelper(true));\ndefineMacro(\"\\\\Braket\", \"\\\\bra@ket{\\\\left\\\\langle}\" + \"{\\\\,\\\\middle\\\\vert\\\\,}{\\\\,\\\\middle\\\\vert\\\\,}{\\\\right\\\\rangle}\");\ndefineMacro(\"\\\\Set\", \"\\\\bra@set{\\\\left\\\\{\\\\:}\" + \"{\\\\;\\\\middle\\\\vert\\\\;}{\\\\;\\\\middle\\\\Vert\\\\;}{\\\\:\\\\right\\\\}}\");\ndefineMacro(\"\\\\set\", \"\\\\bra@set{\\\\{\\\\,}{\\\\mid}{}{\\\\,\\\\}}\"); // has no support for special || or \\|\n//////////////////////////////////////////////////////////////////////\n// actuarialangle.dtx\n\ndefineMacro(\"\\\\angln\", \"{\\\\angl n}\"); // Custom Khan Academy colors, should be moved to an optional package\n\ndefineMacro(\"\\\\blue\", \"\\\\textcolor{##6495ed}{#1}\");\ndefineMacro(\"\\\\orange\", \"\\\\textcolor{##ffa500}{#1}\");\ndefineMacro(\"\\\\pink\", \"\\\\textcolor{##ff00af}{#1}\");\ndefineMacro(\"\\\\red\", \"\\\\textcolor{##df0030}{#1}\");\ndefineMacro(\"\\\\green\", \"\\\\textcolor{##28ae7b}{#1}\");\ndefineMacro(\"\\\\gray\", \"\\\\textcolor{gray}{#1}\");\ndefineMacro(\"\\\\purple\", \"\\\\textcolor{##9d38bd}{#1}\");\ndefineMacro(\"\\\\blueA\", \"\\\\textcolor{##ccfaff}{#1}\");\ndefineMacro(\"\\\\blueB\", \"\\\\textcolor{##80f6ff}{#1}\");\ndefineMacro(\"\\\\blueC\", \"\\\\textcolor{##63d9ea}{#1}\");\ndefineMacro(\"\\\\blueD\", \"\\\\textcolor{##11accd}{#1}\");\ndefineMacro(\"\\\\blueE\", \"\\\\textcolor{##0c7f99}{#1}\");\ndefineMacro(\"\\\\tealA\", \"\\\\textcolor{##94fff5}{#1}\");\ndefineMacro(\"\\\\tealB\", \"\\\\textcolor{##26edd5}{#1}\");\ndefineMacro(\"\\\\tealC\", \"\\\\textcolor{##01d1c1}{#1}\");\ndefineMacro(\"\\\\tealD\", \"\\\\textcolor{##01a995}{#1}\");\ndefineMacro(\"\\\\tealE\", \"\\\\textcolor{##208170}{#1}\");\ndefineMacro(\"\\\\greenA\", \"\\\\textcolor{##b6ffb0}{#1}\");\ndefineMacro(\"\\\\greenB\", \"\\\\textcolor{##8af281}{#1}\");\ndefineMacro(\"\\\\greenC\", \"\\\\textcolor{##74cf70}{#1}\");\ndefineMacro(\"\\\\greenD\", \"\\\\textcolor{##1fab54}{#1}\");\ndefineMacro(\"\\\\greenE\", \"\\\\textcolor{##0d923f}{#1}\");\ndefineMacro(\"\\\\goldA\", \"\\\\textcolor{##ffd0a9}{#1}\");\ndefineMacro(\"\\\\goldB\", \"\\\\textcolor{##ffbb71}{#1}\");\ndefineMacro(\"\\\\goldC\", \"\\\\textcolor{##ff9c39}{#1}\");\ndefineMacro(\"\\\\goldD\", \"\\\\textcolor{##e07d10}{#1}\");\ndefineMacro(\"\\\\goldE\", \"\\\\textcolor{##a75a05}{#1}\");\ndefineMacro(\"\\\\redA\", \"\\\\textcolor{##fca9a9}{#1}\");\ndefineMacro(\"\\\\redB\", \"\\\\textcolor{##ff8482}{#1}\");\ndefineMacro(\"\\\\redC\", \"\\\\textcolor{##f9685d}{#1}\");\ndefineMacro(\"\\\\redD\", \"\\\\textcolor{##e84d39}{#1}\");\ndefineMacro(\"\\\\redE\", \"\\\\textcolor{##bc2612}{#1}\");\ndefineMacro(\"\\\\maroonA\", \"\\\\textcolor{##ffbde0}{#1}\");\ndefineMacro(\"\\\\maroonB\", \"\\\\textcolor{##ff92c6}{#1}\");\ndefineMacro(\"\\\\maroonC\", \"\\\\textcolor{##ed5fa6}{#1}\");\ndefineMacro(\"\\\\maroonD\", \"\\\\textcolor{##ca337c}{#1}\");\ndefineMacro(\"\\\\maroonE\", \"\\\\textcolor{##9e034e}{#1}\");\ndefineMacro(\"\\\\purpleA\", \"\\\\textcolor{##ddd7ff}{#1}\");\ndefineMacro(\"\\\\purpleB\", \"\\\\textcolor{##c6b9fc}{#1}\");\ndefineMacro(\"\\\\purpleC\", \"\\\\textcolor{##aa87ff}{#1}\");\ndefineMacro(\"\\\\purpleD\", \"\\\\textcolor{##7854ab}{#1}\");\ndefineMacro(\"\\\\purpleE\", \"\\\\textcolor{##543b78}{#1}\");\ndefineMacro(\"\\\\mintA\", \"\\\\textcolor{##f5f9e8}{#1}\");\ndefineMacro(\"\\\\mintB\", \"\\\\textcolor{##edf2df}{#1}\");\ndefineMacro(\"\\\\mintC\", \"\\\\textcolor{##e0e5cc}{#1}\");\ndefineMacro(\"\\\\grayA\", \"\\\\textcolor{##f6f7f7}{#1}\");\ndefineMacro(\"\\\\grayB\", \"\\\\textcolor{##f0f1f2}{#1}\");\ndefineMacro(\"\\\\grayC\", \"\\\\textcolor{##e3e5e6}{#1}\");\ndefineMacro(\"\\\\grayD\", \"\\\\textcolor{##d6d8da}{#1}\");\ndefineMacro(\"\\\\grayE\", \"\\\\textcolor{##babec2}{#1}\");\ndefineMacro(\"\\\\grayF\", \"\\\\textcolor{##888d93}{#1}\");\ndefineMacro(\"\\\\grayG\", \"\\\\textcolor{##626569}{#1}\");\ndefineMacro(\"\\\\grayH\", \"\\\\textcolor{##3b3e40}{#1}\");\ndefineMacro(\"\\\\grayI\", \"\\\\textcolor{##21242c}{#1}\");\ndefineMacro(\"\\\\kaBlue\", \"\\\\textcolor{##314453}{#1}\");\ndefineMacro(\"\\\\kaGreen\", \"\\\\textcolor{##71B307}{#1}\");\n\n/**\n * This file contains the “gullet” where macros are expanded\n * until only non-macro tokens remain.\n */\n// List of commands that act like macros but aren't defined as a macro,\n// function, or symbol. Used in `isDefined`.\nvar implicitCommands = {\n \"^\": true,\n // Parser.js\n \"_\": true,\n // Parser.js\n \"\\\\limits\": true,\n // Parser.js\n \"\\\\nolimits\": true // Parser.js\n\n};\nclass MacroExpander {\n constructor(input, settings, mode) {\n this.settings = void 0;\n this.expansionCount = void 0;\n this.lexer = void 0;\n this.macros = void 0;\n this.stack = void 0;\n this.mode = void 0;\n this.settings = settings;\n this.expansionCount = 0;\n this.feed(input); // Make new global namespace\n\n this.macros = new Namespace(macros, settings.macros);\n this.mode = mode;\n this.stack = []; // contains tokens in REVERSE order\n }\n /**\n * Feed a new input string to the same MacroExpander\n * (with existing macros etc.).\n */\n\n\n feed(input) {\n this.lexer = new Lexer(input, this.settings);\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n\n\n switchMode(newMode) {\n this.mode = newMode;\n }\n /**\n * Start a new group nesting within all namespaces.\n */\n\n\n beginGroup() {\n this.macros.beginGroup();\n }\n /**\n * End current group nesting within all namespaces.\n */\n\n\n endGroup() {\n this.macros.endGroup();\n }\n /**\n * Ends all currently nested groups (if any), restoring values before the\n * groups began. Useful in case of an error in the middle of parsing.\n */\n\n\n endGroups() {\n this.macros.endGroups();\n }\n /**\n * Returns the topmost token on the stack, without expanding it.\n * Similar in behavior to TeX's `\\futurelet`.\n */\n\n\n future() {\n if (this.stack.length === 0) {\n this.pushToken(this.lexer.lex());\n }\n\n return this.stack[this.stack.length - 1];\n }\n /**\n * Remove and return the next unexpanded token.\n */\n\n\n popToken() {\n this.future(); // ensure non-empty stack\n\n return this.stack.pop();\n }\n /**\n * Add a given token to the token stack. In particular, this get be used\n * to put back a token returned from one of the other methods.\n */\n\n\n pushToken(token) {\n this.stack.push(token);\n }\n /**\n * Append an array of tokens to the token stack.\n */\n\n\n pushTokens(tokens) {\n this.stack.push(...tokens);\n }\n /**\n * Find an macro argument without expanding tokens and append the array of\n * tokens to the token stack. Uses Token as a container for the result.\n */\n\n\n scanArgument(isOptional) {\n var start;\n var end;\n var tokens;\n\n if (isOptional) {\n this.consumeSpaces(); // \\@ifnextchar gobbles any space following it\n\n if (this.future().text !== \"[\") {\n return null;\n }\n\n start = this.popToken(); // don't include [ in tokens\n\n ({\n tokens,\n end\n } = this.consumeArg([\"]\"]));\n } else {\n ({\n tokens,\n start,\n end\n } = this.consumeArg());\n } // indicate the end of an argument\n\n\n this.pushToken(new Token(\"EOF\", end.loc));\n this.pushTokens(tokens);\n return start.range(end, \"\");\n }\n /**\n * Consume all following space tokens, without expansion.\n */\n\n\n consumeSpaces() {\n for (;;) {\n var token = this.future();\n\n if (token.text === \" \") {\n this.stack.pop();\n } else {\n break;\n }\n }\n }\n /**\n * Consume an argument from the token stream, and return the resulting array\n * of tokens and start/end token.\n */\n\n\n consumeArg(delims) {\n // The argument for a delimited parameter is the shortest (possibly\n // empty) sequence of tokens with properly nested {...} groups that is\n // followed ... by this particular list of non-parameter tokens.\n // The argument for an undelimited parameter is the next nonblank\n // token, unless that token is ‘{’, when the argument will be the\n // entire {...} group that follows.\n var tokens = [];\n var isDelimited = delims && delims.length > 0;\n\n if (!isDelimited) {\n // Ignore spaces between arguments. As the TeXbook says:\n // \"After you have said ‘\\def\\row#1#2{...}’, you are allowed to\n // put spaces between the arguments (e.g., ‘\\row x n’), because\n // TeX doesn’t use single spaces as undelimited arguments.\"\n this.consumeSpaces();\n }\n\n var start = this.future();\n var tok;\n var depth = 0;\n var match = 0;\n\n do {\n tok = this.popToken();\n tokens.push(tok);\n\n if (tok.text === \"{\") {\n ++depth;\n } else if (tok.text === \"}\") {\n --depth;\n\n if (depth === -1) {\n throw new ParseError(\"Extra }\", tok);\n }\n } else if (tok.text === \"EOF\") {\n throw new ParseError(\"Unexpected end of input in a macro argument\" + \", expected '\" + (delims && isDelimited ? delims[match] : \"}\") + \"'\", tok);\n }\n\n if (delims && isDelimited) {\n if ((depth === 0 || depth === 1 && delims[match] === \"{\") && tok.text === delims[match]) {\n ++match;\n\n if (match === delims.length) {\n // don't include delims in tokens\n tokens.splice(-match, match);\n break;\n }\n } else {\n match = 0;\n }\n }\n } while (depth !== 0 || isDelimited); // If the argument found ... has the form ‘{<nested tokens>}’,\n // ... the outermost braces enclosing the argument are removed\n\n\n if (start.text === \"{\" && tokens[tokens.length - 1].text === \"}\") {\n tokens.pop();\n tokens.shift();\n }\n\n tokens.reverse(); // to fit in with stack order\n\n return {\n tokens,\n start,\n end: tok\n };\n }\n /**\n * Consume the specified number of (delimited) arguments from the token\n * stream and return the resulting array of arguments.\n */\n\n\n consumeArgs(numArgs, delimiters) {\n if (delimiters) {\n if (delimiters.length !== numArgs + 1) {\n throw new ParseError(\"The length of delimiters doesn't match the number of args!\");\n }\n\n var delims = delimiters[0];\n\n for (var i = 0; i < delims.length; i++) {\n var tok = this.popToken();\n\n if (delims[i] !== tok.text) {\n throw new ParseError(\"Use of the macro doesn't match its definition\", tok);\n }\n }\n }\n\n var args = [];\n\n for (var _i = 0; _i < numArgs; _i++) {\n args.push(this.consumeArg(delimiters && delimiters[_i + 1]).tokens);\n }\n\n return args;\n }\n /**\n * Increment `expansionCount` by the specified amount.\n * Throw an error if it exceeds `maxExpand`.\n */\n\n\n countExpansion(amount) {\n this.expansionCount += amount;\n\n if (this.expansionCount > this.settings.maxExpand) {\n throw new ParseError(\"Too many expansions: infinite loop or \" + \"need to increase maxExpand setting\");\n }\n }\n /**\n * Expand the next token only once if possible.\n *\n * If the token is expanded, the resulting tokens will be pushed onto\n * the stack in reverse order, and the number of such tokens will be\n * returned. This number might be zero or positive.\n *\n * If not, the return value is `false`, and the next token remains at the\n * top of the stack.\n *\n * In either case, the next token will be on the top of the stack,\n * or the stack will be empty (in case of empty expansion\n * and no other tokens).\n *\n * Used to implement `expandAfterFuture` and `expandNextToken`.\n *\n * If expandableOnly, only expandable tokens are expanded and\n * an undefined control sequence results in an error.\n */\n\n\n expandOnce(expandableOnly) {\n var topToken = this.popToken();\n var name = topToken.text;\n var expansion = !topToken.noexpand ? this._getExpansion(name) : null;\n\n if (expansion == null || expandableOnly && expansion.unexpandable) {\n if (expandableOnly && expansion == null && name[0] === \"\\\\\" && !this.isDefined(name)) {\n throw new ParseError(\"Undefined control sequence: \" + name);\n }\n\n this.pushToken(topToken);\n return false;\n }\n\n this.countExpansion(1);\n var tokens = expansion.tokens;\n var args = this.consumeArgs(expansion.numArgs, expansion.delimiters);\n\n if (expansion.numArgs) {\n // paste arguments in place of the placeholders\n tokens = tokens.slice(); // make a shallow copy\n\n for (var i = tokens.length - 1; i >= 0; --i) {\n var tok = tokens[i];\n\n if (tok.text === \"#\") {\n if (i === 0) {\n throw new ParseError(\"Incomplete placeholder at end of macro body\", tok);\n }\n\n tok = tokens[--i]; // next token on stack\n\n if (tok.text === \"#\") {\n // ## → #\n tokens.splice(i + 1, 1); // drop first #\n } else if (/^[1-9]$/.test(tok.text)) {\n // replace the placeholder with the indicated argument\n tokens.splice(i, 2, ...args[+tok.text - 1]);\n } else {\n throw new ParseError(\"Not a valid argument number\", tok);\n }\n }\n }\n } // Concatenate expansion onto top of stack.\n\n\n this.pushTokens(tokens);\n return tokens.length;\n }\n /**\n * Expand the next token only once (if possible), and return the resulting\n * top token on the stack (without removing anything from the stack).\n * Similar in behavior to TeX's `\\expandafter\\futurelet`.\n * Equivalent to expandOnce() followed by future().\n */\n\n\n expandAfterFuture() {\n this.expandOnce();\n return this.future();\n }\n /**\n * Recursively expand first token, then return first non-expandable token.\n */\n\n\n expandNextToken() {\n for (;;) {\n if (this.expandOnce() === false) {\n // fully expanded\n var token = this.stack.pop(); // the token after \\noexpand is interpreted as if its meaning\n // were ‘\\relax’\n\n if (token.treatAsRelax) {\n token.text = \"\\\\relax\";\n }\n\n return token;\n }\n } // Flow unable to figure out that this pathway is impossible.\n // https://github.com/facebook/flow/issues/4808\n\n\n throw new Error(); // eslint-disable-line no-unreachable\n }\n /**\n * Fully expand the given macro name and return the resulting list of\n * tokens, or return `undefined` if no such macro is defined.\n */\n\n\n expandMacro(name) {\n return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined;\n }\n /**\n * Fully expand the given token stream and return the resulting list of\n * tokens. Note that the input tokens are in reverse order, but the\n * output tokens are in forward order.\n */\n\n\n expandTokens(tokens) {\n var output = [];\n var oldStackLength = this.stack.length;\n this.pushTokens(tokens);\n\n while (this.stack.length > oldStackLength) {\n // Expand only expandable tokens\n if (this.expandOnce(true) === false) {\n // fully expanded\n var token = this.stack.pop();\n\n if (token.treatAsRelax) {\n // the expansion of \\noexpand is the token itself\n token.noexpand = false;\n token.treatAsRelax = false;\n }\n\n output.push(token);\n }\n } // Count all of these tokens as additional expansions, to prevent\n // exponential blowup from linearly many \\edef's.\n\n\n this.countExpansion(output.length);\n return output;\n }\n /**\n * Fully expand the given macro name and return the result as a string,\n * or return `undefined` if no such macro is defined.\n */\n\n\n expandMacroAsText(name) {\n var tokens = this.expandMacro(name);\n\n if (tokens) {\n return tokens.map(token => token.text).join(\"\");\n } else {\n return tokens;\n }\n }\n /**\n * Returns the expanded macro as a reversed array of tokens and a macro\n * argument count. Or returns `null` if no such macro.\n */\n\n\n _getExpansion(name) {\n var definition = this.macros.get(name);\n\n if (definition == null) {\n // mainly checking for undefined here\n return definition;\n } // If a single character has an associated catcode other than 13\n // (active character), then don't expand it.\n\n\n if (name.length === 1) {\n var catcode = this.lexer.catcodes[name];\n\n if (catcode != null && catcode !== 13) {\n return;\n }\n }\n\n var expansion = typeof definition === \"function\" ? definition(this) : definition;\n\n if (typeof expansion === \"string\") {\n var numArgs = 0;\n\n if (expansion.indexOf(\"#\") !== -1) {\n var stripped = expansion.replace(/##/g, \"\");\n\n while (stripped.indexOf(\"#\" + (numArgs + 1)) !== -1) {\n ++numArgs;\n }\n }\n\n var bodyLexer = new Lexer(expansion, this.settings);\n var tokens = [];\n var tok = bodyLexer.lex();\n\n while (tok.text !== \"EOF\") {\n tokens.push(tok);\n tok = bodyLexer.lex();\n }\n\n tokens.reverse(); // to fit in with stack using push and pop\n\n var expanded = {\n tokens,\n numArgs\n };\n return expanded;\n }\n\n return expansion;\n }\n /**\n * Determine whether a command is currently \"defined\" (has some\n * functionality), meaning that it's a macro (in the current group),\n * a function, a symbol, or one of the special commands listed in\n * `implicitCommands`.\n */\n\n\n isDefined(name) {\n return this.macros.has(name) || functions.hasOwnProperty(name) || symbols.math.hasOwnProperty(name) || symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name);\n }\n /**\n * Determine whether a command is expandable.\n */\n\n\n isExpandable(name) {\n var macro = this.macros.get(name);\n return macro != null ? typeof macro === \"string\" || typeof macro === \"function\" || !macro.unexpandable : functions.hasOwnProperty(name) && !functions[name].primitive;\n }\n\n}\n\n// Helpers for Parser.js handling of Unicode (sub|super)script characters.\nvar unicodeSubRegEx = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/;\nvar uSubsAndSups = Object.freeze({\n '₊': '+',\n '₋': '-',\n '₌': '=',\n '₍': '(',\n '₎': ')',\n '₀': '0',\n '₁': '1',\n '₂': '2',\n '₃': '3',\n '₄': '4',\n '₅': '5',\n '₆': '6',\n '₇': '7',\n '₈': '8',\n '₉': '9',\n '\\u2090': 'a',\n '\\u2091': 'e',\n '\\u2095': 'h',\n '\\u1D62': 'i',\n '\\u2C7C': 'j',\n '\\u2096': 'k',\n '\\u2097': 'l',\n '\\u2098': 'm',\n '\\u2099': 'n',\n '\\u2092': 'o',\n '\\u209A': 'p',\n '\\u1D63': 'r',\n '\\u209B': 's',\n '\\u209C': 't',\n '\\u1D64': 'u',\n '\\u1D65': 'v',\n '\\u2093': 'x',\n '\\u1D66': 'β',\n '\\u1D67': 'γ',\n '\\u1D68': 'ρ',\n '\\u1D69': '\\u03d5',\n '\\u1D6A': 'χ',\n '⁺': '+',\n '⁻': '-',\n '⁼': '=',\n '⁽': '(',\n '⁾': ')',\n '⁰': '0',\n '¹': '1',\n '²': '2',\n '³': '3',\n '⁴': '4',\n '⁵': '5',\n '⁶': '6',\n '⁷': '7',\n '⁸': '8',\n '⁹': '9',\n '\\u1D2C': 'A',\n '\\u1D2E': 'B',\n '\\u1D30': 'D',\n '\\u1D31': 'E',\n '\\u1D33': 'G',\n '\\u1D34': 'H',\n '\\u1D35': 'I',\n '\\u1D36': 'J',\n '\\u1D37': 'K',\n '\\u1D38': 'L',\n '\\u1D39': 'M',\n '\\u1D3A': 'N',\n '\\u1D3C': 'O',\n '\\u1D3E': 'P',\n '\\u1D3F': 'R',\n '\\u1D40': 'T',\n '\\u1D41': 'U',\n '\\u2C7D': 'V',\n '\\u1D42': 'W',\n '\\u1D43': 'a',\n '\\u1D47': 'b',\n '\\u1D9C': 'c',\n '\\u1D48': 'd',\n '\\u1D49': 'e',\n '\\u1DA0': 'f',\n '\\u1D4D': 'g',\n '\\u02B0': 'h',\n '\\u2071': 'i',\n '\\u02B2': 'j',\n '\\u1D4F': 'k',\n '\\u02E1': 'l',\n '\\u1D50': 'm',\n '\\u207F': 'n',\n '\\u1D52': 'o',\n '\\u1D56': 'p',\n '\\u02B3': 'r',\n '\\u02E2': 's',\n '\\u1D57': 't',\n '\\u1D58': 'u',\n '\\u1D5B': 'v',\n '\\u02B7': 'w',\n '\\u02E3': 'x',\n '\\u02B8': 'y',\n '\\u1DBB': 'z',\n '\\u1D5D': 'β',\n '\\u1D5E': 'γ',\n '\\u1D5F': 'δ',\n '\\u1D60': '\\u03d5',\n '\\u1D61': 'χ',\n '\\u1DBF': 'θ'\n});\n\n/* eslint no-constant-condition:0 */\n\nvar unicodeAccents = {\n \"́\": {\n \"text\": \"\\\\'\",\n \"math\": \"\\\\acute\"\n },\n \"̀\": {\n \"text\": \"\\\\`\",\n \"math\": \"\\\\grave\"\n },\n \"̈\": {\n \"text\": \"\\\\\\\"\",\n \"math\": \"\\\\ddot\"\n },\n \"̃\": {\n \"text\": \"\\\\~\",\n \"math\": \"\\\\tilde\"\n },\n \"̄\": {\n \"text\": \"\\\\=\",\n \"math\": \"\\\\bar\"\n },\n \"̆\": {\n \"text\": \"\\\\u\",\n \"math\": \"\\\\breve\"\n },\n \"̌\": {\n \"text\": \"\\\\v\",\n \"math\": \"\\\\check\"\n },\n \"̂\": {\n \"text\": \"\\\\^\",\n \"math\": \"\\\\hat\"\n },\n \"̇\": {\n \"text\": \"\\\\.\",\n \"math\": \"\\\\dot\"\n },\n \"̊\": {\n \"text\": \"\\\\r\",\n \"math\": \"\\\\mathring\"\n },\n \"̋\": {\n \"text\": \"\\\\H\"\n },\n \"̧\": {\n \"text\": \"\\\\c\"\n }\n};\nvar unicodeSymbols = {\n \"á\": \"á\",\n \"à\": \"à\",\n \"ä\": \"ä\",\n \"ǟ\": \"ǟ\",\n \"ã\": \"ã\",\n \"ā\": \"ā\",\n \"ă\": \"ă\",\n \"ắ\": \"ắ\",\n \"ằ\": \"ằ\",\n \"ẵ\": \"ẵ\",\n \"ǎ\": \"ǎ\",\n \"â\": \"â\",\n \"ấ\": \"ấ\",\n \"ầ\": \"ầ\",\n \"ẫ\": \"ẫ\",\n \"ȧ\": \"ȧ\",\n \"ǡ\": \"ǡ\",\n \"å\": \"å\",\n \"ǻ\": \"ǻ\",\n \"ḃ\": \"ḃ\",\n \"ć\": \"ć\",\n \"ḉ\": \"ḉ\",\n \"č\": \"č\",\n \"ĉ\": \"ĉ\",\n \"ċ\": \"ċ\",\n \"ç\": \"ç\",\n \"ď\": \"ď\",\n \"ḋ\": \"ḋ\",\n \"ḑ\": \"ḑ\",\n \"é\": \"é\",\n \"è\": \"è\",\n \"ë\": \"ë\",\n \"ẽ\": \"ẽ\",\n \"ē\": \"ē\",\n \"ḗ\": \"ḗ\",\n \"ḕ\": \"ḕ\",\n \"ĕ\": \"ĕ\",\n \"ḝ\": \"ḝ\",\n \"ě\": \"ě\",\n \"ê\": \"ê\",\n \"ế\": \"ế\",\n \"ề\": \"ề\",\n \"ễ\": \"ễ\",\n \"ė\": \"ė\",\n \"ȩ\": \"ȩ\",\n \"ḟ\": \"ḟ\",\n \"ǵ\": \"ǵ\",\n \"ḡ\": \"ḡ\",\n \"ğ\": \"ğ\",\n \"ǧ\": \"ǧ\",\n \"ĝ\": \"ĝ\",\n \"ġ\": \"ġ\",\n \"ģ\": \"ģ\",\n \"ḧ\": \"ḧ\",\n \"ȟ\": \"ȟ\",\n \"ĥ\": \"ĥ\",\n \"ḣ\": \"ḣ\",\n \"ḩ\": \"ḩ\",\n \"í\": \"í\",\n \"ì\": \"ì\",\n \"ï\": \"ï\",\n \"ḯ\": \"ḯ\",\n \"ĩ\": \"ĩ\",\n \"ī\": \"ī\",\n \"ĭ\": \"ĭ\",\n \"ǐ\": \"ǐ\",\n \"î\": \"î\",\n \"ǰ\": \"ǰ\",\n \"ĵ\": \"ĵ\",\n \"ḱ\": \"ḱ\",\n \"ǩ\": \"ǩ\",\n \"ķ\": \"ķ\",\n \"ĺ\": \"ĺ\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"ḿ\": \"ḿ\",\n \"ṁ\": \"ṁ\",\n \"ń\": \"ń\",\n \"ǹ\": \"ǹ\",\n \"ñ\": \"ñ\",\n \"ň\": \"ň\",\n \"ṅ\": \"ṅ\",\n \"ņ\": \"ņ\",\n \"ó\": \"ó\",\n \"ò\": \"ò\",\n \"ö\": \"ö\",\n \"ȫ\": \"ȫ\",\n \"õ\": \"õ\",\n \"ṍ\": \"ṍ\",\n \"ṏ\": \"ṏ\",\n \"ȭ\": \"ȭ\",\n \"ō\": \"ō\",\n \"ṓ\": \"ṓ\",\n \"ṑ\": \"ṑ\",\n \"ŏ\": \"ŏ\",\n \"ǒ\": \"ǒ\",\n \"ô\": \"ô\",\n \"ố\": \"ố\",\n \"ồ\": \"ồ\",\n \"ỗ\": \"ỗ\",\n \"ȯ\": \"ȯ\",\n \"ȱ\": \"ȱ\",\n \"ő\": \"ő\",\n \"ṕ\": \"ṕ\",\n \"ṗ\": \"ṗ\",\n \"ŕ\": \"ŕ\",\n \"ř\": \"ř\",\n \"ṙ\": \"ṙ\",\n \"ŗ\": \"ŗ\",\n \"ś\": \"ś\",\n \"ṥ\": \"ṥ\",\n \"š\": \"š\",\n \"ṧ\": \"ṧ\",\n \"ŝ\": \"ŝ\",\n \"ṡ\": \"ṡ\",\n \"ş\": \"ş\",\n \"ẗ\": \"ẗ\",\n \"ť\": \"ť\",\n \"ṫ\": \"ṫ\",\n \"ţ\": \"ţ\",\n \"ú\": \"ú\",\n \"ù\": \"ù\",\n \"ü\": \"ü\",\n \"ǘ\": \"ǘ\",\n \"ǜ\": \"ǜ\",\n \"ǖ\": \"ǖ\",\n \"ǚ\": \"ǚ\",\n \"ũ\": \"ũ\",\n \"ṹ\": \"ṹ\",\n \"ū\": \"ū\",\n \"ṻ\": \"ṻ\",\n \"ŭ\": \"ŭ\",\n \"ǔ\": \"ǔ\",\n \"û\": \"û\",\n \"ů\": \"ů\",\n \"ű\": \"ű\",\n \"ṽ\": \"ṽ\",\n \"ẃ\": \"ẃ\",\n \"ẁ\": \"ẁ\",\n \"ẅ\": \"ẅ\",\n \"ŵ\": \"ŵ\",\n \"ẇ\": \"ẇ\",\n \"ẘ\": \"ẘ\",\n \"ẍ\": \"ẍ\",\n \"ẋ\": \"ẋ\",\n \"ý\": \"ý\",\n \"ỳ\": \"ỳ\",\n \"ÿ\": \"ÿ\",\n \"ỹ\": \"ỹ\",\n \"ȳ\": \"ȳ\",\n \"ŷ\": \"ŷ\",\n \"ẏ\": \"ẏ\",\n \"ẙ\": \"ẙ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"ẑ\": \"ẑ\",\n \"ż\": \"ż\",\n \"Á\": \"Á\",\n \"À\": \"À\",\n \"Ä\": \"Ä\",\n \"Ǟ\": \"Ǟ\",\n \"Ã\": \"Ã\",\n \"Ā\": \"Ā\",\n \"Ă\": \"Ă\",\n \"Ắ\": \"Ắ\",\n \"Ằ\": \"Ằ\",\n \"Ẵ\": \"Ẵ\",\n \"Ǎ\": \"Ǎ\",\n \"Â\": \"Â\",\n \"Ấ\": \"Ấ\",\n \"Ầ\": \"Ầ\",\n \"Ẫ\": \"Ẫ\",\n \"Ȧ\": \"Ȧ\",\n \"Ǡ\": \"Ǡ\",\n \"Å\": \"Å\",\n \"Ǻ\": \"Ǻ\",\n \"Ḃ\": \"Ḃ\",\n \"Ć\": \"Ć\",\n \"Ḉ\": \"Ḉ\",\n \"Č\": \"Č\",\n \"Ĉ\": \"Ĉ\",\n \"Ċ\": \"Ċ\",\n \"Ç\": \"Ç\",\n \"Ď\": \"Ď\",\n \"Ḋ\": \"Ḋ\",\n \"Ḑ\": \"Ḑ\",\n \"É\": \"É\",\n \"È\": \"È\",\n \"Ë\": \"Ë\",\n \"Ẽ\": \"Ẽ\",\n \"Ē\": \"Ē\",\n \"Ḗ\": \"Ḗ\",\n \"Ḕ\": \"Ḕ\",\n \"Ĕ\": \"Ĕ\",\n \"Ḝ\": \"Ḝ\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Ế\": \"Ế\",\n \"Ề\": \"Ề\",\n \"Ễ\": \"Ễ\",\n \"Ė\": \"Ė\",\n \"Ȩ\": \"Ȩ\",\n \"Ḟ\": \"Ḟ\",\n \"Ǵ\": \"Ǵ\",\n \"Ḡ\": \"Ḡ\",\n \"Ğ\": \"Ğ\",\n \"Ǧ\": \"Ǧ\",\n \"Ĝ\": \"Ĝ\",\n \"Ġ\": \"Ġ\",\n \"Ģ\": \"Ģ\",\n \"Ḧ\": \"Ḧ\",\n \"Ȟ\": \"Ȟ\",\n \"Ĥ\": \"Ĥ\",\n \"Ḣ\": \"Ḣ\",\n \"Ḩ\": \"Ḩ\",\n \"Í\": \"Í\",\n \"Ì\": \"Ì\",\n \"Ï\": \"Ï\",\n \"Ḯ\": \"Ḯ\",\n \"Ĩ\": \"Ĩ\",\n \"Ī\": \"Ī\",\n \"Ĭ\": \"Ĭ\",\n \"Ǐ\": \"Ǐ\",\n \"Î\": \"Î\",\n \"İ\": \"İ\",\n \"Ĵ\": \"Ĵ\",\n \"Ḱ\": \"Ḱ\",\n \"Ǩ\": \"Ǩ\",\n \"Ķ\": \"Ķ\",\n \"Ĺ\": \"Ĺ\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Ḿ\": \"Ḿ\",\n \"Ṁ\": \"Ṁ\",\n \"Ń\": \"Ń\",\n \"Ǹ\": \"Ǹ\",\n \"Ñ\": \"Ñ\",\n \"Ň\": \"Ň\",\n \"Ṅ\": \"Ṅ\",\n \"Ņ\": \"Ņ\",\n \"Ó\": \"Ó\",\n \"Ò\": \"Ò\",\n \"Ö\": \"Ö\",\n \"Ȫ\": \"Ȫ\",\n \"Õ\": \"Õ\",\n \"Ṍ\": \"Ṍ\",\n \"Ṏ\": \"Ṏ\",\n \"Ȭ\": \"Ȭ\",\n \"Ō\": \"Ō\",\n \"Ṓ\": \"Ṓ\",\n \"Ṑ\": \"Ṑ\",\n \"Ŏ\": \"Ŏ\",\n \"Ǒ\": \"Ǒ\",\n \"Ô\": \"Ô\",\n \"Ố\": \"Ố\",\n \"Ồ\": \"Ồ\",\n \"Ỗ\": \"Ỗ\",\n \"Ȯ\": \"Ȯ\",\n \"Ȱ\": \"Ȱ\",\n \"Ő\": \"Ő\",\n \"Ṕ\": \"Ṕ\",\n \"Ṗ\": \"Ṗ\",\n \"Ŕ\": \"Ŕ\",\n \"Ř\": \"Ř\",\n \"Ṙ\": \"Ṙ\",\n \"Ŗ\": \"Ŗ\",\n \"Ś\": \"Ś\",\n \"Ṥ\": \"Ṥ\",\n \"Š\": \"Š\",\n \"Ṧ\": \"Ṧ\",\n \"Ŝ\": \"Ŝ\",\n \"Ṡ\": \"Ṡ\",\n \"Ş\": \"Ş\",\n \"Ť\": \"Ť\",\n \"Ṫ\": \"Ṫ\",\n \"Ţ\": \"Ţ\",\n \"Ú\": \"Ú\",\n \"Ù\": \"Ù\",\n \"Ü\": \"Ü\",\n \"Ǘ\": \"Ǘ\",\n \"Ǜ\": \"Ǜ\",\n \"Ǖ\": \"Ǖ\",\n \"Ǚ\": \"Ǚ\",\n \"Ũ\": \"Ũ\",\n \"Ṹ\": \"Ṹ\",\n \"Ū\": \"Ū\",\n \"Ṻ\": \"Ṻ\",\n \"Ŭ\": \"Ŭ\",\n \"Ǔ\": \"Ǔ\",\n \"Û\": \"Û\",\n \"Ů\": \"Ů\",\n \"Ű\": \"Ű\",\n \"Ṽ\": \"Ṽ\",\n \"Ẃ\": \"Ẃ\",\n \"Ẁ\": \"Ẁ\",\n \"Ẅ\": \"Ẅ\",\n \"Ŵ\": \"Ŵ\",\n \"Ẇ\": \"Ẇ\",\n \"Ẍ\": \"Ẍ\",\n \"Ẋ\": \"Ẋ\",\n \"Ý\": \"Ý\",\n \"Ỳ\": \"Ỳ\",\n \"Ÿ\": \"Ÿ\",\n \"Ỹ\": \"Ỹ\",\n \"Ȳ\": \"Ȳ\",\n \"Ŷ\": \"Ŷ\",\n \"Ẏ\": \"Ẏ\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"Ẑ\": \"Ẑ\",\n \"Ż\": \"Ż\",\n \"ά\": \"ά\",\n \"ὰ\": \"ὰ\",\n \"ᾱ\": \"ᾱ\",\n \"ᾰ\": \"ᾰ\",\n \"έ\": \"έ\",\n \"ὲ\": \"ὲ\",\n \"ή\": \"ή\",\n \"ὴ\": \"ὴ\",\n \"ί\": \"ί\",\n \"ὶ\": \"ὶ\",\n \"ϊ\": \"ϊ\",\n \"ΐ\": \"ΐ\",\n \"ῒ\": \"ῒ\",\n \"ῑ\": \"ῑ\",\n \"ῐ\": \"ῐ\",\n \"ό\": \"ό\",\n \"ὸ\": \"ὸ\",\n \"ύ\": \"ύ\",\n \"ὺ\": \"ὺ\",\n \"ϋ\": \"ϋ\",\n \"ΰ\": \"ΰ\",\n \"ῢ\": \"ῢ\",\n \"ῡ\": \"ῡ\",\n \"ῠ\": \"ῠ\",\n \"ώ\": \"ώ\",\n \"ὼ\": \"ὼ\",\n \"Ύ\": \"Ύ\",\n \"Ὺ\": \"Ὺ\",\n \"Ϋ\": \"Ϋ\",\n \"Ῡ\": \"Ῡ\",\n \"Ῠ\": \"Ῠ\",\n \"Ώ\": \"Ώ\",\n \"Ὼ\": \"Ὼ\"\n};\n\n/**\n * This file contains the parser used to parse out a TeX expression from the\n * input. Since TeX isn't context-free, standard parsers don't work particularly\n * well.\n *\n * The strategy of this parser is as such:\n *\n * The main functions (the `.parse...` ones) take a position in the current\n * parse string to parse tokens from. The lexer (found in Lexer.js, stored at\n * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When\n * individual tokens are needed at a position, the lexer is called to pull out a\n * token, which is then used.\n *\n * The parser has a property called \"mode\" indicating the mode that\n * the parser is currently in. Currently it has to be one of \"math\" or\n * \"text\", which denotes whether the current environment is a math-y\n * one or a text-y one (e.g. inside \\text). Currently, this serves to\n * limit the functions which can be used in text mode.\n *\n * The main functions then return an object which contains the useful data that\n * was parsed at its given point, and a new position at the end of the parsed\n * data. The main functions can call each other and continue the parsing by\n * using the returned position as a new starting point.\n *\n * There are also extra `.handle...` functions, which pull out some reused\n * functionality into self-contained functions.\n *\n * The functions return ParseNodes.\n */\nclass Parser {\n constructor(input, settings) {\n this.mode = void 0;\n this.gullet = void 0;\n this.settings = void 0;\n this.leftrightDepth = void 0;\n this.nextToken = void 0;\n // Start in math mode\n this.mode = \"math\"; // Create a new macro expander (gullet) and (indirectly via that) also a\n // new lexer (mouth) for this parser (stomach, in the language of TeX)\n\n this.gullet = new MacroExpander(input, settings, this.mode); // Store the settings for use in parsing\n\n this.settings = settings; // Count leftright depth (for \\middle errors)\n\n this.leftrightDepth = 0;\n }\n /**\n * Checks a result to make sure it has the right type, and throws an\n * appropriate error otherwise.\n */\n\n\n expect(text, consume) {\n if (consume === void 0) {\n consume = true;\n }\n\n if (this.fetch().text !== text) {\n throw new ParseError(\"Expected '\" + text + \"', got '\" + this.fetch().text + \"'\", this.fetch());\n }\n\n if (consume) {\n this.consume();\n }\n }\n /**\n * Discards the current lookahead token, considering it consumed.\n */\n\n\n consume() {\n this.nextToken = null;\n }\n /**\n * Return the current lookahead token, or if there isn't one (at the\n * beginning, or if the previous lookahead token was consume()d),\n * fetch the next token as the new lookahead token and return it.\n */\n\n\n fetch() {\n if (this.nextToken == null) {\n this.nextToken = this.gullet.expandNextToken();\n }\n\n return this.nextToken;\n }\n /**\n * Switches between \"text\" and \"math\" modes.\n */\n\n\n switchMode(newMode) {\n this.mode = newMode;\n this.gullet.switchMode(newMode);\n }\n /**\n * Main parsing function, which parses an entire input.\n */\n\n\n parse() {\n if (!this.settings.globalGroup) {\n // Create a group namespace for the math expression.\n // (LaTeX creates a new group for every $...$, $$...$$, \\[...\\].)\n this.gullet.beginGroup();\n } // Use old \\color behavior (same as LaTeX's \\textcolor) if requested.\n // We do this within the group for the math expression, so it doesn't\n // pollute settings.macros.\n\n\n if (this.settings.colorIsTextColor) {\n this.gullet.macros.set(\"\\\\color\", \"\\\\textcolor\");\n }\n\n try {\n // Try to parse the input\n var parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end\n\n this.expect(\"EOF\"); // End the group namespace for the expression\n\n if (!this.settings.globalGroup) {\n this.gullet.endGroup();\n }\n\n return parse; // Close any leftover groups in case of a parse error.\n } finally {\n this.gullet.endGroups();\n }\n }\n /**\n * Fully parse a separate sequence of tokens as a separate job.\n * Tokens should be specified in reverse order, as in a MacroDefinition.\n */\n\n\n subparse(tokens) {\n // Save the next token from the current job.\n var oldToken = this.nextToken;\n this.consume(); // Run the new job, terminating it with an excess '}'\n\n this.gullet.pushToken(new Token(\"}\"));\n this.gullet.pushTokens(tokens);\n var parse = this.parseExpression(false);\n this.expect(\"}\"); // Restore the next token from the current job.\n\n this.nextToken = oldToken;\n return parse;\n }\n\n /**\n * Parses an \"expression\", which is a list of atoms.\n *\n * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This\n * happens when functions have higher precedence han infix\n * nodes in implicit parses.\n *\n * `breakOnTokenText`: The text of the token that the expression should end\n * with, or `null` if something else should end the\n * expression.\n */\n parseExpression(breakOnInfix, breakOnTokenText) {\n var body = []; // Keep adding atoms to the body until we can't parse any more atoms (either\n // we reached the end, a }, or a \\right)\n\n while (true) {\n // Ignore spaces in math mode\n if (this.mode === \"math\") {\n this.consumeSpaces();\n }\n\n var lex = this.fetch();\n\n if (Parser.endOfExpression.indexOf(lex.text) !== -1) {\n break;\n }\n\n if (breakOnTokenText && lex.text === breakOnTokenText) {\n break;\n }\n\n if (breakOnInfix && functions[lex.text] && functions[lex.text].infix) {\n break;\n }\n\n var atom = this.parseAtom(breakOnTokenText);\n\n if (!atom) {\n break;\n } else if (atom.type === \"internal\") {\n // Internal nodes do not appear in parse tree\n continue;\n }\n\n body.push(atom);\n }\n\n if (this.mode === \"text\") {\n this.formLigatures(body);\n }\n\n return this.handleInfixNodes(body);\n }\n /**\n * Rewrites infix operators such as \\over with corresponding commands such\n * as \\frac.\n *\n * There can only be one infix operator per group. If there's more than one\n * then the expression is ambiguous. This can be resolved by adding {}.\n */\n\n\n handleInfixNodes(body) {\n var overIndex = -1;\n var funcName;\n\n for (var i = 0; i < body.length; i++) {\n if (body[i].type === \"infix\") {\n if (overIndex !== -1) {\n throw new ParseError(\"only one infix operator per group\", body[i].token);\n }\n\n overIndex = i;\n funcName = body[i].replaceWith;\n }\n }\n\n if (overIndex !== -1 && funcName) {\n var numerNode;\n var denomNode;\n var numerBody = body.slice(0, overIndex);\n var denomBody = body.slice(overIndex + 1);\n\n if (numerBody.length === 1 && numerBody[0].type === \"ordgroup\") {\n numerNode = numerBody[0];\n } else {\n numerNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: numerBody\n };\n }\n\n if (denomBody.length === 1 && denomBody[0].type === \"ordgroup\") {\n denomNode = denomBody[0];\n } else {\n denomNode = {\n type: \"ordgroup\",\n mode: this.mode,\n body: denomBody\n };\n }\n\n var node;\n\n if (funcName === \"\\\\\\\\abovefrac\") {\n node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []);\n } else {\n node = this.callFunction(funcName, [numerNode, denomNode], []);\n }\n\n return [node];\n } else {\n return body;\n }\n }\n /**\n * Handle a subscript or superscript with nice errors.\n */\n\n\n handleSupSubscript(name // For error reporting.\n ) {\n var symbolToken = this.fetch();\n var symbol = symbolToken.text;\n this.consume();\n this.consumeSpaces(); // ignore spaces before sup/subscript argument\n // Skip over allowed internal nodes such as \\relax\n\n var group;\n\n do {\n var _group;\n\n group = this.parseGroup(name);\n } while (((_group = group) == null ? void 0 : _group.type) === \"internal\");\n\n if (!group) {\n throw new ParseError(\"Expected group after '\" + symbol + \"'\", symbolToken);\n }\n\n return group;\n }\n /**\n * Converts the textual input of an unsupported command into a text node\n * contained within a color node whose color is determined by errorColor\n */\n\n\n formatUnsupportedCmd(text) {\n var textordArray = [];\n\n for (var i = 0; i < text.length; i++) {\n textordArray.push({\n type: \"textord\",\n mode: \"text\",\n text: text[i]\n });\n }\n\n var textNode = {\n type: \"text\",\n mode: this.mode,\n body: textordArray\n };\n var colorNode = {\n type: \"color\",\n mode: this.mode,\n color: this.settings.errorColor,\n body: [textNode]\n };\n return colorNode;\n }\n /**\n * Parses a group with optional super/subscripts.\n */\n\n\n parseAtom(breakOnTokenText) {\n // The body of an atom is an implicit group, so that things like\n // \\left(x\\right)^2 work correctly.\n var base = this.parseGroup(\"atom\", breakOnTokenText); // Internal nodes (e.g. \\relax) cannot support super/subscripts.\n // Instead we will pick up super/subscripts with blank base next round.\n\n if ((base == null ? void 0 : base.type) === \"internal\") {\n return base;\n } // In text mode, we don't have superscripts or subscripts\n\n\n if (this.mode === \"text\") {\n return base;\n } // Note that base may be empty (i.e. null) at this point.\n\n\n var superscript;\n var subscript;\n\n while (true) {\n // Guaranteed in math mode, so eat any spaces first.\n this.consumeSpaces(); // Lex the first token\n\n var lex = this.fetch();\n\n if (lex.text === \"\\\\limits\" || lex.text === \"\\\\nolimits\") {\n // We got a limit control\n if (base && base.type === \"op\") {\n var limits = lex.text === \"\\\\limits\";\n base.limits = limits;\n base.alwaysHandleSupSub = true;\n } else if (base && base.type === \"operatorname\") {\n if (base.alwaysHandleSupSub) {\n base.limits = lex.text === \"\\\\limits\";\n }\n } else {\n throw new ParseError(\"Limit controls must follow a math operator\", lex);\n }\n\n this.consume();\n } else if (lex.text === \"^\") {\n // We got a superscript start\n if (superscript) {\n throw new ParseError(\"Double superscript\", lex);\n }\n\n superscript = this.handleSupSubscript(\"superscript\");\n } else if (lex.text === \"_\") {\n // We got a subscript start\n if (subscript) {\n throw new ParseError(\"Double subscript\", lex);\n }\n\n subscript = this.handleSupSubscript(\"subscript\");\n } else if (lex.text === \"'\") {\n // We got a prime\n if (superscript) {\n throw new ParseError(\"Double superscript\", lex);\n }\n\n var prime = {\n type: \"textord\",\n mode: this.mode,\n text: \"\\\\prime\"\n }; // Many primes can be grouped together, so we handle this here\n\n var primes = [prime];\n this.consume(); // Keep lexing tokens until we get something that's not a prime\n\n while (this.fetch().text === \"'\") {\n // For each one, add another prime to the list\n primes.push(prime);\n this.consume();\n } // If there's a superscript following the primes, combine that\n // superscript in with the primes.\n\n\n if (this.fetch().text === \"^\") {\n primes.push(this.handleSupSubscript(\"superscript\"));\n } // Put everything into an ordgroup as the superscript\n\n\n superscript = {\n type: \"ordgroup\",\n mode: this.mode,\n body: primes\n };\n } else if (uSubsAndSups[lex.text]) {\n // A Unicode subscript or superscript character.\n // We treat these similarly to the unicode-math package.\n // So we render a string of Unicode (sub|super)scripts the\n // same as a (sub|super)script of regular characters.\n var isSub = unicodeSubRegEx.test(lex.text);\n var subsupTokens = [];\n subsupTokens.push(new Token(uSubsAndSups[lex.text]));\n this.consume(); // Continue fetching tokens to fill out the string.\n\n while (true) {\n var token = this.fetch().text;\n\n if (!uSubsAndSups[token]) {\n break;\n }\n\n if (unicodeSubRegEx.test(token) !== isSub) {\n break;\n }\n\n subsupTokens.unshift(new Token(uSubsAndSups[token]));\n this.consume();\n } // Now create a (sub|super)script.\n\n\n var body = this.subparse(subsupTokens);\n\n if (isSub) {\n subscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body\n };\n } else {\n superscript = {\n type: \"ordgroup\",\n mode: \"math\",\n body\n };\n }\n } else {\n // If it wasn't ^, _, or ', stop parsing super/subscripts\n break;\n }\n } // Base must be set if superscript or subscript are set per logic above,\n // but need to check here for type check to pass.\n\n\n if (superscript || subscript) {\n // If we got either a superscript or subscript, create a supsub\n return {\n type: \"supsub\",\n mode: this.mode,\n base: base,\n sup: superscript,\n sub: subscript\n };\n } else {\n // Otherwise return the original body\n return base;\n }\n }\n /**\n * Parses an entire function, including its base and all of its arguments.\n */\n\n\n parseFunction(breakOnTokenText, name // For determining its context\n ) {\n var token = this.fetch();\n var func = token.text;\n var funcData = functions[func];\n\n if (!funcData) {\n return null;\n }\n\n this.consume(); // consume command token\n\n if (name && name !== \"atom\" && !funcData.allowedInArgument) {\n throw new ParseError(\"Got function '\" + func + \"' with no arguments\" + (name ? \" as \" + name : \"\"), token);\n } else if (this.mode === \"text\" && !funcData.allowedInText) {\n throw new ParseError(\"Can't use function '\" + func + \"' in text mode\", token);\n } else if (this.mode === \"math\" && funcData.allowedInMath === false) {\n throw new ParseError(\"Can't use function '\" + func + \"' in math mode\", token);\n }\n\n var {\n args,\n optArgs\n } = this.parseArguments(func, funcData);\n return this.callFunction(func, args, optArgs, token, breakOnTokenText);\n }\n /**\n * Call a function handler with a suitable context and arguments.\n */\n\n\n callFunction(name, args, optArgs, token, breakOnTokenText) {\n var context = {\n funcName: name,\n parser: this,\n token,\n breakOnTokenText\n };\n var func = functions[name];\n\n if (func && func.handler) {\n return func.handler(context, args, optArgs);\n } else {\n throw new ParseError(\"No function handler for \" + name);\n }\n }\n /**\n * Parses the arguments of a function or environment\n */\n\n\n parseArguments(func, // Should look like \"\\name\" or \"\\begin{name}\".\n funcData) {\n var totalArgs = funcData.numArgs + funcData.numOptionalArgs;\n\n if (totalArgs === 0) {\n return {\n args: [],\n optArgs: []\n };\n }\n\n var args = [];\n var optArgs = [];\n\n for (var i = 0; i < totalArgs; i++) {\n var argType = funcData.argTypes && funcData.argTypes[i];\n var isOptional = i < funcData.numOptionalArgs;\n\n if (funcData.primitive && argType == null || // \\sqrt expands into primitive if optional argument doesn't exist\n funcData.type === \"sqrt\" && i === 1 && optArgs[0] == null) {\n argType = \"primitive\";\n }\n\n var arg = this.parseGroupOfType(\"argument to '\" + func + \"'\", argType, isOptional);\n\n if (isOptional) {\n optArgs.push(arg);\n } else if (arg != null) {\n args.push(arg);\n } else {\n // should be unreachable\n throw new ParseError(\"Null argument, please report this as a bug\");\n }\n }\n\n return {\n args,\n optArgs\n };\n }\n /**\n * Parses a group when the mode is changing.\n */\n\n\n parseGroupOfType(name, type, optional) {\n switch (type) {\n case \"color\":\n return this.parseColorGroup(optional);\n\n case \"size\":\n return this.parseSizeGroup(optional);\n\n case \"url\":\n return this.parseUrlGroup(optional);\n\n case \"math\":\n case \"text\":\n return this.parseArgumentGroup(optional, type);\n\n case \"hbox\":\n {\n // hbox argument type wraps the argument in the equivalent of\n // \\hbox, which is like \\text but switching to \\textstyle size.\n var group = this.parseArgumentGroup(optional, \"text\");\n return group != null ? {\n type: \"styling\",\n mode: group.mode,\n body: [group],\n style: \"text\" // simulate \\textstyle\n\n } : null;\n }\n\n case \"raw\":\n {\n var token = this.parseStringGroup(\"raw\", optional);\n return token != null ? {\n type: \"raw\",\n mode: \"text\",\n string: token.text\n } : null;\n }\n\n case \"primitive\":\n {\n if (optional) {\n throw new ParseError(\"A primitive argument cannot be optional\");\n }\n\n var _group2 = this.parseGroup(name);\n\n if (_group2 == null) {\n throw new ParseError(\"Expected group as \" + name, this.fetch());\n }\n\n return _group2;\n }\n\n case \"original\":\n case null:\n case undefined:\n return this.parseArgumentGroup(optional);\n\n default:\n throw new ParseError(\"Unknown group type as \" + name, this.fetch());\n }\n }\n /**\n * Discard any space tokens, fetching the next non-space token.\n */\n\n\n consumeSpaces() {\n while (this.fetch().text === \" \") {\n this.consume();\n }\n }\n /**\n * Parses a group, essentially returning the string formed by the\n * brace-enclosed tokens plus some position information.\n */\n\n\n parseStringGroup(modeName, // Used to describe the mode in error messages.\n optional) {\n var argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n var str = \"\";\n var nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\") {\n str += nextToken.text;\n this.consume();\n }\n\n this.consume(); // consume the end of the argument\n\n argToken.text = str;\n return argToken;\n }\n /**\n * Parses a regex-delimited group: the largest sequence of tokens\n * whose concatenated strings match `regex`. Returns the string\n * formed by the tokens plus some position information.\n */\n\n\n parseRegexGroup(regex, modeName // Used to describe the mode in error messages.\n ) {\n var firstToken = this.fetch();\n var lastToken = firstToken;\n var str = \"\";\n var nextToken;\n\n while ((nextToken = this.fetch()).text !== \"EOF\" && regex.test(str + nextToken.text)) {\n lastToken = nextToken;\n str += lastToken.text;\n this.consume();\n }\n\n if (str === \"\") {\n throw new ParseError(\"Invalid \" + modeName + \": '\" + firstToken.text + \"'\", firstToken);\n }\n\n return firstToken.range(lastToken, str);\n }\n /**\n * Parses a color description.\n */\n\n\n parseColorGroup(optional) {\n var res = this.parseStringGroup(\"color\", optional);\n\n if (res == null) {\n return null;\n }\n\n var match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text);\n\n if (!match) {\n throw new ParseError(\"Invalid color: '\" + res.text + \"'\", res);\n }\n\n var color = match[0];\n\n if (/^[0-9a-f]{6}$/i.test(color)) {\n // We allow a 6-digit HTML color spec without a leading \"#\".\n // This follows the xcolor package's HTML color model.\n // Predefined color names are all missed by this RegEx pattern.\n color = \"#\" + color;\n }\n\n return {\n type: \"color-token\",\n mode: this.mode,\n color\n };\n }\n /**\n * Parses a size specification, consisting of magnitude and unit.\n */\n\n\n parseSizeGroup(optional) {\n var res;\n var isBlank = false; // don't expand before parseStringGroup\n\n this.gullet.consumeSpaces();\n\n if (!optional && this.gullet.future().text !== \"{\") {\n res = this.parseRegexGroup(/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2} *$/, \"size\");\n } else {\n res = this.parseStringGroup(\"size\", optional);\n }\n\n if (!res) {\n return null;\n }\n\n if (!optional && res.text.length === 0) {\n // Because we've tested for what is !optional, this block won't\n // affect \\kern, \\hspace, etc. It will capture the mandatory arguments\n // to \\genfrac and \\above.\n res.text = \"0pt\"; // Enable \\above{}\n\n isBlank = true; // This is here specifically for \\genfrac\n }\n\n var match = /([-+]?) *(\\d+(?:\\.\\d*)?|\\.\\d+) *([a-z]{2})/.exec(res.text);\n\n if (!match) {\n throw new ParseError(\"Invalid size: '\" + res.text + \"'\", res);\n }\n\n var data = {\n number: +(match[1] + match[2]),\n // sign + magnitude, cast to number\n unit: match[3]\n };\n\n if (!validUnit(data)) {\n throw new ParseError(\"Invalid unit: '\" + data.unit + \"'\", res);\n }\n\n return {\n type: \"size\",\n mode: this.mode,\n value: data,\n isBlank\n };\n }\n /**\n * Parses an URL, checking escaped letters and allowed protocols,\n * and setting the catcode of % as an active character (as in \\hyperref).\n */\n\n\n parseUrlGroup(optional) {\n this.gullet.lexer.setCatcode(\"%\", 13); // active character\n\n this.gullet.lexer.setCatcode(\"~\", 12); // other character\n\n var res = this.parseStringGroup(\"url\", optional);\n this.gullet.lexer.setCatcode(\"%\", 14); // comment character\n\n this.gullet.lexer.setCatcode(\"~\", 13); // active character\n\n if (res == null) {\n return null;\n } // hyperref package allows backslashes alone in href, but doesn't\n // generate valid links in such cases; we interpret this as\n // \"undefined\" behaviour, and keep them as-is. Some browser will\n // replace backslashes with forward slashes.\n\n\n var url = res.text.replace(/\\\\([#$%&~_^{}])/g, '$1');\n return {\n type: \"url\",\n mode: this.mode,\n url\n };\n }\n /**\n * Parses an argument with the mode specified.\n */\n\n\n parseArgumentGroup(optional, mode) {\n var argToken = this.gullet.scanArgument(optional);\n\n if (argToken == null) {\n return null;\n }\n\n var outerMode = this.mode;\n\n if (mode) {\n // Switch to specified mode\n this.switchMode(mode);\n }\n\n this.gullet.beginGroup();\n var expression = this.parseExpression(false, \"EOF\"); // TODO: find an alternative way to denote the end\n\n this.expect(\"EOF\"); // expect the end of the argument\n\n this.gullet.endGroup();\n var result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: argToken.loc,\n body: expression\n };\n\n if (mode) {\n // Switch mode back\n this.switchMode(outerMode);\n }\n\n return result;\n }\n /**\n * Parses an ordinary group, which is either a single nucleus (like \"x\")\n * or an expression in braces (like \"{x+y}\") or an implicit group, a group\n * that starts at the current position, and ends right before a higher explicit\n * group ends, or at EOF.\n */\n\n\n parseGroup(name, // For error reporting.\n breakOnTokenText) {\n var firstToken = this.fetch();\n var text = firstToken.text;\n var result; // Try to parse an open brace or \\begingroup\n\n if (text === \"{\" || text === \"\\\\begingroup\") {\n this.consume();\n var groupEnd = text === \"{\" ? \"}\" : \"\\\\endgroup\";\n this.gullet.beginGroup(); // If we get a brace, parse an expression\n\n var expression = this.parseExpression(false, groupEnd);\n var lastToken = this.fetch();\n this.expect(groupEnd); // Check that we got a matching closing brace\n\n this.gullet.endGroup();\n result = {\n type: \"ordgroup\",\n mode: this.mode,\n loc: SourceLocation.range(firstToken, lastToken),\n body: expression,\n // A group formed by \\begingroup...\\endgroup is a semi-simple group\n // which doesn't affect spacing in math mode, i.e., is transparent.\n // https://tex.stackexchange.com/questions/1930/when-should-one-\n // use-begingroup-instead-of-bgroup\n semisimple: text === \"\\\\begingroup\" || undefined\n };\n } else {\n // If there exists a function with this name, parse the function.\n // Otherwise, just return a nucleus\n result = this.parseFunction(breakOnTokenText, name) || this.parseSymbol();\n\n if (result == null && text[0] === \"\\\\\" && !implicitCommands.hasOwnProperty(text)) {\n if (this.settings.throwOnError) {\n throw new ParseError(\"Undefined control sequence: \" + text, firstToken);\n }\n\n result = this.formatUnsupportedCmd(text);\n this.consume();\n }\n }\n\n return result;\n }\n /**\n * Form ligature-like combinations of characters for text mode.\n * This includes inputs like \"--\", \"---\", \"``\" and \"''\".\n * The result will simply replace multiple textord nodes with a single\n * character in each value by a single textord node having multiple\n * characters in its value. The representation is still ASCII source.\n * The group will be modified in place.\n */\n\n\n formLigatures(group) {\n var n = group.length - 1;\n\n for (var i = 0; i < n; ++i) {\n var a = group[i]; // $FlowFixMe: Not every node type has a `text` property.\n\n var v = a.text;\n\n if (v === \"-\" && group[i + 1].text === \"-\") {\n if (i + 1 < n && group[i + 2].text === \"-\") {\n group.splice(i, 3, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 2]),\n text: \"---\"\n });\n n -= 2;\n } else {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: \"--\"\n });\n n -= 1;\n }\n }\n\n if ((v === \"'\" || v === \"`\") && group[i + 1].text === v) {\n group.splice(i, 2, {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(a, group[i + 1]),\n text: v + v\n });\n n -= 1;\n }\n }\n }\n /**\n * Parse a single symbol out of the string. Here, we handle single character\n * symbols and special functions like \\verb.\n */\n\n\n parseSymbol() {\n var nucleus = this.fetch();\n var text = nucleus.text;\n\n if (/^\\\\verb[^a-zA-Z]/.test(text)) {\n this.consume();\n var arg = text.slice(5);\n var star = arg.charAt(0) === \"*\";\n\n if (star) {\n arg = arg.slice(1);\n } // Lexer's tokenRegex is constructed to always have matching\n // first/last characters.\n\n\n if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) {\n throw new ParseError(\"\\\\verb assertion failed --\\n please report what input caused this bug\");\n }\n\n arg = arg.slice(1, -1); // remove first and last char\n\n return {\n type: \"verb\",\n mode: \"text\",\n body: arg,\n star\n };\n } // At this point, we should have a symbol, possibly with accents.\n // First expand any accented base symbol according to unicodeSymbols.\n\n\n if (unicodeSymbols.hasOwnProperty(text[0]) && !symbols[this.mode][text[0]]) {\n // This behavior is not strict (XeTeX-compatible) in math mode.\n if (this.settings.strict && this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Accented Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n text = unicodeSymbols[text[0]] + text.slice(1);\n } // Strip off any combining characters\n\n\n var match = combiningDiacriticalMarksEndRegex.exec(text);\n\n if (match) {\n text = text.substring(0, match.index);\n\n if (text === 'i') {\n text = '\\u0131'; // dotless i, in math and text mode\n } else if (text === 'j') {\n text = '\\u0237'; // dotless j, in math and text mode\n }\n } // Recognize base symbol\n\n\n var symbol;\n\n if (symbols[this.mode][text]) {\n if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Latin-1/Unicode text character \\\"\" + text[0] + \"\\\" used in \" + \"math mode\", nucleus);\n }\n\n var group = symbols[this.mode][text].group;\n var loc = SourceLocation.range(nucleus);\n var s;\n\n if (ATOMS.hasOwnProperty(group)) {\n // $FlowFixMe\n var family = group;\n s = {\n type: \"atom\",\n mode: this.mode,\n family,\n loc,\n text\n };\n } else {\n // $FlowFixMe\n s = {\n type: group,\n mode: this.mode,\n loc,\n text\n };\n } // $FlowFixMe\n\n\n symbol = s;\n } else if (text.charCodeAt(0) >= 0x80) {\n // no symbol for e.g. ^\n if (this.settings.strict) {\n if (!supportedCodepoint(text.charCodeAt(0))) {\n this.settings.reportNonstrict(\"unknownSymbol\", \"Unrecognized Unicode character \\\"\" + text[0] + \"\\\"\" + (\" (\" + text.charCodeAt(0) + \")\"), nucleus);\n } else if (this.mode === \"math\") {\n this.settings.reportNonstrict(\"unicodeTextInMathMode\", \"Unicode text character \\\"\" + text[0] + \"\\\" used in math mode\", nucleus);\n }\n } // All nonmathematical Unicode characters are rendered as if they\n // are in text mode (wrapped in \\text) because that's what it\n // takes to render them in LaTeX. Setting `mode: this.mode` is\n // another natural choice (the user requested math mode), but\n // this makes it more difficult for getCharacterMetrics() to\n // distinguish Unicode characters without metrics and those for\n // which we want to simulate the letter M.\n\n\n symbol = {\n type: \"textord\",\n mode: \"text\",\n loc: SourceLocation.range(nucleus),\n text\n };\n } else {\n return null; // EOF, ^, _, {, }, etc.\n }\n\n this.consume(); // Transform combining characters into accents\n\n if (match) {\n for (var i = 0; i < match[0].length; i++) {\n var accent = match[0][i];\n\n if (!unicodeAccents[accent]) {\n throw new ParseError(\"Unknown accent ' \" + accent + \"'\", nucleus);\n }\n\n var command = unicodeAccents[accent][this.mode] || unicodeAccents[accent].text;\n\n if (!command) {\n throw new ParseError(\"Accent \" + accent + \" unsupported in \" + this.mode + \" mode\", nucleus);\n }\n\n symbol = {\n type: \"accent\",\n mode: this.mode,\n loc: SourceLocation.range(nucleus),\n label: command,\n isStretchy: false,\n isShifty: true,\n // $FlowFixMe\n base: symbol\n };\n }\n } // $FlowFixMe\n\n\n return symbol;\n }\n\n}\nParser.endOfExpression = [\"}\", \"\\\\endgroup\", \"\\\\end\", \"\\\\right\", \"&\"];\n\n/**\n * Provides a single function for parsing an expression using a Parser\n * TODO(emily): Remove this\n */\n\n/**\n * Parses an expression using a Parser, then returns the parsed result.\n */\nvar parseTree = function parseTree(toParse, settings) {\n if (!(typeof toParse === 'string' || toParse instanceof String)) {\n throw new TypeError('KaTeX can only parse string typed expression');\n }\n\n var parser = new Parser(toParse, settings); // Blank out any \\df@tag to avoid spurious \"Duplicate \\tag\" errors\n\n delete parser.gullet.macros.current[\"\\\\df@tag\"];\n var tree = parser.parse(); // Prevent a color definition from persisting between calls to katex.render().\n\n delete parser.gullet.macros.current[\"\\\\current@color\"];\n delete parser.gullet.macros.current[\"\\\\color\"]; // If the input used \\tag, it will set the \\df@tag macro to the tag.\n // In this case, we separately parse the tag and wrap the tree.\n\n if (parser.gullet.macros.get(\"\\\\df@tag\")) {\n if (!settings.displayMode) {\n throw new ParseError(\"\\\\tag works only in display equations\");\n }\n\n tree = [{\n type: \"tag\",\n mode: \"text\",\n body: tree,\n tag: parser.subparse([new Token(\"\\\\df@tag\")])\n }];\n }\n\n return tree;\n};\n\n/* eslint no-console:0 */\n\n/**\n * Parse and build an expression, and place that expression in the DOM node\n * given.\n */\nvar render = function render(expression, baseNode, options) {\n baseNode.textContent = \"\";\n var node = renderToDomTree(expression, options).toNode();\n baseNode.appendChild(node);\n}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and\n// disable rendering.\n\n\nif (typeof document !== \"undefined\") {\n if (document.compatMode !== \"CSS1Compat\") {\n typeof console !== \"undefined\" && console.warn(\"Warning: KaTeX doesn't work in quirks mode. Make sure your \" + \"website has a suitable doctype.\");\n\n render = function render() {\n throw new ParseError(\"KaTeX doesn't work in quirks mode.\");\n };\n }\n}\n/**\n * Parse and build an expression, and return the markup for that.\n */\n\n\nvar renderToString = function renderToString(expression, options) {\n var markup = renderToDomTree(expression, options).toMarkup();\n return markup;\n};\n/**\n * Parse an expression and return the parse tree.\n */\n\n\nvar generateParseTree = function generateParseTree(expression, options) {\n var settings = new Settings(options);\n return parseTree(expression, settings);\n};\n/**\n * If the given error is a KaTeX ParseError and options.throwOnError is false,\n * renders the invalid LaTeX as a span with hover title giving the KaTeX\n * error message. Otherwise, simply throws the error.\n */\n\n\nvar renderError = function renderError(error, expression, options) {\n if (options.throwOnError || !(error instanceof ParseError)) {\n throw error;\n }\n\n var node = buildCommon.makeSpan([\"katex-error\"], [new SymbolNode(expression)]);\n node.setAttribute(\"title\", error.toString());\n node.setAttribute(\"style\", \"color:\" + options.errorColor);\n return node;\n};\n/**\n * Generates and returns the katex build tree. This is used for advanced\n * use cases (like rendering to custom output).\n */\n\n\nvar renderToDomTree = function renderToDomTree(expression, options) {\n var settings = new Settings(options);\n\n try {\n var tree = parseTree(expression, settings);\n return buildTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n/**\n * Generates and returns the katex build tree, with just HTML (no MathML).\n * This is used for advanced use cases (like rendering to custom output).\n */\n\n\nvar renderToHTMLTree = function renderToHTMLTree(expression, options) {\n var settings = new Settings(options);\n\n try {\n var tree = parseTree(expression, settings);\n return buildHTMLTree(tree, expression, settings);\n } catch (error) {\n return renderError(error, expression, settings);\n }\n};\n\nvar version = \"0.16.22\";\nvar __domTree = {\n Span,\n Anchor,\n SymbolNode,\n SvgNode,\n PathNode,\n LineNode\n}; // ESM exports\n\nvar katex = {\n /**\n * Current KaTeX version\n */\n version,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination, and adds\n * it as a child to the specified DOM node.\n */\n render,\n\n /**\n * Renders the given LaTeX into an HTML+MathML combination string,\n * for sending to the client.\n */\n renderToString,\n\n /**\n * KaTeX error, usually during parsing.\n */\n ParseError,\n\n /**\n * The schema of Settings\n */\n SETTINGS_SCHEMA,\n\n /**\n * Parses the given LaTeX into KaTeX's internal parse tree structure,\n * without rendering to HTML or MathML.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __parse: generateParseTree,\n\n /**\n * Renders the given LaTeX into an HTML+MathML internal DOM tree\n * representation, without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToDomTree: renderToDomTree,\n\n /**\n * Renders the given LaTeX into an HTML internal DOM tree representation,\n * without MathML and without flattening that representation to a string.\n *\n * NOTE: This method is not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __renderToHTMLTree: renderToHTMLTree,\n\n /**\n * extends internal font metrics object with a new object\n * each key in the new object represents a font name\n */\n __setFontMetrics: setFontMetrics,\n\n /**\n * adds a new symbol to builtin symbols table\n */\n __defineSymbol: defineSymbol,\n\n /**\n * adds a new function to builtin function list,\n * which directly produce parse tree elements\n * and have their own html/mathml builders\n */\n __defineFunction: defineFunction,\n\n /**\n * adds a new macro to builtin macro list\n */\n __defineMacro: defineMacro,\n\n /**\n * Expose the dom tree node types, which can be useful for type checking nodes.\n *\n * NOTE: These methods are not currently recommended for public use.\n * The internal tree representation is unstable and is very likely\n * to change. Use at your own risk.\n */\n __domTree\n};\n\nexport { ParseError, SETTINGS_SCHEMA, defineFunction as __defineFunction, defineMacro as __defineMacro, defineSymbol as __defineSymbol, __domTree, generateParseTree as __parse, renderToDomTree as __renderToDomTree, renderToHTMLTree as __renderToHTMLTree, setFontMetrics as __setFontMetrics, katex as default, render, renderToString, version };\n", + "!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));", + "/* IMPORT */\n/* MAIN */\nconst Channel = {\n /* CLAMP */\n min: {\n r: 0,\n g: 0,\n b: 0,\n s: 0,\n l: 0,\n a: 0\n },\n max: {\n r: 255,\n g: 255,\n b: 255,\n h: 360,\n s: 100,\n l: 100,\n a: 1\n },\n clamp: {\n r: (r) => r >= 255 ? 255 : (r < 0 ? 0 : r),\n g: (g) => g >= 255 ? 255 : (g < 0 ? 0 : g),\n b: (b) => b >= 255 ? 255 : (b < 0 ? 0 : b),\n h: (h) => h % 360,\n s: (s) => s >= 100 ? 100 : (s < 0 ? 0 : s),\n l: (l) => l >= 100 ? 100 : (l < 0 ? 0 : l),\n a: (a) => a >= 1 ? 1 : (a < 0 ? 0 : a)\n },\n /* CONVERSION */\n //SOURCE: https://planetcalc.com/7779\n toLinear: (c) => {\n const n = c / 255;\n return c > .03928 ? Math.pow(((n + .055) / 1.055), 2.4) : n / 12.92;\n },\n //SOURCE: https://gist.github.com/mjackson/5311256\n hue2rgb: (p, q, t) => {\n if (t < 0)\n t += 1;\n if (t > 1)\n t -= 1;\n if (t < 1 / 6)\n return p + (q - p) * 6 * t;\n if (t < 1 / 2)\n return q;\n if (t < 2 / 3)\n return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n },\n hsl2rgb: ({ h, s, l }, channel) => {\n if (!s)\n return l * 2.55; // Achromatic\n h /= 360;\n s /= 100;\n l /= 100;\n const q = (l < .5) ? l * (1 + s) : (l + s) - (l * s);\n const p = 2 * l - q;\n switch (channel) {\n case 'r': return Channel.hue2rgb(p, q, h + 1 / 3) * 255;\n case 'g': return Channel.hue2rgb(p, q, h) * 255;\n case 'b': return Channel.hue2rgb(p, q, h - 1 / 3) * 255;\n }\n },\n rgb2hsl: ({ r, g, b }, channel) => {\n r /= 255;\n g /= 255;\n b /= 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n if (channel === 'l')\n return l * 100;\n if (max === min)\n return 0; // Achromatic\n const d = max - min;\n const s = (l > .5) ? d / (2 - max - min) : d / (max + min);\n if (channel === 's')\n return s * 100;\n switch (max) {\n case r: return ((g - b) / d + (g < b ? 6 : 0)) * 60;\n case g: return ((b - r) / d + 2) * 60;\n case b: return ((r - g) / d + 4) * 60;\n default: return -1; //TSC: TypeScript is stupid and complains if there isn't this useless default statement\n }\n }\n};\n/* EXPORT */\nexport default Channel;\n", + "/* MAIN */\nconst Lang = {\n /* API */\n clamp: (number, lower, upper) => {\n if (lower > upper)\n return Math.min(lower, Math.max(upper, number));\n return Math.min(upper, Math.max(lower, number));\n },\n round: (number) => {\n return Math.round(number * 10000000000) / 10000000000;\n }\n};\n/* EXPORT */\nexport default Lang;\n", + "/* MAIN */\nconst Unit = {\n /* API */\n dec2hex: (dec) => {\n const hex = Math.round(dec).toString(16);\n return hex.length > 1 ? hex : `0${hex}`;\n }\n};\n/* EXPORT */\nexport default Unit;\n", + "/* IMPORT */\nimport channel from './channel.js';\nimport lang from './lang.js';\nimport unit from './unit.js';\n/* MAIN */\nconst Utils = {\n channel,\n lang,\n unit\n};\n/* EXPORT */\nexport default Utils;\n", + "/* IMPORT */\nimport _ from './utils/index.js';\n/* MAIN */\nconst DEC2HEX = {};\nfor (let i = 0; i <= 255; i++)\n DEC2HEX[i] = _.unit.dec2hex(i); // Populating dynamically, striking a balance between code size and performance\nconst TYPE = {\n ALL: 0,\n RGB: 1,\n HSL: 2\n};\n/* EXPORT */\nexport { DEC2HEX, TYPE };\n", + "/* IMPORT */\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Type {\n constructor() {\n /* VARIABLES */\n this.type = TYPE.ALL;\n }\n /* API */\n get() {\n return this.type;\n }\n set(type) {\n if (this.type && this.type !== type)\n throw new Error('Cannot change both RGB and HSL channels at the same time');\n this.type = type;\n }\n reset() {\n this.type = TYPE.ALL;\n }\n is(type) {\n return this.type === type;\n }\n}\n/* EXPORT */\nexport default Type;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Type from './type.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nclass Channels {\n /* CONSTRUCTOR */\n constructor(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type = new Type();\n }\n /* API */\n set(data, color) {\n this.color = color;\n this.changed = false;\n this.data = data; //TSC\n this.type.type = TYPE.ALL;\n return this;\n }\n /* HELPERS */\n _ensureHSL() {\n const data = this.data;\n const { h, s, l } = data;\n if (h === undefined)\n data.h = _.channel.rgb2hsl(data, 'h');\n if (s === undefined)\n data.s = _.channel.rgb2hsl(data, 's');\n if (l === undefined)\n data.l = _.channel.rgb2hsl(data, 'l');\n }\n _ensureRGB() {\n const data = this.data;\n const { r, g, b } = data;\n if (r === undefined)\n data.r = _.channel.hsl2rgb(data, 'r');\n if (g === undefined)\n data.g = _.channel.hsl2rgb(data, 'g');\n if (b === undefined)\n data.b = _.channel.hsl2rgb(data, 'b');\n }\n /* GETTERS */\n get r() {\n const data = this.data;\n const r = data.r;\n if (!this.type.is(TYPE.HSL) && r !== undefined)\n return r;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'r');\n }\n get g() {\n const data = this.data;\n const g = data.g;\n if (!this.type.is(TYPE.HSL) && g !== undefined)\n return g;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'g');\n }\n get b() {\n const data = this.data;\n const b = data.b;\n if (!this.type.is(TYPE.HSL) && b !== undefined)\n return b;\n this._ensureHSL();\n return _.channel.hsl2rgb(data, 'b');\n }\n get h() {\n const data = this.data;\n const h = data.h;\n if (!this.type.is(TYPE.RGB) && h !== undefined)\n return h;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'h');\n }\n get s() {\n const data = this.data;\n const s = data.s;\n if (!this.type.is(TYPE.RGB) && s !== undefined)\n return s;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 's');\n }\n get l() {\n const data = this.data;\n const l = data.l;\n if (!this.type.is(TYPE.RGB) && l !== undefined)\n return l;\n this._ensureRGB();\n return _.channel.rgb2hsl(data, 'l');\n }\n get a() {\n return this.data.a;\n }\n /* SETTERS */\n set r(r) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.r = r;\n }\n set g(g) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.g = g;\n }\n set b(b) {\n this.type.set(TYPE.RGB);\n this.changed = true;\n this.data.b = b;\n }\n set h(h) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.h = h;\n }\n set s(s) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.s = s;\n }\n set l(l) {\n this.type.set(TYPE.HSL);\n this.changed = true;\n this.data.l = l;\n }\n set a(a) {\n this.changed = true;\n this.data.a = a;\n }\n}\n/* EXPORT */\nexport default Channels;\n", + "/* IMPORT */\nimport Channels from './/index.js';\n/* MAIN */\nconst channels = new Channels({ r: 0, g: 0, b: 0, a: 0 }, 'transparent');\n/* EXPORT */\nexport default channels;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport { DEC2HEX } from '../constants.js';\n/* MAIN */\nconst Hex = {\n /* VARIABLES */\n re: /^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,\n /* API */\n parse: (color) => {\n if (color.charCodeAt(0) !== 35)\n return; // '#'\n const match = color.match(Hex.re);\n if (!match)\n return;\n const hex = match[1];\n const dec = parseInt(hex, 16);\n const length = hex.length;\n const hasAlpha = length % 4 === 0;\n const isFullLength = length > 4;\n const multiplier = isFullLength ? 1 : 17;\n const bits = isFullLength ? 8 : 4;\n const bitsOffset = hasAlpha ? 0 : -1;\n const mask = isFullLength ? 255 : 15;\n return ChannelsReusable.set({\n r: ((dec >> (bits * (bitsOffset + 3))) & mask) * multiplier,\n g: ((dec >> (bits * (bitsOffset + 2))) & mask) * multiplier,\n b: ((dec >> (bits * (bitsOffset + 1))) & mask) * multiplier,\n a: hasAlpha ? (dec & mask) * multiplier / 255 : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // #RRGGBBAA\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}${DEC2HEX[Math.round(a * 255)]}`;\n }\n else { // #RRGGBB\n return `#${DEC2HEX[Math.round(r)]}${DEC2HEX[Math.round(g)]}${DEC2HEX[Math.round(b)]}`;\n }\n }\n};\n/* EXPORT */\nexport default Hex;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst HSL = {\n /* VARIABLES */\n re: /^hsla?\\(\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?(?:deg|grad|rad|turn)?)\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?%)\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?%)(?:\\s*?(?:,|\\/)\\s*?\\+?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e-?\\d+)?(%)?))?\\s*?\\)$/i,\n hueRe: /^(.+?)(deg|grad|rad|turn)$/i,\n /* HELPERS */\n _hue2deg: (hue) => {\n const match = hue.match(HSL.hueRe);\n if (match) {\n const [, number, unit] = match;\n switch (unit) {\n case 'grad': return _.channel.clamp.h(parseFloat(number) * .9);\n case 'rad': return _.channel.clamp.h(parseFloat(number) * 180 / Math.PI);\n case 'turn': return _.channel.clamp.h(parseFloat(number) * 360);\n }\n }\n return _.channel.clamp.h(parseFloat(hue));\n },\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 104 && charCode !== 72)\n return; // 'h'/'H'\n const match = color.match(HSL.re);\n if (!match)\n return;\n const [, h, s, l, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n h: HSL._hue2deg(h),\n s: _.channel.clamp.s(parseFloat(s)),\n l: _.channel.clamp.l(parseFloat(l)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { h, s, l, a } = channels;\n if (a < 1) { // HSLA\n return `hsla(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%, ${a})`;\n }\n else { // HSL\n return `hsl(${_.lang.round(h)}, ${_.lang.round(s)}%, ${_.lang.round(l)}%)`;\n }\n }\n};\n/* EXPORT */\nexport default HSL;\n", + "/* IMPORT */\nimport Hex from './hex.js';\n/* MAIN */\nconst Keyword = {\n /* VARIABLES */\n colors: {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyanaqua: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n transparent: '#00000000',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n },\n /* API */\n parse: (color) => {\n color = color.toLowerCase();\n const hex = Keyword.colors[color];\n if (!hex)\n return;\n return Hex.parse(hex);\n },\n stringify: (channels) => {\n const hex = Hex.stringify(channels);\n for (const name in Keyword.colors) {\n if (Keyword.colors[name] === hex)\n return name;\n }\n return;\n }\n};\n/* EXPORT */\nexport default Keyword;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\n/* MAIN */\nconst RGB = {\n /* VARIABLES */\n re: /^rgba?\\(\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))\\s*?(?:,|\\s)\\s*?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?))(?:\\s*?(?:,|\\/)\\s*?\\+?(-?(?:\\d+(?:\\.\\d+)?|(?:\\.\\d+))(?:e\\d+)?(%?)))?\\s*?\\)$/i,\n /* API */\n parse: (color) => {\n const charCode = color.charCodeAt(0);\n if (charCode !== 114 && charCode !== 82)\n return; // 'r'/'R'\n const match = color.match(RGB.re);\n if (!match)\n return;\n const [, r, isRedPercentage, g, isGreenPercentage, b, isBluePercentage, a, isAlphaPercentage] = match;\n return ChannelsReusable.set({\n r: _.channel.clamp.r(isRedPercentage ? parseFloat(r) * 2.55 : parseFloat(r)),\n g: _.channel.clamp.g(isGreenPercentage ? parseFloat(g) * 2.55 : parseFloat(g)),\n b: _.channel.clamp.b(isBluePercentage ? parseFloat(b) * 2.55 : parseFloat(b)),\n a: a ? _.channel.clamp.a(isAlphaPercentage ? parseFloat(a) / 100 : parseFloat(a)) : 1\n }, color);\n },\n stringify: (channels) => {\n const { r, g, b, a } = channels;\n if (a < 1) { // RGBA\n return `rgba(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)}, ${_.lang.round(a)})`;\n }\n else { // RGB\n return `rgb(${_.lang.round(r)}, ${_.lang.round(g)}, ${_.lang.round(b)})`;\n }\n }\n};\n/* EXPORT */\nexport default RGB;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Hex from './hex.js';\nimport HSL from './hsl.js';\nimport Keyword from './keyword.js';\nimport RGB from './rgb.js';\nimport { TYPE } from '../constants.js';\n/* MAIN */\nconst Color = {\n /* VARIABLES */\n format: {\n keyword: Keyword,\n hex: Hex,\n rgb: RGB,\n rgba: RGB,\n hsl: HSL,\n hsla: HSL\n },\n /* API */\n parse: (color) => {\n if (typeof color !== 'string')\n return color;\n const channels = Hex.parse(color) || RGB.parse(color) || HSL.parse(color) || Keyword.parse(color); // Color providers ordered with performance in mind\n if (channels)\n return channels;\n throw new Error(`Unsupported color format: \"${color}\"`);\n },\n stringify: (channels) => {\n // SASS returns a keyword if possible, but we avoid doing that as it's slower and doesn't really add any value\n if (!channels.changed && channels.color)\n return channels.color;\n if (channels.type.is(TYPE.HSL) || channels.data.r === undefined) {\n return HSL.stringify(channels);\n }\n else if (channels.a < 1 || !Number.isInteger(channels.r) || !Number.isInteger(channels.g) || !Number.isInteger(channels.b)) {\n return RGB.stringify(channels);\n }\n else {\n return Hex.stringify(channels);\n }\n }\n};\n/* EXPORT */\nexport default Color;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst change = (color, channels) => {\n const ch = Color.parse(color);\n for (const c in channels) {\n ch[c] = _.channel.clamp[c](channels[c]);\n }\n return Color.stringify(ch);\n};\n/* EXPORT */\nexport default change;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport ChannelsReusable from '../channels/reusable.js';\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst rgba = (r, g, b = 0, a = 1) => {\n if (typeof r !== 'number')\n return change(r, { a: g });\n const channels = ChannelsReusable.set({\n r: _.channel.clamp.r(r),\n g: _.channel.clamp.g(g),\n b: _.channel.clamp.b(b),\n a: _.channel.clamp.a(a)\n });\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default rgba;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst channel = (color, channel) => {\n return _.lang.round(Color.parse(color)[channel]);\n};\n/* EXPORT */\nexport default channel;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\n//SOURCE: https://planetcalc.com/7779\nconst luminance = (color) => {\n const { r, g, b } = Color.parse(color);\n const luminance = .2126 * _.channel.toLinear(r) + .7152 * _.channel.toLinear(g) + .0722 * _.channel.toLinear(b);\n return _.lang.round(luminance);\n};\n/* EXPORT */\nexport default luminance;\n", + "/* IMPORT */\nimport luminance from './luminance.js';\n/* MAIN */\nconst isLight = (color) => {\n return luminance(color) >= .5;\n};\n/* EXPORT */\nexport default isLight;\n", + "/* IMPORT */\nimport isLight from './is_light.js';\n/* MAIN */\nconst isDark = (color) => {\n return !isLight(color);\n};\n/* EXPORT */\nexport default isDark;\n", + "/* IMPORT */\nimport _ from '../utils/index.js';\nimport Color from '../color/index.js';\n/* MAIN */\nconst adjustChannel = (color, channel, amount) => {\n const channels = Color.parse(color);\n const amountCurrent = channels[channel];\n const amountNext = _.channel.clamp[channel](amountCurrent + amount);\n if (amountCurrent !== amountNext)\n channels[channel] = amountNext;\n return Color.stringify(channels);\n};\n/* EXPORT */\nexport default adjustChannel;\n", + "/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst lighten = (color, amount) => {\n return adjustChannel(color, 'l', amount);\n};\n/* EXPORT */\nexport default lighten;\n", + "/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst darken = (color, amount) => {\n return adjustChannel(color, 'l', -amount);\n};\n/* EXPORT */\nexport default darken;\n", + "/* IMPORT */\nimport Color from '../color/index.js';\nimport change from './change.js';\n/* MAIN */\nconst adjust = (color, channels) => {\n const ch = Color.parse(color);\n const changes = {};\n for (const c in channels) {\n if (!channels[c])\n continue;\n changes[c] = ch[c] + channels[c];\n }\n return change(color, changes);\n};\n/* EXPORT */\nexport default adjust;\n", + "/* IMPORT */\nimport Color from '../color/index.js';\nimport rgba from './rgba.js';\n/* MAIN */\n//SOURCE: https://github.com/sass/dart-sass/blob/7457d2e9e7e623d9844ffd037a070cf32d39c348/lib/src/functions/color.dart#L718-L756\nconst mix = (color1, color2, weight = 50) => {\n const { r: r1, g: g1, b: b1, a: a1 } = Color.parse(color1);\n const { r: r2, g: g2, b: b2, a: a2 } = Color.parse(color2);\n const weightScale = weight / 100;\n const weightNormalized = (weightScale * 2) - 1;\n const alphaDelta = a1 - a2;\n const weight1combined = ((weightNormalized * alphaDelta) === -1) ? weightNormalized : (weightNormalized + alphaDelta) / (1 + weightNormalized * alphaDelta);\n const weight1 = (weight1combined + 1) / 2;\n const weight2 = 1 - weight1;\n const r = (r1 * weight1) + (r2 * weight2);\n const g = (g1 * weight1) + (g2 * weight2);\n const b = (b1 * weight1) + (b2 * weight2);\n const a = (a1 * weightScale) + (a2 * (1 - weightScale));\n return rgba(r, g, b, a);\n};\n/* EXPORT */\nexport default mix;\n", + "/* IMPORT */\nimport Color from '../color/index.js';\nimport mix from './mix.js';\n/* MAIN */\nconst invert = (color, weight = 100) => {\n const inverse = Color.parse(color);\n inverse.r = 255 - inverse.r;\n inverse.g = 255 - inverse.g;\n inverse.b = 255 - inverse.b;\n return mix(inverse, color, weight);\n};\n/* EXPORT */\nexport default invert;\n", + "/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.2.5';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n", + "var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/logger.ts\nimport dayjs from \"dayjs\";\nvar LEVELS = {\n trace: 0,\n debug: 1,\n info: 2,\n warn: 3,\n error: 4,\n fatal: 5\n};\nvar log = {\n trace: /* @__PURE__ */ __name((..._args) => {\n }, \"trace\"),\n debug: /* @__PURE__ */ __name((..._args) => {\n }, \"debug\"),\n info: /* @__PURE__ */ __name((..._args) => {\n }, \"info\"),\n warn: /* @__PURE__ */ __name((..._args) => {\n }, \"warn\"),\n error: /* @__PURE__ */ __name((..._args) => {\n }, \"error\"),\n fatal: /* @__PURE__ */ __name((..._args) => {\n }, \"fatal\")\n};\nvar setLogLevel = /* @__PURE__ */ __name(function(level = \"fatal\") {\n let numericLevel = LEVELS.fatal;\n if (typeof level === \"string\") {\n if (level.toLowerCase() in LEVELS) {\n numericLevel = LEVELS[level];\n }\n } else if (typeof level === \"number\") {\n numericLevel = level;\n }\n log.trace = () => {\n };\n log.debug = () => {\n };\n log.info = () => {\n };\n log.warn = () => {\n };\n log.error = () => {\n };\n log.fatal = () => {\n };\n if (numericLevel <= LEVELS.fatal) {\n log.fatal = console.error ? console.error.bind(console, format(\"FATAL\"), \"color: orange\") : console.log.bind(console, \"\\x1B[35m\", format(\"FATAL\"));\n }\n if (numericLevel <= LEVELS.error) {\n log.error = console.error ? console.error.bind(console, format(\"ERROR\"), \"color: orange\") : console.log.bind(console, \"\\x1B[31m\", format(\"ERROR\"));\n }\n if (numericLevel <= LEVELS.warn) {\n log.warn = console.warn ? console.warn.bind(console, format(\"WARN\"), \"color: orange\") : console.log.bind(console, `\\x1B[33m`, format(\"WARN\"));\n }\n if (numericLevel <= LEVELS.info) {\n log.info = console.info ? console.info.bind(console, format(\"INFO\"), \"color: lightblue\") : console.log.bind(console, \"\\x1B[34m\", format(\"INFO\"));\n }\n if (numericLevel <= LEVELS.debug) {\n log.debug = console.debug ? console.debug.bind(console, format(\"DEBUG\"), \"color: lightgreen\") : console.log.bind(console, \"\\x1B[32m\", format(\"DEBUG\"));\n }\n if (numericLevel <= LEVELS.trace) {\n log.trace = console.debug ? console.debug.bind(console, format(\"TRACE\"), \"color: lightgreen\") : console.log.bind(console, \"\\x1B[32m\", format(\"TRACE\"));\n }\n}, \"setLogLevel\");\nvar format = /* @__PURE__ */ __name((level) => {\n const time = dayjs().format(\"ss.SSS\");\n return `%c${time} : ${level} : `;\n}, \"format\");\n\n// src/diagram-api/regexes.ts\nvar frontMatterRegex = /^-{3}\\s*[\\n\\r](.*?)[\\n\\r]-{3}\\s*[\\n\\r]+/s;\nvar directiveRegex = /%{2}{\\s*(?:(\\w+)\\s*:|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar anyCommentRegex = /\\s*%%.*\\n/gm;\n\n// src/errors.ts\nvar UnknownDiagramError = class extends Error {\n static {\n __name(this, \"UnknownDiagramError\");\n }\n constructor(message) {\n super(message);\n this.name = \"UnknownDiagramError\";\n }\n};\n\n// src/diagram-api/detectType.ts\nvar detectors = {};\nvar detectType = /* @__PURE__ */ __name(function(text, config2) {\n text = text.replace(frontMatterRegex, \"\").replace(directiveRegex, \"\").replace(anyCommentRegex, \"\\n\");\n for (const [key, { detector }] of Object.entries(detectors)) {\n const diagram = detector(text, config2);\n if (diagram) {\n return key;\n }\n }\n throw new UnknownDiagramError(\n `No diagram type detected matching given configuration for text: ${text}`\n );\n}, \"detectType\");\nvar registerLazyLoadedDiagrams = /* @__PURE__ */ __name((...diagrams2) => {\n for (const { id, detector, loader } of diagrams2) {\n addDetector(id, detector, loader);\n }\n}, \"registerLazyLoadedDiagrams\");\nvar addDetector = /* @__PURE__ */ __name((key, detector, loader) => {\n if (detectors[key]) {\n log.warn(`Detector with key ${key} already exists. Overwriting.`);\n }\n detectors[key] = { detector, loader };\n log.debug(`Detector with key ${key} added${loader ? \" with loader\" : \"\"}`);\n}, \"addDetector\");\nvar getDiagramLoader = /* @__PURE__ */ __name((key) => {\n return detectors[key].loader;\n}, \"getDiagramLoader\");\n\n// src/assignWithDepth.ts\nvar assignWithDepth = /* @__PURE__ */ __name((dst, src, { depth = 2, clobber = false } = {}) => {\n const config2 = { depth, clobber };\n if (Array.isArray(src) && !Array.isArray(dst)) {\n src.forEach((s) => assignWithDepth(dst, s, config2));\n return dst;\n } else if (Array.isArray(src) && Array.isArray(dst)) {\n src.forEach((s) => {\n if (!dst.includes(s)) {\n dst.push(s);\n }\n });\n return dst;\n }\n if (dst === void 0 || depth <= 0) {\n if (dst !== void 0 && dst !== null && typeof dst === \"object\" && typeof src === \"object\") {\n return Object.assign(dst, src);\n } else {\n return src;\n }\n }\n if (src !== void 0 && typeof dst === \"object\" && typeof src === \"object\") {\n Object.keys(src).forEach((key) => {\n if (typeof src[key] === \"object\" && (dst[key] === void 0 || typeof dst[key] === \"object\")) {\n if (dst[key] === void 0) {\n dst[key] = Array.isArray(src[key]) ? [] : {};\n }\n dst[key] = assignWithDepth(dst[key], src[key], { depth: depth - 1, clobber });\n } else if (clobber || typeof dst[key] !== \"object\" && typeof src[key] !== \"object\") {\n dst[key] = src[key];\n }\n });\n }\n return dst;\n}, \"assignWithDepth\");\nvar assignWithDepth_default = assignWithDepth;\n\n// src/themes/theme-base.js\nimport { adjust as adjust2, darken, invert, isDark, lighten } from \"khroma\";\n\n// src/themes/erDiagram-oldHardcodedValues.ts\nvar oldAttributeBackgroundColorOdd = \"#ffffff\";\nvar oldAttributeBackgroundColorEven = \"#f2f2f2\";\n\n// src/themes/theme-helpers.js\nimport { adjust } from \"khroma\";\nvar mkBorder = /* @__PURE__ */ __name((col, darkMode) => darkMode ? adjust(col, { s: -40, l: 10 }) : adjust(col, { s: -40, l: -10 }), \"mkBorder\");\n\n// src/themes/theme-base.js\nvar Theme = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#fff4dd\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n }\n updateColors() {\n this.primaryTextColor = this.primaryTextColor || (this.darkMode ? \"#eee\" : \"#333\");\n this.secondaryColor = this.secondaryColor || adjust2(this.primaryColor, { h: -120 });\n this.tertiaryColor = this.tertiaryColor || adjust2(this.primaryColor, { h: 180, l: 5 });\n this.primaryBorderColor = this.primaryBorderColor || mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = this.secondaryBorderColor || mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = this.tertiaryBorderColor || mkBorder(this.tertiaryColor, this.darkMode);\n this.noteBorderColor = this.noteBorderColor || mkBorder(this.noteBkgColor, this.darkMode);\n this.noteBkgColor = this.noteBkgColor || \"#fff5ad\";\n this.noteTextColor = this.noteTextColor || \"#333\";\n this.secondaryTextColor = this.secondaryTextColor || invert(this.secondaryColor);\n this.tertiaryTextColor = this.tertiaryTextColor || invert(this.tertiaryColor);\n this.lineColor = this.lineColor || invert(this.background);\n this.arrowheadColor = this.arrowheadColor || invert(this.background);\n this.textColor = this.textColor || this.primaryTextColor;\n this.border2 = this.border2 || this.tertiaryBorderColor;\n this.nodeBkg = this.nodeBkg || this.primaryColor;\n this.mainBkg = this.mainBkg || this.primaryColor;\n this.nodeBorder = this.nodeBorder || this.primaryBorderColor;\n this.clusterBkg = this.clusterBkg || this.tertiaryColor;\n this.clusterBorder = this.clusterBorder || this.tertiaryBorderColor;\n this.defaultLinkColor = this.defaultLinkColor || this.lineColor;\n this.titleColor = this.titleColor || this.tertiaryTextColor;\n this.edgeLabelBackground = this.edgeLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.nodeTextColor = this.nodeTextColor || this.primaryTextColor;\n this.actorBorder = this.actorBorder || this.primaryBorderColor;\n this.actorBkg = this.actorBkg || this.mainBkg;\n this.actorTextColor = this.actorTextColor || this.primaryTextColor;\n this.actorLineColor = this.actorLineColor || this.actorBorder;\n this.labelBoxBkgColor = this.labelBoxBkgColor || this.actorBkg;\n this.signalColor = this.signalColor || this.textColor;\n this.signalTextColor = this.signalTextColor || this.textColor;\n this.labelBoxBorderColor = this.labelBoxBorderColor || this.actorBorder;\n this.labelTextColor = this.labelTextColor || this.actorTextColor;\n this.loopTextColor = this.loopTextColor || this.actorTextColor;\n this.activationBorderColor = this.activationBorderColor || darken(this.secondaryColor, 10);\n this.activationBkgColor = this.activationBkgColor || this.secondaryColor;\n this.sequenceNumberColor = this.sequenceNumberColor || invert(this.lineColor);\n this.sectionBkgColor = this.sectionBkgColor || this.tertiaryColor;\n this.altSectionBkgColor = this.altSectionBkgColor || \"white\";\n this.sectionBkgColor = this.sectionBkgColor || this.secondaryColor;\n this.sectionBkgColor2 = this.sectionBkgColor2 || this.primaryColor;\n this.excludeBkgColor = this.excludeBkgColor || \"#eeeeee\";\n this.taskBorderColor = this.taskBorderColor || this.primaryBorderColor;\n this.taskBkgColor = this.taskBkgColor || this.primaryColor;\n this.activeTaskBorderColor = this.activeTaskBorderColor || this.primaryColor;\n this.activeTaskBkgColor = this.activeTaskBkgColor || lighten(this.primaryColor, 23);\n this.gridColor = this.gridColor || \"lightgrey\";\n this.doneTaskBkgColor = this.doneTaskBkgColor || \"lightgrey\";\n this.doneTaskBorderColor = this.doneTaskBorderColor || \"grey\";\n this.critBorderColor = this.critBorderColor || \"#ff8888\";\n this.critBkgColor = this.critBkgColor || \"red\";\n this.todayLineColor = this.todayLineColor || \"red\";\n this.taskTextColor = this.taskTextColor || this.textColor;\n this.taskTextOutsideColor = this.taskTextOutsideColor || this.textColor;\n this.taskTextLightColor = this.taskTextLightColor || this.textColor;\n this.taskTextColor = this.taskTextColor || this.primaryTextColor;\n this.taskTextDarkColor = this.taskTextDarkColor || this.textColor;\n this.taskTextClickableColor = this.taskTextClickableColor || \"#003163\";\n this.personBorder = this.personBorder || this.primaryBorderColor;\n this.personBkg = this.personBkg || this.mainBkg;\n if (this.darkMode) {\n this.rowOdd = this.rowOdd || darken(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken(this.mainBkg, 10);\n } else {\n this.rowOdd = this.rowOdd || lighten(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten(this.mainBkg, 5);\n }\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || this.tertiaryColor;\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.specialStateColor = this.lineColor;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust2(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust2(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust2(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust2(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust2(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust2(this.primaryColor, { h: 210, l: 150 });\n this.cScale9 = this.cScale9 || adjust2(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust2(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust2(this.primaryColor, { h: 330 });\n if (this.darkMode) {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 75);\n }\n } else {\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken(this[\"cScale\" + i], 25);\n }\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n const multiplier = this.darkMode ? -4 : -1;\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (5 + i * 3) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust2(this.mainBkg, { h: 180, s: -15, l: multiplier * (8 + i * 3) });\n }\n this.classText = this.classText || this.textColor;\n this.fillType0 = this.fillType0 || this.primaryColor;\n this.fillType1 = this.fillType1 || this.secondaryColor;\n this.fillType2 = this.fillType2 || adjust2(this.primaryColor, { h: 64 });\n this.fillType3 = this.fillType3 || adjust2(this.secondaryColor, { h: 64 });\n this.fillType4 = this.fillType4 || adjust2(this.primaryColor, { h: -64 });\n this.fillType5 = this.fillType5 || adjust2(this.secondaryColor, { h: -64 });\n this.fillType6 = this.fillType6 || adjust2(this.primaryColor, { h: 128 });\n this.fillType7 = this.fillType7 || adjust2(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust2(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust2(this.secondaryColor, { l: -10 });\n this.pie6 = this.pie6 || adjust2(this.tertiaryColor, { l: -10 });\n this.pie7 = this.pie7 || adjust2(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust2(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust2(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust2(this.primaryColor, { h: 60, l: -20 });\n this.pie11 = this.pie11 || adjust2(this.primaryColor, { h: -60, l: -20 });\n this.pie12 = this.pie12 || adjust2(this.primaryColor, { h: 120, l: -10 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.archEdgeColor = this.archEdgeColor || \"#777\";\n this.archEdgeArrowColor = this.archEdgeArrowColor || \"#777\";\n this.archEdgeWidth = this.archEdgeWidth || \"3\";\n this.archGroupBorderColor = this.archGroupBorderColor || \"#000\";\n this.archGroupBorderWidth = this.archGroupBorderWidth || \"2px\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust2(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust2(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust2(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust2(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust2(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust2(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark(this.quadrant1Fill) ? lighten(this.quadrant1Fill) : darken(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust2(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust2(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust2(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust2(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust2(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten(this.git0, 25);\n this.git1 = lighten(this.git1, 25);\n this.git2 = lighten(this.git2, 25);\n this.git3 = lighten(this.git3, 25);\n this.git4 = lighten(this.git4, 25);\n this.git5 = lighten(this.git5, 25);\n this.git6 = lighten(this.git6, 25);\n this.git7 = lighten(this.git7, 25);\n } else {\n this.git0 = darken(this.git0, 25);\n this.git1 = darken(this.git1, 25);\n this.git2 = darken(this.git2, 25);\n this.git3 = darken(this.git3, 25);\n this.git4 = darken(this.git4, 25);\n this.git5 = darken(this.git5, 25);\n this.git6 = darken(this.git6, 25);\n this.git7 = darken(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert(this.git0);\n this.gitInv1 = this.gitInv1 || invert(this.git1);\n this.gitInv2 = this.gitInv2 || invert(this.git2);\n this.gitInv3 = this.gitInv3 || invert(this.git3);\n this.gitInv4 = this.gitInv4 || invert(this.git4);\n this.gitInv5 = this.gitInv5 || invert(this.git5);\n this.gitInv6 = this.gitInv6 || invert(this.git6);\n this.gitInv7 = this.gitInv7 || invert(this.git7);\n this.branchLabelColor = this.branchLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.gitBranchLabel0 = this.gitBranchLabel0 || this.branchLabelColor;\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.branchLabelColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.branchLabelColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || this.branchLabelColor;\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.branchLabelColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.branchLabelColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.branchLabelColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-dark.js\nimport { adjust as adjust3, darken as darken2, invert as invert2, isDark as isDark2, lighten as lighten2, rgba } from \"khroma\";\nvar Theme2 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#333\";\n this.primaryColor = \"#1f2020\";\n this.secondaryColor = lighten2(this.primaryColor, 16);\n this.tertiaryColor = adjust3(this.primaryColor, { h: -160 });\n this.primaryBorderColor = invert2(this.background);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert2(this.primaryColor);\n this.secondaryTextColor = invert2(this.secondaryColor);\n this.tertiaryTextColor = invert2(this.tertiaryColor);\n this.lineColor = invert2(this.background);\n this.textColor = invert2(this.background);\n this.mainBkg = \"#1f2020\";\n this.secondBkg = \"calculated\";\n this.mainContrastColor = \"lightgrey\";\n this.darkTextColor = lighten2(invert2(\"#323D47\"), 10);\n this.lineColor = \"calculated\";\n this.border1 = \"#ccc\";\n this.border2 = rgba(255, 255, 255, 0.25);\n this.arrowheadColor = \"calculated\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"#181818\";\n this.textColor = \"#ccc\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#F9FFFE\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"calculated\";\n this.activationBkgColor = \"calculated\";\n this.sequenceNumberColor = \"black\";\n this.sectionBkgColor = darken2(\"#EAE8D9\", 30);\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"#EAE8D9\";\n this.excludeBkgColor = darken2(this.sectionBkgColor, 10);\n this.taskBorderColor = rgba(255, 255, 255, 70);\n this.taskBkgColor = \"calculated\";\n this.taskTextColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = rgba(255, 255, 255, 50);\n this.activeTaskBkgColor = \"#81B1DB\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#E83737\";\n this.critBkgColor = \"#E83737\";\n this.taskTextDarkColor = \"calculated\";\n this.todayLineColor = \"#DB5757\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten2(this.mainBkg, 5) || \"#ffffff\";\n this.rowEven = this.rowEven || darken2(this.mainBkg, 10);\n this.labelColor = \"calculated\";\n this.errorBkgColor = \"#a44141\";\n this.errorTextColor = \"#ddd\";\n }\n updateColors() {\n this.secondBkg = lighten2(this.mainBkg, 16);\n this.lineColor = this.mainContrastColor;\n this.arrowheadColor = this.mainContrastColor;\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.edgeLabelBackground = lighten2(this.labelBackground, 25);\n this.actorBorder = this.border1;\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.mainContrastColor;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.mainContrastColor;\n this.signalTextColor = this.mainContrastColor;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.mainContrastColor;\n this.loopTextColor = this.mainContrastColor;\n this.noteBorderColor = this.secondaryBorderColor;\n this.noteBkgColor = this.secondBkg;\n this.noteTextColor = this.secondaryTextColor;\n this.activationBorderColor = this.border1;\n this.activationBkgColor = this.secondBkg;\n this.altSectionBkgColor = this.background;\n this.taskBkgColor = lighten2(this.mainBkg, 23);\n this.taskTextColor = this.darkTextColor;\n this.taskTextLightColor = this.mainContrastColor;\n this.taskTextOutsideColor = this.taskTextLightColor;\n this.gridColor = this.mainContrastColor;\n this.doneTaskBkgColor = this.mainContrastColor;\n this.taskTextDarkColor = this.darkTextColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#555\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#f4f4f4\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust3(this.primaryColor, { h: 64 });\n this.fillType3 = adjust3(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust3(this.primaryColor, { h: -64 });\n this.fillType5 = adjust3(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust3(this.primaryColor, { h: 128 });\n this.fillType7 = adjust3(this.secondaryColor, { h: 128 });\n this.cScale1 = this.cScale1 || \"#0b0000\";\n this.cScale2 = this.cScale2 || \"#4d1037\";\n this.cScale3 = this.cScale3 || \"#3f5258\";\n this.cScale4 = this.cScale4 || \"#4f2f1b\";\n this.cScale5 = this.cScale5 || \"#6e0a0a\";\n this.cScale6 = this.cScale6 || \"#3b0048\";\n this.cScale7 = this.cScale7 || \"#995a01\";\n this.cScale8 = this.cScale8 || \"#154706\";\n this.cScale9 = this.cScale9 || \"#161722\";\n this.cScale10 = this.cScale10 || \"#00296f\";\n this.cScale11 = this.cScale11 || \"#01629c\";\n this.cScale12 = this.cScale12 || \"#010029\";\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust3(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust3(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust3(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust3(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust3(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust3(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust3(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust3(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust3(this.primaryColor, { h: 330 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert2(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten2(this[\"cScale\" + i], 10);\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-10 + i * 4) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust3(this.mainBkg, { h: 30, s: -30, l: -(-7 + i * 4) });\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust3(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust3(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust3(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust3(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust3(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust3(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark2(this.quadrant1Fill) ? lighten2(this.quadrant1Fill) : darken2(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22\"\n };\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.background\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.classText = this.primaryTextColor;\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || (this.darkMode ? darken2(this.secondaryColor, 30) : this.secondaryColor);\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = lighten2(this.secondaryColor, 20);\n this.git1 = lighten2(this.pie2 || this.secondaryColor, 20);\n this.git2 = lighten2(this.pie3 || this.tertiaryColor, 20);\n this.git3 = lighten2(this.pie4 || adjust3(this.primaryColor, { h: -30 }), 20);\n this.git4 = lighten2(this.pie5 || adjust3(this.primaryColor, { h: -60 }), 20);\n this.git5 = lighten2(this.pie6 || adjust3(this.primaryColor, { h: -90 }), 10);\n this.git6 = lighten2(this.pie7 || adjust3(this.primaryColor, { h: 60 }), 10);\n this.git7 = lighten2(this.pie8 || adjust3(this.primaryColor, { h: 120 }), 20);\n this.gitInv0 = this.gitInv0 || invert2(this.git0);\n this.gitInv1 = this.gitInv1 || invert2(this.git1);\n this.gitInv2 = this.gitInv2 || invert2(this.git2);\n this.gitInv3 = this.gitInv3 || invert2(this.git3);\n this.gitInv4 = this.gitInv4 || invert2(this.git4);\n this.gitInv5 = this.gitInv5 || invert2(this.git5);\n this.gitInv6 = this.gitInv6 || invert2(this.git6);\n this.gitInv7 = this.gitInv7 || invert2(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert2(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert2(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || lighten2(this.background, 12);\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || lighten2(this.background, 2);\n this.nodeBorder = this.nodeBorder || \"#999\";\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables2 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme2();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-default.js\nimport { invert as invert3, lighten as lighten3, rgba as rgba2, adjust as adjust4, darken as darken3, isDark as isDark3 } from \"khroma\";\nvar Theme3 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#ECECFF\";\n this.secondaryColor = adjust4(this.primaryColor, { h: 120 });\n this.secondaryColor = \"#ffffde\";\n this.tertiaryColor = adjust4(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert3(this.primaryColor);\n this.secondaryTextColor = invert3(this.secondaryColor);\n this.tertiaryTextColor = invert3(this.tertiaryColor);\n this.lineColor = invert3(this.background);\n this.textColor = invert3(this.background);\n this.background = \"white\";\n this.mainBkg = \"#ECECFF\";\n this.secondBkg = \"#ffffde\";\n this.lineColor = \"#333333\";\n this.border1 = \"#9370DB\";\n this.border2 = \"#aaaa33\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.labelBackground = \"rgba(232,232,232, 0.8)\";\n this.textColor = \"#333\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"calculated\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"calculated\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"calculated\";\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.taskTextClickableColor = \"calculated\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.sectionBkgColor = rgba2(102, 102, 255, 0.49);\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#fff400\";\n this.taskBorderColor = \"#534fbc\";\n this.taskBkgColor = \"#8a90dd\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"#534fbc\";\n this.activeTaskBkgColor = \"#bfc7ff\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = \"calculated\";\n this.rowEven = \"calculated\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n this.updateColors();\n }\n updateColors() {\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust4(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust4(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust4(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust4(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust4(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust4(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust4(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust4(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust4(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken3(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken3(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken3(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken3(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust4(this[\"cScale\" + i], { h: 180 });\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust4(this.mainBkg, { h: 30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust4(this.mainBkg, { h: 30, l: -(7 + i * 5) });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n if (this.labelTextColor !== \"calculated\") {\n this.cScaleLabel0 = this.cScaleLabel0 || invert3(this.labelTextColor);\n this.cScaleLabel3 = this.cScaleLabel3 || invert3(this.labelTextColor);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.labelTextColor;\n }\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.textColor;\n this.edgeLabelBackground = this.labelBackground;\n this.actorBorder = lighten3(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.signalColor = this.textColor;\n this.signalTextColor = this.textColor;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten3(this.primaryColor, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten3(this.primaryColor, 1);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.nodeBorder;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust4(this.primaryColor, { h: 64 });\n this.fillType3 = adjust4(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust4(this.primaryColor, { h: -64 });\n this.fillType5 = adjust4(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust4(this.primaryColor, { h: 128 });\n this.fillType7 = adjust4(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || adjust4(this.tertiaryColor, { l: -40 });\n this.pie4 = this.pie4 || adjust4(this.primaryColor, { l: -10 });\n this.pie5 = this.pie5 || adjust4(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust4(this.tertiaryColor, { l: -20 });\n this.pie7 = this.pie7 || adjust4(this.primaryColor, { h: 60, l: -20 });\n this.pie8 = this.pie8 || adjust4(this.primaryColor, { h: -60, l: -40 });\n this.pie9 = this.pie9 || adjust4(this.primaryColor, { h: 120, l: -40 });\n this.pie10 = this.pie10 || adjust4(this.primaryColor, { h: 60, l: -40 });\n this.pie11 = this.pie11 || adjust4(this.primaryColor, { h: -90, l: -40 });\n this.pie12 = this.pie12 || adjust4(this.primaryColor, { h: 120, l: -30 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust4(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust4(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust4(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust4(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust4(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust4(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark3(this.quadrant1Fill) ? lighten3(this.quadrant1Fill) : darken3(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.labelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust4(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust4(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust4(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust4(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust4(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten3(this.git0, 25);\n this.git1 = lighten3(this.git1, 25);\n this.git2 = lighten3(this.git2, 25);\n this.git3 = lighten3(this.git3, 25);\n this.git4 = lighten3(this.git4, 25);\n this.git5 = lighten3(this.git5, 25);\n this.git6 = lighten3(this.git6, 25);\n this.git7 = lighten3(this.git7, 25);\n } else {\n this.git0 = darken3(this.git0, 25);\n this.git1 = darken3(this.git1, 25);\n this.git2 = darken3(this.git2, 25);\n this.git3 = darken3(this.git3, 25);\n this.git4 = darken3(this.git4, 25);\n this.git5 = darken3(this.git5, 25);\n this.git6 = darken3(this.git6, 25);\n this.git7 = darken3(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || darken3(invert3(this.git0), 25);\n this.gitInv1 = this.gitInv1 || invert3(this.git1);\n this.gitInv2 = this.gitInv2 || invert3(this.git2);\n this.gitInv3 = this.gitInv3 || invert3(this.git3);\n this.gitInv4 = this.gitInv4 || invert3(this.git4);\n this.gitInv5 = this.gitInv5 || invert3(this.git5);\n this.gitInv6 = this.gitInv6 || invert3(this.git6);\n this.gitInv7 = this.gitInv7 || invert3(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert3(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert3(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n Object.keys(this).forEach((k) => {\n if (this[k] === \"calculated\") {\n this[k] = void 0;\n }\n });\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables3 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme3();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-forest.js\nimport { adjust as adjust5, darken as darken4, invert as invert4, isDark as isDark4, lighten as lighten4 } from \"khroma\";\nvar Theme4 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.background = \"#f4f4f4\";\n this.primaryColor = \"#cde498\";\n this.secondaryColor = \"#cdffb2\";\n this.background = \"white\";\n this.mainBkg = \"#cde498\";\n this.secondBkg = \"#cdffb2\";\n this.lineColor = \"green\";\n this.border1 = \"#13540c\";\n this.border2 = \"#6eaa49\";\n this.arrowheadColor = \"green\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.tertiaryColor = lighten4(\"#cde498\", 10);\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert4(this.primaryColor);\n this.secondaryTextColor = invert4(this.secondaryColor);\n this.tertiaryTextColor = invert4(this.primaryColor);\n this.lineColor = invert4(this.background);\n this.textColor = invert4(this.background);\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"#333\";\n this.edgeLabelBackground = \"#e8e8e8\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"black\";\n this.actorLineColor = \"calculated\";\n this.signalColor = \"#333\";\n this.signalTextColor = \"#333\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"#326932\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"#fff5ad\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"#6eaa49\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"#6eaa49\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"#487e3a\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"black\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"lightgrey\";\n this.doneTaskBkgColor = \"lightgrey\";\n this.doneTaskBorderColor = \"grey\";\n this.critBorderColor = \"#ff8888\";\n this.critBkgColor = \"red\";\n this.todayLineColor = \"red\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n this.actorBorder = darken4(this.mainBkg, 20);\n this.actorBkg = this.mainBkg;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelTextColor = this.actorTextColor;\n this.loopTextColor = this.actorTextColor;\n this.noteBorderColor = this.border2;\n this.noteTextColor = this.actorTextColor;\n this.actorLineColor = this.actorBorder;\n this.cScale0 = this.cScale0 || this.primaryColor;\n this.cScale1 = this.cScale1 || this.secondaryColor;\n this.cScale2 = this.cScale2 || this.tertiaryColor;\n this.cScale3 = this.cScale3 || adjust5(this.primaryColor, { h: 30 });\n this.cScale4 = this.cScale4 || adjust5(this.primaryColor, { h: 60 });\n this.cScale5 = this.cScale5 || adjust5(this.primaryColor, { h: 90 });\n this.cScale6 = this.cScale6 || adjust5(this.primaryColor, { h: 120 });\n this.cScale7 = this.cScale7 || adjust5(this.primaryColor, { h: 150 });\n this.cScale8 = this.cScale8 || adjust5(this.primaryColor, { h: 210 });\n this.cScale9 = this.cScale9 || adjust5(this.primaryColor, { h: 270 });\n this.cScale10 = this.cScale10 || adjust5(this.primaryColor, { h: 300 });\n this.cScale11 = this.cScale11 || adjust5(this.primaryColor, { h: 330 });\n this[\"cScalePeer1\"] = this[\"cScalePeer1\"] || darken4(this.secondaryColor, 45);\n this[\"cScalePeer2\"] = this[\"cScalePeer2\"] || darken4(this.tertiaryColor, 40);\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScale\" + i] = darken4(this[\"cScale\" + i], 10);\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken4(this[\"cScale\" + i], 25);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || adjust5(this[\"cScale\" + i], { h: 180 });\n }\n this.scaleLabelColor = this.scaleLabelColor !== \"calculated\" && this.scaleLabelColor ? this.scaleLabelColor : this.labelTextColor;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust5(this.mainBkg, { h: 30, s: -30, l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.taskBorderColor = this.border1;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.rowOdd = this.rowOdd || lighten4(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || lighten4(this.mainBkg, 20);\n this.transitionColor = this.transitionColor || this.lineColor;\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f0f0f0\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.compositeBorder = this.compositeBorder || this.nodeBorder;\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = this.lineColor;\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.transitionColor = this.transitionColor || this.lineColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust5(this.primaryColor, { h: 64 });\n this.fillType3 = adjust5(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust5(this.primaryColor, { h: -64 });\n this.fillType5 = adjust5(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust5(this.primaryColor, { h: 128 });\n this.fillType7 = adjust5(this.secondaryColor, { h: 128 });\n this.pie1 = this.pie1 || this.primaryColor;\n this.pie2 = this.pie2 || this.secondaryColor;\n this.pie3 = this.pie3 || this.tertiaryColor;\n this.pie4 = this.pie4 || adjust5(this.primaryColor, { l: -30 });\n this.pie5 = this.pie5 || adjust5(this.secondaryColor, { l: -30 });\n this.pie6 = this.pie6 || adjust5(this.tertiaryColor, { h: 40, l: -40 });\n this.pie7 = this.pie7 || adjust5(this.primaryColor, { h: 60, l: -10 });\n this.pie8 = this.pie8 || adjust5(this.primaryColor, { h: -60, l: -10 });\n this.pie9 = this.pie9 || adjust5(this.primaryColor, { h: 120, l: 0 });\n this.pie10 = this.pie10 || adjust5(this.primaryColor, { h: 60, l: -50 });\n this.pie11 = this.pie11 || adjust5(this.primaryColor, { h: -60, l: -50 });\n this.pie12 = this.pie12 || adjust5(this.primaryColor, { h: 120, l: -50 });\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust5(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust5(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust5(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust5(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust5(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust5(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark4(this.quadrant1Fill) ? lighten4(this.quadrant1Fill) : darken4(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.packet = {\n startByteColor: this.primaryTextColor,\n endByteColor: this.primaryTextColor,\n labelColor: this.primaryTextColor,\n titleColor: this.primaryTextColor,\n blockStrokeColor: this.primaryTextColor,\n blockFillColor: this.mainBkg\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176\"\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = this.git0 || this.primaryColor;\n this.git1 = this.git1 || this.secondaryColor;\n this.git2 = this.git2 || this.tertiaryColor;\n this.git3 = this.git3 || adjust5(this.primaryColor, { h: -30 });\n this.git4 = this.git4 || adjust5(this.primaryColor, { h: -60 });\n this.git5 = this.git5 || adjust5(this.primaryColor, { h: -90 });\n this.git6 = this.git6 || adjust5(this.primaryColor, { h: 60 });\n this.git7 = this.git7 || adjust5(this.primaryColor, { h: 120 });\n if (this.darkMode) {\n this.git0 = lighten4(this.git0, 25);\n this.git1 = lighten4(this.git1, 25);\n this.git2 = lighten4(this.git2, 25);\n this.git3 = lighten4(this.git3, 25);\n this.git4 = lighten4(this.git4, 25);\n this.git5 = lighten4(this.git5, 25);\n this.git6 = lighten4(this.git6, 25);\n this.git7 = lighten4(this.git7, 25);\n } else {\n this.git0 = darken4(this.git0, 25);\n this.git1 = darken4(this.git1, 25);\n this.git2 = darken4(this.git2, 25);\n this.git3 = darken4(this.git3, 25);\n this.git4 = darken4(this.git4, 25);\n this.git5 = darken4(this.git5, 25);\n this.git6 = darken4(this.git6, 25);\n this.git7 = darken4(this.git7, 25);\n }\n this.gitInv0 = this.gitInv0 || invert4(this.git0);\n this.gitInv1 = this.gitInv1 || invert4(this.git1);\n this.gitInv2 = this.gitInv2 || invert4(this.git2);\n this.gitInv3 = this.gitInv3 || invert4(this.git3);\n this.gitInv4 = this.gitInv4 || invert4(this.git4);\n this.gitInv5 = this.gitInv5 || invert4(this.git5);\n this.gitInv6 = this.gitInv6 || invert4(this.git6);\n this.gitInv7 = this.gitInv7 || invert4(this.git7);\n this.gitBranchLabel0 = this.gitBranchLabel0 || invert4(this.labelTextColor);\n this.gitBranchLabel1 = this.gitBranchLabel1 || this.labelTextColor;\n this.gitBranchLabel2 = this.gitBranchLabel2 || this.labelTextColor;\n this.gitBranchLabel3 = this.gitBranchLabel3 || invert4(this.labelTextColor);\n this.gitBranchLabel4 = this.gitBranchLabel4 || this.labelTextColor;\n this.gitBranchLabel5 = this.gitBranchLabel5 || this.labelTextColor;\n this.gitBranchLabel6 = this.gitBranchLabel6 || this.labelTextColor;\n this.gitBranchLabel7 = this.gitBranchLabel7 || this.labelTextColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables4 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme4();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/theme-neutral.js\nimport { invert as invert5, darken as darken5, lighten as lighten5, adjust as adjust6, isDark as isDark5 } from \"khroma\";\nvar Theme5 = class {\n static {\n __name(this, \"Theme\");\n }\n constructor() {\n this.primaryColor = \"#eee\";\n this.contrast = \"#707070\";\n this.secondaryColor = lighten5(this.contrast, 55);\n this.background = \"#ffffff\";\n this.tertiaryColor = adjust6(this.primaryColor, { h: -160 });\n this.primaryBorderColor = mkBorder(this.primaryColor, this.darkMode);\n this.secondaryBorderColor = mkBorder(this.secondaryColor, this.darkMode);\n this.tertiaryBorderColor = mkBorder(this.tertiaryColor, this.darkMode);\n this.primaryTextColor = invert5(this.primaryColor);\n this.secondaryTextColor = invert5(this.secondaryColor);\n this.tertiaryTextColor = invert5(this.tertiaryColor);\n this.lineColor = invert5(this.background);\n this.textColor = invert5(this.background);\n this.mainBkg = \"#eee\";\n this.secondBkg = \"calculated\";\n this.lineColor = \"#666\";\n this.border1 = \"#999\";\n this.border2 = \"calculated\";\n this.note = \"#ffa\";\n this.text = \"#333\";\n this.critical = \"#d42\";\n this.done = \"#bbb\";\n this.arrowheadColor = \"#333333\";\n this.fontFamily = '\"trebuchet ms\", verdana, arial, sans-serif';\n this.fontSize = \"16px\";\n this.THEME_COLOR_LIMIT = 12;\n this.nodeBkg = \"calculated\";\n this.nodeBorder = \"calculated\";\n this.clusterBkg = \"calculated\";\n this.clusterBorder = \"calculated\";\n this.defaultLinkColor = \"calculated\";\n this.titleColor = \"calculated\";\n this.edgeLabelBackground = \"white\";\n this.actorBorder = \"calculated\";\n this.actorBkg = \"calculated\";\n this.actorTextColor = \"calculated\";\n this.actorLineColor = this.actorBorder;\n this.signalColor = \"calculated\";\n this.signalTextColor = \"calculated\";\n this.labelBoxBkgColor = \"calculated\";\n this.labelBoxBorderColor = \"calculated\";\n this.labelTextColor = \"calculated\";\n this.loopTextColor = \"calculated\";\n this.noteBorderColor = \"calculated\";\n this.noteBkgColor = \"calculated\";\n this.noteTextColor = \"calculated\";\n this.activationBorderColor = \"#666\";\n this.activationBkgColor = \"#f4f4f4\";\n this.sequenceNumberColor = \"white\";\n this.sectionBkgColor = \"calculated\";\n this.altSectionBkgColor = \"white\";\n this.sectionBkgColor2 = \"calculated\";\n this.excludeBkgColor = \"#eeeeee\";\n this.taskBorderColor = \"calculated\";\n this.taskBkgColor = \"calculated\";\n this.taskTextLightColor = \"white\";\n this.taskTextColor = \"calculated\";\n this.taskTextDarkColor = \"calculated\";\n this.taskTextOutsideColor = \"calculated\";\n this.taskTextClickableColor = \"#003163\";\n this.activeTaskBorderColor = \"calculated\";\n this.activeTaskBkgColor = \"calculated\";\n this.gridColor = \"calculated\";\n this.doneTaskBkgColor = \"calculated\";\n this.doneTaskBorderColor = \"calculated\";\n this.critBkgColor = \"calculated\";\n this.critBorderColor = \"calculated\";\n this.todayLineColor = \"calculated\";\n this.personBorder = this.primaryBorderColor;\n this.personBkg = this.mainBkg;\n this.archEdgeColor = \"calculated\";\n this.archEdgeArrowColor = \"calculated\";\n this.archEdgeWidth = \"3\";\n this.archGroupBorderColor = this.primaryBorderColor;\n this.archGroupBorderWidth = \"2px\";\n this.rowOdd = this.rowOdd || lighten5(this.mainBkg, 75) || \"#ffffff\";\n this.rowEven = this.rowEven || \"#f4f4f4\";\n this.labelColor = \"black\";\n this.errorBkgColor = \"#552222\";\n this.errorTextColor = \"#552222\";\n }\n updateColors() {\n this.secondBkg = lighten5(this.contrast, 55);\n this.border2 = this.contrast;\n this.actorBorder = lighten5(this.border1, 23);\n this.actorBkg = this.mainBkg;\n this.actorTextColor = this.text;\n this.actorLineColor = this.actorBorder;\n this.signalColor = this.text;\n this.signalTextColor = this.text;\n this.labelBoxBkgColor = this.actorBkg;\n this.labelBoxBorderColor = this.actorBorder;\n this.labelTextColor = this.text;\n this.loopTextColor = this.text;\n this.noteBorderColor = \"#999\";\n this.noteBkgColor = \"#666\";\n this.noteTextColor = \"#fff\";\n this.cScale0 = this.cScale0 || \"#555\";\n this.cScale1 = this.cScale1 || \"#F4F4F4\";\n this.cScale2 = this.cScale2 || \"#555\";\n this.cScale3 = this.cScale3 || \"#BBB\";\n this.cScale4 = this.cScale4 || \"#777\";\n this.cScale5 = this.cScale5 || \"#999\";\n this.cScale6 = this.cScale6 || \"#DDD\";\n this.cScale7 = this.cScale7 || \"#FFF\";\n this.cScale8 = this.cScale8 || \"#DDD\";\n this.cScale9 = this.cScale9 || \"#BBB\";\n this.cScale10 = this.cScale10 || \"#999\";\n this.cScale11 = this.cScale11 || \"#777\";\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleInv\" + i] = this[\"cScaleInv\" + i] || invert5(this[\"cScale\" + i]);\n }\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n if (this.darkMode) {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || lighten5(this[\"cScale\" + i], 10);\n } else {\n this[\"cScalePeer\" + i] = this[\"cScalePeer\" + i] || darken5(this[\"cScale\" + i], 10);\n }\n }\n this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? \"black\" : this.labelTextColor);\n this.cScaleLabel0 = this.cScaleLabel0 || this.cScale1;\n this.cScaleLabel2 = this.cScaleLabel2 || this.cScale1;\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"cScaleLabel\" + i] = this[\"cScaleLabel\" + i] || this.scaleLabelColor;\n }\n for (let i = 0; i < 5; i++) {\n this[\"surface\" + i] = this[\"surface\" + i] || adjust6(this.mainBkg, { l: -(5 + i * 5) });\n this[\"surfacePeer\" + i] = this[\"surfacePeer\" + i] || adjust6(this.mainBkg, { l: -(8 + i * 5) });\n }\n this.nodeBkg = this.mainBkg;\n this.nodeBorder = this.border1;\n this.clusterBkg = this.secondBkg;\n this.clusterBorder = this.border2;\n this.defaultLinkColor = this.lineColor;\n this.titleColor = this.text;\n this.sectionBkgColor = lighten5(this.contrast, 30);\n this.sectionBkgColor2 = lighten5(this.contrast, 30);\n this.taskBorderColor = darken5(this.contrast, 10);\n this.taskBkgColor = this.contrast;\n this.taskTextColor = this.taskTextLightColor;\n this.taskTextDarkColor = this.text;\n this.taskTextOutsideColor = this.taskTextDarkColor;\n this.activeTaskBorderColor = this.taskBorderColor;\n this.activeTaskBkgColor = this.mainBkg;\n this.gridColor = lighten5(this.border1, 30);\n this.doneTaskBkgColor = this.done;\n this.doneTaskBorderColor = this.lineColor;\n this.critBkgColor = this.critical;\n this.critBorderColor = darken5(this.critBkgColor, 10);\n this.todayLineColor = this.critBkgColor;\n this.archEdgeColor = this.lineColor;\n this.archEdgeArrowColor = this.lineColor;\n this.transitionColor = this.transitionColor || \"#000\";\n this.transitionLabelColor = this.transitionLabelColor || this.textColor;\n this.stateLabelColor = this.stateLabelColor || this.stateBkg || this.primaryTextColor;\n this.stateBkg = this.stateBkg || this.mainBkg;\n this.labelBackgroundColor = this.labelBackgroundColor || this.stateBkg;\n this.compositeBackground = this.compositeBackground || this.background || this.tertiaryColor;\n this.altBackground = this.altBackground || \"#f4f4f4\";\n this.compositeTitleBackground = this.compositeTitleBackground || this.mainBkg;\n this.stateBorder = this.stateBorder || \"#000\";\n this.innerEndBackground = this.primaryBorderColor;\n this.specialStateColor = \"#222\";\n this.errorBkgColor = this.errorBkgColor || this.tertiaryColor;\n this.errorTextColor = this.errorTextColor || this.tertiaryTextColor;\n this.classText = this.primaryTextColor;\n this.fillType0 = this.primaryColor;\n this.fillType1 = this.secondaryColor;\n this.fillType2 = adjust6(this.primaryColor, { h: 64 });\n this.fillType3 = adjust6(this.secondaryColor, { h: 64 });\n this.fillType4 = adjust6(this.primaryColor, { h: -64 });\n this.fillType5 = adjust6(this.secondaryColor, { h: -64 });\n this.fillType6 = adjust6(this.primaryColor, { h: 128 });\n this.fillType7 = adjust6(this.secondaryColor, { h: 128 });\n for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) {\n this[\"pie\" + i] = this[\"cScale\" + i];\n }\n this.pie12 = this.pie0;\n this.pieTitleTextSize = this.pieTitleTextSize || \"25px\";\n this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor;\n this.pieSectionTextSize = this.pieSectionTextSize || \"17px\";\n this.pieSectionTextColor = this.pieSectionTextColor || this.textColor;\n this.pieLegendTextSize = this.pieLegendTextSize || \"17px\";\n this.pieLegendTextColor = this.pieLegendTextColor || this.taskTextDarkColor;\n this.pieStrokeColor = this.pieStrokeColor || \"black\";\n this.pieStrokeWidth = this.pieStrokeWidth || \"2px\";\n this.pieOuterStrokeWidth = this.pieOuterStrokeWidth || \"2px\";\n this.pieOuterStrokeColor = this.pieOuterStrokeColor || \"black\";\n this.pieOpacity = this.pieOpacity || \"0.7\";\n this.quadrant1Fill = this.quadrant1Fill || this.primaryColor;\n this.quadrant2Fill = this.quadrant2Fill || adjust6(this.primaryColor, { r: 5, g: 5, b: 5 });\n this.quadrant3Fill = this.quadrant3Fill || adjust6(this.primaryColor, { r: 10, g: 10, b: 10 });\n this.quadrant4Fill = this.quadrant4Fill || adjust6(this.primaryColor, { r: 15, g: 15, b: 15 });\n this.quadrant1TextFill = this.quadrant1TextFill || this.primaryTextColor;\n this.quadrant2TextFill = this.quadrant2TextFill || adjust6(this.primaryTextColor, { r: -5, g: -5, b: -5 });\n this.quadrant3TextFill = this.quadrant3TextFill || adjust6(this.primaryTextColor, { r: -10, g: -10, b: -10 });\n this.quadrant4TextFill = this.quadrant4TextFill || adjust6(this.primaryTextColor, { r: -15, g: -15, b: -15 });\n this.quadrantPointFill = this.quadrantPointFill || isDark5(this.quadrant1Fill) ? lighten5(this.quadrant1Fill) : darken5(this.quadrant1Fill);\n this.quadrantPointTextFill = this.quadrantPointTextFill || this.primaryTextColor;\n this.quadrantXAxisTextFill = this.quadrantXAxisTextFill || this.primaryTextColor;\n this.quadrantYAxisTextFill = this.quadrantYAxisTextFill || this.primaryTextColor;\n this.quadrantInternalBorderStrokeFill = this.quadrantInternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantExternalBorderStrokeFill = this.quadrantExternalBorderStrokeFill || this.primaryBorderColor;\n this.quadrantTitleFill = this.quadrantTitleFill || this.primaryTextColor;\n this.xyChart = {\n backgroundColor: this.xyChart?.backgroundColor || this.background,\n titleColor: this.xyChart?.titleColor || this.primaryTextColor,\n xAxisTitleColor: this.xyChart?.xAxisTitleColor || this.primaryTextColor,\n xAxisLabelColor: this.xyChart?.xAxisLabelColor || this.primaryTextColor,\n xAxisTickColor: this.xyChart?.xAxisTickColor || this.primaryTextColor,\n xAxisLineColor: this.xyChart?.xAxisLineColor || this.primaryTextColor,\n yAxisTitleColor: this.xyChart?.yAxisTitleColor || this.primaryTextColor,\n yAxisLabelColor: this.xyChart?.yAxisLabelColor || this.primaryTextColor,\n yAxisTickColor: this.xyChart?.yAxisTickColor || this.primaryTextColor,\n yAxisLineColor: this.xyChart?.yAxisLineColor || this.primaryTextColor,\n plotColorPalette: this.xyChart?.plotColorPalette || \"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0\"\n };\n this.radar = {\n axisColor: this.radar?.axisColor || this.lineColor,\n axisStrokeWidth: this.radar?.axisStrokeWidth || 2,\n axisLabelFontSize: this.radar?.axisLabelFontSize || 12,\n curveOpacity: this.radar?.curveOpacity || 0.5,\n curveStrokeWidth: this.radar?.curveStrokeWidth || 2,\n graticuleColor: this.radar?.graticuleColor || \"#DEDEDE\",\n graticuleStrokeWidth: this.radar?.graticuleStrokeWidth || 1,\n graticuleOpacity: this.radar?.graticuleOpacity || 0.3,\n legendBoxSize: this.radar?.legendBoxSize || 12,\n legendFontSize: this.radar?.legendFontSize || 12\n };\n this.requirementBackground = this.requirementBackground || this.primaryColor;\n this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor;\n this.requirementBorderSize = this.requirementBorderSize || \"1\";\n this.requirementTextColor = this.requirementTextColor || this.primaryTextColor;\n this.relationColor = this.relationColor || this.lineColor;\n this.relationLabelBackground = this.relationLabelBackground || this.edgeLabelBackground;\n this.relationLabelColor = this.relationLabelColor || this.actorTextColor;\n this.git0 = darken5(this.pie1, 25) || this.primaryColor;\n this.git1 = this.pie2 || this.secondaryColor;\n this.git2 = this.pie3 || this.tertiaryColor;\n this.git3 = this.pie4 || adjust6(this.primaryColor, { h: -30 });\n this.git4 = this.pie5 || adjust6(this.primaryColor, { h: -60 });\n this.git5 = this.pie6 || adjust6(this.primaryColor, { h: -90 });\n this.git6 = this.pie7 || adjust6(this.primaryColor, { h: 60 });\n this.git7 = this.pie8 || adjust6(this.primaryColor, { h: 120 });\n this.gitInv0 = this.gitInv0 || invert5(this.git0);\n this.gitInv1 = this.gitInv1 || invert5(this.git1);\n this.gitInv2 = this.gitInv2 || invert5(this.git2);\n this.gitInv3 = this.gitInv3 || invert5(this.git3);\n this.gitInv4 = this.gitInv4 || invert5(this.git4);\n this.gitInv5 = this.gitInv5 || invert5(this.git5);\n this.gitInv6 = this.gitInv6 || invert5(this.git6);\n this.gitInv7 = this.gitInv7 || invert5(this.git7);\n this.branchLabelColor = this.branchLabelColor || this.labelTextColor;\n this.gitBranchLabel0 = this.branchLabelColor;\n this.gitBranchLabel1 = \"white\";\n this.gitBranchLabel2 = this.branchLabelColor;\n this.gitBranchLabel3 = \"white\";\n this.gitBranchLabel4 = this.branchLabelColor;\n this.gitBranchLabel5 = this.branchLabelColor;\n this.gitBranchLabel6 = this.branchLabelColor;\n this.gitBranchLabel7 = this.branchLabelColor;\n this.tagLabelColor = this.tagLabelColor || this.primaryTextColor;\n this.tagLabelBackground = this.tagLabelBackground || this.primaryColor;\n this.tagLabelBorder = this.tagBorder || this.primaryBorderColor;\n this.tagLabelFontSize = this.tagLabelFontSize || \"10px\";\n this.commitLabelColor = this.commitLabelColor || this.secondaryTextColor;\n this.commitLabelBackground = this.commitLabelBackground || this.secondaryColor;\n this.commitLabelFontSize = this.commitLabelFontSize || \"10px\";\n this.attributeBackgroundColorOdd = this.attributeBackgroundColorOdd || oldAttributeBackgroundColorOdd;\n this.attributeBackgroundColorEven = this.attributeBackgroundColorEven || oldAttributeBackgroundColorEven;\n }\n calculate(overrides) {\n if (typeof overrides !== \"object\") {\n this.updateColors();\n return;\n }\n const keys = Object.keys(overrides);\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n this.updateColors();\n keys.forEach((k) => {\n this[k] = overrides[k];\n });\n }\n};\nvar getThemeVariables5 = /* @__PURE__ */ __name((userOverrides) => {\n const theme = new Theme5();\n theme.calculate(userOverrides);\n return theme;\n}, \"getThemeVariables\");\n\n// src/themes/index.js\nvar themes_default = {\n base: {\n getThemeVariables\n },\n dark: {\n getThemeVariables: getThemeVariables2\n },\n default: {\n getThemeVariables: getThemeVariables3\n },\n forest: {\n getThemeVariables: getThemeVariables4\n },\n neutral: {\n getThemeVariables: getThemeVariables5\n }\n};\n\n// src/schemas/config.schema.yaml?only-defaults=true\nvar config_schema_default = {\n \"flowchart\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"subGraphTitleMargin\": {\n \"top\": 0,\n \"bottom\": 0\n },\n \"diagramPadding\": 8,\n \"htmlLabels\": true,\n \"nodeSpacing\": 50,\n \"rankSpacing\": 50,\n \"curve\": \"basis\",\n \"padding\": 15,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"wrappingWidth\": 200\n },\n \"sequence\": {\n \"useMaxWidth\": true,\n \"hideUnusedParticipants\": false,\n \"activationWidth\": 10,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"actorMargin\": 50,\n \"width\": 150,\n \"height\": 65,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"mirrorActors\": true,\n \"forceMenus\": false,\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"showSequenceNumbers\": false,\n \"actorFontSize\": 14,\n \"actorFontFamily\": '\"Open Sans\", sans-serif',\n \"actorFontWeight\": 400,\n \"noteFontSize\": 14,\n \"noteFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"noteFontWeight\": 400,\n \"noteAlign\": \"center\",\n \"messageFontSize\": 16,\n \"messageFontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif',\n \"messageFontWeight\": 400,\n \"wrap\": false,\n \"wrapPadding\": 10,\n \"labelBoxWidth\": 50,\n \"labelBoxHeight\": 20\n },\n \"gantt\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"barHeight\": 20,\n \"barGap\": 4,\n \"topPadding\": 50,\n \"rightPadding\": 75,\n \"leftPadding\": 75,\n \"gridLineStartPadding\": 35,\n \"fontSize\": 11,\n \"sectionFontSize\": 11,\n \"numberSectionStyles\": 4,\n \"axisFormat\": \"%Y-%m-%d\",\n \"topAxis\": false,\n \"displayMode\": \"\",\n \"weekday\": \"sunday\"\n },\n \"journey\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ]\n },\n \"class\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"arrowMarkerAbsolute\": false,\n \"dividerMargin\": 10,\n \"padding\": 5,\n \"textHeight\": 10,\n \"defaultRenderer\": \"dagre-wrapper\",\n \"htmlLabels\": false,\n \"hideEmptyMembersBox\": false\n },\n \"state\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"dividerMargin\": 10,\n \"sizeUnit\": 5,\n \"padding\": 8,\n \"textHeight\": 10,\n \"titleShift\": -15,\n \"noteMargin\": 10,\n \"forkWidth\": 70,\n \"forkHeight\": 7,\n \"miniPadding\": 2,\n \"fontSizeFactor\": 5.02,\n \"fontSize\": 24,\n \"labelHeight\": 16,\n \"edgeLengthFactor\": \"20\",\n \"compositTitleSize\": 35,\n \"radius\": 5,\n \"defaultRenderer\": \"dagre-wrapper\"\n },\n \"er\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 20,\n \"layoutDirection\": \"TB\",\n \"minEntityWidth\": 100,\n \"minEntityHeight\": 75,\n \"entityPadding\": 15,\n \"nodeSpacing\": 140,\n \"rankSpacing\": 80,\n \"stroke\": \"gray\",\n \"fill\": \"honeydew\",\n \"fontSize\": 12\n },\n \"pie\": {\n \"useMaxWidth\": true,\n \"textPosition\": 0.75\n },\n \"quadrantChart\": {\n \"useMaxWidth\": true,\n \"chartWidth\": 500,\n \"chartHeight\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"quadrantPadding\": 5,\n \"xAxisLabelPadding\": 5,\n \"yAxisLabelPadding\": 5,\n \"xAxisLabelFontSize\": 16,\n \"yAxisLabelFontSize\": 16,\n \"quadrantLabelFontSize\": 16,\n \"quadrantTextTopPadding\": 5,\n \"pointTextPadding\": 5,\n \"pointLabelFontSize\": 12,\n \"pointRadius\": 5,\n \"xAxisPosition\": \"top\",\n \"yAxisPosition\": \"left\",\n \"quadrantInternalBorderStrokeWidth\": 1,\n \"quadrantExternalBorderStrokeWidth\": 2\n },\n \"xyChart\": {\n \"useMaxWidth\": true,\n \"width\": 700,\n \"height\": 500,\n \"titleFontSize\": 20,\n \"titlePadding\": 10,\n \"showTitle\": true,\n \"xAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"yAxis\": {\n \"$ref\": \"#/$defs/XYChartAxisConfig\",\n \"showLabel\": true,\n \"labelFontSize\": 14,\n \"labelPadding\": 5,\n \"showTitle\": true,\n \"titleFontSize\": 16,\n \"titlePadding\": 5,\n \"showTick\": true,\n \"tickLength\": 5,\n \"tickWidth\": 2,\n \"showAxisLine\": true,\n \"axisLineWidth\": 2\n },\n \"chartOrientation\": \"vertical\",\n \"plotReservedSpacePercent\": 50\n },\n \"requirement\": {\n \"useMaxWidth\": true,\n \"rect_fill\": \"#f9f9f9\",\n \"text_color\": \"#333\",\n \"rect_border_size\": \"0.5px\",\n \"rect_border_color\": \"#bbb\",\n \"rect_min_width\": 200,\n \"rect_min_height\": 200,\n \"fontSize\": 14,\n \"rect_padding\": 10,\n \"line_height\": 20\n },\n \"mindmap\": {\n \"useMaxWidth\": true,\n \"padding\": 10,\n \"maxNodeWidth\": 200\n },\n \"kanban\": {\n \"useMaxWidth\": true,\n \"padding\": 8,\n \"sectionWidth\": 200,\n \"ticketBaseUrl\": \"\"\n },\n \"timeline\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"leftMargin\": 150,\n \"width\": 150,\n \"height\": 50,\n \"boxMargin\": 10,\n \"boxTextMargin\": 5,\n \"noteMargin\": 10,\n \"messageMargin\": 35,\n \"messageAlign\": \"center\",\n \"bottomMarginAdj\": 1,\n \"rightAngles\": false,\n \"taskFontSize\": 14,\n \"taskFontFamily\": '\"Open Sans\", sans-serif',\n \"taskMargin\": 50,\n \"activationWidth\": 10,\n \"textPlacement\": \"fo\",\n \"actorColours\": [\n \"#8FBC8F\",\n \"#7CFC00\",\n \"#00FFFF\",\n \"#20B2AA\",\n \"#B0E0E6\",\n \"#FFFFE0\"\n ],\n \"sectionFills\": [\n \"#191970\",\n \"#8B008B\",\n \"#4B0082\",\n \"#2F4F4F\",\n \"#800000\",\n \"#8B4513\",\n \"#00008B\"\n ],\n \"sectionColours\": [\n \"#fff\"\n ],\n \"disableMulticolor\": false\n },\n \"gitGraph\": {\n \"useMaxWidth\": true,\n \"titleTopMargin\": 25,\n \"diagramPadding\": 8,\n \"nodeLabel\": {\n \"width\": 75,\n \"height\": 100,\n \"x\": -25,\n \"y\": 0\n },\n \"mainBranchName\": \"main\",\n \"mainBranchOrder\": 0,\n \"showCommitLabel\": true,\n \"showBranches\": true,\n \"rotateCommitLabel\": true,\n \"parallelCommits\": false,\n \"arrowMarkerAbsolute\": false\n },\n \"c4\": {\n \"useMaxWidth\": true,\n \"diagramMarginX\": 50,\n \"diagramMarginY\": 10,\n \"c4ShapeMargin\": 50,\n \"c4ShapePadding\": 20,\n \"width\": 216,\n \"height\": 60,\n \"boxMargin\": 10,\n \"c4ShapeInRow\": 4,\n \"nextLinePaddingX\": 0,\n \"c4BoundaryInRow\": 2,\n \"personFontSize\": 14,\n \"personFontFamily\": '\"Open Sans\", sans-serif',\n \"personFontWeight\": \"normal\",\n \"external_personFontSize\": 14,\n \"external_personFontFamily\": '\"Open Sans\", sans-serif',\n \"external_personFontWeight\": \"normal\",\n \"systemFontSize\": 14,\n \"systemFontFamily\": '\"Open Sans\", sans-serif',\n \"systemFontWeight\": \"normal\",\n \"external_systemFontSize\": 14,\n \"external_systemFontFamily\": '\"Open Sans\", sans-serif',\n \"external_systemFontWeight\": \"normal\",\n \"system_dbFontSize\": 14,\n \"system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"system_dbFontWeight\": \"normal\",\n \"external_system_dbFontSize\": 14,\n \"external_system_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_dbFontWeight\": \"normal\",\n \"system_queueFontSize\": 14,\n \"system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"system_queueFontWeight\": \"normal\",\n \"external_system_queueFontSize\": 14,\n \"external_system_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_system_queueFontWeight\": \"normal\",\n \"boundaryFontSize\": 14,\n \"boundaryFontFamily\": '\"Open Sans\", sans-serif',\n \"boundaryFontWeight\": \"normal\",\n \"messageFontSize\": 12,\n \"messageFontFamily\": '\"Open Sans\", sans-serif',\n \"messageFontWeight\": \"normal\",\n \"containerFontSize\": 14,\n \"containerFontFamily\": '\"Open Sans\", sans-serif',\n \"containerFontWeight\": \"normal\",\n \"external_containerFontSize\": 14,\n \"external_containerFontFamily\": '\"Open Sans\", sans-serif',\n \"external_containerFontWeight\": \"normal\",\n \"container_dbFontSize\": 14,\n \"container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"container_dbFontWeight\": \"normal\",\n \"external_container_dbFontSize\": 14,\n \"external_container_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_dbFontWeight\": \"normal\",\n \"container_queueFontSize\": 14,\n \"container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"container_queueFontWeight\": \"normal\",\n \"external_container_queueFontSize\": 14,\n \"external_container_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_container_queueFontWeight\": \"normal\",\n \"componentFontSize\": 14,\n \"componentFontFamily\": '\"Open Sans\", sans-serif',\n \"componentFontWeight\": \"normal\",\n \"external_componentFontSize\": 14,\n \"external_componentFontFamily\": '\"Open Sans\", sans-serif',\n \"external_componentFontWeight\": \"normal\",\n \"component_dbFontSize\": 14,\n \"component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"component_dbFontWeight\": \"normal\",\n \"external_component_dbFontSize\": 14,\n \"external_component_dbFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_dbFontWeight\": \"normal\",\n \"component_queueFontSize\": 14,\n \"component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"component_queueFontWeight\": \"normal\",\n \"external_component_queueFontSize\": 14,\n \"external_component_queueFontFamily\": '\"Open Sans\", sans-serif',\n \"external_component_queueFontWeight\": \"normal\",\n \"wrap\": true,\n \"wrapPadding\": 10,\n \"person_bg_color\": \"#08427B\",\n \"person_border_color\": \"#073B6F\",\n \"external_person_bg_color\": \"#686868\",\n \"external_person_border_color\": \"#8A8A8A\",\n \"system_bg_color\": \"#1168BD\",\n \"system_border_color\": \"#3C7FC0\",\n \"system_db_bg_color\": \"#1168BD\",\n \"system_db_border_color\": \"#3C7FC0\",\n \"system_queue_bg_color\": \"#1168BD\",\n \"system_queue_border_color\": \"#3C7FC0\",\n \"external_system_bg_color\": \"#999999\",\n \"external_system_border_color\": \"#8A8A8A\",\n \"external_system_db_bg_color\": \"#999999\",\n \"external_system_db_border_color\": \"#8A8A8A\",\n \"external_system_queue_bg_color\": \"#999999\",\n \"external_system_queue_border_color\": \"#8A8A8A\",\n \"container_bg_color\": \"#438DD5\",\n \"container_border_color\": \"#3C7FC0\",\n \"container_db_bg_color\": \"#438DD5\",\n \"container_db_border_color\": \"#3C7FC0\",\n \"container_queue_bg_color\": \"#438DD5\",\n \"container_queue_border_color\": \"#3C7FC0\",\n \"external_container_bg_color\": \"#B3B3B3\",\n \"external_container_border_color\": \"#A6A6A6\",\n \"external_container_db_bg_color\": \"#B3B3B3\",\n \"external_container_db_border_color\": \"#A6A6A6\",\n \"external_container_queue_bg_color\": \"#B3B3B3\",\n \"external_container_queue_border_color\": \"#A6A6A6\",\n \"component_bg_color\": \"#85BBF0\",\n \"component_border_color\": \"#78A8D8\",\n \"component_db_bg_color\": \"#85BBF0\",\n \"component_db_border_color\": \"#78A8D8\",\n \"component_queue_bg_color\": \"#85BBF0\",\n \"component_queue_border_color\": \"#78A8D8\",\n \"external_component_bg_color\": \"#CCCCCC\",\n \"external_component_border_color\": \"#BFBFBF\",\n \"external_component_db_bg_color\": \"#CCCCCC\",\n \"external_component_db_border_color\": \"#BFBFBF\",\n \"external_component_queue_bg_color\": \"#CCCCCC\",\n \"external_component_queue_border_color\": \"#BFBFBF\"\n },\n \"sankey\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 400,\n \"linkColor\": \"gradient\",\n \"nodeAlignment\": \"justify\",\n \"showValues\": true,\n \"prefix\": \"\",\n \"suffix\": \"\"\n },\n \"block\": {\n \"useMaxWidth\": true,\n \"padding\": 8\n },\n \"packet\": {\n \"useMaxWidth\": true,\n \"rowHeight\": 32,\n \"bitWidth\": 32,\n \"bitsPerRow\": 32,\n \"showBits\": true,\n \"paddingX\": 5,\n \"paddingY\": 5\n },\n \"architecture\": {\n \"useMaxWidth\": true,\n \"padding\": 40,\n \"iconSize\": 80,\n \"fontSize\": 16\n },\n \"radar\": {\n \"useMaxWidth\": true,\n \"width\": 600,\n \"height\": 600,\n \"marginTop\": 50,\n \"marginRight\": 50,\n \"marginBottom\": 50,\n \"marginLeft\": 50,\n \"axisScaleFactor\": 1,\n \"axisLabelFactor\": 1.05,\n \"curveTension\": 0.17\n },\n \"theme\": \"default\",\n \"look\": \"classic\",\n \"handDrawnSeed\": 0,\n \"layout\": \"dagre\",\n \"maxTextSize\": 5e4,\n \"maxEdges\": 500,\n \"darkMode\": false,\n \"fontFamily\": '\"trebuchet ms\", verdana, arial, sans-serif;',\n \"logLevel\": 5,\n \"securityLevel\": \"strict\",\n \"startOnLoad\": true,\n \"arrowMarkerAbsolute\": false,\n \"secure\": [\n \"secure\",\n \"securityLevel\",\n \"startOnLoad\",\n \"maxTextSize\",\n \"suppressErrorRendering\",\n \"maxEdges\"\n ],\n \"legacyMathML\": false,\n \"forceLegacyMathML\": false,\n \"deterministicIds\": false,\n \"fontSize\": 16,\n \"markdownAutoWrap\": true,\n \"suppressErrorRendering\": false\n};\n\n// src/defaultConfig.ts\nvar config = {\n ...config_schema_default,\n // Set, even though they're `undefined` so that `configKeys` finds these keys\n // TODO: Should we replace these with `null` so that they can go in the JSON Schema?\n deterministicIDSeed: void 0,\n elk: {\n // mergeEdges is needed here to be considered\n mergeEdges: false,\n nodePlacementStrategy: \"BRANDES_KOEPF\"\n },\n themeCSS: void 0,\n // add non-JSON default config values\n themeVariables: themes_default.default.getThemeVariables(),\n sequence: {\n ...config_schema_default.sequence,\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\"),\n noteFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.noteFontFamily,\n fontSize: this.noteFontSize,\n fontWeight: this.noteFontWeight\n };\n }, \"noteFont\"),\n actorFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.actorFontFamily,\n fontSize: this.actorFontSize,\n fontWeight: this.actorFontWeight\n };\n }, \"actorFont\")\n },\n class: {\n hideEmptyMembersBox: false\n },\n gantt: {\n ...config_schema_default.gantt,\n tickInterval: void 0,\n useWidth: void 0\n // can probably be removed since `configKeys` already includes this\n },\n c4: {\n ...config_schema_default.c4,\n useWidth: void 0,\n personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.personFontFamily,\n fontSize: this.personFontSize,\n fontWeight: this.personFontWeight\n };\n }, \"personFont\"),\n external_personFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_personFontFamily,\n fontSize: this.external_personFontSize,\n fontWeight: this.external_personFontWeight\n };\n }, \"external_personFont\"),\n systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.systemFontFamily,\n fontSize: this.systemFontSize,\n fontWeight: this.systemFontWeight\n };\n }, \"systemFont\"),\n external_systemFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_systemFontFamily,\n fontSize: this.external_systemFontSize,\n fontWeight: this.external_systemFontWeight\n };\n }, \"external_systemFont\"),\n system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_dbFontFamily,\n fontSize: this.system_dbFontSize,\n fontWeight: this.system_dbFontWeight\n };\n }, \"system_dbFont\"),\n external_system_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_dbFontFamily,\n fontSize: this.external_system_dbFontSize,\n fontWeight: this.external_system_dbFontWeight\n };\n }, \"external_system_dbFont\"),\n system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.system_queueFontFamily,\n fontSize: this.system_queueFontSize,\n fontWeight: this.system_queueFontWeight\n };\n }, \"system_queueFont\"),\n external_system_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_system_queueFontFamily,\n fontSize: this.external_system_queueFontSize,\n fontWeight: this.external_system_queueFontWeight\n };\n }, \"external_system_queueFont\"),\n containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.containerFontFamily,\n fontSize: this.containerFontSize,\n fontWeight: this.containerFontWeight\n };\n }, \"containerFont\"),\n external_containerFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_containerFontFamily,\n fontSize: this.external_containerFontSize,\n fontWeight: this.external_containerFontWeight\n };\n }, \"external_containerFont\"),\n container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_dbFontFamily,\n fontSize: this.container_dbFontSize,\n fontWeight: this.container_dbFontWeight\n };\n }, \"container_dbFont\"),\n external_container_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_dbFontFamily,\n fontSize: this.external_container_dbFontSize,\n fontWeight: this.external_container_dbFontWeight\n };\n }, \"external_container_dbFont\"),\n container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.container_queueFontFamily,\n fontSize: this.container_queueFontSize,\n fontWeight: this.container_queueFontWeight\n };\n }, \"container_queueFont\"),\n external_container_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_container_queueFontFamily,\n fontSize: this.external_container_queueFontSize,\n fontWeight: this.external_container_queueFontWeight\n };\n }, \"external_container_queueFont\"),\n componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.componentFontFamily,\n fontSize: this.componentFontSize,\n fontWeight: this.componentFontWeight\n };\n }, \"componentFont\"),\n external_componentFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_componentFontFamily,\n fontSize: this.external_componentFontSize,\n fontWeight: this.external_componentFontWeight\n };\n }, \"external_componentFont\"),\n component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_dbFontFamily,\n fontSize: this.component_dbFontSize,\n fontWeight: this.component_dbFontWeight\n };\n }, \"component_dbFont\"),\n external_component_dbFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_dbFontFamily,\n fontSize: this.external_component_dbFontSize,\n fontWeight: this.external_component_dbFontWeight\n };\n }, \"external_component_dbFont\"),\n component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.component_queueFontFamily,\n fontSize: this.component_queueFontSize,\n fontWeight: this.component_queueFontWeight\n };\n }, \"component_queueFont\"),\n external_component_queueFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.external_component_queueFontFamily,\n fontSize: this.external_component_queueFontSize,\n fontWeight: this.external_component_queueFontWeight\n };\n }, \"external_component_queueFont\"),\n boundaryFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.boundaryFontFamily,\n fontSize: this.boundaryFontSize,\n fontWeight: this.boundaryFontWeight\n };\n }, \"boundaryFont\"),\n messageFont: /* @__PURE__ */ __name(function() {\n return {\n fontFamily: this.messageFontFamily,\n fontSize: this.messageFontSize,\n fontWeight: this.messageFontWeight\n };\n }, \"messageFont\")\n },\n pie: {\n ...config_schema_default.pie,\n useWidth: 984\n },\n xyChart: {\n ...config_schema_default.xyChart,\n useWidth: void 0\n },\n requirement: {\n ...config_schema_default.requirement,\n useWidth: void 0\n },\n packet: {\n ...config_schema_default.packet\n },\n radar: {\n ...config_schema_default.radar\n }\n};\nvar keyify = /* @__PURE__ */ __name((obj, prefix = \"\") => Object.keys(obj).reduce((res, el) => {\n if (Array.isArray(obj[el])) {\n return res;\n } else if (typeof obj[el] === \"object\" && obj[el] !== null) {\n return [...res, prefix + el, ...keyify(obj[el], \"\")];\n }\n return [...res, prefix + el];\n}, []), \"keyify\");\nvar configKeys = new Set(keyify(config, \"\"));\nvar defaultConfig_default = config;\n\n// src/utils/sanitizeDirective.ts\nvar sanitizeDirective = /* @__PURE__ */ __name((args) => {\n log.debug(\"sanitizeDirective called with\", args);\n if (typeof args !== \"object\" || args == null) {\n return;\n }\n if (Array.isArray(args)) {\n args.forEach((arg) => sanitizeDirective(arg));\n return;\n }\n for (const key of Object.keys(args)) {\n log.debug(\"Checking key\", key);\n if (key.startsWith(\"__\") || key.includes(\"proto\") || key.includes(\"constr\") || !configKeys.has(key) || args[key] == null) {\n log.debug(\"sanitize deleting key: \", key);\n delete args[key];\n continue;\n }\n if (typeof args[key] === \"object\") {\n log.debug(\"sanitizing object\", key);\n sanitizeDirective(args[key]);\n continue;\n }\n const cssMatchers = [\"themeCSS\", \"fontFamily\", \"altFontFamily\"];\n for (const cssKey of cssMatchers) {\n if (key.includes(cssKey)) {\n log.debug(\"sanitizing css option\", key);\n args[key] = sanitizeCss(args[key]);\n }\n }\n }\n if (args.themeVariables) {\n for (const k of Object.keys(args.themeVariables)) {\n const val = args.themeVariables[k];\n if (val?.match && !val.match(/^[\\d \"#%(),.;A-Za-z]+$/)) {\n args.themeVariables[k] = \"\";\n }\n }\n }\n log.debug(\"After sanitization\", args);\n}, \"sanitizeDirective\");\nvar sanitizeCss = /* @__PURE__ */ __name((str) => {\n let startCnt = 0;\n let endCnt = 0;\n for (const element of str) {\n if (startCnt < endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n if (element === \"{\") {\n startCnt++;\n } else if (element === \"}\") {\n endCnt++;\n }\n }\n if (startCnt !== endCnt) {\n return \"{ /* ERROR: Unbalanced CSS */ }\";\n }\n return str;\n}, \"sanitizeCss\");\n\n// src/config.ts\nvar defaultConfig = Object.freeze(defaultConfig_default);\nvar siteConfig = assignWithDepth_default({}, defaultConfig);\nvar configFromInitialize;\nvar directives = [];\nvar currentConfig = assignWithDepth_default({}, defaultConfig);\nvar updateCurrentConfig = /* @__PURE__ */ __name((siteCfg, _directives) => {\n let cfg = assignWithDepth_default({}, siteCfg);\n let sumOfDirectives = {};\n for (const d of _directives) {\n sanitize(d);\n sumOfDirectives = assignWithDepth_default(sumOfDirectives, d);\n }\n cfg = assignWithDepth_default(cfg, sumOfDirectives);\n if (sumOfDirectives.theme && sumOfDirectives.theme in themes_default) {\n const tmpConfigFromInitialize = assignWithDepth_default({}, configFromInitialize);\n const themeVariables = assignWithDepth_default(\n tmpConfigFromInitialize.themeVariables || {},\n sumOfDirectives.themeVariables\n );\n if (cfg.theme && cfg.theme in themes_default) {\n cfg.themeVariables = themes_default[cfg.theme].getThemeVariables(themeVariables);\n }\n }\n currentConfig = cfg;\n checkConfig(currentConfig);\n return currentConfig;\n}, \"updateCurrentConfig\");\nvar setSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default({}, defaultConfig);\n siteConfig = assignWithDepth_default(siteConfig, conf);\n if (conf.theme && themes_default[conf.theme]) {\n siteConfig.themeVariables = themes_default[conf.theme].getThemeVariables(conf.themeVariables);\n }\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"setSiteConfig\");\nvar saveConfigFromInitialize = /* @__PURE__ */ __name((conf) => {\n configFromInitialize = assignWithDepth_default({}, conf);\n}, \"saveConfigFromInitialize\");\nvar updateSiteConfig = /* @__PURE__ */ __name((conf) => {\n siteConfig = assignWithDepth_default(siteConfig, conf);\n updateCurrentConfig(siteConfig, directives);\n return siteConfig;\n}, \"updateSiteConfig\");\nvar getSiteConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, siteConfig);\n}, \"getSiteConfig\");\nvar setConfig = /* @__PURE__ */ __name((conf) => {\n checkConfig(conf);\n assignWithDepth_default(currentConfig, conf);\n return getConfig();\n}, \"setConfig\");\nvar getConfig = /* @__PURE__ */ __name(() => {\n return assignWithDepth_default({}, currentConfig);\n}, \"getConfig\");\nvar sanitize = /* @__PURE__ */ __name((options) => {\n if (!options) {\n return;\n }\n [\"secure\", ...siteConfig.secure ?? []].forEach((key) => {\n if (Object.hasOwn(options, key)) {\n log.debug(`Denied attempt to modify a secure key ${key}`, options[key]);\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (key.startsWith(\"__\")) {\n delete options[key];\n }\n });\n Object.keys(options).forEach((key) => {\n if (typeof options[key] === \"string\" && (options[key].includes(\"<\") || options[key].includes(\">\") || options[key].includes(\"url(data:\"))) {\n delete options[key];\n }\n if (typeof options[key] === \"object\") {\n sanitize(options[key]);\n }\n });\n}, \"sanitize\");\nvar addDirective = /* @__PURE__ */ __name((directive) => {\n sanitizeDirective(directive);\n if (directive.fontFamily && !directive.themeVariables?.fontFamily) {\n directive.themeVariables = {\n ...directive.themeVariables,\n fontFamily: directive.fontFamily\n };\n }\n directives.push(directive);\n updateCurrentConfig(siteConfig, directives);\n}, \"addDirective\");\nvar reset = /* @__PURE__ */ __name((config2 = siteConfig) => {\n directives = [];\n updateCurrentConfig(config2, directives);\n}, \"reset\");\nvar ConfigWarning = {\n LAZY_LOAD_DEPRECATED: \"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.\"\n};\nvar issuedWarnings = {};\nvar issueWarning = /* @__PURE__ */ __name((warning) => {\n if (issuedWarnings[warning]) {\n return;\n }\n log.warn(ConfigWarning[warning]);\n issuedWarnings[warning] = true;\n}, \"issueWarning\");\nvar checkConfig = /* @__PURE__ */ __name((config2) => {\n if (!config2) {\n return;\n }\n if (config2.lazyLoadedDiagrams || config2.loadExternalDiagramsAtStartup) {\n issueWarning(\"LAZY_LOAD_DEPRECATED\");\n }\n}, \"checkConfig\");\n\n// src/diagrams/common/common.ts\nimport DOMPurify from \"dompurify\";\nvar lineBreakRegex = /<br\\s*\\/?>/gi;\nvar getRows = /* @__PURE__ */ __name((s) => {\n if (!s) {\n return [\"\"];\n }\n const str = breakToPlaceholder(s).replace(/\\\\n/g, \"#br#\");\n return str.split(\"#br#\");\n}, \"getRows\");\nvar setupDompurifyHooksIfNotSetup = /* @__PURE__ */ (() => {\n let setup = false;\n return () => {\n if (!setup) {\n setupDompurifyHooks();\n setup = true;\n }\n };\n})();\nfunction setupDompurifyHooks() {\n const TEMPORARY_ATTRIBUTE = \"data-temp-href-target\";\n DOMPurify.addHook(\"beforeSanitizeAttributes\", (node) => {\n if (node instanceof Element && node.tagName === \"A\" && node.hasAttribute(\"target\")) {\n node.setAttribute(TEMPORARY_ATTRIBUTE, node.getAttribute(\"target\") ?? \"\");\n }\n });\n DOMPurify.addHook(\"afterSanitizeAttributes\", (node) => {\n if (node instanceof Element && node.tagName === \"A\" && node.hasAttribute(TEMPORARY_ATTRIBUTE)) {\n node.setAttribute(\"target\", node.getAttribute(TEMPORARY_ATTRIBUTE) ?? \"\");\n node.removeAttribute(TEMPORARY_ATTRIBUTE);\n if (node.getAttribute(\"target\") === \"_blank\") {\n node.setAttribute(\"rel\", \"noopener\");\n }\n }\n });\n}\n__name(setupDompurifyHooks, \"setupDompurifyHooks\");\nvar removeScript = /* @__PURE__ */ __name((txt) => {\n setupDompurifyHooksIfNotSetup();\n const sanitizedText = DOMPurify.sanitize(txt);\n return sanitizedText;\n}, \"removeScript\");\nvar sanitizeMore = /* @__PURE__ */ __name((text, config2) => {\n if (config2.flowchart?.htmlLabels !== false) {\n const level = config2.securityLevel;\n if (level === \"antiscript\" || level === \"strict\") {\n text = removeScript(text);\n } else if (level !== \"loose\") {\n text = breakToPlaceholder(text);\n text = text.replace(/</g, \"<\").replace(/>/g, \">\");\n text = text.replace(/=/g, \"=\");\n text = placeholderToBreak(text);\n }\n }\n return text;\n}, \"sanitizeMore\");\nvar sanitizeText = /* @__PURE__ */ __name((text, config2) => {\n if (!text) {\n return text;\n }\n if (config2.dompurifyConfig) {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), config2.dompurifyConfig).toString();\n } else {\n text = DOMPurify.sanitize(sanitizeMore(text, config2), {\n FORBID_TAGS: [\"style\"]\n }).toString();\n }\n return text;\n}, \"sanitizeText\");\nvar sanitizeTextOrArray = /* @__PURE__ */ __name((a, config2) => {\n if (typeof a === \"string\") {\n return sanitizeText(a, config2);\n }\n return a.flat().map((x) => sanitizeText(x, config2));\n}, \"sanitizeTextOrArray\");\nvar hasBreaks = /* @__PURE__ */ __name((text) => {\n return lineBreakRegex.test(text);\n}, \"hasBreaks\");\nvar splitBreaks = /* @__PURE__ */ __name((text) => {\n return text.split(lineBreakRegex);\n}, \"splitBreaks\");\nvar placeholderToBreak = /* @__PURE__ */ __name((s) => {\n return s.replace(/#br#/g, \"<br/>\");\n}, \"placeholderToBreak\");\nvar breakToPlaceholder = /* @__PURE__ */ __name((s) => {\n return s.replace(lineBreakRegex, \"#br#\");\n}, \"breakToPlaceholder\");\nvar getUrl = /* @__PURE__ */ __name((useAbsolute) => {\n let url = \"\";\n if (useAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replaceAll(/\\(/g, \"\\\\(\");\n url = url.replaceAll(/\\)/g, \"\\\\)\");\n }\n return url;\n}, \"getUrl\");\nvar evaluate = /* @__PURE__ */ __name((val) => val === false || [\"false\", \"null\", \"0\"].includes(String(val).trim().toLowerCase()) ? false : true, \"evaluate\");\nvar getMax = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.max(...newValues);\n}, \"getMax\");\nvar getMin = /* @__PURE__ */ __name(function(...values) {\n const newValues = values.filter((value) => {\n return !isNaN(value);\n });\n return Math.min(...newValues);\n}, \"getMin\");\nvar parseGenericTypes = /* @__PURE__ */ __name(function(input) {\n const inputSets = input.split(/(,)/);\n const output = [];\n for (let i = 0; i < inputSets.length; i++) {\n let thisSet = inputSets[i];\n if (thisSet === \",\" && i > 0 && i + 1 < inputSets.length) {\n const previousSet = inputSets[i - 1];\n const nextSet = inputSets[i + 1];\n if (shouldCombineSets(previousSet, nextSet)) {\n thisSet = previousSet + \",\" + nextSet;\n i++;\n output.pop();\n }\n }\n output.push(processSet(thisSet));\n }\n return output.join(\"\");\n}, \"parseGenericTypes\");\nvar countOccurrence = /* @__PURE__ */ __name((string, substring) => {\n return Math.max(0, string.split(substring).length - 1);\n}, \"countOccurrence\");\nvar shouldCombineSets = /* @__PURE__ */ __name((previousSet, nextSet) => {\n const prevCount = countOccurrence(previousSet, \"~\");\n const nextCount = countOccurrence(nextSet, \"~\");\n return prevCount === 1 && nextCount === 1;\n}, \"shouldCombineSets\");\nvar processSet = /* @__PURE__ */ __name((input) => {\n const tildeCount = countOccurrence(input, \"~\");\n let hasStartingTilde = false;\n if (tildeCount <= 1) {\n return input;\n }\n if (tildeCount % 2 !== 0 && input.startsWith(\"~\")) {\n input = input.substring(1);\n hasStartingTilde = true;\n }\n const chars = [...input];\n let first = chars.indexOf(\"~\");\n let last = chars.lastIndexOf(\"~\");\n while (first !== -1 && last !== -1 && first !== last) {\n chars[first] = \"<\";\n chars[last] = \">\";\n first = chars.indexOf(\"~\");\n last = chars.lastIndexOf(\"~\");\n }\n if (hasStartingTilde) {\n chars.unshift(\"~\");\n }\n return chars.join(\"\");\n}, \"processSet\");\nvar isMathMLSupported = /* @__PURE__ */ __name(() => window.MathMLElement !== void 0, \"isMathMLSupported\");\nvar katexRegex = /\\$\\$(.*)\\$\\$/g;\nvar hasKatex = /* @__PURE__ */ __name((text) => (text.match(katexRegex)?.length ?? 0) > 0, \"hasKatex\");\nvar calculateMathMLDimensions = /* @__PURE__ */ __name(async (text, config2) => {\n text = await renderKatex(text, config2);\n const divElem = document.createElement(\"div\");\n divElem.innerHTML = text;\n divElem.id = \"katex-temp\";\n divElem.style.visibility = \"hidden\";\n divElem.style.position = \"absolute\";\n divElem.style.top = \"0\";\n const body = document.querySelector(\"body\");\n body?.insertAdjacentElement(\"beforeend\", divElem);\n const dim = { width: divElem.clientWidth, height: divElem.clientHeight };\n divElem.remove();\n return dim;\n}, \"calculateMathMLDimensions\");\nvar renderKatex = /* @__PURE__ */ __name(async (text, config2) => {\n if (!hasKatex(text)) {\n return text;\n }\n if (!(isMathMLSupported() || config2.legacyMathML || config2.forceLegacyMathML)) {\n return text.replace(katexRegex, \"MathML is unsupported in this environment.\");\n }\n const { default: katex } = await import(\"katex\");\n const outputMode = config2.forceLegacyMathML || !isMathMLSupported() && config2.legacyMathML ? \"htmlAndMathml\" : \"mathml\";\n return text.split(lineBreakRegex).map(\n (line) => hasKatex(line) ? `<div style=\"display: flex; align-items: center; justify-content: center; white-space: nowrap;\">${line}</div>` : `<div>${line}</div>`\n ).join(\"\").replace(\n katexRegex,\n (_, c) => katex.renderToString(c, {\n throwOnError: true,\n displayMode: true,\n output: outputMode\n }).replace(/\\n/g, \" \").replace(/<annotation.*<\\/annotation>/g, \"\")\n );\n}, \"renderKatex\");\nvar common_default = {\n getRows,\n sanitizeText,\n sanitizeTextOrArray,\n hasBreaks,\n splitBreaks,\n lineBreakRegex,\n removeScript,\n getUrl,\n evaluate,\n getMax,\n getMin\n};\n\n// src/setupGraphViewbox.js\nvar d3Attrs = /* @__PURE__ */ __name(function(d3Elem, attrs) {\n for (let attr of attrs) {\n d3Elem.attr(attr[0], attr[1]);\n }\n}, \"d3Attrs\");\nvar calculateSvgSizeAttrs = /* @__PURE__ */ __name(function(height, width, useMaxWidth) {\n let attrs = /* @__PURE__ */ new Map();\n if (useMaxWidth) {\n attrs.set(\"width\", \"100%\");\n attrs.set(\"style\", `max-width: ${width}px;`);\n } else {\n attrs.set(\"height\", height);\n attrs.set(\"width\", width);\n }\n return attrs;\n}, \"calculateSvgSizeAttrs\");\nvar configureSvgSize = /* @__PURE__ */ __name(function(svgElem, height, width, useMaxWidth) {\n const attrs = calculateSvgSizeAttrs(height, width, useMaxWidth);\n d3Attrs(svgElem, attrs);\n}, \"configureSvgSize\");\nvar setupGraphViewbox = /* @__PURE__ */ __name(function(graph, svgElem, padding, useMaxWidth) {\n const svgBounds = svgElem.node().getBBox();\n const sWidth = svgBounds.width;\n const sHeight = svgBounds.height;\n log.info(`SVG bounds: ${sWidth}x${sHeight}`, svgBounds);\n let width = 0;\n let height = 0;\n log.info(`Graph bounds: ${width}x${height}`, graph);\n width = sWidth + padding * 2;\n height = sHeight + padding * 2;\n log.info(`Calculated bounds: ${width}x${height}`);\n configureSvgSize(svgElem, height, width, useMaxWidth);\n const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${svgBounds.width + 2 * padding} ${svgBounds.height + 2 * padding}`;\n svgElem.attr(\"viewBox\", vBox);\n}, \"setupGraphViewbox\");\n\n// src/styles.ts\nvar themes = {};\nvar getStyles = /* @__PURE__ */ __name((type, userStyles, options) => {\n let diagramStyles = \"\";\n if (type in themes && themes[type]) {\n diagramStyles = themes[type](options);\n } else {\n log.warn(`No theme found for ${type}`);\n }\n return ` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${options.errorBkgColor};\n }\n & .error-text {\n fill: ${options.errorTextColor};\n stroke: ${options.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 1px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n }\n & .marker.cross {\n stroke: ${options.lineColor};\n }\n\n & svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${diagramStyles}\n\n ${userStyles}\n`;\n}, \"getStyles\");\nvar addStylesForDiagram = /* @__PURE__ */ __name((type, diagramTheme) => {\n if (diagramTheme !== void 0) {\n themes[type] = diagramTheme;\n }\n}, \"addStylesForDiagram\");\nvar styles_default = getStyles;\n\n// src/diagrams/common/commonDb.ts\nvar commonDb_exports = {};\n__export(commonDb_exports, {\n clear: () => clear,\n getAccDescription: () => getAccDescription,\n getAccTitle: () => getAccTitle,\n getDiagramTitle: () => getDiagramTitle,\n setAccDescription: () => setAccDescription,\n setAccTitle: () => setAccTitle,\n setDiagramTitle: () => setDiagramTitle\n});\nvar accTitle = \"\";\nvar diagramTitle = \"\";\nvar accDescription = \"\";\nvar sanitizeText2 = /* @__PURE__ */ __name((txt) => sanitizeText(txt, getConfig()), \"sanitizeText\");\nvar clear = /* @__PURE__ */ __name(() => {\n accTitle = \"\";\n accDescription = \"\";\n diagramTitle = \"\";\n}, \"clear\");\nvar setAccTitle = /* @__PURE__ */ __name((txt) => {\n accTitle = sanitizeText2(txt).replace(/^\\s+/g, \"\");\n}, \"setAccTitle\");\nvar getAccTitle = /* @__PURE__ */ __name(() => accTitle, \"getAccTitle\");\nvar setAccDescription = /* @__PURE__ */ __name((txt) => {\n accDescription = sanitizeText2(txt).replace(/\\n\\s+/g, \"\\n\");\n}, \"setAccDescription\");\nvar getAccDescription = /* @__PURE__ */ __name(() => accDescription, \"getAccDescription\");\nvar setDiagramTitle = /* @__PURE__ */ __name((txt) => {\n diagramTitle = sanitizeText2(txt);\n}, \"setDiagramTitle\");\nvar getDiagramTitle = /* @__PURE__ */ __name(() => diagramTitle, \"getDiagramTitle\");\n\n// src/diagram-api/diagramAPI.ts\nvar log2 = log;\nvar setLogLevel2 = setLogLevel;\nvar getConfig2 = getConfig;\nvar setConfig2 = setConfig;\nvar defaultConfig2 = defaultConfig;\nvar sanitizeText3 = /* @__PURE__ */ __name((text) => sanitizeText(text, getConfig2()), \"sanitizeText\");\nvar setupGraphViewbox2 = setupGraphViewbox;\nvar getCommonDb = /* @__PURE__ */ __name(() => {\n return commonDb_exports;\n}, \"getCommonDb\");\nvar diagrams = {};\nvar registerDiagram = /* @__PURE__ */ __name((id, diagram, detector) => {\n if (diagrams[id]) {\n log2.warn(`Diagram with id ${id} already registered. Overwriting.`);\n }\n diagrams[id] = diagram;\n if (detector) {\n addDetector(id, detector);\n }\n addStylesForDiagram(id, diagram.styles);\n diagram.injectUtils?.(\n log2,\n setLogLevel2,\n getConfig2,\n sanitizeText3,\n setupGraphViewbox2,\n getCommonDb(),\n () => {\n }\n );\n}, \"registerDiagram\");\nvar getDiagram = /* @__PURE__ */ __name((name) => {\n if (name in diagrams) {\n return diagrams[name];\n }\n throw new DiagramNotFoundError(name);\n}, \"getDiagram\");\nvar DiagramNotFoundError = class extends Error {\n static {\n __name(this, \"DiagramNotFoundError\");\n }\n constructor(name) {\n super(`Diagram ${name} not found.`);\n }\n};\n\nexport {\n __name,\n __export,\n log,\n setLogLevel,\n frontMatterRegex,\n directiveRegex,\n UnknownDiagramError,\n detectors,\n detectType,\n registerLazyLoadedDiagrams,\n getDiagramLoader,\n assignWithDepth_default,\n getThemeVariables3 as getThemeVariables,\n themes_default,\n defaultConfig_default,\n sanitizeDirective,\n defaultConfig,\n setSiteConfig,\n saveConfigFromInitialize,\n updateSiteConfig,\n getSiteConfig,\n setConfig,\n getConfig,\n addDirective,\n reset,\n lineBreakRegex,\n sanitizeText,\n evaluate,\n parseGenericTypes,\n hasKatex,\n calculateMathMLDimensions,\n renderKatex,\n common_default,\n configureSvgSize,\n setupGraphViewbox,\n styles_default,\n clear,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n setDiagramTitle,\n getDiagramTitle,\n commonDb_exports,\n getConfig2,\n setConfig2,\n defaultConfig2,\n sanitizeText3 as sanitizeText2,\n setupGraphViewbox2,\n registerDiagram,\n getDiagram\n};\n", + "import {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// ../../node_modules/.pnpm/js-yaml@4.1.0/node_modules/js-yaml/dist/js-yaml.mjs\nfunction isNothing(subject) {\n return typeof subject === \"undefined\" || subject === null;\n}\n__name(isNothing, \"isNothing\");\nfunction isObject(subject) {\n return typeof subject === \"object\" && subject !== null;\n}\n__name(isObject, \"isObject\");\nfunction toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;\n else if (isNothing(sequence)) return [];\n return [sequence];\n}\n__name(toArray, \"toArray\");\nfunction extend(target, source) {\n var index, length, key, sourceKeys;\n if (source) {\n sourceKeys = Object.keys(source);\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n return target;\n}\n__name(extend, \"extend\");\nfunction repeat(string, count) {\n var result = \"\", cycle;\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n return result;\n}\n__name(repeat, \"repeat\");\nfunction isNegativeZero(number) {\n return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;\n}\n__name(isNegativeZero, \"isNegativeZero\");\nvar isNothing_1 = isNothing;\nvar isObject_1 = isObject;\nvar toArray_1 = toArray;\nvar repeat_1 = repeat;\nvar isNegativeZero_1 = isNegativeZero;\nvar extend_1 = extend;\nvar common = {\n isNothing: isNothing_1,\n isObject: isObject_1,\n toArray: toArray_1,\n repeat: repeat_1,\n isNegativeZero: isNegativeZero_1,\n extend: extend_1\n};\nfunction formatError(exception2, compact) {\n var where = \"\", message = exception2.reason || \"(unknown reason)\";\n if (!exception2.mark) return message;\n if (exception2.mark.name) {\n where += 'in \"' + exception2.mark.name + '\" ';\n }\n where += \"(\" + (exception2.mark.line + 1) + \":\" + (exception2.mark.column + 1) + \")\";\n if (!compact && exception2.mark.snippet) {\n where += \"\\n\\n\" + exception2.mark.snippet;\n }\n return message + \" \" + where;\n}\n__name(formatError, \"formatError\");\nfunction YAMLException$1(reason, mark) {\n Error.call(this);\n this.name = \"YAMLException\";\n this.reason = reason;\n this.mark = mark;\n this.message = formatError(this, false);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error().stack || \"\";\n }\n}\n__name(YAMLException$1, \"YAMLException$1\");\nYAMLException$1.prototype = Object.create(Error.prototype);\nYAMLException$1.prototype.constructor = YAMLException$1;\nYAMLException$1.prototype.toString = /* @__PURE__ */ __name(function toString(compact) {\n return this.name + \": \" + formatError(this, compact);\n}, \"toString\");\nvar exception = YAMLException$1;\nfunction getLine(buffer, lineStart, lineEnd, position, maxLineLength) {\n var head = \"\";\n var tail = \"\";\n var maxHalfLength = Math.floor(maxLineLength / 2) - 1;\n if (position - lineStart > maxHalfLength) {\n head = \" ... \";\n lineStart = position - maxHalfLength + head.length;\n }\n if (lineEnd - position > maxHalfLength) {\n tail = \" ...\";\n lineEnd = position + maxHalfLength - tail.length;\n }\n return {\n str: head + buffer.slice(lineStart, lineEnd).replace(/\\t/g, \"\\u2192\") + tail,\n pos: position - lineStart + head.length\n // relative position\n };\n}\n__name(getLine, \"getLine\");\nfunction padStart(string, max) {\n return common.repeat(\" \", max - string.length) + string;\n}\n__name(padStart, \"padStart\");\nfunction makeSnippet(mark, options) {\n options = Object.create(options || null);\n if (!mark.buffer) return null;\n if (!options.maxLength) options.maxLength = 79;\n if (typeof options.indent !== \"number\") options.indent = 1;\n if (typeof options.linesBefore !== \"number\") options.linesBefore = 3;\n if (typeof options.linesAfter !== \"number\") options.linesAfter = 2;\n var re = /\\r?\\n|\\r|\\0/g;\n var lineStarts = [0];\n var lineEnds = [];\n var match;\n var foundLineNo = -1;\n while (match = re.exec(mark.buffer)) {\n lineEnds.push(match.index);\n lineStarts.push(match.index + match[0].length);\n if (mark.position <= match.index && foundLineNo < 0) {\n foundLineNo = lineStarts.length - 2;\n }\n }\n if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;\n var result = \"\", i, line;\n var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;\n var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);\n for (i = 1; i <= options.linesBefore; i++) {\n if (foundLineNo - i < 0) break;\n line = getLine(\n mark.buffer,\n lineStarts[foundLineNo - i],\n lineEnds[foundLineNo - i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]),\n maxLineLength\n );\n result = common.repeat(\" \", options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + \" | \" + line.str + \"\\n\" + result;\n }\n line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);\n result += common.repeat(\" \", options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + \" | \" + line.str + \"\\n\";\n result += common.repeat(\"-\", options.indent + lineNoLength + 3 + line.pos) + \"^\\n\";\n for (i = 1; i <= options.linesAfter; i++) {\n if (foundLineNo + i >= lineEnds.length) break;\n line = getLine(\n mark.buffer,\n lineStarts[foundLineNo + i],\n lineEnds[foundLineNo + i],\n mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]),\n maxLineLength\n );\n result += common.repeat(\" \", options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + \" | \" + line.str + \"\\n\";\n }\n return result.replace(/\\n$/, \"\");\n}\n__name(makeSnippet, \"makeSnippet\");\nvar snippet = makeSnippet;\nvar TYPE_CONSTRUCTOR_OPTIONS = [\n \"kind\",\n \"multi\",\n \"resolve\",\n \"construct\",\n \"instanceOf\",\n \"predicate\",\n \"represent\",\n \"representName\",\n \"defaultStyle\",\n \"styleAliases\"\n];\nvar YAML_NODE_KINDS = [\n \"scalar\",\n \"sequence\",\n \"mapping\"\n];\nfunction compileStyleAliases(map2) {\n var result = {};\n if (map2 !== null) {\n Object.keys(map2).forEach(function(style) {\n map2[style].forEach(function(alias) {\n result[String(alias)] = style;\n });\n });\n }\n return result;\n}\n__name(compileStyleAliases, \"compileStyleAliases\");\nfunction Type$1(tag, options) {\n options = options || {};\n Object.keys(options).forEach(function(name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new exception('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n this.options = options;\n this.tag = tag;\n this.kind = options[\"kind\"] || null;\n this.resolve = options[\"resolve\"] || function() {\n return true;\n };\n this.construct = options[\"construct\"] || function(data) {\n return data;\n };\n this.instanceOf = options[\"instanceOf\"] || null;\n this.predicate = options[\"predicate\"] || null;\n this.represent = options[\"represent\"] || null;\n this.representName = options[\"representName\"] || null;\n this.defaultStyle = options[\"defaultStyle\"] || null;\n this.multi = options[\"multi\"] || false;\n this.styleAliases = compileStyleAliases(options[\"styleAliases\"] || null);\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new exception('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n}\n__name(Type$1, \"Type$1\");\nvar type = Type$1;\nfunction compileList(schema2, name) {\n var result = [];\n schema2[name].forEach(function(currentType) {\n var newIndex = result.length;\n result.forEach(function(previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {\n newIndex = previousIndex;\n }\n });\n result[newIndex] = currentType;\n });\n return result;\n}\n__name(compileList, \"compileList\");\nfunction compileMap() {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {},\n multi: {\n scalar: [],\n sequence: [],\n mapping: [],\n fallback: []\n }\n }, index, length;\n function collectType(type2) {\n if (type2.multi) {\n result.multi[type2.kind].push(type2);\n result.multi[\"fallback\"].push(type2);\n } else {\n result[type2.kind][type2.tag] = result[\"fallback\"][type2.tag] = type2;\n }\n }\n __name(collectType, \"collectType\");\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n}\n__name(compileMap, \"compileMap\");\nfunction Schema$1(definition) {\n return this.extend(definition);\n}\n__name(Schema$1, \"Schema$1\");\nSchema$1.prototype.extend = /* @__PURE__ */ __name(function extend2(definition) {\n var implicit = [];\n var explicit = [];\n if (definition instanceof type) {\n explicit.push(definition);\n } else if (Array.isArray(definition)) {\n explicit = explicit.concat(definition);\n } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {\n if (definition.implicit) implicit = implicit.concat(definition.implicit);\n if (definition.explicit) explicit = explicit.concat(definition.explicit);\n } else {\n throw new exception(\"Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })\");\n }\n implicit.forEach(function(type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");\n }\n if (type$1.loadKind && type$1.loadKind !== \"scalar\") {\n throw new exception(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\");\n }\n if (type$1.multi) {\n throw new exception(\"There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.\");\n }\n });\n explicit.forEach(function(type$1) {\n if (!(type$1 instanceof type)) {\n throw new exception(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");\n }\n });\n var result = Object.create(Schema$1.prototype);\n result.implicit = (this.implicit || []).concat(implicit);\n result.explicit = (this.explicit || []).concat(explicit);\n result.compiledImplicit = compileList(result, \"implicit\");\n result.compiledExplicit = compileList(result, \"explicit\");\n result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit);\n return result;\n}, \"extend\");\nvar schema = Schema$1;\nvar str = new type(\"tag:yaml.org,2002:str\", {\n kind: \"scalar\",\n construct: /* @__PURE__ */ __name(function(data) {\n return data !== null ? data : \"\";\n }, \"construct\")\n});\nvar seq = new type(\"tag:yaml.org,2002:seq\", {\n kind: \"sequence\",\n construct: /* @__PURE__ */ __name(function(data) {\n return data !== null ? data : [];\n }, \"construct\")\n});\nvar map = new type(\"tag:yaml.org,2002:map\", {\n kind: \"mapping\",\n construct: /* @__PURE__ */ __name(function(data) {\n return data !== null ? data : {};\n }, \"construct\")\n});\nvar failsafe = new schema({\n explicit: [\n str,\n seq,\n map\n ]\n});\nfunction resolveYamlNull(data) {\n if (data === null) return true;\n var max = data.length;\n return max === 1 && data === \"~\" || max === 4 && (data === \"null\" || data === \"Null\" || data === \"NULL\");\n}\n__name(resolveYamlNull, \"resolveYamlNull\");\nfunction constructYamlNull() {\n return null;\n}\n__name(constructYamlNull, \"constructYamlNull\");\nfunction isNull(object) {\n return object === null;\n}\n__name(isNull, \"isNull\");\nvar _null = new type(\"tag:yaml.org,2002:null\", {\n kind: \"scalar\",\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: /* @__PURE__ */ __name(function() {\n return \"~\";\n }, \"canonical\"),\n lowercase: /* @__PURE__ */ __name(function() {\n return \"null\";\n }, \"lowercase\"),\n uppercase: /* @__PURE__ */ __name(function() {\n return \"NULL\";\n }, \"uppercase\"),\n camelcase: /* @__PURE__ */ __name(function() {\n return \"Null\";\n }, \"camelcase\"),\n empty: /* @__PURE__ */ __name(function() {\n return \"\";\n }, \"empty\")\n },\n defaultStyle: \"lowercase\"\n});\nfunction resolveYamlBoolean(data) {\n if (data === null) return false;\n var max = data.length;\n return max === 4 && (data === \"true\" || data === \"True\" || data === \"TRUE\") || max === 5 && (data === \"false\" || data === \"False\" || data === \"FALSE\");\n}\n__name(resolveYamlBoolean, \"resolveYamlBoolean\");\nfunction constructYamlBoolean(data) {\n return data === \"true\" || data === \"True\" || data === \"TRUE\";\n}\n__name(constructYamlBoolean, \"constructYamlBoolean\");\nfunction isBoolean(object) {\n return Object.prototype.toString.call(object) === \"[object Boolean]\";\n}\n__name(isBoolean, \"isBoolean\");\nvar bool = new type(\"tag:yaml.org,2002:bool\", {\n kind: \"scalar\",\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: /* @__PURE__ */ __name(function(object) {\n return object ? \"true\" : \"false\";\n }, \"lowercase\"),\n uppercase: /* @__PURE__ */ __name(function(object) {\n return object ? \"TRUE\" : \"FALSE\";\n }, \"uppercase\"),\n camelcase: /* @__PURE__ */ __name(function(object) {\n return object ? \"True\" : \"False\";\n }, \"camelcase\")\n },\n defaultStyle: \"lowercase\"\n});\nfunction isHexCode(c) {\n return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102;\n}\n__name(isHexCode, \"isHexCode\");\nfunction isOctCode(c) {\n return 48 <= c && c <= 55;\n}\n__name(isOctCode, \"isOctCode\");\nfunction isDecCode(c) {\n return 48 <= c && c <= 57;\n}\n__name(isDecCode, \"isDecCode\");\nfunction resolveYamlInteger(data) {\n if (data === null) return false;\n var max = data.length, index = 0, hasDigits = false, ch;\n if (!max) return false;\n ch = data[index];\n if (ch === \"-\" || ch === \"+\") {\n ch = data[++index];\n }\n if (ch === \"0\") {\n if (index + 1 === max) return true;\n ch = data[++index];\n if (ch === \"b\") {\n index++;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === \"_\") continue;\n if (ch !== \"0\" && ch !== \"1\") return false;\n hasDigits = true;\n }\n return hasDigits && ch !== \"_\";\n }\n if (ch === \"x\") {\n index++;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === \"_\") continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== \"_\";\n }\n if (ch === \"o\") {\n index++;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === \"_\") continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== \"_\";\n }\n }\n if (ch === \"_\") return false;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === \"_\") continue;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n if (!hasDigits || ch === \"_\") return false;\n return true;\n}\n__name(resolveYamlInteger, \"resolveYamlInteger\");\nfunction constructYamlInteger(data) {\n var value = data, sign = 1, ch;\n if (value.indexOf(\"_\") !== -1) {\n value = value.replace(/_/g, \"\");\n }\n ch = value[0];\n if (ch === \"-\" || ch === \"+\") {\n if (ch === \"-\") sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n if (value === \"0\") return 0;\n if (ch === \"0\") {\n if (value[1] === \"b\") return sign * parseInt(value.slice(2), 2);\n if (value[1] === \"x\") return sign * parseInt(value.slice(2), 16);\n if (value[1] === \"o\") return sign * parseInt(value.slice(2), 8);\n }\n return sign * parseInt(value, 10);\n}\n__name(constructYamlInteger, \"constructYamlInteger\");\nfunction isInteger(object) {\n return Object.prototype.toString.call(object) === \"[object Number]\" && (object % 1 === 0 && !common.isNegativeZero(object));\n}\n__name(isInteger, \"isInteger\");\nvar int = new type(\"tag:yaml.org,2002:int\", {\n kind: \"scalar\",\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: /* @__PURE__ */ __name(function(obj) {\n return obj >= 0 ? \"0b\" + obj.toString(2) : \"-0b\" + obj.toString(2).slice(1);\n }, \"binary\"),\n octal: /* @__PURE__ */ __name(function(obj) {\n return obj >= 0 ? \"0o\" + obj.toString(8) : \"-0o\" + obj.toString(8).slice(1);\n }, \"octal\"),\n decimal: /* @__PURE__ */ __name(function(obj) {\n return obj.toString(10);\n }, \"decimal\"),\n /* eslint-disable max-len */\n hexadecimal: /* @__PURE__ */ __name(function(obj) {\n return obj >= 0 ? \"0x\" + obj.toString(16).toUpperCase() : \"-0x\" + obj.toString(16).toUpperCase().slice(1);\n }, \"hexadecimal\")\n },\n defaultStyle: \"decimal\",\n styleAliases: {\n binary: [2, \"bin\"],\n octal: [8, \"oct\"],\n decimal: [10, \"dec\"],\n hexadecimal: [16, \"hex\"]\n }\n});\nvar YAML_FLOAT_PATTERN = new RegExp(\n // 2.5e4, 2.5 and integers\n \"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\"\n);\nfunction resolveYamlFloat(data) {\n if (data === null) return false;\n if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`\n // Probably should update regexp & check speed\n data[data.length - 1] === \"_\") {\n return false;\n }\n return true;\n}\n__name(resolveYamlFloat, \"resolveYamlFloat\");\nfunction constructYamlFloat(data) {\n var value, sign;\n value = data.replace(/_/g, \"\").toLowerCase();\n sign = value[0] === \"-\" ? -1 : 1;\n if (\"+-\".indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n if (value === \".inf\") {\n return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n } else if (value === \".nan\") {\n return NaN;\n }\n return sign * parseFloat(value, 10);\n}\n__name(constructYamlFloat, \"constructYamlFloat\");\nvar SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\nfunction representYamlFloat(object, style) {\n var res;\n if (isNaN(object)) {\n switch (style) {\n case \"lowercase\":\n return \".nan\";\n case \"uppercase\":\n return \".NAN\";\n case \"camelcase\":\n return \".NaN\";\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case \"lowercase\":\n return \".inf\";\n case \"uppercase\":\n return \".INF\";\n case \"camelcase\":\n return \".Inf\";\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case \"lowercase\":\n return \"-.inf\";\n case \"uppercase\":\n return \"-.INF\";\n case \"camelcase\":\n return \"-.Inf\";\n }\n } else if (common.isNegativeZero(object)) {\n return \"-0.0\";\n }\n res = object.toString(10);\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace(\"e\", \".e\") : res;\n}\n__name(representYamlFloat, \"representYamlFloat\");\nfunction isFloat(object) {\n return Object.prototype.toString.call(object) === \"[object Number]\" && (object % 1 !== 0 || common.isNegativeZero(object));\n}\n__name(isFloat, \"isFloat\");\nvar float = new type(\"tag:yaml.org,2002:float\", {\n kind: \"scalar\",\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: \"lowercase\"\n});\nvar json = failsafe.extend({\n implicit: [\n _null,\n bool,\n int,\n float\n ]\n});\nvar core = json;\nvar YAML_DATE_REGEXP = new RegExp(\n \"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"\n);\nvar YAML_TIMESTAMP_REGEXP = new RegExp(\n \"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\"\n);\nfunction resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n}\n__name(resolveYamlTimestamp, \"resolveYamlTimestamp\");\nfunction constructYamlTimestamp(data) {\n var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n if (match === null) throw new Error(\"Date resolve error\");\n year = +match[1];\n month = +match[2] - 1;\n day = +match[3];\n if (!match[4]) {\n return new Date(Date.UTC(year, month, day));\n }\n hour = +match[4];\n minute = +match[5];\n second = +match[6];\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) {\n fraction += \"0\";\n }\n fraction = +fraction;\n }\n if (match[9]) {\n tz_hour = +match[10];\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 6e4;\n if (match[9] === \"-\") delta = -delta;\n }\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n if (delta) date.setTime(date.getTime() - delta);\n return date;\n}\n__name(constructYamlTimestamp, \"constructYamlTimestamp\");\nfunction representYamlTimestamp(object) {\n return object.toISOString();\n}\n__name(representYamlTimestamp, \"representYamlTimestamp\");\nvar timestamp = new type(\"tag:yaml.org,2002:timestamp\", {\n kind: \"scalar\",\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n});\nfunction resolveYamlMerge(data) {\n return data === \"<<\" || data === null;\n}\n__name(resolveYamlMerge, \"resolveYamlMerge\");\nvar merge = new type(\"tag:yaml.org,2002:merge\", {\n kind: \"scalar\",\n resolve: resolveYamlMerge\n});\nvar BASE64_MAP = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";\nfunction resolveYamlBinary(data) {\n if (data === null) return false;\n var code, idx, bitlen = 0, max = data.length, map2 = BASE64_MAP;\n for (idx = 0; idx < max; idx++) {\n code = map2.indexOf(data.charAt(idx));\n if (code > 64) continue;\n if (code < 0) return false;\n bitlen += 6;\n }\n return bitlen % 8 === 0;\n}\n__name(resolveYamlBinary, \"resolveYamlBinary\");\nfunction constructYamlBinary(data) {\n var idx, tailbits, input = data.replace(/[\\r\\n=]/g, \"\"), max = input.length, map2 = BASE64_MAP, bits = 0, result = [];\n for (idx = 0; idx < max; idx++) {\n if (idx % 4 === 0 && idx) {\n result.push(bits >> 16 & 255);\n result.push(bits >> 8 & 255);\n result.push(bits & 255);\n }\n bits = bits << 6 | map2.indexOf(input.charAt(idx));\n }\n tailbits = max % 4 * 6;\n if (tailbits === 0) {\n result.push(bits >> 16 & 255);\n result.push(bits >> 8 & 255);\n result.push(bits & 255);\n } else if (tailbits === 18) {\n result.push(bits >> 10 & 255);\n result.push(bits >> 2 & 255);\n } else if (tailbits === 12) {\n result.push(bits >> 4 & 255);\n }\n return new Uint8Array(result);\n}\n__name(constructYamlBinary, \"constructYamlBinary\");\nfunction representYamlBinary(object) {\n var result = \"\", bits = 0, idx, tail, max = object.length, map2 = BASE64_MAP;\n for (idx = 0; idx < max; idx++) {\n if (idx % 3 === 0 && idx) {\n result += map2[bits >> 18 & 63];\n result += map2[bits >> 12 & 63];\n result += map2[bits >> 6 & 63];\n result += map2[bits & 63];\n }\n bits = (bits << 8) + object[idx];\n }\n tail = max % 3;\n if (tail === 0) {\n result += map2[bits >> 18 & 63];\n result += map2[bits >> 12 & 63];\n result += map2[bits >> 6 & 63];\n result += map2[bits & 63];\n } else if (tail === 2) {\n result += map2[bits >> 10 & 63];\n result += map2[bits >> 4 & 63];\n result += map2[bits << 2 & 63];\n result += map2[64];\n } else if (tail === 1) {\n result += map2[bits >> 2 & 63];\n result += map2[bits << 4 & 63];\n result += map2[64];\n result += map2[64];\n }\n return result;\n}\n__name(representYamlBinary, \"representYamlBinary\");\nfunction isBinary(obj) {\n return Object.prototype.toString.call(obj) === \"[object Uint8Array]\";\n}\n__name(isBinary, \"isBinary\");\nvar binary = new type(\"tag:yaml.org,2002:binary\", {\n kind: \"scalar\",\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n});\nvar _hasOwnProperty$3 = Object.prototype.hasOwnProperty;\nvar _toString$2 = Object.prototype.toString;\nfunction resolveYamlOmap(data) {\n if (data === null) return true;\n var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data;\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n if (_toString$2.call(pair) !== \"[object Object]\") return false;\n for (pairKey in pair) {\n if (_hasOwnProperty$3.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;\n else return false;\n }\n }\n if (!pairHasKey) return false;\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);\n else return false;\n }\n return true;\n}\n__name(resolveYamlOmap, \"resolveYamlOmap\");\nfunction constructYamlOmap(data) {\n return data !== null ? data : [];\n}\n__name(constructYamlOmap, \"constructYamlOmap\");\nvar omap = new type(\"tag:yaml.org,2002:omap\", {\n kind: \"sequence\",\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n});\nvar _toString$1 = Object.prototype.toString;\nfunction resolveYamlPairs(data) {\n if (data === null) return true;\n var index, length, pair, keys, result, object = data;\n result = new Array(object.length);\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n if (_toString$1.call(pair) !== \"[object Object]\") return false;\n keys = Object.keys(pair);\n if (keys.length !== 1) return false;\n result[index] = [keys[0], pair[keys[0]]];\n }\n return true;\n}\n__name(resolveYamlPairs, \"resolveYamlPairs\");\nfunction constructYamlPairs(data) {\n if (data === null) return [];\n var index, length, pair, keys, result, object = data;\n result = new Array(object.length);\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n keys = Object.keys(pair);\n result[index] = [keys[0], pair[keys[0]]];\n }\n return result;\n}\n__name(constructYamlPairs, \"constructYamlPairs\");\nvar pairs = new type(\"tag:yaml.org,2002:pairs\", {\n kind: \"sequence\",\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n});\nvar _hasOwnProperty$2 = Object.prototype.hasOwnProperty;\nfunction resolveYamlSet(data) {\n if (data === null) return true;\n var key, object = data;\n for (key in object) {\n if (_hasOwnProperty$2.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n return true;\n}\n__name(resolveYamlSet, \"resolveYamlSet\");\nfunction constructYamlSet(data) {\n return data !== null ? data : {};\n}\n__name(constructYamlSet, \"constructYamlSet\");\nvar set = new type(\"tag:yaml.org,2002:set\", {\n kind: \"mapping\",\n resolve: resolveYamlSet,\n construct: constructYamlSet\n});\nvar _default = core.extend({\n implicit: [\n timestamp,\n merge\n ],\n explicit: [\n binary,\n omap,\n pairs,\n set\n ]\n});\nvar _hasOwnProperty$1 = Object.prototype.hasOwnProperty;\nvar CONTEXT_FLOW_IN = 1;\nvar CONTEXT_FLOW_OUT = 2;\nvar CONTEXT_BLOCK_IN = 3;\nvar CONTEXT_BLOCK_OUT = 4;\nvar CHOMPING_CLIP = 1;\nvar CHOMPING_STRIP = 2;\nvar CHOMPING_KEEP = 3;\nvar PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\nvar PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\nvar PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\nvar PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\nvar PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\nfunction _class(obj) {\n return Object.prototype.toString.call(obj);\n}\n__name(_class, \"_class\");\nfunction is_EOL(c) {\n return c === 10 || c === 13;\n}\n__name(is_EOL, \"is_EOL\");\nfunction is_WHITE_SPACE(c) {\n return c === 9 || c === 32;\n}\n__name(is_WHITE_SPACE, \"is_WHITE_SPACE\");\nfunction is_WS_OR_EOL(c) {\n return c === 9 || c === 32 || c === 10 || c === 13;\n}\n__name(is_WS_OR_EOL, \"is_WS_OR_EOL\");\nfunction is_FLOW_INDICATOR(c) {\n return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;\n}\n__name(is_FLOW_INDICATOR, \"is_FLOW_INDICATOR\");\nfunction fromHexCode(c) {\n var lc;\n if (48 <= c && c <= 57) {\n return c - 48;\n }\n lc = c | 32;\n if (97 <= lc && lc <= 102) {\n return lc - 97 + 10;\n }\n return -1;\n}\n__name(fromHexCode, \"fromHexCode\");\nfunction escapedHexLen(c) {\n if (c === 120) {\n return 2;\n }\n if (c === 117) {\n return 4;\n }\n if (c === 85) {\n return 8;\n }\n return 0;\n}\n__name(escapedHexLen, \"escapedHexLen\");\nfunction fromDecimalCode(c) {\n if (48 <= c && c <= 57) {\n return c - 48;\n }\n return -1;\n}\n__name(fromDecimalCode, \"fromDecimalCode\");\nfunction simpleEscapeSequence(c) {\n return c === 48 ? \"\\0\" : c === 97 ? \"\\x07\" : c === 98 ? \"\\b\" : c === 116 ? \"\t\" : c === 9 ? \"\t\" : c === 110 ? \"\\n\" : c === 118 ? \"\\v\" : c === 102 ? \"\\f\" : c === 114 ? \"\\r\" : c === 101 ? \"\\x1B\" : c === 32 ? \" \" : c === 34 ? '\"' : c === 47 ? \"/\" : c === 92 ? \"\\\\\" : c === 78 ? \"\\x85\" : c === 95 ? \"\\xA0\" : c === 76 ? \"\\u2028\" : c === 80 ? \"\\u2029\" : \"\";\n}\n__name(simpleEscapeSequence, \"simpleEscapeSequence\");\nfunction charFromCodepoint(c) {\n if (c <= 65535) {\n return String.fromCharCode(c);\n }\n return String.fromCharCode(\n (c - 65536 >> 10) + 55296,\n (c - 65536 & 1023) + 56320\n );\n}\n__name(charFromCodepoint, \"charFromCodepoint\");\nvar simpleEscapeCheck = new Array(256);\nvar simpleEscapeMap = new Array(256);\nfor (i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n}\nvar i;\nfunction State$1(input, options) {\n this.input = input;\n this.filename = options[\"filename\"] || null;\n this.schema = options[\"schema\"] || _default;\n this.onWarning = options[\"onWarning\"] || null;\n this.legacy = options[\"legacy\"] || false;\n this.json = options[\"json\"] || false;\n this.listener = options[\"listener\"] || null;\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n this.firstTabInLine = -1;\n this.documents = [];\n}\n__name(State$1, \"State$1\");\nfunction generateError(state, message) {\n var mark = {\n name: state.filename,\n buffer: state.input.slice(0, -1),\n // omit trailing \\0\n position: state.position,\n line: state.line,\n column: state.position - state.lineStart\n };\n mark.snippet = snippet(mark);\n return new exception(message, mark);\n}\n__name(generateError, \"generateError\");\nfunction throwError(state, message) {\n throw generateError(state, message);\n}\n__name(throwError, \"throwError\");\nfunction throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n}\n__name(throwWarning, \"throwWarning\");\nvar directiveHandlers = {\n YAML: /* @__PURE__ */ __name(function handleYamlDirective(state, name, args) {\n var match, major, minor;\n if (state.version !== null) {\n throwError(state, \"duplication of %YAML directive\");\n }\n if (args.length !== 1) {\n throwError(state, \"YAML directive accepts exactly one argument\");\n }\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n if (match === null) {\n throwError(state, \"ill-formed argument of the YAML directive\");\n }\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n if (major !== 1) {\n throwError(state, \"unacceptable YAML version of the document\");\n }\n state.version = args[0];\n state.checkLineBreaks = minor < 2;\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, \"unsupported YAML version of the document\");\n }\n }, \"handleYamlDirective\"),\n TAG: /* @__PURE__ */ __name(function handleTagDirective(state, name, args) {\n var handle, prefix;\n if (args.length !== 2) {\n throwError(state, \"TAG directive accepts exactly two arguments\");\n }\n handle = args[0];\n prefix = args[1];\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, \"ill-formed tag handle (first argument) of the TAG directive\");\n }\n if (_hasOwnProperty$1.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, \"ill-formed tag prefix (second argument) of the TAG directive\");\n }\n try {\n prefix = decodeURIComponent(prefix);\n } catch (err) {\n throwError(state, \"tag prefix is malformed: \" + prefix);\n }\n state.tagMap[handle] = prefix;\n }, \"handleTagDirective\")\n};\nfunction captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n if (start < end) {\n _result = state.input.slice(start, end);\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {\n throwError(state, \"expected valid JSON character\");\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, \"the stream contains non-printable characters\");\n }\n state.result += _result;\n }\n}\n__name(captureSegment, \"captureSegment\");\nfunction mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n if (!common.isObject(source)) {\n throwError(state, \"cannot merge mappings; the provided source object is unacceptable\");\n }\n sourceKeys = Object.keys(source);\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n if (!_hasOwnProperty$1.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n}\n__name(mergeMappings, \"mergeMappings\");\nfunction storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) {\n var index, quantity;\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, \"nested arrays are not supported inside keys\");\n }\n if (typeof keyNode === \"object\" && _class(keyNode[index]) === \"[object Object]\") {\n keyNode[index] = \"[object Object]\";\n }\n }\n }\n if (typeof keyNode === \"object\" && _class(keyNode) === \"[object Object]\") {\n keyNode = \"[object Object]\";\n }\n keyNode = String(keyNode);\n if (_result === null) {\n _result = {};\n }\n if (keyTag === \"tag:yaml.org,2002:merge\") {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.lineStart = startLineStart || state.lineStart;\n state.position = startPos || state.position;\n throwError(state, \"duplicated mapping key\");\n }\n if (keyNode === \"__proto__\") {\n Object.defineProperty(_result, keyNode, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: valueNode\n });\n } else {\n _result[keyNode] = valueNode;\n }\n delete overridableKeys[keyNode];\n }\n return _result;\n}\n__name(storeMappingPair, \"storeMappingPair\");\nfunction readLineBreak(state) {\n var ch;\n ch = state.input.charCodeAt(state.position);\n if (ch === 10) {\n state.position++;\n } else if (ch === 13) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 10) {\n state.position++;\n }\n } else {\n throwError(state, \"a line break is expected\");\n }\n state.line += 1;\n state.lineStart = state.position;\n state.firstTabInLine = -1;\n}\n__name(readLineBreak, \"readLineBreak\");\nfunction skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0, ch = state.input.charCodeAt(state.position);\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n if (ch === 9 && state.firstTabInLine === -1) {\n state.firstTabInLine = state.position;\n }\n ch = state.input.charCodeAt(++state.position);\n }\n if (allowComments && ch === 35) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 10 && ch !== 13 && ch !== 0);\n }\n if (is_EOL(ch)) {\n readLineBreak(state);\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n while (ch === 32) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, \"deficient indentation\");\n }\n return lineBreaks;\n}\n__name(skipSeparationSpace, \"skipSeparationSpace\");\nfunction testDocumentSeparator(state) {\n var _position = state.position, ch;\n ch = state.input.charCodeAt(_position);\n if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {\n _position += 3;\n ch = state.input.charCodeAt(_position);\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n return false;\n}\n__name(testDocumentSeparator, \"testDocumentSeparator\");\nfunction writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += \" \";\n } else if (count > 1) {\n state.result += common.repeat(\"\\n\", count - 1);\n }\n}\n__name(writeFoldedLines, \"writeFoldedLines\");\nfunction readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;\n ch = state.input.charCodeAt(state.position);\n if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {\n return false;\n }\n if (ch === 63 || ch === 45) {\n following = state.input.charCodeAt(state.position + 1);\n if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n state.kind = \"scalar\";\n state.result = \"\";\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n while (ch !== 0) {\n if (ch === 58) {\n following = state.input.charCodeAt(state.position + 1);\n if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n } else if (ch === 35) {\n preceding = state.input.charCodeAt(state.position - 1);\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n ch = state.input.charCodeAt(++state.position);\n }\n captureSegment(state, captureStart, captureEnd, false);\n if (state.result) {\n return true;\n }\n state.kind = _kind;\n state.result = _result;\n return false;\n}\n__name(readPlainScalar, \"readPlainScalar\");\nfunction readSingleQuotedScalar(state, nodeIndent) {\n var ch, captureStart, captureEnd;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 39) {\n return false;\n }\n state.kind = \"scalar\";\n state.result = \"\";\n state.position++;\n captureStart = captureEnd = state.position;\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 39) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n if (ch === 39) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, \"unexpected end of the document within a single quoted scalar\");\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n throwError(state, \"unexpected end of the stream within a single quoted scalar\");\n}\n__name(readSingleQuotedScalar, \"readSingleQuotedScalar\");\nfunction readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart, captureEnd, hexLength, hexResult, tmp, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 34) {\n return false;\n }\n state.kind = \"scalar\";\n state.result = \"\";\n state.position++;\n captureStart = captureEnd = state.position;\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 34) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n } else if (ch === 92) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n } else {\n throwError(state, \"expected hexadecimal character\");\n }\n }\n state.result += charFromCodepoint(hexResult);\n state.position++;\n } else {\n throwError(state, \"unknown escape sequence\");\n }\n captureStart = captureEnd = state.position;\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, \"unexpected end of the document within a double quoted scalar\");\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n throwError(state, \"unexpected end of the stream within a double quoted scalar\");\n}\n__name(readDoubleQuotedScalar, \"readDoubleQuotedScalar\");\nfunction readFlowCollection(state, nodeIndent) {\n var readNext = true, _line, _lineStart, _pos, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = /* @__PURE__ */ Object.create(null), keyNode, keyTag, valueNode, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch === 91) {\n terminator = 93;\n isMapping = false;\n _result = [];\n } else if (ch === 123) {\n terminator = 125;\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n ch = state.input.charCodeAt(++state.position);\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n ch = state.input.charCodeAt(state.position);\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? \"mapping\" : \"sequence\";\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, \"missed comma between flow collection entries\");\n } else if (ch === 44) {\n throwError(state, \"expected the node content, but found ','\");\n }\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n if (ch === 63) {\n following = state.input.charCodeAt(state.position + 1);\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n _line = state.line;\n _lineStart = state.lineStart;\n _pos = state.position;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n ch = state.input.charCodeAt(state.position);\n if ((isExplicitPair || state.line === _line) && ch === 58) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));\n } else {\n _result.push(keyNode);\n }\n skipSeparationSpace(state, true, nodeIndent);\n ch = state.input.charCodeAt(state.position);\n if (ch === 44) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n throwError(state, \"unexpected end of the stream within a flow collection\");\n}\n__name(readFlowCollection, \"readFlowCollection\");\nfunction readBlockScalar(state, nodeIndent) {\n var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch === 124) {\n folding = false;\n } else if (ch === 62) {\n folding = true;\n } else {\n return false;\n }\n state.kind = \"scalar\";\n state.result = \"\";\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n if (ch === 43 || ch === 45) {\n if (CHOMPING_CLIP === chomping) {\n chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, \"repeat of a chomping mode identifier\");\n }\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, \"bad explicit indentation width of a block scalar; it cannot be less than one\");\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, \"repeat of an indentation width identifier\");\n }\n } else {\n break;\n }\n }\n if (is_WHITE_SPACE(ch)) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (is_WHITE_SPACE(ch));\n if (ch === 35) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (!is_EOL(ch) && ch !== 0);\n }\n }\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n ch = state.input.charCodeAt(state.position);\n while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n if (state.lineIndent < textIndent) {\n if (chomping === CHOMPING_KEEP) {\n state.result += common.repeat(\"\\n\", didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) {\n state.result += \"\\n\";\n }\n }\n break;\n }\n if (folding) {\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n state.result += common.repeat(\"\\n\", didReadContent ? 1 + emptyLines : emptyLines);\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common.repeat(\"\\n\", emptyLines + 1);\n } else if (emptyLines === 0) {\n if (didReadContent) {\n state.result += \" \";\n }\n } else {\n state.result += common.repeat(\"\\n\", emptyLines);\n }\n } else {\n state.result += common.repeat(\"\\n\", didReadContent ? 1 + emptyLines : emptyLines);\n }\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n while (!is_EOL(ch) && ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n }\n captureSegment(state, captureStart, state.position, false);\n }\n return true;\n}\n__name(readBlockScalar, \"readBlockScalar\");\nfunction readBlockSequence(state, nodeIndent) {\n var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;\n if (state.firstTabInLine !== -1) return false;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n ch = state.input.charCodeAt(state.position);\n while (ch !== 0) {\n if (state.firstTabInLine !== -1) {\n state.position = state.firstTabInLine;\n throwError(state, \"tab characters must not be used in indentation\");\n }\n if (ch !== 45) {\n break;\n }\n following = state.input.charCodeAt(state.position + 1);\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n detected = true;\n state.position++;\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {\n throwError(state, \"bad indentation of a sequence entry\");\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = \"sequence\";\n state.result = _result;\n return true;\n }\n return false;\n}\n__name(readBlockSequence, \"readBlockSequence\");\nfunction readBlockMapping(state, nodeIndent, flowIndent) {\n var following, allowCompact, _line, _keyLine, _keyLineStart, _keyPos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = /* @__PURE__ */ Object.create(null), keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;\n if (state.firstTabInLine !== -1) return false;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n ch = state.input.charCodeAt(state.position);\n while (ch !== 0) {\n if (!atExplicitKey && state.firstTabInLine !== -1) {\n state.position = state.firstTabInLine;\n throwError(state, \"tab characters must not be used in indentation\");\n }\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line;\n if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {\n if (ch === 63) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n } else if (atExplicitKey) {\n atExplicitKey = false;\n allowCompact = true;\n } else {\n throwError(state, \"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\");\n }\n state.position += 1;\n ch = following;\n } else {\n _keyLine = state.line;\n _keyLineStart = state.lineStart;\n _keyPos = state.position;\n if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n break;\n }\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (ch === 58) {\n ch = state.input.charCodeAt(++state.position);\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, \"a whitespace character is expected after the key-value separator within a block mapping\");\n }\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n } else if (detected) {\n throwError(state, \"can not read an implicit mapping pair; a colon is missed\");\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true;\n }\n } else if (detected) {\n throwError(state, \"can not read a block mapping entry; a multiline key may not be an implicit key\");\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true;\n }\n }\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (atExplicitKey) {\n _keyLine = state.line;\n _keyLineStart = state.lineStart;\n _keyPos = state.position;\n }\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);\n keyTag = keyNode = valueNode = null;\n }\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {\n throwError(state, \"bad indentation of a mapping entry\");\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);\n }\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = \"mapping\";\n state.result = _result;\n }\n return detected;\n}\n__name(readBlockMapping, \"readBlockMapping\");\nfunction readTagProperty(state) {\n var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 33) return false;\n if (state.tag !== null) {\n throwError(state, \"duplication of a tag property\");\n }\n ch = state.input.charCodeAt(++state.position);\n if (ch === 60) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n } else if (ch === 33) {\n isNamed = true;\n tagHandle = \"!!\";\n ch = state.input.charCodeAt(++state.position);\n } else {\n tagHandle = \"!\";\n }\n _position = state.position;\n if (isVerbatim) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0 && ch !== 62);\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, \"unexpected end of the stream within a verbatim tag\");\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n if (ch === 33) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, \"named tag handle cannot contain such characters\");\n }\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, \"tag suffix cannot contain exclamation marks\");\n }\n }\n ch = state.input.charCodeAt(++state.position);\n }\n tagName = state.input.slice(_position, state.position);\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, \"tag suffix cannot contain flow indicator characters\");\n }\n }\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, \"tag name cannot contain such characters: \" + tagName);\n }\n try {\n tagName = decodeURIComponent(tagName);\n } catch (err) {\n throwError(state, \"tag name is malformed: \" + tagName);\n }\n if (isVerbatim) {\n state.tag = tagName;\n } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n } else if (tagHandle === \"!\") {\n state.tag = \"!\" + tagName;\n } else if (tagHandle === \"!!\") {\n state.tag = \"tag:yaml.org,2002:\" + tagName;\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n return true;\n}\n__name(readTagProperty, \"readTagProperty\");\nfunction readAnchorProperty(state) {\n var _position, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 38) return false;\n if (state.anchor !== null) {\n throwError(state, \"duplication of an anchor property\");\n }\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (state.position === _position) {\n throwError(state, \"name of an anchor node must contain at least one character\");\n }\n state.anchor = state.input.slice(_position, state.position);\n return true;\n}\n__name(readAnchorProperty, \"readAnchorProperty\");\nfunction readAlias(state) {\n var _position, alias, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 42) return false;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (state.position === _position) {\n throwError(state, \"name of an alias node must contain at least one character\");\n }\n alias = state.input.slice(_position, state.position);\n if (!_hasOwnProperty$1.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n}\n__name(readAlias, \"readAlias\");\nfunction composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type2, flowIndent, blockIndent;\n if (state.listener !== null) {\n state.listener(\"open\", state);\n }\n state.tag = null;\n state.anchor = null;\n state.kind = null;\n state.result = null;\n allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;\n if (allowToSeek) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n blockIndent = state.position - state.lineStart;\n if (indentStatus === 1) {\n if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n } else if (readAlias(state)) {\n hasContent = true;\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, \"alias node should not have any properties\");\n }\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n if (state.tag === null) {\n state.tag = \"?\";\n }\n }\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n if (state.tag === null) {\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n } else if (state.tag === \"?\") {\n if (state.result !== null && state.kind !== \"scalar\") {\n throwError(state, 'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type2 = state.implicitTypes[typeIndex];\n if (type2.resolve(state.result)) {\n state.result = type2.construct(state.result);\n state.tag = type2.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (state.tag !== \"!\") {\n if (_hasOwnProperty$1.call(state.typeMap[state.kind || \"fallback\"], state.tag)) {\n type2 = state.typeMap[state.kind || \"fallback\"][state.tag];\n } else {\n type2 = null;\n typeList = state.typeMap.multi[state.kind || \"fallback\"];\n for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) {\n if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {\n type2 = typeList[typeIndex];\n break;\n }\n }\n }\n if (!type2) {\n throwError(state, \"unknown tag !<\" + state.tag + \">\");\n }\n if (state.result !== null && type2.kind !== state.kind) {\n throwError(state, \"unacceptable node kind for !<\" + state.tag + '> tag; it should be \"' + type2.kind + '\", not \"' + state.kind + '\"');\n }\n if (!type2.resolve(state.result, state.tag)) {\n throwError(state, \"cannot resolve a node with !<\" + state.tag + \"> explicit tag\");\n } else {\n state.result = type2.construct(state.result, state.tag);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n }\n if (state.listener !== null) {\n state.listener(\"close\", state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n}\n__name(composeNode, \"composeNode\");\nfunction readDocument(state) {\n var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = /* @__PURE__ */ Object.create(null);\n state.anchorMap = /* @__PURE__ */ Object.create(null);\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n if (state.lineIndent > 0 || ch !== 37) {\n break;\n }\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n if (directiveName.length < 1) {\n throwError(state, \"directive name must not be less than one character in length\");\n }\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (ch === 35) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0 && !is_EOL(ch));\n break;\n }\n if (is_EOL(ch)) break;\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n if (ch !== 0) readLineBreak(state);\n if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n skipSeparationSpace(state, true, -1);\n if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n } else if (hasDirectives) {\n throwError(state, \"directives end mark is expected\");\n }\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, \"non-ASCII line breaks are interpreted as content\");\n }\n state.documents.push(state.result);\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n if (state.input.charCodeAt(state.position) === 46) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n if (state.position < state.length - 1) {\n throwError(state, \"end of the stream or a document separator is expected\");\n } else {\n return;\n }\n}\n__name(readDocument, \"readDocument\");\nfunction loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n if (input.length !== 0) {\n if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {\n input += \"\\n\";\n }\n if (input.charCodeAt(0) === 65279) {\n input = input.slice(1);\n }\n }\n var state = new State$1(input, options);\n var nullpos = input.indexOf(\"\\0\");\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, \"null byte is not allowed in input\");\n }\n state.input += \"\\0\";\n while (state.input.charCodeAt(state.position) === 32) {\n state.lineIndent += 1;\n state.position += 1;\n }\n while (state.position < state.length - 1) {\n readDocument(state);\n }\n return state.documents;\n}\n__name(loadDocuments, \"loadDocuments\");\nfunction loadAll$1(input, iterator, options) {\n if (iterator !== null && typeof iterator === \"object\" && typeof options === \"undefined\") {\n options = iterator;\n iterator = null;\n }\n var documents = loadDocuments(input, options);\n if (typeof iterator !== \"function\") {\n return documents;\n }\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n}\n__name(loadAll$1, \"loadAll$1\");\nfunction load$1(input, options) {\n var documents = loadDocuments(input, options);\n if (documents.length === 0) {\n return void 0;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new exception(\"expected a single document in the stream, but found more\");\n}\n__name(load$1, \"load$1\");\nvar loadAll_1 = loadAll$1;\nvar load_1 = load$1;\nvar loader = {\n loadAll: loadAll_1,\n load: load_1\n};\nvar _toString = Object.prototype.toString;\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\nvar CHAR_BOM = 65279;\nvar CHAR_TAB = 9;\nvar CHAR_LINE_FEED = 10;\nvar CHAR_CARRIAGE_RETURN = 13;\nvar CHAR_SPACE = 32;\nvar CHAR_EXCLAMATION = 33;\nvar CHAR_DOUBLE_QUOTE = 34;\nvar CHAR_SHARP = 35;\nvar CHAR_PERCENT = 37;\nvar CHAR_AMPERSAND = 38;\nvar CHAR_SINGLE_QUOTE = 39;\nvar CHAR_ASTERISK = 42;\nvar CHAR_COMMA = 44;\nvar CHAR_MINUS = 45;\nvar CHAR_COLON = 58;\nvar CHAR_EQUALS = 61;\nvar CHAR_GREATER_THAN = 62;\nvar CHAR_QUESTION = 63;\nvar CHAR_COMMERCIAL_AT = 64;\nvar CHAR_LEFT_SQUARE_BRACKET = 91;\nvar CHAR_RIGHT_SQUARE_BRACKET = 93;\nvar CHAR_GRAVE_ACCENT = 96;\nvar CHAR_LEFT_CURLY_BRACKET = 123;\nvar CHAR_VERTICAL_LINE = 124;\nvar CHAR_RIGHT_CURLY_BRACKET = 125;\nvar ESCAPE_SEQUENCES = {};\nESCAPE_SEQUENCES[0] = \"\\\\0\";\nESCAPE_SEQUENCES[7] = \"\\\\a\";\nESCAPE_SEQUENCES[8] = \"\\\\b\";\nESCAPE_SEQUENCES[9] = \"\\\\t\";\nESCAPE_SEQUENCES[10] = \"\\\\n\";\nESCAPE_SEQUENCES[11] = \"\\\\v\";\nESCAPE_SEQUENCES[12] = \"\\\\f\";\nESCAPE_SEQUENCES[13] = \"\\\\r\";\nESCAPE_SEQUENCES[27] = \"\\\\e\";\nESCAPE_SEQUENCES[34] = '\\\\\"';\nESCAPE_SEQUENCES[92] = \"\\\\\\\\\";\nESCAPE_SEQUENCES[133] = \"\\\\N\";\nESCAPE_SEQUENCES[160] = \"\\\\_\";\nESCAPE_SEQUENCES[8232] = \"\\\\L\";\nESCAPE_SEQUENCES[8233] = \"\\\\P\";\nvar DEPRECATED_BOOLEANS_SYNTAX = [\n \"y\",\n \"Y\",\n \"yes\",\n \"Yes\",\n \"YES\",\n \"on\",\n \"On\",\n \"ON\",\n \"n\",\n \"N\",\n \"no\",\n \"No\",\n \"NO\",\n \"off\",\n \"Off\",\n \"OFF\"\n];\nvar DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\\.[0-9_]*)?$/;\nfunction compileStyleMap(schema2, map2) {\n var result, keys, index, length, tag, style, type2;\n if (map2 === null) return {};\n result = {};\n keys = Object.keys(map2);\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map2[tag]);\n if (tag.slice(0, 2) === \"!!\") {\n tag = \"tag:yaml.org,2002:\" + tag.slice(2);\n }\n type2 = schema2.compiledTypeMap[\"fallback\"][tag];\n if (type2 && _hasOwnProperty.call(type2.styleAliases, style)) {\n style = type2.styleAliases[style];\n }\n result[tag] = style;\n }\n return result;\n}\n__name(compileStyleMap, \"compileStyleMap\");\nfunction encodeHex(character) {\n var string, handle, length;\n string = character.toString(16).toUpperCase();\n if (character <= 255) {\n handle = \"x\";\n length = 2;\n } else if (character <= 65535) {\n handle = \"u\";\n length = 4;\n } else if (character <= 4294967295) {\n handle = \"U\";\n length = 8;\n } else {\n throw new exception(\"code point within a string may not be greater than 0xFFFFFFFF\");\n }\n return \"\\\\\" + handle + common.repeat(\"0\", length - string.length) + string;\n}\n__name(encodeHex, \"encodeHex\");\nvar QUOTING_TYPE_SINGLE = 1;\nvar QUOTING_TYPE_DOUBLE = 2;\nfunction State(options) {\n this.schema = options[\"schema\"] || _default;\n this.indent = Math.max(1, options[\"indent\"] || 2);\n this.noArrayIndent = options[\"noArrayIndent\"] || false;\n this.skipInvalid = options[\"skipInvalid\"] || false;\n this.flowLevel = common.isNothing(options[\"flowLevel\"]) ? -1 : options[\"flowLevel\"];\n this.styleMap = compileStyleMap(this.schema, options[\"styles\"] || null);\n this.sortKeys = options[\"sortKeys\"] || false;\n this.lineWidth = options[\"lineWidth\"] || 80;\n this.noRefs = options[\"noRefs\"] || false;\n this.noCompatMode = options[\"noCompatMode\"] || false;\n this.condenseFlow = options[\"condenseFlow\"] || false;\n this.quotingType = options[\"quotingType\"] === '\"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;\n this.forceQuotes = options[\"forceQuotes\"] || false;\n this.replacer = typeof options[\"replacer\"] === \"function\" ? options[\"replacer\"] : null;\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n this.tag = null;\n this.result = \"\";\n this.duplicates = [];\n this.usedDuplicates = null;\n}\n__name(State, \"State\");\nfunction indentString(string, spaces) {\n var ind = common.repeat(\" \", spaces), position = 0, next = -1, result = \"\", line, length = string.length;\n while (position < length) {\n next = string.indexOf(\"\\n\", position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n if (line.length && line !== \"\\n\") result += ind;\n result += line;\n }\n return result;\n}\n__name(indentString, \"indentString\");\nfunction generateNextLine(state, level) {\n return \"\\n\" + common.repeat(\" \", state.indent * level);\n}\n__name(generateNextLine, \"generateNextLine\");\nfunction testImplicitResolving(state, str2) {\n var index, length, type2;\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type2 = state.implicitTypes[index];\n if (type2.resolve(str2)) {\n return true;\n }\n }\n return false;\n}\n__name(testImplicitResolving, \"testImplicitResolving\");\nfunction isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n}\n__name(isWhitespace, \"isWhitespace\");\nfunction isPrintable(c) {\n return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== CHAR_BOM || 65536 <= c && c <= 1114111;\n}\n__name(isPrintable, \"isPrintable\");\nfunction isNsCharOrWhitespace(c) {\n return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;\n}\n__name(isNsCharOrWhitespace, \"isNsCharOrWhitespace\");\nfunction isPlainSafe(c, prev, inblock) {\n var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);\n var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);\n return (\n // ns-plain-safe\n (inblock ? (\n // c = flow-in\n cIsNsCharOrWhitespace\n ) : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar\n );\n}\n__name(isPlainSafe, \"isPlainSafe\");\nfunction isPlainSafeFirst(c) {\n return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;\n}\n__name(isPlainSafeFirst, \"isPlainSafeFirst\");\nfunction isPlainSafeLast(c) {\n return !isWhitespace(c) && c !== CHAR_COLON;\n}\n__name(isPlainSafeLast, \"isPlainSafeLast\");\nfunction codePointAt(string, pos) {\n var first = string.charCodeAt(pos), second;\n if (first >= 55296 && first <= 56319 && pos + 1 < string.length) {\n second = string.charCodeAt(pos + 1);\n if (second >= 56320 && second <= 57343) {\n return (first - 55296) * 1024 + second - 56320 + 65536;\n }\n }\n return first;\n}\n__name(codePointAt, \"codePointAt\");\nfunction needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n}\n__name(needIndentIndicator, \"needIndentIndicator\");\nvar STYLE_PLAIN = 1;\nvar STYLE_SINGLE = 2;\nvar STYLE_LITERAL = 3;\nvar STYLE_FOLDED = 4;\nvar STYLE_DOUBLE = 5;\nfunction chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) {\n var i;\n var char = 0;\n var prevChar = null;\n var hasLineBreak = false;\n var hasFoldableLine = false;\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1;\n var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1));\n if (singleLineOnly || forceQuotes) {\n for (i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {\n char = codePointAt(string, i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char, prevChar, inblock);\n prevChar = char;\n }\n } else {\n for (i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {\n char = codePointAt(string, i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.\n i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== \" \";\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n plain = plain && isPlainSafe(char, prevChar, inblock);\n prevChar = char;\n }\n hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== \" \");\n }\n if (!hasLineBreak && !hasFoldableLine) {\n if (plain && !forceQuotes && !testAmbiguousType(string)) {\n return STYLE_PLAIN;\n }\n return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;\n }\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n if (!forceQuotes) {\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n }\n return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;\n}\n__name(chooseScalarStyle, \"chooseScalarStyle\");\nfunction writeScalar(state, string, level, iskey, inblock) {\n state.dump = function() {\n if (string.length === 0) {\n return state.quotingType === QUOTING_TYPE_DOUBLE ? '\"\"' : \"''\";\n }\n if (!state.noCompatMode) {\n if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) {\n return state.quotingType === QUOTING_TYPE_DOUBLE ? '\"' + string + '\"' : \"'\" + string + \"'\";\n }\n }\n var indent = state.indent * Math.max(1, level);\n var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;\n function testAmbiguity(string2) {\n return testImplicitResolving(state, string2);\n }\n __name(testAmbiguity, \"testAmbiguity\");\n switch (chooseScalarStyle(\n string,\n singleLineOnly,\n state.indent,\n lineWidth,\n testAmbiguity,\n state.quotingType,\n state.forceQuotes && !iskey,\n inblock\n )) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return \"|\" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return \">\" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string) + '\"';\n default:\n throw new exception(\"impossible error: invalid scalar style\");\n }\n }();\n}\n__name(writeScalar, \"writeScalar\");\nfunction blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : \"\";\n var clip = string[string.length - 1] === \"\\n\";\n var keep = clip && (string[string.length - 2] === \"\\n\" || string === \"\\n\");\n var chomp = keep ? \"+\" : clip ? \"\" : \"-\";\n return indentIndicator + chomp + \"\\n\";\n}\n__name(blockHeader, \"blockHeader\");\nfunction dropEndingNewline(string) {\n return string[string.length - 1] === \"\\n\" ? string.slice(0, -1) : string;\n}\n__name(dropEndingNewline, \"dropEndingNewline\");\nfunction foldString(string, width) {\n var lineRe = /(\\n+)([^\\n]*)/g;\n var result = function() {\n var nextLF = string.indexOf(\"\\n\");\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }();\n var prevMoreIndented = string[0] === \"\\n\" || string[0] === \" \";\n var moreIndented;\n var match;\n while (match = lineRe.exec(string)) {\n var prefix = match[1], line = match[2];\n moreIndented = line[0] === \" \";\n result += prefix + (!prevMoreIndented && !moreIndented && line !== \"\" ? \"\\n\" : \"\") + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n return result;\n}\n__name(foldString, \"foldString\");\nfunction foldLine(line, width) {\n if (line === \"\" || line[0] === \" \") return line;\n var breakRe = / [^ ]/g;\n var match;\n var start = 0, end, curr = 0, next = 0;\n var result = \"\";\n while (match = breakRe.exec(line)) {\n next = match.index;\n if (next - start > width) {\n end = curr > start ? curr : next;\n result += \"\\n\" + line.slice(start, end);\n start = end + 1;\n }\n curr = next;\n }\n result += \"\\n\";\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + \"\\n\" + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n return result.slice(1);\n}\n__name(foldLine, \"foldLine\");\nfunction escapeString(string) {\n var result = \"\";\n var char = 0;\n var escapeSeq;\n for (var i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {\n char = codePointAt(string, i);\n escapeSeq = ESCAPE_SEQUENCES[char];\n if (!escapeSeq && isPrintable(char)) {\n result += string[i];\n if (char >= 65536) result += string[i + 1];\n } else {\n result += escapeSeq || encodeHex(char);\n }\n }\n return result;\n}\n__name(escapeString, \"escapeString\");\nfunction writeFlowSequence(state, level, object) {\n var _result = \"\", _tag = state.tag, index, length, value;\n for (index = 0, length = object.length; index < length; index += 1) {\n value = object[index];\n if (state.replacer) {\n value = state.replacer.call(object, String(index), value);\n }\n if (writeNode(state, level, value, false, false) || typeof value === \"undefined\" && writeNode(state, level, null, false, false)) {\n if (_result !== \"\") _result += \",\" + (!state.condenseFlow ? \" \" : \"\");\n _result += state.dump;\n }\n }\n state.tag = _tag;\n state.dump = \"[\" + _result + \"]\";\n}\n__name(writeFlowSequence, \"writeFlowSequence\");\nfunction writeBlockSequence(state, level, object, compact) {\n var _result = \"\", _tag = state.tag, index, length, value;\n for (index = 0, length = object.length; index < length; index += 1) {\n value = object[index];\n if (state.replacer) {\n value = state.replacer.call(object, String(index), value);\n }\n if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === \"undefined\" && writeNode(state, level + 1, null, true, true, false, true)) {\n if (!compact || _result !== \"\") {\n _result += generateNextLine(state, level);\n }\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += \"-\";\n } else {\n _result += \"- \";\n }\n _result += state.dump;\n }\n }\n state.tag = _tag;\n state.dump = _result || \"[]\";\n}\n__name(writeBlockSequence, \"writeBlockSequence\");\nfunction writeFlowMapping(state, level, object) {\n var _result = \"\", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, pairBuffer;\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = \"\";\n if (_result !== \"\") pairBuffer += \", \";\n if (state.condenseFlow) pairBuffer += '\"';\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n if (state.replacer) {\n objectValue = state.replacer.call(object, objectKey, objectValue);\n }\n if (!writeNode(state, level, objectKey, false, false)) {\n continue;\n }\n if (state.dump.length > 1024) pairBuffer += \"? \";\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : \"\") + \":\" + (state.condenseFlow ? \"\" : \" \");\n if (!writeNode(state, level, objectValue, false, false)) {\n continue;\n }\n pairBuffer += state.dump;\n _result += pairBuffer;\n }\n state.tag = _tag;\n state.dump = \"{\" + _result + \"}\";\n}\n__name(writeFlowMapping, \"writeFlowMapping\");\nfunction writeBlockMapping(state, level, object, compact) {\n var _result = \"\", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, explicitPair, pairBuffer;\n if (state.sortKeys === true) {\n objectKeyList.sort();\n } else if (typeof state.sortKeys === \"function\") {\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n throw new exception(\"sortKeys must be a boolean or a function\");\n }\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = \"\";\n if (!compact || _result !== \"\") {\n pairBuffer += generateNextLine(state, level);\n }\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n if (state.replacer) {\n objectValue = state.replacer.call(object, objectKey, objectValue);\n }\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue;\n }\n explicitPair = state.tag !== null && state.tag !== \"?\" || state.dump && state.dump.length > 1024;\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += \"?\";\n } else {\n pairBuffer += \"? \";\n }\n }\n pairBuffer += state.dump;\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue;\n }\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += \":\";\n } else {\n pairBuffer += \": \";\n }\n pairBuffer += state.dump;\n _result += pairBuffer;\n }\n state.tag = _tag;\n state.dump = _result || \"{}\";\n}\n__name(writeBlockMapping, \"writeBlockMapping\");\nfunction detectType(state, object, explicit) {\n var _result, typeList, index, length, type2, style;\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type2 = typeList[index];\n if ((type2.instanceOf || type2.predicate) && (!type2.instanceOf || typeof object === \"object\" && object instanceof type2.instanceOf) && (!type2.predicate || type2.predicate(object))) {\n if (explicit) {\n if (type2.multi && type2.representName) {\n state.tag = type2.representName(object);\n } else {\n state.tag = type2.tag;\n }\n } else {\n state.tag = \"?\";\n }\n if (type2.represent) {\n style = state.styleMap[type2.tag] || type2.defaultStyle;\n if (_toString.call(type2.represent) === \"[object Function]\") {\n _result = type2.represent(object, style);\n } else if (_hasOwnProperty.call(type2.represent, style)) {\n _result = type2.represent[style](object, style);\n } else {\n throw new exception(\"!<\" + type2.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n state.dump = _result;\n }\n return true;\n }\n }\n return false;\n}\n__name(detectType, \"detectType\");\nfunction writeNode(state, level, object, block, compact, iskey, isblockseq) {\n state.tag = null;\n state.dump = object;\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n var type2 = _toString.call(state.dump);\n var inblock = block;\n var tagStr;\n if (block) {\n block = state.flowLevel < 0 || state.flowLevel > level;\n }\n var objectOrArray = type2 === \"[object Object]\" || type2 === \"[object Array]\", duplicateIndex, duplicate;\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n if (state.tag !== null && state.tag !== \"?\" || duplicate || state.indent !== 2 && level > 0) {\n compact = false;\n }\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = \"*ref_\" + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type2 === \"[object Object]\") {\n if (block && Object.keys(state.dump).length !== 0) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = \"&ref_\" + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = \"&ref_\" + duplicateIndex + \" \" + state.dump;\n }\n }\n } else if (type2 === \"[object Array]\") {\n if (block && state.dump.length !== 0) {\n if (state.noArrayIndent && !isblockseq && level > 0) {\n writeBlockSequence(state, level - 1, state.dump, compact);\n } else {\n writeBlockSequence(state, level, state.dump, compact);\n }\n if (duplicate) {\n state.dump = \"&ref_\" + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, level, state.dump);\n if (duplicate) {\n state.dump = \"&ref_\" + duplicateIndex + \" \" + state.dump;\n }\n }\n } else if (type2 === \"[object String]\") {\n if (state.tag !== \"?\") {\n writeScalar(state, state.dump, level, iskey, inblock);\n }\n } else if (type2 === \"[object Undefined]\") {\n return false;\n } else {\n if (state.skipInvalid) return false;\n throw new exception(\"unacceptable kind of an object to dump \" + type2);\n }\n if (state.tag !== null && state.tag !== \"?\") {\n tagStr = encodeURI(\n state.tag[0] === \"!\" ? state.tag.slice(1) : state.tag\n ).replace(/!/g, \"%21\");\n if (state.tag[0] === \"!\") {\n tagStr = \"!\" + tagStr;\n } else if (tagStr.slice(0, 18) === \"tag:yaml.org,2002:\") {\n tagStr = \"!!\" + tagStr.slice(18);\n } else {\n tagStr = \"!<\" + tagStr + \">\";\n }\n state.dump = tagStr + \" \" + state.dump;\n }\n }\n return true;\n}\n__name(writeNode, \"writeNode\");\nfunction getDuplicateReferences(object, state) {\n var objects = [], duplicatesIndexes = [], index, length;\n inspectNode(object, objects, duplicatesIndexes);\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n}\n__name(getDuplicateReferences, \"getDuplicateReferences\");\nfunction inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList, index, length;\n if (object !== null && typeof object === \"object\") {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n}\n__name(inspectNode, \"inspectNode\");\nfunction dump$1(input, options) {\n options = options || {};\n var state = new State(options);\n if (!state.noRefs) getDuplicateReferences(input, state);\n var value = input;\n if (state.replacer) {\n value = state.replacer.call({ \"\": value }, \"\", value);\n }\n if (writeNode(state, 0, value, true, true)) return state.dump + \"\\n\";\n return \"\";\n}\n__name(dump$1, \"dump$1\");\nvar dump_1 = dump$1;\nvar dumper = {\n dump: dump_1\n};\nfunction renamed(from, to) {\n return function() {\n throw new Error(\"Function yaml.\" + from + \" is removed in js-yaml 4. Use yaml.\" + to + \" instead, which is now safe by default.\");\n };\n}\n__name(renamed, \"renamed\");\nvar JSON_SCHEMA = json;\nvar load = loader.load;\nvar loadAll = loader.loadAll;\nvar dump = dumper.dump;\nvar safeLoad = renamed(\"safeLoad\", \"load\");\nvar safeLoadAll = renamed(\"safeLoadAll\", \"loadAll\");\nvar safeDump = renamed(\"safeDump\", \"dump\");\n\nexport {\n JSON_SCHEMA,\n load\n};\n/*! Bundled license information:\n\njs-yaml/dist/js-yaml.mjs:\n (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)\n*/\n", + "import {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/utils/lineWithOffset.ts\nvar markerOffsets = {\n aggregation: 18,\n extension: 18,\n composition: 18,\n dependency: 6,\n lollipop: 13.5,\n arrow_point: 4\n};\nfunction calculateDeltaAndAngle(point1, point2) {\n if (point1 === void 0 || point2 === void 0) {\n return { angle: 0, deltaX: 0, deltaY: 0 };\n }\n point1 = pointTransformer(point1);\n point2 = pointTransformer(point2);\n const [x1, y1] = [point1.x, point1.y];\n const [x2, y2] = [point2.x, point2.y];\n const deltaX = x2 - x1;\n const deltaY = y2 - y1;\n return { angle: Math.atan(deltaY / deltaX), deltaX, deltaY };\n}\n__name(calculateDeltaAndAngle, \"calculateDeltaAndAngle\");\nvar pointTransformer = /* @__PURE__ */ __name((data) => {\n if (Array.isArray(data)) {\n return { x: data[0], y: data[1] };\n }\n return data;\n}, \"pointTransformer\");\nvar getLineFunctionsWithOffset = /* @__PURE__ */ __name((edge) => {\n return {\n x: /* @__PURE__ */ __name(function(d, i, data) {\n let offset = 0;\n const DIRECTION = pointTransformer(data[0]).x < pointTransformer(data[data.length - 1]).x ? \"left\" : \"right\";\n if (i === 0 && Object.hasOwn(markerOffsets, edge.arrowTypeStart)) {\n const { angle, deltaX } = calculateDeltaAndAngle(data[0], data[1]);\n offset = markerOffsets[edge.arrowTypeStart] * Math.cos(angle) * (deltaX >= 0 ? 1 : -1);\n } else if (i === data.length - 1 && Object.hasOwn(markerOffsets, edge.arrowTypeEnd)) {\n const { angle, deltaX } = calculateDeltaAndAngle(\n data[data.length - 1],\n data[data.length - 2]\n );\n offset = markerOffsets[edge.arrowTypeEnd] * Math.cos(angle) * (deltaX >= 0 ? 1 : -1);\n }\n const differenceToEnd = Math.abs(\n pointTransformer(d).x - pointTransformer(data[data.length - 1]).x\n );\n const differenceInYEnd = Math.abs(\n pointTransformer(d).y - pointTransformer(data[data.length - 1]).y\n );\n const differenceToStart = Math.abs(pointTransformer(d).x - pointTransformer(data[0]).x);\n const differenceInYStart = Math.abs(pointTransformer(d).y - pointTransformer(data[0]).y);\n const startMarkerHeight = markerOffsets[edge.arrowTypeStart];\n const endMarkerHeight = markerOffsets[edge.arrowTypeEnd];\n const extraRoom = 1;\n if (differenceToEnd < endMarkerHeight && differenceToEnd > 0 && differenceInYEnd < endMarkerHeight) {\n let adjustment = endMarkerHeight + extraRoom - differenceToEnd;\n adjustment *= DIRECTION === \"right\" ? -1 : 1;\n offset -= adjustment;\n }\n if (differenceToStart < startMarkerHeight && differenceToStart > 0 && differenceInYStart < startMarkerHeight) {\n let adjustment = startMarkerHeight + extraRoom - differenceToStart;\n adjustment *= DIRECTION === \"right\" ? -1 : 1;\n offset += adjustment;\n }\n return pointTransformer(d).x + offset;\n }, \"x\"),\n y: /* @__PURE__ */ __name(function(d, i, data) {\n let offset = 0;\n const DIRECTION = pointTransformer(data[0]).y < pointTransformer(data[data.length - 1]).y ? \"down\" : \"up\";\n if (i === 0 && Object.hasOwn(markerOffsets, edge.arrowTypeStart)) {\n const { angle, deltaY } = calculateDeltaAndAngle(data[0], data[1]);\n offset = markerOffsets[edge.arrowTypeStart] * Math.abs(Math.sin(angle)) * (deltaY >= 0 ? 1 : -1);\n } else if (i === data.length - 1 && Object.hasOwn(markerOffsets, edge.arrowTypeEnd)) {\n const { angle, deltaY } = calculateDeltaAndAngle(\n data[data.length - 1],\n data[data.length - 2]\n );\n offset = markerOffsets[edge.arrowTypeEnd] * Math.abs(Math.sin(angle)) * (deltaY >= 0 ? 1 : -1);\n }\n const differenceToEnd = Math.abs(\n pointTransformer(d).y - pointTransformer(data[data.length - 1]).y\n );\n const differenceInXEnd = Math.abs(\n pointTransformer(d).x - pointTransformer(data[data.length - 1]).x\n );\n const differenceToStart = Math.abs(pointTransformer(d).y - pointTransformer(data[0]).y);\n const differenceInXStart = Math.abs(pointTransformer(d).x - pointTransformer(data[0]).x);\n const startMarkerHeight = markerOffsets[edge.arrowTypeStart];\n const endMarkerHeight = markerOffsets[edge.arrowTypeEnd];\n const extraRoom = 1;\n if (differenceToEnd < endMarkerHeight && differenceToEnd > 0 && differenceInXEnd < endMarkerHeight) {\n let adjustment = endMarkerHeight + extraRoom - differenceToEnd;\n adjustment *= DIRECTION === \"up\" ? -1 : 1;\n offset -= adjustment;\n }\n if (differenceToStart < startMarkerHeight && differenceToStart > 0 && differenceInXStart < startMarkerHeight) {\n let adjustment = startMarkerHeight + extraRoom - differenceToStart;\n adjustment *= DIRECTION === \"up\" ? -1 : 1;\n offset += adjustment;\n }\n return pointTransformer(d).y + offset;\n }, \"y\")\n };\n}, \"getLineFunctionsWithOffset\");\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"calculateDeltaAndAngle\", () => {\n it(\"should calculate the angle and deltas between two points\", () => {\n expect(calculateDeltaAndAngle([0, 0], [0, 1])).toStrictEqual({\n angle: 1.5707963267948966,\n deltaX: 0,\n deltaY: 1\n });\n expect(calculateDeltaAndAngle([1, 0], [0, -1])).toStrictEqual({\n angle: 0.7853981633974483,\n deltaX: -1,\n deltaY: -1\n });\n expect(calculateDeltaAndAngle({ x: 1, y: 0 }, [0, -1])).toStrictEqual({\n angle: 0.7853981633974483,\n deltaX: -1,\n deltaY: -1\n });\n expect(calculateDeltaAndAngle({ x: 1, y: 0 }, { x: 1, y: 0 })).toStrictEqual({\n angle: NaN,\n deltaX: 0,\n deltaY: 0\n });\n });\n it(\"should calculate the angle and deltas if one point in undefined\", () => {\n expect(calculateDeltaAndAngle(void 0, [0, 1])).toStrictEqual({\n angle: 0,\n deltaX: 0,\n deltaY: 0\n });\n expect(calculateDeltaAndAngle([0, 1], void 0)).toStrictEqual({\n angle: 0,\n deltaX: 0,\n deltaY: 0\n });\n });\n });\n}\n\nexport {\n getLineFunctionsWithOffset\n};\n", + "import {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/utils/subGraphTitleMargins.ts\nvar getSubGraphTitleMargins = /* @__PURE__ */ __name(({\n flowchart\n}) => {\n const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;\n const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;\n const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;\n return {\n subGraphTitleTopMargin,\n subGraphTitleBottomMargin,\n subGraphTitleTotalMargin\n };\n}, \"getSubGraphTitleMargins\");\n\nexport {\n getSubGraphTitleMargins\n};\n", + "const defaultIconDimensions = Object.freeze(\n {\n left: 0,\n top: 0,\n width: 16,\n height: 16\n }\n);\nconst defaultIconTransformations = Object.freeze({\n rotate: 0,\n vFlip: false,\n hFlip: false\n});\nconst defaultIconProps = Object.freeze({\n ...defaultIconDimensions,\n ...defaultIconTransformations\n});\nconst defaultExtendedIconProps = Object.freeze({\n ...defaultIconProps,\n body: \"\",\n hidden: false\n});\n\nexport { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations };\n", + "import { defaultIconTransformations } from '../icon/defaults.mjs';\n\nconst defaultIconSizeCustomisations = Object.freeze({\n width: null,\n height: null\n});\nconst defaultIconCustomisations = Object.freeze({\n // Dimensions\n ...defaultIconSizeCustomisations,\n // Transformations\n ...defaultIconTransformations\n});\n\nexport { defaultIconCustomisations, defaultIconSizeCustomisations };\n", + "const matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n const colonSeparated = value.split(\":\");\n if (value.slice(0, 1) === \"@\") {\n if (colonSeparated.length < 2 || colonSeparated.length > 3) {\n return null;\n }\n provider = colonSeparated.shift().slice(1);\n }\n if (colonSeparated.length > 3 || !colonSeparated.length) {\n return null;\n }\n if (colonSeparated.length > 1) {\n const name2 = colonSeparated.pop();\n const prefix = colonSeparated.pop();\n const result = {\n // Allow provider without '@': \"provider:prefix:name\"\n provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n prefix,\n name: name2\n };\n return validate && !validateIconName(result) ? null : result;\n }\n const name = colonSeparated[0];\n const dashSeparated = name.split(\"-\");\n if (dashSeparated.length > 1) {\n const result = {\n provider,\n prefix: dashSeparated.shift(),\n name: dashSeparated.join(\"-\")\n };\n return validate && !validateIconName(result) ? null : result;\n }\n if (allowSimpleName && provider === \"\") {\n const result = {\n provider,\n prefix: \"\",\n name\n };\n return validate && !validateIconName(result, allowSimpleName) ? null : result;\n }\n return null;\n};\nconst validateIconName = (icon, allowSimpleName) => {\n if (!icon) {\n return false;\n }\n return !!// Check prefix: cannot be empty, unless allowSimpleName is enabled\n // Check name: cannot be empty\n ((allowSimpleName && icon.prefix === \"\" || !!icon.prefix) && !!icon.name);\n};\n\nexport { matchIconName, stringToIcon, validateIconName };\n", + "function mergeIconTransformations(obj1, obj2) {\n const result = {};\n if (!obj1.hFlip !== !obj2.hFlip) {\n result.hFlip = true;\n }\n if (!obj1.vFlip !== !obj2.vFlip) {\n result.vFlip = true;\n }\n const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n if (rotate) {\n result.rotate = rotate;\n }\n return result;\n}\n\nexport { mergeIconTransformations };\n", + "import { defaultExtendedIconProps, defaultIconTransformations } from './defaults.mjs';\nimport { mergeIconTransformations } from './transformations.mjs';\n\nfunction mergeIconData(parent, child) {\n const result = mergeIconTransformations(parent, child);\n for (const key in defaultExtendedIconProps) {\n if (key in defaultIconTransformations) {\n if (key in parent && !(key in result)) {\n result[key] = defaultIconTransformations[key];\n }\n } else if (key in child) {\n result[key] = child[key];\n } else if (key in parent) {\n result[key] = parent[key];\n }\n }\n return result;\n}\n\nexport { mergeIconData };\n", + "function getIconsTree(data, names) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n const resolved = /* @__PURE__ */ Object.create(null);\n function resolve(name) {\n if (icons[name]) {\n return resolved[name] = [];\n }\n if (!(name in resolved)) {\n resolved[name] = null;\n const parent = aliases[name] && aliases[name].parent;\n const value = parent && resolve(parent);\n if (value) {\n resolved[name] = [parent].concat(value);\n }\n }\n return resolved[name];\n }\n (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n return resolved;\n}\n\nexport { getIconsTree };\n", + "import { mergeIconData } from '../icon/merge.mjs';\nimport { getIconsTree } from './tree.mjs';\nimport '../icon/defaults.mjs';\nimport '../icon/transformations.mjs';\n\nfunction internalGetIconData(data, name, tree) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n let currentProps = {};\n function parse(name2) {\n currentProps = mergeIconData(\n icons[name2] || aliases[name2],\n currentProps\n );\n }\n parse(name);\n tree.forEach(parse);\n return mergeIconData(data, currentProps);\n}\nfunction getIconData(data, name) {\n if (data.icons[name]) {\n return internalGetIconData(data, name, []);\n }\n const tree = getIconsTree(data, [name])[name];\n return tree ? internalGetIconData(data, name, tree) : null;\n}\n\nexport { getIconData, internalGetIconData };\n", + "const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n if (ratio === 1) {\n return size;\n }\n precision = precision || 100;\n if (typeof size === \"number\") {\n return Math.ceil(size * ratio * precision) / precision;\n }\n if (typeof size !== \"string\") {\n return size;\n }\n const oldParts = size.split(unitsSplit);\n if (oldParts === null || !oldParts.length) {\n return size;\n }\n const newParts = [];\n let code = oldParts.shift();\n let isNumber = unitsTest.test(code);\n while (true) {\n if (isNumber) {\n const num = parseFloat(code);\n if (isNaN(num)) {\n newParts.push(code);\n } else {\n newParts.push(Math.ceil(num * ratio * precision) / precision);\n }\n } else {\n newParts.push(code);\n }\n code = oldParts.shift();\n if (code === void 0) {\n return newParts.join(\"\");\n }\n isNumber = !isNumber;\n }\n}\n\nexport { calculateSize };\n", + "function splitSVGDefs(content, tag = \"defs\") {\n let defs = \"\";\n const index = content.indexOf(\"<\" + tag);\n while (index >= 0) {\n const start = content.indexOf(\">\", index);\n const end = content.indexOf(\"</\" + tag);\n if (start === -1 || end === -1) {\n break;\n }\n const endEnd = content.indexOf(\">\", end);\n if (endEnd === -1) {\n break;\n }\n defs += content.slice(start + 1, end).trim();\n content = content.slice(0, index).trim() + content.slice(endEnd + 1);\n }\n return {\n defs,\n content\n };\n}\nfunction mergeDefsAndContent(defs, content) {\n return defs ? \"<defs>\" + defs + \"</defs>\" + content : content;\n}\nfunction wrapSVGContent(body, start, end) {\n const split = splitSVGDefs(body);\n return mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\nexport { mergeDefsAndContent, splitSVGDefs, wrapSVGContent };\n", + "import { defaultIconProps } from '../icon/defaults.mjs';\nimport { defaultIconCustomisations } from '../customisations/defaults.mjs';\nimport { calculateSize } from './size.mjs';\nimport { wrapSVGContent } from './defs.mjs';\n\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\nfunction iconToSVG(icon, customisations) {\n const fullIcon = {\n ...defaultIconProps,\n ...icon\n };\n const fullCustomisations = {\n ...defaultIconCustomisations,\n ...customisations\n };\n const box = {\n left: fullIcon.left,\n top: fullIcon.top,\n width: fullIcon.width,\n height: fullIcon.height\n };\n let body = fullIcon.body;\n [fullIcon, fullCustomisations].forEach((props) => {\n const transformations = [];\n const hFlip = props.hFlip;\n const vFlip = props.vFlip;\n let rotation = props.rotate;\n if (hFlip) {\n if (vFlip) {\n rotation += 2;\n } else {\n transformations.push(\n \"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\"\n );\n transformations.push(\"scale(-1 1)\");\n box.top = box.left = 0;\n }\n } else if (vFlip) {\n transformations.push(\n \"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\"\n );\n transformations.push(\"scale(1 -1)\");\n box.top = box.left = 0;\n }\n let tempValue;\n if (rotation < 0) {\n rotation -= Math.floor(rotation / 4) * 4;\n }\n rotation = rotation % 4;\n switch (rotation) {\n case 1:\n tempValue = box.height / 2 + box.top;\n transformations.unshift(\n \"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n case 2:\n transformations.unshift(\n \"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\"\n );\n break;\n case 3:\n tempValue = box.width / 2 + box.left;\n transformations.unshift(\n \"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n }\n if (rotation % 2 === 1) {\n if (box.left !== box.top) {\n tempValue = box.left;\n box.left = box.top;\n box.top = tempValue;\n }\n if (box.width !== box.height) {\n tempValue = box.width;\n box.width = box.height;\n box.height = tempValue;\n }\n }\n if (transformations.length) {\n body = wrapSVGContent(\n body,\n '<g transform=\"' + transformations.join(\" \") + '\">',\n \"</g>\"\n );\n }\n });\n const customisationsWidth = fullCustomisations.width;\n const customisationsHeight = fullCustomisations.height;\n const boxWidth = box.width;\n const boxHeight = box.height;\n let width;\n let height;\n if (customisationsWidth === null) {\n height = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n width = calculateSize(height, boxWidth / boxHeight);\n } else {\n width = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n height = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n }\n const attributes = {};\n const setAttr = (prop, value) => {\n if (!isUnsetKeyword(value)) {\n attributes[prop] = value.toString();\n }\n };\n setAttr(\"width\", width);\n setAttr(\"height\", height);\n const viewBox = [box.left, box.top, boxWidth, boxHeight];\n attributes.viewBox = viewBox.join(\" \");\n return {\n attributes,\n viewBox,\n body\n };\n}\n\nexport { iconToSVG, isUnsetKeyword };\n", + "const regex = /\\sid=\"(\\S+)\"/g;\nconst randomPrefix = \"IconifyId\" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);\nlet counter = 0;\nfunction replaceIDs(body, prefix = randomPrefix) {\n const ids = [];\n let match;\n while (match = regex.exec(body)) {\n ids.push(match[1]);\n }\n if (!ids.length) {\n return body;\n }\n const suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n ids.forEach((id) => {\n const newID = typeof prefix === \"function\" ? prefix(id) : prefix + (counter++).toString();\n const escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n body = body.replace(\n // Allowed characters before id: [#;\"]\n // Allowed characters after id: [)\"], .[a-z]\n new RegExp('([#;\"])(' + escapedID + ')([\")]|\\\\.[a-z])', \"g\"),\n \"$1\" + newID + suffix + \"$3\"\n );\n });\n body = body.replace(new RegExp(suffix, \"g\"), \"\");\n return body;\n}\n\nexport { replaceIDs };\n", + "function iconToHTML(body, attributes) {\n let renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : ' xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n for (const attr in attributes) {\n renderAttribsHTML += \" \" + attr + '=\"' + attributes[attr] + '\"';\n }\n return '<svg xmlns=\"http://www.w3.org/2000/svg\"' + renderAttribsHTML + \">\" + body + \"</svg>\";\n}\n\nexport { iconToHTML };\n", + "import {\n __name,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/icons.ts\nimport { getIconData, iconToHTML, iconToSVG, replaceIDs, stringToIcon } from \"@iconify/utils\";\nvar unknownIcon = {\n body: '<g><rect width=\"80\" height=\"80\" style=\"fill: #087ebf; stroke-width: 0px;\"/><text transform=\"translate(21.16 64.67)\" style=\"fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;\"><tspan x=\"0\" y=\"0\">?</tspan></text></g>',\n height: 80,\n width: 80\n};\nvar iconsStore = /* @__PURE__ */ new Map();\nvar loaderStore = /* @__PURE__ */ new Map();\nvar registerIconPacks = /* @__PURE__ */ __name((iconLoaders) => {\n for (const iconLoader of iconLoaders) {\n if (!iconLoader.name) {\n throw new Error(\n 'Invalid icon loader. Must have a \"name\" property with non-empty string value.'\n );\n }\n log.debug(\"Registering icon pack:\", iconLoader.name);\n if (\"loader\" in iconLoader) {\n loaderStore.set(iconLoader.name, iconLoader.loader);\n } else if (\"icons\" in iconLoader) {\n iconsStore.set(iconLoader.name, iconLoader.icons);\n } else {\n log.error(\"Invalid icon loader:\", iconLoader);\n throw new Error('Invalid icon loader. Must have either \"icons\" or \"loader\" property.');\n }\n }\n}, \"registerIconPacks\");\nvar getRegisteredIconData = /* @__PURE__ */ __name(async (iconName, fallbackPrefix) => {\n const data = stringToIcon(iconName, true, fallbackPrefix !== void 0);\n if (!data) {\n throw new Error(`Invalid icon name: ${iconName}`);\n }\n const prefix = data.prefix || fallbackPrefix;\n if (!prefix) {\n throw new Error(`Icon name must contain a prefix: ${iconName}`);\n }\n let icons = iconsStore.get(prefix);\n if (!icons) {\n const loader = loaderStore.get(prefix);\n if (!loader) {\n throw new Error(`Icon set not found: ${data.prefix}`);\n }\n try {\n const loaded = await loader();\n icons = { ...loaded, prefix };\n iconsStore.set(prefix, icons);\n } catch (e) {\n log.error(e);\n throw new Error(`Failed to load icon set: ${data.prefix}`);\n }\n }\n const iconData = getIconData(icons, data.name);\n if (!iconData) {\n throw new Error(`Icon not found: ${iconName}`);\n }\n return iconData;\n}, \"getRegisteredIconData\");\nvar getIconSVG = /* @__PURE__ */ __name(async (iconName, customisations) => {\n let iconData;\n try {\n iconData = await getRegisteredIconData(iconName, customisations?.fallbackPrefix);\n } catch (e) {\n log.error(e);\n iconData = unknownIcon;\n }\n const renderData = iconToSVG(iconData, customisations);\n const svg = iconToHTML(replaceIDs(renderData.body), renderData.attributes);\n return svg;\n}, \"getIconSVG\");\n\nexport {\n unknownIcon,\n registerIconPacks,\n getIconSVG\n};\n", + "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BLANK_URL = exports.relativeFirstCharacters = exports.whitespaceEscapeCharsRegex = exports.urlSchemeRegex = exports.ctrlCharactersRegex = exports.htmlCtrlEntityRegex = exports.htmlEntitiesRegex = exports.invalidProtocolRegex = void 0;\nexports.invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\nexports.htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\nexports.htmlCtrlEntityRegex = /&(newline|tab);/gi;\nexports.ctrlCharactersRegex = /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\nexports.urlSchemeRegex = /^.+(:|:)/gim;\nexports.whitespaceEscapeCharsRegex = /(\\\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;\nexports.relativeFirstCharacters = [\".\", \"/\"];\nexports.BLANK_URL = \"about:blank\";\n", + "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sanitizeUrl = void 0;\nvar constants_1 = require(\"./constants\");\nfunction isRelativeUrlWithoutProtocol(url) {\n return constants_1.relativeFirstCharacters.indexOf(url[0]) > -1;\n}\nfunction decodeHtmlCharacters(str) {\n var removedNullByte = str.replace(constants_1.ctrlCharactersRegex, \"\");\n return removedNullByte.replace(constants_1.htmlEntitiesRegex, function (match, dec) {\n return String.fromCharCode(dec);\n });\n}\nfunction isValidUrl(url) {\n return URL.canParse(url);\n}\nfunction decodeURI(uri) {\n try {\n return decodeURIComponent(uri);\n }\n catch (e) {\n // Ignoring error\n // It is possible that the URI contains a `%` not associated\n // with URI/URL-encoding.\n return uri;\n }\n}\nfunction sanitizeUrl(url) {\n if (!url) {\n return constants_1.BLANK_URL;\n }\n var charsToDecode;\n var decodedUrl = decodeURI(url.trim());\n do {\n decodedUrl = decodeHtmlCharacters(decodedUrl)\n .replace(constants_1.htmlCtrlEntityRegex, \"\")\n .replace(constants_1.ctrlCharactersRegex, \"\")\n .replace(constants_1.whitespaceEscapeCharsRegex, \"\")\n .trim();\n decodedUrl = decodeURI(decodedUrl);\n charsToDecode =\n decodedUrl.match(constants_1.ctrlCharactersRegex) ||\n decodedUrl.match(constants_1.htmlEntitiesRegex) ||\n decodedUrl.match(constants_1.htmlCtrlEntityRegex) ||\n decodedUrl.match(constants_1.whitespaceEscapeCharsRegex);\n } while (charsToDecode && charsToDecode.length > 0);\n var sanitizedUrl = decodedUrl;\n if (!sanitizedUrl) {\n return constants_1.BLANK_URL;\n }\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n // Remove any leading whitespace before checking the URL scheme\n var trimmedUrl = sanitizedUrl.trimStart();\n var urlSchemeParseResults = trimmedUrl.match(constants_1.urlSchemeRegex);\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n var urlScheme = urlSchemeParseResults[0].toLowerCase().trim();\n if (constants_1.invalidProtocolRegex.test(urlScheme)) {\n return constants_1.BLANK_URL;\n }\n var backSanitized = trimmedUrl.replace(/\\\\/g, \"/\");\n // Handle special cases for mailto: and custom deep-link protocols\n if (urlScheme === \"mailto:\" || urlScheme.includes(\"://\")) {\n return backSanitized;\n }\n // For http and https URLs, perform additional validation\n if (urlScheme === \"http:\" || urlScheme === \"https:\") {\n if (!isValidUrl(backSanitized)) {\n return constants_1.BLANK_URL;\n }\n var url_1 = new URL(backSanitized);\n url_1.protocol = url_1.protocol.toLowerCase();\n url_1.hostname = url_1.hostname.toLowerCase();\n return url_1.toString();\n }\n return backSanitized;\n}\nexports.sanitizeUrl = sanitizeUrl;\n", + "export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n", + "export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n", + "import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n", + "export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n", + "import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n", + "export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n", + "const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n", + "export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n", + "export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n", + "export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n", + "export default function(x) {\n return x;\n}\n", + "import identity from \"./identity.js\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return d => +scale(d);\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return d => +scale(d) + offset;\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient === right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d) + offset); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = Array.from(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function(_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n", + "var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n", + "export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n", + "import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n", + "import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n", + "function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n", + "import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n", + "// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n", + "function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n", + "import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n", + "export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n", + "import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n", + "import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n", + "import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n", + "export default function(update) {\n return new Array(update.length);\n}\n", + "import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n", + "export default function(x) {\n return function() {\n return x;\n };\n}\n", + "import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n", + "import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n", + "export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n", + "import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n", + "export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n", + "import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n", + "export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n", + "export default function() {\n return Array.from(this);\n}\n", + "export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n", + "export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n", + "export default function() {\n return !this.node();\n}\n", + "export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n", + "import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n", + "export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n", + "import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n", + "function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n", + "function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n", + "function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n", + "function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n", + "function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n", + "function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n", + "import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n", + "import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n", + "function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n", + "function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n", + "export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n", + "function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n", + "import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n", + "export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n", + "import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n", + "import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n", + "export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n", + "import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n", + "export const radians = Math.PI / 180;\nexport const degrees = 180 / Math.PI;\n", + "import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\n// https://observablehq.com/@mbostock/lab-and-rgb\nconst K = 18,\n Xn = 0.96422,\n Yn = 1,\n Zn = 0.82521,\n t0 = 4 / 29,\n t1 = 6 / 29,\n t2 = 3 * t1 * t1,\n t3 = t1 * t1 * t1;\n\nfunction labConvert(o) {\n if (o instanceof Lab) return new Lab(o.l, o.a, o.b, o.opacity);\n if (o instanceof Hcl) return hcl2lab(o);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = rgb2lrgb(o.r),\n g = rgb2lrgb(o.g),\n b = rgb2lrgb(o.b),\n y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;\n if (r === g && g === b) x = z = y; else {\n x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);\n z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);\n }\n return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);\n}\n\nexport function gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nexport default function lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nexport function Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Lab, lab, extend(Color, {\n brighter(k) {\n return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n darker(k) {\n return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);\n },\n rgb() {\n var y = (this.l + 16) / 116,\n x = isNaN(this.a) ? y : y + this.a / 500,\n z = isNaN(this.b) ? y : y - this.b / 200;\n x = Xn * lab2xyz(x);\n y = Yn * lab2xyz(y);\n z = Zn * lab2xyz(z);\n return new Rgb(\n lrgb2rgb( 3.1338561 * x - 1.6168667 * y - 0.4906146 * z),\n lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.0334540 * z),\n lrgb2rgb( 0.0719453 * x - 0.2289914 * y + 1.4052427 * z),\n this.opacity\n );\n }\n}));\n\nfunction xyz2lab(t) {\n return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;\n}\n\nfunction lab2xyz(t) {\n return t > t1 ? t * t * t : t2 * (t - t0);\n}\n\nfunction lrgb2rgb(x) {\n return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);\n}\n\nfunction rgb2lrgb(x) {\n return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);\n}\n\nfunction hclConvert(o) {\n if (o instanceof Hcl) return new Hcl(o.h, o.c, o.l, o.opacity);\n if (!(o instanceof Lab)) o = labConvert(o);\n if (o.a === 0 && o.b === 0) return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);\n var h = Math.atan2(o.b, o.a) * degrees;\n return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);\n}\n\nexport function lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nexport function Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nfunction hcl2lab(o) {\n if (isNaN(o.h)) return new Lab(o.l, 0, 0, o.opacity);\n var h = o.h * radians;\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n}\n\ndefine(Hcl, hcl, extend(Color, {\n brighter(k) {\n return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);\n },\n darker(k) {\n return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);\n },\n rgb() {\n return hcl2lab(this).rgb();\n }\n}));\n", + "export default x => () => x;\n", + "import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n", + "import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n", + "export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n", + "import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n", + "export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n", + "export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n", + "import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n", + "import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n", + "import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n", + "export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n", + "var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n", + "import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n", + "import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n", + "import {hcl as colorHcl} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = colorHcl(start)).h, (end = colorHcl(end)).h),\n c = color(start.c, end.c),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.c = c(t);\n start.l = l(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n}\n\nexport default hcl(hue);\nexport var hclLong = hcl(color);\n", + "var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n", + "import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n", + "import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n", + "import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n", + "import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n", + "import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n", + "import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n", + "import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n", + "import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n", + "import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n", + "import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n", + "import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n", + "import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n", + "import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n", + "import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n", + "import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n", + "function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n", + "import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n", + "import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n", + "import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n", + "import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n", + "function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n", + "import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n", + "function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n", + "import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n", + "import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n", + "import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n", + "export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n", + "import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n", + "import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n", + "const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n", + "export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n", + "import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n", + "export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n", + "export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n", + "// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n", + "// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n", + "import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n", + "import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n", + "import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n", + "export default function(x) {\n return x;\n}\n", + "import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n", + "import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n", + "import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n", + "import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n", + "import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n", + "export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n", + "import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n", + "import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n", + "export default function constants(x) {\n return function() {\n return x;\n };\n}\n", + "export default function number(x) {\n return +x;\n}\n", + "import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n", + "import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n", + "import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n", + "export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n", + "const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n", + "import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n", + "export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n", + "import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n", + "import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n", + "import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n", + "import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n", + "import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n", + "import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n", + "import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n", + "import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n", + "import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n", + "import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n", + "import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n", + "export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n", + "import colors from \"../colors.js\";\n\nexport default colors(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\");\n", + "export default function(x) {\n return function constant() {\n return x;\n };\n}\n", + "export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n", + "import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n", + "import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n", + "export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n", + "function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n", + "export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n", + "import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n", + "export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n", + "export default function(d) {\n return d;\n}\n", + "import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n", + "import pointRadial from \"../pointRadial.js\";\n\nclass Bump {\n constructor(context, x) {\n this._context = context;\n this._x = x;\n }\n areaStart() {\n this._line = 0;\n }\n areaEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n }\n point(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: {\n this._point = 1;\n if (this._line) this._context.lineTo(x, y);\n else this._context.moveTo(x, y);\n break;\n }\n case 1: this._point = 2; // falls through\n default: {\n if (this._x) this._context.bezierCurveTo(this._x0 = (this._x0 + x) / 2, this._y0, this._x0, y, x, y);\n else this._context.bezierCurveTo(this._x0, this._y0 = (this._y0 + y) / 2, x, this._y0, x, y);\n break;\n }\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nclass BumpRadial {\n constructor(context) {\n this._context = context;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {}\n point(x, y) {\n x = +x, y = +y;\n if (this._point === 0) {\n this._point = 1;\n } else {\n const p0 = pointRadial(this._x0, this._y0);\n const p1 = pointRadial(this._x0, this._y0 = (this._y0 + y) / 2);\n const p2 = pointRadial(x, this._y0);\n const p3 = pointRadial(x, y);\n this._context.moveTo(...p0);\n this._context.bezierCurveTo(...p1, ...p2, ...p3);\n }\n this._x0 = x, this._y0 = y;\n }\n}\n\nexport function bumpX(context) {\n return new Bump(context, true);\n}\n\nexport function bumpY(context) {\n return new Bump(context, false);\n}\n\nexport function bumpRadial(context) {\n return new BumpRadial(context);\n}\n", + "export default function() {}\n", + "export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n", + "import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n", + "import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n", + "import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n", + "export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n", + "import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n", + "import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n", + "import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n", + "import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n", + "import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // falls through\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n", + "import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n", + "function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n", + "function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n", + "function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n", + "export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n", + "/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n", + "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n", + "import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n", + "import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n", + "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n", + "import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n", + "/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n", + "import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n", + "import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n", + "import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n", + "/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n", + "import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n", + "/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n", + "import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n", + "import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n", + "import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n", + "/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n", + "import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n", + "import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n", + "import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n", + "import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n", + "/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n", + "/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n", + "import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n", + "import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n", + "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n", + "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n", + "import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n", + "import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n", + "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n", + "import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n", + "/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n", + "import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n", + "import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n", + "import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n", + "import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n", + "import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n", + "import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n", + "import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n", + "import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n", + "/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n", + "/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n", + "/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n", + "import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n", + "import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n", + "import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n", + "import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n", + "import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n", + "/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n", + "import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n", + "import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n", + "import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n", + "import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n", + "import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n", + "/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n", + "import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n", + "/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n", + "import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n", + "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n", + "import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n", + "/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n", + "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n", + "import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n", + "/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n", + "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n", + "import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n", + "import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nexport default isArrayLikeObject;\n", + "/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n", + "import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n", + "import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n", + "import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n", + "/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n", + "import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n", + "import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n", + "/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n", + "import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n", + "import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n", + "/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n", + "/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n", + "import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n", + "/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n", + "import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n", + "import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n", + "import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n", + "import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n", + "import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n", + "/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nexport default identity;\n", + "/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nexport default apply;\n", + "import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n", + "/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\n", + "import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n", + "/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n", + "import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n", + "import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\n", + "import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n", + "import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n", + "import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n", + "import {\n __name,\n assignWithDepth_default,\n common_default,\n detectType,\n directiveRegex,\n log,\n sanitizeDirective\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/utils.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX,\n curveBumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore,\n select\n} from \"d3\";\nimport memoize from \"lodash-es/memoize.js\";\nimport merge from \"lodash-es/merge.js\";\nvar ZERO_WIDTH_SPACE = \"\\u200B\";\nvar d3CurveTypes = {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBumpX,\n curveBumpY,\n curveBundle,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCardinal,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveCatmullRom,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore\n};\nvar directiveWithoutOpen = /\\s*(?:(\\w+)(?=:):|(\\w+))\\s*(?:(\\w+)|((?:(?!}%{2}).|\\r?\\n)*))?\\s*(?:}%{2})?/gi;\nvar detectInit = /* @__PURE__ */ __name(function(text, config) {\n const inits = detectDirective(text, /(?:init\\b)|(?:initialize\\b)/);\n let results = {};\n if (Array.isArray(inits)) {\n const args = inits.map((init) => init.args);\n sanitizeDirective(args);\n results = assignWithDepth_default(results, [...args]);\n } else {\n results = inits.args;\n }\n if (!results) {\n return;\n }\n let type = detectType(text, config);\n const prop = \"config\";\n if (results[prop] !== void 0) {\n if (type === \"flowchart-v2\") {\n type = \"flowchart\";\n }\n results[type] = results[prop];\n delete results[prop];\n }\n return results;\n}, \"detectInit\");\nvar detectDirective = /* @__PURE__ */ __name(function(text, type = null) {\n try {\n const commentWithoutDirectives = new RegExp(\n `[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*\n`,\n \"ig\"\n );\n text = text.trim().replace(commentWithoutDirectives, \"\").replace(/'/gm, '\"');\n log.debug(\n `Detecting diagram directive${type !== null ? \" type:\" + type : \"\"} based on the text:${text}`\n );\n let match;\n const result = [];\n while ((match = directiveRegex.exec(text)) !== null) {\n if (match.index === directiveRegex.lastIndex) {\n directiveRegex.lastIndex++;\n }\n if (match && !type || type && match[1]?.match(type) || type && match[2]?.match(type)) {\n const type2 = match[1] ? match[1] : match[2];\n const args = match[3] ? match[3].trim() : match[4] ? JSON.parse(match[4].trim()) : null;\n result.push({ type: type2, args });\n }\n }\n if (result.length === 0) {\n return { type: text, args: null };\n }\n return result.length === 1 ? result[0] : result;\n } catch (error) {\n log.error(\n `ERROR: ${error.message} - Unable to parse directive type: '${type}' based on the text: '${text}'`\n );\n return { type: void 0, args: null };\n }\n}, \"detectDirective\");\nvar removeDirectives = /* @__PURE__ */ __name(function(text) {\n return text.replace(directiveRegex, \"\");\n}, \"removeDirectives\");\nvar isSubstringInArray = /* @__PURE__ */ __name(function(str, arr) {\n for (const [i, element] of arr.entries()) {\n if (element.match(str)) {\n return i;\n }\n }\n return -1;\n}, \"isSubstringInArray\");\nfunction interpolateToCurve(interpolate, defaultCurve) {\n if (!interpolate) {\n return defaultCurve;\n }\n const curveName = `curve${interpolate.charAt(0).toUpperCase() + interpolate.slice(1)}`;\n return d3CurveTypes[curveName] ?? defaultCurve;\n}\n__name(interpolateToCurve, \"interpolateToCurve\");\nfunction formatUrl(linkStr, config) {\n const url = linkStr.trim();\n if (!url) {\n return void 0;\n }\n if (config.securityLevel !== \"loose\") {\n return sanitizeUrl(url);\n }\n return url;\n}\n__name(formatUrl, \"formatUrl\");\nvar runFunc = /* @__PURE__ */ __name((functionName, ...params) => {\n const arrPaths = functionName.split(\".\");\n const len = arrPaths.length - 1;\n const fnName = arrPaths[len];\n let obj = window;\n for (let i = 0; i < len; i++) {\n obj = obj[arrPaths[i]];\n if (!obj) {\n log.error(`Function name: ${functionName} not found in window`);\n return;\n }\n }\n obj[fnName](...params);\n}, \"runFunc\");\nfunction distance(p1, p2) {\n if (!p1 || !p2) {\n return 0;\n }\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n__name(distance, \"distance\");\nfunction traverseEdge(points) {\n let prevPoint;\n let totalDistance = 0;\n points.forEach((point) => {\n totalDistance += distance(point, prevPoint);\n prevPoint = point;\n });\n const remainingDistance = totalDistance / 2;\n return calculatePoint(points, remainingDistance);\n}\n__name(traverseEdge, \"traverseEdge\");\nfunction calcLabelPosition(points) {\n if (points.length === 1) {\n return points[0];\n }\n return traverseEdge(points);\n}\n__name(calcLabelPosition, \"calcLabelPosition\");\nvar roundNumber = /* @__PURE__ */ __name((num, precision = 2) => {\n const factor = Math.pow(10, precision);\n return Math.round(num * factor) / factor;\n}, \"roundNumber\");\nvar calculatePoint = /* @__PURE__ */ __name((points, distanceToTraverse) => {\n let prevPoint = void 0;\n let remainingDistance = distanceToTraverse;\n for (const point of points) {\n if (prevPoint) {\n const vectorDistance = distance(point, prevPoint);\n if (vectorDistance === 0) {\n return prevPoint;\n }\n if (vectorDistance < remainingDistance) {\n remainingDistance -= vectorDistance;\n } else {\n const distanceRatio = remainingDistance / vectorDistance;\n if (distanceRatio <= 0) {\n return prevPoint;\n }\n if (distanceRatio >= 1) {\n return { x: point.x, y: point.y };\n }\n if (distanceRatio > 0 && distanceRatio < 1) {\n return {\n x: roundNumber((1 - distanceRatio) * prevPoint.x + distanceRatio * point.x, 5),\n y: roundNumber((1 - distanceRatio) * prevPoint.y + distanceRatio * point.y, 5)\n };\n }\n }\n }\n prevPoint = point;\n }\n throw new Error(\"Could not find a suitable point for the given distance\");\n}, \"calculatePoint\");\nvar calcCardinalityPosition = /* @__PURE__ */ __name((isRelationTypePresent, points, initialPosition) => {\n log.info(`our points ${JSON.stringify(points)}`);\n if (points[0] !== initialPosition) {\n points = points.reverse();\n }\n const distanceToCardinalityPoint = 25;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = isRelationTypePresent ? 10 : 5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n return cardinalityPosition;\n}, \"calcCardinalityPosition\");\nfunction calcTerminalLabelPosition(terminalMarkerSize, position, _points) {\n const points = structuredClone(_points);\n log.info(\"our points\", points);\n if (position !== \"start_left\" && position !== \"start_right\") {\n points.reverse();\n }\n const distanceToCardinalityPoint = 25 + terminalMarkerSize;\n const center = calculatePoint(points, distanceToCardinalityPoint);\n const d = 10 + terminalMarkerSize * 0.5;\n const angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);\n const cardinalityPosition = { x: 0, y: 0 };\n if (position === \"start_left\") {\n cardinalityPosition.x = Math.sin(angle + Math.PI) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle + Math.PI) * d + (points[0].y + center.y) / 2;\n } else if (position === \"end_right\") {\n cardinalityPosition.x = Math.sin(angle - Math.PI) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle - Math.PI) * d + (points[0].y + center.y) / 2 - 5;\n } else if (position === \"end_left\") {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2 - 5;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2 - 5;\n } else {\n cardinalityPosition.x = Math.sin(angle) * d + (points[0].x + center.x) / 2;\n cardinalityPosition.y = -Math.cos(angle) * d + (points[0].y + center.y) / 2;\n }\n return cardinalityPosition;\n}\n__name(calcTerminalLabelPosition, \"calcTerminalLabelPosition\");\nfunction getStylesFromArray(arr) {\n let style = \"\";\n let labelStyle = \"\";\n for (const element of arr) {\n if (element !== void 0) {\n if (element.startsWith(\"color:\") || element.startsWith(\"text-align:\")) {\n labelStyle = labelStyle + element + \";\";\n } else {\n style = style + element + \";\";\n }\n }\n }\n return { style, labelStyle };\n}\n__name(getStylesFromArray, \"getStylesFromArray\");\nvar cnt = 0;\nvar generateId = /* @__PURE__ */ __name(() => {\n cnt++;\n return \"id-\" + Math.random().toString(36).substr(2, 12) + \"-\" + cnt;\n}, \"generateId\");\nfunction makeRandomHex(length) {\n let result = \"\";\n const characters = \"0123456789abcdef\";\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n__name(makeRandomHex, \"makeRandomHex\");\nvar random = /* @__PURE__ */ __name((options) => {\n return makeRandomHex(options.length);\n}, \"random\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n anchor: \"start\",\n style: \"#666\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0,\n valign: void 0,\n text: \"\"\n };\n}, \"getTextObj\");\nvar drawSimpleText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(common_default.lineBreakRegex, \" \");\n const [, _fontSizePx] = parseFontSize(textData.fontSize);\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.style(\"text-anchor\", textData.anchor);\n textElem.style(\"font-family\", textData.fontFamily);\n textElem.style(\"font-size\", _fontSizePx);\n textElem.style(\"font-weight\", textData.fontWeight);\n textElem.attr(\"fill\", textData.fill);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.attr(\"fill\", textData.fill);\n span.text(nText);\n return textElem;\n}, \"drawSimpleText\");\nvar wrapLabel = memoize(\n (label, maxWidth, config) => {\n if (!label) {\n return label;\n }\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", joinWith: \"<br/>\" },\n config\n );\n if (common_default.lineBreakRegex.test(label)) {\n return label;\n }\n const words = label.split(\" \").filter(Boolean);\n const completedLines = [];\n let nextLine = \"\";\n words.forEach((word, index) => {\n const wordLength = calculateTextWidth(`${word} `, config);\n const nextLineLength = calculateTextWidth(nextLine, config);\n if (wordLength > maxWidth) {\n const { hyphenatedStrings, remainingWord } = breakString(word, maxWidth, \"-\", config);\n completedLines.push(nextLine, ...hyphenatedStrings);\n nextLine = remainingWord;\n } else if (nextLineLength + wordLength >= maxWidth) {\n completedLines.push(nextLine);\n nextLine = word;\n } else {\n nextLine = [nextLine, word].filter(Boolean).join(\" \");\n }\n const currentWord = index + 1;\n const isLastWord = currentWord === words.length;\n if (isLastWord) {\n completedLines.push(nextLine);\n }\n });\n return completedLines.filter((line) => line !== \"\").join(config.joinWith);\n },\n (label, maxWidth, config) => `${label}${maxWidth}${config.fontSize}${config.fontWeight}${config.fontFamily}${config.joinWith}`\n);\nvar breakString = memoize(\n (word, maxWidth, hyphenCharacter = \"-\", config) => {\n config = Object.assign(\n { fontSize: 12, fontWeight: 400, fontFamily: \"Arial\", margin: 0 },\n config\n );\n const characters = [...word];\n const lines = [];\n let currentLine = \"\";\n characters.forEach((character, index) => {\n const nextLine = `${currentLine}${character}`;\n const lineWidth = calculateTextWidth(nextLine, config);\n if (lineWidth >= maxWidth) {\n const currentCharacter = index + 1;\n const isLastLine = characters.length === currentCharacter;\n const hyphenatedNextLine = `${nextLine}${hyphenCharacter}`;\n lines.push(isLastLine ? nextLine : hyphenatedNextLine);\n currentLine = \"\";\n } else {\n currentLine = nextLine;\n }\n });\n return { hyphenatedStrings: lines, remainingWord: currentLine };\n },\n (word, maxWidth, hyphenCharacter = \"-\", config) => `${word}${maxWidth}${hyphenCharacter}${config.fontSize}${config.fontWeight}${config.fontFamily}`\n);\nfunction calculateTextHeight(text, config) {\n return calculateTextDimensions(text, config).height;\n}\n__name(calculateTextHeight, \"calculateTextHeight\");\nfunction calculateTextWidth(text, config) {\n return calculateTextDimensions(text, config).width;\n}\n__name(calculateTextWidth, \"calculateTextWidth\");\nvar calculateTextDimensions = memoize(\n (text, config) => {\n const { fontSize = 12, fontFamily = \"Arial\", fontWeight = 400 } = config;\n if (!text) {\n return { width: 0, height: 0 };\n }\n const [, _fontSizePx] = parseFontSize(fontSize);\n const fontFamilies = [\"sans-serif\", fontFamily];\n const lines = text.split(common_default.lineBreakRegex);\n const dims = [];\n const body = select(\"body\");\n if (!body.remove) {\n return { width: 0, height: 0, lineHeight: 0 };\n }\n const g = body.append(\"svg\");\n for (const fontFamily2 of fontFamilies) {\n let cHeight = 0;\n const dim = { width: 0, height: 0, lineHeight: 0 };\n for (const line of lines) {\n const textObj = getTextObj();\n textObj.text = line || ZERO_WIDTH_SPACE;\n const textElem = drawSimpleText(g, textObj).style(\"font-size\", _fontSizePx).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily2);\n const bBox = (textElem._groups || textElem)[0][0].getBBox();\n if (bBox.width === 0 && bBox.height === 0) {\n throw new Error(\"svg element not in render tree\");\n }\n dim.width = Math.round(Math.max(dim.width, bBox.width));\n cHeight = Math.round(bBox.height);\n dim.height += cHeight;\n dim.lineHeight = Math.round(Math.max(dim.lineHeight, cHeight));\n }\n dims.push(dim);\n }\n g.remove();\n const index = isNaN(dims[1].height) || isNaN(dims[1].width) || isNaN(dims[1].lineHeight) || dims[0].height > dims[1].height && dims[0].width > dims[1].width && dims[0].lineHeight > dims[1].lineHeight ? 0 : 1;\n return dims[index];\n },\n (text, config) => `${text}${config.fontSize}${config.fontWeight}${config.fontFamily}`\n);\nvar InitIDGenerator = class {\n constructor(deterministic = false, seed) {\n this.count = 0;\n this.count = seed ? seed.length : 0;\n this.next = deterministic ? () => this.count++ : () => Date.now();\n }\n static {\n __name(this, \"InitIDGenerator\");\n }\n};\nvar decoder;\nvar entityDecode = /* @__PURE__ */ __name(function(html) {\n decoder = decoder || document.createElement(\"div\");\n html = escape(html).replace(/%26/g, \"&\").replace(/%23/g, \"#\").replace(/%3B/g, \";\");\n decoder.innerHTML = html;\n return unescape(decoder.textContent);\n}, \"entityDecode\");\nfunction isDetailedError(error) {\n return \"str\" in error;\n}\n__name(isDetailedError, \"isDetailedError\");\nvar insertTitle = /* @__PURE__ */ __name((parent, cssClass, titleTopMargin, title) => {\n if (!title) {\n return;\n }\n const bounds = parent.node()?.getBBox();\n if (!bounds) {\n return;\n }\n parent.append(\"text\").text(title).attr(\"text-anchor\", \"middle\").attr(\"x\", bounds.x + bounds.width / 2).attr(\"y\", -titleTopMargin).attr(\"class\", cssClass);\n}, \"insertTitle\");\nvar parseFontSize = /* @__PURE__ */ __name((fontSize) => {\n if (typeof fontSize === \"number\") {\n return [fontSize, fontSize + \"px\"];\n }\n const fontSizeNumber = parseInt(fontSize ?? \"\", 10);\n if (Number.isNaN(fontSizeNumber)) {\n return [void 0, void 0];\n } else if (fontSize === String(fontSizeNumber)) {\n return [fontSizeNumber, fontSize + \"px\"];\n } else {\n return [fontSizeNumber, fontSize];\n }\n}, \"parseFontSize\");\nfunction cleanAndMerge(defaultData, data) {\n return merge({}, defaultData, data);\n}\n__name(cleanAndMerge, \"cleanAndMerge\");\nvar utils_default = {\n assignWithDepth: assignWithDepth_default,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n calculateTextDimensions,\n cleanAndMerge,\n detectInit,\n detectDirective,\n isSubstringInArray,\n interpolateToCurve,\n calcLabelPosition,\n calcCardinalityPosition,\n calcTerminalLabelPosition,\n formatUrl,\n getStylesFromArray,\n generateId,\n random,\n runFunc,\n entityDecode,\n insertTitle,\n parseFontSize,\n InitIDGenerator\n};\nvar encodeEntities = /* @__PURE__ */ __name(function(text) {\n let txt = text;\n txt = txt.replace(/style.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/classDef.*:\\S*#.*;/g, function(s) {\n return s.substring(0, s.length - 1);\n });\n txt = txt.replace(/#\\w+;/g, function(s) {\n const innerTxt = s.substring(1, s.length - 1);\n const isInt = /^\\+?\\d+$/.test(innerTxt);\n if (isInt) {\n return \"\\uFB02\\xB0\\xB0\" + innerTxt + \"\\xB6\\xDF\";\n } else {\n return \"\\uFB02\\xB0\" + innerTxt + \"\\xB6\\xDF\";\n }\n });\n return txt;\n}, \"encodeEntities\");\nvar decodeEntities = /* @__PURE__ */ __name(function(text) {\n return text.replace(/fl°°/g, \"&#\").replace(/fl°/g, \"&\").replace(/¶ß/g, \";\");\n}, \"decodeEntities\");\nvar getEdgeId = /* @__PURE__ */ __name((from, to, {\n counter = 0,\n prefix,\n suffix\n}, id) => {\n if (id) {\n return id;\n }\n return `${prefix ? `${prefix}_` : \"\"}${from}_${to}_${counter}${suffix ? `_${suffix}` : \"\"}`;\n}, \"getEdgeId\");\nfunction handleUndefinedAttr(attrValue) {\n return attrValue ?? null;\n}\n__name(handleUndefinedAttr, \"handleUndefinedAttr\");\n\nexport {\n ZERO_WIDTH_SPACE,\n removeDirectives,\n interpolateToCurve,\n getStylesFromArray,\n generateId,\n random,\n wrapLabel,\n calculateTextHeight,\n calculateTextWidth,\n isDetailedError,\n parseFontSize,\n cleanAndMerge,\n utils_default,\n encodeEntities,\n decodeEntities,\n getEdgeId,\n handleUndefinedAttr\n};\n", + "/**\n * marked v15.0.11 - a markdown parser\n * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n/**\n * Gets the original marked default options.\n */\nfunction _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null,\n };\n}\nlet _defaults = _getDefaults();\nfunction changeDefaults(newDefaults) {\n _defaults = newDefaults;\n}\n\nconst noopTest = { exec: () => null };\nfunction edit(regex, opt = '') {\n let source = typeof regex === 'string' ? regex : regex.source;\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(other.caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n },\n };\n return obj;\n}\nconst other = {\n codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm,\n outputLinkReplace: /\\\\([\\[\\]])/g,\n indentCodeCompensation: /^(\\s+)(?:```)/,\n beginningSpace: /^\\s+/,\n endingHash: /#$/,\n startingSpaceChar: /^ /,\n endingSpaceChar: / $/,\n nonSpaceChar: /[^ ]/,\n newLineCharGlobal: /\\n/g,\n tabCharGlobal: /\\t/g,\n multipleSpaceGlobal: /\\s+/g,\n blankLine: /^[ \\t]*$/,\n doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/,\n blockquoteStart: /^ {0,3}>/,\n blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,\n blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm,\n listReplaceTabs: /^\\t+/,\n listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,\n listIsTask: /^\\[[ xX]\\] /,\n listReplaceTask: /^\\[[ xX]\\] +/,\n anyLine: /\\n.*\\n/,\n hrefBrackets: /^<(.*)>$/,\n tableDelimiter: /[:|]/,\n tableAlignChars: /^\\||\\| *$/g,\n tableRowBlankLine: /\\n[ \\t]*$/,\n tableAlignRight: /^ *-+: *$/,\n tableAlignCenter: /^ *:-+: *$/,\n tableAlignLeft: /^ *:-+ *$/,\n startATag: /^<a /i,\n endATag: /^<\\/a>/i,\n startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i,\n endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i,\n startAngleBracket: /^</,\n endAngleBracket: />$/,\n pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,\n unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u,\n escapeTest: /[&<>\"']/,\n escapeReplace: /[&<>\"']/g,\n escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,\n escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,\n unescapeTest: /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,\n caret: /(^|[^\\[])\\^/g,\n percentDecode: /%25/g,\n findPipe: /\\|/g,\n splitPipe: / \\|/,\n slashPipe: /\\\\\\|/g,\n carriageReturn: /\\r\\n|\\r/g,\n spaceLine: /^ +$/gm,\n notSpaceStart: /^\\S*/,\n endingNewline: /\\n$/,\n listItemRegex: (bull) => new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`),\n nextBulletRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`),\n hrRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),\n fencesBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`),\n headingBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),\n htmlBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, 'i'),\n};\n/**\n * Block-Level Grammar\n */\nconst newline = /^(?:[ \\t]*(?:\\n|$))+/;\nconst blockCode = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = /(?:[*+-]|\\d{1,9}[.)])/;\nconst lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/;\nconst lheading = edit(lheadingCore)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, /(?: {4}| {0,3}\\t)/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .replace(/\\|table/g, '') // table not in commonmark\n .getRegex();\nconst lheadingGfm = edit(lheadingCore)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, /(?: {4}| {0,3}\\t)/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/) // table can interrupt\n .getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\nconst list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\nconst _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\nconst html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n/**\n * Normal Block Grammar\n */\nconst blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText,\n};\n/**\n * GFM Block Grammar\n */\nconst gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', '(?: {4}| {0,3}\\t)[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\nconst blockGfm = {\n ...blockNormal,\n lheading: lheadingGfm,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex(),\n};\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\nconst blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex(),\n};\n/**\n * Inline-Level Grammar\n */\nconst escape$1 = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nconst inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nconst br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nconst inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\n// list of unicode punctuation marks, plus any missing characters from CommonMark spec\nconst _punctuation = /[\\p{P}\\p{S}]/u;\nconst _punctuationOrSpace = /[\\s\\p{P}\\p{S}]/u;\nconst _notPunctuationOrSpace = /[^\\s\\p{P}\\p{S}]/u;\nconst punctuation = edit(/^((?![*_])punctSpace)/, 'u')\n .replace(/punctSpace/g, _punctuationOrSpace).getRegex();\n// GFM allows ~ inside strong and em for strikethrough\nconst _punctuationGfmStrongEm = /(?!~)[\\p{P}\\p{S}]/u;\nconst _punctuationOrSpaceGfmStrongEm = /(?!~)[\\s\\p{P}\\p{S}]/u;\nconst _notPunctuationOrSpaceGfmStrongEm = /(?:[^\\s\\p{P}\\p{S}]|~)/u;\n// sequences em should skip over [title](link), `code`, <html>\nconst blockSkip = /\\[[^[\\]]*?\\]\\((?:\\\\.|[^\\\\\\(\\)]|\\((?:\\\\.|[^\\\\\\(\\)])*\\))*\\)|`[^`]*?`|<[^<>]*?>/g;\nconst emStrongLDelimCore = /^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/;\nconst emStrongLDelim = edit(emStrongLDelimCore, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst emStrongLDelimGfm = edit(emStrongLDelimCore, 'u')\n .replace(/punct/g, _punctuationGfmStrongEm)\n .getRegex();\nconst emStrongRDelimAstCore = '^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)' // (5) #***# can be either Left or Right Delimiter\n + '|notPunctSpace(\\\\*+)(?=notPunctSpace)'; // (6) a***a can be either Left or Right Delimiter\nconst emStrongRDelimAst = edit(emStrongRDelimAstCore, 'gu')\n .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n .replace(/punctSpace/g, _punctuationOrSpace)\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, 'gu')\n .replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm)\n .replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm)\n .replace(/punct/g, _punctuationGfmStrongEm)\n .getRegex();\n// (6) Not allowed for _\nconst emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)punct(_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|notPunctSpace(_+)(?!_)(?=punctSpace|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)punctSpace(_+)(?=notPunctSpace)' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=punct)' // (4) ___# can only be Left Delimiter\n + '|(?!_)punct(_+)(?!_)(?=punct)', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n .replace(/punctSpace/g, _punctuationOrSpace)\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst anyPunctuation = edit(/\\\\(punct)/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\nconst autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\nconst _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\nconst tag = edit('^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\nconst _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\nconst link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\nconst reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\nconst nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\nconst reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n/**\n * Normal Inline Grammar\n */\nconst inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape: escape$1,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest,\n};\n/**\n * Pedantic Inline Grammar\n */\nconst inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex(),\n};\n/**\n * GFM Inline Grammar\n */\nconst inlineGfm = {\n ...inlineNormal,\n emStrongRDelimAst: emStrongRDelimAstGfm,\n emStrongLDelim: emStrongLDelimGfm,\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])((?:\\\\.|[^\\\\])*?(?:\\\\.|[^\\s~\\\\]))\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/,\n};\n/**\n * GFM + Line Breaks Inline Grammar\n */\nconst inlineBreaks = {\n ...inlineGfm,\n br: edit(br).replace('{2,}', '*').getRegex(),\n text: edit(inlineGfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex(),\n};\n/**\n * exports\n */\nconst block = {\n normal: blockNormal,\n gfm: blockGfm,\n pedantic: blockPedantic,\n};\nconst inline = {\n normal: inlineNormal,\n gfm: inlineGfm,\n breaks: inlineBreaks,\n pedantic: inlinePedantic,\n};\n\n/**\n * Helpers\n */\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n};\nconst getEscapeReplacement = (ch) => escapeReplacements[ch];\nfunction escape(html, encode) {\n if (encode) {\n if (other.escapeTest.test(html)) {\n return html.replace(other.escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (other.escapeTestNoEncode.test(html)) {\n return html.replace(other.escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n}\nfunction cleanUrl(href) {\n try {\n href = encodeURI(href).replace(other.percentDecode, '%');\n }\n catch {\n return null;\n }\n return href;\n}\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(other.findPipe, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(other.splitPipe);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells.at(-1)?.trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(other.slashPipe, '|');\n }\n return cells;\n}\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nfunction rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && true) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n}\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n if (level > 0) {\n return -2;\n }\n return -1;\n}\n\nfunction outputLink(cap, link, raw, lexer, rules) {\n const href = link.href;\n const title = link.title || null;\n const text = cap[1].replace(rules.other.outputLinkReplace, '$1');\n lexer.state.inLink = true;\n const token = {\n type: cap[0].charAt(0) === '!' ? 'image' : 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text),\n };\n lexer.state.inLink = false;\n return token;\n}\nfunction indentCodeCompensation(raw, text, rules) {\n const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(rules.other.beginningSpace);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n}\n/**\n * Tokenizer\n */\nclass _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || _defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0],\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(this.rules.other.codeRemoveIndent, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text,\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '', this.rules);\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text,\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (this.rules.other.endingHash.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text),\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: rtrim(cap[0], '\\n'),\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n let lines = rtrim(cap[0], '\\n').split('\\n');\n let raw = '';\n let text = '';\n const tokens = [];\n while (lines.length > 0) {\n let inBlockquote = false;\n const currentLines = [];\n let i;\n for (i = 0; i < lines.length; i++) {\n // get lines up to a continuation\n if (this.rules.other.blockquoteStart.test(lines[i])) {\n currentLines.push(lines[i]);\n inBlockquote = true;\n }\n else if (!inBlockquote) {\n currentLines.push(lines[i]);\n }\n else {\n break;\n }\n }\n lines = lines.slice(i);\n const currentRaw = currentLines.join('\\n');\n const currentText = currentRaw\n // precede setext continuation with 4 spaces so it isn't a setext\n .replace(this.rules.other.blockquoteSetextReplace, '\\n $1')\n .replace(this.rules.other.blockquoteSetextReplace2, '');\n raw = raw ? `${raw}\\n${currentRaw}` : currentRaw;\n text = text ? `${text}\\n${currentText}` : currentText;\n // parse blockquote lines as top level tokens\n // merge paragraphs if this is a continuation\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n this.lexer.blockTokens(currentText, tokens, true);\n this.lexer.state.top = top;\n // if there is no continuation then we are done\n if (lines.length === 0) {\n break;\n }\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'code') {\n // blockquote continuation cannot be preceded by a code block\n break;\n }\n else if (lastToken?.type === 'blockquote') {\n // include continuation in nested blockquote\n const oldToken = lastToken;\n const newText = oldToken.raw + '\\n' + lines.join('\\n');\n const newToken = this.blockquote(newText);\n tokens[tokens.length - 1] = newToken;\n raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;\n text = text.substring(0, text.length - oldToken.text.length) + newToken.text;\n break;\n }\n else if (lastToken?.type === 'list') {\n // include continuation in nested list\n const oldToken = lastToken;\n const newText = oldToken.raw + '\\n' + lines.join('\\n');\n const newToken = this.list(newText);\n tokens[tokens.length - 1] = newToken;\n raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;\n text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;\n lines = newText.substring(tokens.at(-1).raw.length).split('\\n');\n continue;\n }\n }\n return {\n type: 'blockquote',\n raw,\n tokens,\n text,\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: [],\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = this.rules.other.listItemRegex(bull);\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n let raw = '';\n let itemContents = '';\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(this.rules.other.listReplaceTabs, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let blankLine = !line.trim();\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else if (blankLine) {\n indent = cap[1].length + 1;\n }\n else {\n indent = cap[2].search(this.rules.other.nonSpaceChar); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n if (blankLine && this.rules.other.blankLine.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = this.rules.other.nextBulletRegex(indent);\n const hrRegex = this.rules.other.hrRegex(indent);\n const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);\n const headingBeginRegex = this.rules.other.headingBeginRegex(indent);\n const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n let nextLineWithoutTabs;\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(this.rules.other.listReplaceNesting, ' ');\n nextLineWithoutTabs = nextLine;\n }\n else {\n nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of html block\n if (htmlBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(nextLine)) {\n break;\n }\n if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLineWithoutTabs.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.replace(this.rules.other.tabCharGlobal, ' ').search(this.rules.other.nonSpaceChar) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLineWithoutTabs.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (this.rules.other.doubleBlankLine.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = this.rules.other.listIsTask.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(this.rules.other.listReplaceTask, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: [],\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n const lastItem = list.items.at(-1);\n if (lastItem) {\n lastItem.raw = lastItem.raw.trimEnd();\n lastItem.text = lastItem.text.trimEnd();\n }\n else {\n // not a list since there were no items\n return;\n }\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => this.rules.other.anyLine.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0],\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, ' ');\n const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title,\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!this.rules.other.tableDelimiter.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(this.rules.other.tableAlignChars, '').split('|');\n const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: [],\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (this.rules.other.tableAlignRight.test(align)) {\n item.align.push('right');\n }\n else if (this.rules.other.tableAlignCenter.test(align)) {\n item.align.push('center');\n }\n else if (this.rules.other.tableAlignLeft.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (let i = 0; i < headers.length; i++) {\n item.header.push({\n text: headers[i],\n tokens: this.lexer.inline(headers[i]),\n header: true,\n align: item.align[i],\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map((cell, i) => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell),\n header: false,\n align: item.align[i],\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1]),\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text),\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0]),\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: cap[1],\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {\n this.lexer.state.inLink = true;\n }\n else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0],\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(this.rules.other.endAngleBracket.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex === -2) {\n // more open parens than closed\n return;\n }\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = this.rules.other.pedanticHrefTitle.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (this.rules.other.startAngleBracket.test(href)) {\n if (this.options.pedantic && !(this.rules.other.endAngleBracket.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title,\n }, cap[0], this.lexer, this.rules);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text,\n };\n }\n return outputLink(cap, link, cap[0], this.lexer, this.rules);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text),\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text),\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(this.rules.other.newLineCharGlobal, ' ');\n const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);\n const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n return {\n type: 'codespan',\n raw: cap[0],\n text,\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0],\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2]),\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = cap[1];\n href = 'mailto:' + text;\n }\n else {\n text = cap[1];\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text,\n },\n ],\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = cap[0];\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = cap[0];\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text,\n },\n ],\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n const escaped = this.lexer.state.inRawBlock;\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n escaped,\n };\n }\n }\n}\n\n/**\n * Block Lexer\n */\nclass _Lexer {\n tokens;\n options;\n state;\n tokenizer;\n inlineQueue;\n constructor(options) {\n // TokenList cannot be created in one go\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || _defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true,\n };\n const rules = {\n other,\n block: block.normal,\n inline: inline.normal,\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n }\n else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n }\n else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline,\n };\n }\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n lex(src) {\n src = src.replace(other.carriageReturn, '\\n');\n this.blockTokens(src, this.tokens);\n for (let i = 0; i < this.inlineQueue.length; i++) {\n const next = this.inlineQueue[i];\n this.inlineTokens(next.src, next.tokens);\n }\n this.inlineQueue = [];\n return this.tokens;\n }\n blockTokens(src, tokens = [], lastParagraphClipped = false) {\n if (this.options.pedantic) {\n src = src.replace(other.tabCharGlobal, ' ').replace(other.spaceLine, '');\n }\n while (src) {\n let token;\n if (this.options.extensions?.block?.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (token.raw.length === 1 && lastToken !== undefined) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n lastToken.raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.at(-1).src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue.at(-1).src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title,\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n let cutSrc = src;\n if (this.options.extensions?.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n const lastToken = tokens.at(-1);\n if (lastParagraphClipped && lastToken?.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue.at(-1).src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue.at(-1).src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match = null;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index)\n + '[' + 'a'.repeat(match[0].length - 2) + ']'\n + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n let keepPrevChar = false;\n let prevChar = '';\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n let token;\n // extensions\n if (this.options.extensions?.inline?.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (token.type === 'text' && lastToken?.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n let cutSrc = src;\n if (this.options.extensions?.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n}\n\n/**\n * Renderer\n */\nclass _Renderer {\n options;\n parser; // set by the parser\n constructor(options) {\n this.options = options || _defaults;\n }\n space(token) {\n return '';\n }\n code({ text, lang, escaped }) {\n const langString = (lang || '').match(other.notSpaceStart)?.[0];\n const code = text.replace(other.endingNewline, '') + '\\n';\n if (!langString) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n return '<pre><code class=\"language-'\n + escape(langString)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n }\n blockquote({ tokens }) {\n const body = this.parser.parse(tokens);\n return `<blockquote>\\n${body}</blockquote>\\n`;\n }\n html({ text }) {\n return text;\n }\n heading({ tokens, depth }) {\n return `<h${depth}>${this.parser.parseInline(tokens)}</h${depth}>\\n`;\n }\n hr(token) {\n return '<hr>\\n';\n }\n list(token) {\n const ordered = token.ordered;\n const start = token.start;\n let body = '';\n for (let j = 0; j < token.items.length; j++) {\n const item = token.items[j];\n body += this.listitem(item);\n }\n const type = ordered ? 'ol' : 'ul';\n const startAttr = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startAttr + '>\\n' + body + '</' + type + '>\\n';\n }\n listitem(item) {\n let itemBody = '';\n if (item.task) {\n const checkbox = this.checkbox({ checked: !!item.checked });\n if (item.loose) {\n if (item.tokens[0]?.type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + escape(item.tokens[0].tokens[0].text);\n item.tokens[0].tokens[0].escaped = true;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n raw: checkbox + ' ',\n text: checkbox + ' ',\n escaped: true,\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parser.parse(item.tokens, !!item.loose);\n return `<li>${itemBody}</li>\\n`;\n }\n checkbox({ checked }) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\">';\n }\n paragraph({ tokens }) {\n return `<p>${this.parser.parseInline(tokens)}</p>\\n`;\n }\n table(token) {\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < token.header.length; j++) {\n cell += this.tablecell(token.header[j]);\n }\n header += this.tablerow({ text: cell });\n let body = '';\n for (let j = 0; j < token.rows.length; j++) {\n const row = token.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.tablecell(row[k]);\n }\n body += this.tablerow({ text: cell });\n }\n if (body)\n body = `<tbody>${body}</tbody>`;\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n tablerow({ text }) {\n return `<tr>\\n${text}</tr>\\n`;\n }\n tablecell(token) {\n const content = this.parser.parseInline(token.tokens);\n const type = token.header ? 'th' : 'td';\n const tag = token.align\n ? `<${type} align=\"${token.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong({ tokens }) {\n return `<strong>${this.parser.parseInline(tokens)}</strong>`;\n }\n em({ tokens }) {\n return `<em>${this.parser.parseInline(tokens)}</em>`;\n }\n codespan({ text }) {\n return `<code>${escape(text, true)}</code>`;\n }\n br(token) {\n return '<br>';\n }\n del({ tokens }) {\n return `<del>${this.parser.parseInline(tokens)}</del>`;\n }\n link({ href, title, tokens }) {\n const text = this.parser.parseInline(tokens);\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + (escape(title)) + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n image({ href, title, text, tokens }) {\n if (tokens) {\n text = this.parser.parseInline(tokens, this.parser.textRenderer);\n }\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return escape(text);\n }\n href = cleanHref;\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${escape(title)}\"`;\n }\n out += '>';\n return out;\n }\n text(token) {\n return 'tokens' in token && token.tokens\n ? this.parser.parseInline(token.tokens)\n : ('escaped' in token && token.escaped ? token.text : escape(token.text));\n }\n}\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\nclass _TextRenderer {\n // no need for block level renderers\n strong({ text }) {\n return text;\n }\n em({ text }) {\n return text;\n }\n codespan({ text }) {\n return text;\n }\n del({ text }) {\n return text;\n }\n html({ text }) {\n return text;\n }\n text({ text }) {\n return text;\n }\n link({ text }) {\n return '' + text;\n }\n image({ text }) {\n return '' + text;\n }\n br() {\n return '';\n }\n}\n\n/**\n * Parsing & Compiling\n */\nclass _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || _defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.renderer.parser = this;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const anyToken = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions?.renderers?.[anyToken.type]) {\n const genericToken = anyToken;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n const token = anyToken;\n switch (token.type) {\n case 'space': {\n out += this.renderer.space(token);\n continue;\n }\n case 'hr': {\n out += this.renderer.hr(token);\n continue;\n }\n case 'heading': {\n out += this.renderer.heading(token);\n continue;\n }\n case 'code': {\n out += this.renderer.code(token);\n continue;\n }\n case 'table': {\n out += this.renderer.table(token);\n continue;\n }\n case 'blockquote': {\n out += this.renderer.blockquote(token);\n continue;\n }\n case 'list': {\n out += this.renderer.list(token);\n continue;\n }\n case 'html': {\n out += this.renderer.html(token);\n continue;\n }\n case 'paragraph': {\n out += this.renderer.paragraph(token);\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = this.renderer.text(textToken);\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + this.renderer.text(textToken);\n }\n if (top) {\n out += this.renderer.paragraph({\n type: 'paragraph',\n raw: body,\n text: body,\n tokens: [{ type: 'text', raw: body, text: body, escaped: true }],\n });\n }\n else {\n out += body;\n }\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer = this.renderer) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const anyToken = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions?.renderers?.[anyToken.type]) {\n const ret = this.options.extensions.renderers[anyToken.type].call({ parser: this }, anyToken);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(anyToken.type)) {\n out += ret || '';\n continue;\n }\n }\n const token = anyToken;\n switch (token.type) {\n case 'escape': {\n out += renderer.text(token);\n break;\n }\n case 'html': {\n out += renderer.html(token);\n break;\n }\n case 'link': {\n out += renderer.link(token);\n break;\n }\n case 'image': {\n out += renderer.image(token);\n break;\n }\n case 'strong': {\n out += renderer.strong(token);\n break;\n }\n case 'em': {\n out += renderer.em(token);\n break;\n }\n case 'codespan': {\n out += renderer.codespan(token);\n break;\n }\n case 'br': {\n out += renderer.br(token);\n break;\n }\n case 'del': {\n out += renderer.del(token);\n break;\n }\n case 'text': {\n out += renderer.text(token);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n}\n\nclass _Hooks {\n options;\n block;\n constructor(options) {\n this.options = options || _defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens',\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n /**\n * Provide function to tokenize markdown\n */\n provideLexer() {\n return this.block ? _Lexer.lex : _Lexer.lexInline;\n }\n /**\n * Provide function to parse tokens\n */\n provideParser() {\n return this.block ? _Parser.parse : _Parser.parseInline;\n }\n}\n\nclass Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.parseMarkdown(true);\n parseInline = this.parseMarkdown(false);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (['options', 'parser'].includes(prop)) {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (['options', 'block'].includes(prop)) {\n // ignore options and block properties\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n parseMarkdown(blockType) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const parse = (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n const throwError = this.onError(!!opt.silent, !!opt.async);\n // throw error if an extension set async to true but parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n return throwError(new Error('marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.'));\n }\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n opt.hooks.block = blockType;\n }\n const lexer = opt.hooks ? opt.hooks.provideLexer() : (blockType ? _Lexer.lex : _Lexer.lexInline);\n const parser = opt.hooks ? opt.hooks.provideParser() : (blockType ? _Parser.parse : _Parser.parseInline);\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n return parse;\n }\n onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n\nconst markedInstance = new Marked();\nfunction marked(src, opt) {\n return markedInstance.parse(src, opt);\n}\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\nmarked.defaults = _defaults;\n/**\n * Use Extension\n */\nmarked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n/**\n * Run callback for every token\n */\nmarked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n};\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\nconst options = marked.options;\nconst setOptions = marked.setOptions;\nconst use = marked.use;\nconst walkTokens = marked.walkTokens;\nconst parseInline = marked.parseInline;\nconst parse = marked;\nconst parser = _Parser.parse;\nconst lexer = _Lexer.lex;\n\nexport { _Hooks as Hooks, _Lexer as Lexer, Marked, _Parser as Parser, _Renderer as Renderer, _TextRenderer as TextRenderer, _Tokenizer as Tokenizer, _defaults as defaults, _getDefaults as getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };\n//# sourceMappingURL=marked.esm.js.map\n", + "export function dedent(templ) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n var strings = Array.from(typeof templ === 'string' ? [templ] : templ);\n strings[strings.length - 1] = strings[strings.length - 1].replace(/\\r?\\n([\\t ]*)$/, '');\n var indentLengths = strings.reduce(function (arr, str) {\n var matches = str.match(/\\n([\\t ]+|(?!\\s).)/g);\n if (matches) {\n return arr.concat(matches.map(function (match) { var _a, _b; return (_b = (_a = match.match(/[\\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }));\n }\n return arr;\n }, []);\n if (indentLengths.length) {\n var pattern_1 = new RegExp(\"\\n[\\t ]{\" + Math.min.apply(Math, indentLengths) + \"}\", 'g');\n strings = strings.map(function (str) { return str.replace(pattern_1, '\\n'); });\n }\n strings[0] = strings[0].replace(/^\\r?\\n/, '');\n var string = strings[0];\n values.forEach(function (value, i) {\n var endentations = string.match(/(?:^|\\n)( *)$/);\n var endentation = endentations ? endentations[1] : '';\n var indentedValue = value;\n if (typeof value === 'string' && value.includes('\\n')) {\n indentedValue = String(value)\n .split('\\n')\n .map(function (str, i) {\n return i === 0 ? str : \"\" + endentation + str;\n })\n .join('\\n');\n }\n string += indentedValue + strings[i + 1];\n });\n return string;\n}\nexport default dedent;\n//# sourceMappingURL=index.js.map", + "import {\n decodeEntities\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n common_default,\n getConfig2 as getConfig,\n hasKatex,\n log,\n renderKatex\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/createText.ts\nimport { select } from \"d3\";\n\n// src/rendering-util/handle-markdown-text.ts\nimport { marked } from \"marked\";\nimport { dedent } from \"ts-dedent\";\nfunction preprocessMarkdown(markdown, { markdownAutoWrap }) {\n const withoutBR = markdown.replace(/<br\\/>/g, \"\\n\");\n const withoutMultipleNewlines = withoutBR.replace(/\\n{2,}/g, \"\\n\");\n const withoutExtraSpaces = dedent(withoutMultipleNewlines);\n if (markdownAutoWrap === false) {\n return withoutExtraSpaces.replace(/ /g, \" \");\n }\n return withoutExtraSpaces;\n}\n__name(preprocessMarkdown, \"preprocessMarkdown\");\nfunction markdownToLines(markdown, config = {}) {\n const preprocessedMarkdown = preprocessMarkdown(markdown, config);\n const nodes = marked.lexer(preprocessedMarkdown);\n const lines = [[]];\n let currentLine = 0;\n function processNode(node, parentType = \"normal\") {\n if (node.type === \"text\") {\n const textLines = node.text.split(\"\\n\");\n textLines.forEach((textLine, index) => {\n if (index !== 0) {\n currentLine++;\n lines.push([]);\n }\n textLine.split(\" \").forEach((word) => {\n word = word.replace(/'/g, `'`);\n if (word) {\n lines[currentLine].push({ content: word, type: parentType });\n }\n });\n });\n } else if (node.type === \"strong\" || node.type === \"em\") {\n node.tokens.forEach((contentNode) => {\n processNode(contentNode, node.type);\n });\n } else if (node.type === \"html\") {\n lines[currentLine].push({ content: node.text, type: \"normal\" });\n }\n }\n __name(processNode, \"processNode\");\n nodes.forEach((treeNode) => {\n if (treeNode.type === \"paragraph\") {\n treeNode.tokens?.forEach((contentNode) => {\n processNode(contentNode);\n });\n } else if (treeNode.type === \"html\") {\n lines[currentLine].push({ content: treeNode.text, type: \"normal\" });\n }\n });\n return lines;\n}\n__name(markdownToLines, \"markdownToLines\");\nfunction markdownToHTML(markdown, { markdownAutoWrap } = {}) {\n const nodes = marked.lexer(markdown);\n function output(node) {\n if (node.type === \"text\") {\n if (markdownAutoWrap === false) {\n return node.text.replace(/\\n */g, \"<br/>\").replace(/ /g, \" \");\n }\n return node.text.replace(/\\n */g, \"<br/>\");\n } else if (node.type === \"strong\") {\n return `<strong>${node.tokens?.map(output).join(\"\")}</strong>`;\n } else if (node.type === \"em\") {\n return `<em>${node.tokens?.map(output).join(\"\")}</em>`;\n } else if (node.type === \"paragraph\") {\n return `<p>${node.tokens?.map(output).join(\"\")}</p>`;\n } else if (node.type === \"space\") {\n return \"\";\n } else if (node.type === \"html\") {\n return `${node.text}`;\n } else if (node.type === \"escape\") {\n return node.text;\n }\n return `Unsupported markdown: ${node.type}`;\n }\n __name(output, \"output\");\n return nodes.map(output).join(\"\");\n}\n__name(markdownToHTML, \"markdownToHTML\");\n\n// src/rendering-util/splitText.ts\nfunction splitTextToChars(text) {\n if (Intl.Segmenter) {\n return [...new Intl.Segmenter().segment(text)].map((s) => s.segment);\n }\n return [...text];\n}\n__name(splitTextToChars, \"splitTextToChars\");\nfunction splitWordToFitWidth(checkFit, word) {\n const characters = splitTextToChars(word.content);\n return splitWordToFitWidthRecursion(checkFit, [], characters, word.type);\n}\n__name(splitWordToFitWidth, \"splitWordToFitWidth\");\nfunction splitWordToFitWidthRecursion(checkFit, usedChars, remainingChars, type) {\n if (remainingChars.length === 0) {\n return [\n { content: usedChars.join(\"\"), type },\n { content: \"\", type }\n ];\n }\n const [nextChar, ...rest] = remainingChars;\n const newWord = [...usedChars, nextChar];\n if (checkFit([{ content: newWord.join(\"\"), type }])) {\n return splitWordToFitWidthRecursion(checkFit, newWord, rest, type);\n }\n if (usedChars.length === 0 && nextChar) {\n usedChars.push(nextChar);\n remainingChars.shift();\n }\n return [\n { content: usedChars.join(\"\"), type },\n { content: remainingChars.join(\"\"), type }\n ];\n}\n__name(splitWordToFitWidthRecursion, \"splitWordToFitWidthRecursion\");\nfunction splitLineToFitWidth(line, checkFit) {\n if (line.some(({ content }) => content.includes(\"\\n\"))) {\n throw new Error(\"splitLineToFitWidth does not support newlines in the line\");\n }\n return splitLineToFitWidthRecursion(line, checkFit);\n}\n__name(splitLineToFitWidth, \"splitLineToFitWidth\");\nfunction splitLineToFitWidthRecursion(words, checkFit, lines = [], newLine = []) {\n if (words.length === 0) {\n if (newLine.length > 0) {\n lines.push(newLine);\n }\n return lines.length > 0 ? lines : [];\n }\n let joiner = \"\";\n if (words[0].content === \" \") {\n joiner = \" \";\n words.shift();\n }\n const nextWord = words.shift() ?? { content: \" \", type: \"normal\" };\n const lineWithNextWord = [...newLine];\n if (joiner !== \"\") {\n lineWithNextWord.push({ content: joiner, type: \"normal\" });\n }\n lineWithNextWord.push(nextWord);\n if (checkFit(lineWithNextWord)) {\n return splitLineToFitWidthRecursion(words, checkFit, lines, lineWithNextWord);\n }\n if (newLine.length > 0) {\n lines.push(newLine);\n words.unshift(nextWord);\n } else if (nextWord.content) {\n const [line, rest] = splitWordToFitWidth(checkFit, nextWord);\n lines.push([line]);\n if (rest.content) {\n words.unshift(rest);\n }\n }\n return splitLineToFitWidthRecursion(words, checkFit, lines);\n}\n__name(splitLineToFitWidthRecursion, \"splitLineToFitWidthRecursion\");\n\n// src/rendering-util/createText.ts\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr(\"style\", styleFn);\n }\n}\n__name(applyStyle, \"applyStyle\");\nasync function addHtmlSpan(element, node, width, classes, addBackground = false) {\n const fo = element.append(\"foreignObject\");\n fo.attr(\"width\", `${10 * width}px`);\n fo.attr(\"height\", `${10 * width}px`);\n const div = fo.append(\"xhtml:div\");\n let label = node.label;\n if (node.label && hasKatex(node.label)) {\n label = await renderKatex(node.label.replace(common_default.lineBreakRegex, \"\\n\"), getConfig());\n }\n const labelClass = node.isNode ? \"nodeLabel\" : \"edgeLabel\";\n const span = div.append(\"span\");\n span.html(label);\n applyStyle(span, node.labelStyle);\n span.attr(\"class\", `${labelClass} ${classes}`);\n applyStyle(div, node.labelStyle);\n div.style(\"display\", \"table-cell\");\n div.style(\"white-space\", \"nowrap\");\n div.style(\"line-height\", \"1.5\");\n div.style(\"max-width\", width + \"px\");\n div.style(\"text-align\", \"center\");\n div.attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\");\n if (addBackground) {\n div.attr(\"class\", \"labelBkg\");\n }\n let bbox = div.node().getBoundingClientRect();\n if (bbox.width === width) {\n div.style(\"display\", \"table\");\n div.style(\"white-space\", \"break-spaces\");\n div.style(\"width\", width + \"px\");\n bbox = div.node().getBoundingClientRect();\n }\n return fo.node();\n}\n__name(addHtmlSpan, \"addHtmlSpan\");\nfunction createTspan(textElement, lineIndex, lineHeight) {\n return textElement.append(\"tspan\").attr(\"class\", \"text-outer-tspan\").attr(\"x\", 0).attr(\"y\", lineIndex * lineHeight - 0.1 + \"em\").attr(\"dy\", lineHeight + \"em\");\n}\n__name(createTspan, \"createTspan\");\nfunction computeWidthOfText(parentNode, lineHeight, line) {\n const testElement = parentNode.append(\"text\");\n const testSpan = createTspan(testElement, 1, lineHeight);\n updateTextContentAndStyles(testSpan, line);\n const textLength = testSpan.node().getComputedTextLength();\n testElement.remove();\n return textLength;\n}\n__name(computeWidthOfText, \"computeWidthOfText\");\nfunction computeDimensionOfText(parentNode, lineHeight, text) {\n const testElement = parentNode.append(\"text\");\n const testSpan = createTspan(testElement, 1, lineHeight);\n updateTextContentAndStyles(testSpan, [{ content: text, type: \"normal\" }]);\n const textDimension = testSpan.node()?.getBoundingClientRect();\n if (textDimension) {\n testElement.remove();\n }\n return textDimension;\n}\n__name(computeDimensionOfText, \"computeDimensionOfText\");\nfunction createFormattedText(width, g, structuredText, addBackground = false) {\n const lineHeight = 1.1;\n const labelGroup = g.append(\"g\");\n const bkg = labelGroup.insert(\"rect\").attr(\"class\", \"background\").attr(\"style\", \"stroke: none\");\n const textElement = labelGroup.append(\"text\").attr(\"y\", \"-10.1\");\n let lineIndex = 0;\n for (const line of structuredText) {\n const checkWidth = /* @__PURE__ */ __name((line2) => computeWidthOfText(labelGroup, lineHeight, line2) <= width, \"checkWidth\");\n const linesUnderWidth = checkWidth(line) ? [line] : splitLineToFitWidth(line, checkWidth);\n for (const preparedLine of linesUnderWidth) {\n const tspan = createTspan(textElement, lineIndex, lineHeight);\n updateTextContentAndStyles(tspan, preparedLine);\n lineIndex++;\n }\n }\n if (addBackground) {\n const bbox = textElement.node().getBBox();\n const padding = 2;\n bkg.attr(\"x\", bbox.x - padding).attr(\"y\", bbox.y - padding).attr(\"width\", bbox.width + 2 * padding).attr(\"height\", bbox.height + 2 * padding);\n return labelGroup.node();\n } else {\n return textElement.node();\n }\n}\n__name(createFormattedText, \"createFormattedText\");\nfunction updateTextContentAndStyles(tspan, wrappedLine) {\n tspan.text(\"\");\n wrappedLine.forEach((word, index) => {\n const innerTspan = tspan.append(\"tspan\").attr(\"font-style\", word.type === \"em\" ? \"italic\" : \"normal\").attr(\"class\", \"text-inner-tspan\").attr(\"font-weight\", word.type === \"strong\" ? \"bold\" : \"normal\");\n if (index === 0) {\n innerTspan.text(word.content);\n } else {\n innerTspan.text(\" \" + word.content);\n }\n });\n}\n__name(updateTextContentAndStyles, \"updateTextContentAndStyles\");\nfunction replaceIconSubstring(text) {\n return text.replace(\n /fa[bklrs]?:fa-[\\w-]+/g,\n // cspell: disable-line\n (s) => `<i class='${s.replace(\":\", \" \")}'></i>`\n );\n}\n__name(replaceIconSubstring, \"replaceIconSubstring\");\nvar createText = /* @__PURE__ */ __name(async (el, text = \"\", {\n style = \"\",\n isTitle = false,\n classes = \"\",\n useHtmlLabels = true,\n isNode = true,\n width = 200,\n addSvgBackground = false\n} = {}, config) => {\n log.debug(\n \"XYZ createText\",\n text,\n style,\n isTitle,\n classes,\n useHtmlLabels,\n isNode,\n \"addSvgBackground: \",\n addSvgBackground\n );\n if (useHtmlLabels) {\n const htmlText = markdownToHTML(text, config);\n const decodedReplacedText = replaceIconSubstring(decodeEntities(htmlText));\n const inputForKatex = text.replace(/\\\\\\\\/g, \"\\\\\");\n const node = {\n isNode,\n label: hasKatex(text) ? inputForKatex : decodedReplacedText,\n labelStyle: style.replace(\"fill:\", \"color:\")\n };\n const vertexNode = await addHtmlSpan(el, node, width, classes, addSvgBackground);\n return vertexNode;\n } else {\n const sanitizeBR = text.replace(/<br\\s*\\/?>/g, \"<br/>\");\n const structuredText = markdownToLines(sanitizeBR.replace(\"<br>\", \"<br/>\"), config);\n const svgLabel = createFormattedText(\n width,\n el,\n structuredText,\n text ? addSvgBackground : false\n );\n if (isNode) {\n if (/stroke:/.exec(style)) {\n style = style.replace(\"stroke:\", \"lineColor:\");\n }\n const nodeLabelTextStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/color:/g, \"fill:\");\n select(svgLabel).attr(\"style\", nodeLabelTextStyle);\n } else {\n const edgeLabelRectStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/background:/g, \"fill:\");\n select(svgLabel).select(\"rect\").attr(\"style\", edgeLabelRectStyle.replace(/background:/g, \"fill:\"));\n const edgeLabelTextStyle = style.replace(/stroke:[^;]+;?/g, \"\").replace(/stroke-width:[^;]+;?/g, \"\").replace(/fill:[^;]+;?/g, \"\").replace(/color:/g, \"fill:\");\n select(svgLabel).select(\"text\").attr(\"style\", edgeLabelTextStyle);\n }\n return svgLabel;\n }\n}, \"createText\");\n\nexport {\n computeDimensionOfText,\n replaceIconSubstring,\n createText\n};\n", + "function t(t,e,s){if(t&&t.length){const[n,o]=e,a=Math.PI/180*s,h=Math.cos(a),r=Math.sin(a);for(const e of t){const[t,s]=e;e[0]=(t-n)*h-(s-o)*r+n,e[1]=(t-n)*r+(s-o)*h+o}}}function e(t,e){return t[0]===e[0]&&t[1]===e[1]}function s(s,n,o,a=1){const h=o,r=Math.max(n,.1),i=s[0]&&s[0][0]&&\"number\"==typeof s[0][0]?[s]:s,c=[0,0];if(h)for(const e of i)t(e,c,h);const l=function(t,s,n){const o=[];for(const s of t){const t=[...s];e(t[0],t[t.length-1])||t.push([t[0][0],t[0][1]]),t.length>2&&o.push(t)}const a=[];s=Math.max(s,.1);const h=[];for(const t of o)for(let e=0;e<t.length-1;e++){const s=t[e],n=t[e+1];if(s[1]!==n[1]){const t=Math.min(s[1],n[1]);h.push({ymin:t,ymax:Math.max(s[1],n[1]),x:t===s[1]?s[0]:n[0],islope:(n[0]-s[0])/(n[1]-s[1])})}}if(h.sort(((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!h.length)return a;let r=[],i=h[0].ymin,c=0;for(;r.length||h.length;){if(h.length){let t=-1;for(let e=0;e<h.length&&!(h[e].ymin>i);e++)t=e;h.splice(0,t+1).forEach((t=>{r.push({s:i,edge:t})}))}if(r=r.filter((t=>!(t.edge.ymax<=i))),r.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==n||c%s==0)&&r.length>1)for(let t=0;t<r.length;t+=2){const e=t+1;if(e>=r.length)break;const s=r[t].edge,n=r[e].edge;a.push([[Math.round(s.x),i],[Math.round(n.x),i]])}i+=n,r.forEach((t=>{t.edge.x=t.edge.x+n*t.edge.islope})),c++}return a}(i,r,a);if(h){for(const e of i)t(e,c,-h);!function(e,s,n){const o=[];e.forEach((t=>o.push(...t))),t(o,s,n)}(l,c,-h)}return l}function n(t,e){var n;const o=e.hachureAngle+90;let a=e.hachureGap;a<0&&(a=4*e.strokeWidth),a=Math.round(Math.max(a,.1));let h=1;return e.roughness>=1&&((null===(n=e.randomizer)||void 0===n?void 0:n.next())||Math.random())>.7&&(h=a),s(t,a,o,h||1)}class o{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){const s=n(t,e);return{type:\"fillSketch\",ops:this.renderLines(s,e)}}renderLines(t,e){const s=[];for(const n of t)s.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],e));return s}}function a(t){const e=t[0],s=t[1];return Math.sqrt(Math.pow(e[0]-s[0],2)+Math.pow(e[1]-s[1],2))}class h extends o{fillPolygons(t,e){let s=e.hachureGap;s<0&&(s=4*e.strokeWidth),s=Math.max(s,.1);const o=n(t,Object.assign({},e,{hachureGap:s})),h=Math.PI/180*e.hachureAngle,r=[],i=.5*s*Math.cos(h),c=.5*s*Math.sin(h);for(const[t,e]of o)a([t,e])&&r.push([[t[0]-i,t[1]+c],[...e]],[[t[0]+i,t[1]-c],[...e]]);return{type:\"fillSketch\",ops:this.renderLines(r,e)}}}class r extends o{fillPolygons(t,e){const s=this._fillPolygons(t,e),n=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),o=this._fillPolygons(t,n);return s.ops=s.ops.concat(o.ops),s}}class i{constructor(t){this.helper=t}fillPolygons(t,e){const s=n(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(s,e)}dotsOnLines(t,e){const s=[];let n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.max(n,.1);let o=e.fillWeight;o<0&&(o=e.strokeWidth/2);const h=n/4;for(const r of t){const t=a(r),i=t/n,c=Math.ceil(i)-1,l=t-c*n,u=(r[0][0]+r[1][0])/2-n/4,p=Math.min(r[0][1],r[1][1]);for(let t=0;t<c;t++){const a=p+l+t*n,r=u-h+2*Math.random()*h,i=a-h+2*Math.random()*h,c=this.helper.ellipse(r,i,o,o,e);s.push(...c.ops)}}return{type:\"fillSketch\",ops:s}}}class c{constructor(t){this.helper=t}fillPolygons(t,e){const s=n(t,e);return{type:\"fillSketch\",ops:this.dashedLine(s,e)}}dashedLine(t,e){const s=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,n=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,o=[];return t.forEach((t=>{const h=a(t),r=Math.floor(h/(s+n)),i=(h+n-r*(s+n))/2;let c=t[0],l=t[1];c[0]>l[0]&&(c=t[1],l=t[0]);const u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let t=0;t<r;t++){const a=t*(s+n),h=a+s,r=[c[0]+a*Math.cos(u)+i*Math.cos(u),c[1]+a*Math.sin(u)+i*Math.sin(u)],l=[c[0]+h*Math.cos(u)+i*Math.cos(u),c[1]+h*Math.sin(u)+i*Math.sin(u)];o.push(...this.helper.doubleLineOps(r[0],r[1],l[0],l[1],e))}})),o}}class l{constructor(t){this.helper=t}fillPolygons(t,e){const s=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,o=e.zigzagOffset<0?s:e.zigzagOffset,a=n(t,e=Object.assign({},e,{hachureGap:s+o}));return{type:\"fillSketch\",ops:this.zigzagLines(a,o,e)}}zigzagLines(t,e,s){const n=[];return t.forEach((t=>{const o=a(t),h=Math.round(o/(2*e));let r=t[0],i=t[1];r[0]>i[0]&&(r=t[1],i=t[0]);const c=Math.atan((i[1]-r[1])/(i[0]-r[0]));for(let t=0;t<h;t++){const o=2*t*e,a=2*(t+1)*e,h=Math.sqrt(2*Math.pow(e,2)),i=[r[0]+o*Math.cos(c),r[1]+o*Math.sin(c)],l=[r[0]+a*Math.cos(c),r[1]+a*Math.sin(c)],u=[i[0]+h*Math.cos(c+Math.PI/4),i[1]+h*Math.sin(c+Math.PI/4)];n.push(...this.helper.doubleLineOps(i[0],i[1],u[0],u[1],s),...this.helper.doubleLineOps(u[0],u[1],l[0],l[1],s))}})),n}}const u={};class p{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const f=0,d=1,g=2,M={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function k(t,e){return t.type===e}function b(t){const e=[],s=function(t){const e=new Array;for(;\"\"!==t;)if(t.match(/^([ \\t\\r\\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:f,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:d,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:g,text:\"\"},e}(t);let n=\"BOD\",o=0,a=s[o];for(;!k(a,g);){let h=0;const r=[];if(\"BOD\"===n){if(\"M\"!==a.text&&\"m\"!==a.text)return b(\"M0,0\"+t);o++,h=M[a.text],n=a.text}else k(a,d)?h=M[n]:(o++,h=M[a.text],n=a.text);if(!(o+h<s.length))throw new Error(\"Path data ended short\");for(let t=o;t<o+h;t++){const e=s[t];if(!k(e,d))throw new Error(\"Param not a number: \"+n+\",\"+e.text);r[r.length]=+e.text}if(\"number\"!=typeof M[n])throw new Error(\"Bad segment: \"+n);{const t={key:n,data:r};e.push(t),o+=h,a=s[o],\"M\"===n&&(n=\"L\"),\"m\"===n&&(n=\"l\")}}return e}function y(t){let e=0,s=0,n=0,o=0;const a=[];for(const{key:h,data:r}of t)switch(h){case\"M\":a.push({key:\"M\",data:[...r]}),[e,s]=r,[n,o]=r;break;case\"m\":e+=r[0],s+=r[1],a.push({key:\"M\",data:[e,s]}),n=e,o=s;break;case\"L\":a.push({key:\"L\",data:[...r]}),[e,s]=r;break;case\"l\":e+=r[0],s+=r[1],a.push({key:\"L\",data:[e,s]});break;case\"C\":a.push({key:\"C\",data:[...r]}),e=r[4],s=r[5];break;case\"c\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"C\",data:t}),e=t[4],s=t[5];break}case\"Q\":a.push({key:\"Q\",data:[...r]}),e=r[2],s=r[3];break;case\"q\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"Q\",data:t}),e=t[2],s=t[3];break}case\"A\":a.push({key:\"A\",data:[...r]}),e=r[5],s=r[6];break;case\"a\":e+=r[5],s+=r[6],a.push({key:\"A\",data:[r[0],r[1],r[2],r[3],r[4],e,s]});break;case\"H\":a.push({key:\"H\",data:[...r]}),e=r[0];break;case\"h\":e+=r[0],a.push({key:\"H\",data:[e]});break;case\"V\":a.push({key:\"V\",data:[...r]}),s=r[0];break;case\"v\":s+=r[0],a.push({key:\"V\",data:[s]});break;case\"S\":a.push({key:\"S\",data:[...r]}),e=r[2],s=r[3];break;case\"s\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"S\",data:t}),e=t[2],s=t[3];break}case\"T\":a.push({key:\"T\",data:[...r]}),e=r[0],s=r[1];break;case\"t\":e+=r[0],s+=r[1],a.push({key:\"T\",data:[e,s]});break;case\"Z\":case\"z\":a.push({key:\"Z\",data:[]}),e=n,s=o}return a}function m(t){const e=[];let s=\"\",n=0,o=0,a=0,h=0,r=0,i=0;for(const{key:c,data:l}of t){switch(c){case\"M\":e.push({key:\"M\",data:[...l]}),[n,o]=l,[a,h]=l;break;case\"C\":e.push({key:\"C\",data:[...l]}),n=l[4],o=l[5],r=l[2],i=l[3];break;case\"L\":e.push({key:\"L\",data:[...l]}),[n,o]=l;break;case\"H\":n=l[0],e.push({key:\"L\",data:[n,o]});break;case\"V\":o=l[0],e.push({key:\"L\",data:[n,o]});break;case\"S\":{let t=0,a=0;\"C\"===s||\"S\"===s?(t=n+(n-r),a=o+(o-i)):(t=n,a=o),e.push({key:\"C\",data:[t,a,...l]}),r=l[0],i=l[1],n=l[2],o=l[3];break}case\"T\":{const[t,a]=l;let h=0,c=0;\"Q\"===s||\"T\"===s?(h=n+(n-r),c=o+(o-i)):(h=n,c=o);const u=n+2*(h-n)/3,p=o+2*(c-o)/3,f=t+2*(h-t)/3,d=a+2*(c-a)/3;e.push({key:\"C\",data:[u,p,f,d,t,a]}),r=h,i=c,n=t,o=a;break}case\"Q\":{const[t,s,a,h]=l,c=n+2*(t-n)/3,u=o+2*(s-o)/3,p=a+2*(t-a)/3,f=h+2*(s-h)/3;e.push({key:\"C\",data:[c,u,p,f,a,h]}),r=t,i=s,n=a,o=h;break}case\"A\":{const t=Math.abs(l[0]),s=Math.abs(l[1]),a=l[2],h=l[3],r=l[4],i=l[5],c=l[6];if(0===t||0===s)e.push({key:\"C\",data:[n,o,i,c,i,c]}),n=i,o=c;else if(n!==i||o!==c){x(n,o,i,c,t,s,a,h,r).forEach((function(t){e.push({key:\"C\",data:t})})),n=i,o=c}break}case\"Z\":e.push({key:\"Z\",data:[]}),n=a,o=h}s=c}return e}function w(t,e,s){return[t*Math.cos(s)-e*Math.sin(s),t*Math.sin(s)+e*Math.cos(s)]}function x(t,e,s,n,o,a,h,r,i,c){const l=(u=h,Math.PI*u/180);var u;let p=[],f=0,d=0,g=0,M=0;if(c)[f,d,g,M]=c;else{[t,e]=w(t,e,-l),[s,n]=w(s,n,-l);const h=(t-s)/2,c=(e-n)/2;let u=h*h/(o*o)+c*c/(a*a);u>1&&(u=Math.sqrt(u),o*=u,a*=u);const p=o*o,k=a*a,b=p*k-p*c*c-k*h*h,y=p*c*c+k*h*h,m=(r===i?-1:1)*Math.sqrt(Math.abs(b/y));g=m*o*c/a+(t+s)/2,M=m*-a*h/o+(e+n)/2,f=Math.asin(parseFloat(((e-M)/a).toFixed(9))),d=Math.asin(parseFloat(((n-M)/a).toFixed(9))),t<g&&(f=Math.PI-f),s<g&&(d=Math.PI-d),f<0&&(f=2*Math.PI+f),d<0&&(d=2*Math.PI+d),i&&f>d&&(f-=2*Math.PI),!i&&d>f&&(d-=2*Math.PI)}let k=d-f;if(Math.abs(k)>120*Math.PI/180){const t=d,e=s,r=n;d=i&&d>f?f+120*Math.PI/180*1:f+120*Math.PI/180*-1,p=x(s=g+o*Math.cos(d),n=M+a*Math.sin(d),e,r,o,a,h,0,i,[d,t,g,M])}k=d-f;const b=Math.cos(f),y=Math.sin(f),m=Math.cos(d),P=Math.sin(d),v=Math.tan(k/4),S=4/3*o*v,O=4/3*a*v,L=[t,e],T=[t+S*y,e-O*b],D=[s+S*P,n-O*m],A=[s,n];if(T[0]=2*L[0]-T[0],T[1]=2*L[1]-T[1],c)return[T,D,A].concat(p);{p=[T,D,A].concat(p);const t=[];for(let e=0;e<p.length;e+=3){const s=w(p[e][0],p[e][1],l),n=w(p[e+1][0],p[e+1][1],l),o=w(p[e+2][0],p[e+2][1],l);t.push([s[0],s[1],n[0],n[1],o[0],o[1]])}return t}}const P={randOffset:function(t,e){return G(t,e)},randOffsetWithRange:function(t,e,s){return E(t,e,s)},ellipse:function(t,e,s,n,o){const a=T(s,n,o);return D(t,e,o,a).opset},doubleLineOps:function(t,e,s,n,o){return $(t,e,s,n,o,!0)}};function v(t,e,s,n,o){return{type:\"path\",ops:$(t,e,s,n,o)}}function S(t,e,s){const n=(t||[]).length;if(n>2){const o=[];for(let e=0;e<n-1;e++)o.push(...$(t[e][0],t[e][1],t[e+1][0],t[e+1][1],s));return e&&o.push(...$(t[n-1][0],t[n-1][1],t[0][0],t[0][1],s)),{type:\"path\",ops:o}}return 2===n?v(t[0][0],t[0][1],t[1][0],t[1][1],s):{type:\"path\",ops:[]}}function O(t,e,s,n,o){return function(t,e){return S(t,!0,e)}([[t,e],[t+s,e],[t+s,e+n],[t,e+n]],o)}function L(t,e){if(t.length){const s=\"number\"==typeof t[0][0]?[t]:t,n=j(s[0],1*(1+.2*e.roughness),e),o=e.disableMultiStroke?[]:j(s[0],1.5*(1+.22*e.roughness),z(e));for(let t=1;t<s.length;t++){const a=s[t];if(a.length){const t=j(a,1*(1+.2*e.roughness),e),s=e.disableMultiStroke?[]:j(a,1.5*(1+.22*e.roughness),z(e));for(const e of t)\"move\"!==e.op&&n.push(e);for(const t of s)\"move\"!==t.op&&o.push(t)}}return{type:\"path\",ops:n.concat(o)}}return{type:\"path\",ops:[]}}function T(t,e,s){const n=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),o=Math.ceil(Math.max(s.curveStepCount,s.curveStepCount/Math.sqrt(200)*n)),a=2*Math.PI/o;let h=Math.abs(t/2),r=Math.abs(e/2);const i=1-s.curveFitting;return h+=G(h*i,s),r+=G(r*i,s),{increment:a,rx:h,ry:r}}function D(t,e,s,n){const[o,a]=F(n.increment,t,e,n.rx,n.ry,1,n.increment*E(.1,E(.4,1,s),s),s);let h=q(o,null,s);if(!s.disableMultiStroke&&0!==s.roughness){const[o]=F(n.increment,t,e,n.rx,n.ry,1.5,0,s),a=q(o,null,s);h=h.concat(a)}return{estimatedPoints:a,opset:{type:\"path\",ops:h}}}function A(t,e,s,n,o,a,h,r,i){const c=t,l=e;let u=Math.abs(s/2),p=Math.abs(n/2);u+=G(.01*u,i),p+=G(.01*p,i);let f=o,d=a;for(;f<0;)f+=2*Math.PI,d+=2*Math.PI;d-f>2*Math.PI&&(f=0,d=2*Math.PI);const g=2*Math.PI/i.curveStepCount,M=Math.min(g/2,(d-f)/2),k=V(M,c,l,u,p,f,d,1,i);if(!i.disableMultiStroke){const t=V(M,c,l,u,p,f,d,1.5,i);k.push(...t)}return h&&(r?k.push(...$(c,l,c+u*Math.cos(f),l+p*Math.sin(f),i),...$(c,l,c+u*Math.cos(d),l+p*Math.sin(d),i)):k.push({op:\"lineTo\",data:[c,l]},{op:\"lineTo\",data:[c+u*Math.cos(f),l+p*Math.sin(f)]})),{type:\"path\",ops:k}}function _(t,e){const s=m(y(b(t))),n=[];let o=[0,0],a=[0,0];for(const{key:t,data:h}of s)switch(t){case\"M\":a=[h[0],h[1]],o=[h[0],h[1]];break;case\"L\":n.push(...$(a[0],a[1],h[0],h[1],e)),a=[h[0],h[1]];break;case\"C\":{const[t,s,o,r,i,c]=h;n.push(...Z(t,s,o,r,i,c,a,e)),a=[i,c];break}case\"Z\":n.push(...$(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]]}return{type:\"path\",ops:n}}function I(t,e){const s=[];for(const n of t)if(n.length){const t=e.maxRandomnessOffset||0,o=n.length;if(o>2){s.push({op:\"move\",data:[n[0][0]+G(t,e),n[0][1]+G(t,e)]});for(let a=1;a<o;a++)s.push({op:\"lineTo\",data:[n[a][0]+G(t,e),n[a][1]+G(t,e)]})}}return{type:\"fillPath\",ops:s}}function C(t,e){return function(t,e){let s=t.fillStyle||\"hachure\";if(!u[s])switch(s){case\"zigzag\":u[s]||(u[s]=new h(e));break;case\"cross-hatch\":u[s]||(u[s]=new r(e));break;case\"dots\":u[s]||(u[s]=new i(e));break;case\"dashed\":u[s]||(u[s]=new c(e));break;case\"zigzag-line\":u[s]||(u[s]=new l(e));break;default:s=\"hachure\",u[s]||(u[s]=new o(e))}return u[s]}(e,P).fillPolygons(t,e)}function z(t){const e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function W(t){return t.randomizer||(t.randomizer=new p(t.seed||0)),t.randomizer.next()}function E(t,e,s,n=1){return s.roughness*n*(W(s)*(e-t)+t)}function G(t,e,s=1){return E(-t,t,e,s)}function $(t,e,s,n,o,a=!1){const h=a?o.disableMultiStrokeFill:o.disableMultiStroke,r=R(t,e,s,n,o,!0,!1);if(h)return r;const i=R(t,e,s,n,o,!0,!0);return r.concat(i)}function R(t,e,s,n,o,a,h){const r=Math.pow(t-s,2)+Math.pow(e-n,2),i=Math.sqrt(r);let c=1;c=i<200?1:i>500?.4:-.0016668*i+1.233334;let l=o.maxRandomnessOffset||0;l*l*100>r&&(l=i/10);const u=l/2,p=.2+.2*W(o);let f=o.bowing*o.maxRandomnessOffset*(n-e)/200,d=o.bowing*o.maxRandomnessOffset*(t-s)/200;f=G(f,o,c),d=G(d,o,c);const g=[],M=()=>G(u,o,c),k=()=>G(l,o,c),b=o.preserveVertices;return a&&(h?g.push({op:\"move\",data:[t+(b?0:M()),e+(b?0:M())]}):g.push({op:\"move\",data:[t+(b?0:G(l,o,c)),e+(b?0:G(l,o,c))]})),h?g.push({op:\"bcurveTo\",data:[f+t+(s-t)*p+M(),d+e+(n-e)*p+M(),f+t+2*(s-t)*p+M(),d+e+2*(n-e)*p+M(),s+(b?0:M()),n+(b?0:M())]}):g.push({op:\"bcurveTo\",data:[f+t+(s-t)*p+k(),d+e+(n-e)*p+k(),f+t+2*(s-t)*p+k(),d+e+2*(n-e)*p+k(),s+(b?0:k()),n+(b?0:k())]}),g}function j(t,e,s){if(!t.length)return[];const n=[];n.push([t[0][0]+G(e,s),t[0][1]+G(e,s)]),n.push([t[0][0]+G(e,s),t[0][1]+G(e,s)]);for(let o=1;o<t.length;o++)n.push([t[o][0]+G(e,s),t[o][1]+G(e,s)]),o===t.length-1&&n.push([t[o][0]+G(e,s),t[o][1]+G(e,s)]);return q(n,null,s)}function q(t,e,s){const n=t.length,o=[];if(n>3){const a=[],h=1-s.curveTightness;o.push({op:\"move\",data:[t[1][0],t[1][1]]});for(let e=1;e+2<n;e++){const s=t[e];a[0]=[s[0],s[1]],a[1]=[s[0]+(h*t[e+1][0]-h*t[e-1][0])/6,s[1]+(h*t[e+1][1]-h*t[e-1][1])/6],a[2]=[t[e+1][0]+(h*t[e][0]-h*t[e+2][0])/6,t[e+1][1]+(h*t[e][1]-h*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],o.push({op:\"bcurveTo\",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){const t=s.maxRandomnessOffset;o.push({op:\"lineTo\",data:[e[0]+G(t,s),e[1]+G(t,s)]})}}else 3===n?(o.push({op:\"move\",data:[t[1][0],t[1][1]]}),o.push({op:\"bcurveTo\",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===n&&o.push(...R(t[0][0],t[0][1],t[1][0],t[1][1],s,!0,!0));return o}function F(t,e,s,n,o,a,h,r){const i=[],c=[];if(0===r.roughness){t/=4,c.push([e+n*Math.cos(-t),s+o*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){const t=[e+n*Math.cos(a),s+o*Math.sin(a)];i.push(t),c.push(t)}c.push([e+n*Math.cos(0),s+o*Math.sin(0)]),c.push([e+n*Math.cos(t),s+o*Math.sin(t)])}else{const l=G(.5,r)-Math.PI/2;c.push([G(a,r)+e+.9*n*Math.cos(l-t),G(a,r)+s+.9*o*Math.sin(l-t)]);const u=2*Math.PI+l-.01;for(let h=l;h<u;h+=t){const t=[G(a,r)+e+n*Math.cos(h),G(a,r)+s+o*Math.sin(h)];i.push(t),c.push(t)}c.push([G(a,r)+e+n*Math.cos(l+2*Math.PI+.5*h),G(a,r)+s+o*Math.sin(l+2*Math.PI+.5*h)]),c.push([G(a,r)+e+.98*n*Math.cos(l+h),G(a,r)+s+.98*o*Math.sin(l+h)]),c.push([G(a,r)+e+.9*n*Math.cos(l+.5*h),G(a,r)+s+.9*o*Math.sin(l+.5*h)])}return[c,i]}function V(t,e,s,n,o,a,h,r,i){const c=a+G(.1,i),l=[];l.push([G(r,i)+e+.9*n*Math.cos(c-t),G(r,i)+s+.9*o*Math.sin(c-t)]);for(let a=c;a<=h;a+=t)l.push([G(r,i)+e+n*Math.cos(a),G(r,i)+s+o*Math.sin(a)]);return l.push([e+n*Math.cos(h),s+o*Math.sin(h)]),l.push([e+n*Math.cos(h),s+o*Math.sin(h)]),q(l,null,i)}function Z(t,e,s,n,o,a,h,r){const i=[],c=[r.maxRandomnessOffset||1,(r.maxRandomnessOffset||1)+.3];let l=[0,0];const u=r.disableMultiStroke?1:2,p=r.preserveVertices;for(let f=0;f<u;f++)0===f?i.push({op:\"move\",data:[h[0],h[1]]}):i.push({op:\"move\",data:[h[0]+(p?0:G(c[0],r)),h[1]+(p?0:G(c[0],r))]}),l=p?[o,a]:[o+G(c[f],r),a+G(c[f],r)],i.push({op:\"bcurveTo\",data:[t+G(c[f],r),e+G(c[f],r),s+G(c[f],r),n+G(c[f],r),l[0],l[1]]});return i}function Q(t){return[...t]}function H(t,e=0){const s=t.length;if(s<3)throw new Error(\"A curve must have at least three points.\");const n=[];if(3===s)n.push(Q(t[0]),Q(t[1]),Q(t[2]),Q(t[2]));else{const s=[];s.push(t[0],t[0]);for(let e=1;e<t.length;e++)s.push(t[e]),e===t.length-1&&s.push(t[e]);const o=[],a=1-e;n.push(Q(s[0]));for(let t=1;t+2<s.length;t++){const e=s[t];o[0]=[e[0],e[1]],o[1]=[e[0]+(a*s[t+1][0]-a*s[t-1][0])/6,e[1]+(a*s[t+1][1]-a*s[t-1][1])/6],o[2]=[s[t+1][0]+(a*s[t][0]-a*s[t+2][0])/6,s[t+1][1]+(a*s[t][1]-a*s[t+2][1])/6],o[3]=[s[t+1][0],s[t+1][1]],n.push(o[1],o[2],o[3])}}return n}function N(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function B(t,e,s){const n=N(e,s);if(0===n)return N(t,e);let o=((t[0]-e[0])*(s[0]-e[0])+(t[1]-e[1])*(s[1]-e[1]))/n;return o=Math.max(0,Math.min(1,o)),N(t,J(e,s,o))}function J(t,e,s){return[t[0]+(e[0]-t[0])*s,t[1]+(e[1]-t[1])*s]}function K(t,e,s,n){const o=n||[];if(function(t,e){const s=t[e+0],n=t[e+1],o=t[e+2],a=t[e+3];let h=3*n[0]-2*s[0]-a[0];h*=h;let r=3*n[1]-2*s[1]-a[1];r*=r;let i=3*o[0]-2*a[0]-s[0];i*=i;let c=3*o[1]-2*a[1]-s[1];return c*=c,h<i&&(h=i),r<c&&(r=c),h+r}(t,e)<s){const s=t[e+0];if(o.length){(a=o[o.length-1],h=s,Math.sqrt(N(a,h)))>1&&o.push(s)}else o.push(s);o.push(t[e+3])}else{const n=.5,a=t[e+0],h=t[e+1],r=t[e+2],i=t[e+3],c=J(a,h,n),l=J(h,r,n),u=J(r,i,n),p=J(c,l,n),f=J(l,u,n),d=J(p,f,n);K([a,c,p,d],0,s,o),K([d,f,u,i],0,s,o)}var a,h;return o}function U(t,e){return X(t,0,t.length,e)}function X(t,e,s,n,o){const a=o||[],h=t[e],r=t[s-1];let i=0,c=1;for(let n=e+1;n<s-1;++n){const e=B(t[n],h,r);e>i&&(i=e,c=n)}return Math.sqrt(i)>n?(X(t,e,c+1,n,a),X(t,c,s,n,a)):(a.length||a.push(h),a.push(r)),a}function Y(t,e=.15,s){const n=[],o=(t.length-1)/3;for(let s=0;s<o;s++){K(t,3*s,e,n)}return s&&s>0?X(n,0,n.length,s):n}const tt=\"none\";class et{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:\"#000\",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:\"hachure\",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,s){return{shape:t,sets:e||[],options:s||this.defaultOptions}}line(t,e,s,n,o){const a=this._o(o);return this._d(\"line\",[v(t,e,s,n,a)],a)}rectangle(t,e,s,n,o){const a=this._o(o),h=[],r=O(t,e,s,n,a);if(a.fill){const o=[[t,e],[t+s,e],[t+s,e+n],[t,e+n]];\"solid\"===a.fillStyle?h.push(I([o],a)):h.push(C([o],a))}return a.stroke!==tt&&h.push(r),this._d(\"rectangle\",h,a)}ellipse(t,e,s,n,o){const a=this._o(o),h=[],r=T(s,n,a),i=D(t,e,a,r);if(a.fill)if(\"solid\"===a.fillStyle){const s=D(t,e,a,r).opset;s.type=\"fillPath\",h.push(s)}else h.push(C([i.estimatedPoints],a));return a.stroke!==tt&&h.push(i.opset),this._d(\"ellipse\",h,a)}circle(t,e,s,n){const o=this.ellipse(t,e,s,s,n);return o.shape=\"circle\",o}linearPath(t,e){const s=this._o(e);return this._d(\"linearPath\",[S(t,!1,s)],s)}arc(t,e,s,n,o,a,h=!1,r){const i=this._o(r),c=[],l=A(t,e,s,n,o,a,h,!0,i);if(h&&i.fill)if(\"solid\"===i.fillStyle){const h=Object.assign({},i);h.disableMultiStroke=!0;const r=A(t,e,s,n,o,a,!0,!1,h);r.type=\"fillPath\",c.push(r)}else c.push(function(t,e,s,n,o,a,h){const r=t,i=e;let c=Math.abs(s/2),l=Math.abs(n/2);c+=G(.01*c,h),l+=G(.01*l,h);let u=o,p=a;for(;u<0;)u+=2*Math.PI,p+=2*Math.PI;p-u>2*Math.PI&&(u=0,p=2*Math.PI);const f=(p-u)/h.curveStepCount,d=[];for(let t=u;t<=p;t+=f)d.push([r+c*Math.cos(t),i+l*Math.sin(t)]);return d.push([r+c*Math.cos(p),i+l*Math.sin(p)]),d.push([r,i]),C([d],h)}(t,e,s,n,o,a,i));return i.stroke!==tt&&c.push(l),this._d(\"arc\",c,i)}curve(t,e){const s=this._o(e),n=[],o=L(t,s);if(s.fill&&s.fill!==tt)if(\"solid\"===s.fillStyle){const e=L(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));n.push({type:\"fillPath\",ops:this._mergedShape(e.ops)})}else{const e=[],o=t;if(o.length){const t=\"number\"==typeof o[0][0]?[o]:o;for(const n of t)n.length<3?e.push(...n):3===n.length?e.push(...Y(H([n[0],n[0],n[1],n[2]]),10,(1+s.roughness)/2)):e.push(...Y(H(n),10,(1+s.roughness)/2))}e.length&&n.push(C([e],s))}return s.stroke!==tt&&n.push(o),this._d(\"curve\",n,s)}polygon(t,e){const s=this._o(e),n=[],o=S(t,!0,s);return s.fill&&(\"solid\"===s.fillStyle?n.push(I([t],s)):n.push(C([t],s))),s.stroke!==tt&&n.push(o),this._d(\"polygon\",n,s)}path(t,e){const s=this._o(e),n=[];if(!t)return this._d(\"path\",n,s);t=(t||\"\").replace(/\\n/g,\" \").replace(/(-\\s)/g,\"-\").replace(\"/(ss)/g\",\" \");const o=s.fill&&\"transparent\"!==s.fill&&s.fill!==tt,a=s.stroke!==tt,h=!!(s.simplification&&s.simplification<1),r=function(t,e,s){const n=m(y(b(t))),o=[];let a=[],h=[0,0],r=[];const i=()=>{r.length>=4&&a.push(...Y(r,e)),r=[]},c=()=>{i(),a.length&&(o.push(a),a=[])};for(const{key:t,data:e}of n)switch(t){case\"M\":c(),h=[e[0],e[1]],a.push(h);break;case\"L\":i(),a.push([e[0],e[1]]);break;case\"C\":if(!r.length){const t=a.length?a[a.length-1]:h;r.push([t[0],t[1]])}r.push([e[0],e[1]]),r.push([e[2],e[3]]),r.push([e[4],e[5]]);break;case\"Z\":i(),a.push([h[0],h[1]])}if(c(),!s)return o;const l=[];for(const t of o){const e=U(t,s);e.length&&l.push(e)}return l}(t,1,h?4-4*(s.simplification||1):(1+s.roughness)/2),i=_(t,s);if(o)if(\"solid\"===s.fillStyle)if(1===r.length){const e=_(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));n.push({type:\"fillPath\",ops:this._mergedShape(e.ops)})}else n.push(I(r,s));else n.push(C(r,s));return a&&(h?r.forEach((t=>{n.push(S(t,!1,s))})):n.push(i)),this._d(\"path\",n,s)}opsToPath(t,e){let s=\"\";for(const n of t.ops){const t=\"number\"==typeof e&&e>=0?n.data.map((t=>+t.toFixed(e))):n.data;switch(n.op){case\"move\":s+=`M${t[0]} ${t[1]} `;break;case\"bcurveTo\":s+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case\"lineTo\":s+=`L${t[0]} ${t[1]} `}}return s.trim()}toPaths(t){const e=t.sets||[],s=t.options||this.defaultOptions,n=[];for(const t of e){let e=null;switch(t.type){case\"path\":e={d:this.opsToPath(t),stroke:s.stroke,strokeWidth:s.strokeWidth,fill:tt};break;case\"fillPath\":e={d:this.opsToPath(t),stroke:tt,strokeWidth:0,fill:s.fill||tt};break;case\"fillSketch\":e=this.fillSketch(t,s)}e&&n.push(e)}return n}fillSketch(t,e){let s=e.fillWeight;return s<0&&(s=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||tt,strokeWidth:s,fill:tt}}_mergedShape(t){return t.filter(((t,e)=>0===e||\"move\"!==t.op))}}class st{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext(\"2d\"),this.gen=new et(e)}draw(t){const e=t.sets||[],s=t.options||this.getDefaultOptions(),n=this.ctx,o=t.options.fixedDecimalPlaceDigits;for(const a of e)switch(a.type){case\"path\":n.save(),n.strokeStyle=\"none\"===s.stroke?\"transparent\":s.stroke,n.lineWidth=s.strokeWidth,s.strokeLineDash&&n.setLineDash(s.strokeLineDash),s.strokeLineDashOffset&&(n.lineDashOffset=s.strokeLineDashOffset),this._drawToContext(n,a,o),n.restore();break;case\"fillPath\":{n.save(),n.fillStyle=s.fill||\"\";const e=\"curve\"===t.shape||\"polygon\"===t.shape||\"path\"===t.shape?\"evenodd\":\"nonzero\";this._drawToContext(n,a,o,e),n.restore();break}case\"fillSketch\":this.fillSketch(n,a,s)}}fillSketch(t,e,s){let n=s.fillWeight;n<0&&(n=s.strokeWidth/2),t.save(),s.fillLineDash&&t.setLineDash(s.fillLineDash),s.fillLineDashOffset&&(t.lineDashOffset=s.fillLineDashOffset),t.strokeStyle=s.fill||\"\",t.lineWidth=n,this._drawToContext(t,e,s.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,s,n=\"nonzero\"){t.beginPath();for(const n of e.ops){const e=\"number\"==typeof s&&s>=0?n.data.map((t=>+t.toFixed(s))):n.data;switch(n.op){case\"move\":t.moveTo(e[0],e[1]);break;case\"bcurveTo\":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case\"lineTo\":t.lineTo(e[0],e[1])}}\"fillPath\"===e.type?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,s,n,o){const a=this.gen.line(t,e,s,n,o);return this.draw(a),a}rectangle(t,e,s,n,o){const a=this.gen.rectangle(t,e,s,n,o);return this.draw(a),a}ellipse(t,e,s,n,o){const a=this.gen.ellipse(t,e,s,n,o);return this.draw(a),a}circle(t,e,s,n){const o=this.gen.circle(t,e,s,n);return this.draw(o),o}linearPath(t,e){const s=this.gen.linearPath(t,e);return this.draw(s),s}polygon(t,e){const s=this.gen.polygon(t,e);return this.draw(s),s}arc(t,e,s,n,o,a,h=!1,r){const i=this.gen.arc(t,e,s,n,o,a,h,r);return this.draw(i),i}curve(t,e){const s=this.gen.curve(t,e);return this.draw(s),s}path(t,e){const s=this.gen.path(t,e);return this.draw(s),s}}const nt=\"http://www.w3.org/2000/svg\";class ot{constructor(t,e){this.svg=t,this.gen=new et(e)}draw(t){const e=t.sets||[],s=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,o=n.createElementNS(nt,\"g\"),a=t.options.fixedDecimalPlaceDigits;for(const h of e){let e=null;switch(h.type){case\"path\":e=n.createElementNS(nt,\"path\"),e.setAttribute(\"d\",this.opsToPath(h,a)),e.setAttribute(\"stroke\",s.stroke),e.setAttribute(\"stroke-width\",s.strokeWidth+\"\"),e.setAttribute(\"fill\",\"none\"),s.strokeLineDash&&e.setAttribute(\"stroke-dasharray\",s.strokeLineDash.join(\" \").trim()),s.strokeLineDashOffset&&e.setAttribute(\"stroke-dashoffset\",`${s.strokeLineDashOffset}`);break;case\"fillPath\":e=n.createElementNS(nt,\"path\"),e.setAttribute(\"d\",this.opsToPath(h,a)),e.setAttribute(\"stroke\",\"none\"),e.setAttribute(\"stroke-width\",\"0\"),e.setAttribute(\"fill\",s.fill||\"\"),\"curve\"!==t.shape&&\"polygon\"!==t.shape||e.setAttribute(\"fill-rule\",\"evenodd\");break;case\"fillSketch\":e=this.fillSketch(n,h,s)}e&&o.appendChild(e)}return o}fillSketch(t,e,s){let n=s.fillWeight;n<0&&(n=s.strokeWidth/2);const o=t.createElementNS(nt,\"path\");return o.setAttribute(\"d\",this.opsToPath(e,s.fixedDecimalPlaceDigits)),o.setAttribute(\"stroke\",s.fill||\"\"),o.setAttribute(\"stroke-width\",n+\"\"),o.setAttribute(\"fill\",\"none\"),s.fillLineDash&&o.setAttribute(\"stroke-dasharray\",s.fillLineDash.join(\" \").trim()),s.fillLineDashOffset&&o.setAttribute(\"stroke-dashoffset\",`${s.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,s,n,o){const a=this.gen.line(t,e,s,n,o);return this.draw(a)}rectangle(t,e,s,n,o){const a=this.gen.rectangle(t,e,s,n,o);return this.draw(a)}ellipse(t,e,s,n,o){const a=this.gen.ellipse(t,e,s,n,o);return this.draw(a)}circle(t,e,s,n){const o=this.gen.circle(t,e,s,n);return this.draw(o)}linearPath(t,e){const s=this.gen.linearPath(t,e);return this.draw(s)}polygon(t,e){const s=this.gen.polygon(t,e);return this.draw(s)}arc(t,e,s,n,o,a,h=!1,r){const i=this.gen.arc(t,e,s,n,o,a,h,r);return this.draw(i)}curve(t,e){const s=this.gen.curve(t,e);return this.draw(s)}path(t,e){const s=this.gen.path(t,e);return this.draw(s)}}var at={canvas:(t,e)=>new st(t,e),svg:(t,e)=>new ot(t,e),generator:t=>new et(t),newSeed:()=>et.newSeed()};export{at as default};\n", + "import {\n getSubGraphTitleMargins\n} from \"./chunk-K557N5IZ.mjs\";\nimport {\n getIconSVG\n} from \"./chunk-H2D2JQ3I.mjs\";\nimport {\n createText\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n calculateTextWidth,\n decodeEntities,\n handleUndefinedAttr,\n parseFontSize\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n common_default,\n defaultConfig_default,\n evaluate,\n getConfig,\n getConfig2,\n hasKatex,\n log,\n parseGenericTypes,\n renderKatex,\n sanitizeText,\n sanitizeText2\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/rendering-elements/shapes/util.ts\nimport { select } from \"d3\";\nvar labelHelper = /* @__PURE__ */ __name(async (parent, node, _classes) => {\n let cssClasses;\n const useHtmlLabels = node.useHtmlLabels || evaluate(getConfig2()?.htmlLabels);\n if (!_classes) {\n cssClasses = \"node default\";\n } else {\n cssClasses = _classes;\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", cssClasses).attr(\"id\", node.domId || node.id);\n const labelEl = shapeSvg.insert(\"g\").attr(\"class\", \"label\").attr(\"style\", handleUndefinedAttr(node.labelStyle));\n let label;\n if (node.label === void 0) {\n label = \"\";\n } else {\n label = typeof node.label === \"string\" ? node.label : node.label[0];\n }\n const text2 = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig2()), {\n useHtmlLabels,\n width: node.width || getConfig2().flowchart?.wrappingWidth,\n // @ts-expect-error -- This is currently not used. Should this be `classes` instead?\n cssClasses: \"markdown-node-label\",\n style: node.labelStyle,\n addSvgBackground: !!node.icon || !!node.img\n });\n let bbox = text2.getBBox();\n const halfPadding = (node?.padding ?? 0) / 2;\n if (useHtmlLabels) {\n const div = text2.children[0];\n const dv = select(text2);\n const images = div.getElementsByTagName(\"img\");\n if (images) {\n const noImgText = label.replace(/<img[^>]*>/g, \"\").trim() === \"\";\n await Promise.all(\n [...images].map(\n (img) => new Promise((res) => {\n function setupImage() {\n img.style.display = \"flex\";\n img.style.flexDirection = \"column\";\n if (noImgText) {\n const bodyFontSize = getConfig2().fontSize ? getConfig2().fontSize : window.getComputedStyle(document.body).fontSize;\n const enlargingFactor = 5;\n const [parsedBodyFontSize = defaultConfig_default.fontSize] = parseFontSize(bodyFontSize);\n const width = parsedBodyFontSize * enlargingFactor + \"px\";\n img.style.minWidth = width;\n img.style.maxWidth = width;\n } else {\n img.style.width = \"100%\";\n }\n res(img);\n }\n __name(setupImage, \"setupImage\");\n setTimeout(() => {\n if (img.complete) {\n setupImage();\n }\n });\n img.addEventListener(\"error\", setupImage);\n img.addEventListener(\"load\", setupImage);\n })\n )\n );\n }\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n if (useHtmlLabels) {\n labelEl.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n } else {\n labelEl.attr(\"transform\", \"translate(0, \" + -bbox.height / 2 + \")\");\n }\n if (node.centerLabel) {\n labelEl.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n }\n labelEl.insert(\"rect\", \":first-child\");\n return { shapeSvg, bbox, halfPadding, label: labelEl };\n}, \"labelHelper\");\nvar insertLabel = /* @__PURE__ */ __name(async (parent, label, options) => {\n const useHtmlLabels = options.useHtmlLabels || evaluate(getConfig2()?.flowchart?.htmlLabels);\n const labelEl = parent.insert(\"g\").attr(\"class\", \"label\").attr(\"style\", options.labelStyle || \"\");\n const text2 = await createText(labelEl, sanitizeText(decodeEntities(label), getConfig2()), {\n useHtmlLabels,\n width: options.width || getConfig2()?.flowchart?.wrappingWidth,\n style: options.labelStyle,\n addSvgBackground: !!options.icon || !!options.img\n });\n let bbox = text2.getBBox();\n const halfPadding = options.padding / 2;\n if (evaluate(getConfig2()?.flowchart?.htmlLabels)) {\n const div = text2.children[0];\n const dv = select(text2);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n if (useHtmlLabels) {\n labelEl.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n } else {\n labelEl.attr(\"transform\", \"translate(0, \" + -bbox.height / 2 + \")\");\n }\n if (options.centerLabel) {\n labelEl.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n }\n labelEl.insert(\"rect\", \":first-child\");\n return { shapeSvg: parent, bbox, halfPadding, label: labelEl };\n}, \"insertLabel\");\nvar updateNodeBounds = /* @__PURE__ */ __name((node, element) => {\n const bbox = element.node().getBBox();\n node.width = bbox.width;\n node.height = bbox.height;\n}, \"updateNodeBounds\");\nvar getNodeClasses = /* @__PURE__ */ __name((node, extra) => (node.look === \"handDrawn\" ? \"rough-node\" : \"node\") + \" \" + node.cssClasses + \" \" + (extra || \"\"), \"getNodeClasses\");\nfunction createPathFromPoints(points) {\n const pointStrings = points.map((p, i) => `${i === 0 ? \"M\" : \"L\"}${p.x},${p.y}`);\n pointStrings.push(\"Z\");\n return pointStrings.join(\" \");\n}\n__name(createPathFromPoints, \"createPathFromPoints\");\nfunction generateFullSineWavePoints(x1, y1, x2, y2, amplitude, numCycles) {\n const points = [];\n const steps = 50;\n const deltaX = x2 - x1;\n const deltaY = y2 - y1;\n const cycleLength = deltaX / numCycles;\n const frequency = 2 * Math.PI / cycleLength;\n const midY = y1 + deltaY / 2;\n for (let i = 0; i <= steps; i++) {\n const t = i / steps;\n const x = x1 + t * deltaX;\n const y = midY + amplitude * Math.sin(frequency * (x - x1));\n points.push({ x, y });\n }\n return points;\n}\n__name(generateFullSineWavePoints, \"generateFullSineWavePoints\");\nfunction generateCirclePoints(centerX, centerY, radius, numPoints, startAngle, endAngle) {\n const points = [];\n const startAngleRad = startAngle * Math.PI / 180;\n const endAngleRad = endAngle * Math.PI / 180;\n const angleRange = endAngleRad - startAngleRad;\n const angleStep = angleRange / (numPoints - 1);\n for (let i = 0; i < numPoints; i++) {\n const angle = startAngleRad + i * angleStep;\n const x = centerX + radius * Math.cos(angle);\n const y = centerY + radius * Math.sin(angle);\n points.push({ x: -x, y: -y });\n }\n return points;\n}\n__name(generateCirclePoints, \"generateCirclePoints\");\n\n// src/rendering-util/rendering-elements/clusters.js\nimport { select as select3 } from \"d3\";\nimport rough from \"roughjs\";\n\n// src/rendering-util/rendering-elements/intersect/intersect-rect.js\nvar intersectRect = /* @__PURE__ */ __name((node, point) => {\n var x = node.x;\n var y = node.y;\n var dx = point.x - x;\n var dy = point.y - y;\n var w = node.width / 2;\n var h = node.height / 2;\n var sx, sy;\n if (Math.abs(dy) * w > Math.abs(dx) * h) {\n if (dy < 0) {\n h = -h;\n }\n sx = dy === 0 ? 0 : h * dx / dy;\n sy = h;\n } else {\n if (dx < 0) {\n w = -w;\n }\n sx = w;\n sy = dx === 0 ? 0 : w * dy / dx;\n }\n return { x: x + sx, y: y + sy };\n}, \"intersectRect\");\nvar intersect_rect_default = intersectRect;\n\n// src/rendering-util/rendering-elements/createLabel.js\nimport { select as select2 } from \"d3\";\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr(\"style\", styleFn);\n }\n}\n__name(applyStyle, \"applyStyle\");\nasync function addHtmlLabel(node) {\n const fo = select2(document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\"));\n const div = fo.append(\"xhtml:div\");\n let label = node.label;\n if (node.label && hasKatex(node.label)) {\n label = await renderKatex(node.label.replace(common_default.lineBreakRegex, \"\\n\"), getConfig2());\n }\n const labelClass = node.isNode ? \"nodeLabel\" : \"edgeLabel\";\n div.html(\n '<span class=\"' + labelClass + '\" ' + (node.labelStyle ? 'style=\"' + node.labelStyle + '\"' : \"\") + // codeql [js/html-constructed-from-input] : false positive\n \">\" + label + \"</span>\"\n );\n applyStyle(div, node.labelStyle);\n div.style(\"display\", \"inline-block\");\n div.style(\"padding-right\", \"1px\");\n div.style(\"white-space\", \"nowrap\");\n div.attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\");\n return fo.node();\n}\n__name(addHtmlLabel, \"addHtmlLabel\");\nvar createLabel = /* @__PURE__ */ __name(async (_vertexText, style, isTitle, isNode) => {\n let vertexText = _vertexText || \"\";\n if (typeof vertexText === \"object\") {\n vertexText = vertexText[0];\n }\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n vertexText = vertexText.replace(/\\\\n|\\n/g, \"<br />\");\n log.info(\"vertexText\" + vertexText);\n const node = {\n isNode,\n label: decodeEntities(vertexText).replace(\n /fa[blrs]?:fa-[\\w-]+/g,\n (s) => `<i class='${s.replace(\":\", \" \")}'></i>`\n ),\n labelStyle: style ? style.replace(\"fill:\", \"color:\") : style\n };\n let vertexNode = await addHtmlLabel(node);\n return vertexNode;\n } else {\n const svgLabel = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"style\", style.replace(\"color:\", \"fill:\"));\n let rows = [];\n if (typeof vertexText === \"string\") {\n rows = vertexText.split(/\\\\n|\\n|<br\\s*\\/?>/gi);\n } else if (Array.isArray(vertexText)) {\n rows = vertexText;\n } else {\n rows = [];\n }\n for (const row of rows) {\n const tspan = document.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"0\");\n if (isTitle) {\n tspan.setAttribute(\"class\", \"title-row\");\n } else {\n tspan.setAttribute(\"class\", \"row\");\n }\n tspan.textContent = row.trim();\n svgLabel.appendChild(tspan);\n }\n return svgLabel;\n }\n}, \"createLabel\");\nvar createLabel_default = createLabel;\n\n// src/rendering-util/rendering-elements/shapes/roundedRectPath.ts\nvar createRoundedRectPathD = /* @__PURE__ */ __name((x, y, totalWidth, totalHeight, radius) => [\n \"M\",\n x + radius,\n y,\n // Move to the first point\n \"H\",\n x + totalWidth - radius,\n // Draw horizontal line to the beginning of the right corner\n \"A\",\n radius,\n radius,\n 0,\n 0,\n 1,\n x + totalWidth,\n y + radius,\n // Draw arc to the right top corner\n \"V\",\n y + totalHeight - radius,\n // Draw vertical line down to the beginning of the right bottom corner\n \"A\",\n radius,\n radius,\n 0,\n 0,\n 1,\n x + totalWidth - radius,\n y + totalHeight,\n // Draw arc to the right bottom corner\n \"H\",\n x + radius,\n // Draw horizontal line to the beginning of the left bottom corner\n \"A\",\n radius,\n radius,\n 0,\n 0,\n 1,\n x,\n y + totalHeight - radius,\n // Draw arc to the left bottom corner\n \"V\",\n y + radius,\n // Draw vertical line up to the beginning of the left top corner\n \"A\",\n radius,\n radius,\n 0,\n 0,\n 1,\n x + radius,\n y,\n // Draw arc to the left top corner\n \"Z\"\n // Close the path\n].join(\" \"), \"createRoundedRectPathD\");\n\n// src/rendering-util/rendering-elements/shapes/handDrawnShapeStyles.ts\nvar solidStateFill = /* @__PURE__ */ __name((color) => {\n const { handDrawnSeed } = getConfig2();\n return {\n fill: color,\n hachureAngle: 120,\n // angle of hachure,\n hachureGap: 4,\n fillWeight: 2,\n roughness: 0.7,\n stroke: color,\n seed: handDrawnSeed\n };\n}, \"solidStateFill\");\nvar compileStyles = /* @__PURE__ */ __name((node) => {\n const stylesMap = styles2Map([...node.cssCompiledStyles || [], ...node.cssStyles || []]);\n return { stylesMap, stylesArray: [...stylesMap] };\n}, \"compileStyles\");\nvar styles2Map = /* @__PURE__ */ __name((styles) => {\n const styleMap = /* @__PURE__ */ new Map();\n styles.forEach((style) => {\n const [key, value] = style.split(\":\");\n styleMap.set(key.trim(), value?.trim());\n });\n return styleMap;\n}, \"styles2Map\");\nvar isLabelStyle = /* @__PURE__ */ __name((key) => {\n return key === \"color\" || key === \"font-size\" || key === \"font-family\" || key === \"font-weight\" || key === \"font-style\" || key === \"text-decoration\" || key === \"text-align\" || key === \"text-transform\" || key === \"line-height\" || key === \"letter-spacing\" || key === \"word-spacing\" || key === \"text-shadow\" || key === \"text-overflow\" || key === \"white-space\" || key === \"word-wrap\" || key === \"word-break\" || key === \"overflow-wrap\" || key === \"hyphens\";\n}, \"isLabelStyle\");\nvar styles2String = /* @__PURE__ */ __name((node) => {\n const { stylesArray } = compileStyles(node);\n const labelStyles = [];\n const nodeStyles = [];\n const borderStyles = [];\n const backgroundStyles = [];\n stylesArray.forEach((style) => {\n const key = style[0];\n if (isLabelStyle(key)) {\n labelStyles.push(style.join(\":\") + \" !important\");\n } else {\n nodeStyles.push(style.join(\":\") + \" !important\");\n if (key.includes(\"stroke\")) {\n borderStyles.push(style.join(\":\") + \" !important\");\n }\n if (key === \"fill\") {\n backgroundStyles.push(style.join(\":\") + \" !important\");\n }\n }\n });\n return {\n labelStyles: labelStyles.join(\";\"),\n nodeStyles: nodeStyles.join(\";\"),\n stylesArray,\n borderStyles,\n backgroundStyles\n };\n}, \"styles2String\");\nvar userNodeOverrides = /* @__PURE__ */ __name((node, options) => {\n const { themeVariables, handDrawnSeed } = getConfig2();\n const { nodeBorder, mainBkg } = themeVariables;\n const { stylesMap } = compileStyles(node);\n const result = Object.assign(\n {\n roughness: 0.7,\n fill: stylesMap.get(\"fill\") || mainBkg,\n fillStyle: \"hachure\",\n // solid fill\n fillWeight: 4,\n hachureGap: 5.2,\n stroke: stylesMap.get(\"stroke\") || nodeBorder,\n seed: handDrawnSeed,\n strokeWidth: stylesMap.get(\"stroke-width\")?.replace(\"px\", \"\") || 1.3,\n fillLineDash: [0, 0]\n },\n options\n );\n return result;\n}, \"userNodeOverrides\");\n\n// src/rendering-util/rendering-elements/clusters.js\nvar rect = /* @__PURE__ */ __name(async (parent, node) => {\n log.info(\"Creating subgraph rect for \", node.id, node);\n const siteConfig = getConfig2();\n const { themeVariables, handDrawnSeed } = siteConfig;\n const { clusterBkg, clusterBorder } = themeVariables;\n const { labelStyles, nodeStyles, borderStyles, backgroundStyles } = styles2String(node);\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"cluster \" + node.cssClasses).attr(\"id\", node.id).attr(\"data-look\", node.look);\n const useHtmlLabels = evaluate(siteConfig.flowchart.htmlLabels);\n const labelEl = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label \");\n const text2 = await createText(labelEl, node.label, {\n style: node.labelStyle,\n useHtmlLabels,\n isNode: true\n });\n let bbox = text2.getBBox();\n if (evaluate(siteConfig.flowchart.htmlLabels)) {\n const div = text2.children[0];\n const dv = select3(text2);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (width - node.width) / 2 - node.padding;\n } else {\n node.diff = -node.padding;\n }\n const height = node.height;\n const x = node.x - width / 2;\n const y = node.y - height / 2;\n log.trace(\"Data \", node, JSON.stringify(node));\n let rect2;\n if (node.look === \"handDrawn\") {\n const rc = rough.svg(shapeSvg);\n const options = userNodeOverrides(node, {\n roughness: 0.7,\n fill: clusterBkg,\n // fill: 'red',\n stroke: clusterBorder,\n fillWeight: 3,\n seed: handDrawnSeed\n });\n const roughNode = rc.path(createRoundedRectPathD(x, y, width, height, 0), options);\n rect2 = shapeSvg.insert(() => {\n log.debug(\"Rough node insert CXC\", roughNode);\n return roughNode;\n }, \":first-child\");\n rect2.select(\"path:nth-child(2)\").attr(\"style\", borderStyles.join(\";\"));\n rect2.select(\"path\").attr(\"style\", backgroundStyles.join(\";\").replace(\"fill\", \"stroke\"));\n } else {\n rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"style\", nodeStyles).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n }\n const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);\n labelEl.attr(\n \"transform\",\n // This puts the label on top of the box instead of inside it\n `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`\n );\n if (labelStyles) {\n const span = labelEl.select(\"span\");\n if (span) {\n span.attr(\"style\", labelStyles);\n }\n }\n const rectBox = rect2.node().getBBox();\n node.offsetX = 0;\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.offsetY = bbox.height - node.padding / 2;\n node.intersect = function(point) {\n return intersect_rect_default(node, point);\n };\n return { cluster: shapeSvg, labelBBox: bbox };\n}, \"rect\");\nvar noteGroup = /* @__PURE__ */ __name((parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"note-cluster\").attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding).attr(\"fill\", \"none\");\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersect_rect_default(node, point);\n };\n return { cluster: shapeSvg, labelBBox: { width: 0, height: 0 } };\n}, \"noteGroup\");\nvar roundedWithTitle = /* @__PURE__ */ __name(async (parent, node) => {\n const siteConfig = getConfig2();\n const { themeVariables, handDrawnSeed } = siteConfig;\n const { altBackground, compositeBackground, compositeTitleBackground, nodeBorder } = themeVariables;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.cssClasses).attr(\"id\", node.id).attr(\"data-id\", node.id).attr(\"data-look\", node.look);\n const outerRectG = shapeSvg.insert(\"g\", \":first-child\");\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n let innerRect = shapeSvg.append(\"rect\");\n const text2 = label.node().appendChild(await createLabel_default(node.label, node.labelStyle, void 0, true));\n let bbox = text2.getBBox();\n if (evaluate(siteConfig.flowchart.htmlLabels)) {\n const div = text2.children[0];\n const dv = select3(text2);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = (node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width) + padding;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (width - node.width) / 2 - node.padding;\n } else {\n node.diff = -node.padding;\n }\n const height = node.height + padding;\n const innerHeight = node.height + padding - bbox.height - 6;\n const x = node.x - width / 2;\n const y = node.y - height / 2;\n node.width = width;\n const innerY = node.y - node.height / 2 - halfPadding + bbox.height + 2;\n let rect2;\n if (node.look === \"handDrawn\") {\n const isAlt = node.cssClasses.includes(\"statediagram-cluster-alt\");\n const rc = rough.svg(shapeSvg);\n const roughOuterNode = node.rx || node.ry ? rc.path(createRoundedRectPathD(x, y, width, height, 10), {\n roughness: 0.7,\n fill: compositeTitleBackground,\n fillStyle: \"solid\",\n stroke: nodeBorder,\n seed: handDrawnSeed\n }) : rc.rectangle(x, y, width, height, { seed: handDrawnSeed });\n rect2 = shapeSvg.insert(() => roughOuterNode, \":first-child\");\n const roughInnerNode = rc.rectangle(x, innerY, width, innerHeight, {\n fill: isAlt ? altBackground : compositeBackground,\n fillStyle: isAlt ? \"hachure\" : \"solid\",\n stroke: nodeBorder,\n seed: handDrawnSeed\n });\n rect2 = shapeSvg.insert(() => roughOuterNode, \":first-child\");\n innerRect = shapeSvg.insert(() => roughInnerNode);\n } else {\n rect2 = outerRectG.insert(\"rect\", \":first-child\");\n const outerRectClass = \"outer\";\n rect2.attr(\"class\", outerRectClass).attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"data-look\", node.look);\n innerRect.attr(\"class\", \"inner\").attr(\"x\", x).attr(\"y\", innerY).attr(\"width\", width).attr(\"height\", innerHeight);\n }\n label.attr(\n \"transform\",\n `translate(${node.x - bbox.width / 2}, ${y + 1 - (evaluate(siteConfig.flowchart.htmlLabels) ? 0 : 3)})`\n );\n const rectBox = rect2.node().getBBox();\n node.height = rectBox.height;\n node.offsetX = 0;\n node.offsetY = bbox.height - node.padding / 2;\n node.labelBBox = bbox;\n node.intersect = function(point) {\n return intersect_rect_default(node, point);\n };\n return { cluster: shapeSvg, labelBBox: bbox };\n}, \"roundedWithTitle\");\nvar kanbanSection = /* @__PURE__ */ __name(async (parent, node) => {\n log.info(\"Creating subgraph rect for \", node.id, node);\n const siteConfig = getConfig2();\n const { themeVariables, handDrawnSeed } = siteConfig;\n const { clusterBkg, clusterBorder } = themeVariables;\n const { labelStyles, nodeStyles, borderStyles, backgroundStyles } = styles2String(node);\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"cluster \" + node.cssClasses).attr(\"id\", node.id).attr(\"data-look\", node.look);\n const useHtmlLabels = evaluate(siteConfig.flowchart.htmlLabels);\n const labelEl = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label \");\n const text2 = await createText(labelEl, node.label, {\n style: node.labelStyle,\n useHtmlLabels,\n isNode: true,\n width: node.width\n });\n let bbox = text2.getBBox();\n if (evaluate(siteConfig.flowchart.htmlLabels)) {\n const div = text2.children[0];\n const dv = select3(text2);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (width - node.width) / 2 - node.padding;\n } else {\n node.diff = -node.padding;\n }\n const height = node.height;\n const x = node.x - width / 2;\n const y = node.y - height / 2;\n log.trace(\"Data \", node, JSON.stringify(node));\n let rect2;\n if (node.look === \"handDrawn\") {\n const rc = rough.svg(shapeSvg);\n const options = userNodeOverrides(node, {\n roughness: 0.7,\n fill: clusterBkg,\n // fill: 'red',\n stroke: clusterBorder,\n fillWeight: 4,\n seed: handDrawnSeed\n });\n const roughNode = rc.path(createRoundedRectPathD(x, y, width, height, node.rx), options);\n rect2 = shapeSvg.insert(() => {\n log.debug(\"Rough node insert CXC\", roughNode);\n return roughNode;\n }, \":first-child\");\n rect2.select(\"path:nth-child(2)\").attr(\"style\", borderStyles.join(\";\"));\n rect2.select(\"path\").attr(\"style\", backgroundStyles.join(\";\").replace(\"fill\", \"stroke\"));\n } else {\n rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"style\", nodeStyles).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n }\n const { subGraphTitleTopMargin } = getSubGraphTitleMargins(siteConfig);\n labelEl.attr(\n \"transform\",\n // This puts the label on top of the box instead of inside it\n `translate(${node.x - bbox.width / 2}, ${node.y - node.height / 2 + subGraphTitleTopMargin})`\n );\n if (labelStyles) {\n const span = labelEl.select(\"span\");\n if (span) {\n span.attr(\"style\", labelStyles);\n }\n }\n const rectBox = rect2.node().getBBox();\n node.offsetX = 0;\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.offsetY = bbox.height - node.padding / 2;\n node.intersect = function(point) {\n return intersect_rect_default(node, point);\n };\n return { cluster: shapeSvg, labelBBox: bbox };\n}, \"kanbanSection\");\nvar divider = /* @__PURE__ */ __name((parent, node) => {\n const siteConfig = getConfig2();\n const { themeVariables, handDrawnSeed } = siteConfig;\n const { nodeBorder } = themeVariables;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.cssClasses).attr(\"id\", node.id).attr(\"data-look\", node.look);\n const outerRectG = shapeSvg.insert(\"g\", \":first-child\");\n const padding = 0 * node.padding;\n const width = node.width + padding;\n node.diff = -node.padding;\n const height = node.height + padding;\n const x = node.x - width / 2;\n const y = node.y - height / 2;\n node.width = width;\n let rect2;\n if (node.look === \"handDrawn\") {\n const rc = rough.svg(shapeSvg);\n const roughOuterNode = rc.rectangle(x, y, width, height, {\n fill: \"lightgrey\",\n roughness: 0.5,\n strokeLineDash: [5],\n stroke: nodeBorder,\n seed: handDrawnSeed\n });\n rect2 = shapeSvg.insert(() => roughOuterNode, \":first-child\");\n } else {\n rect2 = outerRectG.insert(\"rect\", \":first-child\");\n const outerRectClass = \"divider\";\n rect2.attr(\"class\", outerRectClass).attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"data-look\", node.look);\n }\n const rectBox = rect2.node().getBBox();\n node.height = rectBox.height;\n node.offsetX = 0;\n node.offsetY = 0;\n node.intersect = function(point) {\n return intersect_rect_default(node, point);\n };\n return { cluster: shapeSvg, labelBBox: {} };\n}, \"divider\");\nvar squareRect = rect;\nvar shapes = {\n rect,\n squareRect,\n roundedWithTitle,\n noteGroup,\n divider,\n kanbanSection\n};\nvar clusterElems = /* @__PURE__ */ new Map();\nvar insertCluster = /* @__PURE__ */ __name(async (elem, node) => {\n const shape = node.shape || \"rect\";\n const cluster = await shapes[shape](elem, node);\n clusterElems.set(node.id, cluster);\n return cluster;\n}, \"insertCluster\");\nvar clear = /* @__PURE__ */ __name(() => {\n clusterElems = /* @__PURE__ */ new Map();\n}, \"clear\");\n\n// src/rendering-util/rendering-elements/intersect/intersect-node.js\nfunction intersectNode(node, point) {\n return node.intersect(point);\n}\n__name(intersectNode, \"intersectNode\");\nvar intersect_node_default = intersectNode;\n\n// src/rendering-util/rendering-elements/intersect/intersect-ellipse.js\nfunction intersectEllipse(node, rx, ry, point) {\n var cx = node.x;\n var cy = node.y;\n var px = cx - point.x;\n var py = cy - point.y;\n var det = Math.sqrt(rx * rx * py * py + ry * ry * px * px);\n var dx = Math.abs(rx * ry * px / det);\n if (point.x < cx) {\n dx = -dx;\n }\n var dy = Math.abs(rx * ry * py / det);\n if (point.y < cy) {\n dy = -dy;\n }\n return { x: cx + dx, y: cy + dy };\n}\n__name(intersectEllipse, \"intersectEllipse\");\nvar intersect_ellipse_default = intersectEllipse;\n\n// src/rendering-util/rendering-elements/intersect/intersect-circle.js\nfunction intersectCircle(node, rx, point) {\n return intersect_ellipse_default(node, rx, rx, point);\n}\n__name(intersectCircle, \"intersectCircle\");\nvar intersect_circle_default = intersectCircle;\n\n// src/rendering-util/rendering-elements/intersect/intersect-line.js\nfunction intersectLine(p1, p2, q1, q2) {\n var a1, a2, b1, b2, c1, c2;\n var r1, r2, r3, r4;\n var denom, offset, num;\n var x, y;\n a1 = p2.y - p1.y;\n b1 = p1.x - p2.x;\n c1 = p2.x * p1.y - p1.x * p2.y;\n r3 = a1 * q1.x + b1 * q1.y + c1;\n r4 = a1 * q2.x + b1 * q2.y + c1;\n if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) {\n return;\n }\n a2 = q2.y - q1.y;\n b2 = q1.x - q2.x;\n c2 = q2.x * q1.y - q1.x * q2.y;\n r1 = a2 * p1.x + b2 * p1.y + c2;\n r2 = a2 * p2.x + b2 * p2.y + c2;\n if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) {\n return;\n }\n denom = a1 * b2 - a2 * b1;\n if (denom === 0) {\n return;\n }\n offset = Math.abs(denom / 2);\n num = b1 * c2 - b2 * c1;\n x = num < 0 ? (num - offset) / denom : (num + offset) / denom;\n num = a2 * c1 - a1 * c2;\n y = num < 0 ? (num - offset) / denom : (num + offset) / denom;\n return { x, y };\n}\n__name(intersectLine, \"intersectLine\");\nfunction sameSign(r1, r2) {\n return r1 * r2 > 0;\n}\n__name(sameSign, \"sameSign\");\nvar intersect_line_default = intersectLine;\n\n// src/rendering-util/rendering-elements/intersect/intersect-polygon.js\nfunction intersectPolygon(node, polyPoints, point) {\n let x1 = node.x;\n let y1 = node.y;\n let intersections = [];\n let minX = Number.POSITIVE_INFINITY;\n let minY = Number.POSITIVE_INFINITY;\n if (typeof polyPoints.forEach === \"function\") {\n polyPoints.forEach(function(entry) {\n minX = Math.min(minX, entry.x);\n minY = Math.min(minY, entry.y);\n });\n } else {\n minX = Math.min(minX, polyPoints.x);\n minY = Math.min(minY, polyPoints.y);\n }\n let left = x1 - node.width / 2 - minX;\n let top = y1 - node.height / 2 - minY;\n for (let i = 0; i < polyPoints.length; i++) {\n let p1 = polyPoints[i];\n let p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0];\n let intersect = intersect_line_default(\n node,\n point,\n { x: left + p1.x, y: top + p1.y },\n { x: left + p2.x, y: top + p2.y }\n );\n if (intersect) {\n intersections.push(intersect);\n }\n }\n if (!intersections.length) {\n return node;\n }\n if (intersections.length > 1) {\n intersections.sort(function(p, q) {\n let pdx = p.x - point.x;\n let pdy = p.y - point.y;\n let distp = Math.sqrt(pdx * pdx + pdy * pdy);\n let qdx = q.x - point.x;\n let qdy = q.y - point.y;\n let distq = Math.sqrt(qdx * qdx + qdy * qdy);\n return distp < distq ? -1 : distp === distq ? 0 : 1;\n });\n }\n return intersections[0];\n}\n__name(intersectPolygon, \"intersectPolygon\");\nvar intersect_polygon_default = intersectPolygon;\n\n// src/rendering-util/rendering-elements/intersect/index.js\nvar intersect_default = {\n node: intersect_node_default,\n circle: intersect_circle_default,\n ellipse: intersect_ellipse_default,\n polygon: intersect_polygon_default,\n rect: intersect_rect_default\n};\n\n// src/rendering-util/rendering-elements/shapes/anchor.ts\nimport rough2 from \"roughjs\";\nfunction anchor(parent, node) {\n const { labelStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const classes = getNodeClasses(node);\n let cssClasses = classes;\n if (!classes) {\n cssClasses = \"anchor\";\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", cssClasses).attr(\"id\", node.domId || node.id);\n const radius = 1;\n const { cssStyles } = node;\n const rc = rough2.svg(shapeSvg);\n const options = userNodeOverrides(node, { fill: \"black\", stroke: \"none\", fillStyle: \"solid\" });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n }\n const roughNode = rc.circle(0, 0, radius * 2, options);\n const circleElem = shapeSvg.insert(() => roughNode, \":first-child\");\n circleElem.attr(\"class\", \"anchor\").attr(\"style\", handleUndefinedAttr(cssStyles));\n updateNodeBounds(node, circleElem);\n node.intersect = function(point) {\n log.info(\"Circle intersect\", node, radius, point);\n return intersect_default.circle(node, radius, point);\n };\n return shapeSvg;\n}\n__name(anchor, \"anchor\");\n\n// src/rendering-util/rendering-elements/shapes/bowTieRect.ts\nimport rough3 from \"roughjs\";\nfunction generateArcPoints(x1, y1, x2, y2, rx, ry, clockwise) {\n const numPoints = 20;\n const midX = (x1 + x2) / 2;\n const midY = (y1 + y2) / 2;\n const angle = Math.atan2(y2 - y1, x2 - x1);\n const dx = (x2 - x1) / 2;\n const dy = (y2 - y1) / 2;\n const transformedX = dx / rx;\n const transformedY = dy / ry;\n const distance = Math.sqrt(transformedX ** 2 + transformedY ** 2);\n if (distance > 1) {\n throw new Error(\"The given radii are too small to create an arc between the points.\");\n }\n const scaledCenterDistance = Math.sqrt(1 - distance ** 2);\n const centerX = midX + scaledCenterDistance * ry * Math.sin(angle) * (clockwise ? -1 : 1);\n const centerY = midY - scaledCenterDistance * rx * Math.cos(angle) * (clockwise ? -1 : 1);\n const startAngle = Math.atan2((y1 - centerY) / ry, (x1 - centerX) / rx);\n const endAngle = Math.atan2((y2 - centerY) / ry, (x2 - centerX) / rx);\n let angleRange = endAngle - startAngle;\n if (clockwise && angleRange < 0) {\n angleRange += 2 * Math.PI;\n }\n if (!clockwise && angleRange > 0) {\n angleRange -= 2 * Math.PI;\n }\n const points = [];\n for (let i = 0; i < numPoints; i++) {\n const t = i / (numPoints - 1);\n const angle2 = startAngle + t * angleRange;\n const x = centerX + rx * Math.cos(angle2);\n const y = centerY + ry * Math.sin(angle2);\n points.push({ x, y });\n }\n return points;\n}\n__name(generateArcPoints, \"generateArcPoints\");\nasync function bowTieRect(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + node.padding + 20;\n const h = bbox.height + node.padding;\n const ry = h / 2;\n const rx = ry / (2.5 + h / 50);\n const { cssStyles } = node;\n const points = [\n { x: w / 2, y: -h / 2 },\n { x: -w / 2, y: -h / 2 },\n ...generateArcPoints(-w / 2, -h / 2, -w / 2, h / 2, rx, ry, false),\n { x: w / 2, y: h / 2 },\n ...generateArcPoints(w / 2, h / 2, w / 2, -h / 2, rx, ry, true)\n ];\n const rc = rough3.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const bowTieRectPath = createPathFromPoints(points);\n const bowTieRectShapePath = rc.path(bowTieRectPath, options);\n const bowTieRectShape = shapeSvg.insert(() => bowTieRectShapePath, \":first-child\");\n bowTieRectShape.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n bowTieRectShape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n bowTieRectShape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n bowTieRectShape.attr(\"transform\", `translate(${rx / 2}, 0)`);\n updateNodeBounds(node, bowTieRectShape);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(bowTieRect, \"bowTieRect\");\n\n// src/rendering-util/rendering-elements/shapes/card.ts\nimport rough4 from \"roughjs\";\n\n// src/rendering-util/rendering-elements/shapes/insertPolygonShape.ts\nfunction insertPolygonShape(parent, w, h, points) {\n return parent.insert(\"polygon\", \":first-child\").attr(\n \"points\",\n points.map(function(d) {\n return d.x + \",\" + d.y;\n }).join(\" \")\n ).attr(\"class\", \"label-container\").attr(\"transform\", \"translate(\" + -w / 2 + \",\" + h / 2 + \")\");\n}\n__name(insertPolygonShape, \"insertPolygonShape\");\n\n// src/rendering-util/rendering-elements/shapes/card.ts\nasync function card(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const h = bbox.height + node.padding;\n const padding = 12;\n const w = bbox.width + node.padding + padding;\n const left = 0;\n const right = w;\n const top = -h;\n const bottom = 0;\n const points = [\n { x: left + padding, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom },\n { x: left, y: top + padding },\n { x: left + padding, y: top }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough4.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-w / 2}, ${h / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, w, h, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(card, \"card\");\n\n// src/rendering-util/rendering-elements/shapes/choice.ts\nimport rough5 from \"roughjs\";\nfunction choice(parent, node) {\n const { nodeStyles } = styles2String(node);\n node.label = \"\";\n const shapeSvg = parent.insert(\"g\").attr(\"class\", getNodeClasses(node)).attr(\"id\", node.domId ?? node.id);\n const { cssStyles } = node;\n const s = Math.max(28, node.width ?? 0);\n const points = [\n { x: 0, y: s / 2 },\n { x: s / 2, y: 0 },\n { x: 0, y: -s / 2 },\n { x: -s / 2, y: 0 }\n ];\n const rc = rough5.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const choicePath = createPathFromPoints(points);\n const roughNode = rc.path(choicePath, options);\n const choiceShape = shapeSvg.insert(() => roughNode, \":first-child\");\n if (cssStyles && node.look !== \"handDrawn\") {\n choiceShape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n choiceShape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n node.width = 28;\n node.height = 28;\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(choice, \"choice\");\n\n// src/rendering-util/rendering-elements/shapes/circle.ts\nimport rough6 from \"roughjs\";\nasync function circle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node));\n const radius = bbox.width / 2 + halfPadding;\n let circleElem;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough6.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const roughNode = rc.circle(0, 0, radius * 2, options);\n circleElem = shapeSvg.insert(() => roughNode, \":first-child\");\n circleElem.attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles));\n } else {\n circleElem = shapeSvg.insert(\"circle\", \":first-child\").attr(\"class\", \"basic label-container\").attr(\"style\", nodeStyles).attr(\"r\", radius).attr(\"cx\", 0).attr(\"cy\", 0);\n }\n updateNodeBounds(node, circleElem);\n node.intersect = function(point) {\n log.info(\"Circle intersect\", node, radius, point);\n return intersect_default.circle(node, radius, point);\n };\n return shapeSvg;\n}\n__name(circle, \"circle\");\n\n// src/rendering-util/rendering-elements/shapes/crossedCircle.ts\nimport rough7 from \"roughjs\";\nfunction createLine(r) {\n const xAxis45 = Math.cos(Math.PI / 4);\n const yAxis45 = Math.sin(Math.PI / 4);\n const lineLength = r * 2;\n const pointQ1 = { x: lineLength / 2 * xAxis45, y: lineLength / 2 * yAxis45 };\n const pointQ2 = { x: -(lineLength / 2) * xAxis45, y: lineLength / 2 * yAxis45 };\n const pointQ3 = { x: -(lineLength / 2) * xAxis45, y: -(lineLength / 2) * yAxis45 };\n const pointQ4 = { x: lineLength / 2 * xAxis45, y: -(lineLength / 2) * yAxis45 };\n return `M ${pointQ2.x},${pointQ2.y} L ${pointQ4.x},${pointQ4.y}\n M ${pointQ1.x},${pointQ1.y} L ${pointQ3.x},${pointQ3.y}`;\n}\n__name(createLine, \"createLine\");\nfunction crossedCircle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n node.label = \"\";\n const shapeSvg = parent.insert(\"g\").attr(\"class\", getNodeClasses(node)).attr(\"id\", node.domId ?? node.id);\n const radius = Math.max(30, node?.width ?? 0);\n const { cssStyles } = node;\n const rc = rough7.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const circleNode = rc.circle(0, 0, radius * 2, options);\n const linePath = createLine(radius);\n const lineNode = rc.path(linePath, options);\n const crossedCircle2 = shapeSvg.insert(() => circleNode, \":first-child\");\n crossedCircle2.insert(() => lineNode);\n if (cssStyles && node.look !== \"handDrawn\") {\n crossedCircle2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n crossedCircle2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, crossedCircle2);\n node.intersect = function(point) {\n log.info(\"crossedCircle intersect\", node, { radius, point });\n const pos = intersect_default.circle(node, radius, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(crossedCircle, \"crossedCircle\");\n\n// src/rendering-util/rendering-elements/shapes/curlyBraceLeft.ts\nimport rough8 from \"roughjs\";\nfunction generateCirclePoints2(centerX, centerY, radius, numPoints = 100, startAngle = 0, endAngle = 180) {\n const points = [];\n const startAngleRad = startAngle * Math.PI / 180;\n const endAngleRad = endAngle * Math.PI / 180;\n const angleRange = endAngleRad - startAngleRad;\n const angleStep = angleRange / (numPoints - 1);\n for (let i = 0; i < numPoints; i++) {\n const angle = startAngleRad + i * angleStep;\n const x = centerX + radius * Math.cos(angle);\n const y = centerY + radius * Math.sin(angle);\n points.push({ x: -x, y: -y });\n }\n return points;\n}\n__name(generateCirclePoints2, \"generateCirclePoints\");\nasync function curlyBraceLeft(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + (node.padding ?? 0);\n const h = bbox.height + (node.padding ?? 0);\n const radius = Math.max(5, h * 0.1);\n const { cssStyles } = node;\n const points = [\n ...generateCirclePoints2(w / 2, -h / 2, radius, 30, -90, 0),\n { x: -w / 2 - radius, y: radius },\n ...generateCirclePoints2(w / 2 + radius * 2, -radius, radius, 20, -180, -270),\n ...generateCirclePoints2(w / 2 + radius * 2, radius, radius, 20, -90, -180),\n { x: -w / 2 - radius, y: -h / 2 },\n ...generateCirclePoints2(w / 2, h / 2, radius, 20, 0, 90)\n ];\n const rectPoints = [\n { x: w / 2, y: -h / 2 - radius },\n { x: -w / 2, y: -h / 2 - radius },\n ...generateCirclePoints2(w / 2, -h / 2, radius, 20, -90, 0),\n { x: -w / 2 - radius, y: -radius },\n ...generateCirclePoints2(w / 2 + w * 0.1, -radius, radius, 20, -180, -270),\n ...generateCirclePoints2(w / 2 + w * 0.1, radius, radius, 20, -90, -180),\n { x: -w / 2 - radius, y: h / 2 },\n ...generateCirclePoints2(w / 2, h / 2, radius, 20, 0, 90),\n { x: -w / 2, y: h / 2 + radius },\n { x: w / 2, y: h / 2 + radius }\n ];\n const rc = rough8.svg(shapeSvg);\n const options = userNodeOverrides(node, { fill: \"none\" });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const curlyBraceLeftPath = createPathFromPoints(points);\n const newCurlyBracePath = curlyBraceLeftPath.replace(\"Z\", \"\");\n const curlyBraceLeftNode = rc.path(newCurlyBracePath, options);\n const rectPath = createPathFromPoints(rectPoints);\n const rectShape = rc.path(rectPath, { ...options });\n const curlyBraceLeftShape = shapeSvg.insert(\"g\", \":first-child\");\n curlyBraceLeftShape.insert(() => rectShape, \":first-child\").attr(\"stroke-opacity\", 0);\n curlyBraceLeftShape.insert(() => curlyBraceLeftNode, \":first-child\");\n curlyBraceLeftShape.attr(\"class\", \"text\");\n if (cssStyles && node.look !== \"handDrawn\") {\n curlyBraceLeftShape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n curlyBraceLeftShape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n curlyBraceLeftShape.attr(\"transform\", `translate(${radius}, 0)`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + radius - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, curlyBraceLeftShape);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, rectPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(curlyBraceLeft, \"curlyBraceLeft\");\n\n// src/rendering-util/rendering-elements/shapes/curlyBraceRight.ts\nimport rough9 from \"roughjs\";\nfunction generateCirclePoints3(centerX, centerY, radius, numPoints = 100, startAngle = 0, endAngle = 180) {\n const points = [];\n const startAngleRad = startAngle * Math.PI / 180;\n const endAngleRad = endAngle * Math.PI / 180;\n const angleRange = endAngleRad - startAngleRad;\n const angleStep = angleRange / (numPoints - 1);\n for (let i = 0; i < numPoints; i++) {\n const angle = startAngleRad + i * angleStep;\n const x = centerX + radius * Math.cos(angle);\n const y = centerY + radius * Math.sin(angle);\n points.push({ x, y });\n }\n return points;\n}\n__name(generateCirclePoints3, \"generateCirclePoints\");\nasync function curlyBraceRight(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + (node.padding ?? 0);\n const h = bbox.height + (node.padding ?? 0);\n const radius = Math.max(5, h * 0.1);\n const { cssStyles } = node;\n const points = [\n ...generateCirclePoints3(w / 2, -h / 2, radius, 20, -90, 0),\n { x: w / 2 + radius, y: -radius },\n ...generateCirclePoints3(w / 2 + radius * 2, -radius, radius, 20, -180, -270),\n ...generateCirclePoints3(w / 2 + radius * 2, radius, radius, 20, -90, -180),\n { x: w / 2 + radius, y: h / 2 },\n ...generateCirclePoints3(w / 2, h / 2, radius, 20, 0, 90)\n ];\n const rectPoints = [\n { x: -w / 2, y: -h / 2 - radius },\n { x: w / 2, y: -h / 2 - radius },\n ...generateCirclePoints3(w / 2, -h / 2, radius, 20, -90, 0),\n { x: w / 2 + radius, y: -radius },\n ...generateCirclePoints3(w / 2 + radius * 2, -radius, radius, 20, -180, -270),\n ...generateCirclePoints3(w / 2 + radius * 2, radius, radius, 20, -90, -180),\n { x: w / 2 + radius, y: h / 2 },\n ...generateCirclePoints3(w / 2, h / 2, radius, 20, 0, 90),\n { x: w / 2, y: h / 2 + radius },\n { x: -w / 2, y: h / 2 + radius }\n ];\n const rc = rough9.svg(shapeSvg);\n const options = userNodeOverrides(node, { fill: \"none\" });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const curlyBraceRightPath = createPathFromPoints(points);\n const newCurlyBracePath = curlyBraceRightPath.replace(\"Z\", \"\");\n const curlyBraceRightNode = rc.path(newCurlyBracePath, options);\n const rectPath = createPathFromPoints(rectPoints);\n const rectShape = rc.path(rectPath, { ...options });\n const curlyBraceRightShape = shapeSvg.insert(\"g\", \":first-child\");\n curlyBraceRightShape.insert(() => rectShape, \":first-child\").attr(\"stroke-opacity\", 0);\n curlyBraceRightShape.insert(() => curlyBraceRightNode, \":first-child\");\n curlyBraceRightShape.attr(\"class\", \"text\");\n if (cssStyles && node.look !== \"handDrawn\") {\n curlyBraceRightShape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n curlyBraceRightShape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n curlyBraceRightShape.attr(\"transform\", `translate(${-radius}, 0)`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + (node.padding ?? 0) / 2 - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, curlyBraceRightShape);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, rectPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(curlyBraceRight, \"curlyBraceRight\");\n\n// src/rendering-util/rendering-elements/shapes/curlyBraces.ts\nimport rough10 from \"roughjs\";\nfunction generateCirclePoints4(centerX, centerY, radius, numPoints = 100, startAngle = 0, endAngle = 180) {\n const points = [];\n const startAngleRad = startAngle * Math.PI / 180;\n const endAngleRad = endAngle * Math.PI / 180;\n const angleRange = endAngleRad - startAngleRad;\n const angleStep = angleRange / (numPoints - 1);\n for (let i = 0; i < numPoints; i++) {\n const angle = startAngleRad + i * angleStep;\n const x = centerX + radius * Math.cos(angle);\n const y = centerY + radius * Math.sin(angle);\n points.push({ x: -x, y: -y });\n }\n return points;\n}\n__name(generateCirclePoints4, \"generateCirclePoints\");\nasync function curlyBraces(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + (node.padding ?? 0);\n const h = bbox.height + (node.padding ?? 0);\n const radius = Math.max(5, h * 0.1);\n const { cssStyles } = node;\n const leftCurlyBracePoints = [\n ...generateCirclePoints4(w / 2, -h / 2, radius, 30, -90, 0),\n { x: -w / 2 - radius, y: radius },\n ...generateCirclePoints4(w / 2 + radius * 2, -radius, radius, 20, -180, -270),\n ...generateCirclePoints4(w / 2 + radius * 2, radius, radius, 20, -90, -180),\n { x: -w / 2 - radius, y: -h / 2 },\n ...generateCirclePoints4(w / 2, h / 2, radius, 20, 0, 90)\n ];\n const rightCurlyBracePoints = [\n ...generateCirclePoints4(-w / 2 + radius + radius / 2, -h / 2, radius, 20, -90, -180),\n { x: w / 2 - radius / 2, y: radius },\n ...generateCirclePoints4(-w / 2 - radius / 2, -radius, radius, 20, 0, 90),\n ...generateCirclePoints4(-w / 2 - radius / 2, radius, radius, 20, -90, 0),\n { x: w / 2 - radius / 2, y: -radius },\n ...generateCirclePoints4(-w / 2 + radius + radius / 2, h / 2, radius, 30, -180, -270)\n ];\n const rectPoints = [\n { x: w / 2, y: -h / 2 - radius },\n { x: -w / 2, y: -h / 2 - radius },\n ...generateCirclePoints4(w / 2, -h / 2, radius, 20, -90, 0),\n { x: -w / 2 - radius, y: -radius },\n ...generateCirclePoints4(w / 2 + radius * 2, -radius, radius, 20, -180, -270),\n ...generateCirclePoints4(w / 2 + radius * 2, radius, radius, 20, -90, -180),\n { x: -w / 2 - radius, y: h / 2 },\n ...generateCirclePoints4(w / 2, h / 2, radius, 20, 0, 90),\n { x: -w / 2, y: h / 2 + radius },\n { x: w / 2 - radius - radius / 2, y: h / 2 + radius },\n ...generateCirclePoints4(-w / 2 + radius + radius / 2, -h / 2, radius, 20, -90, -180),\n { x: w / 2 - radius / 2, y: radius },\n ...generateCirclePoints4(-w / 2 - radius / 2, -radius, radius, 20, 0, 90),\n ...generateCirclePoints4(-w / 2 - radius / 2, radius, radius, 20, -90, 0),\n { x: w / 2 - radius / 2, y: -radius },\n ...generateCirclePoints4(-w / 2 + radius + radius / 2, h / 2, radius, 30, -180, -270)\n ];\n const rc = rough10.svg(shapeSvg);\n const options = userNodeOverrides(node, { fill: \"none\" });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const leftCurlyBracePath = createPathFromPoints(leftCurlyBracePoints);\n const newLeftCurlyBracePath = leftCurlyBracePath.replace(\"Z\", \"\");\n const leftCurlyBraceNode = rc.path(newLeftCurlyBracePath, options);\n const rightCurlyBracePath = createPathFromPoints(rightCurlyBracePoints);\n const newRightCurlyBracePath = rightCurlyBracePath.replace(\"Z\", \"\");\n const rightCurlyBraceNode = rc.path(newRightCurlyBracePath, options);\n const rectPath = createPathFromPoints(rectPoints);\n const rectShape = rc.path(rectPath, { ...options });\n const curlyBracesShape = shapeSvg.insert(\"g\", \":first-child\");\n curlyBracesShape.insert(() => rectShape, \":first-child\").attr(\"stroke-opacity\", 0);\n curlyBracesShape.insert(() => leftCurlyBraceNode, \":first-child\");\n curlyBracesShape.insert(() => rightCurlyBraceNode, \":first-child\");\n curlyBracesShape.attr(\"class\", \"text\");\n if (cssStyles && node.look !== \"handDrawn\") {\n curlyBracesShape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n curlyBracesShape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n curlyBracesShape.attr(\"transform\", `translate(${radius - radius / 4}, 0)`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + (node.padding ?? 0) / 2 - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, curlyBracesShape);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, rectPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(curlyBraces, \"curlyBraces\");\n\n// src/rendering-util/rendering-elements/shapes/curvedTrapezoid.ts\nimport rough11 from \"roughjs\";\nasync function curvedTrapezoid(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const minWidth = 80, minHeight = 20;\n const w = Math.max(minWidth, (bbox.width + (node.padding ?? 0) * 2) * 1.25, node?.width ?? 0);\n const h = Math.max(minHeight, bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const radius = h / 2;\n const { cssStyles } = node;\n const rc = rough11.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const totalWidth = w, totalHeight = h;\n const rw = totalWidth - radius;\n const tw = totalHeight / 4;\n const points = [\n { x: rw, y: 0 },\n { x: tw, y: 0 },\n { x: 0, y: totalHeight / 2 },\n { x: tw, y: totalHeight },\n { x: rw, y: totalHeight },\n ...generateCirclePoints(-rw, -totalHeight / 2, radius, 50, 270, 90)\n ];\n const pathData = createPathFromPoints(points);\n const shapeNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => shapeNode, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n polygon.attr(\"transform\", `translate(${-w / 2}, ${-h / 2})`);\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(curvedTrapezoid, \"curvedTrapezoid\");\n\n// src/rendering-util/rendering-elements/shapes/cylinder.ts\nimport rough12 from \"roughjs\";\nvar createCylinderPathD = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return [\n `M${x},${y + ry}`,\n `a${rx},${ry} 0,0,0 ${width},0`,\n `a${rx},${ry} 0,0,0 ${-width},0`,\n `l0,${height}`,\n `a${rx},${ry} 0,0,0 ${width},0`,\n `l0,${-height}`\n ].join(\" \");\n}, \"createCylinderPathD\");\nvar createOuterCylinderPathD = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return [\n `M${x},${y + ry}`,\n `M${x + width},${y + ry}`,\n `a${rx},${ry} 0,0,0 ${-width},0`,\n `l0,${height}`,\n `a${rx},${ry} 0,0,0 ${width},0`,\n `l0,${-height}`\n ].join(\" \");\n}, \"createOuterCylinderPathD\");\nvar createInnerCylinderPathD = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return [`M${x - width / 2},${-height / 2}`, `a${rx},${ry} 0,0,0 ${width},0`].join(\" \");\n}, \"createInnerCylinderPathD\");\nasync function cylinder(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + node.padding, node.width ?? 0);\n const rx = w / 2;\n const ry = rx / (2.5 + w / 50);\n const h = Math.max(bbox.height + ry + node.padding, node.height ?? 0);\n let cylinder2;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough12.svg(shapeSvg);\n const outerPathData = createOuterCylinderPathD(0, 0, w, h, rx, ry);\n const innerPathData = createInnerCylinderPathD(0, ry, w, h, rx, ry);\n const outerNode = rc.path(outerPathData, userNodeOverrides(node, {}));\n const innerLine = rc.path(innerPathData, userNodeOverrides(node, { fill: \"none\" }));\n cylinder2 = shapeSvg.insert(() => innerLine, \":first-child\");\n cylinder2 = shapeSvg.insert(() => outerNode, \":first-child\");\n cylinder2.attr(\"class\", \"basic label-container\");\n if (cssStyles) {\n cylinder2.attr(\"style\", cssStyles);\n }\n } else {\n const pathData = createCylinderPathD(0, 0, w, h, rx, ry);\n cylinder2 = shapeSvg.insert(\"path\", \":first-child\").attr(\"d\", pathData).attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles)).attr(\"style\", nodeStyles);\n }\n cylinder2.attr(\"label-offset-y\", ry);\n cylinder2.attr(\"transform\", `translate(${-w / 2}, ${-(h / 2 + ry)})`);\n updateNodeBounds(node, cylinder2);\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) + (node.padding ?? 0) / 1.5 - (bbox.y - (bbox.top ?? 0))})`\n );\n node.intersect = function(point) {\n const pos = intersect_default.rect(node, point);\n const x = pos.x - (node.x ?? 0);\n if (rx != 0 && (Math.abs(x) < (node.width ?? 0) / 2 || Math.abs(x) == (node.width ?? 0) / 2 && Math.abs(pos.y - (node.y ?? 0)) > (node.height ?? 0) / 2 - ry)) {\n let y = ry * ry * (1 - x * x / (rx * rx));\n if (y > 0) {\n y = Math.sqrt(y);\n }\n y = ry - y;\n if (point.y - (node.y ?? 0) > 0) {\n y = -y;\n }\n pos.y += y;\n }\n return pos;\n };\n return shapeSvg;\n}\n__name(cylinder, \"cylinder\");\n\n// src/rendering-util/rendering-elements/shapes/dividedRect.ts\nimport rough13 from \"roughjs\";\nasync function dividedRectangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const rectOffset = h * 0.2;\n const x = -w / 2;\n const y = -h / 2 - rectOffset / 2;\n const { cssStyles } = node;\n const rc = rough13.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const pts = [\n { x, y: y + rectOffset },\n { x: -x, y: y + rectOffset },\n { x: -x, y: -y },\n { x, y: -y },\n { x, y },\n { x: -x, y },\n { x: -x, y: y + rectOffset }\n ];\n const poly = rc.polygon(\n pts.map((p) => [p.x, p.y]),\n options\n );\n const polygon = shapeSvg.insert(() => poly, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n label.attr(\n \"transform\",\n `translate(${x + (node.padding ?? 0) / 2 - (bbox.x - (bbox.left ?? 0))}, ${y + rectOffset + (node.padding ?? 0) / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n const pos = intersect_default.rect(node, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(dividedRectangle, \"dividedRectangle\");\n\n// src/rendering-util/rendering-elements/shapes/doubleCircle.ts\nimport rough14 from \"roughjs\";\nasync function doublecircle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node));\n const gap = 5;\n const outerRadius = bbox.width / 2 + halfPadding + gap;\n const innerRadius = bbox.width / 2 + halfPadding;\n let circleGroup;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough14.svg(shapeSvg);\n const outerOptions = userNodeOverrides(node, { roughness: 0.2, strokeWidth: 2.5 });\n const innerOptions = userNodeOverrides(node, { roughness: 0.2, strokeWidth: 1.5 });\n const outerRoughNode = rc.circle(0, 0, outerRadius * 2, outerOptions);\n const innerRoughNode = rc.circle(0, 0, innerRadius * 2, innerOptions);\n circleGroup = shapeSvg.insert(\"g\", \":first-child\");\n circleGroup.attr(\"class\", handleUndefinedAttr(node.cssClasses)).attr(\"style\", handleUndefinedAttr(cssStyles));\n circleGroup.node()?.appendChild(outerRoughNode);\n circleGroup.node()?.appendChild(innerRoughNode);\n } else {\n circleGroup = shapeSvg.insert(\"g\", \":first-child\");\n const outerCircle = circleGroup.insert(\"circle\", \":first-child\");\n const innerCircle = circleGroup.insert(\"circle\");\n circleGroup.attr(\"class\", \"basic label-container\").attr(\"style\", nodeStyles);\n outerCircle.attr(\"class\", \"outer-circle\").attr(\"style\", nodeStyles).attr(\"r\", outerRadius).attr(\"cx\", 0).attr(\"cy\", 0);\n innerCircle.attr(\"class\", \"inner-circle\").attr(\"style\", nodeStyles).attr(\"r\", innerRadius).attr(\"cx\", 0).attr(\"cy\", 0);\n }\n updateNodeBounds(node, circleGroup);\n node.intersect = function(point) {\n log.info(\"DoubleCircle intersect\", node, outerRadius, point);\n return intersect_default.circle(node, outerRadius, point);\n };\n return shapeSvg;\n}\n__name(doublecircle, \"doublecircle\");\n\n// src/rendering-util/rendering-elements/shapes/filledCircle.ts\nimport rough15 from \"roughjs\";\nfunction filledCircle(parent, node, { config: { themeVariables } }) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.label = \"\";\n node.labelStyle = labelStyles;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", getNodeClasses(node)).attr(\"id\", node.domId ?? node.id);\n const radius = 7;\n const { cssStyles } = node;\n const rc = rough15.svg(shapeSvg);\n const { nodeBorder } = themeVariables;\n const options = userNodeOverrides(node, { fillStyle: \"solid\" });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n }\n const circleNode = rc.circle(0, 0, radius * 2, options);\n const filledCircle2 = shapeSvg.insert(() => circleNode, \":first-child\");\n filledCircle2.selectAll(\"path\").attr(\"style\", `fill: ${nodeBorder} !important;`);\n if (cssStyles && cssStyles.length > 0 && node.look !== \"handDrawn\") {\n filledCircle2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n filledCircle2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, filledCircle2);\n node.intersect = function(point) {\n log.info(\"filledCircle intersect\", node, { radius, point });\n const pos = intersect_default.circle(node, radius, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(filledCircle, \"filledCircle\");\n\n// src/rendering-util/rendering-elements/shapes/flippedTriangle.ts\nimport rough16 from \"roughjs\";\nasync function flippedTriangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + (node.padding ?? 0);\n const h = w + bbox.height;\n const tw = w + bbox.height;\n const points = [\n { x: 0, y: -h },\n { x: tw, y: -h },\n { x: tw / 2, y: 0 }\n ];\n const { cssStyles } = node;\n const rc = rough16.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n const flippedTriangle2 = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-h / 2}, ${h / 2})`);\n if (cssStyles && node.look !== \"handDrawn\") {\n flippedTriangle2.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n flippedTriangle2.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, flippedTriangle2);\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))}, ${-h / 2 + (node.padding ?? 0) / 2 + (bbox.y - (bbox.top ?? 0))})`\n );\n node.intersect = function(point) {\n log.info(\"Triangle intersect\", node, points, point);\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(flippedTriangle, \"flippedTriangle\");\n\n// src/rendering-util/rendering-elements/shapes/forkJoin.ts\nimport rough17 from \"roughjs\";\nfunction forkJoin(parent, node, { dir, config: { state: state2, themeVariables } }) {\n const { nodeStyles } = styles2String(node);\n node.label = \"\";\n const shapeSvg = parent.insert(\"g\").attr(\"class\", getNodeClasses(node)).attr(\"id\", node.domId ?? node.id);\n const { cssStyles } = node;\n let width = Math.max(70, node?.width ?? 0);\n let height = Math.max(10, node?.height ?? 0);\n if (dir === \"LR\") {\n width = Math.max(10, node?.width ?? 0);\n height = Math.max(70, node?.height ?? 0);\n }\n const x = -1 * width / 2;\n const y = -1 * height / 2;\n const rc = rough17.svg(shapeSvg);\n const options = userNodeOverrides(node, {\n stroke: themeVariables.lineColor,\n fill: themeVariables.lineColor\n });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const roughNode = rc.rectangle(x, y, width, height, options);\n const shape = shapeSvg.insert(() => roughNode, \":first-child\");\n if (cssStyles && node.look !== \"handDrawn\") {\n shape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n shape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, shape);\n const padding = state2?.padding ?? 0;\n if (node.width && node.height) {\n node.width += padding / 2 || 0;\n node.height += padding / 2 || 0;\n }\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(forkJoin, \"forkJoin\");\n\n// src/rendering-util/rendering-elements/shapes/halfRoundedRectangle.ts\nimport rough18 from \"roughjs\";\nasync function halfRoundedRectangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const minWidth = 80, minHeight = 50;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(minWidth, bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(minHeight, bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const radius = h / 2;\n const { cssStyles } = node;\n const rc = rough18.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: -w / 2, y: -h / 2 },\n { x: w / 2 - radius, y: -h / 2 },\n ...generateCirclePoints(-w / 2 + radius, 0, radius, 50, 90, 270),\n { x: w / 2 - radius, y: h / 2 },\n { x: -w / 2, y: h / 2 }\n ];\n const pathData = createPathFromPoints(points);\n const shapeNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => shapeNode, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n log.info(\"Pill intersect\", node, { radius, point });\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(halfRoundedRectangle, \"halfRoundedRectangle\");\n\n// src/rendering-util/rendering-elements/shapes/hexagon.ts\nimport rough19 from \"roughjs\";\nvar createHexagonPathD = /* @__PURE__ */ __name((x, y, width, height, m) => {\n return [\n `M${x + m},${y}`,\n `L${x + width - m},${y}`,\n `L${x + width},${y - height / 2}`,\n `L${x + width - m},${y - height}`,\n `L${x + m},${y - height}`,\n `L${x},${y - height / 2}`,\n \"Z\"\n ].join(\" \");\n}, \"createHexagonPathD\");\nasync function hexagon(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const f = 4;\n const h = bbox.height + node.padding;\n const m = h / f;\n const w = bbox.width + 2 * m + node.padding;\n const points = [\n { x: m, y: 0 },\n { x: w - m, y: 0 },\n { x: w, y: -h / 2 },\n { x: w - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough19.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createHexagonPathD(0, 0, w, h, m);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-w / 2}, ${h / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, w, h, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(hexagon, \"hexagon\");\n\n// src/rendering-util/rendering-elements/shapes/hourglass.ts\nimport rough20 from \"roughjs\";\nasync function hourglass(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.label = \"\";\n node.labelStyle = labelStyles;\n const { shapeSvg } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(30, node?.width ?? 0);\n const h = Math.max(30, node?.height ?? 0);\n const { cssStyles } = node;\n const rc = rough20.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: 0, y: h },\n { x: w, y: h }\n ];\n const pathData = createPathFromPoints(points);\n const shapeNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => shapeNode, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n polygon.attr(\"transform\", `translate(${-w / 2}, ${-h / 2})`);\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n log.info(\"Pill intersect\", node, { points });\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(hourglass, \"hourglass\");\n\n// src/rendering-util/rendering-elements/shapes/icon.ts\nimport rough21 from \"roughjs\";\nasync function icon(parent, node, { config: { themeVariables, flowchart } }) {\n const { labelStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const assetHeight = node.assetHeight ?? 48;\n const assetWidth = node.assetWidth ?? 48;\n const iconSize = Math.max(assetHeight, assetWidth);\n const defaultWidth = flowchart?.wrappingWidth;\n node.width = Math.max(iconSize, defaultWidth ?? 0);\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, \"icon-shape default\");\n const topLabel = node.pos === \"t\";\n const height = iconSize;\n const width = iconSize;\n const { nodeBorder } = themeVariables;\n const { stylesMap } = compileStyles(node);\n const x = -width / 2;\n const y = -height / 2;\n const labelPadding = node.label ? 8 : 0;\n const rc = rough21.svg(shapeSvg);\n const options = userNodeOverrides(node, { stroke: \"none\", fill: \"none\" });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const iconNode = rc.rectangle(x, y, width, height, options);\n const outerWidth = Math.max(width, bbox.width);\n const outerHeight = height + bbox.height + labelPadding;\n const outerNode = rc.rectangle(-outerWidth / 2, -outerHeight / 2, outerWidth, outerHeight, {\n ...options,\n fill: \"transparent\",\n stroke: \"none\"\n });\n const iconShape = shapeSvg.insert(() => iconNode, \":first-child\");\n const outerShape = shapeSvg.insert(() => outerNode);\n if (node.icon) {\n const iconElem = shapeSvg.append(\"g\");\n iconElem.html(\n `<g>${await getIconSVG(node.icon, {\n height: iconSize,\n width: iconSize,\n fallbackPrefix: \"\"\n })}</g>`\n );\n const iconBBox = iconElem.node().getBBox();\n const iconWidth = iconBBox.width;\n const iconHeight = iconBBox.height;\n const iconX = iconBBox.x;\n const iconY = iconBBox.y;\n iconElem.attr(\n \"transform\",\n `translate(${-iconWidth / 2 - iconX},${topLabel ? bbox.height / 2 + labelPadding / 2 - iconHeight / 2 - iconY : -bbox.height / 2 - labelPadding / 2 - iconHeight / 2 - iconY})`\n );\n iconElem.attr(\"style\", `color: ${stylesMap.get(\"stroke\") ?? nodeBorder};`);\n }\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))},${topLabel ? -outerHeight / 2 : outerHeight / 2 - bbox.height})`\n );\n iconShape.attr(\n \"transform\",\n `translate(${0},${topLabel ? bbox.height / 2 + labelPadding / 2 : -bbox.height / 2 - labelPadding / 2})`\n );\n updateNodeBounds(node, outerShape);\n node.intersect = function(point) {\n log.info(\"iconSquare intersect\", node, point);\n if (!node.label) {\n return intersect_default.rect(node, point);\n }\n const dx = node.x ?? 0;\n const dy = node.y ?? 0;\n const nodeHeight = node.height ?? 0;\n let points = [];\n if (topLabel) {\n points = [\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + width / 2, y: dy + nodeHeight / 2 },\n { x: dx - width / 2, y: dy + nodeHeight / 2 },\n { x: dx - width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding }\n ];\n } else {\n points = [\n { x: dx - width / 2, y: dy - nodeHeight / 2 },\n { x: dx + width / 2, y: dy - nodeHeight / 2 },\n { x: dx + width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx + bbox.width / 2 / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx - width / 2, y: dy - nodeHeight / 2 + height }\n ];\n }\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(icon, \"icon\");\n\n// src/rendering-util/rendering-elements/shapes/iconCircle.ts\nimport rough22 from \"roughjs\";\nasync function iconCircle(parent, node, { config: { themeVariables, flowchart } }) {\n const { labelStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const assetHeight = node.assetHeight ?? 48;\n const assetWidth = node.assetWidth ?? 48;\n const iconSize = Math.max(assetHeight, assetWidth);\n const defaultWidth = flowchart?.wrappingWidth;\n node.width = Math.max(iconSize, defaultWidth ?? 0);\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, \"icon-shape default\");\n const padding = 20;\n const labelPadding = node.label ? 8 : 0;\n const topLabel = node.pos === \"t\";\n const { nodeBorder, mainBkg } = themeVariables;\n const { stylesMap } = compileStyles(node);\n const rc = rough22.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const fill = stylesMap.get(\"fill\");\n options.stroke = fill ?? mainBkg;\n const iconElem = shapeSvg.append(\"g\");\n if (node.icon) {\n iconElem.html(\n `<g>${await getIconSVG(node.icon, {\n height: iconSize,\n width: iconSize,\n fallbackPrefix: \"\"\n })}</g>`\n );\n }\n const iconBBox = iconElem.node().getBBox();\n const iconWidth = iconBBox.width;\n const iconHeight = iconBBox.height;\n const iconX = iconBBox.x;\n const iconY = iconBBox.y;\n const diameter = Math.max(iconWidth, iconHeight) * Math.SQRT2 + padding * 2;\n const iconNode = rc.circle(0, 0, diameter, options);\n const outerWidth = Math.max(diameter, bbox.width);\n const outerHeight = diameter + bbox.height + labelPadding;\n const outerNode = rc.rectangle(-outerWidth / 2, -outerHeight / 2, outerWidth, outerHeight, {\n ...options,\n fill: \"transparent\",\n stroke: \"none\"\n });\n const iconShape = shapeSvg.insert(() => iconNode, \":first-child\");\n const outerShape = shapeSvg.insert(() => outerNode);\n iconElem.attr(\n \"transform\",\n `translate(${-iconWidth / 2 - iconX},${topLabel ? bbox.height / 2 + labelPadding / 2 - iconHeight / 2 - iconY : -bbox.height / 2 - labelPadding / 2 - iconHeight / 2 - iconY})`\n );\n iconElem.attr(\"style\", `color: ${stylesMap.get(\"stroke\") ?? nodeBorder};`);\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))},${topLabel ? -outerHeight / 2 : outerHeight / 2 - bbox.height})`\n );\n iconShape.attr(\n \"transform\",\n `translate(${0},${topLabel ? bbox.height / 2 + labelPadding / 2 : -bbox.height / 2 - labelPadding / 2})`\n );\n updateNodeBounds(node, outerShape);\n node.intersect = function(point) {\n log.info(\"iconSquare intersect\", node, point);\n const pos = intersect_default.rect(node, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(iconCircle, \"iconCircle\");\n\n// src/rendering-util/rendering-elements/shapes/iconRounded.ts\nimport rough23 from \"roughjs\";\nasync function iconRounded(parent, node, { config: { themeVariables, flowchart } }) {\n const { labelStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const assetHeight = node.assetHeight ?? 48;\n const assetWidth = node.assetWidth ?? 48;\n const iconSize = Math.max(assetHeight, assetWidth);\n const defaultWidth = flowchart?.wrappingWidth;\n node.width = Math.max(iconSize, defaultWidth ?? 0);\n const { shapeSvg, bbox, halfPadding, label } = await labelHelper(\n parent,\n node,\n \"icon-shape default\"\n );\n const topLabel = node.pos === \"t\";\n const height = iconSize + halfPadding * 2;\n const width = iconSize + halfPadding * 2;\n const { nodeBorder, mainBkg } = themeVariables;\n const { stylesMap } = compileStyles(node);\n const x = -width / 2;\n const y = -height / 2;\n const labelPadding = node.label ? 8 : 0;\n const rc = rough23.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const fill = stylesMap.get(\"fill\");\n options.stroke = fill ?? mainBkg;\n const iconNode = rc.path(createRoundedRectPathD(x, y, width, height, 5), options);\n const outerWidth = Math.max(width, bbox.width);\n const outerHeight = height + bbox.height + labelPadding;\n const outerNode = rc.rectangle(-outerWidth / 2, -outerHeight / 2, outerWidth, outerHeight, {\n ...options,\n fill: \"transparent\",\n stroke: \"none\"\n });\n const iconShape = shapeSvg.insert(() => iconNode, \":first-child\").attr(\"class\", \"icon-shape2\");\n const outerShape = shapeSvg.insert(() => outerNode);\n if (node.icon) {\n const iconElem = shapeSvg.append(\"g\");\n iconElem.html(\n `<g>${await getIconSVG(node.icon, {\n height: iconSize,\n width: iconSize,\n fallbackPrefix: \"\"\n })}</g>`\n );\n const iconBBox = iconElem.node().getBBox();\n const iconWidth = iconBBox.width;\n const iconHeight = iconBBox.height;\n const iconX = iconBBox.x;\n const iconY = iconBBox.y;\n iconElem.attr(\n \"transform\",\n `translate(${-iconWidth / 2 - iconX},${topLabel ? bbox.height / 2 + labelPadding / 2 - iconHeight / 2 - iconY : -bbox.height / 2 - labelPadding / 2 - iconHeight / 2 - iconY})`\n );\n iconElem.attr(\"style\", `color: ${stylesMap.get(\"stroke\") ?? nodeBorder};`);\n }\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))},${topLabel ? -outerHeight / 2 : outerHeight / 2 - bbox.height})`\n );\n iconShape.attr(\n \"transform\",\n `translate(${0},${topLabel ? bbox.height / 2 + labelPadding / 2 : -bbox.height / 2 - labelPadding / 2})`\n );\n updateNodeBounds(node, outerShape);\n node.intersect = function(point) {\n log.info(\"iconSquare intersect\", node, point);\n if (!node.label) {\n return intersect_default.rect(node, point);\n }\n const dx = node.x ?? 0;\n const dy = node.y ?? 0;\n const nodeHeight = node.height ?? 0;\n let points = [];\n if (topLabel) {\n points = [\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + width / 2, y: dy + nodeHeight / 2 },\n { x: dx - width / 2, y: dy + nodeHeight / 2 },\n { x: dx - width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding }\n ];\n } else {\n points = [\n { x: dx - width / 2, y: dy - nodeHeight / 2 },\n { x: dx + width / 2, y: dy - nodeHeight / 2 },\n { x: dx + width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx + bbox.width / 2 / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx - width / 2, y: dy - nodeHeight / 2 + height }\n ];\n }\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(iconRounded, \"iconRounded\");\n\n// src/rendering-util/rendering-elements/shapes/iconSquare.ts\nimport rough24 from \"roughjs\";\nasync function iconSquare(parent, node, { config: { themeVariables, flowchart } }) {\n const { labelStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const assetHeight = node.assetHeight ?? 48;\n const assetWidth = node.assetWidth ?? 48;\n const iconSize = Math.max(assetHeight, assetWidth);\n const defaultWidth = flowchart?.wrappingWidth;\n node.width = Math.max(iconSize, defaultWidth ?? 0);\n const { shapeSvg, bbox, halfPadding, label } = await labelHelper(\n parent,\n node,\n \"icon-shape default\"\n );\n const topLabel = node.pos === \"t\";\n const height = iconSize + halfPadding * 2;\n const width = iconSize + halfPadding * 2;\n const { nodeBorder, mainBkg } = themeVariables;\n const { stylesMap } = compileStyles(node);\n const x = -width / 2;\n const y = -height / 2;\n const labelPadding = node.label ? 8 : 0;\n const rc = rough24.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const fill = stylesMap.get(\"fill\");\n options.stroke = fill ?? mainBkg;\n const iconNode = rc.path(createRoundedRectPathD(x, y, width, height, 0.1), options);\n const outerWidth = Math.max(width, bbox.width);\n const outerHeight = height + bbox.height + labelPadding;\n const outerNode = rc.rectangle(-outerWidth / 2, -outerHeight / 2, outerWidth, outerHeight, {\n ...options,\n fill: \"transparent\",\n stroke: \"none\"\n });\n const iconShape = shapeSvg.insert(() => iconNode, \":first-child\");\n const outerShape = shapeSvg.insert(() => outerNode);\n if (node.icon) {\n const iconElem = shapeSvg.append(\"g\");\n iconElem.html(\n `<g>${await getIconSVG(node.icon, {\n height: iconSize,\n width: iconSize,\n fallbackPrefix: \"\"\n })}</g>`\n );\n const iconBBox = iconElem.node().getBBox();\n const iconWidth = iconBBox.width;\n const iconHeight = iconBBox.height;\n const iconX = iconBBox.x;\n const iconY = iconBBox.y;\n iconElem.attr(\n \"transform\",\n `translate(${-iconWidth / 2 - iconX},${topLabel ? bbox.height / 2 + labelPadding / 2 - iconHeight / 2 - iconY : -bbox.height / 2 - labelPadding / 2 - iconHeight / 2 - iconY})`\n );\n iconElem.attr(\"style\", `color: ${stylesMap.get(\"stroke\") ?? nodeBorder};`);\n }\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))},${topLabel ? -outerHeight / 2 : outerHeight / 2 - bbox.height})`\n );\n iconShape.attr(\n \"transform\",\n `translate(${0},${topLabel ? bbox.height / 2 + labelPadding / 2 : -bbox.height / 2 - labelPadding / 2})`\n );\n updateNodeBounds(node, outerShape);\n node.intersect = function(point) {\n log.info(\"iconSquare intersect\", node, point);\n if (!node.label) {\n return intersect_default.rect(node, point);\n }\n const dx = node.x ?? 0;\n const dy = node.y ?? 0;\n const nodeHeight = node.height ?? 0;\n let points = [];\n if (topLabel) {\n points = [\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + width / 2, y: dy + nodeHeight / 2 },\n { x: dx - width / 2, y: dy + nodeHeight / 2 },\n { x: dx - width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding }\n ];\n } else {\n points = [\n { x: dx - width / 2, y: dy - nodeHeight / 2 },\n { x: dx + width / 2, y: dy - nodeHeight / 2 },\n { x: dx + width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx + bbox.width / 2 / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + height },\n { x: dx - width / 2, y: dy - nodeHeight / 2 + height }\n ];\n }\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(iconSquare, \"iconSquare\");\n\n// src/rendering-util/rendering-elements/shapes/imageSquare.ts\nimport rough25 from \"roughjs\";\nasync function imageSquare(parent, node, { config: { flowchart } }) {\n const img = new Image();\n img.src = node?.img ?? \"\";\n await img.decode();\n const imageNaturalWidth = Number(img.naturalWidth.toString().replace(\"px\", \"\"));\n const imageNaturalHeight = Number(img.naturalHeight.toString().replace(\"px\", \"\"));\n node.imageAspectRatio = imageNaturalWidth / imageNaturalHeight;\n const { labelStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const defaultWidth = flowchart?.wrappingWidth;\n node.defaultWidth = flowchart?.wrappingWidth;\n const imageRawWidth = Math.max(\n node.label ? defaultWidth ?? 0 : 0,\n node?.assetWidth ?? imageNaturalWidth\n );\n const imageWidth = node.constraint === \"on\" ? node?.assetHeight ? node.assetHeight * node.imageAspectRatio : imageRawWidth : imageRawWidth;\n const imageHeight = node.constraint === \"on\" ? imageWidth / node.imageAspectRatio : node?.assetHeight ?? imageNaturalHeight;\n node.width = Math.max(imageWidth, defaultWidth ?? 0);\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, \"image-shape default\");\n const topLabel = node.pos === \"t\";\n const x = -imageWidth / 2;\n const y = -imageHeight / 2;\n const labelPadding = node.label ? 8 : 0;\n const rc = rough25.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const imageNode = rc.rectangle(x, y, imageWidth, imageHeight, options);\n const outerWidth = Math.max(imageWidth, bbox.width);\n const outerHeight = imageHeight + bbox.height + labelPadding;\n const outerNode = rc.rectangle(-outerWidth / 2, -outerHeight / 2, outerWidth, outerHeight, {\n ...options,\n fill: \"none\",\n stroke: \"none\"\n });\n const iconShape = shapeSvg.insert(() => imageNode, \":first-child\");\n const outerShape = shapeSvg.insert(() => outerNode);\n if (node.img) {\n const image = shapeSvg.append(\"image\");\n image.attr(\"href\", node.img);\n image.attr(\"width\", imageWidth);\n image.attr(\"height\", imageHeight);\n image.attr(\"preserveAspectRatio\", \"none\");\n image.attr(\n \"transform\",\n `translate(${-imageWidth / 2},${topLabel ? outerHeight / 2 - imageHeight : -outerHeight / 2})`\n );\n }\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))},${topLabel ? -imageHeight / 2 - bbox.height / 2 - labelPadding / 2 : imageHeight / 2 - bbox.height / 2 + labelPadding / 2})`\n );\n iconShape.attr(\n \"transform\",\n `translate(${0},${topLabel ? bbox.height / 2 + labelPadding / 2 : -bbox.height / 2 - labelPadding / 2})`\n );\n updateNodeBounds(node, outerShape);\n node.intersect = function(point) {\n log.info(\"iconSquare intersect\", node, point);\n if (!node.label) {\n return intersect_default.rect(node, point);\n }\n const dx = node.x ?? 0;\n const dy = node.y ?? 0;\n const nodeHeight = node.height ?? 0;\n let points = [];\n if (topLabel) {\n points = [\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + imageWidth / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx + imageWidth / 2, y: dy + nodeHeight / 2 },\n { x: dx - imageWidth / 2, y: dy + nodeHeight / 2 },\n { x: dx - imageWidth / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + bbox.height + labelPadding }\n ];\n } else {\n points = [\n { x: dx - imageWidth / 2, y: dy - nodeHeight / 2 },\n { x: dx + imageWidth / 2, y: dy - nodeHeight / 2 },\n { x: dx + imageWidth / 2, y: dy - nodeHeight / 2 + imageHeight },\n { x: dx + bbox.width / 2, y: dy - nodeHeight / 2 + imageHeight },\n { x: dx + bbox.width / 2 / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy + nodeHeight / 2 },\n { x: dx - bbox.width / 2, y: dy - nodeHeight / 2 + imageHeight },\n { x: dx - imageWidth / 2, y: dy - nodeHeight / 2 + imageHeight }\n ];\n }\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(imageSquare, \"imageSquare\");\n\n// src/rendering-util/rendering-elements/shapes/invertedTrapezoid.ts\nimport rough26 from \"roughjs\";\nasync function inv_trapezoid(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: w + 3 * h / 6, y: -h },\n { x: -3 * h / 6, y: -h }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough26.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-w / 2}, ${h / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, w, h, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(inv_trapezoid, \"inv_trapezoid\");\n\n// src/rendering-util/rendering-elements/shapes/drawRect.ts\nimport rough27 from \"roughjs\";\nasync function drawRect(parent, node, options) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const totalWidth = Math.max(bbox.width + options.labelPaddingX * 2, node?.width || 0);\n const totalHeight = Math.max(bbox.height + options.labelPaddingY * 2, node?.height || 0);\n const x = -totalWidth / 2;\n const y = -totalHeight / 2;\n let rect2;\n let { rx, ry } = node;\n const { cssStyles } = node;\n if (options?.rx && options.ry) {\n rx = options.rx;\n ry = options.ry;\n }\n if (node.look === \"handDrawn\") {\n const rc = rough27.svg(shapeSvg);\n const options2 = userNodeOverrides(node, {});\n const roughNode = rx || ry ? rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, rx || 0), options2) : rc.rectangle(x, y, totalWidth, totalHeight, options2);\n rect2 = shapeSvg.insert(() => roughNode, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles));\n } else {\n rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", nodeStyles).attr(\"rx\", handleUndefinedAttr(rx)).attr(\"ry\", handleUndefinedAttr(ry)).attr(\"x\", x).attr(\"y\", y).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(drawRect, \"drawRect\");\n\n// src/rendering-util/rendering-elements/shapes/labelRect.ts\nasync function labelRect(parent, node) {\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, \"label\");\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const totalWidth = 0.1;\n const totalHeight = 0.1;\n rect2.attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n shapeSvg.attr(\"class\", \"label edgeLabel\");\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(labelRect, \"labelRect\");\n\n// src/rendering-util/rendering-elements/shapes/leanLeft.ts\nimport rough28 from \"roughjs\";\nasync function lean_left(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0), node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0), node?.height ?? 0);\n const points = [\n { x: 0, y: 0 },\n { x: w + 3 * h / 6, y: 0 },\n { x: w, y: -h },\n { x: -(3 * h) / 6, y: -h }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough28.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-w / 2}, ${h / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, w, h, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(lean_left, \"lean_left\");\n\n// src/rendering-util/rendering-elements/shapes/leanRight.ts\nimport rough29 from \"roughjs\";\nasync function lean_right(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0), node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0), node?.height ?? 0);\n const points = [\n { x: -3 * h / 6, y: 0 },\n { x: w, y: 0 },\n { x: w + 3 * h / 6, y: -h },\n { x: 0, y: -h }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough29.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-w / 2}, ${h / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, w, h, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(lean_right, \"lean_right\");\n\n// src/rendering-util/rendering-elements/shapes/lightningBolt.ts\nimport rough30 from \"roughjs\";\nfunction lightningBolt(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.label = \"\";\n node.labelStyle = labelStyles;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", getNodeClasses(node)).attr(\"id\", node.domId ?? node.id);\n const { cssStyles } = node;\n const width = Math.max(35, node?.width ?? 0);\n const height = Math.max(35, node?.height ?? 0);\n const gap = 7;\n const points = [\n { x: width, y: 0 },\n { x: 0, y: height + gap / 2 },\n { x: width - 2 * gap, y: height + gap / 2 },\n { x: 0, y: 2 * height },\n { x: width, y: height - gap / 2 },\n { x: 2 * gap, y: height - gap / 2 }\n ];\n const rc = rough30.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const linePath = createPathFromPoints(points);\n const lineNode = rc.path(linePath, options);\n const lightningBolt2 = shapeSvg.insert(() => lineNode, \":first-child\");\n if (cssStyles && node.look !== \"handDrawn\") {\n lightningBolt2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n lightningBolt2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n lightningBolt2.attr(\"transform\", `translate(-${width / 2},${-height})`);\n updateNodeBounds(node, lightningBolt2);\n node.intersect = function(point) {\n log.info(\"lightningBolt intersect\", node, point);\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(lightningBolt, \"lightningBolt\");\n\n// src/rendering-util/rendering-elements/shapes/linedCylinder.ts\nimport rough31 from \"roughjs\";\nvar createCylinderPathD2 = /* @__PURE__ */ __name((x, y, width, height, rx, ry, outerOffset) => {\n return [\n `M${x},${y + ry}`,\n `a${rx},${ry} 0,0,0 ${width},0`,\n `a${rx},${ry} 0,0,0 ${-width},0`,\n `l0,${height}`,\n `a${rx},${ry} 0,0,0 ${width},0`,\n `l0,${-height}`,\n `M${x},${y + ry + outerOffset}`,\n `a${rx},${ry} 0,0,0 ${width},0`\n ].join(\" \");\n}, \"createCylinderPathD\");\nvar createOuterCylinderPathD2 = /* @__PURE__ */ __name((x, y, width, height, rx, ry, outerOffset) => {\n return [\n `M${x},${y + ry}`,\n `M${x + width},${y + ry}`,\n `a${rx},${ry} 0,0,0 ${-width},0`,\n `l0,${height}`,\n `a${rx},${ry} 0,0,0 ${width},0`,\n `l0,${-height}`,\n `M${x},${y + ry + outerOffset}`,\n `a${rx},${ry} 0,0,0 ${width},0`\n ].join(\" \");\n}, \"createOuterCylinderPathD\");\nvar createInnerCylinderPathD2 = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return [`M${x - width / 2},${-height / 2}`, `a${rx},${ry} 0,0,0 ${width},0`].join(\" \");\n}, \"createInnerCylinderPathD\");\nasync function linedCylinder(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0), node.width ?? 0);\n const rx = w / 2;\n const ry = rx / (2.5 + w / 50);\n const h = Math.max(bbox.height + ry + (node.padding ?? 0), node.height ?? 0);\n const outerOffset = h * 0.1;\n let cylinder2;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough31.svg(shapeSvg);\n const outerPathData = createOuterCylinderPathD2(0, 0, w, h, rx, ry, outerOffset);\n const innerPathData = createInnerCylinderPathD2(0, ry, w, h, rx, ry);\n const options = userNodeOverrides(node, {});\n const outerNode = rc.path(outerPathData, options);\n const innerLine = rc.path(innerPathData, options);\n const innerLineEl = shapeSvg.insert(() => innerLine, \":first-child\");\n innerLineEl.attr(\"class\", \"line\");\n cylinder2 = shapeSvg.insert(() => outerNode, \":first-child\");\n cylinder2.attr(\"class\", \"basic label-container\");\n if (cssStyles) {\n cylinder2.attr(\"style\", cssStyles);\n }\n } else {\n const pathData = createCylinderPathD2(0, 0, w, h, rx, ry, outerOffset);\n cylinder2 = shapeSvg.insert(\"path\", \":first-child\").attr(\"d\", pathData).attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles)).attr(\"style\", nodeStyles);\n }\n cylinder2.attr(\"label-offset-y\", ry);\n cylinder2.attr(\"transform\", `translate(${-w / 2}, ${-(h / 2 + ry)})`);\n updateNodeBounds(node, cylinder2);\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) + ry - (bbox.y - (bbox.top ?? 0))})`\n );\n node.intersect = function(point) {\n const pos = intersect_default.rect(node, point);\n const x = pos.x - (node.x ?? 0);\n if (rx != 0 && (Math.abs(x) < (node.width ?? 0) / 2 || Math.abs(x) == (node.width ?? 0) / 2 && Math.abs(pos.y - (node.y ?? 0)) > (node.height ?? 0) / 2 - ry)) {\n let y = ry * ry * (1 - x * x / (rx * rx));\n if (y > 0) {\n y = Math.sqrt(y);\n }\n y = ry - y;\n if (point.y - (node.y ?? 0) > 0) {\n y = -y;\n }\n pos.y += y;\n }\n return pos;\n };\n return shapeSvg;\n}\n__name(linedCylinder, \"linedCylinder\");\n\n// src/rendering-util/rendering-elements/shapes/linedWaveEdgedRect.ts\nimport rough32 from \"roughjs\";\nasync function linedWaveEdgedRect(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const waveAmplitude = h / 4;\n const finalH = h + waveAmplitude;\n const { cssStyles } = node;\n const rc = rough32.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: -w / 2 - w / 2 * 0.1, y: -finalH / 2 },\n { x: -w / 2 - w / 2 * 0.1, y: finalH / 2 },\n ...generateFullSineWavePoints(\n -w / 2 - w / 2 * 0.1,\n finalH / 2,\n w / 2 + w / 2 * 0.1,\n finalH / 2,\n waveAmplitude,\n 0.8\n ),\n { x: w / 2 + w / 2 * 0.1, y: -finalH / 2 },\n { x: -w / 2 - w / 2 * 0.1, y: -finalH / 2 },\n { x: -w / 2, y: -finalH / 2 },\n { x: -w / 2, y: finalH / 2 * 1.1 },\n { x: -w / 2, y: -finalH / 2 }\n ];\n const poly = rc.polygon(\n points.map((p) => [p.x, p.y]),\n options\n );\n const waveEdgeRect = shapeSvg.insert(() => poly, \":first-child\");\n waveEdgeRect.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n waveEdgeRect.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n waveEdgeRect.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n waveEdgeRect.attr(\"transform\", `translate(0,${-waveAmplitude / 2})`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + (node.padding ?? 0) + w / 2 * 0.1 / 2 - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) - waveAmplitude / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, waveEdgeRect);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(linedWaveEdgedRect, \"linedWaveEdgedRect\");\n\n// src/rendering-util/rendering-elements/shapes/multiRect.ts\nimport rough33 from \"roughjs\";\nasync function multiRect(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const rectOffset = 5;\n const x = -w / 2;\n const y = -h / 2;\n const { cssStyles } = node;\n const rc = rough33.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const outerPathPoints = [\n { x: x - rectOffset, y: y + rectOffset },\n { x: x - rectOffset, y: y + h + rectOffset },\n { x: x + w - rectOffset, y: y + h + rectOffset },\n { x: x + w - rectOffset, y: y + h },\n { x: x + w, y: y + h },\n { x: x + w, y: y + h - rectOffset },\n { x: x + w + rectOffset, y: y + h - rectOffset },\n { x: x + w + rectOffset, y: y - rectOffset },\n { x: x + rectOffset, y: y - rectOffset },\n { x: x + rectOffset, y },\n { x, y },\n { x, y: y + rectOffset }\n ];\n const innerPathPoints = [\n { x, y: y + rectOffset },\n { x: x + w - rectOffset, y: y + rectOffset },\n { x: x + w - rectOffset, y: y + h },\n { x: x + w, y: y + h },\n { x: x + w, y },\n { x, y }\n ];\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const outerPath = createPathFromPoints(outerPathPoints);\n const outerNode = rc.path(outerPath, options);\n const innerPath = createPathFromPoints(innerPathPoints);\n const innerNode = rc.path(innerPath, { ...options, fill: \"none\" });\n const multiRect2 = shapeSvg.insert(() => innerNode, \":first-child\");\n multiRect2.insert(() => outerNode, \":first-child\");\n multiRect2.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n multiRect2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n multiRect2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) - rectOffset - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) + rectOffset - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, multiRect2);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, outerPathPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(multiRect, \"multiRect\");\n\n// src/rendering-util/rendering-elements/shapes/multiWaveEdgedRectangle.ts\nimport rough34 from \"roughjs\";\nasync function multiWaveEdgedRectangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const waveAmplitude = h / 4;\n const finalH = h + waveAmplitude;\n const x = -w / 2;\n const y = -finalH / 2;\n const rectOffset = 5;\n const { cssStyles } = node;\n const wavePoints = generateFullSineWavePoints(\n x - rectOffset,\n y + finalH + rectOffset,\n x + w - rectOffset,\n y + finalH + rectOffset,\n waveAmplitude,\n 0.8\n );\n const lastWavePoint = wavePoints?.[wavePoints.length - 1];\n const outerPathPoints = [\n { x: x - rectOffset, y: y + rectOffset },\n { x: x - rectOffset, y: y + finalH + rectOffset },\n ...wavePoints,\n { x: x + w - rectOffset, y: lastWavePoint.y - rectOffset },\n { x: x + w, y: lastWavePoint.y - rectOffset },\n { x: x + w, y: lastWavePoint.y - 2 * rectOffset },\n { x: x + w + rectOffset, y: lastWavePoint.y - 2 * rectOffset },\n { x: x + w + rectOffset, y: y - rectOffset },\n { x: x + rectOffset, y: y - rectOffset },\n { x: x + rectOffset, y },\n { x, y },\n { x, y: y + rectOffset }\n ];\n const innerPathPoints = [\n { x, y: y + rectOffset },\n { x: x + w - rectOffset, y: y + rectOffset },\n { x: x + w - rectOffset, y: lastWavePoint.y - rectOffset },\n { x: x + w, y: lastWavePoint.y - rectOffset },\n { x: x + w, y },\n { x, y }\n ];\n const rc = rough34.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const outerPath = createPathFromPoints(outerPathPoints);\n const outerNode = rc.path(outerPath, options);\n const innerPath = createPathFromPoints(innerPathPoints);\n const innerNode = rc.path(innerPath, options);\n const shape = shapeSvg.insert(() => outerNode, \":first-child\");\n shape.insert(() => innerNode);\n shape.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n shape.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n shape.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n shape.attr(\"transform\", `translate(0,${-waveAmplitude / 2})`);\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) - rectOffset - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) + rectOffset - waveAmplitude / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, shape);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, outerPathPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(multiWaveEdgedRectangle, \"multiWaveEdgedRectangle\");\n\n// src/rendering-util/rendering-elements/shapes/note.ts\nimport rough35 from \"roughjs\";\nasync function note(parent, node, { config: { themeVariables } }) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const useHtmlLabels = node.useHtmlLabels || getConfig().flowchart?.htmlLabels !== false;\n if (!useHtmlLabels) {\n node.centerLabel = true;\n }\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const totalWidth = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const totalHeight = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const x = -totalWidth / 2;\n const y = -totalHeight / 2;\n const { cssStyles } = node;\n const rc = rough35.svg(shapeSvg);\n const options = userNodeOverrides(node, {\n fill: themeVariables.noteBkgColor,\n stroke: themeVariables.noteBorderColor\n });\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const noteShapeNode = rc.rectangle(x, y, totalWidth, totalHeight, options);\n const rect2 = shapeSvg.insert(() => noteShapeNode, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n rect2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n rect2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(note, \"note\");\n\n// src/rendering-util/rendering-elements/shapes/question.ts\nimport rough36 from \"roughjs\";\nvar createDecisionBoxPathD = /* @__PURE__ */ __name((x, y, size) => {\n return [\n `M${x + size / 2},${y}`,\n `L${x + size},${y - size / 2}`,\n `L${x + size / 2},${y - size}`,\n `L${x},${y - size / 2}`,\n \"Z\"\n ].join(\" \");\n}, \"createDecisionBoxPathD\");\nasync function question(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const s = w + h;\n const points = [\n { x: s / 2, y: 0 },\n { x: s, y: -s / 2 },\n { x: s / 2, y: -s },\n { x: 0, y: -s / 2 }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough36.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createDecisionBoxPathD(0, 0, s);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-s / 2}, ${s / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, s, s, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n log.debug(\n \"APA12 Intersect called SPLIT\\npoint:\",\n point,\n \"\\nnode:\\n\",\n node,\n \"\\nres:\",\n intersect_default.polygon(node, points, point)\n );\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(question, \"question\");\n\n// src/rendering-util/rendering-elements/shapes/rectLeftInvArrow.ts\nimport rough37 from \"roughjs\";\nasync function rect_left_inv_arrow(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0), node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0), node?.height ?? 0);\n const x = -w / 2;\n const y = -h / 2;\n const notch = y / 2;\n const points = [\n { x: x + notch, y },\n { x, y: 0 },\n { x: x + notch, y: -y },\n { x: -x, y: -y },\n { x: -x, y }\n ];\n const { cssStyles } = node;\n const rc = rough37.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => roughNode, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n polygon.attr(\"transform\", `translate(${-notch / 2},0)`);\n label.attr(\n \"transform\",\n `translate(${-notch / 2 - bbox.width / 2 - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(rect_left_inv_arrow, \"rect_left_inv_arrow\");\n\n// src/rendering-util/rendering-elements/shapes/rectWithTitle.ts\nimport { select as select4 } from \"d3\";\nimport rough38 from \"roughjs\";\nasync function rectWithTitle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n let classes;\n if (!node.cssClasses) {\n classes = \"node default\";\n } else {\n classes = \"node \" + node.cssClasses;\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", classes).attr(\"id\", node.domId || node.id);\n const g = shapeSvg.insert(\"g\");\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"label\").attr(\"style\", nodeStyles);\n const description = node.description;\n const title = node.label;\n const text2 = label.node().appendChild(await createLabel_default(title, node.labelStyle, true, true));\n let bbox = { width: 0, height: 0 };\n if (evaluate(getConfig2()?.flowchart?.htmlLabels)) {\n const div2 = text2.children[0];\n const dv2 = select4(text2);\n bbox = div2.getBoundingClientRect();\n dv2.attr(\"width\", bbox.width);\n dv2.attr(\"height\", bbox.height);\n }\n log.info(\"Text 2\", description);\n const textRows = description || [];\n const titleBox = text2.getBBox();\n const descr = label.node().appendChild(\n await createLabel_default(\n textRows.join ? textRows.join(\"<br/>\") : textRows,\n node.labelStyle,\n true,\n true\n )\n );\n const div = descr.children[0];\n const dv = select4(descr);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n const halfPadding = (node.padding || 0) / 2;\n select4(descr).attr(\n \"transform\",\n \"translate( \" + (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) + \", \" + (titleBox.height + halfPadding + 5) + \")\"\n );\n select4(text2).attr(\n \"transform\",\n \"translate( \" + (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) + \", 0)\"\n );\n bbox = label.node().getBBox();\n label.attr(\n \"transform\",\n \"translate(\" + -bbox.width / 2 + \", \" + (-bbox.height / 2 - halfPadding + 3) + \")\"\n );\n const totalWidth = bbox.width + (node.padding || 0);\n const totalHeight = bbox.height + (node.padding || 0);\n const x = -bbox.width / 2 - halfPadding;\n const y = -bbox.height / 2 - halfPadding;\n let rect2;\n let innerLine;\n if (node.look === \"handDrawn\") {\n const rc = rough38.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const roughNode = rc.path(\n createRoundedRectPathD(x, y, totalWidth, totalHeight, node.rx || 0),\n options\n );\n const roughLine = rc.line(\n -bbox.width / 2 - halfPadding,\n -bbox.height / 2 - halfPadding + titleBox.height + halfPadding,\n bbox.width / 2 + halfPadding,\n -bbox.height / 2 - halfPadding + titleBox.height + halfPadding,\n options\n );\n innerLine = shapeSvg.insert(() => {\n log.debug(\"Rough node insert CXC\", roughNode);\n return roughLine;\n }, \":first-child\");\n rect2 = shapeSvg.insert(() => {\n log.debug(\"Rough node insert CXC\", roughNode);\n return roughNode;\n }, \":first-child\");\n } else {\n rect2 = g.insert(\"rect\", \":first-child\");\n innerLine = g.insert(\"line\");\n rect2.attr(\"class\", \"outer title-state\").attr(\"style\", nodeStyles).attr(\"x\", -bbox.width / 2 - halfPadding).attr(\"y\", -bbox.height / 2 - halfPadding).attr(\"width\", bbox.width + (node.padding || 0)).attr(\"height\", bbox.height + (node.padding || 0));\n innerLine.attr(\"class\", \"divider\").attr(\"x1\", -bbox.width / 2 - halfPadding).attr(\"x2\", bbox.width / 2 + halfPadding).attr(\"y1\", -bbox.height / 2 - halfPadding + titleBox.height + halfPadding).attr(\"y2\", -bbox.height / 2 - halfPadding + titleBox.height + halfPadding);\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(rectWithTitle, \"rectWithTitle\");\n\n// src/rendering-util/rendering-elements/shapes/roundedRect.ts\nasync function roundedRect(parent, node) {\n const options = {\n rx: 5,\n ry: 5,\n classes: \"\",\n labelPaddingX: (node?.padding || 0) * 1,\n labelPaddingY: (node?.padding || 0) * 1\n };\n return drawRect(parent, node, options);\n}\n__name(roundedRect, \"roundedRect\");\n\n// src/rendering-util/rendering-elements/shapes/shadedProcess.ts\nimport rough39 from \"roughjs\";\nasync function shadedProcess(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const halfPadding = node?.padding ?? 0;\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const x = -bbox.width / 2 - halfPadding;\n const y = -bbox.height / 2 - halfPadding;\n const { cssStyles } = node;\n const rc = rough39.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x, y },\n { x: x + w + 8, y },\n { x: x + w + 8, y: y + h },\n { x: x - 8, y: y + h },\n { x: x - 8, y },\n { x, y },\n { x, y: y + h }\n ];\n const roughNode = rc.polygon(\n points.map((p) => [p.x, p.y]),\n options\n );\n const rect2 = shapeSvg.insert(() => roughNode, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles));\n if (nodeStyles && node.look !== \"handDrawn\") {\n rect2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n if (cssStyles && node.look !== \"handDrawn\") {\n rect2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n label.attr(\n \"transform\",\n `translate(${-w / 2 + 4 + (node.padding ?? 0) - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(shadedProcess, \"shadedProcess\");\n\n// src/rendering-util/rendering-elements/shapes/slopedRect.ts\nimport rough40 from \"roughjs\";\nasync function slopedRect(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const x = -w / 2;\n const y = -h / 2;\n const { cssStyles } = node;\n const rc = rough40.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x, y },\n { x, y: y + h },\n { x: x + w, y: y + h },\n { x: x + w, y: y - h / 2 }\n ];\n const pathData = createPathFromPoints(points);\n const shapeNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => shapeNode, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n polygon.attr(\"transform\", `translate(0, ${h / 4})`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + (node.padding ?? 0) - (bbox.x - (bbox.left ?? 0))}, ${-h / 4 + (node.padding ?? 0) - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(slopedRect, \"slopedRect\");\n\n// src/rendering-util/rendering-elements/shapes/squareRect.ts\nasync function squareRect2(parent, node) {\n const options = {\n rx: 0,\n ry: 0,\n classes: \"\",\n labelPaddingX: (node?.padding || 0) * 2,\n labelPaddingY: (node?.padding || 0) * 1\n };\n return drawRect(parent, node, options);\n}\n__name(squareRect2, \"squareRect\");\n\n// src/rendering-util/rendering-elements/shapes/stadium.ts\nimport rough41 from \"roughjs\";\nasync function stadium(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const h = bbox.height + node.padding;\n const w = bbox.width + h / 4 + node.padding;\n let rect2;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough41.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createRoundedRectPathD(-w / 2, -h / 2, w, h, h / 2);\n const roughNode = rc.path(pathData, options);\n rect2 = shapeSvg.insert(() => roughNode, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles));\n } else {\n rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", nodeStyles).attr(\"rx\", h / 2).attr(\"ry\", h / 2).attr(\"x\", -w / 2).attr(\"y\", -h / 2).attr(\"width\", w).attr(\"height\", h);\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(stadium, \"stadium\");\n\n// src/rendering-util/rendering-elements/shapes/state.ts\nasync function state(parent, node) {\n const options = {\n rx: 5,\n ry: 5,\n classes: \"flowchart-node\"\n };\n return drawRect(parent, node, options);\n}\n__name(state, \"state\");\n\n// src/rendering-util/rendering-elements/shapes/stateEnd.ts\nimport rough42 from \"roughjs\";\nfunction stateEnd(parent, node, { config: { themeVariables } }) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { cssStyles } = node;\n const { lineColor, stateBorder, nodeBorder } = themeVariables;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"node default\").attr(\"id\", node.domId || node.id);\n const rc = rough42.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const roughNode = rc.circle(0, 0, 14, {\n ...options,\n stroke: lineColor,\n strokeWidth: 2\n });\n const innerFill = stateBorder ?? nodeBorder;\n const roughInnerNode = rc.circle(0, 0, 5, {\n ...options,\n fill: innerFill,\n stroke: innerFill,\n strokeWidth: 2,\n fillStyle: \"solid\"\n });\n const circle2 = shapeSvg.insert(() => roughNode, \":first-child\");\n circle2.insert(() => roughInnerNode);\n if (cssStyles) {\n circle2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles) {\n circle2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, circle2);\n node.intersect = function(point) {\n return intersect_default.circle(node, 7, point);\n };\n return shapeSvg;\n}\n__name(stateEnd, \"stateEnd\");\n\n// src/rendering-util/rendering-elements/shapes/stateStart.ts\nimport rough43 from \"roughjs\";\nfunction stateStart(parent, node, { config: { themeVariables } }) {\n const { lineColor } = themeVariables;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"node default\").attr(\"id\", node.domId || node.id);\n let circle2;\n if (node.look === \"handDrawn\") {\n const rc = rough43.svg(shapeSvg);\n const roughNode = rc.circle(0, 0, 14, solidStateFill(lineColor));\n circle2 = shapeSvg.insert(() => roughNode);\n circle2.attr(\"class\", \"state-start\").attr(\"r\", 7).attr(\"width\", 14).attr(\"height\", 14);\n } else {\n circle2 = shapeSvg.insert(\"circle\", \":first-child\");\n circle2.attr(\"class\", \"state-start\").attr(\"r\", 7).attr(\"width\", 14).attr(\"height\", 14);\n }\n updateNodeBounds(node, circle2);\n node.intersect = function(point) {\n return intersect_default.circle(node, 7, point);\n };\n return shapeSvg;\n}\n__name(stateStart, \"stateStart\");\n\n// src/rendering-util/rendering-elements/shapes/subroutine.ts\nimport rough44 from \"roughjs\";\nasync function subroutine(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const halfPadding = (node?.padding || 0) / 2;\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const x = -bbox.width / 2 - halfPadding;\n const y = -bbox.height / 2 - halfPadding;\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: 0, y: -h },\n { x: 0, y: 0 },\n { x: -8, y: 0 },\n { x: w + 8, y: 0 },\n { x: w + 8, y: -h },\n { x: -8, y: -h },\n { x: -8, y: 0 }\n ];\n if (node.look === \"handDrawn\") {\n const rc = rough44.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const roughNode = rc.rectangle(x - 8, y, w + 16, h, options);\n const l1 = rc.line(x, y, x, y + h, options);\n const l2 = rc.line(x + w, y, x + w, y + h, options);\n shapeSvg.insert(() => l1, \":first-child\");\n shapeSvg.insert(() => l2, \":first-child\");\n const rect2 = shapeSvg.insert(() => roughNode, \":first-child\");\n const { cssStyles } = node;\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles));\n updateNodeBounds(node, rect2);\n } else {\n const el = insertPolygonShape(shapeSvg, w, h, points);\n if (nodeStyles) {\n el.attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, el);\n }\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(subroutine, \"subroutine\");\n\n// src/rendering-util/rendering-elements/shapes/taggedRect.ts\nimport rough45 from \"roughjs\";\nasync function taggedRect(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const x = -w / 2;\n const y = -h / 2;\n const tagWidth = 0.2 * h;\n const tagHeight = 0.2 * h;\n const { cssStyles } = node;\n const rc = rough45.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const rectPoints = [\n { x: x - tagWidth / 2, y },\n { x: x + w + tagWidth / 2, y },\n { x: x + w + tagWidth / 2, y: y + h },\n { x: x - tagWidth / 2, y: y + h }\n ];\n const tagPoints = [\n { x: x + w - tagWidth / 2, y: y + h },\n { x: x + w + tagWidth / 2, y: y + h },\n { x: x + w + tagWidth / 2, y: y + h - tagHeight }\n ];\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const rectPath = createPathFromPoints(rectPoints);\n const rectNode = rc.path(rectPath, options);\n const tagPath = createPathFromPoints(tagPoints);\n const tagNode = rc.path(tagPath, { ...options, fillStyle: \"solid\" });\n const taggedRect2 = shapeSvg.insert(() => tagNode, \":first-child\");\n taggedRect2.insert(() => rectNode, \":first-child\");\n taggedRect2.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n taggedRect2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n taggedRect2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, taggedRect2);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, rectPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(taggedRect, \"taggedRect\");\n\n// src/rendering-util/rendering-elements/shapes/taggedWaveEdgedRectangle.ts\nimport rough46 from \"roughjs\";\nasync function taggedWaveEdgedRectangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const waveAmplitude = h / 4;\n const tagWidth = 0.2 * w;\n const tagHeight = 0.2 * h;\n const finalH = h + waveAmplitude;\n const { cssStyles } = node;\n const rc = rough46.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: -w / 2 - w / 2 * 0.1, y: finalH / 2 },\n ...generateFullSineWavePoints(\n -w / 2 - w / 2 * 0.1,\n finalH / 2,\n w / 2 + w / 2 * 0.1,\n finalH / 2,\n waveAmplitude,\n 0.8\n ),\n { x: w / 2 + w / 2 * 0.1, y: -finalH / 2 },\n { x: -w / 2 - w / 2 * 0.1, y: -finalH / 2 }\n ];\n const x = -w / 2 + w / 2 * 0.1;\n const y = -finalH / 2 - tagHeight * 0.4;\n const tagPoints = [\n { x: x + w - tagWidth, y: (y + h) * 1.4 },\n { x: x + w, y: y + h - tagHeight },\n { x: x + w, y: (y + h) * 0.9 },\n ...generateFullSineWavePoints(\n x + w,\n (y + h) * 1.3,\n x + w - tagWidth,\n (y + h) * 1.5,\n -h * 0.03,\n 0.5\n )\n ];\n const waveEdgeRectPath = createPathFromPoints(points);\n const waveEdgeRectNode = rc.path(waveEdgeRectPath, options);\n const taggedWaveEdgeRectPath = createPathFromPoints(tagPoints);\n const taggedWaveEdgeRectNode = rc.path(taggedWaveEdgeRectPath, {\n ...options,\n fillStyle: \"solid\"\n });\n const waveEdgeRect = shapeSvg.insert(() => taggedWaveEdgeRectNode, \":first-child\");\n waveEdgeRect.insert(() => waveEdgeRectNode, \":first-child\");\n waveEdgeRect.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n waveEdgeRect.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n waveEdgeRect.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n waveEdgeRect.attr(\"transform\", `translate(0,${-waveAmplitude / 2})`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + (node.padding ?? 0) - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) - waveAmplitude / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, waveEdgeRect);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(taggedWaveEdgedRectangle, \"taggedWaveEdgedRectangle\");\n\n// src/rendering-util/rendering-elements/shapes/text.ts\nasync function text(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const totalWidth = Math.max(bbox.width + node.padding, node?.width || 0);\n const totalHeight = Math.max(bbox.height + node.padding, node?.height || 0);\n const x = -totalWidth / 2;\n const y = -totalHeight / 2;\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"class\", \"text\").attr(\"style\", nodeStyles).attr(\"rx\", 0).attr(\"ry\", 0).attr(\"x\", x).attr(\"y\", y).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(text, \"text\");\n\n// src/rendering-util/rendering-elements/shapes/tiltedCylinder.ts\nimport rough47 from \"roughjs\";\nvar createCylinderPathD3 = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return `M${x},${y}\n a${rx},${ry} 0,0,1 ${0},${-height}\n l${width},${0}\n a${rx},${ry} 0,0,1 ${0},${height}\n M${width},${-height}\n a${rx},${ry} 0,0,0 ${0},${height}\n l${-width},${0}`;\n}, \"createCylinderPathD\");\nvar createOuterCylinderPathD3 = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return [\n `M${x},${y}`,\n `M${x + width},${y}`,\n `a${rx},${ry} 0,0,0 ${0},${-height}`,\n `l${-width},0`,\n `a${rx},${ry} 0,0,0 ${0},${height}`,\n `l${width},0`\n ].join(\" \");\n}, \"createOuterCylinderPathD\");\nvar createInnerCylinderPathD3 = /* @__PURE__ */ __name((x, y, width, height, rx, ry) => {\n return [`M${x + width / 2},${-height / 2}`, `a${rx},${ry} 0,0,0 0,${height}`].join(\" \");\n}, \"createInnerCylinderPathD\");\nasync function tiltedCylinder(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label, halfPadding } = await labelHelper(\n parent,\n node,\n getNodeClasses(node)\n );\n const labelPadding = node.look === \"neo\" ? halfPadding * 2 : halfPadding;\n const h = bbox.height + labelPadding;\n const ry = h / 2;\n const rx = ry / (2.5 + h / 50);\n const w = bbox.width + rx + labelPadding;\n const { cssStyles } = node;\n let cylinder2;\n if (node.look === \"handDrawn\") {\n const rc = rough47.svg(shapeSvg);\n const outerPathData = createOuterCylinderPathD3(0, 0, w, h, rx, ry);\n const innerPathData = createInnerCylinderPathD3(0, 0, w, h, rx, ry);\n const outerNode = rc.path(outerPathData, userNodeOverrides(node, {}));\n const innerLine = rc.path(innerPathData, userNodeOverrides(node, { fill: \"none\" }));\n cylinder2 = shapeSvg.insert(() => innerLine, \":first-child\");\n cylinder2 = shapeSvg.insert(() => outerNode, \":first-child\");\n cylinder2.attr(\"class\", \"basic label-container\");\n if (cssStyles) {\n cylinder2.attr(\"style\", cssStyles);\n }\n } else {\n const pathData = createCylinderPathD3(0, 0, w, h, rx, ry);\n cylinder2 = shapeSvg.insert(\"path\", \":first-child\").attr(\"d\", pathData).attr(\"class\", \"basic label-container\").attr(\"style\", handleUndefinedAttr(cssStyles)).attr(\"style\", nodeStyles);\n cylinder2.attr(\"class\", \"basic label-container\");\n if (cssStyles) {\n cylinder2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles) {\n cylinder2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n }\n cylinder2.attr(\"label-offset-x\", rx);\n cylinder2.attr(\"transform\", `translate(${-w / 2}, ${h / 2} )`);\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) - rx - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, cylinder2);\n node.intersect = function(point) {\n const pos = intersect_default.rect(node, point);\n const y = pos.y - (node.y ?? 0);\n if (ry != 0 && (Math.abs(y) < (node.height ?? 0) / 2 || Math.abs(y) == (node.height ?? 0) / 2 && Math.abs(pos.x - (node.x ?? 0)) > (node.width ?? 0) / 2 - rx)) {\n let x = rx * rx * (1 - y * y / (ry * ry));\n if (x != 0) {\n x = Math.sqrt(Math.abs(x));\n }\n x = rx - x;\n if (point.x - (node.x ?? 0) > 0) {\n x = -x;\n }\n pos.x += x;\n }\n return pos;\n };\n return shapeSvg;\n}\n__name(tiltedCylinder, \"tiltedCylinder\");\n\n// src/rendering-util/rendering-elements/shapes/trapezoid.ts\nimport rough48 from \"roughjs\";\nasync function trapezoid(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: -3 * h / 6, y: 0 },\n { x: w + 3 * h / 6, y: 0 },\n { x: w, y: -h },\n { x: 0, y: -h }\n ];\n let polygon;\n const { cssStyles } = node;\n if (node.look === \"handDrawn\") {\n const rc = rough48.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-w / 2}, ${h / 2})`);\n if (cssStyles) {\n polygon.attr(\"style\", cssStyles);\n }\n } else {\n polygon = insertPolygonShape(shapeSvg, w, h, points);\n }\n if (nodeStyles) {\n polygon.attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(trapezoid, \"trapezoid\");\n\n// src/rendering-util/rendering-elements/shapes/trapezoidalPentagon.ts\nimport rough49 from \"roughjs\";\nasync function trapezoidalPentagon(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const minWidth = 60, minHeight = 20;\n const w = Math.max(minWidth, bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(minHeight, bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const { cssStyles } = node;\n const rc = rough49.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: -w / 2 * 0.8, y: -h / 2 },\n { x: w / 2 * 0.8, y: -h / 2 },\n { x: w / 2, y: -h / 2 * 0.6 },\n { x: w / 2, y: h / 2 },\n { x: -w / 2, y: h / 2 },\n { x: -w / 2, y: -h / 2 * 0.6 }\n ];\n const pathData = createPathFromPoints(points);\n const shapeNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => shapeNode, \":first-child\");\n polygon.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, polygon);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(trapezoidalPentagon, \"trapezoidalPentagon\");\n\n// src/rendering-util/rendering-elements/shapes/triangle.ts\nimport rough50 from \"roughjs\";\nasync function triangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const useHtmlLabels = evaluate(getConfig2().flowchart?.htmlLabels);\n const w = bbox.width + (node.padding ?? 0);\n const h = w + bbox.height;\n const tw = w + bbox.height;\n const points = [\n { x: 0, y: 0 },\n { x: tw, y: 0 },\n { x: tw / 2, y: -h }\n ];\n const { cssStyles } = node;\n const rc = rough50.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const pathData = createPathFromPoints(points);\n const roughNode = rc.path(pathData, options);\n const polygon = shapeSvg.insert(() => roughNode, \":first-child\").attr(\"transform\", `translate(${-h / 2}, ${h / 2})`);\n if (cssStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n polygon.selectChildren(\"path\").attr(\"style\", nodeStyles);\n }\n node.width = w;\n node.height = h;\n updateNodeBounds(node, polygon);\n label.attr(\n \"transform\",\n `translate(${-bbox.width / 2 - (bbox.x - (bbox.left ?? 0))}, ${h / 2 - (bbox.height + (node.padding ?? 0) / (useHtmlLabels ? 2 : 1) - (bbox.y - (bbox.top ?? 0)))})`\n );\n node.intersect = function(point) {\n log.info(\"Triangle intersect\", node, points, point);\n return intersect_default.polygon(node, points, point);\n };\n return shapeSvg;\n}\n__name(triangle, \"triangle\");\n\n// src/rendering-util/rendering-elements/shapes/waveEdgedRectangle.ts\nimport rough51 from \"roughjs\";\nasync function waveEdgedRectangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const waveAmplitude = h / 8;\n const finalH = h + waveAmplitude;\n const { cssStyles } = node;\n const minWidth = 70;\n const widthDif = minWidth - w;\n const extraW = widthDif > 0 ? widthDif / 2 : 0;\n const rc = rough51.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: -w / 2 - extraW, y: finalH / 2 },\n ...generateFullSineWavePoints(\n -w / 2 - extraW,\n finalH / 2,\n w / 2 + extraW,\n finalH / 2,\n waveAmplitude,\n 0.8\n ),\n { x: w / 2 + extraW, y: -finalH / 2 },\n { x: -w / 2 - extraW, y: -finalH / 2 }\n ];\n const waveEdgeRectPath = createPathFromPoints(points);\n const waveEdgeRectNode = rc.path(waveEdgeRectPath, options);\n const waveEdgeRect = shapeSvg.insert(() => waveEdgeRectNode, \":first-child\");\n waveEdgeRect.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n waveEdgeRect.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n waveEdgeRect.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n waveEdgeRect.attr(\"transform\", `translate(0,${-waveAmplitude / 2})`);\n label.attr(\n \"transform\",\n `translate(${-w / 2 + (node.padding ?? 0) - (bbox.x - (bbox.left ?? 0))},${-h / 2 + (node.padding ?? 0) - waveAmplitude - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, waveEdgeRect);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(waveEdgedRectangle, \"waveEdgedRectangle\");\n\n// src/rendering-util/rendering-elements/shapes/waveRectangle.ts\nimport rough52 from \"roughjs\";\nasync function waveRectangle(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));\n const minWidth = 100;\n const minHeight = 50;\n const baseWidth = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const baseHeight = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const aspectRatio = baseWidth / baseHeight;\n let w = baseWidth;\n let h = baseHeight;\n if (w > h * aspectRatio) {\n h = w / aspectRatio;\n } else {\n w = h * aspectRatio;\n }\n w = Math.max(w, minWidth);\n h = Math.max(h, minHeight);\n const waveAmplitude = Math.min(h * 0.2, h / 4);\n const finalH = h + waveAmplitude * 2;\n const { cssStyles } = node;\n const rc = rough52.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const points = [\n { x: -w / 2, y: finalH / 2 },\n ...generateFullSineWavePoints(-w / 2, finalH / 2, w / 2, finalH / 2, waveAmplitude, 1),\n { x: w / 2, y: -finalH / 2 },\n ...generateFullSineWavePoints(w / 2, -finalH / 2, -w / 2, -finalH / 2, waveAmplitude, -1)\n ];\n const waveRectPath = createPathFromPoints(points);\n const waveRectNode = rc.path(waveRectPath, options);\n const waveRect = shapeSvg.insert(() => waveRectNode, \":first-child\");\n waveRect.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n waveRect.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n waveRect.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, waveRect);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, points, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(waveRectangle, \"waveRectangle\");\n\n// src/rendering-util/rendering-elements/shapes/windowPane.ts\nimport rough53 from \"roughjs\";\nasync function windowPane(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));\n const w = Math.max(bbox.width + (node.padding ?? 0) * 2, node?.width ?? 0);\n const h = Math.max(bbox.height + (node.padding ?? 0) * 2, node?.height ?? 0);\n const rectOffset = 5;\n const x = -w / 2;\n const y = -h / 2;\n const { cssStyles } = node;\n const rc = rough53.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n const outerPathPoints = [\n { x: x - rectOffset, y: y - rectOffset },\n { x: x - rectOffset, y: y + h },\n { x: x + w, y: y + h },\n { x: x + w, y: y - rectOffset }\n ];\n const path = `M${x - rectOffset},${y - rectOffset} L${x + w},${y - rectOffset} L${x + w},${y + h} L${x - rectOffset},${y + h} L${x - rectOffset},${y - rectOffset}\n M${x - rectOffset},${y} L${x + w},${y}\n M${x},${y - rectOffset} L${x},${y + h}`;\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const no = rc.path(path, options);\n const windowPane2 = shapeSvg.insert(() => no, \":first-child\");\n windowPane2.attr(\"transform\", `translate(${rectOffset / 2}, ${rectOffset / 2})`);\n windowPane2.attr(\"class\", \"basic label-container\");\n if (cssStyles && node.look !== \"handDrawn\") {\n windowPane2.selectAll(\"path\").attr(\"style\", cssStyles);\n }\n if (nodeStyles && node.look !== \"handDrawn\") {\n windowPane2.selectAll(\"path\").attr(\"style\", nodeStyles);\n }\n label.attr(\n \"transform\",\n `translate(${-(bbox.width / 2) + rectOffset / 2 - (bbox.x - (bbox.left ?? 0))}, ${-(bbox.height / 2) + rectOffset / 2 - (bbox.y - (bbox.top ?? 0))})`\n );\n updateNodeBounds(node, windowPane2);\n node.intersect = function(point) {\n const pos = intersect_default.polygon(node, outerPathPoints, point);\n return pos;\n };\n return shapeSvg;\n}\n__name(windowPane, \"windowPane\");\n\n// src/rendering-util/rendering-elements/shapes/erBox.ts\nimport rough54 from \"roughjs\";\nimport { select as select5 } from \"d3\";\nasync function erBox(parent, node) {\n const entityNode = node;\n if (entityNode.alias) {\n node.label = entityNode.alias;\n }\n if (node.look === \"handDrawn\") {\n const { themeVariables: themeVariables2 } = getConfig();\n const { background } = themeVariables2;\n const backgroundNode = {\n ...node,\n id: node.id + \"-background\",\n look: \"default\",\n cssStyles: [\"stroke: none\", `fill: ${background}`]\n };\n await erBox(parent, backgroundNode);\n }\n const config = getConfig();\n node.useHtmlLabels = config.htmlLabels;\n let PADDING = config.er?.diagramPadding ?? 10;\n let TEXT_PADDING = config.er?.entityPadding ?? 6;\n const { cssStyles } = node;\n const { labelStyles } = styles2String(node);\n if (entityNode.attributes.length === 0 && node.label) {\n const options2 = {\n rx: 0,\n ry: 0,\n labelPaddingX: PADDING,\n labelPaddingY: PADDING * 1.5,\n classes: \"\"\n };\n if (calculateTextWidth(node.label, config) + options2.labelPaddingX * 2 < config.er.minEntityWidth) {\n node.width = config.er.minEntityWidth;\n }\n const shapeSvg2 = await drawRect(parent, node, options2);\n if (!evaluate(config.htmlLabels)) {\n const textElement = shapeSvg2.select(\"text\");\n const bbox = textElement.node()?.getBBox();\n textElement.attr(\"transform\", `translate(${-bbox.width / 2}, 0)`);\n }\n return shapeSvg2;\n }\n if (!config.htmlLabels) {\n PADDING *= 1.25;\n TEXT_PADDING *= 1.25;\n }\n let cssClasses = getNodeClasses(node);\n if (!cssClasses) {\n cssClasses = \"node default\";\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", cssClasses).attr(\"id\", node.domId || node.id);\n const nameBBox = await addText(shapeSvg, node.label ?? \"\", config, 0, 0, [\"name\"], labelStyles);\n nameBBox.height += TEXT_PADDING;\n let yOffset = 0;\n const yOffsets = [];\n let maxTypeWidth = 0;\n let maxNameWidth = 0;\n let maxKeysWidth = 0;\n let maxCommentWidth = 0;\n let keysPresent = true;\n let commentPresent = true;\n for (const attribute of entityNode.attributes) {\n const typeBBox = await addText(\n shapeSvg,\n attribute.type,\n config,\n 0,\n yOffset,\n [\"attribute-type\"],\n labelStyles\n );\n maxTypeWidth = Math.max(maxTypeWidth, typeBBox.width + PADDING);\n const nameBBox2 = await addText(\n shapeSvg,\n attribute.name,\n config,\n 0,\n yOffset,\n [\"attribute-name\"],\n labelStyles\n );\n maxNameWidth = Math.max(maxNameWidth, nameBBox2.width + PADDING);\n const keysBBox = await addText(\n shapeSvg,\n attribute.keys.join(),\n config,\n 0,\n yOffset,\n [\"attribute-keys\"],\n labelStyles\n );\n maxKeysWidth = Math.max(maxKeysWidth, keysBBox.width + PADDING);\n const commentBBox = await addText(\n shapeSvg,\n attribute.comment,\n config,\n 0,\n yOffset,\n [\"attribute-comment\"],\n labelStyles\n );\n maxCommentWidth = Math.max(maxCommentWidth, commentBBox.width + PADDING);\n yOffset += Math.max(typeBBox.height, nameBBox2.height, keysBBox.height, commentBBox.height) + TEXT_PADDING;\n yOffsets.push(yOffset);\n }\n yOffsets.pop();\n let totalWidthSections = 4;\n if (maxKeysWidth <= PADDING) {\n keysPresent = false;\n maxKeysWidth = 0;\n totalWidthSections--;\n }\n if (maxCommentWidth <= PADDING) {\n commentPresent = false;\n maxCommentWidth = 0;\n totalWidthSections--;\n }\n const shapeBBox = shapeSvg.node().getBBox();\n if (nameBBox.width + PADDING * 2 - (maxTypeWidth + maxNameWidth + maxKeysWidth + maxCommentWidth) > 0) {\n const difference = nameBBox.width + PADDING * 2 - (maxTypeWidth + maxNameWidth + maxKeysWidth + maxCommentWidth);\n maxTypeWidth += difference / totalWidthSections;\n maxNameWidth += difference / totalWidthSections;\n if (maxKeysWidth > 0) {\n maxKeysWidth += difference / totalWidthSections;\n }\n if (maxCommentWidth > 0) {\n maxCommentWidth += difference / totalWidthSections;\n }\n }\n const maxWidth = maxTypeWidth + maxNameWidth + maxKeysWidth + maxCommentWidth;\n const rc = rough54.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const w = Math.max(shapeBBox.width + PADDING * 2, node?.width || 0, maxWidth);\n const h = Math.max(shapeBBox.height + (yOffsets[0] || yOffset) + TEXT_PADDING, node?.height || 0);\n const x = -w / 2;\n const y = -h / 2;\n shapeSvg.selectAll(\"g:not(:first-child)\").each((_, i, nodes) => {\n const text2 = select5(nodes[i]);\n const transform = text2.attr(\"transform\");\n let translateX = 0;\n let translateY = 0;\n if (transform) {\n const regex = RegExp(/translate\\(([^,]+),([^)]+)\\)/);\n const translate = regex.exec(transform);\n if (translate) {\n translateX = parseFloat(translate[1]);\n translateY = parseFloat(translate[2]);\n if (text2.attr(\"class\").includes(\"attribute-name\")) {\n translateX += maxTypeWidth;\n } else if (text2.attr(\"class\").includes(\"attribute-keys\")) {\n translateX += maxTypeWidth + maxNameWidth;\n } else if (text2.attr(\"class\").includes(\"attribute-comment\")) {\n translateX += maxTypeWidth + maxNameWidth + maxKeysWidth;\n }\n }\n }\n text2.attr(\n \"transform\",\n `translate(${x + PADDING / 2 + translateX}, ${translateY + y + nameBBox.height + TEXT_PADDING / 2})`\n );\n });\n shapeSvg.select(\".name\").attr(\"transform\", \"translate(\" + -nameBBox.width / 2 + \", \" + (y + TEXT_PADDING / 2) + \")\");\n const roughRect = rc.rectangle(x, y, w, h, options);\n const rect2 = shapeSvg.insert(() => roughRect, \":first-child\").attr(\"style\", cssStyles.join(\"\"));\n const { themeVariables } = getConfig();\n const { rowEven, rowOdd, nodeBorder } = themeVariables;\n yOffsets.push(0);\n for (const [i, yOffset2] of yOffsets.entries()) {\n if (i === 0 && yOffsets.length > 1) {\n continue;\n }\n const isEven = i % 2 === 0 && yOffset2 !== 0;\n const roughRect2 = rc.rectangle(x, nameBBox.height + y + yOffset2, w, nameBBox.height, {\n ...options,\n fill: isEven ? rowEven : rowOdd,\n stroke: nodeBorder\n });\n shapeSvg.insert(() => roughRect2, \"g.label\").attr(\"style\", cssStyles.join(\"\")).attr(\"class\", `row-rect-${i % 2 === 0 ? \"even\" : \"odd\"}`);\n }\n let roughLine = rc.line(x, nameBBox.height + y, w + x, nameBBox.height + y, options);\n shapeSvg.insert(() => roughLine).attr(\"class\", \"divider\");\n roughLine = rc.line(maxTypeWidth + x, nameBBox.height + y, maxTypeWidth + x, h + y, options);\n shapeSvg.insert(() => roughLine).attr(\"class\", \"divider\");\n if (keysPresent) {\n roughLine = rc.line(\n maxTypeWidth + maxNameWidth + x,\n nameBBox.height + y,\n maxTypeWidth + maxNameWidth + x,\n h + y,\n options\n );\n shapeSvg.insert(() => roughLine).attr(\"class\", \"divider\");\n }\n if (commentPresent) {\n roughLine = rc.line(\n maxTypeWidth + maxNameWidth + maxKeysWidth + x,\n nameBBox.height + y,\n maxTypeWidth + maxNameWidth + maxKeysWidth + x,\n h + y,\n options\n );\n shapeSvg.insert(() => roughLine).attr(\"class\", \"divider\");\n }\n for (const yOffset2 of yOffsets) {\n roughLine = rc.line(\n x,\n nameBBox.height + y + yOffset2,\n w + x,\n nameBBox.height + y + yOffset2,\n options\n );\n shapeSvg.insert(() => roughLine).attr(\"class\", \"divider\");\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(erBox, \"erBox\");\nasync function addText(shapeSvg, labelText, config, translateX = 0, translateY = 0, classes = [], style = \"\") {\n const label = shapeSvg.insert(\"g\").attr(\"class\", `label ${classes.join(\" \")}`).attr(\"transform\", `translate(${translateX}, ${translateY})`).attr(\"style\", style);\n if (labelText !== parseGenericTypes(labelText)) {\n labelText = parseGenericTypes(labelText);\n labelText = labelText.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n }\n const text2 = label.node().appendChild(\n await createText(\n label,\n labelText,\n {\n width: calculateTextWidth(labelText, config) + 100,\n style,\n useHtmlLabels: config.htmlLabels\n },\n config\n )\n );\n if (labelText.includes(\"<\") || labelText.includes(\">\")) {\n let child = text2.children[0];\n child.textContent = child.textContent.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n while (child.childNodes[0]) {\n child = child.childNodes[0];\n child.textContent = child.textContent.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n }\n }\n let bbox = text2.getBBox();\n if (evaluate(config.htmlLabels)) {\n const div = text2.children[0];\n div.style.textAlign = \"start\";\n const dv = select5(text2);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n return bbox;\n}\n__name(addText, \"addText\");\n\n// src/rendering-util/rendering-elements/shapes/classBox.ts\nimport { select as select7 } from \"d3\";\nimport rough55 from \"roughjs\";\n\n// src/diagrams/class/shapeUtil.ts\nimport { select as select6 } from \"d3\";\nasync function textHelper(parent, node, config, useHtmlLabels, GAP = config.class.padding ?? 12) {\n const TEXT_PADDING = !useHtmlLabels ? 3 : 0;\n const shapeSvg = parent.insert(\"g\").attr(\"class\", getNodeClasses(node)).attr(\"id\", node.domId || node.id);\n let annotationGroup = null;\n let labelGroup = null;\n let membersGroup = null;\n let methodsGroup = null;\n let annotationGroupHeight = 0;\n let labelGroupHeight = 0;\n let membersGroupHeight = 0;\n annotationGroup = shapeSvg.insert(\"g\").attr(\"class\", \"annotation-group text\");\n if (node.annotations.length > 0) {\n const annotation = node.annotations[0];\n await addText2(annotationGroup, { text: `\\xAB${annotation}\\xBB` }, 0);\n const annotationGroupBBox = annotationGroup.node().getBBox();\n annotationGroupHeight = annotationGroupBBox.height;\n }\n labelGroup = shapeSvg.insert(\"g\").attr(\"class\", \"label-group text\");\n await addText2(labelGroup, node, 0, [\"font-weight: bolder\"]);\n const labelGroupBBox = labelGroup.node().getBBox();\n labelGroupHeight = labelGroupBBox.height;\n membersGroup = shapeSvg.insert(\"g\").attr(\"class\", \"members-group text\");\n let yOffset = 0;\n for (const member of node.members) {\n const height = await addText2(membersGroup, member, yOffset, [member.parseClassifier()]);\n yOffset += height + TEXT_PADDING;\n }\n membersGroupHeight = membersGroup.node().getBBox().height;\n if (membersGroupHeight <= 0) {\n membersGroupHeight = GAP / 2;\n }\n methodsGroup = shapeSvg.insert(\"g\").attr(\"class\", \"methods-group text\");\n let methodsYOffset = 0;\n for (const method of node.methods) {\n const height = await addText2(methodsGroup, method, methodsYOffset, [method.parseClassifier()]);\n methodsYOffset += height + TEXT_PADDING;\n }\n let bbox = shapeSvg.node().getBBox();\n if (annotationGroup !== null) {\n const annotationGroupBBox = annotationGroup.node().getBBox();\n annotationGroup.attr(\"transform\", `translate(${-annotationGroupBBox.width / 2})`);\n }\n labelGroup.attr(\"transform\", `translate(${-labelGroupBBox.width / 2}, ${annotationGroupHeight})`);\n bbox = shapeSvg.node().getBBox();\n membersGroup.attr(\n \"transform\",\n `translate(${0}, ${annotationGroupHeight + labelGroupHeight + GAP * 2})`\n );\n bbox = shapeSvg.node().getBBox();\n methodsGroup.attr(\n \"transform\",\n `translate(${0}, ${annotationGroupHeight + labelGroupHeight + (membersGroupHeight ? membersGroupHeight + GAP * 4 : GAP * 2)})`\n );\n bbox = shapeSvg.node().getBBox();\n return { shapeSvg, bbox };\n}\n__name(textHelper, \"textHelper\");\nasync function addText2(parentGroup, node, yOffset, styles = []) {\n const textEl = parentGroup.insert(\"g\").attr(\"class\", \"label\").attr(\"style\", styles.join(\"; \"));\n const config = getConfig();\n let useHtmlLabels = \"useHtmlLabels\" in node ? node.useHtmlLabels : evaluate(config.htmlLabels) ?? true;\n let textContent = \"\";\n if (\"text\" in node) {\n textContent = node.text;\n } else {\n textContent = node.label;\n }\n if (!useHtmlLabels && textContent.startsWith(\"\\\\\")) {\n textContent = textContent.substring(1);\n }\n if (hasKatex(textContent)) {\n useHtmlLabels = true;\n }\n const text2 = await createText(\n textEl,\n sanitizeText2(decodeEntities(textContent)),\n {\n width: calculateTextWidth(textContent, config) + 50,\n // Add room for error when splitting text into multiple lines\n classes: \"markdown-node-label\",\n useHtmlLabels\n },\n config\n );\n let bbox;\n let numberOfLines = 1;\n if (!useHtmlLabels) {\n if (styles.includes(\"font-weight: bolder\")) {\n select6(text2).selectAll(\"tspan\").attr(\"font-weight\", \"\");\n }\n numberOfLines = text2.children.length;\n const textChild = text2.children[0];\n if (text2.textContent === \"\" || text2.textContent.includes(\">\")) {\n textChild.textContent = textContent[0] + textContent.substring(1).replaceAll(\">\", \">\").replaceAll(\"<\", \"<\").trim();\n const preserveSpace = textContent[1] === \" \";\n if (preserveSpace) {\n textChild.textContent = textChild.textContent[0] + \" \" + textChild.textContent.substring(1);\n }\n }\n if (textChild.textContent === \"undefined\") {\n textChild.textContent = \"\";\n }\n bbox = text2.getBBox();\n } else {\n const div = text2.children[0];\n const dv = select6(text2);\n numberOfLines = div.innerHTML.split(\"<br>\").length;\n if (div.innerHTML.includes(\"</math>\")) {\n numberOfLines += div.innerHTML.split(\"<mrow>\").length - 1;\n }\n const images = div.getElementsByTagName(\"img\");\n if (images) {\n const noImgText = textContent.replace(/<img[^>]*>/g, \"\").trim() === \"\";\n await Promise.all(\n [...images].map(\n (img) => new Promise((res) => {\n function setupImage() {\n img.style.display = \"flex\";\n img.style.flexDirection = \"column\";\n if (noImgText) {\n const bodyFontSize = config.fontSize?.toString() ?? window.getComputedStyle(document.body).fontSize;\n const enlargingFactor = 5;\n const width = parseInt(bodyFontSize, 10) * enlargingFactor + \"px\";\n img.style.minWidth = width;\n img.style.maxWidth = width;\n } else {\n img.style.width = \"100%\";\n }\n res(img);\n }\n __name(setupImage, \"setupImage\");\n setTimeout(() => {\n if (img.complete) {\n setupImage();\n }\n });\n img.addEventListener(\"error\", setupImage);\n img.addEventListener(\"load\", setupImage);\n })\n )\n );\n }\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n textEl.attr(\"transform\", \"translate(0,\" + (-bbox.height / (2 * numberOfLines) + yOffset) + \")\");\n return bbox.height;\n}\n__name(addText2, \"addText\");\n\n// src/rendering-util/rendering-elements/shapes/classBox.ts\nasync function classBox(parent, node) {\n const config = getConfig2();\n const PADDING = config.class.padding ?? 12;\n const GAP = PADDING;\n const useHtmlLabels = node.useHtmlLabels ?? evaluate(config.htmlLabels) ?? true;\n const classNode = node;\n classNode.annotations = classNode.annotations ?? [];\n classNode.members = classNode.members ?? [];\n classNode.methods = classNode.methods ?? [];\n const { shapeSvg, bbox } = await textHelper(parent, node, config, useHtmlLabels, GAP);\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n node.cssStyles = classNode.styles || \"\";\n const styles = classNode.styles?.join(\";\") || nodeStyles || \"\";\n if (!node.cssStyles) {\n node.cssStyles = styles.replaceAll(\"!important\", \"\").split(\";\");\n }\n const renderExtraBox = classNode.members.length === 0 && classNode.methods.length === 0 && !config.class?.hideEmptyMembersBox;\n const rc = rough55.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const w = bbox.width;\n let h = bbox.height;\n if (classNode.members.length === 0 && classNode.methods.length === 0) {\n h += GAP;\n } else if (classNode.members.length > 0 && classNode.methods.length === 0) {\n h += GAP * 2;\n }\n const x = -w / 2;\n const y = -h / 2;\n const roughRect = rc.rectangle(\n x - PADDING,\n y - PADDING - (renderExtraBox ? PADDING : classNode.members.length === 0 && classNode.methods.length === 0 ? -PADDING / 2 : 0),\n w + 2 * PADDING,\n h + 2 * PADDING + (renderExtraBox ? PADDING * 2 : classNode.members.length === 0 && classNode.methods.length === 0 ? -PADDING : 0),\n options\n );\n const rect2 = shapeSvg.insert(() => roughRect, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\");\n const rectBBox = rect2.node().getBBox();\n shapeSvg.selectAll(\".text\").each((_, i, nodes) => {\n const text2 = select7(nodes[i]);\n const transform = text2.attr(\"transform\");\n let translateY = 0;\n if (transform) {\n const regex = RegExp(/translate\\(([^,]+),([^)]+)\\)/);\n const translate = regex.exec(transform);\n if (translate) {\n translateY = parseFloat(translate[2]);\n }\n }\n let newTranslateY = translateY + y + PADDING - (renderExtraBox ? PADDING : classNode.members.length === 0 && classNode.methods.length === 0 ? -PADDING / 2 : 0);\n if (!useHtmlLabels) {\n newTranslateY -= 4;\n }\n let newTranslateX = x;\n if (text2.attr(\"class\").includes(\"label-group\") || text2.attr(\"class\").includes(\"annotation-group\")) {\n newTranslateX = -text2.node()?.getBBox().width / 2 || 0;\n shapeSvg.selectAll(\"text\").each(function(_2, i2, nodes2) {\n if (window.getComputedStyle(nodes2[i2]).textAnchor === \"middle\") {\n newTranslateX = 0;\n }\n });\n }\n text2.attr(\"transform\", `translate(${newTranslateX}, ${newTranslateY})`);\n });\n const annotationGroupHeight = shapeSvg.select(\".annotation-group\").node().getBBox().height - (renderExtraBox ? PADDING / 2 : 0) || 0;\n const labelGroupHeight = shapeSvg.select(\".label-group\").node().getBBox().height - (renderExtraBox ? PADDING / 2 : 0) || 0;\n const membersGroupHeight = shapeSvg.select(\".members-group\").node().getBBox().height - (renderExtraBox ? PADDING / 2 : 0) || 0;\n if (classNode.members.length > 0 || classNode.methods.length > 0 || renderExtraBox) {\n const roughLine = rc.line(\n rectBBox.x,\n annotationGroupHeight + labelGroupHeight + y + PADDING,\n rectBBox.x + rectBBox.width,\n annotationGroupHeight + labelGroupHeight + y + PADDING,\n options\n );\n const line = shapeSvg.insert(() => roughLine);\n line.attr(\"class\", \"divider\").attr(\"style\", styles);\n }\n if (renderExtraBox || classNode.members.length > 0 || classNode.methods.length > 0) {\n const roughLine = rc.line(\n rectBBox.x,\n annotationGroupHeight + labelGroupHeight + membersGroupHeight + y + GAP * 2 + PADDING,\n rectBBox.x + rectBBox.width,\n annotationGroupHeight + labelGroupHeight + membersGroupHeight + y + PADDING + GAP * 2,\n options\n );\n const line = shapeSvg.insert(() => roughLine);\n line.attr(\"class\", \"divider\").attr(\"style\", styles);\n }\n if (classNode.look !== \"handDrawn\") {\n shapeSvg.selectAll(\"path\").attr(\"style\", styles);\n }\n rect2.select(\":nth-child(2)\").attr(\"style\", styles);\n shapeSvg.selectAll(\".divider\").select(\"path\").attr(\"style\", styles);\n if (node.labelStyle) {\n shapeSvg.selectAll(\"span\").attr(\"style\", node.labelStyle);\n } else {\n shapeSvg.selectAll(\"span\").attr(\"style\", styles);\n }\n if (!useHtmlLabels) {\n const colorRegex = RegExp(/color\\s*:\\s*([^;]*)/);\n const match = colorRegex.exec(styles);\n if (match) {\n const colorStyle = match[0].replace(\"color\", \"fill\");\n shapeSvg.selectAll(\"tspan\").attr(\"style\", colorStyle);\n } else if (labelStyles) {\n const match2 = colorRegex.exec(labelStyles);\n if (match2) {\n const colorStyle = match2[0].replace(\"color\", \"fill\");\n shapeSvg.selectAll(\"tspan\").attr(\"style\", colorStyle);\n }\n }\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(classBox, \"classBox\");\n\n// src/rendering-util/rendering-elements/shapes/requirementBox.ts\nimport rough56 from \"roughjs\";\nimport { select as select8 } from \"d3\";\nasync function requirementBox(parent, node) {\n const { labelStyles, nodeStyles } = styles2String(node);\n node.labelStyle = labelStyles;\n const requirementNode = node;\n const elementNode = node;\n const padding = 20;\n const gap = 20;\n const isRequirementNode = \"verifyMethod\" in node;\n const classes = getNodeClasses(node);\n const shapeSvg = parent.insert(\"g\").attr(\"class\", classes).attr(\"id\", node.domId ?? node.id);\n let typeHeight;\n if (isRequirementNode) {\n typeHeight = await addText3(\n shapeSvg,\n `<<${requirementNode.type}>>`,\n 0,\n node.labelStyle\n );\n } else {\n typeHeight = await addText3(shapeSvg, \"<<Element>>\", 0, node.labelStyle);\n }\n let accumulativeHeight = typeHeight;\n const nameHeight = await addText3(\n shapeSvg,\n requirementNode.name,\n accumulativeHeight,\n node.labelStyle + \"; font-weight: bold;\"\n );\n accumulativeHeight += nameHeight + gap;\n if (isRequirementNode) {\n const idHeight = await addText3(\n shapeSvg,\n `${requirementNode.requirementId ? `Id: ${requirementNode.requirementId}` : \"\"}`,\n accumulativeHeight,\n node.labelStyle\n );\n accumulativeHeight += idHeight;\n const textHeight = await addText3(\n shapeSvg,\n `${requirementNode.text ? `Text: ${requirementNode.text}` : \"\"}`,\n accumulativeHeight,\n node.labelStyle\n );\n accumulativeHeight += textHeight;\n const riskHeight = await addText3(\n shapeSvg,\n `${requirementNode.risk ? `Risk: ${requirementNode.risk}` : \"\"}`,\n accumulativeHeight,\n node.labelStyle\n );\n accumulativeHeight += riskHeight;\n await addText3(\n shapeSvg,\n `${requirementNode.verifyMethod ? `Verification: ${requirementNode.verifyMethod}` : \"\"}`,\n accumulativeHeight,\n node.labelStyle\n );\n } else {\n const typeHeight2 = await addText3(\n shapeSvg,\n `${elementNode.type ? `Type: ${elementNode.type}` : \"\"}`,\n accumulativeHeight,\n node.labelStyle\n );\n accumulativeHeight += typeHeight2;\n await addText3(\n shapeSvg,\n `${elementNode.docRef ? `Doc Ref: ${elementNode.docRef}` : \"\"}`,\n accumulativeHeight,\n node.labelStyle\n );\n }\n const totalWidth = (shapeSvg.node()?.getBBox().width ?? 200) + padding;\n const totalHeight = (shapeSvg.node()?.getBBox().height ?? 200) + padding;\n const x = -totalWidth / 2;\n const y = -totalHeight / 2;\n const rc = rough56.svg(shapeSvg);\n const options = userNodeOverrides(node, {});\n if (node.look !== \"handDrawn\") {\n options.roughness = 0;\n options.fillStyle = \"solid\";\n }\n const roughRect = rc.rectangle(x, y, totalWidth, totalHeight, options);\n const rect2 = shapeSvg.insert(() => roughRect, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", nodeStyles);\n shapeSvg.selectAll(\".label\").each((_, i, nodes) => {\n const text2 = select8(nodes[i]);\n const transform = text2.attr(\"transform\");\n let translateX = 0;\n let translateY = 0;\n if (transform) {\n const regex = RegExp(/translate\\(([^,]+),([^)]+)\\)/);\n const translate = regex.exec(transform);\n if (translate) {\n translateX = parseFloat(translate[1]);\n translateY = parseFloat(translate[2]);\n }\n }\n const newTranslateY = translateY - totalHeight / 2;\n let newTranslateX = x + padding / 2;\n if (i === 0 || i === 1) {\n newTranslateX = translateX;\n }\n text2.attr(\"transform\", `translate(${newTranslateX}, ${newTranslateY + padding})`);\n });\n if (accumulativeHeight > typeHeight + nameHeight + gap) {\n const roughLine = rc.line(\n x,\n y + typeHeight + nameHeight + gap,\n x + totalWidth,\n y + typeHeight + nameHeight + gap,\n options\n );\n const dividerLine = shapeSvg.insert(() => roughLine);\n dividerLine.attr(\"style\", nodeStyles);\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point) {\n return intersect_default.rect(node, point);\n };\n return shapeSvg;\n}\n__name(requirementBox, \"requirementBox\");\nasync function addText3(parentGroup, inputText, yOffset, style = \"\") {\n if (inputText === \"\") {\n return 0;\n }\n const textEl = parentGroup.insert(\"g\").attr(\"class\", \"label\").attr(\"style\", style);\n const config = getConfig2();\n const useHtmlLabels = config.htmlLabels ?? true;\n const text2 = await createText(\n textEl,\n sanitizeText2(decodeEntities(inputText)),\n {\n width: calculateTextWidth(inputText, config) + 50,\n // Add room for error when splitting text into multiple lines\n classes: \"markdown-node-label\",\n useHtmlLabels,\n style\n },\n config\n );\n let bbox;\n if (!useHtmlLabels) {\n const textChild = text2.children[0];\n for (const child of textChild.children) {\n child.textContent = child.textContent.replaceAll(\">\", \">\").replaceAll(\"<\", \"<\");\n if (style) {\n child.setAttribute(\"style\", style);\n }\n }\n bbox = text2.getBBox();\n bbox.height += 6;\n } else {\n const div = text2.children[0];\n const dv = select8(text2);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n textEl.attr(\"transform\", `translate(${-bbox.width / 2},${-bbox.height / 2 + yOffset})`);\n return bbox.height;\n}\n__name(addText3, \"addText\");\n\n// src/rendering-util/rendering-elements/shapes/kanbanItem.ts\nimport rough57 from \"roughjs\";\nvar colorFromPriority = /* @__PURE__ */ __name((priority) => {\n switch (priority) {\n case \"Very High\":\n return \"red\";\n case \"High\":\n return \"orange\";\n case \"Medium\":\n return null;\n // no stroke\n case \"Low\":\n return \"blue\";\n case \"Very Low\":\n return \"lightblue\";\n }\n}, \"colorFromPriority\");\nasync function kanbanItem(parent, kanbanNode, { config }) {\n const { labelStyles, nodeStyles } = styles2String(kanbanNode);\n kanbanNode.labelStyle = labelStyles || \"\";\n const labelPaddingX = 10;\n const orgWidth = kanbanNode.width;\n kanbanNode.width = (kanbanNode.width ?? 200) - 10;\n const {\n shapeSvg,\n bbox,\n label: labelElTitle\n } = await labelHelper(parent, kanbanNode, getNodeClasses(kanbanNode));\n const padding = kanbanNode.padding || 10;\n let ticketUrl = \"\";\n let link;\n if (\"ticket\" in kanbanNode && kanbanNode.ticket && config?.kanban?.ticketBaseUrl) {\n ticketUrl = config?.kanban?.ticketBaseUrl.replace(\"#TICKET#\", kanbanNode.ticket);\n link = shapeSvg.insert(\"svg:a\", \":first-child\").attr(\"class\", \"kanban-ticket-link\").attr(\"xlink:href\", ticketUrl).attr(\"target\", \"_blank\");\n }\n const options = {\n useHtmlLabels: kanbanNode.useHtmlLabels,\n labelStyle: kanbanNode.labelStyle || \"\",\n width: kanbanNode.width,\n img: kanbanNode.img,\n padding: kanbanNode.padding || 8,\n centerLabel: false\n };\n let labelEl, bbox2;\n if (link) {\n ({ label: labelEl, bbox: bbox2 } = await insertLabel(\n link,\n \"ticket\" in kanbanNode && kanbanNode.ticket || \"\",\n options\n ));\n } else {\n ({ label: labelEl, bbox: bbox2 } = await insertLabel(\n shapeSvg,\n \"ticket\" in kanbanNode && kanbanNode.ticket || \"\",\n options\n ));\n }\n const { label: labelElAssigned, bbox: bboxAssigned } = await insertLabel(\n shapeSvg,\n \"assigned\" in kanbanNode && kanbanNode.assigned || \"\",\n options\n );\n kanbanNode.width = orgWidth;\n const labelPaddingY = 10;\n const totalWidth = kanbanNode?.width || 0;\n const heightAdj = Math.max(bbox2.height, bboxAssigned.height) / 2;\n const totalHeight = Math.max(bbox.height + labelPaddingY * 2, kanbanNode?.height || 0) + heightAdj;\n const x = -totalWidth / 2;\n const y = -totalHeight / 2;\n labelElTitle.attr(\n \"transform\",\n \"translate(\" + (padding - totalWidth / 2) + \", \" + (-heightAdj - bbox.height / 2) + \")\"\n );\n labelEl.attr(\n \"transform\",\n \"translate(\" + (padding - totalWidth / 2) + \", \" + (-heightAdj + bbox.height / 2) + \")\"\n );\n labelElAssigned.attr(\n \"transform\",\n \"translate(\" + (padding + totalWidth / 2 - bboxAssigned.width - 2 * labelPaddingX) + \", \" + (-heightAdj + bbox.height / 2) + \")\"\n );\n let rect2;\n const { rx, ry } = kanbanNode;\n const { cssStyles } = kanbanNode;\n if (kanbanNode.look === \"handDrawn\") {\n const rc = rough57.svg(shapeSvg);\n const options2 = userNodeOverrides(kanbanNode, {});\n const roughNode = rx || ry ? rc.path(createRoundedRectPathD(x, y, totalWidth, totalHeight, rx || 0), options2) : rc.rectangle(x, y, totalWidth, totalHeight, options2);\n rect2 = shapeSvg.insert(() => roughNode, \":first-child\");\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", cssStyles ? cssStyles : null);\n } else {\n rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"class\", \"basic label-container __APA__\").attr(\"style\", nodeStyles).attr(\"rx\", rx ?? 5).attr(\"ry\", ry ?? 5).attr(\"x\", x).attr(\"y\", y).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n const priority = \"priority\" in kanbanNode && kanbanNode.priority;\n if (priority) {\n const line = shapeSvg.append(\"line\");\n const lineX = x + 2;\n const y1 = y + Math.floor((rx ?? 0) / 2);\n const y2 = y + totalHeight - Math.floor((rx ?? 0) / 2);\n line.attr(\"x1\", lineX).attr(\"y1\", y1).attr(\"x2\", lineX).attr(\"y2\", y2).attr(\"stroke-width\", \"4\").attr(\"stroke\", colorFromPriority(priority));\n }\n }\n updateNodeBounds(kanbanNode, rect2);\n kanbanNode.height = totalHeight;\n kanbanNode.intersect = function(point) {\n return intersect_default.rect(kanbanNode, point);\n };\n return shapeSvg;\n}\n__name(kanbanItem, \"kanbanItem\");\n\n// src/rendering-util/rendering-elements/shapes.ts\nvar shapesDefs = [\n {\n semanticName: \"Process\",\n name: \"Rectangle\",\n shortName: \"rect\",\n description: \"Standard process shape\",\n aliases: [\"proc\", \"process\", \"rectangle\"],\n internalAliases: [\"squareRect\"],\n handler: squareRect2\n },\n {\n semanticName: \"Event\",\n name: \"Rounded Rectangle\",\n shortName: \"rounded\",\n description: \"Represents an event\",\n aliases: [\"event\"],\n internalAliases: [\"roundedRect\"],\n handler: roundedRect\n },\n {\n semanticName: \"Terminal Point\",\n name: \"Stadium\",\n shortName: \"stadium\",\n description: \"Terminal point\",\n aliases: [\"terminal\", \"pill\"],\n handler: stadium\n },\n {\n semanticName: \"Subprocess\",\n name: \"Framed Rectangle\",\n shortName: \"fr-rect\",\n description: \"Subprocess\",\n aliases: [\"subprocess\", \"subproc\", \"framed-rectangle\", \"subroutine\"],\n handler: subroutine\n },\n {\n semanticName: \"Database\",\n name: \"Cylinder\",\n shortName: \"cyl\",\n description: \"Database storage\",\n aliases: [\"db\", \"database\", \"cylinder\"],\n handler: cylinder\n },\n {\n semanticName: \"Start\",\n name: \"Circle\",\n shortName: \"circle\",\n description: \"Starting point\",\n aliases: [\"circ\"],\n handler: circle\n },\n {\n semanticName: \"Decision\",\n name: \"Diamond\",\n shortName: \"diam\",\n description: \"Decision-making step\",\n aliases: [\"decision\", \"diamond\", \"question\"],\n handler: question\n },\n {\n semanticName: \"Prepare Conditional\",\n name: \"Hexagon\",\n shortName: \"hex\",\n description: \"Preparation or condition step\",\n aliases: [\"hexagon\", \"prepare\"],\n handler: hexagon\n },\n {\n semanticName: \"Data Input/Output\",\n name: \"Lean Right\",\n shortName: \"lean-r\",\n description: \"Represents input or output\",\n aliases: [\"lean-right\", \"in-out\"],\n internalAliases: [\"lean_right\"],\n handler: lean_right\n },\n {\n semanticName: \"Data Input/Output\",\n name: \"Lean Left\",\n shortName: \"lean-l\",\n description: \"Represents output or input\",\n aliases: [\"lean-left\", \"out-in\"],\n internalAliases: [\"lean_left\"],\n handler: lean_left\n },\n {\n semanticName: \"Priority Action\",\n name: \"Trapezoid Base Bottom\",\n shortName: \"trap-b\",\n description: \"Priority action\",\n aliases: [\"priority\", \"trapezoid-bottom\", \"trapezoid\"],\n handler: trapezoid\n },\n {\n semanticName: \"Manual Operation\",\n name: \"Trapezoid Base Top\",\n shortName: \"trap-t\",\n description: \"Represents a manual task\",\n aliases: [\"manual\", \"trapezoid-top\", \"inv-trapezoid\"],\n internalAliases: [\"inv_trapezoid\"],\n handler: inv_trapezoid\n },\n {\n semanticName: \"Stop\",\n name: \"Double Circle\",\n shortName: \"dbl-circ\",\n description: \"Represents a stop point\",\n aliases: [\"double-circle\"],\n internalAliases: [\"doublecircle\"],\n handler: doublecircle\n },\n {\n semanticName: \"Text Block\",\n name: \"Text Block\",\n shortName: \"text\",\n description: \"Text block\",\n handler: text\n },\n {\n semanticName: \"Card\",\n name: \"Notched Rectangle\",\n shortName: \"notch-rect\",\n description: \"Represents a card\",\n aliases: [\"card\", \"notched-rectangle\"],\n handler: card\n },\n {\n semanticName: \"Lined/Shaded Process\",\n name: \"Lined Rectangle\",\n shortName: \"lin-rect\",\n description: \"Lined process shape\",\n aliases: [\"lined-rectangle\", \"lined-process\", \"lin-proc\", \"shaded-process\"],\n handler: shadedProcess\n },\n {\n semanticName: \"Start\",\n name: \"Small Circle\",\n shortName: \"sm-circ\",\n description: \"Small starting point\",\n aliases: [\"start\", \"small-circle\"],\n internalAliases: [\"stateStart\"],\n handler: stateStart\n },\n {\n semanticName: \"Stop\",\n name: \"Framed Circle\",\n shortName: \"fr-circ\",\n description: \"Stop point\",\n aliases: [\"stop\", \"framed-circle\"],\n internalAliases: [\"stateEnd\"],\n handler: stateEnd\n },\n {\n semanticName: \"Fork/Join\",\n name: \"Filled Rectangle\",\n shortName: \"fork\",\n description: \"Fork or join in process flow\",\n aliases: [\"join\"],\n internalAliases: [\"forkJoin\"],\n handler: forkJoin\n },\n {\n semanticName: \"Collate\",\n name: \"Hourglass\",\n shortName: \"hourglass\",\n description: \"Represents a collate operation\",\n aliases: [\"hourglass\", \"collate\"],\n handler: hourglass\n },\n {\n semanticName: \"Comment\",\n name: \"Curly Brace\",\n shortName: \"brace\",\n description: \"Adds a comment\",\n aliases: [\"comment\", \"brace-l\"],\n handler: curlyBraceLeft\n },\n {\n semanticName: \"Comment Right\",\n name: \"Curly Brace\",\n shortName: \"brace-r\",\n description: \"Adds a comment\",\n handler: curlyBraceRight\n },\n {\n semanticName: \"Comment with braces on both sides\",\n name: \"Curly Braces\",\n shortName: \"braces\",\n description: \"Adds a comment\",\n handler: curlyBraces\n },\n {\n semanticName: \"Com Link\",\n name: \"Lightning Bolt\",\n shortName: \"bolt\",\n description: \"Communication link\",\n aliases: [\"com-link\", \"lightning-bolt\"],\n handler: lightningBolt\n },\n {\n semanticName: \"Document\",\n name: \"Document\",\n shortName: \"doc\",\n description: \"Represents a document\",\n aliases: [\"doc\", \"document\"],\n handler: waveEdgedRectangle\n },\n {\n semanticName: \"Delay\",\n name: \"Half-Rounded Rectangle\",\n shortName: \"delay\",\n description: \"Represents a delay\",\n aliases: [\"half-rounded-rectangle\"],\n handler: halfRoundedRectangle\n },\n {\n semanticName: \"Direct Access Storage\",\n name: \"Horizontal Cylinder\",\n shortName: \"h-cyl\",\n description: \"Direct access storage\",\n aliases: [\"das\", \"horizontal-cylinder\"],\n handler: tiltedCylinder\n },\n {\n semanticName: \"Disk Storage\",\n name: \"Lined Cylinder\",\n shortName: \"lin-cyl\",\n description: \"Disk storage\",\n aliases: [\"disk\", \"lined-cylinder\"],\n handler: linedCylinder\n },\n {\n semanticName: \"Display\",\n name: \"Curved Trapezoid\",\n shortName: \"curv-trap\",\n description: \"Represents a display\",\n aliases: [\"curved-trapezoid\", \"display\"],\n handler: curvedTrapezoid\n },\n {\n semanticName: \"Divided Process\",\n name: \"Divided Rectangle\",\n shortName: \"div-rect\",\n description: \"Divided process shape\",\n aliases: [\"div-proc\", \"divided-rectangle\", \"divided-process\"],\n handler: dividedRectangle\n },\n {\n semanticName: \"Extract\",\n name: \"Triangle\",\n shortName: \"tri\",\n description: \"Extraction process\",\n aliases: [\"extract\", \"triangle\"],\n handler: triangle\n },\n {\n semanticName: \"Internal Storage\",\n name: \"Window Pane\",\n shortName: \"win-pane\",\n description: \"Internal storage\",\n aliases: [\"internal-storage\", \"window-pane\"],\n handler: windowPane\n },\n {\n semanticName: \"Junction\",\n name: \"Filled Circle\",\n shortName: \"f-circ\",\n description: \"Junction point\",\n aliases: [\"junction\", \"filled-circle\"],\n handler: filledCircle\n },\n {\n semanticName: \"Loop Limit\",\n name: \"Trapezoidal Pentagon\",\n shortName: \"notch-pent\",\n description: \"Loop limit step\",\n aliases: [\"loop-limit\", \"notched-pentagon\"],\n handler: trapezoidalPentagon\n },\n {\n semanticName: \"Manual File\",\n name: \"Flipped Triangle\",\n shortName: \"flip-tri\",\n description: \"Manual file operation\",\n aliases: [\"manual-file\", \"flipped-triangle\"],\n handler: flippedTriangle\n },\n {\n semanticName: \"Manual Input\",\n name: \"Sloped Rectangle\",\n shortName: \"sl-rect\",\n description: \"Manual input step\",\n aliases: [\"manual-input\", \"sloped-rectangle\"],\n handler: slopedRect\n },\n {\n semanticName: \"Multi-Document\",\n name: \"Stacked Document\",\n shortName: \"docs\",\n description: \"Multiple documents\",\n aliases: [\"documents\", \"st-doc\", \"stacked-document\"],\n handler: multiWaveEdgedRectangle\n },\n {\n semanticName: \"Multi-Process\",\n name: \"Stacked Rectangle\",\n shortName: \"st-rect\",\n description: \"Multiple processes\",\n aliases: [\"procs\", \"processes\", \"stacked-rectangle\"],\n handler: multiRect\n },\n {\n semanticName: \"Stored Data\",\n name: \"Bow Tie Rectangle\",\n shortName: \"bow-rect\",\n description: \"Stored data\",\n aliases: [\"stored-data\", \"bow-tie-rectangle\"],\n handler: bowTieRect\n },\n {\n semanticName: \"Summary\",\n name: \"Crossed Circle\",\n shortName: \"cross-circ\",\n description: \"Summary\",\n aliases: [\"summary\", \"crossed-circle\"],\n handler: crossedCircle\n },\n {\n semanticName: \"Tagged Document\",\n name: \"Tagged Document\",\n shortName: \"tag-doc\",\n description: \"Tagged document\",\n aliases: [\"tag-doc\", \"tagged-document\"],\n handler: taggedWaveEdgedRectangle\n },\n {\n semanticName: \"Tagged Process\",\n name: \"Tagged Rectangle\",\n shortName: \"tag-rect\",\n description: \"Tagged process\",\n aliases: [\"tagged-rectangle\", \"tag-proc\", \"tagged-process\"],\n handler: taggedRect\n },\n {\n semanticName: \"Paper Tape\",\n name: \"Flag\",\n shortName: \"flag\",\n description: \"Paper tape\",\n aliases: [\"paper-tape\"],\n handler: waveRectangle\n },\n {\n semanticName: \"Odd\",\n name: \"Odd\",\n shortName: \"odd\",\n description: \"Odd shape\",\n internalAliases: [\"rect_left_inv_arrow\"],\n handler: rect_left_inv_arrow\n },\n {\n semanticName: \"Lined Document\",\n name: \"Lined Document\",\n shortName: \"lin-doc\",\n description: \"Lined document\",\n aliases: [\"lined-document\"],\n handler: linedWaveEdgedRect\n }\n];\nvar generateShapeMap = /* @__PURE__ */ __name(() => {\n const undocumentedShapes = {\n // States\n state,\n choice,\n note,\n // Rectangles\n rectWithTitle,\n labelRect,\n // Icons\n iconSquare,\n iconCircle,\n icon,\n iconRounded,\n imageSquare,\n anchor,\n // Kanban diagram\n kanbanItem,\n // class diagram\n classBox,\n // er diagram\n erBox,\n // Requirement diagram\n requirementBox\n };\n const entries = [\n ...Object.entries(undocumentedShapes),\n ...shapesDefs.flatMap((shape) => {\n const aliases = [\n shape.shortName,\n ...\"aliases\" in shape ? shape.aliases : [],\n ...\"internalAliases\" in shape ? shape.internalAliases : []\n ];\n return aliases.map((alias) => [alias, shape.handler]);\n })\n ];\n return Object.fromEntries(entries);\n}, \"generateShapeMap\");\nvar shapes2 = generateShapeMap();\nfunction isValidShape(shape) {\n return shape in shapes2;\n}\n__name(isValidShape, \"isValidShape\");\n\n// src/rendering-util/rendering-elements/nodes.ts\nvar nodeElems = /* @__PURE__ */ new Map();\nasync function insertNode(elem, node, renderOptions) {\n let newEl;\n let el;\n if (node.shape === \"rect\") {\n if (node.rx && node.ry) {\n node.shape = \"roundedRect\";\n } else {\n node.shape = \"squareRect\";\n }\n }\n const shapeHandler = node.shape ? shapes2[node.shape] : void 0;\n if (!shapeHandler) {\n throw new Error(`No such shape: ${node.shape}. Please check your syntax.`);\n }\n if (node.link) {\n let target;\n if (renderOptions.config.securityLevel === \"sandbox\") {\n target = \"_top\";\n } else if (node.linkTarget) {\n target = node.linkTarget || \"_blank\";\n }\n newEl = elem.insert(\"svg:a\").attr(\"xlink:href\", node.link).attr(\"target\", target ?? null);\n el = await shapeHandler(newEl, node, renderOptions);\n } else {\n el = await shapeHandler(elem, node, renderOptions);\n newEl = el;\n }\n if (node.tooltip) {\n el.attr(\"title\", node.tooltip);\n }\n nodeElems.set(node.id, newEl);\n if (node.haveCallback) {\n newEl.attr(\"class\", newEl.attr(\"class\") + \" clickable\");\n }\n return newEl;\n}\n__name(insertNode, \"insertNode\");\nvar setNodeElem = /* @__PURE__ */ __name((elem, node) => {\n nodeElems.set(node.id, elem);\n}, \"setNodeElem\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n nodeElems.clear();\n}, \"clear\");\nvar positionNode = /* @__PURE__ */ __name((node) => {\n const el = nodeElems.get(node.id);\n log.trace(\n \"Transforming node\",\n node.diff,\n node,\n \"translate(\" + (node.x - node.width / 2 - 5) + \", \" + node.width / 2 + \")\"\n );\n const padding = 8;\n const diff = node.diff || 0;\n if (node.clusterNode) {\n el.attr(\n \"transform\",\n \"translate(\" + (node.x + diff - node.width / 2) + \", \" + (node.y - node.height / 2 - padding) + \")\"\n );\n } else {\n el.attr(\"transform\", \"translate(\" + node.x + \", \" + node.y + \")\");\n }\n return diff;\n}, \"positionNode\");\n\nexport {\n labelHelper,\n updateNodeBounds,\n isLabelStyle,\n createLabel_default,\n isValidShape,\n insertCluster,\n clear,\n insertNode,\n setNodeElem,\n clear2,\n positionNode\n};\n", + "import {\n getLineFunctionsWithOffset\n} from \"./chunk-VV3M67IP.mjs\";\nimport {\n createLabel_default,\n isLabelStyle\n} from \"./chunk-HRU6DDCH.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-K557N5IZ.mjs\";\nimport {\n createText\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n evaluate,\n getConfig2 as getConfig,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/rendering-elements/edges.js\nimport {\n curveBasis,\n curveLinear,\n curveCardinal,\n curveBumpX,\n curveBumpY,\n curveCatmullRom,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore,\n line,\n select\n} from \"d3\";\nimport rough from \"roughjs\";\n\n// src/rendering-util/rendering-elements/edgeMarker.ts\nvar addEdgeMarkers = /* @__PURE__ */ __name((svgPath, edge, url, id, diagramType, strokeColor) => {\n if (edge.arrowTypeStart) {\n addEdgeMarker(svgPath, \"start\", edge.arrowTypeStart, url, id, diagramType, strokeColor);\n }\n if (edge.arrowTypeEnd) {\n addEdgeMarker(svgPath, \"end\", edge.arrowTypeEnd, url, id, diagramType, strokeColor);\n }\n}, \"addEdgeMarkers\");\nvar arrowTypesMap = {\n arrow_cross: { type: \"cross\", fill: false },\n arrow_point: { type: \"point\", fill: true },\n arrow_barb: { type: \"barb\", fill: true },\n arrow_circle: { type: \"circle\", fill: false },\n aggregation: { type: \"aggregation\", fill: false },\n extension: { type: \"extension\", fill: false },\n composition: { type: \"composition\", fill: true },\n dependency: { type: \"dependency\", fill: true },\n lollipop: { type: \"lollipop\", fill: false },\n only_one: { type: \"onlyOne\", fill: false },\n zero_or_one: { type: \"zeroOrOne\", fill: false },\n one_or_more: { type: \"oneOrMore\", fill: false },\n zero_or_more: { type: \"zeroOrMore\", fill: false },\n requirement_arrow: { type: \"requirement_arrow\", fill: false },\n requirement_contains: { type: \"requirement_contains\", fill: false }\n};\nvar addEdgeMarker = /* @__PURE__ */ __name((svgPath, position, arrowType, url, id, diagramType, strokeColor) => {\n const arrowTypeInfo = arrowTypesMap[arrowType];\n if (!arrowTypeInfo) {\n log.warn(`Unknown arrow type: ${arrowType}`);\n return;\n }\n const endMarkerType = arrowTypeInfo.type;\n const suffix = position === \"start\" ? \"Start\" : \"End\";\n const originalMarkerId = `${id}_${diagramType}-${endMarkerType}${suffix}`;\n if (strokeColor && strokeColor.trim() !== \"\") {\n const colorId = strokeColor.replace(/[^\\dA-Za-z]/g, \"_\");\n const coloredMarkerId = `${originalMarkerId}_${colorId}`;\n if (!document.getElementById(coloredMarkerId)) {\n const originalMarker = document.getElementById(originalMarkerId);\n if (originalMarker) {\n const coloredMarker = originalMarker.cloneNode(true);\n coloredMarker.id = coloredMarkerId;\n const paths = coloredMarker.querySelectorAll(\"path, circle, line\");\n paths.forEach((path) => {\n path.setAttribute(\"stroke\", strokeColor);\n if (arrowTypeInfo.fill) {\n path.setAttribute(\"fill\", strokeColor);\n }\n });\n originalMarker.parentNode?.appendChild(coloredMarker);\n }\n }\n svgPath.attr(`marker-${position}`, `url(${url}#${coloredMarkerId})`);\n } else {\n svgPath.attr(`marker-${position}`, `url(${url}#${originalMarkerId})`);\n }\n}, \"addEdgeMarker\");\n\n// src/rendering-util/rendering-elements/edges.js\nvar edgeLabels = /* @__PURE__ */ new Map();\nvar terminalLabels = /* @__PURE__ */ new Map();\nvar clear = /* @__PURE__ */ __name(() => {\n edgeLabels.clear();\n terminalLabels.clear();\n}, \"clear\");\nvar getLabelStyles = /* @__PURE__ */ __name((styleArray) => {\n let styles = styleArray ? styleArray.reduce((acc, style) => acc + \";\" + style, \"\") : \"\";\n return styles;\n}, \"getLabelStyles\");\nvar insertEdgeLabel = /* @__PURE__ */ __name(async (elem, edge) => {\n let useHtmlLabels = evaluate(getConfig().flowchart.htmlLabels);\n const labelElement = await createText(elem, edge.label, {\n style: getLabelStyles(edge.labelStyle),\n useHtmlLabels,\n addSvgBackground: true,\n isNode: false\n });\n log.info(\"abc82\", edge, edge.labelType);\n const edgeLabel = elem.insert(\"g\").attr(\"class\", \"edgeLabel\");\n const label = edgeLabel.insert(\"g\").attr(\"class\", \"label\");\n label.node().appendChild(labelElement);\n let bbox = labelElement.getBBox();\n if (useHtmlLabels) {\n const div = labelElement.children[0];\n const dv = select(labelElement);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n label.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n edgeLabels.set(edge.id, edgeLabel);\n edge.width = bbox.width;\n edge.height = bbox.height;\n let fo;\n if (edge.startLabelLeft) {\n const startLabelElement = await createLabel_default(\n edge.startLabelLeft,\n getLabelStyles(edge.labelStyle)\n );\n const startEdgeLabelLeft = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = startEdgeLabelLeft.insert(\"g\").attr(\"class\", \"inner\");\n fo = inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n if (!terminalLabels.get(edge.id)) {\n terminalLabels.set(edge.id, {});\n }\n terminalLabels.get(edge.id).startLeft = startEdgeLabelLeft;\n setTerminalWidth(fo, edge.startLabelLeft);\n }\n if (edge.startLabelRight) {\n const startLabelElement = await createLabel_default(\n edge.startLabelRight,\n getLabelStyles(edge.labelStyle)\n );\n const startEdgeLabelRight = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = startEdgeLabelRight.insert(\"g\").attr(\"class\", \"inner\");\n fo = startEdgeLabelRight.node().appendChild(startLabelElement);\n inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n if (!terminalLabels.get(edge.id)) {\n terminalLabels.set(edge.id, {});\n }\n terminalLabels.get(edge.id).startRight = startEdgeLabelRight;\n setTerminalWidth(fo, edge.startLabelRight);\n }\n if (edge.endLabelLeft) {\n const endLabelElement = await createLabel_default(edge.endLabelLeft, getLabelStyles(edge.labelStyle));\n const endEdgeLabelLeft = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = endEdgeLabelLeft.insert(\"g\").attr(\"class\", \"inner\");\n fo = inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n endEdgeLabelLeft.node().appendChild(endLabelElement);\n if (!terminalLabels.get(edge.id)) {\n terminalLabels.set(edge.id, {});\n }\n terminalLabels.get(edge.id).endLeft = endEdgeLabelLeft;\n setTerminalWidth(fo, edge.endLabelLeft);\n }\n if (edge.endLabelRight) {\n const endLabelElement = await createLabel_default(edge.endLabelRight, getLabelStyles(edge.labelStyle));\n const endEdgeLabelRight = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = endEdgeLabelRight.insert(\"g\").attr(\"class\", \"inner\");\n fo = inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n endEdgeLabelRight.node().appendChild(endLabelElement);\n if (!terminalLabels.get(edge.id)) {\n terminalLabels.set(edge.id, {});\n }\n terminalLabels.get(edge.id).endRight = endEdgeLabelRight;\n setTerminalWidth(fo, edge.endLabelRight);\n }\n return labelElement;\n}, \"insertEdgeLabel\");\nfunction setTerminalWidth(fo, value) {\n if (getConfig().flowchart.htmlLabels && fo) {\n fo.style.width = value.length * 9 + \"px\";\n fo.style.height = \"12px\";\n }\n}\n__name(setTerminalWidth, \"setTerminalWidth\");\nvar positionEdgeLabel = /* @__PURE__ */ __name((edge, paths) => {\n log.debug(\"Moving label abc88 \", edge.id, edge.label, edgeLabels.get(edge.id), paths);\n let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;\n const siteConfig = getConfig();\n const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n if (edge.label) {\n const el = edgeLabels.get(edge.id);\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcLabelPosition(path);\n log.debug(\n \"Moving label \" + edge.label + \" from (\",\n x,\n \",\",\n y,\n \") to (\",\n pos.x,\n \",\",\n pos.y,\n \") abc88\"\n );\n if (paths.updatedPath) {\n x = pos.x;\n y = pos.y;\n }\n }\n el.attr(\"transform\", `translate(${x}, ${y + subGraphTitleTotalMargin / 2})`);\n }\n if (edge.startLabelLeft) {\n const el = terminalLabels.get(edge.id).startLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, \"start_left\", path);\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n if (edge.startLabelRight) {\n const el = terminalLabels.get(edge.id).startRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(\n edge.arrowTypeStart ? 10 : 0,\n \"start_right\",\n path\n );\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n if (edge.endLabelLeft) {\n const el = terminalLabels.get(edge.id).endLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, \"end_left\", path);\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n if (edge.endLabelRight) {\n const el = terminalLabels.get(edge.id).endRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, \"end_right\", path);\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n}, \"positionEdgeLabel\");\nvar outsideNode = /* @__PURE__ */ __name((node, point2) => {\n const x = node.x;\n const y = node.y;\n const dx = Math.abs(point2.x - x);\n const dy = Math.abs(point2.y - y);\n const w = node.width / 2;\n const h = node.height / 2;\n return dx >= w || dy >= h;\n}, \"outsideNode\");\nvar intersection = /* @__PURE__ */ __name((node, outsidePoint, insidePoint) => {\n log.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);\n const x = node.x;\n const y = node.y;\n const dx = Math.abs(x - insidePoint.x);\n const w = node.width / 2;\n let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx;\n const h = node.height / 2;\n const Q = Math.abs(outsidePoint.y - insidePoint.y);\n const R = Math.abs(outsidePoint.x - insidePoint.x);\n if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) {\n let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;\n r = R * q / Q;\n const res = {\n x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r,\n y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q\n };\n if (r === 0) {\n res.x = outsidePoint.x;\n res.y = outsidePoint.y;\n }\n if (R === 0) {\n res.x = outsidePoint.x;\n }\n if (Q === 0) {\n res.y = outsidePoint.y;\n }\n log.debug(`abc89 top/bottom calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res);\n return res;\n } else {\n if (insidePoint.x < outsidePoint.x) {\n r = outsidePoint.x - w - x;\n } else {\n r = x - w - outsidePoint.x;\n }\n let q = Q * r / R;\n let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r;\n let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q;\n log.debug(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y });\n if (r === 0) {\n _x = outsidePoint.x;\n _y = outsidePoint.y;\n }\n if (R === 0) {\n _x = outsidePoint.x;\n }\n if (Q === 0) {\n _y = outsidePoint.y;\n }\n return { x: _x, y: _y };\n }\n}, \"intersection\");\nvar cutPathAtIntersect = /* @__PURE__ */ __name((_points, boundaryNode) => {\n log.warn(\"abc88 cutPathAtIntersect\", _points, boundaryNode);\n let points = [];\n let lastPointOutside = _points[0];\n let isInside = false;\n _points.forEach((point2) => {\n log.info(\"abc88 checking point\", point2, boundaryNode);\n if (!outsideNode(boundaryNode, point2) && !isInside) {\n const inter = intersection(boundaryNode, lastPointOutside, point2);\n log.debug(\"abc88 inside\", point2, lastPointOutside, inter);\n log.debug(\"abc88 intersection\", inter, boundaryNode);\n let pointPresent = false;\n points.forEach((p) => {\n pointPresent = pointPresent || p.x === inter.x && p.y === inter.y;\n });\n if (!points.some((e) => e.x === inter.x && e.y === inter.y)) {\n points.push(inter);\n } else {\n log.warn(\"abc88 no intersect\", inter, points);\n }\n isInside = true;\n } else {\n log.warn(\"abc88 outside\", point2, lastPointOutside);\n lastPointOutside = point2;\n if (!isInside) {\n points.push(point2);\n }\n }\n });\n log.debug(\"returning points\", points);\n return points;\n}, \"cutPathAtIntersect\");\nfunction extractCornerPoints(points) {\n const cornerPoints = [];\n const cornerPointPositions = [];\n for (let i = 1; i < points.length - 1; i++) {\n const prev = points[i - 1];\n const curr = points[i];\n const next = points[i + 1];\n if (prev.x === curr.x && curr.y === next.y && Math.abs(curr.x - next.x) > 5 && Math.abs(curr.y - prev.y) > 5) {\n cornerPoints.push(curr);\n cornerPointPositions.push(i);\n } else if (prev.y === curr.y && curr.x === next.x && Math.abs(curr.x - prev.x) > 5 && Math.abs(curr.y - next.y) > 5) {\n cornerPoints.push(curr);\n cornerPointPositions.push(i);\n }\n }\n return { cornerPoints, cornerPointPositions };\n}\n__name(extractCornerPoints, \"extractCornerPoints\");\nvar findAdjacentPoint = /* @__PURE__ */ __name(function(pointA, pointB, distance) {\n const xDiff = pointB.x - pointA.x;\n const yDiff = pointB.y - pointA.y;\n const length = Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n const ratio = distance / length;\n return { x: pointB.x - ratio * xDiff, y: pointB.y - ratio * yDiff };\n}, \"findAdjacentPoint\");\nvar fixCorners = /* @__PURE__ */ __name(function(lineData) {\n const { cornerPointPositions } = extractCornerPoints(lineData);\n const newLineData = [];\n for (let i = 0; i < lineData.length; i++) {\n if (cornerPointPositions.includes(i)) {\n const prevPoint = lineData[i - 1];\n const nextPoint = lineData[i + 1];\n const cornerPoint = lineData[i];\n const newPrevPoint = findAdjacentPoint(prevPoint, cornerPoint, 5);\n const newNextPoint = findAdjacentPoint(nextPoint, cornerPoint, 5);\n const xDiff = newNextPoint.x - newPrevPoint.x;\n const yDiff = newNextPoint.y - newPrevPoint.y;\n newLineData.push(newPrevPoint);\n const a = Math.sqrt(2) * 2;\n let newCornerPoint = { x: cornerPoint.x, y: cornerPoint.y };\n if (Math.abs(nextPoint.x - prevPoint.x) > 10 && Math.abs(nextPoint.y - prevPoint.y) >= 10) {\n log.debug(\n \"Corner point fixing\",\n Math.abs(nextPoint.x - prevPoint.x),\n Math.abs(nextPoint.y - prevPoint.y)\n );\n const r = 5;\n if (cornerPoint.x === newPrevPoint.x) {\n newCornerPoint = {\n x: xDiff < 0 ? newPrevPoint.x - r + a : newPrevPoint.x + r - a,\n y: yDiff < 0 ? newPrevPoint.y - a : newPrevPoint.y + a\n };\n } else {\n newCornerPoint = {\n x: xDiff < 0 ? newPrevPoint.x - a : newPrevPoint.x + a,\n y: yDiff < 0 ? newPrevPoint.y - r + a : newPrevPoint.y + r - a\n };\n }\n } else {\n log.debug(\n \"Corner point skipping fixing\",\n Math.abs(nextPoint.x - prevPoint.x),\n Math.abs(nextPoint.y - prevPoint.y)\n );\n }\n newLineData.push(newCornerPoint, newNextPoint);\n } else {\n newLineData.push(lineData[i]);\n }\n }\n return newLineData;\n}, \"fixCorners\");\nvar insertEdge = /* @__PURE__ */ __name(function(elem, edge, clusterDb, diagramType, startNode, endNode, id) {\n const { handDrawnSeed } = getConfig();\n let points = edge.points;\n let pointsHasChanged = false;\n const tail = startNode;\n var head = endNode;\n const edgeClassStyles = [];\n for (const key in edge.cssCompiledStyles) {\n if (isLabelStyle(key)) {\n continue;\n }\n edgeClassStyles.push(edge.cssCompiledStyles[key]);\n }\n if (head.intersect && tail.intersect) {\n points = points.slice(1, edge.points.length - 1);\n points.unshift(tail.intersect(points[0]));\n log.debug(\n \"Last point APA12\",\n edge.start,\n \"-->\",\n edge.end,\n points[points.length - 1],\n head,\n head.intersect(points[points.length - 1])\n );\n points.push(head.intersect(points[points.length - 1]));\n }\n if (edge.toCluster) {\n log.info(\"to cluster abc88\", clusterDb.get(edge.toCluster));\n points = cutPathAtIntersect(edge.points, clusterDb.get(edge.toCluster).node);\n pointsHasChanged = true;\n }\n if (edge.fromCluster) {\n log.debug(\n \"from cluster abc88\",\n clusterDb.get(edge.fromCluster),\n JSON.stringify(points, null, 2)\n );\n points = cutPathAtIntersect(points.reverse(), clusterDb.get(edge.fromCluster).node).reverse();\n pointsHasChanged = true;\n }\n let lineData = points.filter((p) => !Number.isNaN(p.y));\n lineData = fixCorners(lineData);\n let curve = curveBasis;\n curve = curveLinear;\n switch (edge.curve) {\n case \"linear\":\n curve = curveLinear;\n break;\n case \"basis\":\n curve = curveBasis;\n break;\n case \"cardinal\":\n curve = curveCardinal;\n break;\n case \"bumpX\":\n curve = curveBumpX;\n break;\n case \"bumpY\":\n curve = curveBumpY;\n break;\n case \"catmullRom\":\n curve = curveCatmullRom;\n break;\n case \"monotoneX\":\n curve = curveMonotoneX;\n break;\n case \"monotoneY\":\n curve = curveMonotoneY;\n break;\n case \"natural\":\n curve = curveNatural;\n break;\n case \"step\":\n curve = curveStep;\n break;\n case \"stepAfter\":\n curve = curveStepAfter;\n break;\n case \"stepBefore\":\n curve = curveStepBefore;\n break;\n default:\n curve = curveBasis;\n }\n const { x, y } = getLineFunctionsWithOffset(edge);\n const lineFunction = line().x(x).y(y).curve(curve);\n let strokeClasses;\n switch (edge.thickness) {\n case \"normal\":\n strokeClasses = \"edge-thickness-normal\";\n break;\n case \"thick\":\n strokeClasses = \"edge-thickness-thick\";\n break;\n case \"invisible\":\n strokeClasses = \"edge-thickness-invisible\";\n break;\n default:\n strokeClasses = \"edge-thickness-normal\";\n }\n switch (edge.pattern) {\n case \"solid\":\n strokeClasses += \" edge-pattern-solid\";\n break;\n case \"dotted\":\n strokeClasses += \" edge-pattern-dotted\";\n break;\n case \"dashed\":\n strokeClasses += \" edge-pattern-dashed\";\n break;\n default:\n strokeClasses += \" edge-pattern-solid\";\n }\n let svgPath;\n let linePath = lineFunction(lineData);\n const edgeStyles = Array.isArray(edge.style) ? edge.style : [edge.style];\n let strokeColor = edgeStyles.find((style) => style?.startsWith(\"stroke:\"));\n if (edge.look === \"handDrawn\") {\n const rc = rough.svg(elem);\n Object.assign([], lineData);\n const svgPathNode = rc.path(linePath, {\n roughness: 0.3,\n seed: handDrawnSeed\n });\n strokeClasses += \" transition\";\n svgPath = select(svgPathNode).select(\"path\").attr(\"id\", edge.id).attr(\"class\", \" \" + strokeClasses + (edge.classes ? \" \" + edge.classes : \"\")).attr(\"style\", edgeStyles ? edgeStyles.reduce((acc, style) => acc + \";\" + style, \"\") : \"\");\n let d = svgPath.attr(\"d\");\n svgPath.attr(\"d\", d);\n elem.node().appendChild(svgPath.node());\n } else {\n const stylesFromClasses = edgeClassStyles.join(\";\");\n const styles = edgeStyles ? edgeStyles.reduce((acc, style) => acc + style + \";\", \"\") : \"\";\n let animationClass = \"\";\n if (edge.animate) {\n animationClass = \" edge-animation-fast\";\n }\n if (edge.animation) {\n animationClass = \" edge-animation-\" + edge.animation;\n }\n const pathStyle = stylesFromClasses ? stylesFromClasses + \";\" + styles + \";\" : styles;\n svgPath = elem.append(\"path\").attr(\"d\", linePath).attr(\"id\", edge.id).attr(\n \"class\",\n \" \" + strokeClasses + (edge.classes ? \" \" + edge.classes : \"\") + (animationClass ?? \"\")\n ).attr(\"style\", pathStyle);\n strokeColor = pathStyle.match(/stroke:([^;]+)/)?.[1];\n }\n let url = \"\";\n if (getConfig().flowchart.arrowMarkerAbsolute || getConfig().state.arrowMarkerAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replace(/\\(/g, \"\\\\(\").replace(/\\)/g, \"\\\\)\");\n }\n log.info(\"arrowTypeStart\", edge.arrowTypeStart);\n log.info(\"arrowTypeEnd\", edge.arrowTypeEnd);\n addEdgeMarkers(svgPath, edge, url, id, diagramType, strokeColor);\n let paths = {};\n if (pointsHasChanged) {\n paths.updatedPath = points;\n }\n paths.originalPath = edge.points;\n return paths;\n}, \"insertEdge\");\n\n// src/rendering-util/rendering-elements/markers.js\nvar insertMarkers = /* @__PURE__ */ __name((elem, markerArray, type, id) => {\n markerArray.forEach((markerName) => {\n markers[markerName](elem, type, id);\n });\n}, \"insertMarkers\");\nvar extension = /* @__PURE__ */ __name((elem, type, id) => {\n log.trace(\"Making markers for \", id);\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-extensionStart\").attr(\"class\", \"marker extension \" + type).attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,7 L18,13 V 1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-extensionEnd\").attr(\"class\", \"marker extension \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,1 V 13 L18,7 Z\");\n}, \"extension\");\nvar composition = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-compositionStart\").attr(\"class\", \"marker composition \" + type).attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-compositionEnd\").attr(\"class\", \"marker composition \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n}, \"composition\");\nvar aggregation = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-aggregationStart\").attr(\"class\", \"marker aggregation \" + type).attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-aggregationEnd\").attr(\"class\", \"marker aggregation \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n}, \"aggregation\");\nvar dependency = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-dependencyStart\").attr(\"class\", \"marker dependency \" + type).attr(\"refX\", 6).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 5,7 L9,13 L1,7 L9,1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-dependencyEnd\").attr(\"class\", \"marker dependency \" + type).attr(\"refX\", 13).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L14,7 L9,1 Z\");\n}, \"dependency\");\nvar lollipop = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-lollipopStart\").attr(\"class\", \"marker lollipop \" + type).attr(\"refX\", 13).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"circle\").attr(\"stroke\", \"black\").attr(\"fill\", \"transparent\").attr(\"cx\", 7).attr(\"cy\", 7).attr(\"r\", 6);\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-lollipopEnd\").attr(\"class\", \"marker lollipop \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"circle\").attr(\"stroke\", \"black\").attr(\"fill\", \"transparent\").attr(\"cx\", 7).attr(\"cy\", 7).attr(\"r\", 6);\n}, \"lollipop\");\nvar point = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-pointEnd\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 5).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 8).attr(\"markerHeight\", 8).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-pointStart\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 4.5).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 8).attr(\"markerHeight\", 8).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 5 L 10 10 L 10 0 z\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n}, \"point\");\nvar circle = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-circleEnd\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 11).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", \"5\").attr(\"cy\", \"5\").attr(\"r\", \"5\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-circleStart\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", -1).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", \"5\").attr(\"cy\", \"5\").attr(\"r\", \"5\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n}, \"circle\");\nvar cross = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-crossEnd\").attr(\"class\", \"marker cross \" + type).attr(\"viewBox\", \"0 0 11 11\").attr(\"refX\", 12).attr(\"refY\", 5.2).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,1 l 9,9 M 10,1 l -9,9\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 2).style(\"stroke-dasharray\", \"1,0\");\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-crossStart\").attr(\"class\", \"marker cross \" + type).attr(\"viewBox\", \"0 0 11 11\").attr(\"refX\", -1).attr(\"refY\", 5.2).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,1 l 9,9 M 10,1 l -9,9\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 2).style(\"stroke-dasharray\", \"1,0\");\n}, \"cross\");\nvar barb = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-barbEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 14).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"barb\");\nvar only_one = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-onlyOneStart\").attr(\"class\", \"marker onlyOne \" + type).attr(\"refX\", 0).attr(\"refY\", 9).attr(\"markerWidth\", 18).attr(\"markerHeight\", 18).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M9,0 L9,18 M15,0 L15,18\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-onlyOneEnd\").attr(\"class\", \"marker onlyOne \" + type).attr(\"refX\", 18).attr(\"refY\", 9).attr(\"markerWidth\", 18).attr(\"markerHeight\", 18).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M3,0 L3,18 M9,0 L9,18\");\n}, \"only_one\");\nvar zero_or_one = /* @__PURE__ */ __name((elem, type, id) => {\n const startMarker = elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-zeroOrOneStart\").attr(\"class\", \"marker zeroOrOne \" + type).attr(\"refX\", 0).attr(\"refY\", 9).attr(\"markerWidth\", 30).attr(\"markerHeight\", 18).attr(\"orient\", \"auto\");\n startMarker.append(\"circle\").attr(\"fill\", \"white\").attr(\"cx\", 21).attr(\"cy\", 9).attr(\"r\", 6);\n startMarker.append(\"path\").attr(\"d\", \"M9,0 L9,18\");\n const endMarker = elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-zeroOrOneEnd\").attr(\"class\", \"marker zeroOrOne \" + type).attr(\"refX\", 30).attr(\"refY\", 9).attr(\"markerWidth\", 30).attr(\"markerHeight\", 18).attr(\"orient\", \"auto\");\n endMarker.append(\"circle\").attr(\"fill\", \"white\").attr(\"cx\", 9).attr(\"cy\", 9).attr(\"r\", 6);\n endMarker.append(\"path\").attr(\"d\", \"M21,0 L21,18\");\n}, \"zero_or_one\");\nvar one_or_more = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-oneOrMoreStart\").attr(\"class\", \"marker oneOrMore \" + type).attr(\"refX\", 18).attr(\"refY\", 18).attr(\"markerWidth\", 45).attr(\"markerHeight\", 36).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-oneOrMoreEnd\").attr(\"class\", \"marker oneOrMore \" + type).attr(\"refX\", 27).attr(\"refY\", 18).attr(\"markerWidth\", 45).attr(\"markerHeight\", 36).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18\");\n}, \"one_or_more\");\nvar zero_or_more = /* @__PURE__ */ __name((elem, type, id) => {\n const startMarker = elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-zeroOrMoreStart\").attr(\"class\", \"marker zeroOrMore \" + type).attr(\"refX\", 18).attr(\"refY\", 18).attr(\"markerWidth\", 57).attr(\"markerHeight\", 36).attr(\"orient\", \"auto\");\n startMarker.append(\"circle\").attr(\"fill\", \"white\").attr(\"cx\", 48).attr(\"cy\", 18).attr(\"r\", 6);\n startMarker.append(\"path\").attr(\"d\", \"M0,18 Q18,0 36,18 Q18,36 0,18\");\n const endMarker = elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-zeroOrMoreEnd\").attr(\"class\", \"marker zeroOrMore \" + type).attr(\"refX\", 39).attr(\"refY\", 18).attr(\"markerWidth\", 57).attr(\"markerHeight\", 36).attr(\"orient\", \"auto\");\n endMarker.append(\"circle\").attr(\"fill\", \"white\").attr(\"cx\", 9).attr(\"cy\", 18).attr(\"r\", 6);\n endMarker.append(\"path\").attr(\"d\", \"M21,18 Q39,0 57,18 Q39,36 21,18\");\n}, \"zero_or_more\");\nvar requirement_arrow = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-requirement_arrowEnd\").attr(\"refX\", 20).attr(\"refY\", 10).attr(\"markerWidth\", 20).attr(\"markerHeight\", 20).attr(\"orient\", \"auto\").append(\"path\").attr(\n \"d\",\n `M0,0\n L20,10\n M20,10\n L0,20`\n );\n}, \"requirement_arrow\");\nvar requirement_contains = /* @__PURE__ */ __name((elem, type, id) => {\n const containsNode = elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-requirement_containsStart\").attr(\"refX\", 0).attr(\"refY\", 10).attr(\"markerWidth\", 20).attr(\"markerHeight\", 20).attr(\"orient\", \"auto\").append(\"g\");\n containsNode.append(\"circle\").attr(\"cx\", 10).attr(\"cy\", 10).attr(\"r\", 9).attr(\"fill\", \"none\");\n containsNode.append(\"line\").attr(\"x1\", 1).attr(\"x2\", 19).attr(\"y1\", 10).attr(\"y2\", 10);\n containsNode.append(\"line\").attr(\"y1\", 1).attr(\"y2\", 19).attr(\"x1\", 10).attr(\"x2\", 10);\n}, \"requirement_contains\");\nvar markers = {\n extension,\n composition,\n aggregation,\n dependency,\n lollipop,\n point,\n circle,\n cross,\n barb,\n only_one,\n zero_or_one,\n one_or_more,\n zero_or_more,\n requirement_arrow,\n requirement_contains\n};\nvar markers_default = insertMarkers;\n\nexport {\n clear,\n insertEdgeLabel,\n positionEdgeLabel,\n insertEdge,\n markers_default\n};\n", + "import {\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-IIMUDSI4.mjs\";\nimport {\n insertCluster,\n insertNode,\n labelHelper\n} from \"./chunk-HRU6DDCH.mjs\";\nimport {\n interpolateToCurve\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n common_default,\n getConfig,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/internals.ts\nvar internalHelpers = {\n common: common_default,\n getConfig,\n insertCluster,\n insertEdge,\n insertEdgeLabel,\n insertMarkers: markers_default,\n insertNode,\n interpolateToCurve,\n labelHelper,\n log,\n positionEdgeLabel\n};\n\n// src/rendering-util/render.ts\nvar layoutAlgorithms = {};\nvar registerLayoutLoaders = /* @__PURE__ */ __name((loaders) => {\n for (const loader of loaders) {\n layoutAlgorithms[loader.name] = loader;\n }\n}, \"registerLayoutLoaders\");\nvar registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {\n registerLayoutLoaders([\n {\n name: \"dagre\",\n loader: /* @__PURE__ */ __name(async () => await import(\"./dagre-OKDRZEBW.mjs\"), \"loader\")\n }\n ]);\n}, \"registerDefaultLayoutLoaders\");\nregisterDefaultLayoutLoaders();\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n if (!(data4Layout.layoutAlgorithm in layoutAlgorithms)) {\n throw new Error(`Unknown layout algorithm: ${data4Layout.layoutAlgorithm}`);\n }\n const layoutDefinition = layoutAlgorithms[data4Layout.layoutAlgorithm];\n const layoutRenderer = await layoutDefinition.loader();\n return layoutRenderer.render(data4Layout, svg, internalHelpers, {\n algorithm: layoutDefinition.algorithm\n });\n}, \"render\");\nvar getRegisteredLayoutAlgorithm = /* @__PURE__ */ __name((algorithm = \"\", { fallback = \"dagre\" } = {}) => {\n if (algorithm in layoutAlgorithms) {\n return algorithm;\n }\n if (fallback in layoutAlgorithms) {\n log.warn(`Layout algorithm ${algorithm} is not registered. Using ${fallback} as fallback.`);\n return fallback;\n }\n throw new Error(`Both layout algorithms ${algorithm} and ${fallback} are not registered.`);\n}, \"getRegisteredLayoutAlgorithm\");\n\nexport {\n registerLayoutLoaders,\n render,\n getRegisteredLayoutAlgorithm\n};\n", + "// package.json\nvar package_default = {\n name: \"mermaid\",\n version: \"11.6.0\",\n description: \"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.\",\n type: \"module\",\n module: \"./dist/mermaid.core.mjs\",\n types: \"./dist/mermaid.d.ts\",\n exports: {\n \".\": {\n types: \"./dist/mermaid.d.ts\",\n import: \"./dist/mermaid.core.mjs\",\n default: \"./dist/mermaid.core.mjs\"\n },\n \"./*\": \"./*\"\n },\n keywords: [\n \"diagram\",\n \"markdown\",\n \"flowchart\",\n \"sequence diagram\",\n \"gantt\",\n \"class diagram\",\n \"git graph\",\n \"mindmap\",\n \"packet diagram\",\n \"c4 diagram\",\n \"er diagram\",\n \"pie chart\",\n \"pie diagram\",\n \"quadrant chart\",\n \"requirement diagram\",\n \"graph\"\n ],\n scripts: {\n clean: \"rimraf dist\",\n dev: \"pnpm -w dev\",\n \"docs:code\": \"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup\",\n \"docs:build\": \"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts\",\n \"docs:verify\": \"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify\",\n \"docs:pre:vitepress\": \"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts\",\n \"docs:build:vitepress\": \"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing\",\n \"docs:dev\": 'pnpm docs:pre:vitepress && concurrently \"pnpm --filter ./src/vitepress dev\" \"tsx scripts/docs.cli.mts --watch --vitepress\"',\n \"docs:dev:docker\": 'pnpm docs:pre:vitepress && concurrently \"pnpm --filter ./src/vitepress dev:docker\" \"tsx scripts/docs.cli.mts --watch --vitepress\"',\n \"docs:serve\": \"pnpm docs:build:vitepress && vitepress serve src/vitepress\",\n \"docs:spellcheck\": 'cspell \"src/docs/**/*.md\"',\n \"docs:release-version\": \"tsx scripts/update-release-version.mts\",\n \"docs:verify-version\": \"tsx scripts/update-release-version.mts --verify\",\n \"types:build-config\": \"tsx scripts/create-types-from-json-schema.mts\",\n \"types:verify-config\": \"tsx scripts/create-types-from-json-schema.mts --verify\",\n checkCircle: \"npx madge --circular ./src\",\n prepublishOnly: \"pnpm docs:verify-version\"\n },\n repository: {\n type: \"git\",\n url: \"https://github.com/mermaid-js/mermaid\"\n },\n author: \"Knut Sveidqvist\",\n license: \"MIT\",\n standard: {\n ignore: [\n \"**/parser/*.js\",\n \"dist/**/*.js\",\n \"cypress/**/*.js\"\n ],\n globals: [\n \"page\"\n ]\n },\n dependencies: {\n \"@braintree/sanitize-url\": \"^7.0.4\",\n \"@iconify/utils\": \"^2.1.33\",\n \"@mermaid-js/parser\": \"workspace:^\",\n \"@types/d3\": \"^7.4.3\",\n cytoscape: \"^3.29.3\",\n \"cytoscape-cose-bilkent\": \"^4.1.0\",\n \"cytoscape-fcose\": \"^2.2.0\",\n d3: \"^7.9.0\",\n \"d3-sankey\": \"^0.12.3\",\n \"dagre-d3-es\": \"7.0.11\",\n dayjs: \"^1.11.13\",\n dompurify: \"^3.2.4\",\n katex: \"^0.16.9\",\n khroma: \"^2.1.0\",\n \"lodash-es\": \"^4.17.21\",\n marked: \"^15.0.7\",\n roughjs: \"^4.6.6\",\n stylis: \"^4.3.6\",\n \"ts-dedent\": \"^2.2.0\",\n uuid: \"^11.1.0\"\n },\n devDependencies: {\n \"@adobe/jsonschema2md\": \"^8.0.2\",\n \"@iconify/types\": \"^2.0.0\",\n \"@types/cytoscape\": \"^3.21.9\",\n \"@types/cytoscape-fcose\": \"^2.2.4\",\n \"@types/d3-sankey\": \"^0.12.4\",\n \"@types/d3-scale\": \"^4.0.9\",\n \"@types/d3-scale-chromatic\": \"^3.1.0\",\n \"@types/d3-selection\": \"^3.0.11\",\n \"@types/d3-shape\": \"^3.1.7\",\n \"@types/jsdom\": \"^21.1.7\",\n \"@types/katex\": \"^0.16.7\",\n \"@types/lodash-es\": \"^4.17.12\",\n \"@types/micromatch\": \"^4.0.9\",\n \"@types/stylis\": \"^4.2.7\",\n \"@types/uuid\": \"^10.0.0\",\n ajv: \"^8.17.1\",\n chokidar: \"^4.0.3\",\n concurrently: \"^9.1.2\",\n \"csstree-validator\": \"^4.0.1\",\n globby: \"^14.0.2\",\n jison: \"^0.4.18\",\n \"js-base64\": \"^3.7.7\",\n jsdom: \"^26.0.0\",\n \"json-schema-to-typescript\": \"^15.0.4\",\n micromatch: \"^4.0.8\",\n \"path-browserify\": \"^1.0.1\",\n prettier: \"^3.5.2\",\n remark: \"^15.0.1\",\n \"remark-frontmatter\": \"^5.0.0\",\n \"remark-gfm\": \"^4.0.1\",\n rimraf: \"^6.0.1\",\n \"start-server-and-test\": \"^2.0.10\",\n \"type-fest\": \"^4.35.0\",\n typedoc: \"^0.27.8\",\n \"typedoc-plugin-markdown\": \"^4.4.2\",\n typescript: \"~5.7.3\",\n \"unist-util-flatmap\": \"^1.0.0\",\n \"unist-util-visit\": \"^5.0.0\",\n vitepress: \"^1.0.2\",\n \"vitepress-plugin-search\": \"1.0.4-alpha.22\"\n },\n files: [\n \"dist/\",\n \"README.md\"\n ],\n publishConfig: {\n access: \"public\"\n }\n};\n\nexport {\n package_default\n};\n", + "import {\n __name,\n getConfig2 as getConfig\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/selectSvgElement.ts\nimport { select } from \"d3\";\nvar selectSvgElement = /* @__PURE__ */ __name((id) => {\n const { securityLevel } = getConfig();\n let root = select(\"body\");\n if (securityLevel === \"sandbox\") {\n const sandboxElement = select(`#i${id}`);\n const doc = sandboxElement.node()?.contentDocument ?? document;\n root = select(doc.body);\n }\n const svg = root.select(`#${id}`);\n return svg;\n}, \"selectSvgElement\");\n\nexport {\n selectSvgElement\n};\n", + "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n", + "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n", + "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", + "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, token, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tif ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters) && substr(characters, -1, void 0) !== ' ') characters += ' '\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length || (variable === 0 && previous === 47)))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// c(ontainer)\n\t\t\t\t\t\t\t\t\tcase 99:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 3) === 110) break\n\t\t\t\t\t\t\t\t\t// l(ayer)\n\t\t\t\t\t\t\t\t\tcase 108:\n\t\t\t\t\t\t\t\t\t\tif (charat(characters, 2) === 97) break\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\toffset = 0\n\t\t\t\t\t\t\t\t\t// d(ocument) m(edia) s(upports)\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (offset) parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\telse parse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n", + "import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES, NAMESPACE} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case NAMESPACE: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", + "import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n", + "import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n", + "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n", + "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n", + "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n", + "import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n", + "import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n", + "import baseKeys from './_baseKeys.js';\nimport getTag from './_getTag.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLike from './isArrayLike.js';\nimport isBuffer from './isBuffer.js';\nimport isPrototype from './_isPrototype.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n", + "import {\n JSON_SCHEMA,\n load\n} from \"./chunks/mermaid.core/chunk-6JRP7KZX.mjs\";\nimport {\n registerLayoutLoaders\n} from \"./chunks/mermaid.core/chunk-TYCBKAJE.mjs\";\nimport \"./chunks/mermaid.core/chunk-IIMUDSI4.mjs\";\nimport \"./chunks/mermaid.core/chunk-VV3M67IP.mjs\";\nimport \"./chunks/mermaid.core/chunk-HRU6DDCH.mjs\";\nimport \"./chunks/mermaid.core/chunk-K557N5IZ.mjs\";\nimport {\n registerIconPacks\n} from \"./chunks/mermaid.core/chunk-H2D2JQ3I.mjs\";\nimport \"./chunks/mermaid.core/chunk-C3MQ5ANM.mjs\";\nimport {\n cleanAndMerge,\n decodeEntities,\n encodeEntities,\n isDetailedError,\n removeDirectives,\n utils_default\n} from \"./chunks/mermaid.core/chunk-O4NI6UNU.mjs\";\nimport {\n package_default\n} from \"./chunks/mermaid.core/chunk-5NNNAHNI.mjs\";\nimport {\n selectSvgElement\n} from \"./chunks/mermaid.core/chunk-7B677QYD.mjs\";\nimport {\n UnknownDiagramError,\n __name,\n addDirective,\n assignWithDepth_default,\n configureSvgSize,\n defaultConfig,\n detectType,\n detectors,\n evaluate,\n frontMatterRegex,\n getConfig,\n getDiagram,\n getDiagramLoader,\n getSiteConfig,\n log,\n registerDiagram,\n registerLazyLoadedDiagrams,\n reset,\n saveConfigFromInitialize,\n setConfig,\n setLogLevel,\n setSiteConfig,\n styles_default,\n themes_default,\n updateSiteConfig\n} from \"./chunks/mermaid.core/chunk-YTJNT7DU.mjs\";\n\n// src/mermaid.ts\nimport { dedent } from \"ts-dedent\";\n\n// src/diagrams/c4/c4Detector.ts\nvar id = \"c4\";\nvar detector = /* @__PURE__ */ __name((txt) => {\n return /^\\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);\n}, \"detector\");\nvar loader = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/c4Diagram-VJAJSXHY.mjs\");\n return { id, diagram: diagram2 };\n}, \"loader\");\nvar plugin = {\n id,\n detector,\n loader\n};\nvar c4Detector_default = plugin;\n\n// src/diagrams/flowchart/flowDetector.ts\nvar id2 = \"flowchart\";\nvar detector2 = /* @__PURE__ */ __name((txt, config) => {\n if (config?.flowchart?.defaultRenderer === \"dagre-wrapper\" || config?.flowchart?.defaultRenderer === \"elk\") {\n return false;\n }\n return /^\\s*graph/.test(txt);\n}, \"detector\");\nvar loader2 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/flowDiagram-4HSFHLVR.mjs\");\n return { id: id2, diagram: diagram2 };\n}, \"loader\");\nvar plugin2 = {\n id: id2,\n detector: detector2,\n loader: loader2\n};\nvar flowDetector_default = plugin2;\n\n// src/diagrams/flowchart/flowDetector-v2.ts\nvar id3 = \"flowchart-v2\";\nvar detector3 = /* @__PURE__ */ __name((txt, config) => {\n if (config?.flowchart?.defaultRenderer === \"dagre-d3\") {\n return false;\n }\n if (config?.flowchart?.defaultRenderer === \"elk\") {\n config.layout = \"elk\";\n }\n if (/^\\s*graph/.test(txt) && config?.flowchart?.defaultRenderer === \"dagre-wrapper\") {\n return true;\n }\n return /^\\s*flowchart/.test(txt);\n}, \"detector\");\nvar loader3 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/flowDiagram-4HSFHLVR.mjs\");\n return { id: id3, diagram: diagram2 };\n}, \"loader\");\nvar plugin3 = {\n id: id3,\n detector: detector3,\n loader: loader3\n};\nvar flowDetector_v2_default = plugin3;\n\n// src/diagrams/er/erDetector.ts\nvar id4 = \"er\";\nvar detector4 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*erDiagram/.test(txt);\n}, \"detector\");\nvar loader4 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/erDiagram-Q7BY3M3F.mjs\");\n return { id: id4, diagram: diagram2 };\n}, \"loader\");\nvar plugin4 = {\n id: id4,\n detector: detector4,\n loader: loader4\n};\nvar erDetector_default = plugin4;\n\n// src/diagrams/git/gitGraphDetector.ts\nvar id5 = \"gitGraph\";\nvar detector5 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*gitGraph/.test(txt);\n}, \"detector\");\nvar loader5 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/gitGraphDiagram-7IBYFJ6S.mjs\");\n return { id: id5, diagram: diagram2 };\n}, \"loader\");\nvar plugin5 = {\n id: id5,\n detector: detector5,\n loader: loader5\n};\nvar gitGraphDetector_default = plugin5;\n\n// src/diagrams/gantt/ganttDetector.ts\nvar id6 = \"gantt\";\nvar detector6 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*gantt/.test(txt);\n}, \"detector\");\nvar loader6 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/ganttDiagram-APWFNJXF.mjs\");\n return { id: id6, diagram: diagram2 };\n}, \"loader\");\nvar plugin6 = {\n id: id6,\n detector: detector6,\n loader: loader6\n};\nvar ganttDetector_default = plugin6;\n\n// src/diagrams/info/infoDetector.ts\nvar id7 = \"info\";\nvar detector7 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*info/.test(txt);\n}, \"detector\");\nvar loader7 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/infoDiagram-PH2N3AL5.mjs\");\n return { id: id7, diagram: diagram2 };\n}, \"loader\");\nvar info = {\n id: id7,\n detector: detector7,\n loader: loader7\n};\n\n// src/diagrams/pie/pieDetector.ts\nvar id8 = \"pie\";\nvar detector8 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*pie/.test(txt);\n}, \"detector\");\nvar loader8 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/pieDiagram-IB7DONF6.mjs\");\n return { id: id8, diagram: diagram2 };\n}, \"loader\");\nvar pie = {\n id: id8,\n detector: detector8,\n loader: loader8\n};\n\n// src/diagrams/quadrant-chart/quadrantDetector.ts\nvar id9 = \"quadrantChart\";\nvar detector9 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*quadrantChart/.test(txt);\n}, \"detector\");\nvar loader9 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/quadrantDiagram-7GDLP6J5.mjs\");\n return { id: id9, diagram: diagram2 };\n}, \"loader\");\nvar plugin7 = {\n id: id9,\n detector: detector9,\n loader: loader9\n};\nvar quadrantDetector_default = plugin7;\n\n// src/diagrams/xychart/xychartDetector.ts\nvar id10 = \"xychart\";\nvar detector10 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*xychart-beta/.test(txt);\n}, \"detector\");\nvar loader10 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/xychartDiagram-VJFVF3MP.mjs\");\n return { id: id10, diagram: diagram2 };\n}, \"loader\");\nvar plugin8 = {\n id: id10,\n detector: detector10,\n loader: loader10\n};\nvar xychartDetector_default = plugin8;\n\n// src/diagrams/requirement/requirementDetector.ts\nvar id11 = \"requirement\";\nvar detector11 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*requirement(Diagram)?/.test(txt);\n}, \"detector\");\nvar loader11 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/requirementDiagram-KVF5MWMF.mjs\");\n return { id: id11, diagram: diagram2 };\n}, \"loader\");\nvar plugin9 = {\n id: id11,\n detector: detector11,\n loader: loader11\n};\nvar requirementDetector_default = plugin9;\n\n// src/diagrams/sequence/sequenceDetector.ts\nvar id12 = \"sequence\";\nvar detector12 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*sequenceDiagram/.test(txt);\n}, \"detector\");\nvar loader12 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/sequenceDiagram-X6HHIX6F.mjs\");\n return { id: id12, diagram: diagram2 };\n}, \"loader\");\nvar plugin10 = {\n id: id12,\n detector: detector12,\n loader: loader12\n};\nvar sequenceDetector_default = plugin10;\n\n// src/diagrams/class/classDetector.ts\nvar id13 = \"class\";\nvar detector13 = /* @__PURE__ */ __name((txt, config) => {\n if (config?.class?.defaultRenderer === \"dagre-wrapper\") {\n return false;\n }\n return /^\\s*classDiagram/.test(txt);\n}, \"detector\");\nvar loader13 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/classDiagram-GIVACNV2.mjs\");\n return { id: id13, diagram: diagram2 };\n}, \"loader\");\nvar plugin11 = {\n id: id13,\n detector: detector13,\n loader: loader13\n};\nvar classDetector_default = plugin11;\n\n// src/diagrams/class/classDetector-V2.ts\nvar id14 = \"classDiagram\";\nvar detector14 = /* @__PURE__ */ __name((txt, config) => {\n if (/^\\s*classDiagram/.test(txt) && config?.class?.defaultRenderer === \"dagre-wrapper\") {\n return true;\n }\n return /^\\s*classDiagram-v2/.test(txt);\n}, \"detector\");\nvar loader14 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/classDiagram-v2-COTLJTTW.mjs\");\n return { id: id14, diagram: diagram2 };\n}, \"loader\");\nvar plugin12 = {\n id: id14,\n detector: detector14,\n loader: loader14\n};\nvar classDetector_V2_default = plugin12;\n\n// src/diagrams/state/stateDetector.ts\nvar id15 = \"state\";\nvar detector15 = /* @__PURE__ */ __name((txt, config) => {\n if (config?.state?.defaultRenderer === \"dagre-wrapper\") {\n return false;\n }\n return /^\\s*stateDiagram/.test(txt);\n}, \"detector\");\nvar loader15 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/stateDiagram-DGXRK772.mjs\");\n return { id: id15, diagram: diagram2 };\n}, \"loader\");\nvar plugin13 = {\n id: id15,\n detector: detector15,\n loader: loader15\n};\nvar stateDetector_default = plugin13;\n\n// src/diagrams/state/stateDetector-V2.ts\nvar id16 = \"stateDiagram\";\nvar detector16 = /* @__PURE__ */ __name((txt, config) => {\n if (/^\\s*stateDiagram-v2/.test(txt)) {\n return true;\n }\n if (/^\\s*stateDiagram/.test(txt) && config?.state?.defaultRenderer === \"dagre-wrapper\") {\n return true;\n }\n return false;\n}, \"detector\");\nvar loader16 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/stateDiagram-v2-YXO3MK2T.mjs\");\n return { id: id16, diagram: diagram2 };\n}, \"loader\");\nvar plugin14 = {\n id: id16,\n detector: detector16,\n loader: loader16\n};\nvar stateDetector_V2_default = plugin14;\n\n// src/diagrams/user-journey/journeyDetector.ts\nvar id17 = \"journey\";\nvar detector17 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*journey/.test(txt);\n}, \"detector\");\nvar loader17 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/journeyDiagram-U35MCT3I.mjs\");\n return { id: id17, diagram: diagram2 };\n}, \"loader\");\nvar plugin15 = {\n id: id17,\n detector: detector17,\n loader: loader17\n};\nvar journeyDetector_default = plugin15;\n\n// src/diagrams/error/errorRenderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id27, version) => {\n log.debug(\"rendering svg for syntax error\\n\");\n const svg = selectSvgElement(id27);\n const g = svg.append(\"g\");\n svg.attr(\"viewBox\", \"0 0 2412 512\");\n configureSvgSize(svg, 100, 512, true);\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z\"\n );\n g.append(\"path\").attr(\"class\", \"error-icon\").attr(\n \"d\",\n \"m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z\"\n );\n g.append(\"text\").attr(\"class\", \"error-text\").attr(\"x\", 1440).attr(\"y\", 250).attr(\"font-size\", \"150px\").style(\"text-anchor\", \"middle\").text(\"Syntax error in text\");\n g.append(\"text\").attr(\"class\", \"error-text\").attr(\"x\", 1250).attr(\"y\", 400).attr(\"font-size\", \"100px\").style(\"text-anchor\", \"middle\").text(`mermaid version ${version}`);\n}, \"draw\");\nvar renderer = { draw };\nvar errorRenderer_default = renderer;\n\n// src/diagrams/error/errorDiagram.ts\nvar diagram = {\n db: {},\n renderer,\n parser: {\n parse: /* @__PURE__ */ __name(() => {\n return;\n }, \"parse\")\n }\n};\nvar errorDiagram_default = diagram;\n\n// src/diagrams/flowchart/elk/detector.ts\nvar id18 = \"flowchart-elk\";\nvar detector18 = /* @__PURE__ */ __name((txt, config = {}) => {\n if (\n // If diagram explicitly states flowchart-elk\n /^\\s*flowchart-elk/.test(txt) || // If a flowchart/graph diagram has their default renderer set to elk\n /^\\s*flowchart|graph/.test(txt) && config?.flowchart?.defaultRenderer === \"elk\"\n ) {\n config.layout = \"elk\";\n return true;\n }\n return false;\n}, \"detector\");\nvar loader18 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/flowDiagram-4HSFHLVR.mjs\");\n return { id: id18, diagram: diagram2 };\n}, \"loader\");\nvar plugin16 = {\n id: id18,\n detector: detector18,\n loader: loader18\n};\nvar detector_default = plugin16;\n\n// src/diagrams/timeline/detector.ts\nvar id19 = \"timeline\";\nvar detector19 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*timeline/.test(txt);\n}, \"detector\");\nvar loader19 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/timeline-definition-BDJGKUSR.mjs\");\n return { id: id19, diagram: diagram2 };\n}, \"loader\");\nvar plugin17 = {\n id: id19,\n detector: detector19,\n loader: loader19\n};\nvar detector_default2 = plugin17;\n\n// src/diagrams/mindmap/detector.ts\nvar id20 = \"mindmap\";\nvar detector20 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*mindmap/.test(txt);\n}, \"detector\");\nvar loader20 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/mindmap-definition-ALO5MXBD.mjs\");\n return { id: id20, diagram: diagram2 };\n}, \"loader\");\nvar plugin18 = {\n id: id20,\n detector: detector20,\n loader: loader20\n};\nvar detector_default3 = plugin18;\n\n// src/diagrams/kanban/detector.ts\nvar id21 = \"kanban\";\nvar detector21 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*kanban/.test(txt);\n}, \"detector\");\nvar loader21 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/kanban-definition-NDS4AKOZ.mjs\");\n return { id: id21, diagram: diagram2 };\n}, \"loader\");\nvar plugin19 = {\n id: id21,\n detector: detector21,\n loader: loader21\n};\nvar detector_default4 = plugin19;\n\n// src/diagrams/sankey/sankeyDetector.ts\nvar id22 = \"sankey\";\nvar detector22 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*sankey-beta/.test(txt);\n}, \"detector\");\nvar loader22 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/sankeyDiagram-QLVOVGJD.mjs\");\n return { id: id22, diagram: diagram2 };\n}, \"loader\");\nvar plugin20 = {\n id: id22,\n detector: detector22,\n loader: loader22\n};\nvar sankeyDetector_default = plugin20;\n\n// src/diagrams/packet/detector.ts\nvar id23 = \"packet\";\nvar detector23 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*packet-beta/.test(txt);\n}, \"detector\");\nvar loader23 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/diagram-VNBRO52H.mjs\");\n return { id: id23, diagram: diagram2 };\n}, \"loader\");\nvar packet = {\n id: id23,\n detector: detector23,\n loader: loader23\n};\n\n// src/diagrams/radar/detector.ts\nvar id24 = \"radar\";\nvar detector24 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*radar-beta/.test(txt);\n}, \"detector\");\nvar loader24 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/diagram-SSKATNLV.mjs\");\n return { id: id24, diagram: diagram2 };\n}, \"loader\");\nvar radar = {\n id: id24,\n detector: detector24,\n loader: loader24\n};\n\n// src/diagrams/block/blockDetector.ts\nvar id25 = \"block\";\nvar detector25 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*block-beta/.test(txt);\n}, \"detector\");\nvar loader25 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/blockDiagram-JOT3LUYC.mjs\");\n return { id: id25, diagram: diagram2 };\n}, \"loader\");\nvar plugin21 = {\n id: id25,\n detector: detector25,\n loader: loader25\n};\nvar blockDetector_default = plugin21;\n\n// src/diagrams/architecture/architectureDetector.ts\nvar id26 = \"architecture\";\nvar detector26 = /* @__PURE__ */ __name((txt) => {\n return /^\\s*architecture/.test(txt);\n}, \"detector\");\nvar loader26 = /* @__PURE__ */ __name(async () => {\n const { diagram: diagram2 } = await import(\"./chunks/mermaid.core/architectureDiagram-IEHRJDOE.mjs\");\n return { id: id26, diagram: diagram2 };\n}, \"loader\");\nvar architecture = {\n id: id26,\n detector: detector26,\n loader: loader26\n};\nvar architectureDetector_default = architecture;\n\n// src/diagram-api/diagram-orchestration.ts\nvar hasLoadedDiagrams = false;\nvar addDiagrams = /* @__PURE__ */ __name(() => {\n if (hasLoadedDiagrams) {\n return;\n }\n hasLoadedDiagrams = true;\n registerDiagram(\"error\", errorDiagram_default, (text) => {\n return text.toLowerCase().trim() === \"error\";\n });\n registerDiagram(\n \"---\",\n // --- diagram type may appear if YAML front-matter is not parsed correctly\n {\n db: {\n clear: /* @__PURE__ */ __name(() => {\n }, \"clear\")\n },\n styles: {},\n // should never be used\n renderer: {\n draw: /* @__PURE__ */ __name(() => {\n }, \"draw\")\n },\n parser: {\n parse: /* @__PURE__ */ __name(() => {\n throw new Error(\n \"Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks\"\n );\n }, \"parse\")\n },\n init: /* @__PURE__ */ __name(() => null, \"init\")\n // no op\n },\n (text) => {\n return text.toLowerCase().trimStart().startsWith(\"---\");\n }\n );\n registerLazyLoadedDiagrams(\n c4Detector_default,\n detector_default4,\n classDetector_V2_default,\n classDetector_default,\n erDetector_default,\n ganttDetector_default,\n info,\n pie,\n requirementDetector_default,\n sequenceDetector_default,\n detector_default,\n flowDetector_v2_default,\n flowDetector_default,\n detector_default3,\n detector_default2,\n gitGraphDetector_default,\n stateDetector_V2_default,\n stateDetector_default,\n journeyDetector_default,\n quadrantDetector_default,\n sankeyDetector_default,\n packet,\n xychartDetector_default,\n blockDetector_default,\n architectureDetector_default,\n radar\n );\n}, \"addDiagrams\");\n\n// src/diagram-api/loadDiagram.ts\nvar loadRegisteredDiagrams = /* @__PURE__ */ __name(async () => {\n log.debug(`Loading registered diagrams`);\n const results = await Promise.allSettled(\n Object.entries(detectors).map(async ([key, { detector: detector27, loader: loader27 }]) => {\n if (loader27) {\n try {\n getDiagram(key);\n } catch {\n try {\n const { diagram: diagram2, id: id27 } = await loader27();\n registerDiagram(id27, diagram2, detector27);\n } catch (err) {\n log.error(`Failed to load external diagram with key ${key}. Removing from detectors.`);\n delete detectors[key];\n throw err;\n }\n }\n }\n })\n );\n const failed = results.filter((result) => result.status === \"rejected\");\n if (failed.length > 0) {\n log.error(`Failed to load ${failed.length} external diagrams`);\n for (const res of failed) {\n log.error(res);\n }\n throw new Error(`Failed to load ${failed.length} external diagrams`);\n }\n}, \"loadRegisteredDiagrams\");\n\n// src/mermaidAPI.ts\nimport { select } from \"d3\";\nimport { compile, serialize, stringify } from \"stylis\";\nimport DOMPurify from \"dompurify\";\nimport isEmpty from \"lodash-es/isEmpty.js\";\n\n// src/accessibility.ts\nvar SVG_ROLE = \"graphics-document document\";\nfunction setA11yDiagramInfo(svg, diagramType) {\n svg.attr(\"role\", SVG_ROLE);\n if (diagramType !== \"\") {\n svg.attr(\"aria-roledescription\", diagramType);\n }\n}\n__name(setA11yDiagramInfo, \"setA11yDiagramInfo\");\nfunction addSVGa11yTitleDescription(svg, a11yTitle, a11yDesc, baseId) {\n if (svg.insert === void 0) {\n return;\n }\n if (a11yDesc) {\n const descId = `chart-desc-${baseId}`;\n svg.attr(\"aria-describedby\", descId);\n svg.insert(\"desc\", \":first-child\").attr(\"id\", descId).text(a11yDesc);\n }\n if (a11yTitle) {\n const titleId = `chart-title-${baseId}`;\n svg.attr(\"aria-labelledby\", titleId);\n svg.insert(\"title\", \":first-child\").attr(\"id\", titleId).text(a11yTitle);\n }\n}\n__name(addSVGa11yTitleDescription, \"addSVGa11yTitleDescription\");\n\n// src/Diagram.ts\nvar Diagram = class _Diagram {\n constructor(type, text, db, parser, renderer2) {\n this.type = type;\n this.text = text;\n this.db = db;\n this.parser = parser;\n this.renderer = renderer2;\n }\n static {\n __name(this, \"Diagram\");\n }\n static async fromText(text, metadata = {}) {\n const config = getConfig();\n const type = detectType(text, config);\n text = encodeEntities(text) + \"\\n\";\n try {\n getDiagram(type);\n } catch {\n const loader27 = getDiagramLoader(type);\n if (!loader27) {\n throw new UnknownDiagramError(`Diagram ${type} not found.`);\n }\n const { id: id27, diagram: diagram2 } = await loader27();\n registerDiagram(id27, diagram2);\n }\n const { db, parser, renderer: renderer2, init: init2 } = getDiagram(type);\n if (parser.parser) {\n parser.parser.yy = db;\n }\n db.clear?.();\n init2?.(config);\n if (metadata.title) {\n db.setDiagramTitle?.(metadata.title);\n }\n await parser.parse(text);\n return new _Diagram(type, text, db, parser, renderer2);\n }\n async render(id27, version) {\n await this.renderer.draw(this.text, id27, version, this);\n }\n getParser() {\n return this.parser;\n }\n getType() {\n return this.type;\n }\n};\n\n// src/interactionDb.ts\nvar interactionFunctions = [];\nvar attachFunctions = /* @__PURE__ */ __name(() => {\n interactionFunctions.forEach((f) => {\n f();\n });\n interactionFunctions = [];\n}, \"attachFunctions\");\n\n// src/diagram-api/comments.ts\nvar cleanupComments = /* @__PURE__ */ __name((text) => {\n return text.replace(/^\\s*%%(?!{)[^\\n]+\\n?/gm, \"\").trimStart();\n}, \"cleanupComments\");\n\n// src/diagram-api/frontmatter.ts\nfunction extractFrontMatter(text) {\n const matches = text.match(frontMatterRegex);\n if (!matches) {\n return {\n text,\n metadata: {}\n };\n }\n let parsed = load(matches[1], {\n // To support config, we need JSON schema.\n // https://www.yaml.org/spec/1.2/spec.html#id2803231\n schema: JSON_SCHEMA\n }) ?? {};\n parsed = typeof parsed === \"object\" && !Array.isArray(parsed) ? parsed : {};\n const metadata = {};\n if (parsed.displayMode) {\n metadata.displayMode = parsed.displayMode.toString();\n }\n if (parsed.title) {\n metadata.title = parsed.title.toString();\n }\n if (parsed.config) {\n metadata.config = parsed.config;\n }\n return {\n text: text.slice(matches[0].length),\n metadata\n };\n}\n__name(extractFrontMatter, \"extractFrontMatter\");\n\n// src/preprocess.ts\nvar cleanupText = /* @__PURE__ */ __name((code) => {\n return code.replace(/\\r\\n?/g, \"\\n\").replace(\n /<(\\w+)([^>]*)>/g,\n (match, tag, attributes) => \"<\" + tag + attributes.replace(/=\"([^\"]*)\"/g, \"='$1'\") + \">\"\n );\n}, \"cleanupText\");\nvar processFrontmatter = /* @__PURE__ */ __name((code) => {\n const { text, metadata } = extractFrontMatter(code);\n const { displayMode, title, config = {} } = metadata;\n if (displayMode) {\n if (!config.gantt) {\n config.gantt = {};\n }\n config.gantt.displayMode = displayMode;\n }\n return { title, config, text };\n}, \"processFrontmatter\");\nvar processDirectives = /* @__PURE__ */ __name((code) => {\n const initDirective = utils_default.detectInit(code) ?? {};\n const wrapDirectives = utils_default.detectDirective(code, \"wrap\");\n if (Array.isArray(wrapDirectives)) {\n initDirective.wrap = wrapDirectives.some(({ type }) => type === \"wrap\");\n } else if (wrapDirectives?.type === \"wrap\") {\n initDirective.wrap = true;\n }\n return {\n text: removeDirectives(code),\n directive: initDirective\n };\n}, \"processDirectives\");\nfunction preprocessDiagram(code) {\n const cleanedCode = cleanupText(code);\n const frontMatterResult = processFrontmatter(cleanedCode);\n const directiveResult = processDirectives(frontMatterResult.text);\n const config = cleanAndMerge(frontMatterResult.config, directiveResult.directive);\n code = cleanupComments(directiveResult.text);\n return {\n code,\n title: frontMatterResult.title,\n config\n };\n}\n__name(preprocessDiagram, \"preprocessDiagram\");\n\n// src/utils/base64.ts\nfunction toBase64(str) {\n const utf8Bytes = new TextEncoder().encode(str);\n const utf8Str = Array.from(utf8Bytes, (byte) => String.fromCodePoint(byte)).join(\"\");\n return btoa(utf8Str);\n}\n__name(toBase64, \"toBase64\");\n\n// src/mermaidAPI.ts\nvar MAX_TEXTLENGTH = 5e4;\nvar MAX_TEXTLENGTH_EXCEEDED_MSG = \"graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa\";\nvar SECURITY_LVL_SANDBOX = \"sandbox\";\nvar SECURITY_LVL_LOOSE = \"loose\";\nvar XMLNS_SVG_STD = \"http://www.w3.org/2000/svg\";\nvar XMLNS_XLINK_STD = \"http://www.w3.org/1999/xlink\";\nvar XMLNS_XHTML_STD = \"http://www.w3.org/1999/xhtml\";\nvar IFRAME_WIDTH = \"100%\";\nvar IFRAME_HEIGHT = \"100%\";\nvar IFRAME_STYLES = \"border:0;margin:0;\";\nvar IFRAME_BODY_STYLE = \"margin:0\";\nvar IFRAME_SANDBOX_OPTS = \"allow-top-navigation-by-user-activation allow-popups\";\nvar IFRAME_NOT_SUPPORTED_MSG = 'The \"iframe\" tag is not supported by your browser.';\nvar DOMPURIFY_TAGS = [\"foreignobject\"];\nvar DOMPURIFY_ATTR = [\"dominant-baseline\"];\nfunction processAndSetConfigs(text) {\n const processed = preprocessDiagram(text);\n reset();\n addDirective(processed.config ?? {});\n return processed;\n}\n__name(processAndSetConfigs, \"processAndSetConfigs\");\nasync function parse(text, parseOptions) {\n addDiagrams();\n try {\n const { code, config } = processAndSetConfigs(text);\n const diagram2 = await getDiagramFromText(code);\n return { diagramType: diagram2.type, config };\n } catch (error) {\n if (parseOptions?.suppressErrors) {\n return false;\n }\n throw error;\n }\n}\n__name(parse, \"parse\");\nvar cssImportantStyles = /* @__PURE__ */ __name((cssClass, element, cssClasses = []) => {\n return `\n.${cssClass} ${element} { ${cssClasses.join(\" !important; \")} !important; }`;\n}, \"cssImportantStyles\");\nvar createCssStyles = /* @__PURE__ */ __name((config, classDefs = /* @__PURE__ */ new Map()) => {\n let cssStyles = \"\";\n if (config.themeCSS !== void 0) {\n cssStyles += `\n${config.themeCSS}`;\n }\n if (config.fontFamily !== void 0) {\n cssStyles += `\n:root { --mermaid-font-family: ${config.fontFamily}}`;\n }\n if (config.altFontFamily !== void 0) {\n cssStyles += `\n:root { --mermaid-alt-font-family: ${config.altFontFamily}}`;\n }\n if (classDefs instanceof Map) {\n const htmlLabels = config.htmlLabels ?? config.flowchart?.htmlLabels;\n const cssHtmlElements = [\"> *\", \"span\"];\n const cssShapeElements = [\"rect\", \"polygon\", \"ellipse\", \"circle\", \"path\"];\n const cssElements = htmlLabels ? cssHtmlElements : cssShapeElements;\n classDefs.forEach((styleClassDef) => {\n if (!isEmpty(styleClassDef.styles)) {\n cssElements.forEach((cssElement) => {\n cssStyles += cssImportantStyles(styleClassDef.id, cssElement, styleClassDef.styles);\n });\n }\n if (!isEmpty(styleClassDef.textStyles)) {\n cssStyles += cssImportantStyles(\n styleClassDef.id,\n \"tspan\",\n (styleClassDef?.textStyles || []).map((s) => s.replace(\"color\", \"fill\"))\n );\n }\n });\n }\n return cssStyles;\n}, \"createCssStyles\");\nvar createUserStyles = /* @__PURE__ */ __name((config, graphType, classDefs, svgId) => {\n const userCSSstyles = createCssStyles(config, classDefs);\n const allStyles = styles_default(graphType, userCSSstyles, config.themeVariables);\n return serialize(compile(`${svgId}{${allStyles}}`), stringify);\n}, \"createUserStyles\");\nvar cleanUpSvgCode = /* @__PURE__ */ __name((svgCode = \"\", inSandboxMode, useArrowMarkerUrls) => {\n let cleanedUpSvg = svgCode;\n if (!useArrowMarkerUrls && !inSandboxMode) {\n cleanedUpSvg = cleanedUpSvg.replace(\n /marker-end=\"url\\([\\d+./:=?A-Za-z-]*?#/g,\n 'marker-end=\"url(#'\n );\n }\n cleanedUpSvg = decodeEntities(cleanedUpSvg);\n cleanedUpSvg = cleanedUpSvg.replace(/<br>/g, \"<br/>\");\n return cleanedUpSvg;\n}, \"cleanUpSvgCode\");\nvar putIntoIFrame = /* @__PURE__ */ __name((svgCode = \"\", svgElement) => {\n const height = svgElement?.viewBox?.baseVal?.height ? svgElement.viewBox.baseVal.height + \"px\" : IFRAME_HEIGHT;\n const base64encodedSrc = toBase64(`<body style=\"${IFRAME_BODY_STYLE}\">${svgCode}</body>`);\n return `<iframe style=\"width:${IFRAME_WIDTH};height:${height};${IFRAME_STYLES}\" src=\"data:text/html;charset=UTF-8;base64,${base64encodedSrc}\" sandbox=\"${IFRAME_SANDBOX_OPTS}\">\n ${IFRAME_NOT_SUPPORTED_MSG}\n</iframe>`;\n}, \"putIntoIFrame\");\nvar appendDivSvgG = /* @__PURE__ */ __name((parentRoot, id27, enclosingDivId, divStyle, svgXlink) => {\n const enclosingDiv = parentRoot.append(\"div\");\n enclosingDiv.attr(\"id\", enclosingDivId);\n if (divStyle) {\n enclosingDiv.attr(\"style\", divStyle);\n }\n const svgNode = enclosingDiv.append(\"svg\").attr(\"id\", id27).attr(\"width\", \"100%\").attr(\"xmlns\", XMLNS_SVG_STD);\n if (svgXlink) {\n svgNode.attr(\"xmlns:xlink\", svgXlink);\n }\n svgNode.append(\"g\");\n return parentRoot;\n}, \"appendDivSvgG\");\nfunction sandboxedIframe(parentNode, iFrameId) {\n return parentNode.append(\"iframe\").attr(\"id\", iFrameId).attr(\"style\", \"width: 100%; height: 100%;\").attr(\"sandbox\", \"\");\n}\n__name(sandboxedIframe, \"sandboxedIframe\");\nvar removeExistingElements = /* @__PURE__ */ __name((doc, id27, divId, iFrameId) => {\n doc.getElementById(id27)?.remove();\n doc.getElementById(divId)?.remove();\n doc.getElementById(iFrameId)?.remove();\n}, \"removeExistingElements\");\nvar render = /* @__PURE__ */ __name(async function(id27, text, svgContainingElement) {\n addDiagrams();\n const processed = processAndSetConfigs(text);\n text = processed.code;\n const config = getConfig();\n log.debug(config);\n if (text.length > (config?.maxTextSize ?? MAX_TEXTLENGTH)) {\n text = MAX_TEXTLENGTH_EXCEEDED_MSG;\n }\n const idSelector = \"#\" + id27;\n const iFrameID = \"i\" + id27;\n const iFrameID_selector = \"#\" + iFrameID;\n const enclosingDivID = \"d\" + id27;\n const enclosingDivID_selector = \"#\" + enclosingDivID;\n const removeTempElements = /* @__PURE__ */ __name(() => {\n const tmpElementSelector = isSandboxed ? iFrameID_selector : enclosingDivID_selector;\n const node = select(tmpElementSelector).node();\n if (node && \"remove\" in node) {\n node.remove();\n }\n }, \"removeTempElements\");\n let root = select(\"body\");\n const isSandboxed = config.securityLevel === SECURITY_LVL_SANDBOX;\n const isLooseSecurityLevel = config.securityLevel === SECURITY_LVL_LOOSE;\n const fontFamily = config.fontFamily;\n if (svgContainingElement !== void 0) {\n if (svgContainingElement) {\n svgContainingElement.innerHTML = \"\";\n }\n if (isSandboxed) {\n const iframe = sandboxedIframe(select(svgContainingElement), iFrameID);\n root = select(iframe.nodes()[0].contentDocument.body);\n root.node().style.margin = 0;\n } else {\n root = select(svgContainingElement);\n }\n appendDivSvgG(root, id27, enclosingDivID, `font-family: ${fontFamily}`, XMLNS_XLINK_STD);\n } else {\n removeExistingElements(document, id27, enclosingDivID, iFrameID);\n if (isSandboxed) {\n const iframe = sandboxedIframe(select(\"body\"), iFrameID);\n root = select(iframe.nodes()[0].contentDocument.body);\n root.node().style.margin = 0;\n } else {\n root = select(\"body\");\n }\n appendDivSvgG(root, id27, enclosingDivID);\n }\n let diag;\n let parseEncounteredException;\n try {\n diag = await Diagram.fromText(text, { title: processed.title });\n } catch (error) {\n if (config.suppressErrorRendering) {\n removeTempElements();\n throw error;\n }\n diag = await Diagram.fromText(\"error\");\n parseEncounteredException = error;\n }\n const element = root.select(enclosingDivID_selector).node();\n const diagramType = diag.type;\n const svg = element.firstChild;\n const firstChild = svg.firstChild;\n const diagramClassDefs = diag.renderer.getClasses?.(text, diag);\n const rules = createUserStyles(config, diagramType, diagramClassDefs, idSelector);\n const style1 = document.createElement(\"style\");\n style1.innerHTML = rules;\n svg.insertBefore(style1, firstChild);\n try {\n await diag.renderer.draw(text, id27, package_default.version, diag);\n } catch (e) {\n if (config.suppressErrorRendering) {\n removeTempElements();\n } else {\n errorRenderer_default.draw(text, id27, package_default.version);\n }\n throw e;\n }\n const svgNode = root.select(`${enclosingDivID_selector} svg`);\n const a11yTitle = diag.db.getAccTitle?.();\n const a11yDescr = diag.db.getAccDescription?.();\n addA11yInfo(diagramType, svgNode, a11yTitle, a11yDescr);\n root.select(`[id=\"${id27}\"]`).selectAll(\"foreignobject > *\").attr(\"xmlns\", XMLNS_XHTML_STD);\n let svgCode = root.select(enclosingDivID_selector).node().innerHTML;\n log.debug(\"config.arrowMarkerAbsolute\", config.arrowMarkerAbsolute);\n svgCode = cleanUpSvgCode(svgCode, isSandboxed, evaluate(config.arrowMarkerAbsolute));\n if (isSandboxed) {\n const svgEl = root.select(enclosingDivID_selector + \" svg\").node();\n svgCode = putIntoIFrame(svgCode, svgEl);\n } else if (!isLooseSecurityLevel) {\n svgCode = DOMPurify.sanitize(svgCode, {\n ADD_TAGS: DOMPURIFY_TAGS,\n ADD_ATTR: DOMPURIFY_ATTR,\n HTML_INTEGRATION_POINTS: { foreignobject: true }\n });\n }\n attachFunctions();\n if (parseEncounteredException) {\n throw parseEncounteredException;\n }\n removeTempElements();\n return {\n diagramType,\n svg: svgCode,\n bindFunctions: diag.db.bindFunctions\n };\n}, \"render\");\nfunction initialize(userOptions = {}) {\n const options = assignWithDepth_default({}, userOptions);\n if (options?.fontFamily && !options.themeVariables?.fontFamily) {\n if (!options.themeVariables) {\n options.themeVariables = {};\n }\n options.themeVariables.fontFamily = options.fontFamily;\n }\n saveConfigFromInitialize(options);\n if (options?.theme && options.theme in themes_default) {\n options.themeVariables = themes_default[options.theme].getThemeVariables(\n options.themeVariables\n );\n } else if (options) {\n options.themeVariables = themes_default.default.getThemeVariables(options.themeVariables);\n }\n const config = typeof options === \"object\" ? setSiteConfig(options) : getSiteConfig();\n setLogLevel(config.logLevel);\n addDiagrams();\n}\n__name(initialize, \"initialize\");\nvar getDiagramFromText = /* @__PURE__ */ __name((text, metadata = {}) => {\n const { code } = preprocessDiagram(text);\n return Diagram.fromText(code, metadata);\n}, \"getDiagramFromText\");\nfunction addA11yInfo(diagramType, svgNode, a11yTitle, a11yDescr) {\n setA11yDiagramInfo(svgNode, diagramType);\n addSVGa11yTitleDescription(svgNode, a11yTitle, a11yDescr, svgNode.attr(\"id\"));\n}\n__name(addA11yInfo, \"addA11yInfo\");\nvar mermaidAPI = Object.freeze({\n render,\n parse,\n getDiagramFromText,\n initialize,\n getConfig,\n setConfig,\n getSiteConfig,\n updateSiteConfig,\n reset: /* @__PURE__ */ __name(() => {\n reset();\n }, \"reset\"),\n globalReset: /* @__PURE__ */ __name(() => {\n reset(defaultConfig);\n }, \"globalReset\"),\n defaultConfig\n});\nsetLogLevel(getConfig().logLevel);\nreset(getConfig());\n\n// src/mermaid.ts\nvar handleError = /* @__PURE__ */ __name((error, errors, parseError) => {\n log.warn(error);\n if (isDetailedError(error)) {\n if (parseError) {\n parseError(error.str, error.hash);\n }\n errors.push({ ...error, message: error.str, error });\n } else {\n if (parseError) {\n parseError(error);\n }\n if (error instanceof Error) {\n errors.push({\n str: error.message,\n message: error.message,\n hash: error.name,\n error\n });\n }\n }\n}, \"handleError\");\nvar run = /* @__PURE__ */ __name(async function(options = {\n querySelector: \".mermaid\"\n}) {\n try {\n await runThrowsErrors(options);\n } catch (e) {\n if (isDetailedError(e)) {\n log.error(e.str);\n }\n if (mermaid.parseError) {\n mermaid.parseError(e);\n }\n if (!options.suppressErrors) {\n log.error(\"Use the suppressErrors option to suppress these errors\");\n throw e;\n }\n }\n}, \"run\");\nvar runThrowsErrors = /* @__PURE__ */ __name(async function({ postRenderCallback, querySelector, nodes } = {\n querySelector: \".mermaid\"\n}) {\n const conf = mermaidAPI.getConfig();\n log.debug(`${!postRenderCallback ? \"No \" : \"\"}Callback function found`);\n let nodesToProcess;\n if (nodes) {\n nodesToProcess = nodes;\n } else if (querySelector) {\n nodesToProcess = document.querySelectorAll(querySelector);\n } else {\n throw new Error(\"Nodes and querySelector are both undefined\");\n }\n log.debug(`Found ${nodesToProcess.length} diagrams`);\n if (conf?.startOnLoad !== void 0) {\n log.debug(\"Start On Load: \" + conf?.startOnLoad);\n mermaidAPI.updateSiteConfig({ startOnLoad: conf?.startOnLoad });\n }\n const idGenerator = new utils_default.InitIDGenerator(conf.deterministicIds, conf.deterministicIDSeed);\n let txt;\n const errors = [];\n for (const element of Array.from(nodesToProcess)) {\n log.info(\"Rendering diagram: \" + element.id);\n if (element.getAttribute(\"data-processed\")) {\n continue;\n }\n element.setAttribute(\"data-processed\", \"true\");\n const id27 = `mermaid-${idGenerator.next()}`;\n txt = element.innerHTML;\n txt = dedent(utils_default.entityDecode(txt)).trim().replace(/<br\\s*\\/?>/gi, \"<br/>\");\n const init2 = utils_default.detectInit(txt);\n if (init2) {\n log.debug(\"Detected early reinit: \", init2);\n }\n try {\n const { svg, bindFunctions } = await render2(id27, txt, element);\n element.innerHTML = svg;\n if (postRenderCallback) {\n await postRenderCallback(id27);\n }\n if (bindFunctions) {\n bindFunctions(element);\n }\n } catch (error) {\n handleError(error, errors, mermaid.parseError);\n }\n }\n if (errors.length > 0) {\n throw errors[0];\n }\n}, \"runThrowsErrors\");\nvar initialize2 = /* @__PURE__ */ __name(function(config) {\n mermaidAPI.initialize(config);\n}, \"initialize\");\nvar init = /* @__PURE__ */ __name(async function(config, nodes, callback) {\n log.warn(\"mermaid.init is deprecated. Please use run instead.\");\n if (config) {\n initialize2(config);\n }\n const runOptions = { postRenderCallback: callback, querySelector: \".mermaid\" };\n if (typeof nodes === \"string\") {\n runOptions.querySelector = nodes;\n } else if (nodes) {\n if (nodes instanceof HTMLElement) {\n runOptions.nodes = [nodes];\n } else {\n runOptions.nodes = nodes;\n }\n }\n await run(runOptions);\n}, \"init\");\nvar registerExternalDiagrams = /* @__PURE__ */ __name(async (diagrams, {\n lazyLoad = true\n} = {}) => {\n addDiagrams();\n registerLazyLoadedDiagrams(...diagrams);\n if (lazyLoad === false) {\n await loadRegisteredDiagrams();\n }\n}, \"registerExternalDiagrams\");\nvar contentLoaded = /* @__PURE__ */ __name(function() {\n if (mermaid.startOnLoad) {\n const { startOnLoad } = mermaidAPI.getConfig();\n if (startOnLoad) {\n mermaid.run().catch((err) => log.error(\"Mermaid failed to initialize\", err));\n }\n }\n}, \"contentLoaded\");\nif (typeof document !== \"undefined\") {\n window.addEventListener(\"load\", contentLoaded, false);\n}\nvar setParseErrorHandler = /* @__PURE__ */ __name(function(parseErrorHandler) {\n mermaid.parseError = parseErrorHandler;\n}, \"setParseErrorHandler\");\nvar executionQueue = [];\nvar executionQueueRunning = false;\nvar executeQueue = /* @__PURE__ */ __name(async () => {\n if (executionQueueRunning) {\n return;\n }\n executionQueueRunning = true;\n while (executionQueue.length > 0) {\n const f = executionQueue.shift();\n if (f) {\n try {\n await f();\n } catch (e) {\n log.error(\"Error executing queue\", e);\n }\n }\n }\n executionQueueRunning = false;\n}, \"executeQueue\");\nvar parse2 = /* @__PURE__ */ __name(async (text, parseOptions) => {\n return new Promise((resolve, reject) => {\n const performCall = /* @__PURE__ */ __name(() => new Promise((res, rej) => {\n mermaidAPI.parse(text, parseOptions).then(\n (r) => {\n res(r);\n resolve(r);\n },\n (e) => {\n log.error(\"Error parsing\", e);\n mermaid.parseError?.(e);\n rej(e);\n reject(e);\n }\n );\n }), \"performCall\");\n executionQueue.push(performCall);\n executeQueue().catch(reject);\n });\n}, \"parse\");\nvar render2 = /* @__PURE__ */ __name((id27, text, container) => {\n return new Promise((resolve, reject) => {\n const performCall = /* @__PURE__ */ __name(() => new Promise((res, rej) => {\n mermaidAPI.render(id27, text, container).then(\n (r) => {\n res(r);\n resolve(r);\n },\n (e) => {\n log.error(\"Error parsing\", e);\n mermaid.parseError?.(e);\n rej(e);\n reject(e);\n }\n );\n }), \"performCall\");\n executionQueue.push(performCall);\n executeQueue().catch(reject);\n });\n}, \"render\");\nvar mermaid = {\n startOnLoad: true,\n mermaidAPI,\n parse: parse2,\n render: render2,\n init,\n run,\n registerExternalDiagrams,\n registerLayoutLoaders,\n initialize: initialize2,\n parseError: void 0,\n contentLoaded,\n setParseErrorHandler,\n detectType,\n registerIconPacks\n};\nvar mermaid_default = mermaid;\nexport {\n mermaid_default as default\n};\n/*! Check if previously processed */\n/*!\n * Wait for document loaded before starting the execution\n */\n", + "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n", + "/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n", + "import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n", + "/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n", + "import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n", + "import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n", + "import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nexport default toFinite;\n", + "import toFinite from './toFinite.js';\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nexport default toInteger;\n", + "/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n", + "/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n", + "/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n", + "/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n", + "/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n", + "import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n", + "import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n", + "import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n", + "import assignValue from './_assignValue.js';\nimport copyObject from './_copyObject.js';\nimport createAssigner from './_createAssigner.js';\nimport isArrayLike from './isArrayLike.js';\nimport isPrototype from './_isPrototype.js';\nimport keys from './keys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nexport default assign;\n", + "import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n", + "import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n", + "import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n", + "import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n", + "import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n", + "import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n", + "import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n", + "import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n", + "/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n", + "import Symbol from './_Symbol.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nexport default isFlattenable;\n", + "import arrayPush from './_arrayPush.js';\nimport isFlattenable from './_isFlattenable.js';\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nexport default baseFlatten;\n", + "import baseFlatten from './_baseFlatten.js';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nexport default flatten;\n", + "import flatten from './flatten.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nexport default flatRest;\n", + "/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n", + "/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n", + "import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n", + "import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n", + "/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n", + "/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n", + "import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n", + "import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n", + "import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n", + "import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n", + "import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n", + "import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n", + "import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n", + "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n", + "import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n", + "/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n", + "import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n", + "import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n", + "import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n", + "import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n", + "import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n", + "import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n", + "import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n", + "import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n", + "import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n", + "/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default compact;\n", + "/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n", + "/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n", + "import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n", + "/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n", + "/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n", + "import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n", + "/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n", + "/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n", + "import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n", + "import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n", + "import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n", + "import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n", + "import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n", + "import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n", + "import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n", + "/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n", + "import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n", + "/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n", + "import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n", + "import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n", + "import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n", + "/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n", + "import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n", + "import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n", + "import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n", + "/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nexport default arrayAggregator;\n", + "import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n", + "import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n", + "import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n", + "import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nexport default baseAggregator;\n", + "import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nexport default createAggregator;\n", + "import baseRest from './_baseRest.js';\nimport eq from './eq.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport keysIn from './keysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nexport default defaults;\n", + "import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport arrayMap from './_arrayMap.js';\nimport baseUnary from './_baseUnary.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseDifference;\n", + "import baseDifference from './_baseDifference.js';\nimport baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n});\n\nexport default difference;\n", + "/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n", + "import baseSlice from './_baseSlice.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n}\n\nexport default drop;\n", + "import baseSlice from './_baseSlice.js';\nimport toInteger from './toInteger.js';\n\n/**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\nfunction dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n}\n\nexport default dropRight;\n", + "import identity from './identity.js';\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nexport default castFunction;\n", + "import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEach;\n", + "/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nexport default arrayEvery;\n", + "import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nexport default baseEvery;\n", + "import arrayEvery from './_arrayEvery.js';\nimport baseEvery from './_baseEvery.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default every;\n", + "import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nexport default baseFilter;\n", + "import arrayFilter from './_arrayFilter.js';\nimport baseFilter from './_baseFilter.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default filter;\n", + "import baseIteratee from './_baseIteratee.js';\nimport isArrayLike from './isArrayLike.js';\nimport keys from './keys.js';\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nexport default createFind;\n", + "import baseFindIndex from './_baseFindIndex.js';\nimport baseIteratee from './_baseIteratee.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nexport default findIndex;\n", + "import createFind from './_createFind.js';\nimport findIndex from './findIndex.js';\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nexport default find;\n", + "/**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\nfunction head(array) {\n return (array && array.length) ? array[0] : undefined;\n}\n\nexport default head;\n", + "import baseEach from './_baseEach.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nexport default baseMap;\n", + "import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nexport default map;\n", + "import baseFlatten from './_baseFlatten.js';\nimport map from './map.js';\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nexport default flatMap;\n", + "import baseFor from './_baseFor.js';\nimport castFunction from './_castFunction.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\nfunction forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, castFunction(iteratee), keysIn);\n}\n\nexport default forIn;\n", + "import baseForOwn from './_baseForOwn.js';\nimport castFunction from './_castFunction.js';\n\n/**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forOwn(object, iteratee) {\n return object && baseForOwn(object, castFunction(iteratee));\n}\n\nexport default forOwn;\n", + "import baseAssignValue from './_baseAssignValue.js';\nimport createAggregator from './_createAggregator.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nexport default groupBy;\n", + "/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nexport default baseGt;\n", + "/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n", + "import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n", + "import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n", + "import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nexport default baseValues;\n", + "import baseValues from './_baseValues.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nexport default values;\n", + "import baseIndexOf from './_baseIndexOf.js';\nimport isArrayLike from './isArrayLike.js';\nimport isString from './isString.js';\nimport toInteger from './toInteger.js';\nimport values from './values.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n}\n\nexport default includes;\n", + "import baseIndexOf from './_baseIndexOf.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\nfunction indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n}\n\nexport default indexOf;\n", + "import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nexport default baseIsRegExp;\n", + "import baseIsRegExp from './_baseIsRegExp.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nexport default isRegExp;\n", + "/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n", + "/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nexport default baseLt;\n", + "import baseAssignValue from './_baseAssignValue.js';\nimport baseForOwn from './_baseForOwn.js';\nimport baseIteratee from './_baseIteratee.js';\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nexport default mapValues;\n", + "import isSymbol from './isSymbol.js';\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nexport default baseExtremum;\n", + "import baseExtremum from './_baseExtremum.js';\nimport baseGt from './_baseGt.js';\nimport identity from './identity.js';\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nexport default max;\n", + "import baseExtremum from './_baseExtremum.js';\nimport baseLt from './_baseLt.js';\nimport identity from './identity.js';\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nexport default min;\n", + "import baseExtremum from './_baseExtremum.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseLt from './_baseLt.js';\n\n/**\n * This method is like `_.min` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * the value is ranked. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * _.minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * // The `_.property` iteratee shorthand.\n * _.minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nfunction minBy(array, iteratee) {\n return (array && array.length)\n ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt)\n : undefined;\n}\n\nexport default minBy;\n", + "/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\nexport default negate;\n", + "import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n", + "import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nexport default basePickBy;\n", + "import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport basePickBy from './_basePickBy.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nexport default pickBy;\n", + "/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nexport default baseSortBy;\n", + "import isSymbol from './isSymbol.js';\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nexport default compareAscending;\n", + "import compareAscending from './_compareAscending.js';\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nexport default compareMultiple;\n", + "import arrayMap from './_arrayMap.js';\nimport baseGet from './_baseGet.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseMap from './_baseMap.js';\nimport baseSortBy from './_baseSortBy.js';\nimport baseUnary from './_baseUnary.js';\nimport compareMultiple from './_compareMultiple.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nexport default baseOrderBy;\n", + "import basePickBy from './_basePickBy.js';\nimport hasIn from './hasIn.js';\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nexport default basePick;\n", + "import basePick from './_basePick.js';\nimport flatRest from './_flatRest.js';\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nexport default pick;\n", + "/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nexport default baseRange;\n", + "import baseRange from './_baseRange.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toFinite from './toFinite.js';\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nexport default createRange;\n", + "import createRange from './_createRange.js';\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nexport default range;\n", + "/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\nexport default baseReduce;\n", + "import arrayReduce from './_arrayReduce.js';\nimport baseEach from './_baseEach.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseReduce from './_baseReduce.js';\nimport isArray from './isArray.js';\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n}\n\nexport default reduce;\n", + "import arrayFilter from './_arrayFilter.js';\nimport baseFilter from './_baseFilter.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\nimport negate from './negate.js';\n\n/**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\nfunction reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(baseIteratee(predicate, 3)));\n}\n\nexport default reject;\n", + "import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nexport default baseSome;\n", + "import arraySome from './_arraySome.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseSome from './_baseSome.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default some;\n", + "import baseFlatten from './_baseFlatten.js';\nimport baseOrderBy from './_baseOrderBy.js';\nimport baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nexport default sortBy;\n", + "import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nexport default createSet;\n", + "import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseUniq;\n", + "import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n", + "import baseUniq from './_baseUniq.js';\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nexport default uniq;\n", + "import baseIteratee from './_baseIteratee.js';\nimport baseUniq from './_baseUniq.js';\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nexport default uniqBy;\n", + "import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nexport default uniqueId;\n", + "/**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\nfunction baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n}\n\nexport default baseZipObject;\n", + "import assignValue from './_assignValue.js';\nimport baseZipObject from './_baseZipObject.js';\n\n/**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\nfunction zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n}\n\nexport default zipObject;\n", + "import * as _ from 'lodash-es';\n\nvar DEFAULT_EDGE_NAME = '\\x00';\nvar GRAPH_NODE = '\\x00';\nvar EDGE_KEY_DELIM = '\\x01';\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\nexport class Graph {\n constructor(opts = {}) {\n this._isDirected = Object.prototype.hasOwnProperty.call(opts, 'directed')\n ? opts.directed\n : true;\n this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, 'multigraph')\n ? opts.multigraph\n : false;\n this._isCompound = Object.prototype.hasOwnProperty.call(opts, 'compound')\n ? opts.compound\n : false;\n\n // Label for the graph itself\n this._label = undefined;\n\n // Defaults to be set when creating a new node\n this._defaultNodeLabelFn = _.constant(undefined);\n\n // Defaults to be set when creating a new edge\n this._defaultEdgeLabelFn = _.constant(undefined);\n\n // v -> label\n this._nodes = {};\n\n if (this._isCompound) {\n // v -> parent\n this._parent = {};\n\n // v -> children\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n\n // v -> edgeObj\n this._in = {};\n\n // u -> v -> Number\n this._preds = {};\n\n // v -> edgeObj\n this._out = {};\n\n // v -> w -> Number\n this._sucs = {};\n\n // e -> edgeObj\n this._edgeObjs = {};\n\n // e -> label\n this._edgeLabels = {};\n }\n /* === Graph functions ========= */\n isDirected() {\n return this._isDirected;\n }\n isMultigraph() {\n return this._isMultigraph;\n }\n isCompound() {\n return this._isCompound;\n }\n setGraph(label) {\n this._label = label;\n return this;\n }\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n setDefaultNodeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n nodeCount() {\n return this._nodeCount;\n }\n nodes() {\n return _.keys(this._nodes);\n }\n sources() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._in[v]);\n });\n }\n sinks() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._out[v]);\n });\n }\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n _.each(vs, function (v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n setNode(v, value) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n\n // @ts-expect-error\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n node(v) {\n return this._nodes[v];\n }\n hasNode(v) {\n return Object.prototype.hasOwnProperty.call(this._nodes, v);\n }\n removeNode(v) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n _.each(this.children(v), (child) => {\n this.setParent(child);\n });\n delete this._children[v];\n }\n _.each(_.keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n _.each(_.keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error('Cannot set parent in a non-compound graph');\n }\n\n if (_.isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n // Coerce parent to string\n parent += '';\n for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle');\n }\n }\n\n this.setNode(parent);\n }\n\n this.setNode(v);\n this._removeFromParentsChildList(v);\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n children(v) {\n if (_.isUndefined(v)) {\n v = GRAPH_NODE;\n }\n\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return _.keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return _.keys(predsV);\n }\n }\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return _.keys(sucsV);\n }\n }\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return _.union(preds, this.successors(v));\n }\n }\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n filterNodes(filter) {\n // @ts-expect-error\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound,\n });\n\n copy.setGraph(this.graph());\n\n var self = this;\n _.each(this._nodes, function (value, v) {\n if (filter(v)) {\n copy.setNode(v, value);\n }\n });\n\n _.each(this._edgeObjs, function (e) {\n // @ts-expect-error\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === undefined || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n\n if (this._isCompound) {\n _.each(copy.nodes(), function (v) {\n copy.setParent(v, findParent(v));\n });\n }\n\n return copy;\n }\n /* === Edge functions ========== */\n setDefaultEdgeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n edgeCount() {\n return this._edgeCount;\n }\n edges() {\n return _.values(this._edgeObjs);\n }\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n _.reduce(vs, function (v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n /*\n * setEdge(v, w, [value, [name]])\n * setEdge({ v, w, [name] }, [value])\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n\n if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n\n v = '' + v;\n w = '' + w;\n if (!_.isUndefined(name)) {\n name = '' + name;\n }\n\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n\n if (!_.isUndefined(name) && !this._isMultigraph) {\n throw new Error('Cannot set a named edge when isMultigraph = false');\n }\n\n // It didn't exist, so we need to create it.\n // First ensure the nodes exist.\n this.setNode(v);\n this.setNode(w);\n\n // @ts-expect-error\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n // Ensure we add undirected edges in a consistent way.\n v = edgeObj.v;\n w = edgeObj.w;\n\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n edge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n hasEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);\n }\n removeEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = _.values(inV);\n if (!u) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.v === u;\n });\n }\n }\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = _.values(outV);\n if (!w) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.w === w;\n });\n }\n }\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\n\n/* Number of nodes in the graph. Should only be changed by the implementation. */\nGraph.prototype._nodeCount = 0;\n\n/* Number of edges in the graph. Should only be changed by the implementation. */\nGraph.prototype._edgeCount = 0;\n\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\n\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\n\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\n\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v: v, w: w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\n\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\n", + "/*\n * Simple doubly linked list implementation derived from Cormen, et al.,\n * \"Introduction to Algorithms\".\n */\n\nexport { List };\n\nclass List {\n constructor() {\n var sentinel = {};\n sentinel._next = sentinel._prev = sentinel;\n this._sentinel = sentinel;\n }\n dequeue() {\n var sentinel = this._sentinel;\n var entry = sentinel._prev;\n if (entry !== sentinel) {\n unlink(entry);\n return entry;\n }\n }\n enqueue(entry) {\n var sentinel = this._sentinel;\n if (entry._prev && entry._next) {\n unlink(entry);\n }\n entry._next = sentinel._next;\n sentinel._next._prev = entry;\n sentinel._next = entry;\n entry._prev = sentinel;\n }\n toString() {\n var strs = [];\n var sentinel = this._sentinel;\n var curr = sentinel._prev;\n while (curr !== sentinel) {\n strs.push(JSON.stringify(curr, filterOutLinks));\n curr = curr._prev;\n }\n return '[' + strs.join(', ') + ']';\n }\n}\n\nfunction unlink(entry) {\n entry._prev._next = entry._next;\n entry._next._prev = entry._prev;\n delete entry._next;\n delete entry._prev;\n}\n\nfunction filterOutLinks(k, v) {\n if (k !== '_next' && k !== '_prev') {\n return v;\n }\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../graphlib/index.js';\nimport { List } from './data/list.js';\n\n/*\n * A greedy heuristic for finding a feedback arc set for a graph. A feedback\n * arc set is a set of edges that can be removed to make a graph acyclic.\n * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, \"A fast and\n * effective heuristic for the feedback arc set problem.\" This implementation\n * adjusts that from the paper to allow for weighted edges.\n */\nexport { greedyFAS };\n\nvar DEFAULT_WEIGHT_FN = _.constant(1);\n\nfunction greedyFAS(g, weightFn) {\n if (g.nodeCount() <= 1) {\n return [];\n }\n var state = buildState(g, weightFn || DEFAULT_WEIGHT_FN);\n var results = doGreedyFAS(state.graph, state.buckets, state.zeroIdx);\n\n // Expand multi-edges\n return _.flatten(\n _.map(results, function (e) {\n return g.outEdges(e.v, e.w);\n }),\n );\n}\n\nfunction doGreedyFAS(g, buckets, zeroIdx) {\n var results = [];\n var sources = buckets[buckets.length - 1];\n var sinks = buckets[0];\n\n var entry;\n while (g.nodeCount()) {\n while ((entry = sinks.dequeue())) {\n removeNode(g, buckets, zeroIdx, entry);\n }\n while ((entry = sources.dequeue())) {\n removeNode(g, buckets, zeroIdx, entry);\n }\n if (g.nodeCount()) {\n for (var i = buckets.length - 2; i > 0; --i) {\n entry = buckets[i].dequeue();\n if (entry) {\n results = results.concat(removeNode(g, buckets, zeroIdx, entry, true));\n break;\n }\n }\n }\n }\n\n return results;\n}\n\nfunction removeNode(g, buckets, zeroIdx, entry, collectPredecessors) {\n var results = collectPredecessors ? [] : undefined;\n\n _.forEach(g.inEdges(entry.v), function (edge) {\n var weight = g.edge(edge);\n var uEntry = g.node(edge.v);\n\n if (collectPredecessors) {\n results.push({ v: edge.v, w: edge.w });\n }\n\n uEntry.out -= weight;\n assignBucket(buckets, zeroIdx, uEntry);\n });\n\n _.forEach(g.outEdges(entry.v), function (edge) {\n var weight = g.edge(edge);\n var w = edge.w;\n var wEntry = g.node(w);\n wEntry['in'] -= weight;\n assignBucket(buckets, zeroIdx, wEntry);\n });\n\n g.removeNode(entry.v);\n\n return results;\n}\n\nfunction buildState(g, weightFn) {\n var fasGraph = new Graph();\n var maxIn = 0;\n var maxOut = 0;\n\n _.forEach(g.nodes(), function (v) {\n fasGraph.setNode(v, { v: v, in: 0, out: 0 });\n });\n\n // Aggregate weights on nodes, but also sum the weights across multi-edges\n // into a single edge for the fasGraph.\n _.forEach(g.edges(), function (e) {\n var prevWeight = fasGraph.edge(e.v, e.w) || 0;\n var weight = weightFn(e);\n var edgeWeight = prevWeight + weight;\n fasGraph.setEdge(e.v, e.w, edgeWeight);\n maxOut = Math.max(maxOut, (fasGraph.node(e.v).out += weight));\n maxIn = Math.max(maxIn, (fasGraph.node(e.w)['in'] += weight));\n });\n\n var buckets = _.range(maxOut + maxIn + 3).map(function () {\n return new List();\n });\n var zeroIdx = maxIn + 1;\n\n _.forEach(fasGraph.nodes(), function (v) {\n assignBucket(buckets, zeroIdx, fasGraph.node(v));\n });\n\n return { graph: fasGraph, buckets: buckets, zeroIdx: zeroIdx };\n}\n\nfunction assignBucket(buckets, zeroIdx, entry) {\n if (!entry.out) {\n buckets[0].enqueue(entry);\n } else if (!entry['in']) {\n buckets[buckets.length - 1].enqueue(entry);\n } else {\n buckets[entry.out - entry['in'] + zeroIdx].enqueue(entry);\n }\n}\n", + "import * as _ from 'lodash-es';\nimport { greedyFAS } from './greedy-fas.js';\n\nexport { run, undo };\n\nfunction run(g) {\n var fas = g.graph().acyclicer === 'greedy' ? greedyFAS(g, weightFn(g)) : dfsFAS(g);\n _.forEach(fas, function (e) {\n var label = g.edge(e);\n g.removeEdge(e);\n label.forwardName = e.name;\n label.reversed = true;\n g.setEdge(e.w, e.v, label, _.uniqueId('rev'));\n });\n\n function weightFn(g) {\n return function (e) {\n return g.edge(e).weight;\n };\n }\n}\n\nfunction dfsFAS(g) {\n var fas = [];\n var stack = {};\n var visited = {};\n\n function dfs(v) {\n if (Object.prototype.hasOwnProperty.call(visited, v)) {\n return;\n }\n visited[v] = true;\n stack[v] = true;\n _.forEach(g.outEdges(v), function (e) {\n if (Object.prototype.hasOwnProperty.call(stack, e.w)) {\n fas.push(e);\n } else {\n dfs(e.w);\n }\n });\n delete stack[v];\n }\n\n _.forEach(g.nodes(), dfs);\n return fas;\n}\n\nfunction undo(g) {\n _.forEach(g.edges(), function (e) {\n var label = g.edge(e);\n if (label.reversed) {\n g.removeEdge(e);\n\n var forwardName = label.forwardName;\n delete label.reversed;\n delete label.forwardName;\n g.setEdge(e.w, e.v, label, forwardName);\n }\n });\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../graphlib/index.js';\n\nexport {\n addDummyNode,\n simplify,\n asNonCompoundGraph,\n successorWeights,\n predecessorWeights,\n intersectRect,\n buildLayerMatrix,\n normalizeRanks,\n removeEmptyRanks,\n addBorderNode,\n maxRank,\n partition,\n time,\n notime,\n};\n\n/*\n * Adds a dummy node to the graph and return v.\n */\nfunction addDummyNode(g, type, attrs, name) {\n var v;\n do {\n v = _.uniqueId(name);\n } while (g.hasNode(v));\n\n attrs.dummy = type;\n g.setNode(v, attrs);\n return v;\n}\n\n/*\n * Returns a new graph with only simple edges. Handles aggregation of data\n * associated with multi-edges.\n */\nfunction simplify(g) {\n var simplified = new Graph().setGraph(g.graph());\n _.forEach(g.nodes(), function (v) {\n simplified.setNode(v, g.node(v));\n });\n _.forEach(g.edges(), function (e) {\n var simpleLabel = simplified.edge(e.v, e.w) || { weight: 0, minlen: 1 };\n var label = g.edge(e);\n simplified.setEdge(e.v, e.w, {\n weight: simpleLabel.weight + label.weight,\n minlen: Math.max(simpleLabel.minlen, label.minlen),\n });\n });\n return simplified;\n}\n\nfunction asNonCompoundGraph(g) {\n var simplified = new Graph({ multigraph: g.isMultigraph() }).setGraph(g.graph());\n _.forEach(g.nodes(), function (v) {\n if (!g.children(v).length) {\n simplified.setNode(v, g.node(v));\n }\n });\n _.forEach(g.edges(), function (e) {\n simplified.setEdge(e, g.edge(e));\n });\n return simplified;\n}\n\nfunction successorWeights(g) {\n var weightMap = _.map(g.nodes(), function (v) {\n var sucs = {};\n _.forEach(g.outEdges(v), function (e) {\n sucs[e.w] = (sucs[e.w] || 0) + g.edge(e).weight;\n });\n return sucs;\n });\n return _.zipObject(g.nodes(), weightMap);\n}\n\nfunction predecessorWeights(g) {\n var weightMap = _.map(g.nodes(), function (v) {\n var preds = {};\n _.forEach(g.inEdges(v), function (e) {\n preds[e.v] = (preds[e.v] || 0) + g.edge(e).weight;\n });\n return preds;\n });\n return _.zipObject(g.nodes(), weightMap);\n}\n\n/*\n * Finds where a line starting at point ({x, y}) would intersect a rectangle\n * ({x, y, width, height}) if it were pointing at the rectangle's center.\n */\nfunction intersectRect(rect, point) {\n var x = rect.x;\n var y = rect.y;\n\n // Rectangle intersection algorithm from:\n // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes\n var dx = point.x - x;\n var dy = point.y - y;\n var w = rect.width / 2;\n var h = rect.height / 2;\n\n if (!dx && !dy) {\n throw new Error('Not possible to find intersection inside of the rectangle');\n }\n\n var sx, sy;\n if (Math.abs(dy) * w > Math.abs(dx) * h) {\n // Intersection is top or bottom of rect.\n if (dy < 0) {\n h = -h;\n }\n sx = (h * dx) / dy;\n sy = h;\n } else {\n // Intersection is left or right of rect.\n if (dx < 0) {\n w = -w;\n }\n sx = w;\n sy = (w * dy) / dx;\n }\n\n return { x: x + sx, y: y + sy };\n}\n\n/*\n * Given a DAG with each node assigned \"rank\" and \"order\" properties, this\n * function will produce a matrix with the ids of each node.\n */\nfunction buildLayerMatrix(g) {\n var layering = _.map(_.range(maxRank(g) + 1), function () {\n return [];\n });\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v);\n var rank = node.rank;\n if (!_.isUndefined(rank)) {\n layering[rank][node.order] = v;\n }\n });\n return layering;\n}\n\n/*\n * Adjusts the ranks for all nodes in the graph such that all nodes v have\n * rank(v) >= 0 and at least one node w has rank(w) = 0.\n */\nfunction normalizeRanks(g) {\n var min = _.min(\n _.map(g.nodes(), function (v) {\n return g.node(v).rank;\n }),\n );\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v);\n if (_.has(node, 'rank')) {\n node.rank -= min;\n }\n });\n}\n\nfunction removeEmptyRanks(g) {\n // Ranks may not start at 0, so we need to offset them\n var offset = _.min(\n _.map(g.nodes(), function (v) {\n return g.node(v).rank;\n }),\n );\n\n var layers = [];\n _.forEach(g.nodes(), function (v) {\n var rank = g.node(v).rank - offset;\n if (!layers[rank]) {\n layers[rank] = [];\n }\n layers[rank].push(v);\n });\n\n var delta = 0;\n var nodeRankFactor = g.graph().nodeRankFactor;\n _.forEach(layers, function (vs, i) {\n if (_.isUndefined(vs) && i % nodeRankFactor !== 0) {\n --delta;\n } else if (delta) {\n _.forEach(vs, function (v) {\n g.node(v).rank += delta;\n });\n }\n });\n}\n\nfunction addBorderNode(g, prefix, rank, order) {\n var node = {\n width: 0,\n height: 0,\n };\n if (arguments.length >= 4) {\n node.rank = rank;\n node.order = order;\n }\n return addDummyNode(g, 'border', node, prefix);\n}\n\nfunction maxRank(g) {\n return _.max(\n _.map(g.nodes(), function (v) {\n var rank = g.node(v).rank;\n if (!_.isUndefined(rank)) {\n return rank;\n }\n }),\n );\n}\n\n/*\n * Partition a collection into two groups: `lhs` and `rhs`. If the supplied\n * function returns true for an entry it goes into `lhs`. Otherwise it goes\n * into `rhs.\n */\nfunction partition(collection, fn) {\n var result = { lhs: [], rhs: [] };\n _.forEach(collection, function (value) {\n if (fn(value)) {\n result.lhs.push(value);\n } else {\n result.rhs.push(value);\n }\n });\n return result;\n}\n\n/*\n * Returns a new function that wraps `fn` with a timer. The wrapper logs the\n * time it takes to execute the function.\n */\nfunction time(name, fn) {\n var start = _.now();\n try {\n return fn();\n } finally {\n console.log(name + ' time: ' + (_.now() - start) + 'ms');\n }\n}\n\nfunction notime(name, fn) {\n return fn();\n}\n", + "import * as _ from 'lodash-es';\nimport * as util from './util.js';\n\nexport { addBorderSegments };\n\nfunction addBorderSegments(g) {\n function dfs(v) {\n var children = g.children(v);\n var node = g.node(v);\n if (children.length) {\n _.forEach(children, dfs);\n }\n\n if (Object.prototype.hasOwnProperty.call(node, 'minRank')) {\n node.borderLeft = [];\n node.borderRight = [];\n for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank; ++rank) {\n addBorderNode(g, 'borderLeft', '_bl', v, node, rank);\n addBorderNode(g, 'borderRight', '_br', v, node, rank);\n }\n }\n }\n\n _.forEach(g.children(), dfs);\n}\n\nfunction addBorderNode(g, prop, prefix, sg, sgNode, rank) {\n var label = { width: 0, height: 0, rank: rank, borderType: prop };\n var prev = sgNode[prop][rank - 1];\n var curr = util.addDummyNode(g, 'border', label, prefix);\n sgNode[prop][rank] = curr;\n g.setParent(curr, sg);\n if (prev) {\n g.setEdge(prev, curr, { weight: 1 });\n }\n}\n", + "import * as _ from 'lodash-es';\n\nexport { adjust, undo };\n\nfunction adjust(g) {\n var rankDir = g.graph().rankdir.toLowerCase();\n if (rankDir === 'lr' || rankDir === 'rl') {\n swapWidthHeight(g);\n }\n}\n\nfunction undo(g) {\n var rankDir = g.graph().rankdir.toLowerCase();\n if (rankDir === 'bt' || rankDir === 'rl') {\n reverseY(g);\n }\n\n if (rankDir === 'lr' || rankDir === 'rl') {\n swapXY(g);\n swapWidthHeight(g);\n }\n}\n\nfunction swapWidthHeight(g) {\n _.forEach(g.nodes(), function (v) {\n swapWidthHeightOne(g.node(v));\n });\n _.forEach(g.edges(), function (e) {\n swapWidthHeightOne(g.edge(e));\n });\n}\n\nfunction swapWidthHeightOne(attrs) {\n var w = attrs.width;\n attrs.width = attrs.height;\n attrs.height = w;\n}\n\nfunction reverseY(g) {\n _.forEach(g.nodes(), function (v) {\n reverseYOne(g.node(v));\n });\n\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n _.forEach(edge.points, reverseYOne);\n if (Object.prototype.hasOwnProperty.call(edge, 'y')) {\n reverseYOne(edge);\n }\n });\n}\n\nfunction reverseYOne(attrs) {\n attrs.y = -attrs.y;\n}\n\nfunction swapXY(g) {\n _.forEach(g.nodes(), function (v) {\n swapXYOne(g.node(v));\n });\n\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n _.forEach(edge.points, swapXYOne);\n if (Object.prototype.hasOwnProperty.call(edge, 'x')) {\n swapXYOne(edge);\n }\n });\n}\n\nfunction swapXYOne(attrs) {\n var x = attrs.x;\n attrs.x = attrs.y;\n attrs.y = x;\n}\n", + "/**\n * TypeScript type imports:\n *\n * @import { Graph } from '../graphlib/graph.js';\n */\nimport * as _ from 'lodash-es';\nimport * as util from './util.js';\n\nexport { run, undo };\n\n/*\n * Breaks any long edges in the graph into short segments that span 1 layer\n * each. This operation is undoable with the denormalize function.\n *\n * Pre-conditions:\n *\n * 1. The input graph is a DAG.\n * 2. Each node in the graph has a \"rank\" property.\n *\n * Post-condition:\n *\n * 1. All edges in the graph have a length of 1.\n * 2. Dummy nodes are added where edges have been split into segments.\n * 3. The graph is augmented with a \"dummyChains\" attribute which contains\n * the first dummy in each chain of dummy nodes produced.\n */\nfunction run(g) {\n g.graph().dummyChains = [];\n _.forEach(g.edges(), function (edge) {\n normalizeEdge(g, edge);\n });\n}\n\n/**\n * @param {Graph} g\n */\nfunction normalizeEdge(g, e) {\n var v = e.v;\n var vRank = g.node(v).rank;\n var w = e.w;\n var wRank = g.node(w).rank;\n var name = e.name;\n var edgeLabel = g.edge(e);\n var labelRank = edgeLabel.labelRank;\n\n if (wRank === vRank + 1) return;\n\n g.removeEdge(e);\n\n /**\n * @typedef {Object} Attrs\n * @property {number} width\n * @property {number} height\n * @property {ReturnType<Graph[\"node\"]>} edgeLabel\n * @property {any} edgeObj\n * @property {ReturnType<Graph[\"node\"]>[\"rank\"]} rank\n * @property {string} [dummy]\n * @property {ReturnType<Graph[\"node\"]>[\"labelpos\"]} [labelpos]\n */\n\n /** @type {Attrs | undefined} */\n var attrs = undefined;\n var dummy, i;\n for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) {\n edgeLabel.points = [];\n attrs = {\n width: 0,\n height: 0,\n edgeLabel: edgeLabel,\n edgeObj: e,\n rank: vRank,\n };\n dummy = util.addDummyNode(g, 'edge', attrs, '_d');\n if (vRank === labelRank) {\n attrs.width = edgeLabel.width;\n attrs.height = edgeLabel.height;\n attrs.dummy = 'edge-label';\n attrs.labelpos = edgeLabel.labelpos;\n }\n g.setEdge(v, dummy, { weight: edgeLabel.weight }, name);\n if (i === 0) {\n g.graph().dummyChains.push(dummy);\n }\n v = dummy;\n }\n\n g.setEdge(v, w, { weight: edgeLabel.weight }, name);\n}\n\nfunction undo(g) {\n _.forEach(g.graph().dummyChains, function (v) {\n var node = g.node(v);\n var origLabel = node.edgeLabel;\n var w;\n g.setEdge(node.edgeObj, origLabel);\n while (node.dummy) {\n w = g.successors(v)[0];\n g.removeNode(v);\n origLabel.points.push({ x: node.x, y: node.y });\n if (node.dummy === 'edge-label') {\n origLabel.x = node.x;\n origLabel.y = node.y;\n origLabel.width = node.width;\n origLabel.height = node.height;\n }\n v = w;\n node = g.node(v);\n }\n });\n}\n", + "import * as _ from 'lodash-es';\n\nexport { longestPath, slack };\n\n/*\n * Initializes ranks for the input graph using the longest path algorithm. This\n * algorithm scales well and is fast in practice, it yields rather poor\n * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom\n * ranks wide and leaving edges longer than necessary. However, due to its\n * speed, this algorithm is good for getting an initial ranking that can be fed\n * into other algorithms.\n *\n * This algorithm does not normalize layers because it will be used by other\n * algorithms in most cases. If using this algorithm directly, be sure to\n * run normalize at the end.\n *\n * Pre-conditions:\n *\n * 1. Input graph is a DAG.\n * 2. Input graph node labels can be assigned properties.\n *\n * Post-conditions:\n *\n * 1. Each node will be assign an (unnormalized) \"rank\" property.\n */\nfunction longestPath(g) {\n var visited = {};\n\n function dfs(v) {\n var label = g.node(v);\n if (Object.prototype.hasOwnProperty.call(visited, v)) {\n return label.rank;\n }\n visited[v] = true;\n\n var rank = _.min(\n _.map(g.outEdges(v), function (e) {\n return dfs(e.w) - g.edge(e).minlen;\n }),\n );\n\n if (\n rank === Number.POSITIVE_INFINITY || // return value of _.map([]) for Lodash 3\n rank === undefined || // return value of _.map([]) for Lodash 4\n rank === null\n ) {\n // return value of _.map([null])\n rank = 0;\n }\n\n return (label.rank = rank);\n }\n\n _.forEach(g.sources(), dfs);\n}\n\n/*\n * Returns the amount of slack for the given edge. The slack is defined as the\n * difference between the length of the edge and its minimum length.\n */\nfunction slack(g, e) {\n return g.node(e.w).rank - g.node(e.v).rank - g.edge(e).minlen;\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../../graphlib/index.js';\nimport { slack } from './util.js';\n\nexport { feasibleTree };\n\n/*\n * Constructs a spanning tree with tight edges and adjusted the input node's\n * ranks to achieve this. A tight edge is one that is has a length that matches\n * its \"minlen\" attribute.\n *\n * The basic structure for this function is derived from Gansner, et al., \"A\n * Technique for Drawing Directed Graphs.\"\n *\n * Pre-conditions:\n *\n * 1. Graph must be a DAG.\n * 2. Graph must be connected.\n * 3. Graph must have at least one node.\n * 5. Graph nodes must have been previously assigned a \"rank\" property that\n * respects the \"minlen\" property of incident edges.\n * 6. Graph edges must have a \"minlen\" property.\n *\n * Post-conditions:\n *\n * - Graph nodes will have their rank adjusted to ensure that all edges are\n * tight.\n *\n * Returns a tree (undirected graph) that is constructed using only \"tight\"\n * edges.\n */\nfunction feasibleTree(g) {\n var t = new Graph({ directed: false });\n\n // Choose arbitrary node from which to start our tree\n var start = g.nodes()[0];\n var size = g.nodeCount();\n t.setNode(start, {});\n\n var edge, delta;\n while (tightTree(t, g) < size) {\n edge = findMinSlackEdge(t, g);\n delta = t.hasNode(edge.v) ? slack(g, edge) : -slack(g, edge);\n shiftRanks(t, g, delta);\n }\n\n return t;\n}\n\n/*\n * Finds a maximal tree of tight edges and returns the number of nodes in the\n * tree.\n */\nfunction tightTree(t, g) {\n function dfs(v) {\n _.forEach(g.nodeEdges(v), function (e) {\n var edgeV = e.v,\n w = v === edgeV ? e.w : edgeV;\n if (!t.hasNode(w) && !slack(g, e)) {\n t.setNode(w, {});\n t.setEdge(v, w, {});\n dfs(w);\n }\n });\n }\n\n _.forEach(t.nodes(), dfs);\n return t.nodeCount();\n}\n\n/*\n * Finds the edge with the smallest slack that is incident on tree and returns\n * it.\n */\nfunction findMinSlackEdge(t, g) {\n return _.minBy(g.edges(), function (e) {\n if (t.hasNode(e.v) !== t.hasNode(e.w)) {\n return slack(g, e);\n }\n });\n}\n\nfunction shiftRanks(t, g, delta) {\n _.forEach(t.nodes(), function (v) {\n g.node(v).rank += delta;\n });\n}\n", + "import * as _ from 'lodash-es';\n\nexport { topsort, CycleException };\n\ntopsort.CycleException = CycleException;\n\nfunction topsort(g) {\n var visited = {};\n var stack = {};\n var results = [];\n\n function visit(node) {\n if (Object.prototype.hasOwnProperty.call(stack, node)) {\n throw new CycleException();\n }\n\n if (!Object.prototype.hasOwnProperty.call(visited, node)) {\n stack[node] = true;\n visited[node] = true;\n _.each(g.predecessors(node), visit);\n delete stack[node];\n results.push(node);\n }\n }\n\n _.each(g.sinks(), visit);\n\n if (_.size(visited) !== g.nodeCount()) {\n throw new CycleException();\n }\n\n return results;\n}\n\nfunction CycleException() {}\nCycleException.prototype = new Error(); // must be an instance of Error to pass testing\n", + "import * as _ from 'lodash-es';\n\nexport { dfs };\n\n/*\n * A helper that preforms a pre- or post-order traversal on the input graph\n * and returns the nodes in the order they were visited. If the graph is\n * undirected then this algorithm will navigate using neighbors. If the graph\n * is directed then this algorithm will navigate using successors.\n *\n * Order must be one of \"pre\" or \"post\".\n */\nfunction dfs(g, vs, order) {\n if (!_.isArray(vs)) {\n vs = [vs];\n }\n\n var navigation = (g.isDirected() ? g.successors : g.neighbors).bind(g);\n\n var acc = [];\n var visited = {};\n _.each(vs, function (v) {\n if (!g.hasNode(v)) {\n throw new Error('Graph does not have node: ' + v);\n }\n\n doDfs(g, v, order === 'post', visited, navigation, acc);\n });\n return acc;\n}\n\nfunction doDfs(g, v, postorder, visited, navigation, acc) {\n if (!Object.prototype.hasOwnProperty.call(visited, v)) {\n visited[v] = true;\n\n if (!postorder) {\n acc.push(v);\n }\n _.each(navigation(v), function (w) {\n doDfs(g, w, postorder, visited, navigation, acc);\n });\n if (postorder) {\n acc.push(v);\n }\n }\n}\n", + "import { dfs } from './dfs.js';\n\nexport { postorder };\n\nfunction postorder(g, vs) {\n return dfs(g, vs, 'post');\n}\n", + "import { dfs } from './dfs.js';\n\nexport { preorder };\n\nfunction preorder(g, vs) {\n return dfs(g, vs, 'pre');\n}\n", + "import * as _ from 'lodash-es';\nimport * as alg from '../../graphlib/alg/index.js';\nimport { simplify } from '../util.js';\nimport { feasibleTree } from './feasible-tree.js';\nimport { longestPath, slack } from './util.js';\n\nexport { networkSimplex };\n\n// Expose some internals for testing purposes\nnetworkSimplex.initLowLimValues = initLowLimValues;\nnetworkSimplex.initCutValues = initCutValues;\nnetworkSimplex.calcCutValue = calcCutValue;\nnetworkSimplex.leaveEdge = leaveEdge;\nnetworkSimplex.enterEdge = enterEdge;\nnetworkSimplex.exchangeEdges = exchangeEdges;\n\n/*\n * The network simplex algorithm assigns ranks to each node in the input graph\n * and iteratively improves the ranking to reduce the length of edges.\n *\n * Preconditions:\n *\n * 1. The input graph must be a DAG.\n * 2. All nodes in the graph must have an object value.\n * 3. All edges in the graph must have \"minlen\" and \"weight\" attributes.\n *\n * Postconditions:\n *\n * 1. All nodes in the graph will have an assigned \"rank\" attribute that has\n * been optimized by the network simplex algorithm. Ranks start at 0.\n *\n *\n * A rough sketch of the algorithm is as follows:\n *\n * 1. Assign initial ranks to each node. We use the longest path algorithm,\n * which assigns ranks to the lowest position possible. In general this\n * leads to very wide bottom ranks and unnecessarily long edges.\n * 2. Construct a feasible tight tree. A tight tree is one such that all\n * edges in the tree have no slack (difference between length of edge\n * and minlen for the edge). This by itself greatly improves the assigned\n * rankings by shorting edges.\n * 3. Iteratively find edges that have negative cut values. Generally a\n * negative cut value indicates that the edge could be removed and a new\n * tree edge could be added to produce a more compact graph.\n *\n * Much of the algorithms here are derived from Gansner, et al., \"A Technique\n * for Drawing Directed Graphs.\" The structure of the file roughly follows the\n * structure of the overall algorithm.\n */\nfunction networkSimplex(g) {\n g = simplify(g);\n longestPath(g);\n var t = feasibleTree(g);\n initLowLimValues(t);\n initCutValues(t, g);\n\n var e, f;\n while ((e = leaveEdge(t))) {\n f = enterEdge(t, g, e);\n exchangeEdges(t, g, e, f);\n }\n}\n\n/*\n * Initializes cut values for all edges in the tree.\n */\nfunction initCutValues(t, g) {\n var vs = alg.postorder(t, t.nodes());\n vs = vs.slice(0, vs.length - 1);\n _.forEach(vs, function (v) {\n assignCutValue(t, g, v);\n });\n}\n\nfunction assignCutValue(t, g, child) {\n var childLab = t.node(child);\n var parent = childLab.parent;\n t.edge(child, parent).cutvalue = calcCutValue(t, g, child);\n}\n\n/*\n * Given the tight tree, its graph, and a child in the graph calculate and\n * return the cut value for the edge between the child and its parent.\n */\nfunction calcCutValue(t, g, child) {\n var childLab = t.node(child);\n var parent = childLab.parent;\n // True if the child is on the tail end of the edge in the directed graph\n var childIsTail = true;\n // The graph's view of the tree edge we're inspecting\n var graphEdge = g.edge(child, parent);\n // The accumulated cut value for the edge between this node and its parent\n var cutValue = 0;\n\n if (!graphEdge) {\n childIsTail = false;\n graphEdge = g.edge(parent, child);\n }\n\n cutValue = graphEdge.weight;\n\n _.forEach(g.nodeEdges(child), function (e) {\n var isOutEdge = e.v === child,\n other = isOutEdge ? e.w : e.v;\n\n if (other !== parent) {\n var pointsToHead = isOutEdge === childIsTail,\n otherWeight = g.edge(e).weight;\n\n cutValue += pointsToHead ? otherWeight : -otherWeight;\n if (isTreeEdge(t, child, other)) {\n var otherCutValue = t.edge(child, other).cutvalue;\n cutValue += pointsToHead ? -otherCutValue : otherCutValue;\n }\n }\n });\n\n return cutValue;\n}\n\nfunction initLowLimValues(tree, root) {\n if (arguments.length < 2) {\n root = tree.nodes()[0];\n }\n dfsAssignLowLim(tree, {}, 1, root);\n}\n\nfunction dfsAssignLowLim(tree, visited, nextLim, v, parent) {\n var low = nextLim;\n var label = tree.node(v);\n\n visited[v] = true;\n _.forEach(tree.neighbors(v), function (w) {\n if (!Object.prototype.hasOwnProperty.call(visited, w)) {\n nextLim = dfsAssignLowLim(tree, visited, nextLim, w, v);\n }\n });\n\n label.low = low;\n label.lim = nextLim++;\n if (parent) {\n label.parent = parent;\n } else {\n // TODO should be able to remove this when we incrementally update low lim\n delete label.parent;\n }\n\n return nextLim;\n}\n\nfunction leaveEdge(tree) {\n return _.find(tree.edges(), function (e) {\n return tree.edge(e).cutvalue < 0;\n });\n}\n\nfunction enterEdge(t, g, edge) {\n var v = edge.v;\n var w = edge.w;\n\n // For the rest of this function we assume that v is the tail and w is the\n // head, so if we don't have this edge in the graph we should flip it to\n // match the correct orientation.\n if (!g.hasEdge(v, w)) {\n v = edge.w;\n w = edge.v;\n }\n\n var vLabel = t.node(v);\n var wLabel = t.node(w);\n var tailLabel = vLabel;\n var flip = false;\n\n // If the root is in the tail of the edge then we need to flip the logic that\n // checks for the head and tail nodes in the candidates function below.\n if (vLabel.lim > wLabel.lim) {\n tailLabel = wLabel;\n flip = true;\n }\n\n var candidates = _.filter(g.edges(), function (edge) {\n return (\n flip === isDescendant(t, t.node(edge.v), tailLabel) &&\n flip !== isDescendant(t, t.node(edge.w), tailLabel)\n );\n });\n\n return _.minBy(candidates, function (edge) {\n return slack(g, edge);\n });\n}\n\nfunction exchangeEdges(t, g, e, f) {\n var v = e.v;\n var w = e.w;\n t.removeEdge(v, w);\n t.setEdge(f.v, f.w, {});\n initLowLimValues(t);\n initCutValues(t, g);\n updateRanks(t, g);\n}\n\nfunction updateRanks(t, g) {\n var root = _.find(t.nodes(), function (v) {\n return !g.node(v).parent;\n });\n var vs = alg.preorder(t, root);\n vs = vs.slice(1);\n _.forEach(vs, function (v) {\n var parent = t.node(v).parent,\n edge = g.edge(v, parent),\n flipped = false;\n\n if (!edge) {\n edge = g.edge(parent, v);\n flipped = true;\n }\n\n g.node(v).rank = g.node(parent).rank + (flipped ? edge.minlen : -edge.minlen);\n });\n}\n\n/*\n * Returns true if the edge is in the tree.\n */\nfunction isTreeEdge(tree, u, v) {\n return tree.hasEdge(u, v);\n}\n\n/*\n * Returns true if the specified node is descendant of the root node per the\n * assigned low and lim attributes in the tree.\n */\nfunction isDescendant(tree, vLabel, rootLabel) {\n return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim;\n}\n", + "import { feasibleTree } from './feasible-tree.js';\nimport { networkSimplex } from './network-simplex.js';\nimport { longestPath } from './util.js';\n\nexport { rank };\n\n/*\n * Assigns a rank to each node in the input graph that respects the \"minlen\"\n * constraint specified on edges between nodes.\n *\n * This basic structure is derived from Gansner, et al., \"A Technique for\n * Drawing Directed Graphs.\"\n *\n * Pre-conditions:\n *\n * 1. Graph must be a connected DAG\n * 2. Graph nodes must be objects\n * 3. Graph edges must have \"weight\" and \"minlen\" attributes\n *\n * Post-conditions:\n *\n * 1. Graph nodes will have a \"rank\" attribute based on the results of the\n * algorithm. Ranks can start at any index (including negative), we'll\n * fix them up later.\n */\nfunction rank(g) {\n switch (g.graph().ranker) {\n case 'network-simplex':\n networkSimplexRanker(g);\n break;\n case 'tight-tree':\n tightTreeRanker(g);\n break;\n case 'longest-path':\n longestPathRanker(g);\n break;\n default:\n networkSimplexRanker(g);\n }\n}\n\n// A fast and simple ranker, but results are far from optimal.\nvar longestPathRanker = longestPath;\n\nfunction tightTreeRanker(g) {\n longestPath(g);\n feasibleTree(g);\n}\n\nfunction networkSimplexRanker(g) {\n networkSimplex(g);\n}\n", + "import * as _ from 'lodash-es';\nimport * as util from './util.js';\n\nexport { run, cleanup };\n\n/*\n * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs,\n * adds appropriate edges to ensure that all cluster nodes are placed between\n * these boundries, and ensures that the graph is connected.\n *\n * In addition we ensure, through the use of the minlen property, that nodes\n * and subgraph border nodes to not end up on the same rank.\n *\n * Preconditions:\n *\n * 1. Input graph is a DAG\n * 2. Nodes in the input graph has a minlen attribute\n *\n * Postconditions:\n *\n * 1. Input graph is connected.\n * 2. Dummy nodes are added for the tops and bottoms of subgraphs.\n * 3. The minlen attribute for nodes is adjusted to ensure nodes do not\n * get placed on the same rank as subgraph border nodes.\n *\n * The nesting graph idea comes from Sander, \"Layout of Compound Directed\n * Graphs.\"\n */\nfunction run(g) {\n var root = util.addDummyNode(g, 'root', {}, '_root');\n var depths = treeDepths(g);\n var height = _.max(_.values(depths)) - 1; // Note: depths is an Object not an array\n var nodeSep = 2 * height + 1;\n\n g.graph().nestingRoot = root;\n\n // Multiply minlen by nodeSep to align nodes on non-border ranks.\n _.forEach(g.edges(), function (e) {\n g.edge(e).minlen *= nodeSep;\n });\n\n // Calculate a weight that is sufficient to keep subgraphs vertically compact\n var weight = sumWeights(g) + 1;\n\n // Create border nodes and link them up\n _.forEach(g.children(), function (child) {\n dfs(g, root, nodeSep, weight, height, depths, child);\n });\n\n // Save the multiplier for node layers for later removal of empty border\n // layers.\n g.graph().nodeRankFactor = nodeSep;\n}\n\nfunction dfs(g, root, nodeSep, weight, height, depths, v) {\n var children = g.children(v);\n if (!children.length) {\n if (v !== root) {\n g.setEdge(root, v, { weight: 0, minlen: nodeSep });\n }\n return;\n }\n\n var top = util.addBorderNode(g, '_bt');\n var bottom = util.addBorderNode(g, '_bb');\n var label = g.node(v);\n\n g.setParent(top, v);\n label.borderTop = top;\n g.setParent(bottom, v);\n label.borderBottom = bottom;\n\n _.forEach(children, function (child) {\n dfs(g, root, nodeSep, weight, height, depths, child);\n\n var childNode = g.node(child);\n var childTop = childNode.borderTop ? childNode.borderTop : child;\n var childBottom = childNode.borderBottom ? childNode.borderBottom : child;\n var thisWeight = childNode.borderTop ? weight : 2 * weight;\n var minlen = childTop !== childBottom ? 1 : height - depths[v] + 1;\n\n g.setEdge(top, childTop, {\n weight: thisWeight,\n minlen: minlen,\n nestingEdge: true,\n });\n\n g.setEdge(childBottom, bottom, {\n weight: thisWeight,\n minlen: minlen,\n nestingEdge: true,\n });\n });\n\n if (!g.parent(v)) {\n g.setEdge(root, top, { weight: 0, minlen: height + depths[v] });\n }\n}\n\nfunction treeDepths(g) {\n var depths = {};\n function dfs(v, depth) {\n var children = g.children(v);\n if (children && children.length) {\n _.forEach(children, function (child) {\n dfs(child, depth + 1);\n });\n }\n depths[v] = depth;\n }\n _.forEach(g.children(), function (v) {\n dfs(v, 1);\n });\n return depths;\n}\n\nfunction sumWeights(g) {\n return _.reduce(\n g.edges(),\n function (acc, e) {\n return acc + g.edge(e).weight;\n },\n 0,\n );\n}\n\nfunction cleanup(g) {\n var graphLabel = g.graph();\n g.removeNode(graphLabel.nestingRoot);\n delete graphLabel.nestingRoot;\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n if (edge.nestingEdge) {\n g.removeEdge(e);\n }\n });\n}\n", + "import * as _ from 'lodash-es';\n\nexport { addSubgraphConstraints };\n\nfunction addSubgraphConstraints(g, cg, vs) {\n var prev = {},\n rootPrev;\n\n _.forEach(vs, function (v) {\n var child = g.parent(v),\n parent,\n prevChild;\n while (child) {\n parent = g.parent(child);\n if (parent) {\n prevChild = prev[parent];\n prev[parent] = child;\n } else {\n prevChild = rootPrev;\n rootPrev = child;\n }\n if (prevChild && prevChild !== child) {\n cg.setEdge(prevChild, child);\n return;\n }\n child = parent;\n }\n });\n\n /*\n function dfs(v) {\n var children = v ? g.children(v) : g.children();\n if (children.length) {\n var min = Number.POSITIVE_INFINITY,\n subgraphs = [];\n _.each(children, function(child) {\n var childMin = dfs(child);\n if (g.children(child).length) {\n subgraphs.push({ v: child, order: childMin });\n }\n min = Math.min(min, childMin);\n });\n _.reduce(_.sortBy(subgraphs, \"order\"), function(prev, curr) {\n cg.setEdge(prev.v, curr.v);\n return curr;\n });\n return min;\n }\n return g.node(v).order;\n }\n dfs(undefined);\n */\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../../graphlib/index.js';\n\nexport { buildLayerGraph };\n\n/*\n * Constructs a graph that can be used to sort a layer of nodes. The graph will\n * contain all base and subgraph nodes from the request layer in their original\n * hierarchy and any edges that are incident on these nodes and are of the type\n * requested by the \"relationship\" parameter.\n *\n * Nodes from the requested rank that do not have parents are assigned a root\n * node in the output graph, which is set in the root graph attribute. This\n * makes it easy to walk the hierarchy of movable nodes during ordering.\n *\n * Pre-conditions:\n *\n * 1. Input graph is a DAG\n * 2. Base nodes in the input graph have a rank attribute\n * 3. Subgraph nodes in the input graph has minRank and maxRank attributes\n * 4. Edges have an assigned weight\n *\n * Post-conditions:\n *\n * 1. Output graph has all nodes in the movable rank with preserved\n * hierarchy.\n * 2. Root nodes in the movable layer are made children of the node\n * indicated by the root attribute of the graph.\n * 3. Non-movable nodes incident on movable nodes, selected by the\n * relationship parameter, are included in the graph (without hierarchy).\n * 4. Edges incident on movable nodes, selected by the relationship\n * parameter, are added to the output graph.\n * 5. The weights for copied edges are aggregated as need, since the output\n * graph is not a multi-graph.\n */\nfunction buildLayerGraph(g, rank, relationship) {\n var root = createRootNode(g),\n result = new Graph({ compound: true })\n .setGraph({ root: root })\n .setDefaultNodeLabel(function (v) {\n return g.node(v);\n });\n\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v),\n parent = g.parent(v);\n\n if (node.rank === rank || (node.minRank <= rank && rank <= node.maxRank)) {\n result.setNode(v);\n result.setParent(v, parent || root);\n\n // This assumes we have only short edges!\n _.forEach(g[relationship](v), function (e) {\n var u = e.v === v ? e.w : e.v,\n edge = result.edge(u, v),\n weight = !_.isUndefined(edge) ? edge.weight : 0;\n result.setEdge(u, v, { weight: g.edge(e).weight + weight });\n });\n\n if (Object.prototype.hasOwnProperty.call(node, 'minRank')) {\n result.setNode(v, {\n borderLeft: node.borderLeft[rank],\n borderRight: node.borderRight[rank],\n });\n }\n }\n });\n\n return result;\n}\n\nfunction createRootNode(g) {\n var v;\n while (g.hasNode((v = _.uniqueId('_root'))));\n return v;\n}\n", + "import * as _ from 'lodash-es';\n\nexport { crossCount };\n\n/*\n * A function that takes a layering (an array of layers, each with an array of\n * ordererd nodes) and a graph and returns a weighted crossing count.\n *\n * Pre-conditions:\n *\n * 1. Input graph must be simple (not a multigraph), directed, and include\n * only simple edges.\n * 2. Edges in the input graph must have assigned weights.\n *\n * Post-conditions:\n *\n * 1. The graph and layering matrix are left unchanged.\n *\n * This algorithm is derived from Barth, et al., \"Bilayer Cross Counting.\"\n */\nfunction crossCount(g, layering) {\n var cc = 0;\n for (var i = 1; i < layering.length; ++i) {\n cc += twoLayerCrossCount(g, layering[i - 1], layering[i]);\n }\n return cc;\n}\n\nfunction twoLayerCrossCount(g, northLayer, southLayer) {\n // Sort all of the edges between the north and south layers by their position\n // in the north layer and then the south. Map these edges to the position of\n // their head in the south layer.\n var southPos = _.zipObject(\n southLayer,\n _.map(southLayer, function (v, i) {\n return i;\n }),\n );\n var southEntries = _.flatten(\n _.map(northLayer, function (v) {\n return _.sortBy(\n _.map(g.outEdges(v), function (e) {\n return { pos: southPos[e.w], weight: g.edge(e).weight };\n }),\n 'pos',\n );\n }),\n );\n\n // Build the accumulator tree\n var firstIndex = 1;\n while (firstIndex < southLayer.length) firstIndex <<= 1;\n var treeSize = 2 * firstIndex - 1;\n firstIndex -= 1;\n var tree = _.map(new Array(treeSize), function () {\n return 0;\n });\n\n // Calculate the weighted crossings\n var cc = 0;\n _.forEach(\n // @ts-expect-error\n southEntries.forEach(function (entry) {\n var index = entry.pos + firstIndex;\n tree[index] += entry.weight;\n var weightSum = 0;\n // @ts-expect-error\n while (index > 0) {\n // @ts-expect-error\n if (index % 2) {\n weightSum += tree[index + 1];\n }\n // @ts-expect-error\n index = (index - 1) >> 1;\n tree[index] += entry.weight;\n }\n cc += entry.weight * weightSum;\n }),\n );\n\n return cc;\n}\n", + "import * as _ from 'lodash-es';\n\n/*\n * Assigns an initial order value for each node by performing a DFS search\n * starting from nodes in the first rank. Nodes are assigned an order in their\n * rank as they are first visited.\n *\n * This approach comes from Gansner, et al., \"A Technique for Drawing Directed\n * Graphs.\"\n *\n * Returns a layering matrix with an array per layer and each layer sorted by\n * the order of its nodes.\n */\nexport function initOrder(g) {\n var visited = {};\n var simpleNodes = _.filter(g.nodes(), function (v) {\n return !g.children(v).length;\n });\n var maxRank = _.max(\n _.map(simpleNodes, function (v) {\n return g.node(v).rank;\n }),\n );\n var layers = _.map(_.range(maxRank + 1), function () {\n return [];\n });\n\n function dfs(v) {\n if (_.has(visited, v)) return;\n visited[v] = true;\n var node = g.node(v);\n layers[node.rank].push(v);\n _.forEach(g.successors(v), dfs);\n }\n\n var orderedVs = _.sortBy(simpleNodes, function (v) {\n return g.node(v).rank;\n });\n _.forEach(orderedVs, dfs);\n\n return layers;\n}\n", + "import * as _ from 'lodash-es';\n\nexport { barycenter };\n\nfunction barycenter(g, movable) {\n return _.map(movable, function (v) {\n var inV = g.inEdges(v);\n if (!inV.length) {\n return { v: v };\n } else {\n var result = _.reduce(\n inV,\n function (acc, e) {\n var edge = g.edge(e),\n nodeU = g.node(e.v);\n return {\n sum: acc.sum + edge.weight * nodeU.order,\n weight: acc.weight + edge.weight,\n };\n },\n { sum: 0, weight: 0 },\n );\n\n return {\n v: v,\n barycenter: result.sum / result.weight,\n weight: result.weight,\n };\n }\n });\n}\n", + "import * as _ from 'lodash-es';\n\nexport { resolveConflicts };\n\n/*\n * Given a list of entries of the form {v, barycenter, weight} and a\n * constraint graph this function will resolve any conflicts between the\n * constraint graph and the barycenters for the entries. If the barycenters for\n * an entry would violate a constraint in the constraint graph then we coalesce\n * the nodes in the conflict into a new node that respects the contraint and\n * aggregates barycenter and weight information.\n *\n * This implementation is based on the description in Forster, \"A Fast and\n * Simple Hueristic for Constrained Two-Level Crossing Reduction,\" thought it\n * differs in some specific details.\n *\n * Pre-conditions:\n *\n * 1. Each entry has the form {v, barycenter, weight}, or if the node has\n * no barycenter, then {v}.\n *\n * Returns:\n *\n * A new list of entries of the form {vs, i, barycenter, weight}. The list\n * `vs` may either be a singleton or it may be an aggregation of nodes\n * ordered such that they do not violate constraints from the constraint\n * graph. The property `i` is the lowest original index of any of the\n * elements in `vs`.\n */\nfunction resolveConflicts(entries, cg) {\n var mappedEntries = {};\n _.forEach(entries, function (entry, i) {\n var tmp = (mappedEntries[entry.v] = {\n indegree: 0,\n in: [],\n out: [],\n vs: [entry.v],\n i: i,\n });\n if (!_.isUndefined(entry.barycenter)) {\n // @ts-expect-error\n tmp.barycenter = entry.barycenter;\n // @ts-expect-error\n tmp.weight = entry.weight;\n }\n });\n\n _.forEach(cg.edges(), function (e) {\n var entryV = mappedEntries[e.v];\n var entryW = mappedEntries[e.w];\n if (!_.isUndefined(entryV) && !_.isUndefined(entryW)) {\n entryW.indegree++;\n entryV.out.push(mappedEntries[e.w]);\n }\n });\n\n var sourceSet = _.filter(mappedEntries, function (entry) {\n // @ts-expect-error\n return !entry.indegree;\n });\n\n return doResolveConflicts(sourceSet);\n}\n\nfunction doResolveConflicts(sourceSet) {\n var entries = [];\n\n function handleIn(vEntry) {\n return function (uEntry) {\n if (uEntry.merged) {\n return;\n }\n if (\n _.isUndefined(uEntry.barycenter) ||\n _.isUndefined(vEntry.barycenter) ||\n uEntry.barycenter >= vEntry.barycenter\n ) {\n mergeEntries(vEntry, uEntry);\n }\n };\n }\n\n function handleOut(vEntry) {\n return function (wEntry) {\n wEntry['in'].push(vEntry);\n if (--wEntry.indegree === 0) {\n sourceSet.push(wEntry);\n }\n };\n }\n\n while (sourceSet.length) {\n var entry = sourceSet.pop();\n entries.push(entry);\n _.forEach(entry['in'].reverse(), handleIn(entry));\n _.forEach(entry.out, handleOut(entry));\n }\n\n return _.map(\n _.filter(entries, function (entry) {\n return !entry.merged;\n }),\n function (entry) {\n return _.pick(entry, ['vs', 'i', 'barycenter', 'weight']);\n },\n );\n}\n\nfunction mergeEntries(target, source) {\n var sum = 0;\n var weight = 0;\n\n if (target.weight) {\n sum += target.barycenter * target.weight;\n weight += target.weight;\n }\n\n if (source.weight) {\n sum += source.barycenter * source.weight;\n weight += source.weight;\n }\n\n target.vs = source.vs.concat(target.vs);\n target.barycenter = sum / weight;\n target.weight = weight;\n target.i = Math.min(source.i, target.i);\n source.merged = true;\n}\n", + "import * as _ from 'lodash-es';\nimport * as util from '../util.js';\n\nexport { sort };\n\nfunction sort(entries, biasRight) {\n var parts = util.partition(entries, function (entry) {\n return Object.prototype.hasOwnProperty.call(entry, 'barycenter');\n });\n var sortable = parts.lhs,\n unsortable = _.sortBy(parts.rhs, function (entry) {\n return -entry.i;\n }),\n vs = [],\n sum = 0,\n weight = 0,\n vsIndex = 0;\n\n sortable.sort(compareWithBias(!!biasRight));\n\n vsIndex = consumeUnsortable(vs, unsortable, vsIndex);\n\n _.forEach(sortable, function (entry) {\n vsIndex += entry.vs.length;\n vs.push(entry.vs);\n sum += entry.barycenter * entry.weight;\n weight += entry.weight;\n vsIndex = consumeUnsortable(vs, unsortable, vsIndex);\n });\n\n var result = { vs: _.flatten(vs) };\n if (weight) {\n result.barycenter = sum / weight;\n result.weight = weight;\n }\n return result;\n}\n\nfunction consumeUnsortable(vs, unsortable, index) {\n var last;\n while (unsortable.length && (last = _.last(unsortable)).i <= index) {\n unsortable.pop();\n vs.push(last.vs);\n index++;\n }\n return index;\n}\n\nfunction compareWithBias(bias) {\n return function (entryV, entryW) {\n if (entryV.barycenter < entryW.barycenter) {\n return -1;\n } else if (entryV.barycenter > entryW.barycenter) {\n return 1;\n }\n\n return !bias ? entryV.i - entryW.i : entryW.i - entryV.i;\n };\n}\n", + "import * as _ from 'lodash-es';\nimport { barycenter } from './barycenter.js';\nimport { resolveConflicts } from './resolve-conflicts.js';\nimport { sort } from './sort.js';\n\nexport { sortSubgraph };\n\nfunction sortSubgraph(g, v, cg, biasRight) {\n var movable = g.children(v);\n var node = g.node(v);\n var bl = node ? node.borderLeft : undefined;\n var br = node ? node.borderRight : undefined;\n var subgraphs = {};\n\n if (bl) {\n movable = _.filter(movable, function (w) {\n return w !== bl && w !== br;\n });\n }\n\n var barycenters = barycenter(g, movable);\n _.forEach(barycenters, function (entry) {\n if (g.children(entry.v).length) {\n var subgraphResult = sortSubgraph(g, entry.v, cg, biasRight);\n subgraphs[entry.v] = subgraphResult;\n if (Object.prototype.hasOwnProperty.call(subgraphResult, 'barycenter')) {\n mergeBarycenters(entry, subgraphResult);\n }\n }\n });\n\n var entries = resolveConflicts(barycenters, cg);\n expandSubgraphs(entries, subgraphs);\n\n var result = sort(entries, biasRight);\n\n if (bl) {\n result.vs = _.flatten([bl, result.vs, br]);\n if (g.predecessors(bl).length) {\n var blPred = g.node(g.predecessors(bl)[0]),\n brPred = g.node(g.predecessors(br)[0]);\n if (!Object.prototype.hasOwnProperty.call(result, 'barycenter')) {\n result.barycenter = 0;\n result.weight = 0;\n }\n result.barycenter =\n (result.barycenter * result.weight + blPred.order + brPred.order) / (result.weight + 2);\n result.weight += 2;\n }\n }\n\n return result;\n}\n\nfunction expandSubgraphs(entries, subgraphs) {\n _.forEach(entries, function (entry) {\n entry.vs = _.flatten(\n entry.vs.map(function (v) {\n if (subgraphs[v]) {\n return subgraphs[v].vs;\n }\n return v;\n }),\n );\n });\n}\n\nfunction mergeBarycenters(target, other) {\n if (!_.isUndefined(target.barycenter)) {\n target.barycenter =\n (target.barycenter * target.weight + other.barycenter * other.weight) /\n (target.weight + other.weight);\n target.weight += other.weight;\n } else {\n target.barycenter = other.barycenter;\n target.weight = other.weight;\n }\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../../graphlib/index.js';\nimport * as util from '../util.js';\nimport { addSubgraphConstraints } from './add-subgraph-constraints.js';\nimport { buildLayerGraph } from './build-layer-graph.js';\nimport { crossCount } from './cross-count.js';\nimport { initOrder } from './init-order.js';\nimport { sortSubgraph } from './sort-subgraph.js';\n\nexport { order };\n\n/*\n * Applies heuristics to minimize edge crossings in the graph and sets the best\n * order solution as an order attribute on each node.\n *\n * Pre-conditions:\n *\n * 1. Graph must be DAG\n * 2. Graph nodes must be objects with a \"rank\" attribute\n * 3. Graph edges must have the \"weight\" attribute\n *\n * Post-conditions:\n *\n * 1. Graph nodes will have an \"order\" attribute based on the results of the\n * algorithm.\n */\nfunction order(g) {\n var maxRank = util.maxRank(g),\n downLayerGraphs = buildLayerGraphs(g, _.range(1, maxRank + 1), 'inEdges'),\n upLayerGraphs = buildLayerGraphs(g, _.range(maxRank - 1, -1, -1), 'outEdges');\n\n var layering = initOrder(g);\n assignOrder(g, layering);\n\n var bestCC = Number.POSITIVE_INFINITY,\n best;\n\n for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) {\n sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2);\n\n layering = util.buildLayerMatrix(g);\n var cc = crossCount(g, layering);\n if (cc < bestCC) {\n lastBest = 0;\n best = _.cloneDeep(layering);\n bestCC = cc;\n }\n }\n\n assignOrder(g, best);\n}\n\nfunction buildLayerGraphs(g, ranks, relationship) {\n return _.map(ranks, function (rank) {\n return buildLayerGraph(g, rank, relationship);\n });\n}\n\nfunction sweepLayerGraphs(layerGraphs, biasRight) {\n var cg = new Graph();\n _.forEach(layerGraphs, function (lg) {\n var root = lg.graph().root;\n var sorted = sortSubgraph(lg, root, cg, biasRight);\n _.forEach(sorted.vs, function (v, i) {\n lg.node(v).order = i;\n });\n addSubgraphConstraints(lg, cg, sorted.vs);\n });\n}\n\nfunction assignOrder(g, layering) {\n _.forEach(layering, function (layer) {\n _.forEach(layer, function (v, i) {\n g.node(v).order = i;\n });\n });\n}\n", + "import * as _ from 'lodash-es';\n\nexport { parentDummyChains };\n\nfunction parentDummyChains(g) {\n var postorderNums = postorder(g);\n\n _.forEach(g.graph().dummyChains, function (v) {\n var node = g.node(v);\n var edgeObj = node.edgeObj;\n var pathData = findPath(g, postorderNums, edgeObj.v, edgeObj.w);\n var path = pathData.path;\n var lca = pathData.lca;\n var pathIdx = 0;\n var pathV = path[pathIdx];\n var ascending = true;\n\n while (v !== edgeObj.w) {\n node = g.node(v);\n\n if (ascending) {\n while ((pathV = path[pathIdx]) !== lca && g.node(pathV).maxRank < node.rank) {\n pathIdx++;\n }\n\n if (pathV === lca) {\n ascending = false;\n }\n }\n\n if (!ascending) {\n while (\n pathIdx < path.length - 1 &&\n g.node((pathV = path[pathIdx + 1])).minRank <= node.rank\n ) {\n pathIdx++;\n }\n pathV = path[pathIdx];\n }\n\n g.setParent(v, pathV);\n v = g.successors(v)[0];\n }\n });\n}\n\n// Find a path from v to w through the lowest common ancestor (LCA). Return the\n// full path and the LCA.\nfunction findPath(g, postorderNums, v, w) {\n var vPath = [];\n var wPath = [];\n var low = Math.min(postorderNums[v].low, postorderNums[w].low);\n var lim = Math.max(postorderNums[v].lim, postorderNums[w].lim);\n var parent;\n var lca;\n\n // Traverse up from v to find the LCA\n parent = v;\n do {\n parent = g.parent(parent);\n vPath.push(parent);\n } while (parent && (postorderNums[parent].low > low || lim > postorderNums[parent].lim));\n lca = parent;\n\n // Traverse from w to LCA\n parent = w;\n while ((parent = g.parent(parent)) !== lca) {\n wPath.push(parent);\n }\n\n return { path: vPath.concat(wPath.reverse()), lca: lca };\n}\n\nfunction postorder(g) {\n var result = {};\n var lim = 0;\n\n function dfs(v) {\n var low = lim;\n _.forEach(g.children(v), dfs);\n result[v] = { low: low, lim: lim++ };\n }\n _.forEach(g.children(), dfs);\n\n return result;\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../../graphlib/index.js';\nimport * as util from '../util.js';\n\n/*\n * This module provides coordinate assignment based on Brandes and Köpf, \"Fast\n * and Simple Horizontal Coordinate Assignment.\"\n */\n\nexport {\n positionX,\n findType1Conflicts,\n findType2Conflicts,\n addConflict,\n hasConflict,\n verticalAlignment,\n horizontalCompaction,\n alignCoordinates,\n findSmallestWidthAlignment,\n balance,\n};\n\n/*\n * Marks all edges in the graph with a type-1 conflict with the \"type1Conflict\"\n * property. A type-1 conflict is one where a non-inner segment crosses an\n * inner segment. An inner segment is an edge with both incident nodes marked\n * with the \"dummy\" property.\n *\n * This algorithm scans layer by layer, starting with the second, for type-1\n * conflicts between the current layer and the previous layer. For each layer\n * it scans the nodes from left to right until it reaches one that is incident\n * on an inner segment. It then scans predecessors to determine if they have\n * edges that cross that inner segment. At the end a final scan is done for all\n * nodes on the current rank to see if they cross the last visited inner\n * segment.\n *\n * This algorithm (safely) assumes that a dummy node will only be incident on a\n * single node in the layers being scanned.\n */\nfunction findType1Conflicts(g, layering) {\n var conflicts = {};\n\n function visitLayer(prevLayer, layer) {\n var // last visited node in the previous layer that is incident on an inner\n // segment.\n k0 = 0,\n // Tracks the last node in this layer scanned for crossings with a type-1\n // segment.\n scanPos = 0,\n prevLayerLength = prevLayer.length,\n lastNode = _.last(layer);\n\n _.forEach(layer, function (v, i) {\n var w = findOtherInnerSegmentNode(g, v),\n k1 = w ? g.node(w).order : prevLayerLength;\n\n if (w || v === lastNode) {\n _.forEach(layer.slice(scanPos, i + 1), function (scanNode) {\n _.forEach(g.predecessors(scanNode), function (u) {\n var uLabel = g.node(u),\n uPos = uLabel.order;\n if ((uPos < k0 || k1 < uPos) && !(uLabel.dummy && g.node(scanNode).dummy)) {\n addConflict(conflicts, u, scanNode);\n }\n });\n });\n // @ts-expect-error\n scanPos = i + 1;\n k0 = k1;\n }\n });\n\n return layer;\n }\n\n _.reduce(layering, visitLayer);\n return conflicts;\n}\n\nfunction findType2Conflicts(g, layering) {\n var conflicts = {};\n\n function scan(south, southPos, southEnd, prevNorthBorder, nextNorthBorder) {\n var v;\n _.forEach(_.range(southPos, southEnd), function (i) {\n v = south[i];\n if (g.node(v).dummy) {\n _.forEach(g.predecessors(v), function (u) {\n var uNode = g.node(u);\n if (uNode.dummy && (uNode.order < prevNorthBorder || uNode.order > nextNorthBorder)) {\n addConflict(conflicts, u, v);\n }\n });\n }\n });\n }\n\n function visitLayer(north, south) {\n var prevNorthPos = -1,\n nextNorthPos,\n southPos = 0;\n\n _.forEach(south, function (v, southLookahead) {\n if (g.node(v).dummy === 'border') {\n var predecessors = g.predecessors(v);\n if (predecessors.length) {\n nextNorthPos = g.node(predecessors[0]).order;\n scan(south, southPos, southLookahead, prevNorthPos, nextNorthPos);\n // @ts-expect-error\n southPos = southLookahead;\n prevNorthPos = nextNorthPos;\n }\n }\n scan(south, southPos, south.length, nextNorthPos, north.length);\n });\n\n return south;\n }\n\n _.reduce(layering, visitLayer);\n return conflicts;\n}\n\nfunction findOtherInnerSegmentNode(g, v) {\n if (g.node(v).dummy) {\n return _.find(g.predecessors(v), function (u) {\n return g.node(u).dummy;\n });\n }\n}\n\nfunction addConflict(conflicts, v, w) {\n if (v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n\n var conflictsV = conflicts[v];\n if (!conflictsV) {\n conflicts[v] = conflictsV = {};\n }\n conflictsV[w] = true;\n}\n\nfunction hasConflict(conflicts, v, w) {\n if (v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return !!conflicts[v] && Object.prototype.hasOwnProperty.call(conflicts[v], w);\n}\n\n/*\n * Try to align nodes into vertical \"blocks\" where possible. This algorithm\n * attempts to align a node with one of its median neighbors. If the edge\n * connecting a neighbor is a type-1 conflict then we ignore that possibility.\n * If a previous node has already formed a block with a node after the node\n * we're trying to form a block with, we also ignore that possibility - our\n * blocks would be split in that scenario.\n */\nfunction verticalAlignment(g, layering, conflicts, neighborFn) {\n var root = {},\n align = {},\n pos = {};\n\n // We cache the position here based on the layering because the graph and\n // layering may be out of sync. The layering matrix is manipulated to\n // generate different extreme alignments.\n _.forEach(layering, function (layer) {\n _.forEach(layer, function (v, order) {\n root[v] = v;\n align[v] = v;\n pos[v] = order;\n });\n });\n\n _.forEach(layering, function (layer) {\n var prevIdx = -1;\n _.forEach(layer, function (v) {\n var ws = neighborFn(v);\n if (ws.length) {\n ws = _.sortBy(ws, function (w) {\n return pos[w];\n });\n var mp = (ws.length - 1) / 2;\n for (var i = Math.floor(mp), il = Math.ceil(mp); i <= il; ++i) {\n var w = ws[i];\n if (align[v] === v && prevIdx < pos[w] && !hasConflict(conflicts, v, w)) {\n align[w] = v;\n align[v] = root[v] = root[w];\n prevIdx = pos[w];\n }\n }\n }\n });\n });\n\n return { root: root, align: align };\n}\n\nfunction horizontalCompaction(g, layering, root, align, reverseSep) {\n // This portion of the algorithm differs from BK due to a number of problems.\n // Instead of their algorithm we construct a new block graph and do two\n // sweeps. The first sweep places blocks with the smallest possible\n // coordinates. The second sweep removes unused space by moving blocks to the\n // greatest coordinates without violating separation.\n var xs = {},\n blockG = buildBlockGraph(g, layering, root, reverseSep),\n borderType = reverseSep ? 'borderLeft' : 'borderRight';\n\n function iterate(setXsFunc, nextNodesFunc) {\n var stack = blockG.nodes();\n var elem = stack.pop();\n var visited = {};\n while (elem) {\n if (visited[elem]) {\n setXsFunc(elem);\n } else {\n visited[elem] = true;\n stack.push(elem);\n stack = stack.concat(nextNodesFunc(elem));\n }\n\n elem = stack.pop();\n }\n }\n\n // First pass, assign smallest coordinates\n function pass1(elem) {\n xs[elem] = blockG.inEdges(elem).reduce(function (acc, e) {\n return Math.max(acc, xs[e.v] + blockG.edge(e));\n }, 0);\n }\n\n // Second pass, assign greatest coordinates\n function pass2(elem) {\n var min = blockG.outEdges(elem).reduce(function (acc, e) {\n return Math.min(acc, xs[e.w] - blockG.edge(e));\n }, Number.POSITIVE_INFINITY);\n\n var node = g.node(elem);\n if (min !== Number.POSITIVE_INFINITY && node.borderType !== borderType) {\n xs[elem] = Math.max(xs[elem], min);\n }\n }\n\n iterate(pass1, blockG.predecessors.bind(blockG));\n iterate(pass2, blockG.successors.bind(blockG));\n\n // Assign x coordinates to all nodes\n _.forEach(align, function (v) {\n xs[v] = xs[root[v]];\n });\n\n return xs;\n}\n\nfunction buildBlockGraph(g, layering, root, reverseSep) {\n var blockGraph = new Graph(),\n graphLabel = g.graph(),\n sepFn = sep(graphLabel.nodesep, graphLabel.edgesep, reverseSep);\n\n _.forEach(layering, function (layer) {\n var u;\n _.forEach(layer, function (v) {\n var vRoot = root[v];\n blockGraph.setNode(vRoot);\n if (u) {\n var uRoot = root[u],\n prevMax = blockGraph.edge(uRoot, vRoot);\n blockGraph.setEdge(uRoot, vRoot, Math.max(sepFn(g, v, u), prevMax || 0));\n }\n u = v;\n });\n });\n\n return blockGraph;\n}\n\n/*\n * Returns the alignment that has the smallest width of the given alignments.\n */\nfunction findSmallestWidthAlignment(g, xss) {\n return _.minBy(_.values(xss), function (xs) {\n var max = Number.NEGATIVE_INFINITY;\n var min = Number.POSITIVE_INFINITY;\n\n _.forIn(xs, function (x, v) {\n var halfWidth = width(g, v) / 2;\n\n max = Math.max(x + halfWidth, max);\n min = Math.min(x - halfWidth, min);\n });\n\n return max - min;\n });\n}\n\n/*\n * Align the coordinates of each of the layout alignments such that\n * left-biased alignments have their minimum coordinate at the same point as\n * the minimum coordinate of the smallest width alignment and right-biased\n * alignments have their maximum coordinate at the same point as the maximum\n * coordinate of the smallest width alignment.\n */\nfunction alignCoordinates(xss, alignTo) {\n var alignToVals = _.values(alignTo),\n alignToMin = _.min(alignToVals),\n alignToMax = _.max(alignToVals);\n\n _.forEach(['u', 'd'], function (vert) {\n _.forEach(['l', 'r'], function (horiz) {\n var alignment = vert + horiz,\n xs = xss[alignment],\n delta;\n if (xs === alignTo) return;\n\n var xsVals = _.values(xs);\n delta = horiz === 'l' ? alignToMin - _.min(xsVals) : alignToMax - _.max(xsVals);\n\n if (delta) {\n xss[alignment] = _.mapValues(xs, function (x) {\n return x + delta;\n });\n }\n });\n });\n}\n\nfunction balance(xss, align) {\n return _.mapValues(xss.ul, function (ignore, v) {\n if (align) {\n return xss[align.toLowerCase()][v];\n } else {\n var xs = _.sortBy(_.map(xss, v));\n return (xs[1] + xs[2]) / 2;\n }\n });\n}\n\nfunction positionX(g) {\n var layering = util.buildLayerMatrix(g);\n var conflicts = _.merge(findType1Conflicts(g, layering), findType2Conflicts(g, layering));\n\n var xss = {};\n var adjustedLayering;\n _.forEach(['u', 'd'], function (vert) {\n adjustedLayering = vert === 'u' ? layering : _.values(layering).reverse();\n _.forEach(['l', 'r'], function (horiz) {\n if (horiz === 'r') {\n adjustedLayering = _.map(adjustedLayering, function (inner) {\n return _.values(inner).reverse();\n });\n }\n\n var neighborFn = (vert === 'u' ? g.predecessors : g.successors).bind(g);\n var align = verticalAlignment(g, adjustedLayering, conflicts, neighborFn);\n var xs = horizontalCompaction(g, adjustedLayering, align.root, align.align, horiz === 'r');\n if (horiz === 'r') {\n xs = _.mapValues(xs, function (x) {\n return -x;\n });\n }\n xss[vert + horiz] = xs;\n });\n });\n\n var smallestWidth = findSmallestWidthAlignment(g, xss);\n alignCoordinates(xss, smallestWidth);\n return balance(xss, g.graph().align);\n}\n\nfunction sep(nodeSep, edgeSep, reverseSep) {\n return function (g, v, w) {\n var vLabel = g.node(v);\n var wLabel = g.node(w);\n var sum = 0;\n var delta;\n\n sum += vLabel.width / 2;\n if (Object.prototype.hasOwnProperty.call(vLabel, 'labelpos')) {\n switch (vLabel.labelpos.toLowerCase()) {\n case 'l':\n delta = -vLabel.width / 2;\n break;\n case 'r':\n delta = vLabel.width / 2;\n break;\n }\n }\n if (delta) {\n sum += reverseSep ? delta : -delta;\n }\n delta = 0;\n\n sum += (vLabel.dummy ? edgeSep : nodeSep) / 2;\n sum += (wLabel.dummy ? edgeSep : nodeSep) / 2;\n\n sum += wLabel.width / 2;\n if (Object.prototype.hasOwnProperty.call(wLabel, 'labelpos')) {\n switch (wLabel.labelpos.toLowerCase()) {\n case 'l':\n delta = wLabel.width / 2;\n break;\n case 'r':\n delta = -wLabel.width / 2;\n break;\n }\n }\n if (delta) {\n sum += reverseSep ? delta : -delta;\n }\n delta = 0;\n\n return sum;\n };\n}\n\nfunction width(g, v) {\n return g.node(v).width;\n}\n", + "import * as _ from 'lodash-es';\nimport * as util from '../util.js';\nimport { positionX } from './bk.js';\n\nexport { position };\n\nfunction position(g) {\n g = util.asNonCompoundGraph(g);\n\n positionY(g);\n _.forOwn(positionX(g), function (x, v) {\n g.node(v).x = x;\n });\n}\n\nfunction positionY(g) {\n var layering = util.buildLayerMatrix(g);\n var rankSep = g.graph().ranksep;\n var prevY = 0;\n _.forEach(layering, function (layer) {\n var maxHeight = _.max(\n _.map(layer, function (v) {\n return g.node(v).height;\n }),\n );\n _.forEach(layer, function (v) {\n g.node(v).y = prevY + maxHeight / 2;\n });\n prevY += maxHeight + rankSep;\n });\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from '../graphlib/index.js';\nimport { addBorderSegments } from './add-border-segments.js';\nimport * as coordinateSystem from './coordinate-system.js';\nimport * as acyclic from './acyclic.js';\nimport * as normalize from './normalize.js';\nimport { rank } from './rank/index.js';\nimport * as nestingGraph from './nesting-graph.js';\nimport { order } from './order/index.js';\nimport { parentDummyChains } from './parent-dummy-chains.js';\nimport { position } from './position/index.js';\nimport * as util from './util.js';\n\nexport { layout };\n\nfunction layout(g, opts) {\n var time = opts && opts.debugTiming ? util.time : util.notime;\n time('layout', () => {\n var layoutGraph = time(' buildLayoutGraph', () => buildLayoutGraph(g));\n time(' runLayout', () => runLayout(layoutGraph, time));\n time(' updateInputGraph', () => updateInputGraph(g, layoutGraph));\n });\n}\n\nfunction runLayout(g, time) {\n time(' makeSpaceForEdgeLabels', () => makeSpaceForEdgeLabels(g));\n time(' removeSelfEdges', () => removeSelfEdges(g));\n time(' acyclic', () => acyclic.run(g));\n time(' nestingGraph.run', () => nestingGraph.run(g));\n time(' rank', () => rank(util.asNonCompoundGraph(g)));\n time(' injectEdgeLabelProxies', () => injectEdgeLabelProxies(g));\n time(' removeEmptyRanks', () => util.removeEmptyRanks(g));\n time(' nestingGraph.cleanup', () => nestingGraph.cleanup(g));\n time(' normalizeRanks', () => util.normalizeRanks(g));\n time(' assignRankMinMax', () => assignRankMinMax(g));\n time(' removeEdgeLabelProxies', () => removeEdgeLabelProxies(g));\n time(' normalize.run', () => normalize.run(g));\n time(' parentDummyChains', () => parentDummyChains(g));\n time(' addBorderSegments', () => addBorderSegments(g));\n time(' order', () => order(g));\n time(' insertSelfEdges', () => insertSelfEdges(g));\n time(' adjustCoordinateSystem', () => coordinateSystem.adjust(g));\n time(' position', () => position(g));\n time(' positionSelfEdges', () => positionSelfEdges(g));\n time(' removeBorderNodes', () => removeBorderNodes(g));\n time(' normalize.undo', () => normalize.undo(g));\n time(' fixupEdgeLabelCoords', () => fixupEdgeLabelCoords(g));\n time(' undoCoordinateSystem', () => coordinateSystem.undo(g));\n time(' translateGraph', () => translateGraph(g));\n time(' assignNodeIntersects', () => assignNodeIntersects(g));\n time(' reversePoints', () => reversePointsForReversedEdges(g));\n time(' acyclic.undo', () => acyclic.undo(g));\n}\n\n/*\n * Copies final layout information from the layout graph back to the input\n * graph. This process only copies whitelisted attributes from the layout graph\n * to the input graph, so it serves as a good place to determine what\n * attributes can influence layout.\n */\nfunction updateInputGraph(inputGraph, layoutGraph) {\n _.forEach(inputGraph.nodes(), function (v) {\n var inputLabel = inputGraph.node(v);\n var layoutLabel = layoutGraph.node(v);\n\n if (inputLabel) {\n inputLabel.x = layoutLabel.x;\n inputLabel.y = layoutLabel.y;\n\n if (layoutGraph.children(v).length) {\n inputLabel.width = layoutLabel.width;\n inputLabel.height = layoutLabel.height;\n }\n }\n });\n\n _.forEach(inputGraph.edges(), function (e) {\n var inputLabel = inputGraph.edge(e);\n var layoutLabel = layoutGraph.edge(e);\n\n inputLabel.points = layoutLabel.points;\n if (Object.prototype.hasOwnProperty.call(layoutLabel, 'x')) {\n inputLabel.x = layoutLabel.x;\n inputLabel.y = layoutLabel.y;\n }\n });\n\n inputGraph.graph().width = layoutGraph.graph().width;\n inputGraph.graph().height = layoutGraph.graph().height;\n}\n\nvar graphNumAttrs = ['nodesep', 'edgesep', 'ranksep', 'marginx', 'marginy'];\nvar graphDefaults = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: 'tb' };\nvar graphAttrs = ['acyclicer', 'ranker', 'rankdir', 'align'];\nvar nodeNumAttrs = ['width', 'height'];\nvar nodeDefaults = { width: 0, height: 0 };\nvar edgeNumAttrs = ['minlen', 'weight', 'width', 'height', 'labeloffset'];\nvar edgeDefaults = {\n minlen: 1,\n weight: 1,\n width: 0,\n height: 0,\n labeloffset: 10,\n labelpos: 'r',\n};\nvar edgeAttrs = ['labelpos'];\n\n/*\n * Constructs a new graph from the input graph, which can be used for layout.\n * This process copies only whitelisted attributes from the input graph to the\n * layout graph. Thus this function serves as a good place to determine what\n * attributes can influence layout.\n */\nfunction buildLayoutGraph(inputGraph) {\n var g = new Graph({ multigraph: true, compound: true });\n var graph = canonicalize(inputGraph.graph());\n\n g.setGraph(\n _.merge({}, graphDefaults, selectNumberAttrs(graph, graphNumAttrs), _.pick(graph, graphAttrs)),\n );\n\n _.forEach(inputGraph.nodes(), function (v) {\n var node = canonicalize(inputGraph.node(v));\n g.setNode(v, _.defaults(selectNumberAttrs(node, nodeNumAttrs), nodeDefaults));\n g.setParent(v, inputGraph.parent(v));\n });\n\n _.forEach(inputGraph.edges(), function (e) {\n var edge = canonicalize(inputGraph.edge(e));\n g.setEdge(\n e,\n _.merge({}, edgeDefaults, selectNumberAttrs(edge, edgeNumAttrs), _.pick(edge, edgeAttrs)),\n );\n });\n\n return g;\n}\n\n/*\n * This idea comes from the Gansner paper: to account for edge labels in our\n * layout we split each rank in half by doubling minlen and halving ranksep.\n * Then we can place labels at these mid-points between nodes.\n *\n * We also add some minimal padding to the width to push the label for the edge\n * away from the edge itself a bit.\n */\nfunction makeSpaceForEdgeLabels(g) {\n var graph = g.graph();\n graph.ranksep /= 2;\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n edge.minlen *= 2;\n if (edge.labelpos.toLowerCase() !== 'c') {\n if (graph.rankdir === 'TB' || graph.rankdir === 'BT') {\n edge.width += edge.labeloffset;\n } else {\n edge.height += edge.labeloffset;\n }\n }\n });\n}\n\n/*\n * Creates temporary dummy nodes that capture the rank in which each edge's\n * label is going to, if it has one of non-zero width and height. We do this\n * so that we can safely remove empty ranks while preserving balance for the\n * label's position.\n */\nfunction injectEdgeLabelProxies(g) {\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n if (edge.width && edge.height) {\n var v = g.node(e.v);\n var w = g.node(e.w);\n var label = { rank: (w.rank - v.rank) / 2 + v.rank, e: e };\n util.addDummyNode(g, 'edge-proxy', label, '_ep');\n }\n });\n}\n\nfunction assignRankMinMax(g) {\n var maxRank = 0;\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v);\n if (node.borderTop) {\n node.minRank = g.node(node.borderTop).rank;\n node.maxRank = g.node(node.borderBottom).rank;\n // @ts-expect-error\n maxRank = _.max(maxRank, node.maxRank);\n }\n });\n g.graph().maxRank = maxRank;\n}\n\nfunction removeEdgeLabelProxies(g) {\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v);\n if (node.dummy === 'edge-proxy') {\n g.edge(node.e).labelRank = node.rank;\n g.removeNode(v);\n }\n });\n}\n\nfunction translateGraph(g) {\n var minX = Number.POSITIVE_INFINITY;\n var maxX = 0;\n var minY = Number.POSITIVE_INFINITY;\n var maxY = 0;\n var graphLabel = g.graph();\n var marginX = graphLabel.marginx || 0;\n var marginY = graphLabel.marginy || 0;\n\n function getExtremes(attrs) {\n var x = attrs.x;\n var y = attrs.y;\n var w = attrs.width;\n var h = attrs.height;\n minX = Math.min(minX, x - w / 2);\n maxX = Math.max(maxX, x + w / 2);\n minY = Math.min(minY, y - h / 2);\n maxY = Math.max(maxY, y + h / 2);\n }\n\n _.forEach(g.nodes(), function (v) {\n getExtremes(g.node(v));\n });\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n if (Object.prototype.hasOwnProperty.call(edge, 'x')) {\n getExtremes(edge);\n }\n });\n\n minX -= marginX;\n minY -= marginY;\n\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v);\n node.x -= minX;\n node.y -= minY;\n });\n\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n _.forEach(edge.points, function (p) {\n p.x -= minX;\n p.y -= minY;\n });\n if (Object.prototype.hasOwnProperty.call(edge, 'x')) {\n edge.x -= minX;\n }\n if (Object.prototype.hasOwnProperty.call(edge, 'y')) {\n edge.y -= minY;\n }\n });\n\n graphLabel.width = maxX - minX + marginX;\n graphLabel.height = maxY - minY + marginY;\n}\n\nfunction assignNodeIntersects(g) {\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n var nodeV = g.node(e.v);\n var nodeW = g.node(e.w);\n var p1, p2;\n if (!edge.points) {\n edge.points = [];\n p1 = nodeW;\n p2 = nodeV;\n } else {\n p1 = edge.points[0];\n p2 = edge.points[edge.points.length - 1];\n }\n edge.points.unshift(util.intersectRect(nodeV, p1));\n edge.points.push(util.intersectRect(nodeW, p2));\n });\n}\n\nfunction fixupEdgeLabelCoords(g) {\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n if (Object.prototype.hasOwnProperty.call(edge, 'x')) {\n if (edge.labelpos === 'l' || edge.labelpos === 'r') {\n edge.width -= edge.labeloffset;\n }\n switch (edge.labelpos) {\n case 'l':\n edge.x -= edge.width / 2 + edge.labeloffset;\n break;\n case 'r':\n edge.x += edge.width / 2 + edge.labeloffset;\n break;\n }\n }\n });\n}\n\nfunction reversePointsForReversedEdges(g) {\n _.forEach(g.edges(), function (e) {\n var edge = g.edge(e);\n if (edge.reversed) {\n edge.points.reverse();\n }\n });\n}\n\nfunction removeBorderNodes(g) {\n _.forEach(g.nodes(), function (v) {\n if (g.children(v).length) {\n var node = g.node(v);\n var t = g.node(node.borderTop);\n var b = g.node(node.borderBottom);\n var l = g.node(_.last(node.borderLeft));\n var r = g.node(_.last(node.borderRight));\n\n node.width = Math.abs(r.x - l.x);\n node.height = Math.abs(b.y - t.y);\n node.x = l.x + node.width / 2;\n node.y = t.y + node.height / 2;\n }\n });\n\n _.forEach(g.nodes(), function (v) {\n if (g.node(v).dummy === 'border') {\n g.removeNode(v);\n }\n });\n}\n\nfunction removeSelfEdges(g) {\n _.forEach(g.edges(), function (e) {\n if (e.v === e.w) {\n var node = g.node(e.v);\n if (!node.selfEdges) {\n node.selfEdges = [];\n }\n node.selfEdges.push({ e: e, label: g.edge(e) });\n g.removeEdge(e);\n }\n });\n}\n\nfunction insertSelfEdges(g) {\n var layers = util.buildLayerMatrix(g);\n _.forEach(layers, function (layer) {\n var orderShift = 0;\n _.forEach(layer, function (v, i) {\n var node = g.node(v);\n node.order = i + orderShift;\n _.forEach(node.selfEdges, function (selfEdge) {\n util.addDummyNode(\n g,\n 'selfedge',\n {\n width: selfEdge.label.width,\n height: selfEdge.label.height,\n rank: node.rank,\n order: i + ++orderShift,\n e: selfEdge.e,\n label: selfEdge.label,\n },\n '_se',\n );\n });\n delete node.selfEdges;\n });\n });\n}\n\nfunction positionSelfEdges(g) {\n _.forEach(g.nodes(), function (v) {\n var node = g.node(v);\n if (node.dummy === 'selfedge') {\n var selfNode = g.node(node.e.v);\n var x = selfNode.x + selfNode.width / 2;\n var y = selfNode.y;\n var dx = node.x - x;\n var dy = selfNode.height / 2;\n g.setEdge(node.e, node.label);\n g.removeNode(v);\n node.label.points = [\n { x: x + (2 * dx) / 3, y: y - dy },\n { x: x + (5 * dx) / 6, y: y - dy },\n { x: x + dx, y: y },\n { x: x + (5 * dx) / 6, y: y + dy },\n { x: x + (2 * dx) / 3, y: y + dy },\n ];\n node.label.x = node.x;\n node.label.y = node.y;\n }\n });\n}\n\nfunction selectNumberAttrs(obj, attrs) {\n return _.mapValues(_.pick(obj, attrs), Number);\n}\n\nfunction canonicalize(attrs) {\n var newAttrs = {};\n _.forEach(attrs, function (v, k) {\n newAttrs[k.toLowerCase()] = v;\n });\n return newAttrs;\n}\n", + "import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n", + "import {\n clear as clear2,\n insertEdge,\n insertEdgeLabel,\n markers_default,\n positionEdgeLabel\n} from \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport {\n clear,\n clear2 as clear3,\n insertCluster,\n insertNode,\n positionNode,\n setNodeElem,\n updateNodeBounds\n} from \"./chunk-HRU6DDCH.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n getConfig2 as getConfig,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson2 from \"dagre-d3-es/src/graphlib/json.js\";\nimport * as graphlib2 from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/rendering-util/layout-algorithms/dagre/mermaid-graphlib.js\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nvar clusterDb = /* @__PURE__ */ new Map();\nvar descendants = /* @__PURE__ */ new Map();\nvar parents = /* @__PURE__ */ new Map();\nvar clear4 = /* @__PURE__ */ __name(() => {\n descendants.clear();\n parents.clear();\n clusterDb.clear();\n}, \"clear\");\nvar isDescendant = /* @__PURE__ */ __name((id, ancestorId) => {\n const ancestorDescendants = descendants.get(ancestorId) || [];\n log.trace(\"In isDescendant\", ancestorId, \" \", id, \" = \", ancestorDescendants.includes(id));\n return ancestorDescendants.includes(id);\n}, \"isDescendant\");\nvar edgeInCluster = /* @__PURE__ */ __name((edge, clusterId) => {\n const clusterDescendants = descendants.get(clusterId) || [];\n log.info(\"Descendants of \", clusterId, \" is \", clusterDescendants);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId || edge.w === clusterId) {\n return false;\n }\n if (!clusterDescendants) {\n log.debug(\"Tilt, \", clusterId, \",not in descendants\");\n return false;\n }\n return clusterDescendants.includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || clusterDescendants.includes(edge.w);\n}, \"edgeInCluster\");\nvar copy = /* @__PURE__ */ __name((clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n}, \"copy\");\nvar extractDescendants = /* @__PURE__ */ __name((id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents.set(child, id);\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n}, \"extractDescendants\");\nvar findCommonEdges = /* @__PURE__ */ __name((graph, id1, id2) => {\n const edges1 = graph.edges().filter((edge) => edge.v === id1 || edge.w === id1);\n const edges2 = graph.edges().filter((edge) => edge.v === id2 || edge.w === id2);\n const edges1Prim = edges1.map((edge) => {\n return { v: edge.v === id1 ? id2 : edge.v, w: edge.w === id1 ? id1 : edge.w };\n });\n const edges2Prim = edges2.map((edge) => {\n return { v: edge.v, w: edge.w };\n });\n const result = edges1Prim.filter((edgeIn1) => {\n return edges2Prim.some((edge) => edgeIn1.v === edge.v && edgeIn1.w === edge.w);\n });\n return result;\n}, \"findCommonEdges\");\nvar findNonClusterChild = /* @__PURE__ */ __name((id, graph, clusterId) => {\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n return id;\n }\n let reserve;\n for (const child of children) {\n const _id = findNonClusterChild(child, graph, clusterId);\n const commonEdges = findCommonEdges(graph, clusterId, _id);\n if (_id) {\n if (commonEdges.length > 0) {\n reserve = _id;\n } else {\n return _id;\n }\n }\n }\n return reserve;\n}, \"findNonClusterChild\");\nvar getAnchorId = /* @__PURE__ */ __name((id) => {\n if (!clusterDb.has(id)) {\n return id;\n }\n if (!clusterDb.get(id).externalConnections) {\n return id;\n }\n if (clusterDb.has(id)) {\n return clusterDb.get(id).id;\n }\n return id;\n}, \"getAnchorId\");\nvar adjustClustersAndEdges = /* @__PURE__ */ __name((graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph, id)\n );\n descendants.set(id, extractDescendants(id, graph));\n clusterDb.set(id, { id: findNonClusterChild(id, graph, id), clusterData: graph.node(id) });\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Descendants of XXX \", id, \": \", descendants.get(id));\n clusterDb.get(id).externalConnections = true;\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n for (let id of clusterDb.keys()) {\n const nonClusterChild = clusterDb.get(id).id;\n const parent = graph.parent(nonClusterChild);\n if (parent !== id && clusterDb.has(parent) && !clusterDb.get(parent).externalConnections) {\n clusterDb.get(id).id = parent;\n }\n }\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n \" --- \",\n clusterDb.get(e.w)\n );\n if (clusterDb.get(e.v) || clusterDb.get(e.w)) {\n log.warn(\"Fixing and trying - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n const parent = graph.parent(v);\n clusterDb.get(parent).externalConnections = true;\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n const parent = graph.parent(w);\n clusterDb.get(parent).externalConnections = true;\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n}, \"adjustClustersAndEdges\");\nvar extractor = /* @__PURE__ */ __name((graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb.has(node) && !clusterDb.get(node).externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb.has(node)) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb.get(node).externalConnections && graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb.get(node)?.clusterData?.dir) {\n dir = clusterDb.get(node).clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb.get(node).clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb.get(node).clusterData,\n label: clusterDb.get(node).label,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb.get(node).externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data?.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n}, \"extractor\");\nvar sorter = /* @__PURE__ */ __name((graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign([], nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n}, \"sorter\");\nvar sortNodesByHierarchy = /* @__PURE__ */ __name((graph) => sorter(graph, graph.children()), \"sortNodesByHierarchy\");\n\n// src/rendering-util/layout-algorithms/dagre/index.js\nvar recursiveRender = /* @__PURE__ */ __name(async (_elem, graph, diagramType, id, parentCluster, siteConfig) => {\n log.warn(\"Graph in recursive render:XAX\", graphlibJson2.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.info(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.trace(\n \"Setting data for parent cluster XXX\\n Node.id = \",\n v,\n \"\\n data=\",\n data.height,\n \"\\nParent cluster\",\n parentCluster.height\n );\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node?.clusterNode) {\n log.info(\"Cluster identified XBX\", v, node.width, graph.node(v));\n const { ranksep, nodesep } = graph.graph();\n node.graph.setGraph({\n ...node.graph.graph(),\n ranksep: ranksep + 25,\n nodesep\n });\n const o = await recursiveRender(\n nodes,\n node.graph,\n diagramType,\n id,\n graph.node(v),\n siteConfig\n );\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\n \"New compound node after recursive render XAX\",\n v,\n \"width\",\n // node,\n node.width,\n \"height\",\n node.height\n // node.x,\n // node.y\n );\n setNodeElem(newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.trace(\n \"Cluster - the non recursive path XBX\",\n v,\n node.id,\n node,\n node.width,\n \"Graph:\",\n graph\n );\n log.trace(findNonClusterChild(node.id, graph));\n clusterDb.set(node.id, { id: findNonClusterChild(node.id, graph), node });\n } else {\n log.trace(\"Node - the non recursive path XAX\", v, nodes, graph.node(v), dir);\n await insertNode(nodes, graph.node(v), { config: siteConfig, dir });\n }\n }\n })\n );\n const processEdges = /* @__PURE__ */ __name(async () => {\n const edgePromises = graph.edges().map(async function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\n \"Fix\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb.get(e.v),\n clusterDb.get(e.w)\n );\n await insertEdgeLabel(edgeLabels, edge);\n });\n await Promise.all(edgePromises);\n }, \"processEdges\");\n await processEdges();\n log.info(\"Graph before layout:\", JSON.stringify(graphlibJson2.write(graph)));\n log.info(\"############################################# XXX\");\n log.info(\"### Layout ### XXX\");\n log.info(\"############################################# XXX\");\n dagreLayout(graph);\n log.info(\"Graph after layout:\", JSON.stringify(graphlibJson2.write(graph)));\n let diff = 0;\n let { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n await Promise.all(\n sortNodesByHierarchy(graph).map(async function(v) {\n const node = graph.node(v);\n log.info(\n \"Position XBX => \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node?.clusterNode) {\n node.y += subGraphTitleTotalMargin;\n log.info(\n \"A tainted cluster node XBX1\",\n v,\n node.id,\n node.width,\n node.height,\n node.x,\n node.y,\n graph.parent(v)\n );\n clusterDb.get(node.id).node = node;\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\n \"A pure cluster node XBX1\",\n v,\n node.id,\n node.x,\n node.y,\n node.width,\n node.height,\n graph.parent(v)\n );\n node.height += subGraphTitleTotalMargin;\n graph.node(node.parentId);\n const halfPadding = node?.padding / 2 || 0;\n const labelHeight = node?.labelBBox?.height || 0;\n const offsetY = labelHeight - halfPadding || 0;\n log.debug(\"OffsetY\", offsetY, \"labelHeight\", labelHeight, \"halfPadding\", halfPadding);\n await insertCluster(clusters, node);\n clusterDb.get(node.id).node = node;\n } else {\n const parent = graph.node(node.parentId);\n node.y += subGraphTitleTotalMargin / 2;\n log.info(\n \"A regular node XBX1 - using the padding\",\n node.id,\n \"parent\",\n node.parentId,\n node.width,\n node.height,\n node.x,\n node.y,\n \"offsetY\",\n node.offsetY,\n \"parent\",\n parent,\n parent?.offsetY,\n node\n );\n positionNode(node);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n edge.points.forEach((point) => point.y += subGraphTitleTotalMargin / 2);\n const startNode = graph.node(e.v);\n var endNode = graph.node(e.w);\n const paths = insertEdge(edgePaths, edge, clusterDb, diagramType, startNode, endNode, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.isGroup) {\n diff = n.diff;\n }\n });\n log.warn(\"Returning from recursive render XAX\", elem, diff);\n return { elem, diff };\n}, \"recursiveRender\");\nvar render = /* @__PURE__ */ __name(async (data4Layout, svg) => {\n const graph = new graphlib2.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: data4Layout.direction,\n nodesep: data4Layout.config?.nodeSpacing || data4Layout.config?.flowchart?.nodeSpacing || data4Layout.nodeSpacing,\n ranksep: data4Layout.config?.rankSpacing || data4Layout.config?.flowchart?.rankSpacing || data4Layout.rankSpacing,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n const element = svg.select(\"g\");\n markers_default(element, data4Layout.markers, data4Layout.type, data4Layout.diagramId);\n clear3();\n clear2();\n clear();\n clear4();\n data4Layout.nodes.forEach((node) => {\n graph.setNode(node.id, { ...node });\n if (node.parentId) {\n graph.setParent(node.id, node.parentId);\n }\n });\n log.debug(\"Edges:\", data4Layout.edges);\n data4Layout.edges.forEach((edge) => {\n if (edge.start === edge.end) {\n const nodeId = edge.start;\n const specialId1 = nodeId + \"---\" + nodeId + \"---1\";\n const specialId2 = nodeId + \"---\" + nodeId + \"---2\";\n const node = graph.node(nodeId);\n graph.setNode(specialId1, {\n domId: specialId1,\n id: specialId1,\n parentId: node.parentId,\n labelStyle: \"\",\n label: \"\",\n padding: 0,\n shape: \"labelRect\",\n // shape: 'rect',\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId1, node.parentId);\n graph.setNode(specialId2, {\n domId: specialId2,\n id: specialId2,\n parentId: node.parentId,\n labelStyle: \"\",\n padding: 0,\n // shape: 'rect',\n shape: \"labelRect\",\n label: \"\",\n style: \"\",\n width: 10,\n height: 10\n });\n graph.setParent(specialId2, node.parentId);\n const edge1 = structuredClone(edge);\n const edgeMid = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge1.id = nodeId + \"-cyclic-special-1\";\n edgeMid.arrowTypeStart = \"none\";\n edgeMid.arrowTypeEnd = \"none\";\n edgeMid.id = nodeId + \"-cyclic-special-mid\";\n edge2.label = \"\";\n if (node.isGroup) {\n edge1.fromCluster = nodeId;\n edge2.toCluster = nodeId;\n }\n edge2.id = nodeId + \"-cyclic-special-2\";\n edge2.arrowTypeStart = \"none\";\n graph.setEdge(nodeId, specialId1, edge1, nodeId + \"-cyclic-special-0\");\n graph.setEdge(specialId1, specialId2, edgeMid, nodeId + \"-cyclic-special-1\");\n graph.setEdge(specialId2, nodeId, edge2, nodeId + \"-cyc<lic-special-2\");\n } else {\n graph.setEdge(edge.start, edge.end, { ...edge }, edge.id);\n }\n });\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson2.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after XAX:\", JSON.stringify(graphlibJson2.write(graph)));\n const siteConfig = getConfig();\n await recursiveRender(\n element,\n graph,\n data4Layout.type,\n data4Layout.diagramId,\n void 0,\n siteConfig\n );\n}, \"render\");\nexport {\n render\n};\n", + "import {\n __name,\n lineBreakRegex\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/common/svgDrawCommon.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nvar drawRect = /* @__PURE__ */ __name((element, rectData) => {\n const rectElement = element.append(\"rect\");\n rectElement.attr(\"x\", rectData.x);\n rectElement.attr(\"y\", rectData.y);\n rectElement.attr(\"fill\", rectData.fill);\n rectElement.attr(\"stroke\", rectData.stroke);\n rectElement.attr(\"width\", rectData.width);\n rectElement.attr(\"height\", rectData.height);\n if (rectData.name) {\n rectElement.attr(\"name\", rectData.name);\n }\n if (rectData.rx) {\n rectElement.attr(\"rx\", rectData.rx);\n }\n if (rectData.ry) {\n rectElement.attr(\"ry\", rectData.ry);\n }\n if (rectData.attrs !== void 0) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n if (rectData.class) {\n rectElement.attr(\"class\", rectData.class);\n }\n return rectElement;\n}, \"drawRect\");\nvar drawBackgroundRect = /* @__PURE__ */ __name((element, bounds) => {\n const rectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: \"rect\"\n };\n const rectElement = drawRect(element, rectData);\n rectElement.lower();\n}, \"drawBackgroundRect\");\nvar drawText = /* @__PURE__ */ __name((element, textData) => {\n const nText = textData.text.replace(lineBreakRegex, \" \");\n const textElem = element.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class) {\n textElem.attr(\"class\", textData.class);\n }\n const tspan = textElem.append(\"tspan\");\n tspan.attr(\"x\", textData.x + textData.textMargin * 2);\n tspan.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawImage = /* @__PURE__ */ __name((elem, x, y, link) => {\n const imageElement = elem.append(\"image\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", sanitizedLink);\n}, \"drawImage\");\nvar drawEmbeddedImage = /* @__PURE__ */ __name((element, x, y, link) => {\n const imageElement = element.append(\"use\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", `#${sanitizedLink}`);\n}, \"drawEmbeddedImage\");\nvar getNoteRect = /* @__PURE__ */ __name(() => {\n const noteRectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n anchor: \"start\",\n rx: 0,\n ry: 0\n };\n return noteRectData;\n}, \"getNoteRect\");\nvar getTextObj = /* @__PURE__ */ __name(() => {\n const testObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n \"text-anchor\": \"start\",\n style: \"#666\",\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true\n };\n return testObject;\n}, \"getTextObj\");\n\nexport {\n drawRect,\n drawBackgroundRect,\n drawText,\n drawImage,\n drawEmbeddedImage,\n getNoteRect,\n getTextObj\n};\n", + "import {\n drawRect,\n getNoteRect\n} from \"./chunk-D6G4REZN.mjs\";\nimport {\n calculateTextHeight,\n calculateTextWidth,\n wrapLabel\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n assignWithDepth_default,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n log,\n sanitizeText,\n setAccDescription,\n setAccTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/c4/parser/c4Diagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 24], $V1 = [1, 25], $V2 = [1, 26], $V3 = [1, 27], $V4 = [1, 28], $V5 = [1, 63], $V6 = [1, 64], $V7 = [1, 65], $V8 = [1, 66], $V9 = [1, 67], $Va = [1, 68], $Vb = [1, 69], $Vc = [1, 29], $Vd = [1, 30], $Ve = [1, 31], $Vf = [1, 32], $Vg = [1, 33], $Vh = [1, 34], $Vi = [1, 35], $Vj = [1, 36], $Vk = [1, 37], $Vl = [1, 38], $Vm = [1, 39], $Vn = [1, 40], $Vo = [1, 41], $Vp = [1, 42], $Vq = [1, 43], $Vr = [1, 44], $Vs = [1, 45], $Vt = [1, 46], $Vu = [1, 47], $Vv = [1, 48], $Vw = [1, 50], $Vx = [1, 51], $Vy = [1, 52], $Vz = [1, 53], $VA = [1, 54], $VB = [1, 55], $VC = [1, 56], $VD = [1, 57], $VE = [1, 58], $VF = [1, 59], $VG = [1, 60], $VH = [14, 42], $VI = [14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], $VJ = [12, 14, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74], $VK = [1, 82], $VL = [1, 83], $VM = [1, 84], $VN = [1, 85], $VO = [12, 14, 42], $VP = [12, 14, 33, 42], $VQ = [12, 14, 33, 42, 76, 77, 79, 80], $VR = [12, 33], $VS = [34, 36, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mermaidDoc\": 4, \"direction\": 5, \"direction_tb\": 6, \"direction_bt\": 7, \"direction_rl\": 8, \"direction_lr\": 9, \"graphConfig\": 10, \"C4_CONTEXT\": 11, \"NEWLINE\": 12, \"statements\": 13, \"EOF\": 14, \"C4_CONTAINER\": 15, \"C4_COMPONENT\": 16, \"C4_DYNAMIC\": 17, \"C4_DEPLOYMENT\": 18, \"otherStatements\": 19, \"diagramStatements\": 20, \"otherStatement\": 21, \"title\": 22, \"accDescription\": 23, \"acc_title\": 24, \"acc_title_value\": 25, \"acc_descr\": 26, \"acc_descr_value\": 27, \"acc_descr_multiline_value\": 28, \"boundaryStatement\": 29, \"boundaryStartStatement\": 30, \"boundaryStopStatement\": 31, \"boundaryStart\": 32, \"LBRACE\": 33, \"ENTERPRISE_BOUNDARY\": 34, \"attributes\": 35, \"SYSTEM_BOUNDARY\": 36, \"BOUNDARY\": 37, \"CONTAINER_BOUNDARY\": 38, \"NODE\": 39, \"NODE_L\": 40, \"NODE_R\": 41, \"RBRACE\": 42, \"diagramStatement\": 43, \"PERSON\": 44, \"PERSON_EXT\": 45, \"SYSTEM\": 46, \"SYSTEM_DB\": 47, \"SYSTEM_QUEUE\": 48, \"SYSTEM_EXT\": 49, \"SYSTEM_EXT_DB\": 50, \"SYSTEM_EXT_QUEUE\": 51, \"CONTAINER\": 52, \"CONTAINER_DB\": 53, \"CONTAINER_QUEUE\": 54, \"CONTAINER_EXT\": 55, \"CONTAINER_EXT_DB\": 56, \"CONTAINER_EXT_QUEUE\": 57, \"COMPONENT\": 58, \"COMPONENT_DB\": 59, \"COMPONENT_QUEUE\": 60, \"COMPONENT_EXT\": 61, \"COMPONENT_EXT_DB\": 62, \"COMPONENT_EXT_QUEUE\": 63, \"REL\": 64, \"BIREL\": 65, \"REL_U\": 66, \"REL_D\": 67, \"REL_L\": 68, \"REL_R\": 69, \"REL_B\": 70, \"REL_INDEX\": 71, \"UPDATE_EL_STYLE\": 72, \"UPDATE_REL_STYLE\": 73, \"UPDATE_LAYOUT_CONFIG\": 74, \"attribute\": 75, \"STR\": 76, \"STR_KEY\": 77, \"STR_VALUE\": 78, \"ATTRIBUTE\": 79, \"ATTRIBUTE_EMPTY\": 80, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"direction_tb\", 7: \"direction_bt\", 8: \"direction_rl\", 9: \"direction_lr\", 11: \"C4_CONTEXT\", 12: \"NEWLINE\", 14: \"EOF\", 15: \"C4_CONTAINER\", 16: \"C4_COMPONENT\", 17: \"C4_DYNAMIC\", 18: \"C4_DEPLOYMENT\", 22: \"title\", 23: \"accDescription\", 24: \"acc_title\", 25: \"acc_title_value\", 26: \"acc_descr\", 27: \"acc_descr_value\", 28: \"acc_descr_multiline_value\", 33: \"LBRACE\", 34: \"ENTERPRISE_BOUNDARY\", 36: \"SYSTEM_BOUNDARY\", 37: \"BOUNDARY\", 38: \"CONTAINER_BOUNDARY\", 39: \"NODE\", 40: \"NODE_L\", 41: \"NODE_R\", 42: \"RBRACE\", 44: \"PERSON\", 45: \"PERSON_EXT\", 46: \"SYSTEM\", 47: \"SYSTEM_DB\", 48: \"SYSTEM_QUEUE\", 49: \"SYSTEM_EXT\", 50: \"SYSTEM_EXT_DB\", 51: \"SYSTEM_EXT_QUEUE\", 52: \"CONTAINER\", 53: \"CONTAINER_DB\", 54: \"CONTAINER_QUEUE\", 55: \"CONTAINER_EXT\", 56: \"CONTAINER_EXT_DB\", 57: \"CONTAINER_EXT_QUEUE\", 58: \"COMPONENT\", 59: \"COMPONENT_DB\", 60: \"COMPONENT_QUEUE\", 61: \"COMPONENT_EXT\", 62: \"COMPONENT_EXT_DB\", 63: \"COMPONENT_EXT_QUEUE\", 64: \"REL\", 65: \"BIREL\", 66: \"REL_U\", 67: \"REL_D\", 68: \"REL_L\", 69: \"REL_R\", 70: \"REL_B\", 71: \"REL_INDEX\", 72: \"UPDATE_EL_STYLE\", 73: \"UPDATE_REL_STYLE\", 74: \"UPDATE_LAYOUT_CONFIG\", 76: \"STR\", 77: \"STR_KEY\", 78: \"STR_VALUE\", 79: \"ATTRIBUTE\", 80: \"ATTRIBUTE_EMPTY\" },\n productions_: [0, [3, 1], [3, 1], [5, 1], [5, 1], [5, 1], [5, 1], [4, 1], [10, 4], [10, 4], [10, 4], [10, 4], [10, 4], [13, 1], [13, 1], [13, 2], [19, 1], [19, 2], [19, 3], [21, 1], [21, 1], [21, 2], [21, 2], [21, 1], [29, 3], [30, 3], [30, 3], [30, 4], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [32, 2], [31, 1], [20, 1], [20, 2], [20, 3], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 1], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [43, 2], [35, 1], [35, 2], [75, 1], [75, 2], [75, 1], [75, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setDirection(\"TB\");\n break;\n case 4:\n yy.setDirection(\"BT\");\n break;\n case 5:\n yy.setDirection(\"RL\");\n break;\n case 6:\n yy.setDirection(\"LR\");\n break;\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n yy.setC4Type($$[$0 - 3]);\n break;\n case 19:\n yy.setTitle($$[$0].substring(6));\n this.$ = $$[$0].substring(6);\n break;\n case 20:\n yy.setAccDescription($$[$0].substring(15));\n this.$ = $$[$0].substring(15);\n break;\n case 21:\n this.$ = $$[$0].trim();\n yy.setTitle(this.$);\n break;\n case 22:\n case 23:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 28:\n $$[$0].splice(2, 0, \"ENTERPRISE\");\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 29:\n $$[$0].splice(2, 0, \"SYSTEM\");\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 30:\n yy.addPersonOrSystemBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 31:\n $$[$0].splice(2, 0, \"CONTAINER\");\n yy.addContainerBoundary(...$$[$0]);\n this.$ = $$[$0];\n break;\n case 32:\n yy.addDeploymentNode(\"node\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 33:\n yy.addDeploymentNode(\"nodeL\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 34:\n yy.addDeploymentNode(\"nodeR\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 35:\n yy.popBoundaryParseStack();\n break;\n case 39:\n yy.addPersonOrSystem(\"person\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 40:\n yy.addPersonOrSystem(\"external_person\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 41:\n yy.addPersonOrSystem(\"system\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 42:\n yy.addPersonOrSystem(\"system_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 43:\n yy.addPersonOrSystem(\"system_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 44:\n yy.addPersonOrSystem(\"external_system\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 45:\n yy.addPersonOrSystem(\"external_system_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 46:\n yy.addPersonOrSystem(\"external_system_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 47:\n yy.addContainer(\"container\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 48:\n yy.addContainer(\"container_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 49:\n yy.addContainer(\"container_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 50:\n yy.addContainer(\"external_container\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 51:\n yy.addContainer(\"external_container_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 52:\n yy.addContainer(\"external_container_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 53:\n yy.addComponent(\"component\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 54:\n yy.addComponent(\"component_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 55:\n yy.addComponent(\"component_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 56:\n yy.addComponent(\"external_component\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 57:\n yy.addComponent(\"external_component_db\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 58:\n yy.addComponent(\"external_component_queue\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 60:\n yy.addRel(\"rel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 61:\n yy.addRel(\"birel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 62:\n yy.addRel(\"rel_u\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 63:\n yy.addRel(\"rel_d\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 64:\n yy.addRel(\"rel_l\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 65:\n yy.addRel(\"rel_r\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 66:\n yy.addRel(\"rel_b\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 67:\n $$[$0].splice(0, 1);\n yy.addRel(\"rel\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 68:\n yy.updateElStyle(\"update_el_style\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 69:\n yy.updateRelStyle(\"update_rel_style\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 70:\n yy.updateLayoutConfig(\"update_layout_config\", ...$$[$0]);\n this.$ = $$[$0];\n break;\n case 71:\n this.$ = [$$[$0]];\n break;\n case 72:\n $$[$0].unshift($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 73:\n case 75:\n this.$ = $$[$0].trim();\n break;\n case 74:\n let kv = {};\n kv[$$[$0 - 1].trim()] = $$[$0].trim();\n this.$ = kv;\n break;\n case 76:\n this.$ = \"\";\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 7: [1, 6], 8: [1, 7], 9: [1, 8], 10: 4, 11: [1, 9], 15: [1, 10], 16: [1, 11], 17: [1, 12], 18: [1, 13] }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 7] }, { 1: [2, 3] }, { 1: [2, 4] }, { 1: [2, 5] }, { 1: [2, 6] }, { 12: [1, 14] }, { 12: [1, 15] }, { 12: [1, 16] }, { 12: [1, 17] }, { 12: [1, 18] }, { 13: 19, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 70, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 71, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 72, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 13: 73, 19: 20, 20: 21, 21: 22, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 14: [1, 74] }, o($VH, [2, 13], { 43: 23, 29: 49, 30: 61, 32: 62, 20: 75, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }), o($VH, [2, 14]), o($VI, [2, 16], { 12: [1, 76] }), o($VH, [2, 36], { 12: [1, 77] }), o($VJ, [2, 19]), o($VJ, [2, 20]), { 25: [1, 78] }, { 27: [1, 79] }, o($VJ, [2, 23]), { 35: 80, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 86, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 87, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 88, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 89, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 90, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 91, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 92, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 93, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 94, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 95, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 96, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 97, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 98, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 99, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 100, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 101, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 102, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 103, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 104, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, o($VO, [2, 59]), { 35: 105, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 106, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 107, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 108, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 109, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 110, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 111, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 112, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 113, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 114, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 115, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 20: 116, 29: 49, 30: 61, 32: 62, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 43: 23, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }, { 12: [1, 118], 33: [1, 117] }, { 35: 119, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 120, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 121, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 122, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 123, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 124, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 35: 125, 75: 81, 76: $VK, 77: $VL, 79: $VM, 80: $VN }, { 14: [1, 126] }, { 14: [1, 127] }, { 14: [1, 128] }, { 14: [1, 129] }, { 1: [2, 8] }, o($VH, [2, 15]), o($VI, [2, 17], { 21: 22, 19: 130, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4 }), o($VH, [2, 37], { 19: 20, 20: 21, 21: 22, 43: 23, 29: 49, 30: 61, 32: 62, 13: 131, 22: $V0, 23: $V1, 24: $V2, 26: $V3, 28: $V4, 34: $V5, 36: $V6, 37: $V7, 38: $V8, 39: $V9, 40: $Va, 41: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi, 51: $Vj, 52: $Vk, 53: $Vl, 54: $Vm, 55: $Vn, 56: $Vo, 57: $Vp, 58: $Vq, 59: $Vr, 60: $Vs, 61: $Vt, 62: $Vu, 63: $Vv, 64: $Vw, 65: $Vx, 66: $Vy, 67: $Vz, 68: $VA, 69: $VB, 70: $VC, 71: $VD, 72: $VE, 73: $VF, 74: $VG }), o($VJ, [2, 21]), o($VJ, [2, 22]), o($VO, [2, 39]), o($VP, [2, 71], { 75: 81, 35: 132, 76: $VK, 77: $VL, 79: $VM, 80: $VN }), o($VQ, [2, 73]), { 78: [1, 133] }, o($VQ, [2, 75]), o($VQ, [2, 76]), o($VO, [2, 40]), o($VO, [2, 41]), o($VO, [2, 42]), o($VO, [2, 43]), o($VO, [2, 44]), o($VO, [2, 45]), o($VO, [2, 46]), o($VO, [2, 47]), o($VO, [2, 48]), o($VO, [2, 49]), o($VO, [2, 50]), o($VO, [2, 51]), o($VO, [2, 52]), o($VO, [2, 53]), o($VO, [2, 54]), o($VO, [2, 55]), o($VO, [2, 56]), o($VO, [2, 57]), o($VO, [2, 58]), o($VO, [2, 60]), o($VO, [2, 61]), o($VO, [2, 62]), o($VO, [2, 63]), o($VO, [2, 64]), o($VO, [2, 65]), o($VO, [2, 66]), o($VO, [2, 67]), o($VO, [2, 68]), o($VO, [2, 69]), o($VO, [2, 70]), { 31: 134, 42: [1, 135] }, { 12: [1, 136] }, { 33: [1, 137] }, o($VR, [2, 28]), o($VR, [2, 29]), o($VR, [2, 30]), o($VR, [2, 31]), o($VR, [2, 32]), o($VR, [2, 33]), o($VR, [2, 34]), { 1: [2, 9] }, { 1: [2, 10] }, { 1: [2, 11] }, { 1: [2, 12] }, o($VI, [2, 18]), o($VH, [2, 38]), o($VP, [2, 72]), o($VQ, [2, 74]), o($VO, [2, 24]), o($VO, [2, 35]), o($VS, [2, 25]), o($VS, [2, 26], { 12: [1, 138] }), o($VS, [2, 27])],\n defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 7], 5: [2, 3], 6: [2, 4], 7: [2, 5], 8: [2, 6], 74: [2, 8], 126: [2, 9], 127: [2, 10], 128: [2, 11], 129: [2, 12] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c2 = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c2 + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: {},\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n break;\n case 1:\n return 7;\n break;\n case 2:\n return 8;\n break;\n case 3:\n return 9;\n break;\n case 4:\n return 22;\n break;\n case 5:\n return 23;\n break;\n case 6:\n this.begin(\"acc_title\");\n return 24;\n break;\n case 7:\n this.popState();\n return \"acc_title_value\";\n break;\n case 8:\n this.begin(\"acc_descr\");\n return 26;\n break;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n break;\n case 13:\n break;\n case 14:\n c;\n break;\n case 15:\n return 12;\n break;\n case 16:\n break;\n case 17:\n return 11;\n break;\n case 18:\n return 15;\n break;\n case 19:\n return 16;\n break;\n case 20:\n return 17;\n break;\n case 21:\n return 18;\n break;\n case 22:\n this.begin(\"person_ext\");\n return 45;\n break;\n case 23:\n this.begin(\"person\");\n return 44;\n break;\n case 24:\n this.begin(\"system_ext_queue\");\n return 51;\n break;\n case 25:\n this.begin(\"system_ext_db\");\n return 50;\n break;\n case 26:\n this.begin(\"system_ext\");\n return 49;\n break;\n case 27:\n this.begin(\"system_queue\");\n return 48;\n break;\n case 28:\n this.begin(\"system_db\");\n return 47;\n break;\n case 29:\n this.begin(\"system\");\n return 46;\n break;\n case 30:\n this.begin(\"boundary\");\n return 37;\n break;\n case 31:\n this.begin(\"enterprise_boundary\");\n return 34;\n break;\n case 32:\n this.begin(\"system_boundary\");\n return 36;\n break;\n case 33:\n this.begin(\"container_ext_queue\");\n return 57;\n break;\n case 34:\n this.begin(\"container_ext_db\");\n return 56;\n break;\n case 35:\n this.begin(\"container_ext\");\n return 55;\n break;\n case 36:\n this.begin(\"container_queue\");\n return 54;\n break;\n case 37:\n this.begin(\"container_db\");\n return 53;\n break;\n case 38:\n this.begin(\"container\");\n return 52;\n break;\n case 39:\n this.begin(\"container_boundary\");\n return 38;\n break;\n case 40:\n this.begin(\"component_ext_queue\");\n return 63;\n break;\n case 41:\n this.begin(\"component_ext_db\");\n return 62;\n break;\n case 42:\n this.begin(\"component_ext\");\n return 61;\n break;\n case 43:\n this.begin(\"component_queue\");\n return 60;\n break;\n case 44:\n this.begin(\"component_db\");\n return 59;\n break;\n case 45:\n this.begin(\"component\");\n return 58;\n break;\n case 46:\n this.begin(\"node\");\n return 39;\n break;\n case 47:\n this.begin(\"node\");\n return 39;\n break;\n case 48:\n this.begin(\"node_l\");\n return 40;\n break;\n case 49:\n this.begin(\"node_r\");\n return 41;\n break;\n case 50:\n this.begin(\"rel\");\n return 64;\n break;\n case 51:\n this.begin(\"birel\");\n return 65;\n break;\n case 52:\n this.begin(\"rel_u\");\n return 66;\n break;\n case 53:\n this.begin(\"rel_u\");\n return 66;\n break;\n case 54:\n this.begin(\"rel_d\");\n return 67;\n break;\n case 55:\n this.begin(\"rel_d\");\n return 67;\n break;\n case 56:\n this.begin(\"rel_l\");\n return 68;\n break;\n case 57:\n this.begin(\"rel_l\");\n return 68;\n break;\n case 58:\n this.begin(\"rel_r\");\n return 69;\n break;\n case 59:\n this.begin(\"rel_r\");\n return 69;\n break;\n case 60:\n this.begin(\"rel_b\");\n return 70;\n break;\n case 61:\n this.begin(\"rel_index\");\n return 71;\n break;\n case 62:\n this.begin(\"update_el_style\");\n return 72;\n break;\n case 63:\n this.begin(\"update_rel_style\");\n return 73;\n break;\n case 64:\n this.begin(\"update_layout_config\");\n return 74;\n break;\n case 65:\n return \"EOF_IN_STRUCT\";\n break;\n case 66:\n this.begin(\"attribute\");\n return \"ATTRIBUTE_EMPTY\";\n break;\n case 67:\n this.begin(\"attribute\");\n break;\n case 68:\n this.popState();\n this.popState();\n break;\n case 69:\n return 80;\n break;\n case 70:\n break;\n case 71:\n return 80;\n break;\n case 72:\n this.begin(\"string\");\n break;\n case 73:\n this.popState();\n break;\n case 74:\n return \"STR\";\n break;\n case 75:\n this.begin(\"string_kv\");\n break;\n case 76:\n this.begin(\"string_kv_key\");\n return \"STR_KEY\";\n break;\n case 77:\n this.popState();\n this.begin(\"string_kv_value\");\n break;\n case 78:\n return \"STR_VALUE\";\n break;\n case 79:\n this.popState();\n this.popState();\n break;\n case 80:\n return \"STR\";\n break;\n case 81:\n return \"LBRACE\";\n break;\n case 82:\n return \"RBRACE\";\n break;\n case 83:\n return \"SPACE\";\n break;\n case 84:\n return \"EOL\";\n break;\n case 85:\n return 14;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:title\\s[^#\\n;]+)/, /^(?:accDescription\\s[^#\\n;]+)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/, /^(?:%%[^\\n]*(\\r?\\n)*)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:C4Context\\b)/, /^(?:C4Container\\b)/, /^(?:C4Component\\b)/, /^(?:C4Dynamic\\b)/, /^(?:C4Deployment\\b)/, /^(?:Person_Ext\\b)/, /^(?:Person\\b)/, /^(?:SystemQueue_Ext\\b)/, /^(?:SystemDb_Ext\\b)/, /^(?:System_Ext\\b)/, /^(?:SystemQueue\\b)/, /^(?:SystemDb\\b)/, /^(?:System\\b)/, /^(?:Boundary\\b)/, /^(?:Enterprise_Boundary\\b)/, /^(?:System_Boundary\\b)/, /^(?:ContainerQueue_Ext\\b)/, /^(?:ContainerDb_Ext\\b)/, /^(?:Container_Ext\\b)/, /^(?:ContainerQueue\\b)/, /^(?:ContainerDb\\b)/, /^(?:Container\\b)/, /^(?:Container_Boundary\\b)/, /^(?:ComponentQueue_Ext\\b)/, /^(?:ComponentDb_Ext\\b)/, /^(?:Component_Ext\\b)/, /^(?:ComponentQueue\\b)/, /^(?:ComponentDb\\b)/, /^(?:Component\\b)/, /^(?:Deployment_Node\\b)/, /^(?:Node\\b)/, /^(?:Node_L\\b)/, /^(?:Node_R\\b)/, /^(?:Rel\\b)/, /^(?:BiRel\\b)/, /^(?:Rel_Up\\b)/, /^(?:Rel_U\\b)/, /^(?:Rel_Down\\b)/, /^(?:Rel_D\\b)/, /^(?:Rel_Left\\b)/, /^(?:Rel_L\\b)/, /^(?:Rel_Right\\b)/, /^(?:Rel_R\\b)/, /^(?:Rel_Back\\b)/, /^(?:RelIndex\\b)/, /^(?:UpdateElementStyle\\b)/, /^(?:UpdateRelStyle\\b)/, /^(?:UpdateLayoutConfig\\b)/, /^(?:$)/, /^(?:[(][ ]*[,])/, /^(?:[(])/, /^(?:[)])/, /^(?:,,)/, /^(?:,)/, /^(?:[ ]*[\"][\"])/, /^(?:[ ]*[\"])/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:[ ]*[\\$])/, /^(?:[^=]*)/, /^(?:[=][ ]*[\"])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:[^,]+)/, /^(?:\\{)/, /^(?:\\})/, /^(?:[\\s]+)/, /^(?:[\\n\\r]+)/, /^(?:$)/],\n conditions: { \"acc_descr_multiline\": { \"rules\": [11, 12], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9], \"inclusive\": false }, \"acc_title\": { \"rules\": [7], \"inclusive\": false }, \"string_kv_value\": { \"rules\": [78, 79], \"inclusive\": false }, \"string_kv_key\": { \"rules\": [77], \"inclusive\": false }, \"string_kv\": { \"rules\": [76], \"inclusive\": false }, \"string\": { \"rules\": [73, 74], \"inclusive\": false }, \"attribute\": { \"rules\": [68, 69, 70, 71, 72, 75, 80], \"inclusive\": false }, \"update_layout_config\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"update_rel_style\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"update_el_style\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_b\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_r\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_l\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_d\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_u\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"rel_bi\": { \"rules\": [], \"inclusive\": false }, \"rel\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node_r\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node_l\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"node\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"index\": { \"rules\": [], \"inclusive\": false }, \"rel_index\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_ext_queue\": { \"rules\": [], \"inclusive\": false }, \"component_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"component\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"container\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"birel\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"enterprise_boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"boundary\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_queue\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system_db\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"system\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"person_ext\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"person\": { \"rules\": [65, 66, 67, 68], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 81, 82, 83, 84, 85], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar c4Diagram_default = parser;\n\n// src/diagrams/c4/c4Db.js\nvar c4ShapeArray = [];\nvar boundaryParseStack = [\"\"];\nvar currentBoundaryParse = \"global\";\nvar parentBoundaryParse = \"\";\nvar boundaries = [\n {\n alias: \"global\",\n label: { text: \"global\" },\n type: { text: \"global\" },\n tags: null,\n link: null,\n parentBoundary: \"\"\n }\n];\nvar rels = [];\nvar title = \"\";\nvar wrapEnabled = false;\nvar c4ShapeInRow = 4;\nvar c4BoundaryInRow = 2;\nvar c4Type;\nvar getC4Type = /* @__PURE__ */ __name(function() {\n return c4Type;\n}, \"getC4Type\");\nvar setC4Type = /* @__PURE__ */ __name(function(c4TypeParam) {\n let sanitizedText = sanitizeText(c4TypeParam, getConfig());\n c4Type = sanitizedText;\n}, \"setC4Type\");\nvar addRel = /* @__PURE__ */ __name(function(type, from, to, label, techn, descr, sprite, tags, link) {\n if (type === void 0 || type === null || from === void 0 || from === null || to === void 0 || to === null || label === void 0 || label === null) {\n return;\n }\n let rel = {};\n const old = rels.find((rel2) => rel2.from === from && rel2.to === to);\n if (old) {\n rel = old;\n } else {\n rels.push(rel);\n }\n rel.type = type;\n rel.from = from;\n rel.to = to;\n rel.label = { text: label };\n if (techn === void 0 || techn === null) {\n rel.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n rel[key] = { text: value };\n } else {\n rel.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n rel.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n rel[key] = { text: value };\n } else {\n rel.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n rel[key] = value;\n } else {\n rel.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n rel[key] = value;\n } else {\n rel.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n rel[key] = value;\n } else {\n rel.link = link;\n }\n rel.wrap = autoWrap();\n}, \"addRel\");\nvar addPersonOrSystem = /* @__PURE__ */ __name(function(typeC4Shape, alias, label, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let personOrSystem = {};\n const old = c4ShapeArray.find((personOrSystem2) => personOrSystem2.alias === alias);\n if (old && alias === old.alias) {\n personOrSystem = old;\n } else {\n personOrSystem.alias = alias;\n c4ShapeArray.push(personOrSystem);\n }\n if (label === void 0 || label === null) {\n personOrSystem.label = { text: \"\" };\n } else {\n personOrSystem.label = { text: label };\n }\n if (descr === void 0 || descr === null) {\n personOrSystem.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n personOrSystem[key] = { text: value };\n } else {\n personOrSystem.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n personOrSystem[key] = value;\n } else {\n personOrSystem.link = link;\n }\n personOrSystem.typeC4Shape = { text: typeC4Shape };\n personOrSystem.parentBoundary = currentBoundaryParse;\n personOrSystem.wrap = autoWrap();\n}, \"addPersonOrSystem\");\nvar addContainer = /* @__PURE__ */ __name(function(typeC4Shape, alias, label, techn, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let container = {};\n const old = c4ShapeArray.find((container2) => container2.alias === alias);\n if (old && alias === old.alias) {\n container = old;\n } else {\n container.alias = alias;\n c4ShapeArray.push(container);\n }\n if (label === void 0 || label === null) {\n container.label = { text: \"\" };\n } else {\n container.label = { text: label };\n }\n if (techn === void 0 || techn === null) {\n container.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n container[key] = { text: value };\n } else {\n container.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n container.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n container[key] = { text: value };\n } else {\n container.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n container[key] = value;\n } else {\n container.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n container[key] = value;\n } else {\n container.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n container[key] = value;\n } else {\n container.link = link;\n }\n container.wrap = autoWrap();\n container.typeC4Shape = { text: typeC4Shape };\n container.parentBoundary = currentBoundaryParse;\n}, \"addContainer\");\nvar addComponent = /* @__PURE__ */ __name(function(typeC4Shape, alias, label, techn, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let component = {};\n const old = c4ShapeArray.find((component2) => component2.alias === alias);\n if (old && alias === old.alias) {\n component = old;\n } else {\n component.alias = alias;\n c4ShapeArray.push(component);\n }\n if (label === void 0 || label === null) {\n component.label = { text: \"\" };\n } else {\n component.label = { text: label };\n }\n if (techn === void 0 || techn === null) {\n component.techn = { text: \"\" };\n } else {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n component[key] = { text: value };\n } else {\n component.techn = { text: techn };\n }\n }\n if (descr === void 0 || descr === null) {\n component.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n component[key] = { text: value };\n } else {\n component.descr = { text: descr };\n }\n }\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n component[key] = value;\n } else {\n component.sprite = sprite;\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n component[key] = value;\n } else {\n component.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n component[key] = value;\n } else {\n component.link = link;\n }\n component.wrap = autoWrap();\n component.typeC4Shape = { text: typeC4Shape };\n component.parentBoundary = currentBoundaryParse;\n}, \"addComponent\");\nvar addPersonOrSystemBoundary = /* @__PURE__ */ __name(function(alias, label, type, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"system\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n}, \"addPersonOrSystemBoundary\");\nvar addContainerBoundary = /* @__PURE__ */ __name(function(alias, label, type, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"container\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n}, \"addContainerBoundary\");\nvar addDeploymentNode = /* @__PURE__ */ __name(function(nodeType, alias, label, type, descr, sprite, tags, link) {\n if (alias === null || label === null) {\n return;\n }\n let boundary = {};\n const old = boundaries.find((boundary2) => boundary2.alias === alias);\n if (old && alias === old.alias) {\n boundary = old;\n } else {\n boundary.alias = alias;\n boundaries.push(boundary);\n }\n if (label === void 0 || label === null) {\n boundary.label = { text: \"\" };\n } else {\n boundary.label = { text: label };\n }\n if (type === void 0 || type === null) {\n boundary.type = { text: \"node\" };\n } else {\n if (typeof type === \"object\") {\n let [key, value] = Object.entries(type)[0];\n boundary[key] = { text: value };\n } else {\n boundary.type = { text: type };\n }\n }\n if (descr === void 0 || descr === null) {\n boundary.descr = { text: \"\" };\n } else {\n if (typeof descr === \"object\") {\n let [key, value] = Object.entries(descr)[0];\n boundary[key] = { text: value };\n } else {\n boundary.descr = { text: descr };\n }\n }\n if (typeof tags === \"object\") {\n let [key, value] = Object.entries(tags)[0];\n boundary[key] = value;\n } else {\n boundary.tags = tags;\n }\n if (typeof link === \"object\") {\n let [key, value] = Object.entries(link)[0];\n boundary[key] = value;\n } else {\n boundary.link = link;\n }\n boundary.nodeType = nodeType;\n boundary.parentBoundary = currentBoundaryParse;\n boundary.wrap = autoWrap();\n parentBoundaryParse = currentBoundaryParse;\n currentBoundaryParse = alias;\n boundaryParseStack.push(parentBoundaryParse);\n}, \"addDeploymentNode\");\nvar popBoundaryParseStack = /* @__PURE__ */ __name(function() {\n currentBoundaryParse = parentBoundaryParse;\n boundaryParseStack.pop();\n parentBoundaryParse = boundaryParseStack.pop();\n boundaryParseStack.push(parentBoundaryParse);\n}, \"popBoundaryParseStack\");\nvar updateElStyle = /* @__PURE__ */ __name(function(typeC4Shape, elementName, bgColor, fontColor, borderColor, shadowing, shape, sprite, techn, legendText, legendSprite) {\n let old = c4ShapeArray.find((element) => element.alias === elementName);\n if (old === void 0) {\n old = boundaries.find((element) => element.alias === elementName);\n if (old === void 0) {\n return;\n }\n }\n if (bgColor !== void 0 && bgColor !== null) {\n if (typeof bgColor === \"object\") {\n let [key, value] = Object.entries(bgColor)[0];\n old[key] = value;\n } else {\n old.bgColor = bgColor;\n }\n }\n if (fontColor !== void 0 && fontColor !== null) {\n if (typeof fontColor === \"object\") {\n let [key, value] = Object.entries(fontColor)[0];\n old[key] = value;\n } else {\n old.fontColor = fontColor;\n }\n }\n if (borderColor !== void 0 && borderColor !== null) {\n if (typeof borderColor === \"object\") {\n let [key, value] = Object.entries(borderColor)[0];\n old[key] = value;\n } else {\n old.borderColor = borderColor;\n }\n }\n if (shadowing !== void 0 && shadowing !== null) {\n if (typeof shadowing === \"object\") {\n let [key, value] = Object.entries(shadowing)[0];\n old[key] = value;\n } else {\n old.shadowing = shadowing;\n }\n }\n if (shape !== void 0 && shape !== null) {\n if (typeof shape === \"object\") {\n let [key, value] = Object.entries(shape)[0];\n old[key] = value;\n } else {\n old.shape = shape;\n }\n }\n if (sprite !== void 0 && sprite !== null) {\n if (typeof sprite === \"object\") {\n let [key, value] = Object.entries(sprite)[0];\n old[key] = value;\n } else {\n old.sprite = sprite;\n }\n }\n if (techn !== void 0 && techn !== null) {\n if (typeof techn === \"object\") {\n let [key, value] = Object.entries(techn)[0];\n old[key] = value;\n } else {\n old.techn = techn;\n }\n }\n if (legendText !== void 0 && legendText !== null) {\n if (typeof legendText === \"object\") {\n let [key, value] = Object.entries(legendText)[0];\n old[key] = value;\n } else {\n old.legendText = legendText;\n }\n }\n if (legendSprite !== void 0 && legendSprite !== null) {\n if (typeof legendSprite === \"object\") {\n let [key, value] = Object.entries(legendSprite)[0];\n old[key] = value;\n } else {\n old.legendSprite = legendSprite;\n }\n }\n}, \"updateElStyle\");\nvar updateRelStyle = /* @__PURE__ */ __name(function(typeC4Shape, from, to, textColor, lineColor, offsetX, offsetY) {\n const old = rels.find((rel) => rel.from === from && rel.to === to);\n if (old === void 0) {\n return;\n }\n if (textColor !== void 0 && textColor !== null) {\n if (typeof textColor === \"object\") {\n let [key, value] = Object.entries(textColor)[0];\n old[key] = value;\n } else {\n old.textColor = textColor;\n }\n }\n if (lineColor !== void 0 && lineColor !== null) {\n if (typeof lineColor === \"object\") {\n let [key, value] = Object.entries(lineColor)[0];\n old[key] = value;\n } else {\n old.lineColor = lineColor;\n }\n }\n if (offsetX !== void 0 && offsetX !== null) {\n if (typeof offsetX === \"object\") {\n let [key, value] = Object.entries(offsetX)[0];\n old[key] = parseInt(value);\n } else {\n old.offsetX = parseInt(offsetX);\n }\n }\n if (offsetY !== void 0 && offsetY !== null) {\n if (typeof offsetY === \"object\") {\n let [key, value] = Object.entries(offsetY)[0];\n old[key] = parseInt(value);\n } else {\n old.offsetY = parseInt(offsetY);\n }\n }\n}, \"updateRelStyle\");\nvar updateLayoutConfig = /* @__PURE__ */ __name(function(typeC4Shape, c4ShapeInRowParam, c4BoundaryInRowParam) {\n let c4ShapeInRowValue = c4ShapeInRow;\n let c4BoundaryInRowValue = c4BoundaryInRow;\n if (typeof c4ShapeInRowParam === \"object\") {\n const value = Object.values(c4ShapeInRowParam)[0];\n c4ShapeInRowValue = parseInt(value);\n } else {\n c4ShapeInRowValue = parseInt(c4ShapeInRowParam);\n }\n if (typeof c4BoundaryInRowParam === \"object\") {\n const value = Object.values(c4BoundaryInRowParam)[0];\n c4BoundaryInRowValue = parseInt(value);\n } else {\n c4BoundaryInRowValue = parseInt(c4BoundaryInRowParam);\n }\n if (c4ShapeInRowValue >= 1) {\n c4ShapeInRow = c4ShapeInRowValue;\n }\n if (c4BoundaryInRowValue >= 1) {\n c4BoundaryInRow = c4BoundaryInRowValue;\n }\n}, \"updateLayoutConfig\");\nvar getC4ShapeInRow = /* @__PURE__ */ __name(function() {\n return c4ShapeInRow;\n}, \"getC4ShapeInRow\");\nvar getC4BoundaryInRow = /* @__PURE__ */ __name(function() {\n return c4BoundaryInRow;\n}, \"getC4BoundaryInRow\");\nvar getCurrentBoundaryParse = /* @__PURE__ */ __name(function() {\n return currentBoundaryParse;\n}, \"getCurrentBoundaryParse\");\nvar getParentBoundaryParse = /* @__PURE__ */ __name(function() {\n return parentBoundaryParse;\n}, \"getParentBoundaryParse\");\nvar getC4ShapeArray = /* @__PURE__ */ __name(function(parentBoundary) {\n if (parentBoundary === void 0 || parentBoundary === null) {\n return c4ShapeArray;\n } else {\n return c4ShapeArray.filter((personOrSystem) => {\n return personOrSystem.parentBoundary === parentBoundary;\n });\n }\n}, \"getC4ShapeArray\");\nvar getC4Shape = /* @__PURE__ */ __name(function(alias) {\n return c4ShapeArray.find((personOrSystem) => personOrSystem.alias === alias);\n}, \"getC4Shape\");\nvar getC4ShapeKeys = /* @__PURE__ */ __name(function(parentBoundary) {\n return Object.keys(getC4ShapeArray(parentBoundary));\n}, \"getC4ShapeKeys\");\nvar getBoundaries = /* @__PURE__ */ __name(function(parentBoundary) {\n if (parentBoundary === void 0 || parentBoundary === null) {\n return boundaries;\n } else {\n return boundaries.filter((boundary) => boundary.parentBoundary === parentBoundary);\n }\n}, \"getBoundaries\");\nvar getBoundarys = getBoundaries;\nvar getRels = /* @__PURE__ */ __name(function() {\n return rels;\n}, \"getRels\");\nvar getTitle = /* @__PURE__ */ __name(function() {\n return title;\n}, \"getTitle\");\nvar setWrap = /* @__PURE__ */ __name(function(wrapSetting) {\n wrapEnabled = wrapSetting;\n}, \"setWrap\");\nvar autoWrap = /* @__PURE__ */ __name(function() {\n return wrapEnabled;\n}, \"autoWrap\");\nvar clear = /* @__PURE__ */ __name(function() {\n c4ShapeArray = [];\n boundaries = [\n {\n alias: \"global\",\n label: { text: \"global\" },\n type: { text: \"global\" },\n tags: null,\n link: null,\n parentBoundary: \"\"\n }\n ];\n parentBoundaryParse = \"\";\n currentBoundaryParse = \"global\";\n boundaryParseStack = [\"\"];\n rels = [];\n boundaryParseStack = [\"\"];\n title = \"\";\n wrapEnabled = false;\n c4ShapeInRow = 4;\n c4BoundaryInRow = 2;\n}, \"clear\");\nvar LINETYPE = {\n SOLID: 0,\n DOTTED: 1,\n NOTE: 2,\n SOLID_CROSS: 3,\n DOTTED_CROSS: 4,\n SOLID_OPEN: 5,\n DOTTED_OPEN: 6,\n LOOP_START: 10,\n LOOP_END: 11,\n ALT_START: 12,\n ALT_ELSE: 13,\n ALT_END: 14,\n OPT_START: 15,\n OPT_END: 16,\n ACTIVE_START: 17,\n ACTIVE_END: 18,\n PAR_START: 19,\n PAR_AND: 20,\n PAR_END: 21,\n RECT_START: 22,\n RECT_END: 23,\n SOLID_POINT: 24,\n DOTTED_POINT: 25\n};\nvar ARROWTYPE = {\n FILLED: 0,\n OPEN: 1\n};\nvar PLACEMENT = {\n LEFTOF: 0,\n RIGHTOF: 1,\n OVER: 2\n};\nvar setTitle = /* @__PURE__ */ __name(function(txt) {\n let sanitizedText = sanitizeText(txt, getConfig());\n title = sanitizedText;\n}, \"setTitle\");\nvar c4Db_default = {\n addPersonOrSystem,\n addPersonOrSystemBoundary,\n addContainer,\n addContainerBoundary,\n addComponent,\n addDeploymentNode,\n popBoundaryParseStack,\n addRel,\n updateElStyle,\n updateRelStyle,\n updateLayoutConfig,\n autoWrap,\n setWrap,\n getC4ShapeArray,\n getC4Shape,\n getC4ShapeKeys,\n getBoundaries,\n getBoundarys,\n getCurrentBoundaryParse,\n getParentBoundaryParse,\n getRels,\n getTitle,\n getC4Type,\n getC4ShapeInRow,\n getC4BoundaryInRow,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n getConfig: /* @__PURE__ */ __name(() => getConfig().c4, \"getConfig\"),\n clear,\n LINETYPE,\n ARROWTYPE,\n PLACEMENT,\n setTitle,\n setC4Type\n // apply,\n};\n\n// src/diagrams/c4/c4Renderer.js\nimport { select } from \"d3\";\n\n// src/diagrams/c4/svgDraw.js\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawImage = /* @__PURE__ */ __name(function(elem, width, height, x, y, link) {\n const imageElem = elem.append(\"image\");\n imageElem.attr(\"width\", width);\n imageElem.attr(\"height\", height);\n imageElem.attr(\"x\", x);\n imageElem.attr(\"y\", y);\n let sanitizedLink = link.startsWith(\"data:image/png;base64\") ? link : sanitizeUrl(link);\n imageElem.attr(\"xlink:href\", sanitizedLink);\n}, \"drawImage\");\nvar drawRels = /* @__PURE__ */ __name((elem, rels2, conf2) => {\n const relsElem = elem.append(\"g\");\n let i = 0;\n for (let rel of rels2) {\n let textColor = rel.textColor ? rel.textColor : \"#444444\";\n let strokeColor = rel.lineColor ? rel.lineColor : \"#444444\";\n let offsetX = rel.offsetX ? parseInt(rel.offsetX) : 0;\n let offsetY = rel.offsetY ? parseInt(rel.offsetY) : 0;\n let url = \"\";\n if (i === 0) {\n let line = relsElem.append(\"line\");\n line.attr(\"x1\", rel.startPoint.x);\n line.attr(\"y1\", rel.startPoint.y);\n line.attr(\"x2\", rel.endPoint.x);\n line.attr(\"y2\", rel.endPoint.y);\n line.attr(\"stroke-width\", \"1\");\n line.attr(\"stroke\", strokeColor);\n line.style(\"fill\", \"none\");\n if (rel.type !== \"rel_b\") {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (rel.type === \"birel\" || rel.type === \"rel_b\") {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowend)\");\n }\n i = -1;\n } else {\n let line = relsElem.append(\"path\");\n line.attr(\"fill\", \"none\").attr(\"stroke-width\", \"1\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,starty Qcontrolx,controly stopx,stopy \".replaceAll(\"startx\", rel.startPoint.x).replaceAll(\"starty\", rel.startPoint.y).replaceAll(\n \"controlx\",\n rel.startPoint.x + (rel.endPoint.x - rel.startPoint.x) / 2 - (rel.endPoint.x - rel.startPoint.x) / 4\n ).replaceAll(\"controly\", rel.startPoint.y + (rel.endPoint.y - rel.startPoint.y) / 2).replaceAll(\"stopx\", rel.endPoint.x).replaceAll(\"stopy\", rel.endPoint.y)\n );\n if (rel.type !== \"rel_b\") {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (rel.type === \"birel\" || rel.type === \"rel_b\") {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowend)\");\n }\n }\n let messageConf = conf2.messageFont();\n _drawTextCandidateFunc(conf2)(\n rel.label.text,\n relsElem,\n Math.min(rel.startPoint.x, rel.endPoint.x) + Math.abs(rel.endPoint.x - rel.startPoint.x) / 2 + offsetX,\n Math.min(rel.startPoint.y, rel.endPoint.y) + Math.abs(rel.endPoint.y - rel.startPoint.y) / 2 + offsetY,\n rel.label.width,\n rel.label.height,\n { fill: textColor },\n messageConf\n );\n if (rel.techn && rel.techn.text !== \"\") {\n messageConf = conf2.messageFont();\n _drawTextCandidateFunc(conf2)(\n \"[\" + rel.techn.text + \"]\",\n relsElem,\n Math.min(rel.startPoint.x, rel.endPoint.x) + Math.abs(rel.endPoint.x - rel.startPoint.x) / 2 + offsetX,\n Math.min(rel.startPoint.y, rel.endPoint.y) + Math.abs(rel.endPoint.y - rel.startPoint.y) / 2 + conf2.messageFontSize + 5 + offsetY,\n Math.max(rel.label.width, rel.techn.width),\n rel.techn.height,\n { fill: textColor, \"font-style\": \"italic\" },\n messageConf\n );\n }\n }\n}, \"drawRels\");\nvar drawBoundary = /* @__PURE__ */ __name(function(elem, boundary, conf2) {\n const boundaryElem = elem.append(\"g\");\n let fillColor = boundary.bgColor ? boundary.bgColor : \"none\";\n let strokeColor = boundary.borderColor ? boundary.borderColor : \"#444444\";\n let fontColor = boundary.fontColor ? boundary.fontColor : \"black\";\n let attrsValue = { \"stroke-width\": 1, \"stroke-dasharray\": \"7.0,7.0\" };\n if (boundary.nodeType) {\n attrsValue = { \"stroke-width\": 1 };\n }\n let rectData = {\n x: boundary.x,\n y: boundary.y,\n fill: fillColor,\n stroke: strokeColor,\n width: boundary.width,\n height: boundary.height,\n rx: 2.5,\n ry: 2.5,\n attrs: attrsValue\n };\n drawRect2(boundaryElem, rectData);\n let boundaryConf = conf2.boundaryFont();\n boundaryConf.fontWeight = \"bold\";\n boundaryConf.fontSize = boundaryConf.fontSize + 2;\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.label.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.label.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n if (boundary.type && boundary.type.text !== \"\") {\n boundaryConf = conf2.boundaryFont();\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.type.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.type.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n }\n if (boundary.descr && boundary.descr.text !== \"\") {\n boundaryConf = conf2.boundaryFont();\n boundaryConf.fontSize = boundaryConf.fontSize - 2;\n boundaryConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n boundary.descr.text,\n boundaryElem,\n boundary.x,\n boundary.y + boundary.descr.Y,\n boundary.width,\n boundary.height,\n { fill: \"#444444\" },\n boundaryConf\n );\n }\n}, \"drawBoundary\");\nvar drawC4Shape = /* @__PURE__ */ __name(function(elem, c4Shape, conf2) {\n let fillColor = c4Shape.bgColor ? c4Shape.bgColor : conf2[c4Shape.typeC4Shape.text + \"_bg_color\"];\n let strokeColor = c4Shape.borderColor ? c4Shape.borderColor : conf2[c4Shape.typeC4Shape.text + \"_border_color\"];\n let fontColor = c4Shape.fontColor ? c4Shape.fontColor : \"#FFFFFF\";\n let personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\";\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=\";\n break;\n case \"external_person\":\n personImg = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=\";\n break;\n }\n const c4ShapeElem = elem.append(\"g\");\n c4ShapeElem.attr(\"class\", \"person-man\");\n const rect = getNoteRect();\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n case \"system\":\n case \"external_system\":\n case \"container\":\n case \"external_container\":\n case \"component\":\n case \"external_component\":\n rect.x = c4Shape.x;\n rect.y = c4Shape.y;\n rect.fill = fillColor;\n rect.width = c4Shape.width;\n rect.height = c4Shape.height;\n rect.stroke = strokeColor;\n rect.rx = 2.5;\n rect.ry = 2.5;\n rect.attrs = { \"stroke-width\": 0.5 };\n drawRect2(c4ShapeElem, rect);\n break;\n case \"system_db\":\n case \"external_system_db\":\n case \"container_db\":\n case \"external_container_db\":\n case \"component_db\":\n case \"external_component_db\":\n c4ShapeElem.append(\"path\").attr(\"fill\", fillColor).attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.width / 2).replaceAll(\"height\", c4Shape.height)\n );\n c4ShapeElem.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.width / 2)\n );\n break;\n case \"system_queue\":\n case \"external_system_queue\":\n case \"container_queue\":\n case \"external_container_queue\":\n case \"component_queue\":\n case \"external_component_queue\":\n c4ShapeElem.append(\"path\").attr(\"fill\", fillColor).attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half\".replaceAll(\"startx\", c4Shape.x).replaceAll(\"starty\", c4Shape.y).replaceAll(\"width\", c4Shape.width).replaceAll(\"half\", c4Shape.height / 2)\n );\n c4ShapeElem.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke-width\", \"0.5\").attr(\"stroke\", strokeColor).attr(\n \"d\",\n \"Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half\".replaceAll(\"startx\", c4Shape.x + c4Shape.width).replaceAll(\"starty\", c4Shape.y).replaceAll(\"half\", c4Shape.height / 2)\n );\n break;\n }\n let c4ShapeFontConf = getC4ShapeFont(conf2, c4Shape.typeC4Shape.text);\n c4ShapeElem.append(\"text\").attr(\"fill\", fontColor).attr(\"font-family\", c4ShapeFontConf.fontFamily).attr(\"font-size\", c4ShapeFontConf.fontSize - 2).attr(\"font-style\", \"italic\").attr(\"lengthAdjust\", \"spacing\").attr(\"textLength\", c4Shape.typeC4Shape.width).attr(\"x\", c4Shape.x + c4Shape.width / 2 - c4Shape.typeC4Shape.width / 2).attr(\"y\", c4Shape.y + c4Shape.typeC4Shape.Y).text(\"<<\" + c4Shape.typeC4Shape.text + \">>\");\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n drawImage(\n c4ShapeElem,\n 48,\n 48,\n c4Shape.x + c4Shape.width / 2 - 24,\n c4Shape.y + c4Shape.image.Y,\n personImg\n );\n break;\n }\n let textFontConf = conf2[c4Shape.typeC4Shape.text + \"Font\"]();\n textFontConf.fontWeight = \"bold\";\n textFontConf.fontSize = textFontConf.fontSize + 2;\n textFontConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n c4Shape.label.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.label.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor },\n textFontConf\n );\n textFontConf = conf2[c4Shape.typeC4Shape.text + \"Font\"]();\n textFontConf.fontColor = fontColor;\n if (c4Shape.techn && c4Shape.techn?.text !== \"\") {\n _drawTextCandidateFunc(conf2)(\n c4Shape.techn.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.techn.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor, \"font-style\": \"italic\" },\n textFontConf\n );\n } else if (c4Shape.type && c4Shape.type.text !== \"\") {\n _drawTextCandidateFunc(conf2)(\n c4Shape.type.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.type.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor, \"font-style\": \"italic\" },\n textFontConf\n );\n }\n if (c4Shape.descr && c4Shape.descr.text !== \"\") {\n textFontConf = conf2.personFont();\n textFontConf.fontColor = fontColor;\n _drawTextCandidateFunc(conf2)(\n c4Shape.descr.text,\n c4ShapeElem,\n c4Shape.x,\n c4Shape.y + c4Shape.descr.Y,\n c4Shape.width,\n c4Shape.height,\n { fill: fontColor },\n textFontConf\n );\n }\n return c4Shape.height;\n}, \"drawC4Shape\");\nvar insertDatabaseIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"database\").attr(\"fill-rule\", \"evenodd\").attr(\"clip-rule\", \"evenodd\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"\n );\n}, \"insertDatabaseIcon\");\nvar insertComputerIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"computer\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"\n );\n}, \"insertComputerIcon\");\nvar insertClockIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"clock\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"\n );\n}, \"insertClockIcon\");\nvar insertArrowHead = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\");\n}, \"insertArrowHead\");\nvar insertArrowEnd = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowend\").attr(\"refX\", 1).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 10 0 L 0 5 L 10 10 z\");\n}, \"insertArrowEnd\");\nvar insertArrowFilledHead = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"filled-head\").attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertArrowFilledHead\");\nvar insertDynamicNumber = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"sequencenumber\").attr(\"refX\", 15).attr(\"refY\", 15).attr(\"markerWidth\", 60).attr(\"markerHeight\", 40).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", 15).attr(\"cy\", 15).attr(\"r\", 6);\n}, \"insertDynamicNumber\");\nvar insertArrowCrossHead = /* @__PURE__ */ __name(function(elem) {\n const defs = elem.append(\"defs\");\n const marker = defs.append(\"marker\").attr(\"id\", \"crosshead\").attr(\"markerWidth\", 15).attr(\"markerHeight\", 8).attr(\"orient\", \"auto\").attr(\"refX\", 16).attr(\"refY\", 4);\n marker.append(\"path\").attr(\"fill\", \"black\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1px\").attr(\"d\", \"M 9,2 V 6 L16,4 Z\");\n marker.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1px\").attr(\"d\", \"M 0,1 L 6,7 M 6,1 L 0,7\");\n}, \"insertArrowCrossHead\");\nvar getC4ShapeFont = /* @__PURE__ */ __name((cnf, typeC4Shape) => {\n return {\n fontFamily: cnf[typeC4Shape + \"FontFamily\"],\n fontSize: cnf[typeC4Shape + \"FontSize\"],\n fontWeight: cnf[typeC4Shape + \"FontWeight\"]\n };\n}, \"getC4ShapeFont\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ function() {\n function byText(content, g, x, y, width, height, textAttrs) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2) {\n const { fontSize, fontFamily, fontWeight } = conf2;\n const lines = content.split(common_default.lineBreakRegex);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * fontSize - fontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).style(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").style(\"font-size\", fontSize).style(\"font-weight\", fontWeight).style(\"font-family\", fontFamily);\n text.append(\"tspan\").attr(\"dy\", dy).text(lines[i]).attr(\"alignment-baseline\", \"mathematical\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const s = g.append(\"switch\");\n const f = s.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, s, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (fromTextAttrsDict.hasOwnProperty(key)) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n}();\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawBoundary,\n drawC4Shape,\n drawRels,\n drawImage,\n insertArrowHead,\n insertArrowEnd,\n insertArrowFilledHead,\n insertDynamicNumber,\n insertArrowCrossHead,\n insertDatabaseIcon,\n insertComputerIcon,\n insertClockIcon\n};\n\n// src/diagrams/c4/c4Renderer.js\nvar globalBoundaryMaxX = 0;\nvar globalBoundaryMaxY = 0;\nvar c4ShapeInRow2 = 4;\nvar c4BoundaryInRow2 = 2;\nparser.yy = c4Db_default;\nvar conf = {};\nvar Bounds = class {\n static {\n __name(this, \"Bounds\");\n }\n constructor(diagObj) {\n this.name = \"\";\n this.data = {};\n this.data.startx = void 0;\n this.data.stopx = void 0;\n this.data.starty = void 0;\n this.data.stopy = void 0;\n this.data.widthLimit = void 0;\n this.nextData = {};\n this.nextData.startx = void 0;\n this.nextData.stopx = void 0;\n this.nextData.starty = void 0;\n this.nextData.stopy = void 0;\n this.nextData.cnt = 0;\n setConf(diagObj.db.getConfig());\n }\n setData(startx, stopx, starty, stopy) {\n this.nextData.startx = this.data.startx = startx;\n this.nextData.stopx = this.data.stopx = stopx;\n this.nextData.starty = this.data.starty = starty;\n this.nextData.stopy = this.data.stopy = stopy;\n }\n updateVal(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }\n insert(c4Shape) {\n this.nextData.cnt = this.nextData.cnt + 1;\n let _startx = this.nextData.startx === this.nextData.stopx ? this.nextData.stopx + c4Shape.margin : this.nextData.stopx + c4Shape.margin * 2;\n let _stopx = _startx + c4Shape.width;\n let _starty = this.nextData.starty + c4Shape.margin * 2;\n let _stopy = _starty + c4Shape.height;\n if (_startx >= this.data.widthLimit || _stopx >= this.data.widthLimit || this.nextData.cnt > c4ShapeInRow2) {\n _startx = this.nextData.startx + c4Shape.margin + conf.nextLinePaddingX;\n _starty = this.nextData.stopy + c4Shape.margin * 2;\n this.nextData.stopx = _stopx = _startx + c4Shape.width;\n this.nextData.starty = this.nextData.stopy;\n this.nextData.stopy = _stopy = _starty + c4Shape.height;\n this.nextData.cnt = 1;\n }\n c4Shape.x = _startx;\n c4Shape.y = _starty;\n this.updateVal(this.data, \"startx\", _startx, Math.min);\n this.updateVal(this.data, \"starty\", _starty, Math.min);\n this.updateVal(this.data, \"stopx\", _stopx, Math.max);\n this.updateVal(this.data, \"stopy\", _stopy, Math.max);\n this.updateVal(this.nextData, \"startx\", _startx, Math.min);\n this.updateVal(this.nextData, \"starty\", _starty, Math.min);\n this.updateVal(this.nextData, \"stopx\", _stopx, Math.max);\n this.updateVal(this.nextData, \"stopy\", _stopy, Math.max);\n }\n init(diagObj) {\n this.name = \"\";\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0,\n widthLimit: void 0\n };\n this.nextData = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0,\n cnt: 0\n };\n setConf(diagObj.db.getConfig());\n }\n bumpLastMargin(margin) {\n this.data.stopx += margin;\n this.data.stopy += margin;\n }\n};\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n assignWithDepth_default(conf, cnf);\n if (cnf.fontFamily) {\n conf.personFontFamily = conf.systemFontFamily = conf.messageFontFamily = cnf.fontFamily;\n }\n if (cnf.fontSize) {\n conf.personFontSize = conf.systemFontSize = conf.messageFontSize = cnf.fontSize;\n }\n if (cnf.fontWeight) {\n conf.personFontWeight = conf.systemFontWeight = conf.messageFontWeight = cnf.fontWeight;\n }\n}, \"setConf\");\nvar c4ShapeFont = /* @__PURE__ */ __name((cnf, typeC4Shape) => {\n return {\n fontFamily: cnf[typeC4Shape + \"FontFamily\"],\n fontSize: cnf[typeC4Shape + \"FontSize\"],\n fontWeight: cnf[typeC4Shape + \"FontWeight\"]\n };\n}, \"c4ShapeFont\");\nvar boundaryFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.boundaryFontFamily,\n fontSize: cnf.boundaryFontSize,\n fontWeight: cnf.boundaryFontWeight\n };\n}, \"boundaryFont\");\nvar messageFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.messageFontFamily,\n fontSize: cnf.messageFontSize,\n fontWeight: cnf.messageFontWeight\n };\n}, \"messageFont\");\nfunction calcC4ShapeTextWH(textType, c4Shape, c4ShapeTextWrap, textConf, textLimitWidth) {\n if (!c4Shape[textType].width) {\n if (c4ShapeTextWrap) {\n c4Shape[textType].text = wrapLabel(c4Shape[textType].text, textLimitWidth, textConf);\n c4Shape[textType].textLines = c4Shape[textType].text.split(common_default.lineBreakRegex).length;\n c4Shape[textType].width = textLimitWidth;\n c4Shape[textType].height = calculateTextHeight(c4Shape[textType].text, textConf);\n } else {\n let lines = c4Shape[textType].text.split(common_default.lineBreakRegex);\n c4Shape[textType].textLines = lines.length;\n let lineHeight = 0;\n c4Shape[textType].height = 0;\n c4Shape[textType].width = 0;\n for (const line of lines) {\n c4Shape[textType].width = Math.max(\n calculateTextWidth(line, textConf),\n c4Shape[textType].width\n );\n lineHeight = calculateTextHeight(line, textConf);\n c4Shape[textType].height = c4Shape[textType].height + lineHeight;\n }\n }\n }\n}\n__name(calcC4ShapeTextWH, \"calcC4ShapeTextWH\");\nvar drawBoundary2 = /* @__PURE__ */ __name(function(diagram2, boundary, bounds) {\n boundary.x = bounds.data.startx;\n boundary.y = bounds.data.starty;\n boundary.width = bounds.data.stopx - bounds.data.startx;\n boundary.height = bounds.data.stopy - bounds.data.starty;\n boundary.label.y = conf.c4ShapeMargin - 35;\n let boundaryTextWrap = boundary.wrap && conf.wrap;\n let boundaryLabelConf = boundaryFont(conf);\n boundaryLabelConf.fontSize = boundaryLabelConf.fontSize + 2;\n boundaryLabelConf.fontWeight = \"bold\";\n let textLimitWidth = calculateTextWidth(boundary.label.text, boundaryLabelConf);\n calcC4ShapeTextWH(\"label\", boundary, boundaryTextWrap, boundaryLabelConf, textLimitWidth);\n svgDraw_default.drawBoundary(diagram2, boundary, conf);\n}, \"drawBoundary\");\nvar drawC4ShapeArray = /* @__PURE__ */ __name(function(currentBounds, diagram2, c4ShapeArray2, c4ShapeKeys) {\n let Y = 0;\n for (const c4ShapeKey of c4ShapeKeys) {\n Y = 0;\n const c4Shape = c4ShapeArray2[c4ShapeKey];\n let c4ShapeTypeConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n c4ShapeTypeConf.fontSize = c4ShapeTypeConf.fontSize - 2;\n c4Shape.typeC4Shape.width = calculateTextWidth(\n \"\\xAB\" + c4Shape.typeC4Shape.text + \"\\xBB\",\n c4ShapeTypeConf\n );\n c4Shape.typeC4Shape.height = c4ShapeTypeConf.fontSize + 2;\n c4Shape.typeC4Shape.Y = conf.c4ShapePadding;\n Y = c4Shape.typeC4Shape.Y + c4Shape.typeC4Shape.height - 4;\n c4Shape.image = { width: 0, height: 0, Y: 0 };\n switch (c4Shape.typeC4Shape.text) {\n case \"person\":\n case \"external_person\":\n c4Shape.image.width = 48;\n c4Shape.image.height = 48;\n c4Shape.image.Y = Y;\n Y = c4Shape.image.Y + c4Shape.image.height;\n break;\n }\n if (c4Shape.sprite) {\n c4Shape.image.width = 48;\n c4Shape.image.height = 48;\n c4Shape.image.Y = Y;\n Y = c4Shape.image.Y + c4Shape.image.height;\n }\n let c4ShapeTextWrap = c4Shape.wrap && conf.wrap;\n let textLimitWidth = conf.width - conf.c4ShapePadding * 2;\n let c4ShapeLabelConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n c4ShapeLabelConf.fontSize = c4ShapeLabelConf.fontSize + 2;\n c4ShapeLabelConf.fontWeight = \"bold\";\n calcC4ShapeTextWH(\"label\", c4Shape, c4ShapeTextWrap, c4ShapeLabelConf, textLimitWidth);\n c4Shape.label.Y = Y + 8;\n Y = c4Shape.label.Y + c4Shape.label.height;\n if (c4Shape.type && c4Shape.type.text !== \"\") {\n c4Shape.type.text = \"[\" + c4Shape.type.text + \"]\";\n let c4ShapeTypeConf2 = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n calcC4ShapeTextWH(\"type\", c4Shape, c4ShapeTextWrap, c4ShapeTypeConf2, textLimitWidth);\n c4Shape.type.Y = Y + 5;\n Y = c4Shape.type.Y + c4Shape.type.height;\n } else if (c4Shape.techn && c4Shape.techn.text !== \"\") {\n c4Shape.techn.text = \"[\" + c4Shape.techn.text + \"]\";\n let c4ShapeTechnConf = c4ShapeFont(conf, c4Shape.techn.text);\n calcC4ShapeTextWH(\"techn\", c4Shape, c4ShapeTextWrap, c4ShapeTechnConf, textLimitWidth);\n c4Shape.techn.Y = Y + 5;\n Y = c4Shape.techn.Y + c4Shape.techn.height;\n }\n let rectHeight = Y;\n let rectWidth = c4Shape.label.width;\n if (c4Shape.descr && c4Shape.descr.text !== \"\") {\n let c4ShapeDescrConf = c4ShapeFont(conf, c4Shape.typeC4Shape.text);\n calcC4ShapeTextWH(\"descr\", c4Shape, c4ShapeTextWrap, c4ShapeDescrConf, textLimitWidth);\n c4Shape.descr.Y = Y + 20;\n Y = c4Shape.descr.Y + c4Shape.descr.height;\n rectWidth = Math.max(c4Shape.label.width, c4Shape.descr.width);\n rectHeight = Y - c4Shape.descr.textLines * 5;\n }\n rectWidth = rectWidth + conf.c4ShapePadding;\n c4Shape.width = Math.max(c4Shape.width || conf.width, rectWidth, conf.width);\n c4Shape.height = Math.max(c4Shape.height || conf.height, rectHeight, conf.height);\n c4Shape.margin = c4Shape.margin || conf.c4ShapeMargin;\n currentBounds.insert(c4Shape);\n svgDraw_default.drawC4Shape(diagram2, c4Shape, conf);\n }\n currentBounds.bumpLastMargin(conf.c4ShapeMargin);\n}, \"drawC4ShapeArray\");\nvar Point = class {\n static {\n __name(this, \"Point\");\n }\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n};\nvar getIntersectPoint = /* @__PURE__ */ __name(function(fromNode, endPoint) {\n let x1 = fromNode.x;\n let y1 = fromNode.y;\n let x2 = endPoint.x;\n let y2 = endPoint.y;\n let fromCenterX = x1 + fromNode.width / 2;\n let fromCenterY = y1 + fromNode.height / 2;\n let dx = Math.abs(x1 - x2);\n let dy = Math.abs(y1 - y2);\n let tanDYX = dy / dx;\n let fromDYX = fromNode.height / fromNode.width;\n let returnPoint = null;\n if (y1 == y2 && x1 < x2) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY);\n } else if (y1 == y2 && x1 > x2) {\n returnPoint = new Point(x1, fromCenterY);\n } else if (x1 == x2 && y1 < y2) {\n returnPoint = new Point(fromCenterX, y1 + fromNode.height);\n } else if (x1 == x2 && y1 > y2) {\n returnPoint = new Point(fromCenterX, y1);\n }\n if (x1 > x2 && y1 < y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1, fromCenterY + tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(\n fromCenterX - dx / dy * fromNode.height / 2,\n y1 + fromNode.height\n );\n }\n } else if (x1 < x2 && y1 < y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY + tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(\n fromCenterX + dx / dy * fromNode.height / 2,\n y1 + fromNode.height\n );\n }\n } else if (x1 < x2 && y1 > y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1 + fromNode.width, fromCenterY - tanDYX * fromNode.width / 2);\n } else {\n returnPoint = new Point(fromCenterX + fromNode.height / 2 * dx / dy, y1);\n }\n } else if (x1 > x2 && y1 > y2) {\n if (fromDYX >= tanDYX) {\n returnPoint = new Point(x1, fromCenterY - fromNode.width / 2 * tanDYX);\n } else {\n returnPoint = new Point(fromCenterX - fromNode.height / 2 * dx / dy, y1);\n }\n }\n return returnPoint;\n}, \"getIntersectPoint\");\nvar getIntersectPoints = /* @__PURE__ */ __name(function(fromNode, endNode) {\n let endIntersectPoint = { x: 0, y: 0 };\n endIntersectPoint.x = endNode.x + endNode.width / 2;\n endIntersectPoint.y = endNode.y + endNode.height / 2;\n let startPoint = getIntersectPoint(fromNode, endIntersectPoint);\n endIntersectPoint.x = fromNode.x + fromNode.width / 2;\n endIntersectPoint.y = fromNode.y + fromNode.height / 2;\n let endPoint = getIntersectPoint(endNode, endIntersectPoint);\n return { startPoint, endPoint };\n}, \"getIntersectPoints\");\nvar drawRels2 = /* @__PURE__ */ __name(function(diagram2, rels2, getC4ShapeObj, diagObj) {\n let i = 0;\n for (let rel of rels2) {\n i = i + 1;\n let relTextWrap = rel.wrap && conf.wrap;\n let relConf = messageFont(conf);\n let diagramType = diagObj.db.getC4Type();\n if (diagramType === \"C4Dynamic\") {\n rel.label.text = i + \": \" + rel.label.text;\n }\n let textLimitWidth = calculateTextWidth(rel.label.text, relConf);\n calcC4ShapeTextWH(\"label\", rel, relTextWrap, relConf, textLimitWidth);\n if (rel.techn && rel.techn.text !== \"\") {\n textLimitWidth = calculateTextWidth(rel.techn.text, relConf);\n calcC4ShapeTextWH(\"techn\", rel, relTextWrap, relConf, textLimitWidth);\n }\n if (rel.descr && rel.descr.text !== \"\") {\n textLimitWidth = calculateTextWidth(rel.descr.text, relConf);\n calcC4ShapeTextWH(\"descr\", rel, relTextWrap, relConf, textLimitWidth);\n }\n let fromNode = getC4ShapeObj(rel.from);\n let endNode = getC4ShapeObj(rel.to);\n let points = getIntersectPoints(fromNode, endNode);\n rel.startPoint = points.startPoint;\n rel.endPoint = points.endPoint;\n }\n svgDraw_default.drawRels(diagram2, rels2, conf);\n}, \"drawRels\");\nfunction drawInsideBoundary(diagram2, parentBoundaryAlias, parentBounds, currentBoundaries, diagObj) {\n let currentBounds = new Bounds(diagObj);\n currentBounds.data.widthLimit = parentBounds.data.widthLimit / Math.min(c4BoundaryInRow2, currentBoundaries.length);\n for (let [i, currentBoundary] of currentBoundaries.entries()) {\n let Y = 0;\n currentBoundary.image = { width: 0, height: 0, Y: 0 };\n if (currentBoundary.sprite) {\n currentBoundary.image.width = 48;\n currentBoundary.image.height = 48;\n currentBoundary.image.Y = Y;\n Y = currentBoundary.image.Y + currentBoundary.image.height;\n }\n let currentBoundaryTextWrap = currentBoundary.wrap && conf.wrap;\n let currentBoundaryLabelConf = boundaryFont(conf);\n currentBoundaryLabelConf.fontSize = currentBoundaryLabelConf.fontSize + 2;\n currentBoundaryLabelConf.fontWeight = \"bold\";\n calcC4ShapeTextWH(\n \"label\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryLabelConf,\n currentBounds.data.widthLimit\n );\n currentBoundary.label.Y = Y + 8;\n Y = currentBoundary.label.Y + currentBoundary.label.height;\n if (currentBoundary.type && currentBoundary.type.text !== \"\") {\n currentBoundary.type.text = \"[\" + currentBoundary.type.text + \"]\";\n let currentBoundaryTypeConf = boundaryFont(conf);\n calcC4ShapeTextWH(\n \"type\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryTypeConf,\n currentBounds.data.widthLimit\n );\n currentBoundary.type.Y = Y + 5;\n Y = currentBoundary.type.Y + currentBoundary.type.height;\n }\n if (currentBoundary.descr && currentBoundary.descr.text !== \"\") {\n let currentBoundaryDescrConf = boundaryFont(conf);\n currentBoundaryDescrConf.fontSize = currentBoundaryDescrConf.fontSize - 2;\n calcC4ShapeTextWH(\n \"descr\",\n currentBoundary,\n currentBoundaryTextWrap,\n currentBoundaryDescrConf,\n currentBounds.data.widthLimit\n );\n currentBoundary.descr.Y = Y + 20;\n Y = currentBoundary.descr.Y + currentBoundary.descr.height;\n }\n if (i == 0 || i % c4BoundaryInRow2 === 0) {\n let _x = parentBounds.data.startx + conf.diagramMarginX;\n let _y = parentBounds.data.stopy + conf.diagramMarginY + Y;\n currentBounds.setData(_x, _x, _y, _y);\n } else {\n let _x = currentBounds.data.stopx !== currentBounds.data.startx ? currentBounds.data.stopx + conf.diagramMarginX : currentBounds.data.startx;\n let _y = currentBounds.data.starty;\n currentBounds.setData(_x, _x, _y, _y);\n }\n currentBounds.name = currentBoundary.alias;\n let currentPersonOrSystemArray = diagObj.db.getC4ShapeArray(currentBoundary.alias);\n let currentPersonOrSystemKeys = diagObj.db.getC4ShapeKeys(currentBoundary.alias);\n if (currentPersonOrSystemKeys.length > 0) {\n drawC4ShapeArray(\n currentBounds,\n diagram2,\n currentPersonOrSystemArray,\n currentPersonOrSystemKeys\n );\n }\n parentBoundaryAlias = currentBoundary.alias;\n let nextCurrentBoundaries = diagObj.db.getBoundarys(parentBoundaryAlias);\n if (nextCurrentBoundaries.length > 0) {\n drawInsideBoundary(\n diagram2,\n parentBoundaryAlias,\n currentBounds,\n nextCurrentBoundaries,\n diagObj\n );\n }\n if (currentBoundary.alias !== \"global\") {\n drawBoundary2(diagram2, currentBoundary, currentBounds);\n }\n parentBounds.data.stopy = Math.max(\n currentBounds.data.stopy + conf.c4ShapeMargin,\n parentBounds.data.stopy\n );\n parentBounds.data.stopx = Math.max(\n currentBounds.data.stopx + conf.c4ShapeMargin,\n parentBounds.data.stopx\n );\n globalBoundaryMaxX = Math.max(globalBoundaryMaxX, parentBounds.data.stopx);\n globalBoundaryMaxY = Math.max(globalBoundaryMaxY, parentBounds.data.stopy);\n }\n}\n__name(drawInsideBoundary, \"drawInsideBoundary\");\nvar draw = /* @__PURE__ */ __name(function(_text, id, _version, diagObj) {\n conf = getConfig().c4;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n let db = diagObj.db;\n diagObj.db.setWrap(conf.wrap);\n c4ShapeInRow2 = db.getC4ShapeInRow();\n c4BoundaryInRow2 = db.getC4BoundaryInRow();\n log.debug(`C:${JSON.stringify(conf, null, 2)}`);\n const diagram2 = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : select(`[id=\"${id}\"]`);\n svgDraw_default.insertComputerIcon(diagram2);\n svgDraw_default.insertDatabaseIcon(diagram2);\n svgDraw_default.insertClockIcon(diagram2);\n let screenBounds = new Bounds(diagObj);\n screenBounds.setData(\n conf.diagramMarginX,\n conf.diagramMarginX,\n conf.diagramMarginY,\n conf.diagramMarginY\n );\n screenBounds.data.widthLimit = screen.availWidth;\n globalBoundaryMaxX = conf.diagramMarginX;\n globalBoundaryMaxY = conf.diagramMarginY;\n const title2 = diagObj.db.getTitle();\n let currentBoundaries = diagObj.db.getBoundarys(\"\");\n drawInsideBoundary(diagram2, \"\", screenBounds, currentBoundaries, diagObj);\n svgDraw_default.insertArrowHead(diagram2);\n svgDraw_default.insertArrowEnd(diagram2);\n svgDraw_default.insertArrowCrossHead(diagram2);\n svgDraw_default.insertArrowFilledHead(diagram2);\n drawRels2(diagram2, diagObj.db.getRels(), diagObj.db.getC4Shape, diagObj);\n screenBounds.data.stopx = globalBoundaryMaxX;\n screenBounds.data.stopy = globalBoundaryMaxY;\n const box = screenBounds.data;\n let boxHeight = box.stopy - box.starty;\n let height = boxHeight + 2 * conf.diagramMarginY;\n let boxWidth = box.stopx - box.startx;\n const width = boxWidth + 2 * conf.diagramMarginX;\n if (title2) {\n diagram2.append(\"text\").text(title2).attr(\"x\", (box.stopx - box.startx) / 2 - 4 * conf.diagramMarginX).attr(\"y\", box.starty + conf.diagramMarginY);\n }\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n const extraVertForTitle = title2 ? 60 : 0;\n diagram2.attr(\n \"viewBox\",\n box.startx - conf.diagramMarginX + \" -\" + (conf.diagramMarginY + extraVertForTitle) + \" \" + width + \" \" + (height + extraVertForTitle)\n );\n log.debug(`models:`, box);\n}, \"draw\");\nvar c4Renderer_default = {\n drawPersonOrSystemArray: drawC4ShapeArray,\n drawBoundary: drawBoundary2,\n setConf,\n draw\n};\n\n// src/diagrams/c4/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.person {\n stroke: ${options.personBorder};\n fill: ${options.personBkg};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/c4/c4Diagram.ts\nvar diagram = {\n parser: c4Diagram_default,\n db: c4Db_default,\n renderer: c4Renderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name(({ c4, wrap }) => {\n c4Renderer_default.setConf(c4);\n c4Db_default.setWrap(wrap);\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n __name,\n configureSvgSize,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/rendering-util/insertElementsForSize.js\nimport { select } from \"d3\";\nvar getDiagramElement = /* @__PURE__ */ __name((id, securityLevel) => {\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id=\"${id}\"]`);\n return svg;\n}, \"getDiagramElement\");\n\n// src/rendering-util/setupViewPortForSVG.ts\nvar setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {\n svg.attr(\"class\", cssDiagram);\n const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);\n configureSvgSize(svg, height, width, useMaxWidth);\n const viewBox = createViewBox(x, y, width, height, padding);\n svg.attr(\"viewBox\", viewBox);\n log.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);\n}, \"setupViewPortForSVG\");\nvar calculateDimensionsWithPadding = /* @__PURE__ */ __name((svg, padding) => {\n const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };\n return {\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n x: bounds.x,\n y: bounds.y\n };\n}, \"calculateDimensionsWithPadding\");\nvar createViewBox = /* @__PURE__ */ __name((x, y, width, height, padding) => {\n return `${x - padding} ${y - padding} ${width} ${height}`;\n}, \"createViewBox\");\n\nexport {\n getDiagramElement,\n setupViewPortForSVG\n};\n", + "import {\n JSON_SCHEMA,\n load\n} from \"./chunk-6JRP7KZX.mjs\";\nimport {\n getDiagramElement,\n setupViewPortForSVG\n} from \"./chunk-RZ5BOZE2.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport {\n isValidShape\n} from \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport {\n getEdgeId,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n defaultConfig2 as defaultConfig,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setConfig2 as setConfig,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/flowchart/flowDb.ts\nimport { select } from \"d3\";\nvar MERMAID_DOM_ID_PREFIX = \"flowchart-\";\nvar FlowDB = class {\n // cspell:ignore funs\n constructor() {\n this.vertexCounter = 0;\n this.config = getConfig();\n this.vertices = /* @__PURE__ */ new Map();\n this.edges = [];\n this.classes = /* @__PURE__ */ new Map();\n this.subGraphs = [];\n this.subGraphLookup = /* @__PURE__ */ new Map();\n this.tooltips = /* @__PURE__ */ new Map();\n this.subCount = 0;\n this.firstGraphFlag = true;\n // As in graph\n this.secCount = -1;\n this.posCrossRef = [];\n // Functions to be run after graph rendering\n this.funs = [];\n this.setAccTitle = setAccTitle;\n this.setAccDescription = setAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getAccTitle = getAccTitle;\n this.getAccDescription = getAccDescription;\n this.getDiagramTitle = getDiagramTitle;\n this.funs.push(this.setupToolTips.bind(this));\n this.addVertex = this.addVertex.bind(this);\n this.firstGraph = this.firstGraph.bind(this);\n this.setDirection = this.setDirection.bind(this);\n this.addSubGraph = this.addSubGraph.bind(this);\n this.addLink = this.addLink.bind(this);\n this.setLink = this.setLink.bind(this);\n this.updateLink = this.updateLink.bind(this);\n this.addClass = this.addClass.bind(this);\n this.setClass = this.setClass.bind(this);\n this.destructLink = this.destructLink.bind(this);\n this.setClickEvent = this.setClickEvent.bind(this);\n this.setTooltip = this.setTooltip.bind(this);\n this.updateLinkInterpolate = this.updateLinkInterpolate.bind(this);\n this.setClickFun = this.setClickFun.bind(this);\n this.bindFunctions = this.bindFunctions.bind(this);\n this.lex = {\n firstGraph: this.firstGraph.bind(this)\n };\n this.clear();\n this.setGen(\"gen-2\");\n }\n static {\n __name(this, \"FlowDB\");\n }\n sanitizeText(txt) {\n return common_default.sanitizeText(txt, this.config);\n }\n /**\n * Function to lookup domId from id in the graph definition.\n *\n * @param id - id of the node\n */\n lookUpDomId(id) {\n for (const vertex of this.vertices.values()) {\n if (vertex.id === id) {\n return vertex.domId;\n }\n }\n return id;\n }\n /**\n * Function called by parser when a node definition has been found\n */\n addVertex(id, textObj, type, style, classes, dir, props = {}, metadata) {\n if (!id || id.trim().length === 0) {\n return;\n }\n let doc;\n if (metadata !== void 0) {\n let yamlData;\n if (!metadata.includes(\"\\n\")) {\n yamlData = \"{\\n\" + metadata + \"\\n}\";\n } else {\n yamlData = metadata + \"\\n\";\n }\n doc = load(yamlData, { schema: JSON_SCHEMA });\n }\n const edge = this.edges.find((e) => e.id === id);\n if (edge) {\n const edgeDoc = doc;\n if (edgeDoc?.animate !== void 0) {\n edge.animate = edgeDoc.animate;\n }\n if (edgeDoc?.animation !== void 0) {\n edge.animation = edgeDoc.animation;\n }\n return;\n }\n let txt;\n let vertex = this.vertices.get(id);\n if (vertex === void 0) {\n vertex = {\n id,\n labelType: \"text\",\n domId: MERMAID_DOM_ID_PREFIX + id + \"-\" + this.vertexCounter,\n styles: [],\n classes: []\n };\n this.vertices.set(id, vertex);\n }\n this.vertexCounter++;\n if (textObj !== void 0) {\n this.config = getConfig();\n txt = this.sanitizeText(textObj.text.trim());\n vertex.labelType = textObj.type;\n if (txt.startsWith('\"') && txt.endsWith('\"')) {\n txt = txt.substring(1, txt.length - 1);\n }\n vertex.text = txt;\n } else {\n if (vertex.text === void 0) {\n vertex.text = id;\n }\n }\n if (type !== void 0) {\n vertex.type = type;\n }\n if (style !== void 0 && style !== null) {\n style.forEach((s) => {\n vertex.styles.push(s);\n });\n }\n if (classes !== void 0 && classes !== null) {\n classes.forEach((s) => {\n vertex.classes.push(s);\n });\n }\n if (dir !== void 0) {\n vertex.dir = dir;\n }\n if (vertex.props === void 0) {\n vertex.props = props;\n } else if (props !== void 0) {\n Object.assign(vertex.props, props);\n }\n if (doc !== void 0) {\n if (doc.shape) {\n if (doc.shape !== doc.shape.toLowerCase() || doc.shape.includes(\"_\")) {\n throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);\n } else if (!isValidShape(doc.shape)) {\n throw new Error(`No such shape: ${doc.shape}.`);\n }\n vertex.type = doc?.shape;\n }\n if (doc?.label) {\n vertex.text = doc?.label;\n }\n if (doc?.icon) {\n vertex.icon = doc?.icon;\n if (!doc.label?.trim() && vertex.text === id) {\n vertex.text = \"\";\n }\n }\n if (doc?.form) {\n vertex.form = doc?.form;\n }\n if (doc?.pos) {\n vertex.pos = doc?.pos;\n }\n if (doc?.img) {\n vertex.img = doc?.img;\n if (!doc.label?.trim() && vertex.text === id) {\n vertex.text = \"\";\n }\n }\n if (doc?.constraint) {\n vertex.constraint = doc.constraint;\n }\n if (doc.w) {\n vertex.assetWidth = Number(doc.w);\n }\n if (doc.h) {\n vertex.assetHeight = Number(doc.h);\n }\n }\n }\n /**\n * Function called by parser when a link/edge definition has been found\n *\n */\n addSingleLink(_start, _end, type, id) {\n const start = _start;\n const end = _end;\n const edge = {\n start,\n end,\n type: void 0,\n text: \"\",\n labelType: \"text\",\n classes: [],\n isUserDefinedId: false,\n interpolate: this.edges.defaultInterpolate\n };\n log.info(\"abc78 Got edge...\", edge);\n const linkTextObj = type.text;\n if (linkTextObj !== void 0) {\n edge.text = this.sanitizeText(linkTextObj.text.trim());\n if (edge.text.startsWith('\"') && edge.text.endsWith('\"')) {\n edge.text = edge.text.substring(1, edge.text.length - 1);\n }\n edge.labelType = linkTextObj.type;\n }\n if (type !== void 0) {\n edge.type = type.type;\n edge.stroke = type.stroke;\n edge.length = type.length > 10 ? 10 : type.length;\n }\n if (id && !this.edges.some((e) => e.id === id)) {\n edge.id = id;\n edge.isUserDefinedId = true;\n } else {\n const existingLinks = this.edges.filter((e) => e.start === edge.start && e.end === edge.end);\n if (existingLinks.length === 0) {\n edge.id = getEdgeId(edge.start, edge.end, { counter: 0, prefix: \"L\" });\n } else {\n edge.id = getEdgeId(edge.start, edge.end, {\n counter: existingLinks.length + 1,\n prefix: \"L\"\n });\n }\n }\n if (this.edges.length < (this.config.maxEdges ?? 500)) {\n log.info(\"Pushing edge...\");\n this.edges.push(edge);\n } else {\n throw new Error(\n `Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`\n );\n }\n }\n isLinkData(value) {\n return value !== null && typeof value === \"object\" && \"id\" in value && typeof value.id === \"string\";\n }\n addLink(_start, _end, linkData) {\n const id = this.isLinkData(linkData) ? linkData.id.replace(\"@\", \"\") : void 0;\n log.info(\"addLink\", _start, _end, id);\n for (const start of _start) {\n for (const end of _end) {\n const isLastStart = start === _start[_start.length - 1];\n const isFirstEnd = end === _end[0];\n if (isLastStart && isFirstEnd) {\n this.addSingleLink(start, end, linkData, id);\n } else {\n this.addSingleLink(start, end, linkData, void 0);\n }\n }\n }\n }\n /**\n * Updates a link's line interpolation algorithm\n */\n updateLinkInterpolate(positions, interpolate) {\n positions.forEach((pos) => {\n if (pos === \"default\") {\n this.edges.defaultInterpolate = interpolate;\n } else {\n this.edges[pos].interpolate = interpolate;\n }\n });\n }\n /**\n * Updates a link with a style\n *\n */\n updateLink(positions, style) {\n positions.forEach((pos) => {\n if (typeof pos === \"number\" && pos >= this.edges.length) {\n throw new Error(\n `The index ${pos} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length - 1}. (Help: Ensure that the index is within the range of existing edges.)`\n );\n }\n if (pos === \"default\") {\n this.edges.defaultStyle = style;\n } else {\n this.edges[pos].style = style;\n if ((this.edges[pos]?.style?.length ?? 0) > 0 && !this.edges[pos]?.style?.some((s) => s?.startsWith(\"fill\"))) {\n this.edges[pos]?.style?.push(\"fill:none\");\n }\n }\n });\n }\n addClass(ids, _style) {\n const style = _style.join().replace(/\\\\,/g, \"\\xA7\\xA7\\xA7\").replace(/,/g, \";\").replace(/§§§/g, \",\").split(\";\");\n ids.split(\",\").forEach((id) => {\n let classNode = this.classes.get(id);\n if (classNode === void 0) {\n classNode = { id, styles: [], textStyles: [] };\n this.classes.set(id, classNode);\n }\n if (style !== void 0 && style !== null) {\n style.forEach((s) => {\n if (/color/.exec(s)) {\n const newStyle = s.replace(\"fill\", \"bgFill\");\n classNode.textStyles.push(newStyle);\n }\n classNode.styles.push(s);\n });\n }\n });\n }\n /**\n * Called by parser when a graph definition is found, stores the direction of the chart.\n *\n */\n setDirection(dir) {\n this.direction = dir;\n if (/.*</.exec(this.direction)) {\n this.direction = \"RL\";\n }\n if (/.*\\^/.exec(this.direction)) {\n this.direction = \"BT\";\n }\n if (/.*>/.exec(this.direction)) {\n this.direction = \"LR\";\n }\n if (/.*v/.exec(this.direction)) {\n this.direction = \"TB\";\n }\n if (this.direction === \"TD\") {\n this.direction = \"TB\";\n }\n }\n /**\n * Called by parser when a special node is found, e.g. a clickable element.\n *\n * @param ids - Comma separated list of ids\n * @param className - Class to add\n */\n setClass(ids, className) {\n for (const id of ids.split(\",\")) {\n const vertex = this.vertices.get(id);\n if (vertex) {\n vertex.classes.push(className);\n }\n const edge = this.edges.find((e) => e.id === id);\n if (edge) {\n edge.classes.push(className);\n }\n const subGraph = this.subGraphLookup.get(id);\n if (subGraph) {\n subGraph.classes.push(className);\n }\n }\n }\n setTooltip(ids, tooltip) {\n if (tooltip === void 0) {\n return;\n }\n tooltip = this.sanitizeText(tooltip);\n for (const id of ids.split(\",\")) {\n this.tooltips.set(this.version === \"gen-1\" ? this.lookUpDomId(id) : id, tooltip);\n }\n }\n setClickFun(id, functionName, functionArgs) {\n const domId = this.lookUpDomId(id);\n if (getConfig().securityLevel !== \"loose\") {\n return;\n }\n if (functionName === void 0) {\n return;\n }\n let argList = [];\n if (typeof functionArgs === \"string\") {\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n if (item.startsWith('\"') && item.endsWith('\"')) {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n if (argList.length === 0) {\n argList.push(id);\n }\n const vertex = this.vertices.get(id);\n if (vertex) {\n vertex.haveCallback = true;\n this.funs.push(() => {\n const elem = document.querySelector(`[id=\"${domId}\"]`);\n if (elem !== null) {\n elem.addEventListener(\n \"click\",\n () => {\n utils_default.runFunc(functionName, ...argList);\n },\n false\n );\n }\n });\n }\n }\n /**\n * Called by parser when a link is found. Adds the URL to the vertex data.\n *\n * @param ids - Comma separated list of ids\n * @param linkStr - URL to create a link for\n * @param target - Target attribute for the link\n */\n setLink(ids, linkStr, target) {\n ids.split(\",\").forEach((id) => {\n const vertex = this.vertices.get(id);\n if (vertex !== void 0) {\n vertex.link = utils_default.formatUrl(linkStr, this.config);\n vertex.linkTarget = target;\n }\n });\n this.setClass(ids, \"clickable\");\n }\n getTooltip(id) {\n return this.tooltips.get(id);\n }\n /**\n * Called by parser when a click definition is found. Registers an event handler.\n *\n * @param ids - Comma separated list of ids\n * @param functionName - Function to be called on click\n * @param functionArgs - Arguments to be passed to the function\n */\n setClickEvent(ids, functionName, functionArgs) {\n ids.split(\",\").forEach((id) => {\n this.setClickFun(id, functionName, functionArgs);\n });\n this.setClass(ids, \"clickable\");\n }\n bindFunctions(element) {\n this.funs.forEach((fun) => {\n fun(element);\n });\n }\n getDirection() {\n return this.direction?.trim();\n }\n /**\n * Retrieval function for fetching the found nodes after parsing has completed.\n *\n */\n getVertices() {\n return this.vertices;\n }\n /**\n * Retrieval function for fetching the found links after parsing has completed.\n *\n */\n getEdges() {\n return this.edges;\n }\n /**\n * Retrieval function for fetching the found class definitions after parsing has completed.\n *\n */\n getClasses() {\n return this.classes;\n }\n setupToolTips(element) {\n let tooltipElem = select(\".mermaidTooltip\");\n if ((tooltipElem._groups || tooltipElem)[0][0] === null) {\n tooltipElem = select(\"body\").append(\"div\").attr(\"class\", \"mermaidTooltip\").style(\"opacity\", 0);\n }\n const svg = select(element).select(\"svg\");\n const nodes = svg.selectAll(\"g.node\");\n nodes.on(\"mouseover\", (e) => {\n const el = select(e.currentTarget);\n const title = el.attr(\"title\");\n if (title === null) {\n return;\n }\n const rect = e.currentTarget?.getBoundingClientRect();\n tooltipElem.transition().duration(200).style(\"opacity\", \".9\");\n tooltipElem.text(el.attr(\"title\")).style(\"left\", window.scrollX + rect.left + (rect.right - rect.left) / 2 + \"px\").style(\"top\", window.scrollY + rect.bottom + \"px\");\n tooltipElem.html(tooltipElem.html().replace(/<br\\/>/g, \"<br/>\"));\n el.classed(\"hover\", true);\n }).on(\"mouseout\", (e) => {\n tooltipElem.transition().duration(500).style(\"opacity\", 0);\n const el = select(e.currentTarget);\n el.classed(\"hover\", false);\n });\n }\n /**\n * Clears the internal graph db so that a new graph can be parsed.\n *\n */\n clear(ver = \"gen-2\") {\n this.vertices = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n this.edges = [];\n this.funs = [this.setupToolTips.bind(this)];\n this.subGraphs = [];\n this.subGraphLookup = /* @__PURE__ */ new Map();\n this.subCount = 0;\n this.tooltips = /* @__PURE__ */ new Map();\n this.firstGraphFlag = true;\n this.version = ver;\n this.config = getConfig();\n clear();\n }\n setGen(ver) {\n this.version = ver || \"gen-2\";\n }\n defaultStyle() {\n return \"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;\";\n }\n addSubGraph(_id, list, _title) {\n let id = _id.text.trim();\n let title = _title.text;\n if (_id === _title && /\\s/.exec(_title.text)) {\n id = void 0;\n }\n const uniq = /* @__PURE__ */ __name((a) => {\n const prims = { boolean: {}, number: {}, string: {} };\n const objs = [];\n let dir2;\n const nodeList2 = a.filter(function(item) {\n const type = typeof item;\n if (item.stmt && item.stmt === \"dir\") {\n dir2 = item.value;\n return false;\n }\n if (item.trim() === \"\") {\n return false;\n }\n if (type in prims) {\n return prims[type].hasOwnProperty(item) ? false : prims[type][item] = true;\n } else {\n return objs.includes(item) ? false : objs.push(item);\n }\n });\n return { nodeList: nodeList2, dir: dir2 };\n }, \"uniq\");\n const { nodeList, dir } = uniq(list.flat());\n if (this.version === \"gen-1\") {\n for (let i = 0; i < nodeList.length; i++) {\n nodeList[i] = this.lookUpDomId(nodeList[i]);\n }\n }\n id = id ?? \"subGraph\" + this.subCount;\n title = title || \"\";\n title = this.sanitizeText(title);\n this.subCount = this.subCount + 1;\n const subGraph = {\n id,\n nodes: nodeList,\n title: title.trim(),\n classes: [],\n dir,\n labelType: _title.type\n };\n log.info(\"Adding\", subGraph.id, subGraph.nodes, subGraph.dir);\n subGraph.nodes = this.makeUniq(subGraph, this.subGraphs).nodes;\n this.subGraphs.push(subGraph);\n this.subGraphLookup.set(id, subGraph);\n return id;\n }\n getPosForId(id) {\n for (const [i, subGraph] of this.subGraphs.entries()) {\n if (subGraph.id === id) {\n return i;\n }\n }\n return -1;\n }\n indexNodes2(id, pos) {\n const nodes = this.subGraphs[pos].nodes;\n this.secCount = this.secCount + 1;\n if (this.secCount > 2e3) {\n return {\n result: false,\n count: 0\n };\n }\n this.posCrossRef[this.secCount] = pos;\n if (this.subGraphs[pos].id === id) {\n return {\n result: true,\n count: 0\n };\n }\n let count = 0;\n let posCount = 1;\n while (count < nodes.length) {\n const childPos = this.getPosForId(nodes[count]);\n if (childPos >= 0) {\n const res = this.indexNodes2(id, childPos);\n if (res.result) {\n return {\n result: true,\n count: posCount + res.count\n };\n } else {\n posCount = posCount + res.count;\n }\n }\n count = count + 1;\n }\n return {\n result: false,\n count: posCount\n };\n }\n getDepthFirstPos(pos) {\n return this.posCrossRef[pos];\n }\n indexNodes() {\n this.secCount = -1;\n if (this.subGraphs.length > 0) {\n this.indexNodes2(\"none\", this.subGraphs.length - 1);\n }\n }\n getSubGraphs() {\n return this.subGraphs;\n }\n firstGraph() {\n if (this.firstGraphFlag) {\n this.firstGraphFlag = false;\n return true;\n }\n return false;\n }\n destructStartLink(_str) {\n let str = _str.trim();\n let type = \"arrow_open\";\n switch (str[0]) {\n case \"<\":\n type = \"arrow_point\";\n str = str.slice(1);\n break;\n case \"x\":\n type = \"arrow_cross\";\n str = str.slice(1);\n break;\n case \"o\":\n type = \"arrow_circle\";\n str = str.slice(1);\n break;\n }\n let stroke = \"normal\";\n if (str.includes(\"=\")) {\n stroke = \"thick\";\n }\n if (str.includes(\".\")) {\n stroke = \"dotted\";\n }\n return { type, stroke };\n }\n countChar(char, str) {\n const length = str.length;\n let count = 0;\n for (let i = 0; i < length; ++i) {\n if (str[i] === char) {\n ++count;\n }\n }\n return count;\n }\n destructEndLink(_str) {\n const str = _str.trim();\n let line = str.slice(0, -1);\n let type = \"arrow_open\";\n switch (str.slice(-1)) {\n case \"x\":\n type = \"arrow_cross\";\n if (str.startsWith(\"x\")) {\n type = \"double_\" + type;\n line = line.slice(1);\n }\n break;\n case \">\":\n type = \"arrow_point\";\n if (str.startsWith(\"<\")) {\n type = \"double_\" + type;\n line = line.slice(1);\n }\n break;\n case \"o\":\n type = \"arrow_circle\";\n if (str.startsWith(\"o\")) {\n type = \"double_\" + type;\n line = line.slice(1);\n }\n break;\n }\n let stroke = \"normal\";\n let length = line.length - 1;\n if (line.startsWith(\"=\")) {\n stroke = \"thick\";\n }\n if (line.startsWith(\"~\")) {\n stroke = \"invisible\";\n }\n const dots = this.countChar(\".\", line);\n if (dots) {\n stroke = \"dotted\";\n length = dots;\n }\n return { type, stroke, length };\n }\n destructLink(_str, _startStr) {\n const info = this.destructEndLink(_str);\n let startInfo;\n if (_startStr) {\n startInfo = this.destructStartLink(_startStr);\n if (startInfo.stroke !== info.stroke) {\n return { type: \"INVALID\", stroke: \"INVALID\" };\n }\n if (startInfo.type === \"arrow_open\") {\n startInfo.type = info.type;\n } else {\n if (startInfo.type !== info.type) {\n return { type: \"INVALID\", stroke: \"INVALID\" };\n }\n startInfo.type = \"double_\" + startInfo.type;\n }\n if (startInfo.type === \"double_arrow\") {\n startInfo.type = \"double_arrow_point\";\n }\n startInfo.length = info.length;\n return startInfo;\n }\n return info;\n }\n // Todo optimizer this by caching existing nodes\n exists(allSgs, _id) {\n for (const sg of allSgs) {\n if (sg.nodes.includes(_id)) {\n return true;\n }\n }\n return false;\n }\n /**\n * Deletes an id from all subgraphs\n *\n */\n makeUniq(sg, allSubgraphs) {\n const res = [];\n sg.nodes.forEach((_id, pos) => {\n if (!this.exists(allSubgraphs, _id)) {\n res.push(sg.nodes[pos]);\n }\n });\n return { nodes: res };\n }\n getTypeFromVertex(vertex) {\n if (vertex.img) {\n return \"imageSquare\";\n }\n if (vertex.icon) {\n if (vertex.form === \"circle\") {\n return \"iconCircle\";\n }\n if (vertex.form === \"square\") {\n return \"iconSquare\";\n }\n if (vertex.form === \"rounded\") {\n return \"iconRounded\";\n }\n return \"icon\";\n }\n switch (vertex.type) {\n case \"square\":\n case void 0:\n return \"squareRect\";\n case \"round\":\n return \"roundedRect\";\n case \"ellipse\":\n return \"ellipse\";\n default:\n return vertex.type;\n }\n }\n findNode(nodes, id) {\n return nodes.find((node) => node.id === id);\n }\n destructEdgeType(type) {\n let arrowTypeStart = \"none\";\n let arrowTypeEnd = \"arrow_point\";\n switch (type) {\n case \"arrow_point\":\n case \"arrow_circle\":\n case \"arrow_cross\":\n arrowTypeEnd = type;\n break;\n case \"double_arrow_point\":\n case \"double_arrow_circle\":\n case \"double_arrow_cross\":\n arrowTypeStart = type.replace(\"double_\", \"\");\n arrowTypeEnd = arrowTypeStart;\n break;\n }\n return { arrowTypeStart, arrowTypeEnd };\n }\n addNodeFromVertex(vertex, nodes, parentDB, subGraphDB, config, look) {\n const parentId = parentDB.get(vertex.id);\n const isGroup = subGraphDB.get(vertex.id) ?? false;\n const node = this.findNode(nodes, vertex.id);\n if (node) {\n node.cssStyles = vertex.styles;\n node.cssCompiledStyles = this.getCompiledStyles(vertex.classes);\n node.cssClasses = vertex.classes.join(\" \");\n } else {\n const baseNode = {\n id: vertex.id,\n label: vertex.text,\n labelStyle: \"\",\n parentId,\n padding: config.flowchart?.padding || 8,\n cssStyles: vertex.styles,\n cssCompiledStyles: this.getCompiledStyles([\"default\", \"node\", ...vertex.classes]),\n cssClasses: \"default \" + vertex.classes.join(\" \"),\n dir: vertex.dir,\n domId: vertex.domId,\n look,\n link: vertex.link,\n linkTarget: vertex.linkTarget,\n tooltip: this.getTooltip(vertex.id),\n icon: vertex.icon,\n pos: vertex.pos,\n img: vertex.img,\n assetWidth: vertex.assetWidth,\n assetHeight: vertex.assetHeight,\n constraint: vertex.constraint\n };\n if (isGroup) {\n nodes.push({\n ...baseNode,\n isGroup: true,\n shape: \"rect\"\n });\n } else {\n nodes.push({\n ...baseNode,\n isGroup: false,\n shape: this.getTypeFromVertex(vertex)\n });\n }\n }\n }\n getCompiledStyles(classDefs) {\n let compiledStyles = [];\n for (const customClass of classDefs) {\n const cssClass = this.classes.get(customClass);\n if (cssClass?.styles) {\n compiledStyles = [...compiledStyles, ...cssClass.styles ?? []].map((s) => s.trim());\n }\n if (cssClass?.textStyles) {\n compiledStyles = [...compiledStyles, ...cssClass.textStyles ?? []].map((s) => s.trim());\n }\n }\n return compiledStyles;\n }\n getData() {\n const config = getConfig();\n const nodes = [];\n const edges = [];\n const subGraphs = this.getSubGraphs();\n const parentDB = /* @__PURE__ */ new Map();\n const subGraphDB = /* @__PURE__ */ new Map();\n for (let i = subGraphs.length - 1; i >= 0; i--) {\n const subGraph = subGraphs[i];\n if (subGraph.nodes.length > 0) {\n subGraphDB.set(subGraph.id, true);\n }\n for (const id of subGraph.nodes) {\n parentDB.set(id, subGraph.id);\n }\n }\n for (let i = subGraphs.length - 1; i >= 0; i--) {\n const subGraph = subGraphs[i];\n nodes.push({\n id: subGraph.id,\n label: subGraph.title,\n labelStyle: \"\",\n parentId: parentDB.get(subGraph.id),\n padding: 8,\n cssCompiledStyles: this.getCompiledStyles(subGraph.classes),\n cssClasses: subGraph.classes.join(\" \"),\n shape: \"rect\",\n dir: subGraph.dir,\n isGroup: true,\n look: config.look\n });\n }\n const n = this.getVertices();\n n.forEach((vertex) => {\n this.addNodeFromVertex(vertex, nodes, parentDB, subGraphDB, config, config.look || \"classic\");\n });\n const e = this.getEdges();\n e.forEach((rawEdge, index) => {\n const { arrowTypeStart, arrowTypeEnd } = this.destructEdgeType(rawEdge.type);\n const styles = [...e.defaultStyle ?? []];\n if (rawEdge.style) {\n styles.push(...rawEdge.style);\n }\n const edge = {\n id: getEdgeId(rawEdge.start, rawEdge.end, { counter: index, prefix: \"L\" }, rawEdge.id),\n isUserDefinedId: rawEdge.isUserDefinedId,\n start: rawEdge.start,\n end: rawEdge.end,\n type: rawEdge.type ?? \"normal\",\n label: rawEdge.text,\n labelpos: \"c\",\n thickness: rawEdge.stroke,\n minlen: rawEdge.length,\n classes: rawEdge?.stroke === \"invisible\" ? \"\" : \"edge-thickness-normal edge-pattern-solid flowchart-link\",\n arrowTypeStart: rawEdge?.stroke === \"invisible\" || rawEdge?.type === \"arrow_open\" ? \"none\" : arrowTypeStart,\n arrowTypeEnd: rawEdge?.stroke === \"invisible\" || rawEdge?.type === \"arrow_open\" ? \"none\" : arrowTypeEnd,\n arrowheadStyle: \"fill: #333\",\n cssCompiledStyles: this.getCompiledStyles(rawEdge.classes),\n labelStyle: styles,\n style: styles,\n pattern: rawEdge.stroke,\n look: config.look,\n animate: rawEdge.animate,\n animation: rawEdge.animation,\n curve: rawEdge.interpolate || this.edges.defaultInterpolate || config.flowchart?.curve\n };\n edges.push(edge);\n });\n return { nodes, edges, other: {}, config };\n }\n defaultConfig() {\n return defaultConfig.flowchart;\n }\n};\n\n// src/diagrams/flowchart/flowRenderer-v3-unified.ts\nimport { select as select2 } from \"d3\";\nvar getClasses = /* @__PURE__ */ __name(function(text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing state diagram (v2)\", id);\n const { securityLevel, flowchart: conf, layout } = getConfig();\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Before getData: \");\n const data4Layout = diag.db.getData();\n log.debug(\"Data: \", data4Layout);\n const svg = getDiagramElement(id, securityLevel);\n const direction = diag.db.getDirection();\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);\n if (data4Layout.layoutAlgorithm === \"dagre\" && layout === \"elk\") {\n log.warn(\n \"flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback.\"\n );\n }\n data4Layout.direction = direction;\n data4Layout.nodeSpacing = conf?.nodeSpacing || 50;\n data4Layout.rankSpacing = conf?.rankSpacing || 50;\n data4Layout.markers = [\"point\", \"circle\", \"cross\"];\n data4Layout.diagramId = id;\n log.debug(\"REF1:\", data4Layout);\n await render(data4Layout, svg);\n const padding = data4Layout.config.flowchart?.diagramPadding ?? 8;\n utils_default.insertTitle(\n svg,\n \"flowchartTitleText\",\n conf?.titleTopMargin || 0,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, \"flowchart\", conf?.useMaxWidth || false);\n for (const vertex of data4Layout.nodes) {\n const node = select2(`#${id} [id=\"${vertex.id}\"]`);\n if (!node || !vertex.link) {\n continue;\n }\n const link = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"a\");\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"class\", vertex.cssClasses);\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"rel\", \"noopener\");\n if (securityLevel === \"sandbox\") {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", \"_top\");\n } else if (vertex.linkTarget) {\n link.setAttributeNS(\"http://www.w3.org/2000/svg\", \"target\", vertex.linkTarget);\n }\n const linkNode = node.insert(function() {\n return link;\n }, \":first-child\");\n const shape = node.select(\".label-container\");\n if (shape) {\n linkNode.append(function() {\n return shape.node();\n });\n }\n const label = node.select(\".label\");\n if (label) {\n linkNode.append(function() {\n return label.node();\n });\n }\n }\n}, \"draw\");\nvar flowRenderer_v3_unified_default = {\n getClasses,\n draw\n};\n\n// src/diagrams/flowchart/parser/flow.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 3], $V2 = [1, 5], $V3 = [1, 8, 9, 10, 11, 27, 34, 36, 38, 44, 60, 84, 85, 86, 87, 88, 89, 102, 105, 106, 109, 111, 114, 115, 116, 121, 122, 123, 124], $V4 = [2, 2], $V5 = [1, 13], $V6 = [1, 14], $V7 = [1, 15], $V8 = [1, 16], $V9 = [1, 23], $Va = [1, 25], $Vb = [1, 26], $Vc = [1, 27], $Vd = [1, 49], $Ve = [1, 48], $Vf = [1, 29], $Vg = [1, 30], $Vh = [1, 31], $Vi = [1, 32], $Vj = [1, 33], $Vk = [1, 44], $Vl = [1, 46], $Vm = [1, 42], $Vn = [1, 47], $Vo = [1, 43], $Vp = [1, 50], $Vq = [1, 45], $Vr = [1, 51], $Vs = [1, 52], $Vt = [1, 34], $Vu = [1, 35], $Vv = [1, 36], $Vw = [1, 37], $Vx = [1, 57], $Vy = [1, 8, 9, 10, 11, 27, 32, 34, 36, 38, 44, 60, 84, 85, 86, 87, 88, 89, 102, 105, 106, 109, 111, 114, 115, 116, 121, 122, 123, 124], $Vz = [1, 61], $VA = [1, 60], $VB = [1, 62], $VC = [8, 9, 11, 75, 77, 78], $VD = [1, 78], $VE = [1, 91], $VF = [1, 96], $VG = [1, 95], $VH = [1, 92], $VI = [1, 88], $VJ = [1, 94], $VK = [1, 90], $VL = [1, 97], $VM = [1, 93], $VN = [1, 98], $VO = [1, 89], $VP = [8, 9, 10, 11, 40, 75, 77, 78], $VQ = [8, 9, 10, 11, 40, 46, 75, 77, 78], $VR = [8, 9, 10, 11, 29, 40, 44, 46, 48, 50, 52, 54, 56, 58, 60, 63, 65, 67, 68, 70, 75, 77, 78, 89, 102, 105, 106, 109, 111, 114, 115, 116], $VS = [8, 9, 11, 44, 60, 75, 77, 78, 89, 102, 105, 106, 109, 111, 114, 115, 116], $VT = [44, 60, 89, 102, 105, 106, 109, 111, 114, 115, 116], $VU = [1, 121], $VV = [1, 122], $VW = [1, 124], $VX = [1, 123], $VY = [44, 60, 62, 74, 89, 102, 105, 106, 109, 111, 114, 115, 116], $VZ = [1, 133], $V_ = [1, 147], $V$ = [1, 148], $V01 = [1, 149], $V11 = [1, 150], $V21 = [1, 135], $V31 = [1, 137], $V41 = [1, 141], $V51 = [1, 142], $V61 = [1, 143], $V71 = [1, 144], $V81 = [1, 145], $V91 = [1, 146], $Va1 = [1, 151], $Vb1 = [1, 152], $Vc1 = [1, 131], $Vd1 = [1, 132], $Ve1 = [1, 139], $Vf1 = [1, 134], $Vg1 = [1, 138], $Vh1 = [1, 136], $Vi1 = [8, 9, 10, 11, 27, 32, 34, 36, 38, 44, 60, 84, 85, 86, 87, 88, 89, 102, 105, 106, 109, 111, 114, 115, 116, 121, 122, 123, 124], $Vj1 = [1, 154], $Vk1 = [1, 156], $Vl1 = [8, 9, 11], $Vm1 = [8, 9, 10, 11, 14, 44, 60, 89, 105, 106, 109, 111, 114, 115, 116], $Vn1 = [1, 176], $Vo1 = [1, 172], $Vp1 = [1, 173], $Vq1 = [1, 177], $Vr1 = [1, 174], $Vs1 = [1, 175], $Vt1 = [77, 116, 119], $Vu1 = [8, 9, 10, 11, 12, 14, 27, 29, 32, 44, 60, 75, 84, 85, 86, 87, 88, 89, 90, 105, 109, 111, 114, 115, 116], $Vv1 = [10, 106], $Vw1 = [31, 49, 51, 53, 55, 57, 62, 64, 66, 67, 69, 71, 116, 117, 118], $Vx1 = [1, 247], $Vy1 = [1, 245], $Vz1 = [1, 249], $VA1 = [1, 243], $VB1 = [1, 244], $VC1 = [1, 246], $VD1 = [1, 248], $VE1 = [1, 250], $VF1 = [1, 268], $VG1 = [8, 9, 11, 106], $VH1 = [8, 9, 10, 11, 60, 84, 105, 106, 109, 110, 111, 112];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"graphConfig\": 4, \"document\": 5, \"line\": 6, \"statement\": 7, \"SEMI\": 8, \"NEWLINE\": 9, \"SPACE\": 10, \"EOF\": 11, \"GRAPH\": 12, \"NODIR\": 13, \"DIR\": 14, \"FirstStmtSeparator\": 15, \"ending\": 16, \"endToken\": 17, \"spaceList\": 18, \"spaceListNewline\": 19, \"vertexStatement\": 20, \"separator\": 21, \"styleStatement\": 22, \"linkStyleStatement\": 23, \"classDefStatement\": 24, \"classStatement\": 25, \"clickStatement\": 26, \"subgraph\": 27, \"textNoTags\": 28, \"SQS\": 29, \"text\": 30, \"SQE\": 31, \"end\": 32, \"direction\": 33, \"acc_title\": 34, \"acc_title_value\": 35, \"acc_descr\": 36, \"acc_descr_value\": 37, \"acc_descr_multiline_value\": 38, \"shapeData\": 39, \"SHAPE_DATA\": 40, \"link\": 41, \"node\": 42, \"styledVertex\": 43, \"AMP\": 44, \"vertex\": 45, \"STYLE_SEPARATOR\": 46, \"idString\": 47, \"DOUBLECIRCLESTART\": 48, \"DOUBLECIRCLEEND\": 49, \"PS\": 50, \"PE\": 51, \"(-\": 52, \"-)\": 53, \"STADIUMSTART\": 54, \"STADIUMEND\": 55, \"SUBROUTINESTART\": 56, \"SUBROUTINEEND\": 57, \"VERTEX_WITH_PROPS_START\": 58, \"NODE_STRING[field]\": 59, \"COLON\": 60, \"NODE_STRING[value]\": 61, \"PIPE\": 62, \"CYLINDERSTART\": 63, \"CYLINDEREND\": 64, \"DIAMOND_START\": 65, \"DIAMOND_STOP\": 66, \"TAGEND\": 67, \"TRAPSTART\": 68, \"TRAPEND\": 69, \"INVTRAPSTART\": 70, \"INVTRAPEND\": 71, \"linkStatement\": 72, \"arrowText\": 73, \"TESTSTR\": 74, \"START_LINK\": 75, \"edgeText\": 76, \"LINK\": 77, \"LINK_ID\": 78, \"edgeTextToken\": 79, \"STR\": 80, \"MD_STR\": 81, \"textToken\": 82, \"keywords\": 83, \"STYLE\": 84, \"LINKSTYLE\": 85, \"CLASSDEF\": 86, \"CLASS\": 87, \"CLICK\": 88, \"DOWN\": 89, \"UP\": 90, \"textNoTagsToken\": 91, \"stylesOpt\": 92, \"idString[vertex]\": 93, \"idString[class]\": 94, \"CALLBACKNAME\": 95, \"CALLBACKARGS\": 96, \"HREF\": 97, \"LINK_TARGET\": 98, \"STR[link]\": 99, \"STR[tooltip]\": 100, \"alphaNum\": 101, \"DEFAULT\": 102, \"numList\": 103, \"INTERPOLATE\": 104, \"NUM\": 105, \"COMMA\": 106, \"style\": 107, \"styleComponent\": 108, \"NODE_STRING\": 109, \"UNIT\": 110, \"BRKT\": 111, \"PCT\": 112, \"idStringToken\": 113, \"MINUS\": 114, \"MULT\": 115, \"UNICODE_TEXT\": 116, \"TEXT\": 117, \"TAGSTART\": 118, \"EDGE_TEXT\": 119, \"alphaNumToken\": 120, \"direction_tb\": 121, \"direction_bt\": 122, \"direction_rl\": 123, \"direction_lr\": 124, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 8: \"SEMI\", 9: \"NEWLINE\", 10: \"SPACE\", 11: \"EOF\", 12: \"GRAPH\", 13: \"NODIR\", 14: \"DIR\", 27: \"subgraph\", 29: \"SQS\", 31: \"SQE\", 32: \"end\", 34: \"acc_title\", 35: \"acc_title_value\", 36: \"acc_descr\", 37: \"acc_descr_value\", 38: \"acc_descr_multiline_value\", 40: \"SHAPE_DATA\", 44: \"AMP\", 46: \"STYLE_SEPARATOR\", 48: \"DOUBLECIRCLESTART\", 49: \"DOUBLECIRCLEEND\", 50: \"PS\", 51: \"PE\", 52: \"(-\", 53: \"-)\", 54: \"STADIUMSTART\", 55: \"STADIUMEND\", 56: \"SUBROUTINESTART\", 57: \"SUBROUTINEEND\", 58: \"VERTEX_WITH_PROPS_START\", 59: \"NODE_STRING[field]\", 60: \"COLON\", 61: \"NODE_STRING[value]\", 62: \"PIPE\", 63: \"CYLINDERSTART\", 64: \"CYLINDEREND\", 65: \"DIAMOND_START\", 66: \"DIAMOND_STOP\", 67: \"TAGEND\", 68: \"TRAPSTART\", 69: \"TRAPEND\", 70: \"INVTRAPSTART\", 71: \"INVTRAPEND\", 74: \"TESTSTR\", 75: \"START_LINK\", 77: \"LINK\", 78: \"LINK_ID\", 80: \"STR\", 81: \"MD_STR\", 84: \"STYLE\", 85: \"LINKSTYLE\", 86: \"CLASSDEF\", 87: \"CLASS\", 88: \"CLICK\", 89: \"DOWN\", 90: \"UP\", 93: \"idString[vertex]\", 94: \"idString[class]\", 95: \"CALLBACKNAME\", 96: \"CALLBACKARGS\", 97: \"HREF\", 98: \"LINK_TARGET\", 99: \"STR[link]\", 100: \"STR[tooltip]\", 102: \"DEFAULT\", 104: \"INTERPOLATE\", 105: \"NUM\", 106: \"COMMA\", 109: \"NODE_STRING\", 110: \"UNIT\", 111: \"BRKT\", 112: \"PCT\", 114: \"MINUS\", 115: \"MULT\", 116: \"UNICODE_TEXT\", 117: \"TEXT\", 118: \"TAGSTART\", 119: \"EDGE_TEXT\", 121: \"direction_tb\", 122: \"direction_bt\", 123: \"direction_rl\", 124: \"direction_lr\" },\n productions_: [0, [3, 2], [5, 0], [5, 2], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [4, 2], [4, 2], [4, 2], [4, 3], [16, 2], [16, 1], [17, 1], [17, 1], [17, 1], [15, 1], [15, 1], [15, 2], [19, 2], [19, 2], [19, 1], [19, 1], [18, 2], [18, 1], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 9], [7, 6], [7, 4], [7, 1], [7, 2], [7, 2], [7, 1], [21, 1], [21, 1], [21, 1], [39, 2], [39, 1], [20, 4], [20, 3], [20, 4], [20, 2], [20, 2], [20, 1], [42, 1], [42, 6], [42, 5], [43, 1], [43, 3], [45, 4], [45, 4], [45, 6], [45, 4], [45, 4], [45, 4], [45, 8], [45, 4], [45, 4], [45, 4], [45, 6], [45, 4], [45, 4], [45, 4], [45, 4], [45, 4], [45, 1], [41, 2], [41, 3], [41, 3], [41, 1], [41, 3], [41, 4], [76, 1], [76, 2], [76, 1], [76, 1], [72, 1], [72, 2], [73, 3], [30, 1], [30, 2], [30, 1], [30, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [28, 1], [28, 2], [28, 1], [28, 1], [24, 5], [25, 5], [26, 2], [26, 4], [26, 3], [26, 5], [26, 3], [26, 5], [26, 5], [26, 7], [26, 2], [26, 4], [26, 2], [26, 4], [26, 4], [26, 6], [22, 5], [23, 5], [23, 5], [23, 9], [23, 9], [23, 7], [23, 7], [103, 1], [103, 3], [92, 1], [92, 3], [107, 1], [107, 2], [108, 1], [108, 1], [108, 1], [108, 1], [108, 1], [108, 1], [108, 1], [108, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [113, 1], [82, 1], [82, 1], [82, 1], [82, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [79, 1], [79, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [120, 1], [47, 1], [47, 2], [101, 1], [101, 2], [33, 1], [33, 1], [33, 1], [33, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 2:\n this.$ = [];\n break;\n case 3:\n if (!Array.isArray($$[$0]) || $$[$0].length > 0) {\n $$[$0 - 1].push($$[$0]);\n }\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 183:\n this.$ = $$[$0];\n break;\n case 11:\n yy.setDirection(\"TB\");\n this.$ = \"TB\";\n break;\n case 12:\n yy.setDirection($$[$0 - 1]);\n this.$ = $$[$0 - 1];\n break;\n case 27:\n this.$ = $$[$0 - 1].nodes;\n break;\n case 28:\n case 29:\n case 30:\n case 31:\n case 32:\n this.$ = [];\n break;\n case 33:\n this.$ = yy.addSubGraph($$[$0 - 6], $$[$0 - 1], $$[$0 - 4]);\n break;\n case 34:\n this.$ = yy.addSubGraph($$[$0 - 3], $$[$0 - 1], $$[$0 - 3]);\n break;\n case 35:\n this.$ = yy.addSubGraph(void 0, $$[$0 - 1], void 0);\n break;\n case 37:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 38:\n case 39:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 43:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 44:\n this.$ = $$[$0];\n break;\n case 45:\n yy.addVertex($$[$0 - 1][$$[$0 - 1].length - 1], void 0, void 0, void 0, void 0, void 0, void 0, $$[$0]);\n yy.addLink($$[$0 - 3].stmt, $$[$0 - 1], $$[$0 - 2]);\n this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1].concat($$[$0 - 3].nodes) };\n break;\n case 46:\n yy.addLink($$[$0 - 2].stmt, $$[$0], $$[$0 - 1]);\n this.$ = { stmt: $$[$0], nodes: $$[$0].concat($$[$0 - 2].nodes) };\n break;\n case 47:\n yy.addLink($$[$0 - 3].stmt, $$[$0 - 1], $$[$0 - 2]);\n this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1].concat($$[$0 - 3].nodes) };\n break;\n case 48:\n this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1] };\n break;\n case 49:\n yy.addVertex($$[$0 - 1][$$[$0 - 1].length - 1], void 0, void 0, void 0, void 0, void 0, void 0, $$[$0]);\n this.$ = { stmt: $$[$0 - 1], nodes: $$[$0 - 1], shapeData: $$[$0] };\n break;\n case 50:\n this.$ = { stmt: $$[$0], nodes: $$[$0] };\n break;\n case 51:\n this.$ = [$$[$0]];\n break;\n case 52:\n yy.addVertex($$[$0 - 5][$$[$0 - 5].length - 1], void 0, void 0, void 0, void 0, void 0, void 0, $$[$0 - 4]);\n this.$ = $$[$0 - 5].concat($$[$0]);\n break;\n case 53:\n this.$ = $$[$0 - 4].concat($$[$0]);\n break;\n case 54:\n this.$ = $$[$0];\n break;\n case 55:\n this.$ = $$[$0 - 2];\n yy.setClass($$[$0 - 2], $$[$0]);\n break;\n case 56:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"square\");\n break;\n case 57:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"doublecircle\");\n break;\n case 58:\n this.$ = $$[$0 - 5];\n yy.addVertex($$[$0 - 5], $$[$0 - 2], \"circle\");\n break;\n case 59:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"ellipse\");\n break;\n case 60:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"stadium\");\n break;\n case 61:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"subroutine\");\n break;\n case 62:\n this.$ = $$[$0 - 7];\n yy.addVertex($$[$0 - 7], $$[$0 - 1], \"rect\", void 0, void 0, void 0, Object.fromEntries([[$$[$0 - 5], $$[$0 - 3]]]));\n break;\n case 63:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"cylinder\");\n break;\n case 64:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"round\");\n break;\n case 65:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"diamond\");\n break;\n case 66:\n this.$ = $$[$0 - 5];\n yy.addVertex($$[$0 - 5], $$[$0 - 2], \"hexagon\");\n break;\n case 67:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"odd\");\n break;\n case 68:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"trapezoid\");\n break;\n case 69:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"inv_trapezoid\");\n break;\n case 70:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"lean_right\");\n break;\n case 71:\n this.$ = $$[$0 - 3];\n yy.addVertex($$[$0 - 3], $$[$0 - 1], \"lean_left\");\n break;\n case 72:\n this.$ = $$[$0];\n yy.addVertex($$[$0]);\n break;\n case 73:\n $$[$0 - 1].text = $$[$0];\n this.$ = $$[$0 - 1];\n break;\n case 74:\n case 75:\n $$[$0 - 2].text = $$[$0 - 1];\n this.$ = $$[$0 - 2];\n break;\n case 76:\n this.$ = $$[$0];\n break;\n case 77:\n var inf = yy.destructLink($$[$0], $$[$0 - 2]);\n this.$ = { \"type\": inf.type, \"stroke\": inf.stroke, \"length\": inf.length, \"text\": $$[$0 - 1] };\n break;\n case 78:\n var inf = yy.destructLink($$[$0], $$[$0 - 2]);\n this.$ = { \"type\": inf.type, \"stroke\": inf.stroke, \"length\": inf.length, \"text\": $$[$0 - 1], \"id\": $$[$0 - 3] };\n break;\n case 79:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 80:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 81:\n this.$ = { text: $$[$0], type: \"string\" };\n break;\n case 82:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 83:\n var inf = yy.destructLink($$[$0]);\n this.$ = { \"type\": inf.type, \"stroke\": inf.stroke, \"length\": inf.length };\n break;\n case 84:\n var inf = yy.destructLink($$[$0]);\n this.$ = { \"type\": inf.type, \"stroke\": inf.stroke, \"length\": inf.length, \"id\": $$[$0 - 1] };\n break;\n case 85:\n this.$ = $$[$0 - 1];\n break;\n case 86:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 87:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 88:\n this.$ = { text: $$[$0], type: \"string\" };\n break;\n case 89:\n case 104:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 101:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 102:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 103:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 105:\n this.$ = $$[$0 - 4];\n yy.addClass($$[$0 - 2], $$[$0]);\n break;\n case 106:\n this.$ = $$[$0 - 4];\n yy.setClass($$[$0 - 2], $$[$0]);\n break;\n case 107:\n case 115:\n this.$ = $$[$0 - 1];\n yy.setClickEvent($$[$0 - 1], $$[$0]);\n break;\n case 108:\n case 116:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 109:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 110:\n this.$ = $$[$0 - 4];\n yy.setClickEvent($$[$0 - 4], $$[$0 - 3], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 4], $$[$0]);\n break;\n case 111:\n this.$ = $$[$0 - 2];\n yy.setLink($$[$0 - 2], $$[$0]);\n break;\n case 112:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 4], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 4], $$[$0]);\n break;\n case 113:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);\n break;\n case 114:\n this.$ = $$[$0 - 6];\n yy.setLink($$[$0 - 6], $$[$0 - 4], $$[$0]);\n yy.setTooltip($$[$0 - 6], $$[$0 - 2]);\n break;\n case 117:\n this.$ = $$[$0 - 1];\n yy.setLink($$[$0 - 1], $$[$0]);\n break;\n case 118:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 3], $$[$0 - 2]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 119:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);\n break;\n case 120:\n this.$ = $$[$0 - 5];\n yy.setLink($$[$0 - 5], $$[$0 - 4], $$[$0]);\n yy.setTooltip($$[$0 - 5], $$[$0 - 2]);\n break;\n case 121:\n this.$ = $$[$0 - 4];\n yy.addVertex($$[$0 - 2], void 0, void 0, $$[$0]);\n break;\n case 122:\n this.$ = $$[$0 - 4];\n yy.updateLink([$$[$0 - 2]], $$[$0]);\n break;\n case 123:\n this.$ = $$[$0 - 4];\n yy.updateLink($$[$0 - 2], $$[$0]);\n break;\n case 124:\n this.$ = $$[$0 - 8];\n yy.updateLinkInterpolate([$$[$0 - 6]], $$[$0 - 2]);\n yy.updateLink([$$[$0 - 6]], $$[$0]);\n break;\n case 125:\n this.$ = $$[$0 - 8];\n yy.updateLinkInterpolate($$[$0 - 6], $$[$0 - 2]);\n yy.updateLink($$[$0 - 6], $$[$0]);\n break;\n case 126:\n this.$ = $$[$0 - 6];\n yy.updateLinkInterpolate([$$[$0 - 4]], $$[$0]);\n break;\n case 127:\n this.$ = $$[$0 - 6];\n yy.updateLinkInterpolate($$[$0 - 4], $$[$0]);\n break;\n case 128:\n case 130:\n this.$ = [$$[$0]];\n break;\n case 129:\n case 131:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 133:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 181:\n this.$ = $$[$0];\n break;\n case 182:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n case 184:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n case 185:\n this.$ = { stmt: \"dir\", value: \"TB\" };\n break;\n case 186:\n this.$ = { stmt: \"dir\", value: \"BT\" };\n break;\n case 187:\n this.$ = { stmt: \"dir\", value: \"RL\" };\n break;\n case 188:\n this.$ = { stmt: \"dir\", value: \"LR\" };\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 9: $V0, 10: $V1, 12: $V2 }, { 1: [3] }, o($V3, $V4, { 5: 6 }), { 4: 7, 9: $V0, 10: $V1, 12: $V2 }, { 4: 8, 9: $V0, 10: $V1, 12: $V2 }, { 13: [1, 9], 14: [1, 10] }, { 1: [2, 1], 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 42: 28, 43: 38, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 84: $Vf, 85: $Vg, 86: $Vh, 87: $Vi, 88: $Vj, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs, 121: $Vt, 122: $Vu, 123: $Vv, 124: $Vw }, o($V3, [2, 9]), o($V3, [2, 10]), o($V3, [2, 11]), { 8: [1, 54], 9: [1, 55], 10: $Vx, 15: 53, 18: 56 }, o($Vy, [2, 3]), o($Vy, [2, 4]), o($Vy, [2, 5]), o($Vy, [2, 6]), o($Vy, [2, 7]), o($Vy, [2, 8]), { 8: $Vz, 9: $VA, 11: $VB, 21: 58, 41: 59, 72: 63, 75: [1, 64], 77: [1, 66], 78: [1, 65] }, { 8: $Vz, 9: $VA, 11: $VB, 21: 67 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 68 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 69 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 70 }, { 8: $Vz, 9: $VA, 11: $VB, 21: 71 }, { 8: $Vz, 9: $VA, 10: [1, 72], 11: $VB, 21: 73 }, o($Vy, [2, 36]), { 35: [1, 74] }, { 37: [1, 75] }, o($Vy, [2, 39]), o($VC, [2, 50], { 18: 76, 39: 77, 10: $Vx, 40: $VD }), { 10: [1, 79] }, { 10: [1, 80] }, { 10: [1, 81] }, { 10: [1, 82] }, { 14: $VE, 44: $VF, 60: $VG, 80: [1, 86], 89: $VH, 95: [1, 83], 97: [1, 84], 101: 85, 105: $VI, 106: $VJ, 109: $VK, 111: $VL, 114: $VM, 115: $VN, 116: $VO, 120: 87 }, o($Vy, [2, 185]), o($Vy, [2, 186]), o($Vy, [2, 187]), o($Vy, [2, 188]), o($VP, [2, 51]), o($VP, [2, 54], { 46: [1, 99] }), o($VQ, [2, 72], { 113: 112, 29: [1, 100], 44: $Vd, 48: [1, 101], 50: [1, 102], 52: [1, 103], 54: [1, 104], 56: [1, 105], 58: [1, 106], 60: $Ve, 63: [1, 107], 65: [1, 108], 67: [1, 109], 68: [1, 110], 70: [1, 111], 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 114: $Vq, 115: $Vr, 116: $Vs }), o($VR, [2, 181]), o($VR, [2, 142]), o($VR, [2, 143]), o($VR, [2, 144]), o($VR, [2, 145]), o($VR, [2, 146]), o($VR, [2, 147]), o($VR, [2, 148]), o($VR, [2, 149]), o($VR, [2, 150]), o($VR, [2, 151]), o($VR, [2, 152]), o($V3, [2, 12]), o($V3, [2, 18]), o($V3, [2, 19]), { 9: [1, 113] }, o($VS, [2, 26], { 18: 114, 10: $Vx }), o($Vy, [2, 27]), { 42: 115, 43: 38, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, o($Vy, [2, 40]), o($Vy, [2, 41]), o($Vy, [2, 42]), o($VT, [2, 76], { 73: 116, 62: [1, 118], 74: [1, 117] }), { 76: 119, 79: 120, 80: $VU, 81: $VV, 116: $VW, 119: $VX }, { 75: [1, 125], 77: [1, 126] }, o($VY, [2, 83]), o($Vy, [2, 28]), o($Vy, [2, 29]), o($Vy, [2, 30]), o($Vy, [2, 31]), o($Vy, [2, 32]), { 10: $VZ, 12: $V_, 14: $V$, 27: $V01, 28: 127, 32: $V11, 44: $V21, 60: $V31, 75: $V41, 80: [1, 129], 81: [1, 130], 83: 140, 84: $V51, 85: $V61, 86: $V71, 87: $V81, 88: $V91, 89: $Va1, 90: $Vb1, 91: 128, 105: $Vc1, 109: $Vd1, 111: $Ve1, 114: $Vf1, 115: $Vg1, 116: $Vh1 }, o($Vi1, $V4, { 5: 153 }), o($Vy, [2, 37]), o($Vy, [2, 38]), o($VC, [2, 48], { 44: $Vj1 }), o($VC, [2, 49], { 18: 155, 10: $Vx, 40: $Vk1 }), o($VP, [2, 44]), { 44: $Vd, 47: 157, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, { 102: [1, 158], 103: 159, 105: [1, 160] }, { 44: $Vd, 47: 161, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, { 44: $Vd, 47: 162, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, o($Vl1, [2, 107], { 10: [1, 163], 96: [1, 164] }), { 80: [1, 165] }, o($Vl1, [2, 115], { 120: 167, 10: [1, 166], 14: $VE, 44: $VF, 60: $VG, 89: $VH, 105: $VI, 106: $VJ, 109: $VK, 111: $VL, 114: $VM, 115: $VN, 116: $VO }), o($Vl1, [2, 117], { 10: [1, 168] }), o($Vm1, [2, 183]), o($Vm1, [2, 170]), o($Vm1, [2, 171]), o($Vm1, [2, 172]), o($Vm1, [2, 173]), o($Vm1, [2, 174]), o($Vm1, [2, 175]), o($Vm1, [2, 176]), o($Vm1, [2, 177]), o($Vm1, [2, 178]), o($Vm1, [2, 179]), o($Vm1, [2, 180]), { 44: $Vd, 47: 169, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, { 30: 170, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 178, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 180, 50: [1, 179], 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 181, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 182, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 183, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 109: [1, 184] }, { 30: 185, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 186, 65: [1, 187], 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 188, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 189, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 190, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($VR, [2, 182]), o($V3, [2, 20]), o($VS, [2, 25]), o($VC, [2, 46], { 39: 191, 18: 192, 10: $Vx, 40: $VD }), o($VT, [2, 73], { 10: [1, 193] }), { 10: [1, 194] }, { 30: 195, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 77: [1, 196], 79: 197, 116: $VW, 119: $VX }, o($Vt1, [2, 79]), o($Vt1, [2, 81]), o($Vt1, [2, 82]), o($Vt1, [2, 168]), o($Vt1, [2, 169]), { 76: 198, 79: 120, 80: $VU, 81: $VV, 116: $VW, 119: $VX }, o($VY, [2, 84]), { 8: $Vz, 9: $VA, 10: $VZ, 11: $VB, 12: $V_, 14: $V$, 21: 200, 27: $V01, 29: [1, 199], 32: $V11, 44: $V21, 60: $V31, 75: $V41, 83: 140, 84: $V51, 85: $V61, 86: $V71, 87: $V81, 88: $V91, 89: $Va1, 90: $Vb1, 91: 201, 105: $Vc1, 109: $Vd1, 111: $Ve1, 114: $Vf1, 115: $Vg1, 116: $Vh1 }, o($Vu1, [2, 101]), o($Vu1, [2, 103]), o($Vu1, [2, 104]), o($Vu1, [2, 157]), o($Vu1, [2, 158]), o($Vu1, [2, 159]), o($Vu1, [2, 160]), o($Vu1, [2, 161]), o($Vu1, [2, 162]), o($Vu1, [2, 163]), o($Vu1, [2, 164]), o($Vu1, [2, 165]), o($Vu1, [2, 166]), o($Vu1, [2, 167]), o($Vu1, [2, 90]), o($Vu1, [2, 91]), o($Vu1, [2, 92]), o($Vu1, [2, 93]), o($Vu1, [2, 94]), o($Vu1, [2, 95]), o($Vu1, [2, 96]), o($Vu1, [2, 97]), o($Vu1, [2, 98]), o($Vu1, [2, 99]), o($Vu1, [2, 100]), { 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 32: [1, 202], 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 42: 28, 43: 38, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 84: $Vf, 85: $Vg, 86: $Vh, 87: $Vi, 88: $Vj, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs, 121: $Vt, 122: $Vu, 123: $Vv, 124: $Vw }, { 10: $Vx, 18: 203 }, { 44: [1, 204] }, o($VP, [2, 43]), { 10: [1, 205], 44: $Vd, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 112, 114: $Vq, 115: $Vr, 116: $Vs }, { 10: [1, 206] }, { 10: [1, 207], 106: [1, 208] }, o($Vv1, [2, 128]), { 10: [1, 209], 44: $Vd, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 112, 114: $Vq, 115: $Vr, 116: $Vs }, { 10: [1, 210], 44: $Vd, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 112, 114: $Vq, 115: $Vr, 116: $Vs }, { 80: [1, 211] }, o($Vl1, [2, 109], { 10: [1, 212] }), o($Vl1, [2, 111], { 10: [1, 213] }), { 80: [1, 214] }, o($Vm1, [2, 184]), { 80: [1, 215], 98: [1, 216] }, o($VP, [2, 55], { 113: 112, 44: $Vd, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 114: $Vq, 115: $Vr, 116: $Vs }), { 31: [1, 217], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($Vw1, [2, 86]), o($Vw1, [2, 88]), o($Vw1, [2, 89]), o($Vw1, [2, 153]), o($Vw1, [2, 154]), o($Vw1, [2, 155]), o($Vw1, [2, 156]), { 49: [1, 219], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 220, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 51: [1, 221], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 53: [1, 222], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 55: [1, 223], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 57: [1, 224], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 60: [1, 225] }, { 64: [1, 226], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 66: [1, 227], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 30: 228, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 31: [1, 229], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 67: $Vn1, 69: [1, 230], 71: [1, 231], 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 67: $Vn1, 69: [1, 233], 71: [1, 232], 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($VC, [2, 45], { 18: 155, 10: $Vx, 40: $Vk1 }), o($VC, [2, 47], { 44: $Vj1 }), o($VT, [2, 75]), o($VT, [2, 74]), { 62: [1, 234], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($VT, [2, 77]), o($Vt1, [2, 80]), { 77: [1, 235], 79: 197, 116: $VW, 119: $VX }, { 30: 236, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($Vi1, $V4, { 5: 237 }), o($Vu1, [2, 102]), o($Vy, [2, 35]), { 43: 238, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, { 10: $Vx, 18: 239 }, { 10: $Vx1, 60: $Vy1, 84: $Vz1, 92: 240, 105: $VA1, 107: 241, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, { 10: $Vx1, 60: $Vy1, 84: $Vz1, 92: 251, 104: [1, 252], 105: $VA1, 107: 241, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, { 10: $Vx1, 60: $Vy1, 84: $Vz1, 92: 253, 104: [1, 254], 105: $VA1, 107: 241, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, { 105: [1, 255] }, { 10: $Vx1, 60: $Vy1, 84: $Vz1, 92: 256, 105: $VA1, 107: 241, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, { 44: $Vd, 47: 257, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, o($Vl1, [2, 108]), { 80: [1, 258] }, { 80: [1, 259], 98: [1, 260] }, o($Vl1, [2, 116]), o($Vl1, [2, 118], { 10: [1, 261] }), o($Vl1, [2, 119]), o($VQ, [2, 56]), o($Vw1, [2, 87]), o($VQ, [2, 57]), { 51: [1, 262], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($VQ, [2, 64]), o($VQ, [2, 59]), o($VQ, [2, 60]), o($VQ, [2, 61]), { 109: [1, 263] }, o($VQ, [2, 63]), o($VQ, [2, 65]), { 66: [1, 264], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($VQ, [2, 67]), o($VQ, [2, 68]), o($VQ, [2, 70]), o($VQ, [2, 69]), o($VQ, [2, 71]), o([10, 44, 60, 89, 102, 105, 106, 109, 111, 114, 115, 116], [2, 85]), o($VT, [2, 78]), { 31: [1, 265], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 32: [1, 266], 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 42: 28, 43: 38, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 84: $Vf, 85: $Vg, 86: $Vh, 87: $Vi, 88: $Vj, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs, 121: $Vt, 122: $Vu, 123: $Vv, 124: $Vw }, o($VP, [2, 53]), { 43: 267, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs }, o($Vl1, [2, 121], { 106: $VF1 }), o($VG1, [2, 130], { 108: 269, 10: $Vx1, 60: $Vy1, 84: $Vz1, 105: $VA1, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }), o($VH1, [2, 132]), o($VH1, [2, 134]), o($VH1, [2, 135]), o($VH1, [2, 136]), o($VH1, [2, 137]), o($VH1, [2, 138]), o($VH1, [2, 139]), o($VH1, [2, 140]), o($VH1, [2, 141]), o($Vl1, [2, 122], { 106: $VF1 }), { 10: [1, 270] }, o($Vl1, [2, 123], { 106: $VF1 }), { 10: [1, 271] }, o($Vv1, [2, 129]), o($Vl1, [2, 105], { 106: $VF1 }), o($Vl1, [2, 106], { 113: 112, 44: $Vd, 60: $Ve, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 114: $Vq, 115: $Vr, 116: $Vs }), o($Vl1, [2, 110]), o($Vl1, [2, 112], { 10: [1, 272] }), o($Vl1, [2, 113]), { 98: [1, 273] }, { 51: [1, 274] }, { 62: [1, 275] }, { 66: [1, 276] }, { 8: $Vz, 9: $VA, 11: $VB, 21: 277 }, o($Vy, [2, 34]), o($VP, [2, 52]), { 10: $Vx1, 60: $Vy1, 84: $Vz1, 105: $VA1, 107: 278, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, o($VH1, [2, 133]), { 14: $VE, 44: $VF, 60: $VG, 89: $VH, 101: 279, 105: $VI, 106: $VJ, 109: $VK, 111: $VL, 114: $VM, 115: $VN, 116: $VO, 120: 87 }, { 14: $VE, 44: $VF, 60: $VG, 89: $VH, 101: 280, 105: $VI, 106: $VJ, 109: $VK, 111: $VL, 114: $VM, 115: $VN, 116: $VO, 120: 87 }, { 98: [1, 281] }, o($Vl1, [2, 120]), o($VQ, [2, 58]), { 30: 282, 67: $Vn1, 80: $Vo1, 81: $Vp1, 82: 171, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, o($VQ, [2, 66]), o($Vi1, $V4, { 5: 283 }), o($VG1, [2, 131], { 108: 269, 10: $Vx1, 60: $Vy1, 84: $Vz1, 105: $VA1, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }), o($Vl1, [2, 126], { 120: 167, 10: [1, 284], 14: $VE, 44: $VF, 60: $VG, 89: $VH, 105: $VI, 106: $VJ, 109: $VK, 111: $VL, 114: $VM, 115: $VN, 116: $VO }), o($Vl1, [2, 127], { 120: 167, 10: [1, 285], 14: $VE, 44: $VF, 60: $VG, 89: $VH, 105: $VI, 106: $VJ, 109: $VK, 111: $VL, 114: $VM, 115: $VN, 116: $VO }), o($Vl1, [2, 114]), { 31: [1, 286], 67: $Vn1, 82: 218, 116: $Vq1, 117: $Vr1, 118: $Vs1 }, { 6: 11, 7: 12, 8: $V5, 9: $V6, 10: $V7, 11: $V8, 20: 17, 22: 18, 23: 19, 24: 20, 25: 21, 26: 22, 27: $V9, 32: [1, 287], 33: 24, 34: $Va, 36: $Vb, 38: $Vc, 42: 28, 43: 38, 44: $Vd, 45: 39, 47: 40, 60: $Ve, 84: $Vf, 85: $Vg, 86: $Vh, 87: $Vi, 88: $Vj, 89: $Vk, 102: $Vl, 105: $Vm, 106: $Vn, 109: $Vo, 111: $Vp, 113: 41, 114: $Vq, 115: $Vr, 116: $Vs, 121: $Vt, 122: $Vu, 123: $Vv, 124: $Vw }, { 10: $Vx1, 60: $Vy1, 84: $Vz1, 92: 288, 105: $VA1, 107: 241, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, { 10: $Vx1, 60: $Vy1, 84: $Vz1, 92: 289, 105: $VA1, 107: 241, 108: 242, 109: $VB1, 110: $VC1, 111: $VD1, 112: $VE1 }, o($VQ, [2, 62]), o($Vy, [2, 33]), o($Vl1, [2, 124], { 106: $VF1 }), o($Vl1, [2, 125], { 106: $VF1 })],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: {},\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.begin(\"acc_title\");\n return 34;\n break;\n case 1:\n this.popState();\n return \"acc_title_value\";\n break;\n case 2:\n this.begin(\"acc_descr\");\n return 36;\n break;\n case 3:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 4:\n this.begin(\"acc_descr_multiline\");\n break;\n case 5:\n this.popState();\n break;\n case 6:\n return \"acc_descr_multiline_value\";\n break;\n case 7:\n this.pushState(\"shapeData\");\n yy_.yytext = \"\";\n return 40;\n break;\n case 8:\n this.pushState(\"shapeDataStr\");\n return 40;\n break;\n case 9:\n this.popState();\n return 40;\n break;\n case 10:\n const re = /\\n\\s*/g;\n yy_.yytext = yy_.yytext.replace(re, \"<br/>\");\n return 40;\n break;\n case 11:\n return 40;\n break;\n case 12:\n this.popState();\n break;\n case 13:\n this.begin(\"callbackname\");\n break;\n case 14:\n this.popState();\n break;\n case 15:\n this.popState();\n this.begin(\"callbackargs\");\n break;\n case 16:\n return 95;\n break;\n case 17:\n this.popState();\n break;\n case 18:\n return 96;\n break;\n case 19:\n return \"MD_STR\";\n break;\n case 20:\n this.popState();\n break;\n case 21:\n this.begin(\"md_string\");\n break;\n case 22:\n return \"STR\";\n break;\n case 23:\n this.popState();\n break;\n case 24:\n this.pushState(\"string\");\n break;\n case 25:\n return 84;\n break;\n case 26:\n return 102;\n break;\n case 27:\n return 85;\n break;\n case 28:\n return 104;\n break;\n case 29:\n return 86;\n break;\n case 30:\n return 87;\n break;\n case 31:\n return 97;\n break;\n case 32:\n this.begin(\"click\");\n break;\n case 33:\n this.popState();\n break;\n case 34:\n return 88;\n break;\n case 35:\n if (yy.lex.firstGraph()) {\n this.begin(\"dir\");\n }\n return 12;\n break;\n case 36:\n if (yy.lex.firstGraph()) {\n this.begin(\"dir\");\n }\n return 12;\n break;\n case 37:\n if (yy.lex.firstGraph()) {\n this.begin(\"dir\");\n }\n return 12;\n break;\n case 38:\n return 27;\n break;\n case 39:\n return 32;\n break;\n case 40:\n return 98;\n break;\n case 41:\n return 98;\n break;\n case 42:\n return 98;\n break;\n case 43:\n return 98;\n break;\n case 44:\n this.popState();\n return 13;\n break;\n case 45:\n this.popState();\n return 14;\n break;\n case 46:\n this.popState();\n return 14;\n break;\n case 47:\n this.popState();\n return 14;\n break;\n case 48:\n this.popState();\n return 14;\n break;\n case 49:\n this.popState();\n return 14;\n break;\n case 50:\n this.popState();\n return 14;\n break;\n case 51:\n this.popState();\n return 14;\n break;\n case 52:\n this.popState();\n return 14;\n break;\n case 53:\n this.popState();\n return 14;\n break;\n case 54:\n this.popState();\n return 14;\n break;\n case 55:\n return 121;\n break;\n case 56:\n return 122;\n break;\n case 57:\n return 123;\n break;\n case 58:\n return 124;\n break;\n case 59:\n return 78;\n break;\n case 60:\n return 105;\n break;\n case 61:\n return 111;\n break;\n case 62:\n return 46;\n break;\n case 63:\n return 60;\n break;\n case 64:\n return 44;\n break;\n case 65:\n return 8;\n break;\n case 66:\n return 106;\n break;\n case 67:\n return 115;\n break;\n case 68:\n this.popState();\n return 77;\n break;\n case 69:\n this.pushState(\"edgeText\");\n return 75;\n break;\n case 70:\n return 119;\n break;\n case 71:\n this.popState();\n return 77;\n break;\n case 72:\n this.pushState(\"thickEdgeText\");\n return 75;\n break;\n case 73:\n return 119;\n break;\n case 74:\n this.popState();\n return 77;\n break;\n case 75:\n this.pushState(\"dottedEdgeText\");\n return 75;\n break;\n case 76:\n return 119;\n break;\n case 77:\n return 77;\n break;\n case 78:\n this.popState();\n return 53;\n break;\n case 79:\n return \"TEXT\";\n break;\n case 80:\n this.pushState(\"ellipseText\");\n return 52;\n break;\n case 81:\n this.popState();\n return 55;\n break;\n case 82:\n this.pushState(\"text\");\n return 54;\n break;\n case 83:\n this.popState();\n return 57;\n break;\n case 84:\n this.pushState(\"text\");\n return 56;\n break;\n case 85:\n return 58;\n break;\n case 86:\n this.pushState(\"text\");\n return 67;\n break;\n case 87:\n this.popState();\n return 64;\n break;\n case 88:\n this.pushState(\"text\");\n return 63;\n break;\n case 89:\n this.popState();\n return 49;\n break;\n case 90:\n this.pushState(\"text\");\n return 48;\n break;\n case 91:\n this.popState();\n return 69;\n break;\n case 92:\n this.popState();\n return 71;\n break;\n case 93:\n return 117;\n break;\n case 94:\n this.pushState(\"trapText\");\n return 68;\n break;\n case 95:\n this.pushState(\"trapText\");\n return 70;\n break;\n case 96:\n return 118;\n break;\n case 97:\n return 67;\n break;\n case 98:\n return 90;\n break;\n case 99:\n return \"SEP\";\n break;\n case 100:\n return 89;\n break;\n case 101:\n return 115;\n break;\n case 102:\n return 111;\n break;\n case 103:\n return 44;\n break;\n case 104:\n return 109;\n break;\n case 105:\n return 114;\n break;\n case 106:\n return 116;\n break;\n case 107:\n this.popState();\n return 62;\n break;\n case 108:\n this.pushState(\"text\");\n return 62;\n break;\n case 109:\n this.popState();\n return 51;\n break;\n case 110:\n this.pushState(\"text\");\n return 50;\n break;\n case 111:\n this.popState();\n return 31;\n break;\n case 112:\n this.pushState(\"text\");\n return 29;\n break;\n case 113:\n this.popState();\n return 66;\n break;\n case 114:\n this.pushState(\"text\");\n return 65;\n break;\n case 115:\n return \"TEXT\";\n break;\n case 116:\n return \"QUOTE\";\n break;\n case 117:\n return 9;\n break;\n case 118:\n return 10;\n break;\n case 119:\n return 11;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:@\\{)/, /^(?:[\"])/, /^(?:[\"])/, /^(?:[^\\\"]+)/, /^(?:[^}^\"]+)/, /^(?:\\})/, /^(?:call[\\s]+)/, /^(?:\\([\\s]*\\))/, /^(?:\\()/, /^(?:[^(]*)/, /^(?:\\))/, /^(?:[^)]*)/, /^(?:[^`\"]+)/, /^(?:[`][\"])/, /^(?:[\"][`])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:[\"])/, /^(?:style\\b)/, /^(?:default\\b)/, /^(?:linkStyle\\b)/, /^(?:interpolate\\b)/, /^(?:classDef\\b)/, /^(?:class\\b)/, /^(?:href[\\s])/, /^(?:click[\\s]+)/, /^(?:[\\s\\n])/, /^(?:[^\\s\\n]*)/, /^(?:flowchart-elk\\b)/, /^(?:graph\\b)/, /^(?:flowchart\\b)/, /^(?:subgraph\\b)/, /^(?:end\\b\\s*)/, /^(?:_self\\b)/, /^(?:_blank\\b)/, /^(?:_parent\\b)/, /^(?:_top\\b)/, /^(?:(\\r?\\n)*\\s*\\n)/, /^(?:\\s*LR\\b)/, /^(?:\\s*RL\\b)/, /^(?:\\s*TB\\b)/, /^(?:\\s*BT\\b)/, /^(?:\\s*TD\\b)/, /^(?:\\s*BR\\b)/, /^(?:\\s*<)/, /^(?:\\s*>)/, /^(?:\\s*\\^)/, /^(?:\\s*v\\b)/, /^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:[^\\s\\\"]+@(?=[^\\{\\\"]))/, /^(?:[0-9]+)/, /^(?:#)/, /^(?::::)/, /^(?::)/, /^(?:&)/, /^(?:;)/, /^(?:,)/, /^(?:\\*)/, /^(?:\\s*[xo<]?--+[-xo>]\\s*)/, /^(?:\\s*[xo<]?--\\s*)/, /^(?:[^-]|-(?!-)+)/, /^(?:\\s*[xo<]?==+[=xo>]\\s*)/, /^(?:\\s*[xo<]?==\\s*)/, /^(?:[^=]|=(?!))/, /^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/, /^(?:\\s*[xo<]?-\\.\\s*)/, /^(?:[^\\.]|\\.(?!))/, /^(?:\\s*~~[\\~]+\\s*)/, /^(?:[-/\\)][\\)])/, /^(?:[^\\(\\)\\[\\]\\{\\}]|!\\)+)/, /^(?:\\(-)/, /^(?:\\]\\))/, /^(?:\\(\\[)/, /^(?:\\]\\])/, /^(?:\\[\\[)/, /^(?:\\[\\|)/, /^(?:>)/, /^(?:\\)\\])/, /^(?:\\[\\()/, /^(?:\\)\\)\\))/, /^(?:\\(\\(\\()/, /^(?:[\\\\(?=\\])][\\]])/, /^(?:\\/(?=\\])\\])/, /^(?:\\/(?!\\])|\\\\(?!\\])|[^\\\\\\[\\]\\(\\)\\{\\}\\/]+)/, /^(?:\\[\\/)/, /^(?:\\[\\\\)/, /^(?:<)/, /^(?:>)/, /^(?:\\^)/, /^(?:\\\\\\|)/, /^(?:v\\b)/, /^(?:\\*)/, /^(?:#)/, /^(?:&)/, /^(?:([A-Za-z0-9!\"\\#$%&'*+\\.`?\\\\_\\/]|-(?=[^\\>\\-\\.])|(?!))+)/, /^(?:-)/, /^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/, /^(?:\\|)/, /^(?:\\|)/, /^(?:\\))/, /^(?:\\()/, /^(?:\\])/, /^(?:\\[)/, /^(?:(\\}))/, /^(?:\\{)/, /^(?:[^\\[\\]\\(\\)\\{\\}\\|\\\"]+)/, /^(?:\")/, /^(?:(\\r?\\n)+)/, /^(?:\\s)/, /^(?:$)/],\n conditions: { \"shapeDataEndBracket\": { \"rules\": [21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"shapeDataStr\": { \"rules\": [9, 10, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"shapeData\": { \"rules\": [8, 11, 12, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"callbackargs\": { \"rules\": [17, 18, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"callbackname\": { \"rules\": [14, 15, 16, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"href\": { \"rules\": [21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"click\": { \"rules\": [21, 24, 33, 34, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"dottedEdgeText\": { \"rules\": [21, 24, 74, 76, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"thickEdgeText\": { \"rules\": [21, 24, 71, 73, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"edgeText\": { \"rules\": [21, 24, 68, 70, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"trapText\": { \"rules\": [21, 24, 77, 80, 82, 84, 88, 90, 91, 92, 93, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"ellipseText\": { \"rules\": [21, 24, 77, 78, 79, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"text\": { \"rules\": [21, 24, 77, 80, 81, 82, 83, 84, 87, 88, 89, 90, 94, 95, 107, 108, 109, 110, 111, 112, 113, 114, 115], \"inclusive\": false }, \"vertex\": { \"rules\": [21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"dir\": { \"rules\": [21, 24, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [5, 6, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"acc_descr\": { \"rules\": [3, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"acc_title\": { \"rules\": [1, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"md_string\": { \"rules\": [19, 20, 21, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"string\": { \"rules\": [21, 22, 23, 24, 77, 80, 82, 84, 88, 90, 94, 95, 108, 110, 112, 114], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 2, 4, 7, 13, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, 43, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 74, 75, 77, 80, 82, 84, 85, 86, 88, 90, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 110, 112, 114, 116, 117, 118, 119], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar flow_default = parser;\n\n// src/diagrams/flowchart/parser/flowParser.ts\nvar newParser = Object.assign({}, flow_default);\nnewParser.parse = (src) => {\n const newSrc = src.replace(/}\\s*\\n/g, \"}\\n\");\n return flow_default.parse(newSrc);\n};\nvar flowParser_default = newParser;\n\n// src/diagrams/flowchart/styles.ts\nimport * as khroma from \"khroma\";\nvar fade = /* @__PURE__ */ __name((color, opacity) => {\n const channel2 = khroma.channel;\n const r = channel2(color, \"r\");\n const g = channel2(color, \"g\");\n const b = channel2(color, \"b\");\n return khroma.rgba(r, g, b, opacity);\n}, \"fade\");\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span {\n color: ${options.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n\n .root .anchor path {\n fill: ${options.lineColor} !important;\n stroke-width: 0;\n stroke: ${options.lineColor};\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground, 0.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${options.clusterBkg};\n stroke: ${options.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n\n rect.text {\n fill: none;\n stroke-width: 0;\n }\n\n .icon-shape, .image-shape {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n padding: 2px;\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/flowchart/flowDiagram.ts\nvar diagram = {\n parser: flowParser_default,\n get db() {\n return new FlowDB();\n },\n renderer: flowRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.flowchart) {\n cnf.flowchart = {};\n }\n if (cnf.layout) {\n setConfig({ layout: cnf.layout });\n }\n cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n setConfig({ flowchart: { arrowMarkerAbsolute: cnf.arrowMarkerAbsolute } });\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n getDiagramElement,\n setupViewPortForSVG\n} from \"./chunk-RZ5BOZE2.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport {\n getEdgeId,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __export,\n __name,\n clear,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/er/parser/erDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 22, 24, 26, 28, 33, 34, 35, 36, 37, 40, 43, 44, 50], $V1 = [1, 10], $V2 = [1, 11], $V3 = [1, 12], $V4 = [1, 13], $V5 = [1, 20], $V6 = [1, 21], $V7 = [1, 22], $V8 = [1, 23], $V9 = [1, 24], $Va = [1, 19], $Vb = [1, 25], $Vc = [1, 26], $Vd = [1, 18], $Ve = [1, 33], $Vf = [1, 34], $Vg = [1, 35], $Vh = [1, 36], $Vi = [1, 37], $Vj = [6, 8, 10, 13, 15, 17, 20, 21, 22, 24, 26, 28, 33, 34, 35, 36, 37, 40, 43, 44, 50, 63, 64, 65, 66, 67], $Vk = [1, 42], $Vl = [1, 43], $Vm = [1, 52], $Vn = [40, 50, 68, 69], $Vo = [1, 63], $Vp = [1, 61], $Vq = [1, 58], $Vr = [1, 62], $Vs = [1, 64], $Vt = [6, 8, 10, 13, 17, 22, 24, 26, 28, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 48, 49, 50, 63, 64, 65, 66, 67], $Vu = [63, 64, 65, 66, 67], $Vv = [1, 81], $Vw = [1, 80], $Vx = [1, 78], $Vy = [1, 79], $Vz = [6, 10, 42, 47], $VA = [6, 10, 13, 41, 42, 47, 48, 49], $VB = [1, 89], $VC = [1, 88], $VD = [1, 87], $VE = [19, 56], $VF = [1, 98], $VG = [1, 97], $VH = [19, 56, 58, 60];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"ER_DIAGRAM\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"entityName\": 11, \"relSpec\": 12, \"COLON\": 13, \"role\": 14, \"STYLE_SEPARATOR\": 15, \"idList\": 16, \"BLOCK_START\": 17, \"attributes\": 18, \"BLOCK_STOP\": 19, \"SQS\": 20, \"SQE\": 21, \"title\": 22, \"title_value\": 23, \"acc_title\": 24, \"acc_title_value\": 25, \"acc_descr\": 26, \"acc_descr_value\": 27, \"acc_descr_multiline_value\": 28, \"direction\": 29, \"classDefStatement\": 30, \"classStatement\": 31, \"styleStatement\": 32, \"direction_tb\": 33, \"direction_bt\": 34, \"direction_rl\": 35, \"direction_lr\": 36, \"CLASSDEF\": 37, \"stylesOpt\": 38, \"separator\": 39, \"UNICODE_TEXT\": 40, \"STYLE_TEXT\": 41, \"COMMA\": 42, \"CLASS\": 43, \"STYLE\": 44, \"style\": 45, \"styleComponent\": 46, \"SEMI\": 47, \"NUM\": 48, \"BRKT\": 49, \"ENTITY_NAME\": 50, \"attribute\": 51, \"attributeType\": 52, \"attributeName\": 53, \"attributeKeyTypeList\": 54, \"attributeComment\": 55, \"ATTRIBUTE_WORD\": 56, \"attributeKeyType\": 57, \",\": 58, \"ATTRIBUTE_KEY\": 59, \"COMMENT\": 60, \"cardinality\": 61, \"relType\": 62, \"ZERO_OR_ONE\": 63, \"ZERO_OR_MORE\": 64, \"ONE_OR_MORE\": 65, \"ONLY_ONE\": 66, \"MD_PARENT\": 67, \"NON_IDENTIFYING\": 68, \"IDENTIFYING\": 69, \"WORD\": 70, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"ER_DIAGRAM\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 13: \"COLON\", 15: \"STYLE_SEPARATOR\", 17: \"BLOCK_START\", 19: \"BLOCK_STOP\", 20: \"SQS\", 21: \"SQE\", 22: \"title\", 23: \"title_value\", 24: \"acc_title\", 25: \"acc_title_value\", 26: \"acc_descr\", 27: \"acc_descr_value\", 28: \"acc_descr_multiline_value\", 33: \"direction_tb\", 34: \"direction_bt\", 35: \"direction_rl\", 36: \"direction_lr\", 37: \"CLASSDEF\", 40: \"UNICODE_TEXT\", 41: \"STYLE_TEXT\", 42: \"COMMA\", 43: \"CLASS\", 44: \"STYLE\", 47: \"SEMI\", 48: \"NUM\", 49: \"BRKT\", 50: \"ENTITY_NAME\", 56: \"ATTRIBUTE_WORD\", 58: \",\", 59: \"ATTRIBUTE_KEY\", 60: \"COMMENT\", 63: \"ZERO_OR_ONE\", 64: \"ZERO_OR_MORE\", 65: \"ONE_OR_MORE\", 66: \"ONLY_ONE\", 67: \"MD_PARENT\", 68: \"NON_IDENTIFYING\", 69: \"IDENTIFYING\", 70: \"WORD\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 5], [9, 9], [9, 7], [9, 7], [9, 4], [9, 6], [9, 3], [9, 5], [9, 1], [9, 3], [9, 7], [9, 9], [9, 6], [9, 8], [9, 4], [9, 6], [9, 2], [9, 2], [9, 2], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [29, 1], [29, 1], [29, 1], [29, 1], [30, 4], [16, 1], [16, 1], [16, 3], [16, 3], [31, 3], [32, 4], [38, 1], [38, 3], [45, 1], [45, 2], [39, 1], [39, 1], [39, 1], [46, 1], [46, 1], [46, 1], [46, 1], [11, 1], [11, 1], [18, 1], [18, 2], [51, 2], [51, 3], [51, 3], [51, 4], [52, 1], [53, 1], [54, 1], [54, 3], [57, 1], [55, 1], [12, 3], [61, 1], [61, 1], [61, 1], [61, 1], [61, 1], [62, 1], [62, 1], [14, 1], [14, 1], [14, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.addEntity($$[$0 - 4]);\n yy.addEntity($$[$0 - 2]);\n yy.addRelationship($$[$0 - 4], $$[$0], $$[$0 - 2], $$[$0 - 3]);\n break;\n case 9:\n yy.addEntity($$[$0 - 8]);\n yy.addEntity($$[$0 - 4]);\n yy.addRelationship($$[$0 - 8], $$[$0], $$[$0 - 4], $$[$0 - 5]);\n yy.setClass([$$[$0 - 8]], $$[$0 - 6]);\n yy.setClass([$$[$0 - 4]], $$[$0 - 2]);\n break;\n case 10:\n yy.addEntity($$[$0 - 6]);\n yy.addEntity($$[$0 - 2]);\n yy.addRelationship($$[$0 - 6], $$[$0], $$[$0 - 2], $$[$0 - 3]);\n yy.setClass([$$[$0 - 6]], $$[$0 - 4]);\n break;\n case 11:\n yy.addEntity($$[$0 - 6]);\n yy.addEntity($$[$0 - 4]);\n yy.addRelationship($$[$0 - 6], $$[$0], $$[$0 - 4], $$[$0 - 5]);\n yy.setClass([$$[$0 - 4]], $$[$0 - 2]);\n break;\n case 12:\n yy.addEntity($$[$0 - 3]);\n yy.addAttributes($$[$0 - 3], $$[$0 - 1]);\n break;\n case 13:\n yy.addEntity($$[$0 - 5]);\n yy.addAttributes($$[$0 - 5], $$[$0 - 1]);\n yy.setClass([$$[$0 - 5]], $$[$0 - 3]);\n break;\n case 14:\n yy.addEntity($$[$0 - 2]);\n break;\n case 15:\n yy.addEntity($$[$0 - 4]);\n yy.setClass([$$[$0 - 4]], $$[$0 - 2]);\n break;\n case 16:\n yy.addEntity($$[$0]);\n break;\n case 17:\n yy.addEntity($$[$0 - 2]);\n yy.setClass([$$[$0 - 2]], $$[$0]);\n break;\n case 18:\n yy.addEntity($$[$0 - 6], $$[$0 - 4]);\n yy.addAttributes($$[$0 - 6], $$[$0 - 1]);\n break;\n case 19:\n yy.addEntity($$[$0 - 8], $$[$0 - 6]);\n yy.addAttributes($$[$0 - 8], $$[$0 - 1]);\n yy.setClass([$$[$0 - 8]], $$[$0 - 3]);\n break;\n case 20:\n yy.addEntity($$[$0 - 5], $$[$0 - 3]);\n break;\n case 21:\n yy.addEntity($$[$0 - 7], $$[$0 - 5]);\n yy.setClass([$$[$0 - 7]], $$[$0 - 2]);\n break;\n case 22:\n yy.addEntity($$[$0 - 3], $$[$0 - 1]);\n break;\n case 23:\n yy.addEntity($$[$0 - 5], $$[$0 - 3]);\n yy.setClass([$$[$0 - 5]], $$[$0]);\n break;\n case 24:\n case 25:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 26:\n case 27:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 32:\n yy.setDirection(\"TB\");\n break;\n case 33:\n yy.setDirection(\"BT\");\n break;\n case 34:\n yy.setDirection(\"RL\");\n break;\n case 35:\n yy.setDirection(\"LR\");\n break;\n case 36:\n this.$ = $$[$0 - 3];\n yy.addClass($$[$0 - 2], $$[$0 - 1]);\n break;\n case 37:\n case 38:\n case 56:\n case 64:\n this.$ = [$$[$0]];\n break;\n case 39:\n case 40:\n this.$ = $$[$0 - 2].concat([$$[$0]]);\n break;\n case 41:\n this.$ = $$[$0 - 2];\n yy.setClass($$[$0 - 1], $$[$0]);\n break;\n case 42:\n ;\n this.$ = $$[$0 - 3];\n yy.addCssStyles($$[$0 - 2], $$[$0 - 1]);\n break;\n case 43:\n this.$ = [$$[$0]];\n break;\n case 44:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 46:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 54:\n case 76:\n case 77:\n this.$ = $$[$0].replace(/\"/g, \"\");\n break;\n case 55:\n case 78:\n this.$ = $$[$0];\n break;\n case 57:\n $$[$0].push($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 58:\n this.$ = { type: $$[$0 - 1], name: $$[$0] };\n break;\n case 59:\n this.$ = { type: $$[$0 - 2], name: $$[$0 - 1], keys: $$[$0] };\n break;\n case 60:\n this.$ = { type: $$[$0 - 2], name: $$[$0 - 1], comment: $$[$0] };\n break;\n case 61:\n this.$ = { type: $$[$0 - 3], name: $$[$0 - 2], keys: $$[$0 - 1], comment: $$[$0] };\n break;\n case 62:\n case 63:\n case 66:\n this.$ = $$[$0];\n break;\n case 65:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 67:\n this.$ = $$[$0].replace(/\"/g, \"\");\n break;\n case 68:\n this.$ = { cardA: $$[$0], relType: $$[$0 - 1], cardB: $$[$0 - 2] };\n break;\n case 69:\n this.$ = yy.Cardinality.ZERO_OR_ONE;\n break;\n case 70:\n this.$ = yy.Cardinality.ZERO_OR_MORE;\n break;\n case 71:\n this.$ = yy.Cardinality.ONE_OR_MORE;\n break;\n case 72:\n this.$ = yy.Cardinality.ONLY_ONE;\n break;\n case 73:\n this.$ = yy.Cardinality.MD_PARENT;\n break;\n case 74:\n this.$ = yy.Identification.NON_IDENTIFYING;\n break;\n case 75:\n this.$ = yy.Identification.IDENTIFYING;\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: 9, 22: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V5, 34: $V6, 35: $V7, 36: $V8, 37: $V9, 40: $Va, 43: $Vb, 44: $Vc, 50: $Vd }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 27, 11: 9, 22: $V1, 24: $V2, 26: $V3, 28: $V4, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V5, 34: $V6, 35: $V7, 36: $V8, 37: $V9, 40: $Va, 43: $Vb, 44: $Vc, 50: $Vd }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 16], { 12: 28, 61: 32, 15: [1, 29], 17: [1, 30], 20: [1, 31], 63: $Ve, 64: $Vf, 65: $Vg, 66: $Vh, 67: $Vi }), { 23: [1, 38] }, { 25: [1, 39] }, { 27: [1, 40] }, o($V0, [2, 27]), o($V0, [2, 28]), o($V0, [2, 29]), o($V0, [2, 30]), o($V0, [2, 31]), o($Vj, [2, 54]), o($Vj, [2, 55]), o($V0, [2, 32]), o($V0, [2, 33]), o($V0, [2, 34]), o($V0, [2, 35]), { 16: 41, 40: $Vk, 41: $Vl }, { 16: 44, 40: $Vk, 41: $Vl }, { 16: 45, 40: $Vk, 41: $Vl }, o($V0, [2, 4]), { 11: 46, 40: $Va, 50: $Vd }, { 16: 47, 40: $Vk, 41: $Vl }, { 18: 48, 19: [1, 49], 51: 50, 52: 51, 56: $Vm }, { 11: 53, 40: $Va, 50: $Vd }, { 62: 54, 68: [1, 55], 69: [1, 56] }, o($Vn, [2, 69]), o($Vn, [2, 70]), o($Vn, [2, 71]), o($Vn, [2, 72]), o($Vn, [2, 73]), o($V0, [2, 24]), o($V0, [2, 25]), o($V0, [2, 26]), { 13: $Vo, 38: 57, 41: $Vp, 42: $Vq, 45: 59, 46: 60, 48: $Vr, 49: $Vs }, o($Vt, [2, 37]), o($Vt, [2, 38]), { 16: 65, 40: $Vk, 41: $Vl, 42: $Vq }, { 13: $Vo, 38: 66, 41: $Vp, 42: $Vq, 45: 59, 46: 60, 48: $Vr, 49: $Vs }, { 13: [1, 67], 15: [1, 68] }, o($V0, [2, 17], { 61: 32, 12: 69, 17: [1, 70], 42: $Vq, 63: $Ve, 64: $Vf, 65: $Vg, 66: $Vh, 67: $Vi }), { 19: [1, 71] }, o($V0, [2, 14]), { 18: 72, 19: [2, 56], 51: 50, 52: 51, 56: $Vm }, { 53: 73, 56: [1, 74] }, { 56: [2, 62] }, { 21: [1, 75] }, { 61: 76, 63: $Ve, 64: $Vf, 65: $Vg, 66: $Vh, 67: $Vi }, o($Vu, [2, 74]), o($Vu, [2, 75]), { 6: $Vv, 10: $Vw, 39: 77, 42: $Vx, 47: $Vy }, { 40: [1, 82], 41: [1, 83] }, o($Vz, [2, 43], { 46: 84, 13: $Vo, 41: $Vp, 48: $Vr, 49: $Vs }), o($VA, [2, 45]), o($VA, [2, 50]), o($VA, [2, 51]), o($VA, [2, 52]), o($VA, [2, 53]), o($V0, [2, 41], { 42: $Vq }), { 6: $Vv, 10: $Vw, 39: 85, 42: $Vx, 47: $Vy }, { 14: 86, 40: $VB, 50: $VC, 70: $VD }, { 16: 90, 40: $Vk, 41: $Vl }, { 11: 91, 40: $Va, 50: $Vd }, { 18: 92, 19: [1, 93], 51: 50, 52: 51, 56: $Vm }, o($V0, [2, 12]), { 19: [2, 57] }, o($VE, [2, 58], { 54: 94, 55: 95, 57: 96, 59: $VF, 60: $VG }), o([19, 56, 59, 60], [2, 63]), o($V0, [2, 22], { 15: [1, 100], 17: [1, 99] }), o([40, 50], [2, 68]), o($V0, [2, 36]), { 13: $Vo, 41: $Vp, 45: 101, 46: 60, 48: $Vr, 49: $Vs }, o($V0, [2, 47]), o($V0, [2, 48]), o($V0, [2, 49]), o($Vt, [2, 39]), o($Vt, [2, 40]), o($VA, [2, 46]), o($V0, [2, 42]), o($V0, [2, 8]), o($V0, [2, 76]), o($V0, [2, 77]), o($V0, [2, 78]), { 13: [1, 102], 42: $Vq }, { 13: [1, 104], 15: [1, 103] }, { 19: [1, 105] }, o($V0, [2, 15]), o($VE, [2, 59], { 55: 106, 58: [1, 107], 60: $VG }), o($VE, [2, 60]), o($VH, [2, 64]), o($VE, [2, 67]), o($VH, [2, 66]), { 18: 108, 19: [1, 109], 51: 50, 52: 51, 56: $Vm }, { 16: 110, 40: $Vk, 41: $Vl }, o($Vz, [2, 44], { 46: 84, 13: $Vo, 41: $Vp, 48: $Vr, 49: $Vs }), { 14: 111, 40: $VB, 50: $VC, 70: $VD }, { 16: 112, 40: $Vk, 41: $Vl }, { 14: 113, 40: $VB, 50: $VC, 70: $VD }, o($V0, [2, 13]), o($VE, [2, 61]), { 57: 114, 59: $VF }, { 19: [1, 115] }, o($V0, [2, 20]), o($V0, [2, 23], { 17: [1, 116], 42: $Vq }), o($V0, [2, 11]), { 13: [1, 117], 42: $Vq }, o($V0, [2, 10]), o($VH, [2, 65]), o($V0, [2, 18]), { 18: 118, 19: [1, 119], 51: 50, 52: 51, 56: $Vm }, { 14: 120, 40: $VB, 50: $VC, 70: $VD }, { 19: [1, 121] }, o($V0, [2, 21]), o($V0, [2, 9]), o($V0, [2, 19])],\n defaultActions: { 52: [2, 62], 72: [2, 57] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.begin(\"acc_title\");\n return 24;\n break;\n case 1:\n this.popState();\n return \"acc_title_value\";\n break;\n case 2:\n this.begin(\"acc_descr\");\n return 26;\n break;\n case 3:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 4:\n this.begin(\"acc_descr_multiline\");\n break;\n case 5:\n this.popState();\n break;\n case 6:\n return \"acc_descr_multiline_value\";\n break;\n case 7:\n return 33;\n break;\n case 8:\n return 34;\n break;\n case 9:\n return 35;\n break;\n case 10:\n return 36;\n break;\n case 11:\n return 10;\n break;\n case 12:\n break;\n case 13:\n return 8;\n break;\n case 14:\n return 50;\n break;\n case 15:\n return 70;\n break;\n case 16:\n return 4;\n break;\n case 17:\n this.begin(\"block\");\n return 17;\n break;\n case 18:\n return 49;\n break;\n case 19:\n return 49;\n break;\n case 20:\n return 42;\n break;\n case 21:\n return 15;\n break;\n case 22:\n return 13;\n break;\n case 23:\n break;\n case 24:\n return 59;\n break;\n case 25:\n return 56;\n break;\n case 26:\n return 56;\n break;\n case 27:\n return 60;\n break;\n case 28:\n break;\n case 29:\n this.popState();\n return 19;\n break;\n case 30:\n return yy_.yytext[0];\n break;\n case 31:\n return 20;\n break;\n case 32:\n return 21;\n break;\n case 33:\n this.begin(\"style\");\n return 44;\n break;\n case 34:\n this.popState();\n return 10;\n break;\n case 35:\n break;\n case 36:\n return 13;\n break;\n case 37:\n return 42;\n break;\n case 38:\n return 49;\n break;\n case 39:\n this.begin(\"style\");\n return 37;\n break;\n case 40:\n return 43;\n break;\n case 41:\n return 63;\n break;\n case 42:\n return 65;\n break;\n case 43:\n return 65;\n break;\n case 44:\n return 65;\n break;\n case 45:\n return 63;\n break;\n case 46:\n return 63;\n break;\n case 47:\n return 64;\n break;\n case 48:\n return 64;\n break;\n case 49:\n return 64;\n break;\n case 50:\n return 64;\n break;\n case 51:\n return 64;\n break;\n case 52:\n return 65;\n break;\n case 53:\n return 64;\n break;\n case 54:\n return 65;\n break;\n case 55:\n return 66;\n break;\n case 56:\n return 66;\n break;\n case 57:\n return 66;\n break;\n case 58:\n return 66;\n break;\n case 59:\n return 63;\n break;\n case 60:\n return 64;\n break;\n case 61:\n return 65;\n break;\n case 62:\n return 67;\n break;\n case 63:\n return 68;\n break;\n case 64:\n return 69;\n break;\n case 65:\n return 69;\n break;\n case 66:\n return 68;\n break;\n case 67:\n return 68;\n break;\n case 68:\n return 68;\n break;\n case 69:\n return 41;\n break;\n case 70:\n return 47;\n break;\n case 71:\n return 40;\n break;\n case 72:\n return 48;\n break;\n case 73:\n return yy_.yytext[0];\n break;\n case 74:\n return 6;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:[\\s]+)/i, /^(?:\"[^\"%\\r\\n\\v\\b\\\\]+\")/i, /^(?:\"[^\"]*\")/i, /^(?:erDiagram\\b)/i, /^(?:\\{)/i, /^(?:#)/i, /^(?:#)/i, /^(?:,)/i, /^(?::::)/i, /^(?::)/i, /^(?:\\s+)/i, /^(?:\\b((?:PK)|(?:FK)|(?:UK))\\b)/i, /^(?:([^\\s]*)[~].*[~]([^\\s]*))/i, /^(?:([\\*A-Za-z_\\u00C0-\\uFFFF][A-Za-z0-9\\-\\_\\[\\]\\(\\)\\u00C0-\\uFFFF\\*]*))/i, /^(?:\"[^\"]*\")/i, /^(?:[\\n]+)/i, /^(?:\\})/i, /^(?:.)/i, /^(?:\\[)/i, /^(?:\\])/i, /^(?:style\\b)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?::)/i, /^(?:,)/i, /^(?:#)/i, /^(?:classDef\\b)/i, /^(?:class\\b)/i, /^(?:one or zero\\b)/i, /^(?:one or more\\b)/i, /^(?:one or many\\b)/i, /^(?:1\\+)/i, /^(?:\\|o\\b)/i, /^(?:zero or one\\b)/i, /^(?:zero or more\\b)/i, /^(?:zero or many\\b)/i, /^(?:0\\+)/i, /^(?:\\}o\\b)/i, /^(?:many\\(0\\))/i, /^(?:many\\(1\\))/i, /^(?:many\\b)/i, /^(?:\\}\\|)/i, /^(?:one\\b)/i, /^(?:only one\\b)/i, /^(?:1\\b)/i, /^(?:\\|\\|)/i, /^(?:o\\|)/i, /^(?:o\\{)/i, /^(?:\\|\\{)/i, /^(?:\\s*u\\b)/i, /^(?:\\.\\.)/i, /^(?:--)/i, /^(?:to\\b)/i, /^(?:optionally to\\b)/i, /^(?:\\.-)/i, /^(?:-\\.)/i, /^(?:([^\\x00-\\x7F]|\\w|-|\\*)+)/i, /^(?:;)/i, /^(?:([^\\x00-\\x7F]|\\w|-|\\*)+)/i, /^(?:[0-9])/i, /^(?:.)/i, /^(?:$)/i],\n conditions: { \"style\": { \"rules\": [34, 35, 36, 37, 38, 69, 70], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [5, 6], \"inclusive\": false }, \"acc_descr\": { \"rules\": [3], \"inclusive\": false }, \"acc_title\": { \"rules\": [1], \"inclusive\": false }, \"block\": { \"rules\": [23, 24, 25, 26, 27, 28, 29, 30], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 31, 32, 33, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73, 74], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar erDiagram_default = parser;\n\n// src/diagrams/er/erDb.ts\nvar ErDB = class {\n constructor() {\n this.entities = /* @__PURE__ */ new Map();\n this.relationships = [];\n this.classes = /* @__PURE__ */ new Map();\n this.direction = \"TB\";\n this.Cardinality = {\n ZERO_OR_ONE: \"ZERO_OR_ONE\",\n ZERO_OR_MORE: \"ZERO_OR_MORE\",\n ONE_OR_MORE: \"ONE_OR_MORE\",\n ONLY_ONE: \"ONLY_ONE\",\n MD_PARENT: \"MD_PARENT\"\n };\n this.Identification = {\n NON_IDENTIFYING: \"NON_IDENTIFYING\",\n IDENTIFYING: \"IDENTIFYING\"\n };\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setAccDescription = setAccDescription;\n this.getAccDescription = getAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getConfig = /* @__PURE__ */ __name(() => getConfig().er, \"getConfig\");\n this.clear();\n this.addEntity = this.addEntity.bind(this);\n this.addAttributes = this.addAttributes.bind(this);\n this.addRelationship = this.addRelationship.bind(this);\n this.setDirection = this.setDirection.bind(this);\n this.addCssStyles = this.addCssStyles.bind(this);\n this.addClass = this.addClass.bind(this);\n this.setClass = this.setClass.bind(this);\n this.setAccTitle = this.setAccTitle.bind(this);\n this.setAccDescription = this.setAccDescription.bind(this);\n }\n static {\n __name(this, \"ErDB\");\n }\n /**\n * Add entity\n * @param name - The name of the entity\n * @param alias - The alias of the entity\n */\n addEntity(name, alias = \"\") {\n if (!this.entities.has(name)) {\n this.entities.set(name, {\n id: `entity-${name}-${this.entities.size}`,\n label: name,\n attributes: [],\n alias,\n shape: \"erBox\",\n look: getConfig().look ?? \"default\",\n cssClasses: \"default\",\n cssStyles: []\n });\n log.info(\"Added new entity :\", name);\n } else if (!this.entities.get(name)?.alias && alias) {\n this.entities.get(name).alias = alias;\n log.info(`Add alias '${alias}' to entity '${name}'`);\n }\n return this.entities.get(name);\n }\n getEntity(name) {\n return this.entities.get(name);\n }\n getEntities() {\n return this.entities;\n }\n getClasses() {\n return this.classes;\n }\n addAttributes(entityName, attribs) {\n const entity = this.addEntity(entityName);\n let i;\n for (i = attribs.length - 1; i >= 0; i--) {\n if (!attribs[i].keys) {\n attribs[i].keys = [];\n }\n if (!attribs[i].comment) {\n attribs[i].comment = \"\";\n }\n entity.attributes.push(attribs[i]);\n log.debug(\"Added attribute \", attribs[i].name);\n }\n }\n /**\n * Add a relationship\n *\n * @param entA - The first entity in the relationship\n * @param rolA - The role played by the first entity in relation to the second\n * @param entB - The second entity in the relationship\n * @param rSpec - The details of the relationship between the two entities\n */\n addRelationship(entA, rolA, entB, rSpec) {\n const entityA = this.entities.get(entA);\n const entityB = this.entities.get(entB);\n if (!entityA || !entityB) {\n return;\n }\n const rel = {\n entityA: entityA.id,\n roleA: rolA,\n entityB: entityB.id,\n relSpec: rSpec\n };\n this.relationships.push(rel);\n log.debug(\"Added new relationship :\", rel);\n }\n getRelationships() {\n return this.relationships;\n }\n getDirection() {\n return this.direction;\n }\n setDirection(dir) {\n this.direction = dir;\n }\n getCompiledStyles(classDefs) {\n let compiledStyles = [];\n for (const customClass of classDefs) {\n const cssClass = this.classes.get(customClass);\n if (cssClass?.styles) {\n compiledStyles = [...compiledStyles, ...cssClass.styles ?? []].map((s) => s.trim());\n }\n if (cssClass?.textStyles) {\n compiledStyles = [...compiledStyles, ...cssClass.textStyles ?? []].map((s) => s.trim());\n }\n }\n return compiledStyles;\n }\n addCssStyles(ids, styles) {\n for (const id of ids) {\n const entity = this.entities.get(id);\n if (!styles || !entity) {\n return;\n }\n for (const style of styles) {\n entity.cssStyles.push(style);\n }\n }\n }\n addClass(ids, style) {\n ids.forEach((id) => {\n let classNode = this.classes.get(id);\n if (classNode === void 0) {\n classNode = { id, styles: [], textStyles: [] };\n this.classes.set(id, classNode);\n }\n if (style) {\n style.forEach(function(s) {\n if (/color/.exec(s)) {\n const newStyle = s.replace(\"fill\", \"bgFill\");\n classNode.textStyles.push(newStyle);\n }\n classNode.styles.push(s);\n });\n }\n });\n }\n setClass(ids, classNames) {\n for (const id of ids) {\n const entity = this.entities.get(id);\n if (entity) {\n for (const className of classNames) {\n entity.cssClasses += \" \" + className;\n }\n }\n }\n }\n clear() {\n this.entities = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n this.relationships = [];\n clear();\n }\n getData() {\n const nodes = [];\n const edges = [];\n const config = getConfig();\n for (const entityKey of this.entities.keys()) {\n const entityNode = this.entities.get(entityKey);\n if (entityNode) {\n entityNode.cssCompiledStyles = this.getCompiledStyles(entityNode.cssClasses.split(\" \"));\n nodes.push(entityNode);\n }\n }\n let count = 0;\n for (const relationship of this.relationships) {\n const edge = {\n id: getEdgeId(relationship.entityA, relationship.entityB, {\n prefix: \"id\",\n counter: count++\n }),\n type: \"normal\",\n curve: \"basis\",\n start: relationship.entityA,\n end: relationship.entityB,\n label: relationship.roleA,\n labelpos: \"c\",\n thickness: \"normal\",\n classes: \"relationshipLine\",\n arrowTypeStart: relationship.relSpec.cardB.toLowerCase(),\n arrowTypeEnd: relationship.relSpec.cardA.toLowerCase(),\n pattern: relationship.relSpec.relType == \"IDENTIFYING\" ? \"solid\" : \"dashed\",\n look: config.look\n };\n edges.push(edge);\n }\n return { nodes, edges, other: {}, config, direction: \"TB\" };\n }\n};\n\n// src/diagrams/er/erRenderer-unified.ts\nvar erRenderer_unified_exports = {};\n__export(erRenderer_unified_exports, {\n draw: () => draw\n});\nimport { select } from \"d3\";\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing er diagram (unified)\", id);\n const { securityLevel, er: conf, layout } = getConfig();\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);\n data4Layout.config.flowchart.nodeSpacing = conf?.nodeSpacing || 140;\n data4Layout.config.flowchart.rankSpacing = conf?.rankSpacing || 80;\n data4Layout.direction = diag.db.getDirection();\n data4Layout.markers = [\"only_one\", \"zero_or_one\", \"one_or_more\", \"zero_or_more\"];\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n if (data4Layout.layoutAlgorithm === \"elk\") {\n svg.select(\".edges\").lower();\n }\n const backgroundNodes = svg.selectAll('[id*=\"-background\"]');\n if (Array.from(backgroundNodes).length > 0) {\n backgroundNodes.each(function() {\n const backgroundNode = select(this);\n const backgroundId = backgroundNode.attr(\"id\");\n const nonBackgroundId = backgroundId.replace(\"-background\", \"\");\n const nonBackgroundNode = svg.select(`#${CSS.escape(nonBackgroundId)}`);\n if (!nonBackgroundNode.empty()) {\n const transform = nonBackgroundNode.attr(\"transform\");\n backgroundNode.attr(\"transform\", transform);\n }\n });\n }\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"erDiagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, \"erDiagram\", conf?.useMaxWidth ?? true);\n}, \"draw\");\n\n// src/diagrams/er/styles.ts\nimport * as khroma from \"khroma\";\nvar fade = /* @__PURE__ */ __name((color, opacity) => {\n const channel2 = khroma.channel;\n const r = channel2(color, \"r\");\n const g = channel2(color, \"g\");\n const b = channel2(color, \"b\");\n return khroma.rgba(r, g, b, opacity);\n}, \"fade\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .entityBox {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${options.tertiaryColor};\n opacity: 0.7;\n background-color: ${options.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${fade(options.tertiaryColor, 0.5)};\n }\n\n .edgeLabel .label {\n fill: ${options.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .relationshipLine {\n stroke: ${options.lineColor};\n stroke-width: 1;\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/er/erDiagram.ts\nvar diagram = {\n parser: erDiagram_default,\n get db() {\n return new ErDB();\n },\n renderer: erRenderer_unified_exports,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "import {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n", + "import {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/utils/imperativeState.ts\nvar ImperativeState = class {\n /**\n * @param init - Function that creates the default state.\n */\n constructor(init) {\n this.init = init;\n this.records = this.init();\n }\n static {\n __name(this, \"ImperativeState\");\n }\n reset() {\n this.records = this.init();\n }\n};\n\nexport {\n ImperativeState\n};\n", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport function isAstNode(obj) {\n return typeof obj === 'object' && obj !== null && typeof obj.$type === 'string';\n}\nexport function isReference(obj) {\n return typeof obj === 'object' && obj !== null && typeof obj.$refText === 'string';\n}\nexport function isAstNodeDescription(obj) {\n return typeof obj === 'object' && obj !== null\n && typeof obj.name === 'string'\n && typeof obj.type === 'string'\n && typeof obj.path === 'string';\n}\nexport function isLinkingError(obj) {\n return typeof obj === 'object' && obj !== null\n && isAstNode(obj.container)\n && isReference(obj.reference)\n && typeof obj.message === 'string';\n}\n/**\n * An abstract implementation of the {@link AstReflection} interface.\n * Serves to cache subtype computation results to improve performance throughout different parts of Langium.\n */\nexport class AbstractAstReflection {\n constructor() {\n this.subtypes = {};\n this.allSubtypes = {};\n }\n isInstance(node, type) {\n return isAstNode(node) && this.isSubtype(node.$type, type);\n }\n isSubtype(subtype, supertype) {\n if (subtype === supertype) {\n return true;\n }\n let nested = this.subtypes[subtype];\n if (!nested) {\n nested = this.subtypes[subtype] = {};\n }\n const existing = nested[supertype];\n if (existing !== undefined) {\n return existing;\n }\n else {\n const result = this.computeIsSubtype(subtype, supertype);\n nested[supertype] = result;\n return result;\n }\n }\n getAllSubTypes(type) {\n const existing = this.allSubtypes[type];\n if (existing) {\n return existing;\n }\n else {\n const allTypes = this.getAllTypes();\n const types = [];\n for (const possibleSubType of allTypes) {\n if (this.isSubtype(possibleSubType, type)) {\n types.push(possibleSubType);\n }\n }\n this.allSubtypes[type] = types;\n return types;\n }\n }\n}\nexport function isCompositeCstNode(node) {\n return typeof node === 'object' && node !== null && Array.isArray(node.content);\n}\nexport function isLeafCstNode(node) {\n return typeof node === 'object' && node !== null && typeof node.tokenType === 'object';\n}\nexport function isRootCstNode(node) {\n return isCompositeCstNode(node) && typeof node.fullText === 'string';\n}\n//# sourceMappingURL=syntax-tree.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\n/**\n * The default implementation of `Stream` works with two input functions:\n * - The first function creates the initial state of an iteration.\n * - The second function gets the current state as argument and returns an `IteratorResult`.\n */\nexport class StreamImpl {\n constructor(startFn, nextFn) {\n this.startFn = startFn;\n this.nextFn = nextFn;\n }\n iterator() {\n const iterator = {\n state: this.startFn(),\n next: () => this.nextFn(iterator.state),\n [Symbol.iterator]: () => iterator\n };\n return iterator;\n }\n [Symbol.iterator]() {\n return this.iterator();\n }\n isEmpty() {\n const iterator = this.iterator();\n return Boolean(iterator.next().done);\n }\n count() {\n const iterator = this.iterator();\n let count = 0;\n let next = iterator.next();\n while (!next.done) {\n count++;\n next = iterator.next();\n }\n return count;\n }\n toArray() {\n const result = [];\n const iterator = this.iterator();\n let next;\n do {\n next = iterator.next();\n if (next.value !== undefined) {\n result.push(next.value);\n }\n } while (!next.done);\n return result;\n }\n toSet() {\n return new Set(this);\n }\n toMap(keyFn, valueFn) {\n const entryStream = this.map(element => [\n keyFn ? keyFn(element) : element,\n valueFn ? valueFn(element) : element\n ]);\n return new Map(entryStream);\n }\n toString() {\n return this.join();\n }\n concat(other) {\n return new StreamImpl(() => ({ first: this.startFn(), firstDone: false, iterator: other[Symbol.iterator]() }), state => {\n let result;\n if (!state.firstDone) {\n do {\n result = this.nextFn(state.first);\n if (!result.done) {\n return result;\n }\n } while (!result.done);\n state.firstDone = true;\n }\n do {\n result = state.iterator.next();\n if (!result.done) {\n return result;\n }\n } while (!result.done);\n return DONE_RESULT;\n });\n }\n join(separator = ',') {\n const iterator = this.iterator();\n let value = '';\n let result;\n let addSeparator = false;\n do {\n result = iterator.next();\n if (!result.done) {\n if (addSeparator) {\n value += separator;\n }\n value += toString(result.value);\n }\n addSeparator = true;\n } while (!result.done);\n return value;\n }\n indexOf(searchElement, fromIndex = 0) {\n const iterator = this.iterator();\n let index = 0;\n let next = iterator.next();\n while (!next.done) {\n if (index >= fromIndex && next.value === searchElement) {\n return index;\n }\n next = iterator.next();\n index++;\n }\n return -1;\n }\n every(predicate) {\n const iterator = this.iterator();\n let next = iterator.next();\n while (!next.done) {\n if (!predicate(next.value)) {\n return false;\n }\n next = iterator.next();\n }\n return true;\n }\n some(predicate) {\n const iterator = this.iterator();\n let next = iterator.next();\n while (!next.done) {\n if (predicate(next.value)) {\n return true;\n }\n next = iterator.next();\n }\n return false;\n }\n forEach(callbackfn) {\n const iterator = this.iterator();\n let index = 0;\n let next = iterator.next();\n while (!next.done) {\n callbackfn(next.value, index);\n next = iterator.next();\n index++;\n }\n }\n map(callbackfn) {\n return new StreamImpl(this.startFn, (state) => {\n const { done, value } = this.nextFn(state);\n if (done) {\n return DONE_RESULT;\n }\n else {\n return { done: false, value: callbackfn(value) };\n }\n });\n }\n filter(predicate) {\n return new StreamImpl(this.startFn, state => {\n let result;\n do {\n result = this.nextFn(state);\n if (!result.done && predicate(result.value)) {\n return result;\n }\n } while (!result.done);\n return DONE_RESULT;\n });\n }\n nonNullable() {\n return this.filter(e => e !== undefined && e !== null);\n }\n reduce(callbackfn, initialValue) {\n const iterator = this.iterator();\n let previousValue = initialValue;\n let next = iterator.next();\n while (!next.done) {\n if (previousValue === undefined) {\n previousValue = next.value;\n }\n else {\n previousValue = callbackfn(previousValue, next.value);\n }\n next = iterator.next();\n }\n return previousValue;\n }\n reduceRight(callbackfn, initialValue) {\n return this.recursiveReduce(this.iterator(), callbackfn, initialValue);\n }\n recursiveReduce(iterator, callbackfn, initialValue) {\n const next = iterator.next();\n if (next.done) {\n return initialValue;\n }\n const previousValue = this.recursiveReduce(iterator, callbackfn, initialValue);\n if (previousValue === undefined) {\n return next.value;\n }\n return callbackfn(previousValue, next.value);\n }\n find(predicate) {\n const iterator = this.iterator();\n let next = iterator.next();\n while (!next.done) {\n if (predicate(next.value)) {\n return next.value;\n }\n next = iterator.next();\n }\n return undefined;\n }\n findIndex(predicate) {\n const iterator = this.iterator();\n let index = 0;\n let next = iterator.next();\n while (!next.done) {\n if (predicate(next.value)) {\n return index;\n }\n next = iterator.next();\n index++;\n }\n return -1;\n }\n includes(searchElement) {\n const iterator = this.iterator();\n let next = iterator.next();\n while (!next.done) {\n if (next.value === searchElement) {\n return true;\n }\n next = iterator.next();\n }\n return false;\n }\n flatMap(callbackfn) {\n return new StreamImpl(() => ({ this: this.startFn() }), (state) => {\n do {\n if (state.iterator) {\n const next = state.iterator.next();\n if (next.done) {\n state.iterator = undefined;\n }\n else {\n return next;\n }\n }\n const { done, value } = this.nextFn(state.this);\n if (!done) {\n const mapped = callbackfn(value);\n if (isIterable(mapped)) {\n state.iterator = mapped[Symbol.iterator]();\n }\n else {\n return { done: false, value: mapped };\n }\n }\n } while (state.iterator);\n return DONE_RESULT;\n });\n }\n flat(depth) {\n if (depth === undefined) {\n depth = 1;\n }\n if (depth <= 0) {\n return this;\n }\n const stream = depth > 1 ? this.flat(depth - 1) : this;\n return new StreamImpl(() => ({ this: stream.startFn() }), (state) => {\n do {\n if (state.iterator) {\n const next = state.iterator.next();\n if (next.done) {\n state.iterator = undefined;\n }\n else {\n return next;\n }\n }\n const { done, value } = stream.nextFn(state.this);\n if (!done) {\n if (isIterable(value)) {\n state.iterator = value[Symbol.iterator]();\n }\n else {\n return { done: false, value: value };\n }\n }\n } while (state.iterator);\n return DONE_RESULT;\n });\n }\n head() {\n const iterator = this.iterator();\n const result = iterator.next();\n if (result.done) {\n return undefined;\n }\n return result.value;\n }\n tail(skipCount = 1) {\n return new StreamImpl(() => {\n const state = this.startFn();\n for (let i = 0; i < skipCount; i++) {\n const next = this.nextFn(state);\n if (next.done) {\n return state;\n }\n }\n return state;\n }, this.nextFn);\n }\n limit(maxSize) {\n return new StreamImpl(() => ({ size: 0, state: this.startFn() }), state => {\n state.size++;\n if (state.size > maxSize) {\n return DONE_RESULT;\n }\n return this.nextFn(state.state);\n });\n }\n distinct(by) {\n return new StreamImpl(() => ({ set: new Set(), internalState: this.startFn() }), state => {\n let result;\n do {\n result = this.nextFn(state.internalState);\n if (!result.done) {\n const value = by ? by(result.value) : result.value;\n if (!state.set.has(value)) {\n state.set.add(value);\n return result;\n }\n }\n } while (!result.done);\n return DONE_RESULT;\n });\n }\n exclude(other, key) {\n const otherKeySet = new Set();\n for (const item of other) {\n const value = key ? key(item) : item;\n otherKeySet.add(value);\n }\n return this.filter(e => {\n const ownKey = key ? key(e) : e;\n return !otherKeySet.has(ownKey);\n });\n }\n}\nfunction toString(item) {\n if (typeof item === 'string') {\n return item;\n }\n if (typeof item === 'undefined') {\n return 'undefined';\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (typeof item.toString === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return item.toString();\n }\n return Object.prototype.toString.call(item);\n}\nfunction isIterable(obj) {\n return !!obj && typeof obj[Symbol.iterator] === 'function';\n}\n/**\n * An empty stream of any type.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const EMPTY_STREAM = new StreamImpl(() => undefined, () => DONE_RESULT);\n/**\n * Use this `IteratorResult` when implementing a `StreamImpl` to indicate that there are no more elements in the stream.\n */\nexport const DONE_RESULT = Object.freeze({ done: true, value: undefined });\n/**\n * Create a stream from one or more iterables or array-likes.\n */\nexport function stream(...collections) {\n if (collections.length === 1) {\n const collection = collections[0];\n if (collection instanceof StreamImpl) {\n return collection;\n }\n if (isIterable(collection)) {\n return new StreamImpl(() => collection[Symbol.iterator](), (iterator) => iterator.next());\n }\n if (typeof collection.length === 'number') {\n return new StreamImpl(() => ({ index: 0 }), (state) => {\n if (state.index < collection.length) {\n return { done: false, value: collection[state.index++] };\n }\n else {\n return DONE_RESULT;\n }\n });\n }\n }\n if (collections.length > 1) {\n return new StreamImpl(() => ({ collIndex: 0, arrIndex: 0 }), (state) => {\n do {\n if (state.iterator) {\n const next = state.iterator.next();\n if (!next.done) {\n return next;\n }\n state.iterator = undefined;\n }\n if (state.array) {\n if (state.arrIndex < state.array.length) {\n return { done: false, value: state.array[state.arrIndex++] };\n }\n state.array = undefined;\n state.arrIndex = 0;\n }\n if (state.collIndex < collections.length) {\n const collection = collections[state.collIndex++];\n if (isIterable(collection)) {\n state.iterator = collection[Symbol.iterator]();\n }\n else if (collection && typeof collection.length === 'number') {\n state.array = collection;\n }\n }\n } while (state.iterator || state.array || state.collIndex < collections.length);\n return DONE_RESULT;\n });\n }\n return EMPTY_STREAM;\n}\n/**\n * The default implementation of `TreeStream` takes a root element and a function that computes the\n * children of its argument. Whether the root node included in the stream is controlled with the\n * `includeRoot` option, which defaults to `false`.\n */\nexport class TreeStreamImpl extends StreamImpl {\n constructor(root, children, options) {\n super(() => ({\n iterators: (options === null || options === void 0 ? void 0 : options.includeRoot) ? [[root][Symbol.iterator]()] : [children(root)[Symbol.iterator]()],\n pruned: false\n }), state => {\n if (state.pruned) {\n state.iterators.pop();\n state.pruned = false;\n }\n while (state.iterators.length > 0) {\n const iterator = state.iterators[state.iterators.length - 1];\n const next = iterator.next();\n if (next.done) {\n state.iterators.pop();\n }\n else {\n state.iterators.push(children(next.value)[Symbol.iterator]());\n return next;\n }\n }\n return DONE_RESULT;\n });\n }\n iterator() {\n const iterator = {\n state: this.startFn(),\n next: () => this.nextFn(iterator.state),\n prune: () => {\n iterator.state.pruned = true;\n },\n [Symbol.iterator]: () => iterator\n };\n return iterator;\n }\n}\n/**\n * A set of utility functions that reduce a stream to a single value.\n */\nexport var Reduction;\n(function (Reduction) {\n /**\n * Compute the sum of a number stream.\n */\n function sum(stream) {\n return stream.reduce((a, b) => a + b, 0);\n }\n Reduction.sum = sum;\n /**\n * Compute the product of a number stream.\n */\n function product(stream) {\n return stream.reduce((a, b) => a * b, 0);\n }\n Reduction.product = product;\n /**\n * Compute the minimum of a number stream. Returns `undefined` if the stream is empty.\n */\n function min(stream) {\n return stream.reduce((a, b) => Math.min(a, b));\n }\n Reduction.min = min;\n /**\n * Compute the maximum of a number stream. Returns `undefined` if the stream is empty.\n */\n function max(stream) {\n return stream.reduce((a, b) => Math.max(a, b));\n }\n Reduction.max = max;\n})(Reduction || (Reduction = {}));\n//# sourceMappingURL=stream.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { isCompositeCstNode, isLeafCstNode, isRootCstNode } from '../syntax-tree.js';\nimport { TreeStreamImpl } from './stream.js';\n/**\n * Create a stream of all CST nodes that are directly and indirectly contained in the given root node,\n * including the root node itself.\n */\nexport function streamCst(node) {\n return new TreeStreamImpl(node, element => {\n if (isCompositeCstNode(element)) {\n return element.content;\n }\n else {\n return [];\n }\n }, { includeRoot: true });\n}\n/**\n * Create a stream of all leaf nodes that are directly and indirectly contained in the given root node.\n */\nexport function flattenCst(node) {\n return streamCst(node).filter(isLeafCstNode);\n}\n/**\n * Determines whether the specified cst node is a child of the specified parent node.\n */\nexport function isChildNode(child, parent) {\n while (child.container) {\n child = child.container;\n if (child === parent) {\n return true;\n }\n }\n return false;\n}\nexport function tokenToRange(token) {\n // Chevrotain uses 1-based indices everywhere\n // So we subtract 1 from every value to align with the LSP\n return {\n start: {\n character: token.startColumn - 1,\n line: token.startLine - 1\n },\n end: {\n character: token.endColumn, // endColumn uses the correct index\n line: token.endLine - 1\n }\n };\n}\nexport function toDocumentSegment(node) {\n if (!node) {\n return undefined;\n }\n const { offset, end, range } = node;\n return {\n range,\n offset,\n end,\n length: end - offset\n };\n}\nexport var RangeComparison;\n(function (RangeComparison) {\n RangeComparison[RangeComparison[\"Before\"] = 0] = \"Before\";\n RangeComparison[RangeComparison[\"After\"] = 1] = \"After\";\n RangeComparison[RangeComparison[\"OverlapFront\"] = 2] = \"OverlapFront\";\n RangeComparison[RangeComparison[\"OverlapBack\"] = 3] = \"OverlapBack\";\n RangeComparison[RangeComparison[\"Inside\"] = 4] = \"Inside\";\n RangeComparison[RangeComparison[\"Outside\"] = 5] = \"Outside\";\n})(RangeComparison || (RangeComparison = {}));\nexport function compareRange(range, to) {\n if (range.end.line < to.start.line || (range.end.line === to.start.line && range.end.character <= to.start.character)) {\n return RangeComparison.Before;\n }\n else if (range.start.line > to.end.line || (range.start.line === to.end.line && range.start.character >= to.end.character)) {\n return RangeComparison.After;\n }\n const startInside = range.start.line > to.start.line || (range.start.line === to.start.line && range.start.character >= to.start.character);\n const endInside = range.end.line < to.end.line || (range.end.line === to.end.line && range.end.character <= to.end.character);\n if (startInside && endInside) {\n return RangeComparison.Inside;\n }\n else if (startInside) {\n return RangeComparison.OverlapBack;\n }\n else if (endInside) {\n return RangeComparison.OverlapFront;\n }\n else {\n return RangeComparison.Outside;\n }\n}\nexport function inRange(range, to) {\n const comparison = compareRange(range, to);\n return comparison > RangeComparison.After;\n}\n// The \\p{L} regex matches any unicode letter character, i.e. characters from non-english alphabets\n// Together with \\w it matches any kind of character which can commonly appear in IDs\nexport const DefaultNameRegexp = /^[\\w\\p{L}]$/u;\n/**\n * Performs `findLeafNodeAtOffset` with a minor difference: When encountering a character that matches the `nameRegexp` argument,\n * it will instead return the leaf node at the `offset - 1` position.\n *\n * For LSP services, users expect that the declaration of an element is available if the cursor is directly after the element.\n */\nexport function findDeclarationNodeAtOffset(cstNode, offset, nameRegexp = DefaultNameRegexp) {\n if (cstNode) {\n if (offset > 0) {\n const localOffset = offset - cstNode.offset;\n const textAtOffset = cstNode.text.charAt(localOffset);\n if (!nameRegexp.test(textAtOffset)) {\n offset--;\n }\n }\n return findLeafNodeAtOffset(cstNode, offset);\n }\n return undefined;\n}\nexport function findCommentNode(cstNode, commentNames) {\n if (cstNode) {\n const previous = getPreviousNode(cstNode, true);\n if (previous && isCommentNode(previous, commentNames)) {\n return previous;\n }\n if (isRootCstNode(cstNode)) {\n // Go from the first non-hidden node through all nodes in reverse order\n // We do this to find the comment node which directly precedes the root node\n const endIndex = cstNode.content.findIndex(e => !e.hidden);\n for (let i = endIndex - 1; i >= 0; i--) {\n const child = cstNode.content[i];\n if (isCommentNode(child, commentNames)) {\n return child;\n }\n }\n }\n }\n return undefined;\n}\nexport function isCommentNode(cstNode, commentNames) {\n return isLeafCstNode(cstNode) && commentNames.includes(cstNode.tokenType.name);\n}\n/**\n * Finds the leaf CST node at the specified 0-based string offset.\n * Note that the given offset will be within the range of the returned leaf node.\n *\n * If the offset does not point to a CST node (but just white space), this method will return `undefined`.\n *\n * @param node The CST node to search through.\n * @param offset The specified offset.\n * @returns The CST node at the specified offset.\n */\nexport function findLeafNodeAtOffset(node, offset) {\n if (isLeafCstNode(node)) {\n return node;\n }\n else if (isCompositeCstNode(node)) {\n const searchResult = binarySearch(node, offset, false);\n if (searchResult) {\n return findLeafNodeAtOffset(searchResult, offset);\n }\n }\n return undefined;\n}\n/**\n * Finds the leaf CST node at the specified 0-based string offset.\n * If no CST node exists at the specified position, it will return the leaf node before it.\n *\n * If there is no leaf node before the specified offset, this method will return `undefined`.\n *\n * @param node The CST node to search through.\n * @param offset The specified offset.\n * @returns The CST node closest to the specified offset.\n */\nexport function findLeafNodeBeforeOffset(node, offset) {\n if (isLeafCstNode(node)) {\n return node;\n }\n else if (isCompositeCstNode(node)) {\n const searchResult = binarySearch(node, offset, true);\n if (searchResult) {\n return findLeafNodeBeforeOffset(searchResult, offset);\n }\n }\n return undefined;\n}\nfunction binarySearch(node, offset, closest) {\n let left = 0;\n let right = node.content.length - 1;\n let closestNode = undefined;\n while (left <= right) {\n const middle = Math.floor((left + right) / 2);\n const middleNode = node.content[middle];\n if (middleNode.offset <= offset && middleNode.end > offset) {\n // Found an exact match\n return middleNode;\n }\n if (middleNode.end <= offset) {\n // Update the closest node (less than offset) and move to the right half\n closestNode = closest ? middleNode : undefined;\n left = middle + 1;\n }\n else {\n // Move to the left half\n right = middle - 1;\n }\n }\n return closestNode;\n}\nexport function getPreviousNode(node, hidden = true) {\n while (node.container) {\n const parent = node.container;\n let index = parent.content.indexOf(node);\n while (index > 0) {\n index--;\n const previous = parent.content[index];\n if (hidden || !previous.hidden) {\n return previous;\n }\n }\n node = parent;\n }\n return undefined;\n}\nexport function getNextNode(node, hidden = true) {\n while (node.container) {\n const parent = node.container;\n let index = parent.content.indexOf(node);\n const last = parent.content.length - 1;\n while (index < last) {\n index++;\n const next = parent.content[index];\n if (hidden || !next.hidden) {\n return next;\n }\n }\n node = parent;\n }\n return undefined;\n}\nexport function getStartlineNode(node) {\n if (node.range.start.character === 0) {\n return node;\n }\n const line = node.range.start.line;\n let last = node;\n let index;\n while (node.container) {\n const parent = node.container;\n const selfIndex = index !== null && index !== void 0 ? index : parent.content.indexOf(node);\n if (selfIndex === 0) {\n node = parent;\n index = undefined;\n }\n else {\n index = selfIndex - 1;\n node = parent.content[index];\n }\n if (node.range.start.line !== line) {\n break;\n }\n last = node;\n }\n return last;\n}\nexport function getInteriorNodes(start, end) {\n const commonParent = getCommonParent(start, end);\n if (!commonParent) {\n return [];\n }\n return commonParent.parent.content.slice(commonParent.a + 1, commonParent.b);\n}\nfunction getCommonParent(a, b) {\n const aParents = getParentChain(a);\n const bParents = getParentChain(b);\n let current;\n for (let i = 0; i < aParents.length && i < bParents.length; i++) {\n const aParent = aParents[i];\n const bParent = bParents[i];\n if (aParent.parent === bParent.parent) {\n current = {\n parent: aParent.parent,\n a: aParent.index,\n b: bParent.index\n };\n }\n else {\n break;\n }\n }\n return current;\n}\nfunction getParentChain(node) {\n const chain = [];\n while (node.container) {\n const parent = node.container;\n const index = parent.content.indexOf(node);\n chain.push({\n parent,\n index\n });\n node = parent;\n }\n return chain.reverse();\n}\n//# sourceMappingURL=cst-utils.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport class ErrorWithLocation extends Error {\n constructor(node, message) {\n super(node ? `${message} at ${node.range.start.line}:${node.range.start.character}` : message);\n }\n}\nexport function assertUnreachable(_) {\n throw new Error('Error! The input value was not handled.');\n}\n//# sourceMappingURL=errors.js.map", + "/******************************************************************************\n * This file was generated by langium-cli 3.3.0.\n * DO NOT EDIT MANUALLY!\n ******************************************************************************/\nimport { AbstractAstReflection } from '../../syntax-tree.js';\nexport const LangiumGrammarTerminals = {\n ID: /\\^?[_a-zA-Z][\\w_]*/,\n STRING: /\"(\\\\.|[^\"\\\\])*\"|'(\\\\.|[^'\\\\])*'/,\n NUMBER: /NaN|-?((\\d*\\.\\d+|\\d+)([Ee][+-]?\\d+)?|Infinity)/,\n RegexLiteral: /\\/(?![*+?])(?:[^\\r\\n\\[/\\\\]|\\\\.|\\[(?:[^\\r\\n\\]\\\\]|\\\\.)*\\])+\\/[a-z]*/,\n WS: /\\s+/,\n ML_COMMENT: /\\/\\*[\\s\\S]*?\\*\\//,\n SL_COMMENT: /\\/\\/[^\\n\\r]*/,\n};\nexport const AbstractRule = 'AbstractRule';\nexport function isAbstractRule(item) {\n return reflection.isInstance(item, AbstractRule);\n}\nexport const AbstractType = 'AbstractType';\nexport function isAbstractType(item) {\n return reflection.isInstance(item, AbstractType);\n}\nexport const Condition = 'Condition';\nexport function isCondition(item) {\n return reflection.isInstance(item, Condition);\n}\nexport function isFeatureName(item) {\n return isPrimitiveType(item) || item === 'current' || item === 'entry' || item === 'extends' || item === 'false' || item === 'fragment' || item === 'grammar' || item === 'hidden' || item === 'import' || item === 'interface' || item === 'returns' || item === 'terminal' || item === 'true' || item === 'type' || item === 'infer' || item === 'infers' || item === 'with' || (typeof item === 'string' && (/\\^?[_a-zA-Z][\\w_]*/.test(item)));\n}\nexport function isPrimitiveType(item) {\n return item === 'string' || item === 'number' || item === 'boolean' || item === 'Date' || item === 'bigint';\n}\nexport const TypeDefinition = 'TypeDefinition';\nexport function isTypeDefinition(item) {\n return reflection.isInstance(item, TypeDefinition);\n}\nexport const ValueLiteral = 'ValueLiteral';\nexport function isValueLiteral(item) {\n return reflection.isInstance(item, ValueLiteral);\n}\nexport const AbstractElement = 'AbstractElement';\nexport function isAbstractElement(item) {\n return reflection.isInstance(item, AbstractElement);\n}\nexport const ArrayLiteral = 'ArrayLiteral';\nexport function isArrayLiteral(item) {\n return reflection.isInstance(item, ArrayLiteral);\n}\nexport const ArrayType = 'ArrayType';\nexport function isArrayType(item) {\n return reflection.isInstance(item, ArrayType);\n}\nexport const BooleanLiteral = 'BooleanLiteral';\nexport function isBooleanLiteral(item) {\n return reflection.isInstance(item, BooleanLiteral);\n}\nexport const Conjunction = 'Conjunction';\nexport function isConjunction(item) {\n return reflection.isInstance(item, Conjunction);\n}\nexport const Disjunction = 'Disjunction';\nexport function isDisjunction(item) {\n return reflection.isInstance(item, Disjunction);\n}\nexport const Grammar = 'Grammar';\nexport function isGrammar(item) {\n return reflection.isInstance(item, Grammar);\n}\nexport const GrammarImport = 'GrammarImport';\nexport function isGrammarImport(item) {\n return reflection.isInstance(item, GrammarImport);\n}\nexport const InferredType = 'InferredType';\nexport function isInferredType(item) {\n return reflection.isInstance(item, InferredType);\n}\nexport const Interface = 'Interface';\nexport function isInterface(item) {\n return reflection.isInstance(item, Interface);\n}\nexport const NamedArgument = 'NamedArgument';\nexport function isNamedArgument(item) {\n return reflection.isInstance(item, NamedArgument);\n}\nexport const Negation = 'Negation';\nexport function isNegation(item) {\n return reflection.isInstance(item, Negation);\n}\nexport const NumberLiteral = 'NumberLiteral';\nexport function isNumberLiteral(item) {\n return reflection.isInstance(item, NumberLiteral);\n}\nexport const Parameter = 'Parameter';\nexport function isParameter(item) {\n return reflection.isInstance(item, Parameter);\n}\nexport const ParameterReference = 'ParameterReference';\nexport function isParameterReference(item) {\n return reflection.isInstance(item, ParameterReference);\n}\nexport const ParserRule = 'ParserRule';\nexport function isParserRule(item) {\n return reflection.isInstance(item, ParserRule);\n}\nexport const ReferenceType = 'ReferenceType';\nexport function isReferenceType(item) {\n return reflection.isInstance(item, ReferenceType);\n}\nexport const ReturnType = 'ReturnType';\nexport function isReturnType(item) {\n return reflection.isInstance(item, ReturnType);\n}\nexport const SimpleType = 'SimpleType';\nexport function isSimpleType(item) {\n return reflection.isInstance(item, SimpleType);\n}\nexport const StringLiteral = 'StringLiteral';\nexport function isStringLiteral(item) {\n return reflection.isInstance(item, StringLiteral);\n}\nexport const TerminalRule = 'TerminalRule';\nexport function isTerminalRule(item) {\n return reflection.isInstance(item, TerminalRule);\n}\nexport const Type = 'Type';\nexport function isType(item) {\n return reflection.isInstance(item, Type);\n}\nexport const TypeAttribute = 'TypeAttribute';\nexport function isTypeAttribute(item) {\n return reflection.isInstance(item, TypeAttribute);\n}\nexport const UnionType = 'UnionType';\nexport function isUnionType(item) {\n return reflection.isInstance(item, UnionType);\n}\nexport const Action = 'Action';\nexport function isAction(item) {\n return reflection.isInstance(item, Action);\n}\nexport const Alternatives = 'Alternatives';\nexport function isAlternatives(item) {\n return reflection.isInstance(item, Alternatives);\n}\nexport const Assignment = 'Assignment';\nexport function isAssignment(item) {\n return reflection.isInstance(item, Assignment);\n}\nexport const CharacterRange = 'CharacterRange';\nexport function isCharacterRange(item) {\n return reflection.isInstance(item, CharacterRange);\n}\nexport const CrossReference = 'CrossReference';\nexport function isCrossReference(item) {\n return reflection.isInstance(item, CrossReference);\n}\nexport const EndOfFile = 'EndOfFile';\nexport function isEndOfFile(item) {\n return reflection.isInstance(item, EndOfFile);\n}\nexport const Group = 'Group';\nexport function isGroup(item) {\n return reflection.isInstance(item, Group);\n}\nexport const Keyword = 'Keyword';\nexport function isKeyword(item) {\n return reflection.isInstance(item, Keyword);\n}\nexport const NegatedToken = 'NegatedToken';\nexport function isNegatedToken(item) {\n return reflection.isInstance(item, NegatedToken);\n}\nexport const RegexToken = 'RegexToken';\nexport function isRegexToken(item) {\n return reflection.isInstance(item, RegexToken);\n}\nexport const RuleCall = 'RuleCall';\nexport function isRuleCall(item) {\n return reflection.isInstance(item, RuleCall);\n}\nexport const TerminalAlternatives = 'TerminalAlternatives';\nexport function isTerminalAlternatives(item) {\n return reflection.isInstance(item, TerminalAlternatives);\n}\nexport const TerminalGroup = 'TerminalGroup';\nexport function isTerminalGroup(item) {\n return reflection.isInstance(item, TerminalGroup);\n}\nexport const TerminalRuleCall = 'TerminalRuleCall';\nexport function isTerminalRuleCall(item) {\n return reflection.isInstance(item, TerminalRuleCall);\n}\nexport const UnorderedGroup = 'UnorderedGroup';\nexport function isUnorderedGroup(item) {\n return reflection.isInstance(item, UnorderedGroup);\n}\nexport const UntilToken = 'UntilToken';\nexport function isUntilToken(item) {\n return reflection.isInstance(item, UntilToken);\n}\nexport const Wildcard = 'Wildcard';\nexport function isWildcard(item) {\n return reflection.isInstance(item, Wildcard);\n}\nexport class LangiumGrammarAstReflection extends AbstractAstReflection {\n getAllTypes() {\n return [AbstractElement, AbstractRule, AbstractType, Action, Alternatives, ArrayLiteral, ArrayType, Assignment, BooleanLiteral, CharacterRange, Condition, Conjunction, CrossReference, Disjunction, EndOfFile, Grammar, GrammarImport, Group, InferredType, Interface, Keyword, NamedArgument, NegatedToken, Negation, NumberLiteral, Parameter, ParameterReference, ParserRule, ReferenceType, RegexToken, ReturnType, RuleCall, SimpleType, StringLiteral, TerminalAlternatives, TerminalGroup, TerminalRule, TerminalRuleCall, Type, TypeAttribute, TypeDefinition, UnionType, UnorderedGroup, UntilToken, ValueLiteral, Wildcard];\n }\n computeIsSubtype(subtype, supertype) {\n switch (subtype) {\n case Action:\n case Alternatives:\n case Assignment:\n case CharacterRange:\n case CrossReference:\n case EndOfFile:\n case Group:\n case Keyword:\n case NegatedToken:\n case RegexToken:\n case RuleCall:\n case TerminalAlternatives:\n case TerminalGroup:\n case TerminalRuleCall:\n case UnorderedGroup:\n case UntilToken:\n case Wildcard: {\n return this.isSubtype(AbstractElement, supertype);\n }\n case ArrayLiteral:\n case NumberLiteral:\n case StringLiteral: {\n return this.isSubtype(ValueLiteral, supertype);\n }\n case ArrayType:\n case ReferenceType:\n case SimpleType:\n case UnionType: {\n return this.isSubtype(TypeDefinition, supertype);\n }\n case BooleanLiteral: {\n return this.isSubtype(Condition, supertype) || this.isSubtype(ValueLiteral, supertype);\n }\n case Conjunction:\n case Disjunction:\n case Negation:\n case ParameterReference: {\n return this.isSubtype(Condition, supertype);\n }\n case InferredType:\n case Interface:\n case Type: {\n return this.isSubtype(AbstractType, supertype);\n }\n case ParserRule: {\n return this.isSubtype(AbstractRule, supertype) || this.isSubtype(AbstractType, supertype);\n }\n case TerminalRule: {\n return this.isSubtype(AbstractRule, supertype);\n }\n default: {\n return false;\n }\n }\n }\n getReferenceType(refInfo) {\n const referenceId = `${refInfo.container.$type}:${refInfo.property}`;\n switch (referenceId) {\n case 'Action:type':\n case 'CrossReference:type':\n case 'Interface:superTypes':\n case 'ParserRule:returnType':\n case 'SimpleType:typeRef': {\n return AbstractType;\n }\n case 'Grammar:hiddenTokens':\n case 'ParserRule:hiddenTokens':\n case 'RuleCall:rule': {\n return AbstractRule;\n }\n case 'Grammar:usedGrammars': {\n return Grammar;\n }\n case 'NamedArgument:parameter':\n case 'ParameterReference:parameter': {\n return Parameter;\n }\n case 'TerminalRuleCall:rule': {\n return TerminalRule;\n }\n default: {\n throw new Error(`${referenceId} is not a valid reference id.`);\n }\n }\n }\n getTypeMetaData(type) {\n switch (type) {\n case AbstractElement: {\n return {\n name: AbstractElement,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' }\n ]\n };\n }\n case ArrayLiteral: {\n return {\n name: ArrayLiteral,\n properties: [\n { name: 'elements', defaultValue: [] }\n ]\n };\n }\n case ArrayType: {\n return {\n name: ArrayType,\n properties: [\n { name: 'elementType' }\n ]\n };\n }\n case BooleanLiteral: {\n return {\n name: BooleanLiteral,\n properties: [\n { name: 'true', defaultValue: false }\n ]\n };\n }\n case Conjunction: {\n return {\n name: Conjunction,\n properties: [\n { name: 'left' },\n { name: 'right' }\n ]\n };\n }\n case Disjunction: {\n return {\n name: Disjunction,\n properties: [\n { name: 'left' },\n { name: 'right' }\n ]\n };\n }\n case Grammar: {\n return {\n name: Grammar,\n properties: [\n { name: 'definesHiddenTokens', defaultValue: false },\n { name: 'hiddenTokens', defaultValue: [] },\n { name: 'imports', defaultValue: [] },\n { name: 'interfaces', defaultValue: [] },\n { name: 'isDeclared', defaultValue: false },\n { name: 'name' },\n { name: 'rules', defaultValue: [] },\n { name: 'types', defaultValue: [] },\n { name: 'usedGrammars', defaultValue: [] }\n ]\n };\n }\n case GrammarImport: {\n return {\n name: GrammarImport,\n properties: [\n { name: 'path' }\n ]\n };\n }\n case InferredType: {\n return {\n name: InferredType,\n properties: [\n { name: 'name' }\n ]\n };\n }\n case Interface: {\n return {\n name: Interface,\n properties: [\n { name: 'attributes', defaultValue: [] },\n { name: 'name' },\n { name: 'superTypes', defaultValue: [] }\n ]\n };\n }\n case NamedArgument: {\n return {\n name: NamedArgument,\n properties: [\n { name: 'calledByName', defaultValue: false },\n { name: 'parameter' },\n { name: 'value' }\n ]\n };\n }\n case Negation: {\n return {\n name: Negation,\n properties: [\n { name: 'value' }\n ]\n };\n }\n case NumberLiteral: {\n return {\n name: NumberLiteral,\n properties: [\n { name: 'value' }\n ]\n };\n }\n case Parameter: {\n return {\n name: Parameter,\n properties: [\n { name: 'name' }\n ]\n };\n }\n case ParameterReference: {\n return {\n name: ParameterReference,\n properties: [\n { name: 'parameter' }\n ]\n };\n }\n case ParserRule: {\n return {\n name: ParserRule,\n properties: [\n { name: 'dataType' },\n { name: 'definesHiddenTokens', defaultValue: false },\n { name: 'definition' },\n { name: 'entry', defaultValue: false },\n { name: 'fragment', defaultValue: false },\n { name: 'hiddenTokens', defaultValue: [] },\n { name: 'inferredType' },\n { name: 'name' },\n { name: 'parameters', defaultValue: [] },\n { name: 'returnType' },\n { name: 'wildcard', defaultValue: false }\n ]\n };\n }\n case ReferenceType: {\n return {\n name: ReferenceType,\n properties: [\n { name: 'referenceType' }\n ]\n };\n }\n case ReturnType: {\n return {\n name: ReturnType,\n properties: [\n { name: 'name' }\n ]\n };\n }\n case SimpleType: {\n return {\n name: SimpleType,\n properties: [\n { name: 'primitiveType' },\n { name: 'stringType' },\n { name: 'typeRef' }\n ]\n };\n }\n case StringLiteral: {\n return {\n name: StringLiteral,\n properties: [\n { name: 'value' }\n ]\n };\n }\n case TerminalRule: {\n return {\n name: TerminalRule,\n properties: [\n { name: 'definition' },\n { name: 'fragment', defaultValue: false },\n { name: 'hidden', defaultValue: false },\n { name: 'name' },\n { name: 'type' }\n ]\n };\n }\n case Type: {\n return {\n name: Type,\n properties: [\n { name: 'name' },\n { name: 'type' }\n ]\n };\n }\n case TypeAttribute: {\n return {\n name: TypeAttribute,\n properties: [\n { name: 'defaultValue' },\n { name: 'isOptional', defaultValue: false },\n { name: 'name' },\n { name: 'type' }\n ]\n };\n }\n case UnionType: {\n return {\n name: UnionType,\n properties: [\n { name: 'types', defaultValue: [] }\n ]\n };\n }\n case Action: {\n return {\n name: Action,\n properties: [\n { name: 'cardinality' },\n { name: 'feature' },\n { name: 'inferredType' },\n { name: 'lookahead' },\n { name: 'operator' },\n { name: 'type' }\n ]\n };\n }\n case Alternatives: {\n return {\n name: Alternatives,\n properties: [\n { name: 'cardinality' },\n { name: 'elements', defaultValue: [] },\n { name: 'lookahead' }\n ]\n };\n }\n case Assignment: {\n return {\n name: Assignment,\n properties: [\n { name: 'cardinality' },\n { name: 'feature' },\n { name: 'lookahead' },\n { name: 'operator' },\n { name: 'terminal' }\n ]\n };\n }\n case CharacterRange: {\n return {\n name: CharacterRange,\n properties: [\n { name: 'cardinality' },\n { name: 'left' },\n { name: 'lookahead' },\n { name: 'right' }\n ]\n };\n }\n case CrossReference: {\n return {\n name: CrossReference,\n properties: [\n { name: 'cardinality' },\n { name: 'deprecatedSyntax', defaultValue: false },\n { name: 'lookahead' },\n { name: 'terminal' },\n { name: 'type' }\n ]\n };\n }\n case EndOfFile: {\n return {\n name: EndOfFile,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' }\n ]\n };\n }\n case Group: {\n return {\n name: Group,\n properties: [\n { name: 'cardinality' },\n { name: 'elements', defaultValue: [] },\n { name: 'guardCondition' },\n { name: 'lookahead' }\n ]\n };\n }\n case Keyword: {\n return {\n name: Keyword,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' },\n { name: 'value' }\n ]\n };\n }\n case NegatedToken: {\n return {\n name: NegatedToken,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' },\n { name: 'terminal' }\n ]\n };\n }\n case RegexToken: {\n return {\n name: RegexToken,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' },\n { name: 'regex' }\n ]\n };\n }\n case RuleCall: {\n return {\n name: RuleCall,\n properties: [\n { name: 'arguments', defaultValue: [] },\n { name: 'cardinality' },\n { name: 'lookahead' },\n { name: 'rule' }\n ]\n };\n }\n case TerminalAlternatives: {\n return {\n name: TerminalAlternatives,\n properties: [\n { name: 'cardinality' },\n { name: 'elements', defaultValue: [] },\n { name: 'lookahead' }\n ]\n };\n }\n case TerminalGroup: {\n return {\n name: TerminalGroup,\n properties: [\n { name: 'cardinality' },\n { name: 'elements', defaultValue: [] },\n { name: 'lookahead' }\n ]\n };\n }\n case TerminalRuleCall: {\n return {\n name: TerminalRuleCall,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' },\n { name: 'rule' }\n ]\n };\n }\n case UnorderedGroup: {\n return {\n name: UnorderedGroup,\n properties: [\n { name: 'cardinality' },\n { name: 'elements', defaultValue: [] },\n { name: 'lookahead' }\n ]\n };\n }\n case UntilToken: {\n return {\n name: UntilToken,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' },\n { name: 'terminal' }\n ]\n };\n }\n case Wildcard: {\n return {\n name: Wildcard,\n properties: [\n { name: 'cardinality' },\n { name: 'lookahead' }\n ]\n };\n }\n default: {\n return {\n name: type,\n properties: []\n };\n }\n }\n }\n}\nexport const reflection = new LangiumGrammarAstReflection();\n//# sourceMappingURL=ast.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { isAstNode, isReference } from '../syntax-tree.js';\nimport { DONE_RESULT, stream, StreamImpl, TreeStreamImpl } from './stream.js';\nimport { inRange } from './cst-utils.js';\n/**\n * Link the `$container` and other related properties of every AST node that is directly contained\n * in the given `node`.\n */\nexport function linkContentToContainer(node) {\n for (const [name, value] of Object.entries(node)) {\n if (!name.startsWith('$')) {\n if (Array.isArray(value)) {\n value.forEach((item, index) => {\n if (isAstNode(item)) {\n item.$container = node;\n item.$containerProperty = name;\n item.$containerIndex = index;\n }\n });\n }\n else if (isAstNode(value)) {\n value.$container = node;\n value.$containerProperty = name;\n }\n }\n }\n}\n/**\n * Walk along the hierarchy of containers from the given AST node to the root and return the first\n * node that matches the type predicate. If the start node itself matches, it is returned.\n * If no container matches, `undefined` is returned.\n */\nexport function getContainerOfType(node, typePredicate) {\n let item = node;\n while (item) {\n if (typePredicate(item)) {\n return item;\n }\n item = item.$container;\n }\n return undefined;\n}\n/**\n * Walk along the hierarchy of containers from the given AST node to the root and check for existence\n * of a container that matches the given predicate. The start node is included in the checks.\n */\nexport function hasContainerOfType(node, predicate) {\n let item = node;\n while (item) {\n if (predicate(item)) {\n return true;\n }\n item = item.$container;\n }\n return false;\n}\n/**\n * Retrieve the document in which the given AST node is contained. A reference to the document is\n * usually held by the root node of the AST.\n *\n * @throws an error if the node is not contained in a document.\n */\nexport function getDocument(node) {\n const rootNode = findRootNode(node);\n const result = rootNode.$document;\n if (!result) {\n throw new Error('AST node has no document.');\n }\n return result;\n}\n/**\n * Returns the root node of the given AST node by following the `$container` references.\n */\nexport function findRootNode(node) {\n while (node.$container) {\n node = node.$container;\n }\n return node;\n}\n/**\n * Create a stream of all AST nodes that are directly contained in the given node. This includes\n * single-valued as well as multi-valued (array) properties.\n */\nexport function streamContents(node, options) {\n if (!node) {\n throw new Error('Node must be an AstNode.');\n }\n const range = options === null || options === void 0 ? void 0 : options.range;\n return new StreamImpl(() => ({\n keys: Object.keys(node),\n keyIndex: 0,\n arrayIndex: 0\n }), state => {\n while (state.keyIndex < state.keys.length) {\n const property = state.keys[state.keyIndex];\n if (!property.startsWith('$')) {\n const value = node[property];\n if (isAstNode(value)) {\n state.keyIndex++;\n if (isAstNodeInRange(value, range)) {\n return { done: false, value };\n }\n }\n else if (Array.isArray(value)) {\n while (state.arrayIndex < value.length) {\n const index = state.arrayIndex++;\n const element = value[index];\n if (isAstNode(element) && isAstNodeInRange(element, range)) {\n return { done: false, value: element };\n }\n }\n state.arrayIndex = 0;\n }\n }\n state.keyIndex++;\n }\n return DONE_RESULT;\n });\n}\n/**\n * Create a stream of all AST nodes that are directly and indirectly contained in the given root node.\n * This does not include the root node itself.\n */\nexport function streamAllContents(root, options) {\n if (!root) {\n throw new Error('Root node must be an AstNode.');\n }\n return new TreeStreamImpl(root, node => streamContents(node, options));\n}\n/**\n * Create a stream of all AST nodes that are directly and indirectly contained in the given root node,\n * including the root node itself.\n */\nexport function streamAst(root, options) {\n if (!root) {\n throw new Error('Root node must be an AstNode.');\n }\n else if ((options === null || options === void 0 ? void 0 : options.range) && !isAstNodeInRange(root, options.range)) {\n // Return an empty stream if the root node isn't in range\n return new TreeStreamImpl(root, () => []);\n }\n return new TreeStreamImpl(root, node => streamContents(node, options), { includeRoot: true });\n}\nfunction isAstNodeInRange(astNode, range) {\n var _a;\n if (!range) {\n return true;\n }\n const nodeRange = (_a = astNode.$cstNode) === null || _a === void 0 ? void 0 : _a.range;\n if (!nodeRange) {\n return false;\n }\n return inRange(nodeRange, range);\n}\n/**\n * Create a stream of all cross-references that are held by the given AST node. This includes\n * single-valued as well as multi-valued (array) properties.\n */\nexport function streamReferences(node) {\n return new StreamImpl(() => ({\n keys: Object.keys(node),\n keyIndex: 0,\n arrayIndex: 0\n }), state => {\n while (state.keyIndex < state.keys.length) {\n const property = state.keys[state.keyIndex];\n if (!property.startsWith('$')) {\n const value = node[property];\n if (isReference(value)) {\n state.keyIndex++;\n return { done: false, value: { reference: value, container: node, property } };\n }\n else if (Array.isArray(value)) {\n while (state.arrayIndex < value.length) {\n const index = state.arrayIndex++;\n const element = value[index];\n if (isReference(element)) {\n return { done: false, value: { reference: element, container: node, property, index } };\n }\n }\n state.arrayIndex = 0;\n }\n }\n state.keyIndex++;\n }\n return DONE_RESULT;\n });\n}\n/**\n * Returns a Stream of references to the target node from the AstNode tree\n *\n * @param targetNode AstNode we are looking for\n * @param lookup AstNode where we search for references. If not provided, the root node of the document is used as the default value\n */\nexport function findLocalReferences(targetNode, lookup = getDocument(targetNode).parseResult.value) {\n const refs = [];\n streamAst(lookup).forEach(node => {\n streamReferences(node).forEach(refInfo => {\n if (refInfo.reference.ref === targetNode) {\n refs.push(refInfo.reference);\n }\n });\n });\n return stream(refs);\n}\n/**\n * Assigns all mandatory AST properties to the specified node.\n *\n * @param reflection Reflection object used to gather mandatory properties for the node.\n * @param node Specified node is modified in place and properties are directly assigned.\n */\nexport function assignMandatoryProperties(reflection, node) {\n const typeMetaData = reflection.getTypeMetaData(node.$type);\n const genericNode = node;\n for (const property of typeMetaData.properties) {\n // Only set the value if the property is not already set and if it has a default value\n if (property.defaultValue !== undefined && genericNode[property.name] === undefined) {\n genericNode[property.name] = copyDefaultValue(property.defaultValue);\n }\n }\n}\nfunction copyDefaultValue(propertyType) {\n if (Array.isArray(propertyType)) {\n return [...propertyType.map(copyDefaultValue)];\n }\n else {\n return propertyType;\n }\n}\n/**\n * Creates a deep copy of the specified AST node.\n * The resulting copy will only contain semantically relevant information, such as the `$type` property and AST properties.\n *\n * References are copied without resolved cross reference. The specified function is used to rebuild them.\n */\nexport function copyAstNode(node, buildReference) {\n const copy = { $type: node.$type };\n for (const [name, value] of Object.entries(node)) {\n if (!name.startsWith('$')) {\n if (isAstNode(value)) {\n copy[name] = copyAstNode(value, buildReference);\n }\n else if (isReference(value)) {\n copy[name] = buildReference(copy, name, value.$refNode, value.$refText);\n }\n else if (Array.isArray(value)) {\n const copiedArray = [];\n for (const element of value) {\n if (isAstNode(element)) {\n copiedArray.push(copyAstNode(element, buildReference));\n }\n else if (isReference(element)) {\n copiedArray.push(buildReference(copy, name, element.$refNode, element.$refText));\n }\n else {\n copiedArray.push(element);\n }\n }\n copy[name] = copiedArray;\n }\n else {\n copy[name] = value;\n }\n }\n }\n linkContentToContainer(copy);\n return copy;\n}\n//# sourceMappingURL=ast-utils.js.map", + "export function cc(char) {\n return char.charCodeAt(0);\n}\nexport function insertToSet(item, set) {\n if (Array.isArray(item)) {\n item.forEach(function (subItem) {\n set.push(subItem);\n });\n }\n else {\n set.push(item);\n }\n}\nexport function addFlag(flagObj, flagKey) {\n if (flagObj[flagKey] === true) {\n throw \"duplicate flag \" + flagKey;\n }\n const x = flagObj[flagKey];\n flagObj[flagKey] = true;\n}\nexport function ASSERT_EXISTS(obj) {\n // istanbul ignore next\n if (obj === undefined) {\n throw Error(\"Internal Error - Should never get here!\");\n }\n return true;\n}\n// istanbul ignore next\nexport function ASSERT_NEVER_REACH_HERE() {\n throw Error(\"Internal Error - Should never get here!\");\n}\nexport function isCharacter(obj) {\n return obj[\"type\"] === \"Character\";\n}\n//# sourceMappingURL=utils.js.map", + "import { cc } from \"./utils.js\";\nexport const digitsCharCodes = [];\nfor (let i = cc(\"0\"); i <= cc(\"9\"); i++) {\n digitsCharCodes.push(i);\n}\nexport const wordCharCodes = [cc(\"_\")].concat(digitsCharCodes);\nfor (let i = cc(\"a\"); i <= cc(\"z\"); i++) {\n wordCharCodes.push(i);\n}\nfor (let i = cc(\"A\"); i <= cc(\"Z\"); i++) {\n wordCharCodes.push(i);\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#character-classes\nexport const whitespaceCodes = [\n cc(\" \"),\n cc(\"\\f\"),\n cc(\"\\n\"),\n cc(\"\\r\"),\n cc(\"\\t\"),\n cc(\"\\v\"),\n cc(\"\\t\"),\n cc(\"\\u00a0\"),\n cc(\"\\u1680\"),\n cc(\"\\u2000\"),\n cc(\"\\u2001\"),\n cc(\"\\u2002\"),\n cc(\"\\u2003\"),\n cc(\"\\u2004\"),\n cc(\"\\u2005\"),\n cc(\"\\u2006\"),\n cc(\"\\u2007\"),\n cc(\"\\u2008\"),\n cc(\"\\u2009\"),\n cc(\"\\u200a\"),\n cc(\"\\u2028\"),\n cc(\"\\u2029\"),\n cc(\"\\u202f\"),\n cc(\"\\u205f\"),\n cc(\"\\u3000\"),\n cc(\"\\ufeff\"),\n];\n//# sourceMappingURL=character-classes.js.map", + "import { addFlag, ASSERT_EXISTS, ASSERT_NEVER_REACH_HERE, cc, insertToSet, isCharacter, } from \"./utils.js\";\nimport { digitsCharCodes, whitespaceCodes, wordCharCodes, } from \"./character-classes.js\";\n// consts and utilities\nconst hexDigitPattern = /[0-9a-fA-F]/;\nconst decimalPattern = /[0-9]/;\nconst decimalPatternNoZero = /[1-9]/;\n// https://hackernoon.com/the-madness-of-parsing-real-world-javascript-regexps-d9ee336df983\n// https://www.ecma-international.org/ecma-262/8.0/index.html#prod-Pattern\nexport class RegExpParser {\n constructor() {\n this.idx = 0;\n this.input = \"\";\n this.groupIdx = 0;\n }\n saveState() {\n return {\n idx: this.idx,\n input: this.input,\n groupIdx: this.groupIdx,\n };\n }\n restoreState(newState) {\n this.idx = newState.idx;\n this.input = newState.input;\n this.groupIdx = newState.groupIdx;\n }\n pattern(input) {\n // parser state\n this.idx = 0;\n this.input = input;\n this.groupIdx = 0;\n this.consumeChar(\"/\");\n const value = this.disjunction();\n this.consumeChar(\"/\");\n const flags = {\n type: \"Flags\",\n loc: { begin: this.idx, end: input.length },\n global: false,\n ignoreCase: false,\n multiLine: false,\n unicode: false,\n sticky: false,\n };\n while (this.isRegExpFlag()) {\n switch (this.popChar()) {\n case \"g\":\n addFlag(flags, \"global\");\n break;\n case \"i\":\n addFlag(flags, \"ignoreCase\");\n break;\n case \"m\":\n addFlag(flags, \"multiLine\");\n break;\n case \"u\":\n addFlag(flags, \"unicode\");\n break;\n case \"y\":\n addFlag(flags, \"sticky\");\n break;\n }\n }\n if (this.idx !== this.input.length) {\n throw Error(\"Redundant input: \" + this.input.substring(this.idx));\n }\n return {\n type: \"Pattern\",\n flags: flags,\n value: value,\n loc: this.loc(0),\n };\n }\n disjunction() {\n const alts = [];\n const begin = this.idx;\n alts.push(this.alternative());\n while (this.peekChar() === \"|\") {\n this.consumeChar(\"|\");\n alts.push(this.alternative());\n }\n return { type: \"Disjunction\", value: alts, loc: this.loc(begin) };\n }\n alternative() {\n const terms = [];\n const begin = this.idx;\n while (this.isTerm()) {\n terms.push(this.term());\n }\n return { type: \"Alternative\", value: terms, loc: this.loc(begin) };\n }\n term() {\n if (this.isAssertion()) {\n return this.assertion();\n }\n else {\n return this.atom();\n }\n }\n assertion() {\n const begin = this.idx;\n switch (this.popChar()) {\n case \"^\":\n return {\n type: \"StartAnchor\",\n loc: this.loc(begin),\n };\n case \"$\":\n return { type: \"EndAnchor\", loc: this.loc(begin) };\n // '\\b' or '\\B'\n case \"\\\\\":\n switch (this.popChar()) {\n case \"b\":\n return {\n type: \"WordBoundary\",\n loc: this.loc(begin),\n };\n case \"B\":\n return {\n type: \"NonWordBoundary\",\n loc: this.loc(begin),\n };\n }\n // istanbul ignore next\n throw Error(\"Invalid Assertion Escape\");\n // '(?=' or '(?!'\n case \"(\":\n this.consumeChar(\"?\");\n let type;\n switch (this.popChar()) {\n case \"=\":\n type = \"Lookahead\";\n break;\n case \"!\":\n type = \"NegativeLookahead\";\n break;\n }\n ASSERT_EXISTS(type);\n const disjunction = this.disjunction();\n this.consumeChar(\")\");\n return {\n type: type,\n value: disjunction,\n loc: this.loc(begin),\n };\n }\n // istanbul ignore next\n return ASSERT_NEVER_REACH_HERE();\n }\n quantifier(isBacktracking = false) {\n let range = undefined;\n const begin = this.idx;\n switch (this.popChar()) {\n case \"*\":\n range = {\n atLeast: 0,\n atMost: Infinity,\n };\n break;\n case \"+\":\n range = {\n atLeast: 1,\n atMost: Infinity,\n };\n break;\n case \"?\":\n range = {\n atLeast: 0,\n atMost: 1,\n };\n break;\n case \"{\":\n const atLeast = this.integerIncludingZero();\n switch (this.popChar()) {\n case \"}\":\n range = {\n atLeast: atLeast,\n atMost: atLeast,\n };\n break;\n case \",\":\n let atMost;\n if (this.isDigit()) {\n atMost = this.integerIncludingZero();\n range = {\n atLeast: atLeast,\n atMost: atMost,\n };\n }\n else {\n range = {\n atLeast: atLeast,\n atMost: Infinity,\n };\n }\n this.consumeChar(\"}\");\n break;\n }\n // throwing exceptions from \"ASSERT_EXISTS\" during backtracking\n // causes severe performance degradations\n if (isBacktracking === true && range === undefined) {\n return undefined;\n }\n ASSERT_EXISTS(range);\n break;\n }\n // throwing exceptions from \"ASSERT_EXISTS\" during backtracking\n // causes severe performance degradations\n if (isBacktracking === true && range === undefined) {\n return undefined;\n }\n // istanbul ignore else\n if (ASSERT_EXISTS(range)) {\n if (this.peekChar(0) === \"?\") {\n this.consumeChar(\"?\");\n range.greedy = false;\n }\n else {\n range.greedy = true;\n }\n range.type = \"Quantifier\";\n range.loc = this.loc(begin);\n return range;\n }\n }\n atom() {\n let atom;\n const begin = this.idx;\n switch (this.peekChar()) {\n case \".\":\n atom = this.dotAll();\n break;\n case \"\\\\\":\n atom = this.atomEscape();\n break;\n case \"[\":\n atom = this.characterClass();\n break;\n case \"(\":\n atom = this.group();\n break;\n }\n if (atom === undefined && this.isPatternCharacter()) {\n atom = this.patternCharacter();\n }\n // istanbul ignore else\n if (ASSERT_EXISTS(atom)) {\n atom.loc = this.loc(begin);\n if (this.isQuantifier()) {\n atom.quantifier = this.quantifier();\n }\n return atom;\n }\n // istanbul ignore next\n return ASSERT_NEVER_REACH_HERE();\n }\n dotAll() {\n this.consumeChar(\".\");\n return {\n type: \"Set\",\n complement: true,\n value: [cc(\"\\n\"), cc(\"\\r\"), cc(\"\\u2028\"), cc(\"\\u2029\")],\n };\n }\n atomEscape() {\n this.consumeChar(\"\\\\\");\n switch (this.peekChar()) {\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n return this.decimalEscapeAtom();\n case \"d\":\n case \"D\":\n case \"s\":\n case \"S\":\n case \"w\":\n case \"W\":\n return this.characterClassEscape();\n case \"f\":\n case \"n\":\n case \"r\":\n case \"t\":\n case \"v\":\n return this.controlEscapeAtom();\n case \"c\":\n return this.controlLetterEscapeAtom();\n case \"0\":\n return this.nulCharacterAtom();\n case \"x\":\n return this.hexEscapeSequenceAtom();\n case \"u\":\n return this.regExpUnicodeEscapeSequenceAtom();\n default:\n return this.identityEscapeAtom();\n }\n }\n decimalEscapeAtom() {\n const value = this.positiveInteger();\n return { type: \"GroupBackReference\", value: value };\n }\n characterClassEscape() {\n let set;\n let complement = false;\n switch (this.popChar()) {\n case \"d\":\n set = digitsCharCodes;\n break;\n case \"D\":\n set = digitsCharCodes;\n complement = true;\n break;\n case \"s\":\n set = whitespaceCodes;\n break;\n case \"S\":\n set = whitespaceCodes;\n complement = true;\n break;\n case \"w\":\n set = wordCharCodes;\n break;\n case \"W\":\n set = wordCharCodes;\n complement = true;\n break;\n }\n // istanbul ignore else\n if (ASSERT_EXISTS(set)) {\n return { type: \"Set\", value: set, complement: complement };\n }\n // istanbul ignore next\n return ASSERT_NEVER_REACH_HERE();\n }\n controlEscapeAtom() {\n let escapeCode;\n switch (this.popChar()) {\n case \"f\":\n escapeCode = cc(\"\\f\");\n break;\n case \"n\":\n escapeCode = cc(\"\\n\");\n break;\n case \"r\":\n escapeCode = cc(\"\\r\");\n break;\n case \"t\":\n escapeCode = cc(\"\\t\");\n break;\n case \"v\":\n escapeCode = cc(\"\\v\");\n break;\n }\n // istanbul ignore else\n if (ASSERT_EXISTS(escapeCode)) {\n return { type: \"Character\", value: escapeCode };\n }\n // istanbul ignore next\n return ASSERT_NEVER_REACH_HERE();\n }\n controlLetterEscapeAtom() {\n this.consumeChar(\"c\");\n const letter = this.popChar();\n if (/[a-zA-Z]/.test(letter) === false) {\n throw Error(\"Invalid \");\n }\n const letterCode = letter.toUpperCase().charCodeAt(0) - 64;\n return { type: \"Character\", value: letterCode };\n }\n nulCharacterAtom() {\n // TODO implement '[lookahead ∉ DecimalDigit]'\n // TODO: for the deprecated octal escape sequence\n this.consumeChar(\"0\");\n return { type: \"Character\", value: cc(\"\\0\") };\n }\n hexEscapeSequenceAtom() {\n this.consumeChar(\"x\");\n return this.parseHexDigits(2);\n }\n regExpUnicodeEscapeSequenceAtom() {\n this.consumeChar(\"u\");\n return this.parseHexDigits(4);\n }\n identityEscapeAtom() {\n // TODO: implement \"SourceCharacter but not UnicodeIDContinue\"\n // // http://unicode.org/reports/tr31/#Specific_Character_Adjustments\n const escapedChar = this.popChar();\n return { type: \"Character\", value: cc(escapedChar) };\n }\n classPatternCharacterAtom() {\n switch (this.peekChar()) {\n // istanbul ignore next\n case \"\\n\":\n // istanbul ignore next\n case \"\\r\":\n // istanbul ignore next\n case \"\\u2028\":\n // istanbul ignore next\n case \"\\u2029\":\n // istanbul ignore next\n case \"\\\\\":\n // istanbul ignore next\n case \"]\":\n throw Error(\"TBD\");\n default:\n const nextChar = this.popChar();\n return { type: \"Character\", value: cc(nextChar) };\n }\n }\n characterClass() {\n const set = [];\n let complement = false;\n this.consumeChar(\"[\");\n if (this.peekChar(0) === \"^\") {\n this.consumeChar(\"^\");\n complement = true;\n }\n while (this.isClassAtom()) {\n const from = this.classAtom();\n const isFromSingleChar = from.type === \"Character\";\n if (isCharacter(from) && this.isRangeDash()) {\n this.consumeChar(\"-\");\n const to = this.classAtom();\n const isToSingleChar = to.type === \"Character\";\n // a range can only be used when both sides are single characters\n if (isCharacter(to)) {\n if (to.value < from.value) {\n throw Error(\"Range out of order in character class\");\n }\n set.push({ from: from.value, to: to.value });\n }\n else {\n // literal dash\n insertToSet(from.value, set);\n set.push(cc(\"-\"));\n insertToSet(to.value, set);\n }\n }\n else {\n insertToSet(from.value, set);\n }\n }\n this.consumeChar(\"]\");\n return { type: \"Set\", complement: complement, value: set };\n }\n classAtom() {\n switch (this.peekChar()) {\n // istanbul ignore next\n case \"]\":\n // istanbul ignore next\n case \"\\n\":\n // istanbul ignore next\n case \"\\r\":\n // istanbul ignore next\n case \"\\u2028\":\n // istanbul ignore next\n case \"\\u2029\":\n throw Error(\"TBD\");\n case \"\\\\\":\n return this.classEscape();\n default:\n return this.classPatternCharacterAtom();\n }\n }\n classEscape() {\n this.consumeChar(\"\\\\\");\n switch (this.peekChar()) {\n // Matches a backspace.\n // (Not to be confused with \\b word boundary outside characterClass)\n case \"b\":\n this.consumeChar(\"b\");\n return { type: \"Character\", value: cc(\"\\u0008\") };\n case \"d\":\n case \"D\":\n case \"s\":\n case \"S\":\n case \"w\":\n case \"W\":\n return this.characterClassEscape();\n case \"f\":\n case \"n\":\n case \"r\":\n case \"t\":\n case \"v\":\n return this.controlEscapeAtom();\n case \"c\":\n return this.controlLetterEscapeAtom();\n case \"0\":\n return this.nulCharacterAtom();\n case \"x\":\n return this.hexEscapeSequenceAtom();\n case \"u\":\n return this.regExpUnicodeEscapeSequenceAtom();\n default:\n return this.identityEscapeAtom();\n }\n }\n group() {\n let capturing = true;\n this.consumeChar(\"(\");\n switch (this.peekChar(0)) {\n case \"?\":\n this.consumeChar(\"?\");\n this.consumeChar(\":\");\n capturing = false;\n break;\n default:\n this.groupIdx++;\n break;\n }\n const value = this.disjunction();\n this.consumeChar(\")\");\n const groupAst = {\n type: \"Group\",\n capturing: capturing,\n value: value,\n };\n if (capturing) {\n groupAst[\"idx\"] = this.groupIdx;\n }\n return groupAst;\n }\n positiveInteger() {\n let number = this.popChar();\n // istanbul ignore next - can't ever get here due to previous lookahead checks\n // still implementing this error checking in case this ever changes.\n if (decimalPatternNoZero.test(number) === false) {\n throw Error(\"Expecting a positive integer\");\n }\n while (decimalPattern.test(this.peekChar(0))) {\n number += this.popChar();\n }\n return parseInt(number, 10);\n }\n integerIncludingZero() {\n let number = this.popChar();\n if (decimalPattern.test(number) === false) {\n throw Error(\"Expecting an integer\");\n }\n while (decimalPattern.test(this.peekChar(0))) {\n number += this.popChar();\n }\n return parseInt(number, 10);\n }\n patternCharacter() {\n const nextChar = this.popChar();\n switch (nextChar) {\n // istanbul ignore next\n case \"\\n\":\n // istanbul ignore next\n case \"\\r\":\n // istanbul ignore next\n case \"\\u2028\":\n // istanbul ignore next\n case \"\\u2029\":\n // istanbul ignore next\n case \"^\":\n // istanbul ignore next\n case \"$\":\n // istanbul ignore next\n case \"\\\\\":\n // istanbul ignore next\n case \".\":\n // istanbul ignore next\n case \"*\":\n // istanbul ignore next\n case \"+\":\n // istanbul ignore next\n case \"?\":\n // istanbul ignore next\n case \"(\":\n // istanbul ignore next\n case \")\":\n // istanbul ignore next\n case \"[\":\n // istanbul ignore next\n case \"|\":\n // istanbul ignore next\n throw Error(\"TBD\");\n default:\n return { type: \"Character\", value: cc(nextChar) };\n }\n }\n isRegExpFlag() {\n switch (this.peekChar(0)) {\n case \"g\":\n case \"i\":\n case \"m\":\n case \"u\":\n case \"y\":\n return true;\n default:\n return false;\n }\n }\n isRangeDash() {\n return this.peekChar() === \"-\" && this.isClassAtom(1);\n }\n isDigit() {\n return decimalPattern.test(this.peekChar(0));\n }\n isClassAtom(howMuch = 0) {\n switch (this.peekChar(howMuch)) {\n case \"]\":\n case \"\\n\":\n case \"\\r\":\n case \"\\u2028\":\n case \"\\u2029\":\n return false;\n default:\n return true;\n }\n }\n isTerm() {\n return this.isAtom() || this.isAssertion();\n }\n isAtom() {\n if (this.isPatternCharacter()) {\n return true;\n }\n switch (this.peekChar(0)) {\n case \".\":\n case \"\\\\\": // atomEscape\n case \"[\": // characterClass\n // TODO: isAtom must be called before isAssertion - disambiguate\n case \"(\": // group\n return true;\n default:\n return false;\n }\n }\n isAssertion() {\n switch (this.peekChar(0)) {\n case \"^\":\n case \"$\":\n return true;\n // '\\b' or '\\B'\n case \"\\\\\":\n switch (this.peekChar(1)) {\n case \"b\":\n case \"B\":\n return true;\n default:\n return false;\n }\n // '(?=' or '(?!'\n case \"(\":\n return (this.peekChar(1) === \"?\" &&\n (this.peekChar(2) === \"=\" || this.peekChar(2) === \"!\"));\n default:\n return false;\n }\n }\n isQuantifier() {\n const prevState = this.saveState();\n try {\n return this.quantifier(true) !== undefined;\n }\n catch (e) {\n return false;\n }\n finally {\n this.restoreState(prevState);\n }\n }\n isPatternCharacter() {\n switch (this.peekChar()) {\n case \"^\":\n case \"$\":\n case \"\\\\\":\n case \".\":\n case \"*\":\n case \"+\":\n case \"?\":\n case \"(\":\n case \")\":\n case \"[\":\n case \"|\":\n case \"/\":\n case \"\\n\":\n case \"\\r\":\n case \"\\u2028\":\n case \"\\u2029\":\n return false;\n default:\n return true;\n }\n }\n parseHexDigits(howMany) {\n let hexString = \"\";\n for (let i = 0; i < howMany; i++) {\n const hexChar = this.popChar();\n if (hexDigitPattern.test(hexChar) === false) {\n throw Error(\"Expecting a HexDecimal digits\");\n }\n hexString += hexChar;\n }\n const charCode = parseInt(hexString, 16);\n return { type: \"Character\", value: charCode };\n }\n peekChar(howMuch = 0) {\n return this.input[this.idx + howMuch];\n }\n popChar() {\n const nextChar = this.peekChar(0);\n this.consumeChar(undefined);\n return nextChar;\n }\n consumeChar(char) {\n if (char !== undefined && this.input[this.idx] !== char) {\n throw Error(\"Expected: '\" +\n char +\n \"' but found: '\" +\n this.input[this.idx] +\n \"' at offset: \" +\n this.idx);\n }\n if (this.idx >= this.input.length) {\n throw Error(\"Unexpected end of input\");\n }\n this.idx++;\n }\n loc(begin) {\n return { begin: begin, end: this.idx };\n }\n}\n//# sourceMappingURL=regexp-parser.js.map", + "export class BaseRegExpVisitor {\n visitChildren(node) {\n for (const key in node) {\n const child = node[key];\n /* istanbul ignore else */\n if (node.hasOwnProperty(key)) {\n if (child.type !== undefined) {\n this.visit(child);\n }\n else if (Array.isArray(child)) {\n child.forEach((subChild) => {\n this.visit(subChild);\n }, this);\n }\n }\n }\n }\n visit(node) {\n switch (node.type) {\n case \"Pattern\":\n this.visitPattern(node);\n break;\n case \"Flags\":\n this.visitFlags(node);\n break;\n case \"Disjunction\":\n this.visitDisjunction(node);\n break;\n case \"Alternative\":\n this.visitAlternative(node);\n break;\n case \"StartAnchor\":\n this.visitStartAnchor(node);\n break;\n case \"EndAnchor\":\n this.visitEndAnchor(node);\n break;\n case \"WordBoundary\":\n this.visitWordBoundary(node);\n break;\n case \"NonWordBoundary\":\n this.visitNonWordBoundary(node);\n break;\n case \"Lookahead\":\n this.visitLookahead(node);\n break;\n case \"NegativeLookahead\":\n this.visitNegativeLookahead(node);\n break;\n case \"Character\":\n this.visitCharacter(node);\n break;\n case \"Set\":\n this.visitSet(node);\n break;\n case \"Group\":\n this.visitGroup(node);\n break;\n case \"GroupBackReference\":\n this.visitGroupBackReference(node);\n break;\n case \"Quantifier\":\n this.visitQuantifier(node);\n break;\n }\n this.visitChildren(node);\n }\n visitPattern(node) { }\n visitFlags(node) { }\n visitDisjunction(node) { }\n visitAlternative(node) { }\n // Assertion\n visitStartAnchor(node) { }\n visitEndAnchor(node) { }\n visitWordBoundary(node) { }\n visitNonWordBoundary(node) { }\n visitLookahead(node) { }\n visitNegativeLookahead(node) { }\n // atoms\n visitCharacter(node) { }\n visitSet(node) { }\n visitGroup(node) { }\n visitGroupBackReference(node) { }\n visitQuantifier(node) { }\n}\n//# sourceMappingURL=base-regexp-visitor.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { RegExpParser, BaseRegExpVisitor } from '@chevrotain/regexp-to-ast';\nexport const NEWLINE_REGEXP = /\\r?\\n/gm;\nconst regexpParser = new RegExpParser();\n/**\n * This class is in charge of heuristically identifying start/end tokens of terminals.\n *\n * The way this works is by doing the following:\n * 1. Traverse the regular expression in the \"start state\"\n * 2. Add any encountered sets/single characters to the \"start regexp\"\n * 3. Once we encounter any variable-length content (i.e. with quantifiers such as +/?/*), we enter the \"end state\"\n * 4. In the end state, any sets/single characters are added to an \"end stack\".\n * 5. If we re-encounter any variable-length content we reset the end stack\n * 6. We continue visiting the regex until the end, reseting the end stack and rebuilding it as necessary\n *\n * After traversing a regular expression the `startRegexp/endRegexp` properties allow access to the stored start/end of the terminal\n */\nclass TerminalRegExpVisitor extends BaseRegExpVisitor {\n constructor() {\n super(...arguments);\n this.isStarting = true;\n this.endRegexpStack = [];\n this.multiline = false;\n }\n get endRegex() {\n return this.endRegexpStack.join('');\n }\n reset(regex) {\n this.multiline = false;\n this.regex = regex;\n this.startRegexp = '';\n this.isStarting = true;\n this.endRegexpStack = [];\n }\n visitGroup(node) {\n if (node.quantifier) {\n this.isStarting = false;\n this.endRegexpStack = [];\n }\n }\n visitCharacter(node) {\n const char = String.fromCharCode(node.value);\n if (!this.multiline && char === '\\n') {\n this.multiline = true;\n }\n if (node.quantifier) {\n this.isStarting = false;\n this.endRegexpStack = [];\n }\n else {\n const escapedChar = escapeRegExp(char);\n this.endRegexpStack.push(escapedChar);\n if (this.isStarting) {\n this.startRegexp += escapedChar;\n }\n }\n }\n visitSet(node) {\n if (!this.multiline) {\n const set = this.regex.substring(node.loc.begin, node.loc.end);\n const regex = new RegExp(set);\n this.multiline = Boolean('\\n'.match(regex));\n }\n if (node.quantifier) {\n this.isStarting = false;\n this.endRegexpStack = [];\n }\n else {\n const set = this.regex.substring(node.loc.begin, node.loc.end);\n this.endRegexpStack.push(set);\n if (this.isStarting) {\n this.startRegexp += set;\n }\n }\n }\n visitChildren(node) {\n if (node.type === 'Group') {\n // Ignore children of groups with quantifier (+/*/?)\n // These groups are unrelated to start/end tokens of terminals\n const group = node;\n if (group.quantifier) {\n return;\n }\n }\n super.visitChildren(node);\n }\n}\nconst visitor = new TerminalRegExpVisitor();\nexport function getTerminalParts(regexp) {\n try {\n if (typeof regexp !== 'string') {\n regexp = regexp.source;\n }\n regexp = `/${regexp}/`;\n const pattern = regexpParser.pattern(regexp);\n const parts = [];\n for (const alternative of pattern.value.value) {\n visitor.reset(regexp);\n visitor.visit(alternative);\n parts.push({\n start: visitor.startRegexp,\n end: visitor.endRegex\n });\n }\n return parts;\n }\n catch (_a) {\n return [];\n }\n}\nexport function isMultilineComment(regexp) {\n try {\n if (typeof regexp === 'string') {\n regexp = new RegExp(regexp);\n }\n regexp = regexp.toString();\n visitor.reset(regexp);\n // Parsing the pattern might fail (since it's user code)\n visitor.visit(regexpParser.pattern(regexp));\n return visitor.multiline;\n }\n catch (_a) {\n return false;\n }\n}\n/**\n * A set of all characters that are considered whitespace by the '\\s' RegExp character class.\n * Taken from [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions/Character_classes).\n */\nexport const whitespaceCharacters = ('\\f\\n\\r\\t\\v\\u0020\\u00a0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007' +\n '\\u2008\\u2009\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff').split('');\nexport function isWhitespace(value) {\n const regexp = typeof value === 'string' ? new RegExp(value) : value;\n return whitespaceCharacters.some((ws) => regexp.test(ws));\n}\nexport function escapeRegExp(value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\nexport function getCaseInsensitivePattern(keyword) {\n return Array.prototype.map.call(keyword, letter => /\\w/.test(letter) ? `[${letter.toLowerCase()}${letter.toUpperCase()}]` : escapeRegExp(letter)).join('');\n}\n/**\n * Determines whether the given input has a partial match with the specified regex.\n * @param regex The regex to partially match against\n * @param input The input string\n * @returns Whether any match exists.\n */\nexport function partialMatches(regex, input) {\n const partial = partialRegExp(regex);\n const match = input.match(partial);\n return !!match && match[0].length > 0;\n}\n/**\n * Builds a partial regex from the input regex. A partial regex is able to match incomplete input strings. E.g.\n * a partial regex constructed from `/ab/` is able to match the string `a` without needing a following `b` character. However it won't match `b` alone.\n * @param regex The input regex to be converted.\n * @returns A partial regex constructed from the input regex.\n */\nexport function partialRegExp(regex) {\n if (typeof regex === 'string') {\n regex = new RegExp(regex);\n }\n const re = regex, source = regex.source;\n let i = 0;\n function process() {\n let result = '', tmp;\n function appendRaw(nbChars) {\n result += source.substr(i, nbChars);\n i += nbChars;\n }\n function appendOptional(nbChars) {\n result += '(?:' + source.substr(i, nbChars) + '|$)';\n i += nbChars;\n }\n while (i < source.length) {\n switch (source[i]) {\n case '\\\\':\n switch (source[i + 1]) {\n case 'c':\n appendOptional(3);\n break;\n case 'x':\n appendOptional(4);\n break;\n case 'u':\n if (re.unicode) {\n if (source[i + 2] === '{') {\n appendOptional(source.indexOf('}', i) - i + 1);\n }\n else {\n appendOptional(6);\n }\n }\n else {\n appendOptional(2);\n }\n break;\n case 'p':\n case 'P':\n if (re.unicode) {\n appendOptional(source.indexOf('}', i) - i + 1);\n }\n else {\n appendOptional(2);\n }\n break;\n case 'k':\n appendOptional(source.indexOf('>', i) - i + 1);\n break;\n default:\n appendOptional(2);\n break;\n }\n break;\n case '[':\n tmp = /\\[(?:\\\\.|.)*?\\]/g;\n tmp.lastIndex = i;\n tmp = tmp.exec(source) || [];\n appendOptional(tmp[0].length);\n break;\n case '|':\n case '^':\n case '$':\n case '*':\n case '+':\n case '?':\n appendRaw(1);\n break;\n case '{':\n tmp = /\\{\\d+,?\\d*\\}/g;\n tmp.lastIndex = i;\n tmp = tmp.exec(source);\n if (tmp) {\n appendRaw(tmp[0].length);\n }\n else {\n appendOptional(1);\n }\n break;\n case '(':\n if (source[i + 1] === '?') {\n switch (source[i + 2]) {\n case ':':\n result += '(?:';\n i += 3;\n result += process() + '|$)';\n break;\n case '=':\n result += '(?=';\n i += 3;\n result += process() + ')';\n break;\n case '!':\n tmp = i;\n i += 3;\n process();\n result += source.substr(tmp, i - tmp);\n break;\n case '<':\n switch (source[i + 3]) {\n case '=':\n case '!':\n tmp = i;\n i += 4;\n process();\n result += source.substr(tmp, i - tmp);\n break;\n default:\n appendRaw(source.indexOf('>', i) - i + 1);\n result += process() + '|$)';\n break;\n }\n break;\n }\n }\n else {\n appendRaw(1);\n result += process() + '|$)';\n }\n break;\n case ')':\n ++i;\n return result;\n default:\n appendOptional(1);\n break;\n }\n }\n return result;\n }\n return new RegExp(process(), regex.flags);\n}\n//# sourceMappingURL=regexp-utils.js.map", + "/******************************************************************************\n * Copyright 2021-2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { assertUnreachable } from '../utils/errors.js';\nimport * as ast from '../languages/generated/ast.js';\nimport { isCompositeCstNode } from '../syntax-tree.js';\nimport { getContainerOfType, streamAllContents } from './ast-utils.js';\nimport { streamCst } from './cst-utils.js';\nimport { escapeRegExp, isWhitespace } from './regexp-utils.js';\n/**\n * Returns the entry rule of the given grammar, if any. If the grammar file does not contain an entry rule,\n * the result is `undefined`.\n */\nexport function getEntryRule(grammar) {\n return grammar.rules.find(e => ast.isParserRule(e) && e.entry);\n}\n/**\n * Returns all hidden terminal rules of the given grammar, if any.\n */\nexport function getHiddenRules(grammar) {\n return grammar.rules.filter((e) => ast.isTerminalRule(e) && e.hidden);\n}\n/**\n * Returns all rules that can be reached from the topmost rules of the specified grammar (entry and hidden terminal rules).\n *\n * @param grammar The grammar that contains all rules\n * @param allTerminals Whether or not to include terminals that are referenced only by other terminals\n * @returns A list of referenced parser and terminal rules. If the grammar contains no entry rule,\n * this function returns all rules of the specified grammar.\n */\nexport function getAllReachableRules(grammar, allTerminals) {\n const ruleNames = new Set();\n const entryRule = getEntryRule(grammar);\n if (!entryRule) {\n return new Set(grammar.rules);\n }\n const topMostRules = [entryRule].concat(getHiddenRules(grammar));\n for (const rule of topMostRules) {\n ruleDfs(rule, ruleNames, allTerminals);\n }\n const rules = new Set();\n for (const rule of grammar.rules) {\n if (ruleNames.has(rule.name) || (ast.isTerminalRule(rule) && rule.hidden)) {\n rules.add(rule);\n }\n }\n return rules;\n}\nfunction ruleDfs(rule, visitedSet, allTerminals) {\n visitedSet.add(rule.name);\n streamAllContents(rule).forEach(node => {\n if (ast.isRuleCall(node) || (allTerminals && ast.isTerminalRuleCall(node))) {\n const refRule = node.rule.ref;\n if (refRule && !visitedSet.has(refRule.name)) {\n ruleDfs(refRule, visitedSet, allTerminals);\n }\n }\n });\n}\n/**\n * Determines the grammar expression used to parse a cross-reference (usually a reference to a terminal rule).\n * A cross-reference can declare this expression explicitly in the form `[Type : Terminal]`, but if `Terminal`\n * is omitted, this function attempts to infer it from the name of the referenced `Type` (using `findNameAssignment`).\n *\n * Returns the grammar expression used to parse the given cross-reference, or `undefined` if it is not declared\n * and cannot be inferred.\n */\nexport function getCrossReferenceTerminal(crossRef) {\n if (crossRef.terminal) {\n return crossRef.terminal;\n }\n else if (crossRef.type.ref) {\n const nameAssigment = findNameAssignment(crossRef.type.ref);\n return nameAssigment === null || nameAssigment === void 0 ? void 0 : nameAssigment.terminal;\n }\n return undefined;\n}\n/**\n * Determines whether the given terminal rule represents a comment. This is true if the rule is marked\n * as `hidden` and it does not match white space. This means every hidden token (i.e. excluded from the AST)\n * that contains visible characters is considered a comment.\n */\nexport function isCommentTerminal(terminalRule) {\n return terminalRule.hidden && !isWhitespace(terminalRegex(terminalRule));\n}\n/**\n * Find all CST nodes within the given node that contribute to the specified property.\n *\n * @param node A CST node in which to look for property assignments. If this is undefined, the result is an empty array.\n * @param property A property name of the constructed AST node. If this is undefined, the result is an empty array.\n */\nexport function findNodesForProperty(node, property) {\n if (!node || !property) {\n return [];\n }\n return findNodesForPropertyInternal(node, property, node.astNode, true);\n}\n/**\n * Find a single CST node within the given node that contributes to the specified property.\n *\n * @param node A CST node in which to look for property assignments. If this is undefined, the result is `undefined`.\n * @param property A property name of the constructed AST node. If this is undefined, the result is `undefined`.\n * @param index If no index is specified or the index is less than zero, the first found node is returned. If the\n * specified index exceeds the number of assignments to the property, the last found node is returned. Otherwise,\n * the node with the specified index is returned.\n */\nexport function findNodeForProperty(node, property, index) {\n if (!node || !property) {\n return undefined;\n }\n const nodes = findNodesForPropertyInternal(node, property, node.astNode, true);\n if (nodes.length === 0) {\n return undefined;\n }\n if (index !== undefined) {\n index = Math.max(0, Math.min(index, nodes.length - 1));\n }\n else {\n index = 0;\n }\n return nodes[index];\n}\nfunction findNodesForPropertyInternal(node, property, element, first) {\n if (!first) {\n const nodeFeature = getContainerOfType(node.grammarSource, ast.isAssignment);\n if (nodeFeature && nodeFeature.feature === property) {\n return [node];\n }\n }\n if (isCompositeCstNode(node) && node.astNode === element) {\n return node.content.flatMap(e => findNodesForPropertyInternal(e, property, element, false));\n }\n return [];\n}\n/**\n * Find all CST nodes within the given node that correspond to the specified keyword.\n *\n * @param node A CST node in which to look for keywords. If this is undefined, the result is an empty array.\n * @param keyword A keyword as specified in the grammar.\n */\nexport function findNodesForKeyword(node, keyword) {\n if (!node) {\n return [];\n }\n return findNodesForKeywordInternal(node, keyword, node === null || node === void 0 ? void 0 : node.astNode);\n}\n/**\n * Find a single CST node within the given node that corresponds to the specified keyword.\n *\n * @param node A CST node in which to look for keywords. If this is undefined, the result is `undefined`.\n * @param keyword A keyword as specified in the grammar.\n * @param index If no index is specified or the index is less than zero, the first found node is returned. If the\n * specified index exceeds the number of keyword occurrences, the last found node is returned. Otherwise,\n * the node with the specified index is returned.\n */\nexport function findNodeForKeyword(node, keyword, index) {\n if (!node) {\n return undefined;\n }\n const nodes = findNodesForKeywordInternal(node, keyword, node === null || node === void 0 ? void 0 : node.astNode);\n if (nodes.length === 0) {\n return undefined;\n }\n if (index !== undefined) {\n index = Math.max(0, Math.min(index, nodes.length - 1));\n }\n else {\n index = 0;\n }\n return nodes[index];\n}\nexport function findNodesForKeywordInternal(node, keyword, element) {\n if (node.astNode !== element) {\n return [];\n }\n if (ast.isKeyword(node.grammarSource) && node.grammarSource.value === keyword) {\n return [node];\n }\n const treeIterator = streamCst(node).iterator();\n let result;\n const keywordNodes = [];\n do {\n result = treeIterator.next();\n if (!result.done) {\n const childNode = result.value;\n if (childNode.astNode === element) {\n if (ast.isKeyword(childNode.grammarSource) && childNode.grammarSource.value === keyword) {\n keywordNodes.push(childNode);\n }\n }\n else {\n treeIterator.prune();\n }\n }\n } while (!result.done);\n return keywordNodes;\n}\n/**\n * If the given CST node was parsed in the context of a property assignment, the respective `Assignment` grammar\n * node is returned. If no assignment is found, the result is `undefined`.\n *\n * @param cstNode A CST node for which to find a property assignment.\n */\nexport function findAssignment(cstNode) {\n var _a;\n const astNode = cstNode.astNode;\n // Only search until the ast node of the parent cst node is no longer the original ast node\n // This would make us jump to a preceding rule call, which contains only unrelated assignments\n while (astNode === ((_a = cstNode.container) === null || _a === void 0 ? void 0 : _a.astNode)) {\n const assignment = getContainerOfType(cstNode.grammarSource, ast.isAssignment);\n if (assignment) {\n return assignment;\n }\n cstNode = cstNode.container;\n }\n return undefined;\n}\n/**\n * Find an assignment to the `name` property for the given grammar type. This requires the `type` to be inferred\n * from a parser rule, and that rule must contain an assignment to the `name` property. In all other cases,\n * this function returns `undefined`.\n */\nexport function findNameAssignment(type) {\n let startNode = type;\n if (ast.isInferredType(startNode)) {\n // for inferred types, the location to start searching for the name-assignment is different\n if (ast.isAction(startNode.$container)) {\n // a type which is explicitly inferred by an action: investigate the sibbling of the Action node, i.e. start searching at the Action's parent\n startNode = startNode.$container.$container;\n }\n else if (ast.isParserRule(startNode.$container)) {\n // investigate the parser rule with the explicitly inferred type\n startNode = startNode.$container;\n }\n else {\n assertUnreachable(startNode.$container);\n }\n }\n return findNameAssignmentInternal(type, startNode, new Map());\n}\nfunction findNameAssignmentInternal(type, startNode, cache) {\n var _a;\n // the cache is only required to prevent infinite loops\n function go(node, refType) {\n let childAssignment = undefined;\n const parentAssignment = getContainerOfType(node, ast.isAssignment);\n // No parent assignment implies unassigned rule call\n if (!parentAssignment) {\n childAssignment = findNameAssignmentInternal(refType, refType, cache);\n }\n cache.set(type, childAssignment);\n return childAssignment;\n }\n if (cache.has(type)) {\n return cache.get(type);\n }\n cache.set(type, undefined);\n for (const node of streamAllContents(startNode)) {\n if (ast.isAssignment(node) && node.feature.toLowerCase() === 'name') {\n cache.set(type, node);\n return node;\n }\n else if (ast.isRuleCall(node) && ast.isParserRule(node.rule.ref)) {\n return go(node, node.rule.ref);\n }\n else if (ast.isSimpleType(node) && ((_a = node.typeRef) === null || _a === void 0 ? void 0 : _a.ref)) {\n return go(node, node.typeRef.ref);\n }\n }\n return undefined;\n}\nexport function getActionAtElement(element) {\n const parent = element.$container;\n if (ast.isGroup(parent)) {\n const elements = parent.elements;\n const index = elements.indexOf(element);\n for (let i = index - 1; i >= 0; i--) {\n const item = elements[i];\n if (ast.isAction(item)) {\n return item;\n }\n else {\n const action = streamAllContents(elements[i]).find(ast.isAction);\n if (action) {\n return action;\n }\n }\n }\n }\n if (ast.isAbstractElement(parent)) {\n return getActionAtElement(parent);\n }\n else {\n return undefined;\n }\n}\nexport function isOptionalCardinality(cardinality, element) {\n return cardinality === '?' || cardinality === '*' || (ast.isGroup(element) && Boolean(element.guardCondition));\n}\nexport function isArrayCardinality(cardinality) {\n return cardinality === '*' || cardinality === '+';\n}\nexport function isArrayOperator(operator) {\n return operator === '+=';\n}\n/**\n * Determines whether the given parser rule is a _data type rule_, meaning that it has a\n * primitive return type like `number`, `boolean`, etc.\n */\nexport function isDataTypeRule(rule) {\n return isDataTypeRuleInternal(rule, new Set());\n}\nfunction isDataTypeRuleInternal(rule, visited) {\n if (visited.has(rule)) {\n return true;\n }\n else {\n visited.add(rule);\n }\n for (const node of streamAllContents(rule)) {\n if (ast.isRuleCall(node)) {\n if (!node.rule.ref) {\n // RuleCall to unresolved rule. Don't assume `rule` is a DataType rule.\n return false;\n }\n if (ast.isParserRule(node.rule.ref) && !isDataTypeRuleInternal(node.rule.ref, visited)) {\n return false;\n }\n }\n else if (ast.isAssignment(node)) {\n return false;\n }\n else if (ast.isAction(node)) {\n return false;\n }\n }\n return Boolean(rule.definition);\n}\nexport function isDataType(type) {\n return isDataTypeInternal(type.type, new Set());\n}\nfunction isDataTypeInternal(type, visited) {\n if (visited.has(type)) {\n return true;\n }\n else {\n visited.add(type);\n }\n if (ast.isArrayType(type)) {\n return false;\n }\n else if (ast.isReferenceType(type)) {\n return false;\n }\n else if (ast.isUnionType(type)) {\n return type.types.every(e => isDataTypeInternal(e, visited));\n }\n else if (ast.isSimpleType(type)) {\n if (type.primitiveType !== undefined) {\n return true;\n }\n else if (type.stringType !== undefined) {\n return true;\n }\n else if (type.typeRef !== undefined) {\n const ref = type.typeRef.ref;\n if (ast.isType(ref)) {\n return isDataTypeInternal(ref.type, visited);\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n }\n else {\n return false;\n }\n}\nexport function getExplicitRuleType(rule) {\n if (rule.inferredType) {\n return rule.inferredType.name;\n }\n else if (rule.dataType) {\n return rule.dataType;\n }\n else if (rule.returnType) {\n const refType = rule.returnType.ref;\n if (refType) {\n // check if we need to check Action as return type\n if (ast.isParserRule(refType)) {\n return refType.name;\n }\n else if (ast.isInterface(refType) || ast.isType(refType)) {\n return refType.name;\n }\n }\n }\n return undefined;\n}\nexport function getTypeName(type) {\n var _a;\n if (ast.isParserRule(type)) {\n return isDataTypeRule(type) ? type.name : (_a = getExplicitRuleType(type)) !== null && _a !== void 0 ? _a : type.name;\n }\n else if (ast.isInterface(type) || ast.isType(type) || ast.isReturnType(type)) {\n return type.name;\n }\n else if (ast.isAction(type)) {\n const actionType = getActionType(type);\n if (actionType) {\n return actionType;\n }\n }\n else if (ast.isInferredType(type)) {\n return type.name;\n }\n throw new Error('Cannot get name of Unknown Type');\n}\nexport function getActionType(action) {\n var _a;\n if (action.inferredType) {\n return action.inferredType.name;\n }\n else if ((_a = action.type) === null || _a === void 0 ? void 0 : _a.ref) {\n return getTypeName(action.type.ref);\n }\n return undefined; // not inferring and not referencing a valid type\n}\n/**\n * This function is used at development time (for code generation and the internal type system) to get the type of the AST node produced by the given rule.\n * For data type rules, the name of the rule is returned,\n * e.g. \"INT_value returns number: MY_INT;\" returns \"INT_value\".\n * @param rule the given rule\n * @returns the name of the AST node type of the rule\n */\nexport function getRuleTypeName(rule) {\n var _a, _b, _c;\n if (ast.isTerminalRule(rule)) {\n return (_b = (_a = rule.type) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'string';\n }\n else {\n return isDataTypeRule(rule) ? rule.name : (_c = getExplicitRuleType(rule)) !== null && _c !== void 0 ? _c : rule.name;\n }\n}\n/**\n * This function is used at runtime to get the actual type of the values produced by the given rule at runtime.\n * For data type rules, the name of the declared return type of the rule is returned (if any),\n * e.g. \"INT_value returns number: MY_INT;\" returns \"number\".\n * @param rule the given rule\n * @returns the name of the type of the produced values of the rule at runtime\n */\nexport function getRuleType(rule) {\n var _a, _b, _c;\n if (ast.isTerminalRule(rule)) {\n return (_b = (_a = rule.type) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'string';\n }\n else {\n return (_c = getExplicitRuleType(rule)) !== null && _c !== void 0 ? _c : rule.name;\n }\n}\nexport function terminalRegex(terminalRule) {\n const flags = {\n s: false,\n i: false,\n u: false\n };\n const source = abstractElementToRegex(terminalRule.definition, flags);\n const flagText = Object.entries(flags).filter(([, value]) => value).map(([name]) => name).join('');\n return new RegExp(source, flagText);\n}\n// Using [\\s\\S]* allows to match everything, compared to . which doesn't match line terminators\nconst WILDCARD = /[\\s\\S]/.source;\nfunction abstractElementToRegex(element, flags) {\n if (ast.isTerminalAlternatives(element)) {\n return terminalAlternativesToRegex(element);\n }\n else if (ast.isTerminalGroup(element)) {\n return terminalGroupToRegex(element);\n }\n else if (ast.isCharacterRange(element)) {\n return characterRangeToRegex(element);\n }\n else if (ast.isTerminalRuleCall(element)) {\n const rule = element.rule.ref;\n if (!rule) {\n throw new Error('Missing rule reference.');\n }\n return withCardinality(abstractElementToRegex(rule.definition), {\n cardinality: element.cardinality,\n lookahead: element.lookahead\n });\n }\n else if (ast.isNegatedToken(element)) {\n return negateTokenToRegex(element);\n }\n else if (ast.isUntilToken(element)) {\n return untilTokenToRegex(element);\n }\n else if (ast.isRegexToken(element)) {\n const lastSlash = element.regex.lastIndexOf('/');\n const source = element.regex.substring(1, lastSlash);\n const regexFlags = element.regex.substring(lastSlash + 1);\n if (flags) {\n flags.i = regexFlags.includes('i');\n flags.s = regexFlags.includes('s');\n flags.u = regexFlags.includes('u');\n }\n return withCardinality(source, {\n cardinality: element.cardinality,\n lookahead: element.lookahead,\n wrap: false\n });\n }\n else if (ast.isWildcard(element)) {\n return withCardinality(WILDCARD, {\n cardinality: element.cardinality,\n lookahead: element.lookahead\n });\n }\n else {\n throw new Error(`Invalid terminal element: ${element === null || element === void 0 ? void 0 : element.$type}`);\n }\n}\nfunction terminalAlternativesToRegex(alternatives) {\n return withCardinality(alternatives.elements.map(e => abstractElementToRegex(e)).join('|'), {\n cardinality: alternatives.cardinality,\n lookahead: alternatives.lookahead\n });\n}\nfunction terminalGroupToRegex(group) {\n return withCardinality(group.elements.map(e => abstractElementToRegex(e)).join(''), {\n cardinality: group.cardinality,\n lookahead: group.lookahead\n });\n}\nfunction untilTokenToRegex(until) {\n return withCardinality(`${WILDCARD}*?${abstractElementToRegex(until.terminal)}`, {\n cardinality: until.cardinality,\n lookahead: until.lookahead\n });\n}\nfunction negateTokenToRegex(negate) {\n return withCardinality(`(?!${abstractElementToRegex(negate.terminal)})${WILDCARD}*?`, {\n cardinality: negate.cardinality,\n lookahead: negate.lookahead\n });\n}\nfunction characterRangeToRegex(range) {\n if (range.right) {\n return withCardinality(`[${keywordToRegex(range.left)}-${keywordToRegex(range.right)}]`, {\n cardinality: range.cardinality,\n lookahead: range.lookahead,\n wrap: false\n });\n }\n return withCardinality(keywordToRegex(range.left), {\n cardinality: range.cardinality,\n lookahead: range.lookahead,\n wrap: false\n });\n}\nfunction keywordToRegex(keyword) {\n return escapeRegExp(keyword.value);\n}\nfunction withCardinality(regex, options) {\n var _a;\n if (options.wrap !== false || options.lookahead) {\n regex = `(${(_a = options.lookahead) !== null && _a !== void 0 ? _a : ''}${regex})`;\n }\n if (options.cardinality) {\n return `${regex}${options.cardinality}`;\n }\n return regex;\n}\n//# sourceMappingURL=grammar-utils.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { DefaultNameRegexp } from '../utils/cst-utils.js';\nimport { isCommentTerminal, terminalRegex } from '../utils/grammar-utils.js';\nimport { isMultilineComment } from '../utils/regexp-utils.js';\nimport { isTerminalRule } from './generated/ast.js';\n/**\n * Create the default grammar configuration (used by `createDefaultModule`). This can be overridden in a\n * language-specific module.\n */\nexport function createGrammarConfig(services) {\n const rules = [];\n const grammar = services.Grammar;\n for (const rule of grammar.rules) {\n if (isTerminalRule(rule) && isCommentTerminal(rule) && isMultilineComment(terminalRegex(rule))) {\n rules.push(rule.name);\n }\n }\n return {\n multilineCommentRules: rules,\n nameRegexp: DefaultNameRegexp\n };\n}\n//# sourceMappingURL=grammar-config.js.map", + "export function PRINT_ERROR(msg) {\n /* istanbul ignore else - can't override global.console in node.js */\n if (console && console.error) {\n console.error(`Error: ${msg}`);\n }\n}\nexport function PRINT_WARNING(msg) {\n /* istanbul ignore else - can't override global.console in node.js*/\n if (console && console.warn) {\n // TODO: modify docs accordingly\n console.warn(`Warning: ${msg}`);\n }\n}\n//# sourceMappingURL=print.js.map", + "export function timer(func) {\n const start = new Date().getTime();\n const val = func();\n const end = new Date().getTime();\n const total = end - start;\n return { time: total, value: val };\n}\n//# sourceMappingURL=timer.js.map", + "// based on: https://github.com/petkaantonov/bluebird/blob/b97c0d2d487e8c5076e8bd897e0dcd4622d31846/src/util.js#L201-L216\nexport function toFastProperties(toBecomeFast) {\n function FakeConstructor() { }\n // If our object is used as a constructor, it would receive\n FakeConstructor.prototype = toBecomeFast;\n const fakeInstance = new FakeConstructor();\n function fakeAccess() {\n return typeof fakeInstance.bar;\n }\n // help V8 understand this is a \"real\" prototype by actually using\n // the fake instance.\n fakeAccess();\n fakeAccess();\n // Always true condition to suppress the Firefox warning of unreachable\n // code after a return statement.\n if (1)\n return toBecomeFast;\n // Eval prevents optimization of this method (even though this is dead code)\n // - https://esbuild.github.io/content-types/#direct-eval\n /* istanbul ignore next */\n // tslint:disable-next-line\n (0, eval)(toBecomeFast);\n}\n//# sourceMappingURL=to-fast-properties.js.map", + "import { assign, forEach, isRegExp, isString, map, pickBy } from \"lodash-es\";\n// TODO: duplicated code to avoid extracting another sub-package -- how to avoid?\nfunction tokenLabel(tokType) {\n if (hasTokenLabel(tokType)) {\n return tokType.LABEL;\n }\n else {\n return tokType.name;\n }\n}\n// TODO: duplicated code to avoid extracting another sub-package -- how to avoid?\nfunction hasTokenLabel(obj) {\n return isString(obj.LABEL) && obj.LABEL !== \"\";\n}\nexport class AbstractProduction {\n get definition() {\n return this._definition;\n }\n set definition(value) {\n this._definition = value;\n }\n constructor(_definition) {\n this._definition = _definition;\n }\n accept(visitor) {\n visitor.visit(this);\n forEach(this.definition, (prod) => {\n prod.accept(visitor);\n });\n }\n}\nexport class NonTerminal extends AbstractProduction {\n constructor(options) {\n super([]);\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n set definition(definition) {\n // immutable\n }\n get definition() {\n if (this.referencedRule !== undefined) {\n return this.referencedRule.definition;\n }\n return [];\n }\n accept(visitor) {\n visitor.visit(this);\n // don't visit children of a reference, we will get cyclic infinite loops if we do so\n }\n}\nexport class Rule extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.orgText = \"\";\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class Alternative extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.ignoreAmbiguities = false;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class Option extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class RepetitionMandatory extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class RepetitionMandatoryWithSeparator extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class Repetition extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class RepetitionWithSeparator extends AbstractProduction {\n constructor(options) {\n super(options.definition);\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class Alternation extends AbstractProduction {\n get definition() {\n return this._definition;\n }\n set definition(value) {\n this._definition = value;\n }\n constructor(options) {\n super(options.definition);\n this.idx = 1;\n this.ignoreAmbiguities = false;\n this.hasPredicates = false;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n}\nexport class Terminal {\n constructor(options) {\n this.idx = 1;\n assign(this, pickBy(options, (v) => v !== undefined));\n }\n accept(visitor) {\n visitor.visit(this);\n }\n}\nexport function serializeGrammar(topRules) {\n return map(topRules, serializeProduction);\n}\nexport function serializeProduction(node) {\n function convertDefinition(definition) {\n return map(definition, serializeProduction);\n }\n /* istanbul ignore else */\n if (node instanceof NonTerminal) {\n const serializedNonTerminal = {\n type: \"NonTerminal\",\n name: node.nonTerminalName,\n idx: node.idx,\n };\n if (isString(node.label)) {\n serializedNonTerminal.label = node.label;\n }\n return serializedNonTerminal;\n }\n else if (node instanceof Alternative) {\n return {\n type: \"Alternative\",\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof Option) {\n return {\n type: \"Option\",\n idx: node.idx,\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof RepetitionMandatory) {\n return {\n type: \"RepetitionMandatory\",\n idx: node.idx,\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof RepetitionMandatoryWithSeparator) {\n return {\n type: \"RepetitionMandatoryWithSeparator\",\n idx: node.idx,\n separator: (serializeProduction(new Terminal({ terminalType: node.separator }))),\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof RepetitionWithSeparator) {\n return {\n type: \"RepetitionWithSeparator\",\n idx: node.idx,\n separator: (serializeProduction(new Terminal({ terminalType: node.separator }))),\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof Repetition) {\n return {\n type: \"Repetition\",\n idx: node.idx,\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof Alternation) {\n return {\n type: \"Alternation\",\n idx: node.idx,\n definition: convertDefinition(node.definition),\n };\n }\n else if (node instanceof Terminal) {\n const serializedTerminal = {\n type: \"Terminal\",\n name: node.terminalType.name,\n label: tokenLabel(node.terminalType),\n idx: node.idx,\n };\n if (isString(node.label)) {\n serializedTerminal.terminalLabel = node.label;\n }\n const pattern = node.terminalType.PATTERN;\n if (node.terminalType.PATTERN) {\n serializedTerminal.pattern = isRegExp(pattern)\n ? pattern.source\n : pattern;\n }\n return serializedTerminal;\n }\n else if (node instanceof Rule) {\n return {\n type: \"Rule\",\n name: node.name,\n orgText: node.orgText,\n definition: convertDefinition(node.definition),\n };\n /* c8 ignore next 3 */\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\n//# sourceMappingURL=model.js.map", + "import { Alternation, Alternative, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Rule, Terminal, } from \"./model.js\";\nexport class GAstVisitor {\n visit(node) {\n const nodeAny = node;\n switch (nodeAny.constructor) {\n case NonTerminal:\n return this.visitNonTerminal(nodeAny);\n case Alternative:\n return this.visitAlternative(nodeAny);\n case Option:\n return this.visitOption(nodeAny);\n case RepetitionMandatory:\n return this.visitRepetitionMandatory(nodeAny);\n case RepetitionMandatoryWithSeparator:\n return this.visitRepetitionMandatoryWithSeparator(nodeAny);\n case RepetitionWithSeparator:\n return this.visitRepetitionWithSeparator(nodeAny);\n case Repetition:\n return this.visitRepetition(nodeAny);\n case Alternation:\n return this.visitAlternation(nodeAny);\n case Terminal:\n return this.visitTerminal(nodeAny);\n case Rule:\n return this.visitRule(nodeAny);\n /* c8 ignore next 2 */\n default:\n throw Error(\"non exhaustive match\");\n }\n }\n /* c8 ignore next */\n visitNonTerminal(node) { }\n /* c8 ignore next */\n visitAlternative(node) { }\n /* c8 ignore next */\n visitOption(node) { }\n /* c8 ignore next */\n visitRepetition(node) { }\n /* c8 ignore next */\n visitRepetitionMandatory(node) { }\n /* c8 ignore next 3 */\n visitRepetitionMandatoryWithSeparator(node) { }\n /* c8 ignore next */\n visitRepetitionWithSeparator(node) { }\n /* c8 ignore next */\n visitAlternation(node) { }\n /* c8 ignore next */\n visitTerminal(node) { }\n /* c8 ignore next */\n visitRule(node) { }\n}\n//# sourceMappingURL=visitor.js.map", + "import { every, includes, some } from \"lodash-es\";\nimport { AbstractProduction, Alternation, Alternative, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Rule, Terminal, } from \"./model.js\";\nexport function isSequenceProd(prod) {\n return (prod instanceof Alternative ||\n prod instanceof Option ||\n prod instanceof Repetition ||\n prod instanceof RepetitionMandatory ||\n prod instanceof RepetitionMandatoryWithSeparator ||\n prod instanceof RepetitionWithSeparator ||\n prod instanceof Terminal ||\n prod instanceof Rule);\n}\nexport function isOptionalProd(prod, alreadyVisited = []) {\n const isDirectlyOptional = prod instanceof Option ||\n prod instanceof Repetition ||\n prod instanceof RepetitionWithSeparator;\n if (isDirectlyOptional) {\n return true;\n }\n // note that this can cause infinite loop if one optional empty TOP production has a cyclic dependency with another\n // empty optional top rule\n // may be indirectly optional ((A?B?C?) | (D?E?F?))\n if (prod instanceof Alternation) {\n // for OR its enough for just one of the alternatives to be optional\n return some(prod.definition, (subProd) => {\n return isOptionalProd(subProd, alreadyVisited);\n });\n }\n else if (prod instanceof NonTerminal && includes(alreadyVisited, prod)) {\n // avoiding stack overflow due to infinite recursion\n return false;\n }\n else if (prod instanceof AbstractProduction) {\n if (prod instanceof NonTerminal) {\n alreadyVisited.push(prod);\n }\n return every(prod.definition, (subProd) => {\n return isOptionalProd(subProd, alreadyVisited);\n });\n }\n else {\n return false;\n }\n}\nexport function isBranchingProd(prod) {\n return prod instanceof Alternation;\n}\nexport function getProductionDslName(prod) {\n /* istanbul ignore else */\n if (prod instanceof NonTerminal) {\n return \"SUBRULE\";\n }\n else if (prod instanceof Option) {\n return \"OPTION\";\n }\n else if (prod instanceof Alternation) {\n return \"OR\";\n }\n else if (prod instanceof RepetitionMandatory) {\n return \"AT_LEAST_ONE\";\n }\n else if (prod instanceof RepetitionMandatoryWithSeparator) {\n return \"AT_LEAST_ONE_SEP\";\n }\n else if (prod instanceof RepetitionWithSeparator) {\n return \"MANY_SEP\";\n }\n else if (prod instanceof Repetition) {\n return \"MANY\";\n }\n else if (prod instanceof Terminal) {\n return \"CONSUME\";\n /* c8 ignore next 3 */\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\n//# sourceMappingURL=helpers.js.map", + "import { drop, forEach } from \"lodash-es\";\nimport { Alternation, Alternative, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Terminal, } from \"@chevrotain/gast\";\n/**\n * A Grammar Walker that computes the \"remaining\" grammar \"after\" a productions in the grammar.\n */\nexport class RestWalker {\n walk(prod, prevRest = []) {\n forEach(prod.definition, (subProd, index) => {\n const currRest = drop(prod.definition, index + 1);\n /* istanbul ignore else */\n if (subProd instanceof NonTerminal) {\n this.walkProdRef(subProd, currRest, prevRest);\n }\n else if (subProd instanceof Terminal) {\n this.walkTerminal(subProd, currRest, prevRest);\n }\n else if (subProd instanceof Alternative) {\n this.walkFlat(subProd, currRest, prevRest);\n }\n else if (subProd instanceof Option) {\n this.walkOption(subProd, currRest, prevRest);\n }\n else if (subProd instanceof RepetitionMandatory) {\n this.walkAtLeastOne(subProd, currRest, prevRest);\n }\n else if (subProd instanceof RepetitionMandatoryWithSeparator) {\n this.walkAtLeastOneSep(subProd, currRest, prevRest);\n }\n else if (subProd instanceof RepetitionWithSeparator) {\n this.walkManySep(subProd, currRest, prevRest);\n }\n else if (subProd instanceof Repetition) {\n this.walkMany(subProd, currRest, prevRest);\n }\n else if (subProd instanceof Alternation) {\n this.walkOr(subProd, currRest, prevRest);\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n });\n }\n walkTerminal(terminal, currRest, prevRest) { }\n walkProdRef(refProd, currRest, prevRest) { }\n walkFlat(flatProd, currRest, prevRest) {\n // ABCDEF => after the D the rest is EF\n const fullOrRest = currRest.concat(prevRest);\n this.walk(flatProd, fullOrRest);\n }\n walkOption(optionProd, currRest, prevRest) {\n // ABC(DE)?F => after the (DE)? the rest is F\n const fullOrRest = currRest.concat(prevRest);\n this.walk(optionProd, fullOrRest);\n }\n walkAtLeastOne(atLeastOneProd, currRest, prevRest) {\n // ABC(DE)+F => after the (DE)+ the rest is (DE)?F\n const fullAtLeastOneRest = [\n new Option({ definition: atLeastOneProd.definition }),\n ].concat(currRest, prevRest);\n this.walk(atLeastOneProd, fullAtLeastOneRest);\n }\n walkAtLeastOneSep(atLeastOneSepProd, currRest, prevRest) {\n // ABC DE(,DE)* F => after the (,DE)+ the rest is (,DE)?F\n const fullAtLeastOneSepRest = restForRepetitionWithSeparator(atLeastOneSepProd, currRest, prevRest);\n this.walk(atLeastOneSepProd, fullAtLeastOneSepRest);\n }\n walkMany(manyProd, currRest, prevRest) {\n // ABC(DE)*F => after the (DE)* the rest is (DE)?F\n const fullManyRest = [\n new Option({ definition: manyProd.definition }),\n ].concat(currRest, prevRest);\n this.walk(manyProd, fullManyRest);\n }\n walkManySep(manySepProd, currRest, prevRest) {\n // ABC (DE(,DE)*)? F => after the (,DE)* the rest is (,DE)?F\n const fullManySepRest = restForRepetitionWithSeparator(manySepProd, currRest, prevRest);\n this.walk(manySepProd, fullManySepRest);\n }\n walkOr(orProd, currRest, prevRest) {\n // ABC(D|E|F)G => when finding the (D|E|F) the rest is G\n const fullOrRest = currRest.concat(prevRest);\n // walk all different alternatives\n forEach(orProd.definition, (alt) => {\n // wrapping each alternative in a single definition wrapper\n // to avoid errors in computing the rest of that alternative in the invocation to computeInProdFollows\n // (otherwise for OR([alt1,alt2]) alt2 will be considered in 'rest' of alt1\n const prodWrapper = new Alternative({ definition: [alt] });\n this.walk(prodWrapper, fullOrRest);\n });\n }\n}\nfunction restForRepetitionWithSeparator(repSepProd, currRest, prevRest) {\n const repSepRest = [\n new Option({\n definition: [\n new Terminal({ terminalType: repSepProd.separator }),\n ].concat(repSepProd.definition),\n }),\n ];\n const fullRepSepRest = repSepRest.concat(currRest, prevRest);\n return fullRepSepRest;\n}\n//# sourceMappingURL=rest.js.map", + "import { flatten, map, uniq } from \"lodash-es\";\nimport { isBranchingProd, isOptionalProd, isSequenceProd, NonTerminal, Terminal, } from \"@chevrotain/gast\";\nexport function first(prod) {\n /* istanbul ignore else */\n if (prod instanceof NonTerminal) {\n // this could in theory cause infinite loops if\n // (1) prod A refs prod B.\n // (2) prod B refs prod A\n // (3) AB can match the empty set\n // in other words a cycle where everything is optional so the first will keep\n // looking ahead for the next optional part and will never exit\n // currently there is no safeguard for this unique edge case because\n // (1) not sure a grammar in which this can happen is useful for anything (productive)\n return first(prod.referencedRule);\n }\n else if (prod instanceof Terminal) {\n return firstForTerminal(prod);\n }\n else if (isSequenceProd(prod)) {\n return firstForSequence(prod);\n }\n else if (isBranchingProd(prod)) {\n return firstForBranching(prod);\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\nexport function firstForSequence(prod) {\n let firstSet = [];\n const seq = prod.definition;\n let nextSubProdIdx = 0;\n let hasInnerProdsRemaining = seq.length > nextSubProdIdx;\n let currSubProd;\n // so we enter the loop at least once (if the definition is not empty\n let isLastInnerProdOptional = true;\n // scan a sequence until it's end or until we have found a NONE optional production in it\n while (hasInnerProdsRemaining && isLastInnerProdOptional) {\n currSubProd = seq[nextSubProdIdx];\n isLastInnerProdOptional = isOptionalProd(currSubProd);\n firstSet = firstSet.concat(first(currSubProd));\n nextSubProdIdx = nextSubProdIdx + 1;\n hasInnerProdsRemaining = seq.length > nextSubProdIdx;\n }\n return uniq(firstSet);\n}\nexport function firstForBranching(prod) {\n const allAlternativesFirsts = map(prod.definition, (innerProd) => {\n return first(innerProd);\n });\n return uniq(flatten(allAlternativesFirsts));\n}\nexport function firstForTerminal(terminal) {\n return [terminal.terminalType];\n}\n//# sourceMappingURL=first.js.map", + "// TODO: can this be removed? where is it used?\nexport const IN = \"_~IN~_\";\n//# sourceMappingURL=constants.js.map", + "import { RestWalker } from \"./rest.js\";\nimport { first } from \"./first.js\";\nimport { assign, forEach } from \"lodash-es\";\nimport { IN } from \"../constants.js\";\nimport { Alternative } from \"@chevrotain/gast\";\n// This ResyncFollowsWalker computes all of the follows required for RESYNC\n// (skipping reference production).\nexport class ResyncFollowsWalker extends RestWalker {\n constructor(topProd) {\n super();\n this.topProd = topProd;\n this.follows = {};\n }\n startWalking() {\n this.walk(this.topProd);\n return this.follows;\n }\n walkTerminal(terminal, currRest, prevRest) {\n // do nothing! just like in the public sector after 13:00\n }\n walkProdRef(refProd, currRest, prevRest) {\n const followName = buildBetweenProdsFollowPrefix(refProd.referencedRule, refProd.idx) +\n this.topProd.name;\n const fullRest = currRest.concat(prevRest);\n const restProd = new Alternative({ definition: fullRest });\n const t_in_topProd_follows = first(restProd);\n this.follows[followName] = t_in_topProd_follows;\n }\n}\nexport function computeAllProdsFollows(topProductions) {\n const reSyncFollows = {};\n forEach(topProductions, (topProd) => {\n const currRefsFollow = new ResyncFollowsWalker(topProd).startWalking();\n assign(reSyncFollows, currRefsFollow);\n });\n return reSyncFollows;\n}\nexport function buildBetweenProdsFollowPrefix(inner, occurenceInParent) {\n return inner.name + occurenceInParent + IN;\n}\nexport function buildInProdFollowPrefix(terminal) {\n const terminalName = terminal.terminalType.name;\n return terminalName + terminal.idx + IN;\n}\n//# sourceMappingURL=follow.js.map", + "import { RegExpParser, } from \"@chevrotain/regexp-to-ast\";\nlet regExpAstCache = {};\nconst regExpParser = new RegExpParser();\nexport function getRegExpAst(regExp) {\n const regExpStr = regExp.toString();\n if (regExpAstCache.hasOwnProperty(regExpStr)) {\n return regExpAstCache[regExpStr];\n }\n else {\n const regExpAst = regExpParser.pattern(regExpStr);\n regExpAstCache[regExpStr] = regExpAst;\n return regExpAst;\n }\n}\nexport function clearRegExpParserCache() {\n regExpAstCache = {};\n}\n//# sourceMappingURL=reg_exp_parser.js.map", + "import { BaseRegExpVisitor, } from \"@chevrotain/regexp-to-ast\";\nimport { every, find, forEach, includes, isArray, values } from \"lodash-es\";\nimport { PRINT_ERROR, PRINT_WARNING } from \"@chevrotain/utils\";\nimport { getRegExpAst } from \"./reg_exp_parser.js\";\nimport { charCodeToOptimizedIndex, minOptimizationVal } from \"./lexer.js\";\nconst complementErrorMessage = \"Complement Sets are not supported for first char optimization\";\nexport const failedOptimizationPrefixMsg = 'Unable to use \"first char\" lexer optimizations:\\n';\nexport function getOptimizedStartCodesIndices(regExp, ensureOptimizations = false) {\n try {\n const ast = getRegExpAst(regExp);\n const firstChars = firstCharOptimizedIndices(ast.value, {}, ast.flags.ignoreCase);\n return firstChars;\n }\n catch (e) {\n /* istanbul ignore next */\n // Testing this relies on the regexp-to-ast library having a bug... */\n // TODO: only the else branch needs to be ignored, try to fix with newer prettier / tsc\n if (e.message === complementErrorMessage) {\n if (ensureOptimizations) {\n PRINT_WARNING(`${failedOptimizationPrefixMsg}` +\n `\\tUnable to optimize: < ${regExp.toString()} >\\n` +\n \"\\tComplement Sets cannot be automatically optimized.\\n\" +\n \"\\tThis will disable the lexer's first char optimizations.\\n\" +\n \"\\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.\");\n }\n }\n else {\n let msgSuffix = \"\";\n if (ensureOptimizations) {\n msgSuffix =\n \"\\n\\tThis will disable the lexer's first char optimizations.\\n\" +\n \"\\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.\";\n }\n PRINT_ERROR(`${failedOptimizationPrefixMsg}\\n` +\n `\\tFailed parsing: < ${regExp.toString()} >\\n` +\n `\\tUsing the @chevrotain/regexp-to-ast library\\n` +\n \"\\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues\" +\n msgSuffix);\n }\n }\n return [];\n}\nexport function firstCharOptimizedIndices(ast, result, ignoreCase) {\n switch (ast.type) {\n case \"Disjunction\":\n for (let i = 0; i < ast.value.length; i++) {\n firstCharOptimizedIndices(ast.value[i], result, ignoreCase);\n }\n break;\n case \"Alternative\":\n const terms = ast.value;\n for (let i = 0; i < terms.length; i++) {\n const term = terms[i];\n // skip terms that cannot effect the first char results\n switch (term.type) {\n case \"EndAnchor\":\n // A group back reference cannot affect potential starting char.\n // because if a back reference is the first production than automatically\n // the group being referenced has had to come BEFORE so its codes have already been added\n case \"GroupBackReference\":\n // assertions do not affect potential starting codes\n case \"Lookahead\":\n case \"NegativeLookahead\":\n case \"StartAnchor\":\n case \"WordBoundary\":\n case \"NonWordBoundary\":\n continue;\n }\n const atom = term;\n switch (atom.type) {\n case \"Character\":\n addOptimizedIdxToResult(atom.value, result, ignoreCase);\n break;\n case \"Set\":\n if (atom.complement === true) {\n throw Error(complementErrorMessage);\n }\n forEach(atom.value, (code) => {\n if (typeof code === \"number\") {\n addOptimizedIdxToResult(code, result, ignoreCase);\n }\n else {\n // range\n const range = code;\n // cannot optimize when ignoreCase is\n if (ignoreCase === true) {\n for (let rangeCode = range.from; rangeCode <= range.to; rangeCode++) {\n addOptimizedIdxToResult(rangeCode, result, ignoreCase);\n }\n }\n // Optimization (2 orders of magnitude less work for very large ranges)\n else {\n // handle unoptimized values\n for (let rangeCode = range.from; rangeCode <= range.to && rangeCode < minOptimizationVal; rangeCode++) {\n addOptimizedIdxToResult(rangeCode, result, ignoreCase);\n }\n // Less common charCode where we optimize for faster init time, by using larger \"buckets\"\n if (range.to >= minOptimizationVal) {\n const minUnOptVal = range.from >= minOptimizationVal\n ? range.from\n : minOptimizationVal;\n const maxUnOptVal = range.to;\n const minOptIdx = charCodeToOptimizedIndex(minUnOptVal);\n const maxOptIdx = charCodeToOptimizedIndex(maxUnOptVal);\n for (let currOptIdx = minOptIdx; currOptIdx <= maxOptIdx; currOptIdx++) {\n result[currOptIdx] = currOptIdx;\n }\n }\n }\n }\n });\n break;\n case \"Group\":\n firstCharOptimizedIndices(atom.value, result, ignoreCase);\n break;\n /* istanbul ignore next */\n default:\n throw Error(\"Non Exhaustive Match\");\n }\n // reached a mandatory production, no more **start** codes can be found on this alternative\n const isOptionalQuantifier = atom.quantifier !== undefined && atom.quantifier.atLeast === 0;\n if (\n // A group may be optional due to empty contents /(?:)/\n // or if everything inside it is optional /((a)?)/\n (atom.type === \"Group\" && isWholeOptional(atom) === false) ||\n // If this term is not a group it may only be optional if it has an optional quantifier\n (atom.type !== \"Group\" && isOptionalQuantifier === false)) {\n break;\n }\n }\n break;\n /* istanbul ignore next */\n default:\n throw Error(\"non exhaustive match!\");\n }\n // console.log(Object.keys(result).length)\n return values(result);\n}\nfunction addOptimizedIdxToResult(code, result, ignoreCase) {\n const optimizedCharIdx = charCodeToOptimizedIndex(code);\n result[optimizedCharIdx] = optimizedCharIdx;\n if (ignoreCase === true) {\n handleIgnoreCase(code, result);\n }\n}\nfunction handleIgnoreCase(code, result) {\n const char = String.fromCharCode(code);\n const upperChar = char.toUpperCase();\n /* istanbul ignore else */\n if (upperChar !== char) {\n const optimizedCharIdx = charCodeToOptimizedIndex(upperChar.charCodeAt(0));\n result[optimizedCharIdx] = optimizedCharIdx;\n }\n else {\n const lowerChar = char.toLowerCase();\n if (lowerChar !== char) {\n const optimizedCharIdx = charCodeToOptimizedIndex(lowerChar.charCodeAt(0));\n result[optimizedCharIdx] = optimizedCharIdx;\n }\n }\n}\nfunction findCode(setNode, targetCharCodes) {\n return find(setNode.value, (codeOrRange) => {\n if (typeof codeOrRange === \"number\") {\n return includes(targetCharCodes, codeOrRange);\n }\n else {\n // range\n const range = codeOrRange;\n return (find(targetCharCodes, (targetCode) => range.from <= targetCode && targetCode <= range.to) !== undefined);\n }\n });\n}\nfunction isWholeOptional(ast) {\n const quantifier = ast.quantifier;\n if (quantifier && quantifier.atLeast === 0) {\n return true;\n }\n if (!ast.value) {\n return false;\n }\n return isArray(ast.value)\n ? every(ast.value, isWholeOptional)\n : isWholeOptional(ast.value);\n}\nclass CharCodeFinder extends BaseRegExpVisitor {\n constructor(targetCharCodes) {\n super();\n this.targetCharCodes = targetCharCodes;\n this.found = false;\n }\n visitChildren(node) {\n // No need to keep looking...\n if (this.found === true) {\n return;\n }\n // switch lookaheads as they do not actually consume any characters thus\n // finding a charCode at lookahead context does not mean that regexp can actually contain it in a match.\n switch (node.type) {\n case \"Lookahead\":\n this.visitLookahead(node);\n return;\n case \"NegativeLookahead\":\n this.visitNegativeLookahead(node);\n return;\n }\n super.visitChildren(node);\n }\n visitCharacter(node) {\n if (includes(this.targetCharCodes, node.value)) {\n this.found = true;\n }\n }\n visitSet(node) {\n if (node.complement) {\n if (findCode(node, this.targetCharCodes) === undefined) {\n this.found = true;\n }\n }\n else {\n if (findCode(node, this.targetCharCodes) !== undefined) {\n this.found = true;\n }\n }\n }\n}\nexport function canMatchCharCode(charCodes, pattern) {\n if (pattern instanceof RegExp) {\n const ast = getRegExpAst(pattern);\n const charCodeFinder = new CharCodeFinder(charCodes);\n charCodeFinder.visit(ast);\n return charCodeFinder.found;\n }\n else {\n return (find(pattern, (char) => {\n return includes(charCodes, char.charCodeAt(0));\n }) !== undefined);\n }\n}\n//# sourceMappingURL=reg_exp.js.map", + "import { BaseRegExpVisitor } from \"@chevrotain/regexp-to-ast\";\nimport { Lexer, LexerDefinitionErrorType, } from \"./lexer_public.js\";\nimport { compact, defaults, difference, filter, find, first, flatten, forEach, has, includes, indexOf, isArray, isEmpty, isFunction, isRegExp, isString, isUndefined, keys, map, reduce, reject, values, } from \"lodash-es\";\nimport { PRINT_ERROR } from \"@chevrotain/utils\";\nimport { canMatchCharCode, failedOptimizationPrefixMsg, getOptimizedStartCodesIndices, } from \"./reg_exp.js\";\nimport { getRegExpAst } from \"./reg_exp_parser.js\";\nconst PATTERN = \"PATTERN\";\nexport const DEFAULT_MODE = \"defaultMode\";\nexport const MODES = \"modes\";\nexport let SUPPORT_STICKY = typeof new RegExp(\"(?:)\").sticky === \"boolean\";\nexport function disableSticky() {\n SUPPORT_STICKY = false;\n}\nexport function enableSticky() {\n SUPPORT_STICKY = true;\n}\nexport function analyzeTokenTypes(tokenTypes, options) {\n options = defaults(options, {\n useSticky: SUPPORT_STICKY,\n debug: false,\n safeMode: false,\n positionTracking: \"full\",\n lineTerminatorCharacters: [\"\\r\", \"\\n\"],\n tracer: (msg, action) => action(),\n });\n const tracer = options.tracer;\n tracer(\"initCharCodeToOptimizedIndexMap\", () => {\n initCharCodeToOptimizedIndexMap();\n });\n let onlyRelevantTypes;\n tracer(\"Reject Lexer.NA\", () => {\n onlyRelevantTypes = reject(tokenTypes, (currType) => {\n return currType[PATTERN] === Lexer.NA;\n });\n });\n let hasCustom = false;\n let allTransformedPatterns;\n tracer(\"Transform Patterns\", () => {\n hasCustom = false;\n allTransformedPatterns = map(onlyRelevantTypes, (currType) => {\n const currPattern = currType[PATTERN];\n /* istanbul ignore else */\n if (isRegExp(currPattern)) {\n const regExpSource = currPattern.source;\n if (regExpSource.length === 1 &&\n // only these regExp meta characters which can appear in a length one regExp\n regExpSource !== \"^\" &&\n regExpSource !== \"$\" &&\n regExpSource !== \".\" &&\n !currPattern.ignoreCase) {\n return regExpSource;\n }\n else if (regExpSource.length === 2 &&\n regExpSource[0] === \"\\\\\" &&\n // not a meta character\n !includes([\n \"d\",\n \"D\",\n \"s\",\n \"S\",\n \"t\",\n \"r\",\n \"n\",\n \"t\",\n \"0\",\n \"c\",\n \"b\",\n \"B\",\n \"f\",\n \"v\",\n \"w\",\n \"W\",\n ], regExpSource[1])) {\n // escaped meta Characters: /\\+/ /\\[/\n // or redundant escaping: /\\a/\n // without the escaping \"\\\"\n return regExpSource[1];\n }\n else {\n return options.useSticky\n ? addStickyFlag(currPattern)\n : addStartOfInput(currPattern);\n }\n }\n else if (isFunction(currPattern)) {\n hasCustom = true;\n // CustomPatternMatcherFunc - custom patterns do not require any transformations, only wrapping in a RegExp Like object\n return { exec: currPattern };\n }\n else if (typeof currPattern === \"object\") {\n hasCustom = true;\n // ICustomPattern\n return currPattern;\n }\n else if (typeof currPattern === \"string\") {\n if (currPattern.length === 1) {\n return currPattern;\n }\n else {\n const escapedRegExpString = currPattern.replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\");\n const wrappedRegExp = new RegExp(escapedRegExpString);\n return options.useSticky\n ? addStickyFlag(wrappedRegExp)\n : addStartOfInput(wrappedRegExp);\n }\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n });\n });\n let patternIdxToType;\n let patternIdxToGroup;\n let patternIdxToLongerAltIdxArr;\n let patternIdxToPushMode;\n let patternIdxToPopMode;\n tracer(\"misc mapping\", () => {\n patternIdxToType = map(onlyRelevantTypes, (currType) => currType.tokenTypeIdx);\n patternIdxToGroup = map(onlyRelevantTypes, (clazz) => {\n const groupName = clazz.GROUP;\n /* istanbul ignore next */\n if (groupName === Lexer.SKIPPED) {\n return undefined;\n }\n else if (isString(groupName)) {\n return groupName;\n }\n else if (isUndefined(groupName)) {\n return false;\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n });\n patternIdxToLongerAltIdxArr = map(onlyRelevantTypes, (clazz) => {\n const longerAltType = clazz.LONGER_ALT;\n if (longerAltType) {\n const longerAltIdxArr = isArray(longerAltType)\n ? map(longerAltType, (type) => indexOf(onlyRelevantTypes, type))\n : [indexOf(onlyRelevantTypes, longerAltType)];\n return longerAltIdxArr;\n }\n });\n patternIdxToPushMode = map(onlyRelevantTypes, (clazz) => clazz.PUSH_MODE);\n patternIdxToPopMode = map(onlyRelevantTypes, (clazz) => has(clazz, \"POP_MODE\"));\n });\n let patternIdxToCanLineTerminator;\n tracer(\"Line Terminator Handling\", () => {\n const lineTerminatorCharCodes = getCharCodes(options.lineTerminatorCharacters);\n patternIdxToCanLineTerminator = map(onlyRelevantTypes, (tokType) => false);\n if (options.positionTracking !== \"onlyOffset\") {\n patternIdxToCanLineTerminator = map(onlyRelevantTypes, (tokType) => {\n if (has(tokType, \"LINE_BREAKS\")) {\n return !!tokType.LINE_BREAKS;\n }\n else {\n return (checkLineBreaksIssues(tokType, lineTerminatorCharCodes) === false &&\n canMatchCharCode(lineTerminatorCharCodes, tokType.PATTERN));\n }\n });\n }\n });\n let patternIdxToIsCustom;\n let patternIdxToShort;\n let emptyGroups;\n let patternIdxToConfig;\n tracer(\"Misc Mapping #2\", () => {\n patternIdxToIsCustom = map(onlyRelevantTypes, isCustomPattern);\n patternIdxToShort = map(allTransformedPatterns, isShortPattern);\n emptyGroups = reduce(onlyRelevantTypes, (acc, clazz) => {\n const groupName = clazz.GROUP;\n if (isString(groupName) && !(groupName === Lexer.SKIPPED)) {\n acc[groupName] = [];\n }\n return acc;\n }, {});\n patternIdxToConfig = map(allTransformedPatterns, (x, idx) => {\n return {\n pattern: allTransformedPatterns[idx],\n longerAlt: patternIdxToLongerAltIdxArr[idx],\n canLineTerminator: patternIdxToCanLineTerminator[idx],\n isCustom: patternIdxToIsCustom[idx],\n short: patternIdxToShort[idx],\n group: patternIdxToGroup[idx],\n push: patternIdxToPushMode[idx],\n pop: patternIdxToPopMode[idx],\n tokenTypeIdx: patternIdxToType[idx],\n tokenType: onlyRelevantTypes[idx],\n };\n });\n });\n let canBeOptimized = true;\n let charCodeToPatternIdxToConfig = [];\n if (!options.safeMode) {\n tracer(\"First Char Optimization\", () => {\n charCodeToPatternIdxToConfig = reduce(onlyRelevantTypes, (result, currTokType, idx) => {\n if (typeof currTokType.PATTERN === \"string\") {\n const charCode = currTokType.PATTERN.charCodeAt(0);\n const optimizedIdx = charCodeToOptimizedIndex(charCode);\n addToMapOfArrays(result, optimizedIdx, patternIdxToConfig[idx]);\n }\n else if (isArray(currTokType.START_CHARS_HINT)) {\n let lastOptimizedIdx;\n forEach(currTokType.START_CHARS_HINT, (charOrInt) => {\n const charCode = typeof charOrInt === \"string\"\n ? charOrInt.charCodeAt(0)\n : charOrInt;\n const currOptimizedIdx = charCodeToOptimizedIndex(charCode);\n // Avoid adding the config multiple times\n /* istanbul ignore else */\n // - Difficult to check this scenario effects as it is only a performance\n // optimization that does not change correctness\n if (lastOptimizedIdx !== currOptimizedIdx) {\n lastOptimizedIdx = currOptimizedIdx;\n addToMapOfArrays(result, currOptimizedIdx, patternIdxToConfig[idx]);\n }\n });\n }\n else if (isRegExp(currTokType.PATTERN)) {\n if (currTokType.PATTERN.unicode) {\n canBeOptimized = false;\n if (options.ensureOptimizations) {\n PRINT_ERROR(`${failedOptimizationPrefixMsg}` +\n `\\tUnable to analyze < ${currTokType.PATTERN.toString()} > pattern.\\n` +\n \"\\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\\n\" +\n \"\\tThis will disable the lexer's first char optimizations.\\n\" +\n \"\\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE\");\n }\n }\n else {\n const optimizedCodes = getOptimizedStartCodesIndices(currTokType.PATTERN, options.ensureOptimizations);\n /* istanbul ignore if */\n // start code will only be empty given an empty regExp or failure of regexp-to-ast library\n // the first should be a different validation and the second cannot be tested.\n if (isEmpty(optimizedCodes)) {\n // we cannot understand what codes may start possible matches\n // The optimization correctness requires knowing start codes for ALL patterns.\n // Not actually sure this is an error, no debug message\n canBeOptimized = false;\n }\n forEach(optimizedCodes, (code) => {\n addToMapOfArrays(result, code, patternIdxToConfig[idx]);\n });\n }\n }\n else {\n if (options.ensureOptimizations) {\n PRINT_ERROR(`${failedOptimizationPrefixMsg}` +\n `\\tTokenType: <${currTokType.name}> is using a custom token pattern without providing <start_chars_hint> parameter.\\n` +\n \"\\tThis will disable the lexer's first char optimizations.\\n\" +\n \"\\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE\");\n }\n canBeOptimized = false;\n }\n return result;\n }, []);\n });\n }\n return {\n emptyGroups: emptyGroups,\n patternIdxToConfig: patternIdxToConfig,\n charCodeToPatternIdxToConfig: charCodeToPatternIdxToConfig,\n hasCustom: hasCustom,\n canBeOptimized: canBeOptimized,\n };\n}\nexport function validatePatterns(tokenTypes, validModesNames) {\n let errors = [];\n const missingResult = findMissingPatterns(tokenTypes);\n errors = errors.concat(missingResult.errors);\n const invalidResult = findInvalidPatterns(missingResult.valid);\n const validTokenTypes = invalidResult.valid;\n errors = errors.concat(invalidResult.errors);\n errors = errors.concat(validateRegExpPattern(validTokenTypes));\n errors = errors.concat(findInvalidGroupType(validTokenTypes));\n errors = errors.concat(findModesThatDoNotExist(validTokenTypes, validModesNames));\n errors = errors.concat(findUnreachablePatterns(validTokenTypes));\n return errors;\n}\nfunction validateRegExpPattern(tokenTypes) {\n let errors = [];\n const withRegExpPatterns = filter(tokenTypes, (currTokType) => isRegExp(currTokType[PATTERN]));\n errors = errors.concat(findEndOfInputAnchor(withRegExpPatterns));\n errors = errors.concat(findStartOfInputAnchor(withRegExpPatterns));\n errors = errors.concat(findUnsupportedFlags(withRegExpPatterns));\n errors = errors.concat(findDuplicatePatterns(withRegExpPatterns));\n errors = errors.concat(findEmptyMatchRegExps(withRegExpPatterns));\n return errors;\n}\nexport function findMissingPatterns(tokenTypes) {\n const tokenTypesWithMissingPattern = filter(tokenTypes, (currType) => {\n return !has(currType, PATTERN);\n });\n const errors = map(tokenTypesWithMissingPattern, (currType) => {\n return {\n message: \"Token Type: ->\" +\n currType.name +\n \"<- missing static 'PATTERN' property\",\n type: LexerDefinitionErrorType.MISSING_PATTERN,\n tokenTypes: [currType],\n };\n });\n const valid = difference(tokenTypes, tokenTypesWithMissingPattern);\n return { errors, valid };\n}\nexport function findInvalidPatterns(tokenTypes) {\n const tokenTypesWithInvalidPattern = filter(tokenTypes, (currType) => {\n const pattern = currType[PATTERN];\n return (!isRegExp(pattern) &&\n !isFunction(pattern) &&\n !has(pattern, \"exec\") &&\n !isString(pattern));\n });\n const errors = map(tokenTypesWithInvalidPattern, (currType) => {\n return {\n message: \"Token Type: ->\" +\n currType.name +\n \"<- static 'PATTERN' can only be a RegExp, a\" +\n \" Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.\",\n type: LexerDefinitionErrorType.INVALID_PATTERN,\n tokenTypes: [currType],\n };\n });\n const valid = difference(tokenTypes, tokenTypesWithInvalidPattern);\n return { errors, valid };\n}\nconst end_of_input = /[^\\\\][$]/;\nexport function findEndOfInputAnchor(tokenTypes) {\n class EndAnchorFinder extends BaseRegExpVisitor {\n constructor() {\n super(...arguments);\n this.found = false;\n }\n visitEndAnchor(node) {\n this.found = true;\n }\n }\n const invalidRegex = filter(tokenTypes, (currType) => {\n const pattern = currType.PATTERN;\n try {\n const regexpAst = getRegExpAst(pattern);\n const endAnchorVisitor = new EndAnchorFinder();\n endAnchorVisitor.visit(regexpAst);\n return endAnchorVisitor.found;\n }\n catch (e) {\n // old behavior in case of runtime exceptions with regexp-to-ast.\n /* istanbul ignore next - cannot ensure an error in regexp-to-ast*/\n return end_of_input.test(pattern.source);\n }\n });\n const errors = map(invalidRegex, (currType) => {\n return {\n message: \"Unexpected RegExp Anchor Error:\\n\" +\n \"\\tToken Type: ->\" +\n currType.name +\n \"<- static 'PATTERN' cannot contain end of input anchor '$'\\n\" +\n \"\\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\" +\n \"\\tfor details.\",\n type: LexerDefinitionErrorType.EOI_ANCHOR_FOUND,\n tokenTypes: [currType],\n };\n });\n return errors;\n}\nexport function findEmptyMatchRegExps(tokenTypes) {\n const matchesEmptyString = filter(tokenTypes, (currType) => {\n const pattern = currType.PATTERN;\n return pattern.test(\"\");\n });\n const errors = map(matchesEmptyString, (currType) => {\n return {\n message: \"Token Type: ->\" +\n currType.name +\n \"<- static 'PATTERN' must not match an empty string\",\n type: LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,\n tokenTypes: [currType],\n };\n });\n return errors;\n}\nconst start_of_input = /[^\\\\[][\\^]|^\\^/;\nexport function findStartOfInputAnchor(tokenTypes) {\n class StartAnchorFinder extends BaseRegExpVisitor {\n constructor() {\n super(...arguments);\n this.found = false;\n }\n visitStartAnchor(node) {\n this.found = true;\n }\n }\n const invalidRegex = filter(tokenTypes, (currType) => {\n const pattern = currType.PATTERN;\n try {\n const regexpAst = getRegExpAst(pattern);\n const startAnchorVisitor = new StartAnchorFinder();\n startAnchorVisitor.visit(regexpAst);\n return startAnchorVisitor.found;\n }\n catch (e) {\n // old behavior in case of runtime exceptions with regexp-to-ast.\n /* istanbul ignore next - cannot ensure an error in regexp-to-ast*/\n return start_of_input.test(pattern.source);\n }\n });\n const errors = map(invalidRegex, (currType) => {\n return {\n message: \"Unexpected RegExp Anchor Error:\\n\" +\n \"\\tToken Type: ->\" +\n currType.name +\n \"<- static 'PATTERN' cannot contain start of input anchor '^'\\n\" +\n \"\\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\" +\n \"\\tfor details.\",\n type: LexerDefinitionErrorType.SOI_ANCHOR_FOUND,\n tokenTypes: [currType],\n };\n });\n return errors;\n}\nexport function findUnsupportedFlags(tokenTypes) {\n const invalidFlags = filter(tokenTypes, (currType) => {\n const pattern = currType[PATTERN];\n return pattern instanceof RegExp && (pattern.multiline || pattern.global);\n });\n const errors = map(invalidFlags, (currType) => {\n return {\n message: \"Token Type: ->\" +\n currType.name +\n \"<- static 'PATTERN' may NOT contain global('g') or multiline('m')\",\n type: LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,\n tokenTypes: [currType],\n };\n });\n return errors;\n}\n// This can only test for identical duplicate RegExps, not semantically equivalent ones.\nexport function findDuplicatePatterns(tokenTypes) {\n const found = [];\n let identicalPatterns = map(tokenTypes, (outerType) => {\n return reduce(tokenTypes, (result, innerType) => {\n if (outerType.PATTERN.source === innerType.PATTERN.source &&\n !includes(found, innerType) &&\n innerType.PATTERN !== Lexer.NA) {\n // this avoids duplicates in the result, each Token Type may only appear in one \"set\"\n // in essence we are creating Equivalence classes on equality relation.\n found.push(innerType);\n result.push(innerType);\n return result;\n }\n return result;\n }, []);\n });\n identicalPatterns = compact(identicalPatterns);\n const duplicatePatterns = filter(identicalPatterns, (currIdenticalSet) => {\n return currIdenticalSet.length > 1;\n });\n const errors = map(duplicatePatterns, (setOfIdentical) => {\n const tokenTypeNames = map(setOfIdentical, (currType) => {\n return currType.name;\n });\n const dupPatternSrc = first(setOfIdentical).PATTERN;\n return {\n message: `The same RegExp pattern ->${dupPatternSrc}<-` +\n `has been used in all of the following Token Types: ${tokenTypeNames.join(\", \")} <-`,\n type: LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,\n tokenTypes: setOfIdentical,\n };\n });\n return errors;\n}\nexport function findInvalidGroupType(tokenTypes) {\n const invalidTypes = filter(tokenTypes, (clazz) => {\n if (!has(clazz, \"GROUP\")) {\n return false;\n }\n const group = clazz.GROUP;\n return group !== Lexer.SKIPPED && group !== Lexer.NA && !isString(group);\n });\n const errors = map(invalidTypes, (currType) => {\n return {\n message: \"Token Type: ->\" +\n currType.name +\n \"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String\",\n type: LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,\n tokenTypes: [currType],\n };\n });\n return errors;\n}\nexport function findModesThatDoNotExist(tokenTypes, validModes) {\n const invalidModes = filter(tokenTypes, (clazz) => {\n return (clazz.PUSH_MODE !== undefined && !includes(validModes, clazz.PUSH_MODE));\n });\n const errors = map(invalidModes, (tokType) => {\n const msg = `Token Type: ->${tokType.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${tokType.PUSH_MODE}<-` +\n `which does not exist`;\n return {\n message: msg,\n type: LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,\n tokenTypes: [tokType],\n };\n });\n return errors;\n}\nexport function findUnreachablePatterns(tokenTypes) {\n const errors = [];\n const canBeTested = reduce(tokenTypes, (result, tokType, idx) => {\n const pattern = tokType.PATTERN;\n if (pattern === Lexer.NA) {\n return result;\n }\n // a more comprehensive validation for all forms of regExps would require\n // deeper regExp analysis capabilities\n if (isString(pattern)) {\n result.push({ str: pattern, idx, tokenType: tokType });\n }\n else if (isRegExp(pattern) && noMetaChar(pattern)) {\n result.push({ str: pattern.source, idx, tokenType: tokType });\n }\n return result;\n }, []);\n forEach(tokenTypes, (tokType, testIdx) => {\n forEach(canBeTested, ({ str, idx, tokenType }) => {\n if (testIdx < idx && testTokenType(str, tokType.PATTERN)) {\n const msg = `Token: ->${tokenType.name}<- can never be matched.\\n` +\n `Because it appears AFTER the Token Type ->${tokType.name}<-` +\n `in the lexer's definition.\\n` +\n `See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;\n errors.push({\n message: msg,\n type: LexerDefinitionErrorType.UNREACHABLE_PATTERN,\n tokenTypes: [tokType, tokenType],\n });\n }\n });\n });\n return errors;\n}\nfunction testTokenType(str, pattern) {\n /* istanbul ignore else */\n if (isRegExp(pattern)) {\n const regExpArray = pattern.exec(str);\n return regExpArray !== null && regExpArray.index === 0;\n }\n else if (isFunction(pattern)) {\n // maintain the API of custom patterns\n return pattern(str, 0, [], {});\n }\n else if (has(pattern, \"exec\")) {\n // maintain the API of custom patterns\n return pattern.exec(str, 0, [], {});\n }\n else if (typeof pattern === \"string\") {\n return pattern === str;\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\nfunction noMetaChar(regExp) {\n //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\n const metaChars = [\n \".\",\n \"\\\\\",\n \"[\",\n \"]\",\n \"|\",\n \"^\",\n \"$\",\n \"(\",\n \")\",\n \"?\",\n \"*\",\n \"+\",\n \"{\",\n ];\n return (find(metaChars, (char) => regExp.source.indexOf(char) !== -1) === undefined);\n}\nexport function addStartOfInput(pattern) {\n const flags = pattern.ignoreCase ? \"i\" : \"\";\n // always wrapping in a none capturing group preceded by '^' to make sure matching can only work on start of input.\n // duplicate/redundant start of input markers have no meaning (/^^^^A/ === /^A/)\n return new RegExp(`^(?:${pattern.source})`, flags);\n}\nexport function addStickyFlag(pattern) {\n const flags = pattern.ignoreCase ? \"iy\" : \"y\";\n // always wrapping in a none capturing group preceded by '^' to make sure matching can only work on start of input.\n // duplicate/redundant start of input markers have no meaning (/^^^^A/ === /^A/)\n return new RegExp(`${pattern.source}`, flags);\n}\nexport function performRuntimeChecks(lexerDefinition, trackLines, lineTerminatorCharacters) {\n const errors = [];\n // some run time checks to help the end users.\n if (!has(lexerDefinition, DEFAULT_MODE)) {\n errors.push({\n message: \"A MultiMode Lexer cannot be initialized without a <\" +\n DEFAULT_MODE +\n \"> property in its definition\\n\",\n type: LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE,\n });\n }\n if (!has(lexerDefinition, MODES)) {\n errors.push({\n message: \"A MultiMode Lexer cannot be initialized without a <\" +\n MODES +\n \"> property in its definition\\n\",\n type: LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY,\n });\n }\n if (has(lexerDefinition, MODES) &&\n has(lexerDefinition, DEFAULT_MODE) &&\n !has(lexerDefinition.modes, lexerDefinition.defaultMode)) {\n errors.push({\n message: `A MultiMode Lexer cannot be initialized with a ${DEFAULT_MODE}: <${lexerDefinition.defaultMode}>` +\n `which does not exist\\n`,\n type: LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST,\n });\n }\n if (has(lexerDefinition, MODES)) {\n forEach(lexerDefinition.modes, (currModeValue, currModeName) => {\n forEach(currModeValue, (currTokType, currIdx) => {\n if (isUndefined(currTokType)) {\n errors.push({\n message: `A Lexer cannot be initialized using an undefined Token Type. Mode:` +\n `<${currModeName}> at index: <${currIdx}>\\n`,\n type: LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED,\n });\n }\n else if (has(currTokType, \"LONGER_ALT\")) {\n const longerAlt = isArray(currTokType.LONGER_ALT)\n ? currTokType.LONGER_ALT\n : [currTokType.LONGER_ALT];\n forEach(longerAlt, (currLongerAlt) => {\n if (!isUndefined(currLongerAlt) &&\n !includes(currModeValue, currLongerAlt)) {\n errors.push({\n message: `A MultiMode Lexer cannot be initialized with a longer_alt <${currLongerAlt.name}> on token <${currTokType.name}> outside of mode <${currModeName}>\\n`,\n type: LexerDefinitionErrorType.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE,\n });\n }\n });\n }\n });\n });\n }\n return errors;\n}\nexport function performWarningRuntimeChecks(lexerDefinition, trackLines, lineTerminatorCharacters) {\n const warnings = [];\n let hasAnyLineBreak = false;\n const allTokenTypes = compact(flatten(values(lexerDefinition.modes)));\n const concreteTokenTypes = reject(allTokenTypes, (currType) => currType[PATTERN] === Lexer.NA);\n const terminatorCharCodes = getCharCodes(lineTerminatorCharacters);\n if (trackLines) {\n forEach(concreteTokenTypes, (tokType) => {\n const currIssue = checkLineBreaksIssues(tokType, terminatorCharCodes);\n if (currIssue !== false) {\n const message = buildLineBreakIssueMessage(tokType, currIssue);\n const warningDescriptor = {\n message,\n type: currIssue.issue,\n tokenType: tokType,\n };\n warnings.push(warningDescriptor);\n }\n else {\n // we don't want to attempt to scan if the user explicitly specified the line_breaks option.\n if (has(tokType, \"LINE_BREAKS\")) {\n if (tokType.LINE_BREAKS === true) {\n hasAnyLineBreak = true;\n }\n }\n else {\n if (canMatchCharCode(terminatorCharCodes, tokType.PATTERN)) {\n hasAnyLineBreak = true;\n }\n }\n }\n });\n }\n if (trackLines && !hasAnyLineBreak) {\n warnings.push({\n message: \"Warning: No LINE_BREAKS Found.\\n\" +\n \"\\tThis Lexer has been defined to track line and column information,\\n\" +\n \"\\tBut none of the Token Types can be identified as matching a line terminator.\\n\" +\n \"\\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \\n\" +\n \"\\tfor details.\",\n type: LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS,\n });\n }\n return warnings;\n}\nexport function cloneEmptyGroups(emptyGroups) {\n const clonedResult = {};\n const groupKeys = keys(emptyGroups);\n forEach(groupKeys, (currKey) => {\n const currGroupValue = emptyGroups[currKey];\n /* istanbul ignore else */\n if (isArray(currGroupValue)) {\n clonedResult[currKey] = [];\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n });\n return clonedResult;\n}\n// TODO: refactor to avoid duplication\nexport function isCustomPattern(tokenType) {\n const pattern = tokenType.PATTERN;\n /* istanbul ignore else */\n if (isRegExp(pattern)) {\n return false;\n }\n else if (isFunction(pattern)) {\n // CustomPatternMatcherFunc - custom patterns do not require any transformations, only wrapping in a RegExp Like object\n return true;\n }\n else if (has(pattern, \"exec\")) {\n // ICustomPattern\n return true;\n }\n else if (isString(pattern)) {\n return false;\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\nexport function isShortPattern(pattern) {\n if (isString(pattern) && pattern.length === 1) {\n return pattern.charCodeAt(0);\n }\n else {\n return false;\n }\n}\n/**\n * Faster than using a RegExp for default newline detection during lexing.\n */\nexport const LineTerminatorOptimizedTester = {\n // implements /\\n|\\r\\n?/g.test\n test: function (text) {\n const len = text.length;\n for (let i = this.lastIndex; i < len; i++) {\n const c = text.charCodeAt(i);\n if (c === 10) {\n this.lastIndex = i + 1;\n return true;\n }\n else if (c === 13) {\n if (text.charCodeAt(i + 1) === 10) {\n this.lastIndex = i + 2;\n }\n else {\n this.lastIndex = i + 1;\n }\n return true;\n }\n }\n return false;\n },\n lastIndex: 0,\n};\nfunction checkLineBreaksIssues(tokType, lineTerminatorCharCodes) {\n if (has(tokType, \"LINE_BREAKS\")) {\n // if the user explicitly declared the line_breaks option we will respect their choice\n // and assume it is correct.\n return false;\n }\n else {\n /* istanbul ignore else */\n if (isRegExp(tokType.PATTERN)) {\n try {\n // TODO: why is the casting suddenly needed?\n canMatchCharCode(lineTerminatorCharCodes, tokType.PATTERN);\n }\n catch (e) {\n /* istanbul ignore next - to test this we would have to mock <canMatchCharCode> to throw an error */\n return {\n issue: LexerDefinitionErrorType.IDENTIFY_TERMINATOR,\n errMsg: e.message,\n };\n }\n return false;\n }\n else if (isString(tokType.PATTERN)) {\n // string literal patterns can always be analyzed to detect line terminator usage\n return false;\n }\n else if (isCustomPattern(tokType)) {\n // custom token types\n return { issue: LexerDefinitionErrorType.CUSTOM_LINE_BREAK };\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n }\n}\nexport function buildLineBreakIssueMessage(tokType, details) {\n /* istanbul ignore else */\n if (details.issue === LexerDefinitionErrorType.IDENTIFY_TERMINATOR) {\n return (\"Warning: unable to identify line terminator usage in pattern.\\n\" +\n `\\tThe problem is in the <${tokType.name}> Token Type\\n` +\n `\\t Root cause: ${details.errMsg}.\\n` +\n \"\\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR\");\n }\n else if (details.issue === LexerDefinitionErrorType.CUSTOM_LINE_BREAK) {\n return (\"Warning: A Custom Token Pattern should specify the <line_breaks> option.\\n\" +\n `\\tThe problem is in the <${tokType.name}> Token Type\\n` +\n \"\\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK\");\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\nfunction getCharCodes(charsOrCodes) {\n const charCodes = map(charsOrCodes, (numOrString) => {\n if (isString(numOrString)) {\n return numOrString.charCodeAt(0);\n }\n else {\n return numOrString;\n }\n });\n return charCodes;\n}\nfunction addToMapOfArrays(map, key, value) {\n if (map[key] === undefined) {\n map[key] = [value];\n }\n else {\n map[key].push(value);\n }\n}\nexport const minOptimizationVal = 256;\n/**\n * We are mapping charCode above ASCI (256) into buckets each in the size of 256.\n * This is because ASCI are the most common start chars so each one of those will get its own\n * possible token configs vector.\n *\n * Tokens starting with charCodes \"above\" ASCI are uncommon, so we can \"afford\"\n * to place these into buckets of possible token configs, What we gain from\n * this is avoiding the case of creating an optimization 'charCodeToPatternIdxToConfig'\n * which would contain 10,000+ arrays of small size (e.g unicode Identifiers scenario).\n * Our 'charCodeToPatternIdxToConfig' max size will now be:\n * 256 + (2^16 / 2^8) - 1 === 511\n *\n * note the hack for fast division integer part extraction\n * See: https://stackoverflow.com/a/4228528\n */\nlet charCodeToOptimizedIdxMap = [];\nexport function charCodeToOptimizedIndex(charCode) {\n return charCode < minOptimizationVal\n ? charCode\n : charCodeToOptimizedIdxMap[charCode];\n}\n/**\n * This is a compromise between cold start / hot running performance\n * Creating this array takes ~3ms on a modern machine,\n * But if we perform the computation at runtime as needed the CSS Lexer benchmark\n * performance degrades by ~10%\n *\n * TODO: Perhaps it should be lazy initialized only if a charCode > 255 is used.\n */\nfunction initCharCodeToOptimizedIndexMap() {\n if (isEmpty(charCodeToOptimizedIdxMap)) {\n charCodeToOptimizedIdxMap = new Array(65536);\n for (let i = 0; i < 65536; i++) {\n charCodeToOptimizedIdxMap[i] = i > 255 ? 255 + ~~(i / 255) : i;\n }\n }\n}\n//# sourceMappingURL=lexer.js.map", + "import { clone, compact, difference, flatten, forEach, has, includes, isArray, isEmpty, map, } from \"lodash-es\";\nexport function tokenStructuredMatcher(tokInstance, tokConstructor) {\n const instanceType = tokInstance.tokenTypeIdx;\n if (instanceType === tokConstructor.tokenTypeIdx) {\n return true;\n }\n else {\n return (tokConstructor.isParent === true &&\n tokConstructor.categoryMatchesMap[instanceType] === true);\n }\n}\n// Optimized tokenMatcher in case our grammar does not use token categories\n// Being so tiny it is much more likely to be in-lined and this avoid the function call overhead\nexport function tokenStructuredMatcherNoCategories(token, tokType) {\n return token.tokenTypeIdx === tokType.tokenTypeIdx;\n}\nexport let tokenShortNameIdx = 1;\nexport const tokenIdxToClass = {};\nexport function augmentTokenTypes(tokenTypes) {\n // collect the parent Token Types as well.\n const tokenTypesAndParents = expandCategories(tokenTypes);\n // add required tokenType and categoryMatches properties\n assignTokenDefaultProps(tokenTypesAndParents);\n // fill up the categoryMatches\n assignCategoriesMapProp(tokenTypesAndParents);\n assignCategoriesTokensProp(tokenTypesAndParents);\n forEach(tokenTypesAndParents, (tokType) => {\n tokType.isParent = tokType.categoryMatches.length > 0;\n });\n}\nexport function expandCategories(tokenTypes) {\n let result = clone(tokenTypes);\n let categories = tokenTypes;\n let searching = true;\n while (searching) {\n categories = compact(flatten(map(categories, (currTokType) => currTokType.CATEGORIES)));\n const newCategories = difference(categories, result);\n result = result.concat(newCategories);\n if (isEmpty(newCategories)) {\n searching = false;\n }\n else {\n categories = newCategories;\n }\n }\n return result;\n}\nexport function assignTokenDefaultProps(tokenTypes) {\n forEach(tokenTypes, (currTokType) => {\n if (!hasShortKeyProperty(currTokType)) {\n tokenIdxToClass[tokenShortNameIdx] = currTokType;\n currTokType.tokenTypeIdx = tokenShortNameIdx++;\n }\n // CATEGORIES? : TokenType | TokenType[]\n if (hasCategoriesProperty(currTokType) &&\n !isArray(currTokType.CATEGORIES)\n // &&\n // !isUndefined(currTokType.CATEGORIES.PATTERN)\n ) {\n currTokType.CATEGORIES = [currTokType.CATEGORIES];\n }\n if (!hasCategoriesProperty(currTokType)) {\n currTokType.CATEGORIES = [];\n }\n if (!hasExtendingTokensTypesProperty(currTokType)) {\n currTokType.categoryMatches = [];\n }\n if (!hasExtendingTokensTypesMapProperty(currTokType)) {\n currTokType.categoryMatchesMap = {};\n }\n });\n}\nexport function assignCategoriesTokensProp(tokenTypes) {\n forEach(tokenTypes, (currTokType) => {\n // avoid duplications\n currTokType.categoryMatches = [];\n forEach(currTokType.categoryMatchesMap, (val, key) => {\n currTokType.categoryMatches.push(tokenIdxToClass[key].tokenTypeIdx);\n });\n });\n}\nexport function assignCategoriesMapProp(tokenTypes) {\n forEach(tokenTypes, (currTokType) => {\n singleAssignCategoriesToksMap([], currTokType);\n });\n}\nexport function singleAssignCategoriesToksMap(path, nextNode) {\n forEach(path, (pathNode) => {\n nextNode.categoryMatchesMap[pathNode.tokenTypeIdx] = true;\n });\n forEach(nextNode.CATEGORIES, (nextCategory) => {\n const newPath = path.concat(nextNode);\n // avoids infinite loops due to cyclic categories.\n if (!includes(newPath, nextCategory)) {\n singleAssignCategoriesToksMap(newPath, nextCategory);\n }\n });\n}\nexport function hasShortKeyProperty(tokType) {\n return has(tokType, \"tokenTypeIdx\");\n}\nexport function hasCategoriesProperty(tokType) {\n return has(tokType, \"CATEGORIES\");\n}\nexport function hasExtendingTokensTypesProperty(tokType) {\n return has(tokType, \"categoryMatches\");\n}\nexport function hasExtendingTokensTypesMapProperty(tokType) {\n return has(tokType, \"categoryMatchesMap\");\n}\nexport function isTokenType(tokType) {\n return has(tokType, \"tokenTypeIdx\");\n}\n//# sourceMappingURL=tokens.js.map", + "export const defaultLexerErrorProvider = {\n buildUnableToPopLexerModeMessage(token) {\n return `Unable to pop Lexer Mode after encountering Token ->${token.image}<- The Mode Stack is empty`;\n },\n buildUnexpectedCharactersMessage(fullText, startOffset, length, line, column) {\n return (`unexpected character: ->${fullText.charAt(startOffset)}<- at offset: ${startOffset},` + ` skipped ${length} characters.`);\n },\n};\n//# sourceMappingURL=lexer_errors_public.js.map", + "import { analyzeTokenTypes, charCodeToOptimizedIndex, cloneEmptyGroups, DEFAULT_MODE, LineTerminatorOptimizedTester, performRuntimeChecks, performWarningRuntimeChecks, SUPPORT_STICKY, validatePatterns, } from \"./lexer.js\";\nimport { assign, clone, forEach, identity, isArray, isEmpty, isUndefined, keys, last, map, noop, reduce, reject, } from \"lodash-es\";\nimport { PRINT_WARNING, timer, toFastProperties } from \"@chevrotain/utils\";\nimport { augmentTokenTypes } from \"./tokens.js\";\nimport { defaultLexerErrorProvider } from \"./lexer_errors_public.js\";\nimport { clearRegExpParserCache } from \"./reg_exp_parser.js\";\nexport var LexerDefinitionErrorType;\n(function (LexerDefinitionErrorType) {\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"MISSING_PATTERN\"] = 0] = \"MISSING_PATTERN\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"INVALID_PATTERN\"] = 1] = \"INVALID_PATTERN\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"EOI_ANCHOR_FOUND\"] = 2] = \"EOI_ANCHOR_FOUND\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"UNSUPPORTED_FLAGS_FOUND\"] = 3] = \"UNSUPPORTED_FLAGS_FOUND\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"DUPLICATE_PATTERNS_FOUND\"] = 4] = \"DUPLICATE_PATTERNS_FOUND\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"INVALID_GROUP_TYPE_FOUND\"] = 5] = \"INVALID_GROUP_TYPE_FOUND\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"PUSH_MODE_DOES_NOT_EXIST\"] = 6] = \"PUSH_MODE_DOES_NOT_EXIST\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE\"] = 7] = \"MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY\"] = 8] = \"MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST\"] = 9] = \"MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED\"] = 10] = \"LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"SOI_ANCHOR_FOUND\"] = 11] = \"SOI_ANCHOR_FOUND\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"EMPTY_MATCH_PATTERN\"] = 12] = \"EMPTY_MATCH_PATTERN\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"NO_LINE_BREAKS_FLAGS\"] = 13] = \"NO_LINE_BREAKS_FLAGS\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"UNREACHABLE_PATTERN\"] = 14] = \"UNREACHABLE_PATTERN\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"IDENTIFY_TERMINATOR\"] = 15] = \"IDENTIFY_TERMINATOR\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"CUSTOM_LINE_BREAK\"] = 16] = \"CUSTOM_LINE_BREAK\";\n LexerDefinitionErrorType[LexerDefinitionErrorType[\"MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE\"] = 17] = \"MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE\";\n})(LexerDefinitionErrorType || (LexerDefinitionErrorType = {}));\nconst DEFAULT_LEXER_CONFIG = {\n deferDefinitionErrorsHandling: false,\n positionTracking: \"full\",\n lineTerminatorsPattern: /\\n|\\r\\n?/g,\n lineTerminatorCharacters: [\"\\n\", \"\\r\"],\n ensureOptimizations: false,\n safeMode: false,\n errorMessageProvider: defaultLexerErrorProvider,\n traceInitPerf: false,\n skipValidations: false,\n recoveryEnabled: true,\n};\nObject.freeze(DEFAULT_LEXER_CONFIG);\nexport class Lexer {\n constructor(lexerDefinition, config = DEFAULT_LEXER_CONFIG) {\n this.lexerDefinition = lexerDefinition;\n this.lexerDefinitionErrors = [];\n this.lexerDefinitionWarning = [];\n this.patternIdxToConfig = {};\n this.charCodeToPatternIdxToConfig = {};\n this.modes = [];\n this.emptyGroups = {};\n this.trackStartLines = true;\n this.trackEndLines = true;\n this.hasCustom = false;\n this.canModeBeOptimized = {};\n // Duplicated from the parser's perf trace trait to allow future extraction\n // of the lexer to a separate package.\n this.TRACE_INIT = (phaseDesc, phaseImpl) => {\n // No need to optimize this using NOOP pattern because\n // It is not called in a hot spot...\n if (this.traceInitPerf === true) {\n this.traceInitIndent++;\n const indent = new Array(this.traceInitIndent + 1).join(\"\\t\");\n if (this.traceInitIndent < this.traceInitMaxIdent) {\n console.log(`${indent}--> <${phaseDesc}>`);\n }\n const { time, value } = timer(phaseImpl);\n /* istanbul ignore next - Difficult to reproduce specific performance behavior (>10ms) in tests */\n const traceMethod = time > 10 ? console.warn : console.log;\n if (this.traceInitIndent < this.traceInitMaxIdent) {\n traceMethod(`${indent}<-- <${phaseDesc}> time: ${time}ms`);\n }\n this.traceInitIndent--;\n return value;\n }\n else {\n return phaseImpl();\n }\n };\n if (typeof config === \"boolean\") {\n throw Error(\"The second argument to the Lexer constructor is now an ILexerConfig Object.\\n\" +\n \"a boolean 2nd argument is no longer supported\");\n }\n // todo: defaults func?\n this.config = assign({}, DEFAULT_LEXER_CONFIG, config);\n const traceInitVal = this.config.traceInitPerf;\n if (traceInitVal === true) {\n this.traceInitMaxIdent = Infinity;\n this.traceInitPerf = true;\n }\n else if (typeof traceInitVal === \"number\") {\n this.traceInitMaxIdent = traceInitVal;\n this.traceInitPerf = true;\n }\n this.traceInitIndent = -1;\n this.TRACE_INIT(\"Lexer Constructor\", () => {\n let actualDefinition;\n let hasOnlySingleMode = true;\n this.TRACE_INIT(\"Lexer Config handling\", () => {\n if (this.config.lineTerminatorsPattern ===\n DEFAULT_LEXER_CONFIG.lineTerminatorsPattern) {\n // optimized built-in implementation for the defaults definition of lineTerminators\n this.config.lineTerminatorsPattern = LineTerminatorOptimizedTester;\n }\n else {\n if (this.config.lineTerminatorCharacters ===\n DEFAULT_LEXER_CONFIG.lineTerminatorCharacters) {\n throw Error(\"Error: Missing <lineTerminatorCharacters> property on the Lexer config.\\n\" +\n \"\\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS\");\n }\n }\n if (config.safeMode && config.ensureOptimizations) {\n throw Error('\"safeMode\" and \"ensureOptimizations\" flags are mutually exclusive.');\n }\n this.trackStartLines = /full|onlyStart/i.test(this.config.positionTracking);\n this.trackEndLines = /full/i.test(this.config.positionTracking);\n // Convert SingleModeLexerDefinition into a IMultiModeLexerDefinition.\n if (isArray(lexerDefinition)) {\n actualDefinition = {\n modes: { defaultMode: clone(lexerDefinition) },\n defaultMode: DEFAULT_MODE,\n };\n }\n else {\n // no conversion needed, input should already be a IMultiModeLexerDefinition\n hasOnlySingleMode = false;\n actualDefinition = clone(lexerDefinition);\n }\n });\n if (this.config.skipValidations === false) {\n this.TRACE_INIT(\"performRuntimeChecks\", () => {\n this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(performRuntimeChecks(actualDefinition, this.trackStartLines, this.config.lineTerminatorCharacters));\n });\n this.TRACE_INIT(\"performWarningRuntimeChecks\", () => {\n this.lexerDefinitionWarning = this.lexerDefinitionWarning.concat(performWarningRuntimeChecks(actualDefinition, this.trackStartLines, this.config.lineTerminatorCharacters));\n });\n }\n // for extra robustness to avoid throwing an none informative error message\n actualDefinition.modes = actualDefinition.modes\n ? actualDefinition.modes\n : {};\n // an error of undefined TokenTypes will be detected in \"performRuntimeChecks\" above.\n // this transformation is to increase robustness in the case of partially invalid lexer definition.\n forEach(actualDefinition.modes, (currModeValue, currModeName) => {\n actualDefinition.modes[currModeName] = reject(currModeValue, (currTokType) => isUndefined(currTokType));\n });\n const allModeNames = keys(actualDefinition.modes);\n forEach(actualDefinition.modes, (currModDef, currModName) => {\n this.TRACE_INIT(`Mode: <${currModName}> processing`, () => {\n this.modes.push(currModName);\n if (this.config.skipValidations === false) {\n this.TRACE_INIT(`validatePatterns`, () => {\n this.lexerDefinitionErrors = this.lexerDefinitionErrors.concat(validatePatterns(currModDef, allModeNames));\n });\n }\n // If definition errors were encountered, the analysis phase may fail unexpectedly/\n // Considering a lexer with definition errors may never be used, there is no point\n // to performing the analysis anyhow...\n if (isEmpty(this.lexerDefinitionErrors)) {\n augmentTokenTypes(currModDef);\n let currAnalyzeResult;\n this.TRACE_INIT(`analyzeTokenTypes`, () => {\n currAnalyzeResult = analyzeTokenTypes(currModDef, {\n lineTerminatorCharacters: this.config.lineTerminatorCharacters,\n positionTracking: config.positionTracking,\n ensureOptimizations: config.ensureOptimizations,\n safeMode: config.safeMode,\n tracer: this.TRACE_INIT,\n });\n });\n this.patternIdxToConfig[currModName] =\n currAnalyzeResult.patternIdxToConfig;\n this.charCodeToPatternIdxToConfig[currModName] =\n currAnalyzeResult.charCodeToPatternIdxToConfig;\n this.emptyGroups = assign({}, this.emptyGroups, currAnalyzeResult.emptyGroups);\n this.hasCustom = currAnalyzeResult.hasCustom || this.hasCustom;\n this.canModeBeOptimized[currModName] =\n currAnalyzeResult.canBeOptimized;\n }\n });\n });\n this.defaultMode = actualDefinition.defaultMode;\n if (!isEmpty(this.lexerDefinitionErrors) &&\n !this.config.deferDefinitionErrorsHandling) {\n const allErrMessages = map(this.lexerDefinitionErrors, (error) => {\n return error.message;\n });\n const allErrMessagesString = allErrMessages.join(\"-----------------------\\n\");\n throw new Error(\"Errors detected in definition of Lexer:\\n\" + allErrMessagesString);\n }\n // Only print warning if there are no errors, This will avoid pl\n forEach(this.lexerDefinitionWarning, (warningDescriptor) => {\n PRINT_WARNING(warningDescriptor.message);\n });\n this.TRACE_INIT(\"Choosing sub-methods implementations\", () => {\n // Choose the relevant internal implementations for this specific parser.\n // These implementations should be in-lined by the JavaScript engine\n // to provide optimal performance in each scenario.\n if (SUPPORT_STICKY) {\n this.chopInput = identity;\n this.match = this.matchWithTest;\n }\n else {\n this.updateLastIndex = noop;\n this.match = this.matchWithExec;\n }\n if (hasOnlySingleMode) {\n this.handleModes = noop;\n }\n if (this.trackStartLines === false) {\n this.computeNewColumn = identity;\n }\n if (this.trackEndLines === false) {\n this.updateTokenEndLineColumnLocation = noop;\n }\n if (/full/i.test(this.config.positionTracking)) {\n this.createTokenInstance = this.createFullToken;\n }\n else if (/onlyStart/i.test(this.config.positionTracking)) {\n this.createTokenInstance = this.createStartOnlyToken;\n }\n else if (/onlyOffset/i.test(this.config.positionTracking)) {\n this.createTokenInstance = this.createOffsetOnlyToken;\n }\n else {\n throw Error(`Invalid <positionTracking> config option: \"${this.config.positionTracking}\"`);\n }\n if (this.hasCustom) {\n this.addToken = this.addTokenUsingPush;\n this.handlePayload = this.handlePayloadWithCustom;\n }\n else {\n this.addToken = this.addTokenUsingMemberAccess;\n this.handlePayload = this.handlePayloadNoCustom;\n }\n });\n this.TRACE_INIT(\"Failed Optimization Warnings\", () => {\n const unOptimizedModes = reduce(this.canModeBeOptimized, (cannotBeOptimized, canBeOptimized, modeName) => {\n if (canBeOptimized === false) {\n cannotBeOptimized.push(modeName);\n }\n return cannotBeOptimized;\n }, []);\n if (config.ensureOptimizations && !isEmpty(unOptimizedModes)) {\n throw Error(`Lexer Modes: < ${unOptimizedModes.join(\", \")} > cannot be optimized.\\n` +\n '\\t Disable the \"ensureOptimizations\" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\\n' +\n \"\\t Or inspect the console log for details on how to resolve these issues.\");\n }\n });\n this.TRACE_INIT(\"clearRegExpParserCache\", () => {\n clearRegExpParserCache();\n });\n this.TRACE_INIT(\"toFastProperties\", () => {\n toFastProperties(this);\n });\n });\n }\n tokenize(text, initialMode = this.defaultMode) {\n if (!isEmpty(this.lexerDefinitionErrors)) {\n const allErrMessages = map(this.lexerDefinitionErrors, (error) => {\n return error.message;\n });\n const allErrMessagesString = allErrMessages.join(\"-----------------------\\n\");\n throw new Error(\"Unable to Tokenize because Errors detected in definition of Lexer:\\n\" +\n allErrMessagesString);\n }\n return this.tokenizeInternal(text, initialMode);\n }\n // There is quite a bit of duplication between this and \"tokenizeInternalLazy\"\n // This is intentional due to performance considerations.\n // this method also used quite a bit of `!` none null assertions because it is too optimized\n // for `tsc` to always understand it is \"safe\"\n tokenizeInternal(text, initialMode) {\n let i, j, k, matchAltImage, longerAlt, matchedImage, payload, altPayload, imageLength, group, tokType, newToken, errLength, droppedChar, msg, match;\n const orgText = text;\n const orgLength = orgText.length;\n let offset = 0;\n let matchedTokensIndex = 0;\n // initializing the tokensArray to the \"guessed\" size.\n // guessing too little will still reduce the number of array re-sizes on pushes.\n // guessing too large (Tested by guessing x4 too large) may cost a bit more of memory\n // but would still have a faster runtime by avoiding (All but one) array resizing.\n const guessedNumberOfTokens = this.hasCustom\n ? 0 // will break custom token pattern APIs the matchedTokens array will contain undefined elements.\n : Math.floor(text.length / 10);\n const matchedTokens = new Array(guessedNumberOfTokens);\n const errors = [];\n let line = this.trackStartLines ? 1 : undefined;\n let column = this.trackStartLines ? 1 : undefined;\n const groups = cloneEmptyGroups(this.emptyGroups);\n const trackLines = this.trackStartLines;\n const lineTerminatorPattern = this.config.lineTerminatorsPattern;\n let currModePatternsLength = 0;\n let patternIdxToConfig = [];\n let currCharCodeToPatternIdxToConfig = [];\n const modeStack = [];\n const emptyArray = [];\n Object.freeze(emptyArray);\n let getPossiblePatterns;\n function getPossiblePatternsSlow() {\n return patternIdxToConfig;\n }\n function getPossiblePatternsOptimized(charCode) {\n const optimizedCharIdx = charCodeToOptimizedIndex(charCode);\n const possiblePatterns = currCharCodeToPatternIdxToConfig[optimizedCharIdx];\n if (possiblePatterns === undefined) {\n return emptyArray;\n }\n else {\n return possiblePatterns;\n }\n }\n const pop_mode = (popToken) => {\n // TODO: perhaps avoid this error in the edge case there is no more input?\n if (modeStack.length === 1 &&\n // if we have both a POP_MODE and a PUSH_MODE this is in-fact a \"transition\"\n // So no error should occur.\n popToken.tokenType.PUSH_MODE === undefined) {\n // if we try to pop the last mode there lexer will no longer have ANY mode.\n // thus the pop is ignored, an error will be created and the lexer will continue parsing in the previous mode.\n const msg = this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(popToken);\n errors.push({\n offset: popToken.startOffset,\n line: popToken.startLine,\n column: popToken.startColumn,\n length: popToken.image.length,\n message: msg,\n });\n }\n else {\n modeStack.pop();\n const newMode = last(modeStack);\n patternIdxToConfig = this.patternIdxToConfig[newMode];\n currCharCodeToPatternIdxToConfig =\n this.charCodeToPatternIdxToConfig[newMode];\n currModePatternsLength = patternIdxToConfig.length;\n const modeCanBeOptimized = this.canModeBeOptimized[newMode] && this.config.safeMode === false;\n if (currCharCodeToPatternIdxToConfig && modeCanBeOptimized) {\n getPossiblePatterns = getPossiblePatternsOptimized;\n }\n else {\n getPossiblePatterns = getPossiblePatternsSlow;\n }\n }\n };\n function push_mode(newMode) {\n modeStack.push(newMode);\n currCharCodeToPatternIdxToConfig =\n this.charCodeToPatternIdxToConfig[newMode];\n patternIdxToConfig = this.patternIdxToConfig[newMode];\n currModePatternsLength = patternIdxToConfig.length;\n currModePatternsLength = patternIdxToConfig.length;\n const modeCanBeOptimized = this.canModeBeOptimized[newMode] && this.config.safeMode === false;\n if (currCharCodeToPatternIdxToConfig && modeCanBeOptimized) {\n getPossiblePatterns = getPossiblePatternsOptimized;\n }\n else {\n getPossiblePatterns = getPossiblePatternsSlow;\n }\n }\n // this pattern seems to avoid a V8 de-optimization, although that de-optimization does not\n // seem to matter performance wise.\n push_mode.call(this, initialMode);\n let currConfig;\n const recoveryEnabled = this.config.recoveryEnabled;\n while (offset < orgLength) {\n matchedImage = null;\n const nextCharCode = orgText.charCodeAt(offset);\n const chosenPatternIdxToConfig = getPossiblePatterns(nextCharCode);\n const chosenPatternsLength = chosenPatternIdxToConfig.length;\n for (i = 0; i < chosenPatternsLength; i++) {\n currConfig = chosenPatternIdxToConfig[i];\n const currPattern = currConfig.pattern;\n payload = null;\n // manually in-lined because > 600 chars won't be in-lined in V8\n const singleCharCode = currConfig.short;\n if (singleCharCode !== false) {\n if (nextCharCode === singleCharCode) {\n // single character string\n matchedImage = currPattern;\n }\n }\n else if (currConfig.isCustom === true) {\n match = currPattern.exec(orgText, offset, matchedTokens, groups);\n if (match !== null) {\n matchedImage = match[0];\n if (match.payload !== undefined) {\n payload = match.payload;\n }\n }\n else {\n matchedImage = null;\n }\n }\n else {\n this.updateLastIndex(currPattern, offset);\n matchedImage = this.match(currPattern, text, offset);\n }\n if (matchedImage !== null) {\n // even though this pattern matched we must try a another longer alternative.\n // this can be used to prioritize keywords over identifiers\n longerAlt = currConfig.longerAlt;\n if (longerAlt !== undefined) {\n // TODO: micro optimize, avoid extra prop access\n // by saving/linking longerAlt on the original config?\n const longerAltLength = longerAlt.length;\n for (k = 0; k < longerAltLength; k++) {\n const longerAltConfig = patternIdxToConfig[longerAlt[k]];\n const longerAltPattern = longerAltConfig.pattern;\n altPayload = null;\n // single Char can never be a longer alt so no need to test it.\n // manually in-lined because > 600 chars won't be in-lined in V8\n if (longerAltConfig.isCustom === true) {\n match = longerAltPattern.exec(orgText, offset, matchedTokens, groups);\n if (match !== null) {\n matchAltImage = match[0];\n if (match.payload !== undefined) {\n altPayload = match.payload;\n }\n }\n else {\n matchAltImage = null;\n }\n }\n else {\n this.updateLastIndex(longerAltPattern, offset);\n matchAltImage = this.match(longerAltPattern, text, offset);\n }\n if (matchAltImage && matchAltImage.length > matchedImage.length) {\n matchedImage = matchAltImage;\n payload = altPayload;\n currConfig = longerAltConfig;\n // Exit the loop early after matching one of the longer alternatives\n // The first matched alternative takes precedence\n break;\n }\n }\n }\n break;\n }\n }\n // successful match\n if (matchedImage !== null) {\n imageLength = matchedImage.length;\n group = currConfig.group;\n if (group !== undefined) {\n tokType = currConfig.tokenTypeIdx;\n // TODO: \"offset + imageLength\" and the new column may be computed twice in case of \"full\" location information inside\n // createFullToken method\n newToken = this.createTokenInstance(matchedImage, offset, tokType, currConfig.tokenType, line, column, imageLength);\n this.handlePayload(newToken, payload);\n // TODO: optimize NOOP in case there are no special groups?\n if (group === false) {\n matchedTokensIndex = this.addToken(matchedTokens, matchedTokensIndex, newToken);\n }\n else {\n groups[group].push(newToken);\n }\n }\n text = this.chopInput(text, imageLength);\n offset = offset + imageLength;\n // TODO: with newlines the column may be assigned twice\n column = this.computeNewColumn(column, imageLength);\n if (trackLines === true && currConfig.canLineTerminator === true) {\n let numOfLTsInMatch = 0;\n let foundTerminator;\n let lastLTEndOffset;\n lineTerminatorPattern.lastIndex = 0;\n do {\n foundTerminator = lineTerminatorPattern.test(matchedImage);\n if (foundTerminator === true) {\n lastLTEndOffset = lineTerminatorPattern.lastIndex - 1;\n numOfLTsInMatch++;\n }\n } while (foundTerminator === true);\n if (numOfLTsInMatch !== 0) {\n line = line + numOfLTsInMatch;\n column = imageLength - lastLTEndOffset;\n this.updateTokenEndLineColumnLocation(newToken, group, lastLTEndOffset, numOfLTsInMatch, line, column, imageLength);\n }\n }\n // will be NOOP if no modes present\n this.handleModes(currConfig, pop_mode, push_mode, newToken);\n }\n else {\n // error recovery, drop characters until we identify a valid token's start point\n const errorStartOffset = offset;\n const errorLine = line;\n const errorColumn = column;\n let foundResyncPoint = recoveryEnabled === false;\n while (foundResyncPoint === false && offset < orgLength) {\n // Identity Func (when sticky flag is enabled)\n text = this.chopInput(text, 1);\n offset++;\n for (j = 0; j < currModePatternsLength; j++) {\n const currConfig = patternIdxToConfig[j];\n const currPattern = currConfig.pattern;\n // manually in-lined because > 600 chars won't be in-lined in V8\n const singleCharCode = currConfig.short;\n if (singleCharCode !== false) {\n if (orgText.charCodeAt(offset) === singleCharCode) {\n // single character string\n foundResyncPoint = true;\n }\n }\n else if (currConfig.isCustom === true) {\n foundResyncPoint =\n currPattern.exec(orgText, offset, matchedTokens, groups) !== null;\n }\n else {\n this.updateLastIndex(currPattern, offset);\n foundResyncPoint = currPattern.exec(text) !== null;\n }\n if (foundResyncPoint === true) {\n break;\n }\n }\n }\n errLength = offset - errorStartOffset;\n column = this.computeNewColumn(column, errLength);\n // at this point we either re-synced or reached the end of the input text\n msg = this.config.errorMessageProvider.buildUnexpectedCharactersMessage(orgText, errorStartOffset, errLength, errorLine, errorColumn);\n errors.push({\n offset: errorStartOffset,\n line: errorLine,\n column: errorColumn,\n length: errLength,\n message: msg,\n });\n if (recoveryEnabled === false) {\n break;\n }\n }\n }\n // if we do have custom patterns which push directly into the\n // TODO: custom tokens should not push directly??\n if (!this.hasCustom) {\n // if we guessed a too large size for the tokens array this will shrink it to the right size.\n matchedTokens.length = matchedTokensIndex;\n }\n return {\n tokens: matchedTokens,\n groups: groups,\n errors: errors,\n };\n }\n handleModes(config, pop_mode, push_mode, newToken) {\n if (config.pop === true) {\n // need to save the PUSH_MODE property as if the mode is popped\n // patternIdxToPopMode is updated to reflect the new mode after popping the stack\n const pushMode = config.push;\n pop_mode(newToken);\n if (pushMode !== undefined) {\n push_mode.call(this, pushMode);\n }\n }\n else if (config.push !== undefined) {\n push_mode.call(this, config.push);\n }\n }\n chopInput(text, length) {\n return text.substring(length);\n }\n updateLastIndex(regExp, newLastIndex) {\n regExp.lastIndex = newLastIndex;\n }\n // TODO: decrease this under 600 characters? inspect stripping comments option in TSC compiler\n updateTokenEndLineColumnLocation(newToken, group, lastLTIdx, numOfLTsInMatch, line, column, imageLength) {\n let lastCharIsLT, fixForEndingInLT;\n if (group !== undefined) {\n // a none skipped multi line Token, need to update endLine/endColumn\n lastCharIsLT = lastLTIdx === imageLength - 1;\n fixForEndingInLT = lastCharIsLT ? -1 : 0;\n if (!(numOfLTsInMatch === 1 && lastCharIsLT === true)) {\n // if a token ends in a LT that last LT only affects the line numbering of following Tokens\n newToken.endLine = line + fixForEndingInLT;\n // the last LT in a token does not affect the endColumn either as the [columnStart ... columnEnd)\n // inclusive to exclusive range.\n newToken.endColumn = column - 1 + -fixForEndingInLT;\n }\n // else single LT in the last character of a token, no need to modify the endLine/EndColumn\n }\n }\n computeNewColumn(oldColumn, imageLength) {\n return oldColumn + imageLength;\n }\n createOffsetOnlyToken(image, startOffset, tokenTypeIdx, tokenType) {\n return {\n image,\n startOffset,\n tokenTypeIdx,\n tokenType,\n };\n }\n createStartOnlyToken(image, startOffset, tokenTypeIdx, tokenType, startLine, startColumn) {\n return {\n image,\n startOffset,\n startLine,\n startColumn,\n tokenTypeIdx,\n tokenType,\n };\n }\n createFullToken(image, startOffset, tokenTypeIdx, tokenType, startLine, startColumn, imageLength) {\n return {\n image,\n startOffset,\n endOffset: startOffset + imageLength - 1,\n startLine,\n endLine: startLine,\n startColumn,\n endColumn: startColumn + imageLength - 1,\n tokenTypeIdx,\n tokenType,\n };\n }\n addTokenUsingPush(tokenVector, index, tokenToAdd) {\n tokenVector.push(tokenToAdd);\n return index;\n }\n addTokenUsingMemberAccess(tokenVector, index, tokenToAdd) {\n tokenVector[index] = tokenToAdd;\n index++;\n return index;\n }\n handlePayloadNoCustom(token, payload) { }\n handlePayloadWithCustom(token, payload) {\n if (payload !== null) {\n token.payload = payload;\n }\n }\n matchWithTest(pattern, text, offset) {\n const found = pattern.test(text);\n if (found === true) {\n return text.substring(offset, pattern.lastIndex);\n }\n return null;\n }\n matchWithExec(pattern, text) {\n const regExpArray = pattern.exec(text);\n return regExpArray !== null ? regExpArray[0] : null;\n }\n}\nLexer.SKIPPED = \"This marks a skipped Token pattern, this means each token identified by it will\" +\n \"be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.\";\nLexer.NA = /NOT_APPLICABLE/;\n//# sourceMappingURL=lexer_public.js.map", + "import { has, isString, isUndefined } from \"lodash-es\";\nimport { Lexer } from \"./lexer_public.js\";\nimport { augmentTokenTypes, tokenStructuredMatcher } from \"./tokens.js\";\nexport function tokenLabel(tokType) {\n if (hasTokenLabel(tokType)) {\n return tokType.LABEL;\n }\n else {\n return tokType.name;\n }\n}\nexport function tokenName(tokType) {\n return tokType.name;\n}\nexport function hasTokenLabel(obj) {\n return isString(obj.LABEL) && obj.LABEL !== \"\";\n}\nconst PARENT = \"parent\";\nconst CATEGORIES = \"categories\";\nconst LABEL = \"label\";\nconst GROUP = \"group\";\nconst PUSH_MODE = \"push_mode\";\nconst POP_MODE = \"pop_mode\";\nconst LONGER_ALT = \"longer_alt\";\nconst LINE_BREAKS = \"line_breaks\";\nconst START_CHARS_HINT = \"start_chars_hint\";\nexport function createToken(config) {\n return createTokenInternal(config);\n}\nfunction createTokenInternal(config) {\n const pattern = config.pattern;\n const tokenType = {};\n tokenType.name = config.name;\n if (!isUndefined(pattern)) {\n tokenType.PATTERN = pattern;\n }\n if (has(config, PARENT)) {\n throw (\"The parent property is no longer supported.\\n\" +\n \"See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.\");\n }\n if (has(config, CATEGORIES)) {\n // casting to ANY as this will be fixed inside `augmentTokenTypes``\n tokenType.CATEGORIES = config[CATEGORIES];\n }\n augmentTokenTypes([tokenType]);\n if (has(config, LABEL)) {\n tokenType.LABEL = config[LABEL];\n }\n if (has(config, GROUP)) {\n tokenType.GROUP = config[GROUP];\n }\n if (has(config, POP_MODE)) {\n tokenType.POP_MODE = config[POP_MODE];\n }\n if (has(config, PUSH_MODE)) {\n tokenType.PUSH_MODE = config[PUSH_MODE];\n }\n if (has(config, LONGER_ALT)) {\n tokenType.LONGER_ALT = config[LONGER_ALT];\n }\n if (has(config, LINE_BREAKS)) {\n tokenType.LINE_BREAKS = config[LINE_BREAKS];\n }\n if (has(config, START_CHARS_HINT)) {\n tokenType.START_CHARS_HINT = config[START_CHARS_HINT];\n }\n return tokenType;\n}\nexport const EOF = createToken({ name: \"EOF\", pattern: Lexer.NA });\naugmentTokenTypes([EOF]);\nexport function createTokenInstance(tokType, image, startOffset, endOffset, startLine, endLine, startColumn, endColumn) {\n return {\n image,\n startOffset,\n endOffset,\n startLine,\n endLine,\n startColumn,\n endColumn,\n tokenTypeIdx: tokType.tokenTypeIdx,\n tokenType: tokType,\n };\n}\nexport function tokenMatcher(token, tokType) {\n return tokenStructuredMatcher(token, tokType);\n}\n//# sourceMappingURL=tokens_public.js.map", + "import { hasTokenLabel, tokenLabel } from \"../scan/tokens_public.js\";\nimport { first, map, reduce } from \"lodash-es\";\nimport { getProductionDslName, NonTerminal, Rule, Terminal, } from \"@chevrotain/gast\";\nexport const defaultParserErrorProvider = {\n buildMismatchTokenMessage({ expected, actual, previous, ruleName }) {\n const hasLabel = hasTokenLabel(expected);\n const expectedMsg = hasLabel\n ? `--> ${tokenLabel(expected)} <--`\n : `token of type --> ${expected.name} <--`;\n const msg = `Expecting ${expectedMsg} but found --> '${actual.image}' <--`;\n return msg;\n },\n buildNotAllInputParsedMessage({ firstRedundant, ruleName }) {\n return \"Redundant input, expecting EOF but found: \" + firstRedundant.image;\n },\n buildNoViableAltMessage({ expectedPathsPerAlt, actual, previous, customUserDescription, ruleName, }) {\n const errPrefix = \"Expecting: \";\n // TODO: issue: No Viable Alternative Error may have incomplete details. #502\n const actualText = first(actual).image;\n const errSuffix = \"\\nbut found: '\" + actualText + \"'\";\n if (customUserDescription) {\n return errPrefix + customUserDescription + errSuffix;\n }\n else {\n const allLookAheadPaths = reduce(expectedPathsPerAlt, (result, currAltPaths) => result.concat(currAltPaths), []);\n const nextValidTokenSequences = map(allLookAheadPaths, (currPath) => `[${map(currPath, (currTokenType) => tokenLabel(currTokenType)).join(\", \")}]`);\n const nextValidSequenceItems = map(nextValidTokenSequences, (itemMsg, idx) => ` ${idx + 1}. ${itemMsg}`);\n const calculatedDescription = `one of these possible Token sequences:\\n${nextValidSequenceItems.join(\"\\n\")}`;\n return errPrefix + calculatedDescription + errSuffix;\n }\n },\n buildEarlyExitMessage({ expectedIterationPaths, actual, customUserDescription, ruleName, }) {\n const errPrefix = \"Expecting: \";\n // TODO: issue: No Viable Alternative Error may have incomplete details. #502\n const actualText = first(actual).image;\n const errSuffix = \"\\nbut found: '\" + actualText + \"'\";\n if (customUserDescription) {\n return errPrefix + customUserDescription + errSuffix;\n }\n else {\n const nextValidTokenSequences = map(expectedIterationPaths, (currPath) => `[${map(currPath, (currTokenType) => tokenLabel(currTokenType)).join(\",\")}]`);\n const calculatedDescription = `expecting at least one iteration which starts with one of these possible Token sequences::\\n ` +\n `<${nextValidTokenSequences.join(\" ,\")}>`;\n return errPrefix + calculatedDescription + errSuffix;\n }\n },\n};\nObject.freeze(defaultParserErrorProvider);\nexport const defaultGrammarResolverErrorProvider = {\n buildRuleNotFoundError(topLevelRule, undefinedRule) {\n const msg = \"Invalid grammar, reference to a rule which is not defined: ->\" +\n undefinedRule.nonTerminalName +\n \"<-\\n\" +\n \"inside top level rule: ->\" +\n topLevelRule.name +\n \"<-\";\n return msg;\n },\n};\nexport const defaultGrammarValidatorErrorProvider = {\n buildDuplicateFoundError(topLevelRule, duplicateProds) {\n function getExtraProductionArgument(prod) {\n if (prod instanceof Terminal) {\n return prod.terminalType.name;\n }\n else if (prod instanceof NonTerminal) {\n return prod.nonTerminalName;\n }\n else {\n return \"\";\n }\n }\n const topLevelName = topLevelRule.name;\n const duplicateProd = first(duplicateProds);\n const index = duplicateProd.idx;\n const dslName = getProductionDslName(duplicateProd);\n const extraArgument = getExtraProductionArgument(duplicateProd);\n const hasExplicitIndex = index > 0;\n let msg = `->${dslName}${hasExplicitIndex ? index : \"\"}<- ${extraArgument ? `with argument: ->${extraArgument}<-` : \"\"}\n appears more than once (${duplicateProds.length} times) in the top level rule: ->${topLevelName}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;\n // white space trimming time! better to trim afterwards as it allows to use WELL formatted multi line template strings...\n msg = msg.replace(/[ \\t]+/g, \" \");\n msg = msg.replace(/\\s\\s+/g, \"\\n\");\n return msg;\n },\n buildNamespaceConflictError(rule) {\n const errMsg = `Namespace conflict found in grammar.\\n` +\n `The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${rule.name}>.\\n` +\n `To resolve this make sure each Terminal and Non-Terminal names are unique\\n` +\n `This is easy to accomplish by using the convention that Terminal names start with an uppercase letter\\n` +\n `and Non-Terminal names start with a lower case letter.`;\n return errMsg;\n },\n buildAlternationPrefixAmbiguityError(options) {\n const pathMsg = map(options.prefixPath, (currTok) => tokenLabel(currTok)).join(\", \");\n const occurrence = options.alternation.idx === 0 ? \"\" : options.alternation.idx;\n const errMsg = `Ambiguous alternatives: <${options.ambiguityIndices.join(\" ,\")}> due to common lookahead prefix\\n` +\n `in <OR${occurrence}> inside <${options.topLevelRule.name}> Rule,\\n` +\n `<${pathMsg}> may appears as a prefix path in all these alternatives.\\n` +\n `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\\n` +\n `For Further details.`;\n return errMsg;\n },\n buildAlternationAmbiguityError(options) {\n const pathMsg = map(options.prefixPath, (currtok) => tokenLabel(currtok)).join(\", \");\n const occurrence = options.alternation.idx === 0 ? \"\" : options.alternation.idx;\n let currMessage = `Ambiguous Alternatives Detected: <${options.ambiguityIndices.join(\" ,\")}> in <OR${occurrence}>` +\n ` inside <${options.topLevelRule.name}> Rule,\\n` +\n `<${pathMsg}> may appears as a prefix path in all these alternatives.\\n`;\n currMessage =\n currMessage +\n `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\\n` +\n `For Further details.`;\n return currMessage;\n },\n buildEmptyRepetitionError(options) {\n let dslName = getProductionDslName(options.repetition);\n if (options.repetition.idx !== 0) {\n dslName += options.repetition.idx;\n }\n const errMsg = `The repetition <${dslName}> within Rule <${options.topLevelRule.name}> can never consume any tokens.\\n` +\n `This could lead to an infinite loop.`;\n return errMsg;\n },\n // TODO: remove - `errors_public` from nyc.config.js exclude\n // once this method is fully removed from this file\n buildTokenNameError(options) {\n /* istanbul ignore next */\n return \"deprecated\";\n },\n buildEmptyAlternationError(options) {\n const errMsg = `Ambiguous empty alternative: <${options.emptyChoiceIdx + 1}>` +\n ` in <OR${options.alternation.idx}> inside <${options.topLevelRule.name}> Rule.\\n` +\n `Only the last alternative may be an empty alternative.`;\n return errMsg;\n },\n buildTooManyAlternativesError(options) {\n const errMsg = `An Alternation cannot have more than 256 alternatives:\\n` +\n `<OR${options.alternation.idx}> inside <${options.topLevelRule.name}> Rule.\\n has ${options.alternation.definition.length + 1} alternatives.`;\n return errMsg;\n },\n buildLeftRecursionError(options) {\n const ruleName = options.topLevelRule.name;\n const pathNames = map(options.leftRecursionPath, (currRule) => currRule.name);\n const leftRecursivePath = `${ruleName} --> ${pathNames\n .concat([ruleName])\n .join(\" --> \")}`;\n const errMsg = `Left Recursion found in grammar.\\n` +\n `rule: <${ruleName}> can be invoked from itself (directly or indirectly)\\n` +\n `without consuming any Tokens. The grammar path that causes this is: \\n ${leftRecursivePath}\\n` +\n ` To fix this refactor your grammar to remove the left recursion.\\n` +\n `see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`;\n return errMsg;\n },\n // TODO: remove - `errors_public` from nyc.config.js exclude\n // once this method is fully removed from this file\n buildInvalidRuleNameError(options) {\n /* istanbul ignore next */\n return \"deprecated\";\n },\n buildDuplicateRuleNameError(options) {\n let ruleName;\n if (options.topLevelRule instanceof Rule) {\n ruleName = options.topLevelRule.name;\n }\n else {\n ruleName = options.topLevelRule;\n }\n const errMsg = `Duplicate definition, rule: ->${ruleName}<- is already defined in the grammar: ->${options.grammarName}<-`;\n return errMsg;\n },\n};\n//# sourceMappingURL=errors_public.js.map", + "import { ParserDefinitionErrorType, } from \"../parser/parser.js\";\nimport { forEach, values } from \"lodash-es\";\nimport { GAstVisitor } from \"@chevrotain/gast\";\nexport function resolveGrammar(topLevels, errMsgProvider) {\n const refResolver = new GastRefResolverVisitor(topLevels, errMsgProvider);\n refResolver.resolveRefs();\n return refResolver.errors;\n}\nexport class GastRefResolverVisitor extends GAstVisitor {\n constructor(nameToTopRule, errMsgProvider) {\n super();\n this.nameToTopRule = nameToTopRule;\n this.errMsgProvider = errMsgProvider;\n this.errors = [];\n }\n resolveRefs() {\n forEach(values(this.nameToTopRule), (prod) => {\n this.currTopLevel = prod;\n prod.accept(this);\n });\n }\n visitNonTerminal(node) {\n const ref = this.nameToTopRule[node.nonTerminalName];\n if (!ref) {\n const msg = this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel, node);\n this.errors.push({\n message: msg,\n type: ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,\n ruleName: this.currTopLevel.name,\n unresolvedRefName: node.nonTerminalName,\n });\n }\n else {\n node.referencedRule = ref;\n }\n }\n}\n//# sourceMappingURL=resolver.js.map", + "import { clone, drop, dropRight, first as _first, forEach, isEmpty, last, } from \"lodash-es\";\nimport { first } from \"./first.js\";\nimport { RestWalker } from \"./rest.js\";\nimport { Alternation, Alternative, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Rule, Terminal, } from \"@chevrotain/gast\";\nexport class AbstractNextPossibleTokensWalker extends RestWalker {\n constructor(topProd, path) {\n super();\n this.topProd = topProd;\n this.path = path;\n this.possibleTokTypes = [];\n this.nextProductionName = \"\";\n this.nextProductionOccurrence = 0;\n this.found = false;\n this.isAtEndOfPath = false;\n }\n startWalking() {\n this.found = false;\n if (this.path.ruleStack[0] !== this.topProd.name) {\n throw Error(\"The path does not start with the walker's top Rule!\");\n }\n // immutable for the win\n this.ruleStack = clone(this.path.ruleStack).reverse(); // intelij bug requires assertion\n this.occurrenceStack = clone(this.path.occurrenceStack).reverse(); // intelij bug requires assertion\n // already verified that the first production is valid, we now seek the 2nd production\n this.ruleStack.pop();\n this.occurrenceStack.pop();\n this.updateExpectedNext();\n this.walk(this.topProd);\n return this.possibleTokTypes;\n }\n walk(prod, prevRest = []) {\n // stop scanning once we found the path\n if (!this.found) {\n super.walk(prod, prevRest);\n }\n }\n walkProdRef(refProd, currRest, prevRest) {\n // found the next production, need to keep walking in it\n if (refProd.referencedRule.name === this.nextProductionName &&\n refProd.idx === this.nextProductionOccurrence) {\n const fullRest = currRest.concat(prevRest);\n this.updateExpectedNext();\n this.walk(refProd.referencedRule, fullRest);\n }\n }\n updateExpectedNext() {\n // need to consume the Terminal\n if (isEmpty(this.ruleStack)) {\n // must reset nextProductionXXX to avoid walking down another Top Level production while what we are\n // really seeking is the last Terminal...\n this.nextProductionName = \"\";\n this.nextProductionOccurrence = 0;\n this.isAtEndOfPath = true;\n }\n else {\n this.nextProductionName = this.ruleStack.pop();\n this.nextProductionOccurrence = this.occurrenceStack.pop();\n }\n }\n}\nexport class NextAfterTokenWalker extends AbstractNextPossibleTokensWalker {\n constructor(topProd, path) {\n super(topProd, path);\n this.path = path;\n this.nextTerminalName = \"\";\n this.nextTerminalOccurrence = 0;\n this.nextTerminalName = this.path.lastTok.name;\n this.nextTerminalOccurrence = this.path.lastTokOccurrence;\n }\n walkTerminal(terminal, currRest, prevRest) {\n if (this.isAtEndOfPath &&\n terminal.terminalType.name === this.nextTerminalName &&\n terminal.idx === this.nextTerminalOccurrence &&\n !this.found) {\n const fullRest = currRest.concat(prevRest);\n const restProd = new Alternative({ definition: fullRest });\n this.possibleTokTypes = first(restProd);\n this.found = true;\n }\n }\n}\n/**\n * This walker only \"walks\" a single \"TOP\" level in the Grammar Ast, this means\n * it never \"follows\" production refs\n */\nexport class AbstractNextTerminalAfterProductionWalker extends RestWalker {\n constructor(topRule, occurrence) {\n super();\n this.topRule = topRule;\n this.occurrence = occurrence;\n this.result = {\n token: undefined,\n occurrence: undefined,\n isEndOfRule: undefined,\n };\n }\n startWalking() {\n this.walk(this.topRule);\n return this.result;\n }\n}\nexport class NextTerminalAfterManyWalker extends AbstractNextTerminalAfterProductionWalker {\n walkMany(manyProd, currRest, prevRest) {\n if (manyProd.idx === this.occurrence) {\n const firstAfterMany = _first(currRest.concat(prevRest));\n this.result.isEndOfRule = firstAfterMany === undefined;\n if (firstAfterMany instanceof Terminal) {\n this.result.token = firstAfterMany.terminalType;\n this.result.occurrence = firstAfterMany.idx;\n }\n }\n else {\n super.walkMany(manyProd, currRest, prevRest);\n }\n }\n}\nexport class NextTerminalAfterManySepWalker extends AbstractNextTerminalAfterProductionWalker {\n walkManySep(manySepProd, currRest, prevRest) {\n if (manySepProd.idx === this.occurrence) {\n const firstAfterManySep = _first(currRest.concat(prevRest));\n this.result.isEndOfRule = firstAfterManySep === undefined;\n if (firstAfterManySep instanceof Terminal) {\n this.result.token = firstAfterManySep.terminalType;\n this.result.occurrence = firstAfterManySep.idx;\n }\n }\n else {\n super.walkManySep(manySepProd, currRest, prevRest);\n }\n }\n}\nexport class NextTerminalAfterAtLeastOneWalker extends AbstractNextTerminalAfterProductionWalker {\n walkAtLeastOne(atLeastOneProd, currRest, prevRest) {\n if (atLeastOneProd.idx === this.occurrence) {\n const firstAfterAtLeastOne = _first(currRest.concat(prevRest));\n this.result.isEndOfRule = firstAfterAtLeastOne === undefined;\n if (firstAfterAtLeastOne instanceof Terminal) {\n this.result.token = firstAfterAtLeastOne.terminalType;\n this.result.occurrence = firstAfterAtLeastOne.idx;\n }\n }\n else {\n super.walkAtLeastOne(atLeastOneProd, currRest, prevRest);\n }\n }\n}\n// TODO: reduce code duplication in the AfterWalkers\nexport class NextTerminalAfterAtLeastOneSepWalker extends AbstractNextTerminalAfterProductionWalker {\n walkAtLeastOneSep(atleastOneSepProd, currRest, prevRest) {\n if (atleastOneSepProd.idx === this.occurrence) {\n const firstAfterfirstAfterAtLeastOneSep = _first(currRest.concat(prevRest));\n this.result.isEndOfRule = firstAfterfirstAfterAtLeastOneSep === undefined;\n if (firstAfterfirstAfterAtLeastOneSep instanceof Terminal) {\n this.result.token = firstAfterfirstAfterAtLeastOneSep.terminalType;\n this.result.occurrence = firstAfterfirstAfterAtLeastOneSep.idx;\n }\n }\n else {\n super.walkAtLeastOneSep(atleastOneSepProd, currRest, prevRest);\n }\n }\n}\nexport function possiblePathsFrom(targetDef, maxLength, currPath = []) {\n // avoid side effects\n currPath = clone(currPath);\n let result = [];\n let i = 0;\n // TODO: avoid inner funcs\n function remainingPathWith(nextDef) {\n return nextDef.concat(drop(targetDef, i + 1));\n }\n // TODO: avoid inner funcs\n function getAlternativesForProd(definition) {\n const alternatives = possiblePathsFrom(remainingPathWith(definition), maxLength, currPath);\n return result.concat(alternatives);\n }\n /**\n * Mandatory productions will halt the loop as the paths computed from their recursive calls will already contain the\n * following (rest) of the targetDef.\n *\n * For optional productions (Option/Repetition/...) the loop will continue to represent the paths that do not include the\n * the optional production.\n */\n while (currPath.length < maxLength && i < targetDef.length) {\n const prod = targetDef[i];\n /* istanbul ignore else */\n if (prod instanceof Alternative) {\n return getAlternativesForProd(prod.definition);\n }\n else if (prod instanceof NonTerminal) {\n return getAlternativesForProd(prod.definition);\n }\n else if (prod instanceof Option) {\n result = getAlternativesForProd(prod.definition);\n }\n else if (prod instanceof RepetitionMandatory) {\n const newDef = prod.definition.concat([\n new Repetition({\n definition: prod.definition,\n }),\n ]);\n return getAlternativesForProd(newDef);\n }\n else if (prod instanceof RepetitionMandatoryWithSeparator) {\n const newDef = [\n new Alternative({ definition: prod.definition }),\n new Repetition({\n definition: [new Terminal({ terminalType: prod.separator })].concat(prod.definition),\n }),\n ];\n return getAlternativesForProd(newDef);\n }\n else if (prod instanceof RepetitionWithSeparator) {\n const newDef = prod.definition.concat([\n new Repetition({\n definition: [new Terminal({ terminalType: prod.separator })].concat(prod.definition),\n }),\n ]);\n result = getAlternativesForProd(newDef);\n }\n else if (prod instanceof Repetition) {\n const newDef = prod.definition.concat([\n new Repetition({\n definition: prod.definition,\n }),\n ]);\n result = getAlternativesForProd(newDef);\n }\n else if (prod instanceof Alternation) {\n forEach(prod.definition, (currAlt) => {\n // TODO: this is a limited check for empty alternatives\n // It would prevent a common case of infinite loops during parser initialization.\n // However **in-directly** empty alternatives may still cause issues.\n if (isEmpty(currAlt.definition) === false) {\n result = getAlternativesForProd(currAlt.definition);\n }\n });\n return result;\n }\n else if (prod instanceof Terminal) {\n currPath.push(prod.terminalType);\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n i++;\n }\n result.push({\n partialPath: currPath,\n suffixDef: drop(targetDef, i),\n });\n return result;\n}\nexport function nextPossibleTokensAfter(initialDef, tokenVector, tokMatcher, maxLookAhead) {\n const EXIT_NON_TERMINAL = \"EXIT_NONE_TERMINAL\";\n // to avoid creating a new Array each time.\n const EXIT_NON_TERMINAL_ARR = [EXIT_NON_TERMINAL];\n const EXIT_ALTERNATIVE = \"EXIT_ALTERNATIVE\";\n let foundCompletePath = false;\n const tokenVectorLength = tokenVector.length;\n const minimalAlternativesIndex = tokenVectorLength - maxLookAhead - 1;\n const result = [];\n const possiblePaths = [];\n possiblePaths.push({\n idx: -1,\n def: initialDef,\n ruleStack: [],\n occurrenceStack: [],\n });\n while (!isEmpty(possiblePaths)) {\n const currPath = possiblePaths.pop();\n // skip alternatives if no more results can be found (assuming deterministic grammar with fixed lookahead)\n if (currPath === EXIT_ALTERNATIVE) {\n if (foundCompletePath &&\n last(possiblePaths).idx <= minimalAlternativesIndex) {\n // remove irrelevant alternative\n possiblePaths.pop();\n }\n continue;\n }\n const currDef = currPath.def;\n const currIdx = currPath.idx;\n const currRuleStack = currPath.ruleStack;\n const currOccurrenceStack = currPath.occurrenceStack;\n // For Example: an empty path could exist in a valid grammar in the case of an EMPTY_ALT\n if (isEmpty(currDef)) {\n continue;\n }\n const prod = currDef[0];\n /* istanbul ignore else */\n if (prod === EXIT_NON_TERMINAL) {\n const nextPath = {\n idx: currIdx,\n def: drop(currDef),\n ruleStack: dropRight(currRuleStack),\n occurrenceStack: dropRight(currOccurrenceStack),\n };\n possiblePaths.push(nextPath);\n }\n else if (prod instanceof Terminal) {\n /* istanbul ignore else */\n if (currIdx < tokenVectorLength - 1) {\n const nextIdx = currIdx + 1;\n const actualToken = tokenVector[nextIdx];\n if (tokMatcher(actualToken, prod.terminalType)) {\n const nextPath = {\n idx: nextIdx,\n def: drop(currDef),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPath);\n }\n // end of the line\n }\n else if (currIdx === tokenVectorLength - 1) {\n // IGNORE ABOVE ELSE\n result.push({\n nextTokenType: prod.terminalType,\n nextTokenOccurrence: prod.idx,\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n });\n foundCompletePath = true;\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n }\n else if (prod instanceof NonTerminal) {\n const newRuleStack = clone(currRuleStack);\n newRuleStack.push(prod.nonTerminalName);\n const newOccurrenceStack = clone(currOccurrenceStack);\n newOccurrenceStack.push(prod.idx);\n const nextPath = {\n idx: currIdx,\n def: prod.definition.concat(EXIT_NON_TERMINAL_ARR, drop(currDef)),\n ruleStack: newRuleStack,\n occurrenceStack: newOccurrenceStack,\n };\n possiblePaths.push(nextPath);\n }\n else if (prod instanceof Option) {\n // the order of alternatives is meaningful, FILO (Last path will be traversed first).\n const nextPathWithout = {\n idx: currIdx,\n def: drop(currDef),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPathWithout);\n // required marker to avoid backtracking paths whose higher priority alternatives already matched\n possiblePaths.push(EXIT_ALTERNATIVE);\n const nextPathWith = {\n idx: currIdx,\n def: prod.definition.concat(drop(currDef)),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPathWith);\n }\n else if (prod instanceof RepetitionMandatory) {\n // TODO:(THE NEW operators here take a while...) (convert once?)\n const secondIteration = new Repetition({\n definition: prod.definition,\n idx: prod.idx,\n });\n const nextDef = prod.definition.concat([secondIteration], drop(currDef));\n const nextPath = {\n idx: currIdx,\n def: nextDef,\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPath);\n }\n else if (prod instanceof RepetitionMandatoryWithSeparator) {\n // TODO:(THE NEW operators here take a while...) (convert once?)\n const separatorGast = new Terminal({\n terminalType: prod.separator,\n });\n const secondIteration = new Repetition({\n definition: [separatorGast].concat(prod.definition),\n idx: prod.idx,\n });\n const nextDef = prod.definition.concat([secondIteration], drop(currDef));\n const nextPath = {\n idx: currIdx,\n def: nextDef,\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPath);\n }\n else if (prod instanceof RepetitionWithSeparator) {\n // the order of alternatives is meaningful, FILO (Last path will be traversed first).\n const nextPathWithout = {\n idx: currIdx,\n def: drop(currDef),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPathWithout);\n // required marker to avoid backtracking paths whose higher priority alternatives already matched\n possiblePaths.push(EXIT_ALTERNATIVE);\n const separatorGast = new Terminal({\n terminalType: prod.separator,\n });\n const nthRepetition = new Repetition({\n definition: [separatorGast].concat(prod.definition),\n idx: prod.idx,\n });\n const nextDef = prod.definition.concat([nthRepetition], drop(currDef));\n const nextPathWith = {\n idx: currIdx,\n def: nextDef,\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPathWith);\n }\n else if (prod instanceof Repetition) {\n // the order of alternatives is meaningful, FILO (Last path will be traversed first).\n const nextPathWithout = {\n idx: currIdx,\n def: drop(currDef),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPathWithout);\n // required marker to avoid backtracking paths whose higher priority alternatives already matched\n possiblePaths.push(EXIT_ALTERNATIVE);\n // TODO: an empty repetition will cause infinite loops here, will the parser detect this in selfAnalysis?\n const nthRepetition = new Repetition({\n definition: prod.definition,\n idx: prod.idx,\n });\n const nextDef = prod.definition.concat([nthRepetition], drop(currDef));\n const nextPathWith = {\n idx: currIdx,\n def: nextDef,\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(nextPathWith);\n }\n else if (prod instanceof Alternation) {\n // the order of alternatives is meaningful, FILO (Last path will be traversed first).\n for (let i = prod.definition.length - 1; i >= 0; i--) {\n const currAlt = prod.definition[i];\n const currAltPath = {\n idx: currIdx,\n def: currAlt.definition.concat(drop(currDef)),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n };\n possiblePaths.push(currAltPath);\n possiblePaths.push(EXIT_ALTERNATIVE);\n }\n }\n else if (prod instanceof Alternative) {\n possiblePaths.push({\n idx: currIdx,\n def: prod.definition.concat(drop(currDef)),\n ruleStack: currRuleStack,\n occurrenceStack: currOccurrenceStack,\n });\n }\n else if (prod instanceof Rule) {\n // last because we should only encounter at most a single one of these per invocation.\n possiblePaths.push(expandTopLevelRule(prod, currIdx, currRuleStack, currOccurrenceStack));\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n }\n return result;\n}\nfunction expandTopLevelRule(topRule, currIdx, currRuleStack, currOccurrenceStack) {\n const newRuleStack = clone(currRuleStack);\n newRuleStack.push(topRule.name);\n const newCurrOccurrenceStack = clone(currOccurrenceStack);\n // top rule is always assumed to have been called with occurrence index 1\n newCurrOccurrenceStack.push(1);\n return {\n idx: currIdx,\n def: topRule.definition,\n ruleStack: newRuleStack,\n occurrenceStack: newCurrOccurrenceStack,\n };\n}\n//# sourceMappingURL=interpreter.js.map", + "import { every, flatten, forEach, has, isEmpty, map, reduce } from \"lodash-es\";\nimport { possiblePathsFrom } from \"./interpreter.js\";\nimport { RestWalker } from \"./rest.js\";\nimport { tokenStructuredMatcher, tokenStructuredMatcherNoCategories, } from \"../../scan/tokens.js\";\nimport { Alternation, Alternative as AlternativeGAST, GAstVisitor, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, } from \"@chevrotain/gast\";\nexport var PROD_TYPE;\n(function (PROD_TYPE) {\n PROD_TYPE[PROD_TYPE[\"OPTION\"] = 0] = \"OPTION\";\n PROD_TYPE[PROD_TYPE[\"REPETITION\"] = 1] = \"REPETITION\";\n PROD_TYPE[PROD_TYPE[\"REPETITION_MANDATORY\"] = 2] = \"REPETITION_MANDATORY\";\n PROD_TYPE[PROD_TYPE[\"REPETITION_MANDATORY_WITH_SEPARATOR\"] = 3] = \"REPETITION_MANDATORY_WITH_SEPARATOR\";\n PROD_TYPE[PROD_TYPE[\"REPETITION_WITH_SEPARATOR\"] = 4] = \"REPETITION_WITH_SEPARATOR\";\n PROD_TYPE[PROD_TYPE[\"ALTERNATION\"] = 5] = \"ALTERNATION\";\n})(PROD_TYPE || (PROD_TYPE = {}));\nexport function getProdType(prod) {\n /* istanbul ignore else */\n if (prod instanceof Option || prod === \"Option\") {\n return PROD_TYPE.OPTION;\n }\n else if (prod instanceof Repetition || prod === \"Repetition\") {\n return PROD_TYPE.REPETITION;\n }\n else if (prod instanceof RepetitionMandatory ||\n prod === \"RepetitionMandatory\") {\n return PROD_TYPE.REPETITION_MANDATORY;\n }\n else if (prod instanceof RepetitionMandatoryWithSeparator ||\n prod === \"RepetitionMandatoryWithSeparator\") {\n return PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR;\n }\n else if (prod instanceof RepetitionWithSeparator ||\n prod === \"RepetitionWithSeparator\") {\n return PROD_TYPE.REPETITION_WITH_SEPARATOR;\n }\n else if (prod instanceof Alternation || prod === \"Alternation\") {\n return PROD_TYPE.ALTERNATION;\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\nexport function getLookaheadPaths(options) {\n const { occurrence, rule, prodType, maxLookahead } = options;\n const type = getProdType(prodType);\n if (type === PROD_TYPE.ALTERNATION) {\n return getLookaheadPathsForOr(occurrence, rule, maxLookahead);\n }\n else {\n return getLookaheadPathsForOptionalProd(occurrence, rule, type, maxLookahead);\n }\n}\nexport function buildLookaheadFuncForOr(occurrence, ruleGrammar, maxLookahead, hasPredicates, dynamicTokensEnabled, laFuncBuilder) {\n const lookAheadPaths = getLookaheadPathsForOr(occurrence, ruleGrammar, maxLookahead);\n const tokenMatcher = areTokenCategoriesNotUsed(lookAheadPaths)\n ? tokenStructuredMatcherNoCategories\n : tokenStructuredMatcher;\n return laFuncBuilder(lookAheadPaths, hasPredicates, tokenMatcher, dynamicTokensEnabled);\n}\n/**\n * When dealing with an Optional production (OPTION/MANY/2nd iteration of AT_LEAST_ONE/...) we need to compare\n * the lookahead \"inside\" the production and the lookahead immediately \"after\" it in the same top level rule (context free).\n *\n * Example: given a production:\n * ABC(DE)?DF\n *\n * The optional '(DE)?' should only be entered if we see 'DE'. a single Token 'D' is not sufficient to distinguish between the two\n * alternatives.\n *\n * @returns A Lookahead function which will return true IFF the parser should parse the Optional production.\n */\nexport function buildLookaheadFuncForOptionalProd(occurrence, ruleGrammar, k, dynamicTokensEnabled, prodType, lookaheadBuilder) {\n const lookAheadPaths = getLookaheadPathsForOptionalProd(occurrence, ruleGrammar, prodType, k);\n const tokenMatcher = areTokenCategoriesNotUsed(lookAheadPaths)\n ? tokenStructuredMatcherNoCategories\n : tokenStructuredMatcher;\n return lookaheadBuilder(lookAheadPaths[0], tokenMatcher, dynamicTokensEnabled);\n}\nexport function buildAlternativesLookAheadFunc(alts, hasPredicates, tokenMatcher, dynamicTokensEnabled) {\n const numOfAlts = alts.length;\n const areAllOneTokenLookahead = every(alts, (currAlt) => {\n return every(currAlt, (currPath) => {\n return currPath.length === 1;\n });\n });\n // This version takes into account the predicates as well.\n if (hasPredicates) {\n /**\n * @returns {number} - The chosen alternative index\n */\n return function (orAlts) {\n // unfortunately the predicates must be extracted every single time\n // as they cannot be cached due to references to parameters(vars) which are no longer valid.\n // note that in the common case of no predicates, no cpu time will be wasted on this (see else block)\n const predicates = map(orAlts, (currAlt) => currAlt.GATE);\n for (let t = 0; t < numOfAlts; t++) {\n const currAlt = alts[t];\n const currNumOfPaths = currAlt.length;\n const currPredicate = predicates[t];\n if (currPredicate !== undefined && currPredicate.call(this) === false) {\n // if the predicate does not match there is no point in checking the paths\n continue;\n }\n nextPath: for (let j = 0; j < currNumOfPaths; j++) {\n const currPath = currAlt[j];\n const currPathLength = currPath.length;\n for (let i = 0; i < currPathLength; i++) {\n const nextToken = this.LA(i + 1);\n if (tokenMatcher(nextToken, currPath[i]) === false) {\n // mismatch in current path\n // try the next pth\n continue nextPath;\n }\n }\n // found a full path that matches.\n // this will also work for an empty ALT as the loop will be skipped\n return t;\n }\n // none of the paths for the current alternative matched\n // try the next alternative\n }\n // none of the alternatives could be matched\n return undefined;\n };\n }\n else if (areAllOneTokenLookahead && !dynamicTokensEnabled) {\n // optimized (common) case of all the lookaheads paths requiring only\n // a single token lookahead. These Optimizations cannot work if dynamically defined Tokens are used.\n const singleTokenAlts = map(alts, (currAlt) => {\n return flatten(currAlt);\n });\n const choiceToAlt = reduce(singleTokenAlts, (result, currAlt, idx) => {\n forEach(currAlt, (currTokType) => {\n if (!has(result, currTokType.tokenTypeIdx)) {\n result[currTokType.tokenTypeIdx] = idx;\n }\n forEach(currTokType.categoryMatches, (currExtendingType) => {\n if (!has(result, currExtendingType)) {\n result[currExtendingType] = idx;\n }\n });\n });\n return result;\n }, {});\n /**\n * @returns {number} - The chosen alternative index\n */\n return function () {\n const nextToken = this.LA(1);\n return choiceToAlt[nextToken.tokenTypeIdx];\n };\n }\n else {\n // optimized lookahead without needing to check the predicates at all.\n // this causes code duplication which is intentional to improve performance.\n /**\n * @returns {number} - The chosen alternative index\n */\n return function () {\n for (let t = 0; t < numOfAlts; t++) {\n const currAlt = alts[t];\n const currNumOfPaths = currAlt.length;\n nextPath: for (let j = 0; j < currNumOfPaths; j++) {\n const currPath = currAlt[j];\n const currPathLength = currPath.length;\n for (let i = 0; i < currPathLength; i++) {\n const nextToken = this.LA(i + 1);\n if (tokenMatcher(nextToken, currPath[i]) === false) {\n // mismatch in current path\n // try the next pth\n continue nextPath;\n }\n }\n // found a full path that matches.\n // this will also work for an empty ALT as the loop will be skipped\n return t;\n }\n // none of the paths for the current alternative matched\n // try the next alternative\n }\n // none of the alternatives could be matched\n return undefined;\n };\n }\n}\nexport function buildSingleAlternativeLookaheadFunction(alt, tokenMatcher, dynamicTokensEnabled) {\n const areAllOneTokenLookahead = every(alt, (currPath) => {\n return currPath.length === 1;\n });\n const numOfPaths = alt.length;\n // optimized (common) case of all the lookaheads paths requiring only\n // a single token lookahead.\n if (areAllOneTokenLookahead && !dynamicTokensEnabled) {\n const singleTokensTypes = flatten(alt);\n if (singleTokensTypes.length === 1 &&\n isEmpty(singleTokensTypes[0].categoryMatches)) {\n const expectedTokenType = singleTokensTypes[0];\n const expectedTokenUniqueKey = expectedTokenType.tokenTypeIdx;\n return function () {\n return this.LA(1).tokenTypeIdx === expectedTokenUniqueKey;\n };\n }\n else {\n const choiceToAlt = reduce(singleTokensTypes, (result, currTokType, idx) => {\n result[currTokType.tokenTypeIdx] = true;\n forEach(currTokType.categoryMatches, (currExtendingType) => {\n result[currExtendingType] = true;\n });\n return result;\n }, []);\n return function () {\n const nextToken = this.LA(1);\n return choiceToAlt[nextToken.tokenTypeIdx] === true;\n };\n }\n }\n else {\n return function () {\n nextPath: for (let j = 0; j < numOfPaths; j++) {\n const currPath = alt[j];\n const currPathLength = currPath.length;\n for (let i = 0; i < currPathLength; i++) {\n const nextToken = this.LA(i + 1);\n if (tokenMatcher(nextToken, currPath[i]) === false) {\n // mismatch in current path\n // try the next pth\n continue nextPath;\n }\n }\n // found a full path that matches.\n return true;\n }\n // none of the paths matched\n return false;\n };\n }\n}\nclass RestDefinitionFinderWalker extends RestWalker {\n constructor(topProd, targetOccurrence, targetProdType) {\n super();\n this.topProd = topProd;\n this.targetOccurrence = targetOccurrence;\n this.targetProdType = targetProdType;\n }\n startWalking() {\n this.walk(this.topProd);\n return this.restDef;\n }\n checkIsTarget(node, expectedProdType, currRest, prevRest) {\n if (node.idx === this.targetOccurrence &&\n this.targetProdType === expectedProdType) {\n this.restDef = currRest.concat(prevRest);\n return true;\n }\n // performance optimization, do not iterate over the entire Grammar ast after we have found the target\n return false;\n }\n walkOption(optionProd, currRest, prevRest) {\n if (!this.checkIsTarget(optionProd, PROD_TYPE.OPTION, currRest, prevRest)) {\n super.walkOption(optionProd, currRest, prevRest);\n }\n }\n walkAtLeastOne(atLeastOneProd, currRest, prevRest) {\n if (!this.checkIsTarget(atLeastOneProd, PROD_TYPE.REPETITION_MANDATORY, currRest, prevRest)) {\n super.walkOption(atLeastOneProd, currRest, prevRest);\n }\n }\n walkAtLeastOneSep(atLeastOneSepProd, currRest, prevRest) {\n if (!this.checkIsTarget(atLeastOneSepProd, PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR, currRest, prevRest)) {\n super.walkOption(atLeastOneSepProd, currRest, prevRest);\n }\n }\n walkMany(manyProd, currRest, prevRest) {\n if (!this.checkIsTarget(manyProd, PROD_TYPE.REPETITION, currRest, prevRest)) {\n super.walkOption(manyProd, currRest, prevRest);\n }\n }\n walkManySep(manySepProd, currRest, prevRest) {\n if (!this.checkIsTarget(manySepProd, PROD_TYPE.REPETITION_WITH_SEPARATOR, currRest, prevRest)) {\n super.walkOption(manySepProd, currRest, prevRest);\n }\n }\n}\n/**\n * Returns the definition of a target production in a top level level rule.\n */\nclass InsideDefinitionFinderVisitor extends GAstVisitor {\n constructor(targetOccurrence, targetProdType, targetRef) {\n super();\n this.targetOccurrence = targetOccurrence;\n this.targetProdType = targetProdType;\n this.targetRef = targetRef;\n this.result = [];\n }\n checkIsTarget(node, expectedProdName) {\n if (node.idx === this.targetOccurrence &&\n this.targetProdType === expectedProdName &&\n (this.targetRef === undefined || node === this.targetRef)) {\n this.result = node.definition;\n }\n }\n visitOption(node) {\n this.checkIsTarget(node, PROD_TYPE.OPTION);\n }\n visitRepetition(node) {\n this.checkIsTarget(node, PROD_TYPE.REPETITION);\n }\n visitRepetitionMandatory(node) {\n this.checkIsTarget(node, PROD_TYPE.REPETITION_MANDATORY);\n }\n visitRepetitionMandatoryWithSeparator(node) {\n this.checkIsTarget(node, PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR);\n }\n visitRepetitionWithSeparator(node) {\n this.checkIsTarget(node, PROD_TYPE.REPETITION_WITH_SEPARATOR);\n }\n visitAlternation(node) {\n this.checkIsTarget(node, PROD_TYPE.ALTERNATION);\n }\n}\nfunction initializeArrayOfArrays(size) {\n const result = new Array(size);\n for (let i = 0; i < size; i++) {\n result[i] = [];\n }\n return result;\n}\n/**\n * A sort of hash function between a Path in the grammar and a string.\n * Note that this returns multiple \"hashes\" to support the scenario of token categories.\n * - A single path with categories may match multiple **actual** paths.\n */\nfunction pathToHashKeys(path) {\n let keys = [\"\"];\n for (let i = 0; i < path.length; i++) {\n const tokType = path[i];\n const longerKeys = [];\n for (let j = 0; j < keys.length; j++) {\n const currShorterKey = keys[j];\n longerKeys.push(currShorterKey + \"_\" + tokType.tokenTypeIdx);\n for (let t = 0; t < tokType.categoryMatches.length; t++) {\n const categoriesKeySuffix = \"_\" + tokType.categoryMatches[t];\n longerKeys.push(currShorterKey + categoriesKeySuffix);\n }\n }\n keys = longerKeys;\n }\n return keys;\n}\n/**\n * Imperative style due to being called from a hot spot\n */\nfunction isUniquePrefixHash(altKnownPathsKeys, searchPathKeys, idx) {\n for (let currAltIdx = 0; currAltIdx < altKnownPathsKeys.length; currAltIdx++) {\n // We only want to test vs the other alternatives\n if (currAltIdx === idx) {\n continue;\n }\n const otherAltKnownPathsKeys = altKnownPathsKeys[currAltIdx];\n for (let searchIdx = 0; searchIdx < searchPathKeys.length; searchIdx++) {\n const searchKey = searchPathKeys[searchIdx];\n if (otherAltKnownPathsKeys[searchKey] === true) {\n return false;\n }\n }\n }\n // None of the SearchPathKeys were found in any of the other alternatives\n return true;\n}\nexport function lookAheadSequenceFromAlternatives(altsDefs, k) {\n const partialAlts = map(altsDefs, (currAlt) => possiblePathsFrom([currAlt], 1));\n const finalResult = initializeArrayOfArrays(partialAlts.length);\n const altsHashes = map(partialAlts, (currAltPaths) => {\n const dict = {};\n forEach(currAltPaths, (item) => {\n const keys = pathToHashKeys(item.partialPath);\n forEach(keys, (currKey) => {\n dict[currKey] = true;\n });\n });\n return dict;\n });\n let newData = partialAlts;\n // maxLookahead loop\n for (let pathLength = 1; pathLength <= k; pathLength++) {\n const currDataset = newData;\n newData = initializeArrayOfArrays(currDataset.length);\n // alternatives loop\n for (let altIdx = 0; altIdx < currDataset.length; altIdx++) {\n const currAltPathsAndSuffixes = currDataset[altIdx];\n // paths in current alternative loop\n for (let currPathIdx = 0; currPathIdx < currAltPathsAndSuffixes.length; currPathIdx++) {\n const currPathPrefix = currAltPathsAndSuffixes[currPathIdx].partialPath;\n const suffixDef = currAltPathsAndSuffixes[currPathIdx].suffixDef;\n const prefixKeys = pathToHashKeys(currPathPrefix);\n const isUnique = isUniquePrefixHash(altsHashes, prefixKeys, altIdx);\n // End of the line for this path.\n if (isUnique || isEmpty(suffixDef) || currPathPrefix.length === k) {\n const currAltResult = finalResult[altIdx];\n // TODO: Can we implement a containsPath using Maps/Dictionaries?\n if (containsPath(currAltResult, currPathPrefix) === false) {\n currAltResult.push(currPathPrefix);\n // Update all new keys for the current path.\n for (let j = 0; j < prefixKeys.length; j++) {\n const currKey = prefixKeys[j];\n altsHashes[altIdx][currKey] = true;\n }\n }\n }\n // Expand longer paths\n else {\n const newPartialPathsAndSuffixes = possiblePathsFrom(suffixDef, pathLength + 1, currPathPrefix);\n newData[altIdx] = newData[altIdx].concat(newPartialPathsAndSuffixes);\n // Update keys for new known paths\n forEach(newPartialPathsAndSuffixes, (item) => {\n const prefixKeys = pathToHashKeys(item.partialPath);\n forEach(prefixKeys, (key) => {\n altsHashes[altIdx][key] = true;\n });\n });\n }\n }\n }\n }\n return finalResult;\n}\nexport function getLookaheadPathsForOr(occurrence, ruleGrammar, k, orProd) {\n const visitor = new InsideDefinitionFinderVisitor(occurrence, PROD_TYPE.ALTERNATION, orProd);\n ruleGrammar.accept(visitor);\n return lookAheadSequenceFromAlternatives(visitor.result, k);\n}\nexport function getLookaheadPathsForOptionalProd(occurrence, ruleGrammar, prodType, k) {\n const insideDefVisitor = new InsideDefinitionFinderVisitor(occurrence, prodType);\n ruleGrammar.accept(insideDefVisitor);\n const insideDef = insideDefVisitor.result;\n const afterDefWalker = new RestDefinitionFinderWalker(ruleGrammar, occurrence, prodType);\n const afterDef = afterDefWalker.startWalking();\n const insideFlat = new AlternativeGAST({ definition: insideDef });\n const afterFlat = new AlternativeGAST({ definition: afterDef });\n return lookAheadSequenceFromAlternatives([insideFlat, afterFlat], k);\n}\nexport function containsPath(alternative, searchPath) {\n compareOtherPath: for (let i = 0; i < alternative.length; i++) {\n const otherPath = alternative[i];\n if (otherPath.length !== searchPath.length) {\n continue;\n }\n for (let j = 0; j < otherPath.length; j++) {\n const searchTok = searchPath[j];\n const otherTok = otherPath[j];\n const matchingTokens = searchTok === otherTok ||\n otherTok.categoryMatchesMap[searchTok.tokenTypeIdx] !== undefined;\n if (matchingTokens === false) {\n continue compareOtherPath;\n }\n }\n return true;\n }\n return false;\n}\nexport function isStrictPrefixOfPath(prefix, other) {\n return (prefix.length < other.length &&\n every(prefix, (tokType, idx) => {\n const otherTokType = other[idx];\n return (tokType === otherTokType ||\n otherTokType.categoryMatchesMap[tokType.tokenTypeIdx]);\n }));\n}\nexport function areTokenCategoriesNotUsed(lookAheadPaths) {\n return every(lookAheadPaths, (singleAltPaths) => every(singleAltPaths, (singlePath) => every(singlePath, (token) => isEmpty(token.categoryMatches))));\n}\n//# sourceMappingURL=lookahead.js.map", + "import { clone, compact, difference, drop, dropRight, filter, first, flatMap, flatten, forEach, groupBy, includes, isEmpty, map, pickBy, reduce, reject, values, } from \"lodash-es\";\nimport { ParserDefinitionErrorType, } from \"../parser/parser.js\";\nimport { Alternation, Alternative as AlternativeGAST, GAstVisitor, getProductionDslName, isOptionalProd, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Terminal, } from \"@chevrotain/gast\";\nimport { containsPath, getLookaheadPathsForOptionalProd, getLookaheadPathsForOr, getProdType, isStrictPrefixOfPath, } from \"./lookahead.js\";\nimport { nextPossibleTokensAfter } from \"./interpreter.js\";\nimport { tokenStructuredMatcher } from \"../../scan/tokens.js\";\nexport function validateLookahead(options) {\n const lookaheadValidationErrorMessages = options.lookaheadStrategy.validate({\n rules: options.rules,\n tokenTypes: options.tokenTypes,\n grammarName: options.grammarName,\n });\n return map(lookaheadValidationErrorMessages, (errorMessage) => (Object.assign({ type: ParserDefinitionErrorType.CUSTOM_LOOKAHEAD_VALIDATION }, errorMessage)));\n}\nexport function validateGrammar(topLevels, tokenTypes, errMsgProvider, grammarName) {\n const duplicateErrors = flatMap(topLevels, (currTopLevel) => validateDuplicateProductions(currTopLevel, errMsgProvider));\n const termsNamespaceConflictErrors = checkTerminalAndNoneTerminalsNameSpace(topLevels, tokenTypes, errMsgProvider);\n const tooManyAltsErrors = flatMap(topLevels, (curRule) => validateTooManyAlts(curRule, errMsgProvider));\n const duplicateRulesError = flatMap(topLevels, (curRule) => validateRuleDoesNotAlreadyExist(curRule, topLevels, grammarName, errMsgProvider));\n return duplicateErrors.concat(termsNamespaceConflictErrors, tooManyAltsErrors, duplicateRulesError);\n}\nfunction validateDuplicateProductions(topLevelRule, errMsgProvider) {\n const collectorVisitor = new OccurrenceValidationCollector();\n topLevelRule.accept(collectorVisitor);\n const allRuleProductions = collectorVisitor.allProductions;\n const productionGroups = groupBy(allRuleProductions, identifyProductionForDuplicates);\n const duplicates = pickBy(productionGroups, (currGroup) => {\n return currGroup.length > 1;\n });\n const errors = map(values(duplicates), (currDuplicates) => {\n const firstProd = first(currDuplicates);\n const msg = errMsgProvider.buildDuplicateFoundError(topLevelRule, currDuplicates);\n const dslName = getProductionDslName(firstProd);\n const defError = {\n message: msg,\n type: ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,\n ruleName: topLevelRule.name,\n dslName: dslName,\n occurrence: firstProd.idx,\n };\n const param = getExtraProductionArgument(firstProd);\n if (param) {\n defError.parameter = param;\n }\n return defError;\n });\n return errors;\n}\nexport function identifyProductionForDuplicates(prod) {\n return `${getProductionDslName(prod)}_#_${prod.idx}_#_${getExtraProductionArgument(prod)}`;\n}\nfunction getExtraProductionArgument(prod) {\n if (prod instanceof Terminal) {\n return prod.terminalType.name;\n }\n else if (prod instanceof NonTerminal) {\n return prod.nonTerminalName;\n }\n else {\n return \"\";\n }\n}\nexport class OccurrenceValidationCollector extends GAstVisitor {\n constructor() {\n super(...arguments);\n this.allProductions = [];\n }\n visitNonTerminal(subrule) {\n this.allProductions.push(subrule);\n }\n visitOption(option) {\n this.allProductions.push(option);\n }\n visitRepetitionWithSeparator(manySep) {\n this.allProductions.push(manySep);\n }\n visitRepetitionMandatory(atLeastOne) {\n this.allProductions.push(atLeastOne);\n }\n visitRepetitionMandatoryWithSeparator(atLeastOneSep) {\n this.allProductions.push(atLeastOneSep);\n }\n visitRepetition(many) {\n this.allProductions.push(many);\n }\n visitAlternation(or) {\n this.allProductions.push(or);\n }\n visitTerminal(terminal) {\n this.allProductions.push(terminal);\n }\n}\nexport function validateRuleDoesNotAlreadyExist(rule, allRules, className, errMsgProvider) {\n const errors = [];\n const occurrences = reduce(allRules, (result, curRule) => {\n if (curRule.name === rule.name) {\n return result + 1;\n }\n return result;\n }, 0);\n if (occurrences > 1) {\n const errMsg = errMsgProvider.buildDuplicateRuleNameError({\n topLevelRule: rule,\n grammarName: className,\n });\n errors.push({\n message: errMsg,\n type: ParserDefinitionErrorType.DUPLICATE_RULE_NAME,\n ruleName: rule.name,\n });\n }\n return errors;\n}\n// TODO: is there anyway to get only the rule names of rules inherited from the super grammars?\n// This is not part of the IGrammarErrorProvider because the validation cannot be performed on\n// The grammar structure, only at runtime.\nexport function validateRuleIsOverridden(ruleName, definedRulesNames, className) {\n const errors = [];\n let errMsg;\n if (!includes(definedRulesNames, ruleName)) {\n errMsg =\n `Invalid rule override, rule: ->${ruleName}<- cannot be overridden in the grammar: ->${className}<-` +\n `as it is not defined in any of the super grammars `;\n errors.push({\n message: errMsg,\n type: ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,\n ruleName: ruleName,\n });\n }\n return errors;\n}\nexport function validateNoLeftRecursion(topRule, currRule, errMsgProvider, path = []) {\n const errors = [];\n const nextNonTerminals = getFirstNoneTerminal(currRule.definition);\n if (isEmpty(nextNonTerminals)) {\n return [];\n }\n else {\n const ruleName = topRule.name;\n const foundLeftRecursion = includes(nextNonTerminals, topRule);\n if (foundLeftRecursion) {\n errors.push({\n message: errMsgProvider.buildLeftRecursionError({\n topLevelRule: topRule,\n leftRecursionPath: path,\n }),\n type: ParserDefinitionErrorType.LEFT_RECURSION,\n ruleName: ruleName,\n });\n }\n // we are only looking for cyclic paths leading back to the specific topRule\n // other cyclic paths are ignored, we still need this difference to avoid infinite loops...\n const validNextSteps = difference(nextNonTerminals, path.concat([topRule]));\n const errorsFromNextSteps = flatMap(validNextSteps, (currRefRule) => {\n const newPath = clone(path);\n newPath.push(currRefRule);\n return validateNoLeftRecursion(topRule, currRefRule, errMsgProvider, newPath);\n });\n return errors.concat(errorsFromNextSteps);\n }\n}\nexport function getFirstNoneTerminal(definition) {\n let result = [];\n if (isEmpty(definition)) {\n return result;\n }\n const firstProd = first(definition);\n /* istanbul ignore else */\n if (firstProd instanceof NonTerminal) {\n result.push(firstProd.referencedRule);\n }\n else if (firstProd instanceof AlternativeGAST ||\n firstProd instanceof Option ||\n firstProd instanceof RepetitionMandatory ||\n firstProd instanceof RepetitionMandatoryWithSeparator ||\n firstProd instanceof RepetitionWithSeparator ||\n firstProd instanceof Repetition) {\n result = result.concat(getFirstNoneTerminal(firstProd.definition));\n }\n else if (firstProd instanceof Alternation) {\n // each sub definition in alternation is a FLAT\n result = flatten(map(firstProd.definition, (currSubDef) => getFirstNoneTerminal(currSubDef.definition)));\n }\n else if (firstProd instanceof Terminal) {\n // nothing to see, move along\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n const isFirstOptional = isOptionalProd(firstProd);\n const hasMore = definition.length > 1;\n if (isFirstOptional && hasMore) {\n const rest = drop(definition);\n return result.concat(getFirstNoneTerminal(rest));\n }\n else {\n return result;\n }\n}\nclass OrCollector extends GAstVisitor {\n constructor() {\n super(...arguments);\n this.alternations = [];\n }\n visitAlternation(node) {\n this.alternations.push(node);\n }\n}\nexport function validateEmptyOrAlternative(topLevelRule, errMsgProvider) {\n const orCollector = new OrCollector();\n topLevelRule.accept(orCollector);\n const ors = orCollector.alternations;\n const errors = flatMap(ors, (currOr) => {\n const exceptLast = dropRight(currOr.definition);\n return flatMap(exceptLast, (currAlternative, currAltIdx) => {\n const possibleFirstInAlt = nextPossibleTokensAfter([currAlternative], [], tokenStructuredMatcher, 1);\n if (isEmpty(possibleFirstInAlt)) {\n return [\n {\n message: errMsgProvider.buildEmptyAlternationError({\n topLevelRule: topLevelRule,\n alternation: currOr,\n emptyChoiceIdx: currAltIdx,\n }),\n type: ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,\n ruleName: topLevelRule.name,\n occurrence: currOr.idx,\n alternative: currAltIdx + 1,\n },\n ];\n }\n else {\n return [];\n }\n });\n });\n return errors;\n}\nexport function validateAmbiguousAlternationAlternatives(topLevelRule, globalMaxLookahead, errMsgProvider) {\n const orCollector = new OrCollector();\n topLevelRule.accept(orCollector);\n let ors = orCollector.alternations;\n // New Handling of ignoring ambiguities\n // - https://github.com/chevrotain/chevrotain/issues/869\n ors = reject(ors, (currOr) => currOr.ignoreAmbiguities === true);\n const errors = flatMap(ors, (currOr) => {\n const currOccurrence = currOr.idx;\n const actualMaxLookahead = currOr.maxLookahead || globalMaxLookahead;\n const alternatives = getLookaheadPathsForOr(currOccurrence, topLevelRule, actualMaxLookahead, currOr);\n const altsAmbiguityErrors = checkAlternativesAmbiguities(alternatives, currOr, topLevelRule, errMsgProvider);\n const altsPrefixAmbiguityErrors = checkPrefixAlternativesAmbiguities(alternatives, currOr, topLevelRule, errMsgProvider);\n return altsAmbiguityErrors.concat(altsPrefixAmbiguityErrors);\n });\n return errors;\n}\nexport class RepetitionCollector extends GAstVisitor {\n constructor() {\n super(...arguments);\n this.allProductions = [];\n }\n visitRepetitionWithSeparator(manySep) {\n this.allProductions.push(manySep);\n }\n visitRepetitionMandatory(atLeastOne) {\n this.allProductions.push(atLeastOne);\n }\n visitRepetitionMandatoryWithSeparator(atLeastOneSep) {\n this.allProductions.push(atLeastOneSep);\n }\n visitRepetition(many) {\n this.allProductions.push(many);\n }\n}\nexport function validateTooManyAlts(topLevelRule, errMsgProvider) {\n const orCollector = new OrCollector();\n topLevelRule.accept(orCollector);\n const ors = orCollector.alternations;\n const errors = flatMap(ors, (currOr) => {\n if (currOr.definition.length > 255) {\n return [\n {\n message: errMsgProvider.buildTooManyAlternativesError({\n topLevelRule: topLevelRule,\n alternation: currOr,\n }),\n type: ParserDefinitionErrorType.TOO_MANY_ALTS,\n ruleName: topLevelRule.name,\n occurrence: currOr.idx,\n },\n ];\n }\n else {\n return [];\n }\n });\n return errors;\n}\nexport function validateSomeNonEmptyLookaheadPath(topLevelRules, maxLookahead, errMsgProvider) {\n const errors = [];\n forEach(topLevelRules, (currTopRule) => {\n const collectorVisitor = new RepetitionCollector();\n currTopRule.accept(collectorVisitor);\n const allRuleProductions = collectorVisitor.allProductions;\n forEach(allRuleProductions, (currProd) => {\n const prodType = getProdType(currProd);\n const actualMaxLookahead = currProd.maxLookahead || maxLookahead;\n const currOccurrence = currProd.idx;\n const paths = getLookaheadPathsForOptionalProd(currOccurrence, currTopRule, prodType, actualMaxLookahead);\n const pathsInsideProduction = paths[0];\n if (isEmpty(flatten(pathsInsideProduction))) {\n const errMsg = errMsgProvider.buildEmptyRepetitionError({\n topLevelRule: currTopRule,\n repetition: currProd,\n });\n errors.push({\n message: errMsg,\n type: ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,\n ruleName: currTopRule.name,\n });\n }\n });\n });\n return errors;\n}\nfunction checkAlternativesAmbiguities(alternatives, alternation, rule, errMsgProvider) {\n const foundAmbiguousPaths = [];\n const identicalAmbiguities = reduce(alternatives, (result, currAlt, currAltIdx) => {\n // ignore (skip) ambiguities with this alternative\n if (alternation.definition[currAltIdx].ignoreAmbiguities === true) {\n return result;\n }\n forEach(currAlt, (currPath) => {\n const altsCurrPathAppearsIn = [currAltIdx];\n forEach(alternatives, (currOtherAlt, currOtherAltIdx) => {\n if (currAltIdx !== currOtherAltIdx &&\n containsPath(currOtherAlt, currPath) &&\n // ignore (skip) ambiguities with this \"other\" alternative\n alternation.definition[currOtherAltIdx].ignoreAmbiguities !== true) {\n altsCurrPathAppearsIn.push(currOtherAltIdx);\n }\n });\n if (altsCurrPathAppearsIn.length > 1 &&\n !containsPath(foundAmbiguousPaths, currPath)) {\n foundAmbiguousPaths.push(currPath);\n result.push({\n alts: altsCurrPathAppearsIn,\n path: currPath,\n });\n }\n });\n return result;\n }, []);\n const currErrors = map(identicalAmbiguities, (currAmbDescriptor) => {\n const ambgIndices = map(currAmbDescriptor.alts, (currAltIdx) => currAltIdx + 1);\n const currMessage = errMsgProvider.buildAlternationAmbiguityError({\n topLevelRule: rule,\n alternation: alternation,\n ambiguityIndices: ambgIndices,\n prefixPath: currAmbDescriptor.path,\n });\n return {\n message: currMessage,\n type: ParserDefinitionErrorType.AMBIGUOUS_ALTS,\n ruleName: rule.name,\n occurrence: alternation.idx,\n alternatives: currAmbDescriptor.alts,\n };\n });\n return currErrors;\n}\nexport function checkPrefixAlternativesAmbiguities(alternatives, alternation, rule, errMsgProvider) {\n // flatten\n const pathsAndIndices = reduce(alternatives, (result, currAlt, idx) => {\n const currPathsAndIdx = map(currAlt, (currPath) => {\n return { idx: idx, path: currPath };\n });\n return result.concat(currPathsAndIdx);\n }, []);\n const errors = compact(flatMap(pathsAndIndices, (currPathAndIdx) => {\n const alternativeGast = alternation.definition[currPathAndIdx.idx];\n // ignore (skip) ambiguities with this alternative\n if (alternativeGast.ignoreAmbiguities === true) {\n return [];\n }\n const targetIdx = currPathAndIdx.idx;\n const targetPath = currPathAndIdx.path;\n const prefixAmbiguitiesPathsAndIndices = filter(pathsAndIndices, (searchPathAndIdx) => {\n // prefix ambiguity can only be created from lower idx (higher priority) path\n return (\n // ignore (skip) ambiguities with this \"other\" alternative\n alternation.definition[searchPathAndIdx.idx].ignoreAmbiguities !==\n true &&\n searchPathAndIdx.idx < targetIdx &&\n // checking for strict prefix because identical lookaheads\n // will be be detected using a different validation.\n isStrictPrefixOfPath(searchPathAndIdx.path, targetPath));\n });\n const currPathPrefixErrors = map(prefixAmbiguitiesPathsAndIndices, (currAmbPathAndIdx) => {\n const ambgIndices = [currAmbPathAndIdx.idx + 1, targetIdx + 1];\n const occurrence = alternation.idx === 0 ? \"\" : alternation.idx;\n const message = errMsgProvider.buildAlternationPrefixAmbiguityError({\n topLevelRule: rule,\n alternation: alternation,\n ambiguityIndices: ambgIndices,\n prefixPath: currAmbPathAndIdx.path,\n });\n return {\n message: message,\n type: ParserDefinitionErrorType.AMBIGUOUS_PREFIX_ALTS,\n ruleName: rule.name,\n occurrence: occurrence,\n alternatives: ambgIndices,\n };\n });\n return currPathPrefixErrors;\n }));\n return errors;\n}\nfunction checkTerminalAndNoneTerminalsNameSpace(topLevels, tokenTypes, errMsgProvider) {\n const errors = [];\n const tokenNames = map(tokenTypes, (currToken) => currToken.name);\n forEach(topLevels, (currRule) => {\n const currRuleName = currRule.name;\n if (includes(tokenNames, currRuleName)) {\n const errMsg = errMsgProvider.buildNamespaceConflictError(currRule);\n errors.push({\n message: errMsg,\n type: ParserDefinitionErrorType.CONFLICT_TOKENS_RULES_NAMESPACE,\n ruleName: currRuleName,\n });\n }\n });\n return errors;\n}\n//# sourceMappingURL=checks.js.map", + "import { defaults, forEach } from \"lodash-es\";\nimport { resolveGrammar as orgResolveGrammar } from \"../resolver.js\";\nimport { validateGrammar as orgValidateGrammar } from \"../checks.js\";\nimport { defaultGrammarResolverErrorProvider, defaultGrammarValidatorErrorProvider, } from \"../../errors_public.js\";\nexport function resolveGrammar(options) {\n const actualOptions = defaults(options, {\n errMsgProvider: defaultGrammarResolverErrorProvider,\n });\n const topRulesTable = {};\n forEach(options.rules, (rule) => {\n topRulesTable[rule.name] = rule;\n });\n return orgResolveGrammar(topRulesTable, actualOptions.errMsgProvider);\n}\nexport function validateGrammar(options) {\n options = defaults(options, {\n errMsgProvider: defaultGrammarValidatorErrorProvider,\n });\n return orgValidateGrammar(options.rules, options.tokenTypes, options.errMsgProvider, options.grammarName);\n}\n//# sourceMappingURL=gast_resolver_public.js.map", + "import { includes } from \"lodash-es\";\nconst MISMATCHED_TOKEN_EXCEPTION = \"MismatchedTokenException\";\nconst NO_VIABLE_ALT_EXCEPTION = \"NoViableAltException\";\nconst EARLY_EXIT_EXCEPTION = \"EarlyExitException\";\nconst NOT_ALL_INPUT_PARSED_EXCEPTION = \"NotAllInputParsedException\";\nconst RECOGNITION_EXCEPTION_NAMES = [\n MISMATCHED_TOKEN_EXCEPTION,\n NO_VIABLE_ALT_EXCEPTION,\n EARLY_EXIT_EXCEPTION,\n NOT_ALL_INPUT_PARSED_EXCEPTION,\n];\nObject.freeze(RECOGNITION_EXCEPTION_NAMES);\n// hacks to bypass no support for custom Errors in javascript/typescript\nexport function isRecognitionException(error) {\n // can't do instanceof on hacked custom js exceptions\n return includes(RECOGNITION_EXCEPTION_NAMES, error.name);\n}\nclass RecognitionException extends Error {\n constructor(message, token) {\n super(message);\n this.token = token;\n this.resyncedTokens = [];\n // fix prototype chain when typescript target is ES5\n Object.setPrototypeOf(this, new.target.prototype);\n /* istanbul ignore next - V8 workaround to remove constructor from stacktrace when typescript target is ES5 */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport class MismatchedTokenException extends RecognitionException {\n constructor(message, token, previousToken) {\n super(message, token);\n this.previousToken = previousToken;\n this.name = MISMATCHED_TOKEN_EXCEPTION;\n }\n}\nexport class NoViableAltException extends RecognitionException {\n constructor(message, token, previousToken) {\n super(message, token);\n this.previousToken = previousToken;\n this.name = NO_VIABLE_ALT_EXCEPTION;\n }\n}\nexport class NotAllInputParsedException extends RecognitionException {\n constructor(message, token) {\n super(message, token);\n this.name = NOT_ALL_INPUT_PARSED_EXCEPTION;\n }\n}\nexport class EarlyExitException extends RecognitionException {\n constructor(message, token, previousToken) {\n super(message, token);\n this.previousToken = previousToken;\n this.name = EARLY_EXIT_EXCEPTION;\n }\n}\n//# sourceMappingURL=exceptions_public.js.map", + "import { createTokenInstance, EOF, tokenMatcher, } from \"../../../scan/tokens_public.js\";\nimport { clone, dropRight, find, flatten, has, includes, isEmpty, map, } from \"lodash-es\";\nimport { MismatchedTokenException } from \"../../exceptions_public.js\";\nimport { IN } from \"../../constants.js\";\nimport { DEFAULT_PARSER_CONFIG } from \"../parser.js\";\nexport const EOF_FOLLOW_KEY = {};\nexport const IN_RULE_RECOVERY_EXCEPTION = \"InRuleRecoveryException\";\nexport class InRuleRecoveryException extends Error {\n constructor(message) {\n super(message);\n this.name = IN_RULE_RECOVERY_EXCEPTION;\n }\n}\n/**\n * This trait is responsible for the error recovery and fault tolerant logic\n */\nexport class Recoverable {\n initRecoverable(config) {\n this.firstAfterRepMap = {};\n this.resyncFollows = {};\n this.recoveryEnabled = has(config, \"recoveryEnabled\")\n ? config.recoveryEnabled // assumes end user provides the correct config value/type\n : DEFAULT_PARSER_CONFIG.recoveryEnabled;\n // performance optimization, NOOP will be inlined which\n // effectively means that this optional feature does not exist\n // when not used.\n if (this.recoveryEnabled) {\n this.attemptInRepetitionRecovery = attemptInRepetitionRecovery;\n }\n }\n getTokenToInsert(tokType) {\n const tokToInsert = createTokenInstance(tokType, \"\", NaN, NaN, NaN, NaN, NaN, NaN);\n tokToInsert.isInsertedInRecovery = true;\n return tokToInsert;\n }\n canTokenTypeBeInsertedInRecovery(tokType) {\n return true;\n }\n canTokenTypeBeDeletedInRecovery(tokType) {\n return true;\n }\n tryInRepetitionRecovery(grammarRule, grammarRuleArgs, lookAheadFunc, expectedTokType) {\n // TODO: can the resyncTokenType be cached?\n const reSyncTokType = this.findReSyncTokenType();\n const savedLexerState = this.exportLexerState();\n const resyncedTokens = [];\n let passedResyncPoint = false;\n const nextTokenWithoutResync = this.LA(1);\n let currToken = this.LA(1);\n const generateErrorMessage = () => {\n const previousToken = this.LA(0);\n // we are preemptively re-syncing before an error has been detected, therefor we must reproduce\n // the error that would have been thrown\n const msg = this.errorMessageProvider.buildMismatchTokenMessage({\n expected: expectedTokType,\n actual: nextTokenWithoutResync,\n previous: previousToken,\n ruleName: this.getCurrRuleFullName(),\n });\n const error = new MismatchedTokenException(msg, nextTokenWithoutResync, this.LA(0));\n // the first token here will be the original cause of the error, this is not part of the resyncedTokens property.\n error.resyncedTokens = dropRight(resyncedTokens);\n this.SAVE_ERROR(error);\n };\n while (!passedResyncPoint) {\n // re-synced to a point where we can safely exit the repetition/\n if (this.tokenMatcher(currToken, expectedTokType)) {\n generateErrorMessage();\n return; // must return here to avoid reverting the inputIdx\n }\n else if (lookAheadFunc.call(this)) {\n // we skipped enough tokens so we can resync right back into another iteration of the repetition grammar rule\n generateErrorMessage();\n // recursive invocation in other to support multiple re-syncs in the same top level repetition grammar rule\n grammarRule.apply(this, grammarRuleArgs);\n return; // must return here to avoid reverting the inputIdx\n }\n else if (this.tokenMatcher(currToken, reSyncTokType)) {\n passedResyncPoint = true;\n }\n else {\n currToken = this.SKIP_TOKEN();\n this.addToResyncTokens(currToken, resyncedTokens);\n }\n }\n // we were unable to find a CLOSER point to resync inside the Repetition, reset the state.\n // The parsing exception we were trying to prevent will happen in the NEXT parsing step. it may be handled by\n // \"between rules\" resync recovery later in the flow.\n this.importLexerState(savedLexerState);\n }\n shouldInRepetitionRecoveryBeTried(expectTokAfterLastMatch, nextTokIdx, notStuck) {\n // Edge case of arriving from a MANY repetition which is stuck\n // Attempting recovery in this case could cause an infinite loop\n if (notStuck === false) {\n return false;\n }\n // no need to recover, next token is what we expect...\n if (this.tokenMatcher(this.LA(1), expectTokAfterLastMatch)) {\n return false;\n }\n // error recovery is disabled during backtracking as it can make the parser ignore a valid grammar path\n // and prefer some backtracking path that includes recovered errors.\n if (this.isBackTracking()) {\n return false;\n }\n // if we can perform inRule recovery (single token insertion or deletion) we always prefer that recovery algorithm\n // because if it works, it makes the least amount of changes to the input stream (greedy algorithm)\n //noinspection RedundantIfStatementJS\n if (this.canPerformInRuleRecovery(expectTokAfterLastMatch, this.getFollowsForInRuleRecovery(expectTokAfterLastMatch, nextTokIdx))) {\n return false;\n }\n return true;\n }\n // Error Recovery functionality\n getFollowsForInRuleRecovery(tokType, tokIdxInRule) {\n const grammarPath = this.getCurrentGrammarPath(tokType, tokIdxInRule);\n const follows = this.getNextPossibleTokenTypes(grammarPath);\n return follows;\n }\n tryInRuleRecovery(expectedTokType, follows) {\n if (this.canRecoverWithSingleTokenInsertion(expectedTokType, follows)) {\n const tokToInsert = this.getTokenToInsert(expectedTokType);\n return tokToInsert;\n }\n if (this.canRecoverWithSingleTokenDeletion(expectedTokType)) {\n const nextTok = this.SKIP_TOKEN();\n this.consumeToken();\n return nextTok;\n }\n throw new InRuleRecoveryException(\"sad sad panda\");\n }\n canPerformInRuleRecovery(expectedToken, follows) {\n return (this.canRecoverWithSingleTokenInsertion(expectedToken, follows) ||\n this.canRecoverWithSingleTokenDeletion(expectedToken));\n }\n canRecoverWithSingleTokenInsertion(expectedTokType, follows) {\n if (!this.canTokenTypeBeInsertedInRecovery(expectedTokType)) {\n return false;\n }\n // must know the possible following tokens to perform single token insertion\n if (isEmpty(follows)) {\n return false;\n }\n const mismatchedTok = this.LA(1);\n const isMisMatchedTokInFollows = find(follows, (possibleFollowsTokType) => {\n return this.tokenMatcher(mismatchedTok, possibleFollowsTokType);\n }) !== undefined;\n return isMisMatchedTokInFollows;\n }\n canRecoverWithSingleTokenDeletion(expectedTokType) {\n if (!this.canTokenTypeBeDeletedInRecovery(expectedTokType)) {\n return false;\n }\n const isNextTokenWhatIsExpected = this.tokenMatcher(this.LA(2), expectedTokType);\n return isNextTokenWhatIsExpected;\n }\n isInCurrentRuleReSyncSet(tokenTypeIdx) {\n const followKey = this.getCurrFollowKey();\n const currentRuleReSyncSet = this.getFollowSetFromFollowKey(followKey);\n return includes(currentRuleReSyncSet, tokenTypeIdx);\n }\n findReSyncTokenType() {\n const allPossibleReSyncTokTypes = this.flattenFollowSet();\n // this loop will always terminate as EOF is always in the follow stack and also always (virtually) in the input\n let nextToken = this.LA(1);\n let k = 2;\n while (true) {\n const foundMatch = find(allPossibleReSyncTokTypes, (resyncTokType) => {\n const canMatch = tokenMatcher(nextToken, resyncTokType);\n return canMatch;\n });\n if (foundMatch !== undefined) {\n return foundMatch;\n }\n nextToken = this.LA(k);\n k++;\n }\n }\n getCurrFollowKey() {\n // the length is at least one as we always add the ruleName to the stack before invoking the rule.\n if (this.RULE_STACK.length === 1) {\n return EOF_FOLLOW_KEY;\n }\n const currRuleShortName = this.getLastExplicitRuleShortName();\n const currRuleIdx = this.getLastExplicitRuleOccurrenceIndex();\n const prevRuleShortName = this.getPreviousExplicitRuleShortName();\n return {\n ruleName: this.shortRuleNameToFullName(currRuleShortName),\n idxInCallingRule: currRuleIdx,\n inRule: this.shortRuleNameToFullName(prevRuleShortName),\n };\n }\n buildFullFollowKeyStack() {\n const explicitRuleStack = this.RULE_STACK;\n const explicitOccurrenceStack = this.RULE_OCCURRENCE_STACK;\n return map(explicitRuleStack, (ruleName, idx) => {\n if (idx === 0) {\n return EOF_FOLLOW_KEY;\n }\n return {\n ruleName: this.shortRuleNameToFullName(ruleName),\n idxInCallingRule: explicitOccurrenceStack[idx],\n inRule: this.shortRuleNameToFullName(explicitRuleStack[idx - 1]),\n };\n });\n }\n flattenFollowSet() {\n const followStack = map(this.buildFullFollowKeyStack(), (currKey) => {\n return this.getFollowSetFromFollowKey(currKey);\n });\n return flatten(followStack);\n }\n getFollowSetFromFollowKey(followKey) {\n if (followKey === EOF_FOLLOW_KEY) {\n return [EOF];\n }\n const followName = followKey.ruleName + followKey.idxInCallingRule + IN + followKey.inRule;\n return this.resyncFollows[followName];\n }\n // It does not make any sense to include a virtual EOF token in the list of resynced tokens\n // as EOF does not really exist and thus does not contain any useful information (line/column numbers)\n addToResyncTokens(token, resyncTokens) {\n if (!this.tokenMatcher(token, EOF)) {\n resyncTokens.push(token);\n }\n return resyncTokens;\n }\n reSyncTo(tokType) {\n const resyncedTokens = [];\n let nextTok = this.LA(1);\n while (this.tokenMatcher(nextTok, tokType) === false) {\n nextTok = this.SKIP_TOKEN();\n this.addToResyncTokens(nextTok, resyncedTokens);\n }\n // the last token is not part of the error.\n return dropRight(resyncedTokens);\n }\n attemptInRepetitionRecovery(prodFunc, args, lookaheadFunc, dslMethodIdx, prodOccurrence, nextToksWalker, notStuck) {\n // by default this is a NO-OP\n // The actual implementation is with the function(not method) below\n }\n getCurrentGrammarPath(tokType, tokIdxInRule) {\n const pathRuleStack = this.getHumanReadableRuleStack();\n const pathOccurrenceStack = clone(this.RULE_OCCURRENCE_STACK);\n const grammarPath = {\n ruleStack: pathRuleStack,\n occurrenceStack: pathOccurrenceStack,\n lastTok: tokType,\n lastTokOccurrence: tokIdxInRule,\n };\n return grammarPath;\n }\n getHumanReadableRuleStack() {\n return map(this.RULE_STACK, (currShortName) => this.shortRuleNameToFullName(currShortName));\n }\n}\nexport function attemptInRepetitionRecovery(prodFunc, args, lookaheadFunc, dslMethodIdx, prodOccurrence, nextToksWalker, notStuck) {\n const key = this.getKeyForAutomaticLookahead(dslMethodIdx, prodOccurrence);\n let firstAfterRepInfo = this.firstAfterRepMap[key];\n if (firstAfterRepInfo === undefined) {\n const currRuleName = this.getCurrRuleFullName();\n const ruleGrammar = this.getGAstProductions()[currRuleName];\n const walker = new nextToksWalker(ruleGrammar, prodOccurrence);\n firstAfterRepInfo = walker.startWalking();\n this.firstAfterRepMap[key] = firstAfterRepInfo;\n }\n let expectTokAfterLastMatch = firstAfterRepInfo.token;\n let nextTokIdx = firstAfterRepInfo.occurrence;\n const isEndOfRule = firstAfterRepInfo.isEndOfRule;\n // special edge case of a TOP most repetition after which the input should END.\n // this will force an attempt for inRule recovery in that scenario.\n if (this.RULE_STACK.length === 1 &&\n isEndOfRule &&\n expectTokAfterLastMatch === undefined) {\n expectTokAfterLastMatch = EOF;\n nextTokIdx = 1;\n }\n // We don't have anything to re-sync to...\n // this condition was extracted from `shouldInRepetitionRecoveryBeTried` to act as a type-guard\n if (expectTokAfterLastMatch === undefined || nextTokIdx === undefined) {\n return;\n }\n if (this.shouldInRepetitionRecoveryBeTried(expectTokAfterLastMatch, nextTokIdx, notStuck)) {\n // TODO: performance optimization: instead of passing the original args here, we modify\n // the args param (or create a new one) and make sure the lookahead func is explicitly provided\n // to avoid searching the cache for it once more.\n this.tryInRepetitionRecovery(prodFunc, args, lookaheadFunc, expectTokAfterLastMatch);\n }\n}\n//# sourceMappingURL=recoverable.js.map", + "// Lookahead keys are 32Bit integers in the form\n// TTTTTTTT-ZZZZZZZZZZZZ-YYYY-XXXXXXXX\n// XXXX -> Occurrence Index bitmap.\n// YYYY -> DSL Method Type bitmap.\n// ZZZZZZZZZZZZZZZ -> Rule short Index bitmap.\n// TTTTTTTTT -> alternation alternative index bitmap\nexport const BITS_FOR_METHOD_TYPE = 4;\nexport const BITS_FOR_OCCURRENCE_IDX = 8;\nexport const BITS_FOR_RULE_IDX = 12;\n// TODO: validation, this means that there may at most 2^8 --> 256 alternatives for an alternation.\nexport const BITS_FOR_ALT_IDX = 8;\n// short string used as part of mapping keys.\n// being short improves the performance when composing KEYS for maps out of these\n// The 5 - 8 bits (16 possible values, are reserved for the DSL method indices)\nexport const OR_IDX = 1 << BITS_FOR_OCCURRENCE_IDX;\nexport const OPTION_IDX = 2 << BITS_FOR_OCCURRENCE_IDX;\nexport const MANY_IDX = 3 << BITS_FOR_OCCURRENCE_IDX;\nexport const AT_LEAST_ONE_IDX = 4 << BITS_FOR_OCCURRENCE_IDX;\nexport const MANY_SEP_IDX = 5 << BITS_FOR_OCCURRENCE_IDX;\nexport const AT_LEAST_ONE_SEP_IDX = 6 << BITS_FOR_OCCURRENCE_IDX;\n// this actually returns a number, but it is always used as a string (object prop key)\nexport function getKeyForAutomaticLookahead(ruleIdx, dslMethodIdx, occurrence) {\n return occurrence | dslMethodIdx | ruleIdx;\n}\nconst BITS_START_FOR_ALT_IDX = 32 - BITS_FOR_ALT_IDX;\n//# sourceMappingURL=keys.js.map", + "import { flatMap, isEmpty } from \"lodash-es\";\nimport { defaultGrammarValidatorErrorProvider } from \"../errors_public.js\";\nimport { DEFAULT_PARSER_CONFIG } from \"../parser/parser.js\";\nimport { validateAmbiguousAlternationAlternatives, validateEmptyOrAlternative, validateNoLeftRecursion, validateSomeNonEmptyLookaheadPath, } from \"./checks.js\";\nimport { buildAlternativesLookAheadFunc, buildLookaheadFuncForOptionalProd, buildLookaheadFuncForOr, buildSingleAlternativeLookaheadFunction, getProdType, } from \"./lookahead.js\";\nexport class LLkLookaheadStrategy {\n constructor(options) {\n var _a;\n this.maxLookahead =\n (_a = options === null || options === void 0 ? void 0 : options.maxLookahead) !== null && _a !== void 0 ? _a : DEFAULT_PARSER_CONFIG.maxLookahead;\n }\n validate(options) {\n const leftRecursionErrors = this.validateNoLeftRecursion(options.rules);\n if (isEmpty(leftRecursionErrors)) {\n const emptyAltErrors = this.validateEmptyOrAlternatives(options.rules);\n const ambiguousAltsErrors = this.validateAmbiguousAlternationAlternatives(options.rules, this.maxLookahead);\n const emptyRepetitionErrors = this.validateSomeNonEmptyLookaheadPath(options.rules, this.maxLookahead);\n const allErrors = [\n ...leftRecursionErrors,\n ...emptyAltErrors,\n ...ambiguousAltsErrors,\n ...emptyRepetitionErrors,\n ];\n return allErrors;\n }\n return leftRecursionErrors;\n }\n validateNoLeftRecursion(rules) {\n return flatMap(rules, (currTopRule) => validateNoLeftRecursion(currTopRule, currTopRule, defaultGrammarValidatorErrorProvider));\n }\n validateEmptyOrAlternatives(rules) {\n return flatMap(rules, (currTopRule) => validateEmptyOrAlternative(currTopRule, defaultGrammarValidatorErrorProvider));\n }\n validateAmbiguousAlternationAlternatives(rules, maxLookahead) {\n return flatMap(rules, (currTopRule) => validateAmbiguousAlternationAlternatives(currTopRule, maxLookahead, defaultGrammarValidatorErrorProvider));\n }\n validateSomeNonEmptyLookaheadPath(rules, maxLookahead) {\n return validateSomeNonEmptyLookaheadPath(rules, maxLookahead, defaultGrammarValidatorErrorProvider);\n }\n buildLookaheadForAlternation(options) {\n return buildLookaheadFuncForOr(options.prodOccurrence, options.rule, options.maxLookahead, options.hasPredicates, options.dynamicTokensEnabled, buildAlternativesLookAheadFunc);\n }\n buildLookaheadForOptional(options) {\n return buildLookaheadFuncForOptionalProd(options.prodOccurrence, options.rule, options.maxLookahead, options.dynamicTokensEnabled, getProdType(options.prodType), buildSingleAlternativeLookaheadFunction);\n }\n}\n//# sourceMappingURL=llk_lookahead.js.map", + "import { forEach, has } from \"lodash-es\";\nimport { DEFAULT_PARSER_CONFIG } from \"../parser.js\";\nimport { AT_LEAST_ONE_IDX, AT_LEAST_ONE_SEP_IDX, getKeyForAutomaticLookahead, MANY_IDX, MANY_SEP_IDX, OPTION_IDX, OR_IDX, } from \"../../grammar/keys.js\";\nimport { GAstVisitor, getProductionDslName, } from \"@chevrotain/gast\";\nimport { LLkLookaheadStrategy } from \"../../grammar/llk_lookahead.js\";\n/**\n * Trait responsible for the lookahead related utilities and optimizations.\n */\nexport class LooksAhead {\n initLooksAhead(config) {\n this.dynamicTokensEnabled = has(config, \"dynamicTokensEnabled\")\n ? config.dynamicTokensEnabled // assumes end user provides the correct config value/type\n : DEFAULT_PARSER_CONFIG.dynamicTokensEnabled;\n this.maxLookahead = has(config, \"maxLookahead\")\n ? config.maxLookahead // assumes end user provides the correct config value/type\n : DEFAULT_PARSER_CONFIG.maxLookahead;\n this.lookaheadStrategy = has(config, \"lookaheadStrategy\")\n ? config.lookaheadStrategy // assumes end user provides the correct config value/type\n : new LLkLookaheadStrategy({ maxLookahead: this.maxLookahead });\n this.lookAheadFuncsCache = new Map();\n }\n preComputeLookaheadFunctions(rules) {\n forEach(rules, (currRule) => {\n this.TRACE_INIT(`${currRule.name} Rule Lookahead`, () => {\n const { alternation, repetition, option, repetitionMandatory, repetitionMandatoryWithSeparator, repetitionWithSeparator, } = collectMethods(currRule);\n forEach(alternation, (currProd) => {\n const prodIdx = currProd.idx === 0 ? \"\" : currProd.idx;\n this.TRACE_INIT(`${getProductionDslName(currProd)}${prodIdx}`, () => {\n const laFunc = this.lookaheadStrategy.buildLookaheadForAlternation({\n prodOccurrence: currProd.idx,\n rule: currRule,\n maxLookahead: currProd.maxLookahead || this.maxLookahead,\n hasPredicates: currProd.hasPredicates,\n dynamicTokensEnabled: this.dynamicTokensEnabled,\n });\n const key = getKeyForAutomaticLookahead(this.fullRuleNameToShort[currRule.name], OR_IDX, currProd.idx);\n this.setLaFuncCache(key, laFunc);\n });\n });\n forEach(repetition, (currProd) => {\n this.computeLookaheadFunc(currRule, currProd.idx, MANY_IDX, \"Repetition\", currProd.maxLookahead, getProductionDslName(currProd));\n });\n forEach(option, (currProd) => {\n this.computeLookaheadFunc(currRule, currProd.idx, OPTION_IDX, \"Option\", currProd.maxLookahead, getProductionDslName(currProd));\n });\n forEach(repetitionMandatory, (currProd) => {\n this.computeLookaheadFunc(currRule, currProd.idx, AT_LEAST_ONE_IDX, \"RepetitionMandatory\", currProd.maxLookahead, getProductionDslName(currProd));\n });\n forEach(repetitionMandatoryWithSeparator, (currProd) => {\n this.computeLookaheadFunc(currRule, currProd.idx, AT_LEAST_ONE_SEP_IDX, \"RepetitionMandatoryWithSeparator\", currProd.maxLookahead, getProductionDslName(currProd));\n });\n forEach(repetitionWithSeparator, (currProd) => {\n this.computeLookaheadFunc(currRule, currProd.idx, MANY_SEP_IDX, \"RepetitionWithSeparator\", currProd.maxLookahead, getProductionDslName(currProd));\n });\n });\n });\n }\n computeLookaheadFunc(rule, prodOccurrence, prodKey, prodType, prodMaxLookahead, dslMethodName) {\n this.TRACE_INIT(`${dslMethodName}${prodOccurrence === 0 ? \"\" : prodOccurrence}`, () => {\n const laFunc = this.lookaheadStrategy.buildLookaheadForOptional({\n prodOccurrence,\n rule,\n maxLookahead: prodMaxLookahead || this.maxLookahead,\n dynamicTokensEnabled: this.dynamicTokensEnabled,\n prodType,\n });\n const key = getKeyForAutomaticLookahead(this.fullRuleNameToShort[rule.name], prodKey, prodOccurrence);\n this.setLaFuncCache(key, laFunc);\n });\n }\n // this actually returns a number, but it is always used as a string (object prop key)\n getKeyForAutomaticLookahead(dslMethodIdx, occurrence) {\n const currRuleShortName = this.getLastExplicitRuleShortName();\n return getKeyForAutomaticLookahead(currRuleShortName, dslMethodIdx, occurrence);\n }\n getLaFuncFromCache(key) {\n return this.lookAheadFuncsCache.get(key);\n }\n /* istanbul ignore next */\n setLaFuncCache(key, value) {\n this.lookAheadFuncsCache.set(key, value);\n }\n}\nclass DslMethodsCollectorVisitor extends GAstVisitor {\n constructor() {\n super(...arguments);\n this.dslMethods = {\n option: [],\n alternation: [],\n repetition: [],\n repetitionWithSeparator: [],\n repetitionMandatory: [],\n repetitionMandatoryWithSeparator: [],\n };\n }\n reset() {\n this.dslMethods = {\n option: [],\n alternation: [],\n repetition: [],\n repetitionWithSeparator: [],\n repetitionMandatory: [],\n repetitionMandatoryWithSeparator: [],\n };\n }\n visitOption(option) {\n this.dslMethods.option.push(option);\n }\n visitRepetitionWithSeparator(manySep) {\n this.dslMethods.repetitionWithSeparator.push(manySep);\n }\n visitRepetitionMandatory(atLeastOne) {\n this.dslMethods.repetitionMandatory.push(atLeastOne);\n }\n visitRepetitionMandatoryWithSeparator(atLeastOneSep) {\n this.dslMethods.repetitionMandatoryWithSeparator.push(atLeastOneSep);\n }\n visitRepetition(many) {\n this.dslMethods.repetition.push(many);\n }\n visitAlternation(or) {\n this.dslMethods.alternation.push(or);\n }\n}\nconst collectorVisitor = new DslMethodsCollectorVisitor();\nexport function collectMethods(rule) {\n collectorVisitor.reset();\n rule.accept(collectorVisitor);\n const dslMethods = collectorVisitor.dslMethods;\n // avoid uncleaned references\n collectorVisitor.reset();\n return dslMethods;\n}\n//# sourceMappingURL=looksahead.js.map", + "/**\n * This nodeLocation tracking is not efficient and should only be used\n * when error recovery is enabled or the Token Vector contains virtual Tokens\n * (e.g, Python Indent/Outdent)\n * As it executes the calculation for every single terminal/nonTerminal\n * and does not rely on the fact the token vector is **sorted**\n */\nexport function setNodeLocationOnlyOffset(currNodeLocation, newLocationInfo) {\n // First (valid) update for this cst node\n if (isNaN(currNodeLocation.startOffset) === true) {\n // assumption1: Token location information is either NaN or a valid number\n // assumption2: Token location information is fully valid if it exist\n // (both start/end offsets exist and are numbers).\n currNodeLocation.startOffset = newLocationInfo.startOffset;\n currNodeLocation.endOffset = newLocationInfo.endOffset;\n }\n // Once the startOffset has been updated with a valid number it should never receive\n // any farther updates as the Token vector is sorted.\n // We still have to check this this condition for every new possible location info\n // because with error recovery enabled we may encounter invalid tokens (NaN location props)\n else if (currNodeLocation.endOffset < newLocationInfo.endOffset === true) {\n currNodeLocation.endOffset = newLocationInfo.endOffset;\n }\n}\n/**\n * This nodeLocation tracking is not efficient and should only be used\n * when error recovery is enabled or the Token Vector contains virtual Tokens\n * (e.g, Python Indent/Outdent)\n * As it executes the calculation for every single terminal/nonTerminal\n * and does not rely on the fact the token vector is **sorted**\n */\nexport function setNodeLocationFull(currNodeLocation, newLocationInfo) {\n // First (valid) update for this cst node\n if (isNaN(currNodeLocation.startOffset) === true) {\n // assumption1: Token location information is either NaN or a valid number\n // assumption2: Token location information is fully valid if it exist\n // (all start/end props exist and are numbers).\n currNodeLocation.startOffset = newLocationInfo.startOffset;\n currNodeLocation.startColumn = newLocationInfo.startColumn;\n currNodeLocation.startLine = newLocationInfo.startLine;\n currNodeLocation.endOffset = newLocationInfo.endOffset;\n currNodeLocation.endColumn = newLocationInfo.endColumn;\n currNodeLocation.endLine = newLocationInfo.endLine;\n }\n // Once the start props has been updated with a valid number it should never receive\n // any farther updates as the Token vector is sorted.\n // We still have to check this this condition for every new possible location info\n // because with error recovery enabled we may encounter invalid tokens (NaN location props)\n else if (currNodeLocation.endOffset < newLocationInfo.endOffset === true) {\n currNodeLocation.endOffset = newLocationInfo.endOffset;\n currNodeLocation.endColumn = newLocationInfo.endColumn;\n currNodeLocation.endLine = newLocationInfo.endLine;\n }\n}\nexport function addTerminalToCst(node, token, tokenTypeName) {\n if (node.children[tokenTypeName] === undefined) {\n node.children[tokenTypeName] = [token];\n }\n else {\n node.children[tokenTypeName].push(token);\n }\n}\nexport function addNoneTerminalToCst(node, ruleName, ruleResult) {\n if (node.children[ruleName] === undefined) {\n node.children[ruleName] = [ruleResult];\n }\n else {\n node.children[ruleName].push(ruleResult);\n }\n}\n//# sourceMappingURL=cst.js.map", + "const NAME = \"name\";\nexport function defineNameProp(obj, nameValue) {\n Object.defineProperty(obj, NAME, {\n enumerable: false,\n configurable: true,\n writable: false,\n value: nameValue,\n });\n}\n//# sourceMappingURL=lang_extensions.js.map", + "import { compact, filter, forEach, isArray, isEmpty, isFunction, isUndefined, keys, map, } from \"lodash-es\";\nimport { defineNameProp } from \"../../lang/lang_extensions.js\";\nexport function defaultVisit(ctx, param) {\n const childrenNames = keys(ctx);\n const childrenNamesLength = childrenNames.length;\n for (let i = 0; i < childrenNamesLength; i++) {\n const currChildName = childrenNames[i];\n const currChildArray = ctx[currChildName];\n const currChildArrayLength = currChildArray.length;\n for (let j = 0; j < currChildArrayLength; j++) {\n const currChild = currChildArray[j];\n // distinction between Tokens Children and CstNode children\n if (currChild.tokenTypeIdx === undefined) {\n this[currChild.name](currChild.children, param);\n }\n }\n }\n // defaultVisit does not support generic out param\n}\nexport function createBaseSemanticVisitorConstructor(grammarName, ruleNames) {\n const derivedConstructor = function () { };\n // can be overwritten according to:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/\n // name?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FFunction%2Fname\n defineNameProp(derivedConstructor, grammarName + \"BaseSemantics\");\n const semanticProto = {\n visit: function (cstNode, param) {\n // enables writing more concise visitor methods when CstNode has only a single child\n if (isArray(cstNode)) {\n // A CST Node's children dictionary can never have empty arrays as values\n // If a key is defined there will be at least one element in the corresponding value array.\n cstNode = cstNode[0];\n }\n // enables passing optional CstNodes concisely.\n if (isUndefined(cstNode)) {\n return undefined;\n }\n return this[cstNode.name](cstNode.children, param);\n },\n validateVisitor: function () {\n const semanticDefinitionErrors = validateVisitor(this, ruleNames);\n if (!isEmpty(semanticDefinitionErrors)) {\n const errorMessages = map(semanticDefinitionErrors, (currDefError) => currDefError.msg);\n throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\\n\\t` +\n `${errorMessages.join(\"\\n\\n\").replace(/\\n/g, \"\\n\\t\")}`);\n }\n },\n };\n derivedConstructor.prototype = semanticProto;\n derivedConstructor.prototype.constructor = derivedConstructor;\n derivedConstructor._RULE_NAMES = ruleNames;\n return derivedConstructor;\n}\nexport function createBaseVisitorConstructorWithDefaults(grammarName, ruleNames, baseConstructor) {\n const derivedConstructor = function () { };\n // can be overwritten according to:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/\n // name?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FFunction%2Fname\n defineNameProp(derivedConstructor, grammarName + \"BaseSemanticsWithDefaults\");\n const withDefaultsProto = Object.create(baseConstructor.prototype);\n forEach(ruleNames, (ruleName) => {\n withDefaultsProto[ruleName] = defaultVisit;\n });\n derivedConstructor.prototype = withDefaultsProto;\n derivedConstructor.prototype.constructor = derivedConstructor;\n return derivedConstructor;\n}\nexport var CstVisitorDefinitionError;\n(function (CstVisitorDefinitionError) {\n CstVisitorDefinitionError[CstVisitorDefinitionError[\"REDUNDANT_METHOD\"] = 0] = \"REDUNDANT_METHOD\";\n CstVisitorDefinitionError[CstVisitorDefinitionError[\"MISSING_METHOD\"] = 1] = \"MISSING_METHOD\";\n})(CstVisitorDefinitionError || (CstVisitorDefinitionError = {}));\nexport function validateVisitor(visitorInstance, ruleNames) {\n const missingErrors = validateMissingCstMethods(visitorInstance, ruleNames);\n return missingErrors;\n}\nexport function validateMissingCstMethods(visitorInstance, ruleNames) {\n const missingRuleNames = filter(ruleNames, (currRuleName) => {\n return isFunction(visitorInstance[currRuleName]) === false;\n });\n const errors = map(missingRuleNames, (currRuleName) => {\n return {\n msg: `Missing visitor method: <${currRuleName}> on ${(visitorInstance.constructor.name)} CST Visitor.`,\n type: CstVisitorDefinitionError.MISSING_METHOD,\n methodName: currRuleName,\n };\n });\n return compact(errors);\n}\n//# sourceMappingURL=cst_visitor.js.map", + "import { addNoneTerminalToCst, addTerminalToCst, setNodeLocationFull, setNodeLocationOnlyOffset, } from \"../../cst/cst.js\";\nimport { has, isUndefined, keys, noop } from \"lodash-es\";\nimport { createBaseSemanticVisitorConstructor, createBaseVisitorConstructorWithDefaults, } from \"../../cst/cst_visitor.js\";\nimport { DEFAULT_PARSER_CONFIG } from \"../parser.js\";\n/**\n * This trait is responsible for the CST building logic.\n */\nexport class TreeBuilder {\n initTreeBuilder(config) {\n this.CST_STACK = [];\n // outputCst is no longer exposed/defined in the pubic API\n this.outputCst = config.outputCst;\n this.nodeLocationTracking = has(config, \"nodeLocationTracking\")\n ? config.nodeLocationTracking // assumes end user provides the correct config value/type\n : DEFAULT_PARSER_CONFIG.nodeLocationTracking;\n if (!this.outputCst) {\n this.cstInvocationStateUpdate = noop;\n this.cstFinallyStateUpdate = noop;\n this.cstPostTerminal = noop;\n this.cstPostNonTerminal = noop;\n this.cstPostRule = noop;\n }\n else {\n if (/full/i.test(this.nodeLocationTracking)) {\n if (this.recoveryEnabled) {\n this.setNodeLocationFromToken = setNodeLocationFull;\n this.setNodeLocationFromNode = setNodeLocationFull;\n this.cstPostRule = noop;\n this.setInitialNodeLocation = this.setInitialNodeLocationFullRecovery;\n }\n else {\n this.setNodeLocationFromToken = noop;\n this.setNodeLocationFromNode = noop;\n this.cstPostRule = this.cstPostRuleFull;\n this.setInitialNodeLocation = this.setInitialNodeLocationFullRegular;\n }\n }\n else if (/onlyOffset/i.test(this.nodeLocationTracking)) {\n if (this.recoveryEnabled) {\n this.setNodeLocationFromToken = setNodeLocationOnlyOffset;\n this.setNodeLocationFromNode = setNodeLocationOnlyOffset;\n this.cstPostRule = noop;\n this.setInitialNodeLocation =\n this.setInitialNodeLocationOnlyOffsetRecovery;\n }\n else {\n this.setNodeLocationFromToken = noop;\n this.setNodeLocationFromNode = noop;\n this.cstPostRule = this.cstPostRuleOnlyOffset;\n this.setInitialNodeLocation =\n this.setInitialNodeLocationOnlyOffsetRegular;\n }\n }\n else if (/none/i.test(this.nodeLocationTracking)) {\n this.setNodeLocationFromToken = noop;\n this.setNodeLocationFromNode = noop;\n this.cstPostRule = noop;\n this.setInitialNodeLocation = noop;\n }\n else {\n throw Error(`Invalid <nodeLocationTracking> config option: \"${config.nodeLocationTracking}\"`);\n }\n }\n }\n setInitialNodeLocationOnlyOffsetRecovery(cstNode) {\n cstNode.location = {\n startOffset: NaN,\n endOffset: NaN,\n };\n }\n setInitialNodeLocationOnlyOffsetRegular(cstNode) {\n cstNode.location = {\n // without error recovery the starting Location of a new CstNode is guaranteed\n // To be the next Token's startOffset (for valid inputs).\n // For invalid inputs there won't be any CSTOutput so this potential\n // inaccuracy does not matter\n startOffset: this.LA(1).startOffset,\n endOffset: NaN,\n };\n }\n setInitialNodeLocationFullRecovery(cstNode) {\n cstNode.location = {\n startOffset: NaN,\n startLine: NaN,\n startColumn: NaN,\n endOffset: NaN,\n endLine: NaN,\n endColumn: NaN,\n };\n }\n /**\n * @see setInitialNodeLocationOnlyOffsetRegular for explanation why this work\n \n * @param cstNode\n */\n setInitialNodeLocationFullRegular(cstNode) {\n const nextToken = this.LA(1);\n cstNode.location = {\n startOffset: nextToken.startOffset,\n startLine: nextToken.startLine,\n startColumn: nextToken.startColumn,\n endOffset: NaN,\n endLine: NaN,\n endColumn: NaN,\n };\n }\n cstInvocationStateUpdate(fullRuleName) {\n const cstNode = {\n name: fullRuleName,\n children: Object.create(null),\n };\n this.setInitialNodeLocation(cstNode);\n this.CST_STACK.push(cstNode);\n }\n cstFinallyStateUpdate() {\n this.CST_STACK.pop();\n }\n cstPostRuleFull(ruleCstNode) {\n // casts to `required<CstNodeLocation>` are safe because `cstPostRuleFull` should only be invoked when full location is enabled\n const prevToken = this.LA(0);\n const loc = ruleCstNode.location;\n // If this condition is true it means we consumed at least one Token\n // In this CstNode.\n if (loc.startOffset <= prevToken.startOffset === true) {\n loc.endOffset = prevToken.endOffset;\n loc.endLine = prevToken.endLine;\n loc.endColumn = prevToken.endColumn;\n }\n // \"empty\" CstNode edge case\n else {\n loc.startOffset = NaN;\n loc.startLine = NaN;\n loc.startColumn = NaN;\n }\n }\n cstPostRuleOnlyOffset(ruleCstNode) {\n const prevToken = this.LA(0);\n // `location' is not null because `cstPostRuleOnlyOffset` will only be invoked when location tracking is enabled.\n const loc = ruleCstNode.location;\n // If this condition is true it means we consumed at least one Token\n // In this CstNode.\n if (loc.startOffset <= prevToken.startOffset === true) {\n loc.endOffset = prevToken.endOffset;\n }\n // \"empty\" CstNode edge case\n else {\n loc.startOffset = NaN;\n }\n }\n cstPostTerminal(key, consumedToken) {\n const rootCst = this.CST_STACK[this.CST_STACK.length - 1];\n addTerminalToCst(rootCst, consumedToken, key);\n // This is only used when **both** error recovery and CST Output are enabled.\n this.setNodeLocationFromToken(rootCst.location, consumedToken);\n }\n cstPostNonTerminal(ruleCstResult, ruleName) {\n const preCstNode = this.CST_STACK[this.CST_STACK.length - 1];\n addNoneTerminalToCst(preCstNode, ruleName, ruleCstResult);\n // This is only used when **both** error recovery and CST Output are enabled.\n this.setNodeLocationFromNode(preCstNode.location, ruleCstResult.location);\n }\n getBaseCstVisitorConstructor() {\n if (isUndefined(this.baseCstVisitorConstructor)) {\n const newBaseCstVisitorConstructor = createBaseSemanticVisitorConstructor(this.className, keys(this.gastProductionsCache));\n this.baseCstVisitorConstructor = newBaseCstVisitorConstructor;\n return newBaseCstVisitorConstructor;\n }\n return this.baseCstVisitorConstructor;\n }\n getBaseCstVisitorConstructorWithDefaults() {\n if (isUndefined(this.baseCstVisitorWithDefaultsConstructor)) {\n const newConstructor = createBaseVisitorConstructorWithDefaults(this.className, keys(this.gastProductionsCache), this.getBaseCstVisitorConstructor());\n this.baseCstVisitorWithDefaultsConstructor = newConstructor;\n return newConstructor;\n }\n return this.baseCstVisitorWithDefaultsConstructor;\n }\n getLastExplicitRuleShortName() {\n const ruleStack = this.RULE_STACK;\n return ruleStack[ruleStack.length - 1];\n }\n getPreviousExplicitRuleShortName() {\n const ruleStack = this.RULE_STACK;\n return ruleStack[ruleStack.length - 2];\n }\n getLastExplicitRuleOccurrenceIndex() {\n const occurrenceStack = this.RULE_OCCURRENCE_STACK;\n return occurrenceStack[occurrenceStack.length - 1];\n }\n}\n//# sourceMappingURL=tree_builder.js.map", + "import { END_OF_FILE } from \"../parser.js\";\n/**\n * Trait responsible abstracting over the interaction with Lexer output (Token vector).\n *\n * This could be generalized to support other kinds of lexers, e.g.\n * - Just in Time Lexing / Lexer-Less parsing.\n * - Streaming Lexer.\n */\nexport class LexerAdapter {\n initLexerAdapter() {\n this.tokVector = [];\n this.tokVectorLength = 0;\n this.currIdx = -1;\n }\n set input(newInput) {\n // @ts-ignore - `this parameter` not supported in setters/getters\n // - https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters\n if (this.selfAnalysisDone !== true) {\n throw Error(`Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.`);\n }\n // @ts-ignore - `this parameter` not supported in setters/getters\n // - https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters\n this.reset();\n this.tokVector = newInput;\n this.tokVectorLength = newInput.length;\n }\n get input() {\n return this.tokVector;\n }\n // skips a token and returns the next token\n SKIP_TOKEN() {\n if (this.currIdx <= this.tokVector.length - 2) {\n this.consumeToken();\n return this.LA(1);\n }\n else {\n return END_OF_FILE;\n }\n }\n // Lexer (accessing Token vector) related methods which can be overridden to implement lazy lexers\n // or lexers dependent on parser context.\n LA(howMuch) {\n const soughtIdx = this.currIdx + howMuch;\n if (soughtIdx < 0 || this.tokVectorLength <= soughtIdx) {\n return END_OF_FILE;\n }\n else {\n return this.tokVector[soughtIdx];\n }\n }\n consumeToken() {\n this.currIdx++;\n }\n exportLexerState() {\n return this.currIdx;\n }\n importLexerState(newState) {\n this.currIdx = newState;\n }\n resetLexerState() {\n this.currIdx = -1;\n }\n moveToTerminatedState() {\n this.currIdx = this.tokVector.length - 1;\n }\n getLexerPosition() {\n return this.exportLexerState();\n }\n}\n//# sourceMappingURL=lexer_adapter.js.map", + "import { includes, values } from \"lodash-es\";\nimport { isRecognitionException } from \"../../exceptions_public.js\";\nimport { DEFAULT_RULE_CONFIG, ParserDefinitionErrorType } from \"../parser.js\";\nimport { defaultGrammarValidatorErrorProvider } from \"../../errors_public.js\";\nimport { validateRuleIsOverridden } from \"../../grammar/checks.js\";\nimport { serializeGrammar } from \"@chevrotain/gast\";\n/**\n * This trait is responsible for implementing the public API\n * for defining Chevrotain parsers, i.e:\n * - CONSUME\n * - RULE\n * - OPTION\n * - ...\n */\nexport class RecognizerApi {\n ACTION(impl) {\n return impl.call(this);\n }\n consume(idx, tokType, options) {\n return this.consumeInternal(tokType, idx, options);\n }\n subrule(idx, ruleToCall, options) {\n return this.subruleInternal(ruleToCall, idx, options);\n }\n option(idx, actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, idx);\n }\n or(idx, altsOrOpts) {\n return this.orInternal(altsOrOpts, idx);\n }\n many(idx, actionORMethodDef) {\n return this.manyInternal(idx, actionORMethodDef);\n }\n atLeastOne(idx, actionORMethodDef) {\n return this.atLeastOneInternal(idx, actionORMethodDef);\n }\n CONSUME(tokType, options) {\n return this.consumeInternal(tokType, 0, options);\n }\n CONSUME1(tokType, options) {\n return this.consumeInternal(tokType, 1, options);\n }\n CONSUME2(tokType, options) {\n return this.consumeInternal(tokType, 2, options);\n }\n CONSUME3(tokType, options) {\n return this.consumeInternal(tokType, 3, options);\n }\n CONSUME4(tokType, options) {\n return this.consumeInternal(tokType, 4, options);\n }\n CONSUME5(tokType, options) {\n return this.consumeInternal(tokType, 5, options);\n }\n CONSUME6(tokType, options) {\n return this.consumeInternal(tokType, 6, options);\n }\n CONSUME7(tokType, options) {\n return this.consumeInternal(tokType, 7, options);\n }\n CONSUME8(tokType, options) {\n return this.consumeInternal(tokType, 8, options);\n }\n CONSUME9(tokType, options) {\n return this.consumeInternal(tokType, 9, options);\n }\n SUBRULE(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 0, options);\n }\n SUBRULE1(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 1, options);\n }\n SUBRULE2(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 2, options);\n }\n SUBRULE3(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 3, options);\n }\n SUBRULE4(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 4, options);\n }\n SUBRULE5(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 5, options);\n }\n SUBRULE6(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 6, options);\n }\n SUBRULE7(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 7, options);\n }\n SUBRULE8(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 8, options);\n }\n SUBRULE9(ruleToCall, options) {\n return this.subruleInternal(ruleToCall, 9, options);\n }\n OPTION(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 0);\n }\n OPTION1(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 1);\n }\n OPTION2(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 2);\n }\n OPTION3(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 3);\n }\n OPTION4(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 4);\n }\n OPTION5(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 5);\n }\n OPTION6(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 6);\n }\n OPTION7(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 7);\n }\n OPTION8(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 8);\n }\n OPTION9(actionORMethodDef) {\n return this.optionInternal(actionORMethodDef, 9);\n }\n OR(altsOrOpts) {\n return this.orInternal(altsOrOpts, 0);\n }\n OR1(altsOrOpts) {\n return this.orInternal(altsOrOpts, 1);\n }\n OR2(altsOrOpts) {\n return this.orInternal(altsOrOpts, 2);\n }\n OR3(altsOrOpts) {\n return this.orInternal(altsOrOpts, 3);\n }\n OR4(altsOrOpts) {\n return this.orInternal(altsOrOpts, 4);\n }\n OR5(altsOrOpts) {\n return this.orInternal(altsOrOpts, 5);\n }\n OR6(altsOrOpts) {\n return this.orInternal(altsOrOpts, 6);\n }\n OR7(altsOrOpts) {\n return this.orInternal(altsOrOpts, 7);\n }\n OR8(altsOrOpts) {\n return this.orInternal(altsOrOpts, 8);\n }\n OR9(altsOrOpts) {\n return this.orInternal(altsOrOpts, 9);\n }\n MANY(actionORMethodDef) {\n this.manyInternal(0, actionORMethodDef);\n }\n MANY1(actionORMethodDef) {\n this.manyInternal(1, actionORMethodDef);\n }\n MANY2(actionORMethodDef) {\n this.manyInternal(2, actionORMethodDef);\n }\n MANY3(actionORMethodDef) {\n this.manyInternal(3, actionORMethodDef);\n }\n MANY4(actionORMethodDef) {\n this.manyInternal(4, actionORMethodDef);\n }\n MANY5(actionORMethodDef) {\n this.manyInternal(5, actionORMethodDef);\n }\n MANY6(actionORMethodDef) {\n this.manyInternal(6, actionORMethodDef);\n }\n MANY7(actionORMethodDef) {\n this.manyInternal(7, actionORMethodDef);\n }\n MANY8(actionORMethodDef) {\n this.manyInternal(8, actionORMethodDef);\n }\n MANY9(actionORMethodDef) {\n this.manyInternal(9, actionORMethodDef);\n }\n MANY_SEP(options) {\n this.manySepFirstInternal(0, options);\n }\n MANY_SEP1(options) {\n this.manySepFirstInternal(1, options);\n }\n MANY_SEP2(options) {\n this.manySepFirstInternal(2, options);\n }\n MANY_SEP3(options) {\n this.manySepFirstInternal(3, options);\n }\n MANY_SEP4(options) {\n this.manySepFirstInternal(4, options);\n }\n MANY_SEP5(options) {\n this.manySepFirstInternal(5, options);\n }\n MANY_SEP6(options) {\n this.manySepFirstInternal(6, options);\n }\n MANY_SEP7(options) {\n this.manySepFirstInternal(7, options);\n }\n MANY_SEP8(options) {\n this.manySepFirstInternal(8, options);\n }\n MANY_SEP9(options) {\n this.manySepFirstInternal(9, options);\n }\n AT_LEAST_ONE(actionORMethodDef) {\n this.atLeastOneInternal(0, actionORMethodDef);\n }\n AT_LEAST_ONE1(actionORMethodDef) {\n return this.atLeastOneInternal(1, actionORMethodDef);\n }\n AT_LEAST_ONE2(actionORMethodDef) {\n this.atLeastOneInternal(2, actionORMethodDef);\n }\n AT_LEAST_ONE3(actionORMethodDef) {\n this.atLeastOneInternal(3, actionORMethodDef);\n }\n AT_LEAST_ONE4(actionORMethodDef) {\n this.atLeastOneInternal(4, actionORMethodDef);\n }\n AT_LEAST_ONE5(actionORMethodDef) {\n this.atLeastOneInternal(5, actionORMethodDef);\n }\n AT_LEAST_ONE6(actionORMethodDef) {\n this.atLeastOneInternal(6, actionORMethodDef);\n }\n AT_LEAST_ONE7(actionORMethodDef) {\n this.atLeastOneInternal(7, actionORMethodDef);\n }\n AT_LEAST_ONE8(actionORMethodDef) {\n this.atLeastOneInternal(8, actionORMethodDef);\n }\n AT_LEAST_ONE9(actionORMethodDef) {\n this.atLeastOneInternal(9, actionORMethodDef);\n }\n AT_LEAST_ONE_SEP(options) {\n this.atLeastOneSepFirstInternal(0, options);\n }\n AT_LEAST_ONE_SEP1(options) {\n this.atLeastOneSepFirstInternal(1, options);\n }\n AT_LEAST_ONE_SEP2(options) {\n this.atLeastOneSepFirstInternal(2, options);\n }\n AT_LEAST_ONE_SEP3(options) {\n this.atLeastOneSepFirstInternal(3, options);\n }\n AT_LEAST_ONE_SEP4(options) {\n this.atLeastOneSepFirstInternal(4, options);\n }\n AT_LEAST_ONE_SEP5(options) {\n this.atLeastOneSepFirstInternal(5, options);\n }\n AT_LEAST_ONE_SEP6(options) {\n this.atLeastOneSepFirstInternal(6, options);\n }\n AT_LEAST_ONE_SEP7(options) {\n this.atLeastOneSepFirstInternal(7, options);\n }\n AT_LEAST_ONE_SEP8(options) {\n this.atLeastOneSepFirstInternal(8, options);\n }\n AT_LEAST_ONE_SEP9(options) {\n this.atLeastOneSepFirstInternal(9, options);\n }\n RULE(name, implementation, config = DEFAULT_RULE_CONFIG) {\n if (includes(this.definedRulesNames, name)) {\n const errMsg = defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({\n topLevelRule: name,\n grammarName: this.className,\n });\n const error = {\n message: errMsg,\n type: ParserDefinitionErrorType.DUPLICATE_RULE_NAME,\n ruleName: name,\n };\n this.definitionErrors.push(error);\n }\n this.definedRulesNames.push(name);\n const ruleImplementation = this.defineRule(name, implementation, config);\n this[name] = ruleImplementation;\n return ruleImplementation;\n }\n OVERRIDE_RULE(name, impl, config = DEFAULT_RULE_CONFIG) {\n const ruleErrors = validateRuleIsOverridden(name, this.definedRulesNames, this.className);\n this.definitionErrors = this.definitionErrors.concat(ruleErrors);\n const ruleImplementation = this.defineRule(name, impl, config);\n this[name] = ruleImplementation;\n return ruleImplementation;\n }\n BACKTRACK(grammarRule, args) {\n return function () {\n // save org state\n this.isBackTrackingStack.push(1);\n const orgState = this.saveRecogState();\n try {\n grammarRule.apply(this, args);\n // if no exception was thrown we have succeed parsing the rule.\n return true;\n }\n catch (e) {\n if (isRecognitionException(e)) {\n return false;\n }\n else {\n throw e;\n }\n }\n finally {\n this.reloadRecogState(orgState);\n this.isBackTrackingStack.pop();\n }\n };\n }\n // GAST export APIs\n getGAstProductions() {\n return this.gastProductionsCache;\n }\n getSerializedGastProductions() {\n return serializeGrammar(values(this.gastProductionsCache));\n }\n}\n//# sourceMappingURL=recognizer_api.js.map", + "import { clone, every, flatten, has, isArray, isEmpty, isObject, reduce, uniq, values, } from \"lodash-es\";\nimport { AT_LEAST_ONE_IDX, AT_LEAST_ONE_SEP_IDX, BITS_FOR_METHOD_TYPE, BITS_FOR_OCCURRENCE_IDX, MANY_IDX, MANY_SEP_IDX, OPTION_IDX, OR_IDX, } from \"../../grammar/keys.js\";\nimport { isRecognitionException, MismatchedTokenException, NotAllInputParsedException, } from \"../../exceptions_public.js\";\nimport { PROD_TYPE } from \"../../grammar/lookahead.js\";\nimport { NextTerminalAfterAtLeastOneSepWalker, NextTerminalAfterAtLeastOneWalker, NextTerminalAfterManySepWalker, NextTerminalAfterManyWalker, } from \"../../grammar/interpreter.js\";\nimport { DEFAULT_RULE_CONFIG } from \"../parser.js\";\nimport { IN_RULE_RECOVERY_EXCEPTION } from \"./recoverable.js\";\nimport { EOF } from \"../../../scan/tokens_public.js\";\nimport { augmentTokenTypes, isTokenType, tokenStructuredMatcher, tokenStructuredMatcherNoCategories, } from \"../../../scan/tokens.js\";\n/**\n * This trait is responsible for the runtime parsing engine\n * Used by the official API (recognizer_api.ts)\n */\nexport class RecognizerEngine {\n initRecognizerEngine(tokenVocabulary, config) {\n this.className = this.constructor.name;\n // TODO: would using an ES6 Map or plain object be faster (CST building scenario)\n this.shortRuleNameToFull = {};\n this.fullRuleNameToShort = {};\n this.ruleShortNameIdx = 256;\n this.tokenMatcher = tokenStructuredMatcherNoCategories;\n this.subruleIdx = 0;\n this.definedRulesNames = [];\n this.tokensMap = {};\n this.isBackTrackingStack = [];\n this.RULE_STACK = [];\n this.RULE_OCCURRENCE_STACK = [];\n this.gastProductionsCache = {};\n if (has(config, \"serializedGrammar\")) {\n throw Error(\"The Parser's configuration can no longer contain a <serializedGrammar> property.\\n\" +\n \"\\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\\n\" +\n \"\\tFor Further details.\");\n }\n if (isArray(tokenVocabulary)) {\n // This only checks for Token vocabularies provided as arrays.\n // That is good enough because the main objective is to detect users of pre-V4.0 APIs\n // rather than all edge cases of empty Token vocabularies.\n if (isEmpty(tokenVocabulary)) {\n throw Error(\"A Token Vocabulary cannot be empty.\\n\" +\n \"\\tNote that the first argument for the parser constructor\\n\" +\n \"\\tis no longer a Token vector (since v4.0).\");\n }\n if (typeof tokenVocabulary[0].startOffset === \"number\") {\n throw Error(\"The Parser constructor no longer accepts a token vector as the first argument.\\n\" +\n \"\\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\\n\" +\n \"\\tFor Further details.\");\n }\n }\n if (isArray(tokenVocabulary)) {\n this.tokensMap = reduce(tokenVocabulary, (acc, tokType) => {\n acc[tokType.name] = tokType;\n return acc;\n }, {});\n }\n else if (has(tokenVocabulary, \"modes\") &&\n every(flatten(values(tokenVocabulary.modes)), isTokenType)) {\n const allTokenTypes = flatten(values(tokenVocabulary.modes));\n const uniqueTokens = uniq(allTokenTypes);\n this.tokensMap = reduce(uniqueTokens, (acc, tokType) => {\n acc[tokType.name] = tokType;\n return acc;\n }, {});\n }\n else if (isObject(tokenVocabulary)) {\n this.tokensMap = clone(tokenVocabulary);\n }\n else {\n throw new Error(\"<tokensDictionary> argument must be An Array of Token constructors,\" +\n \" A dictionary of Token constructors or an IMultiModeLexerDefinition\");\n }\n // always add EOF to the tokenNames -> constructors map. it is useful to assure all the input has been\n // parsed with a clear error message (\"expecting EOF but found ...\")\n this.tokensMap[\"EOF\"] = EOF;\n const allTokenTypes = has(tokenVocabulary, \"modes\")\n ? flatten(values(tokenVocabulary.modes))\n : values(tokenVocabulary);\n const noTokenCategoriesUsed = every(allTokenTypes, (tokenConstructor) => isEmpty(tokenConstructor.categoryMatches));\n this.tokenMatcher = noTokenCategoriesUsed\n ? tokenStructuredMatcherNoCategories\n : tokenStructuredMatcher;\n // Because ES2015+ syntax should be supported for creating Token classes\n // We cannot assume that the Token classes were created using the \"extendToken\" utilities\n // Therefore we must augment the Token classes both on Lexer initialization and on Parser initialization\n augmentTokenTypes(values(this.tokensMap));\n }\n defineRule(ruleName, impl, config) {\n if (this.selfAnalysisDone) {\n throw Error(`Grammar rule <${ruleName}> may not be defined after the 'performSelfAnalysis' method has been called'\\n` +\n `Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);\n }\n const resyncEnabled = has(config, \"resyncEnabled\")\n ? config.resyncEnabled // assumes end user provides the correct config value/type\n : DEFAULT_RULE_CONFIG.resyncEnabled;\n const recoveryValueFunc = has(config, \"recoveryValueFunc\")\n ? config.recoveryValueFunc // assumes end user provides the correct config value/type\n : DEFAULT_RULE_CONFIG.recoveryValueFunc;\n // performance optimization: Use small integers as keys for the longer human readable \"full\" rule names.\n // this greatly improves Map access time (as much as 8% for some performance benchmarks).\n const shortName = this.ruleShortNameIdx << (BITS_FOR_METHOD_TYPE + BITS_FOR_OCCURRENCE_IDX);\n this.ruleShortNameIdx++;\n this.shortRuleNameToFull[shortName] = ruleName;\n this.fullRuleNameToShort[ruleName] = shortName;\n let invokeRuleWithTry;\n // Micro optimization, only check the condition **once** on rule definition\n // instead of **every single** rule invocation.\n if (this.outputCst === true) {\n invokeRuleWithTry = function invokeRuleWithTry(...args) {\n try {\n this.ruleInvocationStateUpdate(shortName, ruleName, this.subruleIdx);\n impl.apply(this, args);\n const cst = this.CST_STACK[this.CST_STACK.length - 1];\n this.cstPostRule(cst);\n return cst;\n }\n catch (e) {\n return this.invokeRuleCatch(e, resyncEnabled, recoveryValueFunc);\n }\n finally {\n this.ruleFinallyStateUpdate();\n }\n };\n }\n else {\n invokeRuleWithTry = function invokeRuleWithTryCst(...args) {\n try {\n this.ruleInvocationStateUpdate(shortName, ruleName, this.subruleIdx);\n return impl.apply(this, args);\n }\n catch (e) {\n return this.invokeRuleCatch(e, resyncEnabled, recoveryValueFunc);\n }\n finally {\n this.ruleFinallyStateUpdate();\n }\n };\n }\n const wrappedGrammarRule = Object.assign(invokeRuleWithTry, { ruleName, originalGrammarAction: impl });\n return wrappedGrammarRule;\n }\n invokeRuleCatch(e, resyncEnabledConfig, recoveryValueFunc) {\n const isFirstInvokedRule = this.RULE_STACK.length === 1;\n // note the reSync is always enabled for the first rule invocation, because we must always be able to\n // reSync with EOF and just output some INVALID ParseTree\n // during backtracking reSync recovery is disabled, otherwise we can't be certain the backtracking\n // path is really the most valid one\n const reSyncEnabled = resyncEnabledConfig && !this.isBackTracking() && this.recoveryEnabled;\n if (isRecognitionException(e)) {\n const recogError = e;\n if (reSyncEnabled) {\n const reSyncTokType = this.findReSyncTokenType();\n if (this.isInCurrentRuleReSyncSet(reSyncTokType)) {\n recogError.resyncedTokens = this.reSyncTo(reSyncTokType);\n if (this.outputCst) {\n const partialCstResult = this.CST_STACK[this.CST_STACK.length - 1];\n partialCstResult.recoveredNode = true;\n return partialCstResult;\n }\n else {\n return recoveryValueFunc(e);\n }\n }\n else {\n if (this.outputCst) {\n const partialCstResult = this.CST_STACK[this.CST_STACK.length - 1];\n partialCstResult.recoveredNode = true;\n recogError.partialCstResult = partialCstResult;\n }\n // to be handled Further up the call stack\n throw recogError;\n }\n }\n else if (isFirstInvokedRule) {\n // otherwise a Redundant input error will be created as well and we cannot guarantee that this is indeed the case\n this.moveToTerminatedState();\n // the parser should never throw one of its own errors outside its flow.\n // even if error recovery is disabled\n return recoveryValueFunc(e);\n }\n else {\n // to be recovered Further up the call stack\n throw recogError;\n }\n }\n else {\n // some other Error type which we don't know how to handle (for example a built in JavaScript Error)\n throw e;\n }\n }\n // Implementation of parsing DSL\n optionInternal(actionORMethodDef, occurrence) {\n const key = this.getKeyForAutomaticLookahead(OPTION_IDX, occurrence);\n return this.optionInternalLogic(actionORMethodDef, occurrence, key);\n }\n optionInternalLogic(actionORMethodDef, occurrence, key) {\n let lookAheadFunc = this.getLaFuncFromCache(key);\n let action;\n if (typeof actionORMethodDef !== \"function\") {\n action = actionORMethodDef.DEF;\n const predicate = actionORMethodDef.GATE;\n // predicate present\n if (predicate !== undefined) {\n const orgLookaheadFunction = lookAheadFunc;\n lookAheadFunc = () => {\n return predicate.call(this) && orgLookaheadFunction.call(this);\n };\n }\n }\n else {\n action = actionORMethodDef;\n }\n if (lookAheadFunc.call(this) === true) {\n return action.call(this);\n }\n return undefined;\n }\n atLeastOneInternal(prodOccurrence, actionORMethodDef) {\n const laKey = this.getKeyForAutomaticLookahead(AT_LEAST_ONE_IDX, prodOccurrence);\n return this.atLeastOneInternalLogic(prodOccurrence, actionORMethodDef, laKey);\n }\n atLeastOneInternalLogic(prodOccurrence, actionORMethodDef, key) {\n let lookAheadFunc = this.getLaFuncFromCache(key);\n let action;\n if (typeof actionORMethodDef !== \"function\") {\n action = actionORMethodDef.DEF;\n const predicate = actionORMethodDef.GATE;\n // predicate present\n if (predicate !== undefined) {\n const orgLookaheadFunction = lookAheadFunc;\n lookAheadFunc = () => {\n return predicate.call(this) && orgLookaheadFunction.call(this);\n };\n }\n }\n else {\n action = actionORMethodDef;\n }\n if (lookAheadFunc.call(this) === true) {\n let notStuck = this.doSingleRepetition(action);\n while (lookAheadFunc.call(this) === true &&\n notStuck === true) {\n notStuck = this.doSingleRepetition(action);\n }\n }\n else {\n throw this.raiseEarlyExitException(prodOccurrence, PROD_TYPE.REPETITION_MANDATORY, actionORMethodDef.ERR_MSG);\n }\n // note that while it may seem that this can cause an error because by using a recursive call to\n // AT_LEAST_ONE we change the grammar to AT_LEAST_TWO, AT_LEAST_THREE ... , the possible recursive call\n // from the tryInRepetitionRecovery(...) will only happen IFF there really are TWO/THREE/.... items.\n // Performance optimization: \"attemptInRepetitionRecovery\" will be defined as NOOP unless recovery is enabled\n this.attemptInRepetitionRecovery(this.atLeastOneInternal, [prodOccurrence, actionORMethodDef], lookAheadFunc, AT_LEAST_ONE_IDX, prodOccurrence, NextTerminalAfterAtLeastOneWalker);\n }\n atLeastOneSepFirstInternal(prodOccurrence, options) {\n const laKey = this.getKeyForAutomaticLookahead(AT_LEAST_ONE_SEP_IDX, prodOccurrence);\n this.atLeastOneSepFirstInternalLogic(prodOccurrence, options, laKey);\n }\n atLeastOneSepFirstInternalLogic(prodOccurrence, options, key) {\n const action = options.DEF;\n const separator = options.SEP;\n const firstIterationLookaheadFunc = this.getLaFuncFromCache(key);\n // 1st iteration\n if (firstIterationLookaheadFunc.call(this) === true) {\n action.call(this);\n // TODO: Optimization can move this function construction into \"attemptInRepetitionRecovery\"\n // because it is only needed in error recovery scenarios.\n const separatorLookAheadFunc = () => {\n return this.tokenMatcher(this.LA(1), separator);\n };\n // 2nd..nth iterations\n while (this.tokenMatcher(this.LA(1), separator) === true) {\n // note that this CONSUME will never enter recovery because\n // the separatorLookAheadFunc checks that the separator really does exist.\n this.CONSUME(separator);\n // No need for checking infinite loop here due to consuming the separator.\n action.call(this);\n }\n // Performance optimization: \"attemptInRepetitionRecovery\" will be defined as NOOP unless recovery is enabled\n this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [\n prodOccurrence,\n separator,\n separatorLookAheadFunc,\n action,\n NextTerminalAfterAtLeastOneSepWalker,\n ], separatorLookAheadFunc, AT_LEAST_ONE_SEP_IDX, prodOccurrence, NextTerminalAfterAtLeastOneSepWalker);\n }\n else {\n throw this.raiseEarlyExitException(prodOccurrence, PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR, options.ERR_MSG);\n }\n }\n manyInternal(prodOccurrence, actionORMethodDef) {\n const laKey = this.getKeyForAutomaticLookahead(MANY_IDX, prodOccurrence);\n return this.manyInternalLogic(prodOccurrence, actionORMethodDef, laKey);\n }\n manyInternalLogic(prodOccurrence, actionORMethodDef, key) {\n let lookaheadFunction = this.getLaFuncFromCache(key);\n let action;\n if (typeof actionORMethodDef !== \"function\") {\n action = actionORMethodDef.DEF;\n const predicate = actionORMethodDef.GATE;\n // predicate present\n if (predicate !== undefined) {\n const orgLookaheadFunction = lookaheadFunction;\n lookaheadFunction = () => {\n return predicate.call(this) && orgLookaheadFunction.call(this);\n };\n }\n }\n else {\n action = actionORMethodDef;\n }\n let notStuck = true;\n while (lookaheadFunction.call(this) === true && notStuck === true) {\n notStuck = this.doSingleRepetition(action);\n }\n // Performance optimization: \"attemptInRepetitionRecovery\" will be defined as NOOP unless recovery is enabled\n this.attemptInRepetitionRecovery(this.manyInternal, [prodOccurrence, actionORMethodDef], lookaheadFunction, MANY_IDX, prodOccurrence, NextTerminalAfterManyWalker, \n // The notStuck parameter is only relevant when \"attemptInRepetitionRecovery\"\n // is invoked from manyInternal, in the MANY_SEP case and AT_LEAST_ONE[_SEP]\n // An infinite loop cannot occur as:\n // - Either the lookahead is guaranteed to consume something (Single Token Separator)\n // - AT_LEAST_ONE by definition is guaranteed to consume something (or error out).\n notStuck);\n }\n manySepFirstInternal(prodOccurrence, options) {\n const laKey = this.getKeyForAutomaticLookahead(MANY_SEP_IDX, prodOccurrence);\n this.manySepFirstInternalLogic(prodOccurrence, options, laKey);\n }\n manySepFirstInternalLogic(prodOccurrence, options, key) {\n const action = options.DEF;\n const separator = options.SEP;\n const firstIterationLaFunc = this.getLaFuncFromCache(key);\n // 1st iteration\n if (firstIterationLaFunc.call(this) === true) {\n action.call(this);\n const separatorLookAheadFunc = () => {\n return this.tokenMatcher(this.LA(1), separator);\n };\n // 2nd..nth iterations\n while (this.tokenMatcher(this.LA(1), separator) === true) {\n // note that this CONSUME will never enter recovery because\n // the separatorLookAheadFunc checks that the separator really does exist.\n this.CONSUME(separator);\n // No need for checking infinite loop here due to consuming the separator.\n action.call(this);\n }\n // Performance optimization: \"attemptInRepetitionRecovery\" will be defined as NOOP unless recovery is enabled\n this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [\n prodOccurrence,\n separator,\n separatorLookAheadFunc,\n action,\n NextTerminalAfterManySepWalker,\n ], separatorLookAheadFunc, MANY_SEP_IDX, prodOccurrence, NextTerminalAfterManySepWalker);\n }\n }\n repetitionSepSecondInternal(prodOccurrence, separator, separatorLookAheadFunc, action, nextTerminalAfterWalker) {\n while (separatorLookAheadFunc()) {\n // note that this CONSUME will never enter recovery because\n // the separatorLookAheadFunc checks that the separator really does exist.\n this.CONSUME(separator);\n action.call(this);\n }\n // we can only arrive to this function after an error\n // has occurred (hence the name 'second') so the following\n // IF will always be entered, its possible to remove it...\n // however it is kept to avoid confusion and be consistent.\n // Performance optimization: \"attemptInRepetitionRecovery\" will be defined as NOOP unless recovery is enabled\n /* istanbul ignore else */\n this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal, [\n prodOccurrence,\n separator,\n separatorLookAheadFunc,\n action,\n nextTerminalAfterWalker,\n ], separatorLookAheadFunc, AT_LEAST_ONE_SEP_IDX, prodOccurrence, nextTerminalAfterWalker);\n }\n doSingleRepetition(action) {\n const beforeIteration = this.getLexerPosition();\n action.call(this);\n const afterIteration = this.getLexerPosition();\n // This boolean will indicate if this repetition progressed\n // or if we are \"stuck\" (potential infinite loop in the repetition).\n return afterIteration > beforeIteration;\n }\n orInternal(altsOrOpts, occurrence) {\n const laKey = this.getKeyForAutomaticLookahead(OR_IDX, occurrence);\n const alts = isArray(altsOrOpts) ? altsOrOpts : altsOrOpts.DEF;\n const laFunc = this.getLaFuncFromCache(laKey);\n const altIdxToTake = laFunc.call(this, alts);\n if (altIdxToTake !== undefined) {\n const chosenAlternative = alts[altIdxToTake];\n return chosenAlternative.ALT.call(this);\n }\n this.raiseNoAltException(occurrence, altsOrOpts.ERR_MSG);\n }\n ruleFinallyStateUpdate() {\n this.RULE_STACK.pop();\n this.RULE_OCCURRENCE_STACK.pop();\n // NOOP when cst is disabled\n this.cstFinallyStateUpdate();\n if (this.RULE_STACK.length === 0 && this.isAtEndOfInput() === false) {\n const firstRedundantTok = this.LA(1);\n const errMsg = this.errorMessageProvider.buildNotAllInputParsedMessage({\n firstRedundant: firstRedundantTok,\n ruleName: this.getCurrRuleFullName(),\n });\n this.SAVE_ERROR(new NotAllInputParsedException(errMsg, firstRedundantTok));\n }\n }\n subruleInternal(ruleToCall, idx, options) {\n let ruleResult;\n try {\n const args = options !== undefined ? options.ARGS : undefined;\n this.subruleIdx = idx;\n ruleResult = ruleToCall.apply(this, args);\n this.cstPostNonTerminal(ruleResult, options !== undefined && options.LABEL !== undefined\n ? options.LABEL\n : ruleToCall.ruleName);\n return ruleResult;\n }\n catch (e) {\n throw this.subruleInternalError(e, options, ruleToCall.ruleName);\n }\n }\n subruleInternalError(e, options, ruleName) {\n if (isRecognitionException(e) && e.partialCstResult !== undefined) {\n this.cstPostNonTerminal(e.partialCstResult, options !== undefined && options.LABEL !== undefined\n ? options.LABEL\n : ruleName);\n delete e.partialCstResult;\n }\n throw e;\n }\n consumeInternal(tokType, idx, options) {\n let consumedToken;\n try {\n const nextToken = this.LA(1);\n if (this.tokenMatcher(nextToken, tokType) === true) {\n this.consumeToken();\n consumedToken = nextToken;\n }\n else {\n this.consumeInternalError(tokType, nextToken, options);\n }\n }\n catch (eFromConsumption) {\n consumedToken = this.consumeInternalRecovery(tokType, idx, eFromConsumption);\n }\n this.cstPostTerminal(options !== undefined && options.LABEL !== undefined\n ? options.LABEL\n : tokType.name, consumedToken);\n return consumedToken;\n }\n consumeInternalError(tokType, nextToken, options) {\n let msg;\n const previousToken = this.LA(0);\n if (options !== undefined && options.ERR_MSG) {\n msg = options.ERR_MSG;\n }\n else {\n msg = this.errorMessageProvider.buildMismatchTokenMessage({\n expected: tokType,\n actual: nextToken,\n previous: previousToken,\n ruleName: this.getCurrRuleFullName(),\n });\n }\n throw this.SAVE_ERROR(new MismatchedTokenException(msg, nextToken, previousToken));\n }\n consumeInternalRecovery(tokType, idx, eFromConsumption) {\n // no recovery allowed during backtracking, otherwise backtracking may recover invalid syntax and accept it\n // but the original syntax could have been parsed successfully without any backtracking + recovery\n if (this.recoveryEnabled &&\n // TODO: more robust checking of the exception type. Perhaps Typescript extending expressions?\n eFromConsumption.name === \"MismatchedTokenException\" &&\n !this.isBackTracking()) {\n const follows = this.getFollowsForInRuleRecovery(tokType, idx);\n try {\n return this.tryInRuleRecovery(tokType, follows);\n }\n catch (eFromInRuleRecovery) {\n if (eFromInRuleRecovery.name === IN_RULE_RECOVERY_EXCEPTION) {\n // failed in RuleRecovery.\n // throw the original error in order to trigger reSync error recovery\n throw eFromConsumption;\n }\n else {\n throw eFromInRuleRecovery;\n }\n }\n }\n else {\n throw eFromConsumption;\n }\n }\n saveRecogState() {\n // errors is a getter which will clone the errors array\n const savedErrors = this.errors;\n const savedRuleStack = clone(this.RULE_STACK);\n return {\n errors: savedErrors,\n lexerState: this.exportLexerState(),\n RULE_STACK: savedRuleStack,\n CST_STACK: this.CST_STACK,\n };\n }\n reloadRecogState(newState) {\n this.errors = newState.errors;\n this.importLexerState(newState.lexerState);\n this.RULE_STACK = newState.RULE_STACK;\n }\n ruleInvocationStateUpdate(shortName, fullName, idxInCallingRule) {\n this.RULE_OCCURRENCE_STACK.push(idxInCallingRule);\n this.RULE_STACK.push(shortName);\n // NOOP when cst is disabled\n this.cstInvocationStateUpdate(fullName);\n }\n isBackTracking() {\n return this.isBackTrackingStack.length !== 0;\n }\n getCurrRuleFullName() {\n const shortName = this.getLastExplicitRuleShortName();\n return this.shortRuleNameToFull[shortName];\n }\n shortRuleNameToFullName(shortName) {\n return this.shortRuleNameToFull[shortName];\n }\n isAtEndOfInput() {\n return this.tokenMatcher(this.LA(1), EOF);\n }\n reset() {\n this.resetLexerState();\n this.subruleIdx = 0;\n this.isBackTrackingStack = [];\n this.errors = [];\n this.RULE_STACK = [];\n // TODO: extract a specific reset for TreeBuilder trait\n this.CST_STACK = [];\n this.RULE_OCCURRENCE_STACK = [];\n }\n}\n//# sourceMappingURL=recognizer_engine.js.map", + "import { EarlyExitException, isRecognitionException, NoViableAltException, } from \"../../exceptions_public.js\";\nimport { clone, has } from \"lodash-es\";\nimport { getLookaheadPathsForOptionalProd, getLookaheadPathsForOr, } from \"../../grammar/lookahead.js\";\nimport { DEFAULT_PARSER_CONFIG } from \"../parser.js\";\n/**\n * Trait responsible for runtime parsing errors.\n */\nexport class ErrorHandler {\n initErrorHandler(config) {\n this._errors = [];\n this.errorMessageProvider = has(config, \"errorMessageProvider\")\n ? config.errorMessageProvider // assumes end user provides the correct config value/type\n : DEFAULT_PARSER_CONFIG.errorMessageProvider;\n }\n SAVE_ERROR(error) {\n if (isRecognitionException(error)) {\n error.context = {\n ruleStack: this.getHumanReadableRuleStack(),\n ruleOccurrenceStack: clone(this.RULE_OCCURRENCE_STACK),\n };\n this._errors.push(error);\n return error;\n }\n else {\n throw Error(\"Trying to save an Error which is not a RecognitionException\");\n }\n }\n get errors() {\n return clone(this._errors);\n }\n set errors(newErrors) {\n this._errors = newErrors;\n }\n // TODO: consider caching the error message computed information\n raiseEarlyExitException(occurrence, prodType, userDefinedErrMsg) {\n const ruleName = this.getCurrRuleFullName();\n const ruleGrammar = this.getGAstProductions()[ruleName];\n const lookAheadPathsPerAlternative = getLookaheadPathsForOptionalProd(occurrence, ruleGrammar, prodType, this.maxLookahead);\n const insideProdPaths = lookAheadPathsPerAlternative[0];\n const actualTokens = [];\n for (let i = 1; i <= this.maxLookahead; i++) {\n actualTokens.push(this.LA(i));\n }\n const msg = this.errorMessageProvider.buildEarlyExitMessage({\n expectedIterationPaths: insideProdPaths,\n actual: actualTokens,\n previous: this.LA(0),\n customUserDescription: userDefinedErrMsg,\n ruleName: ruleName,\n });\n throw this.SAVE_ERROR(new EarlyExitException(msg, this.LA(1), this.LA(0)));\n }\n // TODO: consider caching the error message computed information\n raiseNoAltException(occurrence, errMsgTypes) {\n const ruleName = this.getCurrRuleFullName();\n const ruleGrammar = this.getGAstProductions()[ruleName];\n // TODO: getLookaheadPathsForOr can be slow for large enough maxLookahead and certain grammars, consider caching ?\n const lookAheadPathsPerAlternative = getLookaheadPathsForOr(occurrence, ruleGrammar, this.maxLookahead);\n const actualTokens = [];\n for (let i = 1; i <= this.maxLookahead; i++) {\n actualTokens.push(this.LA(i));\n }\n const previousToken = this.LA(0);\n const errMsg = this.errorMessageProvider.buildNoViableAltMessage({\n expectedPathsPerAlt: lookAheadPathsPerAlternative,\n actual: actualTokens,\n previous: previousToken,\n customUserDescription: errMsgTypes,\n ruleName: this.getCurrRuleFullName(),\n });\n throw this.SAVE_ERROR(new NoViableAltException(errMsg, this.LA(1), previousToken));\n }\n}\n//# sourceMappingURL=error_handler.js.map", + "import { NextAfterTokenWalker, nextPossibleTokensAfter, } from \"../../grammar/interpreter.js\";\nimport { first, isUndefined } from \"lodash-es\";\nexport class ContentAssist {\n initContentAssist() { }\n computeContentAssist(startRuleName, precedingInput) {\n const startRuleGast = this.gastProductionsCache[startRuleName];\n if (isUndefined(startRuleGast)) {\n throw Error(`Rule ->${startRuleName}<- does not exist in this grammar.`);\n }\n return nextPossibleTokensAfter([startRuleGast], precedingInput, this.tokenMatcher, this.maxLookahead);\n }\n // TODO: should this be a member method or a utility? it does not have any state or usage of 'this'...\n // TODO: should this be more explicitly part of the public API?\n getNextPossibleTokenTypes(grammarPath) {\n const topRuleName = first(grammarPath.ruleStack);\n const gastProductions = this.getGAstProductions();\n const topProduction = gastProductions[topRuleName];\n const nextPossibleTokenTypes = new NextAfterTokenWalker(topProduction, grammarPath).startWalking();\n return nextPossibleTokenTypes;\n }\n}\n//# sourceMappingURL=context_assist.js.map", + "import { forEach, has, isArray, isFunction, last as peek, some, } from \"lodash-es\";\nimport { Alternation, Alternative, NonTerminal, Option, Repetition, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Rule, Terminal, } from \"@chevrotain/gast\";\nimport { Lexer } from \"../../../scan/lexer_public.js\";\nimport { augmentTokenTypes, hasShortKeyProperty, } from \"../../../scan/tokens.js\";\nimport { createToken, createTokenInstance, } from \"../../../scan/tokens_public.js\";\nimport { END_OF_FILE } from \"../parser.js\";\nimport { BITS_FOR_OCCURRENCE_IDX } from \"../../grammar/keys.js\";\nconst RECORDING_NULL_OBJECT = {\n description: \"This Object indicates the Parser is during Recording Phase\",\n};\nObject.freeze(RECORDING_NULL_OBJECT);\nconst HANDLE_SEPARATOR = true;\nconst MAX_METHOD_IDX = Math.pow(2, BITS_FOR_OCCURRENCE_IDX) - 1;\nconst RFT = createToken({ name: \"RECORDING_PHASE_TOKEN\", pattern: Lexer.NA });\naugmentTokenTypes([RFT]);\nconst RECORDING_PHASE_TOKEN = createTokenInstance(RFT, \"This IToken indicates the Parser is in Recording Phase\\n\\t\" +\n \"\" +\n \"See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details\", \n// Using \"-1\" instead of NaN (as in EOF) because an actual number is less likely to\n// cause errors if the output of LA or CONSUME would be (incorrectly) used during the recording phase.\n-1, -1, -1, -1, -1, -1);\nObject.freeze(RECORDING_PHASE_TOKEN);\nconst RECORDING_PHASE_CSTNODE = {\n name: \"This CSTNode indicates the Parser is in Recording Phase\\n\\t\" +\n \"See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details\",\n children: {},\n};\n/**\n * This trait handles the creation of the GAST structure for Chevrotain Grammars\n */\nexport class GastRecorder {\n initGastRecorder(config) {\n this.recordingProdStack = [];\n this.RECORDING_PHASE = false;\n }\n enableRecording() {\n this.RECORDING_PHASE = true;\n this.TRACE_INIT(\"Enable Recording\", () => {\n /**\n * Warning Dark Voodoo Magic upcoming!\n * We are \"replacing\" the public parsing DSL methods API\n * With **new** alternative implementations on the Parser **instance**\n *\n * So far this is the only way I've found to avoid performance regressions during parsing time.\n * - Approx 30% performance regression was measured on Chrome 75 Canary when attempting to replace the \"internal\"\n * implementations directly instead.\n */\n for (let i = 0; i < 10; i++) {\n const idx = i > 0 ? i : \"\";\n this[`CONSUME${idx}`] = function (arg1, arg2) {\n return this.consumeInternalRecord(arg1, i, arg2);\n };\n this[`SUBRULE${idx}`] = function (arg1, arg2) {\n return this.subruleInternalRecord(arg1, i, arg2);\n };\n this[`OPTION${idx}`] = function (arg1) {\n return this.optionInternalRecord(arg1, i);\n };\n this[`OR${idx}`] = function (arg1) {\n return this.orInternalRecord(arg1, i);\n };\n this[`MANY${idx}`] = function (arg1) {\n this.manyInternalRecord(i, arg1);\n };\n this[`MANY_SEP${idx}`] = function (arg1) {\n this.manySepFirstInternalRecord(i, arg1);\n };\n this[`AT_LEAST_ONE${idx}`] = function (arg1) {\n this.atLeastOneInternalRecord(i, arg1);\n };\n this[`AT_LEAST_ONE_SEP${idx}`] = function (arg1) {\n this.atLeastOneSepFirstInternalRecord(i, arg1);\n };\n }\n // DSL methods with the idx(suffix) as an argument\n this[`consume`] = function (idx, arg1, arg2) {\n return this.consumeInternalRecord(arg1, idx, arg2);\n };\n this[`subrule`] = function (idx, arg1, arg2) {\n return this.subruleInternalRecord(arg1, idx, arg2);\n };\n this[`option`] = function (idx, arg1) {\n return this.optionInternalRecord(arg1, idx);\n };\n this[`or`] = function (idx, arg1) {\n return this.orInternalRecord(arg1, idx);\n };\n this[`many`] = function (idx, arg1) {\n this.manyInternalRecord(idx, arg1);\n };\n this[`atLeastOne`] = function (idx, arg1) {\n this.atLeastOneInternalRecord(idx, arg1);\n };\n this.ACTION = this.ACTION_RECORD;\n this.BACKTRACK = this.BACKTRACK_RECORD;\n this.LA = this.LA_RECORD;\n });\n }\n disableRecording() {\n this.RECORDING_PHASE = false;\n // By deleting these **instance** properties, any future invocation\n // will be deferred to the original methods on the **prototype** object\n // This seems to get rid of any incorrect optimizations that V8 may\n // do during the recording phase.\n this.TRACE_INIT(\"Deleting Recording methods\", () => {\n const that = this;\n for (let i = 0; i < 10; i++) {\n const idx = i > 0 ? i : \"\";\n delete that[`CONSUME${idx}`];\n delete that[`SUBRULE${idx}`];\n delete that[`OPTION${idx}`];\n delete that[`OR${idx}`];\n delete that[`MANY${idx}`];\n delete that[`MANY_SEP${idx}`];\n delete that[`AT_LEAST_ONE${idx}`];\n delete that[`AT_LEAST_ONE_SEP${idx}`];\n }\n delete that[`consume`];\n delete that[`subrule`];\n delete that[`option`];\n delete that[`or`];\n delete that[`many`];\n delete that[`atLeastOne`];\n delete that.ACTION;\n delete that.BACKTRACK;\n delete that.LA;\n });\n }\n // Parser methods are called inside an ACTION?\n // Maybe try/catch/finally on ACTIONS while disabling the recorders state changes?\n // @ts-expect-error -- noop place holder\n ACTION_RECORD(impl) {\n // NO-OP during recording\n }\n // Executing backtracking logic will break our recording logic assumptions\n BACKTRACK_RECORD(grammarRule, args) {\n return () => true;\n }\n // LA is part of the official API and may be used for custom lookahead logic\n // by end users who may forget to wrap it in ACTION or inside a GATE\n LA_RECORD(howMuch) {\n // We cannot use the RECORD_PHASE_TOKEN here because someone may depend\n // On LA return EOF at the end of the input so an infinite loop may occur.\n return END_OF_FILE;\n }\n topLevelRuleRecord(name, def) {\n try {\n const newTopLevelRule = new Rule({ definition: [], name: name });\n newTopLevelRule.name = name;\n this.recordingProdStack.push(newTopLevelRule);\n def.call(this);\n this.recordingProdStack.pop();\n return newTopLevelRule;\n }\n catch (originalError) {\n if (originalError.KNOWN_RECORDER_ERROR !== true) {\n try {\n originalError.message =\n originalError.message +\n '\\n\\t This error was thrown during the \"grammar recording phase\" For more info see:\\n\\t' +\n \"https://chevrotain.io/docs/guide/internals.html#grammar-recording\";\n }\n catch (mutabilityError) {\n // We may not be able to modify the original error object\n throw originalError;\n }\n }\n throw originalError;\n }\n }\n // Implementation of parsing DSL\n optionInternalRecord(actionORMethodDef, occurrence) {\n return recordProd.call(this, Option, actionORMethodDef, occurrence);\n }\n atLeastOneInternalRecord(occurrence, actionORMethodDef) {\n recordProd.call(this, RepetitionMandatory, actionORMethodDef, occurrence);\n }\n atLeastOneSepFirstInternalRecord(occurrence, options) {\n recordProd.call(this, RepetitionMandatoryWithSeparator, options, occurrence, HANDLE_SEPARATOR);\n }\n manyInternalRecord(occurrence, actionORMethodDef) {\n recordProd.call(this, Repetition, actionORMethodDef, occurrence);\n }\n manySepFirstInternalRecord(occurrence, options) {\n recordProd.call(this, RepetitionWithSeparator, options, occurrence, HANDLE_SEPARATOR);\n }\n orInternalRecord(altsOrOpts, occurrence) {\n return recordOrProd.call(this, altsOrOpts, occurrence);\n }\n subruleInternalRecord(ruleToCall, occurrence, options) {\n assertMethodIdxIsValid(occurrence);\n if (!ruleToCall || has(ruleToCall, \"ruleName\") === false) {\n const error = new Error(`<SUBRULE${getIdxSuffix(occurrence)}> argument is invalid` +\n ` expecting a Parser method reference but got: <${JSON.stringify(ruleToCall)}>` +\n `\\n inside top level rule: <${this.recordingProdStack[0].name}>`);\n error.KNOWN_RECORDER_ERROR = true;\n throw error;\n }\n const prevProd = peek(this.recordingProdStack);\n const ruleName = ruleToCall.ruleName;\n const newNoneTerminal = new NonTerminal({\n idx: occurrence,\n nonTerminalName: ruleName,\n label: options === null || options === void 0 ? void 0 : options.LABEL,\n // The resolving of the `referencedRule` property will be done once all the Rule's GASTs have been created\n referencedRule: undefined,\n });\n prevProd.definition.push(newNoneTerminal);\n return this.outputCst\n ? RECORDING_PHASE_CSTNODE\n : RECORDING_NULL_OBJECT;\n }\n consumeInternalRecord(tokType, occurrence, options) {\n assertMethodIdxIsValid(occurrence);\n if (!hasShortKeyProperty(tokType)) {\n const error = new Error(`<CONSUME${getIdxSuffix(occurrence)}> argument is invalid` +\n ` expecting a TokenType reference but got: <${JSON.stringify(tokType)}>` +\n `\\n inside top level rule: <${this.recordingProdStack[0].name}>`);\n error.KNOWN_RECORDER_ERROR = true;\n throw error;\n }\n const prevProd = peek(this.recordingProdStack);\n const newNoneTerminal = new Terminal({\n idx: occurrence,\n terminalType: tokType,\n label: options === null || options === void 0 ? void 0 : options.LABEL,\n });\n prevProd.definition.push(newNoneTerminal);\n return RECORDING_PHASE_TOKEN;\n }\n}\nfunction recordProd(prodConstructor, mainProdArg, occurrence, handleSep = false) {\n assertMethodIdxIsValid(occurrence);\n const prevProd = peek(this.recordingProdStack);\n const grammarAction = isFunction(mainProdArg) ? mainProdArg : mainProdArg.DEF;\n const newProd = new prodConstructor({ definition: [], idx: occurrence });\n if (handleSep) {\n newProd.separator = mainProdArg.SEP;\n }\n if (has(mainProdArg, \"MAX_LOOKAHEAD\")) {\n newProd.maxLookahead = mainProdArg.MAX_LOOKAHEAD;\n }\n this.recordingProdStack.push(newProd);\n grammarAction.call(this);\n prevProd.definition.push(newProd);\n this.recordingProdStack.pop();\n return RECORDING_NULL_OBJECT;\n}\nfunction recordOrProd(mainProdArg, occurrence) {\n assertMethodIdxIsValid(occurrence);\n const prevProd = peek(this.recordingProdStack);\n // Only an array of alternatives\n const hasOptions = isArray(mainProdArg) === false;\n const alts = hasOptions === false ? mainProdArg : mainProdArg.DEF;\n const newOrProd = new Alternation({\n definition: [],\n idx: occurrence,\n ignoreAmbiguities: hasOptions && mainProdArg.IGNORE_AMBIGUITIES === true,\n });\n if (has(mainProdArg, \"MAX_LOOKAHEAD\")) {\n newOrProd.maxLookahead = mainProdArg.MAX_LOOKAHEAD;\n }\n const hasPredicates = some(alts, (currAlt) => isFunction(currAlt.GATE));\n newOrProd.hasPredicates = hasPredicates;\n prevProd.definition.push(newOrProd);\n forEach(alts, (currAlt) => {\n const currAltFlat = new Alternative({ definition: [] });\n newOrProd.definition.push(currAltFlat);\n if (has(currAlt, \"IGNORE_AMBIGUITIES\")) {\n currAltFlat.ignoreAmbiguities = currAlt.IGNORE_AMBIGUITIES; // assumes end user provides the correct config value/type\n }\n // **implicit** ignoreAmbiguities due to usage of gate\n else if (has(currAlt, \"GATE\")) {\n currAltFlat.ignoreAmbiguities = true;\n }\n this.recordingProdStack.push(currAltFlat);\n currAlt.ALT.call(this);\n this.recordingProdStack.pop();\n });\n return RECORDING_NULL_OBJECT;\n}\nfunction getIdxSuffix(idx) {\n return idx === 0 ? \"\" : `${idx}`;\n}\nfunction assertMethodIdxIsValid(idx) {\n if (idx < 0 || idx > MAX_METHOD_IDX) {\n const error = new Error(\n // The stack trace will contain all the needed details\n `Invalid DSL Method idx value: <${idx}>\\n\\t` +\n `Idx value must be a none negative value smaller than ${MAX_METHOD_IDX + 1}`);\n error.KNOWN_RECORDER_ERROR = true;\n throw error;\n }\n}\n//# sourceMappingURL=gast_recorder.js.map", + "import { has } from \"lodash-es\";\nimport { timer } from \"@chevrotain/utils\";\nimport { DEFAULT_PARSER_CONFIG } from \"../parser.js\";\n/**\n * Trait responsible for runtime parsing errors.\n */\nexport class PerformanceTracer {\n initPerformanceTracer(config) {\n if (has(config, \"traceInitPerf\")) {\n const userTraceInitPerf = config.traceInitPerf;\n const traceIsNumber = typeof userTraceInitPerf === \"number\";\n this.traceInitMaxIdent = traceIsNumber\n ? userTraceInitPerf\n : Infinity;\n this.traceInitPerf = traceIsNumber\n ? userTraceInitPerf > 0\n : userTraceInitPerf; // assumes end user provides the correct config value/type\n }\n else {\n this.traceInitMaxIdent = 0;\n this.traceInitPerf = DEFAULT_PARSER_CONFIG.traceInitPerf;\n }\n this.traceInitIndent = -1;\n }\n TRACE_INIT(phaseDesc, phaseImpl) {\n // No need to optimize this using NOOP pattern because\n // It is not called in a hot spot...\n if (this.traceInitPerf === true) {\n this.traceInitIndent++;\n const indent = new Array(this.traceInitIndent + 1).join(\"\\t\");\n if (this.traceInitIndent < this.traceInitMaxIdent) {\n console.log(`${indent}--> <${phaseDesc}>`);\n }\n const { time, value } = timer(phaseImpl);\n /* istanbul ignore next - Difficult to reproduce specific performance behavior (>10ms) in tests */\n const traceMethod = time > 10 ? console.warn : console.log;\n if (this.traceInitIndent < this.traceInitMaxIdent) {\n traceMethod(`${indent}<-- <${phaseDesc}> time: ${time}ms`);\n }\n this.traceInitIndent--;\n return value;\n }\n else {\n return phaseImpl();\n }\n }\n}\n//# sourceMappingURL=perf_tracer.js.map", + "export function applyMixins(derivedCtor, baseCtors) {\n baseCtors.forEach((baseCtor) => {\n const baseProto = baseCtor.prototype;\n Object.getOwnPropertyNames(baseProto).forEach((propName) => {\n if (propName === \"constructor\") {\n return;\n }\n const basePropDescriptor = Object.getOwnPropertyDescriptor(baseProto, propName);\n // Handle Accessors\n if (basePropDescriptor &&\n (basePropDescriptor.get || basePropDescriptor.set)) {\n Object.defineProperty(derivedCtor.prototype, propName, basePropDescriptor);\n }\n else {\n derivedCtor.prototype[propName] = baseCtor.prototype[propName];\n }\n });\n });\n}\n//# sourceMappingURL=apply_mixins.js.map", + "import { clone, forEach, has, isEmpty, map, values } from \"lodash-es\";\nimport { toFastProperties } from \"@chevrotain/utils\";\nimport { computeAllProdsFollows } from \"../grammar/follow.js\";\nimport { createTokenInstance, EOF } from \"../../scan/tokens_public.js\";\nimport { defaultGrammarValidatorErrorProvider, defaultParserErrorProvider, } from \"../errors_public.js\";\nimport { resolveGrammar, validateGrammar, } from \"../grammar/gast/gast_resolver_public.js\";\nimport { Recoverable } from \"./traits/recoverable.js\";\nimport { LooksAhead } from \"./traits/looksahead.js\";\nimport { TreeBuilder } from \"./traits/tree_builder.js\";\nimport { LexerAdapter } from \"./traits/lexer_adapter.js\";\nimport { RecognizerApi } from \"./traits/recognizer_api.js\";\nimport { RecognizerEngine } from \"./traits/recognizer_engine.js\";\nimport { ErrorHandler } from \"./traits/error_handler.js\";\nimport { ContentAssist } from \"./traits/context_assist.js\";\nimport { GastRecorder } from \"./traits/gast_recorder.js\";\nimport { PerformanceTracer } from \"./traits/perf_tracer.js\";\nimport { applyMixins } from \"./utils/apply_mixins.js\";\nimport { validateLookahead } from \"../grammar/checks.js\";\nexport const END_OF_FILE = createTokenInstance(EOF, \"\", NaN, NaN, NaN, NaN, NaN, NaN);\nObject.freeze(END_OF_FILE);\nexport const DEFAULT_PARSER_CONFIG = Object.freeze({\n recoveryEnabled: false,\n maxLookahead: 3,\n dynamicTokensEnabled: false,\n outputCst: true,\n errorMessageProvider: defaultParserErrorProvider,\n nodeLocationTracking: \"none\",\n traceInitPerf: false,\n skipValidations: false,\n});\nexport const DEFAULT_RULE_CONFIG = Object.freeze({\n recoveryValueFunc: () => undefined,\n resyncEnabled: true,\n});\nexport var ParserDefinitionErrorType;\n(function (ParserDefinitionErrorType) {\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"INVALID_RULE_NAME\"] = 0] = \"INVALID_RULE_NAME\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"DUPLICATE_RULE_NAME\"] = 1] = \"DUPLICATE_RULE_NAME\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"INVALID_RULE_OVERRIDE\"] = 2] = \"INVALID_RULE_OVERRIDE\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"DUPLICATE_PRODUCTIONS\"] = 3] = \"DUPLICATE_PRODUCTIONS\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"UNRESOLVED_SUBRULE_REF\"] = 4] = \"UNRESOLVED_SUBRULE_REF\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"LEFT_RECURSION\"] = 5] = \"LEFT_RECURSION\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"NONE_LAST_EMPTY_ALT\"] = 6] = \"NONE_LAST_EMPTY_ALT\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"AMBIGUOUS_ALTS\"] = 7] = \"AMBIGUOUS_ALTS\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"CONFLICT_TOKENS_RULES_NAMESPACE\"] = 8] = \"CONFLICT_TOKENS_RULES_NAMESPACE\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"INVALID_TOKEN_NAME\"] = 9] = \"INVALID_TOKEN_NAME\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"NO_NON_EMPTY_LOOKAHEAD\"] = 10] = \"NO_NON_EMPTY_LOOKAHEAD\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"AMBIGUOUS_PREFIX_ALTS\"] = 11] = \"AMBIGUOUS_PREFIX_ALTS\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"TOO_MANY_ALTS\"] = 12] = \"TOO_MANY_ALTS\";\n ParserDefinitionErrorType[ParserDefinitionErrorType[\"CUSTOM_LOOKAHEAD_VALIDATION\"] = 13] = \"CUSTOM_LOOKAHEAD_VALIDATION\";\n})(ParserDefinitionErrorType || (ParserDefinitionErrorType = {}));\nexport function EMPTY_ALT(value = undefined) {\n return function () {\n return value;\n };\n}\nexport class Parser {\n /**\n * @deprecated use the **instance** method with the same name instead\n */\n static performSelfAnalysis(parserInstance) {\n throw Error(\"The **static** `performSelfAnalysis` method has been deprecated.\" +\n \"\\t\\nUse the **instance** method with the same name instead.\");\n }\n performSelfAnalysis() {\n this.TRACE_INIT(\"performSelfAnalysis\", () => {\n let defErrorsMsgs;\n this.selfAnalysisDone = true;\n const className = this.className;\n this.TRACE_INIT(\"toFastProps\", () => {\n // Without this voodoo magic the parser would be x3-x4 slower\n // It seems it is better to invoke `toFastProperties` **before**\n // Any manipulations of the `this` object done during the recording phase.\n toFastProperties(this);\n });\n this.TRACE_INIT(\"Grammar Recording\", () => {\n try {\n this.enableRecording();\n // Building the GAST\n forEach(this.definedRulesNames, (currRuleName) => {\n const wrappedRule = this[currRuleName];\n const originalGrammarAction = wrappedRule[\"originalGrammarAction\"];\n let recordedRuleGast;\n this.TRACE_INIT(`${currRuleName} Rule`, () => {\n recordedRuleGast = this.topLevelRuleRecord(currRuleName, originalGrammarAction);\n });\n this.gastProductionsCache[currRuleName] = recordedRuleGast;\n });\n }\n finally {\n this.disableRecording();\n }\n });\n let resolverErrors = [];\n this.TRACE_INIT(\"Grammar Resolving\", () => {\n resolverErrors = resolveGrammar({\n rules: values(this.gastProductionsCache),\n });\n this.definitionErrors = this.definitionErrors.concat(resolverErrors);\n });\n this.TRACE_INIT(\"Grammar Validations\", () => {\n // only perform additional grammar validations IFF no resolving errors have occurred.\n // as unresolved grammar may lead to unhandled runtime exceptions in the follow up validations.\n if (isEmpty(resolverErrors) && this.skipValidations === false) {\n const validationErrors = validateGrammar({\n rules: values(this.gastProductionsCache),\n tokenTypes: values(this.tokensMap),\n errMsgProvider: defaultGrammarValidatorErrorProvider,\n grammarName: className,\n });\n const lookaheadValidationErrors = validateLookahead({\n lookaheadStrategy: this.lookaheadStrategy,\n rules: values(this.gastProductionsCache),\n tokenTypes: values(this.tokensMap),\n grammarName: className,\n });\n this.definitionErrors = this.definitionErrors.concat(validationErrors, lookaheadValidationErrors);\n }\n });\n // this analysis may fail if the grammar is not perfectly valid\n if (isEmpty(this.definitionErrors)) {\n // The results of these computations are not needed unless error recovery is enabled.\n if (this.recoveryEnabled) {\n this.TRACE_INIT(\"computeAllProdsFollows\", () => {\n const allFollows = computeAllProdsFollows(values(this.gastProductionsCache));\n this.resyncFollows = allFollows;\n });\n }\n this.TRACE_INIT(\"ComputeLookaheadFunctions\", () => {\n var _a, _b;\n (_b = (_a = this.lookaheadStrategy).initialize) === null || _b === void 0 ? void 0 : _b.call(_a, {\n rules: values(this.gastProductionsCache),\n });\n this.preComputeLookaheadFunctions(values(this.gastProductionsCache));\n });\n }\n if (!Parser.DEFER_DEFINITION_ERRORS_HANDLING &&\n !isEmpty(this.definitionErrors)) {\n defErrorsMsgs = map(this.definitionErrors, (defError) => defError.message);\n throw new Error(`Parser Definition Errors detected:\\n ${defErrorsMsgs.join(\"\\n-------------------------------\\n\")}`);\n }\n });\n }\n constructor(tokenVocabulary, config) {\n this.definitionErrors = [];\n this.selfAnalysisDone = false;\n const that = this;\n that.initErrorHandler(config);\n that.initLexerAdapter();\n that.initLooksAhead(config);\n that.initRecognizerEngine(tokenVocabulary, config);\n that.initRecoverable(config);\n that.initTreeBuilder(config);\n that.initContentAssist();\n that.initGastRecorder(config);\n that.initPerformanceTracer(config);\n if (has(config, \"ignoredIssues\")) {\n throw new Error(\"The <ignoredIssues> IParserConfig property has been deprecated.\\n\\t\" +\n \"Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\\n\\t\" +\n \"See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\\n\\t\" +\n \"For further details.\");\n }\n this.skipValidations = has(config, \"skipValidations\")\n ? config.skipValidations // casting assumes the end user passing the correct type\n : DEFAULT_PARSER_CONFIG.skipValidations;\n }\n}\n// Set this flag to true if you don't want the Parser to throw error when problems in it's definition are detected.\n// (normally during the parser's constructor).\n// This is a design time flag, it will not affect the runtime error handling of the parser, just design time errors,\n// for example: duplicate rule names, referencing an unresolved subrule, ect...\n// This flag should not be enabled during normal usage, it is used in special situations, for example when\n// needing to display the parser definition errors in some GUI(online playground).\nParser.DEFER_DEFINITION_ERRORS_HANDLING = false;\napplyMixins(Parser, [\n Recoverable,\n LooksAhead,\n TreeBuilder,\n LexerAdapter,\n RecognizerEngine,\n RecognizerApi,\n ErrorHandler,\n ContentAssist,\n GastRecorder,\n PerformanceTracer,\n]);\nexport class CstParser extends Parser {\n constructor(tokenVocabulary, config = DEFAULT_PARSER_CONFIG) {\n const configClone = clone(config);\n configClone.outputCst = true;\n super(tokenVocabulary, configClone);\n }\n}\nexport class EmbeddedActionsParser extends Parser {\n constructor(tokenVocabulary, config = DEFAULT_PARSER_CONFIG) {\n const configClone = clone(config);\n configClone.outputCst = false;\n super(tokenVocabulary, configClone);\n }\n}\n//# sourceMappingURL=parser.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport map from \"lodash-es/map.js\";\nimport filter from \"lodash-es/filter.js\";\nimport { Alternation, NonTerminal, Option, RepetitionMandatory, Repetition, Terminal, RepetitionWithSeparator, RepetitionMandatoryWithSeparator } from \"chevrotain\";\nexport function buildATNKey(rule, type, occurrence) {\n return `${rule.name}_${type}_${occurrence}`;\n}\nexport const ATN_INVALID_TYPE = 0;\nexport const ATN_BASIC = 1;\nexport const ATN_RULE_START = 2;\nexport const ATN_PLUS_BLOCK_START = 4;\nexport const ATN_STAR_BLOCK_START = 5;\n// Currently unused as the ATN is not used for lexing\nexport const ATN_TOKEN_START = 6;\nexport const ATN_RULE_STOP = 7;\nexport const ATN_BLOCK_END = 8;\nexport const ATN_STAR_LOOP_BACK = 9;\nexport const ATN_STAR_LOOP_ENTRY = 10;\nexport const ATN_PLUS_LOOP_BACK = 11;\nexport const ATN_LOOP_END = 12;\nexport class AbstractTransition {\n constructor(target) {\n this.target = target;\n }\n isEpsilon() {\n return false;\n }\n}\nexport class AtomTransition extends AbstractTransition {\n constructor(target, tokenType) {\n super(target);\n this.tokenType = tokenType;\n }\n}\nexport class EpsilonTransition extends AbstractTransition {\n constructor(target) {\n super(target);\n }\n isEpsilon() {\n return true;\n }\n}\nexport class RuleTransition extends AbstractTransition {\n constructor(ruleStart, rule, followState) {\n super(ruleStart);\n this.rule = rule;\n this.followState = followState;\n }\n isEpsilon() {\n return true;\n }\n}\nexport function createATN(rules) {\n const atn = {\n decisionMap: {},\n decisionStates: [],\n ruleToStartState: new Map(),\n ruleToStopState: new Map(),\n states: []\n };\n createRuleStartAndStopATNStates(atn, rules);\n const ruleLength = rules.length;\n for (let i = 0; i < ruleLength; i++) {\n const rule = rules[i];\n const ruleBlock = block(atn, rule, rule);\n if (ruleBlock === undefined) {\n continue;\n }\n buildRuleHandle(atn, rule, ruleBlock);\n }\n return atn;\n}\nfunction createRuleStartAndStopATNStates(atn, rules) {\n const ruleLength = rules.length;\n for (let i = 0; i < ruleLength; i++) {\n const rule = rules[i];\n const start = newState(atn, rule, undefined, {\n type: ATN_RULE_START\n });\n const stop = newState(atn, rule, undefined, {\n type: ATN_RULE_STOP\n });\n start.stop = stop;\n atn.ruleToStartState.set(rule, start);\n atn.ruleToStopState.set(rule, stop);\n }\n}\nfunction atom(atn, rule, production) {\n if (production instanceof Terminal) {\n return tokenRef(atn, rule, production.terminalType, production);\n }\n else if (production instanceof NonTerminal) {\n return ruleRef(atn, rule, production);\n }\n else if (production instanceof Alternation) {\n return alternation(atn, rule, production);\n }\n else if (production instanceof Option) {\n return option(atn, rule, production);\n }\n else if (production instanceof Repetition) {\n return repetition(atn, rule, production);\n }\n else if (production instanceof RepetitionWithSeparator) {\n return repetitionSep(atn, rule, production);\n }\n else if (production instanceof RepetitionMandatory) {\n return repetitionMandatory(atn, rule, production);\n }\n else if (production instanceof RepetitionMandatoryWithSeparator) {\n return repetitionMandatorySep(atn, rule, production);\n }\n else {\n return block(atn, rule, production);\n }\n}\nfunction repetition(atn, rule, repetition) {\n const starState = newState(atn, rule, repetition, {\n type: ATN_STAR_BLOCK_START\n });\n defineDecisionState(atn, starState);\n const handle = makeAlts(atn, rule, starState, repetition, block(atn, rule, repetition));\n return star(atn, rule, repetition, handle);\n}\nfunction repetitionSep(atn, rule, repetition) {\n const starState = newState(atn, rule, repetition, {\n type: ATN_STAR_BLOCK_START\n });\n defineDecisionState(atn, starState);\n const handle = makeAlts(atn, rule, starState, repetition, block(atn, rule, repetition));\n const sep = tokenRef(atn, rule, repetition.separator, repetition);\n return star(atn, rule, repetition, handle, sep);\n}\nfunction repetitionMandatory(atn, rule, repetition) {\n const plusState = newState(atn, rule, repetition, {\n type: ATN_PLUS_BLOCK_START\n });\n defineDecisionState(atn, plusState);\n const handle = makeAlts(atn, rule, plusState, repetition, block(atn, rule, repetition));\n return plus(atn, rule, repetition, handle);\n}\nfunction repetitionMandatorySep(atn, rule, repetition) {\n const plusState = newState(atn, rule, repetition, {\n type: ATN_PLUS_BLOCK_START\n });\n defineDecisionState(atn, plusState);\n const handle = makeAlts(atn, rule, plusState, repetition, block(atn, rule, repetition));\n const sep = tokenRef(atn, rule, repetition.separator, repetition);\n return plus(atn, rule, repetition, handle, sep);\n}\nfunction alternation(atn, rule, alternation) {\n const start = newState(atn, rule, alternation, {\n type: ATN_BASIC\n });\n defineDecisionState(atn, start);\n const alts = map(alternation.definition, (e) => atom(atn, rule, e));\n const handle = makeAlts(atn, rule, start, alternation, ...alts);\n return handle;\n}\nfunction option(atn, rule, option) {\n const start = newState(atn, rule, option, {\n type: ATN_BASIC\n });\n defineDecisionState(atn, start);\n const handle = makeAlts(atn, rule, start, option, block(atn, rule, option));\n return optional(atn, rule, option, handle);\n}\nfunction block(atn, rule, block) {\n const handles = filter(map(block.definition, (e) => atom(atn, rule, e)), (e) => e !== undefined);\n if (handles.length === 1) {\n return handles[0];\n }\n else if (handles.length === 0) {\n return undefined;\n }\n else {\n return makeBlock(atn, handles);\n }\n}\nfunction plus(atn, rule, plus, handle, sep) {\n const blkStart = handle.left;\n const blkEnd = handle.right;\n const loop = newState(atn, rule, plus, {\n type: ATN_PLUS_LOOP_BACK\n });\n defineDecisionState(atn, loop);\n const end = newState(atn, rule, plus, {\n type: ATN_LOOP_END\n });\n blkStart.loopback = loop;\n end.loopback = loop;\n atn.decisionMap[buildATNKey(rule, sep ? 'RepetitionMandatoryWithSeparator' : 'RepetitionMandatory', plus.idx)] = loop;\n epsilon(blkEnd, loop); // block can see loop back\n // Depending on whether we have a separator we put the exit transition at index 1 or 0\n // This influences the chosen option in the lookahead DFA\n if (sep === undefined) {\n epsilon(loop, blkStart); // loop back to start\n epsilon(loop, end); // exit\n }\n else {\n epsilon(loop, end); // exit\n // loop back to start with separator\n epsilon(loop, sep.left);\n epsilon(sep.right, blkStart);\n }\n return {\n left: blkStart,\n right: end\n };\n}\nfunction star(atn, rule, star, handle, sep) {\n const start = handle.left;\n const end = handle.right;\n const entry = newState(atn, rule, star, {\n type: ATN_STAR_LOOP_ENTRY\n });\n defineDecisionState(atn, entry);\n const loopEnd = newState(atn, rule, star, {\n type: ATN_LOOP_END\n });\n const loop = newState(atn, rule, star, {\n type: ATN_STAR_LOOP_BACK\n });\n entry.loopback = loop;\n loopEnd.loopback = loop;\n epsilon(entry, start); // loop enter edge (alt 2)\n epsilon(entry, loopEnd); // bypass loop edge (alt 1)\n epsilon(end, loop); // block end hits loop back\n if (sep !== undefined) {\n epsilon(loop, loopEnd); // end loop\n // loop back to start of handle using separator\n epsilon(loop, sep.left);\n epsilon(sep.right, start);\n }\n else {\n epsilon(loop, entry); // loop back to entry/exit decision\n }\n atn.decisionMap[buildATNKey(rule, sep ? 'RepetitionWithSeparator' : 'Repetition', star.idx)] = entry;\n return {\n left: entry,\n right: loopEnd\n };\n}\nfunction optional(atn, rule, optional, handle) {\n const start = handle.left;\n const end = handle.right;\n epsilon(start, end);\n atn.decisionMap[buildATNKey(rule, 'Option', optional.idx)] = start;\n return handle;\n}\nfunction defineDecisionState(atn, state) {\n atn.decisionStates.push(state);\n state.decision = atn.decisionStates.length - 1;\n return state.decision;\n}\nfunction makeAlts(atn, rule, start, production, ...alts) {\n const end = newState(atn, rule, production, {\n type: ATN_BLOCK_END,\n start\n });\n start.end = end;\n for (const alt of alts) {\n if (alt !== undefined) {\n // hook alts up to decision block\n epsilon(start, alt.left);\n epsilon(alt.right, end);\n }\n else {\n epsilon(start, end);\n }\n }\n const handle = {\n left: start,\n right: end\n };\n atn.decisionMap[buildATNKey(rule, getProdType(production), production.idx)] = start;\n return handle;\n}\nfunction getProdType(production) {\n if (production instanceof Alternation) {\n return 'Alternation';\n }\n else if (production instanceof Option) {\n return 'Option';\n }\n else if (production instanceof Repetition) {\n return 'Repetition';\n }\n else if (production instanceof RepetitionWithSeparator) {\n return 'RepetitionWithSeparator';\n }\n else if (production instanceof RepetitionMandatory) {\n return 'RepetitionMandatory';\n }\n else if (production instanceof RepetitionMandatoryWithSeparator) {\n return 'RepetitionMandatoryWithSeparator';\n }\n else {\n throw new Error('Invalid production type encountered');\n }\n}\nfunction makeBlock(atn, alts) {\n const altsLength = alts.length;\n for (let i = 0; i < altsLength - 1; i++) {\n const handle = alts[i];\n let transition;\n if (handle.left.transitions.length === 1) {\n transition = handle.left.transitions[0];\n }\n const isRuleTransition = transition instanceof RuleTransition;\n const ruleTransition = transition;\n const next = alts[i + 1].left;\n if (handle.left.type === ATN_BASIC &&\n handle.right.type === ATN_BASIC &&\n transition !== undefined &&\n ((isRuleTransition && ruleTransition.followState === handle.right) ||\n transition.target === handle.right)) {\n // we can avoid epsilon edge to next element\n if (isRuleTransition) {\n ruleTransition.followState = next;\n }\n else {\n transition.target = next;\n }\n removeState(atn, handle.right); // we skipped over this state\n }\n else {\n // need epsilon if previous block's right end node is complex\n epsilon(handle.right, next);\n }\n }\n const first = alts[0];\n const last = alts[altsLength - 1];\n return {\n left: first.left,\n right: last.right\n };\n}\nfunction tokenRef(atn, rule, tokenType, production) {\n const left = newState(atn, rule, production, {\n type: ATN_BASIC\n });\n const right = newState(atn, rule, production, {\n type: ATN_BASIC\n });\n addTransition(left, new AtomTransition(right, tokenType));\n return {\n left,\n right\n };\n}\nfunction ruleRef(atn, currentRule, nonTerminal) {\n const rule = nonTerminal.referencedRule;\n const start = atn.ruleToStartState.get(rule);\n const left = newState(atn, currentRule, nonTerminal, {\n type: ATN_BASIC\n });\n const right = newState(atn, currentRule, nonTerminal, {\n type: ATN_BASIC\n });\n const call = new RuleTransition(start, rule, right);\n addTransition(left, call);\n return {\n left,\n right\n };\n}\nfunction buildRuleHandle(atn, rule, block) {\n const start = atn.ruleToStartState.get(rule);\n epsilon(start, block.left);\n const stop = atn.ruleToStopState.get(rule);\n epsilon(block.right, stop);\n const handle = {\n left: start,\n right: stop\n };\n return handle;\n}\nfunction epsilon(a, b) {\n const transition = new EpsilonTransition(b);\n addTransition(a, transition);\n}\nfunction newState(atn, rule, production, partial) {\n const t = Object.assign({ atn,\n production, epsilonOnlyTransitions: false, rule, transitions: [], nextTokenWithinRule: [], stateNumber: atn.states.length }, partial);\n atn.states.push(t);\n return t;\n}\nfunction addTransition(state, transition) {\n // A single ATN state can only contain epsilon transitions or non-epsilon transitions\n // Because they are never mixed, only setting the property for the first transition is fine\n if (state.transitions.length === 0) {\n state.epsilonOnlyTransitions = transition.isEpsilon();\n }\n state.transitions.push(transition);\n}\nfunction removeState(atn, state) {\n atn.states.splice(atn.states.indexOf(state), 1);\n}\n//# sourceMappingURL=atn.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport map from \"lodash-es/map.js\";\nexport const DFA_ERROR = {};\nexport class ATNConfigSet {\n constructor() {\n this.map = {};\n this.configs = [];\n }\n get size() {\n return this.configs.length;\n }\n finalize() {\n // Empties the map to free up memory\n this.map = {};\n }\n add(config) {\n const key = getATNConfigKey(config);\n // Only add configs which don't exist in our map already\n // While this does not influence the actual algorithm, adding them anyway would massively increase memory consumption\n if (!(key in this.map)) {\n this.map[key] = this.configs.length;\n this.configs.push(config);\n }\n }\n get elements() {\n return this.configs;\n }\n get alts() {\n return map(this.configs, (e) => e.alt);\n }\n get key() {\n let value = \"\";\n for (const k in this.map) {\n value += k + \":\";\n }\n return value;\n }\n}\nexport function getATNConfigKey(config, alt = true) {\n return `${alt ? `a${config.alt}` : \"\"}s${config.state.stateNumber}:${config.stack.map((e) => e.stateNumber.toString()).join(\"_\")}`;\n}\n//# sourceMappingURL=dfa.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { tokenMatcher, tokenLabel, NonTerminal, Alternation, Option, RepetitionMandatory, RepetitionMandatoryWithSeparator, RepetitionWithSeparator, Repetition, Terminal, LLkLookaheadStrategy, getLookaheadPaths } from \"chevrotain\";\nimport { ATN_RULE_STOP, AtomTransition, buildATNKey, createATN, EpsilonTransition, RuleTransition } from \"./atn.js\";\nimport { ATNConfigSet, DFA_ERROR, getATNConfigKey } from \"./dfa.js\";\nimport min from \"lodash-es/min.js\";\nimport flatMap from \"lodash-es/flatMap.js\";\nimport uniqBy from \"lodash-es/uniqBy.js\";\nimport map from \"lodash-es/map.js\";\nimport flatten from \"lodash-es/flatten.js\";\nimport forEach from \"lodash-es/forEach.js\";\nimport isEmpty from \"lodash-es/isEmpty.js\";\nimport reduce from \"lodash-es/reduce.js\";\nfunction createDFACache(startState, decision) {\n const map = {};\n return (predicateSet) => {\n const key = predicateSet.toString();\n let existing = map[key];\n if (existing !== undefined) {\n return existing;\n }\n else {\n existing = {\n atnStartState: startState,\n decision,\n states: {}\n };\n map[key] = existing;\n return existing;\n }\n };\n}\nclass PredicateSet {\n constructor() {\n this.predicates = [];\n }\n is(index) {\n return index >= this.predicates.length || this.predicates[index];\n }\n set(index, value) {\n this.predicates[index] = value;\n }\n toString() {\n let value = \"\";\n const size = this.predicates.length;\n for (let i = 0; i < size; i++) {\n value += this.predicates[i] === true ? \"1\" : \"0\";\n }\n return value;\n }\n}\nconst EMPTY_PREDICATES = new PredicateSet();\nexport class LLStarLookaheadStrategy extends LLkLookaheadStrategy {\n constructor(options) {\n var _a;\n super();\n this.logging = (_a = options === null || options === void 0 ? void 0 : options.logging) !== null && _a !== void 0 ? _a : ((message) => console.log(message));\n }\n initialize(options) {\n this.atn = createATN(options.rules);\n this.dfas = initATNSimulator(this.atn);\n }\n validateAmbiguousAlternationAlternatives() {\n return [];\n }\n validateEmptyOrAlternatives() {\n return [];\n }\n buildLookaheadForAlternation(options) {\n const { prodOccurrence, rule, hasPredicates, dynamicTokensEnabled } = options;\n const dfas = this.dfas;\n const logging = this.logging;\n const key = buildATNKey(rule, 'Alternation', prodOccurrence);\n const decisionState = this.atn.decisionMap[key];\n const decisionIndex = decisionState.decision;\n const partialAlts = map(getLookaheadPaths({\n maxLookahead: 1,\n occurrence: prodOccurrence,\n prodType: \"Alternation\",\n rule: rule\n }), (currAlt) => map(currAlt, (path) => path[0]));\n if (isLL1Sequence(partialAlts, false) && !dynamicTokensEnabled) {\n const choiceToAlt = reduce(partialAlts, (result, currAlt, idx) => {\n forEach(currAlt, (currTokType) => {\n if (currTokType) {\n result[currTokType.tokenTypeIdx] = idx;\n forEach(currTokType.categoryMatches, (currExtendingType) => {\n result[currExtendingType] = idx;\n });\n }\n });\n return result;\n }, {});\n if (hasPredicates) {\n return function (orAlts) {\n var _a;\n const nextToken = this.LA(1);\n const prediction = choiceToAlt[nextToken.tokenTypeIdx];\n if (orAlts !== undefined && prediction !== undefined) {\n const gate = (_a = orAlts[prediction]) === null || _a === void 0 ? void 0 : _a.GATE;\n if (gate !== undefined && gate.call(this) === false) {\n return undefined;\n }\n }\n return prediction;\n };\n }\n else {\n return function () {\n const nextToken = this.LA(1);\n return choiceToAlt[nextToken.tokenTypeIdx];\n };\n }\n }\n else if (hasPredicates) {\n return function (orAlts) {\n const predicates = new PredicateSet();\n const length = orAlts === undefined ? 0 : orAlts.length;\n for (let i = 0; i < length; i++) {\n const gate = orAlts === null || orAlts === void 0 ? void 0 : orAlts[i].GATE;\n predicates.set(i, gate === undefined || gate.call(this));\n }\n const result = adaptivePredict.call(this, dfas, decisionIndex, predicates, logging);\n return typeof result === 'number' ? result : undefined;\n };\n }\n else {\n return function () {\n const result = adaptivePredict.call(this, dfas, decisionIndex, EMPTY_PREDICATES, logging);\n return typeof result === 'number' ? result : undefined;\n };\n }\n }\n buildLookaheadForOptional(options) {\n const { prodOccurrence, rule, prodType, dynamicTokensEnabled } = options;\n const dfas = this.dfas;\n const logging = this.logging;\n const key = buildATNKey(rule, prodType, prodOccurrence);\n const decisionState = this.atn.decisionMap[key];\n const decisionIndex = decisionState.decision;\n const alts = map(getLookaheadPaths({\n maxLookahead: 1,\n occurrence: prodOccurrence,\n prodType,\n rule\n }), (e) => {\n return map(e, (g) => g[0]);\n });\n if (isLL1Sequence(alts) && alts[0][0] && !dynamicTokensEnabled) {\n const alt = alts[0];\n const singleTokensTypes = flatten(alt);\n if (singleTokensTypes.length === 1 &&\n isEmpty(singleTokensTypes[0].categoryMatches)) {\n const expectedTokenType = singleTokensTypes[0];\n const expectedTokenUniqueKey = expectedTokenType.tokenTypeIdx;\n return function () {\n return this.LA(1).tokenTypeIdx === expectedTokenUniqueKey;\n };\n }\n else {\n const choiceToAlt = reduce(singleTokensTypes, (result, currTokType) => {\n if (currTokType !== undefined) {\n result[currTokType.tokenTypeIdx] = true;\n forEach(currTokType.categoryMatches, (currExtendingType) => {\n result[currExtendingType] = true;\n });\n }\n return result;\n }, {});\n return function () {\n const nextToken = this.LA(1);\n return choiceToAlt[nextToken.tokenTypeIdx] === true;\n };\n }\n }\n return function () {\n const result = adaptivePredict.call(this, dfas, decisionIndex, EMPTY_PREDICATES, logging);\n return typeof result === \"object\" ? false : result === 0;\n };\n }\n}\nfunction isLL1Sequence(sequences, allowEmpty = true) {\n const fullSet = new Set();\n for (const alt of sequences) {\n const altSet = new Set();\n for (const tokType of alt) {\n if (tokType === undefined) {\n if (allowEmpty) {\n // Epsilon production encountered\n break;\n }\n else {\n return false;\n }\n }\n const indices = [tokType.tokenTypeIdx].concat(tokType.categoryMatches);\n for (const index of indices) {\n if (fullSet.has(index)) {\n if (!altSet.has(index)) {\n return false;\n }\n }\n else {\n fullSet.add(index);\n altSet.add(index);\n }\n }\n }\n }\n return true;\n}\nfunction initATNSimulator(atn) {\n const decisionLength = atn.decisionStates.length;\n const decisionToDFA = Array(decisionLength);\n for (let i = 0; i < decisionLength; i++) {\n decisionToDFA[i] = createDFACache(atn.decisionStates[i], i);\n }\n return decisionToDFA;\n}\nfunction adaptivePredict(dfaCaches, decision, predicateSet, logging) {\n const dfa = dfaCaches[decision](predicateSet);\n let start = dfa.start;\n if (start === undefined) {\n const closure = computeStartState(dfa.atnStartState);\n start = addDFAState(dfa, newDFAState(closure));\n dfa.start = start;\n }\n const alt = performLookahead.apply(this, [dfa, start, predicateSet, logging]);\n return alt;\n}\nfunction performLookahead(dfa, s0, predicateSet, logging) {\n let previousD = s0;\n let i = 1;\n const path = [];\n let t = this.LA(i++);\n while (true) {\n let d = getExistingTargetState(previousD, t);\n if (d === undefined) {\n d = computeLookaheadTarget.apply(this, [dfa, previousD, t, i, predicateSet, logging]);\n }\n if (d === DFA_ERROR) {\n return buildAdaptivePredictError(path, previousD, t);\n }\n if (d.isAcceptState === true) {\n return d.prediction;\n }\n previousD = d;\n path.push(t);\n t = this.LA(i++);\n }\n}\nfunction computeLookaheadTarget(dfa, previousD, token, lookahead, predicateSet, logging) {\n const reach = computeReachSet(previousD.configs, token, predicateSet);\n if (reach.size === 0) {\n addDFAEdge(dfa, previousD, token, DFA_ERROR);\n return DFA_ERROR;\n }\n let newState = newDFAState(reach);\n const predictedAlt = getUniqueAlt(reach, predicateSet);\n if (predictedAlt !== undefined) {\n newState.isAcceptState = true;\n newState.prediction = predictedAlt;\n newState.configs.uniqueAlt = predictedAlt;\n }\n else if (hasConflictTerminatingPrediction(reach)) {\n const prediction = min(reach.alts);\n newState.isAcceptState = true;\n newState.prediction = prediction;\n newState.configs.uniqueAlt = prediction;\n reportLookaheadAmbiguity.apply(this, [dfa, lookahead, reach.alts, logging]);\n }\n newState = addDFAEdge(dfa, previousD, token, newState);\n return newState;\n}\nfunction reportLookaheadAmbiguity(dfa, lookahead, ambiguityIndices, logging) {\n const prefixPath = [];\n for (let i = 1; i <= lookahead; i++) {\n prefixPath.push(this.LA(i).tokenType);\n }\n const atnState = dfa.atnStartState;\n const topLevelRule = atnState.rule;\n const production = atnState.production;\n const message = buildAmbiguityError({\n topLevelRule,\n ambiguityIndices,\n production,\n prefixPath\n });\n logging(message);\n}\nfunction buildAmbiguityError(options) {\n const pathMsg = map(options.prefixPath, (currtok) => tokenLabel(currtok)).join(\", \");\n const occurrence = options.production.idx === 0 ? \"\" : options.production.idx;\n let currMessage = `Ambiguous Alternatives Detected: <${options.ambiguityIndices.join(\", \")}> in <${getProductionDslName(options.production)}${occurrence}>` +\n ` inside <${options.topLevelRule.name}> Rule,\\n` +\n `<${pathMsg}> may appears as a prefix path in all these alternatives.\\n`;\n currMessage =\n currMessage +\n `See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\\n` +\n `For Further details.`;\n return currMessage;\n}\nfunction getProductionDslName(prod) {\n if (prod instanceof NonTerminal) {\n return \"SUBRULE\";\n }\n else if (prod instanceof Option) {\n return \"OPTION\";\n }\n else if (prod instanceof Alternation) {\n return \"OR\";\n }\n else if (prod instanceof RepetitionMandatory) {\n return \"AT_LEAST_ONE\";\n }\n else if (prod instanceof RepetitionMandatoryWithSeparator) {\n return \"AT_LEAST_ONE_SEP\";\n }\n else if (prod instanceof RepetitionWithSeparator) {\n return \"MANY_SEP\";\n }\n else if (prod instanceof Repetition) {\n return \"MANY\";\n }\n else if (prod instanceof Terminal) {\n return \"CONSUME\";\n }\n else {\n throw Error(\"non exhaustive match\");\n }\n}\nfunction buildAdaptivePredictError(path, previous, current) {\n const nextTransitions = flatMap(previous.configs.elements, (e) => e.state.transitions);\n const nextTokenTypes = uniqBy(nextTransitions\n .filter((e) => e instanceof AtomTransition)\n .map((e) => e.tokenType), (e) => e.tokenTypeIdx);\n return {\n actualToken: current,\n possibleTokenTypes: nextTokenTypes,\n tokenPath: path\n };\n}\nfunction getExistingTargetState(state, token) {\n return state.edges[token.tokenTypeIdx];\n}\nfunction computeReachSet(configs, token, predicateSet) {\n const intermediate = new ATNConfigSet();\n const skippedStopStates = [];\n for (const c of configs.elements) {\n if (predicateSet.is(c.alt) === false) {\n continue;\n }\n if (c.state.type === ATN_RULE_STOP) {\n skippedStopStates.push(c);\n continue;\n }\n const transitionLength = c.state.transitions.length;\n for (let i = 0; i < transitionLength; i++) {\n const transition = c.state.transitions[i];\n const target = getReachableTarget(transition, token);\n if (target !== undefined) {\n intermediate.add({\n state: target,\n alt: c.alt,\n stack: c.stack\n });\n }\n }\n }\n let reach;\n if (skippedStopStates.length === 0 && intermediate.size === 1) {\n reach = intermediate;\n }\n if (reach === undefined) {\n reach = new ATNConfigSet();\n for (const c of intermediate.elements) {\n closure(c, reach);\n }\n }\n if (skippedStopStates.length > 0 && !hasConfigInRuleStopState(reach)) {\n for (const c of skippedStopStates) {\n reach.add(c);\n }\n }\n return reach;\n}\nfunction getReachableTarget(transition, token) {\n if (transition instanceof AtomTransition &&\n tokenMatcher(token, transition.tokenType)) {\n return transition.target;\n }\n return undefined;\n}\nfunction getUniqueAlt(configs, predicateSet) {\n let alt;\n for (const c of configs.elements) {\n if (predicateSet.is(c.alt) === true) {\n if (alt === undefined) {\n alt = c.alt;\n }\n else if (alt !== c.alt) {\n return undefined;\n }\n }\n }\n return alt;\n}\nfunction newDFAState(closure) {\n return {\n configs: closure,\n edges: {},\n isAcceptState: false,\n prediction: -1\n };\n}\nfunction addDFAEdge(dfa, from, token, to) {\n to = addDFAState(dfa, to);\n from.edges[token.tokenTypeIdx] = to;\n return to;\n}\nfunction addDFAState(dfa, state) {\n if (state === DFA_ERROR) {\n return state;\n }\n // Repetitions have the same config set\n // Therefore, storing the key of the config in a map allows us to create a loop in our DFA\n const mapKey = state.configs.key;\n const existing = dfa.states[mapKey];\n if (existing !== undefined) {\n return existing;\n }\n state.configs.finalize();\n dfa.states[mapKey] = state;\n return state;\n}\nfunction computeStartState(atnState) {\n const configs = new ATNConfigSet();\n const numberOfTransitions = atnState.transitions.length;\n for (let i = 0; i < numberOfTransitions; i++) {\n const target = atnState.transitions[i].target;\n const config = {\n state: target,\n alt: i,\n stack: []\n };\n closure(config, configs);\n }\n return configs;\n}\nfunction closure(config, configs) {\n const p = config.state;\n if (p.type === ATN_RULE_STOP) {\n if (config.stack.length > 0) {\n const atnStack = [...config.stack];\n const followState = atnStack.pop();\n const followConfig = {\n state: followState,\n alt: config.alt,\n stack: atnStack\n };\n closure(followConfig, configs);\n }\n else {\n // Dipping into outer context, simply add the config\n // This will stop computation once every config is at the rule stop state\n configs.add(config);\n }\n return;\n }\n if (!p.epsilonOnlyTransitions) {\n configs.add(config);\n }\n const transitionLength = p.transitions.length;\n for (let i = 0; i < transitionLength; i++) {\n const transition = p.transitions[i];\n const c = getEpsilonTarget(config, transition);\n if (c !== undefined) {\n closure(c, configs);\n }\n }\n}\nfunction getEpsilonTarget(config, transition) {\n if (transition instanceof EpsilonTransition) {\n return {\n state: transition.target,\n alt: config.alt,\n stack: config.stack\n };\n }\n else if (transition instanceof RuleTransition) {\n const stack = [...config.stack, transition.followState];\n return {\n state: transition.target,\n alt: config.alt,\n stack\n };\n }\n return undefined;\n}\nfunction hasConfigInRuleStopState(configs) {\n for (const c of configs.elements) {\n if (c.state.type === ATN_RULE_STOP) {\n return true;\n }\n }\n return false;\n}\nfunction allConfigsInRuleStopStates(configs) {\n for (const c of configs.elements) {\n if (c.state.type !== ATN_RULE_STOP) {\n return false;\n }\n }\n return true;\n}\nfunction hasConflictTerminatingPrediction(configs) {\n if (allConfigsInRuleStopStates(configs)) {\n return true;\n }\n const altSets = getConflictingAltSets(configs.elements);\n const heuristic = hasConflictingAltSet(altSets) && !hasStateAssociatedWithOneAlt(altSets);\n return heuristic;\n}\nfunction getConflictingAltSets(configs) {\n const configToAlts = new Map();\n for (const c of configs) {\n const key = getATNConfigKey(c, false);\n let alts = configToAlts.get(key);\n if (alts === undefined) {\n alts = {};\n configToAlts.set(key, alts);\n }\n alts[c.alt] = true;\n }\n return configToAlts;\n}\nfunction hasConflictingAltSet(altSets) {\n for (const value of Array.from(altSets.values())) {\n if (Object.keys(value).length > 1) {\n return true;\n }\n }\n return false;\n}\nfunction hasStateAssociatedWithOneAlt(altSets) {\n for (const value of Array.from(altSets.values())) {\n if (Object.keys(value).length === 1) {\n return true;\n }\n }\n return false;\n}\n//# sourceMappingURL=all-star-lookahead.js.map", + "/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nexport var DocumentUri;\n(function (DocumentUri) {\n function is(value) {\n return typeof value === 'string';\n }\n DocumentUri.is = is;\n})(DocumentUri || (DocumentUri = {}));\nexport var URI;\n(function (URI) {\n function is(value) {\n return typeof value === 'string';\n }\n URI.is = is;\n})(URI || (URI = {}));\nexport var integer;\n(function (integer) {\n integer.MIN_VALUE = -2147483648;\n integer.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE;\n }\n integer.is = is;\n})(integer || (integer = {}));\nexport var uinteger;\n(function (uinteger) {\n uinteger.MIN_VALUE = 0;\n uinteger.MAX_VALUE = 2147483647;\n function is(value) {\n return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE;\n }\n uinteger.is = is;\n})(uinteger || (uinteger = {}));\n/**\n * The Position namespace provides helper functions to work with\n * {@link Position} literals.\n */\nexport var Position;\n(function (Position) {\n /**\n * Creates a new Position literal from the given line and character.\n * @param line The position's line.\n * @param character The position's character.\n */\n function create(line, character) {\n if (line === Number.MAX_VALUE) {\n line = uinteger.MAX_VALUE;\n }\n if (character === Number.MAX_VALUE) {\n character = uinteger.MAX_VALUE;\n }\n return { line, character };\n }\n Position.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Position} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character);\n }\n Position.is = is;\n})(Position || (Position = {}));\n/**\n * The Range namespace provides helper functions to work with\n * {@link Range} literals.\n */\nexport var Range;\n(function (Range) {\n function create(one, two, three, four) {\n if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) {\n return { start: Position.create(one, two), end: Position.create(three, four) };\n }\n else if (Position.is(one) && Position.is(two)) {\n return { start: one, end: two };\n }\n else {\n throw new Error(`Range#create called with invalid arguments[${one}, ${two}, ${three}, ${four}]`);\n }\n }\n Range.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Range} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\n }\n Range.is = is;\n})(Range || (Range = {}));\n/**\n * The Location namespace provides helper functions to work with\n * {@link Location} literals.\n */\nexport var Location;\n(function (Location) {\n /**\n * Creates a Location literal.\n * @param uri The location's uri.\n * @param range The location's range.\n */\n function create(uri, range) {\n return { uri, range };\n }\n Location.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Location} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\n }\n Location.is = is;\n})(Location || (Location = {}));\n/**\n * The LocationLink namespace provides helper functions to work with\n * {@link LocationLink} literals.\n */\nexport var LocationLink;\n(function (LocationLink) {\n /**\n * Creates a LocationLink literal.\n * @param targetUri The definition's uri.\n * @param targetRange The full range of the definition.\n * @param targetSelectionRange The span of the symbol definition at the target.\n * @param originSelectionRange The span of the symbol being defined in the originating source file.\n */\n function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\n return { targetUri, targetRange, targetSelectionRange, originSelectionRange };\n }\n LocationLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link LocationLink} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\n && Range.is(candidate.targetSelectionRange)\n && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\n }\n LocationLink.is = is;\n})(LocationLink || (LocationLink = {}));\n/**\n * The Color namespace provides helper functions to work with\n * {@link Color} literals.\n */\nexport var Color;\n(function (Color) {\n /**\n * Creates a new Color literal.\n */\n function create(red, green, blue, alpha) {\n return {\n red,\n green,\n blue,\n alpha,\n };\n }\n Color.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Color} interface.\n */\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1)\n && Is.numberRange(candidate.green, 0, 1)\n && Is.numberRange(candidate.blue, 0, 1)\n && Is.numberRange(candidate.alpha, 0, 1);\n }\n Color.is = is;\n})(Color || (Color = {}));\n/**\n * The ColorInformation namespace provides helper functions to work with\n * {@link ColorInformation} literals.\n */\nexport var ColorInformation;\n(function (ColorInformation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(range, color) {\n return {\n range,\n color,\n };\n }\n ColorInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color);\n }\n ColorInformation.is = is;\n})(ColorInformation || (ColorInformation = {}));\n/**\n * The Color namespace provides helper functions to work with\n * {@link ColorPresentation} literals.\n */\nexport var ColorPresentation;\n(function (ColorPresentation) {\n /**\n * Creates a new ColorInformation literal.\n */\n function create(label, textEdit, additionalTextEdits) {\n return {\n label,\n textEdit,\n additionalTextEdits,\n };\n }\n ColorPresentation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ColorInformation} interface.\n */\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label)\n && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\n && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\n }\n ColorPresentation.is = is;\n})(ColorPresentation || (ColorPresentation = {}));\n/**\n * A set of predefined range kinds.\n */\nexport var FoldingRangeKind;\n(function (FoldingRangeKind) {\n /**\n * Folding range for a comment\n */\n FoldingRangeKind.Comment = 'comment';\n /**\n * Folding range for an import or include\n */\n FoldingRangeKind.Imports = 'imports';\n /**\n * Folding range for a region (e.g. `#region`)\n */\n FoldingRangeKind.Region = 'region';\n})(FoldingRangeKind || (FoldingRangeKind = {}));\n/**\n * The folding range namespace provides helper functions to work with\n * {@link FoldingRange} literals.\n */\nexport var FoldingRange;\n(function (FoldingRange) {\n /**\n * Creates a new FoldingRange literal.\n */\n function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) {\n const result = {\n startLine,\n endLine\n };\n if (Is.defined(startCharacter)) {\n result.startCharacter = startCharacter;\n }\n if (Is.defined(endCharacter)) {\n result.endCharacter = endCharacter;\n }\n if (Is.defined(kind)) {\n result.kind = kind;\n }\n if (Is.defined(collapsedText)) {\n result.collapsedText = collapsedText;\n }\n return result;\n }\n FoldingRange.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FoldingRange} interface.\n */\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine)\n && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter))\n && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter))\n && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\n }\n FoldingRange.is = is;\n})(FoldingRange || (FoldingRange = {}));\n/**\n * The DiagnosticRelatedInformation namespace provides helper functions to work with\n * {@link DiagnosticRelatedInformation} literals.\n */\nexport var DiagnosticRelatedInformation;\n(function (DiagnosticRelatedInformation) {\n /**\n * Creates a new DiagnosticRelatedInformation literal.\n */\n function create(location, message) {\n return {\n location,\n message\n };\n }\n DiagnosticRelatedInformation.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DiagnosticRelatedInformation} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\n }\n DiagnosticRelatedInformation.is = is;\n})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\n/**\n * The diagnostic's severity.\n */\nexport var DiagnosticSeverity;\n(function (DiagnosticSeverity) {\n /**\n * Reports an error.\n */\n DiagnosticSeverity.Error = 1;\n /**\n * Reports a warning.\n */\n DiagnosticSeverity.Warning = 2;\n /**\n * Reports an information.\n */\n DiagnosticSeverity.Information = 3;\n /**\n * Reports a hint.\n */\n DiagnosticSeverity.Hint = 4;\n})(DiagnosticSeverity || (DiagnosticSeverity = {}));\n/**\n * The diagnostic tags.\n *\n * @since 3.15.0\n */\nexport var DiagnosticTag;\n(function (DiagnosticTag) {\n /**\n * Unused or unnecessary code.\n *\n * Clients are allowed to render diagnostics with this tag faded out instead of having\n * an error squiggle.\n */\n DiagnosticTag.Unnecessary = 1;\n /**\n * Deprecated or obsolete code.\n *\n * Clients are allowed to rendered diagnostics with this tag strike through.\n */\n DiagnosticTag.Deprecated = 2;\n})(DiagnosticTag || (DiagnosticTag = {}));\n/**\n * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes.\n *\n * @since 3.16.0\n */\nexport var CodeDescription;\n(function (CodeDescription) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.href);\n }\n CodeDescription.is = is;\n})(CodeDescription || (CodeDescription = {}));\n/**\n * The Diagnostic namespace provides helper functions to work with\n * {@link Diagnostic} literals.\n */\nexport var Diagnostic;\n(function (Diagnostic) {\n /**\n * Creates a new Diagnostic literal.\n */\n function create(range, message, severity, code, source, relatedInformation) {\n let result = { range, message };\n if (Is.defined(severity)) {\n result.severity = severity;\n }\n if (Is.defined(code)) {\n result.code = code;\n }\n if (Is.defined(source)) {\n result.source = source;\n }\n if (Is.defined(relatedInformation)) {\n result.relatedInformation = relatedInformation;\n }\n return result;\n }\n Diagnostic.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Diagnostic} interface.\n */\n function is(value) {\n var _a;\n let candidate = value;\n return Is.defined(candidate)\n && Range.is(candidate.range)\n && Is.string(candidate.message)\n && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\n && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\n && (Is.undefined(candidate.codeDescription) || (Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)))\n && (Is.string(candidate.source) || Is.undefined(candidate.source))\n && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\n }\n Diagnostic.is = is;\n})(Diagnostic || (Diagnostic = {}));\n/**\n * The Command namespace provides helper functions to work with\n * {@link Command} literals.\n */\nexport var Command;\n(function (Command) {\n /**\n * Creates a new Command literal.\n */\n function create(title, command, ...args) {\n let result = { title, command };\n if (Is.defined(args) && args.length > 0) {\n result.arguments = args;\n }\n return result;\n }\n Command.create = create;\n /**\n * Checks whether the given literal conforms to the {@link Command} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\n }\n Command.is = is;\n})(Command || (Command = {}));\n/**\n * The TextEdit namespace provides helper function to create replace,\n * insert and delete edits more easily.\n */\nexport var TextEdit;\n(function (TextEdit) {\n /**\n * Creates a replace text edit.\n * @param range The range of text to be replaced.\n * @param newText The new text.\n */\n function replace(range, newText) {\n return { range, newText };\n }\n TextEdit.replace = replace;\n /**\n * Creates an insert text edit.\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n */\n function insert(position, newText) {\n return { range: { start: position, end: position }, newText };\n }\n TextEdit.insert = insert;\n /**\n * Creates a delete text edit.\n * @param range The range of text to be deleted.\n */\n function del(range) {\n return { range, newText: '' };\n }\n TextEdit.del = del;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate)\n && Is.string(candidate.newText)\n && Range.is(candidate.range);\n }\n TextEdit.is = is;\n})(TextEdit || (TextEdit = {}));\nexport var ChangeAnnotation;\n(function (ChangeAnnotation) {\n function create(label, needsConfirmation, description) {\n const result = { label };\n if (needsConfirmation !== undefined) {\n result.needsConfirmation = needsConfirmation;\n }\n if (description !== undefined) {\n result.description = description;\n }\n return result;\n }\n ChangeAnnotation.create = create;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Is.string(candidate.label) &&\n (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n ChangeAnnotation.is = is;\n})(ChangeAnnotation || (ChangeAnnotation = {}));\nexport var ChangeAnnotationIdentifier;\n(function (ChangeAnnotationIdentifier) {\n function is(value) {\n const candidate = value;\n return Is.string(candidate);\n }\n ChangeAnnotationIdentifier.is = is;\n})(ChangeAnnotationIdentifier || (ChangeAnnotationIdentifier = {}));\nexport var AnnotatedTextEdit;\n(function (AnnotatedTextEdit) {\n /**\n * Creates an annotated replace text edit.\n *\n * @param range The range of text to be replaced.\n * @param newText The new text.\n * @param annotation The annotation.\n */\n function replace(range, newText, annotation) {\n return { range, newText, annotationId: annotation };\n }\n AnnotatedTextEdit.replace = replace;\n /**\n * Creates an annotated insert text edit.\n *\n * @param position The position to insert the text at.\n * @param newText The text to be inserted.\n * @param annotation The annotation.\n */\n function insert(position, newText, annotation) {\n return { range: { start: position, end: position }, newText, annotationId: annotation };\n }\n AnnotatedTextEdit.insert = insert;\n /**\n * Creates an annotated delete text edit.\n *\n * @param range The range of text to be deleted.\n * @param annotation The annotation.\n */\n function del(range, annotation) {\n return { range, newText: '', annotationId: annotation };\n }\n AnnotatedTextEdit.del = del;\n function is(value) {\n const candidate = value;\n return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n AnnotatedTextEdit.is = is;\n})(AnnotatedTextEdit || (AnnotatedTextEdit = {}));\n/**\n * The TextDocumentEdit namespace provides helper function to create\n * an edit that manipulates a text document.\n */\nexport var TextDocumentEdit;\n(function (TextDocumentEdit) {\n /**\n * Creates a new `TextDocumentEdit`\n */\n function create(textDocument, edits) {\n return { textDocument, edits };\n }\n TextDocumentEdit.create = create;\n function is(value) {\n let candidate = value;\n return Is.defined(candidate)\n && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)\n && Array.isArray(candidate.edits);\n }\n TextDocumentEdit.is = is;\n})(TextDocumentEdit || (TextDocumentEdit = {}));\nexport var CreateFile;\n(function (CreateFile) {\n function create(uri, options, annotation) {\n let result = {\n kind: 'create',\n uri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n CreateFile.create = create;\n function is(value) {\n let candidate = value;\n return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n CreateFile.is = is;\n})(CreateFile || (CreateFile = {}));\nexport var RenameFile;\n(function (RenameFile) {\n function create(oldUri, newUri, options, annotation) {\n let result = {\n kind: 'rename',\n oldUri,\n newUri\n };\n if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n RenameFile.create = create;\n function is(value) {\n let candidate = value;\n return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined ||\n ((candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n RenameFile.is = is;\n})(RenameFile || (RenameFile = {}));\nexport var DeleteFile;\n(function (DeleteFile) {\n function create(uri, options, annotation) {\n let result = {\n kind: 'delete',\n uri\n };\n if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) {\n result.options = options;\n }\n if (annotation !== undefined) {\n result.annotationId = annotation;\n }\n return result;\n }\n DeleteFile.create = create;\n function is(value) {\n let candidate = value;\n return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined ||\n ((candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists)))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId));\n }\n DeleteFile.is = is;\n})(DeleteFile || (DeleteFile = {}));\nexport var WorkspaceEdit;\n(function (WorkspaceEdit) {\n function is(value) {\n let candidate = value;\n return candidate &&\n (candidate.changes !== undefined || candidate.documentChanges !== undefined) &&\n (candidate.documentChanges === undefined || candidate.documentChanges.every((change) => {\n if (Is.string(change.kind)) {\n return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\n }\n else {\n return TextDocumentEdit.is(change);\n }\n }));\n }\n WorkspaceEdit.is = is;\n})(WorkspaceEdit || (WorkspaceEdit = {}));\nclass TextEditChangeImpl {\n constructor(edits, changeAnnotations) {\n this.edits = edits;\n this.changeAnnotations = changeAnnotations;\n }\n insert(position, newText, annotation) {\n let edit;\n let id;\n if (annotation === undefined) {\n edit = TextEdit.insert(position, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.insert(position, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.insert(position, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n }\n replace(range, newText, annotation) {\n let edit;\n let id;\n if (annotation === undefined) {\n edit = TextEdit.replace(range, newText);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.replace(range, newText, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.replace(range, newText, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n }\n delete(range, annotation) {\n let edit;\n let id;\n if (annotation === undefined) {\n edit = TextEdit.del(range);\n }\n else if (ChangeAnnotationIdentifier.is(annotation)) {\n id = annotation;\n edit = AnnotatedTextEdit.del(range, annotation);\n }\n else {\n this.assertChangeAnnotations(this.changeAnnotations);\n id = this.changeAnnotations.manage(annotation);\n edit = AnnotatedTextEdit.del(range, id);\n }\n this.edits.push(edit);\n if (id !== undefined) {\n return id;\n }\n }\n add(edit) {\n this.edits.push(edit);\n }\n all() {\n return this.edits;\n }\n clear() {\n this.edits.splice(0, this.edits.length);\n }\n assertChangeAnnotations(value) {\n if (value === undefined) {\n throw new Error(`Text edit change is not configured to manage change annotations.`);\n }\n }\n}\n/**\n * A helper class\n */\nclass ChangeAnnotations {\n constructor(annotations) {\n this._annotations = annotations === undefined ? Object.create(null) : annotations;\n this._counter = 0;\n this._size = 0;\n }\n all() {\n return this._annotations;\n }\n get size() {\n return this._size;\n }\n manage(idOrAnnotation, annotation) {\n let id;\n if (ChangeAnnotationIdentifier.is(idOrAnnotation)) {\n id = idOrAnnotation;\n }\n else {\n id = this.nextId();\n annotation = idOrAnnotation;\n }\n if (this._annotations[id] !== undefined) {\n throw new Error(`Id ${id} is already in use.`);\n }\n if (annotation === undefined) {\n throw new Error(`No annotation provided for id ${id}`);\n }\n this._annotations[id] = annotation;\n this._size++;\n return id;\n }\n nextId() {\n this._counter++;\n return this._counter.toString();\n }\n}\n/**\n * A workspace change helps constructing changes to a workspace.\n */\nexport class WorkspaceChange {\n constructor(workspaceEdit) {\n this._textEditChanges = Object.create(null);\n if (workspaceEdit !== undefined) {\n this._workspaceEdit = workspaceEdit;\n if (workspaceEdit.documentChanges) {\n this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations);\n workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n workspaceEdit.documentChanges.forEach((change) => {\n if (TextDocumentEdit.is(change)) {\n const textEditChange = new TextEditChangeImpl(change.edits, this._changeAnnotations);\n this._textEditChanges[change.textDocument.uri] = textEditChange;\n }\n });\n }\n else if (workspaceEdit.changes) {\n Object.keys(workspaceEdit.changes).forEach((key) => {\n const textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\n this._textEditChanges[key] = textEditChange;\n });\n }\n }\n else {\n this._workspaceEdit = {};\n }\n }\n /**\n * Returns the underlying {@link WorkspaceEdit} literal\n * use to be returned from a workspace edit operation like rename.\n */\n get edit() {\n this.initDocumentChanges();\n if (this._changeAnnotations !== undefined) {\n if (this._changeAnnotations.size === 0) {\n this._workspaceEdit.changeAnnotations = undefined;\n }\n else {\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n return this._workspaceEdit;\n }\n getTextEditChange(key) {\n if (OptionalVersionedTextDocumentIdentifier.is(key)) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n const textDocument = { uri: key.uri, version: key.version };\n let result = this._textEditChanges[textDocument.uri];\n if (!result) {\n const edits = [];\n const textDocumentEdit = {\n textDocument,\n edits\n };\n this._workspaceEdit.documentChanges.push(textDocumentEdit);\n result = new TextEditChangeImpl(edits, this._changeAnnotations);\n this._textEditChanges[textDocument.uri] = result;\n }\n return result;\n }\n else {\n this.initChanges();\n if (this._workspaceEdit.changes === undefined) {\n throw new Error('Workspace edit is not configured for normal text edit changes.');\n }\n let result = this._textEditChanges[key];\n if (!result) {\n let edits = [];\n this._workspaceEdit.changes[key] = edits;\n result = new TextEditChangeImpl(edits);\n this._textEditChanges[key] = result;\n }\n return result;\n }\n }\n initDocumentChanges() {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._changeAnnotations = new ChangeAnnotations();\n this._workspaceEdit.documentChanges = [];\n this._workspaceEdit.changeAnnotations = this._changeAnnotations.all();\n }\n }\n initChanges() {\n if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) {\n this._workspaceEdit.changes = Object.create(null);\n }\n }\n createFile(uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n let annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n let operation;\n let id;\n if (annotation === undefined) {\n operation = CreateFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = CreateFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n }\n renameFile(oldUri, newUri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n let annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n let operation;\n let id;\n if (annotation === undefined) {\n operation = RenameFile.create(oldUri, newUri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = RenameFile.create(oldUri, newUri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n }\n deleteFile(uri, optionsOrAnnotation, options) {\n this.initDocumentChanges();\n if (this._workspaceEdit.documentChanges === undefined) {\n throw new Error('Workspace edit is not configured for document changes.');\n }\n let annotation;\n if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) {\n annotation = optionsOrAnnotation;\n }\n else {\n options = optionsOrAnnotation;\n }\n let operation;\n let id;\n if (annotation === undefined) {\n operation = DeleteFile.create(uri, options);\n }\n else {\n id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation);\n operation = DeleteFile.create(uri, options, id);\n }\n this._workspaceEdit.documentChanges.push(operation);\n if (id !== undefined) {\n return id;\n }\n }\n}\n/**\n * The TextDocumentIdentifier namespace provides helper functions to work with\n * {@link TextDocumentIdentifier} literals.\n */\nexport var TextDocumentIdentifier;\n(function (TextDocumentIdentifier) {\n /**\n * Creates a new TextDocumentIdentifier literal.\n * @param uri The document's uri.\n */\n function create(uri) {\n return { uri };\n }\n TextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentIdentifier} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri);\n }\n TextDocumentIdentifier.is = is;\n})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\n/**\n * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link VersionedTextDocumentIdentifier} literals.\n */\nexport var VersionedTextDocumentIdentifier;\n(function (VersionedTextDocumentIdentifier) {\n /**\n * Creates a new VersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri, version };\n }\n VersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link VersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version);\n }\n VersionedTextDocumentIdentifier.is = is;\n})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\n/**\n * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with\n * {@link OptionalVersionedTextDocumentIdentifier} literals.\n */\nexport var OptionalVersionedTextDocumentIdentifier;\n(function (OptionalVersionedTextDocumentIdentifier) {\n /**\n * Creates a new OptionalVersionedTextDocumentIdentifier literal.\n * @param uri The document's uri.\n * @param version The document's version.\n */\n function create(uri, version) {\n return { uri, version };\n }\n OptionalVersionedTextDocumentIdentifier.create = create;\n /**\n * Checks whether the given literal conforms to the {@link OptionalVersionedTextDocumentIdentifier} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version));\n }\n OptionalVersionedTextDocumentIdentifier.is = is;\n})(OptionalVersionedTextDocumentIdentifier || (OptionalVersionedTextDocumentIdentifier = {}));\n/**\n * The TextDocumentItem namespace provides helper functions to work with\n * {@link TextDocumentItem} literals.\n */\nexport var TextDocumentItem;\n(function (TextDocumentItem) {\n /**\n * Creates a new TextDocumentItem literal.\n * @param uri The document's uri.\n * @param languageId The document's language identifier.\n * @param version The document's version number.\n * @param text The document's text.\n */\n function create(uri, languageId, version, text) {\n return { uri, languageId, version, text };\n }\n TextDocumentItem.create = create;\n /**\n * Checks whether the given literal conforms to the {@link TextDocumentItem} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text);\n }\n TextDocumentItem.is = is;\n})(TextDocumentItem || (TextDocumentItem = {}));\n/**\n * Describes the content type that a client supports in various\n * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\n *\n * Please note that `MarkupKinds` must not start with a `$`. This kinds\n * are reserved for internal usage.\n */\nexport var MarkupKind;\n(function (MarkupKind) {\n /**\n * Plain text is supported as a content format\n */\n MarkupKind.PlainText = 'plaintext';\n /**\n * Markdown is supported as a content format\n */\n MarkupKind.Markdown = 'markdown';\n /**\n * Checks whether the given value is a value of the {@link MarkupKind} type.\n */\n function is(value) {\n const candidate = value;\n return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\n }\n MarkupKind.is = is;\n})(MarkupKind || (MarkupKind = {}));\nexport var MarkupContent;\n(function (MarkupContent) {\n /**\n * Checks whether the given value conforms to the {@link MarkupContent} interface.\n */\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\n }\n MarkupContent.is = is;\n})(MarkupContent || (MarkupContent = {}));\n/**\n * The kind of a completion entry.\n */\nexport var CompletionItemKind;\n(function (CompletionItemKind) {\n CompletionItemKind.Text = 1;\n CompletionItemKind.Method = 2;\n CompletionItemKind.Function = 3;\n CompletionItemKind.Constructor = 4;\n CompletionItemKind.Field = 5;\n CompletionItemKind.Variable = 6;\n CompletionItemKind.Class = 7;\n CompletionItemKind.Interface = 8;\n CompletionItemKind.Module = 9;\n CompletionItemKind.Property = 10;\n CompletionItemKind.Unit = 11;\n CompletionItemKind.Value = 12;\n CompletionItemKind.Enum = 13;\n CompletionItemKind.Keyword = 14;\n CompletionItemKind.Snippet = 15;\n CompletionItemKind.Color = 16;\n CompletionItemKind.File = 17;\n CompletionItemKind.Reference = 18;\n CompletionItemKind.Folder = 19;\n CompletionItemKind.EnumMember = 20;\n CompletionItemKind.Constant = 21;\n CompletionItemKind.Struct = 22;\n CompletionItemKind.Event = 23;\n CompletionItemKind.Operator = 24;\n CompletionItemKind.TypeParameter = 25;\n})(CompletionItemKind || (CompletionItemKind = {}));\n/**\n * Defines whether the insert text in a completion item should be interpreted as\n * plain text or a snippet.\n */\nexport var InsertTextFormat;\n(function (InsertTextFormat) {\n /**\n * The primary text to be inserted is treated as a plain string.\n */\n InsertTextFormat.PlainText = 1;\n /**\n * The primary text to be inserted is treated as a snippet.\n *\n * A snippet can define tab stops and placeholders with `$1`, `$2`\n * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\n * the end of the snippet. Placeholders with equal identifiers are linked,\n * that is typing in one will update others too.\n *\n * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax\n */\n InsertTextFormat.Snippet = 2;\n})(InsertTextFormat || (InsertTextFormat = {}));\n/**\n * Completion item tags are extra annotations that tweak the rendering of a completion\n * item.\n *\n * @since 3.15.0\n */\nexport var CompletionItemTag;\n(function (CompletionItemTag) {\n /**\n * Render a completion as obsolete, usually using a strike-out.\n */\n CompletionItemTag.Deprecated = 1;\n})(CompletionItemTag || (CompletionItemTag = {}));\n/**\n * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits.\n *\n * @since 3.16.0\n */\nexport var InsertReplaceEdit;\n(function (InsertReplaceEdit) {\n /**\n * Creates a new insert / replace edit\n */\n function create(newText, insert, replace) {\n return { newText, insert, replace };\n }\n InsertReplaceEdit.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InsertReplaceEdit} interface.\n */\n function is(value) {\n const candidate = value;\n return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace);\n }\n InsertReplaceEdit.is = is;\n})(InsertReplaceEdit || (InsertReplaceEdit = {}));\n/**\n * How whitespace and indentation is handled during completion\n * item insertion.\n *\n * @since 3.16.0\n */\nexport var InsertTextMode;\n(function (InsertTextMode) {\n /**\n * The insertion or replace strings is taken as it is. If the\n * value is multi line the lines below the cursor will be\n * inserted using the indentation defined in the string value.\n * The client will not apply any kind of adjustments to the\n * string.\n */\n InsertTextMode.asIs = 1;\n /**\n * The editor adjusts leading whitespace of new lines so that\n * they match the indentation up to the cursor of the line for\n * which the item is accepted.\n *\n * Consider a line like this: <2tabs><cursor><3tabs>foo. Accepting a\n * multi line completion item is indented using 2 tabs and all\n * following lines inserted will be indented using 2 tabs as well.\n */\n InsertTextMode.adjustIndentation = 2;\n})(InsertTextMode || (InsertTextMode = {}));\nexport var CompletionItemLabelDetails;\n(function (CompletionItemLabelDetails) {\n function is(value) {\n const candidate = value;\n return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) &&\n (Is.string(candidate.description) || candidate.description === undefined);\n }\n CompletionItemLabelDetails.is = is;\n})(CompletionItemLabelDetails || (CompletionItemLabelDetails = {}));\n/**\n * The CompletionItem namespace provides functions to deal with\n * completion items.\n */\nexport var CompletionItem;\n(function (CompletionItem) {\n /**\n * Create a completion item and seed it with a label.\n * @param label The completion item's label\n */\n function create(label) {\n return { label };\n }\n CompletionItem.create = create;\n})(CompletionItem || (CompletionItem = {}));\n/**\n * The CompletionList namespace provides functions to deal with\n * completion lists.\n */\nexport var CompletionList;\n(function (CompletionList) {\n /**\n * Creates a new completion list.\n *\n * @param items The completion items.\n * @param isIncomplete The list is not complete.\n */\n function create(items, isIncomplete) {\n return { items: items ? items : [], isIncomplete: !!isIncomplete };\n }\n CompletionList.create = create;\n})(CompletionList || (CompletionList = {}));\nexport var MarkedString;\n(function (MarkedString) {\n /**\n * Creates a marked string from plain text.\n *\n * @param plainText The plain text.\n */\n function fromPlainText(plainText) {\n return plainText.replace(/[\\\\`*_{}[\\]()#+\\-.!]/g, '\\\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\n }\n MarkedString.fromPlainText = fromPlainText;\n /**\n * Checks whether the given value conforms to the {@link MarkedString} type.\n */\n function is(value) {\n const candidate = value;\n return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\n }\n MarkedString.is = is;\n})(MarkedString || (MarkedString = {}));\nexport var Hover;\n(function (Hover) {\n /**\n * Checks whether the given value conforms to the {@link Hover} interface.\n */\n function is(value) {\n let candidate = value;\n return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\n MarkedString.is(candidate.contents) ||\n Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range));\n }\n Hover.is = is;\n})(Hover || (Hover = {}));\n/**\n * The ParameterInformation namespace provides helper functions to work with\n * {@link ParameterInformation} literals.\n */\nexport var ParameterInformation;\n(function (ParameterInformation) {\n /**\n * Creates a new parameter information literal.\n *\n * @param label A label string.\n * @param documentation A doc string.\n */\n function create(label, documentation) {\n return documentation ? { label, documentation } : { label };\n }\n ParameterInformation.create = create;\n})(ParameterInformation || (ParameterInformation = {}));\n/**\n * The SignatureInformation namespace provides helper functions to work with\n * {@link SignatureInformation} literals.\n */\nexport var SignatureInformation;\n(function (SignatureInformation) {\n function create(label, documentation, ...parameters) {\n let result = { label };\n if (Is.defined(documentation)) {\n result.documentation = documentation;\n }\n if (Is.defined(parameters)) {\n result.parameters = parameters;\n }\n else {\n result.parameters = [];\n }\n return result;\n }\n SignatureInformation.create = create;\n})(SignatureInformation || (SignatureInformation = {}));\n/**\n * A document highlight kind.\n */\nexport var DocumentHighlightKind;\n(function (DocumentHighlightKind) {\n /**\n * A textual occurrence.\n */\n DocumentHighlightKind.Text = 1;\n /**\n * Read-access of a symbol, like reading a variable.\n */\n DocumentHighlightKind.Read = 2;\n /**\n * Write-access of a symbol, like writing to a variable.\n */\n DocumentHighlightKind.Write = 3;\n})(DocumentHighlightKind || (DocumentHighlightKind = {}));\n/**\n * DocumentHighlight namespace to provide helper functions to work with\n * {@link DocumentHighlight} literals.\n */\nexport var DocumentHighlight;\n(function (DocumentHighlight) {\n /**\n * Create a DocumentHighlight object.\n * @param range The range the highlight applies to.\n * @param kind The highlight kind\n */\n function create(range, kind) {\n let result = { range };\n if (Is.number(kind)) {\n result.kind = kind;\n }\n return result;\n }\n DocumentHighlight.create = create;\n})(DocumentHighlight || (DocumentHighlight = {}));\n/**\n * A symbol kind.\n */\nexport var SymbolKind;\n(function (SymbolKind) {\n SymbolKind.File = 1;\n SymbolKind.Module = 2;\n SymbolKind.Namespace = 3;\n SymbolKind.Package = 4;\n SymbolKind.Class = 5;\n SymbolKind.Method = 6;\n SymbolKind.Property = 7;\n SymbolKind.Field = 8;\n SymbolKind.Constructor = 9;\n SymbolKind.Enum = 10;\n SymbolKind.Interface = 11;\n SymbolKind.Function = 12;\n SymbolKind.Variable = 13;\n SymbolKind.Constant = 14;\n SymbolKind.String = 15;\n SymbolKind.Number = 16;\n SymbolKind.Boolean = 17;\n SymbolKind.Array = 18;\n SymbolKind.Object = 19;\n SymbolKind.Key = 20;\n SymbolKind.Null = 21;\n SymbolKind.EnumMember = 22;\n SymbolKind.Struct = 23;\n SymbolKind.Event = 24;\n SymbolKind.Operator = 25;\n SymbolKind.TypeParameter = 26;\n})(SymbolKind || (SymbolKind = {}));\n/**\n * Symbol tags are extra annotations that tweak the rendering of a symbol.\n *\n * @since 3.16\n */\nexport var SymbolTag;\n(function (SymbolTag) {\n /**\n * Render a symbol as obsolete, usually using a strike-out.\n */\n SymbolTag.Deprecated = 1;\n})(SymbolTag || (SymbolTag = {}));\nexport var SymbolInformation;\n(function (SymbolInformation) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the location of the symbol.\n * @param uri The resource of the location of symbol.\n * @param containerName The name of the symbol containing the symbol.\n */\n function create(name, kind, range, uri, containerName) {\n let result = {\n name,\n kind,\n location: { uri, range }\n };\n if (containerName) {\n result.containerName = containerName;\n }\n return result;\n }\n SymbolInformation.create = create;\n})(SymbolInformation || (SymbolInformation = {}));\nexport var WorkspaceSymbol;\n(function (WorkspaceSymbol) {\n /**\n * Create a new workspace symbol.\n *\n * @param name The name of the symbol.\n * @param kind The kind of the symbol.\n * @param uri The resource of the location of the symbol.\n * @param range An options range of the location.\n * @returns A WorkspaceSymbol.\n */\n function create(name, kind, uri, range) {\n return range !== undefined\n ? { name, kind, location: { uri, range } }\n : { name, kind, location: { uri } };\n }\n WorkspaceSymbol.create = create;\n})(WorkspaceSymbol || (WorkspaceSymbol = {}));\nexport var DocumentSymbol;\n(function (DocumentSymbol) {\n /**\n * Creates a new symbol information literal.\n *\n * @param name The name of the symbol.\n * @param detail The detail of the symbol.\n * @param kind The kind of the symbol.\n * @param range The range of the symbol.\n * @param selectionRange The selectionRange of the symbol.\n * @param children Children of the symbol.\n */\n function create(name, detail, kind, range, selectionRange, children) {\n let result = {\n name,\n detail,\n kind,\n range,\n selectionRange\n };\n if (children !== undefined) {\n result.children = children;\n }\n return result;\n }\n DocumentSymbol.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentSymbol} interface.\n */\n function is(value) {\n let candidate = value;\n return candidate &&\n Is.string(candidate.name) && Is.number(candidate.kind) &&\n Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\n (candidate.detail === undefined || Is.string(candidate.detail)) &&\n (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) &&\n (candidate.children === undefined || Array.isArray(candidate.children)) &&\n (candidate.tags === undefined || Array.isArray(candidate.tags));\n }\n DocumentSymbol.is = is;\n})(DocumentSymbol || (DocumentSymbol = {}));\n/**\n * A set of predefined code action kinds\n */\nexport var CodeActionKind;\n(function (CodeActionKind) {\n /**\n * Empty kind.\n */\n CodeActionKind.Empty = '';\n /**\n * Base kind for quickfix actions: 'quickfix'\n */\n CodeActionKind.QuickFix = 'quickfix';\n /**\n * Base kind for refactoring actions: 'refactor'\n */\n CodeActionKind.Refactor = 'refactor';\n /**\n * Base kind for refactoring extraction actions: 'refactor.extract'\n *\n * Example extract actions:\n *\n * - Extract method\n * - Extract function\n * - Extract variable\n * - Extract interface from class\n * - ...\n */\n CodeActionKind.RefactorExtract = 'refactor.extract';\n /**\n * Base kind for refactoring inline actions: 'refactor.inline'\n *\n * Example inline actions:\n *\n * - Inline function\n * - Inline variable\n * - Inline constant\n * - ...\n */\n CodeActionKind.RefactorInline = 'refactor.inline';\n /**\n * Base kind for refactoring rewrite actions: 'refactor.rewrite'\n *\n * Example rewrite actions:\n *\n * - Convert JavaScript function to class\n * - Add or remove parameter\n * - Encapsulate field\n * - Make method static\n * - Move method to base class\n * - ...\n */\n CodeActionKind.RefactorRewrite = 'refactor.rewrite';\n /**\n * Base kind for source actions: `source`\n *\n * Source code actions apply to the entire file.\n */\n CodeActionKind.Source = 'source';\n /**\n * Base kind for an organize imports source action: `source.organizeImports`\n */\n CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\n /**\n * Base kind for auto-fix source actions: `source.fixAll`.\n *\n * Fix all actions automatically fix errors that have a clear fix that do not require user input.\n * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\n *\n * @since 3.15.0\n */\n CodeActionKind.SourceFixAll = 'source.fixAll';\n})(CodeActionKind || (CodeActionKind = {}));\n/**\n * The reason why code actions were requested.\n *\n * @since 3.17.0\n */\nexport var CodeActionTriggerKind;\n(function (CodeActionTriggerKind) {\n /**\n * Code actions were explicitly requested by the user or by an extension.\n */\n CodeActionTriggerKind.Invoked = 1;\n /**\n * Code actions were requested automatically.\n *\n * This typically happens when current selection in a file changes, but can\n * also be triggered when file content changes.\n */\n CodeActionTriggerKind.Automatic = 2;\n})(CodeActionTriggerKind || (CodeActionTriggerKind = {}));\n/**\n * The CodeActionContext namespace provides helper functions to work with\n * {@link CodeActionContext} literals.\n */\nexport var CodeActionContext;\n(function (CodeActionContext) {\n /**\n * Creates a new CodeActionContext literal.\n */\n function create(diagnostics, only, triggerKind) {\n let result = { diagnostics };\n if (only !== undefined && only !== null) {\n result.only = only;\n }\n if (triggerKind !== undefined && triggerKind !== null) {\n result.triggerKind = triggerKind;\n }\n return result;\n }\n CodeActionContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeActionContext} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is)\n && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string))\n && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic);\n }\n CodeActionContext.is = is;\n})(CodeActionContext || (CodeActionContext = {}));\nexport var CodeAction;\n(function (CodeAction) {\n function create(title, kindOrCommandOrEdit, kind) {\n let result = { title };\n let checkKind = true;\n if (typeof kindOrCommandOrEdit === 'string') {\n checkKind = false;\n result.kind = kindOrCommandOrEdit;\n }\n else if (Command.is(kindOrCommandOrEdit)) {\n result.command = kindOrCommandOrEdit;\n }\n else {\n result.edit = kindOrCommandOrEdit;\n }\n if (checkKind && kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n CodeAction.create = create;\n function is(value) {\n let candidate = value;\n return candidate && Is.string(candidate.title) &&\n (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\n (candidate.kind === undefined || Is.string(candidate.kind)) &&\n (candidate.edit !== undefined || candidate.command !== undefined) &&\n (candidate.command === undefined || Command.is(candidate.command)) &&\n (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) &&\n (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit));\n }\n CodeAction.is = is;\n})(CodeAction || (CodeAction = {}));\n/**\n * The CodeLens namespace provides helper functions to work with\n * {@link CodeLens} literals.\n */\nexport var CodeLens;\n(function (CodeLens) {\n /**\n * Creates a new CodeLens literal.\n */\n function create(range, data) {\n let result = { range };\n if (Is.defined(data)) {\n result.data = data;\n }\n return result;\n }\n CodeLens.create = create;\n /**\n * Checks whether the given literal conforms to the {@link CodeLens} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\n }\n CodeLens.is = is;\n})(CodeLens || (CodeLens = {}));\n/**\n * The FormattingOptions namespace provides helper functions to work with\n * {@link FormattingOptions} literals.\n */\nexport var FormattingOptions;\n(function (FormattingOptions) {\n /**\n * Creates a new FormattingOptions literal.\n */\n function create(tabSize, insertSpaces) {\n return { tabSize, insertSpaces };\n }\n FormattingOptions.create = create;\n /**\n * Checks whether the given literal conforms to the {@link FormattingOptions} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\n }\n FormattingOptions.is = is;\n})(FormattingOptions || (FormattingOptions = {}));\n/**\n * The DocumentLink namespace provides helper functions to work with\n * {@link DocumentLink} literals.\n */\nexport var DocumentLink;\n(function (DocumentLink) {\n /**\n * Creates a new DocumentLink literal.\n */\n function create(range, target, data) {\n return { range, target, data };\n }\n DocumentLink.create = create;\n /**\n * Checks whether the given literal conforms to the {@link DocumentLink} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\n }\n DocumentLink.is = is;\n})(DocumentLink || (DocumentLink = {}));\n/**\n * The SelectionRange namespace provides helper function to work with\n * SelectionRange literals.\n */\nexport var SelectionRange;\n(function (SelectionRange) {\n /**\n * Creates a new SelectionRange\n * @param range the range.\n * @param parent an optional parent.\n */\n function create(range, parent) {\n return { range, parent };\n }\n SelectionRange.create = create;\n function is(value) {\n let candidate = value;\n return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\n }\n SelectionRange.is = is;\n})(SelectionRange || (SelectionRange = {}));\n/**\n * A set of predefined token types. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\nexport var SemanticTokenTypes;\n(function (SemanticTokenTypes) {\n SemanticTokenTypes[\"namespace\"] = \"namespace\";\n /**\n * Represents a generic type. Acts as a fallback for types which can't be mapped to\n * a specific type like class or enum.\n */\n SemanticTokenTypes[\"type\"] = \"type\";\n SemanticTokenTypes[\"class\"] = \"class\";\n SemanticTokenTypes[\"enum\"] = \"enum\";\n SemanticTokenTypes[\"interface\"] = \"interface\";\n SemanticTokenTypes[\"struct\"] = \"struct\";\n SemanticTokenTypes[\"typeParameter\"] = \"typeParameter\";\n SemanticTokenTypes[\"parameter\"] = \"parameter\";\n SemanticTokenTypes[\"variable\"] = \"variable\";\n SemanticTokenTypes[\"property\"] = \"property\";\n SemanticTokenTypes[\"enumMember\"] = \"enumMember\";\n SemanticTokenTypes[\"event\"] = \"event\";\n SemanticTokenTypes[\"function\"] = \"function\";\n SemanticTokenTypes[\"method\"] = \"method\";\n SemanticTokenTypes[\"macro\"] = \"macro\";\n SemanticTokenTypes[\"keyword\"] = \"keyword\";\n SemanticTokenTypes[\"modifier\"] = \"modifier\";\n SemanticTokenTypes[\"comment\"] = \"comment\";\n SemanticTokenTypes[\"string\"] = \"string\";\n SemanticTokenTypes[\"number\"] = \"number\";\n SemanticTokenTypes[\"regexp\"] = \"regexp\";\n SemanticTokenTypes[\"operator\"] = \"operator\";\n /**\n * @since 3.17.0\n */\n SemanticTokenTypes[\"decorator\"] = \"decorator\";\n})(SemanticTokenTypes || (SemanticTokenTypes = {}));\n/**\n * A set of predefined token modifiers. This set is not fixed\n * an clients can specify additional token types via the\n * corresponding client capabilities.\n *\n * @since 3.16.0\n */\nexport var SemanticTokenModifiers;\n(function (SemanticTokenModifiers) {\n SemanticTokenModifiers[\"declaration\"] = \"declaration\";\n SemanticTokenModifiers[\"definition\"] = \"definition\";\n SemanticTokenModifiers[\"readonly\"] = \"readonly\";\n SemanticTokenModifiers[\"static\"] = \"static\";\n SemanticTokenModifiers[\"deprecated\"] = \"deprecated\";\n SemanticTokenModifiers[\"abstract\"] = \"abstract\";\n SemanticTokenModifiers[\"async\"] = \"async\";\n SemanticTokenModifiers[\"modification\"] = \"modification\";\n SemanticTokenModifiers[\"documentation\"] = \"documentation\";\n SemanticTokenModifiers[\"defaultLibrary\"] = \"defaultLibrary\";\n})(SemanticTokenModifiers || (SemanticTokenModifiers = {}));\n/**\n * @since 3.16.0\n */\nexport var SemanticTokens;\n(function (SemanticTokens) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\n Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\n }\n SemanticTokens.is = is;\n})(SemanticTokens || (SemanticTokens = {}));\n/**\n * The InlineValueText namespace provides functions to deal with InlineValueTexts.\n *\n * @since 3.17.0\n */\nexport var InlineValueText;\n(function (InlineValueText) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, text) {\n return { range, text };\n }\n InlineValueText.create = create;\n function is(value) {\n const candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text);\n }\n InlineValueText.is = is;\n})(InlineValueText || (InlineValueText = {}));\n/**\n * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups.\n *\n * @since 3.17.0\n */\nexport var InlineValueVariableLookup;\n(function (InlineValueVariableLookup) {\n /**\n * Creates a new InlineValueText literal.\n */\n function create(range, variableName, caseSensitiveLookup) {\n return { range, variableName, caseSensitiveLookup };\n }\n InlineValueVariableLookup.create = create;\n function is(value) {\n const candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup)\n && (Is.string(candidate.variableName) || candidate.variableName === undefined);\n }\n InlineValueVariableLookup.is = is;\n})(InlineValueVariableLookup || (InlineValueVariableLookup = {}));\n/**\n * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression.\n *\n * @since 3.17.0\n */\nexport var InlineValueEvaluatableExpression;\n(function (InlineValueEvaluatableExpression) {\n /**\n * Creates a new InlineValueEvaluatableExpression literal.\n */\n function create(range, expression) {\n return { range, expression };\n }\n InlineValueEvaluatableExpression.create = create;\n function is(value) {\n const candidate = value;\n return candidate !== undefined && candidate !== null && Range.is(candidate.range)\n && (Is.string(candidate.expression) || candidate.expression === undefined);\n }\n InlineValueEvaluatableExpression.is = is;\n})(InlineValueEvaluatableExpression || (InlineValueEvaluatableExpression = {}));\n/**\n * The InlineValueContext namespace provides helper functions to work with\n * {@link InlineValueContext} literals.\n *\n * @since 3.17.0\n */\nexport var InlineValueContext;\n(function (InlineValueContext) {\n /**\n * Creates a new InlineValueContext literal.\n */\n function create(frameId, stoppedLocation) {\n return { frameId, stoppedLocation };\n }\n InlineValueContext.create = create;\n /**\n * Checks whether the given literal conforms to the {@link InlineValueContext} interface.\n */\n function is(value) {\n const candidate = value;\n return Is.defined(candidate) && Range.is(value.stoppedLocation);\n }\n InlineValueContext.is = is;\n})(InlineValueContext || (InlineValueContext = {}));\n/**\n * Inlay hint kinds.\n *\n * @since 3.17.0\n */\nexport var InlayHintKind;\n(function (InlayHintKind) {\n /**\n * An inlay hint that for a type annotation.\n */\n InlayHintKind.Type = 1;\n /**\n * An inlay hint that is for a parameter.\n */\n InlayHintKind.Parameter = 2;\n function is(value) {\n return value === 1 || value === 2;\n }\n InlayHintKind.is = is;\n})(InlayHintKind || (InlayHintKind = {}));\nexport var InlayHintLabelPart;\n(function (InlayHintLabelPart) {\n function create(value) {\n return { value };\n }\n InlayHintLabelPart.create = create;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.location === undefined || Location.is(candidate.location))\n && (candidate.command === undefined || Command.is(candidate.command));\n }\n InlayHintLabelPart.is = is;\n})(InlayHintLabelPart || (InlayHintLabelPart = {}));\nexport var InlayHint;\n(function (InlayHint) {\n function create(position, label, kind) {\n const result = { position, label };\n if (kind !== undefined) {\n result.kind = kind;\n }\n return result;\n }\n InlayHint.create = create;\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && Position.is(candidate.position)\n && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is))\n && (candidate.kind === undefined || InlayHintKind.is(candidate.kind))\n && (candidate.textEdits === undefined) || Is.typedArray(candidate.textEdits, TextEdit.is)\n && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip))\n && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft))\n && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight));\n }\n InlayHint.is = is;\n})(InlayHint || (InlayHint = {}));\nexport var StringValue;\n(function (StringValue) {\n function createSnippet(value) {\n return { kind: 'snippet', value };\n }\n StringValue.createSnippet = createSnippet;\n})(StringValue || (StringValue = {}));\nexport var InlineCompletionItem;\n(function (InlineCompletionItem) {\n function create(insertText, filterText, range, command) {\n return { insertText, filterText, range, command };\n }\n InlineCompletionItem.create = create;\n})(InlineCompletionItem || (InlineCompletionItem = {}));\nexport var InlineCompletionList;\n(function (InlineCompletionList) {\n function create(items) {\n return { items };\n }\n InlineCompletionList.create = create;\n})(InlineCompletionList || (InlineCompletionList = {}));\n/**\n * Describes how an {@link InlineCompletionItemProvider inline completion provider} was triggered.\n *\n * @since 3.18.0\n * @proposed\n */\nexport var InlineCompletionTriggerKind;\n(function (InlineCompletionTriggerKind) {\n /**\n * Completion was triggered explicitly by a user gesture.\n */\n InlineCompletionTriggerKind.Invoked = 0;\n /**\n * Completion was triggered automatically while editing.\n */\n InlineCompletionTriggerKind.Automatic = 1;\n})(InlineCompletionTriggerKind || (InlineCompletionTriggerKind = {}));\nexport var SelectedCompletionInfo;\n(function (SelectedCompletionInfo) {\n function create(range, text) {\n return { range, text };\n }\n SelectedCompletionInfo.create = create;\n})(SelectedCompletionInfo || (SelectedCompletionInfo = {}));\nexport var InlineCompletionContext;\n(function (InlineCompletionContext) {\n function create(triggerKind, selectedCompletionInfo) {\n return { triggerKind, selectedCompletionInfo };\n }\n InlineCompletionContext.create = create;\n})(InlineCompletionContext || (InlineCompletionContext = {}));\nexport var WorkspaceFolder;\n(function (WorkspaceFolder) {\n function is(value) {\n const candidate = value;\n return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name);\n }\n WorkspaceFolder.is = is;\n})(WorkspaceFolder || (WorkspaceFolder = {}));\nexport const EOL = ['\\n', '\\r\\n', '\\r'];\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new ITextDocument literal from the given uri and content.\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's version.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Checks whether the given literal conforms to the {@link ITextDocument} interface.\n */\n function is(value) {\n let candidate = value;\n return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount)\n && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\n }\n TextDocument.is = is;\n function applyEdits(document, edits) {\n let text = document.getText();\n let sortedEdits = mergeSort(edits, (a, b) => {\n let diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n let lastModifiedOffset = text.length;\n for (let i = sortedEdits.length - 1; i >= 0; i--) {\n let e = sortedEdits[i];\n let startOffset = document.offsetAt(e.range.start);\n let endOffset = document.offsetAt(e.range.end);\n if (endOffset <= lastModifiedOffset) {\n text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\n }\n else {\n throw new Error('Overlapping edit');\n }\n lastModifiedOffset = startOffset;\n }\n return text;\n }\n TextDocument.applyEdits = applyEdits;\n function mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n const p = (data.length / 2) | 0;\n const left = data.slice(0, p);\n const right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n let leftIdx = 0;\n let rightIdx = 0;\n let i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n let ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n }\n})(TextDocument || (TextDocument = {}));\n/**\n * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\n */\nclass FullTextDocument {\n constructor(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n get uri() {\n return this._uri;\n }\n get languageId() {\n return this._languageId;\n }\n get version() {\n return this._version;\n }\n getText(range) {\n if (range) {\n let start = this.offsetAt(range.start);\n let end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n }\n update(event, version) {\n this._content = event.text;\n this._version = version;\n this._lineOffsets = undefined;\n }\n getLineOffsets() {\n if (this._lineOffsets === undefined) {\n let lineOffsets = [];\n let text = this._content;\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n let ch = text.charAt(i);\n isLineStart = (ch === '\\r' || ch === '\\n');\n if (ch === '\\r' && i + 1 < text.length && text.charAt(i + 1) === '\\n') {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n this._lineOffsets = lineOffsets;\n }\n return this._lineOffsets;\n }\n positionAt(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n let lineOffsets = this.getLineOffsets();\n let low = 0, high = lineOffsets.length;\n if (high === 0) {\n return Position.create(0, offset);\n }\n while (low < high) {\n let mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n let line = low - 1;\n return Position.create(line, offset - lineOffsets[line]);\n }\n offsetAt(position) {\n let lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n let lineOffset = lineOffsets[position.line];\n let nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\n }\n get lineCount() {\n return this.getLineOffsets().length;\n }\n}\nvar Is;\n(function (Is) {\n const toString = Object.prototype.toString;\n function defined(value) {\n return typeof value !== 'undefined';\n }\n Is.defined = defined;\n function undefined(value) {\n return typeof value === 'undefined';\n }\n Is.undefined = undefined;\n function boolean(value) {\n return value === true || value === false;\n }\n Is.boolean = boolean;\n function string(value) {\n return toString.call(value) === '[object String]';\n }\n Is.string = string;\n function number(value) {\n return toString.call(value) === '[object Number]';\n }\n Is.number = number;\n function numberRange(value, min, max) {\n return toString.call(value) === '[object Number]' && min <= value && value <= max;\n }\n Is.numberRange = numberRange;\n function integer(value) {\n return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647;\n }\n Is.integer = integer;\n function uinteger(value) {\n return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647;\n }\n Is.uinteger = uinteger;\n function func(value) {\n return toString.call(value) === '[object Function]';\n }\n Is.func = func;\n function objectLiteral(value) {\n // Strictly speaking class instances pass this check as well. Since the LSP\n // doesn't use classes we ignore this for now. If we do we need to add something\n // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\n return value !== null && typeof value === 'object';\n }\n Is.objectLiteral = objectLiteral;\n function typedArray(value, check) {\n return Array.isArray(value) && value.every(check);\n }\n Is.typedArray = typedArray;\n})(Is || (Is = {}));\n", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Position } from 'vscode-languageserver-types';\nimport { tokenToRange } from '../utils/cst-utils.js';\nexport class CstNodeBuilder {\n constructor() {\n this.nodeStack = [];\n }\n get current() {\n var _a;\n return (_a = this.nodeStack[this.nodeStack.length - 1]) !== null && _a !== void 0 ? _a : this.rootNode;\n }\n buildRootNode(input) {\n this.rootNode = new RootCstNodeImpl(input);\n this.rootNode.root = this.rootNode;\n this.nodeStack = [this.rootNode];\n return this.rootNode;\n }\n buildCompositeNode(feature) {\n const compositeNode = new CompositeCstNodeImpl();\n compositeNode.grammarSource = feature;\n compositeNode.root = this.rootNode;\n this.current.content.push(compositeNode);\n this.nodeStack.push(compositeNode);\n return compositeNode;\n }\n buildLeafNode(token, feature) {\n const leafNode = new LeafCstNodeImpl(token.startOffset, token.image.length, tokenToRange(token), token.tokenType, !feature);\n leafNode.grammarSource = feature;\n leafNode.root = this.rootNode;\n this.current.content.push(leafNode);\n return leafNode;\n }\n removeNode(node) {\n const parent = node.container;\n if (parent) {\n const index = parent.content.indexOf(node);\n if (index >= 0) {\n parent.content.splice(index, 1);\n }\n }\n }\n addHiddenNodes(tokens) {\n const nodes = [];\n for (const token of tokens) {\n const leafNode = new LeafCstNodeImpl(token.startOffset, token.image.length, tokenToRange(token), token.tokenType, true);\n leafNode.root = this.rootNode;\n nodes.push(leafNode);\n }\n let current = this.current;\n let added = false;\n // If we are within a composite node, we add the hidden nodes to the content\n if (current.content.length > 0) {\n current.content.push(...nodes);\n return;\n }\n // Otherwise we are at a newly created node\n // Instead of adding the hidden nodes here, we search for the first parent node with content\n while (current.container) {\n const index = current.container.content.indexOf(current);\n if (index > 0) {\n // Add the hidden nodes before the current node\n current.container.content.splice(index, 0, ...nodes);\n added = true;\n break;\n }\n current = current.container;\n }\n // If we arrive at the root node, we add the hidden nodes at the beginning\n // This is the case if the hidden nodes are the first nodes in the tree\n if (!added) {\n this.rootNode.content.unshift(...nodes);\n }\n }\n construct(item) {\n const current = this.current;\n // The specified item could be a datatype ($type is symbol) or a fragment ($type is undefined)\n // Only if the $type is a string, we actually assign the element\n if (typeof item.$type === 'string') {\n this.current.astNode = item;\n }\n item.$cstNode = current;\n const node = this.nodeStack.pop();\n // Empty composite nodes are not valid\n // Simply remove the node from the tree\n if ((node === null || node === void 0 ? void 0 : node.content.length) === 0) {\n this.removeNode(node);\n }\n }\n}\nexport class AbstractCstNode {\n /** @deprecated use `container` instead. */\n get parent() {\n return this.container;\n }\n /** @deprecated use `grammarSource` instead. */\n get feature() {\n return this.grammarSource;\n }\n get hidden() {\n return false;\n }\n get astNode() {\n var _a, _b;\n const node = typeof ((_a = this._astNode) === null || _a === void 0 ? void 0 : _a.$type) === 'string' ? this._astNode : (_b = this.container) === null || _b === void 0 ? void 0 : _b.astNode;\n if (!node) {\n throw new Error('This node has no associated AST element');\n }\n return node;\n }\n set astNode(value) {\n this._astNode = value;\n }\n /** @deprecated use `astNode` instead. */\n get element() {\n return this.astNode;\n }\n get text() {\n return this.root.fullText.substring(this.offset, this.end);\n }\n}\nexport class LeafCstNodeImpl extends AbstractCstNode {\n get offset() {\n return this._offset;\n }\n get length() {\n return this._length;\n }\n get end() {\n return this._offset + this._length;\n }\n get hidden() {\n return this._hidden;\n }\n get tokenType() {\n return this._tokenType;\n }\n get range() {\n return this._range;\n }\n constructor(offset, length, range, tokenType, hidden = false) {\n super();\n this._hidden = hidden;\n this._offset = offset;\n this._tokenType = tokenType;\n this._length = length;\n this._range = range;\n }\n}\nexport class CompositeCstNodeImpl extends AbstractCstNode {\n constructor() {\n super(...arguments);\n this.content = new CstNodeContainer(this);\n }\n /** @deprecated use `content` instead. */\n get children() {\n return this.content;\n }\n get offset() {\n var _a, _b;\n return (_b = (_a = this.firstNonHiddenNode) === null || _a === void 0 ? void 0 : _a.offset) !== null && _b !== void 0 ? _b : 0;\n }\n get length() {\n return this.end - this.offset;\n }\n get end() {\n var _a, _b;\n return (_b = (_a = this.lastNonHiddenNode) === null || _a === void 0 ? void 0 : _a.end) !== null && _b !== void 0 ? _b : 0;\n }\n get range() {\n const firstNode = this.firstNonHiddenNode;\n const lastNode = this.lastNonHiddenNode;\n if (firstNode && lastNode) {\n if (this._rangeCache === undefined) {\n const { range: firstRange } = firstNode;\n const { range: lastRange } = lastNode;\n this._rangeCache = { start: firstRange.start, end: lastRange.end.line < firstRange.start.line ? firstRange.start : lastRange.end };\n }\n return this._rangeCache;\n }\n else {\n return { start: Position.create(0, 0), end: Position.create(0, 0) };\n }\n }\n get firstNonHiddenNode() {\n for (const child of this.content) {\n if (!child.hidden) {\n return child;\n }\n }\n return this.content[0];\n }\n get lastNonHiddenNode() {\n for (let i = this.content.length - 1; i >= 0; i--) {\n const child = this.content[i];\n if (!child.hidden) {\n return child;\n }\n }\n return this.content[this.content.length - 1];\n }\n}\nclass CstNodeContainer extends Array {\n constructor(parent) {\n super();\n this.parent = parent;\n Object.setPrototypeOf(this, CstNodeContainer.prototype);\n }\n push(...items) {\n this.addParents(items);\n return super.push(...items);\n }\n unshift(...items) {\n this.addParents(items);\n return super.unshift(...items);\n }\n splice(start, count, ...items) {\n this.addParents(items);\n return super.splice(start, count, ...items);\n }\n addParents(items) {\n for (const item of items) {\n item.container = this.parent;\n }\n }\n}\nexport class RootCstNodeImpl extends CompositeCstNodeImpl {\n get text() {\n return this._text.substring(this.offset, this.end);\n }\n get fullText() {\n return this._text;\n }\n constructor(input) {\n super();\n this._text = '';\n this._text = input !== null && input !== void 0 ? input : '';\n }\n}\n//# sourceMappingURL=cst-node-builder.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { defaultParserErrorProvider, EmbeddedActionsParser, LLkLookaheadStrategy } from 'chevrotain';\nimport { LLStarLookaheadStrategy } from 'chevrotain-allstar';\nimport { isAssignment, isCrossReference, isKeyword } from '../languages/generated/ast.js';\nimport { getExplicitRuleType, isDataTypeRule } from '../utils/grammar-utils.js';\nimport { assignMandatoryProperties, getContainerOfType, linkContentToContainer } from '../utils/ast-utils.js';\nimport { CstNodeBuilder } from './cst-node-builder.js';\nexport const DatatypeSymbol = Symbol('Datatype');\nfunction isDataTypeNode(node) {\n return node.$type === DatatypeSymbol;\n}\nconst ruleSuffix = '\\u200B';\nconst withRuleSuffix = (name) => name.endsWith(ruleSuffix) ? name : name + ruleSuffix;\nexport class AbstractLangiumParser {\n constructor(services) {\n this._unorderedGroups = new Map();\n this.allRules = new Map();\n this.lexer = services.parser.Lexer;\n const tokens = this.lexer.definition;\n const production = services.LanguageMetaData.mode === 'production';\n this.wrapper = new ChevrotainWrapper(tokens, Object.assign(Object.assign({}, services.parser.ParserConfig), { skipValidations: production, errorMessageProvider: services.parser.ParserErrorMessageProvider }));\n }\n alternatives(idx, choices) {\n this.wrapper.wrapOr(idx, choices);\n }\n optional(idx, callback) {\n this.wrapper.wrapOption(idx, callback);\n }\n many(idx, callback) {\n this.wrapper.wrapMany(idx, callback);\n }\n atLeastOne(idx, callback) {\n this.wrapper.wrapAtLeastOne(idx, callback);\n }\n getRule(name) {\n return this.allRules.get(name);\n }\n isRecording() {\n return this.wrapper.IS_RECORDING;\n }\n get unorderedGroups() {\n return this._unorderedGroups;\n }\n getRuleStack() {\n return this.wrapper.RULE_STACK;\n }\n finalize() {\n this.wrapper.wrapSelfAnalysis();\n }\n}\nexport class LangiumParser extends AbstractLangiumParser {\n get current() {\n return this.stack[this.stack.length - 1];\n }\n constructor(services) {\n super(services);\n this.nodeBuilder = new CstNodeBuilder();\n this.stack = [];\n this.assignmentMap = new Map();\n this.linker = services.references.Linker;\n this.converter = services.parser.ValueConverter;\n this.astReflection = services.shared.AstReflection;\n }\n rule(rule, impl) {\n const type = this.computeRuleType(rule);\n const ruleMethod = this.wrapper.DEFINE_RULE(withRuleSuffix(rule.name), this.startImplementation(type, impl).bind(this));\n this.allRules.set(rule.name, ruleMethod);\n if (rule.entry) {\n this.mainRule = ruleMethod;\n }\n return ruleMethod;\n }\n computeRuleType(rule) {\n if (rule.fragment) {\n return undefined;\n }\n else if (isDataTypeRule(rule)) {\n return DatatypeSymbol;\n }\n else {\n const explicit = getExplicitRuleType(rule);\n return explicit !== null && explicit !== void 0 ? explicit : rule.name;\n }\n }\n parse(input, options = {}) {\n this.nodeBuilder.buildRootNode(input);\n const lexerResult = this.lexerResult = this.lexer.tokenize(input);\n this.wrapper.input = lexerResult.tokens;\n const ruleMethod = options.rule ? this.allRules.get(options.rule) : this.mainRule;\n if (!ruleMethod) {\n throw new Error(options.rule ? `No rule found with name '${options.rule}'` : 'No main rule available.');\n }\n const result = ruleMethod.call(this.wrapper, {});\n this.nodeBuilder.addHiddenNodes(lexerResult.hidden);\n this.unorderedGroups.clear();\n this.lexerResult = undefined;\n return {\n value: result,\n lexerErrors: lexerResult.errors,\n lexerReport: lexerResult.report,\n parserErrors: this.wrapper.errors\n };\n }\n startImplementation($type, implementation) {\n return (args) => {\n // Only create a new AST node in case the calling rule is not a fragment rule\n const createNode = !this.isRecording() && $type !== undefined;\n if (createNode) {\n const node = { $type };\n this.stack.push(node);\n if ($type === DatatypeSymbol) {\n node.value = '';\n }\n }\n let result;\n try {\n result = implementation(args);\n }\n catch (err) {\n result = undefined;\n }\n if (result === undefined && createNode) {\n result = this.construct();\n }\n return result;\n };\n }\n extractHiddenTokens(token) {\n const hiddenTokens = this.lexerResult.hidden;\n if (!hiddenTokens.length) {\n return [];\n }\n const offset = token.startOffset;\n for (let i = 0; i < hiddenTokens.length; i++) {\n const token = hiddenTokens[i];\n if (token.startOffset > offset) {\n return hiddenTokens.splice(0, i);\n }\n }\n return hiddenTokens.splice(0, hiddenTokens.length);\n }\n consume(idx, tokenType, feature) {\n const token = this.wrapper.wrapConsume(idx, tokenType);\n if (!this.isRecording() && this.isValidToken(token)) {\n const hiddenTokens = this.extractHiddenTokens(token);\n this.nodeBuilder.addHiddenNodes(hiddenTokens);\n const leafNode = this.nodeBuilder.buildLeafNode(token, feature);\n const { assignment, isCrossRef } = this.getAssignment(feature);\n const current = this.current;\n if (assignment) {\n const convertedValue = isKeyword(feature) ? token.image : this.converter.convert(token.image, leafNode);\n this.assign(assignment.operator, assignment.feature, convertedValue, leafNode, isCrossRef);\n }\n else if (isDataTypeNode(current)) {\n let text = token.image;\n if (!isKeyword(feature)) {\n text = this.converter.convert(text, leafNode).toString();\n }\n current.value += text;\n }\n }\n }\n /**\n * Most consumed parser tokens are valid. However there are two cases in which they are not valid:\n *\n * 1. They were inserted during error recovery by the parser. These tokens don't really exist and should not be further processed\n * 2. They contain invalid token ranges. This might include the special EOF token, or other tokens produced by invalid token builders.\n */\n isValidToken(token) {\n return !token.isInsertedInRecovery && !isNaN(token.startOffset) && typeof token.endOffset === 'number' && !isNaN(token.endOffset);\n }\n subrule(idx, rule, fragment, feature, args) {\n let cstNode;\n if (!this.isRecording() && !fragment) {\n // We only want to create a new CST node if the subrule actually creates a new AST node.\n // In other cases like calls of fragment rules the current CST/AST is populated further.\n // Note that skipping this initialization and leaving cstNode unassigned also skips the subrule assignment later on.\n // This is intended, as fragment rules only enrich the current AST node\n cstNode = this.nodeBuilder.buildCompositeNode(feature);\n }\n const subruleResult = this.wrapper.wrapSubrule(idx, rule, args);\n if (!this.isRecording() && cstNode && cstNode.length > 0) {\n this.performSubruleAssignment(subruleResult, feature, cstNode);\n }\n }\n performSubruleAssignment(result, feature, cstNode) {\n const { assignment, isCrossRef } = this.getAssignment(feature);\n if (assignment) {\n this.assign(assignment.operator, assignment.feature, result, cstNode, isCrossRef);\n }\n else if (!assignment) {\n // If we call a subrule without an assignment we either:\n // 1. append the result of the subrule (data type rule)\n // 2. override the current object with the newly parsed object\n // If the current element is an AST node and the result of the subrule\n // is a data type rule, we can safely discard the results.\n const current = this.current;\n if (isDataTypeNode(current)) {\n current.value += result.toString();\n }\n else if (typeof result === 'object' && result) {\n const object = this.assignWithoutOverride(result, current);\n const newItem = object;\n this.stack.pop();\n this.stack.push(newItem);\n }\n }\n }\n action($type, action) {\n if (!this.isRecording()) {\n let last = this.current;\n if (action.feature && action.operator) {\n last = this.construct();\n this.nodeBuilder.removeNode(last.$cstNode);\n const node = this.nodeBuilder.buildCompositeNode(action);\n node.content.push(last.$cstNode);\n const newItem = { $type };\n this.stack.push(newItem);\n this.assign(action.operator, action.feature, last, last.$cstNode, false);\n }\n else {\n last.$type = $type;\n }\n }\n }\n construct() {\n if (this.isRecording()) {\n return undefined;\n }\n const obj = this.current;\n linkContentToContainer(obj);\n this.nodeBuilder.construct(obj);\n this.stack.pop();\n if (isDataTypeNode(obj)) {\n return this.converter.convert(obj.value, obj.$cstNode);\n }\n else {\n assignMandatoryProperties(this.astReflection, obj);\n }\n return obj;\n }\n getAssignment(feature) {\n if (!this.assignmentMap.has(feature)) {\n const assignment = getContainerOfType(feature, isAssignment);\n this.assignmentMap.set(feature, {\n assignment: assignment,\n isCrossRef: assignment ? isCrossReference(assignment.terminal) : false\n });\n }\n return this.assignmentMap.get(feature);\n }\n assign(operator, feature, value, cstNode, isCrossRef) {\n const obj = this.current;\n let item;\n if (isCrossRef && typeof value === 'string') {\n item = this.linker.buildReference(obj, feature, cstNode, value);\n }\n else {\n item = value;\n }\n switch (operator) {\n case '=': {\n obj[feature] = item;\n break;\n }\n case '?=': {\n obj[feature] = true;\n break;\n }\n case '+=': {\n if (!Array.isArray(obj[feature])) {\n obj[feature] = [];\n }\n obj[feature].push(item);\n }\n }\n }\n assignWithoutOverride(target, source) {\n for (const [name, existingValue] of Object.entries(source)) {\n const newValue = target[name];\n if (newValue === undefined) {\n target[name] = existingValue;\n }\n else if (Array.isArray(newValue) && Array.isArray(existingValue)) {\n existingValue.push(...newValue);\n target[name] = existingValue;\n }\n }\n // The target was parsed from a unassigned subrule\n // After the subrule construction, it received a cst node\n // This CST node will later be overriden by the cst node builder\n // To prevent references to stale AST nodes in the CST,\n // we need to remove the reference here\n const targetCstNode = target.$cstNode;\n if (targetCstNode) {\n targetCstNode.astNode = undefined;\n target.$cstNode = undefined;\n }\n return target;\n }\n get definitionErrors() {\n return this.wrapper.definitionErrors;\n }\n}\nexport class AbstractParserErrorMessageProvider {\n buildMismatchTokenMessage(options) {\n return defaultParserErrorProvider.buildMismatchTokenMessage(options);\n }\n buildNotAllInputParsedMessage(options) {\n return defaultParserErrorProvider.buildNotAllInputParsedMessage(options);\n }\n buildNoViableAltMessage(options) {\n return defaultParserErrorProvider.buildNoViableAltMessage(options);\n }\n buildEarlyExitMessage(options) {\n return defaultParserErrorProvider.buildEarlyExitMessage(options);\n }\n}\nexport class LangiumParserErrorMessageProvider extends AbstractParserErrorMessageProvider {\n buildMismatchTokenMessage({ expected, actual }) {\n const expectedMsg = expected.LABEL\n ? '`' + expected.LABEL + '`'\n : expected.name.endsWith(':KW')\n ? `keyword '${expected.name.substring(0, expected.name.length - 3)}'`\n : `token of type '${expected.name}'`;\n return `Expecting ${expectedMsg} but found \\`${actual.image}\\`.`;\n }\n buildNotAllInputParsedMessage({ firstRedundant }) {\n return `Expecting end of file but found \\`${firstRedundant.image}\\`.`;\n }\n}\nexport class LangiumCompletionParser extends AbstractLangiumParser {\n constructor() {\n super(...arguments);\n this.tokens = [];\n this.elementStack = [];\n this.lastElementStack = [];\n this.nextTokenIndex = 0;\n this.stackSize = 0;\n }\n action() {\n // NOOP\n }\n construct() {\n // NOOP\n return undefined;\n }\n parse(input) {\n this.resetState();\n const tokens = this.lexer.tokenize(input, { mode: 'partial' });\n this.tokens = tokens.tokens;\n this.wrapper.input = [...this.tokens];\n this.mainRule.call(this.wrapper, {});\n this.unorderedGroups.clear();\n return {\n tokens: this.tokens,\n elementStack: [...this.lastElementStack],\n tokenIndex: this.nextTokenIndex\n };\n }\n rule(rule, impl) {\n const ruleMethod = this.wrapper.DEFINE_RULE(withRuleSuffix(rule.name), this.startImplementation(impl).bind(this));\n this.allRules.set(rule.name, ruleMethod);\n if (rule.entry) {\n this.mainRule = ruleMethod;\n }\n return ruleMethod;\n }\n resetState() {\n this.elementStack = [];\n this.lastElementStack = [];\n this.nextTokenIndex = 0;\n this.stackSize = 0;\n }\n startImplementation(implementation) {\n return (args) => {\n const size = this.keepStackSize();\n try {\n implementation(args);\n }\n finally {\n this.resetStackSize(size);\n }\n };\n }\n removeUnexpectedElements() {\n this.elementStack.splice(this.stackSize);\n }\n keepStackSize() {\n const size = this.elementStack.length;\n this.stackSize = size;\n return size;\n }\n resetStackSize(size) {\n this.removeUnexpectedElements();\n this.stackSize = size;\n }\n consume(idx, tokenType, feature) {\n this.wrapper.wrapConsume(idx, tokenType);\n if (!this.isRecording()) {\n this.lastElementStack = [...this.elementStack, feature];\n this.nextTokenIndex = this.currIdx + 1;\n }\n }\n subrule(idx, rule, fragment, feature, args) {\n this.before(feature);\n this.wrapper.wrapSubrule(idx, rule, args);\n this.after(feature);\n }\n before(element) {\n if (!this.isRecording()) {\n this.elementStack.push(element);\n }\n }\n after(element) {\n if (!this.isRecording()) {\n const index = this.elementStack.lastIndexOf(element);\n if (index >= 0) {\n this.elementStack.splice(index);\n }\n }\n }\n get currIdx() {\n return this.wrapper.currIdx;\n }\n}\nconst defaultConfig = {\n recoveryEnabled: true,\n nodeLocationTracking: 'full',\n skipValidations: true,\n errorMessageProvider: new LangiumParserErrorMessageProvider()\n};\n/**\n * This class wraps the embedded actions parser of chevrotain and exposes protected methods.\n * This way, we can build the `LangiumParser` as a composition.\n */\nclass ChevrotainWrapper extends EmbeddedActionsParser {\n constructor(tokens, config) {\n const useDefaultLookahead = config && 'maxLookahead' in config;\n super(tokens, Object.assign(Object.assign(Object.assign({}, defaultConfig), { lookaheadStrategy: useDefaultLookahead\n ? new LLkLookaheadStrategy({ maxLookahead: config.maxLookahead })\n : new LLStarLookaheadStrategy({\n // If validations are skipped, don't log the lookahead warnings\n logging: config.skipValidations ? () => { } : undefined\n }) }), config));\n }\n get IS_RECORDING() {\n return this.RECORDING_PHASE;\n }\n DEFINE_RULE(name, impl) {\n return this.RULE(name, impl);\n }\n wrapSelfAnalysis() {\n this.performSelfAnalysis();\n }\n wrapConsume(idx, tokenType) {\n return this.consume(idx, tokenType);\n }\n wrapSubrule(idx, rule, args) {\n return this.subrule(idx, rule, {\n ARGS: [args]\n });\n }\n wrapOr(idx, choices) {\n this.or(idx, choices);\n }\n wrapOption(idx, callback) {\n this.option(idx, callback);\n }\n wrapMany(idx, callback) {\n this.many(idx, callback);\n }\n wrapAtLeastOne(idx, callback) {\n this.atLeastOne(idx, callback);\n }\n}\n//# sourceMappingURL=langium-parser.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { EMPTY_ALT, EOF } from 'chevrotain';\nimport { isAction, isAlternatives, isEndOfFile, isAssignment, isConjunction, isCrossReference, isDisjunction, isGroup, isKeyword, isNegation, isParameterReference, isParserRule, isRuleCall, isTerminalRule, isUnorderedGroup, isBooleanLiteral } from '../languages/generated/ast.js';\nimport { assertUnreachable, ErrorWithLocation } from '../utils/errors.js';\nimport { stream } from '../utils/stream.js';\nimport { findNameAssignment, getAllReachableRules, getTypeName } from '../utils/grammar-utils.js';\nexport function createParser(grammar, parser, tokens) {\n const parserContext = {\n parser,\n tokens,\n ruleNames: new Map()\n };\n buildRules(parserContext, grammar);\n return parser;\n}\nfunction buildRules(parserContext, grammar) {\n const reachable = getAllReachableRules(grammar, false);\n const parserRules = stream(grammar.rules).filter(isParserRule).filter(rule => reachable.has(rule));\n for (const rule of parserRules) {\n const ctx = Object.assign(Object.assign({}, parserContext), { consume: 1, optional: 1, subrule: 1, many: 1, or: 1 });\n parserContext.parser.rule(rule, buildElement(ctx, rule.definition));\n }\n}\nfunction buildElement(ctx, element, ignoreGuard = false) {\n let method;\n if (isKeyword(element)) {\n method = buildKeyword(ctx, element);\n }\n else if (isAction(element)) {\n method = buildAction(ctx, element);\n }\n else if (isAssignment(element)) {\n method = buildElement(ctx, element.terminal);\n }\n else if (isCrossReference(element)) {\n method = buildCrossReference(ctx, element);\n }\n else if (isRuleCall(element)) {\n method = buildRuleCall(ctx, element);\n }\n else if (isAlternatives(element)) {\n method = buildAlternatives(ctx, element);\n }\n else if (isUnorderedGroup(element)) {\n method = buildUnorderedGroup(ctx, element);\n }\n else if (isGroup(element)) {\n method = buildGroup(ctx, element);\n }\n else if (isEndOfFile(element)) {\n const idx = ctx.consume++;\n method = () => ctx.parser.consume(idx, EOF, element);\n }\n else {\n throw new ErrorWithLocation(element.$cstNode, `Unexpected element type: ${element.$type}`);\n }\n return wrap(ctx, ignoreGuard ? undefined : getGuardCondition(element), method, element.cardinality);\n}\nfunction buildAction(ctx, action) {\n const actionType = getTypeName(action);\n return () => ctx.parser.action(actionType, action);\n}\nfunction buildRuleCall(ctx, ruleCall) {\n const rule = ruleCall.rule.ref;\n if (isParserRule(rule)) {\n const idx = ctx.subrule++;\n const fragment = rule.fragment;\n const predicate = ruleCall.arguments.length > 0 ? buildRuleCallPredicate(rule, ruleCall.arguments) : () => ({});\n return (args) => ctx.parser.subrule(idx, getRule(ctx, rule), fragment, ruleCall, predicate(args));\n }\n else if (isTerminalRule(rule)) {\n const idx = ctx.consume++;\n const method = getToken(ctx, rule.name);\n return () => ctx.parser.consume(idx, method, ruleCall);\n }\n else if (!rule) {\n throw new ErrorWithLocation(ruleCall.$cstNode, `Undefined rule: ${ruleCall.rule.$refText}`);\n }\n else {\n assertUnreachable(rule);\n }\n}\nfunction buildRuleCallPredicate(rule, namedArgs) {\n const predicates = namedArgs.map(e => buildPredicate(e.value));\n return (args) => {\n const ruleArgs = {};\n for (let i = 0; i < predicates.length; i++) {\n const ruleTarget = rule.parameters[i];\n const predicate = predicates[i];\n ruleArgs[ruleTarget.name] = predicate(args);\n }\n return ruleArgs;\n };\n}\nfunction buildPredicate(condition) {\n if (isDisjunction(condition)) {\n const left = buildPredicate(condition.left);\n const right = buildPredicate(condition.right);\n return (args) => (left(args) || right(args));\n }\n else if (isConjunction(condition)) {\n const left = buildPredicate(condition.left);\n const right = buildPredicate(condition.right);\n return (args) => (left(args) && right(args));\n }\n else if (isNegation(condition)) {\n const value = buildPredicate(condition.value);\n return (args) => !value(args);\n }\n else if (isParameterReference(condition)) {\n const name = condition.parameter.ref.name;\n return (args) => args !== undefined && args[name] === true;\n }\n else if (isBooleanLiteral(condition)) {\n const value = Boolean(condition.true);\n return () => value;\n }\n assertUnreachable(condition);\n}\nfunction buildAlternatives(ctx, alternatives) {\n if (alternatives.elements.length === 1) {\n return buildElement(ctx, alternatives.elements[0]);\n }\n else {\n const methods = [];\n for (const element of alternatives.elements) {\n const predicatedMethod = {\n // Since we handle the guard condition in the alternative already\n // We can ignore the group guard condition inside\n ALT: buildElement(ctx, element, true)\n };\n const guard = getGuardCondition(element);\n if (guard) {\n predicatedMethod.GATE = buildPredicate(guard);\n }\n methods.push(predicatedMethod);\n }\n const idx = ctx.or++;\n return (args) => ctx.parser.alternatives(idx, methods.map(method => {\n const alt = {\n ALT: () => method.ALT(args)\n };\n const gate = method.GATE;\n if (gate) {\n alt.GATE = () => gate(args);\n }\n return alt;\n }));\n }\n}\nfunction buildUnorderedGroup(ctx, group) {\n if (group.elements.length === 1) {\n return buildElement(ctx, group.elements[0]);\n }\n const methods = [];\n for (const element of group.elements) {\n const predicatedMethod = {\n // Since we handle the guard condition in the alternative already\n // We can ignore the group guard condition inside\n ALT: buildElement(ctx, element, true)\n };\n const guard = getGuardCondition(element);\n if (guard) {\n predicatedMethod.GATE = buildPredicate(guard);\n }\n methods.push(predicatedMethod);\n }\n const orIdx = ctx.or++;\n const idFunc = (groupIdx, lParser) => {\n const stackId = lParser.getRuleStack().join('-');\n return `uGroup_${groupIdx}_${stackId}`;\n };\n const alternatives = (args) => ctx.parser.alternatives(orIdx, methods.map((method, idx) => {\n const alt = { ALT: () => true };\n const parser = ctx.parser;\n alt.ALT = () => {\n method.ALT(args);\n if (!parser.isRecording()) {\n const key = idFunc(orIdx, parser);\n if (!parser.unorderedGroups.get(key)) {\n // init after clear state\n parser.unorderedGroups.set(key, []);\n }\n const groupState = parser.unorderedGroups.get(key);\n if (typeof (groupState === null || groupState === void 0 ? void 0 : groupState[idx]) === 'undefined') {\n // Not accessed yet\n groupState[idx] = true;\n }\n }\n };\n const gate = method.GATE;\n if (gate) {\n alt.GATE = () => gate(args);\n }\n else {\n alt.GATE = () => {\n const trackedAlternatives = parser.unorderedGroups.get(idFunc(orIdx, parser));\n const allow = !(trackedAlternatives === null || trackedAlternatives === void 0 ? void 0 : trackedAlternatives[idx]);\n return allow;\n };\n }\n return alt;\n }));\n const wrapped = wrap(ctx, getGuardCondition(group), alternatives, '*');\n return (args) => {\n wrapped(args);\n if (!ctx.parser.isRecording()) {\n ctx.parser.unorderedGroups.delete(idFunc(orIdx, ctx.parser));\n }\n };\n}\nfunction buildGroup(ctx, group) {\n const methods = group.elements.map(e => buildElement(ctx, e));\n return (args) => methods.forEach(method => method(args));\n}\nfunction getGuardCondition(element) {\n if (isGroup(element)) {\n return element.guardCondition;\n }\n return undefined;\n}\nfunction buildCrossReference(ctx, crossRef, terminal = crossRef.terminal) {\n if (!terminal) {\n if (!crossRef.type.ref) {\n throw new Error('Could not resolve reference to type: ' + crossRef.type.$refText);\n }\n const assignment = findNameAssignment(crossRef.type.ref);\n const assignTerminal = assignment === null || assignment === void 0 ? void 0 : assignment.terminal;\n if (!assignTerminal) {\n throw new Error('Could not find name assignment for type: ' + getTypeName(crossRef.type.ref));\n }\n return buildCrossReference(ctx, crossRef, assignTerminal);\n }\n else if (isRuleCall(terminal) && isParserRule(terminal.rule.ref)) {\n // The terminal is a data type rule here. Everything else will result in a validation error.\n const rule = terminal.rule.ref;\n const idx = ctx.subrule++;\n return (args) => ctx.parser.subrule(idx, getRule(ctx, rule), false, crossRef, args);\n }\n else if (isRuleCall(terminal) && isTerminalRule(terminal.rule.ref)) {\n const idx = ctx.consume++;\n const terminalRule = getToken(ctx, terminal.rule.ref.name);\n return () => ctx.parser.consume(idx, terminalRule, crossRef);\n }\n else if (isKeyword(terminal)) {\n const idx = ctx.consume++;\n const keyword = getToken(ctx, terminal.value);\n return () => ctx.parser.consume(idx, keyword, crossRef);\n }\n else {\n throw new Error('Could not build cross reference parser');\n }\n}\nfunction buildKeyword(ctx, keyword) {\n const idx = ctx.consume++;\n const token = ctx.tokens[keyword.value];\n if (!token) {\n throw new Error('Could not find token for keyword: ' + keyword.value);\n }\n return () => ctx.parser.consume(idx, token, keyword);\n}\nfunction wrap(ctx, guard, method, cardinality) {\n const gate = guard && buildPredicate(guard);\n if (!cardinality) {\n if (gate) {\n const idx = ctx.or++;\n return (args) => ctx.parser.alternatives(idx, [\n {\n ALT: () => method(args),\n GATE: () => gate(args)\n },\n {\n ALT: EMPTY_ALT(),\n GATE: () => !gate(args)\n }\n ]);\n }\n else {\n return method;\n }\n }\n if (cardinality === '*') {\n const idx = ctx.many++;\n return (args) => ctx.parser.many(idx, {\n DEF: () => method(args),\n GATE: gate ? () => gate(args) : undefined\n });\n }\n else if (cardinality === '+') {\n const idx = ctx.many++;\n if (gate) {\n const orIdx = ctx.or++;\n // In the case of a guard condition for the `+` group\n // We combine it with an empty alternative\n // If the condition returns true, it needs to parse at least a single iteration\n // If its false, it is not allowed to parse anything\n return (args) => ctx.parser.alternatives(orIdx, [\n {\n ALT: () => ctx.parser.atLeastOne(idx, {\n DEF: () => method(args)\n }),\n GATE: () => gate(args)\n },\n {\n ALT: EMPTY_ALT(),\n GATE: () => !gate(args)\n }\n ]);\n }\n else {\n return (args) => ctx.parser.atLeastOne(idx, {\n DEF: () => method(args),\n });\n }\n }\n else if (cardinality === '?') {\n const idx = ctx.optional++;\n return (args) => ctx.parser.optional(idx, {\n DEF: () => method(args),\n GATE: gate ? () => gate(args) : undefined\n });\n }\n else {\n assertUnreachable(cardinality);\n }\n}\nfunction getRule(ctx, element) {\n const name = getRuleName(ctx, element);\n const rule = ctx.parser.getRule(name);\n if (!rule)\n throw new Error(`Rule \"${name}\" not found.\"`);\n return rule;\n}\nfunction getRuleName(ctx, element) {\n if (isParserRule(element)) {\n return element.name;\n }\n else if (ctx.ruleNames.has(element)) {\n return ctx.ruleNames.get(element);\n }\n else {\n let item = element;\n let parent = item.$container;\n let ruleName = element.$type;\n while (!isParserRule(parent)) {\n if (isGroup(parent) || isAlternatives(parent) || isUnorderedGroup(parent)) {\n const index = parent.elements.indexOf(item);\n ruleName = index.toString() + ':' + ruleName;\n }\n item = parent;\n parent = parent.$container;\n }\n const rule = parent;\n ruleName = rule.name + ':' + ruleName;\n ctx.ruleNames.set(element, ruleName);\n return ruleName;\n }\n}\nfunction getToken(ctx, name) {\n const token = ctx.tokens[name];\n if (!token)\n throw new Error(`Token \"${name}\" not found.\"`);\n return token;\n}\n//# sourceMappingURL=parser-builder-base.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { LangiumCompletionParser } from './langium-parser.js';\nimport { createParser } from './parser-builder-base.js';\nexport function createCompletionParser(services) {\n const grammar = services.Grammar;\n const lexer = services.parser.Lexer;\n const parser = new LangiumCompletionParser(services);\n createParser(grammar, parser, lexer.definition);\n parser.finalize();\n return parser;\n}\n//# sourceMappingURL=completion-parser-builder.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { LangiumParser } from './langium-parser.js';\nimport { createParser } from './parser-builder-base.js';\n/**\n * Create and finalize a Langium parser. The parser rules are derived from the grammar, which is\n * available at `services.Grammar`.\n */\nexport function createLangiumParser(services) {\n const parser = prepareLangiumParser(services);\n parser.finalize();\n return parser;\n}\n/**\n * Create a Langium parser without finalizing it. This is used to extract more detailed error\n * information when the parser is initially validated.\n */\nexport function prepareLangiumParser(services) {\n const grammar = services.Grammar;\n const lexer = services.parser.Lexer;\n const parser = new LangiumParser(services);\n return createParser(grammar, parser, lexer.definition);\n}\n//# sourceMappingURL=langium-parser-builder.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Lexer } from 'chevrotain';\nimport { isKeyword, isParserRule, isTerminalRule } from '../languages/generated/ast.js';\nimport { streamAllContents } from '../utils/ast-utils.js';\nimport { getAllReachableRules, terminalRegex } from '../utils/grammar-utils.js';\nimport { getCaseInsensitivePattern, isWhitespace, partialMatches } from '../utils/regexp-utils.js';\nimport { stream } from '../utils/stream.js';\nexport class DefaultTokenBuilder {\n constructor() {\n /**\n * The list of diagnostics stored during the lexing process of a single text.\n */\n this.diagnostics = [];\n }\n buildTokens(grammar, options) {\n const reachableRules = stream(getAllReachableRules(grammar, false));\n const terminalTokens = this.buildTerminalTokens(reachableRules);\n const tokens = this.buildKeywordTokens(reachableRules, terminalTokens, options);\n terminalTokens.forEach(terminalToken => {\n const pattern = terminalToken.PATTERN;\n if (typeof pattern === 'object' && pattern && 'test' in pattern && isWhitespace(pattern)) {\n tokens.unshift(terminalToken);\n }\n else {\n tokens.push(terminalToken);\n }\n });\n // We don't need to add the EOF token explicitly.\n // It is automatically available at the end of the token stream.\n return tokens;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n flushLexingReport(text) {\n return { diagnostics: this.popDiagnostics() };\n }\n popDiagnostics() {\n const diagnostics = [...this.diagnostics];\n this.diagnostics = [];\n return diagnostics;\n }\n buildTerminalTokens(rules) {\n return rules.filter(isTerminalRule).filter(e => !e.fragment)\n .map(terminal => this.buildTerminalToken(terminal)).toArray();\n }\n buildTerminalToken(terminal) {\n const regex = terminalRegex(terminal);\n const pattern = this.requiresCustomPattern(regex) ? this.regexPatternFunction(regex) : regex;\n const tokenType = {\n name: terminal.name,\n PATTERN: pattern,\n };\n if (typeof pattern === 'function') {\n tokenType.LINE_BREAKS = true;\n }\n if (terminal.hidden) {\n // Only skip tokens that are able to accept whitespace\n tokenType.GROUP = isWhitespace(regex) ? Lexer.SKIPPED : 'hidden';\n }\n return tokenType;\n }\n requiresCustomPattern(regex) {\n if (regex.flags.includes('u') || regex.flags.includes('s')) {\n // Unicode and dotall regexes are not supported by Chevrotain.\n return true;\n }\n else if (regex.source.includes('?<=') || regex.source.includes('?<!')) {\n // Negative and positive lookbehind are not supported by Chevrotain yet.\n return true;\n }\n else {\n return false;\n }\n }\n regexPatternFunction(regex) {\n const stickyRegex = new RegExp(regex, regex.flags + 'y');\n return (text, offset) => {\n stickyRegex.lastIndex = offset;\n const execResult = stickyRegex.exec(text);\n return execResult;\n };\n }\n buildKeywordTokens(rules, terminalTokens, options) {\n return rules\n // We filter by parser rules, since keywords in terminal rules get transformed into regex and are not actual tokens\n .filter(isParserRule)\n .flatMap(rule => streamAllContents(rule).filter(isKeyword))\n .distinct(e => e.value).toArray()\n // Sort keywords by descending length\n .sort((a, b) => b.value.length - a.value.length)\n .map(keyword => this.buildKeywordToken(keyword, terminalTokens, Boolean(options === null || options === void 0 ? void 0 : options.caseInsensitive)));\n }\n buildKeywordToken(keyword, terminalTokens, caseInsensitive) {\n const keywordPattern = this.buildKeywordPattern(keyword, caseInsensitive);\n const tokenType = {\n name: keyword.value,\n PATTERN: keywordPattern,\n LONGER_ALT: this.findLongerAlt(keyword, terminalTokens)\n };\n if (typeof keywordPattern === 'function') {\n tokenType.LINE_BREAKS = true;\n }\n return tokenType;\n }\n buildKeywordPattern(keyword, caseInsensitive) {\n return caseInsensitive ?\n new RegExp(getCaseInsensitivePattern(keyword.value)) :\n keyword.value;\n }\n findLongerAlt(keyword, terminalTokens) {\n return terminalTokens.reduce((longerAlts, token) => {\n const pattern = token === null || token === void 0 ? void 0 : token.PATTERN;\n if ((pattern === null || pattern === void 0 ? void 0 : pattern.source) && partialMatches('^' + pattern.source + '$', keyword.value)) {\n longerAlts.push(token);\n }\n return longerAlts;\n }, []);\n }\n}\n//# sourceMappingURL=token-builder.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { isCrossReference, isRuleCall } from '../languages/generated/ast.js';\nimport { getCrossReferenceTerminal, getRuleType } from '../utils/grammar-utils.js';\nexport class DefaultValueConverter {\n convert(input, cstNode) {\n let feature = cstNode.grammarSource;\n if (isCrossReference(feature)) {\n feature = getCrossReferenceTerminal(feature);\n }\n if (isRuleCall(feature)) {\n const rule = feature.rule.ref;\n if (!rule) {\n throw new Error('This cst node was not parsed by a rule.');\n }\n return this.runConverter(rule, input, cstNode);\n }\n return input;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n runConverter(rule, input, cstNode) {\n var _a;\n switch (rule.name.toUpperCase()) {\n case 'INT': return ValueConverter.convertInt(input);\n case 'STRING': return ValueConverter.convertString(input);\n case 'ID': return ValueConverter.convertID(input);\n }\n switch ((_a = getRuleType(rule)) === null || _a === void 0 ? void 0 : _a.toLowerCase()) {\n case 'number': return ValueConverter.convertNumber(input);\n case 'boolean': return ValueConverter.convertBoolean(input);\n case 'bigint': return ValueConverter.convertBigint(input);\n case 'date': return ValueConverter.convertDate(input);\n default: return input;\n }\n }\n}\nexport var ValueConverter;\n(function (ValueConverter) {\n function convertString(input) {\n let result = '';\n for (let i = 1; i < input.length - 1; i++) {\n const c = input.charAt(i);\n if (c === '\\\\') {\n const c1 = input.charAt(++i);\n result += convertEscapeCharacter(c1);\n }\n else {\n result += c;\n }\n }\n return result;\n }\n ValueConverter.convertString = convertString;\n function convertEscapeCharacter(char) {\n switch (char) {\n case 'b': return '\\b';\n case 'f': return '\\f';\n case 'n': return '\\n';\n case 'r': return '\\r';\n case 't': return '\\t';\n case 'v': return '\\v';\n case '0': return '\\0';\n default: return char;\n }\n }\n function convertID(input) {\n if (input.charAt(0) === '^') {\n return input.substring(1);\n }\n else {\n return input;\n }\n }\n ValueConverter.convertID = convertID;\n function convertInt(input) {\n return parseInt(input);\n }\n ValueConverter.convertInt = convertInt;\n function convertBigint(input) {\n return BigInt(input);\n }\n ValueConverter.convertBigint = convertBigint;\n function convertDate(input) {\n return new Date(input);\n }\n ValueConverter.convertDate = convertDate;\n function convertNumber(input) {\n return Number(input);\n }\n ValueConverter.convertNumber = convertNumber;\n function convertBoolean(input) {\n return input.toLowerCase() === 'true';\n }\n ValueConverter.convertBoolean = convertBoolean;\n})(ValueConverter || (ValueConverter = {}));\n//# sourceMappingURL=value-converter.js.map", + "\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nlet _ral;\nfunction RAL() {\n if (_ral === undefined) {\n throw new Error(`No runtime abstraction layer installed`);\n }\n return _ral;\n}\n(function (RAL) {\n function install(ral) {\n if (ral === undefined) {\n throw new Error(`No runtime abstraction layer provided`);\n }\n _ral = ral;\n }\n RAL.install = install;\n})(RAL || (RAL = {}));\nexports.default = RAL;\n", + "\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.stringArray = exports.array = exports.func = exports.error = exports.number = exports.string = exports.boolean = void 0;\nfunction boolean(value) {\n return value === true || value === false;\n}\nexports.boolean = boolean;\nfunction string(value) {\n return typeof value === 'string' || value instanceof String;\n}\nexports.string = string;\nfunction number(value) {\n return typeof value === 'number' || value instanceof Number;\n}\nexports.number = number;\nfunction error(value) {\n return value instanceof Error;\n}\nexports.error = error;\nfunction func(value) {\n return typeof value === 'function';\n}\nexports.func = func;\nfunction array(value) {\n return Array.isArray(value);\n}\nexports.array = array;\nfunction stringArray(value) {\n return array(value) && value.every(elem => string(elem));\n}\nexports.stringArray = stringArray;\n", + "\"use strict\";\n/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Emitter = exports.Event = void 0;\nconst ral_1 = require(\"./ral\");\nvar Event;\n(function (Event) {\n const _disposable = { dispose() { } };\n Event.None = function () { return _disposable; };\n})(Event || (exports.Event = Event = {}));\nclass CallbackList {\n add(callback, context = null, bucket) {\n if (!this._callbacks) {\n this._callbacks = [];\n this._contexts = [];\n }\n this._callbacks.push(callback);\n this._contexts.push(context);\n if (Array.isArray(bucket)) {\n bucket.push({ dispose: () => this.remove(callback, context) });\n }\n }\n remove(callback, context = null) {\n if (!this._callbacks) {\n return;\n }\n let foundCallbackWithDifferentContext = false;\n for (let i = 0, len = this._callbacks.length; i < len; i++) {\n if (this._callbacks[i] === callback) {\n if (this._contexts[i] === context) {\n // callback & context match => remove it\n this._callbacks.splice(i, 1);\n this._contexts.splice(i, 1);\n return;\n }\n else {\n foundCallbackWithDifferentContext = true;\n }\n }\n }\n if (foundCallbackWithDifferentContext) {\n throw new Error('When adding a listener with a context, you should remove it with the same context');\n }\n }\n invoke(...args) {\n if (!this._callbacks) {\n return [];\n }\n const ret = [], callbacks = this._callbacks.slice(0), contexts = this._contexts.slice(0);\n for (let i = 0, len = callbacks.length; i < len; i++) {\n try {\n ret.push(callbacks[i].apply(contexts[i], args));\n }\n catch (e) {\n // eslint-disable-next-line no-console\n (0, ral_1.default)().console.error(e);\n }\n }\n return ret;\n }\n isEmpty() {\n return !this._callbacks || this._callbacks.length === 0;\n }\n dispose() {\n this._callbacks = undefined;\n this._contexts = undefined;\n }\n}\nclass Emitter {\n constructor(_options) {\n this._options = _options;\n }\n /**\n * For the public to allow to subscribe\n * to events from this Emitter\n */\n get event() {\n if (!this._event) {\n this._event = (listener, thisArgs, disposables) => {\n if (!this._callbacks) {\n this._callbacks = new CallbackList();\n }\n if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) {\n this._options.onFirstListenerAdd(this);\n }\n this._callbacks.add(listener, thisArgs);\n const result = {\n dispose: () => {\n if (!this._callbacks) {\n // disposable is disposed after emitter is disposed.\n return;\n }\n this._callbacks.remove(listener, thisArgs);\n result.dispose = Emitter._noop;\n if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {\n this._options.onLastListenerRemove(this);\n }\n }\n };\n if (Array.isArray(disposables)) {\n disposables.push(result);\n }\n return result;\n };\n }\n return this._event;\n }\n /**\n * To be kept private to fire an event to\n * subscribers\n */\n fire(event) {\n if (this._callbacks) {\n this._callbacks.invoke.call(this._callbacks, event);\n }\n }\n dispose() {\n if (this._callbacks) {\n this._callbacks.dispose();\n this._callbacks = undefined;\n }\n }\n}\nexports.Emitter = Emitter;\nEmitter._noop = function () { };\n", + "\"use strict\";\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancellationTokenSource = exports.CancellationToken = void 0;\nconst ral_1 = require(\"./ral\");\nconst Is = require(\"./is\");\nconst events_1 = require(\"./events\");\nvar CancellationToken;\n(function (CancellationToken) {\n CancellationToken.None = Object.freeze({\n isCancellationRequested: false,\n onCancellationRequested: events_1.Event.None\n });\n CancellationToken.Cancelled = Object.freeze({\n isCancellationRequested: true,\n onCancellationRequested: events_1.Event.None\n });\n function is(value) {\n const candidate = value;\n return candidate && (candidate === CancellationToken.None\n || candidate === CancellationToken.Cancelled\n || (Is.boolean(candidate.isCancellationRequested) && !!candidate.onCancellationRequested));\n }\n CancellationToken.is = is;\n})(CancellationToken || (exports.CancellationToken = CancellationToken = {}));\nconst shortcutEvent = Object.freeze(function (callback, context) {\n const handle = (0, ral_1.default)().timer.setTimeout(callback.bind(context), 0);\n return { dispose() { handle.dispose(); } };\n});\nclass MutableToken {\n constructor() {\n this._isCancelled = false;\n }\n cancel() {\n if (!this._isCancelled) {\n this._isCancelled = true;\n if (this._emitter) {\n this._emitter.fire(undefined);\n this.dispose();\n }\n }\n }\n get isCancellationRequested() {\n return this._isCancelled;\n }\n get onCancellationRequested() {\n if (this._isCancelled) {\n return shortcutEvent;\n }\n if (!this._emitter) {\n this._emitter = new events_1.Emitter();\n }\n return this._emitter.event;\n }\n dispose() {\n if (this._emitter) {\n this._emitter.dispose();\n this._emitter = undefined;\n }\n }\n}\nclass CancellationTokenSource {\n get token() {\n if (!this._token) {\n // be lazy and create the token only when\n // actually needed\n this._token = new MutableToken();\n }\n return this._token;\n }\n cancel() {\n if (!this._token) {\n // save an object by returning the default\n // cancelled token when cancellation happens\n // before someone asks for the token\n this._token = CancellationToken.Cancelled;\n }\n else {\n this._token.cancel();\n }\n }\n dispose() {\n if (!this._token) {\n // ensure to initialize with an empty token if we had none\n this._token = CancellationToken.None;\n }\n else if (this._token instanceof MutableToken) {\n // actually dispose\n this._token.dispose();\n }\n }\n}\nexports.CancellationTokenSource = CancellationTokenSource;\n", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken, CancellationTokenSource } from '../utils/cancellation.js';\n/**\n * Delays the execution of the current code to the next tick of the event loop.\n * Don't call this method directly in a tight loop to prevent too many promises from being created.\n */\nexport function delayNextTick() {\n return new Promise(resolve => {\n // In case we are running in a non-node environment, `setImmediate` isn't available.\n // Using `setTimeout` of the browser API accomplishes the same result.\n if (typeof setImmediate === 'undefined') {\n setTimeout(resolve, 0);\n }\n else {\n setImmediate(resolve);\n }\n });\n}\nlet lastTick = 0;\nlet globalInterruptionPeriod = 10;\n/**\n * Reset the global interruption period and create a cancellation token source.\n */\nexport function startCancelableOperation() {\n lastTick = performance.now();\n return new CancellationTokenSource();\n}\n/**\n * Change the period duration for `interruptAndCheck` to the given number of milliseconds.\n * The default value is 10ms.\n */\nexport function setInterruptionPeriod(period) {\n globalInterruptionPeriod = period;\n}\n/**\n * This symbol may be thrown in an asynchronous context by any Langium service that receives\n * a `CancellationToken`. This means that the promise returned by such a service is rejected with\n * this symbol as rejection reason.\n */\nexport const OperationCancelled = Symbol('OperationCancelled');\n/**\n * Use this in a `catch` block to check whether the thrown object indicates that the operation\n * has been cancelled.\n */\nexport function isOperationCancelled(err) {\n return err === OperationCancelled;\n}\n/**\n * This function does two things:\n * 1. Check the elapsed time since the last call to this function or to `startCancelableOperation`. If the predefined\n * period (configured with `setInterruptionPeriod`) is exceeded, execution is delayed with `delayNextTick`.\n * 2. If the predefined period is not met yet or execution is resumed after an interruption, the given cancellation\n * token is checked, and if cancellation is requested, `OperationCanceled` is thrown.\n *\n * All services in Langium that receive a `CancellationToken` may potentially call this function, so the\n * `CancellationToken` must be caught (with an `async` try-catch block or a `catch` callback attached to\n * the promise) to avoid that event being exposed as an error.\n */\nexport async function interruptAndCheck(token) {\n if (token === CancellationToken.None) {\n // Early exit in case cancellation was disabled by the caller\n return;\n }\n const current = performance.now();\n if (current - lastTick >= globalInterruptionPeriod) {\n lastTick = current;\n await delayNextTick();\n // prevent calling delayNextTick every iteration of loop\n // where delayNextTick takes up the majority or all of the\n // globalInterruptionPeriod itself\n lastTick = performance.now();\n }\n if (token.isCancellationRequested) {\n throw OperationCancelled;\n }\n}\n/**\n * Simple implementation of the deferred pattern.\n * An object that exposes a promise and functions to resolve and reject it.\n */\nexport class Deferred {\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (arg) => {\n resolve(arg);\n return this;\n };\n this.reject = (err) => {\n reject(err);\n return this;\n };\n });\n }\n}\n//# sourceMappingURL=promise-utils.js.map", + "/* --------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n * ------------------------------------------------------------------------------------------ */\n'use strict';\nclass FullTextDocument {\n constructor(uri, languageId, version, content) {\n this._uri = uri;\n this._languageId = languageId;\n this._version = version;\n this._content = content;\n this._lineOffsets = undefined;\n }\n get uri() {\n return this._uri;\n }\n get languageId() {\n return this._languageId;\n }\n get version() {\n return this._version;\n }\n getText(range) {\n if (range) {\n const start = this.offsetAt(range.start);\n const end = this.offsetAt(range.end);\n return this._content.substring(start, end);\n }\n return this._content;\n }\n update(changes, version) {\n for (const change of changes) {\n if (FullTextDocument.isIncremental(change)) {\n // makes sure start is before end\n const range = getWellformedRange(change.range);\n // update content\n const startOffset = this.offsetAt(range.start);\n const endOffset = this.offsetAt(range.end);\n this._content = this._content.substring(0, startOffset) + change.text + this._content.substring(endOffset, this._content.length);\n // update the offsets\n const startLine = Math.max(range.start.line, 0);\n const endLine = Math.max(range.end.line, 0);\n let lineOffsets = this._lineOffsets;\n const addedLineOffsets = computeLineOffsets(change.text, false, startOffset);\n if (endLine - startLine === addedLineOffsets.length) {\n for (let i = 0, len = addedLineOffsets.length; i < len; i++) {\n lineOffsets[i + startLine + 1] = addedLineOffsets[i];\n }\n }\n else {\n if (addedLineOffsets.length < 10000) {\n lineOffsets.splice(startLine + 1, endLine - startLine, ...addedLineOffsets);\n }\n else { // avoid too many arguments for splice\n this._lineOffsets = lineOffsets = lineOffsets.slice(0, startLine + 1).concat(addedLineOffsets, lineOffsets.slice(endLine + 1));\n }\n }\n const diff = change.text.length - (endOffset - startOffset);\n if (diff !== 0) {\n for (let i = startLine + 1 + addedLineOffsets.length, len = lineOffsets.length; i < len; i++) {\n lineOffsets[i] = lineOffsets[i] + diff;\n }\n }\n }\n else if (FullTextDocument.isFull(change)) {\n this._content = change.text;\n this._lineOffsets = undefined;\n }\n else {\n throw new Error('Unknown change event received');\n }\n }\n this._version = version;\n }\n getLineOffsets() {\n if (this._lineOffsets === undefined) {\n this._lineOffsets = computeLineOffsets(this._content, true);\n }\n return this._lineOffsets;\n }\n positionAt(offset) {\n offset = Math.max(Math.min(offset, this._content.length), 0);\n const lineOffsets = this.getLineOffsets();\n let low = 0, high = lineOffsets.length;\n if (high === 0) {\n return { line: 0, character: offset };\n }\n while (low < high) {\n const mid = Math.floor((low + high) / 2);\n if (lineOffsets[mid] > offset) {\n high = mid;\n }\n else {\n low = mid + 1;\n }\n }\n // low is the least x for which the line offset is larger than the current offset\n // or array.length if no line offset is larger than the current offset\n const line = low - 1;\n offset = this.ensureBeforeEOL(offset, lineOffsets[line]);\n return { line, character: offset - lineOffsets[line] };\n }\n offsetAt(position) {\n const lineOffsets = this.getLineOffsets();\n if (position.line >= lineOffsets.length) {\n return this._content.length;\n }\n else if (position.line < 0) {\n return 0;\n }\n const lineOffset = lineOffsets[position.line];\n if (position.character <= 0) {\n return lineOffset;\n }\n const nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\n const offset = Math.min(lineOffset + position.character, nextLineOffset);\n return this.ensureBeforeEOL(offset, lineOffset);\n }\n ensureBeforeEOL(offset, lineOffset) {\n while (offset > lineOffset && isEOL(this._content.charCodeAt(offset - 1))) {\n offset--;\n }\n return offset;\n }\n get lineCount() {\n return this.getLineOffsets().length;\n }\n static isIncremental(event) {\n const candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range !== undefined &&\n (candidate.rangeLength === undefined || typeof candidate.rangeLength === 'number');\n }\n static isFull(event) {\n const candidate = event;\n return candidate !== undefined && candidate !== null &&\n typeof candidate.text === 'string' && candidate.range === undefined && candidate.rangeLength === undefined;\n }\n}\nexport var TextDocument;\n(function (TextDocument) {\n /**\n * Creates a new text document.\n *\n * @param uri The document's uri.\n * @param languageId The document's language Id.\n * @param version The document's initial version number.\n * @param content The document's content.\n */\n function create(uri, languageId, version, content) {\n return new FullTextDocument(uri, languageId, version, content);\n }\n TextDocument.create = create;\n /**\n * Updates a TextDocument by modifying its content.\n *\n * @param document the document to update. Only documents created by TextDocument.create are valid inputs.\n * @param changes the changes to apply to the document.\n * @param version the changes version for the document.\n * @returns The updated TextDocument. Note: That's the same document instance passed in as first parameter.\n *\n */\n function update(document, changes, version) {\n if (document instanceof FullTextDocument) {\n document.update(changes, version);\n return document;\n }\n else {\n throw new Error('TextDocument.update: document must be created by TextDocument.create');\n }\n }\n TextDocument.update = update;\n function applyEdits(document, edits) {\n const text = document.getText();\n const sortedEdits = mergeSort(edits.map(getWellformedEdit), (a, b) => {\n const diff = a.range.start.line - b.range.start.line;\n if (diff === 0) {\n return a.range.start.character - b.range.start.character;\n }\n return diff;\n });\n let lastModifiedOffset = 0;\n const spans = [];\n for (const e of sortedEdits) {\n const startOffset = document.offsetAt(e.range.start);\n if (startOffset < lastModifiedOffset) {\n throw new Error('Overlapping edit');\n }\n else if (startOffset > lastModifiedOffset) {\n spans.push(text.substring(lastModifiedOffset, startOffset));\n }\n if (e.newText.length) {\n spans.push(e.newText);\n }\n lastModifiedOffset = document.offsetAt(e.range.end);\n }\n spans.push(text.substr(lastModifiedOffset));\n return spans.join('');\n }\n TextDocument.applyEdits = applyEdits;\n})(TextDocument || (TextDocument = {}));\nfunction mergeSort(data, compare) {\n if (data.length <= 1) {\n // sorted\n return data;\n }\n const p = (data.length / 2) | 0;\n const left = data.slice(0, p);\n const right = data.slice(p);\n mergeSort(left, compare);\n mergeSort(right, compare);\n let leftIdx = 0;\n let rightIdx = 0;\n let i = 0;\n while (leftIdx < left.length && rightIdx < right.length) {\n const ret = compare(left[leftIdx], right[rightIdx]);\n if (ret <= 0) {\n // smaller_equal -> take left to preserve order\n data[i++] = left[leftIdx++];\n }\n else {\n // greater -> take right\n data[i++] = right[rightIdx++];\n }\n }\n while (leftIdx < left.length) {\n data[i++] = left[leftIdx++];\n }\n while (rightIdx < right.length) {\n data[i++] = right[rightIdx++];\n }\n return data;\n}\nfunction computeLineOffsets(text, isAtLineStart, textOffset = 0) {\n const result = isAtLineStart ? [textOffset] : [];\n for (let i = 0; i < text.length; i++) {\n const ch = text.charCodeAt(i);\n if (isEOL(ch)) {\n if (ch === 13 /* CharCode.CarriageReturn */ && i + 1 < text.length && text.charCodeAt(i + 1) === 10 /* CharCode.LineFeed */) {\n i++;\n }\n result.push(textOffset + i + 1);\n }\n }\n return result;\n}\nfunction isEOL(char) {\n return char === 13 /* CharCode.CarriageReturn */ || char === 10 /* CharCode.LineFeed */;\n}\nfunction getWellformedRange(range) {\n const start = range.start;\n const end = range.end;\n if (start.line > end.line || (start.line === end.line && start.character > end.character)) {\n return { start: end, end: start };\n }\n return range;\n}\nfunction getWellformedEdit(textEdit) {\n const range = getWellformedRange(textEdit.range);\n if (range !== textEdit.range) {\n return { newText: textEdit.newText, range };\n }\n return textEdit;\n}\n", + "var LIB;(()=>{\"use strict\";var t={470:t=>{function e(t){if(\"string\"!=typeof t)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(t))}function r(t,e){for(var r,n=\"\",i=0,o=-1,s=0,h=0;h<=t.length;++h){if(h<t.length)r=t.charCodeAt(h);else{if(47===r)break;r=47}if(47===r){if(o===h-1||1===s);else if(o!==h-1&&2===s){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var a=n.lastIndexOf(\"/\");if(a!==n.length-1){-1===a?(n=\"\",i=0):i=(n=n.slice(0,a)).length-1-n.lastIndexOf(\"/\"),o=h,s=0;continue}}else if(2===n.length||1===n.length){n=\"\",i=0,o=h,s=0;continue}e&&(n.length>0?n+=\"/..\":n=\"..\",i=2)}else n.length>0?n+=\"/\"+t.slice(o+1,h):n=t.slice(o+1,h),i=h-o-1;o=h,s=0}else 46===r&&-1!==s?++s:s=-1}return n}var n={resolve:function(){for(var t,n=\"\",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var s;o>=0?s=arguments[o]:(void 0===t&&(t=process.cwd()),s=t),e(s),0!==s.length&&(n=s+\"/\"+n,i=47===s.charCodeAt(0))}return n=r(n,!i),i?n.length>0?\"/\"+n:\"/\":n.length>0?n:\".\"},normalize:function(t){if(e(t),0===t.length)return\".\";var n=47===t.charCodeAt(0),i=47===t.charCodeAt(t.length-1);return 0!==(t=r(t,!n)).length||n||(t=\".\"),t.length>0&&i&&(t+=\"/\"),n?\"/\"+t:t},isAbsolute:function(t){return e(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var t,r=0;r<arguments.length;++r){var i=arguments[r];e(i),i.length>0&&(void 0===t?t=i:t+=\"/\"+i)}return void 0===t?\".\":n.normalize(t)},relative:function(t,r){if(e(t),e(r),t===r)return\"\";if((t=n.resolve(t))===(r=n.resolve(r)))return\"\";for(var i=1;i<t.length&&47===t.charCodeAt(i);++i);for(var o=t.length,s=o-i,h=1;h<r.length&&47===r.charCodeAt(h);++h);for(var a=r.length-h,c=s<a?s:a,f=-1,u=0;u<=c;++u){if(u===c){if(a>c){if(47===r.charCodeAt(h+u))return r.slice(h+u+1);if(0===u)return r.slice(h+u)}else s>c&&(47===t.charCodeAt(i+u)?f=u:0===u&&(f=0));break}var l=t.charCodeAt(i+u);if(l!==r.charCodeAt(h+u))break;47===l&&(f=u)}var g=\"\";for(u=i+f+1;u<=o;++u)u!==o&&47!==t.charCodeAt(u)||(0===g.length?g+=\"..\":g+=\"/..\");return g.length>0?g+r.slice(h+f):(h+=f,47===r.charCodeAt(h)&&++h,r.slice(h))},_makeLong:function(t){return t},dirname:function(t){if(e(t),0===t.length)return\".\";for(var r=t.charCodeAt(0),n=47===r,i=-1,o=!0,s=t.length-1;s>=1;--s)if(47===(r=t.charCodeAt(s))){if(!o){i=s;break}}else o=!1;return-1===i?n?\"/\":\".\":n&&1===i?\"//\":t.slice(0,i)},basename:function(t,r){if(void 0!==r&&\"string\"!=typeof r)throw new TypeError('\"ext\" argument must be a string');e(t);var n,i=0,o=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return\"\";var h=r.length-1,a=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!s){i=n+1;break}}else-1===a&&(s=!1,a=n+1),h>=0&&(c===r.charCodeAt(h)?-1==--h&&(o=n):(h=-1,o=a))}return i===o?o=a:-1===o&&(o=t.length),t.slice(i,o)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!s){i=n+1;break}}else-1===o&&(s=!1,o=n+1);return-1===o?\"\":t.slice(i,o)},extname:function(t){e(t);for(var r=-1,n=0,i=-1,o=!0,s=0,h=t.length-1;h>=0;--h){var a=t.charCodeAt(h);if(47!==a)-1===i&&(o=!1,i=h+1),46===a?-1===r?r=h:1!==s&&(s=1):-1!==r&&(s=-1);else if(!o){n=h+1;break}}return-1===r||-1===i||0===s||1===s&&r===i-1&&r===n+1?\"\":t.slice(r,i)},format:function(t){if(null===t||\"object\"!=typeof t)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,n=e.base||(e.name||\"\")+(e.ext||\"\");return r?r===e.root?r+n:r+\"/\"+n:n}(0,t)},parse:function(t){e(t);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===t.length)return r;var n,i=t.charCodeAt(0),o=47===i;o?(r.root=\"/\",n=1):n=0;for(var s=-1,h=0,a=-1,c=!0,f=t.length-1,u=0;f>=n;--f)if(47!==(i=t.charCodeAt(f)))-1===a&&(c=!1,a=f+1),46===i?-1===s?s=f:1!==u&&(u=1):-1!==s&&(u=-1);else if(!c){h=f+1;break}return-1===s||-1===a||0===u||1===u&&s===a-1&&s===h+1?-1!==a&&(r.base=r.name=0===h&&o?t.slice(1,a):t.slice(h,a)):(0===h&&o?(r.name=t.slice(1,s),r.base=t.slice(1,a)):(r.name=t.slice(h,s),r.base=t.slice(h,a)),r.ext=t.slice(s,a)),h>0?r.dir=t.slice(0,h-1):o&&(r.dir=\"/\"),r},sep:\"/\",delimiter:\":\",win32:null,posix:null};n.posix=n,t.exports=n}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var n={};(()=>{let t;if(r.r(n),r.d(n,{URI:()=>f,Utils:()=>P}),\"object\"==typeof process)t=\"win32\"===process.platform;else if(\"object\"==typeof navigator){let e=navigator.userAgent;t=e.indexOf(\"Windows\")>=0}const e=/^\\w[\\w\\d+.-]*$/,i=/^\\//,o=/^\\/\\//;function s(t,r){if(!t.scheme&&r)throw new Error(`[UriError]: Scheme is missing: {scheme: \"\", authority: \"${t.authority}\", path: \"${t.path}\", query: \"${t.query}\", fragment: \"${t.fragment}\"}`);if(t.scheme&&!e.test(t.scheme))throw new Error(\"[UriError]: Scheme contains illegal characters.\");if(t.path)if(t.authority){if(!i.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash (\"/\") character')}else if(o.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")')}const h=\"\",a=\"/\",c=/^(([^:/?#]+?):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?/;class f{static isUri(t){return t instanceof f||!!t&&\"string\"==typeof t.authority&&\"string\"==typeof t.fragment&&\"string\"==typeof t.path&&\"string\"==typeof t.query&&\"string\"==typeof t.scheme&&\"string\"==typeof t.fsPath&&\"function\"==typeof t.with&&\"function\"==typeof t.toString}scheme;authority;path;query;fragment;constructor(t,e,r,n,i,o=!1){\"object\"==typeof t?(this.scheme=t.scheme||h,this.authority=t.authority||h,this.path=t.path||h,this.query=t.query||h,this.fragment=t.fragment||h):(this.scheme=function(t,e){return t||e?t:\"file\"}(t,o),this.authority=e||h,this.path=function(t,e){switch(t){case\"https\":case\"http\":case\"file\":e?e[0]!==a&&(e=a+e):e=a}return e}(this.scheme,r||h),this.query=n||h,this.fragment=i||h,s(this,o))}get fsPath(){return m(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:r,path:n,query:i,fragment:o}=t;return void 0===e?e=this.scheme:null===e&&(e=h),void 0===r?r=this.authority:null===r&&(r=h),void 0===n?n=this.path:null===n&&(n=h),void 0===i?i=this.query:null===i&&(i=h),void 0===o?o=this.fragment:null===o&&(o=h),e===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&o===this.fragment?this:new l(e,r,n,i,o)}static parse(t,e=!1){const r=c.exec(t);return r?new l(r[2]||h,C(r[4]||h),C(r[5]||h),C(r[7]||h),C(r[9]||h),e):new l(h,h,h,h,h)}static file(e){let r=h;if(t&&(e=e.replace(/\\\\/g,a)),e[0]===a&&e[1]===a){const t=e.indexOf(a,2);-1===t?(r=e.substring(2),e=a):(r=e.substring(2,t),e=e.substring(t)||a)}return new l(\"file\",r,e,h,h)}static from(t){const e=new l(t.scheme,t.authority,t.path,t.query,t.fragment);return s(e,!0),e}toString(t=!1){return y(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof f)return t;{const e=new l(t);return e._formatted=t.external,e._fsPath=t._sep===u?t.fsPath:null,e}}return t}}const u=t?1:void 0;class l extends f{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=m(this,!1)),this._fsPath}toString(t=!1){return t?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=u),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const g={58:\"%3A\",47:\"%2F\",63:\"%3F\",35:\"%23\",91:\"%5B\",93:\"%5D\",64:\"%40\",33:\"%21\",36:\"%24\",38:\"%26\",39:\"%27\",40:\"%28\",41:\"%29\",42:\"%2A\",43:\"%2B\",44:\"%2C\",59:\"%3B\",61:\"%3D\",32:\"%20\"};function d(t,e,r){let n,i=-1;for(let o=0;o<t.length;o++){const s=t.charCodeAt(o);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||e&&47===s||r&&91===s||r&&93===s||r&&58===s)-1!==i&&(n+=encodeURIComponent(t.substring(i,o)),i=-1),void 0!==n&&(n+=t.charAt(o));else{void 0===n&&(n=t.substr(0,o));const e=g[s];void 0!==e?(-1!==i&&(n+=encodeURIComponent(t.substring(i,o)),i=-1),n+=e):-1===i&&(i=o)}}return-1!==i&&(n+=encodeURIComponent(t.substring(i))),void 0!==n?n:t}function p(t){let e;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);35===n||63===n?(void 0===e&&(e=t.substr(0,r)),e+=g[n]):void 0!==e&&(e+=t[r])}return void 0!==e?e:t}function m(e,r){let n;return n=e.authority&&e.path.length>1&&\"file\"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?r?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,t&&(n=n.replace(/\\//g,\"\\\\\")),n}function y(t,e){const r=e?p:d;let n=\"\",{scheme:i,authority:o,path:s,query:h,fragment:c}=t;if(i&&(n+=i,n+=\":\"),(o||\"file\"===i)&&(n+=a,n+=a),o){let t=o.indexOf(\"@\");if(-1!==t){const e=o.substr(0,t);o=o.substr(t+1),t=e.lastIndexOf(\":\"),-1===t?n+=r(e,!1,!1):(n+=r(e.substr(0,t),!1,!1),n+=\":\",n+=r(e.substr(t+1),!1,!0)),n+=\"@\"}o=o.toLowerCase(),t=o.lastIndexOf(\":\"),-1===t?n+=r(o,!1,!0):(n+=r(o.substr(0,t),!1,!0),n+=o.substr(t))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){const t=s.charCodeAt(1);t>=65&&t<=90&&(s=`/${String.fromCharCode(t+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){const t=s.charCodeAt(0);t>=65&&t<=90&&(s=`${String.fromCharCode(t+32)}:${s.substr(2)}`)}n+=r(s,!0,!1)}return h&&(n+=\"?\",n+=r(h,!1,!1)),c&&(n+=\"#\",n+=e?c:d(c,!1,!1)),n}function v(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+v(t.substr(3)):t}}const b=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(t){return t.match(b)?t.replace(b,(t=>v(t))):t}var A=r(470);const w=A.posix||A,x=\"/\";var P;!function(t){t.joinPath=function(t,...e){return t.with({path:w.join(t.path,...e)})},t.resolvePath=function(t,...e){let r=t.path,n=!1;r[0]!==x&&(r=x+r,n=!0);let i=w.resolve(r,...e);return n&&i[0]===x&&!t.authority&&(i=i.substring(1)),t.with({path:i})},t.dirname=function(t){if(0===t.path.length||t.path===x)return t;let e=w.dirname(t.path);return 1===e.length&&46===e.charCodeAt(0)&&(e=\"\"),t.with({path:e})},t.basename=function(t){return w.basename(t.path)},t.extname=function(t){return w.extname(t.path)}}(P||(P={}))})(),LIB=n})();export const{URI,Utils}=LIB;\n//# sourceMappingURL=index.mjs.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { URI, Utils } from 'vscode-uri';\nexport { URI };\nexport var UriUtils;\n(function (UriUtils) {\n UriUtils.basename = Utils.basename;\n UriUtils.dirname = Utils.dirname;\n UriUtils.extname = Utils.extname;\n UriUtils.joinPath = Utils.joinPath;\n UriUtils.resolvePath = Utils.resolvePath;\n function equals(a, b) {\n return (a === null || a === void 0 ? void 0 : a.toString()) === (b === null || b === void 0 ? void 0 : b.toString());\n }\n UriUtils.equals = equals;\n function relative(from, to) {\n const fromPath = typeof from === 'string' ? from : from.path;\n const toPath = typeof to === 'string' ? to : to.path;\n const fromParts = fromPath.split('/').filter(e => e.length > 0);\n const toParts = toPath.split('/').filter(e => e.length > 0);\n let i = 0;\n for (; i < fromParts.length; i++) {\n if (fromParts[i] !== toParts[i]) {\n break;\n }\n }\n const backPart = '../'.repeat(fromParts.length - i);\n const toPart = toParts.slice(i).join('/');\n return backPart + toPart;\n }\n UriUtils.relative = relative;\n function normalize(uri) {\n return URI.parse(uri.toString()).toString();\n }\n UriUtils.normalize = normalize;\n})(UriUtils || (UriUtils = {}));\n//# sourceMappingURL=uri-utils.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\n/**\n * Re-export 'TextDocument' from 'vscode-languageserver-textdocument' for convenience,\n * including both type _and_ symbol (namespace), as we here and there also refer to the symbol,\n * the overhead is very small, just a few kilobytes.\n * Everything else of that package (at the time contributing) is also defined\n * in 'vscode-languageserver-protocol' or 'vscode-languageserver-types'.\n */\nexport { TextDocument } from 'vscode-languageserver-textdocument';\nimport { TextDocument } from './documents.js';\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { stream } from '../utils/stream.js';\nimport { URI } from '../utils/uri-utils.js';\n/**\n * A document is subject to several phases that are run in predefined order. Any state value implies that\n * smaller state values are finished as well.\n */\nexport var DocumentState;\n(function (DocumentState) {\n /**\n * The text content has changed and needs to be parsed again. The AST held by this outdated\n * document instance is no longer valid.\n */\n DocumentState[DocumentState[\"Changed\"] = 0] = \"Changed\";\n /**\n * An AST has been created from the text content. The document structure can be traversed,\n * but cross-references cannot be resolved yet. If necessary, the structure can be manipulated\n * at this stage as a preprocessing step.\n */\n DocumentState[DocumentState[\"Parsed\"] = 1] = \"Parsed\";\n /**\n * The `IndexManager` service has processed AST nodes of this document. This means the\n * exported symbols are available in the global scope and can be resolved from other documents.\n */\n DocumentState[DocumentState[\"IndexedContent\"] = 2] = \"IndexedContent\";\n /**\n * The `ScopeComputation` service has processed this document. This means the local symbols\n * are stored in a MultiMap so they can be looked up by the `ScopeProvider` service.\n * Once a document has reached this state, you may follow every reference - it will lazily\n * resolve its `ref` property and yield either the target AST node or `undefined` in case\n * the target is not in scope.\n */\n DocumentState[DocumentState[\"ComputedScopes\"] = 3] = \"ComputedScopes\";\n /**\n * The `Linker` service has processed this document. All outgoing references have been\n * resolved or marked as erroneous.\n */\n DocumentState[DocumentState[\"Linked\"] = 4] = \"Linked\";\n /**\n * The `IndexManager` service has processed AST node references of this document. This is\n * necessary to determine which documents are affected by a change in one of the workspace\n * documents.\n */\n DocumentState[DocumentState[\"IndexedReferences\"] = 5] = \"IndexedReferences\";\n /**\n * The `DocumentValidator` service has processed this document. The language server listens\n * to the results of this phase and sends diagnostics to the client.\n */\n DocumentState[DocumentState[\"Validated\"] = 6] = \"Validated\";\n})(DocumentState || (DocumentState = {}));\nexport class DefaultLangiumDocumentFactory {\n constructor(services) {\n this.serviceRegistry = services.ServiceRegistry;\n this.textDocuments = services.workspace.TextDocuments;\n this.fileSystemProvider = services.workspace.FileSystemProvider;\n }\n async fromUri(uri, cancellationToken = CancellationToken.None) {\n const content = await this.fileSystemProvider.readFile(uri);\n return this.createAsync(uri, content, cancellationToken);\n }\n fromTextDocument(textDocument, uri, token) {\n uri = uri !== null && uri !== void 0 ? uri : URI.parse(textDocument.uri);\n if (CancellationToken.is(token)) {\n return this.createAsync(uri, textDocument, token);\n }\n else {\n return this.create(uri, textDocument, token);\n }\n }\n fromString(text, uri, token) {\n if (CancellationToken.is(token)) {\n return this.createAsync(uri, text, token);\n }\n else {\n return this.create(uri, text, token);\n }\n }\n fromModel(model, uri) {\n return this.create(uri, { $model: model });\n }\n create(uri, content, options) {\n if (typeof content === 'string') {\n const parseResult = this.parse(uri, content, options);\n return this.createLangiumDocument(parseResult, uri, undefined, content);\n }\n else if ('$model' in content) {\n const parseResult = { value: content.$model, parserErrors: [], lexerErrors: [] };\n return this.createLangiumDocument(parseResult, uri);\n }\n else {\n const parseResult = this.parse(uri, content.getText(), options);\n return this.createLangiumDocument(parseResult, uri, content);\n }\n }\n async createAsync(uri, content, cancelToken) {\n if (typeof content === 'string') {\n const parseResult = await this.parseAsync(uri, content, cancelToken);\n return this.createLangiumDocument(parseResult, uri, undefined, content);\n }\n else {\n const parseResult = await this.parseAsync(uri, content.getText(), cancelToken);\n return this.createLangiumDocument(parseResult, uri, content);\n }\n }\n /**\n * Create a LangiumDocument from a given parse result.\n *\n * A TextDocument is created on demand if it is not provided as argument here. Usually this\n * should not be necessary because the main purpose of the TextDocument is to convert between\n * text ranges and offsets, which is done solely in LSP request handling.\n *\n * With the introduction of {@link update} below this method is supposed to be mainly called\n * during workspace initialization and on addition/recognition of new files, while changes in\n * existing documents are processed via {@link update}.\n */\n createLangiumDocument(parseResult, uri, textDocument, text) {\n let document;\n if (textDocument) {\n document = {\n parseResult,\n uri,\n state: DocumentState.Parsed,\n references: [],\n textDocument\n };\n }\n else {\n const textDocumentGetter = this.createTextDocumentGetter(uri, text);\n document = {\n parseResult,\n uri,\n state: DocumentState.Parsed,\n references: [],\n get textDocument() {\n return textDocumentGetter();\n }\n };\n }\n parseResult.value.$document = document;\n return document;\n }\n async update(document, cancellationToken) {\n var _a, _b;\n // The CST full text property contains the original text that was used to create the AST.\n const oldText = (_a = document.parseResult.value.$cstNode) === null || _a === void 0 ? void 0 : _a.root.fullText;\n const textDocument = (_b = this.textDocuments) === null || _b === void 0 ? void 0 : _b.get(document.uri.toString());\n const text = textDocument ? textDocument.getText() : await this.fileSystemProvider.readFile(document.uri);\n if (textDocument) {\n Object.defineProperty(document, 'textDocument', {\n value: textDocument\n });\n }\n else {\n const textDocumentGetter = this.createTextDocumentGetter(document.uri, text);\n Object.defineProperty(document, 'textDocument', {\n get: textDocumentGetter\n });\n }\n // Some of these documents can be pretty large, so parsing them again can be quite expensive.\n // Therefore, we only parse if the text has actually changed.\n if (oldText !== text) {\n document.parseResult = await this.parseAsync(document.uri, text, cancellationToken);\n document.parseResult.value.$document = document;\n }\n document.state = DocumentState.Parsed;\n return document;\n }\n parse(uri, text, options) {\n const services = this.serviceRegistry.getServices(uri);\n return services.parser.LangiumParser.parse(text, options);\n }\n parseAsync(uri, text, cancellationToken) {\n const services = this.serviceRegistry.getServices(uri);\n return services.parser.AsyncParser.parse(text, cancellationToken);\n }\n createTextDocumentGetter(uri, text) {\n const serviceRegistry = this.serviceRegistry;\n let textDoc = undefined;\n return () => {\n return textDoc !== null && textDoc !== void 0 ? textDoc : (textDoc = TextDocument.create(uri.toString(), serviceRegistry.getServices(uri).LanguageMetaData.languageId, 0, text !== null && text !== void 0 ? text : ''));\n };\n }\n}\nexport class DefaultLangiumDocuments {\n constructor(services) {\n this.documentMap = new Map();\n this.langiumDocumentFactory = services.workspace.LangiumDocumentFactory;\n this.serviceRegistry = services.ServiceRegistry;\n }\n get all() {\n return stream(this.documentMap.values());\n }\n addDocument(document) {\n const uriString = document.uri.toString();\n if (this.documentMap.has(uriString)) {\n throw new Error(`A document with the URI '${uriString}' is already present.`);\n }\n this.documentMap.set(uriString, document);\n }\n getDocument(uri) {\n const uriString = uri.toString();\n return this.documentMap.get(uriString);\n }\n async getOrCreateDocument(uri, cancellationToken) {\n let document = this.getDocument(uri);\n if (document) {\n return document;\n }\n document = await this.langiumDocumentFactory.fromUri(uri, cancellationToken);\n this.addDocument(document);\n return document;\n }\n createDocument(uri, text, cancellationToken) {\n if (cancellationToken) {\n return this.langiumDocumentFactory.fromString(text, uri, cancellationToken).then(document => {\n this.addDocument(document);\n return document;\n });\n }\n else {\n const document = this.langiumDocumentFactory.fromString(text, uri);\n this.addDocument(document);\n return document;\n }\n }\n hasDocument(uri) {\n return this.documentMap.has(uri.toString());\n }\n invalidateDocument(uri) {\n const uriString = uri.toString();\n const langiumDoc = this.documentMap.get(uriString);\n if (langiumDoc) {\n const linker = this.serviceRegistry.getServices(uri).references.Linker;\n linker.unlink(langiumDoc);\n langiumDoc.state = DocumentState.Changed;\n langiumDoc.precomputedScopes = undefined;\n langiumDoc.diagnostics = undefined;\n }\n return langiumDoc;\n }\n deleteDocument(uri) {\n const uriString = uri.toString();\n const langiumDoc = this.documentMap.get(uriString);\n if (langiumDoc) {\n langiumDoc.state = DocumentState.Changed;\n this.documentMap.delete(uriString);\n }\n return langiumDoc;\n }\n}\n//# sourceMappingURL=documents.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { isAstNode, isAstNodeDescription, isLinkingError } from '../syntax-tree.js';\nimport { findRootNode, streamAst, streamReferences } from '../utils/ast-utils.js';\nimport { interruptAndCheck } from '../utils/promise-utils.js';\nimport { DocumentState } from '../workspace/documents.js';\nconst ref_resolving = Symbol('ref_resolving');\nexport class DefaultLinker {\n constructor(services) {\n this.reflection = services.shared.AstReflection;\n this.langiumDocuments = () => services.shared.workspace.LangiumDocuments;\n this.scopeProvider = services.references.ScopeProvider;\n this.astNodeLocator = services.workspace.AstNodeLocator;\n }\n async link(document, cancelToken = CancellationToken.None) {\n for (const node of streamAst(document.parseResult.value)) {\n await interruptAndCheck(cancelToken);\n streamReferences(node).forEach(ref => this.doLink(ref, document));\n }\n }\n doLink(refInfo, document) {\n var _a;\n const ref = refInfo.reference;\n // The reference may already have been resolved lazily by accessing its `ref` property.\n if (ref._ref === undefined) {\n ref._ref = ref_resolving;\n try {\n const description = this.getCandidate(refInfo);\n if (isLinkingError(description)) {\n ref._ref = description;\n }\n else {\n ref._nodeDescription = description;\n if (this.langiumDocuments().hasDocument(description.documentUri)) {\n // The target document is already loaded\n const linkedNode = this.loadAstNode(description);\n ref._ref = linkedNode !== null && linkedNode !== void 0 ? linkedNode : this.createLinkingError(refInfo, description);\n }\n else {\n // Try to load the target AST node later using the already provided description\n ref._ref = undefined;\n }\n }\n }\n catch (err) {\n console.error(`An error occurred while resolving reference to '${ref.$refText}':`, err);\n const errorMessage = (_a = err.message) !== null && _a !== void 0 ? _a : String(err);\n ref._ref = Object.assign(Object.assign({}, refInfo), { message: `An error occurred while resolving reference to '${ref.$refText}': ${errorMessage}` });\n }\n // Add the reference to the document's array of references\n // Only add if the reference has been not been resolved earlier\n // Otherwise we end up with duplicates\n // See also implementation of `buildReference`\n document.references.push(ref);\n }\n }\n unlink(document) {\n for (const ref of document.references) {\n delete ref._ref;\n delete ref._nodeDescription;\n }\n document.references = [];\n }\n getCandidate(refInfo) {\n const scope = this.scopeProvider.getScope(refInfo);\n const description = scope.getElement(refInfo.reference.$refText);\n return description !== null && description !== void 0 ? description : this.createLinkingError(refInfo);\n }\n buildReference(node, property, refNode, refText) {\n // See behavior description in doc of Linker, update that on changes in here.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const linker = this;\n const reference = {\n $refNode: refNode,\n $refText: refText,\n get ref() {\n var _a;\n if (isAstNode(this._ref)) {\n // Most frequent case: the target is already resolved.\n return this._ref;\n }\n else if (isAstNodeDescription(this._nodeDescription)) {\n // A candidate has been found before, but it is not loaded yet.\n const linkedNode = linker.loadAstNode(this._nodeDescription);\n this._ref = linkedNode !== null && linkedNode !== void 0 ? linkedNode : linker.createLinkingError({ reference, container: node, property }, this._nodeDescription);\n }\n else if (this._ref === undefined) {\n // The reference has not been linked yet, so do that now.\n this._ref = ref_resolving;\n const document = findRootNode(node).$document;\n const refData = linker.getLinkedNode({ reference, container: node, property });\n if (refData.error && document && document.state < DocumentState.ComputedScopes) {\n // Document scope is not ready, don't set `this._ref` so linker can retry later.\n return this._ref = undefined;\n }\n this._ref = (_a = refData.node) !== null && _a !== void 0 ? _a : refData.error;\n this._nodeDescription = refData.descr;\n document === null || document === void 0 ? void 0 : document.references.push(this);\n }\n else if (this._ref === ref_resolving) {\n throw new Error(`Cyclic reference resolution detected: ${linker.astNodeLocator.getAstNodePath(node)}/${property} (symbol '${refText}')`);\n }\n return isAstNode(this._ref) ? this._ref : undefined;\n },\n get $nodeDescription() {\n return this._nodeDescription;\n },\n get error() {\n return isLinkingError(this._ref) ? this._ref : undefined;\n }\n };\n return reference;\n }\n getLinkedNode(refInfo) {\n var _a;\n try {\n const description = this.getCandidate(refInfo);\n if (isLinkingError(description)) {\n return { error: description };\n }\n const linkedNode = this.loadAstNode(description);\n if (linkedNode) {\n return { node: linkedNode, descr: description };\n }\n else {\n return {\n descr: description,\n error: this.createLinkingError(refInfo, description)\n };\n }\n }\n catch (err) {\n console.error(`An error occurred while resolving reference to '${refInfo.reference.$refText}':`, err);\n const errorMessage = (_a = err.message) !== null && _a !== void 0 ? _a : String(err);\n return {\n error: Object.assign(Object.assign({}, refInfo), { message: `An error occurred while resolving reference to '${refInfo.reference.$refText}': ${errorMessage}` })\n };\n }\n }\n loadAstNode(nodeDescription) {\n if (nodeDescription.node) {\n return nodeDescription.node;\n }\n const doc = this.langiumDocuments().getDocument(nodeDescription.documentUri);\n if (!doc) {\n return undefined;\n }\n return this.astNodeLocator.getAstNode(doc.parseResult.value, nodeDescription.path);\n }\n createLinkingError(refInfo, targetDescription) {\n // Check whether the document is sufficiently processed by the DocumentBuilder. If not, this is a hint for a bug\n // in the language implementation.\n const document = findRootNode(refInfo.container).$document;\n if (document && document.state < DocumentState.ComputedScopes) {\n console.warn(`Attempted reference resolution before document reached ComputedScopes state (${document.uri}).`);\n }\n const referenceType = this.reflection.getReferenceType(refInfo);\n return Object.assign(Object.assign({}, refInfo), { message: `Could not resolve reference to ${referenceType} named '${refInfo.reference.$refText}'.`, targetDescription });\n }\n}\n//# sourceMappingURL=linker.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { findNodeForProperty } from '../utils/grammar-utils.js';\nexport function isNamed(node) {\n return typeof node.name === 'string';\n}\nexport class DefaultNameProvider {\n getName(node) {\n if (isNamed(node)) {\n return node.name;\n }\n return undefined;\n }\n getNameNode(node) {\n return findNodeForProperty(node.$cstNode, 'name');\n }\n}\n//# sourceMappingURL=name-provider.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { findAssignment } from '../utils/grammar-utils.js';\nimport { isReference } from '../syntax-tree.js';\nimport { getDocument } from '../utils/ast-utils.js';\nimport { isChildNode, toDocumentSegment } from '../utils/cst-utils.js';\nimport { stream } from '../utils/stream.js';\nimport { UriUtils } from '../utils/uri-utils.js';\nexport class DefaultReferences {\n constructor(services) {\n this.nameProvider = services.references.NameProvider;\n this.index = services.shared.workspace.IndexManager;\n this.nodeLocator = services.workspace.AstNodeLocator;\n }\n findDeclaration(sourceCstNode) {\n if (sourceCstNode) {\n const assignment = findAssignment(sourceCstNode);\n const nodeElem = sourceCstNode.astNode;\n if (assignment && nodeElem) {\n const reference = nodeElem[assignment.feature];\n if (isReference(reference)) {\n return reference.ref;\n }\n else if (Array.isArray(reference)) {\n for (const ref of reference) {\n if (isReference(ref) && ref.$refNode\n && ref.$refNode.offset <= sourceCstNode.offset\n && ref.$refNode.end >= sourceCstNode.end) {\n return ref.ref;\n }\n }\n }\n }\n if (nodeElem) {\n const nameNode = this.nameProvider.getNameNode(nodeElem);\n // Only return the targeted node in case the targeted cst node is the name node or part of it\n if (nameNode && (nameNode === sourceCstNode || isChildNode(sourceCstNode, nameNode))) {\n return nodeElem;\n }\n }\n }\n return undefined;\n }\n findDeclarationNode(sourceCstNode) {\n const astNode = this.findDeclaration(sourceCstNode);\n if (astNode === null || astNode === void 0 ? void 0 : astNode.$cstNode) {\n const targetNode = this.nameProvider.getNameNode(astNode);\n return targetNode !== null && targetNode !== void 0 ? targetNode : astNode.$cstNode;\n }\n return undefined;\n }\n findReferences(targetNode, options) {\n const refs = [];\n if (options.includeDeclaration) {\n const ref = this.getReferenceToSelf(targetNode);\n if (ref) {\n refs.push(ref);\n }\n }\n let indexReferences = this.index.findAllReferences(targetNode, this.nodeLocator.getAstNodePath(targetNode));\n if (options.documentUri) {\n indexReferences = indexReferences.filter(ref => UriUtils.equals(ref.sourceUri, options.documentUri));\n }\n refs.push(...indexReferences);\n return stream(refs);\n }\n getReferenceToSelf(targetNode) {\n const nameNode = this.nameProvider.getNameNode(targetNode);\n if (nameNode) {\n const doc = getDocument(targetNode);\n const path = this.nodeLocator.getAstNodePath(targetNode);\n return {\n sourceUri: doc.uri,\n sourcePath: path,\n targetUri: doc.uri,\n targetPath: path,\n segment: toDocumentSegment(nameNode),\n local: true\n };\n }\n return undefined;\n }\n}\n//# sourceMappingURL=references.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Reduction, stream } from './stream.js';\n/**\n * A multimap is a variation of a Map that has potentially multiple values for every key.\n */\nexport class MultiMap {\n constructor(elements) {\n this.map = new Map();\n if (elements) {\n for (const [key, value] of elements) {\n this.add(key, value);\n }\n }\n }\n /**\n * The total number of values in the multimap.\n */\n get size() {\n return Reduction.sum(stream(this.map.values()).map(a => a.length));\n }\n /**\n * Clear all entries in the multimap.\n */\n clear() {\n this.map.clear();\n }\n /**\n * Operates differently depending on whether a `value` is given:\n * * With a value, this method deletes the specific key / value pair from the multimap.\n * * Without a value, all values associated with the given key are deleted.\n *\n * @returns `true` if a value existed and has been removed, or `false` if the specified\n * key / value does not exist.\n */\n delete(key, value) {\n if (value === undefined) {\n return this.map.delete(key);\n }\n else {\n const values = this.map.get(key);\n if (values) {\n const index = values.indexOf(value);\n if (index >= 0) {\n if (values.length === 1) {\n this.map.delete(key);\n }\n else {\n values.splice(index, 1);\n }\n return true;\n }\n }\n return false;\n }\n }\n /**\n * Returns an array of all values associated with the given key. If no value exists,\n * an empty array is returned.\n *\n * _Note:_ The returned array is assumed not to be modified. Use the `set` method to add a\n * value and `delete` to remove a value from the multimap.\n */\n get(key) {\n var _a;\n return (_a = this.map.get(key)) !== null && _a !== void 0 ? _a : [];\n }\n /**\n * Operates differently depending on whether a `value` is given:\n * * With a value, this method returns `true` if the specific key / value pair is present in the multimap.\n * * Without a value, this method returns `true` if the given key is present in the multimap.\n */\n has(key, value) {\n if (value === undefined) {\n return this.map.has(key);\n }\n else {\n const values = this.map.get(key);\n if (values) {\n return values.indexOf(value) >= 0;\n }\n return false;\n }\n }\n /**\n * Add the given key / value pair to the multimap.\n */\n add(key, value) {\n if (this.map.has(key)) {\n this.map.get(key).push(value);\n }\n else {\n this.map.set(key, [value]);\n }\n return this;\n }\n /**\n * Add the given set of key / value pairs to the multimap.\n */\n addAll(key, values) {\n if (this.map.has(key)) {\n this.map.get(key).push(...values);\n }\n else {\n this.map.set(key, Array.from(values));\n }\n return this;\n }\n /**\n * Invokes the given callback function for every key / value pair in the multimap.\n */\n forEach(callbackfn) {\n this.map.forEach((array, key) => array.forEach(value => callbackfn(value, key, this)));\n }\n /**\n * Returns an iterator of key, value pairs for every entry in the map.\n */\n [Symbol.iterator]() {\n return this.entries().iterator();\n }\n /**\n * Returns a stream of key, value pairs for every entry in the map.\n */\n entries() {\n return stream(this.map.entries())\n .flatMap(([key, array]) => array.map(value => [key, value]));\n }\n /**\n * Returns a stream of keys in the map.\n */\n keys() {\n return stream(this.map.keys());\n }\n /**\n * Returns a stream of values in the map.\n */\n values() {\n return stream(this.map.values()).flat();\n }\n /**\n * Returns a stream of key, value set pairs for every key in the map.\n */\n entriesGroupedByKey() {\n return stream(this.map.entries());\n }\n}\nexport class BiMap {\n get size() {\n return this.map.size;\n }\n constructor(elements) {\n this.map = new Map();\n this.inverse = new Map();\n if (elements) {\n for (const [key, value] of elements) {\n this.set(key, value);\n }\n }\n }\n clear() {\n this.map.clear();\n this.inverse.clear();\n }\n set(key, value) {\n this.map.set(key, value);\n this.inverse.set(value, key);\n return this;\n }\n get(key) {\n return this.map.get(key);\n }\n getKey(value) {\n return this.inverse.get(value);\n }\n delete(key) {\n const value = this.map.get(key);\n if (value !== undefined) {\n this.map.delete(key);\n this.inverse.delete(value);\n return true;\n }\n return false;\n }\n}\n//# sourceMappingURL=collections.js.map", + "/******************************************************************************\n * Copyright 2021-2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { streamAllContents, streamContents } from '../utils/ast-utils.js';\nimport { MultiMap } from '../utils/collections.js';\nimport { interruptAndCheck } from '../utils/promise-utils.js';\n/**\n * The default scope computation creates and collectes descriptions of the AST nodes to be exported into the\n * _global_ scope from the given document. By default those are the document's root AST node and its directly\n * contained child nodes.\n *\n * Besides, it gathers all AST nodes that have a name (according to the `NameProvider` service) and includes them\n * in the local scope of their particular container nodes. As a result, for every cross-reference in the AST,\n * target elements from the same level (siblings) and further up towards the root (parents and siblings of parents)\n * are visible. Elements being nested inside lower levels (children, children of siblings and parents' siblings)\n * are _invisible_ by default, but that can be changed by customizing this service.\n */\nexport class DefaultScopeComputation {\n constructor(services) {\n this.nameProvider = services.references.NameProvider;\n this.descriptions = services.workspace.AstNodeDescriptionProvider;\n }\n async computeExports(document, cancelToken = CancellationToken.None) {\n return this.computeExportsForNode(document.parseResult.value, document, undefined, cancelToken);\n }\n /**\n * Creates {@link AstNodeDescription AstNodeDescriptions} for the given {@link AstNode parentNode} and its children.\n * The list of children to be considered is determined by the function parameter {@link children}.\n * By default only the direct children of {@link parentNode} are visited, nested nodes are not exported.\n *\n * @param parentNode AST node to be exported, i.e., of which an {@link AstNodeDescription} shall be added to the returned list.\n * @param document The document containing the AST node to be exported.\n * @param children A function called with {@link parentNode} as single argument and returning an {@link Iterable} supplying the children to be visited, which must be directly or transitively contained in {@link parentNode}.\n * @param cancelToken Indicates when to cancel the current operation.\n * @throws `OperationCancelled` if a user action occurs during execution.\n * @returns A list of {@link AstNodeDescription AstNodeDescriptions} to be published to index.\n */\n async computeExportsForNode(parentNode, document, children = streamContents, cancelToken = CancellationToken.None) {\n const exports = [];\n this.exportNode(parentNode, exports, document);\n for (const node of children(parentNode)) {\n await interruptAndCheck(cancelToken);\n this.exportNode(node, exports, document);\n }\n return exports;\n }\n /**\n * Add a single node to the list of exports if it has a name. Override this method to change how\n * symbols are exported, e.g. by modifying their exported name.\n */\n exportNode(node, exports, document) {\n const name = this.nameProvider.getName(node);\n if (name) {\n exports.push(this.descriptions.createDescription(node, name, document));\n }\n }\n async computeLocalScopes(document, cancelToken = CancellationToken.None) {\n const rootNode = document.parseResult.value;\n const scopes = new MultiMap();\n // Here we navigate the full AST - local scopes shall be available in the whole document\n for (const node of streamAllContents(rootNode)) {\n await interruptAndCheck(cancelToken);\n this.processNode(node, document, scopes);\n }\n return scopes;\n }\n /**\n * Process a single node during scopes computation. The default implementation makes the node visible\n * in the subtree of its container (if the node has a name). Override this method to change this,\n * e.g. by increasing the visibility to a higher level in the AST.\n */\n processNode(node, document, scopes) {\n const container = node.$container;\n if (container) {\n const name = this.nameProvider.getName(node);\n if (name) {\n scopes.add(container, this.descriptions.createDescription(node, name, document));\n }\n }\n }\n}\n//# sourceMappingURL=scope-computation.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { EMPTY_STREAM, stream } from '../utils/stream.js';\n/**\n * The default scope implementation is based on a `Stream`. It has an optional _outer scope_ describing\n * the next level of elements, which are queried when a target element is not found in the stream provided\n * to this scope.\n */\nexport class StreamScope {\n constructor(elements, outerScope, options) {\n var _a;\n this.elements = elements;\n this.outerScope = outerScope;\n this.caseInsensitive = (_a = options === null || options === void 0 ? void 0 : options.caseInsensitive) !== null && _a !== void 0 ? _a : false;\n }\n getAllElements() {\n if (this.outerScope) {\n return this.elements.concat(this.outerScope.getAllElements());\n }\n else {\n return this.elements;\n }\n }\n getElement(name) {\n const local = this.caseInsensitive\n ? this.elements.find(e => e.name.toLowerCase() === name.toLowerCase())\n : this.elements.find(e => e.name === name);\n if (local) {\n return local;\n }\n if (this.outerScope) {\n return this.outerScope.getElement(name);\n }\n return undefined;\n }\n}\nexport class MapScope {\n constructor(elements, outerScope, options) {\n var _a;\n this.elements = new Map();\n this.caseInsensitive = (_a = options === null || options === void 0 ? void 0 : options.caseInsensitive) !== null && _a !== void 0 ? _a : false;\n for (const element of elements) {\n const name = this.caseInsensitive\n ? element.name.toLowerCase()\n : element.name;\n this.elements.set(name, element);\n }\n this.outerScope = outerScope;\n }\n getElement(name) {\n const localName = this.caseInsensitive ? name.toLowerCase() : name;\n const local = this.elements.get(localName);\n if (local) {\n return local;\n }\n if (this.outerScope) {\n return this.outerScope.getElement(name);\n }\n return undefined;\n }\n getAllElements() {\n let elementStream = stream(this.elements.values());\n if (this.outerScope) {\n elementStream = elementStream.concat(this.outerScope.getAllElements());\n }\n return elementStream;\n }\n}\nexport const EMPTY_SCOPE = {\n getElement() {\n return undefined;\n },\n getAllElements() {\n return EMPTY_STREAM;\n }\n};\n//# sourceMappingURL=scope.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport class DisposableCache {\n constructor() {\n this.toDispose = [];\n this.isDisposed = false;\n }\n onDispose(disposable) {\n this.toDispose.push(disposable);\n }\n dispose() {\n this.throwIfDisposed();\n this.clear();\n this.isDisposed = true;\n this.toDispose.forEach(disposable => disposable.dispose());\n }\n throwIfDisposed() {\n if (this.isDisposed) {\n throw new Error('This cache has already been disposed');\n }\n }\n}\nexport class SimpleCache extends DisposableCache {\n constructor() {\n super(...arguments);\n this.cache = new Map();\n }\n has(key) {\n this.throwIfDisposed();\n return this.cache.has(key);\n }\n set(key, value) {\n this.throwIfDisposed();\n this.cache.set(key, value);\n }\n get(key, provider) {\n this.throwIfDisposed();\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n else if (provider) {\n const value = provider();\n this.cache.set(key, value);\n return value;\n }\n else {\n return undefined;\n }\n }\n delete(key) {\n this.throwIfDisposed();\n return this.cache.delete(key);\n }\n clear() {\n this.throwIfDisposed();\n this.cache.clear();\n }\n}\nexport class ContextCache extends DisposableCache {\n constructor(converter) {\n super();\n this.cache = new Map();\n this.converter = converter !== null && converter !== void 0 ? converter : (value => value);\n }\n has(contextKey, key) {\n this.throwIfDisposed();\n return this.cacheForContext(contextKey).has(key);\n }\n set(contextKey, key, value) {\n this.throwIfDisposed();\n this.cacheForContext(contextKey).set(key, value);\n }\n get(contextKey, key, provider) {\n this.throwIfDisposed();\n const contextCache = this.cacheForContext(contextKey);\n if (contextCache.has(key)) {\n return contextCache.get(key);\n }\n else if (provider) {\n const value = provider();\n contextCache.set(key, value);\n return value;\n }\n else {\n return undefined;\n }\n }\n delete(contextKey, key) {\n this.throwIfDisposed();\n return this.cacheForContext(contextKey).delete(key);\n }\n clear(contextKey) {\n this.throwIfDisposed();\n if (contextKey) {\n const mapKey = this.converter(contextKey);\n this.cache.delete(mapKey);\n }\n else {\n this.cache.clear();\n }\n }\n cacheForContext(contextKey) {\n const mapKey = this.converter(contextKey);\n let documentCache = this.cache.get(mapKey);\n if (!documentCache) {\n documentCache = new Map();\n this.cache.set(mapKey, documentCache);\n }\n return documentCache;\n }\n}\n/**\n * Every key/value pair in this cache is scoped to a document.\n * If this document is changed or deleted, all associated key/value pairs are deleted.\n */\nexport class DocumentCache extends ContextCache {\n /**\n * Creates a new document cache.\n *\n * @param sharedServices Service container instance to hook into document lifecycle events.\n * @param state Optional document state on which the cache should evict.\n * If not provided, the cache will evict on `DocumentBuilder#onUpdate`.\n * *Deleted* documents are considered in both cases.\n *\n * Providing a state here will use `DocumentBuilder#onDocumentPhase` instead,\n * which triggers on all documents that have been affected by this change, assuming that the\n * state is `DocumentState.Linked` or a later state.\n */\n constructor(sharedServices, state) {\n super(uri => uri.toString());\n if (state) {\n this.toDispose.push(sharedServices.workspace.DocumentBuilder.onDocumentPhase(state, document => {\n this.clear(document.uri.toString());\n }));\n this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate((_changed, deleted) => {\n for (const uri of deleted) { // react only on deleted documents\n this.clear(uri);\n }\n }));\n }\n else {\n this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate((changed, deleted) => {\n const allUris = changed.concat(deleted); // react on both changed and deleted documents\n for (const uri of allUris) {\n this.clear(uri);\n }\n }));\n }\n }\n}\n/**\n * Every key/value pair in this cache is scoped to the whole workspace.\n * If any document in the workspace is added, changed or deleted, the whole cache is evicted.\n */\nexport class WorkspaceCache extends SimpleCache {\n /**\n * Creates a new workspace cache.\n *\n * @param sharedServices Service container instance to hook into document lifecycle events.\n * @param state Optional document state on which the cache should evict.\n * If not provided, the cache will evict on `DocumentBuilder#onUpdate`.\n * *Deleted* documents are considered in both cases.\n */\n constructor(sharedServices, state) {\n super();\n if (state) {\n this.toDispose.push(sharedServices.workspace.DocumentBuilder.onBuildPhase(state, () => {\n this.clear();\n }));\n this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate((_changed, deleted) => {\n if (deleted.length > 0) { // react only on deleted documents\n this.clear();\n }\n }));\n }\n else {\n this.toDispose.push(sharedServices.workspace.DocumentBuilder.onUpdate(() => {\n this.clear();\n }));\n }\n }\n}\n//# sourceMappingURL=caching.js.map", + "/******************************************************************************\n * Copyright 2021-2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { MapScope, StreamScope } from './scope.js';\nimport { getDocument } from '../utils/ast-utils.js';\nimport { stream } from '../utils/stream.js';\nimport { WorkspaceCache } from '../utils/caching.js';\nexport class DefaultScopeProvider {\n constructor(services) {\n this.reflection = services.shared.AstReflection;\n this.nameProvider = services.references.NameProvider;\n this.descriptions = services.workspace.AstNodeDescriptionProvider;\n this.indexManager = services.shared.workspace.IndexManager;\n this.globalScopeCache = new WorkspaceCache(services.shared);\n }\n getScope(context) {\n const scopes = [];\n const referenceType = this.reflection.getReferenceType(context);\n const precomputed = getDocument(context.container).precomputedScopes;\n if (precomputed) {\n let currentNode = context.container;\n do {\n const allDescriptions = precomputed.get(currentNode);\n if (allDescriptions.length > 0) {\n scopes.push(stream(allDescriptions).filter(desc => this.reflection.isSubtype(desc.type, referenceType)));\n }\n currentNode = currentNode.$container;\n } while (currentNode);\n }\n let result = this.getGlobalScope(referenceType, context);\n for (let i = scopes.length - 1; i >= 0; i--) {\n result = this.createScope(scopes[i], result);\n }\n return result;\n }\n /**\n * Create a scope for the given collection of AST node descriptions.\n */\n createScope(elements, outerScope, options) {\n return new StreamScope(stream(elements), outerScope, options);\n }\n /**\n * Create a scope for the given collection of AST nodes, which need to be transformed into respective\n * descriptions first. This is done using the `NameProvider` and `AstNodeDescriptionProvider` services.\n */\n createScopeForNodes(elements, outerScope, options) {\n const s = stream(elements).map(e => {\n const name = this.nameProvider.getName(e);\n if (name) {\n return this.descriptions.createDescription(e, name);\n }\n return undefined;\n }).nonNullable();\n return new StreamScope(s, outerScope, options);\n }\n /**\n * Create a global scope filtered for the given reference type.\n */\n getGlobalScope(referenceType, _context) {\n return this.globalScopeCache.get(referenceType, () => new MapScope(this.indexManager.allElements(referenceType)));\n }\n}\n//# sourceMappingURL=scope-provider.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { URI } from 'vscode-uri';\nimport { isAstNode, isReference } from '../syntax-tree.js';\nimport { getDocument } from '../utils/ast-utils.js';\nimport { findNodesForProperty } from '../utils/grammar-utils.js';\nexport function isAstNodeWithComment(node) {\n return typeof node.$comment === 'string';\n}\nfunction isIntermediateReference(obj) {\n return typeof obj === 'object' && !!obj && ('$ref' in obj || '$error' in obj);\n}\nexport class DefaultJsonSerializer {\n constructor(services) {\n /** The set of AstNode properties to be ignored by the serializer. */\n this.ignoreProperties = new Set(['$container', '$containerProperty', '$containerIndex', '$document', '$cstNode']);\n this.langiumDocuments = services.shared.workspace.LangiumDocuments;\n this.astNodeLocator = services.workspace.AstNodeLocator;\n this.nameProvider = services.references.NameProvider;\n this.commentProvider = services.documentation.CommentProvider;\n }\n serialize(node, options) {\n const serializeOptions = options !== null && options !== void 0 ? options : {};\n const specificReplacer = options === null || options === void 0 ? void 0 : options.replacer;\n const defaultReplacer = (key, value) => this.replacer(key, value, serializeOptions);\n const replacer = specificReplacer ? (key, value) => specificReplacer(key, value, defaultReplacer) : defaultReplacer;\n try {\n this.currentDocument = getDocument(node);\n return JSON.stringify(node, replacer, options === null || options === void 0 ? void 0 : options.space);\n }\n finally {\n this.currentDocument = undefined;\n }\n }\n deserialize(content, options) {\n const deserializeOptions = options !== null && options !== void 0 ? options : {};\n const root = JSON.parse(content);\n this.linkNode(root, root, deserializeOptions);\n return root;\n }\n replacer(key, value, { refText, sourceText, textRegions, comments, uriConverter }) {\n var _a, _b, _c, _d;\n if (this.ignoreProperties.has(key)) {\n return undefined;\n }\n else if (isReference(value)) {\n const refValue = value.ref;\n const $refText = refText ? value.$refText : undefined;\n if (refValue) {\n const targetDocument = getDocument(refValue);\n let targetUri = '';\n if (this.currentDocument && this.currentDocument !== targetDocument) {\n if (uriConverter) {\n targetUri = uriConverter(targetDocument.uri, value);\n }\n else {\n targetUri = targetDocument.uri.toString();\n }\n }\n const targetPath = this.astNodeLocator.getAstNodePath(refValue);\n return {\n $ref: `${targetUri}#${targetPath}`,\n $refText\n };\n }\n else {\n return {\n $error: (_b = (_a = value.error) === null || _a === void 0 ? void 0 : _a.message) !== null && _b !== void 0 ? _b : 'Could not resolve reference',\n $refText\n };\n }\n }\n else if (isAstNode(value)) {\n let astNode = undefined;\n if (textRegions) {\n astNode = this.addAstNodeRegionWithAssignmentsTo(Object.assign({}, value));\n if ((!key || value.$document) && (astNode === null || astNode === void 0 ? void 0 : astNode.$textRegion)) {\n // The document URI is added to the root node of the resulting JSON tree\n astNode.$textRegion.documentURI = (_c = this.currentDocument) === null || _c === void 0 ? void 0 : _c.uri.toString();\n }\n }\n if (sourceText && !key) {\n astNode !== null && astNode !== void 0 ? astNode : (astNode = Object.assign({}, value));\n astNode.$sourceText = (_d = value.$cstNode) === null || _d === void 0 ? void 0 : _d.text;\n }\n if (comments) {\n astNode !== null && astNode !== void 0 ? astNode : (astNode = Object.assign({}, value));\n const comment = this.commentProvider.getComment(value);\n if (comment) {\n astNode.$comment = comment.replace(/\\r/g, '');\n }\n }\n return astNode !== null && astNode !== void 0 ? astNode : value;\n }\n else {\n return value;\n }\n }\n addAstNodeRegionWithAssignmentsTo(node) {\n const createDocumentSegment = cstNode => ({\n offset: cstNode.offset,\n end: cstNode.end,\n length: cstNode.length,\n range: cstNode.range,\n });\n if (node.$cstNode) {\n const textRegion = node.$textRegion = createDocumentSegment(node.$cstNode);\n const assignments = textRegion.assignments = {};\n Object.keys(node).filter(key => !key.startsWith('$')).forEach(key => {\n const propertyAssignments = findNodesForProperty(node.$cstNode, key).map(createDocumentSegment);\n if (propertyAssignments.length !== 0) {\n assignments[key] = propertyAssignments;\n }\n });\n return node;\n }\n return undefined;\n }\n linkNode(node, root, options, container, containerProperty, containerIndex) {\n for (const [propertyName, item] of Object.entries(node)) {\n if (Array.isArray(item)) {\n for (let index = 0; index < item.length; index++) {\n const element = item[index];\n if (isIntermediateReference(element)) {\n item[index] = this.reviveReference(node, propertyName, root, element, options);\n }\n else if (isAstNode(element)) {\n this.linkNode(element, root, options, node, propertyName, index);\n }\n }\n }\n else if (isIntermediateReference(item)) {\n node[propertyName] = this.reviveReference(node, propertyName, root, item, options);\n }\n else if (isAstNode(item)) {\n this.linkNode(item, root, options, node, propertyName);\n }\n }\n const mutable = node;\n mutable.$container = container;\n mutable.$containerProperty = containerProperty;\n mutable.$containerIndex = containerIndex;\n }\n reviveReference(container, property, root, reference, options) {\n let refText = reference.$refText;\n let error = reference.$error;\n if (reference.$ref) {\n const ref = this.getRefNode(root, reference.$ref, options.uriConverter);\n if (isAstNode(ref)) {\n if (!refText) {\n refText = this.nameProvider.getName(ref);\n }\n return {\n $refText: refText !== null && refText !== void 0 ? refText : '',\n ref\n };\n }\n else {\n error = ref;\n }\n }\n if (error) {\n const ref = {\n $refText: refText !== null && refText !== void 0 ? refText : ''\n };\n ref.error = {\n container,\n property,\n message: error,\n reference: ref\n };\n return ref;\n }\n else {\n return undefined;\n }\n }\n getRefNode(root, uri, uriConverter) {\n try {\n const fragmentIndex = uri.indexOf('#');\n if (fragmentIndex === 0) {\n const node = this.astNodeLocator.getAstNode(root, uri.substring(1));\n if (!node) {\n return 'Could not resolve path: ' + uri;\n }\n return node;\n }\n if (fragmentIndex < 0) {\n const documentUri = uriConverter ? uriConverter(uri) : URI.parse(uri);\n const document = this.langiumDocuments.getDocument(documentUri);\n if (!document) {\n return 'Could not find document for URI: ' + uri;\n }\n return document.parseResult.value;\n }\n const documentUri = uriConverter ? uriConverter(uri.substring(0, fragmentIndex)) : URI.parse(uri.substring(0, fragmentIndex));\n const document = this.langiumDocuments.getDocument(documentUri);\n if (!document) {\n return 'Could not find document for URI: ' + uri;\n }\n if (fragmentIndex === uri.length - 1) {\n return document.parseResult.value;\n }\n const node = this.astNodeLocator.getAstNode(document.parseResult.value, uri.substring(fragmentIndex + 1));\n if (!node) {\n return 'Could not resolve URI: ' + uri;\n }\n return node;\n }\n catch (err) {\n return String(err);\n }\n }\n}\n//# sourceMappingURL=json-serializer.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { UriUtils } from './utils/uri-utils.js';\n/**\n * Generic registry for Langium services, but capable of being used with extending service sets as well (such as the lsp-complete LangiumCoreServices set)\n */\nexport class DefaultServiceRegistry {\n /**\n * @deprecated Use the new `fileExtensionMap` (or `languageIdMap`) property instead.\n */\n get map() {\n return this.fileExtensionMap;\n }\n constructor(services) {\n this.languageIdMap = new Map();\n this.fileExtensionMap = new Map();\n this.textDocuments = services === null || services === void 0 ? void 0 : services.workspace.TextDocuments;\n }\n register(language) {\n const data = language.LanguageMetaData;\n for (const ext of data.fileExtensions) {\n if (this.fileExtensionMap.has(ext)) {\n console.warn(`The file extension ${ext} is used by multiple languages. It is now assigned to '${data.languageId}'.`);\n }\n this.fileExtensionMap.set(ext, language);\n }\n this.languageIdMap.set(data.languageId, language);\n if (this.languageIdMap.size === 1) {\n this.singleton = language;\n }\n else {\n this.singleton = undefined;\n }\n }\n getServices(uri) {\n var _a, _b;\n if (this.singleton !== undefined) {\n return this.singleton;\n }\n if (this.languageIdMap.size === 0) {\n throw new Error('The service registry is empty. Use `register` to register the services of a language.');\n }\n const languageId = (_b = (_a = this.textDocuments) === null || _a === void 0 ? void 0 : _a.get(uri)) === null || _b === void 0 ? void 0 : _b.languageId;\n if (languageId !== undefined) {\n const services = this.languageIdMap.get(languageId);\n if (services) {\n return services;\n }\n }\n const ext = UriUtils.extname(uri);\n const services = this.fileExtensionMap.get(ext);\n if (!services) {\n if (languageId) {\n throw new Error(`The service registry contains no services for the extension '${ext}' for language '${languageId}'.`);\n }\n else {\n throw new Error(`The service registry contains no services for the extension '${ext}'.`);\n }\n }\n return services;\n }\n hasServices(uri) {\n try {\n this.getServices(uri);\n return true;\n }\n catch (_a) {\n return false;\n }\n }\n get all() {\n return Array.from(this.languageIdMap.values());\n }\n}\n//# sourceMappingURL=service-registry.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { assertUnreachable } from '../index.js';\nimport { MultiMap } from '../utils/collections.js';\nimport { isOperationCancelled } from '../utils/promise-utils.js';\nimport { stream } from '../utils/stream.js';\n/**\n * Create DiagnosticData for a given diagnostic code. The result can be put into the `data` field of a DiagnosticInfo.\n */\nexport function diagnosticData(code) {\n return { code };\n}\nexport var ValidationCategory;\n(function (ValidationCategory) {\n ValidationCategory.all = ['fast', 'slow', 'built-in'];\n})(ValidationCategory || (ValidationCategory = {}));\n/**\n * Manages a set of `ValidationCheck`s to be applied when documents are validated.\n */\nexport class ValidationRegistry {\n constructor(services) {\n this.entries = new MultiMap();\n this.entriesBefore = [];\n this.entriesAfter = [];\n this.reflection = services.shared.AstReflection;\n }\n /**\n * Register a set of validation checks. Each value in the record can be either a single validation check (i.e. a function)\n * or an array of validation checks.\n *\n * @param checksRecord Set of validation checks to register.\n * @param category Optional category for the validation checks (defaults to `'fast'`).\n * @param thisObj Optional object to be used as `this` when calling the validation check functions.\n */\n register(checksRecord, thisObj = this, category = 'fast') {\n if (category === 'built-in') {\n throw new Error(\"The 'built-in' category is reserved for lexer, parser, and linker errors.\");\n }\n for (const [type, ch] of Object.entries(checksRecord)) {\n const callbacks = ch;\n if (Array.isArray(callbacks)) {\n for (const check of callbacks) {\n const entry = {\n check: this.wrapValidationException(check, thisObj),\n category\n };\n this.addEntry(type, entry);\n }\n }\n else if (typeof callbacks === 'function') {\n const entry = {\n check: this.wrapValidationException(callbacks, thisObj),\n category\n };\n this.addEntry(type, entry);\n }\n else {\n assertUnreachable(callbacks);\n }\n }\n }\n wrapValidationException(check, thisObj) {\n return async (node, accept, cancelToken) => {\n await this.handleException(() => check.call(thisObj, node, accept, cancelToken), 'An error occurred during validation', accept, node);\n };\n }\n async handleException(functionality, messageContext, accept, node) {\n try {\n await functionality();\n }\n catch (err) {\n if (isOperationCancelled(err)) {\n throw err;\n }\n console.error(`${messageContext}:`, err);\n if (err instanceof Error && err.stack) {\n console.error(err.stack);\n }\n const messageDetails = err instanceof Error ? err.message : String(err);\n accept('error', `${messageContext}: ${messageDetails}`, { node });\n }\n }\n addEntry(type, entry) {\n if (type === 'AstNode') {\n this.entries.add('AstNode', entry);\n return;\n }\n for (const subtype of this.reflection.getAllSubTypes(type)) {\n this.entries.add(subtype, entry);\n }\n }\n getChecks(type, categories) {\n let checks = stream(this.entries.get(type))\n .concat(this.entries.get('AstNode'));\n if (categories) {\n checks = checks.filter(entry => categories.includes(entry.category));\n }\n return checks.map(entry => entry.check);\n }\n /**\n * Register logic which will be executed once before validating all the nodes of an AST/Langium document.\n * This helps to prepare or initialize some information which are required or reusable for the following checks on the AstNodes.\n *\n * As an example, for validating unique fully-qualified names of nodes in the AST,\n * here the map for mapping names to nodes could be established.\n * During the usual checks on the nodes, they are put into this map with their name.\n *\n * Note that this approach makes validations stateful, which is relevant e.g. when cancelling the validation.\n * Therefore it is recommended to clear stored information\n * _before_ validating an AST to validate each AST unaffected from other ASTs\n * AND _after_ validating the AST to free memory by information which are no longer used.\n *\n * @param checkBefore a set-up function which will be called once before actually validating an AST\n * @param thisObj Optional object to be used as `this` when calling the validation check functions.\n */\n registerBeforeDocument(checkBefore, thisObj = this) {\n this.entriesBefore.push(this.wrapPreparationException(checkBefore, 'An error occurred during set-up of the validation', thisObj));\n }\n /**\n * Register logic which will be executed once after validating all the nodes of an AST/Langium document.\n * This helps to finally evaluate information which are collected during the checks on the AstNodes.\n *\n * As an example, for validating unique fully-qualified names of nodes in the AST,\n * here the map with all the collected nodes and their names is checked\n * and validation hints are created for all nodes with the same name.\n *\n * Note that this approach makes validations stateful, which is relevant e.g. when cancelling the validation.\n * Therefore it is recommended to clear stored information\n * _before_ validating an AST to validate each AST unaffected from other ASTs\n * AND _after_ validating the AST to free memory by information which are no longer used.\n *\n * @param checkBefore a set-up function which will be called once before actually validating an AST\n * @param thisObj Optional object to be used as `this` when calling the validation check functions.\n */\n registerAfterDocument(checkAfter, thisObj = this) {\n this.entriesAfter.push(this.wrapPreparationException(checkAfter, 'An error occurred during tear-down of the validation', thisObj));\n }\n wrapPreparationException(check, messageContext, thisObj) {\n return async (rootNode, accept, categories, cancelToken) => {\n await this.handleException(() => check.call(thisObj, rootNode, accept, categories, cancelToken), messageContext, accept, rootNode);\n };\n }\n get checksBefore() {\n return this.entriesBefore;\n }\n get checksAfter() {\n return this.entriesAfter;\n }\n}\n//# sourceMappingURL=validation-registry.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { findNodeForKeyword, findNodeForProperty } from '../utils/grammar-utils.js';\nimport { streamAst } from '../utils/ast-utils.js';\nimport { tokenToRange } from '../utils/cst-utils.js';\nimport { interruptAndCheck, isOperationCancelled } from '../utils/promise-utils.js';\nimport { diagnosticData } from './validation-registry.js';\nexport class DefaultDocumentValidator {\n constructor(services) {\n this.validationRegistry = services.validation.ValidationRegistry;\n this.metadata = services.LanguageMetaData;\n }\n async validateDocument(document, options = {}, cancelToken = CancellationToken.None) {\n const parseResult = document.parseResult;\n const diagnostics = [];\n await interruptAndCheck(cancelToken);\n if (!options.categories || options.categories.includes('built-in')) {\n this.processLexingErrors(parseResult, diagnostics, options);\n if (options.stopAfterLexingErrors && diagnostics.some(d => { var _a; return ((_a = d.data) === null || _a === void 0 ? void 0 : _a.code) === DocumentValidator.LexingError; })) {\n return diagnostics;\n }\n this.processParsingErrors(parseResult, diagnostics, options);\n if (options.stopAfterParsingErrors && diagnostics.some(d => { var _a; return ((_a = d.data) === null || _a === void 0 ? void 0 : _a.code) === DocumentValidator.ParsingError; })) {\n return diagnostics;\n }\n this.processLinkingErrors(document, diagnostics, options);\n if (options.stopAfterLinkingErrors && diagnostics.some(d => { var _a; return ((_a = d.data) === null || _a === void 0 ? void 0 : _a.code) === DocumentValidator.LinkingError; })) {\n return diagnostics;\n }\n }\n // Process custom validations\n try {\n diagnostics.push(...await this.validateAst(parseResult.value, options, cancelToken));\n }\n catch (err) {\n if (isOperationCancelled(err)) {\n throw err;\n }\n console.error('An error occurred during validation:', err);\n }\n await interruptAndCheck(cancelToken);\n return diagnostics;\n }\n processLexingErrors(parseResult, diagnostics, _options) {\n var _a, _b, _c;\n const lexerDiagnostics = [...parseResult.lexerErrors, ...(_b = (_a = parseResult.lexerReport) === null || _a === void 0 ? void 0 : _a.diagnostics) !== null && _b !== void 0 ? _b : []];\n for (const lexerDiagnostic of lexerDiagnostics) {\n const severity = (_c = lexerDiagnostic.severity) !== null && _c !== void 0 ? _c : 'error';\n const diagnostic = {\n severity: toDiagnosticSeverity(severity),\n range: {\n start: {\n line: lexerDiagnostic.line - 1,\n character: lexerDiagnostic.column - 1\n },\n end: {\n line: lexerDiagnostic.line - 1,\n character: lexerDiagnostic.column + lexerDiagnostic.length - 1\n }\n },\n message: lexerDiagnostic.message,\n data: toDiagnosticData(severity),\n source: this.getSource()\n };\n diagnostics.push(diagnostic);\n }\n }\n processParsingErrors(parseResult, diagnostics, _options) {\n for (const parserError of parseResult.parserErrors) {\n let range = undefined;\n // We can run into the chevrotain error recovery here\n // The token contained in the parser error might be automatically inserted\n // In this case every position value will be `NaN`\n if (isNaN(parserError.token.startOffset)) {\n // Some special parser error types contain a `previousToken`\n // We can simply append our diagnostic to that token\n if ('previousToken' in parserError) {\n const token = parserError.previousToken;\n if (!isNaN(token.startOffset)) {\n const position = { line: token.endLine - 1, character: token.endColumn };\n range = { start: position, end: position };\n }\n else {\n // No valid prev token. Might be empty document or containing only hidden tokens.\n // Point to document start\n const position = { line: 0, character: 0 };\n range = { start: position, end: position };\n }\n }\n }\n else {\n range = tokenToRange(parserError.token);\n }\n if (range) {\n const diagnostic = {\n severity: toDiagnosticSeverity('error'),\n range,\n message: parserError.message,\n data: diagnosticData(DocumentValidator.ParsingError),\n source: this.getSource()\n };\n diagnostics.push(diagnostic);\n }\n }\n }\n processLinkingErrors(document, diagnostics, _options) {\n for (const reference of document.references) {\n const linkingError = reference.error;\n if (linkingError) {\n const info = {\n node: linkingError.container,\n property: linkingError.property,\n index: linkingError.index,\n data: {\n code: DocumentValidator.LinkingError,\n containerType: linkingError.container.$type,\n property: linkingError.property,\n refText: linkingError.reference.$refText\n }\n };\n diagnostics.push(this.toDiagnostic('error', linkingError.message, info));\n }\n }\n }\n async validateAst(rootNode, options, cancelToken = CancellationToken.None) {\n const validationItems = [];\n const acceptor = (severity, message, info) => {\n validationItems.push(this.toDiagnostic(severity, message, info));\n };\n await this.validateAstBefore(rootNode, options, acceptor, cancelToken);\n await this.validateAstNodes(rootNode, options, acceptor, cancelToken);\n await this.validateAstAfter(rootNode, options, acceptor, cancelToken);\n return validationItems;\n }\n async validateAstBefore(rootNode, options, acceptor, cancelToken = CancellationToken.None) {\n var _a;\n const checksBefore = this.validationRegistry.checksBefore;\n for (const checkBefore of checksBefore) {\n await interruptAndCheck(cancelToken);\n await checkBefore(rootNode, acceptor, (_a = options.categories) !== null && _a !== void 0 ? _a : [], cancelToken);\n }\n }\n async validateAstNodes(rootNode, options, acceptor, cancelToken = CancellationToken.None) {\n await Promise.all(streamAst(rootNode).map(async (node) => {\n await interruptAndCheck(cancelToken);\n const checks = this.validationRegistry.getChecks(node.$type, options.categories);\n for (const check of checks) {\n await check(node, acceptor, cancelToken);\n }\n }));\n }\n async validateAstAfter(rootNode, options, acceptor, cancelToken = CancellationToken.None) {\n var _a;\n const checksAfter = this.validationRegistry.checksAfter;\n for (const checkAfter of checksAfter) {\n await interruptAndCheck(cancelToken);\n await checkAfter(rootNode, acceptor, (_a = options.categories) !== null && _a !== void 0 ? _a : [], cancelToken);\n }\n }\n toDiagnostic(severity, message, info) {\n return {\n message,\n range: getDiagnosticRange(info),\n severity: toDiagnosticSeverity(severity),\n code: info.code,\n codeDescription: info.codeDescription,\n tags: info.tags,\n relatedInformation: info.relatedInformation,\n data: info.data,\n source: this.getSource()\n };\n }\n getSource() {\n return this.metadata.languageId;\n }\n}\nexport function getDiagnosticRange(info) {\n if (info.range) {\n return info.range;\n }\n let cstNode;\n if (typeof info.property === 'string') {\n cstNode = findNodeForProperty(info.node.$cstNode, info.property, info.index);\n }\n else if (typeof info.keyword === 'string') {\n cstNode = findNodeForKeyword(info.node.$cstNode, info.keyword, info.index);\n }\n cstNode !== null && cstNode !== void 0 ? cstNode : (cstNode = info.node.$cstNode);\n if (!cstNode) {\n return {\n start: { line: 0, character: 0 },\n end: { line: 0, character: 0 }\n };\n }\n return cstNode.range;\n}\n/**\n * Transforms the diagnostic severity from the {@link LexingDiagnosticSeverity} format to LSP's `DiagnosticSeverity` format.\n *\n * @param severity The lexing diagnostic severity\n * @returns Diagnostic severity according to `vscode-languageserver-types/lib/esm/main.js#DiagnosticSeverity`\n */\nexport function toDiagnosticSeverity(severity) {\n switch (severity) {\n case 'error':\n return 1;\n case 'warning':\n return 2;\n case 'info':\n return 3;\n case 'hint':\n return 4;\n default:\n throw new Error('Invalid diagnostic severity: ' + severity);\n }\n}\nexport function toDiagnosticData(severity) {\n switch (severity) {\n case 'error':\n return diagnosticData(DocumentValidator.LexingError);\n case 'warning':\n return diagnosticData(DocumentValidator.LexingWarning);\n case 'info':\n return diagnosticData(DocumentValidator.LexingInfo);\n case 'hint':\n return diagnosticData(DocumentValidator.LexingHint);\n default:\n throw new Error('Invalid diagnostic severity: ' + severity);\n }\n}\nexport var DocumentValidator;\n(function (DocumentValidator) {\n DocumentValidator.LexingError = 'lexing-error';\n DocumentValidator.LexingWarning = 'lexing-warning';\n DocumentValidator.LexingInfo = 'lexing-info';\n DocumentValidator.LexingHint = 'lexing-hint';\n DocumentValidator.ParsingError = 'parsing-error';\n DocumentValidator.LinkingError = 'linking-error';\n})(DocumentValidator || (DocumentValidator = {}));\n//# sourceMappingURL=document-validator.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { isLinkingError } from '../syntax-tree.js';\nimport { getDocument, streamAst, streamReferences } from '../utils/ast-utils.js';\nimport { toDocumentSegment } from '../utils/cst-utils.js';\nimport { interruptAndCheck } from '../utils/promise-utils.js';\nimport { UriUtils } from '../utils/uri-utils.js';\nexport class DefaultAstNodeDescriptionProvider {\n constructor(services) {\n this.astNodeLocator = services.workspace.AstNodeLocator;\n this.nameProvider = services.references.NameProvider;\n }\n createDescription(node, name, document) {\n const doc = document !== null && document !== void 0 ? document : getDocument(node);\n name !== null && name !== void 0 ? name : (name = this.nameProvider.getName(node));\n const path = this.astNodeLocator.getAstNodePath(node);\n if (!name) {\n throw new Error(`Node at path ${path} has no name.`);\n }\n let nameNodeSegment;\n const nameSegmentGetter = () => { var _a; return nameNodeSegment !== null && nameNodeSegment !== void 0 ? nameNodeSegment : (nameNodeSegment = toDocumentSegment((_a = this.nameProvider.getNameNode(node)) !== null && _a !== void 0 ? _a : node.$cstNode)); };\n return {\n node,\n name,\n get nameSegment() {\n return nameSegmentGetter();\n },\n selectionSegment: toDocumentSegment(node.$cstNode),\n type: node.$type,\n documentUri: doc.uri,\n path\n };\n }\n}\nexport class DefaultReferenceDescriptionProvider {\n constructor(services) {\n this.nodeLocator = services.workspace.AstNodeLocator;\n }\n async createDescriptions(document, cancelToken = CancellationToken.None) {\n const descr = [];\n const rootNode = document.parseResult.value;\n for (const astNode of streamAst(rootNode)) {\n await interruptAndCheck(cancelToken);\n streamReferences(astNode).filter(refInfo => !isLinkingError(refInfo)).forEach(refInfo => {\n // TODO: Consider logging a warning or throw an exception when DocumentState is < than Linked\n const description = this.createDescription(refInfo);\n if (description) {\n descr.push(description);\n }\n });\n }\n return descr;\n }\n createDescription(refInfo) {\n const targetNodeDescr = refInfo.reference.$nodeDescription;\n const refCstNode = refInfo.reference.$refNode;\n if (!targetNodeDescr || !refCstNode) {\n return undefined;\n }\n const docUri = getDocument(refInfo.container).uri;\n return {\n sourceUri: docUri,\n sourcePath: this.nodeLocator.getAstNodePath(refInfo.container),\n targetUri: targetNodeDescr.documentUri,\n targetPath: targetNodeDescr.path,\n segment: toDocumentSegment(refCstNode),\n local: UriUtils.equals(targetNodeDescr.documentUri, docUri)\n };\n }\n}\n//# sourceMappingURL=ast-descriptions.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport class DefaultAstNodeLocator {\n constructor() {\n this.segmentSeparator = '/';\n this.indexSeparator = '@';\n }\n getAstNodePath(node) {\n if (node.$container) {\n const containerPath = this.getAstNodePath(node.$container);\n const newSegment = this.getPathSegment(node);\n const nodePath = containerPath + this.segmentSeparator + newSegment;\n return nodePath;\n }\n return '';\n }\n getPathSegment({ $containerProperty, $containerIndex }) {\n if (!$containerProperty) {\n throw new Error(\"Missing '$containerProperty' in AST node.\");\n }\n if ($containerIndex !== undefined) {\n return $containerProperty + this.indexSeparator + $containerIndex;\n }\n return $containerProperty;\n }\n getAstNode(node, path) {\n const segments = path.split(this.segmentSeparator);\n return segments.reduce((previousValue, currentValue) => {\n if (!previousValue || currentValue.length === 0) {\n return previousValue;\n }\n const propertyIndex = currentValue.indexOf(this.indexSeparator);\n if (propertyIndex > 0) {\n const property = currentValue.substring(0, propertyIndex);\n const arrayIndex = parseInt(currentValue.substring(propertyIndex + 1));\n const array = previousValue[property];\n return array === null || array === void 0 ? void 0 : array[arrayIndex];\n }\n return previousValue[currentValue];\n }, node);\n }\n}\n//# sourceMappingURL=ast-node-locator.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Emitter } from '../utils/event.js';\nimport { Deferred } from '../utils/promise-utils.js';\n/**\n * Base configuration provider for building up other configuration providers\n */\nexport class DefaultConfigurationProvider {\n constructor(services) {\n this._ready = new Deferred();\n this.settings = {};\n this.workspaceConfig = false;\n this.onConfigurationSectionUpdateEmitter = new Emitter();\n this.serviceRegistry = services.ServiceRegistry;\n }\n get ready() {\n return this._ready.promise;\n }\n initialize(params) {\n var _a, _b;\n this.workspaceConfig = (_b = (_a = params.capabilities.workspace) === null || _a === void 0 ? void 0 : _a.configuration) !== null && _b !== void 0 ? _b : false;\n }\n async initialized(params) {\n if (this.workspaceConfig) {\n if (params.register) {\n // params.register(...) is a function to be provided by the calling language server for the sake of\n // decoupling this implementation from the concrete LSP implementations, specifically the LSP Connection\n const languages = this.serviceRegistry.all;\n params.register({\n // Listen to configuration changes for all languages\n section: languages.map(lang => this.toSectionName(lang.LanguageMetaData.languageId))\n });\n }\n if (params.fetchConfiguration) {\n // params.fetchConfiguration(...) is a function to be provided by the calling language server for the sake of\n // decoupling this implementation from the concrete LSP implementations, specifically the LSP Connection\n const configToUpdate = this.serviceRegistry.all.map(lang => ({\n // Fetch the configuration changes for all languages\n section: this.toSectionName(lang.LanguageMetaData.languageId)\n }));\n // get workspace configurations (default scope URI)\n const configs = await params.fetchConfiguration(configToUpdate);\n configToUpdate.forEach((conf, idx) => {\n this.updateSectionConfiguration(conf.section, configs[idx]);\n });\n }\n }\n this._ready.resolve();\n }\n /**\n * Updates the cached configurations using the `change` notification parameters.\n *\n * @param change The parameters of a change configuration notification.\n * `settings` property of the change object could be expressed as `Record<string, Record<string, any>>`\n */\n updateConfiguration(change) {\n if (!change.settings) {\n return;\n }\n Object.keys(change.settings).forEach(section => {\n const configuration = change.settings[section];\n this.updateSectionConfiguration(section, configuration);\n this.onConfigurationSectionUpdateEmitter.fire({ section, configuration });\n });\n }\n updateSectionConfiguration(section, configuration) {\n this.settings[section] = configuration;\n }\n /**\n * Returns a configuration value stored for the given language.\n *\n * @param language The language id\n * @param configuration Configuration name\n */\n async getConfiguration(language, configuration) {\n await this.ready;\n const sectionName = this.toSectionName(language);\n if (this.settings[sectionName]) {\n return this.settings[sectionName][configuration];\n }\n }\n toSectionName(languageId) {\n return `${languageId}`;\n }\n get onConfigurationSectionUpdate() {\n return this.onConfigurationSectionUpdateEmitter.event;\n }\n}\n//# sourceMappingURL=configuration.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport var Disposable;\n(function (Disposable) {\n function create(callback) {\n return {\n dispose: async () => await callback()\n };\n }\n Disposable.create = create;\n})(Disposable || (Disposable = {}));\n//# sourceMappingURL=disposable.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { Disposable } from '../utils/disposable.js';\nimport { MultiMap } from '../utils/collections.js';\nimport { OperationCancelled, interruptAndCheck, isOperationCancelled } from '../utils/promise-utils.js';\nimport { stream } from '../utils/stream.js';\nimport { ValidationCategory } from '../validation/validation-registry.js';\nimport { DocumentState } from './documents.js';\nexport class DefaultDocumentBuilder {\n constructor(services) {\n this.updateBuildOptions = {\n // Default: run only the built-in validation checks and those in the _fast_ category (includes those without category)\n validation: {\n categories: ['built-in', 'fast']\n }\n };\n this.updateListeners = [];\n this.buildPhaseListeners = new MultiMap();\n this.documentPhaseListeners = new MultiMap();\n this.buildState = new Map();\n this.documentBuildWaiters = new Map();\n this.currentState = DocumentState.Changed;\n this.langiumDocuments = services.workspace.LangiumDocuments;\n this.langiumDocumentFactory = services.workspace.LangiumDocumentFactory;\n this.textDocuments = services.workspace.TextDocuments;\n this.indexManager = services.workspace.IndexManager;\n this.serviceRegistry = services.ServiceRegistry;\n }\n async build(documents, options = {}, cancelToken = CancellationToken.None) {\n var _a, _b;\n for (const document of documents) {\n const key = document.uri.toString();\n if (document.state === DocumentState.Validated) {\n if (typeof options.validation === 'boolean' && options.validation) {\n // Force re-running all validation checks\n document.state = DocumentState.IndexedReferences;\n document.diagnostics = undefined;\n this.buildState.delete(key);\n }\n else if (typeof options.validation === 'object') {\n const buildState = this.buildState.get(key);\n const previousCategories = (_a = buildState === null || buildState === void 0 ? void 0 : buildState.result) === null || _a === void 0 ? void 0 : _a.validationChecks;\n if (previousCategories) {\n // Validation with explicit options was requested for a document that has already been partly validated.\n // In this case, we need to merge the previous validation categories with the new ones.\n const newCategories = (_b = options.validation.categories) !== null && _b !== void 0 ? _b : ValidationCategory.all;\n const categories = newCategories.filter(c => !previousCategories.includes(c));\n if (categories.length > 0) {\n this.buildState.set(key, {\n completed: false,\n options: {\n validation: Object.assign(Object.assign({}, options.validation), { categories })\n },\n result: buildState.result\n });\n document.state = DocumentState.IndexedReferences;\n }\n }\n }\n }\n else {\n // Default: forget any previous build options\n this.buildState.delete(key);\n }\n }\n this.currentState = DocumentState.Changed;\n await this.emitUpdate(documents.map(e => e.uri), []);\n await this.buildDocuments(documents, options, cancelToken);\n }\n async update(changed, deleted, cancelToken = CancellationToken.None) {\n this.currentState = DocumentState.Changed;\n // Remove all metadata of documents that are reported as deleted\n for (const deletedUri of deleted) {\n this.langiumDocuments.deleteDocument(deletedUri);\n this.buildState.delete(deletedUri.toString());\n this.indexManager.remove(deletedUri);\n }\n // Set the state of all changed documents to `Changed` so they are completely rebuilt\n for (const changedUri of changed) {\n const invalidated = this.langiumDocuments.invalidateDocument(changedUri);\n if (!invalidated) {\n // We create an unparsed, invalid document.\n // This will be parsed as soon as we reach the first document builder phase.\n // This allows to cancel the parsing process later in case we need it.\n const newDocument = this.langiumDocumentFactory.fromModel({ $type: 'INVALID' }, changedUri);\n newDocument.state = DocumentState.Changed;\n this.langiumDocuments.addDocument(newDocument);\n }\n this.buildState.delete(changedUri.toString());\n }\n // Set the state of all documents that should be relinked to `ComputedScopes` (if not already lower)\n const allChangedUris = stream(changed).concat(deleted).map(uri => uri.toString()).toSet();\n this.langiumDocuments.all\n .filter(doc => !allChangedUris.has(doc.uri.toString()) && this.shouldRelink(doc, allChangedUris))\n .forEach(doc => {\n const linker = this.serviceRegistry.getServices(doc.uri).references.Linker;\n linker.unlink(doc);\n doc.state = Math.min(doc.state, DocumentState.ComputedScopes);\n doc.diagnostics = undefined;\n });\n // Notify listeners of the update\n await this.emitUpdate(changed, deleted);\n // Only allow interrupting the execution after all state changes are done\n await interruptAndCheck(cancelToken);\n // Collect and sort all documents that we should rebuild\n const rebuildDocuments = this.sortDocuments(this.langiumDocuments.all\n .filter(doc => {\n var _a;\n // This includes those that were reported as changed and those that we selected for relinking\n return doc.state < DocumentState.Linked\n // This includes those for which a previous build has been cancelled\n || !((_a = this.buildState.get(doc.uri.toString())) === null || _a === void 0 ? void 0 : _a.completed);\n })\n .toArray());\n await this.buildDocuments(rebuildDocuments, this.updateBuildOptions, cancelToken);\n }\n async emitUpdate(changed, deleted) {\n await Promise.all(this.updateListeners.map(listener => listener(changed, deleted)));\n }\n /**\n * Sort the given documents by priority. By default, documents with an open text document are prioritized.\n * This is useful to ensure that visible documents show their diagnostics before all other documents.\n *\n * This improves the responsiveness in large workspaces as users usually don't care about diagnostics\n * in files that are currently not opened in the editor.\n */\n sortDocuments(documents) {\n let left = 0;\n let right = documents.length - 1;\n while (left < right) {\n while (left < documents.length && this.hasTextDocument(documents[left])) {\n left++;\n }\n while (right >= 0 && !this.hasTextDocument(documents[right])) {\n right--;\n }\n if (left < right) {\n [documents[left], documents[right]] = [documents[right], documents[left]];\n }\n }\n return documents;\n }\n hasTextDocument(doc) {\n var _a;\n return Boolean((_a = this.textDocuments) === null || _a === void 0 ? void 0 : _a.get(doc.uri));\n }\n /**\n * Check whether the given document should be relinked after changes were found in the given URIs.\n */\n shouldRelink(document, changedUris) {\n // Relink documents with linking errors -- maybe those references can be resolved now\n if (document.references.some(ref => ref.error !== undefined)) {\n return true;\n }\n // Check whether the document is affected by any of the changed URIs\n return this.indexManager.isAffected(document, changedUris);\n }\n onUpdate(callback) {\n this.updateListeners.push(callback);\n return Disposable.create(() => {\n const index = this.updateListeners.indexOf(callback);\n if (index >= 0) {\n this.updateListeners.splice(index, 1);\n }\n });\n }\n /**\n * Build the given documents by stepping through all build phases. If a document's state indicates\n * that a certain build phase is already done, the phase is skipped for that document.\n *\n * @param documents The documents to build.\n * @param options the {@link BuildOptions} to use.\n * @param cancelToken A cancellation token that can be used to cancel the build.\n * @returns A promise that resolves when the build is done.\n */\n async buildDocuments(documents, options, cancelToken) {\n this.prepareBuild(documents, options);\n // 0. Parse content\n await this.runCancelable(documents, DocumentState.Parsed, cancelToken, doc => this.langiumDocumentFactory.update(doc, cancelToken));\n // 1. Index content\n await this.runCancelable(documents, DocumentState.IndexedContent, cancelToken, doc => this.indexManager.updateContent(doc, cancelToken));\n // 2. Compute scopes\n await this.runCancelable(documents, DocumentState.ComputedScopes, cancelToken, async (doc) => {\n const scopeComputation = this.serviceRegistry.getServices(doc.uri).references.ScopeComputation;\n doc.precomputedScopes = await scopeComputation.computeLocalScopes(doc, cancelToken);\n });\n // 3. Linking\n await this.runCancelable(documents, DocumentState.Linked, cancelToken, doc => {\n const linker = this.serviceRegistry.getServices(doc.uri).references.Linker;\n return linker.link(doc, cancelToken);\n });\n // 4. Index references\n await this.runCancelable(documents, DocumentState.IndexedReferences, cancelToken, doc => this.indexManager.updateReferences(doc, cancelToken));\n // 5. Validation\n const toBeValidated = documents.filter(doc => this.shouldValidate(doc));\n await this.runCancelable(toBeValidated, DocumentState.Validated, cancelToken, doc => this.validate(doc, cancelToken));\n // If we've made it to this point without being cancelled, we can mark the build state as completed.\n for (const doc of documents) {\n const state = this.buildState.get(doc.uri.toString());\n if (state) {\n state.completed = true;\n }\n }\n }\n /**\n * Runs prior to beginning the build process to update the {@link DocumentBuildState} for each document\n *\n * @param documents collection of documents to be built\n * @param options the {@link BuildOptions} to use\n */\n prepareBuild(documents, options) {\n for (const doc of documents) {\n const key = doc.uri.toString();\n const state = this.buildState.get(key);\n // If the document has no previous build state, we set it. If it has one, but it's already marked\n // as completed, we overwrite it. If the previous build was not completed, we keep its state\n // and continue where it was cancelled.\n if (!state || state.completed) {\n this.buildState.set(key, {\n completed: false,\n options,\n result: state === null || state === void 0 ? void 0 : state.result\n });\n }\n }\n }\n /**\n * Runs a cancelable operation on a set of documents to bring them to a specified {@link DocumentState}.\n *\n * @param documents The array of documents to process.\n * @param targetState The target {@link DocumentState} to bring the documents to.\n * @param cancelToken A token that can be used to cancel the operation.\n * @param callback A function to be called for each document.\n * @returns A promise that resolves when all documents have been processed or the operation is canceled.\n * @throws Will throw `OperationCancelled` if the operation is canceled via a `CancellationToken`.\n */\n async runCancelable(documents, targetState, cancelToken, callback) {\n const filtered = documents.filter(doc => doc.state < targetState);\n for (const document of filtered) {\n await interruptAndCheck(cancelToken);\n await callback(document);\n document.state = targetState;\n await this.notifyDocumentPhase(document, targetState, cancelToken);\n }\n // Do not use `filtered` here, as that will miss documents that have previously reached the current target state\n // For example, this happens in case the cancellation triggers between the processing of two documents\n // Or files that were picked up during the workspace initialization\n const targetStateDocs = documents.filter(doc => doc.state === targetState);\n await this.notifyBuildPhase(targetStateDocs, targetState, cancelToken);\n this.currentState = targetState;\n }\n onBuildPhase(targetState, callback) {\n this.buildPhaseListeners.add(targetState, callback);\n return Disposable.create(() => {\n this.buildPhaseListeners.delete(targetState, callback);\n });\n }\n onDocumentPhase(targetState, callback) {\n this.documentPhaseListeners.add(targetState, callback);\n return Disposable.create(() => {\n this.documentPhaseListeners.delete(targetState, callback);\n });\n }\n waitUntil(state, uriOrToken, cancelToken) {\n let uri = undefined;\n if (uriOrToken && 'path' in uriOrToken) {\n uri = uriOrToken;\n }\n else {\n cancelToken = uriOrToken;\n }\n cancelToken !== null && cancelToken !== void 0 ? cancelToken : (cancelToken = CancellationToken.None);\n if (uri) {\n const document = this.langiumDocuments.getDocument(uri);\n if (document && document.state > state) {\n return Promise.resolve(uri);\n }\n }\n if (this.currentState >= state) {\n return Promise.resolve(undefined);\n }\n else if (cancelToken.isCancellationRequested) {\n return Promise.reject(OperationCancelled);\n }\n return new Promise((resolve, reject) => {\n const buildDisposable = this.onBuildPhase(state, () => {\n buildDisposable.dispose();\n cancelDisposable.dispose();\n if (uri) {\n const document = this.langiumDocuments.getDocument(uri);\n resolve(document === null || document === void 0 ? void 0 : document.uri);\n }\n else {\n resolve(undefined);\n }\n });\n const cancelDisposable = cancelToken.onCancellationRequested(() => {\n buildDisposable.dispose();\n cancelDisposable.dispose();\n reject(OperationCancelled);\n });\n });\n }\n async notifyDocumentPhase(document, state, cancelToken) {\n const listeners = this.documentPhaseListeners.get(state);\n const listenersCopy = listeners.slice();\n for (const listener of listenersCopy) {\n try {\n await listener(document, cancelToken);\n }\n catch (err) {\n // Ignore cancellation errors\n // We want to finish the listeners before throwing\n if (!isOperationCancelled(err)) {\n throw err;\n }\n }\n }\n }\n async notifyBuildPhase(documents, state, cancelToken) {\n if (documents.length === 0) {\n // Don't notify when no document has been processed\n return;\n }\n const listeners = this.buildPhaseListeners.get(state);\n const listenersCopy = listeners.slice();\n for (const listener of listenersCopy) {\n await interruptAndCheck(cancelToken);\n await listener(documents, cancelToken);\n }\n }\n /**\n * Determine whether the given document should be validated during a build. The default\n * implementation checks the `validation` property of the build options. If it's set to `true`\n * or a `ValidationOptions` object, the document is included in the validation phase.\n */\n shouldValidate(document) {\n return Boolean(this.getBuildOptions(document).validation);\n }\n /**\n * Run validation checks on the given document and store the resulting diagnostics in the document.\n * If the document already contains diagnostics, the new ones are added to the list.\n */\n async validate(document, cancelToken) {\n var _a, _b;\n const validator = this.serviceRegistry.getServices(document.uri).validation.DocumentValidator;\n const validationSetting = this.getBuildOptions(document).validation;\n const options = typeof validationSetting === 'object' ? validationSetting : undefined;\n const diagnostics = await validator.validateDocument(document, options, cancelToken);\n if (document.diagnostics) {\n document.diagnostics.push(...diagnostics);\n }\n else {\n document.diagnostics = diagnostics;\n }\n // Store information about the executed validation in the build state\n const state = this.buildState.get(document.uri.toString());\n if (state) {\n (_a = state.result) !== null && _a !== void 0 ? _a : (state.result = {});\n const newCategories = (_b = options === null || options === void 0 ? void 0 : options.categories) !== null && _b !== void 0 ? _b : ValidationCategory.all;\n if (state.result.validationChecks) {\n state.result.validationChecks.push(...newCategories);\n }\n else {\n state.result.validationChecks = [...newCategories];\n }\n }\n }\n getBuildOptions(document) {\n var _a, _b;\n return (_b = (_a = this.buildState.get(document.uri.toString())) === null || _a === void 0 ? void 0 : _a.options) !== null && _b !== void 0 ? _b : {};\n }\n}\n//# sourceMappingURL=document-builder.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { getDocument } from '../utils/ast-utils.js';\nimport { ContextCache } from '../utils/caching.js';\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { stream } from '../utils/stream.js';\nimport { UriUtils } from '../utils/uri-utils.js';\nexport class DefaultIndexManager {\n constructor(services) {\n /**\n * The symbol index stores all `AstNodeDescription` items exported by a document.\n * The key used in this map is the string representation of the specific document URI.\n */\n this.symbolIndex = new Map();\n /**\n * This is a cache for the `allElements()` method.\n * It caches the descriptions from `symbolIndex` grouped by types.\n */\n this.symbolByTypeIndex = new ContextCache();\n /**\n * This index keeps track of all `ReferenceDescription` items exported by a document.\n * This is used to compute which elements are affected by a document change\n * and for finding references to an AST node.\n */\n this.referenceIndex = new Map();\n this.documents = services.workspace.LangiumDocuments;\n this.serviceRegistry = services.ServiceRegistry;\n this.astReflection = services.AstReflection;\n }\n findAllReferences(targetNode, astNodePath) {\n const targetDocUri = getDocument(targetNode).uri;\n const result = [];\n this.referenceIndex.forEach(docRefs => {\n docRefs.forEach(refDescr => {\n if (UriUtils.equals(refDescr.targetUri, targetDocUri) && refDescr.targetPath === astNodePath) {\n result.push(refDescr);\n }\n });\n });\n return stream(result);\n }\n allElements(nodeType, uris) {\n let documentUris = stream(this.symbolIndex.keys());\n if (uris) {\n documentUris = documentUris.filter(uri => !uris || uris.has(uri));\n }\n return documentUris\n .map(uri => this.getFileDescriptions(uri, nodeType))\n .flat();\n }\n getFileDescriptions(uri, nodeType) {\n var _a;\n if (!nodeType) {\n return (_a = this.symbolIndex.get(uri)) !== null && _a !== void 0 ? _a : [];\n }\n const descriptions = this.symbolByTypeIndex.get(uri, nodeType, () => {\n var _a;\n const allFileDescriptions = (_a = this.symbolIndex.get(uri)) !== null && _a !== void 0 ? _a : [];\n return allFileDescriptions.filter(e => this.astReflection.isSubtype(e.type, nodeType));\n });\n return descriptions;\n }\n remove(uri) {\n const uriString = uri.toString();\n this.symbolIndex.delete(uriString);\n this.symbolByTypeIndex.clear(uriString);\n this.referenceIndex.delete(uriString);\n }\n async updateContent(document, cancelToken = CancellationToken.None) {\n const services = this.serviceRegistry.getServices(document.uri);\n const exports = await services.references.ScopeComputation.computeExports(document, cancelToken);\n const uri = document.uri.toString();\n this.symbolIndex.set(uri, exports);\n this.symbolByTypeIndex.clear(uri);\n }\n async updateReferences(document, cancelToken = CancellationToken.None) {\n const services = this.serviceRegistry.getServices(document.uri);\n const indexData = await services.workspace.ReferenceDescriptionProvider.createDescriptions(document, cancelToken);\n this.referenceIndex.set(document.uri.toString(), indexData);\n }\n isAffected(document, changedUris) {\n const references = this.referenceIndex.get(document.uri.toString());\n if (!references) {\n return false;\n }\n return references.some(ref => !ref.local && changedUris.has(ref.targetUri.toString()));\n }\n}\n//# sourceMappingURL=index-manager.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken } from '../utils/cancellation.js';\nimport { Deferred, interruptAndCheck } from '../utils/promise-utils.js';\nimport { URI, UriUtils } from '../utils/uri-utils.js';\nexport class DefaultWorkspaceManager {\n constructor(services) {\n this.initialBuildOptions = {};\n this._ready = new Deferred();\n this.serviceRegistry = services.ServiceRegistry;\n this.langiumDocuments = services.workspace.LangiumDocuments;\n this.documentBuilder = services.workspace.DocumentBuilder;\n this.fileSystemProvider = services.workspace.FileSystemProvider;\n this.mutex = services.workspace.WorkspaceLock;\n }\n get ready() {\n return this._ready.promise;\n }\n get workspaceFolders() {\n return this.folders;\n }\n initialize(params) {\n var _a;\n this.folders = (_a = params.workspaceFolders) !== null && _a !== void 0 ? _a : undefined;\n }\n initialized(_params) {\n // Initialize the workspace even if there are no workspace folders\n // We still want to load additional documents (language library or similar) during initialization\n return this.mutex.write(token => { var _a; return this.initializeWorkspace((_a = this.folders) !== null && _a !== void 0 ? _a : [], token); });\n }\n async initializeWorkspace(folders, cancelToken = CancellationToken.None) {\n const documents = await this.performStartup(folders);\n // Only after creating all documents do we check whether we need to cancel the initialization\n // The document builder will later pick up on all unprocessed documents\n await interruptAndCheck(cancelToken);\n await this.documentBuilder.build(documents, this.initialBuildOptions, cancelToken);\n }\n /**\n * Performs the uninterruptable startup sequence of the workspace manager.\n * This methods loads all documents in the workspace and other documents and returns them.\n */\n async performStartup(folders) {\n const fileExtensions = this.serviceRegistry.all.flatMap(e => e.LanguageMetaData.fileExtensions);\n const documents = [];\n const collector = (document) => {\n documents.push(document);\n if (!this.langiumDocuments.hasDocument(document.uri)) {\n this.langiumDocuments.addDocument(document);\n }\n };\n // Even though we don't await the initialization of the workspace manager,\n // we can still assume that all library documents and file documents are loaded by the time we start building documents.\n // The mutex prevents anything from performing a workspace build until we check the cancellation token\n await this.loadAdditionalDocuments(folders, collector);\n await Promise.all(folders.map(wf => [wf, this.getRootFolder(wf)])\n .map(async (entry) => this.traverseFolder(...entry, fileExtensions, collector)));\n this._ready.resolve();\n return documents;\n }\n /**\n * Load all additional documents that shall be visible in the context of the given workspace\n * folders and add them to the collector. This can be used to include built-in libraries of\n * your language, which can be either loaded from provided files or constructed in memory.\n */\n loadAdditionalDocuments(_folders, _collector) {\n return Promise.resolve();\n }\n /**\n * Determine the root folder of the source documents in the given workspace folder.\n * The default implementation returns the URI of the workspace folder, but you can override\n * this to return a subfolder like `src` instead.\n */\n getRootFolder(workspaceFolder) {\n return URI.parse(workspaceFolder.uri);\n }\n /**\n * Traverse the file system folder identified by the given URI and its subfolders. All\n * contained files that match the file extensions are added to the collector.\n */\n async traverseFolder(workspaceFolder, folderPath, fileExtensions, collector) {\n const content = await this.fileSystemProvider.readDirectory(folderPath);\n await Promise.all(content.map(async (entry) => {\n if (this.includeEntry(workspaceFolder, entry, fileExtensions)) {\n if (entry.isDirectory) {\n await this.traverseFolder(workspaceFolder, entry.uri, fileExtensions, collector);\n }\n else if (entry.isFile) {\n const document = await this.langiumDocuments.getOrCreateDocument(entry.uri);\n collector(document);\n }\n }\n }));\n }\n /**\n * Determine whether the given folder entry shall be included while indexing the workspace.\n */\n includeEntry(_workspaceFolder, entry, fileExtensions) {\n const name = UriUtils.basename(entry.uri);\n if (name.startsWith('.')) {\n return false;\n }\n if (entry.isDirectory) {\n return name !== 'node_modules' && name !== 'out';\n }\n else if (entry.isFile) {\n const extname = UriUtils.extname(entry.uri);\n return fileExtensions.includes(extname);\n }\n return false;\n }\n}\n//# sourceMappingURL=workspace-manager.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Lexer as ChevrotainLexer, defaultLexerErrorProvider } from 'chevrotain';\nexport class DefaultLexerErrorMessageProvider {\n buildUnexpectedCharactersMessage(fullText, startOffset, length, line, column) {\n return defaultLexerErrorProvider.buildUnexpectedCharactersMessage(fullText, startOffset, length, line, column);\n }\n buildUnableToPopLexerModeMessage(token) {\n return defaultLexerErrorProvider.buildUnableToPopLexerModeMessage(token);\n }\n}\nexport const DEFAULT_TOKENIZE_OPTIONS = { mode: 'full' };\nexport class DefaultLexer {\n constructor(services) {\n this.errorMessageProvider = services.parser.LexerErrorMessageProvider;\n this.tokenBuilder = services.parser.TokenBuilder;\n const tokens = this.tokenBuilder.buildTokens(services.Grammar, {\n caseInsensitive: services.LanguageMetaData.caseInsensitive\n });\n this.tokenTypes = this.toTokenTypeDictionary(tokens);\n const lexerTokens = isTokenTypeDictionary(tokens) ? Object.values(tokens) : tokens;\n const production = services.LanguageMetaData.mode === 'production';\n this.chevrotainLexer = new ChevrotainLexer(lexerTokens, {\n positionTracking: 'full',\n skipValidations: production,\n errorMessageProvider: this.errorMessageProvider\n });\n }\n get definition() {\n return this.tokenTypes;\n }\n tokenize(text, _options = DEFAULT_TOKENIZE_OPTIONS) {\n var _a, _b, _c;\n const chevrotainResult = this.chevrotainLexer.tokenize(text);\n return {\n tokens: chevrotainResult.tokens,\n errors: chevrotainResult.errors,\n hidden: (_a = chevrotainResult.groups.hidden) !== null && _a !== void 0 ? _a : [],\n report: (_c = (_b = this.tokenBuilder).flushLexingReport) === null || _c === void 0 ? void 0 : _c.call(_b, text)\n };\n }\n toTokenTypeDictionary(buildTokens) {\n if (isTokenTypeDictionary(buildTokens))\n return buildTokens;\n const tokens = isIMultiModeLexerDefinition(buildTokens) ? Object.values(buildTokens.modes).flat() : buildTokens;\n const res = {};\n tokens.forEach(token => res[token.name] = token);\n return res;\n }\n}\n/**\n * Returns a check whether the given TokenVocabulary is TokenType array\n */\nexport function isTokenTypeArray(tokenVocabulary) {\n return Array.isArray(tokenVocabulary) && (tokenVocabulary.length === 0 || 'name' in tokenVocabulary[0]);\n}\n/**\n * Returns a check whether the given TokenVocabulary is IMultiModeLexerDefinition\n */\nexport function isIMultiModeLexerDefinition(tokenVocabulary) {\n return tokenVocabulary && 'modes' in tokenVocabulary && 'defaultMode' in tokenVocabulary;\n}\n/**\n * Returns a check whether the given TokenVocabulary is TokenTypeDictionary\n */\nexport function isTokenTypeDictionary(tokenVocabulary) {\n return !isTokenTypeArray(tokenVocabulary) && !isIMultiModeLexerDefinition(tokenVocabulary);\n}\n//# sourceMappingURL=lexer.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Position, Range } from 'vscode-languageserver-types';\nimport { NEWLINE_REGEXP, escapeRegExp } from '../utils/regexp-utils.js';\nimport { URI } from '../utils/uri-utils.js';\nexport function parseJSDoc(node, start, options) {\n let opts;\n let position;\n if (typeof node === 'string') {\n position = start;\n opts = options;\n }\n else {\n position = node.range.start;\n opts = start;\n }\n if (!position) {\n position = Position.create(0, 0);\n }\n const lines = getLines(node);\n const normalizedOptions = normalizeOptions(opts);\n const tokens = tokenize({\n lines,\n position,\n options: normalizedOptions\n });\n return parseJSDocComment({\n index: 0,\n tokens,\n position\n });\n}\nexport function isJSDoc(node, options) {\n const normalizedOptions = normalizeOptions(options);\n const lines = getLines(node);\n if (lines.length === 0) {\n return false;\n }\n const first = lines[0];\n const last = lines[lines.length - 1];\n const firstRegex = normalizedOptions.start;\n const lastRegex = normalizedOptions.end;\n return Boolean(firstRegex === null || firstRegex === void 0 ? void 0 : firstRegex.exec(first)) && Boolean(lastRegex === null || lastRegex === void 0 ? void 0 : lastRegex.exec(last));\n}\nfunction getLines(node) {\n let content = '';\n if (typeof node === 'string') {\n content = node;\n }\n else {\n content = node.text;\n }\n const lines = content.split(NEWLINE_REGEXP);\n return lines;\n}\nconst tagRegex = /\\s*(@([\\p{L}][\\p{L}\\p{N}]*)?)/uy;\nconst inlineTagRegex = /\\{(@[\\p{L}][\\p{L}\\p{N}]*)(\\s*)([^\\r\\n}]+)?\\}/gu;\nfunction tokenize(context) {\n var _a, _b, _c;\n const tokens = [];\n let currentLine = context.position.line;\n let currentCharacter = context.position.character;\n for (let i = 0; i < context.lines.length; i++) {\n const first = i === 0;\n const last = i === context.lines.length - 1;\n let line = context.lines[i];\n let index = 0;\n if (first && context.options.start) {\n const match = (_a = context.options.start) === null || _a === void 0 ? void 0 : _a.exec(line);\n if (match) {\n index = match.index + match[0].length;\n }\n }\n else {\n const match = (_b = context.options.line) === null || _b === void 0 ? void 0 : _b.exec(line);\n if (match) {\n index = match.index + match[0].length;\n }\n }\n if (last) {\n const match = (_c = context.options.end) === null || _c === void 0 ? void 0 : _c.exec(line);\n if (match) {\n line = line.substring(0, match.index);\n }\n }\n line = line.substring(0, lastCharacter(line));\n const whitespaceEnd = skipWhitespace(line, index);\n if (whitespaceEnd >= line.length) {\n // Only create a break token when we already have previous tokens\n if (tokens.length > 0) {\n const position = Position.create(currentLine, currentCharacter);\n tokens.push({\n type: 'break',\n content: '',\n range: Range.create(position, position)\n });\n }\n }\n else {\n tagRegex.lastIndex = index;\n const tagMatch = tagRegex.exec(line);\n if (tagMatch) {\n const fullMatch = tagMatch[0];\n const value = tagMatch[1];\n const start = Position.create(currentLine, currentCharacter + index);\n const end = Position.create(currentLine, currentCharacter + index + fullMatch.length);\n tokens.push({\n type: 'tag',\n content: value,\n range: Range.create(start, end)\n });\n index += fullMatch.length;\n index = skipWhitespace(line, index);\n }\n if (index < line.length) {\n const rest = line.substring(index);\n const inlineTagMatches = Array.from(rest.matchAll(inlineTagRegex));\n tokens.push(...buildInlineTokens(inlineTagMatches, rest, currentLine, currentCharacter + index));\n }\n }\n currentLine++;\n currentCharacter = 0;\n }\n // Remove last break token if there is one\n if (tokens.length > 0 && tokens[tokens.length - 1].type === 'break') {\n return tokens.slice(0, -1);\n }\n return tokens;\n}\nfunction buildInlineTokens(tags, line, lineIndex, characterIndex) {\n const tokens = [];\n if (tags.length === 0) {\n const start = Position.create(lineIndex, characterIndex);\n const end = Position.create(lineIndex, characterIndex + line.length);\n tokens.push({\n type: 'text',\n content: line,\n range: Range.create(start, end)\n });\n }\n else {\n let lastIndex = 0;\n for (const match of tags) {\n const matchIndex = match.index;\n const startContent = line.substring(lastIndex, matchIndex);\n if (startContent.length > 0) {\n tokens.push({\n type: 'text',\n content: line.substring(lastIndex, matchIndex),\n range: Range.create(Position.create(lineIndex, lastIndex + characterIndex), Position.create(lineIndex, matchIndex + characterIndex))\n });\n }\n let offset = startContent.length + 1;\n const tagName = match[1];\n tokens.push({\n type: 'inline-tag',\n content: tagName,\n range: Range.create(Position.create(lineIndex, lastIndex + offset + characterIndex), Position.create(lineIndex, lastIndex + offset + tagName.length + characterIndex))\n });\n offset += tagName.length;\n if (match.length === 4) {\n offset += match[2].length;\n const value = match[3];\n tokens.push({\n type: 'text',\n content: value,\n range: Range.create(Position.create(lineIndex, lastIndex + offset + characterIndex), Position.create(lineIndex, lastIndex + offset + value.length + characterIndex))\n });\n }\n else {\n tokens.push({\n type: 'text',\n content: '',\n range: Range.create(Position.create(lineIndex, lastIndex + offset + characterIndex), Position.create(lineIndex, lastIndex + offset + characterIndex))\n });\n }\n lastIndex = matchIndex + match[0].length;\n }\n const endContent = line.substring(lastIndex);\n if (endContent.length > 0) {\n tokens.push({\n type: 'text',\n content: endContent,\n range: Range.create(Position.create(lineIndex, lastIndex + characterIndex), Position.create(lineIndex, lastIndex + characterIndex + endContent.length))\n });\n }\n }\n return tokens;\n}\nconst nonWhitespaceRegex = /\\S/;\nconst whitespaceEndRegex = /\\s*$/;\nfunction skipWhitespace(line, index) {\n const match = line.substring(index).match(nonWhitespaceRegex);\n if (match) {\n return index + match.index;\n }\n else {\n return line.length;\n }\n}\nfunction lastCharacter(line) {\n const match = line.match(whitespaceEndRegex);\n if (match && typeof match.index === 'number') {\n return match.index;\n }\n return undefined;\n}\n// Parsing\nfunction parseJSDocComment(context) {\n var _a, _b, _c, _d;\n const startPosition = Position.create(context.position.line, context.position.character);\n if (context.tokens.length === 0) {\n return new JSDocCommentImpl([], Range.create(startPosition, startPosition));\n }\n const elements = [];\n while (context.index < context.tokens.length) {\n const element = parseJSDocElement(context, elements[elements.length - 1]);\n if (element) {\n elements.push(element);\n }\n }\n const start = (_b = (_a = elements[0]) === null || _a === void 0 ? void 0 : _a.range.start) !== null && _b !== void 0 ? _b : startPosition;\n const end = (_d = (_c = elements[elements.length - 1]) === null || _c === void 0 ? void 0 : _c.range.end) !== null && _d !== void 0 ? _d : startPosition;\n return new JSDocCommentImpl(elements, Range.create(start, end));\n}\nfunction parseJSDocElement(context, last) {\n const next = context.tokens[context.index];\n if (next.type === 'tag') {\n return parseJSDocTag(context, false);\n }\n else if (next.type === 'text' || next.type === 'inline-tag') {\n return parseJSDocText(context);\n }\n else {\n appendEmptyLine(next, last);\n context.index++;\n return undefined;\n }\n}\nfunction appendEmptyLine(token, element) {\n if (element) {\n const line = new JSDocLineImpl('', token.range);\n if ('inlines' in element) {\n element.inlines.push(line);\n }\n else {\n element.content.inlines.push(line);\n }\n }\n}\nfunction parseJSDocText(context) {\n let token = context.tokens[context.index];\n const firstToken = token;\n let lastToken = token;\n const lines = [];\n while (token && token.type !== 'break' && token.type !== 'tag') {\n lines.push(parseJSDocInline(context));\n lastToken = token;\n token = context.tokens[context.index];\n }\n return new JSDocTextImpl(lines, Range.create(firstToken.range.start, lastToken.range.end));\n}\nfunction parseJSDocInline(context) {\n const token = context.tokens[context.index];\n if (token.type === 'inline-tag') {\n return parseJSDocTag(context, true);\n }\n else {\n return parseJSDocLine(context);\n }\n}\nfunction parseJSDocTag(context, inline) {\n const tagToken = context.tokens[context.index++];\n const name = tagToken.content.substring(1);\n const nextToken = context.tokens[context.index];\n if ((nextToken === null || nextToken === void 0 ? void 0 : nextToken.type) === 'text') {\n if (inline) {\n const docLine = parseJSDocLine(context);\n return new JSDocTagImpl(name, new JSDocTextImpl([docLine], docLine.range), inline, Range.create(tagToken.range.start, docLine.range.end));\n }\n else {\n const textDoc = parseJSDocText(context);\n return new JSDocTagImpl(name, textDoc, inline, Range.create(tagToken.range.start, textDoc.range.end));\n }\n }\n else {\n const range = tagToken.range;\n return new JSDocTagImpl(name, new JSDocTextImpl([], range), inline, range);\n }\n}\nfunction parseJSDocLine(context) {\n const token = context.tokens[context.index++];\n return new JSDocLineImpl(token.content, token.range);\n}\nfunction normalizeOptions(options) {\n if (!options) {\n return normalizeOptions({\n start: '/**',\n end: '*/',\n line: '*'\n });\n }\n const { start, end, line } = options;\n return {\n start: normalizeOption(start, true),\n end: normalizeOption(end, false),\n line: normalizeOption(line, true)\n };\n}\nfunction normalizeOption(option, start) {\n if (typeof option === 'string' || typeof option === 'object') {\n const escaped = typeof option === 'string' ? escapeRegExp(option) : option.source;\n if (start) {\n return new RegExp(`^\\\\s*${escaped}`);\n }\n else {\n return new RegExp(`\\\\s*${escaped}\\\\s*$`);\n }\n }\n else {\n return option;\n }\n}\nclass JSDocCommentImpl {\n constructor(elements, range) {\n this.elements = elements;\n this.range = range;\n }\n getTag(name) {\n return this.getAllTags().find(e => e.name === name);\n }\n getTags(name) {\n return this.getAllTags().filter(e => e.name === name);\n }\n getAllTags() {\n return this.elements.filter((e) => 'name' in e);\n }\n toString() {\n let value = '';\n for (const element of this.elements) {\n if (value.length === 0) {\n value = element.toString();\n }\n else {\n const text = element.toString();\n value += fillNewlines(value) + text;\n }\n }\n return value.trim();\n }\n toMarkdown(options) {\n let value = '';\n for (const element of this.elements) {\n if (value.length === 0) {\n value = element.toMarkdown(options);\n }\n else {\n const text = element.toMarkdown(options);\n value += fillNewlines(value) + text;\n }\n }\n return value.trim();\n }\n}\nclass JSDocTagImpl {\n constructor(name, content, inline, range) {\n this.name = name;\n this.content = content;\n this.inline = inline;\n this.range = range;\n }\n toString() {\n let text = `@${this.name}`;\n const content = this.content.toString();\n if (this.content.inlines.length === 1) {\n text = `${text} ${content}`;\n }\n else if (this.content.inlines.length > 1) {\n text = `${text}\\n${content}`;\n }\n if (this.inline) {\n // Inline tags are surrounded by curly braces\n return `{${text}}`;\n }\n else {\n return text;\n }\n }\n toMarkdown(options) {\n var _a, _b;\n return (_b = (_a = options === null || options === void 0 ? void 0 : options.renderTag) === null || _a === void 0 ? void 0 : _a.call(options, this)) !== null && _b !== void 0 ? _b : this.toMarkdownDefault(options);\n }\n toMarkdownDefault(options) {\n const content = this.content.toMarkdown(options);\n if (this.inline) {\n const rendered = renderInlineTag(this.name, content, options !== null && options !== void 0 ? options : {});\n if (typeof rendered === 'string') {\n return rendered;\n }\n }\n let marker = '';\n if ((options === null || options === void 0 ? void 0 : options.tag) === 'italic' || (options === null || options === void 0 ? void 0 : options.tag) === undefined) {\n marker = '*';\n }\n else if ((options === null || options === void 0 ? void 0 : options.tag) === 'bold') {\n marker = '**';\n }\n else if ((options === null || options === void 0 ? void 0 : options.tag) === 'bold-italic') {\n marker = '***';\n }\n let text = `${marker}@${this.name}${marker}`;\n if (this.content.inlines.length === 1) {\n text = `${text} — ${content}`;\n }\n else if (this.content.inlines.length > 1) {\n text = `${text}\\n${content}`;\n }\n if (this.inline) {\n // Inline tags are surrounded by curly braces\n return `{${text}}`;\n }\n else {\n return text;\n }\n }\n}\nfunction renderInlineTag(tag, content, options) {\n var _a, _b;\n if (tag === 'linkplain' || tag === 'linkcode' || tag === 'link') {\n const index = content.indexOf(' ');\n let display = content;\n if (index > 0) {\n const displayStart = skipWhitespace(content, index);\n display = content.substring(displayStart);\n content = content.substring(0, index);\n }\n if (tag === 'linkcode' || (tag === 'link' && options.link === 'code')) {\n // Surround the display value in a markdown inline code block\n display = `\\`${display}\\``;\n }\n const renderedLink = (_b = (_a = options.renderLink) === null || _a === void 0 ? void 0 : _a.call(options, content, display)) !== null && _b !== void 0 ? _b : renderLinkDefault(content, display);\n return renderedLink;\n }\n return undefined;\n}\nfunction renderLinkDefault(content, display) {\n try {\n URI.parse(content, true);\n return `[${display}](${content})`;\n }\n catch (_a) {\n return content;\n }\n}\nclass JSDocTextImpl {\n constructor(lines, range) {\n this.inlines = lines;\n this.range = range;\n }\n toString() {\n let text = '';\n for (let i = 0; i < this.inlines.length; i++) {\n const inline = this.inlines[i];\n const next = this.inlines[i + 1];\n text += inline.toString();\n if (next && next.range.start.line > inline.range.start.line) {\n text += '\\n';\n }\n }\n return text;\n }\n toMarkdown(options) {\n let text = '';\n for (let i = 0; i < this.inlines.length; i++) {\n const inline = this.inlines[i];\n const next = this.inlines[i + 1];\n text += inline.toMarkdown(options);\n if (next && next.range.start.line > inline.range.start.line) {\n text += '\\n';\n }\n }\n return text;\n }\n}\nclass JSDocLineImpl {\n constructor(text, range) {\n this.text = text;\n this.range = range;\n }\n toString() {\n return this.text;\n }\n toMarkdown() {\n return this.text;\n }\n}\nfunction fillNewlines(text) {\n if (text.endsWith('\\n')) {\n return '\\n';\n }\n else {\n return '\\n\\n';\n }\n}\n//# sourceMappingURL=jsdoc.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { getDocument } from '../utils/ast-utils.js';\nimport { isJSDoc, parseJSDoc } from './jsdoc.js';\nexport class JSDocDocumentationProvider {\n constructor(services) {\n this.indexManager = services.shared.workspace.IndexManager;\n this.commentProvider = services.documentation.CommentProvider;\n }\n getDocumentation(node) {\n const comment = this.commentProvider.getComment(node);\n if (comment && isJSDoc(comment)) {\n const parsedJSDoc = parseJSDoc(comment);\n return parsedJSDoc.toMarkdown({\n renderLink: (link, display) => {\n return this.documentationLinkRenderer(node, link, display);\n },\n renderTag: (tag) => {\n return this.documentationTagRenderer(node, tag);\n }\n });\n }\n return undefined;\n }\n documentationLinkRenderer(node, name, display) {\n var _a;\n const description = (_a = this.findNameInPrecomputedScopes(node, name)) !== null && _a !== void 0 ? _a : this.findNameInGlobalScope(node, name);\n if (description && description.nameSegment) {\n const line = description.nameSegment.range.start.line + 1;\n const character = description.nameSegment.range.start.character + 1;\n const uri = description.documentUri.with({ fragment: `L${line},${character}` });\n return `[${display}](${uri.toString()})`;\n }\n else {\n return undefined;\n }\n }\n documentationTagRenderer(_node, _tag) {\n // Fall back to the default tag rendering\n return undefined;\n }\n findNameInPrecomputedScopes(node, name) {\n const document = getDocument(node);\n const precomputed = document.precomputedScopes;\n if (!precomputed) {\n return undefined;\n }\n let currentNode = node;\n do {\n const allDescriptions = precomputed.get(currentNode);\n const description = allDescriptions.find(e => e.name === name);\n if (description) {\n return description;\n }\n currentNode = currentNode.$container;\n } while (currentNode);\n return undefined;\n }\n findNameInGlobalScope(node, name) {\n const description = this.indexManager.allElements().find(e => e.name === name);\n return description;\n }\n}\n//# sourceMappingURL=documentation-provider.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { isAstNodeWithComment } from '../serializer/json-serializer.js';\nimport { findCommentNode } from '../utils/cst-utils.js';\nexport class DefaultCommentProvider {\n constructor(services) {\n this.grammarConfig = () => services.parser.GrammarConfig;\n }\n getComment(node) {\n var _a;\n if (isAstNodeWithComment(node)) {\n return node.$comment;\n }\n return (_a = findCommentNode(node.$cstNode, this.grammarConfig().multilineCommentRules)) === null || _a === void 0 ? void 0 : _a.text;\n }\n}\n//# sourceMappingURL=comment-provider.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { Deferred, OperationCancelled } from '../utils/promise-utils.js';\nimport { Emitter } from '../utils/event.js';\n/**\n * Default implementation of the async parser which simply wraps the sync parser in a promise.\n *\n * @remarks\n * A real implementation would create worker threads or web workers to offload the parsing work.\n */\nexport class DefaultAsyncParser {\n constructor(services) {\n this.syncParser = services.parser.LangiumParser;\n }\n parse(text, _cancelToken) {\n return Promise.resolve(this.syncParser.parse(text));\n }\n}\nexport class AbstractThreadedAsyncParser {\n constructor(services) {\n /**\n * The thread count determines how many threads are used to parse files in parallel.\n * The default value is 8. Decreasing this value increases startup performance, but decreases parallel parsing performance.\n */\n this.threadCount = 8;\n /**\n * The termination delay determines how long the parser waits for a thread to finish after a cancellation request.\n * The default value is 200(ms).\n */\n this.terminationDelay = 200;\n this.workerPool = [];\n this.queue = [];\n this.hydrator = services.serializer.Hydrator;\n }\n initializeWorkers() {\n while (this.workerPool.length < this.threadCount) {\n const worker = this.createWorker();\n worker.onReady(() => {\n if (this.queue.length > 0) {\n const deferred = this.queue.shift();\n if (deferred) {\n worker.lock();\n deferred.resolve(worker);\n }\n }\n });\n this.workerPool.push(worker);\n }\n }\n async parse(text, cancelToken) {\n const worker = await this.acquireParserWorker(cancelToken);\n const deferred = new Deferred();\n let timeout;\n // If the cancellation token is requested, we wait for a certain time before terminating the worker.\n // Since the cancellation token lives longer than the parsing process, we need to dispose the event listener.\n // Otherwise, we might accidentally terminate the worker after the parsing process has finished.\n const cancellation = cancelToken.onCancellationRequested(() => {\n timeout = setTimeout(() => {\n this.terminateWorker(worker);\n }, this.terminationDelay);\n });\n worker.parse(text).then(result => {\n const hydrated = this.hydrator.hydrate(result);\n deferred.resolve(hydrated);\n }).catch(err => {\n deferred.reject(err);\n }).finally(() => {\n cancellation.dispose();\n clearTimeout(timeout);\n });\n return deferred.promise;\n }\n terminateWorker(worker) {\n worker.terminate();\n const index = this.workerPool.indexOf(worker);\n if (index >= 0) {\n this.workerPool.splice(index, 1);\n }\n }\n async acquireParserWorker(cancelToken) {\n this.initializeWorkers();\n for (const worker of this.workerPool) {\n if (worker.ready) {\n worker.lock();\n return worker;\n }\n }\n const deferred = new Deferred();\n cancelToken.onCancellationRequested(() => {\n const index = this.queue.indexOf(deferred);\n if (index >= 0) {\n this.queue.splice(index, 1);\n }\n deferred.reject(OperationCancelled);\n });\n this.queue.push(deferred);\n return deferred.promise;\n }\n}\nexport class ParserWorker {\n get ready() {\n return this._ready;\n }\n get onReady() {\n return this.onReadyEmitter.event;\n }\n constructor(sendMessage, onMessage, onError, terminate) {\n this.onReadyEmitter = new Emitter();\n this.deferred = new Deferred();\n this._ready = true;\n this._parsing = false;\n this.sendMessage = sendMessage;\n this._terminate = terminate;\n onMessage(result => {\n const parseResult = result;\n this.deferred.resolve(parseResult);\n this.unlock();\n });\n onError(error => {\n this.deferred.reject(error);\n this.unlock();\n });\n }\n terminate() {\n this.deferred.reject(OperationCancelled);\n this._terminate();\n }\n lock() {\n this._ready = false;\n }\n unlock() {\n this._parsing = false;\n this._ready = true;\n this.onReadyEmitter.fire();\n }\n parse(text) {\n if (this._parsing) {\n throw new Error('Parser worker is busy');\n }\n this._parsing = true;\n this.deferred = new Deferred();\n this.sendMessage(text);\n return this.deferred.promise;\n }\n}\n//# sourceMappingURL=async-parser.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CancellationToken, CancellationTokenSource } from '../utils/cancellation.js';\nimport { Deferred, isOperationCancelled, startCancelableOperation } from '../utils/promise-utils.js';\nexport class DefaultWorkspaceLock {\n constructor() {\n this.previousTokenSource = new CancellationTokenSource();\n this.writeQueue = [];\n this.readQueue = [];\n this.done = true;\n }\n write(action) {\n this.cancelWrite();\n const tokenSource = startCancelableOperation();\n this.previousTokenSource = tokenSource;\n return this.enqueue(this.writeQueue, action, tokenSource.token);\n }\n read(action) {\n return this.enqueue(this.readQueue, action);\n }\n enqueue(queue, action, cancellationToken = CancellationToken.None) {\n const deferred = new Deferred();\n const entry = {\n action,\n deferred,\n cancellationToken\n };\n queue.push(entry);\n this.performNextOperation();\n return deferred.promise;\n }\n async performNextOperation() {\n if (!this.done) {\n return;\n }\n const entries = [];\n if (this.writeQueue.length > 0) {\n // Just perform the next write action\n entries.push(this.writeQueue.shift());\n }\n else if (this.readQueue.length > 0) {\n // Empty the read queue and perform all actions in parallel\n entries.push(...this.readQueue.splice(0, this.readQueue.length));\n }\n else {\n return;\n }\n this.done = false;\n await Promise.all(entries.map(async ({ action, deferred, cancellationToken }) => {\n try {\n // Move the execution of the action to the next event loop tick via `Promise.resolve()`\n const result = await Promise.resolve().then(() => action(cancellationToken));\n deferred.resolve(result);\n }\n catch (err) {\n if (isOperationCancelled(err)) {\n // If the operation was cancelled, we don't want to reject the promise\n deferred.resolve(undefined);\n }\n else {\n deferred.reject(err);\n }\n }\n }));\n this.done = true;\n this.performNextOperation();\n }\n cancelWrite() {\n this.previousTokenSource.cancel();\n }\n}\n//# sourceMappingURL=workspace-lock.js.map", + "/******************************************************************************\n * Copyright 2024 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { CompositeCstNodeImpl, LeafCstNodeImpl, RootCstNodeImpl } from '../parser/cst-node-builder.js';\nimport { isAbstractElement } from '../languages/generated/ast.js';\nimport { isRootCstNode, isCompositeCstNode, isLeafCstNode, isAstNode, isReference } from '../syntax-tree.js';\nimport { streamAst } from '../utils/ast-utils.js';\nimport { BiMap } from '../utils/collections.js';\nimport { streamCst } from '../utils/cst-utils.js';\nexport class DefaultHydrator {\n constructor(services) {\n this.grammarElementIdMap = new BiMap();\n this.tokenTypeIdMap = new BiMap();\n this.grammar = services.Grammar;\n this.lexer = services.parser.Lexer;\n this.linker = services.references.Linker;\n }\n dehydrate(result) {\n return {\n lexerErrors: result.lexerErrors,\n lexerReport: result.lexerReport ? this.dehydrateLexerReport(result.lexerReport) : undefined,\n // We need to create shallow copies of the errors\n // The original errors inherit from the `Error` class, which is not transferable across worker threads\n parserErrors: result.parserErrors.map(e => (Object.assign(Object.assign({}, e), { message: e.message }))),\n value: this.dehydrateAstNode(result.value, this.createDehyrationContext(result.value))\n };\n }\n dehydrateLexerReport(lexerReport) {\n // By default, lexer reports are serializable\n return lexerReport;\n }\n createDehyrationContext(node) {\n const astNodes = new Map();\n const cstNodes = new Map();\n for (const astNode of streamAst(node)) {\n astNodes.set(astNode, {});\n }\n if (node.$cstNode) {\n for (const cstNode of streamCst(node.$cstNode)) {\n cstNodes.set(cstNode, {});\n }\n }\n return {\n astNodes,\n cstNodes\n };\n }\n dehydrateAstNode(node, context) {\n const obj = context.astNodes.get(node);\n obj.$type = node.$type;\n obj.$containerIndex = node.$containerIndex;\n obj.$containerProperty = node.$containerProperty;\n if (node.$cstNode !== undefined) {\n obj.$cstNode = this.dehydrateCstNode(node.$cstNode, context);\n }\n for (const [name, value] of Object.entries(node)) {\n if (name.startsWith('$')) {\n continue;\n }\n if (Array.isArray(value)) {\n const arr = [];\n obj[name] = arr;\n for (const item of value) {\n if (isAstNode(item)) {\n arr.push(this.dehydrateAstNode(item, context));\n }\n else if (isReference(item)) {\n arr.push(this.dehydrateReference(item, context));\n }\n else {\n arr.push(item);\n }\n }\n }\n else if (isAstNode(value)) {\n obj[name] = this.dehydrateAstNode(value, context);\n }\n else if (isReference(value)) {\n obj[name] = this.dehydrateReference(value, context);\n }\n else if (value !== undefined) {\n obj[name] = value;\n }\n }\n return obj;\n }\n dehydrateReference(reference, context) {\n const obj = {};\n obj.$refText = reference.$refText;\n if (reference.$refNode) {\n obj.$refNode = context.cstNodes.get(reference.$refNode);\n }\n return obj;\n }\n dehydrateCstNode(node, context) {\n const cstNode = context.cstNodes.get(node);\n if (isRootCstNode(node)) {\n cstNode.fullText = node.fullText;\n }\n else {\n // Note: This returns undefined for hidden nodes (i.e. comments)\n cstNode.grammarSource = this.getGrammarElementId(node.grammarSource);\n }\n cstNode.hidden = node.hidden;\n cstNode.astNode = context.astNodes.get(node.astNode);\n if (isCompositeCstNode(node)) {\n cstNode.content = node.content.map(child => this.dehydrateCstNode(child, context));\n }\n else if (isLeafCstNode(node)) {\n cstNode.tokenType = node.tokenType.name;\n cstNode.offset = node.offset;\n cstNode.length = node.length;\n cstNode.startLine = node.range.start.line;\n cstNode.startColumn = node.range.start.character;\n cstNode.endLine = node.range.end.line;\n cstNode.endColumn = node.range.end.character;\n }\n return cstNode;\n }\n hydrate(result) {\n const node = result.value;\n const context = this.createHydrationContext(node);\n if ('$cstNode' in node) {\n this.hydrateCstNode(node.$cstNode, context);\n }\n return {\n lexerErrors: result.lexerErrors,\n lexerReport: result.lexerReport,\n parserErrors: result.parserErrors,\n value: this.hydrateAstNode(node, context)\n };\n }\n createHydrationContext(node) {\n const astNodes = new Map();\n const cstNodes = new Map();\n for (const astNode of streamAst(node)) {\n astNodes.set(astNode, {});\n }\n let root;\n if (node.$cstNode) {\n for (const cstNode of streamCst(node.$cstNode)) {\n let cst;\n if ('fullText' in cstNode) {\n cst = new RootCstNodeImpl(cstNode.fullText);\n root = cst;\n }\n else if ('content' in cstNode) {\n cst = new CompositeCstNodeImpl();\n }\n else if ('tokenType' in cstNode) {\n cst = this.hydrateCstLeafNode(cstNode);\n }\n if (cst) {\n cstNodes.set(cstNode, cst);\n cst.root = root;\n }\n }\n }\n return {\n astNodes,\n cstNodes\n };\n }\n hydrateAstNode(node, context) {\n const astNode = context.astNodes.get(node);\n astNode.$type = node.$type;\n astNode.$containerIndex = node.$containerIndex;\n astNode.$containerProperty = node.$containerProperty;\n if (node.$cstNode) {\n astNode.$cstNode = context.cstNodes.get(node.$cstNode);\n }\n for (const [name, value] of Object.entries(node)) {\n if (name.startsWith('$')) {\n continue;\n }\n if (Array.isArray(value)) {\n const arr = [];\n astNode[name] = arr;\n for (const item of value) {\n if (isAstNode(item)) {\n arr.push(this.setParent(this.hydrateAstNode(item, context), astNode));\n }\n else if (isReference(item)) {\n arr.push(this.hydrateReference(item, astNode, name, context));\n }\n else {\n arr.push(item);\n }\n }\n }\n else if (isAstNode(value)) {\n astNode[name] = this.setParent(this.hydrateAstNode(value, context), astNode);\n }\n else if (isReference(value)) {\n astNode[name] = this.hydrateReference(value, astNode, name, context);\n }\n else if (value !== undefined) {\n astNode[name] = value;\n }\n }\n return astNode;\n }\n setParent(node, parent) {\n node.$container = parent;\n return node;\n }\n hydrateReference(reference, node, name, context) {\n return this.linker.buildReference(node, name, context.cstNodes.get(reference.$refNode), reference.$refText);\n }\n hydrateCstNode(cstNode, context, num = 0) {\n const cstNodeObj = context.cstNodes.get(cstNode);\n if (typeof cstNode.grammarSource === 'number') {\n cstNodeObj.grammarSource = this.getGrammarElement(cstNode.grammarSource);\n }\n cstNodeObj.astNode = context.astNodes.get(cstNode.astNode);\n if (isCompositeCstNode(cstNodeObj)) {\n for (const child of cstNode.content) {\n const hydrated = this.hydrateCstNode(child, context, num++);\n cstNodeObj.content.push(hydrated);\n }\n }\n return cstNodeObj;\n }\n hydrateCstLeafNode(cstNode) {\n const tokenType = this.getTokenType(cstNode.tokenType);\n const offset = cstNode.offset;\n const length = cstNode.length;\n const startLine = cstNode.startLine;\n const startColumn = cstNode.startColumn;\n const endLine = cstNode.endLine;\n const endColumn = cstNode.endColumn;\n const hidden = cstNode.hidden;\n const node = new LeafCstNodeImpl(offset, length, {\n start: {\n line: startLine,\n character: startColumn\n },\n end: {\n line: endLine,\n character: endColumn\n }\n }, tokenType, hidden);\n return node;\n }\n getTokenType(name) {\n return this.lexer.definition[name];\n }\n getGrammarElementId(node) {\n if (!node) {\n return undefined;\n }\n if (this.grammarElementIdMap.size === 0) {\n this.createGrammarElementIdMap();\n }\n return this.grammarElementIdMap.get(node);\n }\n getGrammarElement(id) {\n if (this.grammarElementIdMap.size === 0) {\n this.createGrammarElementIdMap();\n }\n const element = this.grammarElementIdMap.getKey(id);\n return element;\n }\n createGrammarElementIdMap() {\n let id = 0;\n for (const element of streamAst(this.grammar)) {\n if (isAbstractElement(element)) {\n this.grammarElementIdMap.set(element, id++);\n }\n }\n }\n}\n//# sourceMappingURL=hydrator.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n******************************************************************************/\nimport { createGrammarConfig } from './languages/grammar-config.js';\nimport { createCompletionParser } from './parser/completion-parser-builder.js';\nimport { createLangiumParser } from './parser/langium-parser-builder.js';\nimport { DefaultTokenBuilder } from './parser/token-builder.js';\nimport { DefaultValueConverter } from './parser/value-converter.js';\nimport { DefaultLinker } from './references/linker.js';\nimport { DefaultNameProvider } from './references/name-provider.js';\nimport { DefaultReferences } from './references/references.js';\nimport { DefaultScopeComputation } from './references/scope-computation.js';\nimport { DefaultScopeProvider } from './references/scope-provider.js';\nimport { DefaultJsonSerializer } from './serializer/json-serializer.js';\nimport { DefaultServiceRegistry } from './service-registry.js';\nimport { DefaultDocumentValidator } from './validation/document-validator.js';\nimport { ValidationRegistry } from './validation/validation-registry.js';\nimport { DefaultAstNodeDescriptionProvider, DefaultReferenceDescriptionProvider } from './workspace/ast-descriptions.js';\nimport { DefaultAstNodeLocator } from './workspace/ast-node-locator.js';\nimport { DefaultConfigurationProvider } from './workspace/configuration.js';\nimport { DefaultDocumentBuilder } from './workspace/document-builder.js';\nimport { DefaultLangiumDocumentFactory, DefaultLangiumDocuments } from './workspace/documents.js';\nimport { DefaultIndexManager } from './workspace/index-manager.js';\nimport { DefaultWorkspaceManager } from './workspace/workspace-manager.js';\nimport { DefaultLexer, DefaultLexerErrorMessageProvider } from './parser/lexer.js';\nimport { JSDocDocumentationProvider } from './documentation/documentation-provider.js';\nimport { DefaultCommentProvider } from './documentation/comment-provider.js';\nimport { LangiumParserErrorMessageProvider } from './parser/langium-parser.js';\nimport { DefaultAsyncParser } from './parser/async-parser.js';\nimport { DefaultWorkspaceLock } from './workspace/workspace-lock.js';\nimport { DefaultHydrator } from './serializer/hydrator.js';\n/**\n * Creates a dependency injection module configuring the default core services.\n * This is a set of services that are dedicated to a specific language.\n */\nexport function createDefaultCoreModule(context) {\n return {\n documentation: {\n CommentProvider: (services) => new DefaultCommentProvider(services),\n DocumentationProvider: (services) => new JSDocDocumentationProvider(services)\n },\n parser: {\n AsyncParser: (services) => new DefaultAsyncParser(services),\n GrammarConfig: (services) => createGrammarConfig(services),\n LangiumParser: (services) => createLangiumParser(services),\n CompletionParser: (services) => createCompletionParser(services),\n ValueConverter: () => new DefaultValueConverter(),\n TokenBuilder: () => new DefaultTokenBuilder(),\n Lexer: (services) => new DefaultLexer(services),\n ParserErrorMessageProvider: () => new LangiumParserErrorMessageProvider(),\n LexerErrorMessageProvider: () => new DefaultLexerErrorMessageProvider()\n },\n workspace: {\n AstNodeLocator: () => new DefaultAstNodeLocator(),\n AstNodeDescriptionProvider: (services) => new DefaultAstNodeDescriptionProvider(services),\n ReferenceDescriptionProvider: (services) => new DefaultReferenceDescriptionProvider(services)\n },\n references: {\n Linker: (services) => new DefaultLinker(services),\n NameProvider: () => new DefaultNameProvider(),\n ScopeProvider: (services) => new DefaultScopeProvider(services),\n ScopeComputation: (services) => new DefaultScopeComputation(services),\n References: (services) => new DefaultReferences(services)\n },\n serializer: {\n Hydrator: (services) => new DefaultHydrator(services),\n JsonSerializer: (services) => new DefaultJsonSerializer(services)\n },\n validation: {\n DocumentValidator: (services) => new DefaultDocumentValidator(services),\n ValidationRegistry: (services) => new ValidationRegistry(services)\n },\n shared: () => context.shared\n };\n}\n/**\n * Creates a dependency injection module configuring the default shared core services.\n * This is the set of services that are shared between multiple languages.\n */\nexport function createDefaultSharedCoreModule(context) {\n return {\n ServiceRegistry: (services) => new DefaultServiceRegistry(services),\n workspace: {\n LangiumDocuments: (services) => new DefaultLangiumDocuments(services),\n LangiumDocumentFactory: (services) => new DefaultLangiumDocumentFactory(services),\n DocumentBuilder: (services) => new DefaultDocumentBuilder(services),\n IndexManager: (services) => new DefaultIndexManager(services),\n WorkspaceManager: (services) => new DefaultWorkspaceManager(services),\n FileSystemProvider: (services) => context.fileSystemProvider(services),\n WorkspaceLock: () => new DefaultWorkspaceLock(),\n ConfigurationProvider: (services) => new DefaultConfigurationProvider(services)\n }\n };\n}\n//# sourceMappingURL=default-module.js.map", + "/******************************************************************************\n * Copyright 2021 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport var Module;\n(function (Module) {\n Module.merge = (m1, m2) => _merge(_merge({}, m1), m2);\n})(Module || (Module = {}));\n/**\n * Given a set of modules, the inject function returns a lazily evaluated injector\n * that injects dependencies into the requested service when it is requested the\n * first time. Subsequent requests will return the same service.\n *\n * In the case of cyclic dependencies, an Error will be thrown. This can be fixed\n * by injecting a provider `() => T` instead of a `T`.\n *\n * Please note that the arguments may be objects or arrays. However, the result will\n * be an object. Using it with for..of will have no effect.\n *\n * @param module1 first Module\n * @param module2 (optional) second Module\n * @param module3 (optional) third Module\n * @param module4 (optional) fourth Module\n * @param module5 (optional) fifth Module\n * @param module6 (optional) sixth Module\n * @param module7 (optional) seventh Module\n * @param module8 (optional) eighth Module\n * @param module9 (optional) ninth Module\n * @returns a new object of type I\n */\nexport function inject(module1, module2, module3, module4, module5, module6, module7, module8, module9) {\n const module = [module1, module2, module3, module4, module5, module6, module7, module8, module9].reduce(_merge, {});\n return _inject(module);\n}\nconst isProxy = Symbol('isProxy');\n/**\n * Eagerly load all services in the given dependency injection container. This is sometimes\n * necessary because services can register event listeners in their constructors.\n */\nexport function eagerLoad(item) {\n if (item && item[isProxy]) {\n for (const value of Object.values(item)) {\n eagerLoad(value);\n }\n }\n return item;\n}\n/**\n * Helper function that returns an injector by creating a proxy.\n * Invariant: injector is of type I. If injector is undefined, then T = I.\n */\nfunction _inject(module, injector) {\n const proxy = new Proxy({}, {\n deleteProperty: () => false,\n set: () => {\n throw new Error('Cannot set property on injected service container');\n },\n get: (obj, prop) => {\n if (prop === isProxy) {\n return true;\n }\n else {\n return _resolve(obj, prop, module, injector || proxy);\n }\n },\n getOwnPropertyDescriptor: (obj, prop) => (_resolve(obj, prop, module, injector || proxy), Object.getOwnPropertyDescriptor(obj, prop)), // used by for..in\n has: (_, prop) => prop in module, // used by ..in..\n ownKeys: () => [...Object.getOwnPropertyNames(module)] // used by for..in\n });\n return proxy;\n}\n/**\n * Internally used to tag a requested dependency, directly before calling the factory.\n * This allows us to find cycles during instance creation.\n */\nconst __requested__ = Symbol();\n/**\n * Returns the value `obj[prop]`. If the value does not exist, yet, it is resolved from\n * the module description. The result of service factories is cached. Groups are\n * recursively proxied.\n *\n * @param obj an object holding all group proxies and services\n * @param prop the key of a value within obj\n * @param module an object containing groups and service factories\n * @param injector the first level proxy that provides access to all values\n * @returns the requested value `obj[prop]`\n * @throws Error if a dependency cycle is detected\n */\nfunction _resolve(obj, prop, module, injector) {\n if (prop in obj) {\n if (obj[prop] instanceof Error) {\n throw new Error('Construction failure. Please make sure that your dependencies are constructable.', { cause: obj[prop] });\n }\n if (obj[prop] === __requested__) {\n throw new Error('Cycle detected. Please make \"' + String(prop) + '\" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');\n }\n return obj[prop];\n }\n else if (prop in module) {\n const value = module[prop];\n obj[prop] = __requested__;\n try {\n obj[prop] = (typeof value === 'function') ? value(injector) : _inject(value, injector);\n }\n catch (error) {\n obj[prop] = error instanceof Error ? error : undefined;\n throw error;\n }\n return obj[prop];\n }\n else {\n return undefined;\n }\n}\n/**\n * Performs a deep-merge of two modules by writing source entries into the target module.\n *\n * @param target the module which is written\n * @param source the module which is read\n * @returns the target module\n */\nfunction _merge(target, source) {\n if (source) {\n for (const [key, value2] of Object.entries(source)) {\n if (value2 !== undefined) {\n const value1 = target[key];\n if (value1 !== null && value2 !== null && typeof value1 === 'object' && typeof value2 === 'object') {\n target[key] = _merge(value1, value2);\n }\n else {\n target[key] = value2;\n }\n }\n }\n }\n return target;\n}\n//# sourceMappingURL=dependency-injection.js.map", + "/******************************************************************************\n * Copyright 2022 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nexport class EmptyFileSystemProvider {\n readFile() {\n throw new Error('No file system is available.');\n }\n async readDirectory() {\n return [];\n }\n}\nexport const EmptyFileSystem = {\n fileSystemProvider: () => new EmptyFileSystemProvider()\n};\n//# sourceMappingURL=file-system-provider.js.map", + "/******************************************************************************\n * Copyright 2023 TypeFox GmbH\n * This program and the accompanying materials are made available under the\n * terms of the MIT License, which is available in the project root.\n ******************************************************************************/\nimport { createDefaultCoreModule, createDefaultSharedCoreModule } from '../default-module.js';\nimport { inject } from '../dependency-injection.js';\nimport * as ast from '../languages/generated/ast.js';\nimport { EmptyFileSystem } from '../workspace/file-system-provider.js';\nimport { URI } from './uri-utils.js';\nconst minimalGrammarModule = {\n Grammar: () => undefined,\n LanguageMetaData: () => ({\n caseInsensitive: false,\n fileExtensions: ['.langium'],\n languageId: 'langium'\n })\n};\nconst minimalSharedGrammarModule = {\n AstReflection: () => new ast.LangiumGrammarAstReflection()\n};\nfunction createMinimalGrammarServices() {\n const shared = inject(createDefaultSharedCoreModule(EmptyFileSystem), minimalSharedGrammarModule);\n const grammar = inject(createDefaultCoreModule({ shared }), minimalGrammarModule);\n shared.ServiceRegistry.register(grammar);\n return grammar;\n}\n/**\n * Load a Langium grammar for your language from a JSON string. This is used by several services,\n * most notably the parser builder which interprets the grammar to create a parser.\n */\nexport function loadGrammarFromJson(json) {\n var _a;\n const services = createMinimalGrammarServices();\n const astNode = services.serializer.JsonSerializer.deserialize(json);\n services.shared.workspace.LangiumDocumentFactory.fromModel(astNode, URI.parse(`memory://${(_a = astNode.name) !== null && _a !== void 0 ? _a : 'grammar'}.langium`));\n return astNode;\n}\n//# sourceMappingURL=grammar-loader.js.map", + "var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/language/generated/ast.ts\nimport { AbstractAstReflection } from \"langium\";\nvar Statement = \"Statement\";\nvar Architecture = \"Architecture\";\nfunction isArchitecture(item) {\n return reflection.isInstance(item, Architecture);\n}\n__name(isArchitecture, \"isArchitecture\");\nvar Axis = \"Axis\";\nvar Branch = \"Branch\";\nfunction isBranch(item) {\n return reflection.isInstance(item, Branch);\n}\n__name(isBranch, \"isBranch\");\nvar Checkout = \"Checkout\";\nvar CherryPicking = \"CherryPicking\";\nvar Commit = \"Commit\";\nfunction isCommit(item) {\n return reflection.isInstance(item, Commit);\n}\n__name(isCommit, \"isCommit\");\nvar Common = \"Common\";\nfunction isCommon(item) {\n return reflection.isInstance(item, Common);\n}\n__name(isCommon, \"isCommon\");\nvar Curve = \"Curve\";\nvar Edge = \"Edge\";\nvar Entry = \"Entry\";\nvar GitGraph = \"GitGraph\";\nfunction isGitGraph(item) {\n return reflection.isInstance(item, GitGraph);\n}\n__name(isGitGraph, \"isGitGraph\");\nvar Group = \"Group\";\nvar Info = \"Info\";\nfunction isInfo(item) {\n return reflection.isInstance(item, Info);\n}\n__name(isInfo, \"isInfo\");\nvar Junction = \"Junction\";\nvar Merge = \"Merge\";\nfunction isMerge(item) {\n return reflection.isInstance(item, Merge);\n}\n__name(isMerge, \"isMerge\");\nvar Option = \"Option\";\nvar Packet = \"Packet\";\nfunction isPacket(item) {\n return reflection.isInstance(item, Packet);\n}\n__name(isPacket, \"isPacket\");\nvar PacketBlock = \"PacketBlock\";\nfunction isPacketBlock(item) {\n return reflection.isInstance(item, PacketBlock);\n}\n__name(isPacketBlock, \"isPacketBlock\");\nvar Pie = \"Pie\";\nfunction isPie(item) {\n return reflection.isInstance(item, Pie);\n}\n__name(isPie, \"isPie\");\nvar PieSection = \"PieSection\";\nfunction isPieSection(item) {\n return reflection.isInstance(item, PieSection);\n}\n__name(isPieSection, \"isPieSection\");\nvar Radar = \"Radar\";\nvar Service = \"Service\";\nvar Direction = \"Direction\";\nvar MermaidAstReflection = class extends AbstractAstReflection {\n static {\n __name(this, \"MermaidAstReflection\");\n }\n getAllTypes() {\n return [Architecture, Axis, Branch, Checkout, CherryPicking, Commit, Common, Curve, Direction, Edge, Entry, GitGraph, Group, Info, Junction, Merge, Option, Packet, PacketBlock, Pie, PieSection, Radar, Service, Statement];\n }\n computeIsSubtype(subtype, supertype) {\n switch (subtype) {\n case Branch:\n case Checkout:\n case CherryPicking:\n case Commit:\n case Merge: {\n return this.isSubtype(Statement, supertype);\n }\n case Direction: {\n return this.isSubtype(GitGraph, supertype);\n }\n default: {\n return false;\n }\n }\n }\n getReferenceType(refInfo) {\n const referenceId = `${refInfo.container.$type}:${refInfo.property}`;\n switch (referenceId) {\n case \"Entry:axis\": {\n return Axis;\n }\n default: {\n throw new Error(`${referenceId} is not a valid reference id.`);\n }\n }\n }\n getTypeMetaData(type) {\n switch (type) {\n case Architecture: {\n return {\n name: Architecture,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"edges\", defaultValue: [] },\n { name: \"groups\", defaultValue: [] },\n { name: \"junctions\", defaultValue: [] },\n { name: \"services\", defaultValue: [] },\n { name: \"title\" }\n ]\n };\n }\n case Axis: {\n return {\n name: Axis,\n properties: [\n { name: \"label\" },\n { name: \"name\" }\n ]\n };\n }\n case Branch: {\n return {\n name: Branch,\n properties: [\n { name: \"name\" },\n { name: \"order\" }\n ]\n };\n }\n case Checkout: {\n return {\n name: Checkout,\n properties: [\n { name: \"branch\" }\n ]\n };\n }\n case CherryPicking: {\n return {\n name: CherryPicking,\n properties: [\n { name: \"id\" },\n { name: \"parent\" },\n { name: \"tags\", defaultValue: [] }\n ]\n };\n }\n case Commit: {\n return {\n name: Commit,\n properties: [\n { name: \"id\" },\n { name: \"message\" },\n { name: \"tags\", defaultValue: [] },\n { name: \"type\" }\n ]\n };\n }\n case Common: {\n return {\n name: Common,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"title\" }\n ]\n };\n }\n case Curve: {\n return {\n name: Curve,\n properties: [\n { name: \"entries\", defaultValue: [] },\n { name: \"label\" },\n { name: \"name\" }\n ]\n };\n }\n case Edge: {\n return {\n name: Edge,\n properties: [\n { name: \"lhsDir\" },\n { name: \"lhsGroup\", defaultValue: false },\n { name: \"lhsId\" },\n { name: \"lhsInto\", defaultValue: false },\n { name: \"rhsDir\" },\n { name: \"rhsGroup\", defaultValue: false },\n { name: \"rhsId\" },\n { name: \"rhsInto\", defaultValue: false },\n { name: \"title\" }\n ]\n };\n }\n case Entry: {\n return {\n name: Entry,\n properties: [\n { name: \"axis\" },\n { name: \"value\" }\n ]\n };\n }\n case GitGraph: {\n return {\n name: GitGraph,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"statements\", defaultValue: [] },\n { name: \"title\" }\n ]\n };\n }\n case Group: {\n return {\n name: Group,\n properties: [\n { name: \"icon\" },\n { name: \"id\" },\n { name: \"in\" },\n { name: \"title\" }\n ]\n };\n }\n case Info: {\n return {\n name: Info,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"title\" }\n ]\n };\n }\n case Junction: {\n return {\n name: Junction,\n properties: [\n { name: \"id\" },\n { name: \"in\" }\n ]\n };\n }\n case Merge: {\n return {\n name: Merge,\n properties: [\n { name: \"branch\" },\n { name: \"id\" },\n { name: \"tags\", defaultValue: [] },\n { name: \"type\" }\n ]\n };\n }\n case Option: {\n return {\n name: Option,\n properties: [\n { name: \"name\" },\n { name: \"value\", defaultValue: false }\n ]\n };\n }\n case Packet: {\n return {\n name: Packet,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"blocks\", defaultValue: [] },\n { name: \"title\" }\n ]\n };\n }\n case PacketBlock: {\n return {\n name: PacketBlock,\n properties: [\n { name: \"end\" },\n { name: \"label\" },\n { name: \"start\" }\n ]\n };\n }\n case Pie: {\n return {\n name: Pie,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"sections\", defaultValue: [] },\n { name: \"showData\", defaultValue: false },\n { name: \"title\" }\n ]\n };\n }\n case PieSection: {\n return {\n name: PieSection,\n properties: [\n { name: \"label\" },\n { name: \"value\" }\n ]\n };\n }\n case Radar: {\n return {\n name: Radar,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"axes\", defaultValue: [] },\n { name: \"curves\", defaultValue: [] },\n { name: \"options\", defaultValue: [] },\n { name: \"title\" }\n ]\n };\n }\n case Service: {\n return {\n name: Service,\n properties: [\n { name: \"icon\" },\n { name: \"iconText\" },\n { name: \"id\" },\n { name: \"in\" },\n { name: \"title\" }\n ]\n };\n }\n case Direction: {\n return {\n name: Direction,\n properties: [\n { name: \"accDescr\" },\n { name: \"accTitle\" },\n { name: \"dir\" },\n { name: \"statements\", defaultValue: [] },\n { name: \"title\" }\n ]\n };\n }\n default: {\n return {\n name: type,\n properties: []\n };\n }\n }\n }\n};\nvar reflection = new MermaidAstReflection();\n\n// src/language/generated/grammar.ts\nimport { loadGrammarFromJson } from \"langium\";\nvar loadedInfoGrammar;\nvar InfoGrammar = /* @__PURE__ */ __name(() => loadedInfoGrammar ?? (loadedInfoGrammar = loadGrammarFromJson('{\"$type\":\"Grammar\",\"isDeclared\":true,\"name\":\"Info\",\"imports\":[],\"rules\":[{\"$type\":\"ParserRule\",\"entry\":true,\"name\":\"Info\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Keyword\",\"value\":\"info\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"showInfo\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[],\"cardinality\":\"*\"}],\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[],\"cardinality\":\"?\"}]},\"definesHiddenTokens\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"TitleAndAccessibilities\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"accDescr\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@4\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"accTitle\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[]}}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]}],\"cardinality\":\"+\"},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"EOL\",\"dataType\":\"string\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"EndOfFile\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NEWLINE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\r?\\\\\\\\n/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_DESCR\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accDescr(?:[\\\\\\\\t ]*:([^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)|\\\\\\\\s*{([^}]*)})/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accTitle[\\\\\\\\t ]*:(?:[^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*title(?:[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*|)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"WHITESPACE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]+/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"YAML\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/---[\\\\\\\\t ]*\\\\\\\\r?\\\\\\\\n(?:[\\\\\\\\S\\\\\\\\s]*?\\\\\\\\r?\\\\\\\\n)?---(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"DIRECTIVE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%{[\\\\\\\\S\\\\\\\\s]*?}%%(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"SINGLE_LINE_COMMENT\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%[^\\\\\\\\n\\\\\\\\r]*/\"},\"fragment\":false}],\"definesHiddenTokens\":false,\"hiddenTokens\":[],\"interfaces\":[{\"$type\":\"Interface\",\"name\":\"Common\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"accDescr\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"accTitle\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"title\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}}],\"superTypes\":[]}],\"types\":[],\"usedGrammars\":[]}')), \"InfoGrammar\");\nvar loadedPacketGrammar;\nvar PacketGrammar = /* @__PURE__ */ __name(() => loadedPacketGrammar ?? (loadedPacketGrammar = loadGrammarFromJson(`{\"$type\":\"Grammar\",\"isDeclared\":true,\"name\":\"Packet\",\"imports\":[],\"rules\":[{\"$type\":\"ParserRule\",\"entry\":true,\"name\":\"Packet\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Keyword\",\"value\":\"packet-beta\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@4\"},\"arguments\":[]},{\"$type\":\"Assignment\",\"feature\":\"blocks\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]},\"cardinality\":\"*\"}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"Assignment\",\"feature\":\"blocks\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]},\"cardinality\":\"+\"}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"*\"}]}]},\"definesHiddenTokens\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"PacketBlock\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"start\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"-\"},{\"$type\":\"Assignment\",\"feature\":\"end\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]}}],\"cardinality\":\"?\"},{\"$type\":\"Keyword\",\"value\":\":\"},{\"$type\":\"Assignment\",\"feature\":\"label\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[]}},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"INT\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"number\"},\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/0|[1-9][0-9]*/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"STRING\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\"[^\\\\\"]*\\\\\"|'[^']*'/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"TitleAndAccessibilities\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"accDescr\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@7\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"accTitle\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@8\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@9\"},\"arguments\":[]}}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}],\"cardinality\":\"+\"},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"EOL\",\"dataType\":\"string\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"EndOfFile\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NEWLINE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\r?\\\\\\\\n/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_DESCR\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accDescr(?:[\\\\\\\\t ]*:([^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)|\\\\\\\\s*{([^}]*)})/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accTitle[\\\\\\\\t ]*:(?:[^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*title(?:[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*|)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"WHITESPACE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]+/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"YAML\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/---[\\\\\\\\t ]*\\\\\\\\r?\\\\\\\\n(?:[\\\\\\\\S\\\\\\\\s]*?\\\\\\\\r?\\\\\\\\n)?---(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"DIRECTIVE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%{[\\\\\\\\S\\\\\\\\s]*?}%%(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"SINGLE_LINE_COMMENT\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%[^\\\\\\\\n\\\\\\\\r]*/\"},\"fragment\":false}],\"definesHiddenTokens\":false,\"hiddenTokens\":[],\"interfaces\":[{\"$type\":\"Interface\",\"name\":\"Common\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"accDescr\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"accTitle\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"title\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}}],\"superTypes\":[]}],\"types\":[],\"usedGrammars\":[]}`)), \"PacketGrammar\");\nvar loadedPieGrammar;\nvar PieGrammar = /* @__PURE__ */ __name(() => loadedPieGrammar ?? (loadedPieGrammar = loadGrammarFromJson('{\"$type\":\"Grammar\",\"isDeclared\":true,\"name\":\"Pie\",\"imports\":[],\"rules\":[{\"$type\":\"ParserRule\",\"entry\":true,\"name\":\"Pie\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Keyword\",\"value\":\"pie\"},{\"$type\":\"Assignment\",\"feature\":\"showData\",\"operator\":\"?=\",\"terminal\":{\"$type\":\"Keyword\",\"value\":\"showData\"},\"cardinality\":\"?\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@4\"},\"arguments\":[]},{\"$type\":\"Assignment\",\"feature\":\"sections\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]},\"cardinality\":\"*\"}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"Assignment\",\"feature\":\"sections\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]},\"cardinality\":\"+\"}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"*\"}]}]},\"definesHiddenTokens\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"PieSection\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"label\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]}},{\"$type\":\"Keyword\",\"value\":\":\"},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[]}},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"PIE_SECTION_LABEL\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\"[^\\\\\"]+\\\\\"/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"PIE_SECTION_VALUE\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"number\"},\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/(0|[1-9][0-9]*)(\\\\\\\\.[0-9]+)?/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"TitleAndAccessibilities\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"accDescr\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@7\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"accTitle\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@8\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@9\"},\"arguments\":[]}}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}],\"cardinality\":\"+\"},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"EOL\",\"dataType\":\"string\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"EndOfFile\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NEWLINE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\r?\\\\\\\\n/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_DESCR\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accDescr(?:[\\\\\\\\t ]*:([^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)|\\\\\\\\s*{([^}]*)})/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accTitle[\\\\\\\\t ]*:(?:[^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*title(?:[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*|)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"WHITESPACE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]+/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"YAML\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/---[\\\\\\\\t ]*\\\\\\\\r?\\\\\\\\n(?:[\\\\\\\\S\\\\\\\\s]*?\\\\\\\\r?\\\\\\\\n)?---(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"DIRECTIVE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%{[\\\\\\\\S\\\\\\\\s]*?}%%(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"SINGLE_LINE_COMMENT\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%[^\\\\\\\\n\\\\\\\\r]*/\"},\"fragment\":false}],\"definesHiddenTokens\":false,\"hiddenTokens\":[],\"interfaces\":[{\"$type\":\"Interface\",\"name\":\"Common\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"accDescr\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"accTitle\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"title\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}}],\"superTypes\":[]}],\"types\":[],\"usedGrammars\":[]}')), \"PieGrammar\");\nvar loadedArchitectureGrammar;\nvar ArchitectureGrammar = /* @__PURE__ */ __name(() => loadedArchitectureGrammar ?? (loadedArchitectureGrammar = loadGrammarFromJson('{\"$type\":\"Grammar\",\"isDeclared\":true,\"name\":\"Architecture\",\"imports\":[],\"rules\":[{\"$type\":\"ParserRule\",\"entry\":true,\"name\":\"Architecture\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Keyword\",\"value\":\"architecture-beta\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@16\"},\"arguments\":[]}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[],\"cardinality\":\"*\"}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[],\"cardinality\":\"*\"}]}]},\"definesHiddenTokens\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"Statement\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"groups\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"services\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@6\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"junctions\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@7\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"edges\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@8\"},\"arguments\":[]}}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"LeftPort\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\":\"},{\"$type\":\"Assignment\",\"feature\":\"lhsDir\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@9\"},\"arguments\":[]}}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"RightPort\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"rhsDir\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@9\"},\"arguments\":[]}},{\"$type\":\"Keyword\",\"value\":\":\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"Arrow\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]},{\"$type\":\"Assignment\",\"feature\":\"lhsInto\",\"operator\":\"?=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@15\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"--\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"-\"},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@13\"},\"arguments\":[]}},{\"$type\":\"Keyword\",\"value\":\"-\"}]}]},{\"$type\":\"Assignment\",\"feature\":\"rhsInto\",\"operator\":\"?=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@15\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Group\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"group\"},{\"$type\":\"Assignment\",\"feature\":\"id\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"icon\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@12\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@13\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"in\"},{\"$type\":\"Assignment\",\"feature\":\"in\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}}],\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Service\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"service\"},{\"$type\":\"Assignment\",\"feature\":\"id\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"iconText\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@11\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"icon\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@12\"},\"arguments\":[]}}],\"cardinality\":\"?\"},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@13\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"in\"},{\"$type\":\"Assignment\",\"feature\":\"in\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}}],\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Junction\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"junction\"},{\"$type\":\"Assignment\",\"feature\":\"id\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"in\"},{\"$type\":\"Assignment\",\"feature\":\"in\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}}],\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Edge\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"lhsId\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"lhsGroup\",\"operator\":\"?=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@14\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@4\"},\"arguments\":[]},{\"$type\":\"Assignment\",\"feature\":\"rhsId\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@10\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"rhsGroup\",\"operator\":\"?=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@14\"},\"arguments\":[]},\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARROW_DIRECTION\",\"definition\":{\"$type\":\"TerminalAlternatives\",\"elements\":[{\"$type\":\"TerminalAlternatives\",\"elements\":[{\"$type\":\"TerminalAlternatives\",\"elements\":[{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"L\"}},{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"R\"}}]},{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"T\"}}]},{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"B\"}}]},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARCH_ID\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\w]+/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARCH_TEXT_ICON\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\(\\\\\"[^\\\\\"]+\\\\\"\\\\\\\\)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARCH_ICON\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\([\\\\\\\\w-:]+\\\\\\\\)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARCH_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\[[\\\\\\\\w ]+\\\\\\\\]/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARROW_GROUP\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\{group\\\\\\\\}/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ARROW_INTO\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/<|>/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"TitleAndAccessibilities\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"accDescr\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@19\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"accTitle\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@21\"},\"arguments\":[]}}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}],\"cardinality\":\"+\"},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"EOL\",\"dataType\":\"string\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"EndOfFile\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NEWLINE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\r?\\\\\\\\n/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_DESCR\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accDescr(?:[\\\\\\\\t ]*:([^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)|\\\\\\\\s*{([^}]*)})/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accTitle[\\\\\\\\t ]*:(?:[^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*title(?:[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*|)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"WHITESPACE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]+/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"YAML\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/---[\\\\\\\\t ]*\\\\\\\\r?\\\\\\\\n(?:[\\\\\\\\S\\\\\\\\s]*?\\\\\\\\r?\\\\\\\\n)?---(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"DIRECTIVE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%{[\\\\\\\\S\\\\\\\\s]*?}%%(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"SINGLE_LINE_COMMENT\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%[^\\\\\\\\n\\\\\\\\r]*/\"},\"fragment\":false}],\"definesHiddenTokens\":false,\"hiddenTokens\":[],\"interfaces\":[{\"$type\":\"Interface\",\"name\":\"Common\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"accDescr\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"accTitle\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"title\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}}],\"superTypes\":[]}],\"types\":[],\"usedGrammars\":[]}')), \"ArchitectureGrammar\");\nvar loadedGitGraphGrammar;\nvar GitGraphGrammar = /* @__PURE__ */ __name(() => loadedGitGraphGrammar ?? (loadedGitGraphGrammar = loadGrammarFromJson(`{\"$type\":\"Grammar\",\"isDeclared\":true,\"name\":\"GitGraph\",\"interfaces\":[{\"$type\":\"Interface\",\"name\":\"Common\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"accDescr\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"accTitle\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"title\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}}],\"superTypes\":[]}],\"rules\":[{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"TitleAndAccessibilities\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"accDescr\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"accTitle\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@4\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}],\"cardinality\":\"+\"},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"EOL\",\"dataType\":\"string\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"EndOfFile\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NEWLINE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\r?\\\\\\\\n/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_DESCR\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accDescr(?:[\\\\\\\\t ]*:([^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)|\\\\\\\\s*{([^}]*)})/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accTitle[\\\\\\\\t ]*:(?:[^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*title(?:[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*|)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"WHITESPACE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]+/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"YAML\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/---[\\\\\\\\t ]*\\\\\\\\r?\\\\\\\\n(?:[\\\\\\\\S\\\\\\\\s]*?\\\\\\\\r?\\\\\\\\n)?---(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"DIRECTIVE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%{[\\\\\\\\S\\\\\\\\s]*?}%%(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"SINGLE_LINE_COMMENT\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%[^\\\\\\\\n\\\\\\\\r]*/\"},\"fragment\":false},{\"$type\":\"ParserRule\",\"entry\":true,\"name\":\"GitGraph\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"gitGraph\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"gitGraph\"},{\"$type\":\"Keyword\",\"value\":\":\"}]},{\"$type\":\"Keyword\",\"value\":\"gitGraph:\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"gitGraph\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@12\"},\"arguments\":[]},{\"$type\":\"Keyword\",\"value\":\":\"}]}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@0\"},\"arguments\":[]},{\"$type\":\"Assignment\",\"feature\":\"statements\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@11\"},\"arguments\":[]}},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]}],\"cardinality\":\"*\"}]}]},\"definesHiddenTokens\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Statement\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@13\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@14\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@15\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@16\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Direction\",\"definition\":{\"$type\":\"Assignment\",\"feature\":\"dir\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"LR\"},{\"$type\":\"Keyword\",\"value\":\"TB\"},{\"$type\":\"Keyword\",\"value\":\"BT\"}]}},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Commit\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"commit\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"id:\"},{\"$type\":\"Assignment\",\"feature\":\"id\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"msg:\",\"cardinality\":\"?\"},{\"$type\":\"Assignment\",\"feature\":\"message\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"tag:\"},{\"$type\":\"Assignment\",\"feature\":\"tags\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"type:\"},{\"$type\":\"Assignment\",\"feature\":\"type\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"NORMAL\"},{\"$type\":\"Keyword\",\"value\":\"REVERSE\"},{\"$type\":\"Keyword\",\"value\":\"HIGHLIGHT\"}]}}]}],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Branch\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"branch\"},{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@19\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"order:\"},{\"$type\":\"Assignment\",\"feature\":\"order\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[]}}],\"cardinality\":\"?\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Merge\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"merge\"},{\"$type\":\"Assignment\",\"feature\":\"branch\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@19\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}]}},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"id:\"},{\"$type\":\"Assignment\",\"feature\":\"id\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"tag:\"},{\"$type\":\"Assignment\",\"feature\":\"tags\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"type:\"},{\"$type\":\"Assignment\",\"feature\":\"type\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"NORMAL\"},{\"$type\":\"Keyword\",\"value\":\"REVERSE\"},{\"$type\":\"Keyword\",\"value\":\"HIGHLIGHT\"}]}}]}],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Checkout\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"checkout\"},{\"$type\":\"Keyword\",\"value\":\"switch\"}]},{\"$type\":\"Assignment\",\"feature\":\"branch\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@19\"},\"arguments\":[]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}]}},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"CherryPicking\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"cherry-pick\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"id:\"},{\"$type\":\"Assignment\",\"feature\":\"id\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"tag:\"},{\"$type\":\"Assignment\",\"feature\":\"tags\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"parent:\"},{\"$type\":\"Assignment\",\"feature\":\"parent\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]}],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"INT\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"number\"},\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[0-9]+(?=\\\\\\\\s)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ID\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"string\"},\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\w([-\\\\\\\\./\\\\\\\\w]*[-\\\\\\\\w])?/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"STRING\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\"[^\\\\\"]*\\\\\"|'[^']*'/\"},\"fragment\":false,\"hidden\":false}],\"definesHiddenTokens\":false,\"hiddenTokens\":[],\"imports\":[],\"types\":[],\"usedGrammars\":[]}`)), \"GitGraphGrammar\");\nvar loadedRadarGrammar;\nvar RadarGrammar = /* @__PURE__ */ __name(() => loadedRadarGrammar ?? (loadedRadarGrammar = loadGrammarFromJson(`{\"$type\":\"Grammar\",\"isDeclared\":true,\"name\":\"Radar\",\"interfaces\":[{\"$type\":\"Interface\",\"name\":\"Common\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"accDescr\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"accTitle\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}},{\"$type\":\"TypeAttribute\",\"name\":\"title\",\"isOptional\":true,\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"string\"}}],\"superTypes\":[]},{\"$type\":\"Interface\",\"name\":\"Entry\",\"attributes\":[{\"$type\":\"TypeAttribute\",\"name\":\"axis\",\"isOptional\":true,\"type\":{\"$type\":\"ReferenceType\",\"referenceType\":{\"$type\":\"SimpleType\",\"typeRef\":{\"$ref\":\"#/rules@12\"}}}},{\"$type\":\"TypeAttribute\",\"name\":\"value\",\"type\":{\"$type\":\"SimpleType\",\"primitiveType\":\"number\"},\"isOptional\":false}],\"superTypes\":[]}],\"rules\":[{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"TitleAndAccessibilities\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"accDescr\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@3\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"accTitle\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@4\"},\"arguments\":[]}},{\"$type\":\"Assignment\",\"feature\":\"title\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@5\"},\"arguments\":[]}}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@1\"},\"arguments\":[]}],\"cardinality\":\"+\"},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"EOL\",\"dataType\":\"string\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"+\"},{\"$type\":\"EndOfFile\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NEWLINE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\\\\r?\\\\\\\\n/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_DESCR\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accDescr(?:[\\\\\\\\t ]*:([^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)|\\\\\\\\s*{([^}]*)})/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ACC_TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*accTitle[\\\\\\\\t ]*:(?:[^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[^\\\\\\\\n\\\\\\\\r]*)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"TITLE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*title(?:[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*?(?=%%)|[\\\\\\\\t ][^\\\\\\\\n\\\\\\\\r]*|)/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"WHITESPACE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]+/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"YAML\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/---[\\\\\\\\t ]*\\\\\\\\r?\\\\\\\\n(?:[\\\\\\\\S\\\\\\\\s]*?\\\\\\\\r?\\\\\\\\n)?---(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"DIRECTIVE\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%{[\\\\\\\\S\\\\\\\\s]*?}%%(?:\\\\\\\\r?\\\\\\\\n|(?!\\\\\\\\S))/\"},\"fragment\":false},{\"$type\":\"TerminalRule\",\"hidden\":true,\"name\":\"SINGLE_LINE_COMMENT\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[\\\\\\\\t ]*%%[^\\\\\\\\n\\\\\\\\r]*/\"},\"fragment\":false},{\"$type\":\"ParserRule\",\"entry\":true,\"name\":\"Radar\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"radar-beta\"},{\"$type\":\"Keyword\",\"value\":\"radar-beta:\"},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"radar-beta\"},{\"$type\":\"Keyword\",\"value\":\":\"}]}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@0\"},\"arguments\":[]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"axis\"},{\"$type\":\"Assignment\",\"feature\":\"axes\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@12\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\",\"},{\"$type\":\"Assignment\",\"feature\":\"axes\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@12\"},\"arguments\":[]}}],\"cardinality\":\"*\"}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"curve\"},{\"$type\":\"Assignment\",\"feature\":\"curves\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@13\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\",\"},{\"$type\":\"Assignment\",\"feature\":\"curves\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@13\"},\"arguments\":[]}}],\"cardinality\":\"*\"}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"options\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\",\"},{\"$type\":\"Assignment\",\"feature\":\"options\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@17\"},\"arguments\":[]}}],\"cardinality\":\"*\"}]},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[]}],\"cardinality\":\"*\"}]},\"definesHiddenTokens\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"Label\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\"[\"},{\"$type\":\"Assignment\",\"feature\":\"label\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@22\"},\"arguments\":[]}},{\"$type\":\"Keyword\",\"value\":\"]\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Axis\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@21\"},\"arguments\":[]}},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@11\"},\"arguments\":[],\"cardinality\":\"?\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Curve\",\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@21\"},\"arguments\":[]}},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@11\"},\"arguments\":[],\"cardinality\":\"?\"},{\"$type\":\"Keyword\",\"value\":\"{\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@14\"},\"arguments\":[]},{\"$type\":\"Keyword\",\"value\":\"}\"}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"fragment\":true,\"name\":\"Entries\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Assignment\",\"feature\":\"entries\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@16\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\",\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Assignment\",\"feature\":\"entries\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@16\"},\"arguments\":[]}}],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Assignment\",\"feature\":\"entries\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@15\"},\"arguments\":[]}},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Keyword\",\"value\":\",\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"},{\"$type\":\"Assignment\",\"feature\":\"entries\",\"operator\":\"+=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@15\"},\"arguments\":[]}}],\"cardinality\":\"*\"},{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@2\"},\"arguments\":[],\"cardinality\":\"*\"}]}]},\"definesHiddenTokens\":false,\"entry\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"DetailedEntry\",\"returnType\":{\"$ref\":\"#/interfaces@1\"},\"definition\":{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"axis\",\"operator\":\"=\",\"terminal\":{\"$type\":\"CrossReference\",\"type\":{\"$ref\":\"#/rules@12\"},\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@21\"},\"arguments\":[]},\"deprecatedSyntax\":false}},{\"$type\":\"Keyword\",\"value\":\":\",\"cardinality\":\"?\"},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[]}}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"NumberEntry\",\"returnType\":{\"$ref\":\"#/interfaces@1\"},\"definition\":{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[]}},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"ParserRule\",\"name\":\"Option\",\"definition\":{\"$type\":\"Alternatives\",\"elements\":[{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Keyword\",\"value\":\"showLegend\"}},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@19\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Keyword\",\"value\":\"ticks\"}},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Keyword\",\"value\":\"max\"}},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Keyword\",\"value\":\"min\"}},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@18\"},\"arguments\":[]}}]},{\"$type\":\"Group\",\"elements\":[{\"$type\":\"Assignment\",\"feature\":\"name\",\"operator\":\"=\",\"terminal\":{\"$type\":\"Keyword\",\"value\":\"graticule\"}},{\"$type\":\"Assignment\",\"feature\":\"value\",\"operator\":\"=\",\"terminal\":{\"$type\":\"RuleCall\",\"rule\":{\"$ref\":\"#/rules@20\"},\"arguments\":[]}}]}]},\"definesHiddenTokens\":false,\"entry\":false,\"fragment\":false,\"hiddenTokens\":[],\"parameters\":[],\"wildcard\":false},{\"$type\":\"TerminalRule\",\"name\":\"NUMBER\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"number\"},\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/(0|[1-9][0-9]*)(\\\\\\\\.[0-9]+)?/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"BOOLEAN\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"boolean\"},\"definition\":{\"$type\":\"TerminalAlternatives\",\"elements\":[{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"true\"}},{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"false\"}}]},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"GRATICULE\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"string\"},\"definition\":{\"$type\":\"TerminalAlternatives\",\"elements\":[{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"circle\"}},{\"$type\":\"CharacterRange\",\"left\":{\"$type\":\"Keyword\",\"value\":\"polygon\"}}]},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"ID\",\"type\":{\"$type\":\"ReturnType\",\"name\":\"string\"},\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/[a-zA-Z_][a-zA-Z0-9\\\\\\\\-_]*/\"},\"fragment\":false,\"hidden\":false},{\"$type\":\"TerminalRule\",\"name\":\"STRING\",\"definition\":{\"$type\":\"RegexToken\",\"regex\":\"/\\\\\"[^\\\\\"]*\\\\\"|'[^']*'/\"},\"fragment\":false,\"hidden\":false}],\"definesHiddenTokens\":false,\"hiddenTokens\":[],\"imports\":[],\"types\":[],\"usedGrammars\":[]}`)), \"RadarGrammar\");\n\n// src/language/generated/module.ts\nvar InfoLanguageMetaData = {\n languageId: \"info\",\n fileExtensions: [\".mmd\", \".mermaid\"],\n caseInsensitive: false,\n mode: \"production\"\n};\nvar PacketLanguageMetaData = {\n languageId: \"packet\",\n fileExtensions: [\".mmd\", \".mermaid\"],\n caseInsensitive: false,\n mode: \"production\"\n};\nvar PieLanguageMetaData = {\n languageId: \"pie\",\n fileExtensions: [\".mmd\", \".mermaid\"],\n caseInsensitive: false,\n mode: \"production\"\n};\nvar ArchitectureLanguageMetaData = {\n languageId: \"architecture\",\n fileExtensions: [\".mmd\", \".mermaid\"],\n caseInsensitive: false,\n mode: \"production\"\n};\nvar GitGraphLanguageMetaData = {\n languageId: \"gitGraph\",\n fileExtensions: [\".mmd\", \".mermaid\"],\n caseInsensitive: false,\n mode: \"production\"\n};\nvar RadarLanguageMetaData = {\n languageId: \"radar\",\n fileExtensions: [\".mmd\", \".mermaid\"],\n caseInsensitive: false,\n mode: \"production\"\n};\nvar MermaidGeneratedSharedModule = {\n AstReflection: /* @__PURE__ */ __name(() => new MermaidAstReflection(), \"AstReflection\")\n};\nvar InfoGeneratedModule = {\n Grammar: /* @__PURE__ */ __name(() => InfoGrammar(), \"Grammar\"),\n LanguageMetaData: /* @__PURE__ */ __name(() => InfoLanguageMetaData, \"LanguageMetaData\"),\n parser: {}\n};\nvar PacketGeneratedModule = {\n Grammar: /* @__PURE__ */ __name(() => PacketGrammar(), \"Grammar\"),\n LanguageMetaData: /* @__PURE__ */ __name(() => PacketLanguageMetaData, \"LanguageMetaData\"),\n parser: {}\n};\nvar PieGeneratedModule = {\n Grammar: /* @__PURE__ */ __name(() => PieGrammar(), \"Grammar\"),\n LanguageMetaData: /* @__PURE__ */ __name(() => PieLanguageMetaData, \"LanguageMetaData\"),\n parser: {}\n};\nvar ArchitectureGeneratedModule = {\n Grammar: /* @__PURE__ */ __name(() => ArchitectureGrammar(), \"Grammar\"),\n LanguageMetaData: /* @__PURE__ */ __name(() => ArchitectureLanguageMetaData, \"LanguageMetaData\"),\n parser: {}\n};\nvar GitGraphGeneratedModule = {\n Grammar: /* @__PURE__ */ __name(() => GitGraphGrammar(), \"Grammar\"),\n LanguageMetaData: /* @__PURE__ */ __name(() => GitGraphLanguageMetaData, \"LanguageMetaData\"),\n parser: {}\n};\nvar RadarGeneratedModule = {\n Grammar: /* @__PURE__ */ __name(() => RadarGrammar(), \"Grammar\"),\n LanguageMetaData: /* @__PURE__ */ __name(() => RadarLanguageMetaData, \"LanguageMetaData\"),\n parser: {}\n};\n\n// src/language/common/valueConverter.ts\nimport { DefaultValueConverter } from \"langium\";\n\n// src/language/common/matcher.ts\nvar accessibilityDescrRegex = /accDescr(?:[\\t ]*:([^\\n\\r]*)|\\s*{([^}]*)})/;\nvar accessibilityTitleRegex = /accTitle[\\t ]*:([^\\n\\r]*)/;\nvar titleRegex = /title([\\t ][^\\n\\r]*|)/;\n\n// src/language/common/valueConverter.ts\nvar rulesRegexes = {\n ACC_DESCR: accessibilityDescrRegex,\n ACC_TITLE: accessibilityTitleRegex,\n TITLE: titleRegex\n};\nvar AbstractMermaidValueConverter = class extends DefaultValueConverter {\n static {\n __name(this, \"AbstractMermaidValueConverter\");\n }\n runConverter(rule, input, cstNode) {\n let value = this.runCommonConverter(rule, input, cstNode);\n if (value === void 0) {\n value = this.runCustomConverter(rule, input, cstNode);\n }\n if (value === void 0) {\n return super.runConverter(rule, input, cstNode);\n }\n return value;\n }\n runCommonConverter(rule, input, _cstNode) {\n const regex = rulesRegexes[rule.name];\n if (regex === void 0) {\n return void 0;\n }\n const match = regex.exec(input);\n if (match === null) {\n return void 0;\n }\n if (match[1] !== void 0) {\n return match[1].trim().replace(/[\\t ]{2,}/gm, \" \");\n }\n if (match[2] !== void 0) {\n return match[2].replace(/^\\s*/gm, \"\").replace(/\\s+$/gm, \"\").replace(/[\\t ]{2,}/gm, \" \").replace(/[\\n\\r]{2,}/gm, \"\\n\");\n }\n return void 0;\n }\n};\nvar CommonValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"CommonValueConverter\");\n }\n runCustomConverter(_rule, _input, _cstNode) {\n return void 0;\n }\n};\n\n// src/language/common/tokenBuilder.ts\nimport { DefaultTokenBuilder } from \"langium\";\nvar AbstractMermaidTokenBuilder = class extends DefaultTokenBuilder {\n static {\n __name(this, \"AbstractMermaidTokenBuilder\");\n }\n constructor(keywords) {\n super();\n this.keywords = new Set(keywords);\n }\n buildKeywordTokens(rules, terminalTokens, options) {\n const tokenTypes = super.buildKeywordTokens(rules, terminalTokens, options);\n tokenTypes.forEach((tokenType) => {\n if (this.keywords.has(tokenType.name) && tokenType.PATTERN !== void 0) {\n tokenType.PATTERN = new RegExp(tokenType.PATTERN.toString() + \"(?:(?=%%)|(?!\\\\S))\");\n }\n });\n return tokenTypes;\n }\n};\nvar CommonTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"CommonTokenBuilder\");\n }\n};\n\nexport {\n __name,\n Statement,\n Architecture,\n isArchitecture,\n Branch,\n isBranch,\n Commit,\n isCommit,\n isCommon,\n GitGraph,\n isGitGraph,\n Info,\n isInfo,\n Merge,\n isMerge,\n Packet,\n isPacket,\n PacketBlock,\n isPacketBlock,\n Pie,\n isPie,\n PieSection,\n isPieSection,\n Radar,\n MermaidGeneratedSharedModule,\n InfoGeneratedModule,\n PacketGeneratedModule,\n PieGeneratedModule,\n ArchitectureGeneratedModule,\n GitGraphGeneratedModule,\n RadarGeneratedModule,\n AbstractMermaidValueConverter,\n CommonValueConverter,\n AbstractMermaidTokenBuilder,\n CommonTokenBuilder\n};\n", + "import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n GitGraphGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-7PKI6E2E.mjs\";\n\n// src/language/gitGraph/module.ts\nimport {\n inject,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n EmptyFileSystem\n} from \"langium\";\n\n// src/language/gitGraph/tokenBuilder.ts\nvar GitGraphTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"GitGraphTokenBuilder\");\n }\n constructor() {\n super([\"gitGraph\"]);\n }\n};\n\n// src/language/gitGraph/module.ts\nvar GitGraphModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new GitGraphTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createGitGraphServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const GitGraph = inject(\n createDefaultCoreModule({ shared }),\n GitGraphGeneratedModule,\n GitGraphModule\n );\n shared.ServiceRegistry.register(GitGraph);\n return { shared, GitGraph };\n}\n__name(createGitGraphServices, \"createGitGraphServices\");\n\nexport {\n GitGraphModule,\n createGitGraphServices\n};\n", + "import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n InfoGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-7PKI6E2E.mjs\";\n\n// src/language/info/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/info/tokenBuilder.ts\nvar InfoTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"InfoTokenBuilder\");\n }\n constructor() {\n super([\"info\", \"showInfo\"]);\n }\n};\n\n// src/language/info/module.ts\nvar InfoModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new InfoTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createInfoServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Info = inject(\n createDefaultCoreModule({ shared }),\n InfoGeneratedModule,\n InfoModule\n );\n shared.ServiceRegistry.register(Info);\n return { shared, Info };\n}\n__name(createInfoServices, \"createInfoServices\");\n\nexport {\n InfoModule,\n createInfoServices\n};\n", + "import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n PacketGeneratedModule,\n __name\n} from \"./chunk-7PKI6E2E.mjs\";\n\n// src/language/packet/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/packet/tokenBuilder.ts\nvar PacketTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PacketTokenBuilder\");\n }\n constructor() {\n super([\"packet-beta\"]);\n }\n};\n\n// src/language/packet/module.ts\nvar PacketModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PacketTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPacketServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Packet = inject(\n createDefaultCoreModule({ shared }),\n PacketGeneratedModule,\n PacketModule\n );\n shared.ServiceRegistry.register(Packet);\n return { shared, Packet };\n}\n__name(createPacketServices, \"createPacketServices\");\n\nexport {\n PacketModule,\n createPacketServices\n};\n", + "import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n MermaidGeneratedSharedModule,\n PieGeneratedModule,\n __name\n} from \"./chunk-7PKI6E2E.mjs\";\n\n// src/language/pie/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/pie/tokenBuilder.ts\nvar PieTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"PieTokenBuilder\");\n }\n constructor() {\n super([\"pie\", \"showData\"]);\n }\n};\n\n// src/language/pie/valueConverter.ts\nvar PieValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"PieValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name !== \"PIE_SECTION_LABEL\") {\n return void 0;\n }\n return input.replace(/\"/g, \"\").trim();\n }\n};\n\n// src/language/pie/module.ts\nvar PieModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new PieTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new PieValueConverter(), \"ValueConverter\")\n }\n};\nfunction createPieServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Pie = inject(\n createDefaultCoreModule({ shared }),\n PieGeneratedModule,\n PieModule\n );\n shared.ServiceRegistry.register(Pie);\n return { shared, Pie };\n}\n__name(createPieServices, \"createPieServices\");\n\nexport {\n PieModule,\n createPieServices\n};\n", + "import {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n ArchitectureGeneratedModule,\n MermaidGeneratedSharedModule,\n __name\n} from \"./chunk-7PKI6E2E.mjs\";\n\n// src/language/architecture/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/architecture/tokenBuilder.ts\nvar ArchitectureTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"ArchitectureTokenBuilder\");\n }\n constructor() {\n super([\"architecture\"]);\n }\n};\n\n// src/language/architecture/valueConverter.ts\nvar ArchitectureValueConverter = class extends AbstractMermaidValueConverter {\n static {\n __name(this, \"ArchitectureValueConverter\");\n }\n runCustomConverter(rule, input, _cstNode) {\n if (rule.name === \"ARCH_ICON\") {\n return input.replace(/[()]/g, \"\").trim();\n } else if (rule.name === \"ARCH_TEXT_ICON\") {\n return input.replace(/[\"()]/g, \"\");\n } else if (rule.name === \"ARCH_TITLE\") {\n return input.replace(/[[\\]]/g, \"\").trim();\n }\n return void 0;\n }\n};\n\n// src/language/architecture/module.ts\nvar ArchitectureModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new ArchitectureTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new ArchitectureValueConverter(), \"ValueConverter\")\n }\n};\nfunction createArchitectureServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Architecture = inject(\n createDefaultCoreModule({ shared }),\n ArchitectureGeneratedModule,\n ArchitectureModule\n );\n shared.ServiceRegistry.register(Architecture);\n return { shared, Architecture };\n}\n__name(createArchitectureServices, \"createArchitectureServices\");\n\nexport {\n ArchitectureModule,\n createArchitectureServices\n};\n", + "import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n MermaidGeneratedSharedModule,\n RadarGeneratedModule,\n __name\n} from \"./chunk-7PKI6E2E.mjs\";\n\n// src/language/radar/module.ts\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject\n} from \"langium\";\n\n// src/language/radar/tokenBuilder.ts\nvar RadarTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"RadarTokenBuilder\");\n }\n constructor() {\n super([\"radar-beta\"]);\n }\n};\n\n// src/language/radar/module.ts\nvar RadarModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new RadarTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n }\n};\nfunction createRadarServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Radar = inject(\n createDefaultCoreModule({ shared }),\n RadarGeneratedModule,\n RadarModule\n );\n shared.ServiceRegistry.register(Radar);\n return { shared, Radar };\n}\n__name(createRadarServices, \"createRadarServices\");\n\nexport {\n RadarModule,\n createRadarServices\n};\n", + "import {\n GitGraphModule,\n createGitGraphServices\n} from \"./chunks/mermaid-parser.core/chunk-2NYFTIL2.mjs\";\nimport {\n InfoModule,\n createInfoServices\n} from \"./chunks/mermaid-parser.core/chunk-EXZZNE6F.mjs\";\nimport {\n PacketModule,\n createPacketServices\n} from \"./chunks/mermaid-parser.core/chunk-V4Q32G6S.mjs\";\nimport {\n PieModule,\n createPieServices\n} from \"./chunks/mermaid-parser.core/chunk-ROXG7S4E.mjs\";\nimport {\n ArchitectureModule,\n createArchitectureServices\n} from \"./chunks/mermaid-parser.core/chunk-C4OEIS7N.mjs\";\nimport {\n RadarModule,\n createRadarServices\n} from \"./chunks/mermaid-parser.core/chunk-2O5ZK7RR.mjs\";\nimport {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n Architecture,\n ArchitectureGeneratedModule,\n Branch,\n Commit,\n CommonTokenBuilder,\n CommonValueConverter,\n GitGraph,\n GitGraphGeneratedModule,\n Info,\n InfoGeneratedModule,\n Merge,\n MermaidGeneratedSharedModule,\n Packet,\n PacketBlock,\n PacketGeneratedModule,\n Pie,\n PieGeneratedModule,\n PieSection,\n Radar,\n RadarGeneratedModule,\n Statement,\n __name,\n isArchitecture,\n isBranch,\n isCommit,\n isCommon,\n isGitGraph,\n isInfo,\n isMerge,\n isPacket,\n isPacketBlock,\n isPie,\n isPieSection\n} from \"./chunks/mermaid-parser.core/chunk-7PKI6E2E.mjs\";\n\n// src/parse.ts\nvar parsers = {};\nvar initializers = {\n info: /* @__PURE__ */ __name(async () => {\n const { createInfoServices: createInfoServices2 } = await import(\"./chunks/mermaid-parser.core/info-4N47QTOZ.mjs\");\n const parser = createInfoServices2().Info.parser.LangiumParser;\n parsers.info = parser;\n }, \"info\"),\n packet: /* @__PURE__ */ __name(async () => {\n const { createPacketServices: createPacketServices2 } = await import(\"./chunks/mermaid-parser.core/packet-KVYON367.mjs\");\n const parser = createPacketServices2().Packet.parser.LangiumParser;\n parsers.packet = parser;\n }, \"packet\"),\n pie: /* @__PURE__ */ __name(async () => {\n const { createPieServices: createPieServices2 } = await import(\"./chunks/mermaid-parser.core/pie-R6RNRRYF.mjs\");\n const parser = createPieServices2().Pie.parser.LangiumParser;\n parsers.pie = parser;\n }, \"pie\"),\n architecture: /* @__PURE__ */ __name(async () => {\n const { createArchitectureServices: createArchitectureServices2 } = await import(\"./chunks/mermaid-parser.core/architecture-4AB2E3PP.mjs\");\n const parser = createArchitectureServices2().Architecture.parser.LangiumParser;\n parsers.architecture = parser;\n }, \"architecture\"),\n gitGraph: /* @__PURE__ */ __name(async () => {\n const { createGitGraphServices: createGitGraphServices2 } = await import(\"./chunks/mermaid-parser.core/gitGraph-O2Q2CXLX.mjs\");\n const parser = createGitGraphServices2().GitGraph.parser.LangiumParser;\n parsers.gitGraph = parser;\n }, \"gitGraph\"),\n radar: /* @__PURE__ */ __name(async () => {\n const { createRadarServices: createRadarServices2 } = await import(\"./chunks/mermaid-parser.core/radar-MK3ICKWK.mjs\");\n const parser = createRadarServices2().Radar.parser.LangiumParser;\n parsers.radar = parser;\n }, \"radar\")\n};\nasync function parse(diagramType, text) {\n const initializer = initializers[diagramType];\n if (!initializer) {\n throw new Error(`Unknown diagram type: ${diagramType}`);\n }\n if (!parsers[diagramType]) {\n await initializer();\n }\n const parser = parsers[diagramType];\n const result = parser.parse(text);\n if (result.lexerErrors.length > 0 || result.parserErrors.length > 0) {\n throw new MermaidParseError(result);\n }\n return result.value;\n}\n__name(parse, \"parse\");\nvar MermaidParseError = class extends Error {\n constructor(result) {\n const lexerErrors = result.lexerErrors.map((err) => err.message).join(\"\\n\");\n const parserErrors = result.parserErrors.map((err) => err.message).join(\"\\n\");\n super(`Parsing failed: ${lexerErrors} ${parserErrors}`);\n this.result = result;\n }\n static {\n __name(this, \"MermaidParseError\");\n }\n};\nexport {\n AbstractMermaidTokenBuilder,\n AbstractMermaidValueConverter,\n Architecture,\n ArchitectureGeneratedModule,\n ArchitectureModule,\n Branch,\n Commit,\n CommonTokenBuilder,\n CommonValueConverter,\n GitGraph,\n GitGraphGeneratedModule,\n GitGraphModule,\n Info,\n InfoGeneratedModule,\n InfoModule,\n Merge,\n MermaidGeneratedSharedModule,\n MermaidParseError,\n Packet,\n PacketBlock,\n PacketGeneratedModule,\n PacketModule,\n Pie,\n PieGeneratedModule,\n PieModule,\n PieSection,\n Radar,\n RadarGeneratedModule,\n RadarModule,\n Statement,\n createArchitectureServices,\n createGitGraphServices,\n createInfoServices,\n createPacketServices,\n createPieServices,\n createRadarServices,\n isArchitecture,\n isBranch,\n isCommit,\n isCommon,\n isGitGraph,\n isInfo,\n isMerge,\n isPacket,\n isPacketBlock,\n isPie,\n isPieSection,\n parse\n};\n", + "import {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-XZIHB7SX.mjs\";\nimport {\n cleanAndMerge,\n random,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox2 as setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/git/gitGraphParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/git/gitGraphTypes.ts\nvar commitType = {\n NORMAL: 0,\n REVERSE: 1,\n HIGHLIGHT: 2,\n MERGE: 3,\n CHERRY_PICK: 4\n};\n\n// src/diagrams/git/gitGraphAst.ts\nvar DEFAULT_GITGRAPH_CONFIG = defaultConfig_default.gitGraph;\nvar getConfig3 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_GITGRAPH_CONFIG,\n ...getConfig().gitGraph\n });\n return config;\n}, \"getConfig\");\nvar state = new ImperativeState(() => {\n const config = getConfig3();\n const mainBranchName = config.mainBranchName;\n const mainBranchOrder = config.mainBranchOrder;\n return {\n mainBranchName,\n commits: /* @__PURE__ */ new Map(),\n head: null,\n branchConfig: /* @__PURE__ */ new Map([[mainBranchName, { name: mainBranchName, order: mainBranchOrder }]]),\n branches: /* @__PURE__ */ new Map([[mainBranchName, null]]),\n currBranch: mainBranchName,\n direction: \"LR\",\n seq: 0,\n options: {}\n };\n});\nfunction getID() {\n return random({ length: 7 });\n}\n__name(getID, \"getID\");\nfunction uniqBy(list, fn) {\n const recordMap = /* @__PURE__ */ Object.create(null);\n return list.reduce((out, item) => {\n const key = fn(item);\n if (!recordMap[key]) {\n recordMap[key] = true;\n out.push(item);\n }\n return out;\n }, []);\n}\n__name(uniqBy, \"uniqBy\");\nvar setDirection = /* @__PURE__ */ __name(function(dir2) {\n state.records.direction = dir2;\n}, \"setDirection\");\nvar setOptions = /* @__PURE__ */ __name(function(rawOptString) {\n log.debug(\"options str\", rawOptString);\n rawOptString = rawOptString?.trim();\n rawOptString = rawOptString || \"{}\";\n try {\n state.records.options = JSON.parse(rawOptString);\n } catch (e) {\n log.error(\"error while parsing gitGraph options\", e.message);\n }\n}, \"setOptions\");\nvar getOptions = /* @__PURE__ */ __name(function() {\n return state.records.options;\n}, \"getOptions\");\nvar commit = /* @__PURE__ */ __name(function(commitDB) {\n let msg = commitDB.msg;\n let id = commitDB.id;\n const type = commitDB.type;\n let tags = commitDB.tags;\n log.info(\"commit\", msg, id, type, tags);\n log.debug(\"Entering commit:\", msg, id, type, tags);\n const config = getConfig3();\n id = common_default.sanitizeText(id, config);\n msg = common_default.sanitizeText(msg, config);\n tags = tags?.map((tag) => common_default.sanitizeText(tag, config));\n const newCommit = {\n id: id ? id : state.records.seq + \"-\" + getID(),\n message: msg,\n seq: state.records.seq++,\n type: type ?? commitType.NORMAL,\n tags: tags ?? [],\n parents: state.records.head == null ? [] : [state.records.head.id],\n branch: state.records.currBranch\n };\n state.records.head = newCommit;\n log.info(\"main branch\", config.mainBranchName);\n state.records.commits.set(newCommit.id, newCommit);\n state.records.branches.set(state.records.currBranch, newCommit.id);\n log.debug(\"in pushCommit \" + newCommit.id);\n}, \"commit\");\nvar branch = /* @__PURE__ */ __name(function(branchDB) {\n let name = branchDB.name;\n const order = branchDB.order;\n name = common_default.sanitizeText(name, getConfig3());\n if (state.records.branches.has(name)) {\n throw new Error(\n `Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using \"checkout ${name}\")`\n );\n }\n state.records.branches.set(name, state.records.head != null ? state.records.head.id : null);\n state.records.branchConfig.set(name, { name, order });\n checkout(name);\n log.debug(\"in createBranch\");\n}, \"branch\");\nvar merge = /* @__PURE__ */ __name((mergeDB) => {\n let otherBranch = mergeDB.branch;\n let customId = mergeDB.id;\n const overrideType = mergeDB.type;\n const customTags = mergeDB.tags;\n const config = getConfig3();\n otherBranch = common_default.sanitizeText(otherBranch, config);\n if (customId) {\n customId = common_default.sanitizeText(customId, config);\n }\n const currentBranchCheck = state.records.branches.get(state.records.currBranch);\n const otherBranchCheck = state.records.branches.get(otherBranch);\n const currentCommit = currentBranchCheck ? state.records.commits.get(currentBranchCheck) : void 0;\n const otherCommit = otherBranchCheck ? state.records.commits.get(otherBranchCheck) : void 0;\n if (currentCommit && otherCommit && currentCommit.branch === otherBranch) {\n throw new Error(`Cannot merge branch '${otherBranch}' into itself.`);\n }\n if (state.records.currBranch === otherBranch) {\n const error = new Error('Incorrect usage of \"merge\". Cannot merge a branch to itself');\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [\"branch abc\"]\n };\n throw error;\n }\n if (currentCommit === void 0 || !currentCommit) {\n const error = new Error(\n `Incorrect usage of \"merge\". Current branch (${state.records.currBranch})has no commits`\n );\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [\"commit\"]\n };\n throw error;\n }\n if (!state.records.branches.has(otherBranch)) {\n const error = new Error(\n 'Incorrect usage of \"merge\". Branch to be merged (' + otherBranch + \") does not exist\"\n );\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [`branch ${otherBranch}`]\n };\n throw error;\n }\n if (otherCommit === void 0 || !otherCommit) {\n const error = new Error(\n 'Incorrect usage of \"merge\". Branch to be merged (' + otherBranch + \") has no commits\"\n );\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: ['\"commit\"']\n };\n throw error;\n }\n if (currentCommit === otherCommit) {\n const error = new Error('Incorrect usage of \"merge\". Both branches have same head');\n error.hash = {\n text: `merge ${otherBranch}`,\n token: `merge ${otherBranch}`,\n expected: [\"branch abc\"]\n };\n throw error;\n }\n if (customId && state.records.commits.has(customId)) {\n const error = new Error(\n 'Incorrect usage of \"merge\". Commit with id:' + customId + \" already exists, use different custom Id\"\n );\n error.hash = {\n text: `merge ${otherBranch} ${customId} ${overrideType} ${customTags?.join(\" \")}`,\n token: `merge ${otherBranch} ${customId} ${overrideType} ${customTags?.join(\" \")}`,\n expected: [\n `merge ${otherBranch} ${customId}_UNIQUE ${overrideType} ${customTags?.join(\" \")}`\n ]\n };\n throw error;\n }\n const verifiedBranch = otherBranchCheck ? otherBranchCheck : \"\";\n const commit2 = {\n id: customId || `${state.records.seq}-${getID()}`,\n message: `merged branch ${otherBranch} into ${state.records.currBranch}`,\n seq: state.records.seq++,\n parents: state.records.head == null ? [] : [state.records.head.id, verifiedBranch],\n branch: state.records.currBranch,\n type: commitType.MERGE,\n customType: overrideType,\n customId: customId ? true : false,\n tags: customTags ?? []\n };\n state.records.head = commit2;\n state.records.commits.set(commit2.id, commit2);\n state.records.branches.set(state.records.currBranch, commit2.id);\n log.debug(state.records.branches);\n log.debug(\"in mergeBranch\");\n}, \"merge\");\nvar cherryPick = /* @__PURE__ */ __name(function(cherryPickDB) {\n let sourceId = cherryPickDB.id;\n let targetId = cherryPickDB.targetId;\n let tags = cherryPickDB.tags;\n let parentCommitId = cherryPickDB.parent;\n log.debug(\"Entering cherryPick:\", sourceId, targetId, tags);\n const config = getConfig3();\n sourceId = common_default.sanitizeText(sourceId, config);\n targetId = common_default.sanitizeText(targetId, config);\n tags = tags?.map((tag) => common_default.sanitizeText(tag, config));\n parentCommitId = common_default.sanitizeText(parentCommitId, config);\n if (!sourceId || !state.records.commits.has(sourceId)) {\n const error = new Error(\n 'Incorrect usage of \"cherryPick\". Source commit id should exist and provided'\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const sourceCommit = state.records.commits.get(sourceId);\n if (sourceCommit === void 0 || !sourceCommit) {\n throw new Error('Incorrect usage of \"cherryPick\". Source commit id should exist and provided');\n }\n if (parentCommitId && !(Array.isArray(sourceCommit.parents) && sourceCommit.parents.includes(parentCommitId))) {\n const error = new Error(\n \"Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.\"\n );\n throw error;\n }\n const sourceCommitBranch = sourceCommit.branch;\n if (sourceCommit.type === commitType.MERGE && !parentCommitId) {\n const error = new Error(\n \"Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.\"\n );\n throw error;\n }\n if (!targetId || !state.records.commits.has(targetId)) {\n if (sourceCommitBranch === state.records.currBranch) {\n const error = new Error(\n 'Incorrect usage of \"cherryPick\". Source commit is already on current branch'\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const currentCommitId = state.records.branches.get(state.records.currBranch);\n if (currentCommitId === void 0 || !currentCommitId) {\n const error = new Error(\n `Incorrect usage of \"cherry-pick\". Current branch (${state.records.currBranch})has no commits`\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const currentCommit = state.records.commits.get(currentCommitId);\n if (currentCommit === void 0 || !currentCommit) {\n const error = new Error(\n `Incorrect usage of \"cherry-pick\". Current branch (${state.records.currBranch})has no commits`\n );\n error.hash = {\n text: `cherryPick ${sourceId} ${targetId}`,\n token: `cherryPick ${sourceId} ${targetId}`,\n expected: [\"cherry-pick abc\"]\n };\n throw error;\n }\n const commit2 = {\n id: state.records.seq + \"-\" + getID(),\n message: `cherry-picked ${sourceCommit?.message} into ${state.records.currBranch}`,\n seq: state.records.seq++,\n parents: state.records.head == null ? [] : [state.records.head.id, sourceCommit.id],\n branch: state.records.currBranch,\n type: commitType.CHERRY_PICK,\n tags: tags ? tags.filter(Boolean) : [\n `cherry-pick:${sourceCommit.id}${sourceCommit.type === commitType.MERGE ? `|parent:${parentCommitId}` : \"\"}`\n ]\n };\n state.records.head = commit2;\n state.records.commits.set(commit2.id, commit2);\n state.records.branches.set(state.records.currBranch, commit2.id);\n log.debug(state.records.branches);\n log.debug(\"in cherryPick\");\n }\n}, \"cherryPick\");\nvar checkout = /* @__PURE__ */ __name(function(branch2) {\n branch2 = common_default.sanitizeText(branch2, getConfig3());\n if (!state.records.branches.has(branch2)) {\n const error = new Error(\n `Trying to checkout branch which is not yet created. (Help try using \"branch ${branch2}\")`\n );\n error.hash = {\n text: `checkout ${branch2}`,\n token: `checkout ${branch2}`,\n expected: [`branch ${branch2}`]\n };\n throw error;\n } else {\n state.records.currBranch = branch2;\n const id = state.records.branches.get(state.records.currBranch);\n if (id === void 0 || !id) {\n state.records.head = null;\n } else {\n state.records.head = state.records.commits.get(id) ?? null;\n }\n }\n}, \"checkout\");\nfunction upsert(arr, key, newVal) {\n const index = arr.indexOf(key);\n if (index === -1) {\n arr.push(newVal);\n } else {\n arr.splice(index, 1, newVal);\n }\n}\n__name(upsert, \"upsert\");\nfunction prettyPrintCommitHistory(commitArr) {\n const commit2 = commitArr.reduce((out, commit3) => {\n if (out.seq > commit3.seq) {\n return out;\n }\n return commit3;\n }, commitArr[0]);\n let line = \"\";\n commitArr.forEach(function(c) {\n if (c === commit2) {\n line += \"\t*\";\n } else {\n line += \"\t|\";\n }\n });\n const label = [line, commit2.id, commit2.seq];\n for (const branch2 in state.records.branches) {\n if (state.records.branches.get(branch2) === commit2.id) {\n label.push(branch2);\n }\n }\n log.debug(label.join(\" \"));\n if (commit2.parents && commit2.parents.length == 2 && commit2.parents[0] && commit2.parents[1]) {\n const newCommit = state.records.commits.get(commit2.parents[0]);\n upsert(commitArr, commit2, newCommit);\n if (commit2.parents[1]) {\n commitArr.push(state.records.commits.get(commit2.parents[1]));\n }\n } else if (commit2.parents.length == 0) {\n return;\n } else {\n if (commit2.parents[0]) {\n const newCommit = state.records.commits.get(commit2.parents[0]);\n upsert(commitArr, commit2, newCommit);\n }\n }\n commitArr = uniqBy(commitArr, (c) => c.id);\n prettyPrintCommitHistory(commitArr);\n}\n__name(prettyPrintCommitHistory, \"prettyPrintCommitHistory\");\nvar prettyPrint = /* @__PURE__ */ __name(function() {\n log.debug(state.records.commits);\n const node = getCommitsArray()[0];\n prettyPrintCommitHistory([node]);\n}, \"prettyPrint\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n state.reset();\n clear();\n}, \"clear\");\nvar getBranchesAsObjArray = /* @__PURE__ */ __name(function() {\n const branchesArray = [...state.records.branchConfig.values()].map((branchConfig, i) => {\n if (branchConfig.order !== null && branchConfig.order !== void 0) {\n return branchConfig;\n }\n return {\n ...branchConfig,\n order: parseFloat(`0.${i}`)\n };\n }).sort((a, b) => (a.order ?? 0) - (b.order ?? 0)).map(({ name }) => ({ name }));\n return branchesArray;\n}, \"getBranchesAsObjArray\");\nvar getBranches = /* @__PURE__ */ __name(function() {\n return state.records.branches;\n}, \"getBranches\");\nvar getCommits = /* @__PURE__ */ __name(function() {\n return state.records.commits;\n}, \"getCommits\");\nvar getCommitsArray = /* @__PURE__ */ __name(function() {\n const commitArr = [...state.records.commits.values()];\n commitArr.forEach(function(o) {\n log.debug(o.id);\n });\n commitArr.sort((a, b) => a.seq - b.seq);\n return commitArr;\n}, \"getCommitsArray\");\nvar getCurrentBranch = /* @__PURE__ */ __name(function() {\n return state.records.currBranch;\n}, \"getCurrentBranch\");\nvar getDirection = /* @__PURE__ */ __name(function() {\n return state.records.direction;\n}, \"getDirection\");\nvar getHead = /* @__PURE__ */ __name(function() {\n return state.records.head;\n}, \"getHead\");\nvar db = {\n commitType,\n getConfig: getConfig3,\n setDirection,\n setOptions,\n getOptions,\n commit,\n branch,\n merge,\n cherryPick,\n checkout,\n //reset,\n prettyPrint,\n clear: clear2,\n getBranchesAsObjArray,\n getBranches,\n getCommits,\n getCommitsArray,\n getCurrentBranch,\n getDirection,\n getHead,\n setAccTitle,\n getAccTitle,\n getAccDescription,\n setAccDescription,\n setDiagramTitle,\n getDiagramTitle\n};\n\n// src/diagrams/git/gitGraphParser.ts\nvar populate = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n if (ast.dir) {\n db2.setDirection(ast.dir);\n }\n for (const statement of ast.statements) {\n parseStatement(statement, db2);\n }\n}, \"populate\");\nvar parseStatement = /* @__PURE__ */ __name((statement, db2) => {\n const parsers = {\n Commit: /* @__PURE__ */ __name((stmt) => db2.commit(parseCommit(stmt)), \"Commit\"),\n Branch: /* @__PURE__ */ __name((stmt) => db2.branch(parseBranch(stmt)), \"Branch\"),\n Merge: /* @__PURE__ */ __name((stmt) => db2.merge(parseMerge(stmt)), \"Merge\"),\n Checkout: /* @__PURE__ */ __name((stmt) => db2.checkout(parseCheckout(stmt)), \"Checkout\"),\n CherryPicking: /* @__PURE__ */ __name((stmt) => db2.cherryPick(parseCherryPicking(stmt)), \"CherryPicking\")\n };\n const parser2 = parsers[statement.$type];\n if (parser2) {\n parser2(statement);\n } else {\n log.error(`Unknown statement type: ${statement.$type}`);\n }\n}, \"parseStatement\");\nvar parseCommit = /* @__PURE__ */ __name((commit2) => {\n const commitDB = {\n id: commit2.id,\n msg: commit2.message ?? \"\",\n type: commit2.type !== void 0 ? commitType[commit2.type] : commitType.NORMAL,\n tags: commit2.tags ?? void 0\n };\n return commitDB;\n}, \"parseCommit\");\nvar parseBranch = /* @__PURE__ */ __name((branch2) => {\n const branchDB = {\n name: branch2.name,\n order: branch2.order ?? 0\n };\n return branchDB;\n}, \"parseBranch\");\nvar parseMerge = /* @__PURE__ */ __name((merge2) => {\n const mergeDB = {\n branch: merge2.branch,\n id: merge2.id ?? \"\",\n type: merge2.type !== void 0 ? commitType[merge2.type] : void 0,\n tags: merge2.tags ?? void 0\n };\n return mergeDB;\n}, \"parseMerge\");\nvar parseCheckout = /* @__PURE__ */ __name((checkout2) => {\n const branch2 = checkout2.branch;\n return branch2;\n}, \"parseCheckout\");\nvar parseCherryPicking = /* @__PURE__ */ __name((cherryPicking) => {\n const cherryPickDB = {\n id: cherryPicking.id,\n targetId: \"\",\n tags: cherryPicking.tags?.length === 0 ? void 0 : cherryPicking.tags,\n parent: cherryPicking.parent\n };\n return cherryPickDB;\n}, \"parseCherryPicking\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"gitGraph\", input);\n log.debug(ast);\n populate(ast, db);\n }, \"parse\")\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n const mockDB = {\n commitType,\n setDirection: vi.fn(),\n commit: vi.fn(),\n branch: vi.fn(),\n merge: vi.fn(),\n cherryPick: vi.fn(),\n checkout: vi.fn()\n };\n describe(\"GitGraph Parser\", () => {\n it(\"should parse a commit statement\", () => {\n const commit2 = {\n $type: \"Commit\",\n id: \"1\",\n message: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n };\n parseStatement(commit2, mockDB);\n expect(mockDB.commit).toHaveBeenCalledWith({\n id: \"1\",\n msg: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n });\n it(\"should parse a branch statement\", () => {\n const branch2 = {\n $type: \"Branch\",\n name: \"newBranch\",\n order: 1\n };\n parseStatement(branch2, mockDB);\n expect(mockDB.branch).toHaveBeenCalledWith({ name: \"newBranch\", order: 1 });\n });\n it(\"should parse a checkout statement\", () => {\n const checkout2 = {\n $type: \"Checkout\",\n branch: \"newBranch\"\n };\n parseStatement(checkout2, mockDB);\n expect(mockDB.checkout).toHaveBeenCalledWith(\"newBranch\");\n });\n it(\"should parse a merge statement\", () => {\n const merge2 = {\n $type: \"Merge\",\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n };\n parseStatement(merge2, mockDB);\n expect(mockDB.merge).toHaveBeenCalledWith({\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n });\n it(\"should parse a cherry picking statement\", () => {\n const cherryPick2 = {\n $type: \"CherryPicking\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n parent: \"2\"\n };\n parseStatement(cherryPick2, mockDB);\n expect(mockDB.cherryPick).toHaveBeenCalledWith({\n id: \"1\",\n targetId: \"\",\n parent: \"2\",\n tags: [\"tag1\", \"tag2\"]\n });\n });\n it(\"should parse a langium generated gitGraph ast\", () => {\n const dummy = {\n $type: \"GitGraph\",\n statements: []\n };\n const gitGraphAst = {\n $type: \"GitGraph\",\n statements: [\n {\n $container: dummy,\n $type: \"Commit\",\n id: \"1\",\n message: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n },\n {\n $container: dummy,\n $type: \"Branch\",\n name: \"newBranch\",\n order: 1\n },\n {\n $container: dummy,\n $type: \"Merge\",\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: \"NORMAL\"\n },\n {\n $container: dummy,\n $type: \"Checkout\",\n branch: \"newBranch\"\n },\n {\n $container: dummy,\n $type: \"CherryPicking\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n parent: \"2\"\n }\n ]\n };\n populate(gitGraphAst, mockDB);\n expect(mockDB.commit).toHaveBeenCalledWith({\n id: \"1\",\n msg: \"test\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n expect(mockDB.branch).toHaveBeenCalledWith({ name: \"newBranch\", order: 1 });\n expect(mockDB.merge).toHaveBeenCalledWith({\n branch: \"newBranch\",\n id: \"1\",\n tags: [\"tag1\", \"tag2\"],\n type: 0\n });\n expect(mockDB.checkout).toHaveBeenCalledWith(\"newBranch\");\n });\n });\n}\n\n// src/diagrams/git/gitGraphRenderer.ts\nimport { select } from \"d3\";\nvar DEFAULT_CONFIG = getConfig2();\nvar DEFAULT_GITGRAPH_CONFIG2 = DEFAULT_CONFIG?.gitGraph;\nvar LAYOUT_OFFSET = 10;\nvar COMMIT_STEP = 40;\nvar PX = 4;\nvar PY = 2;\nvar THEME_COLOR_LIMIT = 8;\nvar branchPos = /* @__PURE__ */ new Map();\nvar commitPos = /* @__PURE__ */ new Map();\nvar defaultPos = 30;\nvar allCommitsDict = /* @__PURE__ */ new Map();\nvar lanes = [];\nvar maxPos = 0;\nvar dir = \"LR\";\nvar clear3 = /* @__PURE__ */ __name(() => {\n branchPos.clear();\n commitPos.clear();\n allCommitsDict.clear();\n maxPos = 0;\n lanes = [];\n dir = \"LR\";\n}, \"clear\");\nvar drawText = /* @__PURE__ */ __name((txt) => {\n const svgLabel = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n const rows = typeof txt === \"string\" ? txt.split(/\\\\n|\\n|<br\\s*\\/?>/gi) : txt;\n rows.forEach((row) => {\n const tspan = document.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"0\");\n tspan.setAttribute(\"class\", \"row\");\n tspan.textContent = row.trim();\n svgLabel.appendChild(tspan);\n });\n return svgLabel;\n}, \"drawText\");\nvar findClosestParent = /* @__PURE__ */ __name((parents) => {\n let closestParent;\n let comparisonFunc;\n let targetPosition;\n if (dir === \"BT\") {\n comparisonFunc = /* @__PURE__ */ __name((a, b) => a <= b, \"comparisonFunc\");\n targetPosition = Infinity;\n } else {\n comparisonFunc = /* @__PURE__ */ __name((a, b) => a >= b, \"comparisonFunc\");\n targetPosition = 0;\n }\n parents.forEach((parent) => {\n const parentPosition = dir === \"TB\" || dir == \"BT\" ? commitPos.get(parent)?.y : commitPos.get(parent)?.x;\n if (parentPosition !== void 0 && comparisonFunc(parentPosition, targetPosition)) {\n closestParent = parent;\n targetPosition = parentPosition;\n }\n });\n return closestParent;\n}, \"findClosestParent\");\nvar findClosestParentBT = /* @__PURE__ */ __name((parents) => {\n let closestParent = \"\";\n let maxPosition = Infinity;\n parents.forEach((parent) => {\n const parentPosition = commitPos.get(parent).y;\n if (parentPosition <= maxPosition) {\n closestParent = parent;\n maxPosition = parentPosition;\n }\n });\n return closestParent || void 0;\n}, \"findClosestParentBT\");\nvar setParallelBTPos = /* @__PURE__ */ __name((sortedKeys, commits, defaultPos2) => {\n let curPos = defaultPos2;\n let maxPosition = defaultPos2;\n const roots = [];\n sortedKeys.forEach((key) => {\n const commit2 = commits.get(key);\n if (!commit2) {\n throw new Error(`Commit not found for key ${key}`);\n }\n if (commit2.parents.length) {\n curPos = calculateCommitPosition(commit2);\n maxPosition = Math.max(curPos, maxPosition);\n } else {\n roots.push(commit2);\n }\n setCommitPosition(commit2, curPos);\n });\n curPos = maxPosition;\n roots.forEach((commit2) => {\n setRootPosition(commit2, curPos, defaultPos2);\n });\n sortedKeys.forEach((key) => {\n const commit2 = commits.get(key);\n if (commit2?.parents.length) {\n const closestParent = findClosestParentBT(commit2.parents);\n curPos = commitPos.get(closestParent).y - COMMIT_STEP;\n if (curPos <= maxPosition) {\n maxPosition = curPos;\n }\n const x = branchPos.get(commit2.branch).pos;\n const y = curPos - LAYOUT_OFFSET;\n commitPos.set(commit2.id, { x, y });\n }\n });\n}, \"setParallelBTPos\");\nvar findClosestParentPos = /* @__PURE__ */ __name((commit2) => {\n const closestParent = findClosestParent(commit2.parents.filter((p) => p !== null));\n if (!closestParent) {\n throw new Error(`Closest parent not found for commit ${commit2.id}`);\n }\n const closestParentPos = commitPos.get(closestParent)?.y;\n if (closestParentPos === void 0) {\n throw new Error(`Closest parent position not found for commit ${commit2.id}`);\n }\n return closestParentPos;\n}, \"findClosestParentPos\");\nvar calculateCommitPosition = /* @__PURE__ */ __name((commit2) => {\n const closestParentPos = findClosestParentPos(commit2);\n return closestParentPos + COMMIT_STEP;\n}, \"calculateCommitPosition\");\nvar setCommitPosition = /* @__PURE__ */ __name((commit2, curPos) => {\n const branch2 = branchPos.get(commit2.branch);\n if (!branch2) {\n throw new Error(`Branch not found for commit ${commit2.id}`);\n }\n const x = branch2.pos;\n const y = curPos + LAYOUT_OFFSET;\n commitPos.set(commit2.id, { x, y });\n return { x, y };\n}, \"setCommitPosition\");\nvar setRootPosition = /* @__PURE__ */ __name((commit2, curPos, defaultPos2) => {\n const branch2 = branchPos.get(commit2.branch);\n if (!branch2) {\n throw new Error(`Branch not found for commit ${commit2.id}`);\n }\n const y = curPos + defaultPos2;\n const x = branch2.pos;\n commitPos.set(commit2.id, { x, y });\n}, \"setRootPosition\");\nvar drawCommitBullet = /* @__PURE__ */ __name((gBullets, commit2, commitPosition, typeClass, branchIndex, commitSymbolType) => {\n if (commitSymbolType === commitType.HIGHLIGHT) {\n gBullets.append(\"rect\").attr(\"x\", commitPosition.x - 10).attr(\"y\", commitPosition.y - 10).attr(\"width\", 20).attr(\"height\", 20).attr(\n \"class\",\n `commit ${commit2.id} commit-highlight${branchIndex % THEME_COLOR_LIMIT} ${typeClass}-outer`\n );\n gBullets.append(\"rect\").attr(\"x\", commitPosition.x - 6).attr(\"y\", commitPosition.y - 6).attr(\"width\", 12).attr(\"height\", 12).attr(\n \"class\",\n `commit ${commit2.id} commit${branchIndex % THEME_COLOR_LIMIT} ${typeClass}-inner`\n );\n } else if (commitSymbolType === commitType.CHERRY_PICK) {\n gBullets.append(\"circle\").attr(\"cx\", commitPosition.x).attr(\"cy\", commitPosition.y).attr(\"r\", 10).attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"circle\").attr(\"cx\", commitPosition.x - 3).attr(\"cy\", commitPosition.y + 2).attr(\"r\", 2.75).attr(\"fill\", \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"circle\").attr(\"cx\", commitPosition.x + 3).attr(\"cy\", commitPosition.y + 2).attr(\"r\", 2.75).attr(\"fill\", \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"line\").attr(\"x1\", commitPosition.x + 3).attr(\"y1\", commitPosition.y + 1).attr(\"x2\", commitPosition.x).attr(\"y2\", commitPosition.y - 5).attr(\"stroke\", \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n gBullets.append(\"line\").attr(\"x1\", commitPosition.x - 3).attr(\"y1\", commitPosition.y + 1).attr(\"x2\", commitPosition.x).attr(\"y2\", commitPosition.y - 5).attr(\"stroke\", \"#fff\").attr(\"class\", `commit ${commit2.id} ${typeClass}`);\n } else {\n const circle = gBullets.append(\"circle\");\n circle.attr(\"cx\", commitPosition.x);\n circle.attr(\"cy\", commitPosition.y);\n circle.attr(\"r\", commit2.type === commitType.MERGE ? 9 : 10);\n circle.attr(\"class\", `commit ${commit2.id} commit${branchIndex % THEME_COLOR_LIMIT}`);\n if (commitSymbolType === commitType.MERGE) {\n const circle2 = gBullets.append(\"circle\");\n circle2.attr(\"cx\", commitPosition.x);\n circle2.attr(\"cy\", commitPosition.y);\n circle2.attr(\"r\", 6);\n circle2.attr(\n \"class\",\n `commit ${typeClass} ${commit2.id} commit${branchIndex % THEME_COLOR_LIMIT}`\n );\n }\n if (commitSymbolType === commitType.REVERSE) {\n const cross = gBullets.append(\"path\");\n cross.attr(\n \"d\",\n `M ${commitPosition.x - 5},${commitPosition.y - 5}L${commitPosition.x + 5},${commitPosition.y + 5}M${commitPosition.x - 5},${commitPosition.y + 5}L${commitPosition.x + 5},${commitPosition.y - 5}`\n ).attr(\"class\", `commit ${typeClass} ${commit2.id} commit${branchIndex % THEME_COLOR_LIMIT}`);\n }\n }\n}, \"drawCommitBullet\");\nvar drawCommitLabel = /* @__PURE__ */ __name((gLabels, commit2, commitPosition, pos) => {\n if (commit2.type !== commitType.CHERRY_PICK && (commit2.customId && commit2.type === commitType.MERGE || commit2.type !== commitType.MERGE) && DEFAULT_GITGRAPH_CONFIG2?.showCommitLabel) {\n const wrapper = gLabels.append(\"g\");\n const labelBkg = wrapper.insert(\"rect\").attr(\"class\", \"commit-label-bkg\");\n const text = wrapper.append(\"text\").attr(\"x\", pos).attr(\"y\", commitPosition.y + 25).attr(\"class\", \"commit-label\").text(commit2.id);\n const bbox = text.node()?.getBBox();\n if (bbox) {\n labelBkg.attr(\"x\", commitPosition.posWithOffset - bbox.width / 2 - PY).attr(\"y\", commitPosition.y + 13.5).attr(\"width\", bbox.width + 2 * PY).attr(\"height\", bbox.height + 2 * PY);\n if (dir === \"TB\" || dir === \"BT\") {\n labelBkg.attr(\"x\", commitPosition.x - (bbox.width + 4 * PX + 5)).attr(\"y\", commitPosition.y - 12);\n text.attr(\"x\", commitPosition.x - (bbox.width + 4 * PX)).attr(\"y\", commitPosition.y + bbox.height - 12);\n } else {\n text.attr(\"x\", commitPosition.posWithOffset - bbox.width / 2);\n }\n if (DEFAULT_GITGRAPH_CONFIG2.rotateCommitLabel) {\n if (dir === \"TB\" || dir === \"BT\") {\n text.attr(\n \"transform\",\n \"rotate(-45, \" + commitPosition.x + \", \" + commitPosition.y + \")\"\n );\n labelBkg.attr(\n \"transform\",\n \"rotate(-45, \" + commitPosition.x + \", \" + commitPosition.y + \")\"\n );\n } else {\n const r_x = -7.5 - (bbox.width + 10) / 25 * 9.5;\n const r_y = 10 + bbox.width / 25 * 8.5;\n wrapper.attr(\n \"transform\",\n \"translate(\" + r_x + \", \" + r_y + \") rotate(-45, \" + pos + \", \" + commitPosition.y + \")\"\n );\n }\n }\n }\n }\n}, \"drawCommitLabel\");\nvar drawCommitTags = /* @__PURE__ */ __name((gLabels, commit2, commitPosition, pos) => {\n if (commit2.tags.length > 0) {\n let yOffset = 0;\n let maxTagBboxWidth = 0;\n let maxTagBboxHeight = 0;\n const tagElements = [];\n for (const tagValue of commit2.tags.reverse()) {\n const rect = gLabels.insert(\"polygon\");\n const hole = gLabels.append(\"circle\");\n const tag = gLabels.append(\"text\").attr(\"y\", commitPosition.y - 16 - yOffset).attr(\"class\", \"tag-label\").text(tagValue);\n const tagBbox = tag.node()?.getBBox();\n if (!tagBbox) {\n throw new Error(\"Tag bbox not found\");\n }\n maxTagBboxWidth = Math.max(maxTagBboxWidth, tagBbox.width);\n maxTagBboxHeight = Math.max(maxTagBboxHeight, tagBbox.height);\n tag.attr(\"x\", commitPosition.posWithOffset - tagBbox.width / 2);\n tagElements.push({\n tag,\n hole,\n rect,\n yOffset\n });\n yOffset += 20;\n }\n for (const { tag, hole, rect, yOffset: yOffset2 } of tagElements) {\n const h2 = maxTagBboxHeight / 2;\n const ly = commitPosition.y - 19.2 - yOffset2;\n rect.attr(\"class\", \"tag-label-bkg\").attr(\n \"points\",\n `\n ${pos - maxTagBboxWidth / 2 - PX / 2},${ly + PY} \n ${pos - maxTagBboxWidth / 2 - PX / 2},${ly - PY}\n ${commitPosition.posWithOffset - maxTagBboxWidth / 2 - PX},${ly - h2 - PY}\n ${commitPosition.posWithOffset + maxTagBboxWidth / 2 + PX},${ly - h2 - PY}\n ${commitPosition.posWithOffset + maxTagBboxWidth / 2 + PX},${ly + h2 + PY}\n ${commitPosition.posWithOffset - maxTagBboxWidth / 2 - PX},${ly + h2 + PY}`\n );\n hole.attr(\"cy\", ly).attr(\"cx\", pos - maxTagBboxWidth / 2 + PX / 2).attr(\"r\", 1.5).attr(\"class\", \"tag-hole\");\n if (dir === \"TB\" || dir === \"BT\") {\n const yOrigin = pos + yOffset2;\n rect.attr(\"class\", \"tag-label-bkg\").attr(\n \"points\",\n `\n ${commitPosition.x},${yOrigin + 2}\n ${commitPosition.x},${yOrigin - 2}\n ${commitPosition.x + LAYOUT_OFFSET},${yOrigin - h2 - 2}\n ${commitPosition.x + LAYOUT_OFFSET + maxTagBboxWidth + 4},${yOrigin - h2 - 2}\n ${commitPosition.x + LAYOUT_OFFSET + maxTagBboxWidth + 4},${yOrigin + h2 + 2}\n ${commitPosition.x + LAYOUT_OFFSET},${yOrigin + h2 + 2}`\n ).attr(\"transform\", \"translate(12,12) rotate(45, \" + commitPosition.x + \",\" + pos + \")\");\n hole.attr(\"cx\", commitPosition.x + PX / 2).attr(\"cy\", yOrigin).attr(\"transform\", \"translate(12,12) rotate(45, \" + commitPosition.x + \",\" + pos + \")\");\n tag.attr(\"x\", commitPosition.x + 5).attr(\"y\", yOrigin + 3).attr(\"transform\", \"translate(14,14) rotate(45, \" + commitPosition.x + \",\" + pos + \")\");\n }\n }\n }\n}, \"drawCommitTags\");\nvar getCommitClassType = /* @__PURE__ */ __name((commit2) => {\n const commitSymbolType = commit2.customType ?? commit2.type;\n switch (commitSymbolType) {\n case commitType.NORMAL:\n return \"commit-normal\";\n case commitType.REVERSE:\n return \"commit-reverse\";\n case commitType.HIGHLIGHT:\n return \"commit-highlight\";\n case commitType.MERGE:\n return \"commit-merge\";\n case commitType.CHERRY_PICK:\n return \"commit-cherry-pick\";\n default:\n return \"commit-normal\";\n }\n}, \"getCommitClassType\");\nvar calculatePosition = /* @__PURE__ */ __name((commit2, dir2, pos, commitPos2) => {\n const defaultCommitPosition = { x: 0, y: 0 };\n if (commit2.parents.length > 0) {\n const closestParent = findClosestParent(commit2.parents);\n if (closestParent) {\n const parentPosition = commitPos2.get(closestParent) ?? defaultCommitPosition;\n if (dir2 === \"TB\") {\n return parentPosition.y + COMMIT_STEP;\n } else if (dir2 === \"BT\") {\n const currentPosition = commitPos2.get(commit2.id) ?? defaultCommitPosition;\n return currentPosition.y - COMMIT_STEP;\n } else {\n return parentPosition.x + COMMIT_STEP;\n }\n }\n } else {\n if (dir2 === \"TB\") {\n return defaultPos;\n } else if (dir2 === \"BT\") {\n const currentPosition = commitPos2.get(commit2.id) ?? defaultCommitPosition;\n return currentPosition.y - COMMIT_STEP;\n } else {\n return 0;\n }\n }\n return 0;\n}, \"calculatePosition\");\nvar getCommitPosition = /* @__PURE__ */ __name((commit2, pos, isParallelCommits) => {\n const posWithOffset = dir === \"BT\" && isParallelCommits ? pos : pos + LAYOUT_OFFSET;\n const y = dir === \"TB\" || dir === \"BT\" ? posWithOffset : branchPos.get(commit2.branch)?.pos;\n const x = dir === \"TB\" || dir === \"BT\" ? branchPos.get(commit2.branch)?.pos : posWithOffset;\n if (x === void 0 || y === void 0) {\n throw new Error(`Position were undefined for commit ${commit2.id}`);\n }\n return { x, y, posWithOffset };\n}, \"getCommitPosition\");\nvar drawCommits = /* @__PURE__ */ __name((svg, commits, modifyGraph) => {\n if (!DEFAULT_GITGRAPH_CONFIG2) {\n throw new Error(\"GitGraph config not found\");\n }\n const gBullets = svg.append(\"g\").attr(\"class\", \"commit-bullets\");\n const gLabels = svg.append(\"g\").attr(\"class\", \"commit-labels\");\n let pos = dir === \"TB\" || dir === \"BT\" ? defaultPos : 0;\n const keys = [...commits.keys()];\n const isParallelCommits = DEFAULT_GITGRAPH_CONFIG2?.parallelCommits ?? false;\n const sortKeys = /* @__PURE__ */ __name((a, b) => {\n const seqA = commits.get(a)?.seq;\n const seqB = commits.get(b)?.seq;\n return seqA !== void 0 && seqB !== void 0 ? seqA - seqB : 0;\n }, \"sortKeys\");\n let sortedKeys = keys.sort(sortKeys);\n if (dir === \"BT\") {\n if (isParallelCommits) {\n setParallelBTPos(sortedKeys, commits, pos);\n }\n sortedKeys = sortedKeys.reverse();\n }\n sortedKeys.forEach((key) => {\n const commit2 = commits.get(key);\n if (!commit2) {\n throw new Error(`Commit not found for key ${key}`);\n }\n if (isParallelCommits) {\n pos = calculatePosition(commit2, dir, pos, commitPos);\n }\n const commitPosition = getCommitPosition(commit2, pos, isParallelCommits);\n if (modifyGraph) {\n const typeClass = getCommitClassType(commit2);\n const commitSymbolType = commit2.customType ?? commit2.type;\n const branchIndex = branchPos.get(commit2.branch)?.index ?? 0;\n drawCommitBullet(gBullets, commit2, commitPosition, typeClass, branchIndex, commitSymbolType);\n drawCommitLabel(gLabels, commit2, commitPosition, pos);\n drawCommitTags(gLabels, commit2, commitPosition, pos);\n }\n if (dir === \"TB\" || dir === \"BT\") {\n commitPos.set(commit2.id, { x: commitPosition.x, y: commitPosition.posWithOffset });\n } else {\n commitPos.set(commit2.id, { x: commitPosition.posWithOffset, y: commitPosition.y });\n }\n pos = dir === \"BT\" && isParallelCommits ? pos + COMMIT_STEP : pos + COMMIT_STEP + LAYOUT_OFFSET;\n if (pos > maxPos) {\n maxPos = pos;\n }\n });\n}, \"drawCommits\");\nvar shouldRerouteArrow = /* @__PURE__ */ __name((commitA, commitB, p1, p2, allCommits) => {\n const commitBIsFurthest = dir === \"TB\" || dir === \"BT\" ? p1.x < p2.x : p1.y < p2.y;\n const branchToGetCurve = commitBIsFurthest ? commitB.branch : commitA.branch;\n const isOnBranchToGetCurve = /* @__PURE__ */ __name((x) => x.branch === branchToGetCurve, \"isOnBranchToGetCurve\");\n const isBetweenCommits = /* @__PURE__ */ __name((x) => x.seq > commitA.seq && x.seq < commitB.seq, \"isBetweenCommits\");\n return [...allCommits.values()].some((commitX) => {\n return isBetweenCommits(commitX) && isOnBranchToGetCurve(commitX);\n });\n}, \"shouldRerouteArrow\");\nvar findLane = /* @__PURE__ */ __name((y1, y2, depth = 0) => {\n const candidate = y1 + Math.abs(y1 - y2) / 2;\n if (depth > 5) {\n return candidate;\n }\n const ok = lanes.every((lane) => Math.abs(lane - candidate) >= 10);\n if (ok) {\n lanes.push(candidate);\n return candidate;\n }\n const diff = Math.abs(y1 - y2);\n return findLane(y1, y2 - diff / 5, depth + 1);\n}, \"findLane\");\nvar drawArrow = /* @__PURE__ */ __name((svg, commitA, commitB, allCommits) => {\n const p1 = commitPos.get(commitA.id);\n const p2 = commitPos.get(commitB.id);\n if (p1 === void 0 || p2 === void 0) {\n throw new Error(`Commit positions not found for commits ${commitA.id} and ${commitB.id}`);\n }\n const arrowNeedsRerouting = shouldRerouteArrow(commitA, commitB, p1, p2, allCommits);\n let arc = \"\";\n let arc2 = \"\";\n let radius = 0;\n let offset = 0;\n let colorClassNum = branchPos.get(commitB.branch)?.index;\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n }\n let lineDef;\n if (arrowNeedsRerouting) {\n arc = \"A 10 10, 0, 0, 0,\";\n arc2 = \"A 10 10, 0, 0, 1,\";\n radius = 10;\n offset = 10;\n const lineY = p1.y < p2.y ? findLane(p1.y, p2.y) : findLane(p2.y, p1.y);\n const lineX = p1.x < p2.x ? findLane(p1.x, p2.x) : findLane(p2.x, p1.x);\n if (dir === \"TB\") {\n if (p1.x < p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${lineX - radius} ${p1.y} ${arc2} ${lineX} ${p1.y + offset} L ${lineX} ${p2.y - radius} ${arc} ${lineX + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n lineDef = `M ${p1.x} ${p1.y} L ${lineX + radius} ${p1.y} ${arc} ${lineX} ${p1.y + offset} L ${lineX} ${p2.y - radius} ${arc2} ${lineX - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n } else if (dir === \"BT\") {\n if (p1.x < p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${lineX - radius} ${p1.y} ${arc} ${lineX} ${p1.y - offset} L ${lineX} ${p2.y + radius} ${arc2} ${lineX + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n lineDef = `M ${p1.x} ${p1.y} L ${lineX + radius} ${p1.y} ${arc2} ${lineX} ${p1.y - offset} L ${lineX} ${p2.y + radius} ${arc} ${lineX - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n } else {\n if (p1.y < p2.y) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${lineY - radius} ${arc} ${p1.x + offset} ${lineY} L ${p2.x - radius} ${lineY} ${arc2} ${p2.x} ${lineY + offset} L ${p2.x} ${p2.y}`;\n } else {\n colorClassNum = branchPos.get(commitA.branch)?.index;\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${lineY + radius} ${arc2} ${p1.x + offset} ${lineY} L ${p2.x - radius} ${lineY} ${arc} ${p2.x} ${lineY - offset} L ${p2.x} ${p2.y}`;\n }\n }\n } else {\n arc = \"A 20 20, 0, 0, 0,\";\n arc2 = \"A 20 20, 0, 0, 1,\";\n radius = 20;\n offset = 20;\n if (dir === \"TB\") {\n if (p1.x < p2.x) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y - radius} ${arc} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc2} ${p2.x} ${p1.y + offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x > p2.x) {\n arc = \"A 20 20, 0, 0, 0,\";\n arc2 = \"A 20 20, 0, 0, 1,\";\n radius = 20;\n offset = 20;\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y - radius} ${arc2} ${p1.x - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x + radius} ${p1.y} ${arc} ${p2.x} ${p1.y + offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x === p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`;\n }\n } else if (dir === \"BT\") {\n if (p1.x < p2.x) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y + radius} ${arc2} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc} ${p2.x} ${p1.y - offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x > p2.x) {\n arc = \"A 20 20, 0, 0, 0,\";\n arc2 = \"A 20 20, 0, 0, 1,\";\n radius = 20;\n offset = 20;\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y + radius} ${arc} ${p1.x - offset} ${p2.y} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc} ${p2.x} ${p1.y - offset} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.x === p2.x) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`;\n }\n } else {\n if (p1.y < p2.y) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc2} ${p2.x} ${p1.y + offset} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y - radius} ${arc} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.y > p2.y) {\n if (commitB.type === commitType.MERGE && commitA.id !== commitB.parents[0]) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x - radius} ${p1.y} ${arc} ${p2.x} ${p1.y - offset} L ${p2.x} ${p2.y}`;\n } else {\n lineDef = `M ${p1.x} ${p1.y} L ${p1.x} ${p2.y + radius} ${arc2} ${p1.x + offset} ${p2.y} L ${p2.x} ${p2.y}`;\n }\n }\n if (p1.y === p2.y) {\n lineDef = `M ${p1.x} ${p1.y} L ${p2.x} ${p2.y}`;\n }\n }\n }\n if (lineDef === void 0) {\n throw new Error(\"Line definition not found\");\n }\n svg.append(\"path\").attr(\"d\", lineDef).attr(\"class\", \"arrow arrow\" + colorClassNum % THEME_COLOR_LIMIT);\n}, \"drawArrow\");\nvar drawArrows = /* @__PURE__ */ __name((svg, commits) => {\n const gArrows = svg.append(\"g\").attr(\"class\", \"commit-arrows\");\n [...commits.keys()].forEach((key) => {\n const commit2 = commits.get(key);\n if (commit2.parents && commit2.parents.length > 0) {\n commit2.parents.forEach((parent) => {\n drawArrow(gArrows, commits.get(parent), commit2, commits);\n });\n }\n });\n}, \"drawArrows\");\nvar drawBranches = /* @__PURE__ */ __name((svg, branches) => {\n const g = svg.append(\"g\");\n branches.forEach((branch2, index) => {\n const adjustIndexForTheme = index % THEME_COLOR_LIMIT;\n const pos = branchPos.get(branch2.name)?.pos;\n if (pos === void 0) {\n throw new Error(`Position not found for branch ${branch2.name}`);\n }\n const line = g.append(\"line\");\n line.attr(\"x1\", 0);\n line.attr(\"y1\", pos);\n line.attr(\"x2\", maxPos);\n line.attr(\"y2\", pos);\n line.attr(\"class\", \"branch branch\" + adjustIndexForTheme);\n if (dir === \"TB\") {\n line.attr(\"y1\", defaultPos);\n line.attr(\"x1\", pos);\n line.attr(\"y2\", maxPos);\n line.attr(\"x2\", pos);\n } else if (dir === \"BT\") {\n line.attr(\"y1\", maxPos);\n line.attr(\"x1\", pos);\n line.attr(\"y2\", defaultPos);\n line.attr(\"x2\", pos);\n }\n lanes.push(pos);\n const name = branch2.name;\n const labelElement = drawText(name);\n const bkg = g.insert(\"rect\");\n const branchLabel = g.insert(\"g\").attr(\"class\", \"branchLabel\");\n const label = branchLabel.insert(\"g\").attr(\"class\", \"label branch-label\" + adjustIndexForTheme);\n label.node().appendChild(labelElement);\n const bbox = labelElement.getBBox();\n bkg.attr(\"class\", \"branchLabelBkg label\" + adjustIndexForTheme).attr(\"rx\", 4).attr(\"ry\", 4).attr(\"x\", -bbox.width - 4 - (DEFAULT_GITGRAPH_CONFIG2?.rotateCommitLabel === true ? 30 : 0)).attr(\"y\", -bbox.height / 2 + 8).attr(\"width\", bbox.width + 18).attr(\"height\", bbox.height + 4);\n label.attr(\n \"transform\",\n \"translate(\" + (-bbox.width - 14 - (DEFAULT_GITGRAPH_CONFIG2?.rotateCommitLabel === true ? 30 : 0)) + \", \" + (pos - bbox.height / 2 - 1) + \")\"\n );\n if (dir === \"TB\") {\n bkg.attr(\"x\", pos - bbox.width / 2 - 10).attr(\"y\", 0);\n label.attr(\"transform\", \"translate(\" + (pos - bbox.width / 2 - 5) + \", 0)\");\n } else if (dir === \"BT\") {\n bkg.attr(\"x\", pos - bbox.width / 2 - 10).attr(\"y\", maxPos);\n label.attr(\"transform\", \"translate(\" + (pos - bbox.width / 2 - 5) + \", \" + maxPos + \")\");\n } else {\n bkg.attr(\"transform\", \"translate(-19, \" + (pos - bbox.height / 2) + \")\");\n }\n });\n}, \"drawBranches\");\nvar setBranchPosition = /* @__PURE__ */ __name(function(name, pos, index, bbox, rotateCommitLabel) {\n branchPos.set(name, { pos, index });\n pos += 50 + (rotateCommitLabel ? 40 : 0) + (dir === \"TB\" || dir === \"BT\" ? bbox.width / 2 : 0);\n return pos;\n}, \"setBranchPosition\");\nvar draw = /* @__PURE__ */ __name(function(txt, id, ver, diagObj) {\n clear3();\n log.debug(\"in gitgraph renderer\", txt + \"\\n\", \"id:\", id, ver);\n if (!DEFAULT_GITGRAPH_CONFIG2) {\n throw new Error(\"GitGraph config not found\");\n }\n const rotateCommitLabel = DEFAULT_GITGRAPH_CONFIG2.rotateCommitLabel ?? false;\n const db2 = diagObj.db;\n allCommitsDict = db2.getCommits();\n const branches = db2.getBranchesAsObjArray();\n dir = db2.getDirection();\n const diagram2 = select(`[id=\"${id}\"]`);\n let pos = 0;\n branches.forEach((branch2, index) => {\n const labelElement = drawText(branch2.name);\n const g = diagram2.append(\"g\");\n const branchLabel = g.insert(\"g\").attr(\"class\", \"branchLabel\");\n const label = branchLabel.insert(\"g\").attr(\"class\", \"label branch-label\");\n label.node()?.appendChild(labelElement);\n const bbox = labelElement.getBBox();\n pos = setBranchPosition(branch2.name, pos, index, bbox, rotateCommitLabel);\n label.remove();\n branchLabel.remove();\n g.remove();\n });\n drawCommits(diagram2, allCommitsDict, false);\n if (DEFAULT_GITGRAPH_CONFIG2.showBranches) {\n drawBranches(diagram2, branches);\n }\n drawArrows(diagram2, allCommitsDict);\n drawCommits(diagram2, allCommitsDict, true);\n utils_default.insertTitle(\n diagram2,\n \"gitTitleText\",\n DEFAULT_GITGRAPH_CONFIG2.titleTopMargin ?? 0,\n db2.getDiagramTitle()\n );\n setupGraphViewbox(\n void 0,\n diagram2,\n DEFAULT_GITGRAPH_CONFIG2.diagramPadding,\n DEFAULT_GITGRAPH_CONFIG2.useMaxWidth\n );\n}, \"draw\");\nvar gitGraphRenderer_default = {\n draw\n};\nif (void 0) {\n const { it, expect, describe } = void 0;\n describe(\"drawText\", () => {\n it(\"should drawText\", () => {\n const svgLabel = drawText(\"main\");\n expect(svgLabel).toBeDefined();\n expect(svgLabel.children[0].innerHTML).toBe(\"main\");\n });\n });\n describe(\"branchPosition\", () => {\n const bbox = {\n x: 0,\n y: 0,\n width: 10,\n height: 10,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n toJSON: /* @__PURE__ */ __name(() => \"\", \"toJSON\")\n };\n it(\"should setBranchPositions LR with two branches\", () => {\n dir = \"LR\";\n const pos = setBranchPosition(\"main\", 0, 0, bbox, true);\n expect(pos).toBe(90);\n expect(branchPos.get(\"main\")).toEqual({ pos: 0, index: 0 });\n const posNext = setBranchPosition(\"develop\", pos, 1, bbox, true);\n expect(posNext).toBe(180);\n expect(branchPos.get(\"develop\")).toEqual({ pos, index: 1 });\n });\n it(\"should setBranchPositions TB with two branches\", () => {\n dir = \"TB\";\n bbox.width = 34.9921875;\n const pos = setBranchPosition(\"main\", 0, 0, bbox, true);\n expect(pos).toBe(107.49609375);\n expect(branchPos.get(\"main\")).toEqual({ pos: 0, index: 0 });\n bbox.width = 56.421875;\n const posNext = setBranchPosition(\"develop\", pos, 1, bbox, true);\n expect(posNext).toBe(225.70703125);\n expect(branchPos.get(\"develop\")).toEqual({ pos, index: 1 });\n });\n });\n describe(\"commitPosition\", () => {\n const commits = /* @__PURE__ */ new Map([\n [\n \"commitZero\",\n {\n id: \"ZERO\",\n message: \"\",\n seq: 0,\n type: commitType.NORMAL,\n tags: [],\n parents: [],\n branch: \"main\"\n }\n ],\n [\n \"commitA\",\n {\n id: \"A\",\n message: \"\",\n seq: 1,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"ZERO\"],\n branch: \"feature\"\n }\n ],\n [\n \"commitB\",\n {\n id: \"B\",\n message: \"\",\n seq: 2,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"A\"],\n branch: \"feature\"\n }\n ],\n [\n \"commitM\",\n {\n id: \"M\",\n message: \"merged branch feature into main\",\n seq: 3,\n type: commitType.MERGE,\n tags: [],\n parents: [\"ZERO\", \"B\"],\n branch: \"main\",\n customId: true\n }\n ],\n [\n \"commitC\",\n {\n id: \"C\",\n message: \"\",\n seq: 4,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"ZERO\"],\n branch: \"release\"\n }\n ],\n [\n \"commit5_8928ea0\",\n {\n id: \"5-8928ea0\",\n message: \"cherry-picked [object Object] into release\",\n seq: 5,\n type: commitType.CHERRY_PICK,\n tags: [],\n parents: [\"C\", \"M\"],\n branch: \"release\"\n }\n ],\n [\n \"commitD\",\n {\n id: \"D\",\n message: \"\",\n seq: 6,\n type: commitType.NORMAL,\n tags: [],\n parents: [\"5-8928ea0\"],\n branch: \"release\"\n }\n ],\n [\n \"commit7_ed848ba\",\n {\n id: \"7-ed848ba\",\n message: \"cherry-picked [object Object] into release\",\n seq: 7,\n type: commitType.CHERRY_PICK,\n tags: [],\n parents: [\"D\", \"M\"],\n branch: \"release\"\n }\n ]\n ]);\n let pos = 0;\n branchPos.set(\"main\", { pos: 0, index: 0 });\n branchPos.set(\"feature\", { pos: 107.49609375, index: 1 });\n branchPos.set(\"release\", { pos: 224.03515625, index: 2 });\n describe(\"TB\", () => {\n pos = 30;\n dir = \"TB\";\n const expectedCommitPositionTB = /* @__PURE__ */ new Map([\n [\"commitZero\", { x: 0, y: 40, posWithOffset: 40 }],\n [\"commitA\", { x: 107.49609375, y: 90, posWithOffset: 90 }],\n [\"commitB\", { x: 107.49609375, y: 140, posWithOffset: 140 }],\n [\"commitM\", { x: 0, y: 190, posWithOffset: 190 }],\n [\"commitC\", { x: 224.03515625, y: 240, posWithOffset: 240 }],\n [\"commit5_8928ea0\", { x: 224.03515625, y: 290, posWithOffset: 290 }],\n [\"commitD\", { x: 224.03515625, y: 340, posWithOffset: 340 }],\n [\"commit7_ed848ba\", { x: 224.03515625, y: 390, posWithOffset: 390 }]\n ]);\n commits.forEach((commit2, key) => {\n it(`should give the correct position for commit ${key}`, () => {\n const position = getCommitPosition(commit2, pos, false);\n expect(position).toEqual(expectedCommitPositionTB.get(key));\n pos += 50;\n });\n });\n });\n describe(\"LR\", () => {\n let pos2 = 30;\n dir = \"LR\";\n const expectedCommitPositionLR = /* @__PURE__ */ new Map([\n [\"commitZero\", { x: 0, y: 40, posWithOffset: 40 }],\n [\"commitA\", { x: 107.49609375, y: 90, posWithOffset: 90 }],\n [\"commitB\", { x: 107.49609375, y: 140, posWithOffset: 140 }],\n [\"commitM\", { x: 0, y: 190, posWithOffset: 190 }],\n [\"commitC\", { x: 224.03515625, y: 240, posWithOffset: 240 }],\n [\"commit5_8928ea0\", { x: 224.03515625, y: 290, posWithOffset: 290 }],\n [\"commitD\", { x: 224.03515625, y: 340, posWithOffset: 340 }],\n [\"commit7_ed848ba\", { x: 224.03515625, y: 390, posWithOffset: 390 }]\n ]);\n commits.forEach((commit2, key) => {\n it(`should give the correct position for commit ${key}`, () => {\n const position = getCommitPosition(commit2, pos2, false);\n expect(position).toEqual(expectedCommitPositionLR.get(key));\n pos2 += 50;\n });\n });\n });\n describe(\"getCommitClassType\", () => {\n const expectedCommitClassType = /* @__PURE__ */ new Map([\n [\"commitZero\", \"commit-normal\"],\n [\"commitA\", \"commit-normal\"],\n [\"commitB\", \"commit-normal\"],\n [\"commitM\", \"commit-merge\"],\n [\"commitC\", \"commit-normal\"],\n [\"commit5_8928ea0\", \"commit-cherry-pick\"],\n [\"commitD\", \"commit-normal\"],\n [\"commit7_ed848ba\", \"commit-cherry-pick\"]\n ]);\n commits.forEach((commit2, key) => {\n it(`should give the correct class type for commit ${key}`, () => {\n const classType = getCommitClassType(commit2);\n expect(classType).toBe(expectedCommitClassType.get(key));\n });\n });\n });\n });\n describe(\"building BT parallel commit diagram\", () => {\n const commits = /* @__PURE__ */ new Map([\n [\n \"1-abcdefg\",\n {\n id: \"1-abcdefg\",\n message: \"\",\n seq: 0,\n type: 0,\n tags: [],\n parents: [],\n branch: \"main\"\n }\n ],\n [\n \"2-abcdefg\",\n {\n id: \"2-abcdefg\",\n message: \"\",\n seq: 1,\n type: 0,\n tags: [],\n parents: [\"1-abcdefg\"],\n branch: \"main\"\n }\n ],\n [\n \"3-abcdefg\",\n {\n id: \"3-abcdefg\",\n message: \"\",\n seq: 2,\n type: 0,\n tags: [],\n parents: [\"2-abcdefg\"],\n branch: \"develop\"\n }\n ],\n [\n \"4-abcdefg\",\n {\n id: \"4-abcdefg\",\n message: \"\",\n seq: 3,\n type: 0,\n tags: [],\n parents: [\"3-abcdefg\"],\n branch: \"develop\"\n }\n ],\n [\n \"5-abcdefg\",\n {\n id: \"5-abcdefg\",\n message: \"\",\n seq: 4,\n type: 0,\n tags: [],\n parents: [\"2-abcdefg\"],\n branch: \"feature\"\n }\n ],\n [\n \"6-abcdefg\",\n {\n id: \"6-abcdefg\",\n message: \"\",\n seq: 5,\n type: 0,\n tags: [],\n parents: [\"5-abcdefg\"],\n branch: \"feature\"\n }\n ],\n [\n \"7-abcdefg\",\n {\n id: \"7-abcdefg\",\n message: \"\",\n seq: 6,\n type: 0,\n tags: [],\n parents: [\"2-abcdefg\"],\n branch: \"main\"\n }\n ],\n [\n \"8-abcdefg\",\n {\n id: \"8-abcdefg\",\n message: \"\",\n seq: 7,\n type: 0,\n tags: [],\n parents: [\"7-abcdefg\"],\n branch: \"main\"\n }\n ]\n ]);\n const expectedCommitPosition = /* @__PURE__ */ new Map([\n [\"1-abcdefg\", { x: 0, y: 40 }],\n [\"2-abcdefg\", { x: 0, y: 90 }],\n [\"3-abcdefg\", { x: 107.49609375, y: 140 }],\n [\"4-abcdefg\", { x: 107.49609375, y: 190 }],\n [\"5-abcdefg\", { x: 225.70703125, y: 140 }],\n [\"6-abcdefg\", { x: 225.70703125, y: 190 }],\n [\"7-abcdefg\", { x: 0, y: 140 }],\n [\"8-abcdefg\", { x: 0, y: 190 }]\n ]);\n const expectedCommitPositionAfterParallel = /* @__PURE__ */ new Map([\n [\"1-abcdefg\", { x: 0, y: 210 }],\n [\"2-abcdefg\", { x: 0, y: 160 }],\n [\"3-abcdefg\", { x: 107.49609375, y: 110 }],\n [\"4-abcdefg\", { x: 107.49609375, y: 60 }],\n [\"5-abcdefg\", { x: 225.70703125, y: 110 }],\n [\"6-abcdefg\", { x: 225.70703125, y: 60 }],\n [\"7-abcdefg\", { x: 0, y: 110 }],\n [\"8-abcdefg\", { x: 0, y: 60 }]\n ]);\n const expectedCommitCurrentPosition = /* @__PURE__ */ new Map([\n [\"1-abcdefg\", 30],\n [\"2-abcdefg\", 80],\n [\"3-abcdefg\", 130],\n [\"4-abcdefg\", 180],\n [\"5-abcdefg\", 130],\n [\"6-abcdefg\", 180],\n [\"7-abcdefg\", 130],\n [\"8-abcdefg\", 180]\n ]);\n const sortedKeys = [...expectedCommitPosition.keys()];\n it(\"should get the correct commit position and current position\", () => {\n dir = \"BT\";\n let curPos = 30;\n commitPos.clear();\n branchPos.clear();\n branchPos.set(\"main\", { pos: 0, index: 0 });\n branchPos.set(\"develop\", { pos: 107.49609375, index: 1 });\n branchPos.set(\"feature\", { pos: 225.70703125, index: 2 });\n DEFAULT_GITGRAPH_CONFIG2.parallelCommits = true;\n commits.forEach((commit2, key) => {\n if (commit2.parents.length > 0) {\n curPos = calculateCommitPosition(commit2);\n }\n const position = setCommitPosition(commit2, curPos);\n expect(position).toEqual(expectedCommitPosition.get(key));\n expect(curPos).toEqual(expectedCommitCurrentPosition.get(key));\n });\n });\n it(\"should get the correct commit position after parallel commits\", () => {\n commitPos.clear();\n branchPos.clear();\n dir = \"BT\";\n const curPos = 30;\n commitPos.clear();\n branchPos.clear();\n branchPos.set(\"main\", { pos: 0, index: 0 });\n branchPos.set(\"develop\", { pos: 107.49609375, index: 1 });\n branchPos.set(\"feature\", { pos: 225.70703125, index: 2 });\n setParallelBTPos(sortedKeys, commits, curPos);\n sortedKeys.forEach((commit2) => {\n const position = commitPos.get(commit2);\n expect(position).toEqual(expectedCommitPositionAfterParallel.get(commit2));\n });\n });\n });\n DEFAULT_GITGRAPH_CONFIG2.parallelCommits = false;\n it(\"add\", () => {\n commitPos.set(\"parent1\", { x: 1, y: 1 });\n commitPos.set(\"parent2\", { x: 2, y: 2 });\n commitPos.set(\"parent3\", { x: 3, y: 3 });\n dir = \"LR\";\n const parents = [\"parent1\", \"parent2\", \"parent3\"];\n const closestParent = findClosestParent(parents);\n expect(closestParent).toBe(\"parent3\");\n commitPos.clear();\n });\n}\n\n// src/diagrams/git/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n ${[0, 1, 2, 3, 4, 5, 6, 7].map(\n (i) => `\n .branch-label${i} { fill: ${options[\"gitBranchLabel\" + i]}; }\n .commit${i} { stroke: ${options[\"git\" + i]}; fill: ${options[\"git\" + i]}; }\n .commit-highlight${i} { stroke: ${options[\"gitInv\" + i]}; fill: ${options[\"gitInv\" + i]}; }\n .label${i} { fill: ${options[\"git\" + i]}; }\n .arrow${i} { stroke: ${options[\"git\" + i]}; }\n `\n).join(\"\\n\")}\n\n .branch {\n stroke-width: 1;\n stroke: ${options.lineColor};\n stroke-dasharray: 2;\n }\n .commit-label { font-size: ${options.commitLabelFontSize}; fill: ${options.commitLabelColor};}\n .commit-label-bkg { font-size: ${options.commitLabelFontSize}; fill: ${options.commitLabelBackground}; opacity: 0.5; }\n .tag-label { font-size: ${options.tagLabelFontSize}; fill: ${options.tagLabelColor};}\n .tag-label-bkg { fill: ${options.tagLabelBackground}; stroke: ${options.tagLabelBorder}; }\n .tag-hole { fill: ${options.textColor}; }\n\n .commit-merge {\n stroke: ${options.primaryColor};\n fill: ${options.primaryColor};\n }\n .commit-reverse {\n stroke: ${options.primaryColor};\n fill: ${options.primaryColor};\n stroke-width: 3;\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${options.primaryColor};\n fill: ${options.primaryColor};\n }\n\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/git/gitGraphDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer: gitGraphRenderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isoWeek=t()}(this,(function(){\"use strict\";var e=\"day\";return function(t,i,s){var a=function(t){return t.add(4-t.isoWeekday(),e)},d=i.prototype;d.isoWeekYear=function(){return a(this).year()},d.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),e);var i,d,n,o,r=a(this),u=(i=this.isoWeekYear(),d=this.$u,n=(d?s.utc:s)().year(i).startOf(\"year\"),o=4-n.isoWeekday(),n.isoWeekday()>4&&(o+=7),n.add(o,e));return r.diff(u,\"week\")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var n=d.startOf;d.startOf=function(e,t){var i=this.$utils(),s=!!i.u(t)||t;return\"isoweek\"===i.p(e)?s?this.date(this.date()-(this.isoWeekday()-1)).startOf(\"day\"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf(\"day\"):n.bind(this)(e,t)}}}));", + "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));", + "!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));", + "import {\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/gantt/parser/gantt.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 38, 40], $V1 = [1, 26], $V2 = [1, 27], $V3 = [1, 28], $V4 = [1, 29], $V5 = [1, 30], $V6 = [1, 31], $V7 = [1, 32], $V8 = [1, 33], $V9 = [1, 34], $Va = [1, 9], $Vb = [1, 10], $Vc = [1, 11], $Vd = [1, 12], $Ve = [1, 13], $Vf = [1, 14], $Vg = [1, 15], $Vh = [1, 16], $Vi = [1, 19], $Vj = [1, 20], $Vk = [1, 21], $Vl = [1, 22], $Vm = [1, 23], $Vn = [1, 25], $Vo = [1, 35];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"gantt\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NL\": 10, \"weekday\": 11, \"weekday_monday\": 12, \"weekday_tuesday\": 13, \"weekday_wednesday\": 14, \"weekday_thursday\": 15, \"weekday_friday\": 16, \"weekday_saturday\": 17, \"weekday_sunday\": 18, \"weekend\": 19, \"weekend_friday\": 20, \"weekend_saturday\": 21, \"dateFormat\": 22, \"inclusiveEndDates\": 23, \"topAxis\": 24, \"axisFormat\": 25, \"tickInterval\": 26, \"excludes\": 27, \"includes\": 28, \"todayMarker\": 29, \"title\": 30, \"acc_title\": 31, \"acc_title_value\": 32, \"acc_descr\": 33, \"acc_descr_value\": 34, \"acc_descr_multiline_value\": 35, \"section\": 36, \"clickStatement\": 37, \"taskTxt\": 38, \"taskData\": 39, \"click\": 40, \"callbackname\": 41, \"callbackargs\": 42, \"href\": 43, \"clickStatementDebug\": 44, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"gantt\", 6: \"EOF\", 8: \"SPACE\", 10: \"NL\", 12: \"weekday_monday\", 13: \"weekday_tuesday\", 14: \"weekday_wednesday\", 15: \"weekday_thursday\", 16: \"weekday_friday\", 17: \"weekday_saturday\", 18: \"weekday_sunday\", 20: \"weekend_friday\", 21: \"weekend_saturday\", 22: \"dateFormat\", 23: \"inclusiveEndDates\", 24: \"topAxis\", 25: \"axisFormat\", 26: \"tickInterval\", 27: \"excludes\", 28: \"includes\", 29: \"todayMarker\", 30: \"title\", 31: \"acc_title\", 32: \"acc_title_value\", 33: \"acc_descr\", 34: \"acc_descr_value\", 35: \"acc_descr_multiline_value\", 36: \"section\", 38: \"taskTxt\", 39: \"taskData\", 40: \"click\", 41: \"callbackname\", 42: \"callbackargs\", 43: \"href\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [11, 1], [19, 1], [19, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 1], [9, 2], [37, 2], [37, 3], [37, 3], [37, 4], [37, 3], [37, 4], [37, 2], [44, 2], [44, 3], [44, 3], [44, 4], [44, 3], [44, 4], [44, 2]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.setWeekday(\"monday\");\n break;\n case 9:\n yy.setWeekday(\"tuesday\");\n break;\n case 10:\n yy.setWeekday(\"wednesday\");\n break;\n case 11:\n yy.setWeekday(\"thursday\");\n break;\n case 12:\n yy.setWeekday(\"friday\");\n break;\n case 13:\n yy.setWeekday(\"saturday\");\n break;\n case 14:\n yy.setWeekday(\"sunday\");\n break;\n case 15:\n yy.setWeekend(\"friday\");\n break;\n case 16:\n yy.setWeekend(\"saturday\");\n break;\n case 17:\n yy.setDateFormat($$[$0].substr(11));\n this.$ = $$[$0].substr(11);\n break;\n case 18:\n yy.enableInclusiveEndDates();\n this.$ = $$[$0].substr(18);\n break;\n case 19:\n yy.TopAxis();\n this.$ = $$[$0].substr(8);\n break;\n case 20:\n yy.setAxisFormat($$[$0].substr(11));\n this.$ = $$[$0].substr(11);\n break;\n case 21:\n yy.setTickInterval($$[$0].substr(13));\n this.$ = $$[$0].substr(13);\n break;\n case 22:\n yy.setExcludes($$[$0].substr(9));\n this.$ = $$[$0].substr(9);\n break;\n case 23:\n yy.setIncludes($$[$0].substr(9));\n this.$ = $$[$0].substr(9);\n break;\n case 24:\n yy.setTodayMarker($$[$0].substr(12));\n this.$ = $$[$0].substr(12);\n break;\n case 27:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 28:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 29:\n case 30:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 31:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 33:\n yy.addTask($$[$0 - 1], $$[$0]);\n this.$ = \"task\";\n break;\n case 34:\n this.$ = $$[$0 - 1];\n yy.setClickEvent($$[$0 - 1], $$[$0], null);\n break;\n case 35:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 36:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], null);\n yy.setLink($$[$0 - 2], $$[$0]);\n break;\n case 37:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);\n yy.setLink($$[$0 - 3], $$[$0]);\n break;\n case 38:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 2], $$[$0], null);\n yy.setLink($$[$0 - 2], $$[$0 - 1]);\n break;\n case 39:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 1], $$[$0]);\n yy.setLink($$[$0 - 3], $$[$0 - 2]);\n break;\n case 40:\n this.$ = $$[$0 - 1];\n yy.setLink($$[$0 - 1], $$[$0]);\n break;\n case 41:\n case 47:\n this.$ = $$[$0 - 1] + \" \" + $$[$0];\n break;\n case 42:\n case 43:\n case 45:\n this.$ = $$[$0 - 2] + \" \" + $$[$0 - 1] + \" \" + $$[$0];\n break;\n case 44:\n case 46:\n this.$ = $$[$0 - 3] + \" \" + $$[$0 - 2] + \" \" + $$[$0 - 1] + \" \" + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: 17, 12: $V1, 13: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: 18, 20: $V8, 21: $V9, 22: $Va, 23: $Vb, 24: $Vc, 25: $Vd, 26: $Ve, 27: $Vf, 28: $Vg, 29: $Vh, 30: $Vi, 31: $Vj, 33: $Vk, 35: $Vl, 36: $Vm, 37: 24, 38: $Vn, 40: $Vo }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 36, 11: 17, 12: $V1, 13: $V2, 14: $V3, 15: $V4, 16: $V5, 17: $V6, 18: $V7, 19: 18, 20: $V8, 21: $V9, 22: $Va, 23: $Vb, 24: $Vc, 25: $Vd, 26: $Ve, 27: $Vf, 28: $Vg, 29: $Vh, 30: $Vi, 31: $Vj, 33: $Vk, 35: $Vl, 36: $Vm, 37: 24, 38: $Vn, 40: $Vo }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 17]), o($V0, [2, 18]), o($V0, [2, 19]), o($V0, [2, 20]), o($V0, [2, 21]), o($V0, [2, 22]), o($V0, [2, 23]), o($V0, [2, 24]), o($V0, [2, 25]), o($V0, [2, 26]), o($V0, [2, 27]), { 32: [1, 37] }, { 34: [1, 38] }, o($V0, [2, 30]), o($V0, [2, 31]), o($V0, [2, 32]), { 39: [1, 39] }, o($V0, [2, 8]), o($V0, [2, 9]), o($V0, [2, 10]), o($V0, [2, 11]), o($V0, [2, 12]), o($V0, [2, 13]), o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), { 41: [1, 40], 43: [1, 41] }, o($V0, [2, 4]), o($V0, [2, 28]), o($V0, [2, 29]), o($V0, [2, 33]), o($V0, [2, 34], { 42: [1, 42], 43: [1, 43] }), o($V0, [2, 40], { 41: [1, 44] }), o($V0, [2, 35], { 43: [1, 45] }), o($V0, [2, 36]), o($V0, [2, 38], { 42: [1, 46] }), o($V0, [2, 37]), o($V0, [2, 39])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.begin(\"open_directive\");\n return \"open_directive\";\n break;\n case 1:\n this.begin(\"acc_title\");\n return 31;\n break;\n case 2:\n this.popState();\n return \"acc_title_value\";\n break;\n case 3:\n this.begin(\"acc_descr\");\n return 33;\n break;\n case 4:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 5:\n this.begin(\"acc_descr_multiline\");\n break;\n case 6:\n this.popState();\n break;\n case 7:\n return \"acc_descr_multiline_value\";\n break;\n case 8:\n break;\n case 9:\n break;\n case 10:\n break;\n case 11:\n return 10;\n break;\n case 12:\n break;\n case 13:\n break;\n case 14:\n this.begin(\"href\");\n break;\n case 15:\n this.popState();\n break;\n case 16:\n return 43;\n break;\n case 17:\n this.begin(\"callbackname\");\n break;\n case 18:\n this.popState();\n break;\n case 19:\n this.popState();\n this.begin(\"callbackargs\");\n break;\n case 20:\n return 41;\n break;\n case 21:\n this.popState();\n break;\n case 22:\n return 42;\n break;\n case 23:\n this.begin(\"click\");\n break;\n case 24:\n this.popState();\n break;\n case 25:\n return 40;\n break;\n case 26:\n return 4;\n break;\n case 27:\n return 22;\n break;\n case 28:\n return 23;\n break;\n case 29:\n return 24;\n break;\n case 30:\n return 25;\n break;\n case 31:\n return 26;\n break;\n case 32:\n return 28;\n break;\n case 33:\n return 27;\n break;\n case 34:\n return 29;\n break;\n case 35:\n return 12;\n break;\n case 36:\n return 13;\n break;\n case 37:\n return 14;\n break;\n case 38:\n return 15;\n break;\n case 39:\n return 16;\n break;\n case 40:\n return 17;\n break;\n case 41:\n return 18;\n break;\n case 42:\n return 20;\n break;\n case 43:\n return 21;\n break;\n case 44:\n return \"date\";\n break;\n case 45:\n return 30;\n break;\n case 46:\n return \"accDescription\";\n break;\n case 47:\n return 36;\n break;\n case 48:\n return 38;\n break;\n case 49:\n return 39;\n break;\n case 50:\n return \":\";\n break;\n case 51:\n return 6;\n break;\n case 52:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%%\\{)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:%%(?!\\{)*[^\\n]*)/i, /^(?:[^\\}]%%*[^\\n]*)/i, /^(?:%%*[^\\n]*[\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:%[^\\n]*)/i, /^(?:href[\\s]+[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:call[\\s]+)/i, /^(?:\\([\\s]*\\))/i, /^(?:\\()/i, /^(?:[^(]*)/i, /^(?:\\))/i, /^(?:[^)]*)/i, /^(?:click[\\s]+)/i, /^(?:[\\s\\n])/i, /^(?:[^\\s\\n]*)/i, /^(?:gantt\\b)/i, /^(?:dateFormat\\s[^#\\n;]+)/i, /^(?:inclusiveEndDates\\b)/i, /^(?:topAxis\\b)/i, /^(?:axisFormat\\s[^#\\n;]+)/i, /^(?:tickInterval\\s[^#\\n;]+)/i, /^(?:includes\\s[^#\\n;]+)/i, /^(?:excludes\\s[^#\\n;]+)/i, /^(?:todayMarker\\s[^\\n;]+)/i, /^(?:weekday\\s+monday\\b)/i, /^(?:weekday\\s+tuesday\\b)/i, /^(?:weekday\\s+wednesday\\b)/i, /^(?:weekday\\s+thursday\\b)/i, /^(?:weekday\\s+friday\\b)/i, /^(?:weekday\\s+saturday\\b)/i, /^(?:weekday\\s+sunday\\b)/i, /^(?:weekend\\s+friday\\b)/i, /^(?:weekend\\s+saturday\\b)/i, /^(?:\\d\\d\\d\\d-\\d\\d-\\d\\d\\b)/i, /^(?:title\\s[^\\n]+)/i, /^(?:accDescription\\s[^#\\n;]+)/i, /^(?:section\\s[^\\n]+)/i, /^(?:[^:\\n]+)/i, /^(?::[^#\\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [6, 7], \"inclusive\": false }, \"acc_descr\": { \"rules\": [4], \"inclusive\": false }, \"acc_title\": { \"rules\": [2], \"inclusive\": false }, \"callbackargs\": { \"rules\": [21, 22], \"inclusive\": false }, \"callbackname\": { \"rules\": [18, 19, 20], \"inclusive\": false }, \"href\": { \"rules\": [15, 16], \"inclusive\": false }, \"click\": { \"rules\": [24, 25], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 17, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar gantt_default = parser;\n\n// src/diagrams/gantt/ganttDb.js\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport dayjs from \"dayjs\";\nimport dayjsIsoWeek from \"dayjs/plugin/isoWeek.js\";\nimport dayjsCustomParseFormat from \"dayjs/plugin/customParseFormat.js\";\nimport dayjsAdvancedFormat from \"dayjs/plugin/advancedFormat.js\";\ndayjs.extend(dayjsIsoWeek);\ndayjs.extend(dayjsCustomParseFormat);\ndayjs.extend(dayjsAdvancedFormat);\nvar WEEKEND_START_DAY = { friday: 5, saturday: 6 };\nvar dateFormat = \"\";\nvar axisFormat = \"\";\nvar tickInterval = void 0;\nvar todayMarker = \"\";\nvar includes = [];\nvar excludes = [];\nvar links = /* @__PURE__ */ new Map();\nvar sections = [];\nvar tasks = [];\nvar currentSection = \"\";\nvar displayMode = \"\";\nvar tags = [\"active\", \"done\", \"crit\", \"milestone\"];\nvar funs = [];\nvar inclusiveEndDates = false;\nvar topAxis = false;\nvar weekday = \"sunday\";\nvar weekend = \"saturday\";\nvar lastOrder = 0;\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections = [];\n tasks = [];\n currentSection = \"\";\n funs = [];\n taskCnt = 0;\n lastTask = void 0;\n lastTaskID = void 0;\n rawTasks = [];\n dateFormat = \"\";\n axisFormat = \"\";\n displayMode = \"\";\n tickInterval = void 0;\n todayMarker = \"\";\n includes = [];\n excludes = [];\n inclusiveEndDates = false;\n topAxis = false;\n lastOrder = 0;\n links = /* @__PURE__ */ new Map();\n clear();\n weekday = \"sunday\";\n weekend = \"saturday\";\n}, \"clear\");\nvar setAxisFormat = /* @__PURE__ */ __name(function(txt) {\n axisFormat = txt;\n}, \"setAxisFormat\");\nvar getAxisFormat = /* @__PURE__ */ __name(function() {\n return axisFormat;\n}, \"getAxisFormat\");\nvar setTickInterval = /* @__PURE__ */ __name(function(txt) {\n tickInterval = txt;\n}, \"setTickInterval\");\nvar getTickInterval = /* @__PURE__ */ __name(function() {\n return tickInterval;\n}, \"getTickInterval\");\nvar setTodayMarker = /* @__PURE__ */ __name(function(txt) {\n todayMarker = txt;\n}, \"setTodayMarker\");\nvar getTodayMarker = /* @__PURE__ */ __name(function() {\n return todayMarker;\n}, \"getTodayMarker\");\nvar setDateFormat = /* @__PURE__ */ __name(function(txt) {\n dateFormat = txt;\n}, \"setDateFormat\");\nvar enableInclusiveEndDates = /* @__PURE__ */ __name(function() {\n inclusiveEndDates = true;\n}, \"enableInclusiveEndDates\");\nvar endDatesAreInclusive = /* @__PURE__ */ __name(function() {\n return inclusiveEndDates;\n}, \"endDatesAreInclusive\");\nvar enableTopAxis = /* @__PURE__ */ __name(function() {\n topAxis = true;\n}, \"enableTopAxis\");\nvar topAxisEnabled = /* @__PURE__ */ __name(function() {\n return topAxis;\n}, \"topAxisEnabled\");\nvar setDisplayMode = /* @__PURE__ */ __name(function(txt) {\n displayMode = txt;\n}, \"setDisplayMode\");\nvar getDisplayMode = /* @__PURE__ */ __name(function() {\n return displayMode;\n}, \"getDisplayMode\");\nvar getDateFormat = /* @__PURE__ */ __name(function() {\n return dateFormat;\n}, \"getDateFormat\");\nvar setIncludes = /* @__PURE__ */ __name(function(txt) {\n includes = txt.toLowerCase().split(/[\\s,]+/);\n}, \"setIncludes\");\nvar getIncludes = /* @__PURE__ */ __name(function() {\n return includes;\n}, \"getIncludes\");\nvar setExcludes = /* @__PURE__ */ __name(function(txt) {\n excludes = txt.toLowerCase().split(/[\\s,]+/);\n}, \"setExcludes\");\nvar getExcludes = /* @__PURE__ */ __name(function() {\n return excludes;\n}, \"getExcludes\");\nvar getLinks = /* @__PURE__ */ __name(function() {\n return links;\n}, \"getLinks\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 10;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks = rawTasks;\n return tasks;\n}, \"getTasks\");\nvar isInvalidDate = /* @__PURE__ */ __name(function(date, dateFormat2, excludes2, includes2) {\n if (includes2.includes(date.format(dateFormat2.trim()))) {\n return false;\n }\n if (excludes2.includes(\"weekends\") && (date.isoWeekday() === WEEKEND_START_DAY[weekend] || date.isoWeekday() === WEEKEND_START_DAY[weekend] + 1)) {\n return true;\n }\n if (excludes2.includes(date.format(\"dddd\").toLowerCase())) {\n return true;\n }\n return excludes2.includes(date.format(dateFormat2.trim()));\n}, \"isInvalidDate\");\nvar setWeekday = /* @__PURE__ */ __name(function(txt) {\n weekday = txt;\n}, \"setWeekday\");\nvar getWeekday = /* @__PURE__ */ __name(function() {\n return weekday;\n}, \"getWeekday\");\nvar setWeekend = /* @__PURE__ */ __name(function(startDay) {\n weekend = startDay;\n}, \"setWeekend\");\nvar checkTaskDates = /* @__PURE__ */ __name(function(task, dateFormat2, excludes2, includes2) {\n if (!excludes2.length || task.manualEndTime) {\n return;\n }\n let startTime;\n if (task.startTime instanceof Date) {\n startTime = dayjs(task.startTime);\n } else {\n startTime = dayjs(task.startTime, dateFormat2, true);\n }\n startTime = startTime.add(1, \"d\");\n let originalEndTime;\n if (task.endTime instanceof Date) {\n originalEndTime = dayjs(task.endTime);\n } else {\n originalEndTime = dayjs(task.endTime, dateFormat2, true);\n }\n const [fixedEndTime, renderEndTime] = fixTaskDates(\n startTime,\n originalEndTime,\n dateFormat2,\n excludes2,\n includes2\n );\n task.endTime = fixedEndTime.toDate();\n task.renderEndTime = renderEndTime;\n}, \"checkTaskDates\");\nvar fixTaskDates = /* @__PURE__ */ __name(function(startTime, endTime, dateFormat2, excludes2, includes2) {\n let invalid = false;\n let renderEndTime = null;\n while (startTime <= endTime) {\n if (!invalid) {\n renderEndTime = endTime.toDate();\n }\n invalid = isInvalidDate(startTime, dateFormat2, excludes2, includes2);\n if (invalid) {\n endTime = endTime.add(1, \"d\");\n }\n startTime = startTime.add(1, \"d\");\n }\n return [endTime, renderEndTime];\n}, \"fixTaskDates\");\nvar getStartDate = /* @__PURE__ */ __name(function(prevTime, dateFormat2, str) {\n str = str.trim();\n const afterRePattern = /^after\\s+(?<ids>[\\d\\w- ]+)/;\n const afterStatement = afterRePattern.exec(str);\n if (afterStatement !== null) {\n let latestTask = null;\n for (const id of afterStatement.groups.ids.split(\" \")) {\n let task = findTaskById(id);\n if (task !== void 0 && (!latestTask || task.endTime > latestTask.endTime)) {\n latestTask = task;\n }\n }\n if (latestTask) {\n return latestTask.endTime;\n }\n const today = /* @__PURE__ */ new Date();\n today.setHours(0, 0, 0, 0);\n return today;\n }\n let mDate = dayjs(str, dateFormat2.trim(), true);\n if (mDate.isValid()) {\n return mDate.toDate();\n } else {\n log.debug(\"Invalid date:\" + str);\n log.debug(\"With date format:\" + dateFormat2.trim());\n const d = new Date(str);\n if (d === void 0 || isNaN(d.getTime()) || // WebKit browsers can mis-parse invalid dates to be ridiculously\n // huge numbers, e.g. new Date('202304') gets parsed as January 1, 202304.\n // This can cause virtually infinite loops while rendering, so for the\n // purposes of Gantt charts we'll just treat any date beyond 10,000 AD/BC as\n // invalid.\n d.getFullYear() < -1e4 || d.getFullYear() > 1e4) {\n throw new Error(\"Invalid date:\" + str);\n }\n return d;\n }\n}, \"getStartDate\");\nvar parseDuration = /* @__PURE__ */ __name(function(str) {\n const statement = /^(\\d+(?:\\.\\d+)?)([Mdhmswy]|ms)$/.exec(str.trim());\n if (statement !== null) {\n return [Number.parseFloat(statement[1]), statement[2]];\n }\n return [NaN, \"ms\"];\n}, \"parseDuration\");\nvar getEndDate = /* @__PURE__ */ __name(function(prevTime, dateFormat2, str, inclusive = false) {\n str = str.trim();\n const untilRePattern = /^until\\s+(?<ids>[\\d\\w- ]+)/;\n const untilStatement = untilRePattern.exec(str);\n if (untilStatement !== null) {\n let earliestTask = null;\n for (const id of untilStatement.groups.ids.split(\" \")) {\n let task = findTaskById(id);\n if (task !== void 0 && (!earliestTask || task.startTime < earliestTask.startTime)) {\n earliestTask = task;\n }\n }\n if (earliestTask) {\n return earliestTask.startTime;\n }\n const today = /* @__PURE__ */ new Date();\n today.setHours(0, 0, 0, 0);\n return today;\n }\n let parsedDate = dayjs(str, dateFormat2.trim(), true);\n if (parsedDate.isValid()) {\n if (inclusive) {\n parsedDate = parsedDate.add(1, \"d\");\n }\n return parsedDate.toDate();\n }\n let endTime = dayjs(prevTime);\n const [durationValue, durationUnit] = parseDuration(str);\n if (!Number.isNaN(durationValue)) {\n const newEndTime = endTime.add(durationValue, durationUnit);\n if (newEndTime.isValid()) {\n endTime = newEndTime;\n }\n }\n return endTime.toDate();\n}, \"getEndDate\");\nvar taskCnt = 0;\nvar parseId = /* @__PURE__ */ __name(function(idStr) {\n if (idStr === void 0) {\n taskCnt = taskCnt + 1;\n return \"task\" + taskCnt;\n }\n return idStr;\n}, \"parseId\");\nvar compileData = /* @__PURE__ */ __name(function(prevTask, dataStr) {\n let ds;\n if (dataStr.substr(0, 1) === \":\") {\n ds = dataStr.substr(1, dataStr.length);\n } else {\n ds = dataStr;\n }\n const data = ds.split(\",\");\n const task = {};\n getTaskTags(data, task, tags);\n for (let i = 0; i < data.length; i++) {\n data[i] = data[i].trim();\n }\n let endTimeData = \"\";\n switch (data.length) {\n case 1:\n task.id = parseId();\n task.startTime = prevTask.endTime;\n endTimeData = data[0];\n break;\n case 2:\n task.id = parseId();\n task.startTime = getStartDate(void 0, dateFormat, data[0]);\n endTimeData = data[1];\n break;\n case 3:\n task.id = parseId(data[0]);\n task.startTime = getStartDate(void 0, dateFormat, data[1]);\n endTimeData = data[2];\n break;\n default:\n }\n if (endTimeData) {\n task.endTime = getEndDate(task.startTime, dateFormat, endTimeData, inclusiveEndDates);\n task.manualEndTime = dayjs(endTimeData, \"YYYY-MM-DD\", true).isValid();\n checkTaskDates(task, dateFormat, excludes, includes);\n }\n return task;\n}, \"compileData\");\nvar parseData = /* @__PURE__ */ __name(function(prevTaskId, dataStr) {\n let ds;\n if (dataStr.substr(0, 1) === \":\") {\n ds = dataStr.substr(1, dataStr.length);\n } else {\n ds = dataStr;\n }\n const data = ds.split(\",\");\n const task = {};\n getTaskTags(data, task, tags);\n for (let i = 0; i < data.length; i++) {\n data[i] = data[i].trim();\n }\n switch (data.length) {\n case 1:\n task.id = parseId();\n task.startTime = {\n type: \"prevTaskEnd\",\n id: prevTaskId\n };\n task.endTime = {\n data: data[0]\n };\n break;\n case 2:\n task.id = parseId();\n task.startTime = {\n type: \"getStartDate\",\n startData: data[0]\n };\n task.endTime = {\n data: data[1]\n };\n break;\n case 3:\n task.id = parseId(data[0]);\n task.startTime = {\n type: \"getStartDate\",\n startData: data[1]\n };\n task.endTime = {\n data: data[2]\n };\n break;\n default:\n }\n return task;\n}, \"parseData\");\nvar lastTask;\nvar lastTaskID;\nvar rawTasks = [];\nvar taskDb = {};\nvar addTask = /* @__PURE__ */ __name(function(descr, data) {\n const rawTask = {\n section: currentSection,\n type: currentSection,\n processed: false,\n manualEndTime: false,\n renderEndTime: null,\n raw: { data },\n task: descr,\n classes: []\n };\n const taskInfo = parseData(lastTaskID, data);\n rawTask.raw.startTime = taskInfo.startTime;\n rawTask.raw.endTime = taskInfo.endTime;\n rawTask.id = taskInfo.id;\n rawTask.prevTaskId = lastTaskID;\n rawTask.active = taskInfo.active;\n rawTask.done = taskInfo.done;\n rawTask.crit = taskInfo.crit;\n rawTask.milestone = taskInfo.milestone;\n rawTask.order = lastOrder;\n lastOrder++;\n const pos = rawTasks.push(rawTask);\n lastTaskID = rawTask.id;\n taskDb[rawTask.id] = pos - 1;\n}, \"addTask\");\nvar findTaskById = /* @__PURE__ */ __name(function(id) {\n const pos = taskDb[id];\n return rawTasks[pos];\n}, \"findTaskById\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr, data) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n const taskInfo = compileData(lastTask, data);\n newTask.startTime = taskInfo.startTime;\n newTask.endTime = taskInfo.endTime;\n newTask.id = taskInfo.id;\n newTask.active = taskInfo.active;\n newTask.done = taskInfo.done;\n newTask.crit = taskInfo.crit;\n newTask.milestone = taskInfo.milestone;\n lastTask = newTask;\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n const task = rawTasks[pos];\n let startTime = \"\";\n switch (rawTasks[pos].raw.startTime.type) {\n case \"prevTaskEnd\": {\n const prevTask = findTaskById(task.prevTaskId);\n task.startTime = prevTask.endTime;\n break;\n }\n case \"getStartDate\":\n startTime = getStartDate(void 0, dateFormat, rawTasks[pos].raw.startTime.startData);\n if (startTime) {\n rawTasks[pos].startTime = startTime;\n }\n break;\n }\n if (rawTasks[pos].startTime) {\n rawTasks[pos].endTime = getEndDate(\n rawTasks[pos].startTime,\n dateFormat,\n rawTasks[pos].raw.endTime.data,\n inclusiveEndDates\n );\n if (rawTasks[pos].endTime) {\n rawTasks[pos].processed = true;\n rawTasks[pos].manualEndTime = dayjs(\n rawTasks[pos].raw.endTime.data,\n \"YYYY-MM-DD\",\n true\n ).isValid();\n checkTaskDates(rawTasks[pos], dateFormat, excludes, includes);\n }\n }\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar setLink = /* @__PURE__ */ __name(function(ids, _linkStr) {\n let linkStr = _linkStr;\n if (getConfig().securityLevel !== \"loose\") {\n linkStr = sanitizeUrl(_linkStr);\n }\n ids.split(\",\").forEach(function(id) {\n let rawTask = findTaskById(id);\n if (rawTask !== void 0) {\n pushFun(id, () => {\n window.open(linkStr, \"_self\");\n });\n links.set(id, linkStr);\n }\n });\n setClass(ids, \"clickable\");\n}, \"setLink\");\nvar setClass = /* @__PURE__ */ __name(function(ids, className) {\n ids.split(\",\").forEach(function(id) {\n let rawTask = findTaskById(id);\n if (rawTask !== void 0) {\n rawTask.classes.push(className);\n }\n });\n}, \"setClass\");\nvar setClickFun = /* @__PURE__ */ __name(function(id, functionName, functionArgs) {\n if (getConfig().securityLevel !== \"loose\") {\n return;\n }\n if (functionName === void 0) {\n return;\n }\n let argList = [];\n if (typeof functionArgs === \"string\") {\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n if (item.startsWith('\"') && item.endsWith('\"')) {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n if (argList.length === 0) {\n argList.push(id);\n }\n let rawTask = findTaskById(id);\n if (rawTask !== void 0) {\n pushFun(id, () => {\n utils_default.runFunc(functionName, ...argList);\n });\n }\n}, \"setClickFun\");\nvar pushFun = /* @__PURE__ */ __name(function(id, callbackFunction) {\n funs.push(\n function() {\n const elem = document.querySelector(`[id=\"${id}\"]`);\n if (elem !== null) {\n elem.addEventListener(\"click\", function() {\n callbackFunction();\n });\n }\n },\n function() {\n const elem = document.querySelector(`[id=\"${id}-text\"]`);\n if (elem !== null) {\n elem.addEventListener(\"click\", function() {\n callbackFunction();\n });\n }\n }\n );\n}, \"pushFun\");\nvar setClickEvent = /* @__PURE__ */ __name(function(ids, functionName, functionArgs) {\n ids.split(\",\").forEach(function(id) {\n setClickFun(id, functionName, functionArgs);\n });\n setClass(ids, \"clickable\");\n}, \"setClickEvent\");\nvar bindFunctions = /* @__PURE__ */ __name(function(element) {\n funs.forEach(function(fun) {\n fun(element);\n });\n}, \"bindFunctions\");\nvar ganttDb_default = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().gantt, \"getConfig\"),\n clear: clear2,\n setDateFormat,\n getDateFormat,\n enableInclusiveEndDates,\n endDatesAreInclusive,\n enableTopAxis,\n topAxisEnabled,\n setAxisFormat,\n getAxisFormat,\n setTickInterval,\n getTickInterval,\n setTodayMarker,\n getTodayMarker,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n setDisplayMode,\n getDisplayMode,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n getTasks,\n addTask,\n findTaskById,\n addTaskOrg,\n setIncludes,\n getIncludes,\n setExcludes,\n getExcludes,\n setClickEvent,\n setLink,\n getLinks,\n bindFunctions,\n parseDuration,\n isInvalidDate,\n setWeekday,\n getWeekday,\n setWeekend\n};\nfunction getTaskTags(data, task, tags2) {\n let matchFound = true;\n while (matchFound) {\n matchFound = false;\n tags2.forEach(function(t) {\n const pattern = \"^\\\\s*\" + t + \"\\\\s*$\";\n const regex = new RegExp(pattern);\n if (data[0].match(regex)) {\n task[t] = true;\n data.shift(1);\n matchFound = true;\n }\n });\n }\n}\n__name(getTaskTags, \"getTaskTags\");\n\n// src/diagrams/gantt/ganttRenderer.js\nimport dayjs2 from \"dayjs\";\nimport {\n select,\n scaleTime,\n min,\n max,\n scaleLinear,\n interpolateHcl,\n axisBottom,\n axisTop,\n timeFormat,\n timeMillisecond,\n timeSecond,\n timeMinute,\n timeHour,\n timeDay,\n timeMonday,\n timeTuesday,\n timeWednesday,\n timeThursday,\n timeFriday,\n timeSaturday,\n timeSunday,\n timeMonth\n} from \"d3\";\nvar setConf = /* @__PURE__ */ __name(function() {\n log.debug(\"Something is calling, setConf, remove the call\");\n}, \"setConf\");\nvar mapWeekdayToTimeFunction = {\n monday: timeMonday,\n tuesday: timeTuesday,\n wednesday: timeWednesday,\n thursday: timeThursday,\n friday: timeFriday,\n saturday: timeSaturday,\n sunday: timeSunday\n};\nvar getMaxIntersections = /* @__PURE__ */ __name((tasks2, orderOffset) => {\n let timeline = [...tasks2].map(() => -Infinity);\n let sorted = [...tasks2].sort((a, b) => a.startTime - b.startTime || a.order - b.order);\n let maxIntersections = 0;\n for (const element of sorted) {\n for (let j = 0; j < timeline.length; j++) {\n if (element.startTime >= timeline[j]) {\n timeline[j] = element.endTime;\n element.order = j + orderOffset;\n if (j > maxIntersections) {\n maxIntersections = j;\n }\n break;\n }\n }\n }\n return maxIntersections;\n}, \"getMaxIntersections\");\nvar w;\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig().gantt;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n const elem = doc.getElementById(id);\n w = elem.parentElement.offsetWidth;\n if (w === void 0) {\n w = 1200;\n }\n if (conf.useWidth !== void 0) {\n w = conf.useWidth;\n }\n const taskArray = diagObj.db.getTasks();\n let categories = [];\n for (const element of taskArray) {\n categories.push(element.type);\n }\n categories = checkUnique(categories);\n const categoryHeights = {};\n let h = 2 * conf.topPadding;\n if (diagObj.db.getDisplayMode() === \"compact\" || conf.displayMode === \"compact\") {\n const categoryElements = {};\n for (const element of taskArray) {\n if (categoryElements[element.section] === void 0) {\n categoryElements[element.section] = [element];\n } else {\n categoryElements[element.section].push(element);\n }\n }\n let intersections = 0;\n for (const category of Object.keys(categoryElements)) {\n const categoryHeight = getMaxIntersections(categoryElements[category], intersections) + 1;\n intersections += categoryHeight;\n h += categoryHeight * (conf.barHeight + conf.barGap);\n categoryHeights[category] = categoryHeight;\n }\n } else {\n h += taskArray.length * (conf.barHeight + conf.barGap);\n for (const category of categories) {\n categoryHeights[category] = taskArray.filter((task) => task.type === category).length;\n }\n }\n elem.setAttribute(\"viewBox\", \"0 0 \" + w + \" \" + h);\n const svg = root.select(`[id=\"${id}\"]`);\n const timeScale = scaleTime().domain([\n min(taskArray, function(d) {\n return d.startTime;\n }),\n max(taskArray, function(d) {\n return d.endTime;\n })\n ]).rangeRound([0, w - conf.leftPadding - conf.rightPadding]);\n function taskCompare(a, b) {\n const taskA = a.startTime;\n const taskB = b.startTime;\n let result = 0;\n if (taskA > taskB) {\n result = 1;\n } else if (taskA < taskB) {\n result = -1;\n }\n return result;\n }\n __name(taskCompare, \"taskCompare\");\n taskArray.sort(taskCompare);\n makeGantt(taskArray, w, h);\n configureSvgSize(svg, h, w, conf.useMaxWidth);\n svg.append(\"text\").text(diagObj.db.getDiagramTitle()).attr(\"x\", w / 2).attr(\"y\", conf.titleTopMargin).attr(\"class\", \"titleText\");\n function makeGantt(tasks2, pageWidth, pageHeight) {\n const barHeight = conf.barHeight;\n const gap = barHeight + conf.barGap;\n const topPadding = conf.topPadding;\n const leftPadding = conf.leftPadding;\n const colorScale = scaleLinear().domain([0, categories.length]).range([\"#00B9FA\", \"#F95002\"]).interpolate(interpolateHcl);\n drawExcludeDays(\n gap,\n topPadding,\n leftPadding,\n pageWidth,\n pageHeight,\n tasks2,\n diagObj.db.getExcludes(),\n diagObj.db.getIncludes()\n );\n makeGrid(leftPadding, topPadding, pageWidth, pageHeight);\n drawRects(tasks2, gap, topPadding, leftPadding, barHeight, colorScale, pageWidth, pageHeight);\n vertLabels(gap, topPadding, leftPadding, barHeight, colorScale);\n drawToday(leftPadding, topPadding, pageWidth, pageHeight);\n }\n __name(makeGantt, \"makeGantt\");\n function drawRects(theArray, theGap, theTopPad, theSidePad, theBarHeight, theColorScale, w2) {\n const uniqueTaskOrderIds = [...new Set(theArray.map((item) => item.order))];\n const uniqueTasks = uniqueTaskOrderIds.map((id2) => theArray.find((item) => item.order === id2));\n svg.append(\"g\").selectAll(\"rect\").data(uniqueTasks).enter().append(\"rect\").attr(\"x\", 0).attr(\"y\", function(d, i) {\n i = d.order;\n return i * theGap + theTopPad - 2;\n }).attr(\"width\", function() {\n return w2 - conf.rightPadding / 2;\n }).attr(\"height\", theGap).attr(\"class\", function(d) {\n for (const [i, category] of categories.entries()) {\n if (d.type === category) {\n return \"section section\" + i % conf.numberSectionStyles;\n }\n }\n return \"section section0\";\n });\n const rectangles = svg.append(\"g\").selectAll(\"rect\").data(theArray).enter();\n const links2 = diagObj.db.getLinks();\n rectangles.append(\"rect\").attr(\"id\", function(d) {\n return d.id;\n }).attr(\"rx\", 3).attr(\"ry\", 3).attr(\"x\", function(d) {\n if (d.milestone) {\n return timeScale(d.startTime) + theSidePad + 0.5 * (timeScale(d.endTime) - timeScale(d.startTime)) - 0.5 * theBarHeight;\n }\n return timeScale(d.startTime) + theSidePad;\n }).attr(\"y\", function(d, i) {\n i = d.order;\n return i * theGap + theTopPad;\n }).attr(\"width\", function(d) {\n if (d.milestone) {\n return theBarHeight;\n }\n return timeScale(d.renderEndTime || d.endTime) - timeScale(d.startTime);\n }).attr(\"height\", theBarHeight).attr(\"transform-origin\", function(d, i) {\n i = d.order;\n return (timeScale(d.startTime) + theSidePad + 0.5 * (timeScale(d.endTime) - timeScale(d.startTime))).toString() + \"px \" + (i * theGap + theTopPad + 0.5 * theBarHeight).toString() + \"px\";\n }).attr(\"class\", function(d) {\n const res = \"task\";\n let classStr = \"\";\n if (d.classes.length > 0) {\n classStr = d.classes.join(\" \");\n }\n let secNum = 0;\n for (const [i, category] of categories.entries()) {\n if (d.type === category) {\n secNum = i % conf.numberSectionStyles;\n }\n }\n let taskClass = \"\";\n if (d.active) {\n if (d.crit) {\n taskClass += \" activeCrit\";\n } else {\n taskClass = \" active\";\n }\n } else if (d.done) {\n if (d.crit) {\n taskClass = \" doneCrit\";\n } else {\n taskClass = \" done\";\n }\n } else {\n if (d.crit) {\n taskClass += \" crit\";\n }\n }\n if (taskClass.length === 0) {\n taskClass = \" task\";\n }\n if (d.milestone) {\n taskClass = \" milestone \" + taskClass;\n }\n taskClass += secNum;\n taskClass += \" \" + classStr;\n return res + taskClass;\n });\n rectangles.append(\"text\").attr(\"id\", function(d) {\n return d.id + \"-text\";\n }).text(function(d) {\n return d.task;\n }).attr(\"font-size\", conf.fontSize).attr(\"x\", function(d) {\n let startX = timeScale(d.startTime);\n let endX = timeScale(d.renderEndTime || d.endTime);\n if (d.milestone) {\n startX += 0.5 * (timeScale(d.endTime) - timeScale(d.startTime)) - 0.5 * theBarHeight;\n }\n if (d.milestone) {\n endX = startX + theBarHeight;\n }\n const textWidth = this.getBBox().width;\n if (textWidth > endX - startX) {\n if (endX + textWidth + 1.5 * conf.leftPadding > w2) {\n return startX + theSidePad - 5;\n } else {\n return endX + theSidePad + 5;\n }\n } else {\n return (endX - startX) / 2 + startX + theSidePad;\n }\n }).attr(\"y\", function(d, i) {\n i = d.order;\n return i * theGap + conf.barHeight / 2 + (conf.fontSize / 2 - 2) + theTopPad;\n }).attr(\"text-height\", theBarHeight).attr(\"class\", function(d) {\n const startX = timeScale(d.startTime);\n let endX = timeScale(d.endTime);\n if (d.milestone) {\n endX = startX + theBarHeight;\n }\n const textWidth = this.getBBox().width;\n let classStr = \"\";\n if (d.classes.length > 0) {\n classStr = d.classes.join(\" \");\n }\n let secNum = 0;\n for (const [i, category] of categories.entries()) {\n if (d.type === category) {\n secNum = i % conf.numberSectionStyles;\n }\n }\n let taskType = \"\";\n if (d.active) {\n if (d.crit) {\n taskType = \"activeCritText\" + secNum;\n } else {\n taskType = \"activeText\" + secNum;\n }\n }\n if (d.done) {\n if (d.crit) {\n taskType = taskType + \" doneCritText\" + secNum;\n } else {\n taskType = taskType + \" doneText\" + secNum;\n }\n } else {\n if (d.crit) {\n taskType = taskType + \" critText\" + secNum;\n }\n }\n if (d.milestone) {\n taskType += \" milestoneText\";\n }\n if (textWidth > endX - startX) {\n if (endX + textWidth + 1.5 * conf.leftPadding > w2) {\n return classStr + \" taskTextOutsideLeft taskTextOutside\" + secNum + \" \" + taskType;\n } else {\n return classStr + \" taskTextOutsideRight taskTextOutside\" + secNum + \" \" + taskType + \" width-\" + textWidth;\n }\n } else {\n return classStr + \" taskText taskText\" + secNum + \" \" + taskType + \" width-\" + textWidth;\n }\n });\n const securityLevel2 = getConfig().securityLevel;\n if (securityLevel2 === \"sandbox\") {\n let sandboxElement2;\n sandboxElement2 = select(\"#i\" + id);\n const doc2 = sandboxElement2.nodes()[0].contentDocument;\n rectangles.filter(function(d) {\n return links2.has(d.id);\n }).each(function(o) {\n var taskRect = doc2.querySelector(\"#\" + o.id);\n var taskText = doc2.querySelector(\"#\" + o.id + \"-text\");\n const oldParent = taskRect.parentNode;\n var Link = doc2.createElement(\"a\");\n Link.setAttribute(\"xlink:href\", links2.get(o.id));\n Link.setAttribute(\"target\", \"_top\");\n oldParent.appendChild(Link);\n Link.appendChild(taskRect);\n Link.appendChild(taskText);\n });\n }\n }\n __name(drawRects, \"drawRects\");\n function drawExcludeDays(theGap, theTopPad, theSidePad, w2, h2, tasks2, excludes2, includes2) {\n if (excludes2.length === 0 && includes2.length === 0) {\n return;\n }\n let minTime;\n let maxTime;\n for (const { startTime, endTime } of tasks2) {\n if (minTime === void 0 || startTime < minTime) {\n minTime = startTime;\n }\n if (maxTime === void 0 || endTime > maxTime) {\n maxTime = endTime;\n }\n }\n if (!minTime || !maxTime) {\n return;\n }\n if (dayjs2(maxTime).diff(dayjs2(minTime), \"year\") > 5) {\n log.warn(\n \"The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.\"\n );\n return;\n }\n const dateFormat2 = diagObj.db.getDateFormat();\n const excludeRanges = [];\n let range = null;\n let d = dayjs2(minTime);\n while (d.valueOf() <= maxTime) {\n if (diagObj.db.isInvalidDate(d, dateFormat2, excludes2, includes2)) {\n if (!range) {\n range = {\n start: d,\n end: d\n };\n } else {\n range.end = d;\n }\n } else {\n if (range) {\n excludeRanges.push(range);\n range = null;\n }\n }\n d = d.add(1, \"d\");\n }\n const rectangles = svg.append(\"g\").selectAll(\"rect\").data(excludeRanges).enter();\n rectangles.append(\"rect\").attr(\"id\", function(d2) {\n return \"exclude-\" + d2.start.format(\"YYYY-MM-DD\");\n }).attr(\"x\", function(d2) {\n return timeScale(d2.start) + theSidePad;\n }).attr(\"y\", conf.gridLineStartPadding).attr(\"width\", function(d2) {\n const renderEnd = d2.end.add(1, \"day\");\n return timeScale(renderEnd) - timeScale(d2.start);\n }).attr(\"height\", h2 - theTopPad - conf.gridLineStartPadding).attr(\"transform-origin\", function(d2, i) {\n return (timeScale(d2.start) + theSidePad + 0.5 * (timeScale(d2.end) - timeScale(d2.start))).toString() + \"px \" + (i * theGap + 0.5 * h2).toString() + \"px\";\n }).attr(\"class\", \"exclude-range\");\n }\n __name(drawExcludeDays, \"drawExcludeDays\");\n function makeGrid(theSidePad, theTopPad, w2, h2) {\n let bottomXAxis = axisBottom(timeScale).tickSize(-h2 + theTopPad + conf.gridLineStartPadding).tickFormat(timeFormat(diagObj.db.getAxisFormat() || conf.axisFormat || \"%Y-%m-%d\"));\n const reTickInterval = /^([1-9]\\d*)(millisecond|second|minute|hour|day|week|month)$/;\n const resultTickInterval = reTickInterval.exec(\n diagObj.db.getTickInterval() || conf.tickInterval\n );\n if (resultTickInterval !== null) {\n const every = resultTickInterval[1];\n const interval = resultTickInterval[2];\n const weekday2 = diagObj.db.getWeekday() || conf.weekday;\n switch (interval) {\n case \"millisecond\":\n bottomXAxis.ticks(timeMillisecond.every(every));\n break;\n case \"second\":\n bottomXAxis.ticks(timeSecond.every(every));\n break;\n case \"minute\":\n bottomXAxis.ticks(timeMinute.every(every));\n break;\n case \"hour\":\n bottomXAxis.ticks(timeHour.every(every));\n break;\n case \"day\":\n bottomXAxis.ticks(timeDay.every(every));\n break;\n case \"week\":\n bottomXAxis.ticks(mapWeekdayToTimeFunction[weekday2].every(every));\n break;\n case \"month\":\n bottomXAxis.ticks(timeMonth.every(every));\n break;\n }\n }\n svg.append(\"g\").attr(\"class\", \"grid\").attr(\"transform\", \"translate(\" + theSidePad + \", \" + (h2 - 50) + \")\").call(bottomXAxis).selectAll(\"text\").style(\"text-anchor\", \"middle\").attr(\"fill\", \"#000\").attr(\"stroke\", \"none\").attr(\"font-size\", 10).attr(\"dy\", \"1em\");\n if (diagObj.db.topAxisEnabled() || conf.topAxis) {\n let topXAxis = axisTop(timeScale).tickSize(-h2 + theTopPad + conf.gridLineStartPadding).tickFormat(timeFormat(diagObj.db.getAxisFormat() || conf.axisFormat || \"%Y-%m-%d\"));\n if (resultTickInterval !== null) {\n const every = resultTickInterval[1];\n const interval = resultTickInterval[2];\n const weekday2 = diagObj.db.getWeekday() || conf.weekday;\n switch (interval) {\n case \"millisecond\":\n topXAxis.ticks(timeMillisecond.every(every));\n break;\n case \"second\":\n topXAxis.ticks(timeSecond.every(every));\n break;\n case \"minute\":\n topXAxis.ticks(timeMinute.every(every));\n break;\n case \"hour\":\n topXAxis.ticks(timeHour.every(every));\n break;\n case \"day\":\n topXAxis.ticks(timeDay.every(every));\n break;\n case \"week\":\n topXAxis.ticks(mapWeekdayToTimeFunction[weekday2].every(every));\n break;\n case \"month\":\n topXAxis.ticks(timeMonth.every(every));\n break;\n }\n }\n svg.append(\"g\").attr(\"class\", \"grid\").attr(\"transform\", \"translate(\" + theSidePad + \", \" + theTopPad + \")\").call(topXAxis).selectAll(\"text\").style(\"text-anchor\", \"middle\").attr(\"fill\", \"#000\").attr(\"stroke\", \"none\").attr(\"font-size\", 10);\n }\n }\n __name(makeGrid, \"makeGrid\");\n function vertLabels(theGap, theTopPad) {\n let prevGap = 0;\n const numOccurrences = Object.keys(categoryHeights).map((d) => [d, categoryHeights[d]]);\n svg.append(\"g\").selectAll(\"text\").data(numOccurrences).enter().append(function(d) {\n const rows = d[0].split(common_default.lineBreakRegex);\n const dy = -(rows.length - 1) / 2;\n const svgLabel = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"dy\", dy + \"em\");\n for (const [j, row] of rows.entries()) {\n const tspan = doc.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttribute(\"alignment-baseline\", \"central\");\n tspan.setAttribute(\"x\", \"10\");\n if (j > 0) {\n tspan.setAttribute(\"dy\", \"1em\");\n }\n tspan.textContent = row;\n svgLabel.appendChild(tspan);\n }\n return svgLabel;\n }).attr(\"x\", 10).attr(\"y\", function(d, i) {\n if (i > 0) {\n for (let j = 0; j < i; j++) {\n prevGap += numOccurrences[i - 1][1];\n return d[1] * theGap / 2 + prevGap * theGap + theTopPad;\n }\n } else {\n return d[1] * theGap / 2 + theTopPad;\n }\n }).attr(\"font-size\", conf.sectionFontSize).attr(\"class\", function(d) {\n for (const [i, category] of categories.entries()) {\n if (d[0] === category) {\n return \"sectionTitle sectionTitle\" + i % conf.numberSectionStyles;\n }\n }\n return \"sectionTitle\";\n });\n }\n __name(vertLabels, \"vertLabels\");\n function drawToday(theSidePad, theTopPad, w2, h2) {\n const todayMarker2 = diagObj.db.getTodayMarker();\n if (todayMarker2 === \"off\") {\n return;\n }\n const todayG = svg.append(\"g\").attr(\"class\", \"today\");\n const today = /* @__PURE__ */ new Date();\n const todayLine = todayG.append(\"line\");\n todayLine.attr(\"x1\", timeScale(today) + theSidePad).attr(\"x2\", timeScale(today) + theSidePad).attr(\"y1\", conf.titleTopMargin).attr(\"y2\", h2 - conf.titleTopMargin).attr(\"class\", \"today\");\n if (todayMarker2 !== \"\") {\n todayLine.attr(\"style\", todayMarker2.replace(/,/g, \";\"));\n }\n }\n __name(drawToday, \"drawToday\");\n function checkUnique(arr) {\n const hash = {};\n const result = [];\n for (let i = 0, l = arr.length; i < l; ++i) {\n if (!Object.prototype.hasOwnProperty.call(hash, arr[i])) {\n hash[arr[i]] = true;\n result.push(arr[i]);\n }\n }\n return result;\n }\n __name(checkUnique, \"checkUnique\");\n}, \"draw\");\nvar ganttRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/gantt/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .mermaid-main-font {\n font-family: ${options.fontFamily};\n }\n\n .exclude-range {\n fill: ${options.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${options.sectionBkgColor};\n }\n\n .section2 {\n fill: ${options.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${options.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${options.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: ${options.fontFamily};\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${options.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${options.fontFamily};\n fill: ${options.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${options.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: ${options.fontFamily};\n }\n\n .taskTextOutsideRight {\n fill: ${options.taskTextDarkColor};\n text-anchor: start;\n font-family: ${options.fontFamily};\n }\n\n .taskTextOutsideLeft {\n fill: ${options.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${options.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${options.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${options.taskBkgColor};\n stroke: ${options.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${options.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${options.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${options.activeTaskBkgColor};\n stroke: ${options.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${options.doneTaskBorderColor};\n fill: ${options.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${options.critBorderColor};\n fill: ${options.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${options.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.titleColor || options.textColor};\n font-family: ${options.fontFamily};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/gantt/ganttDiagram.ts\nvar diagram = {\n parser: gantt_default,\n db: ganttDb_default,\n renderer: ganttRenderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "import {\n package_default\n} from \"./chunk-5NNNAHNI.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n configureSvgSize,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/info/infoParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"info\", input);\n log.debug(ast);\n }, \"parse\")\n};\n\n// src/diagrams/info/infoDb.ts\nvar DEFAULT_INFO_DB = { version: package_default.version };\nvar getVersion = /* @__PURE__ */ __name(() => DEFAULT_INFO_DB.version, \"getVersion\");\nvar db = {\n getVersion\n};\n\n// src/diagrams/info/infoRenderer.ts\nvar draw = /* @__PURE__ */ __name((text, id, version) => {\n log.debug(\"rendering info diagram\\n\" + text);\n const svg = selectSvgElement(id);\n configureSvgSize(svg, 100, 400, true);\n const group = svg.append(\"g\");\n group.append(\"text\").attr(\"x\", 100).attr(\"y\", 40).attr(\"class\", \"version\").attr(\"font-size\", 32).style(\"text-anchor\", \"middle\").text(`v${version}`);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/info/infoDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer\n};\nexport {\n diagram\n};\n", + "import {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const pieData = [...sections2.entries()].map((element) => {\n return {\n label: element[0],\n value: element[1]\n };\n }).sort((a, b) => {\n return b.value - a.value;\n });\n const pie = d3pie().value(\n (d3Section) => d3Section.value\n );\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n const color = scaleOrdinal(myGeneratedColors);\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n group.selectAll(\"mySlices\").data(arcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const legend = group.selectAll(\".legend\").data(color.domain()).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * color.domain().length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", color).style(\"stroke\", color);\n legend.data(arcs).append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((datum) => {\n const { label, value } = datum.data;\n if (db2.getShowData()) {\n return `${label} [${value}]`;\n }\n return label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const totalWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n", + "import {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n getThemeVariables,\n log,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/quadrant-chart/parser/quadrant.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [1, 7], $V5 = [1, 4, 5, 10, 12, 13, 14, 18, 25, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, 66, 67], $V6 = [1, 4, 5, 10, 12, 13, 14, 18, 25, 28, 35, 37, 39, 41, 42, 48, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, 66, 67], $V7 = [55, 56, 57], $V8 = [2, 36], $V9 = [1, 37], $Va = [1, 36], $Vb = [1, 38], $Vc = [1, 35], $Vd = [1, 43], $Ve = [1, 41], $Vf = [1, 14], $Vg = [1, 23], $Vh = [1, 18], $Vi = [1, 19], $Vj = [1, 20], $Vk = [1, 21], $Vl = [1, 22], $Vm = [1, 24], $Vn = [1, 25], $Vo = [1, 26], $Vp = [1, 27], $Vq = [1, 28], $Vr = [1, 29], $Vs = [1, 32], $Vt = [1, 33], $Vu = [1, 34], $Vv = [1, 39], $Vw = [1, 40], $Vx = [1, 42], $Vy = [1, 44], $Vz = [1, 62], $VA = [1, 61], $VB = [4, 5, 8, 10, 12, 13, 14, 18, 44, 47, 49, 55, 56, 57, 63, 64, 65, 66, 67], $VC = [1, 65], $VD = [1, 66], $VE = [1, 67], $VF = [1, 68], $VG = [1, 69], $VH = [1, 70], $VI = [1, 71], $VJ = [1, 72], $VK = [1, 73], $VL = [1, 74], $VM = [1, 75], $VN = [1, 76], $VO = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18], $VP = [1, 90], $VQ = [1, 91], $VR = [1, 92], $VS = [1, 99], $VT = [1, 93], $VU = [1, 96], $VV = [1, 94], $VW = [1, 95], $VX = [1, 97], $VY = [1, 98], $VZ = [1, 102], $V_ = [10, 55, 56, 57], $V$ = [4, 5, 6, 8, 10, 11, 13, 17, 18, 19, 20, 55, 56, 57];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"idStringToken\": 3, \"ALPHA\": 4, \"NUM\": 5, \"NODE_STRING\": 6, \"DOWN\": 7, \"MINUS\": 8, \"DEFAULT\": 9, \"COMMA\": 10, \"COLON\": 11, \"AMP\": 12, \"BRKT\": 13, \"MULT\": 14, \"UNICODE_TEXT\": 15, \"styleComponent\": 16, \"UNIT\": 17, \"SPACE\": 18, \"STYLE\": 19, \"PCT\": 20, \"idString\": 21, \"style\": 22, \"stylesOpt\": 23, \"classDefStatement\": 24, \"CLASSDEF\": 25, \"start\": 26, \"eol\": 27, \"QUADRANT\": 28, \"document\": 29, \"line\": 30, \"statement\": 31, \"axisDetails\": 32, \"quadrantDetails\": 33, \"points\": 34, \"title\": 35, \"title_value\": 36, \"acc_title\": 37, \"acc_title_value\": 38, \"acc_descr\": 39, \"acc_descr_value\": 40, \"acc_descr_multiline_value\": 41, \"section\": 42, \"text\": 43, \"point_start\": 44, \"point_x\": 45, \"point_y\": 46, \"class_name\": 47, \"X-AXIS\": 48, \"AXIS-TEXT-DELIMITER\": 49, \"Y-AXIS\": 50, \"QUADRANT_1\": 51, \"QUADRANT_2\": 52, \"QUADRANT_3\": 53, \"QUADRANT_4\": 54, \"NEWLINE\": 55, \"SEMI\": 56, \"EOF\": 57, \"alphaNumToken\": 58, \"textNoTagsToken\": 59, \"STR\": 60, \"MD_STR\": 61, \"alphaNum\": 62, \"PUNCTUATION\": 63, \"PLUS\": 64, \"EQUALS\": 65, \"DOT\": 66, \"UNDERSCORE\": 67, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"ALPHA\", 5: \"NUM\", 6: \"NODE_STRING\", 7: \"DOWN\", 8: \"MINUS\", 9: \"DEFAULT\", 10: \"COMMA\", 11: \"COLON\", 12: \"AMP\", 13: \"BRKT\", 14: \"MULT\", 15: \"UNICODE_TEXT\", 17: \"UNIT\", 18: \"SPACE\", 19: \"STYLE\", 20: \"PCT\", 25: \"CLASSDEF\", 28: \"QUADRANT\", 35: \"title\", 36: \"title_value\", 37: \"acc_title\", 38: \"acc_title_value\", 39: \"acc_descr\", 40: \"acc_descr_value\", 41: \"acc_descr_multiline_value\", 42: \"section\", 44: \"point_start\", 45: \"point_x\", 46: \"point_y\", 47: \"class_name\", 48: \"X-AXIS\", 49: \"AXIS-TEXT-DELIMITER\", 50: \"Y-AXIS\", 51: \"QUADRANT_1\", 52: \"QUADRANT_2\", 53: \"QUADRANT_3\", 54: \"QUADRANT_4\", 55: \"NEWLINE\", 56: \"SEMI\", 57: \"EOF\", 60: \"STR\", 61: \"MD_STR\", 63: \"PUNCTUATION\", 64: \"PLUS\", 65: \"EQUALS\", 66: \"DOT\", 67: \"UNDERSCORE\" },\n productions_: [0, [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [16, 1], [21, 1], [21, 2], [22, 1], [22, 2], [23, 1], [23, 3], [24, 5], [26, 2], [26, 2], [26, 2], [29, 0], [29, 2], [30, 2], [31, 0], [31, 1], [31, 2], [31, 1], [31, 1], [31, 1], [31, 2], [31, 2], [31, 2], [31, 1], [31, 1], [34, 4], [34, 5], [34, 5], [34, 6], [32, 4], [32, 3], [32, 2], [32, 4], [32, 3], [32, 2], [33, 2], [33, 2], [33, 2], [33, 2], [27, 1], [27, 1], [27, 1], [43, 1], [43, 2], [43, 1], [43, 1], [62, 1], [62, 2], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [58, 1], [59, 1], [59, 1], [59, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 23:\n this.$ = $$[$0];\n break;\n case 24:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n case 26:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 27:\n this.$ = [$$[$0].trim()];\n break;\n case 28:\n $$[$0 - 2].push($$[$0].trim());\n this.$ = $$[$0 - 2];\n break;\n case 29:\n this.$ = $$[$0 - 4];\n yy.addClass($$[$0 - 2], $$[$0]);\n break;\n case 37:\n this.$ = [];\n break;\n case 42:\n this.$ = $$[$0].trim();\n yy.setDiagramTitle(this.$);\n break;\n case 43:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 44:\n case 45:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 46:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 47:\n yy.addPoint($$[$0 - 3], \"\", $$[$0 - 1], $$[$0], []);\n break;\n case 48:\n yy.addPoint($$[$0 - 4], $$[$0 - 3], $$[$0 - 1], $$[$0], []);\n break;\n case 49:\n yy.addPoint($$[$0 - 4], \"\", $$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 50:\n yy.addPoint($$[$0 - 5], $$[$0 - 4], $$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 51:\n yy.setXAxisLeftText($$[$0 - 2]);\n yy.setXAxisRightText($$[$0]);\n break;\n case 52:\n $$[$0 - 1].text += \" \\u27F6 \";\n yy.setXAxisLeftText($$[$0 - 1]);\n break;\n case 53:\n yy.setXAxisLeftText($$[$0]);\n break;\n case 54:\n yy.setYAxisBottomText($$[$0 - 2]);\n yy.setYAxisTopText($$[$0]);\n break;\n case 55:\n $$[$0 - 1].text += \" \\u27F6 \";\n yy.setYAxisBottomText($$[$0 - 1]);\n break;\n case 56:\n yy.setYAxisBottomText($$[$0]);\n break;\n case 57:\n yy.setQuadrant1Text($$[$0]);\n break;\n case 58:\n yy.setQuadrant2Text($$[$0]);\n break;\n case 59:\n yy.setQuadrant3Text($$[$0]);\n break;\n case 60:\n yy.setQuadrant4Text($$[$0]);\n break;\n case 64:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 65:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 66:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 67:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 68:\n this.$ = $$[$0];\n break;\n case 69:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 18: $V0, 26: 1, 27: 2, 28: $V1, 55: $V2, 56: $V3, 57: $V4 }, { 1: [3] }, { 18: $V0, 26: 8, 27: 2, 28: $V1, 55: $V2, 56: $V3, 57: $V4 }, { 18: $V0, 26: 9, 27: 2, 28: $V1, 55: $V2, 56: $V3, 57: $V4 }, o($V5, [2, 33], { 29: 10 }), o($V6, [2, 61]), o($V6, [2, 62]), o($V6, [2, 63]), { 1: [2, 30] }, { 1: [2, 31] }, o($V7, $V8, { 30: 11, 31: 12, 24: 13, 32: 15, 33: 16, 34: 17, 43: 30, 58: 31, 1: [2, 32], 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $Vf, 25: $Vg, 35: $Vh, 37: $Vi, 39: $Vj, 41: $Vk, 42: $Vl, 48: $Vm, 50: $Vn, 51: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V5, [2, 34]), { 27: 45, 55: $V2, 56: $V3, 57: $V4 }, o($V7, [2, 37]), o($V7, $V8, { 24: 13, 32: 15, 33: 16, 34: 17, 43: 30, 58: 31, 31: 46, 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $Vf, 25: $Vg, 35: $Vh, 37: $Vi, 39: $Vj, 41: $Vk, 42: $Vl, 48: $Vm, 50: $Vn, 51: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 39]), o($V7, [2, 40]), o($V7, [2, 41]), { 36: [1, 47] }, { 38: [1, 48] }, { 40: [1, 49] }, o($V7, [2, 45]), o($V7, [2, 46]), { 18: [1, 50] }, { 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 43: 51, 58: 31, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, { 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 43: 52, 58: 31, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, { 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 43: 53, 58: 31, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, { 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 43: 54, 58: 31, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, { 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 43: 55, 58: 31, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, { 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 43: 56, 58: 31, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, { 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 44: [1, 57], 47: [1, 58], 58: 60, 59: 59, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }, o($VB, [2, 64]), o($VB, [2, 66]), o($VB, [2, 67]), o($VB, [2, 70]), o($VB, [2, 71]), o($VB, [2, 72]), o($VB, [2, 73]), o($VB, [2, 74]), o($VB, [2, 75]), o($VB, [2, 76]), o($VB, [2, 77]), o($VB, [2, 78]), o($VB, [2, 79]), o($VB, [2, 80]), o($V5, [2, 35]), o($V7, [2, 38]), o($V7, [2, 42]), o($V7, [2, 43]), o($V7, [2, 44]), { 3: 64, 4: $VC, 5: $VD, 6: $VE, 7: $VF, 8: $VG, 9: $VH, 10: $VI, 11: $VJ, 12: $VK, 13: $VL, 14: $VM, 15: $VN, 21: 63 }, o($V7, [2, 53], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 49: [1, 77], 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 56], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 49: [1, 78], 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 57], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 58], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 59], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 60], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), { 45: [1, 79] }, { 44: [1, 80] }, o($VB, [2, 65]), o($VB, [2, 81]), o($VB, [2, 82]), o($VB, [2, 83]), { 3: 82, 4: $VC, 5: $VD, 6: $VE, 7: $VF, 8: $VG, 9: $VH, 10: $VI, 11: $VJ, 12: $VK, 13: $VL, 14: $VM, 15: $VN, 18: [1, 81] }, o($VO, [2, 23]), o($VO, [2, 1]), o($VO, [2, 2]), o($VO, [2, 3]), o($VO, [2, 4]), o($VO, [2, 5]), o($VO, [2, 6]), o($VO, [2, 7]), o($VO, [2, 8]), o($VO, [2, 9]), o($VO, [2, 10]), o($VO, [2, 11]), o($VO, [2, 12]), o($V7, [2, 52], { 58: 31, 43: 83, 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 55], { 58: 31, 43: 84, 4: $V9, 5: $Va, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 60: $Vs, 61: $Vt, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), { 46: [1, 85] }, { 45: [1, 86] }, { 4: $VP, 5: $VQ, 6: $VR, 8: $VS, 11: $VT, 13: $VU, 16: 89, 17: $VV, 18: $VW, 19: $VX, 20: $VY, 22: 88, 23: 87 }, o($VO, [2, 24]), o($V7, [2, 51], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 54], { 59: 59, 58: 60, 4: $V9, 5: $Va, 8: $Vz, 10: $Vb, 12: $Vc, 13: $Vd, 14: $Ve, 18: $VA, 63: $Vu, 64: $Vv, 65: $Vw, 66: $Vx, 67: $Vy }), o($V7, [2, 47], { 22: 88, 16: 89, 23: 100, 4: $VP, 5: $VQ, 6: $VR, 8: $VS, 11: $VT, 13: $VU, 17: $VV, 18: $VW, 19: $VX, 20: $VY }), { 46: [1, 101] }, o($V7, [2, 29], { 10: $VZ }), o($V_, [2, 27], { 16: 103, 4: $VP, 5: $VQ, 6: $VR, 8: $VS, 11: $VT, 13: $VU, 17: $VV, 18: $VW, 19: $VX, 20: $VY }), o($V$, [2, 25]), o($V$, [2, 13]), o($V$, [2, 14]), o($V$, [2, 15]), o($V$, [2, 16]), o($V$, [2, 17]), o($V$, [2, 18]), o($V$, [2, 19]), o($V$, [2, 20]), o($V$, [2, 21]), o($V$, [2, 22]), o($V7, [2, 49], { 10: $VZ }), o($V7, [2, 48], { 22: 88, 16: 89, 23: 104, 4: $VP, 5: $VQ, 6: $VR, 8: $VS, 11: $VT, 13: $VU, 17: $VV, 18: $VW, 19: $VX, 20: $VY }), { 4: $VP, 5: $VQ, 6: $VR, 8: $VS, 11: $VT, 13: $VU, 16: 89, 17: $VV, 18: $VW, 19: $VX, 20: $VY, 22: 105 }, o($V$, [2, 26]), o($V7, [2, 50], { 10: $VZ }), o($V_, [2, 28], { 16: 103, 4: $VP, 5: $VQ, 6: $VR, 8: $VS, 11: $VT, 13: $VU, 17: $VV, 18: $VW, 19: $VX, 20: $VY })],\n defaultActions: { 8: [2, 30], 9: [2, 31] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 55;\n break;\n case 3:\n break;\n case 4:\n this.begin(\"title\");\n return 35;\n break;\n case 5:\n this.popState();\n return \"title_value\";\n break;\n case 6:\n this.begin(\"acc_title\");\n return 37;\n break;\n case 7:\n this.popState();\n return \"acc_title_value\";\n break;\n case 8:\n this.begin(\"acc_descr\");\n return 39;\n break;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n break;\n case 13:\n return 48;\n break;\n case 14:\n return 50;\n break;\n case 15:\n return 49;\n break;\n case 16:\n return 51;\n break;\n case 17:\n return 52;\n break;\n case 18:\n return 53;\n break;\n case 19:\n return 54;\n break;\n case 20:\n return 25;\n break;\n case 21:\n this.begin(\"md_string\");\n break;\n case 22:\n return \"MD_STR\";\n break;\n case 23:\n this.popState();\n break;\n case 24:\n this.begin(\"string\");\n break;\n case 25:\n this.popState();\n break;\n case 26:\n return \"STR\";\n break;\n case 27:\n this.begin(\"class_name\");\n break;\n case 28:\n this.popState();\n return 47;\n break;\n case 29:\n this.begin(\"point_start\");\n return 44;\n break;\n case 30:\n this.begin(\"point_x\");\n return 45;\n break;\n case 31:\n this.popState();\n break;\n case 32:\n this.popState();\n this.begin(\"point_y\");\n break;\n case 33:\n this.popState();\n return 46;\n break;\n case 34:\n return 28;\n break;\n case 35:\n return 4;\n break;\n case 36:\n return 11;\n break;\n case 37:\n return 64;\n break;\n case 38:\n return 10;\n break;\n case 39:\n return 65;\n break;\n case 40:\n return 65;\n break;\n case 41:\n return 14;\n break;\n case 42:\n return 13;\n break;\n case 43:\n return 67;\n break;\n case 44:\n return 66;\n break;\n case 45:\n return 12;\n break;\n case 46:\n return 8;\n break;\n case 47:\n return 5;\n break;\n case 48:\n return 18;\n break;\n case 49:\n return 56;\n break;\n case 50:\n return 63;\n break;\n case 51:\n return 57;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n\\r]+)/i, /^(?:%%[^\\n]*)/i, /^(?:title\\b)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?: *x-axis *)/i, /^(?: *y-axis *)/i, /^(?: *--+> *)/i, /^(?: *quadrant-1 *)/i, /^(?: *quadrant-2 *)/i, /^(?: *quadrant-3 *)/i, /^(?: *quadrant-4 *)/i, /^(?:classDef\\b)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?::::)/i, /^(?:^\\w+)/i, /^(?:\\s*:\\s*\\[\\s*)/i, /^(?:(1)|(0(.\\d+)?))/i, /^(?:\\s*\\] *)/i, /^(?:\\s*,\\s*)/i, /^(?:(1)|(0(.\\d+)?))/i, /^(?: *quadrantChart *)/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:=)/i, /^(?:\\*)/i, /^(?:#)/i, /^(?:[\\_])/i, /^(?:\\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\\s)/i, /^(?:;)/i, /^(?:[!\"#$%&'*+,-.`?\\\\_/])/i, /^(?:$)/i],\n conditions: { \"class_name\": { \"rules\": [28], \"inclusive\": false }, \"point_y\": { \"rules\": [33], \"inclusive\": false }, \"point_x\": { \"rules\": [32], \"inclusive\": false }, \"point_start\": { \"rules\": [30, 31], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [11, 12], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9], \"inclusive\": false }, \"acc_title\": { \"rules\": [7], \"inclusive\": false }, \"title\": { \"rules\": [5], \"inclusive\": false }, \"md_string\": { \"rules\": [22, 23], \"inclusive\": false }, \"string\": { \"rules\": [25, 26], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar quadrant_default = parser;\n\n// src/diagrams/quadrant-chart/quadrantBuilder.ts\nimport { scaleLinear } from \"d3\";\nvar defaultThemeVariables = getThemeVariables();\nvar QuadrantBuilder = class {\n constructor() {\n this.classes = /* @__PURE__ */ new Map();\n this.config = this.getDefaultConfig();\n this.themeConfig = this.getDefaultThemeConfig();\n this.data = this.getDefaultData();\n }\n static {\n __name(this, \"QuadrantBuilder\");\n }\n getDefaultData() {\n return {\n titleText: \"\",\n quadrant1Text: \"\",\n quadrant2Text: \"\",\n quadrant3Text: \"\",\n quadrant4Text: \"\",\n xAxisLeftText: \"\",\n xAxisRightText: \"\",\n yAxisBottomText: \"\",\n yAxisTopText: \"\",\n points: []\n };\n }\n getDefaultConfig() {\n return {\n showXAxis: true,\n showYAxis: true,\n showTitle: true,\n chartHeight: defaultConfig_default.quadrantChart?.chartWidth || 500,\n chartWidth: defaultConfig_default.quadrantChart?.chartHeight || 500,\n titlePadding: defaultConfig_default.quadrantChart?.titlePadding || 10,\n titleFontSize: defaultConfig_default.quadrantChart?.titleFontSize || 20,\n quadrantPadding: defaultConfig_default.quadrantChart?.quadrantPadding || 5,\n xAxisLabelPadding: defaultConfig_default.quadrantChart?.xAxisLabelPadding || 5,\n yAxisLabelPadding: defaultConfig_default.quadrantChart?.yAxisLabelPadding || 5,\n xAxisLabelFontSize: defaultConfig_default.quadrantChart?.xAxisLabelFontSize || 16,\n yAxisLabelFontSize: defaultConfig_default.quadrantChart?.yAxisLabelFontSize || 16,\n quadrantLabelFontSize: defaultConfig_default.quadrantChart?.quadrantLabelFontSize || 16,\n quadrantTextTopPadding: defaultConfig_default.quadrantChart?.quadrantTextTopPadding || 5,\n pointTextPadding: defaultConfig_default.quadrantChart?.pointTextPadding || 5,\n pointLabelFontSize: defaultConfig_default.quadrantChart?.pointLabelFontSize || 12,\n pointRadius: defaultConfig_default.quadrantChart?.pointRadius || 5,\n xAxisPosition: defaultConfig_default.quadrantChart?.xAxisPosition || \"top\",\n yAxisPosition: defaultConfig_default.quadrantChart?.yAxisPosition || \"left\",\n quadrantInternalBorderStrokeWidth: defaultConfig_default.quadrantChart?.quadrantInternalBorderStrokeWidth || 1,\n quadrantExternalBorderStrokeWidth: defaultConfig_default.quadrantChart?.quadrantExternalBorderStrokeWidth || 2\n };\n }\n getDefaultThemeConfig() {\n return {\n quadrant1Fill: defaultThemeVariables.quadrant1Fill,\n quadrant2Fill: defaultThemeVariables.quadrant2Fill,\n quadrant3Fill: defaultThemeVariables.quadrant3Fill,\n quadrant4Fill: defaultThemeVariables.quadrant4Fill,\n quadrant1TextFill: defaultThemeVariables.quadrant1TextFill,\n quadrant2TextFill: defaultThemeVariables.quadrant2TextFill,\n quadrant3TextFill: defaultThemeVariables.quadrant3TextFill,\n quadrant4TextFill: defaultThemeVariables.quadrant4TextFill,\n quadrantPointFill: defaultThemeVariables.quadrantPointFill,\n quadrantPointTextFill: defaultThemeVariables.quadrantPointTextFill,\n quadrantXAxisTextFill: defaultThemeVariables.quadrantXAxisTextFill,\n quadrantYAxisTextFill: defaultThemeVariables.quadrantYAxisTextFill,\n quadrantTitleFill: defaultThemeVariables.quadrantTitleFill,\n quadrantInternalBorderStrokeFill: defaultThemeVariables.quadrantInternalBorderStrokeFill,\n quadrantExternalBorderStrokeFill: defaultThemeVariables.quadrantExternalBorderStrokeFill\n };\n }\n clear() {\n this.config = this.getDefaultConfig();\n this.themeConfig = this.getDefaultThemeConfig();\n this.data = this.getDefaultData();\n this.classes = /* @__PURE__ */ new Map();\n log.info(\"clear called\");\n }\n setData(data) {\n this.data = { ...this.data, ...data };\n }\n addPoints(points) {\n this.data.points = [...points, ...this.data.points];\n }\n addClass(className, styles) {\n this.classes.set(className, styles);\n }\n setConfig(config2) {\n log.trace(\"setConfig called with: \", config2);\n this.config = { ...this.config, ...config2 };\n }\n setThemeConfig(themeConfig) {\n log.trace(\"setThemeConfig called with: \", themeConfig);\n this.themeConfig = { ...this.themeConfig, ...themeConfig };\n }\n calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle) {\n const xAxisSpaceCalculation = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize;\n const xAxisSpace = {\n top: xAxisPosition === \"top\" && showXAxis ? xAxisSpaceCalculation : 0,\n bottom: xAxisPosition === \"bottom\" && showXAxis ? xAxisSpaceCalculation : 0\n };\n const yAxisSpaceCalculation = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize;\n const yAxisSpace = {\n left: this.config.yAxisPosition === \"left\" && showYAxis ? yAxisSpaceCalculation : 0,\n right: this.config.yAxisPosition === \"right\" && showYAxis ? yAxisSpaceCalculation : 0\n };\n const titleSpaceCalculation = this.config.titleFontSize + this.config.titlePadding * 2;\n const titleSpace = {\n top: showTitle ? titleSpaceCalculation : 0\n };\n const quadrantLeft = this.config.quadrantPadding + yAxisSpace.left;\n const quadrantTop = this.config.quadrantPadding + xAxisSpace.top + titleSpace.top;\n const quadrantWidth = this.config.chartWidth - this.config.quadrantPadding * 2 - yAxisSpace.left - yAxisSpace.right;\n const quadrantHeight = this.config.chartHeight - this.config.quadrantPadding * 2 - xAxisSpace.top - xAxisSpace.bottom - titleSpace.top;\n const quadrantHalfWidth = quadrantWidth / 2;\n const quadrantHalfHeight = quadrantHeight / 2;\n const quadrantSpace = {\n quadrantLeft,\n quadrantTop,\n quadrantWidth,\n quadrantHalfWidth,\n quadrantHeight,\n quadrantHalfHeight\n };\n return {\n xAxisSpace,\n yAxisSpace,\n titleSpace,\n quadrantSpace\n };\n }\n getAxisLabels(xAxisPosition, showXAxis, showYAxis, spaceData) {\n const { quadrantSpace, titleSpace } = spaceData;\n const {\n quadrantHalfHeight,\n quadrantHeight,\n quadrantLeft,\n quadrantHalfWidth,\n quadrantTop,\n quadrantWidth\n } = quadrantSpace;\n const drawXAxisLabelsInMiddle = Boolean(this.data.xAxisRightText);\n const drawYAxisLabelsInMiddle = Boolean(this.data.yAxisTopText);\n const axisLabels = [];\n if (this.data.xAxisLeftText && showXAxis) {\n axisLabels.push({\n text: this.data.xAxisLeftText,\n fill: this.themeConfig.quadrantXAxisTextFill,\n x: quadrantLeft + (drawXAxisLabelsInMiddle ? quadrantHalfWidth / 2 : 0),\n y: xAxisPosition === \"top\" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,\n fontSize: this.config.xAxisLabelFontSize,\n verticalPos: drawXAxisLabelsInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: 0\n });\n }\n if (this.data.xAxisRightText && showXAxis) {\n axisLabels.push({\n text: this.data.xAxisRightText,\n fill: this.themeConfig.quadrantXAxisTextFill,\n x: quadrantLeft + quadrantHalfWidth + (drawXAxisLabelsInMiddle ? quadrantHalfWidth / 2 : 0),\n y: xAxisPosition === \"top\" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,\n fontSize: this.config.xAxisLabelFontSize,\n verticalPos: drawXAxisLabelsInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: 0\n });\n }\n if (this.data.yAxisBottomText && showYAxis) {\n axisLabels.push({\n text: this.data.yAxisBottomText,\n fill: this.themeConfig.quadrantYAxisTextFill,\n x: this.config.yAxisPosition === \"left\" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,\n y: quadrantTop + quadrantHeight - (drawYAxisLabelsInMiddle ? quadrantHalfHeight / 2 : 0),\n fontSize: this.config.yAxisLabelFontSize,\n verticalPos: drawYAxisLabelsInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: -90\n });\n }\n if (this.data.yAxisTopText && showYAxis) {\n axisLabels.push({\n text: this.data.yAxisTopText,\n fill: this.themeConfig.quadrantYAxisTextFill,\n x: this.config.yAxisPosition === \"left\" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,\n y: quadrantTop + quadrantHalfHeight - (drawYAxisLabelsInMiddle ? quadrantHalfHeight / 2 : 0),\n fontSize: this.config.yAxisLabelFontSize,\n verticalPos: drawYAxisLabelsInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: -90\n });\n }\n return axisLabels;\n }\n getQuadrants(spaceData) {\n const { quadrantSpace } = spaceData;\n const { quadrantHalfHeight, quadrantLeft, quadrantHalfWidth, quadrantTop } = quadrantSpace;\n const quadrants = [\n {\n text: {\n text: this.data.quadrant1Text,\n fill: this.themeConfig.quadrant1TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft + quadrantHalfWidth,\n y: quadrantTop,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant1Fill\n },\n {\n text: {\n text: this.data.quadrant2Text,\n fill: this.themeConfig.quadrant2TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft,\n y: quadrantTop,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant2Fill\n },\n {\n text: {\n text: this.data.quadrant3Text,\n fill: this.themeConfig.quadrant3TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft,\n y: quadrantTop + quadrantHalfHeight,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant3Fill\n },\n {\n text: {\n text: this.data.quadrant4Text,\n fill: this.themeConfig.quadrant4TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft + quadrantHalfWidth,\n y: quadrantTop + quadrantHalfHeight,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant4Fill\n }\n ];\n for (const quadrant of quadrants) {\n quadrant.text.x = quadrant.x + quadrant.width / 2;\n if (this.data.points.length === 0) {\n quadrant.text.y = quadrant.y + quadrant.height / 2;\n quadrant.text.horizontalPos = \"middle\";\n } else {\n quadrant.text.y = quadrant.y + this.config.quadrantTextTopPadding;\n quadrant.text.horizontalPos = \"top\";\n }\n }\n return quadrants;\n }\n getQuadrantPoints(spaceData) {\n const { quadrantSpace } = spaceData;\n const { quadrantHeight, quadrantLeft, quadrantTop, quadrantWidth } = quadrantSpace;\n const xAxis = scaleLinear().domain([0, 1]).range([quadrantLeft, quadrantWidth + quadrantLeft]);\n const yAxis = scaleLinear().domain([0, 1]).range([quadrantHeight + quadrantTop, quadrantTop]);\n const points = this.data.points.map((point) => {\n const classStyles = this.classes.get(point.className);\n if (classStyles) {\n point = { ...classStyles, ...point };\n }\n const props = {\n x: xAxis(point.x),\n y: yAxis(point.y),\n fill: point.color ?? this.themeConfig.quadrantPointFill,\n radius: point.radius ?? this.config.pointRadius,\n text: {\n text: point.text,\n fill: this.themeConfig.quadrantPointTextFill,\n x: xAxis(point.x),\n y: yAxis(point.y) + this.config.pointTextPadding,\n verticalPos: \"center\",\n horizontalPos: \"top\",\n fontSize: this.config.pointLabelFontSize,\n rotation: 0\n },\n strokeColor: point.strokeColor ?? this.themeConfig.quadrantPointFill,\n strokeWidth: point.strokeWidth ?? \"0px\"\n };\n return props;\n });\n return points;\n }\n getBorders(spaceData) {\n const halfExternalBorderWidth = this.config.quadrantExternalBorderStrokeWidth / 2;\n const { quadrantSpace } = spaceData;\n const {\n quadrantHalfHeight,\n quadrantHeight,\n quadrantLeft,\n quadrantHalfWidth,\n quadrantTop,\n quadrantWidth\n } = quadrantSpace;\n const borderLines = [\n // top border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft - halfExternalBorderWidth,\n y1: quadrantTop,\n x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,\n y2: quadrantTop\n },\n // right border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft + quadrantWidth,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft + quadrantWidth,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // bottom border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft - halfExternalBorderWidth,\n y1: quadrantTop + quadrantHeight,\n x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,\n y2: quadrantTop + quadrantHeight\n },\n // left border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // vertical inner border\n {\n strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,\n strokeWidth: this.config.quadrantInternalBorderStrokeWidth,\n x1: quadrantLeft + quadrantHalfWidth,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft + quadrantHalfWidth,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // horizontal inner border\n {\n strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,\n strokeWidth: this.config.quadrantInternalBorderStrokeWidth,\n x1: quadrantLeft + halfExternalBorderWidth,\n y1: quadrantTop + quadrantHalfHeight,\n x2: quadrantLeft + quadrantWidth - halfExternalBorderWidth,\n y2: quadrantTop + quadrantHalfHeight\n }\n ];\n return borderLines;\n }\n getTitle(showTitle) {\n if (showTitle) {\n return {\n text: this.data.titleText,\n fill: this.themeConfig.quadrantTitleFill,\n fontSize: this.config.titleFontSize,\n horizontalPos: \"top\",\n verticalPos: \"center\",\n rotation: 0,\n y: this.config.titlePadding,\n x: this.config.chartWidth / 2\n };\n }\n return;\n }\n build() {\n const showXAxis = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText);\n const showYAxis = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText);\n const showTitle = this.config.showTitle && !!this.data.titleText;\n const xAxisPosition = this.data.points.length > 0 ? \"bottom\" : this.config.xAxisPosition;\n const calculatedSpace = this.calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle);\n return {\n points: this.getQuadrantPoints(calculatedSpace),\n quadrants: this.getQuadrants(calculatedSpace),\n axisLabels: this.getAxisLabels(xAxisPosition, showXAxis, showYAxis, calculatedSpace),\n borderLines: this.getBorders(calculatedSpace),\n title: this.getTitle(showTitle)\n };\n }\n};\n\n// src/diagrams/quadrant-chart/utils.ts\nvar InvalidStyleError = class extends Error {\n static {\n __name(this, \"InvalidStyleError\");\n }\n constructor(style, value, type) {\n super(`value for ${style} ${value} is invalid, please use a valid ${type}`);\n this.name = \"InvalidStyleError\";\n }\n};\nfunction validateHexCode(value) {\n return !/^#?([\\dA-Fa-f]{6}|[\\dA-Fa-f]{3})$/.test(value);\n}\n__name(validateHexCode, \"validateHexCode\");\nfunction validateNumber(value) {\n return !/^\\d+$/.test(value);\n}\n__name(validateNumber, \"validateNumber\");\nfunction validateSizeInPixels(value) {\n return !/^\\d+px$/.test(value);\n}\n__name(validateSizeInPixels, \"validateSizeInPixels\");\n\n// src/diagrams/quadrant-chart/quadrantDb.ts\nvar config = getConfig();\nfunction textSanitizer(text) {\n return sanitizeText(text.trim(), config);\n}\n__name(textSanitizer, \"textSanitizer\");\nvar quadrantBuilder = new QuadrantBuilder();\nfunction setQuadrant1Text(textObj) {\n quadrantBuilder.setData({ quadrant1Text: textSanitizer(textObj.text) });\n}\n__name(setQuadrant1Text, \"setQuadrant1Text\");\nfunction setQuadrant2Text(textObj) {\n quadrantBuilder.setData({ quadrant2Text: textSanitizer(textObj.text) });\n}\n__name(setQuadrant2Text, \"setQuadrant2Text\");\nfunction setQuadrant3Text(textObj) {\n quadrantBuilder.setData({ quadrant3Text: textSanitizer(textObj.text) });\n}\n__name(setQuadrant3Text, \"setQuadrant3Text\");\nfunction setQuadrant4Text(textObj) {\n quadrantBuilder.setData({ quadrant4Text: textSanitizer(textObj.text) });\n}\n__name(setQuadrant4Text, \"setQuadrant4Text\");\nfunction setXAxisLeftText(textObj) {\n quadrantBuilder.setData({ xAxisLeftText: textSanitizer(textObj.text) });\n}\n__name(setXAxisLeftText, \"setXAxisLeftText\");\nfunction setXAxisRightText(textObj) {\n quadrantBuilder.setData({ xAxisRightText: textSanitizer(textObj.text) });\n}\n__name(setXAxisRightText, \"setXAxisRightText\");\nfunction setYAxisTopText(textObj) {\n quadrantBuilder.setData({ yAxisTopText: textSanitizer(textObj.text) });\n}\n__name(setYAxisTopText, \"setYAxisTopText\");\nfunction setYAxisBottomText(textObj) {\n quadrantBuilder.setData({ yAxisBottomText: textSanitizer(textObj.text) });\n}\n__name(setYAxisBottomText, \"setYAxisBottomText\");\nfunction parseStyles(styles) {\n const stylesObject = {};\n for (const style of styles) {\n const [key, value] = style.trim().split(/\\s*:\\s*/);\n if (key === \"radius\") {\n if (validateNumber(value)) {\n throw new InvalidStyleError(key, value, \"number\");\n }\n stylesObject.radius = parseInt(value);\n } else if (key === \"color\") {\n if (validateHexCode(value)) {\n throw new InvalidStyleError(key, value, \"hex code\");\n }\n stylesObject.color = value;\n } else if (key === \"stroke-color\") {\n if (validateHexCode(value)) {\n throw new InvalidStyleError(key, value, \"hex code\");\n }\n stylesObject.strokeColor = value;\n } else if (key === \"stroke-width\") {\n if (validateSizeInPixels(value)) {\n throw new InvalidStyleError(key, value, \"number of pixels (eg. 10px)\");\n }\n stylesObject.strokeWidth = value;\n } else {\n throw new Error(`style named ${key} is not supported.`);\n }\n }\n return stylesObject;\n}\n__name(parseStyles, \"parseStyles\");\nfunction addPoint(textObj, className, x, y, styles) {\n const stylesObject = parseStyles(styles);\n quadrantBuilder.addPoints([\n {\n x,\n y,\n text: textSanitizer(textObj.text),\n className,\n ...stylesObject\n }\n ]);\n}\n__name(addPoint, \"addPoint\");\nfunction addClass(className, styles) {\n quadrantBuilder.addClass(className, parseStyles(styles));\n}\n__name(addClass, \"addClass\");\nfunction setWidth(width) {\n quadrantBuilder.setConfig({ chartWidth: width });\n}\n__name(setWidth, \"setWidth\");\nfunction setHeight(height) {\n quadrantBuilder.setConfig({ chartHeight: height });\n}\n__name(setHeight, \"setHeight\");\nfunction getQuadrantData() {\n const config2 = getConfig();\n const { themeVariables, quadrantChart: quadrantChartConfig } = config2;\n if (quadrantChartConfig) {\n quadrantBuilder.setConfig(quadrantChartConfig);\n }\n quadrantBuilder.setThemeConfig({\n quadrant1Fill: themeVariables.quadrant1Fill,\n quadrant2Fill: themeVariables.quadrant2Fill,\n quadrant3Fill: themeVariables.quadrant3Fill,\n quadrant4Fill: themeVariables.quadrant4Fill,\n quadrant1TextFill: themeVariables.quadrant1TextFill,\n quadrant2TextFill: themeVariables.quadrant2TextFill,\n quadrant3TextFill: themeVariables.quadrant3TextFill,\n quadrant4TextFill: themeVariables.quadrant4TextFill,\n quadrantPointFill: themeVariables.quadrantPointFill,\n quadrantPointTextFill: themeVariables.quadrantPointTextFill,\n quadrantXAxisTextFill: themeVariables.quadrantXAxisTextFill,\n quadrantYAxisTextFill: themeVariables.quadrantYAxisTextFill,\n quadrantExternalBorderStrokeFill: themeVariables.quadrantExternalBorderStrokeFill,\n quadrantInternalBorderStrokeFill: themeVariables.quadrantInternalBorderStrokeFill,\n quadrantTitleFill: themeVariables.quadrantTitleFill\n });\n quadrantBuilder.setData({ titleText: getDiagramTitle() });\n return quadrantBuilder.build();\n}\n__name(getQuadrantData, \"getQuadrantData\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n quadrantBuilder.clear();\n clear();\n}, \"clear\");\nvar quadrantDb_default = {\n setWidth,\n setHeight,\n setQuadrant1Text,\n setQuadrant2Text,\n setQuadrant3Text,\n setQuadrant4Text,\n setXAxisLeftText,\n setXAxisRightText,\n setYAxisTopText,\n setYAxisBottomText,\n parseStyles,\n addPoint,\n addClass,\n getQuadrantData,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/quadrant-chart/quadrantRenderer.ts\nimport { select } from \"d3\";\nvar draw = /* @__PURE__ */ __name((txt, id, _version, diagObj) => {\n function getDominantBaseLine(horizontalPos) {\n return horizontalPos === \"top\" ? \"hanging\" : \"middle\";\n }\n __name(getDominantBaseLine, \"getDominantBaseLine\");\n function getTextAnchor(verticalPos) {\n return verticalPos === \"left\" ? \"start\" : \"middle\";\n }\n __name(getTextAnchor, \"getTextAnchor\");\n function getTransformation(data) {\n return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;\n }\n __name(getTransformation, \"getTransformation\");\n const conf = getConfig();\n log.debug(\"Rendering quadrant chart\\n\" + txt);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id=\"${id}\"]`);\n const group = svg.append(\"g\").attr(\"class\", \"main\");\n const width = conf.quadrantChart?.chartWidth ?? 500;\n const height = conf.quadrantChart?.chartHeight ?? 500;\n configureSvgSize(svg, height, width, conf.quadrantChart?.useMaxWidth ?? true);\n svg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height);\n diagObj.db.setHeight(height);\n diagObj.db.setWidth(width);\n const quadrantData = diagObj.db.getQuadrantData();\n const quadrantsGroup = group.append(\"g\").attr(\"class\", \"quadrants\");\n const borderGroup = group.append(\"g\").attr(\"class\", \"border\");\n const dataPointGroup = group.append(\"g\").attr(\"class\", \"data-points\");\n const labelGroup = group.append(\"g\").attr(\"class\", \"labels\");\n const titleGroup = group.append(\"g\").attr(\"class\", \"title\");\n if (quadrantData.title) {\n titleGroup.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", quadrantData.title.fill).attr(\"font-size\", quadrantData.title.fontSize).attr(\"dominant-baseline\", getDominantBaseLine(quadrantData.title.horizontalPos)).attr(\"text-anchor\", getTextAnchor(quadrantData.title.verticalPos)).attr(\"transform\", getTransformation(quadrantData.title)).text(quadrantData.title.text);\n }\n if (quadrantData.borderLines) {\n borderGroup.selectAll(\"line\").data(quadrantData.borderLines).enter().append(\"line\").attr(\"x1\", (data) => data.x1).attr(\"y1\", (data) => data.y1).attr(\"x2\", (data) => data.x2).attr(\"y2\", (data) => data.y2).style(\"stroke\", (data) => data.strokeFill).style(\"stroke-width\", (data) => data.strokeWidth);\n }\n const quadrants = quadrantsGroup.selectAll(\"g.quadrant\").data(quadrantData.quadrants).enter().append(\"g\").attr(\"class\", \"quadrant\");\n quadrants.append(\"rect\").attr(\"x\", (data) => data.x).attr(\"y\", (data) => data.y).attr(\"width\", (data) => data.width).attr(\"height\", (data) => data.height).attr(\"fill\", (data) => data.fill);\n quadrants.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", (data) => data.text.fill).attr(\"font-size\", (data) => data.text.fontSize).attr(\n \"dominant-baseline\",\n (data) => getDominantBaseLine(data.text.horizontalPos)\n ).attr(\"text-anchor\", (data) => getTextAnchor(data.text.verticalPos)).attr(\"transform\", (data) => getTransformation(data.text)).text((data) => data.text.text);\n const labels = labelGroup.selectAll(\"g.label\").data(quadrantData.axisLabels).enter().append(\"g\").attr(\"class\", \"label\");\n labels.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).text((data) => data.text).attr(\"fill\", (data) => data.fill).attr(\"font-size\", (data) => data.fontSize).attr(\"dominant-baseline\", (data) => getDominantBaseLine(data.horizontalPos)).attr(\"text-anchor\", (data) => getTextAnchor(data.verticalPos)).attr(\"transform\", (data) => getTransformation(data));\n const dataPoints = dataPointGroup.selectAll(\"g.data-point\").data(quadrantData.points).enter().append(\"g\").attr(\"class\", \"data-point\");\n dataPoints.append(\"circle\").attr(\"cx\", (data) => data.x).attr(\"cy\", (data) => data.y).attr(\"r\", (data) => data.radius).attr(\"fill\", (data) => data.fill).attr(\"stroke\", (data) => data.strokeColor).attr(\"stroke-width\", (data) => data.strokeWidth);\n dataPoints.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).text((data) => data.text.text).attr(\"fill\", (data) => data.text.fill).attr(\"font-size\", (data) => data.text.fontSize).attr(\n \"dominant-baseline\",\n (data) => getDominantBaseLine(data.text.horizontalPos)\n ).attr(\"text-anchor\", (data) => getTextAnchor(data.text.verticalPos)).attr(\"transform\", (data) => getTransformation(data.text));\n}, \"draw\");\nvar quadrantRenderer_default = {\n draw\n};\n\n// src/diagrams/quadrant-chart/quadrantDiagram.ts\nvar diagram = {\n parser: quadrant_default,\n db: quadrantDb_default,\n renderer: quadrantRenderer_default,\n styles: /* @__PURE__ */ __name(() => \"\", \"styles\")\n};\nexport {\n diagram\n};\n", + "import {\n computeDimensionOfText\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n log,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/xychart/parser/xychart.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 10, 12, 14, 16, 18, 19, 21, 23], $V1 = [2, 6], $V2 = [1, 3], $V3 = [1, 5], $V4 = [1, 6], $V5 = [1, 7], $V6 = [1, 5, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], $V7 = [1, 25], $V8 = [1, 26], $V9 = [1, 28], $Va = [1, 29], $Vb = [1, 30], $Vc = [1, 31], $Vd = [1, 32], $Ve = [1, 33], $Vf = [1, 34], $Vg = [1, 35], $Vh = [1, 36], $Vi = [1, 37], $Vj = [1, 43], $Vk = [1, 42], $Vl = [1, 47], $Vm = [1, 50], $Vn = [1, 10, 12, 14, 16, 18, 19, 21, 23, 34, 35, 36], $Vo = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36], $Vp = [1, 10, 12, 14, 16, 18, 19, 21, 23, 24, 26, 27, 28, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], $Vq = [1, 64];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"eol\": 4, \"XYCHART\": 5, \"chartConfig\": 6, \"document\": 7, \"CHART_ORIENTATION\": 8, \"statement\": 9, \"title\": 10, \"text\": 11, \"X_AXIS\": 12, \"parseXAxis\": 13, \"Y_AXIS\": 14, \"parseYAxis\": 15, \"LINE\": 16, \"plotData\": 17, \"BAR\": 18, \"acc_title\": 19, \"acc_title_value\": 20, \"acc_descr\": 21, \"acc_descr_value\": 22, \"acc_descr_multiline_value\": 23, \"SQUARE_BRACES_START\": 24, \"commaSeparatedNumbers\": 25, \"SQUARE_BRACES_END\": 26, \"NUMBER_WITH_DECIMAL\": 27, \"COMMA\": 28, \"xAxisData\": 29, \"bandData\": 30, \"ARROW_DELIMITER\": 31, \"commaSeparatedTexts\": 32, \"yAxisData\": 33, \"NEWLINE\": 34, \"SEMI\": 35, \"EOF\": 36, \"alphaNum\": 37, \"STR\": 38, \"MD_STR\": 39, \"alphaNumToken\": 40, \"AMP\": 41, \"NUM\": 42, \"ALPHA\": 43, \"PLUS\": 44, \"EQUALS\": 45, \"MULT\": 46, \"DOT\": 47, \"BRKT\": 48, \"MINUS\": 49, \"UNDERSCORE\": 50, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"XYCHART\", 8: \"CHART_ORIENTATION\", 10: \"title\", 12: \"X_AXIS\", 14: \"Y_AXIS\", 16: \"LINE\", 18: \"BAR\", 19: \"acc_title\", 20: \"acc_title_value\", 21: \"acc_descr\", 22: \"acc_descr_value\", 23: \"acc_descr_multiline_value\", 24: \"SQUARE_BRACES_START\", 26: \"SQUARE_BRACES_END\", 27: \"NUMBER_WITH_DECIMAL\", 28: \"COMMA\", 31: \"ARROW_DELIMITER\", 34: \"NEWLINE\", 35: \"SEMI\", 36: \"EOF\", 38: \"STR\", 39: \"MD_STR\", 41: \"AMP\", 42: \"NUM\", 43: \"ALPHA\", 44: \"PLUS\", 45: \"EQUALS\", 46: \"MULT\", 47: \"DOT\", 48: \"BRKT\", 49: \"MINUS\", 50: \"UNDERSCORE\" },\n productions_: [0, [3, 2], [3, 3], [3, 2], [3, 1], [6, 1], [7, 0], [7, 2], [9, 2], [9, 2], [9, 2], [9, 2], [9, 2], [9, 3], [9, 2], [9, 3], [9, 2], [9, 2], [9, 1], [17, 3], [25, 3], [25, 1], [13, 1], [13, 2], [13, 1], [29, 1], [29, 3], [30, 3], [32, 3], [32, 1], [15, 1], [15, 2], [15, 1], [33, 3], [4, 1], [4, 1], [4, 1], [11, 1], [11, 1], [11, 1], [37, 1], [37, 2], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1], [40, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 5:\n yy.setOrientation($$[$0]);\n break;\n case 9:\n yy.setDiagramTitle($$[$0].text.trim());\n break;\n case 12:\n yy.setLineData({ text: \"\", type: \"text\" }, $$[$0]);\n break;\n case 13:\n yy.setLineData($$[$0 - 1], $$[$0]);\n break;\n case 14:\n yy.setBarData({ text: \"\", type: \"text\" }, $$[$0]);\n break;\n case 15:\n yy.setBarData($$[$0 - 1], $$[$0]);\n break;\n case 16:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 17:\n case 18:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 19:\n this.$ = $$[$0 - 1];\n break;\n case 20:\n this.$ = [Number($$[$0 - 2]), ...$$[$0]];\n break;\n case 21:\n this.$ = [Number($$[$0])];\n break;\n case 22:\n yy.setXAxisTitle($$[$0]);\n break;\n case 23:\n yy.setXAxisTitle($$[$0 - 1]);\n break;\n case 24:\n yy.setXAxisTitle({ type: \"text\", text: \"\" });\n break;\n case 25:\n yy.setXAxisBand($$[$0]);\n break;\n case 26:\n yy.setXAxisRangeData(Number($$[$0 - 2]), Number($$[$0]));\n break;\n case 27:\n this.$ = $$[$0 - 1];\n break;\n case 28:\n this.$ = [$$[$0 - 2], ...$$[$0]];\n break;\n case 29:\n this.$ = [$$[$0]];\n break;\n case 30:\n yy.setYAxisTitle($$[$0]);\n break;\n case 31:\n yy.setYAxisTitle($$[$0 - 1]);\n break;\n case 32:\n yy.setYAxisTitle({ type: \"text\", text: \"\" });\n break;\n case 33:\n yy.setYAxisRangeData(Number($$[$0 - 2]), Number($$[$0]));\n break;\n case 37:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 38:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 39:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 40:\n this.$ = $$[$0];\n break;\n case 41:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [o($V0, $V1, { 3: 1, 4: 2, 7: 4, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), { 1: [3] }, o($V0, $V1, { 4: 2, 7: 4, 3: 8, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), o($V0, $V1, { 4: 2, 7: 4, 6: 9, 3: 10, 5: $V2, 8: [1, 11], 34: $V3, 35: $V4, 36: $V5 }), { 1: [2, 4], 9: 12, 10: [1, 13], 12: [1, 14], 14: [1, 15], 16: [1, 16], 18: [1, 17], 19: [1, 18], 21: [1, 19], 23: [1, 20] }, o($V6, [2, 34]), o($V6, [2, 35]), o($V6, [2, 36]), { 1: [2, 1] }, o($V0, $V1, { 4: 2, 7: 4, 3: 21, 5: $V2, 34: $V3, 35: $V4, 36: $V5 }), { 1: [2, 3] }, o($V6, [2, 5]), o($V0, [2, 7], { 4: 22, 34: $V3, 35: $V4, 36: $V5 }), { 11: 23, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 39, 13: 38, 24: $Vj, 27: $Vk, 29: 40, 30: 41, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 45, 15: 44, 27: $Vl, 33: 46, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 49, 17: 48, 24: $Vm, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 11: 52, 17: 51, 24: $Vm, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, { 20: [1, 53] }, { 22: [1, 54] }, o($Vn, [2, 18]), { 1: [2, 2] }, o($Vn, [2, 8]), o($Vn, [2, 9]), o($Vo, [2, 37], { 40: 55, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }), o($Vo, [2, 38]), o($Vo, [2, 39]), o($Vp, [2, 40]), o($Vp, [2, 42]), o($Vp, [2, 43]), o($Vp, [2, 44]), o($Vp, [2, 45]), o($Vp, [2, 46]), o($Vp, [2, 47]), o($Vp, [2, 48]), o($Vp, [2, 49]), o($Vp, [2, 50]), o($Vp, [2, 51]), o($Vn, [2, 10]), o($Vn, [2, 22], { 30: 41, 29: 56, 24: $Vj, 27: $Vk }), o($Vn, [2, 24]), o($Vn, [2, 25]), { 31: [1, 57] }, { 11: 59, 32: 58, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, o($Vn, [2, 11]), o($Vn, [2, 30], { 33: 60, 27: $Vl }), o($Vn, [2, 32]), { 31: [1, 61] }, o($Vn, [2, 12]), { 17: 62, 24: $Vm }, { 25: 63, 27: $Vq }, o($Vn, [2, 14]), { 17: 65, 24: $Vm }, o($Vn, [2, 16]), o($Vn, [2, 17]), o($Vp, [2, 41]), o($Vn, [2, 23]), { 27: [1, 66] }, { 26: [1, 67] }, { 26: [2, 29], 28: [1, 68] }, o($Vn, [2, 31]), { 27: [1, 69] }, o($Vn, [2, 13]), { 26: [1, 70] }, { 26: [2, 21], 28: [1, 71] }, o($Vn, [2, 15]), o($Vn, [2, 26]), o($Vn, [2, 27]), { 11: 59, 32: 72, 37: 24, 38: $V7, 39: $V8, 40: 27, 41: $V9, 42: $Va, 43: $Vb, 44: $Vc, 45: $Vd, 46: $Ve, 47: $Vf, 48: $Vg, 49: $Vh, 50: $Vi }, o($Vn, [2, 33]), o($Vn, [2, 19]), { 25: 73, 27: $Vq }, { 26: [2, 28] }, { 26: [2, 20] }],\n defaultActions: { 8: [2, 1], 10: [2, 3], 21: [2, 2], 72: [2, 28], 73: [2, 20] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n this.popState();\n return 34;\n break;\n case 3:\n this.popState();\n return 34;\n break;\n case 4:\n return 34;\n break;\n case 5:\n break;\n case 6:\n return 10;\n break;\n case 7:\n this.pushState(\"acc_title\");\n return 19;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.pushState(\"acc_descr\");\n return 21;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.pushState(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 5;\n break;\n case 15:\n return 8;\n break;\n case 16:\n this.pushState(\"axis_data\");\n return \"X_AXIS\";\n break;\n case 17:\n this.pushState(\"axis_data\");\n return \"Y_AXIS\";\n break;\n case 18:\n this.pushState(\"axis_band_data\");\n return 24;\n break;\n case 19:\n return 31;\n break;\n case 20:\n this.pushState(\"data\");\n return 16;\n break;\n case 21:\n this.pushState(\"data\");\n return 18;\n break;\n case 22:\n this.pushState(\"data_inner\");\n return 24;\n break;\n case 23:\n return 27;\n break;\n case 24:\n this.popState();\n return 26;\n break;\n case 25:\n this.popState();\n break;\n case 26:\n this.pushState(\"string\");\n break;\n case 27:\n this.popState();\n break;\n case 28:\n return \"STR\";\n break;\n case 29:\n return 24;\n break;\n case 30:\n return 26;\n break;\n case 31:\n return 43;\n break;\n case 32:\n return \"COLON\";\n break;\n case 33:\n return 44;\n break;\n case 34:\n return 28;\n break;\n case 35:\n return 45;\n break;\n case 36:\n return 46;\n break;\n case 37:\n return 48;\n break;\n case 38:\n return 50;\n break;\n case 39:\n return 47;\n break;\n case 40:\n return 41;\n break;\n case 41:\n return 49;\n break;\n case 42:\n return 42;\n break;\n case 43:\n break;\n case 44:\n return 35;\n break;\n case 45:\n return 36;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:(\\r?\\n))/i, /^(?:(\\r?\\n))/i, /^(?:[\\n\\r]+)/i, /^(?:%%[^\\n]*)/i, /^(?:title\\b)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:\\{)/i, /^(?:[^\\}]*)/i, /^(?:xychart-beta\\b)/i, /^(?:(?:vertical|horizontal))/i, /^(?:x-axis\\b)/i, /^(?:y-axis\\b)/i, /^(?:\\[)/i, /^(?:-->)/i, /^(?:line\\b)/i, /^(?:bar\\b)/i, /^(?:\\[)/i, /^(?:[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+))/i, /^(?:\\])/i, /^(?:(?:`\\) \\{ this\\.pushState\\(md_string\\); \\}\\n<md_string>\\(\\?:\\(\\?!`\"\\)\\.\\)\\+ \\{ return MD_STR; \\}\\n<md_string>\\(\\?:`))/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:\\[)/i, /^(?:\\])/i, /^(?:[A-Za-z]+)/i, /^(?::)/i, /^(?:\\+)/i, /^(?:,)/i, /^(?:=)/i, /^(?:\\*)/i, /^(?:#)/i, /^(?:[\\_])/i, /^(?:\\.)/i, /^(?:&)/i, /^(?:-)/i, /^(?:[0-9]+)/i, /^(?:\\s+)/i, /^(?:;)/i, /^(?:$)/i],\n conditions: { \"data_inner\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"data\": { \"rules\": [0, 1, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 22, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"axis_band_data\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"axis_data\": { \"rules\": [0, 1, 2, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true }, \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"title\": { \"rules\": [], \"inclusive\": false }, \"md_string\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [27, 28], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 20, 21, 25, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar xychart_default = parser;\n\n// src/diagrams/xychart/chartBuilder/interfaces.ts\nfunction isBarPlot(data) {\n return data.type === \"bar\";\n}\n__name(isBarPlot, \"isBarPlot\");\nfunction isBandAxisData(data) {\n return data.type === \"band\";\n}\n__name(isBandAxisData, \"isBandAxisData\");\nfunction isLinearAxisData(data) {\n return data.type === \"linear\";\n}\n__name(isLinearAxisData, \"isLinearAxisData\");\n\n// src/diagrams/xychart/chartBuilder/textDimensionCalculator.ts\nvar TextDimensionCalculatorWithFont = class {\n constructor(parentGroup) {\n this.parentGroup = parentGroup;\n }\n static {\n __name(this, \"TextDimensionCalculatorWithFont\");\n }\n getMaxDimension(texts, fontSize) {\n if (!this.parentGroup) {\n return {\n width: texts.reduce((acc, cur) => Math.max(cur.length, acc), 0) * fontSize,\n height: fontSize\n };\n }\n const dimension = {\n width: 0,\n height: 0\n };\n const elem = this.parentGroup.append(\"g\").attr(\"visibility\", \"hidden\").attr(\"font-size\", fontSize);\n for (const t of texts) {\n const bbox = computeDimensionOfText(elem, 1, t);\n const width = bbox ? bbox.width : t.length * fontSize;\n const height = bbox ? bbox.height : fontSize;\n dimension.width = Math.max(dimension.width, width);\n dimension.height = Math.max(dimension.height, height);\n }\n elem.remove();\n return dimension;\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/bandAxis.ts\nimport { scaleBand } from \"d3\";\n\n// src/diagrams/xychart/chartBuilder/components/axis/baseAxis.ts\nvar BAR_WIDTH_TO_TICK_WIDTH_RATIO = 0.7;\nvar MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL = 0.2;\nvar BaseAxis = class {\n constructor(axisConfig, title, textDimensionCalculator, axisThemeConfig) {\n this.axisConfig = axisConfig;\n this.title = title;\n this.textDimensionCalculator = textDimensionCalculator;\n this.axisThemeConfig = axisThemeConfig;\n this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };\n this.axisPosition = \"left\";\n this.showTitle = false;\n this.showLabel = false;\n this.showTick = false;\n this.showAxisLine = false;\n this.outerPadding = 0;\n this.titleTextHeight = 0;\n this.labelTextHeight = 0;\n this.range = [0, 10];\n this.boundingRect = { x: 0, y: 0, width: 0, height: 0 };\n this.axisPosition = \"left\";\n }\n static {\n __name(this, \"BaseAxis\");\n }\n setRange(range) {\n this.range = range;\n if (this.axisPosition === \"left\" || this.axisPosition === \"right\") {\n this.boundingRect.height = range[1] - range[0];\n } else {\n this.boundingRect.width = range[1] - range[0];\n }\n this.recalculateScale();\n }\n getRange() {\n return [this.range[0] + this.outerPadding, this.range[1] - this.outerPadding];\n }\n setAxisPosition(axisPosition) {\n this.axisPosition = axisPosition;\n this.setRange(this.range);\n }\n getTickDistance() {\n const range = this.getRange();\n return Math.abs(range[0] - range[1]) / this.getTickValues().length;\n }\n getAxisOuterPadding() {\n return this.outerPadding;\n }\n getLabelDimension() {\n return this.textDimensionCalculator.getMaxDimension(\n this.getTickValues().map((tick) => tick.toString()),\n this.axisConfig.labelFontSize\n );\n }\n recalculateOuterPaddingToDrawBar() {\n if (BAR_WIDTH_TO_TICK_WIDTH_RATIO * this.getTickDistance() > this.outerPadding * 2) {\n this.outerPadding = Math.floor(BAR_WIDTH_TO_TICK_WIDTH_RATIO * this.getTickDistance() / 2);\n }\n this.recalculateScale();\n }\n calculateSpaceIfDrawnHorizontally(availableSpace) {\n let availableHeight = availableSpace.height;\n if (this.axisConfig.showAxisLine && availableHeight > this.axisConfig.axisLineWidth) {\n availableHeight -= this.axisConfig.axisLineWidth;\n this.showAxisLine = true;\n }\n if (this.axisConfig.showLabel) {\n const spaceRequired = this.getLabelDimension();\n const maxPadding = MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL * availableSpace.width;\n this.outerPadding = Math.min(spaceRequired.width / 2, maxPadding);\n const heightRequired = spaceRequired.height + this.axisConfig.labelPadding * 2;\n this.labelTextHeight = spaceRequired.height;\n if (heightRequired <= availableHeight) {\n availableHeight -= heightRequired;\n this.showLabel = true;\n }\n }\n if (this.axisConfig.showTick && availableHeight >= this.axisConfig.tickLength) {\n this.showTick = true;\n availableHeight -= this.axisConfig.tickLength;\n }\n if (this.axisConfig.showTitle && this.title) {\n const spaceRequired = this.textDimensionCalculator.getMaxDimension(\n [this.title],\n this.axisConfig.titleFontSize\n );\n const heightRequired = spaceRequired.height + this.axisConfig.titlePadding * 2;\n this.titleTextHeight = spaceRequired.height;\n if (heightRequired <= availableHeight) {\n availableHeight -= heightRequired;\n this.showTitle = true;\n }\n }\n this.boundingRect.width = availableSpace.width;\n this.boundingRect.height = availableSpace.height - availableHeight;\n }\n calculateSpaceIfDrawnVertical(availableSpace) {\n let availableWidth = availableSpace.width;\n if (this.axisConfig.showAxisLine && availableWidth > this.axisConfig.axisLineWidth) {\n availableWidth -= this.axisConfig.axisLineWidth;\n this.showAxisLine = true;\n }\n if (this.axisConfig.showLabel) {\n const spaceRequired = this.getLabelDimension();\n const maxPadding = MAX_OUTER_PADDING_PERCENT_FOR_WRT_LABEL * availableSpace.height;\n this.outerPadding = Math.min(spaceRequired.height / 2, maxPadding);\n const widthRequired = spaceRequired.width + this.axisConfig.labelPadding * 2;\n if (widthRequired <= availableWidth) {\n availableWidth -= widthRequired;\n this.showLabel = true;\n }\n }\n if (this.axisConfig.showTick && availableWidth >= this.axisConfig.tickLength) {\n this.showTick = true;\n availableWidth -= this.axisConfig.tickLength;\n }\n if (this.axisConfig.showTitle && this.title) {\n const spaceRequired = this.textDimensionCalculator.getMaxDimension(\n [this.title],\n this.axisConfig.titleFontSize\n );\n const widthRequired = spaceRequired.height + this.axisConfig.titlePadding * 2;\n this.titleTextHeight = spaceRequired.height;\n if (widthRequired <= availableWidth) {\n availableWidth -= widthRequired;\n this.showTitle = true;\n }\n }\n this.boundingRect.width = availableSpace.width - availableWidth;\n this.boundingRect.height = availableSpace.height;\n }\n calculateSpace(availableSpace) {\n if (this.axisPosition === \"left\" || this.axisPosition === \"right\") {\n this.calculateSpaceIfDrawnVertical(availableSpace);\n } else {\n this.calculateSpaceIfDrawnHorizontally(availableSpace);\n }\n this.recalculateScale();\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n getDrawableElementsForLeftAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const x = this.boundingRect.x + this.boundingRect.width - this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"left-axis\", \"axisl-line\"],\n data: [\n {\n path: `M ${x},${this.boundingRect.y} L ${x},${this.boundingRect.y + this.boundingRect.height} `,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"left-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.boundingRect.x + this.boundingRect.width - (this.showLabel ? this.axisConfig.labelPadding : 0) - (this.showTick ? this.axisConfig.tickLength : 0) - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),\n y: this.getScaleValue(tick),\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"middle\",\n horizontalPos: \"right\"\n }))\n });\n }\n if (this.showTick) {\n const x = this.boundingRect.x + this.boundingRect.width - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"left-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${x},${this.getScaleValue(tick)} L ${x - this.axisConfig.tickLength},${this.getScaleValue(tick)}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"left-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.boundingRect.x + this.axisConfig.titlePadding,\n y: this.boundingRect.y + this.boundingRect.height / 2,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 270,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElementsForBottomAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const y = this.boundingRect.y + this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"bottom-axis\", \"axis-line\"],\n data: [\n {\n path: `M ${this.boundingRect.x},${y} L ${this.boundingRect.x + this.boundingRect.width},${y}`,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"bottom-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.getScaleValue(tick),\n y: this.boundingRect.y + this.axisConfig.labelPadding + (this.showTick ? this.axisConfig.tickLength : 0) + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0),\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }))\n });\n }\n if (this.showTick) {\n const y = this.boundingRect.y + (this.showAxisLine ? this.axisConfig.axisLineWidth : 0);\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"bottom-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${this.getScaleValue(tick)},${y} L ${this.getScaleValue(tick)},${y + this.axisConfig.tickLength}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"bottom-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.range[0] + (this.range[1] - this.range[0]) / 2,\n y: this.boundingRect.y + this.boundingRect.height - this.axisConfig.titlePadding - this.titleTextHeight,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElementsForTopAxis() {\n const drawableElement = [];\n if (this.showAxisLine) {\n const y = this.boundingRect.y + this.boundingRect.height - this.axisConfig.axisLineWidth / 2;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"top-axis\", \"axis-line\"],\n data: [\n {\n path: `M ${this.boundingRect.x},${y} L ${this.boundingRect.x + this.boundingRect.width},${y}`,\n strokeFill: this.axisThemeConfig.axisLineColor,\n strokeWidth: this.axisConfig.axisLineWidth\n }\n ]\n });\n }\n if (this.showLabel) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"top-axis\", \"label\"],\n data: this.getTickValues().map((tick) => ({\n text: tick.toString(),\n x: this.getScaleValue(tick),\n y: this.boundingRect.y + (this.showTitle ? this.titleTextHeight + this.axisConfig.titlePadding * 2 : 0) + this.axisConfig.labelPadding,\n fill: this.axisThemeConfig.labelColor,\n fontSize: this.axisConfig.labelFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }))\n });\n }\n if (this.showTick) {\n const y = this.boundingRect.y;\n drawableElement.push({\n type: \"path\",\n groupTexts: [\"top-axis\", \"ticks\"],\n data: this.getTickValues().map((tick) => ({\n path: `M ${this.getScaleValue(tick)},${y + this.boundingRect.height - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)} L ${this.getScaleValue(tick)},${y + this.boundingRect.height - this.axisConfig.tickLength - (this.showAxisLine ? this.axisConfig.axisLineWidth : 0)}`,\n strokeFill: this.axisThemeConfig.tickColor,\n strokeWidth: this.axisConfig.tickWidth\n }))\n });\n }\n if (this.showTitle) {\n drawableElement.push({\n type: \"text\",\n groupTexts: [\"top-axis\", \"title\"],\n data: [\n {\n text: this.title,\n x: this.boundingRect.x + this.boundingRect.width / 2,\n y: this.boundingRect.y + this.axisConfig.titlePadding,\n fill: this.axisThemeConfig.titleColor,\n fontSize: this.axisConfig.titleFontSize,\n rotation: 0,\n verticalPos: \"top\",\n horizontalPos: \"center\"\n }\n ]\n });\n }\n return drawableElement;\n }\n getDrawableElements() {\n if (this.axisPosition === \"left\") {\n return this.getDrawableElementsForLeftAxis();\n }\n if (this.axisPosition === \"right\") {\n throw Error(\"Drawing of right axis is not implemented\");\n }\n if (this.axisPosition === \"bottom\") {\n return this.getDrawableElementsForBottomAxis();\n }\n if (this.axisPosition === \"top\") {\n return this.getDrawableElementsForTopAxis();\n }\n return [];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/bandAxis.ts\nvar BandAxis = class extends BaseAxis {\n static {\n __name(this, \"BandAxis\");\n }\n constructor(axisConfig, axisThemeConfig, categories, title, textDimensionCalculator) {\n super(axisConfig, title, textDimensionCalculator, axisThemeConfig);\n this.categories = categories;\n this.scale = scaleBand().domain(this.categories).range(this.getRange());\n }\n setRange(range) {\n super.setRange(range);\n }\n recalculateScale() {\n this.scale = scaleBand().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(0.5);\n log.trace(\"BandAxis axis final categories, range: \", this.categories, this.getRange());\n }\n getTickValues() {\n return this.categories;\n }\n getScaleValue(value) {\n return this.scale(value) ?? this.getRange()[0];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/linearAxis.ts\nimport { scaleLinear } from \"d3\";\nvar LinearAxis = class extends BaseAxis {\n static {\n __name(this, \"LinearAxis\");\n }\n constructor(axisConfig, axisThemeConfig, domain, title, textDimensionCalculator) {\n super(axisConfig, title, textDimensionCalculator, axisThemeConfig);\n this.domain = domain;\n this.scale = scaleLinear().domain(this.domain).range(this.getRange());\n }\n getTickValues() {\n return this.scale.ticks();\n }\n recalculateScale() {\n const domain = [...this.domain];\n if (this.axisPosition === \"left\") {\n domain.reverse();\n }\n this.scale = scaleLinear().domain(domain).range(this.getRange());\n }\n getScaleValue(value) {\n return this.scale(value);\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/axis/index.ts\nfunction getAxis(data, axisConfig, axisThemeConfig, tmpSVGGroup2) {\n const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup2);\n if (isBandAxisData(data)) {\n return new BandAxis(\n axisConfig,\n axisThemeConfig,\n data.categories,\n data.title,\n textDimensionCalculator\n );\n }\n return new LinearAxis(\n axisConfig,\n axisThemeConfig,\n [data.min, data.max],\n data.title,\n textDimensionCalculator\n );\n}\n__name(getAxis, \"getAxis\");\n\n// src/diagrams/xychart/chartBuilder/components/chartTitle.ts\nvar ChartTitle = class {\n constructor(textDimensionCalculator, chartConfig, chartData, chartThemeConfig) {\n this.textDimensionCalculator = textDimensionCalculator;\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.chartThemeConfig = chartThemeConfig;\n this.boundingRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n this.showChartTitle = false;\n }\n static {\n __name(this, \"ChartTitle\");\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n calculateSpace(availableSpace) {\n const titleDimension = this.textDimensionCalculator.getMaxDimension(\n [this.chartData.title],\n this.chartConfig.titleFontSize\n );\n const widthRequired = Math.max(titleDimension.width, availableSpace.width);\n const heightRequired = titleDimension.height + 2 * this.chartConfig.titlePadding;\n if (titleDimension.width <= widthRequired && titleDimension.height <= heightRequired && this.chartConfig.showTitle && this.chartData.title) {\n this.boundingRect.width = widthRequired;\n this.boundingRect.height = heightRequired;\n this.showChartTitle = true;\n }\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n getDrawableElements() {\n const drawableElem = [];\n if (this.showChartTitle) {\n drawableElem.push({\n groupTexts: [\"chart-title\"],\n type: \"text\",\n data: [\n {\n fontSize: this.chartConfig.titleFontSize,\n text: this.chartData.title,\n verticalPos: \"middle\",\n horizontalPos: \"center\",\n x: this.boundingRect.x + this.boundingRect.width / 2,\n y: this.boundingRect.y + this.boundingRect.height / 2,\n fill: this.chartThemeConfig.titleColor,\n rotation: 0\n }\n ]\n });\n }\n return drawableElem;\n }\n};\nfunction getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2) {\n const textDimensionCalculator = new TextDimensionCalculatorWithFont(tmpSVGGroup2);\n return new ChartTitle(textDimensionCalculator, chartConfig, chartData, chartThemeConfig);\n}\n__name(getChartTitleComponent, \"getChartTitleComponent\");\n\n// src/diagrams/xychart/chartBuilder/components/plot/linePlot.ts\nimport { line } from \"d3\";\nvar LinePlot = class {\n constructor(plotData, xAxis, yAxis, orientation, plotIndex2) {\n this.plotData = plotData;\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n this.orientation = orientation;\n this.plotIndex = plotIndex2;\n }\n static {\n __name(this, \"LinePlot\");\n }\n getDrawableElement() {\n const finalData = this.plotData.data.map((d) => [\n this.xAxis.getScaleValue(d[0]),\n this.yAxis.getScaleValue(d[1])\n ]);\n let path;\n if (this.orientation === \"horizontal\") {\n path = line().y((d) => d[0]).x((d) => d[1])(finalData);\n } else {\n path = line().x((d) => d[0]).y((d) => d[1])(finalData);\n }\n if (!path) {\n return [];\n }\n return [\n {\n groupTexts: [\"plot\", `line-plot-${this.plotIndex}`],\n type: \"path\",\n data: [\n {\n path,\n strokeFill: this.plotData.strokeFill,\n strokeWidth: this.plotData.strokeWidth\n }\n ]\n }\n ];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/plot/barPlot.ts\nvar BarPlot = class {\n constructor(barData, boundingRect, xAxis, yAxis, orientation, plotIndex2) {\n this.barData = barData;\n this.boundingRect = boundingRect;\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n this.orientation = orientation;\n this.plotIndex = plotIndex2;\n }\n static {\n __name(this, \"BarPlot\");\n }\n getDrawableElement() {\n const finalData = this.barData.data.map((d) => [\n this.xAxis.getScaleValue(d[0]),\n this.yAxis.getScaleValue(d[1])\n ]);\n const barPaddingPercent = 0.05;\n const barWidth = Math.min(this.xAxis.getAxisOuterPadding() * 2, this.xAxis.getTickDistance()) * (1 - barPaddingPercent);\n const barWidthHalf = barWidth / 2;\n if (this.orientation === \"horizontal\") {\n return [\n {\n groupTexts: [\"plot\", `bar-plot-${this.plotIndex}`],\n type: \"rect\",\n data: finalData.map((data) => ({\n x: this.boundingRect.x,\n y: data[0] - barWidthHalf,\n height: barWidth,\n width: data[1] - this.boundingRect.x,\n fill: this.barData.fill,\n strokeWidth: 0,\n strokeFill: this.barData.fill\n }))\n }\n ];\n }\n return [\n {\n groupTexts: [\"plot\", `bar-plot-${this.plotIndex}`],\n type: \"rect\",\n data: finalData.map((data) => ({\n x: data[0] - barWidthHalf,\n y: data[1],\n width: barWidth,\n height: this.boundingRect.y + this.boundingRect.height - data[1],\n fill: this.barData.fill,\n strokeWidth: 0,\n strokeFill: this.barData.fill\n }))\n }\n ];\n }\n};\n\n// src/diagrams/xychart/chartBuilder/components/plot/index.ts\nvar BasePlot = class {\n constructor(chartConfig, chartData, chartThemeConfig) {\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.chartThemeConfig = chartThemeConfig;\n this.boundingRect = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n static {\n __name(this, \"BasePlot\");\n }\n setAxes(xAxis, yAxis) {\n this.xAxis = xAxis;\n this.yAxis = yAxis;\n }\n setBoundingBoxXY(point) {\n this.boundingRect.x = point.x;\n this.boundingRect.y = point.y;\n }\n calculateSpace(availableSpace) {\n this.boundingRect.width = availableSpace.width;\n this.boundingRect.height = availableSpace.height;\n return {\n width: this.boundingRect.width,\n height: this.boundingRect.height\n };\n }\n getDrawableElements() {\n if (!(this.xAxis && this.yAxis)) {\n throw Error(\"Axes must be passed to render Plots\");\n }\n const drawableElem = [];\n for (const [i, plot] of this.chartData.plots.entries()) {\n switch (plot.type) {\n case \"line\":\n {\n const linePlot = new LinePlot(\n plot,\n this.xAxis,\n this.yAxis,\n this.chartConfig.chartOrientation,\n i\n );\n drawableElem.push(...linePlot.getDrawableElement());\n }\n break;\n case \"bar\":\n {\n const barPlot = new BarPlot(\n plot,\n this.boundingRect,\n this.xAxis,\n this.yAxis,\n this.chartConfig.chartOrientation,\n i\n );\n drawableElem.push(...barPlot.getDrawableElement());\n }\n break;\n }\n }\n return drawableElem;\n }\n};\nfunction getPlotComponent(chartConfig, chartData, chartThemeConfig) {\n return new BasePlot(chartConfig, chartData, chartThemeConfig);\n}\n__name(getPlotComponent, \"getPlotComponent\");\n\n// src/diagrams/xychart/chartBuilder/orchestrator.ts\nvar Orchestrator = class {\n constructor(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2) {\n this.chartConfig = chartConfig;\n this.chartData = chartData;\n this.componentStore = {\n title: getChartTitleComponent(chartConfig, chartData, chartThemeConfig, tmpSVGGroup2),\n plot: getPlotComponent(chartConfig, chartData, chartThemeConfig),\n xAxis: getAxis(\n chartData.xAxis,\n chartConfig.xAxis,\n {\n titleColor: chartThemeConfig.xAxisTitleColor,\n labelColor: chartThemeConfig.xAxisLabelColor,\n tickColor: chartThemeConfig.xAxisTickColor,\n axisLineColor: chartThemeConfig.xAxisLineColor\n },\n tmpSVGGroup2\n ),\n yAxis: getAxis(\n chartData.yAxis,\n chartConfig.yAxis,\n {\n titleColor: chartThemeConfig.yAxisTitleColor,\n labelColor: chartThemeConfig.yAxisLabelColor,\n tickColor: chartThemeConfig.yAxisTickColor,\n axisLineColor: chartThemeConfig.yAxisLineColor\n },\n tmpSVGGroup2\n )\n };\n }\n static {\n __name(this, \"Orchestrator\");\n }\n calculateVerticalSpace() {\n let availableWidth = this.chartConfig.width;\n let availableHeight = this.chartConfig.height;\n let plotX = 0;\n let plotY = 0;\n let chartWidth = Math.floor(availableWidth * this.chartConfig.plotReservedSpacePercent / 100);\n let chartHeight = Math.floor(\n availableHeight * this.chartConfig.plotReservedSpacePercent / 100\n );\n let spaceUsed = this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n availableWidth -= spaceUsed.width;\n availableHeight -= spaceUsed.height;\n spaceUsed = this.componentStore.title.calculateSpace({\n width: this.chartConfig.width,\n height: availableHeight\n });\n plotY = spaceUsed.height;\n availableHeight -= spaceUsed.height;\n this.componentStore.xAxis.setAxisPosition(\"bottom\");\n spaceUsed = this.componentStore.xAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableHeight -= spaceUsed.height;\n this.componentStore.yAxis.setAxisPosition(\"left\");\n spaceUsed = this.componentStore.yAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n plotX = spaceUsed.width;\n availableWidth -= spaceUsed.width;\n if (availableWidth > 0) {\n chartWidth += availableWidth;\n availableWidth = 0;\n }\n if (availableHeight > 0) {\n chartHeight += availableHeight;\n availableHeight = 0;\n }\n this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n this.componentStore.plot.setBoundingBoxXY({ x: plotX, y: plotY });\n this.componentStore.xAxis.setRange([plotX, plotX + chartWidth]);\n this.componentStore.xAxis.setBoundingBoxXY({ x: plotX, y: plotY + chartHeight });\n this.componentStore.yAxis.setRange([plotY, plotY + chartHeight]);\n this.componentStore.yAxis.setBoundingBoxXY({ x: 0, y: plotY });\n if (this.chartData.plots.some((p) => isBarPlot(p))) {\n this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();\n }\n }\n calculateHorizontalSpace() {\n let availableWidth = this.chartConfig.width;\n let availableHeight = this.chartConfig.height;\n let titleYEnd = 0;\n let plotX = 0;\n let plotY = 0;\n let chartWidth = Math.floor(availableWidth * this.chartConfig.plotReservedSpacePercent / 100);\n let chartHeight = Math.floor(\n availableHeight * this.chartConfig.plotReservedSpacePercent / 100\n );\n let spaceUsed = this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n availableWidth -= spaceUsed.width;\n availableHeight -= spaceUsed.height;\n spaceUsed = this.componentStore.title.calculateSpace({\n width: this.chartConfig.width,\n height: availableHeight\n });\n titleYEnd = spaceUsed.height;\n availableHeight -= spaceUsed.height;\n this.componentStore.xAxis.setAxisPosition(\"left\");\n spaceUsed = this.componentStore.xAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableWidth -= spaceUsed.width;\n plotX = spaceUsed.width;\n this.componentStore.yAxis.setAxisPosition(\"top\");\n spaceUsed = this.componentStore.yAxis.calculateSpace({\n width: availableWidth,\n height: availableHeight\n });\n availableHeight -= spaceUsed.height;\n plotY = titleYEnd + spaceUsed.height;\n if (availableWidth > 0) {\n chartWidth += availableWidth;\n availableWidth = 0;\n }\n if (availableHeight > 0) {\n chartHeight += availableHeight;\n availableHeight = 0;\n }\n this.componentStore.plot.calculateSpace({\n width: chartWidth,\n height: chartHeight\n });\n this.componentStore.plot.setBoundingBoxXY({ x: plotX, y: plotY });\n this.componentStore.yAxis.setRange([plotX, plotX + chartWidth]);\n this.componentStore.yAxis.setBoundingBoxXY({ x: plotX, y: titleYEnd });\n this.componentStore.xAxis.setRange([plotY, plotY + chartHeight]);\n this.componentStore.xAxis.setBoundingBoxXY({ x: 0, y: plotY });\n if (this.chartData.plots.some((p) => isBarPlot(p))) {\n this.componentStore.xAxis.recalculateOuterPaddingToDrawBar();\n }\n }\n calculateSpace() {\n if (this.chartConfig.chartOrientation === \"horizontal\") {\n this.calculateHorizontalSpace();\n } else {\n this.calculateVerticalSpace();\n }\n }\n getDrawableElement() {\n this.calculateSpace();\n const drawableElem = [];\n this.componentStore.plot.setAxes(this.componentStore.xAxis, this.componentStore.yAxis);\n for (const component of Object.values(this.componentStore)) {\n drawableElem.push(...component.getDrawableElements());\n }\n return drawableElem;\n }\n};\n\n// src/diagrams/xychart/chartBuilder/index.ts\nvar XYChartBuilder = class {\n static {\n __name(this, \"XYChartBuilder\");\n }\n static build(config, chartData, chartThemeConfig, tmpSVGGroup2) {\n const orchestrator = new Orchestrator(config, chartData, chartThemeConfig, tmpSVGGroup2);\n return orchestrator.getDrawableElement();\n }\n};\n\n// src/diagrams/xychart/xychartDb.ts\nvar plotIndex = 0;\nvar tmpSVGGroup;\nvar xyChartConfig = getChartDefaultConfig();\nvar xyChartThemeConfig = getChartDefaultThemeConfig();\nvar xyChartData = getChartDefaultData();\nvar plotColorPalette = xyChartThemeConfig.plotColorPalette.split(\",\").map((color) => color.trim());\nvar hasSetXAxis = false;\nvar hasSetYAxis = false;\nfunction getChartDefaultThemeConfig() {\n const defaultThemeVariables = getThemeVariables();\n const config = getConfig();\n return cleanAndMerge(defaultThemeVariables.xyChart, config.themeVariables.xyChart);\n}\n__name(getChartDefaultThemeConfig, \"getChartDefaultThemeConfig\");\nfunction getChartDefaultConfig() {\n const config = getConfig();\n return cleanAndMerge(\n defaultConfig_default.xyChart,\n config.xyChart\n );\n}\n__name(getChartDefaultConfig, \"getChartDefaultConfig\");\nfunction getChartDefaultData() {\n return {\n yAxis: {\n type: \"linear\",\n title: \"\",\n min: Infinity,\n max: -Infinity\n },\n xAxis: {\n type: \"band\",\n title: \"\",\n categories: []\n },\n title: \"\",\n plots: []\n };\n}\n__name(getChartDefaultData, \"getChartDefaultData\");\nfunction textSanitizer(text) {\n const config = getConfig();\n return sanitizeText(text.trim(), config);\n}\n__name(textSanitizer, \"textSanitizer\");\nfunction setTmpSVGG(SVGG) {\n tmpSVGGroup = SVGG;\n}\n__name(setTmpSVGG, \"setTmpSVGG\");\nfunction setOrientation(orientation) {\n if (orientation === \"horizontal\") {\n xyChartConfig.chartOrientation = \"horizontal\";\n } else {\n xyChartConfig.chartOrientation = \"vertical\";\n }\n}\n__name(setOrientation, \"setOrientation\");\nfunction setXAxisTitle(title) {\n xyChartData.xAxis.title = textSanitizer(title.text);\n}\n__name(setXAxisTitle, \"setXAxisTitle\");\nfunction setXAxisRangeData(min, max) {\n xyChartData.xAxis = { type: \"linear\", title: xyChartData.xAxis.title, min, max };\n hasSetXAxis = true;\n}\n__name(setXAxisRangeData, \"setXAxisRangeData\");\nfunction setXAxisBand(categories) {\n xyChartData.xAxis = {\n type: \"band\",\n title: xyChartData.xAxis.title,\n categories: categories.map((c) => textSanitizer(c.text))\n };\n hasSetXAxis = true;\n}\n__name(setXAxisBand, \"setXAxisBand\");\nfunction setYAxisTitle(title) {\n xyChartData.yAxis.title = textSanitizer(title.text);\n}\n__name(setYAxisTitle, \"setYAxisTitle\");\nfunction setYAxisRangeData(min, max) {\n xyChartData.yAxis = { type: \"linear\", title: xyChartData.yAxis.title, min, max };\n hasSetYAxis = true;\n}\n__name(setYAxisRangeData, \"setYAxisRangeData\");\nfunction setYAxisRangeFromPlotData(data) {\n const minValue = Math.min(...data);\n const maxValue = Math.max(...data);\n const prevMinValue = isLinearAxisData(xyChartData.yAxis) ? xyChartData.yAxis.min : Infinity;\n const prevMaxValue = isLinearAxisData(xyChartData.yAxis) ? xyChartData.yAxis.max : -Infinity;\n xyChartData.yAxis = {\n type: \"linear\",\n title: xyChartData.yAxis.title,\n min: Math.min(prevMinValue, minValue),\n max: Math.max(prevMaxValue, maxValue)\n };\n}\n__name(setYAxisRangeFromPlotData, \"setYAxisRangeFromPlotData\");\nfunction transformDataWithoutCategory(data) {\n let retData = [];\n if (data.length === 0) {\n return retData;\n }\n if (!hasSetXAxis) {\n const prevMinValue = isLinearAxisData(xyChartData.xAxis) ? xyChartData.xAxis.min : Infinity;\n const prevMaxValue = isLinearAxisData(xyChartData.xAxis) ? xyChartData.xAxis.max : -Infinity;\n setXAxisRangeData(Math.min(prevMinValue, 1), Math.max(prevMaxValue, data.length));\n }\n if (!hasSetYAxis) {\n setYAxisRangeFromPlotData(data);\n }\n if (isBandAxisData(xyChartData.xAxis)) {\n retData = xyChartData.xAxis.categories.map((c, i) => [c, data[i]]);\n }\n if (isLinearAxisData(xyChartData.xAxis)) {\n const min = xyChartData.xAxis.min;\n const max = xyChartData.xAxis.max;\n const step = (max - min) / (data.length - 1);\n const categories = [];\n for (let i = min; i <= max; i += step) {\n categories.push(`${i}`);\n }\n retData = categories.map((c, i) => [c, data[i]]);\n }\n return retData;\n}\n__name(transformDataWithoutCategory, \"transformDataWithoutCategory\");\nfunction getPlotColorFromPalette(plotIndex2) {\n return plotColorPalette[plotIndex2 === 0 ? 0 : plotIndex2 % plotColorPalette.length];\n}\n__name(getPlotColorFromPalette, \"getPlotColorFromPalette\");\nfunction setLineData(title, data) {\n const plotData = transformDataWithoutCategory(data);\n xyChartData.plots.push({\n type: \"line\",\n strokeFill: getPlotColorFromPalette(plotIndex),\n strokeWidth: 2,\n data: plotData\n });\n plotIndex++;\n}\n__name(setLineData, \"setLineData\");\nfunction setBarData(title, data) {\n const plotData = transformDataWithoutCategory(data);\n xyChartData.plots.push({\n type: \"bar\",\n fill: getPlotColorFromPalette(plotIndex),\n data: plotData\n });\n plotIndex++;\n}\n__name(setBarData, \"setBarData\");\nfunction getDrawableElem() {\n if (xyChartData.plots.length === 0) {\n throw Error(\"No Plot to render, please provide a plot with some data\");\n }\n xyChartData.title = getDiagramTitle();\n return XYChartBuilder.build(xyChartConfig, xyChartData, xyChartThemeConfig, tmpSVGGroup);\n}\n__name(getDrawableElem, \"getDrawableElem\");\nfunction getChartThemeConfig() {\n return xyChartThemeConfig;\n}\n__name(getChartThemeConfig, \"getChartThemeConfig\");\nfunction getChartConfig() {\n return xyChartConfig;\n}\n__name(getChartConfig, \"getChartConfig\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n clear();\n plotIndex = 0;\n xyChartConfig = getChartDefaultConfig();\n xyChartData = getChartDefaultData();\n xyChartThemeConfig = getChartDefaultThemeConfig();\n plotColorPalette = xyChartThemeConfig.plotColorPalette.split(\",\").map((color) => color.trim());\n hasSetXAxis = false;\n hasSetYAxis = false;\n}, \"clear\");\nvar xychartDb_default = {\n getDrawableElem,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription,\n setOrientation,\n setXAxisTitle,\n setXAxisRangeData,\n setXAxisBand,\n setYAxisTitle,\n setYAxisRangeData,\n setLineData,\n setBarData,\n setTmpSVGG,\n getChartThemeConfig,\n getChartConfig\n};\n\n// src/diagrams/xychart/xychartRenderer.ts\nvar draw = /* @__PURE__ */ __name((txt, id, _version, diagObj) => {\n const db = diagObj.db;\n const themeConfig = db.getChartThemeConfig();\n const chartConfig = db.getChartConfig();\n function getDominantBaseLine(horizontalPos) {\n return horizontalPos === \"top\" ? \"text-before-edge\" : \"middle\";\n }\n __name(getDominantBaseLine, \"getDominantBaseLine\");\n function getTextAnchor(verticalPos) {\n return verticalPos === \"left\" ? \"start\" : verticalPos === \"right\" ? \"end\" : \"middle\";\n }\n __name(getTextAnchor, \"getTextAnchor\");\n function getTextTransformation(data) {\n return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;\n }\n __name(getTextTransformation, \"getTextTransformation\");\n log.debug(\"Rendering xychart chart\\n\" + txt);\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\").attr(\"class\", \"main\");\n const background = group.append(\"rect\").attr(\"width\", chartConfig.width).attr(\"height\", chartConfig.height).attr(\"class\", \"background\");\n configureSvgSize(svg, chartConfig.height, chartConfig.width, true);\n svg.attr(\"viewBox\", `0 0 ${chartConfig.width} ${chartConfig.height}`);\n background.attr(\"fill\", themeConfig.backgroundColor);\n db.setTmpSVGG(svg.append(\"g\").attr(\"class\", \"mermaid-tmp-group\"));\n const shapes = db.getDrawableElem();\n const groups = {};\n function getGroup(gList) {\n let elem = group;\n let prefix = \"\";\n for (const [i] of gList.entries()) {\n let parent = group;\n if (i > 0 && groups[prefix]) {\n parent = groups[prefix];\n }\n prefix += gList[i];\n elem = groups[prefix];\n if (!elem) {\n elem = groups[prefix] = parent.append(\"g\").attr(\"class\", gList[i]);\n }\n }\n return elem;\n }\n __name(getGroup, \"getGroup\");\n for (const shape of shapes) {\n if (shape.data.length === 0) {\n continue;\n }\n const shapeGroup = getGroup(shape.groupTexts);\n switch (shape.type) {\n case \"rect\":\n shapeGroup.selectAll(\"rect\").data(shape.data).enter().append(\"rect\").attr(\"x\", (data) => data.x).attr(\"y\", (data) => data.y).attr(\"width\", (data) => data.width).attr(\"height\", (data) => data.height).attr(\"fill\", (data) => data.fill).attr(\"stroke\", (data) => data.strokeFill).attr(\"stroke-width\", (data) => data.strokeWidth);\n break;\n case \"text\":\n shapeGroup.selectAll(\"text\").data(shape.data).enter().append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", (data) => data.fill).attr(\"font-size\", (data) => data.fontSize).attr(\"dominant-baseline\", (data) => getDominantBaseLine(data.verticalPos)).attr(\"text-anchor\", (data) => getTextAnchor(data.horizontalPos)).attr(\"transform\", (data) => getTextTransformation(data)).text((data) => data.text);\n break;\n case \"path\":\n shapeGroup.selectAll(\"path\").data(shape.data).enter().append(\"path\").attr(\"d\", (data) => data.path).attr(\"fill\", (data) => data.fill ? data.fill : \"none\").attr(\"stroke\", (data) => data.strokeFill).attr(\"stroke-width\", (data) => data.strokeWidth);\n break;\n }\n }\n}, \"draw\");\nvar xychartRenderer_default = {\n draw\n};\n\n// src/diagrams/xychart/xychartDiagram.ts\nvar diagram = {\n parser: xychart_default,\n db: xychartDb_default,\n renderer: xychartRenderer_default\n};\nexport {\n diagram\n};\n", + "import {\n getDiagramElement,\n setupViewPortForSVG\n} from \"./chunk-RZ5BOZE2.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport {\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __export,\n __name,\n clear,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/requirement/parser/requirementDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [5, 6, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 77, 89, 90], $V5 = [1, 22], $V6 = [2, 7], $V7 = [1, 26], $V8 = [1, 27], $V9 = [1, 28], $Va = [1, 29], $Vb = [1, 33], $Vc = [1, 34], $Vd = [1, 35], $Ve = [1, 36], $Vf = [1, 37], $Vg = [1, 38], $Vh = [1, 24], $Vi = [1, 31], $Vj = [1, 32], $Vk = [1, 30], $Vl = [1, 39], $Vm = [1, 40], $Vn = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 77, 89, 90], $Vo = [1, 61], $Vp = [89, 90], $Vq = [5, 8, 9, 11, 13, 21, 22, 23, 24, 27, 29, 41, 42, 43, 44, 45, 46, 54, 61, 63, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], $Vr = [27, 29], $Vs = [1, 70], $Vt = [1, 71], $Vu = [1, 72], $Vv = [1, 73], $Vw = [1, 74], $Vx = [1, 75], $Vy = [1, 76], $Vz = [1, 83], $VA = [1, 80], $VB = [1, 84], $VC = [1, 85], $VD = [1, 86], $VE = [1, 87], $VF = [1, 88], $VG = [1, 89], $VH = [1, 90], $VI = [1, 91], $VJ = [1, 92], $VK = [5, 8, 9, 11, 13, 21, 22, 23, 24, 27, 41, 42, 43, 44, 45, 46, 54, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], $VL = [63, 64], $VM = [1, 101], $VN = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 76, 77, 89, 90], $VO = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], $VP = [1, 110], $VQ = [1, 106], $VR = [1, 107], $VS = [1, 108], $VT = [1, 109], $VU = [1, 111], $VV = [1, 116], $VW = [1, 117], $VX = [1, 114], $VY = [1, 115];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"directive\": 4, \"NEWLINE\": 5, \"RD\": 6, \"diagram\": 7, \"EOF\": 8, \"acc_title\": 9, \"acc_title_value\": 10, \"acc_descr\": 11, \"acc_descr_value\": 12, \"acc_descr_multiline_value\": 13, \"requirementDef\": 14, \"elementDef\": 15, \"relationshipDef\": 16, \"direction\": 17, \"styleStatement\": 18, \"classDefStatement\": 19, \"classStatement\": 20, \"direction_tb\": 21, \"direction_bt\": 22, \"direction_rl\": 23, \"direction_lr\": 24, \"requirementType\": 25, \"requirementName\": 26, \"STRUCT_START\": 27, \"requirementBody\": 28, \"STYLE_SEPARATOR\": 29, \"idList\": 30, \"ID\": 31, \"COLONSEP\": 32, \"id\": 33, \"TEXT\": 34, \"text\": 35, \"RISK\": 36, \"riskLevel\": 37, \"VERIFYMTHD\": 38, \"verifyType\": 39, \"STRUCT_STOP\": 40, \"REQUIREMENT\": 41, \"FUNCTIONAL_REQUIREMENT\": 42, \"INTERFACE_REQUIREMENT\": 43, \"PERFORMANCE_REQUIREMENT\": 44, \"PHYSICAL_REQUIREMENT\": 45, \"DESIGN_CONSTRAINT\": 46, \"LOW_RISK\": 47, \"MED_RISK\": 48, \"HIGH_RISK\": 49, \"VERIFY_ANALYSIS\": 50, \"VERIFY_DEMONSTRATION\": 51, \"VERIFY_INSPECTION\": 52, \"VERIFY_TEST\": 53, \"ELEMENT\": 54, \"elementName\": 55, \"elementBody\": 56, \"TYPE\": 57, \"type\": 58, \"DOCREF\": 59, \"ref\": 60, \"END_ARROW_L\": 61, \"relationship\": 62, \"LINE\": 63, \"END_ARROW_R\": 64, \"CONTAINS\": 65, \"COPIES\": 66, \"DERIVES\": 67, \"SATISFIES\": 68, \"VERIFIES\": 69, \"REFINES\": 70, \"TRACES\": 71, \"CLASSDEF\": 72, \"stylesOpt\": 73, \"CLASS\": 74, \"ALPHA\": 75, \"COMMA\": 76, \"STYLE\": 77, \"style\": 78, \"styleComponent\": 79, \"NUM\": 80, \"COLON\": 81, \"UNIT\": 82, \"SPACE\": 83, \"BRKT\": 84, \"PCT\": 85, \"MINUS\": 86, \"LABEL\": 87, \"SEMICOLON\": 88, \"unqString\": 89, \"qString\": 90, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"NEWLINE\", 6: \"RD\", 8: \"EOF\", 9: \"acc_title\", 10: \"acc_title_value\", 11: \"acc_descr\", 12: \"acc_descr_value\", 13: \"acc_descr_multiline_value\", 21: \"direction_tb\", 22: \"direction_bt\", 23: \"direction_rl\", 24: \"direction_lr\", 27: \"STRUCT_START\", 29: \"STYLE_SEPARATOR\", 31: \"ID\", 32: \"COLONSEP\", 34: \"TEXT\", 36: \"RISK\", 38: \"VERIFYMTHD\", 40: \"STRUCT_STOP\", 41: \"REQUIREMENT\", 42: \"FUNCTIONAL_REQUIREMENT\", 43: \"INTERFACE_REQUIREMENT\", 44: \"PERFORMANCE_REQUIREMENT\", 45: \"PHYSICAL_REQUIREMENT\", 46: \"DESIGN_CONSTRAINT\", 47: \"LOW_RISK\", 48: \"MED_RISK\", 49: \"HIGH_RISK\", 50: \"VERIFY_ANALYSIS\", 51: \"VERIFY_DEMONSTRATION\", 52: \"VERIFY_INSPECTION\", 53: \"VERIFY_TEST\", 54: \"ELEMENT\", 57: \"TYPE\", 59: \"DOCREF\", 61: \"END_ARROW_L\", 63: \"LINE\", 64: \"END_ARROW_R\", 65: \"CONTAINS\", 66: \"COPIES\", 67: \"DERIVES\", 68: \"SATISFIES\", 69: \"VERIFIES\", 70: \"REFINES\", 71: \"TRACES\", 72: \"CLASSDEF\", 74: \"CLASS\", 75: \"ALPHA\", 76: \"COMMA\", 77: \"STYLE\", 80: \"NUM\", 81: \"COLON\", 82: \"UNIT\", 83: \"SPACE\", 84: \"BRKT\", 85: \"PCT\", 86: \"MINUS\", 87: \"LABEL\", 88: \"SEMICOLON\", 89: \"unqString\", 90: \"qString\" },\n productions_: [0, [3, 3], [3, 2], [3, 4], [4, 2], [4, 2], [4, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [17, 1], [17, 1], [17, 1], [17, 1], [14, 5], [14, 7], [28, 5], [28, 5], [28, 5], [28, 5], [28, 2], [28, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [37, 1], [37, 1], [37, 1], [39, 1], [39, 1], [39, 1], [39, 1], [15, 5], [15, 7], [56, 5], [56, 5], [56, 2], [56, 1], [16, 5], [16, 5], [62, 1], [62, 1], [62, 1], [62, 1], [62, 1], [62, 1], [62, 1], [19, 3], [20, 3], [20, 3], [30, 1], [30, 3], [30, 1], [30, 3], [18, 3], [73, 1], [73, 3], [78, 1], [78, 2], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [26, 1], [26, 1], [33, 1], [33, 1], [35, 1], [35, 1], [55, 1], [55, 1], [58, 1], [58, 1], [60, 1], [60, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 4:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 5:\n case 6:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 7:\n this.$ = [];\n break;\n case 17:\n yy.setDirection(\"TB\");\n break;\n case 18:\n yy.setDirection(\"BT\");\n break;\n case 19:\n yy.setDirection(\"RL\");\n break;\n case 20:\n yy.setDirection(\"LR\");\n break;\n case 21:\n yy.addRequirement($$[$0 - 3], $$[$0 - 4]);\n break;\n case 22:\n yy.addRequirement($$[$0 - 5], $$[$0 - 6]);\n yy.setClass([$$[$0 - 5]], $$[$0 - 3]);\n break;\n case 23:\n yy.setNewReqId($$[$0 - 2]);\n break;\n case 24:\n yy.setNewReqText($$[$0 - 2]);\n break;\n case 25:\n yy.setNewReqRisk($$[$0 - 2]);\n break;\n case 26:\n yy.setNewReqVerifyMethod($$[$0 - 2]);\n break;\n case 29:\n this.$ = yy.RequirementType.REQUIREMENT;\n break;\n case 30:\n this.$ = yy.RequirementType.FUNCTIONAL_REQUIREMENT;\n break;\n case 31:\n this.$ = yy.RequirementType.INTERFACE_REQUIREMENT;\n break;\n case 32:\n this.$ = yy.RequirementType.PERFORMANCE_REQUIREMENT;\n break;\n case 33:\n this.$ = yy.RequirementType.PHYSICAL_REQUIREMENT;\n break;\n case 34:\n this.$ = yy.RequirementType.DESIGN_CONSTRAINT;\n break;\n case 35:\n this.$ = yy.RiskLevel.LOW_RISK;\n break;\n case 36:\n this.$ = yy.RiskLevel.MED_RISK;\n break;\n case 37:\n this.$ = yy.RiskLevel.HIGH_RISK;\n break;\n case 38:\n this.$ = yy.VerifyType.VERIFY_ANALYSIS;\n break;\n case 39:\n this.$ = yy.VerifyType.VERIFY_DEMONSTRATION;\n break;\n case 40:\n this.$ = yy.VerifyType.VERIFY_INSPECTION;\n break;\n case 41:\n this.$ = yy.VerifyType.VERIFY_TEST;\n break;\n case 42:\n yy.addElement($$[$0 - 3]);\n break;\n case 43:\n yy.addElement($$[$0 - 5]);\n yy.setClass([$$[$0 - 5]], $$[$0 - 3]);\n break;\n case 44:\n yy.setNewElementType($$[$0 - 2]);\n break;\n case 45:\n yy.setNewElementDocRef($$[$0 - 2]);\n break;\n case 48:\n yy.addRelationship($$[$0 - 2], $$[$0], $$[$0 - 4]);\n break;\n case 49:\n yy.addRelationship($$[$0 - 2], $$[$0 - 4], $$[$0]);\n break;\n case 50:\n this.$ = yy.Relationships.CONTAINS;\n break;\n case 51:\n this.$ = yy.Relationships.COPIES;\n break;\n case 52:\n this.$ = yy.Relationships.DERIVES;\n break;\n case 53:\n this.$ = yy.Relationships.SATISFIES;\n break;\n case 54:\n this.$ = yy.Relationships.VERIFIES;\n break;\n case 55:\n this.$ = yy.Relationships.REFINES;\n break;\n case 56:\n this.$ = yy.Relationships.TRACES;\n break;\n case 57:\n this.$ = $$[$0 - 2];\n yy.defineClass($$[$0 - 1], $$[$0]);\n break;\n case 58:\n yy.setClass($$[$0 - 1], $$[$0]);\n break;\n case 59:\n yy.setClass([$$[$0 - 2]], $$[$0]);\n break;\n case 60:\n case 62:\n this.$ = [$$[$0]];\n break;\n case 61:\n case 63:\n this.$ = $$[$0 - 2].concat([$$[$0]]);\n break;\n case 64:\n this.$ = $$[$0 - 2];\n yy.setCssStyle($$[$0 - 1], $$[$0]);\n break;\n case 65:\n this.$ = [$$[$0]];\n break;\n case 66:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 68:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [3] }, { 3: 8, 4: 2, 5: [1, 7], 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 5: [1, 9] }, { 10: [1, 10] }, { 12: [1, 11] }, o($V4, [2, 6]), { 3: 12, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [2, 2] }, { 4: 17, 5: $V5, 7: 13, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 1] }, { 8: [1, 41] }, { 4: 17, 5: $V5, 7: 42, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 43, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 44, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 45, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 46, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 47, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 48, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 49, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 50, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 26: 51, 89: [1, 52], 90: [1, 53] }, { 55: 54, 89: [1, 55], 90: [1, 56] }, { 29: [1, 59], 61: [1, 57], 63: [1, 58] }, o($Vn, [2, 17]), o($Vn, [2, 18]), o($Vn, [2, 19]), o($Vn, [2, 20]), { 30: 60, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 30: 63, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 30: 64, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, o($Vp, [2, 29]), o($Vp, [2, 30]), o($Vp, [2, 31]), o($Vp, [2, 32]), o($Vp, [2, 33]), o($Vp, [2, 34]), o($Vq, [2, 81]), o($Vq, [2, 82]), { 1: [2, 3] }, { 8: [2, 8] }, { 8: [2, 9] }, { 8: [2, 10] }, { 8: [2, 11] }, { 8: [2, 12] }, { 8: [2, 13] }, { 8: [2, 14] }, { 8: [2, 15] }, { 8: [2, 16] }, { 27: [1, 65], 29: [1, 66] }, o($Vr, [2, 79]), o($Vr, [2, 80]), { 27: [1, 67], 29: [1, 68] }, o($Vr, [2, 85]), o($Vr, [2, 86]), { 62: 69, 65: $Vs, 66: $Vt, 67: $Vu, 68: $Vv, 69: $Vw, 70: $Vx, 71: $Vy }, { 62: 77, 65: $Vs, 66: $Vt, 67: $Vu, 68: $Vv, 69: $Vw, 70: $Vx, 71: $Vy }, { 30: 78, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 73: 79, 75: $Vz, 76: $VA, 78: 81, 79: 82, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }, o($VK, [2, 60]), o($VK, [2, 62]), { 73: 93, 75: $Vz, 76: $VA, 78: 81, 79: 82, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }, { 30: 94, 33: 62, 75: $Vo, 76: $VA, 89: $Vl, 90: $Vm }, { 5: [1, 95] }, { 30: 96, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 5: [1, 97] }, { 30: 98, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 63: [1, 99] }, o($VL, [2, 50]), o($VL, [2, 51]), o($VL, [2, 52]), o($VL, [2, 53]), o($VL, [2, 54]), o($VL, [2, 55]), o($VL, [2, 56]), { 64: [1, 100] }, o($Vn, [2, 59], { 76: $VA }), o($Vn, [2, 64], { 76: $VM }), { 33: 103, 75: [1, 102], 89: $Vl, 90: $Vm }, o($VN, [2, 65], { 79: 104, 75: $Vz, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }), o($VO, [2, 67]), o($VO, [2, 69]), o($VO, [2, 70]), o($VO, [2, 71]), o($VO, [2, 72]), o($VO, [2, 73]), o($VO, [2, 74]), o($VO, [2, 75]), o($VO, [2, 76]), o($VO, [2, 77]), o($VO, [2, 78]), o($Vn, [2, 57], { 76: $VM }), o($Vn, [2, 58], { 76: $VA }), { 5: $VP, 28: 105, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 27: [1, 112], 76: $VA }, { 5: $VV, 40: $VW, 56: 113, 57: $VX, 59: $VY }, { 27: [1, 118], 76: $VA }, { 33: 119, 89: $Vl, 90: $Vm }, { 33: 120, 89: $Vl, 90: $Vm }, { 75: $Vz, 78: 121, 79: 82, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }, o($VK, [2, 61]), o($VK, [2, 63]), o($VO, [2, 68]), o($Vn, [2, 21]), { 32: [1, 122] }, { 32: [1, 123] }, { 32: [1, 124] }, { 32: [1, 125] }, { 5: $VP, 28: 126, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, o($Vn, [2, 28]), { 5: [1, 127] }, o($Vn, [2, 42]), { 32: [1, 128] }, { 32: [1, 129] }, { 5: $VV, 40: $VW, 56: 130, 57: $VX, 59: $VY }, o($Vn, [2, 47]), { 5: [1, 131] }, o($Vn, [2, 48]), o($Vn, [2, 49]), o($VN, [2, 66], { 79: 104, 75: $Vz, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }), { 33: 132, 89: $Vl, 90: $Vm }, { 35: 133, 89: [1, 134], 90: [1, 135] }, { 37: 136, 47: [1, 137], 48: [1, 138], 49: [1, 139] }, { 39: 140, 50: [1, 141], 51: [1, 142], 52: [1, 143], 53: [1, 144] }, o($Vn, [2, 27]), { 5: $VP, 28: 145, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 58: 146, 89: [1, 147], 90: [1, 148] }, { 60: 149, 89: [1, 150], 90: [1, 151] }, o($Vn, [2, 46]), { 5: $VV, 40: $VW, 56: 152, 57: $VX, 59: $VY }, { 5: [1, 153] }, { 5: [1, 154] }, { 5: [2, 83] }, { 5: [2, 84] }, { 5: [1, 155] }, { 5: [2, 35] }, { 5: [2, 36] }, { 5: [2, 37] }, { 5: [1, 156] }, { 5: [2, 38] }, { 5: [2, 39] }, { 5: [2, 40] }, { 5: [2, 41] }, o($Vn, [2, 22]), { 5: [1, 157] }, { 5: [2, 87] }, { 5: [2, 88] }, { 5: [1, 158] }, { 5: [2, 89] }, { 5: [2, 90] }, o($Vn, [2, 43]), { 5: $VP, 28: 159, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VP, 28: 160, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VP, 28: 161, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VP, 28: 162, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VV, 40: $VW, 56: 163, 57: $VX, 59: $VY }, { 5: $VV, 40: $VW, 56: 164, 57: $VX, 59: $VY }, o($Vn, [2, 23]), o($Vn, [2, 24]), o($Vn, [2, 25]), o($Vn, [2, 26]), o($Vn, [2, 44]), o($Vn, [2, 45])],\n defaultActions: { 8: [2, 2], 12: [2, 1], 41: [2, 3], 42: [2, 8], 43: [2, 9], 44: [2, 10], 45: [2, 11], 46: [2, 12], 47: [2, 13], 48: [2, 14], 49: [2, 15], 50: [2, 16], 134: [2, 83], 135: [2, 84], 137: [2, 35], 138: [2, 36], 139: [2, 37], 141: [2, 38], 142: [2, 39], 143: [2, 40], 144: [2, 41], 147: [2, 87], 148: [2, 88], 150: [2, 89], 151: [2, 90] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return \"title\";\n break;\n case 1:\n this.begin(\"acc_title\");\n return 9;\n break;\n case 2:\n this.popState();\n return \"acc_title_value\";\n break;\n case 3:\n this.begin(\"acc_descr\");\n return 11;\n break;\n case 4:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 5:\n this.begin(\"acc_descr_multiline\");\n break;\n case 6:\n this.popState();\n break;\n case 7:\n return \"acc_descr_multiline_value\";\n break;\n case 8:\n return 21;\n break;\n case 9:\n return 22;\n break;\n case 10:\n return 23;\n break;\n case 11:\n return 24;\n break;\n case 12:\n return 5;\n break;\n case 13:\n break;\n case 14:\n break;\n case 15:\n break;\n case 16:\n return 8;\n break;\n case 17:\n return 6;\n break;\n case 18:\n return 27;\n break;\n case 19:\n return 40;\n break;\n case 20:\n return 29;\n break;\n case 21:\n return 32;\n break;\n case 22:\n return 31;\n break;\n case 23:\n return 34;\n break;\n case 24:\n return 36;\n break;\n case 25:\n return 38;\n break;\n case 26:\n return 41;\n break;\n case 27:\n return 42;\n break;\n case 28:\n return 43;\n break;\n case 29:\n return 44;\n break;\n case 30:\n return 45;\n break;\n case 31:\n return 46;\n break;\n case 32:\n return 47;\n break;\n case 33:\n return 48;\n break;\n case 34:\n return 49;\n break;\n case 35:\n return 50;\n break;\n case 36:\n return 51;\n break;\n case 37:\n return 52;\n break;\n case 38:\n return 53;\n break;\n case 39:\n return 54;\n break;\n case 40:\n return 65;\n break;\n case 41:\n return 66;\n break;\n case 42:\n return 67;\n break;\n case 43:\n return 68;\n break;\n case 44:\n return 69;\n break;\n case 45:\n return 70;\n break;\n case 46:\n return 71;\n break;\n case 47:\n return 57;\n break;\n case 48:\n return 59;\n break;\n case 49:\n this.begin(\"style\");\n return 77;\n break;\n case 50:\n return 75;\n break;\n case 51:\n return 81;\n break;\n case 52:\n return 88;\n break;\n case 53:\n return \"PERCENT\";\n break;\n case 54:\n return 86;\n break;\n case 55:\n return 84;\n break;\n case 56:\n break;\n case 57:\n this.begin(\"string\");\n break;\n case 58:\n this.popState();\n break;\n case 59:\n this.begin(\"style\");\n return 72;\n break;\n case 60:\n this.begin(\"style\");\n return 74;\n break;\n case 61:\n return 61;\n break;\n case 62:\n return 64;\n break;\n case 63:\n return 63;\n break;\n case 64:\n this.begin(\"string\");\n break;\n case 65:\n this.popState();\n break;\n case 66:\n return \"qString\";\n break;\n case 67:\n yy_.yytext = yy_.yytext.trim();\n return 89;\n break;\n case 68:\n return 75;\n break;\n case 69:\n return 80;\n break;\n case 70:\n return 76;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:(\\r?\\n)+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\\b)/i, /^(?:\\{)/i, /^(?:\\})/i, /^(?::{3})/i, /^(?::)/i, /^(?:id\\b)/i, /^(?:text\\b)/i, /^(?:risk\\b)/i, /^(?:verifyMethod\\b)/i, /^(?:requirement\\b)/i, /^(?:functionalRequirement\\b)/i, /^(?:interfaceRequirement\\b)/i, /^(?:performanceRequirement\\b)/i, /^(?:physicalRequirement\\b)/i, /^(?:designConstraint\\b)/i, /^(?:low\\b)/i, /^(?:medium\\b)/i, /^(?:high\\b)/i, /^(?:analysis\\b)/i, /^(?:demonstration\\b)/i, /^(?:inspection\\b)/i, /^(?:test\\b)/i, /^(?:element\\b)/i, /^(?:contains\\b)/i, /^(?:copies\\b)/i, /^(?:derives\\b)/i, /^(?:satisfies\\b)/i, /^(?:verifies\\b)/i, /^(?:refines\\b)/i, /^(?:traces\\b)/i, /^(?:type\\b)/i, /^(?:docref\\b)/i, /^(?:style\\b)/i, /^(?:\\w+)/i, /^(?::)/i, /^(?:;)/i, /^(?:%)/i, /^(?:-)/i, /^(?:#)/i, /^(?: )/i, /^(?:[\"])/i, /^(?:\\n)/i, /^(?:classDef\\b)/i, /^(?:class\\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[\\w][^:,\\r\\n\\{\\<\\>\\-\\=]*)/i, /^(?:\\w+)/i, /^(?:[0-9]+)/i, /^(?:,)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [6, 7, 68, 69, 70], \"inclusive\": false }, \"acc_descr\": { \"rules\": [4, 68, 69, 70], \"inclusive\": false }, \"acc_title\": { \"rules\": [2, 68, 69, 70], \"inclusive\": false }, \"style\": { \"rules\": [50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 69, 70], \"inclusive\": false }, \"unqString\": { \"rules\": [68, 69, 70], \"inclusive\": false }, \"token\": { \"rules\": [68, 69, 70], \"inclusive\": false }, \"string\": { \"rules\": [65, 66, 68, 69, 70], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 59, 60, 61, 62, 63, 64, 67, 68, 69, 70], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar requirementDiagram_default = parser;\n\n// src/diagrams/requirement/requirementDb.ts\nvar RequirementDB = class {\n constructor() {\n this.relations = [];\n this.latestRequirement = this.getInitialRequirement();\n this.requirements = /* @__PURE__ */ new Map();\n this.latestElement = this.getInitialElement();\n this.elements = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n this.direction = \"TB\";\n this.RequirementType = {\n REQUIREMENT: \"Requirement\",\n FUNCTIONAL_REQUIREMENT: \"Functional Requirement\",\n INTERFACE_REQUIREMENT: \"Interface Requirement\",\n PERFORMANCE_REQUIREMENT: \"Performance Requirement\",\n PHYSICAL_REQUIREMENT: \"Physical Requirement\",\n DESIGN_CONSTRAINT: \"Design Constraint\"\n };\n this.RiskLevel = {\n LOW_RISK: \"Low\",\n MED_RISK: \"Medium\",\n HIGH_RISK: \"High\"\n };\n this.VerifyType = {\n VERIFY_ANALYSIS: \"Analysis\",\n VERIFY_DEMONSTRATION: \"Demonstration\",\n VERIFY_INSPECTION: \"Inspection\",\n VERIFY_TEST: \"Test\"\n };\n this.Relationships = {\n CONTAINS: \"contains\",\n COPIES: \"copies\",\n DERIVES: \"derives\",\n SATISFIES: \"satisfies\",\n VERIFIES: \"verifies\",\n REFINES: \"refines\",\n TRACES: \"traces\"\n };\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setAccDescription = setAccDescription;\n this.getAccDescription = getAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getConfig = /* @__PURE__ */ __name(() => getConfig().requirement, \"getConfig\");\n this.clear();\n this.setDirection = this.setDirection.bind(this);\n this.addRequirement = this.addRequirement.bind(this);\n this.setNewReqId = this.setNewReqId.bind(this);\n this.setNewReqRisk = this.setNewReqRisk.bind(this);\n this.setNewReqText = this.setNewReqText.bind(this);\n this.setNewReqVerifyMethod = this.setNewReqVerifyMethod.bind(this);\n this.addElement = this.addElement.bind(this);\n this.setNewElementType = this.setNewElementType.bind(this);\n this.setNewElementDocRef = this.setNewElementDocRef.bind(this);\n this.addRelationship = this.addRelationship.bind(this);\n this.setCssStyle = this.setCssStyle.bind(this);\n this.setClass = this.setClass.bind(this);\n this.defineClass = this.defineClass.bind(this);\n this.setAccTitle = this.setAccTitle.bind(this);\n this.setAccDescription = this.setAccDescription.bind(this);\n }\n static {\n __name(this, \"RequirementDB\");\n }\n getDirection() {\n return this.direction;\n }\n setDirection(dir) {\n this.direction = dir;\n }\n resetLatestRequirement() {\n this.latestRequirement = this.getInitialRequirement();\n }\n resetLatestElement() {\n this.latestElement = this.getInitialElement();\n }\n getInitialRequirement() {\n return {\n requirementId: \"\",\n text: \"\",\n risk: \"\",\n verifyMethod: \"\",\n name: \"\",\n type: \"\",\n cssStyles: [],\n classes: [\"default\"]\n };\n }\n getInitialElement() {\n return {\n name: \"\",\n type: \"\",\n docRef: \"\",\n cssStyles: [],\n classes: [\"default\"]\n };\n }\n addRequirement(name, type) {\n if (!this.requirements.has(name)) {\n this.requirements.set(name, {\n name,\n type,\n requirementId: this.latestRequirement.requirementId,\n text: this.latestRequirement.text,\n risk: this.latestRequirement.risk,\n verifyMethod: this.latestRequirement.verifyMethod,\n cssStyles: [],\n classes: [\"default\"]\n });\n }\n this.resetLatestRequirement();\n return this.requirements.get(name);\n }\n getRequirements() {\n return this.requirements;\n }\n setNewReqId(id) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.requirementId = id;\n }\n }\n setNewReqText(text) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.text = text;\n }\n }\n setNewReqRisk(risk) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.risk = risk;\n }\n }\n setNewReqVerifyMethod(verifyMethod) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.verifyMethod = verifyMethod;\n }\n }\n addElement(name) {\n if (!this.elements.has(name)) {\n this.elements.set(name, {\n name,\n type: this.latestElement.type,\n docRef: this.latestElement.docRef,\n cssStyles: [],\n classes: [\"default\"]\n });\n log.info(\"Added new element: \", name);\n }\n this.resetLatestElement();\n return this.elements.get(name);\n }\n getElements() {\n return this.elements;\n }\n setNewElementType(type) {\n if (this.latestElement !== void 0) {\n this.latestElement.type = type;\n }\n }\n setNewElementDocRef(docRef) {\n if (this.latestElement !== void 0) {\n this.latestElement.docRef = docRef;\n }\n }\n addRelationship(type, src, dst) {\n this.relations.push({\n type,\n src,\n dst\n });\n }\n getRelationships() {\n return this.relations;\n }\n clear() {\n this.relations = [];\n this.resetLatestRequirement();\n this.requirements = /* @__PURE__ */ new Map();\n this.resetLatestElement();\n this.elements = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n clear();\n }\n setCssStyle(ids, styles) {\n for (const id of ids) {\n const node = this.requirements.get(id) ?? this.elements.get(id);\n if (!styles || !node) {\n return;\n }\n for (const s of styles) {\n if (s.includes(\",\")) {\n node.cssStyles.push(...s.split(\",\"));\n } else {\n node.cssStyles.push(s);\n }\n }\n }\n }\n setClass(ids, classNames) {\n for (const id of ids) {\n const node = this.requirements.get(id) ?? this.elements.get(id);\n if (node) {\n for (const _class of classNames) {\n node.classes.push(_class);\n const styles = this.classes.get(_class)?.styles;\n if (styles) {\n node.cssStyles.push(...styles);\n }\n }\n }\n }\n }\n defineClass(ids, style) {\n for (const id of ids) {\n let styleClass = this.classes.get(id);\n if (styleClass === void 0) {\n styleClass = { id, styles: [], textStyles: [] };\n this.classes.set(id, styleClass);\n }\n if (style) {\n style.forEach(function(s) {\n if (/color/.exec(s)) {\n const newStyle = s.replace(\"fill\", \"bgFill\");\n styleClass.textStyles.push(newStyle);\n }\n styleClass.styles.push(s);\n });\n }\n this.requirements.forEach((value) => {\n if (value.classes.includes(id)) {\n value.cssStyles.push(...style.flatMap((s) => s.split(\",\")));\n }\n });\n this.elements.forEach((value) => {\n if (value.classes.includes(id)) {\n value.cssStyles.push(...style.flatMap((s) => s.split(\",\")));\n }\n });\n }\n }\n getClasses() {\n return this.classes;\n }\n getData() {\n const config = getConfig();\n const nodes = [];\n const edges = [];\n for (const requirement of this.requirements.values()) {\n const node = requirement;\n node.id = requirement.name;\n node.cssStyles = requirement.cssStyles;\n node.cssClasses = requirement.classes.join(\" \");\n node.shape = \"requirementBox\";\n node.look = config.look;\n nodes.push(node);\n }\n for (const element of this.elements.values()) {\n const node = element;\n node.shape = \"requirementBox\";\n node.look = config.look;\n node.id = element.name;\n node.cssStyles = element.cssStyles;\n node.cssClasses = element.classes.join(\" \");\n nodes.push(node);\n }\n for (const relation of this.relations) {\n let counter = 0;\n const isContains = relation.type === this.Relationships.CONTAINS;\n const edge = {\n id: `${relation.src}-${relation.dst}-${counter}`,\n start: this.requirements.get(relation.src)?.name ?? this.elements.get(relation.src)?.name,\n end: this.requirements.get(relation.dst)?.name ?? this.elements.get(relation.dst)?.name,\n label: `<<${relation.type}>>`,\n classes: \"relationshipLine\",\n style: [\"fill:none\", isContains ? \"\" : \"stroke-dasharray: 10,7\"],\n labelpos: \"c\",\n thickness: \"normal\",\n type: \"normal\",\n pattern: isContains ? \"normal\" : \"dashed\",\n arrowTypeStart: isContains ? \"requirement_contains\" : \"\",\n arrowTypeEnd: isContains ? \"\" : \"requirement_arrow\",\n look: config.look\n };\n edges.push(edge);\n counter++;\n }\n return { nodes, edges, other: {}, config, direction: this.getDirection() };\n }\n};\n\n// src/diagrams/requirement/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\n\n marker {\n fill: ${options.relationColor};\n stroke: ${options.relationColor};\n }\n\n marker.cross {\n stroke: ${options.lineColor};\n }\n\n svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n\n .reqBox {\n fill: ${options.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${options.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${options.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${options.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${options.relationLabelColor};\n }\n .divider {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n }\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .label text,span {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n .labelBkg {\n background-color: ${options.edgeLabelBackground};\n }\n\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/requirement/requirementRenderer.ts\nvar requirementRenderer_exports = {};\n__export(requirementRenderer_exports, {\n draw: () => draw\n});\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing requirement diagram (unified)\", id);\n const { securityLevel, state: conf, layout } = getConfig();\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);\n data4Layout.nodeSpacing = conf?.nodeSpacing ?? 50;\n data4Layout.rankSpacing = conf?.rankSpacing ?? 50;\n data4Layout.markers = [\"requirement_contains\", \"requirement_arrow\"];\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"requirementDiagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, \"requirementDiagram\", conf?.useMaxWidth ?? true);\n}, \"draw\");\n\n// src/diagrams/requirement/requirementDiagram.ts\nvar diagram = {\n parser: requirementDiagram_default,\n get db() {\n return new RequirementDB();\n },\n renderer: requirementRenderer_exports,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "import {\n drawBackgroundRect,\n drawEmbeddedImage,\n drawImage,\n drawRect,\n getNoteRect,\n getTextObj\n} from \"./chunk-D6G4REZN.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-XZIHB7SX.mjs\";\nimport {\n ZERO_WIDTH_SPACE,\n parseFontSize,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n assignWithDepth_default,\n calculateMathMLDimensions,\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig,\n getConfig2,\n getDiagramTitle,\n hasKatex,\n log,\n renderKatex,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setConfig2 as setConfig,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/sequence/parser/sequenceDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 2], $V1 = [1, 3], $V2 = [1, 4], $V3 = [2, 4], $V4 = [1, 9], $V5 = [1, 11], $V6 = [1, 13], $V7 = [1, 14], $V8 = [1, 16], $V9 = [1, 17], $Va = [1, 18], $Vb = [1, 24], $Vc = [1, 25], $Vd = [1, 26], $Ve = [1, 27], $Vf = [1, 28], $Vg = [1, 29], $Vh = [1, 30], $Vi = [1, 31], $Vj = [1, 32], $Vk = [1, 33], $Vl = [1, 34], $Vm = [1, 35], $Vn = [1, 36], $Vo = [1, 37], $Vp = [1, 38], $Vq = [1, 39], $Vr = [1, 41], $Vs = [1, 42], $Vt = [1, 43], $Vu = [1, 44], $Vv = [1, 45], $Vw = [1, 46], $Vx = [1, 4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49, 50, 52, 53, 54, 59, 60, 61, 62, 70], $Vy = [4, 5, 16, 50, 52, 53], $Vz = [4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53, 54, 59, 60, 61, 62, 70], $VA = [4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 49, 50, 52, 53, 54, 59, 60, 61, 62, 70], $VB = [4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 48, 50, 52, 53, 54, 59, 60, 61, 62, 70], $VC = [4, 5, 13, 14, 16, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 47, 50, 52, 53, 54, 59, 60, 61, 62, 70], $VD = [68, 69, 70], $VE = [1, 122];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SPACE\": 4, \"NEWLINE\": 5, \"SD\": 6, \"document\": 7, \"line\": 8, \"statement\": 9, \"box_section\": 10, \"box_line\": 11, \"participant_statement\": 12, \"create\": 13, \"box\": 14, \"restOfLine\": 15, \"end\": 16, \"signal\": 17, \"autonumber\": 18, \"NUM\": 19, \"off\": 20, \"activate\": 21, \"actor\": 22, \"deactivate\": 23, \"note_statement\": 24, \"links_statement\": 25, \"link_statement\": 26, \"properties_statement\": 27, \"details_statement\": 28, \"title\": 29, \"legacy_title\": 30, \"acc_title\": 31, \"acc_title_value\": 32, \"acc_descr\": 33, \"acc_descr_value\": 34, \"acc_descr_multiline_value\": 35, \"loop\": 36, \"rect\": 37, \"opt\": 38, \"alt\": 39, \"else_sections\": 40, \"par\": 41, \"par_sections\": 42, \"par_over\": 43, \"critical\": 44, \"option_sections\": 45, \"break\": 46, \"option\": 47, \"and\": 48, \"else\": 49, \"participant\": 50, \"AS\": 51, \"participant_actor\": 52, \"destroy\": 53, \"note\": 54, \"placement\": 55, \"text2\": 56, \"over\": 57, \"actor_pair\": 58, \"links\": 59, \"link\": 60, \"properties\": 61, \"details\": 62, \"spaceList\": 63, \",\": 64, \"left_of\": 65, \"right_of\": 66, \"signaltype\": 67, \"+\": 68, \"-\": 69, \"ACTOR\": 70, \"SOLID_OPEN_ARROW\": 71, \"DOTTED_OPEN_ARROW\": 72, \"SOLID_ARROW\": 73, \"BIDIRECTIONAL_SOLID_ARROW\": 74, \"DOTTED_ARROW\": 75, \"BIDIRECTIONAL_DOTTED_ARROW\": 76, \"SOLID_CROSS\": 77, \"DOTTED_CROSS\": 78, \"SOLID_POINT\": 79, \"DOTTED_POINT\": 80, \"TXT\": 81, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SPACE\", 5: \"NEWLINE\", 6: \"SD\", 13: \"create\", 14: \"box\", 15: \"restOfLine\", 16: \"end\", 18: \"autonumber\", 19: \"NUM\", 20: \"off\", 21: \"activate\", 23: \"deactivate\", 29: \"title\", 30: \"legacy_title\", 31: \"acc_title\", 32: \"acc_title_value\", 33: \"acc_descr\", 34: \"acc_descr_value\", 35: \"acc_descr_multiline_value\", 36: \"loop\", 37: \"rect\", 38: \"opt\", 39: \"alt\", 41: \"par\", 43: \"par_over\", 44: \"critical\", 46: \"break\", 47: \"option\", 48: \"and\", 49: \"else\", 50: \"participant\", 51: \"AS\", 52: \"participant_actor\", 53: \"destroy\", 54: \"note\", 57: \"over\", 59: \"links\", 60: \"link\", 61: \"properties\", 62: \"details\", 64: \",\", 65: \"left_of\", 66: \"right_of\", 68: \"+\", 69: \"-\", 70: \"ACTOR\", 71: \"SOLID_OPEN_ARROW\", 72: \"DOTTED_OPEN_ARROW\", 73: \"SOLID_ARROW\", 74: \"BIDIRECTIONAL_SOLID_ARROW\", 75: \"DOTTED_ARROW\", 76: \"BIDIRECTIONAL_DOTTED_ARROW\", 77: \"SOLID_CROSS\", 78: \"DOTTED_CROSS\", 79: \"SOLID_POINT\", 80: \"DOTTED_POINT\", 81: \"TXT\" },\n productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [10, 0], [10, 2], [11, 2], [11, 1], [11, 1], [9, 1], [9, 2], [9, 4], [9, 2], [9, 4], [9, 3], [9, 3], [9, 2], [9, 3], [9, 3], [9, 2], [9, 2], [9, 2], [9, 2], [9, 2], [9, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 4], [9, 4], [9, 4], [9, 4], [9, 4], [9, 4], [9, 4], [9, 4], [45, 1], [45, 4], [42, 1], [42, 4], [40, 1], [40, 4], [12, 5], [12, 3], [12, 5], [12, 3], [12, 3], [24, 4], [24, 4], [25, 3], [26, 3], [27, 3], [28, 3], [63, 2], [63, 1], [58, 3], [58, 1], [55, 1], [55, 1], [17, 5], [17, 5], [17, 4], [22, 1], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [67, 1], [56, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.apply($$[$0]);\n return $$[$0];\n break;\n case 4:\n case 9:\n this.$ = [];\n break;\n case 5:\n case 10:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 6:\n case 7:\n case 11:\n case 12:\n this.$ = $$[$0];\n break;\n case 8:\n case 13:\n this.$ = [];\n break;\n case 15:\n $$[$0].type = \"createParticipant\";\n this.$ = $$[$0];\n break;\n case 16:\n $$[$0 - 1].unshift({ type: \"boxStart\", boxData: yy.parseBoxData($$[$0 - 2]) });\n $$[$0 - 1].push({ type: \"boxEnd\", boxText: $$[$0 - 2] });\n this.$ = $$[$0 - 1];\n break;\n case 18:\n this.$ = { type: \"sequenceIndex\", sequenceIndex: Number($$[$0 - 2]), sequenceIndexStep: Number($$[$0 - 1]), sequenceVisible: true, signalType: yy.LINETYPE.AUTONUMBER };\n break;\n case 19:\n this.$ = { type: \"sequenceIndex\", sequenceIndex: Number($$[$0 - 1]), sequenceIndexStep: 1, sequenceVisible: true, signalType: yy.LINETYPE.AUTONUMBER };\n break;\n case 20:\n this.$ = { type: \"sequenceIndex\", sequenceVisible: false, signalType: yy.LINETYPE.AUTONUMBER };\n break;\n case 21:\n this.$ = { type: \"sequenceIndex\", sequenceVisible: true, signalType: yy.LINETYPE.AUTONUMBER };\n break;\n case 22:\n this.$ = { type: \"activeStart\", signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0 - 1].actor };\n break;\n case 23:\n this.$ = { type: \"activeEnd\", signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0 - 1].actor };\n break;\n case 29:\n yy.setDiagramTitle($$[$0].substring(6));\n this.$ = $$[$0].substring(6);\n break;\n case 30:\n yy.setDiagramTitle($$[$0].substring(7));\n this.$ = $$[$0].substring(7);\n break;\n case 31:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 32:\n case 33:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 34:\n $$[$0 - 1].unshift({ type: \"loopStart\", loopText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.LOOP_START });\n $$[$0 - 1].push({ type: \"loopEnd\", loopText: $$[$0 - 2], signalType: yy.LINETYPE.LOOP_END });\n this.$ = $$[$0 - 1];\n break;\n case 35:\n $$[$0 - 1].unshift({ type: \"rectStart\", color: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.RECT_START });\n $$[$0 - 1].push({ type: \"rectEnd\", color: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.RECT_END });\n this.$ = $$[$0 - 1];\n break;\n case 36:\n $$[$0 - 1].unshift({ type: \"optStart\", optText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.OPT_START });\n $$[$0 - 1].push({ type: \"optEnd\", optText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.OPT_END });\n this.$ = $$[$0 - 1];\n break;\n case 37:\n $$[$0 - 1].unshift({ type: \"altStart\", altText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.ALT_START });\n $$[$0 - 1].push({ type: \"altEnd\", signalType: yy.LINETYPE.ALT_END });\n this.$ = $$[$0 - 1];\n break;\n case 38:\n $$[$0 - 1].unshift({ type: \"parStart\", parText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.PAR_START });\n $$[$0 - 1].push({ type: \"parEnd\", signalType: yy.LINETYPE.PAR_END });\n this.$ = $$[$0 - 1];\n break;\n case 39:\n $$[$0 - 1].unshift({ type: \"parStart\", parText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.PAR_OVER_START });\n $$[$0 - 1].push({ type: \"parEnd\", signalType: yy.LINETYPE.PAR_END });\n this.$ = $$[$0 - 1];\n break;\n case 40:\n $$[$0 - 1].unshift({ type: \"criticalStart\", criticalText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.CRITICAL_START });\n $$[$0 - 1].push({ type: \"criticalEnd\", signalType: yy.LINETYPE.CRITICAL_END });\n this.$ = $$[$0 - 1];\n break;\n case 41:\n $$[$0 - 1].unshift({ type: \"breakStart\", breakText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.BREAK_START });\n $$[$0 - 1].push({ type: \"breakEnd\", optText: yy.parseMessage($$[$0 - 2]), signalType: yy.LINETYPE.BREAK_END });\n this.$ = $$[$0 - 1];\n break;\n case 43:\n this.$ = $$[$0 - 3].concat([{ type: \"option\", optionText: yy.parseMessage($$[$0 - 1]), signalType: yy.LINETYPE.CRITICAL_OPTION }, $$[$0]]);\n break;\n case 45:\n this.$ = $$[$0 - 3].concat([{ type: \"and\", parText: yy.parseMessage($$[$0 - 1]), signalType: yy.LINETYPE.PAR_AND }, $$[$0]]);\n break;\n case 47:\n this.$ = $$[$0 - 3].concat([{ type: \"else\", altText: yy.parseMessage($$[$0 - 1]), signalType: yy.LINETYPE.ALT_ELSE }, $$[$0]]);\n break;\n case 48:\n $$[$0 - 3].draw = \"participant\";\n $$[$0 - 3].type = \"addParticipant\";\n $$[$0 - 3].description = yy.parseMessage($$[$0 - 1]);\n this.$ = $$[$0 - 3];\n break;\n case 49:\n $$[$0 - 1].draw = \"participant\";\n $$[$0 - 1].type = \"addParticipant\";\n this.$ = $$[$0 - 1];\n break;\n case 50:\n $$[$0 - 3].draw = \"actor\";\n $$[$0 - 3].type = \"addParticipant\";\n $$[$0 - 3].description = yy.parseMessage($$[$0 - 1]);\n this.$ = $$[$0 - 3];\n break;\n case 51:\n $$[$0 - 1].draw = \"actor\";\n $$[$0 - 1].type = \"addParticipant\";\n this.$ = $$[$0 - 1];\n break;\n case 52:\n $$[$0 - 1].type = \"destroyParticipant\";\n this.$ = $$[$0 - 1];\n break;\n case 53:\n this.$ = [$$[$0 - 1], { type: \"addNote\", placement: $$[$0 - 2], actor: $$[$0 - 1].actor, text: $$[$0] }];\n break;\n case 54:\n $$[$0 - 2] = [].concat($$[$0 - 1], $$[$0 - 1]).slice(0, 2);\n $$[$0 - 2][0] = $$[$0 - 2][0].actor;\n $$[$0 - 2][1] = $$[$0 - 2][1].actor;\n this.$ = [$$[$0 - 1], { type: \"addNote\", placement: yy.PLACEMENT.OVER, actor: $$[$0 - 2].slice(0, 2), text: $$[$0] }];\n break;\n case 55:\n this.$ = [$$[$0 - 1], { type: \"addLinks\", actor: $$[$0 - 1].actor, text: $$[$0] }];\n break;\n case 56:\n this.$ = [$$[$0 - 1], { type: \"addALink\", actor: $$[$0 - 1].actor, text: $$[$0] }];\n break;\n case 57:\n this.$ = [$$[$0 - 1], { type: \"addProperties\", actor: $$[$0 - 1].actor, text: $$[$0] }];\n break;\n case 58:\n this.$ = [$$[$0 - 1], { type: \"addDetails\", actor: $$[$0 - 1].actor, text: $$[$0] }];\n break;\n case 61:\n this.$ = [$$[$0 - 2], $$[$0]];\n break;\n case 62:\n this.$ = $$[$0];\n break;\n case 63:\n this.$ = yy.PLACEMENT.LEFTOF;\n break;\n case 64:\n this.$ = yy.PLACEMENT.RIGHTOF;\n break;\n case 65:\n this.$ = [\n $$[$0 - 4],\n $$[$0 - 1],\n { type: \"addMessage\", from: $$[$0 - 4].actor, to: $$[$0 - 1].actor, signalType: $$[$0 - 3], msg: $$[$0], activate: true },\n { type: \"activeStart\", signalType: yy.LINETYPE.ACTIVE_START, actor: $$[$0 - 1].actor }\n ];\n break;\n case 66:\n this.$ = [\n $$[$0 - 4],\n $$[$0 - 1],\n { type: \"addMessage\", from: $$[$0 - 4].actor, to: $$[$0 - 1].actor, signalType: $$[$0 - 3], msg: $$[$0] },\n { type: \"activeEnd\", signalType: yy.LINETYPE.ACTIVE_END, actor: $$[$0 - 4].actor }\n ];\n break;\n case 67:\n this.$ = [$$[$0 - 3], $$[$0 - 1], { type: \"addMessage\", from: $$[$0 - 3].actor, to: $$[$0 - 1].actor, signalType: $$[$0 - 2], msg: $$[$0] }];\n break;\n case 68:\n this.$ = { type: \"addParticipant\", actor: $$[$0] };\n break;\n case 69:\n this.$ = yy.LINETYPE.SOLID_OPEN;\n break;\n case 70:\n this.$ = yy.LINETYPE.DOTTED_OPEN;\n break;\n case 71:\n this.$ = yy.LINETYPE.SOLID;\n break;\n case 72:\n this.$ = yy.LINETYPE.BIDIRECTIONAL_SOLID;\n break;\n case 73:\n this.$ = yy.LINETYPE.DOTTED;\n break;\n case 74:\n this.$ = yy.LINETYPE.BIDIRECTIONAL_DOTTED;\n break;\n case 75:\n this.$ = yy.LINETYPE.SOLID_CROSS;\n break;\n case 76:\n this.$ = yy.LINETYPE.DOTTED_CROSS;\n break;\n case 77:\n this.$ = yy.LINETYPE.SOLID_POINT;\n break;\n case 78:\n this.$ = yy.LINETYPE.DOTTED_POINT;\n break;\n case 79:\n this.$ = yy.parseMessage($$[$0].trim().substring(1));\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: $V0, 5: $V1, 6: $V2 }, { 1: [3] }, { 3: 5, 4: $V0, 5: $V1, 6: $V2 }, { 3: 6, 4: $V0, 5: $V1, 6: $V2 }, o([1, 4, 5, 13, 14, 18, 21, 23, 29, 30, 31, 33, 35, 36, 37, 38, 39, 41, 43, 44, 46, 50, 52, 53, 54, 59, 60, 61, 62, 70], $V3, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, o($Vx, [2, 5]), { 9: 47, 12: 12, 13: $V6, 14: $V7, 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, o($Vx, [2, 7]), o($Vx, [2, 8]), o($Vx, [2, 14]), { 12: 48, 50: $Vo, 52: $Vp, 53: $Vq }, { 15: [1, 49] }, { 5: [1, 50] }, { 5: [1, 53], 19: [1, 51], 20: [1, 52] }, { 22: 54, 70: $Vw }, { 22: 55, 70: $Vw }, { 5: [1, 56] }, { 5: [1, 57] }, { 5: [1, 58] }, { 5: [1, 59] }, { 5: [1, 60] }, o($Vx, [2, 29]), o($Vx, [2, 30]), { 32: [1, 61] }, { 34: [1, 62] }, o($Vx, [2, 33]), { 15: [1, 63] }, { 15: [1, 64] }, { 15: [1, 65] }, { 15: [1, 66] }, { 15: [1, 67] }, { 15: [1, 68] }, { 15: [1, 69] }, { 15: [1, 70] }, { 22: 71, 70: $Vw }, { 22: 72, 70: $Vw }, { 22: 73, 70: $Vw }, { 67: 74, 71: [1, 75], 72: [1, 76], 73: [1, 77], 74: [1, 78], 75: [1, 79], 76: [1, 80], 77: [1, 81], 78: [1, 82], 79: [1, 83], 80: [1, 84] }, { 55: 85, 57: [1, 86], 65: [1, 87], 66: [1, 88] }, { 22: 89, 70: $Vw }, { 22: 90, 70: $Vw }, { 22: 91, 70: $Vw }, { 22: 92, 70: $Vw }, o([5, 51, 64, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81], [2, 68]), o($Vx, [2, 6]), o($Vx, [2, 15]), o($Vy, [2, 9], { 10: 93 }), o($Vx, [2, 17]), { 5: [1, 95], 19: [1, 94] }, { 5: [1, 96] }, o($Vx, [2, 21]), { 5: [1, 97] }, { 5: [1, 98] }, o($Vx, [2, 24]), o($Vx, [2, 25]), o($Vx, [2, 26]), o($Vx, [2, 27]), o($Vx, [2, 28]), o($Vx, [2, 31]), o($Vx, [2, 32]), o($Vz, $V3, { 7: 99 }), o($Vz, $V3, { 7: 100 }), o($Vz, $V3, { 7: 101 }), o($VA, $V3, { 40: 102, 7: 103 }), o($VB, $V3, { 42: 104, 7: 105 }), o($VB, $V3, { 7: 105, 42: 106 }), o($VC, $V3, { 45: 107, 7: 108 }), o($Vz, $V3, { 7: 109 }), { 5: [1, 111], 51: [1, 110] }, { 5: [1, 113], 51: [1, 112] }, { 5: [1, 114] }, { 22: 117, 68: [1, 115], 69: [1, 116], 70: $Vw }, o($VD, [2, 69]), o($VD, [2, 70]), o($VD, [2, 71]), o($VD, [2, 72]), o($VD, [2, 73]), o($VD, [2, 74]), o($VD, [2, 75]), o($VD, [2, 76]), o($VD, [2, 77]), o($VD, [2, 78]), { 22: 118, 70: $Vw }, { 22: 120, 58: 119, 70: $Vw }, { 70: [2, 63] }, { 70: [2, 64] }, { 56: 121, 81: $VE }, { 56: 123, 81: $VE }, { 56: 124, 81: $VE }, { 56: 125, 81: $VE }, { 4: [1, 128], 5: [1, 130], 11: 127, 12: 129, 16: [1, 126], 50: $Vo, 52: $Vp, 53: $Vq }, { 5: [1, 131] }, o($Vx, [2, 19]), o($Vx, [2, 20]), o($Vx, [2, 22]), o($Vx, [2, 23]), { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [1, 132], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [1, 133], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [1, 134], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 16: [1, 135] }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [2, 46], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 49: [1, 136], 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 16: [1, 137] }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [2, 44], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 48: [1, 138], 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 16: [1, 139] }, { 16: [1, 140] }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [2, 42], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 47: [1, 141], 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 4: $V4, 5: $V5, 8: 8, 9: 10, 12: 12, 13: $V6, 14: $V7, 16: [1, 142], 17: 15, 18: $V8, 21: $V9, 22: 40, 23: $Va, 24: 19, 25: 20, 26: 21, 27: 22, 28: 23, 29: $Vb, 30: $Vc, 31: $Vd, 33: $Ve, 35: $Vf, 36: $Vg, 37: $Vh, 38: $Vi, 39: $Vj, 41: $Vk, 43: $Vl, 44: $Vm, 46: $Vn, 50: $Vo, 52: $Vp, 53: $Vq, 54: $Vr, 59: $Vs, 60: $Vt, 61: $Vu, 62: $Vv, 70: $Vw }, { 15: [1, 143] }, o($Vx, [2, 49]), { 15: [1, 144] }, o($Vx, [2, 51]), o($Vx, [2, 52]), { 22: 145, 70: $Vw }, { 22: 146, 70: $Vw }, { 56: 147, 81: $VE }, { 56: 148, 81: $VE }, { 56: 149, 81: $VE }, { 64: [1, 150], 81: [2, 62] }, { 5: [2, 55] }, { 5: [2, 79] }, { 5: [2, 56] }, { 5: [2, 57] }, { 5: [2, 58] }, o($Vx, [2, 16]), o($Vy, [2, 10]), { 12: 151, 50: $Vo, 52: $Vp, 53: $Vq }, o($Vy, [2, 12]), o($Vy, [2, 13]), o($Vx, [2, 18]), o($Vx, [2, 34]), o($Vx, [2, 35]), o($Vx, [2, 36]), o($Vx, [2, 37]), { 15: [1, 152] }, o($Vx, [2, 38]), { 15: [1, 153] }, o($Vx, [2, 39]), o($Vx, [2, 40]), { 15: [1, 154] }, o($Vx, [2, 41]), { 5: [1, 155] }, { 5: [1, 156] }, { 56: 157, 81: $VE }, { 56: 158, 81: $VE }, { 5: [2, 67] }, { 5: [2, 53] }, { 5: [2, 54] }, { 22: 159, 70: $Vw }, o($Vy, [2, 11]), o($VA, $V3, { 7: 103, 40: 160 }), o($VB, $V3, { 7: 105, 42: 161 }), o($VC, $V3, { 7: 108, 45: 162 }), o($Vx, [2, 48]), o($Vx, [2, 50]), { 5: [2, 65] }, { 5: [2, 66] }, { 81: [2, 61] }, { 16: [2, 47] }, { 16: [2, 45] }, { 16: [2, 43] }],\n defaultActions: { 5: [2, 1], 6: [2, 2], 87: [2, 63], 88: [2, 64], 121: [2, 55], 122: [2, 79], 123: [2, 56], 124: [2, 57], 125: [2, 58], 147: [2, 67], 148: [2, 53], 149: [2, 54], 157: [2, 65], 158: [2, 66], 159: [2, 61], 160: [2, 47], 161: [2, 45], 162: [2, 43] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 5;\n break;\n case 1:\n break;\n case 2:\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n break;\n case 6:\n return 19;\n break;\n case 7:\n this.begin(\"LINE\");\n return 14;\n break;\n case 8:\n this.begin(\"ID\");\n return 50;\n break;\n case 9:\n this.begin(\"ID\");\n return 52;\n break;\n case 10:\n return 13;\n break;\n case 11:\n this.begin(\"ID\");\n return 53;\n break;\n case 12:\n yy_.yytext = yy_.yytext.trim();\n this.begin(\"ALIAS\");\n return 70;\n break;\n case 13:\n this.popState();\n this.popState();\n this.begin(\"LINE\");\n return 51;\n break;\n case 14:\n this.popState();\n this.popState();\n return 5;\n break;\n case 15:\n this.begin(\"LINE\");\n return 36;\n break;\n case 16:\n this.begin(\"LINE\");\n return 37;\n break;\n case 17:\n this.begin(\"LINE\");\n return 38;\n break;\n case 18:\n this.begin(\"LINE\");\n return 39;\n break;\n case 19:\n this.begin(\"LINE\");\n return 49;\n break;\n case 20:\n this.begin(\"LINE\");\n return 41;\n break;\n case 21:\n this.begin(\"LINE\");\n return 43;\n break;\n case 22:\n this.begin(\"LINE\");\n return 48;\n break;\n case 23:\n this.begin(\"LINE\");\n return 44;\n break;\n case 24:\n this.begin(\"LINE\");\n return 47;\n break;\n case 25:\n this.begin(\"LINE\");\n return 46;\n break;\n case 26:\n this.popState();\n return 15;\n break;\n case 27:\n return 16;\n break;\n case 28:\n return 65;\n break;\n case 29:\n return 66;\n break;\n case 30:\n return 59;\n break;\n case 31:\n return 60;\n break;\n case 32:\n return 61;\n break;\n case 33:\n return 62;\n break;\n case 34:\n return 57;\n break;\n case 35:\n return 54;\n break;\n case 36:\n this.begin(\"ID\");\n return 21;\n break;\n case 37:\n this.begin(\"ID\");\n return 23;\n break;\n case 38:\n return 29;\n break;\n case 39:\n return 30;\n break;\n case 40:\n this.begin(\"acc_title\");\n return 31;\n break;\n case 41:\n this.popState();\n return \"acc_title_value\";\n break;\n case 42:\n this.begin(\"acc_descr\");\n return 33;\n break;\n case 43:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 44:\n this.begin(\"acc_descr_multiline\");\n break;\n case 45:\n this.popState();\n break;\n case 46:\n return \"acc_descr_multiline_value\";\n break;\n case 47:\n return 6;\n break;\n case 48:\n return 18;\n break;\n case 49:\n return 20;\n break;\n case 50:\n return 64;\n break;\n case 51:\n return 5;\n break;\n case 52:\n yy_.yytext = yy_.yytext.trim();\n return 70;\n break;\n case 53:\n return 73;\n break;\n case 54:\n return 74;\n break;\n case 55:\n return 75;\n break;\n case 56:\n return 76;\n break;\n case 57:\n return 71;\n break;\n case 58:\n return 72;\n break;\n case 59:\n return 77;\n break;\n case 60:\n return 78;\n break;\n case 61:\n return 79;\n break;\n case 62:\n return 80;\n break;\n case 63:\n return 81;\n break;\n case 64:\n return 68;\n break;\n case 65:\n return 69;\n break;\n case 66:\n return 5;\n break;\n case 67:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:((?!\\n)\\s)+)/i, /^(?:#[^\\n]*)/i, /^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[0-9]+(?=[ \\n]+))/i, /^(?:box\\b)/i, /^(?:participant\\b)/i, /^(?:actor\\b)/i, /^(?:create\\b)/i, /^(?:destroy\\b)/i, /^(?:[^\\<->\\->:\\n,;]+?([\\-]*[^\\<->\\->:\\n,;]+?)*?(?=((?!\\n)\\s)+as(?!\\n)\\s|[#\\n;]|$))/i, /^(?:as\\b)/i, /^(?:(?:))/i, /^(?:loop\\b)/i, /^(?:rect\\b)/i, /^(?:opt\\b)/i, /^(?:alt\\b)/i, /^(?:else\\b)/i, /^(?:par\\b)/i, /^(?:par_over\\b)/i, /^(?:and\\b)/i, /^(?:critical\\b)/i, /^(?:option\\b)/i, /^(?:break\\b)/i, /^(?:(?:[:]?(?:no)?wrap)?[^#\\n;]*)/i, /^(?:end\\b)/i, /^(?:left of\\b)/i, /^(?:right of\\b)/i, /^(?:links\\b)/i, /^(?:link\\b)/i, /^(?:properties\\b)/i, /^(?:details\\b)/i, /^(?:over\\b)/i, /^(?:note\\b)/i, /^(?:activate\\b)/i, /^(?:deactivate\\b)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:title:\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:sequenceDiagram\\b)/i, /^(?:autonumber\\b)/i, /^(?:off\\b)/i, /^(?:,)/i, /^(?:;)/i, /^(?:[^\\+\\<->\\->:\\n,;]+((?!(-x|--x|-\\)|--\\)))[\\-]*[^\\+\\<->\\->:\\n,;]+)*)/i, /^(?:->>)/i, /^(?:<<->>)/i, /^(?:-->>)/i, /^(?:<<-->>)/i, /^(?:->)/i, /^(?:-->)/i, /^(?:-[x])/i, /^(?:--[x])/i, /^(?:-[\\)])/i, /^(?:--[\\)])/i, /^(?::(?:(?:no)?wrap)?[^#\\n;]+)/i, /^(?:\\+)/i, /^(?:-)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [45, 46], \"inclusive\": false }, \"acc_descr\": { \"rules\": [43], \"inclusive\": false }, \"acc_title\": { \"rules\": [41], \"inclusive\": false }, \"ID\": { \"rules\": [2, 3, 12], \"inclusive\": false }, \"ALIAS\": { \"rules\": [2, 3, 13, 14], \"inclusive\": false }, \"LINE\": { \"rules\": [2, 3, 26], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar sequenceDiagram_default = parser;\n\n// src/diagrams/sequence/sequenceDb.ts\nvar LINETYPE = {\n SOLID: 0,\n DOTTED: 1,\n NOTE: 2,\n SOLID_CROSS: 3,\n DOTTED_CROSS: 4,\n SOLID_OPEN: 5,\n DOTTED_OPEN: 6,\n LOOP_START: 10,\n LOOP_END: 11,\n ALT_START: 12,\n ALT_ELSE: 13,\n ALT_END: 14,\n OPT_START: 15,\n OPT_END: 16,\n ACTIVE_START: 17,\n ACTIVE_END: 18,\n PAR_START: 19,\n PAR_AND: 20,\n PAR_END: 21,\n RECT_START: 22,\n RECT_END: 23,\n SOLID_POINT: 24,\n DOTTED_POINT: 25,\n AUTONUMBER: 26,\n CRITICAL_START: 27,\n CRITICAL_OPTION: 28,\n CRITICAL_END: 29,\n BREAK_START: 30,\n BREAK_END: 31,\n PAR_OVER_START: 32,\n BIDIRECTIONAL_SOLID: 33,\n BIDIRECTIONAL_DOTTED: 34\n};\nvar ARROWTYPE = {\n FILLED: 0,\n OPEN: 1\n};\nvar PLACEMENT = {\n LEFTOF: 0,\n RIGHTOF: 1,\n OVER: 2\n};\nvar SequenceDB = class {\n constructor() {\n this.state = new ImperativeState(() => ({\n prevActor: void 0,\n actors: /* @__PURE__ */ new Map(),\n createdActors: /* @__PURE__ */ new Map(),\n destroyedActors: /* @__PURE__ */ new Map(),\n boxes: [],\n messages: [],\n notes: [],\n sequenceNumbersEnabled: false,\n wrapEnabled: void 0,\n currentBox: void 0,\n lastCreated: void 0,\n lastDestroyed: void 0\n }));\n this.setAccTitle = setAccTitle;\n this.setAccDescription = setAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getAccTitle = getAccTitle;\n this.getAccDescription = getAccDescription;\n this.getDiagramTitle = getDiagramTitle;\n this.apply = this.apply.bind(this);\n this.parseBoxData = this.parseBoxData.bind(this);\n this.parseMessage = this.parseMessage.bind(this);\n this.clear();\n this.setWrap(getConfig2().wrap);\n this.LINETYPE = LINETYPE;\n this.ARROWTYPE = ARROWTYPE;\n this.PLACEMENT = PLACEMENT;\n }\n static {\n __name(this, \"SequenceDB\");\n }\n addBox(data) {\n this.state.records.boxes.push({\n name: data.text,\n wrap: data.wrap ?? this.autoWrap(),\n fill: data.color,\n actorKeys: []\n });\n this.state.records.currentBox = this.state.records.boxes.slice(-1)[0];\n }\n addActor(id, name, description, type) {\n let assignedBox = this.state.records.currentBox;\n const old = this.state.records.actors.get(id);\n if (old) {\n if (this.state.records.currentBox && old.box && this.state.records.currentBox !== old.box) {\n throw new Error(\n `A same participant should only be defined in one Box: ${old.name} can't be in '${old.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`\n );\n }\n assignedBox = old.box ? old.box : this.state.records.currentBox;\n old.box = assignedBox;\n if (old && name === old.name && description == null) {\n return;\n }\n }\n if (description?.text == null) {\n description = { text: name, type };\n }\n if (type == null || description.text == null) {\n description = { text: name, type };\n }\n this.state.records.actors.set(id, {\n box: assignedBox,\n name,\n description: description.text,\n wrap: description.wrap ?? this.autoWrap(),\n prevActor: this.state.records.prevActor,\n links: {},\n properties: {},\n actorCnt: null,\n rectData: null,\n type: type ?? \"participant\"\n });\n if (this.state.records.prevActor) {\n const prevActorInRecords = this.state.records.actors.get(this.state.records.prevActor);\n if (prevActorInRecords) {\n prevActorInRecords.nextActor = id;\n }\n }\n if (this.state.records.currentBox) {\n this.state.records.currentBox.actorKeys.push(id);\n }\n this.state.records.prevActor = id;\n }\n activationCount(part) {\n let i;\n let count = 0;\n if (!part) {\n return 0;\n }\n for (i = 0; i < this.state.records.messages.length; i++) {\n if (this.state.records.messages[i].type === this.LINETYPE.ACTIVE_START && this.state.records.messages[i].from === part) {\n count++;\n }\n if (this.state.records.messages[i].type === this.LINETYPE.ACTIVE_END && this.state.records.messages[i].from === part) {\n count--;\n }\n }\n return count;\n }\n addMessage(idFrom, idTo, message, answer) {\n this.state.records.messages.push({\n id: this.state.records.messages.length.toString(),\n from: idFrom,\n to: idTo,\n message: message.text,\n wrap: message.wrap ?? this.autoWrap(),\n answer\n });\n }\n addSignal(idFrom, idTo, message, messageType, activate = false) {\n if (messageType === this.LINETYPE.ACTIVE_END) {\n const cnt = this.activationCount(idFrom ?? \"\");\n if (cnt < 1) {\n const error = new Error(\"Trying to inactivate an inactive participant (\" + idFrom + \")\");\n error.hash = {\n text: \"->>-\",\n token: \"->>-\",\n line: \"1\",\n loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },\n expected: [\"'ACTIVE_PARTICIPANT'\"]\n };\n throw error;\n }\n }\n this.state.records.messages.push({\n id: this.state.records.messages.length.toString(),\n from: idFrom,\n to: idTo,\n message: message?.text ?? \"\",\n wrap: message?.wrap ?? this.autoWrap(),\n type: messageType,\n activate\n });\n return true;\n }\n hasAtLeastOneBox() {\n return this.state.records.boxes.length > 0;\n }\n hasAtLeastOneBoxWithTitle() {\n return this.state.records.boxes.some((b) => b.name);\n }\n getMessages() {\n return this.state.records.messages;\n }\n getBoxes() {\n return this.state.records.boxes;\n }\n getActors() {\n return this.state.records.actors;\n }\n getCreatedActors() {\n return this.state.records.createdActors;\n }\n getDestroyedActors() {\n return this.state.records.destroyedActors;\n }\n getActor(id) {\n return this.state.records.actors.get(id);\n }\n getActorKeys() {\n return [...this.state.records.actors.keys()];\n }\n enableSequenceNumbers() {\n this.state.records.sequenceNumbersEnabled = true;\n }\n disableSequenceNumbers() {\n this.state.records.sequenceNumbersEnabled = false;\n }\n showSequenceNumbers() {\n return this.state.records.sequenceNumbersEnabled;\n }\n setWrap(wrapSetting) {\n this.state.records.wrapEnabled = wrapSetting;\n }\n extractWrap(text) {\n if (text === void 0) {\n return {};\n }\n text = text.trim();\n const wrap = /^:?wrap:/.exec(text) !== null ? true : /^:?nowrap:/.exec(text) !== null ? false : void 0;\n const cleanedText = (wrap === void 0 ? text : text.replace(/^:?(?:no)?wrap:/, \"\")).trim();\n return { cleanedText, wrap };\n }\n autoWrap() {\n if (this.state.records.wrapEnabled !== void 0) {\n return this.state.records.wrapEnabled;\n }\n return getConfig2().sequence?.wrap ?? false;\n }\n clear() {\n this.state.reset();\n clear();\n }\n parseMessage(str) {\n const trimmedStr = str.trim();\n const { wrap, cleanedText } = this.extractWrap(trimmedStr);\n const message = {\n text: cleanedText,\n wrap\n };\n log.debug(`parseMessage: ${JSON.stringify(message)}`);\n return message;\n }\n // We expect the box statement to be color first then description\n // The color can be rgb,rgba,hsl,hsla, or css code names #hex codes are not supported for now because of the way the char # is handled\n // We extract first segment as color, the rest of the line is considered as text\n parseBoxData(str) {\n const match = /^((?:rgba?|hsla?)\\s*\\(.*\\)|\\w*)(.*)$/.exec(str);\n let color = match?.[1] ? match[1].trim() : \"transparent\";\n let title = match?.[2] ? match[2].trim() : void 0;\n if (window?.CSS) {\n if (!window.CSS.supports(\"color\", color)) {\n color = \"transparent\";\n title = str.trim();\n }\n } else {\n const style = new Option().style;\n style.color = color;\n if (style.color !== color) {\n color = \"transparent\";\n title = str.trim();\n }\n }\n const { wrap, cleanedText } = this.extractWrap(title);\n return {\n text: cleanedText ? sanitizeText(cleanedText, getConfig2()) : void 0,\n color,\n wrap\n };\n }\n addNote(actor, placement, message) {\n const note = {\n actor,\n placement,\n message: message.text,\n wrap: message.wrap ?? this.autoWrap()\n };\n const actors = [].concat(actor, actor);\n this.state.records.notes.push(note);\n this.state.records.messages.push({\n id: this.state.records.messages.length.toString(),\n from: actors[0],\n to: actors[1],\n message: message.text,\n wrap: message.wrap ?? this.autoWrap(),\n type: this.LINETYPE.NOTE,\n placement\n });\n }\n addLinks(actorId, text) {\n const actor = this.getActor(actorId);\n try {\n let sanitizedText = sanitizeText(text.text, getConfig2());\n sanitizedText = sanitizedText.replace(/=/g, \"=\");\n sanitizedText = sanitizedText.replace(/&/g, \"&\");\n const links = JSON.parse(sanitizedText);\n this.insertLinks(actor, links);\n } catch (e) {\n log.error(\"error while parsing actor link text\", e);\n }\n }\n addALink(actorId, text) {\n const actor = this.getActor(actorId);\n try {\n const links = {};\n let sanitizedText = sanitizeText(text.text, getConfig2());\n const sep = sanitizedText.indexOf(\"@\");\n sanitizedText = sanitizedText.replace(/=/g, \"=\");\n sanitizedText = sanitizedText.replace(/&/g, \"&\");\n const label = sanitizedText.slice(0, sep - 1).trim();\n const link = sanitizedText.slice(sep + 1).trim();\n links[label] = link;\n this.insertLinks(actor, links);\n } catch (e) {\n log.error(\"error while parsing actor link text\", e);\n }\n }\n insertLinks(actor, links) {\n if (actor.links == null) {\n actor.links = links;\n } else {\n for (const key in links) {\n actor.links[key] = links[key];\n }\n }\n }\n addProperties(actorId, text) {\n const actor = this.getActor(actorId);\n try {\n const sanitizedText = sanitizeText(text.text, getConfig2());\n const properties = JSON.parse(sanitizedText);\n this.insertProperties(actor, properties);\n } catch (e) {\n log.error(\"error while parsing actor properties text\", e);\n }\n }\n insertProperties(actor, properties) {\n if (actor.properties == null) {\n actor.properties = properties;\n } else {\n for (const key in properties) {\n actor.properties[key] = properties[key];\n }\n }\n }\n boxEnd() {\n this.state.records.currentBox = void 0;\n }\n addDetails(actorId, text) {\n const actor = this.getActor(actorId);\n const elem = document.getElementById(text.text);\n try {\n const text2 = elem.innerHTML;\n const details = JSON.parse(text2);\n if (details.properties) {\n this.insertProperties(actor, details.properties);\n }\n if (details.links) {\n this.insertLinks(actor, details.links);\n }\n } catch (e) {\n log.error(\"error while parsing actor details text\", e);\n }\n }\n getActorProperty(actor, key) {\n if (actor?.properties !== void 0) {\n return actor.properties[key];\n }\n return void 0;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents\n apply(param) {\n if (Array.isArray(param)) {\n param.forEach((item) => {\n this.apply(item);\n });\n } else {\n switch (param.type) {\n case \"sequenceIndex\":\n this.state.records.messages.push({\n id: this.state.records.messages.length.toString(),\n from: void 0,\n to: void 0,\n message: {\n start: param.sequenceIndex,\n step: param.sequenceIndexStep,\n visible: param.sequenceVisible\n },\n wrap: false,\n type: param.signalType\n });\n break;\n case \"addParticipant\":\n this.addActor(param.actor, param.actor, param.description, param.draw);\n break;\n case \"createParticipant\":\n if (this.state.records.actors.has(param.actor)) {\n throw new Error(\n \"It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior\"\n );\n }\n this.state.records.lastCreated = param.actor;\n this.addActor(param.actor, param.actor, param.description, param.draw);\n this.state.records.createdActors.set(param.actor, this.state.records.messages.length);\n break;\n case \"destroyParticipant\":\n this.state.records.lastDestroyed = param.actor;\n this.state.records.destroyedActors.set(param.actor, this.state.records.messages.length);\n break;\n case \"activeStart\":\n this.addSignal(param.actor, void 0, void 0, param.signalType);\n break;\n case \"activeEnd\":\n this.addSignal(param.actor, void 0, void 0, param.signalType);\n break;\n case \"addNote\":\n this.addNote(param.actor, param.placement, param.text);\n break;\n case \"addLinks\":\n this.addLinks(param.actor, param.text);\n break;\n case \"addALink\":\n this.addALink(param.actor, param.text);\n break;\n case \"addProperties\":\n this.addProperties(param.actor, param.text);\n break;\n case \"addDetails\":\n this.addDetails(param.actor, param.text);\n break;\n case \"addMessage\":\n if (this.state.records.lastCreated) {\n if (param.to !== this.state.records.lastCreated) {\n throw new Error(\n \"The created participant \" + this.state.records.lastCreated.name + \" does not have an associated creating message after its declaration. Please check the sequence diagram.\"\n );\n } else {\n this.state.records.lastCreated = void 0;\n }\n } else if (this.state.records.lastDestroyed) {\n if (param.to !== this.state.records.lastDestroyed && param.from !== this.state.records.lastDestroyed) {\n throw new Error(\n \"The destroyed participant \" + this.state.records.lastDestroyed.name + \" does not have an associated destroying message after its declaration. Please check the sequence diagram.\"\n );\n } else {\n this.state.records.lastDestroyed = void 0;\n }\n }\n this.addSignal(param.from, param.to, param.msg, param.signalType, param.activate);\n break;\n case \"boxStart\":\n this.addBox(param.boxData);\n break;\n case \"boxEnd\":\n this.boxEnd();\n break;\n case \"loopStart\":\n this.addSignal(void 0, void 0, param.loopText, param.signalType);\n break;\n case \"loopEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n case \"rectStart\":\n this.addSignal(void 0, void 0, param.color, param.signalType);\n break;\n case \"rectEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n case \"optStart\":\n this.addSignal(void 0, void 0, param.optText, param.signalType);\n break;\n case \"optEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n case \"altStart\":\n this.addSignal(void 0, void 0, param.altText, param.signalType);\n break;\n case \"else\":\n this.addSignal(void 0, void 0, param.altText, param.signalType);\n break;\n case \"altEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n case \"setAccTitle\":\n setAccTitle(param.text);\n break;\n case \"parStart\":\n this.addSignal(void 0, void 0, param.parText, param.signalType);\n break;\n case \"and\":\n this.addSignal(void 0, void 0, param.parText, param.signalType);\n break;\n case \"parEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n case \"criticalStart\":\n this.addSignal(void 0, void 0, param.criticalText, param.signalType);\n break;\n case \"option\":\n this.addSignal(void 0, void 0, param.optionText, param.signalType);\n break;\n case \"criticalEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n case \"breakStart\":\n this.addSignal(void 0, void 0, param.breakText, param.signalType);\n break;\n case \"breakEnd\":\n this.addSignal(void 0, void 0, void 0, param.signalType);\n break;\n }\n }\n }\n getConfig() {\n return getConfig2().sequence;\n }\n};\n\n// src/diagrams/sequence/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.actor {\n stroke: ${options.actorBorder};\n fill: ${options.actorBkg};\n }\n\n text.actor > tspan {\n fill: ${options.actorTextColor};\n stroke: none;\n }\n\n .actor-line {\n stroke: ${options.actorLineColor};\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ${options.signalColor};\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ${options.signalColor};\n }\n\n #arrowhead path {\n fill: ${options.signalColor};\n stroke: ${options.signalColor};\n }\n\n .sequenceNumber {\n fill: ${options.sequenceNumberColor};\n }\n\n #sequencenumber {\n fill: ${options.signalColor};\n }\n\n #crosshead path {\n fill: ${options.signalColor};\n stroke: ${options.signalColor};\n }\n\n .messageText {\n fill: ${options.signalTextColor};\n stroke: none;\n }\n\n .labelBox {\n stroke: ${options.labelBoxBorderColor};\n fill: ${options.labelBoxBkgColor};\n }\n\n .labelText, .labelText > tspan {\n fill: ${options.labelTextColor};\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ${options.loopTextColor};\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ${options.labelBoxBorderColor};\n fill: ${options.labelBoxBorderColor};\n }\n\n .note {\n //stroke: #decc93;\n stroke: ${options.noteBorderColor};\n fill: ${options.noteBkgColor};\n }\n\n .noteText, .noteText > tspan {\n fill: ${options.noteTextColor};\n stroke: none;\n }\n\n .activation0 {\n fill: ${options.activationBkgColor};\n stroke: ${options.activationBorderColor};\n }\n\n .activation1 {\n fill: ${options.activationBkgColor};\n stroke: ${options.activationBorderColor};\n }\n\n .activation2 {\n fill: ${options.activationBkgColor};\n stroke: ${options.activationBorderColor};\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ${options.actorBkg};\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ${options.actorBorder};\n fill: ${options.actorBkg};\n }\n .actor-man circle, line {\n stroke: ${options.actorBorder};\n fill: ${options.actorBkg};\n stroke-width: 2px;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/sequence/sequenceRenderer.ts\nimport { select } from \"d3\";\n\n// src/diagrams/sequence/svgDraw.js\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nvar ACTOR_TYPE_WIDTH = 18 * 2;\nvar TOP_ACTOR_CLASS = \"actor-top\";\nvar BOTTOM_ACTOR_CLASS = \"actor-bottom\";\nvar ACTOR_BOX_CLASS = \"actor-box\";\nvar ACTOR_MAN_FIGURE_CLASS = \"actor-man\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawPopup = /* @__PURE__ */ __name(function(elem, actor, minMenuWidth, textAttrs, forceMenus) {\n if (actor.links === void 0 || actor.links === null || Object.keys(actor.links).length === 0) {\n return { height: 0, width: 0 };\n }\n const links = actor.links;\n const actorCnt2 = actor.actorCnt;\n const rectData = actor.rectData;\n var displayValue = \"none\";\n if (forceMenus) {\n displayValue = \"block !important\";\n }\n const g = elem.append(\"g\");\n g.attr(\"id\", \"actor\" + actorCnt2 + \"_popup\");\n g.attr(\"class\", \"actorPopupMenu\");\n g.attr(\"display\", displayValue);\n var actorClass = \"\";\n if (rectData.class !== void 0) {\n actorClass = \" \" + rectData.class;\n }\n let menuWidth = rectData.width > minMenuWidth ? rectData.width : minMenuWidth;\n const rectElem = g.append(\"rect\");\n rectElem.attr(\"class\", \"actorPopupMenuPanel\" + actorClass);\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.height);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", menuWidth);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (links != null) {\n var linkY = 20;\n for (let key in links) {\n var linkElem = g.append(\"a\");\n var sanitizedLink = sanitizeUrl(links[key]);\n linkElem.attr(\"xlink:href\", sanitizedLink);\n linkElem.attr(\"target\", \"_blank\");\n _drawMenuItemTextCandidateFunc(textAttrs)(\n key,\n linkElem,\n rectData.x + 10,\n rectData.height + linkY,\n menuWidth,\n 20,\n { class: \"actor\" },\n textAttrs\n );\n linkY += 30;\n }\n }\n rectElem.attr(\"height\", linkY);\n return { height: rectData.height + linkY, width: menuWidth };\n}, \"drawPopup\");\nvar popupMenuToggle = /* @__PURE__ */ __name(function(popId) {\n return \"var pu = document.getElementById('\" + popId + \"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }\";\n}, \"popupMenuToggle\");\nvar drawKatex = /* @__PURE__ */ __name(async function(elem, textData, msgModel = null) {\n let textElem = elem.append(\"foreignObject\");\n const lines = await renderKatex(textData.text, getConfig());\n const divElem = textElem.append(\"xhtml:div\").attr(\"style\", \"width: fit-content;\").attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\").html(lines);\n const dim = divElem.node().getBoundingClientRect();\n textElem.attr(\"height\", Math.round(dim.height)).attr(\"width\", Math.round(dim.width));\n if (textData.class === \"noteText\") {\n const rectElem = elem.node().firstChild;\n rectElem.setAttribute(\"height\", dim.height + 2 * textData.textMargin);\n const rectDim = rectElem.getBBox();\n textElem.attr(\"x\", Math.round(rectDim.x + rectDim.width / 2 - dim.width / 2)).attr(\"y\", Math.round(rectDim.y + rectDim.height / 2 - dim.height / 2));\n } else if (msgModel) {\n let { startx, stopx, starty } = msgModel;\n if (startx > stopx) {\n const temp = startx;\n startx = stopx;\n stopx = temp;\n }\n textElem.attr(\"x\", Math.round(startx + Math.abs(startx - stopx) / 2 - dim.width / 2));\n if (textData.class === \"loopText\") {\n textElem.attr(\"y\", Math.round(starty));\n } else {\n textElem.attr(\"y\", Math.round(starty - dim.height));\n }\n }\n return [textElem];\n}, \"drawKatex\");\nvar drawText = /* @__PURE__ */ __name(function(elem, textData) {\n let prevTextHeight = 0;\n let textHeight = 0;\n const lines = textData.text.split(common_default.lineBreakRegex);\n const [_textFontSize, _textFontSizePx] = parseFontSize(textData.fontSize);\n let textElems = [];\n let dy = 0;\n let yfunc = /* @__PURE__ */ __name(() => textData.y, \"yfunc\");\n if (textData.valign !== void 0 && textData.textMargin !== void 0 && textData.textMargin > 0) {\n switch (textData.valign) {\n case \"top\":\n case \"start\":\n yfunc = /* @__PURE__ */ __name(() => Math.round(textData.y + textData.textMargin), \"yfunc\");\n break;\n case \"middle\":\n case \"center\":\n yfunc = /* @__PURE__ */ __name(() => Math.round(textData.y + (prevTextHeight + textHeight + textData.textMargin) / 2), \"yfunc\");\n break;\n case \"bottom\":\n case \"end\":\n yfunc = /* @__PURE__ */ __name(() => Math.round(\n textData.y + (prevTextHeight + textHeight + 2 * textData.textMargin) - textData.textMargin\n ), \"yfunc\");\n break;\n }\n }\n if (textData.anchor !== void 0 && textData.textMargin !== void 0 && textData.width !== void 0) {\n switch (textData.anchor) {\n case \"left\":\n case \"start\":\n textData.x = Math.round(textData.x + textData.textMargin);\n textData.anchor = \"start\";\n textData.dominantBaseline = \"middle\";\n textData.alignmentBaseline = \"middle\";\n break;\n case \"middle\":\n case \"center\":\n textData.x = Math.round(textData.x + textData.width / 2);\n textData.anchor = \"middle\";\n textData.dominantBaseline = \"middle\";\n textData.alignmentBaseline = \"middle\";\n break;\n case \"right\":\n case \"end\":\n textData.x = Math.round(textData.x + textData.width - textData.textMargin);\n textData.anchor = \"end\";\n textData.dominantBaseline = \"middle\";\n textData.alignmentBaseline = \"middle\";\n break;\n }\n }\n for (let [i, line] of lines.entries()) {\n if (textData.textMargin !== void 0 && textData.textMargin === 0 && _textFontSize !== void 0) {\n dy = i * _textFontSize;\n }\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", yfunc());\n if (textData.anchor !== void 0) {\n textElem.attr(\"text-anchor\", textData.anchor).attr(\"dominant-baseline\", textData.dominantBaseline).attr(\"alignment-baseline\", textData.alignmentBaseline);\n }\n if (textData.fontFamily !== void 0) {\n textElem.style(\"font-family\", textData.fontFamily);\n }\n if (_textFontSizePx !== void 0) {\n textElem.style(\"font-size\", _textFontSizePx);\n }\n if (textData.fontWeight !== void 0) {\n textElem.style(\"font-weight\", textData.fontWeight);\n }\n if (textData.fill !== void 0) {\n textElem.attr(\"fill\", textData.fill);\n }\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n if (textData.dy !== void 0) {\n textElem.attr(\"dy\", textData.dy);\n } else if (dy !== 0) {\n textElem.attr(\"dy\", dy);\n }\n const text = line || ZERO_WIDTH_SPACE;\n if (textData.tspan) {\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x);\n if (textData.fill !== void 0) {\n span.attr(\"fill\", textData.fill);\n }\n span.text(text);\n } else {\n textElem.text(text);\n }\n if (textData.valign !== void 0 && textData.textMargin !== void 0 && textData.textMargin > 0) {\n textHeight += (textElem._groups || textElem)[0][0].getBBox().height;\n prevTextHeight = textHeight;\n }\n textElems.push(textElem);\n }\n return textElems;\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, txtObject.width, txtObject.height, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.height / 2;\n drawText(elem, txtObject);\n return polygon;\n}, \"drawLabel\");\nvar actorCnt = -1;\nvar fixLifeLineHeights = /* @__PURE__ */ __name((diagram2, actors, actorKeys, conf2) => {\n if (!diagram2.select) {\n return;\n }\n actorKeys.forEach((actorKey) => {\n const actor = actors.get(actorKey);\n const actorDOM = diagram2.select(\"#actor\" + actor.actorCnt);\n if (!conf2.mirrorActors && actor.stopy) {\n actorDOM.attr(\"y2\", actor.stopy + actor.height / 2);\n } else if (conf2.mirrorActors) {\n actorDOM.attr(\"y2\", actor.stopy);\n }\n });\n}, \"fixLifeLineHeights\");\nvar drawActorTypeParticipant = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {\n const actorY = isFooter ? actor.stopy : actor.starty;\n const center = actor.x + actor.width / 2;\n const centerY = actorY + actor.height;\n const boxplusLineGroup = elem.append(\"g\").lower();\n var g = boxplusLineGroup;\n if (!isFooter) {\n actorCnt++;\n if (Object.keys(actor.links || {}).length && !conf2.forceMenus) {\n g.attr(\"onclick\", popupMenuToggle(`actor${actorCnt}_popup`)).attr(\"cursor\", \"pointer\");\n }\n g.append(\"line\").attr(\"id\", \"actor\" + actorCnt).attr(\"x1\", center).attr(\"y1\", centerY).attr(\"x2\", center).attr(\"y2\", 2e3).attr(\"class\", \"actor-line 200\").attr(\"stroke-width\", \"0.5px\").attr(\"stroke\", \"#999\").attr(\"name\", actor.name);\n g = boxplusLineGroup.append(\"g\");\n actor.actorCnt = actorCnt;\n if (actor.links != null) {\n g.attr(\"id\", \"root-\" + actorCnt);\n }\n }\n const rect = getNoteRect();\n var cssclass = \"actor\";\n if (actor.properties?.class) {\n cssclass = actor.properties.class;\n } else {\n rect.fill = \"#eaeaea\";\n }\n if (isFooter) {\n cssclass += ` ${BOTTOM_ACTOR_CLASS}`;\n } else {\n cssclass += ` ${TOP_ACTOR_CLASS}`;\n }\n rect.x = actor.x;\n rect.y = actorY;\n rect.width = actor.width;\n rect.height = actor.height;\n rect.class = cssclass;\n rect.rx = 3;\n rect.ry = 3;\n rect.name = actor.name;\n const rectElem = drawRect2(g, rect);\n actor.rectData = rect;\n if (actor.properties?.icon) {\n const iconSrc = actor.properties.icon.trim();\n if (iconSrc.charAt(0) === \"@\") {\n drawEmbeddedImage(g, rect.x + rect.width - 20, rect.y + 10, iconSrc.substr(1));\n } else {\n drawImage(g, rect.x + rect.width - 20, rect.y + 10, iconSrc);\n }\n }\n _drawTextCandidateFunc(conf2, hasKatex(actor.description))(\n actor.description,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: `actor ${ACTOR_BOX_CLASS}` },\n conf2\n );\n let height = actor.height;\n if (rectElem.node) {\n const bounds2 = rectElem.node().getBBox();\n actor.height = bounds2.height;\n height = bounds2.height;\n }\n return height;\n}, \"drawActorTypeParticipant\");\nvar drawActorTypeActor = /* @__PURE__ */ __name(function(elem, actor, conf2, isFooter) {\n const actorY = isFooter ? actor.stopy : actor.starty;\n const center = actor.x + actor.width / 2;\n const centerY = actorY + 80;\n const line = elem.append(\"g\").lower();\n if (!isFooter) {\n actorCnt++;\n line.append(\"line\").attr(\"id\", \"actor\" + actorCnt).attr(\"x1\", center).attr(\"y1\", centerY).attr(\"x2\", center).attr(\"y2\", 2e3).attr(\"class\", \"actor-line 200\").attr(\"stroke-width\", \"0.5px\").attr(\"stroke\", \"#999\").attr(\"name\", actor.name);\n actor.actorCnt = actorCnt;\n }\n const actElem = elem.append(\"g\");\n let cssClass = ACTOR_MAN_FIGURE_CLASS;\n if (isFooter) {\n cssClass += ` ${BOTTOM_ACTOR_CLASS}`;\n } else {\n cssClass += ` ${TOP_ACTOR_CLASS}`;\n }\n actElem.attr(\"class\", cssClass);\n actElem.attr(\"name\", actor.name);\n const rect = getNoteRect();\n rect.x = actor.x;\n rect.y = actorY;\n rect.fill = \"#eaeaea\";\n rect.width = actor.width;\n rect.height = actor.height;\n rect.class = \"actor\";\n rect.rx = 3;\n rect.ry = 3;\n actElem.append(\"line\").attr(\"id\", \"actor-man-torso\" + actorCnt).attr(\"x1\", center).attr(\"y1\", actorY + 25).attr(\"x2\", center).attr(\"y2\", actorY + 45);\n actElem.append(\"line\").attr(\"id\", \"actor-man-arms\" + actorCnt).attr(\"x1\", center - ACTOR_TYPE_WIDTH / 2).attr(\"y1\", actorY + 33).attr(\"x2\", center + ACTOR_TYPE_WIDTH / 2).attr(\"y2\", actorY + 33);\n actElem.append(\"line\").attr(\"x1\", center - ACTOR_TYPE_WIDTH / 2).attr(\"y1\", actorY + 60).attr(\"x2\", center).attr(\"y2\", actorY + 45);\n actElem.append(\"line\").attr(\"x1\", center).attr(\"y1\", actorY + 45).attr(\"x2\", center + ACTOR_TYPE_WIDTH / 2 - 2).attr(\"y2\", actorY + 60);\n const circle = actElem.append(\"circle\");\n circle.attr(\"cx\", actor.x + actor.width / 2);\n circle.attr(\"cy\", actorY + 10);\n circle.attr(\"r\", 15);\n circle.attr(\"width\", actor.width);\n circle.attr(\"height\", actor.height);\n const bounds2 = actElem.node().getBBox();\n actor.height = bounds2.height;\n _drawTextCandidateFunc(conf2, hasKatex(actor.description))(\n actor.description,\n actElem,\n rect.x,\n rect.y + 35,\n rect.width,\n rect.height,\n { class: `actor ${ACTOR_MAN_FIGURE_CLASS}` },\n conf2\n );\n return actor.height;\n}, \"drawActorTypeActor\");\nvar drawActor = /* @__PURE__ */ __name(async function(elem, actor, conf2, isFooter) {\n switch (actor.type) {\n case \"actor\":\n return await drawActorTypeActor(elem, actor, conf2, isFooter);\n case \"participant\":\n return await drawActorTypeParticipant(elem, actor, conf2, isFooter);\n }\n}, \"drawActor\");\nvar drawBox = /* @__PURE__ */ __name(function(elem, box, conf2) {\n const boxplusTextGroup = elem.append(\"g\");\n const g = boxplusTextGroup;\n drawBackgroundRect2(g, box);\n if (box.name) {\n _drawTextCandidateFunc(conf2)(\n box.name,\n g,\n box.x,\n box.y + (box.textMaxHeight || 0) / 2,\n box.width,\n 0,\n { class: \"text\" },\n conf2\n );\n }\n g.lower();\n}, \"drawBox\");\nvar anchorElement = /* @__PURE__ */ __name(function(elem) {\n return elem.append(\"g\");\n}, \"anchorElement\");\nvar drawActivation = /* @__PURE__ */ __name(function(elem, bounds2, verticalPos, conf2, actorActivations2) {\n const rect = getNoteRect();\n const g = bounds2.anchored;\n rect.x = bounds2.startx;\n rect.y = bounds2.starty;\n rect.class = \"activation\" + actorActivations2 % 3;\n rect.width = bounds2.stopx - bounds2.startx;\n rect.height = verticalPos - bounds2.starty;\n drawRect2(g, rect);\n}, \"drawActivation\");\nvar drawLoop = /* @__PURE__ */ __name(async function(elem, loopModel, labelText, conf2) {\n const {\n boxMargin,\n boxTextMargin,\n labelBoxHeight,\n labelBoxWidth,\n messageFontFamily: fontFamily,\n messageFontSize: fontSize,\n messageFontWeight: fontWeight\n } = conf2;\n const g = elem.append(\"g\");\n const drawLoopLine = /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n return g.append(\"line\").attr(\"x1\", startx).attr(\"y1\", starty).attr(\"x2\", stopx).attr(\"y2\", stopy).attr(\"class\", \"loopLine\");\n }, \"drawLoopLine\");\n drawLoopLine(loopModel.startx, loopModel.starty, loopModel.stopx, loopModel.starty);\n drawLoopLine(loopModel.stopx, loopModel.starty, loopModel.stopx, loopModel.stopy);\n drawLoopLine(loopModel.startx, loopModel.stopy, loopModel.stopx, loopModel.stopy);\n drawLoopLine(loopModel.startx, loopModel.starty, loopModel.startx, loopModel.stopy);\n if (loopModel.sections !== void 0) {\n loopModel.sections.forEach(function(item) {\n drawLoopLine(loopModel.startx, item.y, loopModel.stopx, item.y).style(\n \"stroke-dasharray\",\n \"3, 3\"\n );\n });\n }\n let txt = getTextObj();\n txt.text = labelText;\n txt.x = loopModel.startx;\n txt.y = loopModel.starty;\n txt.fontFamily = fontFamily;\n txt.fontSize = fontSize;\n txt.fontWeight = fontWeight;\n txt.anchor = \"middle\";\n txt.valign = \"middle\";\n txt.tspan = false;\n txt.width = labelBoxWidth || 50;\n txt.height = labelBoxHeight || 20;\n txt.textMargin = boxTextMargin;\n txt.class = \"labelText\";\n drawLabel(g, txt);\n txt = getTextObj2();\n txt.text = loopModel.title;\n txt.x = loopModel.startx + labelBoxWidth / 2 + (loopModel.stopx - loopModel.startx) / 2;\n txt.y = loopModel.starty + boxMargin + boxTextMargin;\n txt.anchor = \"middle\";\n txt.valign = \"middle\";\n txt.textMargin = boxTextMargin;\n txt.class = \"loopText\";\n txt.fontFamily = fontFamily;\n txt.fontSize = fontSize;\n txt.fontWeight = fontWeight;\n txt.wrap = true;\n let textElem = hasKatex(txt.text) ? await drawKatex(g, txt, loopModel) : drawText(g, txt);\n if (loopModel.sectionTitles !== void 0) {\n for (const [idx, item] of Object.entries(loopModel.sectionTitles)) {\n if (item.message) {\n txt.text = item.message;\n txt.x = loopModel.startx + (loopModel.stopx - loopModel.startx) / 2;\n txt.y = loopModel.sections[idx].y + boxMargin + boxTextMargin;\n txt.class = \"loopText\";\n txt.anchor = \"middle\";\n txt.valign = \"middle\";\n txt.tspan = false;\n txt.fontFamily = fontFamily;\n txt.fontSize = fontSize;\n txt.fontWeight = fontWeight;\n txt.wrap = loopModel.wrap;\n if (hasKatex(txt.text)) {\n loopModel.starty = loopModel.sections[idx].y;\n await drawKatex(g, txt, loopModel);\n } else {\n drawText(g, txt);\n }\n let sectionHeight = Math.round(\n textElem.map((te) => (te._groups || te)[0][0].getBBox().height).reduce((acc, curr) => acc + curr)\n );\n loopModel.sections[idx].height += sectionHeight - (boxMargin + boxTextMargin);\n }\n }\n }\n loopModel.height = Math.round(loopModel.stopy - loopModel.starty);\n return g;\n}, \"drawLoop\");\nvar drawBackgroundRect2 = /* @__PURE__ */ __name(function(elem, bounds2) {\n drawBackgroundRect(elem, bounds2);\n}, \"drawBackgroundRect\");\nvar insertDatabaseIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"database\").attr(\"fill-rule\", \"evenodd\").attr(\"clip-rule\", \"evenodd\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"\n );\n}, \"insertDatabaseIcon\");\nvar insertComputerIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"computer\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"\n );\n}, \"insertComputerIcon\");\nvar insertClockIcon = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"symbol\").attr(\"id\", \"clock\").attr(\"width\", \"24\").attr(\"height\", \"24\").append(\"path\").attr(\"transform\", \"scale(.5)\").attr(\n \"d\",\n \"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"\n );\n}, \"insertClockIcon\");\nvar insertArrowHead = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 7.9).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto-start-reverse\").append(\"path\").attr(\"d\", \"M -1 0 L 10 5 L 0 10 z\");\n}, \"insertArrowHead\");\nvar insertArrowFilledHead = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"filled-head\").attr(\"refX\", 15.5).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertArrowFilledHead\");\nvar insertSequenceNumber = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"sequencenumber\").attr(\"refX\", 15).attr(\"refY\", 15).attr(\"markerWidth\", 60).attr(\"markerHeight\", 40).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", 15).attr(\"cy\", 15).attr(\"r\", 6);\n}, \"insertSequenceNumber\");\nvar insertArrowCrossHead = /* @__PURE__ */ __name(function(elem) {\n const defs = elem.append(\"defs\");\n const marker = defs.append(\"marker\").attr(\"id\", \"crosshead\").attr(\"markerWidth\", 15).attr(\"markerHeight\", 8).attr(\"orient\", \"auto\").attr(\"refX\", 4).attr(\"refY\", 4.5);\n marker.append(\"path\").attr(\"fill\", \"none\").attr(\"stroke\", \"#000000\").style(\"stroke-dasharray\", \"0, 0\").attr(\"stroke-width\", \"1pt\").attr(\"d\", \"M 1,2 L 6,7 M 6,2 L 1,7\");\n}, \"insertArrowCrossHead\");\nvar getTextObj2 = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n anchor: void 0,\n style: \"#666\",\n width: void 0,\n height: void 0,\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true,\n valign: void 0\n };\n}, \"getTextObj\");\nvar getNoteRect2 = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ function() {\n function byText(content, g, x, y, width, height, textAttrs) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2) {\n const { actorFontSize, actorFontFamily, actorFontWeight } = conf2;\n const [_actorFontSize, _actorFontSizePx] = parseFontSize(actorFontSize);\n const lines = content.split(common_default.lineBreakRegex);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * _actorFontSize - _actorFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).style(\"text-anchor\", \"middle\").style(\"font-size\", _actorFontSizePx).style(\"font-weight\", actorFontWeight).style(\"font-family\", actorFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const s = g.append(\"switch\");\n const f = s.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, s, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n async function byKatex(content, g, x, y, width, height, textAttrs, conf2) {\n const dim = await calculateMathMLDimensions(content, getConfig());\n const s = g.append(\"switch\");\n const f = s.append(\"foreignObject\").attr(\"x\", x + width / 2 - dim.width / 2).attr(\"y\", y + height / 2 - dim.height / 2).attr(\"width\", dim.width).attr(\"height\", dim.height);\n const text = f.append(\"xhtml:div\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").html(await renderKatex(content, getConfig()));\n byTspan(content, s, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byKatex, \"byKatex\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (fromTextAttrsDict.hasOwnProperty(key)) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2, hasKatex2 = false) {\n if (hasKatex2) {\n return byKatex;\n }\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n}();\nvar _drawMenuItemTextCandidateFunc = /* @__PURE__ */ function() {\n function byText(content, g, x, y, width, height, textAttrs) {\n const text = g.append(\"text\").attr(\"x\", x).attr(\"y\", y).style(\"text-anchor\", \"start\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2) {\n const { actorFontSize, actorFontFamily, actorFontWeight } = conf2;\n const lines = content.split(common_default.lineBreakRegex);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * actorFontSize - actorFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x).attr(\"y\", y).style(\"text-anchor\", \"start\").style(\"font-size\", actorFontSize).style(\"font-weight\", actorFontWeight).style(\"font-family\", actorFontFamily);\n text.append(\"tspan\").attr(\"x\", x).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const s = g.append(\"switch\");\n const f = s.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height);\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, s, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (fromTextAttrsDict.hasOwnProperty(key)) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n}();\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawText,\n drawLabel,\n drawActor,\n drawBox,\n drawPopup,\n anchorElement,\n drawActivation,\n drawLoop,\n drawBackgroundRect: drawBackgroundRect2,\n insertArrowHead,\n insertArrowFilledHead,\n insertSequenceNumber,\n insertArrowCrossHead,\n insertDatabaseIcon,\n insertComputerIcon,\n insertClockIcon,\n getTextObj: getTextObj2,\n getNoteRect: getNoteRect2,\n fixLifeLineHeights,\n sanitizeUrl\n};\n\n// src/diagrams/sequence/sequenceRenderer.ts\nvar conf = {};\nvar bounds = {\n data: {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n },\n verticalPos: 0,\n sequenceItems: [],\n activations: [],\n models: {\n getHeight: /* @__PURE__ */ __name(function() {\n return Math.max.apply(\n null,\n this.actors.length === 0 ? [0] : this.actors.map((actor) => actor.height || 0)\n ) + (this.loops.length === 0 ? 0 : this.loops.map((it) => it.height || 0).reduce((acc, h) => acc + h)) + (this.messages.length === 0 ? 0 : this.messages.map((it) => it.height || 0).reduce((acc, h) => acc + h)) + (this.notes.length === 0 ? 0 : this.notes.map((it) => it.height || 0).reduce((acc, h) => acc + h));\n }, \"getHeight\"),\n clear: /* @__PURE__ */ __name(function() {\n this.actors = [];\n this.boxes = [];\n this.loops = [];\n this.messages = [];\n this.notes = [];\n }, \"clear\"),\n addBox: /* @__PURE__ */ __name(function(boxModel) {\n this.boxes.push(boxModel);\n }, \"addBox\"),\n addActor: /* @__PURE__ */ __name(function(actorModel) {\n this.actors.push(actorModel);\n }, \"addActor\"),\n addLoop: /* @__PURE__ */ __name(function(loopModel) {\n this.loops.push(loopModel);\n }, \"addLoop\"),\n addMessage: /* @__PURE__ */ __name(function(msgModel) {\n this.messages.push(msgModel);\n }, \"addMessage\"),\n addNote: /* @__PURE__ */ __name(function(noteModel) {\n this.notes.push(noteModel);\n }, \"addNote\"),\n lastActor: /* @__PURE__ */ __name(function() {\n return this.actors[this.actors.length - 1];\n }, \"lastActor\"),\n lastLoop: /* @__PURE__ */ __name(function() {\n return this.loops[this.loops.length - 1];\n }, \"lastLoop\"),\n lastMessage: /* @__PURE__ */ __name(function() {\n return this.messages[this.messages.length - 1];\n }, \"lastMessage\"),\n lastNote: /* @__PURE__ */ __name(function() {\n return this.notes[this.notes.length - 1];\n }, \"lastNote\"),\n actors: [],\n boxes: [],\n loops: [],\n messages: [],\n notes: []\n },\n init: /* @__PURE__ */ __name(function() {\n this.sequenceItems = [];\n this.activations = [];\n this.models.clear();\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n };\n this.verticalPos = 0;\n setConf(getConfig2());\n }, \"init\"),\n updateVal: /* @__PURE__ */ __name(function(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }, \"updateVal\"),\n updateBounds: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const _self = this;\n let cnt = 0;\n function updateFn(type) {\n return /* @__PURE__ */ __name(function updateItemBounds(item) {\n cnt++;\n const n = _self.sequenceItems.length - cnt + 1;\n _self.updateVal(item, \"starty\", starty - n * conf.boxMargin, Math.min);\n _self.updateVal(item, \"stopy\", stopy + n * conf.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"startx\", startx - n * conf.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopx\", stopx + n * conf.boxMargin, Math.max);\n if (!(type === \"activation\")) {\n _self.updateVal(item, \"startx\", startx - n * conf.boxMargin, Math.min);\n _self.updateVal(item, \"stopx\", stopx + n * conf.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"starty\", starty - n * conf.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopy\", stopy + n * conf.boxMargin, Math.max);\n }\n }, \"updateItemBounds\");\n }\n __name(updateFn, \"updateFn\");\n this.sequenceItems.forEach(updateFn());\n this.activations.forEach(updateFn(\"activation\"));\n }, \"updateBounds\"),\n insert: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const _startx = common_default.getMin(startx, stopx);\n const _stopx = common_default.getMax(startx, stopx);\n const _starty = common_default.getMin(starty, stopy);\n const _stopy = common_default.getMax(starty, stopy);\n this.updateVal(bounds.data, \"startx\", _startx, Math.min);\n this.updateVal(bounds.data, \"starty\", _starty, Math.min);\n this.updateVal(bounds.data, \"stopx\", _stopx, Math.max);\n this.updateVal(bounds.data, \"stopy\", _stopy, Math.max);\n this.updateBounds(_startx, _starty, _stopx, _stopy);\n }, \"insert\"),\n newActivation: /* @__PURE__ */ __name(function(message, diagram2, actors) {\n const actorRect = actors.get(message.from);\n const stackedSize = actorActivations(message.from).length || 0;\n const x = actorRect.x + actorRect.width / 2 + (stackedSize - 1) * conf.activationWidth / 2;\n this.activations.push({\n startx: x,\n starty: this.verticalPos + 2,\n stopx: x + conf.activationWidth,\n stopy: void 0,\n actor: message.from,\n anchored: svgDraw_default.anchorElement(diagram2)\n });\n }, \"newActivation\"),\n endActivation: /* @__PURE__ */ __name(function(message) {\n const lastActorActivationIdx = this.activations.map(function(activation) {\n return activation.actor;\n }).lastIndexOf(message.from);\n return this.activations.splice(lastActorActivationIdx, 1)[0];\n }, \"endActivation\"),\n createLoop: /* @__PURE__ */ __name(function(title = { message: void 0, wrap: false, width: void 0 }, fill) {\n return {\n startx: void 0,\n starty: this.verticalPos,\n stopx: void 0,\n stopy: void 0,\n title: title.message,\n wrap: title.wrap,\n width: title.width,\n height: 0,\n fill\n };\n }, \"createLoop\"),\n newLoop: /* @__PURE__ */ __name(function(title = { message: void 0, wrap: false, width: void 0 }, fill) {\n this.sequenceItems.push(this.createLoop(title, fill));\n }, \"newLoop\"),\n endLoop: /* @__PURE__ */ __name(function() {\n return this.sequenceItems.pop();\n }, \"endLoop\"),\n isLoopOverlap: /* @__PURE__ */ __name(function() {\n return this.sequenceItems.length ? this.sequenceItems[this.sequenceItems.length - 1].overlap : false;\n }, \"isLoopOverlap\"),\n addSectionToLoop: /* @__PURE__ */ __name(function(message) {\n const loop = this.sequenceItems.pop();\n loop.sections = loop.sections || [];\n loop.sectionTitles = loop.sectionTitles || [];\n loop.sections.push({ y: bounds.getVerticalPos(), height: 0 });\n loop.sectionTitles.push(message);\n this.sequenceItems.push(loop);\n }, \"addSectionToLoop\"),\n saveVerticalPos: /* @__PURE__ */ __name(function() {\n if (this.isLoopOverlap()) {\n this.savedVerticalPos = this.verticalPos;\n }\n }, \"saveVerticalPos\"),\n resetVerticalPos: /* @__PURE__ */ __name(function() {\n if (this.isLoopOverlap()) {\n this.verticalPos = this.savedVerticalPos;\n }\n }, \"resetVerticalPos\"),\n bumpVerticalPos: /* @__PURE__ */ __name(function(bump) {\n this.verticalPos = this.verticalPos + bump;\n this.data.stopy = common_default.getMax(this.data.stopy, this.verticalPos);\n }, \"bumpVerticalPos\"),\n getVerticalPos: /* @__PURE__ */ __name(function() {\n return this.verticalPos;\n }, \"getVerticalPos\"),\n getBounds: /* @__PURE__ */ __name(function() {\n return { bounds: this.data, models: this.models };\n }, \"getBounds\")\n};\nvar drawNote = /* @__PURE__ */ __name(async function(elem, noteModel) {\n bounds.bumpVerticalPos(conf.boxMargin);\n noteModel.height = conf.boxMargin;\n noteModel.starty = bounds.getVerticalPos();\n const rect = getNoteRect();\n rect.x = noteModel.startx;\n rect.y = noteModel.starty;\n rect.width = noteModel.width || conf.width;\n rect.class = \"note\";\n const g = elem.append(\"g\");\n const rectElem = svgDraw_default.drawRect(g, rect);\n const textObj = getTextObj();\n textObj.x = noteModel.startx;\n textObj.y = noteModel.starty;\n textObj.width = rect.width;\n textObj.dy = \"1em\";\n textObj.text = noteModel.message;\n textObj.class = \"noteText\";\n textObj.fontFamily = conf.noteFontFamily;\n textObj.fontSize = conf.noteFontSize;\n textObj.fontWeight = conf.noteFontWeight;\n textObj.anchor = conf.noteAlign;\n textObj.textMargin = conf.noteMargin;\n textObj.valign = \"center\";\n const textElem = hasKatex(textObj.text) ? await drawKatex(g, textObj) : drawText(g, textObj);\n const textHeight = Math.round(\n textElem.map((te) => (te._groups || te)[0][0].getBBox().height).reduce((acc, curr) => acc + curr)\n );\n rectElem.attr(\"height\", textHeight + 2 * conf.noteMargin);\n noteModel.height += textHeight + 2 * conf.noteMargin;\n bounds.bumpVerticalPos(textHeight + 2 * conf.noteMargin);\n noteModel.stopy = noteModel.starty + textHeight + 2 * conf.noteMargin;\n noteModel.stopx = noteModel.startx + rect.width;\n bounds.insert(noteModel.startx, noteModel.starty, noteModel.stopx, noteModel.stopy);\n bounds.models.addNote(noteModel);\n}, \"drawNote\");\nvar messageFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.messageFontFamily,\n fontSize: cnf.messageFontSize,\n fontWeight: cnf.messageFontWeight\n };\n}, \"messageFont\");\nvar noteFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.noteFontFamily,\n fontSize: cnf.noteFontSize,\n fontWeight: cnf.noteFontWeight\n };\n}, \"noteFont\");\nvar actorFont = /* @__PURE__ */ __name((cnf) => {\n return {\n fontFamily: cnf.actorFontFamily,\n fontSize: cnf.actorFontSize,\n fontWeight: cnf.actorFontWeight\n };\n}, \"actorFont\");\nasync function boundMessage(_diagram, msgModel) {\n bounds.bumpVerticalPos(10);\n const { startx, stopx, message } = msgModel;\n const lines = common_default.splitBreaks(message).length;\n const isKatexMsg = hasKatex(message);\n const textDims = isKatexMsg ? await calculateMathMLDimensions(message, getConfig2()) : utils_default.calculateTextDimensions(message, messageFont(conf));\n if (!isKatexMsg) {\n const lineHeight = textDims.height / lines;\n msgModel.height += lineHeight;\n bounds.bumpVerticalPos(lineHeight);\n }\n let lineStartY;\n let totalOffset = textDims.height - 10;\n const textWidth = textDims.width;\n if (startx === stopx) {\n lineStartY = bounds.getVerticalPos() + totalOffset;\n if (!conf.rightAngles) {\n totalOffset += conf.boxMargin;\n lineStartY = bounds.getVerticalPos() + totalOffset;\n }\n totalOffset += 30;\n const dx = common_default.getMax(textWidth / 2, conf.width / 2);\n bounds.insert(\n startx - dx,\n bounds.getVerticalPos() - 10 + totalOffset,\n stopx + dx,\n bounds.getVerticalPos() + 30 + totalOffset\n );\n } else {\n totalOffset += conf.boxMargin;\n lineStartY = bounds.getVerticalPos() + totalOffset;\n bounds.insert(startx, lineStartY - 10, stopx, lineStartY);\n }\n bounds.bumpVerticalPos(totalOffset);\n msgModel.height += totalOffset;\n msgModel.stopy = msgModel.starty + msgModel.height;\n bounds.insert(msgModel.fromBounds, msgModel.starty, msgModel.toBounds, msgModel.stopy);\n return lineStartY;\n}\n__name(boundMessage, \"boundMessage\");\nvar drawMessage = /* @__PURE__ */ __name(async function(diagram2, msgModel, lineStartY, diagObj) {\n const { startx, stopx, starty, message, type, sequenceIndex, sequenceVisible } = msgModel;\n const textDims = utils_default.calculateTextDimensions(message, messageFont(conf));\n const textObj = getTextObj();\n textObj.x = startx;\n textObj.y = starty + 10;\n textObj.width = stopx - startx;\n textObj.class = \"messageText\";\n textObj.dy = \"1em\";\n textObj.text = message;\n textObj.fontFamily = conf.messageFontFamily;\n textObj.fontSize = conf.messageFontSize;\n textObj.fontWeight = conf.messageFontWeight;\n textObj.anchor = conf.messageAlign;\n textObj.valign = \"center\";\n textObj.textMargin = conf.wrapPadding;\n textObj.tspan = false;\n if (hasKatex(textObj.text)) {\n await drawKatex(diagram2, textObj, { startx, stopx, starty: lineStartY });\n } else {\n drawText(diagram2, textObj);\n }\n const textWidth = textDims.width;\n let line;\n if (startx === stopx) {\n if (conf.rightAngles) {\n line = diagram2.append(\"path\").attr(\n \"d\",\n `M ${startx},${lineStartY} H ${startx + common_default.getMax(conf.width / 2, textWidth / 2)} V ${lineStartY + 25} H ${startx}`\n );\n } else {\n line = diagram2.append(\"path\").attr(\n \"d\",\n \"M \" + startx + \",\" + lineStartY + \" C \" + (startx + 60) + \",\" + (lineStartY - 10) + \" \" + (startx + 60) + \",\" + (lineStartY + 30) + \" \" + startx + \",\" + (lineStartY + 20)\n );\n }\n } else {\n line = diagram2.append(\"line\");\n line.attr(\"x1\", startx);\n line.attr(\"y1\", lineStartY);\n line.attr(\"x2\", stopx);\n line.attr(\"y2\", lineStartY);\n }\n if (type === diagObj.db.LINETYPE.DOTTED || type === diagObj.db.LINETYPE.DOTTED_CROSS || type === diagObj.db.LINETYPE.DOTTED_POINT || type === diagObj.db.LINETYPE.DOTTED_OPEN || type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED) {\n line.style(\"stroke-dasharray\", \"3, 3\");\n line.attr(\"class\", \"messageLine1\");\n } else {\n line.attr(\"class\", \"messageLine0\");\n }\n let url = \"\";\n if (conf.arrowMarkerAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replace(/\\(/g, \"\\\\(\");\n url = url.replace(/\\)/g, \"\\\\)\");\n }\n line.attr(\"stroke-width\", 2);\n line.attr(\"stroke\", \"none\");\n line.style(\"fill\", \"none\");\n if (type === diagObj.db.LINETYPE.SOLID || type === diagObj.db.LINETYPE.DOTTED) {\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (type === diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID || type === diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED) {\n line.attr(\"marker-start\", \"url(\" + url + \"#arrowhead)\");\n line.attr(\"marker-end\", \"url(\" + url + \"#arrowhead)\");\n }\n if (type === diagObj.db.LINETYPE.SOLID_POINT || type === diagObj.db.LINETYPE.DOTTED_POINT) {\n line.attr(\"marker-end\", \"url(\" + url + \"#filled-head)\");\n }\n if (type === diagObj.db.LINETYPE.SOLID_CROSS || type === diagObj.db.LINETYPE.DOTTED_CROSS) {\n line.attr(\"marker-end\", \"url(\" + url + \"#crosshead)\");\n }\n if (sequenceVisible || conf.showSequenceNumbers) {\n line.attr(\"marker-start\", \"url(\" + url + \"#sequencenumber)\");\n diagram2.append(\"text\").attr(\"x\", startx).attr(\"y\", lineStartY + 4).attr(\"font-family\", \"sans-serif\").attr(\"font-size\", \"12px\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"sequenceNumber\").text(sequenceIndex);\n }\n}, \"drawMessage\");\nvar addActorRenderingData = /* @__PURE__ */ __name(function(diagram2, actors, createdActors, actorKeys, verticalPos, messages, isFooter) {\n let prevWidth = 0;\n let prevMargin = 0;\n let prevBox = void 0;\n let maxHeight = 0;\n for (const actorKey of actorKeys) {\n const actor = actors.get(actorKey);\n const box = actor.box;\n if (prevBox && prevBox != box) {\n if (!isFooter) {\n bounds.models.addBox(prevBox);\n }\n prevMargin += conf.boxMargin + prevBox.margin;\n }\n if (box && box != prevBox) {\n if (!isFooter) {\n box.x = prevWidth + prevMargin;\n box.y = verticalPos;\n }\n prevMargin += box.margin;\n }\n actor.width = actor.width || conf.width;\n actor.height = common_default.getMax(actor.height || conf.height, conf.height);\n actor.margin = actor.margin || conf.actorMargin;\n maxHeight = common_default.getMax(maxHeight, actor.height);\n if (createdActors.get(actor.name)) {\n prevMargin += actor.width / 2;\n }\n actor.x = prevWidth + prevMargin;\n actor.starty = bounds.getVerticalPos();\n bounds.insert(actor.x, verticalPos, actor.x + actor.width, actor.height);\n prevWidth += actor.width + prevMargin;\n if (actor.box) {\n actor.box.width = prevWidth + box.margin - actor.box.x;\n }\n prevMargin = actor.margin;\n prevBox = actor.box;\n bounds.models.addActor(actor);\n }\n if (prevBox && !isFooter) {\n bounds.models.addBox(prevBox);\n }\n bounds.bumpVerticalPos(maxHeight);\n}, \"addActorRenderingData\");\nvar drawActors = /* @__PURE__ */ __name(async function(diagram2, actors, actorKeys, isFooter) {\n if (!isFooter) {\n for (const actorKey of actorKeys) {\n const actor = actors.get(actorKey);\n await svgDraw_default.drawActor(diagram2, actor, conf, false);\n }\n } else {\n let maxHeight = 0;\n bounds.bumpVerticalPos(conf.boxMargin * 2);\n for (const actorKey of actorKeys) {\n const actor = actors.get(actorKey);\n if (!actor.stopy) {\n actor.stopy = bounds.getVerticalPos();\n }\n const height = await svgDraw_default.drawActor(diagram2, actor, conf, true);\n maxHeight = common_default.getMax(maxHeight, height);\n }\n bounds.bumpVerticalPos(maxHeight + conf.boxMargin);\n }\n}, \"drawActors\");\nvar drawActorsPopup = /* @__PURE__ */ __name(function(diagram2, actors, actorKeys, doc) {\n let maxHeight = 0;\n let maxWidth = 0;\n for (const actorKey of actorKeys) {\n const actor = actors.get(actorKey);\n const minMenuWidth = getRequiredPopupWidth(actor);\n const menuDimensions = svgDraw_default.drawPopup(\n diagram2,\n actor,\n minMenuWidth,\n conf,\n conf.forceMenus,\n doc\n );\n if (menuDimensions.height > maxHeight) {\n maxHeight = menuDimensions.height;\n }\n if (menuDimensions.width + actor.x > maxWidth) {\n maxWidth = menuDimensions.width + actor.x;\n }\n }\n return { maxHeight, maxWidth };\n}, \"drawActorsPopup\");\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n assignWithDepth_default(conf, cnf);\n if (cnf.fontFamily) {\n conf.actorFontFamily = conf.noteFontFamily = conf.messageFontFamily = cnf.fontFamily;\n }\n if (cnf.fontSize) {\n conf.actorFontSize = conf.noteFontSize = conf.messageFontSize = cnf.fontSize;\n }\n if (cnf.fontWeight) {\n conf.actorFontWeight = conf.noteFontWeight = conf.messageFontWeight = cnf.fontWeight;\n }\n}, \"setConf\");\nvar actorActivations = /* @__PURE__ */ __name(function(actor) {\n return bounds.activations.filter(function(activation) {\n return activation.actor === actor;\n });\n}, \"actorActivations\");\nvar activationBounds = /* @__PURE__ */ __name(function(actor, actors) {\n const actorObj = actors.get(actor);\n const activations = actorActivations(actor);\n const left = activations.reduce(\n function(acc, activation) {\n return common_default.getMin(acc, activation.startx);\n },\n actorObj.x + actorObj.width / 2 - 1\n );\n const right = activations.reduce(\n function(acc, activation) {\n return common_default.getMax(acc, activation.stopx);\n },\n actorObj.x + actorObj.width / 2 + 1\n );\n return [left, right];\n}, \"activationBounds\");\nfunction adjustLoopHeightForWrap(loopWidths, msg, preMargin, postMargin, addLoopFn) {\n bounds.bumpVerticalPos(preMargin);\n let heightAdjust = postMargin;\n if (msg.id && msg.message && loopWidths[msg.id]) {\n const loopWidth = loopWidths[msg.id].width;\n const textConf = messageFont(conf);\n msg.message = utils_default.wrapLabel(`[${msg.message}]`, loopWidth - 2 * conf.wrapPadding, textConf);\n msg.width = loopWidth;\n msg.wrap = true;\n const textDims = utils_default.calculateTextDimensions(msg.message, textConf);\n const totalOffset = common_default.getMax(textDims.height, conf.labelBoxHeight);\n heightAdjust = postMargin + totalOffset;\n log.debug(`${totalOffset} - ${msg.message}`);\n }\n addLoopFn(msg);\n bounds.bumpVerticalPos(heightAdjust);\n}\n__name(adjustLoopHeightForWrap, \"adjustLoopHeightForWrap\");\nfunction adjustCreatedDestroyedData(msg, msgModel, lineStartY, index, actors, createdActors, destroyedActors) {\n function receiverAdjustment(actor, adjustment) {\n if (actor.x < actors.get(msg.from).x) {\n bounds.insert(\n msgModel.stopx - adjustment,\n msgModel.starty,\n msgModel.startx,\n msgModel.stopy + actor.height / 2 + conf.noteMargin\n );\n msgModel.stopx = msgModel.stopx + adjustment;\n } else {\n bounds.insert(\n msgModel.startx,\n msgModel.starty,\n msgModel.stopx + adjustment,\n msgModel.stopy + actor.height / 2 + conf.noteMargin\n );\n msgModel.stopx = msgModel.stopx - adjustment;\n }\n }\n __name(receiverAdjustment, \"receiverAdjustment\");\n function senderAdjustment(actor, adjustment) {\n if (actor.x < actors.get(msg.to).x) {\n bounds.insert(\n msgModel.startx - adjustment,\n msgModel.starty,\n msgModel.stopx,\n msgModel.stopy + actor.height / 2 + conf.noteMargin\n );\n msgModel.startx = msgModel.startx + adjustment;\n } else {\n bounds.insert(\n msgModel.stopx,\n msgModel.starty,\n msgModel.startx + adjustment,\n msgModel.stopy + actor.height / 2 + conf.noteMargin\n );\n msgModel.startx = msgModel.startx - adjustment;\n }\n }\n __name(senderAdjustment, \"senderAdjustment\");\n if (createdActors.get(msg.to) == index) {\n const actor = actors.get(msg.to);\n const adjustment = actor.type == \"actor\" ? ACTOR_TYPE_WIDTH / 2 + 3 : actor.width / 2 + 3;\n receiverAdjustment(actor, adjustment);\n actor.starty = lineStartY - actor.height / 2;\n bounds.bumpVerticalPos(actor.height / 2);\n } else if (destroyedActors.get(msg.from) == index) {\n const actor = actors.get(msg.from);\n if (conf.mirrorActors) {\n const adjustment = actor.type == \"actor\" ? ACTOR_TYPE_WIDTH / 2 : actor.width / 2;\n senderAdjustment(actor, adjustment);\n }\n actor.stopy = lineStartY - actor.height / 2;\n bounds.bumpVerticalPos(actor.height / 2);\n } else if (destroyedActors.get(msg.to) == index) {\n const actor = actors.get(msg.to);\n if (conf.mirrorActors) {\n const adjustment = actor.type == \"actor\" ? ACTOR_TYPE_WIDTH / 2 + 3 : actor.width / 2 + 3;\n receiverAdjustment(actor, adjustment);\n }\n actor.stopy = lineStartY - actor.height / 2;\n bounds.bumpVerticalPos(actor.height / 2);\n }\n}\n__name(adjustCreatedDestroyedData, \"adjustCreatedDestroyedData\");\nvar draw = /* @__PURE__ */ __name(async function(_text, id, _version, diagObj) {\n const { securityLevel, sequence } = getConfig2();\n conf = sequence;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n bounds.init();\n log.debug(diagObj.db);\n const diagram2 = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : select(`[id=\"${id}\"]`);\n const actors = diagObj.db.getActors();\n const createdActors = diagObj.db.getCreatedActors();\n const destroyedActors = diagObj.db.getDestroyedActors();\n const boxes = diagObj.db.getBoxes();\n let actorKeys = diagObj.db.getActorKeys();\n const messages = diagObj.db.getMessages();\n const title = diagObj.db.getDiagramTitle();\n const hasBoxes = diagObj.db.hasAtLeastOneBox();\n const hasBoxTitles = diagObj.db.hasAtLeastOneBoxWithTitle();\n const maxMessageWidthPerActor = await getMaxMessageWidthPerActor(actors, messages, diagObj);\n conf.height = await calculateActorMargins(actors, maxMessageWidthPerActor, boxes);\n svgDraw_default.insertComputerIcon(diagram2);\n svgDraw_default.insertDatabaseIcon(diagram2);\n svgDraw_default.insertClockIcon(diagram2);\n if (hasBoxes) {\n bounds.bumpVerticalPos(conf.boxMargin);\n if (hasBoxTitles) {\n bounds.bumpVerticalPos(boxes[0].textMaxHeight);\n }\n }\n if (conf.hideUnusedParticipants === true) {\n const newActors = /* @__PURE__ */ new Set();\n messages.forEach((message) => {\n newActors.add(message.from);\n newActors.add(message.to);\n });\n actorKeys = actorKeys.filter((actorKey) => newActors.has(actorKey));\n }\n addActorRenderingData(diagram2, actors, createdActors, actorKeys, 0, messages, false);\n const loopWidths = await calculateLoopBounds(messages, actors, maxMessageWidthPerActor, diagObj);\n svgDraw_default.insertArrowHead(diagram2);\n svgDraw_default.insertArrowCrossHead(diagram2);\n svgDraw_default.insertArrowFilledHead(diagram2);\n svgDraw_default.insertSequenceNumber(diagram2);\n function activeEnd(msg, verticalPos) {\n const activationData = bounds.endActivation(msg);\n if (activationData.starty + 18 > verticalPos) {\n activationData.starty = verticalPos - 6;\n verticalPos += 12;\n }\n svgDraw_default.drawActivation(\n diagram2,\n activationData,\n verticalPos,\n conf,\n actorActivations(msg.from).length\n );\n bounds.insert(activationData.startx, verticalPos - 10, activationData.stopx, verticalPos);\n }\n __name(activeEnd, \"activeEnd\");\n let sequenceIndex = 1;\n let sequenceIndexStep = 1;\n const messagesToDraw = [];\n const backgrounds = [];\n let index = 0;\n for (const msg of messages) {\n let loopModel, noteModel, msgModel;\n switch (msg.type) {\n case diagObj.db.LINETYPE.NOTE:\n bounds.resetVerticalPos();\n noteModel = msg.noteModel;\n await drawNote(diagram2, noteModel);\n break;\n case diagObj.db.LINETYPE.ACTIVE_START:\n bounds.newActivation(msg, diagram2, actors);\n break;\n case diagObj.db.LINETYPE.ACTIVE_END:\n activeEnd(msg, bounds.getVerticalPos());\n break;\n case diagObj.db.LINETYPE.LOOP_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin + conf.boxTextMargin,\n (message) => bounds.newLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.LOOP_END:\n loopModel = bounds.endLoop();\n await svgDraw_default.drawLoop(diagram2, loopModel, \"loop\", conf);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n bounds.models.addLoop(loopModel);\n break;\n case diagObj.db.LINETYPE.RECT_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin,\n (message) => bounds.newLoop(void 0, message.message)\n );\n break;\n case diagObj.db.LINETYPE.RECT_END:\n loopModel = bounds.endLoop();\n backgrounds.push(loopModel);\n bounds.models.addLoop(loopModel);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n break;\n case diagObj.db.LINETYPE.OPT_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin + conf.boxTextMargin,\n (message) => bounds.newLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.OPT_END:\n loopModel = bounds.endLoop();\n await svgDraw_default.drawLoop(diagram2, loopModel, \"opt\", conf);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n bounds.models.addLoop(loopModel);\n break;\n case diagObj.db.LINETYPE.ALT_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin + conf.boxTextMargin,\n (message) => bounds.newLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.ALT_ELSE:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin + conf.boxTextMargin,\n conf.boxMargin,\n (message) => bounds.addSectionToLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.ALT_END:\n loopModel = bounds.endLoop();\n await svgDraw_default.drawLoop(diagram2, loopModel, \"alt\", conf);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n bounds.models.addLoop(loopModel);\n break;\n case diagObj.db.LINETYPE.PAR_START:\n case diagObj.db.LINETYPE.PAR_OVER_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin + conf.boxTextMargin,\n (message) => bounds.newLoop(message)\n );\n bounds.saveVerticalPos();\n break;\n case diagObj.db.LINETYPE.PAR_AND:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin + conf.boxTextMargin,\n conf.boxMargin,\n (message) => bounds.addSectionToLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.PAR_END:\n loopModel = bounds.endLoop();\n await svgDraw_default.drawLoop(diagram2, loopModel, \"par\", conf);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n bounds.models.addLoop(loopModel);\n break;\n case diagObj.db.LINETYPE.AUTONUMBER:\n sequenceIndex = msg.message.start || sequenceIndex;\n sequenceIndexStep = msg.message.step || sequenceIndexStep;\n if (msg.message.visible) {\n diagObj.db.enableSequenceNumbers();\n } else {\n diagObj.db.disableSequenceNumbers();\n }\n break;\n case diagObj.db.LINETYPE.CRITICAL_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin + conf.boxTextMargin,\n (message) => bounds.newLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.CRITICAL_OPTION:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin + conf.boxTextMargin,\n conf.boxMargin,\n (message) => bounds.addSectionToLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.CRITICAL_END:\n loopModel = bounds.endLoop();\n await svgDraw_default.drawLoop(diagram2, loopModel, \"critical\", conf);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n bounds.models.addLoop(loopModel);\n break;\n case diagObj.db.LINETYPE.BREAK_START:\n adjustLoopHeightForWrap(\n loopWidths,\n msg,\n conf.boxMargin,\n conf.boxMargin + conf.boxTextMargin,\n (message) => bounds.newLoop(message)\n );\n break;\n case diagObj.db.LINETYPE.BREAK_END:\n loopModel = bounds.endLoop();\n await svgDraw_default.drawLoop(diagram2, loopModel, \"break\", conf);\n bounds.bumpVerticalPos(loopModel.stopy - bounds.getVerticalPos());\n bounds.models.addLoop(loopModel);\n break;\n default:\n try {\n msgModel = msg.msgModel;\n msgModel.starty = bounds.getVerticalPos();\n msgModel.sequenceIndex = sequenceIndex;\n msgModel.sequenceVisible = diagObj.db.showSequenceNumbers();\n const lineStartY = await boundMessage(diagram2, msgModel);\n adjustCreatedDestroyedData(\n msg,\n msgModel,\n lineStartY,\n index,\n actors,\n createdActors,\n destroyedActors\n );\n messagesToDraw.push({ messageModel: msgModel, lineStartY });\n bounds.models.addMessage(msgModel);\n } catch (e) {\n log.error(\"error while drawing message\", e);\n }\n }\n if ([\n diagObj.db.LINETYPE.SOLID_OPEN,\n diagObj.db.LINETYPE.DOTTED_OPEN,\n diagObj.db.LINETYPE.SOLID,\n diagObj.db.LINETYPE.DOTTED,\n diagObj.db.LINETYPE.SOLID_CROSS,\n diagObj.db.LINETYPE.DOTTED_CROSS,\n diagObj.db.LINETYPE.SOLID_POINT,\n diagObj.db.LINETYPE.DOTTED_POINT,\n diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID,\n diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED\n ].includes(msg.type)) {\n sequenceIndex = sequenceIndex + sequenceIndexStep;\n }\n index++;\n }\n log.debug(\"createdActors\", createdActors);\n log.debug(\"destroyedActors\", destroyedActors);\n await drawActors(diagram2, actors, actorKeys, false);\n for (const e of messagesToDraw) {\n await drawMessage(diagram2, e.messageModel, e.lineStartY, diagObj);\n }\n if (conf.mirrorActors) {\n await drawActors(diagram2, actors, actorKeys, true);\n }\n backgrounds.forEach((e) => svgDraw_default.drawBackgroundRect(diagram2, e));\n fixLifeLineHeights(diagram2, actors, actorKeys, conf);\n for (const box2 of bounds.models.boxes) {\n box2.height = bounds.getVerticalPos() - box2.y;\n bounds.insert(box2.x, box2.y, box2.x + box2.width, box2.height);\n box2.startx = box2.x;\n box2.starty = box2.y;\n box2.stopx = box2.startx + box2.width;\n box2.stopy = box2.starty + box2.height;\n box2.stroke = \"rgb(0,0,0, 0.5)\";\n svgDraw_default.drawBox(diagram2, box2, conf);\n }\n if (hasBoxes) {\n bounds.bumpVerticalPos(conf.boxMargin);\n }\n const requiredBoxSize = drawActorsPopup(diagram2, actors, actorKeys, doc);\n const { bounds: box } = bounds.getBounds();\n if (box.startx === void 0) {\n box.startx = 0;\n }\n if (box.starty === void 0) {\n box.starty = 0;\n }\n if (box.stopx === void 0) {\n box.stopx = 0;\n }\n if (box.stopy === void 0) {\n box.stopy = 0;\n }\n let boxHeight = box.stopy - box.starty;\n if (boxHeight < requiredBoxSize.maxHeight) {\n boxHeight = requiredBoxSize.maxHeight;\n }\n let height = boxHeight + 2 * conf.diagramMarginY;\n if (conf.mirrorActors) {\n height = height - conf.boxMargin + conf.bottomMarginAdj;\n }\n let boxWidth = box.stopx - box.startx;\n if (boxWidth < requiredBoxSize.maxWidth) {\n boxWidth = requiredBoxSize.maxWidth;\n }\n const width = boxWidth + 2 * conf.diagramMarginX;\n if (title) {\n diagram2.append(\"text\").text(title).attr(\"x\", (box.stopx - box.startx) / 2 - 2 * conf.diagramMarginX).attr(\"y\", -25);\n }\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n const extraVertForTitle = title ? 40 : 0;\n diagram2.attr(\n \"viewBox\",\n box.startx - conf.diagramMarginX + \" -\" + (conf.diagramMarginY + extraVertForTitle) + \" \" + width + \" \" + (height + extraVertForTitle)\n );\n log.debug(`models:`, bounds.models);\n}, \"draw\");\nasync function getMaxMessageWidthPerActor(actors, messages, diagObj) {\n const maxMessageWidthPerActor = {};\n for (const msg of messages) {\n if (actors.get(msg.to) && actors.get(msg.from)) {\n const actor = actors.get(msg.to);\n if (msg.placement === diagObj.db.PLACEMENT.LEFTOF && !actor.prevActor) {\n continue;\n }\n if (msg.placement === diagObj.db.PLACEMENT.RIGHTOF && !actor.nextActor) {\n continue;\n }\n const isNote = msg.placement !== void 0;\n const isMessage = !isNote;\n const textFont = isNote ? noteFont(conf) : messageFont(conf);\n const wrappedMessage = msg.wrap ? utils_default.wrapLabel(msg.message, conf.width - 2 * conf.wrapPadding, textFont) : msg.message;\n const messageDimensions = hasKatex(wrappedMessage) ? await calculateMathMLDimensions(msg.message, getConfig2()) : utils_default.calculateTextDimensions(wrappedMessage, textFont);\n const messageWidth = messageDimensions.width + 2 * conf.wrapPadding;\n if (isMessage && msg.from === actor.nextActor) {\n maxMessageWidthPerActor[msg.to] = common_default.getMax(\n maxMessageWidthPerActor[msg.to] || 0,\n messageWidth\n );\n } else if (isMessage && msg.from === actor.prevActor) {\n maxMessageWidthPerActor[msg.from] = common_default.getMax(\n maxMessageWidthPerActor[msg.from] || 0,\n messageWidth\n );\n } else if (isMessage && msg.from === msg.to) {\n maxMessageWidthPerActor[msg.from] = common_default.getMax(\n maxMessageWidthPerActor[msg.from] || 0,\n messageWidth / 2\n );\n maxMessageWidthPerActor[msg.to] = common_default.getMax(\n maxMessageWidthPerActor[msg.to] || 0,\n messageWidth / 2\n );\n } else if (msg.placement === diagObj.db.PLACEMENT.RIGHTOF) {\n maxMessageWidthPerActor[msg.from] = common_default.getMax(\n maxMessageWidthPerActor[msg.from] || 0,\n messageWidth\n );\n } else if (msg.placement === diagObj.db.PLACEMENT.LEFTOF) {\n maxMessageWidthPerActor[actor.prevActor] = common_default.getMax(\n maxMessageWidthPerActor[actor.prevActor] || 0,\n messageWidth\n );\n } else if (msg.placement === diagObj.db.PLACEMENT.OVER) {\n if (actor.prevActor) {\n maxMessageWidthPerActor[actor.prevActor] = common_default.getMax(\n maxMessageWidthPerActor[actor.prevActor] || 0,\n messageWidth / 2\n );\n }\n if (actor.nextActor) {\n maxMessageWidthPerActor[msg.from] = common_default.getMax(\n maxMessageWidthPerActor[msg.from] || 0,\n messageWidth / 2\n );\n }\n }\n }\n }\n log.debug(\"maxMessageWidthPerActor:\", maxMessageWidthPerActor);\n return maxMessageWidthPerActor;\n}\n__name(getMaxMessageWidthPerActor, \"getMaxMessageWidthPerActor\");\nvar getRequiredPopupWidth = /* @__PURE__ */ __name(function(actor) {\n let requiredPopupWidth = 0;\n const textFont = actorFont(conf);\n for (const key in actor.links) {\n const labelDimensions = utils_default.calculateTextDimensions(key, textFont);\n const labelWidth = labelDimensions.width + 2 * conf.wrapPadding + 2 * conf.boxMargin;\n if (requiredPopupWidth < labelWidth) {\n requiredPopupWidth = labelWidth;\n }\n }\n return requiredPopupWidth;\n}, \"getRequiredPopupWidth\");\nasync function calculateActorMargins(actors, actorToMessageWidth, boxes) {\n let maxHeight = 0;\n for (const prop of actors.keys()) {\n const actor = actors.get(prop);\n if (actor.wrap) {\n actor.description = utils_default.wrapLabel(\n actor.description,\n conf.width - 2 * conf.wrapPadding,\n actorFont(conf)\n );\n }\n const actDims = hasKatex(actor.description) ? await calculateMathMLDimensions(actor.description, getConfig2()) : utils_default.calculateTextDimensions(actor.description, actorFont(conf));\n actor.width = actor.wrap ? conf.width : common_default.getMax(conf.width, actDims.width + 2 * conf.wrapPadding);\n actor.height = actor.wrap ? common_default.getMax(actDims.height, conf.height) : conf.height;\n maxHeight = common_default.getMax(maxHeight, actor.height);\n }\n for (const actorKey in actorToMessageWidth) {\n const actor = actors.get(actorKey);\n if (!actor) {\n continue;\n }\n const nextActor = actors.get(actor.nextActor);\n if (!nextActor) {\n const messageWidth2 = actorToMessageWidth[actorKey];\n const actorWidth2 = messageWidth2 + conf.actorMargin - actor.width / 2;\n actor.margin = common_default.getMax(actorWidth2, conf.actorMargin);\n continue;\n }\n const messageWidth = actorToMessageWidth[actorKey];\n const actorWidth = messageWidth + conf.actorMargin - actor.width / 2 - nextActor.width / 2;\n actor.margin = common_default.getMax(actorWidth, conf.actorMargin);\n }\n let maxBoxHeight = 0;\n boxes.forEach((box) => {\n const textFont = messageFont(conf);\n let totalWidth = box.actorKeys.reduce((total, aKey) => {\n return total += actors.get(aKey).width + (actors.get(aKey).margin || 0);\n }, 0);\n totalWidth -= 2 * conf.boxTextMargin;\n if (box.wrap) {\n box.name = utils_default.wrapLabel(box.name, totalWidth - 2 * conf.wrapPadding, textFont);\n }\n const boxMsgDimensions = utils_default.calculateTextDimensions(box.name, textFont);\n maxBoxHeight = common_default.getMax(boxMsgDimensions.height, maxBoxHeight);\n const minWidth = common_default.getMax(totalWidth, boxMsgDimensions.width + 2 * conf.wrapPadding);\n box.margin = conf.boxTextMargin;\n if (totalWidth < minWidth) {\n const missing = (minWidth - totalWidth) / 2;\n box.margin += missing;\n }\n });\n boxes.forEach((box) => box.textMaxHeight = maxBoxHeight);\n return common_default.getMax(maxHeight, conf.height);\n}\n__name(calculateActorMargins, \"calculateActorMargins\");\nvar buildNoteModel = /* @__PURE__ */ __name(async function(msg, actors, diagObj) {\n const fromActor = actors.get(msg.from);\n const toActor = actors.get(msg.to);\n const startx = fromActor.x;\n const stopx = toActor.x;\n const shouldWrap = msg.wrap && msg.message;\n let textDimensions = hasKatex(msg.message) ? await calculateMathMLDimensions(msg.message, getConfig2()) : utils_default.calculateTextDimensions(\n shouldWrap ? utils_default.wrapLabel(msg.message, conf.width, noteFont(conf)) : msg.message,\n noteFont(conf)\n );\n const noteModel = {\n width: shouldWrap ? conf.width : common_default.getMax(conf.width, textDimensions.width + 2 * conf.noteMargin),\n height: 0,\n startx: fromActor.x,\n stopx: 0,\n starty: 0,\n stopy: 0,\n message: msg.message\n };\n if (msg.placement === diagObj.db.PLACEMENT.RIGHTOF) {\n noteModel.width = shouldWrap ? common_default.getMax(conf.width, textDimensions.width) : common_default.getMax(\n fromActor.width / 2 + toActor.width / 2,\n textDimensions.width + 2 * conf.noteMargin\n );\n noteModel.startx = startx + (fromActor.width + conf.actorMargin) / 2;\n } else if (msg.placement === diagObj.db.PLACEMENT.LEFTOF) {\n noteModel.width = shouldWrap ? common_default.getMax(conf.width, textDimensions.width + 2 * conf.noteMargin) : common_default.getMax(\n fromActor.width / 2 + toActor.width / 2,\n textDimensions.width + 2 * conf.noteMargin\n );\n noteModel.startx = startx - noteModel.width + (fromActor.width - conf.actorMargin) / 2;\n } else if (msg.to === msg.from) {\n textDimensions = utils_default.calculateTextDimensions(\n shouldWrap ? utils_default.wrapLabel(msg.message, common_default.getMax(conf.width, fromActor.width), noteFont(conf)) : msg.message,\n noteFont(conf)\n );\n noteModel.width = shouldWrap ? common_default.getMax(conf.width, fromActor.width) : common_default.getMax(fromActor.width, conf.width, textDimensions.width + 2 * conf.noteMargin);\n noteModel.startx = startx + (fromActor.width - noteModel.width) / 2;\n } else {\n noteModel.width = Math.abs(startx + fromActor.width / 2 - (stopx + toActor.width / 2)) + conf.actorMargin;\n noteModel.startx = startx < stopx ? startx + fromActor.width / 2 - conf.actorMargin / 2 : stopx + toActor.width / 2 - conf.actorMargin / 2;\n }\n if (shouldWrap) {\n noteModel.message = utils_default.wrapLabel(\n msg.message,\n noteModel.width - 2 * conf.wrapPadding,\n noteFont(conf)\n );\n }\n log.debug(\n `NM:[${noteModel.startx},${noteModel.stopx},${noteModel.starty},${noteModel.stopy}:${noteModel.width},${noteModel.height}=${msg.message}]`\n );\n return noteModel;\n}, \"buildNoteModel\");\nvar buildMessageModel = /* @__PURE__ */ __name(function(msg, actors, diagObj) {\n if (![\n diagObj.db.LINETYPE.SOLID_OPEN,\n diagObj.db.LINETYPE.DOTTED_OPEN,\n diagObj.db.LINETYPE.SOLID,\n diagObj.db.LINETYPE.DOTTED,\n diagObj.db.LINETYPE.SOLID_CROSS,\n diagObj.db.LINETYPE.DOTTED_CROSS,\n diagObj.db.LINETYPE.SOLID_POINT,\n diagObj.db.LINETYPE.DOTTED_POINT,\n diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID,\n diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED\n ].includes(msg.type)) {\n return {};\n }\n const [fromLeft, fromRight] = activationBounds(msg.from, actors);\n const [toLeft, toRight] = activationBounds(msg.to, actors);\n const isArrowToRight = fromLeft <= toLeft;\n let startx = isArrowToRight ? fromRight : fromLeft;\n let stopx = isArrowToRight ? toLeft : toRight;\n const isArrowToActivation = Math.abs(toLeft - toRight) > 2;\n const adjustValue = /* @__PURE__ */ __name((value) => {\n return isArrowToRight ? -value : value;\n }, \"adjustValue\");\n if (msg.from === msg.to) {\n stopx = startx;\n } else {\n if (msg.activate && !isArrowToActivation) {\n stopx += adjustValue(conf.activationWidth / 2 - 1);\n }\n if (![diagObj.db.LINETYPE.SOLID_OPEN, diagObj.db.LINETYPE.DOTTED_OPEN].includes(msg.type)) {\n stopx += adjustValue(3);\n }\n if ([diagObj.db.LINETYPE.BIDIRECTIONAL_SOLID, diagObj.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(\n msg.type\n )) {\n startx -= adjustValue(3);\n }\n }\n const allBounds = [fromLeft, fromRight, toLeft, toRight];\n const boundedWidth = Math.abs(startx - stopx);\n if (msg.wrap && msg.message) {\n msg.message = utils_default.wrapLabel(\n msg.message,\n common_default.getMax(boundedWidth + 2 * conf.wrapPadding, conf.width),\n messageFont(conf)\n );\n }\n const msgDims = utils_default.calculateTextDimensions(msg.message, messageFont(conf));\n return {\n width: common_default.getMax(\n msg.wrap ? 0 : msgDims.width + 2 * conf.wrapPadding,\n boundedWidth + 2 * conf.wrapPadding,\n conf.width\n ),\n height: 0,\n startx,\n stopx,\n starty: 0,\n stopy: 0,\n message: msg.message,\n type: msg.type,\n wrap: msg.wrap,\n fromBounds: Math.min.apply(null, allBounds),\n toBounds: Math.max.apply(null, allBounds)\n };\n}, \"buildMessageModel\");\nvar calculateLoopBounds = /* @__PURE__ */ __name(async function(messages, actors, _maxWidthPerActor, diagObj) {\n const loops = {};\n const stack = [];\n let current, noteModel, msgModel;\n for (const msg of messages) {\n switch (msg.type) {\n case diagObj.db.LINETYPE.LOOP_START:\n case diagObj.db.LINETYPE.ALT_START:\n case diagObj.db.LINETYPE.OPT_START:\n case diagObj.db.LINETYPE.PAR_START:\n case diagObj.db.LINETYPE.PAR_OVER_START:\n case diagObj.db.LINETYPE.CRITICAL_START:\n case diagObj.db.LINETYPE.BREAK_START:\n stack.push({\n id: msg.id,\n msg: msg.message,\n from: Number.MAX_SAFE_INTEGER,\n to: Number.MIN_SAFE_INTEGER,\n width: 0\n });\n break;\n case diagObj.db.LINETYPE.ALT_ELSE:\n case diagObj.db.LINETYPE.PAR_AND:\n case diagObj.db.LINETYPE.CRITICAL_OPTION:\n if (msg.message) {\n current = stack.pop();\n loops[current.id] = current;\n loops[msg.id] = current;\n stack.push(current);\n }\n break;\n case diagObj.db.LINETYPE.LOOP_END:\n case diagObj.db.LINETYPE.ALT_END:\n case diagObj.db.LINETYPE.OPT_END:\n case diagObj.db.LINETYPE.PAR_END:\n case diagObj.db.LINETYPE.CRITICAL_END:\n case diagObj.db.LINETYPE.BREAK_END:\n current = stack.pop();\n loops[current.id] = current;\n break;\n case diagObj.db.LINETYPE.ACTIVE_START:\n {\n const actorRect = actors.get(msg.from ? msg.from : msg.to.actor);\n const stackedSize = actorActivations(msg.from ? msg.from : msg.to.actor).length;\n const x = actorRect.x + actorRect.width / 2 + (stackedSize - 1) * conf.activationWidth / 2;\n const toAdd = {\n startx: x,\n stopx: x + conf.activationWidth,\n actor: msg.from,\n enabled: true\n };\n bounds.activations.push(toAdd);\n }\n break;\n case diagObj.db.LINETYPE.ACTIVE_END:\n {\n const lastActorActivationIdx = bounds.activations.map((a) => a.actor).lastIndexOf(msg.from);\n bounds.activations.splice(lastActorActivationIdx, 1).splice(0, 1);\n }\n break;\n }\n const isNote = msg.placement !== void 0;\n if (isNote) {\n noteModel = await buildNoteModel(msg, actors, diagObj);\n msg.noteModel = noteModel;\n stack.forEach((stk) => {\n current = stk;\n current.from = common_default.getMin(current.from, noteModel.startx);\n current.to = common_default.getMax(current.to, noteModel.startx + noteModel.width);\n current.width = common_default.getMax(current.width, Math.abs(current.from - current.to)) - conf.labelBoxWidth;\n });\n } else {\n msgModel = buildMessageModel(msg, actors, diagObj);\n msg.msgModel = msgModel;\n if (msgModel.startx && msgModel.stopx && stack.length > 0) {\n stack.forEach((stk) => {\n current = stk;\n if (msgModel.startx === msgModel.stopx) {\n const from = actors.get(msg.from);\n const to = actors.get(msg.to);\n current.from = common_default.getMin(\n from.x - msgModel.width / 2,\n from.x - from.width / 2,\n current.from\n );\n current.to = common_default.getMax(\n to.x + msgModel.width / 2,\n to.x + from.width / 2,\n current.to\n );\n current.width = common_default.getMax(current.width, Math.abs(current.to - current.from)) - conf.labelBoxWidth;\n } else {\n current.from = common_default.getMin(msgModel.startx, current.from);\n current.to = common_default.getMax(msgModel.stopx, current.to);\n current.width = common_default.getMax(current.width, msgModel.width) - conf.labelBoxWidth;\n }\n });\n }\n }\n }\n bounds.activations = [];\n log.debug(\"Loop type widths:\", loops);\n return loops;\n}, \"calculateLoopBounds\");\nvar sequenceRenderer_default = {\n bounds,\n drawActors,\n drawActorsPopup,\n setConf,\n draw\n};\n\n// src/diagrams/sequence/sequenceDiagram.ts\nvar diagram = {\n parser: sequenceDiagram_default,\n get db() {\n return new SequenceDB();\n },\n renderer: sequenceRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.sequence) {\n cnf.sequence = {};\n }\n if (cnf.wrap) {\n cnf.sequence.wrap = cnf.wrap;\n setConfig({ sequence: { wrap: cnf.wrap } });\n }\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n getDiagramElement,\n setupViewPortForSVG\n} from \"./chunk-RZ5BOZE2.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-TYCBKAJE.mjs\";\nimport {\n getEdgeId,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n parseGenericTypes,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/class/parser/classDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 18], $V1 = [1, 19], $V2 = [1, 20], $V3 = [1, 41], $V4 = [1, 42], $V5 = [1, 26], $V6 = [1, 24], $V7 = [1, 25], $V8 = [1, 32], $V9 = [1, 33], $Va = [1, 34], $Vb = [1, 45], $Vc = [1, 35], $Vd = [1, 36], $Ve = [1, 37], $Vf = [1, 38], $Vg = [1, 27], $Vh = [1, 28], $Vi = [1, 29], $Vj = [1, 30], $Vk = [1, 31], $Vl = [1, 44], $Vm = [1, 46], $Vn = [1, 43], $Vo = [1, 47], $Vp = [1, 9], $Vq = [1, 8, 9], $Vr = [1, 58], $Vs = [1, 59], $Vt = [1, 60], $Vu = [1, 61], $Vv = [1, 62], $Vw = [1, 63], $Vx = [1, 64], $Vy = [1, 8, 9, 41], $Vz = [1, 76], $VA = [1, 8, 9, 12, 13, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], $VB = [1, 8, 9, 12, 13, 17, 20, 22, 39, 41, 44, 48, 58, 66, 67, 68, 69, 70, 71, 72, 77, 79, 84, 99, 101, 102], $VC = [13, 58, 84, 99, 101, 102], $VD = [13, 58, 71, 72, 84, 99, 101, 102], $VE = [13, 58, 66, 67, 68, 69, 70, 84, 99, 101, 102], $VF = [1, 98], $VG = [1, 115], $VH = [1, 107], $VI = [1, 113], $VJ = [1, 108], $VK = [1, 109], $VL = [1, 110], $VM = [1, 111], $VN = [1, 112], $VO = [1, 114], $VP = [22, 58, 59, 80, 84, 85, 86, 87, 88, 89], $VQ = [1, 8, 9, 39, 41, 44], $VR = [1, 8, 9, 22], $VS = [1, 143], $VT = [1, 8, 9, 59], $VU = [1, 8, 9, 22, 58, 59, 80, 84, 85, 86, 87, 88, 89];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mermaidDoc\": 4, \"statements\": 5, \"graphConfig\": 6, \"CLASS_DIAGRAM\": 7, \"NEWLINE\": 8, \"EOF\": 9, \"statement\": 10, \"classLabel\": 11, \"SQS\": 12, \"STR\": 13, \"SQE\": 14, \"namespaceName\": 15, \"alphaNumToken\": 16, \"DOT\": 17, \"className\": 18, \"classLiteralName\": 19, \"GENERICTYPE\": 20, \"relationStatement\": 21, \"LABEL\": 22, \"namespaceStatement\": 23, \"classStatement\": 24, \"memberStatement\": 25, \"annotationStatement\": 26, \"clickStatement\": 27, \"styleStatement\": 28, \"cssClassStatement\": 29, \"noteStatement\": 30, \"classDefStatement\": 31, \"direction\": 32, \"acc_title\": 33, \"acc_title_value\": 34, \"acc_descr\": 35, \"acc_descr_value\": 36, \"acc_descr_multiline_value\": 37, \"namespaceIdentifier\": 38, \"STRUCT_START\": 39, \"classStatements\": 40, \"STRUCT_STOP\": 41, \"NAMESPACE\": 42, \"classIdentifier\": 43, \"STYLE_SEPARATOR\": 44, \"members\": 45, \"CLASS\": 46, \"ANNOTATION_START\": 47, \"ANNOTATION_END\": 48, \"MEMBER\": 49, \"SEPARATOR\": 50, \"relation\": 51, \"NOTE_FOR\": 52, \"noteText\": 53, \"NOTE\": 54, \"CLASSDEF\": 55, \"classList\": 56, \"stylesOpt\": 57, \"ALPHA\": 58, \"COMMA\": 59, \"direction_tb\": 60, \"direction_bt\": 61, \"direction_rl\": 62, \"direction_lr\": 63, \"relationType\": 64, \"lineType\": 65, \"AGGREGATION\": 66, \"EXTENSION\": 67, \"COMPOSITION\": 68, \"DEPENDENCY\": 69, \"LOLLIPOP\": 70, \"LINE\": 71, \"DOTTED_LINE\": 72, \"CALLBACK\": 73, \"LINK\": 74, \"LINK_TARGET\": 75, \"CLICK\": 76, \"CALLBACK_NAME\": 77, \"CALLBACK_ARGS\": 78, \"HREF\": 79, \"STYLE\": 80, \"CSSCLASS\": 81, \"style\": 82, \"styleComponent\": 83, \"NUM\": 84, \"COLON\": 85, \"UNIT\": 86, \"SPACE\": 87, \"BRKT\": 88, \"PCT\": 89, \"commentToken\": 90, \"textToken\": 91, \"graphCodeTokens\": 92, \"textNoTagsToken\": 93, \"TAGSTART\": 94, \"TAGEND\": 95, \"==\": 96, \"--\": 97, \"DEFAULT\": 98, \"MINUS\": 99, \"keywords\": 100, \"UNICODE_TEXT\": 101, \"BQUOTE_STR\": 102, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 7: \"CLASS_DIAGRAM\", 8: \"NEWLINE\", 9: \"EOF\", 12: \"SQS\", 13: \"STR\", 14: \"SQE\", 17: \"DOT\", 20: \"GENERICTYPE\", 22: \"LABEL\", 33: \"acc_title\", 34: \"acc_title_value\", 35: \"acc_descr\", 36: \"acc_descr_value\", 37: \"acc_descr_multiline_value\", 39: \"STRUCT_START\", 41: \"STRUCT_STOP\", 42: \"NAMESPACE\", 44: \"STYLE_SEPARATOR\", 46: \"CLASS\", 47: \"ANNOTATION_START\", 48: \"ANNOTATION_END\", 49: \"MEMBER\", 50: \"SEPARATOR\", 52: \"NOTE_FOR\", 54: \"NOTE\", 55: \"CLASSDEF\", 58: \"ALPHA\", 59: \"COMMA\", 60: \"direction_tb\", 61: \"direction_bt\", 62: \"direction_rl\", 63: \"direction_lr\", 66: \"AGGREGATION\", 67: \"EXTENSION\", 68: \"COMPOSITION\", 69: \"DEPENDENCY\", 70: \"LOLLIPOP\", 71: \"LINE\", 72: \"DOTTED_LINE\", 73: \"CALLBACK\", 74: \"LINK\", 75: \"LINK_TARGET\", 76: \"CLICK\", 77: \"CALLBACK_NAME\", 78: \"CALLBACK_ARGS\", 79: \"HREF\", 80: \"STYLE\", 81: \"CSSCLASS\", 84: \"NUM\", 85: \"COLON\", 86: \"UNIT\", 87: \"SPACE\", 88: \"BRKT\", 89: \"PCT\", 92: \"graphCodeTokens\", 94: \"TAGSTART\", 95: \"TAGEND\", 96: \"==\", 97: \"--\", 98: \"DEFAULT\", 99: \"MINUS\", 100: \"keywords\", 101: \"UNICODE_TEXT\", 102: \"BQUOTE_STR\" },\n productions_: [0, [3, 1], [3, 1], [4, 1], [6, 4], [5, 1], [5, 2], [5, 3], [11, 3], [15, 1], [15, 3], [15, 2], [18, 1], [18, 3], [18, 1], [18, 2], [18, 2], [18, 2], [10, 1], [10, 2], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [10, 1], [23, 4], [23, 5], [38, 2], [40, 1], [40, 2], [40, 3], [24, 1], [24, 3], [24, 4], [24, 6], [43, 2], [43, 3], [26, 4], [45, 1], [45, 2], [25, 1], [25, 2], [25, 1], [25, 1], [21, 3], [21, 4], [21, 4], [21, 5], [30, 3], [30, 2], [31, 3], [56, 1], [56, 3], [32, 1], [32, 1], [32, 1], [32, 1], [51, 3], [51, 2], [51, 2], [51, 1], [64, 1], [64, 1], [64, 1], [64, 1], [64, 1], [65, 1], [65, 1], [27, 3], [27, 4], [27, 3], [27, 4], [27, 4], [27, 5], [27, 3], [27, 4], [27, 4], [27, 5], [27, 4], [27, 5], [27, 5], [27, 6], [28, 3], [29, 3], [57, 1], [57, 3], [82, 1], [82, 2], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [83, 1], [90, 1], [90, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [91, 1], [93, 1], [93, 1], [93, 1], [93, 1], [16, 1], [16, 1], [16, 1], [16, 1], [19, 1], [53, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 8:\n this.$ = $$[$0 - 1];\n break;\n case 9:\n case 12:\n case 14:\n this.$ = $$[$0];\n break;\n case 10:\n case 13:\n this.$ = $$[$0 - 2] + \".\" + $$[$0];\n break;\n case 11:\n case 15:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 16:\n case 17:\n this.$ = $$[$0 - 1] + \"~\" + $$[$0] + \"~\";\n break;\n case 18:\n yy.addRelation($$[$0]);\n break;\n case 19:\n $$[$0 - 1].title = yy.cleanupLabel($$[$0]);\n yy.addRelation($$[$0 - 1]);\n break;\n case 30:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 31:\n case 32:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 33:\n yy.addClassesToNamespace($$[$0 - 3], $$[$0 - 1]);\n break;\n case 34:\n yy.addClassesToNamespace($$[$0 - 4], $$[$0 - 1]);\n break;\n case 35:\n this.$ = $$[$0];\n yy.addNamespace($$[$0]);\n break;\n case 36:\n this.$ = [$$[$0]];\n break;\n case 37:\n this.$ = [$$[$0 - 1]];\n break;\n case 38:\n $$[$0].unshift($$[$0 - 2]);\n this.$ = $$[$0];\n break;\n case 40:\n yy.setCssClass($$[$0 - 2], $$[$0]);\n break;\n case 41:\n yy.addMembers($$[$0 - 3], $$[$0 - 1]);\n break;\n case 42:\n yy.setCssClass($$[$0 - 5], $$[$0 - 3]);\n yy.addMembers($$[$0 - 5], $$[$0 - 1]);\n break;\n case 43:\n this.$ = $$[$0];\n yy.addClass($$[$0]);\n break;\n case 44:\n this.$ = $$[$0 - 1];\n yy.addClass($$[$0 - 1]);\n yy.setClassLabel($$[$0 - 1], $$[$0]);\n break;\n case 45:\n yy.addAnnotation($$[$0], $$[$0 - 2]);\n break;\n case 46:\n case 59:\n this.$ = [$$[$0]];\n break;\n case 47:\n $$[$0].push($$[$0 - 1]);\n this.$ = $$[$0];\n break;\n case 48:\n break;\n case 49:\n yy.addMember($$[$0 - 1], yy.cleanupLabel($$[$0]));\n break;\n case 50:\n break;\n case 51:\n break;\n case 52:\n this.$ = { \"id1\": $$[$0 - 2], \"id2\": $$[$0], relation: $$[$0 - 1], relationTitle1: \"none\", relationTitle2: \"none\" };\n break;\n case 53:\n this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 1], relationTitle1: $$[$0 - 2], relationTitle2: \"none\" };\n break;\n case 54:\n this.$ = { id1: $$[$0 - 3], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: \"none\", relationTitle2: $$[$0 - 1] };\n break;\n case 55:\n this.$ = { id1: $$[$0 - 4], id2: $$[$0], relation: $$[$0 - 2], relationTitle1: $$[$0 - 3], relationTitle2: $$[$0 - 1] };\n break;\n case 56:\n yy.addNote($$[$0], $$[$0 - 1]);\n break;\n case 57:\n yy.addNote($$[$0]);\n break;\n case 58:\n this.$ = $$[$0 - 2];\n yy.defineClass($$[$0 - 1], $$[$0]);\n break;\n case 60:\n this.$ = $$[$0 - 2].concat([$$[$0]]);\n break;\n case 61:\n yy.setDirection(\"TB\");\n break;\n case 62:\n yy.setDirection(\"BT\");\n break;\n case 63:\n yy.setDirection(\"RL\");\n break;\n case 64:\n yy.setDirection(\"LR\");\n break;\n case 65:\n this.$ = { type1: $$[$0 - 2], type2: $$[$0], lineType: $$[$0 - 1] };\n break;\n case 66:\n this.$ = { type1: \"none\", type2: $$[$0], lineType: $$[$0 - 1] };\n break;\n case 67:\n this.$ = { type1: $$[$0 - 1], type2: \"none\", lineType: $$[$0] };\n break;\n case 68:\n this.$ = { type1: \"none\", type2: \"none\", lineType: $$[$0] };\n break;\n case 69:\n this.$ = yy.relationType.AGGREGATION;\n break;\n case 70:\n this.$ = yy.relationType.EXTENSION;\n break;\n case 71:\n this.$ = yy.relationType.COMPOSITION;\n break;\n case 72:\n this.$ = yy.relationType.DEPENDENCY;\n break;\n case 73:\n this.$ = yy.relationType.LOLLIPOP;\n break;\n case 74:\n this.$ = yy.lineType.LINE;\n break;\n case 75:\n this.$ = yy.lineType.DOTTED_LINE;\n break;\n case 76:\n case 82:\n this.$ = $$[$0 - 2];\n yy.setClickEvent($$[$0 - 1], $$[$0]);\n break;\n case 77:\n case 83:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 2], $$[$0]);\n break;\n case 78:\n this.$ = $$[$0 - 2];\n yy.setLink($$[$0 - 1], $$[$0]);\n break;\n case 79:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 80:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 2], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 2], $$[$0]);\n break;\n case 81:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 3], $$[$0 - 2], $$[$0]);\n yy.setTooltip($$[$0 - 3], $$[$0 - 1]);\n break;\n case 84:\n this.$ = $$[$0 - 3];\n yy.setClickEvent($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 85:\n this.$ = $$[$0 - 4];\n yy.setClickEvent($$[$0 - 3], $$[$0 - 2], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 86:\n this.$ = $$[$0 - 3];\n yy.setLink($$[$0 - 2], $$[$0]);\n break;\n case 87:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 3], $$[$0 - 1], $$[$0]);\n break;\n case 88:\n this.$ = $$[$0 - 4];\n yy.setLink($$[$0 - 3], $$[$0 - 1]);\n yy.setTooltip($$[$0 - 3], $$[$0]);\n break;\n case 89:\n this.$ = $$[$0 - 5];\n yy.setLink($$[$0 - 4], $$[$0 - 2], $$[$0]);\n yy.setTooltip($$[$0 - 4], $$[$0 - 1]);\n break;\n case 90:\n this.$ = $$[$0 - 2];\n yy.setCssStyle($$[$0 - 1], $$[$0]);\n break;\n case 91:\n yy.setCssClass($$[$0 - 1], $$[$0]);\n break;\n case 92:\n this.$ = [$$[$0]];\n break;\n case 93:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 95:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: 4, 7: [1, 6], 10: 5, 16: 39, 18: 21, 19: 40, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V0, 35: $V1, 37: $V2, 38: 22, 42: $V3, 43: 23, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 1: [3] }, { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3] }, o($Vp, [2, 5], { 8: [1, 48] }), { 8: [1, 49] }, o($Vq, [2, 18], { 22: [1, 50] }), o($Vq, [2, 20]), o($Vq, [2, 21]), o($Vq, [2, 22]), o($Vq, [2, 23]), o($Vq, [2, 24]), o($Vq, [2, 25]), o($Vq, [2, 26]), o($Vq, [2, 27]), o($Vq, [2, 28]), o($Vq, [2, 29]), { 34: [1, 51] }, { 36: [1, 52] }, o($Vq, [2, 32]), o($Vq, [2, 48], { 51: 53, 64: 56, 65: 57, 13: [1, 54], 22: [1, 55], 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv, 71: $Vw, 72: $Vx }), { 39: [1, 65] }, o($Vy, [2, 39], { 39: [1, 67], 44: [1, 66] }), o($Vq, [2, 50]), o($Vq, [2, 51]), { 16: 68, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 16: 39, 18: 69, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 16: 39, 18: 70, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 16: 39, 18: 71, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 58: [1, 72] }, { 13: [1, 73] }, { 16: 39, 18: 74, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 13: $Vz, 53: 75 }, { 56: 77, 58: [1, 78] }, o($Vq, [2, 61]), o($Vq, [2, 62]), o($Vq, [2, 63]), o($Vq, [2, 64]), o($VA, [2, 12], { 16: 39, 19: 40, 18: 80, 17: [1, 79], 20: [1, 81], 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }), o($VA, [2, 14], { 20: [1, 82] }), { 15: 83, 16: 84, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 16: 39, 18: 85, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VB, [2, 118]), o($VB, [2, 119]), o($VB, [2, 120]), o($VB, [2, 121]), o([1, 8, 9, 12, 13, 20, 22, 39, 41, 44, 66, 67, 68, 69, 70, 71, 72, 77, 79], [2, 122]), o($Vp, [2, 6], { 10: 5, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 18: 21, 38: 22, 43: 23, 16: 39, 19: 40, 5: 86, 33: $V0, 35: $V1, 37: $V2, 42: $V3, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }), { 5: 87, 10: 5, 16: 39, 18: 21, 19: 40, 21: 7, 23: 8, 24: 9, 25: 10, 26: 11, 27: 12, 28: 13, 29: 14, 30: 15, 31: 16, 32: 17, 33: $V0, 35: $V1, 37: $V2, 38: 22, 42: $V3, 43: 23, 46: $V4, 47: $V5, 49: $V6, 50: $V7, 52: $V8, 54: $V9, 55: $Va, 58: $Vb, 60: $Vc, 61: $Vd, 62: $Ve, 63: $Vf, 73: $Vg, 74: $Vh, 76: $Vi, 80: $Vj, 81: $Vk, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($Vq, [2, 19]), o($Vq, [2, 30]), o($Vq, [2, 31]), { 13: [1, 89], 16: 39, 18: 88, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 51: 90, 64: 56, 65: 57, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv, 71: $Vw, 72: $Vx }, o($Vq, [2, 49]), { 65: 91, 71: $Vw, 72: $Vx }, o($VC, [2, 68], { 64: 92, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv }), o($VD, [2, 69]), o($VD, [2, 70]), o($VD, [2, 71]), o($VD, [2, 72]), o($VD, [2, 73]), o($VE, [2, 74]), o($VE, [2, 75]), { 8: [1, 94], 24: 95, 40: 93, 43: 23, 46: $V4 }, { 16: 96, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 45: 97, 49: $VF }, { 48: [1, 99] }, { 13: [1, 100] }, { 13: [1, 101] }, { 77: [1, 102], 79: [1, 103] }, { 22: $VG, 57: 104, 58: $VH, 80: $VI, 82: 105, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, { 58: [1, 116] }, { 13: $Vz, 53: 117 }, o($Vq, [2, 57]), o($Vq, [2, 123]), { 22: $VG, 57: 118, 58: $VH, 59: [1, 119], 80: $VI, 82: 105, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, o($VP, [2, 59]), { 16: 39, 18: 120, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VA, [2, 15]), o($VA, [2, 16]), o($VA, [2, 17]), { 39: [2, 35] }, { 15: 122, 16: 84, 17: [1, 121], 39: [2, 9], 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, o($VQ, [2, 43], { 11: 123, 12: [1, 124] }), o($Vp, [2, 7]), { 9: [1, 125] }, o($VR, [2, 52]), { 16: 39, 18: 126, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, { 13: [1, 128], 16: 39, 18: 127, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VC, [2, 67], { 64: 129, 66: $Vr, 67: $Vs, 68: $Vt, 69: $Vu, 70: $Vv }), o($VC, [2, 66]), { 41: [1, 130] }, { 24: 95, 40: 131, 43: 23, 46: $V4 }, { 8: [1, 132], 41: [2, 36] }, o($Vy, [2, 40], { 39: [1, 133] }), { 41: [1, 134] }, { 41: [2, 46], 45: 135, 49: $VF }, { 16: 39, 18: 136, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($Vq, [2, 76], { 13: [1, 137] }), o($Vq, [2, 78], { 13: [1, 139], 75: [1, 138] }), o($Vq, [2, 82], { 13: [1, 140], 78: [1, 141] }), { 13: [1, 142] }, o($Vq, [2, 90], { 59: $VS }), o($VT, [2, 92], { 83: 144, 22: $VG, 58: $VH, 80: $VI, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }), o($VU, [2, 94]), o($VU, [2, 96]), o($VU, [2, 97]), o($VU, [2, 98]), o($VU, [2, 99]), o($VU, [2, 100]), o($VU, [2, 101]), o($VU, [2, 102]), o($VU, [2, 103]), o($VU, [2, 104]), o($Vq, [2, 91]), o($Vq, [2, 56]), o($Vq, [2, 58], { 59: $VS }), { 58: [1, 145] }, o($VA, [2, 13]), { 15: 146, 16: 84, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn }, { 39: [2, 11] }, o($VQ, [2, 44]), { 13: [1, 147] }, { 1: [2, 4] }, o($VR, [2, 54]), o($VR, [2, 53]), { 16: 39, 18: 148, 19: 40, 58: $Vb, 84: $Vl, 99: $Vm, 101: $Vn, 102: $Vo }, o($VC, [2, 65]), o($Vq, [2, 33]), { 41: [1, 149] }, { 24: 95, 40: 150, 41: [2, 37], 43: 23, 46: $V4 }, { 45: 151, 49: $VF }, o($Vy, [2, 41]), { 41: [2, 47] }, o($Vq, [2, 45]), o($Vq, [2, 77]), o($Vq, [2, 79]), o($Vq, [2, 80], { 75: [1, 152] }), o($Vq, [2, 83]), o($Vq, [2, 84], { 13: [1, 153] }), o($Vq, [2, 86], { 13: [1, 155], 75: [1, 154] }), { 22: $VG, 58: $VH, 80: $VI, 82: 156, 83: 106, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }, o($VU, [2, 95]), o($VP, [2, 60]), { 39: [2, 10] }, { 14: [1, 157] }, o($VR, [2, 55]), o($Vq, [2, 34]), { 41: [2, 38] }, { 41: [1, 158] }, o($Vq, [2, 81]), o($Vq, [2, 85]), o($Vq, [2, 87]), o($Vq, [2, 88], { 75: [1, 159] }), o($VT, [2, 93], { 83: 144, 22: $VG, 58: $VH, 80: $VI, 84: $VJ, 85: $VK, 86: $VL, 87: $VM, 88: $VN, 89: $VO }), o($VQ, [2, 8]), o($Vy, [2, 42]), o($Vq, [2, 89])],\n defaultActions: { 2: [2, 1], 3: [2, 2], 4: [2, 3], 83: [2, 35], 122: [2, 11], 125: [2, 4], 135: [2, 47], 146: [2, 10], 150: [2, 38] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: {},\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 60;\n break;\n case 1:\n return 61;\n break;\n case 2:\n return 62;\n break;\n case 3:\n return 63;\n break;\n case 4:\n break;\n case 5:\n break;\n case 6:\n this.begin(\"acc_title\");\n return 33;\n break;\n case 7:\n this.popState();\n return \"acc_title_value\";\n break;\n case 8:\n this.begin(\"acc_descr\");\n return 35;\n break;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n break;\n case 13:\n return 8;\n break;\n case 14:\n break;\n case 15:\n return 7;\n break;\n case 16:\n return 7;\n break;\n case 17:\n return \"EDGE_STATE\";\n break;\n case 18:\n this.begin(\"callback_name\");\n break;\n case 19:\n this.popState();\n break;\n case 20:\n this.popState();\n this.begin(\"callback_args\");\n break;\n case 21:\n return 77;\n break;\n case 22:\n this.popState();\n break;\n case 23:\n return 78;\n break;\n case 24:\n this.popState();\n break;\n case 25:\n return \"STR\";\n break;\n case 26:\n this.begin(\"string\");\n break;\n case 27:\n return 80;\n break;\n case 28:\n return 55;\n break;\n case 29:\n this.begin(\"namespace\");\n return 42;\n break;\n case 30:\n this.popState();\n return 8;\n break;\n case 31:\n break;\n case 32:\n this.begin(\"namespace-body\");\n return 39;\n break;\n case 33:\n this.popState();\n return 41;\n break;\n case 34:\n return \"EOF_IN_STRUCT\";\n break;\n case 35:\n return 8;\n break;\n case 36:\n break;\n case 37:\n return \"EDGE_STATE\";\n break;\n case 38:\n this.begin(\"class\");\n return 46;\n break;\n case 39:\n this.popState();\n return 8;\n break;\n case 40:\n break;\n case 41:\n this.popState();\n this.popState();\n return 41;\n break;\n case 42:\n this.begin(\"class-body\");\n return 39;\n break;\n case 43:\n this.popState();\n return 41;\n break;\n case 44:\n return \"EOF_IN_STRUCT\";\n break;\n case 45:\n return \"EDGE_STATE\";\n break;\n case 46:\n return \"OPEN_IN_STRUCT\";\n break;\n case 47:\n break;\n case 48:\n return \"MEMBER\";\n break;\n case 49:\n return 81;\n break;\n case 50:\n return 73;\n break;\n case 51:\n return 74;\n break;\n case 52:\n return 76;\n break;\n case 53:\n return 52;\n break;\n case 54:\n return 54;\n break;\n case 55:\n return 47;\n break;\n case 56:\n return 48;\n break;\n case 57:\n return 79;\n break;\n case 58:\n this.popState();\n break;\n case 59:\n return \"GENERICTYPE\";\n break;\n case 60:\n this.begin(\"generic\");\n break;\n case 61:\n this.popState();\n break;\n case 62:\n return \"BQUOTE_STR\";\n break;\n case 63:\n this.begin(\"bqstring\");\n break;\n case 64:\n return 75;\n break;\n case 65:\n return 75;\n break;\n case 66:\n return 75;\n break;\n case 67:\n return 75;\n break;\n case 68:\n return 67;\n break;\n case 69:\n return 67;\n break;\n case 70:\n return 69;\n break;\n case 71:\n return 69;\n break;\n case 72:\n return 68;\n break;\n case 73:\n return 66;\n break;\n case 74:\n return 70;\n break;\n case 75:\n return 71;\n break;\n case 76:\n return 72;\n break;\n case 77:\n return 22;\n break;\n case 78:\n return 44;\n break;\n case 79:\n return 99;\n break;\n case 80:\n return 17;\n break;\n case 81:\n return \"PLUS\";\n break;\n case 82:\n return 85;\n break;\n case 83:\n return 59;\n break;\n case 84:\n return 88;\n break;\n case 85:\n return 88;\n break;\n case 86:\n return 89;\n break;\n case 87:\n return \"EQUALS\";\n break;\n case 88:\n return \"EQUALS\";\n break;\n case 89:\n return 58;\n break;\n case 90:\n return 12;\n break;\n case 91:\n return 14;\n break;\n case 92:\n return \"PUNCTUATION\";\n break;\n case 93:\n return 84;\n break;\n case 94:\n return 101;\n break;\n case 95:\n return 87;\n break;\n case 96:\n return 87;\n break;\n case 97:\n return 9;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:.*direction\\s+TB[^\\n]*)/, /^(?:.*direction\\s+BT[^\\n]*)/, /^(?:.*direction\\s+RL[^\\n]*)/, /^(?:.*direction\\s+LR[^\\n]*)/, /^(?:%%(?!\\{)*[^\\n]*(\\r?\\n?)+)/, /^(?:%%[^\\n]*(\\r?\\n)*)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:classDiagram-v2\\b)/, /^(?:classDiagram\\b)/, /^(?:\\[\\*\\])/, /^(?:call[\\s]+)/, /^(?:\\([\\s]*\\))/, /^(?:\\()/, /^(?:[^(]*)/, /^(?:\\))/, /^(?:[^)]*)/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:[\"])/, /^(?:style\\b)/, /^(?:classDef\\b)/, /^(?:namespace\\b)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:\\[\\*\\])/, /^(?:class\\b)/, /^(?:\\s*(\\r?\\n)+)/, /^(?:\\s+)/, /^(?:[}])/, /^(?:[{])/, /^(?:[}])/, /^(?:$)/, /^(?:\\[\\*\\])/, /^(?:[{])/, /^(?:[\\n])/, /^(?:[^{}\\n]*)/, /^(?:cssClass\\b)/, /^(?:callback\\b)/, /^(?:link\\b)/, /^(?:click\\b)/, /^(?:note for\\b)/, /^(?:note\\b)/, /^(?:<<)/, /^(?:>>)/, /^(?:href\\b)/, /^(?:[~])/, /^(?:[^~]*)/, /^(?:~)/, /^(?:[`])/, /^(?:[^`]+)/, /^(?:[`])/, /^(?:_self\\b)/, /^(?:_blank\\b)/, /^(?:_parent\\b)/, /^(?:_top\\b)/, /^(?:\\s*<\\|)/, /^(?:\\s*\\|>)/, /^(?:\\s*>)/, /^(?:\\s*<)/, /^(?:\\s*\\*)/, /^(?:\\s*o\\b)/, /^(?:\\s*\\(\\))/, /^(?:--)/, /^(?:\\.\\.)/, /^(?::{1}[^:\\n;]+)/, /^(?::{3})/, /^(?:-)/, /^(?:\\.)/, /^(?:\\+)/, /^(?::)/, /^(?:,)/, /^(?:#)/, /^(?:#)/, /^(?:%)/, /^(?:=)/, /^(?:=)/, /^(?:\\w+)/, /^(?:\\[)/, /^(?:\\])/, /^(?:[!\"#$%&'*+,-.`?\\\\/])/, /^(?:[0-9]+)/, /^(?:[\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6]|[\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377]|[\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5]|[\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA]|[\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE]|[\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA]|[\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0]|[\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977]|[\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2]|[\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A]|[\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39]|[\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8]|[\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C]|[\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C]|[\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99]|[\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0]|[\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D]|[\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3]|[\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10]|[\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1]|[\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81]|[\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3]|[\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6]|[\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A]|[\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081]|[\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D]|[\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0]|[\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310]|[\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C]|[\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711]|[\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7]|[\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C]|[\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16]|[\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF]|[\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC]|[\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D]|[\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D]|[\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3]|[\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F]|[\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128]|[\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184]|[\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3]|[\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6]|[\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE]|[\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C]|[\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D]|[\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC]|[\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B]|[\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788]|[\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805]|[\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB]|[\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28]|[\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5]|[\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4]|[\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E]|[\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D]|[\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36]|[\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D]|[\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC]|[\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF]|[\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC])/, /^(?:\\s)/, /^(?:\\s)/, /^(?:$)/],\n conditions: { \"namespace-body\": { \"rules\": [26, 33, 34, 35, 36, 37, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"namespace\": { \"rules\": [26, 29, 30, 31, 32, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"class-body\": { \"rules\": [26, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"class\": { \"rules\": [26, 39, 40, 41, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [11, 12, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"acc_title\": { \"rules\": [7, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"callback_args\": { \"rules\": [22, 23, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"callback_name\": { \"rules\": [19, 20, 21, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"href\": { \"rules\": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"struct\": { \"rules\": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"generic\": { \"rules\": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"bqstring\": { \"rules\": [26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"string\": { \"rules\": [24, 25, 26, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 14, 15, 16, 17, 18, 26, 27, 28, 29, 38, 49, 50, 51, 52, 53, 54, 55, 56, 57, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar classDiagram_default = parser;\n\n// src/diagrams/class/classDb.ts\nimport { select } from \"d3\";\n\n// src/diagrams/class/classTypes.ts\nvar visibilityValues = [\"#\", \"+\", \"~\", \"-\", \"\"];\nvar ClassMember = class {\n static {\n __name(this, \"ClassMember\");\n }\n constructor(input, memberType) {\n this.memberType = memberType;\n this.visibility = \"\";\n this.classifier = \"\";\n this.text = \"\";\n const sanitizedInput = sanitizeText(input, getConfig());\n this.parseMember(sanitizedInput);\n }\n getDisplayDetails() {\n let displayText = this.visibility + parseGenericTypes(this.id);\n if (this.memberType === \"method\") {\n displayText += `(${parseGenericTypes(this.parameters.trim())})`;\n if (this.returnType) {\n displayText += \" : \" + parseGenericTypes(this.returnType);\n }\n }\n displayText = displayText.trim();\n const cssStyle = this.parseClassifier();\n return {\n displayText,\n cssStyle\n };\n }\n parseMember(input) {\n let potentialClassifier = \"\";\n if (this.memberType === \"method\") {\n const methodRegEx = /([#+~-])?(.+)\\((.*)\\)([\\s$*])?(.*)([$*])?/;\n const match = methodRegEx.exec(input);\n if (match) {\n const detectedVisibility = match[1] ? match[1].trim() : \"\";\n if (visibilityValues.includes(detectedVisibility)) {\n this.visibility = detectedVisibility;\n }\n this.id = match[2];\n this.parameters = match[3] ? match[3].trim() : \"\";\n potentialClassifier = match[4] ? match[4].trim() : \"\";\n this.returnType = match[5] ? match[5].trim() : \"\";\n if (potentialClassifier === \"\") {\n const lastChar = this.returnType.substring(this.returnType.length - 1);\n if (/[$*]/.exec(lastChar)) {\n potentialClassifier = lastChar;\n this.returnType = this.returnType.substring(0, this.returnType.length - 1);\n }\n }\n }\n } else {\n const length = input.length;\n const firstChar = input.substring(0, 1);\n const lastChar = input.substring(length - 1);\n if (visibilityValues.includes(firstChar)) {\n this.visibility = firstChar;\n }\n if (/[$*]/.exec(lastChar)) {\n potentialClassifier = lastChar;\n }\n this.id = input.substring(\n this.visibility === \"\" ? 0 : 1,\n potentialClassifier === \"\" ? length : length - 1\n );\n }\n this.classifier = potentialClassifier;\n this.id = this.id.startsWith(\" \") ? \" \" + this.id.trim() : this.id.trim();\n const combinedText = `${this.visibility ? \"\\\\\" + this.visibility : \"\"}${parseGenericTypes(this.id)}${this.memberType === \"method\" ? `(${parseGenericTypes(this.parameters)})${this.returnType ? \" : \" + parseGenericTypes(this.returnType) : \"\"}` : \"\"}`;\n this.text = combinedText.replaceAll(\"<\", \"<\").replaceAll(\">\", \">\");\n if (this.text.startsWith(\"\\\\<\")) {\n this.text = this.text.replace(\"\\\\<\", \"~\");\n }\n }\n parseClassifier() {\n switch (this.classifier) {\n case \"*\":\n return \"font-style:italic;\";\n case \"$\":\n return \"text-decoration:underline;\";\n default:\n return \"\";\n }\n }\n};\n\n// src/diagrams/class/classDb.ts\nvar MERMAID_DOM_ID_PREFIX = \"classId-\";\nvar classCounter = 0;\nvar sanitizeText2 = /* @__PURE__ */ __name((txt) => common_default.sanitizeText(txt, getConfig()), \"sanitizeText\");\nvar ClassDB = class {\n constructor() {\n this.relations = [];\n this.classes = /* @__PURE__ */ new Map();\n this.styleClasses = /* @__PURE__ */ new Map();\n this.notes = [];\n this.interfaces = [];\n // private static classCounter = 0;\n this.namespaces = /* @__PURE__ */ new Map();\n this.namespaceCounter = 0;\n this.functions = [];\n this.lineType = {\n LINE: 0,\n DOTTED_LINE: 1\n };\n this.relationType = {\n AGGREGATION: 0,\n EXTENSION: 1,\n COMPOSITION: 2,\n DEPENDENCY: 3,\n LOLLIPOP: 4\n };\n this.setupToolTips = /* @__PURE__ */ __name((element) => {\n let tooltipElem = select(\".mermaidTooltip\");\n if ((tooltipElem._groups || tooltipElem)[0][0] === null) {\n tooltipElem = select(\"body\").append(\"div\").attr(\"class\", \"mermaidTooltip\").style(\"opacity\", 0);\n }\n const svg = select(element).select(\"svg\");\n const nodes = svg.selectAll(\"g.node\");\n nodes.on(\"mouseover\", (event) => {\n const el = select(event.currentTarget);\n const title = el.attr(\"title\");\n if (title === null) {\n return;\n }\n const rect = this.getBoundingClientRect();\n tooltipElem.transition().duration(200).style(\"opacity\", \".9\");\n tooltipElem.text(el.attr(\"title\")).style(\"left\", window.scrollX + rect.left + (rect.right - rect.left) / 2 + \"px\").style(\"top\", window.scrollY + rect.top - 14 + document.body.scrollTop + \"px\");\n tooltipElem.html(tooltipElem.html().replace(/<br\\/>/g, \"<br/>\"));\n el.classed(\"hover\", true);\n }).on(\"mouseout\", (event) => {\n tooltipElem.transition().duration(500).style(\"opacity\", 0);\n const el = select(event.currentTarget);\n el.classed(\"hover\", false);\n });\n }, \"setupToolTips\");\n this.direction = \"TB\";\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setAccDescription = setAccDescription;\n this.getAccDescription = getAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getConfig = /* @__PURE__ */ __name(() => getConfig().class, \"getConfig\");\n this.functions.push(this.setupToolTips.bind(this));\n this.clear();\n this.addRelation = this.addRelation.bind(this);\n this.addClassesToNamespace = this.addClassesToNamespace.bind(this);\n this.addNamespace = this.addNamespace.bind(this);\n this.setCssClass = this.setCssClass.bind(this);\n this.addMembers = this.addMembers.bind(this);\n this.addClass = this.addClass.bind(this);\n this.setClassLabel = this.setClassLabel.bind(this);\n this.addAnnotation = this.addAnnotation.bind(this);\n this.addMember = this.addMember.bind(this);\n this.cleanupLabel = this.cleanupLabel.bind(this);\n this.addNote = this.addNote.bind(this);\n this.defineClass = this.defineClass.bind(this);\n this.setDirection = this.setDirection.bind(this);\n this.setLink = this.setLink.bind(this);\n this.bindFunctions = this.bindFunctions.bind(this);\n this.clear = this.clear.bind(this);\n this.setTooltip = this.setTooltip.bind(this);\n this.setClickEvent = this.setClickEvent.bind(this);\n this.setCssStyle = this.setCssStyle.bind(this);\n }\n static {\n __name(this, \"ClassDB\");\n }\n splitClassNameAndType(_id) {\n const id = common_default.sanitizeText(_id, getConfig());\n let genericType = \"\";\n let className = id;\n if (id.indexOf(\"~\") > 0) {\n const split = id.split(\"~\");\n className = sanitizeText2(split[0]);\n genericType = sanitizeText2(split[1]);\n }\n return { className, type: genericType };\n }\n setClassLabel(_id, label) {\n const id = common_default.sanitizeText(_id, getConfig());\n if (label) {\n label = sanitizeText2(label);\n }\n const { className } = this.splitClassNameAndType(id);\n this.classes.get(className).label = label;\n this.classes.get(className).text = `${label}${this.classes.get(className).type ? `<${this.classes.get(className).type}>` : \"\"}`;\n }\n /**\n * Function called by parser when a node definition has been found.\n *\n * @param id - Id of the class to add\n * @public\n */\n addClass(_id) {\n const id = common_default.sanitizeText(_id, getConfig());\n const { className, type } = this.splitClassNameAndType(id);\n if (this.classes.has(className)) {\n return;\n }\n const name = common_default.sanitizeText(className, getConfig());\n this.classes.set(name, {\n id: name,\n type,\n label: name,\n text: `${name}${type ? `<${type}>` : \"\"}`,\n shape: \"classBox\",\n cssClasses: \"default\",\n methods: [],\n members: [],\n annotations: [],\n styles: [],\n domId: MERMAID_DOM_ID_PREFIX + name + \"-\" + classCounter\n });\n classCounter++;\n }\n addInterface(label, classId) {\n const classInterface = {\n id: `interface${this.interfaces.length}`,\n label,\n classId\n };\n this.interfaces.push(classInterface);\n }\n /**\n * Function to lookup domId from id in the graph definition.\n *\n * @param id - class ID to lookup\n * @public\n */\n lookUpDomId(_id) {\n const id = common_default.sanitizeText(_id, getConfig());\n if (this.classes.has(id)) {\n return this.classes.get(id).domId;\n }\n throw new Error(\"Class not found: \" + id);\n }\n clear() {\n this.relations = [];\n this.classes = /* @__PURE__ */ new Map();\n this.notes = [];\n this.interfaces = [];\n this.functions = [];\n this.functions.push(this.setupToolTips.bind(this));\n this.namespaces = /* @__PURE__ */ new Map();\n this.namespaceCounter = 0;\n this.direction = \"TB\";\n clear();\n }\n getClass(id) {\n return this.classes.get(id);\n }\n getClasses() {\n return this.classes;\n }\n getRelations() {\n return this.relations;\n }\n getNotes() {\n return this.notes;\n }\n addRelation(classRelation) {\n log.debug(\"Adding relation: \" + JSON.stringify(classRelation));\n const invalidTypes = [\n this.relationType.LOLLIPOP,\n this.relationType.AGGREGATION,\n this.relationType.COMPOSITION,\n this.relationType.DEPENDENCY,\n this.relationType.EXTENSION\n ];\n if (classRelation.relation.type1 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type2)) {\n this.addClass(classRelation.id2);\n this.addInterface(classRelation.id1, classRelation.id2);\n classRelation.id1 = `interface${this.interfaces.length - 1}`;\n } else if (classRelation.relation.type2 === this.relationType.LOLLIPOP && !invalidTypes.includes(classRelation.relation.type1)) {\n this.addClass(classRelation.id1);\n this.addInterface(classRelation.id2, classRelation.id1);\n classRelation.id2 = `interface${this.interfaces.length - 1}`;\n } else {\n this.addClass(classRelation.id1);\n this.addClass(classRelation.id2);\n }\n classRelation.id1 = this.splitClassNameAndType(classRelation.id1).className;\n classRelation.id2 = this.splitClassNameAndType(classRelation.id2).className;\n classRelation.relationTitle1 = common_default.sanitizeText(\n classRelation.relationTitle1.trim(),\n getConfig()\n );\n classRelation.relationTitle2 = common_default.sanitizeText(\n classRelation.relationTitle2.trim(),\n getConfig()\n );\n this.relations.push(classRelation);\n }\n /**\n * Adds an annotation to the specified class Annotations mark special properties of the given type\n * (like 'interface' or 'service')\n *\n * @param className - The class name\n * @param annotation - The name of the annotation without any brackets\n * @public\n */\n addAnnotation(className, annotation) {\n const validatedClassName = this.splitClassNameAndType(className).className;\n this.classes.get(validatedClassName).annotations.push(annotation);\n }\n /**\n * Adds a member to the specified class\n *\n * @param className - The class name\n * @param member - The full name of the member. If the member is enclosed in `<<brackets>>` it is\n * treated as an annotation If the member is ending with a closing bracket ) it is treated as a\n * method Otherwise the member will be treated as a normal property\n * @public\n */\n addMember(className, member) {\n this.addClass(className);\n const validatedClassName = this.splitClassNameAndType(className).className;\n const theClass = this.classes.get(validatedClassName);\n if (typeof member === \"string\") {\n const memberString = member.trim();\n if (memberString.startsWith(\"<<\") && memberString.endsWith(\">>\")) {\n theClass.annotations.push(sanitizeText2(memberString.substring(2, memberString.length - 2)));\n } else if (memberString.indexOf(\")\") > 0) {\n theClass.methods.push(new ClassMember(memberString, \"method\"));\n } else if (memberString) {\n theClass.members.push(new ClassMember(memberString, \"attribute\"));\n }\n }\n }\n addMembers(className, members) {\n if (Array.isArray(members)) {\n members.reverse();\n members.forEach((member) => this.addMember(className, member));\n }\n }\n addNote(text, className) {\n const note = {\n id: `note${this.notes.length}`,\n class: className,\n text\n };\n this.notes.push(note);\n }\n cleanupLabel(label) {\n if (label.startsWith(\":\")) {\n label = label.substring(1);\n }\n return sanitizeText2(label.trim());\n }\n /**\n * Called by parser when assigning cssClass to a class\n *\n * @param ids - Comma separated list of ids\n * @param className - Class to add\n */\n setCssClass(ids, className) {\n ids.split(\",\").forEach((_id) => {\n let id = _id;\n if (/\\d/.exec(_id[0])) {\n id = MERMAID_DOM_ID_PREFIX + id;\n }\n const classNode = this.classes.get(id);\n if (classNode) {\n classNode.cssClasses += \" \" + className;\n }\n });\n }\n defineClass(ids, style) {\n for (const id of ids) {\n let styleClass = this.styleClasses.get(id);\n if (styleClass === void 0) {\n styleClass = { id, styles: [], textStyles: [] };\n this.styleClasses.set(id, styleClass);\n }\n if (style) {\n style.forEach((s) => {\n if (/color/.exec(s)) {\n const newStyle = s.replace(\"fill\", \"bgFill\");\n styleClass.textStyles.push(newStyle);\n }\n styleClass.styles.push(s);\n });\n }\n this.classes.forEach((value) => {\n if (value.cssClasses.includes(id)) {\n value.styles.push(...style.flatMap((s) => s.split(\",\")));\n }\n });\n }\n }\n /**\n * Called by parser when a tooltip is found, e.g. a clickable element.\n *\n * @param ids - Comma separated list of ids\n * @param tooltip - Tooltip to add\n */\n setTooltip(ids, tooltip) {\n ids.split(\",\").forEach((id) => {\n if (tooltip !== void 0) {\n this.classes.get(id).tooltip = sanitizeText2(tooltip);\n }\n });\n }\n getTooltip(id, namespace) {\n if (namespace && this.namespaces.has(namespace)) {\n return this.namespaces.get(namespace).classes.get(id).tooltip;\n }\n return this.classes.get(id).tooltip;\n }\n /**\n * Called by parser when a link is found. Adds the URL to the vertex data.\n *\n * @param ids - Comma separated list of ids\n * @param linkStr - URL to create a link for\n * @param target - Target of the link, _blank by default as originally defined in the svgDraw.js file\n */\n setLink(ids, linkStr, target) {\n const config = getConfig();\n ids.split(\",\").forEach((_id) => {\n let id = _id;\n if (/\\d/.exec(_id[0])) {\n id = MERMAID_DOM_ID_PREFIX + id;\n }\n const theClass = this.classes.get(id);\n if (theClass) {\n theClass.link = utils_default.formatUrl(linkStr, config);\n if (config.securityLevel === \"sandbox\") {\n theClass.linkTarget = \"_top\";\n } else if (typeof target === \"string\") {\n theClass.linkTarget = sanitizeText2(target);\n } else {\n theClass.linkTarget = \"_blank\";\n }\n }\n });\n this.setCssClass(ids, \"clickable\");\n }\n /**\n * Called by parser when a click definition is found. Registers an event handler.\n *\n * @param ids - Comma separated list of ids\n * @param functionName - Function to be called on click\n * @param functionArgs - Function args the function should be called with\n */\n setClickEvent(ids, functionName, functionArgs) {\n ids.split(\",\").forEach((id) => {\n this.setClickFunc(id, functionName, functionArgs);\n this.classes.get(id).haveCallback = true;\n });\n this.setCssClass(ids, \"clickable\");\n }\n setClickFunc(_domId, functionName, functionArgs) {\n const domId = common_default.sanitizeText(_domId, getConfig());\n const config = getConfig();\n if (config.securityLevel !== \"loose\") {\n return;\n }\n if (functionName === void 0) {\n return;\n }\n const id = domId;\n if (this.classes.has(id)) {\n const elemId = this.lookUpDomId(id);\n let argList = [];\n if (typeof functionArgs === \"string\") {\n argList = functionArgs.split(/,(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/);\n for (let i = 0; i < argList.length; i++) {\n let item = argList[i].trim();\n if (item.startsWith('\"') && item.endsWith('\"')) {\n item = item.substr(1, item.length - 2);\n }\n argList[i] = item;\n }\n }\n if (argList.length === 0) {\n argList.push(elemId);\n }\n this.functions.push(() => {\n const elem = document.querySelector(`[id=\"${elemId}\"]`);\n if (elem !== null) {\n elem.addEventListener(\n \"click\",\n () => {\n utils_default.runFunc(functionName, ...argList);\n },\n false\n );\n }\n });\n }\n }\n bindFunctions(element) {\n this.functions.forEach((fun) => {\n fun(element);\n });\n }\n getDirection() {\n return this.direction;\n }\n setDirection(dir) {\n this.direction = dir;\n }\n /**\n * Function called by parser when a namespace definition has been found.\n *\n * @param id - Id of the namespace to add\n * @public\n */\n addNamespace(id) {\n if (this.namespaces.has(id)) {\n return;\n }\n this.namespaces.set(id, {\n id,\n classes: /* @__PURE__ */ new Map(),\n children: {},\n domId: MERMAID_DOM_ID_PREFIX + id + \"-\" + this.namespaceCounter\n });\n this.namespaceCounter++;\n }\n getNamespace(name) {\n return this.namespaces.get(name);\n }\n getNamespaces() {\n return this.namespaces;\n }\n /**\n * Function called by parser when a namespace definition has been found.\n *\n * @param id - Id of the namespace to add\n * @param classNames - Ids of the class to add\n * @public\n */\n addClassesToNamespace(id, classNames) {\n if (!this.namespaces.has(id)) {\n return;\n }\n for (const name of classNames) {\n const { className } = this.splitClassNameAndType(name);\n this.classes.get(className).parent = id;\n this.namespaces.get(id).classes.set(className, this.classes.get(className));\n }\n }\n setCssStyle(id, styles) {\n const thisClass = this.classes.get(id);\n if (!styles || !thisClass) {\n return;\n }\n for (const s of styles) {\n if (s.includes(\",\")) {\n thisClass.styles.push(...s.split(\",\"));\n } else {\n thisClass.styles.push(s);\n }\n }\n }\n /**\n * Gets the arrow marker for a type index\n *\n * @param type - The type to look for\n * @returns The arrow marker\n */\n getArrowMarker(type) {\n let marker;\n switch (type) {\n case 0:\n marker = \"aggregation\";\n break;\n case 1:\n marker = \"extension\";\n break;\n case 2:\n marker = \"composition\";\n break;\n case 3:\n marker = \"dependency\";\n break;\n case 4:\n marker = \"lollipop\";\n break;\n default:\n marker = \"none\";\n }\n return marker;\n }\n getData() {\n const nodes = [];\n const edges = [];\n const config = getConfig();\n for (const namespaceKey of this.namespaces.keys()) {\n const namespace = this.namespaces.get(namespaceKey);\n if (namespace) {\n const node = {\n id: namespace.id,\n label: namespace.id,\n isGroup: true,\n padding: config.class.padding ?? 16,\n // parent node must be one of [rect, roundedWithTitle, noteGroup, divider]\n shape: \"rect\",\n cssStyles: [\"fill: none\", \"stroke: black\"],\n look: config.look\n };\n nodes.push(node);\n }\n }\n for (const classKey of this.classes.keys()) {\n const classNode = this.classes.get(classKey);\n if (classNode) {\n const node = classNode;\n node.parentId = classNode.parent;\n node.look = config.look;\n nodes.push(node);\n }\n }\n let cnt = 0;\n for (const note of this.notes) {\n cnt++;\n const noteNode = {\n id: note.id,\n label: note.text,\n isGroup: false,\n shape: \"note\",\n padding: config.class.padding ?? 6,\n cssStyles: [\n \"text-align: left\",\n \"white-space: nowrap\",\n `fill: ${config.themeVariables.noteBkgColor}`,\n `stroke: ${config.themeVariables.noteBorderColor}`\n ],\n look: config.look\n };\n nodes.push(noteNode);\n const noteClassId = this.classes.get(note.class)?.id ?? \"\";\n if (noteClassId) {\n const edge = {\n id: `edgeNote${cnt}`,\n start: note.id,\n end: noteClassId,\n type: \"normal\",\n thickness: \"normal\",\n classes: \"relation\",\n arrowTypeStart: \"none\",\n arrowTypeEnd: \"none\",\n arrowheadStyle: \"\",\n labelStyle: [\"\"],\n style: [\"fill: none\"],\n pattern: \"dotted\",\n look: config.look\n };\n edges.push(edge);\n }\n }\n for (const _interface of this.interfaces) {\n const interfaceNode = {\n id: _interface.id,\n label: _interface.label,\n isGroup: false,\n shape: \"rect\",\n cssStyles: [\"opacity: 0;\"],\n look: config.look\n };\n nodes.push(interfaceNode);\n }\n cnt = 0;\n for (const classRelation of this.relations) {\n cnt++;\n const edge = {\n id: getEdgeId(classRelation.id1, classRelation.id2, {\n prefix: \"id\",\n counter: cnt\n }),\n start: classRelation.id1,\n end: classRelation.id2,\n type: \"normal\",\n label: classRelation.title,\n labelpos: \"c\",\n thickness: \"normal\",\n classes: \"relation\",\n arrowTypeStart: this.getArrowMarker(classRelation.relation.type1),\n arrowTypeEnd: this.getArrowMarker(classRelation.relation.type2),\n startLabelRight: classRelation.relationTitle1 === \"none\" ? \"\" : classRelation.relationTitle1,\n endLabelLeft: classRelation.relationTitle2 === \"none\" ? \"\" : classRelation.relationTitle2,\n arrowheadStyle: \"\",\n labelStyle: [\"display: inline-block\"],\n style: classRelation.style || \"\",\n pattern: classRelation.relation.lineType == 1 ? \"dashed\" : \"solid\",\n look: config.look\n };\n edges.push(edge);\n }\n return { nodes, edges, other: {}, config, direction: this.getDirection() };\n }\n};\n\n// src/diagrams/class/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `g.classGroup text {\n fill: ${options.nodeBorder || options.classText};\n stroke: none;\n font-family: ${options.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${options.classText};\n}\n.edgeLabel .label rect {\n fill: ${options.mainBkg};\n}\n.label text {\n fill: ${options.classText};\n}\n\n.labelBkg {\n background: ${options.mainBkg};\n}\n.edgeLabel .label span {\n background: ${options.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${options.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${options.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${options.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${options.lineColor} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${options.mainBkg} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${options.mainBkg} !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/class/classRenderer-v3-unified.ts\nvar getDir = /* @__PURE__ */ __name((parsedItem, defaultDir = \"TB\") => {\n if (!parsedItem.doc) {\n return defaultDir;\n }\n let dir = defaultDir;\n for (const parsedItemDoc of parsedItem.doc) {\n if (parsedItemDoc.stmt === \"dir\") {\n dir = parsedItemDoc.value;\n }\n }\n return dir;\n}, \"getDir\");\nvar getClasses = /* @__PURE__ */ __name(function(text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing class diagram (v3)\", id);\n const { securityLevel, state: conf, layout } = getConfig();\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);\n data4Layout.nodeSpacing = conf?.nodeSpacing || 50;\n data4Layout.rankSpacing = conf?.rankSpacing || 50;\n data4Layout.markers = [\"aggregation\", \"extension\", \"composition\", \"dependency\", \"lollipop\"];\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"classDiagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, \"classDiagram\", conf?.useMaxWidth ?? true);\n}, \"draw\");\nvar classRenderer_v3_unified_default = {\n getClasses,\n draw,\n getDir\n};\n\nexport {\n classDiagram_default,\n ClassDB,\n styles_default,\n classRenderer_v3_unified_default\n};\n", + "import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-A2AXSNBT.mjs\";\nimport \"./chunk-RZ5BOZE2.mjs\";\nimport \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/class/classDiagram.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-A2AXSNBT.mjs\";\nimport \"./chunk-RZ5BOZE2.mjs\";\nimport \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/class/classDiagram-v2.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n getDiagramElement,\n setupViewPortForSVG\n} from \"./chunk-RZ5BOZE2.mjs\";\nimport {\n render\n} from \"./chunk-TYCBKAJE.mjs\";\nimport {\n generateId,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/state/parser/stateDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 2], $V1 = [1, 3], $V2 = [1, 4], $V3 = [2, 4], $V4 = [1, 9], $V5 = [1, 11], $V6 = [1, 16], $V7 = [1, 17], $V8 = [1, 18], $V9 = [1, 19], $Va = [1, 32], $Vb = [1, 20], $Vc = [1, 21], $Vd = [1, 22], $Ve = [1, 23], $Vf = [1, 24], $Vg = [1, 26], $Vh = [1, 27], $Vi = [1, 28], $Vj = [1, 29], $Vk = [1, 30], $Vl = [1, 31], $Vm = [1, 34], $Vn = [1, 35], $Vo = [1, 36], $Vp = [1, 37], $Vq = [1, 33], $Vr = [1, 4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $Vs = [1, 4, 5, 14, 15, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $Vt = [4, 5, 16, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SPACE\": 4, \"NL\": 5, \"SD\": 6, \"document\": 7, \"line\": 8, \"statement\": 9, \"classDefStatement\": 10, \"styleStatement\": 11, \"cssClassStatement\": 12, \"idStatement\": 13, \"DESCR\": 14, \"-->\": 15, \"HIDE_EMPTY\": 16, \"scale\": 17, \"WIDTH\": 18, \"COMPOSIT_STATE\": 19, \"STRUCT_START\": 20, \"STRUCT_STOP\": 21, \"STATE_DESCR\": 22, \"AS\": 23, \"ID\": 24, \"FORK\": 25, \"JOIN\": 26, \"CHOICE\": 27, \"CONCURRENT\": 28, \"note\": 29, \"notePosition\": 30, \"NOTE_TEXT\": 31, \"direction\": 32, \"acc_title\": 33, \"acc_title_value\": 34, \"acc_descr\": 35, \"acc_descr_value\": 36, \"acc_descr_multiline_value\": 37, \"classDef\": 38, \"CLASSDEF_ID\": 39, \"CLASSDEF_STYLEOPTS\": 40, \"DEFAULT\": 41, \"style\": 42, \"STYLE_IDS\": 43, \"STYLEDEF_STYLEOPTS\": 44, \"class\": 45, \"CLASSENTITY_IDS\": 46, \"STYLECLASS\": 47, \"direction_tb\": 48, \"direction_bt\": 49, \"direction_rl\": 50, \"direction_lr\": 51, \"eol\": 52, \";\": 53, \"EDGE_STATE\": 54, \"STYLE_SEPARATOR\": 55, \"left_of\": 56, \"right_of\": 57, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SPACE\", 5: \"NL\", 6: \"SD\", 14: \"DESCR\", 15: \"-->\", 16: \"HIDE_EMPTY\", 17: \"scale\", 18: \"WIDTH\", 19: \"COMPOSIT_STATE\", 20: \"STRUCT_START\", 21: \"STRUCT_STOP\", 22: \"STATE_DESCR\", 23: \"AS\", 24: \"ID\", 25: \"FORK\", 26: \"JOIN\", 27: \"CHOICE\", 28: \"CONCURRENT\", 29: \"note\", 31: \"NOTE_TEXT\", 33: \"acc_title\", 34: \"acc_title_value\", 35: \"acc_descr\", 36: \"acc_descr_value\", 37: \"acc_descr_multiline_value\", 38: \"classDef\", 39: \"CLASSDEF_ID\", 40: \"CLASSDEF_STYLEOPTS\", 41: \"DEFAULT\", 42: \"style\", 43: \"STYLE_IDS\", 44: \"STYLEDEF_STYLEOPTS\", 45: \"class\", 46: \"CLASSENTITY_IDS\", 47: \"STYLECLASS\", 48: \"direction_tb\", 49: \"direction_bt\", 50: \"direction_rl\", 51: \"direction_lr\", 53: \";\", 54: \"EDGE_STATE\", 55: \"STYLE_SEPARATOR\", 56: \"left_of\", 57: \"right_of\" },\n productions_: [0, [3, 2], [3, 2], [3, 2], [7, 0], [7, 2], [8, 2], [8, 1], [8, 1], [9, 1], [9, 1], [9, 1], [9, 1], [9, 2], [9, 3], [9, 4], [9, 1], [9, 2], [9, 1], [9, 4], [9, 3], [9, 6], [9, 1], [9, 1], [9, 1], [9, 1], [9, 4], [9, 4], [9, 1], [9, 2], [9, 2], [9, 1], [10, 3], [10, 3], [11, 3], [12, 3], [32, 1], [32, 1], [32, 1], [32, 1], [52, 1], [52, 1], [13, 1], [13, 1], [13, 3], [13, 3], [30, 1], [30, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 3:\n yy.setRootDoc($$[$0]);\n return $$[$0];\n break;\n case 4:\n this.$ = [];\n break;\n case 5:\n if ($$[$0] != \"nl\") {\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n }\n break;\n case 6:\n case 7:\n this.$ = $$[$0];\n break;\n case 8:\n this.$ = \"nl\";\n break;\n case 12:\n this.$ = $$[$0];\n break;\n case 13:\n const stateStmt = $$[$0 - 1];\n stateStmt.description = yy.trimColon($$[$0]);\n this.$ = stateStmt;\n break;\n case 14:\n this.$ = { stmt: \"relation\", state1: $$[$0 - 2], state2: $$[$0] };\n break;\n case 15:\n const relDescription = yy.trimColon($$[$0]);\n this.$ = { stmt: \"relation\", state1: $$[$0 - 3], state2: $$[$0 - 1], description: relDescription };\n break;\n case 19:\n this.$ = { stmt: \"state\", id: $$[$0 - 3], type: \"default\", description: \"\", doc: $$[$0 - 1] };\n break;\n case 20:\n var id = $$[$0];\n var description = $$[$0 - 2].trim();\n if ($$[$0].match(\":\")) {\n var parts = $$[$0].split(\":\");\n id = parts[0];\n description = [description, parts[1]];\n }\n this.$ = { stmt: \"state\", id, type: \"default\", description };\n break;\n case 21:\n this.$ = { stmt: \"state\", id: $$[$0 - 3], type: \"default\", description: $$[$0 - 5], doc: $$[$0 - 1] };\n break;\n case 22:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"fork\" };\n break;\n case 23:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"join\" };\n break;\n case 24:\n this.$ = { stmt: \"state\", id: $$[$0], type: \"choice\" };\n break;\n case 25:\n this.$ = { stmt: \"state\", id: yy.getDividerId(), type: \"divider\" };\n break;\n case 26:\n this.$ = { stmt: \"state\", id: $$[$0 - 1].trim(), note: { position: $$[$0 - 2].trim(), text: $$[$0].trim() } };\n break;\n case 29:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 30:\n case 31:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 32:\n case 33:\n this.$ = { stmt: \"classDef\", id: $$[$0 - 1].trim(), classes: $$[$0].trim() };\n break;\n case 34:\n this.$ = { stmt: \"style\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 35:\n this.$ = { stmt: \"applyClass\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 36:\n yy.setDirection(\"TB\");\n this.$ = { stmt: \"dir\", value: \"TB\" };\n break;\n case 37:\n yy.setDirection(\"BT\");\n this.$ = { stmt: \"dir\", value: \"BT\" };\n break;\n case 38:\n yy.setDirection(\"RL\");\n this.$ = { stmt: \"dir\", value: \"RL\" };\n break;\n case 39:\n yy.setDirection(\"LR\");\n this.$ = { stmt: \"dir\", value: \"LR\" };\n break;\n case 42:\n case 43:\n this.$ = { stmt: \"state\", id: $$[$0].trim(), type: \"default\", description: \"\" };\n break;\n case 44:\n this.$ = { stmt: \"state\", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: \"default\", description: \"\" };\n break;\n case 45:\n this.$ = { stmt: \"state\", id: $$[$0 - 2].trim(), classes: [$$[$0].trim()], type: \"default\", description: \"\" };\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: $V0, 5: $V1, 6: $V2 }, { 1: [3] }, { 3: 5, 4: $V0, 5: $V1, 6: $V2 }, { 3: 6, 4: $V0, 5: $V1, 6: $V2 }, o([1, 4, 5, 16, 17, 19, 22, 24, 25, 26, 27, 28, 29, 33, 35, 37, 38, 42, 45, 48, 49, 50, 51, 54], $V3, { 7: 7 }), { 1: [2, 1] }, { 1: [2, 2] }, { 1: [2, 3], 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 5]), { 9: 38, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 7]), o($Vr, [2, 8]), o($Vr, [2, 9]), o($Vr, [2, 10]), o($Vr, [2, 11]), o($Vr, [2, 12], { 14: [1, 39], 15: [1, 40] }), o($Vr, [2, 16]), { 18: [1, 41] }, o($Vr, [2, 18], { 20: [1, 42] }), { 23: [1, 43] }, o($Vr, [2, 22]), o($Vr, [2, 23]), o($Vr, [2, 24]), o($Vr, [2, 25]), { 30: 44, 31: [1, 45], 56: [1, 46], 57: [1, 47] }, o($Vr, [2, 28]), { 34: [1, 48] }, { 36: [1, 49] }, o($Vr, [2, 31]), { 39: [1, 50], 41: [1, 51] }, { 43: [1, 52] }, { 46: [1, 53] }, o($Vs, [2, 42], { 55: [1, 54] }), o($Vs, [2, 43], { 55: [1, 55] }), o($Vr, [2, 36]), o($Vr, [2, 37]), o($Vr, [2, 38]), o($Vr, [2, 39]), o($Vr, [2, 6]), o($Vr, [2, 13]), { 13: 56, 24: $Va, 54: $Vq }, o($Vr, [2, 17]), o($Vt, $V3, { 7: 57 }), { 24: [1, 58] }, { 24: [1, 59] }, { 23: [1, 60] }, { 24: [2, 46] }, { 24: [2, 47] }, o($Vr, [2, 29]), o($Vr, [2, 30]), { 40: [1, 61] }, { 40: [1, 62] }, { 44: [1, 63] }, { 47: [1, 64] }, { 24: [1, 65] }, { 24: [1, 66] }, o($Vr, [2, 14], { 14: [1, 67] }), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 68], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 20], { 20: [1, 69] }), { 31: [1, 70] }, { 24: [1, 71] }, o($Vr, [2, 32]), o($Vr, [2, 33]), o($Vr, [2, 34]), o($Vr, [2, 35]), o($Vs, [2, 44]), o($Vs, [2, 45]), o($Vr, [2, 15]), o($Vr, [2, 19]), o($Vt, $V3, { 7: 72 }), o($Vr, [2, 26]), o($Vr, [2, 27]), { 4: $V4, 5: $V5, 8: 8, 9: 10, 10: 12, 11: 13, 12: 14, 13: 15, 16: $V6, 17: $V7, 19: $V8, 21: [1, 73], 22: $V9, 24: $Va, 25: $Vb, 26: $Vc, 27: $Vd, 28: $Ve, 29: $Vf, 32: 25, 33: $Vg, 35: $Vh, 37: $Vi, 38: $Vj, 42: $Vk, 45: $Vl, 48: $Vm, 49: $Vn, 50: $Vo, 51: $Vp, 54: $Vq }, o($Vr, [2, 21])],\n defaultActions: { 5: [2, 1], 6: [2, 2], 46: [2, 46], 47: [2, 47] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 41;\n break;\n case 1:\n return 48;\n break;\n case 2:\n return 49;\n break;\n case 3:\n return 50;\n break;\n case 4:\n return 51;\n break;\n case 5:\n break;\n case 6:\n {\n }\n break;\n case 7:\n return 5;\n break;\n case 8:\n break;\n case 9:\n break;\n case 10:\n break;\n case 11:\n break;\n case 12:\n this.pushState(\"SCALE\");\n return 17;\n break;\n case 13:\n return 18;\n break;\n case 14:\n this.popState();\n break;\n case 15:\n this.begin(\"acc_title\");\n return 33;\n break;\n case 16:\n this.popState();\n return \"acc_title_value\";\n break;\n case 17:\n this.begin(\"acc_descr\");\n return 35;\n break;\n case 18:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 19:\n this.begin(\"acc_descr_multiline\");\n break;\n case 20:\n this.popState();\n break;\n case 21:\n return \"acc_descr_multiline_value\";\n break;\n case 22:\n this.pushState(\"CLASSDEF\");\n return 38;\n break;\n case 23:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return \"DEFAULT_CLASSDEF_ID\";\n break;\n case 24:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return 39;\n break;\n case 25:\n this.popState();\n return 40;\n break;\n case 26:\n this.pushState(\"CLASS\");\n return 45;\n break;\n case 27:\n this.popState();\n this.pushState(\"CLASS_STYLE\");\n return 46;\n break;\n case 28:\n this.popState();\n return 47;\n break;\n case 29:\n this.pushState(\"STYLE\");\n return 42;\n break;\n case 30:\n this.popState();\n this.pushState(\"STYLEDEF_STYLES\");\n return 43;\n break;\n case 31:\n this.popState();\n return 44;\n break;\n case 32:\n this.pushState(\"SCALE\");\n return 17;\n break;\n case 33:\n return 18;\n break;\n case 34:\n this.popState();\n break;\n case 35:\n this.pushState(\"STATE\");\n break;\n case 36:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 25;\n break;\n case 37:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 26;\n break;\n case 38:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -10).trim();\n return 27;\n break;\n case 39:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 25;\n break;\n case 40:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 26;\n break;\n case 41:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -10).trim();\n return 27;\n break;\n case 42:\n return 48;\n break;\n case 43:\n return 49;\n break;\n case 44:\n return 50;\n break;\n case 45:\n return 51;\n break;\n case 46:\n this.pushState(\"STATE_STRING\");\n break;\n case 47:\n this.pushState(\"STATE_ID\");\n return \"AS\";\n break;\n case 48:\n this.popState();\n return \"ID\";\n break;\n case 49:\n this.popState();\n break;\n case 50:\n return \"STATE_DESCR\";\n break;\n case 51:\n return 19;\n break;\n case 52:\n this.popState();\n break;\n case 53:\n this.popState();\n this.pushState(\"struct\");\n return 20;\n break;\n case 54:\n break;\n case 55:\n this.popState();\n return 21;\n break;\n case 56:\n break;\n case 57:\n this.begin(\"NOTE\");\n return 29;\n break;\n case 58:\n this.popState();\n this.pushState(\"NOTE_ID\");\n return 56;\n break;\n case 59:\n this.popState();\n this.pushState(\"NOTE_ID\");\n return 57;\n break;\n case 60:\n this.popState();\n this.pushState(\"FLOATING_NOTE\");\n break;\n case 61:\n this.popState();\n this.pushState(\"FLOATING_NOTE_ID\");\n return \"AS\";\n break;\n case 62:\n break;\n case 63:\n return \"NOTE_TEXT\";\n break;\n case 64:\n this.popState();\n return \"ID\";\n break;\n case 65:\n this.popState();\n this.pushState(\"NOTE_TEXT\");\n return 24;\n break;\n case 66:\n this.popState();\n yy_.yytext = yy_.yytext.substr(2).trim();\n return 31;\n break;\n case 67:\n this.popState();\n yy_.yytext = yy_.yytext.slice(0, -8).trim();\n return 31;\n break;\n case 68:\n return 6;\n break;\n case 69:\n return 6;\n break;\n case 70:\n return 16;\n break;\n case 71:\n return 54;\n break;\n case 72:\n return 24;\n break;\n case 73:\n yy_.yytext = yy_.yytext.trim();\n return 14;\n break;\n case 74:\n return 15;\n break;\n case 75:\n return 28;\n break;\n case 76:\n return 55;\n break;\n case 77:\n return 5;\n break;\n case 78:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:default\\b)/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:((?!\\n)\\s)+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:scale\\s+)/i, /^(?:\\d+)/i, /^(?:\\s+width\\b)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:classDef\\s+)/i, /^(?:DEFAULT\\s+)/i, /^(?:\\w+\\s+)/i, /^(?:[^\\n]*)/i, /^(?:class\\s+)/i, /^(?:(\\w+)+((,\\s*\\w+)*))/i, /^(?:[^\\n]*)/i, /^(?:style\\s+)/i, /^(?:[\\w,]+\\s+)/i, /^(?:[^\\n]*)/i, /^(?:scale\\s+)/i, /^(?:\\d+)/i, /^(?:\\s+width\\b)/i, /^(?:state\\s+)/i, /^(?:.*<<fork>>)/i, /^(?:.*<<join>>)/i, /^(?:.*<<choice>>)/i, /^(?:.*\\[\\[fork\\]\\])/i, /^(?:.*\\[\\[join\\]\\])/i, /^(?:.*\\[\\[choice\\]\\])/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:[\"])/i, /^(?:\\s*as\\s+)/i, /^(?:[^\\n\\{]*)/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[^\\n\\s\\{]+)/i, /^(?:\\n)/i, /^(?:\\{)/i, /^(?:%%(?!\\{)[^\\n]*)/i, /^(?:\\})/i, /^(?:[\\n])/i, /^(?:note\\s+)/i, /^(?:left of\\b)/i, /^(?:right of\\b)/i, /^(?:\")/i, /^(?:\\s*as\\s*)/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[^\\n]*)/i, /^(?:\\s*[^:\\n\\s\\-]+)/i, /^(?:\\s*:[^:\\n;]+)/i, /^(?:[\\s\\S]*?end note\\b)/i, /^(?:stateDiagram\\s+)/i, /^(?:stateDiagram-v2\\s+)/i, /^(?:hide empty description\\b)/i, /^(?:\\[\\*\\])/i, /^(?:[^:\\n\\s\\-\\{]+)/i, /^(?:\\s*:[^:\\n;]+)/i, /^(?:-->)/i, /^(?:--)/i, /^(?::::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"LINE\": { \"rules\": [9, 10], \"inclusive\": false }, \"struct\": { \"rules\": [9, 10, 22, 26, 29, 35, 42, 43, 44, 45, 54, 55, 56, 57, 71, 72, 73, 74, 75], \"inclusive\": false }, \"FLOATING_NOTE_ID\": { \"rules\": [64], \"inclusive\": false }, \"FLOATING_NOTE\": { \"rules\": [61, 62, 63], \"inclusive\": false }, \"NOTE_TEXT\": { \"rules\": [66, 67], \"inclusive\": false }, \"NOTE_ID\": { \"rules\": [65], \"inclusive\": false }, \"NOTE\": { \"rules\": [58, 59, 60], \"inclusive\": false }, \"STYLEDEF_STYLEOPTS\": { \"rules\": [], \"inclusive\": false }, \"STYLEDEF_STYLES\": { \"rules\": [31], \"inclusive\": false }, \"STYLE_IDS\": { \"rules\": [], \"inclusive\": false }, \"STYLE\": { \"rules\": [30], \"inclusive\": false }, \"CLASS_STYLE\": { \"rules\": [28], \"inclusive\": false }, \"CLASS\": { \"rules\": [27], \"inclusive\": false }, \"CLASSDEFID\": { \"rules\": [25], \"inclusive\": false }, \"CLASSDEF\": { \"rules\": [23, 24], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [20, 21], \"inclusive\": false }, \"acc_descr\": { \"rules\": [18], \"inclusive\": false }, \"acc_title\": { \"rules\": [16], \"inclusive\": false }, \"SCALE\": { \"rules\": [13, 14, 33, 34], \"inclusive\": false }, \"ALIAS\": { \"rules\": [], \"inclusive\": false }, \"STATE_ID\": { \"rules\": [48], \"inclusive\": false }, \"STATE_STRING\": { \"rules\": [49, 50], \"inclusive\": false }, \"FORK_STATE\": { \"rules\": [], \"inclusive\": false }, \"STATE\": { \"rules\": [9, 10, 36, 37, 38, 39, 40, 41, 46, 47, 51, 52, 53], \"inclusive\": false }, \"ID\": { \"rules\": [9, 10], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 15, 17, 19, 22, 26, 29, 32, 35, 53, 57, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar stateDiagram_default = parser;\n\n// src/diagrams/state/stateCommon.ts\nvar DEFAULT_DIAGRAM_DIRECTION = \"TB\";\nvar DEFAULT_NESTED_DOC_DIR = \"TB\";\nvar STMT_DIRECTION = \"dir\";\nvar STMT_STATE = \"state\";\nvar STMT_RELATION = \"relation\";\nvar STMT_CLASSDEF = \"classDef\";\nvar STMT_STYLEDEF = \"style\";\nvar STMT_APPLYCLASS = \"applyClass\";\nvar DEFAULT_STATE_TYPE = \"default\";\nvar DIVIDER_TYPE = \"divider\";\nvar G_EDGE_STYLE = \"fill:none\";\nvar G_EDGE_ARROWHEADSTYLE = \"fill: #333\";\nvar G_EDGE_LABELPOS = \"c\";\nvar G_EDGE_LABELTYPE = \"text\";\nvar G_EDGE_THICKNESS = \"normal\";\nvar SHAPE_STATE = \"rect\";\nvar SHAPE_STATE_WITH_DESC = \"rectWithTitle\";\nvar SHAPE_START = \"stateStart\";\nvar SHAPE_END = \"stateEnd\";\nvar SHAPE_DIVIDER = \"divider\";\nvar SHAPE_GROUP = \"roundedWithTitle\";\nvar SHAPE_NOTE = \"note\";\nvar SHAPE_NOTEGROUP = \"noteGroup\";\nvar CSS_DIAGRAM = \"statediagram\";\nvar CSS_STATE = \"state\";\nvar CSS_DIAGRAM_STATE = `${CSS_DIAGRAM}-${CSS_STATE}`;\nvar CSS_EDGE = \"transition\";\nvar CSS_NOTE = \"note\";\nvar CSS_NOTE_EDGE = \"note-edge\";\nvar CSS_EDGE_NOTE_EDGE = `${CSS_EDGE} ${CSS_NOTE_EDGE}`;\nvar CSS_DIAGRAM_NOTE = `${CSS_DIAGRAM}-${CSS_NOTE}`;\nvar CSS_CLUSTER = \"cluster\";\nvar CSS_DIAGRAM_CLUSTER = `${CSS_DIAGRAM}-${CSS_CLUSTER}`;\nvar CSS_CLUSTER_ALT = \"cluster-alt\";\nvar CSS_DIAGRAM_CLUSTER_ALT = `${CSS_DIAGRAM}-${CSS_CLUSTER_ALT}`;\nvar PARENT = \"parent\";\nvar NOTE = \"note\";\nvar DOMID_STATE = \"state\";\nvar DOMID_TYPE_SPACER = \"----\";\nvar NOTE_ID = `${DOMID_TYPE_SPACER}${NOTE}`;\nvar PARENT_ID = `${DOMID_TYPE_SPACER}${PARENT}`;\n\n// src/diagrams/state/stateRenderer-v3-unified.ts\nvar getDir = /* @__PURE__ */ __name((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {\n if (!parsedItem.doc) {\n return defaultDir;\n }\n let dir = defaultDir;\n for (const parsedItemDoc of parsedItem.doc) {\n if (parsedItemDoc.stmt === \"dir\") {\n dir = parsedItemDoc.value;\n }\n }\n return dir;\n}, \"getDir\");\nvar getClasses = /* @__PURE__ */ __name(function(text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing state diagram (v2)\", id);\n const { securityLevel, state: conf, layout } = getConfig();\n diag.db.extract(diag.db.getRootDocV2());\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = layout;\n data4Layout.nodeSpacing = conf?.nodeSpacing || 50;\n data4Layout.rankSpacing = conf?.rankSpacing || 50;\n data4Layout.markers = [\"barb\"];\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"statediagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, CSS_DIAGRAM, conf?.useMaxWidth ?? true);\n}, \"draw\");\nvar stateRenderer_v3_unified_default = {\n getClasses,\n draw,\n getDir\n};\n\n// src/diagrams/state/dataFetcher.js\nvar nodeDb = /* @__PURE__ */ new Map();\nvar graphItemCount = 0;\nfunction stateDomId(itemId = \"\", counter = 0, type = \"\", typeSpacer = DOMID_TYPE_SPACER) {\n const typeStr = type !== null && type.length > 0 ? `${typeSpacer}${type}` : \"\";\n return `${DOMID_STATE}-${itemId}${typeStr}-${counter}`;\n}\n__name(stateDomId, \"stateDomId\");\nvar setupDoc = /* @__PURE__ */ __name((parentParsedItem, doc, diagramStates, nodes, edges, altFlag, look, classes) => {\n log.trace(\"items\", doc);\n doc.forEach((item) => {\n switch (item.stmt) {\n case STMT_STATE:\n dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look, classes);\n break;\n case DEFAULT_STATE_TYPE:\n dataFetcher(parentParsedItem, item, diagramStates, nodes, edges, altFlag, look, classes);\n break;\n case STMT_RELATION:\n {\n dataFetcher(\n parentParsedItem,\n item.state1,\n diagramStates,\n nodes,\n edges,\n altFlag,\n look,\n classes\n );\n dataFetcher(\n parentParsedItem,\n item.state2,\n diagramStates,\n nodes,\n edges,\n altFlag,\n look,\n classes\n );\n const edgeData = {\n id: \"edge\" + graphItemCount,\n start: item.state1.id,\n end: item.state2.id,\n arrowhead: \"normal\",\n arrowTypeEnd: \"arrow_barb\",\n style: G_EDGE_STYLE,\n labelStyle: \"\",\n label: common_default.sanitizeText(item.description, getConfig()),\n arrowheadStyle: G_EDGE_ARROWHEADSTYLE,\n labelpos: G_EDGE_LABELPOS,\n labelType: G_EDGE_LABELTYPE,\n thickness: G_EDGE_THICKNESS,\n classes: CSS_EDGE,\n look\n };\n edges.push(edgeData);\n graphItemCount++;\n }\n break;\n }\n });\n}, \"setupDoc\");\nvar getDir2 = /* @__PURE__ */ __name((parsedItem, defaultDir = DEFAULT_NESTED_DOC_DIR) => {\n let dir = defaultDir;\n if (parsedItem.doc) {\n for (const parsedItemDoc of parsedItem.doc) {\n if (parsedItemDoc.stmt === \"dir\") {\n dir = parsedItemDoc.value;\n }\n }\n }\n return dir;\n}, \"getDir\");\nfunction insertOrUpdateNode(nodes, nodeData, classes) {\n if (!nodeData.id || nodeData.id === \"</join></fork>\" || nodeData.id === \"</choice>\") {\n return;\n }\n if (nodeData.cssClasses) {\n if (!Array.isArray(nodeData.cssCompiledStyles)) {\n nodeData.cssCompiledStyles = [];\n }\n nodeData.cssClasses.split(\" \").forEach((cssClass) => {\n if (classes.get(cssClass)) {\n const classDef = classes.get(cssClass);\n nodeData.cssCompiledStyles = [...nodeData.cssCompiledStyles, ...classDef.styles];\n }\n });\n }\n const existingNodeData = nodes.find((node) => node.id === nodeData.id);\n if (existingNodeData) {\n Object.assign(existingNodeData, nodeData);\n } else {\n nodes.push(nodeData);\n }\n}\n__name(insertOrUpdateNode, \"insertOrUpdateNode\");\nfunction getClassesFromDbInfo(dbInfoItem) {\n return dbInfoItem?.classes?.join(\" \") ?? \"\";\n}\n__name(getClassesFromDbInfo, \"getClassesFromDbInfo\");\nfunction getStylesFromDbInfo(dbInfoItem) {\n return dbInfoItem?.styles ?? [];\n}\n__name(getStylesFromDbInfo, \"getStylesFromDbInfo\");\nvar dataFetcher = /* @__PURE__ */ __name((parent, parsedItem, diagramStates, nodes, edges, altFlag, look, classes) => {\n const itemId = parsedItem.id;\n const dbState = diagramStates.get(itemId);\n const classStr = getClassesFromDbInfo(dbState);\n const style = getStylesFromDbInfo(dbState);\n log.info(\"dataFetcher parsedItem\", parsedItem, dbState, style);\n if (itemId !== \"root\") {\n let shape = SHAPE_STATE;\n if (parsedItem.start === true) {\n shape = SHAPE_START;\n } else if (parsedItem.start === false) {\n shape = SHAPE_END;\n }\n if (parsedItem.type !== DEFAULT_STATE_TYPE) {\n shape = parsedItem.type;\n }\n if (!nodeDb.get(itemId)) {\n nodeDb.set(itemId, {\n id: itemId,\n shape,\n description: common_default.sanitizeText(itemId, getConfig()),\n cssClasses: `${classStr} ${CSS_DIAGRAM_STATE}`,\n cssStyles: style\n });\n }\n const newNode = nodeDb.get(itemId);\n if (parsedItem.description) {\n if (Array.isArray(newNode.description)) {\n newNode.shape = SHAPE_STATE_WITH_DESC;\n newNode.description.push(parsedItem.description);\n } else {\n if (newNode.description?.length > 0) {\n newNode.shape = SHAPE_STATE_WITH_DESC;\n if (newNode.description === itemId) {\n newNode.description = [parsedItem.description];\n } else {\n newNode.description = [newNode.description, parsedItem.description];\n }\n } else {\n newNode.shape = SHAPE_STATE;\n newNode.description = parsedItem.description;\n }\n }\n newNode.description = common_default.sanitizeTextOrArray(newNode.description, getConfig());\n }\n if (newNode.description?.length === 1 && newNode.shape === SHAPE_STATE_WITH_DESC) {\n if (newNode.type === \"group\") {\n newNode.shape = SHAPE_GROUP;\n } else {\n newNode.shape = SHAPE_STATE;\n }\n }\n if (!newNode.type && parsedItem.doc) {\n log.info(\"Setting cluster for XCX\", itemId, getDir2(parsedItem));\n newNode.type = \"group\";\n newNode.isGroup = true;\n newNode.dir = getDir2(parsedItem);\n newNode.shape = parsedItem.type === DIVIDER_TYPE ? SHAPE_DIVIDER : SHAPE_GROUP;\n newNode.cssClasses = `${newNode.cssClasses} ${CSS_DIAGRAM_CLUSTER} ${altFlag ? CSS_DIAGRAM_CLUSTER_ALT : \"\"}`;\n }\n const nodeData = {\n labelStyle: \"\",\n shape: newNode.shape,\n label: newNode.description,\n cssClasses: newNode.cssClasses,\n cssCompiledStyles: [],\n cssStyles: newNode.cssStyles,\n id: itemId,\n dir: newNode.dir,\n domId: stateDomId(itemId, graphItemCount),\n type: newNode.type,\n isGroup: newNode.type === \"group\",\n padding: 8,\n rx: 10,\n ry: 10,\n look\n };\n if (nodeData.shape === SHAPE_DIVIDER) {\n nodeData.label = \"\";\n }\n if (parent && parent.id !== \"root\") {\n log.trace(\"Setting node \", itemId, \" to be child of its parent \", parent.id);\n nodeData.parentId = parent.id;\n }\n nodeData.centerLabel = true;\n if (parsedItem.note) {\n const noteData = {\n labelStyle: \"\",\n shape: SHAPE_NOTE,\n label: parsedItem.note.text,\n cssClasses: CSS_DIAGRAM_NOTE,\n // useHtmlLabels: false,\n cssStyles: [],\n cssCompilesStyles: [],\n id: itemId + NOTE_ID + \"-\" + graphItemCount,\n domId: stateDomId(itemId, graphItemCount, NOTE),\n type: newNode.type,\n isGroup: newNode.type === \"group\",\n padding: getConfig().flowchart.padding,\n look,\n position: parsedItem.note.position\n };\n const parentNodeId = itemId + PARENT_ID;\n const groupData = {\n labelStyle: \"\",\n shape: SHAPE_NOTEGROUP,\n label: parsedItem.note.text,\n cssClasses: newNode.cssClasses,\n cssStyles: [],\n id: itemId + PARENT_ID,\n domId: stateDomId(itemId, graphItemCount, PARENT),\n type: \"group\",\n isGroup: true,\n padding: 16,\n //getConfig().flowchart.padding\n look,\n position: parsedItem.note.position\n };\n graphItemCount++;\n groupData.id = parentNodeId;\n noteData.parentId = parentNodeId;\n insertOrUpdateNode(nodes, groupData, classes);\n insertOrUpdateNode(nodes, noteData, classes);\n insertOrUpdateNode(nodes, nodeData, classes);\n let from = itemId;\n let to = noteData.id;\n if (parsedItem.note.position === \"left of\") {\n from = noteData.id;\n to = itemId;\n }\n edges.push({\n id: from + \"-\" + to,\n start: from,\n end: to,\n arrowhead: \"none\",\n arrowTypeEnd: \"\",\n style: G_EDGE_STYLE,\n labelStyle: \"\",\n classes: CSS_EDGE_NOTE_EDGE,\n arrowheadStyle: G_EDGE_ARROWHEADSTYLE,\n labelpos: G_EDGE_LABELPOS,\n labelType: G_EDGE_LABELTYPE,\n thickness: G_EDGE_THICKNESS,\n look\n });\n } else {\n insertOrUpdateNode(nodes, nodeData, classes);\n }\n }\n if (parsedItem.doc) {\n log.trace(\"Adding nodes children \");\n setupDoc(parsedItem, parsedItem.doc, diagramStates, nodes, edges, !altFlag, look, classes);\n }\n}, \"dataFetcher\");\nvar reset = /* @__PURE__ */ __name(() => {\n nodeDb.clear();\n graphItemCount = 0;\n}, \"reset\");\n\n// src/diagrams/state/stateDb.js\nvar START_NODE = \"[*]\";\nvar START_TYPE = \"start\";\nvar END_NODE = START_NODE;\nvar END_TYPE = \"end\";\nvar COLOR_KEYWORD = \"color\";\nvar FILL_KEYWORD = \"fill\";\nvar BG_FILL = \"bgFill\";\nvar STYLECLASS_SEP = \",\";\nfunction newClassesList() {\n return /* @__PURE__ */ new Map();\n}\n__name(newClassesList, \"newClassesList\");\nvar newDoc = /* @__PURE__ */ __name(() => {\n return {\n /** @type {{ id1: string, id2: string, relationTitle: string }[]} */\n relations: [],\n states: /* @__PURE__ */ new Map(),\n documents: {}\n };\n}, \"newDoc\");\nvar clone = /* @__PURE__ */ __name((o) => JSON.parse(JSON.stringify(o)), \"clone\");\nvar StateDB = class {\n static {\n __name(this, \"StateDB\");\n }\n /**\n * @param {1 | 2} version - v1 renderer or v2 renderer.\n */\n constructor(version) {\n this.clear();\n this.version = version;\n this.setRootDoc = this.setRootDoc.bind(this);\n this.getDividerId = this.getDividerId.bind(this);\n this.setDirection = this.setDirection.bind(this);\n this.trimColon = this.trimColon.bind(this);\n }\n /**\n * @private\n * @type {1 | 2}\n */\n version;\n /**\n * @private\n * @type {Array}\n */\n nodes = [];\n /**\n * @private\n * @type {Array}\n */\n edges = [];\n /**\n * @private\n * @type {Array}\n */\n rootDoc = [];\n /**\n * @private\n * @type {Map<string, any>}\n */\n classes = newClassesList();\n // style classes defined by a classDef\n /**\n * @private\n * @type {Object}\n */\n documents = {\n root: newDoc()\n };\n /**\n * @private\n * @type {Object}\n */\n currentDocument = this.documents.root;\n /**\n * @private\n * @type {number}\n */\n startEndCount = 0;\n /**\n * @private\n * @type {number}\n */\n dividerCnt = 0;\n static relationType = {\n AGGREGATION: 0,\n EXTENSION: 1,\n COMPOSITION: 2,\n DEPENDENCY: 3\n };\n setRootDoc(o) {\n log.info(\"Setting root doc\", o);\n this.rootDoc = o;\n if (this.version === 1) {\n this.extract(o);\n } else {\n this.extract(this.getRootDocV2());\n }\n }\n getRootDoc() {\n return this.rootDoc;\n }\n /**\n * @private\n * @param {Object} parent\n * @param {Object} node\n * @param {boolean} first\n */\n docTranslator(parent, node, first) {\n if (node.stmt === STMT_RELATION) {\n this.docTranslator(parent, node.state1, true);\n this.docTranslator(parent, node.state2, false);\n } else {\n if (node.stmt === STMT_STATE) {\n if (node.id === \"[*]\") {\n node.id = first ? parent.id + \"_start\" : parent.id + \"_end\";\n node.start = first;\n } else {\n node.id = node.id.trim();\n }\n }\n if (node.doc) {\n const doc = [];\n let currentDoc = [];\n let i;\n for (i = 0; i < node.doc.length; i++) {\n if (node.doc[i].type === DIVIDER_TYPE) {\n const newNode = clone(node.doc[i]);\n newNode.doc = clone(currentDoc);\n doc.push(newNode);\n currentDoc = [];\n } else {\n currentDoc.push(node.doc[i]);\n }\n }\n if (doc.length > 0 && currentDoc.length > 0) {\n const newNode = {\n stmt: STMT_STATE,\n id: generateId(),\n type: \"divider\",\n doc: clone(currentDoc)\n };\n doc.push(clone(newNode));\n node.doc = doc;\n }\n node.doc.forEach((docNode) => this.docTranslator(node, docNode, true));\n }\n }\n }\n /**\n * @private\n */\n getRootDocV2() {\n this.docTranslator({ id: \"root\" }, { id: \"root\", doc: this.rootDoc }, true);\n return { id: \"root\", doc: this.rootDoc };\n }\n /**\n * Convert all of the statements (stmts) that were parsed into states and relationships.\n * This is done because a state diagram may have nested sections,\n * where each section is a 'document' and has its own set of statements.\n * Ex: the section within a fork has its own statements, and incoming and outgoing statements\n * refer to the fork as a whole (document).\n * See the parser grammar: the definition of a document is a document then a 'line', where a line can be a statement.\n * This will push the statement into the list of statements for the current document.\n * @private\n * @param _doc\n */\n extract(_doc) {\n let doc;\n if (_doc.doc) {\n doc = _doc.doc;\n } else {\n doc = _doc;\n }\n log.info(doc);\n this.clear(true);\n log.info(\"Extract initial document:\", doc);\n doc.forEach((item) => {\n log.warn(\"Statement\", item.stmt);\n switch (item.stmt) {\n case STMT_STATE:\n this.addState(\n item.id.trim(),\n item.type,\n item.doc,\n item.description,\n item.note,\n item.classes,\n item.styles,\n item.textStyles\n );\n break;\n case STMT_RELATION:\n this.addRelation(item.state1, item.state2, item.description);\n break;\n case STMT_CLASSDEF:\n this.addStyleClass(item.id.trim(), item.classes);\n break;\n case STMT_STYLEDEF:\n {\n const ids = item.id.trim().split(\",\");\n const styles = item.styleClass.split(\",\");\n ids.forEach((id) => {\n let foundState = this.getState(id);\n if (foundState === void 0) {\n const trimmedId = id.trim();\n this.addState(trimmedId);\n foundState = this.getState(trimmedId);\n }\n foundState.styles = styles.map((s) => s.replace(/;/g, \"\")?.trim());\n });\n }\n break;\n case STMT_APPLYCLASS:\n this.setCssClass(item.id.trim(), item.styleClass);\n break;\n }\n });\n const diagramStates = this.getStates();\n const config = getConfig();\n const look = config.look;\n reset();\n dataFetcher(\n void 0,\n this.getRootDocV2(),\n diagramStates,\n this.nodes,\n this.edges,\n true,\n look,\n this.classes\n );\n this.nodes.forEach((node) => {\n if (Array.isArray(node.label)) {\n node.description = node.label.slice(1);\n if (node.isGroup && node.description.length > 0) {\n throw new Error(\n \"Group nodes can only have label. Remove the additional description for node [\" + node.id + \"]\"\n );\n }\n node.label = node.label[0];\n }\n });\n }\n /**\n * Function called by parser when a node definition has been found.\n *\n * @param {null | string} id\n * @param {null | string} type\n * @param {null | string} doc\n * @param {null | string | string[]} descr - description for the state. Can be a string or a list or strings\n * @param {null | string} note\n * @param {null | string | string[]} classes - class styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 class, convert it to an array of that 1 class.\n * @param {null | string | string[]} styles - styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 style, convert it to an array of that 1 style.\n * @param {null | string | string[]} textStyles - text styles to apply to this state. Can be a string (1 text test) or an array of text styles. If it's just 1 text style, convert it to an array of that 1 text style.\n */\n addState(id, type = DEFAULT_STATE_TYPE, doc = null, descr = null, note = null, classes = null, styles = null, textStyles = null) {\n const trimmedId = id?.trim();\n if (!this.currentDocument.states.has(trimmedId)) {\n log.info(\"Adding state \", trimmedId, descr);\n this.currentDocument.states.set(trimmedId, {\n id: trimmedId,\n descriptions: [],\n type,\n doc,\n note,\n classes: [],\n styles: [],\n textStyles: []\n });\n } else {\n if (!this.currentDocument.states.get(trimmedId).doc) {\n this.currentDocument.states.get(trimmedId).doc = doc;\n }\n if (!this.currentDocument.states.get(trimmedId).type) {\n this.currentDocument.states.get(trimmedId).type = type;\n }\n }\n if (descr) {\n log.info(\"Setting state description\", trimmedId, descr);\n if (typeof descr === \"string\") {\n this.addDescription(trimmedId, descr.trim());\n }\n if (typeof descr === \"object\") {\n descr.forEach((des) => this.addDescription(trimmedId, des.trim()));\n }\n }\n if (note) {\n const doc2 = this.currentDocument.states.get(trimmedId);\n doc2.note = note;\n doc2.note.text = common_default.sanitizeText(doc2.note.text, getConfig());\n }\n if (classes) {\n log.info(\"Setting state classes\", trimmedId, classes);\n const classesList = typeof classes === \"string\" ? [classes] : classes;\n classesList.forEach((cssClass) => this.setCssClass(trimmedId, cssClass.trim()));\n }\n if (styles) {\n log.info(\"Setting state styles\", trimmedId, styles);\n const stylesList = typeof styles === \"string\" ? [styles] : styles;\n stylesList.forEach((style) => this.setStyle(trimmedId, style.trim()));\n }\n if (textStyles) {\n log.info(\"Setting state styles\", trimmedId, styles);\n const textStylesList = typeof textStyles === \"string\" ? [textStyles] : textStyles;\n textStylesList.forEach((textStyle) => this.setTextStyle(trimmedId, textStyle.trim()));\n }\n }\n clear(saveCommon) {\n this.nodes = [];\n this.edges = [];\n this.documents = {\n root: newDoc()\n };\n this.currentDocument = this.documents.root;\n this.startEndCount = 0;\n this.classes = newClassesList();\n if (!saveCommon) {\n clear();\n }\n }\n getState(id) {\n return this.currentDocument.states.get(id);\n }\n getStates() {\n return this.currentDocument.states;\n }\n logDocuments() {\n log.info(\"Documents = \", this.documents);\n }\n getRelations() {\n return this.currentDocument.relations;\n }\n /**\n * If the id is a start node ( [*] ), then return a new id constructed from\n * the start node name and the current start node count.\n * else return the given id\n *\n * @param {string} id\n * @returns {string} - the id (original or constructed)\n * @private\n */\n startIdIfNeeded(id = \"\") {\n let fixedId = id;\n if (id === START_NODE) {\n this.startEndCount++;\n fixedId = `${START_TYPE}${this.startEndCount}`;\n }\n return fixedId;\n }\n /**\n * If the id is a start node ( [*] ), then return the start type ('start')\n * else return the given type\n *\n * @param {string} id\n * @param {string} type\n * @returns {string} - the type that should be used\n * @private\n */\n startTypeIfNeeded(id = \"\", type = DEFAULT_STATE_TYPE) {\n return id === START_NODE ? START_TYPE : type;\n }\n /**\n * If the id is an end node ( [*] ), then return a new id constructed from\n * the end node name and the current start_end node count.\n * else return the given id\n *\n * @param {string} id\n * @returns {string} - the id (original or constructed)\n * @private\n */\n endIdIfNeeded(id = \"\") {\n let fixedId = id;\n if (id === END_NODE) {\n this.startEndCount++;\n fixedId = `${END_TYPE}${this.startEndCount}`;\n }\n return fixedId;\n }\n /**\n * If the id is an end node ( [*] ), then return the end type\n * else return the given type\n *\n * @param {string} id\n * @param {string} type\n * @returns {string} - the type that should be used\n * @private\n */\n endTypeIfNeeded(id = \"\", type = DEFAULT_STATE_TYPE) {\n return id === END_NODE ? END_TYPE : type;\n }\n /**\n *\n * @param item1\n * @param item2\n * @param relationTitle\n */\n addRelationObjs(item1, item2, relationTitle) {\n let id1 = this.startIdIfNeeded(item1.id.trim());\n let type1 = this.startTypeIfNeeded(item1.id.trim(), item1.type);\n let id2 = this.startIdIfNeeded(item2.id.trim());\n let type2 = this.startTypeIfNeeded(item2.id.trim(), item2.type);\n this.addState(\n id1,\n type1,\n item1.doc,\n item1.description,\n item1.note,\n item1.classes,\n item1.styles,\n item1.textStyles\n );\n this.addState(\n id2,\n type2,\n item2.doc,\n item2.description,\n item2.note,\n item2.classes,\n item2.styles,\n item2.textStyles\n );\n this.currentDocument.relations.push({\n id1,\n id2,\n relationTitle: common_default.sanitizeText(relationTitle, getConfig())\n });\n }\n /**\n * Add a relation between two items. The items may be full objects or just the string id of a state.\n *\n * @param {string | object} item1\n * @param {string | object} item2\n * @param {string} title\n */\n addRelation(item1, item2, title) {\n if (typeof item1 === \"object\") {\n this.addRelationObjs(item1, item2, title);\n } else {\n const id1 = this.startIdIfNeeded(item1.trim());\n const type1 = this.startTypeIfNeeded(item1);\n const id2 = this.endIdIfNeeded(item2.trim());\n const type2 = this.endTypeIfNeeded(item2);\n this.addState(id1, type1);\n this.addState(id2, type2);\n this.currentDocument.relations.push({\n id1,\n id2,\n title: common_default.sanitizeText(title, getConfig())\n });\n }\n }\n addDescription(id, descr) {\n const theState = this.currentDocument.states.get(id);\n const _descr = descr.startsWith(\":\") ? descr.replace(\":\", \"\").trim() : descr;\n theState.descriptions.push(common_default.sanitizeText(_descr, getConfig()));\n }\n cleanupLabel(label) {\n if (label.substring(0, 1) === \":\") {\n return label.substr(2).trim();\n } else {\n return label.trim();\n }\n }\n getDividerId() {\n this.dividerCnt++;\n return \"divider-id-\" + this.dividerCnt;\n }\n /**\n * Called when the parser comes across a (style) class definition\n * @example classDef my-style fill:#f96;\n *\n * @param {string} id - the id of this (style) class\n * @param {string | null} styleAttributes - the string with 1 or more style attributes (each separated by a comma)\n */\n addStyleClass(id, styleAttributes = \"\") {\n if (!this.classes.has(id)) {\n this.classes.set(id, { id, styles: [], textStyles: [] });\n }\n const foundClass = this.classes.get(id);\n if (styleAttributes !== void 0 && styleAttributes !== null) {\n styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {\n const fixedAttrib = attrib.replace(/([^;]*);/, \"$1\").trim();\n if (RegExp(COLOR_KEYWORD).exec(attrib)) {\n const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);\n const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);\n foundClass.textStyles.push(newStyle2);\n }\n foundClass.styles.push(fixedAttrib);\n });\n }\n }\n /**\n * Return all of the style classes\n * @returns {{} | any | classes}\n */\n getClasses() {\n return this.classes;\n }\n /**\n * Add a (style) class or css class to a state with the given id.\n * If the state isn't already in the list of known states, add it.\n * Might be called by parser when a style class or CSS class should be applied to a state\n *\n * @param {string | string[]} itemIds The id or a list of ids of the item(s) to apply the css class to\n * @param {string} cssClassName CSS class name\n */\n setCssClass(itemIds, cssClassName) {\n itemIds.split(\",\").forEach((id) => {\n let foundState = this.getState(id);\n if (foundState === void 0) {\n const trimmedId = id.trim();\n this.addState(trimmedId);\n foundState = this.getState(trimmedId);\n }\n foundState.classes.push(cssClassName);\n });\n }\n /**\n * Add a style to a state with the given id.\n * @example style stateId fill:#f9f,stroke:#333,stroke-width:4px\n * where 'style' is the keyword\n * stateId is the id of a state\n * the rest of the string is the styleText (all of the attributes to be applied to the state)\n *\n * @param itemId The id of item to apply the style to\n * @param styleText - the text of the attributes for the style\n */\n setStyle(itemId, styleText) {\n const item = this.getState(itemId);\n if (item !== void 0) {\n item.styles.push(styleText);\n }\n }\n /**\n * Add a text style to a state with the given id\n *\n * @param itemId The id of item to apply the css class to\n * @param cssClassName CSS class name\n */\n setTextStyle(itemId, cssClassName) {\n const item = this.getState(itemId);\n if (item !== void 0) {\n item.textStyles.push(cssClassName);\n }\n }\n /**\n * Finds the direction statement in the root document.\n * @private\n * @returns {{ value: string } | undefined} - the direction statement if present\n */\n getDirectionStatement() {\n return this.rootDoc.find((doc) => doc.stmt === STMT_DIRECTION);\n }\n getDirection() {\n return this.getDirectionStatement()?.value ?? DEFAULT_DIAGRAM_DIRECTION;\n }\n setDirection(dir) {\n const doc = this.getDirectionStatement();\n if (doc) {\n doc.value = dir;\n } else {\n this.rootDoc.unshift({ stmt: STMT_DIRECTION, value: dir });\n }\n }\n trimColon(str) {\n return str && str[0] === \":\" ? str.substr(1).trim() : str.trim();\n }\n getData() {\n const config = getConfig();\n return {\n nodes: this.nodes,\n edges: this.edges,\n other: {},\n config,\n direction: getDir(this.getRootDocV2())\n };\n }\n getConfig() {\n return getConfig().state;\n }\n getAccTitle = getAccTitle;\n setAccTitle = setAccTitle;\n getAccDescription = getAccDescription;\n setAccDescription = setAccDescription;\n setDiagramTitle = setDiagramTitle;\n getDiagramTitle = getDiagramTitle;\n};\n\n// src/diagrams/state/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\ndefs #statediagram-barbEnd {\n fill: ${options.transitionColor};\n stroke: ${options.transitionColor};\n }\ng.stateGroup text {\n fill: ${options.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${options.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${options.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${options.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${options.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${options.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${options.noteBorderColor};\n fill: ${options.noteBkgColor};\n\n text {\n fill: ${options.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${options.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${options.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel {\n background-color: ${options.edgeLabelBackground};\n p {\n background-color: ${options.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n}\n.edgeLabel .label text {\n fill: ${options.transitionLabelColor || options.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${options.transitionLabelColor || options.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${options.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${options.specialStateColor};\n stroke: ${options.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${options.specialStateColor};\n stroke: ${options.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${options.innerEndBackground};\n stroke: ${options.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${options.compositeBackground || options.background};\n // stroke: ${options.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${options.stateBkg || options.mainBkg};\n stroke: ${options.stateBorder || options.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${options.mainBkg};\n stroke: ${options.stateBorder || options.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${options.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${options.compositeTitleBackground};\n stroke: ${options.stateBorder || options.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${options.stateLabelColor};\n // line-height: 1;\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${options.stateBorder || options.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${options.compositeBackground || options.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${options.altBackground ? options.altBackground : \"#efefef\"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${options.altBackground ? options.altBackground : \"#efefef\"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${options.noteBkgColor};\n stroke: ${options.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${options.noteBkgColor};\n stroke: ${options.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${options.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${options.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${options.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\nexport {\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n StateDB,\n styles_default\n};\n", + "import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-AEK57VVT.mjs\";\nimport \"./chunk-RZ5BOZE2.mjs\";\nimport \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport {\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n log\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\n\n// src/diagrams/state/id-cache.js\nvar idCache = {};\nvar set = /* @__PURE__ */ __name((key, val) => {\n idCache[key] = val;\n}, \"set\");\nvar get = /* @__PURE__ */ __name((k) => idCache[k], \"get\");\nvar keys = /* @__PURE__ */ __name(() => Object.keys(idCache), \"keys\");\nvar size = /* @__PURE__ */ __name(() => keys().length, \"size\");\nvar id_cache_default = {\n get,\n set,\n keys,\n size\n};\n\n// src/diagrams/state/shapes.js\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n id_cache_default.set(id, stateInfo);\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replace(/\\(/g, \"\\\\(\");\n url = url.replace(/\\)/g, \"\\\\)\");\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n renderDoc(rootDoc, diagram2, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys2 = Object.keys(states);\n let first = true;\n for (const key of keys2) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n StateDB,\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-AEK57VVT.mjs\";\nimport \"./chunk-RZ5BOZE2.mjs\";\nimport \"./chunk-TYCBKAJE.mjs\";\nimport \"./chunk-IIMUDSI4.mjs\";\nimport \"./chunk-VV3M67IP.mjs\";\nimport \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/state/stateDiagram-v2.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(2);\n },\n renderer: stateRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n drawBackgroundRect,\n drawRect,\n drawText,\n getNoteRect\n} from \"./chunk-D6G4REZN.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/user-journey/parser/journey.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 11, 12, 14, 16, 17, 18], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 14];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"journey\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"title\": 11, \"acc_title\": 12, \"acc_title_value\": 13, \"acc_descr\": 14, \"acc_descr_value\": 15, \"acc_descr_multiline_value\": 16, \"section\": 17, \"taskName\": 18, \"taskData\": 19, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"journey\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 11: \"title\", 12: \"acc_title\", 13: \"acc_title_value\", 14: \"acc_descr\", 15: \"acc_descr_value\", 16: \"acc_descr_multiline_value\", 17: \"section\", 18: \"taskName\", 19: \"taskData\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 2]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 13:\n yy.addTask($$[$0 - 1], $$[$0]);\n this.$ = \"task\";\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 15, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 16] }, { 15: [1, 17] }, o($V0, [2, 11]), o($V0, [2, 12]), { 19: [1, 18] }, o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10]), o($V0, [2, 13])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 10;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 4;\n break;\n case 6:\n return 11;\n break;\n case 7:\n this.begin(\"acc_title\");\n return 12;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.begin(\"acc_descr\");\n return 14;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.begin(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 17;\n break;\n case 15:\n return 18;\n break;\n case 16:\n return 19;\n break;\n case 17:\n return \":\";\n break;\n case 18:\n return 6;\n break;\n case 19:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:journey\\b)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^#:\\n;]+)/i, /^(?:[^#:\\n;]+)/i, /^(?::[^#\\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar journey_default = parser;\n\n// src/diagrams/user-journey/journeyDb.js\nvar currentSection = \"\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar updateActors = /* @__PURE__ */ __name(function() {\n const tempActors = [];\n tasks.forEach((task) => {\n if (task.people) {\n tempActors.push(...task.people);\n }\n });\n const unique = new Set(tempActors);\n return [...unique].sort();\n}, \"updateActors\");\nvar addTask = /* @__PURE__ */ __name(function(descr, taskData) {\n const pieces = taskData.substr(1).split(\":\");\n let score = 0;\n let peeps = [];\n if (pieces.length === 1) {\n score = Number(pieces[0]);\n peeps = [];\n } else {\n score = Number(pieces[0]);\n peeps = pieces[1].split(\",\");\n }\n const peopleList = peeps.map((s) => s.trim());\n const rawTask = {\n section: currentSection,\n type: currentSection,\n people: peopleList,\n task: descr,\n score\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar getActors = /* @__PURE__ */ __name(function() {\n return updateActors();\n}, \"getActors\");\nvar journeyDb_default = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().journey, \"getConfig\"),\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n getActors\n};\n\n// src/diagrams/user-journey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${options.textColor}\n }\n\n .legend {\n fill: ${options.textColor};\n font-family: ${options.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${options.textColor}\n }\n\n .face {\n ${options.faceColor ? `fill: ${options.faceColor}` : \"fill: #FFF8DC\"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${options.fillType0 ? `fill: ${options.fillType0}` : \"\"};\n }\n .task-type-1, .section-type-1 {\n ${options.fillType0 ? `fill: ${options.fillType1}` : \"\"};\n }\n .task-type-2, .section-type-2 {\n ${options.fillType0 ? `fill: ${options.fillType2}` : \"\"};\n }\n .task-type-3, .section-type-3 {\n ${options.fillType0 ? `fill: ${options.fillType3}` : \"\"};\n }\n .task-type-4, .section-type-4 {\n ${options.fillType0 ? `fill: ${options.fillType4}` : \"\"};\n }\n .task-type-5, .section-type-5 {\n ${options.fillType0 ? `fill: ${options.fillType5}` : \"\"};\n }\n .task-type-6, .section-type-6 {\n ${options.fillType0 ? `fill: ${options.fillType6}` : \"\"};\n }\n .task-type-7, .section-type-7 {\n ${options.fillType0 ? `fill: ${options.fillType7}` : \"\"};\n }\n\n .actor-0 {\n ${options.actor0 ? `fill: ${options.actor0}` : \"\"};\n }\n .actor-1 {\n ${options.actor1 ? `fill: ${options.actor1}` : \"\"};\n }\n .actor-2 {\n ${options.actor2 ? `fill: ${options.actor2}` : \"\"};\n }\n .actor-3 {\n ${options.actor3 ? `fill: ${options.actor3}` : \"\"};\n }\n .actor-4 {\n ${options.actor4 ? `fill: ${options.actor4}` : \"\"};\n }\n .actor-5 {\n ${options.actor5 ? `fill: ${options.actor5}` : \"\"};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/user-journey/journeyRenderer.ts\nimport { select } from \"d3\";\n\n// src/diagrams/user-journey/svgDraw.js\nimport { arc as d3arc } from \"d3\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText2 = /* @__PURE__ */ __name(function(elem, textData) {\n return drawText(elem, textData);\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText2(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf2) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf2.width * section.taskCount + // width of the tasks\n conf2.diagramMarginX * (section.taskCount - 1);\n rect.height = conf2.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n _drawTextCandidateFunc(conf2)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf2,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf2) {\n const center = task.x + conf2.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", \"task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf2.width;\n rect.height = conf2.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n let xPos = task.x + 14;\n task.people.forEach((person) => {\n const colour = task.actors[person].color;\n const circle = {\n cx: xPos,\n cy: task.y,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n title: person,\n pos: task.actors[person].position\n };\n drawCircle(g, circle);\n xPos += 10;\n });\n _drawTextCandidateFunc(conf2)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf2,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect2 = /* @__PURE__ */ __name(function(elem, bounds2) {\n drawBackgroundRect(elem, bounds2);\n}, \"drawBackgroundRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2, colour) {\n const { taskFontSize, taskFontFamily } = conf2;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n}();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics) {\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawCircle,\n drawSection,\n drawText: drawText2,\n drawLabel,\n drawTask,\n drawBackgroundRect: drawBackgroundRect2,\n initGraphics\n};\n\n// src/diagrams/user-journey/journeyRenderer.ts\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n const keys = Object.keys(cnf);\n keys.forEach(function(key) {\n conf[key] = cnf[key];\n });\n}, \"setConf\");\nvar actors = {};\nfunction drawActorLegend(diagram2) {\n const conf2 = getConfig().journey;\n let yPos = 60;\n Object.keys(actors).forEach((person) => {\n const colour = actors[person].color;\n const circleData = {\n cx: 20,\n cy: yPos,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n pos: actors[person].position\n };\n svgDraw_default.drawCircle(diagram2, circleData);\n const labelData = {\n x: 40,\n y: yPos + 7,\n fill: \"#666\",\n text: person,\n textMargin: conf2.boxTextMargin | 5\n };\n svgDraw_default.drawText(diagram2, labelData);\n yPos += 20;\n });\n}\n__name(drawActorLegend, \"drawActorLegend\");\nvar conf = getConfig().journey;\nvar LEFT_MARGIN = conf.leftMargin;\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf2 = getConfig().journey;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n bounds.init();\n const diagram2 = root.select(\"#\" + id);\n svgDraw_default.initGraphics(diagram2);\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getDiagramTitle();\n const actorNames = diagObj.db.getActors();\n for (const member in actors) {\n delete actors[member];\n }\n let actorPos = 0;\n actorNames.forEach((actorName) => {\n actors[actorName] = {\n color: conf2.actorColours[actorPos % conf2.actorColours.length],\n position: actorPos\n };\n actorPos++;\n });\n drawActorLegend(diagram2);\n bounds.insert(0, 0, LEFT_MARGIN, Object.keys(actors).length * 50);\n drawTasks(diagram2, tasks2, 0);\n const box = bounds.getBounds();\n if (title) {\n diagram2.append(\"text\").text(title).attr(\"x\", LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 25);\n }\n const height = box.stopy - box.starty + 2 * conf2.diagramMarginY;\n const width = LEFT_MARGIN + box.stopx + 2 * conf2.diagramMarginX;\n configureSvgSize(diagram2, height, width, conf2.useMaxWidth);\n diagram2.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", conf2.height * 4).attr(\"x2\", width - LEFT_MARGIN - 4).attr(\"y2\", conf2.height * 4).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n const extraVertForTitle = title ? 70 : 0;\n diagram2.attr(\"viewBox\", `${box.startx} -25 ${width} ${height + extraVertForTitle}`);\n diagram2.attr(\"preserveAspectRatio\", \"xMinYMin meet\");\n diagram2.attr(\"height\", height + extraVertForTitle + 25);\n}, \"draw\");\nvar bounds = {\n data: {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n },\n verticalPos: 0,\n sequenceItems: [],\n init: /* @__PURE__ */ __name(function() {\n this.sequenceItems = [];\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n };\n this.verticalPos = 0;\n }, \"init\"),\n updateVal: /* @__PURE__ */ __name(function(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }, \"updateVal\"),\n updateBounds: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const conf2 = getConfig().journey;\n const _self = this;\n let cnt = 0;\n function updateFn(type) {\n return /* @__PURE__ */ __name(function updateItemBounds(item) {\n cnt++;\n const n = _self.sequenceItems.length - cnt + 1;\n _self.updateVal(item, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n if (!(type === \"activation\")) {\n _self.updateVal(item, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n }\n }, \"updateItemBounds\");\n }\n __name(updateFn, \"updateFn\");\n this.sequenceItems.forEach(updateFn());\n }, \"updateBounds\"),\n insert: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const _startx = Math.min(startx, stopx);\n const _stopx = Math.max(startx, stopx);\n const _starty = Math.min(starty, stopy);\n const _stopy = Math.max(starty, stopy);\n this.updateVal(bounds.data, \"startx\", _startx, Math.min);\n this.updateVal(bounds.data, \"starty\", _starty, Math.min);\n this.updateVal(bounds.data, \"stopx\", _stopx, Math.max);\n this.updateVal(bounds.data, \"stopy\", _stopy, Math.max);\n this.updateBounds(_startx, _starty, _stopx, _stopy);\n }, \"insert\"),\n bumpVerticalPos: /* @__PURE__ */ __name(function(bump) {\n this.verticalPos = this.verticalPos + bump;\n this.data.stopy = this.verticalPos;\n }, \"bumpVerticalPos\"),\n getVerticalPos: /* @__PURE__ */ __name(function() {\n return this.verticalPos;\n }, \"getVerticalPos\"),\n getBounds: /* @__PURE__ */ __name(function() {\n return this.data;\n }, \"getBounds\")\n};\nvar fills = conf.sectionFills;\nvar textColours = conf.sectionColours;\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, verticalPos) {\n const conf2 = getConfig().journey;\n let lastSection = \"\";\n const sectionVHeight = conf2.height * 2 + conf2.diagramMarginY;\n const taskPos = verticalPos + sectionVHeight;\n let sectionNumber = 0;\n let fill = \"#CCC\";\n let colour = \"black\";\n let num = 0;\n for (const [i, task] of tasks2.entries()) {\n if (lastSection !== task.section) {\n fill = fills[sectionNumber % fills.length];\n num = sectionNumber % fills.length;\n colour = textColours[sectionNumber % textColours.length];\n let taskInSectionCount = 0;\n const currentSection2 = task.section;\n for (let taskIndex = i; taskIndex < tasks2.length; taskIndex++) {\n if (tasks2[taskIndex].section == currentSection2) {\n taskInSectionCount = taskInSectionCount + 1;\n } else {\n break;\n }\n }\n const section = {\n x: i * conf2.taskMargin + i * conf2.width + LEFT_MARGIN,\n y: 50,\n text: task.section,\n fill,\n num,\n colour,\n taskCount: taskInSectionCount\n };\n svgDraw_default.drawSection(diagram2, section, conf2);\n lastSection = task.section;\n sectionNumber++;\n }\n const taskActors = task.people.reduce((acc, actorName) => {\n if (actors[actorName]) {\n acc[actorName] = actors[actorName];\n }\n return acc;\n }, {});\n task.x = i * conf2.taskMargin + i * conf2.width + LEFT_MARGIN;\n task.y = taskPos;\n task.width = conf2.diagramMarginX;\n task.height = conf2.diagramMarginY;\n task.colour = colour;\n task.fill = fill;\n task.num = num;\n task.actors = taskActors;\n svgDraw_default.drawTask(diagram2, task, conf2);\n bounds.insert(task.x, task.y, task.x + task.width + conf2.taskMargin, 300 + 5 * 30);\n }\n}, \"drawTasks\");\nvar journeyRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/user-journey/journeyDiagram.ts\nvar diagram = {\n parser: journey_default,\n db: journeyDb_default,\n renderer: journeyRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n journeyRenderer_default.setConf(cnf.journey);\n journeyDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n", + "import {\n __export,\n __name,\n clear,\n commonDb_exports,\n getConfig2 as getConfig,\n log,\n setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/timeline/parser/timeline.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 11, 12, 14, 16, 17, 20, 21], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 16], $V7 = [1, 17];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"timeline\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"title\": 11, \"acc_title\": 12, \"acc_title_value\": 13, \"acc_descr\": 14, \"acc_descr_value\": 15, \"acc_descr_multiline_value\": 16, \"section\": 17, \"period_statement\": 18, \"event_statement\": 19, \"period\": 20, \"event\": 21, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"timeline\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 11: \"title\", 12: \"acc_title\", 13: \"acc_title_value\", 14: \"acc_descr\", 15: \"acc_descr_value\", 16: \"acc_descr_multiline_value\", 17: \"section\", 20: \"period\", 21: \"event\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 1], [9, 1], [18, 1], [19, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.getCommonDb().setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.getCommonDb().setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 15:\n yy.addTask($$[$0], 0, \"\");\n this.$ = $$[$0];\n break;\n case 16:\n yy.addEvent($$[$0].substr(2));\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: 14, 19: 15, 20: $V6, 21: $V7 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 18, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: 14, 19: 15, 20: $V6, 21: $V7 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 19] }, { 15: [1, 20] }, o($V0, [2, 11]), o($V0, [2, 12]), o($V0, [2, 13]), o($V0, [2, 14]), o($V0, [2, 15]), o($V0, [2, 16]), o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 10;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 4;\n break;\n case 6:\n return 11;\n break;\n case 7:\n this.begin(\"acc_title\");\n return 12;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.begin(\"acc_descr\");\n return 14;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.begin(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 17;\n break;\n case 15:\n return 21;\n break;\n case 16:\n return 20;\n break;\n case 17:\n return 6;\n break;\n case 18:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:timeline\\b)/i, /^(?:title\\s[^\\n]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^:\\n]+)/i, /^(?::\\s[^:\\n]+)/i, /^(?:[^#:\\n]+)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar timeline_default = parser;\n\n// src/diagrams/timeline/timelineDb.js\nvar timelineDb_exports = {};\n__export(timelineDb_exports, {\n addEvent: () => addEvent,\n addSection: () => addSection,\n addTask: () => addTask,\n addTaskOrg: () => addTaskOrg,\n clear: () => clear2,\n default: () => timelineDb_default,\n getCommonDb: () => getCommonDb,\n getSections: () => getSections,\n getTasks: () => getTasks\n});\nvar currentSection = \"\";\nvar currentTaskId = 0;\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar getCommonDb = /* @__PURE__ */ __name(() => commonDb_exports, \"getCommonDb\");\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar addTask = /* @__PURE__ */ __name(function(period, length, event) {\n const rawTask = {\n id: currentTaskId++,\n section: currentSection,\n type: currentSection,\n task: period,\n score: length ? length : 0,\n //if event is defined, then add it the events array\n events: event ? [event] : []\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addEvent = /* @__PURE__ */ __name(function(event) {\n const currentTask = rawTasks.find((task) => task.id === currentTaskId - 1);\n currentTask.events.push(event);\n}, \"addEvent\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar timelineDb_default = {\n clear: clear2,\n getCommonDb,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n addEvent\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nimport { select as select2 } from \"d3\";\n\n// src/diagrams/timeline/svgDraw.js\nimport { arc as d3arc, select } from \"d3\";\nvar MAX_SECTIONS = 12;\nvar drawRect = /* @__PURE__ */ __name(function(elem, rectData) {\n const rectElem = elem.append(\"rect\");\n rectElem.attr(\"x\", rectData.x);\n rectElem.attr(\"y\", rectData.y);\n rectElem.attr(\"fill\", rectData.fill);\n rectElem.attr(\"stroke\", rectData.stroke);\n rectElem.attr(\"width\", rectData.width);\n rectElem.attr(\"height\", rectData.height);\n rectElem.attr(\"rx\", rectData.rx);\n rectElem.attr(\"ry\", rectData.ry);\n if (rectData.class !== void 0) {\n rectElem.attr(\"class\", rectData.class);\n }\n return rectElem;\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText = /* @__PURE__ */ __name(function(elem, textData) {\n const nText = textData.text.replace(/<br\\s*\\/?>/gi, \" \");\n const textElem = elem.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class !== void 0) {\n textElem.attr(\"class\", textData.class);\n }\n const span = textElem.append(\"tspan\");\n span.attr(\"x\", textData.x + textData.textMargin * 2);\n span.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf) {\n const center = task.x + conf.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", \"task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf.width;\n rect.height = conf.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect(g, rect);\n _drawTextCandidateFunc(conf)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect = /* @__PURE__ */ __name(function(elem, bounds) {\n const rectElem = drawRect(elem, {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n class: \"rect\"\n });\n rectElem.lower();\n}, \"drawBackgroundRect\");\nvar getTextObj = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n fill: void 0,\n \"text-anchor\": \"start\",\n width: 100,\n height: 100,\n textMargin: 0,\n rx: 0,\n ry: 0\n };\n}, \"getTextObj\");\nvar getNoteRect = /* @__PURE__ */ __name(function() {\n return {\n x: 0,\n y: 0,\n width: 100,\n anchor: \"start\",\n height: 100,\n rx: 0,\n ry: 0\n };\n}, \"getNoteRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf, colour) {\n const { taskFontSize, taskFontFamily } = conf;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf) {\n return conf.textPlacement === \"fo\" ? byFo : conf.textPlacement === \"old\" ? byText : byTspan;\n };\n}();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics) {\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", \"arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nfunction wrap(text, width) {\n text.each(function() {\n var text2 = select(this), words = text2.text().split(/(\\s+|<br>)/).reverse(), word, line = [], lineHeight = 1.1, y = text2.attr(\"y\"), dy = parseFloat(text2.attr(\"dy\")), tspan = text2.text(null).append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", dy + \"em\");\n for (let j = 0; j < words.length; j++) {\n word = words[words.length - 1 - j];\n line.push(word);\n tspan.text(line.join(\" \").trim());\n if (tspan.node().getComputedTextLength() > width || word === \"<br>\") {\n line.pop();\n tspan.text(line.join(\" \").trim());\n if (word === \"<br>\") {\n line = [\"\"];\n } else {\n line = [word];\n }\n tspan = text2.append(\"tspan\").attr(\"x\", 0).attr(\"y\", y).attr(\"dy\", lineHeight + \"em\").text(word);\n }\n }\n });\n}\n__name(wrap, \"wrap\");\nvar drawNode = /* @__PURE__ */ __name(function(elem, node, fullSection, conf) {\n const section = fullSection % MAX_SECTIONS - 1;\n const nodeElem = elem.append(\"g\");\n node.section = section;\n nodeElem.attr(\n \"class\",\n (node.class ? node.class + \" \" : \"\") + \"timeline-node \" + (\"section-\" + section)\n );\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.height = Math.max(node.height, node.maxHeight);\n node.width = node.width + 2 * node.padding;\n textElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + node.padding / 2 + \")\");\n defaultBkg(bkgElem, node, section, conf);\n return node;\n}, \"drawNode\");\nvar getVirtualNodeHeight = /* @__PURE__ */ __name(function(elem, node, conf) {\n const textElem = elem.append(\"g\");\n const txt = textElem.append(\"text\").text(node.descr).attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").call(wrap, node.width);\n const bbox = txt.node().getBBox();\n const fontSize = conf.fontSize?.replace ? conf.fontSize.replace(\"px\", \"\") : conf.fontSize;\n textElem.remove();\n return bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n}, \"getVirtualNodeHeight\");\nvar defaultBkg = /* @__PURE__ */ __name(function(elem, node, section) {\n const rd = 5;\n elem.append(\"path\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + node.type).attr(\n \"d\",\n `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-5 5,-5 h${node.width - 2 * rd} q5,0 5,5 v${node.height - rd} H0 Z`\n );\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n}, \"defaultBkg\");\nvar svgDraw_default = {\n drawRect,\n drawCircle,\n drawSection,\n drawText,\n drawLabel,\n drawTask,\n drawBackgroundRect,\n getTextObj,\n getNoteRect,\n initGraphics,\n drawNode,\n getVirtualNodeHeight\n};\n\n// src/diagrams/timeline/timelineRenderer.ts\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const conf = getConfig();\n const LEFT_MARGIN = conf.leftMargin ?? 50;\n log.debug(\"timeline\", diagObj.db);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select2(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select2(sandboxElement.nodes()[0].contentDocument.body) : select2(\"body\");\n const svg = root.select(\"#\" + id);\n svg.append(\"g\");\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getCommonDb().getDiagramTitle();\n log.debug(\"task\", tasks2);\n svgDraw_default.initGraphics(svg);\n const sections2 = diagObj.db.getSections();\n log.debug(\"sections\", sections2);\n let maxSectionHeight = 0;\n let maxTaskHeight = 0;\n let depthY = 0;\n let sectionBeginY = 0;\n let masterX = 50 + LEFT_MARGIN;\n let masterY = 50;\n sectionBeginY = 50;\n let sectionNumber = 0;\n let hasSections = true;\n sections2.forEach(function(section) {\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 150,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n const sectionHeight = svgDraw_default.getVirtualNodeHeight(svg, sectionNode, conf);\n log.debug(\"sectionHeight before draw\", sectionHeight);\n maxSectionHeight = Math.max(maxSectionHeight, sectionHeight + 20);\n });\n let maxEventCount = 0;\n let maxEventLineLength = 0;\n log.debug(\"tasks.length\", tasks2.length);\n for (const [i, task] of tasks2.entries()) {\n const taskNode = {\n number: i,\n descr: task,\n section: task.section,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n const taskHeight = svgDraw_default.getVirtualNodeHeight(svg, taskNode, conf);\n log.debug(\"taskHeight before draw\", taskHeight);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight + 20);\n maxEventCount = Math.max(maxEventCount, task.events.length);\n let maxEventLineLengthTemp = 0;\n for (const event of task.events) {\n const eventNode = {\n descr: event,\n section: task.section,\n number: task.section,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n maxEventLineLengthTemp += svgDraw_default.getVirtualNodeHeight(svg, eventNode, conf);\n }\n maxEventLineLength = Math.max(maxEventLineLength, maxEventLineLengthTemp);\n }\n log.debug(\"maxSectionHeight before draw\", maxSectionHeight);\n log.debug(\"maxTaskHeight before draw\", maxTaskHeight);\n if (sections2 && sections2.length > 0) {\n sections2.forEach((section) => {\n const tasksForSection = tasks2.filter((task) => task.section === section);\n const sectionNode = {\n number: sectionNumber,\n descr: section,\n section: sectionNumber,\n width: 200 * Math.max(tasksForSection.length, 1) - 50,\n padding: 20,\n maxHeight: maxSectionHeight\n };\n log.debug(\"sectionNode\", sectionNode);\n const sectionNodeWrapper = svg.append(\"g\");\n const node = svgDraw_default.drawNode(sectionNodeWrapper, sectionNode, sectionNumber, conf);\n log.debug(\"sectionNode output\", node);\n sectionNodeWrapper.attr(\"transform\", `translate(${masterX}, ${sectionBeginY})`);\n masterY += maxSectionHeight + 50;\n if (tasksForSection.length > 0) {\n drawTasks(\n svg,\n tasksForSection,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n false\n );\n }\n masterX += 200 * Math.max(tasksForSection.length, 1);\n masterY = sectionBeginY;\n sectionNumber++;\n });\n } else {\n hasSections = false;\n drawTasks(\n svg,\n tasks2,\n sectionNumber,\n masterX,\n masterY,\n maxTaskHeight,\n conf,\n maxEventCount,\n maxEventLineLength,\n maxSectionHeight,\n true\n );\n }\n const box = svg.node().getBBox();\n log.debug(\"bounds\", box);\n if (title) {\n svg.append(\"text\").text(title).attr(\"x\", box.width / 2 - LEFT_MARGIN).attr(\"font-size\", \"4ex\").attr(\"font-weight\", \"bold\").attr(\"y\", 20);\n }\n depthY = hasSections ? maxSectionHeight + maxTaskHeight + 150 : maxTaskHeight + 100;\n const lineWrapper = svg.append(\"g\").attr(\"class\", \"lineWrapper\");\n lineWrapper.append(\"line\").attr(\"x1\", LEFT_MARGIN).attr(\"y1\", depthY).attr(\"x2\", box.width + 3 * LEFT_MARGIN).attr(\"y2\", depthY).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\");\n setupGraphViewbox(\n void 0,\n svg,\n conf.timeline?.padding ?? 50,\n conf.timeline?.useMaxWidth ?? false\n );\n}, \"draw\");\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, sectionColor, masterX, masterY, maxTaskHeight, conf, maxEventCount, maxEventLineLength, maxSectionHeight, isWithoutSections) {\n for (const task of tasks2) {\n const taskNode = {\n descr: task.task,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: maxTaskHeight\n };\n log.debug(\"taskNode\", taskNode);\n const taskWrapper = diagram2.append(\"g\").attr(\"class\", \"taskWrapper\");\n const node = svgDraw_default.drawNode(taskWrapper, taskNode, sectionColor, conf);\n const taskHeight = node.height;\n log.debug(\"taskHeight after draw\", taskHeight);\n taskWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n maxTaskHeight = Math.max(maxTaskHeight, taskHeight);\n if (task.events) {\n const lineWrapper = diagram2.append(\"g\").attr(\"class\", \"lineWrapper\");\n let lineLength = maxTaskHeight;\n masterY += 100;\n lineLength = lineLength + drawEvents(diagram2, task.events, sectionColor, masterX, masterY, conf);\n masterY -= 100;\n lineWrapper.append(\"line\").attr(\"x1\", masterX + 190 / 2).attr(\"y1\", masterY + maxTaskHeight).attr(\"x2\", masterX + 190 / 2).attr(\n \"y2\",\n masterY + maxTaskHeight + (isWithoutSections ? maxTaskHeight : maxSectionHeight) + maxEventLineLength + 120\n ).attr(\"stroke-width\", 2).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#arrowhead)\").attr(\"stroke-dasharray\", \"5,5\");\n }\n masterX = masterX + 200;\n if (isWithoutSections && !conf.timeline?.disableMulticolor) {\n sectionColor++;\n }\n }\n masterY = masterY - 10;\n}, \"drawTasks\");\nvar drawEvents = /* @__PURE__ */ __name(function(diagram2, events, sectionColor, masterX, masterY, conf) {\n let maxEventHeight = 0;\n const eventBeginY = masterY;\n masterY = masterY + 100;\n for (const event of events) {\n const eventNode = {\n descr: event,\n section: sectionColor,\n number: sectionColor,\n width: 150,\n padding: 20,\n maxHeight: 50\n };\n log.debug(\"eventNode\", eventNode);\n const eventWrapper = diagram2.append(\"g\").attr(\"class\", \"eventWrapper\");\n const node = svgDraw_default.drawNode(eventWrapper, eventNode, sectionColor, conf);\n const eventHeight = node.height;\n maxEventHeight = maxEventHeight + eventHeight;\n eventWrapper.attr(\"transform\", `translate(${masterX}, ${masterY})`);\n masterY = masterY + 10 + eventHeight;\n }\n masterY = eventBeginY;\n return maxEventHeight;\n}, \"drawEvents\");\nvar timelineRenderer_default = {\n setConf: /* @__PURE__ */ __name(() => {\n }, \"setConf\"),\n draw\n};\n\n// src/diagrams/timeline/styles.js\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${options[\"cScaleLabel\" + i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/timeline/timeline-definition.ts\nvar diagram = {\n db: timelineDb_exports,\n renderer: timelineRenderer_default,\n parser: timeline_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "/**\n * Copyright (c) 2016-2024, The Cytoscape Consortium.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the “Software”), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\n * of the Software, and to permit persons to whom the Software is furnished to do\n * so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || false, o.configurable = true, \"value\" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), Object.defineProperty(e, \"prototype\", {\n writable: false\n }), e;\n}\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {\n t && (r = t);\n var n = 0,\n F = function () {};\n return {\n s: F,\n n: function () {\n return n >= r.length ? {\n done: true\n } : {\n done: false,\n value: r[n++]\n };\n },\n e: function (r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = true,\n u = false;\n return {\n s: function () {\n t = t.call(r);\n },\n n: function () {\n var r = t.next();\n return a = r.done, r;\n },\n e: function (r) {\n u = true, o = r;\n },\n f: function () {\n try {\n a || null == t.return || t.return();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nfunction _defineProperty$1(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (undefined !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (String )(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : undefined;\n }\n}\n\nvar _window = typeof window === 'undefined' ? null : window; // eslint-disable-line no-undef\n\nvar navigator = _window ? _window.navigator : null;\n_window ? _window.document : null;\nvar typeofstr = _typeof('');\nvar typeofobj = _typeof({});\nvar typeoffn = _typeof(function () {});\nvar typeofhtmlele = typeof HTMLElement === \"undefined\" ? \"undefined\" : _typeof(HTMLElement);\nvar instanceStr = function instanceStr(obj) {\n return obj && obj.instanceString && fn$6(obj.instanceString) ? obj.instanceString() : null;\n};\n\nvar string = function string(obj) {\n return obj != null && _typeof(obj) == typeofstr;\n};\nvar fn$6 = function fn(obj) {\n return obj != null && _typeof(obj) === typeoffn;\n};\nvar array = function array(obj) {\n return !elementOrCollection(obj) && (Array.isArray ? Array.isArray(obj) : obj != null && obj instanceof Array);\n};\nvar plainObject = function plainObject(obj) {\n return obj != null && _typeof(obj) === typeofobj && !array(obj) && obj.constructor === Object;\n};\nvar object = function object(obj) {\n return obj != null && _typeof(obj) === typeofobj;\n};\nvar number$1 = function number(obj) {\n return obj != null && _typeof(obj) === _typeof(1) && !isNaN(obj);\n};\nvar integer = function integer(obj) {\n return number$1(obj) && Math.floor(obj) === obj;\n};\nvar htmlElement = function htmlElement(obj) {\n if ('undefined' === typeofhtmlele) {\n return undefined;\n } else {\n return null != obj && obj instanceof HTMLElement;\n }\n};\nvar elementOrCollection = function elementOrCollection(obj) {\n return element(obj) || collection(obj);\n};\nvar element = function element(obj) {\n return instanceStr(obj) === 'collection' && obj._private.single;\n};\nvar collection = function collection(obj) {\n return instanceStr(obj) === 'collection' && !obj._private.single;\n};\nvar core = function core(obj) {\n return instanceStr(obj) === 'core';\n};\nvar stylesheet = function stylesheet(obj) {\n return instanceStr(obj) === 'stylesheet';\n};\nvar event = function event(obj) {\n return instanceStr(obj) === 'event';\n};\nvar emptyString = function emptyString(obj) {\n if (obj === undefined || obj === null) {\n // null is empty\n return true;\n } else if (obj === '' || obj.match(/^\\s+$/)) {\n return true; // empty string is empty\n }\n return false; // otherwise, we don't know what we've got\n};\nvar domElement = function domElement(obj) {\n if (typeof HTMLElement === 'undefined') {\n return false; // we're not in a browser so it doesn't matter\n } else {\n return obj instanceof HTMLElement;\n }\n};\nvar boundingBox = function boundingBox(obj) {\n return plainObject(obj) && number$1(obj.x1) && number$1(obj.x2) && number$1(obj.y1) && number$1(obj.y2);\n};\nvar promise = function promise(obj) {\n return object(obj) && fn$6(obj.then);\n};\nvar ms = function ms() {\n return navigator && navigator.userAgent.match(/msie|trident|edge/i);\n}; // probably a better way to detect this...\n\nvar memoize = function memoize(fn, keyFn) {\n if (!keyFn) {\n keyFn = function keyFn() {\n if (arguments.length === 1) {\n return arguments[0];\n } else if (arguments.length === 0) {\n return 'undefined';\n }\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n return args.join('$');\n };\n }\n var _memoizedFn = function memoizedFn() {\n var self = this;\n var args = arguments;\n var ret;\n var k = keyFn.apply(self, args);\n var cache = _memoizedFn.cache;\n if (!(ret = cache[k])) {\n ret = cache[k] = fn.apply(self, args);\n }\n return ret;\n };\n _memoizedFn.cache = {};\n return _memoizedFn;\n};\n\nvar camel2dash = memoize(function (str) {\n return str.replace(/([A-Z])/g, function (v) {\n return '-' + v.toLowerCase();\n });\n});\nvar dash2camel = memoize(function (str) {\n return str.replace(/(-\\w)/g, function (v) {\n return v[1].toUpperCase();\n });\n});\nvar prependCamel = memoize(function (prefix, str) {\n return prefix + str[0].toUpperCase() + str.substring(1);\n}, function (prefix, str) {\n return prefix + '$' + str;\n});\nvar capitalize = function capitalize(str) {\n if (emptyString(str)) {\n return str;\n }\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\n\nvar number = '(?:[-+]?(?:(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[Ee][+-]?\\\\d+)?))';\nvar rgba = 'rgb[a]?\\\\((' + number + '[%]?)\\\\s*,\\\\s*(' + number + '[%]?)\\\\s*,\\\\s*(' + number + '[%]?)(?:\\\\s*,\\\\s*(' + number + '))?\\\\)';\nvar rgbaNoBackRefs = 'rgb[a]?\\\\((?:' + number + '[%]?)\\\\s*,\\\\s*(?:' + number + '[%]?)\\\\s*,\\\\s*(?:' + number + '[%]?)(?:\\\\s*,\\\\s*(?:' + number + '))?\\\\)';\nvar hsla = 'hsl[a]?\\\\((' + number + ')\\\\s*,\\\\s*(' + number + '[%])\\\\s*,\\\\s*(' + number + '[%])(?:\\\\s*,\\\\s*(' + number + '))?\\\\)';\nvar hslaNoBackRefs = 'hsl[a]?\\\\((?:' + number + ')\\\\s*,\\\\s*(?:' + number + '[%])\\\\s*,\\\\s*(?:' + number + '[%])(?:\\\\s*,\\\\s*(?:' + number + '))?\\\\)';\nvar hex3 = '\\\\#[0-9a-fA-F]{3}';\nvar hex6 = '\\\\#[0-9a-fA-F]{6}';\n\nvar ascending = function ascending(a, b) {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n};\nvar descending = function descending(a, b) {\n return -1 * ascending(a, b);\n};\n\nvar extend = Object.assign != null ? Object.assign.bind(Object) : function (tgt) {\n var args = arguments;\n for (var i = 1; i < args.length; i++) {\n var obj = args[i];\n if (obj == null) {\n continue;\n }\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; j++) {\n var k = keys[j];\n tgt[k] = obj[k];\n }\n }\n return tgt;\n};\n\n// get [r, g, b] from #abc or #aabbcc\nvar hex2tuple = function hex2tuple(hex) {\n if (!(hex.length === 4 || hex.length === 7) || hex[0] !== '#') {\n return;\n }\n var shortHex = hex.length === 4;\n var r, g, b;\n var base = 16;\n if (shortHex) {\n r = parseInt(hex[1] + hex[1], base);\n g = parseInt(hex[2] + hex[2], base);\n b = parseInt(hex[3] + hex[3], base);\n } else {\n r = parseInt(hex[1] + hex[2], base);\n g = parseInt(hex[3] + hex[4], base);\n b = parseInt(hex[5] + hex[6], base);\n }\n return [r, g, b];\n};\n\n// get [r, g, b, a] from hsl(0, 0, 0) or hsla(0, 0, 0, 0)\nvar hsl2tuple = function hsl2tuple(hsl) {\n var ret;\n var h, s, l, a, r, g, b;\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n var m = new RegExp('^' + hsla + '$').exec(hsl);\n if (m) {\n // get hue\n h = parseInt(m[1]);\n if (h < 0) {\n h = (360 - -1 * h % 360) % 360;\n } else if (h > 360) {\n h = h % 360;\n }\n h /= 360; // normalise on [0, 1]\n\n s = parseFloat(m[2]);\n if (s < 0 || s > 100) {\n return;\n } // saturation is [0, 100]\n s = s / 100; // normalise on [0, 1]\n\n l = parseFloat(m[3]);\n if (l < 0 || l > 100) {\n return;\n } // lightness is [0, 100]\n l = l / 100; // normalise on [0, 1]\n\n a = m[4];\n if (a !== undefined) {\n a = parseFloat(a);\n if (a < 0 || a > 1) {\n return;\n } // alpha is [0, 1]\n }\n\n // now, convert to rgb\n // code from http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript\n if (s === 0) {\n r = g = b = Math.round(l * 255); // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = Math.round(255 * hue2rgb(p, q, h + 1 / 3));\n g = Math.round(255 * hue2rgb(p, q, h));\n b = Math.round(255 * hue2rgb(p, q, h - 1 / 3));\n }\n ret = [r, g, b, a];\n }\n return ret;\n};\n\n// get [r, g, b, a] from rgb(0, 0, 0) or rgba(0, 0, 0, 0)\nvar rgb2tuple = function rgb2tuple(rgb) {\n var ret;\n var m = new RegExp('^' + rgba + '$').exec(rgb);\n if (m) {\n ret = [];\n var isPct = [];\n for (var i = 1; i <= 3; i++) {\n var channel = m[i];\n if (channel[channel.length - 1] === '%') {\n isPct[i] = true;\n }\n channel = parseFloat(channel);\n if (isPct[i]) {\n channel = channel / 100 * 255; // normalise to [0, 255]\n }\n if (channel < 0 || channel > 255) {\n return;\n } // invalid channel value\n\n ret.push(Math.floor(channel));\n }\n var atLeastOneIsPct = isPct[1] || isPct[2] || isPct[3];\n var allArePct = isPct[1] && isPct[2] && isPct[3];\n if (atLeastOneIsPct && !allArePct) {\n return;\n } // must all be percent values if one is\n\n var alpha = m[4];\n if (alpha !== undefined) {\n alpha = parseFloat(alpha);\n if (alpha < 0 || alpha > 1) {\n return;\n } // invalid alpha value\n\n ret.push(alpha);\n }\n }\n return ret;\n};\nvar colorname2tuple = function colorname2tuple(color) {\n return colors[color.toLowerCase()];\n};\nvar color2tuple = function color2tuple(color) {\n return (array(color) ? color : null) || colorname2tuple(color) || hex2tuple(color) || rgb2tuple(color) || hsl2tuple(color);\n};\nvar colors = {\n // special colour names\n transparent: [0, 0, 0, 0],\n // NB alpha === 0\n\n // regular colours\n aliceblue: [240, 248, 255],\n antiquewhite: [250, 235, 215],\n aqua: [0, 255, 255],\n aquamarine: [127, 255, 212],\n azure: [240, 255, 255],\n beige: [245, 245, 220],\n bisque: [255, 228, 196],\n black: [0, 0, 0],\n blanchedalmond: [255, 235, 205],\n blue: [0, 0, 255],\n blueviolet: [138, 43, 226],\n brown: [165, 42, 42],\n burlywood: [222, 184, 135],\n cadetblue: [95, 158, 160],\n chartreuse: [127, 255, 0],\n chocolate: [210, 105, 30],\n coral: [255, 127, 80],\n cornflowerblue: [100, 149, 237],\n cornsilk: [255, 248, 220],\n crimson: [220, 20, 60],\n cyan: [0, 255, 255],\n darkblue: [0, 0, 139],\n darkcyan: [0, 139, 139],\n darkgoldenrod: [184, 134, 11],\n darkgray: [169, 169, 169],\n darkgreen: [0, 100, 0],\n darkgrey: [169, 169, 169],\n darkkhaki: [189, 183, 107],\n darkmagenta: [139, 0, 139],\n darkolivegreen: [85, 107, 47],\n darkorange: [255, 140, 0],\n darkorchid: [153, 50, 204],\n darkred: [139, 0, 0],\n darksalmon: [233, 150, 122],\n darkseagreen: [143, 188, 143],\n darkslateblue: [72, 61, 139],\n darkslategray: [47, 79, 79],\n darkslategrey: [47, 79, 79],\n darkturquoise: [0, 206, 209],\n darkviolet: [148, 0, 211],\n deeppink: [255, 20, 147],\n deepskyblue: [0, 191, 255],\n dimgray: [105, 105, 105],\n dimgrey: [105, 105, 105],\n dodgerblue: [30, 144, 255],\n firebrick: [178, 34, 34],\n floralwhite: [255, 250, 240],\n forestgreen: [34, 139, 34],\n fuchsia: [255, 0, 255],\n gainsboro: [220, 220, 220],\n ghostwhite: [248, 248, 255],\n gold: [255, 215, 0],\n goldenrod: [218, 165, 32],\n gray: [128, 128, 128],\n grey: [128, 128, 128],\n green: [0, 128, 0],\n greenyellow: [173, 255, 47],\n honeydew: [240, 255, 240],\n hotpink: [255, 105, 180],\n indianred: [205, 92, 92],\n indigo: [75, 0, 130],\n ivory: [255, 255, 240],\n khaki: [240, 230, 140],\n lavender: [230, 230, 250],\n lavenderblush: [255, 240, 245],\n lawngreen: [124, 252, 0],\n lemonchiffon: [255, 250, 205],\n lightblue: [173, 216, 230],\n lightcoral: [240, 128, 128],\n lightcyan: [224, 255, 255],\n lightgoldenrodyellow: [250, 250, 210],\n lightgray: [211, 211, 211],\n lightgreen: [144, 238, 144],\n lightgrey: [211, 211, 211],\n lightpink: [255, 182, 193],\n lightsalmon: [255, 160, 122],\n lightseagreen: [32, 178, 170],\n lightskyblue: [135, 206, 250],\n lightslategray: [119, 136, 153],\n lightslategrey: [119, 136, 153],\n lightsteelblue: [176, 196, 222],\n lightyellow: [255, 255, 224],\n lime: [0, 255, 0],\n limegreen: [50, 205, 50],\n linen: [250, 240, 230],\n magenta: [255, 0, 255],\n maroon: [128, 0, 0],\n mediumaquamarine: [102, 205, 170],\n mediumblue: [0, 0, 205],\n mediumorchid: [186, 85, 211],\n mediumpurple: [147, 112, 219],\n mediumseagreen: [60, 179, 113],\n mediumslateblue: [123, 104, 238],\n mediumspringgreen: [0, 250, 154],\n mediumturquoise: [72, 209, 204],\n mediumvioletred: [199, 21, 133],\n midnightblue: [25, 25, 112],\n mintcream: [245, 255, 250],\n mistyrose: [255, 228, 225],\n moccasin: [255, 228, 181],\n navajowhite: [255, 222, 173],\n navy: [0, 0, 128],\n oldlace: [253, 245, 230],\n olive: [128, 128, 0],\n olivedrab: [107, 142, 35],\n orange: [255, 165, 0],\n orangered: [255, 69, 0],\n orchid: [218, 112, 214],\n palegoldenrod: [238, 232, 170],\n palegreen: [152, 251, 152],\n paleturquoise: [175, 238, 238],\n palevioletred: [219, 112, 147],\n papayawhip: [255, 239, 213],\n peachpuff: [255, 218, 185],\n peru: [205, 133, 63],\n pink: [255, 192, 203],\n plum: [221, 160, 221],\n powderblue: [176, 224, 230],\n purple: [128, 0, 128],\n red: [255, 0, 0],\n rosybrown: [188, 143, 143],\n royalblue: [65, 105, 225],\n saddlebrown: [139, 69, 19],\n salmon: [250, 128, 114],\n sandybrown: [244, 164, 96],\n seagreen: [46, 139, 87],\n seashell: [255, 245, 238],\n sienna: [160, 82, 45],\n silver: [192, 192, 192],\n skyblue: [135, 206, 235],\n slateblue: [106, 90, 205],\n slategray: [112, 128, 144],\n slategrey: [112, 128, 144],\n snow: [255, 250, 250],\n springgreen: [0, 255, 127],\n steelblue: [70, 130, 180],\n tan: [210, 180, 140],\n teal: [0, 128, 128],\n thistle: [216, 191, 216],\n tomato: [255, 99, 71],\n turquoise: [64, 224, 208],\n violet: [238, 130, 238],\n wheat: [245, 222, 179],\n white: [255, 255, 255],\n whitesmoke: [245, 245, 245],\n yellow: [255, 255, 0],\n yellowgreen: [154, 205, 50]\n};\n\n// sets the value in a map (map may not be built)\nvar setMap = function setMap(options) {\n var obj = options.map;\n var keys = options.keys;\n var l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (plainObject(key)) {\n throw Error('Tried to set map with object key');\n }\n if (i < keys.length - 1) {\n // extend the map if necessary\n if (obj[key] == null) {\n obj[key] = {};\n }\n obj = obj[key];\n } else {\n // set the value\n obj[key] = options.value;\n }\n }\n};\n\n// gets the value in a map even if it's not built in places\nvar getMap = function getMap(options) {\n var obj = options.map;\n var keys = options.keys;\n var l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (plainObject(key)) {\n throw Error('Tried to get map with object key');\n }\n obj = obj[key];\n if (obj == null) {\n return obj;\n }\n }\n return obj;\n};\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n\nvar isObject_1;\nvar hasRequiredIsObject;\n\nfunction requireIsObject () {\n\tif (hasRequiredIsObject) return isObject_1;\n\thasRequiredIsObject = 1;\n\tfunction isObject(value) {\n\t var type = typeof value;\n\t return value != null && (type == 'object' || type == 'function');\n\t}\n\n\tisObject_1 = isObject;\n\treturn isObject_1;\n}\n\n/** Detect free variable `global` from Node.js. */\n\nvar _freeGlobal;\nvar hasRequired_freeGlobal;\n\nfunction require_freeGlobal () {\n\tif (hasRequired_freeGlobal) return _freeGlobal;\n\thasRequired_freeGlobal = 1;\n\tvar freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n\n\t_freeGlobal = freeGlobal;\n\treturn _freeGlobal;\n}\n\nvar _root;\nvar hasRequired_root;\n\nfunction require_root () {\n\tif (hasRequired_root) return _root;\n\thasRequired_root = 1;\n\tvar freeGlobal = require_freeGlobal();\n\n\t/** Detect free variable `self`. */\n\tvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\n\t_root = root;\n\treturn _root;\n}\n\nvar now_1;\nvar hasRequiredNow;\n\nfunction requireNow () {\n\tif (hasRequiredNow) return now_1;\n\thasRequiredNow = 1;\n\tvar root = require_root();\n\n\t/**\n\t * Gets the timestamp of the number of milliseconds that have elapsed since\n\t * the Unix epoch (1 January 1970 00:00:00 UTC).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 2.4.0\n\t * @category Date\n\t * @returns {number} Returns the timestamp.\n\t * @example\n\t *\n\t * _.defer(function(stamp) {\n\t * console.log(_.now() - stamp);\n\t * }, _.now());\n\t * // => Logs the number of milliseconds it took for the deferred invocation.\n\t */\n\tvar now = function() {\n\t return root.Date.now();\n\t};\n\n\tnow_1 = now;\n\treturn now_1;\n}\n\n/** Used to match a single whitespace character. */\n\nvar _trimmedEndIndex;\nvar hasRequired_trimmedEndIndex;\n\nfunction require_trimmedEndIndex () {\n\tif (hasRequired_trimmedEndIndex) return _trimmedEndIndex;\n\thasRequired_trimmedEndIndex = 1;\n\tvar reWhitespace = /\\s/;\n\n\t/**\n\t * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n\t * character of `string`.\n\t *\n\t * @private\n\t * @param {string} string The string to inspect.\n\t * @returns {number} Returns the index of the last non-whitespace character.\n\t */\n\tfunction trimmedEndIndex(string) {\n\t var index = string.length;\n\n\t while (index-- && reWhitespace.test(string.charAt(index))) {}\n\t return index;\n\t}\n\n\t_trimmedEndIndex = trimmedEndIndex;\n\treturn _trimmedEndIndex;\n}\n\nvar _baseTrim;\nvar hasRequired_baseTrim;\n\nfunction require_baseTrim () {\n\tif (hasRequired_baseTrim) return _baseTrim;\n\thasRequired_baseTrim = 1;\n\tvar trimmedEndIndex = require_trimmedEndIndex();\n\n\t/** Used to match leading whitespace. */\n\tvar reTrimStart = /^\\s+/;\n\n\t/**\n\t * The base implementation of `_.trim`.\n\t *\n\t * @private\n\t * @param {string} string The string to trim.\n\t * @returns {string} Returns the trimmed string.\n\t */\n\tfunction baseTrim(string) {\n\t return string\n\t ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n\t : string;\n\t}\n\n\t_baseTrim = baseTrim;\n\treturn _baseTrim;\n}\n\nvar _Symbol;\nvar hasRequired_Symbol;\n\nfunction require_Symbol () {\n\tif (hasRequired_Symbol) return _Symbol;\n\thasRequired_Symbol = 1;\n\tvar root = require_root();\n\n\t/** Built-in value references. */\n\tvar Symbol = root.Symbol;\n\n\t_Symbol = Symbol;\n\treturn _Symbol;\n}\n\nvar _getRawTag;\nvar hasRequired_getRawTag;\n\nfunction require_getRawTag () {\n\tif (hasRequired_getRawTag) return _getRawTag;\n\thasRequired_getRawTag = 1;\n\tvar Symbol = require_Symbol();\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n\t/**\n\t * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the raw `toStringTag`.\n\t */\n\tfunction getRawTag(value) {\n\t var isOwn = hasOwnProperty.call(value, symToStringTag),\n\t tag = value[symToStringTag];\n\n\t try {\n\t value[symToStringTag] = undefined;\n\t var unmasked = true;\n\t } catch (e) {}\n\n\t var result = nativeObjectToString.call(value);\n\t if (unmasked) {\n\t if (isOwn) {\n\t value[symToStringTag] = tag;\n\t } else {\n\t delete value[symToStringTag];\n\t }\n\t }\n\t return result;\n\t}\n\n\t_getRawTag = getRawTag;\n\treturn _getRawTag;\n}\n\n/** Used for built-in method references. */\n\nvar _objectToString;\nvar hasRequired_objectToString;\n\nfunction require_objectToString () {\n\tif (hasRequired_objectToString) return _objectToString;\n\thasRequired_objectToString = 1;\n\tvar objectProto = Object.prototype;\n\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\n\t/**\n\t * Converts `value` to a string using `Object.prototype.toString`.\n\t *\n\t * @private\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t */\n\tfunction objectToString(value) {\n\t return nativeObjectToString.call(value);\n\t}\n\n\t_objectToString = objectToString;\n\treturn _objectToString;\n}\n\nvar _baseGetTag;\nvar hasRequired_baseGetTag;\n\nfunction require_baseGetTag () {\n\tif (hasRequired_baseGetTag) return _baseGetTag;\n\thasRequired_baseGetTag = 1;\n\tvar Symbol = require_Symbol(),\n\t getRawTag = require_getRawTag(),\n\t objectToString = require_objectToString();\n\n\t/** `Object#toString` result references. */\n\tvar nullTag = '[object Null]',\n\t undefinedTag = '[object Undefined]';\n\n\t/** Built-in value references. */\n\tvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n\t/**\n\t * The base implementation of `getTag` without fallbacks for buggy environments.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t if (value == null) {\n\t return value === undefined ? undefinedTag : nullTag;\n\t }\n\t return (symToStringTag && symToStringTag in Object(value))\n\t ? getRawTag(value)\n\t : objectToString(value);\n\t}\n\n\t_baseGetTag = baseGetTag;\n\treturn _baseGetTag;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\nvar isObjectLike_1;\nvar hasRequiredIsObjectLike;\n\nfunction requireIsObjectLike () {\n\tif (hasRequiredIsObjectLike) return isObjectLike_1;\n\thasRequiredIsObjectLike = 1;\n\tfunction isObjectLike(value) {\n\t return value != null && typeof value == 'object';\n\t}\n\n\tisObjectLike_1 = isObjectLike;\n\treturn isObjectLike_1;\n}\n\nvar isSymbol_1;\nvar hasRequiredIsSymbol;\n\nfunction requireIsSymbol () {\n\tif (hasRequiredIsSymbol) return isSymbol_1;\n\thasRequiredIsSymbol = 1;\n\tvar baseGetTag = require_baseGetTag(),\n\t isObjectLike = requireIsObjectLike();\n\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return typeof value == 'symbol' ||\n\t (isObjectLike(value) && baseGetTag(value) == symbolTag);\n\t}\n\n\tisSymbol_1 = isSymbol;\n\treturn isSymbol_1;\n}\n\nvar toNumber_1;\nvar hasRequiredToNumber;\n\nfunction requireToNumber () {\n\tif (hasRequiredToNumber) return toNumber_1;\n\thasRequiredToNumber = 1;\n\tvar baseTrim = require_baseTrim(),\n\t isObject = requireIsObject(),\n\t isSymbol = requireIsSymbol();\n\n\t/** Used as references for various `Number` constants. */\n\tvar NAN = 0 / 0;\n\n\t/** Used to detect bad signed hexadecimal string values. */\n\tvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n\t/** Used to detect binary string values. */\n\tvar reIsBinary = /^0b[01]+$/i;\n\n\t/** Used to detect octal string values. */\n\tvar reIsOctal = /^0o[0-7]+$/i;\n\n\t/** Built-in method references without a dependency on `root`. */\n\tvar freeParseInt = parseInt;\n\n\t/**\n\t * Converts `value` to a number.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to process.\n\t * @returns {number} Returns the number.\n\t * @example\n\t *\n\t * _.toNumber(3.2);\n\t * // => 3.2\n\t *\n\t * _.toNumber(Number.MIN_VALUE);\n\t * // => 5e-324\n\t *\n\t * _.toNumber(Infinity);\n\t * // => Infinity\n\t *\n\t * _.toNumber('3.2');\n\t * // => 3.2\n\t */\n\tfunction toNumber(value) {\n\t if (typeof value == 'number') {\n\t return value;\n\t }\n\t if (isSymbol(value)) {\n\t return NAN;\n\t }\n\t if (isObject(value)) {\n\t var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n\t value = isObject(other) ? (other + '') : other;\n\t }\n\t if (typeof value != 'string') {\n\t return value === 0 ? value : +value;\n\t }\n\t value = baseTrim(value);\n\t var isBinary = reIsBinary.test(value);\n\t return (isBinary || reIsOctal.test(value))\n\t ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n\t : (reIsBadHex.test(value) ? NAN : +value);\n\t}\n\n\ttoNumber_1 = toNumber;\n\treturn toNumber_1;\n}\n\nvar debounce_1;\nvar hasRequiredDebounce;\n\nfunction requireDebounce () {\n\tif (hasRequiredDebounce) return debounce_1;\n\thasRequiredDebounce = 1;\n\tvar isObject = requireIsObject(),\n\t now = requireNow(),\n\t toNumber = requireToNumber();\n\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeMax = Math.max,\n\t nativeMin = Math.min;\n\n\t/**\n\t * Creates a debounced function that delays invoking `func` until after `wait`\n\t * milliseconds have elapsed since the last time the debounced function was\n\t * invoked. The debounced function comes with a `cancel` method to cancel\n\t * delayed `func` invocations and a `flush` method to immediately invoke them.\n\t * Provide `options` to indicate whether `func` should be invoked on the\n\t * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n\t * with the last arguments provided to the debounced function. Subsequent\n\t * calls to the debounced function return the result of the last `func`\n\t * invocation.\n\t *\n\t * **Note:** If `leading` and `trailing` options are `true`, `func` is\n\t * invoked on the trailing edge of the timeout only if the debounced function\n\t * is invoked more than once during the `wait` timeout.\n\t *\n\t * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n\t * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n\t *\n\t * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n\t * for details over the differences between `_.debounce` and `_.throttle`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to debounce.\n\t * @param {number} [wait=0] The number of milliseconds to delay.\n\t * @param {Object} [options={}] The options object.\n\t * @param {boolean} [options.leading=false]\n\t * Specify invoking on the leading edge of the timeout.\n\t * @param {number} [options.maxWait]\n\t * The maximum time `func` is allowed to be delayed before it's invoked.\n\t * @param {boolean} [options.trailing=true]\n\t * Specify invoking on the trailing edge of the timeout.\n\t * @returns {Function} Returns the new debounced function.\n\t * @example\n\t *\n\t * // Avoid costly calculations while the window size is in flux.\n\t * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n\t *\n\t * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n\t * jQuery(element).on('click', _.debounce(sendMail, 300, {\n\t * 'leading': true,\n\t * 'trailing': false\n\t * }));\n\t *\n\t * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n\t * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n\t * var source = new EventSource('/stream');\n\t * jQuery(source).on('message', debounced);\n\t *\n\t * // Cancel the trailing debounced invocation.\n\t * jQuery(window).on('popstate', debounced.cancel);\n\t */\n\tfunction debounce(func, wait, options) {\n\t var lastArgs,\n\t lastThis,\n\t maxWait,\n\t result,\n\t timerId,\n\t lastCallTime,\n\t lastInvokeTime = 0,\n\t leading = false,\n\t maxing = false,\n\t trailing = true;\n\n\t if (typeof func != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t wait = toNumber(wait) || 0;\n\t if (isObject(options)) {\n\t leading = !!options.leading;\n\t maxing = 'maxWait' in options;\n\t maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n\t trailing = 'trailing' in options ? !!options.trailing : trailing;\n\t }\n\n\t function invokeFunc(time) {\n\t var args = lastArgs,\n\t thisArg = lastThis;\n\n\t lastArgs = lastThis = undefined;\n\t lastInvokeTime = time;\n\t result = func.apply(thisArg, args);\n\t return result;\n\t }\n\n\t function leadingEdge(time) {\n\t // Reset any `maxWait` timer.\n\t lastInvokeTime = time;\n\t // Start the timer for the trailing edge.\n\t timerId = setTimeout(timerExpired, wait);\n\t // Invoke the leading edge.\n\t return leading ? invokeFunc(time) : result;\n\t }\n\n\t function remainingWait(time) {\n\t var timeSinceLastCall = time - lastCallTime,\n\t timeSinceLastInvoke = time - lastInvokeTime,\n\t timeWaiting = wait - timeSinceLastCall;\n\n\t return maxing\n\t ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n\t : timeWaiting;\n\t }\n\n\t function shouldInvoke(time) {\n\t var timeSinceLastCall = time - lastCallTime,\n\t timeSinceLastInvoke = time - lastInvokeTime;\n\n\t // Either this is the first call, activity has stopped and we're at the\n\t // trailing edge, the system time has gone backwards and we're treating\n\t // it as the trailing edge, or we've hit the `maxWait` limit.\n\t return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n\t (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n\t }\n\n\t function timerExpired() {\n\t var time = now();\n\t if (shouldInvoke(time)) {\n\t return trailingEdge(time);\n\t }\n\t // Restart the timer.\n\t timerId = setTimeout(timerExpired, remainingWait(time));\n\t }\n\n\t function trailingEdge(time) {\n\t timerId = undefined;\n\n\t // Only invoke if we have `lastArgs` which means `func` has been\n\t // debounced at least once.\n\t if (trailing && lastArgs) {\n\t return invokeFunc(time);\n\t }\n\t lastArgs = lastThis = undefined;\n\t return result;\n\t }\n\n\t function cancel() {\n\t if (timerId !== undefined) {\n\t clearTimeout(timerId);\n\t }\n\t lastInvokeTime = 0;\n\t lastArgs = lastCallTime = lastThis = timerId = undefined;\n\t }\n\n\t function flush() {\n\t return timerId === undefined ? result : trailingEdge(now());\n\t }\n\n\t function debounced() {\n\t var time = now(),\n\t isInvoking = shouldInvoke(time);\n\n\t lastArgs = arguments;\n\t lastThis = this;\n\t lastCallTime = time;\n\n\t if (isInvoking) {\n\t if (timerId === undefined) {\n\t return leadingEdge(lastCallTime);\n\t }\n\t if (maxing) {\n\t // Handle invocations in a tight loop.\n\t clearTimeout(timerId);\n\t timerId = setTimeout(timerExpired, wait);\n\t return invokeFunc(lastCallTime);\n\t }\n\t }\n\t if (timerId === undefined) {\n\t timerId = setTimeout(timerExpired, wait);\n\t }\n\t return result;\n\t }\n\t debounced.cancel = cancel;\n\t debounced.flush = flush;\n\t return debounced;\n\t}\n\n\tdebounce_1 = debounce;\n\treturn debounce_1;\n}\n\nvar debounceExports = requireDebounce();\nvar debounce = /*@__PURE__*/getDefaultExportFromCjs(debounceExports);\n\nvar performance$1 = _window ? _window.performance : null;\nvar pnow = performance$1 && performance$1.now ? function () {\n return performance$1.now();\n} : function () {\n return Date.now();\n};\nvar raf = function () {\n if (_window) {\n if (_window.requestAnimationFrame) {\n return function (fn) {\n _window.requestAnimationFrame(fn);\n };\n } else if (_window.mozRequestAnimationFrame) {\n return function (fn) {\n _window.mozRequestAnimationFrame(fn);\n };\n } else if (_window.webkitRequestAnimationFrame) {\n return function (fn) {\n _window.webkitRequestAnimationFrame(fn);\n };\n } else if (_window.msRequestAnimationFrame) {\n return function (fn) {\n _window.msRequestAnimationFrame(fn);\n };\n }\n }\n return function (fn) {\n if (fn) {\n setTimeout(function () {\n fn(pnow());\n }, 1000 / 60);\n }\n };\n}();\nvar requestAnimationFrame = function requestAnimationFrame(fn) {\n return raf(fn);\n};\nvar performanceNow = pnow;\n\nvar DEFAULT_HASH_SEED = 9261;\nvar K = 65599; // 37 also works pretty well\nvar DEFAULT_HASH_SEED_ALT = 5381;\nvar hashIterableInts = function hashIterableInts(iterator) {\n var seed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_HASH_SEED;\n // sdbm/string-hash\n var hash = seed;\n var entry;\n for (;;) {\n entry = iterator.next();\n if (entry.done) {\n break;\n }\n hash = hash * K + entry.value | 0;\n }\n return hash;\n};\nvar hashInt = function hashInt(num) {\n var seed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_HASH_SEED;\n // sdbm/string-hash\n return seed * K + num | 0;\n};\nvar hashIntAlt = function hashIntAlt(num) {\n var seed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_HASH_SEED_ALT;\n // djb2/string-hash\n return (seed << 5) + seed + num | 0;\n};\nvar combineHashes = function combineHashes(hash1, hash2) {\n return hash1 * 0x200000 + hash2;\n};\nvar combineHashesArray = function combineHashesArray(hashes) {\n return hashes[0] * 0x200000 + hashes[1];\n};\nvar hashArrays = function hashArrays(hashes1, hashes2) {\n return [hashInt(hashes1[0], hashes2[0]), hashIntAlt(hashes1[1], hashes2[1])];\n};\nvar hashIntsArray = function hashIntsArray(ints, seed) {\n var entry = {\n value: 0,\n done: false\n };\n var i = 0;\n var length = ints.length;\n var iterator = {\n next: function next() {\n if (i < length) {\n entry.value = ints[i++];\n } else {\n entry.done = true;\n }\n return entry;\n }\n };\n return hashIterableInts(iterator, seed);\n};\nvar hashString = function hashString(str, seed) {\n var entry = {\n value: 0,\n done: false\n };\n var i = 0;\n var length = str.length;\n var iterator = {\n next: function next() {\n if (i < length) {\n entry.value = str.charCodeAt(i++);\n } else {\n entry.done = true;\n }\n return entry;\n }\n };\n return hashIterableInts(iterator, seed);\n};\nvar hashStrings = function hashStrings() {\n return hashStringsArray(arguments);\n};\nvar hashStringsArray = function hashStringsArray(strs) {\n var hash;\n for (var i = 0; i < strs.length; i++) {\n var str = strs[i];\n if (i === 0) {\n hash = hashString(str);\n } else {\n hash = hashString(str, hash);\n }\n }\n return hash;\n};\n\nvar warningsEnabled = true;\nvar warnSupported = console.warn != null;\nvar traceSupported = console.trace != null;\nvar MAX_INT$1 = Number.MAX_SAFE_INTEGER || 9007199254740991;\nvar trueify = function trueify() {\n return true;\n};\nvar falsify = function falsify() {\n return false;\n};\nvar zeroify = function zeroify() {\n return 0;\n};\nvar noop$1 = function noop() {};\nvar error = function error(msg) {\n throw new Error(msg);\n};\nvar warnings = function warnings(enabled) {\n if (enabled !== undefined) {\n warningsEnabled = !!enabled;\n } else {\n return warningsEnabled;\n }\n};\nvar warn = function warn(msg) {\n if (!warnings()) {\n return;\n }\n if (warnSupported) {\n console.warn(msg);\n } else {\n console.log(msg);\n if (traceSupported) {\n console.trace();\n }\n }\n};\nvar clone = function clone(obj) {\n return extend({}, obj);\n};\n\n// gets a shallow copy of the argument\nvar copy = function copy(obj) {\n if (obj == null) {\n return obj;\n }\n if (array(obj)) {\n return obj.slice();\n } else if (plainObject(obj)) {\n return clone(obj);\n } else {\n return obj;\n }\n};\nvar copyArray = function copyArray(arr) {\n return arr.slice();\n};\nvar uuid = function uuid(a, b /* placeholders */) {\n for (\n // loop :)\n b = a = '';\n // b - result , a - numeric letiable\n a++ < 36;\n //\n b += a * 51 & 52 // if \"a\" is not 9 or 14 or 19 or 24\n ?\n // return a random number or 4\n (a ^ 15 // if \"a\" is not 15\n ?\n // generate a random number from 0 to 15\n 8 ^ Math.random() * (a ^ 20 ? 16 : 4) // unless \"a\" is 20, in which case a random number from 8 to 11\n : 4 // otherwise 4\n ).toString(16) : '-' // in other cases (if \"a\" is 9,14,19,24) insert \"-\"\n );\n return b;\n};\nvar _staticEmptyObject = {};\nvar staticEmptyObject = function staticEmptyObject() {\n return _staticEmptyObject;\n};\nvar defaults$g = function defaults(_defaults) {\n var keys = Object.keys(_defaults);\n return function (opts) {\n var filledOpts = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var optVal = opts == null ? undefined : opts[key];\n filledOpts[key] = optVal === undefined ? _defaults[key] : optVal;\n }\n return filledOpts;\n };\n};\nvar removeFromArray = function removeFromArray(arr, ele, oneCopy) {\n for (var i = arr.length - 1; i >= 0; i--) {\n if (arr[i] === ele) {\n arr.splice(i, 1);\n }\n }\n};\nvar clearArray = function clearArray(arr) {\n arr.splice(0, arr.length);\n};\nvar push = function push(arr, otherArr) {\n for (var i = 0; i < otherArr.length; i++) {\n var el = otherArr[i];\n arr.push(el);\n }\n};\nvar getPrefixedProperty = function getPrefixedProperty(obj, propName, prefix) {\n if (prefix) {\n propName = prependCamel(prefix, propName); // e.g. (labelWidth, source) => sourceLabelWidth\n }\n return obj[propName];\n};\nvar setPrefixedProperty = function setPrefixedProperty(obj, propName, prefix, value) {\n if (prefix) {\n propName = prependCamel(prefix, propName); // e.g. (labelWidth, source) => sourceLabelWidth\n }\n obj[propName] = value;\n};\n\n/* global Map */\nvar ObjectMap = /*#__PURE__*/function () {\n function ObjectMap() {\n _classCallCheck(this, ObjectMap);\n this._obj = {};\n }\n return _createClass(ObjectMap, [{\n key: \"set\",\n value: function set(key, val) {\n this._obj[key] = val;\n return this;\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this._obj[key] = undefined;\n return this;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._obj = {};\n }\n }, {\n key: \"has\",\n value: function has(key) {\n return this._obj[key] !== undefined;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this._obj[key];\n }\n }]);\n}();\nvar Map$1 = typeof Map !== 'undefined' ? Map : ObjectMap;\n\n/* global Set */\n\nvar undef = \"undefined\" ;\nvar ObjectSet = /*#__PURE__*/function () {\n function ObjectSet(arrayOrObjectSet) {\n _classCallCheck(this, ObjectSet);\n this._obj = Object.create(null);\n this.size = 0;\n if (arrayOrObjectSet != null) {\n var arr;\n if (arrayOrObjectSet.instanceString != null && arrayOrObjectSet.instanceString() === this.instanceString()) {\n arr = arrayOrObjectSet.toArray();\n } else {\n arr = arrayOrObjectSet;\n }\n for (var i = 0; i < arr.length; i++) {\n this.add(arr[i]);\n }\n }\n }\n return _createClass(ObjectSet, [{\n key: \"instanceString\",\n value: function instanceString() {\n return 'set';\n }\n }, {\n key: \"add\",\n value: function add(val) {\n var o = this._obj;\n if (o[val] !== 1) {\n o[val] = 1;\n this.size++;\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(val) {\n var o = this._obj;\n if (o[val] === 1) {\n o[val] = 0;\n this.size--;\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._obj = Object.create(null);\n }\n }, {\n key: \"has\",\n value: function has(val) {\n return this._obj[val] === 1;\n }\n }, {\n key: \"toArray\",\n value: function toArray() {\n var _this = this;\n return Object.keys(this._obj).filter(function (key) {\n return _this.has(key);\n });\n }\n }, {\n key: \"forEach\",\n value: function forEach(callback, thisArg) {\n return this.toArray().forEach(callback, thisArg);\n }\n }]);\n}();\nvar Set$1 = (typeof Set === \"undefined\" ? \"undefined\" : _typeof(Set)) !== undef ? Set : ObjectSet;\n\n// represents a node or an edge\nvar Element = function Element(cy, params) {\n var restore = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (cy === undefined || params === undefined || !core(cy)) {\n error('An element must have a core reference and parameters set');\n return;\n }\n var group = params.group;\n\n // try to automatically infer the group if unspecified\n if (group == null) {\n if (params.data && params.data.source != null && params.data.target != null) {\n group = 'edges';\n } else {\n group = 'nodes';\n }\n }\n\n // validate group\n if (group !== 'nodes' && group !== 'edges') {\n error('An element must be of type `nodes` or `edges`; you specified `' + group + '`');\n return;\n }\n\n // make the element array-like, just like a collection\n this.length = 1;\n this[0] = this;\n\n // NOTE: when something is added here, add also to ele.json()\n var _p = this._private = {\n cy: cy,\n single: true,\n // indicates this is an element\n data: params.data || {},\n // data object\n position: params.position || {\n x: 0,\n y: 0\n },\n // (x, y) position pair\n autoWidth: undefined,\n // width and height of nodes calculated by the renderer when set to special 'auto' value\n autoHeight: undefined,\n autoPadding: undefined,\n compoundBoundsClean: false,\n // whether the compound dimensions need to be recalculated the next time dimensions are read\n listeners: [],\n // array of bound listeners\n group: group,\n // string; 'nodes' or 'edges'\n style: {},\n // properties as set by the style\n rstyle: {},\n // properties for style sent from the renderer to the core\n styleCxts: [],\n // applied style contexts from the styler\n styleKeys: {},\n // per-group keys of style property values\n removed: true,\n // whether it's inside the vis; true if removed (set true here since we call restore)\n selected: params.selected ? true : false,\n // whether it's selected\n selectable: params.selectable === undefined ? true : params.selectable ? true : false,\n // whether it's selectable\n locked: params.locked ? true : false,\n // whether the element is locked (cannot be moved)\n grabbed: false,\n // whether the element is grabbed by the mouse; renderer sets this privately\n grabbable: params.grabbable === undefined ? true : params.grabbable ? true : false,\n // whether the element can be grabbed\n pannable: params.pannable === undefined ? group === 'edges' ? true : false : params.pannable ? true : false,\n // whether the element has passthrough panning enabled\n active: false,\n // whether the element is active from user interaction\n classes: new Set$1(),\n // map ( className => true )\n animation: {\n // object for currently-running animations\n current: [],\n queue: []\n },\n rscratch: {},\n // object in which the renderer can store information\n scratch: params.scratch || {},\n // scratch objects\n edges: [],\n // array of connected edges\n children: [],\n // array of children\n parent: params.parent && params.parent.isNode() ? params.parent : null,\n // parent ref\n traversalCache: {},\n // cache of output of traversal functions\n backgrounding: false,\n // whether background images are loading\n bbCache: null,\n // cache of the current bounding box\n bbCacheShift: {\n x: 0,\n y: 0\n },\n // shift applied to cached bb to be applied on next get\n bodyBounds: null,\n // bounds cache of element body, w/o overlay\n overlayBounds: null,\n // bounds cache of element body, including overlay\n labelBounds: {\n // bounds cache of labels\n all: null,\n source: null,\n target: null,\n main: null\n },\n arrowBounds: {\n // bounds cache of edge arrows\n source: null,\n target: null,\n 'mid-source': null,\n 'mid-target': null\n }\n };\n if (_p.position.x == null) {\n _p.position.x = 0;\n }\n if (_p.position.y == null) {\n _p.position.y = 0;\n }\n\n // renderedPosition overrides if specified\n if (params.renderedPosition) {\n var rpos = params.renderedPosition;\n var pan = cy.pan();\n var zoom = cy.zoom();\n _p.position = {\n x: (rpos.x - pan.x) / zoom,\n y: (rpos.y - pan.y) / zoom\n };\n }\n var classes = [];\n if (array(params.classes)) {\n classes = params.classes;\n } else if (string(params.classes)) {\n classes = params.classes.split(/\\s+/);\n }\n for (var i = 0, l = classes.length; i < l; i++) {\n var cls = classes[i];\n if (!cls || cls === '') {\n continue;\n }\n _p.classes.add(cls);\n }\n this.createEmitter();\n if (restore === undefined || restore) {\n this.restore();\n }\n var bypass = params.style || params.css;\n if (bypass) {\n warn('Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead.');\n this.style(bypass);\n }\n};\n\nvar defineSearch = function defineSearch(params) {\n params = {\n bfs: params.bfs || !params.dfs,\n dfs: params.dfs || !params.bfs\n };\n\n // from pseudocode on wikipedia\n return function searchFn(roots, fn, directed) {\n var options;\n if (plainObject(roots) && !elementOrCollection(roots)) {\n options = roots;\n roots = options.roots || options.root;\n fn = options.visit;\n directed = options.directed;\n }\n directed = arguments.length === 2 && !fn$6(fn) ? fn : directed;\n fn = fn$6(fn) ? fn : function () {};\n var cy = this._private.cy;\n var v = roots = string(roots) ? this.filter(roots) : roots;\n var Q = [];\n var connectedNodes = [];\n var connectedBy = {};\n var id2depth = {};\n var V = {};\n var j = 0;\n var found;\n var _this$byGroup = this.byGroup(),\n nodes = _this$byGroup.nodes,\n edges = _this$byGroup.edges;\n\n // enqueue v\n for (var i = 0; i < v.length; i++) {\n var vi = v[i];\n var viId = vi.id();\n if (vi.isNode()) {\n Q.unshift(vi);\n if (params.bfs) {\n V[viId] = true;\n connectedNodes.push(vi);\n }\n id2depth[viId] = 0;\n }\n }\n var _loop = function _loop() {\n var v = params.bfs ? Q.shift() : Q.pop();\n var vId = v.id();\n if (params.dfs) {\n if (V[vId]) {\n return 0; // continue\n }\n V[vId] = true;\n connectedNodes.push(v);\n }\n var depth = id2depth[vId];\n var prevEdge = connectedBy[vId];\n var src = prevEdge != null ? prevEdge.source() : null;\n var tgt = prevEdge != null ? prevEdge.target() : null;\n var prevNode = prevEdge == null ? undefined : v.same(src) ? tgt[0] : src[0];\n var ret;\n ret = fn(v, prevEdge, prevNode, j++, depth);\n if (ret === true) {\n found = v;\n return 1; // break\n }\n if (ret === false) {\n return 1; // break\n }\n var vwEdges = v.connectedEdges().filter(function (e) {\n return (!directed || e.source().same(v)) && edges.has(e);\n });\n for (var _i2 = 0; _i2 < vwEdges.length; _i2++) {\n var e = vwEdges[_i2];\n var w = e.connectedNodes().filter(function (n) {\n return !n.same(v) && nodes.has(n);\n });\n var wId = w.id();\n if (w.length !== 0 && !V[wId]) {\n w = w[0];\n Q.push(w);\n if (params.bfs) {\n V[wId] = true;\n connectedNodes.push(w);\n }\n connectedBy[wId] = e;\n id2depth[wId] = id2depth[vId] + 1;\n }\n }\n },\n _ret;\n while (Q.length !== 0) {\n _ret = _loop();\n if (_ret === 0) continue;\n if (_ret === 1) break;\n }\n var connectedEles = cy.collection();\n for (var _i = 0; _i < connectedNodes.length; _i++) {\n var node = connectedNodes[_i];\n var edge = connectedBy[node.id()];\n if (edge != null) {\n connectedEles.push(edge);\n }\n connectedEles.push(node);\n }\n return {\n path: cy.collection(connectedEles),\n found: cy.collection(found)\n };\n };\n};\n\n// search, spanning trees, etc\nvar elesfn$v = {\n breadthFirstSearch: defineSearch({\n bfs: true\n }),\n depthFirstSearch: defineSearch({\n dfs: true\n })\n};\n\n// nice, short mathematical alias\nelesfn$v.bfs = elesfn$v.breadthFirstSearch;\nelesfn$v.dfs = elesfn$v.depthFirstSearch;\n\nvar heap$2 = {exports: {}};\n\nvar heap$1 = heap$2.exports;\n\nvar hasRequiredHeap$1;\n\nfunction requireHeap$1 () {\n\tif (hasRequiredHeap$1) return heap$2.exports;\n\thasRequiredHeap$1 = 1;\n\t(function (module, exports) {\n\t\t// Generated by CoffeeScript 1.8.0\n\t\t(function() {\n\t\t var Heap, defaultCmp, floor, heapify, heappop, heappush, heappushpop, heapreplace, insort, min, nlargest, nsmallest, updateItem, _siftdown, _siftup;\n\n\t\t floor = Math.floor, min = Math.min;\n\n\n\t\t /*\n\t\t Default comparison function to be used\n\t\t */\n\n\t\t defaultCmp = function(x, y) {\n\t\t if (x < y) {\n\t\t return -1;\n\t\t }\n\t\t if (x > y) {\n\t\t return 1;\n\t\t }\n\t\t return 0;\n\t\t };\n\n\n\t\t /*\n\t\t Insert item x in list a, and keep it sorted assuming a is sorted.\n\t\t \n\t\t If x is already in a, insert it to the right of the rightmost x.\n\t\t \n\t\t Optional args lo (default 0) and hi (default a.length) bound the slice\n\t\t of a to be searched.\n\t\t */\n\n\t\t insort = function(a, x, lo, hi, cmp) {\n\t\t var mid;\n\t\t if (lo == null) {\n\t\t lo = 0;\n\t\t }\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t if (lo < 0) {\n\t\t throw new Error('lo must be non-negative');\n\t\t }\n\t\t if (hi == null) {\n\t\t hi = a.length;\n\t\t }\n\t\t while (lo < hi) {\n\t\t mid = floor((lo + hi) / 2);\n\t\t if (cmp(x, a[mid]) < 0) {\n\t\t hi = mid;\n\t\t } else {\n\t\t lo = mid + 1;\n\t\t }\n\t\t }\n\t\t return ([].splice.apply(a, [lo, lo - lo].concat(x)), x);\n\t\t };\n\n\n\t\t /*\n\t\t Push item onto heap, maintaining the heap invariant.\n\t\t */\n\n\t\t heappush = function(array, item, cmp) {\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t array.push(item);\n\t\t return _siftdown(array, 0, array.length - 1, cmp);\n\t\t };\n\n\n\t\t /*\n\t\t Pop the smallest item off the heap, maintaining the heap invariant.\n\t\t */\n\n\t\t heappop = function(array, cmp) {\n\t\t var lastelt, returnitem;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t lastelt = array.pop();\n\t\t if (array.length) {\n\t\t returnitem = array[0];\n\t\t array[0] = lastelt;\n\t\t _siftup(array, 0, cmp);\n\t\t } else {\n\t\t returnitem = lastelt;\n\t\t }\n\t\t return returnitem;\n\t\t };\n\n\n\t\t /*\n\t\t Pop and return the current smallest value, and add the new item.\n\t\t \n\t\t This is more efficient than heappop() followed by heappush(), and can be\n\t\t more appropriate when using a fixed size heap. Note that the value\n\t\t returned may be larger than item! That constrains reasonable use of\n\t\t this routine unless written as part of a conditional replacement:\n\t\t if item > array[0]\n\t\t item = heapreplace(array, item)\n\t\t */\n\n\t\t heapreplace = function(array, item, cmp) {\n\t\t var returnitem;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t returnitem = array[0];\n\t\t array[0] = item;\n\t\t _siftup(array, 0, cmp);\n\t\t return returnitem;\n\t\t };\n\n\n\t\t /*\n\t\t Fast version of a heappush followed by a heappop.\n\t\t */\n\n\t\t heappushpop = function(array, item, cmp) {\n\t\t var _ref;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t if (array.length && cmp(array[0], item) < 0) {\n\t\t _ref = [array[0], item], item = _ref[0], array[0] = _ref[1];\n\t\t _siftup(array, 0, cmp);\n\t\t }\n\t\t return item;\n\t\t };\n\n\n\t\t /*\n\t\t Transform list into a heap, in-place, in O(array.length) time.\n\t\t */\n\n\t\t heapify = function(array, cmp) {\n\t\t var i, _i, _len, _ref1, _results, _results1;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t _ref1 = (function() {\n\t\t _results1 = [];\n\t\t for (var _j = 0, _ref = floor(array.length / 2); 0 <= _ref ? _j < _ref : _j > _ref; 0 <= _ref ? _j++ : _j--){ _results1.push(_j); }\n\t\t return _results1;\n\t\t }).apply(this).reverse();\n\t\t _results = [];\n\t\t for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n\t\t i = _ref1[_i];\n\t\t _results.push(_siftup(array, i, cmp));\n\t\t }\n\t\t return _results;\n\t\t };\n\n\n\t\t /*\n\t\t Update the position of the given item in the heap.\n\t\t This function should be called every time the item is being modified.\n\t\t */\n\n\t\t updateItem = function(array, item, cmp) {\n\t\t var pos;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t pos = array.indexOf(item);\n\t\t if (pos === -1) {\n\t\t return;\n\t\t }\n\t\t _siftdown(array, 0, pos, cmp);\n\t\t return _siftup(array, pos, cmp);\n\t\t };\n\n\n\t\t /*\n\t\t Find the n largest elements in a dataset.\n\t\t */\n\n\t\t nlargest = function(array, n, cmp) {\n\t\t var elem, result, _i, _len, _ref;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t result = array.slice(0, n);\n\t\t if (!result.length) {\n\t\t return result;\n\t\t }\n\t\t heapify(result, cmp);\n\t\t _ref = array.slice(n);\n\t\t for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t\t elem = _ref[_i];\n\t\t heappushpop(result, elem, cmp);\n\t\t }\n\t\t return result.sort(cmp).reverse();\n\t\t };\n\n\n\t\t /*\n\t\t Find the n smallest elements in a dataset.\n\t\t */\n\n\t\t nsmallest = function(array, n, cmp) {\n\t\t var elem, los, result, _i, _j, _len, _ref, _ref1, _results;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t if (n * 10 <= array.length) {\n\t\t result = array.slice(0, n).sort(cmp);\n\t\t if (!result.length) {\n\t\t return result;\n\t\t }\n\t\t los = result[result.length - 1];\n\t\t _ref = array.slice(n);\n\t\t for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n\t\t elem = _ref[_i];\n\t\t if (cmp(elem, los) < 0) {\n\t\t insort(result, elem, 0, null, cmp);\n\t\t result.pop();\n\t\t los = result[result.length - 1];\n\t\t }\n\t\t }\n\t\t return result;\n\t\t }\n\t\t heapify(array, cmp);\n\t\t _results = [];\n\t\t for (_j = 0, _ref1 = min(n, array.length); 0 <= _ref1 ? _j < _ref1 : _j > _ref1; 0 <= _ref1 ? ++_j : --_j) {\n\t\t _results.push(heappop(array, cmp));\n\t\t }\n\t\t return _results;\n\t\t };\n\n\t\t _siftdown = function(array, startpos, pos, cmp) {\n\t\t var newitem, parent, parentpos;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t newitem = array[pos];\n\t\t while (pos > startpos) {\n\t\t parentpos = (pos - 1) >> 1;\n\t\t parent = array[parentpos];\n\t\t if (cmp(newitem, parent) < 0) {\n\t\t array[pos] = parent;\n\t\t pos = parentpos;\n\t\t continue;\n\t\t }\n\t\t break;\n\t\t }\n\t\t return array[pos] = newitem;\n\t\t };\n\n\t\t _siftup = function(array, pos, cmp) {\n\t\t var childpos, endpos, newitem, rightpos, startpos;\n\t\t if (cmp == null) {\n\t\t cmp = defaultCmp;\n\t\t }\n\t\t endpos = array.length;\n\t\t startpos = pos;\n\t\t newitem = array[pos];\n\t\t childpos = 2 * pos + 1;\n\t\t while (childpos < endpos) {\n\t\t rightpos = childpos + 1;\n\t\t if (rightpos < endpos && !(cmp(array[childpos], array[rightpos]) < 0)) {\n\t\t childpos = rightpos;\n\t\t }\n\t\t array[pos] = array[childpos];\n\t\t pos = childpos;\n\t\t childpos = 2 * pos + 1;\n\t\t }\n\t\t array[pos] = newitem;\n\t\t return _siftdown(array, startpos, pos, cmp);\n\t\t };\n\n\t\t Heap = (function() {\n\t\t Heap.push = heappush;\n\n\t\t Heap.pop = heappop;\n\n\t\t Heap.replace = heapreplace;\n\n\t\t Heap.pushpop = heappushpop;\n\n\t\t Heap.heapify = heapify;\n\n\t\t Heap.updateItem = updateItem;\n\n\t\t Heap.nlargest = nlargest;\n\n\t\t Heap.nsmallest = nsmallest;\n\n\t\t function Heap(cmp) {\n\t\t this.cmp = cmp != null ? cmp : defaultCmp;\n\t\t this.nodes = [];\n\t\t }\n\n\t\t Heap.prototype.push = function(x) {\n\t\t return heappush(this.nodes, x, this.cmp);\n\t\t };\n\n\t\t Heap.prototype.pop = function() {\n\t\t return heappop(this.nodes, this.cmp);\n\t\t };\n\n\t\t Heap.prototype.peek = function() {\n\t\t return this.nodes[0];\n\t\t };\n\n\t\t Heap.prototype.contains = function(x) {\n\t\t return this.nodes.indexOf(x) !== -1;\n\t\t };\n\n\t\t Heap.prototype.replace = function(x) {\n\t\t return heapreplace(this.nodes, x, this.cmp);\n\t\t };\n\n\t\t Heap.prototype.pushpop = function(x) {\n\t\t return heappushpop(this.nodes, x, this.cmp);\n\t\t };\n\n\t\t Heap.prototype.heapify = function() {\n\t\t return heapify(this.nodes, this.cmp);\n\t\t };\n\n\t\t Heap.prototype.updateItem = function(x) {\n\t\t return updateItem(this.nodes, x, this.cmp);\n\t\t };\n\n\t\t Heap.prototype.clear = function() {\n\t\t return this.nodes = [];\n\t\t };\n\n\t\t Heap.prototype.empty = function() {\n\t\t return this.nodes.length === 0;\n\t\t };\n\n\t\t Heap.prototype.size = function() {\n\t\t return this.nodes.length;\n\t\t };\n\n\t\t Heap.prototype.clone = function() {\n\t\t var heap;\n\t\t heap = new Heap();\n\t\t heap.nodes = this.nodes.slice(0);\n\t\t return heap;\n\t\t };\n\n\t\t Heap.prototype.toArray = function() {\n\t\t return this.nodes.slice(0);\n\t\t };\n\n\t\t Heap.prototype.insert = Heap.prototype.push;\n\n\t\t Heap.prototype.top = Heap.prototype.peek;\n\n\t\t Heap.prototype.front = Heap.prototype.peek;\n\n\t\t Heap.prototype.has = Heap.prototype.contains;\n\n\t\t Heap.prototype.copy = Heap.prototype.clone;\n\n\t\t return Heap;\n\n\t\t })();\n\n\t\t (function(root, factory) {\n\t\t {\n\t\t return module.exports = factory();\n\t\t }\n\t\t })(this, function() {\n\t\t return Heap;\n\t\t });\n\n\t\t}).call(heap$1); \n\t} (heap$2));\n\treturn heap$2.exports;\n}\n\nvar heap;\nvar hasRequiredHeap;\n\nfunction requireHeap () {\n\tif (hasRequiredHeap) return heap;\n\thasRequiredHeap = 1;\n\theap = requireHeap$1();\n\treturn heap;\n}\n\nvar heapExports = requireHeap();\nvar Heap = /*@__PURE__*/getDefaultExportFromCjs(heapExports);\n\nvar dijkstraDefaults = defaults$g({\n root: null,\n weight: function weight(edge) {\n return 1;\n },\n directed: false\n});\nvar elesfn$u = {\n dijkstra: function dijkstra(options) {\n if (!plainObject(options)) {\n var args = arguments;\n options = {\n root: args[0],\n weight: args[1],\n directed: args[2]\n };\n }\n var _dijkstraDefaults = dijkstraDefaults(options),\n root = _dijkstraDefaults.root,\n weight = _dijkstraDefaults.weight,\n directed = _dijkstraDefaults.directed;\n var eles = this;\n var weightFn = weight;\n var source = string(root) ? this.filter(root)[0] : root[0];\n var dist = {};\n var prev = {};\n var knownDist = {};\n var _this$byGroup = this.byGroup(),\n nodes = _this$byGroup.nodes,\n edges = _this$byGroup.edges;\n edges.unmergeBy(function (ele) {\n return ele.isLoop();\n });\n var getDist = function getDist(node) {\n return dist[node.id()];\n };\n var setDist = function setDist(node, d) {\n dist[node.id()] = d;\n Q.updateItem(node);\n };\n var Q = new Heap(function (a, b) {\n return getDist(a) - getDist(b);\n });\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n dist[node.id()] = node.same(source) ? 0 : Infinity;\n Q.push(node);\n }\n var distBetween = function distBetween(u, v) {\n var uvs = (directed ? u.edgesTo(v) : u.edgesWith(v)).intersect(edges);\n var smallestDistance = Infinity;\n var smallestEdge;\n for (var _i = 0; _i < uvs.length; _i++) {\n var edge = uvs[_i];\n var _weight = weightFn(edge);\n if (_weight < smallestDistance || !smallestEdge) {\n smallestDistance = _weight;\n smallestEdge = edge;\n }\n }\n return {\n edge: smallestEdge,\n dist: smallestDistance\n };\n };\n while (Q.size() > 0) {\n var u = Q.pop();\n var smalletsDist = getDist(u);\n var uid = u.id();\n knownDist[uid] = smalletsDist;\n if (smalletsDist === Infinity) {\n continue;\n }\n var neighbors = u.neighborhood().intersect(nodes);\n for (var _i2 = 0; _i2 < neighbors.length; _i2++) {\n var v = neighbors[_i2];\n var vid = v.id();\n var vDist = distBetween(u, v);\n var alt = smalletsDist + vDist.dist;\n if (alt < getDist(v)) {\n setDist(v, alt);\n prev[vid] = {\n node: u,\n edge: vDist.edge\n };\n }\n } // for\n } // while\n\n return {\n distanceTo: function distanceTo(node) {\n var target = string(node) ? nodes.filter(node)[0] : node[0];\n return knownDist[target.id()];\n },\n pathTo: function pathTo(node) {\n var target = string(node) ? nodes.filter(node)[0] : node[0];\n var S = [];\n var u = target;\n var uid = u.id();\n if (target.length > 0) {\n S.unshift(target);\n while (prev[uid]) {\n var p = prev[uid];\n S.unshift(p.edge);\n S.unshift(p.node);\n u = p.node;\n uid = u.id();\n }\n }\n return eles.spawn(S);\n }\n };\n }\n};\n\nvar elesfn$t = {\n // kruskal's algorithm (finds min spanning tree, assuming undirected graph)\n // implemented from pseudocode from wikipedia\n kruskal: function kruskal(weightFn) {\n weightFn = weightFn || function (edge) {\n return 1;\n };\n var _this$byGroup = this.byGroup(),\n nodes = _this$byGroup.nodes,\n edges = _this$byGroup.edges;\n var numNodes = nodes.length;\n var forest = new Array(numNodes);\n var A = nodes; // assumes byGroup() creates new collections that can be safely mutated\n\n var findSetIndex = function findSetIndex(ele) {\n for (var i = 0; i < forest.length; i++) {\n var eles = forest[i];\n if (eles.has(ele)) {\n return i;\n }\n }\n };\n\n // start with one forest per node\n for (var i = 0; i < numNodes; i++) {\n forest[i] = this.spawn(nodes[i]);\n }\n var S = edges.sort(function (a, b) {\n return weightFn(a) - weightFn(b);\n });\n for (var _i = 0; _i < S.length; _i++) {\n var edge = S[_i];\n var u = edge.source()[0];\n var v = edge.target()[0];\n var setUIndex = findSetIndex(u);\n var setVIndex = findSetIndex(v);\n var setU = forest[setUIndex];\n var setV = forest[setVIndex];\n if (setUIndex !== setVIndex) {\n A.merge(edge);\n\n // combine forests for u and v\n setU.merge(setV);\n forest.splice(setVIndex, 1);\n }\n }\n return A;\n }\n};\n\nvar aStarDefaults = defaults$g({\n root: null,\n goal: null,\n weight: function weight(edge) {\n return 1;\n },\n heuristic: function heuristic(edge) {\n return 0;\n },\n directed: false\n});\nvar elesfn$s = {\n // Implemented from pseudocode from wikipedia\n aStar: function aStar(options) {\n var cy = this.cy();\n var _aStarDefaults = aStarDefaults(options),\n root = _aStarDefaults.root,\n goal = _aStarDefaults.goal,\n heuristic = _aStarDefaults.heuristic,\n directed = _aStarDefaults.directed,\n weight = _aStarDefaults.weight;\n root = cy.collection(root)[0];\n goal = cy.collection(goal)[0];\n var sid = root.id();\n var tid = goal.id();\n var gScore = {};\n var fScore = {};\n var closedSetIds = {};\n var openSet = new Heap(function (a, b) {\n return fScore[a.id()] - fScore[b.id()];\n });\n var openSetIds = new Set$1();\n var cameFrom = {};\n var cameFromEdge = {};\n var addToOpenSet = function addToOpenSet(ele, id) {\n openSet.push(ele);\n openSetIds.add(id);\n };\n var cMin, cMinId;\n var popFromOpenSet = function popFromOpenSet() {\n cMin = openSet.pop();\n cMinId = cMin.id();\n openSetIds[\"delete\"](cMinId);\n };\n var isInOpenSet = function isInOpenSet(id) {\n return openSetIds.has(id);\n };\n addToOpenSet(root, sid);\n gScore[sid] = 0;\n fScore[sid] = heuristic(root);\n\n // Counter\n var steps = 0;\n\n // Main loop\n while (openSet.size() > 0) {\n popFromOpenSet();\n steps++;\n\n // If we've found our goal, then we are done\n if (cMinId === tid) {\n var path = [];\n var pathNode = goal;\n var pathNodeId = tid;\n var pathEdge = cameFromEdge[pathNodeId];\n for (;;) {\n path.unshift(pathNode);\n if (pathEdge != null) {\n path.unshift(pathEdge);\n }\n pathNode = cameFrom[pathNodeId];\n if (pathNode == null) {\n break;\n }\n pathNodeId = pathNode.id();\n pathEdge = cameFromEdge[pathNodeId];\n }\n return {\n found: true,\n distance: gScore[cMinId],\n path: this.spawn(path),\n steps: steps\n };\n }\n\n // Add cMin to processed nodes\n closedSetIds[cMinId] = true;\n\n // Update scores for neighbors of cMin\n // Take into account if graph is directed or not\n var vwEdges = cMin._private.edges;\n for (var i = 0; i < vwEdges.length; i++) {\n var e = vwEdges[i];\n\n // edge must be in set of calling eles\n if (!this.hasElementWithId(e.id())) {\n continue;\n }\n\n // cMin must be the source of edge if directed\n if (directed && e.data('source') !== cMinId) {\n continue;\n }\n var wSrc = e.source();\n var wTgt = e.target();\n var w = wSrc.id() !== cMinId ? wSrc : wTgt;\n var wid = w.id();\n\n // node must be in set of calling eles\n if (!this.hasElementWithId(wid)) {\n continue;\n }\n\n // if node is in closedSet, ignore it\n if (closedSetIds[wid]) {\n continue;\n }\n\n // New tentative score for node w\n var tempScore = gScore[cMinId] + weight(e);\n\n // Update gScore for node w if:\n // w not present in openSet\n // OR\n // tentative gScore is less than previous value\n\n // w not in openSet\n if (!isInOpenSet(wid)) {\n gScore[wid] = tempScore;\n fScore[wid] = tempScore + heuristic(w);\n addToOpenSet(w, wid);\n cameFrom[wid] = cMin;\n cameFromEdge[wid] = e;\n continue;\n }\n\n // w already in openSet, but with greater gScore\n if (tempScore < gScore[wid]) {\n gScore[wid] = tempScore;\n fScore[wid] = tempScore + heuristic(w);\n cameFrom[wid] = cMin;\n cameFromEdge[wid] = e;\n }\n } // End of neighbors update\n } // End of main loop\n\n // If we've reached here, then we've not reached our goal\n return {\n found: false,\n distance: undefined,\n path: undefined,\n steps: steps\n };\n }\n}; // elesfn\n\nvar floydWarshallDefaults = defaults$g({\n weight: function weight(edge) {\n return 1;\n },\n directed: false\n});\nvar elesfn$r = {\n // Implemented from pseudocode from wikipedia\n floydWarshall: function floydWarshall(options) {\n var cy = this.cy();\n var _floydWarshallDefault = floydWarshallDefaults(options),\n weight = _floydWarshallDefault.weight,\n directed = _floydWarshallDefault.directed;\n var weightFn = weight;\n var _this$byGroup = this.byGroup(),\n nodes = _this$byGroup.nodes,\n edges = _this$byGroup.edges;\n var N = nodes.length;\n var Nsq = N * N;\n var indexOf = function indexOf(node) {\n return nodes.indexOf(node);\n };\n var atIndex = function atIndex(i) {\n return nodes[i];\n };\n\n // Initialize distance matrix\n var dist = new Array(Nsq);\n for (var n = 0; n < Nsq; n++) {\n var j = n % N;\n var i = (n - j) / N;\n if (i === j) {\n dist[n] = 0;\n } else {\n dist[n] = Infinity;\n }\n }\n\n // Initialize matrix used for path reconstruction\n // Initialize distance matrix\n var next = new Array(Nsq);\n var edgeNext = new Array(Nsq);\n\n // Process edges\n for (var _i = 0; _i < edges.length; _i++) {\n var edge = edges[_i];\n var src = edge.source()[0];\n var tgt = edge.target()[0];\n if (src === tgt) {\n continue;\n } // exclude loops\n\n var s = indexOf(src);\n var t = indexOf(tgt);\n var st = s * N + t; // source to target index\n var _weight = weightFn(edge);\n\n // Check if already process another edge between same 2 nodes\n if (dist[st] > _weight) {\n dist[st] = _weight;\n next[st] = t;\n edgeNext[st] = edge;\n }\n\n // If undirected graph, process 'reversed' edge\n if (!directed) {\n var ts = t * N + s; // target to source index\n\n if (!directed && dist[ts] > _weight) {\n dist[ts] = _weight;\n next[ts] = s;\n edgeNext[ts] = edge;\n }\n }\n }\n\n // Main loop\n for (var k = 0; k < N; k++) {\n for (var _i2 = 0; _i2 < N; _i2++) {\n var ik = _i2 * N + k;\n for (var _j = 0; _j < N; _j++) {\n var ij = _i2 * N + _j;\n var kj = k * N + _j;\n if (dist[ik] + dist[kj] < dist[ij]) {\n dist[ij] = dist[ik] + dist[kj];\n next[ij] = next[ik];\n }\n }\n }\n }\n var getArgEle = function getArgEle(ele) {\n return (string(ele) ? cy.filter(ele) : ele)[0];\n };\n var indexOfArgEle = function indexOfArgEle(ele) {\n return indexOf(getArgEle(ele));\n };\n var res = {\n distance: function distance(from, to) {\n var i = indexOfArgEle(from);\n var j = indexOfArgEle(to);\n return dist[i * N + j];\n },\n path: function path(from, to) {\n var i = indexOfArgEle(from);\n var j = indexOfArgEle(to);\n var fromNode = atIndex(i);\n if (i === j) {\n return fromNode.collection();\n }\n if (next[i * N + j] == null) {\n return cy.collection();\n }\n var path = cy.collection();\n var prev = i;\n var edge;\n path.merge(fromNode);\n while (i !== j) {\n prev = i;\n i = next[i * N + j];\n edge = edgeNext[prev * N + i];\n path.merge(edge);\n path.merge(atIndex(i));\n }\n return path;\n }\n };\n return res;\n } // floydWarshall\n}; // elesfn\n\nvar bellmanFordDefaults = defaults$g({\n weight: function weight(edge) {\n return 1;\n },\n directed: false,\n root: null\n});\nvar elesfn$q = {\n // Implemented from pseudocode from wikipedia\n bellmanFord: function bellmanFord(options) {\n var _this = this;\n var _bellmanFordDefaults = bellmanFordDefaults(options),\n weight = _bellmanFordDefaults.weight,\n directed = _bellmanFordDefaults.directed,\n root = _bellmanFordDefaults.root;\n var weightFn = weight;\n var eles = this;\n var cy = this.cy();\n var _this$byGroup = this.byGroup(),\n edges = _this$byGroup.edges,\n nodes = _this$byGroup.nodes;\n var numNodes = nodes.length;\n var infoMap = new Map$1();\n var hasNegativeWeightCycle = false;\n var negativeWeightCycles = [];\n root = cy.collection(root)[0]; // in case selector passed\n\n edges.unmergeBy(function (edge) {\n return edge.isLoop();\n });\n var numEdges = edges.length;\n var getInfo = function getInfo(node) {\n var obj = infoMap.get(node.id());\n if (!obj) {\n obj = {};\n infoMap.set(node.id(), obj);\n }\n return obj;\n };\n var getNodeFromTo = function getNodeFromTo(to) {\n return (string(to) ? cy.$(to) : to)[0];\n };\n var distanceTo = function distanceTo(to) {\n return getInfo(getNodeFromTo(to)).dist;\n };\n var pathTo = function pathTo(to) {\n var thisStart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : root;\n var end = getNodeFromTo(to);\n var path = [];\n var node = end;\n for (;;) {\n if (node == null) {\n return _this.spawn();\n }\n var _getInfo = getInfo(node),\n edge = _getInfo.edge,\n pred = _getInfo.pred;\n path.unshift(node[0]);\n if (node.same(thisStart) && path.length > 0) {\n break;\n }\n if (edge != null) {\n path.unshift(edge);\n }\n node = pred;\n }\n return eles.spawn(path);\n };\n\n // Initializations { dist, pred, edge }\n for (var i = 0; i < numNodes; i++) {\n var node = nodes[i];\n var info = getInfo(node);\n if (node.same(root)) {\n info.dist = 0;\n } else {\n info.dist = Infinity;\n }\n info.pred = null;\n info.edge = null;\n }\n\n // Edges relaxation\n var replacedEdge = false;\n var checkForEdgeReplacement = function checkForEdgeReplacement(node1, node2, edge, info1, info2, weight) {\n var dist = info1.dist + weight;\n if (dist < info2.dist && !edge.same(info1.edge)) {\n info2.dist = dist;\n info2.pred = node1;\n info2.edge = edge;\n replacedEdge = true;\n }\n };\n for (var _i = 1; _i < numNodes; _i++) {\n replacedEdge = false;\n for (var e = 0; e < numEdges; e++) {\n var edge = edges[e];\n var src = edge.source();\n var tgt = edge.target();\n var _weight = weightFn(edge);\n var srcInfo = getInfo(src);\n var tgtInfo = getInfo(tgt);\n checkForEdgeReplacement(src, tgt, edge, srcInfo, tgtInfo, _weight);\n\n // If undirected graph, we need to take into account the 'reverse' edge\n if (!directed) {\n checkForEdgeReplacement(tgt, src, edge, tgtInfo, srcInfo, _weight);\n }\n }\n if (!replacedEdge) {\n break;\n }\n }\n if (replacedEdge) {\n // Check for negative weight cycles\n var negativeWeightCycleIds = [];\n for (var _e = 0; _e < numEdges; _e++) {\n var _edge = edges[_e];\n var _src = _edge.source();\n var _tgt = _edge.target();\n var _weight2 = weightFn(_edge);\n var srcDist = getInfo(_src).dist;\n var tgtDist = getInfo(_tgt).dist;\n if (srcDist + _weight2 < tgtDist || !directed && tgtDist + _weight2 < srcDist) {\n if (!hasNegativeWeightCycle) {\n warn('Graph contains a negative weight cycle for Bellman-Ford');\n hasNegativeWeightCycle = true;\n }\n if (options.findNegativeWeightCycles !== false) {\n var negativeNodes = [];\n if (srcDist + _weight2 < tgtDist) {\n negativeNodes.push(_src);\n }\n if (!directed && tgtDist + _weight2 < srcDist) {\n negativeNodes.push(_tgt);\n }\n var numNegativeNodes = negativeNodes.length;\n for (var n = 0; n < numNegativeNodes; n++) {\n var start = negativeNodes[n];\n var cycle = [start];\n cycle.push(getInfo(start).edge);\n var _node = getInfo(start).pred;\n while (cycle.indexOf(_node) === -1) {\n cycle.push(_node);\n cycle.push(getInfo(_node).edge);\n _node = getInfo(_node).pred;\n }\n cycle = cycle.slice(cycle.indexOf(_node));\n var smallestId = cycle[0].id();\n var smallestIndex = 0;\n for (var c = 2; c < cycle.length; c += 2) {\n if (cycle[c].id() < smallestId) {\n smallestId = cycle[c].id();\n smallestIndex = c;\n }\n }\n cycle = cycle.slice(smallestIndex).concat(cycle.slice(0, smallestIndex));\n cycle.push(cycle[0]);\n var cycleId = cycle.map(function (el) {\n return el.id();\n }).join(\",\");\n if (negativeWeightCycleIds.indexOf(cycleId) === -1) {\n negativeWeightCycles.push(eles.spawn(cycle));\n negativeWeightCycleIds.push(cycleId);\n }\n }\n } else {\n break;\n }\n }\n }\n }\n return {\n distanceTo: distanceTo,\n pathTo: pathTo,\n hasNegativeWeightCycle: hasNegativeWeightCycle,\n negativeWeightCycles: negativeWeightCycles\n };\n } // bellmanFord\n}; // elesfn\n\nvar sqrt2 = Math.sqrt(2);\n\n// Function which colapses 2 (meta) nodes into one\n// Updates the remaining edge lists\n// Receives as a paramater the edge which causes the collapse\nvar collapse = function collapse(edgeIndex, nodeMap, remainingEdges) {\n if (remainingEdges.length === 0) {\n error(\"Karger-Stein must be run on a connected (sub)graph\");\n }\n var edgeInfo = remainingEdges[edgeIndex];\n var sourceIn = edgeInfo[1];\n var targetIn = edgeInfo[2];\n var partition1 = nodeMap[sourceIn];\n var partition2 = nodeMap[targetIn];\n var newEdges = remainingEdges; // re-use array\n\n // Delete all edges between partition1 and partition2\n for (var i = newEdges.length - 1; i >= 0; i--) {\n var edge = newEdges[i];\n var src = edge[1];\n var tgt = edge[2];\n if (nodeMap[src] === partition1 && nodeMap[tgt] === partition2 || nodeMap[src] === partition2 && nodeMap[tgt] === partition1) {\n newEdges.splice(i, 1);\n }\n }\n\n // All edges pointing to partition2 should now point to partition1\n for (var _i = 0; _i < newEdges.length; _i++) {\n var _edge = newEdges[_i];\n if (_edge[1] === partition2) {\n // Check source\n newEdges[_i] = _edge.slice(); // copy\n newEdges[_i][1] = partition1;\n } else if (_edge[2] === partition2) {\n // Check target\n newEdges[_i] = _edge.slice(); // copy\n newEdges[_i][2] = partition1;\n }\n }\n\n // Move all nodes from partition2 to partition1\n for (var _i2 = 0; _i2 < nodeMap.length; _i2++) {\n if (nodeMap[_i2] === partition2) {\n nodeMap[_i2] = partition1;\n }\n }\n return newEdges;\n};\n\n// Contracts a graph until we reach a certain number of meta nodes\nvar contractUntil = function contractUntil(metaNodeMap, remainingEdges, size, sizeLimit) {\n while (size > sizeLimit) {\n // Choose an edge randomly\n var edgeIndex = Math.floor(Math.random() * remainingEdges.length);\n\n // Collapse graph based on edge\n remainingEdges = collapse(edgeIndex, metaNodeMap, remainingEdges);\n size--;\n }\n return remainingEdges;\n};\nvar elesfn$p = {\n // Computes the minimum cut of an undirected graph\n // Returns the correct answer with high probability\n kargerStein: function kargerStein() {\n var _this = this;\n var _this$byGroup = this.byGroup(),\n nodes = _this$byGroup.nodes,\n edges = _this$byGroup.edges;\n edges.unmergeBy(function (edge) {\n return edge.isLoop();\n });\n var numNodes = nodes.length;\n var numEdges = edges.length;\n var numIter = Math.ceil(Math.pow(Math.log(numNodes) / Math.LN2, 2));\n var stopSize = Math.floor(numNodes / sqrt2);\n if (numNodes < 2) {\n error('At least 2 nodes are required for Karger-Stein algorithm');\n return undefined;\n }\n\n // Now store edge destination as indexes\n // Format for each edge (edge index, source node index, target node index)\n var edgeIndexes = [];\n for (var i = 0; i < numEdges; i++) {\n var e = edges[i];\n edgeIndexes.push([i, nodes.indexOf(e.source()), nodes.indexOf(e.target())]);\n }\n\n // We will store the best cut found here\n var minCutSize = Infinity;\n var minCutEdgeIndexes = [];\n var minCutNodeMap = new Array(numNodes);\n\n // Initial meta node partition\n var metaNodeMap = new Array(numNodes);\n var metaNodeMap2 = new Array(numNodes);\n var copyNodesMap = function copyNodesMap(from, to) {\n for (var _i3 = 0; _i3 < numNodes; _i3++) {\n to[_i3] = from[_i3];\n }\n };\n\n // Main loop\n for (var iter = 0; iter <= numIter; iter++) {\n // Reset meta node partition\n for (var _i4 = 0; _i4 < numNodes; _i4++) {\n metaNodeMap[_i4] = _i4;\n }\n\n // Contract until stop point (stopSize nodes)\n var edgesState = contractUntil(metaNodeMap, edgeIndexes.slice(), numNodes, stopSize);\n var edgesState2 = edgesState.slice(); // copy\n\n // Create a copy of the colapsed nodes state\n copyNodesMap(metaNodeMap, metaNodeMap2);\n\n // Run 2 iterations starting in the stop state\n var res1 = contractUntil(metaNodeMap, edgesState, stopSize, 2);\n var res2 = contractUntil(metaNodeMap2, edgesState2, stopSize, 2);\n\n // Is any of the 2 results the best cut so far?\n if (res1.length <= res2.length && res1.length < minCutSize) {\n minCutSize = res1.length;\n minCutEdgeIndexes = res1;\n copyNodesMap(metaNodeMap, minCutNodeMap);\n } else if (res2.length <= res1.length && res2.length < minCutSize) {\n minCutSize = res2.length;\n minCutEdgeIndexes = res2;\n copyNodesMap(metaNodeMap2, minCutNodeMap);\n }\n } // end of main loop\n\n // Construct result\n var cut = this.spawn(minCutEdgeIndexes.map(function (e) {\n return edges[e[0]];\n }));\n var partition1 = this.spawn();\n var partition2 = this.spawn();\n\n // traverse metaNodeMap for best cut\n var witnessNodePartition = minCutNodeMap[0];\n for (var _i5 = 0; _i5 < minCutNodeMap.length; _i5++) {\n var partitionId = minCutNodeMap[_i5];\n var node = nodes[_i5];\n if (partitionId === witnessNodePartition) {\n partition1.merge(node);\n } else {\n partition2.merge(node);\n }\n }\n\n // construct components corresponding to each disjoint subset of nodes\n var constructComponent = function constructComponent(subset) {\n var component = _this.spawn();\n subset.forEach(function (node) {\n component.merge(node);\n node.connectedEdges().forEach(function (edge) {\n // ensure edge is within calling collection and edge is not in cut\n if (_this.contains(edge) && !cut.contains(edge)) {\n component.merge(edge);\n }\n });\n });\n return component;\n };\n var components = [constructComponent(partition1), constructComponent(partition2)];\n var ret = {\n cut: cut,\n components: components,\n // n.b. partitions are included to be compatible with the old api spec\n // (could be removed in a future major version)\n partition1: partition1,\n partition2: partition2\n };\n return ret;\n }\n}; // elesfn\n\nvar copyPosition = function copyPosition(p) {\n return {\n x: p.x,\n y: p.y\n };\n};\nvar modelToRenderedPosition$1 = function modelToRenderedPosition(p, zoom, pan) {\n return {\n x: p.x * zoom + pan.x,\n y: p.y * zoom + pan.y\n };\n};\nvar renderedToModelPosition = function renderedToModelPosition(p, zoom, pan) {\n return {\n x: (p.x - pan.x) / zoom,\n y: (p.y - pan.y) / zoom\n };\n};\nvar array2point = function array2point(arr) {\n return {\n x: arr[0],\n y: arr[1]\n };\n};\nvar min = function min(arr) {\n var begin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : arr.length;\n var min = Infinity;\n for (var i = begin; i < end; i++) {\n var val = arr[i];\n if (isFinite(val)) {\n min = Math.min(val, min);\n }\n }\n return min;\n};\nvar max = function max(arr) {\n var begin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : arr.length;\n var max = -Infinity;\n for (var i = begin; i < end; i++) {\n var val = arr[i];\n if (isFinite(val)) {\n max = Math.max(val, max);\n }\n }\n return max;\n};\nvar mean = function mean(arr) {\n var begin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : arr.length;\n var total = 0;\n var n = 0;\n for (var i = begin; i < end; i++) {\n var val = arr[i];\n if (isFinite(val)) {\n total += val;\n n++;\n }\n }\n return total / n;\n};\nvar median = function median(arr) {\n var begin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : arr.length;\n var copy = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var sort = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var includeHoles = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;\n if (copy) {\n arr = arr.slice(begin, end);\n } else {\n if (end < arr.length) {\n arr.splice(end, arr.length - end);\n }\n if (begin > 0) {\n arr.splice(0, begin);\n }\n }\n\n // all non finite (e.g. Infinity, NaN) elements must be -Infinity so they go to the start\n var off = 0; // offset from non-finite values\n for (var i = arr.length - 1; i >= 0; i--) {\n var v = arr[i];\n if (includeHoles) {\n if (!isFinite(v)) {\n arr[i] = -Infinity;\n off++;\n }\n } else {\n // just remove it if we don't want to consider holes\n arr.splice(i, 1);\n }\n }\n if (sort) {\n arr.sort(function (a, b) {\n return a - b;\n }); // requires copy = true if you don't want to change the orig\n }\n var len = arr.length;\n var mid = Math.floor(len / 2);\n if (len % 2 !== 0) {\n return arr[mid + 1 + off];\n } else {\n return (arr[mid - 1 + off] + arr[mid + off]) / 2;\n }\n};\nvar deg2rad = function deg2rad(deg) {\n return Math.PI * deg / 180;\n};\nvar getAngleFromDisp = function getAngleFromDisp(dispX, dispY) {\n return Math.atan2(dispY, dispX) - Math.PI / 2;\n};\nvar log2 = Math.log2 || function (n) {\n return Math.log(n) / Math.log(2);\n};\nvar signum = function signum(x) {\n if (x > 0) {\n return 1;\n } else if (x < 0) {\n return -1;\n } else {\n return 0;\n }\n};\nvar dist = function dist(p1, p2) {\n return Math.sqrt(sqdist(p1, p2));\n};\nvar sqdist = function sqdist(p1, p2) {\n var dx = p2.x - p1.x;\n var dy = p2.y - p1.y;\n return dx * dx + dy * dy;\n};\nvar inPlaceSumNormalize = function inPlaceSumNormalize(v) {\n var length = v.length;\n\n // First, get sum of all elements\n var total = 0;\n for (var i = 0; i < length; i++) {\n total += v[i];\n }\n\n // Now, divide each by the sum of all elements\n for (var _i = 0; _i < length; _i++) {\n v[_i] = v[_i] / total;\n }\n return v;\n};\n\n// from http://en.wikipedia.org/wiki/Bézier_curve#Quadratic_curves\nvar qbezierAt = function qbezierAt(p0, p1, p2, t) {\n return (1 - t) * (1 - t) * p0 + 2 * (1 - t) * t * p1 + t * t * p2;\n};\nvar qbezierPtAt = function qbezierPtAt(p0, p1, p2, t) {\n return {\n x: qbezierAt(p0.x, p1.x, p2.x, t),\n y: qbezierAt(p0.y, p1.y, p2.y, t)\n };\n};\nvar lineAt = function lineAt(p0, p1, t, d) {\n var vec = {\n x: p1.x - p0.x,\n y: p1.y - p0.y\n };\n var vecDist = dist(p0, p1);\n var normVec = {\n x: vec.x / vecDist,\n y: vec.y / vecDist\n };\n t = t == null ? 0 : t;\n d = d != null ? d : t * vecDist;\n return {\n x: p0.x + normVec.x * d,\n y: p0.y + normVec.y * d\n };\n};\nvar bound = function bound(min, val, max) {\n return Math.max(min, Math.min(max, val));\n};\n\n// makes a full bb (x1, y1, x2, y2, w, h) from implicit params\nvar makeBoundingBox = function makeBoundingBox(bb) {\n if (bb == null) {\n return {\n x1: Infinity,\n y1: Infinity,\n x2: -Infinity,\n y2: -Infinity,\n w: 0,\n h: 0\n };\n } else if (bb.x1 != null && bb.y1 != null) {\n if (bb.x2 != null && bb.y2 != null && bb.x2 >= bb.x1 && bb.y2 >= bb.y1) {\n return {\n x1: bb.x1,\n y1: bb.y1,\n x2: bb.x2,\n y2: bb.y2,\n w: bb.x2 - bb.x1,\n h: bb.y2 - bb.y1\n };\n } else if (bb.w != null && bb.h != null && bb.w >= 0 && bb.h >= 0) {\n return {\n x1: bb.x1,\n y1: bb.y1,\n x2: bb.x1 + bb.w,\n y2: bb.y1 + bb.h,\n w: bb.w,\n h: bb.h\n };\n }\n }\n};\nvar copyBoundingBox = function copyBoundingBox(bb) {\n return {\n x1: bb.x1,\n x2: bb.x2,\n w: bb.w,\n y1: bb.y1,\n y2: bb.y2,\n h: bb.h\n };\n};\nvar clearBoundingBox = function clearBoundingBox(bb) {\n bb.x1 = Infinity;\n bb.y1 = Infinity;\n bb.x2 = -Infinity;\n bb.y2 = -Infinity;\n bb.w = 0;\n bb.h = 0;\n};\nvar shiftBoundingBox = function shiftBoundingBox(bb, dx, dy) {\n return {\n x1: bb.x1 + dx,\n x2: bb.x2 + dx,\n y1: bb.y1 + dy,\n y2: bb.y2 + dy,\n w: bb.w,\n h: bb.h\n };\n};\nvar updateBoundingBox = function updateBoundingBox(bb1, bb2) {\n // update bb1 with bb2 bounds\n\n bb1.x1 = Math.min(bb1.x1, bb2.x1);\n bb1.x2 = Math.max(bb1.x2, bb2.x2);\n bb1.w = bb1.x2 - bb1.x1;\n bb1.y1 = Math.min(bb1.y1, bb2.y1);\n bb1.y2 = Math.max(bb1.y2, bb2.y2);\n bb1.h = bb1.y2 - bb1.y1;\n};\nvar expandBoundingBoxByPoint = function expandBoundingBoxByPoint(bb, x, y) {\n bb.x1 = Math.min(bb.x1, x);\n bb.x2 = Math.max(bb.x2, x);\n bb.w = bb.x2 - bb.x1;\n bb.y1 = Math.min(bb.y1, y);\n bb.y2 = Math.max(bb.y2, y);\n bb.h = bb.y2 - bb.y1;\n};\nvar expandBoundingBox = function expandBoundingBox(bb) {\n var padding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n bb.x1 -= padding;\n bb.x2 += padding;\n bb.y1 -= padding;\n bb.y2 += padding;\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n return bb;\n};\nvar expandBoundingBoxSides = function expandBoundingBoxSides(bb) {\n var padding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0];\n var top, right, bottom, left;\n if (padding.length === 1) {\n top = right = bottom = left = padding[0];\n } else if (padding.length === 2) {\n top = bottom = padding[0];\n left = right = padding[1];\n } else if (padding.length === 4) {\n var _padding = _slicedToArray(padding, 4);\n top = _padding[0];\n right = _padding[1];\n bottom = _padding[2];\n left = _padding[3];\n }\n bb.x1 -= left;\n bb.x2 += right;\n bb.y1 -= top;\n bb.y2 += bottom;\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n return bb;\n};\n\n// assign the values of bb2 into bb1\nvar assignBoundingBox = function assignBoundingBox(bb1, bb2) {\n bb1.x1 = bb2.x1;\n bb1.y1 = bb2.y1;\n bb1.x2 = bb2.x2;\n bb1.y2 = bb2.y2;\n bb1.w = bb1.x2 - bb1.x1;\n bb1.h = bb1.y2 - bb1.y1;\n};\nvar boundingBoxesIntersect = function boundingBoxesIntersect(bb1, bb2) {\n // case: one bb to right of other\n if (bb1.x1 > bb2.x2) {\n return false;\n }\n if (bb2.x1 > bb1.x2) {\n return false;\n }\n\n // case: one bb to left of other\n if (bb1.x2 < bb2.x1) {\n return false;\n }\n if (bb2.x2 < bb1.x1) {\n return false;\n }\n\n // case: one bb above other\n if (bb1.y2 < bb2.y1) {\n return false;\n }\n if (bb2.y2 < bb1.y1) {\n return false;\n }\n\n // case: one bb below other\n if (bb1.y1 > bb2.y2) {\n return false;\n }\n if (bb2.y1 > bb1.y2) {\n return false;\n }\n\n // otherwise, must have some overlap\n return true;\n};\nvar inBoundingBox = function inBoundingBox(bb, x, y) {\n return bb.x1 <= x && x <= bb.x2 && bb.y1 <= y && y <= bb.y2;\n};\nvar pointInBoundingBox = function pointInBoundingBox(bb, pt) {\n return inBoundingBox(bb, pt.x, pt.y);\n};\nvar boundingBoxInBoundingBox = function boundingBoxInBoundingBox(bb1, bb2) {\n return inBoundingBox(bb1, bb2.x1, bb2.y1) && inBoundingBox(bb1, bb2.x2, bb2.y2);\n};\nvar roundRectangleIntersectLine = function roundRectangleIntersectLine(x, y, nodeX, nodeY, width, height, padding) {\n var radius = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'auto';\n var cornerRadius = radius === 'auto' ? getRoundRectangleRadius(width, height) : radius;\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n cornerRadius = Math.min(cornerRadius, halfWidth, halfHeight);\n var doWidth = cornerRadius !== halfWidth,\n doHeight = cornerRadius !== halfHeight;\n\n // Check intersections with straight line segments\n var straightLineIntersections;\n\n // Top segment, left to right\n if (doWidth) {\n var topStartX = nodeX - halfWidth + cornerRadius - padding;\n var topStartY = nodeY - halfHeight - padding;\n var topEndX = nodeX + halfWidth - cornerRadius + padding;\n var topEndY = topStartY;\n straightLineIntersections = finiteLinesIntersect(x, y, nodeX, nodeY, topStartX, topStartY, topEndX, topEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n\n // Right segment, top to bottom\n if (doHeight) {\n var rightStartX = nodeX + halfWidth + padding;\n var rightStartY = nodeY - halfHeight + cornerRadius - padding;\n var rightEndX = rightStartX;\n var rightEndY = nodeY + halfHeight - cornerRadius + padding;\n straightLineIntersections = finiteLinesIntersect(x, y, nodeX, nodeY, rightStartX, rightStartY, rightEndX, rightEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n\n // Bottom segment, left to right\n if (doWidth) {\n var bottomStartX = nodeX - halfWidth + cornerRadius - padding;\n var bottomStartY = nodeY + halfHeight + padding;\n var bottomEndX = nodeX + halfWidth - cornerRadius + padding;\n var bottomEndY = bottomStartY;\n straightLineIntersections = finiteLinesIntersect(x, y, nodeX, nodeY, bottomStartX, bottomStartY, bottomEndX, bottomEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n\n // Left segment, top to bottom\n if (doHeight) {\n var leftStartX = nodeX - halfWidth - padding;\n var leftStartY = nodeY - halfHeight + cornerRadius - padding;\n var leftEndX = leftStartX;\n var leftEndY = nodeY + halfHeight - cornerRadius + padding;\n straightLineIntersections = finiteLinesIntersect(x, y, nodeX, nodeY, leftStartX, leftStartY, leftEndX, leftEndY, false);\n if (straightLineIntersections.length > 0) {\n return straightLineIntersections;\n }\n }\n\n // Check intersections with arc segments\n var arcIntersections;\n\n // Top Left\n {\n var topLeftCenterX = nodeX - halfWidth + cornerRadius;\n var topLeftCenterY = nodeY - halfHeight + cornerRadius;\n arcIntersections = intersectLineCircle(x, y, nodeX, nodeY, topLeftCenterX, topLeftCenterY, cornerRadius + padding);\n\n // Ensure the intersection is on the desired quarter of the circle\n if (arcIntersections.length > 0 && arcIntersections[0] <= topLeftCenterX && arcIntersections[1] <= topLeftCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n\n // Top Right\n {\n var topRightCenterX = nodeX + halfWidth - cornerRadius;\n var topRightCenterY = nodeY - halfHeight + cornerRadius;\n arcIntersections = intersectLineCircle(x, y, nodeX, nodeY, topRightCenterX, topRightCenterY, cornerRadius + padding);\n\n // Ensure the intersection is on the desired quarter of the circle\n if (arcIntersections.length > 0 && arcIntersections[0] >= topRightCenterX && arcIntersections[1] <= topRightCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n\n // Bottom Right\n {\n var bottomRightCenterX = nodeX + halfWidth - cornerRadius;\n var bottomRightCenterY = nodeY + halfHeight - cornerRadius;\n arcIntersections = intersectLineCircle(x, y, nodeX, nodeY, bottomRightCenterX, bottomRightCenterY, cornerRadius + padding);\n\n // Ensure the intersection is on the desired quarter of the circle\n if (arcIntersections.length > 0 && arcIntersections[0] >= bottomRightCenterX && arcIntersections[1] >= bottomRightCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n\n // Bottom Left\n {\n var bottomLeftCenterX = nodeX - halfWidth + cornerRadius;\n var bottomLeftCenterY = nodeY + halfHeight - cornerRadius;\n arcIntersections = intersectLineCircle(x, y, nodeX, nodeY, bottomLeftCenterX, bottomLeftCenterY, cornerRadius + padding);\n\n // Ensure the intersection is on the desired quarter of the circle\n if (arcIntersections.length > 0 && arcIntersections[0] <= bottomLeftCenterX && arcIntersections[1] >= bottomLeftCenterY) {\n return [arcIntersections[0], arcIntersections[1]];\n }\n }\n return []; // if nothing\n};\nvar inLineVicinity = function inLineVicinity(x, y, lx1, ly1, lx2, ly2, tolerance) {\n var t = tolerance;\n var x1 = Math.min(lx1, lx2);\n var x2 = Math.max(lx1, lx2);\n var y1 = Math.min(ly1, ly2);\n var y2 = Math.max(ly1, ly2);\n return x1 - t <= x && x <= x2 + t && y1 - t <= y && y <= y2 + t;\n};\nvar inBezierVicinity = function inBezierVicinity(x, y, x1, y1, x2, y2, x3, y3, tolerance) {\n var bb = {\n x1: Math.min(x1, x3, x2) - tolerance,\n x2: Math.max(x1, x3, x2) + tolerance,\n y1: Math.min(y1, y3, y2) - tolerance,\n y2: Math.max(y1, y3, y2) + tolerance\n };\n\n // if outside the rough bounding box for the bezier, then it can't be a hit\n if (x < bb.x1 || x > bb.x2 || y < bb.y1 || y > bb.y2) {\n // console.log('bezier out of rough bb')\n return false;\n } else {\n // console.log('do more expensive check');\n return true;\n }\n};\nvar solveQuadratic = function solveQuadratic(a, b, c, val) {\n c -= val;\n var r = b * b - 4 * a * c;\n if (r < 0) {\n return [];\n }\n var sqrtR = Math.sqrt(r);\n var denom = 2 * a;\n var root1 = (-b + sqrtR) / denom;\n var root2 = (-b - sqrtR) / denom;\n return [root1, root2];\n};\nvar solveCubic = function solveCubic(a, b, c, d, result) {\n // Solves a cubic function, returns root in form [r1, i1, r2, i2, r3, i3], where\n // r is the real component, i is the imaginary component\n\n // An implementation of the Cardano method from the year 1545\n // http://en.wikipedia.org/wiki/Cubic_function#The_nature_of_the_roots\n\n var epsilon = 0.00001;\n\n // avoid division by zero while keeping the overall expression close in value\n if (a === 0) {\n a = epsilon;\n }\n b /= a;\n c /= a;\n d /= a;\n var discriminant, q, r, dum1, s, t, term1, r13;\n q = (3.0 * c - b * b) / 9.0;\n r = -(27.0 * d) + b * (9.0 * c - 2.0 * (b * b));\n r /= 54.0;\n discriminant = q * q * q + r * r;\n result[1] = 0;\n term1 = b / 3.0;\n if (discriminant > 0) {\n s = r + Math.sqrt(discriminant);\n s = s < 0 ? -Math.pow(-s, 1.0 / 3.0) : Math.pow(s, 1.0 / 3.0);\n t = r - Math.sqrt(discriminant);\n t = t < 0 ? -Math.pow(-t, 1.0 / 3.0) : Math.pow(t, 1.0 / 3.0);\n result[0] = -term1 + s + t;\n term1 += (s + t) / 2.0;\n result[4] = result[2] = -term1;\n term1 = Math.sqrt(3.0) * (-t + s) / 2;\n result[3] = term1;\n result[5] = -term1;\n return;\n }\n result[5] = result[3] = 0;\n if (discriminant === 0) {\n r13 = r < 0 ? -Math.pow(-r, 1.0 / 3.0) : Math.pow(r, 1.0 / 3.0);\n result[0] = -term1 + 2.0 * r13;\n result[4] = result[2] = -(r13 + term1);\n return;\n }\n q = -q;\n dum1 = q * q * q;\n dum1 = Math.acos(r / Math.sqrt(dum1));\n r13 = 2.0 * Math.sqrt(q);\n result[0] = -term1 + r13 * Math.cos(dum1 / 3.0);\n result[2] = -term1 + r13 * Math.cos((dum1 + 2.0 * Math.PI) / 3.0);\n result[4] = -term1 + r13 * Math.cos((dum1 + 4.0 * Math.PI) / 3.0);\n return;\n};\nvar sqdistToQuadraticBezier = function sqdistToQuadraticBezier(x, y, x1, y1, x2, y2, x3, y3) {\n // Find minimum distance by using the minimum of the distance\n // function between the given point and the curve\n\n // This gives the coefficients of the resulting cubic equation\n // whose roots tell us where a possible minimum is\n // (Coefficients are divided by 4)\n\n var a = 1.0 * x1 * x1 - 4 * x1 * x2 + 2 * x1 * x3 + 4 * x2 * x2 - 4 * x2 * x3 + x3 * x3 + y1 * y1 - 4 * y1 * y2 + 2 * y1 * y3 + 4 * y2 * y2 - 4 * y2 * y3 + y3 * y3;\n var b = 1.0 * 9 * x1 * x2 - 3 * x1 * x1 - 3 * x1 * x3 - 6 * x2 * x2 + 3 * x2 * x3 + 9 * y1 * y2 - 3 * y1 * y1 - 3 * y1 * y3 - 6 * y2 * y2 + 3 * y2 * y3;\n var c = 1.0 * 3 * x1 * x1 - 6 * x1 * x2 + x1 * x3 - x1 * x + 2 * x2 * x2 + 2 * x2 * x - x3 * x + 3 * y1 * y1 - 6 * y1 * y2 + y1 * y3 - y1 * y + 2 * y2 * y2 + 2 * y2 * y - y3 * y;\n var d = 1.0 * x1 * x2 - x1 * x1 + x1 * x - x2 * x + y1 * y2 - y1 * y1 + y1 * y - y2 * y;\n\n // debug(\"coefficients: \" + a / a + \", \" + b / a + \", \" + c / a + \", \" + d / a);\n\n var roots = [];\n\n // Use the cubic solving algorithm\n solveCubic(a, b, c, d, roots);\n var zeroThreshold = 0.0000001;\n var params = [];\n for (var index = 0; index < 6; index += 2) {\n if (Math.abs(roots[index + 1]) < zeroThreshold && roots[index] >= 0 && roots[index] <= 1.0) {\n params.push(roots[index]);\n }\n }\n params.push(1.0);\n params.push(0.0);\n var minDistanceSquared = -1;\n var curX, curY, distSquared;\n for (var i = 0; i < params.length; i++) {\n curX = Math.pow(1.0 - params[i], 2.0) * x1 + 2.0 * (1 - params[i]) * params[i] * x2 + params[i] * params[i] * x3;\n curY = Math.pow(1 - params[i], 2.0) * y1 + 2 * (1.0 - params[i]) * params[i] * y2 + params[i] * params[i] * y3;\n distSquared = Math.pow(curX - x, 2) + Math.pow(curY - y, 2);\n // debug('distance for param ' + params[i] + \": \" + Math.sqrt(distSquared));\n if (minDistanceSquared >= 0) {\n if (distSquared < minDistanceSquared) {\n minDistanceSquared = distSquared;\n }\n } else {\n minDistanceSquared = distSquared;\n }\n }\n return minDistanceSquared;\n};\nvar sqdistToFiniteLine = function sqdistToFiniteLine(x, y, x1, y1, x2, y2) {\n var offset = [x - x1, y - y1];\n var line = [x2 - x1, y2 - y1];\n var lineSq = line[0] * line[0] + line[1] * line[1];\n var hypSq = offset[0] * offset[0] + offset[1] * offset[1];\n var dotProduct = offset[0] * line[0] + offset[1] * line[1];\n var adjSq = dotProduct * dotProduct / lineSq;\n if (dotProduct < 0) {\n return hypSq;\n }\n if (adjSq > lineSq) {\n return (x - x2) * (x - x2) + (y - y2) * (y - y2);\n }\n return hypSq - adjSq;\n};\nvar pointInsidePolygonPoints = function pointInsidePolygonPoints(x, y, points) {\n var x1, y1, x2, y2;\n var y3;\n\n // Intersect with vertical line through (x, y)\n var up = 0;\n // let down = 0;\n for (var i = 0; i < points.length / 2; i++) {\n x1 = points[i * 2];\n y1 = points[i * 2 + 1];\n if (i + 1 < points.length / 2) {\n x2 = points[(i + 1) * 2];\n y2 = points[(i + 1) * 2 + 1];\n } else {\n x2 = points[(i + 1 - points.length / 2) * 2];\n y2 = points[(i + 1 - points.length / 2) * 2 + 1];\n }\n if (x1 == x && x2 == x) ; else if (x1 >= x && x >= x2 || x1 <= x && x <= x2) {\n y3 = (x - x1) / (x2 - x1) * (y2 - y1) + y1;\n if (y3 > y) {\n up++;\n }\n\n // if( y3 < y ){\n // down++;\n // }\n } else {\n continue;\n }\n }\n if (up % 2 === 0) {\n return false;\n } else {\n return true;\n }\n};\nvar pointInsidePolygon = function pointInsidePolygon(x, y, basePoints, centerX, centerY, width, height, direction, padding) {\n var transformedPoints = new Array(basePoints.length);\n\n // Gives negative angle\n var angle;\n if (direction[0] != null) {\n angle = Math.atan(direction[1] / direction[0]);\n if (direction[0] < 0) {\n angle = angle + Math.PI / 2;\n } else {\n angle = -angle - Math.PI / 2;\n }\n } else {\n angle = direction;\n }\n var cos = Math.cos(-angle);\n var sin = Math.sin(-angle);\n\n // console.log(\"base: \" + basePoints);\n for (var i = 0; i < transformedPoints.length / 2; i++) {\n transformedPoints[i * 2] = width / 2 * (basePoints[i * 2] * cos - basePoints[i * 2 + 1] * sin);\n transformedPoints[i * 2 + 1] = height / 2 * (basePoints[i * 2 + 1] * cos + basePoints[i * 2] * sin);\n transformedPoints[i * 2] += centerX;\n transformedPoints[i * 2 + 1] += centerY;\n }\n var points;\n if (padding > 0) {\n var expandedLineSet = expandPolygon(transformedPoints, -padding);\n points = joinLines(expandedLineSet);\n } else {\n points = transformedPoints;\n }\n return pointInsidePolygonPoints(x, y, points);\n};\nvar pointInsideRoundPolygon = function pointInsideRoundPolygon(x, y, basePoints, centerX, centerY, width, height, corners) {\n var cutPolygonPoints = new Array(basePoints.length * 2);\n for (var i = 0; i < corners.length; i++) {\n var corner = corners[i];\n cutPolygonPoints[i * 4 + 0] = corner.startX;\n cutPolygonPoints[i * 4 + 1] = corner.startY;\n cutPolygonPoints[i * 4 + 2] = corner.stopX;\n cutPolygonPoints[i * 4 + 3] = corner.stopY;\n var squaredDistance = Math.pow(corner.cx - x, 2) + Math.pow(corner.cy - y, 2);\n if (squaredDistance <= Math.pow(corner.radius, 2)) {\n return true;\n }\n }\n return pointInsidePolygonPoints(x, y, cutPolygonPoints);\n};\nvar joinLines = function joinLines(lineSet) {\n var vertices = new Array(lineSet.length / 2);\n var currentLineStartX, currentLineStartY, currentLineEndX, currentLineEndY;\n var nextLineStartX, nextLineStartY, nextLineEndX, nextLineEndY;\n for (var i = 0; i < lineSet.length / 4; i++) {\n currentLineStartX = lineSet[i * 4];\n currentLineStartY = lineSet[i * 4 + 1];\n currentLineEndX = lineSet[i * 4 + 2];\n currentLineEndY = lineSet[i * 4 + 3];\n if (i < lineSet.length / 4 - 1) {\n nextLineStartX = lineSet[(i + 1) * 4];\n nextLineStartY = lineSet[(i + 1) * 4 + 1];\n nextLineEndX = lineSet[(i + 1) * 4 + 2];\n nextLineEndY = lineSet[(i + 1) * 4 + 3];\n } else {\n nextLineStartX = lineSet[0];\n nextLineStartY = lineSet[1];\n nextLineEndX = lineSet[2];\n nextLineEndY = lineSet[3];\n }\n var intersection = finiteLinesIntersect(currentLineStartX, currentLineStartY, currentLineEndX, currentLineEndY, nextLineStartX, nextLineStartY, nextLineEndX, nextLineEndY, true);\n vertices[i * 2] = intersection[0];\n vertices[i * 2 + 1] = intersection[1];\n }\n return vertices;\n};\nvar expandPolygon = function expandPolygon(points, pad) {\n var expandedLineSet = new Array(points.length * 2);\n var currentPointX, currentPointY, nextPointX, nextPointY;\n for (var i = 0; i < points.length / 2; i++) {\n currentPointX = points[i * 2];\n currentPointY = points[i * 2 + 1];\n if (i < points.length / 2 - 1) {\n nextPointX = points[(i + 1) * 2];\n nextPointY = points[(i + 1) * 2 + 1];\n } else {\n nextPointX = points[0];\n nextPointY = points[1];\n }\n\n // Current line: [currentPointX, currentPointY] to [nextPointX, nextPointY]\n\n // Assume CCW polygon winding\n\n var offsetX = nextPointY - currentPointY;\n var offsetY = -(nextPointX - currentPointX);\n\n // Normalize\n var offsetLength = Math.sqrt(offsetX * offsetX + offsetY * offsetY);\n var normalizedOffsetX = offsetX / offsetLength;\n var normalizedOffsetY = offsetY / offsetLength;\n expandedLineSet[i * 4] = currentPointX + normalizedOffsetX * pad;\n expandedLineSet[i * 4 + 1] = currentPointY + normalizedOffsetY * pad;\n expandedLineSet[i * 4 + 2] = nextPointX + normalizedOffsetX * pad;\n expandedLineSet[i * 4 + 3] = nextPointY + normalizedOffsetY * pad;\n }\n return expandedLineSet;\n};\nvar intersectLineEllipse = function intersectLineEllipse(x, y, centerX, centerY, ellipseWradius, ellipseHradius) {\n var dispX = centerX - x;\n var dispY = centerY - y;\n dispX /= ellipseWradius;\n dispY /= ellipseHradius;\n var len = Math.sqrt(dispX * dispX + dispY * dispY);\n var newLength = len - 1;\n if (newLength < 0) {\n return [];\n }\n var lenProportion = newLength / len;\n return [(centerX - x) * lenProportion + x, (centerY - y) * lenProportion + y];\n};\nvar checkInEllipse = function checkInEllipse(x, y, width, height, centerX, centerY, padding) {\n x -= centerX;\n y -= centerY;\n x /= width / 2 + padding;\n y /= height / 2 + padding;\n return x * x + y * y <= 1;\n};\n\n// Returns intersections of increasing distance from line's start point\nvar intersectLineCircle = function intersectLineCircle(x1, y1, x2, y2, centerX, centerY, radius) {\n // Calculate d, direction vector of line\n var d = [x2 - x1, y2 - y1]; // Direction vector of line\n var f = [x1 - centerX, y1 - centerY];\n var a = d[0] * d[0] + d[1] * d[1];\n var b = 2 * (f[0] * d[0] + f[1] * d[1]);\n var c = f[0] * f[0] + f[1] * f[1] - radius * radius;\n var discriminant = b * b - 4 * a * c;\n if (discriminant < 0) {\n return [];\n }\n var t1 = (-b + Math.sqrt(discriminant)) / (2 * a);\n var t2 = (-b - Math.sqrt(discriminant)) / (2 * a);\n var tMin = Math.min(t1, t2);\n var tMax = Math.max(t1, t2);\n var inRangeParams = [];\n if (tMin >= 0 && tMin <= 1) {\n inRangeParams.push(tMin);\n }\n if (tMax >= 0 && tMax <= 1) {\n inRangeParams.push(tMax);\n }\n if (inRangeParams.length === 0) {\n return [];\n }\n var nearIntersectionX = inRangeParams[0] * d[0] + x1;\n var nearIntersectionY = inRangeParams[0] * d[1] + y1;\n if (inRangeParams.length > 1) {\n if (inRangeParams[0] == inRangeParams[1]) {\n return [nearIntersectionX, nearIntersectionY];\n } else {\n var farIntersectionX = inRangeParams[1] * d[0] + x1;\n var farIntersectionY = inRangeParams[1] * d[1] + y1;\n return [nearIntersectionX, nearIntersectionY, farIntersectionX, farIntersectionY];\n }\n } else {\n return [nearIntersectionX, nearIntersectionY];\n }\n};\nvar midOfThree = function midOfThree(a, b, c) {\n if (b <= a && a <= c || c <= a && a <= b) {\n return a;\n } else if (a <= b && b <= c || c <= b && b <= a) {\n return b;\n } else {\n return c;\n }\n};\n\n// (x1,y1)=>(x2,y2) intersect with (x3,y3)=>(x4,y4)\nvar finiteLinesIntersect = function finiteLinesIntersect(x1, y1, x2, y2, x3, y3, x4, y4, infiniteLines) {\n var dx13 = x1 - x3;\n var dx21 = x2 - x1;\n var dx43 = x4 - x3;\n var dy13 = y1 - y3;\n var dy21 = y2 - y1;\n var dy43 = y4 - y3;\n var ua_t = dx43 * dy13 - dy43 * dx13;\n var ub_t = dx21 * dy13 - dy21 * dx13;\n var u_b = dy43 * dx21 - dx43 * dy21;\n if (u_b !== 0) {\n var ua = ua_t / u_b;\n var ub = ub_t / u_b;\n var flptThreshold = 0.001;\n var _min = 0 - flptThreshold;\n var _max = 1 + flptThreshold;\n if (_min <= ua && ua <= _max && _min <= ub && ub <= _max) {\n return [x1 + ua * dx21, y1 + ua * dy21];\n } else {\n if (!infiniteLines) {\n return [];\n } else {\n return [x1 + ua * dx21, y1 + ua * dy21];\n }\n }\n } else {\n if (ua_t === 0 || ub_t === 0) {\n // Parallel, coincident lines. Check if overlap\n\n // Check endpoint of second line\n if (midOfThree(x1, x2, x4) === x4) {\n return [x4, y4];\n }\n\n // Check start point of second line\n if (midOfThree(x1, x2, x3) === x3) {\n return [x3, y3];\n }\n\n // Endpoint of first line\n if (midOfThree(x3, x4, x2) === x2) {\n return [x2, y2];\n }\n return [];\n } else {\n // Parallel, non-coincident\n return [];\n }\n }\n};\n\n// math.polygonIntersectLine( x, y, basePoints, centerX, centerY, width, height, padding )\n// intersect a node polygon (pts transformed)\n//\n// math.polygonIntersectLine( x, y, basePoints, centerX, centerY )\n// intersect the points (no transform)\nvar polygonIntersectLine = function polygonIntersectLine(x, y, basePoints, centerX, centerY, width, height, padding) {\n var intersections = [];\n var intersection;\n var transformedPoints = new Array(basePoints.length);\n var doTransform = true;\n if (width == null) {\n doTransform = false;\n }\n var points;\n if (doTransform) {\n for (var i = 0; i < transformedPoints.length / 2; i++) {\n transformedPoints[i * 2] = basePoints[i * 2] * width + centerX;\n transformedPoints[i * 2 + 1] = basePoints[i * 2 + 1] * height + centerY;\n }\n if (padding > 0) {\n var expandedLineSet = expandPolygon(transformedPoints, -padding);\n points = joinLines(expandedLineSet);\n } else {\n points = transformedPoints;\n }\n } else {\n points = basePoints;\n }\n var currentX, currentY, nextX, nextY;\n for (var _i2 = 0; _i2 < points.length / 2; _i2++) {\n currentX = points[_i2 * 2];\n currentY = points[_i2 * 2 + 1];\n if (_i2 < points.length / 2 - 1) {\n nextX = points[(_i2 + 1) * 2];\n nextY = points[(_i2 + 1) * 2 + 1];\n } else {\n nextX = points[0];\n nextY = points[1];\n }\n intersection = finiteLinesIntersect(x, y, centerX, centerY, currentX, currentY, nextX, nextY);\n if (intersection.length !== 0) {\n intersections.push(intersection[0], intersection[1]);\n }\n }\n return intersections;\n};\nvar roundPolygonIntersectLine = function roundPolygonIntersectLine(x, y, basePoints, centerX, centerY, width, height, padding, corners) {\n var intersections = [];\n var intersection;\n var lines = new Array(basePoints.length * 2);\n corners.forEach(function (corner, i) {\n if (i === 0) {\n lines[lines.length - 2] = corner.startX;\n lines[lines.length - 1] = corner.startY;\n } else {\n lines[i * 4 - 2] = corner.startX;\n lines[i * 4 - 1] = corner.startY;\n }\n lines[i * 4] = corner.stopX;\n lines[i * 4 + 1] = corner.stopY;\n intersection = intersectLineCircle(x, y, centerX, centerY, corner.cx, corner.cy, corner.radius);\n if (intersection.length !== 0) {\n intersections.push(intersection[0], intersection[1]);\n }\n });\n for (var i = 0; i < lines.length / 4; i++) {\n intersection = finiteLinesIntersect(x, y, centerX, centerY, lines[i * 4], lines[i * 4 + 1], lines[i * 4 + 2], lines[i * 4 + 3], false);\n if (intersection.length !== 0) {\n intersections.push(intersection[0], intersection[1]);\n }\n }\n if (intersections.length > 2) {\n var lowestIntersection = [intersections[0], intersections[1]];\n var lowestSquaredDistance = Math.pow(lowestIntersection[0] - x, 2) + Math.pow(lowestIntersection[1] - y, 2);\n for (var _i3 = 1; _i3 < intersections.length / 2; _i3++) {\n var squaredDistance = Math.pow(intersections[_i3 * 2] - x, 2) + Math.pow(intersections[_i3 * 2 + 1] - y, 2);\n if (squaredDistance <= lowestSquaredDistance) {\n lowestIntersection[0] = intersections[_i3 * 2];\n lowestIntersection[1] = intersections[_i3 * 2 + 1];\n lowestSquaredDistance = squaredDistance;\n }\n }\n return lowestIntersection;\n }\n return intersections;\n};\nvar shortenIntersection = function shortenIntersection(intersection, offset, amount) {\n var disp = [intersection[0] - offset[0], intersection[1] - offset[1]];\n var length = Math.sqrt(disp[0] * disp[0] + disp[1] * disp[1]);\n var lenRatio = (length - amount) / length;\n if (lenRatio < 0) {\n lenRatio = 0.00001;\n }\n return [offset[0] + lenRatio * disp[0], offset[1] + lenRatio * disp[1]];\n};\nvar generateUnitNgonPointsFitToSquare = function generateUnitNgonPointsFitToSquare(sides, rotationRadians) {\n var points = generateUnitNgonPoints(sides, rotationRadians);\n points = fitPolygonToSquare(points);\n return points;\n};\nvar fitPolygonToSquare = function fitPolygonToSquare(points) {\n var x, y;\n var sides = points.length / 2;\n var minX = Infinity,\n minY = Infinity,\n maxX = -Infinity,\n maxY = -Infinity;\n for (var i = 0; i < sides; i++) {\n x = points[2 * i];\n y = points[2 * i + 1];\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n\n // stretch factors\n var sx = 2 / (maxX - minX);\n var sy = 2 / (maxY - minY);\n for (var _i4 = 0; _i4 < sides; _i4++) {\n x = points[2 * _i4] = points[2 * _i4] * sx;\n y = points[2 * _i4 + 1] = points[2 * _i4 + 1] * sy;\n minX = Math.min(minX, x);\n maxX = Math.max(maxX, x);\n minY = Math.min(minY, y);\n maxY = Math.max(maxY, y);\n }\n if (minY < -1) {\n for (var _i5 = 0; _i5 < sides; _i5++) {\n y = points[2 * _i5 + 1] = points[2 * _i5 + 1] + (-1 - minY);\n }\n }\n return points;\n};\nvar generateUnitNgonPoints = function generateUnitNgonPoints(sides, rotationRadians) {\n var increment = 1.0 / sides * 2 * Math.PI;\n var startAngle = sides % 2 === 0 ? Math.PI / 2.0 + increment / 2.0 : Math.PI / 2.0;\n startAngle += rotationRadians;\n var points = new Array(sides * 2);\n var currentAngle;\n for (var i = 0; i < sides; i++) {\n currentAngle = i * increment + startAngle;\n points[2 * i] = Math.cos(currentAngle); // x\n points[2 * i + 1] = Math.sin(-currentAngle); // y\n }\n return points;\n};\n\n// Set the default radius, unless half of width or height is smaller than default\nvar getRoundRectangleRadius = function getRoundRectangleRadius(width, height) {\n return Math.min(width / 4, height / 4, 8);\n};\n\n// Set the default radius\nvar getRoundPolygonRadius = function getRoundPolygonRadius(width, height) {\n return Math.min(width / 10, height / 10, 8);\n};\nvar getCutRectangleCornerLength = function getCutRectangleCornerLength() {\n return 8;\n};\nvar bezierPtsToQuadCoeff = function bezierPtsToQuadCoeff(p0, p1, p2) {\n return [p0 - 2 * p1 + p2, 2 * (p1 - p0), p0];\n};\n\n// get curve width, height, and control point position offsets as a percentage of node height / width\nvar getBarrelCurveConstants = function getBarrelCurveConstants(width, height) {\n return {\n heightOffset: Math.min(15, 0.05 * height),\n widthOffset: Math.min(100, 0.25 * width),\n ctrlPtOffsetPct: 0.05\n };\n};\n\n// Separating Axis Theorem (SAT) to determine if two polygons intersect. \n// The function takes two polygons as input and returns a boolean value indicating \n// whether the two polygons intersect.\nfunction satPolygonIntersection(poly1, poly2) {\n function getAxes(polygon) {\n var axes = [];\n for (var i = 0; i < polygon.length; i++) {\n var p1 = polygon[i];\n var p2 = polygon[(i + 1) % polygon.length];\n var edge = {\n x: p2.x - p1.x,\n y: p2.y - p1.y\n };\n var normal = {\n x: -edge.y,\n y: edge.x\n };\n var length = Math.sqrt(normal.x * normal.x + normal.y * normal.y);\n axes.push({\n x: normal.x / length,\n y: normal.y / length\n });\n }\n return axes;\n }\n function project(polygon, axis) {\n var min = Infinity;\n var max = -Infinity;\n var _iterator = _createForOfIteratorHelper(polygon),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var point = _step.value;\n var projection = point.x * axis.x + point.y * axis.y;\n min = Math.min(min, projection);\n max = Math.max(max, projection);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return {\n min: min,\n max: max\n };\n }\n function overlaps(proj1, proj2) {\n return !(proj1.max < proj2.min || proj2.max < proj1.min);\n }\n var axes = [].concat(_toConsumableArray(getAxes(poly1)), _toConsumableArray(getAxes(poly2)));\n var _iterator2 = _createForOfIteratorHelper(axes),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var axis = _step2.value;\n var proj1 = project(poly1, axis);\n var proj2 = project(poly2, axis);\n if (!overlaps(proj1, proj2)) {\n return false; // No overlap, so the polygons do not intersect\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return true; // polygons intersect\n}\n\nvar pageRankDefaults = defaults$g({\n dampingFactor: 0.8,\n precision: 0.000001,\n iterations: 200,\n weight: function weight(edge) {\n return 1;\n }\n});\nvar elesfn$o = {\n pageRank: function pageRank(options) {\n var _pageRankDefaults = pageRankDefaults(options),\n dampingFactor = _pageRankDefaults.dampingFactor,\n precision = _pageRankDefaults.precision,\n iterations = _pageRankDefaults.iterations,\n weight = _pageRankDefaults.weight;\n var cy = this._private.cy;\n var _this$byGroup = this.byGroup(),\n nodes = _this$byGroup.nodes,\n edges = _this$byGroup.edges;\n var numNodes = nodes.length;\n var numNodesSqd = numNodes * numNodes;\n var numEdges = edges.length;\n\n // Construct transposed adjacency matrix\n // First lets have a zeroed matrix of the right size\n // We'll also keep track of the sum of each column\n var matrix = new Array(numNodesSqd);\n var columnSum = new Array(numNodes);\n var additionalProb = (1 - dampingFactor) / numNodes;\n\n // Create null matrix\n for (var i = 0; i < numNodes; i++) {\n for (var j = 0; j < numNodes; j++) {\n var n = i * numNodes + j;\n matrix[n] = 0;\n }\n columnSum[i] = 0;\n }\n\n // Now, process edges\n for (var _i = 0; _i < numEdges; _i++) {\n var edge = edges[_i];\n var srcId = edge.data('source');\n var tgtId = edge.data('target');\n\n // Don't include loops in the matrix\n if (srcId === tgtId) {\n continue;\n }\n var s = nodes.indexOfId(srcId);\n var t = nodes.indexOfId(tgtId);\n var w = weight(edge);\n var _n = t * numNodes + s;\n\n // Update matrix\n matrix[_n] += w;\n\n // Update column sum\n columnSum[s] += w;\n }\n\n // Add additional probability based on damping factor\n // Also, take into account columns that have sum = 0\n var p = 1.0 / numNodes + additionalProb; // Shorthand\n\n // Traverse matrix, column by column\n for (var _j = 0; _j < numNodes; _j++) {\n if (columnSum[_j] === 0) {\n // No 'links' out from node jth, assume equal probability for each possible node\n for (var _i2 = 0; _i2 < numNodes; _i2++) {\n var _n2 = _i2 * numNodes + _j;\n matrix[_n2] = p;\n }\n } else {\n // Node jth has outgoing link, compute normalized probabilities\n for (var _i3 = 0; _i3 < numNodes; _i3++) {\n var _n3 = _i3 * numNodes + _j;\n matrix[_n3] = matrix[_n3] / columnSum[_j] + additionalProb;\n }\n }\n }\n\n // Compute dominant eigenvector using power method\n var eigenvector = new Array(numNodes);\n var temp = new Array(numNodes);\n var previous;\n\n // Start with a vector of all 1's\n // Also, initialize a null vector which will be used as shorthand\n for (var _i4 = 0; _i4 < numNodes; _i4++) {\n eigenvector[_i4] = 1;\n }\n for (var iter = 0; iter < iterations; iter++) {\n // Temp array with all 0's\n for (var _i5 = 0; _i5 < numNodes; _i5++) {\n temp[_i5] = 0;\n }\n\n // Multiply matrix with previous result\n for (var _i6 = 0; _i6 < numNodes; _i6++) {\n for (var _j2 = 0; _j2 < numNodes; _j2++) {\n var _n4 = _i6 * numNodes + _j2;\n temp[_i6] += matrix[_n4] * eigenvector[_j2];\n }\n }\n inPlaceSumNormalize(temp);\n previous = eigenvector;\n eigenvector = temp;\n temp = previous;\n var diff = 0;\n // Compute difference (squared module) of both vectors\n for (var _i7 = 0; _i7 < numNodes; _i7++) {\n var delta = previous[_i7] - eigenvector[_i7];\n diff += delta * delta;\n }\n\n // If difference is less than the desired threshold, stop iterating\n if (diff < precision) {\n break;\n }\n }\n\n // Construct result\n var res = {\n rank: function rank(node) {\n node = cy.collection(node)[0];\n return eigenvector[nodes.indexOf(node)];\n }\n };\n return res;\n } // pageRank\n}; // elesfn\n\nvar defaults$f = defaults$g({\n root: null,\n weight: function weight(edge) {\n return 1;\n },\n directed: false,\n alpha: 0\n});\nvar elesfn$n = {\n degreeCentralityNormalized: function degreeCentralityNormalized(options) {\n options = defaults$f(options);\n var cy = this.cy();\n var nodes = this.nodes();\n var numNodes = nodes.length;\n if (!options.directed) {\n var degrees = {};\n var maxDegree = 0;\n for (var i = 0; i < numNodes; i++) {\n var node = nodes[i];\n\n // add current node to the current options object and call degreeCentrality\n options.root = node;\n var currDegree = this.degreeCentrality(options);\n if (maxDegree < currDegree.degree) {\n maxDegree = currDegree.degree;\n }\n degrees[node.id()] = currDegree.degree;\n }\n return {\n degree: function degree(node) {\n if (maxDegree === 0) {\n return 0;\n }\n if (string(node)) {\n // from is a selector string\n node = cy.filter(node);\n }\n return degrees[node.id()] / maxDegree;\n }\n };\n } else {\n var indegrees = {};\n var outdegrees = {};\n var maxIndegree = 0;\n var maxOutdegree = 0;\n for (var _i = 0; _i < numNodes; _i++) {\n var _node = nodes[_i];\n var id = _node.id();\n\n // add current node to the current options object and call degreeCentrality\n options.root = _node;\n var _currDegree = this.degreeCentrality(options);\n if (maxIndegree < _currDegree.indegree) maxIndegree = _currDegree.indegree;\n if (maxOutdegree < _currDegree.outdegree) maxOutdegree = _currDegree.outdegree;\n indegrees[id] = _currDegree.indegree;\n outdegrees[id] = _currDegree.outdegree;\n }\n return {\n indegree: function indegree(node) {\n if (maxIndegree == 0) {\n return 0;\n }\n if (string(node)) {\n // from is a selector string\n node = cy.filter(node);\n }\n return indegrees[node.id()] / maxIndegree;\n },\n outdegree: function outdegree(node) {\n if (maxOutdegree === 0) {\n return 0;\n }\n if (string(node)) {\n // from is a selector string\n node = cy.filter(node);\n }\n return outdegrees[node.id()] / maxOutdegree;\n }\n };\n }\n },\n // degreeCentralityNormalized\n\n // Implemented from the algorithm in Opsahl's paper\n // \"Node centrality in weighted networks: Generalizing degree and shortest paths\"\n // check the heading 2 \"Degree\"\n degreeCentrality: function degreeCentrality(options) {\n options = defaults$f(options);\n var cy = this.cy();\n var callingEles = this;\n var _options = options,\n root = _options.root,\n weight = _options.weight,\n directed = _options.directed,\n alpha = _options.alpha;\n root = cy.collection(root)[0];\n if (!directed) {\n var connEdges = root.connectedEdges().intersection(callingEles);\n var k = connEdges.length;\n var s = 0;\n\n // Now, sum edge weights\n for (var i = 0; i < connEdges.length; i++) {\n s += weight(connEdges[i]);\n }\n return {\n degree: Math.pow(k, 1 - alpha) * Math.pow(s, alpha)\n };\n } else {\n var edges = root.connectedEdges();\n var incoming = edges.filter(function (edge) {\n return edge.target().same(root) && callingEles.has(edge);\n });\n var outgoing = edges.filter(function (edge) {\n return edge.source().same(root) && callingEles.has(edge);\n });\n var k_in = incoming.length;\n var k_out = outgoing.length;\n var s_in = 0;\n var s_out = 0;\n\n // Now, sum incoming edge weights\n for (var _i2 = 0; _i2 < incoming.length; _i2++) {\n s_in += weight(incoming[_i2]);\n }\n\n // Now, sum outgoing edge weights\n for (var _i3 = 0; _i3 < outgoing.length; _i3++) {\n s_out += weight(outgoing[_i3]);\n }\n return {\n indegree: Math.pow(k_in, 1 - alpha) * Math.pow(s_in, alpha),\n outdegree: Math.pow(k_out, 1 - alpha) * Math.pow(s_out, alpha)\n };\n }\n } // degreeCentrality\n}; // elesfn\n\n// nice, short mathematical alias\nelesfn$n.dc = elesfn$n.degreeCentrality;\nelesfn$n.dcn = elesfn$n.degreeCentralityNormalised = elesfn$n.degreeCentralityNormalized;\n\nvar defaults$e = defaults$g({\n harmonic: true,\n weight: function weight() {\n return 1;\n },\n directed: false,\n root: null\n});\nvar elesfn$m = {\n closenessCentralityNormalized: function closenessCentralityNormalized(options) {\n var _defaults = defaults$e(options),\n harmonic = _defaults.harmonic,\n weight = _defaults.weight,\n directed = _defaults.directed;\n var cy = this.cy();\n var closenesses = {};\n var maxCloseness = 0;\n var nodes = this.nodes();\n var fw = this.floydWarshall({\n weight: weight,\n directed: directed\n });\n\n // Compute closeness for every node and find the maximum closeness\n for (var i = 0; i < nodes.length; i++) {\n var currCloseness = 0;\n var node_i = nodes[i];\n for (var j = 0; j < nodes.length; j++) {\n if (i !== j) {\n var d = fw.distance(node_i, nodes[j]);\n if (harmonic) {\n currCloseness += 1 / d;\n } else {\n currCloseness += d;\n }\n }\n }\n if (!harmonic) {\n currCloseness = 1 / currCloseness;\n }\n if (maxCloseness < currCloseness) {\n maxCloseness = currCloseness;\n }\n closenesses[node_i.id()] = currCloseness;\n }\n return {\n closeness: function closeness(node) {\n if (maxCloseness == 0) {\n return 0;\n }\n if (string(node)) {\n // from is a selector string\n node = cy.filter(node)[0].id();\n } else {\n // from is a node\n node = node.id();\n }\n return closenesses[node] / maxCloseness;\n }\n };\n },\n // Implemented from pseudocode from wikipedia\n closenessCentrality: function closenessCentrality(options) {\n var _defaults2 = defaults$e(options),\n root = _defaults2.root,\n weight = _defaults2.weight,\n directed = _defaults2.directed,\n harmonic = _defaults2.harmonic;\n root = this.filter(root)[0];\n\n // we need distance from this node to every other node\n var dijkstra = this.dijkstra({\n root: root,\n weight: weight,\n directed: directed\n });\n var totalDistance = 0;\n var nodes = this.nodes();\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n if (!n.same(root)) {\n var d = dijkstra.distanceTo(n);\n if (harmonic) {\n totalDistance += 1 / d;\n } else {\n totalDistance += d;\n }\n }\n }\n return harmonic ? totalDistance : 1 / totalDistance;\n } // closenessCentrality\n}; // elesfn\n\n// nice, short mathematical alias\nelesfn$m.cc = elesfn$m.closenessCentrality;\nelesfn$m.ccn = elesfn$m.closenessCentralityNormalised = elesfn$m.closenessCentralityNormalized;\n\nvar defaults$d = defaults$g({\n weight: null,\n directed: false\n});\nvar elesfn$l = {\n // Implemented from the algorithm in the paper \"On Variants of Shortest-Path Betweenness Centrality and their Generic Computation\" by Ulrik Brandes\n betweennessCentrality: function betweennessCentrality(options) {\n var _defaults = defaults$d(options),\n directed = _defaults.directed,\n weight = _defaults.weight;\n var weighted = weight != null;\n var cy = this.cy();\n\n // starting\n var V = this.nodes();\n var A = {};\n var _C = {};\n var max = 0;\n var C = {\n set: function set(key, val) {\n _C[key] = val;\n if (val > max) {\n max = val;\n }\n },\n get: function get(key) {\n return _C[key];\n }\n };\n\n // A contains the neighborhoods of every node\n for (var i = 0; i < V.length; i++) {\n var v = V[i];\n var vid = v.id();\n if (directed) {\n A[vid] = v.outgoers().nodes(); // get outgoers of every node\n } else {\n A[vid] = v.openNeighborhood().nodes(); // get neighbors of every node\n }\n C.set(vid, 0);\n }\n var _loop = function _loop() {\n var sid = V[s].id();\n var S = []; // stack\n var P = {};\n var g = {};\n var d = {};\n var Q = new Heap(function (a, b) {\n return d[a] - d[b];\n }); // queue\n\n // init dictionaries\n for (var _i = 0; _i < V.length; _i++) {\n var _vid = V[_i].id();\n P[_vid] = [];\n g[_vid] = 0;\n d[_vid] = Infinity;\n }\n g[sid] = 1; // sigma\n d[sid] = 0; // distance to s\n\n Q.push(sid);\n while (!Q.empty()) {\n var _v = Q.pop();\n S.push(_v);\n if (weighted) {\n for (var j = 0; j < A[_v].length; j++) {\n var w = A[_v][j];\n var vEle = cy.getElementById(_v);\n var edge = undefined;\n if (vEle.edgesTo(w).length > 0) {\n edge = vEle.edgesTo(w)[0];\n } else {\n edge = w.edgesTo(vEle)[0];\n }\n var edgeWeight = weight(edge);\n w = w.id();\n if (d[w] > d[_v] + edgeWeight) {\n d[w] = d[_v] + edgeWeight;\n if (Q.nodes.indexOf(w) < 0) {\n //if w is not in Q\n Q.push(w);\n } else {\n // update position if w is in Q\n Q.updateItem(w);\n }\n g[w] = 0;\n P[w] = [];\n }\n if (d[w] == d[_v] + edgeWeight) {\n g[w] = g[w] + g[_v];\n P[w].push(_v);\n }\n }\n } else {\n for (var _j = 0; _j < A[_v].length; _j++) {\n var _w = A[_v][_j].id();\n if (d[_w] == Infinity) {\n Q.push(_w);\n d[_w] = d[_v] + 1;\n }\n if (d[_w] == d[_v] + 1) {\n g[_w] = g[_w] + g[_v];\n P[_w].push(_v);\n }\n }\n }\n }\n var e = {};\n for (var _i2 = 0; _i2 < V.length; _i2++) {\n e[V[_i2].id()] = 0;\n }\n while (S.length > 0) {\n var _w2 = S.pop();\n for (var _j2 = 0; _j2 < P[_w2].length; _j2++) {\n var _v2 = P[_w2][_j2];\n e[_v2] = e[_v2] + g[_v2] / g[_w2] * (1 + e[_w2]);\n }\n if (_w2 != V[s].id()) {\n C.set(_w2, C.get(_w2) + e[_w2]);\n }\n }\n };\n for (var s = 0; s < V.length; s++) {\n _loop();\n }\n var ret = {\n betweenness: function betweenness(node) {\n var id = cy.collection(node).id();\n return C.get(id);\n },\n betweennessNormalized: function betweennessNormalized(node) {\n if (max == 0) {\n return 0;\n }\n var id = cy.collection(node).id();\n return C.get(id) / max;\n }\n };\n\n // alias\n ret.betweennessNormalised = ret.betweennessNormalized;\n return ret;\n } // betweennessCentrality\n}; // elesfn\n\n// nice, short mathematical alias\nelesfn$l.bc = elesfn$l.betweennessCentrality;\n\n// Implemented by Zoe Xi @zoexi for GSOC 2016\n// https://github.com/cytoscape/cytoscape.js-markov-cluster\n\n\n/* eslint-disable no-unused-vars */\nvar defaults$c = defaults$g({\n expandFactor: 2,\n // affects time of computation and cluster granularity to some extent: M * M\n inflateFactor: 2,\n // affects cluster granularity (the greater the value, the more clusters): M(i,j) / E(j)\n multFactor: 1,\n // optional self loops for each node. Use a neutral value to improve cluster computations.\n maxIterations: 20,\n // maximum number of iterations of the MCL algorithm in a single run\n attributes: [\n // attributes/features used to group nodes, ie. similarity values between nodes\n function (edge) {\n return 1;\n }]\n});\n/* eslint-enable */\n\nvar setOptions$3 = function setOptions(options) {\n return defaults$c(options);\n};\n/* eslint-enable */\n\nvar getSimilarity$1 = function getSimilarity(edge, attributes) {\n var total = 0;\n for (var i = 0; i < attributes.length; i++) {\n total += attributes[i](edge);\n }\n return total;\n};\nvar addLoops = function addLoops(M, n, val) {\n for (var i = 0; i < n; i++) {\n M[i * n + i] = val;\n }\n};\nvar normalize = function normalize(M, n) {\n var sum;\n for (var col = 0; col < n; col++) {\n sum = 0;\n for (var row = 0; row < n; row++) {\n sum += M[row * n + col];\n }\n for (var _row = 0; _row < n; _row++) {\n M[_row * n + col] = M[_row * n + col] / sum;\n }\n }\n};\n\n// TODO: blocked matrix multiplication?\nvar mmult = function mmult(A, B, n) {\n var C = new Array(n * n);\n for (var i = 0; i < n; i++) {\n for (var j = 0; j < n; j++) {\n C[i * n + j] = 0;\n }\n for (var k = 0; k < n; k++) {\n for (var _j = 0; _j < n; _j++) {\n C[i * n + _j] += A[i * n + k] * B[k * n + _j];\n }\n }\n }\n return C;\n};\nvar expand = function expand(M, n, expandFactor /** power **/) {\n var _M = M.slice(0);\n for (var p = 1; p < expandFactor; p++) {\n M = mmult(M, _M, n);\n }\n return M;\n};\nvar inflate = function inflate(M, n, inflateFactor /** r **/) {\n var _M = new Array(n * n);\n\n // M(i,j) ^ inflatePower\n for (var i = 0; i < n * n; i++) {\n _M[i] = Math.pow(M[i], inflateFactor);\n }\n normalize(_M, n);\n return _M;\n};\nvar hasConverged = function hasConverged(M, _M, n2, roundFactor) {\n // Check that both matrices have the same elements (i,j)\n for (var i = 0; i < n2; i++) {\n var v1 = Math.round(M[i] * Math.pow(10, roundFactor)) / Math.pow(10, roundFactor); // truncate to 'roundFactor' decimal places\n var v2 = Math.round(_M[i] * Math.pow(10, roundFactor)) / Math.pow(10, roundFactor);\n if (v1 !== v2) {\n return false;\n }\n }\n return true;\n};\nvar assign$2 = function assign(M, n, nodes, cy) {\n var clusters = [];\n for (var i = 0; i < n; i++) {\n var cluster = [];\n for (var j = 0; j < n; j++) {\n // Row-wise attractors and elements that they attract belong in same cluster\n if (Math.round(M[i * n + j] * 1000) / 1000 > 0) {\n cluster.push(nodes[j]);\n }\n }\n if (cluster.length !== 0) {\n clusters.push(cy.collection(cluster));\n }\n }\n return clusters;\n};\nvar isDuplicate = function isDuplicate(c1, c2) {\n for (var i = 0; i < c1.length; i++) {\n if (!c2[i] || c1[i].id() !== c2[i].id()) {\n return false;\n }\n }\n return true;\n};\nvar removeDuplicates = function removeDuplicates(clusters) {\n for (var i = 0; i < clusters.length; i++) {\n for (var j = 0; j < clusters.length; j++) {\n if (i != j && isDuplicate(clusters[i], clusters[j])) {\n clusters.splice(j, 1);\n }\n }\n }\n return clusters;\n};\nvar markovClustering = function markovClustering(options) {\n var nodes = this.nodes();\n var edges = this.edges();\n var cy = this.cy();\n\n // Set parameters of algorithm:\n var opts = setOptions$3(options);\n\n // Map each node to its position in node array\n var id2position = {};\n for (var i = 0; i < nodes.length; i++) {\n id2position[nodes[i].id()] = i;\n }\n\n // Generate stochastic matrix M from input graph G (should be symmetric/undirected)\n var n = nodes.length,\n n2 = n * n;\n var M = new Array(n2),\n _M;\n for (var _i = 0; _i < n2; _i++) {\n M[_i] = 0;\n }\n for (var e = 0; e < edges.length; e++) {\n var edge = edges[e];\n var _i2 = id2position[edge.source().id()];\n var j = id2position[edge.target().id()];\n var sim = getSimilarity$1(edge, opts.attributes);\n M[_i2 * n + j] += sim; // G should be symmetric and undirected\n M[j * n + _i2] += sim;\n }\n\n // Begin Markov cluster algorithm\n\n // Step 1: Add self loops to each node, ie. add multFactor to matrix diagonal\n addLoops(M, n, opts.multFactor);\n\n // Step 2: M = normalize( M );\n normalize(M, n);\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n isStillMoving = false;\n\n // Step 3:\n _M = expand(M, n, opts.expandFactor);\n\n // Step 4:\n M = inflate(_M, n, opts.inflateFactor);\n\n // Step 5: check to see if ~steady state has been reached\n if (!hasConverged(M, _M, n2, 4)) {\n isStillMoving = true;\n }\n iterations++;\n }\n\n // Build clusters from matrix\n var clusters = assign$2(M, n, nodes, cy);\n\n // Remove duplicate clusters due to symmetry of graph and M matrix\n clusters = removeDuplicates(clusters);\n return clusters;\n};\nvar markovClustering$1 = {\n markovClustering: markovClustering,\n mcl: markovClustering\n};\n\n// Common distance metrics for clustering algorithms\n// https://en.wikipedia.org/wiki/Hierarchical_clustering#Metric\n\nvar identity$1 = function identity(x) {\n return x;\n};\nvar absDiff = function absDiff(p, q) {\n return Math.abs(q - p);\n};\nvar addAbsDiff = function addAbsDiff(total, p, q) {\n return total + absDiff(p, q);\n};\nvar addSquaredDiff = function addSquaredDiff(total, p, q) {\n return total + Math.pow(q - p, 2);\n};\nvar sqrt = function sqrt(x) {\n return Math.sqrt(x);\n};\nvar maxAbsDiff = function maxAbsDiff(currentMax, p, q) {\n return Math.max(currentMax, absDiff(p, q));\n};\nvar getDistance = function getDistance(length, getP, getQ, init, visit) {\n var post = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : identity$1;\n var ret = init;\n var p, q;\n for (var dim = 0; dim < length; dim++) {\n p = getP(dim);\n q = getQ(dim);\n ret = visit(ret, p, q);\n }\n return post(ret);\n};\nvar distances = {\n euclidean: function euclidean(length, getP, getQ) {\n if (length >= 2) {\n return getDistance(length, getP, getQ, 0, addSquaredDiff, sqrt);\n } else {\n // for single attr case, more efficient to avoid sqrt\n return getDistance(length, getP, getQ, 0, addAbsDiff);\n }\n },\n squaredEuclidean: function squaredEuclidean(length, getP, getQ) {\n return getDistance(length, getP, getQ, 0, addSquaredDiff);\n },\n manhattan: function manhattan(length, getP, getQ) {\n return getDistance(length, getP, getQ, 0, addAbsDiff);\n },\n max: function max(length, getP, getQ) {\n return getDistance(length, getP, getQ, -Infinity, maxAbsDiff);\n }\n};\n\n// in case the user accidentally doesn't use camel case\ndistances['squared-euclidean'] = distances['squaredEuclidean'];\ndistances['squaredeuclidean'] = distances['squaredEuclidean'];\nfunction clusteringDistance (method, length, getP, getQ, nodeP, nodeQ) {\n var impl;\n if (fn$6(method)) {\n impl = method;\n } else {\n impl = distances[method] || distances.euclidean;\n }\n if (length === 0 && fn$6(method)) {\n return impl(nodeP, nodeQ);\n } else {\n return impl(length, getP, getQ, nodeP, nodeQ);\n }\n}\n\nvar defaults$b = defaults$g({\n k: 2,\n m: 2,\n sensitivityThreshold: 0.0001,\n distance: 'euclidean',\n maxIterations: 10,\n attributes: [],\n testMode: false,\n testCentroids: null\n});\nvar setOptions$2 = function setOptions(options) {\n return defaults$b(options);\n};\n\nvar getDist = function getDist(type, node, centroid, attributes, mode) {\n var noNodeP = mode !== 'kMedoids';\n var getP = noNodeP ? function (i) {\n return centroid[i];\n } : function (i) {\n return attributes[i](centroid);\n };\n var getQ = function getQ(i) {\n return attributes[i](node);\n };\n var nodeP = centroid;\n var nodeQ = node;\n return clusteringDistance(type, attributes.length, getP, getQ, nodeP, nodeQ);\n};\nvar randomCentroids = function randomCentroids(nodes, k, attributes) {\n var ndim = attributes.length;\n var min = new Array(ndim);\n var max = new Array(ndim);\n var centroids = new Array(k);\n var centroid = null;\n\n // Find min, max values for each attribute dimension\n for (var i = 0; i < ndim; i++) {\n min[i] = nodes.min(attributes[i]).value;\n max[i] = nodes.max(attributes[i]).value;\n }\n\n // Build k centroids, each represented as an n-dim feature vector\n for (var c = 0; c < k; c++) {\n centroid = [];\n for (var _i = 0; _i < ndim; _i++) {\n centroid[_i] = Math.random() * (max[_i] - min[_i]) + min[_i]; // random initial value\n }\n centroids[c] = centroid;\n }\n return centroids;\n};\nvar classify = function classify(node, centroids, distance, attributes, type) {\n var min = Infinity;\n var index = 0;\n for (var i = 0; i < centroids.length; i++) {\n var dist = getDist(distance, node, centroids[i], attributes, type);\n if (dist < min) {\n min = dist;\n index = i;\n }\n }\n return index;\n};\nvar buildCluster = function buildCluster(centroid, nodes, assignment) {\n var cluster = [];\n var node = null;\n for (var n = 0; n < nodes.length; n++) {\n node = nodes[n];\n if (assignment[node.id()] === centroid) {\n //console.log(\"Node \" + node.id() + \" is associated with medoid #: \" + m);\n cluster.push(node);\n }\n }\n return cluster;\n};\nvar haveValuesConverged = function haveValuesConverged(v1, v2, sensitivityThreshold) {\n return Math.abs(v2 - v1) <= sensitivityThreshold;\n};\nvar haveMatricesConverged = function haveMatricesConverged(v1, v2, sensitivityThreshold) {\n for (var i = 0; i < v1.length; i++) {\n for (var j = 0; j < v1[i].length; j++) {\n var diff = Math.abs(v1[i][j] - v2[i][j]);\n if (diff > sensitivityThreshold) {\n return false;\n }\n }\n }\n return true;\n};\nvar seenBefore = function seenBefore(node, medoids, n) {\n for (var i = 0; i < n; i++) {\n if (node === medoids[i]) return true;\n }\n return false;\n};\nvar randomMedoids = function randomMedoids(nodes, k) {\n var medoids = new Array(k);\n\n // For small data sets, the probability of medoid conflict is greater,\n // so we need to check to see if we've already seen or chose this node before.\n if (nodes.length < 50) {\n // Randomly select k medoids from the n nodes\n for (var i = 0; i < k; i++) {\n var node = nodes[Math.floor(Math.random() * nodes.length)];\n\n // If we've already chosen this node to be a medoid, don't choose it again (for small data sets).\n // Instead choose a different random node.\n while (seenBefore(node, medoids, i)) {\n node = nodes[Math.floor(Math.random() * nodes.length)];\n }\n medoids[i] = node;\n }\n } else {\n // Relatively large data set, so pretty safe to not check and just select random nodes\n for (var _i2 = 0; _i2 < k; _i2++) {\n medoids[_i2] = nodes[Math.floor(Math.random() * nodes.length)];\n }\n }\n return medoids;\n};\nvar findCost = function findCost(potentialNewMedoid, cluster, attributes) {\n var cost = 0;\n for (var n = 0; n < cluster.length; n++) {\n cost += getDist('manhattan', cluster[n], potentialNewMedoid, attributes, 'kMedoids');\n }\n return cost;\n};\nvar kMeans = function kMeans(options) {\n var cy = this.cy();\n var nodes = this.nodes();\n var node = null;\n\n // Set parameters of algorithm: # of clusters, distance metric, etc.\n var opts = setOptions$2(options);\n\n // Begin k-means algorithm\n var clusters = new Array(opts.k);\n var assignment = {};\n var centroids;\n\n // Step 1: Initialize centroid positions\n if (opts.testMode) {\n if (typeof opts.testCentroids === 'number') {\n // TODO: implement a seeded random number generator.\n opts.testCentroids;\n centroids = randomCentroids(nodes, opts.k, opts.attributes);\n } else if (_typeof(opts.testCentroids) === 'object') {\n centroids = opts.testCentroids;\n } else {\n centroids = randomCentroids(nodes, opts.k, opts.attributes);\n }\n } else {\n centroids = randomCentroids(nodes, opts.k, opts.attributes);\n }\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n // Step 2: Assign nodes to the nearest centroid\n for (var n = 0; n < nodes.length; n++) {\n node = nodes[n];\n // Determine which cluster this node belongs to: node id => cluster #\n assignment[node.id()] = classify(node, centroids, opts.distance, opts.attributes, 'kMeans');\n }\n\n // Step 3: For each of the k clusters, update its centroid\n isStillMoving = false;\n for (var c = 0; c < opts.k; c++) {\n // Get all nodes that belong to this cluster\n var cluster = buildCluster(c, nodes, assignment);\n if (cluster.length === 0) {\n // If cluster is empty, break out early & move to next cluster\n continue;\n }\n\n // Update centroids by calculating avg of all nodes within the cluster.\n var ndim = opts.attributes.length;\n var centroid = centroids[c]; // [ dim_1, dim_2, dim_3, ... , dim_n ]\n var newCentroid = new Array(ndim);\n var sum = new Array(ndim);\n for (var d = 0; d < ndim; d++) {\n sum[d] = 0.0;\n for (var i = 0; i < cluster.length; i++) {\n node = cluster[i];\n sum[d] += opts.attributes[d](node);\n }\n newCentroid[d] = sum[d] / cluster.length;\n\n // Check to see if algorithm has converged, i.e. when centroids no longer change\n if (!haveValuesConverged(newCentroid[d], centroid[d], opts.sensitivityThreshold)) {\n isStillMoving = true;\n }\n }\n centroids[c] = newCentroid;\n clusters[c] = cy.collection(cluster);\n }\n iterations++;\n }\n return clusters;\n};\nvar kMedoids = function kMedoids(options) {\n var cy = this.cy();\n var nodes = this.nodes();\n var node = null;\n var opts = setOptions$2(options);\n\n // Begin k-medoids algorithm\n var clusters = new Array(opts.k);\n var medoids;\n var assignment = {};\n var curCost;\n var minCosts = new Array(opts.k); // minimum cost configuration for each cluster\n\n // Step 1: Initialize k medoids\n if (opts.testMode) {\n if (typeof opts.testCentroids === 'number') ; else if (_typeof(opts.testCentroids) === 'object') {\n medoids = opts.testCentroids;\n } else {\n medoids = randomMedoids(nodes, opts.k);\n }\n } else {\n medoids = randomMedoids(nodes, opts.k);\n }\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n // Step 2: Assign nodes to the nearest medoid\n for (var n = 0; n < nodes.length; n++) {\n node = nodes[n];\n // Determine which cluster this node belongs to: node id => cluster #\n assignment[node.id()] = classify(node, medoids, opts.distance, opts.attributes, 'kMedoids');\n }\n isStillMoving = false;\n // Step 3: For each medoid m, and for each node associated with mediod m,\n // select the node with the lowest configuration cost as new medoid.\n for (var m = 0; m < medoids.length; m++) {\n // Get all nodes that belong to this medoid\n var cluster = buildCluster(m, nodes, assignment);\n if (cluster.length === 0) {\n // If cluster is empty, break out early & move to next cluster\n continue;\n }\n minCosts[m] = findCost(medoids[m], cluster, opts.attributes); // original cost\n\n // Select different medoid if its configuration has the lowest cost\n for (var _n = 0; _n < cluster.length; _n++) {\n curCost = findCost(cluster[_n], cluster, opts.attributes);\n if (curCost < minCosts[m]) {\n minCosts[m] = curCost;\n medoids[m] = cluster[_n];\n isStillMoving = true;\n }\n }\n clusters[m] = cy.collection(cluster);\n }\n iterations++;\n }\n return clusters;\n};\nvar updateCentroids = function updateCentroids(centroids, nodes, U, weight, opts) {\n var numerator, denominator;\n for (var n = 0; n < nodes.length; n++) {\n for (var c = 0; c < centroids.length; c++) {\n weight[n][c] = Math.pow(U[n][c], opts.m);\n }\n }\n for (var _c = 0; _c < centroids.length; _c++) {\n for (var dim = 0; dim < opts.attributes.length; dim++) {\n numerator = 0;\n denominator = 0;\n for (var _n2 = 0; _n2 < nodes.length; _n2++) {\n numerator += weight[_n2][_c] * opts.attributes[dim](nodes[_n2]);\n denominator += weight[_n2][_c];\n }\n centroids[_c][dim] = numerator / denominator;\n }\n }\n};\nvar updateMembership = function updateMembership(U, _U, centroids, nodes, opts) {\n // Save previous step\n for (var i = 0; i < U.length; i++) {\n _U[i] = U[i].slice();\n }\n var sum, numerator, denominator;\n var pow = 2 / (opts.m - 1);\n for (var c = 0; c < centroids.length; c++) {\n for (var n = 0; n < nodes.length; n++) {\n sum = 0;\n for (var k = 0; k < centroids.length; k++) {\n // against all other centroids\n numerator = getDist(opts.distance, nodes[n], centroids[c], opts.attributes, 'cmeans');\n denominator = getDist(opts.distance, nodes[n], centroids[k], opts.attributes, 'cmeans');\n sum += Math.pow(numerator / denominator, pow);\n }\n U[n][c] = 1 / sum;\n }\n }\n};\nvar assign$1 = function assign(nodes, U, opts, cy) {\n var clusters = new Array(opts.k);\n for (var c = 0; c < clusters.length; c++) {\n clusters[c] = [];\n }\n var max;\n var index;\n for (var n = 0; n < U.length; n++) {\n // for each node (U is N x C matrix)\n max = -Infinity;\n index = -1;\n // Determine which cluster the node is most likely to belong in\n for (var _c2 = 0; _c2 < U[0].length; _c2++) {\n if (U[n][_c2] > max) {\n max = U[n][_c2];\n index = _c2;\n }\n }\n clusters[index].push(nodes[n]);\n }\n\n // Turn every array into a collection of nodes\n for (var _c3 = 0; _c3 < clusters.length; _c3++) {\n clusters[_c3] = cy.collection(clusters[_c3]);\n }\n return clusters;\n};\nvar fuzzyCMeans = function fuzzyCMeans(options) {\n var cy = this.cy();\n var nodes = this.nodes();\n var opts = setOptions$2(options);\n\n // Begin fuzzy c-means algorithm\n var clusters;\n var centroids;\n var U;\n var _U;\n var weight;\n\n // Step 1: Initialize letiables.\n _U = new Array(nodes.length);\n for (var i = 0; i < nodes.length; i++) {\n // N x C matrix\n _U[i] = new Array(opts.k);\n }\n U = new Array(nodes.length);\n for (var _i3 = 0; _i3 < nodes.length; _i3++) {\n // N x C matrix\n U[_i3] = new Array(opts.k);\n }\n for (var _i4 = 0; _i4 < nodes.length; _i4++) {\n var total = 0;\n for (var j = 0; j < opts.k; j++) {\n U[_i4][j] = Math.random();\n total += U[_i4][j];\n }\n for (var _j = 0; _j < opts.k; _j++) {\n U[_i4][_j] = U[_i4][_j] / total;\n }\n }\n centroids = new Array(opts.k);\n for (var _i5 = 0; _i5 < opts.k; _i5++) {\n centroids[_i5] = new Array(opts.attributes.length);\n }\n weight = new Array(nodes.length);\n for (var _i6 = 0; _i6 < nodes.length; _i6++) {\n // N x C matrix\n weight[_i6] = new Array(opts.k);\n }\n // end init FCM\n\n var isStillMoving = true;\n var iterations = 0;\n while (isStillMoving && iterations < opts.maxIterations) {\n isStillMoving = false;\n\n // Step 2: Calculate the centroids for each step.\n updateCentroids(centroids, nodes, U, weight, opts);\n\n // Step 3: Update the partition matrix U.\n updateMembership(U, _U, centroids, nodes, opts);\n\n // Step 4: Check for convergence.\n if (!haveMatricesConverged(U, _U, opts.sensitivityThreshold)) {\n isStillMoving = true;\n }\n iterations++;\n }\n\n // Assign nodes to clusters with highest probability.\n clusters = assign$1(nodes, U, opts, cy);\n return {\n clusters: clusters,\n degreeOfMembership: U\n };\n};\nvar kClustering = {\n kMeans: kMeans,\n kMedoids: kMedoids,\n fuzzyCMeans: fuzzyCMeans,\n fcm: fuzzyCMeans\n};\n\n// Implemented by Zoe Xi @zoexi for GSOC 2016\n// https://github.com/cytoscape/cytoscape.js-hierarchical\n\nvar defaults$a = defaults$g({\n distance: 'euclidean',\n // distance metric to compare nodes\n linkage: 'min',\n // linkage criterion : how to determine the distance between clusters of nodes\n mode: 'threshold',\n // mode:'threshold' => clusters must be threshold distance apart\n threshold: Infinity,\n // the distance threshold\n // mode:'dendrogram' => the nodes are organised as leaves in a tree (siblings are close), merging makes clusters\n addDendrogram: false,\n // whether to add the dendrogram to the graph for viz\n dendrogramDepth: 0,\n // depth at which dendrogram branches are merged into the returned clusters\n attributes: [] // array of attr functions\n});\nvar linkageAliases = {\n 'single': 'min',\n 'complete': 'max'\n};\nvar setOptions$1 = function setOptions(options) {\n var opts = defaults$a(options);\n var preferredAlias = linkageAliases[opts.linkage];\n if (preferredAlias != null) {\n opts.linkage = preferredAlias;\n }\n return opts;\n};\nvar mergeClosest = function mergeClosest(clusters, index, dists, mins, opts) {\n // Find two closest clusters from cached mins\n var minKey = 0;\n var min = Infinity;\n var dist;\n var attrs = opts.attributes;\n var getDist = function getDist(n1, n2) {\n return clusteringDistance(opts.distance, attrs.length, function (i) {\n return attrs[i](n1);\n }, function (i) {\n return attrs[i](n2);\n }, n1, n2);\n };\n for (var i = 0; i < clusters.length; i++) {\n var key = clusters[i].key;\n var _dist = dists[key][mins[key]];\n if (_dist < min) {\n minKey = key;\n min = _dist;\n }\n }\n if (opts.mode === 'threshold' && min >= opts.threshold || opts.mode === 'dendrogram' && clusters.length === 1) {\n return false;\n }\n var c1 = index[minKey];\n var c2 = index[mins[minKey]];\n var merged;\n\n // Merge two closest clusters\n if (opts.mode === 'dendrogram') {\n merged = {\n left: c1,\n right: c2,\n key: c1.key\n };\n } else {\n merged = {\n value: c1.value.concat(c2.value),\n key: c1.key\n };\n }\n clusters[c1.index] = merged;\n clusters.splice(c2.index, 1);\n index[c1.key] = merged;\n\n // Update distances with new merged cluster\n for (var _i = 0; _i < clusters.length; _i++) {\n var cur = clusters[_i];\n if (c1.key === cur.key) {\n dist = Infinity;\n } else if (opts.linkage === 'min') {\n dist = dists[c1.key][cur.key];\n if (dists[c1.key][cur.key] > dists[c2.key][cur.key]) {\n dist = dists[c2.key][cur.key];\n }\n } else if (opts.linkage === 'max') {\n dist = dists[c1.key][cur.key];\n if (dists[c1.key][cur.key] < dists[c2.key][cur.key]) {\n dist = dists[c2.key][cur.key];\n }\n } else if (opts.linkage === 'mean') {\n dist = (dists[c1.key][cur.key] * c1.size + dists[c2.key][cur.key] * c2.size) / (c1.size + c2.size);\n } else {\n if (opts.mode === 'dendrogram') dist = getDist(cur.value, c1.value);else dist = getDist(cur.value[0], c1.value[0]);\n }\n dists[c1.key][cur.key] = dists[cur.key][c1.key] = dist; // distance matrix is symmetric\n }\n\n // Update cached mins\n for (var _i2 = 0; _i2 < clusters.length; _i2++) {\n var key1 = clusters[_i2].key;\n if (mins[key1] === c1.key || mins[key1] === c2.key) {\n var _min = key1;\n for (var j = 0; j < clusters.length; j++) {\n var key2 = clusters[j].key;\n if (dists[key1][key2] < dists[key1][_min]) {\n _min = key2;\n }\n }\n mins[key1] = _min;\n }\n clusters[_i2].index = _i2;\n }\n\n // Clean up meta data used for clustering\n c1.key = c2.key = c1.index = c2.index = null;\n return true;\n};\nvar _getAllChildren = function getAllChildren(root, arr, cy) {\n if (!root) return;\n if (root.value) {\n arr.push(root.value);\n } else {\n if (root.left) _getAllChildren(root.left, arr);\n if (root.right) _getAllChildren(root.right, arr);\n }\n};\nvar _buildDendrogram = function buildDendrogram(root, cy) {\n if (!root) return '';\n if (root.left && root.right) {\n var leftStr = _buildDendrogram(root.left, cy);\n var rightStr = _buildDendrogram(root.right, cy);\n var node = cy.add({\n group: 'nodes',\n data: {\n id: leftStr + ',' + rightStr\n }\n });\n cy.add({\n group: 'edges',\n data: {\n source: leftStr,\n target: node.id()\n }\n });\n cy.add({\n group: 'edges',\n data: {\n source: rightStr,\n target: node.id()\n }\n });\n return node.id();\n } else if (root.value) {\n return root.value.id();\n }\n};\nvar _buildClustersFromTree = function buildClustersFromTree(root, k, cy) {\n if (!root) return [];\n var left = [],\n right = [],\n leaves = [];\n if (k === 0) {\n // don't cut tree, simply return all nodes as 1 single cluster\n if (root.left) _getAllChildren(root.left, left);\n if (root.right) _getAllChildren(root.right, right);\n leaves = left.concat(right);\n return [cy.collection(leaves)];\n } else if (k === 1) {\n // cut at root\n\n if (root.value) {\n // leaf node\n return [cy.collection(root.value)];\n } else {\n if (root.left) _getAllChildren(root.left, left);\n if (root.right) _getAllChildren(root.right, right);\n return [cy.collection(left), cy.collection(right)];\n }\n } else {\n if (root.value) {\n return [cy.collection(root.value)];\n } else {\n if (root.left) left = _buildClustersFromTree(root.left, k - 1, cy);\n if (root.right) right = _buildClustersFromTree(root.right, k - 1, cy);\n return left.concat(right);\n }\n }\n};\n\nvar hierarchicalClustering = function hierarchicalClustering(options) {\n var cy = this.cy();\n var nodes = this.nodes();\n\n // Set parameters of algorithm: linkage type, distance metric, etc.\n var opts = setOptions$1(options);\n var attrs = opts.attributes;\n var getDist = function getDist(n1, n2) {\n return clusteringDistance(opts.distance, attrs.length, function (i) {\n return attrs[i](n1);\n }, function (i) {\n return attrs[i](n2);\n }, n1, n2);\n };\n\n // Begin hierarchical algorithm\n var clusters = [];\n var dists = []; // distances between each pair of clusters\n var mins = []; // closest cluster for each cluster\n var index = []; // hash of all clusters by key\n\n // In agglomerative (bottom-up) clustering, each node starts as its own cluster\n for (var n = 0; n < nodes.length; n++) {\n var cluster = {\n value: opts.mode === 'dendrogram' ? nodes[n] : [nodes[n]],\n key: n,\n index: n\n };\n clusters[n] = cluster;\n index[n] = cluster;\n dists[n] = [];\n mins[n] = 0;\n }\n\n // Calculate the distance between each pair of clusters\n for (var i = 0; i < clusters.length; i++) {\n for (var j = 0; j <= i; j++) {\n var dist = undefined;\n if (opts.mode === 'dendrogram') {\n // modes store cluster values differently\n dist = i === j ? Infinity : getDist(clusters[i].value, clusters[j].value);\n } else {\n dist = i === j ? Infinity : getDist(clusters[i].value[0], clusters[j].value[0]);\n }\n dists[i][j] = dist;\n dists[j][i] = dist;\n if (dist < dists[i][mins[i]]) {\n mins[i] = j; // Cache mins: closest cluster to cluster i is cluster j\n }\n }\n }\n\n // Find the closest pair of clusters and merge them into a single cluster.\n // Update distances between new cluster and each of the old clusters, and loop until threshold reached.\n var merged = mergeClosest(clusters, index, dists, mins, opts);\n while (merged) {\n merged = mergeClosest(clusters, index, dists, mins, opts);\n }\n var retClusters;\n\n // Dendrogram mode builds the hierarchy and adds intermediary nodes + edges\n // in addition to returning the clusters.\n if (opts.mode === 'dendrogram') {\n retClusters = _buildClustersFromTree(clusters[0], opts.dendrogramDepth, cy);\n if (opts.addDendrogram) _buildDendrogram(clusters[0], cy);\n } else {\n // Regular mode simply returns the clusters\n\n retClusters = new Array(clusters.length);\n clusters.forEach(function (cluster, i) {\n // Clean up meta data used for clustering\n cluster.key = cluster.index = null;\n retClusters[i] = cy.collection(cluster.value);\n });\n }\n return retClusters;\n};\nvar hierarchicalClustering$1 = {\n hierarchicalClustering: hierarchicalClustering,\n hca: hierarchicalClustering\n};\n\n// Implemented by Zoe Xi @zoexi for GSOC 2016\n// https://github.com/cytoscape/cytoscape.js-affinity-propagation\n\nvar defaults$9 = defaults$g({\n distance: 'euclidean',\n // distance metric to compare attributes between two nodes\n preference: 'median',\n // suitability of a data point to serve as an exemplar\n damping: 0.8,\n // damping factor between [0.5, 1)\n maxIterations: 1000,\n // max number of iterations to run\n minIterations: 100,\n // min number of iterations to run in order for clustering to stop\n attributes: [// functions to quantify the similarity between any two points\n // e.g. node => node.data('weight')\n ]\n});\nvar setOptions = function setOptions(options) {\n var dmp = options.damping;\n var pref = options.preference;\n if (!(0.5 <= dmp && dmp < 1)) {\n error(\"Damping must range on [0.5, 1). Got: \".concat(dmp));\n }\n var validPrefs = ['median', 'mean', 'min', 'max'];\n if (!(validPrefs.some(function (v) {\n return v === pref;\n }) || number$1(pref))) {\n error(\"Preference must be one of [\".concat(validPrefs.map(function (p) {\n return \"'\".concat(p, \"'\");\n }).join(', '), \"] or a number. Got: \").concat(pref));\n }\n return defaults$9(options);\n};\n\nvar getSimilarity = function getSimilarity(type, n1, n2, attributes) {\n var attr = function attr(n, i) {\n return attributes[i](n);\n };\n\n // nb negative because similarity should have an inverse relationship to distance\n return -clusteringDistance(type, attributes.length, function (i) {\n return attr(n1, i);\n }, function (i) {\n return attr(n2, i);\n }, n1, n2);\n};\nvar getPreference = function getPreference(S, preference) {\n // larger preference = greater # of clusters\n var p = null;\n if (preference === 'median') {\n p = median(S);\n } else if (preference === 'mean') {\n p = mean(S);\n } else if (preference === 'min') {\n p = min(S);\n } else if (preference === 'max') {\n p = max(S);\n } else {\n // Custom preference number, as set by user\n p = preference;\n }\n return p;\n};\nvar findExemplars = function findExemplars(n, R, A) {\n var indices = [];\n for (var i = 0; i < n; i++) {\n if (R[i * n + i] + A[i * n + i] > 0) {\n indices.push(i);\n }\n }\n return indices;\n};\nvar assignClusters = function assignClusters(n, S, exemplars) {\n var clusters = [];\n for (var i = 0; i < n; i++) {\n var index = -1;\n var max = -Infinity;\n for (var ei = 0; ei < exemplars.length; ei++) {\n var e = exemplars[ei];\n if (S[i * n + e] > max) {\n index = e;\n max = S[i * n + e];\n }\n }\n if (index > 0) {\n clusters.push(index);\n }\n }\n for (var _ei = 0; _ei < exemplars.length; _ei++) {\n clusters[exemplars[_ei]] = exemplars[_ei];\n }\n return clusters;\n};\nvar assign = function assign(n, S, exemplars) {\n var clusters = assignClusters(n, S, exemplars);\n for (var ei = 0; ei < exemplars.length; ei++) {\n var ii = [];\n for (var c = 0; c < clusters.length; c++) {\n if (clusters[c] === exemplars[ei]) {\n ii.push(c);\n }\n }\n var maxI = -1;\n var maxSum = -Infinity;\n for (var i = 0; i < ii.length; i++) {\n var sum = 0;\n for (var j = 0; j < ii.length; j++) {\n sum += S[ii[j] * n + ii[i]];\n }\n if (sum > maxSum) {\n maxI = i;\n maxSum = sum;\n }\n }\n exemplars[ei] = ii[maxI];\n }\n clusters = assignClusters(n, S, exemplars);\n return clusters;\n};\nvar affinityPropagation = function affinityPropagation(options) {\n var cy = this.cy();\n var nodes = this.nodes();\n var opts = setOptions(options);\n\n // Map each node to its position in node array\n var id2position = {};\n for (var i = 0; i < nodes.length; i++) {\n id2position[nodes[i].id()] = i;\n }\n\n // Begin affinity propagation algorithm\n\n var n; // number of data points\n var n2; // size of matrices\n var S; // similarity matrix (1D array)\n var p; // preference/suitability of a data point to serve as an exemplar\n var R; // responsibility matrix (1D array)\n var A; // availability matrix (1D array)\n\n n = nodes.length;\n n2 = n * n;\n\n // Initialize and build S similarity matrix\n S = new Array(n2);\n for (var _i = 0; _i < n2; _i++) {\n S[_i] = -Infinity; // for cases where two data points shouldn't be linked together\n }\n for (var _i2 = 0; _i2 < n; _i2++) {\n for (var j = 0; j < n; j++) {\n if (_i2 !== j) {\n S[_i2 * n + j] = getSimilarity(opts.distance, nodes[_i2], nodes[j], opts.attributes);\n }\n }\n }\n\n // Place preferences on the diagonal of S\n p = getPreference(S, opts.preference);\n for (var _i3 = 0; _i3 < n; _i3++) {\n S[_i3 * n + _i3] = p;\n }\n\n // Initialize R responsibility matrix\n R = new Array(n2);\n for (var _i4 = 0; _i4 < n2; _i4++) {\n R[_i4] = 0.0;\n }\n\n // Initialize A availability matrix\n A = new Array(n2);\n for (var _i5 = 0; _i5 < n2; _i5++) {\n A[_i5] = 0.0;\n }\n var old = new Array(n);\n var Rp = new Array(n);\n var se = new Array(n);\n for (var _i6 = 0; _i6 < n; _i6++) {\n old[_i6] = 0.0;\n Rp[_i6] = 0.0;\n se[_i6] = 0;\n }\n var e = new Array(n * opts.minIterations);\n for (var _i7 = 0; _i7 < e.length; _i7++) {\n e[_i7] = 0;\n }\n var iter;\n for (iter = 0; iter < opts.maxIterations; iter++) {\n // main algorithmic loop\n\n // Update R responsibility matrix\n for (var _i8 = 0; _i8 < n; _i8++) {\n var max = -Infinity,\n max2 = -Infinity,\n maxI = -1,\n AS = 0.0;\n for (var _j = 0; _j < n; _j++) {\n old[_j] = R[_i8 * n + _j];\n AS = A[_i8 * n + _j] + S[_i8 * n + _j];\n if (AS >= max) {\n max2 = max;\n max = AS;\n maxI = _j;\n } else if (AS > max2) {\n max2 = AS;\n }\n }\n for (var _j2 = 0; _j2 < n; _j2++) {\n R[_i8 * n + _j2] = (1 - opts.damping) * (S[_i8 * n + _j2] - max) + opts.damping * old[_j2];\n }\n R[_i8 * n + maxI] = (1 - opts.damping) * (S[_i8 * n + maxI] - max2) + opts.damping * old[maxI];\n }\n\n // Update A availability matrix\n for (var _i9 = 0; _i9 < n; _i9++) {\n var sum = 0;\n for (var _j3 = 0; _j3 < n; _j3++) {\n old[_j3] = A[_j3 * n + _i9];\n Rp[_j3] = Math.max(0, R[_j3 * n + _i9]);\n sum += Rp[_j3];\n }\n sum -= Rp[_i9];\n Rp[_i9] = R[_i9 * n + _i9];\n sum += Rp[_i9];\n for (var _j4 = 0; _j4 < n; _j4++) {\n A[_j4 * n + _i9] = (1 - opts.damping) * Math.min(0, sum - Rp[_j4]) + opts.damping * old[_j4];\n }\n A[_i9 * n + _i9] = (1 - opts.damping) * (sum - Rp[_i9]) + opts.damping * old[_i9];\n }\n\n // Check for convergence\n var K = 0;\n for (var _i10 = 0; _i10 < n; _i10++) {\n var E = A[_i10 * n + _i10] + R[_i10 * n + _i10] > 0 ? 1 : 0;\n e[iter % opts.minIterations * n + _i10] = E;\n K += E;\n }\n if (K > 0 && (iter >= opts.minIterations - 1 || iter == opts.maxIterations - 1)) {\n var _sum = 0;\n for (var _i11 = 0; _i11 < n; _i11++) {\n se[_i11] = 0;\n for (var _j5 = 0; _j5 < opts.minIterations; _j5++) {\n se[_i11] += e[_j5 * n + _i11];\n }\n if (se[_i11] === 0 || se[_i11] === opts.minIterations) {\n _sum++;\n }\n }\n if (_sum === n) {\n // then we have convergence\n break;\n }\n }\n }\n\n // Identify exemplars (cluster centers)\n var exemplarsIndices = findExemplars(n, R, A);\n\n // Assign nodes to clusters\n var clusterIndices = assign(n, S, exemplarsIndices);\n var clusters = {};\n for (var c = 0; c < exemplarsIndices.length; c++) {\n clusters[exemplarsIndices[c]] = [];\n }\n for (var _i12 = 0; _i12 < nodes.length; _i12++) {\n var pos = id2position[nodes[_i12].id()];\n var clusterIndex = clusterIndices[pos];\n if (clusterIndex != null) {\n // the node may have not been assigned a cluster if no valid attributes were specified\n clusters[clusterIndex].push(nodes[_i12]);\n }\n }\n var retClusters = new Array(exemplarsIndices.length);\n for (var _c = 0; _c < exemplarsIndices.length; _c++) {\n retClusters[_c] = cy.collection(clusters[exemplarsIndices[_c]]);\n }\n return retClusters;\n};\nvar affinityPropagation$1 = {\n affinityPropagation: affinityPropagation,\n ap: affinityPropagation\n};\n\nvar hierholzerDefaults = defaults$g({\n root: undefined,\n directed: false\n});\nvar elesfn$k = {\n hierholzer: function hierholzer(options) {\n if (!plainObject(options)) {\n var args = arguments;\n options = {\n root: args[0],\n directed: args[1]\n };\n }\n var _hierholzerDefaults = hierholzerDefaults(options),\n root = _hierholzerDefaults.root,\n directed = _hierholzerDefaults.directed;\n var eles = this;\n var dflag = false;\n var oddIn;\n var oddOut;\n var startVertex;\n if (root) startVertex = string(root) ? this.filter(root)[0].id() : root[0].id();\n var nodes = {};\n var edges = {};\n if (directed) {\n eles.forEach(function (ele) {\n var id = ele.id();\n if (ele.isNode()) {\n var ind = ele.indegree(true);\n var outd = ele.outdegree(true);\n var d1 = ind - outd;\n var d2 = outd - ind;\n if (d1 == 1) {\n if (oddIn) dflag = true;else oddIn = id;\n } else if (d2 == 1) {\n if (oddOut) dflag = true;else oddOut = id;\n } else if (d2 > 1 || d1 > 1) {\n dflag = true;\n }\n nodes[id] = [];\n ele.outgoers().forEach(function (e) {\n if (e.isEdge()) nodes[id].push(e.id());\n });\n } else {\n edges[id] = [undefined, ele.target().id()];\n }\n });\n } else {\n eles.forEach(function (ele) {\n var id = ele.id();\n if (ele.isNode()) {\n var d = ele.degree(true);\n if (d % 2) {\n if (!oddIn) oddIn = id;else if (!oddOut) oddOut = id;else dflag = true;\n }\n nodes[id] = [];\n ele.connectedEdges().forEach(function (e) {\n return nodes[id].push(e.id());\n });\n } else {\n edges[id] = [ele.source().id(), ele.target().id()];\n }\n });\n }\n var result = {\n found: false,\n trail: undefined\n };\n if (dflag) return result;else if (oddOut && oddIn) {\n if (directed) {\n if (startVertex && oddOut != startVertex) {\n return result;\n }\n startVertex = oddOut;\n } else {\n if (startVertex && oddOut != startVertex && oddIn != startVertex) {\n return result;\n } else if (!startVertex) {\n startVertex = oddOut;\n }\n }\n } else {\n if (!startVertex) startVertex = eles[0].id();\n }\n var walk = function walk(v) {\n var currentNode = v;\n var subtour = [v];\n var adj, adjTail, adjHead;\n while (nodes[currentNode].length) {\n adj = nodes[currentNode].shift();\n adjTail = edges[adj][0];\n adjHead = edges[adj][1];\n if (currentNode != adjHead) {\n nodes[adjHead] = nodes[adjHead].filter(function (e) {\n return e != adj;\n });\n currentNode = adjHead;\n } else if (!directed && currentNode != adjTail) {\n nodes[adjTail] = nodes[adjTail].filter(function (e) {\n return e != adj;\n });\n currentNode = adjTail;\n }\n subtour.unshift(adj);\n subtour.unshift(currentNode);\n }\n return subtour;\n };\n var trail = [];\n var subtour = [];\n subtour = walk(startVertex);\n while (subtour.length != 1) {\n if (nodes[subtour[0]].length == 0) {\n trail.unshift(eles.getElementById(subtour.shift()));\n trail.unshift(eles.getElementById(subtour.shift()));\n } else {\n subtour = walk(subtour.shift()).concat(subtour);\n }\n }\n trail.unshift(eles.getElementById(subtour.shift())); // final node\n\n for (var d in nodes) {\n if (nodes[d].length) {\n return result;\n }\n }\n result.found = true;\n result.trail = this.spawn(trail, true);\n return result;\n }\n};\n\nvar hopcroftTarjanBiconnected = function hopcroftTarjanBiconnected() {\n var eles = this;\n var nodes = {};\n var id = 0;\n var edgeCount = 0;\n var components = [];\n var stack = [];\n var visitedEdges = {};\n var buildComponent = function buildComponent(x, y) {\n var i = stack.length - 1;\n var cutset = [];\n var component = eles.spawn();\n while (stack[i].x != x || stack[i].y != y) {\n cutset.push(stack.pop().edge);\n i--;\n }\n cutset.push(stack.pop().edge);\n cutset.forEach(function (edge) {\n var connectedNodes = edge.connectedNodes().intersection(eles);\n component.merge(edge);\n connectedNodes.forEach(function (node) {\n var nodeId = node.id();\n var connectedEdges = node.connectedEdges().intersection(eles);\n component.merge(node);\n if (!nodes[nodeId].cutVertex) {\n component.merge(connectedEdges);\n } else {\n component.merge(connectedEdges.filter(function (edge) {\n return edge.isLoop();\n }));\n }\n });\n });\n components.push(component);\n };\n var _biconnectedSearch = function biconnectedSearch(root, currentNode, parent) {\n if (root === parent) edgeCount += 1;\n nodes[currentNode] = {\n id: id,\n low: id++,\n cutVertex: false\n };\n var edges = eles.getElementById(currentNode).connectedEdges().intersection(eles);\n if (edges.size() === 0) {\n components.push(eles.spawn(eles.getElementById(currentNode)));\n } else {\n var sourceId, targetId, otherNodeId, edgeId;\n edges.forEach(function (edge) {\n sourceId = edge.source().id();\n targetId = edge.target().id();\n otherNodeId = sourceId === currentNode ? targetId : sourceId;\n if (otherNodeId !== parent) {\n edgeId = edge.id();\n if (!visitedEdges[edgeId]) {\n visitedEdges[edgeId] = true;\n stack.push({\n x: currentNode,\n y: otherNodeId,\n edge: edge\n });\n }\n if (!(otherNodeId in nodes)) {\n _biconnectedSearch(root, otherNodeId, currentNode);\n nodes[currentNode].low = Math.min(nodes[currentNode].low, nodes[otherNodeId].low);\n if (nodes[currentNode].id <= nodes[otherNodeId].low) {\n nodes[currentNode].cutVertex = true;\n buildComponent(currentNode, otherNodeId);\n }\n } else {\n nodes[currentNode].low = Math.min(nodes[currentNode].low, nodes[otherNodeId].id);\n }\n }\n });\n }\n };\n eles.forEach(function (ele) {\n if (ele.isNode()) {\n var nodeId = ele.id();\n if (!(nodeId in nodes)) {\n edgeCount = 0;\n _biconnectedSearch(nodeId, nodeId);\n nodes[nodeId].cutVertex = edgeCount > 1;\n }\n }\n });\n var cutVertices = Object.keys(nodes).filter(function (id) {\n return nodes[id].cutVertex;\n }).map(function (id) {\n return eles.getElementById(id);\n });\n return {\n cut: eles.spawn(cutVertices),\n components: components\n };\n};\nvar hopcroftTarjanBiconnected$1 = {\n hopcroftTarjanBiconnected: hopcroftTarjanBiconnected,\n htbc: hopcroftTarjanBiconnected,\n htb: hopcroftTarjanBiconnected,\n hopcroftTarjanBiconnectedComponents: hopcroftTarjanBiconnected\n};\n\nvar tarjanStronglyConnected = function tarjanStronglyConnected() {\n var eles = this;\n var nodes = {};\n var index = 0;\n var components = [];\n var stack = [];\n var cut = eles.spawn(eles);\n var _stronglyConnectedSearch = function stronglyConnectedSearch(sourceNodeId) {\n stack.push(sourceNodeId);\n nodes[sourceNodeId] = {\n index: index,\n low: index++,\n explored: false\n };\n var connectedEdges = eles.getElementById(sourceNodeId).connectedEdges().intersection(eles);\n connectedEdges.forEach(function (edge) {\n var targetNodeId = edge.target().id();\n if (targetNodeId !== sourceNodeId) {\n if (!(targetNodeId in nodes)) {\n _stronglyConnectedSearch(targetNodeId);\n }\n if (!nodes[targetNodeId].explored) {\n nodes[sourceNodeId].low = Math.min(nodes[sourceNodeId].low, nodes[targetNodeId].low);\n }\n }\n });\n if (nodes[sourceNodeId].index === nodes[sourceNodeId].low) {\n var componentNodes = eles.spawn();\n for (;;) {\n var nodeId = stack.pop();\n componentNodes.merge(eles.getElementById(nodeId));\n nodes[nodeId].low = nodes[sourceNodeId].index;\n nodes[nodeId].explored = true;\n if (nodeId === sourceNodeId) {\n break;\n }\n }\n var componentEdges = componentNodes.edgesWith(componentNodes);\n var component = componentNodes.merge(componentEdges);\n components.push(component);\n cut = cut.difference(component);\n }\n };\n eles.forEach(function (ele) {\n if (ele.isNode()) {\n var nodeId = ele.id();\n if (!(nodeId in nodes)) {\n _stronglyConnectedSearch(nodeId);\n }\n }\n });\n return {\n cut: cut,\n components: components\n };\n};\nvar tarjanStronglyConnected$1 = {\n tarjanStronglyConnected: tarjanStronglyConnected,\n tsc: tarjanStronglyConnected,\n tscc: tarjanStronglyConnected,\n tarjanStronglyConnectedComponents: tarjanStronglyConnected\n};\n\nvar elesfn$j = {};\n[elesfn$v, elesfn$u, elesfn$t, elesfn$s, elesfn$r, elesfn$q, elesfn$p, elesfn$o, elesfn$n, elesfn$m, elesfn$l, markovClustering$1, kClustering, hierarchicalClustering$1, affinityPropagation$1, elesfn$k, hopcroftTarjanBiconnected$1, tarjanStronglyConnected$1].forEach(function (props) {\n extend(elesfn$j, props);\n});\n\n/*!\nEmbeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable\nCopyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)\nLicensed under The MIT License (http://opensource.org/licenses/MIT)\n*/\n\n/* promise states [Promises/A+ 2.1] */\nvar STATE_PENDING = 0; /* [Promises/A+ 2.1.1] */\nvar STATE_FULFILLED = 1; /* [Promises/A+ 2.1.2] */\nvar STATE_REJECTED = 2; /* [Promises/A+ 2.1.3] */\n\n/* promise object constructor */\nvar _api = function api(executor) {\n /* optionally support non-constructor/plain-function call */\n if (!(this instanceof _api)) return new _api(executor);\n\n /* initialize object */\n this.id = 'Thenable/1.0.7';\n this.state = STATE_PENDING; /* initial state */\n this.fulfillValue = undefined; /* initial value */ /* [Promises/A+ 1.3, 2.1.2.2] */\n this.rejectReason = undefined; /* initial reason */ /* [Promises/A+ 1.5, 2.1.3.2] */\n this.onFulfilled = []; /* initial handlers */\n this.onRejected = []; /* initial handlers */\n\n /* provide optional information-hiding proxy */\n this.proxy = {\n then: this.then.bind(this)\n };\n\n /* support optional executor function */\n if (typeof executor === 'function') executor.call(this, this.fulfill.bind(this), this.reject.bind(this));\n};\n\n/* promise API methods */\n_api.prototype = {\n /* promise resolving methods */\n fulfill: function fulfill(value) {\n return deliver(this, STATE_FULFILLED, 'fulfillValue', value);\n },\n reject: function reject(value) {\n return deliver(this, STATE_REJECTED, 'rejectReason', value);\n },\n /* \"The then Method\" [Promises/A+ 1.1, 1.2, 2.2] */\n then: function then(onFulfilled, onRejected) {\n var curr = this;\n var next = new _api(); /* [Promises/A+ 2.2.7] */\n curr.onFulfilled.push(resolver(onFulfilled, next, 'fulfill')); /* [Promises/A+ 2.2.2/2.2.6] */\n curr.onRejected.push(resolver(onRejected, next, 'reject')); /* [Promises/A+ 2.2.3/2.2.6] */\n execute(curr);\n return next.proxy; /* [Promises/A+ 2.2.7, 3.3] */\n }\n};\n\n/* deliver an action */\nvar deliver = function deliver(curr, state, name, value) {\n if (curr.state === STATE_PENDING) {\n curr.state = state; /* [Promises/A+ 2.1.2.1, 2.1.3.1] */\n curr[name] = value; /* [Promises/A+ 2.1.2.2, 2.1.3.2] */\n execute(curr);\n }\n return curr;\n};\n\n/* execute all handlers */\nvar execute = function execute(curr) {\n if (curr.state === STATE_FULFILLED) execute_handlers(curr, 'onFulfilled', curr.fulfillValue);else if (curr.state === STATE_REJECTED) execute_handlers(curr, 'onRejected', curr.rejectReason);\n};\n\n/* execute particular set of handlers */\nvar execute_handlers = function execute_handlers(curr, name, value) {\n /* global setImmediate: true */\n /* global setTimeout: true */\n\n /* short-circuit processing */\n if (curr[name].length === 0) return;\n\n /* iterate over all handlers, exactly once */\n var handlers = curr[name];\n curr[name] = []; /* [Promises/A+ 2.2.2.3, 2.2.3.3] */\n var func = function func() {\n for (var i = 0; i < handlers.length; i++) handlers[i](value); /* [Promises/A+ 2.2.5] */\n };\n\n /* execute procedure asynchronously */ /* [Promises/A+ 2.2.4, 3.1] */\n if (typeof setImmediate === 'function') setImmediate(func);else setTimeout(func, 0);\n};\n\n/* generate a resolver function */\nvar resolver = function resolver(cb, next, method) {\n return function (value) {\n if (typeof cb !== 'function') /* [Promises/A+ 2.2.1, 2.2.7.3, 2.2.7.4] */\n next[method].call(next, value); /* [Promises/A+ 2.2.7.3, 2.2.7.4] */else {\n var result;\n try {\n result = cb(value);\n } /* [Promises/A+ 2.2.2.1, 2.2.3.1, 2.2.5, 3.2] */ catch (e) {\n next.reject(e); /* [Promises/A+ 2.2.7.2] */\n return;\n }\n _resolve(next, result); /* [Promises/A+ 2.2.7.1] */\n }\n };\n};\n\n/* \"Promise Resolution Procedure\" */ /* [Promises/A+ 2.3] */\nvar _resolve = function resolve(promise, x) {\n /* sanity check arguments */ /* [Promises/A+ 2.3.1] */\n if (promise === x || promise.proxy === x) {\n promise.reject(new TypeError('cannot resolve promise with itself'));\n return;\n }\n\n /* surgically check for a \"then\" method\n (mainly to just call the \"getter\" of \"then\" only once) */\n var then;\n if (_typeof(x) === 'object' && x !== null || typeof x === 'function') {\n try {\n then = x.then;\n } /* [Promises/A+ 2.3.3.1, 3.5] */ catch (e) {\n promise.reject(e); /* [Promises/A+ 2.3.3.2] */\n return;\n }\n }\n\n /* handle own Thenables [Promises/A+ 2.3.2]\n and similar \"thenables\" [Promises/A+ 2.3.3] */\n if (typeof then === 'function') {\n var resolved = false;\n try {\n /* call retrieved \"then\" method */ /* [Promises/A+ 2.3.3.3] */\n then.call(x, /* resolvePromise */ /* [Promises/A+ 2.3.3.3.1] */\n function (y) {\n if (resolved) return;\n resolved = true; /* [Promises/A+ 2.3.3.3.3] */\n if (y === x) /* [Promises/A+ 3.6] */\n promise.reject(new TypeError('circular thenable chain'));else _resolve(promise, y);\n }, /* rejectPromise */ /* [Promises/A+ 2.3.3.3.2] */\n function (r) {\n if (resolved) return;\n resolved = true; /* [Promises/A+ 2.3.3.3.3] */\n promise.reject(r);\n });\n } catch (e) {\n if (!resolved) /* [Promises/A+ 2.3.3.3.3] */\n promise.reject(e); /* [Promises/A+ 2.3.3.3.4] */\n }\n return;\n }\n\n /* handle other values */\n promise.fulfill(x); /* [Promises/A+ 2.3.4, 2.3.3.4] */\n};\n\n// so we always have Promise.all()\n_api.all = function (ps) {\n return new _api(function (resolveAll, rejectAll) {\n var vals = new Array(ps.length);\n var doneCount = 0;\n var fulfill = function fulfill(i, val) {\n vals[i] = val;\n doneCount++;\n if (doneCount === ps.length) {\n resolveAll(vals);\n }\n };\n for (var i = 0; i < ps.length; i++) {\n (function (i) {\n var p = ps[i];\n var isPromise = p != null && p.then != null;\n if (isPromise) {\n p.then(function (val) {\n fulfill(i, val);\n }, function (err) {\n rejectAll(err);\n });\n } else {\n var val = p;\n fulfill(i, val);\n }\n })(i);\n }\n });\n};\n_api.resolve = function (val) {\n return new _api(function (resolve, reject) {\n resolve(val);\n });\n};\n_api.reject = function (val) {\n return new _api(function (resolve, reject) {\n reject(val);\n });\n};\nvar Promise$1 = typeof Promise !== 'undefined' ? Promise : _api; // eslint-disable-line no-undef\n\nvar Animation = function Animation(target, opts, opts2) {\n var isCore = core(target);\n var isEle = !isCore;\n var _p = this._private = extend({\n duration: 1000\n }, opts, opts2);\n _p.target = target;\n _p.style = _p.style || _p.css;\n _p.started = false;\n _p.playing = false;\n _p.hooked = false;\n _p.applying = false;\n _p.progress = 0;\n _p.completes = [];\n _p.frames = [];\n if (_p.complete && fn$6(_p.complete)) {\n _p.completes.push(_p.complete);\n }\n if (isEle) {\n var pos = target.position();\n _p.startPosition = _p.startPosition || {\n x: pos.x,\n y: pos.y\n };\n _p.startStyle = _p.startStyle || target.cy().style().getAnimationStartStyle(target, _p.style);\n }\n if (isCore) {\n var pan = target.pan();\n _p.startPan = {\n x: pan.x,\n y: pan.y\n };\n _p.startZoom = target.zoom();\n }\n\n // for future timeline/animations impl\n this.length = 1;\n this[0] = this;\n};\nvar anifn = Animation.prototype;\nextend(anifn, {\n instanceString: function instanceString() {\n return 'animation';\n },\n hook: function hook() {\n var _p = this._private;\n if (!_p.hooked) {\n // add to target's animation queue\n var q;\n var tAni = _p.target._private.animation;\n if (_p.queue) {\n q = tAni.queue;\n } else {\n q = tAni.current;\n }\n q.push(this);\n\n // add to the animation loop pool\n if (elementOrCollection(_p.target)) {\n _p.target.cy().addToAnimationPool(_p.target);\n }\n _p.hooked = true;\n }\n return this;\n },\n play: function play() {\n var _p = this._private;\n\n // autorewind\n if (_p.progress === 1) {\n _p.progress = 0;\n }\n _p.playing = true;\n _p.started = false; // needs to be started by animation loop\n _p.stopped = false;\n this.hook();\n\n // the animation loop will start the animation...\n\n return this;\n },\n playing: function playing() {\n return this._private.playing;\n },\n apply: function apply() {\n var _p = this._private;\n _p.applying = true;\n _p.started = false; // needs to be started by animation loop\n _p.stopped = false;\n this.hook();\n\n // the animation loop will apply the animation at this progress\n\n return this;\n },\n applying: function applying() {\n return this._private.applying;\n },\n pause: function pause() {\n var _p = this._private;\n _p.playing = false;\n _p.started = false;\n return this;\n },\n stop: function stop() {\n var _p = this._private;\n _p.playing = false;\n _p.started = false;\n _p.stopped = true; // to be removed from animation queues\n\n return this;\n },\n rewind: function rewind() {\n return this.progress(0);\n },\n fastforward: function fastforward() {\n return this.progress(1);\n },\n time: function time(t) {\n var _p = this._private;\n if (t === undefined) {\n return _p.progress * _p.duration;\n } else {\n return this.progress(t / _p.duration);\n }\n },\n progress: function progress(p) {\n var _p = this._private;\n var wasPlaying = _p.playing;\n if (p === undefined) {\n return _p.progress;\n } else {\n if (wasPlaying) {\n this.pause();\n }\n _p.progress = p;\n _p.started = false;\n if (wasPlaying) {\n this.play();\n }\n }\n return this;\n },\n completed: function completed() {\n return this._private.progress === 1;\n },\n reverse: function reverse() {\n var _p = this._private;\n var wasPlaying = _p.playing;\n if (wasPlaying) {\n this.pause();\n }\n _p.progress = 1 - _p.progress;\n _p.started = false;\n var swap = function swap(a, b) {\n var _pa = _p[a];\n if (_pa == null) {\n return;\n }\n _p[a] = _p[b];\n _p[b] = _pa;\n };\n swap('zoom', 'startZoom');\n swap('pan', 'startPan');\n swap('position', 'startPosition');\n\n // swap styles\n if (_p.style) {\n for (var i = 0; i < _p.style.length; i++) {\n var prop = _p.style[i];\n var name = prop.name;\n var startStyleProp = _p.startStyle[name];\n _p.startStyle[name] = prop;\n _p.style[i] = startStyleProp;\n }\n }\n if (wasPlaying) {\n this.play();\n }\n return this;\n },\n promise: function promise(type) {\n var _p = this._private;\n var arr;\n switch (type) {\n case 'frame':\n arr = _p.frames;\n break;\n default:\n case 'complete':\n case 'completed':\n arr = _p.completes;\n }\n return new Promise$1(function (resolve, reject) {\n arr.push(function () {\n resolve();\n });\n });\n }\n});\nanifn.complete = anifn.completed;\nanifn.run = anifn.play;\nanifn.running = anifn.playing;\n\nvar define$3 = {\n animated: function animated() {\n return function animatedImpl() {\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return false;\n }\n var ele = all[0];\n if (ele) {\n return ele._private.animation.current.length > 0;\n }\n };\n },\n // animated\n\n clearQueue: function clearQueue() {\n return function clearQueueImpl() {\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n for (var i = 0; i < all.length; i++) {\n var ele = all[i];\n ele._private.animation.queue = [];\n }\n return this;\n };\n },\n // clearQueue\n\n delay: function delay() {\n return function delayImpl(time, complete) {\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n return this.animate({\n delay: time,\n duration: time,\n complete: complete\n });\n };\n },\n // delay\n\n delayAnimation: function delayAnimation() {\n return function delayAnimationImpl(time, complete) {\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n return this.animation({\n delay: time,\n duration: time,\n complete: complete\n });\n };\n },\n // delay\n\n animation: function animation() {\n return function animationImpl(properties, params) {\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n var cy = this._private.cy || this;\n var isCore = !selfIsArrayLike;\n var isEles = !isCore;\n if (!cy.styleEnabled()) {\n return this;\n }\n var style = cy.style();\n properties = extend({}, properties, params);\n var propertiesEmpty = Object.keys(properties).length === 0;\n if (propertiesEmpty) {\n return new Animation(all[0], properties); // nothing to animate\n }\n if (properties.duration === undefined) {\n properties.duration = 400;\n }\n switch (properties.duration) {\n case 'slow':\n properties.duration = 600;\n break;\n case 'fast':\n properties.duration = 200;\n break;\n }\n if (isEles) {\n properties.style = style.getPropsList(properties.style || properties.css);\n properties.css = undefined;\n }\n if (isEles && properties.renderedPosition != null) {\n var rpos = properties.renderedPosition;\n var pan = cy.pan();\n var zoom = cy.zoom();\n properties.position = renderedToModelPosition(rpos, zoom, pan);\n }\n\n // override pan w/ panBy if set\n if (isCore && properties.panBy != null) {\n var panBy = properties.panBy;\n var cyPan = cy.pan();\n properties.pan = {\n x: cyPan.x + panBy.x,\n y: cyPan.y + panBy.y\n };\n }\n\n // override pan w/ center if set\n var center = properties.center || properties.centre;\n if (isCore && center != null) {\n var centerPan = cy.getCenterPan(center.eles, properties.zoom);\n if (centerPan != null) {\n properties.pan = centerPan;\n }\n }\n\n // override pan & zoom w/ fit if set\n if (isCore && properties.fit != null) {\n var fit = properties.fit;\n var fitVp = cy.getFitViewport(fit.eles || fit.boundingBox, fit.padding);\n if (fitVp != null) {\n properties.pan = fitVp.pan;\n properties.zoom = fitVp.zoom;\n }\n }\n\n // override zoom (& potentially pan) w/ zoom obj if set\n if (isCore && plainObject(properties.zoom)) {\n var vp = cy.getZoomedViewport(properties.zoom);\n if (vp != null) {\n if (vp.zoomed) {\n properties.zoom = vp.zoom;\n }\n if (vp.panned) {\n properties.pan = vp.pan;\n }\n } else {\n properties.zoom = null; // an inavalid zoom (e.g. no delta) gets automatically destroyed\n }\n }\n return new Animation(all[0], properties);\n };\n },\n // animate\n\n animate: function animate() {\n return function animateImpl(properties, params) {\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n if (params) {\n properties = extend({}, properties, params);\n }\n\n // manually hook and run the animation\n for (var i = 0; i < all.length; i++) {\n var ele = all[i];\n var queue = ele.animated() && (properties.queue === undefined || properties.queue);\n var ani = ele.animation(properties, queue ? {\n queue: true\n } : undefined);\n ani.play();\n }\n return this; // chaining\n };\n },\n // animate\n\n stop: function stop() {\n return function stopImpl(clearQueue, jumpToEnd) {\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n var cy = this._private.cy || this;\n if (!cy.styleEnabled()) {\n return this;\n }\n for (var i = 0; i < all.length; i++) {\n var ele = all[i];\n var _p = ele._private;\n var anis = _p.animation.current;\n for (var j = 0; j < anis.length; j++) {\n var ani = anis[j];\n var ani_p = ani._private;\n if (jumpToEnd) {\n // next iteration of the animation loop, the animation\n // will go straight to the end and be removed\n ani_p.duration = 0;\n }\n }\n\n // clear the queue of future animations\n if (clearQueue) {\n _p.animation.queue = [];\n }\n if (!jumpToEnd) {\n _p.animation.current = [];\n }\n }\n\n // we have to notify (the animation loop doesn't do it for us on `stop`)\n cy.notify('draw');\n return this;\n };\n } // stop\n}; // define\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n\nvar isArray_1;\nvar hasRequiredIsArray;\n\nfunction requireIsArray () {\n\tif (hasRequiredIsArray) return isArray_1;\n\thasRequiredIsArray = 1;\n\tvar isArray = Array.isArray;\n\n\tisArray_1 = isArray;\n\treturn isArray_1;\n}\n\nvar _isKey;\nvar hasRequired_isKey;\n\nfunction require_isKey () {\n\tif (hasRequired_isKey) return _isKey;\n\thasRequired_isKey = 1;\n\tvar isArray = requireIsArray(),\n\t isSymbol = requireIsSymbol();\n\n\t/** Used to match property names within property paths. */\n\tvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n\t reIsPlainProp = /^\\w*$/;\n\n\t/**\n\t * Checks if `value` is a property name and not a property path.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n\t */\n\tfunction isKey(value, object) {\n\t if (isArray(value)) {\n\t return false;\n\t }\n\t var type = typeof value;\n\t if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n\t value == null || isSymbol(value)) {\n\t return true;\n\t }\n\t return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n\t (object != null && value in Object(object));\n\t}\n\n\t_isKey = isKey;\n\treturn _isKey;\n}\n\nvar isFunction_1;\nvar hasRequiredIsFunction;\n\nfunction requireIsFunction () {\n\tif (hasRequiredIsFunction) return isFunction_1;\n\thasRequiredIsFunction = 1;\n\tvar baseGetTag = require_baseGetTag(),\n\t isObject = requireIsObject();\n\n\t/** `Object#toString` result references. */\n\tvar asyncTag = '[object AsyncFunction]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t proxyTag = '[object Proxy]';\n\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\t var tag = baseGetTag(value);\n\t return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n\t}\n\n\tisFunction_1 = isFunction;\n\treturn isFunction_1;\n}\n\nvar _coreJsData;\nvar hasRequired_coreJsData;\n\nfunction require_coreJsData () {\n\tif (hasRequired_coreJsData) return _coreJsData;\n\thasRequired_coreJsData = 1;\n\tvar root = require_root();\n\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\n\t_coreJsData = coreJsData;\n\treturn _coreJsData;\n}\n\nvar _isMasked;\nvar hasRequired_isMasked;\n\nfunction require_isMasked () {\n\tif (hasRequired_isMasked) return _isMasked;\n\thasRequired_isMasked = 1;\n\tvar coreJsData = require_coreJsData();\n\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = (function() {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? ('Symbol(src)_1.' + uid) : '';\n\t}());\n\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && (maskSrcKey in func);\n\t}\n\n\t_isMasked = isMasked;\n\treturn _isMasked;\n}\n\n/** Used for built-in method references. */\n\nvar _toSource;\nvar hasRequired_toSource;\n\nfunction require_toSource () {\n\tif (hasRequired_toSource) return _toSource;\n\thasRequired_toSource = 1;\n\tvar funcProto = Function.prototype;\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to convert.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return (func + '');\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\n\t_toSource = toSource;\n\treturn _toSource;\n}\n\nvar _baseIsNative;\nvar hasRequired_baseIsNative;\n\nfunction require_baseIsNative () {\n\tif (hasRequired_baseIsNative) return _baseIsNative;\n\thasRequired_baseIsNative = 1;\n\tvar isFunction = requireIsFunction(),\n\t isMasked = require_isMasked(),\n\t isObject = requireIsObject(),\n\t toSource = require_toSource();\n\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' +\n\t funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n\t .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n\t);\n\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\n\t_baseIsNative = baseIsNative;\n\treturn _baseIsNative;\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n\nvar _getValue;\nvar hasRequired_getValue;\n\nfunction require_getValue () {\n\tif (hasRequired_getValue) return _getValue;\n\thasRequired_getValue = 1;\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\n\t_getValue = getValue;\n\treturn _getValue;\n}\n\nvar _getNative;\nvar hasRequired_getNative;\n\nfunction require_getNative () {\n\tif (hasRequired_getNative) return _getNative;\n\thasRequired_getNative = 1;\n\tvar baseIsNative = require_baseIsNative(),\n\t getValue = require_getValue();\n\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\n\t_getNative = getNative;\n\treturn _getNative;\n}\n\nvar _nativeCreate;\nvar hasRequired_nativeCreate;\n\nfunction require_nativeCreate () {\n\tif (hasRequired_nativeCreate) return _nativeCreate;\n\thasRequired_nativeCreate = 1;\n\tvar getNative = require_getNative();\n\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\n\t_nativeCreate = nativeCreate;\n\treturn _nativeCreate;\n}\n\nvar _hashClear;\nvar hasRequired_hashClear;\n\nfunction require_hashClear () {\n\tif (hasRequired_hashClear) return _hashClear;\n\thasRequired_hashClear = 1;\n\tvar nativeCreate = require_nativeCreate();\n\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t this.size = 0;\n\t}\n\n\t_hashClear = hashClear;\n\treturn _hashClear;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n\nvar _hashDelete;\nvar hasRequired_hashDelete;\n\nfunction require_hashDelete () {\n\tif (hasRequired_hashDelete) return _hashDelete;\n\thasRequired_hashDelete = 1;\n\tfunction hashDelete(key) {\n\t var result = this.has(key) && delete this.__data__[key];\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\n\t_hashDelete = hashDelete;\n\treturn _hashDelete;\n}\n\nvar _hashGet;\nvar hasRequired_hashGet;\n\nfunction require_hashGet () {\n\tif (hasRequired_hashGet) return _hashGet;\n\thasRequired_hashGet = 1;\n\tvar nativeCreate = require_nativeCreate();\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\n\t_hashGet = hashGet;\n\treturn _hashGet;\n}\n\nvar _hashHas;\nvar hasRequired_hashHas;\n\nfunction require_hashHas () {\n\tif (hasRequired_hashHas) return _hashHas;\n\thasRequired_hashHas = 1;\n\tvar nativeCreate = require_nativeCreate();\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n\t}\n\n\t_hashHas = hashHas;\n\treturn _hashHas;\n}\n\nvar _hashSet;\nvar hasRequired_hashSet;\n\nfunction require_hashSet () {\n\tif (hasRequired_hashSet) return _hashSet;\n\thasRequired_hashSet = 1;\n\tvar nativeCreate = require_nativeCreate();\n\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t this.size += this.has(key) ? 0 : 1;\n\t data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\n\t_hashSet = hashSet;\n\treturn _hashSet;\n}\n\nvar _Hash;\nvar hasRequired_Hash;\n\nfunction require_Hash () {\n\tif (hasRequired_Hash) return _Hash;\n\thasRequired_Hash = 1;\n\tvar hashClear = require_hashClear(),\n\t hashDelete = require_hashDelete(),\n\t hashGet = require_hashGet(),\n\t hashHas = require_hashHas(),\n\t hashSet = require_hashSet();\n\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\n\t_Hash = Hash;\n\treturn _Hash;\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n\nvar _listCacheClear;\nvar hasRequired_listCacheClear;\n\nfunction require_listCacheClear () {\n\tif (hasRequired_listCacheClear) return _listCacheClear;\n\thasRequired_listCacheClear = 1;\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t this.size = 0;\n\t}\n\n\t_listCacheClear = listCacheClear;\n\treturn _listCacheClear;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n\nvar eq_1;\nvar hasRequiredEq;\n\nfunction requireEq () {\n\tif (hasRequiredEq) return eq_1;\n\thasRequiredEq = 1;\n\tfunction eq(value, other) {\n\t return value === other || (value !== value && other !== other);\n\t}\n\n\teq_1 = eq;\n\treturn eq_1;\n}\n\nvar _assocIndexOf;\nvar hasRequired_assocIndexOf;\n\nfunction require_assocIndexOf () {\n\tif (hasRequired_assocIndexOf) return _assocIndexOf;\n\thasRequired_assocIndexOf = 1;\n\tvar eq = requireEq();\n\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\n\t_assocIndexOf = assocIndexOf;\n\treturn _assocIndexOf;\n}\n\nvar _listCacheDelete;\nvar hasRequired_listCacheDelete;\n\nfunction require_listCacheDelete () {\n\tif (hasRequired_listCacheDelete) return _listCacheDelete;\n\thasRequired_listCacheDelete = 1;\n\tvar assocIndexOf = require_assocIndexOf();\n\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t --this.size;\n\t return true;\n\t}\n\n\t_listCacheDelete = listCacheDelete;\n\treturn _listCacheDelete;\n}\n\nvar _listCacheGet;\nvar hasRequired_listCacheGet;\n\nfunction require_listCacheGet () {\n\tif (hasRequired_listCacheGet) return _listCacheGet;\n\thasRequired_listCacheGet = 1;\n\tvar assocIndexOf = require_assocIndexOf();\n\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\n\t_listCacheGet = listCacheGet;\n\treturn _listCacheGet;\n}\n\nvar _listCacheHas;\nvar hasRequired_listCacheHas;\n\nfunction require_listCacheHas () {\n\tif (hasRequired_listCacheHas) return _listCacheHas;\n\thasRequired_listCacheHas = 1;\n\tvar assocIndexOf = require_assocIndexOf();\n\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\n\t_listCacheHas = listCacheHas;\n\treturn _listCacheHas;\n}\n\nvar _listCacheSet;\nvar hasRequired_listCacheSet;\n\nfunction require_listCacheSet () {\n\tif (hasRequired_listCacheSet) return _listCacheSet;\n\thasRequired_listCacheSet = 1;\n\tvar assocIndexOf = require_assocIndexOf();\n\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\n\t if (index < 0) {\n\t ++this.size;\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\n\t_listCacheSet = listCacheSet;\n\treturn _listCacheSet;\n}\n\nvar _ListCache;\nvar hasRequired_ListCache;\n\nfunction require_ListCache () {\n\tif (hasRequired_ListCache) return _ListCache;\n\thasRequired_ListCache = 1;\n\tvar listCacheClear = require_listCacheClear(),\n\t listCacheDelete = require_listCacheDelete(),\n\t listCacheGet = require_listCacheGet(),\n\t listCacheHas = require_listCacheHas(),\n\t listCacheSet = require_listCacheSet();\n\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\n\t_ListCache = ListCache;\n\treturn _ListCache;\n}\n\nvar _Map;\nvar hasRequired_Map;\n\nfunction require_Map () {\n\tif (hasRequired_Map) return _Map;\n\thasRequired_Map = 1;\n\tvar getNative = require_getNative(),\n\t root = require_root();\n\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\n\t_Map = Map;\n\treturn _Map;\n}\n\nvar _mapCacheClear;\nvar hasRequired_mapCacheClear;\n\nfunction require_mapCacheClear () {\n\tif (hasRequired_mapCacheClear) return _mapCacheClear;\n\thasRequired_mapCacheClear = 1;\n\tvar Hash = require_Hash(),\n\t ListCache = require_ListCache(),\n\t Map = require_Map();\n\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.size = 0;\n\t this.__data__ = {\n\t 'hash': new Hash,\n\t 'map': new (Map || ListCache),\n\t 'string': new Hash\n\t };\n\t}\n\n\t_mapCacheClear = mapCacheClear;\n\treturn _mapCacheClear;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n\nvar _isKeyable;\nvar hasRequired_isKeyable;\n\nfunction require_isKeyable () {\n\tif (hasRequired_isKeyable) return _isKeyable;\n\thasRequired_isKeyable = 1;\n\tfunction isKeyable(value) {\n\t var type = typeof value;\n\t return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n\t ? (value !== '__proto__')\n\t : (value === null);\n\t}\n\n\t_isKeyable = isKeyable;\n\treturn _isKeyable;\n}\n\nvar _getMapData;\nvar hasRequired_getMapData;\n\nfunction require_getMapData () {\n\tif (hasRequired_getMapData) return _getMapData;\n\thasRequired_getMapData = 1;\n\tvar isKeyable = require_isKeyable();\n\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key)\n\t ? data[typeof key == 'string' ? 'string' : 'hash']\n\t : data.map;\n\t}\n\n\t_getMapData = getMapData;\n\treturn _getMapData;\n}\n\nvar _mapCacheDelete;\nvar hasRequired_mapCacheDelete;\n\nfunction require_mapCacheDelete () {\n\tif (hasRequired_mapCacheDelete) return _mapCacheDelete;\n\thasRequired_mapCacheDelete = 1;\n\tvar getMapData = require_getMapData();\n\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t var result = getMapData(this, key)['delete'](key);\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\n\t_mapCacheDelete = mapCacheDelete;\n\treturn _mapCacheDelete;\n}\n\nvar _mapCacheGet;\nvar hasRequired_mapCacheGet;\n\nfunction require_mapCacheGet () {\n\tif (hasRequired_mapCacheGet) return _mapCacheGet;\n\thasRequired_mapCacheGet = 1;\n\tvar getMapData = require_getMapData();\n\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\n\t_mapCacheGet = mapCacheGet;\n\treturn _mapCacheGet;\n}\n\nvar _mapCacheHas;\nvar hasRequired_mapCacheHas;\n\nfunction require_mapCacheHas () {\n\tif (hasRequired_mapCacheHas) return _mapCacheHas;\n\thasRequired_mapCacheHas = 1;\n\tvar getMapData = require_getMapData();\n\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\n\t_mapCacheHas = mapCacheHas;\n\treturn _mapCacheHas;\n}\n\nvar _mapCacheSet;\nvar hasRequired_mapCacheSet;\n\nfunction require_mapCacheSet () {\n\tif (hasRequired_mapCacheSet) return _mapCacheSet;\n\thasRequired_mapCacheSet = 1;\n\tvar getMapData = require_getMapData();\n\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t var data = getMapData(this, key),\n\t size = data.size;\n\n\t data.set(key, value);\n\t this.size += data.size == size ? 0 : 1;\n\t return this;\n\t}\n\n\t_mapCacheSet = mapCacheSet;\n\treturn _mapCacheSet;\n}\n\nvar _MapCache;\nvar hasRequired_MapCache;\n\nfunction require_MapCache () {\n\tif (hasRequired_MapCache) return _MapCache;\n\thasRequired_MapCache = 1;\n\tvar mapCacheClear = require_mapCacheClear(),\n\t mapCacheDelete = require_mapCacheDelete(),\n\t mapCacheGet = require_mapCacheGet(),\n\t mapCacheHas = require_mapCacheHas(),\n\t mapCacheSet = require_mapCacheSet();\n\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\n\t_MapCache = MapCache;\n\treturn _MapCache;\n}\n\nvar memoize_1;\nvar hasRequiredMemoize;\n\nfunction requireMemoize () {\n\tif (hasRequiredMemoize) return memoize_1;\n\thasRequiredMemoize = 1;\n\tvar MapCache = require_MapCache();\n\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoized function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t var memoized = function() {\n\t var args = arguments,\n\t key = resolver ? resolver.apply(this, args) : args[0],\n\t cache = memoized.cache;\n\n\t if (cache.has(key)) {\n\t return cache.get(key);\n\t }\n\t var result = func.apply(this, args);\n\t memoized.cache = cache.set(key, result) || cache;\n\t return result;\n\t };\n\t memoized.cache = new (memoize.Cache || MapCache);\n\t return memoized;\n\t}\n\n\t// Expose `MapCache`.\n\tmemoize.Cache = MapCache;\n\n\tmemoize_1 = memoize;\n\treturn memoize_1;\n}\n\nvar _memoizeCapped;\nvar hasRequired_memoizeCapped;\n\nfunction require_memoizeCapped () {\n\tif (hasRequired_memoizeCapped) return _memoizeCapped;\n\thasRequired_memoizeCapped = 1;\n\tvar memoize = requireMemoize();\n\n\t/** Used as the maximum memoize cache size. */\n\tvar MAX_MEMOIZE_SIZE = 500;\n\n\t/**\n\t * A specialized version of `_.memoize` which clears the memoized function's\n\t * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n\t *\n\t * @private\n\t * @param {Function} func The function to have its output memoized.\n\t * @returns {Function} Returns the new memoized function.\n\t */\n\tfunction memoizeCapped(func) {\n\t var result = memoize(func, function(key) {\n\t if (cache.size === MAX_MEMOIZE_SIZE) {\n\t cache.clear();\n\t }\n\t return key;\n\t });\n\n\t var cache = result.cache;\n\t return result;\n\t}\n\n\t_memoizeCapped = memoizeCapped;\n\treturn _memoizeCapped;\n}\n\nvar _stringToPath;\nvar hasRequired_stringToPath;\n\nfunction require_stringToPath () {\n\tif (hasRequired_stringToPath) return _stringToPath;\n\thasRequired_stringToPath = 1;\n\tvar memoizeCapped = require_memoizeCapped();\n\n\t/** Used to match property names within property paths. */\n\tvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n\t/** Used to match backslashes in property paths. */\n\tvar reEscapeChar = /\\\\(\\\\)?/g;\n\n\t/**\n\t * Converts `string` to a property path array.\n\t *\n\t * @private\n\t * @param {string} string The string to convert.\n\t * @returns {Array} Returns the property path array.\n\t */\n\tvar stringToPath = memoizeCapped(function(string) {\n\t var result = [];\n\t if (string.charCodeAt(0) === 46 /* . */) {\n\t result.push('');\n\t }\n\t string.replace(rePropName, function(match, number, quote, subString) {\n\t result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n\t });\n\t return result;\n\t});\n\n\t_stringToPath = stringToPath;\n\treturn _stringToPath;\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n\nvar _arrayMap;\nvar hasRequired_arrayMap;\n\nfunction require_arrayMap () {\n\tif (hasRequired_arrayMap) return _arrayMap;\n\thasRequired_arrayMap = 1;\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length,\n\t result = Array(length);\n\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\n\t_arrayMap = arrayMap;\n\treturn _arrayMap;\n}\n\nvar _baseToString;\nvar hasRequired_baseToString;\n\nfunction require_baseToString () {\n\tif (hasRequired_baseToString) return _baseToString;\n\thasRequired_baseToString = 1;\n\tvar Symbol = require_Symbol(),\n\t arrayMap = require_arrayMap(),\n\t isArray = requireIsArray(),\n\t isSymbol = requireIsSymbol();\n\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = Symbol ? Symbol.prototype : undefined,\n\t symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n\t/**\n\t * The base implementation of `_.toString` which doesn't convert nullish\n\t * values to empty strings.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {string} Returns the string.\n\t */\n\tfunction baseToString(value) {\n\t // Exit early for strings to avoid a performance hit in some environments.\n\t if (typeof value == 'string') {\n\t return value;\n\t }\n\t if (isArray(value)) {\n\t // Recursively convert values (susceptible to call stack limits).\n\t return arrayMap(value, baseToString) + '';\n\t }\n\t if (isSymbol(value)) {\n\t return symbolToString ? symbolToString.call(value) : '';\n\t }\n\t var result = (value + '');\n\t return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;\n\t}\n\n\t_baseToString = baseToString;\n\treturn _baseToString;\n}\n\nvar toString_1;\nvar hasRequiredToString;\n\nfunction requireToString () {\n\tif (hasRequiredToString) return toString_1;\n\thasRequiredToString = 1;\n\tvar baseToString = require_baseToString();\n\n\t/**\n\t * Converts `value` to a string. An empty string is returned for `null`\n\t * and `undefined` values. The sign of `-0` is preserved.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t * @example\n\t *\n\t * _.toString(null);\n\t * // => ''\n\t *\n\t * _.toString(-0);\n\t * // => '-0'\n\t *\n\t * _.toString([1, 2, 3]);\n\t * // => '1,2,3'\n\t */\n\tfunction toString(value) {\n\t return value == null ? '' : baseToString(value);\n\t}\n\n\ttoString_1 = toString;\n\treturn toString_1;\n}\n\nvar _castPath;\nvar hasRequired_castPath;\n\nfunction require_castPath () {\n\tif (hasRequired_castPath) return _castPath;\n\thasRequired_castPath = 1;\n\tvar isArray = requireIsArray(),\n\t isKey = require_isKey(),\n\t stringToPath = require_stringToPath(),\n\t toString = requireToString();\n\n\t/**\n\t * Casts `value` to a path array if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {Array} Returns the cast property path array.\n\t */\n\tfunction castPath(value, object) {\n\t if (isArray(value)) {\n\t return value;\n\t }\n\t return isKey(value, object) ? [value] : stringToPath(toString(value));\n\t}\n\n\t_castPath = castPath;\n\treturn _castPath;\n}\n\nvar _toKey;\nvar hasRequired_toKey;\n\nfunction require_toKey () {\n\tif (hasRequired_toKey) return _toKey;\n\thasRequired_toKey = 1;\n\tvar isSymbol = requireIsSymbol();\n\n\t/**\n\t * Converts `value` to a string key if it's not a string or symbol.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {string|symbol} Returns the key.\n\t */\n\tfunction toKey(value) {\n\t if (typeof value == 'string' || isSymbol(value)) {\n\t return value;\n\t }\n\t var result = (value + '');\n\t return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;\n\t}\n\n\t_toKey = toKey;\n\treturn _toKey;\n}\n\nvar _baseGet;\nvar hasRequired_baseGet;\n\nfunction require_baseGet () {\n\tif (hasRequired_baseGet) return _baseGet;\n\thasRequired_baseGet = 1;\n\tvar castPath = require_castPath(),\n\t toKey = require_toKey();\n\n\t/**\n\t * The base implementation of `_.get` without support for default values.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {*} Returns the resolved value.\n\t */\n\tfunction baseGet(object, path) {\n\t path = castPath(path, object);\n\n\t var index = 0,\n\t length = path.length;\n\n\t while (object != null && index < length) {\n\t object = object[toKey(path[index++])];\n\t }\n\t return (index && index == length) ? object : undefined;\n\t}\n\n\t_baseGet = baseGet;\n\treturn _baseGet;\n}\n\nvar get_1;\nvar hasRequiredGet;\n\nfunction requireGet () {\n\tif (hasRequiredGet) return get_1;\n\thasRequiredGet = 1;\n\tvar baseGet = require_baseGet();\n\n\t/**\n\t * Gets the value at `path` of `object`. If the resolved value is\n\t * `undefined`, the `defaultValue` is returned in its place.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.7.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n\t * @returns {*} Returns the resolved value.\n\t * @example\n\t *\n\t * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n\t *\n\t * _.get(object, 'a[0].b.c');\n\t * // => 3\n\t *\n\t * _.get(object, ['a', '0', 'b', 'c']);\n\t * // => 3\n\t *\n\t * _.get(object, 'a.b.c', 'default');\n\t * // => 'default'\n\t */\n\tfunction get(object, path, defaultValue) {\n\t var result = object == null ? undefined : baseGet(object, path);\n\t return result === undefined ? defaultValue : result;\n\t}\n\n\tget_1 = get;\n\treturn get_1;\n}\n\nvar getExports = requireGet();\nvar get = /*@__PURE__*/getDefaultExportFromCjs(getExports);\n\nvar _defineProperty;\nvar hasRequired_defineProperty;\n\nfunction require_defineProperty () {\n\tif (hasRequired_defineProperty) return _defineProperty;\n\thasRequired_defineProperty = 1;\n\tvar getNative = require_getNative();\n\n\tvar defineProperty = (function() {\n\t try {\n\t var func = getNative(Object, 'defineProperty');\n\t func({}, '', {});\n\t return func;\n\t } catch (e) {}\n\t}());\n\n\t_defineProperty = defineProperty;\n\treturn _defineProperty;\n}\n\nvar _baseAssignValue;\nvar hasRequired_baseAssignValue;\n\nfunction require_baseAssignValue () {\n\tif (hasRequired_baseAssignValue) return _baseAssignValue;\n\thasRequired_baseAssignValue = 1;\n\tvar defineProperty = require_defineProperty();\n\n\t/**\n\t * The base implementation of `assignValue` and `assignMergeValue` without\n\t * value checks.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction baseAssignValue(object, key, value) {\n\t if (key == '__proto__' && defineProperty) {\n\t defineProperty(object, key, {\n\t 'configurable': true,\n\t 'enumerable': true,\n\t 'value': value,\n\t 'writable': true\n\t });\n\t } else {\n\t object[key] = value;\n\t }\n\t}\n\n\t_baseAssignValue = baseAssignValue;\n\treturn _baseAssignValue;\n}\n\nvar _assignValue;\nvar hasRequired_assignValue;\n\nfunction require_assignValue () {\n\tif (hasRequired_assignValue) return _assignValue;\n\thasRequired_assignValue = 1;\n\tvar baseAssignValue = require_baseAssignValue(),\n\t eq = requireEq();\n\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\n\t/**\n\t * Assigns `value` to `key` of `object` if the existing value is not equivalent\n\t * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * for equality comparisons.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {string} key The key of the property to assign.\n\t * @param {*} value The value to assign.\n\t */\n\tfunction assignValue(object, key, value) {\n\t var objValue = object[key];\n\t if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n\t (value === undefined && !(key in object))) {\n\t baseAssignValue(object, key, value);\n\t }\n\t}\n\n\t_assignValue = assignValue;\n\treturn _assignValue;\n}\n\n/** Used as references for various `Number` constants. */\n\nvar _isIndex;\nvar hasRequired_isIndex;\n\nfunction require_isIndex () {\n\tif (hasRequired_isIndex) return _isIndex;\n\thasRequired_isIndex = 1;\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t var type = typeof value;\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\n\t return !!length &&\n\t (type == 'number' ||\n\t (type != 'symbol' && reIsUint.test(value))) &&\n\t (value > -1 && value % 1 == 0 && value < length);\n\t}\n\n\t_isIndex = isIndex;\n\treturn _isIndex;\n}\n\nvar _baseSet;\nvar hasRequired_baseSet;\n\nfunction require_baseSet () {\n\tif (hasRequired_baseSet) return _baseSet;\n\thasRequired_baseSet = 1;\n\tvar assignValue = require_assignValue(),\n\t castPath = require_castPath(),\n\t isIndex = require_isIndex(),\n\t isObject = requireIsObject(),\n\t toKey = require_toKey();\n\n\t/**\n\t * The base implementation of `_.set`.\n\t *\n\t * @private\n\t * @param {Object} object The object to modify.\n\t * @param {Array|string} path The path of the property to set.\n\t * @param {*} value The value to set.\n\t * @param {Function} [customizer] The function to customize path creation.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseSet(object, path, value, customizer) {\n\t if (!isObject(object)) {\n\t return object;\n\t }\n\t path = castPath(path, object);\n\n\t var index = -1,\n\t length = path.length,\n\t lastIndex = length - 1,\n\t nested = object;\n\n\t while (nested != null && ++index < length) {\n\t var key = toKey(path[index]),\n\t newValue = value;\n\n\t if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n\t return object;\n\t }\n\n\t if (index != lastIndex) {\n\t var objValue = nested[key];\n\t newValue = customizer ? customizer(objValue, key, nested) : undefined;\n\t if (newValue === undefined) {\n\t newValue = isObject(objValue)\n\t ? objValue\n\t : (isIndex(path[index + 1]) ? [] : {});\n\t }\n\t }\n\t assignValue(nested, key, newValue);\n\t nested = nested[key];\n\t }\n\t return object;\n\t}\n\n\t_baseSet = baseSet;\n\treturn _baseSet;\n}\n\nvar set_1;\nvar hasRequiredSet;\n\nfunction requireSet () {\n\tif (hasRequiredSet) return set_1;\n\thasRequiredSet = 1;\n\tvar baseSet = require_baseSet();\n\n\t/**\n\t * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n\t * it's created. Arrays are created for missing index properties while objects\n\t * are created for all other missing properties. Use `_.setWith` to customize\n\t * `path` creation.\n\t *\n\t * **Note:** This method mutates `object`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.7.0\n\t * @category Object\n\t * @param {Object} object The object to modify.\n\t * @param {Array|string} path The path of the property to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns `object`.\n\t * @example\n\t *\n\t * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n\t *\n\t * _.set(object, 'a[0].b.c', 4);\n\t * console.log(object.a[0].b.c);\n\t * // => 4\n\t *\n\t * _.set(object, ['x', '0', 'y', 'z'], 5);\n\t * console.log(object.x[0].y.z);\n\t * // => 5\n\t */\n\tfunction set(object, path, value) {\n\t return object == null ? object : baseSet(object, path, value);\n\t}\n\n\tset_1 = set;\n\treturn set_1;\n}\n\nvar setExports = requireSet();\nvar set = /*@__PURE__*/getDefaultExportFromCjs(setExports);\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n\nvar _copyArray;\nvar hasRequired_copyArray;\n\nfunction require_copyArray () {\n\tif (hasRequired_copyArray) return _copyArray;\n\thasRequired_copyArray = 1;\n\tfunction copyArray(source, array) {\n\t var index = -1,\n\t length = source.length;\n\n\t array || (array = Array(length));\n\t while (++index < length) {\n\t array[index] = source[index];\n\t }\n\t return array;\n\t}\n\n\t_copyArray = copyArray;\n\treturn _copyArray;\n}\n\nvar toPath_1;\nvar hasRequiredToPath;\n\nfunction requireToPath () {\n\tif (hasRequiredToPath) return toPath_1;\n\thasRequiredToPath = 1;\n\tvar arrayMap = require_arrayMap(),\n\t copyArray = require_copyArray(),\n\t isArray = requireIsArray(),\n\t isSymbol = requireIsSymbol(),\n\t stringToPath = require_stringToPath(),\n\t toKey = require_toKey(),\n\t toString = requireToString();\n\n\t/**\n\t * Converts `value` to a property path array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Util\n\t * @param {*} value The value to convert.\n\t * @returns {Array} Returns the new property path array.\n\t * @example\n\t *\n\t * _.toPath('a.b.c');\n\t * // => ['a', 'b', 'c']\n\t *\n\t * _.toPath('a[0].b.c');\n\t * // => ['a', '0', 'b', 'c']\n\t */\n\tfunction toPath(value) {\n\t if (isArray(value)) {\n\t return arrayMap(value, toKey);\n\t }\n\t return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n\t}\n\n\ttoPath_1 = toPath;\n\treturn toPath_1;\n}\n\nvar toPathExports = requireToPath();\nvar toPath = /*@__PURE__*/getDefaultExportFromCjs(toPathExports);\n\nvar define$2 = {\n // access data field\n data: function data(params) {\n var defaults = {\n field: 'data',\n bindingEvent: 'data',\n allowBinding: false,\n allowSetting: false,\n allowGetting: false,\n settingEvent: 'data',\n settingTriggersEvent: false,\n triggerFnName: 'trigger',\n immutableKeys: {},\n // key => true if immutable\n updateStyle: false,\n beforeGet: function beforeGet(self) {},\n beforeSet: function beforeSet(self, obj) {},\n onSet: function onSet(self) {},\n canSet: function canSet(self) {\n return true;\n }\n };\n params = extend({}, defaults, params);\n return function dataImpl(name, value) {\n var p = params;\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n var single = selfIsArrayLike ? self[0] : self;\n\n // .data('foo', ...)\n if (string(name)) {\n // set or get property\n var isPathLike = name.indexOf('.') !== -1; // there might be a normal field with a dot \n var path = isPathLike && toPath(name);\n\n // .data('foo')\n if (p.allowGetting && value === undefined) {\n // get\n\n var ret;\n if (single) {\n p.beforeGet(single);\n\n // check if it's path and a field with the same name doesn't exist\n if (path && single._private[p.field][name] === undefined) {\n ret = get(single._private[p.field], path);\n } else {\n ret = single._private[p.field][name];\n }\n }\n return ret;\n\n // .data('foo', 'bar')\n } else if (p.allowSetting && value !== undefined) {\n // set\n var valid = !p.immutableKeys[name];\n if (valid) {\n var change = _defineProperty$1({}, name, value);\n p.beforeSet(self, change);\n for (var i = 0, l = all.length; i < l; i++) {\n var ele = all[i];\n if (p.canSet(ele)) {\n if (path && single._private[p.field][name] === undefined) {\n set(ele._private[p.field], path, value);\n } else {\n ele._private[p.field][name] = value;\n }\n }\n }\n\n // update mappers if asked\n if (p.updateStyle) {\n self.updateStyle();\n }\n\n // call onSet callback\n p.onSet(self);\n if (p.settingTriggersEvent) {\n self[p.triggerFnName](p.settingEvent);\n }\n }\n }\n\n // .data({ 'foo': 'bar' })\n } else if (p.allowSetting && plainObject(name)) {\n // extend\n var obj = name;\n var k, v;\n var keys = Object.keys(obj);\n p.beforeSet(self, obj);\n for (var _i = 0; _i < keys.length; _i++) {\n k = keys[_i];\n v = obj[k];\n var _valid = !p.immutableKeys[k];\n if (_valid) {\n for (var j = 0; j < all.length; j++) {\n var _ele = all[j];\n if (p.canSet(_ele)) {\n _ele._private[p.field][k] = v;\n }\n }\n }\n }\n\n // update mappers if asked\n if (p.updateStyle) {\n self.updateStyle();\n }\n\n // call onSet callback\n p.onSet(self);\n if (p.settingTriggersEvent) {\n self[p.triggerFnName](p.settingEvent);\n }\n\n // .data(function(){ ... })\n } else if (p.allowBinding && fn$6(name)) {\n // bind to event\n var fn = name;\n self.on(p.bindingEvent, fn);\n\n // .data()\n } else if (p.allowGetting && name === undefined) {\n // get whole object\n var _ret;\n if (single) {\n p.beforeGet(single);\n _ret = single._private[p.field];\n }\n return _ret;\n }\n return self; // maintain chainability\n }; // function\n },\n // data\n\n // remove data field\n removeData: function removeData(params) {\n var defaults = {\n field: 'data',\n event: 'data',\n triggerFnName: 'trigger',\n triggerEvent: false,\n immutableKeys: {} // key => true if immutable\n };\n params = extend({}, defaults, params);\n return function removeDataImpl(names) {\n var p = params;\n var self = this;\n var selfIsArrayLike = self.length !== undefined;\n var all = selfIsArrayLike ? self : [self]; // put in array if not array-like\n\n // .removeData('foo bar')\n if (string(names)) {\n // then get the list of keys, and delete them\n var keys = names.split(/\\s+/);\n var l = keys.length;\n for (var i = 0; i < l; i++) {\n // delete each non-empty key\n var key = keys[i];\n if (emptyString(key)) {\n continue;\n }\n var valid = !p.immutableKeys[key]; // not valid if immutable\n if (valid) {\n for (var i_a = 0, l_a = all.length; i_a < l_a; i_a++) {\n all[i_a]._private[p.field][key] = undefined;\n }\n }\n }\n if (p.triggerEvent) {\n self[p.triggerFnName](p.event);\n }\n\n // .removeData()\n } else if (names === undefined) {\n // then delete all keys\n\n for (var _i_a = 0, _l_a = all.length; _i_a < _l_a; _i_a++) {\n var _privateFields = all[_i_a]._private[p.field];\n var _keys = Object.keys(_privateFields);\n for (var _i2 = 0; _i2 < _keys.length; _i2++) {\n var _key = _keys[_i2];\n var validKeyToDelete = !p.immutableKeys[_key];\n if (validKeyToDelete) {\n _privateFields[_key] = undefined;\n }\n }\n }\n if (p.triggerEvent) {\n self[p.triggerFnName](p.event);\n }\n }\n return self; // maintain chaining\n }; // function\n } // removeData\n}; // define\n\nvar define$1 = {\n eventAliasesOn: function eventAliasesOn(proto) {\n var p = proto;\n p.addListener = p.listen = p.bind = p.on;\n p.unlisten = p.unbind = p.off = p.removeListener;\n p.trigger = p.emit;\n\n // this is just a wrapper alias of .on()\n p.pon = p.promiseOn = function (events, selector) {\n var self = this;\n var args = Array.prototype.slice.call(arguments, 0);\n return new Promise$1(function (resolve, reject) {\n var callback = function callback(e) {\n self.off.apply(self, offArgs);\n resolve(e);\n };\n var onArgs = args.concat([callback]);\n var offArgs = onArgs.concat([]);\n self.on.apply(self, onArgs);\n });\n };\n }\n}; // define\n\n// use this module to cherry pick functions into your prototype\n// (useful for functions shared between the core and collections, for example)\n\nvar define = {};\n[define$3, define$2, define$1].forEach(function (m) {\n extend(define, m);\n});\n\nvar elesfn$i = {\n animate: define.animate(),\n animation: define.animation(),\n animated: define.animated(),\n clearQueue: define.clearQueue(),\n delay: define.delay(),\n delayAnimation: define.delayAnimation(),\n stop: define.stop()\n};\n\nvar elesfn$h = {\n classes: function classes(_classes) {\n var self = this;\n if (_classes === undefined) {\n var ret = [];\n self[0]._private.classes.forEach(function (cls) {\n return ret.push(cls);\n });\n return ret;\n } else if (!array(_classes)) {\n // extract classes from string\n _classes = (_classes || '').match(/\\S+/g) || [];\n }\n var changed = [];\n var classesSet = new Set$1(_classes);\n\n // check and update each ele\n for (var j = 0; j < self.length; j++) {\n var ele = self[j];\n var _p = ele._private;\n var eleClasses = _p.classes;\n var changedEle = false;\n\n // check if ele has all of the passed classes\n for (var i = 0; i < _classes.length; i++) {\n var cls = _classes[i];\n var eleHasClass = eleClasses.has(cls);\n if (!eleHasClass) {\n changedEle = true;\n break;\n }\n }\n\n // check if ele has classes outside of those passed\n if (!changedEle) {\n changedEle = eleClasses.size !== _classes.length;\n }\n if (changedEle) {\n _p.classes = classesSet;\n changed.push(ele);\n }\n }\n\n // trigger update style on those eles that had class changes\n if (changed.length > 0) {\n this.spawn(changed).updateStyle().emit('class');\n }\n return self;\n },\n addClass: function addClass(classes) {\n return this.toggleClass(classes, true);\n },\n hasClass: function hasClass(className) {\n var ele = this[0];\n return ele != null && ele._private.classes.has(className);\n },\n toggleClass: function toggleClass(classes, toggle) {\n if (!array(classes)) {\n // extract classes from string\n classes = classes.match(/\\S+/g) || [];\n }\n var self = this;\n var toggleUndefd = toggle === undefined;\n var changed = []; // eles who had classes changed\n\n for (var i = 0, il = self.length; i < il; i++) {\n var ele = self[i];\n var eleClasses = ele._private.classes;\n var changedEle = false;\n for (var j = 0; j < classes.length; j++) {\n var cls = classes[j];\n var hasClass = eleClasses.has(cls);\n var changedNow = false;\n if (toggle || toggleUndefd && !hasClass) {\n eleClasses.add(cls);\n changedNow = true;\n } else if (!toggle || toggleUndefd && hasClass) {\n eleClasses[\"delete\"](cls);\n changedNow = true;\n }\n if (!changedEle && changedNow) {\n changed.push(ele);\n changedEle = true;\n }\n } // for j classes\n } // for i eles\n\n // trigger update style on those eles that had class changes\n if (changed.length > 0) {\n this.spawn(changed).updateStyle().emit('class');\n }\n return self;\n },\n removeClass: function removeClass(classes) {\n return this.toggleClass(classes, false);\n },\n flashClass: function flashClass(classes, duration) {\n var self = this;\n if (duration == null) {\n duration = 250;\n } else if (duration === 0) {\n return self; // nothing to do really\n }\n self.addClass(classes);\n setTimeout(function () {\n self.removeClass(classes);\n }, duration);\n return self;\n }\n};\nelesfn$h.className = elesfn$h.classNames = elesfn$h.classes;\n\n// tokens in the query language\nvar tokens = {\n metaChar: '[\\\\!\\\\\"\\\\#\\\\$\\\\%\\\\&\\\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\.\\\\/\\\\:\\\\;\\\\<\\\\=\\\\>\\\\?\\\\@\\\\[\\\\]\\\\^\\\\`\\\\{\\\\|\\\\}\\\\~]',\n // chars we need to escape in let names, etc\n comparatorOp: '=|\\\\!=|>|>=|<|<=|\\\\$=|\\\\^=|\\\\*=',\n // binary comparison op (used in data selectors)\n boolOp: '\\\\?|\\\\!|\\\\^',\n // boolean (unary) operators (used in data selectors)\n string: '\"(?:\\\\\\\\\"|[^\"])*\"' + '|' + \"'(?:\\\\\\\\'|[^'])*'\",\n // string literals (used in data selectors) -- doublequotes | singlequotes\n number: number,\n // number literal (used in data selectors) --- e.g. 0.1234, 1234, 12e123\n meta: 'degree|indegree|outdegree',\n // allowed metadata fields (i.e. allowed functions to use from Collection)\n separator: '\\\\s*,\\\\s*',\n // queries are separated by commas, e.g. edge[foo = 'bar'], node.someClass\n descendant: '\\\\s+',\n child: '\\\\s+>\\\\s+',\n subject: '\\\\$',\n group: 'node|edge|\\\\*',\n directedEdge: '\\\\s+->\\\\s+',\n undirectedEdge: '\\\\s+<->\\\\s+'\n};\ntokens.variable = '(?:[\\\\w-.]|(?:\\\\\\\\' + tokens.metaChar + '))+'; // a variable name can have letters, numbers, dashes, and periods\ntokens.className = '(?:[\\\\w-]|(?:\\\\\\\\' + tokens.metaChar + '))+'; // a class name has the same rules as a variable except it can't have a '.' in the name\ntokens.value = tokens.string + '|' + tokens.number; // a value literal, either a string or number\ntokens.id = tokens.variable; // an element id (follows variable conventions)\n\n(function () {\n var ops, op, i;\n\n // add @ variants to comparatorOp\n ops = tokens.comparatorOp.split('|');\n for (i = 0; i < ops.length; i++) {\n op = ops[i];\n tokens.comparatorOp += '|@' + op;\n }\n\n // add ! variants to comparatorOp\n ops = tokens.comparatorOp.split('|');\n for (i = 0; i < ops.length; i++) {\n op = ops[i];\n if (op.indexOf('!') >= 0) {\n continue;\n } // skip ops that explicitly contain !\n if (op === '=') {\n continue;\n } // skip = b/c != is explicitly defined\n\n tokens.comparatorOp += '|\\\\!' + op;\n }\n})();\n\n/**\n * Make a new query object\n *\n * @prop type {Type} The type enum (int) of the query\n * @prop checks List of checks to make against an ele to test for a match\n */\nvar newQuery = function newQuery() {\n return {\n checks: []\n };\n};\n\n/**\n * A check type enum-like object. Uses integer values for fast match() lookup.\n * The ordering does not matter as long as the ints are unique.\n */\nvar Type = {\n /** E.g. node */\n GROUP: 0,\n /** A collection of elements */\n COLLECTION: 1,\n /** A filter(ele) function */\n FILTER: 2,\n /** E.g. [foo > 1] */\n DATA_COMPARE: 3,\n /** E.g. [foo] */\n DATA_EXIST: 4,\n /** E.g. [?foo] */\n DATA_BOOL: 5,\n /** E.g. [[degree > 2]] */\n META_COMPARE: 6,\n /** E.g. :selected */\n STATE: 7,\n /** E.g. #foo */\n ID: 8,\n /** E.g. .foo */\n CLASS: 9,\n /** E.g. #foo <-> #bar */\n UNDIRECTED_EDGE: 10,\n /** E.g. #foo -> #bar */\n DIRECTED_EDGE: 11,\n /** E.g. $#foo -> #bar */\n NODE_SOURCE: 12,\n /** E.g. #foo -> $#bar */\n NODE_TARGET: 13,\n /** E.g. $#foo <-> #bar */\n NODE_NEIGHBOR: 14,\n /** E.g. #foo > #bar */\n CHILD: 15,\n /** E.g. #foo #bar */\n DESCENDANT: 16,\n /** E.g. $#foo > #bar */\n PARENT: 17,\n /** E.g. $#foo #bar */\n ANCESTOR: 18,\n /** E.g. #foo > $bar > #baz */\n COMPOUND_SPLIT: 19,\n /** Always matches, useful placeholder for subject in `COMPOUND_SPLIT` */\n TRUE: 20\n};\n\nvar stateSelectors = [{\n selector: ':selected',\n matches: function matches(ele) {\n return ele.selected();\n }\n}, {\n selector: ':unselected',\n matches: function matches(ele) {\n return !ele.selected();\n }\n}, {\n selector: ':selectable',\n matches: function matches(ele) {\n return ele.selectable();\n }\n}, {\n selector: ':unselectable',\n matches: function matches(ele) {\n return !ele.selectable();\n }\n}, {\n selector: ':locked',\n matches: function matches(ele) {\n return ele.locked();\n }\n}, {\n selector: ':unlocked',\n matches: function matches(ele) {\n return !ele.locked();\n }\n}, {\n selector: ':visible',\n matches: function matches(ele) {\n return ele.visible();\n }\n}, {\n selector: ':hidden',\n matches: function matches(ele) {\n return !ele.visible();\n }\n}, {\n selector: ':transparent',\n matches: function matches(ele) {\n return ele.transparent();\n }\n}, {\n selector: ':grabbed',\n matches: function matches(ele) {\n return ele.grabbed();\n }\n}, {\n selector: ':free',\n matches: function matches(ele) {\n return !ele.grabbed();\n }\n}, {\n selector: ':removed',\n matches: function matches(ele) {\n return ele.removed();\n }\n}, {\n selector: ':inside',\n matches: function matches(ele) {\n return !ele.removed();\n }\n}, {\n selector: ':grabbable',\n matches: function matches(ele) {\n return ele.grabbable();\n }\n}, {\n selector: ':ungrabbable',\n matches: function matches(ele) {\n return !ele.grabbable();\n }\n}, {\n selector: ':animated',\n matches: function matches(ele) {\n return ele.animated();\n }\n}, {\n selector: ':unanimated',\n matches: function matches(ele) {\n return !ele.animated();\n }\n}, {\n selector: ':parent',\n matches: function matches(ele) {\n return ele.isParent();\n }\n}, {\n selector: ':childless',\n matches: function matches(ele) {\n return ele.isChildless();\n }\n}, {\n selector: ':child',\n matches: function matches(ele) {\n return ele.isChild();\n }\n}, {\n selector: ':orphan',\n matches: function matches(ele) {\n return ele.isOrphan();\n }\n}, {\n selector: ':nonorphan',\n matches: function matches(ele) {\n return ele.isChild();\n }\n}, {\n selector: ':compound',\n matches: function matches(ele) {\n if (ele.isNode()) {\n return ele.isParent();\n } else {\n return ele.source().isParent() || ele.target().isParent();\n }\n }\n}, {\n selector: ':loop',\n matches: function matches(ele) {\n return ele.isLoop();\n }\n}, {\n selector: ':simple',\n matches: function matches(ele) {\n return ele.isSimple();\n }\n}, {\n selector: ':active',\n matches: function matches(ele) {\n return ele.active();\n }\n}, {\n selector: ':inactive',\n matches: function matches(ele) {\n return !ele.active();\n }\n}, {\n selector: ':backgrounding',\n matches: function matches(ele) {\n return ele.backgrounding();\n }\n}, {\n selector: ':nonbackgrounding',\n matches: function matches(ele) {\n return !ele.backgrounding();\n }\n}].sort(function (a, b) {\n // n.b. selectors that are starting substrings of others must have the longer ones first\n return descending(a.selector, b.selector);\n});\nvar lookup = function () {\n var selToFn = {};\n var s;\n for (var i = 0; i < stateSelectors.length; i++) {\n s = stateSelectors[i];\n selToFn[s.selector] = s.matches;\n }\n return selToFn;\n}();\nvar stateSelectorMatches = function stateSelectorMatches(sel, ele) {\n return lookup[sel](ele);\n};\nvar stateSelectorRegex = '(' + stateSelectors.map(function (s) {\n return s.selector;\n}).join('|') + ')';\n\n// when a token like a variable has escaped meta characters, we need to clean the backslashes out\n// so that values get compared properly in Selector.filter()\nvar cleanMetaChars = function cleanMetaChars(str) {\n return str.replace(new RegExp('\\\\\\\\(' + tokens.metaChar + ')', 'g'), function (match, $1) {\n return $1;\n });\n};\nvar replaceLastQuery = function replaceLastQuery(selector, examiningQuery, replacementQuery) {\n selector[selector.length - 1] = replacementQuery;\n};\n\n// NOTE: add new expression syntax here to have it recognised by the parser;\n// - a query contains all adjacent (i.e. no separator in between) expressions;\n// - the current query is stored in selector[i]\n// - you need to check the query objects in match() for it actually filter properly, but that's pretty straight forward\nvar exprs = [{\n name: 'group',\n // just used for identifying when debugging\n query: true,\n regex: '(' + tokens.group + ')',\n populate: function populate(selector, query, _ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n group = _ref2[0];\n query.checks.push({\n type: Type.GROUP,\n value: group === '*' ? group : group + 's'\n });\n }\n}, {\n name: 'state',\n query: true,\n regex: stateSelectorRegex,\n populate: function populate(selector, query, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n state = _ref4[0];\n query.checks.push({\n type: Type.STATE,\n value: state\n });\n }\n}, {\n name: 'id',\n query: true,\n regex: '\\\\#(' + tokens.id + ')',\n populate: function populate(selector, query, _ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n id = _ref6[0];\n query.checks.push({\n type: Type.ID,\n value: cleanMetaChars(id)\n });\n }\n}, {\n name: 'className',\n query: true,\n regex: '\\\\.(' + tokens.className + ')',\n populate: function populate(selector, query, _ref7) {\n var _ref8 = _slicedToArray(_ref7, 1),\n className = _ref8[0];\n query.checks.push({\n type: Type.CLASS,\n value: cleanMetaChars(className)\n });\n }\n}, {\n name: 'dataExists',\n query: true,\n regex: '\\\\[\\\\s*(' + tokens.variable + ')\\\\s*\\\\]',\n populate: function populate(selector, query, _ref9) {\n var _ref10 = _slicedToArray(_ref9, 1),\n variable = _ref10[0];\n query.checks.push({\n type: Type.DATA_EXIST,\n field: cleanMetaChars(variable)\n });\n }\n}, {\n name: 'dataCompare',\n query: true,\n regex: '\\\\[\\\\s*(' + tokens.variable + ')\\\\s*(' + tokens.comparatorOp + ')\\\\s*(' + tokens.value + ')\\\\s*\\\\]',\n populate: function populate(selector, query, _ref11) {\n var _ref12 = _slicedToArray(_ref11, 3),\n variable = _ref12[0],\n comparatorOp = _ref12[1],\n value = _ref12[2];\n var valueIsString = new RegExp('^' + tokens.string + '$').exec(value) != null;\n if (valueIsString) {\n value = value.substring(1, value.length - 1);\n } else {\n value = parseFloat(value);\n }\n query.checks.push({\n type: Type.DATA_COMPARE,\n field: cleanMetaChars(variable),\n operator: comparatorOp,\n value: value\n });\n }\n}, {\n name: 'dataBool',\n query: true,\n regex: '\\\\[\\\\s*(' + tokens.boolOp + ')\\\\s*(' + tokens.variable + ')\\\\s*\\\\]',\n populate: function populate(selector, query, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n boolOp = _ref14[0],\n variable = _ref14[1];\n query.checks.push({\n type: Type.DATA_BOOL,\n field: cleanMetaChars(variable),\n operator: boolOp\n });\n }\n}, {\n name: 'metaCompare',\n query: true,\n regex: '\\\\[\\\\[\\\\s*(' + tokens.meta + ')\\\\s*(' + tokens.comparatorOp + ')\\\\s*(' + tokens.number + ')\\\\s*\\\\]\\\\]',\n populate: function populate(selector, query, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 3),\n meta = _ref16[0],\n comparatorOp = _ref16[1],\n number = _ref16[2];\n query.checks.push({\n type: Type.META_COMPARE,\n field: cleanMetaChars(meta),\n operator: comparatorOp,\n value: parseFloat(number)\n });\n }\n}, {\n name: 'nextQuery',\n separator: true,\n regex: tokens.separator,\n populate: function populate(selector, query) {\n var currentSubject = selector.currentSubject;\n var edgeCount = selector.edgeCount;\n var compoundCount = selector.compoundCount;\n var lastQ = selector[selector.length - 1];\n if (currentSubject != null) {\n lastQ.subject = currentSubject;\n selector.currentSubject = null;\n }\n lastQ.edgeCount = edgeCount;\n lastQ.compoundCount = compoundCount;\n selector.edgeCount = 0;\n selector.compoundCount = 0;\n\n // go on to next query\n var nextQuery = selector[selector.length++] = newQuery();\n return nextQuery; // this is the new query to be filled by the following exprs\n }\n}, {\n name: 'directedEdge',\n separator: true,\n regex: tokens.directedEdge,\n populate: function populate(selector, query) {\n if (selector.currentSubject == null) {\n // undirected edge\n var edgeQuery = newQuery();\n var source = query;\n var target = newQuery();\n edgeQuery.checks.push({\n type: Type.DIRECTED_EDGE,\n source: source,\n target: target\n });\n\n // the query in the selector should be the edge rather than the source\n replaceLastQuery(selector, query, edgeQuery);\n selector.edgeCount++;\n\n // we're now populating the target query with expressions that follow\n return target;\n } else {\n // source/target\n var srcTgtQ = newQuery();\n var _source = query;\n var _target = newQuery();\n srcTgtQ.checks.push({\n type: Type.NODE_SOURCE,\n source: _source,\n target: _target\n });\n\n // the query in the selector should be the neighbourhood rather than the node\n replaceLastQuery(selector, query, srcTgtQ);\n selector.edgeCount++;\n return _target; // now populating the target with the following expressions\n }\n }\n}, {\n name: 'undirectedEdge',\n separator: true,\n regex: tokens.undirectedEdge,\n populate: function populate(selector, query) {\n if (selector.currentSubject == null) {\n // undirected edge\n var edgeQuery = newQuery();\n var source = query;\n var target = newQuery();\n edgeQuery.checks.push({\n type: Type.UNDIRECTED_EDGE,\n nodes: [source, target]\n });\n\n // the query in the selector should be the edge rather than the source\n replaceLastQuery(selector, query, edgeQuery);\n selector.edgeCount++;\n\n // we're now populating the target query with expressions that follow\n return target;\n } else {\n // neighbourhood\n var nhoodQ = newQuery();\n var node = query;\n var neighbor = newQuery();\n nhoodQ.checks.push({\n type: Type.NODE_NEIGHBOR,\n node: node,\n neighbor: neighbor\n });\n\n // the query in the selector should be the neighbourhood rather than the node\n replaceLastQuery(selector, query, nhoodQ);\n return neighbor; // now populating the neighbor with following expressions\n }\n }\n}, {\n name: 'child',\n separator: true,\n regex: tokens.child,\n populate: function populate(selector, query) {\n if (selector.currentSubject == null) {\n // default: child query\n var parentChildQuery = newQuery();\n var child = newQuery();\n var parent = selector[selector.length - 1];\n parentChildQuery.checks.push({\n type: Type.CHILD,\n parent: parent,\n child: child\n });\n\n // the query in the selector should be the '>' itself\n replaceLastQuery(selector, query, parentChildQuery);\n selector.compoundCount++;\n\n // we're now populating the child query with expressions that follow\n return child;\n } else if (selector.currentSubject === query) {\n // compound split query\n var compound = newQuery();\n var left = selector[selector.length - 1];\n var right = newQuery();\n var subject = newQuery();\n var _child = newQuery();\n var _parent = newQuery();\n\n // set up the root compound q\n compound.checks.push({\n type: Type.COMPOUND_SPLIT,\n left: left,\n right: right,\n subject: subject\n });\n\n // populate the subject and replace the q at the old spot (within left) with TRUE\n subject.checks = query.checks; // take the checks from the left\n query.checks = [{\n type: Type.TRUE\n }]; // checks under left refs the subject implicitly\n\n // set up the right q\n _parent.checks.push({\n type: Type.TRUE\n }); // parent implicitly refs the subject\n right.checks.push({\n type: Type.PARENT,\n // type is swapped on right side queries\n parent: _parent,\n child: _child // empty for now\n });\n replaceLastQuery(selector, left, compound);\n\n // update the ref since we moved things around for `query`\n selector.currentSubject = subject;\n selector.compoundCount++;\n return _child; // now populating the right side's child\n } else {\n // parent query\n // info for parent query\n var _parent2 = newQuery();\n var _child2 = newQuery();\n var pcQChecks = [{\n type: Type.PARENT,\n parent: _parent2,\n child: _child2\n }];\n\n // the parent-child query takes the place of the query previously being populated\n _parent2.checks = query.checks; // the previous query contains the checks for the parent\n query.checks = pcQChecks; // pc query takes over\n\n selector.compoundCount++;\n return _child2; // we're now populating the child\n }\n }\n}, {\n name: 'descendant',\n separator: true,\n regex: tokens.descendant,\n populate: function populate(selector, query) {\n if (selector.currentSubject == null) {\n // default: descendant query\n var ancChQuery = newQuery();\n var descendant = newQuery();\n var ancestor = selector[selector.length - 1];\n ancChQuery.checks.push({\n type: Type.DESCENDANT,\n ancestor: ancestor,\n descendant: descendant\n });\n\n // the query in the selector should be the '>' itself\n replaceLastQuery(selector, query, ancChQuery);\n selector.compoundCount++;\n\n // we're now populating the descendant query with expressions that follow\n return descendant;\n } else if (selector.currentSubject === query) {\n // compound split query\n var compound = newQuery();\n var left = selector[selector.length - 1];\n var right = newQuery();\n var subject = newQuery();\n var _descendant = newQuery();\n var _ancestor = newQuery();\n\n // set up the root compound q\n compound.checks.push({\n type: Type.COMPOUND_SPLIT,\n left: left,\n right: right,\n subject: subject\n });\n\n // populate the subject and replace the q at the old spot (within left) with TRUE\n subject.checks = query.checks; // take the checks from the left\n query.checks = [{\n type: Type.TRUE\n }]; // checks under left refs the subject implicitly\n\n // set up the right q\n _ancestor.checks.push({\n type: Type.TRUE\n }); // ancestor implicitly refs the subject\n right.checks.push({\n type: Type.ANCESTOR,\n // type is swapped on right side queries\n ancestor: _ancestor,\n descendant: _descendant // empty for now\n });\n replaceLastQuery(selector, left, compound);\n\n // update the ref since we moved things around for `query`\n selector.currentSubject = subject;\n selector.compoundCount++;\n return _descendant; // now populating the right side's descendant\n } else {\n // ancestor query\n // info for parent query\n var _ancestor2 = newQuery();\n var _descendant2 = newQuery();\n var adQChecks = [{\n type: Type.ANCESTOR,\n ancestor: _ancestor2,\n descendant: _descendant2\n }];\n\n // the parent-child query takes the place of the query previously being populated\n _ancestor2.checks = query.checks; // the previous query contains the checks for the parent\n query.checks = adQChecks; // pc query takes over\n\n selector.compoundCount++;\n return _descendant2; // we're now populating the child\n }\n }\n}, {\n name: 'subject',\n modifier: true,\n regex: tokens.subject,\n populate: function populate(selector, query) {\n if (selector.currentSubject != null && selector.currentSubject !== query) {\n warn('Redefinition of subject in selector `' + selector.toString() + '`');\n return false;\n }\n selector.currentSubject = query;\n var topQ = selector[selector.length - 1];\n var topChk = topQ.checks[0];\n var topType = topChk == null ? null : topChk.type;\n if (topType === Type.DIRECTED_EDGE) {\n // directed edge with subject on the target\n\n // change to target node check\n topChk.type = Type.NODE_TARGET;\n } else if (topType === Type.UNDIRECTED_EDGE) {\n // undirected edge with subject on the second node\n\n // change to neighbor check\n topChk.type = Type.NODE_NEIGHBOR;\n topChk.node = topChk.nodes[1]; // second node is subject\n topChk.neighbor = topChk.nodes[0];\n\n // clean up unused fields for new type\n topChk.nodes = null;\n }\n }\n}];\nexprs.forEach(function (e) {\n return e.regexObj = new RegExp('^' + e.regex);\n});\n\n/**\n * Of all the expressions, find the first match in the remaining text.\n * @param {string} remaining The remaining text to parse\n * @returns The matched expression and the newly remaining text `{ expr, match, name, remaining }`\n */\nvar consumeExpr = function consumeExpr(remaining) {\n var expr;\n var match;\n var name;\n for (var j = 0; j < exprs.length; j++) {\n var e = exprs[j];\n var n = e.name;\n var m = remaining.match(e.regexObj);\n if (m != null) {\n match = m;\n expr = e;\n name = n;\n var consumed = m[0];\n remaining = remaining.substring(consumed.length);\n break; // we've consumed one expr, so we can return now\n }\n }\n return {\n expr: expr,\n match: match,\n name: name,\n remaining: remaining\n };\n};\n\n/**\n * Consume all the leading whitespace\n * @param {string} remaining The text to consume\n * @returns The text with the leading whitespace removed\n */\nvar consumeWhitespace = function consumeWhitespace(remaining) {\n var match = remaining.match(/^\\s+/);\n if (match) {\n var consumed = match[0];\n remaining = remaining.substring(consumed.length);\n }\n return remaining;\n};\n\n/**\n * Parse the string and store the parsed representation in the Selector.\n * @param {string} selector The selector string\n * @returns `true` if the selector was successfully parsed, `false` otherwise\n */\nvar parse = function parse(selector) {\n var self = this;\n var remaining = self.inputText = selector;\n var currentQuery = self[0] = newQuery();\n self.length = 1;\n remaining = consumeWhitespace(remaining); // get rid of leading whitespace\n\n for (;;) {\n var exprInfo = consumeExpr(remaining);\n if (exprInfo.expr == null) {\n warn('The selector `' + selector + '`is invalid');\n return false;\n } else {\n var args = exprInfo.match.slice(1);\n\n // let the token populate the selector object in currentQuery\n var ret = exprInfo.expr.populate(self, currentQuery, args);\n if (ret === false) {\n return false; // exit if population failed\n } else if (ret != null) {\n currentQuery = ret; // change the current query to be filled if the expr specifies\n }\n }\n remaining = exprInfo.remaining;\n\n // we're done when there's nothing left to parse\n if (remaining.match(/^\\s*$/)) {\n break;\n }\n }\n var lastQ = self[self.length - 1];\n if (self.currentSubject != null) {\n lastQ.subject = self.currentSubject;\n }\n lastQ.edgeCount = self.edgeCount;\n lastQ.compoundCount = self.compoundCount;\n for (var i = 0; i < self.length; i++) {\n var q = self[i];\n\n // in future, this could potentially be allowed if there were operator precedence and detection of invalid combinations\n if (q.compoundCount > 0 && q.edgeCount > 0) {\n warn('The selector `' + selector + '` is invalid because it uses both a compound selector and an edge selector');\n return false;\n }\n if (q.edgeCount > 1) {\n warn('The selector `' + selector + '` is invalid because it uses multiple edge selectors');\n return false;\n } else if (q.edgeCount === 1) {\n warn('The selector `' + selector + '` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.');\n }\n }\n return true; // success\n};\n\n/**\n * Get the selector represented as a string. This value uses default formatting,\n * so things like spacing may differ from the input text passed to the constructor.\n * @returns {string} The selector string\n */\nvar toString = function toString() {\n if (this.toStringCache != null) {\n return this.toStringCache;\n }\n var clean = function clean(obj) {\n if (obj == null) {\n return '';\n } else {\n return obj;\n }\n };\n var cleanVal = function cleanVal(val) {\n if (string(val)) {\n return '\"' + val + '\"';\n } else {\n return clean(val);\n }\n };\n var space = function space(val) {\n return ' ' + val + ' ';\n };\n var checkToString = function checkToString(check, subject) {\n var type = check.type,\n value = check.value;\n switch (type) {\n case Type.GROUP:\n {\n var group = clean(value);\n return group.substring(0, group.length - 1);\n }\n case Type.DATA_COMPARE:\n {\n var field = check.field,\n operator = check.operator;\n return '[' + field + space(clean(operator)) + cleanVal(value) + ']';\n }\n case Type.DATA_BOOL:\n {\n var _operator = check.operator,\n _field = check.field;\n return '[' + clean(_operator) + _field + ']';\n }\n case Type.DATA_EXIST:\n {\n var _field2 = check.field;\n return '[' + _field2 + ']';\n }\n case Type.META_COMPARE:\n {\n var _operator2 = check.operator,\n _field3 = check.field;\n return '[[' + _field3 + space(clean(_operator2)) + cleanVal(value) + ']]';\n }\n case Type.STATE:\n {\n return value;\n }\n case Type.ID:\n {\n return '#' + value;\n }\n case Type.CLASS:\n {\n return '.' + value;\n }\n case Type.PARENT:\n case Type.CHILD:\n {\n return queryToString(check.parent, subject) + space('>') + queryToString(check.child, subject);\n }\n case Type.ANCESTOR:\n case Type.DESCENDANT:\n {\n return queryToString(check.ancestor, subject) + ' ' + queryToString(check.descendant, subject);\n }\n case Type.COMPOUND_SPLIT:\n {\n var lhs = queryToString(check.left, subject);\n var sub = queryToString(check.subject, subject);\n var rhs = queryToString(check.right, subject);\n return lhs + (lhs.length > 0 ? ' ' : '') + sub + rhs;\n }\n case Type.TRUE:\n {\n return '';\n }\n }\n };\n var queryToString = function queryToString(query, subject) {\n return query.checks.reduce(function (str, chk, i) {\n return str + (subject === query && i === 0 ? '$' : '') + checkToString(chk, subject);\n }, '');\n };\n var str = '';\n for (var i = 0; i < this.length; i++) {\n var query = this[i];\n str += queryToString(query, query.subject);\n if (this.length > 1 && i < this.length - 1) {\n str += ', ';\n }\n }\n this.toStringCache = str;\n return str;\n};\nvar parse$1 = {\n parse: parse,\n toString: toString\n};\n\nvar valCmp = function valCmp(fieldVal, operator, value) {\n var matches;\n var isFieldStr = string(fieldVal);\n var isFieldNum = number$1(fieldVal);\n var isValStr = string(value);\n var fieldStr, valStr;\n var caseInsensitive = false;\n var notExpr = false;\n var isIneqCmp = false;\n if (operator.indexOf('!') >= 0) {\n operator = operator.replace('!', '');\n notExpr = true;\n }\n if (operator.indexOf('@') >= 0) {\n operator = operator.replace('@', '');\n caseInsensitive = true;\n }\n if (isFieldStr || isValStr || caseInsensitive) {\n fieldStr = !isFieldStr && !isFieldNum ? '' : '' + fieldVal;\n valStr = '' + value;\n }\n\n // if we're doing a case insensitive comparison, then we're using a STRING comparison\n // even if we're comparing numbers\n if (caseInsensitive) {\n fieldVal = fieldStr = fieldStr.toLowerCase();\n value = valStr = valStr.toLowerCase();\n }\n switch (operator) {\n case '*=':\n matches = fieldStr.indexOf(valStr) >= 0;\n break;\n case '$=':\n matches = fieldStr.indexOf(valStr, fieldStr.length - valStr.length) >= 0;\n break;\n case '^=':\n matches = fieldStr.indexOf(valStr) === 0;\n break;\n case '=':\n matches = fieldVal === value;\n break;\n case '>':\n isIneqCmp = true;\n matches = fieldVal > value;\n break;\n case '>=':\n isIneqCmp = true;\n matches = fieldVal >= value;\n break;\n case '<':\n isIneqCmp = true;\n matches = fieldVal < value;\n break;\n case '<=':\n isIneqCmp = true;\n matches = fieldVal <= value;\n break;\n default:\n matches = false;\n break;\n }\n\n // apply the not op, but null vals for inequalities should always stay non-matching\n if (notExpr && (fieldVal != null || !isIneqCmp)) {\n matches = !matches;\n }\n return matches;\n};\nvar boolCmp = function boolCmp(fieldVal, operator) {\n switch (operator) {\n case '?':\n return fieldVal ? true : false;\n case '!':\n return fieldVal ? false : true;\n case '^':\n return fieldVal === undefined;\n }\n};\nvar existCmp = function existCmp(fieldVal) {\n return fieldVal !== undefined;\n};\nvar data$1 = function data(ele, field) {\n return ele.data(field);\n};\nvar meta = function meta(ele, field) {\n return ele[field]();\n};\n\n/** A lookup of `match(check, ele)` functions by `Type` int */\nvar match = [];\n\n/**\n * Returns whether the query matches for the element\n * @param query The `{ type, value, ... }` query object\n * @param ele The element to compare against\n*/\nvar matches$1 = function matches(query, ele) {\n return query.checks.every(function (chk) {\n return match[chk.type](chk, ele);\n });\n};\nmatch[Type.GROUP] = function (check, ele) {\n var group = check.value;\n return group === '*' || group === ele.group();\n};\nmatch[Type.STATE] = function (check, ele) {\n var stateSelector = check.value;\n return stateSelectorMatches(stateSelector, ele);\n};\nmatch[Type.ID] = function (check, ele) {\n var id = check.value;\n return ele.id() === id;\n};\nmatch[Type.CLASS] = function (check, ele) {\n var cls = check.value;\n return ele.hasClass(cls);\n};\nmatch[Type.META_COMPARE] = function (check, ele) {\n var field = check.field,\n operator = check.operator,\n value = check.value;\n return valCmp(meta(ele, field), operator, value);\n};\nmatch[Type.DATA_COMPARE] = function (check, ele) {\n var field = check.field,\n operator = check.operator,\n value = check.value;\n return valCmp(data$1(ele, field), operator, value);\n};\nmatch[Type.DATA_BOOL] = function (check, ele) {\n var field = check.field,\n operator = check.operator;\n return boolCmp(data$1(ele, field), operator);\n};\nmatch[Type.DATA_EXIST] = function (check, ele) {\n var field = check.field;\n check.operator;\n return existCmp(data$1(ele, field));\n};\nmatch[Type.UNDIRECTED_EDGE] = function (check, ele) {\n var qA = check.nodes[0];\n var qB = check.nodes[1];\n var src = ele.source();\n var tgt = ele.target();\n return matches$1(qA, src) && matches$1(qB, tgt) || matches$1(qB, src) && matches$1(qA, tgt);\n};\nmatch[Type.NODE_NEIGHBOR] = function (check, ele) {\n return matches$1(check.node, ele) && ele.neighborhood().some(function (n) {\n return n.isNode() && matches$1(check.neighbor, n);\n });\n};\nmatch[Type.DIRECTED_EDGE] = function (check, ele) {\n return matches$1(check.source, ele.source()) && matches$1(check.target, ele.target());\n};\nmatch[Type.NODE_SOURCE] = function (check, ele) {\n return matches$1(check.source, ele) && ele.outgoers().some(function (n) {\n return n.isNode() && matches$1(check.target, n);\n });\n};\nmatch[Type.NODE_TARGET] = function (check, ele) {\n return matches$1(check.target, ele) && ele.incomers().some(function (n) {\n return n.isNode() && matches$1(check.source, n);\n });\n};\nmatch[Type.CHILD] = function (check, ele) {\n return matches$1(check.child, ele) && matches$1(check.parent, ele.parent());\n};\nmatch[Type.PARENT] = function (check, ele) {\n return matches$1(check.parent, ele) && ele.children().some(function (c) {\n return matches$1(check.child, c);\n });\n};\nmatch[Type.DESCENDANT] = function (check, ele) {\n return matches$1(check.descendant, ele) && ele.ancestors().some(function (a) {\n return matches$1(check.ancestor, a);\n });\n};\nmatch[Type.ANCESTOR] = function (check, ele) {\n return matches$1(check.ancestor, ele) && ele.descendants().some(function (d) {\n return matches$1(check.descendant, d);\n });\n};\nmatch[Type.COMPOUND_SPLIT] = function (check, ele) {\n return matches$1(check.subject, ele) && matches$1(check.left, ele) && matches$1(check.right, ele);\n};\nmatch[Type.TRUE] = function () {\n return true;\n};\nmatch[Type.COLLECTION] = function (check, ele) {\n var collection = check.value;\n return collection.has(ele);\n};\nmatch[Type.FILTER] = function (check, ele) {\n var filter = check.value;\n return filter(ele);\n};\n\n// filter an existing collection\nvar filter = function filter(collection) {\n var self = this;\n\n // for 1 id #foo queries, just get the element\n if (self.length === 1 && self[0].checks.length === 1 && self[0].checks[0].type === Type.ID) {\n return collection.getElementById(self[0].checks[0].value).collection();\n }\n var selectorFunction = function selectorFunction(element) {\n for (var j = 0; j < self.length; j++) {\n var query = self[j];\n if (matches$1(query, element)) {\n return true;\n }\n }\n return false;\n };\n if (self.text() == null) {\n selectorFunction = function selectorFunction() {\n return true;\n };\n }\n return collection.filter(selectorFunction);\n}; // filter\n\n// does selector match a single element?\nvar matches = function matches(ele) {\n var self = this;\n for (var j = 0; j < self.length; j++) {\n var query = self[j];\n if (matches$1(query, ele)) {\n return true;\n }\n }\n return false;\n}; // matches\n\nvar matching = {\n matches: matches,\n filter: filter\n};\n\nvar Selector = function Selector(selector) {\n this.inputText = selector;\n this.currentSubject = null;\n this.compoundCount = 0;\n this.edgeCount = 0;\n this.length = 0;\n if (selector == null || string(selector) && selector.match(/^\\s*$/)) ; else if (elementOrCollection(selector)) {\n this.addQuery({\n checks: [{\n type: Type.COLLECTION,\n value: selector.collection()\n }]\n });\n } else if (fn$6(selector)) {\n this.addQuery({\n checks: [{\n type: Type.FILTER,\n value: selector\n }]\n });\n } else if (string(selector)) {\n if (!this.parse(selector)) {\n this.invalid = true;\n }\n } else {\n error('A selector must be created from a string; found ');\n }\n};\nvar selfn = Selector.prototype;\n[parse$1, matching].forEach(function (p) {\n return extend(selfn, p);\n});\nselfn.text = function () {\n return this.inputText;\n};\nselfn.size = function () {\n return this.length;\n};\nselfn.eq = function (i) {\n return this[i];\n};\nselfn.sameText = function (otherSel) {\n return !this.invalid && !otherSel.invalid && this.text() === otherSel.text();\n};\nselfn.addQuery = function (q) {\n this[this.length++] = q;\n};\nselfn.selector = selfn.toString;\n\nvar elesfn$g = {\n allAre: function allAre(selector) {\n var selObj = new Selector(selector);\n return this.every(function (ele) {\n return selObj.matches(ele);\n });\n },\n is: function is(selector) {\n var selObj = new Selector(selector);\n return this.some(function (ele) {\n return selObj.matches(ele);\n });\n },\n some: function some(fn, thisArg) {\n for (var i = 0; i < this.length; i++) {\n var ret = !thisArg ? fn(this[i], i, this) : fn.apply(thisArg, [this[i], i, this]);\n if (ret) {\n return true;\n }\n }\n return false;\n },\n every: function every(fn, thisArg) {\n for (var i = 0; i < this.length; i++) {\n var ret = !thisArg ? fn(this[i], i, this) : fn.apply(thisArg, [this[i], i, this]);\n if (!ret) {\n return false;\n }\n }\n return true;\n },\n same: function same(collection) {\n // cheap collection ref check\n if (this === collection) {\n return true;\n }\n collection = this.cy().collection(collection);\n var thisLength = this.length;\n var collectionLength = collection.length;\n\n // cheap length check\n if (thisLength !== collectionLength) {\n return false;\n }\n\n // cheap element ref check\n if (thisLength === 1) {\n return this[0] === collection[0];\n }\n return this.every(function (ele) {\n return collection.hasElementWithId(ele.id());\n });\n },\n anySame: function anySame(collection) {\n collection = this.cy().collection(collection);\n return this.some(function (ele) {\n return collection.hasElementWithId(ele.id());\n });\n },\n allAreNeighbors: function allAreNeighbors(collection) {\n collection = this.cy().collection(collection);\n var nhood = this.neighborhood();\n return collection.every(function (ele) {\n return nhood.hasElementWithId(ele.id());\n });\n },\n contains: function contains(collection) {\n collection = this.cy().collection(collection);\n var self = this;\n return collection.every(function (ele) {\n return self.hasElementWithId(ele.id());\n });\n }\n};\nelesfn$g.allAreNeighbours = elesfn$g.allAreNeighbors;\nelesfn$g.has = elesfn$g.contains;\nelesfn$g.equal = elesfn$g.equals = elesfn$g.same;\n\nvar cache = function cache(fn, name) {\n return function traversalCache(arg1, arg2, arg3, arg4) {\n var selectorOrEles = arg1;\n var eles = this;\n var key;\n if (selectorOrEles == null) {\n key = '';\n } else if (elementOrCollection(selectorOrEles) && selectorOrEles.length === 1) {\n key = selectorOrEles.id();\n }\n if (eles.length === 1 && key) {\n var _p = eles[0]._private;\n var tch = _p.traversalCache = _p.traversalCache || {};\n var ch = tch[name] = tch[name] || [];\n var hash = hashString(key);\n var cacheHit = ch[hash];\n if (cacheHit) {\n return cacheHit;\n } else {\n return ch[hash] = fn.call(eles, arg1, arg2, arg3, arg4);\n }\n } else {\n return fn.call(eles, arg1, arg2, arg3, arg4);\n }\n };\n};\n\nvar elesfn$f = {\n parent: function parent(selector) {\n var parents = [];\n\n // optimisation for single ele call\n if (this.length === 1) {\n var parent = this[0]._private.parent;\n if (parent) {\n return parent;\n }\n }\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var _parent = ele._private.parent;\n if (_parent) {\n parents.push(_parent);\n }\n }\n return this.spawn(parents, true).filter(selector);\n },\n parents: function parents(selector) {\n var parents = [];\n var eles = this.parent();\n while (eles.nonempty()) {\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n parents.push(ele);\n }\n eles = eles.parent();\n }\n return this.spawn(parents, true).filter(selector);\n },\n commonAncestors: function commonAncestors(selector) {\n var ancestors;\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var parents = ele.parents();\n ancestors = ancestors || parents;\n ancestors = ancestors.intersect(parents); // current list must be common with current ele parents set\n }\n return ancestors.filter(selector);\n },\n orphans: function orphans(selector) {\n return this.stdFilter(function (ele) {\n return ele.isOrphan();\n }).filter(selector);\n },\n nonorphans: function nonorphans(selector) {\n return this.stdFilter(function (ele) {\n return ele.isChild();\n }).filter(selector);\n },\n children: cache(function (selector) {\n var children = [];\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var eleChildren = ele._private.children;\n for (var j = 0; j < eleChildren.length; j++) {\n children.push(eleChildren[j]);\n }\n }\n return this.spawn(children, true).filter(selector);\n }, 'children'),\n siblings: function siblings(selector) {\n return this.parent().children().not(this).filter(selector);\n },\n isParent: function isParent() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.children.length !== 0;\n }\n },\n isChildless: function isChildless() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.children.length === 0;\n }\n },\n isChild: function isChild() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.parent != null;\n }\n },\n isOrphan: function isOrphan() {\n var ele = this[0];\n if (ele) {\n return ele.isNode() && ele._private.parent == null;\n }\n },\n descendants: function descendants(selector) {\n var elements = [];\n function add(eles) {\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n elements.push(ele);\n if (ele.children().nonempty()) {\n add(ele.children());\n }\n }\n }\n add(this.children());\n return this.spawn(elements, true).filter(selector);\n }\n};\nfunction forEachCompound(eles, fn, includeSelf, recursiveStep) {\n var q = [];\n var did = new Set$1();\n var cy = eles.cy();\n var hasCompounds = cy.hasCompoundNodes();\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n if (includeSelf) {\n q.push(ele);\n } else if (hasCompounds) {\n recursiveStep(q, did, ele);\n }\n }\n while (q.length > 0) {\n var _ele = q.shift();\n fn(_ele);\n did.add(_ele.id());\n if (hasCompounds) {\n recursiveStep(q, did, _ele);\n }\n }\n return eles;\n}\nfunction addChildren(q, did, ele) {\n if (ele.isParent()) {\n var children = ele._private.children;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (!did.has(child.id())) {\n q.push(child);\n }\n }\n }\n}\n\n// very efficient version of eles.add( eles.descendants() ).forEach()\n// for internal use\nelesfn$f.forEachDown = function (fn) {\n var includeSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return forEachCompound(this, fn, includeSelf, addChildren);\n};\nfunction addParent(q, did, ele) {\n if (ele.isChild()) {\n var parent = ele._private.parent;\n if (!did.has(parent.id())) {\n q.push(parent);\n }\n }\n}\nelesfn$f.forEachUp = function (fn) {\n var includeSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return forEachCompound(this, fn, includeSelf, addParent);\n};\nfunction addParentAndChildren(q, did, ele) {\n addParent(q, did, ele);\n addChildren(q, did, ele);\n}\nelesfn$f.forEachUpAndDown = function (fn) {\n var includeSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return forEachCompound(this, fn, includeSelf, addParentAndChildren);\n};\n\n// aliases\nelesfn$f.ancestors = elesfn$f.parents;\n\nvar fn$5, elesfn$e;\nfn$5 = elesfn$e = {\n data: define.data({\n field: 'data',\n bindingEvent: 'data',\n allowBinding: true,\n allowSetting: true,\n settingEvent: 'data',\n settingTriggersEvent: true,\n triggerFnName: 'trigger',\n allowGetting: true,\n immutableKeys: {\n 'id': true,\n 'source': true,\n 'target': true,\n 'parent': true\n },\n updateStyle: true\n }),\n removeData: define.removeData({\n field: 'data',\n event: 'data',\n triggerFnName: 'trigger',\n triggerEvent: true,\n immutableKeys: {\n 'id': true,\n 'source': true,\n 'target': true,\n 'parent': true\n },\n updateStyle: true\n }),\n scratch: define.data({\n field: 'scratch',\n bindingEvent: 'scratch',\n allowBinding: true,\n allowSetting: true,\n settingEvent: 'scratch',\n settingTriggersEvent: true,\n triggerFnName: 'trigger',\n allowGetting: true,\n updateStyle: true\n }),\n removeScratch: define.removeData({\n field: 'scratch',\n event: 'scratch',\n triggerFnName: 'trigger',\n triggerEvent: true,\n updateStyle: true\n }),\n rscratch: define.data({\n field: 'rscratch',\n allowBinding: false,\n allowSetting: true,\n settingTriggersEvent: false,\n allowGetting: true\n }),\n removeRscratch: define.removeData({\n field: 'rscratch',\n triggerEvent: false\n }),\n id: function id() {\n var ele = this[0];\n if (ele) {\n return ele._private.data.id;\n }\n }\n};\n\n// aliases\nfn$5.attr = fn$5.data;\nfn$5.removeAttr = fn$5.removeData;\nvar data = elesfn$e;\n\nvar elesfn$d = {};\nfunction defineDegreeFunction(callback) {\n return function (includeLoops) {\n var self = this;\n if (includeLoops === undefined) {\n includeLoops = true;\n }\n if (self.length === 0) {\n return;\n }\n if (self.isNode() && !self.removed()) {\n var degree = 0;\n var node = self[0];\n var connectedEdges = node._private.edges;\n for (var i = 0; i < connectedEdges.length; i++) {\n var edge = connectedEdges[i];\n if (!includeLoops && edge.isLoop()) {\n continue;\n }\n degree += callback(node, edge);\n }\n return degree;\n } else {\n return;\n }\n };\n}\nextend(elesfn$d, {\n degree: defineDegreeFunction(function (node, edge) {\n if (edge.source().same(edge.target())) {\n return 2;\n } else {\n return 1;\n }\n }),\n indegree: defineDegreeFunction(function (node, edge) {\n if (edge.target().same(node)) {\n return 1;\n } else {\n return 0;\n }\n }),\n outdegree: defineDegreeFunction(function (node, edge) {\n if (edge.source().same(node)) {\n return 1;\n } else {\n return 0;\n }\n })\n});\nfunction defineDegreeBoundsFunction(degreeFn, callback) {\n return function (includeLoops) {\n var ret;\n var nodes = this.nodes();\n for (var i = 0; i < nodes.length; i++) {\n var ele = nodes[i];\n var degree = ele[degreeFn](includeLoops);\n if (degree !== undefined && (ret === undefined || callback(degree, ret))) {\n ret = degree;\n }\n }\n return ret;\n };\n}\nextend(elesfn$d, {\n minDegree: defineDegreeBoundsFunction('degree', function (degree, min) {\n return degree < min;\n }),\n maxDegree: defineDegreeBoundsFunction('degree', function (degree, max) {\n return degree > max;\n }),\n minIndegree: defineDegreeBoundsFunction('indegree', function (degree, min) {\n return degree < min;\n }),\n maxIndegree: defineDegreeBoundsFunction('indegree', function (degree, max) {\n return degree > max;\n }),\n minOutdegree: defineDegreeBoundsFunction('outdegree', function (degree, min) {\n return degree < min;\n }),\n maxOutdegree: defineDegreeBoundsFunction('outdegree', function (degree, max) {\n return degree > max;\n })\n});\nextend(elesfn$d, {\n totalDegree: function totalDegree(includeLoops) {\n var total = 0;\n var nodes = this.nodes();\n for (var i = 0; i < nodes.length; i++) {\n total += nodes[i].degree(includeLoops);\n }\n return total;\n }\n});\n\nvar fn$4, elesfn$c;\nvar beforePositionSet = function beforePositionSet(eles, newPos, silent) {\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n if (!ele.locked()) {\n var oldPos = ele._private.position;\n var delta = {\n x: newPos.x != null ? newPos.x - oldPos.x : 0,\n y: newPos.y != null ? newPos.y - oldPos.y : 0\n };\n if (ele.isParent() && !(delta.x === 0 && delta.y === 0)) {\n ele.children().shift(delta, silent);\n }\n ele.dirtyBoundingBoxCache();\n }\n }\n};\nvar positionDef = {\n field: 'position',\n bindingEvent: 'position',\n allowBinding: true,\n allowSetting: true,\n settingEvent: 'position',\n settingTriggersEvent: true,\n triggerFnName: 'emitAndNotify',\n allowGetting: true,\n validKeys: ['x', 'y'],\n beforeGet: function beforeGet(ele) {\n ele.updateCompoundBounds();\n },\n beforeSet: function beforeSet(eles, newPos) {\n beforePositionSet(eles, newPos, false);\n },\n onSet: function onSet(eles) {\n eles.dirtyCompoundBoundsCache();\n },\n canSet: function canSet(ele) {\n return !ele.locked();\n }\n};\nfn$4 = elesfn$c = {\n position: define.data(positionDef),\n // position but no notification to renderer\n silentPosition: define.data(extend({}, positionDef, {\n allowBinding: false,\n allowSetting: true,\n settingTriggersEvent: false,\n allowGetting: false,\n beforeSet: function beforeSet(eles, newPos) {\n beforePositionSet(eles, newPos, true);\n },\n onSet: function onSet(eles) {\n eles.dirtyCompoundBoundsCache();\n }\n })),\n positions: function positions(pos, silent) {\n if (plainObject(pos)) {\n if (silent) {\n this.silentPosition(pos);\n } else {\n this.position(pos);\n }\n } else if (fn$6(pos)) {\n var _fn = pos;\n var cy = this.cy();\n cy.startBatch();\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var _pos = undefined;\n if (_pos = _fn(ele, i)) {\n if (silent) {\n ele.silentPosition(_pos);\n } else {\n ele.position(_pos);\n }\n }\n }\n cy.endBatch();\n }\n return this; // chaining\n },\n silentPositions: function silentPositions(pos) {\n return this.positions(pos, true);\n },\n shift: function shift(dim, val, silent) {\n var delta;\n if (plainObject(dim)) {\n delta = {\n x: number$1(dim.x) ? dim.x : 0,\n y: number$1(dim.y) ? dim.y : 0\n };\n silent = val;\n } else if (string(dim) && number$1(val)) {\n delta = {\n x: 0,\n y: 0\n };\n delta[dim] = val;\n }\n if (delta != null) {\n var cy = this.cy();\n cy.startBatch();\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n\n // exclude any node that is a descendant of the calling collection\n if (cy.hasCompoundNodes() && ele.isChild() && ele.ancestors().anySame(this)) {\n continue;\n }\n var pos = ele.position();\n var newPos = {\n x: pos.x + delta.x,\n y: pos.y + delta.y\n };\n if (silent) {\n ele.silentPosition(newPos);\n } else {\n ele.position(newPos);\n }\n }\n cy.endBatch();\n }\n return this;\n },\n silentShift: function silentShift(dim, val) {\n if (plainObject(dim)) {\n this.shift(dim, true);\n } else if (string(dim) && number$1(val)) {\n this.shift(dim, val, true);\n }\n return this;\n },\n // get/set the rendered (i.e. on screen) positon of the element\n renderedPosition: function renderedPosition(dim, val) {\n var ele = this[0];\n var cy = this.cy();\n var zoom = cy.zoom();\n var pan = cy.pan();\n var rpos = plainObject(dim) ? dim : undefined;\n var setting = rpos !== undefined || val !== undefined && string(dim);\n if (ele && ele.isNode()) {\n // must have an element and must be a node to return position\n if (setting) {\n for (var i = 0; i < this.length; i++) {\n var _ele = this[i];\n if (val !== undefined) {\n // set one dimension\n _ele.position(dim, (val - pan[dim]) / zoom);\n } else if (rpos !== undefined) {\n // set whole position\n _ele.position(renderedToModelPosition(rpos, zoom, pan));\n }\n }\n } else {\n // getting\n var pos = ele.position();\n rpos = modelToRenderedPosition$1(pos, zoom, pan);\n if (dim === undefined) {\n // then return the whole rendered position\n return rpos;\n } else {\n // then return the specified dimension\n return rpos[dim];\n }\n }\n } else if (!setting) {\n return undefined; // for empty collection case\n }\n return this; // chaining\n },\n // get/set the position relative to the parent\n relativePosition: function relativePosition(dim, val) {\n var ele = this[0];\n var cy = this.cy();\n var ppos = plainObject(dim) ? dim : undefined;\n var setting = ppos !== undefined || val !== undefined && string(dim);\n var hasCompoundNodes = cy.hasCompoundNodes();\n if (ele && ele.isNode()) {\n // must have an element and must be a node to return position\n if (setting) {\n for (var i = 0; i < this.length; i++) {\n var _ele2 = this[i];\n var parent = hasCompoundNodes ? _ele2.parent() : null;\n var hasParent = parent && parent.length > 0;\n var relativeToParent = hasParent;\n if (hasParent) {\n parent = parent[0];\n }\n var origin = relativeToParent ? parent.position() : {\n x: 0,\n y: 0\n };\n if (val !== undefined) {\n // set one dimension\n _ele2.position(dim, val + origin[dim]);\n } else if (ppos !== undefined) {\n // set whole position\n _ele2.position({\n x: ppos.x + origin.x,\n y: ppos.y + origin.y\n });\n }\n }\n } else {\n // getting\n var pos = ele.position();\n var _parent = hasCompoundNodes ? ele.parent() : null;\n var _hasParent = _parent && _parent.length > 0;\n var _relativeToParent = _hasParent;\n if (_hasParent) {\n _parent = _parent[0];\n }\n var _origin = _relativeToParent ? _parent.position() : {\n x: 0,\n y: 0\n };\n ppos = {\n x: pos.x - _origin.x,\n y: pos.y - _origin.y\n };\n if (dim === undefined) {\n // then return the whole rendered position\n return ppos;\n } else {\n // then return the specified dimension\n return ppos[dim];\n }\n }\n } else if (!setting) {\n return undefined; // for empty collection case\n }\n return this; // chaining\n }\n};\n\n// aliases\nfn$4.modelPosition = fn$4.point = fn$4.position;\nfn$4.modelPositions = fn$4.points = fn$4.positions;\nfn$4.renderedPoint = fn$4.renderedPosition;\nfn$4.relativePoint = fn$4.relativePosition;\nvar position = elesfn$c;\n\nvar fn$3, elesfn$b;\nfn$3 = elesfn$b = {};\nelesfn$b.renderedBoundingBox = function (options) {\n var bb = this.boundingBox(options);\n var cy = this.cy();\n var zoom = cy.zoom();\n var pan = cy.pan();\n var x1 = bb.x1 * zoom + pan.x;\n var x2 = bb.x2 * zoom + pan.x;\n var y1 = bb.y1 * zoom + pan.y;\n var y2 = bb.y2 * zoom + pan.y;\n return {\n x1: x1,\n x2: x2,\n y1: y1,\n y2: y2,\n w: x2 - x1,\n h: y2 - y1\n };\n};\nelesfn$b.dirtyCompoundBoundsCache = function () {\n var silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cy = this.cy();\n if (!cy.styleEnabled() || !cy.hasCompoundNodes()) {\n return this;\n }\n this.forEachUp(function (ele) {\n if (ele.isParent()) {\n var _p = ele._private;\n _p.compoundBoundsClean = false;\n _p.bbCache = null;\n if (!silent) {\n ele.emitAndNotify('bounds');\n }\n }\n });\n return this;\n};\nelesfn$b.updateCompoundBounds = function () {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cy = this.cy();\n\n // not possible to do on non-compound graphs or with the style disabled\n if (!cy.styleEnabled() || !cy.hasCompoundNodes()) {\n return this;\n }\n\n // save cycles when batching -- but bounds will be stale (or not exist yet)\n if (!force && cy.batching()) {\n return this;\n }\n function update(parent) {\n if (!parent.isParent()) {\n return;\n }\n var _p = parent._private;\n var children = parent.children();\n var includeLabels = parent.pstyle('compound-sizing-wrt-labels').value === 'include';\n var min = {\n width: {\n val: parent.pstyle('min-width').pfValue,\n left: parent.pstyle('min-width-bias-left'),\n right: parent.pstyle('min-width-bias-right')\n },\n height: {\n val: parent.pstyle('min-height').pfValue,\n top: parent.pstyle('min-height-bias-top'),\n bottom: parent.pstyle('min-height-bias-bottom')\n }\n };\n var bb = children.boundingBox({\n includeLabels: includeLabels,\n includeOverlays: false,\n // updating the compound bounds happens outside of the regular\n // cache cycle (i.e. before fired events)\n useCache: false\n });\n var pos = _p.position;\n\n // if children take up zero area then keep position and fall back on stylesheet w/h\n if (bb.w === 0 || bb.h === 0) {\n bb = {\n w: parent.pstyle('width').pfValue,\n h: parent.pstyle('height').pfValue\n };\n bb.x1 = pos.x - bb.w / 2;\n bb.x2 = pos.x + bb.w / 2;\n bb.y1 = pos.y - bb.h / 2;\n bb.y2 = pos.y + bb.h / 2;\n }\n function computeBiasValues(propDiff, propBias, propBiasComplement) {\n var biasDiff = 0;\n var biasComplementDiff = 0;\n var biasTotal = propBias + propBiasComplement;\n if (propDiff > 0 && biasTotal > 0) {\n biasDiff = propBias / biasTotal * propDiff;\n biasComplementDiff = propBiasComplement / biasTotal * propDiff;\n }\n return {\n biasDiff: biasDiff,\n biasComplementDiff: biasComplementDiff\n };\n }\n function computePaddingValues(width, height, paddingObject, relativeTo) {\n // Assuming percentage is number from 0 to 1\n if (paddingObject.units === '%') {\n switch (relativeTo) {\n case 'width':\n return width > 0 ? paddingObject.pfValue * width : 0;\n case 'height':\n return height > 0 ? paddingObject.pfValue * height : 0;\n case 'average':\n return width > 0 && height > 0 ? paddingObject.pfValue * (width + height) / 2 : 0;\n case 'min':\n return width > 0 && height > 0 ? width > height ? paddingObject.pfValue * height : paddingObject.pfValue * width : 0;\n case 'max':\n return width > 0 && height > 0 ? width > height ? paddingObject.pfValue * width : paddingObject.pfValue * height : 0;\n default:\n return 0;\n }\n } else if (paddingObject.units === 'px') {\n return paddingObject.pfValue;\n } else {\n return 0;\n }\n }\n var leftVal = min.width.left.value;\n if (min.width.left.units === 'px' && min.width.val > 0) {\n leftVal = leftVal * 100 / min.width.val;\n }\n var rightVal = min.width.right.value;\n if (min.width.right.units === 'px' && min.width.val > 0) {\n rightVal = rightVal * 100 / min.width.val;\n }\n var topVal = min.height.top.value;\n if (min.height.top.units === 'px' && min.height.val > 0) {\n topVal = topVal * 100 / min.height.val;\n }\n var bottomVal = min.height.bottom.value;\n if (min.height.bottom.units === 'px' && min.height.val > 0) {\n bottomVal = bottomVal * 100 / min.height.val;\n }\n var widthBiasDiffs = computeBiasValues(min.width.val - bb.w, leftVal, rightVal);\n var diffLeft = widthBiasDiffs.biasDiff;\n var diffRight = widthBiasDiffs.biasComplementDiff;\n var heightBiasDiffs = computeBiasValues(min.height.val - bb.h, topVal, bottomVal);\n var diffTop = heightBiasDiffs.biasDiff;\n var diffBottom = heightBiasDiffs.biasComplementDiff;\n _p.autoPadding = computePaddingValues(bb.w, bb.h, parent.pstyle('padding'), parent.pstyle('padding-relative-to').value);\n _p.autoWidth = Math.max(bb.w, min.width.val);\n pos.x = (-diffLeft + bb.x1 + bb.x2 + diffRight) / 2;\n _p.autoHeight = Math.max(bb.h, min.height.val);\n pos.y = (-diffTop + bb.y1 + bb.y2 + diffBottom) / 2;\n }\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var _p = ele._private;\n if (!_p.compoundBoundsClean || force) {\n update(ele);\n if (!cy.batching()) {\n _p.compoundBoundsClean = true;\n }\n }\n }\n return this;\n};\nvar noninf = function noninf(x) {\n if (x === Infinity || x === -Infinity) {\n return 0;\n }\n return x;\n};\nvar updateBounds = function updateBounds(b, x1, y1, x2, y2) {\n // don't update with zero area boxes\n if (x2 - x1 === 0 || y2 - y1 === 0) {\n return;\n }\n\n // don't update with null dim\n if (x1 == null || y1 == null || x2 == null || y2 == null) {\n return;\n }\n b.x1 = x1 < b.x1 ? x1 : b.x1;\n b.x2 = x2 > b.x2 ? x2 : b.x2;\n b.y1 = y1 < b.y1 ? y1 : b.y1;\n b.y2 = y2 > b.y2 ? y2 : b.y2;\n b.w = b.x2 - b.x1;\n b.h = b.y2 - b.y1;\n};\nvar updateBoundsFromBox = function updateBoundsFromBox(b, b2) {\n if (b2 == null) {\n return b;\n }\n return updateBounds(b, b2.x1, b2.y1, b2.x2, b2.y2);\n};\nvar prefixedProperty = function prefixedProperty(obj, field, prefix) {\n return getPrefixedProperty(obj, field, prefix);\n};\nvar updateBoundsFromArrow = function updateBoundsFromArrow(bounds, ele, prefix) {\n if (ele.cy().headless()) {\n return;\n }\n var _p = ele._private;\n var rstyle = _p.rstyle;\n var halfArW = rstyle.arrowWidth / 2;\n var arrowType = ele.pstyle(prefix + '-arrow-shape').value;\n var x;\n var y;\n if (arrowType !== 'none') {\n if (prefix === 'source') {\n x = rstyle.srcX;\n y = rstyle.srcY;\n } else if (prefix === 'target') {\n x = rstyle.tgtX;\n y = rstyle.tgtY;\n } else {\n x = rstyle.midX;\n y = rstyle.midY;\n }\n\n // always store the individual arrow bounds\n var bbs = _p.arrowBounds = _p.arrowBounds || {};\n var bb = bbs[prefix] = bbs[prefix] || {};\n bb.x1 = x - halfArW;\n bb.y1 = y - halfArW;\n bb.x2 = x + halfArW;\n bb.y2 = y + halfArW;\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n expandBoundingBox(bb, 1);\n updateBounds(bounds, bb.x1, bb.y1, bb.x2, bb.y2);\n }\n};\nvar updateBoundsFromLabel = function updateBoundsFromLabel(bounds, ele, prefix) {\n if (ele.cy().headless()) {\n return;\n }\n var prefixDash;\n if (prefix) {\n prefixDash = prefix + '-';\n } else {\n prefixDash = '';\n }\n var _p = ele._private;\n var rstyle = _p.rstyle;\n var label = ele.pstyle(prefixDash + 'label').strValue;\n if (label) {\n var halign = ele.pstyle('text-halign');\n var valign = ele.pstyle('text-valign');\n var labelWidth = prefixedProperty(rstyle, 'labelWidth', prefix);\n var labelHeight = prefixedProperty(rstyle, 'labelHeight', prefix);\n var labelX = prefixedProperty(rstyle, 'labelX', prefix);\n var labelY = prefixedProperty(rstyle, 'labelY', prefix);\n var marginX = ele.pstyle(prefixDash + 'text-margin-x').pfValue;\n var marginY = ele.pstyle(prefixDash + 'text-margin-y').pfValue;\n var isEdge = ele.isEdge();\n var rotation = ele.pstyle(prefixDash + 'text-rotation');\n var outlineWidth = ele.pstyle('text-outline-width').pfValue;\n var borderWidth = ele.pstyle('text-border-width').pfValue;\n var halfBorderWidth = borderWidth / 2;\n var padding = ele.pstyle('text-background-padding').pfValue;\n var marginOfError = 2; // expand to work around browser dimension inaccuracies\n\n var lh = labelHeight;\n var lw = labelWidth;\n var lw_2 = lw / 2;\n var lh_2 = lh / 2;\n var lx1, lx2, ly1, ly2;\n if (isEdge) {\n lx1 = labelX - lw_2;\n lx2 = labelX + lw_2;\n ly1 = labelY - lh_2;\n ly2 = labelY + lh_2;\n } else {\n switch (halign.value) {\n case 'left':\n lx1 = labelX - lw;\n lx2 = labelX;\n break;\n case 'center':\n lx1 = labelX - lw_2;\n lx2 = labelX + lw_2;\n break;\n case 'right':\n lx1 = labelX;\n lx2 = labelX + lw;\n break;\n }\n switch (valign.value) {\n case 'top':\n ly1 = labelY - lh;\n ly2 = labelY;\n break;\n case 'center':\n ly1 = labelY - lh_2;\n ly2 = labelY + lh_2;\n break;\n case 'bottom':\n ly1 = labelY;\n ly2 = labelY + lh;\n break;\n }\n }\n\n // shift by margin and expand by outline and border\n var leftPad = marginX - Math.max(outlineWidth, halfBorderWidth) - padding - marginOfError;\n var rightPad = marginX + Math.max(outlineWidth, halfBorderWidth) + padding + marginOfError;\n var topPad = marginY - Math.max(outlineWidth, halfBorderWidth) - padding - marginOfError;\n var botPad = marginY + Math.max(outlineWidth, halfBorderWidth) + padding + marginOfError;\n lx1 += leftPad;\n lx2 += rightPad;\n ly1 += topPad;\n ly2 += botPad;\n\n // always store the unrotated label bounds separately\n var bbPrefix = prefix || 'main';\n var bbs = _p.labelBounds;\n var bb = bbs[bbPrefix] = bbs[bbPrefix] || {};\n bb.x1 = lx1;\n bb.y1 = ly1;\n bb.x2 = lx2;\n bb.y2 = ly2;\n bb.w = lx2 - lx1;\n bb.h = ly2 - ly1;\n bb.leftPad = leftPad;\n bb.rightPad = rightPad;\n bb.topPad = topPad;\n bb.botPad = botPad;\n var isAutorotate = isEdge && rotation.strValue === 'autorotate';\n var isPfValue = rotation.pfValue != null && rotation.pfValue !== 0;\n if (isAutorotate || isPfValue) {\n var theta = isAutorotate ? prefixedProperty(_p.rstyle, 'labelAngle', prefix) : rotation.pfValue;\n var cos = Math.cos(theta);\n var sin = Math.sin(theta);\n\n // rotation point (default value for center-center)\n var xo = (lx1 + lx2) / 2;\n var yo = (ly1 + ly2) / 2;\n if (!isEdge) {\n switch (halign.value) {\n case 'left':\n xo = lx2;\n break;\n case 'right':\n xo = lx1;\n break;\n }\n switch (valign.value) {\n case 'top':\n yo = ly2;\n break;\n case 'bottom':\n yo = ly1;\n break;\n }\n }\n var rotate = function rotate(x, y) {\n x = x - xo;\n y = y - yo;\n return {\n x: x * cos - y * sin + xo,\n y: x * sin + y * cos + yo\n };\n };\n var px1y1 = rotate(lx1, ly1);\n var px1y2 = rotate(lx1, ly2);\n var px2y1 = rotate(lx2, ly1);\n var px2y2 = rotate(lx2, ly2);\n lx1 = Math.min(px1y1.x, px1y2.x, px2y1.x, px2y2.x);\n lx2 = Math.max(px1y1.x, px1y2.x, px2y1.x, px2y2.x);\n ly1 = Math.min(px1y1.y, px1y2.y, px2y1.y, px2y2.y);\n ly2 = Math.max(px1y1.y, px1y2.y, px2y1.y, px2y2.y);\n }\n var bbPrefixRot = bbPrefix + 'Rot';\n var bbRot = bbs[bbPrefixRot] = bbs[bbPrefixRot] || {};\n bbRot.x1 = lx1;\n bbRot.y1 = ly1;\n bbRot.x2 = lx2;\n bbRot.y2 = ly2;\n bbRot.w = lx2 - lx1;\n bbRot.h = ly2 - ly1;\n updateBounds(bounds, lx1, ly1, lx2, ly2);\n updateBounds(_p.labelBounds.all, lx1, ly1, lx2, ly2);\n }\n return bounds;\n};\nvar updateBoundsFromOutline = function updateBoundsFromOutline(bounds, ele) {\n if (ele.cy().headless()) {\n return;\n }\n var outlineOpacity = ele.pstyle('outline-opacity').value;\n var outlineWidth = ele.pstyle('outline-width').value;\n if (outlineOpacity > 0 && outlineWidth > 0) {\n var outlineOffset = ele.pstyle('outline-offset').value;\n var nodeShape = ele.pstyle('shape').value;\n var outlineSize = outlineWidth + outlineOffset;\n var scaleX = (bounds.w + outlineSize * 2) / bounds.w;\n var scaleY = (bounds.h + outlineSize * 2) / bounds.h;\n var xOffset = 0;\n var yOffset = 0;\n if ([\"diamond\", \"pentagon\", \"round-triangle\"].includes(nodeShape)) {\n scaleX = (bounds.w + outlineSize * 2.4) / bounds.w;\n yOffset = -outlineSize / 3.6;\n } else if ([\"concave-hexagon\", \"rhomboid\", \"right-rhomboid\"].includes(nodeShape)) {\n scaleX = (bounds.w + outlineSize * 2.4) / bounds.w;\n } else if (nodeShape === \"star\") {\n scaleX = (bounds.w + outlineSize * 2.8) / bounds.w;\n scaleY = (bounds.h + outlineSize * 2.6) / bounds.h;\n yOffset = -outlineSize / 3.8;\n } else if (nodeShape === \"triangle\") {\n scaleX = (bounds.w + outlineSize * 2.8) / bounds.w;\n scaleY = (bounds.h + outlineSize * 2.4) / bounds.h;\n yOffset = -outlineSize / 1.4;\n } else if (nodeShape === \"vee\") {\n scaleX = (bounds.w + outlineSize * 4.4) / bounds.w;\n scaleY = (bounds.h + outlineSize * 3.8) / bounds.h;\n yOffset = -outlineSize * .5;\n }\n var hDelta = bounds.h * scaleY - bounds.h;\n var wDelta = bounds.w * scaleX - bounds.w;\n expandBoundingBoxSides(bounds, [Math.ceil(hDelta / 2), Math.ceil(wDelta / 2)]);\n if (xOffset != 0 || yOffset !== 0) {\n var oBounds = shiftBoundingBox(bounds, xOffset, yOffset);\n updateBoundingBox(bounds, oBounds);\n }\n }\n};\n\n// get the bounding box of the elements (in raw model position)\nvar boundingBoxImpl = function boundingBoxImpl(ele, options) {\n var cy = ele._private.cy;\n var styleEnabled = cy.styleEnabled();\n var headless = cy.headless();\n var bounds = makeBoundingBox();\n var _p = ele._private;\n var isNode = ele.isNode();\n var isEdge = ele.isEdge();\n var ex1, ex2, ey1, ey2; // extrema of body / lines\n var x, y; // node pos\n var rstyle = _p.rstyle;\n var manualExpansion = isNode && styleEnabled ? ele.pstyle('bounds-expansion').pfValue : [0];\n\n // must use `display` prop only, as reading `compound.width()` causes recursion\n // (other factors like width values will be considered later in this function anyway)\n var isDisplayed = function isDisplayed(ele) {\n return ele.pstyle('display').value !== 'none';\n };\n var displayed = !styleEnabled || isDisplayed(ele)\n\n // must take into account connected nodes b/c of implicit edge hiding on display:none node\n && (!isEdge || isDisplayed(ele.source()) && isDisplayed(ele.target()));\n if (displayed) {\n // displayed suffices, since we will find zero area eles anyway\n var overlayOpacity = 0;\n var overlayPadding = 0;\n if (styleEnabled && options.includeOverlays) {\n overlayOpacity = ele.pstyle('overlay-opacity').value;\n if (overlayOpacity !== 0) {\n overlayPadding = ele.pstyle('overlay-padding').value;\n }\n }\n var underlayOpacity = 0;\n var underlayPadding = 0;\n if (styleEnabled && options.includeUnderlays) {\n underlayOpacity = ele.pstyle('underlay-opacity').value;\n if (underlayOpacity !== 0) {\n underlayPadding = ele.pstyle('underlay-padding').value;\n }\n }\n var padding = Math.max(overlayPadding, underlayPadding);\n var w = 0;\n var wHalf = 0;\n if (styleEnabled) {\n w = ele.pstyle('width').pfValue;\n wHalf = w / 2;\n }\n if (isNode && options.includeNodes) {\n var pos = ele.position();\n x = pos.x;\n y = pos.y;\n var _w = ele.outerWidth();\n var halfW = _w / 2;\n var h = ele.outerHeight();\n var halfH = h / 2;\n\n // handle node dimensions\n /////////////////////////\n\n ex1 = x - halfW;\n ex2 = x + halfW;\n ey1 = y - halfH;\n ey2 = y + halfH;\n updateBounds(bounds, ex1, ey1, ex2, ey2);\n if (styleEnabled && options.includeOutlines) {\n updateBoundsFromOutline(bounds, ele);\n }\n } else if (isEdge && options.includeEdges) {\n if (styleEnabled && !headless) {\n var curveStyle = ele.pstyle('curve-style').strValue;\n\n // handle edge dimensions (rough box estimate)\n //////////////////////////////////////////////\n\n ex1 = Math.min(rstyle.srcX, rstyle.midX, rstyle.tgtX);\n ex2 = Math.max(rstyle.srcX, rstyle.midX, rstyle.tgtX);\n ey1 = Math.min(rstyle.srcY, rstyle.midY, rstyle.tgtY);\n ey2 = Math.max(rstyle.srcY, rstyle.midY, rstyle.tgtY);\n\n // take into account edge width\n ex1 -= wHalf;\n ex2 += wHalf;\n ey1 -= wHalf;\n ey2 += wHalf;\n updateBounds(bounds, ex1, ey1, ex2, ey2);\n\n // precise edges\n ////////////////\n\n if (curveStyle === 'haystack') {\n var hpts = rstyle.haystackPts;\n if (hpts && hpts.length === 2) {\n ex1 = hpts[0].x;\n ey1 = hpts[0].y;\n ex2 = hpts[1].x;\n ey2 = hpts[1].y;\n if (ex1 > ex2) {\n var temp = ex1;\n ex1 = ex2;\n ex2 = temp;\n }\n if (ey1 > ey2) {\n var _temp = ey1;\n ey1 = ey2;\n ey2 = _temp;\n }\n updateBounds(bounds, ex1 - wHalf, ey1 - wHalf, ex2 + wHalf, ey2 + wHalf);\n }\n } else if (curveStyle === 'bezier' || curveStyle === 'unbundled-bezier' || curveStyle.endsWith('segments') || curveStyle.endsWith('taxi')) {\n var pts;\n switch (curveStyle) {\n case 'bezier':\n case 'unbundled-bezier':\n pts = rstyle.bezierPts;\n break;\n case 'segments':\n case 'taxi':\n case 'round-segments':\n case 'round-taxi':\n pts = rstyle.linePts;\n break;\n }\n if (pts != null) {\n for (var j = 0; j < pts.length; j++) {\n var pt = pts[j];\n ex1 = pt.x - wHalf;\n ex2 = pt.x + wHalf;\n ey1 = pt.y - wHalf;\n ey2 = pt.y + wHalf;\n updateBounds(bounds, ex1, ey1, ex2, ey2);\n }\n }\n } // bezier-like or segment-like edge\n } else {\n // headless or style disabled\n\n // fallback on source and target positions\n //////////////////////////////////////////\n\n var n1 = ele.source();\n var n1pos = n1.position();\n var n2 = ele.target();\n var n2pos = n2.position();\n ex1 = n1pos.x;\n ex2 = n2pos.x;\n ey1 = n1pos.y;\n ey2 = n2pos.y;\n if (ex1 > ex2) {\n var _temp2 = ex1;\n ex1 = ex2;\n ex2 = _temp2;\n }\n if (ey1 > ey2) {\n var _temp3 = ey1;\n ey1 = ey2;\n ey2 = _temp3;\n }\n\n // take into account edge width\n ex1 -= wHalf;\n ex2 += wHalf;\n ey1 -= wHalf;\n ey2 += wHalf;\n updateBounds(bounds, ex1, ey1, ex2, ey2);\n } // headless or style disabled\n } // edges\n\n // handle edge arrow size\n /////////////////////////\n\n if (styleEnabled && options.includeEdges && isEdge) {\n updateBoundsFromArrow(bounds, ele, 'mid-source');\n updateBoundsFromArrow(bounds, ele, 'mid-target');\n updateBoundsFromArrow(bounds, ele, 'source');\n updateBoundsFromArrow(bounds, ele, 'target');\n }\n\n // ghost\n ////////\n\n if (styleEnabled) {\n var ghost = ele.pstyle('ghost').value === 'yes';\n if (ghost) {\n var gx = ele.pstyle('ghost-offset-x').pfValue;\n var gy = ele.pstyle('ghost-offset-y').pfValue;\n updateBounds(bounds, bounds.x1 + gx, bounds.y1 + gy, bounds.x2 + gx, bounds.y2 + gy);\n }\n }\n\n // always store the body bounds separately from the labels\n var bbBody = _p.bodyBounds = _p.bodyBounds || {};\n assignBoundingBox(bbBody, bounds);\n expandBoundingBoxSides(bbBody, manualExpansion);\n expandBoundingBox(bbBody, 1); // expand to work around browser dimension inaccuracies\n\n // overlay\n //////////\n\n if (styleEnabled) {\n ex1 = bounds.x1;\n ex2 = bounds.x2;\n ey1 = bounds.y1;\n ey2 = bounds.y2;\n updateBounds(bounds, ex1 - padding, ey1 - padding, ex2 + padding, ey2 + padding);\n }\n\n // always store the body bounds separately from the labels\n var bbOverlay = _p.overlayBounds = _p.overlayBounds || {};\n assignBoundingBox(bbOverlay, bounds);\n expandBoundingBoxSides(bbOverlay, manualExpansion);\n expandBoundingBox(bbOverlay, 1); // expand to work around browser dimension inaccuracies\n\n // handle label dimensions\n //////////////////////////\n\n var bbLabels = _p.labelBounds = _p.labelBounds || {};\n if (bbLabels.all != null) {\n clearBoundingBox(bbLabels.all);\n } else {\n bbLabels.all = makeBoundingBox();\n }\n if (styleEnabled && options.includeLabels) {\n if (options.includeMainLabels) {\n updateBoundsFromLabel(bounds, ele, null);\n }\n if (isEdge) {\n if (options.includeSourceLabels) {\n updateBoundsFromLabel(bounds, ele, 'source');\n }\n if (options.includeTargetLabels) {\n updateBoundsFromLabel(bounds, ele, 'target');\n }\n }\n } // style enabled for labels\n } // if displayed\n\n bounds.x1 = noninf(bounds.x1);\n bounds.y1 = noninf(bounds.y1);\n bounds.x2 = noninf(bounds.x2);\n bounds.y2 = noninf(bounds.y2);\n bounds.w = noninf(bounds.x2 - bounds.x1);\n bounds.h = noninf(bounds.y2 - bounds.y1);\n if (bounds.w > 0 && bounds.h > 0 && displayed) {\n expandBoundingBoxSides(bounds, manualExpansion);\n\n // expand bounds by 1 because antialiasing can increase the visual/effective size by 1 on all sides\n expandBoundingBox(bounds, 1);\n }\n return bounds;\n};\nvar getKey = function getKey(opts) {\n var i = 0;\n var tf = function tf(val) {\n return (val ? 1 : 0) << i++;\n };\n var key = 0;\n key += tf(opts.incudeNodes);\n key += tf(opts.includeEdges);\n key += tf(opts.includeLabels);\n key += tf(opts.includeMainLabels);\n key += tf(opts.includeSourceLabels);\n key += tf(opts.includeTargetLabels);\n key += tf(opts.includeOverlays);\n key += tf(opts.includeOutlines);\n return key;\n};\nvar getBoundingBoxPosKey = function getBoundingBoxPosKey(ele) {\n var r = function r(x) {\n return Math.round(x);\n };\n if (ele.isEdge()) {\n var p1 = ele.source().position();\n var p2 = ele.target().position();\n return hashIntsArray([r(p1.x), r(p1.y), r(p2.x), r(p2.y)]);\n } else {\n var p = ele.position();\n return hashIntsArray([r(p.x), r(p.y)]);\n }\n};\nvar cachedBoundingBoxImpl = function cachedBoundingBoxImpl(ele, opts) {\n var _p = ele._private;\n var bb;\n var isEdge = ele.isEdge();\n var key = opts == null ? defBbOptsKey : getKey(opts);\n var usingDefOpts = key === defBbOptsKey;\n if (_p.bbCache == null) {\n bb = boundingBoxImpl(ele, defBbOpts);\n _p.bbCache = bb;\n _p.bbCachePosKey = getBoundingBoxPosKey(ele);\n } else {\n bb = _p.bbCache;\n }\n\n // not using def opts => need to build up bb from combination of sub bbs\n if (!usingDefOpts) {\n var isNode = ele.isNode();\n bb = makeBoundingBox();\n if (opts.includeNodes && isNode || opts.includeEdges && !isNode) {\n if (opts.includeOverlays) {\n updateBoundsFromBox(bb, _p.overlayBounds);\n } else {\n updateBoundsFromBox(bb, _p.bodyBounds);\n }\n }\n if (opts.includeLabels) {\n if (opts.includeMainLabels && (!isEdge || opts.includeSourceLabels && opts.includeTargetLabels)) {\n updateBoundsFromBox(bb, _p.labelBounds.all);\n } else {\n if (opts.includeMainLabels) {\n updateBoundsFromBox(bb, _p.labelBounds.mainRot);\n }\n if (opts.includeSourceLabels) {\n updateBoundsFromBox(bb, _p.labelBounds.sourceRot);\n }\n if (opts.includeTargetLabels) {\n updateBoundsFromBox(bb, _p.labelBounds.targetRot);\n }\n }\n }\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n }\n return bb;\n};\nvar defBbOpts = {\n includeNodes: true,\n includeEdges: true,\n includeLabels: true,\n includeMainLabels: true,\n includeSourceLabels: true,\n includeTargetLabels: true,\n includeOverlays: true,\n includeUnderlays: true,\n includeOutlines: true,\n useCache: true\n};\nvar defBbOptsKey = getKey(defBbOpts);\nvar filledBbOpts = defaults$g(defBbOpts);\nelesfn$b.boundingBox = function (options) {\n var bounds;\n var useCache = options === undefined || options.useCache === undefined || options.useCache === true;\n var isDirty = memoize(function (ele) {\n var _p = ele._private;\n return _p.bbCache == null || _p.styleDirty || _p.bbCachePosKey !== getBoundingBoxPosKey(ele);\n }, function (ele) {\n return ele.id();\n });\n\n // the main usecase is ele.boundingBox() for a single element with no/def options\n // specified s.t. the cache is used, so check for this case to make it faster by\n // avoiding the overhead of the rest of the function\n if (useCache && this.length === 1 && !isDirty(this[0])) {\n if (options === undefined) {\n options = defBbOpts;\n } else {\n options = filledBbOpts(options);\n }\n bounds = cachedBoundingBoxImpl(this[0], options);\n } else {\n bounds = makeBoundingBox();\n options = options || defBbOpts;\n var opts = filledBbOpts(options);\n var eles = this;\n var cy = eles.cy();\n var styleEnabled = cy.styleEnabled();\n\n // cache the isDirty state for all eles, edges first since they depend on node state\n this.edges().forEach(isDirty);\n this.nodes().forEach(isDirty);\n if (styleEnabled) {\n this.recalculateRenderedStyle(useCache);\n }\n this.updateCompoundBounds(!useCache);\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n if (isDirty(ele)) {\n ele.dirtyBoundingBoxCache();\n }\n updateBoundsFromBox(bounds, cachedBoundingBoxImpl(ele, opts));\n }\n }\n bounds.x1 = noninf(bounds.x1);\n bounds.y1 = noninf(bounds.y1);\n bounds.x2 = noninf(bounds.x2);\n bounds.y2 = noninf(bounds.y2);\n bounds.w = noninf(bounds.x2 - bounds.x1);\n bounds.h = noninf(bounds.y2 - bounds.y1);\n return bounds;\n};\nelesfn$b.dirtyBoundingBoxCache = function () {\n for (var i = 0; i < this.length; i++) {\n var _p = this[i]._private;\n _p.bbCache = null;\n _p.bbCachePosKey = null;\n _p.bodyBounds = null;\n _p.overlayBounds = null;\n _p.labelBounds.all = null;\n _p.labelBounds.source = null;\n _p.labelBounds.target = null;\n _p.labelBounds.main = null;\n _p.labelBounds.sourceRot = null;\n _p.labelBounds.targetRot = null;\n _p.labelBounds.mainRot = null;\n _p.arrowBounds.source = null;\n _p.arrowBounds.target = null;\n _p.arrowBounds['mid-source'] = null;\n _p.arrowBounds['mid-target'] = null;\n }\n this.emitAndNotify('bounds');\n return this;\n};\n\n// private helper to get bounding box for custom node positions\n// - good for perf in certain cases but currently requires dirtying the rendered style\n// - would be better to not modify the nodes but the nodes are read directly everywhere in the renderer...\n// - try to use for only things like discrete layouts where the node position would change anyway\nelesfn$b.boundingBoxAt = function (fn) {\n var nodes = this.nodes();\n var cy = this.cy();\n var hasCompoundNodes = cy.hasCompoundNodes();\n var parents = cy.collection();\n if (hasCompoundNodes) {\n parents = nodes.filter(function (node) {\n return node.isParent();\n });\n nodes = nodes.not(parents);\n }\n if (plainObject(fn)) {\n var obj = fn;\n fn = function fn() {\n return obj;\n };\n }\n var storeOldPos = function storeOldPos(node, i) {\n return node._private.bbAtOldPos = fn(node, i);\n };\n var getOldPos = function getOldPos(node) {\n return node._private.bbAtOldPos;\n };\n cy.startBatch();\n nodes.forEach(storeOldPos).silentPositions(fn);\n if (hasCompoundNodes) {\n parents.dirtyCompoundBoundsCache();\n parents.dirtyBoundingBoxCache();\n parents.updateCompoundBounds(true); // force update b/c we're inside a batch cycle\n }\n var bb = copyBoundingBox(this.boundingBox({\n useCache: false\n }));\n nodes.silentPositions(getOldPos);\n if (hasCompoundNodes) {\n parents.dirtyCompoundBoundsCache();\n parents.dirtyBoundingBoxCache();\n parents.updateCompoundBounds(true); // force update b/c we're inside a batch cycle\n }\n cy.endBatch();\n return bb;\n};\nfn$3.boundingbox = fn$3.bb = fn$3.boundingBox;\nfn$3.renderedBoundingbox = fn$3.renderedBoundingBox;\nvar bounds = elesfn$b;\n\nvar fn$2, elesfn$a;\nfn$2 = elesfn$a = {};\nvar defineDimFns = function defineDimFns(opts) {\n opts.uppercaseName = capitalize(opts.name);\n opts.autoName = 'auto' + opts.uppercaseName;\n opts.labelName = 'label' + opts.uppercaseName;\n opts.outerName = 'outer' + opts.uppercaseName;\n opts.uppercaseOuterName = capitalize(opts.outerName);\n fn$2[opts.name] = function dimImpl() {\n var ele = this[0];\n var _p = ele._private;\n var cy = _p.cy;\n var styleEnabled = cy._private.styleEnabled;\n if (ele) {\n if (styleEnabled) {\n if (ele.isParent()) {\n ele.updateCompoundBounds();\n return _p[opts.autoName] || 0;\n }\n var d = ele.pstyle(opts.name);\n switch (d.strValue) {\n case 'label':\n ele.recalculateRenderedStyle();\n return _p.rstyle[opts.labelName] || 0;\n default:\n return d.pfValue;\n }\n } else {\n return 1;\n }\n }\n };\n fn$2['outer' + opts.uppercaseName] = function outerDimImpl() {\n var ele = this[0];\n var _p = ele._private;\n var cy = _p.cy;\n var styleEnabled = cy._private.styleEnabled;\n if (ele) {\n if (styleEnabled) {\n var dim = ele[opts.name]();\n var borderPos = ele.pstyle('border-position').value;\n var border;\n if (borderPos === 'center') {\n border = ele.pstyle('border-width').pfValue; // n.b. 1/2 each side\n } else if (borderPos === 'outside') {\n border = 2 * ele.pstyle('border-width').pfValue;\n } else {\n // 'inside'\n border = 0;\n }\n var padding = 2 * ele.padding();\n return dim + border + padding;\n } else {\n return 1;\n }\n }\n };\n fn$2['rendered' + opts.uppercaseName] = function renderedDimImpl() {\n var ele = this[0];\n if (ele) {\n var d = ele[opts.name]();\n return d * this.cy().zoom();\n }\n };\n fn$2['rendered' + opts.uppercaseOuterName] = function renderedOuterDimImpl() {\n var ele = this[0];\n if (ele) {\n var od = ele[opts.outerName]();\n return od * this.cy().zoom();\n }\n };\n};\ndefineDimFns({\n name: 'width'\n});\ndefineDimFns({\n name: 'height'\n});\nelesfn$a.padding = function () {\n var ele = this[0];\n var _p = ele._private;\n if (ele.isParent()) {\n ele.updateCompoundBounds();\n if (_p.autoPadding !== undefined) {\n return _p.autoPadding;\n } else {\n return ele.pstyle('padding').pfValue;\n }\n } else {\n return ele.pstyle('padding').pfValue;\n }\n};\nelesfn$a.paddedHeight = function () {\n var ele = this[0];\n return ele.height() + 2 * ele.padding();\n};\nelesfn$a.paddedWidth = function () {\n var ele = this[0];\n return ele.width() + 2 * ele.padding();\n};\nvar widthHeight = elesfn$a;\n\nvar ifEdge = function ifEdge(ele, getValue) {\n if (ele.isEdge() && ele.takesUpSpace()) {\n return getValue(ele);\n }\n};\nvar ifEdgeRenderedPosition = function ifEdgeRenderedPosition(ele, getPoint) {\n if (ele.isEdge() && ele.takesUpSpace()) {\n var cy = ele.cy();\n return modelToRenderedPosition$1(getPoint(ele), cy.zoom(), cy.pan());\n }\n};\nvar ifEdgeRenderedPositions = function ifEdgeRenderedPositions(ele, getPoints) {\n if (ele.isEdge() && ele.takesUpSpace()) {\n var cy = ele.cy();\n var pan = cy.pan();\n var zoom = cy.zoom();\n return getPoints(ele).map(function (p) {\n return modelToRenderedPosition$1(p, zoom, pan);\n });\n }\n};\nvar controlPoints = function controlPoints(ele) {\n return ele.renderer().getControlPoints(ele);\n};\nvar segmentPoints = function segmentPoints(ele) {\n return ele.renderer().getSegmentPoints(ele);\n};\nvar sourceEndpoint = function sourceEndpoint(ele) {\n return ele.renderer().getSourceEndpoint(ele);\n};\nvar targetEndpoint = function targetEndpoint(ele) {\n return ele.renderer().getTargetEndpoint(ele);\n};\nvar midpoint = function midpoint(ele) {\n return ele.renderer().getEdgeMidpoint(ele);\n};\nvar pts = {\n controlPoints: {\n get: controlPoints,\n mult: true\n },\n segmentPoints: {\n get: segmentPoints,\n mult: true\n },\n sourceEndpoint: {\n get: sourceEndpoint\n },\n targetEndpoint: {\n get: targetEndpoint\n },\n midpoint: {\n get: midpoint\n }\n};\nvar renderedName = function renderedName(name) {\n return 'rendered' + name[0].toUpperCase() + name.substr(1);\n};\nvar edgePoints = Object.keys(pts).reduce(function (obj, name) {\n var spec = pts[name];\n var rName = renderedName(name);\n obj[name] = function () {\n return ifEdge(this, spec.get);\n };\n if (spec.mult) {\n obj[rName] = function () {\n return ifEdgeRenderedPositions(this, spec.get);\n };\n } else {\n obj[rName] = function () {\n return ifEdgeRenderedPosition(this, spec.get);\n };\n }\n return obj;\n}, {});\n\nvar dimensions = extend({}, position, bounds, widthHeight, edgePoints);\n\n/*!\nEvent object based on jQuery events, MIT license\n\nhttps://jquery.org/license/\nhttps://tldrlegal.com/license/mit-license\nhttps://github.com/jquery/jquery/blob/master/src/event.js\n*/\n\nvar Event = function Event(src, props) {\n this.recycle(src, props);\n};\nfunction returnFalse() {\n return false;\n}\nfunction returnTrue() {\n return true;\n}\n\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\nEvent.prototype = {\n instanceString: function instanceString() {\n return 'event';\n },\n recycle: function recycle(src, props) {\n this.isImmediatePropagationStopped = this.isPropagationStopped = this.isDefaultPrevented = returnFalse;\n if (src != null && src.preventDefault) {\n // Browser Event object\n this.type = src.type;\n\n // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n this.isDefaultPrevented = src.defaultPrevented ? returnTrue : returnFalse;\n } else if (src != null && src.type) {\n // Plain object containing all event details\n props = src;\n } else {\n // Event string\n this.type = src;\n }\n\n // Put explicitly provided properties onto the event object\n if (props != null) {\n // more efficient to manually copy fields we use\n this.originalEvent = props.originalEvent;\n this.type = props.type != null ? props.type : this.type;\n this.cy = props.cy;\n this.target = props.target;\n this.position = props.position;\n this.renderedPosition = props.renderedPosition;\n this.namespace = props.namespace;\n this.layout = props.layout;\n }\n if (this.cy != null && this.position != null && this.renderedPosition == null) {\n // create a rendered position based on the passed position\n var pos = this.position;\n var zoom = this.cy.zoom();\n var pan = this.cy.pan();\n this.renderedPosition = {\n x: pos.x * zoom + pan.x,\n y: pos.y * zoom + pan.y\n };\n }\n\n // Create a timestamp if incoming event doesn't have one\n this.timeStamp = src && src.timeStamp || Date.now();\n },\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n var e = this.originalEvent;\n if (!e) {\n return;\n }\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n }\n },\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n var e = this.originalEvent;\n if (!e) {\n return;\n }\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n this.stopPropagation();\n },\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse\n};\n\nvar eventRegex = /^([^.]+)(\\.(?:[^.]+))?$/; // regex for matching event strings (e.g. \"click.namespace\")\nvar universalNamespace = '.*'; // matches as if no namespace specified and prevents users from unbinding accidentally\n\nvar defaults$8 = {\n qualifierCompare: function qualifierCompare(q1, q2) {\n return q1 === q2;\n },\n eventMatches: function eventMatches(/*context, listener, eventObj*/\n ) {\n return true;\n },\n addEventFields: function addEventFields(/*context, evt*/\n ) {},\n callbackContext: function callbackContext(context /*, listener, eventObj*/) {\n return context;\n },\n beforeEmit: function beforeEmit(/* context, listener, eventObj */\n ) {},\n afterEmit: function afterEmit(/* context, listener, eventObj */\n ) {},\n bubble: function bubble(/*context*/\n ) {\n return false;\n },\n parent: function parent(/*context*/\n ) {\n return null;\n },\n context: null\n};\nvar defaultsKeys = Object.keys(defaults$8);\nvar emptyOpts = {};\nfunction Emitter() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : emptyOpts;\n var context = arguments.length > 1 ? arguments[1] : undefined;\n // micro-optimisation vs Object.assign() -- reduces Element instantiation time\n for (var i = 0; i < defaultsKeys.length; i++) {\n var key = defaultsKeys[i];\n this[key] = opts[key] || defaults$8[key];\n }\n this.context = context || this.context;\n this.listeners = [];\n this.emitting = 0;\n}\nvar p = Emitter.prototype;\nvar forEachEvent = function forEachEvent(self, handler, events, qualifier, callback, conf, confOverrides) {\n if (fn$6(qualifier)) {\n callback = qualifier;\n qualifier = null;\n }\n if (confOverrides) {\n if (conf == null) {\n conf = confOverrides;\n } else {\n conf = extend({}, conf, confOverrides);\n }\n }\n var eventList = array(events) ? events : events.split(/\\s+/);\n for (var i = 0; i < eventList.length; i++) {\n var evt = eventList[i];\n if (emptyString(evt)) {\n continue;\n }\n var match = evt.match(eventRegex); // type[.namespace]\n\n if (match) {\n var type = match[1];\n var namespace = match[2] ? match[2] : null;\n var ret = handler(self, evt, type, namespace, qualifier, callback, conf);\n if (ret === false) {\n break;\n } // allow exiting early\n }\n }\n};\nvar makeEventObj = function makeEventObj(self, obj) {\n self.addEventFields(self.context, obj);\n return new Event(obj.type, obj);\n};\nvar forEachEventObj = function forEachEventObj(self, handler, events) {\n if (event(events)) {\n handler(self, events);\n return;\n } else if (plainObject(events)) {\n handler(self, makeEventObj(self, events));\n return;\n }\n var eventList = array(events) ? events : events.split(/\\s+/);\n for (var i = 0; i < eventList.length; i++) {\n var evt = eventList[i];\n if (emptyString(evt)) {\n continue;\n }\n var match = evt.match(eventRegex); // type[.namespace]\n\n if (match) {\n var type = match[1];\n var namespace = match[2] ? match[2] : null;\n var eventObj = makeEventObj(self, {\n type: type,\n namespace: namespace,\n target: self.context\n });\n handler(self, eventObj);\n }\n }\n};\np.on = p.addListener = function (events, qualifier, callback, conf, confOverrides) {\n forEachEvent(this, function (self, event, type, namespace, qualifier, callback, conf) {\n if (fn$6(callback)) {\n self.listeners.push({\n event: event,\n // full event string\n callback: callback,\n // callback to run\n type: type,\n // the event type (e.g. 'click')\n namespace: namespace,\n // the event namespace (e.g. \".foo\")\n qualifier: qualifier,\n // a restriction on whether to match this emitter\n conf: conf // additional configuration\n });\n }\n }, events, qualifier, callback, conf, confOverrides);\n return this;\n};\np.one = function (events, qualifier, callback, conf) {\n return this.on(events, qualifier, callback, conf, {\n one: true\n });\n};\np.removeListener = p.off = function (events, qualifier, callback, conf) {\n var _this = this;\n if (this.emitting !== 0) {\n this.listeners = copyArray(this.listeners);\n }\n var listeners = this.listeners;\n var _loop = function _loop(i) {\n var listener = listeners[i];\n forEachEvent(_this, function (self, event, type, namespace, qualifier, callback /*, conf*/) {\n if ((listener.type === type || events === '*') && (!namespace && listener.namespace !== '.*' || listener.namespace === namespace) && (!qualifier || self.qualifierCompare(listener.qualifier, qualifier)) && (!callback || listener.callback === callback)) {\n listeners.splice(i, 1);\n return false;\n }\n }, events, qualifier, callback, conf);\n };\n for (var i = listeners.length - 1; i >= 0; i--) {\n _loop(i);\n }\n return this;\n};\np.removeAllListeners = function () {\n return this.removeListener('*');\n};\np.emit = p.trigger = function (events, extraParams, manualCallback) {\n var listeners = this.listeners;\n var numListenersBeforeEmit = listeners.length;\n this.emitting++;\n if (!array(extraParams)) {\n extraParams = [extraParams];\n }\n forEachEventObj(this, function (self, eventObj) {\n if (manualCallback != null) {\n listeners = [{\n event: eventObj.event,\n type: eventObj.type,\n namespace: eventObj.namespace,\n callback: manualCallback\n }];\n numListenersBeforeEmit = listeners.length;\n }\n var _loop2 = function _loop2() {\n var listener = listeners[i];\n if (listener.type === eventObj.type && (!listener.namespace || listener.namespace === eventObj.namespace || listener.namespace === universalNamespace) && self.eventMatches(self.context, listener, eventObj)) {\n var args = [eventObj];\n if (extraParams != null) {\n push(args, extraParams);\n }\n self.beforeEmit(self.context, listener, eventObj);\n if (listener.conf && listener.conf.one) {\n self.listeners = self.listeners.filter(function (l) {\n return l !== listener;\n });\n }\n var context = self.callbackContext(self.context, listener, eventObj);\n var ret = listener.callback.apply(context, args);\n self.afterEmit(self.context, listener, eventObj);\n if (ret === false) {\n eventObj.stopPropagation();\n eventObj.preventDefault();\n }\n } // if listener matches\n };\n for (var i = 0; i < numListenersBeforeEmit; i++) {\n _loop2();\n } // for listener\n\n if (self.bubble(self.context) && !eventObj.isPropagationStopped()) {\n self.parent(self.context).emit(eventObj, extraParams);\n }\n }, events);\n this.emitting--;\n return this;\n};\n\nvar emitterOptions$1 = {\n qualifierCompare: function qualifierCompare(selector1, selector2) {\n if (selector1 == null || selector2 == null) {\n return selector1 == null && selector2 == null;\n } else {\n return selector1.sameText(selector2);\n }\n },\n eventMatches: function eventMatches(ele, listener, eventObj) {\n var selector = listener.qualifier;\n if (selector != null) {\n return ele !== eventObj.target && element(eventObj.target) && selector.matches(eventObj.target);\n }\n return true;\n },\n addEventFields: function addEventFields(ele, evt) {\n evt.cy = ele.cy();\n evt.target = ele;\n },\n callbackContext: function callbackContext(ele, listener, eventObj) {\n return listener.qualifier != null ? eventObj.target : ele;\n },\n beforeEmit: function beforeEmit(context, listener /*, eventObj*/) {\n if (listener.conf && listener.conf.once) {\n listener.conf.onceCollection.removeListener(listener.event, listener.qualifier, listener.callback);\n }\n },\n bubble: function bubble() {\n return true;\n },\n parent: function parent(ele) {\n return ele.isChild() ? ele.parent() : ele.cy();\n }\n};\nvar argSelector$1 = function argSelector(arg) {\n if (string(arg)) {\n return new Selector(arg);\n } else {\n return arg;\n }\n};\nvar elesfn$9 = {\n createEmitter: function createEmitter() {\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var _p = ele._private;\n if (!_p.emitter) {\n _p.emitter = new Emitter(emitterOptions$1, ele);\n }\n }\n return this;\n },\n emitter: function emitter() {\n return this._private.emitter;\n },\n on: function on(events, selector, callback) {\n var argSel = argSelector$1(selector);\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n ele.emitter().on(events, argSel, callback);\n }\n return this;\n },\n removeListener: function removeListener(events, selector, callback) {\n var argSel = argSelector$1(selector);\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n ele.emitter().removeListener(events, argSel, callback);\n }\n return this;\n },\n removeAllListeners: function removeAllListeners() {\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n ele.emitter().removeAllListeners();\n }\n return this;\n },\n one: function one(events, selector, callback) {\n var argSel = argSelector$1(selector);\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n ele.emitter().one(events, argSel, callback);\n }\n return this;\n },\n once: function once(events, selector, callback) {\n var argSel = argSelector$1(selector);\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n ele.emitter().on(events, argSel, callback, {\n once: true,\n onceCollection: this\n });\n }\n },\n emit: function emit(events, extraParams) {\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n ele.emitter().emit(events, extraParams);\n }\n return this;\n },\n emitAndNotify: function emitAndNotify(event, extraParams) {\n // for internal use only\n if (this.length === 0) {\n return;\n } // empty collections don't need to notify anything\n\n // notify renderer\n this.cy().notify(event, this);\n this.emit(event, extraParams);\n return this;\n }\n};\ndefine.eventAliasesOn(elesfn$9);\n\nvar elesfn$8 = {\n nodes: function nodes(selector) {\n return this.filter(function (ele) {\n return ele.isNode();\n }).filter(selector);\n },\n edges: function edges(selector) {\n return this.filter(function (ele) {\n return ele.isEdge();\n }).filter(selector);\n },\n // internal helper to get nodes and edges as separate collections with single iteration over elements\n byGroup: function byGroup() {\n var nodes = this.spawn();\n var edges = this.spawn();\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n if (ele.isNode()) {\n nodes.push(ele);\n } else {\n edges.push(ele);\n }\n }\n return {\n nodes: nodes,\n edges: edges\n };\n },\n filter: function filter(_filter, thisArg) {\n if (_filter === undefined) {\n // check this first b/c it's the most common/performant case\n return this;\n } else if (string(_filter) || elementOrCollection(_filter)) {\n return new Selector(_filter).filter(this);\n } else if (fn$6(_filter)) {\n var filterEles = this.spawn();\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var include = thisArg ? _filter.apply(thisArg, [ele, i, eles]) : _filter(ele, i, eles);\n if (include) {\n filterEles.push(ele);\n }\n }\n return filterEles;\n }\n return this.spawn(); // if not handled by above, give 'em an empty collection\n },\n not: function not(toRemove) {\n if (!toRemove) {\n return this;\n } else {\n if (string(toRemove)) {\n toRemove = this.filter(toRemove);\n }\n var elements = this.spawn();\n for (var i = 0; i < this.length; i++) {\n var element = this[i];\n var remove = toRemove.has(element);\n if (!remove) {\n elements.push(element);\n }\n }\n return elements;\n }\n },\n absoluteComplement: function absoluteComplement() {\n var cy = this.cy();\n return cy.mutableElements().not(this);\n },\n intersect: function intersect(other) {\n // if a selector is specified, then filter by it instead\n if (string(other)) {\n var selector = other;\n return this.filter(selector);\n }\n var elements = this.spawn();\n var col1 = this;\n var col2 = other;\n var col1Smaller = this.length < other.length;\n var colS = col1Smaller ? col1 : col2;\n var colL = col1Smaller ? col2 : col1;\n for (var i = 0; i < colS.length; i++) {\n var ele = colS[i];\n if (colL.has(ele)) {\n elements.push(ele);\n }\n }\n return elements;\n },\n xor: function xor(other) {\n var cy = this._private.cy;\n if (string(other)) {\n other = cy.$(other);\n }\n var elements = this.spawn();\n var col1 = this;\n var col2 = other;\n var add = function add(col, other) {\n for (var i = 0; i < col.length; i++) {\n var ele = col[i];\n var id = ele._private.data.id;\n var inOther = other.hasElementWithId(id);\n if (!inOther) {\n elements.push(ele);\n }\n }\n };\n add(col1, col2);\n add(col2, col1);\n return elements;\n },\n diff: function diff(other) {\n var cy = this._private.cy;\n if (string(other)) {\n other = cy.$(other);\n }\n var left = this.spawn();\n var right = this.spawn();\n var both = this.spawn();\n var col1 = this;\n var col2 = other;\n var add = function add(col, other, retEles) {\n for (var i = 0; i < col.length; i++) {\n var ele = col[i];\n var id = ele._private.data.id;\n var inOther = other.hasElementWithId(id);\n if (inOther) {\n both.merge(ele);\n } else {\n retEles.push(ele);\n }\n }\n };\n add(col1, col2, left);\n add(col2, col1, right);\n return {\n left: left,\n right: right,\n both: both\n };\n },\n add: function add(toAdd) {\n var cy = this._private.cy;\n if (!toAdd) {\n return this;\n }\n if (string(toAdd)) {\n var selector = toAdd;\n toAdd = cy.mutableElements().filter(selector);\n }\n var elements = this.spawnSelf();\n for (var i = 0; i < toAdd.length; i++) {\n var ele = toAdd[i];\n var add = !this.has(ele);\n if (add) {\n elements.push(ele);\n }\n }\n return elements;\n },\n // in place merge on calling collection\n merge: function merge(toAdd) {\n var _p = this._private;\n var cy = _p.cy;\n if (!toAdd) {\n return this;\n }\n if (toAdd && string(toAdd)) {\n var selector = toAdd;\n toAdd = cy.mutableElements().filter(selector);\n }\n var map = _p.map;\n for (var i = 0; i < toAdd.length; i++) {\n var toAddEle = toAdd[i];\n var id = toAddEle._private.data.id;\n var add = !map.has(id);\n if (add) {\n var index = this.length++;\n this[index] = toAddEle;\n map.set(id, {\n ele: toAddEle,\n index: index\n });\n }\n }\n return this; // chaining\n },\n unmergeAt: function unmergeAt(i) {\n var ele = this[i];\n var id = ele.id();\n var _p = this._private;\n var map = _p.map;\n\n // remove ele\n this[i] = undefined;\n map[\"delete\"](id);\n var unmergedLastEle = i === this.length - 1;\n\n // replace empty spot with last ele in collection\n if (this.length > 1 && !unmergedLastEle) {\n var lastEleI = this.length - 1;\n var lastEle = this[lastEleI];\n var lastEleId = lastEle._private.data.id;\n this[lastEleI] = undefined;\n this[i] = lastEle;\n map.set(lastEleId, {\n ele: lastEle,\n index: i\n });\n }\n\n // the collection is now 1 ele smaller\n this.length--;\n return this;\n },\n // remove single ele in place in calling collection\n unmergeOne: function unmergeOne(ele) {\n ele = ele[0];\n var _p = this._private;\n var id = ele._private.data.id;\n var map = _p.map;\n var entry = map.get(id);\n if (!entry) {\n return this; // no need to remove\n }\n var i = entry.index;\n this.unmergeAt(i);\n return this;\n },\n // remove eles in place on calling collection\n unmerge: function unmerge(toRemove) {\n var cy = this._private.cy;\n if (!toRemove) {\n return this;\n }\n if (toRemove && string(toRemove)) {\n var selector = toRemove;\n toRemove = cy.mutableElements().filter(selector);\n }\n for (var i = 0; i < toRemove.length; i++) {\n this.unmergeOne(toRemove[i]);\n }\n return this; // chaining\n },\n unmergeBy: function unmergeBy(toRmFn) {\n for (var i = this.length - 1; i >= 0; i--) {\n var ele = this[i];\n if (toRmFn(ele)) {\n this.unmergeAt(i);\n }\n }\n return this;\n },\n map: function map(mapFn, thisArg) {\n var arr = [];\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var ret = thisArg ? mapFn.apply(thisArg, [ele, i, eles]) : mapFn(ele, i, eles);\n arr.push(ret);\n }\n return arr;\n },\n reduce: function reduce(fn, initialValue) {\n var val = initialValue;\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n val = fn(val, eles[i], i, eles);\n }\n return val;\n },\n max: function max(valFn, thisArg) {\n var max = -Infinity;\n var maxEle;\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var val = thisArg ? valFn.apply(thisArg, [ele, i, eles]) : valFn(ele, i, eles);\n if (val > max) {\n max = val;\n maxEle = ele;\n }\n }\n return {\n value: max,\n ele: maxEle\n };\n },\n min: function min(valFn, thisArg) {\n var min = Infinity;\n var minEle;\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var val = thisArg ? valFn.apply(thisArg, [ele, i, eles]) : valFn(ele, i, eles);\n if (val < min) {\n min = val;\n minEle = ele;\n }\n }\n return {\n value: min,\n ele: minEle\n };\n }\n};\n\n// aliases\nvar fn$1 = elesfn$8;\nfn$1['u'] = fn$1['|'] = fn$1['+'] = fn$1.union = fn$1.or = fn$1.add;\nfn$1['\\\\'] = fn$1['!'] = fn$1['-'] = fn$1.difference = fn$1.relativeComplement = fn$1.subtract = fn$1.not;\nfn$1['n'] = fn$1['&'] = fn$1['.'] = fn$1.and = fn$1.intersection = fn$1.intersect;\nfn$1['^'] = fn$1['(+)'] = fn$1['(-)'] = fn$1.symmetricDifference = fn$1.symdiff = fn$1.xor;\nfn$1.fnFilter = fn$1.filterFn = fn$1.stdFilter = fn$1.filter;\nfn$1.complement = fn$1.abscomp = fn$1.absoluteComplement;\n\nvar elesfn$7 = {\n isNode: function isNode() {\n return this.group() === 'nodes';\n },\n isEdge: function isEdge() {\n return this.group() === 'edges';\n },\n isLoop: function isLoop() {\n return this.isEdge() && this.source()[0] === this.target()[0];\n },\n isSimple: function isSimple() {\n return this.isEdge() && this.source()[0] !== this.target()[0];\n },\n group: function group() {\n var ele = this[0];\n if (ele) {\n return ele._private.group;\n }\n }\n};\n\n/**\n * Elements are drawn in a specific order based on compound depth (low to high), the element type (nodes above edges),\n * and z-index (low to high). These styles affect how this applies:\n *\n * z-compound-depth: May be `bottom | orphan | auto | top`. The first drawn is `bottom`, then `orphan` which is the\n * same depth as the root of the compound graph, followed by the default value `auto` which draws in order from\n * root to leaves of the compound graph. The last drawn is `top`.\n * z-index-compare: May be `auto | manual`. The default value is `auto` which always draws edges under nodes.\n * `manual` ignores this convention and draws based on the `z-index` value setting.\n * z-index: An integer value that affects the relative draw order of elements. In general, an element with a higher\n * `z-index` will be drawn on top of an element with a lower `z-index`.\n */\nvar zIndexSort = function zIndexSort(a, b) {\n var cy = a.cy();\n var hasCompoundNodes = cy.hasCompoundNodes();\n function getDepth(ele) {\n var style = ele.pstyle('z-compound-depth');\n if (style.value === 'auto') {\n return hasCompoundNodes ? ele.zDepth() : 0;\n } else if (style.value === 'bottom') {\n return -1;\n } else if (style.value === 'top') {\n return MAX_INT$1;\n }\n // 'orphan'\n return 0;\n }\n var depthDiff = getDepth(a) - getDepth(b);\n if (depthDiff !== 0) {\n return depthDiff;\n }\n function getEleDepth(ele) {\n var style = ele.pstyle('z-index-compare');\n if (style.value === 'auto') {\n return ele.isNode() ? 1 : 0;\n }\n // 'manual'\n return 0;\n }\n var eleDiff = getEleDepth(a) - getEleDepth(b);\n if (eleDiff !== 0) {\n return eleDiff;\n }\n var zDiff = a.pstyle('z-index').value - b.pstyle('z-index').value;\n if (zDiff !== 0) {\n return zDiff;\n }\n // compare indices in the core (order added to graph w/ last on top)\n return a.poolIndex() - b.poolIndex();\n};\n\nvar elesfn$6 = {\n forEach: function forEach(fn, thisArg) {\n if (fn$6(fn)) {\n var N = this.length;\n for (var i = 0; i < N; i++) {\n var ele = this[i];\n var ret = thisArg ? fn.apply(thisArg, [ele, i, this]) : fn(ele, i, this);\n if (ret === false) {\n break;\n } // exit each early on return false\n }\n }\n return this;\n },\n toArray: function toArray() {\n var array = [];\n for (var i = 0; i < this.length; i++) {\n array.push(this[i]);\n }\n return array;\n },\n slice: function slice(start, end) {\n var array = [];\n var thisSize = this.length;\n if (end == null) {\n end = thisSize;\n }\n if (start == null) {\n start = 0;\n }\n if (start < 0) {\n start = thisSize + start;\n }\n if (end < 0) {\n end = thisSize + end;\n }\n for (var i = start; i >= 0 && i < end && i < thisSize; i++) {\n array.push(this[i]);\n }\n return this.spawn(array);\n },\n size: function size() {\n return this.length;\n },\n eq: function eq(i) {\n return this[i] || this.spawn();\n },\n first: function first() {\n return this[0] || this.spawn();\n },\n last: function last() {\n return this[this.length - 1] || this.spawn();\n },\n empty: function empty() {\n return this.length === 0;\n },\n nonempty: function nonempty() {\n return !this.empty();\n },\n sort: function sort(sortFn) {\n if (!fn$6(sortFn)) {\n return this;\n }\n var sorted = this.toArray().sort(sortFn);\n return this.spawn(sorted);\n },\n sortByZIndex: function sortByZIndex() {\n return this.sort(zIndexSort);\n },\n zDepth: function zDepth() {\n var ele = this[0];\n if (!ele) {\n return undefined;\n }\n\n // let cy = ele.cy();\n var _p = ele._private;\n var group = _p.group;\n if (group === 'nodes') {\n var depth = _p.data.parent ? ele.parents().size() : 0;\n if (!ele.isParent()) {\n return MAX_INT$1 - 1; // childless nodes always on top\n }\n return depth;\n } else {\n var src = _p.source;\n var tgt = _p.target;\n var srcDepth = src.zDepth();\n var tgtDepth = tgt.zDepth();\n return Math.max(srcDepth, tgtDepth, 0); // depth of deepest parent\n }\n }\n};\nelesfn$6.each = elesfn$6.forEach;\nvar defineSymbolIterator = function defineSymbolIterator() {\n var typeofUndef = \"undefined\" ;\n var isIteratorSupported = (typeof Symbol === \"undefined\" ? \"undefined\" : _typeof(Symbol)) != typeofUndef && _typeof(Symbol.iterator) != typeofUndef;\n if (isIteratorSupported) {\n elesfn$6[Symbol.iterator] = function () {\n var _this = this;\n var entry = {\n value: undefined,\n done: false\n };\n var i = 0;\n var length = this.length;\n return _defineProperty$1({\n next: function next() {\n if (i < length) {\n entry.value = _this[i++];\n } else {\n entry.value = undefined;\n entry.done = true;\n }\n return entry;\n }\n }, Symbol.iterator, function () {\n return this;\n });\n };\n }\n};\ndefineSymbolIterator();\n\nvar getLayoutDimensionOptions = defaults$g({\n nodeDimensionsIncludeLabels: false\n});\nvar elesfn$5 = {\n // Calculates and returns node dimensions { x, y } based on options given\n layoutDimensions: function layoutDimensions(options) {\n options = getLayoutDimensionOptions(options);\n var dims;\n if (!this.takesUpSpace()) {\n dims = {\n w: 0,\n h: 0\n };\n } else if (options.nodeDimensionsIncludeLabels) {\n var bbDim = this.boundingBox();\n dims = {\n w: bbDim.w,\n h: bbDim.h\n };\n } else {\n dims = {\n w: this.outerWidth(),\n h: this.outerHeight()\n };\n }\n\n // sanitise the dimensions for external layouts (avoid division by zero)\n if (dims.w === 0 || dims.h === 0) {\n dims.w = dims.h = 1;\n }\n return dims;\n },\n // using standard layout options, apply position function (w/ or w/o animation)\n layoutPositions: function layoutPositions(layout, options, fn) {\n var nodes = this.nodes().filter(function (n) {\n return !n.isParent();\n });\n var cy = this.cy();\n var layoutEles = options.eles; // nodes & edges\n var getMemoizeKey = function getMemoizeKey(node) {\n return node.id();\n };\n var fnMem = memoize(fn, getMemoizeKey); // memoized version of position function\n\n layout.emit({\n type: 'layoutstart',\n layout: layout\n });\n layout.animations = [];\n var calculateSpacing = function calculateSpacing(spacing, nodesBb, pos) {\n var center = {\n x: nodesBb.x1 + nodesBb.w / 2,\n y: nodesBb.y1 + nodesBb.h / 2\n };\n var spacingVector = {\n // scale from center of bounding box (not necessarily 0,0)\n x: (pos.x - center.x) * spacing,\n y: (pos.y - center.y) * spacing\n };\n return {\n x: center.x + spacingVector.x,\n y: center.y + spacingVector.y\n };\n };\n var useSpacingFactor = options.spacingFactor && options.spacingFactor !== 1;\n var spacingBb = function spacingBb() {\n if (!useSpacingFactor) {\n return null;\n }\n var bb = makeBoundingBox();\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var pos = fnMem(node, i);\n expandBoundingBoxByPoint(bb, pos.x, pos.y);\n }\n return bb;\n };\n var bb = spacingBb();\n var getFinalPos = memoize(function (node, i) {\n var newPos = fnMem(node, i);\n if (useSpacingFactor) {\n var spacing = Math.abs(options.spacingFactor);\n newPos = calculateSpacing(spacing, bb, newPos);\n }\n if (options.transform != null) {\n newPos = options.transform(node, newPos);\n }\n return newPos;\n }, getMemoizeKey);\n if (options.animate) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var newPos = getFinalPos(node, i);\n var animateNode = options.animateFilter == null || options.animateFilter(node, i);\n if (animateNode) {\n var ani = node.animation({\n position: newPos,\n duration: options.animationDuration,\n easing: options.animationEasing\n });\n layout.animations.push(ani);\n } else {\n node.position(newPos);\n }\n }\n if (options.fit) {\n var fitAni = cy.animation({\n fit: {\n boundingBox: layoutEles.boundingBoxAt(getFinalPos),\n padding: options.padding\n },\n duration: options.animationDuration,\n easing: options.animationEasing\n });\n layout.animations.push(fitAni);\n } else if (options.zoom !== undefined && options.pan !== undefined) {\n var zoomPanAni = cy.animation({\n zoom: options.zoom,\n pan: options.pan,\n duration: options.animationDuration,\n easing: options.animationEasing\n });\n layout.animations.push(zoomPanAni);\n }\n layout.animations.forEach(function (ani) {\n return ani.play();\n });\n layout.one('layoutready', options.ready);\n layout.emit({\n type: 'layoutready',\n layout: layout\n });\n Promise$1.all(layout.animations.map(function (ani) {\n return ani.promise();\n })).then(function () {\n layout.one('layoutstop', options.stop);\n layout.emit({\n type: 'layoutstop',\n layout: layout\n });\n });\n } else {\n nodes.positions(getFinalPos);\n if (options.fit) {\n cy.fit(options.eles, options.padding);\n }\n if (options.zoom != null) {\n cy.zoom(options.zoom);\n }\n if (options.pan) {\n cy.pan(options.pan);\n }\n layout.one('layoutready', options.ready);\n layout.emit({\n type: 'layoutready',\n layout: layout\n });\n layout.one('layoutstop', options.stop);\n layout.emit({\n type: 'layoutstop',\n layout: layout\n });\n }\n return this; // chaining\n },\n layout: function layout(options) {\n var cy = this.cy();\n return cy.makeLayout(extend({}, options, {\n eles: this\n }));\n }\n};\n\n// aliases:\nelesfn$5.createLayout = elesfn$5.makeLayout = elesfn$5.layout;\n\nfunction styleCache(key, fn, ele) {\n var _p = ele._private;\n var cache = _p.styleCache = _p.styleCache || [];\n var val;\n if ((val = cache[key]) != null) {\n return val;\n } else {\n val = cache[key] = fn(ele);\n return val;\n }\n}\nfunction cacheStyleFunction(key, fn) {\n key = hashString(key);\n return function cachedStyleFunction(ele) {\n return styleCache(key, fn, ele);\n };\n}\nfunction cachePrototypeStyleFunction(key, fn) {\n key = hashString(key);\n var selfFn = function selfFn(ele) {\n return fn.call(ele);\n };\n return function cachedPrototypeStyleFunction() {\n var ele = this[0];\n if (ele) {\n return styleCache(key, selfFn, ele);\n }\n };\n}\nvar elesfn$4 = {\n recalculateRenderedStyle: function recalculateRenderedStyle(useCache) {\n var cy = this.cy();\n var renderer = cy.renderer();\n var styleEnabled = cy.styleEnabled();\n if (renderer && styleEnabled) {\n renderer.recalculateRenderedStyle(this, useCache);\n }\n return this;\n },\n dirtyStyleCache: function dirtyStyleCache() {\n var cy = this.cy();\n var dirty = function dirty(ele) {\n return ele._private.styleCache = null;\n };\n if (cy.hasCompoundNodes()) {\n var eles;\n eles = this.spawnSelf().merge(this.descendants()).merge(this.parents());\n eles.merge(eles.connectedEdges());\n eles.forEach(dirty);\n } else {\n this.forEach(function (ele) {\n dirty(ele);\n ele.connectedEdges().forEach(dirty);\n });\n }\n return this;\n },\n // fully updates (recalculates) the style for the elements\n updateStyle: function updateStyle(notifyRenderer) {\n var cy = this._private.cy;\n if (!cy.styleEnabled()) {\n return this;\n }\n if (cy.batching()) {\n var bEles = cy._private.batchStyleEles;\n bEles.merge(this);\n return this; // chaining and exit early when batching\n }\n var hasCompounds = cy.hasCompoundNodes();\n var updatedEles = this;\n notifyRenderer = notifyRenderer || notifyRenderer === undefined ? true : false;\n if (hasCompounds) {\n // then add everything up and down for compound selector checks\n updatedEles = this.spawnSelf().merge(this.descendants()).merge(this.parents());\n }\n\n // let changedEles = style.apply( updatedEles );\n var changedEles = updatedEles;\n if (notifyRenderer) {\n changedEles.emitAndNotify('style'); // let renderer know we changed style\n } else {\n changedEles.emit('style'); // just fire the event\n }\n updatedEles.forEach(function (ele) {\n return ele._private.styleDirty = true;\n });\n return this; // chaining\n },\n // private: clears dirty flag and recalculates style\n cleanStyle: function cleanStyle() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return;\n }\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n if (ele._private.styleDirty) {\n // n.b. this flag should be set before apply() to avoid potential infinite recursion\n ele._private.styleDirty = false;\n cy.style().apply(ele);\n }\n }\n },\n // get the internal parsed style object for the specified property\n parsedStyle: function parsedStyle(property) {\n var includeNonDefault = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var ele = this[0];\n var cy = ele.cy();\n if (!cy.styleEnabled()) {\n return;\n }\n if (ele) {\n // this.cleanStyle();\n\n // Inline the important part of cleanStyle(), for raw performance\n if (ele._private.styleDirty) {\n // n.b. this flag should be set before apply() to avoid potential infinite recursion\n ele._private.styleDirty = false;\n cy.style().apply(ele);\n }\n var overriddenStyle = ele._private.style[property];\n if (overriddenStyle != null) {\n return overriddenStyle;\n } else if (includeNonDefault) {\n return cy.style().getDefaultProperty(property);\n } else {\n return null;\n }\n }\n },\n numericStyle: function numericStyle(property) {\n var ele = this[0];\n if (!ele.cy().styleEnabled()) {\n return;\n }\n if (ele) {\n var pstyle = ele.pstyle(property);\n return pstyle.pfValue !== undefined ? pstyle.pfValue : pstyle.value;\n }\n },\n numericStyleUnits: function numericStyleUnits(property) {\n var ele = this[0];\n if (!ele.cy().styleEnabled()) {\n return;\n }\n if (ele) {\n return ele.pstyle(property).units;\n }\n },\n // get the specified css property as a rendered value (i.e. on-screen value)\n // or get the whole rendered style if no property specified (NB doesn't allow setting)\n renderedStyle: function renderedStyle(property) {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return this;\n }\n var ele = this[0];\n if (ele) {\n return cy.style().getRenderedStyle(ele, property);\n }\n },\n // read the calculated css style of the element or override the style (via a bypass)\n style: function style(name, value) {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return this;\n }\n var updateTransitions = false;\n var style = cy.style();\n if (plainObject(name)) {\n // then extend the bypass\n var props = name;\n style.applyBypass(this, props, updateTransitions);\n this.emitAndNotify('style'); // let the renderer know we've updated style\n } else if (string(name)) {\n if (value === undefined) {\n // then get the property from the style\n var ele = this[0];\n if (ele) {\n return style.getStylePropertyValue(ele, name);\n } else {\n // empty collection => can't get any value\n return;\n }\n } else {\n // then set the bypass with the property value\n style.applyBypass(this, name, value, updateTransitions);\n this.emitAndNotify('style'); // let the renderer know we've updated style\n }\n } else if (name === undefined) {\n var _ele = this[0];\n if (_ele) {\n return style.getRawStyle(_ele);\n } else {\n // empty collection => can't get any value\n return;\n }\n }\n return this; // chaining\n },\n removeStyle: function removeStyle(names) {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return this;\n }\n var updateTransitions = false;\n var style = cy.style();\n var eles = this;\n if (names === undefined) {\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n style.removeAllBypasses(ele, updateTransitions);\n }\n } else {\n names = names.split(/\\s+/);\n for (var _i = 0; _i < eles.length; _i++) {\n var _ele2 = eles[_i];\n style.removeBypasses(_ele2, names, updateTransitions);\n }\n }\n this.emitAndNotify('style'); // let the renderer know we've updated style\n\n return this; // chaining\n },\n show: function show() {\n this.css('display', 'element');\n return this; // chaining\n },\n hide: function hide() {\n this.css('display', 'none');\n return this; // chaining\n },\n effectiveOpacity: function effectiveOpacity() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return 1;\n }\n var hasCompoundNodes = cy.hasCompoundNodes();\n var ele = this[0];\n if (ele) {\n var _p = ele._private;\n var parentOpacity = ele.pstyle('opacity').value;\n if (!hasCompoundNodes) {\n return parentOpacity;\n }\n var parents = !_p.data.parent ? null : ele.parents();\n if (parents) {\n for (var i = 0; i < parents.length; i++) {\n var parent = parents[i];\n var opacity = parent.pstyle('opacity').value;\n parentOpacity = opacity * parentOpacity;\n }\n }\n return parentOpacity;\n }\n },\n transparent: function transparent() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return false;\n }\n var ele = this[0];\n var hasCompoundNodes = ele.cy().hasCompoundNodes();\n if (ele) {\n if (!hasCompoundNodes) {\n return ele.pstyle('opacity').value === 0;\n } else {\n return ele.effectiveOpacity() === 0;\n }\n }\n },\n backgrounding: function backgrounding() {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return false;\n }\n var ele = this[0];\n return ele._private.backgrounding ? true : false;\n }\n};\nfunction checkCompound(ele, parentOk) {\n var _p = ele._private;\n var parents = _p.data.parent ? ele.parents() : null;\n if (parents) {\n for (var i = 0; i < parents.length; i++) {\n var parent = parents[i];\n if (!parentOk(parent)) {\n return false;\n }\n }\n }\n return true;\n}\nfunction defineDerivedStateFunction(specs) {\n var ok = specs.ok;\n var edgeOkViaNode = specs.edgeOkViaNode || specs.ok;\n var parentOk = specs.parentOk || specs.ok;\n return function () {\n var cy = this.cy();\n if (!cy.styleEnabled()) {\n return true;\n }\n var ele = this[0];\n var hasCompoundNodes = cy.hasCompoundNodes();\n if (ele) {\n var _p = ele._private;\n if (!ok(ele)) {\n return false;\n }\n if (ele.isNode()) {\n return !hasCompoundNodes || checkCompound(ele, parentOk);\n } else {\n var src = _p.source;\n var tgt = _p.target;\n return edgeOkViaNode(src) && (!hasCompoundNodes || checkCompound(src, edgeOkViaNode)) && (src === tgt || edgeOkViaNode(tgt) && (!hasCompoundNodes || checkCompound(tgt, edgeOkViaNode)));\n }\n }\n };\n}\nvar eleTakesUpSpace = cacheStyleFunction('eleTakesUpSpace', function (ele) {\n return ele.pstyle('display').value === 'element' && ele.width() !== 0 && (ele.isNode() ? ele.height() !== 0 : true);\n});\nelesfn$4.takesUpSpace = cachePrototypeStyleFunction('takesUpSpace', defineDerivedStateFunction({\n ok: eleTakesUpSpace\n}));\nvar eleInteractive = cacheStyleFunction('eleInteractive', function (ele) {\n return ele.pstyle('events').value === 'yes' && ele.pstyle('visibility').value === 'visible' && eleTakesUpSpace(ele);\n});\nvar parentInteractive = cacheStyleFunction('parentInteractive', function (parent) {\n return parent.pstyle('visibility').value === 'visible' && eleTakesUpSpace(parent);\n});\nelesfn$4.interactive = cachePrototypeStyleFunction('interactive', defineDerivedStateFunction({\n ok: eleInteractive,\n parentOk: parentInteractive,\n edgeOkViaNode: eleTakesUpSpace\n}));\nelesfn$4.noninteractive = function () {\n var ele = this[0];\n if (ele) {\n return !ele.interactive();\n }\n};\nvar eleVisible = cacheStyleFunction('eleVisible', function (ele) {\n return ele.pstyle('visibility').value === 'visible' && ele.pstyle('opacity').pfValue !== 0 && eleTakesUpSpace(ele);\n});\nvar edgeVisibleViaNode = eleTakesUpSpace;\nelesfn$4.visible = cachePrototypeStyleFunction('visible', defineDerivedStateFunction({\n ok: eleVisible,\n edgeOkViaNode: edgeVisibleViaNode\n}));\nelesfn$4.hidden = function () {\n var ele = this[0];\n if (ele) {\n return !ele.visible();\n }\n};\nelesfn$4.isBundledBezier = cachePrototypeStyleFunction('isBundledBezier', function () {\n if (!this.cy().styleEnabled()) {\n return false;\n }\n return !this.removed() && this.pstyle('curve-style').value === 'bezier' && this.takesUpSpace();\n});\nelesfn$4.bypass = elesfn$4.css = elesfn$4.style;\nelesfn$4.renderedCss = elesfn$4.renderedStyle;\nelesfn$4.removeBypass = elesfn$4.removeCss = elesfn$4.removeStyle;\nelesfn$4.pstyle = elesfn$4.parsedStyle;\n\nvar elesfn$3 = {};\nfunction defineSwitchFunction(params) {\n return function () {\n var args = arguments;\n var changedEles = [];\n\n // e.g. cy.nodes().select( data, handler )\n if (args.length === 2) {\n var data = args[0];\n var handler = args[1];\n this.on(params.event, data, handler);\n }\n\n // e.g. cy.nodes().select( handler )\n else if (args.length === 1 && fn$6(args[0])) {\n var _handler = args[0];\n this.on(params.event, _handler);\n }\n\n // e.g. cy.nodes().select()\n // e.g. (private) cy.nodes().select(['tapselect'])\n else if (args.length === 0 || args.length === 1 && array(args[0])) {\n var addlEvents = args.length === 1 ? args[0] : null;\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var able = !params.ableField || ele._private[params.ableField];\n var changed = ele._private[params.field] != params.value;\n if (params.overrideAble) {\n var overrideAble = params.overrideAble(ele);\n if (overrideAble !== undefined) {\n able = overrideAble;\n if (!overrideAble) {\n return this;\n } // to save cycles assume not able for all on override\n }\n }\n if (able) {\n ele._private[params.field] = params.value;\n if (changed) {\n changedEles.push(ele);\n }\n }\n }\n var changedColl = this.spawn(changedEles);\n changedColl.updateStyle(); // change of state => possible change of style\n changedColl.emit(params.event);\n if (addlEvents) {\n changedColl.emit(addlEvents);\n }\n }\n return this;\n };\n}\nfunction defineSwitchSet(params) {\n elesfn$3[params.field] = function () {\n var ele = this[0];\n if (ele) {\n if (params.overrideField) {\n var val = params.overrideField(ele);\n if (val !== undefined) {\n return val;\n }\n }\n return ele._private[params.field];\n }\n };\n elesfn$3[params.on] = defineSwitchFunction({\n event: params.on,\n field: params.field,\n ableField: params.ableField,\n overrideAble: params.overrideAble,\n value: true\n });\n elesfn$3[params.off] = defineSwitchFunction({\n event: params.off,\n field: params.field,\n ableField: params.ableField,\n overrideAble: params.overrideAble,\n value: false\n });\n}\ndefineSwitchSet({\n field: 'locked',\n overrideField: function overrideField(ele) {\n return ele.cy().autolock() ? true : undefined;\n },\n on: 'lock',\n off: 'unlock'\n});\ndefineSwitchSet({\n field: 'grabbable',\n overrideField: function overrideField(ele) {\n return ele.cy().autoungrabify() || ele.pannable() ? false : undefined;\n },\n on: 'grabify',\n off: 'ungrabify'\n});\ndefineSwitchSet({\n field: 'selected',\n ableField: 'selectable',\n overrideAble: function overrideAble(ele) {\n return ele.cy().autounselectify() ? false : undefined;\n },\n on: 'select',\n off: 'unselect'\n});\ndefineSwitchSet({\n field: 'selectable',\n overrideField: function overrideField(ele) {\n return ele.cy().autounselectify() ? false : undefined;\n },\n on: 'selectify',\n off: 'unselectify'\n});\nelesfn$3.deselect = elesfn$3.unselect;\nelesfn$3.grabbed = function () {\n var ele = this[0];\n if (ele) {\n return ele._private.grabbed;\n }\n};\ndefineSwitchSet({\n field: 'active',\n on: 'activate',\n off: 'unactivate'\n});\ndefineSwitchSet({\n field: 'pannable',\n on: 'panify',\n off: 'unpanify'\n});\nelesfn$3.inactive = function () {\n var ele = this[0];\n if (ele) {\n return !ele._private.active;\n }\n};\n\nvar elesfn$2 = {};\n\n// DAG functions\n////////////////\n\nvar defineDagExtremity = function defineDagExtremity(params) {\n return function dagExtremityImpl(selector) {\n var eles = this;\n var ret = [];\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n if (!ele.isNode()) {\n continue;\n }\n var disqualified = false;\n var edges = ele.connectedEdges();\n for (var j = 0; j < edges.length; j++) {\n var edge = edges[j];\n var src = edge.source();\n var tgt = edge.target();\n if (params.noIncomingEdges && tgt === ele && src !== ele || params.noOutgoingEdges && src === ele && tgt !== ele) {\n disqualified = true;\n break;\n }\n }\n if (!disqualified) {\n ret.push(ele);\n }\n }\n return this.spawn(ret, true).filter(selector);\n };\n};\nvar defineDagOneHop = function defineDagOneHop(params) {\n return function (selector) {\n var eles = this;\n var oEles = [];\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n if (!ele.isNode()) {\n continue;\n }\n var edges = ele.connectedEdges();\n for (var j = 0; j < edges.length; j++) {\n var edge = edges[j];\n var src = edge.source();\n var tgt = edge.target();\n if (params.outgoing && src === ele) {\n oEles.push(edge);\n oEles.push(tgt);\n } else if (params.incoming && tgt === ele) {\n oEles.push(edge);\n oEles.push(src);\n }\n }\n }\n return this.spawn(oEles, true).filter(selector);\n };\n};\nvar defineDagAllHops = function defineDagAllHops(params) {\n return function (selector) {\n var eles = this;\n var sEles = [];\n var sElesIds = {};\n for (;;) {\n var next = params.outgoing ? eles.outgoers() : eles.incomers();\n if (next.length === 0) {\n break;\n } // done if none left\n\n var newNext = false;\n for (var i = 0; i < next.length; i++) {\n var n = next[i];\n var nid = n.id();\n if (!sElesIds[nid]) {\n sElesIds[nid] = true;\n sEles.push(n);\n newNext = true;\n }\n }\n if (!newNext) {\n break;\n } // done if touched all outgoers already\n\n eles = next;\n }\n return this.spawn(sEles, true).filter(selector);\n };\n};\nelesfn$2.clearTraversalCache = function () {\n for (var i = 0; i < this.length; i++) {\n this[i]._private.traversalCache = null;\n }\n};\nextend(elesfn$2, {\n // get the root nodes in the DAG\n roots: defineDagExtremity({\n noIncomingEdges: true\n }),\n // get the leaf nodes in the DAG\n leaves: defineDagExtremity({\n noOutgoingEdges: true\n }),\n // normally called children in graph theory\n // these nodes =edges=> outgoing nodes\n outgoers: cache(defineDagOneHop({\n outgoing: true\n }), 'outgoers'),\n // aka DAG descendants\n successors: defineDagAllHops({\n outgoing: true\n }),\n // normally called parents in graph theory\n // these nodes <=edges= incoming nodes\n incomers: cache(defineDagOneHop({\n incoming: true\n }), 'incomers'),\n // aka DAG ancestors\n predecessors: defineDagAllHops({\n })\n});\n\n// Neighbourhood functions\n//////////////////////////\n\nextend(elesfn$2, {\n neighborhood: cache(function (selector) {\n var elements = [];\n var nodes = this.nodes();\n for (var i = 0; i < nodes.length; i++) {\n // for all nodes\n var node = nodes[i];\n var connectedEdges = node.connectedEdges();\n\n // for each connected edge, add the edge and the other node\n for (var j = 0; j < connectedEdges.length; j++) {\n var edge = connectedEdges[j];\n var src = edge.source();\n var tgt = edge.target();\n var otherNode = node === src ? tgt : src;\n\n // need check in case of loop\n if (otherNode.length > 0) {\n elements.push(otherNode[0]); // add node 1 hop away\n }\n\n // add connected edge\n elements.push(edge[0]);\n }\n }\n return this.spawn(elements, true).filter(selector);\n }, 'neighborhood'),\n closedNeighborhood: function closedNeighborhood(selector) {\n return this.neighborhood().add(this).filter(selector);\n },\n openNeighborhood: function openNeighborhood(selector) {\n return this.neighborhood(selector);\n }\n});\n\n// aliases\nelesfn$2.neighbourhood = elesfn$2.neighborhood;\nelesfn$2.closedNeighbourhood = elesfn$2.closedNeighborhood;\nelesfn$2.openNeighbourhood = elesfn$2.openNeighborhood;\n\n// Edge functions\n/////////////////\n\nextend(elesfn$2, {\n source: cache(function sourceImpl(selector) {\n var ele = this[0];\n var src;\n if (ele) {\n src = ele._private.source || ele.cy().collection();\n }\n return src && selector ? src.filter(selector) : src;\n }, 'source'),\n target: cache(function targetImpl(selector) {\n var ele = this[0];\n var tgt;\n if (ele) {\n tgt = ele._private.target || ele.cy().collection();\n }\n return tgt && selector ? tgt.filter(selector) : tgt;\n }, 'target'),\n sources: defineSourceFunction({\n attr: 'source'\n }),\n targets: defineSourceFunction({\n attr: 'target'\n })\n});\nfunction defineSourceFunction(params) {\n return function sourceImpl(selector) {\n var sources = [];\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var src = ele._private[params.attr];\n if (src) {\n sources.push(src);\n }\n }\n return this.spawn(sources, true).filter(selector);\n };\n}\nextend(elesfn$2, {\n edgesWith: cache(defineEdgesWithFunction(), 'edgesWith'),\n edgesTo: cache(defineEdgesWithFunction({\n thisIsSrc: true\n }), 'edgesTo')\n});\nfunction defineEdgesWithFunction(params) {\n return function edgesWithImpl(otherNodes) {\n var elements = [];\n var cy = this._private.cy;\n var p = params || {};\n\n // get elements if a selector is specified\n if (string(otherNodes)) {\n otherNodes = cy.$(otherNodes);\n }\n for (var h = 0; h < otherNodes.length; h++) {\n var edges = otherNodes[h]._private.edges;\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n var edgeData = edge._private.data;\n var thisToOther = this.hasElementWithId(edgeData.source) && otherNodes.hasElementWithId(edgeData.target);\n var otherToThis = otherNodes.hasElementWithId(edgeData.source) && this.hasElementWithId(edgeData.target);\n var edgeConnectsThisAndOther = thisToOther || otherToThis;\n if (!edgeConnectsThisAndOther) {\n continue;\n }\n if (p.thisIsSrc || p.thisIsTgt) {\n if (p.thisIsSrc && !thisToOther) {\n continue;\n }\n if (p.thisIsTgt && !otherToThis) {\n continue;\n }\n }\n elements.push(edge);\n }\n }\n return this.spawn(elements, true);\n };\n}\nextend(elesfn$2, {\n connectedEdges: cache(function (selector) {\n var retEles = [];\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n var node = eles[i];\n if (!node.isNode()) {\n continue;\n }\n var edges = node._private.edges;\n for (var j = 0; j < edges.length; j++) {\n var edge = edges[j];\n retEles.push(edge);\n }\n }\n return this.spawn(retEles, true).filter(selector);\n }, 'connectedEdges'),\n connectedNodes: cache(function (selector) {\n var retEles = [];\n var eles = this;\n for (var i = 0; i < eles.length; i++) {\n var edge = eles[i];\n if (!edge.isEdge()) {\n continue;\n }\n retEles.push(edge.source()[0]);\n retEles.push(edge.target()[0]);\n }\n return this.spawn(retEles, true).filter(selector);\n }, 'connectedNodes'),\n parallelEdges: cache(defineParallelEdgesFunction(), 'parallelEdges'),\n codirectedEdges: cache(defineParallelEdgesFunction({\n codirected: true\n }), 'codirectedEdges')\n});\nfunction defineParallelEdgesFunction(params) {\n var defaults = {\n codirected: false\n };\n params = extend({}, defaults, params);\n return function parallelEdgesImpl(selector) {\n // micro-optimised for renderer\n var elements = [];\n var edges = this.edges();\n var p = params;\n\n // look at all the edges in the collection\n for (var i = 0; i < edges.length; i++) {\n var edge1 = edges[i];\n var edge1_p = edge1._private;\n var src1 = edge1_p.source;\n var srcid1 = src1._private.data.id;\n var tgtid1 = edge1_p.data.target;\n var srcEdges1 = src1._private.edges;\n\n // look at edges connected to the src node of this edge\n for (var j = 0; j < srcEdges1.length; j++) {\n var edge2 = srcEdges1[j];\n var edge2data = edge2._private.data;\n var tgtid2 = edge2data.target;\n var srcid2 = edge2data.source;\n var codirected = tgtid2 === tgtid1 && srcid2 === srcid1;\n var oppdirected = srcid1 === tgtid2 && tgtid1 === srcid2;\n if (p.codirected && codirected || !p.codirected && (codirected || oppdirected)) {\n elements.push(edge2);\n }\n }\n }\n return this.spawn(elements, true).filter(selector);\n };\n}\n\n// Misc functions\n/////////////////\n\nextend(elesfn$2, {\n components: function components(root) {\n var self = this;\n var cy = self.cy();\n var visited = cy.collection();\n var unvisited = root == null ? self.nodes() : root.nodes();\n var components = [];\n if (root != null && unvisited.empty()) {\n // root may contain only edges\n unvisited = root.sources(); // doesn't matter which node to use (undirected), so just use the source sides\n }\n var visitInComponent = function visitInComponent(node, component) {\n visited.merge(node);\n unvisited.unmerge(node);\n component.merge(node);\n };\n if (unvisited.empty()) {\n return self.spawn();\n }\n var _loop = function _loop() {\n // each iteration yields a component\n var cmpt = cy.collection();\n components.push(cmpt);\n var root = unvisited[0];\n visitInComponent(root, cmpt);\n self.bfs({\n directed: false,\n roots: root,\n visit: function visit(v) {\n return visitInComponent(v, cmpt);\n }\n });\n cmpt.forEach(function (node) {\n node.connectedEdges().forEach(function (e) {\n // connectedEdges() usually cached\n if (self.has(e) && cmpt.has(e.source()) && cmpt.has(e.target())) {\n // has() is cheap\n cmpt.merge(e); // forEach() only considers nodes -- sets N at call time\n }\n });\n });\n };\n do {\n _loop();\n } while (unvisited.length > 0);\n return components;\n },\n component: function component() {\n var ele = this[0];\n return ele.cy().mutableElements().components(ele)[0];\n }\n});\nelesfn$2.componentsOf = elesfn$2.components;\n\n// represents a set of nodes, edges, or both together\nvar Collection = function Collection(cy, elements) {\n var unique = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var removed = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (cy === undefined) {\n error('A collection must have a reference to the core');\n return;\n }\n var map = new Map$1();\n var createdElements = false;\n if (!elements) {\n elements = [];\n } else if (elements.length > 0 && plainObject(elements[0]) && !element(elements[0])) {\n createdElements = true;\n\n // make elements from json and restore all at once later\n var eles = [];\n var elesIds = new Set$1();\n for (var i = 0, l = elements.length; i < l; i++) {\n var json = elements[i];\n if (json.data == null) {\n json.data = {};\n }\n var _data = json.data;\n\n // make sure newly created elements have valid ids\n if (_data.id == null) {\n _data.id = uuid();\n } else if (cy.hasElementWithId(_data.id) || elesIds.has(_data.id)) {\n continue; // can't create element if prior id already exists\n }\n var ele = new Element(cy, json, false);\n eles.push(ele);\n elesIds.add(_data.id);\n }\n elements = eles;\n }\n this.length = 0;\n for (var _i = 0, _l = elements.length; _i < _l; _i++) {\n var element$1 = elements[_i][0]; // [0] in case elements is an array of collections, rather than array of elements\n if (element$1 == null) {\n continue;\n }\n var id = element$1._private.data.id;\n if (!unique || !map.has(id)) {\n if (unique) {\n map.set(id, {\n index: this.length,\n ele: element$1\n });\n }\n this[this.length] = element$1;\n this.length++;\n }\n }\n this._private = {\n eles: this,\n cy: cy,\n get map() {\n if (this.lazyMap == null) {\n this.rebuildMap();\n }\n return this.lazyMap;\n },\n set map(m) {\n this.lazyMap = m;\n },\n rebuildMap: function rebuildMap() {\n var m = this.lazyMap = new Map$1();\n var eles = this.eles;\n for (var _i2 = 0; _i2 < eles.length; _i2++) {\n var _ele = eles[_i2];\n m.set(_ele.id(), {\n index: _i2,\n ele: _ele\n });\n }\n }\n };\n if (unique) {\n this._private.map = map;\n }\n\n // restore the elements if we created them from json\n if (createdElements && !removed) {\n this.restore();\n }\n};\n\n// Functions\n////////////////////////////////////////////////////////////////////////////////////////////////////\n\n// keep the prototypes in sync (an element has the same functions as a collection)\n// and use elefn and elesfn as shorthands to the prototypes\nvar elesfn$1 = Element.prototype = Collection.prototype = Object.create(Array.prototype);\nelesfn$1.instanceString = function () {\n return 'collection';\n};\nelesfn$1.spawn = function (eles, unique) {\n return new Collection(this.cy(), eles, unique);\n};\nelesfn$1.spawnSelf = function () {\n return this.spawn(this);\n};\nelesfn$1.cy = function () {\n return this._private.cy;\n};\nelesfn$1.renderer = function () {\n return this._private.cy.renderer();\n};\nelesfn$1.element = function () {\n return this[0];\n};\nelesfn$1.collection = function () {\n if (collection(this)) {\n return this;\n } else {\n // an element\n return new Collection(this._private.cy, [this]);\n }\n};\nelesfn$1.unique = function () {\n return new Collection(this._private.cy, this, true);\n};\nelesfn$1.hasElementWithId = function (id) {\n id = '' + id; // id must be string\n\n return this._private.map.has(id);\n};\nelesfn$1.getElementById = function (id) {\n id = '' + id; // id must be string\n\n var cy = this._private.cy;\n var entry = this._private.map.get(id);\n return entry ? entry.ele : new Collection(cy); // get ele or empty collection\n};\nelesfn$1.$id = elesfn$1.getElementById;\nelesfn$1.poolIndex = function () {\n var cy = this._private.cy;\n var eles = cy._private.elements;\n var id = this[0]._private.data.id;\n return eles._private.map.get(id).index;\n};\nelesfn$1.indexOf = function (ele) {\n var id = ele[0]._private.data.id;\n return this._private.map.get(id).index;\n};\nelesfn$1.indexOfId = function (id) {\n id = '' + id; // id must be string\n\n return this._private.map.get(id).index;\n};\nelesfn$1.json = function (obj) {\n var ele = this.element();\n var cy = this.cy();\n if (ele == null && obj) {\n return this;\n } // can't set to no eles\n\n if (ele == null) {\n return undefined;\n } // can't get from no eles\n\n var p = ele._private;\n if (plainObject(obj)) {\n // set\n\n cy.startBatch();\n if (obj.data) {\n ele.data(obj.data);\n var _data2 = p.data;\n if (ele.isEdge()) {\n // source and target are immutable via data()\n var move = false;\n var spec = {};\n var src = obj.data.source;\n var tgt = obj.data.target;\n if (src != null && src != _data2.source) {\n spec.source = '' + src; // id must be string\n move = true;\n }\n if (tgt != null && tgt != _data2.target) {\n spec.target = '' + tgt; // id must be string\n move = true;\n }\n if (move) {\n ele = ele.move(spec);\n }\n } else {\n // parent is immutable via data()\n var newParentValSpecd = 'parent' in obj.data;\n var parent = obj.data.parent;\n if (newParentValSpecd && (parent != null || _data2.parent != null) && parent != _data2.parent) {\n if (parent === undefined) {\n // can't set undefined imperatively, so use null\n parent = null;\n }\n if (parent != null) {\n parent = '' + parent; // id must be string\n }\n ele = ele.move({\n parent: parent\n });\n }\n }\n }\n if (obj.position) {\n ele.position(obj.position);\n }\n\n // ignore group -- immutable\n\n var checkSwitch = function checkSwitch(k, trueFnName, falseFnName) {\n var obj_k = obj[k];\n if (obj_k != null && obj_k !== p[k]) {\n if (obj_k) {\n ele[trueFnName]();\n } else {\n ele[falseFnName]();\n }\n }\n };\n checkSwitch('removed', 'remove', 'restore');\n checkSwitch('selected', 'select', 'unselect');\n checkSwitch('selectable', 'selectify', 'unselectify');\n checkSwitch('locked', 'lock', 'unlock');\n checkSwitch('grabbable', 'grabify', 'ungrabify');\n checkSwitch('pannable', 'panify', 'unpanify');\n if (obj.classes != null) {\n ele.classes(obj.classes);\n }\n cy.endBatch();\n return this;\n } else if (obj === undefined) {\n // get\n\n var json = {\n data: copy(p.data),\n position: copy(p.position),\n group: p.group,\n removed: p.removed,\n selected: p.selected,\n selectable: p.selectable,\n locked: p.locked,\n grabbable: p.grabbable,\n pannable: p.pannable,\n classes: null\n };\n json.classes = '';\n var i = 0;\n p.classes.forEach(function (cls) {\n return json.classes += i++ === 0 ? cls : ' ' + cls;\n });\n return json;\n }\n};\nelesfn$1.jsons = function () {\n var jsons = [];\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var json = ele.json();\n jsons.push(json);\n }\n return jsons;\n};\nelesfn$1.clone = function () {\n var cy = this.cy();\n var elesArr = [];\n for (var i = 0; i < this.length; i++) {\n var ele = this[i];\n var json = ele.json();\n var clone = new Element(cy, json, false); // NB no restore\n\n elesArr.push(clone);\n }\n return new Collection(cy, elesArr);\n};\nelesfn$1.copy = elesfn$1.clone;\nelesfn$1.restore = function () {\n var notifyRenderer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var addToPool = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var self = this;\n var cy = self.cy();\n var cy_p = cy._private;\n\n // create arrays of nodes and edges, since we need to\n // restore the nodes first\n var nodes = [];\n var edges = [];\n var elements;\n for (var _i3 = 0, l = self.length; _i3 < l; _i3++) {\n var ele = self[_i3];\n if (addToPool && !ele.removed()) {\n // don't need to handle this ele\n continue;\n }\n\n // keep nodes first in the array and edges after\n if (ele.isNode()) {\n // put to front of array if node\n nodes.push(ele);\n } else {\n // put to end of array if edge\n edges.push(ele);\n }\n }\n elements = nodes.concat(edges);\n var i;\n var removeFromElements = function removeFromElements() {\n elements.splice(i, 1);\n i--;\n };\n\n // now, restore each element\n for (i = 0; i < elements.length; i++) {\n var _ele2 = elements[i];\n var _private = _ele2._private;\n var _data3 = _private.data;\n\n // the traversal cache should start fresh when ele is added\n _ele2.clearTraversalCache();\n\n // set id and validate\n if (!addToPool && !_private.removed) ; else if (_data3.id === undefined) {\n _data3.id = uuid();\n } else if (number$1(_data3.id)) {\n _data3.id = '' + _data3.id; // now it's a string\n } else if (emptyString(_data3.id) || !string(_data3.id)) {\n error('Can not create element with invalid string ID `' + _data3.id + '`');\n\n // can't create element if it has empty string as id or non-string id\n removeFromElements();\n continue;\n } else if (cy.hasElementWithId(_data3.id)) {\n error('Can not create second element with ID `' + _data3.id + '`');\n\n // can't create element if one already has that id\n removeFromElements();\n continue;\n }\n var id = _data3.id; // id is finalised, now let's keep a ref\n\n if (_ele2.isNode()) {\n // extra checks for nodes\n var pos = _private.position;\n\n // make sure the nodes have a defined position\n\n if (pos.x == null) {\n pos.x = 0;\n }\n if (pos.y == null) {\n pos.y = 0;\n }\n }\n if (_ele2.isEdge()) {\n // extra checks for edges\n\n var edge = _ele2;\n var fields = ['source', 'target'];\n var fieldsLength = fields.length;\n var badSourceOrTarget = false;\n for (var j = 0; j < fieldsLength; j++) {\n var field = fields[j];\n var val = _data3[field];\n if (number$1(val)) {\n val = _data3[field] = '' + _data3[field]; // now string\n }\n if (val == null || val === '') {\n // can't create if source or target is not defined properly\n error('Can not create edge `' + id + '` with unspecified ' + field);\n badSourceOrTarget = true;\n } else if (!cy.hasElementWithId(val)) {\n // can't create edge if one of its nodes doesn't exist\n error('Can not create edge `' + id + '` with nonexistant ' + field + ' `' + val + '`');\n badSourceOrTarget = true;\n }\n }\n if (badSourceOrTarget) {\n removeFromElements();\n continue;\n } // can't create this\n\n var src = cy.getElementById(_data3.source);\n var tgt = cy.getElementById(_data3.target);\n\n // only one edge in node if loop\n if (src.same(tgt)) {\n src._private.edges.push(edge);\n } else {\n src._private.edges.push(edge);\n tgt._private.edges.push(edge);\n }\n edge._private.source = src;\n edge._private.target = tgt;\n } // if is edge\n\n // create mock ids / indexes maps for element so it can be used like collections\n _private.map = new Map$1();\n _private.map.set(id, {\n ele: _ele2,\n index: 0\n });\n _private.removed = false;\n if (addToPool) {\n cy.addToPool(_ele2);\n }\n } // for each element\n\n // do compound node sanity checks\n for (var _i4 = 0; _i4 < nodes.length; _i4++) {\n // each node\n var node = nodes[_i4];\n var _data4 = node._private.data;\n if (number$1(_data4.parent)) {\n // then automake string\n _data4.parent = '' + _data4.parent;\n }\n var parentId = _data4.parent;\n var specifiedParent = parentId != null;\n if (specifiedParent || node._private.parent) {\n var parent = node._private.parent ? cy.collection().merge(node._private.parent) : cy.getElementById(parentId);\n if (parent.empty()) {\n // non-existant parent; just remove it\n _data4.parent = undefined;\n } else if (parent[0].removed()) {\n warn('Node added with missing parent, reference to parent removed');\n _data4.parent = undefined;\n node._private.parent = null;\n } else {\n var selfAsParent = false;\n var ancestor = parent;\n while (!ancestor.empty()) {\n if (node.same(ancestor)) {\n // mark self as parent and remove from data\n selfAsParent = true;\n _data4.parent = undefined; // remove parent reference\n\n // exit or we loop forever\n break;\n }\n ancestor = ancestor.parent();\n }\n if (!selfAsParent) {\n // connect with children\n parent[0]._private.children.push(node);\n node._private.parent = parent[0];\n\n // let the core know we have a compound graph\n cy_p.hasCompoundNodes = true;\n }\n } // else\n } // if specified parent\n } // for each node\n\n if (elements.length > 0) {\n var restored = elements.length === self.length ? self : new Collection(cy, elements);\n for (var _i5 = 0; _i5 < restored.length; _i5++) {\n var _ele3 = restored[_i5];\n if (_ele3.isNode()) {\n continue;\n }\n\n // adding an edge invalidates the traversal caches for the parallel edges\n _ele3.parallelEdges().clearTraversalCache();\n\n // adding an edge invalidates the traversal cache for the connected nodes\n _ele3.source().clearTraversalCache();\n _ele3.target().clearTraversalCache();\n }\n var toUpdateStyle;\n if (cy_p.hasCompoundNodes) {\n toUpdateStyle = cy.collection().merge(restored).merge(restored.connectedNodes()).merge(restored.parent());\n } else {\n toUpdateStyle = restored;\n }\n toUpdateStyle.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(notifyRenderer);\n if (notifyRenderer) {\n restored.emitAndNotify('add');\n } else if (addToPool) {\n restored.emit('add');\n }\n }\n return self; // chainability\n};\nelesfn$1.removed = function () {\n var ele = this[0];\n return ele && ele._private.removed;\n};\nelesfn$1.inside = function () {\n var ele = this[0];\n return ele && !ele._private.removed;\n};\nelesfn$1.remove = function () {\n var notifyRenderer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var removeFromPool = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var self = this;\n var elesToRemove = [];\n var elesToRemoveIds = {};\n var cy = self._private.cy;\n\n // add connected edges\n function addConnectedEdges(node) {\n var edges = node._private.edges;\n for (var i = 0; i < edges.length; i++) {\n add(edges[i]);\n }\n }\n\n // add descendant nodes\n function addChildren(node) {\n var children = node._private.children;\n for (var i = 0; i < children.length; i++) {\n add(children[i]);\n }\n }\n function add(ele) {\n var alreadyAdded = elesToRemoveIds[ele.id()];\n if (removeFromPool && ele.removed() || alreadyAdded) {\n return;\n } else {\n elesToRemoveIds[ele.id()] = true;\n }\n if (ele.isNode()) {\n elesToRemove.push(ele); // nodes are removed last\n\n addConnectedEdges(ele);\n addChildren(ele);\n } else {\n elesToRemove.unshift(ele); // edges are removed first\n }\n }\n\n // make the list of elements to remove\n // (may be removing more than specified due to connected edges etc)\n\n for (var i = 0, l = self.length; i < l; i++) {\n var ele = self[i];\n add(ele);\n }\n function removeEdgeRef(node, edge) {\n var connectedEdges = node._private.edges;\n removeFromArray(connectedEdges, edge);\n\n // removing an edges invalidates the traversal cache for its nodes\n node.clearTraversalCache();\n }\n function removeParallelRef(pllEdge) {\n // removing an edge invalidates the traversal caches for the parallel edges\n pllEdge.clearTraversalCache();\n }\n var alteredParents = [];\n alteredParents.ids = {};\n function removeChildRef(parent, ele) {\n ele = ele[0];\n parent = parent[0];\n var children = parent._private.children;\n var pid = parent.id();\n removeFromArray(children, ele); // remove parent => child ref\n\n ele._private.parent = null; // remove child => parent ref\n\n if (!alteredParents.ids[pid]) {\n alteredParents.ids[pid] = true;\n alteredParents.push(parent);\n }\n }\n self.dirtyCompoundBoundsCache();\n if (removeFromPool) {\n cy.removeFromPool(elesToRemove); // remove from core pool\n }\n for (var _i6 = 0; _i6 < elesToRemove.length; _i6++) {\n var _ele4 = elesToRemove[_i6];\n if (_ele4.isEdge()) {\n // remove references to this edge in its connected nodes\n var src = _ele4.source()[0];\n var tgt = _ele4.target()[0];\n removeEdgeRef(src, _ele4);\n removeEdgeRef(tgt, _ele4);\n var pllEdges = _ele4.parallelEdges();\n for (var j = 0; j < pllEdges.length; j++) {\n var pllEdge = pllEdges[j];\n removeParallelRef(pllEdge);\n if (pllEdge.isBundledBezier()) {\n pllEdge.dirtyBoundingBoxCache();\n }\n }\n } else {\n // remove reference to parent\n var parent = _ele4.parent();\n if (parent.length !== 0) {\n removeChildRef(parent, _ele4);\n }\n }\n if (removeFromPool) {\n // mark as removed\n _ele4._private.removed = true;\n }\n }\n\n // check to see if we have a compound graph or not\n var elesStillInside = cy._private.elements;\n cy._private.hasCompoundNodes = false;\n for (var _i7 = 0; _i7 < elesStillInside.length; _i7++) {\n var _ele5 = elesStillInside[_i7];\n if (_ele5.isParent()) {\n cy._private.hasCompoundNodes = true;\n break;\n }\n }\n var removedElements = new Collection(this.cy(), elesToRemove);\n if (removedElements.size() > 0) {\n // must manually notify since trigger won't do this automatically once removed\n\n if (notifyRenderer) {\n removedElements.emitAndNotify('remove');\n } else if (removeFromPool) {\n removedElements.emit('remove');\n }\n }\n\n // the parents who were modified by the removal need their style updated\n for (var _i8 = 0; _i8 < alteredParents.length; _i8++) {\n var _ele6 = alteredParents[_i8];\n if (!removeFromPool || !_ele6.removed()) {\n _ele6.updateStyle();\n }\n }\n return removedElements;\n};\nelesfn$1.move = function (struct) {\n var cy = this._private.cy;\n var eles = this;\n\n // just clean up refs, caches, etc. in the same way as when removing and then restoring\n // (our calls to remove/restore do not remove from the graph or make events)\n var notifyRenderer = false;\n var modifyPool = false;\n var toString = function toString(id) {\n return id == null ? id : '' + id;\n }; // id must be string\n\n if (struct.source !== undefined || struct.target !== undefined) {\n var srcId = toString(struct.source);\n var tgtId = toString(struct.target);\n var srcExists = srcId != null && cy.hasElementWithId(srcId);\n var tgtExists = tgtId != null && cy.hasElementWithId(tgtId);\n if (srcExists || tgtExists) {\n cy.batch(function () {\n // avoid duplicate style updates\n eles.remove(notifyRenderer, modifyPool); // clean up refs etc.\n eles.emitAndNotify('moveout');\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var _data5 = ele._private.data;\n if (ele.isEdge()) {\n if (srcExists) {\n _data5.source = srcId;\n }\n if (tgtExists) {\n _data5.target = tgtId;\n }\n }\n }\n eles.restore(notifyRenderer, modifyPool); // make new refs, style, etc.\n });\n eles.emitAndNotify('move');\n }\n } else if (struct.parent !== undefined) {\n // move node to new parent\n var parentId = toString(struct.parent);\n var parentExists = parentId === null || cy.hasElementWithId(parentId);\n if (parentExists) {\n var pidToAssign = parentId === null ? undefined : parentId;\n cy.batch(function () {\n // avoid duplicate style updates\n var updated = eles.remove(notifyRenderer, modifyPool); // clean up refs etc.\n updated.emitAndNotify('moveout');\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var _data6 = ele._private.data;\n if (ele.isNode()) {\n _data6.parent = pidToAssign;\n }\n }\n updated.restore(notifyRenderer, modifyPool); // make new refs, style, etc.\n });\n eles.emitAndNotify('move');\n }\n }\n return this;\n};\n[elesfn$j, elesfn$i, elesfn$h, elesfn$g, elesfn$f, data, elesfn$d, dimensions, elesfn$9, elesfn$8, elesfn$7, elesfn$6, elesfn$5, elesfn$4, elesfn$3, elesfn$2].forEach(function (props) {\n extend(elesfn$1, props);\n});\n\nvar corefn$9 = {\n add: function add(opts) {\n var elements;\n var cy = this;\n\n // add the elements\n if (elementOrCollection(opts)) {\n var eles = opts;\n if (eles._private.cy === cy) {\n // same instance => just restore\n elements = eles.restore();\n } else {\n // otherwise, copy from json\n var jsons = [];\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n jsons.push(ele.json());\n }\n elements = new Collection(cy, jsons);\n }\n }\n\n // specify an array of options\n else if (array(opts)) {\n var _jsons = opts;\n elements = new Collection(cy, _jsons);\n }\n\n // specify via opts.nodes and opts.edges\n else if (plainObject(opts) && (array(opts.nodes) || array(opts.edges))) {\n var elesByGroup = opts;\n var _jsons2 = [];\n var grs = ['nodes', 'edges'];\n for (var _i = 0, il = grs.length; _i < il; _i++) {\n var group = grs[_i];\n var elesArray = elesByGroup[group];\n if (array(elesArray)) {\n for (var j = 0, jl = elesArray.length; j < jl; j++) {\n var json = extend({\n group: group\n }, elesArray[j]);\n _jsons2.push(json);\n }\n }\n }\n elements = new Collection(cy, _jsons2);\n }\n\n // specify options for one element\n else {\n var _json = opts;\n elements = new Element(cy, _json).collection();\n }\n return elements;\n },\n remove: function remove(collection) {\n if (elementOrCollection(collection)) ; else if (string(collection)) {\n var selector = collection;\n collection = this.$(selector);\n }\n return collection.remove();\n }\n};\n\n/* global Float32Array */\n\n/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */\nfunction generateCubicBezier(mX1, mY1, mX2, mY2) {\n var NEWTON_ITERATIONS = 4,\n NEWTON_MIN_SLOPE = 0.001,\n SUBDIVISION_PRECISION = 0.0000001,\n SUBDIVISION_MAX_ITERATIONS = 10,\n kSplineTableSize = 11,\n kSampleStepSize = 1.0 / (kSplineTableSize - 1.0),\n float32ArraySupported = typeof Float32Array !== 'undefined';\n\n /* Must contain four arguments. */\n if (arguments.length !== 4) {\n return false;\n }\n\n /* Arguments must be numbers. */\n for (var i = 0; i < 4; ++i) {\n if (typeof arguments[i] !== \"number\" || isNaN(arguments[i]) || !isFinite(arguments[i])) {\n return false;\n }\n }\n\n /* X values must be in the [0, 1] range. */\n mX1 = Math.min(mX1, 1);\n mX2 = Math.min(mX2, 1);\n mX1 = Math.max(mX1, 0);\n mX2 = Math.max(mX2, 0);\n var mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n function C(aA1) {\n return 3.0 * aA1;\n }\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n function newtonRaphsonIterate(aX, aGuessT) {\n for (var _i = 0; _i < NEWTON_ITERATIONS; ++_i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n function calcSampleValues() {\n for (var _i2 = 0; _i2 < kSplineTableSize; ++_i2) {\n mSampleValues[_i2] = calcBezier(_i2 * kSampleStepSize, mX1, mX2);\n }\n }\n function binarySubdivide(aX, aA, aB) {\n var currentX,\n currentT,\n i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n }\n function getTForX(aX) {\n var intervalStart = 0.0,\n currentSample = 1,\n lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]),\n guessForT = intervalStart + dist * kSampleStepSize,\n initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize);\n }\n }\n var _precomputed = false;\n function precompute() {\n _precomputed = true;\n if (mX1 !== mY1 || mX2 !== mY2) {\n calcSampleValues();\n }\n }\n var f = function f(aX) {\n if (!_precomputed) {\n precompute();\n }\n if (mX1 === mY1 && mX2 === mY2) {\n return aX;\n }\n if (aX === 0) {\n return 0;\n }\n if (aX === 1) {\n return 1;\n }\n return calcBezier(getTForX(aX), mY1, mY2);\n };\n f.getControlPoints = function () {\n return [{\n x: mX1,\n y: mY1\n }, {\n x: mX2,\n y: mY2\n }];\n };\n var str = \"generateBezier(\" + [mX1, mY1, mX2, mY2] + \")\";\n f.toString = function () {\n return str;\n };\n return f;\n}\n\n/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */\n/* Given a tension, friction, and duration, a simulation at 60FPS will first run without a defined duration in order to calculate the full path. A second pass\n then adjusts the time delta -- using the relation between actual time and duration -- to calculate the path for the duration-constrained animation. */\nvar generateSpringRK4 = function () {\n function springAccelerationForState(state) {\n return -state.tension * state.x - state.friction * state.v;\n }\n function springEvaluateStateWithDerivative(initialState, dt, derivative) {\n var state = {\n x: initialState.x + derivative.dx * dt,\n v: initialState.v + derivative.dv * dt,\n tension: initialState.tension,\n friction: initialState.friction\n };\n return {\n dx: state.v,\n dv: springAccelerationForState(state)\n };\n }\n function springIntegrateState(state, dt) {\n var a = {\n dx: state.v,\n dv: springAccelerationForState(state)\n },\n b = springEvaluateStateWithDerivative(state, dt * 0.5, a),\n c = springEvaluateStateWithDerivative(state, dt * 0.5, b),\n d = springEvaluateStateWithDerivative(state, dt, c),\n dxdt = 1.0 / 6.0 * (a.dx + 2.0 * (b.dx + c.dx) + d.dx),\n dvdt = 1.0 / 6.0 * (a.dv + 2.0 * (b.dv + c.dv) + d.dv);\n state.x = state.x + dxdt * dt;\n state.v = state.v + dvdt * dt;\n return state;\n }\n return function springRK4Factory(tension, friction, duration) {\n var initState = {\n x: -1,\n v: 0,\n tension: null,\n friction: null\n },\n path = [0],\n time_lapsed = 0,\n tolerance = 1 / 10000,\n DT = 16 / 1000,\n have_duration,\n dt,\n last_state;\n tension = parseFloat(tension) || 500;\n friction = parseFloat(friction) || 20;\n duration = duration || null;\n initState.tension = tension;\n initState.friction = friction;\n have_duration = duration !== null;\n\n /* Calculate the actual time it takes for this animation to complete with the provided conditions. */\n if (have_duration) {\n /* Run the simulation without a duration. */\n time_lapsed = springRK4Factory(tension, friction);\n /* Compute the adjusted time delta. */\n dt = time_lapsed / duration * DT;\n } else {\n dt = DT;\n }\n for (;;) {\n /* Next/step function .*/\n last_state = springIntegrateState(last_state || initState, dt);\n /* Store the position. */\n path.push(1 + last_state.x);\n time_lapsed += 16;\n /* If the change threshold is reached, break. */\n if (!(Math.abs(last_state.x) > tolerance && Math.abs(last_state.v) > tolerance)) {\n break;\n }\n }\n\n /* If duration is not defined, return the actual time required for completing this animation. Otherwise, return a closure that holds the\n computed path and returns a snapshot of the position according to a given percentComplete. */\n return !have_duration ? time_lapsed : function (percentComplete) {\n return path[percentComplete * (path.length - 1) | 0];\n };\n };\n}();\n\nvar cubicBezier = function cubicBezier(t1, p1, t2, p2) {\n var bezier = generateCubicBezier(t1, p1, t2, p2);\n return function (start, end, percent) {\n return start + (end - start) * bezier(percent);\n };\n};\nvar easings = {\n 'linear': function linear(start, end, percent) {\n return start + (end - start) * percent;\n },\n // default easings\n 'ease': cubicBezier(0.25, 0.1, 0.25, 1),\n 'ease-in': cubicBezier(0.42, 0, 1, 1),\n 'ease-out': cubicBezier(0, 0, 0.58, 1),\n 'ease-in-out': cubicBezier(0.42, 0, 0.58, 1),\n // sine\n 'ease-in-sine': cubicBezier(0.47, 0, 0.745, 0.715),\n 'ease-out-sine': cubicBezier(0.39, 0.575, 0.565, 1),\n 'ease-in-out-sine': cubicBezier(0.445, 0.05, 0.55, 0.95),\n // quad\n 'ease-in-quad': cubicBezier(0.55, 0.085, 0.68, 0.53),\n 'ease-out-quad': cubicBezier(0.25, 0.46, 0.45, 0.94),\n 'ease-in-out-quad': cubicBezier(0.455, 0.03, 0.515, 0.955),\n // cubic\n 'ease-in-cubic': cubicBezier(0.55, 0.055, 0.675, 0.19),\n 'ease-out-cubic': cubicBezier(0.215, 0.61, 0.355, 1),\n 'ease-in-out-cubic': cubicBezier(0.645, 0.045, 0.355, 1),\n // quart\n 'ease-in-quart': cubicBezier(0.895, 0.03, 0.685, 0.22),\n 'ease-out-quart': cubicBezier(0.165, 0.84, 0.44, 1),\n 'ease-in-out-quart': cubicBezier(0.77, 0, 0.175, 1),\n // quint\n 'ease-in-quint': cubicBezier(0.755, 0.05, 0.855, 0.06),\n 'ease-out-quint': cubicBezier(0.23, 1, 0.32, 1),\n 'ease-in-out-quint': cubicBezier(0.86, 0, 0.07, 1),\n // expo\n 'ease-in-expo': cubicBezier(0.95, 0.05, 0.795, 0.035),\n 'ease-out-expo': cubicBezier(0.19, 1, 0.22, 1),\n 'ease-in-out-expo': cubicBezier(1, 0, 0, 1),\n // circ\n 'ease-in-circ': cubicBezier(0.6, 0.04, 0.98, 0.335),\n 'ease-out-circ': cubicBezier(0.075, 0.82, 0.165, 1),\n 'ease-in-out-circ': cubicBezier(0.785, 0.135, 0.15, 0.86),\n // user param easings...\n\n 'spring': function spring(tension, friction, duration) {\n if (duration === 0) {\n // can't get a spring w/ duration 0\n return easings.linear; // duration 0 => jump to end so impl doesn't matter\n }\n var spring = generateSpringRK4(tension, friction, duration);\n return function (start, end, percent) {\n return start + (end - start) * spring(percent);\n };\n },\n 'cubic-bezier': cubicBezier\n};\n\nfunction getEasedValue(type, start, end, percent, easingFn) {\n if (percent === 1) {\n return end;\n }\n if (start === end) {\n return end;\n }\n var val = easingFn(start, end, percent);\n if (type == null) {\n return val;\n }\n if (type.roundValue || type.color) {\n val = Math.round(val);\n }\n if (type.min !== undefined) {\n val = Math.max(val, type.min);\n }\n if (type.max !== undefined) {\n val = Math.min(val, type.max);\n }\n return val;\n}\nfunction getValue(prop, spec) {\n if (prop.pfValue != null || prop.value != null) {\n if (prop.pfValue != null && (spec == null || spec.type.units !== '%')) {\n return prop.pfValue;\n } else {\n return prop.value;\n }\n } else {\n return prop;\n }\n}\nfunction ease(startProp, endProp, percent, easingFn, propSpec) {\n var type = propSpec != null ? propSpec.type : null;\n if (percent < 0) {\n percent = 0;\n } else if (percent > 1) {\n percent = 1;\n }\n var start = getValue(startProp, propSpec);\n var end = getValue(endProp, propSpec);\n if (number$1(start) && number$1(end)) {\n return getEasedValue(type, start, end, percent, easingFn);\n } else if (array(start) && array(end)) {\n var easedArr = [];\n for (var i = 0; i < end.length; i++) {\n var si = start[i];\n var ei = end[i];\n if (si != null && ei != null) {\n var val = getEasedValue(type, si, ei, percent, easingFn);\n easedArr.push(val);\n } else {\n easedArr.push(ei);\n }\n }\n return easedArr;\n }\n return undefined;\n}\n\nfunction step$1(self, ani, now, isCore) {\n var isEles = !isCore;\n var _p = self._private;\n var ani_p = ani._private;\n var pEasing = ani_p.easing;\n var startTime = ani_p.startTime;\n var cy = isCore ? self : self.cy();\n var style = cy.style();\n if (!ani_p.easingImpl) {\n if (pEasing == null) {\n // use default\n ani_p.easingImpl = easings['linear'];\n } else {\n // then define w/ name\n var easingVals;\n if (string(pEasing)) {\n var easingProp = style.parse('transition-timing-function', pEasing);\n easingVals = easingProp.value;\n } else {\n // then assume preparsed array\n easingVals = pEasing;\n }\n var name, args;\n if (string(easingVals)) {\n name = easingVals;\n args = [];\n } else {\n name = easingVals[1];\n args = easingVals.slice(2).map(function (n) {\n return +n;\n });\n }\n if (args.length > 0) {\n // create with args\n if (name === 'spring') {\n args.push(ani_p.duration); // need duration to generate spring\n }\n ani_p.easingImpl = easings[name].apply(null, args);\n } else {\n // static impl by name\n ani_p.easingImpl = easings[name];\n }\n }\n }\n var easing = ani_p.easingImpl;\n var percent;\n if (ani_p.duration === 0) {\n percent = 1;\n } else {\n percent = (now - startTime) / ani_p.duration;\n }\n if (ani_p.applying) {\n percent = ani_p.progress;\n }\n if (percent < 0) {\n percent = 0;\n } else if (percent > 1) {\n percent = 1;\n }\n if (ani_p.delay == null) {\n // then update\n\n var startPos = ani_p.startPosition;\n var endPos = ani_p.position;\n if (endPos && isEles && !self.locked()) {\n var newPos = {};\n if (valid(startPos.x, endPos.x)) {\n newPos.x = ease(startPos.x, endPos.x, percent, easing);\n }\n if (valid(startPos.y, endPos.y)) {\n newPos.y = ease(startPos.y, endPos.y, percent, easing);\n }\n self.position(newPos);\n }\n var startPan = ani_p.startPan;\n var endPan = ani_p.pan;\n var pan = _p.pan;\n var animatingPan = endPan != null && isCore;\n if (animatingPan) {\n if (valid(startPan.x, endPan.x)) {\n pan.x = ease(startPan.x, endPan.x, percent, easing);\n }\n if (valid(startPan.y, endPan.y)) {\n pan.y = ease(startPan.y, endPan.y, percent, easing);\n }\n self.emit('pan');\n }\n var startZoom = ani_p.startZoom;\n var endZoom = ani_p.zoom;\n var animatingZoom = endZoom != null && isCore;\n if (animatingZoom) {\n if (valid(startZoom, endZoom)) {\n _p.zoom = bound(_p.minZoom, ease(startZoom, endZoom, percent, easing), _p.maxZoom);\n }\n self.emit('zoom');\n }\n if (animatingPan || animatingZoom) {\n self.emit('viewport');\n }\n var props = ani_p.style;\n if (props && props.length > 0 && isEles) {\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var _name = prop.name;\n var end = prop;\n var start = ani_p.startStyle[_name];\n var propSpec = style.properties[start.name];\n var easedVal = ease(start, end, percent, easing, propSpec);\n style.overrideBypass(self, _name, easedVal);\n } // for props\n\n self.emit('style');\n } // if\n }\n ani_p.progress = percent;\n return percent;\n}\nfunction valid(start, end) {\n if (start == null || end == null) {\n return false;\n }\n if (number$1(start) && number$1(end)) {\n return true;\n } else if (start && end) {\n return true;\n }\n return false;\n}\n\nfunction startAnimation(self, ani, now, isCore) {\n var ani_p = ani._private;\n ani_p.started = true;\n ani_p.startTime = now - ani_p.progress * ani_p.duration;\n}\n\nfunction stepAll(now, cy) {\n var eles = cy._private.aniEles;\n var doneEles = [];\n function stepOne(ele, isCore) {\n var _p = ele._private;\n var current = _p.animation.current;\n var queue = _p.animation.queue;\n var ranAnis = false;\n\n // if nothing currently animating, get something from the queue\n if (current.length === 0) {\n var next = queue.shift();\n if (next) {\n current.push(next);\n }\n }\n var callbacks = function callbacks(_callbacks) {\n for (var j = _callbacks.length - 1; j >= 0; j--) {\n var cb = _callbacks[j];\n cb();\n }\n _callbacks.splice(0, _callbacks.length);\n };\n\n // step and remove if done\n for (var i = current.length - 1; i >= 0; i--) {\n var ani = current[i];\n var ani_p = ani._private;\n if (ani_p.stopped) {\n current.splice(i, 1);\n ani_p.hooked = false;\n ani_p.playing = false;\n ani_p.started = false;\n callbacks(ani_p.frames);\n continue;\n }\n if (!ani_p.playing && !ani_p.applying) {\n continue;\n }\n\n // an apply() while playing shouldn't do anything\n if (ani_p.playing && ani_p.applying) {\n ani_p.applying = false;\n }\n if (!ani_p.started) {\n startAnimation(ele, ani, now);\n }\n step$1(ele, ani, now, isCore);\n if (ani_p.applying) {\n ani_p.applying = false;\n }\n callbacks(ani_p.frames);\n if (ani_p.step != null) {\n ani_p.step(now);\n }\n if (ani.completed()) {\n current.splice(i, 1);\n ani_p.hooked = false;\n ani_p.playing = false;\n ani_p.started = false;\n callbacks(ani_p.completes);\n }\n ranAnis = true;\n }\n if (!isCore && current.length === 0 && queue.length === 0) {\n doneEles.push(ele);\n }\n return ranAnis;\n } // stepElement\n\n // handle all eles\n var ranEleAni = false;\n for (var e = 0; e < eles.length; e++) {\n var ele = eles[e];\n var handledThisEle = stepOne(ele);\n ranEleAni = ranEleAni || handledThisEle;\n } // each element\n\n var ranCoreAni = stepOne(cy, true);\n\n // notify renderer\n if (ranEleAni || ranCoreAni) {\n if (eles.length > 0) {\n cy.notify('draw', eles);\n } else {\n cy.notify('draw');\n }\n }\n\n // remove elements from list of currently animating if its queues are empty\n eles.unmerge(doneEles);\n cy.emit('step');\n} // stepAll\n\nvar corefn$8 = {\n // pull in animation functions\n animate: define.animate(),\n animation: define.animation(),\n animated: define.animated(),\n clearQueue: define.clearQueue(),\n delay: define.delay(),\n delayAnimation: define.delayAnimation(),\n stop: define.stop(),\n addToAnimationPool: function addToAnimationPool(eles) {\n var cy = this;\n if (!cy.styleEnabled()) {\n return;\n } // save cycles when no style used\n\n cy._private.aniEles.merge(eles);\n },\n stopAnimationLoop: function stopAnimationLoop() {\n this._private.animationsRunning = false;\n },\n startAnimationLoop: function startAnimationLoop() {\n var cy = this;\n cy._private.animationsRunning = true;\n if (!cy.styleEnabled()) {\n return;\n } // save cycles when no style used\n\n // NB the animation loop will exec in headless environments if style enabled\n // and explicit cy.destroy() is necessary to stop the loop\n\n function headlessStep() {\n if (!cy._private.animationsRunning) {\n return;\n }\n requestAnimationFrame(function animationStep(now) {\n stepAll(now, cy);\n headlessStep();\n });\n }\n var renderer = cy.renderer();\n if (renderer && renderer.beforeRender) {\n // let the renderer schedule animations\n renderer.beforeRender(function rendererAnimationStep(willDraw, now) {\n stepAll(now, cy);\n }, renderer.beforeRenderPriorities.animations);\n } else {\n // manage the animation loop ourselves\n headlessStep(); // first call\n }\n }\n};\n\nvar emitterOptions = {\n qualifierCompare: function qualifierCompare(selector1, selector2) {\n if (selector1 == null || selector2 == null) {\n return selector1 == null && selector2 == null;\n } else {\n return selector1.sameText(selector2);\n }\n },\n eventMatches: function eventMatches(cy, listener, eventObj) {\n var selector = listener.qualifier;\n if (selector != null) {\n return cy !== eventObj.target && element(eventObj.target) && selector.matches(eventObj.target);\n }\n return true;\n },\n addEventFields: function addEventFields(cy, evt) {\n evt.cy = cy;\n evt.target = cy;\n },\n callbackContext: function callbackContext(cy, listener, eventObj) {\n return listener.qualifier != null ? eventObj.target : cy;\n }\n};\nvar argSelector = function argSelector(arg) {\n if (string(arg)) {\n return new Selector(arg);\n } else {\n return arg;\n }\n};\nvar elesfn = {\n createEmitter: function createEmitter() {\n var _p = this._private;\n if (!_p.emitter) {\n _p.emitter = new Emitter(emitterOptions, this);\n }\n return this;\n },\n emitter: function emitter() {\n return this._private.emitter;\n },\n on: function on(events, selector, callback) {\n this.emitter().on(events, argSelector(selector), callback);\n return this;\n },\n removeListener: function removeListener(events, selector, callback) {\n this.emitter().removeListener(events, argSelector(selector), callback);\n return this;\n },\n removeAllListeners: function removeAllListeners() {\n this.emitter().removeAllListeners();\n return this;\n },\n one: function one(events, selector, callback) {\n this.emitter().one(events, argSelector(selector), callback);\n return this;\n },\n once: function once(events, selector, callback) {\n this.emitter().one(events, argSelector(selector), callback);\n return this;\n },\n emit: function emit(events, extraParams) {\n this.emitter().emit(events, extraParams);\n return this;\n },\n emitAndNotify: function emitAndNotify(event, eles) {\n this.emit(event);\n this.notify(event, eles);\n return this;\n }\n};\ndefine.eventAliasesOn(elesfn);\n\nvar corefn$7 = {\n png: function png(options) {\n var renderer = this._private.renderer;\n options = options || {};\n return renderer.png(options);\n },\n jpg: function jpg(options) {\n var renderer = this._private.renderer;\n options = options || {};\n options.bg = options.bg || '#fff';\n return renderer.jpg(options);\n }\n};\ncorefn$7.jpeg = corefn$7.jpg;\n\nvar corefn$6 = {\n layout: function layout(options) {\n var cy = this;\n if (options == null) {\n error('Layout options must be specified to make a layout');\n return;\n }\n if (options.name == null) {\n error('A `name` must be specified to make a layout');\n return;\n }\n var name = options.name;\n var Layout = cy.extension('layout', name);\n if (Layout == null) {\n error('No such layout `' + name + '` found. Did you forget to import it and `cytoscape.use()` it?');\n return;\n }\n var eles;\n if (string(options.eles)) {\n eles = cy.$(options.eles);\n } else {\n eles = options.eles != null ? options.eles : cy.$();\n }\n var layout = new Layout(extend({}, options, {\n cy: cy,\n eles: eles\n }));\n return layout;\n }\n};\ncorefn$6.createLayout = corefn$6.makeLayout = corefn$6.layout;\n\nvar corefn$5 = {\n notify: function notify(eventName, eventEles) {\n var _p = this._private;\n if (this.batching()) {\n _p.batchNotifications = _p.batchNotifications || {};\n var eles = _p.batchNotifications[eventName] = _p.batchNotifications[eventName] || this.collection();\n if (eventEles != null) {\n eles.merge(eventEles);\n }\n return; // notifications are disabled during batching\n }\n if (!_p.notificationsEnabled) {\n return;\n } // exit on disabled\n\n var renderer = this.renderer();\n\n // exit if destroy() called on core or renderer in between frames #1499 #1528\n if (this.destroyed() || !renderer) {\n return;\n }\n renderer.notify(eventName, eventEles);\n },\n notifications: function notifications(bool) {\n var p = this._private;\n if (bool === undefined) {\n return p.notificationsEnabled;\n } else {\n p.notificationsEnabled = bool ? true : false;\n }\n return this;\n },\n noNotifications: function noNotifications(callback) {\n this.notifications(false);\n callback();\n this.notifications(true);\n },\n batching: function batching() {\n return this._private.batchCount > 0;\n },\n startBatch: function startBatch() {\n var _p = this._private;\n if (_p.batchCount == null) {\n _p.batchCount = 0;\n }\n if (_p.batchCount === 0) {\n _p.batchStyleEles = this.collection();\n _p.batchNotifications = {};\n }\n _p.batchCount++;\n return this;\n },\n endBatch: function endBatch() {\n var _p = this._private;\n if (_p.batchCount === 0) {\n return this;\n }\n _p.batchCount--;\n if (_p.batchCount === 0) {\n // update style for dirty eles\n _p.batchStyleEles.updateStyle();\n var renderer = this.renderer();\n\n // notify the renderer of queued eles and event types\n Object.keys(_p.batchNotifications).forEach(function (eventName) {\n var eles = _p.batchNotifications[eventName];\n if (eles.empty()) {\n renderer.notify(eventName);\n } else {\n renderer.notify(eventName, eles);\n }\n });\n }\n return this;\n },\n batch: function batch(callback) {\n this.startBatch();\n callback();\n this.endBatch();\n return this;\n },\n // for backwards compatibility\n batchData: function batchData(map) {\n var cy = this;\n return this.batch(function () {\n var ids = Object.keys(map);\n for (var i = 0; i < ids.length; i++) {\n var id = ids[i];\n var data = map[id];\n var ele = cy.getElementById(id);\n ele.data(data);\n }\n });\n }\n};\n\nvar rendererDefaults = defaults$g({\n hideEdgesOnViewport: false,\n textureOnViewport: false,\n motionBlur: false,\n motionBlurOpacity: 0.05,\n pixelRatio: undefined,\n desktopTapThreshold: 4,\n touchTapThreshold: 8,\n wheelSensitivity: 1,\n debug: false,\n showFps: false,\n // webgl options\n webgl: false,\n webglDebug: false,\n webglDebugShowAtlases: false,\n // defaults good for mobile\n webglTexSize: 2048,\n webglTexRows: 36,\n webglTexRowsNodes: 18,\n webglBatchSize: 2048,\n webglTexPerBatch: 14,\n webglBgColor: [255, 255, 255]\n});\nvar corefn$4 = {\n renderTo: function renderTo(context, zoom, pan, pxRatio) {\n var r = this._private.renderer;\n r.renderTo(context, zoom, pan, pxRatio);\n return this;\n },\n renderer: function renderer() {\n return this._private.renderer;\n },\n forceRender: function forceRender() {\n this.notify('draw');\n return this;\n },\n resize: function resize() {\n this.invalidateSize();\n this.emitAndNotify('resize');\n return this;\n },\n initRenderer: function initRenderer(options) {\n var cy = this;\n var RendererProto = cy.extension('renderer', options.name);\n if (RendererProto == null) {\n error(\"Can not initialise: No such renderer `\".concat(options.name, \"` found. Did you forget to import it and `cytoscape.use()` it?\"));\n return;\n }\n if (options.wheelSensitivity !== undefined) {\n warn(\"You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.\");\n }\n var rOpts = rendererDefaults(options);\n rOpts.cy = cy;\n cy._private.renderer = new RendererProto(rOpts);\n this.notify('init');\n },\n destroyRenderer: function destroyRenderer() {\n var cy = this;\n cy.notify('destroy'); // destroy the renderer\n\n var domEle = cy.container();\n if (domEle) {\n domEle._cyreg = null;\n while (domEle.childNodes.length > 0) {\n domEle.removeChild(domEle.childNodes[0]);\n }\n }\n cy._private.renderer = null; // to be extra safe, remove the ref\n cy.mutableElements().forEach(function (ele) {\n var _p = ele._private;\n _p.rscratch = {};\n _p.rstyle = {};\n _p.animation.current = [];\n _p.animation.queue = [];\n });\n },\n onRender: function onRender(fn) {\n return this.on('render', fn);\n },\n offRender: function offRender(fn) {\n return this.off('render', fn);\n }\n};\ncorefn$4.invalidateDimensions = corefn$4.resize;\n\nvar corefn$3 = {\n // get a collection\n // - empty collection on no args\n // - collection of elements in the graph on selector arg\n // - guarantee a returned collection when elements or collection specified\n collection: function collection(eles, opts) {\n if (string(eles)) {\n return this.$(eles);\n } else if (elementOrCollection(eles)) {\n return eles.collection();\n } else if (array(eles)) {\n if (!opts) {\n opts = {};\n }\n return new Collection(this, eles, opts.unique, opts.removed);\n }\n return new Collection(this);\n },\n nodes: function nodes(selector) {\n var nodes = this.$(function (ele) {\n return ele.isNode();\n });\n if (selector) {\n return nodes.filter(selector);\n }\n return nodes;\n },\n edges: function edges(selector) {\n var edges = this.$(function (ele) {\n return ele.isEdge();\n });\n if (selector) {\n return edges.filter(selector);\n }\n return edges;\n },\n // search the graph like jQuery\n $: function $(selector) {\n var eles = this._private.elements;\n if (selector) {\n return eles.filter(selector);\n } else {\n return eles.spawnSelf();\n }\n },\n mutableElements: function mutableElements() {\n return this._private.elements;\n }\n};\n\n// aliases\ncorefn$3.elements = corefn$3.filter = corefn$3.$;\n\nvar styfn$8 = {};\n\n// keys for style blocks, e.g. ttfftt\nvar TRUE = 't';\nvar FALSE = 'f';\n\n// (potentially expensive calculation)\n// apply the style to the element based on\n// - its bypass\n// - what selectors match it\nstyfn$8.apply = function (eles) {\n var self = this;\n var _p = self._private;\n var cy = _p.cy;\n var updatedEles = cy.collection();\n for (var ie = 0; ie < eles.length; ie++) {\n var ele = eles[ie];\n var cxtMeta = self.getContextMeta(ele);\n if (cxtMeta.empty) {\n continue;\n }\n var cxtStyle = self.getContextStyle(cxtMeta);\n var app = self.applyContextStyle(cxtMeta, cxtStyle, ele);\n if (ele._private.appliedInitStyle) {\n self.updateTransitions(ele, app.diffProps);\n } else {\n ele._private.appliedInitStyle = true;\n }\n var hintsDiff = self.updateStyleHints(ele);\n if (hintsDiff) {\n updatedEles.push(ele);\n }\n } // for elements\n\n return updatedEles;\n};\nstyfn$8.getPropertiesDiff = function (oldCxtKey, newCxtKey) {\n var self = this;\n var cache = self._private.propDiffs = self._private.propDiffs || {};\n var dualCxtKey = oldCxtKey + '-' + newCxtKey;\n var cachedVal = cache[dualCxtKey];\n if (cachedVal) {\n return cachedVal;\n }\n var diffProps = [];\n var addedProp = {};\n for (var i = 0; i < self.length; i++) {\n var cxt = self[i];\n var oldHasCxt = oldCxtKey[i] === TRUE;\n var newHasCxt = newCxtKey[i] === TRUE;\n var cxtHasDiffed = oldHasCxt !== newHasCxt;\n var cxtHasMappedProps = cxt.mappedProperties.length > 0;\n if (cxtHasDiffed || newHasCxt && cxtHasMappedProps) {\n var props = undefined;\n if (cxtHasDiffed && cxtHasMappedProps) {\n props = cxt.properties; // suffices b/c mappedProperties is a subset of properties\n } else if (cxtHasDiffed) {\n props = cxt.properties; // need to check them all\n } else if (cxtHasMappedProps) {\n props = cxt.mappedProperties; // only need to check mapped\n }\n for (var j = 0; j < props.length; j++) {\n var prop = props[j];\n var name = prop.name;\n\n // if a later context overrides this property, then the fact that this context has switched/diffed doesn't matter\n // (semi expensive check since it makes this function O(n^2) on context length, but worth it since overall result\n // is cached)\n var laterCxtOverrides = false;\n for (var k = i + 1; k < self.length; k++) {\n var laterCxt = self[k];\n var hasLaterCxt = newCxtKey[k] === TRUE;\n if (!hasLaterCxt) {\n continue;\n } // can't override unless the context is active\n\n laterCxtOverrides = laterCxt.properties[prop.name] != null;\n if (laterCxtOverrides) {\n break;\n } // exit early as long as one later context overrides\n }\n if (!addedProp[name] && !laterCxtOverrides) {\n addedProp[name] = true;\n diffProps.push(name);\n }\n } // for props\n } // if\n } // for contexts\n\n cache[dualCxtKey] = diffProps;\n return diffProps;\n};\nstyfn$8.getContextMeta = function (ele) {\n var self = this;\n var cxtKey = '';\n var diffProps;\n var prevKey = ele._private.styleCxtKey || '';\n\n // get the cxt key\n for (var i = 0; i < self.length; i++) {\n var context = self[i];\n var contextSelectorMatches = context.selector && context.selector.matches(ele); // NB: context.selector may be null for 'core'\n\n if (contextSelectorMatches) {\n cxtKey += TRUE;\n } else {\n cxtKey += FALSE;\n }\n } // for context\n\n diffProps = self.getPropertiesDiff(prevKey, cxtKey);\n ele._private.styleCxtKey = cxtKey;\n return {\n key: cxtKey,\n diffPropNames: diffProps,\n empty: diffProps.length === 0\n };\n};\n\n// gets a computed ele style object based on matched contexts\nstyfn$8.getContextStyle = function (cxtMeta) {\n var cxtKey = cxtMeta.key;\n var self = this;\n var cxtStyles = this._private.contextStyles = this._private.contextStyles || {};\n\n // if already computed style, returned cached copy\n if (cxtStyles[cxtKey]) {\n return cxtStyles[cxtKey];\n }\n var style = {\n _private: {\n key: cxtKey\n }\n };\n for (var i = 0; i < self.length; i++) {\n var cxt = self[i];\n var hasCxt = cxtKey[i] === TRUE;\n if (!hasCxt) {\n continue;\n }\n for (var j = 0; j < cxt.properties.length; j++) {\n var prop = cxt.properties[j];\n style[prop.name] = prop;\n }\n }\n cxtStyles[cxtKey] = style;\n return style;\n};\nstyfn$8.applyContextStyle = function (cxtMeta, cxtStyle, ele) {\n var self = this;\n var diffProps = cxtMeta.diffPropNames;\n var retDiffProps = {};\n var types = self.types;\n for (var i = 0; i < diffProps.length; i++) {\n var diffPropName = diffProps[i];\n var cxtProp = cxtStyle[diffPropName];\n var eleProp = ele.pstyle(diffPropName);\n if (!cxtProp) {\n // no context prop means delete\n if (!eleProp) {\n continue; // no existing prop means nothing needs to be removed\n // nb affects initial application on mapped values like control-point-distances\n } else if (eleProp.bypass) {\n cxtProp = {\n name: diffPropName,\n deleteBypassed: true\n };\n } else {\n cxtProp = {\n name: diffPropName,\n \"delete\": true\n };\n }\n }\n\n // save cycles when the context prop doesn't need to be applied\n if (eleProp === cxtProp) {\n continue;\n }\n\n // save cycles when a mapped context prop doesn't need to be applied\n if (cxtProp.mapped === types.fn // context prop is function mapper\n && eleProp != null // some props can be null even by default (e.g. a prop that overrides another one)\n && eleProp.mapping != null // ele prop is a concrete value from from a mapper\n && eleProp.mapping.value === cxtProp.value // the current prop on the ele is a flat prop value for the function mapper\n ) {\n // NB don't write to cxtProp, as it's shared among eles (stored in stylesheet)\n var mapping = eleProp.mapping; // can write to mapping, as it's a per-ele copy\n var fnValue = mapping.fnValue = cxtProp.value(ele); // temporarily cache the value in case of a miss\n\n if (fnValue === mapping.prevFnValue) {\n continue;\n }\n }\n var retDiffProp = retDiffProps[diffPropName] = {\n prev: eleProp\n };\n self.applyParsedProperty(ele, cxtProp);\n retDiffProp.next = ele.pstyle(diffPropName);\n if (retDiffProp.next && retDiffProp.next.bypass) {\n retDiffProp.next = retDiffProp.next.bypassed;\n }\n }\n return {\n diffProps: retDiffProps\n };\n};\nstyfn$8.updateStyleHints = function (ele) {\n var _p = ele._private;\n var self = this;\n var propNames = self.propertyGroupNames;\n var propGrKeys = self.propertyGroupKeys;\n var propHash = function propHash(ele, propNames, seedKey) {\n return self.getPropertiesHash(ele, propNames, seedKey);\n };\n var oldStyleKey = _p.styleKey;\n if (ele.removed()) {\n return false;\n }\n var isNode = _p.group === 'nodes';\n\n // get the style key hashes per prop group\n // but lazily -- only use non-default prop values to reduce the number of hashes\n //\n\n var overriddenStyles = ele._private.style;\n propNames = Object.keys(overriddenStyles);\n for (var i = 0; i < propGrKeys.length; i++) {\n var grKey = propGrKeys[i];\n _p.styleKeys[grKey] = [DEFAULT_HASH_SEED, DEFAULT_HASH_SEED_ALT];\n }\n var updateGrKey1 = function updateGrKey1(val, grKey) {\n return _p.styleKeys[grKey][0] = hashInt(val, _p.styleKeys[grKey][0]);\n };\n var updateGrKey2 = function updateGrKey2(val, grKey) {\n return _p.styleKeys[grKey][1] = hashIntAlt(val, _p.styleKeys[grKey][1]);\n };\n var updateGrKey = function updateGrKey(val, grKey) {\n updateGrKey1(val, grKey);\n updateGrKey2(val, grKey);\n };\n var updateGrKeyWStr = function updateGrKeyWStr(strVal, grKey) {\n for (var j = 0; j < strVal.length; j++) {\n var ch = strVal.charCodeAt(j);\n updateGrKey1(ch, grKey);\n updateGrKey2(ch, grKey);\n }\n };\n\n // - hashing works on 32 bit ints b/c we use bitwise ops\n // - small numbers get cut off (e.g. 0.123 is seen as 0 by the hashing function)\n // - raise up small numbers so more significant digits are seen by hashing\n // - make small numbers larger than a normal value to avoid collisions\n // - works in practice and it's relatively cheap\n var N = 2000000000;\n var cleanNum = function cleanNum(val) {\n return -128 < val && val < 128 && Math.floor(val) !== val ? N - (val * 1024 | 0) : val;\n };\n for (var _i = 0; _i < propNames.length; _i++) {\n var name = propNames[_i];\n var parsedProp = overriddenStyles[name];\n if (parsedProp == null) {\n continue;\n }\n var propInfo = this.properties[name];\n var type = propInfo.type;\n var _grKey = propInfo.groupKey;\n var normalizedNumberVal = undefined;\n if (propInfo.hashOverride != null) {\n normalizedNumberVal = propInfo.hashOverride(ele, parsedProp);\n } else if (parsedProp.pfValue != null) {\n normalizedNumberVal = parsedProp.pfValue;\n }\n\n // might not be a number if it allows enums\n var numberVal = propInfo.enums == null ? parsedProp.value : null;\n var haveNormNum = normalizedNumberVal != null;\n var haveUnitedNum = numberVal != null;\n var haveNum = haveNormNum || haveUnitedNum;\n var units = parsedProp.units;\n\n // numbers are cheaper to hash than strings\n // 1 hash op vs n hash ops (for length n string)\n if (type.number && haveNum && !type.multiple) {\n var v = haveNormNum ? normalizedNumberVal : numberVal;\n updateGrKey(cleanNum(v), _grKey);\n if (!haveNormNum && units != null) {\n updateGrKeyWStr(units, _grKey);\n }\n } else {\n updateGrKeyWStr(parsedProp.strValue, _grKey);\n }\n }\n\n // overall style key\n //\n\n var hash = [DEFAULT_HASH_SEED, DEFAULT_HASH_SEED_ALT];\n for (var _i2 = 0; _i2 < propGrKeys.length; _i2++) {\n var _grKey2 = propGrKeys[_i2];\n var grHash = _p.styleKeys[_grKey2];\n hash[0] = hashInt(grHash[0], hash[0]);\n hash[1] = hashIntAlt(grHash[1], hash[1]);\n }\n _p.styleKey = combineHashes(hash[0], hash[1]);\n\n // label dims\n //\n\n var sk = _p.styleKeys;\n _p.labelDimsKey = combineHashesArray(sk.labelDimensions);\n var labelKeys = propHash(ele, ['label'], sk.labelDimensions);\n _p.labelKey = combineHashesArray(labelKeys);\n _p.labelStyleKey = combineHashesArray(hashArrays(sk.commonLabel, labelKeys));\n if (!isNode) {\n var sourceLabelKeys = propHash(ele, ['source-label'], sk.labelDimensions);\n _p.sourceLabelKey = combineHashesArray(sourceLabelKeys);\n _p.sourceLabelStyleKey = combineHashesArray(hashArrays(sk.commonLabel, sourceLabelKeys));\n var targetLabelKeys = propHash(ele, ['target-label'], sk.labelDimensions);\n _p.targetLabelKey = combineHashesArray(targetLabelKeys);\n _p.targetLabelStyleKey = combineHashesArray(hashArrays(sk.commonLabel, targetLabelKeys));\n }\n\n // node\n //\n\n if (isNode) {\n var _p$styleKeys = _p.styleKeys,\n nodeBody = _p$styleKeys.nodeBody,\n nodeBorder = _p$styleKeys.nodeBorder,\n nodeOutline = _p$styleKeys.nodeOutline,\n backgroundImage = _p$styleKeys.backgroundImage,\n compound = _p$styleKeys.compound,\n pie = _p$styleKeys.pie,\n stripe = _p$styleKeys.stripe;\n var nodeKeys = [nodeBody, nodeBorder, nodeOutline, backgroundImage, compound, pie, stripe].filter(function (k) {\n return k != null;\n }).reduce(hashArrays, [DEFAULT_HASH_SEED, DEFAULT_HASH_SEED_ALT]);\n _p.nodeKey = combineHashesArray(nodeKeys);\n _p.hasPie = pie != null && pie[0] !== DEFAULT_HASH_SEED && pie[1] !== DEFAULT_HASH_SEED_ALT;\n _p.hasStripe = stripe != null && stripe[0] !== DEFAULT_HASH_SEED && stripe[1] !== DEFAULT_HASH_SEED_ALT;\n }\n return oldStyleKey !== _p.styleKey;\n};\nstyfn$8.clearStyleHints = function (ele) {\n var _p = ele._private;\n _p.styleCxtKey = '';\n _p.styleKeys = {};\n _p.styleKey = null;\n _p.labelKey = null;\n _p.labelStyleKey = null;\n _p.sourceLabelKey = null;\n _p.sourceLabelStyleKey = null;\n _p.targetLabelKey = null;\n _p.targetLabelStyleKey = null;\n _p.nodeKey = null;\n _p.hasPie = null;\n _p.hasStripe = null;\n};\n\n// apply a property to the style (for internal use)\n// returns whether application was successful\n//\n// now, this function flattens the property, and here's how:\n//\n// for parsedProp:{ bypass: true, deleteBypass: true }\n// no property is generated, instead the bypass property in the\n// element's style is replaced by what's pointed to by the `bypassed`\n// field in the bypass property (i.e. restoring the property the\n// bypass was overriding)\n//\n// for parsedProp:{ mapped: truthy }\n// the generated flattenedProp:{ mapping: prop }\n//\n// for parsedProp:{ bypass: true }\n// the generated flattenedProp:{ bypassed: parsedProp }\nstyfn$8.applyParsedProperty = function (ele, parsedProp) {\n var self = this;\n var prop = parsedProp;\n var style = ele._private.style;\n var flatProp;\n var types = self.types;\n var type = self.properties[prop.name].type;\n var propIsBypass = prop.bypass;\n var origProp = style[prop.name];\n var origPropIsBypass = origProp && origProp.bypass;\n var _p = ele._private;\n var flatPropMapping = 'mapping';\n var getVal = function getVal(p) {\n if (p == null) {\n return null;\n } else if (p.pfValue != null) {\n return p.pfValue;\n } else {\n return p.value;\n }\n };\n var checkTriggers = function checkTriggers() {\n var fromVal = getVal(origProp);\n var toVal = getVal(prop);\n self.checkTriggers(ele, prop.name, fromVal, toVal);\n };\n\n // edge sanity checks to prevent the client from making serious mistakes\n if (parsedProp.name === 'curve-style' && ele.isEdge() && (\n // loops must be bundled beziers\n parsedProp.value !== 'bezier' && ele.isLoop() ||\n // edges connected to compound nodes can not be haystacks\n parsedProp.value === 'haystack' && (ele.source().isParent() || ele.target().isParent()))) {\n prop = parsedProp = this.parse(parsedProp.name, 'bezier', propIsBypass);\n }\n if (prop[\"delete\"]) {\n // delete the property and use the default value on falsey value\n style[prop.name] = undefined;\n checkTriggers();\n return true;\n }\n if (prop.deleteBypassed) {\n // delete the property that the\n if (!origProp) {\n checkTriggers();\n return true; // can't delete if no prop\n } else if (origProp.bypass) {\n // delete bypassed\n origProp.bypassed = undefined;\n checkTriggers();\n return true;\n } else {\n return false; // we're unsuccessful deleting the bypassed\n }\n }\n\n // check if we need to delete the current bypass\n if (prop.deleteBypass) {\n // then this property is just here to indicate we need to delete\n if (!origProp) {\n checkTriggers();\n return true; // property is already not defined\n } else if (origProp.bypass) {\n // then replace the bypass property with the original\n // because the bypassed property was already applied (and therefore parsed), we can just replace it (no reapplying necessary)\n style[prop.name] = origProp.bypassed;\n checkTriggers();\n return true;\n } else {\n return false; // we're unsuccessful deleting the bypass\n }\n }\n var printMappingErr = function printMappingErr() {\n warn('Do not assign mappings to elements without corresponding data (i.e. ele `' + ele.id() + '` has no mapping for property `' + prop.name + '` with data field `' + prop.field + '`); try a `[' + prop.field + ']` selector to limit scope to elements with `' + prop.field + '` defined');\n };\n\n // put the property in the style objects\n switch (prop.mapped) {\n // flatten the property if mapped\n case types.mapData:\n {\n // flatten the field (e.g. data.foo.bar)\n var fields = prop.field.split('.');\n var fieldVal = _p.data;\n for (var i = 0; i < fields.length && fieldVal; i++) {\n var field = fields[i];\n fieldVal = fieldVal[field];\n }\n if (fieldVal == null) {\n printMappingErr();\n return false;\n }\n var percent;\n if (!number$1(fieldVal)) {\n // then don't apply and fall back on the existing style\n warn('Do not use continuous mappers without specifying numeric data (i.e. `' + prop.field + ': ' + fieldVal + '` for `' + ele.id() + '` is non-numeric)');\n return false;\n } else {\n var fieldWidth = prop.fieldMax - prop.fieldMin;\n if (fieldWidth === 0) {\n // safety check -- not strictly necessary as no props of zero range should be passed here\n percent = 0;\n } else {\n percent = (fieldVal - prop.fieldMin) / fieldWidth;\n }\n }\n\n // make sure to bound percent value\n if (percent < 0) {\n percent = 0;\n } else if (percent > 1) {\n percent = 1;\n }\n if (type.color) {\n var r1 = prop.valueMin[0];\n var r2 = prop.valueMax[0];\n var g1 = prop.valueMin[1];\n var g2 = prop.valueMax[1];\n var b1 = prop.valueMin[2];\n var b2 = prop.valueMax[2];\n var a1 = prop.valueMin[3] == null ? 1 : prop.valueMin[3];\n var a2 = prop.valueMax[3] == null ? 1 : prop.valueMax[3];\n var clr = [Math.round(r1 + (r2 - r1) * percent), Math.round(g1 + (g2 - g1) * percent), Math.round(b1 + (b2 - b1) * percent), Math.round(a1 + (a2 - a1) * percent)];\n flatProp = {\n // colours are simple, so just create the flat property instead of expensive string parsing\n bypass: prop.bypass,\n // we're a bypass if the mapping property is a bypass\n name: prop.name,\n value: clr,\n strValue: 'rgb(' + clr[0] + ', ' + clr[1] + ', ' + clr[2] + ')'\n };\n } else if (type.number) {\n var calcValue = prop.valueMin + (prop.valueMax - prop.valueMin) * percent;\n flatProp = this.parse(prop.name, calcValue, prop.bypass, flatPropMapping);\n } else {\n return false; // can only map to colours and numbers\n }\n if (!flatProp) {\n // if we can't flatten the property, then don't apply the property and fall back on the existing style\n printMappingErr();\n return false;\n }\n flatProp.mapping = prop; // keep a reference to the mapping\n prop = flatProp; // the flattened (mapped) property is the one we want\n\n break;\n }\n\n // direct mapping\n case types.data:\n {\n // flatten the field (e.g. data.foo.bar)\n var _fields = prop.field.split('.');\n var _fieldVal = _p.data;\n for (var _i3 = 0; _i3 < _fields.length && _fieldVal; _i3++) {\n var _field = _fields[_i3];\n _fieldVal = _fieldVal[_field];\n }\n if (_fieldVal != null) {\n flatProp = this.parse(prop.name, _fieldVal, prop.bypass, flatPropMapping);\n }\n if (!flatProp) {\n // if we can't flatten the property, then don't apply and fall back on the existing style\n printMappingErr();\n return false;\n }\n flatProp.mapping = prop; // keep a reference to the mapping\n prop = flatProp; // the flattened (mapped) property is the one we want\n\n break;\n }\n case types.fn:\n {\n var fn = prop.value;\n var fnRetVal = prop.fnValue != null ? prop.fnValue : fn(ele); // check for cached value before calling function\n\n prop.prevFnValue = fnRetVal;\n if (fnRetVal == null) {\n warn('Custom function mappers may not return null (i.e. `' + prop.name + '` for ele `' + ele.id() + '` is null)');\n return false;\n }\n flatProp = this.parse(prop.name, fnRetVal, prop.bypass, flatPropMapping);\n if (!flatProp) {\n warn('Custom function mappers may not return invalid values for the property type (i.e. `' + prop.name + '` for ele `' + ele.id() + '` is invalid)');\n return false;\n }\n flatProp.mapping = copy(prop); // keep a reference to the mapping\n prop = flatProp; // the flattened (mapped) property is the one we want\n\n break;\n }\n case undefined:\n break;\n // just set the property\n\n default:\n return false;\n // not a valid mapping\n }\n\n // if the property is a bypass property, then link the resultant property to the original one\n if (propIsBypass) {\n if (origPropIsBypass) {\n // then this bypass overrides the existing one\n prop.bypassed = origProp.bypassed; // steal bypassed prop from old bypass\n } else {\n // then link the orig prop to the new bypass\n prop.bypassed = origProp;\n }\n style[prop.name] = prop; // and set\n } else {\n // prop is not bypass\n if (origPropIsBypass) {\n // then keep the orig prop (since it's a bypass) and link to the new prop\n origProp.bypassed = prop;\n } else {\n // then just replace the old prop with the new one\n style[prop.name] = prop;\n }\n }\n checkTriggers();\n return true;\n};\nstyfn$8.cleanElements = function (eles, keepBypasses) {\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n this.clearStyleHints(ele);\n ele.dirtyCompoundBoundsCache();\n ele.dirtyBoundingBoxCache();\n if (!keepBypasses) {\n ele._private.style = {};\n } else {\n var style = ele._private.style;\n var propNames = Object.keys(style);\n for (var j = 0; j < propNames.length; j++) {\n var propName = propNames[j];\n var eleProp = style[propName];\n if (eleProp != null) {\n if (eleProp.bypass) {\n eleProp.bypassed = null;\n } else {\n style[propName] = null;\n }\n }\n }\n }\n }\n};\n\n// updates the visual style for all elements (useful for manual style modification after init)\nstyfn$8.update = function () {\n var cy = this._private.cy;\n var eles = cy.mutableElements();\n eles.updateStyle();\n};\n\n// diffProps : { name => { prev, next } }\nstyfn$8.updateTransitions = function (ele, diffProps) {\n var self = this;\n var _p = ele._private;\n var props = ele.pstyle('transition-property').value;\n var duration = ele.pstyle('transition-duration').pfValue;\n var delay = ele.pstyle('transition-delay').pfValue;\n if (props.length > 0 && duration > 0) {\n var style = {};\n\n // build up the style to animate towards\n var anyPrev = false;\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var styProp = ele.pstyle(prop);\n var diffProp = diffProps[prop];\n if (!diffProp) {\n continue;\n }\n var prevProp = diffProp.prev;\n var fromProp = prevProp;\n var toProp = diffProp.next != null ? diffProp.next : styProp;\n var diff = false;\n var initVal = undefined;\n var initDt = 0.000001; // delta time % value for initVal (allows animating out of init zero opacity)\n\n if (!fromProp) {\n continue;\n }\n\n // consider px values\n if (number$1(fromProp.pfValue) && number$1(toProp.pfValue)) {\n diff = toProp.pfValue - fromProp.pfValue; // nonzero is truthy\n initVal = fromProp.pfValue + initDt * diff;\n\n // consider numerical values\n } else if (number$1(fromProp.value) && number$1(toProp.value)) {\n diff = toProp.value - fromProp.value; // nonzero is truthy\n initVal = fromProp.value + initDt * diff;\n\n // consider colour values\n } else if (array(fromProp.value) && array(toProp.value)) {\n diff = fromProp.value[0] !== toProp.value[0] || fromProp.value[1] !== toProp.value[1] || fromProp.value[2] !== toProp.value[2];\n initVal = fromProp.strValue;\n }\n\n // the previous value is good for an animation only if it's different\n if (diff) {\n style[prop] = toProp.strValue; // to val\n this.applyBypass(ele, prop, initVal); // from val\n anyPrev = true;\n }\n } // end if props allow ani\n\n // can't transition if there's nothing previous to transition from\n if (!anyPrev) {\n return;\n }\n _p.transitioning = true;\n new Promise$1(function (resolve) {\n if (delay > 0) {\n ele.delayAnimation(delay).play().promise().then(resolve);\n } else {\n resolve();\n }\n }).then(function () {\n return ele.animation({\n style: style,\n duration: duration,\n easing: ele.pstyle('transition-timing-function').value,\n queue: false\n }).play().promise();\n }).then(function () {\n // if( !isBypass ){\n self.removeBypasses(ele, props);\n ele.emitAndNotify('style');\n // }\n\n _p.transitioning = false;\n });\n } else if (_p.transitioning) {\n this.removeBypasses(ele, props);\n ele.emitAndNotify('style');\n _p.transitioning = false;\n }\n};\nstyfn$8.checkTrigger = function (ele, name, fromValue, toValue, getTrigger, onTrigger) {\n var prop = this.properties[name];\n var triggerCheck = getTrigger(prop);\n if (ele.removed()) {\n return;\n }\n if (triggerCheck != null && triggerCheck(fromValue, toValue, ele)) {\n onTrigger(prop);\n }\n};\nstyfn$8.checkZOrderTrigger = function (ele, name, fromValue, toValue) {\n var _this = this;\n this.checkTrigger(ele, name, fromValue, toValue, function (prop) {\n return prop.triggersZOrder;\n }, function () {\n _this._private.cy.notify('zorder', ele);\n });\n};\nstyfn$8.checkBoundsTrigger = function (ele, name, fromValue, toValue) {\n this.checkTrigger(ele, name, fromValue, toValue, function (prop) {\n return prop.triggersBounds;\n }, function (prop) {\n ele.dirtyCompoundBoundsCache();\n ele.dirtyBoundingBoxCache();\n });\n};\nstyfn$8.checkConnectedEdgesBoundsTrigger = function (ele, name, fromValue, toValue) {\n this.checkTrigger(ele, name, fromValue, toValue, function (prop) {\n return prop.triggersBoundsOfConnectedEdges;\n }, function (prop) {\n ele.connectedEdges().forEach(function (edge) {\n edge.dirtyBoundingBoxCache();\n });\n });\n};\nstyfn$8.checkParallelEdgesBoundsTrigger = function (ele, name, fromValue, toValue) {\n this.checkTrigger(ele, name, fromValue, toValue, function (prop) {\n return prop.triggersBoundsOfParallelEdges;\n }, function (prop) {\n ele.parallelEdges().forEach(function (pllEdge) {\n pllEdge.dirtyBoundingBoxCache();\n });\n });\n};\nstyfn$8.checkTriggers = function (ele, name, fromValue, toValue) {\n ele.dirtyStyleCache();\n this.checkZOrderTrigger(ele, name, fromValue, toValue);\n this.checkBoundsTrigger(ele, name, fromValue, toValue);\n this.checkConnectedEdgesBoundsTrigger(ele, name, fromValue, toValue);\n this.checkParallelEdgesBoundsTrigger(ele, name, fromValue, toValue);\n};\n\nvar styfn$7 = {};\n\n// bypasses are applied to an existing style on an element, and just tacked on temporarily\n// returns true iff application was successful for at least 1 specified property\nstyfn$7.applyBypass = function (eles, name, value, updateTransitions) {\n var self = this;\n var props = [];\n var isBypass = true;\n\n // put all the properties (can specify one or many) in an array after parsing them\n if (name === '*' || name === '**') {\n // apply to all property names\n\n if (value !== undefined) {\n for (var i = 0; i < self.properties.length; i++) {\n var prop = self.properties[i];\n var _name = prop.name;\n var parsedProp = this.parse(_name, value, true);\n if (parsedProp) {\n props.push(parsedProp);\n }\n }\n }\n } else if (string(name)) {\n // then parse the single property\n var _parsedProp = this.parse(name, value, true);\n if (_parsedProp) {\n props.push(_parsedProp);\n }\n } else if (plainObject(name)) {\n // then parse each property\n var specifiedProps = name;\n updateTransitions = value;\n var names = Object.keys(specifiedProps);\n for (var _i = 0; _i < names.length; _i++) {\n var _name2 = names[_i];\n var _value = specifiedProps[_name2];\n if (_value === undefined) {\n // try camel case name too\n _value = specifiedProps[dash2camel(_name2)];\n }\n if (_value !== undefined) {\n var _parsedProp2 = this.parse(_name2, _value, true);\n if (_parsedProp2) {\n props.push(_parsedProp2);\n }\n }\n }\n } else {\n // can't do anything without well defined properties\n return false;\n }\n\n // we've failed if there are no valid properties\n if (props.length === 0) {\n return false;\n }\n\n // now, apply the bypass properties on the elements\n var ret = false; // return true if at least one succesful bypass applied\n for (var _i2 = 0; _i2 < eles.length; _i2++) {\n // for each ele\n var ele = eles[_i2];\n var diffProps = {};\n var diffProp = undefined;\n for (var j = 0; j < props.length; j++) {\n // for each prop\n var _prop = props[j];\n if (updateTransitions) {\n var prevProp = ele.pstyle(_prop.name);\n diffProp = diffProps[_prop.name] = {\n prev: prevProp\n };\n }\n ret = this.applyParsedProperty(ele, copy(_prop)) || ret;\n if (updateTransitions) {\n diffProp.next = ele.pstyle(_prop.name);\n }\n } // for props\n\n if (ret) {\n this.updateStyleHints(ele);\n }\n if (updateTransitions) {\n this.updateTransitions(ele, diffProps, isBypass);\n }\n } // for eles\n\n return ret;\n};\n\n// only useful in specific cases like animation\nstyfn$7.overrideBypass = function (eles, name, value) {\n name = camel2dash(name);\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var prop = ele._private.style[name];\n var type = this.properties[name].type;\n var isColor = type.color;\n var isMulti = type.mutiple;\n var oldValue = !prop ? null : prop.pfValue != null ? prop.pfValue : prop.value;\n if (!prop || !prop.bypass) {\n // need a bypass if one doesn't exist\n this.applyBypass(ele, name, value);\n } else {\n prop.value = value;\n if (prop.pfValue != null) {\n prop.pfValue = value;\n }\n if (isColor) {\n prop.strValue = 'rgb(' + value.join(',') + ')';\n } else if (isMulti) {\n prop.strValue = value.join(' ');\n } else {\n prop.strValue = '' + value;\n }\n this.updateStyleHints(ele);\n }\n this.checkTriggers(ele, name, oldValue, value);\n }\n};\nstyfn$7.removeAllBypasses = function (eles, updateTransitions) {\n return this.removeBypasses(eles, this.propertyNames, updateTransitions);\n};\nstyfn$7.removeBypasses = function (eles, props, updateTransitions) {\n var isBypass = true;\n for (var j = 0; j < eles.length; j++) {\n var ele = eles[j];\n var diffProps = {};\n for (var i = 0; i < props.length; i++) {\n var name = props[i];\n var prop = this.properties[name];\n var prevProp = ele.pstyle(prop.name);\n if (!prevProp || !prevProp.bypass) {\n // if a bypass doesn't exist for the prop, nothing needs to be removed\n continue;\n }\n var value = ''; // empty => remove bypass\n var parsedProp = this.parse(name, value, true);\n var diffProp = diffProps[prop.name] = {\n prev: prevProp\n };\n this.applyParsedProperty(ele, parsedProp);\n diffProp.next = ele.pstyle(prop.name);\n } // for props\n\n this.updateStyleHints(ele);\n if (updateTransitions) {\n this.updateTransitions(ele, diffProps, isBypass);\n }\n } // for eles\n};\n\nvar styfn$6 = {};\n\n// gets what an em size corresponds to in pixels relative to a dom element\nstyfn$6.getEmSizeInPixels = function () {\n var px = this.containerCss('font-size');\n if (px != null) {\n return parseFloat(px);\n } else {\n return 1; // for headless\n }\n};\n\n// gets css property from the core container\nstyfn$6.containerCss = function (propName) {\n var cy = this._private.cy;\n var domElement = cy.container();\n var containerWindow = cy.window();\n if (containerWindow && domElement && containerWindow.getComputedStyle) {\n return containerWindow.getComputedStyle(domElement).getPropertyValue(propName);\n }\n};\n\nvar styfn$5 = {};\n\n// gets the rendered style for an element\nstyfn$5.getRenderedStyle = function (ele, prop) {\n if (prop) {\n return this.getStylePropertyValue(ele, prop, true);\n } else {\n return this.getRawStyle(ele, true);\n }\n};\n\n// gets the raw style for an element\nstyfn$5.getRawStyle = function (ele, isRenderedVal) {\n var self = this;\n ele = ele[0]; // insure it's an element\n\n if (ele) {\n var rstyle = {};\n for (var i = 0; i < self.properties.length; i++) {\n var prop = self.properties[i];\n var val = self.getStylePropertyValue(ele, prop.name, isRenderedVal);\n if (val != null) {\n rstyle[prop.name] = val;\n rstyle[dash2camel(prop.name)] = val;\n }\n }\n return rstyle;\n }\n};\nstyfn$5.getIndexedStyle = function (ele, property, subproperty, index) {\n var pstyle = ele.pstyle(property)[subproperty][index];\n return pstyle != null ? pstyle : ele.cy().style().getDefaultProperty(property)[subproperty][0];\n};\nstyfn$5.getStylePropertyValue = function (ele, propName, isRenderedVal) {\n var self = this;\n ele = ele[0]; // insure it's an element\n\n if (ele) {\n var prop = self.properties[propName];\n if (prop.alias) {\n prop = prop.pointsTo;\n }\n var type = prop.type;\n var styleProp = ele.pstyle(prop.name);\n if (styleProp) {\n var value = styleProp.value,\n units = styleProp.units,\n strValue = styleProp.strValue;\n if (isRenderedVal && type.number && value != null && number$1(value)) {\n var zoom = ele.cy().zoom();\n var getRenderedValue = function getRenderedValue(val) {\n return val * zoom;\n };\n var getValueStringWithUnits = function getValueStringWithUnits(val, units) {\n return getRenderedValue(val) + units;\n };\n var isArrayValue = array(value);\n var haveUnits = isArrayValue ? units.every(function (u) {\n return u != null;\n }) : units != null;\n if (haveUnits) {\n if (isArrayValue) {\n return value.map(function (v, i) {\n return getValueStringWithUnits(v, units[i]);\n }).join(' ');\n } else {\n return getValueStringWithUnits(value, units);\n }\n } else {\n if (isArrayValue) {\n return value.map(function (v) {\n return string(v) ? v : '' + getRenderedValue(v);\n }).join(' ');\n } else {\n return '' + getRenderedValue(value);\n }\n }\n } else if (strValue != null) {\n return strValue;\n }\n }\n return null;\n }\n};\nstyfn$5.getAnimationStartStyle = function (ele, aniProps) {\n var rstyle = {};\n for (var i = 0; i < aniProps.length; i++) {\n var aniProp = aniProps[i];\n var name = aniProp.name;\n var styleProp = ele.pstyle(name);\n if (styleProp !== undefined) {\n // then make a prop of it\n if (plainObject(styleProp)) {\n styleProp = this.parse(name, styleProp.strValue);\n } else {\n styleProp = this.parse(name, styleProp);\n }\n }\n if (styleProp) {\n rstyle[name] = styleProp;\n }\n }\n return rstyle;\n};\nstyfn$5.getPropsList = function (propsObj) {\n var self = this;\n var rstyle = [];\n var style = propsObj;\n var props = self.properties;\n if (style) {\n var names = Object.keys(style);\n for (var i = 0; i < names.length; i++) {\n var name = names[i];\n var val = style[name];\n var prop = props[name] || props[camel2dash(name)];\n var styleProp = this.parse(prop.name, val);\n if (styleProp) {\n rstyle.push(styleProp);\n }\n }\n }\n return rstyle;\n};\nstyfn$5.getNonDefaultPropertiesHash = function (ele, propNames, seed) {\n var hash = seed.slice();\n var name, val, strVal, chVal;\n var i, j;\n for (i = 0; i < propNames.length; i++) {\n name = propNames[i];\n val = ele.pstyle(name, false);\n if (val == null) {\n continue;\n } else if (val.pfValue != null) {\n hash[0] = hashInt(chVal, hash[0]);\n hash[1] = hashIntAlt(chVal, hash[1]);\n } else {\n strVal = val.strValue;\n for (j = 0; j < strVal.length; j++) {\n chVal = strVal.charCodeAt(j);\n hash[0] = hashInt(chVal, hash[0]);\n hash[1] = hashIntAlt(chVal, hash[1]);\n }\n }\n }\n return hash;\n};\nstyfn$5.getPropertiesHash = styfn$5.getNonDefaultPropertiesHash;\n\nvar styfn$4 = {};\nstyfn$4.appendFromJson = function (json) {\n var style = this;\n for (var i = 0; i < json.length; i++) {\n var context = json[i];\n var selector = context.selector;\n var props = context.style || context.css;\n var names = Object.keys(props);\n style.selector(selector); // apply selector\n\n for (var j = 0; j < names.length; j++) {\n var name = names[j];\n var value = props[name];\n style.css(name, value); // apply property\n }\n }\n return style;\n};\n\n// accessible cy.style() function\nstyfn$4.fromJson = function (json) {\n var style = this;\n style.resetToDefault();\n style.appendFromJson(json);\n return style;\n};\n\n// get json from cy.style() api\nstyfn$4.json = function () {\n var json = [];\n for (var i = this.defaultLength; i < this.length; i++) {\n var cxt = this[i];\n var selector = cxt.selector;\n var props = cxt.properties;\n var css = {};\n for (var j = 0; j < props.length; j++) {\n var prop = props[j];\n css[prop.name] = prop.strValue;\n }\n json.push({\n selector: !selector ? 'core' : selector.toString(),\n style: css\n });\n }\n return json;\n};\n\nvar styfn$3 = {};\nstyfn$3.appendFromString = function (string) {\n var self = this;\n var style = this;\n var remaining = '' + string;\n var selAndBlockStr;\n var blockRem;\n var propAndValStr;\n\n // remove comments from the style string\n remaining = remaining.replace(/[/][*](\\s|.)+?[*][/]/g, '');\n function removeSelAndBlockFromRemaining() {\n // remove the parsed selector and block from the remaining text to parse\n if (remaining.length > selAndBlockStr.length) {\n remaining = remaining.substr(selAndBlockStr.length);\n } else {\n remaining = '';\n }\n }\n function removePropAndValFromRem() {\n // remove the parsed property and value from the remaining block text to parse\n if (blockRem.length > propAndValStr.length) {\n blockRem = blockRem.substr(propAndValStr.length);\n } else {\n blockRem = '';\n }\n }\n for (;;) {\n var nothingLeftToParse = remaining.match(/^\\s*$/);\n if (nothingLeftToParse) {\n break;\n }\n var selAndBlock = remaining.match(/^\\s*((?:.|\\s)+?)\\s*\\{((?:.|\\s)+?)\\}/);\n if (!selAndBlock) {\n warn('Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: ' + remaining);\n break;\n }\n selAndBlockStr = selAndBlock[0];\n\n // parse the selector\n var selectorStr = selAndBlock[1];\n if (selectorStr !== 'core') {\n var selector = new Selector(selectorStr);\n if (selector.invalid) {\n warn('Skipping parsing of block: Invalid selector found in string stylesheet: ' + selectorStr);\n\n // skip this selector and block\n removeSelAndBlockFromRemaining();\n continue;\n }\n }\n\n // parse the block of properties and values\n var blockStr = selAndBlock[2];\n var invalidBlock = false;\n blockRem = blockStr;\n var props = [];\n for (;;) {\n var _nothingLeftToParse = blockRem.match(/^\\s*$/);\n if (_nothingLeftToParse) {\n break;\n }\n var propAndVal = blockRem.match(/^\\s*(.+?)\\s*:\\s*(.+?)(?:\\s*;|\\s*$)/);\n if (!propAndVal) {\n warn('Skipping parsing of block: Invalid formatting of style property and value definitions found in:' + blockStr);\n invalidBlock = true;\n break;\n }\n propAndValStr = propAndVal[0];\n var propStr = propAndVal[1];\n var valStr = propAndVal[2];\n var prop = self.properties[propStr];\n if (!prop) {\n warn('Skipping property: Invalid property name in: ' + propAndValStr);\n\n // skip this property in the block\n removePropAndValFromRem();\n continue;\n }\n var parsedProp = style.parse(propStr, valStr);\n if (!parsedProp) {\n warn('Skipping property: Invalid property definition in: ' + propAndValStr);\n\n // skip this property in the block\n removePropAndValFromRem();\n continue;\n }\n props.push({\n name: propStr,\n val: valStr\n });\n removePropAndValFromRem();\n }\n if (invalidBlock) {\n removeSelAndBlockFromRemaining();\n break;\n }\n\n // put the parsed block in the style\n style.selector(selectorStr);\n for (var i = 0; i < props.length; i++) {\n var _prop = props[i];\n style.css(_prop.name, _prop.val);\n }\n removeSelAndBlockFromRemaining();\n }\n return style;\n};\nstyfn$3.fromString = function (string) {\n var style = this;\n style.resetToDefault();\n style.appendFromString(string);\n return style;\n};\n\nvar styfn$2 = {};\n(function () {\n var number$1 = number;\n var rgba = rgbaNoBackRefs;\n var hsla = hslaNoBackRefs;\n var hex3$1 = hex3;\n var hex6$1 = hex6;\n var data = function data(prefix) {\n return '^' + prefix + '\\\\s*\\\\(\\\\s*([\\\\w\\\\.]+)\\\\s*\\\\)$';\n };\n var mapData = function mapData(prefix) {\n var mapArg = number$1 + '|\\\\w+|' + rgba + '|' + hsla + '|' + hex3$1 + '|' + hex6$1;\n return '^' + prefix + '\\\\s*\\\\(([\\\\w\\\\.]+)\\\\s*\\\\,\\\\s*(' + number$1 + ')\\\\s*\\\\,\\\\s*(' + number$1 + ')\\\\s*,\\\\s*(' + mapArg + ')\\\\s*\\\\,\\\\s*(' + mapArg + ')\\\\)$';\n };\n var urlRegexes = ['^url\\\\s*\\\\(\\\\s*[\\'\"]?(.+?)[\\'\"]?\\\\s*\\\\)$', '^(none)$', '^(.+)$'];\n\n // each visual style property has a type and needs to be validated according to it\n styfn$2.types = {\n time: {\n number: true,\n min: 0,\n units: 's|ms',\n implicitUnits: 'ms'\n },\n percent: {\n number: true,\n min: 0,\n max: 100,\n units: '%',\n implicitUnits: '%'\n },\n percentages: {\n number: true,\n min: 0,\n max: 100,\n units: '%',\n implicitUnits: '%',\n multiple: true\n },\n zeroOneNumber: {\n number: true,\n min: 0,\n max: 1,\n unitless: true\n },\n zeroOneNumbers: {\n number: true,\n min: 0,\n max: 1,\n unitless: true,\n multiple: true\n },\n nOneOneNumber: {\n number: true,\n min: -1,\n max: 1,\n unitless: true\n },\n nonNegativeInt: {\n number: true,\n min: 0,\n integer: true,\n unitless: true\n },\n nonNegativeNumber: {\n number: true,\n min: 0,\n unitless: true\n },\n position: {\n enums: ['parent', 'origin']\n },\n nodeSize: {\n number: true,\n min: 0,\n enums: ['label']\n },\n number: {\n number: true,\n unitless: true\n },\n numbers: {\n number: true,\n unitless: true,\n multiple: true\n },\n positiveNumber: {\n number: true,\n unitless: true,\n min: 0,\n strictMin: true\n },\n size: {\n number: true,\n min: 0\n },\n bidirectionalSize: {\n number: true\n },\n // allows negative\n bidirectionalSizeMaybePercent: {\n number: true,\n allowPercent: true\n },\n // allows negative\n bidirectionalSizes: {\n number: true,\n multiple: true\n },\n // allows negative\n sizeMaybePercent: {\n number: true,\n min: 0,\n allowPercent: true\n },\n axisDirection: {\n enums: ['horizontal', 'leftward', 'rightward', 'vertical', 'upward', 'downward', 'auto']\n },\n axisDirectionExplicit: {\n enums: ['leftward', 'rightward', 'upward', 'downward']\n },\n axisDirectionPrimary: {\n enums: ['horizontal', 'vertical']\n },\n paddingRelativeTo: {\n enums: ['width', 'height', 'average', 'min', 'max']\n },\n bgWH: {\n number: true,\n min: 0,\n allowPercent: true,\n enums: ['auto'],\n multiple: true\n },\n bgPos: {\n number: true,\n allowPercent: true,\n multiple: true\n },\n bgRelativeTo: {\n enums: ['inner', 'include-padding'],\n multiple: true\n },\n bgRepeat: {\n enums: ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'],\n multiple: true\n },\n bgFit: {\n enums: ['none', 'contain', 'cover'],\n multiple: true\n },\n bgCrossOrigin: {\n enums: ['anonymous', 'use-credentials', 'null'],\n multiple: true\n },\n bgClip: {\n enums: ['none', 'node'],\n multiple: true\n },\n bgContainment: {\n enums: ['inside', 'over'],\n multiple: true\n },\n color: {\n color: true\n },\n colors: {\n color: true,\n multiple: true\n },\n fill: {\n enums: ['solid', 'linear-gradient', 'radial-gradient']\n },\n bool: {\n enums: ['yes', 'no']\n },\n bools: {\n enums: ['yes', 'no'],\n multiple: true\n },\n lineStyle: {\n enums: ['solid', 'dotted', 'dashed']\n },\n lineCap: {\n enums: ['butt', 'round', 'square']\n },\n linePosition: {\n enums: ['center', 'inside', 'outside']\n },\n lineJoin: {\n enums: ['round', 'bevel', 'miter']\n },\n borderStyle: {\n enums: ['solid', 'dotted', 'dashed', 'double']\n },\n curveStyle: {\n enums: ['bezier', 'unbundled-bezier', 'haystack', 'segments', 'straight', 'straight-triangle', 'taxi', 'round-segments', 'round-taxi']\n },\n radiusType: {\n enums: ['arc-radius', 'influence-radius'],\n multiple: true\n },\n fontFamily: {\n regex: '^([\\\\w- \\\\\"]+(?:\\\\s*,\\\\s*[\\\\w- \\\\\"]+)*)$'\n },\n fontStyle: {\n enums: ['italic', 'normal', 'oblique']\n },\n fontWeight: {\n enums: ['normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '800', '900', 100, 200, 300, 400, 500, 600, 700, 800, 900]\n },\n textDecoration: {\n enums: ['none', 'underline', 'overline', 'line-through']\n },\n textTransform: {\n enums: ['none', 'uppercase', 'lowercase']\n },\n textWrap: {\n enums: ['none', 'wrap', 'ellipsis']\n },\n textOverflowWrap: {\n enums: ['whitespace', 'anywhere']\n },\n textBackgroundShape: {\n enums: ['rectangle', 'roundrectangle', 'round-rectangle']\n },\n nodeShape: {\n enums: ['rectangle', 'roundrectangle', 'round-rectangle', 'cutrectangle', 'cut-rectangle', 'bottomroundrectangle', 'bottom-round-rectangle', 'barrel', 'ellipse', 'triangle', 'round-triangle', 'square', 'pentagon', 'round-pentagon', 'hexagon', 'round-hexagon', 'concavehexagon', 'concave-hexagon', 'heptagon', 'round-heptagon', 'octagon', 'round-octagon', 'tag', 'round-tag', 'star', 'diamond', 'round-diamond', 'vee', 'rhomboid', 'right-rhomboid', 'polygon']\n },\n overlayShape: {\n enums: ['roundrectangle', 'round-rectangle', 'ellipse']\n },\n cornerRadius: {\n number: true,\n min: 0,\n units: 'px|em',\n implicitUnits: 'px',\n enums: ['auto']\n },\n compoundIncludeLabels: {\n enums: ['include', 'exclude']\n },\n arrowShape: {\n enums: ['tee', 'triangle', 'triangle-tee', 'circle-triangle', 'triangle-cross', 'triangle-backcurve', 'vee', 'square', 'circle', 'diamond', 'chevron', 'none']\n },\n arrowFill: {\n enums: ['filled', 'hollow']\n },\n arrowWidth: {\n number: true,\n units: '%|px|em',\n implicitUnits: 'px',\n enums: ['match-line']\n },\n display: {\n enums: ['element', 'none']\n },\n visibility: {\n enums: ['hidden', 'visible']\n },\n zCompoundDepth: {\n enums: ['bottom', 'orphan', 'auto', 'top']\n },\n zIndexCompare: {\n enums: ['auto', 'manual']\n },\n valign: {\n enums: ['top', 'center', 'bottom']\n },\n halign: {\n enums: ['left', 'center', 'right']\n },\n justification: {\n enums: ['left', 'center', 'right', 'auto']\n },\n text: {\n string: true\n },\n data: {\n mapping: true,\n regex: data('data')\n },\n layoutData: {\n mapping: true,\n regex: data('layoutData')\n },\n scratch: {\n mapping: true,\n regex: data('scratch')\n },\n mapData: {\n mapping: true,\n regex: mapData('mapData')\n },\n mapLayoutData: {\n mapping: true,\n regex: mapData('mapLayoutData')\n },\n mapScratch: {\n mapping: true,\n regex: mapData('mapScratch')\n },\n fn: {\n mapping: true,\n fn: true\n },\n url: {\n regexes: urlRegexes,\n singleRegexMatchValue: true\n },\n urls: {\n regexes: urlRegexes,\n singleRegexMatchValue: true,\n multiple: true\n },\n propList: {\n propList: true\n },\n angle: {\n number: true,\n units: 'deg|rad',\n implicitUnits: 'rad'\n },\n textRotation: {\n number: true,\n units: 'deg|rad',\n implicitUnits: 'rad',\n enums: ['none', 'autorotate']\n },\n polygonPointList: {\n number: true,\n multiple: true,\n evenMultiple: true,\n min: -1,\n max: 1,\n unitless: true\n },\n edgeDistances: {\n enums: ['intersection', 'node-position', 'endpoints']\n },\n edgeEndpoint: {\n number: true,\n multiple: true,\n units: '%|px|em|deg|rad',\n implicitUnits: 'px',\n enums: ['inside-to-node', 'outside-to-node', 'outside-to-node-or-label', 'outside-to-line', 'outside-to-line-or-label'],\n singleEnum: true,\n validate: function validate(valArr, unitsArr) {\n switch (valArr.length) {\n case 2:\n // can be % or px only\n return unitsArr[0] !== 'deg' && unitsArr[0] !== 'rad' && unitsArr[1] !== 'deg' && unitsArr[1] !== 'rad';\n case 1:\n // can be enum, deg, or rad only\n return string(valArr[0]) || unitsArr[0] === 'deg' || unitsArr[0] === 'rad';\n default:\n return false;\n }\n }\n },\n easing: {\n regexes: ['^(spring)\\\\s*\\\\(\\\\s*(' + number$1 + ')\\\\s*,\\\\s*(' + number$1 + ')\\\\s*\\\\)$', '^(cubic-bezier)\\\\s*\\\\(\\\\s*(' + number$1 + ')\\\\s*,\\\\s*(' + number$1 + ')\\\\s*,\\\\s*(' + number$1 + ')\\\\s*,\\\\s*(' + number$1 + ')\\\\s*\\\\)$'],\n enums: ['linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'ease-in-sine', 'ease-out-sine', 'ease-in-out-sine', 'ease-in-quad', 'ease-out-quad', 'ease-in-out-quad', 'ease-in-cubic', 'ease-out-cubic', 'ease-in-out-cubic', 'ease-in-quart', 'ease-out-quart', 'ease-in-out-quart', 'ease-in-quint', 'ease-out-quint', 'ease-in-out-quint', 'ease-in-expo', 'ease-out-expo', 'ease-in-out-expo', 'ease-in-circ', 'ease-out-circ', 'ease-in-out-circ']\n },\n gradientDirection: {\n enums: ['to-bottom', 'to-top', 'to-left', 'to-right', 'to-bottom-right', 'to-bottom-left', 'to-top-right', 'to-top-left', 'to-right-bottom', 'to-left-bottom', 'to-right-top', 'to-left-top' // different order\n ]\n },\n boundsExpansion: {\n number: true,\n multiple: true,\n min: 0,\n validate: function validate(valArr) {\n var length = valArr.length;\n return length === 1 || length === 2 || length === 4;\n }\n }\n };\n var diff = {\n zeroNonZero: function zeroNonZero(val1, val2) {\n if ((val1 == null || val2 == null) && val1 !== val2) {\n return true; // null cases could represent any value\n }\n if (val1 == 0 && val2 != 0) {\n return true;\n } else if (val1 != 0 && val2 == 0) {\n return true;\n } else {\n return false;\n }\n },\n any: function any(val1, val2) {\n return val1 != val2;\n },\n emptyNonEmpty: function emptyNonEmpty(str1, str2) {\n var empty1 = emptyString(str1);\n var empty2 = emptyString(str2);\n return empty1 && !empty2 || !empty1 && empty2;\n }\n };\n\n // define visual style properties\n //\n // - n.b. adding a new group of props may require updates to updateStyleHints()\n // - adding new props to an existing group gets handled automatically\n\n var t = styfn$2.types;\n var mainLabel = [{\n name: 'label',\n type: t.text,\n triggersBounds: diff.any,\n triggersZOrder: diff.emptyNonEmpty\n }, {\n name: 'text-rotation',\n type: t.textRotation,\n triggersBounds: diff.any\n }, {\n name: 'text-margin-x',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'text-margin-y',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }];\n var sourceLabel = [{\n name: 'source-label',\n type: t.text,\n triggersBounds: diff.any\n }, {\n name: 'source-text-rotation',\n type: t.textRotation,\n triggersBounds: diff.any\n }, {\n name: 'source-text-margin-x',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'source-text-margin-y',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'source-text-offset',\n type: t.size,\n triggersBounds: diff.any\n }];\n var targetLabel = [{\n name: 'target-label',\n type: t.text,\n triggersBounds: diff.any\n }, {\n name: 'target-text-rotation',\n type: t.textRotation,\n triggersBounds: diff.any\n }, {\n name: 'target-text-margin-x',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'target-text-margin-y',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'target-text-offset',\n type: t.size,\n triggersBounds: diff.any\n }];\n var labelDimensions = [{\n name: 'font-family',\n type: t.fontFamily,\n triggersBounds: diff.any\n }, {\n name: 'font-style',\n type: t.fontStyle,\n triggersBounds: diff.any\n }, {\n name: 'font-weight',\n type: t.fontWeight,\n triggersBounds: diff.any\n }, {\n name: 'font-size',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'text-transform',\n type: t.textTransform,\n triggersBounds: diff.any\n }, {\n name: 'text-wrap',\n type: t.textWrap,\n triggersBounds: diff.any\n }, {\n name: 'text-overflow-wrap',\n type: t.textOverflowWrap,\n triggersBounds: diff.any\n }, {\n name: 'text-max-width',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'text-outline-width',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'line-height',\n type: t.positiveNumber,\n triggersBounds: diff.any\n }];\n var commonLabel = [{\n name: 'text-valign',\n type: t.valign,\n triggersBounds: diff.any\n }, {\n name: 'text-halign',\n type: t.halign,\n triggersBounds: diff.any\n }, {\n name: 'color',\n type: t.color\n }, {\n name: 'text-outline-color',\n type: t.color\n }, {\n name: 'text-outline-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'text-background-color',\n type: t.color\n }, {\n name: 'text-background-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'text-background-padding',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'text-border-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'text-border-color',\n type: t.color\n }, {\n name: 'text-border-width',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'text-border-style',\n type: t.borderStyle,\n triggersBounds: diff.any\n }, {\n name: 'text-background-shape',\n type: t.textBackgroundShape,\n triggersBounds: diff.any\n }, {\n name: 'text-justification',\n type: t.justification\n }, {\n name: 'box-select-labels',\n type: t.bool,\n triggersBounds: diff.any\n }];\n var behavior = [{\n name: 'events',\n type: t.bool,\n triggersZOrder: diff.any\n }, {\n name: 'text-events',\n type: t.bool,\n triggersZOrder: diff.any\n }];\n var visibility = [{\n name: 'display',\n type: t.display,\n triggersZOrder: diff.any,\n triggersBounds: diff.any,\n triggersBoundsOfConnectedEdges: diff.any,\n triggersBoundsOfParallelEdges: function triggersBoundsOfParallelEdges(fromValue, toValue, ele) {\n if (fromValue === toValue) {\n return false;\n }\n\n // only if edge is bundled bezier (so as not to affect performance of other edges)\n return ele.pstyle('curve-style').value === 'bezier';\n }\n }, {\n name: 'visibility',\n type: t.visibility,\n triggersZOrder: diff.any\n }, {\n name: 'opacity',\n type: t.zeroOneNumber,\n triggersZOrder: diff.zeroNonZero\n }, {\n name: 'text-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'min-zoomed-font-size',\n type: t.size\n }, {\n name: 'z-compound-depth',\n type: t.zCompoundDepth,\n triggersZOrder: diff.any\n }, {\n name: 'z-index-compare',\n type: t.zIndexCompare,\n triggersZOrder: diff.any\n }, {\n name: 'z-index',\n type: t.number,\n triggersZOrder: diff.any\n }];\n var overlay = [{\n name: 'overlay-padding',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'overlay-color',\n type: t.color\n }, {\n name: 'overlay-opacity',\n type: t.zeroOneNumber,\n triggersBounds: diff.zeroNonZero\n }, {\n name: 'overlay-shape',\n type: t.overlayShape,\n triggersBounds: diff.any\n }, {\n name: 'overlay-corner-radius',\n type: t.cornerRadius\n }];\n var underlay = [{\n name: 'underlay-padding',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'underlay-color',\n type: t.color\n }, {\n name: 'underlay-opacity',\n type: t.zeroOneNumber,\n triggersBounds: diff.zeroNonZero\n }, {\n name: 'underlay-shape',\n type: t.overlayShape,\n triggersBounds: diff.any\n }, {\n name: 'underlay-corner-radius',\n type: t.cornerRadius\n }];\n var transition = [{\n name: 'transition-property',\n type: t.propList\n }, {\n name: 'transition-duration',\n type: t.time\n }, {\n name: 'transition-delay',\n type: t.time\n }, {\n name: 'transition-timing-function',\n type: t.easing\n }];\n var nodeSizeHashOverride = function nodeSizeHashOverride(ele, parsedProp) {\n if (parsedProp.value === 'label') {\n return -ele.poolIndex(); // no hash key hits is using label size (hitrate for perf probably low anyway)\n } else {\n return parsedProp.pfValue;\n }\n };\n var nodeBody = [{\n name: 'height',\n type: t.nodeSize,\n triggersBounds: diff.any,\n hashOverride: nodeSizeHashOverride\n }, {\n name: 'width',\n type: t.nodeSize,\n triggersBounds: diff.any,\n hashOverride: nodeSizeHashOverride\n }, {\n name: 'shape',\n type: t.nodeShape,\n triggersBounds: diff.any\n }, {\n name: 'shape-polygon-points',\n type: t.polygonPointList,\n triggersBounds: diff.any\n }, {\n name: 'corner-radius',\n type: t.cornerRadius\n }, {\n name: 'background-color',\n type: t.color\n }, {\n name: 'background-fill',\n type: t.fill\n }, {\n name: 'background-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'background-blacken',\n type: t.nOneOneNumber\n }, {\n name: 'background-gradient-stop-colors',\n type: t.colors\n }, {\n name: 'background-gradient-stop-positions',\n type: t.percentages\n }, {\n name: 'background-gradient-direction',\n type: t.gradientDirection\n }, {\n name: 'padding',\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: 'padding-relative-to',\n type: t.paddingRelativeTo,\n triggersBounds: diff.any\n }, {\n name: 'bounds-expansion',\n type: t.boundsExpansion,\n triggersBounds: diff.any\n }];\n var nodeBorder = [{\n name: 'border-color',\n type: t.color\n }, {\n name: 'border-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'border-width',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'border-style',\n type: t.borderStyle\n }, {\n name: 'border-cap',\n type: t.lineCap\n }, {\n name: 'border-join',\n type: t.lineJoin\n }, {\n name: 'border-dash-pattern',\n type: t.numbers\n }, {\n name: 'border-dash-offset',\n type: t.number\n }, {\n name: 'border-position',\n type: t.linePosition\n }];\n var nodeOutline = [{\n name: 'outline-color',\n type: t.color\n }, {\n name: 'outline-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'outline-width',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'outline-style',\n type: t.borderStyle\n }, {\n name: 'outline-offset',\n type: t.size,\n triggersBounds: diff.any\n }];\n var backgroundImage = [{\n name: 'background-image',\n type: t.urls\n }, {\n name: 'background-image-crossorigin',\n type: t.bgCrossOrigin\n }, {\n name: 'background-image-opacity',\n type: t.zeroOneNumbers\n }, {\n name: 'background-image-containment',\n type: t.bgContainment\n }, {\n name: 'background-image-smoothing',\n type: t.bools\n }, {\n name: 'background-position-x',\n type: t.bgPos\n }, {\n name: 'background-position-y',\n type: t.bgPos\n }, {\n name: 'background-width-relative-to',\n type: t.bgRelativeTo\n }, {\n name: 'background-height-relative-to',\n type: t.bgRelativeTo\n }, {\n name: 'background-repeat',\n type: t.bgRepeat\n }, {\n name: 'background-fit',\n type: t.bgFit\n }, {\n name: 'background-clip',\n type: t.bgClip\n }, {\n name: 'background-width',\n type: t.bgWH\n }, {\n name: 'background-height',\n type: t.bgWH\n }, {\n name: 'background-offset-x',\n type: t.bgPos\n }, {\n name: 'background-offset-y',\n type: t.bgPos\n }];\n var compound = [{\n name: 'position',\n type: t.position,\n triggersBounds: diff.any\n }, {\n name: 'compound-sizing-wrt-labels',\n type: t.compoundIncludeLabels,\n triggersBounds: diff.any\n }, {\n name: 'min-width',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'min-width-bias-left',\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: 'min-width-bias-right',\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: 'min-height',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'min-height-bias-top',\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: 'min-height-bias-bottom',\n type: t.sizeMaybePercent,\n triggersBounds: diff.any\n }];\n var edgeLine = [{\n name: 'line-style',\n type: t.lineStyle\n }, {\n name: 'line-color',\n type: t.color\n }, {\n name: 'line-fill',\n type: t.fill\n }, {\n name: 'line-cap',\n type: t.lineCap\n }, {\n name: 'line-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'line-dash-pattern',\n type: t.numbers\n }, {\n name: 'line-dash-offset',\n type: t.number\n }, {\n name: 'line-outline-width',\n type: t.size\n }, {\n name: 'line-outline-color',\n type: t.color\n }, {\n name: 'line-gradient-stop-colors',\n type: t.colors\n }, {\n name: 'line-gradient-stop-positions',\n type: t.percentages\n }, {\n name: 'curve-style',\n type: t.curveStyle,\n triggersBounds: diff.any,\n triggersBoundsOfParallelEdges: function triggersBoundsOfParallelEdges(fromValue, toValue) {\n if (fromValue === toValue) {\n return false;\n } // must have diff\n\n return fromValue === 'bezier' ||\n // remove from bundle\n toValue === 'bezier'; // add to bundle\n }\n }, {\n name: 'haystack-radius',\n type: t.zeroOneNumber,\n triggersBounds: diff.any\n }, {\n name: 'source-endpoint',\n type: t.edgeEndpoint,\n triggersBounds: diff.any\n }, {\n name: 'target-endpoint',\n type: t.edgeEndpoint,\n triggersBounds: diff.any\n }, {\n name: 'control-point-step-size',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'control-point-distances',\n type: t.bidirectionalSizes,\n triggersBounds: diff.any\n }, {\n name: 'control-point-weights',\n type: t.numbers,\n triggersBounds: diff.any\n }, {\n name: 'segment-distances',\n type: t.bidirectionalSizes,\n triggersBounds: diff.any\n }, {\n name: 'segment-weights',\n type: t.numbers,\n triggersBounds: diff.any\n }, {\n name: 'segment-radii',\n type: t.numbers,\n triggersBounds: diff.any\n }, {\n name: 'radius-type',\n type: t.radiusType,\n triggersBounds: diff.any\n }, {\n name: 'taxi-turn',\n type: t.bidirectionalSizeMaybePercent,\n triggersBounds: diff.any\n }, {\n name: 'taxi-turn-min-distance',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'taxi-direction',\n type: t.axisDirection,\n triggersBounds: diff.any\n }, {\n name: 'taxi-radius',\n type: t.number,\n triggersBounds: diff.any\n }, {\n name: 'edge-distances',\n type: t.edgeDistances,\n triggersBounds: diff.any\n }, {\n name: 'arrow-scale',\n type: t.positiveNumber,\n triggersBounds: diff.any\n }, {\n name: 'loop-direction',\n type: t.angle,\n triggersBounds: diff.any\n }, {\n name: 'loop-sweep',\n type: t.angle,\n triggersBounds: diff.any\n }, {\n name: 'source-distance-from-node',\n type: t.size,\n triggersBounds: diff.any\n }, {\n name: 'target-distance-from-node',\n type: t.size,\n triggersBounds: diff.any\n }];\n var ghost = [{\n name: 'ghost',\n type: t.bool,\n triggersBounds: diff.any\n }, {\n name: 'ghost-offset-x',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'ghost-offset-y',\n type: t.bidirectionalSize,\n triggersBounds: diff.any\n }, {\n name: 'ghost-opacity',\n type: t.zeroOneNumber\n }];\n var core = [{\n name: 'selection-box-color',\n type: t.color\n }, {\n name: 'selection-box-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'selection-box-border-color',\n type: t.color\n }, {\n name: 'selection-box-border-width',\n type: t.size\n }, {\n name: 'active-bg-color',\n type: t.color\n }, {\n name: 'active-bg-opacity',\n type: t.zeroOneNumber\n }, {\n name: 'active-bg-size',\n type: t.size\n }, {\n name: 'outside-texture-bg-color',\n type: t.color\n }, {\n name: 'outside-texture-bg-opacity',\n type: t.zeroOneNumber\n }];\n\n // pie backgrounds for nodes\n var pie = [];\n styfn$2.pieBackgroundN = 16; // because the pie properties are numbered, give access to a constant N (for renderer use)\n pie.push({\n name: 'pie-size',\n type: t.sizeMaybePercent\n });\n pie.push({\n name: 'pie-hole',\n type: t.sizeMaybePercent\n });\n pie.push({\n name: 'pie-start-angle',\n type: t.angle\n });\n for (var i = 1; i <= styfn$2.pieBackgroundN; i++) {\n pie.push({\n name: 'pie-' + i + '-background-color',\n type: t.color\n });\n pie.push({\n name: 'pie-' + i + '-background-size',\n type: t.percent\n });\n pie.push({\n name: 'pie-' + i + '-background-opacity',\n type: t.zeroOneNumber\n });\n }\n\n // stripe backgrounds for nodes\n var stripe = [];\n styfn$2.stripeBackgroundN = 16; // because the stripe properties are numbered, give access to a constant N (for renderer use)\n stripe.push({\n name: 'stripe-size',\n type: t.sizeMaybePercent\n });\n stripe.push({\n name: 'stripe-direction',\n type: t.axisDirectionPrimary\n });\n for (var _i = 1; _i <= styfn$2.stripeBackgroundN; _i++) {\n stripe.push({\n name: 'stripe-' + _i + '-background-color',\n type: t.color\n });\n stripe.push({\n name: 'stripe-' + _i + '-background-size',\n type: t.percent\n });\n stripe.push({\n name: 'stripe-' + _i + '-background-opacity',\n type: t.zeroOneNumber\n });\n }\n\n // edge arrows\n var edgeArrow = [];\n var arrowPrefixes = styfn$2.arrowPrefixes = ['source', 'mid-source', 'target', 'mid-target'];\n [{\n name: 'arrow-shape',\n type: t.arrowShape,\n triggersBounds: diff.any\n }, {\n name: 'arrow-color',\n type: t.color\n }, {\n name: 'arrow-fill',\n type: t.arrowFill\n }, {\n name: 'arrow-width',\n type: t.arrowWidth\n }].forEach(function (prop) {\n arrowPrefixes.forEach(function (prefix) {\n var name = prefix + '-' + prop.name;\n var type = prop.type,\n triggersBounds = prop.triggersBounds;\n edgeArrow.push({\n name: name,\n type: type,\n triggersBounds: triggersBounds\n });\n });\n }, {});\n var props = styfn$2.properties = [].concat(behavior, transition, visibility, overlay, underlay, ghost, commonLabel, labelDimensions, mainLabel, sourceLabel, targetLabel, nodeBody, nodeBorder, nodeOutline, backgroundImage, pie, stripe, compound, edgeLine, edgeArrow, core);\n var propGroups = styfn$2.propertyGroups = {\n // common to all eles\n behavior: behavior,\n transition: transition,\n visibility: visibility,\n overlay: overlay,\n underlay: underlay,\n ghost: ghost,\n // labels\n commonLabel: commonLabel,\n labelDimensions: labelDimensions,\n mainLabel: mainLabel,\n sourceLabel: sourceLabel,\n targetLabel: targetLabel,\n // node props\n nodeBody: nodeBody,\n nodeBorder: nodeBorder,\n nodeOutline: nodeOutline,\n backgroundImage: backgroundImage,\n pie: pie,\n stripe: stripe,\n compound: compound,\n // edge props\n edgeLine: edgeLine,\n edgeArrow: edgeArrow,\n core: core\n };\n var propGroupNames = styfn$2.propertyGroupNames = {};\n var propGroupKeys = styfn$2.propertyGroupKeys = Object.keys(propGroups);\n propGroupKeys.forEach(function (key) {\n propGroupNames[key] = propGroups[key].map(function (prop) {\n return prop.name;\n });\n propGroups[key].forEach(function (prop) {\n return prop.groupKey = key;\n });\n });\n\n // define aliases\n var aliases = styfn$2.aliases = [{\n name: 'content',\n pointsTo: 'label'\n }, {\n name: 'control-point-distance',\n pointsTo: 'control-point-distances'\n }, {\n name: 'control-point-weight',\n pointsTo: 'control-point-weights'\n }, {\n name: 'segment-distance',\n pointsTo: 'segment-distances'\n }, {\n name: 'segment-weight',\n pointsTo: 'segment-weights'\n }, {\n name: 'segment-radius',\n pointsTo: 'segment-radii'\n }, {\n name: 'edge-text-rotation',\n pointsTo: 'text-rotation'\n }, {\n name: 'padding-left',\n pointsTo: 'padding'\n }, {\n name: 'padding-right',\n pointsTo: 'padding'\n }, {\n name: 'padding-top',\n pointsTo: 'padding'\n }, {\n name: 'padding-bottom',\n pointsTo: 'padding'\n }];\n\n // list of property names\n styfn$2.propertyNames = props.map(function (p) {\n return p.name;\n });\n\n // allow access of properties by name ( e.g. style.properties.height )\n for (var _i2 = 0; _i2 < props.length; _i2++) {\n var prop = props[_i2];\n props[prop.name] = prop; // allow lookup by name\n }\n\n // map aliases\n for (var _i3 = 0; _i3 < aliases.length; _i3++) {\n var alias = aliases[_i3];\n var pointsToProp = props[alias.pointsTo];\n var aliasProp = {\n name: alias.name,\n alias: true,\n pointsTo: pointsToProp\n };\n\n // add alias prop for parsing\n props.push(aliasProp);\n props[alias.name] = aliasProp; // allow lookup by name\n }\n})();\nstyfn$2.getDefaultProperty = function (name) {\n return this.getDefaultProperties()[name];\n};\nstyfn$2.getDefaultProperties = function () {\n var _p = this._private;\n if (_p.defaultProperties != null) {\n return _p.defaultProperties;\n }\n var rawProps = extend({\n // core props\n 'selection-box-color': '#ddd',\n 'selection-box-opacity': 0.65,\n 'selection-box-border-color': '#aaa',\n 'selection-box-border-width': 1,\n 'active-bg-color': 'black',\n 'active-bg-opacity': 0.15,\n 'active-bg-size': 30,\n 'outside-texture-bg-color': '#000',\n 'outside-texture-bg-opacity': 0.125,\n // common node/edge props\n 'events': 'yes',\n 'text-events': 'no',\n 'text-valign': 'top',\n 'text-halign': 'center',\n 'text-justification': 'auto',\n 'line-height': 1,\n 'color': '#000',\n 'text-outline-color': '#000',\n 'text-outline-width': 0,\n 'text-outline-opacity': 1,\n 'text-opacity': 1,\n 'text-decoration': 'none',\n 'text-transform': 'none',\n 'text-wrap': 'none',\n 'text-overflow-wrap': 'whitespace',\n 'text-max-width': 9999,\n 'text-background-color': '#000',\n 'text-background-opacity': 0,\n 'text-background-shape': 'rectangle',\n 'text-background-padding': 0,\n 'text-border-opacity': 0,\n 'text-border-width': 0,\n 'text-border-style': 'solid',\n 'text-border-color': '#000',\n 'font-family': 'Helvetica Neue, Helvetica, sans-serif',\n 'font-style': 'normal',\n 'font-weight': 'normal',\n 'font-size': 16,\n 'min-zoomed-font-size': 0,\n 'text-rotation': 'none',\n 'source-text-rotation': 'none',\n 'target-text-rotation': 'none',\n 'visibility': 'visible',\n 'display': 'element',\n 'opacity': 1,\n 'z-compound-depth': 'auto',\n 'z-index-compare': 'auto',\n 'z-index': 0,\n 'label': '',\n 'text-margin-x': 0,\n 'text-margin-y': 0,\n 'source-label': '',\n 'source-text-offset': 0,\n 'source-text-margin-x': 0,\n 'source-text-margin-y': 0,\n 'target-label': '',\n 'target-text-offset': 0,\n 'target-text-margin-x': 0,\n 'target-text-margin-y': 0,\n 'overlay-opacity': 0,\n 'overlay-color': '#000',\n 'overlay-padding': 10,\n 'overlay-shape': 'round-rectangle',\n 'overlay-corner-radius': 'auto',\n 'underlay-opacity': 0,\n 'underlay-color': '#000',\n 'underlay-padding': 10,\n 'underlay-shape': 'round-rectangle',\n 'underlay-corner-radius': 'auto',\n 'transition-property': 'none',\n 'transition-duration': 0,\n 'transition-delay': 0,\n 'transition-timing-function': 'linear',\n 'box-select-labels': 'no',\n // node props\n 'background-blacken': 0,\n 'background-color': '#999',\n 'background-fill': 'solid',\n 'background-opacity': 1,\n 'background-image': 'none',\n 'background-image-crossorigin': 'anonymous',\n 'background-image-opacity': 1,\n 'background-image-containment': 'inside',\n 'background-image-smoothing': 'yes',\n 'background-position-x': '50%',\n 'background-position-y': '50%',\n 'background-offset-x': 0,\n 'background-offset-y': 0,\n 'background-width-relative-to': 'include-padding',\n 'background-height-relative-to': 'include-padding',\n 'background-repeat': 'no-repeat',\n 'background-fit': 'none',\n 'background-clip': 'node',\n 'background-width': 'auto',\n 'background-height': 'auto',\n 'border-color': '#000',\n 'border-opacity': 1,\n 'border-width': 0,\n 'border-style': 'solid',\n 'border-dash-pattern': [4, 2],\n 'border-dash-offset': 0,\n 'border-cap': 'butt',\n 'border-join': 'miter',\n 'border-position': 'center',\n 'outline-color': '#999',\n 'outline-opacity': 1,\n 'outline-width': 0,\n 'outline-offset': 0,\n 'outline-style': 'solid',\n 'height': 30,\n 'width': 30,\n 'shape': 'ellipse',\n 'shape-polygon-points': '-1, -1, 1, -1, 1, 1, -1, 1',\n 'corner-radius': 'auto',\n 'bounds-expansion': 0,\n // node gradient\n 'background-gradient-direction': 'to-bottom',\n 'background-gradient-stop-colors': '#999',\n 'background-gradient-stop-positions': '0%',\n // ghost props\n 'ghost': 'no',\n 'ghost-offset-y': 0,\n 'ghost-offset-x': 0,\n 'ghost-opacity': 0,\n // compound props\n 'padding': 0,\n 'padding-relative-to': 'width',\n 'position': 'origin',\n 'compound-sizing-wrt-labels': 'include',\n 'min-width': 0,\n 'min-width-bias-left': 0,\n 'min-width-bias-right': 0,\n 'min-height': 0,\n 'min-height-bias-top': 0,\n 'min-height-bias-bottom': 0\n }, {\n // node pie bg\n 'pie-size': '100%',\n 'pie-hole': 0,\n 'pie-start-angle': '0deg'\n }, [{\n name: 'pie-{{i}}-background-color',\n value: 'black'\n }, {\n name: 'pie-{{i}}-background-size',\n value: '0%'\n }, {\n name: 'pie-{{i}}-background-opacity',\n value: 1\n }].reduce(function (css, prop) {\n for (var i = 1; i <= styfn$2.pieBackgroundN; i++) {\n var name = prop.name.replace('{{i}}', i);\n var val = prop.value;\n css[name] = val;\n }\n return css;\n }, {}), {\n // node stripes bg\n 'stripe-size': '100%',\n 'stripe-direction': 'horizontal'\n }, [{\n name: 'stripe-{{i}}-background-color',\n value: 'black'\n }, {\n name: 'stripe-{{i}}-background-size',\n value: '0%'\n }, {\n name: 'stripe-{{i}}-background-opacity',\n value: 1\n }].reduce(function (css, prop) {\n for (var i = 1; i <= styfn$2.stripeBackgroundN; i++) {\n var name = prop.name.replace('{{i}}', i);\n var val = prop.value;\n css[name] = val;\n }\n return css;\n }, {}), {\n // edge props\n 'line-style': 'solid',\n 'line-color': '#999',\n 'line-fill': 'solid',\n 'line-cap': 'butt',\n 'line-opacity': 1,\n 'line-outline-width': 0,\n 'line-outline-color': '#000',\n 'line-gradient-stop-colors': '#999',\n 'line-gradient-stop-positions': '0%',\n 'control-point-step-size': 40,\n 'control-point-weights': 0.5,\n 'segment-weights': 0.5,\n 'segment-distances': 20,\n 'segment-radii': 15,\n 'radius-type': 'arc-radius',\n 'taxi-turn': '50%',\n 'taxi-radius': 15,\n 'taxi-turn-min-distance': 10,\n 'taxi-direction': 'auto',\n 'edge-distances': 'intersection',\n 'curve-style': 'haystack',\n 'haystack-radius': 0,\n 'arrow-scale': 1,\n 'loop-direction': '-45deg',\n 'loop-sweep': '-90deg',\n 'source-distance-from-node': 0,\n 'target-distance-from-node': 0,\n 'source-endpoint': 'outside-to-node',\n 'target-endpoint': 'outside-to-node',\n 'line-dash-pattern': [6, 3],\n 'line-dash-offset': 0\n }, [{\n name: 'arrow-shape',\n value: 'none'\n }, {\n name: 'arrow-color',\n value: '#999'\n }, {\n name: 'arrow-fill',\n value: 'filled'\n }, {\n name: 'arrow-width',\n value: 1\n }].reduce(function (css, prop) {\n styfn$2.arrowPrefixes.forEach(function (prefix) {\n var name = prefix + '-' + prop.name;\n var val = prop.value;\n css[name] = val;\n });\n return css;\n }, {}));\n var parsedProps = {};\n for (var i = 0; i < this.properties.length; i++) {\n var prop = this.properties[i];\n if (prop.pointsTo) {\n continue;\n }\n var name = prop.name;\n var val = rawProps[name];\n var parsedProp = this.parse(name, val);\n parsedProps[name] = parsedProp;\n }\n _p.defaultProperties = parsedProps;\n return _p.defaultProperties;\n};\nstyfn$2.addDefaultStylesheet = function () {\n this.selector(':parent').css({\n 'shape': 'rectangle',\n 'padding': 10,\n 'background-color': '#eee',\n 'border-color': '#ccc',\n 'border-width': 1\n }).selector('edge').css({\n 'width': 3\n }).selector(':loop').css({\n 'curve-style': 'bezier'\n }).selector('edge:compound').css({\n 'curve-style': 'bezier',\n 'source-endpoint': 'outside-to-line',\n 'target-endpoint': 'outside-to-line'\n }).selector(':selected').css({\n 'background-color': '#0169D9',\n 'line-color': '#0169D9',\n 'source-arrow-color': '#0169D9',\n 'target-arrow-color': '#0169D9',\n 'mid-source-arrow-color': '#0169D9',\n 'mid-target-arrow-color': '#0169D9'\n }).selector(':parent:selected').css({\n 'background-color': '#CCE1F9',\n 'border-color': '#aec8e5'\n }).selector(':active').css({\n 'overlay-color': 'black',\n 'overlay-padding': 10,\n 'overlay-opacity': 0.25\n });\n this.defaultLength = this.length;\n};\n\nvar styfn$1 = {};\n\n// a caching layer for property parsing\nstyfn$1.parse = function (name, value, propIsBypass, propIsFlat) {\n var self = this;\n\n // function values can't be cached in all cases, and there isn't much benefit of caching them anyway\n if (fn$6(value)) {\n return self.parseImplWarn(name, value, propIsBypass, propIsFlat);\n }\n var flatKey = propIsFlat === 'mapping' || propIsFlat === true || propIsFlat === false || propIsFlat == null ? 'dontcare' : propIsFlat;\n var bypassKey = propIsBypass ? 't' : 'f';\n var valueKey = '' + value;\n var argHash = hashStrings(name, valueKey, bypassKey, flatKey);\n var propCache = self.propCache = self.propCache || [];\n var ret;\n if (!(ret = propCache[argHash])) {\n ret = propCache[argHash] = self.parseImplWarn(name, value, propIsBypass, propIsFlat);\n }\n\n // - bypasses can't be shared b/c the value can be changed by animations or otherwise overridden\n // - mappings can't be shared b/c mappings are per-element\n if (propIsBypass || propIsFlat === 'mapping') {\n // need a copy since props are mutated later in their lifecycles\n ret = copy(ret);\n if (ret) {\n ret.value = copy(ret.value); // because it could be an array, e.g. colour\n }\n }\n return ret;\n};\nstyfn$1.parseImplWarn = function (name, value, propIsBypass, propIsFlat) {\n var prop = this.parseImpl(name, value, propIsBypass, propIsFlat);\n if (!prop && value != null) {\n warn(\"The style property `\".concat(name, \": \").concat(value, \"` is invalid\"));\n }\n if (prop && (prop.name === 'width' || prop.name === 'height') && value === 'label') {\n warn('The style value of `label` is deprecated for `' + prop.name + '`');\n }\n return prop;\n};\n\n// parse a property; return null on invalid; return parsed property otherwise\n// fields :\n// - name : the name of the property\n// - value : the parsed, native-typed value of the property\n// - strValue : a string value that represents the property value in valid css\n// - bypass : true iff the property is a bypass property\nstyfn$1.parseImpl = function (name, value, propIsBypass, propIsFlat) {\n var self = this;\n name = camel2dash(name); // make sure the property name is in dash form (e.g. 'property-name' not 'propertyName')\n\n var property = self.properties[name];\n var passedValue = value;\n var types = self.types;\n if (!property) {\n return null;\n } // return null on property of unknown name\n if (value === undefined) {\n return null;\n } // can't assign undefined\n\n // the property may be an alias\n if (property.alias) {\n property = property.pointsTo;\n name = property.name;\n }\n var valueIsString = string(value);\n if (valueIsString) {\n // trim the value to make parsing easier\n value = value.trim();\n }\n var type = property.type;\n if (!type) {\n return null;\n } // no type, no luck\n\n // check if bypass is null or empty string (i.e. indication to delete bypass property)\n if (propIsBypass && (value === '' || value === null)) {\n return {\n name: name,\n value: value,\n bypass: true,\n deleteBypass: true\n };\n }\n\n // check if value is a function used as a mapper\n if (fn$6(value)) {\n return {\n name: name,\n value: value,\n strValue: 'fn',\n mapped: types.fn,\n bypass: propIsBypass\n };\n }\n\n // check if value is mapped\n var data, mapData;\n if (!valueIsString || propIsFlat || value.length < 7 || value[1] !== 'a') ; else if (value.length >= 7 && value[0] === 'd' && (data = new RegExp(types.data.regex).exec(value))) {\n if (propIsBypass) {\n return false;\n } // mappers not allowed in bypass\n\n var mapped = types.data;\n return {\n name: name,\n value: data,\n strValue: '' + value,\n mapped: mapped,\n field: data[1],\n bypass: propIsBypass\n };\n } else if (value.length >= 10 && value[0] === 'm' && (mapData = new RegExp(types.mapData.regex).exec(value))) {\n if (propIsBypass) {\n return false;\n } // mappers not allowed in bypass\n if (type.multiple) {\n return false;\n } // impossible to map to num\n\n var _mapped = types.mapData;\n\n // we can map only if the type is a colour or a number\n if (!(type.color || type.number)) {\n return false;\n }\n var valueMin = this.parse(name, mapData[4]); // parse to validate\n if (!valueMin || valueMin.mapped) {\n return false;\n } // can't be invalid or mapped\n\n var valueMax = this.parse(name, mapData[5]); // parse to validate\n if (!valueMax || valueMax.mapped) {\n return false;\n } // can't be invalid or mapped\n\n // check if valueMin and valueMax are the same\n if (valueMin.pfValue === valueMax.pfValue || valueMin.strValue === valueMax.strValue) {\n warn('`' + name + ': ' + value + '` is not a valid mapper because the output range is zero; converting to `' + name + ': ' + valueMin.strValue + '`');\n return this.parse(name, valueMin.strValue); // can't make much of a mapper without a range\n } else if (type.color) {\n var c1 = valueMin.value;\n var c2 = valueMax.value;\n var same = c1[0] === c2[0] // red\n && c1[1] === c2[1] // green\n && c1[2] === c2[2] // blue\n && (\n // optional alpha\n c1[3] === c2[3] // same alpha outright\n || (c1[3] == null || c1[3] === 1 // full opacity for colour 1?\n ) && (c2[3] == null || c2[3] === 1) // full opacity for colour 2?\n );\n if (same) {\n return false;\n } // can't make a mapper without a range\n }\n return {\n name: name,\n value: mapData,\n strValue: '' + value,\n mapped: _mapped,\n field: mapData[1],\n fieldMin: parseFloat(mapData[2]),\n // min & max are numeric\n fieldMax: parseFloat(mapData[3]),\n valueMin: valueMin.value,\n valueMax: valueMax.value,\n bypass: propIsBypass\n };\n }\n if (type.multiple && propIsFlat !== 'multiple') {\n var vals;\n if (valueIsString) {\n vals = value.split(/\\s+/);\n } else if (array(value)) {\n vals = value;\n } else {\n vals = [value];\n }\n if (type.evenMultiple && vals.length % 2 !== 0) {\n return null;\n }\n var valArr = [];\n var unitsArr = [];\n var pfValArr = [];\n var strVal = '';\n var hasEnum = false;\n for (var i = 0; i < vals.length; i++) {\n var p = self.parse(name, vals[i], propIsBypass, 'multiple');\n hasEnum = hasEnum || string(p.value);\n valArr.push(p.value);\n pfValArr.push(p.pfValue != null ? p.pfValue : p.value);\n unitsArr.push(p.units);\n strVal += (i > 0 ? ' ' : '') + p.strValue;\n }\n if (type.validate && !type.validate(valArr, unitsArr)) {\n return null;\n }\n if (type.singleEnum && hasEnum) {\n if (valArr.length === 1 && string(valArr[0])) {\n return {\n name: name,\n value: valArr[0],\n strValue: valArr[0],\n bypass: propIsBypass\n };\n } else {\n return null;\n }\n }\n return {\n name: name,\n value: valArr,\n pfValue: pfValArr,\n strValue: strVal,\n bypass: propIsBypass,\n units: unitsArr\n };\n }\n\n // several types also allow enums\n var checkEnums = function checkEnums() {\n for (var _i = 0; _i < type.enums.length; _i++) {\n var en = type.enums[_i];\n if (en === value) {\n return {\n name: name,\n value: value,\n strValue: '' + value,\n bypass: propIsBypass\n };\n }\n }\n return null;\n };\n\n // check the type and return the appropriate object\n if (type.number) {\n var units;\n var implicitUnits = 'px'; // not set => px\n\n if (type.units) {\n // use specified units if set\n units = type.units;\n }\n if (type.implicitUnits) {\n implicitUnits = type.implicitUnits;\n }\n if (!type.unitless) {\n if (valueIsString) {\n var unitsRegex = 'px|em' + (type.allowPercent ? '|\\\\%' : '');\n if (units) {\n unitsRegex = units;\n } // only allow explicit units if so set\n var match = value.match('^(' + number + ')(' + unitsRegex + ')?' + '$');\n if (match) {\n value = match[1];\n units = match[2] || implicitUnits;\n }\n } else if (!units || type.implicitUnits) {\n units = implicitUnits; // implicitly px if unspecified\n }\n }\n value = parseFloat(value);\n\n // if not a number and enums not allowed, then the value is invalid\n if (isNaN(value) && type.enums === undefined) {\n return null;\n }\n\n // check if this number type also accepts special keywords in place of numbers\n // (i.e. `left`, `auto`, etc)\n if (isNaN(value) && type.enums !== undefined) {\n value = passedValue;\n return checkEnums();\n }\n\n // check if value must be an integer\n if (type.integer && !integer(value)) {\n return null;\n }\n\n // check value is within range\n if (type.min !== undefined && (value < type.min || type.strictMin && value === type.min) || type.max !== undefined && (value > type.max || type.strictMax && value === type.max)) {\n return null;\n }\n var ret = {\n name: name,\n value: value,\n strValue: '' + value + (units ? units : ''),\n units: units,\n bypass: propIsBypass\n };\n\n // normalise value in pixels\n if (type.unitless || units !== 'px' && units !== 'em') {\n ret.pfValue = value;\n } else {\n ret.pfValue = units === 'px' || !units ? value : this.getEmSizeInPixels() * value;\n }\n\n // normalise value in ms\n if (units === 'ms' || units === 's') {\n ret.pfValue = units === 'ms' ? value : 1000 * value;\n }\n\n // normalise value in rad\n if (units === 'deg' || units === 'rad') {\n ret.pfValue = units === 'rad' ? value : deg2rad(value);\n }\n\n // normalize value in %\n if (units === '%') {\n ret.pfValue = value / 100;\n }\n return ret;\n } else if (type.propList) {\n var props = [];\n var propsStr = '' + value;\n if (propsStr === 'none') ; else {\n // go over each prop\n\n var propsSplit = propsStr.split(/\\s*,\\s*|\\s+/);\n for (var _i2 = 0; _i2 < propsSplit.length; _i2++) {\n var propName = propsSplit[_i2].trim();\n if (self.properties[propName]) {\n props.push(propName);\n } else {\n warn('`' + propName + '` is not a valid property name');\n }\n }\n if (props.length === 0) {\n return null;\n }\n }\n return {\n name: name,\n value: props,\n strValue: props.length === 0 ? 'none' : props.join(' '),\n bypass: propIsBypass\n };\n } else if (type.color) {\n var tuple = color2tuple(value);\n if (!tuple) {\n return null;\n }\n return {\n name: name,\n value: tuple,\n pfValue: tuple,\n strValue: 'rgb(' + tuple[0] + ',' + tuple[1] + ',' + tuple[2] + ')',\n // n.b. no spaces b/c of multiple support\n bypass: propIsBypass\n };\n } else if (type.regex || type.regexes) {\n // first check enums\n if (type.enums) {\n var enumProp = checkEnums();\n if (enumProp) {\n return enumProp;\n }\n }\n var regexes = type.regexes ? type.regexes : [type.regex];\n for (var _i3 = 0; _i3 < regexes.length; _i3++) {\n var regex = new RegExp(regexes[_i3]); // make a regex from the type string\n var m = regex.exec(value);\n if (m) {\n // regex matches\n return {\n name: name,\n value: type.singleRegexMatchValue ? m[1] : m,\n strValue: '' + value,\n bypass: propIsBypass\n };\n }\n }\n return null; // didn't match any\n } else if (type.string) {\n // just return\n return {\n name: name,\n value: '' + value,\n strValue: '' + value,\n bypass: propIsBypass\n };\n } else if (type.enums) {\n // check enums last because it's a combo type in others\n return checkEnums();\n } else {\n return null; // not a type we can handle\n }\n};\n\nvar _Style = function Style(cy) {\n if (!(this instanceof _Style)) {\n return new _Style(cy);\n }\n if (!core(cy)) {\n error('A style must have a core reference');\n return;\n }\n this._private = {\n cy: cy,\n coreStyle: {}\n };\n this.length = 0;\n this.resetToDefault();\n};\nvar styfn = _Style.prototype;\nstyfn.instanceString = function () {\n return 'style';\n};\n\n// remove all contexts\nstyfn.clear = function () {\n var _p = this._private;\n var cy = _p.cy;\n var eles = cy.elements();\n for (var i = 0; i < this.length; i++) {\n this[i] = undefined;\n }\n this.length = 0;\n _p.contextStyles = {};\n _p.propDiffs = {};\n this.cleanElements(eles, true);\n eles.forEach(function (ele) {\n var ele_p = ele[0]._private;\n ele_p.styleDirty = true;\n ele_p.appliedInitStyle = false;\n });\n return this; // chaining\n};\nstyfn.resetToDefault = function () {\n this.clear();\n this.addDefaultStylesheet();\n return this;\n};\n\n// builds a style object for the 'core' selector\nstyfn.core = function (propName) {\n return this._private.coreStyle[propName] || this.getDefaultProperty(propName);\n};\n\n// create a new context from the specified selector string and switch to that context\nstyfn.selector = function (selectorStr) {\n // 'core' is a special case and does not need a selector\n var selector = selectorStr === 'core' ? null : new Selector(selectorStr);\n var i = this.length++; // new context means new index\n this[i] = {\n selector: selector,\n properties: [],\n mappedProperties: [],\n index: i\n };\n return this; // chaining\n};\n\n// add one or many css rules to the current context\nstyfn.css = function () {\n var self = this;\n var args = arguments;\n if (args.length === 1) {\n var map = args[0];\n for (var i = 0; i < self.properties.length; i++) {\n var prop = self.properties[i];\n var mapVal = map[prop.name];\n if (mapVal === undefined) {\n mapVal = map[dash2camel(prop.name)];\n }\n if (mapVal !== undefined) {\n this.cssRule(prop.name, mapVal);\n }\n }\n } else if (args.length === 2) {\n this.cssRule(args[0], args[1]);\n }\n\n // do nothing if args are invalid\n\n return this; // chaining\n};\nstyfn.style = styfn.css;\n\n// add a single css rule to the current context\nstyfn.cssRule = function (name, value) {\n // name-value pair\n var property = this.parse(name, value);\n\n // add property to current context if valid\n if (property) {\n var i = this.length - 1;\n this[i].properties.push(property);\n this[i].properties[property.name] = property; // allow access by name as well\n\n if (property.name.match(/pie-(\\d+)-background-size/) && property.value) {\n this._private.hasPie = true;\n }\n if (property.name.match(/stripe-(\\d+)-background-size/) && property.value) {\n this._private.hasStripe = true;\n }\n if (property.mapped) {\n this[i].mappedProperties.push(property);\n }\n\n // add to core style if necessary\n var currentSelectorIsCore = !this[i].selector;\n if (currentSelectorIsCore) {\n this._private.coreStyle[property.name] = property;\n }\n }\n return this; // chaining\n};\nstyfn.append = function (style) {\n if (stylesheet(style)) {\n style.appendToStyle(this);\n } else if (array(style)) {\n this.appendFromJson(style);\n } else if (string(style)) {\n this.appendFromString(style);\n } // you probably wouldn't want to append a Style, since you'd duplicate the default parts\n\n return this;\n};\n\n// static function\n_Style.fromJson = function (cy, json) {\n var style = new _Style(cy);\n style.fromJson(json);\n return style;\n};\n_Style.fromString = function (cy, string) {\n return new _Style(cy).fromString(string);\n};\n[styfn$8, styfn$7, styfn$6, styfn$5, styfn$4, styfn$3, styfn$2, styfn$1].forEach(function (props) {\n extend(styfn, props);\n});\n_Style.types = styfn.types;\n_Style.properties = styfn.properties;\n_Style.propertyGroups = styfn.propertyGroups;\n_Style.propertyGroupNames = styfn.propertyGroupNames;\n_Style.propertyGroupKeys = styfn.propertyGroupKeys;\n\nvar corefn$2 = {\n style: function style(newStyle) {\n if (newStyle) {\n var s = this.setStyle(newStyle);\n s.update();\n }\n return this._private.style;\n },\n setStyle: function setStyle(style) {\n var _p = this._private;\n if (stylesheet(style)) {\n _p.style = style.generateStyle(this);\n } else if (array(style)) {\n _p.style = _Style.fromJson(this, style);\n } else if (string(style)) {\n _p.style = _Style.fromString(this, style);\n } else {\n _p.style = _Style(this);\n }\n return _p.style;\n },\n // e.g. cy.data() changed => recalc ele mappers\n updateStyle: function updateStyle() {\n this.mutableElements().updateStyle(); // just send to all eles\n }\n};\n\nvar defaultSelectionType = 'single';\nvar corefn$1 = {\n autolock: function autolock(bool) {\n if (bool !== undefined) {\n this._private.autolock = bool ? true : false;\n } else {\n return this._private.autolock;\n }\n return this; // chaining\n },\n autoungrabify: function autoungrabify(bool) {\n if (bool !== undefined) {\n this._private.autoungrabify = bool ? true : false;\n } else {\n return this._private.autoungrabify;\n }\n return this; // chaining\n },\n autounselectify: function autounselectify(bool) {\n if (bool !== undefined) {\n this._private.autounselectify = bool ? true : false;\n } else {\n return this._private.autounselectify;\n }\n return this; // chaining\n },\n selectionType: function selectionType(selType) {\n var _p = this._private;\n if (_p.selectionType == null) {\n _p.selectionType = defaultSelectionType;\n }\n if (selType !== undefined) {\n if (selType === 'additive' || selType === 'single') {\n _p.selectionType = selType;\n }\n } else {\n return _p.selectionType;\n }\n return this;\n },\n panningEnabled: function panningEnabled(bool) {\n if (bool !== undefined) {\n this._private.panningEnabled = bool ? true : false;\n } else {\n return this._private.panningEnabled;\n }\n return this; // chaining\n },\n userPanningEnabled: function userPanningEnabled(bool) {\n if (bool !== undefined) {\n this._private.userPanningEnabled = bool ? true : false;\n } else {\n return this._private.userPanningEnabled;\n }\n return this; // chaining\n },\n zoomingEnabled: function zoomingEnabled(bool) {\n if (bool !== undefined) {\n this._private.zoomingEnabled = bool ? true : false;\n } else {\n return this._private.zoomingEnabled;\n }\n return this; // chaining\n },\n userZoomingEnabled: function userZoomingEnabled(bool) {\n if (bool !== undefined) {\n this._private.userZoomingEnabled = bool ? true : false;\n } else {\n return this._private.userZoomingEnabled;\n }\n return this; // chaining\n },\n boxSelectionEnabled: function boxSelectionEnabled(bool) {\n if (bool !== undefined) {\n this._private.boxSelectionEnabled = bool ? true : false;\n } else {\n return this._private.boxSelectionEnabled;\n }\n return this; // chaining\n },\n pan: function pan() {\n var args = arguments;\n var pan = this._private.pan;\n var dim, val, dims, x, y;\n switch (args.length) {\n case 0:\n // .pan()\n return pan;\n case 1:\n if (string(args[0])) {\n // .pan('x')\n dim = args[0];\n return pan[dim];\n } else if (plainObject(args[0])) {\n // .pan({ x: 0, y: 100 })\n if (!this._private.panningEnabled) {\n return this;\n }\n dims = args[0];\n x = dims.x;\n y = dims.y;\n if (number$1(x)) {\n pan.x = x;\n }\n if (number$1(y)) {\n pan.y = y;\n }\n this.emit('pan viewport');\n }\n break;\n case 2:\n // .pan('x', 100)\n if (!this._private.panningEnabled) {\n return this;\n }\n dim = args[0];\n val = args[1];\n if ((dim === 'x' || dim === 'y') && number$1(val)) {\n pan[dim] = val;\n }\n this.emit('pan viewport');\n break;\n // invalid\n }\n this.notify('viewport');\n return this; // chaining\n },\n panBy: function panBy(arg0, arg1) {\n var args = arguments;\n var pan = this._private.pan;\n var dim, val, dims, x, y;\n if (!this._private.panningEnabled) {\n return this;\n }\n switch (args.length) {\n case 1:\n if (plainObject(arg0)) {\n // .panBy({ x: 0, y: 100 })\n dims = args[0];\n x = dims.x;\n y = dims.y;\n if (number$1(x)) {\n pan.x += x;\n }\n if (number$1(y)) {\n pan.y += y;\n }\n this.emit('pan viewport');\n }\n break;\n case 2:\n // .panBy('x', 100)\n dim = arg0;\n val = arg1;\n if ((dim === 'x' || dim === 'y') && number$1(val)) {\n pan[dim] += val;\n }\n this.emit('pan viewport');\n break;\n // invalid\n }\n this.notify('viewport');\n return this; // chaining\n },\n gc: function gc() {\n this.notify('gc');\n },\n fit: function fit(elements, padding) {\n var viewportState = this.getFitViewport(elements, padding);\n if (viewportState) {\n var _p = this._private;\n _p.zoom = viewportState.zoom;\n _p.pan = viewportState.pan;\n this.emit('pan zoom viewport');\n this.notify('viewport');\n }\n return this; // chaining\n },\n getFitViewport: function getFitViewport(elements, padding) {\n if (number$1(elements) && padding === undefined) {\n // elements is optional\n padding = elements;\n elements = undefined;\n }\n if (!this._private.panningEnabled || !this._private.zoomingEnabled) {\n return;\n }\n var bb;\n if (string(elements)) {\n var sel = elements;\n elements = this.$(sel);\n } else if (boundingBox(elements)) {\n // assume bb\n var bbe = elements;\n bb = {\n x1: bbe.x1,\n y1: bbe.y1,\n x2: bbe.x2,\n y2: bbe.y2\n };\n bb.w = bb.x2 - bb.x1;\n bb.h = bb.y2 - bb.y1;\n } else if (!elementOrCollection(elements)) {\n elements = this.mutableElements();\n }\n if (elementOrCollection(elements) && elements.empty()) {\n return;\n } // can't fit to nothing\n\n bb = bb || elements.boundingBox();\n var w = this.width();\n var h = this.height();\n var zoom;\n padding = number$1(padding) ? padding : 0;\n if (!isNaN(w) && !isNaN(h) && w > 0 && h > 0 && !isNaN(bb.w) && !isNaN(bb.h) && bb.w > 0 && bb.h > 0) {\n zoom = Math.min((w - 2 * padding) / bb.w, (h - 2 * padding) / bb.h);\n\n // crop zoom\n zoom = zoom > this._private.maxZoom ? this._private.maxZoom : zoom;\n zoom = zoom < this._private.minZoom ? this._private.minZoom : zoom;\n var pan = {\n // now pan to middle\n x: (w - zoom * (bb.x1 + bb.x2)) / 2,\n y: (h - zoom * (bb.y1 + bb.y2)) / 2\n };\n return {\n zoom: zoom,\n pan: pan\n };\n }\n return;\n },\n zoomRange: function zoomRange(min, max) {\n var _p = this._private;\n if (max == null) {\n var opts = min;\n min = opts.min;\n max = opts.max;\n }\n if (number$1(min) && number$1(max) && min <= max) {\n _p.minZoom = min;\n _p.maxZoom = max;\n } else if (number$1(min) && max === undefined && min <= _p.maxZoom) {\n _p.minZoom = min;\n } else if (number$1(max) && min === undefined && max >= _p.minZoom) {\n _p.maxZoom = max;\n }\n return this;\n },\n minZoom: function minZoom(zoom) {\n if (zoom === undefined) {\n return this._private.minZoom;\n } else {\n return this.zoomRange({\n min: zoom\n });\n }\n },\n maxZoom: function maxZoom(zoom) {\n if (zoom === undefined) {\n return this._private.maxZoom;\n } else {\n return this.zoomRange({\n max: zoom\n });\n }\n },\n getZoomedViewport: function getZoomedViewport(params) {\n var _p = this._private;\n var currentPan = _p.pan;\n var currentZoom = _p.zoom;\n var pos; // in rendered px\n var zoom;\n var bail = false;\n if (!_p.zoomingEnabled) {\n // zooming disabled\n bail = true;\n }\n if (number$1(params)) {\n // then set the zoom\n zoom = params;\n } else if (plainObject(params)) {\n // then zoom about a point\n zoom = params.level;\n if (params.position != null) {\n pos = modelToRenderedPosition$1(params.position, currentZoom, currentPan);\n } else if (params.renderedPosition != null) {\n pos = params.renderedPosition;\n }\n if (pos != null && !_p.panningEnabled) {\n // panning disabled\n bail = true;\n }\n }\n\n // crop zoom\n zoom = zoom > _p.maxZoom ? _p.maxZoom : zoom;\n zoom = zoom < _p.minZoom ? _p.minZoom : zoom;\n\n // can't zoom with invalid params\n if (bail || !number$1(zoom) || zoom === currentZoom || pos != null && (!number$1(pos.x) || !number$1(pos.y))) {\n return null;\n }\n if (pos != null) {\n // set zoom about position\n var pan1 = currentPan;\n var zoom1 = currentZoom;\n var zoom2 = zoom;\n var pan2 = {\n x: -zoom2 / zoom1 * (pos.x - pan1.x) + pos.x,\n y: -zoom2 / zoom1 * (pos.y - pan1.y) + pos.y\n };\n return {\n zoomed: true,\n panned: true,\n zoom: zoom2,\n pan: pan2\n };\n } else {\n // just set the zoom\n return {\n zoomed: true,\n panned: false,\n zoom: zoom,\n pan: currentPan\n };\n }\n },\n zoom: function zoom(params) {\n if (params === undefined) {\n // get\n return this._private.zoom;\n } else {\n // set\n var vp = this.getZoomedViewport(params);\n var _p = this._private;\n if (vp == null || !vp.zoomed) {\n return this;\n }\n _p.zoom = vp.zoom;\n if (vp.panned) {\n _p.pan.x = vp.pan.x;\n _p.pan.y = vp.pan.y;\n }\n this.emit('zoom' + (vp.panned ? ' pan' : '') + ' viewport');\n this.notify('viewport');\n return this; // chaining\n }\n },\n viewport: function viewport(opts) {\n var _p = this._private;\n var zoomDefd = true;\n var panDefd = true;\n var events = []; // to trigger\n var zoomFailed = false;\n var panFailed = false;\n if (!opts) {\n return this;\n }\n if (!number$1(opts.zoom)) {\n zoomDefd = false;\n }\n if (!plainObject(opts.pan)) {\n panDefd = false;\n }\n if (!zoomDefd && !panDefd) {\n return this;\n }\n if (zoomDefd) {\n var z = opts.zoom;\n if (z < _p.minZoom || z > _p.maxZoom || !_p.zoomingEnabled) {\n zoomFailed = true;\n } else {\n _p.zoom = z;\n events.push('zoom');\n }\n }\n if (panDefd && (!zoomFailed || !opts.cancelOnFailedZoom) && _p.panningEnabled) {\n var p = opts.pan;\n if (number$1(p.x)) {\n _p.pan.x = p.x;\n panFailed = false;\n }\n if (number$1(p.y)) {\n _p.pan.y = p.y;\n panFailed = false;\n }\n if (!panFailed) {\n events.push('pan');\n }\n }\n if (events.length > 0) {\n events.push('viewport');\n this.emit(events.join(' '));\n this.notify('viewport');\n }\n return this; // chaining\n },\n center: function center(elements) {\n var pan = this.getCenterPan(elements);\n if (pan) {\n this._private.pan = pan;\n this.emit('pan viewport');\n this.notify('viewport');\n }\n return this; // chaining\n },\n getCenterPan: function getCenterPan(elements, zoom) {\n if (!this._private.panningEnabled) {\n return;\n }\n if (string(elements)) {\n var selector = elements;\n elements = this.mutableElements().filter(selector);\n } else if (!elementOrCollection(elements)) {\n elements = this.mutableElements();\n }\n if (elements.length === 0) {\n return;\n } // can't centre pan to nothing\n\n var bb = elements.boundingBox();\n var w = this.width();\n var h = this.height();\n zoom = zoom === undefined ? this._private.zoom : zoom;\n var pan = {\n // middle\n x: (w - zoom * (bb.x1 + bb.x2)) / 2,\n y: (h - zoom * (bb.y1 + bb.y2)) / 2\n };\n return pan;\n },\n reset: function reset() {\n if (!this._private.panningEnabled || !this._private.zoomingEnabled) {\n return this;\n }\n this.viewport({\n pan: {\n x: 0,\n y: 0\n },\n zoom: 1\n });\n return this; // chaining\n },\n invalidateSize: function invalidateSize() {\n this._private.sizeCache = null;\n },\n size: function size() {\n var _p = this._private;\n var container = _p.container;\n var cy = this;\n return _p.sizeCache = _p.sizeCache || (container ? function () {\n var style = cy.window().getComputedStyle(container);\n var val = function val(name) {\n return parseFloat(style.getPropertyValue(name));\n };\n return {\n width: container.clientWidth - val('padding-left') - val('padding-right'),\n height: container.clientHeight - val('padding-top') - val('padding-bottom')\n };\n }() : {\n // fallback if no container (not 0 b/c can be used for dividing etc)\n width: 1,\n height: 1\n });\n },\n width: function width() {\n return this.size().width;\n },\n height: function height() {\n return this.size().height;\n },\n extent: function extent() {\n var pan = this._private.pan;\n var zoom = this._private.zoom;\n var rb = this.renderedExtent();\n var b = {\n x1: (rb.x1 - pan.x) / zoom,\n x2: (rb.x2 - pan.x) / zoom,\n y1: (rb.y1 - pan.y) / zoom,\n y2: (rb.y2 - pan.y) / zoom\n };\n b.w = b.x2 - b.x1;\n b.h = b.y2 - b.y1;\n return b;\n },\n renderedExtent: function renderedExtent() {\n var width = this.width();\n var height = this.height();\n return {\n x1: 0,\n y1: 0,\n x2: width,\n y2: height,\n w: width,\n h: height\n };\n },\n multiClickDebounceTime: function multiClickDebounceTime(_int) {\n if (_int) this._private.multiClickDebounceTime = _int;else return this._private.multiClickDebounceTime;\n return this; // chaining\n }\n};\n\n// aliases\ncorefn$1.centre = corefn$1.center;\n\n// backwards compatibility\ncorefn$1.autolockNodes = corefn$1.autolock;\ncorefn$1.autoungrabifyNodes = corefn$1.autoungrabify;\n\nvar fn = {\n data: define.data({\n field: 'data',\n bindingEvent: 'data',\n allowBinding: true,\n allowSetting: true,\n settingEvent: 'data',\n settingTriggersEvent: true,\n triggerFnName: 'trigger',\n allowGetting: true,\n updateStyle: true\n }),\n removeData: define.removeData({\n field: 'data',\n event: 'data',\n triggerFnName: 'trigger',\n triggerEvent: true,\n updateStyle: true\n }),\n scratch: define.data({\n field: 'scratch',\n bindingEvent: 'scratch',\n allowBinding: true,\n allowSetting: true,\n settingEvent: 'scratch',\n settingTriggersEvent: true,\n triggerFnName: 'trigger',\n allowGetting: true,\n updateStyle: true\n }),\n removeScratch: define.removeData({\n field: 'scratch',\n event: 'scratch',\n triggerFnName: 'trigger',\n triggerEvent: true,\n updateStyle: true\n })\n};\n\n// aliases\nfn.attr = fn.data;\nfn.removeAttr = fn.removeData;\n\nvar Core = function Core(opts) {\n var cy = this;\n opts = extend({}, opts);\n var container = opts.container;\n\n // allow for passing a wrapped jquery object\n // e.g. cytoscape({ container: $('#cy') })\n if (container && !htmlElement(container) && htmlElement(container[0])) {\n container = container[0];\n }\n var reg = container ? container._cyreg : null; // e.g. already registered some info (e.g. readies) via jquery\n reg = reg || {};\n if (reg && reg.cy) {\n reg.cy.destroy();\n reg = {}; // old instance => replace reg completely\n }\n var readies = reg.readies = reg.readies || [];\n if (container) {\n container._cyreg = reg;\n } // make sure container assoc'd reg points to this cy\n reg.cy = cy;\n var head = _window !== undefined && container !== undefined && !opts.headless;\n var options = opts;\n options.layout = extend({\n name: head ? 'grid' : 'null'\n }, options.layout);\n options.renderer = extend({\n name: head ? 'canvas' : 'null'\n }, options.renderer);\n var defVal = function defVal(def, val, altVal) {\n if (val !== undefined) {\n return val;\n } else if (altVal !== undefined) {\n return altVal;\n } else {\n return def;\n }\n };\n var _p = this._private = {\n container: container,\n // html dom ele container\n ready: false,\n // whether ready has been triggered\n options: options,\n // cached options\n elements: new Collection(this),\n // elements in the graph\n listeners: [],\n // list of listeners\n aniEles: new Collection(this),\n // elements being animated\n data: options.data || {},\n // data for the core\n scratch: {},\n // scratch object for core\n layout: null,\n renderer: null,\n destroyed: false,\n // whether destroy was called\n notificationsEnabled: true,\n // whether notifications are sent to the renderer\n minZoom: 1e-50,\n maxZoom: 1e50,\n zoomingEnabled: defVal(true, options.zoomingEnabled),\n userZoomingEnabled: defVal(true, options.userZoomingEnabled),\n panningEnabled: defVal(true, options.panningEnabled),\n userPanningEnabled: defVal(true, options.userPanningEnabled),\n boxSelectionEnabled: defVal(true, options.boxSelectionEnabled),\n autolock: defVal(false, options.autolock, options.autolockNodes),\n autoungrabify: defVal(false, options.autoungrabify, options.autoungrabifyNodes),\n autounselectify: defVal(false, options.autounselectify),\n styleEnabled: options.styleEnabled === undefined ? head : options.styleEnabled,\n zoom: number$1(options.zoom) ? options.zoom : 1,\n pan: {\n x: plainObject(options.pan) && number$1(options.pan.x) ? options.pan.x : 0,\n y: plainObject(options.pan) && number$1(options.pan.y) ? options.pan.y : 0\n },\n animation: {\n // object for currently-running animations\n current: [],\n queue: []\n },\n hasCompoundNodes: false,\n multiClickDebounceTime: defVal(250, options.multiClickDebounceTime)\n };\n this.createEmitter();\n\n // set selection type\n this.selectionType(options.selectionType);\n\n // init zoom bounds\n this.zoomRange({\n min: options.minZoom,\n max: options.maxZoom\n });\n var loadExtData = function loadExtData(extData, next) {\n var anyIsPromise = extData.some(promise);\n if (anyIsPromise) {\n return Promise$1.all(extData).then(next); // load all data asynchronously, then exec rest of init\n } else {\n next(extData); // exec synchronously for convenience\n }\n };\n\n // start with the default stylesheet so we have something before loading an external stylesheet\n if (_p.styleEnabled) {\n cy.setStyle([]);\n }\n\n // create the renderer\n var rendererOptions = extend({}, options, options.renderer); // allow rendering hints in top level options\n cy.initRenderer(rendererOptions);\n var setElesAndLayout = function setElesAndLayout(elements, onload, ondone) {\n cy.notifications(false);\n\n // remove old elements\n var oldEles = cy.mutableElements();\n if (oldEles.length > 0) {\n oldEles.remove();\n }\n if (elements != null) {\n if (plainObject(elements) || array(elements)) {\n cy.add(elements);\n }\n }\n cy.one('layoutready', function (e) {\n cy.notifications(true);\n cy.emit(e); // we missed this event by turning notifications off, so pass it on\n\n cy.one('load', onload);\n cy.emitAndNotify('load');\n }).one('layoutstop', function () {\n cy.one('done', ondone);\n cy.emit('done');\n });\n var layoutOpts = extend({}, cy._private.options.layout);\n layoutOpts.eles = cy.elements();\n cy.layout(layoutOpts).run();\n };\n loadExtData([options.style, options.elements], function (thens) {\n var initStyle = thens[0];\n var initEles = thens[1];\n\n // init style\n if (_p.styleEnabled) {\n cy.style().append(initStyle);\n }\n\n // initial load\n setElesAndLayout(initEles, function () {\n // onready\n cy.startAnimationLoop();\n _p.ready = true;\n\n // if a ready callback is specified as an option, the bind it\n if (fn$6(options.ready)) {\n cy.on('ready', options.ready);\n }\n\n // bind all the ready handlers registered before creating this instance\n for (var i = 0; i < readies.length; i++) {\n var fn = readies[i];\n cy.on('ready', fn);\n }\n if (reg) {\n reg.readies = [];\n } // clear b/c we've bound them all and don't want to keep it around in case a new core uses the same div etc\n\n cy.emit('ready');\n }, options.done);\n });\n};\nvar corefn = Core.prototype; // short alias\n\nextend(corefn, {\n instanceString: function instanceString() {\n return 'core';\n },\n isReady: function isReady() {\n return this._private.ready;\n },\n destroyed: function destroyed() {\n return this._private.destroyed;\n },\n ready: function ready(fn) {\n if (this.isReady()) {\n this.emitter().emit('ready', [], fn); // just calls fn as though triggered via ready event\n } else {\n this.on('ready', fn);\n }\n return this;\n },\n destroy: function destroy() {\n var cy = this;\n if (cy.destroyed()) return;\n cy.stopAnimationLoop();\n cy.destroyRenderer();\n this.emit('destroy');\n cy._private.destroyed = true;\n return cy;\n },\n hasElementWithId: function hasElementWithId(id) {\n return this._private.elements.hasElementWithId(id);\n },\n getElementById: function getElementById(id) {\n return this._private.elements.getElementById(id);\n },\n hasCompoundNodes: function hasCompoundNodes() {\n return this._private.hasCompoundNodes;\n },\n headless: function headless() {\n return this._private.renderer.isHeadless();\n },\n styleEnabled: function styleEnabled() {\n return this._private.styleEnabled;\n },\n addToPool: function addToPool(eles) {\n this._private.elements.merge(eles);\n return this; // chaining\n },\n removeFromPool: function removeFromPool(eles) {\n this._private.elements.unmerge(eles);\n return this;\n },\n container: function container() {\n return this._private.container || null;\n },\n window: function window() {\n var container = this._private.container;\n if (container == null) return _window;\n var ownerDocument = this._private.container.ownerDocument;\n if (ownerDocument === undefined || ownerDocument == null) {\n return _window;\n }\n return ownerDocument.defaultView || _window;\n },\n mount: function mount(container) {\n if (container == null) {\n return;\n }\n var cy = this;\n var _p = cy._private;\n var options = _p.options;\n if (!htmlElement(container) && htmlElement(container[0])) {\n container = container[0];\n }\n cy.stopAnimationLoop();\n cy.destroyRenderer();\n _p.container = container;\n _p.styleEnabled = true;\n cy.invalidateSize();\n cy.initRenderer(extend({}, options, options.renderer, {\n // allow custom renderer name to be re-used, otherwise use canvas\n name: options.renderer.name === 'null' ? 'canvas' : options.renderer.name\n }));\n cy.startAnimationLoop();\n cy.style(options.style);\n cy.emit('mount');\n return cy;\n },\n unmount: function unmount() {\n var cy = this;\n cy.stopAnimationLoop();\n cy.destroyRenderer();\n cy.initRenderer({\n name: 'null'\n });\n cy.emit('unmount');\n return cy;\n },\n options: function options() {\n return copy(this._private.options);\n },\n json: function json(obj) {\n var cy = this;\n var _p = cy._private;\n var eles = cy.mutableElements();\n var getFreshRef = function getFreshRef(ele) {\n return cy.getElementById(ele.id());\n };\n if (plainObject(obj)) {\n // set\n\n cy.startBatch();\n if (obj.elements) {\n var idInJson = {};\n var updateEles = function updateEles(jsons, gr) {\n var toAdd = [];\n var toMod = [];\n for (var i = 0; i < jsons.length; i++) {\n var json = jsons[i];\n if (!json.data.id) {\n warn('cy.json() cannot handle elements without an ID attribute');\n continue;\n }\n var id = '' + json.data.id; // id must be string\n var ele = cy.getElementById(id);\n idInJson[id] = true;\n if (ele.length !== 0) {\n // existing element should be updated\n toMod.push({\n ele: ele,\n json: json\n });\n } else {\n // otherwise should be added\n if (gr) {\n json.group = gr;\n toAdd.push(json);\n } else {\n toAdd.push(json);\n }\n }\n }\n cy.add(toAdd);\n for (var _i = 0; _i < toMod.length; _i++) {\n var _toMod$_i = toMod[_i],\n _ele = _toMod$_i.ele,\n _json = _toMod$_i.json;\n _ele.json(_json);\n }\n };\n if (array(obj.elements)) {\n // elements: []\n updateEles(obj.elements);\n } else {\n // elements: { nodes: [], edges: [] }\n var grs = ['nodes', 'edges'];\n for (var i = 0; i < grs.length; i++) {\n var gr = grs[i];\n var elements = obj.elements[gr];\n if (array(elements)) {\n updateEles(elements, gr);\n }\n }\n }\n var parentsToRemove = cy.collection();\n eles.filter(function (ele) {\n return !idInJson[ele.id()];\n }).forEach(function (ele) {\n if (ele.isParent()) {\n parentsToRemove.merge(ele);\n } else {\n ele.remove();\n }\n });\n\n // so that children are not removed w/parent\n parentsToRemove.forEach(function (ele) {\n return ele.children().move({\n parent: null\n });\n });\n\n // intermediate parents may be moved by prior line, so make sure we remove by fresh refs\n parentsToRemove.forEach(function (ele) {\n return getFreshRef(ele).remove();\n });\n }\n if (obj.style) {\n cy.style(obj.style);\n }\n if (obj.zoom != null && obj.zoom !== _p.zoom) {\n cy.zoom(obj.zoom);\n }\n if (obj.pan) {\n if (obj.pan.x !== _p.pan.x || obj.pan.y !== _p.pan.y) {\n cy.pan(obj.pan);\n }\n }\n if (obj.data) {\n cy.data(obj.data);\n }\n var fields = ['minZoom', 'maxZoom', 'zoomingEnabled', 'userZoomingEnabled', 'panningEnabled', 'userPanningEnabled', 'boxSelectionEnabled', 'autolock', 'autoungrabify', 'autounselectify', 'multiClickDebounceTime'];\n for (var _i2 = 0; _i2 < fields.length; _i2++) {\n var f = fields[_i2];\n if (obj[f] != null) {\n cy[f](obj[f]);\n }\n }\n cy.endBatch();\n return this; // chaining\n } else {\n // get\n var flat = !!obj;\n var json = {};\n if (flat) {\n json.elements = this.elements().map(function (ele) {\n return ele.json();\n });\n } else {\n json.elements = {};\n eles.forEach(function (ele) {\n var group = ele.group();\n if (!json.elements[group]) {\n json.elements[group] = [];\n }\n json.elements[group].push(ele.json());\n });\n }\n if (this._private.styleEnabled) {\n json.style = cy.style().json();\n }\n json.data = copy(cy.data());\n var options = _p.options;\n json.zoomingEnabled = _p.zoomingEnabled;\n json.userZoomingEnabled = _p.userZoomingEnabled;\n json.zoom = _p.zoom;\n json.minZoom = _p.minZoom;\n json.maxZoom = _p.maxZoom;\n json.panningEnabled = _p.panningEnabled;\n json.userPanningEnabled = _p.userPanningEnabled;\n json.pan = copy(_p.pan);\n json.boxSelectionEnabled = _p.boxSelectionEnabled;\n json.renderer = copy(options.renderer);\n json.hideEdgesOnViewport = options.hideEdgesOnViewport;\n json.textureOnViewport = options.textureOnViewport;\n json.wheelSensitivity = options.wheelSensitivity;\n json.motionBlur = options.motionBlur;\n json.multiClickDebounceTime = options.multiClickDebounceTime;\n return json;\n }\n }\n});\ncorefn.$id = corefn.getElementById;\n[corefn$9, corefn$8, elesfn, corefn$7, corefn$6, corefn$5, corefn$4, corefn$3, corefn$2, corefn$1, fn].forEach(function (props) {\n extend(corefn, props);\n});\n\n/* eslint-disable no-unused-vars */\nvar defaults$7 = {\n fit: true,\n // whether to fit the viewport to the graph\n directed: false,\n // whether the tree is directed downwards (or edges can point in any direction if false)\n padding: 30,\n // padding on fit\n circle: false,\n // put depths in concentric circles if true, put depths top down if false\n grid: false,\n // whether to create an even grid into which the DAG is placed (circle:false only)\n spacingFactor: 1.75,\n // positive spacing factor, larger => more space between nodes (N.B. n/a if causes overlap)\n boundingBox: undefined,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox if not enough space\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n roots: undefined,\n // the roots of the trees\n depthSort: undefined,\n // a sorting function to order nodes at equal depth. e.g. function(a, b){ return a.data('weight') - b.data('weight') }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: undefined,\n // easing of animation if enabled,\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: undefined,\n // callback on layoutready\n stop: undefined,\n // callback on layoutstop\n transform: function transform(node, position) {\n return position;\n } // transform a given node position. Useful for changing flow direction in discrete layouts\n};\nvar deprecatedOptionDefaults = {\n maximal: false,\n // whether to shift nodes down their natural BFS depths in order to avoid upwards edges (DAGS only); setting acyclic to true sets maximal to true also\n acyclic: false // whether the tree is acyclic and thus a node could be shifted (due to the maximal option) multiple times without causing an infinite loop; setting to true sets maximal to true also; if you are uncertain whether a tree is acyclic, set to false to avoid potential infinite loops\n};\n\n/* eslint-enable */\n\nvar getInfo = function getInfo(ele) {\n return ele.scratch('breadthfirst');\n};\nvar setInfo = function setInfo(ele, obj) {\n return ele.scratch('breadthfirst', obj);\n};\nfunction BreadthFirstLayout(options) {\n this.options = extend({}, defaults$7, deprecatedOptionDefaults, options);\n}\nBreadthFirstLayout.prototype.run = function () {\n var options = this.options;\n var cy = options.cy;\n var eles = options.eles;\n var nodes = eles.nodes().filter(function (n) {\n return n.isChildless();\n });\n var graph = eles;\n var directed = options.directed;\n var maximal = options.acyclic || options.maximal || options.maximalAdjustments > 0; // maximalAdjustments for compat. w/ old code; also, setting acyclic to true sets maximal to true\n\n var hasBoundingBox = !!options.boundingBox;\n var cyExtent = cy.extent();\n var bb = makeBoundingBox(hasBoundingBox ? options.boundingBox : {\n x1: cyExtent.x1,\n y1: cyExtent.y1,\n w: cyExtent.w,\n h: cyExtent.h\n });\n var roots;\n if (elementOrCollection(options.roots)) {\n roots = options.roots;\n } else if (array(options.roots)) {\n var rootsArray = [];\n for (var i = 0; i < options.roots.length; i++) {\n var id = options.roots[i];\n var ele = cy.getElementById(id);\n rootsArray.push(ele);\n }\n roots = cy.collection(rootsArray);\n } else if (string(options.roots)) {\n roots = cy.$(options.roots);\n } else {\n if (directed) {\n roots = nodes.roots();\n } else {\n var components = eles.components();\n roots = cy.collection();\n var _loop = function _loop() {\n var comp = components[_i];\n var maxDegree = comp.maxDegree(false);\n var compRoots = comp.filter(function (ele) {\n return ele.degree(false) === maxDegree;\n });\n roots = roots.add(compRoots);\n };\n for (var _i = 0; _i < components.length; _i++) {\n _loop();\n }\n }\n }\n var depths = [];\n var foundByBfs = {};\n var addToDepth = function addToDepth(ele, d) {\n if (depths[d] == null) {\n depths[d] = [];\n }\n var i = depths[d].length;\n depths[d].push(ele);\n setInfo(ele, {\n index: i,\n depth: d\n });\n };\n var changeDepth = function changeDepth(ele, newDepth) {\n var _getInfo = getInfo(ele),\n depth = _getInfo.depth,\n index = _getInfo.index;\n depths[depth][index] = null;\n\n // add only childless nodes\n if (ele.isChildless()) addToDepth(ele, newDepth);\n };\n\n // find the depths of the nodes\n graph.bfs({\n roots: roots,\n directed: options.directed,\n visit: function visit(node, edge, pNode, i, depth) {\n var ele = node[0];\n var id = ele.id();\n\n // add only childless nodes\n if (ele.isChildless()) addToDepth(ele, depth);\n foundByBfs[id] = true;\n }\n });\n\n // check for nodes not found by bfs\n var orphanNodes = [];\n for (var _i2 = 0; _i2 < nodes.length; _i2++) {\n var _ele = nodes[_i2];\n if (foundByBfs[_ele.id()]) {\n continue;\n } else {\n orphanNodes.push(_ele);\n }\n }\n\n // assign the nodes a depth and index\n var assignDepthsAt = function assignDepthsAt(i) {\n var eles = depths[i];\n for (var j = 0; j < eles.length; j++) {\n var _ele2 = eles[j];\n if (_ele2 == null) {\n eles.splice(j, 1);\n j--;\n continue;\n }\n setInfo(_ele2, {\n depth: i,\n index: j\n });\n }\n };\n var adjustMaximally = function adjustMaximally(ele, shifted) {\n var eInfo = getInfo(ele);\n var incomers = ele.incomers().filter(function (el) {\n return el.isNode() && eles.has(el);\n });\n var maxDepth = -1;\n var id = ele.id();\n for (var k = 0; k < incomers.length; k++) {\n var incmr = incomers[k];\n var iInfo = getInfo(incmr);\n maxDepth = Math.max(maxDepth, iInfo.depth);\n }\n if (eInfo.depth <= maxDepth) {\n if (!options.acyclic && shifted[id]) {\n return null;\n }\n var newDepth = maxDepth + 1;\n changeDepth(ele, newDepth);\n shifted[id] = newDepth;\n return true;\n }\n return false;\n };\n\n // for the directed case, try to make the edges all go down (i.e. depth i => depth i + 1)\n if (directed && maximal) {\n var Q = [];\n var shifted = {};\n var enqueue = function enqueue(n) {\n return Q.push(n);\n };\n var dequeue = function dequeue() {\n return Q.shift();\n };\n nodes.forEach(function (n) {\n return Q.push(n);\n });\n while (Q.length > 0) {\n var _ele3 = dequeue();\n var didShift = adjustMaximally(_ele3, shifted);\n if (didShift) {\n _ele3.outgoers().filter(function (el) {\n return el.isNode() && eles.has(el);\n }).forEach(enqueue);\n } else if (didShift === null) {\n warn('Detected double maximal shift for node `' + _ele3.id() + '`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.');\n break; // exit on failure\n }\n }\n }\n\n // find min distance we need to leave between nodes\n var minDistance = 0;\n if (options.avoidOverlap) {\n for (var _i3 = 0; _i3 < nodes.length; _i3++) {\n var n = nodes[_i3];\n var nbb = n.layoutDimensions(options);\n var w = nbb.w;\n var h = nbb.h;\n minDistance = Math.max(minDistance, w, h);\n }\n }\n\n // get the weighted percent for an element based on its connectivity to other levels\n var cachedWeightedPercent = {};\n var getWeightedPercent = function getWeightedPercent(ele) {\n if (cachedWeightedPercent[ele.id()]) {\n return cachedWeightedPercent[ele.id()];\n }\n var eleDepth = getInfo(ele).depth;\n var neighbors = ele.neighborhood();\n var percent = 0;\n var samples = 0;\n for (var _i4 = 0; _i4 < neighbors.length; _i4++) {\n var neighbor = neighbors[_i4];\n if (neighbor.isEdge() || neighbor.isParent() || !nodes.has(neighbor)) {\n continue;\n }\n var bf = getInfo(neighbor);\n if (bf == null) {\n continue;\n }\n var index = bf.index;\n var depth = bf.depth;\n\n // unassigned neighbours shouldn't affect the ordering\n if (index == null || depth == null) {\n continue;\n }\n var nDepth = depths[depth].length;\n if (depth < eleDepth) {\n // only get influenced by elements above\n percent += index / nDepth;\n samples++;\n }\n }\n samples = Math.max(1, samples);\n percent = percent / samples;\n if (samples === 0) {\n // put lone nodes at the start\n percent = 0;\n }\n cachedWeightedPercent[ele.id()] = percent;\n return percent;\n };\n\n // rearrange the indices in each depth level based on connectivity\n var sortFn = function sortFn(a, b) {\n var apct = getWeightedPercent(a);\n var bpct = getWeightedPercent(b);\n var diff = apct - bpct;\n if (diff === 0) {\n return ascending(a.id(), b.id()); // make sure sort doesn't have don't-care comparisons\n } else {\n return diff;\n }\n };\n if (options.depthSort !== undefined) {\n sortFn = options.depthSort;\n }\n var depthsLen = depths.length;\n\n // sort each level to make connected nodes closer\n for (var _i5 = 0; _i5 < depthsLen; _i5++) {\n depths[_i5].sort(sortFn);\n assignDepthsAt(_i5);\n }\n\n // assign orphan nodes to a new top-level depth\n var orphanDepth = [];\n for (var _i6 = 0; _i6 < orphanNodes.length; _i6++) {\n orphanDepth.push(orphanNodes[_i6]);\n }\n var assignDepths = function assignDepths() {\n for (var _i7 = 0; _i7 < depthsLen; _i7++) {\n assignDepthsAt(_i7);\n }\n };\n\n // add a new top-level depth only when there are orphan nodes\n if (orphanDepth.length) {\n depths.unshift(orphanDepth);\n depthsLen = depths.length;\n assignDepths();\n }\n var biggestDepthSize = 0;\n for (var _i8 = 0; _i8 < depthsLen; _i8++) {\n biggestDepthSize = Math.max(depths[_i8].length, biggestDepthSize);\n }\n var center = {\n x: bb.x1 + bb.w / 2,\n y: bb.y1 + bb.h / 2\n };\n\n // average node size\n var aveNodeSize = nodes.reduce(function (acc, node) {\n return function (box) {\n return {\n w: acc.w === -1 ? box.w : (acc.w + box.w) / 2,\n h: acc.h === -1 ? box.h : (acc.h + box.h) / 2\n };\n }(node.boundingBox({\n includeLabels: options.nodeDimensionsIncludeLabels\n }));\n }, {\n w: -1,\n h: -1\n });\n var distanceY = Math.max(\n // only one depth\n depthsLen === 1 ? 0 :\n // inside a bounding box, no need for top & bottom padding\n hasBoundingBox ? (bb.h - options.padding * 2 - aveNodeSize.h) / (depthsLen - 1) : (bb.h - options.padding * 2 - aveNodeSize.h) / (depthsLen + 1), minDistance);\n var maxDepthSize = depths.reduce(function (max, eles) {\n return Math.max(max, eles.length);\n }, 0);\n var getPosition = function getPosition(ele) {\n var _getInfo2 = getInfo(ele),\n depth = _getInfo2.depth,\n index = _getInfo2.index;\n if (options.circle) {\n var radiusStepSize = Math.min(bb.w / 2 / depthsLen, bb.h / 2 / depthsLen);\n radiusStepSize = Math.max(radiusStepSize, minDistance);\n var radius = radiusStepSize * depth + radiusStepSize - (depthsLen > 0 && depths[0].length <= 3 ? radiusStepSize / 2 : 0);\n var theta = 2 * Math.PI / depths[depth].length * index;\n if (depth === 0 && depths[0].length === 1) {\n radius = 1;\n }\n return {\n x: center.x + radius * Math.cos(theta),\n y: center.y + radius * Math.sin(theta)\n };\n } else {\n var depthSize = depths[depth].length;\n var distanceX = Math.max(\n // only one depth\n depthSize === 1 ? 0 :\n // inside a bounding box, no need for left & right padding\n hasBoundingBox ? (bb.w - options.padding * 2 - aveNodeSize.w) / ((options.grid ? maxDepthSize : depthSize) - 1) : (bb.w - options.padding * 2 - aveNodeSize.w) / ((options.grid ? maxDepthSize : depthSize) + 1), minDistance);\n var epos = {\n x: center.x + (index + 1 - (depthSize + 1) / 2) * distanceX,\n y: center.y + (depth + 1 - (depthsLen + 1) / 2) * distanceY\n };\n return epos;\n }\n };\n eles.nodes().layoutPositions(this, options, getPosition);\n return this; // chaining\n};\n\nvar defaults$6 = {\n fit: true,\n // whether to fit the viewport to the graph\n padding: 30,\n // the padding on fit\n boundingBox: undefined,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox and radius if not enough space\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n spacingFactor: undefined,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n radius: undefined,\n // the radius of the circle\n startAngle: 3 / 2 * Math.PI,\n // where nodes start in radians\n sweep: undefined,\n // how many radians should be between the first and last node (defaults to full circle)\n clockwise: true,\n // whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false)\n sort: undefined,\n // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: undefined,\n // easing of animation if enabled\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: undefined,\n // callback on layoutready\n stop: undefined,\n // callback on layoutstop\n transform: function transform(node, position) {\n return position;\n } // transform a given node position. Useful for changing flow direction in discrete layouts \n};\nfunction CircleLayout(options) {\n this.options = extend({}, defaults$6, options);\n}\nCircleLayout.prototype.run = function () {\n var params = this.options;\n var options = params;\n var cy = params.cy;\n var eles = options.eles;\n var clockwise = options.counterclockwise !== undefined ? !options.counterclockwise : options.clockwise;\n var nodes = eles.nodes().not(':parent');\n if (options.sort) {\n nodes = nodes.sort(options.sort);\n }\n var bb = makeBoundingBox(options.boundingBox ? options.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var center = {\n x: bb.x1 + bb.w / 2,\n y: bb.y1 + bb.h / 2\n };\n var sweep = options.sweep === undefined ? 2 * Math.PI - 2 * Math.PI / nodes.length : options.sweep;\n var dTheta = sweep / Math.max(1, nodes.length - 1);\n var r;\n var minDistance = 0;\n for (var i = 0; i < nodes.length; i++) {\n var n = nodes[i];\n var nbb = n.layoutDimensions(options);\n var w = nbb.w;\n var h = nbb.h;\n minDistance = Math.max(minDistance, w, h);\n }\n if (number$1(options.radius)) {\n r = options.radius;\n } else if (nodes.length <= 1) {\n r = 0;\n } else {\n r = Math.min(bb.h, bb.w) / 2 - minDistance;\n }\n\n // calculate the radius\n if (nodes.length > 1 && options.avoidOverlap) {\n // but only if more than one node (can't overlap)\n minDistance *= 1.75; // just to have some nice spacing\n\n var dcos = Math.cos(dTheta) - Math.cos(0);\n var dsin = Math.sin(dTheta) - Math.sin(0);\n var rMin = Math.sqrt(minDistance * minDistance / (dcos * dcos + dsin * dsin)); // s.t. no nodes overlapping\n r = Math.max(rMin, r);\n }\n var getPos = function getPos(ele, i) {\n var theta = options.startAngle + i * dTheta * (clockwise ? 1 : -1);\n var rx = r * Math.cos(theta);\n var ry = r * Math.sin(theta);\n var pos = {\n x: center.x + rx,\n y: center.y + ry\n };\n return pos;\n };\n eles.nodes().layoutPositions(this, options, getPos);\n return this; // chaining\n};\n\nvar defaults$5 = {\n fit: true,\n // whether to fit the viewport to the graph\n padding: 30,\n // the padding on fit\n startAngle: 3 / 2 * Math.PI,\n // where nodes start in radians\n sweep: undefined,\n // how many radians should be between the first and last node (defaults to full circle)\n clockwise: true,\n // whether the layout should go clockwise (true) or counterclockwise/anticlockwise (false)\n equidistant: false,\n // whether levels have an equal radial distance betwen them, may cause bounding box overflow\n minNodeSpacing: 10,\n // min spacing between outside of nodes (used for radius adjustment)\n boundingBox: undefined,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox if not enough space\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n height: undefined,\n // height of layout area (overrides container height)\n width: undefined,\n // width of layout area (overrides container width)\n spacingFactor: undefined,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n concentric: function concentric(node) {\n // returns numeric value for each node, placing higher nodes in levels towards the centre\n return node.degree();\n },\n levelWidth: function levelWidth(nodes) {\n // the variation of concentric values in each level\n return nodes.maxDegree() / 4;\n },\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: undefined,\n // easing of animation if enabled\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: undefined,\n // callback on layoutready\n stop: undefined,\n // callback on layoutstop\n transform: function transform(node, position) {\n return position;\n } // transform a given node position. Useful for changing flow direction in discrete layouts\n};\nfunction ConcentricLayout(options) {\n this.options = extend({}, defaults$5, options);\n}\nConcentricLayout.prototype.run = function () {\n var params = this.options;\n var options = params;\n var clockwise = options.counterclockwise !== undefined ? !options.counterclockwise : options.clockwise;\n var cy = params.cy;\n var eles = options.eles;\n var nodes = eles.nodes().not(':parent');\n var bb = makeBoundingBox(options.boundingBox ? options.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var center = {\n x: bb.x1 + bb.w / 2,\n y: bb.y1 + bb.h / 2\n };\n var nodeValues = []; // { node, value }\n var maxNodeSize = 0;\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var value = undefined;\n\n // calculate the node value\n value = options.concentric(node);\n nodeValues.push({\n value: value,\n node: node\n });\n\n // for style mapping\n node._private.scratch.concentric = value;\n }\n\n // in case we used the `concentric` in style\n nodes.updateStyle();\n\n // calculate max size now based on potentially updated mappers\n for (var _i = 0; _i < nodes.length; _i++) {\n var _node = nodes[_i];\n var nbb = _node.layoutDimensions(options);\n maxNodeSize = Math.max(maxNodeSize, nbb.w, nbb.h);\n }\n\n // sort node values in descreasing order\n nodeValues.sort(function (a, b) {\n return b.value - a.value;\n });\n var levelWidth = options.levelWidth(nodes);\n\n // put the values into levels\n var levels = [[]];\n var currentLevel = levels[0];\n for (var _i2 = 0; _i2 < nodeValues.length; _i2++) {\n var val = nodeValues[_i2];\n if (currentLevel.length > 0) {\n var diff = Math.abs(currentLevel[0].value - val.value);\n if (diff >= levelWidth) {\n currentLevel = [];\n levels.push(currentLevel);\n }\n }\n currentLevel.push(val);\n }\n\n // create positions from levels\n\n var minDist = maxNodeSize + options.minNodeSpacing; // min dist between nodes\n\n if (!options.avoidOverlap) {\n // then strictly constrain to bb\n var firstLvlHasMulti = levels.length > 0 && levels[0].length > 1;\n var maxR = Math.min(bb.w, bb.h) / 2 - minDist;\n var rStep = maxR / (levels.length + firstLvlHasMulti ? 1 : 0);\n minDist = Math.min(minDist, rStep);\n }\n\n // find the metrics for each level\n var r = 0;\n for (var _i3 = 0; _i3 < levels.length; _i3++) {\n var level = levels[_i3];\n var sweep = options.sweep === undefined ? 2 * Math.PI - 2 * Math.PI / level.length : options.sweep;\n var dTheta = level.dTheta = sweep / Math.max(1, level.length - 1);\n\n // calculate the radius\n if (level.length > 1 && options.avoidOverlap) {\n // but only if more than one node (can't overlap)\n var dcos = Math.cos(dTheta) - Math.cos(0);\n var dsin = Math.sin(dTheta) - Math.sin(0);\n var rMin = Math.sqrt(minDist * minDist / (dcos * dcos + dsin * dsin)); // s.t. no nodes overlapping\n\n r = Math.max(rMin, r);\n }\n level.r = r;\n r += minDist;\n }\n if (options.equidistant) {\n var rDeltaMax = 0;\n var _r = 0;\n for (var _i4 = 0; _i4 < levels.length; _i4++) {\n var _level = levels[_i4];\n var rDelta = _level.r - _r;\n rDeltaMax = Math.max(rDeltaMax, rDelta);\n }\n _r = 0;\n for (var _i5 = 0; _i5 < levels.length; _i5++) {\n var _level2 = levels[_i5];\n if (_i5 === 0) {\n _r = _level2.r;\n }\n _level2.r = _r;\n _r += rDeltaMax;\n }\n }\n\n // calculate the node positions\n var pos = {}; // id => position\n for (var _i6 = 0; _i6 < levels.length; _i6++) {\n var _level3 = levels[_i6];\n var _dTheta = _level3.dTheta;\n var _r2 = _level3.r;\n for (var j = 0; j < _level3.length; j++) {\n var _val = _level3[j];\n var theta = options.startAngle + (clockwise ? 1 : -1) * _dTheta * j;\n var p = {\n x: center.x + _r2 * Math.cos(theta),\n y: center.y + _r2 * Math.sin(theta)\n };\n pos[_val.node.id()] = p;\n }\n }\n\n // position the nodes\n eles.nodes().layoutPositions(this, options, function (ele) {\n var id = ele.id();\n return pos[id];\n });\n return this; // chaining\n};\n\n/*\nThe CoSE layout was written by Gerardo Huck.\nhttps://www.linkedin.com/in/gerardohuck/\n\nBased on the following article:\nhttp://dl.acm.org/citation.cfm?id=1498047\n\nModifications tracked on Github.\n*/\n\nvar DEBUG;\n\n/**\n * @brief : default layout options\n */\nvar defaults$4 = {\n // Called on `layoutready`\n ready: function ready() {},\n // Called on `layoutstop`\n stop: function stop() {},\n // Whether to animate while running the layout\n // true : Animate continuously as the layout is running\n // false : Just show the end result\n // 'end' : Animate with the end result, from the initial positions to the end positions\n animate: true,\n // Easing of the animation for animate:'end'\n animationEasing: undefined,\n // The duration of the animation for animate:'end'\n animationDuration: undefined,\n // A function that determines whether the node should be animated\n // All nodes animated by default on animate enabled\n // Non-animated nodes are positioned immediately when the layout starts\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // The layout animates only after this many milliseconds for animate:true\n // (prevents flashing on fast runs)\n animationThreshold: 250,\n // Number of iterations between consecutive screen positions update\n refresh: 20,\n // Whether to fit the network view after when done\n fit: true,\n // Padding on fit\n padding: 30,\n // Constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n boundingBox: undefined,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n nodeDimensionsIncludeLabels: false,\n // Randomize the initial positions of the nodes (true) or use existing positions (false)\n randomize: false,\n // Extra spacing between components in non-compound graphs\n componentSpacing: 40,\n // Node repulsion (non overlapping) multiplier\n nodeRepulsion: function nodeRepulsion(node) {\n return 2048;\n },\n // Node repulsion (overlapping) multiplier\n nodeOverlap: 4,\n // Ideal edge (non nested) length\n idealEdgeLength: function idealEdgeLength(edge) {\n return 32;\n },\n // Divisor to compute edge forces\n edgeElasticity: function edgeElasticity(edge) {\n return 32;\n },\n // Nesting factor (multiplier) to compute ideal edge length for nested edges\n nestingFactor: 1.2,\n // Gravity force (constant)\n gravity: 1,\n // Maximum number of iterations to perform\n numIter: 1000,\n // Initial temperature (maximum node displacement)\n initialTemp: 1000,\n // Cooling factor (how the temperature is reduced between consecutive iterations\n coolingFactor: 0.99,\n // Lower temperature threshold (below this point the layout will end)\n minTemp: 1.0\n};\n\n/**\n * @brief : constructor\n * @arg options : object containing layout options\n */\nfunction CoseLayout(options) {\n this.options = extend({}, defaults$4, options);\n this.options.layout = this;\n\n // Exclude any edge that has a source or target node that is not in the set of passed-in nodes\n var nodes = this.options.eles.nodes();\n var edges = this.options.eles.edges();\n var notEdges = edges.filter(function (e) {\n var sourceId = e.source().data('id');\n var targetId = e.target().data('id');\n var hasSource = nodes.some(function (n) {\n return n.data('id') === sourceId;\n });\n var hasTarget = nodes.some(function (n) {\n return n.data('id') === targetId;\n });\n return !hasSource || !hasTarget;\n });\n this.options.eles = this.options.eles.not(notEdges);\n}\n\n/**\n * @brief : runs the layout\n */\nCoseLayout.prototype.run = function () {\n var options = this.options;\n var cy = options.cy;\n var layout = this;\n layout.stopped = false;\n if (options.animate === true || options.animate === false) {\n layout.emit({\n type: 'layoutstart',\n layout: layout\n });\n }\n\n // Set DEBUG - Global variable\n if (true === options.debug) {\n DEBUG = true;\n } else {\n DEBUG = false;\n }\n\n // Initialize layout info\n var layoutInfo = createLayoutInfo(cy, layout, options);\n\n // Show LayoutInfo contents if debugging\n if (DEBUG) {\n printLayoutInfo(layoutInfo);\n }\n\n // If required, randomize node positions\n if (options.randomize) {\n randomizePositions(layoutInfo);\n }\n var startTime = performanceNow();\n var refresh = function refresh() {\n refreshPositions(layoutInfo, cy, options);\n\n // Fit the graph if necessary\n if (true === options.fit) {\n cy.fit(options.padding);\n }\n };\n var mainLoop = function mainLoop(i) {\n if (layout.stopped || i >= options.numIter) {\n // logDebug(\"Layout manually stopped. Stopping computation in step \" + i);\n return false;\n }\n\n // Do one step in the phisical simulation\n step(layoutInfo, options);\n\n // Update temperature\n layoutInfo.temperature = layoutInfo.temperature * options.coolingFactor;\n // logDebug(\"New temperature: \" + layoutInfo.temperature);\n\n if (layoutInfo.temperature < options.minTemp) {\n // logDebug(\"Temperature drop below minimum threshold. Stopping computation in step \" + i);\n return false;\n }\n return true;\n };\n var done = function done() {\n if (options.animate === true || options.animate === false) {\n refresh();\n\n // Layout has finished\n layout.one('layoutstop', options.stop);\n layout.emit({\n type: 'layoutstop',\n layout: layout\n });\n } else {\n var nodes = options.eles.nodes();\n var getScaledPos = getScaleInBoundsFn(layoutInfo, options, nodes);\n nodes.layoutPositions(layout, options, getScaledPos);\n }\n };\n var i = 0;\n var loopRet = true;\n if (options.animate === true) {\n var _frame = function frame() {\n var f = 0;\n while (loopRet && f < options.refresh) {\n loopRet = mainLoop(i);\n i++;\n f++;\n }\n if (!loopRet) {\n // it's done\n separateComponents(layoutInfo, options);\n done();\n } else {\n var now = performanceNow();\n if (now - startTime >= options.animationThreshold) {\n refresh();\n }\n requestAnimationFrame(_frame);\n }\n };\n _frame();\n } else {\n while (loopRet) {\n loopRet = mainLoop(i);\n i++;\n }\n separateComponents(layoutInfo, options);\n done();\n }\n return this; // chaining\n};\n\n/**\n * @brief : called on continuous layouts to stop them before they finish\n */\nCoseLayout.prototype.stop = function () {\n this.stopped = true;\n if (this.thread) {\n this.thread.stop();\n }\n this.emit('layoutstop');\n return this; // chaining\n};\nCoseLayout.prototype.destroy = function () {\n if (this.thread) {\n this.thread.stop();\n }\n return this; // chaining\n};\n\n/**\n * @brief : Creates an object which is contains all the data\n * used in the layout process\n * @arg cy : cytoscape.js object\n * @return : layoutInfo object initialized\n */\nvar createLayoutInfo = function createLayoutInfo(cy, layout, options) {\n // Shortcut\n var edges = options.eles.edges();\n var nodes = options.eles.nodes();\n var bb = makeBoundingBox(options.boundingBox ? options.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var layoutInfo = {\n isCompound: cy.hasCompoundNodes(),\n layoutNodes: [],\n idToIndex: {},\n nodeSize: nodes.size(),\n graphSet: [],\n indexToGraph: [],\n layoutEdges: [],\n edgeSize: edges.size(),\n temperature: options.initialTemp,\n clientWidth: bb.w,\n clientHeight: bb.h,\n boundingBox: bb\n };\n var components = options.eles.components();\n var id2cmptId = {};\n for (var i = 0; i < components.length; i++) {\n var component = components[i];\n for (var j = 0; j < component.length; j++) {\n var node = component[j];\n id2cmptId[node.id()] = i;\n }\n }\n\n // Iterate over all nodes, creating layout nodes\n for (var i = 0; i < layoutInfo.nodeSize; i++) {\n var n = nodes[i];\n var nbb = n.layoutDimensions(options);\n var tempNode = {};\n tempNode.isLocked = n.locked();\n tempNode.id = n.data('id');\n tempNode.parentId = n.data('parent');\n tempNode.cmptId = id2cmptId[n.id()];\n tempNode.children = [];\n tempNode.positionX = n.position('x');\n tempNode.positionY = n.position('y');\n tempNode.offsetX = 0;\n tempNode.offsetY = 0;\n tempNode.height = nbb.w;\n tempNode.width = nbb.h;\n tempNode.maxX = tempNode.positionX + tempNode.width / 2;\n tempNode.minX = tempNode.positionX - tempNode.width / 2;\n tempNode.maxY = tempNode.positionY + tempNode.height / 2;\n tempNode.minY = tempNode.positionY - tempNode.height / 2;\n tempNode.padLeft = parseFloat(n.style('padding'));\n tempNode.padRight = parseFloat(n.style('padding'));\n tempNode.padTop = parseFloat(n.style('padding'));\n tempNode.padBottom = parseFloat(n.style('padding'));\n\n // forces\n tempNode.nodeRepulsion = fn$6(options.nodeRepulsion) ? options.nodeRepulsion(n) : options.nodeRepulsion;\n\n // Add new node\n layoutInfo.layoutNodes.push(tempNode);\n // Add entry to id-index map\n layoutInfo.idToIndex[tempNode.id] = i;\n }\n\n // Inline implementation of a queue, used for traversing the graph in BFS order\n var queue = [];\n var start = 0; // Points to the start the queue\n var end = -1; // Points to the end of the queue\n\n var tempGraph = [];\n\n // Second pass to add child information and\n // initialize queue for hierarchical traversal\n for (var i = 0; i < layoutInfo.nodeSize; i++) {\n var n = layoutInfo.layoutNodes[i];\n var p_id = n.parentId;\n // Check if node n has a parent node\n if (null != p_id) {\n // Add node Id to parent's list of children\n layoutInfo.layoutNodes[layoutInfo.idToIndex[p_id]].children.push(n.id);\n } else {\n // If a node doesn't have a parent, then it's in the root graph\n queue[++end] = n.id;\n tempGraph.push(n.id);\n }\n }\n\n // Add root graph to graphSet\n layoutInfo.graphSet.push(tempGraph);\n\n // Traverse the graph, level by level,\n while (start <= end) {\n // Get the node to visit and remove it from queue\n var node_id = queue[start++];\n var node_ix = layoutInfo.idToIndex[node_id];\n var node = layoutInfo.layoutNodes[node_ix];\n var children = node.children;\n if (children.length > 0) {\n // Add children nodes as a new graph to graph set\n layoutInfo.graphSet.push(children);\n // Add children to que queue to be visited\n for (var i = 0; i < children.length; i++) {\n queue[++end] = children[i];\n }\n }\n }\n\n // Create indexToGraph map\n for (var i = 0; i < layoutInfo.graphSet.length; i++) {\n var graph = layoutInfo.graphSet[i];\n for (var j = 0; j < graph.length; j++) {\n var index = layoutInfo.idToIndex[graph[j]];\n layoutInfo.indexToGraph[index] = i;\n }\n }\n\n // Iterate over all edges, creating Layout Edges\n for (var i = 0; i < layoutInfo.edgeSize; i++) {\n var e = edges[i];\n var tempEdge = {};\n tempEdge.id = e.data('id');\n tempEdge.sourceId = e.data('source');\n tempEdge.targetId = e.data('target');\n\n // Compute ideal length\n var idealLength = fn$6(options.idealEdgeLength) ? options.idealEdgeLength(e) : options.idealEdgeLength;\n var elasticity = fn$6(options.edgeElasticity) ? options.edgeElasticity(e) : options.edgeElasticity;\n\n // Check if it's an inter graph edge\n var sourceIx = layoutInfo.idToIndex[tempEdge.sourceId];\n var targetIx = layoutInfo.idToIndex[tempEdge.targetId];\n var sourceGraph = layoutInfo.indexToGraph[sourceIx];\n var targetGraph = layoutInfo.indexToGraph[targetIx];\n if (sourceGraph != targetGraph) {\n // Find lowest common graph ancestor\n var lca = findLCA(tempEdge.sourceId, tempEdge.targetId, layoutInfo);\n\n // Compute sum of node depths, relative to lca graph\n var lcaGraph = layoutInfo.graphSet[lca];\n var depth = 0;\n\n // Source depth\n var tempNode = layoutInfo.layoutNodes[sourceIx];\n while (-1 === lcaGraph.indexOf(tempNode.id)) {\n tempNode = layoutInfo.layoutNodes[layoutInfo.idToIndex[tempNode.parentId]];\n depth++;\n }\n\n // Target depth\n tempNode = layoutInfo.layoutNodes[targetIx];\n while (-1 === lcaGraph.indexOf(tempNode.id)) {\n tempNode = layoutInfo.layoutNodes[layoutInfo.idToIndex[tempNode.parentId]];\n depth++;\n }\n\n // logDebug('LCA of nodes ' + tempEdge.sourceId + ' and ' + tempEdge.targetId +\n // \". Index: \" + lca + \" Contents: \" + lcaGraph.toString() +\n // \". Depth: \" + depth);\n\n // Update idealLength\n idealLength *= depth * options.nestingFactor;\n }\n tempEdge.idealLength = idealLength;\n tempEdge.elasticity = elasticity;\n layoutInfo.layoutEdges.push(tempEdge);\n }\n\n // Finally, return layoutInfo object\n return layoutInfo;\n};\n\n/**\n * @brief : This function finds the index of the lowest common\n * graph ancestor between 2 nodes in the subtree\n * (from the graph hierarchy induced tree) whose\n * root is graphIx\n *\n * @arg node1: node1's ID\n * @arg node2: node2's ID\n * @arg layoutInfo: layoutInfo object\n *\n */\nvar findLCA = function findLCA(node1, node2, layoutInfo) {\n // Find their common ancester, starting from the root graph\n var res = _findLCA_aux(node1, node2, 0, layoutInfo);\n if (2 > res.count) {\n // If aux function couldn't find the common ancester,\n // then it is the root graph\n return 0;\n } else {\n return res.graph;\n }\n};\n\n/**\n * @brief : Auxiliary function used for LCA computation\n *\n * @arg node1 : node1's ID\n * @arg node2 : node2's ID\n * @arg graphIx : subgraph index\n * @arg layoutInfo : layoutInfo object\n *\n * @return : object of the form {count: X, graph: Y}, where:\n * X is the number of ancestors (max: 2) found in\n * graphIx (and it's subgraphs),\n * Y is the graph index of the lowest graph containing\n * all X nodes\n */\nvar _findLCA_aux = function findLCA_aux(node1, node2, graphIx, layoutInfo) {\n var graph = layoutInfo.graphSet[graphIx];\n // If both nodes belongs to graphIx\n if (-1 < graph.indexOf(node1) && -1 < graph.indexOf(node2)) {\n return {\n count: 2,\n graph: graphIx\n };\n }\n\n // Make recursive calls for all subgraphs\n var c = 0;\n for (var i = 0; i < graph.length; i++) {\n var nodeId = graph[i];\n var nodeIx = layoutInfo.idToIndex[nodeId];\n var children = layoutInfo.layoutNodes[nodeIx].children;\n\n // If the node has no child, skip it\n if (0 === children.length) {\n continue;\n }\n var childGraphIx = layoutInfo.indexToGraph[layoutInfo.idToIndex[children[0]]];\n var result = _findLCA_aux(node1, node2, childGraphIx, layoutInfo);\n if (0 === result.count) {\n // Neither node1 nor node2 are present in this subgraph\n continue;\n } else if (1 === result.count) {\n // One of (node1, node2) is present in this subgraph\n c++;\n if (2 === c) {\n // We've already found both nodes, no need to keep searching\n break;\n }\n } else {\n // Both nodes are present in this subgraph\n return result;\n }\n }\n return {\n count: c,\n graph: graphIx\n };\n};\n\n/**\n * @brief: printsLayoutInfo into js console\n * Only used for debbuging\n */\nvar printLayoutInfo; \n\n/**\n * @brief : Randomizes the position of all nodes\n */\nvar randomizePositions = function randomizePositions(layoutInfo, cy) {\n var width = layoutInfo.clientWidth;\n var height = layoutInfo.clientHeight;\n for (var i = 0; i < layoutInfo.nodeSize; i++) {\n var n = layoutInfo.layoutNodes[i];\n\n // No need to randomize compound nodes or locked nodes\n if (0 === n.children.length && !n.isLocked) {\n n.positionX = Math.random() * width;\n n.positionY = Math.random() * height;\n }\n }\n};\nvar getScaleInBoundsFn = function getScaleInBoundsFn(layoutInfo, options, nodes) {\n var bb = layoutInfo.boundingBox;\n var coseBB = {\n x1: Infinity,\n x2: -Infinity,\n y1: Infinity,\n y2: -Infinity\n };\n if (options.boundingBox) {\n nodes.forEach(function (node) {\n var lnode = layoutInfo.layoutNodes[layoutInfo.idToIndex[node.data('id')]];\n coseBB.x1 = Math.min(coseBB.x1, lnode.positionX);\n coseBB.x2 = Math.max(coseBB.x2, lnode.positionX);\n coseBB.y1 = Math.min(coseBB.y1, lnode.positionY);\n coseBB.y2 = Math.max(coseBB.y2, lnode.positionY);\n });\n coseBB.w = coseBB.x2 - coseBB.x1;\n coseBB.h = coseBB.y2 - coseBB.y1;\n }\n return function (ele, i) {\n var lnode = layoutInfo.layoutNodes[layoutInfo.idToIndex[ele.data('id')]];\n if (options.boundingBox) {\n // then add extra bounding box constraint\n var pctX = (lnode.positionX - coseBB.x1) / coseBB.w;\n var pctY = (lnode.positionY - coseBB.y1) / coseBB.h;\n return {\n x: bb.x1 + pctX * bb.w,\n y: bb.y1 + pctY * bb.h\n };\n } else {\n return {\n x: lnode.positionX,\n y: lnode.positionY\n };\n }\n };\n};\n\n/**\n * @brief : Updates the positions of nodes in the network\n * @arg layoutInfo : LayoutInfo object\n * @arg cy : Cytoscape object\n * @arg options : Layout options\n */\nvar refreshPositions = function refreshPositions(layoutInfo, cy, options) {\n // var s = 'Refreshing positions';\n // logDebug(s);\n\n var layout = options.layout;\n var nodes = options.eles.nodes();\n var getScaledPos = getScaleInBoundsFn(layoutInfo, options, nodes);\n nodes.positions(getScaledPos);\n\n // Trigger layoutReady only on first call\n if (true !== layoutInfo.ready) {\n // s = 'Triggering layoutready';\n // logDebug(s);\n layoutInfo.ready = true;\n layout.one('layoutready', options.ready);\n layout.emit({\n type: 'layoutready',\n layout: this\n });\n }\n};\n\n/**\n * @brief : Logs a debug message in JS console, if DEBUG is ON\n */\n// var logDebug = function(text) {\n// if (DEBUG) {\n// console.debug(text);\n// }\n// };\n\n/**\n * @brief : Performs one iteration of the physical simulation\n * @arg layoutInfo : LayoutInfo object already initialized\n * @arg cy : Cytoscape object\n * @arg options : Layout options\n */\nvar step = function step(layoutInfo, options, _step) {\n // var s = \"\\n\\n###############################\";\n // s += \"\\nSTEP: \" + step;\n // s += \"\\n###############################\\n\";\n // logDebug(s);\n\n // Calculate node repulsions\n calculateNodeForces(layoutInfo, options);\n // Calculate edge forces\n calculateEdgeForces(layoutInfo);\n // Calculate gravity forces\n calculateGravityForces(layoutInfo, options);\n // Propagate forces from parent to child\n propagateForces(layoutInfo);\n // Update positions based on calculated forces\n updatePositions(layoutInfo);\n};\n\n/**\n * @brief : Computes the node repulsion forces\n */\nvar calculateNodeForces = function calculateNodeForces(layoutInfo, options) {\n // Go through each of the graphs in graphSet\n // Nodes only repel each other if they belong to the same graph\n // var s = 'calculateNodeForces';\n // logDebug(s);\n for (var i = 0; i < layoutInfo.graphSet.length; i++) {\n var graph = layoutInfo.graphSet[i];\n var numNodes = graph.length;\n\n // s = \"Set: \" + graph.toString();\n // logDebug(s);\n\n // Now get all the pairs of nodes\n // Only get each pair once, (A, B) = (B, A)\n for (var j = 0; j < numNodes; j++) {\n var node1 = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[j]]];\n for (var k = j + 1; k < numNodes; k++) {\n var node2 = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[k]]];\n nodeRepulsion(node1, node2, layoutInfo, options);\n }\n }\n }\n};\nvar randomDistance = function randomDistance(max) {\n return -1 + 2 * max * Math.random();\n};\n\n/**\n * @brief : Compute the node repulsion forces between a pair of nodes\n */\nvar nodeRepulsion = function nodeRepulsion(node1, node2, layoutInfo, options) {\n // var s = \"Node repulsion. Node1: \" + node1.id + \" Node2: \" + node2.id;\n\n var cmptId1 = node1.cmptId;\n var cmptId2 = node2.cmptId;\n if (cmptId1 !== cmptId2 && !layoutInfo.isCompound) {\n return;\n }\n\n // Get direction of line connecting both node centers\n var directionX = node2.positionX - node1.positionX;\n var directionY = node2.positionY - node1.positionY;\n var maxRandDist = 1;\n // s += \"\\ndirectionX: \" + directionX + \", directionY: \" + directionY;\n\n // If both centers are the same, apply a random force\n if (0 === directionX && 0 === directionY) {\n directionX = randomDistance(maxRandDist);\n directionY = randomDistance(maxRandDist);\n }\n var overlap = nodesOverlap(node1, node2, directionX, directionY);\n if (overlap > 0) {\n // s += \"\\nNodes DO overlap.\";\n // s += \"\\nOverlap: \" + overlap;\n // If nodes overlap, repulsion force is proportional\n // to the overlap\n var force = options.nodeOverlap * overlap;\n\n // Compute the module and components of the force vector\n var distance = Math.sqrt(directionX * directionX + directionY * directionY);\n // s += \"\\nDistance: \" + distance;\n var forceX = force * directionX / distance;\n var forceY = force * directionY / distance;\n } else {\n // s += \"\\nNodes do NOT overlap.\";\n // If there's no overlap, force is inversely proportional\n // to squared distance\n\n // Get clipping points for both nodes\n var point1 = findClippingPoint(node1, directionX, directionY);\n var point2 = findClippingPoint(node2, -1 * directionX, -1 * directionY);\n\n // Use clipping points to compute distance\n var distanceX = point2.x - point1.x;\n var distanceY = point2.y - point1.y;\n var distanceSqr = distanceX * distanceX + distanceY * distanceY;\n var distance = Math.sqrt(distanceSqr);\n // s += \"\\nDistance: \" + distance;\n\n // Compute the module and components of the force vector\n var force = (node1.nodeRepulsion + node2.nodeRepulsion) / distanceSqr;\n var forceX = force * distanceX / distance;\n var forceY = force * distanceY / distance;\n }\n\n // Apply force\n if (!node1.isLocked) {\n node1.offsetX -= forceX;\n node1.offsetY -= forceY;\n }\n if (!node2.isLocked) {\n node2.offsetX += forceX;\n node2.offsetY += forceY;\n }\n\n // s += \"\\nForceX: \" + forceX + \" ForceY: \" + forceY;\n // logDebug(s);\n\n return;\n};\n\n/**\n * @brief : Determines whether two nodes overlap or not\n * @return : Amount of overlapping (0 => no overlap)\n */\nvar nodesOverlap = function nodesOverlap(node1, node2, dX, dY) {\n if (dX > 0) {\n var overlapX = node1.maxX - node2.minX;\n } else {\n var overlapX = node2.maxX - node1.minX;\n }\n if (dY > 0) {\n var overlapY = node1.maxY - node2.minY;\n } else {\n var overlapY = node2.maxY - node1.minY;\n }\n if (overlapX >= 0 && overlapY >= 0) {\n return Math.sqrt(overlapX * overlapX + overlapY * overlapY);\n } else {\n return 0;\n }\n};\n\n/**\n * @brief : Finds the point in which an edge (direction dX, dY) intersects\n * the rectangular bounding box of it's source/target node\n */\nvar findClippingPoint = function findClippingPoint(node, dX, dY) {\n // Shorcuts\n var X = node.positionX;\n var Y = node.positionY;\n var H = node.height || 1;\n var W = node.width || 1;\n var dirSlope = dY / dX;\n var nodeSlope = H / W;\n\n // var s = 'Computing clipping point of node ' + node.id +\n // \" . Height: \" + H + \", Width: \" + W +\n // \"\\nDirection \" + dX + \", \" + dY;\n //\n // Compute intersection\n var res = {};\n\n // Case: Vertical direction (up)\n if (0 === dX && 0 < dY) {\n res.x = X;\n // s += \"\\nUp direction\";\n res.y = Y + H / 2;\n return res;\n }\n\n // Case: Vertical direction (down)\n if (0 === dX && 0 > dY) {\n res.x = X;\n res.y = Y + H / 2;\n // s += \"\\nDown direction\";\n\n return res;\n }\n\n // Case: Intersects the right border\n if (0 < dX && -1 * nodeSlope <= dirSlope && dirSlope <= nodeSlope) {\n res.x = X + W / 2;\n res.y = Y + W * dY / 2 / dX;\n // s += \"\\nRightborder\";\n\n return res;\n }\n\n // Case: Intersects the left border\n if (0 > dX && -1 * nodeSlope <= dirSlope && dirSlope <= nodeSlope) {\n res.x = X - W / 2;\n res.y = Y - W * dY / 2 / dX;\n // s += \"\\nLeftborder\";\n\n return res;\n }\n\n // Case: Intersects the top border\n if (0 < dY && (dirSlope <= -1 * nodeSlope || dirSlope >= nodeSlope)) {\n res.x = X + H * dX / 2 / dY;\n res.y = Y + H / 2;\n // s += \"\\nTop border\";\n\n return res;\n }\n\n // Case: Intersects the bottom border\n if (0 > dY && (dirSlope <= -1 * nodeSlope || dirSlope >= nodeSlope)) {\n res.x = X - H * dX / 2 / dY;\n res.y = Y - H / 2;\n // s += \"\\nBottom border\";\n\n return res;\n }\n\n // s += \"\\nClipping point found at \" + res.x + \", \" + res.y;\n // logDebug(s);\n return res;\n};\n\n/**\n * @brief : Calculates all edge forces\n */\nvar calculateEdgeForces = function calculateEdgeForces(layoutInfo, options) {\n // Iterate over all edges\n for (var i = 0; i < layoutInfo.edgeSize; i++) {\n // Get edge, source & target nodes\n var edge = layoutInfo.layoutEdges[i];\n var sourceIx = layoutInfo.idToIndex[edge.sourceId];\n var source = layoutInfo.layoutNodes[sourceIx];\n var targetIx = layoutInfo.idToIndex[edge.targetId];\n var target = layoutInfo.layoutNodes[targetIx];\n\n // Get direction of line connecting both node centers\n var directionX = target.positionX - source.positionX;\n var directionY = target.positionY - source.positionY;\n\n // If both centers are the same, do nothing.\n // A random force has already been applied as node repulsion\n if (0 === directionX && 0 === directionY) {\n continue;\n }\n\n // Get clipping points for both nodes\n var point1 = findClippingPoint(source, directionX, directionY);\n var point2 = findClippingPoint(target, -1 * directionX, -1 * directionY);\n var lx = point2.x - point1.x;\n var ly = point2.y - point1.y;\n var l = Math.sqrt(lx * lx + ly * ly);\n var force = Math.pow(edge.idealLength - l, 2) / edge.elasticity;\n if (0 !== l) {\n var forceX = force * lx / l;\n var forceY = force * ly / l;\n } else {\n var forceX = 0;\n var forceY = 0;\n }\n\n // Add this force to target and source nodes\n if (!source.isLocked) {\n source.offsetX += forceX;\n source.offsetY += forceY;\n }\n if (!target.isLocked) {\n target.offsetX -= forceX;\n target.offsetY -= forceY;\n }\n\n // var s = 'Edge force between nodes ' + source.id + ' and ' + target.id;\n // s += \"\\nDistance: \" + l + \" Force: (\" + forceX + \", \" + forceY + \")\";\n // logDebug(s);\n }\n};\n\n/**\n * @brief : Computes gravity forces for all nodes\n */\nvar calculateGravityForces = function calculateGravityForces(layoutInfo, options) {\n if (options.gravity === 0) {\n return;\n }\n var distThreshold = 1;\n\n // var s = 'calculateGravityForces';\n // logDebug(s);\n for (var i = 0; i < layoutInfo.graphSet.length; i++) {\n var graph = layoutInfo.graphSet[i];\n var numNodes = graph.length;\n\n // s = \"Set: \" + graph.toString();\n // logDebug(s);\n\n // Compute graph center\n if (0 === i) {\n var centerX = layoutInfo.clientHeight / 2;\n var centerY = layoutInfo.clientWidth / 2;\n } else {\n // Get Parent node for this graph, and use its position as center\n var temp = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[0]]];\n var parent = layoutInfo.layoutNodes[layoutInfo.idToIndex[temp.parentId]];\n var centerX = parent.positionX;\n var centerY = parent.positionY;\n }\n // s = \"Center found at: \" + centerX + \", \" + centerY;\n // logDebug(s);\n\n // Apply force to all nodes in graph\n for (var j = 0; j < numNodes; j++) {\n var node = layoutInfo.layoutNodes[layoutInfo.idToIndex[graph[j]]];\n // s = \"Node: \" + node.id;\n\n if (node.isLocked) {\n continue;\n }\n var dx = centerX - node.positionX;\n var dy = centerY - node.positionY;\n var d = Math.sqrt(dx * dx + dy * dy);\n if (d > distThreshold) {\n var fx = options.gravity * dx / d;\n var fy = options.gravity * dy / d;\n node.offsetX += fx;\n node.offsetY += fy;\n // s += \": Applied force: \" + fx + \", \" + fy;\n }\n // logDebug(s);\n }\n }\n};\n\n/**\n * @brief : This function propagates the existing offsets from\n * parent nodes to its descendents.\n * @arg layoutInfo : layoutInfo Object\n * @arg cy : cytoscape Object\n * @arg options : Layout options\n */\nvar propagateForces = function propagateForces(layoutInfo, options) {\n // Inline implementation of a queue, used for traversing the graph in BFS order\n var queue = [];\n var start = 0; // Points to the start the queue\n var end = -1; // Points to the end of the queue\n\n // logDebug('propagateForces');\n\n // Start by visiting the nodes in the root graph\n queue.push.apply(queue, layoutInfo.graphSet[0]);\n end += layoutInfo.graphSet[0].length;\n\n // Traverse the graph, level by level,\n while (start <= end) {\n // Get the node to visit and remove it from queue\n var nodeId = queue[start++];\n var nodeIndex = layoutInfo.idToIndex[nodeId];\n var node = layoutInfo.layoutNodes[nodeIndex];\n var children = node.children;\n\n // We only need to process the node if it's compound\n if (0 < children.length && !node.isLocked) {\n var offX = node.offsetX;\n var offY = node.offsetY;\n\n // var s = \"Propagating offset from parent node : \" + node.id +\n // \". OffsetX: \" + offX + \". OffsetY: \" + offY;\n // s += \"\\n Children: \" + children.toString();\n // logDebug(s);\n\n for (var i = 0; i < children.length; i++) {\n var childNode = layoutInfo.layoutNodes[layoutInfo.idToIndex[children[i]]];\n // Propagate offset\n childNode.offsetX += offX;\n childNode.offsetY += offY;\n // Add children to queue to be visited\n queue[++end] = children[i];\n }\n\n // Reset parent offsets\n node.offsetX = 0;\n node.offsetY = 0;\n }\n }\n};\n\n/**\n * @brief : Updates the layout model positions, based on\n * the accumulated forces\n */\nvar updatePositions = function updatePositions(layoutInfo, options) {\n // var s = 'Updating positions';\n // logDebug(s);\n\n // Reset boundaries for compound nodes\n for (var i = 0; i < layoutInfo.nodeSize; i++) {\n var n = layoutInfo.layoutNodes[i];\n if (0 < n.children.length) {\n // logDebug(\"Resetting boundaries of compound node: \" + n.id);\n n.maxX = undefined;\n n.minX = undefined;\n n.maxY = undefined;\n n.minY = undefined;\n }\n }\n for (var i = 0; i < layoutInfo.nodeSize; i++) {\n var n = layoutInfo.layoutNodes[i];\n if (0 < n.children.length || n.isLocked) {\n // No need to set compound or locked node position\n // logDebug(\"Skipping position update of node: \" + n.id);\n continue;\n }\n // s = \"Node: \" + n.id + \" Previous position: (\" +\n // n.positionX + \", \" + n.positionY + \").\";\n\n // Limit displacement in order to improve stability\n var tempForce = limitForce(n.offsetX, n.offsetY, layoutInfo.temperature);\n n.positionX += tempForce.x;\n n.positionY += tempForce.y;\n n.offsetX = 0;\n n.offsetY = 0;\n n.minX = n.positionX - n.width;\n n.maxX = n.positionX + n.width;\n n.minY = n.positionY - n.height;\n n.maxY = n.positionY + n.height;\n // s += \" New Position: (\" + n.positionX + \", \" + n.positionY + \").\";\n // logDebug(s);\n\n // Update ancestry boudaries\n _updateAncestryBoundaries(n, layoutInfo);\n }\n\n // Update size, position of compund nodes\n for (var i = 0; i < layoutInfo.nodeSize; i++) {\n var n = layoutInfo.layoutNodes[i];\n if (0 < n.children.length && !n.isLocked) {\n n.positionX = (n.maxX + n.minX) / 2;\n n.positionY = (n.maxY + n.minY) / 2;\n n.width = n.maxX - n.minX;\n n.height = n.maxY - n.minY;\n // s = \"Updating position, size of compound node \" + n.id;\n // s += \"\\nPositionX: \" + n.positionX + \", PositionY: \" + n.positionY;\n // s += \"\\nWidth: \" + n.width + \", Height: \" + n.height;\n // logDebug(s);\n }\n }\n};\n\n/**\n * @brief : Limits a force (forceX, forceY) to be not\n * greater (in modulo) than max.\n 8 Preserves force direction.\n */\nvar limitForce = function limitForce(forceX, forceY, max) {\n // var s = \"Limiting force: (\" + forceX + \", \" + forceY + \"). Max: \" + max;\n var force = Math.sqrt(forceX * forceX + forceY * forceY);\n if (force > max) {\n var res = {\n x: max * forceX / force,\n y: max * forceY / force\n };\n } else {\n var res = {\n x: forceX,\n y: forceY\n };\n }\n\n // s += \".\\nResult: (\" + res.x + \", \" + res.y + \")\";\n // logDebug(s);\n\n return res;\n};\n\n/**\n * @brief : Function used for keeping track of compound node\n * sizes, since they should bound all their subnodes.\n */\nvar _updateAncestryBoundaries = function updateAncestryBoundaries(node, layoutInfo) {\n // var s = \"Propagating new position/size of node \" + node.id;\n var parentId = node.parentId;\n if (null == parentId) {\n // If there's no parent, we are done\n // s += \". No parent node.\";\n // logDebug(s);\n return;\n }\n\n // Get Parent Node\n var p = layoutInfo.layoutNodes[layoutInfo.idToIndex[parentId]];\n var flag = false;\n\n // MaxX\n if (null == p.maxX || node.maxX + p.padRight > p.maxX) {\n p.maxX = node.maxX + p.padRight;\n flag = true;\n // s += \"\\nNew maxX for parent node \" + p.id + \": \" + p.maxX;\n }\n\n // MinX\n if (null == p.minX || node.minX - p.padLeft < p.minX) {\n p.minX = node.minX - p.padLeft;\n flag = true;\n // s += \"\\nNew minX for parent node \" + p.id + \": \" + p.minX;\n }\n\n // MaxY\n if (null == p.maxY || node.maxY + p.padBottom > p.maxY) {\n p.maxY = node.maxY + p.padBottom;\n flag = true;\n // s += \"\\nNew maxY for parent node \" + p.id + \": \" + p.maxY;\n }\n\n // MinY\n if (null == p.minY || node.minY - p.padTop < p.minY) {\n p.minY = node.minY - p.padTop;\n flag = true;\n // s += \"\\nNew minY for parent node \" + p.id + \": \" + p.minY;\n }\n\n // If updated boundaries, propagate changes upward\n if (flag) {\n // logDebug(s);\n return _updateAncestryBoundaries(p, layoutInfo);\n }\n\n // s += \". No changes in boundaries/position of parent node \" + p.id;\n // logDebug(s);\n return;\n};\nvar separateComponents = function separateComponents(layoutInfo, options) {\n var nodes = layoutInfo.layoutNodes;\n var components = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var cid = node.cmptId;\n var component = components[cid] = components[cid] || [];\n component.push(node);\n }\n var totalA = 0;\n for (var i = 0; i < components.length; i++) {\n var c = components[i];\n if (!c) {\n continue;\n }\n c.x1 = Infinity;\n c.x2 = -Infinity;\n c.y1 = Infinity;\n c.y2 = -Infinity;\n for (var j = 0; j < c.length; j++) {\n var n = c[j];\n c.x1 = Math.min(c.x1, n.positionX - n.width / 2);\n c.x2 = Math.max(c.x2, n.positionX + n.width / 2);\n c.y1 = Math.min(c.y1, n.positionY - n.height / 2);\n c.y2 = Math.max(c.y2, n.positionY + n.height / 2);\n }\n c.w = c.x2 - c.x1;\n c.h = c.y2 - c.y1;\n totalA += c.w * c.h;\n }\n components.sort(function (c1, c2) {\n return c2.w * c2.h - c1.w * c1.h;\n });\n var x = 0;\n var y = 0;\n var usedW = 0;\n var rowH = 0;\n var maxRowW = Math.sqrt(totalA) * layoutInfo.clientWidth / layoutInfo.clientHeight;\n for (var i = 0; i < components.length; i++) {\n var c = components[i];\n if (!c) {\n continue;\n }\n for (var j = 0; j < c.length; j++) {\n var n = c[j];\n if (!n.isLocked) {\n n.positionX += x - c.x1;\n n.positionY += y - c.y1;\n }\n }\n x += c.w + options.componentSpacing;\n usedW += c.w + options.componentSpacing;\n rowH = Math.max(rowH, c.h);\n if (usedW > maxRowW) {\n y += rowH + options.componentSpacing;\n x = 0;\n usedW = 0;\n rowH = 0;\n }\n }\n};\n\nvar defaults$3 = {\n fit: true,\n // whether to fit the viewport to the graph\n padding: 30,\n // padding used on fit\n boundingBox: undefined,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n avoidOverlap: true,\n // prevents node overlap, may overflow boundingBox if not enough space\n avoidOverlapPadding: 10,\n // extra spacing around nodes when avoidOverlap: true\n nodeDimensionsIncludeLabels: false,\n // Excludes the label when calculating node bounding boxes for the layout algorithm\n spacingFactor: undefined,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n condense: false,\n // uses all available space on false, uses minimal space on true\n rows: undefined,\n // force num of rows in the grid\n cols: undefined,\n // force num of columns in the grid\n position: function position(node) {},\n // returns { row, col } for element\n sort: undefined,\n // a sorting function to order the nodes; e.g. function(a, b){ return a.data('weight') - b.data('weight') }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: undefined,\n // easing of animation if enabled\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: undefined,\n // callback on layoutready\n stop: undefined,\n // callback on layoutstop\n transform: function transform(node, position) {\n return position;\n } // transform a given node position. Useful for changing flow direction in discrete layouts \n};\nfunction GridLayout(options) {\n this.options = extend({}, defaults$3, options);\n}\nGridLayout.prototype.run = function () {\n var params = this.options;\n var options = params;\n var cy = params.cy;\n var eles = options.eles;\n var nodes = eles.nodes().not(':parent');\n if (options.sort) {\n nodes = nodes.sort(options.sort);\n }\n var bb = makeBoundingBox(options.boundingBox ? options.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n if (bb.h === 0 || bb.w === 0) {\n eles.nodes().layoutPositions(this, options, function (ele) {\n return {\n x: bb.x1,\n y: bb.y1\n };\n });\n } else {\n // width/height * splits^2 = cells where splits is number of times to split width\n var cells = nodes.size();\n var splits = Math.sqrt(cells * bb.h / bb.w);\n var rows = Math.round(splits);\n var cols = Math.round(bb.w / bb.h * splits);\n var small = function small(val) {\n if (val == null) {\n return Math.min(rows, cols);\n } else {\n var min = Math.min(rows, cols);\n if (min == rows) {\n rows = val;\n } else {\n cols = val;\n }\n }\n };\n var large = function large(val) {\n if (val == null) {\n return Math.max(rows, cols);\n } else {\n var max = Math.max(rows, cols);\n if (max == rows) {\n rows = val;\n } else {\n cols = val;\n }\n }\n };\n var oRows = options.rows;\n var oCols = options.cols != null ? options.cols : options.columns;\n\n // if rows or columns were set in options, use those values\n if (oRows != null && oCols != null) {\n rows = oRows;\n cols = oCols;\n } else if (oRows != null && oCols == null) {\n rows = oRows;\n cols = Math.ceil(cells / rows);\n } else if (oRows == null && oCols != null) {\n cols = oCols;\n rows = Math.ceil(cells / cols);\n }\n\n // otherwise use the automatic values and adjust accordingly\n\n // if rounding was up, see if we can reduce rows or columns\n else if (cols * rows > cells) {\n var sm = small();\n var lg = large();\n\n // reducing the small side takes away the most cells, so try it first\n if ((sm - 1) * lg >= cells) {\n small(sm - 1);\n } else if ((lg - 1) * sm >= cells) {\n large(lg - 1);\n }\n } else {\n // if rounding was too low, add rows or columns\n while (cols * rows < cells) {\n var _sm = small();\n var _lg = large();\n\n // try to add to larger side first (adds less in multiplication)\n if ((_lg + 1) * _sm >= cells) {\n large(_lg + 1);\n } else {\n small(_sm + 1);\n }\n }\n }\n var cellWidth = bb.w / cols;\n var cellHeight = bb.h / rows;\n if (options.condense) {\n cellWidth = 0;\n cellHeight = 0;\n }\n if (options.avoidOverlap) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n var pos = node._private.position;\n if (pos.x == null || pos.y == null) {\n // for bb\n pos.x = 0;\n pos.y = 0;\n }\n var nbb = node.layoutDimensions(options);\n var p = options.avoidOverlapPadding;\n var w = nbb.w + p;\n var h = nbb.h + p;\n cellWidth = Math.max(cellWidth, w);\n cellHeight = Math.max(cellHeight, h);\n }\n }\n var cellUsed = {}; // e.g. 'c-0-2' => true\n\n var used = function used(row, col) {\n return cellUsed['c-' + row + '-' + col] ? true : false;\n };\n var use = function use(row, col) {\n cellUsed['c-' + row + '-' + col] = true;\n };\n\n // to keep track of current cell position\n var row = 0;\n var col = 0;\n var moveToNextCell = function moveToNextCell() {\n col++;\n if (col >= cols) {\n col = 0;\n row++;\n }\n };\n\n // get a cache of all the manual positions\n var id2manPos = {};\n for (var _i = 0; _i < nodes.length; _i++) {\n var _node = nodes[_i];\n var rcPos = options.position(_node);\n if (rcPos && (rcPos.row !== undefined || rcPos.col !== undefined)) {\n // must have at least row or col def'd\n var _pos = {\n row: rcPos.row,\n col: rcPos.col\n };\n if (_pos.col === undefined) {\n // find unused col\n _pos.col = 0;\n while (used(_pos.row, _pos.col)) {\n _pos.col++;\n }\n } else if (_pos.row === undefined) {\n // find unused row\n _pos.row = 0;\n while (used(_pos.row, _pos.col)) {\n _pos.row++;\n }\n }\n id2manPos[_node.id()] = _pos;\n use(_pos.row, _pos.col);\n }\n }\n var getPos = function getPos(element, i) {\n var x, y;\n if (element.locked() || element.isParent()) {\n return false;\n }\n\n // see if we have a manual position set\n var rcPos = id2manPos[element.id()];\n if (rcPos) {\n x = rcPos.col * cellWidth + cellWidth / 2 + bb.x1;\n y = rcPos.row * cellHeight + cellHeight / 2 + bb.y1;\n } else {\n // otherwise set automatically\n\n while (used(row, col)) {\n moveToNextCell();\n }\n x = col * cellWidth + cellWidth / 2 + bb.x1;\n y = row * cellHeight + cellHeight / 2 + bb.y1;\n use(row, col);\n moveToNextCell();\n }\n return {\n x: x,\n y: y\n };\n };\n nodes.layoutPositions(this, options, getPos);\n }\n return this; // chaining\n};\n\n// default layout options\nvar defaults$2 = {\n ready: function ready() {},\n // on layoutready\n stop: function stop() {} // on layoutstop\n};\n\n// constructor\n// options : object containing layout options\nfunction NullLayout(options) {\n this.options = extend({}, defaults$2, options);\n}\n\n// runs the layout\nNullLayout.prototype.run = function () {\n var options = this.options;\n var eles = options.eles; // elements to consider in the layout\n var layout = this;\n\n // cy is automatically populated for us in the constructor\n // (disable eslint for next line as this serves as example layout code to external developers)\n // eslint-disable-next-line no-unused-vars\n options.cy;\n layout.emit('layoutstart');\n\n // puts all nodes at (0, 0)\n // n.b. most layouts would use layoutPositions(), instead of positions() and manual events\n eles.nodes().positions(function () {\n return {\n x: 0,\n y: 0\n };\n });\n\n // trigger layoutready when each node has had its position set at least once\n layout.one('layoutready', options.ready);\n layout.emit('layoutready');\n\n // trigger layoutstop when the layout stops (e.g. finishes)\n layout.one('layoutstop', options.stop);\n layout.emit('layoutstop');\n return this; // chaining\n};\n\n// called on continuous layouts to stop them before they finish\nNullLayout.prototype.stop = function () {\n return this; // chaining\n};\n\nvar defaults$1 = {\n positions: undefined,\n // map of (node id) => (position obj); or function(node){ return somPos; }\n zoom: undefined,\n // the zoom level to set (prob want fit = false if set)\n pan: undefined,\n // the pan level to set (prob want fit = false if set)\n fit: true,\n // whether to fit to viewport\n padding: 30,\n // padding on fit\n spacingFactor: undefined,\n // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: undefined,\n // easing of animation if enabled\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: undefined,\n // callback on layoutready\n stop: undefined,\n // callback on layoutstop\n transform: function transform(node, position) {\n return position;\n } // transform a given node position. Useful for changing flow direction in discrete layouts\n};\nfunction PresetLayout(options) {\n this.options = extend({}, defaults$1, options);\n}\nPresetLayout.prototype.run = function () {\n var options = this.options;\n var eles = options.eles;\n var nodes = eles.nodes();\n var posIsFn = fn$6(options.positions);\n function getPosition(node) {\n if (options.positions == null) {\n return copyPosition(node.position());\n }\n if (posIsFn) {\n return options.positions(node);\n }\n var pos = options.positions[node._private.data.id];\n if (pos == null) {\n return null;\n }\n return pos;\n }\n nodes.layoutPositions(this, options, function (node, i) {\n var position = getPosition(node);\n if (node.locked() || position == null) {\n return false;\n }\n return position;\n });\n return this; // chaining\n};\n\nvar defaults = {\n fit: true,\n // whether to fit to viewport\n padding: 30,\n // fit padding\n boundingBox: undefined,\n // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h }\n animate: false,\n // whether to transition the node positions\n animationDuration: 500,\n // duration of animation in ms if enabled\n animationEasing: undefined,\n // easing of animation if enabled\n animateFilter: function animateFilter(node, i) {\n return true;\n },\n // a function that determines whether the node should be animated. All nodes animated by default on animate enabled. Non-animated nodes are positioned immediately when the layout starts\n ready: undefined,\n // callback on layoutready\n stop: undefined,\n // callback on layoutstop\n transform: function transform(node, position) {\n return position;\n } // transform a given node position. Useful for changing flow direction in discrete layouts \n};\nfunction RandomLayout(options) {\n this.options = extend({}, defaults, options);\n}\nRandomLayout.prototype.run = function () {\n var options = this.options;\n var cy = options.cy;\n var eles = options.eles;\n var bb = makeBoundingBox(options.boundingBox ? options.boundingBox : {\n x1: 0,\n y1: 0,\n w: cy.width(),\n h: cy.height()\n });\n var getPos = function getPos(node, i) {\n return {\n x: bb.x1 + Math.round(Math.random() * bb.w),\n y: bb.y1 + Math.round(Math.random() * bb.h)\n };\n };\n eles.nodes().layoutPositions(this, options, getPos);\n return this; // chaining\n};\n\nvar layout = [{\n name: 'breadthfirst',\n impl: BreadthFirstLayout\n}, {\n name: 'circle',\n impl: CircleLayout\n}, {\n name: 'concentric',\n impl: ConcentricLayout\n}, {\n name: 'cose',\n impl: CoseLayout\n}, {\n name: 'grid',\n impl: GridLayout\n}, {\n name: 'null',\n impl: NullLayout\n}, {\n name: 'preset',\n impl: PresetLayout\n}, {\n name: 'random',\n impl: RandomLayout\n}];\n\nfunction NullRenderer(options) {\n this.options = options;\n this.notifications = 0; // for testing\n}\nvar noop = function noop() {};\nvar throwImgErr = function throwImgErr() {\n throw new Error('A headless instance can not render images');\n};\nNullRenderer.prototype = {\n recalculateRenderedStyle: noop,\n notify: function notify() {\n this.notifications++;\n },\n init: noop,\n isHeadless: function isHeadless() {\n return true;\n },\n png: throwImgErr,\n jpg: throwImgErr\n};\n\nvar BRp$f = {};\nBRp$f.arrowShapeWidth = 0.3;\nBRp$f.registerArrowShapes = function () {\n var arrowShapes = this.arrowShapes = {};\n var renderer = this;\n\n // Contract for arrow shapes:\n // 0, 0 is arrow tip\n // (0, 1) is direction towards node\n // (1, 0) is right\n //\n // functional api:\n // collide: check x, y in shape\n // roughCollide: called before collide, no false negatives\n // draw: draw\n // spacing: dist(arrowTip, nodeBoundary)\n // gap: dist(edgeTip, nodeBoundary), edgeTip may != arrowTip\n\n var bbCollide = function bbCollide(x, y, size, angle, translation, edgeWidth, padding) {\n var x1 = translation.x - size / 2 - padding;\n var x2 = translation.x + size / 2 + padding;\n var y1 = translation.y - size / 2 - padding;\n var y2 = translation.y + size / 2 + padding;\n var inside = x1 <= x && x <= x2 && y1 <= y && y <= y2;\n return inside;\n };\n var transform = function transform(x, y, size, angle, translation) {\n var xRotated = x * Math.cos(angle) - y * Math.sin(angle);\n var yRotated = x * Math.sin(angle) + y * Math.cos(angle);\n var xScaled = xRotated * size;\n var yScaled = yRotated * size;\n var xTranslated = xScaled + translation.x;\n var yTranslated = yScaled + translation.y;\n return {\n x: xTranslated,\n y: yTranslated\n };\n };\n var transformPoints = function transformPoints(pts, size, angle, translation) {\n var retPts = [];\n for (var i = 0; i < pts.length; i += 2) {\n var x = pts[i];\n var y = pts[i + 1];\n retPts.push(transform(x, y, size, angle, translation));\n }\n return retPts;\n };\n var pointsToArr = function pointsToArr(pts) {\n var ret = [];\n for (var i = 0; i < pts.length; i++) {\n var p = pts[i];\n ret.push(p.x, p.y);\n }\n return ret;\n };\n var standardGap = function standardGap(edge) {\n return edge.pstyle('width').pfValue * edge.pstyle('arrow-scale').pfValue * 2;\n };\n var defineArrowShape = function defineArrowShape(name, defn) {\n if (string(defn)) {\n defn = arrowShapes[defn];\n }\n arrowShapes[name] = extend({\n name: name,\n points: [-0.15, -0.3, 0.15, -0.3, 0.15, 0.3, -0.15, 0.3],\n collide: function collide(x, y, size, angle, translation, padding) {\n var points = pointsToArr(transformPoints(this.points, size + 2 * padding, angle, translation));\n var inside = pointInsidePolygonPoints(x, y, points);\n return inside;\n },\n roughCollide: bbCollide,\n draw: function draw(context, size, angle, translation) {\n var points = transformPoints(this.points, size, angle, translation);\n renderer.arrowShapeImpl('polygon')(context, points);\n },\n spacing: function spacing(edge) {\n return 0;\n },\n gap: standardGap\n }, defn);\n };\n defineArrowShape('none', {\n collide: falsify,\n roughCollide: falsify,\n draw: noop$1,\n spacing: zeroify,\n gap: zeroify\n });\n defineArrowShape('triangle', {\n points: [-0.15, -0.3, 0, 0, 0.15, -0.3]\n });\n defineArrowShape('arrow', 'triangle');\n defineArrowShape('triangle-backcurve', {\n points: arrowShapes['triangle'].points,\n controlPoint: [0, -0.15],\n roughCollide: bbCollide,\n draw: function draw(context, size, angle, translation, edgeWidth) {\n var ptsTrans = transformPoints(this.points, size, angle, translation);\n var ctrlPt = this.controlPoint;\n var ctrlPtTrans = transform(ctrlPt[0], ctrlPt[1], size, angle, translation);\n renderer.arrowShapeImpl(this.name)(context, ptsTrans, ctrlPtTrans);\n },\n gap: function gap(edge) {\n return standardGap(edge) * 0.8;\n }\n });\n defineArrowShape('triangle-tee', {\n points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],\n pointsTee: [-0.15, -0.4, -0.15, -0.5, 0.15, -0.5, 0.15, -0.4],\n collide: function collide(x, y, size, angle, translation, edgeWidth, padding) {\n var triPts = pointsToArr(transformPoints(this.points, size + 2 * padding, angle, translation));\n var teePts = pointsToArr(transformPoints(this.pointsTee, size + 2 * padding, angle, translation));\n var inside = pointInsidePolygonPoints(x, y, triPts) || pointInsidePolygonPoints(x, y, teePts);\n return inside;\n },\n draw: function draw(context, size, angle, translation, edgeWidth) {\n var triPts = transformPoints(this.points, size, angle, translation);\n var teePts = transformPoints(this.pointsTee, size, angle, translation);\n renderer.arrowShapeImpl(this.name)(context, triPts, teePts);\n }\n });\n defineArrowShape('circle-triangle', {\n radius: 0.15,\n pointsTr: [0, -0.15, 0.15, -0.45, -0.15, -0.45, 0, -0.15],\n collide: function collide(x, y, size, angle, translation, edgeWidth, padding) {\n var t = translation;\n var circleInside = Math.pow(t.x - x, 2) + Math.pow(t.y - y, 2) <= Math.pow((size + 2 * padding) * this.radius, 2);\n var triPts = pointsToArr(transformPoints(this.points, size + 2 * padding, angle, translation));\n return pointInsidePolygonPoints(x, y, triPts) || circleInside;\n },\n draw: function draw(context, size, angle, translation, edgeWidth) {\n var triPts = transformPoints(this.pointsTr, size, angle, translation);\n renderer.arrowShapeImpl(this.name)(context, triPts, translation.x, translation.y, this.radius * size);\n },\n spacing: function spacing(edge) {\n return renderer.getArrowWidth(edge.pstyle('width').pfValue, edge.pstyle('arrow-scale').value) * this.radius;\n }\n });\n defineArrowShape('triangle-cross', {\n points: [0, 0, 0.15, -0.3, -0.15, -0.3, 0, 0],\n baseCrossLinePts: [-0.15, -0.4,\n // first half of the rectangle\n -0.15, -0.4, 0.15, -0.4,\n // second half of the rectangle\n 0.15, -0.4],\n crossLinePts: function crossLinePts(size, edgeWidth) {\n // shift points so that the distance between the cross points matches edge width\n var p = this.baseCrossLinePts.slice();\n var shiftFactor = edgeWidth / size;\n var y0 = 3;\n var y1 = 5;\n p[y0] = p[y0] - shiftFactor;\n p[y1] = p[y1] - shiftFactor;\n return p;\n },\n collide: function collide(x, y, size, angle, translation, edgeWidth, padding) {\n var triPts = pointsToArr(transformPoints(this.points, size + 2 * padding, angle, translation));\n var teePts = pointsToArr(transformPoints(this.crossLinePts(size, edgeWidth), size + 2 * padding, angle, translation));\n var inside = pointInsidePolygonPoints(x, y, triPts) || pointInsidePolygonPoints(x, y, teePts);\n return inside;\n },\n draw: function draw(context, size, angle, translation, edgeWidth) {\n var triPts = transformPoints(this.points, size, angle, translation);\n var crossLinePts = transformPoints(this.crossLinePts(size, edgeWidth), size, angle, translation);\n renderer.arrowShapeImpl(this.name)(context, triPts, crossLinePts);\n }\n });\n defineArrowShape('vee', {\n points: [-0.15, -0.3, 0, 0, 0.15, -0.3, 0, -0.15],\n gap: function gap(edge) {\n return standardGap(edge) * 0.525;\n }\n });\n defineArrowShape('circle', {\n radius: 0.15,\n collide: function collide(x, y, size, angle, translation, edgeWidth, padding) {\n var t = translation;\n var inside = Math.pow(t.x - x, 2) + Math.pow(t.y - y, 2) <= Math.pow((size + 2 * padding) * this.radius, 2);\n return inside;\n },\n draw: function draw(context, size, angle, translation, edgeWidth) {\n renderer.arrowShapeImpl(this.name)(context, translation.x, translation.y, this.radius * size);\n },\n spacing: function spacing(edge) {\n return renderer.getArrowWidth(edge.pstyle('width').pfValue, edge.pstyle('arrow-scale').value) * this.radius;\n }\n });\n defineArrowShape('tee', {\n points: [-0.15, 0, -0.15, -0.1, 0.15, -0.1, 0.15, 0],\n spacing: function spacing(edge) {\n return 1;\n },\n gap: function gap(edge) {\n return 1;\n }\n });\n defineArrowShape('square', {\n points: [-0.15, 0.00, 0.15, 0.00, 0.15, -0.3, -0.15, -0.3]\n });\n defineArrowShape('diamond', {\n points: [-0.15, -0.15, 0, -0.3, 0.15, -0.15, 0, 0],\n gap: function gap(edge) {\n return edge.pstyle('width').pfValue * edge.pstyle('arrow-scale').value;\n }\n });\n defineArrowShape('chevron', {\n points: [0, 0, -0.15, -0.15, -0.1, -0.2, 0, -0.1, 0.1, -0.2, 0.15, -0.15],\n gap: function gap(edge) {\n return 0.95 * edge.pstyle('width').pfValue * edge.pstyle('arrow-scale').value;\n }\n });\n};\n\nvar BRp$e = {};\n\n// Project mouse\nBRp$e.projectIntoViewport = function (clientX, clientY) {\n var cy = this.cy;\n var offsets = this.findContainerClientCoords();\n var offsetLeft = offsets[0];\n var offsetTop = offsets[1];\n var scale = offsets[4];\n var pan = cy.pan();\n var zoom = cy.zoom();\n var x = ((clientX - offsetLeft) / scale - pan.x) / zoom;\n var y = ((clientY - offsetTop) / scale - pan.y) / zoom;\n return [x, y];\n};\nBRp$e.findContainerClientCoords = function () {\n if (this.containerBB) {\n return this.containerBB;\n }\n var container = this.container;\n var rect = container.getBoundingClientRect();\n var style = this.cy.window().getComputedStyle(container);\n var styleValue = function styleValue(name) {\n return parseFloat(style.getPropertyValue(name));\n };\n var padding = {\n left: styleValue('padding-left'),\n right: styleValue('padding-right'),\n top: styleValue('padding-top'),\n bottom: styleValue('padding-bottom')\n };\n var border = {\n left: styleValue('border-left-width'),\n right: styleValue('border-right-width'),\n top: styleValue('border-top-width'),\n bottom: styleValue('border-bottom-width')\n };\n var clientWidth = container.clientWidth;\n var clientHeight = container.clientHeight;\n var paddingHor = padding.left + padding.right;\n var paddingVer = padding.top + padding.bottom;\n var borderHor = border.left + border.right;\n var scale = rect.width / (clientWidth + borderHor);\n var unscaledW = clientWidth - paddingHor;\n var unscaledH = clientHeight - paddingVer;\n var left = rect.left + padding.left + border.left;\n var top = rect.top + padding.top + border.top;\n return this.containerBB = [left, top, unscaledW, unscaledH, scale];\n};\nBRp$e.invalidateContainerClientCoordsCache = function () {\n this.containerBB = null;\n};\nBRp$e.findNearestElement = function (x, y, interactiveElementsOnly, isTouch) {\n return this.findNearestElements(x, y, interactiveElementsOnly, isTouch)[0];\n};\nBRp$e.findNearestElements = function (x, y, interactiveElementsOnly, isTouch) {\n var self = this;\n var r = this;\n var eles = r.getCachedZSortedEles();\n var near = []; // 1 node max, 1 edge max\n var zoom = r.cy.zoom();\n var hasCompounds = r.cy.hasCompoundNodes();\n var edgeThreshold = (isTouch ? 24 : 8) / zoom;\n var nodeThreshold = (isTouch ? 8 : 2) / zoom;\n var labelThreshold = (isTouch ? 8 : 2) / zoom;\n var minSqDist = Infinity;\n var nearEdge;\n var nearNode;\n if (interactiveElementsOnly) {\n eles = eles.interactive;\n }\n function addEle(ele, sqDist) {\n if (ele.isNode()) {\n if (nearNode) {\n return; // can't replace node\n } else {\n nearNode = ele;\n near.push(ele);\n }\n }\n if (ele.isEdge() && (sqDist == null || sqDist < minSqDist)) {\n if (nearEdge) {\n // then replace existing edge\n // can replace only if same z-index\n if (nearEdge.pstyle('z-compound-depth').value === ele.pstyle('z-compound-depth').value && nearEdge.pstyle('z-compound-depth').value === ele.pstyle('z-compound-depth').value) {\n for (var i = 0; i < near.length; i++) {\n if (near[i].isEdge()) {\n near[i] = ele;\n nearEdge = ele;\n minSqDist = sqDist != null ? sqDist : minSqDist;\n break;\n }\n }\n }\n } else {\n near.push(ele);\n nearEdge = ele;\n minSqDist = sqDist != null ? sqDist : minSqDist;\n }\n }\n }\n function checkNode(node) {\n var width = node.outerWidth() + 2 * nodeThreshold;\n var height = node.outerHeight() + 2 * nodeThreshold;\n var hw = width / 2;\n var hh = height / 2;\n var pos = node.position();\n var cornerRadius = node.pstyle('corner-radius').value === 'auto' ? 'auto' : node.pstyle('corner-radius').pfValue;\n var rs = node._private.rscratch;\n if (pos.x - hw <= x && x <= pos.x + hw // bb check x\n && pos.y - hh <= y && y <= pos.y + hh // bb check y\n ) {\n var shape = r.nodeShapes[self.getNodeShape(node)];\n if (shape.checkPoint(x, y, 0, width, height, pos.x, pos.y, cornerRadius, rs)) {\n addEle(node, 0);\n return true;\n }\n }\n }\n function checkEdge(edge) {\n var _p = edge._private;\n var rs = _p.rscratch;\n var styleWidth = edge.pstyle('width').pfValue;\n var scale = edge.pstyle('arrow-scale').value;\n var width = styleWidth / 2 + edgeThreshold; // more like a distance radius from centre\n var widthSq = width * width;\n var width2 = width * 2;\n var src = _p.source;\n var tgt = _p.target;\n var sqDist;\n if (rs.edgeType === 'segments' || rs.edgeType === 'straight' || rs.edgeType === 'haystack') {\n var pts = rs.allpts;\n for (var i = 0; i + 3 < pts.length; i += 2) {\n if (inLineVicinity(x, y, pts[i], pts[i + 1], pts[i + 2], pts[i + 3], width2) && widthSq > (sqDist = sqdistToFiniteLine(x, y, pts[i], pts[i + 1], pts[i + 2], pts[i + 3]))) {\n addEle(edge, sqDist);\n return true;\n }\n }\n } else if (rs.edgeType === 'bezier' || rs.edgeType === 'multibezier' || rs.edgeType === 'self' || rs.edgeType === 'compound') {\n var pts = rs.allpts;\n for (var i = 0; i + 5 < rs.allpts.length; i += 4) {\n if (inBezierVicinity(x, y, pts[i], pts[i + 1], pts[i + 2], pts[i + 3], pts[i + 4], pts[i + 5], width2) && widthSq > (sqDist = sqdistToQuadraticBezier(x, y, pts[i], pts[i + 1], pts[i + 2], pts[i + 3], pts[i + 4], pts[i + 5]))) {\n addEle(edge, sqDist);\n return true;\n }\n }\n }\n\n // if we're close to the edge but didn't hit it, maybe we hit its arrows\n\n var src = src || _p.source;\n var tgt = tgt || _p.target;\n var arSize = self.getArrowWidth(styleWidth, scale);\n var arrows = [{\n name: 'source',\n x: rs.arrowStartX,\n y: rs.arrowStartY,\n angle: rs.srcArrowAngle\n }, {\n name: 'target',\n x: rs.arrowEndX,\n y: rs.arrowEndY,\n angle: rs.tgtArrowAngle\n }, {\n name: 'mid-source',\n x: rs.midX,\n y: rs.midY,\n angle: rs.midsrcArrowAngle\n }, {\n name: 'mid-target',\n x: rs.midX,\n y: rs.midY,\n angle: rs.midtgtArrowAngle\n }];\n for (var i = 0; i < arrows.length; i++) {\n var ar = arrows[i];\n var shape = r.arrowShapes[edge.pstyle(ar.name + '-arrow-shape').value];\n var edgeWidth = edge.pstyle('width').pfValue;\n if (shape.roughCollide(x, y, arSize, ar.angle, {\n x: ar.x,\n y: ar.y\n }, edgeWidth, edgeThreshold) && shape.collide(x, y, arSize, ar.angle, {\n x: ar.x,\n y: ar.y\n }, edgeWidth, edgeThreshold)) {\n addEle(edge);\n return true;\n }\n }\n\n // for compound graphs, hitting edge may actually want a connected node instead (b/c edge may have greater z-index precedence)\n if (hasCompounds && near.length > 0) {\n checkNode(src);\n checkNode(tgt);\n }\n }\n function preprop(obj, name, pre) {\n return getPrefixedProperty(obj, name, pre);\n }\n function checkLabel(ele, prefix) {\n var _p = ele._private;\n var th = labelThreshold;\n var prefixDash;\n if (prefix) {\n prefixDash = prefix + '-';\n } else {\n prefixDash = '';\n }\n ele.boundingBox();\n var bb = _p.labelBounds[prefix || 'main'];\n var text = ele.pstyle(prefixDash + 'label').value;\n var eventsEnabled = ele.pstyle('text-events').strValue === 'yes';\n if (!eventsEnabled || !text) {\n return;\n }\n var lx = preprop(_p.rscratch, 'labelX', prefix);\n var ly = preprop(_p.rscratch, 'labelY', prefix);\n var theta = preprop(_p.rscratch, 'labelAngle', prefix);\n var ox = ele.pstyle(prefixDash + 'text-margin-x').pfValue;\n var oy = ele.pstyle(prefixDash + 'text-margin-y').pfValue;\n var lx1 = bb.x1 - th - ox; // (-ox, -oy) as bb already includes margin\n var lx2 = bb.x2 + th - ox; // and rotation is about (lx, ly)\n var ly1 = bb.y1 - th - oy;\n var ly2 = bb.y2 + th - oy;\n if (theta) {\n var cos = Math.cos(theta);\n var sin = Math.sin(theta);\n var rotate = function rotate(x, y) {\n x = x - lx;\n y = y - ly;\n return {\n x: x * cos - y * sin + lx,\n y: x * sin + y * cos + ly\n };\n };\n var px1y1 = rotate(lx1, ly1);\n var px1y2 = rotate(lx1, ly2);\n var px2y1 = rotate(lx2, ly1);\n var px2y2 = rotate(lx2, ly2);\n var points = [\n // with the margin added after the rotation is applied\n px1y1.x + ox, px1y1.y + oy, px2y1.x + ox, px2y1.y + oy, px2y2.x + ox, px2y2.y + oy, px1y2.x + ox, px1y2.y + oy];\n if (pointInsidePolygonPoints(x, y, points)) {\n addEle(ele);\n return true;\n }\n } else {\n // do a cheaper bb check\n if (inBoundingBox(bb, x, y)) {\n addEle(ele);\n return true;\n }\n }\n }\n for (var i = eles.length - 1; i >= 0; i--) {\n // reverse order for precedence\n var ele = eles[i];\n if (ele.isNode()) {\n checkNode(ele) || checkLabel(ele);\n } else {\n // then edge\n checkEdge(ele) || checkLabel(ele) || checkLabel(ele, 'source') || checkLabel(ele, 'target');\n }\n }\n return near;\n};\n\n// 'Give me everything from this box'\nBRp$e.getAllInBox = function (x1, y1, x2, y2) {\n var eles = this.getCachedZSortedEles().interactive;\n var zoom = this.cy.zoom();\n var labelThreshold = 2 / zoom;\n var box = [];\n var x1c = Math.min(x1, x2);\n var x2c = Math.max(x1, x2);\n var y1c = Math.min(y1, y2);\n var y2c = Math.max(y1, y2);\n x1 = x1c;\n x2 = x2c;\n y1 = y1c;\n y2 = y2c;\n var boxBb = makeBoundingBox({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n function preprop(obj, name, pre) {\n return getPrefixedProperty(obj, name, pre);\n }\n function getRotatedLabelBox(ele, prefix) {\n var _p = ele._private;\n var th = labelThreshold;\n var prefixDash = '';\n ele.boundingBox();\n var bb = _p.labelBounds['main'];\n var lx = preprop(_p.rscratch, 'labelX', prefix);\n var ly = preprop(_p.rscratch, 'labelY', prefix);\n var theta = preprop(_p.rscratch, 'labelAngle', prefix);\n var ox = ele.pstyle(prefixDash + 'text-margin-x').pfValue;\n var oy = ele.pstyle(prefixDash + 'text-margin-y').pfValue;\n var lx1 = bb.x1 - th - ox;\n var lx2 = bb.x2 + th - ox;\n var ly1 = bb.y1 - th - oy;\n var ly2 = bb.y2 + th - oy;\n if (theta) {\n var cos = Math.cos(theta);\n var sin = Math.sin(theta);\n var rotate = function rotate(x, y) {\n x = x - lx;\n y = y - ly;\n return {\n x: x * cos - y * sin + lx,\n y: x * sin + y * cos + ly\n };\n };\n return [rotate(lx1, ly1), rotate(lx2, ly1), rotate(lx2, ly2), rotate(lx1, ly2)];\n } else {\n return [{\n x: lx1,\n y: ly1\n }, {\n x: lx2,\n y: ly1\n }, {\n x: lx2,\n y: ly2\n }, {\n x: lx1,\n y: ly2\n }];\n }\n }\n for (var e = 0; e < eles.length; e++) {\n var ele = eles[e];\n if (ele.isNode()) {\n var node = ele;\n var eventsEnabled = node.pstyle('text-events').strValue === 'yes';\n var boxSelectEnabled = node.pstyle('box-select-labels').strValue === 'yes';\n var nodeBb = node.boundingBox({\n includeNodes: true,\n includeEdges: false,\n includeLabels: boxSelectEnabled && eventsEnabled\n });\n if (boundingBoxesIntersect(boxBb, nodeBb)) {\n var rotatedLabelBox = getRotatedLabelBox(node);\n var selectionBox = [{\n x: boxBb.x1,\n y: boxBb.y1\n }, {\n x: boxBb.x2,\n y: boxBb.y1\n }, {\n x: boxBb.x2,\n y: boxBb.y2\n }, {\n x: boxBb.x1,\n y: boxBb.y2\n }];\n if (satPolygonIntersection(rotatedLabelBox, selectionBox)) {\n box.push(node);\n }\n }\n } else {\n var edge = ele;\n var _p = edge._private;\n var rs = _p.rscratch;\n if (rs.startX != null && rs.startY != null && !inBoundingBox(boxBb, rs.startX, rs.startY)) {\n continue;\n }\n if (rs.endX != null && rs.endY != null && !inBoundingBox(boxBb, rs.endX, rs.endY)) {\n continue;\n }\n if (rs.edgeType === 'bezier' || rs.edgeType === 'multibezier' || rs.edgeType === 'self' || rs.edgeType === 'compound' || rs.edgeType === 'segments' || rs.edgeType === 'haystack') {\n var pts = _p.rstyle.bezierPts || _p.rstyle.linePts || _p.rstyle.haystackPts;\n var allInside = true;\n for (var i = 0; i < pts.length; i++) {\n if (!pointInBoundingBox(boxBb, pts[i])) {\n allInside = false;\n break;\n }\n }\n if (allInside) {\n box.push(edge);\n }\n } else if (rs.edgeType === 'haystack' || rs.edgeType === 'straight') {\n box.push(edge);\n }\n }\n }\n return box;\n};\n\nvar BRp$d = {};\nBRp$d.calculateArrowAngles = function (edge) {\n var rs = edge._private.rscratch;\n var isHaystack = rs.edgeType === 'haystack';\n var isBezier = rs.edgeType === 'bezier';\n var isMultibezier = rs.edgeType === 'multibezier';\n var isSegments = rs.edgeType === 'segments';\n var isCompound = rs.edgeType === 'compound';\n var isSelf = rs.edgeType === 'self';\n\n // Displacement gives direction for arrowhead orientation\n var dispX, dispY;\n var startX, startY, endX, endY, midX, midY;\n if (isHaystack) {\n startX = rs.haystackPts[0];\n startY = rs.haystackPts[1];\n endX = rs.haystackPts[2];\n endY = rs.haystackPts[3];\n } else {\n startX = rs.arrowStartX;\n startY = rs.arrowStartY;\n endX = rs.arrowEndX;\n endY = rs.arrowEndY;\n }\n midX = rs.midX;\n midY = rs.midY;\n\n // source\n //\n\n if (isSegments) {\n dispX = startX - rs.segpts[0];\n dispY = startY - rs.segpts[1];\n } else if (isMultibezier || isCompound || isSelf || isBezier) {\n var pts = rs.allpts;\n var bX = qbezierAt(pts[0], pts[2], pts[4], 0.1);\n var bY = qbezierAt(pts[1], pts[3], pts[5], 0.1);\n dispX = startX - bX;\n dispY = startY - bY;\n } else {\n dispX = startX - midX;\n dispY = startY - midY;\n }\n rs.srcArrowAngle = getAngleFromDisp(dispX, dispY);\n\n // mid target\n //\n\n var midX = rs.midX;\n var midY = rs.midY;\n if (isHaystack) {\n midX = (startX + endX) / 2;\n midY = (startY + endY) / 2;\n }\n dispX = endX - startX;\n dispY = endY - startY;\n if (isSegments) {\n var pts = rs.allpts;\n if (pts.length / 2 % 2 === 0) {\n var i2 = pts.length / 2;\n var i1 = i2 - 2;\n dispX = pts[i2] - pts[i1];\n dispY = pts[i2 + 1] - pts[i1 + 1];\n } else if (rs.isRound) {\n dispX = rs.midVector[1];\n dispY = -rs.midVector[0];\n } else {\n var i2 = pts.length / 2 - 1;\n var i1 = i2 - 2;\n dispX = pts[i2] - pts[i1];\n dispY = pts[i2 + 1] - pts[i1 + 1];\n }\n } else if (isMultibezier || isCompound || isSelf) {\n var pts = rs.allpts;\n var cpts = rs.ctrlpts;\n var bp0x, bp0y;\n var bp1x, bp1y;\n if (cpts.length / 2 % 2 === 0) {\n var p0 = pts.length / 2 - 1; // startpt\n var ic = p0 + 2;\n var p1 = ic + 2;\n bp0x = qbezierAt(pts[p0], pts[ic], pts[p1], 0.0);\n bp0y = qbezierAt(pts[p0 + 1], pts[ic + 1], pts[p1 + 1], 0.0);\n bp1x = qbezierAt(pts[p0], pts[ic], pts[p1], 0.0001);\n bp1y = qbezierAt(pts[p0 + 1], pts[ic + 1], pts[p1 + 1], 0.0001);\n } else {\n var ic = pts.length / 2 - 1; // ctrpt\n var p0 = ic - 2; // startpt\n var p1 = ic + 2; // endpt\n\n bp0x = qbezierAt(pts[p0], pts[ic], pts[p1], 0.4999);\n bp0y = qbezierAt(pts[p0 + 1], pts[ic + 1], pts[p1 + 1], 0.4999);\n bp1x = qbezierAt(pts[p0], pts[ic], pts[p1], 0.5);\n bp1y = qbezierAt(pts[p0 + 1], pts[ic + 1], pts[p1 + 1], 0.5);\n }\n dispX = bp1x - bp0x;\n dispY = bp1y - bp0y;\n }\n rs.midtgtArrowAngle = getAngleFromDisp(dispX, dispY);\n rs.midDispX = dispX;\n rs.midDispY = dispY;\n\n // mid source\n //\n\n dispX *= -1;\n dispY *= -1;\n if (isSegments) {\n var pts = rs.allpts;\n if (pts.length / 2 % 2 === 0) ; else if (!rs.isRound) {\n var i2 = pts.length / 2 - 1;\n var i3 = i2 + 2;\n dispX = -(pts[i3] - pts[i2]);\n dispY = -(pts[i3 + 1] - pts[i2 + 1]);\n }\n }\n rs.midsrcArrowAngle = getAngleFromDisp(dispX, dispY);\n\n // target\n //\n\n if (isSegments) {\n dispX = endX - rs.segpts[rs.segpts.length - 2];\n dispY = endY - rs.segpts[rs.segpts.length - 1];\n } else if (isMultibezier || isCompound || isSelf || isBezier) {\n var pts = rs.allpts;\n var l = pts.length;\n var bX = qbezierAt(pts[l - 6], pts[l - 4], pts[l - 2], 0.9);\n var bY = qbezierAt(pts[l - 5], pts[l - 3], pts[l - 1], 0.9);\n dispX = endX - bX;\n dispY = endY - bY;\n } else {\n dispX = endX - midX;\n dispY = endY - midY;\n }\n rs.tgtArrowAngle = getAngleFromDisp(dispX, dispY);\n};\nBRp$d.getArrowWidth = BRp$d.getArrowHeight = function (edgeWidth, scale) {\n var cache = this.arrowWidthCache = this.arrowWidthCache || {};\n var cachedVal = cache[edgeWidth + ', ' + scale];\n if (cachedVal) {\n return cachedVal;\n }\n cachedVal = Math.max(Math.pow(edgeWidth * 13.37, 0.9), 29) * scale;\n cache[edgeWidth + ', ' + scale] = cachedVal;\n return cachedVal;\n};\n\n/**\n * Explained by Blindman67 at https://stackoverflow.com/a/44856925/11028828\n */\n\n// Declare reused variable to avoid reallocating variables every time the function is called\nvar x,\n y,\n v1 = {},\n v2 = {},\n sinA,\n sinA90,\n radDirection,\n drawDirection,\n angle,\n halfAngle,\n cRadius,\n lenOut,\n radius,\n limit;\nvar startX, startY, stopX, stopY;\nvar lastPoint;\n\n// convert 2 points into vector form, polar form, and normalised\nvar asVec = function asVec(p, pp, v) {\n v.x = pp.x - p.x;\n v.y = pp.y - p.y;\n v.len = Math.sqrt(v.x * v.x + v.y * v.y);\n v.nx = v.x / v.len;\n v.ny = v.y / v.len;\n v.ang = Math.atan2(v.ny, v.nx);\n};\nvar invertVec = function invertVec(originalV, invertedV) {\n invertedV.x = originalV.x * -1;\n invertedV.y = originalV.y * -1;\n invertedV.nx = originalV.nx * -1;\n invertedV.ny = originalV.ny * -1;\n invertedV.ang = originalV.ang > 0 ? -(Math.PI - originalV.ang) : Math.PI + originalV.ang;\n};\nvar calcCornerArc = function calcCornerArc(previousPoint, currentPoint, nextPoint, radiusMax, isArcRadius) {\n //-----------------------------------------\n // Part 1\n previousPoint !== lastPoint ? asVec(currentPoint, previousPoint, v1) : invertVec(v2, v1); // Avoid recalculating vec if it is the invert of the last one calculated\n asVec(currentPoint, nextPoint, v2);\n sinA = v1.nx * v2.ny - v1.ny * v2.nx;\n sinA90 = v1.nx * v2.nx - v1.ny * -v2.ny;\n angle = Math.asin(Math.max(-1, Math.min(1, sinA)));\n if (Math.abs(angle) < 1e-6) {\n x = currentPoint.x;\n y = currentPoint.y;\n cRadius = radius = 0;\n return;\n }\n //-----------------------------------------\n radDirection = 1;\n drawDirection = false;\n if (sinA90 < 0) {\n if (angle < 0) {\n angle = Math.PI + angle;\n } else {\n angle = Math.PI - angle;\n radDirection = -1;\n drawDirection = true;\n }\n } else {\n if (angle > 0) {\n radDirection = -1;\n drawDirection = true;\n }\n }\n if (currentPoint.radius !== undefined) {\n radius = currentPoint.radius;\n } else {\n radius = radiusMax;\n }\n //-----------------------------------------\n // Part 2\n halfAngle = angle / 2;\n //-----------------------------------------\n\n limit = Math.min(v1.len / 2, v2.len / 2);\n if (isArcRadius) {\n //-----------------------------------------\n // Part 3\n lenOut = Math.abs(Math.cos(halfAngle) * radius / Math.sin(halfAngle));\n\n //-----------------------------------------\n // Special part A\n if (lenOut > limit) {\n lenOut = limit;\n cRadius = Math.abs(lenOut * Math.sin(halfAngle) / Math.cos(halfAngle));\n } else {\n cRadius = radius;\n }\n } else {\n lenOut = Math.min(limit, radius);\n cRadius = Math.abs(lenOut * Math.sin(halfAngle) / Math.cos(halfAngle));\n }\n //-----------------------------------------\n\n //-----------------------------------------\n // Part 4\n stopX = currentPoint.x + v2.nx * lenOut;\n stopY = currentPoint.y + v2.ny * lenOut;\n //-----------------------------------------\n // Part 5\n x = stopX - v2.ny * cRadius * radDirection;\n y = stopY + v2.nx * cRadius * radDirection;\n //-----------------------------------------\n // Additional Part : calculate start point E\n startX = currentPoint.x + v1.nx * lenOut;\n startY = currentPoint.y + v1.ny * lenOut;\n\n // Save last point to avoid recalculating vector when not needed\n lastPoint = currentPoint;\n};\n\n/**\n * Draw corner provided by {@link getRoundCorner}\n *\n * @param ctx :CanvasRenderingContext2D\n * @param roundCorner {{cx:number, cy:number, radius:number, endAngle: number, startAngle: number, counterClockwise: boolean}}\n */\nfunction drawPreparedRoundCorner(ctx, roundCorner) {\n if (roundCorner.radius === 0) ctx.lineTo(roundCorner.cx, roundCorner.cy);else ctx.arc(roundCorner.cx, roundCorner.cy, roundCorner.radius, roundCorner.startAngle, roundCorner.endAngle, roundCorner.counterClockwise);\n}\n\n/**\n * Get round corner from a point and its previous and next neighbours in a path\n *\n * @param previousPoint {{x: number, y:number, radius: number?}}\n * @param currentPoint {{x: number, y:number, radius: number?}}\n * @param nextPoint {{x: number, y:number, radius: number?}}\n * @param radiusMax :number\n * @param isArcRadius :boolean\n * @return {{\n * cx:number, cy:number, radius:number,\n * startX:number, startY:number,\n * stopX:number, stopY: number,\n * endAngle: number, startAngle: number, counterClockwise: boolean\n * }}\n */\nfunction getRoundCorner(previousPoint, currentPoint, nextPoint, radiusMax) {\n var isArcRadius = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n if (radiusMax === 0 || currentPoint.radius === 0) return {\n cx: currentPoint.x,\n cy: currentPoint.y,\n radius: 0,\n startX: currentPoint.x,\n startY: currentPoint.y,\n stopX: currentPoint.x,\n stopY: currentPoint.y,\n startAngle: undefined,\n endAngle: undefined,\n counterClockwise: undefined\n };\n calcCornerArc(previousPoint, currentPoint, nextPoint, radiusMax, isArcRadius);\n return {\n cx: x,\n cy: y,\n radius: cRadius,\n startX: startX,\n startY: startY,\n stopX: stopX,\n stopY: stopY,\n startAngle: v1.ang + Math.PI / 2 * radDirection,\n endAngle: v2.ang - Math.PI / 2 * radDirection,\n counterClockwise: drawDirection\n };\n}\n\nvar AVOID_IMPOSSIBLE_BEZIER_CONSTANT = 0.01;\nvar AVOID_IMPOSSIBLE_BEZIER_CONSTANT_L = Math.sqrt(2 * AVOID_IMPOSSIBLE_BEZIER_CONSTANT);\nvar BRp$c = {};\nBRp$c.findMidptPtsEtc = function (edge, pairInfo) {\n var posPts = pairInfo.posPts,\n intersectionPts = pairInfo.intersectionPts,\n vectorNormInverse = pairInfo.vectorNormInverse;\n var midptPts;\n\n // n.b. assumes all edges in bezier bundle have same endpoints specified\n var srcManEndpt = edge.pstyle('source-endpoint');\n var tgtManEndpt = edge.pstyle('target-endpoint');\n var haveManualEndPts = srcManEndpt.units != null && tgtManEndpt.units != null;\n var recalcVectorNormInverse = function recalcVectorNormInverse(x1, y1, x2, y2) {\n var dy = y2 - y1;\n var dx = x2 - x1;\n var l = Math.sqrt(dx * dx + dy * dy);\n return {\n x: -dy / l,\n y: dx / l\n };\n };\n var edgeDistances = edge.pstyle('edge-distances').value;\n switch (edgeDistances) {\n case 'node-position':\n midptPts = posPts;\n break;\n case 'intersection':\n midptPts = intersectionPts;\n break;\n case 'endpoints':\n {\n if (haveManualEndPts) {\n var _this$manualEndptToPx = this.manualEndptToPx(edge.source()[0], srcManEndpt),\n _this$manualEndptToPx2 = _slicedToArray(_this$manualEndptToPx, 2),\n x1 = _this$manualEndptToPx2[0],\n y1 = _this$manualEndptToPx2[1];\n var _this$manualEndptToPx3 = this.manualEndptToPx(edge.target()[0], tgtManEndpt),\n _this$manualEndptToPx4 = _slicedToArray(_this$manualEndptToPx3, 2),\n x2 = _this$manualEndptToPx4[0],\n y2 = _this$manualEndptToPx4[1];\n var endPts = {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n };\n vectorNormInverse = recalcVectorNormInverse(x1, y1, x2, y2);\n midptPts = endPts;\n } else {\n warn(\"Edge \".concat(edge.id(), \" has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).\"));\n midptPts = intersectionPts; // back to default\n }\n break;\n }\n }\n return {\n midptPts: midptPts,\n vectorNormInverse: vectorNormInverse\n };\n};\nBRp$c.findHaystackPoints = function (edges) {\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n var _p = edge._private;\n var rs = _p.rscratch;\n if (!rs.haystack) {\n var angle = Math.random() * 2 * Math.PI;\n rs.source = {\n x: Math.cos(angle),\n y: Math.sin(angle)\n };\n angle = Math.random() * 2 * Math.PI;\n rs.target = {\n x: Math.cos(angle),\n y: Math.sin(angle)\n };\n }\n var src = _p.source;\n var tgt = _p.target;\n var srcPos = src.position();\n var tgtPos = tgt.position();\n var srcW = src.width();\n var tgtW = tgt.width();\n var srcH = src.height();\n var tgtH = tgt.height();\n var radius = edge.pstyle('haystack-radius').value;\n var halfRadius = radius / 2; // b/c have to half width/height\n\n rs.haystackPts = rs.allpts = [rs.source.x * srcW * halfRadius + srcPos.x, rs.source.y * srcH * halfRadius + srcPos.y, rs.target.x * tgtW * halfRadius + tgtPos.x, rs.target.y * tgtH * halfRadius + tgtPos.y];\n rs.midX = (rs.allpts[0] + rs.allpts[2]) / 2;\n rs.midY = (rs.allpts[1] + rs.allpts[3]) / 2;\n\n // always override as haystack in case set to different type previously\n rs.edgeType = 'haystack';\n rs.haystack = true;\n this.storeEdgeProjections(edge);\n this.calculateArrowAngles(edge);\n this.recalculateEdgeLabelProjections(edge);\n this.calculateLabelAngles(edge);\n }\n};\nBRp$c.findSegmentsPoints = function (edge, pairInfo) {\n // Segments (multiple straight lines)\n\n var rs = edge._private.rscratch;\n var segmentWs = edge.pstyle('segment-weights');\n var segmentDs = edge.pstyle('segment-distances');\n var segmentRs = edge.pstyle('segment-radii');\n var segmentTs = edge.pstyle('radius-type');\n var segmentsN = Math.min(segmentWs.pfValue.length, segmentDs.pfValue.length);\n var lastRadius = segmentRs.pfValue[segmentRs.pfValue.length - 1];\n var lastRadiusType = segmentTs.pfValue[segmentTs.pfValue.length - 1];\n rs.edgeType = 'segments';\n rs.segpts = [];\n rs.radii = [];\n rs.isArcRadius = [];\n for (var s = 0; s < segmentsN; s++) {\n var w = segmentWs.pfValue[s];\n var d = segmentDs.pfValue[s];\n var w1 = 1 - w;\n var w2 = w;\n var _this$findMidptPtsEtc = this.findMidptPtsEtc(edge, pairInfo),\n midptPts = _this$findMidptPtsEtc.midptPts,\n vectorNormInverse = _this$findMidptPtsEtc.vectorNormInverse;\n var adjustedMidpt = {\n x: midptPts.x1 * w1 + midptPts.x2 * w2,\n y: midptPts.y1 * w1 + midptPts.y2 * w2\n };\n rs.segpts.push(adjustedMidpt.x + vectorNormInverse.x * d, adjustedMidpt.y + vectorNormInverse.y * d);\n rs.radii.push(segmentRs.pfValue[s] !== undefined ? segmentRs.pfValue[s] : lastRadius);\n rs.isArcRadius.push((segmentTs.pfValue[s] !== undefined ? segmentTs.pfValue[s] : lastRadiusType) === 'arc-radius');\n }\n};\nBRp$c.findLoopPoints = function (edge, pairInfo, i, edgeIsUnbundled) {\n // Self-edge\n\n var rs = edge._private.rscratch;\n var dirCounts = pairInfo.dirCounts,\n srcPos = pairInfo.srcPos;\n var ctrlptDists = edge.pstyle('control-point-distances');\n var ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[0] : undefined;\n var loopDir = edge.pstyle('loop-direction').pfValue;\n var loopSwp = edge.pstyle('loop-sweep').pfValue;\n var stepSize = edge.pstyle('control-point-step-size').pfValue;\n rs.edgeType = 'self';\n var j = i;\n var loopDist = stepSize;\n if (edgeIsUnbundled) {\n j = 0;\n loopDist = ctrlptDist;\n }\n var loopAngle = loopDir - Math.PI / 2;\n var outAngle = loopAngle - loopSwp / 2;\n var inAngle = loopAngle + loopSwp / 2;\n\n // increase by step size for overlapping loops, keyed on direction and sweep values\n var dc = String(loopDir + '_' + loopSwp);\n j = dirCounts[dc] === undefined ? dirCounts[dc] = 0 : ++dirCounts[dc];\n rs.ctrlpts = [srcPos.x + Math.cos(outAngle) * 1.4 * loopDist * (j / 3 + 1), srcPos.y + Math.sin(outAngle) * 1.4 * loopDist * (j / 3 + 1), srcPos.x + Math.cos(inAngle) * 1.4 * loopDist * (j / 3 + 1), srcPos.y + Math.sin(inAngle) * 1.4 * loopDist * (j / 3 + 1)];\n};\nBRp$c.findCompoundLoopPoints = function (edge, pairInfo, i, edgeIsUnbundled) {\n // Compound edge\n\n var rs = edge._private.rscratch;\n rs.edgeType = 'compound';\n var srcPos = pairInfo.srcPos,\n tgtPos = pairInfo.tgtPos,\n srcW = pairInfo.srcW,\n srcH = pairInfo.srcH,\n tgtW = pairInfo.tgtW,\n tgtH = pairInfo.tgtH;\n var stepSize = edge.pstyle('control-point-step-size').pfValue;\n var ctrlptDists = edge.pstyle('control-point-distances');\n var ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[0] : undefined;\n var j = i;\n var loopDist = stepSize;\n if (edgeIsUnbundled) {\n j = 0;\n loopDist = ctrlptDist;\n }\n var loopW = 50;\n var loopaPos = {\n x: srcPos.x - srcW / 2,\n y: srcPos.y - srcH / 2\n };\n var loopbPos = {\n x: tgtPos.x - tgtW / 2,\n y: tgtPos.y - tgtH / 2\n };\n var loopPos = {\n x: Math.min(loopaPos.x, loopbPos.x),\n y: Math.min(loopaPos.y, loopbPos.y)\n };\n\n // avoids cases with impossible beziers\n var minCompoundStretch = 0.5;\n var compoundStretchA = Math.max(minCompoundStretch, Math.log(srcW * AVOID_IMPOSSIBLE_BEZIER_CONSTANT));\n var compoundStretchB = Math.max(minCompoundStretch, Math.log(tgtW * AVOID_IMPOSSIBLE_BEZIER_CONSTANT));\n rs.ctrlpts = [loopPos.x, loopPos.y - (1 + Math.pow(loopW, 1.12) / 100) * loopDist * (j / 3 + 1) * compoundStretchA, loopPos.x - (1 + Math.pow(loopW, 1.12) / 100) * loopDist * (j / 3 + 1) * compoundStretchB, loopPos.y];\n};\nBRp$c.findStraightEdgePoints = function (edge) {\n // Straight edge within bundle\n\n edge._private.rscratch.edgeType = 'straight';\n};\nBRp$c.findBezierPoints = function (edge, pairInfo, i, edgeIsUnbundled, edgeIsSwapped) {\n var rs = edge._private.rscratch;\n var stepSize = edge.pstyle('control-point-step-size').pfValue;\n var ctrlptDists = edge.pstyle('control-point-distances');\n var ctrlptWs = edge.pstyle('control-point-weights');\n var bezierN = ctrlptDists && ctrlptWs ? Math.min(ctrlptDists.value.length, ctrlptWs.value.length) : 1;\n var ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[0] : undefined;\n var ctrlptWeight = ctrlptWs.value[0];\n\n // (Multi)bezier\n\n var multi = edgeIsUnbundled;\n rs.edgeType = multi ? 'multibezier' : 'bezier';\n rs.ctrlpts = [];\n for (var b = 0; b < bezierN; b++) {\n var normctrlptDist = (0.5 - pairInfo.eles.length / 2 + i) * stepSize * (edgeIsSwapped ? -1 : 1);\n var manctrlptDist = undefined;\n var sign = signum(normctrlptDist);\n if (multi) {\n ctrlptDist = ctrlptDists ? ctrlptDists.pfValue[b] : stepSize; // fall back on step size\n ctrlptWeight = ctrlptWs.value[b];\n }\n if (edgeIsUnbundled) {\n // multi or single unbundled\n manctrlptDist = ctrlptDist;\n } else {\n manctrlptDist = ctrlptDist !== undefined ? sign * ctrlptDist : undefined;\n }\n var distanceFromMidpoint = manctrlptDist !== undefined ? manctrlptDist : normctrlptDist;\n var w1 = 1 - ctrlptWeight;\n var w2 = ctrlptWeight;\n var _this$findMidptPtsEtc2 = this.findMidptPtsEtc(edge, pairInfo),\n midptPts = _this$findMidptPtsEtc2.midptPts,\n vectorNormInverse = _this$findMidptPtsEtc2.vectorNormInverse;\n var adjustedMidpt = {\n x: midptPts.x1 * w1 + midptPts.x2 * w2,\n y: midptPts.y1 * w1 + midptPts.y2 * w2\n };\n rs.ctrlpts.push(adjustedMidpt.x + vectorNormInverse.x * distanceFromMidpoint, adjustedMidpt.y + vectorNormInverse.y * distanceFromMidpoint);\n }\n};\nBRp$c.findTaxiPoints = function (edge, pairInfo) {\n // Taxicab geometry with two turns maximum\n\n var rs = edge._private.rscratch;\n rs.edgeType = 'segments';\n var VERTICAL = 'vertical';\n var HORIZONTAL = 'horizontal';\n var LEFTWARD = 'leftward';\n var RIGHTWARD = 'rightward';\n var DOWNWARD = 'downward';\n var UPWARD = 'upward';\n var AUTO = 'auto';\n var posPts = pairInfo.posPts,\n srcW = pairInfo.srcW,\n srcH = pairInfo.srcH,\n tgtW = pairInfo.tgtW,\n tgtH = pairInfo.tgtH;\n var edgeDistances = edge.pstyle('edge-distances').value;\n var dIncludesNodeBody = edgeDistances !== 'node-position';\n var taxiDir = edge.pstyle('taxi-direction').value;\n var rawTaxiDir = taxiDir; // unprocessed value\n var taxiTurn = edge.pstyle('taxi-turn');\n var turnIsPercent = taxiTurn.units === '%';\n var taxiTurnPfVal = taxiTurn.pfValue;\n var turnIsNegative = taxiTurnPfVal < 0; // i.e. from target side\n var minD = edge.pstyle('taxi-turn-min-distance').pfValue;\n var dw = dIncludesNodeBody ? (srcW + tgtW) / 2 : 0;\n var dh = dIncludesNodeBody ? (srcH + tgtH) / 2 : 0;\n var pdx = posPts.x2 - posPts.x1;\n var pdy = posPts.y2 - posPts.y1;\n\n // take away the effective w/h from the magnitude of the delta value\n var subDWH = function subDWH(dxy, dwh) {\n if (dxy > 0) {\n return Math.max(dxy - dwh, 0);\n } else {\n return Math.min(dxy + dwh, 0);\n }\n };\n var dx = subDWH(pdx, dw);\n var dy = subDWH(pdy, dh);\n var isExplicitDir = false;\n if (rawTaxiDir === AUTO) {\n taxiDir = Math.abs(dx) > Math.abs(dy) ? HORIZONTAL : VERTICAL;\n } else if (rawTaxiDir === UPWARD || rawTaxiDir === DOWNWARD) {\n taxiDir = VERTICAL;\n isExplicitDir = true;\n } else if (rawTaxiDir === LEFTWARD || rawTaxiDir === RIGHTWARD) {\n taxiDir = HORIZONTAL;\n isExplicitDir = true;\n }\n var isVert = taxiDir === VERTICAL;\n var l = isVert ? dy : dx;\n var pl = isVert ? pdy : pdx;\n var sgnL = signum(pl);\n var forcedDir = false;\n if (!(isExplicitDir && (turnIsPercent || turnIsNegative)) // forcing in this case would cause weird growing in the opposite direction\n && (rawTaxiDir === DOWNWARD && pl < 0 || rawTaxiDir === UPWARD && pl > 0 || rawTaxiDir === LEFTWARD && pl > 0 || rawTaxiDir === RIGHTWARD && pl < 0)) {\n sgnL *= -1;\n l = sgnL * Math.abs(l);\n forcedDir = true;\n }\n var d;\n if (turnIsPercent) {\n var p = taxiTurnPfVal < 0 ? 1 + taxiTurnPfVal : taxiTurnPfVal;\n d = p * l;\n } else {\n var k = taxiTurnPfVal < 0 ? l : 0;\n d = k + taxiTurnPfVal * sgnL;\n }\n var getIsTooClose = function getIsTooClose(d) {\n return Math.abs(d) < minD || Math.abs(d) >= Math.abs(l);\n };\n var isTooCloseSrc = getIsTooClose(d);\n var isTooCloseTgt = getIsTooClose(Math.abs(l) - Math.abs(d));\n var isTooClose = isTooCloseSrc || isTooCloseTgt;\n if (isTooClose && !forcedDir) {\n // non-ideal routing\n if (isVert) {\n // vertical fallbacks\n var lShapeInsideSrc = Math.abs(pl) <= srcH / 2;\n var lShapeInsideTgt = Math.abs(pdx) <= tgtW / 2;\n if (lShapeInsideSrc) {\n // horizontal Z-shape (direction not respected)\n var x = (posPts.x1 + posPts.x2) / 2;\n var y1 = posPts.y1,\n y2 = posPts.y2;\n rs.segpts = [x, y1, x, y2];\n } else if (lShapeInsideTgt) {\n // vertical Z-shape (distance not respected)\n var y = (posPts.y1 + posPts.y2) / 2;\n var x1 = posPts.x1,\n x2 = posPts.x2;\n rs.segpts = [x1, y, x2, y];\n } else {\n // L-shape fallback (turn distance not respected, but works well with tree siblings)\n rs.segpts = [posPts.x1, posPts.y2];\n }\n } else {\n // horizontal fallbacks\n var _lShapeInsideSrc = Math.abs(pl) <= srcW / 2;\n var _lShapeInsideTgt = Math.abs(pdy) <= tgtH / 2;\n if (_lShapeInsideSrc) {\n // vertical Z-shape (direction not respected)\n var _y = (posPts.y1 + posPts.y2) / 2;\n var _x = posPts.x1,\n _x2 = posPts.x2;\n rs.segpts = [_x, _y, _x2, _y];\n } else if (_lShapeInsideTgt) {\n // horizontal Z-shape (turn distance not respected)\n var _x3 = (posPts.x1 + posPts.x2) / 2;\n var _y2 = posPts.y1,\n _y3 = posPts.y2;\n rs.segpts = [_x3, _y2, _x3, _y3];\n } else {\n // L-shape (turn distance not respected, but works well for tree siblings)\n rs.segpts = [posPts.x2, posPts.y1];\n }\n }\n } else {\n // ideal routing\n if (isVert) {\n var _y4 = posPts.y1 + d + (dIncludesNodeBody ? srcH / 2 * sgnL : 0);\n var _x4 = posPts.x1,\n _x5 = posPts.x2;\n rs.segpts = [_x4, _y4, _x5, _y4];\n } else {\n // horizontal\n var _x6 = posPts.x1 + d + (dIncludesNodeBody ? srcW / 2 * sgnL : 0);\n var _y5 = posPts.y1,\n _y6 = posPts.y2;\n rs.segpts = [_x6, _y5, _x6, _y6];\n }\n }\n if (rs.isRound) {\n var radius = edge.pstyle('taxi-radius').value;\n var isArcRadius = edge.pstyle('radius-type').value[0] === 'arc-radius';\n rs.radii = new Array(rs.segpts.length / 2).fill(radius);\n rs.isArcRadius = new Array(rs.segpts.length / 2).fill(isArcRadius);\n }\n};\nBRp$c.tryToCorrectInvalidPoints = function (edge, pairInfo) {\n var rs = edge._private.rscratch;\n\n // can only correct beziers for now...\n if (rs.edgeType === 'bezier') {\n var srcPos = pairInfo.srcPos,\n tgtPos = pairInfo.tgtPos,\n srcW = pairInfo.srcW,\n srcH = pairInfo.srcH,\n tgtW = pairInfo.tgtW,\n tgtH = pairInfo.tgtH,\n srcShape = pairInfo.srcShape,\n tgtShape = pairInfo.tgtShape,\n srcCornerRadius = pairInfo.srcCornerRadius,\n tgtCornerRadius = pairInfo.tgtCornerRadius,\n srcRs = pairInfo.srcRs,\n tgtRs = pairInfo.tgtRs;\n var badStart = !number$1(rs.startX) || !number$1(rs.startY);\n var badAStart = !number$1(rs.arrowStartX) || !number$1(rs.arrowStartY);\n var badEnd = !number$1(rs.endX) || !number$1(rs.endY);\n var badAEnd = !number$1(rs.arrowEndX) || !number$1(rs.arrowEndY);\n var minCpADistFactor = 3;\n var arrowW = this.getArrowWidth(edge.pstyle('width').pfValue, edge.pstyle('arrow-scale').value) * this.arrowShapeWidth;\n var minCpADist = minCpADistFactor * arrowW;\n var startACpDist = dist({\n x: rs.ctrlpts[0],\n y: rs.ctrlpts[1]\n }, {\n x: rs.startX,\n y: rs.startY\n });\n var closeStartACp = startACpDist < minCpADist;\n var endACpDist = dist({\n x: rs.ctrlpts[0],\n y: rs.ctrlpts[1]\n }, {\n x: rs.endX,\n y: rs.endY\n });\n var closeEndACp = endACpDist < minCpADist;\n var overlapping = false;\n if (badStart || badAStart || closeStartACp) {\n overlapping = true;\n\n // project control point along line from src centre to outside the src shape\n // (otherwise intersection will yield nothing)\n var cpD = {\n // delta\n x: rs.ctrlpts[0] - srcPos.x,\n y: rs.ctrlpts[1] - srcPos.y\n };\n var cpL = Math.sqrt(cpD.x * cpD.x + cpD.y * cpD.y); // length of line\n var cpM = {\n // normalised delta\n x: cpD.x / cpL,\n y: cpD.y / cpL\n };\n var radius = Math.max(srcW, srcH);\n var cpProj = {\n // *2 radius guarantees outside shape\n x: rs.ctrlpts[0] + cpM.x * 2 * radius,\n y: rs.ctrlpts[1] + cpM.y * 2 * radius\n };\n var srcCtrlPtIntn = srcShape.intersectLine(srcPos.x, srcPos.y, srcW, srcH, cpProj.x, cpProj.y, 0, srcCornerRadius, srcRs);\n if (closeStartACp) {\n rs.ctrlpts[0] = rs.ctrlpts[0] + cpM.x * (minCpADist - startACpDist);\n rs.ctrlpts[1] = rs.ctrlpts[1] + cpM.y * (minCpADist - startACpDist);\n } else {\n rs.ctrlpts[0] = srcCtrlPtIntn[0] + cpM.x * minCpADist;\n rs.ctrlpts[1] = srcCtrlPtIntn[1] + cpM.y * minCpADist;\n }\n }\n if (badEnd || badAEnd || closeEndACp) {\n overlapping = true;\n\n // project control point along line from tgt centre to outside the tgt shape\n // (otherwise intersection will yield nothing)\n var _cpD = {\n // delta\n x: rs.ctrlpts[0] - tgtPos.x,\n y: rs.ctrlpts[1] - tgtPos.y\n };\n var _cpL = Math.sqrt(_cpD.x * _cpD.x + _cpD.y * _cpD.y); // length of line\n var _cpM = {\n // normalised delta\n x: _cpD.x / _cpL,\n y: _cpD.y / _cpL\n };\n var _radius = Math.max(srcW, srcH);\n var _cpProj = {\n // *2 radius guarantees outside shape\n x: rs.ctrlpts[0] + _cpM.x * 2 * _radius,\n y: rs.ctrlpts[1] + _cpM.y * 2 * _radius\n };\n var tgtCtrlPtIntn = tgtShape.intersectLine(tgtPos.x, tgtPos.y, tgtW, tgtH, _cpProj.x, _cpProj.y, 0, tgtCornerRadius, tgtRs);\n if (closeEndACp) {\n rs.ctrlpts[0] = rs.ctrlpts[0] + _cpM.x * (minCpADist - endACpDist);\n rs.ctrlpts[1] = rs.ctrlpts[1] + _cpM.y * (minCpADist - endACpDist);\n } else {\n rs.ctrlpts[0] = tgtCtrlPtIntn[0] + _cpM.x * minCpADist;\n rs.ctrlpts[1] = tgtCtrlPtIntn[1] + _cpM.y * minCpADist;\n }\n }\n if (overlapping) {\n // recalc endpts\n this.findEndpoints(edge);\n }\n }\n};\nBRp$c.storeAllpts = function (edge) {\n var rs = edge._private.rscratch;\n if (rs.edgeType === 'multibezier' || rs.edgeType === 'bezier' || rs.edgeType === 'self' || rs.edgeType === 'compound') {\n rs.allpts = [];\n rs.allpts.push(rs.startX, rs.startY);\n for (var b = 0; b + 1 < rs.ctrlpts.length; b += 2) {\n // ctrl pt itself\n rs.allpts.push(rs.ctrlpts[b], rs.ctrlpts[b + 1]);\n\n // the midpt between ctrlpts as intermediate destination pts\n if (b + 3 < rs.ctrlpts.length) {\n rs.allpts.push((rs.ctrlpts[b] + rs.ctrlpts[b + 2]) / 2, (rs.ctrlpts[b + 1] + rs.ctrlpts[b + 3]) / 2);\n }\n }\n rs.allpts.push(rs.endX, rs.endY);\n var m, mt;\n if (rs.ctrlpts.length / 2 % 2 === 0) {\n m = rs.allpts.length / 2 - 1;\n rs.midX = rs.allpts[m];\n rs.midY = rs.allpts[m + 1];\n } else {\n m = rs.allpts.length / 2 - 3;\n mt = 0.5;\n rs.midX = qbezierAt(rs.allpts[m], rs.allpts[m + 2], rs.allpts[m + 4], mt);\n rs.midY = qbezierAt(rs.allpts[m + 1], rs.allpts[m + 3], rs.allpts[m + 5], mt);\n }\n } else if (rs.edgeType === 'straight') {\n // need to calc these after endpts\n rs.allpts = [rs.startX, rs.startY, rs.endX, rs.endY];\n\n // default midpt for labels etc\n rs.midX = (rs.startX + rs.endX + rs.arrowStartX + rs.arrowEndX) / 4;\n rs.midY = (rs.startY + rs.endY + rs.arrowStartY + rs.arrowEndY) / 4;\n } else if (rs.edgeType === 'segments') {\n rs.allpts = [];\n rs.allpts.push(rs.startX, rs.startY);\n rs.allpts.push.apply(rs.allpts, rs.segpts);\n rs.allpts.push(rs.endX, rs.endY);\n if (rs.isRound) {\n rs.roundCorners = [];\n for (var i = 2; i + 3 < rs.allpts.length; i += 2) {\n var radius = rs.radii[i / 2 - 1];\n var isArcRadius = rs.isArcRadius[i / 2 - 1];\n rs.roundCorners.push(getRoundCorner({\n x: rs.allpts[i - 2],\n y: rs.allpts[i - 1]\n }, {\n x: rs.allpts[i],\n y: rs.allpts[i + 1],\n radius: radius\n }, {\n x: rs.allpts[i + 2],\n y: rs.allpts[i + 3]\n }, radius, isArcRadius));\n }\n }\n if (rs.segpts.length % 4 === 0) {\n var i2 = rs.segpts.length / 2;\n var i1 = i2 - 2;\n rs.midX = (rs.segpts[i1] + rs.segpts[i2]) / 2;\n rs.midY = (rs.segpts[i1 + 1] + rs.segpts[i2 + 1]) / 2;\n } else {\n var _i = rs.segpts.length / 2 - 1;\n if (!rs.isRound) {\n rs.midX = rs.segpts[_i];\n rs.midY = rs.segpts[_i + 1];\n } else {\n var point = {\n x: rs.segpts[_i],\n y: rs.segpts[_i + 1]\n };\n var corner = rs.roundCorners[_i / 2];\n if (corner.radius === 0) {\n // On collinear points\n var nextPoint = {\n x: rs.segpts[_i + 2],\n y: rs.segpts[_i + 3]\n };\n rs.midX = point.x;\n rs.midY = point.y;\n rs.midVector = [point.y - nextPoint.y, nextPoint.x - point.x];\n } else {\n // On rounded points\n var v = [point.x - corner.cx, point.y - corner.cy];\n var factor = corner.radius / Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2));\n v = v.map(function (c) {\n return c * factor;\n });\n rs.midX = corner.cx + v[0];\n rs.midY = corner.cy + v[1];\n rs.midVector = v;\n }\n }\n }\n }\n};\nBRp$c.checkForInvalidEdgeWarning = function (edge) {\n var rs = edge[0]._private.rscratch;\n if (rs.nodesOverlap || number$1(rs.startX) && number$1(rs.startY) && number$1(rs.endX) && number$1(rs.endY)) {\n rs.loggedErr = false;\n } else {\n if (!rs.loggedErr) {\n rs.loggedErr = true;\n warn('Edge `' + edge.id() + '` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap.');\n }\n }\n};\nBRp$c.findEdgeControlPoints = function (edges) {\n var _this = this;\n if (!edges || edges.length === 0) {\n return;\n }\n var r = this;\n var cy = r.cy;\n var hasCompounds = cy.hasCompoundNodes();\n var hashTable = new Map$1();\n var getKey = function getKey(pairId, edgeIsUnbundled) {\n return [].concat(_toConsumableArray(pairId), [edgeIsUnbundled ? 1 : 0]).join('-');\n };\n var pairIds = [];\n var haystackEdges = [];\n\n // create a table of edge (src, tgt) => list of edges between them\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n var _p = edge._private;\n var curveStyle = edge.pstyle('curve-style').value;\n\n // ignore edges who are not to be displayed\n // they shouldn't take up space\n if (edge.removed() || !edge.takesUpSpace()) {\n continue;\n }\n if (curveStyle === 'haystack') {\n haystackEdges.push(edge);\n continue;\n }\n var edgeIsUnbundled = curveStyle === 'unbundled-bezier' || curveStyle.endsWith('segments') || curveStyle === 'straight' || curveStyle === 'straight-triangle' || curveStyle.endsWith('taxi');\n var edgeIsBezier = curveStyle === 'unbundled-bezier' || curveStyle === 'bezier';\n var src = _p.source;\n var tgt = _p.target;\n var srcIndex = src.poolIndex();\n var tgtIndex = tgt.poolIndex();\n var pairId = [srcIndex, tgtIndex].sort();\n var key = getKey(pairId, edgeIsUnbundled);\n var tableEntry = hashTable.get(key);\n if (tableEntry == null) {\n tableEntry = {\n eles: []\n };\n pairIds.push({\n pairId: pairId,\n edgeIsUnbundled: edgeIsUnbundled\n });\n hashTable.set(key, tableEntry);\n }\n tableEntry.eles.push(edge);\n if (edgeIsUnbundled) {\n tableEntry.hasUnbundled = true;\n }\n if (edgeIsBezier) {\n tableEntry.hasBezier = true;\n }\n }\n\n // for each pair (src, tgt), create the ctrl pts\n // Nested for loop is OK; total number of iterations for both loops = edgeCount\n var _loop = function _loop() {\n var _pairIds$p = pairIds[p],\n pairId = _pairIds$p.pairId,\n edgeIsUnbundled = _pairIds$p.edgeIsUnbundled;\n var key = getKey(pairId, edgeIsUnbundled);\n var pairInfo = hashTable.get(key);\n var swappedpairInfo;\n if (!pairInfo.hasUnbundled) {\n var pllEdges = pairInfo.eles[0].parallelEdges().filter(function (e) {\n return e.isBundledBezier();\n });\n clearArray(pairInfo.eles);\n pllEdges.forEach(function (edge) {\n return pairInfo.eles.push(edge);\n });\n\n // for each pair id, the edges should be sorted by index\n pairInfo.eles.sort(function (edge1, edge2) {\n return edge1.poolIndex() - edge2.poolIndex();\n });\n }\n var firstEdge = pairInfo.eles[0];\n var src = firstEdge.source();\n var tgt = firstEdge.target();\n\n // make sure src/tgt distinction is consistent w.r.t. pairId\n if (src.poolIndex() > tgt.poolIndex()) {\n var temp = src;\n src = tgt;\n tgt = temp;\n }\n var srcPos = pairInfo.srcPos = src.position();\n var tgtPos = pairInfo.tgtPos = tgt.position();\n var srcW = pairInfo.srcW = src.outerWidth();\n var srcH = pairInfo.srcH = src.outerHeight();\n var tgtW = pairInfo.tgtW = tgt.outerWidth();\n var tgtH = pairInfo.tgtH = tgt.outerHeight();\n var srcShape = pairInfo.srcShape = r.nodeShapes[_this.getNodeShape(src)];\n var tgtShape = pairInfo.tgtShape = r.nodeShapes[_this.getNodeShape(tgt)];\n var srcCornerRadius = pairInfo.srcCornerRadius = src.pstyle('corner-radius').value === 'auto' ? 'auto' : src.pstyle('corner-radius').pfValue;\n var tgtCornerRadius = pairInfo.tgtCornerRadius = tgt.pstyle('corner-radius').value === 'auto' ? 'auto' : tgt.pstyle('corner-radius').pfValue;\n var tgtRs = pairInfo.tgtRs = tgt._private.rscratch;\n var srcRs = pairInfo.srcRs = src._private.rscratch;\n pairInfo.dirCounts = {\n 'north': 0,\n 'west': 0,\n 'south': 0,\n 'east': 0,\n 'northwest': 0,\n 'southwest': 0,\n 'northeast': 0,\n 'southeast': 0\n };\n for (var _i2 = 0; _i2 < pairInfo.eles.length; _i2++) {\n var _edge = pairInfo.eles[_i2];\n var rs = _edge[0]._private.rscratch;\n var _curveStyle = _edge.pstyle('curve-style').value;\n var _edgeIsUnbundled = _curveStyle === 'unbundled-bezier' || _curveStyle.endsWith('segments') || _curveStyle.endsWith('taxi');\n\n // whether the normalised pair order is the reverse of the edge's src-tgt order\n var edgeIsSwapped = !src.same(_edge.source());\n if (!pairInfo.calculatedIntersection && src !== tgt && (pairInfo.hasBezier || pairInfo.hasUnbundled)) {\n pairInfo.calculatedIntersection = true;\n\n // pt outside src shape to calc distance/displacement from src to tgt\n var srcOutside = srcShape.intersectLine(srcPos.x, srcPos.y, srcW, srcH, tgtPos.x, tgtPos.y, 0, srcCornerRadius, srcRs);\n var srcIntn = pairInfo.srcIntn = srcOutside;\n\n // pt outside tgt shape to calc distance/displacement from src to tgt\n var tgtOutside = tgtShape.intersectLine(tgtPos.x, tgtPos.y, tgtW, tgtH, srcPos.x, srcPos.y, 0, tgtCornerRadius, tgtRs);\n var tgtIntn = pairInfo.tgtIntn = tgtOutside;\n var intersectionPts = pairInfo.intersectionPts = {\n x1: srcOutside[0],\n x2: tgtOutside[0],\n y1: srcOutside[1],\n y2: tgtOutside[1]\n };\n var posPts = pairInfo.posPts = {\n x1: srcPos.x,\n x2: tgtPos.x,\n y1: srcPos.y,\n y2: tgtPos.y\n };\n var dy = tgtOutside[1] - srcOutside[1];\n var dx = tgtOutside[0] - srcOutside[0];\n var l = Math.sqrt(dx * dx + dy * dy);\n if (number$1(l) && l >= AVOID_IMPOSSIBLE_BEZIER_CONSTANT_L) ; else {\n l = Math.sqrt(Math.max(dx * dx, AVOID_IMPOSSIBLE_BEZIER_CONSTANT) + Math.max(dy * dy, AVOID_IMPOSSIBLE_BEZIER_CONSTANT));\n }\n var vector = pairInfo.vector = {\n x: dx,\n y: dy\n };\n var vectorNorm = pairInfo.vectorNorm = {\n x: vector.x / l,\n y: vector.y / l\n };\n var vectorNormInverse = {\n x: -vectorNorm.y,\n y: vectorNorm.x\n };\n\n // if node shapes overlap, then no ctrl pts to draw\n pairInfo.nodesOverlap = !number$1(l) || tgtShape.checkPoint(srcOutside[0], srcOutside[1], 0, tgtW, tgtH, tgtPos.x, tgtPos.y, tgtCornerRadius, tgtRs) || srcShape.checkPoint(tgtOutside[0], tgtOutside[1], 0, srcW, srcH, srcPos.x, srcPos.y, srcCornerRadius, srcRs);\n pairInfo.vectorNormInverse = vectorNormInverse;\n swappedpairInfo = {\n nodesOverlap: pairInfo.nodesOverlap,\n dirCounts: pairInfo.dirCounts,\n calculatedIntersection: true,\n hasBezier: pairInfo.hasBezier,\n hasUnbundled: pairInfo.hasUnbundled,\n eles: pairInfo.eles,\n srcPos: tgtPos,\n srcRs: tgtRs,\n tgtPos: srcPos,\n tgtRs: srcRs,\n srcW: tgtW,\n srcH: tgtH,\n tgtW: srcW,\n tgtH: srcH,\n srcIntn: tgtIntn,\n tgtIntn: srcIntn,\n srcShape: tgtShape,\n tgtShape: srcShape,\n posPts: {\n x1: posPts.x2,\n y1: posPts.y2,\n x2: posPts.x1,\n y2: posPts.y1\n },\n intersectionPts: {\n x1: intersectionPts.x2,\n y1: intersectionPts.y2,\n x2: intersectionPts.x1,\n y2: intersectionPts.y1\n },\n vector: {\n x: -vector.x,\n y: -vector.y\n },\n vectorNorm: {\n x: -vectorNorm.x,\n y: -vectorNorm.y\n },\n vectorNormInverse: {\n x: -vectorNormInverse.x,\n y: -vectorNormInverse.y\n }\n };\n }\n var passedPairInfo = edgeIsSwapped ? swappedpairInfo : pairInfo;\n rs.nodesOverlap = passedPairInfo.nodesOverlap;\n rs.srcIntn = passedPairInfo.srcIntn;\n rs.tgtIntn = passedPairInfo.tgtIntn;\n rs.isRound = _curveStyle.startsWith('round');\n if (hasCompounds && (src.isParent() || src.isChild() || tgt.isParent() || tgt.isChild()) && (src.parents().anySame(tgt) || tgt.parents().anySame(src) || src.same(tgt) && src.isParent())) {\n _this.findCompoundLoopPoints(_edge, passedPairInfo, _i2, _edgeIsUnbundled);\n } else if (src === tgt) {\n _this.findLoopPoints(_edge, passedPairInfo, _i2, _edgeIsUnbundled);\n } else if (_curveStyle.endsWith('segments')) {\n _this.findSegmentsPoints(_edge, passedPairInfo);\n } else if (_curveStyle.endsWith('taxi')) {\n _this.findTaxiPoints(_edge, passedPairInfo);\n } else if (_curveStyle === 'straight' || !_edgeIsUnbundled && pairInfo.eles.length % 2 === 1 && _i2 === Math.floor(pairInfo.eles.length / 2)) {\n _this.findStraightEdgePoints(_edge);\n } else {\n _this.findBezierPoints(_edge, passedPairInfo, _i2, _edgeIsUnbundled, edgeIsSwapped);\n }\n _this.findEndpoints(_edge);\n _this.tryToCorrectInvalidPoints(_edge, passedPairInfo);\n _this.checkForInvalidEdgeWarning(_edge);\n _this.storeAllpts(_edge);\n _this.storeEdgeProjections(_edge);\n _this.calculateArrowAngles(_edge);\n _this.recalculateEdgeLabelProjections(_edge);\n _this.calculateLabelAngles(_edge);\n } // for pair edges\n };\n for (var p = 0; p < pairIds.length; p++) {\n _loop();\n } // for pair ids\n\n // haystacks avoid the expense of pairInfo stuff (intersections etc.)\n this.findHaystackPoints(haystackEdges);\n};\nfunction getPts(pts) {\n var retPts = [];\n if (pts == null) {\n return;\n }\n for (var i = 0; i < pts.length; i += 2) {\n var x = pts[i];\n var y = pts[i + 1];\n retPts.push({\n x: x,\n y: y\n });\n }\n return retPts;\n}\nBRp$c.getSegmentPoints = function (edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n var type = rs.edgeType;\n if (type === 'segments') {\n return getPts(rs.segpts);\n }\n};\nBRp$c.getControlPoints = function (edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n var type = rs.edgeType;\n if (type === 'bezier' || type === 'multibezier' || type === 'self' || type === 'compound') {\n return getPts(rs.ctrlpts);\n }\n};\nBRp$c.getEdgeMidpoint = function (edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n return {\n x: rs.midX,\n y: rs.midY\n };\n};\n\nvar BRp$b = {};\nBRp$b.manualEndptToPx = function (node, prop) {\n var r = this;\n var npos = node.position();\n var w = node.outerWidth();\n var h = node.outerHeight();\n var rs = node._private.rscratch;\n if (prop.value.length === 2) {\n var p = [prop.pfValue[0], prop.pfValue[1]];\n if (prop.units[0] === '%') {\n p[0] = p[0] * w;\n }\n if (prop.units[1] === '%') {\n p[1] = p[1] * h;\n }\n p[0] += npos.x;\n p[1] += npos.y;\n return p;\n } else {\n var angle = prop.pfValue[0];\n angle = -Math.PI / 2 + angle; // start at 12 o'clock\n\n var l = 2 * Math.max(w, h);\n var _p = [npos.x + Math.cos(angle) * l, npos.y + Math.sin(angle) * l];\n return r.nodeShapes[this.getNodeShape(node)].intersectLine(npos.x, npos.y, w, h, _p[0], _p[1], 0, node.pstyle('corner-radius').value === 'auto' ? 'auto' : node.pstyle('corner-radius').pfValue, rs);\n }\n};\nBRp$b.findEndpoints = function (edge) {\n var r = this;\n var intersect;\n var source = edge.source()[0];\n var target = edge.target()[0];\n var srcPos = source.position();\n var tgtPos = target.position();\n var tgtArShape = edge.pstyle('target-arrow-shape').value;\n var srcArShape = edge.pstyle('source-arrow-shape').value;\n var tgtDist = edge.pstyle('target-distance-from-node').pfValue;\n var srcDist = edge.pstyle('source-distance-from-node').pfValue;\n var srcRs = source._private.rscratch;\n var tgtRs = target._private.rscratch;\n var curveStyle = edge.pstyle('curve-style').value;\n var rs = edge._private.rscratch;\n var et = rs.edgeType;\n var taxi = curveStyle === 'taxi';\n var self = et === 'self' || et === 'compound';\n var bezier = et === 'bezier' || et === 'multibezier' || self;\n var multi = et !== 'bezier';\n var lines = et === 'straight' || et === 'segments';\n var segments = et === 'segments';\n var hasEndpts = bezier || multi || lines;\n var overrideEndpts = self || taxi;\n var srcManEndpt = edge.pstyle('source-endpoint');\n var srcManEndptVal = overrideEndpts ? 'outside-to-node' : srcManEndpt.value;\n var srcCornerRadius = source.pstyle('corner-radius').value === 'auto' ? 'auto' : source.pstyle('corner-radius').pfValue;\n var tgtManEndpt = edge.pstyle('target-endpoint');\n var tgtManEndptVal = overrideEndpts ? 'outside-to-node' : tgtManEndpt.value;\n var tgtCornerRadius = target.pstyle('corner-radius').value === 'auto' ? 'auto' : target.pstyle('corner-radius').pfValue;\n rs.srcManEndpt = srcManEndpt;\n rs.tgtManEndpt = tgtManEndpt;\n var p1; // last known point of edge on target side\n var p2; // last known point of edge on source side\n\n var p1_i; // point to intersect with target shape\n var p2_i; // point to intersect with source shape\n\n if (bezier) {\n var cpStart = [rs.ctrlpts[0], rs.ctrlpts[1]];\n var cpEnd = multi ? [rs.ctrlpts[rs.ctrlpts.length - 2], rs.ctrlpts[rs.ctrlpts.length - 1]] : cpStart;\n p1 = cpEnd;\n p2 = cpStart;\n } else if (lines) {\n var srcArrowFromPt = !segments ? [tgtPos.x, tgtPos.y] : rs.segpts.slice(0, 2);\n var tgtArrowFromPt = !segments ? [srcPos.x, srcPos.y] : rs.segpts.slice(rs.segpts.length - 2);\n p1 = tgtArrowFromPt;\n p2 = srcArrowFromPt;\n }\n if (tgtManEndptVal === 'inside-to-node') {\n intersect = [tgtPos.x, tgtPos.y];\n } else if (tgtManEndpt.units) {\n intersect = this.manualEndptToPx(target, tgtManEndpt);\n } else if (tgtManEndptVal === 'outside-to-line') {\n intersect = rs.tgtIntn; // use cached value from ctrlpt calc\n } else {\n if (tgtManEndptVal === 'outside-to-node' || tgtManEndptVal === 'outside-to-node-or-label') {\n p1_i = p1;\n } else if (tgtManEndptVal === 'outside-to-line' || tgtManEndptVal === 'outside-to-line-or-label') {\n p1_i = [srcPos.x, srcPos.y];\n }\n intersect = r.nodeShapes[this.getNodeShape(target)].intersectLine(tgtPos.x, tgtPos.y, target.outerWidth(), target.outerHeight(), p1_i[0], p1_i[1], 0, tgtCornerRadius, tgtRs);\n if (tgtManEndptVal === 'outside-to-node-or-label' || tgtManEndptVal === 'outside-to-line-or-label') {\n var trs = target._private.rscratch;\n var lw = trs.labelWidth;\n var lh = trs.labelHeight;\n var lx = trs.labelX;\n var ly = trs.labelY;\n var lw2 = lw / 2;\n var lh2 = lh / 2;\n var va = target.pstyle('text-valign').value;\n if (va === 'top') {\n ly -= lh2;\n } else if (va === 'bottom') {\n ly += lh2;\n }\n var ha = target.pstyle('text-halign').value;\n if (ha === 'left') {\n lx -= lw2;\n } else if (ha === 'right') {\n lx += lw2;\n }\n var labelIntersect = polygonIntersectLine(p1_i[0], p1_i[1], [lx - lw2, ly - lh2, lx + lw2, ly - lh2, lx + lw2, ly + lh2, lx - lw2, ly + lh2], tgtPos.x, tgtPos.y);\n if (labelIntersect.length > 0) {\n var refPt = srcPos;\n var intSqdist = sqdist(refPt, array2point(intersect));\n var labIntSqdist = sqdist(refPt, array2point(labelIntersect));\n var minSqDist = intSqdist;\n if (labIntSqdist < intSqdist) {\n intersect = labelIntersect;\n minSqDist = labIntSqdist;\n }\n if (labelIntersect.length > 2) {\n var labInt2SqDist = sqdist(refPt, {\n x: labelIntersect[2],\n y: labelIntersect[3]\n });\n if (labInt2SqDist < minSqDist) {\n intersect = [labelIntersect[2], labelIntersect[3]];\n }\n }\n }\n }\n }\n var arrowEnd = shortenIntersection(intersect, p1, r.arrowShapes[tgtArShape].spacing(edge) + tgtDist);\n var edgeEnd = shortenIntersection(intersect, p1, r.arrowShapes[tgtArShape].gap(edge) + tgtDist);\n rs.endX = edgeEnd[0];\n rs.endY = edgeEnd[1];\n rs.arrowEndX = arrowEnd[0];\n rs.arrowEndY = arrowEnd[1];\n if (srcManEndptVal === 'inside-to-node') {\n intersect = [srcPos.x, srcPos.y];\n } else if (srcManEndpt.units) {\n intersect = this.manualEndptToPx(source, srcManEndpt);\n } else if (srcManEndptVal === 'outside-to-line') {\n intersect = rs.srcIntn; // use cached value from ctrlpt calc\n } else {\n if (srcManEndptVal === 'outside-to-node' || srcManEndptVal === 'outside-to-node-or-label') {\n p2_i = p2;\n } else if (srcManEndptVal === 'outside-to-line' || srcManEndptVal === 'outside-to-line-or-label') {\n p2_i = [tgtPos.x, tgtPos.y];\n }\n intersect = r.nodeShapes[this.getNodeShape(source)].intersectLine(srcPos.x, srcPos.y, source.outerWidth(), source.outerHeight(), p2_i[0], p2_i[1], 0, srcCornerRadius, srcRs);\n if (srcManEndptVal === 'outside-to-node-or-label' || srcManEndptVal === 'outside-to-line-or-label') {\n var srs = source._private.rscratch;\n var _lw = srs.labelWidth;\n var _lh = srs.labelHeight;\n var _lx = srs.labelX;\n var _ly = srs.labelY;\n var _lw2 = _lw / 2;\n var _lh2 = _lh / 2;\n var _va = source.pstyle('text-valign').value;\n if (_va === 'top') {\n _ly -= _lh2;\n } else if (_va === 'bottom') {\n _ly += _lh2;\n }\n var _ha = source.pstyle('text-halign').value;\n if (_ha === 'left') {\n _lx -= _lw2;\n } else if (_ha === 'right') {\n _lx += _lw2;\n }\n var _labelIntersect = polygonIntersectLine(p2_i[0], p2_i[1], [_lx - _lw2, _ly - _lh2, _lx + _lw2, _ly - _lh2, _lx + _lw2, _ly + _lh2, _lx - _lw2, _ly + _lh2], srcPos.x, srcPos.y);\n if (_labelIntersect.length > 0) {\n var _refPt = tgtPos;\n var _intSqdist = sqdist(_refPt, array2point(intersect));\n var _labIntSqdist = sqdist(_refPt, array2point(_labelIntersect));\n var _minSqDist = _intSqdist;\n if (_labIntSqdist < _intSqdist) {\n intersect = [_labelIntersect[0], _labelIntersect[1]];\n _minSqDist = _labIntSqdist;\n }\n if (_labelIntersect.length > 2) {\n var _labInt2SqDist = sqdist(_refPt, {\n x: _labelIntersect[2],\n y: _labelIntersect[3]\n });\n if (_labInt2SqDist < _minSqDist) {\n intersect = [_labelIntersect[2], _labelIntersect[3]];\n }\n }\n }\n }\n }\n var arrowStart = shortenIntersection(intersect, p2, r.arrowShapes[srcArShape].spacing(edge) + srcDist);\n var edgeStart = shortenIntersection(intersect, p2, r.arrowShapes[srcArShape].gap(edge) + srcDist);\n rs.startX = edgeStart[0];\n rs.startY = edgeStart[1];\n rs.arrowStartX = arrowStart[0];\n rs.arrowStartY = arrowStart[1];\n if (hasEndpts) {\n if (!number$1(rs.startX) || !number$1(rs.startY) || !number$1(rs.endX) || !number$1(rs.endY)) {\n rs.badLine = true;\n } else {\n rs.badLine = false;\n }\n }\n};\nBRp$b.getSourceEndpoint = function (edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n switch (rs.edgeType) {\n case 'haystack':\n return {\n x: rs.haystackPts[0],\n y: rs.haystackPts[1]\n };\n default:\n return {\n x: rs.arrowStartX,\n y: rs.arrowStartY\n };\n }\n};\nBRp$b.getTargetEndpoint = function (edge) {\n var rs = edge[0]._private.rscratch;\n this.recalculateRenderedStyle(edge);\n switch (rs.edgeType) {\n case 'haystack':\n return {\n x: rs.haystackPts[2],\n y: rs.haystackPts[3]\n };\n default:\n return {\n x: rs.arrowEndX,\n y: rs.arrowEndY\n };\n }\n};\n\nvar BRp$a = {};\nfunction pushBezierPts(r, edge, pts) {\n var qbezierAt$1 = function qbezierAt$1(p1, p2, p3, t) {\n return qbezierAt(p1, p2, p3, t);\n };\n var _p = edge._private;\n var bpts = _p.rstyle.bezierPts;\n for (var i = 0; i < r.bezierProjPcts.length; i++) {\n var p = r.bezierProjPcts[i];\n bpts.push({\n x: qbezierAt$1(pts[0], pts[2], pts[4], p),\n y: qbezierAt$1(pts[1], pts[3], pts[5], p)\n });\n }\n}\nBRp$a.storeEdgeProjections = function (edge) {\n var _p = edge._private;\n var rs = _p.rscratch;\n var et = rs.edgeType;\n\n // clear the cached points state\n _p.rstyle.bezierPts = null;\n _p.rstyle.linePts = null;\n _p.rstyle.haystackPts = null;\n if (et === 'multibezier' || et === 'bezier' || et === 'self' || et === 'compound') {\n _p.rstyle.bezierPts = [];\n for (var i = 0; i + 5 < rs.allpts.length; i += 4) {\n pushBezierPts(this, edge, rs.allpts.slice(i, i + 6));\n }\n } else if (et === 'segments') {\n var lpts = _p.rstyle.linePts = [];\n for (var i = 0; i + 1 < rs.allpts.length; i += 2) {\n lpts.push({\n x: rs.allpts[i],\n y: rs.allpts[i + 1]\n });\n }\n } else if (et === 'haystack') {\n var hpts = rs.haystackPts;\n _p.rstyle.haystackPts = [{\n x: hpts[0],\n y: hpts[1]\n }, {\n x: hpts[2],\n y: hpts[3]\n }];\n }\n _p.rstyle.arrowWidth = this.getArrowWidth(edge.pstyle('width').pfValue, edge.pstyle('arrow-scale').value) * this.arrowShapeWidth;\n};\nBRp$a.recalculateEdgeProjections = function (edges) {\n this.findEdgeControlPoints(edges);\n};\n\nvar BRp$9 = {};\nBRp$9.recalculateNodeLabelProjection = function (node) {\n var content = node.pstyle('label').strValue;\n if (emptyString(content)) {\n return;\n }\n var textX, textY;\n var _p = node._private;\n var nodeWidth = node.width();\n var nodeHeight = node.height();\n var padding = node.padding();\n var nodePos = node.position();\n var textHalign = node.pstyle('text-halign').strValue;\n var textValign = node.pstyle('text-valign').strValue;\n var rs = _p.rscratch;\n var rstyle = _p.rstyle;\n switch (textHalign) {\n case 'left':\n textX = nodePos.x - nodeWidth / 2 - padding;\n break;\n case 'right':\n textX = nodePos.x + nodeWidth / 2 + padding;\n break;\n default:\n // e.g. center\n textX = nodePos.x;\n }\n switch (textValign) {\n case 'top':\n textY = nodePos.y - nodeHeight / 2 - padding;\n break;\n case 'bottom':\n textY = nodePos.y + nodeHeight / 2 + padding;\n break;\n default:\n // e.g. middle\n textY = nodePos.y;\n }\n rs.labelX = textX;\n rs.labelY = textY;\n rstyle.labelX = textX;\n rstyle.labelY = textY;\n this.calculateLabelAngles(node);\n this.applyLabelDimensions(node);\n};\nvar lineAngleFromDelta = function lineAngleFromDelta(dx, dy) {\n var angle = Math.atan(dy / dx);\n if (dx === 0 && angle < 0) {\n angle = angle * -1;\n }\n return angle;\n};\nvar lineAngle = function lineAngle(p0, p1) {\n var dx = p1.x - p0.x;\n var dy = p1.y - p0.y;\n return lineAngleFromDelta(dx, dy);\n};\nvar bezierAngle = function bezierAngle(p0, p1, p2, t) {\n var t0 = bound(0, t - 0.001, 1);\n var t1 = bound(0, t + 0.001, 1);\n var lp0 = qbezierPtAt(p0, p1, p2, t0);\n var lp1 = qbezierPtAt(p0, p1, p2, t1);\n return lineAngle(lp0, lp1);\n};\nBRp$9.recalculateEdgeLabelProjections = function (edge) {\n var p;\n var _p = edge._private;\n var rs = _p.rscratch;\n var r = this;\n var content = {\n mid: edge.pstyle('label').strValue,\n source: edge.pstyle('source-label').strValue,\n target: edge.pstyle('target-label').strValue\n };\n if (content.mid || content.source || content.target) ; else {\n return; // no labels => no calcs\n }\n\n // add center point to style so bounding box calculations can use it\n //\n p = {\n x: rs.midX,\n y: rs.midY\n };\n var setRs = function setRs(propName, prefix, value) {\n setPrefixedProperty(_p.rscratch, propName, prefix, value);\n setPrefixedProperty(_p.rstyle, propName, prefix, value);\n };\n setRs('labelX', null, p.x);\n setRs('labelY', null, p.y);\n var midAngle = lineAngleFromDelta(rs.midDispX, rs.midDispY);\n setRs('labelAutoAngle', null, midAngle);\n var _createControlPointInfo = function createControlPointInfo() {\n if (_createControlPointInfo.cache) {\n return _createControlPointInfo.cache;\n } // use cache so only 1x per edge\n\n var ctrlpts = [];\n\n // store each ctrlpt info init\n for (var i = 0; i + 5 < rs.allpts.length; i += 4) {\n var p0 = {\n x: rs.allpts[i],\n y: rs.allpts[i + 1]\n };\n var p1 = {\n x: rs.allpts[i + 2],\n y: rs.allpts[i + 3]\n }; // ctrlpt\n var p2 = {\n x: rs.allpts[i + 4],\n y: rs.allpts[i + 5]\n };\n ctrlpts.push({\n p0: p0,\n p1: p1,\n p2: p2,\n startDist: 0,\n length: 0,\n segments: []\n });\n }\n var bpts = _p.rstyle.bezierPts;\n var nProjs = r.bezierProjPcts.length;\n function addSegment(cp, p0, p1, t0, t1) {\n var length = dist(p0, p1);\n var prevSegment = cp.segments[cp.segments.length - 1];\n var segment = {\n p0: p0,\n p1: p1,\n t0: t0,\n t1: t1,\n startDist: prevSegment ? prevSegment.startDist + prevSegment.length : 0,\n length: length\n };\n cp.segments.push(segment);\n cp.length += length;\n }\n\n // update each ctrlpt with segment info\n for (var _i = 0; _i < ctrlpts.length; _i++) {\n var cp = ctrlpts[_i];\n var prevCp = ctrlpts[_i - 1];\n if (prevCp) {\n cp.startDist = prevCp.startDist + prevCp.length;\n }\n addSegment(cp, cp.p0, bpts[_i * nProjs], 0, r.bezierProjPcts[0]); // first\n\n for (var j = 0; j < nProjs - 1; j++) {\n addSegment(cp, bpts[_i * nProjs + j], bpts[_i * nProjs + j + 1], r.bezierProjPcts[j], r.bezierProjPcts[j + 1]);\n }\n addSegment(cp, bpts[_i * nProjs + nProjs - 1], cp.p2, r.bezierProjPcts[nProjs - 1], 1); // last\n }\n return _createControlPointInfo.cache = ctrlpts;\n };\n var calculateEndProjection = function calculateEndProjection(prefix) {\n var angle;\n var isSrc = prefix === 'source';\n if (!content[prefix]) {\n return;\n }\n var offset = edge.pstyle(prefix + '-text-offset').pfValue;\n switch (rs.edgeType) {\n case 'self':\n case 'compound':\n case 'bezier':\n case 'multibezier':\n {\n var cps = _createControlPointInfo();\n var selected;\n var startDist = 0;\n var totalDist = 0;\n\n // find the segment we're on\n for (var i = 0; i < cps.length; i++) {\n var _cp = cps[isSrc ? i : cps.length - 1 - i];\n for (var j = 0; j < _cp.segments.length; j++) {\n var _seg = _cp.segments[isSrc ? j : _cp.segments.length - 1 - j];\n var lastSeg = i === cps.length - 1 && j === _cp.segments.length - 1;\n startDist = totalDist;\n totalDist += _seg.length;\n if (totalDist >= offset || lastSeg) {\n selected = {\n cp: _cp,\n segment: _seg\n };\n break;\n }\n }\n if (selected) {\n break;\n }\n }\n var cp = selected.cp;\n var seg = selected.segment;\n var tSegment = (offset - startDist) / seg.length;\n var segDt = seg.t1 - seg.t0;\n var t = isSrc ? seg.t0 + segDt * tSegment : seg.t1 - segDt * tSegment;\n t = bound(0, t, 1);\n p = qbezierPtAt(cp.p0, cp.p1, cp.p2, t);\n angle = bezierAngle(cp.p0, cp.p1, cp.p2, t);\n break;\n }\n case 'straight':\n case 'segments':\n case 'haystack':\n {\n var d = 0,\n di,\n d0;\n var p0, p1;\n var l = rs.allpts.length;\n for (var _i2 = 0; _i2 + 3 < l; _i2 += 2) {\n if (isSrc) {\n p0 = {\n x: rs.allpts[_i2],\n y: rs.allpts[_i2 + 1]\n };\n p1 = {\n x: rs.allpts[_i2 + 2],\n y: rs.allpts[_i2 + 3]\n };\n } else {\n p0 = {\n x: rs.allpts[l - 2 - _i2],\n y: rs.allpts[l - 1 - _i2]\n };\n p1 = {\n x: rs.allpts[l - 4 - _i2],\n y: rs.allpts[l - 3 - _i2]\n };\n }\n di = dist(p0, p1);\n d0 = d;\n d += di;\n if (d >= offset) {\n break;\n }\n }\n var pD = offset - d0;\n var _t = pD / di;\n _t = bound(0, _t, 1);\n p = lineAt(p0, p1, _t);\n angle = lineAngle(p0, p1);\n break;\n }\n }\n setRs('labelX', prefix, p.x);\n setRs('labelY', prefix, p.y);\n setRs('labelAutoAngle', prefix, angle);\n };\n calculateEndProjection('source');\n calculateEndProjection('target');\n this.applyLabelDimensions(edge);\n};\nBRp$9.applyLabelDimensions = function (ele) {\n this.applyPrefixedLabelDimensions(ele);\n if (ele.isEdge()) {\n this.applyPrefixedLabelDimensions(ele, 'source');\n this.applyPrefixedLabelDimensions(ele, 'target');\n }\n};\nBRp$9.applyPrefixedLabelDimensions = function (ele, prefix) {\n var _p = ele._private;\n var text = this.getLabelText(ele, prefix);\n var cacheKey = hashString(text, ele._private.labelDimsKey);\n\n // save recalc if the label is the same as before\n if (getPrefixedProperty(_p.rscratch, 'prefixedLabelDimsKey', prefix) === cacheKey) {\n return; // then the label dimensions + text are the same\n }\n\n // save the key\n setPrefixedProperty(_p.rscratch, 'prefixedLabelDimsKey', prefix, cacheKey);\n var labelDims = this.calculateLabelDimensions(ele, text);\n var lineHeight = ele.pstyle('line-height').pfValue;\n var textWrap = ele.pstyle('text-wrap').strValue;\n var lines = getPrefixedProperty(_p.rscratch, 'labelWrapCachedLines', prefix) || [];\n var numLines = textWrap !== 'wrap' ? 1 : Math.max(lines.length, 1);\n var normPerLineHeight = labelDims.height / numLines;\n var labelLineHeight = normPerLineHeight * lineHeight;\n var width = labelDims.width;\n var height = labelDims.height + (numLines - 1) * (lineHeight - 1) * normPerLineHeight;\n setPrefixedProperty(_p.rstyle, 'labelWidth', prefix, width);\n setPrefixedProperty(_p.rscratch, 'labelWidth', prefix, width);\n setPrefixedProperty(_p.rstyle, 'labelHeight', prefix, height);\n setPrefixedProperty(_p.rscratch, 'labelHeight', prefix, height);\n setPrefixedProperty(_p.rscratch, 'labelLineHeight', prefix, labelLineHeight);\n};\nBRp$9.getLabelText = function (ele, prefix) {\n var _p = ele._private;\n var pfd = prefix ? prefix + '-' : '';\n var text = ele.pstyle(pfd + 'label').strValue;\n var textTransform = ele.pstyle('text-transform').value;\n var rscratch = function rscratch(propName, value) {\n if (value) {\n setPrefixedProperty(_p.rscratch, propName, prefix, value);\n return value;\n } else {\n return getPrefixedProperty(_p.rscratch, propName, prefix);\n }\n };\n\n // for empty text, skip all processing\n if (!text) {\n return '';\n }\n if (textTransform == 'none') ; else if (textTransform == 'uppercase') {\n text = text.toUpperCase();\n } else if (textTransform == 'lowercase') {\n text = text.toLowerCase();\n }\n var wrapStyle = ele.pstyle('text-wrap').value;\n if (wrapStyle === 'wrap') {\n var labelKey = rscratch('labelKey');\n\n // save recalc if the label is the same as before\n if (labelKey != null && rscratch('labelWrapKey') === labelKey) {\n return rscratch('labelWrapCachedText');\n }\n var zwsp = \"\\u200B\";\n var lines = text.split('\\n');\n var maxW = ele.pstyle('text-max-width').pfValue;\n var overflow = ele.pstyle('text-overflow-wrap').value;\n var overflowAny = overflow === 'anywhere';\n var wrappedLines = [];\n var separatorRegex = /[\\s\\u200b]+|$/g; // Include end of string to add last word\n\n for (var l = 0; l < lines.length; l++) {\n var line = lines[l];\n var lineDims = this.calculateLabelDimensions(ele, line);\n var lineW = lineDims.width;\n if (overflowAny) {\n var processedLine = line.split('').join(zwsp);\n line = processedLine;\n }\n if (lineW > maxW) {\n // line is too long\n var separatorMatches = line.matchAll(separatorRegex);\n var subline = '';\n var previousIndex = 0;\n // Add fake match\n var _iterator = _createForOfIteratorHelper(separatorMatches),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var separatorMatch = _step.value;\n var wordSeparator = separatorMatch[0];\n var word = line.substring(previousIndex, separatorMatch.index);\n previousIndex = separatorMatch.index + wordSeparator.length;\n var testLine = subline.length === 0 ? word : subline + word + wordSeparator;\n var testDims = this.calculateLabelDimensions(ele, testLine);\n var testW = testDims.width;\n if (testW <= maxW) {\n // word fits on current line\n subline += word + wordSeparator;\n } else {\n // word starts new line\n if (subline) {\n wrappedLines.push(subline);\n }\n subline = word + wordSeparator;\n }\n }\n\n // if there's remaining text, put it in a wrapped line\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (!subline.match(/^[\\s\\u200b]+$/)) {\n wrappedLines.push(subline);\n }\n } else {\n // line is already short enough\n wrappedLines.push(line);\n }\n } // for\n\n rscratch('labelWrapCachedLines', wrappedLines);\n text = rscratch('labelWrapCachedText', wrappedLines.join('\\n'));\n rscratch('labelWrapKey', labelKey);\n } else if (wrapStyle === 'ellipsis') {\n var _maxW = ele.pstyle('text-max-width').pfValue;\n var ellipsized = '';\n var ellipsis = \"\\u2026\";\n var incLastCh = false;\n if (this.calculateLabelDimensions(ele, text).width < _maxW) {\n // the label already fits\n return text;\n }\n for (var i = 0; i < text.length; i++) {\n var widthWithNextCh = this.calculateLabelDimensions(ele, ellipsized + text[i] + ellipsis).width;\n if (widthWithNextCh > _maxW) {\n break;\n }\n ellipsized += text[i];\n if (i === text.length - 1) {\n incLastCh = true;\n }\n }\n if (!incLastCh) {\n ellipsized += ellipsis;\n }\n return ellipsized;\n } // if ellipsize\n\n return text;\n};\nBRp$9.getLabelJustification = function (ele) {\n var justification = ele.pstyle('text-justification').strValue;\n var textHalign = ele.pstyle('text-halign').strValue;\n if (justification === 'auto') {\n if (ele.isNode()) {\n switch (textHalign) {\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n default:\n return 'center';\n }\n } else {\n return 'center';\n }\n } else {\n return justification;\n }\n};\nBRp$9.calculateLabelDimensions = function (ele, text) {\n var r = this;\n var containerWindow = r.cy.window();\n var document = containerWindow.document;\n var padding = 0; // add padding around text dims, as the measurement isn't that accurate\n var fStyle = ele.pstyle('font-style').strValue;\n var size = ele.pstyle('font-size').pfValue;\n var family = ele.pstyle('font-family').strValue;\n var weight = ele.pstyle('font-weight').strValue;\n var canvas = this.labelCalcCanvas;\n var c2d = this.labelCalcCanvasContext;\n if (!canvas) {\n canvas = this.labelCalcCanvas = document.createElement('canvas');\n c2d = this.labelCalcCanvasContext = canvas.getContext('2d');\n var ds = canvas.style;\n ds.position = 'absolute';\n ds.left = '-9999px';\n ds.top = '-9999px';\n ds.zIndex = '-1';\n ds.visibility = 'hidden';\n ds.pointerEvents = 'none';\n }\n c2d.font = \"\".concat(fStyle, \" \").concat(weight, \" \").concat(size, \"px \").concat(family);\n var width = 0;\n var height = 0;\n var lines = text.split('\\n');\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var metrics = c2d.measureText(line);\n var w = Math.ceil(metrics.width);\n var h = size;\n width = Math.max(w, width);\n height += h;\n }\n width += padding;\n height += padding;\n return {\n width: width,\n height: height\n };\n};\nBRp$9.calculateLabelAngle = function (ele, prefix) {\n var _p = ele._private;\n var rs = _p.rscratch;\n var isEdge = ele.isEdge();\n var prefixDash = prefix ? prefix + '-' : '';\n var rot = ele.pstyle(prefixDash + 'text-rotation');\n var rotStr = rot.strValue;\n if (rotStr === 'none') {\n return 0;\n } else if (isEdge && rotStr === 'autorotate') {\n return rs.labelAutoAngle;\n } else if (rotStr === 'autorotate') {\n return 0;\n } else {\n return rot.pfValue;\n }\n};\nBRp$9.calculateLabelAngles = function (ele) {\n var r = this;\n var isEdge = ele.isEdge();\n var _p = ele._private;\n var rs = _p.rscratch;\n rs.labelAngle = r.calculateLabelAngle(ele);\n if (isEdge) {\n rs.sourceLabelAngle = r.calculateLabelAngle(ele, 'source');\n rs.targetLabelAngle = r.calculateLabelAngle(ele, 'target');\n }\n};\n\nvar BRp$8 = {};\nvar TOO_SMALL_CUT_RECT = 28;\nvar warnedCutRect = false;\nBRp$8.getNodeShape = function (node) {\n var r = this;\n var shape = node.pstyle('shape').value;\n if (shape === 'cutrectangle' && (node.width() < TOO_SMALL_CUT_RECT || node.height() < TOO_SMALL_CUT_RECT)) {\n if (!warnedCutRect) {\n warn('The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead');\n warnedCutRect = true;\n }\n return 'rectangle';\n }\n if (node.isParent()) {\n if (shape === 'rectangle' || shape === 'roundrectangle' || shape === 'round-rectangle' || shape === 'cutrectangle' || shape === 'cut-rectangle' || shape === 'barrel') {\n return shape;\n } else {\n return 'rectangle';\n }\n }\n if (shape === 'polygon') {\n var points = node.pstyle('shape-polygon-points').value;\n return r.nodeShapes.makePolygon(points).name;\n }\n return shape;\n};\n\nvar BRp$7 = {};\nBRp$7.registerCalculationListeners = function () {\n var cy = this.cy;\n var elesToUpdate = cy.collection();\n var r = this;\n var enqueue = function enqueue(eles) {\n var dirtyStyleCaches = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n elesToUpdate.merge(eles);\n if (dirtyStyleCaches) {\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var _p = ele._private;\n var rstyle = _p.rstyle;\n rstyle.clean = false;\n rstyle.cleanConnected = false;\n }\n }\n };\n r.binder(cy).on('bounds.* dirty.*', function onDirtyBounds(e) {\n var ele = e.target;\n enqueue(ele);\n }).on('style.* background.*', function onDirtyStyle(e) {\n var ele = e.target;\n enqueue(ele, false);\n });\n var updateEleCalcs = function updateEleCalcs(willDraw) {\n if (willDraw) {\n var fns = r.onUpdateEleCalcsFns;\n\n // because we need to have up-to-date style (e.g. stylesheet mappers)\n // before calculating rendered style (and pstyle might not be called yet)\n elesToUpdate.cleanStyle();\n for (var i = 0; i < elesToUpdate.length; i++) {\n var ele = elesToUpdate[i];\n var rstyle = ele._private.rstyle;\n if (ele.isNode() && !rstyle.cleanConnected) {\n enqueue(ele.connectedEdges());\n rstyle.cleanConnected = true;\n }\n }\n if (fns) {\n for (var _i = 0; _i < fns.length; _i++) {\n var fn = fns[_i];\n fn(willDraw, elesToUpdate);\n }\n }\n r.recalculateRenderedStyle(elesToUpdate);\n elesToUpdate = cy.collection();\n }\n };\n r.flushRenderedStyleQueue = function () {\n updateEleCalcs(true);\n };\n r.beforeRender(updateEleCalcs, r.beforeRenderPriorities.eleCalcs);\n};\nBRp$7.onUpdateEleCalcs = function (fn) {\n var fns = this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || [];\n fns.push(fn);\n};\nBRp$7.recalculateRenderedStyle = function (eles, useCache) {\n var isCleanConnected = function isCleanConnected(ele) {\n return ele._private.rstyle.cleanConnected;\n };\n if (eles.length === 0) {\n return;\n }\n var edges = [];\n var nodes = [];\n\n // the renderer can't be used for calcs when destroyed, e.g. ele.boundingBox()\n if (this.destroyed) {\n return;\n }\n\n // use cache by default for perf\n if (useCache === undefined) {\n useCache = true;\n }\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var _p = ele._private;\n var rstyle = _p.rstyle;\n\n // an edge may be implicitly dirty b/c of one of its connected nodes\n // (and a request for recalc may come in between frames)\n if (ele.isEdge() && (!isCleanConnected(ele.source()) || !isCleanConnected(ele.target()))) {\n rstyle.clean = false;\n }\n if (ele.isEdge() && ele.isBundledBezier()) {\n if (ele.parallelEdges().some(function (ele) {\n return !ele._private.rstyle.clean && ele.isBundledBezier();\n })) {\n rstyle.clean = false;\n }\n }\n\n // only update if dirty and in graph\n if (useCache && rstyle.clean || ele.removed()) {\n continue;\n }\n\n // only update if not display: none\n if (ele.pstyle('display').value === 'none') {\n continue;\n }\n if (_p.group === 'nodes') {\n nodes.push(ele);\n } else {\n // edges\n edges.push(ele);\n }\n rstyle.clean = true;\n }\n\n // update node data from projections\n for (var _i2 = 0; _i2 < nodes.length; _i2++) {\n var _ele = nodes[_i2];\n var _p2 = _ele._private;\n var _rstyle = _p2.rstyle;\n var pos = _ele.position();\n this.recalculateNodeLabelProjection(_ele);\n _rstyle.nodeX = pos.x;\n _rstyle.nodeY = pos.y;\n _rstyle.nodeW = _ele.pstyle('width').pfValue;\n _rstyle.nodeH = _ele.pstyle('height').pfValue;\n }\n this.recalculateEdgeProjections(edges);\n\n // update edge data from projections\n for (var _i3 = 0; _i3 < edges.length; _i3++) {\n var _ele2 = edges[_i3];\n var _p3 = _ele2._private;\n var _rstyle2 = _p3.rstyle;\n var rs = _p3.rscratch;\n\n // update rstyle positions\n _rstyle2.srcX = rs.arrowStartX;\n _rstyle2.srcY = rs.arrowStartY;\n _rstyle2.tgtX = rs.arrowEndX;\n _rstyle2.tgtY = rs.arrowEndY;\n _rstyle2.midX = rs.midX;\n _rstyle2.midY = rs.midY;\n _rstyle2.labelAngle = rs.labelAngle;\n _rstyle2.sourceLabelAngle = rs.sourceLabelAngle;\n _rstyle2.targetLabelAngle = rs.targetLabelAngle;\n }\n};\n\nvar BRp$6 = {};\nBRp$6.updateCachedGrabbedEles = function () {\n var eles = this.cachedZSortedEles;\n if (!eles) {\n // just let this be recalculated on the next z sort tick\n return;\n }\n eles.drag = [];\n eles.nondrag = [];\n var grabTargets = [];\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var rs = ele._private.rscratch;\n if (ele.grabbed() && !ele.isParent()) {\n grabTargets.push(ele);\n } else if (rs.inDragLayer) {\n eles.drag.push(ele);\n } else {\n eles.nondrag.push(ele);\n }\n }\n\n // put the grab target nodes last so it's on top of its neighbourhood\n for (var i = 0; i < grabTargets.length; i++) {\n var ele = grabTargets[i];\n eles.drag.push(ele);\n }\n};\nBRp$6.invalidateCachedZSortedEles = function () {\n this.cachedZSortedEles = null;\n};\nBRp$6.getCachedZSortedEles = function (forceRecalc) {\n if (forceRecalc || !this.cachedZSortedEles) {\n var eles = this.cy.mutableElements().toArray();\n eles.sort(zIndexSort);\n eles.interactive = eles.filter(function (ele) {\n return ele.interactive();\n });\n this.cachedZSortedEles = eles;\n this.updateCachedGrabbedEles();\n } else {\n eles = this.cachedZSortedEles;\n }\n return eles;\n};\n\nvar BRp$5 = {};\n[BRp$e, BRp$d, BRp$c, BRp$b, BRp$a, BRp$9, BRp$8, BRp$7, BRp$6].forEach(function (props) {\n extend(BRp$5, props);\n});\n\nvar BRp$4 = {};\nBRp$4.getCachedImage = function (url, crossOrigin, onLoad) {\n var r = this;\n var imageCache = r.imageCache = r.imageCache || {};\n var cache = imageCache[url];\n if (cache) {\n if (!cache.image.complete) {\n cache.image.addEventListener('load', onLoad);\n }\n return cache.image;\n } else {\n cache = imageCache[url] = imageCache[url] || {};\n var image = cache.image = new Image(); // eslint-disable-line no-undef\n\n image.addEventListener('load', onLoad);\n image.addEventListener('error', function () {\n image.error = true;\n });\n\n // #1582 safari doesn't load data uris with crossOrigin properly\n // https://bugs.webkit.org/show_bug.cgi?id=123978\n var dataUriPrefix = 'data:';\n var isDataUri = url.substring(0, dataUriPrefix.length).toLowerCase() === dataUriPrefix;\n if (!isDataUri) {\n // if crossorigin is 'null'(stringified), then manually set it to null \n crossOrigin = crossOrigin === 'null' ? null : crossOrigin;\n image.crossOrigin = crossOrigin; // prevent tainted canvas\n }\n image.src = url;\n return image;\n }\n};\n\nvar BRp$3 = {};\n\n/* global document, ResizeObserver, MutationObserver */\n\nBRp$3.registerBinding = function (target, event, handler, useCapture) {\n // eslint-disable-line no-unused-vars\n var args = Array.prototype.slice.apply(arguments, [1]); // copy\n\n if (Array.isArray(target)) {\n var res = [];\n for (var i = 0; i < target.length; i++) {\n var t = target[i];\n if (t !== undefined) {\n var b = this.binder(t);\n res.push(b.on.apply(b, args));\n }\n }\n return res;\n }\n var b = this.binder(target);\n return b.on.apply(b, args);\n};\nBRp$3.binder = function (tgt) {\n var r = this;\n var containerWindow = r.cy.window();\n var tgtIsDom = tgt === containerWindow || tgt === containerWindow.document || tgt === containerWindow.document.body || domElement(tgt);\n if (r.supportsPassiveEvents == null) {\n // from https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n return true;\n }\n });\n containerWindow.addEventListener('test', null, opts);\n } catch (err) {\n // not supported\n }\n r.supportsPassiveEvents = supportsPassive;\n }\n var on = function on(event, handler, useCapture) {\n var args = Array.prototype.slice.call(arguments);\n if (tgtIsDom && r.supportsPassiveEvents) {\n // replace useCapture w/ opts obj\n args[2] = {\n capture: useCapture != null ? useCapture : false,\n passive: false,\n once: false\n };\n }\n r.bindings.push({\n target: tgt,\n args: args\n });\n (tgt.addEventListener || tgt.on).apply(tgt, args);\n return this;\n };\n return {\n on: on,\n addEventListener: on,\n addListener: on,\n bind: on\n };\n};\nBRp$3.nodeIsDraggable = function (node) {\n return node && node.isNode() && !node.locked() && node.grabbable();\n};\nBRp$3.nodeIsGrabbable = function (node) {\n return this.nodeIsDraggable(node) && node.interactive();\n};\nBRp$3.load = function () {\n var r = this;\n var containerWindow = r.cy.window();\n var isSelected = function isSelected(ele) {\n return ele.selected();\n };\n var getShadowRoot = function getShadowRoot(element) {\n var rootNode = element.getRootNode();\n // Check if the root node is a shadow root\n if (rootNode && rootNode.nodeType === 11 && rootNode.host !== undefined) {\n return rootNode;\n }\n };\n var triggerEvents = function triggerEvents(target, names, e, position) {\n if (target == null) {\n target = r.cy;\n }\n for (var i = 0; i < names.length; i++) {\n var name = names[i];\n target.emit({\n originalEvent: e,\n type: name,\n position: position\n });\n }\n };\n var isMultSelKeyDown = function isMultSelKeyDown(e) {\n return e.shiftKey || e.metaKey || e.ctrlKey; // maybe e.altKey\n };\n var allowPanningPassthrough = function allowPanningPassthrough(down, downs) {\n var allowPassthrough = true;\n if (r.cy.hasCompoundNodes() && down && down.pannable()) {\n // a grabbable compound node below the ele => no passthrough panning\n for (var i = 0; downs && i < downs.length; i++) {\n var down = downs[i];\n\n //if any parent node in event hierarchy isn't pannable, reject passthrough\n if (down.isNode() && down.isParent() && !down.pannable()) {\n allowPassthrough = false;\n break;\n }\n }\n } else {\n allowPassthrough = true;\n }\n return allowPassthrough;\n };\n var setGrabbed = function setGrabbed(ele) {\n ele[0]._private.grabbed = true;\n };\n var setFreed = function setFreed(ele) {\n ele[0]._private.grabbed = false;\n };\n var setInDragLayer = function setInDragLayer(ele) {\n ele[0]._private.rscratch.inDragLayer = true;\n };\n var setOutDragLayer = function setOutDragLayer(ele) {\n ele[0]._private.rscratch.inDragLayer = false;\n };\n var setGrabTarget = function setGrabTarget(ele) {\n ele[0]._private.rscratch.isGrabTarget = true;\n };\n var removeGrabTarget = function removeGrabTarget(ele) {\n ele[0]._private.rscratch.isGrabTarget = false;\n };\n var addToDragList = function addToDragList(ele, opts) {\n var list = opts.addToList;\n var listHasEle = list.has(ele);\n if (!listHasEle && ele.grabbable() && !ele.locked()) {\n list.merge(ele);\n setGrabbed(ele);\n }\n };\n\n // helper function to determine which child nodes and inner edges\n // of a compound node to be dragged as well as the grabbed and selected nodes\n var addDescendantsToDrag = function addDescendantsToDrag(node, opts) {\n if (!node.cy().hasCompoundNodes()) {\n return;\n }\n if (opts.inDragLayer == null && opts.addToList == null) {\n return;\n } // nothing to do\n\n var innerNodes = node.descendants();\n if (opts.inDragLayer) {\n innerNodes.forEach(setInDragLayer);\n innerNodes.connectedEdges().forEach(setInDragLayer);\n }\n if (opts.addToList) {\n addToDragList(innerNodes, opts);\n }\n };\n\n // adds the given nodes and its neighbourhood to the drag layer\n var addNodesToDrag = function addNodesToDrag(nodes, opts) {\n opts = opts || {};\n var hasCompoundNodes = nodes.cy().hasCompoundNodes();\n if (opts.inDragLayer) {\n nodes.forEach(setInDragLayer);\n nodes.neighborhood().stdFilter(function (ele) {\n return !hasCompoundNodes || ele.isEdge();\n }).forEach(setInDragLayer);\n }\n if (opts.addToList) {\n nodes.forEach(function (ele) {\n addToDragList(ele, opts);\n });\n }\n addDescendantsToDrag(nodes, opts); // always add to drag\n\n // also add nodes and edges related to the topmost ancestor\n updateAncestorsInDragLayer(nodes, {\n inDragLayer: opts.inDragLayer\n });\n r.updateCachedGrabbedEles();\n };\n var addNodeToDrag = addNodesToDrag;\n var freeDraggedElements = function freeDraggedElements(grabbedEles) {\n if (!grabbedEles) {\n return;\n }\n\n // just go over all elements rather than doing a bunch of (possibly expensive) traversals\n r.getCachedZSortedEles().forEach(function (ele) {\n setFreed(ele);\n setOutDragLayer(ele);\n removeGrabTarget(ele);\n });\n r.updateCachedGrabbedEles();\n };\n\n // helper function to determine which ancestor nodes and edges should go\n // to the drag layer (or should be removed from drag layer).\n var updateAncestorsInDragLayer = function updateAncestorsInDragLayer(node, opts) {\n if (opts.inDragLayer == null && opts.addToList == null) {\n return;\n } // nothing to do\n\n if (!node.cy().hasCompoundNodes()) {\n return;\n }\n\n // find top-level parent\n var parent = node.ancestors().orphans();\n\n // no parent node: no nodes to add to the drag layer\n if (parent.same(node)) {\n return;\n }\n var nodes = parent.descendants().spawnSelf().merge(parent).unmerge(node).unmerge(node.descendants());\n var edges = nodes.connectedEdges();\n if (opts.inDragLayer) {\n edges.forEach(setInDragLayer);\n nodes.forEach(setInDragLayer);\n }\n if (opts.addToList) {\n nodes.forEach(function (ele) {\n addToDragList(ele, opts);\n });\n }\n };\n var blurActiveDomElement = function blurActiveDomElement() {\n if (document.activeElement != null && document.activeElement.blur != null) {\n document.activeElement.blur();\n }\n };\n var haveMutationsApi = typeof MutationObserver !== 'undefined';\n var haveResizeObserverApi = typeof ResizeObserver !== 'undefined';\n\n // watch for when the cy container is removed from the dom\n if (haveMutationsApi) {\n r.removeObserver = new MutationObserver(function (mutns) {\n // eslint-disable-line no-undef\n for (var i = 0; i < mutns.length; i++) {\n var mutn = mutns[i];\n var rNodes = mutn.removedNodes;\n if (rNodes) {\n for (var j = 0; j < rNodes.length; j++) {\n var rNode = rNodes[j];\n if (rNode === r.container) {\n r.destroy();\n break;\n }\n }\n }\n }\n });\n if (r.container.parentNode) {\n r.removeObserver.observe(r.container.parentNode, {\n childList: true\n });\n }\n } else {\n r.registerBinding(r.container, 'DOMNodeRemoved', function (e) {\n // eslint-disable-line no-unused-vars\n r.destroy();\n });\n }\n var onResize = debounce(function () {\n r.cy.resize();\n }, 100);\n if (haveMutationsApi) {\n r.styleObserver = new MutationObserver(onResize); // eslint-disable-line no-undef\n\n r.styleObserver.observe(r.container, {\n attributes: true\n });\n }\n\n // auto resize\n r.registerBinding(containerWindow, 'resize', onResize); // eslint-disable-line no-undef\n\n if (haveResizeObserverApi) {\n r.resizeObserver = new ResizeObserver(onResize); // eslint-disable-line no-undef\n\n r.resizeObserver.observe(r.container);\n }\n var forEachUp = function forEachUp(domEle, fn) {\n while (domEle != null) {\n fn(domEle);\n domEle = domEle.parentNode;\n }\n };\n var invalidateCoords = function invalidateCoords() {\n r.invalidateContainerClientCoordsCache();\n };\n forEachUp(r.container, function (domEle) {\n r.registerBinding(domEle, 'transitionend', invalidateCoords);\n r.registerBinding(domEle, 'animationend', invalidateCoords);\n r.registerBinding(domEle, 'scroll', invalidateCoords);\n });\n\n // stop right click menu from appearing on cy\n r.registerBinding(r.container, 'contextmenu', function (e) {\n e.preventDefault();\n });\n var inBoxSelection = function inBoxSelection() {\n return r.selection[4] !== 0;\n };\n var eventInContainer = function eventInContainer(e) {\n // save cycles if mouse events aren't to be captured\n var containerPageCoords = r.findContainerClientCoords();\n var x = containerPageCoords[0];\n var y = containerPageCoords[1];\n var width = containerPageCoords[2];\n var height = containerPageCoords[3];\n var positions = e.touches ? e.touches : [e];\n var atLeastOnePosInside = false;\n for (var i = 0; i < positions.length; i++) {\n var p = positions[i];\n if (x <= p.clientX && p.clientX <= x + width && y <= p.clientY && p.clientY <= y + height) {\n atLeastOnePosInside = true;\n break;\n }\n }\n if (!atLeastOnePosInside) {\n return false;\n }\n var container = r.container;\n var target = e.target;\n var tParent = target.parentNode;\n var containerIsTarget = false;\n while (tParent) {\n if (tParent === container) {\n containerIsTarget = true;\n break;\n }\n tParent = tParent.parentNode;\n }\n if (!containerIsTarget) {\n return false;\n } // if target is outisde cy container, then this event is not for us\n\n return true;\n };\n\n // Primary key\n r.registerBinding(r.container, 'mousedown', function mousedownHandler(e) {\n if (!eventInContainer(e)) {\n return;\n }\n\n // during left mouse button gestures, ignore other buttons\n if (r.hoverData.which === 1 && e.which !== 1) {\n return;\n }\n e.preventDefault();\n blurActiveDomElement();\n r.hoverData.capture = true;\n r.hoverData.which = e.which;\n var cy = r.cy;\n var gpos = [e.clientX, e.clientY];\n var pos = r.projectIntoViewport(gpos[0], gpos[1]);\n var select = r.selection;\n var nears = r.findNearestElements(pos[0], pos[1], true, false);\n var near = nears[0];\n var draggedElements = r.dragData.possibleDragElements;\n r.hoverData.mdownPos = pos;\n r.hoverData.mdownGPos = gpos;\n var checkForTaphold = function checkForTaphold() {\n r.hoverData.tapholdCancelled = false;\n clearTimeout(r.hoverData.tapholdTimeout);\n r.hoverData.tapholdTimeout = setTimeout(function () {\n if (r.hoverData.tapholdCancelled) {\n return;\n } else {\n var ele = r.hoverData.down;\n if (ele) {\n ele.emit({\n originalEvent: e,\n type: 'taphold',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n } else {\n cy.emit({\n originalEvent: e,\n type: 'taphold',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n }\n }, r.tapholdDuration);\n };\n\n // Right click button\n if (e.which == 3) {\n r.hoverData.cxtStarted = true;\n var cxtEvt = {\n originalEvent: e,\n type: 'cxttapstart',\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (near) {\n near.activate();\n near.emit(cxtEvt);\n r.hoverData.down = near;\n } else {\n cy.emit(cxtEvt);\n }\n r.hoverData.downTime = new Date().getTime();\n r.hoverData.cxtDragged = false;\n\n // Primary button\n } else if (e.which == 1) {\n if (near) {\n near.activate();\n }\n\n // Element dragging\n {\n // If something is under the cursor and it is draggable, prepare to grab it\n if (near != null) {\n if (r.nodeIsGrabbable(near)) {\n var makeEvent = function makeEvent(type) {\n return {\n originalEvent: e,\n type: type,\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n };\n var triggerGrab = function triggerGrab(ele) {\n ele.emit(makeEvent('grab'));\n };\n setGrabTarget(near);\n if (!near.selected()) {\n draggedElements = r.dragData.possibleDragElements = cy.collection();\n addNodeToDrag(near, {\n addToList: draggedElements\n });\n near.emit(makeEvent('grabon')).emit(makeEvent('grab'));\n } else {\n draggedElements = r.dragData.possibleDragElements = cy.collection();\n var selectedNodes = cy.$(function (ele) {\n return ele.isNode() && ele.selected() && r.nodeIsGrabbable(ele);\n });\n addNodesToDrag(selectedNodes, {\n addToList: draggedElements\n });\n near.emit(makeEvent('grabon'));\n selectedNodes.forEach(triggerGrab);\n }\n r.redrawHint('eles', true);\n r.redrawHint('drag', true);\n }\n }\n r.hoverData.down = near;\n r.hoverData.downs = nears;\n r.hoverData.downTime = new Date().getTime();\n }\n triggerEvents(near, ['mousedown', 'tapstart', 'vmousedown'], e, {\n x: pos[0],\n y: pos[1]\n });\n if (near == null) {\n select[4] = 1;\n r.data.bgActivePosistion = {\n x: pos[0],\n y: pos[1]\n };\n r.redrawHint('select', true);\n r.redraw();\n } else if (near.pannable()) {\n select[4] = 1; // for future pan\n }\n checkForTaphold();\n }\n\n // Initialize selection box coordinates\n select[0] = select[2] = pos[0];\n select[1] = select[3] = pos[1];\n }, false);\n var shadowRoot = getShadowRoot(r.container);\n r.registerBinding([containerWindow, shadowRoot], 'mousemove', function mousemoveHandler(e) {\n // eslint-disable-line no-undef\n var capture = r.hoverData.capture;\n if (!capture && !eventInContainer(e)) {\n return;\n }\n var preventDefault = false;\n var cy = r.cy;\n var zoom = cy.zoom();\n var gpos = [e.clientX, e.clientY];\n var pos = r.projectIntoViewport(gpos[0], gpos[1]);\n var mdownPos = r.hoverData.mdownPos;\n var mdownGPos = r.hoverData.mdownGPos;\n var select = r.selection;\n var near = null;\n if (!r.hoverData.draggingEles && !r.hoverData.dragging && !r.hoverData.selecting) {\n near = r.findNearestElement(pos[0], pos[1], true, false);\n }\n var last = r.hoverData.last;\n var down = r.hoverData.down;\n var disp = [pos[0] - select[2], pos[1] - select[3]];\n var draggedElements = r.dragData.possibleDragElements;\n var isOverThresholdDrag;\n if (mdownGPos) {\n var dx = gpos[0] - mdownGPos[0];\n var dx2 = dx * dx;\n var dy = gpos[1] - mdownGPos[1];\n var dy2 = dy * dy;\n var dist2 = dx2 + dy2;\n r.hoverData.isOverThresholdDrag = isOverThresholdDrag = dist2 >= r.desktopTapThreshold2;\n }\n var multSelKeyDown = isMultSelKeyDown(e);\n if (isOverThresholdDrag) {\n r.hoverData.tapholdCancelled = true;\n }\n var updateDragDelta = function updateDragDelta() {\n var dragDelta = r.hoverData.dragDelta = r.hoverData.dragDelta || [];\n if (dragDelta.length === 0) {\n dragDelta.push(disp[0]);\n dragDelta.push(disp[1]);\n } else {\n dragDelta[0] += disp[0];\n dragDelta[1] += disp[1];\n }\n };\n preventDefault = true;\n triggerEvents(near, ['mousemove', 'vmousemove', 'tapdrag'], e, {\n x: pos[0],\n y: pos[1]\n });\n var goIntoBoxMode = function goIntoBoxMode() {\n r.data.bgActivePosistion = undefined;\n if (!r.hoverData.selecting) {\n cy.emit({\n originalEvent: e,\n type: 'boxstart',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n select[4] = 1;\n r.hoverData.selecting = true;\n r.redrawHint('select', true);\n r.redraw();\n };\n\n // trigger context drag if rmouse down\n if (r.hoverData.which === 3) {\n // but only if over threshold\n if (isOverThresholdDrag) {\n var cxtEvt = {\n originalEvent: e,\n type: 'cxtdrag',\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (down) {\n down.emit(cxtEvt);\n } else {\n cy.emit(cxtEvt);\n }\n r.hoverData.cxtDragged = true;\n if (!r.hoverData.cxtOver || near !== r.hoverData.cxtOver) {\n if (r.hoverData.cxtOver) {\n r.hoverData.cxtOver.emit({\n originalEvent: e,\n type: 'cxtdragout',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n r.hoverData.cxtOver = near;\n if (near) {\n near.emit({\n originalEvent: e,\n type: 'cxtdragover',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }\n }\n }\n\n // Check if we are drag panning the entire graph\n } else if (r.hoverData.dragging) {\n preventDefault = true;\n if (cy.panningEnabled() && cy.userPanningEnabled()) {\n var deltaP;\n if (r.hoverData.justStartedPan) {\n var mdPos = r.hoverData.mdownPos;\n deltaP = {\n x: (pos[0] - mdPos[0]) * zoom,\n y: (pos[1] - mdPos[1]) * zoom\n };\n r.hoverData.justStartedPan = false;\n } else {\n deltaP = {\n x: disp[0] * zoom,\n y: disp[1] * zoom\n };\n }\n cy.panBy(deltaP);\n cy.emit('dragpan');\n r.hoverData.dragged = true;\n }\n\n // Needs reproject due to pan changing viewport\n pos = r.projectIntoViewport(e.clientX, e.clientY);\n\n // Checks primary button down & out of time & mouse not moved much\n } else if (select[4] == 1 && (down == null || down.pannable())) {\n if (isOverThresholdDrag) {\n if (!r.hoverData.dragging && cy.boxSelectionEnabled() && (multSelKeyDown || !cy.panningEnabled() || !cy.userPanningEnabled())) {\n goIntoBoxMode();\n } else if (!r.hoverData.selecting && cy.panningEnabled() && cy.userPanningEnabled()) {\n var allowPassthrough = allowPanningPassthrough(down, r.hoverData.downs);\n if (allowPassthrough) {\n r.hoverData.dragging = true;\n r.hoverData.justStartedPan = true;\n select[4] = 0;\n r.data.bgActivePosistion = array2point(mdownPos);\n r.redrawHint('select', true);\n r.redraw();\n }\n }\n if (down && down.pannable() && down.active()) {\n down.unactivate();\n }\n }\n } else {\n if (down && down.pannable() && down.active()) {\n down.unactivate();\n }\n if ((!down || !down.grabbed()) && near != last) {\n if (last) {\n triggerEvents(last, ['mouseout', 'tapdragout'], e, {\n x: pos[0],\n y: pos[1]\n });\n }\n if (near) {\n triggerEvents(near, ['mouseover', 'tapdragover'], e, {\n x: pos[0],\n y: pos[1]\n });\n }\n r.hoverData.last = near;\n }\n if (down) {\n if (isOverThresholdDrag) {\n // then we can take action\n\n if (cy.boxSelectionEnabled() && multSelKeyDown) {\n // then selection overrides\n if (down && down.grabbed()) {\n freeDraggedElements(draggedElements);\n down.emit('freeon');\n draggedElements.emit('free');\n if (r.dragData.didDrag) {\n down.emit('dragfreeon');\n draggedElements.emit('dragfree');\n }\n }\n goIntoBoxMode();\n } else if (down && down.grabbed() && r.nodeIsDraggable(down)) {\n // drag node\n var justStartedDrag = !r.dragData.didDrag;\n if (justStartedDrag) {\n r.redrawHint('eles', true);\n }\n r.dragData.didDrag = true; // indicate that we actually did drag the node\n\n // now, add the elements to the drag layer if not done already\n if (!r.hoverData.draggingEles) {\n addNodesToDrag(draggedElements, {\n inDragLayer: true\n });\n }\n var totalShift = {\n x: 0,\n y: 0\n };\n if (number$1(disp[0]) && number$1(disp[1])) {\n totalShift.x += disp[0];\n totalShift.y += disp[1];\n if (justStartedDrag) {\n var dragDelta = r.hoverData.dragDelta;\n if (dragDelta && number$1(dragDelta[0]) && number$1(dragDelta[1])) {\n totalShift.x += dragDelta[0];\n totalShift.y += dragDelta[1];\n }\n }\n }\n r.hoverData.draggingEles = true;\n draggedElements.silentShift(totalShift).emit('position drag');\n r.redrawHint('drag', true);\n r.redraw();\n }\n } else {\n // otherwise save drag delta for when we actually start dragging so the relative grab pos is constant\n updateDragDelta();\n }\n }\n\n // prevent the dragging from triggering text selection on the page\n preventDefault = true;\n }\n select[2] = pos[0];\n select[3] = pos[1];\n if (preventDefault) {\n if (e.stopPropagation) e.stopPropagation();\n if (e.preventDefault) e.preventDefault();\n return false;\n }\n }, false);\n var clickTimeout, didDoubleClick, prevClickTimeStamp;\n r.registerBinding(containerWindow, 'mouseup', function mouseupHandler(e) {\n // eslint-disable-line no-undef\n // during left mouse button gestures, ignore other buttons\n if (r.hoverData.which === 1 && e.which !== 1 && r.hoverData.capture) {\n return;\n }\n var capture = r.hoverData.capture;\n if (!capture) {\n return;\n }\n r.hoverData.capture = false;\n var cy = r.cy;\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n var select = r.selection;\n var near = r.findNearestElement(pos[0], pos[1], true, false);\n var draggedElements = r.dragData.possibleDragElements;\n var down = r.hoverData.down;\n var multSelKeyDown = isMultSelKeyDown(e);\n if (r.data.bgActivePosistion) {\n r.redrawHint('select', true);\n r.redraw();\n }\n r.hoverData.tapholdCancelled = true;\n r.data.bgActivePosistion = undefined; // not active bg now\n\n if (down) {\n down.unactivate();\n }\n if (r.hoverData.which === 3) {\n var cxtEvt = {\n originalEvent: e,\n type: 'cxttapend',\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (down) {\n down.emit(cxtEvt);\n } else {\n cy.emit(cxtEvt);\n }\n if (!r.hoverData.cxtDragged) {\n var cxtTap = {\n originalEvent: e,\n type: 'cxttap',\n position: {\n x: pos[0],\n y: pos[1]\n }\n };\n if (down) {\n down.emit(cxtTap);\n } else {\n cy.emit(cxtTap);\n }\n }\n r.hoverData.cxtDragged = false;\n r.hoverData.which = null;\n } else if (r.hoverData.which === 1) {\n triggerEvents(near, ['mouseup', 'tapend', 'vmouseup'], e, {\n x: pos[0],\n y: pos[1]\n });\n if (!r.dragData.didDrag &&\n // didn't move a node around\n !r.hoverData.dragged &&\n // didn't pan\n !r.hoverData.selecting &&\n // not box selection\n !r.hoverData.isOverThresholdDrag // didn't move too much\n ) {\n triggerEvents(down, [\"click\", \"tap\", \"vclick\"], e, {\n x: pos[0],\n y: pos[1]\n });\n didDoubleClick = false;\n if (e.timeStamp - prevClickTimeStamp <= cy.multiClickDebounceTime()) {\n clickTimeout && clearTimeout(clickTimeout);\n didDoubleClick = true;\n prevClickTimeStamp = null;\n triggerEvents(down, [\"dblclick\", \"dbltap\", \"vdblclick\"], e, {\n x: pos[0],\n y: pos[1]\n });\n } else {\n clickTimeout = setTimeout(function () {\n if (didDoubleClick) return;\n triggerEvents(down, [\"oneclick\", \"onetap\", \"voneclick\"], e, {\n x: pos[0],\n y: pos[1]\n });\n }, cy.multiClickDebounceTime());\n prevClickTimeStamp = e.timeStamp;\n }\n }\n\n // Deselect all elements if nothing is currently under the mouse cursor and we aren't dragging something\n if (down == null // not mousedown on node\n && !r.dragData.didDrag // didn't move the node around\n && !r.hoverData.selecting // not box selection\n && !r.hoverData.dragged // didn't pan\n && !isMultSelKeyDown(e)) {\n cy.$(isSelected).unselect(['tapunselect']);\n if (draggedElements.length > 0) {\n r.redrawHint('eles', true);\n }\n r.dragData.possibleDragElements = draggedElements = cy.collection();\n }\n\n // Single selection\n if (near == down && !r.dragData.didDrag && !r.hoverData.selecting) {\n if (near != null && near._private.selectable) {\n if (r.hoverData.dragging) ; else if (cy.selectionType() === 'additive' || multSelKeyDown) {\n if (near.selected()) {\n near.unselect(['tapunselect']);\n } else {\n near.select(['tapselect']);\n }\n } else {\n if (!multSelKeyDown) {\n cy.$(isSelected).unmerge(near).unselect(['tapunselect']);\n near.select(['tapselect']);\n }\n }\n r.redrawHint('eles', true);\n }\n }\n if (r.hoverData.selecting) {\n var box = cy.collection(r.getAllInBox(select[0], select[1], select[2], select[3]));\n r.redrawHint('select', true);\n if (box.length > 0) {\n r.redrawHint('eles', true);\n }\n cy.emit({\n type: 'boxend',\n originalEvent: e,\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n var eleWouldBeSelected = function eleWouldBeSelected(ele) {\n return ele.selectable() && !ele.selected();\n };\n if (cy.selectionType() === 'additive') {\n box.emit('box').stdFilter(eleWouldBeSelected).select().emit('boxselect');\n } else {\n if (!multSelKeyDown) {\n cy.$(isSelected).unmerge(box).unselect();\n }\n box.emit('box').stdFilter(eleWouldBeSelected).select().emit('boxselect');\n }\n\n // always need redraw in case eles unselectable\n r.redraw();\n }\n\n // Cancel drag pan\n if (r.hoverData.dragging) {\n r.hoverData.dragging = false;\n r.redrawHint('select', true);\n r.redrawHint('eles', true);\n r.redraw();\n }\n if (!select[4]) {\n r.redrawHint('drag', true);\n r.redrawHint('eles', true);\n var downWasGrabbed = down && down.grabbed();\n freeDraggedElements(draggedElements);\n if (downWasGrabbed) {\n down.emit('freeon');\n draggedElements.emit('free');\n if (r.dragData.didDrag) {\n down.emit('dragfreeon');\n draggedElements.emit('dragfree');\n }\n }\n }\n } // else not right mouse\n\n select[4] = 0;\n r.hoverData.down = null;\n r.hoverData.cxtStarted = false;\n r.hoverData.draggingEles = false;\n r.hoverData.selecting = false;\n r.hoverData.isOverThresholdDrag = false;\n r.dragData.didDrag = false;\n r.hoverData.dragged = false;\n r.hoverData.dragDelta = [];\n r.hoverData.mdownPos = null;\n r.hoverData.mdownGPos = null;\n r.hoverData.which = null;\n }, false);\n var wheelDeltas = []; // log of first N wheel deltas\n var wheelDeltaN = 4; // how many events to log\n var inaccurateScrollDevice;\n var inaccurateScrollFactor = 100000; // base of inaccurate wheel deltas (e.g. base 5 could yield wheels of 10, 25, 50, etc.)\n\n var allAreDivisibleBy = function allAreDivisibleBy(list, factor) {\n for (var i = 0; i < list.length; i++) {\n if (list[i] % factor !== 0) {\n return false;\n }\n }\n return true;\n };\n var allAreSameMagnitude = function allAreSameMagnitude(list) {\n var firstMag = Math.abs(list[0]);\n for (var i = 1; i < list.length; i++) {\n if (Math.abs(list[i]) !== firstMag) {\n return false;\n }\n }\n return true;\n };\n var wheelHandler = function wheelHandler(e) {\n var clamp = false;\n var delta = e.deltaY;\n if (delta == null) {\n // compatibility with old browsers\n if (e.wheelDeltaY != null) {\n delta = e.wheelDeltaY / 4;\n } else if (e.wheelDelta != null) {\n delta = e.wheelDelta / 4;\n }\n }\n if (inaccurateScrollDevice == null) {\n if (wheelDeltas.length >= wheelDeltaN) {\n // use log to determine if inaccurate\n var wds = wheelDeltas;\n inaccurateScrollDevice = allAreDivisibleBy(wds, 5);\n if (!inaccurateScrollDevice) {\n // check for all large values of exact same magnitude\n var firstMag = Math.abs(wds[0]);\n inaccurateScrollDevice = allAreSameMagnitude(wds) && firstMag > 5;\n }\n if (inaccurateScrollDevice) {\n for (var i = 0; i < wds.length; i++) {\n inaccurateScrollFactor = Math.min(Math.abs(wds[i]), inaccurateScrollFactor);\n }\n }\n\n // console.log('Sampled wheel deltas:', wds);\n // console.log('inaccurateScrollDevice:', inaccurateScrollDevice);\n // console.log('inaccurateScrollFactor:', inaccurateScrollFactor);\n } else {\n // clamp and log until we reach N\n wheelDeltas.push(delta);\n clamp = true;\n // console.log('Clamping initial wheel events until we get a good sample');\n }\n } else if (inaccurateScrollDevice) {\n // keep updating\n inaccurateScrollFactor = Math.min(Math.abs(delta), inaccurateScrollFactor);\n // console.log('Keep updating inaccurateScrollFactor beyond sample in case we did not get the smallest possible val:', inaccurateScrollFactor);\n }\n if (r.scrollingPage) {\n return;\n } // while scrolling, ignore wheel-to-zoom\n\n var cy = r.cy;\n var zoom = cy.zoom();\n var pan = cy.pan();\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n var rpos = [pos[0] * zoom + pan.x, pos[1] * zoom + pan.y];\n if (r.hoverData.draggingEles || r.hoverData.dragging || r.hoverData.cxtStarted || inBoxSelection()) {\n // if pan dragging or cxt dragging, wheel movements make no zoom\n e.preventDefault();\n return;\n }\n if (cy.panningEnabled() && cy.userPanningEnabled() && cy.zoomingEnabled() && cy.userZoomingEnabled()) {\n e.preventDefault();\n r.data.wheelZooming = true;\n clearTimeout(r.data.wheelTimeout);\n r.data.wheelTimeout = setTimeout(function () {\n r.data.wheelZooming = false;\n r.redrawHint('eles', true);\n r.redraw();\n }, 150);\n var diff;\n if (clamp && Math.abs(delta) > 5) {\n delta = signum(delta) * 5;\n }\n diff = delta / -250;\n if (inaccurateScrollDevice) {\n diff /= inaccurateScrollFactor;\n diff *= 3;\n }\n diff = diff * r.wheelSensitivity;\n\n // console.log(`delta = ${delta}, diff = ${diff}, mode = ${e.deltaMode}`)\n\n var needsWheelFix = e.deltaMode === 1;\n if (needsWheelFix) {\n // fixes slow wheel events on ff/linux and ff/windows\n diff *= 33;\n }\n var newZoom = cy.zoom() * Math.pow(10, diff);\n if (e.type === 'gesturechange') {\n newZoom = r.gestureStartZoom * e.scale;\n }\n cy.zoom({\n level: newZoom,\n renderedPosition: {\n x: rpos[0],\n y: rpos[1]\n }\n });\n cy.emit(e.type === 'gesturechange' ? 'pinchzoom' : 'scrollzoom');\n }\n };\n\n // Functions to help with whether mouse wheel should trigger zooming\n // --\n r.registerBinding(r.container, 'wheel', wheelHandler, true);\n\n // disable nonstandard wheel events\n // r.registerBinding(r.container, 'mousewheel', wheelHandler, true);\n // r.registerBinding(r.container, 'DOMMouseScroll', wheelHandler, true);\n // r.registerBinding(r.container, 'MozMousePixelScroll', wheelHandler, true); // older firefox\n\n r.registerBinding(containerWindow, 'scroll', function scrollHandler(e) {\n // eslint-disable-line no-unused-vars\n r.scrollingPage = true;\n clearTimeout(r.scrollingPageTimeout);\n r.scrollingPageTimeout = setTimeout(function () {\n r.scrollingPage = false;\n }, 250);\n }, true);\n\n // desktop safari pinch to zoom start\n r.registerBinding(r.container, 'gesturestart', function gestureStartHandler(e) {\n r.gestureStartZoom = r.cy.zoom();\n if (!r.hasTouchStarted) {\n // don't affect touch devices like iphone\n e.preventDefault();\n }\n }, true);\n r.registerBinding(r.container, 'gesturechange', function (e) {\n if (!r.hasTouchStarted) {\n // don't affect touch devices like iphone\n wheelHandler(e);\n }\n }, true);\n\n // Functions to help with handling mouseout/mouseover on the Cytoscape container\n // Handle mouseout on Cytoscape container\n r.registerBinding(r.container, 'mouseout', function mouseOutHandler(e) {\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n r.cy.emit({\n originalEvent: e,\n type: 'mouseout',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }, false);\n r.registerBinding(r.container, 'mouseover', function mouseOverHandler(e) {\n var pos = r.projectIntoViewport(e.clientX, e.clientY);\n r.cy.emit({\n originalEvent: e,\n type: 'mouseover',\n position: {\n x: pos[0],\n y: pos[1]\n }\n });\n }, false);\n var f1x1, f1y1, f2x1, f2y1; // starting points for pinch-to-zoom\n var distance1, distance1Sq; // initial distance between finger 1 and finger 2 for pinch-to-zoom\n var center1, modelCenter1; // center point on start pinch to zoom\n var offsetLeft, offsetTop;\n var containerWidth, containerHeight;\n var twoFingersStartInside;\n var distance = function distance(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n };\n var distanceSq = function distanceSq(x1, y1, x2, y2) {\n return (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);\n };\n var touchstartHandler;\n r.registerBinding(r.container, 'touchstart', touchstartHandler = function touchstartHandler(e) {\n r.hasTouchStarted = true;\n if (!eventInContainer(e)) {\n return;\n }\n blurActiveDomElement();\n r.touchData.capture = true;\n r.data.bgActivePosistion = undefined;\n var cy = r.cy;\n var now = r.touchData.now;\n var earlier = r.touchData.earlier;\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now[0] = pos[0];\n now[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now[2] = pos[0];\n now[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now[4] = pos[0];\n now[5] = pos[1];\n }\n\n // record starting points for pinch-to-zoom\n if (e.touches[1]) {\n r.touchData.singleTouchMoved = true;\n freeDraggedElements(r.dragData.touchDragEles);\n var offsets = r.findContainerClientCoords();\n offsetLeft = offsets[0];\n offsetTop = offsets[1];\n containerWidth = offsets[2];\n containerHeight = offsets[3];\n f1x1 = e.touches[0].clientX - offsetLeft;\n f1y1 = e.touches[0].clientY - offsetTop;\n f2x1 = e.touches[1].clientX - offsetLeft;\n f2y1 = e.touches[1].clientY - offsetTop;\n twoFingersStartInside = 0 <= f1x1 && f1x1 <= containerWidth && 0 <= f2x1 && f2x1 <= containerWidth && 0 <= f1y1 && f1y1 <= containerHeight && 0 <= f2y1 && f2y1 <= containerHeight;\n var pan = cy.pan();\n var zoom = cy.zoom();\n distance1 = distance(f1x1, f1y1, f2x1, f2y1);\n distance1Sq = distanceSq(f1x1, f1y1, f2x1, f2y1);\n center1 = [(f1x1 + f2x1) / 2, (f1y1 + f2y1) / 2];\n modelCenter1 = [(center1[0] - pan.x) / zoom, (center1[1] - pan.y) / zoom];\n\n // consider context tap\n var cxtDistThreshold = 200;\n var cxtDistThresholdSq = cxtDistThreshold * cxtDistThreshold;\n if (distance1Sq < cxtDistThresholdSq && !e.touches[2]) {\n var near1 = r.findNearestElement(now[0], now[1], true, true);\n var near2 = r.findNearestElement(now[2], now[3], true, true);\n if (near1 && near1.isNode()) {\n near1.activate().emit({\n originalEvent: e,\n type: 'cxttapstart',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n r.touchData.start = near1;\n } else if (near2 && near2.isNode()) {\n near2.activate().emit({\n originalEvent: e,\n type: 'cxttapstart',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n r.touchData.start = near2;\n } else {\n cy.emit({\n originalEvent: e,\n type: 'cxttapstart',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n }\n if (r.touchData.start) {\n r.touchData.start._private.grabbed = false;\n }\n r.touchData.cxt = true;\n r.touchData.cxtDragged = false;\n r.data.bgActivePosistion = undefined;\n r.redraw();\n return;\n }\n }\n if (e.touches[2]) {\n // ignore\n\n // safari on ios pans the page otherwise (normally you should be able to preventdefault on touchmove...)\n if (cy.boxSelectionEnabled()) {\n e.preventDefault();\n }\n } else if (e.touches[1]) ; else if (e.touches[0]) {\n var nears = r.findNearestElements(now[0], now[1], true, true);\n var near = nears[0];\n if (near != null) {\n near.activate();\n r.touchData.start = near;\n r.touchData.starts = nears;\n if (r.nodeIsGrabbable(near)) {\n var draggedEles = r.dragData.touchDragEles = cy.collection();\n var selectedNodes = null;\n r.redrawHint('eles', true);\n r.redrawHint('drag', true);\n if (near.selected()) {\n // reset drag elements, since near will be added again\n\n selectedNodes = cy.$(function (ele) {\n return ele.selected() && r.nodeIsGrabbable(ele);\n });\n addNodesToDrag(selectedNodes, {\n addToList: draggedEles\n });\n } else {\n addNodeToDrag(near, {\n addToList: draggedEles\n });\n }\n setGrabTarget(near);\n var makeEvent = function makeEvent(type) {\n return {\n originalEvent: e,\n type: type,\n position: {\n x: now[0],\n y: now[1]\n }\n };\n };\n near.emit(makeEvent('grabon'));\n if (selectedNodes) {\n selectedNodes.forEach(function (n) {\n n.emit(makeEvent('grab'));\n });\n } else {\n near.emit(makeEvent('grab'));\n }\n }\n }\n triggerEvents(near, ['touchstart', 'tapstart', 'vmousedown'], e, {\n x: now[0],\n y: now[1]\n });\n if (near == null) {\n r.data.bgActivePosistion = {\n x: pos[0],\n y: pos[1]\n };\n r.redrawHint('select', true);\n r.redraw();\n }\n\n // Tap, taphold\n // -----\n\n r.touchData.singleTouchMoved = false;\n r.touchData.singleTouchStartTime = +new Date();\n clearTimeout(r.touchData.tapholdTimeout);\n r.touchData.tapholdTimeout = setTimeout(function () {\n if (r.touchData.singleTouchMoved === false && !r.pinching // if pinching, then taphold unselect shouldn't take effect\n && !r.touchData.selecting // box selection shouldn't allow taphold through\n ) {\n triggerEvents(r.touchData.start, ['taphold'], e, {\n x: now[0],\n y: now[1]\n });\n }\n }, r.tapholdDuration);\n }\n if (e.touches.length >= 1) {\n var sPos = r.touchData.startPosition = [null, null, null, null, null, null];\n for (var i = 0; i < now.length; i++) {\n sPos[i] = earlier[i] = now[i];\n }\n var touch0 = e.touches[0];\n r.touchData.startGPosition = [touch0.clientX, touch0.clientY];\n }\n }, false);\n var touchmoveHandler;\n r.registerBinding(containerWindow, 'touchmove', touchmoveHandler = function touchmoveHandler(e) {\n // eslint-disable-line no-undef\n var capture = r.touchData.capture;\n if (!capture && !eventInContainer(e)) {\n return;\n }\n var select = r.selection;\n var cy = r.cy;\n var now = r.touchData.now;\n var earlier = r.touchData.earlier;\n var zoom = cy.zoom();\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now[0] = pos[0];\n now[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now[2] = pos[0];\n now[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now[4] = pos[0];\n now[5] = pos[1];\n }\n var startGPos = r.touchData.startGPosition;\n var isOverThresholdDrag;\n if (capture && e.touches[0] && startGPos) {\n var disp = [];\n for (var j = 0; j < now.length; j++) {\n disp[j] = now[j] - earlier[j];\n }\n var dx = e.touches[0].clientX - startGPos[0];\n var dx2 = dx * dx;\n var dy = e.touches[0].clientY - startGPos[1];\n var dy2 = dy * dy;\n var dist2 = dx2 + dy2;\n isOverThresholdDrag = dist2 >= r.touchTapThreshold2;\n }\n\n // context swipe cancelling\n if (capture && r.touchData.cxt) {\n e.preventDefault();\n var f1x2 = e.touches[0].clientX - offsetLeft,\n f1y2 = e.touches[0].clientY - offsetTop;\n var f2x2 = e.touches[1].clientX - offsetLeft,\n f2y2 = e.touches[1].clientY - offsetTop;\n // var distance2 = distance( f1x2, f1y2, f2x2, f2y2 );\n var distance2Sq = distanceSq(f1x2, f1y2, f2x2, f2y2);\n var factorSq = distance2Sq / distance1Sq;\n var distThreshold = 150;\n var distThresholdSq = distThreshold * distThreshold;\n var factorThreshold = 1.5;\n var factorThresholdSq = factorThreshold * factorThreshold;\n\n // cancel ctx gestures if the distance b/t the fingers increases\n if (factorSq >= factorThresholdSq || distance2Sq >= distThresholdSq) {\n r.touchData.cxt = false;\n r.data.bgActivePosistion = undefined;\n r.redrawHint('select', true);\n var cxtEvt = {\n originalEvent: e,\n type: 'cxttapend',\n position: {\n x: now[0],\n y: now[1]\n }\n };\n if (r.touchData.start) {\n r.touchData.start.unactivate().emit(cxtEvt);\n r.touchData.start = null;\n } else {\n cy.emit(cxtEvt);\n }\n }\n }\n\n // context swipe\n if (capture && r.touchData.cxt) {\n var cxtEvt = {\n originalEvent: e,\n type: 'cxtdrag',\n position: {\n x: now[0],\n y: now[1]\n }\n };\n r.data.bgActivePosistion = undefined;\n r.redrawHint('select', true);\n if (r.touchData.start) {\n r.touchData.start.emit(cxtEvt);\n } else {\n cy.emit(cxtEvt);\n }\n if (r.touchData.start) {\n r.touchData.start._private.grabbed = false;\n }\n r.touchData.cxtDragged = true;\n var near = r.findNearestElement(now[0], now[1], true, true);\n if (!r.touchData.cxtOver || near !== r.touchData.cxtOver) {\n if (r.touchData.cxtOver) {\n r.touchData.cxtOver.emit({\n originalEvent: e,\n type: 'cxtdragout',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n }\n r.touchData.cxtOver = near;\n if (near) {\n near.emit({\n originalEvent: e,\n type: 'cxtdragover',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n }\n }\n\n // box selection\n } else if (capture && e.touches[2] && cy.boxSelectionEnabled()) {\n e.preventDefault();\n r.data.bgActivePosistion = undefined;\n this.lastThreeTouch = +new Date();\n if (!r.touchData.selecting) {\n cy.emit({\n originalEvent: e,\n type: 'boxstart',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n }\n r.touchData.selecting = true;\n r.touchData.didSelect = true;\n select[4] = 1;\n if (!select || select.length === 0 || select[0] === undefined) {\n select[0] = (now[0] + now[2] + now[4]) / 3;\n select[1] = (now[1] + now[3] + now[5]) / 3;\n select[2] = (now[0] + now[2] + now[4]) / 3 + 1;\n select[3] = (now[1] + now[3] + now[5]) / 3 + 1;\n } else {\n select[2] = (now[0] + now[2] + now[4]) / 3;\n select[3] = (now[1] + now[3] + now[5]) / 3;\n }\n r.redrawHint('select', true);\n r.redraw();\n\n // pinch to zoom\n } else if (capture && e.touches[1] && !r.touchData.didSelect // don't allow box selection to degrade to pinch-to-zoom\n && cy.zoomingEnabled() && cy.panningEnabled() && cy.userZoomingEnabled() && cy.userPanningEnabled()) {\n // two fingers => pinch to zoom\n e.preventDefault();\n r.data.bgActivePosistion = undefined;\n r.redrawHint('select', true);\n var draggedEles = r.dragData.touchDragEles;\n if (draggedEles) {\n r.redrawHint('drag', true);\n for (var i = 0; i < draggedEles.length; i++) {\n var de_p = draggedEles[i]._private;\n de_p.grabbed = false;\n de_p.rscratch.inDragLayer = false;\n }\n }\n var _start = r.touchData.start;\n\n // (x2, y2) for fingers 1 and 2\n var f1x2 = e.touches[0].clientX - offsetLeft,\n f1y2 = e.touches[0].clientY - offsetTop;\n var f2x2 = e.touches[1].clientX - offsetLeft,\n f2y2 = e.touches[1].clientY - offsetTop;\n var distance2 = distance(f1x2, f1y2, f2x2, f2y2);\n // var distance2Sq = distanceSq( f1x2, f1y2, f2x2, f2y2 );\n // var factor = Math.sqrt( distance2Sq ) / Math.sqrt( distance1Sq );\n var factor = distance2 / distance1;\n if (twoFingersStartInside) {\n // delta finger1\n var df1x = f1x2 - f1x1;\n var df1y = f1y2 - f1y1;\n\n // delta finger 2\n var df2x = f2x2 - f2x1;\n var df2y = f2y2 - f2y1;\n\n // translation is the normalised vector of the two fingers movement\n // i.e. so pinching cancels out and moving together pans\n var tx = (df1x + df2x) / 2;\n var ty = (df1y + df2y) / 2;\n\n // now calculate the zoom\n var zoom1 = cy.zoom();\n var zoom2 = zoom1 * factor;\n var pan1 = cy.pan();\n\n // the model center point converted to the current rendered pos\n var ctrx = modelCenter1[0] * zoom1 + pan1.x;\n var ctry = modelCenter1[1] * zoom1 + pan1.y;\n var pan2 = {\n x: -zoom2 / zoom1 * (ctrx - pan1.x - tx) + ctrx,\n y: -zoom2 / zoom1 * (ctry - pan1.y - ty) + ctry\n };\n\n // remove dragged eles\n if (_start && _start.active()) {\n var draggedEles = r.dragData.touchDragEles;\n freeDraggedElements(draggedEles);\n r.redrawHint('drag', true);\n r.redrawHint('eles', true);\n _start.unactivate().emit('freeon');\n draggedEles.emit('free');\n if (r.dragData.didDrag) {\n _start.emit('dragfreeon');\n draggedEles.emit('dragfree');\n }\n }\n cy.viewport({\n zoom: zoom2,\n pan: pan2,\n cancelOnFailedZoom: true\n });\n cy.emit('pinchzoom');\n distance1 = distance2;\n f1x1 = f1x2;\n f1y1 = f1y2;\n f2x1 = f2x2;\n f2y1 = f2y2;\n r.pinching = true;\n }\n\n // Re-project\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now[0] = pos[0];\n now[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now[2] = pos[0];\n now[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now[4] = pos[0];\n now[5] = pos[1];\n }\n } else if (e.touches[0] && !r.touchData.didSelect // don't allow box selection to degrade to single finger events like panning\n ) {\n var start = r.touchData.start;\n var last = r.touchData.last;\n var near;\n if (!r.hoverData.draggingEles && !r.swipePanning) {\n near = r.findNearestElement(now[0], now[1], true, true);\n }\n if (capture && start != null) {\n e.preventDefault();\n }\n\n // dragging nodes\n if (capture && start != null && r.nodeIsDraggable(start)) {\n if (isOverThresholdDrag) {\n // then dragging can happen\n var draggedEles = r.dragData.touchDragEles;\n var justStartedDrag = !r.dragData.didDrag;\n if (justStartedDrag) {\n addNodesToDrag(draggedEles, {\n inDragLayer: true\n });\n }\n r.dragData.didDrag = true;\n var totalShift = {\n x: 0,\n y: 0\n };\n if (number$1(disp[0]) && number$1(disp[1])) {\n totalShift.x += disp[0];\n totalShift.y += disp[1];\n if (justStartedDrag) {\n r.redrawHint('eles', true);\n var dragDelta = r.touchData.dragDelta;\n if (dragDelta && number$1(dragDelta[0]) && number$1(dragDelta[1])) {\n totalShift.x += dragDelta[0];\n totalShift.y += dragDelta[1];\n }\n }\n }\n r.hoverData.draggingEles = true;\n draggedEles.silentShift(totalShift).emit('position drag');\n r.redrawHint('drag', true);\n if (r.touchData.startPosition[0] == earlier[0] && r.touchData.startPosition[1] == earlier[1]) {\n r.redrawHint('eles', true);\n }\n r.redraw();\n } else {\n // otherwise keep track of drag delta for later\n var dragDelta = r.touchData.dragDelta = r.touchData.dragDelta || [];\n if (dragDelta.length === 0) {\n dragDelta.push(disp[0]);\n dragDelta.push(disp[1]);\n } else {\n dragDelta[0] += disp[0];\n dragDelta[1] += disp[1];\n }\n }\n }\n\n // touchmove\n {\n triggerEvents(start || near, ['touchmove', 'tapdrag', 'vmousemove'], e, {\n x: now[0],\n y: now[1]\n });\n if ((!start || !start.grabbed()) && near != last) {\n if (last) {\n last.emit({\n originalEvent: e,\n type: 'tapdragout',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n }\n if (near) {\n near.emit({\n originalEvent: e,\n type: 'tapdragover',\n position: {\n x: now[0],\n y: now[1]\n }\n });\n }\n }\n r.touchData.last = near;\n }\n\n // check to cancel taphold\n if (capture) {\n for (var i = 0; i < now.length; i++) {\n if (now[i] && r.touchData.startPosition[i] && isOverThresholdDrag) {\n r.touchData.singleTouchMoved = true;\n }\n }\n }\n\n // panning\n if (capture && (start == null || start.pannable()) && cy.panningEnabled() && cy.userPanningEnabled()) {\n var allowPassthrough = allowPanningPassthrough(start, r.touchData.starts);\n if (allowPassthrough) {\n e.preventDefault();\n if (!r.data.bgActivePosistion) {\n r.data.bgActivePosistion = array2point(r.touchData.startPosition);\n }\n if (r.swipePanning) {\n cy.panBy({\n x: disp[0] * zoom,\n y: disp[1] * zoom\n });\n cy.emit('dragpan');\n } else if (isOverThresholdDrag) {\n r.swipePanning = true;\n cy.panBy({\n x: dx * zoom,\n y: dy * zoom\n });\n cy.emit('dragpan');\n if (start) {\n start.unactivate();\n r.redrawHint('select', true);\n r.touchData.start = null;\n }\n }\n }\n\n // Re-project\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now[0] = pos[0];\n now[1] = pos[1];\n }\n }\n for (var j = 0; j < now.length; j++) {\n earlier[j] = now[j];\n }\n\n // the active bg indicator should be removed when making a swipe that is neither for dragging nodes or panning\n if (capture && e.touches.length > 0 && !r.hoverData.draggingEles && !r.swipePanning && r.data.bgActivePosistion != null) {\n r.data.bgActivePosistion = undefined;\n r.redrawHint('select', true);\n r.redraw();\n }\n }, false);\n var touchcancelHandler;\n r.registerBinding(containerWindow, 'touchcancel', touchcancelHandler = function touchcancelHandler(e) {\n // eslint-disable-line no-unused-vars\n var start = r.touchData.start;\n r.touchData.capture = false;\n if (start) {\n start.unactivate();\n }\n });\n var touchendHandler, didDoubleTouch, touchTimeout, prevTouchTimeStamp;\n r.registerBinding(containerWindow, 'touchend', touchendHandler = function touchendHandler(e) {\n // eslint-disable-line no-unused-vars\n var start = r.touchData.start;\n var capture = r.touchData.capture;\n if (capture) {\n if (e.touches.length === 0) {\n r.touchData.capture = false;\n }\n e.preventDefault();\n } else {\n return;\n }\n var select = r.selection;\n r.swipePanning = false;\n r.hoverData.draggingEles = false;\n var cy = r.cy;\n var zoom = cy.zoom();\n var now = r.touchData.now;\n var earlier = r.touchData.earlier;\n if (e.touches[0]) {\n var pos = r.projectIntoViewport(e.touches[0].clientX, e.touches[0].clientY);\n now[0] = pos[0];\n now[1] = pos[1];\n }\n if (e.touches[1]) {\n var pos = r.projectIntoViewport(e.touches[1].clientX, e.touches[1].clientY);\n now[2] = pos[0];\n now[3] = pos[1];\n }\n if (e.touches[2]) {\n var pos = r.projectIntoViewport(e.touches[2].clientX, e.touches[2].clientY);\n now[4] = pos[0];\n now[5] = pos[1];\n }\n if (start) {\n start.unactivate();\n }\n var ctxTapend;\n if (r.touchData.cxt) {\n ctxTapend = {\n originalEvent: e,\n type: 'cxttapend',\n position: {\n x: now[0],\n y: now[1]\n }\n };\n if (start) {\n start.emit(ctxTapend);\n } else {\n cy.emit(ctxTapend);\n }\n if (!r.touchData.cxtDragged) {\n var ctxTap = {\n originalEvent: e,\n type: 'cxttap',\n position: {\n x: now[0],\n y: now[1]\n }\n };\n if (start) {\n start.emit(ctxTap);\n } else {\n cy.emit(ctxTap);\n }\n }\n if (r.touchData.start) {\n r.touchData.start._private.grabbed = false;\n }\n r.touchData.cxt = false;\n r.touchData.start = null;\n r.redraw();\n return;\n }\n\n // no more box selection if we don't have three fingers\n if (!e.touches[2] && cy.boxSelectionEnabled() && r.touchData.selecting) {\n r.touchData.selecting = false;\n var box = cy.collection(r.getAllInBox(select[0], select[1], select[2], select[3]));\n select[0] = undefined;\n select[1] = undefined;\n select[2] = undefined;\n select[3] = undefined;\n select[4] = 0;\n r.redrawHint('select', true);\n cy.emit({\n type: 'boxend',\n originalEvent: e,\n position: {\n x: now[0],\n y: now[1]\n }\n });\n var eleWouldBeSelected = function eleWouldBeSelected(ele) {\n return ele.selectable() && !ele.selected();\n };\n box.emit('box').stdFilter(eleWouldBeSelected).select().emit('boxselect');\n if (box.nonempty()) {\n r.redrawHint('eles', true);\n }\n r.redraw();\n }\n if (start != null) {\n start.unactivate();\n }\n if (e.touches[2]) {\n r.data.bgActivePosistion = undefined;\n r.redrawHint('select', true);\n } else if (e.touches[1]) ; else if (e.touches[0]) ; else if (!e.touches[0]) {\n r.data.bgActivePosistion = undefined;\n r.redrawHint('select', true);\n var draggedEles = r.dragData.touchDragEles;\n if (start != null) {\n var startWasGrabbed = start._private.grabbed;\n freeDraggedElements(draggedEles);\n r.redrawHint('drag', true);\n r.redrawHint('eles', true);\n if (startWasGrabbed) {\n start.emit('freeon');\n draggedEles.emit('free');\n if (r.dragData.didDrag) {\n start.emit('dragfreeon');\n draggedEles.emit('dragfree');\n }\n }\n triggerEvents(start, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], e, {\n x: now[0],\n y: now[1]\n });\n start.unactivate();\n r.touchData.start = null;\n } else {\n var near = r.findNearestElement(now[0], now[1], true, true);\n triggerEvents(near, ['touchend', 'tapend', 'vmouseup', 'tapdragout'], e, {\n x: now[0],\n y: now[1]\n });\n }\n var dx = r.touchData.startPosition[0] - now[0];\n var dx2 = dx * dx;\n var dy = r.touchData.startPosition[1] - now[1];\n var dy2 = dy * dy;\n var dist2 = dx2 + dy2;\n var rdist2 = dist2 * zoom * zoom;\n\n // Tap event, roughly same as mouse click event for touch\n if (!r.touchData.singleTouchMoved) {\n if (!start) {\n cy.$(':selected').unselect(['tapunselect']);\n }\n triggerEvents(start, ['tap', 'vclick'], e, {\n x: now[0],\n y: now[1]\n });\n didDoubleTouch = false;\n if (e.timeStamp - prevTouchTimeStamp <= cy.multiClickDebounceTime()) {\n touchTimeout && clearTimeout(touchTimeout);\n didDoubleTouch = true;\n prevTouchTimeStamp = null;\n triggerEvents(start, ['dbltap', 'vdblclick'], e, {\n x: now[0],\n y: now[1]\n });\n } else {\n touchTimeout = setTimeout(function () {\n if (didDoubleTouch) return;\n triggerEvents(start, ['onetap', 'voneclick'], e, {\n x: now[0],\n y: now[1]\n });\n }, cy.multiClickDebounceTime());\n prevTouchTimeStamp = e.timeStamp;\n }\n }\n\n // Prepare to select the currently touched node, only if it hasn't been dragged past a certain distance\n if (start != null && !r.dragData.didDrag // didn't drag nodes around\n && start._private.selectable && rdist2 < r.touchTapThreshold2 && !r.pinching // pinch to zoom should not affect selection\n ) {\n if (cy.selectionType() === 'single') {\n cy.$(isSelected).unmerge(start).unselect(['tapunselect']);\n start.select(['tapselect']);\n } else {\n if (start.selected()) {\n start.unselect(['tapunselect']);\n } else {\n start.select(['tapselect']);\n }\n }\n r.redrawHint('eles', true);\n }\n r.touchData.singleTouchMoved = true;\n }\n for (var j = 0; j < now.length; j++) {\n earlier[j] = now[j];\n }\n r.dragData.didDrag = false; // reset for next touchstart\n\n if (e.touches.length === 0) {\n r.touchData.dragDelta = [];\n r.touchData.startPosition = [null, null, null, null, null, null];\n r.touchData.startGPosition = null;\n r.touchData.didSelect = false;\n }\n if (e.touches.length < 2) {\n if (e.touches.length === 1) {\n // the old start global pos'n may not be the same finger that remains\n r.touchData.startGPosition = [e.touches[0].clientX, e.touches[0].clientY];\n }\n r.pinching = false;\n r.redrawHint('eles', true);\n r.redraw();\n }\n\n //r.redraw();\n }, false);\n\n // fallback compatibility layer for ms pointer events\n if (typeof TouchEvent === 'undefined') {\n var pointers = [];\n var makeTouch = function makeTouch(e) {\n return {\n clientX: e.clientX,\n clientY: e.clientY,\n force: 1,\n identifier: e.pointerId,\n pageX: e.pageX,\n pageY: e.pageY,\n radiusX: e.width / 2,\n radiusY: e.height / 2,\n screenX: e.screenX,\n screenY: e.screenY,\n target: e.target\n };\n };\n var makePointer = function makePointer(e) {\n return {\n event: e,\n touch: makeTouch(e)\n };\n };\n var addPointer = function addPointer(e) {\n pointers.push(makePointer(e));\n };\n var removePointer = function removePointer(e) {\n for (var i = 0; i < pointers.length; i++) {\n var p = pointers[i];\n if (p.event.pointerId === e.pointerId) {\n pointers.splice(i, 1);\n return;\n }\n }\n };\n var updatePointer = function updatePointer(e) {\n var p = pointers.filter(function (p) {\n return p.event.pointerId === e.pointerId;\n })[0];\n p.event = e;\n p.touch = makeTouch(e);\n };\n var addTouchesToEvent = function addTouchesToEvent(e) {\n e.touches = pointers.map(function (p) {\n return p.touch;\n });\n };\n var pointerIsMouse = function pointerIsMouse(e) {\n return e.pointerType === 'mouse' || e.pointerType === 4;\n };\n r.registerBinding(r.container, 'pointerdown', function (e) {\n if (pointerIsMouse(e)) {\n return;\n } // mouse already handled\n\n e.preventDefault();\n addPointer(e);\n addTouchesToEvent(e);\n touchstartHandler(e);\n });\n r.registerBinding(r.container, 'pointerup', function (e) {\n if (pointerIsMouse(e)) {\n return;\n } // mouse already handled\n\n removePointer(e);\n addTouchesToEvent(e);\n touchendHandler(e);\n });\n r.registerBinding(r.container, 'pointercancel', function (e) {\n if (pointerIsMouse(e)) {\n return;\n } // mouse already handled\n\n removePointer(e);\n addTouchesToEvent(e);\n touchcancelHandler(e);\n });\n r.registerBinding(r.container, 'pointermove', function (e) {\n if (pointerIsMouse(e)) {\n return;\n } // mouse already handled\n\n e.preventDefault();\n updatePointer(e);\n addTouchesToEvent(e);\n touchmoveHandler(e);\n });\n }\n};\n\nvar BRp$2 = {};\nBRp$2.generatePolygon = function (name, points) {\n return this.nodeShapes[name] = {\n renderer: this,\n name: name,\n points: points,\n draw: function draw(context, centerX, centerY, width, height, cornerRadius) {\n this.renderer.nodeShapeImpl('polygon', context, centerX, centerY, width, height, this.points);\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius) {\n return polygonIntersectLine(x, y, this.points, nodeX, nodeY, width / 2, height / 2, padding);\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius) {\n return pointInsidePolygon(x, y, this.points, centerX, centerY, width, height, [0, -1], padding);\n }\n };\n};\nBRp$2.generateEllipse = function () {\n return this.nodeShapes['ellipse'] = {\n renderer: this,\n name: 'ellipse',\n draw: function draw(context, centerX, centerY, width, height, cornerRadius) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width, height);\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius) {\n return intersectLineEllipse(x, y, nodeX, nodeY, width / 2 + padding, height / 2 + padding);\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius) {\n return checkInEllipse(x, y, width, height, centerX, centerY, padding);\n }\n };\n};\nBRp$2.generateRoundPolygon = function (name, points) {\n return this.nodeShapes[name] = {\n renderer: this,\n name: name,\n points: points,\n getOrCreateCorners: function getOrCreateCorners(centerX, centerY, width, height, cornerRadius, rs, field) {\n if (rs[field] !== undefined && rs[field + '-cx'] === centerX && rs[field + '-cy'] === centerY) {\n return rs[field];\n }\n rs[field] = new Array(points.length / 2);\n rs[field + '-cx'] = centerX;\n rs[field + '-cy'] = centerY;\n var halfW = width / 2;\n var halfH = height / 2;\n cornerRadius = cornerRadius === 'auto' ? getRoundPolygonRadius(width, height) : cornerRadius;\n var p = new Array(points.length / 2);\n for (var _i = 0; _i < points.length / 2; _i++) {\n p[_i] = {\n x: centerX + halfW * points[_i * 2],\n y: centerY + halfH * points[_i * 2 + 1]\n };\n }\n var i,\n p1,\n p2,\n p3,\n len = p.length;\n p1 = p[len - 1];\n // for each point\n for (i = 0; i < len; i++) {\n p2 = p[i % len];\n p3 = p[(i + 1) % len];\n rs[field][i] = getRoundCorner(p1, p2, p3, cornerRadius);\n p1 = p2;\n p2 = p3;\n }\n return rs[field];\n },\n draw: function draw(context, centerX, centerY, width, height, cornerRadius, rs) {\n this.renderer.nodeShapeImpl('round-polygon', context, centerX, centerY, width, height, this.points, this.getOrCreateCorners(centerX, centerY, width, height, cornerRadius, rs, 'drawCorners'));\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius, rs) {\n return roundPolygonIntersectLine(x, y, this.points, nodeX, nodeY, width, height, padding, this.getOrCreateCorners(nodeX, nodeY, width, height, cornerRadius, rs, 'corners'));\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius, rs) {\n return pointInsideRoundPolygon(x, y, this.points, centerX, centerY, width, height, this.getOrCreateCorners(centerX, centerY, width, height, cornerRadius, rs, 'corners'));\n }\n };\n};\nBRp$2.generateRoundRectangle = function () {\n return this.nodeShapes['round-rectangle'] = this.nodeShapes['roundrectangle'] = {\n renderer: this,\n name: 'round-rectangle',\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw(context, centerX, centerY, width, height, cornerRadius) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width, height, this.points, cornerRadius);\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius) {\n return roundRectangleIntersectLine(x, y, nodeX, nodeY, width, height, padding, cornerRadius);\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius) {\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n cornerRadius = cornerRadius === 'auto' ? getRoundRectangleRadius(width, height) : cornerRadius;\n cornerRadius = Math.min(halfWidth, halfHeight, cornerRadius);\n var diam = cornerRadius * 2;\n\n // Check hBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width, height - diam, [0, -1], padding)) {\n return true;\n }\n\n // Check vBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width - diam, height, [0, -1], padding)) {\n return true;\n }\n\n // Check top left quarter circle\n if (checkInEllipse(x, y, diam, diam, centerX - halfWidth + cornerRadius, centerY - halfHeight + cornerRadius, padding)) {\n return true;\n }\n\n // Check top right quarter circle\n if (checkInEllipse(x, y, diam, diam, centerX + halfWidth - cornerRadius, centerY - halfHeight + cornerRadius, padding)) {\n return true;\n }\n\n // Check bottom right quarter circle\n if (checkInEllipse(x, y, diam, diam, centerX + halfWidth - cornerRadius, centerY + halfHeight - cornerRadius, padding)) {\n return true;\n }\n\n // Check bottom left quarter circle\n if (checkInEllipse(x, y, diam, diam, centerX - halfWidth + cornerRadius, centerY + halfHeight - cornerRadius, padding)) {\n return true;\n }\n return false;\n }\n };\n};\nBRp$2.generateCutRectangle = function () {\n return this.nodeShapes['cut-rectangle'] = this.nodeShapes['cutrectangle'] = {\n renderer: this,\n name: 'cut-rectangle',\n cornerLength: getCutRectangleCornerLength(),\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw(context, centerX, centerY, width, height, cornerRadius) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width, height, null, cornerRadius);\n },\n generateCutTrianglePts: function generateCutTrianglePts(width, height, centerX, centerY, cornerRadius) {\n var cl = cornerRadius === 'auto' ? this.cornerLength : cornerRadius;\n var hh = height / 2;\n var hw = width / 2;\n var xBegin = centerX - hw;\n var xEnd = centerX + hw;\n var yBegin = centerY - hh;\n var yEnd = centerY + hh;\n\n // points are in clockwise order, inner (imaginary) triangle pt on [4, 5]\n return {\n topLeft: [xBegin, yBegin + cl, xBegin + cl, yBegin, xBegin + cl, yBegin + cl],\n topRight: [xEnd - cl, yBegin, xEnd, yBegin + cl, xEnd - cl, yBegin + cl],\n bottomRight: [xEnd, yEnd - cl, xEnd - cl, yEnd, xEnd - cl, yEnd - cl],\n bottomLeft: [xBegin + cl, yEnd, xBegin, yEnd - cl, xBegin + cl, yEnd - cl]\n };\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius) {\n var cPts = this.generateCutTrianglePts(width + 2 * padding, height + 2 * padding, nodeX, nodeY, cornerRadius);\n var pts = [].concat.apply([], [cPts.topLeft.splice(0, 4), cPts.topRight.splice(0, 4), cPts.bottomRight.splice(0, 4), cPts.bottomLeft.splice(0, 4)]);\n return polygonIntersectLine(x, y, pts, nodeX, nodeY);\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius) {\n var cl = cornerRadius === 'auto' ? this.cornerLength : cornerRadius;\n // Check hBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width, height - 2 * cl, [0, -1], padding)) {\n return true;\n }\n\n // Check vBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width - 2 * cl, height, [0, -1], padding)) {\n return true;\n }\n var cutTrianglePts = this.generateCutTrianglePts(width, height, centerX, centerY);\n return pointInsidePolygonPoints(x, y, cutTrianglePts.topLeft) || pointInsidePolygonPoints(x, y, cutTrianglePts.topRight) || pointInsidePolygonPoints(x, y, cutTrianglePts.bottomRight) || pointInsidePolygonPoints(x, y, cutTrianglePts.bottomLeft);\n }\n };\n};\nBRp$2.generateBarrel = function () {\n return this.nodeShapes['barrel'] = {\n renderer: this,\n name: 'barrel',\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw(context, centerX, centerY, width, height, cornerRadius) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width, height);\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius) {\n // use two fixed t values for the bezier curve approximation\n\n var t0 = 0.15;\n var t1 = 0.5;\n var t2 = 0.85;\n var bPts = this.generateBarrelBezierPts(width + 2 * padding, height + 2 * padding, nodeX, nodeY);\n var approximateBarrelCurvePts = function approximateBarrelCurvePts(pts) {\n // approximate curve pts based on the two t values\n var m0 = qbezierPtAt({\n x: pts[0],\n y: pts[1]\n }, {\n x: pts[2],\n y: pts[3]\n }, {\n x: pts[4],\n y: pts[5]\n }, t0);\n var m1 = qbezierPtAt({\n x: pts[0],\n y: pts[1]\n }, {\n x: pts[2],\n y: pts[3]\n }, {\n x: pts[4],\n y: pts[5]\n }, t1);\n var m2 = qbezierPtAt({\n x: pts[0],\n y: pts[1]\n }, {\n x: pts[2],\n y: pts[3]\n }, {\n x: pts[4],\n y: pts[5]\n }, t2);\n return [pts[0], pts[1], m0.x, m0.y, m1.x, m1.y, m2.x, m2.y, pts[4], pts[5]];\n };\n var pts = [].concat(approximateBarrelCurvePts(bPts.topLeft), approximateBarrelCurvePts(bPts.topRight), approximateBarrelCurvePts(bPts.bottomRight), approximateBarrelCurvePts(bPts.bottomLeft));\n return polygonIntersectLine(x, y, pts, nodeX, nodeY);\n },\n generateBarrelBezierPts: function generateBarrelBezierPts(width, height, centerX, centerY) {\n var hh = height / 2;\n var hw = width / 2;\n var xBegin = centerX - hw;\n var xEnd = centerX + hw;\n var yBegin = centerY - hh;\n var yEnd = centerY + hh;\n var curveConstants = getBarrelCurveConstants(width, height);\n var hOffset = curveConstants.heightOffset;\n var wOffset = curveConstants.widthOffset;\n var ctrlPtXOffset = curveConstants.ctrlPtOffsetPct * width;\n\n // points are in clockwise order, inner (imaginary) control pt on [4, 5]\n var pts = {\n topLeft: [xBegin, yBegin + hOffset, xBegin + ctrlPtXOffset, yBegin, xBegin + wOffset, yBegin],\n topRight: [xEnd - wOffset, yBegin, xEnd - ctrlPtXOffset, yBegin, xEnd, yBegin + hOffset],\n bottomRight: [xEnd, yEnd - hOffset, xEnd - ctrlPtXOffset, yEnd, xEnd - wOffset, yEnd],\n bottomLeft: [xBegin + wOffset, yEnd, xBegin + ctrlPtXOffset, yEnd, xBegin, yEnd - hOffset]\n };\n pts.topLeft.isTop = true;\n pts.topRight.isTop = true;\n pts.bottomLeft.isBottom = true;\n pts.bottomRight.isBottom = true;\n return pts;\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius) {\n var curveConstants = getBarrelCurveConstants(width, height);\n var hOffset = curveConstants.heightOffset;\n var wOffset = curveConstants.widthOffset;\n\n // Check hBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width, height - 2 * hOffset, [0, -1], padding)) {\n return true;\n }\n\n // Check vBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width - 2 * wOffset, height, [0, -1], padding)) {\n return true;\n }\n var barrelCurvePts = this.generateBarrelBezierPts(width, height, centerX, centerY);\n var getCurveT = function getCurveT(x, y, curvePts) {\n var x0 = curvePts[4];\n var x1 = curvePts[2];\n var x2 = curvePts[0];\n var y0 = curvePts[5];\n // var y1 = curvePts[ 3 ];\n var y2 = curvePts[1];\n var xMin = Math.min(x0, x2);\n var xMax = Math.max(x0, x2);\n var yMin = Math.min(y0, y2);\n var yMax = Math.max(y0, y2);\n if (xMin <= x && x <= xMax && yMin <= y && y <= yMax) {\n var coeff = bezierPtsToQuadCoeff(x0, x1, x2);\n var roots = solveQuadratic(coeff[0], coeff[1], coeff[2], x);\n var validRoots = roots.filter(function (r) {\n return 0 <= r && r <= 1;\n });\n if (validRoots.length > 0) {\n return validRoots[0];\n }\n }\n return null;\n };\n var curveRegions = Object.keys(barrelCurvePts);\n for (var i = 0; i < curveRegions.length; i++) {\n var corner = curveRegions[i];\n var cornerPts = barrelCurvePts[corner];\n var t = getCurveT(x, y, cornerPts);\n if (t == null) {\n continue;\n }\n var y0 = cornerPts[5];\n var y1 = cornerPts[3];\n var y2 = cornerPts[1];\n var bezY = qbezierAt(y0, y1, y2, t);\n if (cornerPts.isTop && bezY <= y) {\n return true;\n }\n if (cornerPts.isBottom && y <= bezY) {\n return true;\n }\n }\n return false;\n }\n };\n};\nBRp$2.generateBottomRoundrectangle = function () {\n return this.nodeShapes['bottom-round-rectangle'] = this.nodeShapes['bottomroundrectangle'] = {\n renderer: this,\n name: 'bottom-round-rectangle',\n points: generateUnitNgonPointsFitToSquare(4, 0),\n draw: function draw(context, centerX, centerY, width, height, cornerRadius) {\n this.renderer.nodeShapeImpl(this.name, context, centerX, centerY, width, height, this.points, cornerRadius);\n },\n intersectLine: function intersectLine(nodeX, nodeY, width, height, x, y, padding, cornerRadius) {\n var topStartX = nodeX - (width / 2 + padding);\n var topStartY = nodeY - (height / 2 + padding);\n var topEndY = topStartY;\n var topEndX = nodeX + (width / 2 + padding);\n var topIntersections = finiteLinesIntersect(x, y, nodeX, nodeY, topStartX, topStartY, topEndX, topEndY, false);\n if (topIntersections.length > 0) {\n return topIntersections;\n }\n return roundRectangleIntersectLine(x, y, nodeX, nodeY, width, height, padding, cornerRadius);\n },\n checkPoint: function checkPoint(x, y, padding, width, height, centerX, centerY, cornerRadius) {\n cornerRadius = cornerRadius === 'auto' ? getRoundRectangleRadius(width, height) : cornerRadius;\n var diam = 2 * cornerRadius;\n\n // Check hBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width, height - diam, [0, -1], padding)) {\n return true;\n }\n\n // Check vBox\n if (pointInsidePolygon(x, y, this.points, centerX, centerY, width - diam, height, [0, -1], padding)) {\n return true;\n }\n\n // check non-rounded top side\n var outerWidth = width / 2 + 2 * padding;\n var outerHeight = height / 2 + 2 * padding;\n var points = [centerX - outerWidth, centerY - outerHeight, centerX - outerWidth, centerY, centerX + outerWidth, centerY, centerX + outerWidth, centerY - outerHeight];\n if (pointInsidePolygonPoints(x, y, points)) {\n return true;\n }\n\n // Check bottom right quarter circle\n if (checkInEllipse(x, y, diam, diam, centerX + width / 2 - cornerRadius, centerY + height / 2 - cornerRadius, padding)) {\n return true;\n }\n\n // Check bottom left quarter circle\n if (checkInEllipse(x, y, diam, diam, centerX - width / 2 + cornerRadius, centerY + height / 2 - cornerRadius, padding)) {\n return true;\n }\n return false;\n }\n };\n};\nBRp$2.registerNodeShapes = function () {\n var nodeShapes = this.nodeShapes = {};\n var renderer = this;\n this.generateEllipse();\n this.generatePolygon('triangle', generateUnitNgonPointsFitToSquare(3, 0));\n this.generateRoundPolygon('round-triangle', generateUnitNgonPointsFitToSquare(3, 0));\n this.generatePolygon('rectangle', generateUnitNgonPointsFitToSquare(4, 0));\n nodeShapes['square'] = nodeShapes['rectangle'];\n this.generateRoundRectangle();\n this.generateCutRectangle();\n this.generateBarrel();\n this.generateBottomRoundrectangle();\n {\n var diamondPoints = [0, 1, 1, 0, 0, -1, -1, 0];\n this.generatePolygon('diamond', diamondPoints);\n this.generateRoundPolygon('round-diamond', diamondPoints);\n }\n this.generatePolygon('pentagon', generateUnitNgonPointsFitToSquare(5, 0));\n this.generateRoundPolygon('round-pentagon', generateUnitNgonPointsFitToSquare(5, 0));\n this.generatePolygon('hexagon', generateUnitNgonPointsFitToSquare(6, 0));\n this.generateRoundPolygon('round-hexagon', generateUnitNgonPointsFitToSquare(6, 0));\n this.generatePolygon('heptagon', generateUnitNgonPointsFitToSquare(7, 0));\n this.generateRoundPolygon('round-heptagon', generateUnitNgonPointsFitToSquare(7, 0));\n this.generatePolygon('octagon', generateUnitNgonPointsFitToSquare(8, 0));\n this.generateRoundPolygon('round-octagon', generateUnitNgonPointsFitToSquare(8, 0));\n var star5Points = new Array(20);\n {\n var outerPoints = generateUnitNgonPoints(5, 0);\n var innerPoints = generateUnitNgonPoints(5, Math.PI / 5);\n\n // Outer radius is 1; inner radius of star is smaller\n var innerRadius = 0.5 * (3 - Math.sqrt(5));\n innerRadius *= 1.57;\n for (var i = 0; i < innerPoints.length / 2; i++) {\n innerPoints[i * 2] *= innerRadius;\n innerPoints[i * 2 + 1] *= innerRadius;\n }\n for (var i = 0; i < 20 / 4; i++) {\n star5Points[i * 4] = outerPoints[i * 2];\n star5Points[i * 4 + 1] = outerPoints[i * 2 + 1];\n star5Points[i * 4 + 2] = innerPoints[i * 2];\n star5Points[i * 4 + 3] = innerPoints[i * 2 + 1];\n }\n }\n star5Points = fitPolygonToSquare(star5Points);\n this.generatePolygon('star', star5Points);\n this.generatePolygon('vee', [-1, -1, 0, -0.333, 1, -1, 0, 1]);\n this.generatePolygon('rhomboid', [-1, -1, 0.333, -1, 1, 1, -0.333, 1]);\n this.generatePolygon('right-rhomboid', [-0.333, -1, 1, -1, 0.333, 1, -1, 1]);\n this.nodeShapes['concavehexagon'] = this.generatePolygon('concave-hexagon', [-1, -0.95, -0.75, 0, -1, 0.95, 1, 0.95, 0.75, 0, 1, -0.95]);\n {\n var tagPoints = [-1, -1, 0.25, -1, 1, 0, 0.25, 1, -1, 1];\n this.generatePolygon('tag', tagPoints);\n this.generateRoundPolygon('round-tag', tagPoints);\n }\n nodeShapes.makePolygon = function (points) {\n // use caching on user-specified polygons so they are as fast as native shapes\n\n var key = points.join('$');\n var name = 'polygon-' + key;\n var shape;\n if (shape = this[name]) {\n // got cached shape\n return shape;\n }\n\n // create and cache new shape\n return renderer.generatePolygon(name, points);\n };\n};\n\nvar BRp$1 = {};\nBRp$1.timeToRender = function () {\n return this.redrawTotalTime / this.redrawCount;\n};\nBRp$1.redraw = function (options) {\n options = options || staticEmptyObject();\n var r = this;\n if (r.averageRedrawTime === undefined) {\n r.averageRedrawTime = 0;\n }\n if (r.lastRedrawTime === undefined) {\n r.lastRedrawTime = 0;\n }\n if (r.lastDrawTime === undefined) {\n r.lastDrawTime = 0;\n }\n r.requestedFrame = true;\n r.renderOptions = options;\n};\nBRp$1.beforeRender = function (fn, priority) {\n // the renderer can't add tick callbacks when destroyed\n if (this.destroyed) {\n return;\n }\n if (priority == null) {\n error('Priority is not optional for beforeRender');\n }\n var cbs = this.beforeRenderCallbacks;\n cbs.push({\n fn: fn,\n priority: priority\n });\n\n // higher priority callbacks executed first\n cbs.sort(function (a, b) {\n return b.priority - a.priority;\n });\n};\nvar beforeRenderCallbacks = function beforeRenderCallbacks(r, willDraw, startTime) {\n var cbs = r.beforeRenderCallbacks;\n for (var i = 0; i < cbs.length; i++) {\n cbs[i].fn(willDraw, startTime);\n }\n};\nBRp$1.startRenderLoop = function () {\n var r = this;\n var cy = r.cy;\n if (r.renderLoopStarted) {\n return;\n } else {\n r.renderLoopStarted = true;\n }\n var _renderFn = function renderFn(requestTime) {\n if (r.destroyed) {\n return;\n }\n if (cy.batching()) ; else if (r.requestedFrame && !r.skipFrame) {\n beforeRenderCallbacks(r, true, requestTime);\n var startTime = performanceNow();\n r.render(r.renderOptions);\n var endTime = r.lastDrawTime = performanceNow();\n if (r.averageRedrawTime === undefined) {\n r.averageRedrawTime = endTime - startTime;\n }\n if (r.redrawCount === undefined) {\n r.redrawCount = 0;\n }\n r.redrawCount++;\n if (r.redrawTotalTime === undefined) {\n r.redrawTotalTime = 0;\n }\n var duration = endTime - startTime;\n r.redrawTotalTime += duration;\n r.lastRedrawTime = duration;\n\n // use a weighted average with a bias from the previous average so we don't spike so easily\n r.averageRedrawTime = r.averageRedrawTime / 2 + duration / 2;\n r.requestedFrame = false;\n } else {\n beforeRenderCallbacks(r, false, requestTime);\n }\n r.skipFrame = false;\n requestAnimationFrame(_renderFn);\n };\n requestAnimationFrame(_renderFn);\n};\n\nvar BaseRenderer = function BaseRenderer(options) {\n this.init(options);\n};\nvar BR = BaseRenderer;\nvar BRp = BR.prototype;\nBRp.clientFunctions = ['redrawHint', 'render', 'renderTo', 'matchCanvasSize', 'nodeShapeImpl', 'arrowShapeImpl'];\nBRp.init = function (options) {\n var r = this;\n r.options = options;\n r.cy = options.cy;\n var ctr = r.container = options.cy.container();\n var containerWindow = r.cy.window();\n\n // prepend a stylesheet in the head such that\n if (containerWindow) {\n var document = containerWindow.document;\n var head = document.head;\n var stylesheetId = '__________cytoscape_stylesheet';\n var className = '__________cytoscape_container';\n var stylesheetAlreadyExists = document.getElementById(stylesheetId) != null;\n if (ctr.className.indexOf(className) < 0) {\n ctr.className = (ctr.className || '') + ' ' + className;\n }\n if (!stylesheetAlreadyExists) {\n var stylesheet = document.createElement('style');\n stylesheet.id = stylesheetId;\n stylesheet.textContent = '.' + className + ' { position: relative; }';\n head.insertBefore(stylesheet, head.children[0]); // first so lowest priority\n }\n var computedStyle = containerWindow.getComputedStyle(ctr);\n var position = computedStyle.getPropertyValue('position');\n if (position === 'static') {\n warn('A Cytoscape container has style position:static and so can not use UI extensions properly');\n }\n }\n r.selection = [undefined, undefined, undefined, undefined, 0]; // Coordinates for selection box, plus enabled flag\n\n r.bezierProjPcts = [0.05, 0.225, 0.4, 0.5, 0.6, 0.775, 0.95];\n\n //--Pointer-related data\n r.hoverData = {\n down: null,\n last: null,\n downTime: null,\n triggerMode: null,\n dragging: false,\n initialPan: [null, null],\n capture: false\n };\n r.dragData = {\n possibleDragElements: []\n };\n r.touchData = {\n start: null,\n capture: false,\n // These 3 fields related to tap, taphold events\n startPosition: [null, null, null, null, null, null],\n singleTouchStartTime: null,\n singleTouchMoved: true,\n now: [null, null, null, null, null, null],\n earlier: [null, null, null, null, null, null]\n };\n r.redraws = 0;\n r.showFps = options.showFps;\n r.debug = options.debug;\n r.webgl = options.webgl;\n r.hideEdgesOnViewport = options.hideEdgesOnViewport;\n r.textureOnViewport = options.textureOnViewport;\n r.wheelSensitivity = options.wheelSensitivity;\n r.motionBlurEnabled = options.motionBlur; // on by default\n r.forcedPixelRatio = number$1(options.pixelRatio) ? options.pixelRatio : null;\n r.motionBlur = options.motionBlur; // for initial kick off\n r.motionBlurOpacity = options.motionBlurOpacity;\n r.motionBlurTransparency = 1 - r.motionBlurOpacity;\n r.motionBlurPxRatio = 1;\n r.mbPxRBlurry = 1; //0.8;\n r.minMbLowQualFrames = 4;\n r.fullQualityMb = false;\n r.clearedForMotionBlur = [];\n r.desktopTapThreshold = options.desktopTapThreshold;\n r.desktopTapThreshold2 = options.desktopTapThreshold * options.desktopTapThreshold;\n r.touchTapThreshold = options.touchTapThreshold;\n r.touchTapThreshold2 = options.touchTapThreshold * options.touchTapThreshold;\n r.tapholdDuration = 500;\n r.bindings = [];\n r.beforeRenderCallbacks = [];\n r.beforeRenderPriorities = {\n // higher priority execs before lower one\n animations: 400,\n eleCalcs: 300,\n eleTxrDeq: 200,\n lyrTxrDeq: 150,\n lyrTxrSkip: 100\n };\n r.registerNodeShapes();\n r.registerArrowShapes();\n r.registerCalculationListeners();\n};\nBRp.notify = function (eventName, eles) {\n var r = this;\n var cy = r.cy;\n\n // the renderer can't be notified after it's destroyed\n if (this.destroyed) {\n return;\n }\n if (eventName === 'init') {\n r.load();\n return;\n }\n if (eventName === 'destroy') {\n r.destroy();\n return;\n }\n if (eventName === 'add' || eventName === 'remove' || eventName === 'move' && cy.hasCompoundNodes() || eventName === 'load' || eventName === 'zorder' || eventName === 'mount') {\n r.invalidateCachedZSortedEles();\n }\n if (eventName === 'viewport') {\n r.redrawHint('select', true);\n }\n if (eventName === 'gc') {\n r.redrawHint('gc', true);\n }\n if (eventName === 'load' || eventName === 'resize' || eventName === 'mount') {\n r.invalidateContainerClientCoordsCache();\n r.matchCanvasSize(r.container);\n }\n r.redrawHint('eles', true);\n r.redrawHint('drag', true);\n this.startRenderLoop();\n this.redraw();\n};\nBRp.destroy = function () {\n var r = this;\n r.destroyed = true;\n r.cy.stopAnimationLoop();\n for (var i = 0; i < r.bindings.length; i++) {\n var binding = r.bindings[i];\n var b = binding;\n var tgt = b.target;\n (tgt.off || tgt.removeEventListener).apply(tgt, b.args);\n }\n r.bindings = [];\n r.beforeRenderCallbacks = [];\n r.onUpdateEleCalcsFns = [];\n if (r.removeObserver) {\n r.removeObserver.disconnect();\n }\n if (r.styleObserver) {\n r.styleObserver.disconnect();\n }\n if (r.resizeObserver) {\n r.resizeObserver.disconnect();\n }\n if (r.labelCalcDiv) {\n try {\n document.body.removeChild(r.labelCalcDiv); // eslint-disable-line no-undef\n } catch (e) {\n // ie10 issue #1014\n }\n }\n};\nBRp.isHeadless = function () {\n return false;\n};\n[BRp$f, BRp$5, BRp$4, BRp$3, BRp$2, BRp$1].forEach(function (props) {\n extend(BRp, props);\n});\n\nvar fullFpsTime = 1000 / 60; // assume 60 frames per second\n\nvar defs = {\n setupDequeueing: function setupDequeueing(opts) {\n return function setupDequeueingImpl() {\n var self = this;\n var r = this.renderer;\n if (self.dequeueingSetup) {\n return;\n } else {\n self.dequeueingSetup = true;\n }\n var queueRedraw = debounce(function () {\n r.redrawHint('eles', true);\n r.redrawHint('drag', true);\n r.redraw();\n }, opts.deqRedrawThreshold);\n var dequeue = function dequeue(willDraw, frameStartTime) {\n var startTime = performanceNow();\n var avgRenderTime = r.averageRedrawTime;\n var renderTime = r.lastRedrawTime;\n var deqd = [];\n var extent = r.cy.extent();\n var pixelRatio = r.getPixelRatio();\n\n // if we aren't in a tick that causes a draw, then the rendered style\n // queue won't automatically be flushed before dequeueing starts\n if (!willDraw) {\n r.flushRenderedStyleQueue();\n }\n while (true) {\n // eslint-disable-line no-constant-condition\n var now = performanceNow();\n var duration = now - startTime;\n var frameDuration = now - frameStartTime;\n if (renderTime < fullFpsTime) {\n // if we're rendering faster than the ideal fps, then do dequeueing\n // during all of the remaining frame time\n\n var timeAvailable = fullFpsTime - (willDraw ? avgRenderTime : 0);\n if (frameDuration >= opts.deqFastCost * timeAvailable) {\n break;\n }\n } else {\n if (willDraw) {\n if (duration >= opts.deqCost * renderTime || duration >= opts.deqAvgCost * avgRenderTime) {\n break;\n }\n } else if (frameDuration >= opts.deqNoDrawCost * fullFpsTime) {\n break;\n }\n }\n var thisDeqd = opts.deq(self, pixelRatio, extent);\n if (thisDeqd.length > 0) {\n for (var i = 0; i < thisDeqd.length; i++) {\n deqd.push(thisDeqd[i]);\n }\n } else {\n break;\n }\n }\n\n // callbacks on dequeue\n if (deqd.length > 0) {\n opts.onDeqd(self, deqd);\n if (!willDraw && opts.shouldRedraw(self, deqd, pixelRatio, extent)) {\n queueRedraw();\n }\n }\n };\n var priority = opts.priority || noop$1;\n r.beforeRender(dequeue, priority(self));\n };\n }\n};\n\n// Allows lookups for (ele, lvl) => cache.\n// Uses keys so elements may share the same cache.\nvar ElementTextureCacheLookup = /*#__PURE__*/function () {\n function ElementTextureCacheLookup(getKey) {\n var doesEleInvalidateKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : falsify;\n _classCallCheck(this, ElementTextureCacheLookup);\n this.idsByKey = new Map$1();\n this.keyForId = new Map$1();\n this.cachesByLvl = new Map$1();\n this.lvls = [];\n this.getKey = getKey;\n this.doesEleInvalidateKey = doesEleInvalidateKey;\n }\n return _createClass(ElementTextureCacheLookup, [{\n key: \"getIdsFor\",\n value: function getIdsFor(key) {\n if (key == null) {\n error(\"Can not get id list for null key\");\n }\n var idsByKey = this.idsByKey;\n var ids = this.idsByKey.get(key);\n if (!ids) {\n ids = new Set$1();\n idsByKey.set(key, ids);\n }\n return ids;\n }\n }, {\n key: \"addIdForKey\",\n value: function addIdForKey(key, id) {\n if (key != null) {\n this.getIdsFor(key).add(id);\n }\n }\n }, {\n key: \"deleteIdForKey\",\n value: function deleteIdForKey(key, id) {\n if (key != null) {\n this.getIdsFor(key)[\"delete\"](id);\n }\n }\n }, {\n key: \"getNumberOfIdsForKey\",\n value: function getNumberOfIdsForKey(key) {\n if (key == null) {\n return 0;\n } else {\n return this.getIdsFor(key).size;\n }\n }\n }, {\n key: \"updateKeyMappingFor\",\n value: function updateKeyMappingFor(ele) {\n var id = ele.id();\n var prevKey = this.keyForId.get(id);\n var currKey = this.getKey(ele);\n this.deleteIdForKey(prevKey, id);\n this.addIdForKey(currKey, id);\n this.keyForId.set(id, currKey);\n }\n }, {\n key: \"deleteKeyMappingFor\",\n value: function deleteKeyMappingFor(ele) {\n var id = ele.id();\n var prevKey = this.keyForId.get(id);\n this.deleteIdForKey(prevKey, id);\n this.keyForId[\"delete\"](id);\n }\n }, {\n key: \"keyHasChangedFor\",\n value: function keyHasChangedFor(ele) {\n var id = ele.id();\n var prevKey = this.keyForId.get(id);\n var newKey = this.getKey(ele);\n return prevKey !== newKey;\n }\n }, {\n key: \"isInvalid\",\n value: function isInvalid(ele) {\n return this.keyHasChangedFor(ele) || this.doesEleInvalidateKey(ele);\n }\n }, {\n key: \"getCachesAt\",\n value: function getCachesAt(lvl) {\n var cachesByLvl = this.cachesByLvl,\n lvls = this.lvls;\n var caches = cachesByLvl.get(lvl);\n if (!caches) {\n caches = new Map$1();\n cachesByLvl.set(lvl, caches);\n lvls.push(lvl);\n }\n return caches;\n }\n }, {\n key: \"getCache\",\n value: function getCache(key, lvl) {\n return this.getCachesAt(lvl).get(key);\n }\n }, {\n key: \"get\",\n value: function get(ele, lvl) {\n var key = this.getKey(ele);\n var cache = this.getCache(key, lvl);\n\n // getting for an element may need to add to the id list b/c eles can share keys\n if (cache != null) {\n this.updateKeyMappingFor(ele);\n }\n return cache;\n }\n }, {\n key: \"getForCachedKey\",\n value: function getForCachedKey(ele, lvl) {\n var key = this.keyForId.get(ele.id()); // n.b. use cached key, not newly computed key\n var cache = this.getCache(key, lvl);\n return cache;\n }\n }, {\n key: \"hasCache\",\n value: function hasCache(key, lvl) {\n return this.getCachesAt(lvl).has(key);\n }\n }, {\n key: \"has\",\n value: function has(ele, lvl) {\n var key = this.getKey(ele);\n return this.hasCache(key, lvl);\n }\n }, {\n key: \"setCache\",\n value: function setCache(key, lvl, cache) {\n cache.key = key;\n this.getCachesAt(lvl).set(key, cache);\n }\n }, {\n key: \"set\",\n value: function set(ele, lvl, cache) {\n var key = this.getKey(ele);\n this.setCache(key, lvl, cache);\n this.updateKeyMappingFor(ele);\n }\n }, {\n key: \"deleteCache\",\n value: function deleteCache(key, lvl) {\n this.getCachesAt(lvl)[\"delete\"](key);\n }\n }, {\n key: \"delete\",\n value: function _delete(ele, lvl) {\n var key = this.getKey(ele);\n this.deleteCache(key, lvl);\n }\n }, {\n key: \"invalidateKey\",\n value: function invalidateKey(key) {\n var _this = this;\n this.lvls.forEach(function (lvl) {\n return _this.deleteCache(key, lvl);\n });\n }\n\n // returns true if no other eles reference the invalidated cache (n.b. other eles may need the cache with the same key)\n }, {\n key: \"invalidate\",\n value: function invalidate(ele) {\n var id = ele.id();\n var key = this.keyForId.get(id); // n.b. use stored key rather than current (potential key)\n\n this.deleteKeyMappingFor(ele);\n var entireKeyInvalidated = this.doesEleInvalidateKey(ele);\n if (entireKeyInvalidated) {\n // clear mapping for current key\n this.invalidateKey(key);\n }\n return entireKeyInvalidated || this.getNumberOfIdsForKey(key) === 0;\n }\n }]);\n}();\n\nvar minTxrH = 25; // the size of the texture cache for small height eles (special case)\nvar txrStepH = 50; // the min size of the regular cache, and the size it increases with each step up\nvar minLvl$1 = -4; // when scaling smaller than that we don't need to re-render\nvar maxLvl$1 = 3; // when larger than this scale just render directly (caching is not helpful)\nvar maxZoom$1 = 7.99; // beyond this zoom level, layered textures are not used\nvar eleTxrSpacing = 8; // spacing between elements on textures to avoid blitting overlaps\nvar defTxrWidth = 1024; // default/minimum texture width\nvar maxTxrW = 1024; // the maximum width of a texture\nvar maxTxrH = 1024; // the maximum height of a texture\nvar minUtility = 0.2; // if usage of texture is less than this, it is retired\nvar maxFullness = 0.8; // fullness of texture after which queue removal is checked\nvar maxFullnessChecks = 10; // dequeued after this many checks\nvar deqCost$1 = 0.15; // % of add'l rendering cost allowed for dequeuing ele caches each frame\nvar deqAvgCost$1 = 0.1; // % of add'l rendering cost compared to average overall redraw time\nvar deqNoDrawCost$1 = 0.9; // % of avg frame time that can be used for dequeueing when not drawing\nvar deqFastCost$1 = 0.9; // % of frame time to be used when >60fps\nvar deqRedrawThreshold$1 = 100; // time to batch redraws together from dequeueing to allow more dequeueing calcs to happen in the meanwhile\nvar maxDeqSize$1 = 1; // number of eles to dequeue and render at higher texture in each batch\n\nvar getTxrReasons = {\n dequeue: 'dequeue',\n downscale: 'downscale',\n highQuality: 'highQuality'\n};\nvar initDefaults = defaults$g({\n getKey: null,\n doesEleInvalidateKey: falsify,\n drawElement: null,\n getBoundingBox: null,\n getRotationPoint: null,\n getRotationOffset: null,\n isVisible: trueify,\n allowEdgeTxrCaching: true,\n allowParentTxrCaching: true\n});\nvar ElementTextureCache = function ElementTextureCache(renderer, initOptions) {\n var self = this;\n self.renderer = renderer;\n self.onDequeues = [];\n var opts = initDefaults(initOptions);\n extend(self, opts);\n self.lookup = new ElementTextureCacheLookup(opts.getKey, opts.doesEleInvalidateKey);\n self.setupDequeueing();\n};\nvar ETCp = ElementTextureCache.prototype;\nETCp.reasons = getTxrReasons;\n\n// the list of textures in which new subtextures for elements can be placed\nETCp.getTextureQueue = function (txrH) {\n var self = this;\n self.eleImgCaches = self.eleImgCaches || {};\n return self.eleImgCaches[txrH] = self.eleImgCaches[txrH] || [];\n};\n\n// the list of usused textures which can be recycled (in use in texture queue)\nETCp.getRetiredTextureQueue = function (txrH) {\n var self = this;\n var rtxtrQs = self.eleImgCaches.retired = self.eleImgCaches.retired || {};\n var rtxtrQ = rtxtrQs[txrH] = rtxtrQs[txrH] || [];\n return rtxtrQ;\n};\n\n// queue of element draw requests at different scale levels\nETCp.getElementQueue = function () {\n var self = this;\n var q = self.eleCacheQueue = self.eleCacheQueue || new Heap(function (a, b) {\n return b.reqs - a.reqs;\n });\n return q;\n};\n\n// queue of element draw requests at different scale levels (element id lookup)\nETCp.getElementKeyToQueue = function () {\n var self = this;\n var k2q = self.eleKeyToCacheQueue = self.eleKeyToCacheQueue || {};\n return k2q;\n};\nETCp.getElement = function (ele, bb, pxRatio, lvl, reason) {\n var self = this;\n var r = this.renderer;\n var zoom = r.cy.zoom();\n var lookup = this.lookup;\n if (!bb || bb.w === 0 || bb.h === 0 || isNaN(bb.w) || isNaN(bb.h) || !ele.visible() || ele.removed()) {\n return null;\n }\n if (!self.allowEdgeTxrCaching && ele.isEdge() || !self.allowParentTxrCaching && ele.isParent()) {\n return null;\n }\n if (lvl == null) {\n lvl = Math.ceil(log2(zoom * pxRatio));\n }\n if (lvl < minLvl$1) {\n lvl = minLvl$1;\n } else if (zoom >= maxZoom$1 || lvl > maxLvl$1) {\n return null;\n }\n var scale = Math.pow(2, lvl);\n var eleScaledH = bb.h * scale;\n var eleScaledW = bb.w * scale;\n var scaledLabelShown = r.eleTextBiggerThanMin(ele, scale);\n if (!this.isVisible(ele, scaledLabelShown)) {\n return null;\n }\n var eleCache = lookup.get(ele, lvl);\n\n // if this get was on an unused/invalidated cache, then restore the texture usage metric\n if (eleCache && eleCache.invalidated) {\n eleCache.invalidated = false;\n eleCache.texture.invalidatedWidth -= eleCache.width;\n }\n if (eleCache) {\n return eleCache;\n }\n var txrH; // which texture height this ele belongs to\n\n if (eleScaledH <= minTxrH) {\n txrH = minTxrH;\n } else if (eleScaledH <= txrStepH) {\n txrH = txrStepH;\n } else {\n txrH = Math.ceil(eleScaledH / txrStepH) * txrStepH;\n }\n if (eleScaledH > maxTxrH || eleScaledW > maxTxrW) {\n return null; // caching large elements is not efficient\n }\n var txrQ = self.getTextureQueue(txrH);\n\n // first try the second last one in case it has space at the end\n var txr = txrQ[txrQ.length - 2];\n var addNewTxr = function addNewTxr() {\n return self.recycleTexture(txrH, eleScaledW) || self.addTexture(txrH, eleScaledW);\n };\n\n // try the last one if there is no second last one\n if (!txr) {\n txr = txrQ[txrQ.length - 1];\n }\n\n // if the last one doesn't exist, we need a first one\n if (!txr) {\n txr = addNewTxr();\n }\n\n // if there's no room in the current texture, we need a new one\n if (txr.width - txr.usedWidth < eleScaledW) {\n txr = addNewTxr();\n }\n var scalableFrom = function scalableFrom(otherCache) {\n return otherCache && otherCache.scaledLabelShown === scaledLabelShown;\n };\n var deqing = reason && reason === getTxrReasons.dequeue;\n var highQualityReq = reason && reason === getTxrReasons.highQuality;\n var downscaleReq = reason && reason === getTxrReasons.downscale;\n var higherCache; // the nearest cache with a higher level\n for (var l = lvl + 1; l <= maxLvl$1; l++) {\n var c = lookup.get(ele, l);\n if (c) {\n higherCache = c;\n break;\n }\n }\n var oneUpCache = higherCache && higherCache.level === lvl + 1 ? higherCache : null;\n var downscale = function downscale() {\n txr.context.drawImage(oneUpCache.texture.canvas, oneUpCache.x, 0, oneUpCache.width, oneUpCache.height, txr.usedWidth, 0, eleScaledW, eleScaledH);\n };\n\n // reset ele area in texture\n txr.context.setTransform(1, 0, 0, 1, 0, 0);\n txr.context.clearRect(txr.usedWidth, 0, eleScaledW, txrH);\n if (scalableFrom(oneUpCache)) {\n // then we can relatively cheaply rescale the existing image w/o rerendering\n downscale();\n } else if (scalableFrom(higherCache)) {\n // then use the higher cache for now and queue the next level down\n // to cheaply scale towards the smaller level\n\n if (highQualityReq) {\n for (var _l = higherCache.level; _l > lvl; _l--) {\n oneUpCache = self.getElement(ele, bb, pxRatio, _l, getTxrReasons.downscale);\n }\n downscale();\n } else {\n self.queueElement(ele, higherCache.level - 1);\n return higherCache;\n }\n } else {\n var lowerCache; // the nearest cache with a lower level\n if (!deqing && !highQualityReq && !downscaleReq) {\n for (var _l2 = lvl - 1; _l2 >= minLvl$1; _l2--) {\n var _c = lookup.get(ele, _l2);\n if (_c) {\n lowerCache = _c;\n break;\n }\n }\n }\n if (scalableFrom(lowerCache)) {\n // then use the lower quality cache for now and queue the better one for later\n\n self.queueElement(ele, lvl);\n return lowerCache;\n }\n txr.context.translate(txr.usedWidth, 0);\n txr.context.scale(scale, scale);\n this.drawElement(txr.context, ele, bb, scaledLabelShown, false);\n txr.context.scale(1 / scale, 1 / scale);\n txr.context.translate(-txr.usedWidth, 0);\n }\n eleCache = {\n x: txr.usedWidth,\n texture: txr,\n level: lvl,\n scale: scale,\n width: eleScaledW,\n height: eleScaledH,\n scaledLabelShown: scaledLabelShown\n };\n txr.usedWidth += Math.ceil(eleScaledW + eleTxrSpacing);\n txr.eleCaches.push(eleCache);\n lookup.set(ele, lvl, eleCache);\n self.checkTextureFullness(txr);\n return eleCache;\n};\nETCp.invalidateElements = function (eles) {\n for (var i = 0; i < eles.length; i++) {\n this.invalidateElement(eles[i]);\n }\n};\nETCp.invalidateElement = function (ele) {\n var self = this;\n var lookup = self.lookup;\n var caches = [];\n var invalid = lookup.isInvalid(ele);\n if (!invalid) {\n return; // override the invalidation request if the element key has not changed\n }\n for (var lvl = minLvl$1; lvl <= maxLvl$1; lvl++) {\n var cache = lookup.getForCachedKey(ele, lvl);\n if (cache) {\n caches.push(cache);\n }\n }\n var noOtherElesUseCache = lookup.invalidate(ele);\n if (noOtherElesUseCache) {\n for (var i = 0; i < caches.length; i++) {\n var _cache = caches[i];\n var txr = _cache.texture;\n\n // remove space from the texture it belongs to\n txr.invalidatedWidth += _cache.width;\n\n // mark the cache as invalidated\n _cache.invalidated = true;\n\n // retire the texture if its utility is low\n self.checkTextureUtility(txr);\n }\n }\n\n // remove from queue since the old req was for the old state\n self.removeFromQueue(ele);\n};\nETCp.checkTextureUtility = function (txr) {\n // invalidate all entries in the cache if the cache size is small\n if (txr.invalidatedWidth >= minUtility * txr.width) {\n this.retireTexture(txr);\n }\n};\nETCp.checkTextureFullness = function (txr) {\n // if texture has been mostly filled and passed over several times, remove\n // it from the queue so we don't need to waste time looking at it to put new things\n\n var self = this;\n var txrQ = self.getTextureQueue(txr.height);\n if (txr.usedWidth / txr.width > maxFullness && txr.fullnessChecks >= maxFullnessChecks) {\n removeFromArray(txrQ, txr);\n } else {\n txr.fullnessChecks++;\n }\n};\nETCp.retireTexture = function (txr) {\n var self = this;\n var txrH = txr.height;\n var txrQ = self.getTextureQueue(txrH);\n var lookup = this.lookup;\n\n // retire the texture from the active / searchable queue:\n\n removeFromArray(txrQ, txr);\n txr.retired = true;\n\n // remove the refs from the eles to the caches:\n\n var eleCaches = txr.eleCaches;\n for (var i = 0; i < eleCaches.length; i++) {\n var eleCache = eleCaches[i];\n lookup.deleteCache(eleCache.key, eleCache.level);\n }\n clearArray(eleCaches);\n\n // add the texture to a retired queue so it can be recycled in future:\n\n var rtxtrQ = self.getRetiredTextureQueue(txrH);\n rtxtrQ.push(txr);\n};\nETCp.addTexture = function (txrH, minW) {\n var self = this;\n var txrQ = self.getTextureQueue(txrH);\n var txr = {};\n txrQ.push(txr);\n txr.eleCaches = [];\n txr.height = txrH;\n txr.width = Math.max(defTxrWidth, minW);\n txr.usedWidth = 0;\n txr.invalidatedWidth = 0;\n txr.fullnessChecks = 0;\n txr.canvas = self.renderer.makeOffscreenCanvas(txr.width, txr.height);\n txr.context = txr.canvas.getContext('2d');\n return txr;\n};\nETCp.recycleTexture = function (txrH, minW) {\n var self = this;\n var txrQ = self.getTextureQueue(txrH);\n var rtxtrQ = self.getRetiredTextureQueue(txrH);\n for (var i = 0; i < rtxtrQ.length; i++) {\n var txr = rtxtrQ[i];\n if (txr.width >= minW) {\n txr.retired = false;\n txr.usedWidth = 0;\n txr.invalidatedWidth = 0;\n txr.fullnessChecks = 0;\n clearArray(txr.eleCaches);\n txr.context.setTransform(1, 0, 0, 1, 0, 0);\n txr.context.clearRect(0, 0, txr.width, txr.height);\n removeFromArray(rtxtrQ, txr);\n txrQ.push(txr);\n return txr;\n }\n }\n};\nETCp.queueElement = function (ele, lvl) {\n var self = this;\n var q = self.getElementQueue();\n var k2q = self.getElementKeyToQueue();\n var key = this.getKey(ele);\n var existingReq = k2q[key];\n if (existingReq) {\n // use the max lvl b/c in between lvls are cheap to make\n existingReq.level = Math.max(existingReq.level, lvl);\n existingReq.eles.merge(ele);\n existingReq.reqs++;\n q.updateItem(existingReq);\n } else {\n var req = {\n eles: ele.spawn().merge(ele),\n level: lvl,\n reqs: 1,\n key: key\n };\n q.push(req);\n k2q[key] = req;\n }\n};\nETCp.dequeue = function (pxRatio /*, extent*/) {\n var self = this;\n var q = self.getElementQueue();\n var k2q = self.getElementKeyToQueue();\n var dequeued = [];\n var lookup = self.lookup;\n for (var i = 0; i < maxDeqSize$1; i++) {\n if (q.size() > 0) {\n var req = q.pop();\n var key = req.key;\n var ele = req.eles[0]; // all eles have the same key\n var cacheExists = lookup.hasCache(ele, req.level);\n\n // clear out the key to req lookup\n k2q[key] = null;\n\n // dequeueing isn't necessary with an existing cache\n if (cacheExists) {\n continue;\n }\n dequeued.push(req);\n var bb = self.getBoundingBox(ele);\n self.getElement(ele, bb, pxRatio, req.level, getTxrReasons.dequeue);\n } else {\n break;\n }\n }\n return dequeued;\n};\nETCp.removeFromQueue = function (ele) {\n var self = this;\n var q = self.getElementQueue();\n var k2q = self.getElementKeyToQueue();\n var key = this.getKey(ele);\n var req = k2q[key];\n if (req != null) {\n if (req.eles.length === 1) {\n // remove if last ele in the req\n // bring to front of queue\n req.reqs = MAX_INT$1;\n q.updateItem(req);\n q.pop(); // remove from queue\n\n k2q[key] = null; // remove from lookup map\n } else {\n // otherwise just remove ele from req\n req.eles.unmerge(ele);\n }\n }\n};\nETCp.onDequeue = function (fn) {\n this.onDequeues.push(fn);\n};\nETCp.offDequeue = function (fn) {\n removeFromArray(this.onDequeues, fn);\n};\nETCp.setupDequeueing = defs.setupDequeueing({\n deqRedrawThreshold: deqRedrawThreshold$1,\n deqCost: deqCost$1,\n deqAvgCost: deqAvgCost$1,\n deqNoDrawCost: deqNoDrawCost$1,\n deqFastCost: deqFastCost$1,\n deq: function deq(self, pxRatio, extent) {\n return self.dequeue(pxRatio, extent);\n },\n onDeqd: function onDeqd(self, deqd) {\n for (var i = 0; i < self.onDequeues.length; i++) {\n var fn = self.onDequeues[i];\n fn(deqd);\n }\n },\n shouldRedraw: function shouldRedraw(self, deqd, pxRatio, extent) {\n for (var i = 0; i < deqd.length; i++) {\n var eles = deqd[i].eles;\n for (var j = 0; j < eles.length; j++) {\n var bb = eles[j].boundingBox();\n if (boundingBoxesIntersect(bb, extent)) {\n return true;\n }\n }\n }\n return false;\n },\n priority: function priority(self) {\n return self.renderer.beforeRenderPriorities.eleTxrDeq;\n }\n});\n\nvar defNumLayers = 1; // default number of layers to use\nvar minLvl = -4; // when scaling smaller than that we don't need to re-render\nvar maxLvl = 2; // when larger than this scale just render directly (caching is not helpful)\nvar maxZoom = 3.99; // beyond this zoom level, layered textures are not used\nvar deqRedrawThreshold = 50; // time to batch redraws together from dequeueing to allow more dequeueing calcs to happen in the meanwhile\nvar refineEleDebounceTime = 50; // time to debounce sharper ele texture updates\nvar deqCost = 0.15; // % of add'l rendering cost allowed for dequeuing ele caches each frame\nvar deqAvgCost = 0.1; // % of add'l rendering cost compared to average overall redraw time\nvar deqNoDrawCost = 0.9; // % of avg frame time that can be used for dequeueing when not drawing\nvar deqFastCost = 0.9; // % of frame time to be used when >60fps\nvar maxDeqSize = 1; // number of eles to dequeue and render at higher texture in each batch\nvar invalidThreshold = 250; // time threshold for disabling b/c of invalidations\nvar maxLayerArea = 4000 * 4000; // layers can't be bigger than this\nvar maxLayerDim = 32767; // maximum size for the width/height of layer canvases\nvar useHighQualityEleTxrReqs = true; // whether to use high quality ele txr requests (generally faster and cheaper in the longterm)\n\n// var log = function(){ console.log.apply( console, arguments ); };\n\nvar LayeredTextureCache = function LayeredTextureCache(renderer) {\n var self = this;\n var r = self.renderer = renderer;\n var cy = r.cy;\n self.layersByLevel = {}; // e.g. 2 => [ layer1, layer2, ..., layerN ]\n\n self.firstGet = true;\n self.lastInvalidationTime = performanceNow() - 2 * invalidThreshold;\n self.skipping = false;\n self.eleTxrDeqs = cy.collection();\n self.scheduleElementRefinement = debounce(function () {\n self.refineElementTextures(self.eleTxrDeqs);\n self.eleTxrDeqs.unmerge(self.eleTxrDeqs);\n }, refineEleDebounceTime);\n r.beforeRender(function (willDraw, now) {\n if (now - self.lastInvalidationTime <= invalidThreshold) {\n self.skipping = true;\n } else {\n self.skipping = false;\n }\n }, r.beforeRenderPriorities.lyrTxrSkip);\n var qSort = function qSort(a, b) {\n return b.reqs - a.reqs;\n };\n self.layersQueue = new Heap(qSort);\n self.setupDequeueing();\n};\nvar LTCp = LayeredTextureCache.prototype;\nvar layerIdPool = 0;\nvar MAX_INT = Math.pow(2, 53) - 1;\nLTCp.makeLayer = function (bb, lvl) {\n var scale = Math.pow(2, lvl);\n var w = Math.ceil(bb.w * scale);\n var h = Math.ceil(bb.h * scale);\n var canvas = this.renderer.makeOffscreenCanvas(w, h);\n var layer = {\n id: layerIdPool = ++layerIdPool % MAX_INT,\n bb: bb,\n level: lvl,\n width: w,\n height: h,\n canvas: canvas,\n context: canvas.getContext('2d'),\n eles: [],\n elesQueue: [],\n reqs: 0\n };\n\n // log('make layer %s with w %s and h %s and lvl %s', layer.id, layer.width, layer.height, layer.level);\n\n var cxt = layer.context;\n var dx = -layer.bb.x1;\n var dy = -layer.bb.y1;\n\n // do the transform on creation to save cycles (it's the same for all eles)\n cxt.scale(scale, scale);\n cxt.translate(dx, dy);\n return layer;\n};\nLTCp.getLayers = function (eles, pxRatio, lvl) {\n var self = this;\n var r = self.renderer;\n var cy = r.cy;\n var zoom = cy.zoom();\n var firstGet = self.firstGet;\n self.firstGet = false;\n\n // log('--\\nget layers with %s eles', eles.length);\n //log eles.map(function(ele){ return ele.id() }) );\n\n if (lvl == null) {\n lvl = Math.ceil(log2(zoom * pxRatio));\n if (lvl < minLvl) {\n lvl = minLvl;\n } else if (zoom >= maxZoom || lvl > maxLvl) {\n return null;\n }\n }\n self.validateLayersElesOrdering(lvl, eles);\n var layersByLvl = self.layersByLevel;\n var scale = Math.pow(2, lvl);\n var layers = layersByLvl[lvl] = layersByLvl[lvl] || [];\n var bb;\n var lvlComplete = self.levelIsComplete(lvl, eles);\n var tmpLayers;\n var checkTempLevels = function checkTempLevels() {\n var canUseAsTmpLvl = function canUseAsTmpLvl(l) {\n self.validateLayersElesOrdering(l, eles);\n if (self.levelIsComplete(l, eles)) {\n tmpLayers = layersByLvl[l];\n return true;\n }\n };\n var checkLvls = function checkLvls(dir) {\n if (tmpLayers) {\n return;\n }\n for (var l = lvl + dir; minLvl <= l && l <= maxLvl; l += dir) {\n if (canUseAsTmpLvl(l)) {\n break;\n }\n }\n };\n checkLvls(1);\n checkLvls(-1);\n\n // remove the invalid layers; they will be replaced as needed later in this function\n for (var i = layers.length - 1; i >= 0; i--) {\n var layer = layers[i];\n if (layer.invalid) {\n removeFromArray(layers, layer);\n }\n }\n };\n if (!lvlComplete) {\n // if the current level is incomplete, then use the closest, best quality layerset temporarily\n // and later queue the current layerset so we can get the proper quality level soon\n\n checkTempLevels();\n } else {\n // log('level complete, using existing layers\\n--');\n return layers;\n }\n var getBb = function getBb() {\n if (!bb) {\n bb = makeBoundingBox();\n for (var i = 0; i < eles.length; i++) {\n updateBoundingBox(bb, eles[i].boundingBox());\n }\n }\n return bb;\n };\n var makeLayer = function makeLayer(opts) {\n opts = opts || {};\n var after = opts.after;\n getBb();\n var w = Math.ceil(bb.w * scale);\n var h = Math.ceil(bb.h * scale);\n if (w > maxLayerDim || h > maxLayerDim) {\n return null;\n }\n var area = w * h;\n if (area > maxLayerArea) {\n return null;\n }\n var layer = self.makeLayer(bb, lvl);\n if (after != null) {\n var index = layers.indexOf(after) + 1;\n layers.splice(index, 0, layer);\n } else if (opts.insert === undefined || opts.insert) {\n // no after specified => first layer made so put at start\n layers.unshift(layer);\n }\n\n // if( tmpLayers ){\n //self.queueLayer( layer );\n // }\n\n return layer;\n };\n if (self.skipping && !firstGet) {\n // log('skip layers');\n return null;\n }\n\n // log('do layers');\n\n var layer = null;\n var maxElesPerLayer = eles.length / defNumLayers;\n var allowLazyQueueing = !firstGet;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n var rs = ele._private.rscratch;\n var caches = rs.imgLayerCaches = rs.imgLayerCaches || {};\n\n // log('look at ele', ele.id());\n\n var existingLayer = caches[lvl];\n if (existingLayer) {\n // reuse layer for later eles\n // log('reuse layer for', ele.id());\n layer = existingLayer;\n continue;\n }\n if (!layer || layer.eles.length >= maxElesPerLayer || !boundingBoxInBoundingBox(layer.bb, ele.boundingBox())) {\n // log('make new layer for ele %s', ele.id());\n\n layer = makeLayer({\n insert: true,\n after: layer\n });\n\n // if now layer can be built then we can't use layers at this level\n if (!layer) {\n return null;\n }\n\n // log('new layer with id %s', layer.id);\n }\n if (tmpLayers || allowLazyQueueing) {\n // log('queue ele %s in layer %s', ele.id(), layer.id);\n self.queueLayer(layer, ele);\n } else {\n // log('draw ele %s in layer %s', ele.id(), layer.id);\n self.drawEleInLayer(layer, ele, lvl, pxRatio);\n }\n layer.eles.push(ele);\n caches[lvl] = layer;\n }\n\n // log('--');\n\n if (tmpLayers) {\n // then we only queued the current layerset and can't draw it yet\n return tmpLayers;\n }\n if (allowLazyQueueing) {\n // log('lazy queue level', lvl);\n return null;\n }\n return layers;\n};\n\n// a layer may want to use an ele cache of a higher level to avoid blurriness\n// so the layer level might not equal the ele level\nLTCp.getEleLevelForLayerLevel = function (lvl, pxRatio) {\n return lvl;\n};\nLTCp.drawEleInLayer = function (layer, ele, lvl, pxRatio) {\n var self = this;\n var r = this.renderer;\n var context = layer.context;\n var bb = ele.boundingBox();\n if (bb.w === 0 || bb.h === 0 || !ele.visible()) {\n return;\n }\n lvl = self.getEleLevelForLayerLevel(lvl, pxRatio);\n {\n r.setImgSmoothing(context, false);\n }\n {\n r.drawCachedElement(context, ele, null, null, lvl, useHighQualityEleTxrReqs);\n }\n {\n r.setImgSmoothing(context, true);\n }\n};\nLTCp.levelIsComplete = function (lvl, eles) {\n var self = this;\n var layers = self.layersByLevel[lvl];\n if (!layers || layers.length === 0) {\n return false;\n }\n var numElesInLayers = 0;\n for (var i = 0; i < layers.length; i++) {\n var layer = layers[i];\n\n // if there are any eles needed to be drawn yet, the level is not complete\n if (layer.reqs > 0) {\n return false;\n }\n\n // if the layer is invalid, the level is not complete\n if (layer.invalid) {\n return false;\n }\n numElesInLayers += layer.eles.length;\n }\n\n // we should have exactly the number of eles passed in to be complete\n if (numElesInLayers !== eles.length) {\n return false;\n }\n return true;\n};\nLTCp.validateLayersElesOrdering = function (lvl, eles) {\n var layers = this.layersByLevel[lvl];\n if (!layers) {\n return;\n }\n\n // if in a layer the eles are not in the same order, then the layer is invalid\n // (i.e. there is an ele in between the eles in the layer)\n\n for (var i = 0; i < layers.length; i++) {\n var layer = layers[i];\n var offset = -1;\n\n // find the offset\n for (var j = 0; j < eles.length; j++) {\n if (layer.eles[0] === eles[j]) {\n offset = j;\n break;\n }\n }\n if (offset < 0) {\n // then the layer has nonexistent elements and is invalid\n this.invalidateLayer(layer);\n continue;\n }\n\n // the eles in the layer must be in the same continuous order, else the layer is invalid\n\n var o = offset;\n for (var j = 0; j < layer.eles.length; j++) {\n if (layer.eles[j] !== eles[o + j]) {\n // log('invalidate based on ordering', layer.id);\n\n this.invalidateLayer(layer);\n break;\n }\n }\n }\n};\nLTCp.updateElementsInLayers = function (eles, update) {\n var self = this;\n var isEles = element(eles[0]);\n\n // collect udpated elements (cascaded from the layers) and update each\n // layer itself along the way\n for (var i = 0; i < eles.length; i++) {\n var req = isEles ? null : eles[i];\n var ele = isEles ? eles[i] : eles[i].ele;\n var rs = ele._private.rscratch;\n var caches = rs.imgLayerCaches = rs.imgLayerCaches || {};\n for (var l = minLvl; l <= maxLvl; l++) {\n var layer = caches[l];\n if (!layer) {\n continue;\n }\n\n // if update is a request from the ele cache, then it affects only\n // the matching level\n if (req && self.getEleLevelForLayerLevel(layer.level) !== req.level) {\n continue;\n }\n update(layer, ele, req);\n }\n }\n};\nLTCp.haveLayers = function () {\n var self = this;\n var haveLayers = false;\n for (var l = minLvl; l <= maxLvl; l++) {\n var layers = self.layersByLevel[l];\n if (layers && layers.length > 0) {\n haveLayers = true;\n break;\n }\n }\n return haveLayers;\n};\nLTCp.invalidateElements = function (eles) {\n var self = this;\n if (eles.length === 0) {\n return;\n }\n self.lastInvalidationTime = performanceNow();\n\n // log('update invalidate layer time from eles');\n\n if (eles.length === 0 || !self.haveLayers()) {\n return;\n }\n self.updateElementsInLayers(eles, function invalAssocLayers(layer, ele, req) {\n self.invalidateLayer(layer);\n });\n};\nLTCp.invalidateLayer = function (layer) {\n // log('update invalidate layer time');\n\n this.lastInvalidationTime = performanceNow();\n if (layer.invalid) {\n return;\n } // save cycles\n\n var lvl = layer.level;\n var eles = layer.eles;\n var layers = this.layersByLevel[lvl];\n\n // log('invalidate layer', layer.id );\n\n removeFromArray(layers, layer);\n // layer.eles = [];\n\n layer.elesQueue = [];\n layer.invalid = true;\n if (layer.replacement) {\n layer.replacement.invalid = true;\n }\n for (var i = 0; i < eles.length; i++) {\n var caches = eles[i]._private.rscratch.imgLayerCaches;\n if (caches) {\n caches[lvl] = null;\n }\n }\n};\nLTCp.refineElementTextures = function (eles) {\n var self = this;\n\n // log('refine', eles.length);\n\n self.updateElementsInLayers(eles, function refineEachEle(layer, ele, req) {\n var rLyr = layer.replacement;\n if (!rLyr) {\n rLyr = layer.replacement = self.makeLayer(layer.bb, layer.level);\n rLyr.replaces = layer;\n rLyr.eles = layer.eles;\n\n // log('make replacement layer %s for %s with level %s', rLyr.id, layer.id, rLyr.level);\n }\n if (!rLyr.reqs) {\n for (var i = 0; i < rLyr.eles.length; i++) {\n self.queueLayer(rLyr, rLyr.eles[i]);\n }\n\n // log('queue replacement layer refinement', rLyr.id);\n }\n });\n};\nLTCp.enqueueElementRefinement = function (ele) {\n this.eleTxrDeqs.merge(ele);\n this.scheduleElementRefinement();\n};\nLTCp.queueLayer = function (layer, ele) {\n var self = this;\n var q = self.layersQueue;\n var elesQ = layer.elesQueue;\n var hasId = elesQ.hasId = elesQ.hasId || {};\n\n // if a layer is going to be replaced, queuing is a waste of time\n if (layer.replacement) {\n return;\n }\n if (ele) {\n if (hasId[ele.id()]) {\n return;\n }\n elesQ.push(ele);\n hasId[ele.id()] = true;\n }\n if (layer.reqs) {\n layer.reqs++;\n q.updateItem(layer);\n } else {\n layer.reqs = 1;\n q.push(layer);\n }\n};\nLTCp.dequeue = function (pxRatio) {\n var self = this;\n var q = self.layersQueue;\n var deqd = [];\n var eleDeqs = 0;\n while (eleDeqs < maxDeqSize) {\n if (q.size() === 0) {\n break;\n }\n var layer = q.peek();\n\n // if a layer has been or will be replaced, then don't waste time with it\n if (layer.replacement) {\n // log('layer %s in queue skipped b/c it already has a replacement', layer.id);\n q.pop();\n continue;\n }\n\n // if this is a replacement layer that has been superceded, then forget it\n if (layer.replaces && layer !== layer.replaces.replacement) {\n // log('layer is no longer the most uptodate replacement; dequeued', layer.id)\n q.pop();\n continue;\n }\n if (layer.invalid) {\n // log('replacement layer %s is invalid; dequeued', layer.id);\n q.pop();\n continue;\n }\n var ele = layer.elesQueue.shift();\n if (ele) {\n // log('dequeue layer %s', layer.id);\n\n self.drawEleInLayer(layer, ele, layer.level, pxRatio);\n eleDeqs++;\n }\n if (deqd.length === 0) {\n // we need only one entry in deqd to queue redrawing etc\n deqd.push(true);\n }\n\n // if the layer has all its eles done, then remove from the queue\n if (layer.elesQueue.length === 0) {\n q.pop();\n layer.reqs = 0;\n\n // log('dequeue of layer %s complete', layer.id);\n\n // when a replacement layer is dequeued, it replaces the old layer in the level\n if (layer.replaces) {\n self.applyLayerReplacement(layer);\n }\n self.requestRedraw();\n }\n }\n return deqd;\n};\nLTCp.applyLayerReplacement = function (layer) {\n var self = this;\n var layersInLevel = self.layersByLevel[layer.level];\n var replaced = layer.replaces;\n var index = layersInLevel.indexOf(replaced);\n\n // if the replaced layer is not in the active list for the level, then replacing\n // refs would be a mistake (i.e. overwriting the true active layer)\n if (index < 0 || replaced.invalid) {\n // log('replacement layer would have no effect', layer.id);\n return;\n }\n layersInLevel[index] = layer; // replace level ref\n\n // replace refs in eles\n for (var i = 0; i < layer.eles.length; i++) {\n var _p = layer.eles[i]._private;\n var cache = _p.imgLayerCaches = _p.imgLayerCaches || {};\n if (cache) {\n cache[layer.level] = layer;\n }\n }\n\n // log('apply replacement layer %s over %s', layer.id, replaced.id);\n\n self.requestRedraw();\n};\nLTCp.requestRedraw = debounce(function () {\n var r = this.renderer;\n r.redrawHint('eles', true);\n r.redrawHint('drag', true);\n r.redraw();\n}, 100);\nLTCp.setupDequeueing = defs.setupDequeueing({\n deqRedrawThreshold: deqRedrawThreshold,\n deqCost: deqCost,\n deqAvgCost: deqAvgCost,\n deqNoDrawCost: deqNoDrawCost,\n deqFastCost: deqFastCost,\n deq: function deq(self, pxRatio) {\n return self.dequeue(pxRatio);\n },\n onDeqd: noop$1,\n shouldRedraw: trueify,\n priority: function priority(self) {\n return self.renderer.beforeRenderPriorities.lyrTxrDeq;\n }\n});\n\nvar CRp$b = {};\nvar impl;\nfunction polygon(context, points) {\n for (var i = 0; i < points.length; i++) {\n var pt = points[i];\n context.lineTo(pt.x, pt.y);\n }\n}\nfunction triangleBackcurve(context, points, controlPoint) {\n var firstPt;\n for (var i = 0; i < points.length; i++) {\n var pt = points[i];\n if (i === 0) {\n firstPt = pt;\n }\n context.lineTo(pt.x, pt.y);\n }\n context.quadraticCurveTo(controlPoint.x, controlPoint.y, firstPt.x, firstPt.y);\n}\nfunction triangleTee(context, trianglePoints, teePoints) {\n if (context.beginPath) {\n context.beginPath();\n }\n var triPts = trianglePoints;\n for (var i = 0; i < triPts.length; i++) {\n var pt = triPts[i];\n context.lineTo(pt.x, pt.y);\n }\n var teePts = teePoints;\n var firstTeePt = teePoints[0];\n context.moveTo(firstTeePt.x, firstTeePt.y);\n for (var i = 1; i < teePts.length; i++) {\n var pt = teePts[i];\n context.lineTo(pt.x, pt.y);\n }\n if (context.closePath) {\n context.closePath();\n }\n}\nfunction circleTriangle(context, trianglePoints, rx, ry, r) {\n if (context.beginPath) {\n context.beginPath();\n }\n context.arc(rx, ry, r, 0, Math.PI * 2, false);\n var triPts = trianglePoints;\n var firstTrPt = triPts[0];\n context.moveTo(firstTrPt.x, firstTrPt.y);\n for (var i = 0; i < triPts.length; i++) {\n var pt = triPts[i];\n context.lineTo(pt.x, pt.y);\n }\n if (context.closePath) {\n context.closePath();\n }\n}\nfunction circle(context, rx, ry, r) {\n context.arc(rx, ry, r, 0, Math.PI * 2, false);\n}\nCRp$b.arrowShapeImpl = function (name) {\n return (impl || (impl = {\n 'polygon': polygon,\n 'triangle-backcurve': triangleBackcurve,\n 'triangle-tee': triangleTee,\n 'circle-triangle': circleTriangle,\n 'triangle-cross': triangleTee,\n 'circle': circle\n }))[name];\n};\n\nvar CRp$a = {};\nCRp$a.drawElement = function (context, ele, shiftToOriginWithBb, showLabel, showOverlay, showOpacity) {\n var r = this;\n if (ele.isNode()) {\n r.drawNode(context, ele, shiftToOriginWithBb, showLabel, showOverlay, showOpacity);\n } else {\n r.drawEdge(context, ele, shiftToOriginWithBb, showLabel, showOverlay, showOpacity);\n }\n};\nCRp$a.drawElementOverlay = function (context, ele) {\n var r = this;\n if (ele.isNode()) {\n r.drawNodeOverlay(context, ele);\n } else {\n r.drawEdgeOverlay(context, ele);\n }\n};\nCRp$a.drawElementUnderlay = function (context, ele) {\n var r = this;\n if (ele.isNode()) {\n r.drawNodeUnderlay(context, ele);\n } else {\n r.drawEdgeUnderlay(context, ele);\n }\n};\nCRp$a.drawCachedElementPortion = function (context, ele, eleTxrCache, pxRatio, lvl, reason, getRotation, getOpacity) {\n var r = this;\n var bb = eleTxrCache.getBoundingBox(ele);\n if (bb.w === 0 || bb.h === 0) {\n return;\n } // ignore zero size case\n\n var eleCache = eleTxrCache.getElement(ele, bb, pxRatio, lvl, reason);\n if (eleCache != null) {\n var opacity = getOpacity(r, ele);\n if (opacity === 0) {\n return;\n }\n var theta = getRotation(r, ele);\n var x1 = bb.x1,\n y1 = bb.y1,\n w = bb.w,\n h = bb.h;\n var x, y, sx, sy, smooth;\n if (theta !== 0) {\n var rotPt = eleTxrCache.getRotationPoint(ele);\n sx = rotPt.x;\n sy = rotPt.y;\n context.translate(sx, sy);\n context.rotate(theta);\n smooth = r.getImgSmoothing(context);\n if (!smooth) {\n r.setImgSmoothing(context, true);\n }\n var off = eleTxrCache.getRotationOffset(ele);\n x = off.x;\n y = off.y;\n } else {\n x = x1;\n y = y1;\n }\n var oldGlobalAlpha;\n if (opacity !== 1) {\n oldGlobalAlpha = context.globalAlpha;\n context.globalAlpha = oldGlobalAlpha * opacity;\n }\n context.drawImage(eleCache.texture.canvas, eleCache.x, 0, eleCache.width, eleCache.height, x, y, w, h);\n if (opacity !== 1) {\n context.globalAlpha = oldGlobalAlpha;\n }\n if (theta !== 0) {\n context.rotate(-theta);\n context.translate(-sx, -sy);\n if (!smooth) {\n r.setImgSmoothing(context, false);\n }\n }\n } else {\n eleTxrCache.drawElement(context, ele); // direct draw fallback\n }\n};\nvar getZeroRotation = function getZeroRotation() {\n return 0;\n};\nvar getLabelRotation = function getLabelRotation(r, ele) {\n return r.getTextAngle(ele, null);\n};\nvar getSourceLabelRotation = function getSourceLabelRotation(r, ele) {\n return r.getTextAngle(ele, 'source');\n};\nvar getTargetLabelRotation = function getTargetLabelRotation(r, ele) {\n return r.getTextAngle(ele, 'target');\n};\nvar getOpacity = function getOpacity(r, ele) {\n return ele.effectiveOpacity();\n};\nvar getTextOpacity = function getTextOpacity(e, ele) {\n return ele.pstyle('text-opacity').pfValue * ele.effectiveOpacity();\n};\nCRp$a.drawCachedElement = function (context, ele, pxRatio, extent, lvl, requestHighQuality) {\n var r = this;\n var _r$data = r.data,\n eleTxrCache = _r$data.eleTxrCache,\n lblTxrCache = _r$data.lblTxrCache,\n slbTxrCache = _r$data.slbTxrCache,\n tlbTxrCache = _r$data.tlbTxrCache;\n var bb = ele.boundingBox();\n var reason = requestHighQuality === true ? eleTxrCache.reasons.highQuality : null;\n if (bb.w === 0 || bb.h === 0 || !ele.visible()) {\n return;\n }\n if (!extent || boundingBoxesIntersect(bb, extent)) {\n var isEdge = ele.isEdge();\n var badLine = ele.element()._private.rscratch.badLine;\n r.drawElementUnderlay(context, ele);\n r.drawCachedElementPortion(context, ele, eleTxrCache, pxRatio, lvl, reason, getZeroRotation, getOpacity);\n if (!isEdge || !badLine) {\n r.drawCachedElementPortion(context, ele, lblTxrCache, pxRatio, lvl, reason, getLabelRotation, getTextOpacity);\n }\n if (isEdge && !badLine) {\n r.drawCachedElementPortion(context, ele, slbTxrCache, pxRatio, lvl, reason, getSourceLabelRotation, getTextOpacity);\n r.drawCachedElementPortion(context, ele, tlbTxrCache, pxRatio, lvl, reason, getTargetLabelRotation, getTextOpacity);\n }\n r.drawElementOverlay(context, ele);\n }\n};\nCRp$a.drawElements = function (context, eles) {\n var r = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n r.drawElement(context, ele);\n }\n};\nCRp$a.drawCachedElements = function (context, eles, pxRatio, extent) {\n var r = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n r.drawCachedElement(context, ele, pxRatio, extent);\n }\n};\nCRp$a.drawCachedNodes = function (context, eles, pxRatio, extent) {\n var r = this;\n for (var i = 0; i < eles.length; i++) {\n var ele = eles[i];\n if (!ele.isNode()) {\n continue;\n }\n r.drawCachedElement(context, ele, pxRatio, extent);\n }\n};\nCRp$a.drawLayeredElements = function (context, eles, pxRatio, extent) {\n var r = this;\n var layers = r.data.lyrTxrCache.getLayers(eles, pxRatio);\n if (layers) {\n for (var i = 0; i < layers.length; i++) {\n var layer = layers[i];\n var bb = layer.bb;\n if (bb.w === 0 || bb.h === 0) {\n continue;\n }\n context.drawImage(layer.canvas, bb.x1, bb.y1, bb.w, bb.h);\n }\n } else {\n // fall back on plain caching if no layers\n r.drawCachedElements(context, eles, pxRatio, extent);\n }\n};\n\nvar CRp$9 = {};\nCRp$9.drawEdge = function (context, edge, shiftToOriginWithBb) {\n var drawLabel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var shouldDrawOverlay = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var shouldDrawOpacity = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;\n var r = this;\n var rs = edge._private.rscratch;\n if (shouldDrawOpacity && !edge.visible()) {\n return;\n }\n\n // if bezier ctrl pts can not be calculated, then die\n if (rs.badLine || rs.allpts == null || isNaN(rs.allpts[0])) {\n // isNaN in case edge is impossible and browser bugs (e.g. safari)\n return;\n }\n var bb;\n if (shiftToOriginWithBb) {\n bb = shiftToOriginWithBb;\n context.translate(-bb.x1, -bb.y1);\n }\n var opacity = shouldDrawOpacity ? edge.pstyle('opacity').value : 1;\n var lineOpacity = shouldDrawOpacity ? edge.pstyle('line-opacity').value : 1;\n var curveStyle = edge.pstyle('curve-style').value;\n var lineStyle = edge.pstyle('line-style').value;\n var edgeWidth = edge.pstyle('width').pfValue;\n var lineCap = edge.pstyle('line-cap').value;\n var lineOutlineWidth = edge.pstyle('line-outline-width').value;\n var lineOutlineColor = edge.pstyle('line-outline-color').value;\n var effectiveLineOpacity = opacity * lineOpacity;\n // separate arrow opacity would require arrow-opacity property\n var effectiveArrowOpacity = opacity * lineOpacity;\n var drawLine = function drawLine() {\n var strokeOpacity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : effectiveLineOpacity;\n if (curveStyle === 'straight-triangle') {\n r.eleStrokeStyle(context, edge, strokeOpacity);\n r.drawEdgeTrianglePath(edge, context, rs.allpts);\n } else {\n context.lineWidth = edgeWidth;\n context.lineCap = lineCap;\n r.eleStrokeStyle(context, edge, strokeOpacity);\n r.drawEdgePath(edge, context, rs.allpts, lineStyle);\n context.lineCap = 'butt'; // reset for other drawing functions\n }\n };\n var drawLineOutline = function drawLineOutline() {\n var strokeOpacity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : effectiveLineOpacity;\n context.lineWidth = edgeWidth + lineOutlineWidth;\n context.lineCap = lineCap;\n if (lineOutlineWidth > 0) {\n r.colorStrokeStyle(context, lineOutlineColor[0], lineOutlineColor[1], lineOutlineColor[2], strokeOpacity);\n } else {\n // do not draw any lineOutline\n context.lineCap = 'butt'; // reset for other drawing functions\n return;\n }\n if (curveStyle === 'straight-triangle') {\n r.drawEdgeTrianglePath(edge, context, rs.allpts);\n } else {\n r.drawEdgePath(edge, context, rs.allpts, lineStyle);\n context.lineCap = 'butt'; // reset for other drawing functions\n }\n };\n var drawOverlay = function drawOverlay() {\n if (!shouldDrawOverlay) {\n return;\n }\n r.drawEdgeOverlay(context, edge);\n };\n var drawUnderlay = function drawUnderlay() {\n if (!shouldDrawOverlay) {\n return;\n }\n r.drawEdgeUnderlay(context, edge);\n };\n var drawArrows = function drawArrows() {\n var arrowOpacity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : effectiveArrowOpacity;\n r.drawArrowheads(context, edge, arrowOpacity);\n };\n var drawText = function drawText() {\n r.drawElementText(context, edge, null, drawLabel);\n };\n context.lineJoin = 'round';\n var ghost = edge.pstyle('ghost').value === 'yes';\n if (ghost) {\n var gx = edge.pstyle('ghost-offset-x').pfValue;\n var gy = edge.pstyle('ghost-offset-y').pfValue;\n var ghostOpacity = edge.pstyle('ghost-opacity').value;\n var effectiveGhostOpacity = effectiveLineOpacity * ghostOpacity;\n context.translate(gx, gy);\n drawLine(effectiveGhostOpacity);\n drawArrows(effectiveGhostOpacity);\n context.translate(-gx, -gy);\n } else {\n drawLineOutline();\n }\n drawUnderlay();\n drawLine();\n drawArrows();\n drawOverlay();\n drawText();\n if (shiftToOriginWithBb) {\n context.translate(bb.x1, bb.y1);\n }\n};\nvar drawEdgeOverlayUnderlay = function drawEdgeOverlayUnderlay(overlayOrUnderlay) {\n if (!['overlay', 'underlay'].includes(overlayOrUnderlay)) {\n throw new Error('Invalid state');\n }\n return function (context, edge) {\n if (!edge.visible()) {\n return;\n }\n var opacity = edge.pstyle(\"\".concat(overlayOrUnderlay, \"-opacity\")).value;\n if (opacity === 0) {\n return;\n }\n var r = this;\n var usePaths = r.usePaths();\n var rs = edge._private.rscratch;\n var padding = edge.pstyle(\"\".concat(overlayOrUnderlay, \"-padding\")).pfValue;\n var width = 2 * padding;\n var color = edge.pstyle(\"\".concat(overlayOrUnderlay, \"-color\")).value;\n context.lineWidth = width;\n if (rs.edgeType === 'self' && !usePaths) {\n context.lineCap = 'butt';\n } else {\n context.lineCap = 'round';\n }\n r.colorStrokeStyle(context, color[0], color[1], color[2], opacity);\n r.drawEdgePath(edge, context, rs.allpts, 'solid');\n };\n};\nCRp$9.drawEdgeOverlay = drawEdgeOverlayUnderlay('overlay');\nCRp$9.drawEdgeUnderlay = drawEdgeOverlayUnderlay('underlay');\nCRp$9.drawEdgePath = function (edge, context, pts, type) {\n var rs = edge._private.rscratch;\n var canvasCxt = context;\n var path;\n var pathCacheHit = false;\n var usePaths = this.usePaths();\n var lineDashPattern = edge.pstyle('line-dash-pattern').pfValue;\n var lineDashOffset = edge.pstyle('line-dash-offset').pfValue;\n if (usePaths) {\n var pathCacheKey = pts.join('$');\n var keyMatches = rs.pathCacheKey && rs.pathCacheKey === pathCacheKey;\n if (keyMatches) {\n path = context = rs.pathCache;\n pathCacheHit = true;\n } else {\n path = context = new Path2D();\n rs.pathCacheKey = pathCacheKey;\n rs.pathCache = path;\n }\n }\n if (canvasCxt.setLineDash) {\n // for very outofdate browsers\n switch (type) {\n case 'dotted':\n canvasCxt.setLineDash([1, 1]);\n break;\n case 'dashed':\n canvasCxt.setLineDash(lineDashPattern);\n canvasCxt.lineDashOffset = lineDashOffset;\n break;\n case 'solid':\n canvasCxt.setLineDash([]);\n break;\n }\n }\n if (!pathCacheHit && !rs.badLine) {\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(pts[0], pts[1]);\n switch (rs.edgeType) {\n case 'bezier':\n case 'self':\n case 'compound':\n case 'multibezier':\n for (var i = 2; i + 3 < pts.length; i += 4) {\n context.quadraticCurveTo(pts[i], pts[i + 1], pts[i + 2], pts[i + 3]);\n }\n break;\n case 'straight':\n case 'haystack':\n for (var _i = 2; _i + 1 < pts.length; _i += 2) {\n context.lineTo(pts[_i], pts[_i + 1]);\n }\n break;\n case 'segments':\n if (rs.isRound) {\n var _iterator = _createForOfIteratorHelper(rs.roundCorners),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var corner = _step.value;\n drawPreparedRoundCorner(context, corner);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n context.lineTo(pts[pts.length - 2], pts[pts.length - 1]);\n } else {\n for (var _i2 = 2; _i2 + 1 < pts.length; _i2 += 2) {\n context.lineTo(pts[_i2], pts[_i2 + 1]);\n }\n }\n break;\n }\n }\n context = canvasCxt;\n if (usePaths) {\n context.stroke(path);\n } else {\n context.stroke();\n }\n\n // reset any line dashes\n if (context.setLineDash) {\n // for very outofdate browsers\n context.setLineDash([]);\n }\n};\nCRp$9.drawEdgeTrianglePath = function (edge, context, pts) {\n // use line stroke style for triangle fill style\n context.fillStyle = context.strokeStyle;\n var edgeWidth = edge.pstyle('width').pfValue;\n for (var i = 0; i + 1 < pts.length; i += 2) {\n var vector = [pts[i + 2] - pts[i], pts[i + 3] - pts[i + 1]];\n var length = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1]);\n var normal = [vector[1] / length, -vector[0] / length];\n var triangleHead = [normal[0] * edgeWidth / 2, normal[1] * edgeWidth / 2];\n context.beginPath();\n context.moveTo(pts[i] - triangleHead[0], pts[i + 1] - triangleHead[1]);\n context.lineTo(pts[i] + triangleHead[0], pts[i + 1] + triangleHead[1]);\n context.lineTo(pts[i + 2], pts[i + 3]);\n context.closePath();\n context.fill();\n }\n};\nCRp$9.drawArrowheads = function (context, edge, opacity) {\n var rs = edge._private.rscratch;\n var isHaystack = rs.edgeType === 'haystack';\n if (!isHaystack) {\n this.drawArrowhead(context, edge, 'source', rs.arrowStartX, rs.arrowStartY, rs.srcArrowAngle, opacity);\n }\n this.drawArrowhead(context, edge, 'mid-target', rs.midX, rs.midY, rs.midtgtArrowAngle, opacity);\n this.drawArrowhead(context, edge, 'mid-source', rs.midX, rs.midY, rs.midsrcArrowAngle, opacity);\n if (!isHaystack) {\n this.drawArrowhead(context, edge, 'target', rs.arrowEndX, rs.arrowEndY, rs.tgtArrowAngle, opacity);\n }\n};\nCRp$9.drawArrowhead = function (context, edge, prefix, x, y, angle, opacity) {\n if (isNaN(x) || x == null || isNaN(y) || y == null || isNaN(angle) || angle == null) {\n return;\n }\n var self = this;\n var arrowShape = edge.pstyle(prefix + '-arrow-shape').value;\n if (arrowShape === 'none') {\n return;\n }\n var arrowClearFill = edge.pstyle(prefix + '-arrow-fill').value === 'hollow' ? 'both' : 'filled';\n var arrowFill = edge.pstyle(prefix + '-arrow-fill').value;\n var edgeWidth = edge.pstyle('width').pfValue;\n var pArrowWidth = edge.pstyle(prefix + '-arrow-width');\n var arrowWidth = pArrowWidth.value === 'match-line' ? edgeWidth : pArrowWidth.pfValue;\n if (pArrowWidth.units === '%') arrowWidth *= edgeWidth;\n var edgeOpacity = edge.pstyle('opacity').value;\n if (opacity === undefined) {\n opacity = edgeOpacity;\n }\n var gco = context.globalCompositeOperation;\n if (opacity !== 1 || arrowFill === 'hollow') {\n // then extra clear is needed\n context.globalCompositeOperation = 'destination-out';\n self.colorFillStyle(context, 255, 255, 255, 1);\n self.colorStrokeStyle(context, 255, 255, 255, 1);\n self.drawArrowShape(edge, context, arrowClearFill, edgeWidth, arrowShape, arrowWidth, x, y, angle);\n context.globalCompositeOperation = gco;\n } // otherwise, the opaque arrow clears it for free :)\n\n var color = edge.pstyle(prefix + '-arrow-color').value;\n self.colorFillStyle(context, color[0], color[1], color[2], opacity);\n self.colorStrokeStyle(context, color[0], color[1], color[2], opacity);\n self.drawArrowShape(edge, context, arrowFill, edgeWidth, arrowShape, arrowWidth, x, y, angle);\n};\nCRp$9.drawArrowShape = function (edge, context, fill, edgeWidth, shape, shapeWidth, x, y, angle) {\n var r = this;\n var usePaths = this.usePaths() && shape !== 'triangle-cross';\n var pathCacheHit = false;\n var path;\n var canvasContext = context;\n var translation = {\n x: x,\n y: y\n };\n var scale = edge.pstyle('arrow-scale').value;\n var size = this.getArrowWidth(edgeWidth, scale);\n var shapeImpl = r.arrowShapes[shape];\n if (usePaths) {\n var cache = r.arrowPathCache = r.arrowPathCache || [];\n var key = hashString(shape);\n var cachedPath = cache[key];\n if (cachedPath != null) {\n path = context = cachedPath;\n pathCacheHit = true;\n } else {\n path = context = new Path2D();\n cache[key] = path;\n }\n }\n if (!pathCacheHit) {\n if (context.beginPath) {\n context.beginPath();\n }\n if (usePaths) {\n // store in the path cache with values easily manipulated later\n shapeImpl.draw(context, 1, 0, {\n x: 0,\n y: 0\n }, 1);\n } else {\n shapeImpl.draw(context, size, angle, translation, edgeWidth);\n }\n if (context.closePath) {\n context.closePath();\n }\n }\n context = canvasContext;\n if (usePaths) {\n // set transform to arrow position/orientation\n context.translate(x, y);\n context.rotate(angle);\n context.scale(size, size);\n }\n if (fill === 'filled' || fill === 'both') {\n if (usePaths) {\n context.fill(path);\n } else {\n context.fill();\n }\n }\n if (fill === 'hollow' || fill === 'both') {\n context.lineWidth = shapeWidth / (usePaths ? size : 1);\n context.lineJoin = 'miter';\n if (usePaths) {\n context.stroke(path);\n } else {\n context.stroke();\n }\n }\n if (usePaths) {\n // reset transform by applying inverse\n context.scale(1 / size, 1 / size);\n context.rotate(-angle);\n context.translate(-x, -y);\n }\n};\n\nvar CRp$8 = {};\nCRp$8.safeDrawImage = function (context, img, ix, iy, iw, ih, x, y, w, h) {\n // detect problematic cases for old browsers with bad images (cheaper than try-catch)\n if (iw <= 0 || ih <= 0 || w <= 0 || h <= 0) {\n return;\n }\n try {\n context.drawImage(img, ix, iy, iw, ih, x, y, w, h);\n } catch (e) {\n warn(e);\n }\n};\nCRp$8.drawInscribedImage = function (context, img, node, index, nodeOpacity) {\n var r = this;\n var pos = node.position();\n var nodeX = pos.x;\n var nodeY = pos.y;\n var styleObj = node.cy().style();\n var getIndexedStyle = styleObj.getIndexedStyle.bind(styleObj);\n var fit = getIndexedStyle(node, 'background-fit', 'value', index);\n var repeat = getIndexedStyle(node, 'background-repeat', 'value', index);\n var nodeW = node.width();\n var nodeH = node.height();\n var paddingX2 = node.padding() * 2;\n var nodeTW = nodeW + (getIndexedStyle(node, 'background-width-relative-to', 'value', index) === 'inner' ? 0 : paddingX2);\n var nodeTH = nodeH + (getIndexedStyle(node, 'background-height-relative-to', 'value', index) === 'inner' ? 0 : paddingX2);\n var rs = node._private.rscratch;\n var clip = getIndexedStyle(node, 'background-clip', 'value', index);\n var shouldClip = clip === 'node';\n var imgOpacity = getIndexedStyle(node, 'background-image-opacity', 'value', index) * nodeOpacity;\n var smooth = getIndexedStyle(node, 'background-image-smoothing', 'value', index);\n var cornerRadius = node.pstyle('corner-radius').value;\n if (cornerRadius !== 'auto') cornerRadius = node.pstyle('corner-radius').pfValue;\n var imgW = img.width || img.cachedW;\n var imgH = img.height || img.cachedH;\n\n // workaround for broken browsers like ie\n if (null == imgW || null == imgH) {\n document.body.appendChild(img); // eslint-disable-line no-undef\n\n imgW = img.cachedW = img.width || img.offsetWidth;\n imgH = img.cachedH = img.height || img.offsetHeight;\n document.body.removeChild(img); // eslint-disable-line no-undef\n }\n var w = imgW;\n var h = imgH;\n if (getIndexedStyle(node, 'background-width', 'value', index) !== 'auto') {\n if (getIndexedStyle(node, 'background-width', 'units', index) === '%') {\n w = getIndexedStyle(node, 'background-width', 'pfValue', index) * nodeTW;\n } else {\n w = getIndexedStyle(node, 'background-width', 'pfValue', index);\n }\n }\n if (getIndexedStyle(node, 'background-height', 'value', index) !== 'auto') {\n if (getIndexedStyle(node, 'background-height', 'units', index) === '%') {\n h = getIndexedStyle(node, 'background-height', 'pfValue', index) * nodeTH;\n } else {\n h = getIndexedStyle(node, 'background-height', 'pfValue', index);\n }\n }\n if (w === 0 || h === 0) {\n return; // no point in drawing empty image (and chrome is broken in this case)\n }\n if (fit === 'contain') {\n var scale = Math.min(nodeTW / w, nodeTH / h);\n w *= scale;\n h *= scale;\n } else if (fit === 'cover') {\n var scale = Math.max(nodeTW / w, nodeTH / h);\n w *= scale;\n h *= scale;\n }\n var x = nodeX - nodeTW / 2; // left\n var posXUnits = getIndexedStyle(node, 'background-position-x', 'units', index);\n var posXPfVal = getIndexedStyle(node, 'background-position-x', 'pfValue', index);\n if (posXUnits === '%') {\n x += (nodeTW - w) * posXPfVal;\n } else {\n x += posXPfVal;\n }\n var offXUnits = getIndexedStyle(node, 'background-offset-x', 'units', index);\n var offXPfVal = getIndexedStyle(node, 'background-offset-x', 'pfValue', index);\n if (offXUnits === '%') {\n x += (nodeTW - w) * offXPfVal;\n } else {\n x += offXPfVal;\n }\n var y = nodeY - nodeTH / 2; // top\n var posYUnits = getIndexedStyle(node, 'background-position-y', 'units', index);\n var posYPfVal = getIndexedStyle(node, 'background-position-y', 'pfValue', index);\n if (posYUnits === '%') {\n y += (nodeTH - h) * posYPfVal;\n } else {\n y += posYPfVal;\n }\n var offYUnits = getIndexedStyle(node, 'background-offset-y', 'units', index);\n var offYPfVal = getIndexedStyle(node, 'background-offset-y', 'pfValue', index);\n if (offYUnits === '%') {\n y += (nodeTH - h) * offYPfVal;\n } else {\n y += offYPfVal;\n }\n if (rs.pathCache) {\n x -= nodeX;\n y -= nodeY;\n nodeX = 0;\n nodeY = 0;\n }\n var gAlpha = context.globalAlpha;\n context.globalAlpha = imgOpacity;\n var smoothingEnabled = r.getImgSmoothing(context);\n var isSmoothingSwitched = false;\n if (smooth === 'no' && smoothingEnabled) {\n r.setImgSmoothing(context, false);\n isSmoothingSwitched = true;\n } else if (smooth === 'yes' && !smoothingEnabled) {\n r.setImgSmoothing(context, true);\n isSmoothingSwitched = true;\n }\n if (repeat === 'no-repeat') {\n if (shouldClip) {\n context.save();\n if (rs.pathCache) {\n context.clip(rs.pathCache);\n } else {\n r.nodeShapes[r.getNodeShape(node)].draw(context, nodeX, nodeY, nodeTW, nodeTH, cornerRadius, rs);\n context.clip();\n }\n }\n r.safeDrawImage(context, img, 0, 0, imgW, imgH, x, y, w, h);\n if (shouldClip) {\n context.restore();\n }\n } else {\n var pattern = context.createPattern(img, repeat);\n context.fillStyle = pattern;\n r.nodeShapes[r.getNodeShape(node)].draw(context, nodeX, nodeY, nodeTW, nodeTH, cornerRadius, rs);\n context.translate(x, y);\n context.fill();\n context.translate(-x, -y);\n }\n context.globalAlpha = gAlpha;\n if (isSmoothingSwitched) {\n r.setImgSmoothing(context, smoothingEnabled);\n }\n};\n\nvar CRp$7 = {};\nCRp$7.eleTextBiggerThanMin = function (ele, scale) {\n if (!scale) {\n var zoom = ele.cy().zoom();\n var pxRatio = this.getPixelRatio();\n var lvl = Math.ceil(log2(zoom * pxRatio)); // the effective texture level\n\n scale = Math.pow(2, lvl);\n }\n var computedSize = ele.pstyle('font-size').pfValue * scale;\n var minSize = ele.pstyle('min-zoomed-font-size').pfValue;\n if (computedSize < minSize) {\n return false;\n }\n return true;\n};\nCRp$7.drawElementText = function (context, ele, shiftToOriginWithBb, force, prefix) {\n var useEleOpacity = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;\n var r = this;\n if (force == null) {\n if (useEleOpacity && !r.eleTextBiggerThanMin(ele)) {\n return;\n }\n } else if (force === false) {\n return;\n }\n if (ele.isNode()) {\n var label = ele.pstyle('label');\n if (!label || !label.value) {\n return;\n }\n var justification = r.getLabelJustification(ele);\n context.textAlign = justification;\n context.textBaseline = 'bottom';\n } else {\n var badLine = ele.element()._private.rscratch.badLine;\n var _label = ele.pstyle('label');\n var srcLabel = ele.pstyle('source-label');\n var tgtLabel = ele.pstyle('target-label');\n if (badLine || (!_label || !_label.value) && (!srcLabel || !srcLabel.value) && (!tgtLabel || !tgtLabel.value)) {\n return;\n }\n context.textAlign = 'center';\n context.textBaseline = 'bottom';\n }\n var applyRotation = !shiftToOriginWithBb;\n var bb;\n if (shiftToOriginWithBb) {\n bb = shiftToOriginWithBb;\n context.translate(-bb.x1, -bb.y1);\n }\n if (prefix == null) {\n r.drawText(context, ele, null, applyRotation, useEleOpacity);\n if (ele.isEdge()) {\n r.drawText(context, ele, 'source', applyRotation, useEleOpacity);\n r.drawText(context, ele, 'target', applyRotation, useEleOpacity);\n }\n } else {\n r.drawText(context, ele, prefix, applyRotation, useEleOpacity);\n }\n if (shiftToOriginWithBb) {\n context.translate(bb.x1, bb.y1);\n }\n};\nCRp$7.getFontCache = function (context) {\n var cache;\n this.fontCaches = this.fontCaches || [];\n for (var i = 0; i < this.fontCaches.length; i++) {\n cache = this.fontCaches[i];\n if (cache.context === context) {\n return cache;\n }\n }\n cache = {\n context: context\n };\n this.fontCaches.push(cache);\n return cache;\n};\n\n// set up canvas context with font\n// returns transformed text string\nCRp$7.setupTextStyle = function (context, ele) {\n var useEleOpacity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // Font style\n var labelStyle = ele.pstyle('font-style').strValue;\n var labelSize = ele.pstyle('font-size').pfValue + 'px';\n var labelFamily = ele.pstyle('font-family').strValue;\n var labelWeight = ele.pstyle('font-weight').strValue;\n var opacity = useEleOpacity ? ele.effectiveOpacity() * ele.pstyle('text-opacity').value : 1;\n var outlineOpacity = ele.pstyle('text-outline-opacity').value * opacity;\n var color = ele.pstyle('color').value;\n var outlineColor = ele.pstyle('text-outline-color').value;\n context.font = labelStyle + ' ' + labelWeight + ' ' + labelSize + ' ' + labelFamily;\n context.lineJoin = 'round'; // so text outlines aren't jagged\n\n this.colorFillStyle(context, color[0], color[1], color[2], opacity);\n this.colorStrokeStyle(context, outlineColor[0], outlineColor[1], outlineColor[2], outlineOpacity);\n};\n\n// TODO ensure re-used\nfunction roundRect(ctx, x, y, width, height) {\n var radius = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 5;\n var stroke = arguments.length > 6 ? arguments[6] : undefined;\n ctx.beginPath();\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n ctx.closePath();\n if (stroke) ctx.stroke();else ctx.fill();\n}\nCRp$7.getTextAngle = function (ele, prefix) {\n var theta;\n var _p = ele._private;\n var rscratch = _p.rscratch;\n var pdash = prefix ? prefix + '-' : '';\n var rotation = ele.pstyle(pdash + 'text-rotation');\n if (rotation.strValue === 'autorotate') {\n var textAngle = getPrefixedProperty(rscratch, 'labelAngle', prefix);\n theta = ele.isEdge() ? textAngle : 0;\n } else if (rotation.strValue === 'none') {\n theta = 0;\n } else {\n theta = rotation.pfValue;\n }\n return theta;\n};\nCRp$7.drawText = function (context, ele, prefix) {\n var applyRotation = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var useEleOpacity = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var _p = ele._private;\n var rscratch = _p.rscratch;\n var parentOpacity = useEleOpacity ? ele.effectiveOpacity() : 1;\n if (useEleOpacity && (parentOpacity === 0 || ele.pstyle('text-opacity').value === 0)) {\n return;\n }\n\n // use 'main' as an alias for the main label (i.e. null prefix)\n if (prefix === 'main') {\n prefix = null;\n }\n var textX = getPrefixedProperty(rscratch, 'labelX', prefix);\n var textY = getPrefixedProperty(rscratch, 'labelY', prefix);\n var orgTextX, orgTextY; // used for rotation\n var text = this.getLabelText(ele, prefix);\n if (text != null && text !== '' && !isNaN(textX) && !isNaN(textY)) {\n this.setupTextStyle(context, ele, useEleOpacity);\n var pdash = prefix ? prefix + '-' : '';\n var textW = getPrefixedProperty(rscratch, 'labelWidth', prefix);\n var textH = getPrefixedProperty(rscratch, 'labelHeight', prefix);\n var marginX = ele.pstyle(pdash + 'text-margin-x').pfValue;\n var marginY = ele.pstyle(pdash + 'text-margin-y').pfValue;\n var isEdge = ele.isEdge();\n var halign = ele.pstyle('text-halign').value;\n var valign = ele.pstyle('text-valign').value;\n if (isEdge) {\n halign = 'center';\n valign = 'center';\n }\n textX += marginX;\n textY += marginY;\n var theta;\n if (!applyRotation) {\n theta = 0;\n } else {\n theta = this.getTextAngle(ele, prefix);\n }\n if (theta !== 0) {\n orgTextX = textX;\n orgTextY = textY;\n context.translate(orgTextX, orgTextY);\n context.rotate(theta);\n textX = 0;\n textY = 0;\n }\n switch (valign) {\n case 'top':\n break;\n case 'center':\n textY += textH / 2;\n break;\n case 'bottom':\n textY += textH;\n break;\n }\n var backgroundOpacity = ele.pstyle('text-background-opacity').value;\n var borderOpacity = ele.pstyle('text-border-opacity').value;\n var textBorderWidth = ele.pstyle('text-border-width').pfValue;\n var backgroundPadding = ele.pstyle('text-background-padding').pfValue;\n var styleShape = ele.pstyle('text-background-shape').strValue;\n var rounded = styleShape.indexOf('round') === 0;\n var roundRadius = 2;\n if (backgroundOpacity > 0 || textBorderWidth > 0 && borderOpacity > 0) {\n var bgX = textX - backgroundPadding;\n switch (halign) {\n case 'left':\n bgX -= textW;\n break;\n case 'center':\n bgX -= textW / 2;\n break;\n }\n var bgY = textY - textH - backgroundPadding;\n var bgW = textW + 2 * backgroundPadding;\n var bgH = textH + 2 * backgroundPadding;\n if (backgroundOpacity > 0) {\n var textFill = context.fillStyle;\n var textBackgroundColor = ele.pstyle('text-background-color').value;\n context.fillStyle = 'rgba(' + textBackgroundColor[0] + ',' + textBackgroundColor[1] + ',' + textBackgroundColor[2] + ',' + backgroundOpacity * parentOpacity + ')';\n if (rounded) {\n roundRect(context, bgX, bgY, bgW, bgH, roundRadius);\n } else {\n context.fillRect(bgX, bgY, bgW, bgH);\n }\n context.fillStyle = textFill;\n }\n if (textBorderWidth > 0 && borderOpacity > 0) {\n var textStroke = context.strokeStyle;\n var textLineWidth = context.lineWidth;\n var textBorderColor = ele.pstyle('text-border-color').value;\n var textBorderStyle = ele.pstyle('text-border-style').value;\n context.strokeStyle = 'rgba(' + textBorderColor[0] + ',' + textBorderColor[1] + ',' + textBorderColor[2] + ',' + borderOpacity * parentOpacity + ')';\n context.lineWidth = textBorderWidth;\n if (context.setLineDash) {\n // for very outofdate browsers\n switch (textBorderStyle) {\n case 'dotted':\n context.setLineDash([1, 1]);\n break;\n case 'dashed':\n context.setLineDash([4, 2]);\n break;\n case 'double':\n context.lineWidth = textBorderWidth / 4; // 50% reserved for white between the two borders\n context.setLineDash([]);\n break;\n case 'solid':\n context.setLineDash([]);\n break;\n }\n }\n if (rounded) {\n roundRect(context, bgX, bgY, bgW, bgH, roundRadius, 'stroke');\n } else {\n context.strokeRect(bgX, bgY, bgW, bgH);\n }\n if (textBorderStyle === 'double') {\n var whiteWidth = textBorderWidth / 2;\n if (rounded) {\n roundRect(context, bgX + whiteWidth, bgY + whiteWidth, bgW - whiteWidth * 2, bgH - whiteWidth * 2, roundRadius, 'stroke');\n } else {\n context.strokeRect(bgX + whiteWidth, bgY + whiteWidth, bgW - whiteWidth * 2, bgH - whiteWidth * 2);\n }\n }\n if (context.setLineDash) {\n // for very outofdate browsers\n context.setLineDash([]);\n }\n context.lineWidth = textLineWidth;\n context.strokeStyle = textStroke;\n }\n }\n var lineWidth = 2 * ele.pstyle('text-outline-width').pfValue; // *2 b/c the stroke is drawn centred on the middle\n\n if (lineWidth > 0) {\n context.lineWidth = lineWidth;\n }\n if (ele.pstyle('text-wrap').value === 'wrap') {\n var lines = getPrefixedProperty(rscratch, 'labelWrapCachedLines', prefix);\n var lineHeight = getPrefixedProperty(rscratch, 'labelLineHeight', prefix);\n var halfTextW = textW / 2;\n var justification = this.getLabelJustification(ele);\n if (justification === 'auto') ; else if (halign === 'left') {\n // auto justification : right\n if (justification === 'left') {\n textX += -textW;\n } else if (justification === 'center') {\n textX += -halfTextW;\n } // else same as auto\n } else if (halign === 'center') {\n // auto justfication : center\n if (justification === 'left') {\n textX += -halfTextW;\n } else if (justification === 'right') {\n textX += halfTextW;\n } // else same as auto\n } else if (halign === 'right') {\n // auto justification : left\n if (justification === 'center') {\n textX += halfTextW;\n } else if (justification === 'right') {\n textX += textW;\n } // else same as auto\n }\n switch (valign) {\n case 'top':\n textY -= (lines.length - 1) * lineHeight;\n break;\n case 'center':\n case 'bottom':\n textY -= (lines.length - 1) * lineHeight;\n break;\n }\n for (var l = 0; l < lines.length; l++) {\n if (lineWidth > 0) {\n context.strokeText(lines[l], textX, textY);\n }\n context.fillText(lines[l], textX, textY);\n textY += lineHeight;\n }\n } else {\n if (lineWidth > 0) {\n context.strokeText(text, textX, textY);\n }\n context.fillText(text, textX, textY);\n }\n if (theta !== 0) {\n context.rotate(-theta);\n context.translate(-orgTextX, -orgTextY);\n }\n }\n};\n\n/* global Path2D */\n\nvar CRp$6 = {};\nCRp$6.drawNode = function (context, node, shiftToOriginWithBb) {\n var drawLabel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var shouldDrawOverlay = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var shouldDrawOpacity = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;\n var r = this;\n var nodeWidth, nodeHeight;\n var _p = node._private;\n var rs = _p.rscratch;\n var pos = node.position();\n if (!number$1(pos.x) || !number$1(pos.y)) {\n return; // can't draw node with undefined position\n }\n if (shouldDrawOpacity && !node.visible()) {\n return;\n }\n var eleOpacity = shouldDrawOpacity ? node.effectiveOpacity() : 1;\n var usePaths = r.usePaths();\n var path;\n var pathCacheHit = false;\n var padding = node.padding();\n nodeWidth = node.width() + 2 * padding;\n nodeHeight = node.height() + 2 * padding;\n\n //\n // setup shift\n\n var bb;\n if (shiftToOriginWithBb) {\n bb = shiftToOriginWithBb;\n context.translate(-bb.x1, -bb.y1);\n }\n\n //\n // load bg image\n\n var bgImgProp = node.pstyle('background-image');\n var urls = bgImgProp.value;\n var urlDefined = new Array(urls.length);\n var image = new Array(urls.length);\n var numImages = 0;\n for (var i = 0; i < urls.length; i++) {\n var url = urls[i];\n var defd = urlDefined[i] = url != null && url !== 'none';\n if (defd) {\n var bgImgCrossOrigin = node.cy().style().getIndexedStyle(node, 'background-image-crossorigin', 'value', i);\n numImages++;\n\n // get image, and if not loaded then ask to redraw when later loaded\n image[i] = r.getCachedImage(url, bgImgCrossOrigin, function () {\n _p.backgroundTimestamp = Date.now();\n node.emitAndNotify('background');\n });\n }\n }\n\n //\n // setup styles\n\n var darkness = node.pstyle('background-blacken').value;\n var borderWidth = node.pstyle('border-width').pfValue;\n var bgOpacity = node.pstyle('background-opacity').value * eleOpacity;\n var borderColor = node.pstyle('border-color').value;\n var borderStyle = node.pstyle('border-style').value;\n var borderJoin = node.pstyle('border-join').value;\n var borderCap = node.pstyle('border-cap').value;\n var borderPosition = node.pstyle('border-position').value;\n var borderPattern = node.pstyle('border-dash-pattern').pfValue;\n var borderOffset = node.pstyle('border-dash-offset').pfValue;\n var borderOpacity = node.pstyle('border-opacity').value * eleOpacity;\n var outlineWidth = node.pstyle('outline-width').pfValue;\n var outlineColor = node.pstyle('outline-color').value;\n var outlineStyle = node.pstyle('outline-style').value;\n var outlineOpacity = node.pstyle('outline-opacity').value * eleOpacity;\n var outlineOffset = node.pstyle('outline-offset').value;\n var cornerRadius = node.pstyle('corner-radius').value;\n if (cornerRadius !== 'auto') cornerRadius = node.pstyle('corner-radius').pfValue;\n var setupShapeColor = function setupShapeColor() {\n var bgOpy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : bgOpacity;\n r.eleFillStyle(context, node, bgOpy);\n };\n var setupBorderColor = function setupBorderColor() {\n var bdrOpy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : borderOpacity;\n r.colorStrokeStyle(context, borderColor[0], borderColor[1], borderColor[2], bdrOpy);\n };\n var setupOutlineColor = function setupOutlineColor() {\n var otlnOpy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : outlineOpacity;\n r.colorStrokeStyle(context, outlineColor[0], outlineColor[1], outlineColor[2], otlnOpy);\n };\n\n //\n // setup shape\n\n var getPath = function getPath(width, height, shape, points) {\n var pathCache = r.nodePathCache = r.nodePathCache || [];\n var key = hashStrings(shape === 'polygon' ? shape + ',' + points.join(',') : shape, '' + height, '' + width, '' + cornerRadius);\n var cachedPath = pathCache[key];\n var path;\n var cacheHit = false;\n if (cachedPath != null) {\n path = cachedPath;\n cacheHit = true;\n rs.pathCache = path;\n } else {\n path = new Path2D();\n pathCache[key] = rs.pathCache = path;\n }\n return {\n path: path,\n cacheHit: cacheHit\n };\n };\n var styleShape = node.pstyle('shape').strValue;\n var shapePts = node.pstyle('shape-polygon-points').pfValue;\n if (usePaths) {\n context.translate(pos.x, pos.y);\n var shapePath = getPath(nodeWidth, nodeHeight, styleShape, shapePts);\n path = shapePath.path;\n pathCacheHit = shapePath.cacheHit;\n }\n var drawShape = function drawShape() {\n if (!pathCacheHit) {\n var npos = pos;\n if (usePaths) {\n npos = {\n x: 0,\n y: 0\n };\n }\n r.nodeShapes[r.getNodeShape(node)].draw(path || context, npos.x, npos.y, nodeWidth, nodeHeight, cornerRadius, rs);\n }\n if (usePaths) {\n context.fill(path);\n } else {\n context.fill();\n }\n };\n var drawImages = function drawImages() {\n var nodeOpacity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : eleOpacity;\n var inside = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var prevBging = _p.backgrounding;\n var totalCompleted = 0;\n for (var _i = 0; _i < image.length; _i++) {\n var bgContainment = node.cy().style().getIndexedStyle(node, 'background-image-containment', 'value', _i);\n if (inside && bgContainment === 'over' || !inside && bgContainment === 'inside') {\n totalCompleted++;\n continue;\n }\n if (urlDefined[_i] && image[_i].complete && !image[_i].error) {\n totalCompleted++;\n r.drawInscribedImage(context, image[_i], node, _i, nodeOpacity);\n }\n }\n _p.backgrounding = !(totalCompleted === numImages);\n if (prevBging !== _p.backgrounding) {\n // update style b/c :backgrounding state changed\n node.updateStyle(false);\n }\n };\n var drawPie = function drawPie() {\n var redrawShape = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var pieOpacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : eleOpacity;\n if (r.hasPie(node)) {\n r.drawPie(context, node, pieOpacity);\n\n // redraw/restore path if steps after pie need it\n if (redrawShape) {\n if (!usePaths) {\n r.nodeShapes[r.getNodeShape(node)].draw(context, pos.x, pos.y, nodeWidth, nodeHeight, cornerRadius, rs);\n }\n }\n }\n };\n var drawStripe = function drawStripe() {\n var redrawShape = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var stripeOpacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : eleOpacity;\n if (r.hasStripe(node)) {\n context.save();\n if (usePaths) {\n context.clip(rs.pathCache);\n } else {\n r.nodeShapes[r.getNodeShape(node)].draw(context, pos.x, pos.y, nodeWidth, nodeHeight, cornerRadius, rs);\n context.clip();\n }\n r.drawStripe(context, node, stripeOpacity);\n context.restore();\n\n // redraw/restore path if steps after stripes need it\n if (redrawShape) {\n if (!usePaths) {\n r.nodeShapes[r.getNodeShape(node)].draw(context, pos.x, pos.y, nodeWidth, nodeHeight, cornerRadius, rs);\n }\n }\n }\n };\n var darken = function darken() {\n var darkenOpacity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : eleOpacity;\n var opacity = (darkness > 0 ? darkness : -darkness) * darkenOpacity;\n var c = darkness > 0 ? 0 : 255;\n if (darkness !== 0) {\n r.colorFillStyle(context, c, c, c, opacity);\n if (usePaths) {\n context.fill(path);\n } else {\n context.fill();\n }\n }\n };\n var drawBorder = function drawBorder() {\n if (borderWidth > 0) {\n context.lineWidth = borderWidth;\n context.lineCap = borderCap;\n context.lineJoin = borderJoin;\n if (context.setLineDash) {\n // for very outofdate browsers\n switch (borderStyle) {\n case 'dotted':\n context.setLineDash([1, 1]);\n break;\n case 'dashed':\n context.setLineDash(borderPattern);\n context.lineDashOffset = borderOffset;\n break;\n case 'solid':\n case 'double':\n context.setLineDash([]);\n break;\n }\n }\n if (borderPosition !== 'center') {\n context.save();\n context.lineWidth *= 2;\n if (borderPosition === 'inside') {\n usePaths ? context.clip(path) : context.clip();\n } else {\n var region = new Path2D();\n region.rect(-nodeWidth / 2 - borderWidth, -nodeHeight / 2 - borderWidth, nodeWidth + 2 * borderWidth, nodeHeight + 2 * borderWidth);\n region.addPath(path);\n context.clip(region, 'evenodd');\n }\n usePaths ? context.stroke(path) : context.stroke();\n context.restore();\n } else {\n usePaths ? context.stroke(path) : context.stroke();\n }\n if (borderStyle === 'double') {\n context.lineWidth = borderWidth / 3;\n var gco = context.globalCompositeOperation;\n context.globalCompositeOperation = 'destination-out';\n if (usePaths) {\n context.stroke(path);\n } else {\n context.stroke();\n }\n context.globalCompositeOperation = gco;\n }\n\n // reset in case we changed the border style\n if (context.setLineDash) {\n // for very outofdate browsers\n context.setLineDash([]);\n }\n }\n };\n var drawOutline = function drawOutline() {\n if (outlineWidth > 0) {\n context.lineWidth = outlineWidth;\n context.lineCap = 'butt';\n if (context.setLineDash) {\n // for very outofdate browsers\n switch (outlineStyle) {\n case 'dotted':\n context.setLineDash([1, 1]);\n break;\n case 'dashed':\n context.setLineDash([4, 2]);\n break;\n case 'solid':\n case 'double':\n context.setLineDash([]);\n break;\n }\n }\n var npos = pos;\n if (usePaths) {\n npos = {\n x: 0,\n y: 0\n };\n }\n var shape = r.getNodeShape(node);\n var bWidth = borderWidth;\n if (borderPosition === 'inside') bWidth = 0;\n if (borderPosition === 'outside') bWidth *= 2;\n var scaleX = (nodeWidth + bWidth + (outlineWidth + outlineOffset)) / nodeWidth;\n var scaleY = (nodeHeight + bWidth + (outlineWidth + outlineOffset)) / nodeHeight;\n var sWidth = nodeWidth * scaleX;\n var sHeight = nodeHeight * scaleY;\n var points = r.nodeShapes[shape].points;\n var _path;\n if (usePaths) {\n var outlinePath = getPath(sWidth, sHeight, shape, points);\n _path = outlinePath.path;\n }\n\n // draw the outline path, either by using expanded points or by scaling \n // the dimensions, depending on shape\n if (shape === \"ellipse\") {\n r.drawEllipsePath(_path || context, npos.x, npos.y, sWidth, sHeight);\n } else if (['round-diamond', 'round-heptagon', 'round-hexagon', 'round-octagon', 'round-pentagon', 'round-polygon', 'round-triangle', 'round-tag'].includes(shape)) {\n var sMult = 0;\n var offsetX = 0;\n var offsetY = 0;\n if (shape === 'round-diamond') {\n sMult = (bWidth + outlineOffset + outlineWidth) * 1.4;\n } else if (shape === 'round-heptagon') {\n sMult = (bWidth + outlineOffset + outlineWidth) * 1.075;\n offsetY = -(bWidth / 2 + outlineOffset + outlineWidth) / 35;\n } else if (shape === 'round-hexagon') {\n sMult = (bWidth + outlineOffset + outlineWidth) * 1.12;\n } else if (shape === 'round-pentagon') {\n sMult = (bWidth + outlineOffset + outlineWidth) * 1.13;\n offsetY = -(bWidth / 2 + outlineOffset + outlineWidth) / 15;\n } else if (shape === 'round-tag') {\n sMult = (bWidth + outlineOffset + outlineWidth) * 1.12;\n offsetX = (bWidth / 2 + outlineWidth + outlineOffset) * .07;\n } else if (shape === 'round-triangle') {\n sMult = (bWidth + outlineOffset + outlineWidth) * (Math.PI / 2);\n offsetY = -(bWidth + outlineOffset / 2 + outlineWidth) / Math.PI;\n }\n if (sMult !== 0) {\n scaleX = (nodeWidth + sMult) / nodeWidth;\n sWidth = nodeWidth * scaleX;\n if (!['round-hexagon', 'round-tag'].includes(shape)) {\n scaleY = (nodeHeight + sMult) / nodeHeight;\n sHeight = nodeHeight * scaleY;\n }\n }\n cornerRadius = cornerRadius === 'auto' ? getRoundPolygonRadius(sWidth, sHeight) : cornerRadius;\n var halfW = sWidth / 2;\n var halfH = sHeight / 2;\n var radius = cornerRadius + (bWidth + outlineWidth + outlineOffset) / 2;\n var p = new Array(points.length / 2);\n var corners = new Array(points.length / 2);\n for (var _i2 = 0; _i2 < points.length / 2; _i2++) {\n p[_i2] = {\n x: npos.x + offsetX + halfW * points[_i2 * 2],\n y: npos.y + offsetY + halfH * points[_i2 * 2 + 1]\n };\n }\n var _i3,\n p1,\n p2,\n p3,\n len = p.length;\n p1 = p[len - 1];\n // for each point\n for (_i3 = 0; _i3 < len; _i3++) {\n p2 = p[_i3 % len];\n p3 = p[(_i3 + 1) % len];\n corners[_i3] = getRoundCorner(p1, p2, p3, radius);\n p1 = p2;\n p2 = p3;\n }\n r.drawRoundPolygonPath(_path || context, npos.x + offsetX, npos.y + offsetY, nodeWidth * scaleX, nodeHeight * scaleY, points, corners);\n } else if (['roundrectangle', 'round-rectangle'].includes(shape)) {\n cornerRadius = cornerRadius === 'auto' ? getRoundRectangleRadius(sWidth, sHeight) : cornerRadius;\n r.drawRoundRectanglePath(_path || context, npos.x, npos.y, sWidth, sHeight, cornerRadius + (bWidth + outlineWidth + outlineOffset) / 2);\n } else if (['cutrectangle', 'cut-rectangle'].includes(shape)) {\n cornerRadius = cornerRadius === 'auto' ? getCutRectangleCornerLength() : cornerRadius;\n r.drawCutRectanglePath(_path || context, npos.x, npos.y, sWidth, sHeight, null, cornerRadius + (bWidth + outlineWidth + outlineOffset) / 4);\n } else if (['bottomroundrectangle', 'bottom-round-rectangle'].includes(shape)) {\n cornerRadius = cornerRadius === 'auto' ? getRoundRectangleRadius(sWidth, sHeight) : cornerRadius;\n r.drawBottomRoundRectanglePath(_path || context, npos.x, npos.y, sWidth, sHeight, cornerRadius + (bWidth + outlineWidth + outlineOffset) / 2);\n } else if (shape === \"barrel\") {\n r.drawBarrelPath(_path || context, npos.x, npos.y, sWidth, sHeight);\n } else if (shape.startsWith(\"polygon\") || ['rhomboid', 'right-rhomboid', 'round-tag', 'tag', 'vee'].includes(shape)) {\n var pad = (bWidth + outlineWidth + outlineOffset) / nodeWidth;\n points = joinLines(expandPolygon(points, pad));\n r.drawPolygonPath(_path || context, npos.x, npos.y, nodeWidth, nodeHeight, points);\n } else {\n var _pad = (bWidth + outlineWidth + outlineOffset) / nodeWidth;\n points = joinLines(expandPolygon(points, -_pad));\n r.drawPolygonPath(_path || context, npos.x, npos.y, nodeWidth, nodeHeight, points);\n }\n if (usePaths) {\n context.stroke(_path);\n } else {\n context.stroke();\n }\n if (outlineStyle === 'double') {\n context.lineWidth = bWidth / 3;\n var gco = context.globalCompositeOperation;\n context.globalCompositeOperation = 'destination-out';\n if (usePaths) {\n context.stroke(_path);\n } else {\n context.stroke();\n }\n context.globalCompositeOperation = gco;\n }\n\n // reset in case we changed the border style\n if (context.setLineDash) {\n // for very outofdate browsers\n context.setLineDash([]);\n }\n }\n };\n var drawOverlay = function drawOverlay() {\n if (shouldDrawOverlay) {\n r.drawNodeOverlay(context, node, pos, nodeWidth, nodeHeight);\n }\n };\n var drawUnderlay = function drawUnderlay() {\n if (shouldDrawOverlay) {\n r.drawNodeUnderlay(context, node, pos, nodeWidth, nodeHeight);\n }\n };\n var drawText = function drawText() {\n r.drawElementText(context, node, null, drawLabel);\n };\n var ghost = node.pstyle('ghost').value === 'yes';\n if (ghost) {\n var gx = node.pstyle('ghost-offset-x').pfValue;\n var gy = node.pstyle('ghost-offset-y').pfValue;\n var ghostOpacity = node.pstyle('ghost-opacity').value;\n var effGhostOpacity = ghostOpacity * eleOpacity;\n context.translate(gx, gy);\n setupOutlineColor();\n drawOutline();\n setupShapeColor(ghostOpacity * bgOpacity);\n drawShape();\n drawImages(effGhostOpacity, true);\n setupBorderColor(ghostOpacity * borderOpacity);\n drawBorder();\n drawPie(darkness !== 0 || borderWidth !== 0);\n drawStripe(darkness !== 0 || borderWidth !== 0);\n drawImages(effGhostOpacity, false);\n darken(effGhostOpacity);\n context.translate(-gx, -gy);\n }\n if (usePaths) {\n context.translate(-pos.x, -pos.y);\n }\n drawUnderlay();\n if (usePaths) {\n context.translate(pos.x, pos.y);\n }\n setupOutlineColor();\n drawOutline();\n setupShapeColor();\n drawShape();\n drawImages(eleOpacity, true);\n setupBorderColor();\n drawBorder();\n drawPie(darkness !== 0 || borderWidth !== 0);\n drawStripe(darkness !== 0 || borderWidth !== 0);\n drawImages(eleOpacity, false);\n darken();\n if (usePaths) {\n context.translate(-pos.x, -pos.y);\n }\n drawText();\n drawOverlay();\n\n //\n // clean up shift\n\n if (shiftToOriginWithBb) {\n context.translate(bb.x1, bb.y1);\n }\n};\nvar drawNodeOverlayUnderlay = function drawNodeOverlayUnderlay(overlayOrUnderlay) {\n if (!['overlay', 'underlay'].includes(overlayOrUnderlay)) {\n throw new Error('Invalid state');\n }\n return function (context, node, pos, nodeWidth, nodeHeight) {\n var r = this;\n if (!node.visible()) {\n return;\n }\n var padding = node.pstyle(\"\".concat(overlayOrUnderlay, \"-padding\")).pfValue;\n var opacity = node.pstyle(\"\".concat(overlayOrUnderlay, \"-opacity\")).value;\n var color = node.pstyle(\"\".concat(overlayOrUnderlay, \"-color\")).value;\n var shape = node.pstyle(\"\".concat(overlayOrUnderlay, \"-shape\")).value;\n var radius = node.pstyle(\"\".concat(overlayOrUnderlay, \"-corner-radius\")).value;\n if (opacity > 0) {\n pos = pos || node.position();\n if (nodeWidth == null || nodeHeight == null) {\n var _padding = node.padding();\n nodeWidth = node.width() + 2 * _padding;\n nodeHeight = node.height() + 2 * _padding;\n }\n r.colorFillStyle(context, color[0], color[1], color[2], opacity);\n r.nodeShapes[shape].draw(context, pos.x, pos.y, nodeWidth + padding * 2, nodeHeight + padding * 2, radius);\n context.fill();\n }\n };\n};\nCRp$6.drawNodeOverlay = drawNodeOverlayUnderlay('overlay');\nCRp$6.drawNodeUnderlay = drawNodeOverlayUnderlay('underlay');\n\n// does the node have at least one pie piece?\nCRp$6.hasPie = function (node) {\n node = node[0]; // ensure ele ref\n\n return node._private.hasPie;\n};\nCRp$6.hasStripe = function (node) {\n node = node[0]; // ensure ele ref\n\n return node._private.hasStripe;\n};\nCRp$6.drawPie = function (context, node, nodeOpacity, pos) {\n node = node[0]; // ensure ele ref\n pos = pos || node.position();\n var cyStyle = node.cy().style();\n var pieSize = node.pstyle('pie-size');\n var hole = node.pstyle('pie-hole');\n var overallStartAngle = node.pstyle('pie-start-angle').pfValue;\n var x = pos.x;\n var y = pos.y;\n var nodeW = node.width();\n var nodeH = node.height();\n var radius = Math.min(nodeW, nodeH) / 2; // must fit in node\n var holeRadius;\n var lastPercent = 0; // what % to continue drawing pie slices from on [0, 1]\n var usePaths = this.usePaths();\n if (usePaths) {\n x = 0;\n y = 0;\n }\n if (pieSize.units === '%') {\n radius = radius * pieSize.pfValue;\n } else if (pieSize.pfValue !== undefined) {\n radius = pieSize.pfValue / 2; // diameter in pixels => radius\n }\n if (hole.units === '%') {\n holeRadius = radius * hole.pfValue;\n } else if (hole.pfValue !== undefined) {\n holeRadius = hole.pfValue / 2; // diameter in pixels => radius\n }\n if (holeRadius >= radius) {\n return; // the pie would be invisible anyway\n }\n for (var i = 1; i <= cyStyle.pieBackgroundN; i++) {\n // 1..N\n var size = node.pstyle('pie-' + i + '-background-size').value;\n var color = node.pstyle('pie-' + i + '-background-color').value;\n var opacity = node.pstyle('pie-' + i + '-background-opacity').value * nodeOpacity;\n var percent = size / 100; // map integer range [0, 100] to [0, 1]\n\n // percent can't push beyond 1\n if (percent + lastPercent > 1) {\n percent = 1 - lastPercent;\n }\n var angleStart = 1.5 * Math.PI + 2 * Math.PI * lastPercent; // start at 12 o'clock and go clockwise\n angleStart += overallStartAngle; // shift by the overall pie start angle\n var angleDelta = 2 * Math.PI * percent;\n var angleEnd = angleStart + angleDelta;\n\n // ignore if\n // - zero size\n // - we're already beyond the full circle\n // - adding the current slice would go beyond the full circle\n if (size === 0 || lastPercent >= 1 || lastPercent + percent > 1) {\n continue;\n }\n if (holeRadius === 0) {\n // make a pie slice\n context.beginPath();\n context.moveTo(x, y);\n context.arc(x, y, radius, angleStart, angleEnd);\n context.closePath();\n } else {\n // make a pie slice that's like the above but with a hole in the middle\n context.beginPath();\n context.arc(x, y, radius, angleStart, angleEnd);\n context.arc(x, y, holeRadius, angleEnd, angleStart, true); // true for anticlockwise\n context.closePath();\n }\n this.colorFillStyle(context, color[0], color[1], color[2], opacity);\n context.fill();\n lastPercent += percent;\n }\n};\nCRp$6.drawStripe = function (context, node, nodeOpacity, pos) {\n node = node[0]; // ensure ele ref\n pos = pos || node.position();\n var cyStyle = node.cy().style();\n var x = pos.x;\n var y = pos.y;\n var nodeW = node.width();\n var nodeH = node.height();\n var lastPercent = 0; // what % to continue drawing pie slices from on [0, 1]\n var usePaths = this.usePaths();\n context.save();\n var direction = node.pstyle('stripe-direction').value;\n var stripeSize = node.pstyle('stripe-size');\n switch (direction) {\n case 'vertical':\n break;\n // default\n case 'righward':\n context.rotate(-Math.PI / 2);\n break;\n }\n var stripeW = nodeW;\n var stripeH = nodeH;\n if (stripeSize.units === '%') {\n stripeW = stripeW * stripeSize.pfValue;\n stripeH = stripeH * stripeSize.pfValue;\n } else if (stripeSize.pfValue !== undefined) {\n stripeW = stripeSize.pfValue;\n stripeH = stripeSize.pfValue;\n }\n if (usePaths) {\n x = 0;\n y = 0;\n }\n\n // shift up from the centre of the node to the top-left corner\n y -= stripeW / 2;\n x -= stripeH / 2;\n for (var i = 1; i <= cyStyle.stripeBackgroundN; i++) {\n // 1..N\n var size = node.pstyle('stripe-' + i + '-background-size').value;\n var color = node.pstyle('stripe-' + i + '-background-color').value;\n var opacity = node.pstyle('stripe-' + i + '-background-opacity').value * nodeOpacity;\n var percent = size / 100; // map integer range [0, 100] to [0, 1]\n\n // percent can't push beyond 1\n if (percent + lastPercent > 1) {\n percent = 1 - lastPercent;\n }\n\n // ignore if\n // - zero size\n // - we're already beyond the full chart\n // - adding the current slice would go beyond the full chart\n if (size === 0 || lastPercent >= 1 || lastPercent + percent > 1) {\n continue;\n }\n\n // draw rect for the current stripe\n context.beginPath();\n context.rect(x, y + stripeH * lastPercent, stripeW, stripeH * percent);\n context.closePath();\n this.colorFillStyle(context, color[0], color[1], color[2], opacity);\n context.fill();\n lastPercent += percent;\n }\n context.restore();\n};\n\nvar CRp$5 = {};\nvar motionBlurDelay = 100;\n\n// var isFirefox = typeof InstallTrigger !== 'undefined';\n\nCRp$5.getPixelRatio = function () {\n var context = this.data.contexts[0];\n if (this.forcedPixelRatio != null) {\n return this.forcedPixelRatio;\n }\n var containerWindow = this.cy.window();\n var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;\n return (containerWindow.devicePixelRatio || 1) / backingStore; // eslint-disable-line no-undef\n};\nCRp$5.paintCache = function (context) {\n var caches = this.paintCaches = this.paintCaches || [];\n var needToCreateCache = true;\n var cache;\n for (var i = 0; i < caches.length; i++) {\n cache = caches[i];\n if (cache.context === context) {\n needToCreateCache = false;\n break;\n }\n }\n if (needToCreateCache) {\n cache = {\n context: context\n };\n caches.push(cache);\n }\n return cache;\n};\nCRp$5.createGradientStyleFor = function (context, shapeStyleName, ele, fill, opacity) {\n var gradientStyle;\n var usePaths = this.usePaths();\n var colors = ele.pstyle(shapeStyleName + '-gradient-stop-colors').value,\n positions = ele.pstyle(shapeStyleName + '-gradient-stop-positions').pfValue;\n if (fill === 'radial-gradient') {\n if (ele.isEdge()) {\n var start = ele.sourceEndpoint(),\n end = ele.targetEndpoint(),\n mid = ele.midpoint();\n var d1 = dist(start, mid);\n var d2 = dist(end, mid);\n gradientStyle = context.createRadialGradient(mid.x, mid.y, 0, mid.x, mid.y, Math.max(d1, d2));\n } else {\n var pos = usePaths ? {\n x: 0,\n y: 0\n } : ele.position(),\n width = ele.paddedWidth(),\n height = ele.paddedHeight();\n gradientStyle = context.createRadialGradient(pos.x, pos.y, 0, pos.x, pos.y, Math.max(width, height));\n }\n } else {\n if (ele.isEdge()) {\n var _start = ele.sourceEndpoint(),\n _end = ele.targetEndpoint();\n gradientStyle = context.createLinearGradient(_start.x, _start.y, _end.x, _end.y);\n } else {\n var _pos = usePaths ? {\n x: 0,\n y: 0\n } : ele.position(),\n _width = ele.paddedWidth(),\n _height = ele.paddedHeight(),\n halfWidth = _width / 2,\n halfHeight = _height / 2;\n var direction = ele.pstyle('background-gradient-direction').value;\n switch (direction) {\n case 'to-bottom':\n gradientStyle = context.createLinearGradient(_pos.x, _pos.y - halfHeight, _pos.x, _pos.y + halfHeight);\n break;\n case 'to-top':\n gradientStyle = context.createLinearGradient(_pos.x, _pos.y + halfHeight, _pos.x, _pos.y - halfHeight);\n break;\n case 'to-left':\n gradientStyle = context.createLinearGradient(_pos.x + halfWidth, _pos.y, _pos.x - halfWidth, _pos.y);\n break;\n case 'to-right':\n gradientStyle = context.createLinearGradient(_pos.x - halfWidth, _pos.y, _pos.x + halfWidth, _pos.y);\n break;\n case 'to-bottom-right':\n case 'to-right-bottom':\n gradientStyle = context.createLinearGradient(_pos.x - halfWidth, _pos.y - halfHeight, _pos.x + halfWidth, _pos.y + halfHeight);\n break;\n case 'to-top-right':\n case 'to-right-top':\n gradientStyle = context.createLinearGradient(_pos.x - halfWidth, _pos.y + halfHeight, _pos.x + halfWidth, _pos.y - halfHeight);\n break;\n case 'to-bottom-left':\n case 'to-left-bottom':\n gradientStyle = context.createLinearGradient(_pos.x + halfWidth, _pos.y - halfHeight, _pos.x - halfWidth, _pos.y + halfHeight);\n break;\n case 'to-top-left':\n case 'to-left-top':\n gradientStyle = context.createLinearGradient(_pos.x + halfWidth, _pos.y + halfHeight, _pos.x - halfWidth, _pos.y - halfHeight);\n break;\n }\n }\n }\n if (!gradientStyle) return null; // invalid gradient style\n\n var hasPositions = positions.length === colors.length;\n var length = colors.length;\n for (var i = 0; i < length; i++) {\n gradientStyle.addColorStop(hasPositions ? positions[i] : i / (length - 1), 'rgba(' + colors[i][0] + ',' + colors[i][1] + ',' + colors[i][2] + ',' + opacity + ')');\n }\n return gradientStyle;\n};\nCRp$5.gradientFillStyle = function (context, ele, fill, opacity) {\n var gradientStyle = this.createGradientStyleFor(context, 'background', ele, fill, opacity);\n if (!gradientStyle) return null; // error\n context.fillStyle = gradientStyle;\n};\nCRp$5.colorFillStyle = function (context, r, g, b, a) {\n context.fillStyle = 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n // turn off for now, seems context does its own caching\n\n // var cache = this.paintCache(context);\n\n // var fillStyle = 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n\n // if( cache.fillStyle !== fillStyle ){\n // context.fillStyle = cache.fillStyle = fillStyle;\n // }\n};\nCRp$5.eleFillStyle = function (context, ele, opacity) {\n var backgroundFill = ele.pstyle('background-fill').value;\n if (backgroundFill === 'linear-gradient' || backgroundFill === 'radial-gradient') {\n this.gradientFillStyle(context, ele, backgroundFill, opacity);\n } else {\n var backgroundColor = ele.pstyle('background-color').value;\n this.colorFillStyle(context, backgroundColor[0], backgroundColor[1], backgroundColor[2], opacity);\n }\n};\nCRp$5.gradientStrokeStyle = function (context, ele, fill, opacity) {\n var gradientStyle = this.createGradientStyleFor(context, 'line', ele, fill, opacity);\n if (!gradientStyle) return null; // error\n context.strokeStyle = gradientStyle;\n};\nCRp$5.colorStrokeStyle = function (context, r, g, b, a) {\n context.strokeStyle = 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n // turn off for now, seems context does its own caching\n\n // var cache = this.paintCache(context);\n\n // var strokeStyle = 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n\n // if( cache.strokeStyle !== strokeStyle ){\n // context.strokeStyle = cache.strokeStyle = strokeStyle;\n // }\n};\nCRp$5.eleStrokeStyle = function (context, ele, opacity) {\n var lineFill = ele.pstyle('line-fill').value;\n if (lineFill === 'linear-gradient' || lineFill === 'radial-gradient') {\n this.gradientStrokeStyle(context, ele, lineFill, opacity);\n } else {\n var lineColor = ele.pstyle('line-color').value;\n this.colorStrokeStyle(context, lineColor[0], lineColor[1], lineColor[2], opacity);\n }\n};\n\n// Resize canvas\nCRp$5.matchCanvasSize = function (container) {\n var r = this;\n var data = r.data;\n var bb = r.findContainerClientCoords();\n var width = bb[2];\n var height = bb[3];\n var pixelRatio = r.getPixelRatio();\n var mbPxRatio = r.motionBlurPxRatio;\n if (container === r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_NODE] || container === r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_DRAG]) {\n pixelRatio = mbPxRatio;\n }\n var canvasWidth = width * pixelRatio;\n var canvasHeight = height * pixelRatio;\n var canvas;\n if (canvasWidth === r.canvasWidth && canvasHeight === r.canvasHeight) {\n return; // save cycles if same\n }\n r.fontCaches = null; // resizing resets the style\n\n var canvasContainer = data.canvasContainer;\n canvasContainer.style.width = width + 'px';\n canvasContainer.style.height = height + 'px';\n for (var i = 0; i < r.CANVAS_LAYERS; i++) {\n canvas = data.canvases[i];\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n }\n for (var i = 0; i < r.BUFFER_COUNT; i++) {\n canvas = data.bufferCanvases[i];\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n }\n r.textureMult = 1;\n if (pixelRatio <= 1) {\n canvas = data.bufferCanvases[r.TEXTURE_BUFFER];\n r.textureMult = 2;\n canvas.width = canvasWidth * r.textureMult;\n canvas.height = canvasHeight * r.textureMult;\n }\n r.canvasWidth = canvasWidth;\n r.canvasHeight = canvasHeight;\n r.pixelRatio = pixelRatio;\n};\nCRp$5.renderTo = function (cxt, zoom, pan, pxRatio) {\n this.render({\n forcedContext: cxt,\n forcedZoom: zoom,\n forcedPan: pan,\n drawAllLayers: true,\n forcedPxRatio: pxRatio\n });\n};\nCRp$5.clearCanvas = function () {\n var r = this;\n var data = r.data;\n function clear(context) {\n context.clearRect(0, 0, r.canvasWidth, r.canvasHeight);\n }\n clear(data.contexts[r.NODE]);\n clear(data.contexts[r.DRAG]);\n};\nCRp$5.render = function (options) {\n var r = this;\n options = options || staticEmptyObject();\n var cy = r.cy;\n var forcedContext = options.forcedContext;\n var drawAllLayers = options.drawAllLayers;\n var drawOnlyNodeLayer = options.drawOnlyNodeLayer;\n var forcedZoom = options.forcedZoom;\n var forcedPan = options.forcedPan;\n var pixelRatio = options.forcedPxRatio === undefined ? this.getPixelRatio() : options.forcedPxRatio;\n var data = r.data;\n var needDraw = data.canvasNeedsRedraw;\n var textureDraw = r.textureOnViewport && !forcedContext && (r.pinching || r.hoverData.dragging || r.swipePanning || r.data.wheelZooming);\n var motionBlur = options.motionBlur !== undefined ? options.motionBlur : r.motionBlur;\n var mbPxRatio = r.motionBlurPxRatio;\n var hasCompoundNodes = cy.hasCompoundNodes();\n var inNodeDragGesture = r.hoverData.draggingEles;\n var inBoxSelection = r.hoverData.selecting || r.touchData.selecting ? true : false;\n motionBlur = motionBlur && !forcedContext && r.motionBlurEnabled && !inBoxSelection;\n var motionBlurFadeEffect = motionBlur;\n if (!forcedContext) {\n if (r.prevPxRatio !== pixelRatio) {\n r.invalidateContainerClientCoordsCache();\n r.matchCanvasSize(r.container);\n r.redrawHint('eles', true);\n r.redrawHint('drag', true);\n }\n r.prevPxRatio = pixelRatio;\n }\n if (!forcedContext && r.motionBlurTimeout) {\n clearTimeout(r.motionBlurTimeout);\n }\n if (motionBlur) {\n if (r.mbFrames == null) {\n r.mbFrames = 0;\n }\n r.mbFrames++;\n if (r.mbFrames < 3) {\n // need several frames before even high quality motionblur\n motionBlurFadeEffect = false;\n }\n\n // go to lower quality blurry frames when several m/b frames have been rendered (avoids flashing)\n if (r.mbFrames > r.minMbLowQualFrames) {\n //r.fullQualityMb = false;\n r.motionBlurPxRatio = r.mbPxRBlurry;\n }\n }\n if (r.clearingMotionBlur) {\n r.motionBlurPxRatio = 1;\n }\n\n // b/c drawToContext() may be async w.r.t. redraw(), keep track of last texture frame\n // because a rogue async texture frame would clear needDraw\n if (r.textureDrawLastFrame && !textureDraw) {\n needDraw[r.NODE] = true;\n needDraw[r.SELECT_BOX] = true;\n }\n var style = cy.style();\n var zoom = cy.zoom();\n var effectiveZoom = forcedZoom !== undefined ? forcedZoom : zoom;\n var pan = cy.pan();\n var effectivePan = {\n x: pan.x,\n y: pan.y\n };\n var vp = {\n zoom: zoom,\n pan: {\n x: pan.x,\n y: pan.y\n }\n };\n var prevVp = r.prevViewport;\n var viewportIsDiff = prevVp === undefined || vp.zoom !== prevVp.zoom || vp.pan.x !== prevVp.pan.x || vp.pan.y !== prevVp.pan.y;\n\n // we want the low quality motionblur only when the viewport is being manipulated etc (where it's not noticed)\n if (!viewportIsDiff && !(inNodeDragGesture && !hasCompoundNodes)) {\n r.motionBlurPxRatio = 1;\n }\n if (forcedPan) {\n effectivePan = forcedPan;\n }\n\n // apply pixel ratio\n\n effectiveZoom *= pixelRatio;\n effectivePan.x *= pixelRatio;\n effectivePan.y *= pixelRatio;\n var eles = r.getCachedZSortedEles();\n function mbclear(context, x, y, w, h) {\n var gco = context.globalCompositeOperation;\n context.globalCompositeOperation = 'destination-out';\n r.colorFillStyle(context, 255, 255, 255, r.motionBlurTransparency);\n context.fillRect(x, y, w, h);\n context.globalCompositeOperation = gco;\n }\n function setContextTransform(context, clear) {\n var ePan, eZoom, w, h;\n if (!r.clearingMotionBlur && (context === data.bufferContexts[r.MOTIONBLUR_BUFFER_NODE] || context === data.bufferContexts[r.MOTIONBLUR_BUFFER_DRAG])) {\n ePan = {\n x: pan.x * mbPxRatio,\n y: pan.y * mbPxRatio\n };\n eZoom = zoom * mbPxRatio;\n w = r.canvasWidth * mbPxRatio;\n h = r.canvasHeight * mbPxRatio;\n } else {\n ePan = effectivePan;\n eZoom = effectiveZoom;\n w = r.canvasWidth;\n h = r.canvasHeight;\n }\n context.setTransform(1, 0, 0, 1, 0, 0);\n if (clear === 'motionBlur') {\n mbclear(context, 0, 0, w, h);\n } else if (!forcedContext && (clear === undefined || clear)) {\n context.clearRect(0, 0, w, h);\n }\n if (!drawAllLayers) {\n context.translate(ePan.x, ePan.y);\n context.scale(eZoom, eZoom);\n }\n if (forcedPan) {\n context.translate(forcedPan.x, forcedPan.y);\n }\n if (forcedZoom) {\n context.scale(forcedZoom, forcedZoom);\n }\n }\n if (!textureDraw) {\n r.textureDrawLastFrame = false;\n }\n if (textureDraw) {\n r.textureDrawLastFrame = true;\n if (!r.textureCache) {\n r.textureCache = {};\n r.textureCache.bb = cy.mutableElements().boundingBox();\n r.textureCache.texture = r.data.bufferCanvases[r.TEXTURE_BUFFER];\n var cxt = r.data.bufferContexts[r.TEXTURE_BUFFER];\n cxt.setTransform(1, 0, 0, 1, 0, 0);\n cxt.clearRect(0, 0, r.canvasWidth * r.textureMult, r.canvasHeight * r.textureMult);\n r.render({\n forcedContext: cxt,\n drawOnlyNodeLayer: true,\n forcedPxRatio: pixelRatio * r.textureMult\n });\n var vp = r.textureCache.viewport = {\n zoom: cy.zoom(),\n pan: cy.pan(),\n width: r.canvasWidth,\n height: r.canvasHeight\n };\n vp.mpan = {\n x: (0 - vp.pan.x) / vp.zoom,\n y: (0 - vp.pan.y) / vp.zoom\n };\n }\n needDraw[r.DRAG] = false;\n needDraw[r.NODE] = false;\n var context = data.contexts[r.NODE];\n var texture = r.textureCache.texture;\n var vp = r.textureCache.viewport;\n context.setTransform(1, 0, 0, 1, 0, 0);\n if (motionBlur) {\n mbclear(context, 0, 0, vp.width, vp.height);\n } else {\n context.clearRect(0, 0, vp.width, vp.height);\n }\n var outsideBgColor = style.core('outside-texture-bg-color').value;\n var outsideBgOpacity = style.core('outside-texture-bg-opacity').value;\n r.colorFillStyle(context, outsideBgColor[0], outsideBgColor[1], outsideBgColor[2], outsideBgOpacity);\n context.fillRect(0, 0, vp.width, vp.height);\n var zoom = cy.zoom();\n setContextTransform(context, false);\n context.clearRect(vp.mpan.x, vp.mpan.y, vp.width / vp.zoom / pixelRatio, vp.height / vp.zoom / pixelRatio);\n context.drawImage(texture, vp.mpan.x, vp.mpan.y, vp.width / vp.zoom / pixelRatio, vp.height / vp.zoom / pixelRatio);\n } else if (r.textureOnViewport && !forcedContext) {\n // clear the cache since we don't need it\n r.textureCache = null;\n }\n var extent = cy.extent();\n var vpManip = r.pinching || r.hoverData.dragging || r.swipePanning || r.data.wheelZooming || r.hoverData.draggingEles || r.cy.animated();\n var hideEdges = r.hideEdgesOnViewport && vpManip;\n var needMbClear = [];\n needMbClear[r.NODE] = !needDraw[r.NODE] && motionBlur && !r.clearedForMotionBlur[r.NODE] || r.clearingMotionBlur;\n if (needMbClear[r.NODE]) {\n r.clearedForMotionBlur[r.NODE] = true;\n }\n needMbClear[r.DRAG] = !needDraw[r.DRAG] && motionBlur && !r.clearedForMotionBlur[r.DRAG] || r.clearingMotionBlur;\n if (needMbClear[r.DRAG]) {\n r.clearedForMotionBlur[r.DRAG] = true;\n }\n if (needDraw[r.NODE] || drawAllLayers || drawOnlyNodeLayer || needMbClear[r.NODE]) {\n var useBuffer = motionBlur && !needMbClear[r.NODE] && mbPxRatio !== 1;\n var context = forcedContext || (useBuffer ? r.data.bufferContexts[r.MOTIONBLUR_BUFFER_NODE] : data.contexts[r.NODE]);\n var clear = motionBlur && !useBuffer ? 'motionBlur' : undefined;\n setContextTransform(context, clear);\n if (hideEdges) {\n r.drawCachedNodes(context, eles.nondrag, pixelRatio, extent);\n } else {\n r.drawLayeredElements(context, eles.nondrag, pixelRatio, extent);\n }\n if (r.debug) {\n r.drawDebugPoints(context, eles.nondrag);\n }\n if (!drawAllLayers && !motionBlur) {\n needDraw[r.NODE] = false;\n }\n }\n if (!drawOnlyNodeLayer && (needDraw[r.DRAG] || drawAllLayers || needMbClear[r.DRAG])) {\n var useBuffer = motionBlur && !needMbClear[r.DRAG] && mbPxRatio !== 1;\n var context = forcedContext || (useBuffer ? r.data.bufferContexts[r.MOTIONBLUR_BUFFER_DRAG] : data.contexts[r.DRAG]);\n setContextTransform(context, motionBlur && !useBuffer ? 'motionBlur' : undefined);\n if (hideEdges) {\n r.drawCachedNodes(context, eles.drag, pixelRatio, extent);\n } else {\n r.drawCachedElements(context, eles.drag, pixelRatio, extent);\n }\n if (r.debug) {\n r.drawDebugPoints(context, eles.drag);\n }\n if (!drawAllLayers && !motionBlur) {\n needDraw[r.DRAG] = false;\n }\n }\n this.drawSelectionRectangle(options, setContextTransform);\n\n // motionblur: blit rendered blurry frames\n if (motionBlur && mbPxRatio !== 1) {\n var cxtNode = data.contexts[r.NODE];\n var txtNode = r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_NODE];\n var cxtDrag = data.contexts[r.DRAG];\n var txtDrag = r.data.bufferCanvases[r.MOTIONBLUR_BUFFER_DRAG];\n var drawMotionBlur = function drawMotionBlur(cxt, txt, needClear) {\n cxt.setTransform(1, 0, 0, 1, 0, 0);\n if (needClear || !motionBlurFadeEffect) {\n cxt.clearRect(0, 0, r.canvasWidth, r.canvasHeight);\n } else {\n mbclear(cxt, 0, 0, r.canvasWidth, r.canvasHeight);\n }\n var pxr = mbPxRatio;\n cxt.drawImage(txt,\n // img\n 0, 0,\n // sx, sy\n r.canvasWidth * pxr, r.canvasHeight * pxr,\n // sw, sh\n 0, 0,\n // x, y\n r.canvasWidth, r.canvasHeight // w, h\n );\n };\n if (needDraw[r.NODE] || needMbClear[r.NODE]) {\n drawMotionBlur(cxtNode, txtNode, needMbClear[r.NODE]);\n needDraw[r.NODE] = false;\n }\n if (needDraw[r.DRAG] || needMbClear[r.DRAG]) {\n drawMotionBlur(cxtDrag, txtDrag, needMbClear[r.DRAG]);\n needDraw[r.DRAG] = false;\n }\n }\n r.prevViewport = vp;\n if (r.clearingMotionBlur) {\n r.clearingMotionBlur = false;\n r.motionBlurCleared = true;\n r.motionBlur = true;\n }\n if (motionBlur) {\n r.motionBlurTimeout = setTimeout(function () {\n r.motionBlurTimeout = null;\n r.clearedForMotionBlur[r.NODE] = false;\n r.clearedForMotionBlur[r.DRAG] = false;\n r.motionBlur = false;\n r.clearingMotionBlur = !textureDraw;\n r.mbFrames = 0;\n needDraw[r.NODE] = true;\n needDraw[r.DRAG] = true;\n r.redraw();\n }, motionBlurDelay);\n }\n if (!forcedContext) {\n cy.emit('render');\n }\n};\nvar fpsHeight;\nCRp$5.drawSelectionRectangle = function (options, setContextTransform) {\n var r = this;\n var cy = r.cy;\n var data = r.data;\n var style = cy.style();\n var drawOnlyNodeLayer = options.drawOnlyNodeLayer;\n var drawAllLayers = options.drawAllLayers;\n var needDraw = data.canvasNeedsRedraw;\n var forcedContext = options.forcedContext;\n if (r.showFps || !drawOnlyNodeLayer && needDraw[r.SELECT_BOX] && !drawAllLayers) {\n var context = forcedContext || data.contexts[r.SELECT_BOX];\n setContextTransform(context);\n if (r.selection[4] == 1 && (r.hoverData.selecting || r.touchData.selecting)) {\n var zoom = r.cy.zoom();\n var borderWidth = style.core('selection-box-border-width').value / zoom;\n context.lineWidth = borderWidth;\n context.fillStyle = 'rgba(' + style.core('selection-box-color').value[0] + ',' + style.core('selection-box-color').value[1] + ',' + style.core('selection-box-color').value[2] + ',' + style.core('selection-box-opacity').value + ')';\n context.fillRect(r.selection[0], r.selection[1], r.selection[2] - r.selection[0], r.selection[3] - r.selection[1]);\n if (borderWidth > 0) {\n context.strokeStyle = 'rgba(' + style.core('selection-box-border-color').value[0] + ',' + style.core('selection-box-border-color').value[1] + ',' + style.core('selection-box-border-color').value[2] + ',' + style.core('selection-box-opacity').value + ')';\n context.strokeRect(r.selection[0], r.selection[1], r.selection[2] - r.selection[0], r.selection[3] - r.selection[1]);\n }\n }\n if (data.bgActivePosistion && !r.hoverData.selecting) {\n var zoom = r.cy.zoom();\n var pos = data.bgActivePosistion;\n context.fillStyle = 'rgba(' + style.core('active-bg-color').value[0] + ',' + style.core('active-bg-color').value[1] + ',' + style.core('active-bg-color').value[2] + ',' + style.core('active-bg-opacity').value + ')';\n context.beginPath();\n context.arc(pos.x, pos.y, style.core('active-bg-size').pfValue / zoom, 0, 2 * Math.PI);\n context.fill();\n }\n var timeToRender = r.lastRedrawTime;\n if (r.showFps && timeToRender) {\n timeToRender = Math.round(timeToRender);\n var fps = Math.round(1000 / timeToRender);\n var text = '1 frame = ' + timeToRender + ' ms = ' + fps + ' fps';\n context.setTransform(1, 0, 0, 1, 0, 0);\n context.fillStyle = 'rgba(255, 0, 0, 0.75)';\n context.strokeStyle = 'rgba(255, 0, 0, 0.75)';\n // context.lineWidth = 1;\n context.font = '30px Arial';\n if (!fpsHeight) {\n var dims = context.measureText(text);\n fpsHeight = dims.actualBoundingBoxAscent;\n }\n context.fillText(text, 0, fpsHeight);\n var maxFps = 60;\n context.strokeRect(0, fpsHeight + 10, 250, 20);\n context.fillRect(0, fpsHeight + 10, 250 * Math.min(fps / maxFps, 1), 20);\n }\n if (!drawAllLayers) {\n needDraw[r.SELECT_BOX] = false;\n }\n }\n};\n\n/**\n * Notes:\n * - All colors have premultiplied alpha. Very important for textues and \n * blending to work correctly.\n */\n\nfunction compileShader(gl, type, source) {\n var shader = gl.createShader(type);\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n throw new Error(gl.getShaderInfoLog(shader));\n }\n // console.log(gl.getShaderInfoLog(shader));\n return shader;\n}\nfunction createProgram(gl, vertexSource, fragementSource) {\n var vertexShader = compileShader(gl, gl.VERTEX_SHADER, vertexSource);\n var fragmentShader = compileShader(gl, gl.FRAGMENT_SHADER, fragementSource);\n var program = gl.createProgram();\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n throw new Error('Could not initialize shaders');\n }\n return program;\n}\n\n/**\n * Creates an offscren canvas with a 2D context, for the\n * canvas renderer to use for drawing textures.\n */\nfunction createTextureCanvas(r, width, height) {\n if (height === undefined) {\n height = width;\n }\n var canvas = r.makeOffscreenCanvas(width, height);\n var ctx = canvas.context = canvas.getContext('2d');\n canvas.clear = function () {\n return ctx.clearRect(0, 0, canvas.width, canvas.height);\n };\n canvas.clear();\n return canvas;\n}\n\n/**\n * Returns the current pan & zoom values, scaled by the pixel ratio.\n */\nfunction getEffectivePanZoom(r) {\n var pixelRatio = r.pixelRatio;\n var zoom = r.cy.zoom();\n var pan = r.cy.pan();\n return {\n zoom: zoom * pixelRatio,\n pan: {\n x: pan.x * pixelRatio,\n y: pan.y * pixelRatio\n }\n };\n}\n\n/**\n * Returns the zoom value, scaled by the pixel ratio.\n */\nfunction getEffectiveZoom(r) {\n var pixelRatio = r.pixelRatio;\n var zoom = r.cy.zoom();\n return zoom * pixelRatio;\n}\nfunction modelToRenderedPosition(r, pan, zoom, x, y) {\n var rx = x * zoom + pan.x;\n var ry = y * zoom + pan.y;\n ry = Math.round(r.canvasHeight - ry); // adjust for webgl\n return [rx, ry];\n}\nfunction isSimpleShape(node) {\n // the actual shape is checked in ElementDrawingWebGL._getVertTypeForShape()\n // no need to check it twice, this just checks other visual properties\n if (node.pstyle('background-fill').value !== 'solid') return false;\n if (node.pstyle('background-image').strValue !== 'none') return false;\n if (node.pstyle('border-width').value === 0) return true;\n if (node.pstyle('border-opacity').value === 0) return true;\n // we have a border but it must be simple\n if (node.pstyle('border-style').value !== 'solid') return false;\n // TODO ignoring 'border-cap', 'border-join' and 'border-position' for now\n return true;\n}\nfunction arrayEqual(a1, a2) {\n if (a1.length !== a2.length) {\n return false;\n }\n for (var i = 0; i < a1.length; i++) {\n if (a1[i] !== a2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * Takes color & opacity style values and converts them to WebGL format. \n * Alpha is premultiplied.\n */\nfunction toWebGLColor(color, opacity, outArray) {\n var r = color[0] / 255;\n var g = color[1] / 255;\n var b = color[2] / 255;\n var a = opacity;\n var arr = outArray || new Array(4);\n arr[0] = r * a;\n arr[1] = g * a;\n arr[2] = b * a;\n arr[3] = a;\n return arr;\n}\nfunction indexToVec4(index, outArray) {\n var arr = outArray || new Array(4);\n arr[0] = (index >> 0 & 0xFF) / 0xFF;\n arr[1] = (index >> 8 & 0xFF) / 0xFF;\n arr[2] = (index >> 16 & 0xFF) / 0xFF;\n arr[3] = (index >> 24 & 0xFF) / 0xFF;\n return arr;\n}\nfunction vec4ToIndex(vec4) {\n return vec4[0] + (vec4[1] << 8) + (vec4[2] << 16) + (vec4[3] << 24);\n}\nfunction createTexture(gl, debugID) {\n var texture = gl.createTexture();\n texture.buffer = function (offscreenCanvas) {\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST);\n\n // very important, this tells webgl to premultiply colors by the alpha channel\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, offscreenCanvas);\n gl.generateMipmap(gl.TEXTURE_2D);\n gl.bindTexture(gl.TEXTURE_2D, null);\n };\n texture.deleteTexture = function () {\n gl.deleteTexture(texture);\n };\n return texture;\n}\nfunction getTypeInfo(gl, glslType) {\n switch (glslType) {\n case 'float':\n return [1, gl.FLOAT, 4];\n case 'vec2':\n return [2, gl.FLOAT, 4];\n case 'vec3':\n return [3, gl.FLOAT, 4];\n case 'vec4':\n return [4, gl.FLOAT, 4];\n case 'int':\n return [1, gl.INT, 4];\n case 'ivec2':\n return [2, gl.INT, 4];\n }\n}\nfunction createTypedArray(gl, glType, dataOrSize) {\n switch (glType) {\n case gl.FLOAT:\n return new Float32Array(dataOrSize);\n case gl.INT:\n return new Int32Array(dataOrSize);\n }\n}\nfunction createTypedArrayView(gl, glType, array, stride, size, i) {\n switch (glType) {\n case gl.FLOAT:\n return new Float32Array(array.buffer, i * stride, size);\n case gl.INT:\n return new Int32Array(array.buffer, i * stride, size);\n }\n}\n\n/** @param {WebGLRenderingContext} gl */\nfunction createBufferStaticDraw(gl, type, attributeLoc, dataArray) {\n var _getTypeInfo = getTypeInfo(gl, type),\n _getTypeInfo2 = _slicedToArray(_getTypeInfo, 2),\n size = _getTypeInfo2[0],\n glType = _getTypeInfo2[1];\n var data = createTypedArray(gl, glType, dataArray);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, data, gl.STATIC_DRAW);\n if (glType === gl.FLOAT) {\n gl.vertexAttribPointer(attributeLoc, size, glType, false, 0, 0);\n } else if (glType === gl.INT) {\n gl.vertexAttribIPointer(attributeLoc, size, glType, 0, 0);\n }\n gl.enableVertexAttribArray(attributeLoc);\n gl.bindBuffer(gl.ARRAY_BUFFER, null);\n return buffer;\n}\n\n/** \n * Creates a float buffer with gl.DYNAMIC_DRAW.\n * The returned buffer object contains functions to easily set instance data and buffer the data before a draw call.\n * @param {WebGLRenderingContext} gl \n */\nfunction createBufferDynamicDraw(gl, instances, type, attributeLoc) {\n var _getTypeInfo3 = getTypeInfo(gl, type),\n _getTypeInfo4 = _slicedToArray(_getTypeInfo3, 3),\n size = _getTypeInfo4[0],\n glType = _getTypeInfo4[1],\n bytes = _getTypeInfo4[2];\n var dataArray = createTypedArray(gl, glType, instances * size);\n var stride = size * bytes;\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, instances * stride, gl.DYNAMIC_DRAW);\n gl.enableVertexAttribArray(attributeLoc);\n if (glType === gl.FLOAT) {\n gl.vertexAttribPointer(attributeLoc, size, glType, false, stride, 0);\n } else if (glType === gl.INT) {\n gl.vertexAttribIPointer(attributeLoc, size, glType, stride, 0);\n }\n gl.vertexAttribDivisor(attributeLoc, 1);\n gl.bindBuffer(gl.ARRAY_BUFFER, null);\n\n // use array views to set values directly into the buffer array\n var views = new Array(instances);\n for (var i = 0; i < instances; i++) {\n views[i] = createTypedArrayView(gl, glType, dataArray, stride, size, i);\n }\n buffer.dataArray = dataArray;\n buffer.stride = stride;\n buffer.size = size;\n buffer.getView = function (i) {\n return views[i];\n };\n buffer.setPoint = function (i, x, y) {\n var view = views[i];\n view[0] = x;\n view[1] = y;\n };\n buffer.bufferSubData = function (count) {\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n if (count) {\n gl.bufferSubData(gl.ARRAY_BUFFER, 0, dataArray, 0, count * size);\n } else {\n gl.bufferSubData(gl.ARRAY_BUFFER, 0, dataArray);\n }\n };\n return buffer;\n}\n\n/** \n * Creates a buffer of 3x3 matrix data for use as attribute data.\n * @param {WebGLRenderingContext} gl \n */\nfunction create3x3MatrixBufferDynamicDraw(gl, instances, attributeLoc) {\n var matrixSize = 9; // 3x3 matrix\n var matrixData = new Float32Array(instances * matrixSize);\n\n // use matrix views to set values directly into the matrixData array\n var matrixViews = new Array(instances);\n for (var i = 0; i < instances; i++) {\n var byteOffset = i * matrixSize * 4; // 4 bytes per float\n matrixViews[i] = new Float32Array(matrixData.buffer, byteOffset, matrixSize); // array view\n }\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, matrixData.byteLength, gl.DYNAMIC_DRAW);\n\n // each row of the matrix needs to be a separate attribute\n for (var _i = 0; _i < 3; _i++) {\n var loc = attributeLoc + _i;\n gl.enableVertexAttribArray(loc);\n gl.vertexAttribPointer(loc, 3, gl.FLOAT, false, 3 * 12, _i * 12);\n gl.vertexAttribDivisor(loc, 1);\n }\n gl.bindBuffer(gl.ARRAY_BUFFER, null);\n buffer.getMatrixView = function (i) {\n return matrixViews[i];\n };\n\n // TODO this is too slow, use getMatrixView and pass the view directly to the glmatrix library\n buffer.setData = function (matrix, i) {\n matrixViews[i].set(matrix, 0);\n };\n buffer.bufferSubData = function () {\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferSubData(gl.ARRAY_BUFFER, 0, matrixData);\n };\n return buffer;\n}\n\n/** \n * Creates a Frame Buffer to use for offscreen rendering.\n * @param {WebGLRenderingContext} gl \n */\nfunction createPickingFrameBuffer(gl) {\n // Create and bind the framebuffer\n var fb = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fb);\n\n // Create a texture to render to\n var targetTexture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, targetTexture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n\n // attach the texture as the first color attachment\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, targetTexture, 0);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n fb.setFramebufferAttachmentSizes = function (width, height) {\n gl.bindTexture(gl.TEXTURE_2D, targetTexture);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n };\n return fb;\n}\n\n/**\n * Common utilities\n * @module glMatrix\n */\n// Configuration Constants\nvar ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nif (!Math.hypot) Math.hypot = function () {\n var y = 0,\n i = arguments.length;\n\n while (i--) {\n y += arguments[i] * arguments[i];\n }\n\n return Math.sqrt(y);\n};\n\n/**\n * 3x3 Matrix\n * @module mat3\n */\n\n/**\n * Creates a new identity mat3\n *\n * @returns {mat3} a new 3x3 matrix\n */\n\nfunction create() {\n var out = new ARRAY_TYPE(9);\n\n if (ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n }\n\n out[0] = 1;\n out[4] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\nfunction multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b00 = b[0],\n b01 = b[1],\n b02 = b[2];\n var b10 = b[3],\n b11 = b[4],\n b12 = b[5];\n var b20 = b[6],\n b21 = b[7],\n b22 = b[8];\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to translate\n * @param {ReadonlyVec2} v vector to translate by\n * @returns {mat3} out\n */\n\nfunction translate(out, a, v) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n x = v[0],\n y = v[1];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a10;\n out[4] = a11;\n out[5] = a12;\n out[6] = x * a00 + y * a10 + a20;\n out[7] = x * a01 + y * a11 + a21;\n out[8] = x * a02 + y * a12 + a22;\n return out;\n}\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\nfunction rotate(out, a, rad) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c * a00 + s * a10;\n out[1] = c * a01 + s * a11;\n out[2] = c * a02 + s * a12;\n out[3] = c * a10 - s * a00;\n out[4] = c * a11 - s * a01;\n out[5] = c * a12 - s * a02;\n out[6] = a20;\n out[7] = a21;\n out[8] = a22;\n return out;\n}\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/\n\nfunction scale(out, a, v) {\n var x = v[0],\n y = v[1];\n out[0] = x * a[0];\n out[1] = x * a[1];\n out[2] = x * a[2];\n out[3] = y * a[3];\n out[4] = y * a[4];\n out[5] = y * a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Generates a 2D projection matrix with the given bounds\n *\n * @param {mat3} out mat3 frustum matrix will be written into\n * @param {number} width Width of your gl context\n * @param {number} height Height of gl context\n * @returns {mat3} out\n */\n\nfunction projection(out, width, height) {\n out[0] = 2 / width;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = -2 / height;\n out[5] = 0;\n out[6] = -1;\n out[7] = 1;\n out[8] = 1;\n return out;\n}\n\n// A \"texture atlas\" is a big canvas, and sections of it are used as textures for nodes/labels.\n\n/**\n * A single square texture atlas (also known as a \"sprite sheet\").\n */\nvar Atlas = /*#__PURE__*/function () {\n function Atlas(r, texSize, texRows, createTextureCanvas) {\n _classCallCheck(this, Atlas);\n this.debugID = Math.floor(Math.random() * 10000);\n this.r = r;\n this.texSize = texSize;\n this.texRows = texRows;\n this.texHeight = Math.floor(texSize / texRows);\n this.enableWrapping = true; // hardcoded for now, can be made an option\n\n this.locked = false; // once an atlas is locked it can no longer be drawn to\n this.texture = null; // WebGLTexture object\n this.needsBuffer = true;\n\n // a \"location\" is an pointer into the atlas with a 'row' and 'x' fields\n this.freePointer = {\n x: 0,\n row: 0\n };\n\n // map from the style key to the row/x where the texture starts\n // if the texture wraps then there's a second location\n this.keyToLocation = new Map(); // styleKey -> [ location, location ]\n\n this.canvas = createTextureCanvas(r, texSize, texSize);\n this.scratch = createTextureCanvas(r, texSize, this.texHeight, 'scratch');\n }\n return _createClass(Atlas, [{\n key: \"lock\",\n value: function lock() {\n this.locked = true;\n }\n }, {\n key: \"getKeys\",\n value: function getKeys() {\n return new Set(this.keyToLocation.keys());\n }\n }, {\n key: \"getScale\",\n value: function getScale(_ref) {\n var w = _ref.w,\n h = _ref.h;\n var texHeight = this.texHeight,\n maxTexWidth = this.texSize;\n // try to fit to the height of a row\n var scale = texHeight / h; // TODO what about pixelRatio?\n var texW = w * scale;\n var texH = h * scale;\n // if the scaled width is too wide then scale to fit max width instead\n if (texW > maxTexWidth) {\n scale = maxTexWidth / w;\n texW = w * scale;\n texH = h * scale;\n }\n return {\n scale: scale,\n texW: texW,\n texH: texH\n };\n }\n }, {\n key: \"draw\",\n value: function draw(key, bb, doDrawing) {\n var _this = this;\n if (this.locked) throw new Error('can\\'t draw, atlas is locked');\n var texSize = this.texSize,\n texRows = this.texRows,\n texHeight = this.texHeight;\n var _this$getScale = this.getScale(bb),\n scale = _this$getScale.scale,\n texW = _this$getScale.texW,\n texH = _this$getScale.texH;\n var drawAt = function drawAt(location, canvas) {\n if (doDrawing && canvas) {\n var context = canvas.context;\n var x = location.x,\n row = location.row;\n var xOffset = x;\n var yOffset = texHeight * row;\n context.save();\n context.translate(xOffset, yOffset);\n context.scale(scale, scale);\n doDrawing(context, bb);\n context.restore();\n }\n };\n var locations = [null, null];\n var drawNormal = function drawNormal() {\n // don't need to wrap, draw directly on the canvas\n drawAt(_this.freePointer, _this.canvas);\n locations[0] = {\n x: _this.freePointer.x,\n y: _this.freePointer.row * texHeight,\n w: texW,\n h: texH\n };\n locations[1] = {\n // create a second location with a width of 0, for convenience\n x: _this.freePointer.x + texW,\n y: _this.freePointer.row * texHeight,\n w: 0,\n h: texH\n };\n\n // move the pointer to the end of the texture\n _this.freePointer.x += texW;\n if (_this.freePointer.x == texSize) {\n _this.freePointer.x = 0;\n _this.freePointer.row++;\n }\n };\n var drawWrapped = function drawWrapped() {\n var scratch = _this.scratch,\n canvas = _this.canvas;\n\n // Draw to the scratch canvas\n scratch.clear();\n drawAt({\n x: 0,\n row: 0\n }, scratch);\n var firstTexW = texSize - _this.freePointer.x;\n var secondTexW = texW - firstTexW;\n var h = texHeight;\n {\n // copy first part of scratch to the first texture\n var dx = _this.freePointer.x;\n var dy = _this.freePointer.row * texHeight;\n var w = firstTexW;\n canvas.context.drawImage(scratch, 0, 0, w, h, dx, dy, w, h);\n locations[0] = {\n x: dx,\n y: dy,\n w: w,\n h: texH\n };\n }\n {\n // copy second part of scratch to the second texture\n var sx = firstTexW;\n var _dy = (_this.freePointer.row + 1) * texHeight;\n var _w = secondTexW;\n if (canvas) {\n canvas.context.drawImage(scratch, sx, 0, _w, h, 0, _dy, _w, h);\n }\n locations[1] = {\n x: 0,\n y: _dy,\n w: _w,\n h: texH\n };\n }\n _this.freePointer.x = secondTexW;\n _this.freePointer.row++;\n };\n var moveToStartOfNextRow = function moveToStartOfNextRow() {\n _this.freePointer.x = 0;\n _this.freePointer.row++;\n };\n if (this.freePointer.x + texW <= texSize) {\n // There's enough space in the current row\n drawNormal();\n } else if (this.freePointer.row >= texRows - 1) {\n // Need to move to the next row, but there are no more rows, atlas is full.\n return false;\n } else if (this.freePointer.x === texSize) {\n // happen to be right at end of current row\n moveToStartOfNextRow();\n drawNormal();\n } else if (this.enableWrapping) {\n // draw part of the texture to the end of the curent row, then wrap to the next row\n drawWrapped();\n } else {\n // move to the start of the next row, then draw normally\n moveToStartOfNextRow();\n drawNormal();\n }\n this.keyToLocation.set(key, locations);\n this.needsBuffer = true;\n return locations;\n }\n }, {\n key: \"getOffsets\",\n value: function getOffsets(key) {\n return this.keyToLocation.get(key);\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.freePointer.x === 0 && this.freePointer.row === 0;\n }\n }, {\n key: \"canFit\",\n value: function canFit(bb) {\n if (this.locked) return false;\n var texSize = this.texSize,\n texRows = this.texRows;\n var _this$getScale2 = this.getScale(bb),\n texW = _this$getScale2.texW;\n if (this.freePointer.x + texW > texSize) {\n // need to wrap\n return this.freePointer.row < texRows - 1; // return true if there's a row to wrap to\n }\n return true;\n }\n\n // called on every frame\n }, {\n key: \"bufferIfNeeded\",\n value: function bufferIfNeeded(gl) {\n if (!this.texture) {\n this.texture = createTexture(gl, this.debugID);\n }\n if (this.needsBuffer) {\n this.texture.buffer(this.canvas);\n this.needsBuffer = false;\n if (this.locked) {\n this.canvas = null;\n this.scratch = null;\n }\n }\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n if (this.texture) {\n this.texture.deleteTexture();\n this.texture = null;\n }\n this.canvas = null;\n this.scratch = null;\n this.locked = true;\n }\n }]);\n}();\n\n/**\n * A collection of texture atlases, all of the same \"render type\". \n * ('node-body' is an example of a render type.)\n * An AtlasCollection can also be notified when a texture is no longer needed, \n * and it can garbage collect the unused textures.\n */\nvar AtlasCollection = /*#__PURE__*/function () {\n function AtlasCollection(r, texSize, texRows, createTextureCanvas) {\n _classCallCheck(this, AtlasCollection);\n this.r = r;\n this.texSize = texSize;\n this.texRows = texRows;\n this.createTextureCanvas = createTextureCanvas;\n this.atlases = [];\n this.styleKeyToAtlas = new Map();\n this.markedKeys = new Set(); // marked for garbage collection\n }\n return _createClass(AtlasCollection, [{\n key: \"getKeys\",\n value: function getKeys() {\n return new Set(this.styleKeyToAtlas.keys());\n }\n }, {\n key: \"_createAtlas\",\n value: function _createAtlas() {\n var r = this.r,\n texSize = this.texSize,\n texRows = this.texRows,\n createTextureCanvas = this.createTextureCanvas;\n return new Atlas(r, texSize, texRows, createTextureCanvas);\n }\n }, {\n key: \"_getScratchCanvas\",\n value: function _getScratchCanvas() {\n if (!this.scratch) {\n var r = this.r,\n texSize = this.texSize,\n texRows = this.texRows,\n createTextureCanvas = this.createTextureCanvas;\n var texHeight = Math.floor(texSize / texRows);\n this.scratch = createTextureCanvas(r, texSize, texHeight, 'scratch');\n }\n return this.scratch;\n }\n }, {\n key: \"draw\",\n value: function draw(key, bb, doDrawing) {\n var atlas = this.styleKeyToAtlas.get(key);\n if (!atlas) {\n // check for space at the end of the last atlas\n atlas = this.atlases[this.atlases.length - 1];\n if (!atlas || !atlas.canFit(bb)) {\n if (atlas) atlas.lock();\n // create a new atlas\n atlas = this._createAtlas();\n this.atlases.push(atlas);\n }\n atlas.draw(key, bb, doDrawing);\n this.styleKeyToAtlas.set(key, atlas);\n }\n return atlas;\n }\n }, {\n key: \"getAtlas\",\n value: function getAtlas(key) {\n return this.styleKeyToAtlas.get(key);\n }\n }, {\n key: \"hasAtlas\",\n value: function hasAtlas(key) {\n return this.styleKeyToAtlas.has(key);\n }\n }, {\n key: \"markKeyForGC\",\n value: function markKeyForGC(key) {\n this.markedKeys.add(key);\n }\n }, {\n key: \"gc\",\n value: function gc() {\n var _this2 = this;\n var markedKeys = this.markedKeys;\n if (markedKeys.size === 0) {\n console.log('nothing to garbage collect');\n return;\n }\n var newAtlases = [];\n var newStyleKeyToAtlas = new Map();\n var newAtlas = null;\n var _iterator = _createForOfIteratorHelper(this.atlases),\n _step;\n try {\n var _loop = function _loop() {\n var atlas = _step.value;\n var keys = atlas.getKeys();\n var keysToCollect = intersection(markedKeys, keys);\n if (keysToCollect.size === 0) {\n // this atlas can still be used\n newAtlases.push(atlas);\n keys.forEach(function (k) {\n return newStyleKeyToAtlas.set(k, atlas);\n });\n return 1; // continue\n }\n if (!newAtlas) {\n newAtlas = _this2._createAtlas();\n newAtlases.push(newAtlas);\n }\n var _iterator2 = _createForOfIteratorHelper(keys),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var key = _step2.value;\n if (!keysToCollect.has(key)) {\n var _atlas$getOffsets = atlas.getOffsets(key),\n _atlas$getOffsets2 = _slicedToArray(_atlas$getOffsets, 2),\n s1 = _atlas$getOffsets2[0],\n s2 = _atlas$getOffsets2[1];\n if (!newAtlas.canFit({\n w: s1.w + s2.w,\n h: s1.h\n })) {\n newAtlas.lock();\n newAtlas = _this2._createAtlas();\n newAtlases.push(newAtlas);\n }\n if (atlas.canvas) {\n // if the texture can't be copied then it will have to be redrawn on the next frame\n _this2._copyTextureToNewAtlas(key, atlas, newAtlas);\n newStyleKeyToAtlas.set(key, newAtlas);\n }\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n atlas.dispose();\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n if (_loop()) continue;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n this.atlases = newAtlases;\n this.styleKeyToAtlas = newStyleKeyToAtlas;\n this.markedKeys = new Set();\n }\n }, {\n key: \"_copyTextureToNewAtlas\",\n value: function _copyTextureToNewAtlas(key, oldAtlas, newAtlas) {\n var _oldAtlas$getOffsets = oldAtlas.getOffsets(key),\n _oldAtlas$getOffsets2 = _slicedToArray(_oldAtlas$getOffsets, 2),\n s1 = _oldAtlas$getOffsets2[0],\n s2 = _oldAtlas$getOffsets2[1];\n if (s2.w === 0) {\n // the texture does not wrap, draw directly to new atlas\n newAtlas.draw(key, s1, function (context) {\n context.drawImage(oldAtlas.canvas, s1.x, s1.y, s1.w, s1.h, 0, 0, s1.w, s1.h);\n });\n } else {\n // the texture wraps, first draw both parts to a scratch canvas\n var scratch = this._getScratchCanvas();\n scratch.clear();\n scratch.context.drawImage(oldAtlas.canvas, s1.x, s1.y, s1.w, s1.h, 0, 0, s1.w, s1.h);\n scratch.context.drawImage(oldAtlas.canvas, s2.x, s2.y, s2.w, s2.h, s1.w, 0, s2.w, s2.h);\n\n // now draw the scratch to the new atlas\n var w = s1.w + s2.w;\n var h = s1.h;\n newAtlas.draw(key, {\n w: w,\n h: h\n }, function (context) {\n context.drawImage(scratch, 0, 0, w, h, 0, 0, w, h // the destination context has already been translated to the correct position\n );\n });\n }\n }\n }, {\n key: \"getCounts\",\n value: function getCounts() {\n return {\n keyCount: this.styleKeyToAtlas.size,\n atlasCount: new Set(this.styleKeyToAtlas.values()).size\n };\n }\n }]);\n}();\nfunction intersection(set1, set2) {\n // TODO why no Set.intersection in node 16???\n if (set1.intersection) return set1.intersection(set2);else return new Set(_toConsumableArray(set1).filter(function (x) {\n return set2.has(x);\n }));\n}\n\n/**\n * Used to manage batches of Atlases for drawing nodes and labels.\n * Supports different types of AtlasCollections for different render types,\n * for example 'node-body' and 'node-label' would be different render types.\n * Render types are kept separate because they will likely need to be garbage collected\n * separately and its not entierly guaranteed that their style keys won't collide.\n */\nvar AtlasManager = /*#__PURE__*/function () {\n function AtlasManager(r, globalOptions) {\n _classCallCheck(this, AtlasManager);\n this.r = r;\n this.globalOptions = globalOptions;\n this.atlasSize = globalOptions.webglTexSize;\n this.maxAtlasesPerBatch = globalOptions.webglTexPerBatch;\n this.renderTypes = new Map(); // renderType:string -> renderTypeOptions\n this.collections = new Map(); // collectionName:string -> AtlasCollection\n\n this.typeAndIdToKey = new Map(); // [renderType,id] => Array<style key>\n }\n return _createClass(AtlasManager, [{\n key: \"getAtlasSize\",\n value: function getAtlasSize() {\n return this.atlasSize;\n }\n }, {\n key: \"addAtlasCollection\",\n value: function addAtlasCollection(collectionName, atlasCollectionOptions) {\n var _this$globalOptions = this.globalOptions,\n webglTexSize = _this$globalOptions.webglTexSize,\n createTextureCanvas = _this$globalOptions.createTextureCanvas;\n var texRows = atlasCollectionOptions.texRows;\n var cachedCreateTextureCanvas = this._cacheScratchCanvas(createTextureCanvas);\n var atlasCollection = new AtlasCollection(this.r, webglTexSize, texRows, cachedCreateTextureCanvas);\n this.collections.set(collectionName, atlasCollection);\n }\n }, {\n key: \"addRenderType\",\n value: function addRenderType(type, renderTypeOptions) {\n var collection = renderTypeOptions.collection;\n if (!this.collections.has(collection)) throw new Error(\"invalid atlas collection name '\".concat(collection, \"'\"));\n var atlasCollection = this.collections.get(collection);\n var opts = extend({\n type: type,\n atlasCollection: atlasCollection\n }, renderTypeOptions);\n this.renderTypes.set(type, opts);\n }\n }, {\n key: \"getRenderTypeOpts\",\n value: function getRenderTypeOpts(type) {\n return this.renderTypes.get(type);\n }\n }, {\n key: \"getAtlasCollection\",\n value: function getAtlasCollection(name) {\n return this.collections.get(name);\n }\n }, {\n key: \"_cacheScratchCanvas\",\n value: function _cacheScratchCanvas(createTextureCanvas) {\n // all scratch canvases for the same render type will have the same width and height (ie webglTexRows option)\n // but we'll keep track of the width and height just to be safe\n var prevW = -1;\n var prevH = -1;\n var scratchCanvas = null;\n return function (r, w, h, scratch) {\n if (scratch) {\n if (!scratchCanvas || w != prevW || h != prevH) {\n prevW = w;\n prevH = h;\n scratchCanvas = createTextureCanvas(r, w, h);\n }\n return scratchCanvas;\n } else {\n return createTextureCanvas(r, w, h);\n }\n };\n }\n }, {\n key: \"_key\",\n value: function _key(renderType, id) {\n return \"\".concat(renderType, \"-\").concat(id); // TODO not very efficient\n }\n\n /** Marks textues associated with the element for garbage collection. */\n }, {\n key: \"invalidate\",\n value: function invalidate(eles) {\n var _this3 = this;\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$forceRedraw = _ref2.forceRedraw,\n forceRedraw = _ref2$forceRedraw === undefined ? false : _ref2$forceRedraw,\n _ref2$filterEle = _ref2.filterEle,\n filterEle = _ref2$filterEle === undefined ? function () {\n return true;\n } : _ref2$filterEle,\n _ref2$filterType = _ref2.filterType,\n filterType = _ref2$filterType === undefined ? function () {\n return true;\n } : _ref2$filterType;\n var needGC = false;\n var runGCNow = false;\n var _iterator3 = _createForOfIteratorHelper(eles),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var ele = _step3.value;\n if (filterEle(ele)) {\n var _iterator4 = _createForOfIteratorHelper(this.renderTypes.values()),\n _step4;\n try {\n var _loop2 = function _loop2() {\n var opts = _step4.value;\n var renderType = opts.type;\n if (filterType(renderType)) {\n var atlasCollection = _this3.collections.get(opts.collection);\n var key = opts.getKey(ele);\n var keyArray = Array.isArray(key) ? key : [key];\n\n // when a node's background image finishes loading, the style key doesn't change but still needs to be redrawn\n if (forceRedraw) {\n keyArray.forEach(function (key) {\n return atlasCollection.markKeyForGC(key);\n });\n runGCNow = true; // run GC to remove the old texture right now, that way we don't need to remember for the next gc \n } else {\n var id = opts.getID ? opts.getID(ele) : ele.id();\n var mapKey = _this3._key(renderType, id);\n var oldKeyArray = _this3.typeAndIdToKey.get(mapKey);\n if (oldKeyArray !== undefined && !arrayEqual(keyArray, oldKeyArray)) {\n // conservative approach, if any of the keys don't match then throw them all away\n needGC = true;\n _this3.typeAndIdToKey[\"delete\"](mapKey);\n oldKeyArray.forEach(function (oldKey) {\n return atlasCollection.markKeyForGC(oldKey);\n });\n }\n }\n }\n };\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n _loop2();\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n if (runGCNow) {\n this.gc();\n needGC = false;\n }\n return needGC;\n }\n\n /** Garbage collect */\n }, {\n key: \"gc\",\n value: function gc() {\n var _iterator5 = _createForOfIteratorHelper(this.collections.values()),\n _step5;\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var collection = _step5.value;\n collection.gc();\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n }, {\n key: \"getOrCreateAtlas\",\n value: function getOrCreateAtlas(ele, type, bb, styleKey) {\n // styleKey is not an array here\n var opts = this.renderTypes.get(type);\n var atlasCollection = this.collections.get(opts.collection);\n\n // draws the texture only if needed\n var drawn = false;\n var atlas = atlasCollection.draw(styleKey, bb, function (context) {\n if (opts.drawClipped) {\n context.save();\n context.beginPath();\n context.rect(0, 0, bb.w, bb.h);\n context.clip();\n opts.drawElement(context, ele, bb, true, true);\n context.restore();\n } else {\n opts.drawElement(context, ele, bb, true, true);\n }\n drawn = true;\n });\n if (drawn) {\n var id = opts.getID ? opts.getID(ele) : ele.id(); // for testing\n var mapKey = this._key(type, id);\n if (this.typeAndIdToKey.has(mapKey)) {\n this.typeAndIdToKey.get(mapKey).push(styleKey);\n } else {\n this.typeAndIdToKey.set(mapKey, [styleKey]);\n }\n }\n return atlas;\n }\n }, {\n key: \"getAtlasInfo\",\n value: function getAtlasInfo(ele, type) {\n var _this4 = this;\n var opts = this.renderTypes.get(type);\n var key = opts.getKey(ele);\n var keyArray = Array.isArray(key) ? key : [key];\n return keyArray.map(function (styleKey) {\n var bb = opts.getBoundingBox(ele, styleKey); // pass the key back to the getBoundingBox method\n var atlas = _this4.getOrCreateAtlas(ele, type, bb, styleKey);\n var _atlas$getOffsets3 = atlas.getOffsets(styleKey),\n _atlas$getOffsets4 = _slicedToArray(_atlas$getOffsets3, 2),\n tex1 = _atlas$getOffsets4[0],\n tex2 = _atlas$getOffsets4[1];\n return {\n atlas: atlas,\n tex: tex1,\n tex1: tex1,\n tex2: tex2,\n bb: bb\n };\n });\n }\n }, {\n key: \"getDebugInfo\",\n value: function getDebugInfo() {\n var debugInfo = [];\n var _iterator6 = _createForOfIteratorHelper(this.collections),\n _step6;\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _step6$value = _slicedToArray(_step6.value, 2),\n name = _step6$value[0],\n collection = _step6$value[1];\n var _collection$getCounts = collection.getCounts(),\n keyCount = _collection$getCounts.keyCount,\n atlasCount = _collection$getCounts.atlasCount;\n debugInfo.push({\n type: name,\n keyCount: keyCount,\n atlasCount: atlasCount\n });\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n return debugInfo;\n }\n }]);\n}();\nvar AtlasBatchManager = /*#__PURE__*/function () {\n function AtlasBatchManager(globalOptions) {\n _classCallCheck(this, AtlasBatchManager);\n this.globalOptions = globalOptions;\n this.atlasSize = globalOptions.webglTexSize;\n this.maxAtlasesPerBatch = globalOptions.webglTexPerBatch;\n this.batchAtlases = [];\n }\n return _createClass(AtlasBatchManager, [{\n key: \"getMaxAtlasesPerBatch\",\n value: function getMaxAtlasesPerBatch() {\n return this.maxAtlasesPerBatch;\n }\n }, {\n key: \"getAtlasSize\",\n value: function getAtlasSize() {\n return this.atlasSize;\n }\n }, {\n key: \"getIndexArray\",\n value: function getIndexArray() {\n return Array.from({\n length: this.maxAtlasesPerBatch\n }, function (v, i) {\n return i;\n });\n }\n }, {\n key: \"startBatch\",\n value: function startBatch() {\n this.batchAtlases = [];\n }\n }, {\n key: \"getAtlasCount\",\n value: function getAtlasCount() {\n return this.batchAtlases.length;\n }\n }, {\n key: \"getAtlases\",\n value: function getAtlases() {\n return this.batchAtlases;\n }\n }, {\n key: \"canAddToCurrentBatch\",\n value: function canAddToCurrentBatch(atlas) {\n if (this.batchAtlases.length === this.maxAtlasesPerBatch) {\n return this.batchAtlases.includes(atlas);\n }\n return true; // not full\n }\n }, {\n key: \"getAtlasIndexForBatch\",\n value: function getAtlasIndexForBatch(atlas) {\n var atlasID = this.batchAtlases.indexOf(atlas);\n if (atlasID < 0) {\n if (this.batchAtlases.length === this.maxAtlasesPerBatch) {\n throw new Error('cannot add more atlases to batch');\n }\n this.batchAtlases.push(atlas);\n atlasID = this.batchAtlases.length - 1;\n }\n return atlasID;\n }\n }]);\n}();\n\n// Fragment shader functions to calculate signed distance\n// https://iquilezles.org/articles/distfunctions2d/\n// ellipse: https://www.shadertoy.com/view/4lsXDN \n\n/**\n * param p - point\n * float r - circle radius, eg 0.5 for unit circle\n */\nvar circleSD = \"\\n float circleSD(vec2 p, float r) {\\n return distance(vec2(0), p) - r; // signed distance\\n }\\n\";\n\n/**\n * param p - point\n * param b - b.x = half width, b.y = half height\n */\nvar rectangleSD = \"\\n float rectangleSD(vec2 p, vec2 b) {\\n vec2 d = abs(p)-b;\\n return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\\n }\\n\";\n\n/**\n * param p - point\n * param b - b.x = half width, b.y = half height\n * param cr - vector of corner radiuses\n */\nvar roundRectangleSD = \"\\n float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\\n cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\\n cr.x = (p.y > 0.0) ? cr.x : cr.y;\\n vec2 q = abs(p) - b + cr.x;\\n return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\\n }\\n\";\n\n/**\n * param p - point\n * param ab - a.x = horizontal radius, a.y = vertical radius\n */\nvar ellipseSD = \"\\n float ellipseSD(vec2 p, vec2 ab) {\\n p = abs( p ); // symmetry\\n\\n // find root with Newton solver\\n vec2 q = ab*(p-ab);\\n float w = (q.x<q.y)? 1.570796327 : 0.0;\\n for( int i=0; i<5; i++ ) {\\n vec2 cs = vec2(cos(w),sin(w));\\n vec2 u = ab*vec2( cs.x,cs.y);\\n vec2 v = ab*vec2(-cs.y,cs.x);\\n w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\\n }\\n \\n // compute final point and distance\\n float d = length(p-ab*vec2(cos(w),sin(w)));\\n \\n // return signed distance\\n return (dot(p/ab,p/ab)>1.0) ? d : -d;\\n }\\n\";\n\n/**\n * Two render modes. Each mode has its own shader program. They are almost identical, the main difference is the output.\n * SCREEN: output pixel colors to the screen\n * PICKING: output z-order index to an offscreen framebuffer, used to detect what's under the mouse cursor\n */\nvar RENDER_TARGET = {\n SCREEN: {\n name: 'screen',\n screen: true\n },\n PICKING: {\n name: 'picking',\n picking: true\n }\n};\n\n/**\n * Special handing for label textures in PICKING mode. See issue #3337.\n */\nvar TEX_PICKING_MODE = {\n // render the texture just like in RENDER_TARGET.SCREEN mode\n IGNORE: 1,\n // don't render the texture at all\n USE_BB: 2 // render the bounding box as an opaque rectangle\n};\n\n// Vertex types.\n// Used directly in the shaders so must be numeric.\n// There is only one shader program used for an entire frame that renders all types of elements.\n// There are if-else blocks in the shaders that do different things depending on the vertex type.\n// This allows all elements to be rendererd in large batches without switching shader programs.\nvar TEXTURE = 0;\nvar EDGE_STRAIGHT = 1;\nvar EDGE_CURVE_SEGMENT = 2;\nvar EDGE_ARROW = 3;\nvar RECTANGLE = 4;\nvar ROUND_RECTANGLE = 5;\nvar BOTTOM_ROUND_RECTANGLE = 6;\nvar ELLIPSE = 7;\nvar ElementDrawingWebGL = /*#__PURE__*/function () {\n /** \n * @param {WebGLRenderingContext} gl \n */\n function ElementDrawingWebGL(r, gl, opts) {\n _classCallCheck(this, ElementDrawingWebGL);\n this.r = r; // reference to the canvas renderer\n this.gl = gl;\n this.maxInstances = opts.webglBatchSize;\n this.atlasSize = opts.webglTexSize;\n this.bgColor = opts.bgColor;\n this.debug = opts.webglDebug;\n this.batchDebugInfo = [];\n opts.enableWrapping = true;\n opts.createTextureCanvas = createTextureCanvas; // Unit tests mock this\n\n this.atlasManager = new AtlasManager(r, opts);\n this.batchManager = new AtlasBatchManager(opts);\n this.simpleShapeOptions = new Map();\n this.program = this._createShaderProgram(RENDER_TARGET.SCREEN);\n this.pickingProgram = this._createShaderProgram(RENDER_TARGET.PICKING);\n this.vao = this._createVAO();\n }\n\n /**\n * @param { string } collectionName\n * @param {{ texRows: number }} opts\n */\n return _createClass(ElementDrawingWebGL, [{\n key: \"addAtlasCollection\",\n value: function addAtlasCollection(collectionName, opts) {\n this.atlasManager.addAtlasCollection(collectionName, opts);\n }\n\n /**\n * @typedef { Object } TextureRenderTypeOpts\n * @property { string } collection - name of atlas collection to render textures to\n * @property { function } getKey - returns the \"style key\" for an element, may be a single value or an array for multi-line lables\n * @property { function } drawElement - uses a canvas renderer to draw the element to the texture atlas\n * @property { boolean } drawClipped - if true the context will be clipped to the bounding box before drawElement() is called, may affect performance \n * @property { function } getBoundingBox - returns the bounding box for an element\n * @property { function } getRotation\n * @property { function } getRotationPoint\n * @property { function } getRotationOffset\n * @property { function } isVisible - an extra check for visibility in addition to ele.visible()\n * @property { function } getTexPickingMode - returns a value from the TEX_PICKING_MODE enum\n */\n /**\n * @param { string } typeName\n * @param { TextureRenderTypeOpts } opts\n */\n }, {\n key: \"addTextureAtlasRenderType\",\n value: function addTextureAtlasRenderType(typeName, opts) {\n this.atlasManager.addRenderType(typeName, opts);\n }\n\n /**\n * @typedef { Object } SimpleShapeRenderTypeOpts\n * @property { function } getBoundingBox - returns the bounding box for an element\n * @property { function } isVisible - this is an extra check for visibility in addition to ele.visible()\n * @property { function } isSimple - check if element is a simple shape, or if it needs to fall back to texture rendering\n * @property { ShapeVisualProperties } shapeProps\n */\n /**\n * @typedef { Object } ShapeVisualProperties\n * @property { string } shape\n * @property { string } color\n * @property { string } opacity\n * @property { string } padding\n * @property { string } radius\n * @property { boolean } border\n */\n /**\n * @param { string } typeName\n * @param { SimpleShapeRenderTypeOpts } opts\n */\n }, {\n key: \"addSimpleShapeRenderType\",\n value: function addSimpleShapeRenderType(typeName, opts) {\n this.simpleShapeOptions.set(typeName, opts);\n }\n\n /**\n * Inform the atlasManager when element style keys may have changed.\n * The atlasManager can then mark unused textures for \"garbage collection\".\n */\n }, {\n key: \"invalidate\",\n value: function invalidate(eles) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n type = _ref.type;\n var atlasManager = this.atlasManager;\n if (type) {\n return atlasManager.invalidate(eles, {\n filterType: function filterType(t) {\n return t === type;\n },\n forceRedraw: true\n });\n } else {\n return atlasManager.invalidate(eles);\n }\n }\n\n /**\n * Run texture garbage collection.\n */\n }, {\n key: \"gc\",\n value: function gc() {\n this.atlasManager.gc();\n }\n }, {\n key: \"_createShaderProgram\",\n value: function _createShaderProgram(renderTarget) {\n var gl = this.gl;\n var vertexShaderSource = \"#version 300 es\\n precision highp float;\\n\\n uniform mat3 uPanZoomMatrix;\\n uniform int uAtlasSize;\\n \\n // instanced\\n in vec2 aPosition; // a vertex from the unit square\\n \\n in mat3 aTransform; // used to transform verticies, eg into a bounding box\\n in int aVertType; // the type of thing we are rendering\\n\\n // the z-index that is output when using picking mode\\n in vec4 aIndex;\\n \\n // For textures\\n in int aAtlasId; // which shader unit/atlas to use\\n in vec4 aTex; // x/y/w/h of texture in atlas\\n\\n // for edges\\n in vec4 aPointAPointB;\\n in vec4 aPointCPointD;\\n in vec2 aLineWidth; // also used for node border width\\n\\n // simple shapes\\n in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\\n in vec4 aColor; // also used for edges\\n in vec4 aBorderColor; // aLineWidth is used for border width\\n\\n // output values passed to the fragment shader\\n out vec2 vTexCoord;\\n out vec4 vColor;\\n out vec2 vPosition;\\n // flat values are not interpolated\\n flat out int vAtlasId; \\n flat out int vVertType;\\n flat out vec2 vTopRight;\\n flat out vec2 vBotLeft;\\n flat out vec4 vCornerRadius;\\n flat out vec4 vBorderColor;\\n flat out vec2 vBorderWidth;\\n flat out vec4 vIndex;\\n \\n void main(void) {\\n int vid = gl_VertexID;\\n vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\\n\\n if(aVertType == \".concat(TEXTURE, \") {\\n float texX = aTex.x; // texture coordinates\\n float texY = aTex.y;\\n float texW = aTex.z;\\n float texH = aTex.w;\\n\\n if(vid == 1 || vid == 2 || vid == 4) {\\n texX += texW;\\n }\\n if(vid == 2 || vid == 4 || vid == 5) {\\n texY += texH;\\n }\\n\\n float d = float(uAtlasSize);\\n vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\\n\\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\\n }\\n else if(aVertType == \").concat(RECTANGLE, \" || aVertType == \").concat(ELLIPSE, \" \\n || aVertType == \").concat(ROUND_RECTANGLE, \" || aVertType == \").concat(BOTTOM_ROUND_RECTANGLE, \") { // simple shapes\\n\\n // the bounding box is needed by the fragment shader\\n vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat\\n vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\\n vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\\n\\n // calculations are done in the fragment shader, just pass these along\\n vColor = aColor;\\n vCornerRadius = aCornerRadius;\\n vBorderColor = aBorderColor;\\n vBorderWidth = aLineWidth;\\n\\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\\n }\\n else if(aVertType == \").concat(EDGE_STRAIGHT, \") {\\n vec2 source = aPointAPointB.xy;\\n vec2 target = aPointAPointB.zw;\\n\\n // adjust the geometry so that the line is centered on the edge\\n position.y = position.y - 0.5;\\n\\n // stretch the unit square into a long skinny rectangle\\n vec2 xBasis = target - source;\\n vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\\n vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\\n\\n gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\\n vColor = aColor;\\n } \\n else if(aVertType == \").concat(EDGE_CURVE_SEGMENT, \") {\\n vec2 pointA = aPointAPointB.xy;\\n vec2 pointB = aPointAPointB.zw;\\n vec2 pointC = aPointCPointD.xy;\\n vec2 pointD = aPointCPointD.zw;\\n\\n // adjust the geometry so that the line is centered on the edge\\n position.y = position.y - 0.5;\\n\\n vec2 p0, p1, p2, pos;\\n if(position.x == 0.0) { // The left side of the unit square\\n p0 = pointA;\\n p1 = pointB;\\n p2 = pointC;\\n pos = position;\\n } else { // The right side of the unit square, use same approach but flip the geometry upside down\\n p0 = pointD;\\n p1 = pointC;\\n p2 = pointB;\\n pos = vec2(0.0, -position.y);\\n }\\n\\n vec2 p01 = p1 - p0;\\n vec2 p12 = p2 - p1;\\n vec2 p21 = p1 - p2;\\n\\n // Find the normal vector.\\n vec2 tangent = normalize(normalize(p12) + normalize(p01));\\n vec2 normal = vec2(-tangent.y, tangent.x);\\n\\n // Find the vector perpendicular to p0 -> p1.\\n vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\\n\\n // Determine the bend direction.\\n float sigma = sign(dot(p01 + p21, normal));\\n float width = aLineWidth[0];\\n\\n if(sign(pos.y) == -sigma) {\\n // This is an intersecting vertex. Adjust the position so that there's no overlap.\\n vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\\n } else {\\n // This is a non-intersecting vertex. Treat it like a mitre join.\\n vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\\n gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\\n }\\n\\n vColor = aColor;\\n } \\n else if(aVertType == \").concat(EDGE_ARROW, \" && vid < 3) {\\n // massage the first triangle into an edge arrow\\n if(vid == 0)\\n position = vec2(-0.15, -0.3);\\n if(vid == 1)\\n position = vec2( 0.0, 0.0);\\n if(vid == 2)\\n position = vec2( 0.15, -0.3);\\n\\n gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\\n vColor = aColor;\\n }\\n else {\\n gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\\n }\\n\\n vAtlasId = aAtlasId;\\n vVertType = aVertType;\\n vIndex = aIndex;\\n }\\n \");\n var idxs = this.batchManager.getIndexArray();\n var fragmentShaderSource = \"#version 300 es\\n precision highp float;\\n\\n // declare texture unit for each texture atlas in the batch\\n \".concat(idxs.map(function (i) {\n return \"uniform sampler2D uTexture\".concat(i, \";\");\n }).join('\\n\\t'), \"\\n\\n uniform vec4 uBGColor;\\n uniform float uZoom;\\n\\n in vec2 vTexCoord;\\n in vec4 vColor;\\n in vec2 vPosition; // model coordinates\\n\\n flat in int vAtlasId;\\n flat in vec4 vIndex;\\n flat in int vVertType;\\n flat in vec2 vTopRight;\\n flat in vec2 vBotLeft;\\n flat in vec4 vCornerRadius;\\n flat in vec4 vBorderColor;\\n flat in vec2 vBorderWidth;\\n\\n out vec4 outColor;\\n\\n \").concat(circleSD, \"\\n \").concat(rectangleSD, \"\\n \").concat(roundRectangleSD, \"\\n \").concat(ellipseSD, \"\\n\\n vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\\n return vec4( \\n top.rgb + (bot.rgb * (1.0 - top.a)),\\n top.a + (bot.a * (1.0 - top.a)) \\n );\\n }\\n\\n vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\\n // scale to the zoom level so that borders don't look blurry when zoomed in\\n // note 1.5 is an aribitrary value chosen because it looks good\\n return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \\n }\\n\\n void main(void) {\\n if(vVertType == \").concat(TEXTURE, \") {\\n // look up the texel from the texture unit\\n \").concat(idxs.map(function (i) {\n return \"if(vAtlasId == \".concat(i, \") outColor = texture(uTexture\").concat(i, \", vTexCoord);\");\n }).join('\\n\\telse '), \"\\n } \\n else if(vVertType == \").concat(EDGE_ARROW, \") {\\n // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\\n outColor = blend(vColor, uBGColor);\\n outColor.a = 1.0; // make opaque, masks out line under arrow\\n }\\n else if(vVertType == \").concat(RECTANGLE, \" && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\\n outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\\n }\\n else if(vVertType == \").concat(RECTANGLE, \" || vVertType == \").concat(ELLIPSE, \" \\n || vVertType == \").concat(ROUND_RECTANGLE, \" || vVertType == \").concat(BOTTOM_ROUND_RECTANGLE, \") { // use SDF\\n\\n float outerBorder = vBorderWidth[0];\\n float innerBorder = vBorderWidth[1];\\n float borderPadding = outerBorder * 2.0;\\n float w = vTopRight.x - vBotLeft.x - borderPadding;\\n float h = vTopRight.y - vBotLeft.y - borderPadding;\\n vec2 b = vec2(w/2.0, h/2.0); // half width, half height\\n vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\\n\\n float d; // signed distance\\n if(vVertType == \").concat(RECTANGLE, \") {\\n d = rectangleSD(p, b);\\n } else if(vVertType == \").concat(ELLIPSE, \" && w == h) {\\n d = circleSD(p, b.x); // faster than ellipse\\n } else if(vVertType == \").concat(ELLIPSE, \") {\\n d = ellipseSD(p, b);\\n } else {\\n d = roundRectangleSD(p, b, vCornerRadius.wzyx);\\n }\\n\\n // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\\n // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\\n if(d > 0.0) {\\n if(d > outerBorder) {\\n discard;\\n } else {\\n outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\\n }\\n } else {\\n if(d > innerBorder) {\\n vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\\n vec4 innerBorderColor = blend(vBorderColor, vColor);\\n outColor = distInterp(innerBorderColor, outerColor, d);\\n } \\n else {\\n vec4 outerColor;\\n if(innerBorder == 0.0 && outerBorder == 0.0) {\\n outerColor = vec4(0);\\n } else if(innerBorder == 0.0) {\\n outerColor = vBorderColor;\\n } else {\\n outerColor = blend(vBorderColor, vColor);\\n }\\n outColor = distInterp(vColor, outerColor, d - innerBorder);\\n }\\n }\\n }\\n else {\\n outColor = vColor;\\n }\\n\\n \").concat(renderTarget.picking ? \"if(outColor.a == 0.0) discard;\\n else outColor = vIndex;\" : '', \"\\n }\\n \");\n var program = createProgram(gl, vertexShaderSource, fragmentShaderSource);\n\n // instance geometry\n program.aPosition = gl.getAttribLocation(program, 'aPosition');\n\n // attributes\n program.aIndex = gl.getAttribLocation(program, 'aIndex');\n program.aVertType = gl.getAttribLocation(program, 'aVertType');\n program.aTransform = gl.getAttribLocation(program, 'aTransform');\n program.aAtlasId = gl.getAttribLocation(program, 'aAtlasId');\n program.aTex = gl.getAttribLocation(program, 'aTex');\n program.aPointAPointB = gl.getAttribLocation(program, 'aPointAPointB');\n program.aPointCPointD = gl.getAttribLocation(program, 'aPointCPointD');\n program.aLineWidth = gl.getAttribLocation(program, 'aLineWidth');\n program.aColor = gl.getAttribLocation(program, 'aColor');\n program.aCornerRadius = gl.getAttribLocation(program, 'aCornerRadius');\n program.aBorderColor = gl.getAttribLocation(program, 'aBorderColor');\n\n // uniforms\n program.uPanZoomMatrix = gl.getUniformLocation(program, 'uPanZoomMatrix');\n program.uAtlasSize = gl.getUniformLocation(program, 'uAtlasSize');\n program.uBGColor = gl.getUniformLocation(program, 'uBGColor');\n program.uZoom = gl.getUniformLocation(program, 'uZoom');\n program.uTextures = [];\n for (var i = 0; i < this.batchManager.getMaxAtlasesPerBatch(); i++) {\n program.uTextures.push(gl.getUniformLocation(program, \"uTexture\".concat(i)));\n }\n return program;\n }\n }, {\n key: \"_createVAO\",\n value: function _createVAO() {\n var unitSquare = [0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1];\n this.vertexCount = unitSquare.length / 2;\n var n = this.maxInstances;\n var gl = this.gl,\n program = this.program;\n var vao = gl.createVertexArray();\n gl.bindVertexArray(vao);\n createBufferStaticDraw(gl, 'vec2', program.aPosition, unitSquare);\n\n // Create buffers for all the attributes\n this.transformBuffer = create3x3MatrixBufferDynamicDraw(gl, n, program.aTransform);\n this.indexBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aIndex);\n this.vertTypeBuffer = createBufferDynamicDraw(gl, n, 'int', program.aVertType);\n this.atlasIdBuffer = createBufferDynamicDraw(gl, n, 'int', program.aAtlasId);\n this.texBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aTex);\n this.pointAPointBBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aPointAPointB);\n this.pointCPointDBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aPointCPointD);\n this.lineWidthBuffer = createBufferDynamicDraw(gl, n, 'vec2', program.aLineWidth);\n this.colorBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aColor);\n this.cornerRadiusBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aCornerRadius);\n this.borderColorBuffer = createBufferDynamicDraw(gl, n, 'vec4', program.aBorderColor);\n gl.bindVertexArray(null);\n return vao;\n }\n }, {\n key: \"buffers\",\n get: function get() {\n var _this = this;\n if (!this._buffers) {\n this._buffers = Object.keys(this).filter(function (k) {\n return k.endsWith('Buffer');\n }).map(function (k) {\n return _this[k];\n });\n }\n return this._buffers;\n }\n }, {\n key: \"startFrame\",\n value: function startFrame(panZoomMatrix) {\n var renderTarget = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : RENDER_TARGET.SCREEN;\n this.panZoomMatrix = panZoomMatrix;\n this.renderTarget = renderTarget;\n this.batchDebugInfo = [];\n this.wrappedCount = 0;\n this.simpleCount = 0;\n this.startBatch();\n }\n }, {\n key: \"startBatch\",\n value: function startBatch() {\n this.instanceCount = 0;\n this.batchManager.startBatch();\n }\n }, {\n key: \"endFrame\",\n value: function endFrame() {\n this.endBatch();\n }\n }, {\n key: \"_isVisible\",\n value: function _isVisible(ele, opts) {\n if (ele.visible()) {\n if (opts && opts.isVisible) {\n return opts.isVisible(ele);\n }\n return true;\n }\n return false;\n }\n\n /**\n * Draws a texture using the texture atlas.\n */\n }, {\n key: \"drawTexture\",\n value: function drawTexture(ele, eleIndex, type) {\n var atlasManager = this.atlasManager,\n batchManager = this.batchManager;\n var opts = atlasManager.getRenderTypeOpts(type);\n if (!this._isVisible(ele, opts)) {\n return;\n }\n if (this.renderTarget.picking && opts.getTexPickingMode) {\n var mode = opts.getTexPickingMode(ele);\n if (mode === TEX_PICKING_MODE.IGNORE) {\n return;\n } else if (mode == TEX_PICKING_MODE.USE_BB) {\n this.drawPickingRectangle(ele, eleIndex, type);\n return;\n }\n }\n\n // Get the atlas and the texture coordinates, will draw the texture if it hasn't been drawn yet\n // May be more than one texture if for example the label has multiple lines\n var atlasInfoArray = atlasManager.getAtlasInfo(ele, type);\n var _iterator = _createForOfIteratorHelper(atlasInfoArray),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var atlasInfo = _step.value;\n var atlas = atlasInfo.atlas,\n tex1 = atlasInfo.tex1,\n tex2 = atlasInfo.tex2; // tex2 is used if the label wraps and there are two textures\n\n if (!batchManager.canAddToCurrentBatch(atlas)) {\n this.endBatch();\n }\n var atlasIndex = batchManager.getAtlasIndexForBatch(atlas);\n for (var _i = 0, _arr = [[tex1, true], [tex2, false]]; _i < _arr.length; _i++) {\n var _arr$_i = _slicedToArray(_arr[_i], 2),\n tex = _arr$_i[0],\n first = _arr$_i[1];\n if (tex.w != 0) {\n var instance = this.instanceCount;\n this.vertTypeBuffer.getView(instance)[0] = TEXTURE;\n var indexView = this.indexBuffer.getView(instance);\n indexToVec4(eleIndex, indexView);\n\n // Set values in the buffers using Typed Array Views for performance.\n var atlasIdView = this.atlasIdBuffer.getView(instance);\n atlasIdView[0] = atlasIndex;\n\n // we have two sets of texture coordinates and transforms because textures can wrap in the atlas\n var texView = this.texBuffer.getView(instance);\n texView[0] = tex.x;\n texView[1] = tex.y;\n texView[2] = tex.w;\n texView[3] = tex.h;\n var matrixView = this.transformBuffer.getMatrixView(instance);\n this.setTransformMatrix(ele, matrixView, opts, atlasInfo, first);\n this.instanceCount++;\n if (!first) this.wrappedCount++;\n if (this.instanceCount >= this.maxInstances) {\n this.endBatch();\n }\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n /**\n * matrix is expected to be a 9 element array\n * this function follows same pattern as CRp.drawCachedElementPortion(...)\n */\n }, {\n key: \"setTransformMatrix\",\n value: function setTransformMatrix(ele, matrix, opts, atlasInfo) {\n var first = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var padding = 0;\n if (opts.shapeProps && opts.shapeProps.padding) {\n padding = ele.pstyle(opts.shapeProps.padding).pfValue;\n }\n if (atlasInfo) {\n // we've already computed the bb and tex bounds for a texture\n var bb = atlasInfo.bb,\n tex1 = atlasInfo.tex1,\n tex2 = atlasInfo.tex2;\n // wrapped textures need separate matrix for each part\n var ratio = tex1.w / (tex1.w + tex2.w);\n if (!first) {\n // first = true means its the first part of the wrapped texture\n ratio = 1 - ratio;\n }\n var adjBB = this._getAdjustedBB(bb, padding, first, ratio);\n this._applyTransformMatrix(matrix, adjBB, opts, ele);\n } else {\n // we don't have a texture, or we want to avoid creating a texture for simple shapes\n var _bb = opts.getBoundingBox(ele);\n var _adjBB = this._getAdjustedBB(_bb, padding, true, 1);\n this._applyTransformMatrix(matrix, _adjBB, opts, ele);\n }\n }\n }, {\n key: \"_applyTransformMatrix\",\n value: function _applyTransformMatrix(matrix, adjBB, opts, ele) {\n var x, y;\n identity(matrix);\n var theta = opts.getRotation ? opts.getRotation(ele) : 0;\n if (theta !== 0) {\n var _opts$getRotationPoin = opts.getRotationPoint(ele),\n sx = _opts$getRotationPoin.x,\n sy = _opts$getRotationPoin.y;\n translate(matrix, matrix, [sx, sy]);\n rotate(matrix, matrix, theta);\n var offset = opts.getRotationOffset(ele);\n x = offset.x + (adjBB.xOffset || 0);\n y = offset.y + (adjBB.yOffset || 0);\n } else {\n x = adjBB.x1;\n y = adjBB.y1;\n }\n translate(matrix, matrix, [x, y]);\n scale(matrix, matrix, [adjBB.w, adjBB.h]);\n }\n\n /**\n * Adjusts a node or label BB to accomodate padding and split for wrapped textures.\n * @param bb - the original bounding box\n * @param padding - the padding to add to the bounding box\n * @param first - whether this is the first part of a wrapped texture\n * @param ratio - the ratio of the texture width of part of the text to the entire texture\n */\n }, {\n key: \"_getAdjustedBB\",\n value: function _getAdjustedBB(bb, padding, first, ratio) {\n var x1 = bb.x1,\n y1 = bb.y1,\n w = bb.w,\n h = bb.h,\n yOffset = bb.yOffset;\n if (padding) {\n x1 -= padding;\n y1 -= padding;\n w += 2 * padding;\n h += 2 * padding;\n }\n var xOffset = 0;\n var adjW = w * ratio;\n if (first && ratio < 1) {\n w = adjW;\n } else if (!first && ratio < 1) {\n xOffset = w - adjW;\n x1 += xOffset;\n w = adjW;\n }\n return {\n x1: x1,\n y1: y1,\n w: w,\n h: h,\n xOffset: xOffset,\n yOffset: yOffset\n };\n }\n\n /**\n * Draw a solid opaque rectangle matching the element's Bounding Box.\n * Used by the PICKING mode to make the entire BB of a label clickable.\n */\n }, {\n key: \"drawPickingRectangle\",\n value: function drawPickingRectangle(ele, eleIndex, type) {\n var opts = this.atlasManager.getRenderTypeOpts(type);\n var instance = this.instanceCount;\n this.vertTypeBuffer.getView(instance)[0] = RECTANGLE;\n var indexView = this.indexBuffer.getView(instance);\n indexToVec4(eleIndex, indexView);\n var colorView = this.colorBuffer.getView(instance);\n toWebGLColor([0, 0, 0], 1, colorView); // opaque, so entire label BB is clickable\n\n var matrixView = this.transformBuffer.getMatrixView(instance);\n this.setTransformMatrix(ele, matrixView, opts);\n this.simpleCount++;\n this.instanceCount++;\n if (this.instanceCount >= this.maxInstances) {\n this.endBatch();\n }\n }\n\n /**\n * Draw a node using either a texture or a \"simple shape\".\n */\n }, {\n key: \"drawNode\",\n value: function drawNode(node, eleIndex, type) {\n var opts = this.simpleShapeOptions.get(type);\n if (!this._isVisible(node, opts)) {\n return;\n }\n var props = opts.shapeProps;\n\n // Check if we have to use a texture\n var vertType = this._getVertTypeForShape(node, props.shape);\n if (vertType === undefined || opts.isSimple && !opts.isSimple(node)) {\n this.drawTexture(node, eleIndex, type);\n return;\n }\n\n // Render a \"simple shape\" using SDF (signed distance fields)\n var instance = this.instanceCount;\n this.vertTypeBuffer.getView(instance)[0] = vertType;\n if (vertType === ROUND_RECTANGLE || vertType === BOTTOM_ROUND_RECTANGLE) {\n // get corner radius\n var bb = opts.getBoundingBox(node);\n var radius = this._getCornerRadius(node, props.radius, bb);\n var radiusView = this.cornerRadiusBuffer.getView(instance);\n radiusView[0] = radius; // top-right\n radiusView[1] = radius; // bottom-right\n radiusView[2] = radius; // top-left\n radiusView[3] = radius; // bottom-left\n if (vertType === BOTTOM_ROUND_RECTANGLE) {\n radiusView[0] = 0;\n radiusView[2] = 0;\n }\n }\n var indexView = this.indexBuffer.getView(instance);\n indexToVec4(eleIndex, indexView);\n var color = node.pstyle(props.color).value;\n var opacity = node.pstyle(props.opacity).value;\n var colorView = this.colorBuffer.getView(instance);\n toWebGLColor(color, opacity, colorView);\n var lineWidthView = this.lineWidthBuffer.getView(instance); // reuse edge line width attribute for node border\n lineWidthView[0] = 0;\n lineWidthView[1] = 0;\n if (props.border) {\n var borderWidth = node.pstyle('border-width').value;\n if (borderWidth > 0) {\n var borderColor = node.pstyle('border-color').value;\n var borderOpacity = node.pstyle('border-opacity').value;\n var borderColorView = this.borderColorBuffer.getView(instance);\n toWebGLColor(borderColor, borderOpacity, borderColorView);\n\n // SDF distance is negative inside the shape and positive outside\n var borderPos = node.pstyle('border-position').value;\n if (borderPos === 'inside') {\n lineWidthView[0] = 0;\n lineWidthView[1] = -borderWidth;\n } else if (borderPos === 'outside') {\n lineWidthView[0] = borderWidth;\n lineWidthView[1] = 0;\n } else {\n // 'center'\n var halfWidth = borderWidth / 2;\n lineWidthView[0] = halfWidth;\n lineWidthView[1] = -halfWidth;\n }\n }\n }\n var matrixView = this.transformBuffer.getMatrixView(instance);\n this.setTransformMatrix(node, matrixView, opts);\n this.simpleCount++;\n this.instanceCount++;\n if (this.instanceCount >= this.maxInstances) {\n this.endBatch();\n }\n }\n }, {\n key: \"_getVertTypeForShape\",\n value: function _getVertTypeForShape(node, shapeProp) {\n var shape = node.pstyle(shapeProp).value;\n switch (shape) {\n case 'rectangle':\n return RECTANGLE;\n case 'ellipse':\n return ELLIPSE;\n case 'roundrectangle':\n case 'round-rectangle':\n return ROUND_RECTANGLE;\n case 'bottom-round-rectangle':\n return BOTTOM_ROUND_RECTANGLE;\n default:\n return undefined;\n }\n }\n }, {\n key: \"_getCornerRadius\",\n value: function _getCornerRadius(node, radiusProp, _ref2) {\n var w = _ref2.w,\n h = _ref2.h;\n // see CRp.drawRoundRectanglePath\n if (node.pstyle(radiusProp).value === 'auto') {\n return getRoundRectangleRadius(w, h);\n } else {\n var radius = node.pstyle(radiusProp).pfValue;\n var halfWidth = w / 2;\n var halfHeight = h / 2;\n return Math.min(radius, halfHeight, halfWidth);\n }\n }\n\n /**\n * Only supports drawing triangles at the moment.\n */\n }, {\n key: \"drawEdgeArrow\",\n value: function drawEdgeArrow(edge, eleIndex, prefix) {\n if (!edge.visible()) {\n return;\n }\n // Edge points and arrow angles etc are calculated by the base renderer and cached in the rscratch object.\n var rs = edge._private.rscratch;\n var x, y, angle;\n if (prefix === 'source') {\n x = rs.arrowStartX;\n y = rs.arrowStartY;\n angle = rs.srcArrowAngle;\n } else {\n x = rs.arrowEndX;\n y = rs.arrowEndY;\n angle = rs.tgtArrowAngle;\n }\n\n // taken from CRp.drawArrowhead\n if (isNaN(x) || x == null || isNaN(y) || y == null || isNaN(angle) || angle == null) {\n return;\n }\n\n // check shape after the x/y check because pstyle() is a bit slow\n var arrowShape = edge.pstyle(prefix + '-arrow-shape').value;\n if (arrowShape === 'none') {\n return;\n }\n var color = edge.pstyle(prefix + '-arrow-color').value;\n var baseOpacity = edge.pstyle('opacity').value;\n var lineOpacity = edge.pstyle('line-opacity').value;\n var opacity = baseOpacity * lineOpacity;\n var lineWidth = edge.pstyle('width').pfValue;\n var scale$1 = edge.pstyle('arrow-scale').value;\n var size = this.r.getArrowWidth(lineWidth, scale$1);\n var instance = this.instanceCount;\n var transform = this.transformBuffer.getMatrixView(instance);\n identity(transform);\n translate(transform, transform, [x, y]);\n scale(transform, transform, [size, size]);\n rotate(transform, transform, angle);\n this.vertTypeBuffer.getView(instance)[0] = EDGE_ARROW;\n var indexView = this.indexBuffer.getView(instance);\n indexToVec4(eleIndex, indexView);\n var colorView = this.colorBuffer.getView(instance);\n toWebGLColor(color, opacity, colorView);\n this.instanceCount++;\n if (this.instanceCount >= this.maxInstances) {\n this.endBatch();\n }\n }\n\n /**\n * Draw straight-line or bezier curve edges.\n */\n }, {\n key: \"drawEdgeLine\",\n value: function drawEdgeLine(edge, eleIndex) {\n if (!edge.visible()) {\n return;\n }\n var points = this._getEdgePoints(edge);\n if (!points) {\n return;\n }\n\n // line style\n var baseOpacity = edge.pstyle('opacity').value;\n var lineOpacity = edge.pstyle('line-opacity').value;\n var width = edge.pstyle('width').pfValue;\n var color = edge.pstyle('line-color').value;\n var opacity = baseOpacity * lineOpacity;\n if (points.length / 2 + this.instanceCount > this.maxInstances) {\n this.endBatch();\n }\n if (points.length == 4) {\n // straight line\n var instance = this.instanceCount;\n this.vertTypeBuffer.getView(instance)[0] = EDGE_STRAIGHT;\n var indexView = this.indexBuffer.getView(instance);\n indexToVec4(eleIndex, indexView);\n var colorView = this.colorBuffer.getView(instance);\n toWebGLColor(color, opacity, colorView);\n var lineWidthBuffer = this.lineWidthBuffer.getView(instance);\n lineWidthBuffer[0] = width;\n var sourceTargetView = this.pointAPointBBuffer.getView(instance);\n sourceTargetView[0] = points[0]; // source x\n sourceTargetView[1] = points[1]; // source y\n sourceTargetView[2] = points[2]; // target x\n sourceTargetView[3] = points[3]; // target y\n\n this.instanceCount++;\n if (this.instanceCount >= this.maxInstances) {\n this.endBatch();\n }\n } else {\n // curved line\n for (var i = 0; i < points.length - 2; i += 2) {\n var _instance = this.instanceCount;\n this.vertTypeBuffer.getView(_instance)[0] = EDGE_CURVE_SEGMENT;\n var _indexView = this.indexBuffer.getView(_instance);\n indexToVec4(eleIndex, _indexView);\n var _colorView = this.colorBuffer.getView(_instance);\n toWebGLColor(color, opacity, _colorView);\n var _lineWidthBuffer = this.lineWidthBuffer.getView(_instance);\n _lineWidthBuffer[0] = width;\n var pAx = points[i - 2],\n pAy = points[i - 1];\n var pBx = points[i],\n pBy = points[i + 1];\n var pCx = points[i + 2],\n pCy = points[i + 3];\n var pDx = points[i + 4],\n pDy = points[i + 5];\n\n // make phantom points for the first and last segments\n // TODO adding 0.001 to avoid division by zero in the shader (I think), need a better solution\n if (i == 0) {\n pAx = 2 * pBx - pCx + 0.001;\n pAy = 2 * pBy - pCy + 0.001;\n }\n if (i == points.length - 4) {\n pDx = 2 * pCx - pBx + 0.001;\n pDy = 2 * pCy - pBy + 0.001;\n }\n var pointABView = this.pointAPointBBuffer.getView(_instance);\n pointABView[0] = pAx;\n pointABView[1] = pAy;\n pointABView[2] = pBx;\n pointABView[3] = pBy;\n var pointCDView = this.pointCPointDBuffer.getView(_instance);\n pointCDView[0] = pCx;\n pointCDView[1] = pCy;\n pointCDView[2] = pDx;\n pointCDView[3] = pDy;\n this.instanceCount++;\n if (this.instanceCount >= this.maxInstances) {\n this.endBatch();\n }\n }\n }\n }\n }, {\n key: \"_getEdgePoints\",\n value: function _getEdgePoints(edge) {\n var rs = edge._private.rscratch;\n\n // if bezier ctrl pts can not be calculated, then die\n if (rs.badLine || rs.allpts == null || isNaN(rs.allpts[0])) {\n // isNaN in case edge is impossible and browser bugs (e.g. safari)\n return;\n }\n var controlPoints = rs.allpts;\n if (controlPoints.length == 4) {\n return controlPoints;\n }\n var numSegments = this._getNumSegments(edge);\n return this._getCurveSegmentPoints(controlPoints, numSegments);\n }\n }, {\n key: \"_getNumSegments\",\n value: function _getNumSegments(edge) {\n // TODO Need a heuristic that decides how many segments to use. Factors to consider:\n // - edge width/length\n // - edge curvature (the more the curvature, the more segments)\n // - zoom level (more segments when zoomed in)\n // - number of visible edges (more segments when there are fewer edges)\n // - performance (fewer segments when performance is a concern)\n // - user configurable option(s)\n // note: number of segments must be less than the max number of instances\n // note: segments don't need to be evenly spaced out, it might make sense to have shorter segments nearer to the control points\n var numSegments = 15;\n return Math.min(Math.max(numSegments, 5), this.maxInstances);\n }\n }, {\n key: \"_getCurveSegmentPoints\",\n value: function _getCurveSegmentPoints(controlPoints, segments) {\n if (controlPoints.length == 4) {\n return controlPoints; // straight line\n }\n var curvePoints = Array((segments + 1) * 2);\n for (var i = 0; i <= segments; i++) {\n // the first and last points are the same as the first and last control points\n if (i == 0) {\n curvePoints[0] = controlPoints[0];\n curvePoints[1] = controlPoints[1];\n } else if (i == segments) {\n curvePoints[i * 2] = controlPoints[controlPoints.length - 2];\n curvePoints[i * 2 + 1] = controlPoints[controlPoints.length - 1];\n } else {\n var t = i / segments; // segments have equal length, its not strictly necessary to do it this way\n // pass in curvePoints to set the values in the array directly\n this._setCurvePoint(controlPoints, t, curvePoints, i * 2);\n }\n }\n return curvePoints;\n }\n }, {\n key: \"_setCurvePoint\",\n value: function _setCurvePoint(points, t, curvePoints, cpi) {\n if (points.length <= 2) {\n curvePoints[cpi] = points[0];\n curvePoints[cpi + 1] = points[1];\n } else {\n var newpoints = Array(points.length - 2);\n for (var i = 0; i < newpoints.length; i += 2) {\n var x = (1 - t) * points[i] + t * points[i + 2];\n var y = (1 - t) * points[i + 1] + t * points[i + 3];\n newpoints[i] = x;\n newpoints[i + 1] = y;\n }\n return this._setCurvePoint(newpoints, t, curvePoints, cpi);\n }\n }\n }, {\n key: \"endBatch\",\n value: function endBatch() {\n var gl = this.gl,\n vao = this.vao,\n vertexCount = this.vertexCount,\n count = this.instanceCount;\n if (count === 0) return;\n var program = this.renderTarget.picking ? this.pickingProgram : this.program;\n gl.useProgram(program);\n gl.bindVertexArray(vao);\n\n // buffer the attribute data\n var _iterator2 = _createForOfIteratorHelper(this.buffers),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var buffer = _step2.value;\n buffer.bufferSubData(count);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n var atlases = this.batchManager.getAtlases();\n // must buffer before activating texture units\n for (var i = 0; i < atlases.length; i++) {\n atlases[i].bufferIfNeeded(gl);\n }\n // Activate all the texture units that we need\n for (var _i2 = 0; _i2 < atlases.length; _i2++) {\n gl.activeTexture(gl.TEXTURE0 + _i2);\n gl.bindTexture(gl.TEXTURE_2D, atlases[_i2].texture);\n gl.uniform1i(program.uTextures[_i2], _i2);\n }\n\n // Set the uniforms\n gl.uniform1f(program.uZoom, getEffectiveZoom(this.r));\n gl.uniformMatrix3fv(program.uPanZoomMatrix, false, this.panZoomMatrix);\n gl.uniform1i(program.uAtlasSize, this.batchManager.getAtlasSize());\n // set background color, needed for edge arrow color blending\n var webglBgColor = toWebGLColor(this.bgColor, 1);\n gl.uniform4fv(program.uBGColor, webglBgColor);\n\n // draw!\n gl.drawArraysInstanced(gl.TRIANGLES, 0, vertexCount, count);\n gl.bindVertexArray(null);\n gl.bindTexture(gl.TEXTURE_2D, null); // TODO is this right when having multiple texture units?\n\n if (this.debug) {\n this.batchDebugInfo.push({\n count: count,\n // instance count\n atlasCount: atlases.length\n });\n }\n\n // start the next batch, even if not needed\n this.startBatch();\n }\n }, {\n key: \"getDebugInfo\",\n value: function getDebugInfo() {\n var atlasInfo = this.atlasManager.getDebugInfo();\n var totalAtlases = atlasInfo.reduce(function (count, info) {\n return count + info.atlasCount;\n }, 0);\n var batchInfo = this.batchDebugInfo;\n var totalInstances = batchInfo.reduce(function (count, info) {\n return count + info.count;\n }, 0);\n return {\n atlasInfo: atlasInfo,\n totalAtlases: totalAtlases,\n wrappedCount: this.wrappedCount,\n simpleCount: this.simpleCount,\n batchCount: batchInfo.length,\n batchInfo: batchInfo,\n totalInstances: totalInstances\n };\n }\n }]);\n}();\n\nvar CRp$4 = {};\n\n/**\n * Initialize the WebGL rendering mode after the Canvas renderer has been initialized.\n */\nCRp$4.initWebgl = function (opts, fns) {\n var r = this;\n var gl = r.data.contexts[r.WEBGL];\n\n // Set defaults and limits for configuration options.\n opts.bgColor = getBGColor(r);\n opts.webglTexSize = Math.min(opts.webglTexSize, gl.getParameter(gl.MAX_TEXTURE_SIZE));\n opts.webglTexRows = Math.min(opts.webglTexRows, 54);\n opts.webglTexRowsNodes = Math.min(opts.webglTexRowsNodes, 54);\n opts.webglBatchSize = Math.min(opts.webglBatchSize, 16384);\n opts.webglTexPerBatch = Math.min(opts.webglTexPerBatch, gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS));\n\n // Turn debug mode on or off.\n r.webglDebug = opts.webglDebug;\n r.webglDebugShowAtlases = opts.webglDebugShowAtlases;\n\n // Create offscreen framebuffer that stores the results when RENDER_TARGET.PICKING is enabled.\n // This is used to store the topmost element z-index for each pixel, which is used to tell whats under the mouse cursor point.\n r.pickingFrameBuffer = createPickingFrameBuffer(gl);\n r.pickingFrameBuffer.needsDraw = true;\n\n // Create an ElementDrawingWebGL instance wich is used to do the actual WebGL rendering.\n // This instance needs to be configured to draw various types of elements.\n r.drawing = new ElementDrawingWebGL(r, gl, opts);\n\n // Some functions that are used to configure ElementDrawingWebGL\n var getLabelRotation = function getLabelRotation(prop) {\n return function (ele) {\n return r.getTextAngle(ele, prop);\n };\n };\n var isLabelVisible = function isLabelVisible(prop) {\n return function (ele) {\n var label = ele.pstyle(prop);\n return label && label.value;\n };\n };\n var isLayerVisible = function isLayerVisible(prefix) {\n return function (node) {\n // prefix is 'overlay' or 'underlay'\n return node.pstyle(\"\".concat(prefix, \"-opacity\")).value > 0;\n };\n };\n var getTexPickingMode = function getTexPickingMode(ele) {\n // tells when a label should be clickable\n var enabled = ele.pstyle('text-events').strValue === 'yes';\n return enabled ? TEX_PICKING_MODE.USE_BB : TEX_PICKING_MODE.IGNORE;\n };\n var getBBForSimpleShape = function getBBForSimpleShape(node) {\n // \"simple\" shapes need their BB to include border and padding\n var _node$position = node.position(),\n x = _node$position.x,\n y = _node$position.y;\n var w = node.outerWidth(); // includes border and padding\n var h = node.outerHeight();\n return {\n w: w,\n h: h,\n x1: x - w / 2,\n y1: y - h / 2\n };\n };\n\n // An AtlasCollection is a collection of Atlases that have the same configuraiton options.\n // Create one for node bodies and one for all types of labels.\n r.drawing.addAtlasCollection('node', {\n texRows: opts.webglTexRowsNodes\n });\n r.drawing.addAtlasCollection('label', {\n texRows: opts.webglTexRows\n });\n\n // Configure the different types of elements that can be rendered.\n\n // Node bodies can be rendered as textures or as \"simple shapes\". \n // Simple shapes are preferred because they do not use texture memory.\n // Textures are required if the node body uses complex styles. \n r.drawing.addTextureAtlasRenderType('node-body', {\n collection: 'node',\n getKey: fns.getStyleKey,\n getBoundingBox: fns.getElementBox,\n drawElement: fns.drawElement\n });\n r.drawing.addSimpleShapeRenderType('node-body', {\n getBoundingBox: getBBForSimpleShape,\n isSimple: isSimpleShape,\n shapeProps: {\n shape: 'shape',\n color: 'background-color',\n opacity: 'background-opacity',\n radius: 'corner-radius',\n border: true\n }\n });\n r.drawing.addSimpleShapeRenderType('node-overlay', {\n getBoundingBox: getBBForSimpleShape,\n isVisible: isLayerVisible('overlay'),\n shapeProps: {\n shape: 'overlay-shape',\n color: 'overlay-color',\n opacity: 'overlay-opacity',\n padding: 'overlay-padding',\n radius: 'overlay-corner-radius'\n }\n });\n r.drawing.addSimpleShapeRenderType('node-underlay', {\n getBoundingBox: getBBForSimpleShape,\n isVisible: isLayerVisible('underlay'),\n shapeProps: {\n shape: 'underlay-shape',\n color: 'underlay-color',\n opacity: 'underlay-opacity',\n padding: 'underlay-padding',\n radius: 'underlay-corner-radius'\n }\n });\n r.drawing.addTextureAtlasRenderType('label', {\n // node label or edge mid label\n collection: 'label',\n getTexPickingMode: getTexPickingMode,\n getKey: getStyleKeysForLabel(fns.getLabelKey, null),\n getBoundingBox: getBoundingBoxForLabel(fns.getLabelBox, null),\n drawClipped: true,\n drawElement: fns.drawLabel,\n getRotation: getLabelRotation(null),\n getRotationPoint: fns.getLabelRotationPoint,\n getRotationOffset: fns.getLabelRotationOffset,\n isVisible: isLabelVisible('label')\n });\n r.drawing.addTextureAtlasRenderType('edge-source-label', {\n collection: 'label',\n getTexPickingMode: getTexPickingMode,\n getKey: getStyleKeysForLabel(fns.getSourceLabelKey, 'source'),\n getBoundingBox: getBoundingBoxForLabel(fns.getSourceLabelBox, 'source'),\n drawClipped: true,\n drawElement: fns.drawSourceLabel,\n getRotation: getLabelRotation('source'),\n getRotationPoint: fns.getSourceLabelRotationPoint,\n getRotationOffset: fns.getSourceLabelRotationOffset,\n isVisible: isLabelVisible('source-label')\n });\n r.drawing.addTextureAtlasRenderType('edge-target-label', {\n collection: 'label',\n getTexPickingMode: getTexPickingMode,\n getKey: getStyleKeysForLabel(fns.getTargetLabelKey, 'target'),\n getBoundingBox: getBoundingBoxForLabel(fns.getTargetLabelBox, 'target'),\n drawClipped: true,\n drawElement: fns.drawTargetLabel,\n getRotation: getLabelRotation('target'),\n getRotationPoint: fns.getTargetLabelRotationPoint,\n getRotationOffset: fns.getTargetLabelRotationOffset,\n isVisible: isLabelVisible('target-label')\n });\n\n // Very simplistic way of triggering garbage collection, just use a timer.\n var setGCFlag = debounce(function () {\n console.log('garbage collect flag set');\n r.data.gc = true;\n }, 10000);\n\n // Event listener checks if style keys are no longer in use.\n r.onUpdateEleCalcs(function (willDraw, eles) {\n var gcNeeded = false;\n if (eles && eles.length > 0) {\n gcNeeded |= r.drawing.invalidate(eles);\n }\n if (gcNeeded) {\n setGCFlag();\n }\n });\n\n // \"Override\" certain functions in canvas and base renderer\n overrideCanvasRendererFunctions(r);\n};\nfunction getBGColor(r) {\n var container = r.cy.container();\n var cssColor = container && container.style && container.style.backgroundColor || 'white';\n return color2tuple(cssColor);\n}\nfunction getLabelLines(ele, prefix) {\n var rs = ele._private.rscratch;\n return getPrefixedProperty(rs, 'labelWrapCachedLines', prefix) || [];\n}\n\n/** \n * Handle multi-line labels by rendering each line as a seperate texture.\n * That means each line needs its own style key.\n */\nvar getStyleKeysForLabel = function getStyleKeysForLabel(getKey, prefix) {\n return function (ele) {\n var key = getKey(ele);\n var lines = getLabelLines(ele, prefix);\n if (lines.length > 1) {\n return lines.map(function (line, index) {\n return \"\".concat(key, \"_\").concat(index);\n });\n }\n return key;\n };\n};\n\n/**\n * Need to create a separate bounding box for each line of a multi-line label.\n * Note that 'drawClipped: true' should be used with this.\n */\nvar getBoundingBoxForLabel = function getBoundingBoxForLabel(getBoundingBox, prefix) {\n return function (ele, styleKey) {\n var bb = getBoundingBox(ele);\n if (typeof styleKey === 'string') {\n var ui = styleKey.indexOf('_');\n if (ui > 0) {\n var lineIndex = Number(styleKey.substring(ui + 1));\n var lines = getLabelLines(ele, prefix);\n // Adjust the height and Y coordinate for one line of the label.\n var h = bb.h / lines.length;\n var yOffset = h * lineIndex;\n var y1 = bb.y1 + yOffset;\n // the yOffset is needed when rotating the label\n return {\n x1: bb.x1,\n w: bb.w,\n y1: y1,\n h: h,\n yOffset: yOffset\n };\n }\n }\n return bb;\n };\n};\n\n/**\n * Plug into the canvas renderer by dynamically overriding some of its functions.\n * This requires minimal changes to the canvas rendrerer.\n */\nfunction overrideCanvasRendererFunctions(r) {\n {\n // Override the render function to call the webgl render function if the zoom level is appropriate\n var renderCanvas = r.render;\n r.render = function (options) {\n options = options || {};\n var cy = r.cy;\n if (r.webgl) {\n // If the zoom level is greater than the max zoom level, then disable webgl and switch back to \n // the canvas renderer.\n if (cy.zoom() > maxZoom$1) {\n clearWebgl(r);\n renderCanvas.call(r, options);\n } else {\n clearCanvas(r);\n renderWebgl(r, options, RENDER_TARGET.SCREEN);\n }\n }\n };\n }\n {\n // Override the matchCanvasSize function to update the picking frame buffer size\n var baseFunc = r.matchCanvasSize;\n r.matchCanvasSize = function (container) {\n baseFunc.call(r, container);\n r.pickingFrameBuffer.setFramebufferAttachmentSizes(r.canvasWidth, r.canvasHeight);\n r.pickingFrameBuffer.needsDraw = true;\n };\n }\n {\n // Override function to call the webgl version for picking.\n // Don't override r.getAllInBox() selction box picking, its not accurate enough with webgl\n r.findNearestElements = function (x, y, interactiveElementsOnly, isTouch) {\n // the canvas version of this function is very slow on large graphs\n return findNearestElementsWebgl(r, x, y);\n };\n }\n {\n // need to know when the cached elements have changed so we can invalidate our caches\n var _baseFunc = r.invalidateCachedZSortedEles;\n r.invalidateCachedZSortedEles = function () {\n _baseFunc.call(r);\n r.pickingFrameBuffer.needsDraw = true;\n };\n }\n {\n // need to know when the cached elements have changed so we can invalidate our caches\n var _baseFunc2 = r.notify;\n r.notify = function (eventName, eles) {\n _baseFunc2.call(r, eventName, eles);\n if (eventName === 'viewport' || eventName === 'bounds') {\n r.pickingFrameBuffer.needsDraw = true;\n } else if (eventName === 'background') {\n // background image finished loading, need to redraw\n r.drawing.invalidate(eles, {\n type: 'node-body'\n });\n }\n };\n }\n}\nfunction clearWebgl(r) {\n var gl = r.data.contexts[r.WEBGL];\n gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);\n}\nfunction clearCanvas(r) {\n // the CRp.clearCanvas() function doesn't take the transform into account\n var clear = function clear(context) {\n context.save();\n context.setTransform(1, 0, 0, 1, 0, 0);\n context.clearRect(0, 0, r.canvasWidth, r.canvasHeight);\n context.restore();\n };\n clear(r.data.contexts[r.NODE]);\n clear(r.data.contexts[r.DRAG]);\n}\nfunction createPanZoomMatrix(r) {\n var width = r.canvasWidth;\n var height = r.canvasHeight;\n var _util$getEffectivePan = getEffectivePanZoom(r),\n pan = _util$getEffectivePan.pan,\n zoom = _util$getEffectivePan.zoom;\n var transform = create();\n translate(transform, transform, [pan.x, pan.y]);\n scale(transform, transform, [zoom, zoom]);\n var projection$1 = create();\n projection(projection$1, width, height);\n var product = create();\n multiply(product, projection$1, transform);\n return product;\n}\nfunction setContextTransform(r, context) {\n var width = r.canvasWidth;\n var height = r.canvasHeight;\n var _util$getEffectivePan2 = getEffectivePanZoom(r),\n pan = _util$getEffectivePan2.pan,\n zoom = _util$getEffectivePan2.zoom;\n context.setTransform(1, 0, 0, 1, 0, 0);\n context.clearRect(0, 0, width, height);\n context.translate(pan.x, pan.y);\n context.scale(zoom, zoom);\n}\nfunction drawSelectionRectangle(r, options) {\n r.drawSelectionRectangle(options, function (context) {\n return setContextTransform(r, context);\n });\n}\nfunction drawAxes(r) {\n // for debgging\n var context = r.data.contexts[r.NODE];\n context.save();\n setContextTransform(r, context);\n context.strokeStyle = 'rgba(0, 0, 0, 0.3)';\n context.beginPath();\n context.moveTo(-1e3, 0);\n context.lineTo(1000, 0);\n context.stroke();\n context.beginPath();\n context.moveTo(0, -1e3);\n context.lineTo(0, 1000);\n context.stroke();\n context.restore();\n}\nfunction drawAtlases(r) {\n // For debugging the atlases, this doesn't work for Atlases that are locked\n var draw = function draw(drawing, name, row) {\n var collection = drawing.atlasManager.getAtlasCollection(name);\n var context = r.data.contexts[r.NODE];\n var atlases = collection.atlases;\n for (var _i = 0; _i < atlases.length; _i++) {\n var atlas = atlases[_i];\n var canvas = atlas.canvas;\n if (canvas) {\n var w = canvas.width;\n var h = canvas.height;\n var x = w * _i;\n var y = canvas.height * row;\n var scale = 0.4;\n context.save();\n context.scale(scale, scale);\n context.drawImage(canvas, x, y);\n context.strokeStyle = 'black';\n context.rect(x, y, w, h);\n context.stroke();\n context.restore();\n }\n }\n };\n var i = 0;\n draw(r.drawing, 'node', i++);\n draw(r.drawing, 'label', i++);\n}\n\n/**\n * Returns the z-order index of elments under or very close to the mouse cursor point.\n * Arguments are in model coordinates.\n * (x1, y1) is top left corner\n * (x2, y2) is bottom right corner (optional)\n * Returns a Set of indexes.\n */\nfunction getPickingIndexes(r, mX1, mY1, mX2, mY2) {\n var x, y, w, h;\n var _util$getEffectivePan3 = getEffectivePanZoom(r),\n pan = _util$getEffectivePan3.pan,\n zoom = _util$getEffectivePan3.zoom;\n {\n var _util$modelToRendered = modelToRenderedPosition(r, pan, zoom, mX1, mY1),\n _util$modelToRendered2 = _slicedToArray(_util$modelToRendered, 2),\n cX1 = _util$modelToRendered2[0],\n cY1 = _util$modelToRendered2[1];\n var t = 6; // should be even\n x = cX1 - t / 2;\n y = cY1 - t / 2;\n w = t;\n h = t;\n }\n if (w === 0 || h === 0) {\n return [];\n }\n var gl = r.data.contexts[r.WEBGL];\n gl.bindFramebuffer(gl.FRAMEBUFFER, r.pickingFrameBuffer);\n if (r.pickingFrameBuffer.needsDraw) {\n // Draw element z-indexes to the picking framebuffer\n gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);\n renderWebgl(r, null, RENDER_TARGET.PICKING);\n r.pickingFrameBuffer.needsDraw = false;\n }\n var n = w * h; // number of pixels to read\n var data = new Uint8Array(n * 4); // 4 bytes per pixel\n gl.readPixels(x, y, w, h, gl.RGBA, gl.UNSIGNED_BYTE, data);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n var indexes = new Set();\n for (var i = 0; i < n; i++) {\n var pixel = data.slice(i * 4, i * 4 + 4);\n var index = vec4ToIndex(pixel) - 1; // The framebuffer is cleared with 0s, so z-indexes are offset by 1\n if (index >= 0) {\n indexes.add(index);\n }\n }\n return indexes;\n}\n\n/**\n * Cy.js: model coordinate y axis goes down\n */\nfunction findNearestElementsWebgl(r, x, y) {\n // model coordinates\n var indexes = getPickingIndexes(r, x, y);\n var eles = r.getCachedZSortedEles();\n var node, edge;\n var _iterator = _createForOfIteratorHelper(indexes),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var index = _step.value;\n var ele = eles[index];\n if (!node && ele.isNode()) {\n node = ele;\n }\n if (!edge && ele.isEdge()) {\n edge = ele;\n }\n if (node && edge) {\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return [node, edge].filter(Boolean);\n}\n\n/**\n * Draw one node or edge. \n */\nfunction drawEle(r, index, ele) {\n var drawing = r.drawing;\n index += 1; // 0 is used to clear the background, need to offset all z-indexes by one\n if (ele.isNode()) {\n drawing.drawNode(ele, index, 'node-underlay');\n drawing.drawNode(ele, index, 'node-body');\n drawing.drawTexture(ele, index, 'label');\n drawing.drawNode(ele, index, 'node-overlay');\n } else {\n drawing.drawEdgeLine(ele, index);\n drawing.drawEdgeArrow(ele, index, 'source');\n drawing.drawEdgeArrow(ele, index, 'target');\n drawing.drawTexture(ele, index, 'label');\n drawing.drawTexture(ele, index, 'edge-source-label');\n drawing.drawTexture(ele, index, 'edge-target-label');\n }\n}\n\n/**\n * Render one frame.\n */\nfunction renderWebgl(r, options, renderTarget) {\n var start;\n if (r.webglDebug) {\n start = performance.now(); // eslint-disable-line no-undef\n }\n var drawing = r.drawing;\n var eleCount = 0;\n if (renderTarget.screen) {\n if (r.data.canvasNeedsRedraw[r.SELECT_BOX]) {\n drawSelectionRectangle(r, options);\n }\n }\n\n // see drawing-elements.js drawCachedElement()\n if (r.data.canvasNeedsRedraw[r.NODE] || renderTarget.picking) {\n var gl = r.data.contexts[r.WEBGL];\n if (renderTarget.screen) {\n gl.clearColor(0, 0, 0, 0); // background color\n gl.enable(gl.BLEND); // enable alpha blending of colors\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); // webgl colors use premultiplied alpha\n } else {\n gl.disable(gl.BLEND); // don't blend z-order index values! they are not colors\n }\n gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);\n gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);\n var panZoomMatrix = createPanZoomMatrix(r);\n var eles = r.getCachedZSortedEles();\n eleCount = eles.length;\n drawing.startFrame(panZoomMatrix, renderTarget);\n if (renderTarget.screen) {\n for (var i = 0; i < eles.nondrag.length; i++) {\n drawEle(r, i, eles.nondrag[i]);\n }\n for (var _i2 = 0; _i2 < eles.drag.length; _i2++) {\n drawEle(r, _i2, eles.drag[_i2]);\n }\n } else if (renderTarget.picking) {\n for (var _i3 = 0; _i3 < eles.length; _i3++) {\n drawEle(r, _i3, eles[_i3]);\n }\n }\n drawing.endFrame();\n if (renderTarget.screen && r.webglDebugShowAtlases) {\n drawAxes(r);\n drawAtlases(r);\n }\n r.data.canvasNeedsRedraw[r.NODE] = false;\n r.data.canvasNeedsRedraw[r.DRAG] = false;\n }\n if (r.webglDebug) {\n // eslint-disable-next-line no-undef\n var end = performance.now();\n var compact = false;\n var time = Math.ceil(end - start);\n var debugInfo = drawing.getDebugInfo();\n var report = [\"\".concat(eleCount, \" elements\"), \"\".concat(debugInfo.totalInstances, \" instances\"), \"\".concat(debugInfo.batchCount, \" batches\"), \"\".concat(debugInfo.totalAtlases, \" atlases\"), \"\".concat(debugInfo.wrappedCount, \" wrapped textures\"), \"\".concat(debugInfo.simpleCount, \" simple shapes\")].join(', ');\n if (compact) {\n console.log(\"WebGL (\".concat(renderTarget.name, \") - time \").concat(time, \"ms, \").concat(report));\n } else {\n console.log(\"WebGL (\".concat(renderTarget.name, \") - frame time \").concat(time, \"ms\"));\n console.log('Totals:');\n console.log(\" \".concat(report));\n console.log('Texture Atlases Used:');\n var atlasInfo = debugInfo.atlasInfo;\n var _iterator2 = _createForOfIteratorHelper(atlasInfo),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var info = _step2.value;\n console.log(\" \".concat(info.type, \": \").concat(info.keyCount, \" keys, \").concat(info.atlasCount, \" atlases\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n console.log('');\n }\n }\n if (r.data.gc) {\n console.log('Garbage Collect!');\n r.data.gc = false;\n drawing.gc();\n }\n}\n\nvar CRp$3 = {};\n\n// @O Polygon drawing\nCRp$3.drawPolygonPath = function (context, x, y, width, height, points) {\n var halfW = width / 2;\n var halfH = height / 2;\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(x + halfW * points[0], y + halfH * points[1]);\n for (var i = 1; i < points.length / 2; i++) {\n context.lineTo(x + halfW * points[i * 2], y + halfH * points[i * 2 + 1]);\n }\n context.closePath();\n};\nCRp$3.drawRoundPolygonPath = function (context, x, y, width, height, points, corners) {\n corners.forEach(function (corner) {\n return drawPreparedRoundCorner(context, corner);\n });\n context.closePath();\n};\n\n// Round rectangle drawing\nCRp$3.drawRoundRectanglePath = function (context, x, y, width, height, radius) {\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var cornerRadius = radius === 'auto' ? getRoundRectangleRadius(width, height) : Math.min(radius, halfHeight, halfWidth);\n if (context.beginPath) {\n context.beginPath();\n }\n\n // Start at top middle\n context.moveTo(x, y - halfHeight);\n // Arc from middle top to right side\n context.arcTo(x + halfWidth, y - halfHeight, x + halfWidth, y, cornerRadius);\n // Arc from right side to bottom\n context.arcTo(x + halfWidth, y + halfHeight, x, y + halfHeight, cornerRadius);\n // Arc from bottom to left side\n context.arcTo(x - halfWidth, y + halfHeight, x - halfWidth, y, cornerRadius);\n // Arc from left side to topBorder\n context.arcTo(x - halfWidth, y - halfHeight, x, y - halfHeight, cornerRadius);\n // Join line\n context.lineTo(x, y - halfHeight);\n context.closePath();\n};\nCRp$3.drawBottomRoundRectanglePath = function (context, x, y, width, height, radius) {\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var cornerRadius = radius === 'auto' ? getRoundRectangleRadius(width, height) : radius;\n if (context.beginPath) {\n context.beginPath();\n }\n\n // Start at top middle\n context.moveTo(x, y - halfHeight);\n context.lineTo(x + halfWidth, y - halfHeight);\n context.lineTo(x + halfWidth, y);\n context.arcTo(x + halfWidth, y + halfHeight, x, y + halfHeight, cornerRadius);\n context.arcTo(x - halfWidth, y + halfHeight, x - halfWidth, y, cornerRadius);\n context.lineTo(x - halfWidth, y - halfHeight);\n context.lineTo(x, y - halfHeight);\n context.closePath();\n};\nCRp$3.drawCutRectanglePath = function (context, x, y, width, height, points, corners) {\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var cornerLength = corners === 'auto' ? getCutRectangleCornerLength() : corners;\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(x - halfWidth + cornerLength, y - halfHeight);\n context.lineTo(x + halfWidth - cornerLength, y - halfHeight);\n context.lineTo(x + halfWidth, y - halfHeight + cornerLength);\n context.lineTo(x + halfWidth, y + halfHeight - cornerLength);\n context.lineTo(x + halfWidth - cornerLength, y + halfHeight);\n context.lineTo(x - halfWidth + cornerLength, y + halfHeight);\n context.lineTo(x - halfWidth, y + halfHeight - cornerLength);\n context.lineTo(x - halfWidth, y - halfHeight + cornerLength);\n context.closePath();\n};\nCRp$3.drawBarrelPath = function (context, x, y, width, height) {\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var xBegin = x - halfWidth;\n var xEnd = x + halfWidth;\n var yBegin = y - halfHeight;\n var yEnd = y + halfHeight;\n var barrelCurveConstants = getBarrelCurveConstants(width, height);\n var wOffset = barrelCurveConstants.widthOffset;\n var hOffset = barrelCurveConstants.heightOffset;\n var ctrlPtXOffset = barrelCurveConstants.ctrlPtOffsetPct * wOffset;\n if (context.beginPath) {\n context.beginPath();\n }\n context.moveTo(xBegin, yBegin + hOffset);\n context.lineTo(xBegin, yEnd - hOffset);\n context.quadraticCurveTo(xBegin + ctrlPtXOffset, yEnd, xBegin + wOffset, yEnd);\n context.lineTo(xEnd - wOffset, yEnd);\n context.quadraticCurveTo(xEnd - ctrlPtXOffset, yEnd, xEnd, yEnd - hOffset);\n context.lineTo(xEnd, yBegin + hOffset);\n context.quadraticCurveTo(xEnd - ctrlPtXOffset, yBegin, xEnd - wOffset, yBegin);\n context.lineTo(xBegin + wOffset, yBegin);\n context.quadraticCurveTo(xBegin + ctrlPtXOffset, yBegin, xBegin, yBegin + hOffset);\n context.closePath();\n};\nvar sin0 = Math.sin(0);\nvar cos0 = Math.cos(0);\nvar sin = {};\nvar cos = {};\nvar ellipseStepSize = Math.PI / 40;\nfor (var i = 0 * Math.PI; i < 2 * Math.PI; i += ellipseStepSize) {\n sin[i] = Math.sin(i);\n cos[i] = Math.cos(i);\n}\nCRp$3.drawEllipsePath = function (context, centerX, centerY, width, height) {\n if (context.beginPath) {\n context.beginPath();\n }\n if (context.ellipse) {\n context.ellipse(centerX, centerY, width / 2, height / 2, 0, 0, 2 * Math.PI);\n } else {\n var xPos, yPos;\n var rw = width / 2;\n var rh = height / 2;\n for (var i = 0 * Math.PI; i < 2 * Math.PI; i += ellipseStepSize) {\n xPos = centerX - rw * sin[i] * sin0 + rw * cos[i] * cos0;\n yPos = centerY + rh * cos[i] * sin0 + rh * sin[i] * cos0;\n if (i === 0) {\n context.moveTo(xPos, yPos);\n } else {\n context.lineTo(xPos, yPos);\n }\n }\n }\n context.closePath();\n};\n\n/* global atob, ArrayBuffer, Uint8Array, Blob */\n\nvar CRp$2 = {};\nCRp$2.createBuffer = function (w, h) {\n var buffer = document.createElement('canvas'); // eslint-disable-line no-undef\n buffer.width = w;\n buffer.height = h;\n return [buffer, buffer.getContext('2d')];\n};\nCRp$2.bufferCanvasImage = function (options) {\n var cy = this.cy;\n var eles = cy.mutableElements();\n var bb = eles.boundingBox();\n var ctrRect = this.findContainerClientCoords();\n var width = options.full ? Math.ceil(bb.w) : ctrRect[2];\n var height = options.full ? Math.ceil(bb.h) : ctrRect[3];\n var specdMaxDims = number$1(options.maxWidth) || number$1(options.maxHeight);\n var pxRatio = this.getPixelRatio();\n var scale = 1;\n if (options.scale !== undefined) {\n width *= options.scale;\n height *= options.scale;\n scale = options.scale;\n } else if (specdMaxDims) {\n var maxScaleW = Infinity;\n var maxScaleH = Infinity;\n if (number$1(options.maxWidth)) {\n maxScaleW = scale * options.maxWidth / width;\n }\n if (number$1(options.maxHeight)) {\n maxScaleH = scale * options.maxHeight / height;\n }\n scale = Math.min(maxScaleW, maxScaleH);\n width *= scale;\n height *= scale;\n }\n if (!specdMaxDims) {\n width *= pxRatio;\n height *= pxRatio;\n scale *= pxRatio;\n }\n var buffCanvas = document.createElement('canvas'); // eslint-disable-line no-undef\n\n buffCanvas.width = width;\n buffCanvas.height = height;\n buffCanvas.style.width = width + 'px';\n buffCanvas.style.height = height + 'px';\n var buffCxt = buffCanvas.getContext('2d');\n\n // Rasterize the layers, but only if container has nonzero size\n if (width > 0 && height > 0) {\n buffCxt.clearRect(0, 0, width, height);\n buffCxt.globalCompositeOperation = 'source-over';\n var zsortedEles = this.getCachedZSortedEles();\n if (options.full) {\n // draw the full bounds of the graph\n buffCxt.translate(-bb.x1 * scale, -bb.y1 * scale);\n buffCxt.scale(scale, scale);\n this.drawElements(buffCxt, zsortedEles);\n buffCxt.scale(1 / scale, 1 / scale);\n buffCxt.translate(bb.x1 * scale, bb.y1 * scale);\n } else {\n // draw the current view\n var pan = cy.pan();\n var translation = {\n x: pan.x * scale,\n y: pan.y * scale\n };\n scale *= cy.zoom();\n buffCxt.translate(translation.x, translation.y);\n buffCxt.scale(scale, scale);\n this.drawElements(buffCxt, zsortedEles);\n buffCxt.scale(1 / scale, 1 / scale);\n buffCxt.translate(-translation.x, -translation.y);\n }\n\n // need to fill bg at end like this in order to fill cleared transparent pixels in jpgs\n if (options.bg) {\n buffCxt.globalCompositeOperation = 'destination-over';\n buffCxt.fillStyle = options.bg;\n buffCxt.rect(0, 0, width, height);\n buffCxt.fill();\n }\n }\n return buffCanvas;\n};\nfunction b64ToBlob(b64, mimeType) {\n var bytes = atob(b64);\n var buff = new ArrayBuffer(bytes.length);\n var buffUint8 = new Uint8Array(buff);\n for (var i = 0; i < bytes.length; i++) {\n buffUint8[i] = bytes.charCodeAt(i);\n }\n return new Blob([buff], {\n type: mimeType\n });\n}\nfunction b64UriToB64(b64uri) {\n var i = b64uri.indexOf(',');\n return b64uri.substr(i + 1);\n}\nfunction output(options, canvas, mimeType) {\n var getB64Uri = function getB64Uri() {\n return canvas.toDataURL(mimeType, options.quality);\n };\n switch (options.output) {\n case 'blob-promise':\n return new Promise$1(function (resolve, reject) {\n try {\n canvas.toBlob(function (blob) {\n if (blob != null) {\n resolve(blob);\n } else {\n reject(new Error('`canvas.toBlob()` sent a null value in its callback'));\n }\n }, mimeType, options.quality);\n } catch (err) {\n reject(err);\n }\n });\n case 'blob':\n return b64ToBlob(b64UriToB64(getB64Uri()), mimeType);\n case 'base64':\n return b64UriToB64(getB64Uri());\n case 'base64uri':\n default:\n return getB64Uri();\n }\n}\nCRp$2.png = function (options) {\n return output(options, this.bufferCanvasImage(options), 'image/png');\n};\nCRp$2.jpg = function (options) {\n return output(options, this.bufferCanvasImage(options), 'image/jpeg');\n};\n\nvar CRp$1 = {};\nCRp$1.nodeShapeImpl = function (name, context, centerX, centerY, width, height, points, corners) {\n switch (name) {\n case 'ellipse':\n return this.drawEllipsePath(context, centerX, centerY, width, height);\n case 'polygon':\n return this.drawPolygonPath(context, centerX, centerY, width, height, points);\n case 'round-polygon':\n return this.drawRoundPolygonPath(context, centerX, centerY, width, height, points, corners);\n case 'roundrectangle':\n case 'round-rectangle':\n return this.drawRoundRectanglePath(context, centerX, centerY, width, height, corners);\n case 'cutrectangle':\n case 'cut-rectangle':\n return this.drawCutRectanglePath(context, centerX, centerY, width, height, points, corners);\n case 'bottomroundrectangle':\n case 'bottom-round-rectangle':\n return this.drawBottomRoundRectanglePath(context, centerX, centerY, width, height, corners);\n case 'barrel':\n return this.drawBarrelPath(context, centerX, centerY, width, height);\n }\n};\n\nvar CR = CanvasRenderer;\nvar CRp = CanvasRenderer.prototype;\nCRp.CANVAS_LAYERS = 3;\n//\nCRp.SELECT_BOX = 0;\nCRp.DRAG = 1;\nCRp.NODE = 2;\nCRp.WEBGL = 3;\nCRp.CANVAS_TYPES = ['2d', '2d', '2d', 'webgl2'];\nCRp.BUFFER_COUNT = 3;\n//\nCRp.TEXTURE_BUFFER = 0;\nCRp.MOTIONBLUR_BUFFER_NODE = 1;\nCRp.MOTIONBLUR_BUFFER_DRAG = 2;\nfunction CanvasRenderer(options) {\n var r = this;\n var containerWindow = r.cy.window();\n var document = containerWindow.document;\n if (options.webgl) {\n CRp.CANVAS_LAYERS = r.CANVAS_LAYERS = 4;\n console.log('webgl rendering enabled');\n }\n r.data = {\n canvases: new Array(CRp.CANVAS_LAYERS),\n contexts: new Array(CRp.CANVAS_LAYERS),\n canvasNeedsRedraw: new Array(CRp.CANVAS_LAYERS),\n bufferCanvases: new Array(CRp.BUFFER_COUNT),\n bufferContexts: new Array(CRp.CANVAS_LAYERS)\n };\n var tapHlOffAttr = '-webkit-tap-highlight-color';\n var tapHlOffStyle = 'rgba(0,0,0,0)';\n r.data.canvasContainer = document.createElement('div'); // eslint-disable-line no-undef\n var containerStyle = r.data.canvasContainer.style;\n r.data.canvasContainer.style[tapHlOffAttr] = tapHlOffStyle;\n containerStyle.position = 'relative';\n containerStyle.zIndex = '0';\n containerStyle.overflow = 'hidden';\n var container = options.cy.container();\n container.appendChild(r.data.canvasContainer);\n container.style[tapHlOffAttr] = tapHlOffStyle;\n var styleMap = {\n '-webkit-user-select': 'none',\n '-moz-user-select': '-moz-none',\n 'user-select': 'none',\n '-webkit-tap-highlight-color': 'rgba(0,0,0,0)',\n 'outline-style': 'none'\n };\n if (ms()) {\n styleMap['-ms-touch-action'] = 'none';\n styleMap['touch-action'] = 'none';\n }\n for (var i = 0; i < CRp.CANVAS_LAYERS; i++) {\n var canvas = r.data.canvases[i] = document.createElement('canvas'); // eslint-disable-line no-undef\n var type = CRp.CANVAS_TYPES[i];\n r.data.contexts[i] = canvas.getContext(type);\n if (!r.data.contexts[i]) {\n error('Could not create canvas of type ' + type);\n }\n Object.keys(styleMap).forEach(function (k) {\n canvas.style[k] = styleMap[k];\n });\n canvas.style.position = 'absolute';\n canvas.setAttribute('data-id', 'layer' + i);\n canvas.style.zIndex = String(CRp.CANVAS_LAYERS - i);\n r.data.canvasContainer.appendChild(canvas);\n r.data.canvasNeedsRedraw[i] = false;\n }\n r.data.topCanvas = r.data.canvases[0];\n r.data.canvases[CRp.NODE].setAttribute('data-id', 'layer' + CRp.NODE + '-node');\n r.data.canvases[CRp.SELECT_BOX].setAttribute('data-id', 'layer' + CRp.SELECT_BOX + '-selectbox');\n r.data.canvases[CRp.DRAG].setAttribute('data-id', 'layer' + CRp.DRAG + '-drag');\n if (r.data.canvases[CRp.WEBGL]) {\n r.data.canvases[CRp.WEBGL].setAttribute('data-id', 'layer' + CRp.WEBGL + '-webgl');\n }\n for (var i = 0; i < CRp.BUFFER_COUNT; i++) {\n r.data.bufferCanvases[i] = document.createElement('canvas'); // eslint-disable-line no-undef\n r.data.bufferContexts[i] = r.data.bufferCanvases[i].getContext('2d');\n r.data.bufferCanvases[i].style.position = 'absolute';\n r.data.bufferCanvases[i].setAttribute('data-id', 'buffer' + i);\n r.data.bufferCanvases[i].style.zIndex = String(-i - 1);\n r.data.bufferCanvases[i].style.visibility = 'hidden';\n //r.data.canvasContainer.appendChild(r.data.bufferCanvases[i]);\n }\n r.pathsEnabled = true;\n var emptyBb = makeBoundingBox();\n var getBoxCenter = function getBoxCenter(bb) {\n return {\n x: (bb.x1 + bb.x2) / 2,\n y: (bb.y1 + bb.y2) / 2\n };\n };\n var getCenterOffset = function getCenterOffset(bb) {\n return {\n x: -bb.w / 2,\n y: -bb.h / 2\n };\n };\n var backgroundTimestampHasChanged = function backgroundTimestampHasChanged(ele) {\n var _p = ele[0]._private;\n var same = _p.oldBackgroundTimestamp === _p.backgroundTimestamp;\n return !same;\n };\n var getStyleKey = function getStyleKey(ele) {\n return ele[0]._private.nodeKey;\n };\n var getLabelKey = function getLabelKey(ele) {\n return ele[0]._private.labelStyleKey;\n };\n var getSourceLabelKey = function getSourceLabelKey(ele) {\n return ele[0]._private.sourceLabelStyleKey;\n };\n var getTargetLabelKey = function getTargetLabelKey(ele) {\n return ele[0]._private.targetLabelStyleKey;\n };\n var drawElement = function drawElement(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElement(context, ele, bb, false, false, useEleOpacity);\n };\n var drawLabel = function drawLabel(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElementText(context, ele, bb, scaledLabelShown, 'main', useEleOpacity);\n };\n var drawSourceLabel = function drawSourceLabel(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElementText(context, ele, bb, scaledLabelShown, 'source', useEleOpacity);\n };\n var drawTargetLabel = function drawTargetLabel(context, ele, bb, scaledLabelShown, useEleOpacity) {\n return r.drawElementText(context, ele, bb, scaledLabelShown, 'target', useEleOpacity);\n };\n var getElementBox = function getElementBox(ele) {\n ele.boundingBox();\n return ele[0]._private.bodyBounds;\n };\n var getLabelBox = function getLabelBox(ele) {\n ele.boundingBox();\n return ele[0]._private.labelBounds.main || emptyBb;\n };\n var getSourceLabelBox = function getSourceLabelBox(ele) {\n ele.boundingBox();\n return ele[0]._private.labelBounds.source || emptyBb;\n };\n var getTargetLabelBox = function getTargetLabelBox(ele) {\n ele.boundingBox();\n return ele[0]._private.labelBounds.target || emptyBb;\n };\n var isLabelVisibleAtScale = function isLabelVisibleAtScale(ele, scaledLabelShown) {\n return scaledLabelShown;\n };\n var getElementRotationPoint = function getElementRotationPoint(ele) {\n return getBoxCenter(getElementBox(ele));\n };\n var addTextMargin = function addTextMargin(prefix, pt, ele) {\n var pre = prefix ? prefix + '-' : '';\n return {\n x: pt.x + ele.pstyle(pre + 'text-margin-x').pfValue,\n y: pt.y + ele.pstyle(pre + 'text-margin-y').pfValue\n };\n };\n var getRsPt = function getRsPt(ele, x, y) {\n var rs = ele[0]._private.rscratch;\n return {\n x: rs[x],\n y: rs[y]\n };\n };\n var getLabelRotationPoint = function getLabelRotationPoint(ele) {\n return addTextMargin('', getRsPt(ele, 'labelX', 'labelY'), ele);\n };\n var getSourceLabelRotationPoint = function getSourceLabelRotationPoint(ele) {\n return addTextMargin('source', getRsPt(ele, 'sourceLabelX', 'sourceLabelY'), ele);\n };\n var getTargetLabelRotationPoint = function getTargetLabelRotationPoint(ele) {\n return addTextMargin('target', getRsPt(ele, 'targetLabelX', 'targetLabelY'), ele);\n };\n var getElementRotationOffset = function getElementRotationOffset(ele) {\n return getCenterOffset(getElementBox(ele));\n };\n var getSourceLabelRotationOffset = function getSourceLabelRotationOffset(ele) {\n return getCenterOffset(getSourceLabelBox(ele));\n };\n var getTargetLabelRotationOffset = function getTargetLabelRotationOffset(ele) {\n return getCenterOffset(getTargetLabelBox(ele));\n };\n var getLabelRotationOffset = function getLabelRotationOffset(ele) {\n var bb = getLabelBox(ele);\n var p = getCenterOffset(getLabelBox(ele));\n if (ele.isNode()) {\n switch (ele.pstyle('text-halign').value) {\n case 'left':\n p.x = -bb.w - (bb.leftPad || 0);\n break;\n case 'right':\n p.x = -(bb.rightPad || 0);\n break;\n }\n switch (ele.pstyle('text-valign').value) {\n case 'top':\n p.y = -bb.h - (bb.topPad || 0);\n break;\n case 'bottom':\n p.y = -(bb.botPad || 0);\n break;\n }\n }\n return p;\n };\n var eleTxrCache = r.data.eleTxrCache = new ElementTextureCache(r, {\n getKey: getStyleKey,\n doesEleInvalidateKey: backgroundTimestampHasChanged,\n drawElement: drawElement,\n getBoundingBox: getElementBox,\n getRotationPoint: getElementRotationPoint,\n getRotationOffset: getElementRotationOffset,\n allowEdgeTxrCaching: false,\n allowParentTxrCaching: false\n });\n var lblTxrCache = r.data.lblTxrCache = new ElementTextureCache(r, {\n getKey: getLabelKey,\n drawElement: drawLabel,\n getBoundingBox: getLabelBox,\n getRotationPoint: getLabelRotationPoint,\n getRotationOffset: getLabelRotationOffset,\n isVisible: isLabelVisibleAtScale\n });\n var slbTxrCache = r.data.slbTxrCache = new ElementTextureCache(r, {\n getKey: getSourceLabelKey,\n drawElement: drawSourceLabel,\n getBoundingBox: getSourceLabelBox,\n getRotationPoint: getSourceLabelRotationPoint,\n getRotationOffset: getSourceLabelRotationOffset,\n isVisible: isLabelVisibleAtScale\n });\n var tlbTxrCache = r.data.tlbTxrCache = new ElementTextureCache(r, {\n getKey: getTargetLabelKey,\n drawElement: drawTargetLabel,\n getBoundingBox: getTargetLabelBox,\n getRotationPoint: getTargetLabelRotationPoint,\n getRotationOffset: getTargetLabelRotationOffset,\n isVisible: isLabelVisibleAtScale\n });\n var lyrTxrCache = r.data.lyrTxrCache = new LayeredTextureCache(r);\n r.onUpdateEleCalcs(function invalidateTextureCaches(willDraw, eles) {\n // each cache should check for sub-key diff to see that the update affects that cache particularly\n eleTxrCache.invalidateElements(eles);\n lblTxrCache.invalidateElements(eles);\n slbTxrCache.invalidateElements(eles);\n tlbTxrCache.invalidateElements(eles);\n\n // any change invalidates the layers\n lyrTxrCache.invalidateElements(eles);\n\n // update the old bg timestamp so diffs can be done in the ele txr caches\n for (var _i = 0; _i < eles.length; _i++) {\n var _p = eles[_i]._private;\n _p.oldBackgroundTimestamp = _p.backgroundTimestamp;\n }\n });\n var refineInLayers = function refineInLayers(reqs) {\n for (var i = 0; i < reqs.length; i++) {\n lyrTxrCache.enqueueElementRefinement(reqs[i].ele);\n }\n };\n eleTxrCache.onDequeue(refineInLayers);\n lblTxrCache.onDequeue(refineInLayers);\n slbTxrCache.onDequeue(refineInLayers);\n tlbTxrCache.onDequeue(refineInLayers);\n if (options.webgl) {\n r.initWebgl(options, {\n getStyleKey: getStyleKey,\n getLabelKey: getLabelKey,\n getSourceLabelKey: getSourceLabelKey,\n getTargetLabelKey: getTargetLabelKey,\n drawElement: drawElement,\n drawLabel: drawLabel,\n drawSourceLabel: drawSourceLabel,\n drawTargetLabel: drawTargetLabel,\n getElementBox: getElementBox,\n getLabelBox: getLabelBox,\n getSourceLabelBox: getSourceLabelBox,\n getTargetLabelBox: getTargetLabelBox,\n getElementRotationPoint: getElementRotationPoint,\n getElementRotationOffset: getElementRotationOffset,\n getLabelRotationPoint: getLabelRotationPoint,\n getSourceLabelRotationPoint: getSourceLabelRotationPoint,\n getTargetLabelRotationPoint: getTargetLabelRotationPoint,\n getLabelRotationOffset: getLabelRotationOffset,\n getSourceLabelRotationOffset: getSourceLabelRotationOffset,\n getTargetLabelRotationOffset: getTargetLabelRotationOffset\n });\n }\n}\nCRp.redrawHint = function (group, bool) {\n var r = this;\n switch (group) {\n case 'eles':\n r.data.canvasNeedsRedraw[CRp.NODE] = bool;\n break;\n case 'drag':\n r.data.canvasNeedsRedraw[CRp.DRAG] = bool;\n break;\n case 'select':\n r.data.canvasNeedsRedraw[CRp.SELECT_BOX] = bool;\n break;\n case 'gc':\n r.data.gc = true;\n break;\n }\n};\n\n// whether to use Path2D caching for drawing\nvar pathsImpld = typeof Path2D !== 'undefined';\nCRp.path2dEnabled = function (on) {\n if (on === undefined) {\n return this.pathsEnabled;\n }\n this.pathsEnabled = on ? true : false;\n};\nCRp.usePaths = function () {\n return pathsImpld && this.pathsEnabled;\n};\nCRp.setImgSmoothing = function (context, bool) {\n if (context.imageSmoothingEnabled != null) {\n context.imageSmoothingEnabled = bool;\n } else {\n context.webkitImageSmoothingEnabled = bool;\n context.mozImageSmoothingEnabled = bool;\n context.msImageSmoothingEnabled = bool;\n }\n};\nCRp.getImgSmoothing = function (context) {\n if (context.imageSmoothingEnabled != null) {\n return context.imageSmoothingEnabled;\n } else {\n return context.webkitImageSmoothingEnabled || context.mozImageSmoothingEnabled || context.msImageSmoothingEnabled;\n }\n};\nCRp.makeOffscreenCanvas = function (width, height) {\n var canvas;\n if ((typeof OffscreenCanvas === \"undefined\" ? \"undefined\" : _typeof(OffscreenCanvas)) !== (\"undefined\" )) {\n canvas = new OffscreenCanvas(width, height);\n } else {\n var containerWindow = this.cy.window();\n var document = containerWindow.document;\n canvas = document.createElement('canvas'); // eslint-disable-line no-undef\n canvas.width = width;\n canvas.height = height;\n }\n return canvas;\n};\n[CRp$b, CRp$a, CRp$9, CRp$8, CRp$7, CRp$6, CRp$5, CRp$4, CRp$3, CRp$2, CRp$1].forEach(function (props) {\n extend(CRp, props);\n});\n\nvar renderer = [{\n name: 'null',\n impl: NullRenderer\n}, {\n name: 'base',\n impl: BR\n}, {\n name: 'canvas',\n impl: CR\n}];\n\nvar incExts = [{\n type: 'layout',\n extensions: layout\n}, {\n type: 'renderer',\n extensions: renderer\n}];\n\n// registered extensions to cytoscape, indexed by name\nvar extensions = {};\n\n// registered modules for extensions, indexed by name\nvar modules = {};\nfunction setExtension(type, name, registrant) {\n var ext = registrant;\n var overrideErr = function overrideErr(field) {\n warn('Can not register `' + name + '` for `' + type + '` since `' + field + '` already exists in the prototype and can not be overridden');\n };\n if (type === 'core') {\n if (Core.prototype[name]) {\n return overrideErr(name);\n } else {\n Core.prototype[name] = registrant;\n }\n } else if (type === 'collection') {\n if (Collection.prototype[name]) {\n return overrideErr(name);\n } else {\n Collection.prototype[name] = registrant;\n }\n } else if (type === 'layout') {\n // fill in missing layout functions in the prototype\n\n var Layout = function Layout(options) {\n this.options = options;\n registrant.call(this, options);\n\n // make sure layout has _private for use w/ std apis like .on()\n if (!plainObject(this._private)) {\n this._private = {};\n }\n this._private.cy = options.cy;\n this._private.listeners = [];\n this.createEmitter();\n };\n var layoutProto = Layout.prototype = Object.create(registrant.prototype);\n var optLayoutFns = [];\n for (var i = 0; i < optLayoutFns.length; i++) {\n var fnName = optLayoutFns[i];\n layoutProto[fnName] = layoutProto[fnName] || function () {\n return this;\n };\n }\n\n // either .start() or .run() is defined, so autogen the other\n if (layoutProto.start && !layoutProto.run) {\n layoutProto.run = function () {\n this.start();\n return this;\n };\n } else if (!layoutProto.start && layoutProto.run) {\n layoutProto.start = function () {\n this.run();\n return this;\n };\n }\n var regStop = registrant.prototype.stop;\n layoutProto.stop = function () {\n var opts = this.options;\n if (opts && opts.animate) {\n var anis = this.animations;\n if (anis) {\n for (var _i = 0; _i < anis.length; _i++) {\n anis[_i].stop();\n }\n }\n }\n if (regStop) {\n regStop.call(this);\n } else {\n this.emit('layoutstop');\n }\n return this;\n };\n if (!layoutProto.destroy) {\n layoutProto.destroy = function () {\n return this;\n };\n }\n layoutProto.cy = function () {\n return this._private.cy;\n };\n var getCy = function getCy(layout) {\n return layout._private.cy;\n };\n var emitterOpts = {\n addEventFields: function addEventFields(layout, evt) {\n evt.layout = layout;\n evt.cy = getCy(layout);\n evt.target = layout;\n },\n bubble: function bubble() {\n return true;\n },\n parent: function parent(layout) {\n return getCy(layout);\n }\n };\n extend(layoutProto, {\n createEmitter: function createEmitter() {\n this._private.emitter = new Emitter(emitterOpts, this);\n return this;\n },\n emitter: function emitter() {\n return this._private.emitter;\n },\n on: function on(evt, cb) {\n this.emitter().on(evt, cb);\n return this;\n },\n one: function one(evt, cb) {\n this.emitter().one(evt, cb);\n return this;\n },\n once: function once(evt, cb) {\n this.emitter().one(evt, cb);\n return this;\n },\n removeListener: function removeListener(evt, cb) {\n this.emitter().removeListener(evt, cb);\n return this;\n },\n removeAllListeners: function removeAllListeners() {\n this.emitter().removeAllListeners();\n return this;\n },\n emit: function emit(evt, params) {\n this.emitter().emit(evt, params);\n return this;\n }\n });\n define.eventAliasesOn(layoutProto);\n ext = Layout; // replace with our wrapped layout\n } else if (type === 'renderer' && name !== 'null' && name !== 'base') {\n // user registered renderers inherit from base\n\n var BaseRenderer = getExtension('renderer', 'base');\n var bProto = BaseRenderer.prototype;\n var RegistrantRenderer = registrant;\n var rProto = registrant.prototype;\n var Renderer = function Renderer() {\n BaseRenderer.apply(this, arguments);\n RegistrantRenderer.apply(this, arguments);\n };\n var proto = Renderer.prototype;\n for (var pName in bProto) {\n var pVal = bProto[pName];\n var existsInR = rProto[pName] != null;\n if (existsInR) {\n return overrideErr(pName);\n }\n proto[pName] = pVal; // take impl from base\n }\n for (var _pName in rProto) {\n proto[_pName] = rProto[_pName]; // take impl from registrant\n }\n bProto.clientFunctions.forEach(function (name) {\n proto[name] = proto[name] || function () {\n error('Renderer does not implement `renderer.' + name + '()` on its prototype');\n };\n });\n ext = Renderer;\n } else if (type === '__proto__' || type === 'constructor' || type === 'prototype') {\n // to avoid potential prototype pollution\n return error(type + ' is an illegal type to be registered, possibly lead to prototype pollutions');\n }\n return setMap({\n map: extensions,\n keys: [type, name],\n value: ext\n });\n}\nfunction getExtension(type, name) {\n return getMap({\n map: extensions,\n keys: [type, name]\n });\n}\nfunction setModule(type, name, moduleType, moduleName, registrant) {\n return setMap({\n map: modules,\n keys: [type, name, moduleType, moduleName],\n value: registrant\n });\n}\nfunction getModule(type, name, moduleType, moduleName) {\n return getMap({\n map: modules,\n keys: [type, name, moduleType, moduleName]\n });\n}\nvar extension = function extension() {\n // e.g. extension('renderer', 'svg')\n if (arguments.length === 2) {\n return getExtension.apply(null, arguments);\n }\n\n // e.g. extension('renderer', 'svg', { ... })\n else if (arguments.length === 3) {\n return setExtension.apply(null, arguments);\n }\n\n // e.g. extension('renderer', 'svg', 'nodeShape', 'ellipse')\n else if (arguments.length === 4) {\n return getModule.apply(null, arguments);\n }\n\n // e.g. extension('renderer', 'svg', 'nodeShape', 'ellipse', { ... })\n else if (arguments.length === 5) {\n return setModule.apply(null, arguments);\n } else {\n error('Invalid extension access syntax');\n }\n};\n\n// allows a core instance to access extensions internally\nCore.prototype.extension = extension;\n\n// included extensions\nincExts.forEach(function (group) {\n group.extensions.forEach(function (ext) {\n setExtension(group.type, ext.name, ext.impl);\n });\n});\n\n// a dummy stylesheet object that doesn't need a reference to the core\n// (useful for init)\nvar _Stylesheet = function Stylesheet() {\n if (!(this instanceof _Stylesheet)) {\n return new _Stylesheet();\n }\n this.length = 0;\n};\nvar sheetfn = _Stylesheet.prototype;\nsheetfn.instanceString = function () {\n return 'stylesheet';\n};\n\n// just store the selector to be parsed later\nsheetfn.selector = function (selector) {\n var i = this.length++;\n this[i] = {\n selector: selector,\n properties: []\n };\n return this; // chaining\n};\n\n// just store the property to be parsed later\nsheetfn.css = function (name, value) {\n var i = this.length - 1;\n if (string(name)) {\n this[i].properties.push({\n name: name,\n value: value\n });\n } else if (plainObject(name)) {\n var map = name;\n var propNames = Object.keys(map);\n for (var j = 0; j < propNames.length; j++) {\n var key = propNames[j];\n var mapVal = map[key];\n if (mapVal == null) {\n continue;\n }\n var prop = _Style.properties[key] || _Style.properties[dash2camel(key)];\n if (prop == null) {\n continue;\n }\n var _name = prop.name;\n var _value = mapVal;\n this[i].properties.push({\n name: _name,\n value: _value\n });\n }\n }\n return this; // chaining\n};\nsheetfn.style = sheetfn.css;\n\n// generate a real style object from the dummy stylesheet\nsheetfn.generateStyle = function (cy) {\n var style = new _Style(cy);\n return this.appendToStyle(style);\n};\n\n// append a dummy stylesheet object on a real style object\nsheetfn.appendToStyle = function (style) {\n for (var i = 0; i < this.length; i++) {\n var context = this[i];\n var selector = context.selector;\n var props = context.properties;\n style.selector(selector); // apply selector\n\n for (var j = 0; j < props.length; j++) {\n var prop = props[j];\n style.css(prop.name, prop.value); // apply property\n }\n }\n return style;\n};\n\nvar version = \"3.32.0\";\n\nvar cytoscape = function cytoscape(options) {\n // if no options specified, use default\n if (options === undefined) {\n options = {};\n }\n\n // create instance\n if (plainObject(options)) {\n return new Core(options);\n }\n\n // allow for registration of extensions\n else if (string(options)) {\n return extension.apply(extension, arguments);\n }\n};\n\n// e.g. cytoscape.use( require('cytoscape-foo'), bar )\ncytoscape.use = function (ext) {\n var args = Array.prototype.slice.call(arguments, 1); // args to pass to ext\n\n args.unshift(cytoscape); // cytoscape is first arg to ext\n\n ext.apply(null, args);\n return this;\n};\ncytoscape.warnings = function (bool) {\n return warnings(bool);\n};\n\n// replaced by build system\ncytoscape.version = version;\n\n// expose public apis (mostly for extensions)\ncytoscape.stylesheet = cytoscape.Stylesheet = _Stylesheet;\n\nexport { cytoscape as default };\n", + "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"layoutBase\"] = factory();\n\telse\n\t\troot[\"layoutBase\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 26);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LayoutConstants() {}\n\n/**\r\n * Layout Quality: 0:draft, 1:default, 2:proof\r\n */\nLayoutConstants.QUALITY = 1;\n\n/**\r\n * Default parameters\r\n */\nLayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED = false;\nLayoutConstants.DEFAULT_INCREMENTAL = false;\nLayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT = true;\nLayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT = false;\nLayoutConstants.DEFAULT_ANIMATION_PERIOD = 50;\nLayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = false;\n\n// -----------------------------------------------------------------------------\n// Section: General other constants\n// -----------------------------------------------------------------------------\n/*\r\n * Margins of a graph to be applied on bouding rectangle of its contents. We\r\n * assume margins on all four sides to be uniform.\r\n */\nLayoutConstants.DEFAULT_GRAPH_MARGIN = 15;\n\n/*\r\n * Whether to consider labels in node dimensions or not\r\n */\nLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = false;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_SIZE = 40;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_HALF_SIZE = LayoutConstants.SIMPLE_NODE_SIZE / 2;\n\n/*\r\n * Empty compound node size. When a compound node is empty, its both\r\n * dimensions should be of this value.\r\n */\nLayoutConstants.EMPTY_COMPOUND_NODE_SIZE = 40;\n\n/*\r\n * Minimum length that an edge should take during layout\r\n */\nLayoutConstants.MIN_EDGE_LENGTH = 1;\n\n/*\r\n * World boundaries that layout operates on\r\n */\nLayoutConstants.WORLD_BOUNDARY = 1000000;\n\n/*\r\n * World boundaries that random positioning can be performed with\r\n */\nLayoutConstants.INITIAL_WORLD_BOUNDARY = LayoutConstants.WORLD_BOUNDARY / 1000;\n\n/*\r\n * Coordinates of the world center\r\n */\nLayoutConstants.WORLD_CENTER_X = 1200;\nLayoutConstants.WORLD_CENTER_Y = 900;\n\nmodule.exports = LayoutConstants;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction LEdge(source, target, vEdge) {\n LGraphObject.call(this, vEdge);\n\n this.isOverlapingSourceAndTarget = false;\n this.vGraphObject = vEdge;\n this.bendpoints = [];\n this.source = source;\n this.target = target;\n}\n\nLEdge.prototype = Object.create(LGraphObject.prototype);\n\nfor (var prop in LGraphObject) {\n LEdge[prop] = LGraphObject[prop];\n}\n\nLEdge.prototype.getSource = function () {\n return this.source;\n};\n\nLEdge.prototype.getTarget = function () {\n return this.target;\n};\n\nLEdge.prototype.isInterGraph = function () {\n return this.isInterGraph;\n};\n\nLEdge.prototype.getLength = function () {\n return this.length;\n};\n\nLEdge.prototype.isOverlapingSourceAndTarget = function () {\n return this.isOverlapingSourceAndTarget;\n};\n\nLEdge.prototype.getBendpoints = function () {\n return this.bendpoints;\n};\n\nLEdge.prototype.getLca = function () {\n return this.lca;\n};\n\nLEdge.prototype.getSourceInLca = function () {\n return this.sourceInLca;\n};\n\nLEdge.prototype.getTargetInLca = function () {\n return this.targetInLca;\n};\n\nLEdge.prototype.getOtherEnd = function (node) {\n if (this.source === node) {\n return this.target;\n } else if (this.target === node) {\n return this.source;\n } else {\n throw \"Node is not incident with this edge\";\n }\n};\n\nLEdge.prototype.getOtherEndInGraph = function (node, graph) {\n var otherEnd = this.getOtherEnd(node);\n var root = graph.getGraphManager().getRoot();\n\n while (true) {\n if (otherEnd.getOwner() == graph) {\n return otherEnd;\n }\n\n if (otherEnd.getOwner() == root) {\n break;\n }\n\n otherEnd = otherEnd.getOwner().getParent();\n }\n\n return null;\n};\n\nLEdge.prototype.updateLength = function () {\n var clipPointCoordinates = new Array(4);\n\n this.isOverlapingSourceAndTarget = IGeometry.getIntersection(this.target.getRect(), this.source.getRect(), clipPointCoordinates);\n\n if (!this.isOverlapingSourceAndTarget) {\n this.lengthX = clipPointCoordinates[0] - clipPointCoordinates[2];\n this.lengthY = clipPointCoordinates[1] - clipPointCoordinates[3];\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n }\n};\n\nLEdge.prototype.updateLengthSimple = function () {\n this.lengthX = this.target.getCenterX() - this.source.getCenterX();\n this.lengthY = this.target.getCenterY() - this.source.getCenterY();\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n};\n\nmodule.exports = LEdge;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LGraphObject(vGraphObject) {\n this.vGraphObject = vGraphObject;\n}\n\nmodule.exports = LGraphObject;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar RectangleD = __webpack_require__(13);\nvar LayoutConstants = __webpack_require__(0);\nvar RandomSeed = __webpack_require__(16);\nvar PointD = __webpack_require__(4);\n\nfunction LNode(gm, loc, size, vNode) {\n //Alternative constructor 1 : LNode(LGraphManager gm, Point loc, Dimension size, Object vNode)\n if (size == null && vNode == null) {\n vNode = loc;\n }\n\n LGraphObject.call(this, vNode);\n\n //Alternative constructor 2 : LNode(Layout layout, Object vNode)\n if (gm.graphManager != null) gm = gm.graphManager;\n\n this.estimatedSize = Integer.MIN_VALUE;\n this.inclusionTreeDepth = Integer.MAX_VALUE;\n this.vGraphObject = vNode;\n this.edges = [];\n this.graphManager = gm;\n\n if (size != null && loc != null) this.rect = new RectangleD(loc.x, loc.y, size.width, size.height);else this.rect = new RectangleD();\n}\n\nLNode.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LNode[prop] = LGraphObject[prop];\n}\n\nLNode.prototype.getEdges = function () {\n return this.edges;\n};\n\nLNode.prototype.getChild = function () {\n return this.child;\n};\n\nLNode.prototype.getOwner = function () {\n // if (this.owner != null) {\n // if (!(this.owner == null || this.owner.getNodes().indexOf(this) > -1)) {\n // throw \"assert failed\";\n // }\n // }\n\n return this.owner;\n};\n\nLNode.prototype.getWidth = function () {\n return this.rect.width;\n};\n\nLNode.prototype.setWidth = function (width) {\n this.rect.width = width;\n};\n\nLNode.prototype.getHeight = function () {\n return this.rect.height;\n};\n\nLNode.prototype.setHeight = function (height) {\n this.rect.height = height;\n};\n\nLNode.prototype.getCenterX = function () {\n return this.rect.x + this.rect.width / 2;\n};\n\nLNode.prototype.getCenterY = function () {\n return this.rect.y + this.rect.height / 2;\n};\n\nLNode.prototype.getCenter = function () {\n return new PointD(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);\n};\n\nLNode.prototype.getLocation = function () {\n return new PointD(this.rect.x, this.rect.y);\n};\n\nLNode.prototype.getRect = function () {\n return this.rect;\n};\n\nLNode.prototype.getDiagonal = function () {\n return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);\n};\n\n/**\n * This method returns half the diagonal length of this node.\n */\nLNode.prototype.getHalfTheDiagonal = function () {\n return Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2;\n};\n\nLNode.prototype.setRect = function (upperLeft, dimension) {\n this.rect.x = upperLeft.x;\n this.rect.y = upperLeft.y;\n this.rect.width = dimension.width;\n this.rect.height = dimension.height;\n};\n\nLNode.prototype.setCenter = function (cx, cy) {\n this.rect.x = cx - this.rect.width / 2;\n this.rect.y = cy - this.rect.height / 2;\n};\n\nLNode.prototype.setLocation = function (x, y) {\n this.rect.x = x;\n this.rect.y = y;\n};\n\nLNode.prototype.moveBy = function (dx, dy) {\n this.rect.x += dx;\n this.rect.y += dy;\n};\n\nLNode.prototype.getEdgeListToNode = function (to) {\n var edgeList = [];\n var edge;\n var self = this;\n\n self.edges.forEach(function (edge) {\n\n if (edge.target == to) {\n if (edge.source != self) throw \"Incorrect edge source!\";\n\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getEdgesBetween = function (other) {\n var edgeList = [];\n var edge;\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (!(edge.source == self || edge.target == self)) throw \"Incorrect edge source and/or target\";\n\n if (edge.target == other || edge.source == other) {\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getNeighborsList = function () {\n var neighbors = new Set();\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (edge.source == self) {\n neighbors.add(edge.target);\n } else {\n if (edge.target != self) {\n throw \"Incorrect incidency!\";\n }\n\n neighbors.add(edge.source);\n }\n });\n\n return neighbors;\n};\n\nLNode.prototype.withChildren = function () {\n var withNeighborsList = new Set();\n var childNode;\n var children;\n\n withNeighborsList.add(this);\n\n if (this.child != null) {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n children = childNode.withChildren();\n children.forEach(function (node) {\n withNeighborsList.add(node);\n });\n }\n }\n\n return withNeighborsList;\n};\n\nLNode.prototype.getNoOfChildren = function () {\n var noOfChildren = 0;\n var childNode;\n\n if (this.child == null) {\n noOfChildren = 1;\n } else {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n\n noOfChildren += childNode.getNoOfChildren();\n }\n }\n\n if (noOfChildren == 0) {\n noOfChildren = 1;\n }\n return noOfChildren;\n};\n\nLNode.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLNode.prototype.calcEstimatedSize = function () {\n if (this.child == null) {\n return this.estimatedSize = (this.rect.width + this.rect.height) / 2;\n } else {\n this.estimatedSize = this.child.calcEstimatedSize();\n this.rect.width = this.estimatedSize;\n this.rect.height = this.estimatedSize;\n\n return this.estimatedSize;\n }\n};\n\nLNode.prototype.scatter = function () {\n var randomCenterX;\n var randomCenterY;\n\n var minX = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxX = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterX = LayoutConstants.WORLD_CENTER_X + RandomSeed.nextDouble() * (maxX - minX) + minX;\n\n var minY = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxY = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterY = LayoutConstants.WORLD_CENTER_Y + RandomSeed.nextDouble() * (maxY - minY) + minY;\n\n this.rect.x = randomCenterX;\n this.rect.y = randomCenterY;\n};\n\nLNode.prototype.updateBounds = function () {\n if (this.getChild() == null) {\n throw \"assert failed\";\n }\n if (this.getChild().getNodes().length != 0) {\n // wrap the children nodes by re-arranging the boundaries\n var childGraph = this.getChild();\n childGraph.updateBounds(true);\n\n this.rect.x = childGraph.getLeft();\n this.rect.y = childGraph.getTop();\n\n this.setWidth(childGraph.getRight() - childGraph.getLeft());\n this.setHeight(childGraph.getBottom() - childGraph.getTop());\n\n // Update compound bounds considering its label properties \n if (LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n\n var width = childGraph.getRight() - childGraph.getLeft();\n var height = childGraph.getBottom() - childGraph.getTop();\n\n if (this.labelWidth > width) {\n this.rect.x -= (this.labelWidth - width) / 2;\n this.setWidth(this.labelWidth);\n }\n\n if (this.labelHeight > height) {\n if (this.labelPos == \"center\") {\n this.rect.y -= (this.labelHeight - height) / 2;\n } else if (this.labelPos == \"top\") {\n this.rect.y -= this.labelHeight - height;\n }\n this.setHeight(this.labelHeight);\n }\n }\n }\n};\n\nLNode.prototype.getInclusionTreeDepth = function () {\n if (this.inclusionTreeDepth == Integer.MAX_VALUE) {\n throw \"assert failed\";\n }\n return this.inclusionTreeDepth;\n};\n\nLNode.prototype.transform = function (trans) {\n var left = this.rect.x;\n\n if (left > LayoutConstants.WORLD_BOUNDARY) {\n left = LayoutConstants.WORLD_BOUNDARY;\n } else if (left < -LayoutConstants.WORLD_BOUNDARY) {\n left = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var top = this.rect.y;\n\n if (top > LayoutConstants.WORLD_BOUNDARY) {\n top = LayoutConstants.WORLD_BOUNDARY;\n } else if (top < -LayoutConstants.WORLD_BOUNDARY) {\n top = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var leftTop = new PointD(left, top);\n var vLeftTop = trans.inverseTransformPoint(leftTop);\n\n this.setLocation(vLeftTop.x, vLeftTop.y);\n};\n\nLNode.prototype.getLeft = function () {\n return this.rect.x;\n};\n\nLNode.prototype.getRight = function () {\n return this.rect.x + this.rect.width;\n};\n\nLNode.prototype.getTop = function () {\n return this.rect.y;\n};\n\nLNode.prototype.getBottom = function () {\n return this.rect.y + this.rect.height;\n};\n\nLNode.prototype.getParent = function () {\n if (this.owner == null) {\n return null;\n }\n\n return this.owner.getParent();\n};\n\nmodule.exports = LNode;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction PointD(x, y) {\n if (x == null && y == null) {\n this.x = 0;\n this.y = 0;\n } else {\n this.x = x;\n this.y = y;\n }\n}\n\nPointD.prototype.getX = function () {\n return this.x;\n};\n\nPointD.prototype.getY = function () {\n return this.y;\n};\n\nPointD.prototype.setX = function (x) {\n this.x = x;\n};\n\nPointD.prototype.setY = function (y) {\n this.y = y;\n};\n\nPointD.prototype.getDifference = function (pt) {\n return new DimensionD(this.x - pt.x, this.y - pt.y);\n};\n\nPointD.prototype.getCopy = function () {\n return new PointD(this.x, this.y);\n};\n\nPointD.prototype.translate = function (dim) {\n this.x += dim.width;\n this.y += dim.height;\n return this;\n};\n\nmodule.exports = PointD;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(6);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar RectangleD = __webpack_require__(13);\nvar Point = __webpack_require__(12);\nvar LinkedList = __webpack_require__(11);\n\nfunction LGraph(parent, obj2, vGraph) {\n LGraphObject.call(this, vGraph);\n this.estimatedSize = Integer.MIN_VALUE;\n this.margin = LayoutConstants.DEFAULT_GRAPH_MARGIN;\n this.edges = [];\n this.nodes = [];\n this.isConnected = false;\n this.parent = parent;\n\n if (obj2 != null && obj2 instanceof LGraphManager) {\n this.graphManager = obj2;\n } else if (obj2 != null && obj2 instanceof Layout) {\n this.graphManager = obj2.graphManager;\n }\n}\n\nLGraph.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LGraph[prop] = LGraphObject[prop];\n}\n\nLGraph.prototype.getNodes = function () {\n return this.nodes;\n};\n\nLGraph.prototype.getEdges = function () {\n return this.edges;\n};\n\nLGraph.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLGraph.prototype.getParent = function () {\n return this.parent;\n};\n\nLGraph.prototype.getLeft = function () {\n return this.left;\n};\n\nLGraph.prototype.getRight = function () {\n return this.right;\n};\n\nLGraph.prototype.getTop = function () {\n return this.top;\n};\n\nLGraph.prototype.getBottom = function () {\n return this.bottom;\n};\n\nLGraph.prototype.isConnected = function () {\n return this.isConnected;\n};\n\nLGraph.prototype.add = function (obj1, sourceNode, targetNode) {\n if (sourceNode == null && targetNode == null) {\n var newNode = obj1;\n if (this.graphManager == null) {\n throw \"Graph has no graph mgr!\";\n }\n if (this.getNodes().indexOf(newNode) > -1) {\n throw \"Node already in graph!\";\n }\n newNode.owner = this;\n this.getNodes().push(newNode);\n\n return newNode;\n } else {\n var newEdge = obj1;\n if (!(this.getNodes().indexOf(sourceNode) > -1 && this.getNodes().indexOf(targetNode) > -1)) {\n throw \"Source or target not in graph!\";\n }\n\n if (!(sourceNode.owner == targetNode.owner && sourceNode.owner == this)) {\n throw \"Both owners must be this graph!\";\n }\n\n if (sourceNode.owner != targetNode.owner) {\n return null;\n }\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // set as intra-graph edge\n newEdge.isInterGraph = false;\n\n // add to graph edge list\n this.getEdges().push(newEdge);\n\n // add to incidency lists\n sourceNode.edges.push(newEdge);\n\n if (targetNode != sourceNode) {\n targetNode.edges.push(newEdge);\n }\n\n return newEdge;\n }\n};\n\nLGraph.prototype.remove = function (obj) {\n var node = obj;\n if (obj instanceof LNode) {\n if (node == null) {\n throw \"Node is null!\";\n }\n if (!(node.owner != null && node.owner == this)) {\n throw \"Owner graph is invalid!\";\n }\n if (this.graphManager == null) {\n throw \"Owner graph manager is invalid!\";\n }\n // remove incident edges first (make a copy to do it safely)\n var edgesToBeRemoved = node.edges.slice();\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n\n if (edge.isInterGraph) {\n this.graphManager.remove(edge);\n } else {\n edge.source.owner.remove(edge);\n }\n }\n\n // now the node itself\n var index = this.nodes.indexOf(node);\n if (index == -1) {\n throw \"Node not in owner node list!\";\n }\n\n this.nodes.splice(index, 1);\n } else if (obj instanceof LEdge) {\n var edge = obj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n if (!(edge.source.owner != null && edge.target.owner != null && edge.source.owner == this && edge.target.owner == this)) {\n throw \"Source and/or target owner is invalid!\";\n }\n\n var sourceIndex = edge.source.edges.indexOf(edge);\n var targetIndex = edge.target.edges.indexOf(edge);\n if (!(sourceIndex > -1 && targetIndex > -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n edge.source.edges.splice(sourceIndex, 1);\n\n if (edge.target != edge.source) {\n edge.target.edges.splice(targetIndex, 1);\n }\n\n var index = edge.source.owner.getEdges().indexOf(edge);\n if (index == -1) {\n throw \"Not in owner's edge list!\";\n }\n\n edge.source.owner.getEdges().splice(index, 1);\n }\n};\n\nLGraph.prototype.updateLeftTop = function () {\n var top = Integer.MAX_VALUE;\n var left = Integer.MAX_VALUE;\n var nodeTop;\n var nodeLeft;\n var margin;\n\n var nodes = this.getNodes();\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeTop = lNode.getTop();\n nodeLeft = lNode.getLeft();\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n }\n\n // Do we have any nodes in this graph?\n if (top == Integer.MAX_VALUE) {\n return null;\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = left - margin;\n this.top = top - margin;\n\n // Apply the margins and return the result\n return new Point(this.left, this.top);\n};\n\nLGraph.prototype.updateBounds = function (recursive) {\n // calculate bounds\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n var margin;\n\n var nodes = this.nodes;\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n\n if (recursive && lNode.child != null) {\n lNode.updateBounds();\n }\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n if (left == Integer.MAX_VALUE) {\n this.left = this.parent.getLeft();\n this.right = this.parent.getRight();\n this.top = this.parent.getTop();\n this.bottom = this.parent.getBottom();\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = boundingRect.x - margin;\n this.right = boundingRect.x + boundingRect.width + margin;\n this.top = boundingRect.y - margin;\n this.bottom = boundingRect.y + boundingRect.height + margin;\n};\n\nLGraph.calculateBounds = function (nodes) {\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n\n return boundingRect;\n};\n\nLGraph.prototype.getInclusionTreeDepth = function () {\n if (this == this.graphManager.getRoot()) {\n return 1;\n } else {\n return this.parent.getInclusionTreeDepth();\n }\n};\n\nLGraph.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLGraph.prototype.calcEstimatedSize = function () {\n var size = 0;\n var nodes = this.nodes;\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n size += lNode.calcEstimatedSize();\n }\n\n if (size == 0) {\n this.estimatedSize = LayoutConstants.EMPTY_COMPOUND_NODE_SIZE;\n } else {\n this.estimatedSize = size / Math.sqrt(this.nodes.length);\n }\n\n return this.estimatedSize;\n};\n\nLGraph.prototype.updateConnected = function () {\n var self = this;\n if (this.nodes.length == 0) {\n this.isConnected = true;\n return;\n }\n\n var queue = new LinkedList();\n var visited = new Set();\n var currentNode = this.nodes[0];\n var neighborEdges;\n var currentNeighbor;\n var childrenOfNode = currentNode.withChildren();\n childrenOfNode.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n\n while (queue.length !== 0) {\n currentNode = queue.shift();\n\n // Traverse all neighbors of this node\n neighborEdges = currentNode.getEdges();\n var size = neighborEdges.length;\n for (var i = 0; i < size; i++) {\n var neighborEdge = neighborEdges[i];\n currentNeighbor = neighborEdge.getOtherEndInGraph(currentNode, this);\n\n // Add unvisited neighbors to the list to visit\n if (currentNeighbor != null && !visited.has(currentNeighbor)) {\n var childrenOfNeighbor = currentNeighbor.withChildren();\n\n childrenOfNeighbor.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n }\n }\n }\n\n this.isConnected = false;\n\n if (visited.size >= this.nodes.length) {\n var noOfVisitedInThisGraph = 0;\n\n visited.forEach(function (visitedNode) {\n if (visitedNode.owner == self) {\n noOfVisitedInThisGraph++;\n }\n });\n\n if (noOfVisitedInThisGraph == this.nodes.length) {\n this.isConnected = true;\n }\n }\n};\n\nmodule.exports = LGraph;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraph;\nvar LEdge = __webpack_require__(1);\n\nfunction LGraphManager(layout) {\n LGraph = __webpack_require__(5); // It may be better to initilize this out of this function but it gives an error (Right-hand side of 'instanceof' is not callable) now.\n this.layout = layout;\n\n this.graphs = [];\n this.edges = [];\n}\n\nLGraphManager.prototype.addRoot = function () {\n var ngraph = this.layout.newGraph();\n var nnode = this.layout.newNode(null);\n var root = this.add(ngraph, nnode);\n this.setRootGraph(root);\n return this.rootGraph;\n};\n\nLGraphManager.prototype.add = function (newGraph, parentNode, newEdge, sourceNode, targetNode) {\n //there are just 2 parameters are passed then it adds an LGraph else it adds an LEdge\n if (newEdge == null && sourceNode == null && targetNode == null) {\n if (newGraph == null) {\n throw \"Graph is null!\";\n }\n if (parentNode == null) {\n throw \"Parent node is null!\";\n }\n if (this.graphs.indexOf(newGraph) > -1) {\n throw \"Graph already in this graph mgr!\";\n }\n\n this.graphs.push(newGraph);\n\n if (newGraph.parent != null) {\n throw \"Already has a parent!\";\n }\n if (parentNode.child != null) {\n throw \"Already has a child!\";\n }\n\n newGraph.parent = parentNode;\n parentNode.child = newGraph;\n\n return newGraph;\n } else {\n //change the order of the parameters\n targetNode = newEdge;\n sourceNode = parentNode;\n newEdge = newGraph;\n var sourceGraph = sourceNode.getOwner();\n var targetGraph = targetNode.getOwner();\n\n if (!(sourceGraph != null && sourceGraph.getGraphManager() == this)) {\n throw \"Source not in this graph mgr!\";\n }\n if (!(targetGraph != null && targetGraph.getGraphManager() == this)) {\n throw \"Target not in this graph mgr!\";\n }\n\n if (sourceGraph == targetGraph) {\n newEdge.isInterGraph = false;\n return sourceGraph.add(newEdge, sourceNode, targetNode);\n } else {\n newEdge.isInterGraph = true;\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // add edge to inter-graph edge list\n if (this.edges.indexOf(newEdge) > -1) {\n throw \"Edge already in inter-graph edge list!\";\n }\n\n this.edges.push(newEdge);\n\n // add edge to source and target incidency lists\n if (!(newEdge.source != null && newEdge.target != null)) {\n throw \"Edge source and/or target is null!\";\n }\n\n if (!(newEdge.source.edges.indexOf(newEdge) == -1 && newEdge.target.edges.indexOf(newEdge) == -1)) {\n throw \"Edge already in source and/or target incidency list!\";\n }\n\n newEdge.source.edges.push(newEdge);\n newEdge.target.edges.push(newEdge);\n\n return newEdge;\n }\n }\n};\n\nLGraphManager.prototype.remove = function (lObj) {\n if (lObj instanceof LGraph) {\n var graph = lObj;\n if (graph.getGraphManager() != this) {\n throw \"Graph not in this graph mgr\";\n }\n if (!(graph == this.rootGraph || graph.parent != null && graph.parent.graphManager == this)) {\n throw \"Invalid parent node!\";\n }\n\n // first the edges (make a copy to do it safely)\n var edgesToBeRemoved = [];\n\n edgesToBeRemoved = edgesToBeRemoved.concat(graph.getEdges());\n\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n graph.remove(edge);\n }\n\n // then the nodes (make a copy to do it safely)\n var nodesToBeRemoved = [];\n\n nodesToBeRemoved = nodesToBeRemoved.concat(graph.getNodes());\n\n var node;\n s = nodesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n node = nodesToBeRemoved[i];\n graph.remove(node);\n }\n\n // check if graph is the root\n if (graph == this.rootGraph) {\n this.setRootGraph(null);\n }\n\n // now remove the graph itself\n var index = this.graphs.indexOf(graph);\n this.graphs.splice(index, 1);\n\n // also reset the parent of the graph\n graph.parent = null;\n } else if (lObj instanceof LEdge) {\n edge = lObj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!edge.isInterGraph) {\n throw \"Not an inter-graph edge!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n\n // remove edge from source and target nodes' incidency lists\n\n if (!(edge.source.edges.indexOf(edge) != -1 && edge.target.edges.indexOf(edge) != -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n var index = edge.source.edges.indexOf(edge);\n edge.source.edges.splice(index, 1);\n index = edge.target.edges.indexOf(edge);\n edge.target.edges.splice(index, 1);\n\n // remove edge from owner graph manager's inter-graph edge list\n\n if (!(edge.source.owner != null && edge.source.owner.getGraphManager() != null)) {\n throw \"Edge owner graph or owner graph manager is null!\";\n }\n if (edge.source.owner.getGraphManager().edges.indexOf(edge) == -1) {\n throw \"Not in owner graph manager's edge list!\";\n }\n\n var index = edge.source.owner.getGraphManager().edges.indexOf(edge);\n edge.source.owner.getGraphManager().edges.splice(index, 1);\n }\n};\n\nLGraphManager.prototype.updateBounds = function () {\n this.rootGraph.updateBounds(true);\n};\n\nLGraphManager.prototype.getGraphs = function () {\n return this.graphs;\n};\n\nLGraphManager.prototype.getAllNodes = function () {\n if (this.allNodes == null) {\n var nodeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < s; i++) {\n nodeList = nodeList.concat(graphs[i].getNodes());\n }\n this.allNodes = nodeList;\n }\n return this.allNodes;\n};\n\nLGraphManager.prototype.resetAllNodes = function () {\n this.allNodes = null;\n};\n\nLGraphManager.prototype.resetAllEdges = function () {\n this.allEdges = null;\n};\n\nLGraphManager.prototype.resetAllNodesToApplyGravitation = function () {\n this.allNodesToApplyGravitation = null;\n};\n\nLGraphManager.prototype.getAllEdges = function () {\n if (this.allEdges == null) {\n var edgeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < graphs.length; i++) {\n edgeList = edgeList.concat(graphs[i].getEdges());\n }\n\n edgeList = edgeList.concat(this.edges);\n\n this.allEdges = edgeList;\n }\n return this.allEdges;\n};\n\nLGraphManager.prototype.getAllNodesToApplyGravitation = function () {\n return this.allNodesToApplyGravitation;\n};\n\nLGraphManager.prototype.setAllNodesToApplyGravitation = function (nodeList) {\n if (this.allNodesToApplyGravitation != null) {\n throw \"assert failed\";\n }\n\n this.allNodesToApplyGravitation = nodeList;\n};\n\nLGraphManager.prototype.getRoot = function () {\n return this.rootGraph;\n};\n\nLGraphManager.prototype.setRootGraph = function (graph) {\n if (graph.getGraphManager() != this) {\n throw \"Root not in this graph mgr!\";\n }\n\n this.rootGraph = graph;\n // root graph must have a root node associated with it for convenience\n if (graph.parent == null) {\n graph.parent = this.layout.newNode(\"Root node\");\n }\n};\n\nLGraphManager.prototype.getLayout = function () {\n return this.layout;\n};\n\nLGraphManager.prototype.isOneAncestorOfOther = function (firstNode, secondNode) {\n if (!(firstNode != null && secondNode != null)) {\n throw \"assert failed\";\n }\n\n if (firstNode == secondNode) {\n return true;\n }\n // Is second node an ancestor of the first one?\n var ownerGraph = firstNode.getOwner();\n var parentNode;\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == secondNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n // Is first node an ancestor of the second one?\n ownerGraph = secondNode.getOwner();\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == firstNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n\n return false;\n};\n\nLGraphManager.prototype.calcLowestCommonAncestors = function () {\n var edge;\n var sourceNode;\n var targetNode;\n var sourceAncestorGraph;\n var targetAncestorGraph;\n\n var edges = this.getAllEdges();\n var s = edges.length;\n for (var i = 0; i < s; i++) {\n edge = edges[i];\n\n sourceNode = edge.source;\n targetNode = edge.target;\n edge.lca = null;\n edge.sourceInLca = sourceNode;\n edge.targetInLca = targetNode;\n\n if (sourceNode == targetNode) {\n edge.lca = sourceNode.getOwner();\n continue;\n }\n\n sourceAncestorGraph = sourceNode.getOwner();\n\n while (edge.lca == null) {\n edge.targetInLca = targetNode;\n targetAncestorGraph = targetNode.getOwner();\n\n while (edge.lca == null) {\n if (targetAncestorGraph == sourceAncestorGraph) {\n edge.lca = targetAncestorGraph;\n break;\n }\n\n if (targetAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca != null) {\n throw \"assert failed\";\n }\n edge.targetInLca = targetAncestorGraph.getParent();\n targetAncestorGraph = edge.targetInLca.getOwner();\n }\n\n if (sourceAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca == null) {\n edge.sourceInLca = sourceAncestorGraph.getParent();\n sourceAncestorGraph = edge.sourceInLca.getOwner();\n }\n }\n\n if (edge.lca == null) {\n throw \"assert failed\";\n }\n }\n};\n\nLGraphManager.prototype.calcLowestCommonAncestor = function (firstNode, secondNode) {\n if (firstNode == secondNode) {\n return firstNode.getOwner();\n }\n var firstOwnerGraph = firstNode.getOwner();\n\n do {\n if (firstOwnerGraph == null) {\n break;\n }\n var secondOwnerGraph = secondNode.getOwner();\n\n do {\n if (secondOwnerGraph == null) {\n break;\n }\n\n if (secondOwnerGraph == firstOwnerGraph) {\n return secondOwnerGraph;\n }\n secondOwnerGraph = secondOwnerGraph.getParent().getOwner();\n } while (true);\n\n firstOwnerGraph = firstOwnerGraph.getParent().getOwner();\n } while (true);\n\n return firstOwnerGraph;\n};\n\nLGraphManager.prototype.calcInclusionTreeDepths = function (graph, depth) {\n if (graph == null && depth == null) {\n graph = this.rootGraph;\n depth = 1;\n }\n var node;\n\n var nodes = graph.getNodes();\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n node = nodes[i];\n node.inclusionTreeDepth = depth;\n\n if (node.child != null) {\n this.calcInclusionTreeDepths(node.child, depth + 1);\n }\n }\n};\n\nLGraphManager.prototype.includesInvalidEdge = function () {\n var edge;\n\n var s = this.edges.length;\n for (var i = 0; i < s; i++) {\n edge = this.edges[i];\n\n if (this.isOneAncestorOfOther(edge.source, edge.target)) {\n return true;\n }\n }\n return false;\n};\n\nmodule.exports = LGraphManager;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LayoutConstants = __webpack_require__(0);\n\nfunction FDLayoutConstants() {}\n\n//FDLayoutConstants inherits static props in LayoutConstants\nfor (var prop in LayoutConstants) {\n FDLayoutConstants[prop] = LayoutConstants[prop];\n}\n\nFDLayoutConstants.MAX_ITERATIONS = 2500;\n\nFDLayoutConstants.DEFAULT_EDGE_LENGTH = 50;\nFDLayoutConstants.DEFAULT_SPRING_STRENGTH = 0.45;\nFDLayoutConstants.DEFAULT_REPULSION_STRENGTH = 4500.0;\nFDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = 0.4;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1.0;\nFDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5;\nFDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = true;\nFDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = true;\nFDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3;\nFDLayoutConstants.COOLING_ADAPTATION_FACTOR = 0.33;\nFDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT = 1000;\nFDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT = 5000;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100.0;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3;\nFDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10.0;\nFDLayoutConstants.CONVERGENCE_CHECK_PERIOD = 100;\nFDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1;\nFDLayoutConstants.MIN_EDGE_LENGTH = 1;\nFDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD = 10;\n\nmodule.exports = FDLayoutConstants;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This class maintains a list of static geometry related utility methods.\n *\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar Point = __webpack_require__(12);\n\nfunction IGeometry() {}\n\n/**\n * This method calculates *half* the amount in x and y directions of the two\n * input rectangles needed to separate them keeping their respective\n * positioning, and returns the result in the input array. An input\n * separation buffer added to the amount in both directions. We assume that\n * the two rectangles do intersect.\n */\nIGeometry.calcSeparationAmount = function (rectA, rectB, overlapAmount, separationBuffer) {\n if (!rectA.intersects(rectB)) {\n throw \"assert failed\";\n }\n\n var directions = new Array(2);\n\n this.decideDirectionsForOverlappingNodes(rectA, rectB, directions);\n\n overlapAmount[0] = Math.min(rectA.getRight(), rectB.getRight()) - Math.max(rectA.x, rectB.x);\n overlapAmount[1] = Math.min(rectA.getBottom(), rectB.getBottom()) - Math.max(rectA.y, rectB.y);\n\n // update the overlapping amounts for the following cases:\n if (rectA.getX() <= rectB.getX() && rectA.getRight() >= rectB.getRight()) {\n /* Case x.1:\n *\n * rectA\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectB\n */\n overlapAmount[0] += Math.min(rectB.getX() - rectA.getX(), rectA.getRight() - rectB.getRight());\n } else if (rectB.getX() <= rectA.getX() && rectB.getRight() >= rectA.getRight()) {\n /* Case x.2:\n *\n * rectB\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectA\n */\n overlapAmount[0] += Math.min(rectA.getX() - rectB.getX(), rectB.getRight() - rectA.getRight());\n }\n if (rectA.getY() <= rectB.getY() && rectA.getBottom() >= rectB.getBottom()) {\n /* Case y.1:\n * ________ rectA\n * |\n * |\n * ______|____ rectB\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectB.getY() - rectA.getY(), rectA.getBottom() - rectB.getBottom());\n } else if (rectB.getY() <= rectA.getY() && rectB.getBottom() >= rectA.getBottom()) {\n /* Case y.2:\n * ________ rectB\n * |\n * |\n * ______|____ rectA\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectA.getY() - rectB.getY(), rectB.getBottom() - rectA.getBottom());\n }\n\n // find slope of the line passes two centers\n var slope = Math.abs((rectB.getCenterY() - rectA.getCenterY()) / (rectB.getCenterX() - rectA.getCenterX()));\n // if centers are overlapped\n if (rectB.getCenterY() === rectA.getCenterY() && rectB.getCenterX() === rectA.getCenterX()) {\n // assume the slope is 1 (45 degree)\n slope = 1.0;\n }\n\n var moveByY = slope * overlapAmount[0];\n var moveByX = overlapAmount[1] / slope;\n if (overlapAmount[0] < moveByX) {\n moveByX = overlapAmount[0];\n } else {\n moveByY = overlapAmount[1];\n }\n // return half the amount so that if each rectangle is moved by these\n // amounts in opposite directions, overlap will be resolved\n overlapAmount[0] = -1 * directions[0] * (moveByX / 2 + separationBuffer);\n overlapAmount[1] = -1 * directions[1] * (moveByY / 2 + separationBuffer);\n};\n\n/**\n * This method decides the separation direction of overlapping nodes\n *\n * if directions[0] = -1, then rectA goes left\n * if directions[0] = 1, then rectA goes right\n * if directions[1] = -1, then rectA goes up\n * if directions[1] = 1, then rectA goes down\n */\nIGeometry.decideDirectionsForOverlappingNodes = function (rectA, rectB, directions) {\n if (rectA.getCenterX() < rectB.getCenterX()) {\n directions[0] = -1;\n } else {\n directions[0] = 1;\n }\n\n if (rectA.getCenterY() < rectB.getCenterY()) {\n directions[1] = -1;\n } else {\n directions[1] = 1;\n }\n};\n\n/**\n * This method calculates the intersection (clipping) points of the two\n * input rectangles with line segment defined by the centers of these two\n * rectangles. The clipping points are saved in the input double array and\n * whether or not the two rectangles overlap is returned.\n */\nIGeometry.getIntersection2 = function (rectA, rectB, result) {\n //result[0-1] will contain clipPoint of rectA, result[2-3] will contain clipPoint of rectB\n var p1x = rectA.getCenterX();\n var p1y = rectA.getCenterY();\n var p2x = rectB.getCenterX();\n var p2y = rectB.getCenterY();\n\n //if two rectangles intersect, then clipping points are centers\n if (rectA.intersects(rectB)) {\n result[0] = p1x;\n result[1] = p1y;\n result[2] = p2x;\n result[3] = p2y;\n return true;\n }\n //variables for rectA\n var topLeftAx = rectA.getX();\n var topLeftAy = rectA.getY();\n var topRightAx = rectA.getRight();\n var bottomLeftAx = rectA.getX();\n var bottomLeftAy = rectA.getBottom();\n var bottomRightAx = rectA.getRight();\n var halfWidthA = rectA.getWidthHalf();\n var halfHeightA = rectA.getHeightHalf();\n //variables for rectB\n var topLeftBx = rectB.getX();\n var topLeftBy = rectB.getY();\n var topRightBx = rectB.getRight();\n var bottomLeftBx = rectB.getX();\n var bottomLeftBy = rectB.getBottom();\n var bottomRightBx = rectB.getRight();\n var halfWidthB = rectB.getWidthHalf();\n var halfHeightB = rectB.getHeightHalf();\n\n //flag whether clipping points are found\n var clipPointAFound = false;\n var clipPointBFound = false;\n\n // line is vertical\n if (p1x === p2x) {\n if (p1y > p2y) {\n result[0] = p1x;\n result[1] = topLeftAy;\n result[2] = p2x;\n result[3] = bottomLeftBy;\n return false;\n } else if (p1y < p2y) {\n result[0] = p1x;\n result[1] = bottomLeftAy;\n result[2] = p2x;\n result[3] = topLeftBy;\n return false;\n } else {\n //not line, return null;\n }\n }\n // line is horizontal\n else if (p1y === p2y) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = p1y;\n result[2] = topRightBx;\n result[3] = p2y;\n return false;\n } else if (p1x < p2x) {\n result[0] = topRightAx;\n result[1] = p1y;\n result[2] = topLeftBx;\n result[3] = p2y;\n return false;\n } else {\n //not valid line, return null;\n }\n } else {\n //slopes of rectA's and rectB's diagonals\n var slopeA = rectA.height / rectA.width;\n var slopeB = rectB.height / rectB.width;\n\n //slope of line between center of rectA and center of rectB\n var slopePrime = (p2y - p1y) / (p2x - p1x);\n var cardinalDirectionA = void 0;\n var cardinalDirectionB = void 0;\n var tempPointAx = void 0;\n var tempPointAy = void 0;\n var tempPointBx = void 0;\n var tempPointBy = void 0;\n\n //determine whether clipping point is the corner of nodeA\n if (-slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = bottomLeftAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = topRightAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n }\n } else if (slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = bottomRightAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n }\n }\n\n //determine whether clipping point is the corner of nodeB\n if (-slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = bottomLeftBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = topRightBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n }\n } else if (slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = topLeftBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = bottomRightBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n }\n }\n\n //if both clipping points are corners\n if (clipPointAFound && clipPointBFound) {\n return false;\n }\n\n //determine Cardinal Direction of rectangles\n if (p1x > p2x) {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 4);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 2);\n } else {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 3);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 1);\n }\n } else {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 1);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 3);\n } else {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 2);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 4);\n }\n }\n //calculate clipping Point if it is not found before\n if (!clipPointAFound) {\n switch (cardinalDirectionA) {\n case 1:\n tempPointAy = topLeftAy;\n tempPointAx = p1x + -halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 2:\n tempPointAx = bottomRightAx;\n tempPointAy = p1y + halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 3:\n tempPointAy = bottomLeftAy;\n tempPointAx = p1x + halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 4:\n tempPointAx = bottomLeftAx;\n tempPointAy = p1y + -halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n }\n }\n if (!clipPointBFound) {\n switch (cardinalDirectionB) {\n case 1:\n tempPointBy = topLeftBy;\n tempPointBx = p2x + -halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 2:\n tempPointBx = bottomRightBx;\n tempPointBy = p2y + halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 3:\n tempPointBy = bottomLeftBy;\n tempPointBx = p2x + halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 4:\n tempPointBx = bottomLeftBx;\n tempPointBy = p2y + -halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n }\n }\n }\n return false;\n};\n\n/**\n * This method returns in which cardinal direction does input point stays\n * 1: North\n * 2: East\n * 3: South\n * 4: West\n */\nIGeometry.getCardinalDirection = function (slope, slopePrime, line) {\n if (slope > slopePrime) {\n return line;\n } else {\n return 1 + line % 4;\n }\n};\n\n/**\n * This method calculates the intersection of the two lines defined by\n * point pairs (s1,s2) and (f1,f2).\n */\nIGeometry.getIntersection = function (s1, s2, f1, f2) {\n if (f2 == null) {\n return this.getIntersection2(s1, s2, f1);\n }\n\n var x1 = s1.x;\n var y1 = s1.y;\n var x2 = s2.x;\n var y2 = s2.y;\n var x3 = f1.x;\n var y3 = f1.y;\n var x4 = f2.x;\n var y4 = f2.y;\n var x = void 0,\n y = void 0; // intersection point\n var a1 = void 0,\n a2 = void 0,\n b1 = void 0,\n b2 = void 0,\n c1 = void 0,\n c2 = void 0; // coefficients of line eqns.\n var denom = void 0;\n\n a1 = y2 - y1;\n b1 = x1 - x2;\n c1 = x2 * y1 - x1 * y2; // { a1*x + b1*y + c1 = 0 is line 1 }\n\n a2 = y4 - y3;\n b2 = x3 - x4;\n c2 = x4 * y3 - x3 * y4; // { a2*x + b2*y + c2 = 0 is line 2 }\n\n denom = a1 * b2 - a2 * b1;\n\n if (denom === 0) {\n return null;\n }\n\n x = (b1 * c2 - b2 * c1) / denom;\n y = (a2 * c1 - a1 * c2) / denom;\n\n return new Point(x, y);\n};\n\n/**\n * This method finds and returns the angle of the vector from the + x-axis\n * in clockwise direction (compatible w/ Java coordinate system!).\n */\nIGeometry.angleOfVector = function (Cx, Cy, Nx, Ny) {\n var C_angle = void 0;\n\n if (Cx !== Nx) {\n C_angle = Math.atan((Ny - Cy) / (Nx - Cx));\n\n if (Nx < Cx) {\n C_angle += Math.PI;\n } else if (Ny < Cy) {\n C_angle += this.TWO_PI;\n }\n } else if (Ny < Cy) {\n C_angle = this.ONE_AND_HALF_PI; // 270 degrees\n } else {\n C_angle = this.HALF_PI; // 90 degrees\n }\n\n return C_angle;\n};\n\n/**\n * This method checks whether the given two line segments (one with point\n * p1 and p2, the other with point p3 and p4) intersect at a point other\n * than these points.\n */\nIGeometry.doIntersect = function (p1, p2, p3, p4) {\n var a = p1.x;\n var b = p1.y;\n var c = p2.x;\n var d = p2.y;\n var p = p3.x;\n var q = p3.y;\n var r = p4.x;\n var s = p4.y;\n var det = (c - a) * (s - q) - (r - p) * (d - b);\n\n if (det === 0) {\n return false;\n } else {\n var lambda = ((s - q) * (r - a) + (p - r) * (s - b)) / det;\n var gamma = ((b - d) * (r - a) + (c - a) * (s - b)) / det;\n return 0 < lambda && lambda < 1 && 0 < gamma && gamma < 1;\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: Class Constants\n// -----------------------------------------------------------------------------\n/**\n * Some useful pre-calculated constants\n */\nIGeometry.HALF_PI = 0.5 * Math.PI;\nIGeometry.ONE_AND_HALF_PI = 1.5 * Math.PI;\nIGeometry.TWO_PI = 2.0 * Math.PI;\nIGeometry.THREE_PI = 3.0 * Math.PI;\n\nmodule.exports = IGeometry;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction IMath() {}\n\n/**\n * This method returns the sign of the input value.\n */\nIMath.sign = function (value) {\n if (value > 0) {\n return 1;\n } else if (value < 0) {\n return -1;\n } else {\n return 0;\n }\n};\n\nIMath.floor = function (value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n};\n\nIMath.ceil = function (value) {\n return value < 0 ? Math.floor(value) : Math.ceil(value);\n};\n\nmodule.exports = IMath;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Integer() {}\n\nInteger.MAX_VALUE = 2147483647;\nInteger.MIN_VALUE = -2147483648;\n\nmodule.exports = Integer;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar nodeFrom = function nodeFrom(value) {\n return { value: value, next: null, prev: null };\n};\n\nvar add = function add(prev, node, next, list) {\n if (prev !== null) {\n prev.next = node;\n } else {\n list.head = node;\n }\n\n if (next !== null) {\n next.prev = node;\n } else {\n list.tail = node;\n }\n\n node.prev = prev;\n node.next = next;\n\n list.length++;\n\n return node;\n};\n\nvar _remove = function _remove(node, list) {\n var prev = node.prev,\n next = node.next;\n\n\n if (prev !== null) {\n prev.next = next;\n } else {\n list.head = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n } else {\n list.tail = prev;\n }\n\n node.prev = node.next = null;\n\n list.length--;\n\n return node;\n};\n\nvar LinkedList = function () {\n function LinkedList(vals) {\n var _this = this;\n\n _classCallCheck(this, LinkedList);\n\n this.length = 0;\n this.head = null;\n this.tail = null;\n\n if (vals != null) {\n vals.forEach(function (v) {\n return _this.push(v);\n });\n }\n }\n\n _createClass(LinkedList, [{\n key: \"size\",\n value: function size() {\n return this.length;\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(val, otherNode) {\n return add(otherNode.prev, nodeFrom(val), otherNode, this);\n }\n }, {\n key: \"insertAfter\",\n value: function insertAfter(val, otherNode) {\n return add(otherNode, nodeFrom(val), otherNode.next, this);\n }\n }, {\n key: \"insertNodeBefore\",\n value: function insertNodeBefore(newNode, otherNode) {\n return add(otherNode.prev, newNode, otherNode, this);\n }\n }, {\n key: \"insertNodeAfter\",\n value: function insertNodeAfter(newNode, otherNode) {\n return add(otherNode, newNode, otherNode.next, this);\n }\n }, {\n key: \"push\",\n value: function push(val) {\n return add(this.tail, nodeFrom(val), null, this);\n }\n }, {\n key: \"unshift\",\n value: function unshift(val) {\n return add(null, nodeFrom(val), this.head, this);\n }\n }, {\n key: \"remove\",\n value: function remove(node) {\n return _remove(node, this);\n }\n }, {\n key: \"pop\",\n value: function pop() {\n return _remove(this.tail, this).value;\n }\n }, {\n key: \"popNode\",\n value: function popNode() {\n return _remove(this.tail, this);\n }\n }, {\n key: \"shift\",\n value: function shift() {\n return _remove(this.head, this).value;\n }\n }, {\n key: \"shiftNode\",\n value: function shiftNode() {\n return _remove(this.head, this);\n }\n }, {\n key: \"get_object_at\",\n value: function get_object_at(index) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n return current.value;\n }\n }\n }, {\n key: \"set_object_at\",\n value: function set_object_at(index, value) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n current.value = value;\n }\n }\n }]);\n\n return LinkedList;\n}();\n\nmodule.exports = LinkedList;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\r\n *This class is the javascript implementation of the Point.java class in jdk\r\n */\nfunction Point(x, y, p) {\n this.x = null;\n this.y = null;\n if (x == null && y == null && p == null) {\n this.x = 0;\n this.y = 0;\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n this.x = x;\n this.y = y;\n } else if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.x = p.x;\n this.y = p.y;\n }\n}\n\nPoint.prototype.getX = function () {\n return this.x;\n};\n\nPoint.prototype.getY = function () {\n return this.y;\n};\n\nPoint.prototype.getLocation = function () {\n return new Point(this.x, this.y);\n};\n\nPoint.prototype.setLocation = function (x, y, p) {\n if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.setLocation(p.x, p.y);\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n //if both parameters are integer just move (x,y) location\n if (parseInt(x) == x && parseInt(y) == y) {\n this.move(x, y);\n } else {\n this.x = Math.floor(x + 0.5);\n this.y = Math.floor(y + 0.5);\n }\n }\n};\n\nPoint.prototype.move = function (x, y) {\n this.x = x;\n this.y = y;\n};\n\nPoint.prototype.translate = function (dx, dy) {\n this.x += dx;\n this.y += dy;\n};\n\nPoint.prototype.equals = function (obj) {\n if (obj.constructor.name == \"Point\") {\n var pt = obj;\n return this.x == pt.x && this.y == pt.y;\n }\n return this == obj;\n};\n\nPoint.prototype.toString = function () {\n return new Point().constructor.name + \"[x=\" + this.x + \",y=\" + this.y + \"]\";\n};\n\nmodule.exports = Point;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RectangleD(x, y, width, height) {\n this.x = 0;\n this.y = 0;\n this.width = 0;\n this.height = 0;\n\n if (x != null && y != null && width != null && height != null) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n}\n\nRectangleD.prototype.getX = function () {\n return this.x;\n};\n\nRectangleD.prototype.setX = function (x) {\n this.x = x;\n};\n\nRectangleD.prototype.getY = function () {\n return this.y;\n};\n\nRectangleD.prototype.setY = function (y) {\n this.y = y;\n};\n\nRectangleD.prototype.getWidth = function () {\n return this.width;\n};\n\nRectangleD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nRectangleD.prototype.getHeight = function () {\n return this.height;\n};\n\nRectangleD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nRectangleD.prototype.getRight = function () {\n return this.x + this.width;\n};\n\nRectangleD.prototype.getBottom = function () {\n return this.y + this.height;\n};\n\nRectangleD.prototype.intersects = function (a) {\n if (this.getRight() < a.x) {\n return false;\n }\n\n if (this.getBottom() < a.y) {\n return false;\n }\n\n if (a.getRight() < this.x) {\n return false;\n }\n\n if (a.getBottom() < this.y) {\n return false;\n }\n\n return true;\n};\n\nRectangleD.prototype.getCenterX = function () {\n return this.x + this.width / 2;\n};\n\nRectangleD.prototype.getMinX = function () {\n return this.getX();\n};\n\nRectangleD.prototype.getMaxX = function () {\n return this.getX() + this.width;\n};\n\nRectangleD.prototype.getCenterY = function () {\n return this.y + this.height / 2;\n};\n\nRectangleD.prototype.getMinY = function () {\n return this.getY();\n};\n\nRectangleD.prototype.getMaxY = function () {\n return this.getY() + this.height;\n};\n\nRectangleD.prototype.getWidthHalf = function () {\n return this.width / 2;\n};\n\nRectangleD.prototype.getHeightHalf = function () {\n return this.height / 2;\n};\n\nmodule.exports = RectangleD;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction UniqueIDGeneretor() {}\n\nUniqueIDGeneretor.lastID = 0;\n\nUniqueIDGeneretor.createID = function (obj) {\n if (UniqueIDGeneretor.isPrimitive(obj)) {\n return obj;\n }\n if (obj.uniqueID != null) {\n return obj.uniqueID;\n }\n obj.uniqueID = UniqueIDGeneretor.getString();\n UniqueIDGeneretor.lastID++;\n return obj.uniqueID;\n};\n\nUniqueIDGeneretor.getString = function (id) {\n if (id == null) id = UniqueIDGeneretor.lastID;\n return \"Object#\" + id + \"\";\n};\n\nUniqueIDGeneretor.isPrimitive = function (arg) {\n var type = typeof arg === \"undefined\" ? \"undefined\" : _typeof(arg);\n return arg == null || type != \"object\" && type != \"function\";\n};\n\nmodule.exports = UniqueIDGeneretor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(6);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar LGraph = __webpack_require__(5);\nvar PointD = __webpack_require__(4);\nvar Transform = __webpack_require__(17);\nvar Emitter = __webpack_require__(27);\n\nfunction Layout(isRemoteUse) {\n Emitter.call(this);\n\n //Layout Quality: 0:draft, 1:default, 2:proof\n this.layoutQuality = LayoutConstants.QUALITY;\n //Whether layout should create bendpoints as needed or not\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n //Whether layout should be incremental or not\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n //Whether we animate from before to after layout node positions\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n //Whether we animate the layout process or not\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n //Number iterations that should be done between two successive animations\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n /**\r\n * Whether or not leaf nodes (non-compound nodes) are of uniform sizes. When\r\n * they are, both spring and repulsion forces between two leaf nodes can be\r\n * calculated without the expensive clipping point calculations, resulting\r\n * in major speed-up.\r\n */\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n /**\r\n * This is used for creation of bendpoints by using dummy nodes and edges.\r\n * Maps an LEdge to its dummy bendpoint path.\r\n */\n this.edgeToDummyNodes = new Map();\n this.graphManager = new LGraphManager(this);\n this.isLayoutFinished = false;\n this.isSubLayout = false;\n this.isRemoteUse = false;\n\n if (isRemoteUse != null) {\n this.isRemoteUse = isRemoteUse;\n }\n}\n\nLayout.RANDOM_SEED = 1;\n\nLayout.prototype = Object.create(Emitter.prototype);\n\nLayout.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLayout.prototype.getAllNodes = function () {\n return this.graphManager.getAllNodes();\n};\n\nLayout.prototype.getAllEdges = function () {\n return this.graphManager.getAllEdges();\n};\n\nLayout.prototype.getAllNodesToApplyGravitation = function () {\n return this.graphManager.getAllNodesToApplyGravitation();\n};\n\nLayout.prototype.newGraphManager = function () {\n var gm = new LGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nLayout.prototype.newGraph = function (vGraph) {\n return new LGraph(null, this.graphManager, vGraph);\n};\n\nLayout.prototype.newNode = function (vNode) {\n return new LNode(this.graphManager, vNode);\n};\n\nLayout.prototype.newEdge = function (vEdge) {\n return new LEdge(null, null, vEdge);\n};\n\nLayout.prototype.checkLayoutSuccess = function () {\n return this.graphManager.getRoot() == null || this.graphManager.getRoot().getNodes().length == 0 || this.graphManager.includesInvalidEdge();\n};\n\nLayout.prototype.runLayout = function () {\n this.isLayoutFinished = false;\n\n if (this.tilingPreLayout) {\n this.tilingPreLayout();\n }\n\n this.initParameters();\n var isLayoutSuccessfull;\n\n if (this.checkLayoutSuccess()) {\n isLayoutSuccessfull = false;\n } else {\n isLayoutSuccessfull = this.layout();\n }\n\n if (LayoutConstants.ANIMATE === 'during') {\n // If this is a 'during' layout animation. Layout is not finished yet. \n // We need to perform these in index.js when layout is really finished.\n return false;\n }\n\n if (isLayoutSuccessfull) {\n if (!this.isSubLayout) {\n this.doPostLayout();\n }\n }\n\n if (this.tilingPostLayout) {\n this.tilingPostLayout();\n }\n\n this.isLayoutFinished = true;\n\n return isLayoutSuccessfull;\n};\n\n/**\r\n * This method performs the operations required after layout.\r\n */\nLayout.prototype.doPostLayout = function () {\n //assert !isSubLayout : \"Should not be called on sub-layout!\";\n // Propagate geometric changes to v-level objects\n if (!this.incremental) {\n this.transform();\n }\n this.update();\n};\n\n/**\r\n * This method updates the geometry of the target graph according to\r\n * calculated layout.\r\n */\nLayout.prototype.update2 = function () {\n // update bend points\n if (this.createBendsAsNeeded) {\n this.createBendpointsFromDummyNodes();\n\n // reset all edges, since the topology has changed\n this.graphManager.resetAllEdges();\n }\n\n // perform edge, node and root updates if layout is not called\n // remotely\n if (!this.isRemoteUse) {\n // update all edges\n var edge;\n var allEdges = this.graphManager.getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n // this.update(edge);\n }\n\n // recursively update nodes\n var node;\n var nodes = this.graphManager.getRoot().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n // this.update(node);\n }\n\n // update root graph\n this.update(this.graphManager.getRoot());\n }\n};\n\nLayout.prototype.update = function (obj) {\n if (obj == null) {\n this.update2();\n } else if (obj instanceof LNode) {\n var node = obj;\n if (node.getChild() != null) {\n // since node is compound, recursively update child nodes\n var nodes = node.getChild().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n update(nodes[i]);\n }\n }\n\n // if the l-level node is associated with a v-level graph object,\n // then it is assumed that the v-level node implements the\n // interface Updatable.\n if (node.vGraphObject != null) {\n // cast to Updatable without any type check\n var vNode = node.vGraphObject;\n\n // call the update method of the interface\n vNode.update(node);\n }\n } else if (obj instanceof LEdge) {\n var edge = obj;\n // if the l-level edge is associated with a v-level graph object,\n // then it is assumed that the v-level edge implements the\n // interface Updatable.\n\n if (edge.vGraphObject != null) {\n // cast to Updatable without any type check\n var vEdge = edge.vGraphObject;\n\n // call the update method of the interface\n vEdge.update(edge);\n }\n } else if (obj instanceof LGraph) {\n var graph = obj;\n // if the l-level graph is associated with a v-level graph object,\n // then it is assumed that the v-level object implements the\n // interface Updatable.\n\n if (graph.vGraphObject != null) {\n // cast to Updatable without any type check\n var vGraph = graph.vGraphObject;\n\n // call the update method of the interface\n vGraph.update(graph);\n }\n }\n};\n\n/**\r\n * This method is used to set all layout parameters to default values\r\n * determined at compile time.\r\n */\nLayout.prototype.initParameters = function () {\n if (!this.isSubLayout) {\n this.layoutQuality = LayoutConstants.QUALITY;\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n }\n\n if (this.animationDuringLayout) {\n this.animationOnLayout = false;\n }\n};\n\nLayout.prototype.transform = function (newLeftTop) {\n if (newLeftTop == undefined) {\n this.transform(new PointD(0, 0));\n } else {\n // create a transformation object (from Eclipse to layout). When an\n // inverse transform is applied, we get upper-left coordinate of the\n // drawing or the root graph at given input coordinate (some margins\n // already included in calculation of left-top).\n\n var trans = new Transform();\n var leftTop = this.graphManager.getRoot().updateLeftTop();\n\n if (leftTop != null) {\n trans.setWorldOrgX(newLeftTop.x);\n trans.setWorldOrgY(newLeftTop.y);\n\n trans.setDeviceOrgX(leftTop.x);\n trans.setDeviceOrgY(leftTop.y);\n\n var nodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n node.transform(trans);\n }\n }\n }\n};\n\nLayout.prototype.positionNodesRandomly = function (graph) {\n\n if (graph == undefined) {\n //assert !this.incremental;\n this.positionNodesRandomly(this.getGraphManager().getRoot());\n this.getGraphManager().getRoot().updateBounds(true);\n } else {\n var lNode;\n var childGraph;\n\n var nodes = graph.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n lNode = nodes[i];\n childGraph = lNode.getChild();\n\n if (childGraph == null) {\n lNode.scatter();\n } else if (childGraph.getNodes().length == 0) {\n lNode.scatter();\n } else {\n this.positionNodesRandomly(childGraph);\n lNode.updateBounds();\n }\n }\n }\n};\n\n/**\r\n * This method returns a list of trees where each tree is represented as a\r\n * list of l-nodes. The method returns a list of size 0 when:\r\n * - The graph is not flat or\r\n * - One of the component(s) of the graph is not a tree.\r\n */\nLayout.prototype.getFlatForest = function () {\n var flatForest = [];\n var isForest = true;\n\n // Quick reference for all nodes in the graph manager associated with\n // this layout. The list should not be changed.\n var allNodes = this.graphManager.getRoot().getNodes();\n\n // First be sure that the graph is flat\n var isFlat = true;\n\n for (var i = 0; i < allNodes.length; i++) {\n if (allNodes[i].getChild() != null) {\n isFlat = false;\n }\n }\n\n // Return empty forest if the graph is not flat.\n if (!isFlat) {\n return flatForest;\n }\n\n // Run BFS for each component of the graph.\n\n var visited = new Set();\n var toBeVisited = [];\n var parents = new Map();\n var unProcessedNodes = [];\n\n unProcessedNodes = unProcessedNodes.concat(allNodes);\n\n // Each iteration of this loop finds a component of the graph and\n // decides whether it is a tree or not. If it is a tree, adds it to the\n // forest and continued with the next component.\n\n while (unProcessedNodes.length > 0 && isForest) {\n toBeVisited.push(unProcessedNodes[0]);\n\n // Start the BFS. Each iteration of this loop visits a node in a\n // BFS manner.\n while (toBeVisited.length > 0 && isForest) {\n //pool operation\n var currentNode = toBeVisited[0];\n toBeVisited.splice(0, 1);\n visited.add(currentNode);\n\n // Traverse all neighbors of this node\n var neighborEdges = currentNode.getEdges();\n\n for (var i = 0; i < neighborEdges.length; i++) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(currentNode);\n\n // If BFS is not growing from this neighbor.\n if (parents.get(currentNode) != currentNeighbor) {\n // We haven't previously visited this neighbor.\n if (!visited.has(currentNeighbor)) {\n toBeVisited.push(currentNeighbor);\n parents.set(currentNeighbor, currentNode);\n }\n // Since we have previously visited this neighbor and\n // this neighbor is not parent of currentNode, given\n // graph contains a component that is not tree, hence\n // it is not a forest.\n else {\n isForest = false;\n break;\n }\n }\n }\n }\n\n // The graph contains a component that is not a tree. Empty\n // previously found trees. The method will end.\n if (!isForest) {\n flatForest = [];\n }\n // Save currently visited nodes as a tree in our forest. Reset\n // visited and parents lists. Continue with the next component of\n // the graph, if any.\n else {\n var temp = [].concat(_toConsumableArray(visited));\n flatForest.push(temp);\n //flatForest = flatForest.concat(temp);\n //unProcessedNodes.removeAll(visited);\n for (var i = 0; i < temp.length; i++) {\n var value = temp[i];\n var index = unProcessedNodes.indexOf(value);\n if (index > -1) {\n unProcessedNodes.splice(index, 1);\n }\n }\n visited = new Set();\n parents = new Map();\n }\n }\n\n return flatForest;\n};\n\n/**\r\n * This method creates dummy nodes (an l-level node with minimal dimensions)\r\n * for the given edge (one per bendpoint). The existing l-level structure\r\n * is updated accordingly.\r\n */\nLayout.prototype.createDummyNodesForBendpoints = function (edge) {\n var dummyNodes = [];\n var prev = edge.source;\n\n var graph = this.graphManager.calcLowestCommonAncestor(edge.source, edge.target);\n\n for (var i = 0; i < edge.bendpoints.length; i++) {\n // create new dummy node\n var dummyNode = this.newNode(null);\n dummyNode.setRect(new Point(0, 0), new Dimension(1, 1));\n\n graph.add(dummyNode);\n\n // create new dummy edge between prev and dummy node\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, dummyNode);\n\n dummyNodes.add(dummyNode);\n prev = dummyNode;\n }\n\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, edge.target);\n\n this.edgeToDummyNodes.set(edge, dummyNodes);\n\n // remove real edge from graph manager if it is inter-graph\n if (edge.isInterGraph()) {\n this.graphManager.remove(edge);\n }\n // else, remove the edge from the current graph\n else {\n graph.remove(edge);\n }\n\n return dummyNodes;\n};\n\n/**\r\n * This method creates bendpoints for edges from the dummy nodes\r\n * at l-level.\r\n */\nLayout.prototype.createBendpointsFromDummyNodes = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n edges = [].concat(_toConsumableArray(this.edgeToDummyNodes.keys())).concat(edges);\n\n for (var k = 0; k < edges.length; k++) {\n var lEdge = edges[k];\n\n if (lEdge.bendpoints.length > 0) {\n var path = this.edgeToDummyNodes.get(lEdge);\n\n for (var i = 0; i < path.length; i++) {\n var dummyNode = path[i];\n var p = new PointD(dummyNode.getCenterX(), dummyNode.getCenterY());\n\n // update bendpoint's location according to dummy node\n var ebp = lEdge.bendpoints.get(i);\n ebp.x = p.x;\n ebp.y = p.y;\n\n // remove the dummy node, dummy edges incident with this\n // dummy node is also removed (within the remove method)\n dummyNode.getOwner().remove(dummyNode);\n }\n\n // add the real edge to graph\n this.graphManager.add(lEdge, lEdge.source, lEdge.target);\n }\n }\n};\n\nLayout.transform = function (sliderValue, defaultValue, minDiv, maxMul) {\n if (minDiv != undefined && maxMul != undefined) {\n var value = defaultValue;\n\n if (sliderValue <= 50) {\n var minValue = defaultValue / minDiv;\n value -= (defaultValue - minValue) / 50 * (50 - sliderValue);\n } else {\n var maxValue = defaultValue * maxMul;\n value += (maxValue - defaultValue) / 50 * (sliderValue - 50);\n }\n\n return value;\n } else {\n var a, b;\n\n if (sliderValue <= 50) {\n a = 9.0 * defaultValue / 500.0;\n b = defaultValue / 10.0;\n } else {\n a = 9.0 * defaultValue / 50.0;\n b = -8 * defaultValue;\n }\n\n return a * sliderValue + b;\n }\n};\n\n/**\r\n * This method finds and returns the center of the given nodes, assuming\r\n * that the given nodes form a tree in themselves.\r\n */\nLayout.findCenterOfTree = function (nodes) {\n var list = [];\n list = list.concat(nodes);\n\n var removedNodes = [];\n var remainingDegrees = new Map();\n var foundCenter = false;\n var centerNode = null;\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n var degree = node.getNeighborsList().size;\n remainingDegrees.set(node, node.getNeighborsList().size);\n\n if (degree == 1) {\n removedNodes.push(node);\n }\n }\n\n var tempList = [];\n tempList = tempList.concat(removedNodes);\n\n while (!foundCenter) {\n var tempList2 = [];\n tempList2 = tempList2.concat(tempList);\n tempList = [];\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n\n var index = list.indexOf(node);\n if (index >= 0) {\n list.splice(index, 1);\n }\n\n var neighbours = node.getNeighborsList();\n\n neighbours.forEach(function (neighbour) {\n if (removedNodes.indexOf(neighbour) < 0) {\n var otherDegree = remainingDegrees.get(neighbour);\n var newDegree = otherDegree - 1;\n\n if (newDegree == 1) {\n tempList.push(neighbour);\n }\n\n remainingDegrees.set(neighbour, newDegree);\n }\n });\n }\n\n removedNodes = removedNodes.concat(tempList);\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n }\n\n return centerNode;\n};\n\n/**\r\n * During the coarsening process, this layout may be referenced by two graph managers\r\n * this setter function grants access to change the currently being used graph manager\r\n */\nLayout.prototype.setGraphManager = function (gm) {\n this.graphManager = gm;\n};\n\nmodule.exports = Layout;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RandomSeed() {}\n// adapted from: https://stackoverflow.com/a/19303725\nRandomSeed.seed = 1;\nRandomSeed.x = 0;\n\nRandomSeed.nextDouble = function () {\n RandomSeed.x = Math.sin(RandomSeed.seed++) * 10000;\n return RandomSeed.x - Math.floor(RandomSeed.x);\n};\n\nmodule.exports = RandomSeed;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar PointD = __webpack_require__(4);\n\nfunction Transform(x, y) {\n this.lworldOrgX = 0.0;\n this.lworldOrgY = 0.0;\n this.ldeviceOrgX = 0.0;\n this.ldeviceOrgY = 0.0;\n this.lworldExtX = 1.0;\n this.lworldExtY = 1.0;\n this.ldeviceExtX = 1.0;\n this.ldeviceExtY = 1.0;\n}\n\nTransform.prototype.getWorldOrgX = function () {\n return this.lworldOrgX;\n};\n\nTransform.prototype.setWorldOrgX = function (wox) {\n this.lworldOrgX = wox;\n};\n\nTransform.prototype.getWorldOrgY = function () {\n return this.lworldOrgY;\n};\n\nTransform.prototype.setWorldOrgY = function (woy) {\n this.lworldOrgY = woy;\n};\n\nTransform.prototype.getWorldExtX = function () {\n return this.lworldExtX;\n};\n\nTransform.prototype.setWorldExtX = function (wex) {\n this.lworldExtX = wex;\n};\n\nTransform.prototype.getWorldExtY = function () {\n return this.lworldExtY;\n};\n\nTransform.prototype.setWorldExtY = function (wey) {\n this.lworldExtY = wey;\n};\n\n/* Device related */\n\nTransform.prototype.getDeviceOrgX = function () {\n return this.ldeviceOrgX;\n};\n\nTransform.prototype.setDeviceOrgX = function (dox) {\n this.ldeviceOrgX = dox;\n};\n\nTransform.prototype.getDeviceOrgY = function () {\n return this.ldeviceOrgY;\n};\n\nTransform.prototype.setDeviceOrgY = function (doy) {\n this.ldeviceOrgY = doy;\n};\n\nTransform.prototype.getDeviceExtX = function () {\n return this.ldeviceExtX;\n};\n\nTransform.prototype.setDeviceExtX = function (dex) {\n this.ldeviceExtX = dex;\n};\n\nTransform.prototype.getDeviceExtY = function () {\n return this.ldeviceExtY;\n};\n\nTransform.prototype.setDeviceExtY = function (dey) {\n this.ldeviceExtY = dey;\n};\n\nTransform.prototype.transformX = function (x) {\n var xDevice = 0.0;\n var worldExtX = this.lworldExtX;\n if (worldExtX != 0.0) {\n xDevice = this.ldeviceOrgX + (x - this.lworldOrgX) * this.ldeviceExtX / worldExtX;\n }\n\n return xDevice;\n};\n\nTransform.prototype.transformY = function (y) {\n var yDevice = 0.0;\n var worldExtY = this.lworldExtY;\n if (worldExtY != 0.0) {\n yDevice = this.ldeviceOrgY + (y - this.lworldOrgY) * this.ldeviceExtY / worldExtY;\n }\n\n return yDevice;\n};\n\nTransform.prototype.inverseTransformX = function (x) {\n var xWorld = 0.0;\n var deviceExtX = this.ldeviceExtX;\n if (deviceExtX != 0.0) {\n xWorld = this.lworldOrgX + (x - this.ldeviceOrgX) * this.lworldExtX / deviceExtX;\n }\n\n return xWorld;\n};\n\nTransform.prototype.inverseTransformY = function (y) {\n var yWorld = 0.0;\n var deviceExtY = this.ldeviceExtY;\n if (deviceExtY != 0.0) {\n yWorld = this.lworldOrgY + (y - this.ldeviceOrgY) * this.lworldExtY / deviceExtY;\n }\n return yWorld;\n};\n\nTransform.prototype.inverseTransformPoint = function (inPoint) {\n var outPoint = new PointD(this.inverseTransformX(inPoint.x), this.inverseTransformY(inPoint.y));\n return outPoint;\n};\n\nmodule.exports = Transform;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar Layout = __webpack_require__(15);\nvar FDLayoutConstants = __webpack_require__(7);\nvar LayoutConstants = __webpack_require__(0);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction FDLayout() {\n Layout.call(this);\n\n this.useSmartIdealEdgeLengthCalculation = FDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.idealEdgeLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n this.displacementThresholdPerNode = 3.0 * FDLayoutConstants.DEFAULT_EDGE_LENGTH / 100;\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.initialCoolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.totalDisplacement = 0.0;\n this.oldTotalDisplacement = 0.0;\n this.maxIterations = FDLayoutConstants.MAX_ITERATIONS;\n}\n\nFDLayout.prototype = Object.create(Layout.prototype);\n\nfor (var prop in Layout) {\n FDLayout[prop] = Layout[prop];\n}\n\nFDLayout.prototype.initParameters = function () {\n Layout.prototype.initParameters.call(this, arguments);\n\n this.totalIterations = 0;\n this.notAnimatedIterations = 0;\n\n this.useFRGridVariant = FDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION;\n\n this.grid = [];\n};\n\nFDLayout.prototype.calcIdealEdgeLengths = function () {\n var edge;\n var lcaDepth;\n var source;\n var target;\n var sizeOfSourceInLca;\n var sizeOfTargetInLca;\n\n var allEdges = this.getGraphManager().getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n\n edge.idealLength = this.idealEdgeLength;\n\n if (edge.isInterGraph) {\n source = edge.getSource();\n target = edge.getTarget();\n\n sizeOfSourceInLca = edge.getSourceInLca().getEstimatedSize();\n sizeOfTargetInLca = edge.getTargetInLca().getEstimatedSize();\n\n if (this.useSmartIdealEdgeLengthCalculation) {\n edge.idealLength += sizeOfSourceInLca + sizeOfTargetInLca - 2 * LayoutConstants.SIMPLE_NODE_SIZE;\n }\n\n lcaDepth = edge.getLca().getInclusionTreeDepth();\n\n edge.idealLength += FDLayoutConstants.DEFAULT_EDGE_LENGTH * FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * (source.getInclusionTreeDepth() + target.getInclusionTreeDepth() - 2 * lcaDepth);\n }\n }\n};\n\nFDLayout.prototype.initSpringEmbedder = function () {\n\n var s = this.getAllNodes().length;\n if (this.incremental) {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(this.coolingFactor * FDLayoutConstants.COOLING_ADAPTATION_FACTOR, this.coolingFactor - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * this.coolingFactor * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n }\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL;\n } else {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(FDLayoutConstants.COOLING_ADAPTATION_FACTOR, 1.0 - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n } else {\n this.coolingFactor = 1.0;\n }\n this.initialCoolingFactor = this.coolingFactor;\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT;\n }\n\n this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations);\n\n this.totalDisplacementThreshold = this.displacementThresholdPerNode * this.getAllNodes().length;\n\n this.repulsionRange = this.calcRepulsionRange();\n};\n\nFDLayout.prototype.calcSpringForces = function () {\n var lEdges = this.getAllEdges();\n var edge;\n\n for (var i = 0; i < lEdges.length; i++) {\n edge = lEdges[i];\n\n this.calcSpringForce(edge, edge.idealLength);\n }\n};\n\nFDLayout.prototype.calcRepulsionForces = function () {\n var gridUpdateAllowed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var forceToNodeSurroundingUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var i, j;\n var nodeA, nodeB;\n var lNodes = this.getAllNodes();\n var processedNodeSet;\n\n if (this.useFRGridVariant) {\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed) {\n this.updateGrid();\n }\n\n processedNodeSet = new Set();\n\n // calculate repulsion forces between each nodes and its surrounding\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.calculateRepulsionForceOfANode(nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate);\n processedNodeSet.add(nodeA);\n }\n } else {\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n\n for (j = i + 1; j < lNodes.length; j++) {\n nodeB = lNodes[j];\n\n // If both nodes are not members of the same graph, skip.\n if (nodeA.getOwner() != nodeB.getOwner()) {\n continue;\n }\n\n this.calcRepulsionForce(nodeA, nodeB);\n }\n }\n }\n};\n\nFDLayout.prototype.calcGravitationalForces = function () {\n var node;\n var lNodes = this.getAllNodesToApplyGravitation();\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n this.calcGravitationalForce(node);\n }\n};\n\nFDLayout.prototype.moveNodes = function () {\n var lNodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n node.move();\n }\n};\n\nFDLayout.prototype.calcSpringForce = function (edge, idealLength) {\n var sourceNode = edge.getSource();\n var targetNode = edge.getTarget();\n\n var length;\n var springForce;\n var springForceX;\n var springForceY;\n\n // Update edge length\n if (this.uniformLeafNodeSizes && sourceNode.getChild() == null && targetNode.getChild() == null) {\n edge.updateLengthSimple();\n } else {\n edge.updateLength();\n\n if (edge.isOverlapingSourceAndTarget) {\n return;\n }\n }\n\n length = edge.getLength();\n\n if (length == 0) return;\n\n // Calculate spring forces\n springForce = this.springConstant * (length - idealLength);\n\n // Project force onto x and y axes\n springForceX = springForce * (edge.lengthX / length);\n springForceY = springForce * (edge.lengthY / length);\n\n // Apply forces on the end nodes\n sourceNode.springForceX += springForceX;\n sourceNode.springForceY += springForceY;\n targetNode.springForceX -= springForceX;\n targetNode.springForceY -= springForceY;\n};\n\nFDLayout.prototype.calcRepulsionForce = function (nodeA, nodeB) {\n var rectA = nodeA.getRect();\n var rectB = nodeB.getRect();\n var overlapAmount = new Array(2);\n var clipPoints = new Array(4);\n var distanceX;\n var distanceY;\n var distanceSquared;\n var distance;\n var repulsionForce;\n var repulsionForceX;\n var repulsionForceY;\n\n if (rectA.intersects(rectB)) // two nodes overlap\n {\n // calculate separation amount in x and y directions\n IGeometry.calcSeparationAmount(rectA, rectB, overlapAmount, FDLayoutConstants.DEFAULT_EDGE_LENGTH / 2.0);\n\n repulsionForceX = 2 * overlapAmount[0];\n repulsionForceY = 2 * overlapAmount[1];\n\n var childrenConstant = nodeA.noOfChildren * nodeB.noOfChildren / (nodeA.noOfChildren + nodeB.noOfChildren);\n\n // Apply forces on the two nodes\n nodeA.repulsionForceX -= childrenConstant * repulsionForceX;\n nodeA.repulsionForceY -= childrenConstant * repulsionForceY;\n nodeB.repulsionForceX += childrenConstant * repulsionForceX;\n nodeB.repulsionForceY += childrenConstant * repulsionForceY;\n } else // no overlap\n {\n // calculate distance\n\n if (this.uniformLeafNodeSizes && nodeA.getChild() == null && nodeB.getChild() == null) // simply base repulsion on distance of node centers\n {\n distanceX = rectB.getCenterX() - rectA.getCenterX();\n distanceY = rectB.getCenterY() - rectA.getCenterY();\n } else // use clipping points\n {\n IGeometry.getIntersection(rectA, rectB, clipPoints);\n\n distanceX = clipPoints[2] - clipPoints[0];\n distanceY = clipPoints[3] - clipPoints[1];\n }\n\n // No repulsion range. FR grid variant should take care of this.\n if (Math.abs(distanceX) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceX = IMath.sign(distanceX) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n if (Math.abs(distanceY) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceY = IMath.sign(distanceY) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n distanceSquared = distanceX * distanceX + distanceY * distanceY;\n distance = Math.sqrt(distanceSquared);\n\n repulsionForce = this.repulsionConstant * nodeA.noOfChildren * nodeB.noOfChildren / distanceSquared;\n\n // Project force onto x and y axes\n repulsionForceX = repulsionForce * distanceX / distance;\n repulsionForceY = repulsionForce * distanceY / distance;\n\n // Apply forces on the two nodes \n nodeA.repulsionForceX -= repulsionForceX;\n nodeA.repulsionForceY -= repulsionForceY;\n nodeB.repulsionForceX += repulsionForceX;\n nodeB.repulsionForceY += repulsionForceY;\n }\n};\n\nFDLayout.prototype.calcGravitationalForce = function (node) {\n var ownerGraph;\n var ownerCenterX;\n var ownerCenterY;\n var distanceX;\n var distanceY;\n var absDistanceX;\n var absDistanceY;\n var estimatedSize;\n ownerGraph = node.getOwner();\n\n ownerCenterX = (ownerGraph.getRight() + ownerGraph.getLeft()) / 2;\n ownerCenterY = (ownerGraph.getTop() + ownerGraph.getBottom()) / 2;\n distanceX = node.getCenterX() - ownerCenterX;\n distanceY = node.getCenterY() - ownerCenterY;\n absDistanceX = Math.abs(distanceX) + node.getWidth() / 2;\n absDistanceY = Math.abs(distanceY) + node.getHeight() / 2;\n\n if (node.getOwner() == this.graphManager.getRoot()) // in the root graph\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.gravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX;\n node.gravitationForceY = -this.gravityConstant * distanceY;\n }\n } else // inside a compound\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.compoundGravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX * this.compoundGravityConstant;\n node.gravitationForceY = -this.gravityConstant * distanceY * this.compoundGravityConstant;\n }\n }\n};\n\nFDLayout.prototype.isConverged = function () {\n var converged;\n var oscilating = false;\n\n if (this.totalIterations > this.maxIterations / 3) {\n oscilating = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2;\n }\n\n converged = this.totalDisplacement < this.totalDisplacementThreshold;\n\n this.oldTotalDisplacement = this.totalDisplacement;\n\n return converged || oscilating;\n};\n\nFDLayout.prototype.animate = function () {\n if (this.animationDuringLayout && !this.isSubLayout) {\n if (this.notAnimatedIterations == this.animationPeriod) {\n this.update();\n this.notAnimatedIterations = 0;\n } else {\n this.notAnimatedIterations++;\n }\n }\n};\n\n//This method calculates the number of children (weight) for all nodes\nFDLayout.prototype.calcNoOfChildrenForAllNodes = function () {\n var node;\n var allNodes = this.graphManager.getAllNodes();\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n node.noOfChildren = node.getNoOfChildren();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: FR-Grid Variant Repulsion Force Calculation\n// -----------------------------------------------------------------------------\n\nFDLayout.prototype.calcGrid = function (graph) {\n\n var sizeX = 0;\n var sizeY = 0;\n\n sizeX = parseInt(Math.ceil((graph.getRight() - graph.getLeft()) / this.repulsionRange));\n sizeY = parseInt(Math.ceil((graph.getBottom() - graph.getTop()) / this.repulsionRange));\n\n var grid = new Array(sizeX);\n\n for (var i = 0; i < sizeX; i++) {\n grid[i] = new Array(sizeY);\n }\n\n for (var i = 0; i < sizeX; i++) {\n for (var j = 0; j < sizeY; j++) {\n grid[i][j] = new Array();\n }\n }\n\n return grid;\n};\n\nFDLayout.prototype.addNodeToGrid = function (v, left, top) {\n\n var startX = 0;\n var finishX = 0;\n var startY = 0;\n var finishY = 0;\n\n startX = parseInt(Math.floor((v.getRect().x - left) / this.repulsionRange));\n finishX = parseInt(Math.floor((v.getRect().width + v.getRect().x - left) / this.repulsionRange));\n startY = parseInt(Math.floor((v.getRect().y - top) / this.repulsionRange));\n finishY = parseInt(Math.floor((v.getRect().height + v.getRect().y - top) / this.repulsionRange));\n\n for (var i = startX; i <= finishX; i++) {\n for (var j = startY; j <= finishY; j++) {\n this.grid[i][j].push(v);\n v.setGridCoordinates(startX, finishX, startY, finishY);\n }\n }\n};\n\nFDLayout.prototype.updateGrid = function () {\n var i;\n var nodeA;\n var lNodes = this.getAllNodes();\n\n this.grid = this.calcGrid(this.graphManager.getRoot());\n\n // put all nodes to proper grid cells\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.addNodeToGrid(nodeA, this.graphManager.getRoot().getLeft(), this.graphManager.getRoot().getTop());\n }\n};\n\nFDLayout.prototype.calculateRepulsionForceOfANode = function (nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate) {\n\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed || forceToNodeSurroundingUpdate) {\n var surrounding = new Set();\n nodeA.surrounding = new Array();\n var nodeB;\n var grid = this.grid;\n\n for (var i = nodeA.startX - 1; i < nodeA.finishX + 2; i++) {\n for (var j = nodeA.startY - 1; j < nodeA.finishY + 2; j++) {\n if (!(i < 0 || j < 0 || i >= grid.length || j >= grid[0].length)) {\n for (var k = 0; k < grid[i][j].length; k++) {\n nodeB = grid[i][j][k];\n\n // If both nodes are not members of the same graph, \n // or both nodes are the same, skip.\n if (nodeA.getOwner() != nodeB.getOwner() || nodeA == nodeB) {\n continue;\n }\n\n // check if the repulsion force between\n // nodeA and nodeB has already been calculated\n if (!processedNodeSet.has(nodeB) && !surrounding.has(nodeB)) {\n var distanceX = Math.abs(nodeA.getCenterX() - nodeB.getCenterX()) - (nodeA.getWidth() / 2 + nodeB.getWidth() / 2);\n var distanceY = Math.abs(nodeA.getCenterY() - nodeB.getCenterY()) - (nodeA.getHeight() / 2 + nodeB.getHeight() / 2);\n\n // if the distance between nodeA and nodeB \n // is less then calculation range\n if (distanceX <= this.repulsionRange && distanceY <= this.repulsionRange) {\n //then add nodeB to surrounding of nodeA\n surrounding.add(nodeB);\n }\n }\n }\n }\n }\n }\n\n nodeA.surrounding = [].concat(_toConsumableArray(surrounding));\n }\n for (i = 0; i < nodeA.surrounding.length; i++) {\n this.calcRepulsionForce(nodeA, nodeA.surrounding[i]);\n }\n};\n\nFDLayout.prototype.calcRepulsionRange = function () {\n return 0.0;\n};\n\nmodule.exports = FDLayout;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LEdge = __webpack_require__(1);\nvar FDLayoutConstants = __webpack_require__(7);\n\nfunction FDLayoutEdge(source, target, vEdge) {\n LEdge.call(this, source, target, vEdge);\n this.idealLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n}\n\nFDLayoutEdge.prototype = Object.create(LEdge.prototype);\n\nfor (var prop in LEdge) {\n FDLayoutEdge[prop] = LEdge[prop];\n}\n\nmodule.exports = FDLayoutEdge;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LNode = __webpack_require__(3);\n\nfunction FDLayoutNode(gm, loc, size, vNode) {\n // alternative constructor is handled inside LNode\n LNode.call(this, gm, loc, size, vNode);\n //Spring, repulsion and gravitational forces acting on this node\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n //Amount by which this node is to be moved in this iteration\n this.displacementX = 0;\n this.displacementY = 0;\n\n //Start and finish grid coordinates that this node is fallen into\n this.startX = 0;\n this.finishX = 0;\n this.startY = 0;\n this.finishY = 0;\n\n //Geometric neighbors of this node\n this.surrounding = [];\n}\n\nFDLayoutNode.prototype = Object.create(LNode.prototype);\n\nfor (var prop in LNode) {\n FDLayoutNode[prop] = LNode[prop];\n}\n\nFDLayoutNode.prototype.setGridCoordinates = function (_startX, _finishX, _startY, _finishY) {\n this.startX = _startX;\n this.finishX = _finishX;\n this.startY = _startY;\n this.finishY = _finishY;\n};\n\nmodule.exports = FDLayoutNode;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction DimensionD(width, height) {\n this.width = 0;\n this.height = 0;\n if (width !== null && height !== null) {\n this.height = height;\n this.width = width;\n }\n}\n\nDimensionD.prototype.getWidth = function () {\n return this.width;\n};\n\nDimensionD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nDimensionD.prototype.getHeight = function () {\n return this.height;\n};\n\nDimensionD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nmodule.exports = DimensionD;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashMap() {\n this.map = {};\n this.keys = [];\n}\n\nHashMap.prototype.put = function (key, value) {\n var theId = UniqueIDGeneretor.createID(key);\n if (!this.contains(theId)) {\n this.map[theId] = value;\n this.keys.push(key);\n }\n};\n\nHashMap.prototype.contains = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[key] != null;\n};\n\nHashMap.prototype.get = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[theId];\n};\n\nHashMap.prototype.keySet = function () {\n return this.keys;\n};\n\nmodule.exports = HashMap;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashSet() {\n this.set = {};\n}\n;\n\nHashSet.prototype.add = function (obj) {\n var theId = UniqueIDGeneretor.createID(obj);\n if (!this.contains(theId)) this.set[theId] = obj;\n};\n\nHashSet.prototype.remove = function (obj) {\n delete this.set[UniqueIDGeneretor.createID(obj)];\n};\n\nHashSet.prototype.clear = function () {\n this.set = {};\n};\n\nHashSet.prototype.contains = function (obj) {\n return this.set[UniqueIDGeneretor.createID(obj)] == obj;\n};\n\nHashSet.prototype.isEmpty = function () {\n return this.size() === 0;\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\n//concats this.set to the given list\nHashSet.prototype.addAllTo = function (list) {\n var keys = Object.keys(this.set);\n var length = keys.length;\n for (var i = 0; i < length; i++) {\n list.push(this.set[keys[i]]);\n }\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\nHashSet.prototype.addAll = function (list) {\n var s = list.length;\n for (var i = 0; i < s; i++) {\n var v = list[i];\n this.add(v);\n }\n};\n\nmodule.exports = HashSet;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * A classic Quicksort algorithm with Hoare's partition\n * - Works also on LinkedList objects\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar LinkedList = __webpack_require__(11);\n\nvar Quicksort = function () {\n function Quicksort(A, compareFunction) {\n _classCallCheck(this, Quicksort);\n\n if (compareFunction !== null || compareFunction !== undefined) this.compareFunction = this._defaultCompareFunction;\n\n var length = void 0;\n if (A instanceof LinkedList) length = A.size();else length = A.length;\n\n this._quicksort(A, 0, length - 1);\n }\n\n _createClass(Quicksort, [{\n key: '_quicksort',\n value: function _quicksort(A, p, r) {\n if (p < r) {\n var q = this._partition(A, p, r);\n this._quicksort(A, p, q);\n this._quicksort(A, q + 1, r);\n }\n }\n }, {\n key: '_partition',\n value: function _partition(A, p, r) {\n var x = this._get(A, p);\n var i = p;\n var j = r;\n while (true) {\n while (this.compareFunction(x, this._get(A, j))) {\n j--;\n }while (this.compareFunction(this._get(A, i), x)) {\n i++;\n }if (i < j) {\n this._swap(A, i, j);\n i++;\n j--;\n } else return j;\n }\n }\n }, {\n key: '_get',\n value: function _get(object, index) {\n if (object instanceof LinkedList) return object.get_object_at(index);else return object[index];\n }\n }, {\n key: '_set',\n value: function _set(object, index, value) {\n if (object instanceof LinkedList) object.set_object_at(index, value);else object[index] = value;\n }\n }, {\n key: '_swap',\n value: function _swap(A, i, j) {\n var temp = this._get(A, i);\n this._set(A, i, this._get(A, j));\n this._set(A, j, temp);\n }\n }, {\n key: '_defaultCompareFunction',\n value: function _defaultCompareFunction(a, b) {\n return b > a;\n }\n }]);\n\n return Quicksort;\n}();\n\nmodule.exports = Quicksort;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Needleman-Wunsch algorithm is an procedure to compute the optimal global alignment of two string\n * sequences by S.B.Needleman and C.D.Wunsch (1970).\n *\n * Aside from the inputs, you can assign the scores for,\n * - Match: The two characters at the current index are same.\n * - Mismatch: The two characters at the current index are different.\n * - Insertion/Deletion(gaps): The best alignment involves one letter aligning to a gap in the other string.\n */\n\nvar NeedlemanWunsch = function () {\n function NeedlemanWunsch(sequence1, sequence2) {\n var match_score = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var mismatch_penalty = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;\n var gap_penalty = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\n\n _classCallCheck(this, NeedlemanWunsch);\n\n this.sequence1 = sequence1;\n this.sequence2 = sequence2;\n this.match_score = match_score;\n this.mismatch_penalty = mismatch_penalty;\n this.gap_penalty = gap_penalty;\n\n // Just the remove redundancy\n this.iMax = sequence1.length + 1;\n this.jMax = sequence2.length + 1;\n\n // Grid matrix of scores\n this.grid = new Array(this.iMax);\n for (var i = 0; i < this.iMax; i++) {\n this.grid[i] = new Array(this.jMax);\n\n for (var j = 0; j < this.jMax; j++) {\n this.grid[i][j] = 0;\n }\n }\n\n // Traceback matrix (2D array, each cell is an array of boolean values for [`Diag`, `Up`, `Left`] positions)\n this.tracebackGrid = new Array(this.iMax);\n for (var _i = 0; _i < this.iMax; _i++) {\n this.tracebackGrid[_i] = new Array(this.jMax);\n\n for (var _j = 0; _j < this.jMax; _j++) {\n this.tracebackGrid[_i][_j] = [null, null, null];\n }\n }\n\n // The aligned sequences (return multiple possibilities)\n this.alignments = [];\n\n // Final alignment score\n this.score = -1;\n\n // Calculate scores and tracebacks\n this.computeGrids();\n }\n\n _createClass(NeedlemanWunsch, [{\n key: \"getScore\",\n value: function getScore() {\n return this.score;\n }\n }, {\n key: \"getAlignments\",\n value: function getAlignments() {\n return this.alignments;\n }\n\n // Main dynamic programming procedure\n\n }, {\n key: \"computeGrids\",\n value: function computeGrids() {\n // Fill in the first row\n for (var j = 1; j < this.jMax; j++) {\n this.grid[0][j] = this.grid[0][j - 1] + this.gap_penalty;\n this.tracebackGrid[0][j] = [false, false, true];\n }\n\n // Fill in the first column\n for (var i = 1; i < this.iMax; i++) {\n this.grid[i][0] = this.grid[i - 1][0] + this.gap_penalty;\n this.tracebackGrid[i][0] = [false, true, false];\n }\n\n // Fill the rest of the grid\n for (var _i2 = 1; _i2 < this.iMax; _i2++) {\n for (var _j2 = 1; _j2 < this.jMax; _j2++) {\n // Find the max score(s) among [`Diag`, `Up`, `Left`]\n var diag = void 0;\n if (this.sequence1[_i2 - 1] === this.sequence2[_j2 - 1]) diag = this.grid[_i2 - 1][_j2 - 1] + this.match_score;else diag = this.grid[_i2 - 1][_j2 - 1] + this.mismatch_penalty;\n\n var up = this.grid[_i2 - 1][_j2] + this.gap_penalty;\n var left = this.grid[_i2][_j2 - 1] + this.gap_penalty;\n\n // If there exists multiple max values, capture them for multiple paths\n var maxOf = [diag, up, left];\n var indices = this.arrayAllMaxIndexes(maxOf);\n\n // Update Grids\n this.grid[_i2][_j2] = maxOf[indices[0]];\n this.tracebackGrid[_i2][_j2] = [indices.includes(0), indices.includes(1), indices.includes(2)];\n }\n }\n\n // Update alignment score\n this.score = this.grid[this.iMax - 1][this.jMax - 1];\n }\n\n // Gets all possible valid sequence combinations\n\n }, {\n key: \"alignmentTraceback\",\n value: function alignmentTraceback() {\n var inProcessAlignments = [];\n\n inProcessAlignments.push({ pos: [this.sequence1.length, this.sequence2.length],\n seq1: \"\",\n seq2: \"\"\n });\n\n while (inProcessAlignments[0]) {\n var current = inProcessAlignments[0];\n var directions = this.tracebackGrid[current.pos[0]][current.pos[1]];\n\n if (directions[0]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1] - 1],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n if (directions[1]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1]],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: '-' + current.seq2\n });\n }\n if (directions[2]) {\n inProcessAlignments.push({ pos: [current.pos[0], current.pos[1] - 1],\n seq1: '-' + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n\n if (current.pos[0] === 0 && current.pos[1] === 0) this.alignments.push({ sequence1: current.seq1,\n sequence2: current.seq2\n });\n\n inProcessAlignments.shift();\n }\n\n return this.alignments;\n }\n\n // Helper Functions\n\n }, {\n key: \"getAllIndexes\",\n value: function getAllIndexes(arr, val) {\n var indexes = [],\n i = -1;\n while ((i = arr.indexOf(val, i + 1)) !== -1) {\n indexes.push(i);\n }\n return indexes;\n }\n }, {\n key: \"arrayAllMaxIndexes\",\n value: function arrayAllMaxIndexes(array) {\n return this.getAllIndexes(array, Math.max.apply(null, array));\n }\n }]);\n\n return NeedlemanWunsch;\n}();\n\nmodule.exports = NeedlemanWunsch;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar layoutBase = function layoutBase() {\n return;\n};\n\nlayoutBase.FDLayout = __webpack_require__(18);\nlayoutBase.FDLayoutConstants = __webpack_require__(7);\nlayoutBase.FDLayoutEdge = __webpack_require__(19);\nlayoutBase.FDLayoutNode = __webpack_require__(20);\nlayoutBase.DimensionD = __webpack_require__(21);\nlayoutBase.HashMap = __webpack_require__(22);\nlayoutBase.HashSet = __webpack_require__(23);\nlayoutBase.IGeometry = __webpack_require__(8);\nlayoutBase.IMath = __webpack_require__(9);\nlayoutBase.Integer = __webpack_require__(10);\nlayoutBase.Point = __webpack_require__(12);\nlayoutBase.PointD = __webpack_require__(4);\nlayoutBase.RandomSeed = __webpack_require__(16);\nlayoutBase.RectangleD = __webpack_require__(13);\nlayoutBase.Transform = __webpack_require__(17);\nlayoutBase.UniqueIDGeneretor = __webpack_require__(14);\nlayoutBase.Quicksort = __webpack_require__(24);\nlayoutBase.LinkedList = __webpack_require__(11);\nlayoutBase.LGraphObject = __webpack_require__(2);\nlayoutBase.LGraph = __webpack_require__(5);\nlayoutBase.LEdge = __webpack_require__(1);\nlayoutBase.LGraphManager = __webpack_require__(6);\nlayoutBase.LNode = __webpack_require__(3);\nlayoutBase.Layout = __webpack_require__(15);\nlayoutBase.LayoutConstants = __webpack_require__(0);\nlayoutBase.NeedlemanWunsch = __webpack_require__(25);\n\nmodule.exports = layoutBase;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Emitter() {\n this.listeners = [];\n}\n\nvar p = Emitter.prototype;\n\np.addListener = function (event, callback) {\n this.listeners.push({\n event: event,\n callback: callback\n });\n};\n\np.removeListener = function (event, callback) {\n for (var i = this.listeners.length; i >= 0; i--) {\n var l = this.listeners[i];\n\n if (l.event === event && l.callback === callback) {\n this.listeners.splice(i, 1);\n }\n }\n};\n\np.emit = function (event, data) {\n for (var i = 0; i < this.listeners.length; i++) {\n var l = this.listeners[i];\n\n if (event === l.event) {\n l.callback(data);\n }\n }\n};\n\nmodule.exports = Emitter;\n\n/***/ })\n/******/ ]);\n});", + "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"layout-base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"layout-base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"coseBase\"] = factory(require(\"layout-base\"));\n\telse\n\t\troot[\"coseBase\"] = factory(root[\"layoutBase\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayoutConstants = __webpack_require__(0).FDLayoutConstants;\n\nfunction CoSEConstants() {}\n\n//CoSEConstants inherits static props in FDLayoutConstants\nfor (var prop in FDLayoutConstants) {\n CoSEConstants[prop] = FDLayoutConstants[prop];\n}\n\nCoSEConstants.DEFAULT_USE_MULTI_LEVEL_SCALING = false;\nCoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\nCoSEConstants.DEFAULT_COMPONENT_SEPERATION = 60;\nCoSEConstants.TILE = true;\nCoSEConstants.TILING_PADDING_VERTICAL = 10;\nCoSEConstants.TILING_PADDING_HORIZONTAL = 10;\nCoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = false; // make this true when cose is used incrementally as a part of other non-incremental layout\n\nmodule.exports = CoSEConstants;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayoutEdge = __webpack_require__(0).FDLayoutEdge;\n\nfunction CoSEEdge(source, target, vEdge) {\n FDLayoutEdge.call(this, source, target, vEdge);\n}\n\nCoSEEdge.prototype = Object.create(FDLayoutEdge.prototype);\nfor (var prop in FDLayoutEdge) {\n CoSEEdge[prop] = FDLayoutEdge[prop];\n}\n\nmodule.exports = CoSEEdge;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraph = __webpack_require__(0).LGraph;\n\nfunction CoSEGraph(parent, graphMgr, vGraph) {\n LGraph.call(this, parent, graphMgr, vGraph);\n}\n\nCoSEGraph.prototype = Object.create(LGraph.prototype);\nfor (var prop in LGraph) {\n CoSEGraph[prop] = LGraph[prop];\n}\n\nmodule.exports = CoSEGraph;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphManager = __webpack_require__(0).LGraphManager;\n\nfunction CoSEGraphManager(layout) {\n LGraphManager.call(this, layout);\n}\n\nCoSEGraphManager.prototype = Object.create(LGraphManager.prototype);\nfor (var prop in LGraphManager) {\n CoSEGraphManager[prop] = LGraphManager[prop];\n}\n\nmodule.exports = CoSEGraphManager;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayoutNode = __webpack_require__(0).FDLayoutNode;\nvar IMath = __webpack_require__(0).IMath;\n\nfunction CoSENode(gm, loc, size, vNode) {\n FDLayoutNode.call(this, gm, loc, size, vNode);\n}\n\nCoSENode.prototype = Object.create(FDLayoutNode.prototype);\nfor (var prop in FDLayoutNode) {\n CoSENode[prop] = FDLayoutNode[prop];\n}\n\nCoSENode.prototype.move = function () {\n var layout = this.graphManager.getLayout();\n this.displacementX = layout.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.noOfChildren;\n this.displacementY = layout.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.noOfChildren;\n\n if (Math.abs(this.displacementX) > layout.coolingFactor * layout.maxNodeDisplacement) {\n this.displacementX = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementX);\n }\n\n if (Math.abs(this.displacementY) > layout.coolingFactor * layout.maxNodeDisplacement) {\n this.displacementY = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementY);\n }\n\n // a simple node, just move it\n if (this.child == null) {\n this.moveBy(this.displacementX, this.displacementY);\n }\n // an empty compound node, again just move it\n else if (this.child.getNodes().length == 0) {\n this.moveBy(this.displacementX, this.displacementY);\n }\n // non-empty compound node, propogate movement to children as well\n else {\n this.propogateDisplacementToChildren(this.displacementX, this.displacementY);\n }\n\n layout.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY);\n\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n this.displacementX = 0;\n this.displacementY = 0;\n};\n\nCoSENode.prototype.propogateDisplacementToChildren = function (dX, dY) {\n var nodes = this.getChild().getNodes();\n var node;\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (node.getChild() == null) {\n node.moveBy(dX, dY);\n node.displacementX += dX;\n node.displacementY += dY;\n } else {\n node.propogateDisplacementToChildren(dX, dY);\n }\n }\n};\n\nCoSENode.prototype.setPred1 = function (pred1) {\n this.pred1 = pred1;\n};\n\nCoSENode.prototype.getPred1 = function () {\n return pred1;\n};\n\nCoSENode.prototype.getPred2 = function () {\n return pred2;\n};\n\nCoSENode.prototype.setNext = function (next) {\n this.next = next;\n};\n\nCoSENode.prototype.getNext = function () {\n return next;\n};\n\nCoSENode.prototype.setProcessed = function (processed) {\n this.processed = processed;\n};\n\nCoSENode.prototype.isProcessed = function () {\n return processed;\n};\n\nmodule.exports = CoSENode;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar FDLayout = __webpack_require__(0).FDLayout;\nvar CoSEGraphManager = __webpack_require__(4);\nvar CoSEGraph = __webpack_require__(3);\nvar CoSENode = __webpack_require__(5);\nvar CoSEEdge = __webpack_require__(2);\nvar CoSEConstants = __webpack_require__(1);\nvar FDLayoutConstants = __webpack_require__(0).FDLayoutConstants;\nvar LayoutConstants = __webpack_require__(0).LayoutConstants;\nvar Point = __webpack_require__(0).Point;\nvar PointD = __webpack_require__(0).PointD;\nvar Layout = __webpack_require__(0).Layout;\nvar Integer = __webpack_require__(0).Integer;\nvar IGeometry = __webpack_require__(0).IGeometry;\nvar LGraph = __webpack_require__(0).LGraph;\nvar Transform = __webpack_require__(0).Transform;\n\nfunction CoSELayout() {\n FDLayout.call(this);\n\n this.toBeTiled = {}; // Memorize if a node is to be tiled or is tiled\n}\n\nCoSELayout.prototype = Object.create(FDLayout.prototype);\n\nfor (var prop in FDLayout) {\n CoSELayout[prop] = FDLayout[prop];\n}\n\nCoSELayout.prototype.newGraphManager = function () {\n var gm = new CoSEGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nCoSELayout.prototype.newGraph = function (vGraph) {\n return new CoSEGraph(null, this.graphManager, vGraph);\n};\n\nCoSELayout.prototype.newNode = function (vNode) {\n return new CoSENode(this.graphManager, vNode);\n};\n\nCoSELayout.prototype.newEdge = function (vEdge) {\n return new CoSEEdge(null, null, vEdge);\n};\n\nCoSELayout.prototype.initParameters = function () {\n FDLayout.prototype.initParameters.call(this, arguments);\n if (!this.isSubLayout) {\n if (CoSEConstants.DEFAULT_EDGE_LENGTH < 10) {\n this.idealEdgeLength = 10;\n } else {\n this.idealEdgeLength = CoSEConstants.DEFAULT_EDGE_LENGTH;\n }\n\n this.useSmartIdealEdgeLengthCalculation = CoSEConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.springConstant = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n this.repulsionConstant = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n\n // variables for tree reduction support\n this.prunedNodesAll = [];\n this.growTreeIterations = 0;\n this.afterGrowthIterations = 0;\n this.isTreeGrowing = false;\n this.isGrowthFinished = false;\n\n // variables for cooling\n this.coolingCycle = 0;\n this.maxCoolingCycle = this.maxIterations / FDLayoutConstants.CONVERGENCE_CHECK_PERIOD;\n this.finalTemperature = FDLayoutConstants.CONVERGENCE_CHECK_PERIOD / this.maxIterations;\n this.coolingAdjuster = 1;\n }\n};\n\nCoSELayout.prototype.layout = function () {\n var createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n if (createBendsAsNeeded) {\n this.createBendpoints();\n this.graphManager.resetAllEdges();\n }\n\n this.level = 0;\n return this.classicLayout();\n};\n\nCoSELayout.prototype.classicLayout = function () {\n this.nodesWithGravity = this.calculateNodesToApplyGravitationTo();\n this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity);\n this.calcNoOfChildrenForAllNodes();\n this.graphManager.calcLowestCommonAncestors();\n this.graphManager.calcInclusionTreeDepths();\n this.graphManager.getRoot().calcEstimatedSize();\n this.calcIdealEdgeLengths();\n\n if (!this.incremental) {\n var forest = this.getFlatForest();\n\n // The graph associated with this layout is flat and a forest\n if (forest.length > 0) {\n this.positionNodesRadially(forest);\n }\n // The graph associated with this layout is not flat or a forest\n else {\n // Reduce the trees when incremental mode is not enabled and graph is not a forest \n this.reduceTrees();\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n\n this.positionNodesRandomly();\n }\n } else {\n if (CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL) {\n // Reduce the trees in incremental mode if only this constant is set to true \n this.reduceTrees();\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n }\n }\n\n this.initSpringEmbedder();\n this.runSpringEmbedder();\n\n return true;\n};\n\nCoSELayout.prototype.tick = function () {\n this.totalIterations++;\n\n if (this.totalIterations === this.maxIterations && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n\n if (this.totalIterations % FDLayoutConstants.CONVERGENCE_CHECK_PERIOD == 0 && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.isConverged()) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n\n this.coolingCycle++;\n\n if (this.layoutQuality == 0) {\n // quality - \"draft\"\n this.coolingAdjuster = this.coolingCycle;\n } else if (this.layoutQuality == 1) {\n // quality - \"default\"\n this.coolingAdjuster = this.coolingCycle / 3;\n }\n\n // cooling schedule is based on http://www.btluke.com/simanf1.html -> cooling schedule 3\n this.coolingFactor = Math.max(this.initialCoolingFactor - Math.pow(this.coolingCycle, Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / Math.log(this.maxCoolingCycle)) / 100 * this.coolingAdjuster, this.finalTemperature);\n this.animationPeriod = Math.ceil(this.initialAnimationPeriod * Math.sqrt(this.coolingFactor));\n }\n // Operations while tree is growing again \n if (this.isTreeGrowing) {\n if (this.growTreeIterations % 10 == 0) {\n if (this.prunedNodesAll.length > 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n this.growTree(this.prunedNodesAll);\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n\n this.graphManager.updateBounds();\n this.updateGrid();\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n } else {\n this.isTreeGrowing = false;\n this.isGrowthFinished = true;\n }\n }\n this.growTreeIterations++;\n }\n // Operations after growth is finished\n if (this.isGrowthFinished) {\n if (this.isConverged()) {\n return true;\n }\n if (this.afterGrowthIterations % 10 == 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n }\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL * ((100 - this.afterGrowthIterations) / 100);\n this.afterGrowthIterations++;\n }\n\n var gridUpdateAllowed = !this.isTreeGrowing && !this.isGrowthFinished;\n var forceToNodeSurroundingUpdate = this.growTreeIterations % 10 == 1 && this.isTreeGrowing || this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished;\n\n this.totalDisplacement = 0;\n this.graphManager.updateBounds();\n this.calcSpringForces();\n this.calcRepulsionForces(gridUpdateAllowed, forceToNodeSurroundingUpdate);\n this.calcGravitationalForces();\n this.moveNodes();\n this.animate();\n\n return false; // Layout is not ended yet return false\n};\n\nCoSELayout.prototype.getPositionsData = function () {\n var allNodes = this.graphManager.getAllNodes();\n var pData = {};\n for (var i = 0; i < allNodes.length; i++) {\n var rect = allNodes[i].rect;\n var id = allNodes[i].id;\n pData[id] = {\n id: id,\n x: rect.getCenterX(),\n y: rect.getCenterY(),\n w: rect.width,\n h: rect.height\n };\n }\n\n return pData;\n};\n\nCoSELayout.prototype.runSpringEmbedder = function () {\n this.initialAnimationPeriod = 25;\n this.animationPeriod = this.initialAnimationPeriod;\n var layoutEnded = false;\n\n // If aminate option is 'during' signal that layout is supposed to start iterating\n if (FDLayoutConstants.ANIMATE === 'during') {\n this.emit('layoutstarted');\n } else {\n // If aminate option is 'during' tick() function will be called on index.js\n while (!layoutEnded) {\n layoutEnded = this.tick();\n }\n\n this.graphManager.updateBounds();\n }\n};\n\nCoSELayout.prototype.calculateNodesToApplyGravitationTo = function () {\n var nodeList = [];\n var graph;\n\n var graphs = this.graphManager.getGraphs();\n var size = graphs.length;\n var i;\n for (i = 0; i < size; i++) {\n graph = graphs[i];\n\n graph.updateConnected();\n\n if (!graph.isConnected) {\n nodeList = nodeList.concat(graph.getNodes());\n }\n }\n\n return nodeList;\n};\n\nCoSELayout.prototype.createBendpoints = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n var visited = new Set();\n var i;\n for (i = 0; i < edges.length; i++) {\n var edge = edges[i];\n\n if (!visited.has(edge)) {\n var source = edge.getSource();\n var target = edge.getTarget();\n\n if (source == target) {\n edge.getBendpoints().push(new PointD());\n edge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(edge);\n visited.add(edge);\n } else {\n var edgeList = [];\n\n edgeList = edgeList.concat(source.getEdgeListToNode(target));\n edgeList = edgeList.concat(target.getEdgeListToNode(source));\n\n if (!visited.has(edgeList[0])) {\n if (edgeList.length > 1) {\n var k;\n for (k = 0; k < edgeList.length; k++) {\n var multiEdge = edgeList[k];\n multiEdge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(multiEdge);\n }\n }\n edgeList.forEach(function (edge) {\n visited.add(edge);\n });\n }\n }\n }\n\n if (visited.size == edges.length) {\n break;\n }\n }\n};\n\nCoSELayout.prototype.positionNodesRadially = function (forest) {\n // We tile the trees to a grid row by row; first tree starts at (0,0)\n var currentStartingPoint = new Point(0, 0);\n var numberOfColumns = Math.ceil(Math.sqrt(forest.length));\n var height = 0;\n var currentY = 0;\n var currentX = 0;\n var point = new PointD(0, 0);\n\n for (var i = 0; i < forest.length; i++) {\n if (i % numberOfColumns == 0) {\n // Start of a new row, make the x coordinate 0, increment the\n // y coordinate with the max height of the previous row\n currentX = 0;\n currentY = height;\n\n if (i != 0) {\n currentY += CoSEConstants.DEFAULT_COMPONENT_SEPERATION;\n }\n\n height = 0;\n }\n\n var tree = forest[i];\n\n // Find the center of the tree\n var centerNode = Layout.findCenterOfTree(tree);\n\n // Set the staring point of the next tree\n currentStartingPoint.x = currentX;\n currentStartingPoint.y = currentY;\n\n // Do a radial layout starting with the center\n point = CoSELayout.radialLayout(tree, centerNode, currentStartingPoint);\n\n if (point.y > height) {\n height = Math.floor(point.y);\n }\n\n currentX = Math.floor(point.x + CoSEConstants.DEFAULT_COMPONENT_SEPERATION);\n }\n\n this.transform(new PointD(LayoutConstants.WORLD_CENTER_X - point.x / 2, LayoutConstants.WORLD_CENTER_Y - point.y / 2));\n};\n\nCoSELayout.radialLayout = function (tree, centerNode, startingPoint) {\n var radialSep = Math.max(this.maxDiagonalInTree(tree), CoSEConstants.DEFAULT_RADIAL_SEPARATION);\n CoSELayout.branchRadialLayout(centerNode, null, 0, 359, 0, radialSep);\n var bounds = LGraph.calculateBounds(tree);\n\n var transform = new Transform();\n transform.setDeviceOrgX(bounds.getMinX());\n transform.setDeviceOrgY(bounds.getMinY());\n transform.setWorldOrgX(startingPoint.x);\n transform.setWorldOrgY(startingPoint.y);\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n node.transform(transform);\n }\n\n var bottomRight = new PointD(bounds.getMaxX(), bounds.getMaxY());\n\n return transform.inverseTransformPoint(bottomRight);\n};\n\nCoSELayout.branchRadialLayout = function (node, parentOfNode, startAngle, endAngle, distance, radialSeparation) {\n // First, position this node by finding its angle.\n var halfInterval = (endAngle - startAngle + 1) / 2;\n\n if (halfInterval < 0) {\n halfInterval += 180;\n }\n\n var nodeAngle = (halfInterval + startAngle) % 360;\n var teta = nodeAngle * IGeometry.TWO_PI / 360;\n\n // Make polar to java cordinate conversion.\n var cos_teta = Math.cos(teta);\n var x_ = distance * Math.cos(teta);\n var y_ = distance * Math.sin(teta);\n\n node.setCenter(x_, y_);\n\n // Traverse all neighbors of this node and recursively call this\n // function.\n var neighborEdges = [];\n neighborEdges = neighborEdges.concat(node.getEdges());\n var childCount = neighborEdges.length;\n\n if (parentOfNode != null) {\n childCount--;\n }\n\n var branchCount = 0;\n\n var incEdgesCount = neighborEdges.length;\n var startIndex;\n\n var edges = node.getEdgesBetween(parentOfNode);\n\n // If there are multiple edges, prune them until there remains only one\n // edge.\n while (edges.length > 1) {\n //neighborEdges.remove(edges.remove(0));\n var temp = edges[0];\n edges.splice(0, 1);\n var index = neighborEdges.indexOf(temp);\n if (index >= 0) {\n neighborEdges.splice(index, 1);\n }\n incEdgesCount--;\n childCount--;\n }\n\n if (parentOfNode != null) {\n //assert edges.length == 1;\n startIndex = (neighborEdges.indexOf(edges[0]) + 1) % incEdgesCount;\n } else {\n startIndex = 0;\n }\n\n var stepAngle = Math.abs(endAngle - startAngle) / childCount;\n\n for (var i = startIndex; branchCount != childCount; i = ++i % incEdgesCount) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(node);\n\n // Don't back traverse to root node in current tree.\n if (currentNeighbor == parentOfNode) {\n continue;\n }\n\n var childStartAngle = (startAngle + branchCount * stepAngle) % 360;\n var childEndAngle = (childStartAngle + stepAngle) % 360;\n\n CoSELayout.branchRadialLayout(currentNeighbor, node, childStartAngle, childEndAngle, distance + radialSeparation, radialSeparation);\n\n branchCount++;\n }\n};\n\nCoSELayout.maxDiagonalInTree = function (tree) {\n var maxDiagonal = Integer.MIN_VALUE;\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n var diagonal = node.getDiagonal();\n\n if (diagonal > maxDiagonal) {\n maxDiagonal = diagonal;\n }\n }\n\n return maxDiagonal;\n};\n\nCoSELayout.prototype.calcRepulsionRange = function () {\n // formula is 2 x (level + 1) x idealEdgeLength\n return 2 * (this.level + 1) * this.idealEdgeLength;\n};\n\n// Tiling methods\n\n// Group zero degree members whose parents are not to be tiled, create dummy parents where needed and fill memberGroups by their dummp parent id's\nCoSELayout.prototype.groupZeroDegreeMembers = function () {\n var self = this;\n // array of [parent_id x oneDegreeNode_id]\n var tempMemberGroups = {}; // A temporary map of parent node and its zero degree members\n this.memberGroups = {}; // A map of dummy parent node and its zero degree members whose parents are not to be tiled\n this.idToDummyNode = {}; // A map of id to dummy node \n\n var zeroDegree = []; // List of zero degree nodes whose parents are not to be tiled\n var allNodes = this.graphManager.getAllNodes();\n\n // Fill zero degree list\n for (var i = 0; i < allNodes.length; i++) {\n var node = allNodes[i];\n var parent = node.getParent();\n // If a node has zero degree and its parent is not to be tiled if exists add that node to zeroDegres list\n if (this.getNodeDegreeWithChildren(node) === 0 && (parent.id == undefined || !this.getToBeTiled(parent))) {\n zeroDegree.push(node);\n }\n }\n\n // Create a map of parent node and its zero degree members\n for (var i = 0; i < zeroDegree.length; i++) {\n var node = zeroDegree[i]; // Zero degree node itself\n var p_id = node.getParent().id; // Parent id\n\n if (typeof tempMemberGroups[p_id] === \"undefined\") tempMemberGroups[p_id] = [];\n\n tempMemberGroups[p_id] = tempMemberGroups[p_id].concat(node); // Push node to the list belongs to its parent in tempMemberGroups\n }\n\n // If there are at least two nodes at a level, create a dummy compound for them\n Object.keys(tempMemberGroups).forEach(function (p_id) {\n if (tempMemberGroups[p_id].length > 1) {\n var dummyCompoundId = \"DummyCompound_\" + p_id; // The id of dummy compound which will be created soon\n self.memberGroups[dummyCompoundId] = tempMemberGroups[p_id]; // Add dummy compound to memberGroups\n\n var parent = tempMemberGroups[p_id][0].getParent(); // The parent of zero degree nodes will be the parent of new dummy compound\n\n // Create a dummy compound with calculated id\n var dummyCompound = new CoSENode(self.graphManager);\n dummyCompound.id = dummyCompoundId;\n dummyCompound.paddingLeft = parent.paddingLeft || 0;\n dummyCompound.paddingRight = parent.paddingRight || 0;\n dummyCompound.paddingBottom = parent.paddingBottom || 0;\n dummyCompound.paddingTop = parent.paddingTop || 0;\n\n self.idToDummyNode[dummyCompoundId] = dummyCompound;\n\n var dummyParentGraph = self.getGraphManager().add(self.newGraph(), dummyCompound);\n var parentGraph = parent.getChild();\n\n // Add dummy compound to parent the graph\n parentGraph.add(dummyCompound);\n\n // For each zero degree node in this level remove it from its parent graph and add it to the graph of dummy parent\n for (var i = 0; i < tempMemberGroups[p_id].length; i++) {\n var node = tempMemberGroups[p_id][i];\n\n parentGraph.remove(node);\n dummyParentGraph.add(node);\n }\n }\n });\n};\n\nCoSELayout.prototype.clearCompounds = function () {\n var childGraphMap = {};\n var idToNode = {};\n\n // Get compound ordering by finding the inner one first\n this.performDFSOnCompounds();\n\n for (var i = 0; i < this.compoundOrder.length; i++) {\n\n idToNode[this.compoundOrder[i].id] = this.compoundOrder[i];\n childGraphMap[this.compoundOrder[i].id] = [].concat(this.compoundOrder[i].getChild().getNodes());\n\n // Remove children of compounds\n this.graphManager.remove(this.compoundOrder[i].getChild());\n this.compoundOrder[i].child = null;\n }\n\n this.graphManager.resetAllNodes();\n\n // Tile the removed children\n this.tileCompoundMembers(childGraphMap, idToNode);\n};\n\nCoSELayout.prototype.clearZeroDegreeMembers = function () {\n var self = this;\n var tiledZeroDegreePack = this.tiledZeroDegreePack = [];\n\n Object.keys(this.memberGroups).forEach(function (id) {\n var compoundNode = self.idToDummyNode[id]; // Get the dummy compound\n\n tiledZeroDegreePack[id] = self.tileNodes(self.memberGroups[id], compoundNode.paddingLeft + compoundNode.paddingRight);\n\n // Set the width and height of the dummy compound as calculated\n compoundNode.rect.width = tiledZeroDegreePack[id].width;\n compoundNode.rect.height = tiledZeroDegreePack[id].height;\n });\n};\n\nCoSELayout.prototype.repopulateCompounds = function () {\n for (var i = this.compoundOrder.length - 1; i >= 0; i--) {\n var lCompoundNode = this.compoundOrder[i];\n var id = lCompoundNode.id;\n var horizontalMargin = lCompoundNode.paddingLeft;\n var verticalMargin = lCompoundNode.paddingTop;\n\n this.adjustLocations(this.tiledMemberPack[id], lCompoundNode.rect.x, lCompoundNode.rect.y, horizontalMargin, verticalMargin);\n }\n};\n\nCoSELayout.prototype.repopulateZeroDegreeMembers = function () {\n var self = this;\n var tiledPack = this.tiledZeroDegreePack;\n\n Object.keys(tiledPack).forEach(function (id) {\n var compoundNode = self.idToDummyNode[id]; // Get the dummy compound by its id\n var horizontalMargin = compoundNode.paddingLeft;\n var verticalMargin = compoundNode.paddingTop;\n\n // Adjust the positions of nodes wrt its compound\n self.adjustLocations(tiledPack[id], compoundNode.rect.x, compoundNode.rect.y, horizontalMargin, verticalMargin);\n });\n};\n\nCoSELayout.prototype.getToBeTiled = function (node) {\n var id = node.id;\n //firstly check the previous results\n if (this.toBeTiled[id] != null) {\n return this.toBeTiled[id];\n }\n\n //only compound nodes are to be tiled\n var childGraph = node.getChild();\n if (childGraph == null) {\n this.toBeTiled[id] = false;\n return false;\n }\n\n var children = childGraph.getNodes(); // Get the children nodes\n\n //a compound node is not to be tiled if all of its compound children are not to be tiled\n for (var i = 0; i < children.length; i++) {\n var theChild = children[i];\n\n if (this.getNodeDegree(theChild) > 0) {\n this.toBeTiled[id] = false;\n return false;\n }\n\n //pass the children not having the compound structure\n if (theChild.getChild() == null) {\n this.toBeTiled[theChild.id] = false;\n continue;\n }\n\n if (!this.getToBeTiled(theChild)) {\n this.toBeTiled[id] = false;\n return false;\n }\n }\n this.toBeTiled[id] = true;\n return true;\n};\n\n// Get degree of a node depending of its edges and independent of its children\nCoSELayout.prototype.getNodeDegree = function (node) {\n var id = node.id;\n var edges = node.getEdges();\n var degree = 0;\n\n // For the edges connected\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n if (edge.getSource().id !== edge.getTarget().id) {\n degree = degree + 1;\n }\n }\n return degree;\n};\n\n// Get degree of a node with its children\nCoSELayout.prototype.getNodeDegreeWithChildren = function (node) {\n var degree = this.getNodeDegree(node);\n if (node.getChild() == null) {\n return degree;\n }\n var children = node.getChild().getNodes();\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n degree += this.getNodeDegreeWithChildren(child);\n }\n return degree;\n};\n\nCoSELayout.prototype.performDFSOnCompounds = function () {\n this.compoundOrder = [];\n this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());\n};\n\nCoSELayout.prototype.fillCompexOrderByDFS = function (children) {\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child.getChild() != null) {\n this.fillCompexOrderByDFS(child.getChild().getNodes());\n }\n if (this.getToBeTiled(child)) {\n this.compoundOrder.push(child);\n }\n }\n};\n\n/**\n* This method places each zero degree member wrt given (x,y) coordinates (top left).\n*/\nCoSELayout.prototype.adjustLocations = function (organization, x, y, compoundHorizontalMargin, compoundVerticalMargin) {\n x += compoundHorizontalMargin;\n y += compoundVerticalMargin;\n\n var left = x;\n\n for (var i = 0; i < organization.rows.length; i++) {\n var row = organization.rows[i];\n x = left;\n var maxHeight = 0;\n\n for (var j = 0; j < row.length; j++) {\n var lnode = row[j];\n\n lnode.rect.x = x; // + lnode.rect.width / 2;\n lnode.rect.y = y; // + lnode.rect.height / 2;\n\n x += lnode.rect.width + organization.horizontalPadding;\n\n if (lnode.rect.height > maxHeight) maxHeight = lnode.rect.height;\n }\n\n y += maxHeight + organization.verticalPadding;\n }\n};\n\nCoSELayout.prototype.tileCompoundMembers = function (childGraphMap, idToNode) {\n var self = this;\n this.tiledMemberPack = [];\n\n Object.keys(childGraphMap).forEach(function (id) {\n // Get the compound node\n var compoundNode = idToNode[id];\n\n self.tiledMemberPack[id] = self.tileNodes(childGraphMap[id], compoundNode.paddingLeft + compoundNode.paddingRight);\n\n compoundNode.rect.width = self.tiledMemberPack[id].width;\n compoundNode.rect.height = self.tiledMemberPack[id].height;\n });\n};\n\nCoSELayout.prototype.tileNodes = function (nodes, minWidth) {\n var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL;\n var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL;\n var organization = {\n rows: [],\n rowWidth: [],\n rowHeight: [],\n width: 0,\n height: minWidth, // assume minHeight equals to minWidth\n verticalPadding: verticalPadding,\n horizontalPadding: horizontalPadding\n };\n\n // Sort the nodes in ascending order of their areas\n nodes.sort(function (n1, n2) {\n if (n1.rect.width * n1.rect.height > n2.rect.width * n2.rect.height) return -1;\n if (n1.rect.width * n1.rect.height < n2.rect.width * n2.rect.height) return 1;\n return 0;\n });\n\n // Create the organization -> tile members\n for (var i = 0; i < nodes.length; i++) {\n var lNode = nodes[i];\n\n if (organization.rows.length == 0) {\n this.insertNodeToRow(organization, lNode, 0, minWidth);\n } else if (this.canAddHorizontal(organization, lNode.rect.width, lNode.rect.height)) {\n this.insertNodeToRow(organization, lNode, this.getShortestRowIndex(organization), minWidth);\n } else {\n this.insertNodeToRow(organization, lNode, organization.rows.length, minWidth);\n }\n\n this.shiftToLastRow(organization);\n }\n\n return organization;\n};\n\nCoSELayout.prototype.insertNodeToRow = function (organization, node, rowIndex, minWidth) {\n var minCompoundSize = minWidth;\n\n // Add new row if needed\n if (rowIndex == organization.rows.length) {\n var secondDimension = [];\n\n organization.rows.push(secondDimension);\n organization.rowWidth.push(minCompoundSize);\n organization.rowHeight.push(0);\n }\n\n // Update row width\n var w = organization.rowWidth[rowIndex] + node.rect.width;\n\n if (organization.rows[rowIndex].length > 0) {\n w += organization.horizontalPadding;\n }\n\n organization.rowWidth[rowIndex] = w;\n // Update compound width\n if (organization.width < w) {\n organization.width = w;\n }\n\n // Update height\n var h = node.rect.height;\n if (rowIndex > 0) h += organization.verticalPadding;\n\n var extraHeight = 0;\n if (h > organization.rowHeight[rowIndex]) {\n extraHeight = organization.rowHeight[rowIndex];\n organization.rowHeight[rowIndex] = h;\n extraHeight = organization.rowHeight[rowIndex] - extraHeight;\n }\n\n organization.height += extraHeight;\n\n // Insert node\n organization.rows[rowIndex].push(node);\n};\n\n//Scans the rows of an organization and returns the one with the min width\nCoSELayout.prototype.getShortestRowIndex = function (organization) {\n var r = -1;\n var min = Number.MAX_VALUE;\n\n for (var i = 0; i < organization.rows.length; i++) {\n if (organization.rowWidth[i] < min) {\n r = i;\n min = organization.rowWidth[i];\n }\n }\n return r;\n};\n\n//Scans the rows of an organization and returns the one with the max width\nCoSELayout.prototype.getLongestRowIndex = function (organization) {\n var r = -1;\n var max = Number.MIN_VALUE;\n\n for (var i = 0; i < organization.rows.length; i++) {\n\n if (organization.rowWidth[i] > max) {\n r = i;\n max = organization.rowWidth[i];\n }\n }\n\n return r;\n};\n\n/**\n* This method checks whether adding extra width to the organization violates\n* the aspect ratio(1) or not.\n*/\nCoSELayout.prototype.canAddHorizontal = function (organization, extraWidth, extraHeight) {\n\n var sri = this.getShortestRowIndex(organization);\n\n if (sri < 0) {\n return true;\n }\n\n var min = organization.rowWidth[sri];\n\n if (min + organization.horizontalPadding + extraWidth <= organization.width) return true;\n\n var hDiff = 0;\n\n // Adding to an existing row\n if (organization.rowHeight[sri] < extraHeight) {\n if (sri > 0) hDiff = extraHeight + organization.verticalPadding - organization.rowHeight[sri];\n }\n\n var add_to_row_ratio;\n if (organization.width - min >= extraWidth + organization.horizontalPadding) {\n add_to_row_ratio = (organization.height + hDiff) / (min + extraWidth + organization.horizontalPadding);\n } else {\n add_to_row_ratio = (organization.height + hDiff) / organization.width;\n }\n\n // Adding a new row for this node\n hDiff = extraHeight + organization.verticalPadding;\n var add_new_row_ratio;\n if (organization.width < extraWidth) {\n add_new_row_ratio = (organization.height + hDiff) / extraWidth;\n } else {\n add_new_row_ratio = (organization.height + hDiff) / organization.width;\n }\n\n if (add_new_row_ratio < 1) add_new_row_ratio = 1 / add_new_row_ratio;\n\n if (add_to_row_ratio < 1) add_to_row_ratio = 1 / add_to_row_ratio;\n\n return add_to_row_ratio < add_new_row_ratio;\n};\n\n//If moving the last node from the longest row and adding it to the last\n//row makes the bounding box smaller, do it.\nCoSELayout.prototype.shiftToLastRow = function (organization) {\n var longest = this.getLongestRowIndex(organization);\n var last = organization.rowWidth.length - 1;\n var row = organization.rows[longest];\n var node = row[row.length - 1];\n\n var diff = node.width + organization.horizontalPadding;\n\n // Check if there is enough space on the last row\n if (organization.width - organization.rowWidth[last] > diff && longest != last) {\n // Remove the last element of the longest row\n row.splice(-1, 1);\n\n // Push it to the last row\n organization.rows[last].push(node);\n\n organization.rowWidth[longest] = organization.rowWidth[longest] - diff;\n organization.rowWidth[last] = organization.rowWidth[last] + diff;\n organization.width = organization.rowWidth[instance.getLongestRowIndex(organization)];\n\n // Update heights of the organization\n var maxHeight = Number.MIN_VALUE;\n for (var i = 0; i < row.length; i++) {\n if (row[i].height > maxHeight) maxHeight = row[i].height;\n }\n if (longest > 0) maxHeight += organization.verticalPadding;\n\n var prevTotal = organization.rowHeight[longest] + organization.rowHeight[last];\n\n organization.rowHeight[longest] = maxHeight;\n if (organization.rowHeight[last] < node.height + organization.verticalPadding) organization.rowHeight[last] = node.height + organization.verticalPadding;\n\n var finalTotal = organization.rowHeight[longest] + organization.rowHeight[last];\n organization.height += finalTotal - prevTotal;\n\n this.shiftToLastRow(organization);\n }\n};\n\nCoSELayout.prototype.tilingPreLayout = function () {\n if (CoSEConstants.TILE) {\n // Find zero degree nodes and create a compound for each level\n this.groupZeroDegreeMembers();\n // Tile and clear children of each compound\n this.clearCompounds();\n // Separately tile and clear zero degree nodes for each level\n this.clearZeroDegreeMembers();\n }\n};\n\nCoSELayout.prototype.tilingPostLayout = function () {\n if (CoSEConstants.TILE) {\n this.repopulateZeroDegreeMembers();\n this.repopulateCompounds();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: Tree Reduction methods\n// -----------------------------------------------------------------------------\n// Reduce trees \nCoSELayout.prototype.reduceTrees = function () {\n var prunedNodesAll = [];\n var containsLeaf = true;\n var node;\n\n while (containsLeaf) {\n var allNodes = this.graphManager.getAllNodes();\n var prunedNodesInStepTemp = [];\n containsLeaf = false;\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n if (node.getEdges().length == 1 && !node.getEdges()[0].isInterGraph && node.getChild() == null) {\n prunedNodesInStepTemp.push([node, node.getEdges()[0], node.getOwner()]);\n containsLeaf = true;\n }\n }\n if (containsLeaf == true) {\n var prunedNodesInStep = [];\n for (var j = 0; j < prunedNodesInStepTemp.length; j++) {\n if (prunedNodesInStepTemp[j][0].getEdges().length == 1) {\n prunedNodesInStep.push(prunedNodesInStepTemp[j]);\n prunedNodesInStepTemp[j][0].getOwner().remove(prunedNodesInStepTemp[j][0]);\n }\n }\n prunedNodesAll.push(prunedNodesInStep);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n }\n }\n this.prunedNodesAll = prunedNodesAll;\n};\n\n// Grow tree one step \nCoSELayout.prototype.growTree = function (prunedNodesAll) {\n var lengthOfPrunedNodesInStep = prunedNodesAll.length;\n var prunedNodesInStep = prunedNodesAll[lengthOfPrunedNodesInStep - 1];\n\n var nodeData;\n for (var i = 0; i < prunedNodesInStep.length; i++) {\n nodeData = prunedNodesInStep[i];\n\n this.findPlaceforPrunedNode(nodeData);\n\n nodeData[2].add(nodeData[0]);\n nodeData[2].add(nodeData[1], nodeData[1].source, nodeData[1].target);\n }\n\n prunedNodesAll.splice(prunedNodesAll.length - 1, 1);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n};\n\n// Find an appropriate position to replace pruned node, this method can be improved\nCoSELayout.prototype.findPlaceforPrunedNode = function (nodeData) {\n\n var gridForPrunedNode;\n var nodeToConnect;\n var prunedNode = nodeData[0];\n if (prunedNode == nodeData[1].source) {\n nodeToConnect = nodeData[1].target;\n } else {\n nodeToConnect = nodeData[1].source;\n }\n var startGridX = nodeToConnect.startX;\n var finishGridX = nodeToConnect.finishX;\n var startGridY = nodeToConnect.startY;\n var finishGridY = nodeToConnect.finishY;\n\n var upNodeCount = 0;\n var downNodeCount = 0;\n var rightNodeCount = 0;\n var leftNodeCount = 0;\n var controlRegions = [upNodeCount, rightNodeCount, downNodeCount, leftNodeCount];\n\n if (startGridY > 0) {\n for (var i = startGridX; i <= finishGridX; i++) {\n controlRegions[0] += this.grid[i][startGridY - 1].length + this.grid[i][startGridY].length - 1;\n }\n }\n if (finishGridX < this.grid.length - 1) {\n for (var i = startGridY; i <= finishGridY; i++) {\n controlRegions[1] += this.grid[finishGridX + 1][i].length + this.grid[finishGridX][i].length - 1;\n }\n }\n if (finishGridY < this.grid[0].length - 1) {\n for (var i = startGridX; i <= finishGridX; i++) {\n controlRegions[2] += this.grid[i][finishGridY + 1].length + this.grid[i][finishGridY].length - 1;\n }\n }\n if (startGridX > 0) {\n for (var i = startGridY; i <= finishGridY; i++) {\n controlRegions[3] += this.grid[startGridX - 1][i].length + this.grid[startGridX][i].length - 1;\n }\n }\n var min = Integer.MAX_VALUE;\n var minCount;\n var minIndex;\n for (var j = 0; j < controlRegions.length; j++) {\n if (controlRegions[j] < min) {\n min = controlRegions[j];\n minCount = 1;\n minIndex = j;\n } else if (controlRegions[j] == min) {\n minCount++;\n }\n }\n\n if (minCount == 3 && min == 0) {\n if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[2] == 0) {\n gridForPrunedNode = 1;\n } else if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 0;\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 3;\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 2;\n }\n } else if (minCount == 2 && min == 0) {\n var random = Math.floor(Math.random() * 2);\n if (controlRegions[0] == 0 && controlRegions[1] == 0) {\n ;\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 1;\n }\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0) {\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[0] == 0 && controlRegions[3] == 0) {\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 3;\n }\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0) {\n if (random == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[1] == 0 && controlRegions[3] == 0) {\n if (random == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 3;\n }\n } else {\n if (random == 0) {\n gridForPrunedNode = 2;\n } else {\n gridForPrunedNode = 3;\n }\n }\n } else if (minCount == 4 && min == 0) {\n var random = Math.floor(Math.random() * 4);\n gridForPrunedNode = random;\n } else {\n gridForPrunedNode = minIndex;\n }\n\n if (gridForPrunedNode == 0) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() - nodeToConnect.getHeight() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getHeight() / 2);\n } else if (gridForPrunedNode == 1) {\n prunedNode.setCenter(nodeToConnect.getCenterX() + nodeToConnect.getWidth() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n } else if (gridForPrunedNode == 2) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() + nodeToConnect.getHeight() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getHeight() / 2);\n } else {\n prunedNode.setCenter(nodeToConnect.getCenterX() - nodeToConnect.getWidth() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n }\n};\n\nmodule.exports = CoSELayout;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar coseBase = {};\n\ncoseBase.layoutBase = __webpack_require__(0);\ncoseBase.CoSEConstants = __webpack_require__(1);\ncoseBase.CoSEEdge = __webpack_require__(2);\ncoseBase.CoSEGraph = __webpack_require__(3);\ncoseBase.CoSEGraphManager = __webpack_require__(4);\ncoseBase.CoSELayout = __webpack_require__(6);\ncoseBase.CoSENode = __webpack_require__(5);\n\nmodule.exports = coseBase;\n\n/***/ })\n/******/ ]);\n});", + "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cose-base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"cose-base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cytoscapeCoseBilkent\"] = factory(require(\"cose-base\"));\n\telse\n\t\troot[\"cytoscapeCoseBilkent\"] = factory(root[\"coseBase\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LayoutConstants = __webpack_require__(0).layoutBase.LayoutConstants;\nvar FDLayoutConstants = __webpack_require__(0).layoutBase.FDLayoutConstants;\nvar CoSEConstants = __webpack_require__(0).CoSEConstants;\nvar CoSELayout = __webpack_require__(0).CoSELayout;\nvar CoSENode = __webpack_require__(0).CoSENode;\nvar PointD = __webpack_require__(0).layoutBase.PointD;\nvar DimensionD = __webpack_require__(0).layoutBase.DimensionD;\n\nvar defaults = {\n // Called on `layoutready`\n ready: function ready() {},\n // Called on `layoutstop`\n stop: function stop() {},\n // 'draft', 'default' or 'proof\" \n // - 'draft' fast cooling rate \n // - 'default' moderate cooling rate \n // - \"proof\" slow cooling rate\n quality: 'default',\n // include labels in node dimensions\n nodeDimensionsIncludeLabels: false,\n // number of ticks per frame; higher is faster but more jerky\n refresh: 30,\n // Whether to fit the network view after when done\n fit: true,\n // Padding on fit\n padding: 10,\n // Whether to enable incremental mode\n randomize: true,\n // Node repulsion (non overlapping) multiplier\n nodeRepulsion: 4500,\n // Ideal edge (non nested) length\n idealEdgeLength: 50,\n // Divisor to compute edge forces\n edgeElasticity: 0.45,\n // Nesting factor (multiplier) to compute ideal edge length for nested edges\n nestingFactor: 0.1,\n // Gravity force (constant)\n gravity: 0.25,\n // Maximum number of iterations to perform\n numIter: 2500,\n // For enabling tiling\n tile: true,\n // Type of layout animation. The option set is {'during', 'end', false}\n animate: 'end',\n // Duration for animate:end\n animationDuration: 500,\n // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingVertical: 10,\n // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingHorizontal: 10,\n // Gravity range (constant) for compounds\n gravityRangeCompound: 1.5,\n // Gravity force (constant) for compounds\n gravityCompound: 1.0,\n // Gravity range (constant)\n gravityRange: 3.8,\n // Initial cooling factor for incremental layout\n initialEnergyOnIncremental: 0.5\n};\n\nfunction extend(defaults, options) {\n var obj = {};\n\n for (var i in defaults) {\n obj[i] = defaults[i];\n }\n\n for (var i in options) {\n obj[i] = options[i];\n }\n\n return obj;\n};\n\nfunction _CoSELayout(_options) {\n this.options = extend(defaults, _options);\n getUserOptions(this.options);\n}\n\nvar getUserOptions = function getUserOptions(options) {\n if (options.nodeRepulsion != null) CoSEConstants.DEFAULT_REPULSION_STRENGTH = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH = options.nodeRepulsion;\n if (options.idealEdgeLength != null) CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = options.idealEdgeLength;\n if (options.edgeElasticity != null) CoSEConstants.DEFAULT_SPRING_STRENGTH = FDLayoutConstants.DEFAULT_SPRING_STRENGTH = options.edgeElasticity;\n if (options.nestingFactor != null) CoSEConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = options.nestingFactor;\n if (options.gravity != null) CoSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options.gravity;\n if (options.numIter != null) CoSEConstants.MAX_ITERATIONS = FDLayoutConstants.MAX_ITERATIONS = options.numIter;\n if (options.gravityRange != null) CoSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options.gravityRange;\n if (options.gravityCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = options.gravityCompound;\n if (options.gravityRangeCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = options.gravityRangeCompound;\n if (options.initialEnergyOnIncremental != null) CoSEConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = options.initialEnergyOnIncremental;\n\n if (options.quality == 'draft') LayoutConstants.QUALITY = 0;else if (options.quality == 'proof') LayoutConstants.QUALITY = 2;else LayoutConstants.QUALITY = 1;\n\n CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS = FDLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = options.nodeDimensionsIncludeLabels;\n CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = !options.randomize;\n CoSEConstants.ANIMATE = FDLayoutConstants.ANIMATE = LayoutConstants.ANIMATE = options.animate;\n CoSEConstants.TILE = options.tile;\n CoSEConstants.TILING_PADDING_VERTICAL = typeof options.tilingPaddingVertical === 'function' ? options.tilingPaddingVertical.call() : options.tilingPaddingVertical;\n CoSEConstants.TILING_PADDING_HORIZONTAL = typeof options.tilingPaddingHorizontal === 'function' ? options.tilingPaddingHorizontal.call() : options.tilingPaddingHorizontal;\n};\n\n_CoSELayout.prototype.run = function () {\n var ready;\n var frameId;\n var options = this.options;\n var idToLNode = this.idToLNode = {};\n var layout = this.layout = new CoSELayout();\n var self = this;\n\n self.stopped = false;\n\n this.cy = this.options.cy;\n\n this.cy.trigger({ type: 'layoutstart', layout: this });\n\n var gm = layout.newGraphManager();\n this.gm = gm;\n\n var nodes = this.options.eles.nodes();\n var edges = this.options.eles.edges();\n\n this.root = gm.addRoot();\n this.processChildrenList(this.root, this.getTopMostNodes(nodes), layout);\n\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n var sourceNode = this.idToLNode[edge.data(\"source\")];\n var targetNode = this.idToLNode[edge.data(\"target\")];\n if (sourceNode !== targetNode && sourceNode.getEdgesBetween(targetNode).length == 0) {\n var e1 = gm.add(layout.newEdge(), sourceNode, targetNode);\n e1.id = edge.id();\n }\n }\n\n var getPositions = function getPositions(ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n var theId = ele.data('id');\n var lNode = self.idToLNode[theId];\n\n return {\n x: lNode.getRect().getCenterX(),\n y: lNode.getRect().getCenterY()\n };\n };\n\n /*\n * Reposition nodes in iterations animatedly\n */\n var iterateAnimated = function iterateAnimated() {\n // Thigs to perform after nodes are repositioned on screen\n var afterReposition = function afterReposition() {\n if (options.fit) {\n options.cy.fit(options.eles, options.padding);\n }\n\n if (!ready) {\n ready = true;\n self.cy.one('layoutready', options.ready);\n self.cy.trigger({ type: 'layoutready', layout: self });\n }\n };\n\n var ticksPerFrame = self.options.refresh;\n var isDone;\n\n for (var i = 0; i < ticksPerFrame && !isDone; i++) {\n isDone = self.stopped || self.layout.tick();\n }\n\n // If layout is done\n if (isDone) {\n // If the layout is not a sublayout and it is successful perform post layout.\n if (layout.checkLayoutSuccess() && !layout.isSubLayout) {\n layout.doPostLayout();\n }\n\n // If layout has a tilingPostLayout function property call it.\n if (layout.tilingPostLayout) {\n layout.tilingPostLayout();\n }\n\n layout.isLayoutFinished = true;\n\n self.options.eles.nodes().positions(getPositions);\n\n afterReposition();\n\n // trigger layoutstop when the layout stops (e.g. finishes)\n self.cy.one('layoutstop', self.options.stop);\n self.cy.trigger({ type: 'layoutstop', layout: self });\n\n if (frameId) {\n cancelAnimationFrame(frameId);\n }\n\n ready = false;\n return;\n }\n\n var animationData = self.layout.getPositionsData(); // Get positions of layout nodes note that all nodes may not be layout nodes because of tiling\n\n // Position nodes, for the nodes whose id does not included in data (because they are removed from their parents and included in dummy compounds)\n // use position of their ancestors or dummy ancestors\n options.eles.nodes().positions(function (ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n // If ele is a compound node, then its position will be defined by its children\n if (!ele.isParent()) {\n var theId = ele.id();\n var pNode = animationData[theId];\n var temp = ele;\n // If pNode is undefined search until finding position data of its first ancestor (It may be dummy as well)\n while (pNode == null) {\n pNode = animationData[temp.data('parent')] || animationData['DummyCompound_' + temp.data('parent')];\n animationData[theId] = pNode;\n temp = temp.parent()[0];\n if (temp == undefined) {\n break;\n }\n }\n if (pNode != null) {\n return {\n x: pNode.x,\n y: pNode.y\n };\n } else {\n return {\n x: ele.position('x'),\n y: ele.position('y')\n };\n }\n }\n });\n\n afterReposition();\n\n frameId = requestAnimationFrame(iterateAnimated);\n };\n\n /*\n * Listen 'layoutstarted' event and start animated iteration if animate option is 'during'\n */\n layout.addListener('layoutstarted', function () {\n if (self.options.animate === 'during') {\n frameId = requestAnimationFrame(iterateAnimated);\n }\n });\n\n layout.runLayout(); // Run cose layout\n\n /*\n * If animate option is not 'during' ('end' or false) perform these here (If it is 'during' similar things are already performed)\n */\n if (this.options.animate !== \"during\") {\n self.options.eles.nodes().not(\":parent\").layoutPositions(self, self.options, getPositions); // Use layout positions to reposition the nodes it considers the options parameter\n ready = false;\n }\n\n return this; // chaining\n};\n\n//Get the top most ones of a list of nodes\n_CoSELayout.prototype.getTopMostNodes = function (nodes) {\n var nodesMap = {};\n for (var i = 0; i < nodes.length; i++) {\n nodesMap[nodes[i].id()] = true;\n }\n var roots = nodes.filter(function (ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n var parent = ele.parent()[0];\n while (parent != null) {\n if (nodesMap[parent.id()]) {\n return false;\n }\n parent = parent.parent()[0];\n }\n return true;\n });\n\n return roots;\n};\n\n_CoSELayout.prototype.processChildrenList = function (parent, children, layout) {\n var size = children.length;\n for (var i = 0; i < size; i++) {\n var theChild = children[i];\n var children_of_children = theChild.children();\n var theNode;\n\n var dimensions = theChild.layoutDimensions({\n nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels\n });\n\n if (theChild.outerWidth() != null && theChild.outerHeight() != null) {\n theNode = parent.add(new CoSENode(layout.graphManager, new PointD(theChild.position('x') - dimensions.w / 2, theChild.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))));\n } else {\n theNode = parent.add(new CoSENode(this.graphManager));\n }\n // Attach id to the layout node\n theNode.id = theChild.data(\"id\");\n // Attach the paddings of cy node to layout node\n theNode.paddingLeft = parseInt(theChild.css('padding'));\n theNode.paddingTop = parseInt(theChild.css('padding'));\n theNode.paddingRight = parseInt(theChild.css('padding'));\n theNode.paddingBottom = parseInt(theChild.css('padding'));\n\n //Attach the label properties to compound if labels will be included in node dimensions \n if (this.options.nodeDimensionsIncludeLabels) {\n if (theChild.isParent()) {\n var labelWidth = theChild.boundingBox({ includeLabels: true, includeNodes: false }).w;\n var labelHeight = theChild.boundingBox({ includeLabels: true, includeNodes: false }).h;\n var labelPos = theChild.css(\"text-halign\");\n theNode.labelWidth = labelWidth;\n theNode.labelHeight = labelHeight;\n theNode.labelPos = labelPos;\n }\n }\n\n // Map the layout node\n this.idToLNode[theChild.data(\"id\")] = theNode;\n\n if (isNaN(theNode.rect.x)) {\n theNode.rect.x = 0;\n }\n\n if (isNaN(theNode.rect.y)) {\n theNode.rect.y = 0;\n }\n\n if (children_of_children != null && children_of_children.length > 0) {\n var theNewGraph;\n theNewGraph = layout.getGraphManager().add(layout.newGraph(), theNode);\n this.processChildrenList(theNewGraph, children_of_children, layout);\n }\n }\n};\n\n/**\n * @brief : called on continuous layouts to stop them before they finish\n */\n_CoSELayout.prototype.stop = function () {\n this.stopped = true;\n\n return this; // chaining\n};\n\nvar register = function register(cytoscape) {\n // var Layout = getLayout( cytoscape );\n\n cytoscape('layout', 'cose-bilkent', _CoSELayout);\n};\n\n// auto reg for globals\nif (typeof cytoscape !== 'undefined') {\n register(cytoscape);\n}\n\nmodule.exports = register;\n\n/***/ })\n/******/ ]);\n});", + "import {\n createText\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n defaultConfig_default,\n getConfig2 as getConfig,\n log,\n sanitizeText,\n setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/mindmap/parser/mindmap.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 13], $V2 = [1, 12], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 20], $V6 = [1, 19], $V7 = [6, 7, 8], $V8 = [1, 26], $V9 = [1, 24], $Va = [1, 25], $Vb = [6, 7, 11], $Vc = [1, 6, 13, 15, 16, 19, 22], $Vd = [1, 33], $Ve = [1, 34], $Vf = [1, 6, 7, 11, 13, 15, 16, 19, 22];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mindMap\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"MINDMAP\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"node\": 14, \"ICON\": 15, \"CLASS\": 16, \"nodeWithId\": 17, \"nodeWithoutId\": 18, \"NODE_DSTART\": 19, \"NODE_DESCR\": 20, \"NODE_DEND\": 21, \"NODE_ID\": 22, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"MINDMAP\", 11: \"EOF\", 13: \"SPACELIST\", 15: \"ICON\", 16: \"CLASS\", 19: \"NODE_DSTART\", 20: \"NODE_DESCR\", 21: \"NODE_DEND\", 22: \"NODE_ID\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 2], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [18, 3], [17, 1], [17, 4]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 8:\n yy.getLogger().trace(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().trace(\"Stop EOF \");\n break;\n case 11:\n yy.getLogger().trace(\"Stop NL2 \");\n break;\n case 12:\n yy.getLogger().trace(\"Stop EOF2 \");\n break;\n case 15:\n yy.getLogger().info(\"Node: \", $$[$0].id);\n yy.addNode($$[$0 - 1].length, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 16:\n yy.getLogger().trace(\"Icon: \", $$[$0]);\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 17:\n case 21:\n yy.decorateNode({ class: $$[$0] });\n break;\n case 18:\n yy.getLogger().trace(\"SPACELIST\");\n break;\n case 19:\n yy.getLogger().trace(\"Node: \", $$[$0].id);\n yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 20:\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 25:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 2]);\n this.$ = { id: $$[$0 - 1], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 26:\n this.$ = { id: $$[$0], descr: $$[$0], type: yy.nodeType.DEFAULT };\n break;\n case 27:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 3]);\n this.$ = { id: $$[$0 - 3], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($V7, [2, 3]), { 1: [2, 2] }, o($V7, [2, 4]), o($V7, [2, 5]), { 1: [2, 6], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V1, 9: 22, 12: 11, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, { 6: $V8, 7: $V9, 10: 23, 11: $Va }, o($Vb, [2, 22], { 17: 17, 18: 18, 14: 27, 15: [1, 28], 16: [1, 29], 19: $V5, 22: $V6 }), o($Vb, [2, 18]), o($Vb, [2, 19]), o($Vb, [2, 20]), o($Vb, [2, 21]), o($Vb, [2, 23]), o($Vb, [2, 24]), o($Vb, [2, 26], { 19: [1, 30] }), { 20: [1, 31] }, { 6: $V8, 7: $V9, 10: 32, 11: $Va }, { 1: [2, 7], 6: $V1, 12: 21, 13: $V2, 14: 14, 15: $V3, 16: $V4, 17: 17, 18: 18, 19: $V5, 22: $V6 }, o($Vc, [2, 14], { 7: $Vd, 11: $Ve }), o($Vf, [2, 8]), o($Vf, [2, 9]), o($Vf, [2, 10]), o($Vb, [2, 15]), o($Vb, [2, 16]), o($Vb, [2, 17]), { 20: [1, 35] }, { 21: [1, 36] }, o($Vc, [2, 13], { 7: $Vd, 11: $Ve }), o($Vf, [2, 11]), o($Vf, [2, 12]), { 21: [1, 37] }, o($Vb, [2, 25]), o($Vb, [2, 27])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n yy.getLogger().trace(\"Found comment\", yy_.yytext);\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n this.begin(\"CLASS\");\n break;\n case 3:\n this.popState();\n return 16;\n break;\n case 4:\n this.popState();\n break;\n case 5:\n yy.getLogger().trace(\"Begin icon\");\n this.begin(\"ICON\");\n break;\n case 6:\n yy.getLogger().trace(\"SPACELINE\");\n return 6;\n break;\n case 7:\n return 7;\n break;\n case 8:\n return 15;\n break;\n case 9:\n yy.getLogger().trace(\"end icon\");\n this.popState();\n break;\n case 10:\n yy.getLogger().trace(\"Exploding node\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 11:\n yy.getLogger().trace(\"Cloud\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 12:\n yy.getLogger().trace(\"Explosion Bang\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 13:\n yy.getLogger().trace(\"Cloud Bang\");\n this.begin(\"NODE\");\n return 19;\n break;\n case 14:\n this.begin(\"NODE\");\n return 19;\n break;\n case 15:\n this.begin(\"NODE\");\n return 19;\n break;\n case 16:\n this.begin(\"NODE\");\n return 19;\n break;\n case 17:\n this.begin(\"NODE\");\n return 19;\n break;\n case 18:\n return 13;\n break;\n case 19:\n return 22;\n break;\n case 20:\n return 11;\n break;\n case 21:\n this.begin(\"NSTR2\");\n break;\n case 22:\n return \"NODE_DESCR\";\n break;\n case 23:\n this.popState();\n break;\n case 24:\n yy.getLogger().trace(\"Starting NSTR\");\n this.begin(\"NSTR\");\n break;\n case 25:\n yy.getLogger().trace(\"description:\", yy_.yytext);\n return \"NODE_DESCR\";\n break;\n case 26:\n this.popState();\n break;\n case 27:\n this.popState();\n yy.getLogger().trace(\"node end ))\");\n return \"NODE_DEND\";\n break;\n case 28:\n this.popState();\n yy.getLogger().trace(\"node end )\");\n return \"NODE_DEND\";\n break;\n case 29:\n this.popState();\n yy.getLogger().trace(\"node end ...\", yy_.yytext);\n return \"NODE_DEND\";\n break;\n case 30:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 31:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 32:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 33:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 34:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 35:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n break;\n case 36:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 20;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:mindmap\\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\\n)/i, /^(?:::icon\\()/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[^\\)]+)/i, /^(?:\\))/i, /^(?:-\\))/i, /^(?:\\(-)/i, /^(?:\\)\\))/i, /^(?:\\))/i, /^(?:\\(\\()/i, /^(?:\\{\\{)/i, /^(?:\\()/i, /^(?:\\[)/i, /^(?:[\\s]+)/i, /^(?:[^\\(\\[\\n\\)\\{\\}]+)/i, /^(?:$)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[^\"]+)/i, /^(?:[\"])/i, /^(?:[\\)]\\))/i, /^(?:[\\)])/i, /^(?:[\\]])/i, /^(?:\\}\\})/i, /^(?:\\(-)/i, /^(?:-\\))/i, /^(?:\\(\\()/i, /^(?:\\()/i, /^(?:[^\\)\\]\\(\\}]+)/i, /^(?:.+(?!\\(\\())/i],\n conditions: { \"CLASS\": { \"rules\": [3, 4], \"inclusive\": false }, \"ICON\": { \"rules\": [8, 9], \"inclusive\": false }, \"NSTR2\": { \"rules\": [22, 23], \"inclusive\": false }, \"NSTR\": { \"rules\": [25, 26], \"inclusive\": false }, \"NODE\": { \"rules\": [21, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar mindmap_default = parser;\n\n// src/diagrams/mindmap/mindmapDb.ts\nvar nodes = [];\nvar cnt = 0;\nvar elements = {};\nvar clear = /* @__PURE__ */ __name(() => {\n nodes = [];\n cnt = 0;\n elements = {};\n}, \"clear\");\nvar getParent = /* @__PURE__ */ __name(function(level) {\n for (let i = nodes.length - 1; i >= 0; i--) {\n if (nodes[i].level < level) {\n return nodes[i];\n }\n }\n return null;\n}, \"getParent\");\nvar getMindmap = /* @__PURE__ */ __name(() => {\n return nodes.length > 0 ? nodes[0] : null;\n}, \"getMindmap\");\nvar addNode = /* @__PURE__ */ __name((level, id, descr, type) => {\n log.info(\"addNode\", level, id, descr, type);\n const conf = getConfig();\n let padding = conf.mindmap?.padding ?? defaultConfig_default.mindmap.padding;\n switch (type) {\n case nodeType.ROUNDED_RECT:\n case nodeType.RECT:\n case nodeType.HEXAGON:\n padding *= 2;\n }\n const node = {\n id: cnt++,\n nodeId: sanitizeText(id, conf),\n level,\n descr: sanitizeText(descr, conf),\n type,\n children: [],\n width: conf.mindmap?.maxNodeWidth ?? defaultConfig_default.mindmap.maxNodeWidth,\n padding\n };\n const parent = getParent(level);\n if (parent) {\n parent.children.push(node);\n nodes.push(node);\n } else {\n if (nodes.length === 0) {\n nodes.push(node);\n } else {\n throw new Error(\n 'There can be only one root. No parent could be found for (\"' + node.descr + '\")'\n );\n }\n }\n}, \"addNode\");\nvar nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6\n};\nvar getType = /* @__PURE__ */ __name((startStr, endStr) => {\n log.debug(\"In get type\", startStr, endStr);\n switch (startStr) {\n case \"[\":\n return nodeType.RECT;\n case \"(\":\n return endStr === \")\" ? nodeType.ROUNDED_RECT : nodeType.CLOUD;\n case \"((\":\n return nodeType.CIRCLE;\n case \")\":\n return nodeType.CLOUD;\n case \"))\":\n return nodeType.BANG;\n case \"{{\":\n return nodeType.HEXAGON;\n default:\n return nodeType.DEFAULT;\n }\n}, \"getType\");\nvar setElementForId = /* @__PURE__ */ __name((id, element) => {\n elements[id] = element;\n}, \"setElementForId\");\nvar decorateNode = /* @__PURE__ */ __name((decoration) => {\n if (!decoration) {\n return;\n }\n const config = getConfig();\n const node = nodes[nodes.length - 1];\n if (decoration.icon) {\n node.icon = sanitizeText(decoration.icon, config);\n }\n if (decoration.class) {\n node.class = sanitizeText(decoration.class, config);\n }\n}, \"decorateNode\");\nvar type2Str = /* @__PURE__ */ __name((type) => {\n switch (type) {\n case nodeType.DEFAULT:\n return \"no-border\";\n case nodeType.RECT:\n return \"rect\";\n case nodeType.ROUNDED_RECT:\n return \"rounded-rect\";\n case nodeType.CIRCLE:\n return \"circle\";\n case nodeType.CLOUD:\n return \"cloud\";\n case nodeType.BANG:\n return \"bang\";\n case nodeType.HEXAGON:\n return \"hexgon\";\n // cspell: disable-line\n default:\n return \"no-border\";\n }\n}, \"type2Str\");\nvar getLogger = /* @__PURE__ */ __name(() => log, \"getLogger\");\nvar getElementById = /* @__PURE__ */ __name((id) => elements[id], \"getElementById\");\nvar db = {\n clear,\n addNode,\n getMindmap,\n nodeType,\n getType,\n setElementForId,\n decorateNode,\n type2Str,\n getLogger,\n getElementById\n};\nvar mindmapDb_default = db;\n\n// src/diagrams/mindmap/mindmapRenderer.ts\nimport cytoscape from \"cytoscape\";\nimport coseBilkent from \"cytoscape-cose-bilkent\";\nimport { select } from \"d3\";\n\n// src/diagrams/mindmap/svgDraw.ts\nvar MAX_SECTIONS = 12;\nvar defaultBkg = /* @__PURE__ */ __name(function(db2, elem, node, section) {\n const rd = 5;\n elem.append(\"path\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + db2.type2Str(node.type)).attr(\n \"d\",\n `M0 ${node.height - rd} v${-node.height + 2 * rd} q0,-5 5,-5 h${node.width - 2 * rd} q5,0 5,5 v${node.height - rd} H0 Z`\n );\n elem.append(\"line\").attr(\"class\", \"node-line-\" + section).attr(\"x1\", 0).attr(\"y1\", node.height).attr(\"x2\", node.width).attr(\"y2\", node.height);\n}, \"defaultBkg\");\nvar rectBkg = /* @__PURE__ */ __name(function(db2, elem, node) {\n elem.append(\"rect\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + db2.type2Str(node.type)).attr(\"height\", node.height).attr(\"width\", node.width);\n}, \"rectBkg\");\nvar cloudBkg = /* @__PURE__ */ __name(function(db2, elem, node) {\n const w = node.width;\n const h = node.height;\n const r1 = 0.15 * w;\n const r2 = 0.25 * w;\n const r3 = 0.35 * w;\n const r4 = 0.2 * w;\n elem.append(\"path\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + db2.type2Str(node.type)).attr(\n \"d\",\n `M0 0 a${r1},${r1} 0 0,1 ${w * 0.25},${-1 * w * 0.1}\n a${r3},${r3} 1 0,1 ${w * 0.4},${-1 * w * 0.1}\n a${r2},${r2} 1 0,1 ${w * 0.35},${1 * w * 0.2}\n\n a${r1},${r1} 1 0,1 ${w * 0.15},${1 * h * 0.35}\n a${r4},${r4} 1 0,1 ${-1 * w * 0.15},${1 * h * 0.65}\n\n a${r2},${r1} 1 0,1 ${-1 * w * 0.25},${w * 0.15}\n a${r3},${r3} 1 0,1 ${-1 * w * 0.5},${0}\n a${r1},${r1} 1 0,1 ${-1 * w * 0.25},${-1 * w * 0.15}\n\n a${r1},${r1} 1 0,1 ${-1 * w * 0.1},${-1 * h * 0.35}\n a${r4},${r4} 1 0,1 ${w * 0.1},${-1 * h * 0.65}\n\n H0 V0 Z`\n );\n}, \"cloudBkg\");\nvar bangBkg = /* @__PURE__ */ __name(function(db2, elem, node) {\n const w = node.width;\n const h = node.height;\n const r = 0.15 * w;\n elem.append(\"path\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + db2.type2Str(node.type)).attr(\n \"d\",\n `M0 0 a${r},${r} 1 0,0 ${w * 0.25},${-1 * h * 0.1}\n a${r},${r} 1 0,0 ${w * 0.25},${0}\n a${r},${r} 1 0,0 ${w * 0.25},${0}\n a${r},${r} 1 0,0 ${w * 0.25},${1 * h * 0.1}\n\n a${r},${r} 1 0,0 ${w * 0.15},${1 * h * 0.33}\n a${r * 0.8},${r * 0.8} 1 0,0 ${0},${1 * h * 0.34}\n a${r},${r} 1 0,0 ${-1 * w * 0.15},${1 * h * 0.33}\n\n a${r},${r} 1 0,0 ${-1 * w * 0.25},${h * 0.15}\n a${r},${r} 1 0,0 ${-1 * w * 0.25},${0}\n a${r},${r} 1 0,0 ${-1 * w * 0.25},${0}\n a${r},${r} 1 0,0 ${-1 * w * 0.25},${-1 * h * 0.15}\n\n a${r},${r} 1 0,0 ${-1 * w * 0.1},${-1 * h * 0.33}\n a${r * 0.8},${r * 0.8} 1 0,0 ${0},${-1 * h * 0.34}\n a${r},${r} 1 0,0 ${w * 0.1},${-1 * h * 0.33}\n\n H0 V0 Z`\n );\n}, \"bangBkg\");\nvar circleBkg = /* @__PURE__ */ __name(function(db2, elem, node) {\n elem.append(\"circle\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + db2.type2Str(node.type)).attr(\"r\", node.width / 2);\n}, \"circleBkg\");\nfunction insertPolygonShape(parent, w, h, points, node) {\n return parent.insert(\"polygon\", \":first-child\").attr(\n \"points\",\n points.map(function(d) {\n return d.x + \",\" + d.y;\n }).join(\" \")\n ).attr(\"transform\", \"translate(\" + (node.width - w) / 2 + \", \" + h + \")\");\n}\n__name(insertPolygonShape, \"insertPolygonShape\");\nvar hexagonBkg = /* @__PURE__ */ __name(function(_db, elem, node) {\n const h = node.height;\n const f = 4;\n const m = h / f;\n const w = node.width - node.padding + 2 * m;\n const points = [\n { x: m, y: 0 },\n { x: w - m, y: 0 },\n { x: w, y: -h / 2 },\n { x: w - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 }\n ];\n insertPolygonShape(elem, w, h, points, node);\n}, \"hexagonBkg\");\nvar roundedRectBkg = /* @__PURE__ */ __name(function(db2, elem, node) {\n elem.append(\"rect\").attr(\"id\", \"node-\" + node.id).attr(\"class\", \"node-bkg node-\" + db2.type2Str(node.type)).attr(\"height\", node.height).attr(\"rx\", node.padding).attr(\"ry\", node.padding).attr(\"width\", node.width);\n}, \"roundedRectBkg\");\nvar drawNode = /* @__PURE__ */ __name(async function(db2, elem, node, fullSection, conf) {\n const htmlLabels = conf.htmlLabels;\n const section = fullSection % (MAX_SECTIONS - 1);\n const nodeElem = elem.append(\"g\");\n node.section = section;\n let sectionClass = \"section-\" + section;\n if (section < 0) {\n sectionClass += \" section-root\";\n }\n nodeElem.attr(\"class\", (node.class ? node.class + \" \" : \"\") + \"mindmap-node \" + sectionClass);\n const bkgElem = nodeElem.append(\"g\");\n const textElem = nodeElem.append(\"g\");\n const description = node.descr.replace(/(<br\\/*>)/g, \"\\n\");\n await createText(\n textElem,\n description,\n {\n useHtmlLabels: htmlLabels,\n width: node.width,\n classes: \"mindmap-node-label\"\n },\n conf\n );\n if (!htmlLabels) {\n textElem.attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\");\n }\n const bbox = textElem.node().getBBox();\n const [fontSize] = parseFontSize(conf.fontSize);\n node.height = bbox.height + fontSize * 1.1 * 0.5 + node.padding;\n node.width = bbox.width + 2 * node.padding;\n if (node.icon) {\n if (node.type === db2.nodeType.CIRCLE) {\n node.height += 50;\n node.width += 50;\n const icon = nodeElem.append(\"foreignObject\").attr(\"height\", \"50px\").attr(\"width\", node.width).attr(\"style\", \"text-align: center;\");\n icon.append(\"div\").attr(\"class\", \"icon-container\").append(\"i\").attr(\"class\", \"node-icon-\" + section + \" \" + node.icon);\n textElem.attr(\n \"transform\",\n \"translate(\" + node.width / 2 + \", \" + (node.height / 2 - 1.5 * node.padding) + \")\"\n );\n } else {\n node.width += 50;\n const orgHeight = node.height;\n node.height = Math.max(orgHeight, 60);\n const heightDiff = Math.abs(node.height - orgHeight);\n const icon = nodeElem.append(\"foreignObject\").attr(\"width\", \"60px\").attr(\"height\", node.height).attr(\"style\", \"text-align: center;margin-top:\" + heightDiff / 2 + \"px;\");\n icon.append(\"div\").attr(\"class\", \"icon-container\").append(\"i\").attr(\"class\", \"node-icon-\" + section + \" \" + node.icon);\n textElem.attr(\n \"transform\",\n \"translate(\" + (25 + node.width / 2) + \", \" + (heightDiff / 2 + node.padding / 2) + \")\"\n );\n }\n } else {\n if (!htmlLabels) {\n const dx = node.width / 2;\n const dy = node.padding / 2;\n textElem.attr(\"transform\", \"translate(\" + dx + \", \" + dy + \")\");\n } else {\n const dx = (node.width - bbox.width) / 2;\n const dy = (node.height - bbox.height) / 2;\n textElem.attr(\"transform\", \"translate(\" + dx + \", \" + dy + \")\");\n }\n }\n switch (node.type) {\n case db2.nodeType.DEFAULT:\n defaultBkg(db2, bkgElem, node, section);\n break;\n case db2.nodeType.ROUNDED_RECT:\n roundedRectBkg(db2, bkgElem, node, section);\n break;\n case db2.nodeType.RECT:\n rectBkg(db2, bkgElem, node, section);\n break;\n case db2.nodeType.CIRCLE:\n bkgElem.attr(\"transform\", \"translate(\" + node.width / 2 + \", \" + +node.height / 2 + \")\");\n circleBkg(db2, bkgElem, node, section);\n break;\n case db2.nodeType.CLOUD:\n cloudBkg(db2, bkgElem, node, section);\n break;\n case db2.nodeType.BANG:\n bangBkg(db2, bkgElem, node, section);\n break;\n case db2.nodeType.HEXAGON:\n hexagonBkg(db2, bkgElem, node, section);\n break;\n }\n db2.setElementForId(node.id, nodeElem);\n return node.height;\n}, \"drawNode\");\nvar positionNode = /* @__PURE__ */ __name(function(db2, node) {\n const nodeElem = db2.getElementById(node.id);\n const x = node.x || 0;\n const y = node.y || 0;\n nodeElem.attr(\"transform\", \"translate(\" + x + \",\" + y + \")\");\n}, \"positionNode\");\n\n// src/diagrams/mindmap/mindmapRenderer.ts\ncytoscape.use(coseBilkent);\nasync function drawNodes(db2, svg, mindmap, section, conf) {\n await drawNode(db2, svg, mindmap, section, conf);\n if (mindmap.children) {\n await Promise.all(\n mindmap.children.map(\n (child, index) => drawNodes(db2, svg, child, section < 0 ? index : section, conf)\n )\n );\n }\n}\n__name(drawNodes, \"drawNodes\");\nfunction drawEdges(edgesEl, cy) {\n cy.edges().map((edge, id) => {\n const data = edge.data();\n if (edge[0]._private.bodyBounds) {\n const bounds = edge[0]._private.rscratch;\n log.trace(\"Edge: \", id, data);\n edgesEl.insert(\"path\").attr(\n \"d\",\n `M ${bounds.startX},${bounds.startY} L ${bounds.midX},${bounds.midY} L${bounds.endX},${bounds.endY} `\n ).attr(\"class\", \"edge section-edge-\" + data.section + \" edge-depth-\" + data.depth);\n }\n });\n}\n__name(drawEdges, \"drawEdges\");\nfunction addNodes(mindmap, cy, conf, level) {\n cy.add({\n group: \"nodes\",\n data: {\n id: mindmap.id.toString(),\n labelText: mindmap.descr,\n height: mindmap.height,\n width: mindmap.width,\n level,\n nodeId: mindmap.id,\n padding: mindmap.padding,\n type: mindmap.type\n },\n position: {\n x: mindmap.x,\n y: mindmap.y\n }\n });\n if (mindmap.children) {\n mindmap.children.forEach((child) => {\n addNodes(child, cy, conf, level + 1);\n cy.add({\n group: \"edges\",\n data: {\n id: `${mindmap.id}_${child.id}`,\n source: mindmap.id,\n target: child.id,\n depth: level,\n section: child.section\n }\n });\n });\n }\n}\n__name(addNodes, \"addNodes\");\nfunction layoutMindmap(node, conf) {\n return new Promise((resolve) => {\n const renderEl = select(\"body\").append(\"div\").attr(\"id\", \"cy\").attr(\"style\", \"display:none\");\n const cy = cytoscape({\n container: document.getElementById(\"cy\"),\n // container to render in\n style: [\n {\n selector: \"edge\",\n style: {\n \"curve-style\": \"bezier\"\n }\n }\n ]\n });\n renderEl.remove();\n addNodes(node, cy, conf, 0);\n cy.nodes().forEach(function(n) {\n n.layoutDimensions = () => {\n const data = n.data();\n return { w: data.width, h: data.height };\n };\n });\n cy.layout({\n name: \"cose-bilkent\",\n // @ts-ignore Types for cose-bilkent are not correct?\n quality: \"proof\",\n styleEnabled: false,\n animate: false\n }).run();\n cy.ready((e) => {\n log.info(\"Ready\", e);\n resolve(cy);\n });\n });\n}\n__name(layoutMindmap, \"layoutMindmap\");\nfunction positionNodes(db2, cy) {\n cy.nodes().map((node, id) => {\n const data = node.data();\n data.x = node.position().x;\n data.y = node.position().y;\n positionNode(db2, data);\n const el = db2.getElementById(data.nodeId);\n log.info(\"Id:\", id, \"Position: (\", node.position().x, \", \", node.position().y, \")\", data);\n el.attr(\n \"transform\",\n `translate(${node.position().x - data.width / 2}, ${node.position().y - data.height / 2})`\n );\n el.attr(\"attr\", `apa-${id})`);\n });\n}\n__name(positionNodes, \"positionNodes\");\nvar draw = /* @__PURE__ */ __name(async (text, id, _version, diagObj) => {\n log.debug(\"Rendering mindmap diagram\\n\" + text);\n const db2 = diagObj.db;\n const mm = db2.getMindmap();\n if (!mm) {\n return;\n }\n const conf = getConfig();\n conf.htmlLabels = false;\n const svg = selectSvgElement(id);\n const edgesElem = svg.append(\"g\");\n edgesElem.attr(\"class\", \"mindmap-edges\");\n const nodesElem = svg.append(\"g\");\n nodesElem.attr(\"class\", \"mindmap-nodes\");\n await drawNodes(db2, nodesElem, mm, -1, conf);\n const cy = await layoutMindmap(mm, conf);\n drawEdges(edgesElem, cy);\n positionNodes(db2, cy);\n setupGraphViewbox(\n void 0,\n svg,\n conf.mindmap?.padding ?? defaultConfig_default.mindmap.padding,\n conf.mindmap?.useMaxWidth ?? defaultConfig_default.mindmap.useMaxWidth\n );\n}, \"draw\");\nvar mindmapRenderer_default = {\n draw\n};\n\n// src/diagrams/mindmap/styles.ts\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} polygon, .section-${i - 1} path {\n fill: ${options[\"cScale\" + i]};\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `;\n }\n return sections;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/mindmap/mindmap-definition.ts\nvar diagram = {\n db: mindmapDb_default,\n renderer: mindmapRenderer_default,\n parser: mindmap_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "import {\n JSON_SCHEMA,\n load\n} from \"./chunk-6JRP7KZX.mjs\";\nimport {\n insertCluster,\n insertNode,\n positionNode\n} from \"./chunk-HRU6DDCH.mjs\";\nimport \"./chunk-K557N5IZ.mjs\";\nimport \"./chunk-H2D2JQ3I.mjs\";\nimport \"./chunk-C3MQ5ANM.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n defaultConfig_default,\n getConfig2 as getConfig,\n log,\n sanitizeText,\n setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/kanban/parser/kanban.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 13], $V2 = [1, 12], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 20], $V6 = [1, 19], $V7 = [6, 7, 8], $V8 = [1, 26], $V9 = [1, 24], $Va = [1, 25], $Vb = [6, 7, 11], $Vc = [1, 31], $Vd = [6, 7, 11, 24], $Ve = [1, 6, 13, 16, 17, 20, 23], $Vf = [1, 35], $Vg = [1, 36], $Vh = [1, 6, 7, 11, 13, 16, 17, 20, 23], $Vi = [1, 38];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mindMap\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"KANBAN\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"node\": 14, \"shapeData\": 15, \"ICON\": 16, \"CLASS\": 17, \"nodeWithId\": 18, \"nodeWithoutId\": 19, \"NODE_DSTART\": 20, \"NODE_DESCR\": 21, \"NODE_DEND\": 22, \"NODE_ID\": 23, \"SHAPE_DATA\": 24, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"KANBAN\", 11: \"EOF\", 13: \"SPACELIST\", 16: \"ICON\", 17: \"CLASS\", 20: \"NODE_DSTART\", 21: \"NODE_DESCR\", 22: \"NODE_DEND\", 23: \"NODE_ID\", 24: \"SHAPE_DATA\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 3], [12, 2], [12, 2], [12, 2], [12, 1], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [19, 3], [18, 1], [18, 4], [15, 2], [15, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 8:\n yy.getLogger().trace(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().trace(\"Stop EOF \");\n break;\n case 11:\n yy.getLogger().trace(\"Stop NL2 \");\n break;\n case 12:\n yy.getLogger().trace(\"Stop EOF2 \");\n break;\n case 15:\n yy.getLogger().info(\"Node: \", $$[$0 - 1].id);\n yy.addNode($$[$0 - 2].length, $$[$0 - 1].id, $$[$0 - 1].descr, $$[$0 - 1].type, $$[$0]);\n break;\n case 16:\n yy.getLogger().info(\"Node: \", $$[$0].id);\n yy.addNode($$[$0 - 1].length, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 17:\n yy.getLogger().trace(\"Icon: \", $$[$0]);\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 18:\n case 23:\n yy.decorateNode({ class: $$[$0] });\n break;\n case 19:\n yy.getLogger().trace(\"SPACELIST\");\n break;\n case 20:\n yy.getLogger().trace(\"Node: \", $$[$0 - 1].id);\n yy.addNode(0, $$[$0 - 1].id, $$[$0 - 1].descr, $$[$0 - 1].type, $$[$0]);\n break;\n case 21:\n yy.getLogger().trace(\"Node: \", $$[$0].id);\n yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 22:\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 27:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 2]);\n this.$ = { id: $$[$0 - 1], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 28:\n this.$ = { id: $$[$0], descr: $$[$0], type: 0 };\n break;\n case 29:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 3]);\n this.$ = { id: $$[$0 - 3], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 30:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 31:\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, o($V7, [2, 3]), { 1: [2, 2] }, o($V7, [2, 4]), o($V7, [2, 5]), { 1: [2, 6], 6: $V1, 12: 21, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, { 6: $V1, 9: 22, 12: 11, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, { 6: $V8, 7: $V9, 10: 23, 11: $Va }, o($Vb, [2, 24], { 18: 17, 19: 18, 14: 27, 16: [1, 28], 17: [1, 29], 20: $V5, 23: $V6 }), o($Vb, [2, 19]), o($Vb, [2, 21], { 15: 30, 24: $Vc }), o($Vb, [2, 22]), o($Vb, [2, 23]), o($Vd, [2, 25]), o($Vd, [2, 26]), o($Vd, [2, 28], { 20: [1, 32] }), { 21: [1, 33] }, { 6: $V8, 7: $V9, 10: 34, 11: $Va }, { 1: [2, 7], 6: $V1, 12: 21, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, o($Ve, [2, 14], { 7: $Vf, 11: $Vg }), o($Vh, [2, 8]), o($Vh, [2, 9]), o($Vh, [2, 10]), o($Vb, [2, 16], { 15: 37, 24: $Vc }), o($Vb, [2, 17]), o($Vb, [2, 18]), o($Vb, [2, 20], { 24: $Vi }), o($Vd, [2, 31]), { 21: [1, 39] }, { 22: [1, 40] }, o($Ve, [2, 13], { 7: $Vf, 11: $Vg }), o($Vh, [2, 11]), o($Vh, [2, 12]), o($Vb, [2, 15], { 24: $Vi }), o($Vd, [2, 30]), { 22: [1, 41] }, o($Vd, [2, 27]), o($Vd, [2, 29])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"shapeData\");\n yy_.yytext = \"\";\n return 24;\n break;\n case 1:\n this.pushState(\"shapeDataStr\");\n return 24;\n break;\n case 2:\n this.popState();\n return 24;\n break;\n case 3:\n const re = /\\n\\s*/g;\n yy_.yytext = yy_.yytext.replace(re, \"<br/>\");\n return 24;\n break;\n case 4:\n return 24;\n break;\n case 5:\n this.popState();\n break;\n case 6:\n yy.getLogger().trace(\"Found comment\", yy_.yytext);\n return 6;\n break;\n case 7:\n return 8;\n break;\n case 8:\n this.begin(\"CLASS\");\n break;\n case 9:\n this.popState();\n return 17;\n break;\n case 10:\n this.popState();\n break;\n case 11:\n yy.getLogger().trace(\"Begin icon\");\n this.begin(\"ICON\");\n break;\n case 12:\n yy.getLogger().trace(\"SPACELINE\");\n return 6;\n break;\n case 13:\n return 7;\n break;\n case 14:\n return 16;\n break;\n case 15:\n yy.getLogger().trace(\"end icon\");\n this.popState();\n break;\n case 16:\n yy.getLogger().trace(\"Exploding node\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 17:\n yy.getLogger().trace(\"Cloud\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 18:\n yy.getLogger().trace(\"Explosion Bang\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 19:\n yy.getLogger().trace(\"Cloud Bang\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 20:\n this.begin(\"NODE\");\n return 20;\n break;\n case 21:\n this.begin(\"NODE\");\n return 20;\n break;\n case 22:\n this.begin(\"NODE\");\n return 20;\n break;\n case 23:\n this.begin(\"NODE\");\n return 20;\n break;\n case 24:\n return 13;\n break;\n case 25:\n return 23;\n break;\n case 26:\n return 11;\n break;\n case 27:\n this.begin(\"NSTR2\");\n break;\n case 28:\n return \"NODE_DESCR\";\n break;\n case 29:\n this.popState();\n break;\n case 30:\n yy.getLogger().trace(\"Starting NSTR\");\n this.begin(\"NSTR\");\n break;\n case 31:\n yy.getLogger().trace(\"description:\", yy_.yytext);\n return \"NODE_DESCR\";\n break;\n case 32:\n this.popState();\n break;\n case 33:\n this.popState();\n yy.getLogger().trace(\"node end ))\");\n return \"NODE_DEND\";\n break;\n case 34:\n this.popState();\n yy.getLogger().trace(\"node end )\");\n return \"NODE_DEND\";\n break;\n case 35:\n this.popState();\n yy.getLogger().trace(\"node end ...\", yy_.yytext);\n return \"NODE_DEND\";\n break;\n case 36:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 37:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 38:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 39:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 40:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 41:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 21;\n break;\n case 42:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 21;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:@\\{)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\\\"]+)/i, /^(?:[^}^\"]+)/i, /^(?:\\})/i, /^(?:\\s*%%.*)/i, /^(?:kanban\\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\\n)/i, /^(?:::icon\\()/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[^\\)]+)/i, /^(?:\\))/i, /^(?:-\\))/i, /^(?:\\(-)/i, /^(?:\\)\\))/i, /^(?:\\))/i, /^(?:\\(\\()/i, /^(?:\\{\\{)/i, /^(?:\\()/i, /^(?:\\[)/i, /^(?:[\\s]+)/i, /^(?:[^\\(\\[\\n\\)\\{\\}@]+)/i, /^(?:$)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[^\"]+)/i, /^(?:[\"])/i, /^(?:[\\)]\\))/i, /^(?:[\\)])/i, /^(?:[\\]])/i, /^(?:\\}\\})/i, /^(?:\\(-)/i, /^(?:-\\))/i, /^(?:\\(\\()/i, /^(?:\\()/i, /^(?:[^\\)\\]\\(\\}]+)/i, /^(?:.+(?!\\(\\())/i],\n conditions: { \"shapeDataEndBracket\": { \"rules\": [], \"inclusive\": false }, \"shapeDataStr\": { \"rules\": [2, 3], \"inclusive\": false }, \"shapeData\": { \"rules\": [1, 4, 5], \"inclusive\": false }, \"CLASS\": { \"rules\": [9, 10], \"inclusive\": false }, \"ICON\": { \"rules\": [14, 15], \"inclusive\": false }, \"NSTR2\": { \"rules\": [28, 29], \"inclusive\": false }, \"NSTR\": { \"rules\": [31, 32], \"inclusive\": false }, \"NODE\": { \"rules\": [27, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 6, 7, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar kanban_default = parser;\n\n// src/diagrams/kanban/kanbanDb.ts\nvar nodes = [];\nvar sections = [];\nvar cnt = 0;\nvar elements = {};\nvar clear = /* @__PURE__ */ __name(() => {\n nodes = [];\n sections = [];\n cnt = 0;\n elements = {};\n}, \"clear\");\nvar getSection = /* @__PURE__ */ __name((level) => {\n if (nodes.length === 0) {\n return null;\n }\n const sectionLevel = nodes[0].level;\n let lastSection = null;\n for (let i = nodes.length - 1; i >= 0; i--) {\n if (nodes[i].level === sectionLevel && !lastSection) {\n lastSection = nodes[i];\n }\n if (nodes[i].level < sectionLevel) {\n throw new Error('Items without section detected, found section (\"' + nodes[i].label + '\")');\n }\n }\n if (level === lastSection?.level) {\n return null;\n }\n return lastSection;\n}, \"getSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getData = /* @__PURE__ */ __name(function() {\n const edges = [];\n const _nodes = [];\n const sections2 = getSections();\n const conf = getConfig();\n for (const section of sections2) {\n const node = {\n id: section.id,\n label: sanitizeText(section.label ?? \"\", conf),\n isGroup: true,\n ticket: section.ticket,\n shape: \"kanbanSection\",\n level: section.level,\n look: conf.look\n };\n _nodes.push(node);\n const children = nodes.filter((n) => n.parentId === section.id);\n for (const item of children) {\n const childNode = {\n id: item.id,\n parentId: section.id,\n label: sanitizeText(item.label ?? \"\", conf),\n isGroup: false,\n ticket: item?.ticket,\n priority: item?.priority,\n assigned: item?.assigned,\n icon: item?.icon,\n shape: \"kanbanItem\",\n level: item.level,\n rx: 5,\n ry: 5,\n cssStyles: [\"text-align: left\"]\n };\n _nodes.push(childNode);\n }\n }\n return { nodes: _nodes, edges, other: {}, config: getConfig() };\n}, \"getData\");\nvar addNode = /* @__PURE__ */ __name((level, id, descr, type, shapeData) => {\n const conf = getConfig();\n let padding = conf.mindmap?.padding ?? defaultConfig_default.mindmap.padding;\n switch (type) {\n case nodeType.ROUNDED_RECT:\n case nodeType.RECT:\n case nodeType.HEXAGON:\n padding *= 2;\n }\n const node = {\n id: sanitizeText(id, conf) || \"kbn\" + cnt++,\n level,\n label: sanitizeText(descr, conf),\n width: conf.mindmap?.maxNodeWidth ?? defaultConfig_default.mindmap.maxNodeWidth,\n padding,\n isGroup: false\n };\n if (shapeData !== void 0) {\n let yamlData;\n if (!shapeData.includes(\"\\n\")) {\n yamlData = \"{\\n\" + shapeData + \"\\n}\";\n } else {\n yamlData = shapeData + \"\\n\";\n }\n const doc = load(yamlData, { schema: JSON_SCHEMA });\n if (doc.shape && (doc.shape !== doc.shape.toLowerCase() || doc.shape.includes(\"_\"))) {\n throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);\n }\n if (doc?.shape && doc.shape === \"kanbanItem\") {\n node.shape = doc?.shape;\n }\n if (doc?.label) {\n node.label = doc?.label;\n }\n if (doc?.icon) {\n node.icon = doc?.icon.toString();\n }\n if (doc?.assigned) {\n node.assigned = doc?.assigned.toString();\n }\n if (doc?.ticket) {\n node.ticket = doc?.ticket.toString();\n }\n if (doc?.priority) {\n node.priority = doc?.priority;\n }\n }\n const section = getSection(level);\n if (section) {\n node.parentId = section.id || \"kbn\" + cnt++;\n } else {\n sections.push(node);\n }\n nodes.push(node);\n}, \"addNode\");\nvar nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6\n};\nvar getType = /* @__PURE__ */ __name((startStr, endStr) => {\n log.debug(\"In get type\", startStr, endStr);\n switch (startStr) {\n case \"[\":\n return nodeType.RECT;\n case \"(\":\n return endStr === \")\" ? nodeType.ROUNDED_RECT : nodeType.CLOUD;\n case \"((\":\n return nodeType.CIRCLE;\n case \")\":\n return nodeType.CLOUD;\n case \"))\":\n return nodeType.BANG;\n case \"{{\":\n return nodeType.HEXAGON;\n default:\n return nodeType.DEFAULT;\n }\n}, \"getType\");\nvar setElementForId = /* @__PURE__ */ __name((id, element) => {\n elements[id] = element;\n}, \"setElementForId\");\nvar decorateNode = /* @__PURE__ */ __name((decoration) => {\n if (!decoration) {\n return;\n }\n const config = getConfig();\n const node = nodes[nodes.length - 1];\n if (decoration.icon) {\n node.icon = sanitizeText(decoration.icon, config);\n }\n if (decoration.class) {\n node.cssClasses = sanitizeText(decoration.class, config);\n }\n}, \"decorateNode\");\nvar type2Str = /* @__PURE__ */ __name((type) => {\n switch (type) {\n case nodeType.DEFAULT:\n return \"no-border\";\n case nodeType.RECT:\n return \"rect\";\n case nodeType.ROUNDED_RECT:\n return \"rounded-rect\";\n case nodeType.CIRCLE:\n return \"circle\";\n case nodeType.CLOUD:\n return \"cloud\";\n case nodeType.BANG:\n return \"bang\";\n case nodeType.HEXAGON:\n return \"hexgon\";\n // cspell: disable-line\n default:\n return \"no-border\";\n }\n}, \"type2Str\");\nvar getLogger = /* @__PURE__ */ __name(() => log, \"getLogger\");\nvar getElementById = /* @__PURE__ */ __name((id) => elements[id], \"getElementById\");\nvar db = {\n clear,\n addNode,\n getSections,\n getData,\n nodeType,\n getType,\n setElementForId,\n decorateNode,\n type2Str,\n getLogger,\n getElementById\n};\nvar kanbanDb_default = db;\n\n// src/diagrams/kanban/kanbanRenderer.ts\nvar draw = /* @__PURE__ */ __name(async (text, id, _version, diagObj) => {\n log.debug(\"Rendering kanban diagram\\n\" + text);\n const db2 = diagObj.db;\n const data4Layout = db2.getData();\n const conf = getConfig();\n conf.htmlLabels = false;\n const svg = selectSvgElement(id);\n const sectionsElem = svg.append(\"g\");\n sectionsElem.attr(\"class\", \"sections\");\n const nodesElem = svg.append(\"g\");\n nodesElem.attr(\"class\", \"items\");\n const sections2 = data4Layout.nodes.filter(\n // TODO: TypeScript 5.5 will infer this predicate automatically\n (node) => node.isGroup\n );\n let cnt2 = 0;\n const padding = 10;\n const sectionObjects = [];\n let maxLabelHeight = 25;\n for (const section of sections2) {\n const WIDTH = conf?.kanban?.sectionWidth || 200;\n cnt2 = cnt2 + 1;\n section.x = WIDTH * cnt2 + (cnt2 - 1) * padding / 2;\n section.width = WIDTH;\n section.y = 0;\n section.height = WIDTH * 3;\n section.rx = 5;\n section.ry = 5;\n section.cssClasses = section.cssClasses + \" section-\" + cnt2;\n const sectionObj = await insertCluster(sectionsElem, section);\n maxLabelHeight = Math.max(maxLabelHeight, sectionObj?.labelBBox?.height);\n sectionObjects.push(sectionObj);\n }\n let i = 0;\n for (const section of sections2) {\n const sectionObj = sectionObjects[i];\n i = i + 1;\n const WIDTH = conf?.kanban?.sectionWidth || 200;\n const top = -WIDTH * 3 / 2 + maxLabelHeight;\n let y = top;\n const sectionItems = data4Layout.nodes.filter((node) => node.parentId === section.id);\n for (const item of sectionItems) {\n if (item.isGroup) {\n throw new Error(\"Groups within groups are not allowed in Kanban diagrams\");\n }\n item.x = section.x;\n item.width = WIDTH - 1.5 * padding;\n const nodeEl = await insertNode(nodesElem, item, { config: conf });\n const bbox = nodeEl.node().getBBox();\n item.y = y + bbox.height / 2;\n await positionNode(item);\n y = item.y + bbox.height / 2 + padding / 2;\n }\n const rect = sectionObj.cluster.select(\"rect\");\n const height = Math.max(y - top + 3 * padding, 50) + (maxLabelHeight - 25);\n rect.attr(\"height\", height);\n }\n setupGraphViewbox(\n void 0,\n svg,\n conf.mindmap?.padding ?? defaultConfig_default.kanban.padding,\n conf.mindmap?.useMaxWidth ?? defaultConfig_default.kanban.useMaxWidth\n );\n}, \"draw\");\nvar kanbanRenderer_default = {\n draw\n};\n\n// src/diagrams/kanban/styles.ts\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n const adjuster = /* @__PURE__ */ __name((color, level) => options.darkMode ? darken(color, level) : lighten(color, level), \"adjuster\");\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} polygon, .section-${i - 1} path {\n fill: ${adjuster(options[\"cScale\" + i], 10)};\n stroke: ${adjuster(options[\"cScale\" + i], 10)};\n\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n text-decoration: underline;\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${options.textColor};\n fill: ${options.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/kanban/kanban-definition.ts\nvar diagram = {\n db: kanbanDb_default,\n renderer: kanbanRenderer_default,\n parser: kanban_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n", + "export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n", + "export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n", + "import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n", + "export default function constant(x) {\n return function() {\n return x;\n };\n}\n", + "import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n", + "var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n", + "export default function(x) {\n return function constant() {\n return x;\n };\n}\n", + "export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n", + "export var slice = Array.prototype.slice;\n", + "import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n", + "import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n", + "import {\n __name,\n clear,\n common_default,\n defaultConfig2 as defaultConfig,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/sankey/parser/sankey.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 9], $V1 = [1, 10], $V2 = [1, 5, 10, 12];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"SANKEY\": 4, \"NEWLINE\": 5, \"csv\": 6, \"opt_eof\": 7, \"record\": 8, \"csv_tail\": 9, \"EOF\": 10, \"field[source]\": 11, \"COMMA\": 12, \"field[target]\": 13, \"field[value]\": 14, \"field\": 15, \"escaped\": 16, \"non_escaped\": 17, \"DQUOTE\": 18, \"ESCAPED_TEXT\": 19, \"NON_ESCAPED_TEXT\": 20, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SANKEY\", 5: \"NEWLINE\", 10: \"EOF\", 11: \"field[source]\", 12: \"COMMA\", 13: \"field[target]\", 14: \"field[value]\", 18: \"DQUOTE\", 19: \"ESCAPED_TEXT\", 20: \"NON_ESCAPED_TEXT\" },\n productions_: [0, [3, 4], [6, 2], [9, 2], [9, 0], [7, 1], [7, 0], [8, 5], [15, 1], [15, 1], [16, 3], [17, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 7:\n const source = yy.findOrCreateNode($$[$0 - 4].trim().replaceAll('\"\"', '\"'));\n const target = yy.findOrCreateNode($$[$0 - 2].trim().replaceAll('\"\"', '\"'));\n const value = parseFloat($$[$0].trim());\n yy.addLink(source, target, value);\n break;\n case 8:\n case 9:\n case 11:\n this.$ = $$[$0];\n break;\n case 10:\n this.$ = $$[$0 - 1];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, { 5: [1, 3] }, { 6: 4, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 1: [2, 6], 7: 11, 10: [1, 12] }, o($V1, [2, 4], { 9: 13, 5: [1, 14] }), { 12: [1, 15] }, o($V2, [2, 8]), o($V2, [2, 9]), { 19: [1, 16] }, o($V2, [2, 11]), { 1: [2, 1] }, { 1: [2, 5] }, o($V1, [2, 2]), { 6: 17, 8: 5, 15: 6, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 15: 18, 16: 7, 17: 8, 18: $V0, 20: $V1 }, { 18: [1, 19] }, o($V1, [2, 3]), { 12: [1, 20] }, o($V2, [2, 10]), { 15: 21, 16: 7, 17: 8, 18: $V0, 20: $V1 }, o([1, 5, 10], [2, 7])],\n defaultActions: { 11: [2, 1], 12: [2, 5] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"csv\");\n return 4;\n break;\n case 1:\n return 10;\n break;\n case 2:\n return 5;\n break;\n case 3:\n return 12;\n break;\n case 4:\n this.pushState(\"escaped_text\");\n return 18;\n break;\n case 5:\n return 20;\n break;\n case 6:\n this.popState(\"escaped_text\");\n return 18;\n break;\n case 7:\n return 19;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:sankey-beta\\b)/i, /^(?:$)/i, /^(?:((\\u000D\\u000A)|(\\u000A)))/i, /^(?:(\\u002C))/i, /^(?:(\\u0022))/i, /^(?:([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])*)/i, /^(?:(\\u0022)(?!(\\u0022)))/i, /^(?:(([\\u0020-\\u0021\\u0023-\\u002B\\u002D-\\u007E])|(\\u002C)|(\\u000D)|(\\u000A)|(\\u0022)(\\u0022))*)/i],\n conditions: { \"csv\": { \"rules\": [1, 2, 3, 4, 5, 6, 7], \"inclusive\": false }, \"escaped_text\": { \"rules\": [6, 7], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar sankey_default = parser;\n\n// src/diagrams/sankey/sankeyDB.ts\nvar links = [];\nvar nodes = [];\nvar nodesMap = /* @__PURE__ */ new Map();\nvar clear2 = /* @__PURE__ */ __name(() => {\n links = [];\n nodes = [];\n nodesMap = /* @__PURE__ */ new Map();\n clear();\n}, \"clear\");\nvar SankeyLink = class {\n constructor(source, target, value = 0) {\n this.source = source;\n this.target = target;\n this.value = value;\n }\n static {\n __name(this, \"SankeyLink\");\n }\n};\nvar addLink = /* @__PURE__ */ __name((source, target, value) => {\n links.push(new SankeyLink(source, target, value));\n}, \"addLink\");\nvar SankeyNode = class {\n constructor(ID) {\n this.ID = ID;\n }\n static {\n __name(this, \"SankeyNode\");\n }\n};\nvar findOrCreateNode = /* @__PURE__ */ __name((ID) => {\n ID = common_default.sanitizeText(ID, getConfig());\n let node = nodesMap.get(ID);\n if (node === void 0) {\n node = new SankeyNode(ID);\n nodesMap.set(ID, node);\n nodes.push(node);\n }\n return node;\n}, \"findOrCreateNode\");\nvar getNodes = /* @__PURE__ */ __name(() => nodes, \"getNodes\");\nvar getLinks = /* @__PURE__ */ __name(() => links, \"getLinks\");\nvar getGraph = /* @__PURE__ */ __name(() => ({\n nodes: nodes.map((node) => ({ id: node.ID })),\n links: links.map((link) => ({\n source: link.source.ID,\n target: link.target.ID,\n value: link.value\n }))\n}), \"getGraph\");\nvar sankeyDB_default = {\n nodesMap,\n getConfig: /* @__PURE__ */ __name(() => getConfig().sankey, \"getConfig\"),\n getNodes,\n getLinks,\n getGraph,\n addLink,\n findOrCreateNode,\n getAccTitle,\n setAccTitle,\n getAccDescription,\n setAccDescription,\n getDiagramTitle,\n setDiagramTitle,\n clear: clear2\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nimport {\n select as d3select,\n scaleOrdinal as d3scaleOrdinal,\n schemeTableau10 as d3schemeTableau10\n} from \"d3\";\nimport {\n sankey as d3Sankey,\n sankeyLinkHorizontal as d3SankeyLinkHorizontal,\n sankeyLeft as d3SankeyLeft,\n sankeyRight as d3SankeyRight,\n sankeyCenter as d3SankeyCenter,\n sankeyJustify as d3SankeyJustify\n} from \"d3-sankey\";\n\n// src/rendering-util/uid.ts\nvar Uid = class _Uid {\n static {\n __name(this, \"Uid\");\n }\n static {\n this.count = 0;\n }\n static next(name) {\n return new _Uid(name + ++_Uid.count);\n }\n constructor(id) {\n this.id = id;\n this.href = `#${id}`;\n }\n toString() {\n return \"url(\" + this.href + \")\";\n }\n};\n\n// src/diagrams/sankey/sankeyRenderer.ts\nvar alignmentsMap = {\n left: d3SankeyLeft,\n right: d3SankeyRight,\n center: d3SankeyCenter,\n justify: d3SankeyJustify\n};\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n const { securityLevel, sankey: conf } = getConfig();\n const defaultSankeyConfig = defaultConfig.sankey;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n const width = conf?.width ?? defaultSankeyConfig.width;\n const height = conf?.height ?? defaultSankeyConfig.width;\n const useMaxWidth = conf?.useMaxWidth ?? defaultSankeyConfig.useMaxWidth;\n const nodeAlignment = conf?.nodeAlignment ?? defaultSankeyConfig.nodeAlignment;\n const prefix = conf?.prefix ?? defaultSankeyConfig.prefix;\n const suffix = conf?.suffix ?? defaultSankeyConfig.suffix;\n const showValues = conf?.showValues ?? defaultSankeyConfig.showValues;\n const graph = diagObj.db.getGraph();\n const nodeAlign = alignmentsMap[nodeAlignment];\n const nodeWidth = 10;\n const sankey = d3Sankey().nodeId((d) => d.id).nodeWidth(nodeWidth).nodePadding(10 + (showValues ? 15 : 0)).nodeAlign(nodeAlign).extent([\n [0, 0],\n [width, height]\n ]);\n sankey(graph);\n const colorScheme = d3scaleOrdinal(d3schemeTableau10);\n svg.append(\"g\").attr(\"class\", \"nodes\").selectAll(\".node\").data(graph.nodes).join(\"g\").attr(\"class\", \"node\").attr(\"id\", (d) => (d.uid = Uid.next(\"node-\")).id).attr(\"transform\", function(d) {\n return \"translate(\" + d.x0 + \",\" + d.y0 + \")\";\n }).attr(\"x\", (d) => d.x0).attr(\"y\", (d) => d.y0).append(\"rect\").attr(\"height\", (d) => {\n return d.y1 - d.y0;\n }).attr(\"width\", (d) => d.x1 - d.x0).attr(\"fill\", (d) => colorScheme(d.id));\n const getText = /* @__PURE__ */ __name(({ id: id2, value }) => {\n if (!showValues) {\n return id2;\n }\n return `${id2}\n${prefix}${Math.round(value * 100) / 100}${suffix}`;\n }, \"getText\");\n svg.append(\"g\").attr(\"class\", \"node-labels\").attr(\"font-size\", 14).selectAll(\"text\").data(graph.nodes).join(\"text\").attr(\"x\", (d) => d.x0 < width / 2 ? d.x1 + 6 : d.x0 - 6).attr(\"y\", (d) => (d.y1 + d.y0) / 2).attr(\"dy\", `${showValues ? \"0\" : \"0.35\"}em`).attr(\"text-anchor\", (d) => d.x0 < width / 2 ? \"start\" : \"end\").text(getText);\n const link = svg.append(\"g\").attr(\"class\", \"links\").attr(\"fill\", \"none\").attr(\"stroke-opacity\", 0.5).selectAll(\".link\").data(graph.links).join(\"g\").attr(\"class\", \"link\").style(\"mix-blend-mode\", \"multiply\");\n const linkColor = conf?.linkColor ?? \"gradient\";\n if (linkColor === \"gradient\") {\n const gradient = link.append(\"linearGradient\").attr(\"id\", (d) => (d.uid = Uid.next(\"linearGradient-\")).id).attr(\"gradientUnits\", \"userSpaceOnUse\").attr(\"x1\", (d) => d.source.x1).attr(\"x2\", (d) => d.target.x0);\n gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", (d) => colorScheme(d.source.id));\n gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", (d) => colorScheme(d.target.id));\n }\n let coloring;\n switch (linkColor) {\n case \"gradient\":\n coloring = /* @__PURE__ */ __name((d) => d.uid, \"coloring\");\n break;\n case \"source\":\n coloring = /* @__PURE__ */ __name((d) => colorScheme(d.source.id), \"coloring\");\n break;\n case \"target\":\n coloring = /* @__PURE__ */ __name((d) => colorScheme(d.target.id), \"coloring\");\n break;\n default:\n coloring = linkColor;\n }\n link.append(\"path\").attr(\"d\", d3SankeyLinkHorizontal()).attr(\"stroke\", coloring).attr(\"stroke-width\", (d) => Math.max(1, d.width));\n setupGraphViewbox(void 0, svg, 0, useMaxWidth);\n}, \"draw\");\nvar sankeyRenderer_default = {\n draw\n};\n\n// src/diagrams/sankey/sankeyUtils.ts\nvar prepareTextForParsing = /* @__PURE__ */ __name((text) => {\n const textToParse = text.replaceAll(/^[^\\S\\n\\r]+|[^\\S\\n\\r]+$/g, \"\").replaceAll(/([\\n\\r])+/g, \"\\n\").trim();\n return textToParse;\n}, \"prepareTextForParsing\");\n\n// src/diagrams/sankey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n }`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/sankey/sankeyDiagram.ts\nvar originalParse = sankey_default.parse.bind(sankey_default);\nsankey_default.parse = (text) => originalParse(prepareTextForParsing(text));\nvar diagram = {\n styles: styles_default,\n parser: sankey_default,\n db: sankeyDB_default,\n renderer: sankeyRenderer_default\n};\nexport {\n diagram\n};\n", + "import {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/packet/db.ts\nvar defaultPacketData = {\n packet: []\n};\nvar data = structuredClone(defaultPacketData);\nvar DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_PACKET_CONFIG,\n ...getConfig().packet\n });\n if (config.showBits) {\n config.paddingY += 10;\n }\n return config;\n}, \"getConfig\");\nvar getPacket = /* @__PURE__ */ __name(() => data.packet, \"getPacket\");\nvar pushWord = /* @__PURE__ */ __name((word) => {\n if (word.length > 0) {\n data.packet.push(word);\n }\n}, \"pushWord\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultPacketData);\n}, \"clear\");\nvar db = {\n pushWord,\n getPacket,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/packet/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar maxPacketSize = 1e4;\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n let lastByte = -1;\n let word = [];\n let row = 1;\n const { bitsPerRow } = db.getConfig();\n for (let { start, end, label } of ast.blocks) {\n if (end && end < start) {\n throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);\n }\n if (start !== lastByte + 1) {\n throw new Error(\n `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastByte + 1}.`\n );\n }\n lastByte = end ?? start;\n log.debug(`Packet block ${start} - ${lastByte} with label ${label}`);\n while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {\n const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow);\n word.push(block);\n if (block.end + 1 === row * bitsPerRow) {\n db.pushWord(word);\n word = [];\n row++;\n }\n if (!nextBlock) {\n break;\n }\n ({ start, end, label } = nextBlock);\n }\n }\n db.pushWord(word);\n}, \"populate\");\nvar getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {\n if (block.end === void 0) {\n block.end = block.start;\n }\n if (block.start > block.end) {\n throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);\n }\n if (block.end + 1 <= row * bitsPerRow) {\n return [block, void 0];\n }\n return [\n {\n start: block.start,\n end: row * bitsPerRow - 1,\n label: block.label\n },\n {\n start: row * bitsPerRow,\n end: block.end,\n label: block.label\n }\n ];\n}, \"getNextFittingBlock\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"packet\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/packet/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const config = db2.getConfig();\n const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;\n const words = db2.getPacket();\n const title = db2.getDiagramTitle();\n const totalRowHeight = rowHeight + paddingY;\n const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);\n const svgWidth = bitWidth * bitsPerRow + 2;\n const svg = selectSvgElement(id);\n svg.attr(\"viewbox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n for (const [word, packet] of words.entries()) {\n drawWord(svg, packet, word, config);\n }\n svg.append(\"text\").text(title).attr(\"x\", svgWidth / 2).attr(\"y\", svgHeight - totalRowHeight / 2).attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").attr(\"class\", \"packetTitle\");\n}, \"draw\");\nvar drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {\n const group = svg.append(\"g\");\n const wordY = rowNumber * (rowHeight + paddingY) + paddingY;\n for (const block of word) {\n const blockX = block.start % bitsPerRow * bitWidth + 1;\n const width = (block.end - block.start + 1) * bitWidth - paddingX;\n group.append(\"rect\").attr(\"x\", blockX).attr(\"y\", wordY).attr(\"width\", width).attr(\"height\", rowHeight).attr(\"class\", \"packetBlock\");\n group.append(\"text\").attr(\"x\", blockX + width / 2).attr(\"y\", wordY + rowHeight / 2).attr(\"class\", \"packetLabel\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\").text(block.label);\n if (!showBits) {\n continue;\n }\n const isSingleBlock = block.end === block.start;\n const bitNumberY = wordY - 2;\n group.append(\"text\").attr(\"x\", blockX + (isSingleBlock ? width / 2 : 0)).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte start\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", isSingleBlock ? \"middle\" : \"start\").text(block.start);\n if (!isSingleBlock) {\n group.append(\"text\").attr(\"x\", blockX + width).attr(\"y\", bitNumberY).attr(\"class\", \"packetByte end\").attr(\"dominant-baseline\", \"auto\").attr(\"text-anchor\", \"end\").text(block.end);\n }\n }\n}, \"drawWord\");\nvar renderer = { draw };\n\n// src/diagrams/packet/styles.ts\nvar defaultPacketStyleOptions = {\n byteFontSize: \"10px\",\n startByteColor: \"black\",\n endByteColor: \"black\",\n labelColor: \"black\",\n labelFontSize: \"12px\",\n titleColor: \"black\",\n titleFontSize: \"14px\",\n blockStrokeColor: \"black\",\n blockStrokeWidth: \"1\",\n blockFillColor: \"#efefef\"\n};\nvar styles = /* @__PURE__ */ __name(({ packet } = {}) => {\n const options = cleanAndMerge(defaultPacketStyleOptions, packet);\n return `\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`;\n}, \"styles\");\n\n// src/diagrams/packet/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n", + "import {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n svg.attr(\"viewbox\", `0 0 ${totalWidth} ${totalHeight}`).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * Math.cos(angle)).attr(\"y2\", radius * config.axisScaleFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLine\");\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * Math.cos(angle)).attr(\"y\", radius * config.axisLabelFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n", + "import {\n getLineFunctionsWithOffset\n} from \"./chunk-VV3M67IP.mjs\";\nimport {\n getSubGraphTitleMargins\n} from \"./chunk-K557N5IZ.mjs\";\nimport {\n createText,\n replaceIconSubstring\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n decodeEntities,\n getStylesFromArray,\n utils_default\n} from \"./chunk-O4NI6UNU.mjs\";\nimport {\n __name,\n clear,\n common_default,\n configureSvgSize,\n evaluate,\n getConfig,\n getConfig2,\n log,\n sanitizeText\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/block/parser/block.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 7], $V1 = [1, 13], $V2 = [1, 14], $V3 = [1, 15], $V4 = [1, 19], $V5 = [1, 16], $V6 = [1, 17], $V7 = [1, 18], $V8 = [8, 30], $V9 = [8, 21, 28, 29, 30, 31, 32, 40, 44, 47], $Va = [1, 23], $Vb = [1, 24], $Vc = [8, 15, 16, 21, 28, 29, 30, 31, 32, 40, 44, 47], $Vd = [8, 15, 16, 21, 27, 28, 29, 30, 31, 32, 40, 44, 47], $Ve = [1, 49];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"spaceLines\": 3, \"SPACELINE\": 4, \"NL\": 5, \"separator\": 6, \"SPACE\": 7, \"EOF\": 8, \"start\": 9, \"BLOCK_DIAGRAM_KEY\": 10, \"document\": 11, \"stop\": 12, \"statement\": 13, \"link\": 14, \"LINK\": 15, \"START_LINK\": 16, \"LINK_LABEL\": 17, \"STR\": 18, \"nodeStatement\": 19, \"columnsStatement\": 20, \"SPACE_BLOCK\": 21, \"blockStatement\": 22, \"classDefStatement\": 23, \"cssClassStatement\": 24, \"styleStatement\": 25, \"node\": 26, \"SIZE\": 27, \"COLUMNS\": 28, \"id-block\": 29, \"end\": 30, \"block\": 31, \"NODE_ID\": 32, \"nodeShapeNLabel\": 33, \"dirList\": 34, \"DIR\": 35, \"NODE_DSTART\": 36, \"NODE_DEND\": 37, \"BLOCK_ARROW_START\": 38, \"BLOCK_ARROW_END\": 39, \"classDef\": 40, \"CLASSDEF_ID\": 41, \"CLASSDEF_STYLEOPTS\": 42, \"DEFAULT\": 43, \"class\": 44, \"CLASSENTITY_IDS\": 45, \"STYLECLASS\": 46, \"style\": 47, \"STYLE_ENTITY_IDS\": 48, \"STYLE_DEFINITION_DATA\": 49, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"SPACELINE\", 5: \"NL\", 7: \"SPACE\", 8: \"EOF\", 10: \"BLOCK_DIAGRAM_KEY\", 15: \"LINK\", 16: \"START_LINK\", 17: \"LINK_LABEL\", 18: \"STR\", 21: \"SPACE_BLOCK\", 27: \"SIZE\", 28: \"COLUMNS\", 29: \"id-block\", 30: \"end\", 31: \"block\", 32: \"NODE_ID\", 35: \"DIR\", 36: \"NODE_DSTART\", 37: \"NODE_DEND\", 38: \"BLOCK_ARROW_START\", 39: \"BLOCK_ARROW_END\", 40: \"classDef\", 41: \"CLASSDEF_ID\", 42: \"CLASSDEF_STYLEOPTS\", 43: \"DEFAULT\", 44: \"class\", 45: \"CLASSENTITY_IDS\", 46: \"STYLECLASS\", 47: \"style\", 48: \"STYLE_ENTITY_IDS\", 49: \"STYLE_DEFINITION_DATA\" },\n productions_: [0, [3, 1], [3, 2], [3, 2], [6, 1], [6, 1], [6, 1], [9, 3], [12, 1], [12, 1], [12, 2], [12, 2], [11, 1], [11, 2], [14, 1], [14, 4], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [19, 3], [19, 2], [19, 1], [20, 1], [22, 4], [22, 3], [26, 1], [26, 2], [34, 1], [34, 2], [33, 3], [33, 4], [23, 3], [23, 3], [24, 3], [25, 3]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 4:\n yy.getLogger().debug(\"Rule: separator (NL) \");\n break;\n case 5:\n yy.getLogger().debug(\"Rule: separator (Space) \");\n break;\n case 6:\n yy.getLogger().debug(\"Rule: separator (EOF) \");\n break;\n case 7:\n yy.getLogger().debug(\"Rule: hierarchy: \", $$[$0 - 1]);\n yy.setHierarchy($$[$0 - 1]);\n break;\n case 8:\n yy.getLogger().debug(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().debug(\"Stop EOF \");\n break;\n case 10:\n yy.getLogger().debug(\"Stop NL2 \");\n break;\n case 11:\n yy.getLogger().debug(\"Stop EOF2 \");\n break;\n case 12:\n yy.getLogger().debug(\"Rule: statement: \", $$[$0]);\n typeof $$[$0].length === \"number\" ? this.$ = $$[$0] : this.$ = [$$[$0]];\n break;\n case 13:\n yy.getLogger().debug(\"Rule: statement #2: \", $$[$0 - 1]);\n this.$ = [$$[$0 - 1]].concat($$[$0]);\n break;\n case 14:\n yy.getLogger().debug(\"Rule: link: \", $$[$0], yytext);\n this.$ = { edgeTypeStr: $$[$0], label: \"\" };\n break;\n case 15:\n yy.getLogger().debug(\"Rule: LABEL link: \", $$[$0 - 3], $$[$0 - 1], $$[$0]);\n this.$ = { edgeTypeStr: $$[$0], label: $$[$0 - 1] };\n break;\n case 18:\n const num = parseInt($$[$0]);\n const spaceId = yy.generateId();\n this.$ = { id: spaceId, type: \"space\", label: \"\", width: num, children: [] };\n break;\n case 23:\n yy.getLogger().debug(\"Rule: (nodeStatement link node) \", $$[$0 - 2], $$[$0 - 1], $$[$0], \" typestr: \", $$[$0 - 1].edgeTypeStr);\n const edgeData = yy.edgeStrToEdgeData($$[$0 - 1].edgeTypeStr);\n this.$ = [\n { id: $$[$0 - 2].id, label: $$[$0 - 2].label, type: $$[$0 - 2].type, directions: $$[$0 - 2].directions },\n { id: $$[$0 - 2].id + \"-\" + $$[$0].id, start: $$[$0 - 2].id, end: $$[$0].id, label: $$[$0 - 1].label, type: \"edge\", directions: $$[$0].directions, arrowTypeEnd: edgeData, arrowTypeStart: \"arrow_open\" },\n { id: $$[$0].id, label: $$[$0].label, type: yy.typeStr2Type($$[$0].typeStr), directions: $$[$0].directions }\n ];\n break;\n case 24:\n yy.getLogger().debug(\"Rule: nodeStatement (abc88 node size) \", $$[$0 - 1], $$[$0]);\n this.$ = { id: $$[$0 - 1].id, label: $$[$0 - 1].label, type: yy.typeStr2Type($$[$0 - 1].typeStr), directions: $$[$0 - 1].directions, widthInColumns: parseInt($$[$0], 10) };\n break;\n case 25:\n yy.getLogger().debug(\"Rule: nodeStatement (node) \", $$[$0]);\n this.$ = { id: $$[$0].id, label: $$[$0].label, type: yy.typeStr2Type($$[$0].typeStr), directions: $$[$0].directions, widthInColumns: 1 };\n break;\n case 26:\n yy.getLogger().debug(\"APA123\", this ? this : \"na\");\n yy.getLogger().debug(\"COLUMNS: \", $$[$0]);\n this.$ = { type: \"column-setting\", columns: $$[$0] === \"auto\" ? -1 : parseInt($$[$0]) };\n break;\n case 27:\n yy.getLogger().debug(\"Rule: id-block statement : \", $$[$0 - 2], $$[$0 - 1]);\n const id2 = yy.generateId();\n this.$ = { ...$$[$0 - 2], type: \"composite\", children: $$[$0 - 1] };\n break;\n case 28:\n yy.getLogger().debug(\"Rule: blockStatement : \", $$[$0 - 2], $$[$0 - 1], $$[$0]);\n const id = yy.generateId();\n this.$ = { id, type: \"composite\", label: \"\", children: $$[$0 - 1] };\n break;\n case 29:\n yy.getLogger().debug(\"Rule: node (NODE_ID separator): \", $$[$0]);\n this.$ = { id: $$[$0] };\n break;\n case 30:\n yy.getLogger().debug(\"Rule: node (NODE_ID nodeShapeNLabel separator): \", $$[$0 - 1], $$[$0]);\n this.$ = { id: $$[$0 - 1], label: $$[$0].label, typeStr: $$[$0].typeStr, directions: $$[$0].directions };\n break;\n case 31:\n yy.getLogger().debug(\"Rule: dirList: \", $$[$0]);\n this.$ = [$$[$0]];\n break;\n case 32:\n yy.getLogger().debug(\"Rule: dirList: \", $$[$0 - 1], $$[$0]);\n this.$ = [$$[$0 - 1]].concat($$[$0]);\n break;\n case 33:\n yy.getLogger().debug(\"Rule: nodeShapeNLabel: \", $$[$0 - 2], $$[$0 - 1], $$[$0]);\n this.$ = { typeStr: $$[$0 - 2] + $$[$0], label: $$[$0 - 1] };\n break;\n case 34:\n yy.getLogger().debug(\"Rule: BLOCK_ARROW nodeShapeNLabel: \", $$[$0 - 3], $$[$0 - 2], \" #3:\", $$[$0 - 1], $$[$0]);\n this.$ = { typeStr: $$[$0 - 3] + $$[$0], label: $$[$0 - 2], directions: $$[$0 - 1] };\n break;\n case 35:\n case 36:\n this.$ = { type: \"classDef\", id: $$[$0 - 1].trim(), css: $$[$0].trim() };\n break;\n case 37:\n this.$ = { type: \"applyClass\", id: $$[$0 - 1].trim(), styleClass: $$[$0].trim() };\n break;\n case 38:\n this.$ = { type: \"applyStyles\", id: $$[$0 - 1].trim(), stylesStr: $$[$0].trim() };\n break;\n }\n }, \"anonymous\"),\n table: [{ 9: 1, 10: [1, 2] }, { 1: [3] }, { 11: 3, 13: 4, 19: 5, 20: 6, 21: $V0, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }, { 8: [1, 20] }, o($V8, [2, 12], { 13: 4, 19: 5, 20: 6, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 11: 21, 21: $V0, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }), o($V9, [2, 16], { 14: 22, 15: $Va, 16: $Vb }), o($V9, [2, 17]), o($V9, [2, 18]), o($V9, [2, 19]), o($V9, [2, 20]), o($V9, [2, 21]), o($V9, [2, 22]), o($Vc, [2, 25], { 27: [1, 25] }), o($V9, [2, 26]), { 19: 26, 26: 12, 32: $V4 }, { 11: 27, 13: 4, 19: 5, 20: 6, 21: $V0, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }, { 41: [1, 28], 43: [1, 29] }, { 45: [1, 30] }, { 48: [1, 31] }, o($Vd, [2, 29], { 33: 32, 36: [1, 33], 38: [1, 34] }), { 1: [2, 7] }, o($V8, [2, 13]), { 26: 35, 32: $V4 }, { 32: [2, 14] }, { 17: [1, 36] }, o($Vc, [2, 24]), { 11: 37, 13: 4, 14: 22, 15: $Va, 16: $Vb, 19: 5, 20: 6, 21: $V0, 22: 8, 23: 9, 24: 10, 25: 11, 26: 12, 28: $V1, 29: $V2, 31: $V3, 32: $V4, 40: $V5, 44: $V6, 47: $V7 }, { 30: [1, 38] }, { 42: [1, 39] }, { 42: [1, 40] }, { 46: [1, 41] }, { 49: [1, 42] }, o($Vd, [2, 30]), { 18: [1, 43] }, { 18: [1, 44] }, o($Vc, [2, 23]), { 18: [1, 45] }, { 30: [1, 46] }, o($V9, [2, 28]), o($V9, [2, 35]), o($V9, [2, 36]), o($V9, [2, 37]), o($V9, [2, 38]), { 37: [1, 47] }, { 34: 48, 35: $Ve }, { 15: [1, 50] }, o($V9, [2, 27]), o($Vd, [2, 33]), { 39: [1, 51] }, { 34: 52, 35: $Ve, 39: [2, 31] }, { 32: [2, 15] }, o($Vd, [2, 34]), { 39: [2, 32] }],\n defaultActions: { 20: [2, 7], 23: [2, 14], 50: [2, 15], 52: [2, 32] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: {},\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 10;\n break;\n case 1:\n yy.getLogger().debug(\"Found space-block\");\n return 31;\n break;\n case 2:\n yy.getLogger().debug(\"Found nl-block\");\n return 31;\n break;\n case 3:\n yy.getLogger().debug(\"Found space-block\");\n return 29;\n break;\n case 4:\n yy.getLogger().debug(\".\", yy_.yytext);\n break;\n case 5:\n yy.getLogger().debug(\"_\", yy_.yytext);\n break;\n case 6:\n return 5;\n break;\n case 7:\n yy_.yytext = -1;\n return 28;\n break;\n case 8:\n yy_.yytext = yy_.yytext.replace(/columns\\s+/, \"\");\n yy.getLogger().debug(\"COLUMNS (LEX)\", yy_.yytext);\n return 28;\n break;\n case 9:\n this.pushState(\"md_string\");\n break;\n case 10:\n return \"MD_STR\";\n break;\n case 11:\n this.popState();\n break;\n case 12:\n this.pushState(\"string\");\n break;\n case 13:\n yy.getLogger().debug(\"LEX: POPPING STR:\", yy_.yytext);\n this.popState();\n break;\n case 14:\n yy.getLogger().debug(\"LEX: STR end:\", yy_.yytext);\n return \"STR\";\n break;\n case 15:\n yy_.yytext = yy_.yytext.replace(/space\\:/, \"\");\n yy.getLogger().debug(\"SPACE NUM (LEX)\", yy_.yytext);\n return 21;\n break;\n case 16:\n yy_.yytext = \"1\";\n yy.getLogger().debug(\"COLUMNS (LEX)\", yy_.yytext);\n return 21;\n break;\n case 17:\n return 43;\n break;\n case 18:\n return \"LINKSTYLE\";\n break;\n case 19:\n return \"INTERPOLATE\";\n break;\n case 20:\n this.pushState(\"CLASSDEF\");\n return 40;\n break;\n case 21:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return \"DEFAULT_CLASSDEF_ID\";\n break;\n case 22:\n this.popState();\n this.pushState(\"CLASSDEFID\");\n return 41;\n break;\n case 23:\n this.popState();\n return 42;\n break;\n case 24:\n this.pushState(\"CLASS\");\n return 44;\n break;\n case 25:\n this.popState();\n this.pushState(\"CLASS_STYLE\");\n return 45;\n break;\n case 26:\n this.popState();\n return 46;\n break;\n case 27:\n this.pushState(\"STYLE_STMNT\");\n return 47;\n break;\n case 28:\n this.popState();\n this.pushState(\"STYLE_DEFINITION\");\n return 48;\n break;\n case 29:\n this.popState();\n return 49;\n break;\n case 30:\n this.pushState(\"acc_title\");\n return \"acc_title\";\n break;\n case 31:\n this.popState();\n return \"acc_title_value\";\n break;\n case 32:\n this.pushState(\"acc_descr\");\n return \"acc_descr\";\n break;\n case 33:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 34:\n this.pushState(\"acc_descr_multiline\");\n break;\n case 35:\n this.popState();\n break;\n case 36:\n return \"acc_descr_multiline_value\";\n break;\n case 37:\n return 30;\n break;\n case 38:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n break;\n case 39:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n break;\n case 40:\n this.popState();\n yy.getLogger().debug(\"Lex: ))\");\n return \"NODE_DEND\";\n break;\n case 41:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n break;\n case 42:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n break;\n case 43:\n this.popState();\n yy.getLogger().debug(\"Lex: (-\");\n return \"NODE_DEND\";\n break;\n case 44:\n this.popState();\n yy.getLogger().debug(\"Lex: -)\");\n return \"NODE_DEND\";\n break;\n case 45:\n this.popState();\n yy.getLogger().debug(\"Lex: ((\");\n return \"NODE_DEND\";\n break;\n case 46:\n this.popState();\n yy.getLogger().debug(\"Lex: ]]\");\n return \"NODE_DEND\";\n break;\n case 47:\n this.popState();\n yy.getLogger().debug(\"Lex: (\");\n return \"NODE_DEND\";\n break;\n case 48:\n this.popState();\n yy.getLogger().debug(\"Lex: ])\");\n return \"NODE_DEND\";\n break;\n case 49:\n this.popState();\n yy.getLogger().debug(\"Lex: /]\");\n return \"NODE_DEND\";\n break;\n case 50:\n this.popState();\n yy.getLogger().debug(\"Lex: /]\");\n return \"NODE_DEND\";\n break;\n case 51:\n this.popState();\n yy.getLogger().debug(\"Lex: )]\");\n return \"NODE_DEND\";\n break;\n case 52:\n this.popState();\n yy.getLogger().debug(\"Lex: )\");\n return \"NODE_DEND\";\n break;\n case 53:\n this.popState();\n yy.getLogger().debug(\"Lex: ]>\");\n return \"NODE_DEND\";\n break;\n case 54:\n this.popState();\n yy.getLogger().debug(\"Lex: ]\");\n return \"NODE_DEND\";\n break;\n case 55:\n yy.getLogger().debug(\"Lexa: -)\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 56:\n yy.getLogger().debug(\"Lexa: (-\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 57:\n yy.getLogger().debug(\"Lexa: ))\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 58:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 59:\n yy.getLogger().debug(\"Lex: (((\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 60:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 61:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 62:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 63:\n yy.getLogger().debug(\"Lexc: >\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 64:\n yy.getLogger().debug(\"Lexa: ([\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 65:\n yy.getLogger().debug(\"Lexa: )\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 66:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 67:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 68:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 69:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 70:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 71:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 72:\n this.pushState(\"NODE\");\n return 36;\n break;\n case 73:\n yy.getLogger().debug(\"Lexa: [\");\n this.pushState(\"NODE\");\n return 36;\n break;\n case 74:\n this.pushState(\"BLOCK_ARROW\");\n yy.getLogger().debug(\"LEX ARR START\");\n return 38;\n break;\n case 75:\n yy.getLogger().debug(\"Lex: NODE_ID\", yy_.yytext);\n return 32;\n break;\n case 76:\n yy.getLogger().debug(\"Lex: EOF\", yy_.yytext);\n return 8;\n break;\n case 77:\n this.pushState(\"md_string\");\n break;\n case 78:\n this.pushState(\"md_string\");\n break;\n case 79:\n return \"NODE_DESCR\";\n break;\n case 80:\n this.popState();\n break;\n case 81:\n yy.getLogger().debug(\"Lex: Starting string\");\n this.pushState(\"string\");\n break;\n case 82:\n yy.getLogger().debug(\"LEX ARR: Starting string\");\n this.pushState(\"string\");\n break;\n case 83:\n yy.getLogger().debug(\"LEX: NODE_DESCR:\", yy_.yytext);\n return \"NODE_DESCR\";\n break;\n case 84:\n yy.getLogger().debug(\"LEX POPPING\");\n this.popState();\n break;\n case 85:\n yy.getLogger().debug(\"Lex: =>BAE\");\n this.pushState(\"ARROW_DIR\");\n break;\n case 86:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (right): dir:\", yy_.yytext);\n return \"DIR\";\n break;\n case 87:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (left):\", yy_.yytext);\n return \"DIR\";\n break;\n case 88:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (x):\", yy_.yytext);\n return \"DIR\";\n break;\n case 89:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (y):\", yy_.yytext);\n return \"DIR\";\n break;\n case 90:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (up):\", yy_.yytext);\n return \"DIR\";\n break;\n case 91:\n yy_.yytext = yy_.yytext.replace(/^,\\s*/, \"\");\n yy.getLogger().debug(\"Lex (down):\", yy_.yytext);\n return \"DIR\";\n break;\n case 92:\n yy_.yytext = \"]>\";\n yy.getLogger().debug(\"Lex (ARROW_DIR end):\", yy_.yytext);\n this.popState();\n this.popState();\n return \"BLOCK_ARROW_END\";\n break;\n case 93:\n yy.getLogger().debug(\"Lex: LINK\", \"#\" + yy_.yytext + \"#\");\n return 15;\n break;\n case 94:\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n break;\n case 95:\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n break;\n case 96:\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n break;\n case 97:\n yy.getLogger().debug(\"Lex: START_LINK\", yy_.yytext);\n this.pushState(\"LLABEL\");\n return 16;\n break;\n case 98:\n yy.getLogger().debug(\"Lex: START_LINK\", yy_.yytext);\n this.pushState(\"LLABEL\");\n return 16;\n break;\n case 99:\n yy.getLogger().debug(\"Lex: START_LINK\", yy_.yytext);\n this.pushState(\"LLABEL\");\n return 16;\n break;\n case 100:\n this.pushState(\"md_string\");\n break;\n case 101:\n yy.getLogger().debug(\"Lex: Starting string\");\n this.pushState(\"string\");\n return \"LINK_LABEL\";\n break;\n case 102:\n this.popState();\n yy.getLogger().debug(\"Lex: LINK\", \"#\" + yy_.yytext + \"#\");\n return 15;\n break;\n case 103:\n this.popState();\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n break;\n case 104:\n this.popState();\n yy.getLogger().debug(\"Lex: LINK\", yy_.yytext);\n return 15;\n break;\n case 105:\n yy.getLogger().debug(\"Lex: COLON\", yy_.yytext);\n yy_.yytext = yy_.yytext.slice(1);\n return 27;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:block-beta\\b)/, /^(?:block\\s+)/, /^(?:block\\n+)/, /^(?:block:)/, /^(?:[\\s]+)/, /^(?:[\\n]+)/, /^(?:((\\u000D\\u000A)|(\\u000A)))/, /^(?:columns\\s+auto\\b)/, /^(?:columns\\s+[\\d]+)/, /^(?:[\"][`])/, /^(?:[^`\"]+)/, /^(?:[`][\"])/, /^(?:[\"])/, /^(?:[\"])/, /^(?:[^\"]*)/, /^(?:space[:]\\d+)/, /^(?:space\\b)/, /^(?:default\\b)/, /^(?:linkStyle\\b)/, /^(?:interpolate\\b)/, /^(?:classDef\\s+)/, /^(?:DEFAULT\\s+)/, /^(?:\\w+\\s+)/, /^(?:[^\\n]*)/, /^(?:class\\s+)/, /^(?:(\\w+)+((,\\s*\\w+)*))/, /^(?:[^\\n]*)/, /^(?:style\\s+)/, /^(?:(\\w+)+((,\\s*\\w+)*))/, /^(?:[^\\n]*)/, /^(?:accTitle\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*:\\s*)/, /^(?:(?!\\n||)*[^\\n]*)/, /^(?:accDescr\\s*\\{\\s*)/, /^(?:[\\}])/, /^(?:[^\\}]*)/, /^(?:end\\b\\s*)/, /^(?:\\(\\(\\()/, /^(?:\\)\\)\\))/, /^(?:[\\)]\\))/, /^(?:\\}\\})/, /^(?:\\})/, /^(?:\\(-)/, /^(?:-\\))/, /^(?:\\(\\()/, /^(?:\\]\\])/, /^(?:\\()/, /^(?:\\]\\))/, /^(?:\\\\\\])/, /^(?:\\/\\])/, /^(?:\\)\\])/, /^(?:[\\)])/, /^(?:\\]>)/, /^(?:[\\]])/, /^(?:-\\))/, /^(?:\\(-)/, /^(?:\\)\\))/, /^(?:\\))/, /^(?:\\(\\(\\()/, /^(?:\\(\\()/, /^(?:\\{\\{)/, /^(?:\\{)/, /^(?:>)/, /^(?:\\(\\[)/, /^(?:\\()/, /^(?:\\[\\[)/, /^(?:\\[\\|)/, /^(?:\\[\\()/, /^(?:\\)\\)\\))/, /^(?:\\[\\\\)/, /^(?:\\[\\/)/, /^(?:\\[\\\\)/, /^(?:\\[)/, /^(?:<\\[)/, /^(?:[^\\(\\[\\n\\-\\)\\{\\}\\s\\<\\>:]+)/, /^(?:$)/, /^(?:[\"][`])/, /^(?:[\"][`])/, /^(?:[^`\"]+)/, /^(?:[`][\"])/, /^(?:[\"])/, /^(?:[\"])/, /^(?:[^\"]+)/, /^(?:[\"])/, /^(?:\\]>\\s*\\()/, /^(?:,?\\s*right\\s*)/, /^(?:,?\\s*left\\s*)/, /^(?:,?\\s*x\\s*)/, /^(?:,?\\s*y\\s*)/, /^(?:,?\\s*up\\s*)/, /^(?:,?\\s*down\\s*)/, /^(?:\\)\\s*)/, /^(?:\\s*[xo<]?--+[-xo>]\\s*)/, /^(?:\\s*[xo<]?==+[=xo>]\\s*)/, /^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/, /^(?:\\s*~~[\\~]+\\s*)/, /^(?:\\s*[xo<]?--\\s*)/, /^(?:\\s*[xo<]?==\\s*)/, /^(?:\\s*[xo<]?-\\.\\s*)/, /^(?:[\"][`])/, /^(?:[\"])/, /^(?:\\s*[xo<]?--+[-xo>]\\s*)/, /^(?:\\s*[xo<]?==+[=xo>]\\s*)/, /^(?:\\s*[xo<]?-?\\.+-[xo>]?\\s*)/, /^(?::\\d+)/],\n conditions: { \"STYLE_DEFINITION\": { \"rules\": [29], \"inclusive\": false }, \"STYLE_STMNT\": { \"rules\": [28], \"inclusive\": false }, \"CLASSDEFID\": { \"rules\": [23], \"inclusive\": false }, \"CLASSDEF\": { \"rules\": [21, 22], \"inclusive\": false }, \"CLASS_STYLE\": { \"rules\": [26], \"inclusive\": false }, \"CLASS\": { \"rules\": [25], \"inclusive\": false }, \"LLABEL\": { \"rules\": [100, 101, 102, 103, 104], \"inclusive\": false }, \"ARROW_DIR\": { \"rules\": [86, 87, 88, 89, 90, 91, 92], \"inclusive\": false }, \"BLOCK_ARROW\": { \"rules\": [77, 82, 85], \"inclusive\": false }, \"NODE\": { \"rules\": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 78, 81], \"inclusive\": false }, \"md_string\": { \"rules\": [10, 11, 79, 80], \"inclusive\": false }, \"space\": { \"rules\": [], \"inclusive\": false }, \"string\": { \"rules\": [13, 14, 83, 84], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [35, 36], \"inclusive\": false }, \"acc_descr\": { \"rules\": [33], \"inclusive\": false }, \"acc_title\": { \"rules\": [31], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 15, 16, 17, 18, 19, 20, 24, 27, 30, 32, 34, 37, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 93, 94, 95, 96, 97, 98, 99, 105], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar block_default = parser;\n\n// src/diagrams/block/blockDB.ts\nimport clone from \"lodash-es/clone.js\";\nvar blockDatabase = /* @__PURE__ */ new Map();\nvar edgeList = [];\nvar edgeCount = /* @__PURE__ */ new Map();\nvar COLOR_KEYWORD = \"color\";\nvar FILL_KEYWORD = \"fill\";\nvar BG_FILL = \"bgFill\";\nvar STYLECLASS_SEP = \",\";\nvar config = getConfig2();\nvar classes = /* @__PURE__ */ new Map();\nvar sanitizeText2 = /* @__PURE__ */ __name((txt) => common_default.sanitizeText(txt, config), \"sanitizeText\");\nvar addStyleClass = /* @__PURE__ */ __name(function(id, styleAttributes = \"\") {\n let foundClass = classes.get(id);\n if (!foundClass) {\n foundClass = { id, styles: [], textStyles: [] };\n classes.set(id, foundClass);\n }\n if (styleAttributes !== void 0 && styleAttributes !== null) {\n styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {\n const fixedAttrib = attrib.replace(/([^;]*);/, \"$1\").trim();\n if (RegExp(COLOR_KEYWORD).exec(attrib)) {\n const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);\n const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);\n foundClass.textStyles.push(newStyle2);\n }\n foundClass.styles.push(fixedAttrib);\n });\n }\n}, \"addStyleClass\");\nvar addStyle2Node = /* @__PURE__ */ __name(function(id, styles = \"\") {\n const foundBlock = blockDatabase.get(id);\n if (styles !== void 0 && styles !== null) {\n foundBlock.styles = styles.split(STYLECLASS_SEP);\n }\n}, \"addStyle2Node\");\nvar setCssClass = /* @__PURE__ */ __name(function(itemIds, cssClassName) {\n itemIds.split(\",\").forEach(function(id) {\n let foundBlock = blockDatabase.get(id);\n if (foundBlock === void 0) {\n const trimmedId = id.trim();\n foundBlock = { id: trimmedId, type: \"na\", children: [] };\n blockDatabase.set(trimmedId, foundBlock);\n }\n if (!foundBlock.classes) {\n foundBlock.classes = [];\n }\n foundBlock.classes.push(cssClassName);\n });\n}, \"setCssClass\");\nvar populateBlockDatabase = /* @__PURE__ */ __name((_blockList, parent) => {\n const blockList = _blockList.flat();\n const children = [];\n for (const block of blockList) {\n if (block.label) {\n block.label = sanitizeText2(block.label);\n }\n if (block.type === \"classDef\") {\n addStyleClass(block.id, block.css);\n continue;\n }\n if (block.type === \"applyClass\") {\n setCssClass(block.id, block?.styleClass ?? \"\");\n continue;\n }\n if (block.type === \"applyStyles\") {\n if (block?.stylesStr) {\n addStyle2Node(block.id, block?.stylesStr);\n }\n continue;\n }\n if (block.type === \"column-setting\") {\n parent.columns = block.columns ?? -1;\n } else if (block.type === \"edge\") {\n const count = (edgeCount.get(block.id) ?? 0) + 1;\n edgeCount.set(block.id, count);\n block.id = count + \"-\" + block.id;\n edgeList.push(block);\n } else {\n if (!block.label) {\n if (block.type === \"composite\") {\n block.label = \"\";\n } else {\n block.label = block.id;\n }\n }\n const existingBlock = blockDatabase.get(block.id);\n if (existingBlock === void 0) {\n blockDatabase.set(block.id, block);\n } else {\n if (block.type !== \"na\") {\n existingBlock.type = block.type;\n }\n if (block.label !== block.id) {\n existingBlock.label = block.label;\n }\n }\n if (block.children) {\n populateBlockDatabase(block.children, block);\n }\n if (block.type === \"space\") {\n const w = block.width ?? 1;\n for (let j = 0; j < w; j++) {\n const newBlock = clone(block);\n newBlock.id = newBlock.id + \"-\" + j;\n blockDatabase.set(newBlock.id, newBlock);\n children.push(newBlock);\n }\n } else if (existingBlock === void 0) {\n children.push(block);\n }\n }\n }\n parent.children = children;\n}, \"populateBlockDatabase\");\nvar blocks = [];\nvar rootBlock = { id: \"root\", type: \"composite\", children: [], columns: -1 };\nvar clear2 = /* @__PURE__ */ __name(() => {\n log.debug(\"Clear called\");\n clear();\n rootBlock = { id: \"root\", type: \"composite\", children: [], columns: -1 };\n blockDatabase = /* @__PURE__ */ new Map([[\"root\", rootBlock]]);\n blocks = [];\n classes = /* @__PURE__ */ new Map();\n edgeList = [];\n edgeCount = /* @__PURE__ */ new Map();\n}, \"clear\");\nfunction typeStr2Type(typeStr) {\n log.debug(\"typeStr2Type\", typeStr);\n switch (typeStr) {\n case \"[]\":\n return \"square\";\n case \"()\":\n log.debug(\"we have a round\");\n return \"round\";\n case \"(())\":\n return \"circle\";\n case \">]\":\n return \"rect_left_inv_arrow\";\n case \"{}\":\n return \"diamond\";\n case \"{{}}\":\n return \"hexagon\";\n case \"([])\":\n return \"stadium\";\n case \"[[]]\":\n return \"subroutine\";\n case \"[()]\":\n return \"cylinder\";\n case \"((()))\":\n return \"doublecircle\";\n case \"[//]\":\n return \"lean_right\";\n case \"[\\\\\\\\]\":\n return \"lean_left\";\n case \"[/\\\\]\":\n return \"trapezoid\";\n case \"[\\\\/]\":\n return \"inv_trapezoid\";\n case \"<[]>\":\n return \"block_arrow\";\n default:\n return \"na\";\n }\n}\n__name(typeStr2Type, \"typeStr2Type\");\nfunction edgeTypeStr2Type(typeStr) {\n log.debug(\"typeStr2Type\", typeStr);\n switch (typeStr) {\n case \"==\":\n return \"thick\";\n default:\n return \"normal\";\n }\n}\n__name(edgeTypeStr2Type, \"edgeTypeStr2Type\");\nfunction edgeStrToEdgeData(typeStr) {\n switch (typeStr.trim()) {\n case \"--x\":\n return \"arrow_cross\";\n case \"--o\":\n return \"arrow_circle\";\n default:\n return \"arrow_point\";\n }\n}\n__name(edgeStrToEdgeData, \"edgeStrToEdgeData\");\nvar cnt = 0;\nvar generateId = /* @__PURE__ */ __name(() => {\n cnt++;\n return \"id-\" + Math.random().toString(36).substr(2, 12) + \"-\" + cnt;\n}, \"generateId\");\nvar setHierarchy = /* @__PURE__ */ __name((block) => {\n rootBlock.children = block;\n populateBlockDatabase(block, rootBlock);\n blocks = rootBlock.children;\n}, \"setHierarchy\");\nvar getColumns = /* @__PURE__ */ __name((blockId) => {\n const block = blockDatabase.get(blockId);\n if (!block) {\n return -1;\n }\n if (block.columns) {\n return block.columns;\n }\n if (!block.children) {\n return -1;\n }\n return block.children.length;\n}, \"getColumns\");\nvar getBlocksFlat = /* @__PURE__ */ __name(() => {\n return [...blockDatabase.values()];\n}, \"getBlocksFlat\");\nvar getBlocks = /* @__PURE__ */ __name(() => {\n return blocks || [];\n}, \"getBlocks\");\nvar getEdges = /* @__PURE__ */ __name(() => {\n return edgeList;\n}, \"getEdges\");\nvar getBlock = /* @__PURE__ */ __name((id) => {\n return blockDatabase.get(id);\n}, \"getBlock\");\nvar setBlock = /* @__PURE__ */ __name((block) => {\n blockDatabase.set(block.id, block);\n}, \"setBlock\");\nvar getLogger = /* @__PURE__ */ __name(() => console, \"getLogger\");\nvar getClasses = /* @__PURE__ */ __name(function() {\n return classes;\n}, \"getClasses\");\nvar db = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().block, \"getConfig\"),\n typeStr2Type,\n edgeTypeStr2Type,\n edgeStrToEdgeData,\n getLogger,\n getBlocksFlat,\n getBlocks,\n getEdges,\n setHierarchy,\n getBlock,\n setBlock,\n getColumns,\n getClasses,\n clear: clear2,\n generateId\n};\nvar blockDB_default = db;\n\n// src/diagrams/block/styles.ts\nimport * as khroma from \"khroma\";\nvar fade = /* @__PURE__ */ __name((color, opacity) => {\n const channel2 = khroma.channel;\n const r = channel2(color, \"r\");\n const g = channel2(color, \"g\");\n const b = channel2(color, \"b\");\n return khroma.rgba(r, g, b, opacity);\n}, \"fade\");\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .cluster-label text {\n fill: ${options.titleColor};\n }\n .cluster-label span,p {\n color: ${options.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${options.edgeLabelBackground};\n fill: ${options.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${fade(options.edgeLabelBackground, 0.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${fade(options.mainBkg, 0.5)};\n fill: ${fade(options.clusterBkg, 0.5)};\n stroke: ${fade(options.clusterBorder, 0.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n .cluster span,p {\n color: ${options.titleColor};\n }\n /* .cluster div {\n color: ${options.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${options.textColor};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/block/blockRenderer.ts\nimport { select as d3select } from \"d3\";\n\n// src/dagre-wrapper/markers.js\nvar insertMarkers = /* @__PURE__ */ __name((elem, markerArray, type, id) => {\n markerArray.forEach((markerName) => {\n markers[markerName](elem, type, id);\n });\n}, \"insertMarkers\");\nvar extension = /* @__PURE__ */ __name((elem, type, id) => {\n log.trace(\"Making markers for \", id);\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-extensionStart\").attr(\"class\", \"marker extension \" + type).attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,7 L18,13 V 1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-extensionEnd\").attr(\"class\", \"marker extension \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,1 V 13 L18,7 Z\");\n}, \"extension\");\nvar composition = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-compositionStart\").attr(\"class\", \"marker composition \" + type).attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-compositionEnd\").attr(\"class\", \"marker composition \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n}, \"composition\");\nvar aggregation = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-aggregationStart\").attr(\"class\", \"marker aggregation \" + type).attr(\"refX\", 18).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-aggregationEnd\").attr(\"class\", \"marker aggregation \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L1,7 L9,1 Z\");\n}, \"aggregation\");\nvar dependency = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-dependencyStart\").attr(\"class\", \"marker dependency \" + type).attr(\"refX\", 6).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 5,7 L9,13 L1,7 L9,1 Z\");\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-dependencyEnd\").attr(\"class\", \"marker dependency \" + type).attr(\"refX\", 13).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 18,7 L9,13 L14,7 L9,1 Z\");\n}, \"dependency\");\nvar lollipop = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-lollipopStart\").attr(\"class\", \"marker lollipop \" + type).attr(\"refX\", 13).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"circle\").attr(\"stroke\", \"black\").attr(\"fill\", \"transparent\").attr(\"cx\", 7).attr(\"cy\", 7).attr(\"r\", 6);\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-lollipopEnd\").attr(\"class\", \"marker lollipop \" + type).attr(\"refX\", 1).attr(\"refY\", 7).attr(\"markerWidth\", 190).attr(\"markerHeight\", 240).attr(\"orient\", \"auto\").append(\"circle\").attr(\"stroke\", \"black\").attr(\"fill\", \"transparent\").attr(\"cx\", 7).attr(\"cy\", 7).attr(\"r\", 6);\n}, \"lollipop\");\nvar point = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-pointEnd\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 6).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-pointStart\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 4.5).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 12).attr(\"markerHeight\", 12).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 5 L 10 10 L 10 0 z\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n}, \"point\");\nvar circle = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-circleEnd\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 11).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", \"5\").attr(\"cy\", \"5\").attr(\"r\", \"5\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-circleStart\").attr(\"class\", \"marker \" + type).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", -1).attr(\"refY\", 5).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"circle\").attr(\"cx\", \"5\").attr(\"cy\", \"5\").attr(\"r\", \"5\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 1).style(\"stroke-dasharray\", \"1,0\");\n}, \"circle\");\nvar cross = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-crossEnd\").attr(\"class\", \"marker cross \" + type).attr(\"viewBox\", \"0 0 11 11\").attr(\"refX\", 12).attr(\"refY\", 5.2).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,1 l 9,9 M 10,1 l -9,9\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 2).style(\"stroke-dasharray\", \"1,0\");\n elem.append(\"marker\").attr(\"id\", id + \"_\" + type + \"-crossStart\").attr(\"class\", \"marker cross \" + type).attr(\"viewBox\", \"0 0 11 11\").attr(\"refX\", -1).attr(\"refY\", 5.2).attr(\"markerUnits\", \"userSpaceOnUse\").attr(\"markerWidth\", 11).attr(\"markerHeight\", 11).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 1,1 l 9,9 M 10,1 l -9,9\").attr(\"class\", \"arrowMarkerPath\").style(\"stroke-width\", 2).style(\"stroke-dasharray\", \"1,0\");\n}, \"cross\");\nvar barb = /* @__PURE__ */ __name((elem, type, id) => {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", id + \"_\" + type + \"-barbEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 14).attr(\"markerUnits\", \"strokeWidth\").attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"barb\");\nvar markers = {\n extension,\n composition,\n aggregation,\n dependency,\n lollipop,\n point,\n circle,\n cross,\n barb\n};\nvar markers_default = insertMarkers;\n\n// src/diagrams/block/layout.ts\nvar padding = getConfig2()?.block?.padding ?? 8;\nfunction calculateBlockPosition(columns, position) {\n if (columns === 0 || !Number.isInteger(columns)) {\n throw new Error(\"Columns must be an integer !== 0.\");\n }\n if (position < 0 || !Number.isInteger(position)) {\n throw new Error(\"Position must be a non-negative integer.\" + position);\n }\n if (columns < 0) {\n return { px: position, py: 0 };\n }\n if (columns === 1) {\n return { px: 0, py: position };\n }\n const px = position % columns;\n const py = Math.floor(position / columns);\n return { px, py };\n}\n__name(calculateBlockPosition, \"calculateBlockPosition\");\nvar getMaxChildSize = /* @__PURE__ */ __name((block) => {\n let maxWidth = 0;\n let maxHeight = 0;\n for (const child of block.children) {\n const { width, height, x, y } = child.size ?? { width: 0, height: 0, x: 0, y: 0 };\n log.debug(\n \"getMaxChildSize abc95 child:\",\n child.id,\n \"width:\",\n width,\n \"height:\",\n height,\n \"x:\",\n x,\n \"y:\",\n y,\n child.type\n );\n if (child.type === \"space\") {\n continue;\n }\n if (width > maxWidth) {\n maxWidth = width / (block.widthInColumns ?? 1);\n }\n if (height > maxHeight) {\n maxHeight = height;\n }\n }\n return { width: maxWidth, height: maxHeight };\n}, \"getMaxChildSize\");\nfunction setBlockSizes(block, db2, siblingWidth = 0, siblingHeight = 0) {\n log.debug(\n \"setBlockSizes abc95 (start)\",\n block.id,\n block?.size?.x,\n \"block width =\",\n block?.size,\n \"sieblingWidth\",\n siblingWidth\n );\n if (!block?.size?.width) {\n block.size = {\n width: siblingWidth,\n height: siblingHeight,\n x: 0,\n y: 0\n };\n }\n let maxWidth = 0;\n let maxHeight = 0;\n if (block.children?.length > 0) {\n for (const child of block.children) {\n setBlockSizes(child, db2);\n }\n const childSize = getMaxChildSize(block);\n maxWidth = childSize.width;\n maxHeight = childSize.height;\n log.debug(\"setBlockSizes abc95 maxWidth of\", block.id, \":s children is \", maxWidth, maxHeight);\n for (const child of block.children) {\n if (child.size) {\n log.debug(\n `abc95 Setting size of children of ${block.id} id=${child.id} ${maxWidth} ${maxHeight} ${JSON.stringify(child.size)}`\n );\n child.size.width = maxWidth * (child.widthInColumns ?? 1) + padding * ((child.widthInColumns ?? 1) - 1);\n child.size.height = maxHeight;\n child.size.x = 0;\n child.size.y = 0;\n log.debug(\n `abc95 updating size of ${block.id} children child:${child.id} maxWidth:${maxWidth} maxHeight:${maxHeight}`\n );\n }\n }\n for (const child of block.children) {\n setBlockSizes(child, db2, maxWidth, maxHeight);\n }\n const columns = block.columns ?? -1;\n let numItems = 0;\n for (const child of block.children) {\n numItems += child.widthInColumns ?? 1;\n }\n let xSize = block.children.length;\n if (columns > 0 && columns < numItems) {\n xSize = columns;\n }\n const ySize = Math.ceil(numItems / xSize);\n let width = xSize * (maxWidth + padding) + padding;\n let height = ySize * (maxHeight + padding) + padding;\n if (width < siblingWidth) {\n log.debug(\n `Detected to small siebling: abc95 ${block.id} sieblingWidth ${siblingWidth} sieblingHeight ${siblingHeight} width ${width}`\n );\n width = siblingWidth;\n height = siblingHeight;\n const childWidth = (siblingWidth - xSize * padding - padding) / xSize;\n const childHeight = (siblingHeight - ySize * padding - padding) / ySize;\n log.debug(\"Size indata abc88\", block.id, \"childWidth\", childWidth, \"maxWidth\", maxWidth);\n log.debug(\"Size indata abc88\", block.id, \"childHeight\", childHeight, \"maxHeight\", maxHeight);\n log.debug(\"Size indata abc88 xSize\", xSize, \"padding\", padding);\n for (const child of block.children) {\n if (child.size) {\n child.size.width = childWidth;\n child.size.height = childHeight;\n child.size.x = 0;\n child.size.y = 0;\n }\n }\n }\n log.debug(\n `abc95 (finale calc) ${block.id} xSize ${xSize} ySize ${ySize} columns ${columns}${block.children.length} width=${Math.max(width, block.size?.width || 0)}`\n );\n if (width < (block?.size?.width || 0)) {\n width = block?.size?.width || 0;\n const num = columns > 0 ? Math.min(block.children.length, columns) : block.children.length;\n if (num > 0) {\n const childWidth = (width - num * padding - padding) / num;\n log.debug(\"abc95 (growing to fit) width\", block.id, width, block.size?.width, childWidth);\n for (const child of block.children) {\n if (child.size) {\n child.size.width = childWidth;\n }\n }\n }\n }\n block.size = {\n width,\n height,\n x: 0,\n y: 0\n };\n }\n log.debug(\n \"setBlockSizes abc94 (done)\",\n block.id,\n block?.size?.x,\n block?.size?.width,\n block?.size?.y,\n block?.size?.height\n );\n}\n__name(setBlockSizes, \"setBlockSizes\");\nfunction layoutBlocks(block, db2) {\n log.debug(\n `abc85 layout blocks (=>layoutBlocks) ${block.id} x: ${block?.size?.x} y: ${block?.size?.y} width: ${block?.size?.width}`\n );\n const columns = block.columns ?? -1;\n log.debug(\"layoutBlocks columns abc95\", block.id, \"=>\", columns, block);\n if (block.children && // find max width of children\n block.children.length > 0) {\n const width = block?.children[0]?.size?.width ?? 0;\n const widthOfChildren = block.children.length * width + (block.children.length - 1) * padding;\n log.debug(\"widthOfChildren 88\", widthOfChildren, \"posX\");\n let columnPos = 0;\n log.debug(\"abc91 block?.size?.x\", block.id, block?.size?.x);\n let startingPosX = block?.size?.x ? block?.size?.x + (-block?.size?.width / 2 || 0) : -padding;\n let rowPos = 0;\n for (const child of block.children) {\n const parent = block;\n if (!child.size) {\n continue;\n }\n const { width: width2, height } = child.size;\n const { px, py } = calculateBlockPosition(columns, columnPos);\n if (py != rowPos) {\n rowPos = py;\n startingPosX = block?.size?.x ? block?.size?.x + (-block?.size?.width / 2 || 0) : -padding;\n log.debug(\"New row in layout for block\", block.id, \" and child \", child.id, rowPos);\n }\n log.debug(\n `abc89 layout blocks (child) id: ${child.id} Pos: ${columnPos} (px, py) ${px},${py} (${parent?.size?.x},${parent?.size?.y}) parent: ${parent.id} width: ${width2}${padding}`\n );\n if (parent.size) {\n const halfWidth = width2 / 2;\n child.size.x = startingPosX + padding + halfWidth;\n log.debug(\n `abc91 layout blocks (calc) px, pyid:${child.id} startingPos=X${startingPosX} new startingPosX${child.size.x} ${halfWidth} padding=${padding} width=${width2} halfWidth=${halfWidth} => x:${child.size.x} y:${child.size.y} ${child.widthInColumns} (width * (child?.w || 1)) / 2 ${width2 * (child?.widthInColumns ?? 1) / 2}`\n );\n startingPosX = child.size.x + halfWidth;\n child.size.y = parent.size.y - parent.size.height / 2 + py * (height + padding) + height / 2 + padding;\n log.debug(\n `abc88 layout blocks (calc) px, pyid:${child.id}startingPosX${startingPosX}${padding}${halfWidth}=>x:${child.size.x}y:${child.size.y}${child.widthInColumns}(width * (child?.w || 1)) / 2${width2 * (child?.widthInColumns ?? 1) / 2}`\n );\n }\n if (child.children) {\n layoutBlocks(child, db2);\n }\n columnPos += child?.widthInColumns ?? 1;\n log.debug(\"abc88 columnsPos\", child, columnPos);\n }\n }\n log.debug(\n `layout blocks (<==layoutBlocks) ${block.id} x: ${block?.size?.x} y: ${block?.size?.y} width: ${block?.size?.width}`\n );\n}\n__name(layoutBlocks, \"layoutBlocks\");\nfunction findBounds(block, { minX, minY, maxX, maxY } = { minX: 0, minY: 0, maxX: 0, maxY: 0 }) {\n if (block.size && block.id !== \"root\") {\n const { x, y, width, height } = block.size;\n if (x - width / 2 < minX) {\n minX = x - width / 2;\n }\n if (y - height / 2 < minY) {\n minY = y - height / 2;\n }\n if (x + width / 2 > maxX) {\n maxX = x + width / 2;\n }\n if (y + height / 2 > maxY) {\n maxY = y + height / 2;\n }\n }\n if (block.children) {\n for (const child of block.children) {\n ({ minX, minY, maxX, maxY } = findBounds(child, { minX, minY, maxX, maxY }));\n }\n }\n return { minX, minY, maxX, maxY };\n}\n__name(findBounds, \"findBounds\");\nfunction layout(db2) {\n const root = db2.getBlock(\"root\");\n if (!root) {\n return;\n }\n setBlockSizes(root, db2, 0, 0);\n layoutBlocks(root, db2);\n log.debug(\"getBlocks\", JSON.stringify(root, null, 2));\n const { minX, minY, maxX, maxY } = findBounds(root);\n const height = maxY - minY;\n const width = maxX - minX;\n return { x: minX, y: minY, width, height };\n}\n__name(layout, \"layout\");\n\n// src/diagrams/block/renderHelpers.ts\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/dagre-wrapper/createLabel.js\nimport { select } from \"d3\";\nfunction applyStyle(dom, styleFn) {\n if (styleFn) {\n dom.attr(\"style\", styleFn);\n }\n}\n__name(applyStyle, \"applyStyle\");\nfunction addHtmlLabel(node) {\n const fo = select(document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\"));\n const div = fo.append(\"xhtml:div\");\n const label = node.label;\n const labelClass = node.isNode ? \"nodeLabel\" : \"edgeLabel\";\n const span = div.append(\"span\");\n span.html(label);\n applyStyle(span, node.labelStyle);\n span.attr(\"class\", labelClass);\n applyStyle(div, node.labelStyle);\n div.style(\"display\", \"inline-block\");\n div.style(\"white-space\", \"nowrap\");\n div.attr(\"xmlns\", \"http://www.w3.org/1999/xhtml\");\n return fo.node();\n}\n__name(addHtmlLabel, \"addHtmlLabel\");\nvar createLabel = /* @__PURE__ */ __name((_vertexText, style, isTitle, isNode) => {\n let vertexText = _vertexText || \"\";\n if (typeof vertexText === \"object\") {\n vertexText = vertexText[0];\n }\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n vertexText = vertexText.replace(/\\\\n|\\n/g, \"<br />\");\n log.debug(\"vertexText\" + vertexText);\n const node = {\n isNode,\n label: replaceIconSubstring(decodeEntities(vertexText)),\n labelStyle: style.replace(\"fill:\", \"color:\")\n };\n let vertexNode = addHtmlLabel(node);\n return vertexNode;\n } else {\n const svgLabel = document.createElementNS(\"http://www.w3.org/2000/svg\", \"text\");\n svgLabel.setAttribute(\"style\", style.replace(\"color:\", \"fill:\"));\n let rows = [];\n if (typeof vertexText === \"string\") {\n rows = vertexText.split(/\\\\n|\\n|<br\\s*\\/?>/gi);\n } else if (Array.isArray(vertexText)) {\n rows = vertexText;\n } else {\n rows = [];\n }\n for (const row of rows) {\n const tspan = document.createElementNS(\"http://www.w3.org/2000/svg\", \"tspan\");\n tspan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n tspan.setAttribute(\"dy\", \"1em\");\n tspan.setAttribute(\"x\", \"0\");\n if (isTitle) {\n tspan.setAttribute(\"class\", \"title-row\");\n } else {\n tspan.setAttribute(\"class\", \"row\");\n }\n tspan.textContent = row.trim();\n svgLabel.appendChild(tspan);\n }\n return svgLabel;\n }\n}, \"createLabel\");\nvar createLabel_default = createLabel;\n\n// src/dagre-wrapper/edges.js\nimport { line, curveBasis, select as select2 } from \"d3\";\n\n// src/dagre-wrapper/edgeMarker.ts\nvar addEdgeMarkers = /* @__PURE__ */ __name((svgPath, edge, url, id, diagramType) => {\n if (edge.arrowTypeStart) {\n addEdgeMarker(svgPath, \"start\", edge.arrowTypeStart, url, id, diagramType);\n }\n if (edge.arrowTypeEnd) {\n addEdgeMarker(svgPath, \"end\", edge.arrowTypeEnd, url, id, diagramType);\n }\n}, \"addEdgeMarkers\");\nvar arrowTypesMap = {\n arrow_cross: \"cross\",\n arrow_point: \"point\",\n arrow_barb: \"barb\",\n arrow_circle: \"circle\",\n aggregation: \"aggregation\",\n extension: \"extension\",\n composition: \"composition\",\n dependency: \"dependency\",\n lollipop: \"lollipop\"\n};\nvar addEdgeMarker = /* @__PURE__ */ __name((svgPath, position, arrowType, url, id, diagramType) => {\n const endMarkerType = arrowTypesMap[arrowType];\n if (!endMarkerType) {\n log.warn(`Unknown arrow type: ${arrowType}`);\n return;\n }\n const suffix = position === \"start\" ? \"Start\" : \"End\";\n svgPath.attr(`marker-${position}`, `url(${url}#${id}_${diagramType}-${endMarkerType}${suffix})`);\n}, \"addEdgeMarker\");\n\n// src/dagre-wrapper/edges.js\nvar edgeLabels = {};\nvar terminalLabels = {};\nvar insertEdgeLabel = /* @__PURE__ */ __name((elem, edge) => {\n const config2 = getConfig2();\n const useHtmlLabels = evaluate(config2.flowchart.htmlLabels);\n const labelElement = edge.labelType === \"markdown\" ? createText(\n elem,\n edge.label,\n {\n style: edge.labelStyle,\n useHtmlLabels,\n addSvgBackground: true\n },\n config2\n ) : createLabel_default(edge.label, edge.labelStyle);\n const edgeLabel = elem.insert(\"g\").attr(\"class\", \"edgeLabel\");\n const label = edgeLabel.insert(\"g\").attr(\"class\", \"label\");\n label.node().appendChild(labelElement);\n let bbox = labelElement.getBBox();\n if (useHtmlLabels) {\n const div = labelElement.children[0];\n const dv = select2(labelElement);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n label.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n edgeLabels[edge.id] = edgeLabel;\n edge.width = bbox.width;\n edge.height = bbox.height;\n let fo;\n if (edge.startLabelLeft) {\n const startLabelElement = createLabel_default(edge.startLabelLeft, edge.labelStyle);\n const startEdgeLabelLeft = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = startEdgeLabelLeft.insert(\"g\").attr(\"class\", \"inner\");\n fo = inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].startLeft = startEdgeLabelLeft;\n setTerminalWidth(fo, edge.startLabelLeft);\n }\n if (edge.startLabelRight) {\n const startLabelElement = createLabel_default(edge.startLabelRight, edge.labelStyle);\n const startEdgeLabelRight = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = startEdgeLabelRight.insert(\"g\").attr(\"class\", \"inner\");\n fo = startEdgeLabelRight.node().appendChild(startLabelElement);\n inner.node().appendChild(startLabelElement);\n const slBox = startLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].startRight = startEdgeLabelRight;\n setTerminalWidth(fo, edge.startLabelRight);\n }\n if (edge.endLabelLeft) {\n const endLabelElement = createLabel_default(edge.endLabelLeft, edge.labelStyle);\n const endEdgeLabelLeft = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = endEdgeLabelLeft.insert(\"g\").attr(\"class\", \"inner\");\n fo = inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n endEdgeLabelLeft.node().appendChild(endLabelElement);\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].endLeft = endEdgeLabelLeft;\n setTerminalWidth(fo, edge.endLabelLeft);\n }\n if (edge.endLabelRight) {\n const endLabelElement = createLabel_default(edge.endLabelRight, edge.labelStyle);\n const endEdgeLabelRight = elem.insert(\"g\").attr(\"class\", \"edgeTerminals\");\n const inner = endEdgeLabelRight.insert(\"g\").attr(\"class\", \"inner\");\n fo = inner.node().appendChild(endLabelElement);\n const slBox = endLabelElement.getBBox();\n inner.attr(\"transform\", \"translate(\" + -slBox.width / 2 + \", \" + -slBox.height / 2 + \")\");\n endEdgeLabelRight.node().appendChild(endLabelElement);\n if (!terminalLabels[edge.id]) {\n terminalLabels[edge.id] = {};\n }\n terminalLabels[edge.id].endRight = endEdgeLabelRight;\n setTerminalWidth(fo, edge.endLabelRight);\n }\n return labelElement;\n}, \"insertEdgeLabel\");\nfunction setTerminalWidth(fo, value) {\n if (getConfig2().flowchart.htmlLabels && fo) {\n fo.style.width = value.length * 9 + \"px\";\n fo.style.height = \"12px\";\n }\n}\n__name(setTerminalWidth, \"setTerminalWidth\");\nvar positionEdgeLabel = /* @__PURE__ */ __name((edge, paths) => {\n log.debug(\"Moving label abc88 \", edge.id, edge.label, edgeLabels[edge.id], paths);\n let path = paths.updatedPath ? paths.updatedPath : paths.originalPath;\n const siteConfig = getConfig2();\n const { subGraphTitleTotalMargin } = getSubGraphTitleMargins(siteConfig);\n if (edge.label) {\n const el = edgeLabels[edge.id];\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcLabelPosition(path);\n log.debug(\n \"Moving label \" + edge.label + \" from (\",\n x,\n \",\",\n y,\n \") to (\",\n pos.x,\n \",\",\n pos.y,\n \") abc88\"\n );\n if (paths.updatedPath) {\n x = pos.x;\n y = pos.y;\n }\n }\n el.attr(\"transform\", `translate(${x}, ${y + subGraphTitleTotalMargin / 2})`);\n }\n if (edge.startLabelLeft) {\n const el = terminalLabels[edge.id].startLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, \"start_left\", path);\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n if (edge.startLabelRight) {\n const el = terminalLabels[edge.id].startRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(\n edge.arrowTypeStart ? 10 : 0,\n \"start_right\",\n path\n );\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n if (edge.endLabelLeft) {\n const el = terminalLabels[edge.id].endLeft;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, \"end_left\", path);\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n if (edge.endLabelRight) {\n const el = terminalLabels[edge.id].endRight;\n let x = edge.x;\n let y = edge.y;\n if (path) {\n const pos = utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, \"end_right\", path);\n x = pos.x;\n y = pos.y;\n }\n el.attr(\"transform\", `translate(${x}, ${y})`);\n }\n}, \"positionEdgeLabel\");\nvar outsideNode = /* @__PURE__ */ __name((node, point2) => {\n const x = node.x;\n const y = node.y;\n const dx = Math.abs(point2.x - x);\n const dy = Math.abs(point2.y - y);\n const w = node.width / 2;\n const h = node.height / 2;\n if (dx >= w || dy >= h) {\n return true;\n }\n return false;\n}, \"outsideNode\");\nvar intersection = /* @__PURE__ */ __name((node, outsidePoint, insidePoint) => {\n log.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);\n const x = node.x;\n const y = node.y;\n const dx = Math.abs(x - insidePoint.x);\n const w = node.width / 2;\n let r = insidePoint.x < outsidePoint.x ? w - dx : w + dx;\n const h = node.height / 2;\n const Q = Math.abs(outsidePoint.y - insidePoint.y);\n const R = Math.abs(outsidePoint.x - insidePoint.x);\n if (Math.abs(y - outsidePoint.y) * w > Math.abs(x - outsidePoint.x) * h) {\n let q = insidePoint.y < outsidePoint.y ? outsidePoint.y - h - y : y - h - outsidePoint.y;\n r = R * q / Q;\n const res = {\n x: insidePoint.x < outsidePoint.x ? insidePoint.x + r : insidePoint.x - R + r,\n y: insidePoint.y < outsidePoint.y ? insidePoint.y + Q - q : insidePoint.y - Q + q\n };\n if (r === 0) {\n res.x = outsidePoint.x;\n res.y = outsidePoint.y;\n }\n if (R === 0) {\n res.x = outsidePoint.x;\n }\n if (Q === 0) {\n res.y = outsidePoint.y;\n }\n log.debug(`abc89 topp/bott calc, Q ${Q}, q ${q}, R ${R}, r ${r}`, res);\n return res;\n } else {\n if (insidePoint.x < outsidePoint.x) {\n r = outsidePoint.x - w - x;\n } else {\n r = x - w - outsidePoint.x;\n }\n let q = Q * r / R;\n let _x = insidePoint.x < outsidePoint.x ? insidePoint.x + R - r : insidePoint.x - R + r;\n let _y = insidePoint.y < outsidePoint.y ? insidePoint.y + q : insidePoint.y - q;\n log.debug(`sides calc abc89, Q ${Q}, q ${q}, R ${R}, r ${r}`, { _x, _y });\n if (r === 0) {\n _x = outsidePoint.x;\n _y = outsidePoint.y;\n }\n if (R === 0) {\n _x = outsidePoint.x;\n }\n if (Q === 0) {\n _y = outsidePoint.y;\n }\n return { x: _x, y: _y };\n }\n}, \"intersection\");\nvar cutPathAtIntersect = /* @__PURE__ */ __name((_points, boundaryNode) => {\n log.debug(\"abc88 cutPathAtIntersect\", _points, boundaryNode);\n let points = [];\n let lastPointOutside = _points[0];\n let isInside = false;\n _points.forEach((point2) => {\n if (!outsideNode(boundaryNode, point2) && !isInside) {\n const inter = intersection(boundaryNode, lastPointOutside, point2);\n let pointPresent = false;\n points.forEach((p) => {\n pointPresent = pointPresent || p.x === inter.x && p.y === inter.y;\n });\n if (!points.some((e) => e.x === inter.x && e.y === inter.y)) {\n points.push(inter);\n }\n isInside = true;\n } else {\n lastPointOutside = point2;\n if (!isInside) {\n points.push(point2);\n }\n }\n });\n return points;\n}, \"cutPathAtIntersect\");\nvar insertEdge = /* @__PURE__ */ __name(function(elem, e, edge, clusterDb, diagramType, graph, id) {\n let points = edge.points;\n log.debug(\"abc88 InsertEdge: edge=\", edge, \"e=\", e);\n let pointsHasChanged = false;\n const tail = graph.node(e.v);\n var head = graph.node(e.w);\n if (head?.intersect && tail?.intersect) {\n points = points.slice(1, edge.points.length - 1);\n points.unshift(tail.intersect(points[0]));\n points.push(head.intersect(points[points.length - 1]));\n }\n if (edge.toCluster) {\n log.debug(\"to cluster abc88\", clusterDb[edge.toCluster]);\n points = cutPathAtIntersect(edge.points, clusterDb[edge.toCluster].node);\n pointsHasChanged = true;\n }\n if (edge.fromCluster) {\n log.debug(\"from cluster abc88\", clusterDb[edge.fromCluster]);\n points = cutPathAtIntersect(points.reverse(), clusterDb[edge.fromCluster].node).reverse();\n pointsHasChanged = true;\n }\n const lineData = points.filter((p) => !Number.isNaN(p.y));\n let curve = curveBasis;\n if (edge.curve && (diagramType === \"graph\" || diagramType === \"flowchart\")) {\n curve = edge.curve;\n }\n const { x, y } = getLineFunctionsWithOffset(edge);\n const lineFunction = line().x(x).y(y).curve(curve);\n let strokeClasses;\n switch (edge.thickness) {\n case \"normal\":\n strokeClasses = \"edge-thickness-normal\";\n break;\n case \"thick\":\n strokeClasses = \"edge-thickness-thick\";\n break;\n case \"invisible\":\n strokeClasses = \"edge-thickness-thick\";\n break;\n default:\n strokeClasses = \"\";\n }\n switch (edge.pattern) {\n case \"solid\":\n strokeClasses += \" edge-pattern-solid\";\n break;\n case \"dotted\":\n strokeClasses += \" edge-pattern-dotted\";\n break;\n case \"dashed\":\n strokeClasses += \" edge-pattern-dashed\";\n break;\n }\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", edge.id).attr(\"class\", \" \" + strokeClasses + (edge.classes ? \" \" + edge.classes : \"\")).attr(\"style\", edge.style);\n let url = \"\";\n if (getConfig2().flowchart.arrowMarkerAbsolute || getConfig2().state.arrowMarkerAbsolute) {\n url = window.location.protocol + \"//\" + window.location.host + window.location.pathname + window.location.search;\n url = url.replace(/\\(/g, \"\\\\(\");\n url = url.replace(/\\)/g, \"\\\\)\");\n }\n addEdgeMarkers(svgPath, edge, url, id, diagramType);\n let paths = {};\n if (pointsHasChanged) {\n paths.updatedPath = points;\n }\n paths.originalPath = edge.points;\n return paths;\n}, \"insertEdge\");\n\n// src/dagre-wrapper/nodes.js\nimport { select as select4 } from \"d3\";\n\n// src/dagre-wrapper/blockArrowHelper.ts\nvar expandAndDeduplicateDirections = /* @__PURE__ */ __name((directions) => {\n const uniqueDirections = /* @__PURE__ */ new Set();\n for (const direction of directions) {\n switch (direction) {\n case \"x\":\n uniqueDirections.add(\"right\");\n uniqueDirections.add(\"left\");\n break;\n case \"y\":\n uniqueDirections.add(\"up\");\n uniqueDirections.add(\"down\");\n break;\n default:\n uniqueDirections.add(direction);\n break;\n }\n }\n return uniqueDirections;\n}, \"expandAndDeduplicateDirections\");\nvar getArrowPoints = /* @__PURE__ */ __name((duplicatedDirections, bbox, node) => {\n const directions = expandAndDeduplicateDirections(duplicatedDirections);\n const f = 2;\n const height = bbox.height + 2 * node.padding;\n const midpoint = height / f;\n const width = bbox.width + 2 * midpoint + node.padding;\n const padding2 = node.padding / 2;\n if (directions.has(\"right\") && directions.has(\"left\") && directions.has(\"up\") && directions.has(\"down\")) {\n return [\n // Bottom\n { x: 0, y: 0 },\n { x: midpoint, y: 0 },\n { x: width / 2, y: 2 * padding2 },\n { x: width - midpoint, y: 0 },\n { x: width, y: 0 },\n // Right\n { x: width, y: -height / 3 },\n { x: width + 2 * padding2, y: -height / 2 },\n { x: width, y: -2 * height / 3 },\n { x: width, y: -height },\n // Top\n { x: width - midpoint, y: -height },\n { x: width / 2, y: -height - 2 * padding2 },\n { x: midpoint, y: -height },\n // Left\n { x: 0, y: -height },\n { x: 0, y: -2 * height / 3 },\n { x: -2 * padding2, y: -height / 2 },\n { x: 0, y: -height / 3 }\n ];\n }\n if (directions.has(\"right\") && directions.has(\"left\") && directions.has(\"up\")) {\n return [\n { x: midpoint, y: 0 },\n { x: width - midpoint, y: 0 },\n { x: width, y: -height / 2 },\n { x: width - midpoint, y: -height },\n { x: midpoint, y: -height },\n { x: 0, y: -height / 2 }\n ];\n }\n if (directions.has(\"right\") && directions.has(\"left\") && directions.has(\"down\")) {\n return [\n { x: 0, y: 0 },\n { x: midpoint, y: -height },\n { x: width - midpoint, y: -height },\n { x: width, y: 0 }\n ];\n }\n if (directions.has(\"right\") && directions.has(\"up\") && directions.has(\"down\")) {\n return [\n { x: 0, y: 0 },\n { x: width, y: -midpoint },\n { x: width, y: -height + midpoint },\n { x: 0, y: -height }\n ];\n }\n if (directions.has(\"left\") && directions.has(\"up\") && directions.has(\"down\")) {\n return [\n { x: width, y: 0 },\n { x: 0, y: -midpoint },\n { x: 0, y: -height + midpoint },\n { x: width, y: -height }\n ];\n }\n if (directions.has(\"right\") && directions.has(\"left\")) {\n return [\n { x: midpoint, y: 0 },\n { x: midpoint, y: -padding2 },\n { x: width - midpoint, y: -padding2 },\n { x: width - midpoint, y: 0 },\n { x: width, y: -height / 2 },\n { x: width - midpoint, y: -height },\n { x: width - midpoint, y: -height + padding2 },\n { x: midpoint, y: -height + padding2 },\n { x: midpoint, y: -height },\n { x: 0, y: -height / 2 }\n ];\n }\n if (directions.has(\"up\") && directions.has(\"down\")) {\n return [\n // Bottom center\n { x: width / 2, y: 0 },\n // Left pont of bottom arrow\n { x: 0, y: -padding2 },\n { x: midpoint, y: -padding2 },\n // Left top over vertical section\n { x: midpoint, y: -height + padding2 },\n { x: 0, y: -height + padding2 },\n // Top of arrow\n { x: width / 2, y: -height },\n { x: width, y: -height + padding2 },\n // Top of right vertical bar\n { x: width - midpoint, y: -height + padding2 },\n { x: width - midpoint, y: -padding2 },\n { x: width, y: -padding2 }\n ];\n }\n if (directions.has(\"right\") && directions.has(\"up\")) {\n return [\n { x: 0, y: 0 },\n { x: width, y: -midpoint },\n { x: 0, y: -height }\n ];\n }\n if (directions.has(\"right\") && directions.has(\"down\")) {\n return [\n { x: 0, y: 0 },\n { x: width, y: 0 },\n { x: 0, y: -height }\n ];\n }\n if (directions.has(\"left\") && directions.has(\"up\")) {\n return [\n { x: width, y: 0 },\n { x: 0, y: -midpoint },\n { x: width, y: -height }\n ];\n }\n if (directions.has(\"left\") && directions.has(\"down\")) {\n return [\n { x: width, y: 0 },\n { x: 0, y: 0 },\n { x: width, y: -height }\n ];\n }\n if (directions.has(\"right\")) {\n return [\n { x: midpoint, y: -padding2 },\n { x: midpoint, y: -padding2 },\n { x: width - midpoint, y: -padding2 },\n { x: width - midpoint, y: 0 },\n { x: width, y: -height / 2 },\n { x: width - midpoint, y: -height },\n { x: width - midpoint, y: -height + padding2 },\n // top left corner of arrow\n { x: midpoint, y: -height + padding2 },\n { x: midpoint, y: -height + padding2 }\n ];\n }\n if (directions.has(\"left\")) {\n return [\n { x: midpoint, y: 0 },\n { x: midpoint, y: -padding2 },\n // Two points, the right corners\n { x: width - midpoint, y: -padding2 },\n { x: width - midpoint, y: -height + padding2 },\n { x: midpoint, y: -height + padding2 },\n { x: midpoint, y: -height },\n { x: 0, y: -height / 2 }\n ];\n }\n if (directions.has(\"up\")) {\n return [\n // Bottom center\n { x: midpoint, y: -padding2 },\n // Left top over vertical section\n { x: midpoint, y: -height + padding2 },\n { x: 0, y: -height + padding2 },\n // Top of arrow\n { x: width / 2, y: -height },\n { x: width, y: -height + padding2 },\n // Top of right vertical bar\n { x: width - midpoint, y: -height + padding2 },\n { x: width - midpoint, y: -padding2 }\n ];\n }\n if (directions.has(\"down\")) {\n return [\n // Bottom center\n { x: width / 2, y: 0 },\n // Left pont of bottom arrow\n { x: 0, y: -padding2 },\n { x: midpoint, y: -padding2 },\n // Left top over vertical section\n { x: midpoint, y: -height + padding2 },\n { x: width - midpoint, y: -height + padding2 },\n { x: width - midpoint, y: -padding2 },\n { x: width, y: -padding2 }\n ];\n }\n return [{ x: 0, y: 0 }];\n}, \"getArrowPoints\");\n\n// src/dagre-wrapper/intersect/intersect-node.js\nfunction intersectNode(node, point2) {\n return node.intersect(point2);\n}\n__name(intersectNode, \"intersectNode\");\nvar intersect_node_default = intersectNode;\n\n// src/dagre-wrapper/intersect/intersect-ellipse.js\nfunction intersectEllipse(node, rx, ry, point2) {\n var cx = node.x;\n var cy = node.y;\n var px = cx - point2.x;\n var py = cy - point2.y;\n var det = Math.sqrt(rx * rx * py * py + ry * ry * px * px);\n var dx = Math.abs(rx * ry * px / det);\n if (point2.x < cx) {\n dx = -dx;\n }\n var dy = Math.abs(rx * ry * py / det);\n if (point2.y < cy) {\n dy = -dy;\n }\n return { x: cx + dx, y: cy + dy };\n}\n__name(intersectEllipse, \"intersectEllipse\");\nvar intersect_ellipse_default = intersectEllipse;\n\n// src/dagre-wrapper/intersect/intersect-circle.js\nfunction intersectCircle(node, rx, point2) {\n return intersect_ellipse_default(node, rx, rx, point2);\n}\n__name(intersectCircle, \"intersectCircle\");\nvar intersect_circle_default = intersectCircle;\n\n// src/dagre-wrapper/intersect/intersect-line.js\nfunction intersectLine(p1, p2, q1, q2) {\n var a1, a2, b1, b2, c1, c2;\n var r1, r2, r3, r4;\n var denom, offset, num;\n var x, y;\n a1 = p2.y - p1.y;\n b1 = p1.x - p2.x;\n c1 = p2.x * p1.y - p1.x * p2.y;\n r3 = a1 * q1.x + b1 * q1.y + c1;\n r4 = a1 * q2.x + b1 * q2.y + c1;\n if (r3 !== 0 && r4 !== 0 && sameSign(r3, r4)) {\n return;\n }\n a2 = q2.y - q1.y;\n b2 = q1.x - q2.x;\n c2 = q2.x * q1.y - q1.x * q2.y;\n r1 = a2 * p1.x + b2 * p1.y + c2;\n r2 = a2 * p2.x + b2 * p2.y + c2;\n if (r1 !== 0 && r2 !== 0 && sameSign(r1, r2)) {\n return;\n }\n denom = a1 * b2 - a2 * b1;\n if (denom === 0) {\n return;\n }\n offset = Math.abs(denom / 2);\n num = b1 * c2 - b2 * c1;\n x = num < 0 ? (num - offset) / denom : (num + offset) / denom;\n num = a2 * c1 - a1 * c2;\n y = num < 0 ? (num - offset) / denom : (num + offset) / denom;\n return { x, y };\n}\n__name(intersectLine, \"intersectLine\");\nfunction sameSign(r1, r2) {\n return r1 * r2 > 0;\n}\n__name(sameSign, \"sameSign\");\nvar intersect_line_default = intersectLine;\n\n// src/dagre-wrapper/intersect/intersect-polygon.js\nvar intersect_polygon_default = intersectPolygon;\nfunction intersectPolygon(node, polyPoints, point2) {\n var x1 = node.x;\n var y1 = node.y;\n var intersections = [];\n var minX = Number.POSITIVE_INFINITY;\n var minY = Number.POSITIVE_INFINITY;\n if (typeof polyPoints.forEach === \"function\") {\n polyPoints.forEach(function(entry) {\n minX = Math.min(minX, entry.x);\n minY = Math.min(minY, entry.y);\n });\n } else {\n minX = Math.min(minX, polyPoints.x);\n minY = Math.min(minY, polyPoints.y);\n }\n var left = x1 - node.width / 2 - minX;\n var top = y1 - node.height / 2 - minY;\n for (var i = 0; i < polyPoints.length; i++) {\n var p1 = polyPoints[i];\n var p2 = polyPoints[i < polyPoints.length - 1 ? i + 1 : 0];\n var intersect = intersect_line_default(\n node,\n point2,\n { x: left + p1.x, y: top + p1.y },\n { x: left + p2.x, y: top + p2.y }\n );\n if (intersect) {\n intersections.push(intersect);\n }\n }\n if (!intersections.length) {\n return node;\n }\n if (intersections.length > 1) {\n intersections.sort(function(p, q) {\n var pdx = p.x - point2.x;\n var pdy = p.y - point2.y;\n var distp = Math.sqrt(pdx * pdx + pdy * pdy);\n var qdx = q.x - point2.x;\n var qdy = q.y - point2.y;\n var distq = Math.sqrt(qdx * qdx + qdy * qdy);\n return distp < distq ? -1 : distp === distq ? 0 : 1;\n });\n }\n return intersections[0];\n}\n__name(intersectPolygon, \"intersectPolygon\");\n\n// src/dagre-wrapper/intersect/intersect-rect.js\nvar intersectRect = /* @__PURE__ */ __name((node, point2) => {\n var x = node.x;\n var y = node.y;\n var dx = point2.x - x;\n var dy = point2.y - y;\n var w = node.width / 2;\n var h = node.height / 2;\n var sx, sy;\n if (Math.abs(dy) * w > Math.abs(dx) * h) {\n if (dy < 0) {\n h = -h;\n }\n sx = dy === 0 ? 0 : h * dx / dy;\n sy = h;\n } else {\n if (dx < 0) {\n w = -w;\n }\n sx = w;\n sy = dx === 0 ? 0 : w * dy / dx;\n }\n return { x: x + sx, y: y + sy };\n}, \"intersectRect\");\nvar intersect_rect_default = intersectRect;\n\n// src/dagre-wrapper/intersect/index.js\nvar intersect_default = {\n node: intersect_node_default,\n circle: intersect_circle_default,\n ellipse: intersect_ellipse_default,\n polygon: intersect_polygon_default,\n rect: intersect_rect_default\n};\n\n// src/dagre-wrapper/shapes/util.js\nimport { select as select3 } from \"d3\";\nvar labelHelper = /* @__PURE__ */ __name(async (parent, node, _classes, isNode) => {\n const config2 = getConfig2();\n let classes2;\n const useHtmlLabels = node.useHtmlLabels || evaluate(config2.flowchart.htmlLabels);\n if (!_classes) {\n classes2 = \"node default\";\n } else {\n classes2 = _classes;\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", classes2).attr(\"id\", node.domId || node.id);\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"label\").attr(\"style\", node.labelStyle);\n let labelText;\n if (node.labelText === void 0) {\n labelText = \"\";\n } else {\n labelText = typeof node.labelText === \"string\" ? node.labelText : node.labelText[0];\n }\n const textNode = label.node();\n let text;\n if (node.labelType === \"markdown\") {\n text = createText(\n label,\n sanitizeText(decodeEntities(labelText), config2),\n {\n useHtmlLabels,\n width: node.width || config2.flowchart.wrappingWidth,\n classes: \"markdown-node-label\"\n },\n config2\n );\n } else {\n text = textNode.appendChild(\n createLabel_default(sanitizeText(decodeEntities(labelText), config2), node.labelStyle, false, isNode)\n );\n }\n let bbox = text.getBBox();\n const halfPadding = node.padding / 2;\n if (evaluate(config2.flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select3(text);\n const images = div.getElementsByTagName(\"img\");\n if (images) {\n const noImgText = labelText.replace(/<img[^>]*>/g, \"\").trim() === \"\";\n await Promise.all(\n [...images].map(\n (img) => new Promise((res) => {\n function setupImage() {\n img.style.display = \"flex\";\n img.style.flexDirection = \"column\";\n if (noImgText) {\n const bodyFontSize = config2.fontSize ? config2.fontSize : window.getComputedStyle(document.body).fontSize;\n const enlargingFactor = 5;\n const width = parseInt(bodyFontSize, 10) * enlargingFactor + \"px\";\n img.style.minWidth = width;\n img.style.maxWidth = width;\n } else {\n img.style.width = \"100%\";\n }\n res(img);\n }\n __name(setupImage, \"setupImage\");\n setTimeout(() => {\n if (img.complete) {\n setupImage();\n }\n });\n img.addEventListener(\"error\", setupImage);\n img.addEventListener(\"load\", setupImage);\n })\n )\n );\n }\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n if (useHtmlLabels) {\n label.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n } else {\n label.attr(\"transform\", \"translate(0, \" + -bbox.height / 2 + \")\");\n }\n if (node.centerLabel) {\n label.attr(\"transform\", \"translate(\" + -bbox.width / 2 + \", \" + -bbox.height / 2 + \")\");\n }\n label.insert(\"rect\", \":first-child\");\n return { shapeSvg, bbox, halfPadding, label };\n}, \"labelHelper\");\nvar updateNodeBounds = /* @__PURE__ */ __name((node, element) => {\n const bbox = element.node().getBBox();\n node.width = bbox.width;\n node.height = bbox.height;\n}, \"updateNodeBounds\");\nfunction insertPolygonShape(parent, w, h, points) {\n return parent.insert(\"polygon\", \":first-child\").attr(\n \"points\",\n points.map(function(d) {\n return d.x + \",\" + d.y;\n }).join(\" \")\n ).attr(\"class\", \"label-container\").attr(\"transform\", \"translate(\" + -w / 2 + \",\" + h / 2 + \")\");\n}\n__name(insertPolygonShape, \"insertPolygonShape\");\n\n// src/dagre-wrapper/shapes/note.js\nvar note = /* @__PURE__ */ __name(async (parent, node) => {\n const useHtmlLabels = node.useHtmlLabels || getConfig2().flowchart.htmlLabels;\n if (!useHtmlLabels) {\n node.centerLabel = true;\n }\n const { shapeSvg, bbox, halfPadding } = await labelHelper(\n parent,\n node,\n \"node \" + node.classes,\n true\n );\n log.info(\"Classes = \", node.classes);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n rect2.attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", -bbox.width / 2 - halfPadding).attr(\"y\", -bbox.height / 2 - halfPadding).attr(\"width\", bbox.width + node.padding).attr(\"height\", bbox.height + node.padding);\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"note\");\nvar note_default = note;\n\n// src/dagre-wrapper/nodes.js\nvar formatClass = /* @__PURE__ */ __name((str) => {\n if (str) {\n return \" \" + str;\n }\n return \"\";\n}, \"formatClass\");\nvar getClassesFromNode = /* @__PURE__ */ __name((node, otherClasses) => {\n return `${otherClasses ? otherClasses : \"node default\"}${formatClass(node.classes)} ${formatClass(\n node.class\n )}`;\n}, \"getClassesFromNode\");\nvar question = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const s = w + h;\n const points = [\n { x: s / 2, y: 0 },\n { x: s, y: -s / 2 },\n { x: s / 2, y: -s },\n { x: 0, y: -s / 2 }\n ];\n log.info(\"Question main (Circle)\");\n const questionElem = insertPolygonShape(shapeSvg, s, s, points);\n questionElem.attr(\"style\", node.style);\n updateNodeBounds(node, questionElem);\n node.intersect = function(point2) {\n log.warn(\"Intersect called\");\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"question\");\nvar choice = /* @__PURE__ */ __name((parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"node default\").attr(\"id\", node.domId || node.id);\n const s = 28;\n const points = [\n { x: 0, y: s / 2 },\n { x: s / 2, y: 0 },\n { x: 0, y: -s / 2 },\n { x: -s / 2, y: 0 }\n ];\n const choice2 = shapeSvg.insert(\"polygon\", \":first-child\").attr(\n \"points\",\n points.map(function(d) {\n return d.x + \",\" + d.y;\n }).join(\" \")\n );\n choice2.attr(\"class\", \"state-start\").attr(\"r\", 7).attr(\"width\", 28).attr(\"height\", 28);\n node.width = 28;\n node.height = 28;\n node.intersect = function(point2) {\n return intersect_default.circle(node, 14, point2);\n };\n return shapeSvg;\n}, \"choice\");\nvar hexagon = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const f = 4;\n const h = bbox.height + node.padding;\n const m = h / f;\n const w = bbox.width + 2 * m + node.padding;\n const points = [\n { x: m, y: 0 },\n { x: w - m, y: 0 },\n { x: w, y: -h / 2 },\n { x: w - m, y: -h },\n { x: m, y: -h },\n { x: 0, y: -h / 2 }\n ];\n const hex = insertPolygonShape(shapeSvg, w, h, points);\n hex.attr(\"style\", node.style);\n updateNodeBounds(node, hex);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"hexagon\");\nvar block_arrow = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(parent, node, void 0, true);\n const f = 2;\n const h = bbox.height + 2 * node.padding;\n const m = h / f;\n const w = bbox.width + 2 * m + node.padding;\n const points = getArrowPoints(node.directions, bbox, node);\n const blockArrow = insertPolygonShape(shapeSvg, w, h, points);\n blockArrow.attr(\"style\", node.style);\n updateNodeBounds(node, blockArrow);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"block_arrow\");\nvar rect_left_inv_arrow = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: -h / 2, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: -h / 2, y: -h },\n { x: 0, y: -h / 2 }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n node.width = w + h;\n node.height = h;\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"rect_left_inv_arrow\");\nvar lean_right = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(parent, node, getClassesFromNode(node), true);\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: -2 * h / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + 2 * h / 6, y: -h },\n { x: h / 6, y: -h }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"lean_right\");\nvar lean_left = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 2 * h / 6, y: 0 },\n { x: w + h / 6, y: 0 },\n { x: w - 2 * h / 6, y: -h },\n { x: -h / 6, y: -h }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"lean_left\");\nvar trapezoid = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: -2 * h / 6, y: 0 },\n { x: w + 2 * h / 6, y: 0 },\n { x: w - h / 6, y: -h },\n { x: h / 6, y: -h }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"trapezoid\");\nvar inv_trapezoid = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: h / 6, y: 0 },\n { x: w - h / 6, y: 0 },\n { x: w + 2 * h / 6, y: -h },\n { x: -2 * h / 6, y: -h }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"inv_trapezoid\");\nvar rect_right_inv_arrow = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 0, y: 0 },\n { x: w + h / 2, y: 0 },\n { x: w, y: -h / 2 },\n { x: w + h / 2, y: -h },\n { x: 0, y: -h }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"rect_right_inv_arrow\");\nvar cylinder = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const rx = w / 2;\n const ry = rx / (2.5 + w / 50);\n const h = bbox.height + ry + node.padding;\n const shape = \"M 0,\" + ry + \" a \" + rx + \",\" + ry + \" 0,0,0 \" + w + \" 0 a \" + rx + \",\" + ry + \" 0,0,0 \" + -w + \" 0 l 0,\" + h + \" a \" + rx + \",\" + ry + \" 0,0,0 \" + w + \" 0 l 0,\" + -h;\n const el = shapeSvg.attr(\"label-offset-y\", ry).insert(\"path\", \":first-child\").attr(\"style\", node.style).attr(\"d\", shape).attr(\"transform\", \"translate(\" + -w / 2 + \",\" + -(h / 2 + ry) + \")\");\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n const pos = intersect_default.rect(node, point2);\n const x = pos.x - node.x;\n if (rx != 0 && (Math.abs(x) < node.width / 2 || Math.abs(x) == node.width / 2 && Math.abs(pos.y - node.y) > node.height / 2 - ry)) {\n let y = ry * ry * (1 - x * x / (rx * rx));\n if (y != 0) {\n y = Math.sqrt(y);\n }\n y = ry - y;\n if (point2.y - node.y > 0) {\n y = -y;\n }\n pos.y += y;\n }\n return pos;\n };\n return shapeSvg;\n}, \"cylinder\");\nvar rect = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = await labelHelper(\n parent,\n node,\n \"node \" + node.classes + \" \" + node.class,\n true\n );\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const totalWidth = node.positioned ? node.width : bbox.width + node.padding;\n const totalHeight = node.positioned ? node.height : bbox.height + node.padding;\n const x = node.positioned ? -totalWidth / 2 : -bbox.width / 2 - halfPadding;\n const y = node.positioned ? -totalHeight / 2 : -bbox.height / 2 - halfPadding;\n rect2.attr(\"class\", \"basic label-container\").attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", x).attr(\"y\", y).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n if (node.props) {\n const propKeys = new Set(Object.keys(node.props));\n if (node.props.borders) {\n applyNodePropertyBorders(rect2, node.props.borders, totalWidth, totalHeight);\n propKeys.delete(\"borders\");\n }\n propKeys.forEach((propKey) => {\n log.warn(`Unknown node property ${propKey}`);\n });\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"rect\");\nvar composite = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = await labelHelper(\n parent,\n node,\n \"node \" + node.classes,\n true\n );\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const totalWidth = node.positioned ? node.width : bbox.width + node.padding;\n const totalHeight = node.positioned ? node.height : bbox.height + node.padding;\n const x = node.positioned ? -totalWidth / 2 : -bbox.width / 2 - halfPadding;\n const y = node.positioned ? -totalHeight / 2 : -bbox.height / 2 - halfPadding;\n rect2.attr(\"class\", \"basic cluster composite label-container\").attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", x).attr(\"y\", y).attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n if (node.props) {\n const propKeys = new Set(Object.keys(node.props));\n if (node.props.borders) {\n applyNodePropertyBorders(rect2, node.props.borders, totalWidth, totalHeight);\n propKeys.delete(\"borders\");\n }\n propKeys.forEach((propKey) => {\n log.warn(`Unknown node property ${propKey}`);\n });\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"composite\");\nvar labelRect = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg } = await labelHelper(parent, node, \"label\", true);\n log.trace(\"Classes = \", node.class);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const totalWidth = 0;\n const totalHeight = 0;\n rect2.attr(\"width\", totalWidth).attr(\"height\", totalHeight);\n shapeSvg.attr(\"class\", \"label edgeLabel\");\n if (node.props) {\n const propKeys = new Set(Object.keys(node.props));\n if (node.props.borders) {\n applyNodePropertyBorders(rect2, node.props.borders, totalWidth, totalHeight);\n propKeys.delete(\"borders\");\n }\n propKeys.forEach((propKey) => {\n log.warn(`Unknown node property ${propKey}`);\n });\n }\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"labelRect\");\nfunction applyNodePropertyBorders(rect2, borders, totalWidth, totalHeight) {\n const strokeDashArray = [];\n const addBorder = /* @__PURE__ */ __name((length) => {\n strokeDashArray.push(length, 0);\n }, \"addBorder\");\n const skipBorder = /* @__PURE__ */ __name((length) => {\n strokeDashArray.push(0, length);\n }, \"skipBorder\");\n if (borders.includes(\"t\")) {\n log.debug(\"add top border\");\n addBorder(totalWidth);\n } else {\n skipBorder(totalWidth);\n }\n if (borders.includes(\"r\")) {\n log.debug(\"add right border\");\n addBorder(totalHeight);\n } else {\n skipBorder(totalHeight);\n }\n if (borders.includes(\"b\")) {\n log.debug(\"add bottom border\");\n addBorder(totalWidth);\n } else {\n skipBorder(totalWidth);\n }\n if (borders.includes(\"l\")) {\n log.debug(\"add left border\");\n addBorder(totalHeight);\n } else {\n skipBorder(totalHeight);\n }\n rect2.attr(\"stroke-dasharray\", strokeDashArray.join(\" \"));\n}\n__name(applyNodePropertyBorders, \"applyNodePropertyBorders\");\nvar rectWithTitle = /* @__PURE__ */ __name((parent, node) => {\n let classes2;\n if (!node.classes) {\n classes2 = \"node default\";\n } else {\n classes2 = \"node \" + node.classes;\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", classes2).attr(\"id\", node.domId || node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const innerLine = shapeSvg.insert(\"line\");\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"label\");\n const text2 = node.labelText.flat ? node.labelText.flat() : node.labelText;\n let title = \"\";\n if (typeof text2 === \"object\") {\n title = text2[0];\n } else {\n title = text2;\n }\n log.info(\"Label text abc79\", title, text2, typeof text2 === \"object\");\n const text = label.node().appendChild(createLabel_default(title, node.labelStyle, true, true));\n let bbox = { width: 0, height: 0 };\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select4(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n log.info(\"Text 2\", text2);\n const textRows = text2.slice(1, text2.length);\n let titleBox = text.getBBox();\n const descr = label.node().appendChild(\n createLabel_default(textRows.join ? textRows.join(\"<br/>\") : textRows, node.labelStyle, true, true)\n );\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n const div = descr.children[0];\n const dv = select4(descr);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const halfPadding = node.padding / 2;\n select4(descr).attr(\n \"transform\",\n \"translate( \" + // (titleBox.width - bbox.width) / 2 +\n (bbox.width > titleBox.width ? 0 : (titleBox.width - bbox.width) / 2) + \", \" + (titleBox.height + halfPadding + 5) + \")\"\n );\n select4(text).attr(\n \"transform\",\n \"translate( \" + // (titleBox.width - bbox.width) / 2 +\n (bbox.width < titleBox.width ? 0 : -(titleBox.width - bbox.width) / 2) + \", 0)\"\n );\n bbox = label.node().getBBox();\n label.attr(\n \"transform\",\n \"translate(\" + -bbox.width / 2 + \", \" + (-bbox.height / 2 - halfPadding + 3) + \")\"\n );\n rect2.attr(\"class\", \"outer title-state\").attr(\"x\", -bbox.width / 2 - halfPadding).attr(\"y\", -bbox.height / 2 - halfPadding).attr(\"width\", bbox.width + node.padding).attr(\"height\", bbox.height + node.padding);\n innerLine.attr(\"class\", \"divider\").attr(\"x1\", -bbox.width / 2 - halfPadding).attr(\"x2\", bbox.width / 2 + halfPadding).attr(\"y1\", -bbox.height / 2 - halfPadding + titleBox.height + halfPadding).attr(\"y2\", -bbox.height / 2 - halfPadding + titleBox.height + halfPadding);\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"rectWithTitle\");\nvar stadium = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const h = bbox.height + node.padding;\n const w = bbox.width + h / 4 + node.padding;\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\").attr(\"style\", node.style).attr(\"rx\", h / 2).attr(\"ry\", h / 2).attr(\"x\", -w / 2).attr(\"y\", -h / 2).attr(\"width\", w).attr(\"height\", h);\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"stadium\");\nvar circle2 = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const circle3 = shapeSvg.insert(\"circle\", \":first-child\");\n circle3.attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"r\", bbox.width / 2 + halfPadding).attr(\"width\", bbox.width + node.padding).attr(\"height\", bbox.height + node.padding);\n log.info(\"Circle main\");\n updateNodeBounds(node, circle3);\n node.intersect = function(point2) {\n log.info(\"Circle intersect\", node, bbox.width / 2 + halfPadding, point2);\n return intersect_default.circle(node, bbox.width / 2 + halfPadding, point2);\n };\n return shapeSvg;\n}, \"circle\");\nvar doublecircle = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox, halfPadding } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const gap = 5;\n const circleGroup = shapeSvg.insert(\"g\", \":first-child\");\n const outerCircle = circleGroup.insert(\"circle\");\n const innerCircle = circleGroup.insert(\"circle\");\n circleGroup.attr(\"class\", node.class);\n outerCircle.attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"r\", bbox.width / 2 + halfPadding + gap).attr(\"width\", bbox.width + node.padding + gap * 2).attr(\"height\", bbox.height + node.padding + gap * 2);\n innerCircle.attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"r\", bbox.width / 2 + halfPadding).attr(\"width\", bbox.width + node.padding).attr(\"height\", bbox.height + node.padding);\n log.info(\"DoubleCircle main\");\n updateNodeBounds(node, outerCircle);\n node.intersect = function(point2) {\n log.info(\"DoubleCircle intersect\", node, bbox.width / 2 + halfPadding + gap, point2);\n return intersect_default.circle(node, bbox.width / 2 + halfPadding + gap, point2);\n };\n return shapeSvg;\n}, \"doublecircle\");\nvar subroutine = /* @__PURE__ */ __name(async (parent, node) => {\n const { shapeSvg, bbox } = await labelHelper(\n parent,\n node,\n getClassesFromNode(node, void 0),\n true\n );\n const w = bbox.width + node.padding;\n const h = bbox.height + node.padding;\n const points = [\n { x: 0, y: 0 },\n { x: w, y: 0 },\n { x: w, y: -h },\n { x: 0, y: -h },\n { x: 0, y: 0 },\n { x: -8, y: 0 },\n { x: w + 8, y: 0 },\n { x: w + 8, y: -h },\n { x: -8, y: -h },\n { x: -8, y: 0 }\n ];\n const el = insertPolygonShape(shapeSvg, w, h, points);\n el.attr(\"style\", node.style);\n updateNodeBounds(node, el);\n node.intersect = function(point2) {\n return intersect_default.polygon(node, points, point2);\n };\n return shapeSvg;\n}, \"subroutine\");\nvar start = /* @__PURE__ */ __name((parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"node default\").attr(\"id\", node.domId || node.id);\n const circle3 = shapeSvg.insert(\"circle\", \":first-child\");\n circle3.attr(\"class\", \"state-start\").attr(\"r\", 7).attr(\"width\", 14).attr(\"height\", 14);\n updateNodeBounds(node, circle3);\n node.intersect = function(point2) {\n return intersect_default.circle(node, 7, point2);\n };\n return shapeSvg;\n}, \"start\");\nvar forkJoin = /* @__PURE__ */ __name((parent, node, dir) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"node default\").attr(\"id\", node.domId || node.id);\n let width = 70;\n let height = 10;\n if (dir === \"LR\") {\n width = 10;\n height = 70;\n }\n const shape = shapeSvg.append(\"rect\").attr(\"x\", -1 * width / 2).attr(\"y\", -1 * height / 2).attr(\"width\", width).attr(\"height\", height).attr(\"class\", \"fork-join\");\n updateNodeBounds(node, shape);\n node.height = node.height + node.padding / 2;\n node.width = node.width + node.padding / 2;\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"forkJoin\");\nvar end = /* @__PURE__ */ __name((parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"node default\").attr(\"id\", node.domId || node.id);\n const innerCircle = shapeSvg.insert(\"circle\", \":first-child\");\n const circle3 = shapeSvg.insert(\"circle\", \":first-child\");\n circle3.attr(\"class\", \"state-start\").attr(\"r\", 7).attr(\"width\", 14).attr(\"height\", 14);\n innerCircle.attr(\"class\", \"state-end\").attr(\"r\", 5).attr(\"width\", 10).attr(\"height\", 10);\n updateNodeBounds(node, circle3);\n node.intersect = function(point2) {\n return intersect_default.circle(node, 7, point2);\n };\n return shapeSvg;\n}, \"end\");\nvar class_box = /* @__PURE__ */ __name((parent, node) => {\n const halfPadding = node.padding / 2;\n const rowPadding = 4;\n const lineHeight = 8;\n let classes2;\n if (!node.classes) {\n classes2 = \"node default\";\n } else {\n classes2 = \"node \" + node.classes;\n }\n const shapeSvg = parent.insert(\"g\").attr(\"class\", classes2).attr(\"id\", node.domId || node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const topLine = shapeSvg.insert(\"line\");\n const bottomLine = shapeSvg.insert(\"line\");\n let maxWidth = 0;\n let maxHeight = rowPadding;\n const labelContainer = shapeSvg.insert(\"g\").attr(\"class\", \"label\");\n let verticalPos = 0;\n const hasInterface = node.classData.annotations?.[0];\n const interfaceLabelText = node.classData.annotations[0] ? \"\\xAB\" + node.classData.annotations[0] + \"\\xBB\" : \"\";\n const interfaceLabel = labelContainer.node().appendChild(createLabel_default(interfaceLabelText, node.labelStyle, true, true));\n let interfaceBBox = interfaceLabel.getBBox();\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n const div = interfaceLabel.children[0];\n const dv = select4(interfaceLabel);\n interfaceBBox = div.getBoundingClientRect();\n dv.attr(\"width\", interfaceBBox.width);\n dv.attr(\"height\", interfaceBBox.height);\n }\n if (node.classData.annotations[0]) {\n maxHeight += interfaceBBox.height + rowPadding;\n maxWidth += interfaceBBox.width;\n }\n let classTitleString = node.classData.label;\n if (node.classData.type !== void 0 && node.classData.type !== \"\") {\n if (getConfig2().flowchart.htmlLabels) {\n classTitleString += \"<\" + node.classData.type + \">\";\n } else {\n classTitleString += \"<\" + node.classData.type + \">\";\n }\n }\n const classTitleLabel = labelContainer.node().appendChild(createLabel_default(classTitleString, node.labelStyle, true, true));\n select4(classTitleLabel).attr(\"class\", \"classTitle\");\n let classTitleBBox = classTitleLabel.getBBox();\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n const div = classTitleLabel.children[0];\n const dv = select4(classTitleLabel);\n classTitleBBox = div.getBoundingClientRect();\n dv.attr(\"width\", classTitleBBox.width);\n dv.attr(\"height\", classTitleBBox.height);\n }\n maxHeight += classTitleBBox.height + rowPadding;\n if (classTitleBBox.width > maxWidth) {\n maxWidth = classTitleBBox.width;\n }\n const classAttributes = [];\n node.classData.members.forEach((member) => {\n const parsedInfo = member.getDisplayDetails();\n let parsedText = parsedInfo.displayText;\n if (getConfig2().flowchart.htmlLabels) {\n parsedText = parsedText.replace(/</g, \"<\").replace(/>/g, \">\");\n }\n const lbl = labelContainer.node().appendChild(\n createLabel_default(\n parsedText,\n parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle,\n true,\n true\n )\n );\n let bbox = lbl.getBBox();\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n const div = lbl.children[0];\n const dv = select4(lbl);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n if (bbox.width > maxWidth) {\n maxWidth = bbox.width;\n }\n maxHeight += bbox.height + rowPadding;\n classAttributes.push(lbl);\n });\n maxHeight += lineHeight;\n const classMethods = [];\n node.classData.methods.forEach((member) => {\n const parsedInfo = member.getDisplayDetails();\n let displayText = parsedInfo.displayText;\n if (getConfig2().flowchart.htmlLabels) {\n displayText = displayText.replace(/</g, \"<\").replace(/>/g, \">\");\n }\n const lbl = labelContainer.node().appendChild(\n createLabel_default(\n displayText,\n parsedInfo.cssStyle ? parsedInfo.cssStyle : node.labelStyle,\n true,\n true\n )\n );\n let bbox = lbl.getBBox();\n if (evaluate(getConfig2().flowchart.htmlLabels)) {\n const div = lbl.children[0];\n const dv = select4(lbl);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n if (bbox.width > maxWidth) {\n maxWidth = bbox.width;\n }\n maxHeight += bbox.height + rowPadding;\n classMethods.push(lbl);\n });\n maxHeight += lineHeight;\n if (hasInterface) {\n let diffX2 = (maxWidth - interfaceBBox.width) / 2;\n select4(interfaceLabel).attr(\n \"transform\",\n \"translate( \" + (-1 * maxWidth / 2 + diffX2) + \", \" + -1 * maxHeight / 2 + \")\"\n );\n verticalPos = interfaceBBox.height + rowPadding;\n }\n let diffX = (maxWidth - classTitleBBox.width) / 2;\n select4(classTitleLabel).attr(\n \"transform\",\n \"translate( \" + (-1 * maxWidth / 2 + diffX) + \", \" + (-1 * maxHeight / 2 + verticalPos) + \")\"\n );\n verticalPos += classTitleBBox.height + rowPadding;\n topLine.attr(\"class\", \"divider\").attr(\"x1\", -maxWidth / 2 - halfPadding).attr(\"x2\", maxWidth / 2 + halfPadding).attr(\"y1\", -maxHeight / 2 - halfPadding + lineHeight + verticalPos).attr(\"y2\", -maxHeight / 2 - halfPadding + lineHeight + verticalPos);\n verticalPos += lineHeight;\n classAttributes.forEach((lbl) => {\n select4(lbl).attr(\n \"transform\",\n \"translate( \" + -maxWidth / 2 + \", \" + (-1 * maxHeight / 2 + verticalPos + lineHeight / 2) + \")\"\n );\n const memberBBox = lbl?.getBBox();\n verticalPos += (memberBBox?.height ?? 0) + rowPadding;\n });\n verticalPos += lineHeight;\n bottomLine.attr(\"class\", \"divider\").attr(\"x1\", -maxWidth / 2 - halfPadding).attr(\"x2\", maxWidth / 2 + halfPadding).attr(\"y1\", -maxHeight / 2 - halfPadding + lineHeight + verticalPos).attr(\"y2\", -maxHeight / 2 - halfPadding + lineHeight + verticalPos);\n verticalPos += lineHeight;\n classMethods.forEach((lbl) => {\n select4(lbl).attr(\n \"transform\",\n \"translate( \" + -maxWidth / 2 + \", \" + (-1 * maxHeight / 2 + verticalPos) + \")\"\n );\n const memberBBox = lbl?.getBBox();\n verticalPos += (memberBBox?.height ?? 0) + rowPadding;\n });\n rect2.attr(\"style\", node.style).attr(\"class\", \"outer title-state\").attr(\"x\", -maxWidth / 2 - halfPadding).attr(\"y\", -(maxHeight / 2) - halfPadding).attr(\"width\", maxWidth + node.padding).attr(\"height\", maxHeight + node.padding);\n updateNodeBounds(node, rect2);\n node.intersect = function(point2) {\n return intersect_default.rect(node, point2);\n };\n return shapeSvg;\n}, \"class_box\");\nvar shapes = {\n rhombus: question,\n composite,\n question,\n rect,\n labelRect,\n rectWithTitle,\n choice,\n circle: circle2,\n doublecircle,\n stadium,\n hexagon,\n block_arrow,\n rect_left_inv_arrow,\n lean_right,\n lean_left,\n trapezoid,\n inv_trapezoid,\n rect_right_inv_arrow,\n cylinder,\n start,\n end,\n note: note_default,\n subroutine,\n fork: forkJoin,\n join: forkJoin,\n class_box\n};\nvar nodeElems = {};\nvar insertNode = /* @__PURE__ */ __name(async (elem, node, renderOptions) => {\n let newEl;\n let el;\n if (node.link) {\n let target;\n if (getConfig2().securityLevel === \"sandbox\") {\n target = \"_top\";\n } else if (node.linkTarget) {\n target = node.linkTarget || \"_blank\";\n }\n newEl = elem.insert(\"svg:a\").attr(\"xlink:href\", node.link).attr(\"target\", target);\n el = await shapes[node.shape](newEl, node, renderOptions);\n } else {\n el = await shapes[node.shape](elem, node, renderOptions);\n newEl = el;\n }\n if (node.tooltip) {\n el.attr(\"title\", node.tooltip);\n }\n if (node.class) {\n el.attr(\"class\", \"node default \" + node.class);\n }\n nodeElems[node.id] = newEl;\n if (node.haveCallback) {\n nodeElems[node.id].attr(\"class\", nodeElems[node.id].attr(\"class\") + \" clickable\");\n }\n return newEl;\n}, \"insertNode\");\nvar positionNode = /* @__PURE__ */ __name((node) => {\n const el = nodeElems[node.id];\n log.trace(\n \"Transforming node\",\n node.diff,\n node,\n \"translate(\" + (node.x - node.width / 2 - 5) + \", \" + node.width / 2 + \")\"\n );\n const padding2 = 8;\n const diff = node.diff || 0;\n if (node.clusterNode) {\n el.attr(\n \"transform\",\n \"translate(\" + (node.x + diff - node.width / 2) + \", \" + (node.y - node.height / 2 - padding2) + \")\"\n );\n } else {\n el.attr(\"transform\", \"translate(\" + node.x + \", \" + node.y + \")\");\n }\n return diff;\n}, \"positionNode\");\n\n// src/diagrams/block/renderHelpers.ts\nfunction getNodeFromBlock(block, db2, positioned = false) {\n const vertex = block;\n let classStr = \"default\";\n if ((vertex?.classes?.length || 0) > 0) {\n classStr = (vertex?.classes ?? []).join(\" \");\n }\n classStr = classStr + \" flowchart-label\";\n let radius = 0;\n let shape = \"\";\n let padding2;\n switch (vertex.type) {\n case \"round\":\n radius = 5;\n shape = \"rect\";\n break;\n case \"composite\":\n radius = 0;\n shape = \"composite\";\n padding2 = 0;\n break;\n case \"square\":\n shape = \"rect\";\n break;\n case \"diamond\":\n shape = \"question\";\n break;\n case \"hexagon\":\n shape = \"hexagon\";\n break;\n case \"block_arrow\":\n shape = \"block_arrow\";\n break;\n case \"odd\":\n shape = \"rect_left_inv_arrow\";\n break;\n case \"lean_right\":\n shape = \"lean_right\";\n break;\n case \"lean_left\":\n shape = \"lean_left\";\n break;\n case \"trapezoid\":\n shape = \"trapezoid\";\n break;\n case \"inv_trapezoid\":\n shape = \"inv_trapezoid\";\n break;\n case \"rect_left_inv_arrow\":\n shape = \"rect_left_inv_arrow\";\n break;\n case \"circle\":\n shape = \"circle\";\n break;\n case \"ellipse\":\n shape = \"ellipse\";\n break;\n case \"stadium\":\n shape = \"stadium\";\n break;\n case \"subroutine\":\n shape = \"subroutine\";\n break;\n case \"cylinder\":\n shape = \"cylinder\";\n break;\n case \"group\":\n shape = \"rect\";\n break;\n case \"doublecircle\":\n shape = \"doublecircle\";\n break;\n default:\n shape = \"rect\";\n }\n const styles = getStylesFromArray(vertex?.styles ?? []);\n const vertexText = vertex.label;\n const bounds = vertex.size ?? { width: 0, height: 0, x: 0, y: 0 };\n const node = {\n labelStyle: styles.labelStyle,\n shape,\n labelText: vertexText,\n rx: radius,\n ry: radius,\n class: classStr,\n style: styles.style,\n id: vertex.id,\n directions: vertex.directions,\n width: bounds.width,\n height: bounds.height,\n x: bounds.x,\n y: bounds.y,\n positioned,\n intersect: void 0,\n type: vertex.type,\n padding: padding2 ?? getConfig()?.block?.padding ?? 0\n };\n return node;\n}\n__name(getNodeFromBlock, \"getNodeFromBlock\");\nasync function calculateBlockSize(elem, block, db2) {\n const node = getNodeFromBlock(block, db2, false);\n if (node.type === \"group\") {\n return;\n }\n const config2 = getConfig();\n const nodeEl = await insertNode(elem, node, { config: config2 });\n const boundingBox = nodeEl.node().getBBox();\n const obj = db2.getBlock(node.id);\n obj.size = { width: boundingBox.width, height: boundingBox.height, x: 0, y: 0, node: nodeEl };\n db2.setBlock(obj);\n nodeEl.remove();\n}\n__name(calculateBlockSize, \"calculateBlockSize\");\nasync function insertBlockPositioned(elem, block, db2) {\n const node = getNodeFromBlock(block, db2, true);\n const obj = db2.getBlock(node.id);\n if (obj.type !== \"space\") {\n const config2 = getConfig();\n await insertNode(elem, node, { config: config2 });\n block.intersect = node?.intersect;\n positionNode(node);\n }\n}\n__name(insertBlockPositioned, \"insertBlockPositioned\");\nasync function performOperations(elem, blocks2, db2, operation) {\n for (const block of blocks2) {\n await operation(elem, block, db2);\n if (block.children) {\n await performOperations(elem, block.children, db2, operation);\n }\n }\n}\n__name(performOperations, \"performOperations\");\nasync function calculateBlockSizes(elem, blocks2, db2) {\n await performOperations(elem, blocks2, db2, calculateBlockSize);\n}\n__name(calculateBlockSizes, \"calculateBlockSizes\");\nasync function insertBlocks(elem, blocks2, db2) {\n await performOperations(elem, blocks2, db2, insertBlockPositioned);\n}\n__name(insertBlocks, \"insertBlocks\");\nasync function insertEdges(elem, edges, blocks2, db2, id) {\n const g = new graphlib.Graph({\n multigraph: true,\n compound: true\n });\n g.setGraph({\n rankdir: \"TB\",\n nodesep: 10,\n ranksep: 10,\n marginx: 8,\n marginy: 8\n });\n for (const block of blocks2) {\n if (block.size) {\n g.setNode(block.id, {\n width: block.size.width,\n height: block.size.height,\n intersect: block.intersect\n });\n }\n }\n for (const edge of edges) {\n if (edge.start && edge.end) {\n const startBlock = db2.getBlock(edge.start);\n const endBlock = db2.getBlock(edge.end);\n if (startBlock?.size && endBlock?.size) {\n const start2 = startBlock.size;\n const end2 = endBlock.size;\n const points = [\n { x: start2.x, y: start2.y },\n { x: start2.x + (end2.x - start2.x) / 2, y: start2.y + (end2.y - start2.y) / 2 },\n { x: end2.x, y: end2.y }\n ];\n insertEdge(\n elem,\n { v: edge.start, w: edge.end, name: edge.id },\n {\n ...edge,\n arrowTypeEnd: edge.arrowTypeEnd,\n arrowTypeStart: edge.arrowTypeStart,\n points,\n classes: \"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1\"\n },\n void 0,\n \"block\",\n g,\n id\n );\n if (edge.label) {\n await insertEdgeLabel(elem, {\n ...edge,\n label: edge.label,\n labelStyle: \"stroke: #333; stroke-width: 1.5px;fill:none;\",\n arrowTypeEnd: edge.arrowTypeEnd,\n arrowTypeStart: edge.arrowTypeStart,\n points,\n classes: \"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1\"\n });\n positionEdgeLabel(\n { ...edge, x: points[1].x, y: points[1].y },\n {\n originalPath: points\n }\n );\n }\n }\n }\n }\n}\n__name(insertEdges, \"insertEdges\");\n\n// src/diagrams/block/blockRenderer.ts\nvar getClasses2 = /* @__PURE__ */ __name(function(text, diagObj) {\n return diagObj.db.getClasses();\n}, \"getClasses\");\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diagObj) {\n const { securityLevel, block: conf } = getConfig();\n const db2 = diagObj.db;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = d3select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? d3select(sandboxElement.nodes()[0].contentDocument.body) : d3select(\"body\");\n const svg = securityLevel === \"sandbox\" ? root.select(`[id=\"${id}\"]`) : d3select(`[id=\"${id}\"]`);\n const markers2 = [\"point\", \"circle\", \"cross\"];\n markers_default(svg, markers2, diagObj.type, id);\n const bl = db2.getBlocks();\n const blArr = db2.getBlocksFlat();\n const edges = db2.getEdges();\n const nodes = svg.insert(\"g\").attr(\"class\", \"block\");\n await calculateBlockSizes(nodes, bl, db2);\n const bounds = layout(db2);\n await insertBlocks(nodes, bl, db2);\n await insertEdges(nodes, edges, blArr, db2, id);\n if (bounds) {\n const bounds2 = bounds;\n const magicFactor = Math.max(1, Math.round(0.125 * (bounds2.width / bounds2.height)));\n const height = bounds2.height + magicFactor + 10;\n const width = bounds2.width + 10;\n const { useMaxWidth } = conf;\n configureSvgSize(svg, height, width, !!useMaxWidth);\n log.debug(\"Here Bounds\", bounds, bounds2);\n svg.attr(\n \"viewBox\",\n `${bounds2.x - 5} ${bounds2.y - 5} ${bounds2.width + 10} ${bounds2.height + 10}`\n );\n }\n}, \"draw\");\nvar blockRenderer_default = {\n draw,\n getClasses: getClasses2\n};\n\n// src/diagrams/block/blockDiagram.ts\nvar diagram = {\n parser: block_default,\n db: blockDB_default,\n renderer: blockRenderer_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n", + "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"layoutBase\"] = factory();\n\telse\n\t\troot[\"layoutBase\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 28);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LayoutConstants() {}\n\n/**\r\n * Layout Quality: 0:draft, 1:default, 2:proof\r\n */\nLayoutConstants.QUALITY = 1;\n\n/**\r\n * Default parameters\r\n */\nLayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED = false;\nLayoutConstants.DEFAULT_INCREMENTAL = false;\nLayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT = true;\nLayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT = false;\nLayoutConstants.DEFAULT_ANIMATION_PERIOD = 50;\nLayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = false;\n\n// -----------------------------------------------------------------------------\n// Section: General other constants\n// -----------------------------------------------------------------------------\n/*\r\n * Margins of a graph to be applied on bouding rectangle of its contents. We\r\n * assume margins on all four sides to be uniform.\r\n */\nLayoutConstants.DEFAULT_GRAPH_MARGIN = 15;\n\n/*\r\n * Whether to consider labels in node dimensions or not\r\n */\nLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = false;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_SIZE = 40;\n\n/*\r\n * Default dimension of a non-compound node.\r\n */\nLayoutConstants.SIMPLE_NODE_HALF_SIZE = LayoutConstants.SIMPLE_NODE_SIZE / 2;\n\n/*\r\n * Empty compound node size. When a compound node is empty, its both\r\n * dimensions should be of this value.\r\n */\nLayoutConstants.EMPTY_COMPOUND_NODE_SIZE = 40;\n\n/*\r\n * Minimum length that an edge should take during layout\r\n */\nLayoutConstants.MIN_EDGE_LENGTH = 1;\n\n/*\r\n * World boundaries that layout operates on\r\n */\nLayoutConstants.WORLD_BOUNDARY = 1000000;\n\n/*\r\n * World boundaries that random positioning can be performed with\r\n */\nLayoutConstants.INITIAL_WORLD_BOUNDARY = LayoutConstants.WORLD_BOUNDARY / 1000;\n\n/*\r\n * Coordinates of the world center\r\n */\nLayoutConstants.WORLD_CENTER_X = 1200;\nLayoutConstants.WORLD_CENTER_Y = 900;\n\nmodule.exports = LayoutConstants;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction LEdge(source, target, vEdge) {\n LGraphObject.call(this, vEdge);\n\n this.isOverlapingSourceAndTarget = false;\n this.vGraphObject = vEdge;\n this.bendpoints = [];\n this.source = source;\n this.target = target;\n}\n\nLEdge.prototype = Object.create(LGraphObject.prototype);\n\nfor (var prop in LGraphObject) {\n LEdge[prop] = LGraphObject[prop];\n}\n\nLEdge.prototype.getSource = function () {\n return this.source;\n};\n\nLEdge.prototype.getTarget = function () {\n return this.target;\n};\n\nLEdge.prototype.isInterGraph = function () {\n return this.isInterGraph;\n};\n\nLEdge.prototype.getLength = function () {\n return this.length;\n};\n\nLEdge.prototype.isOverlapingSourceAndTarget = function () {\n return this.isOverlapingSourceAndTarget;\n};\n\nLEdge.prototype.getBendpoints = function () {\n return this.bendpoints;\n};\n\nLEdge.prototype.getLca = function () {\n return this.lca;\n};\n\nLEdge.prototype.getSourceInLca = function () {\n return this.sourceInLca;\n};\n\nLEdge.prototype.getTargetInLca = function () {\n return this.targetInLca;\n};\n\nLEdge.prototype.getOtherEnd = function (node) {\n if (this.source === node) {\n return this.target;\n } else if (this.target === node) {\n return this.source;\n } else {\n throw \"Node is not incident with this edge\";\n }\n};\n\nLEdge.prototype.getOtherEndInGraph = function (node, graph) {\n var otherEnd = this.getOtherEnd(node);\n var root = graph.getGraphManager().getRoot();\n\n while (true) {\n if (otherEnd.getOwner() == graph) {\n return otherEnd;\n }\n\n if (otherEnd.getOwner() == root) {\n break;\n }\n\n otherEnd = otherEnd.getOwner().getParent();\n }\n\n return null;\n};\n\nLEdge.prototype.updateLength = function () {\n var clipPointCoordinates = new Array(4);\n\n this.isOverlapingSourceAndTarget = IGeometry.getIntersection(this.target.getRect(), this.source.getRect(), clipPointCoordinates);\n\n if (!this.isOverlapingSourceAndTarget) {\n this.lengthX = clipPointCoordinates[0] - clipPointCoordinates[2];\n this.lengthY = clipPointCoordinates[1] - clipPointCoordinates[3];\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n }\n};\n\nLEdge.prototype.updateLengthSimple = function () {\n this.lengthX = this.target.getCenterX() - this.source.getCenterX();\n this.lengthY = this.target.getCenterY() - this.source.getCenterY();\n\n if (Math.abs(this.lengthX) < 1.0) {\n this.lengthX = IMath.sign(this.lengthX);\n }\n\n if (Math.abs(this.lengthY) < 1.0) {\n this.lengthY = IMath.sign(this.lengthY);\n }\n\n this.length = Math.sqrt(this.lengthX * this.lengthX + this.lengthY * this.lengthY);\n};\n\nmodule.exports = LEdge;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction LGraphObject(vGraphObject) {\n this.vGraphObject = vGraphObject;\n}\n\nmodule.exports = LGraphObject;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar RectangleD = __webpack_require__(13);\nvar LayoutConstants = __webpack_require__(0);\nvar RandomSeed = __webpack_require__(16);\nvar PointD = __webpack_require__(5);\n\nfunction LNode(gm, loc, size, vNode) {\n //Alternative constructor 1 : LNode(LGraphManager gm, Point loc, Dimension size, Object vNode)\n if (size == null && vNode == null) {\n vNode = loc;\n }\n\n LGraphObject.call(this, vNode);\n\n //Alternative constructor 2 : LNode(Layout layout, Object vNode)\n if (gm.graphManager != null) gm = gm.graphManager;\n\n this.estimatedSize = Integer.MIN_VALUE;\n this.inclusionTreeDepth = Integer.MAX_VALUE;\n this.vGraphObject = vNode;\n this.edges = [];\n this.graphManager = gm;\n\n if (size != null && loc != null) this.rect = new RectangleD(loc.x, loc.y, size.width, size.height);else this.rect = new RectangleD();\n}\n\nLNode.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LNode[prop] = LGraphObject[prop];\n}\n\nLNode.prototype.getEdges = function () {\n return this.edges;\n};\n\nLNode.prototype.getChild = function () {\n return this.child;\n};\n\nLNode.prototype.getOwner = function () {\n // if (this.owner != null) {\n // if (!(this.owner == null || this.owner.getNodes().indexOf(this) > -1)) {\n // throw \"assert failed\";\n // }\n // }\n\n return this.owner;\n};\n\nLNode.prototype.getWidth = function () {\n return this.rect.width;\n};\n\nLNode.prototype.setWidth = function (width) {\n this.rect.width = width;\n};\n\nLNode.prototype.getHeight = function () {\n return this.rect.height;\n};\n\nLNode.prototype.setHeight = function (height) {\n this.rect.height = height;\n};\n\nLNode.prototype.getCenterX = function () {\n return this.rect.x + this.rect.width / 2;\n};\n\nLNode.prototype.getCenterY = function () {\n return this.rect.y + this.rect.height / 2;\n};\n\nLNode.prototype.getCenter = function () {\n return new PointD(this.rect.x + this.rect.width / 2, this.rect.y + this.rect.height / 2);\n};\n\nLNode.prototype.getLocation = function () {\n return new PointD(this.rect.x, this.rect.y);\n};\n\nLNode.prototype.getRect = function () {\n return this.rect;\n};\n\nLNode.prototype.getDiagonal = function () {\n return Math.sqrt(this.rect.width * this.rect.width + this.rect.height * this.rect.height);\n};\n\n/**\n * This method returns half the diagonal length of this node.\n */\nLNode.prototype.getHalfTheDiagonal = function () {\n return Math.sqrt(this.rect.height * this.rect.height + this.rect.width * this.rect.width) / 2;\n};\n\nLNode.prototype.setRect = function (upperLeft, dimension) {\n this.rect.x = upperLeft.x;\n this.rect.y = upperLeft.y;\n this.rect.width = dimension.width;\n this.rect.height = dimension.height;\n};\n\nLNode.prototype.setCenter = function (cx, cy) {\n this.rect.x = cx - this.rect.width / 2;\n this.rect.y = cy - this.rect.height / 2;\n};\n\nLNode.prototype.setLocation = function (x, y) {\n this.rect.x = x;\n this.rect.y = y;\n};\n\nLNode.prototype.moveBy = function (dx, dy) {\n this.rect.x += dx;\n this.rect.y += dy;\n};\n\nLNode.prototype.getEdgeListToNode = function (to) {\n var edgeList = [];\n var edge;\n var self = this;\n\n self.edges.forEach(function (edge) {\n\n if (edge.target == to) {\n if (edge.source != self) throw \"Incorrect edge source!\";\n\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getEdgesBetween = function (other) {\n var edgeList = [];\n var edge;\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (!(edge.source == self || edge.target == self)) throw \"Incorrect edge source and/or target\";\n\n if (edge.target == other || edge.source == other) {\n edgeList.push(edge);\n }\n });\n\n return edgeList;\n};\n\nLNode.prototype.getNeighborsList = function () {\n var neighbors = new Set();\n\n var self = this;\n self.edges.forEach(function (edge) {\n\n if (edge.source == self) {\n neighbors.add(edge.target);\n } else {\n if (edge.target != self) {\n throw \"Incorrect incidency!\";\n }\n\n neighbors.add(edge.source);\n }\n });\n\n return neighbors;\n};\n\nLNode.prototype.withChildren = function () {\n var withNeighborsList = new Set();\n var childNode;\n var children;\n\n withNeighborsList.add(this);\n\n if (this.child != null) {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n children = childNode.withChildren();\n children.forEach(function (node) {\n withNeighborsList.add(node);\n });\n }\n }\n\n return withNeighborsList;\n};\n\nLNode.prototype.getNoOfChildren = function () {\n var noOfChildren = 0;\n var childNode;\n\n if (this.child == null) {\n noOfChildren = 1;\n } else {\n var nodes = this.child.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n childNode = nodes[i];\n\n noOfChildren += childNode.getNoOfChildren();\n }\n }\n\n if (noOfChildren == 0) {\n noOfChildren = 1;\n }\n return noOfChildren;\n};\n\nLNode.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLNode.prototype.calcEstimatedSize = function () {\n if (this.child == null) {\n return this.estimatedSize = (this.rect.width + this.rect.height) / 2;\n } else {\n this.estimatedSize = this.child.calcEstimatedSize();\n this.rect.width = this.estimatedSize;\n this.rect.height = this.estimatedSize;\n\n return this.estimatedSize;\n }\n};\n\nLNode.prototype.scatter = function () {\n var randomCenterX;\n var randomCenterY;\n\n var minX = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxX = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterX = LayoutConstants.WORLD_CENTER_X + RandomSeed.nextDouble() * (maxX - minX) + minX;\n\n var minY = -LayoutConstants.INITIAL_WORLD_BOUNDARY;\n var maxY = LayoutConstants.INITIAL_WORLD_BOUNDARY;\n randomCenterY = LayoutConstants.WORLD_CENTER_Y + RandomSeed.nextDouble() * (maxY - minY) + minY;\n\n this.rect.x = randomCenterX;\n this.rect.y = randomCenterY;\n};\n\nLNode.prototype.updateBounds = function () {\n if (this.getChild() == null) {\n throw \"assert failed\";\n }\n if (this.getChild().getNodes().length != 0) {\n // wrap the children nodes by re-arranging the boundaries\n var childGraph = this.getChild();\n childGraph.updateBounds(true);\n\n this.rect.x = childGraph.getLeft();\n this.rect.y = childGraph.getTop();\n\n this.setWidth(childGraph.getRight() - childGraph.getLeft());\n this.setHeight(childGraph.getBottom() - childGraph.getTop());\n\n // Update compound bounds considering its label properties \n if (LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n\n var width = childGraph.getRight() - childGraph.getLeft();\n var height = childGraph.getBottom() - childGraph.getTop();\n\n if (this.labelWidth) {\n if (this.labelPosHorizontal == \"left\") {\n this.rect.x -= this.labelWidth;\n this.setWidth(width + this.labelWidth);\n } else if (this.labelPosHorizontal == \"center\" && this.labelWidth > width) {\n this.rect.x -= (this.labelWidth - width) / 2;\n this.setWidth(this.labelWidth);\n } else if (this.labelPosHorizontal == \"right\") {\n this.setWidth(width + this.labelWidth);\n }\n }\n\n if (this.labelHeight) {\n if (this.labelPosVertical == \"top\") {\n this.rect.y -= this.labelHeight;\n this.setHeight(height + this.labelHeight);\n } else if (this.labelPosVertical == \"center\" && this.labelHeight > height) {\n this.rect.y -= (this.labelHeight - height) / 2;\n this.setHeight(this.labelHeight);\n } else if (this.labelPosVertical == \"bottom\") {\n this.setHeight(height + this.labelHeight);\n }\n }\n }\n }\n};\n\nLNode.prototype.getInclusionTreeDepth = function () {\n if (this.inclusionTreeDepth == Integer.MAX_VALUE) {\n throw \"assert failed\";\n }\n return this.inclusionTreeDepth;\n};\n\nLNode.prototype.transform = function (trans) {\n var left = this.rect.x;\n\n if (left > LayoutConstants.WORLD_BOUNDARY) {\n left = LayoutConstants.WORLD_BOUNDARY;\n } else if (left < -LayoutConstants.WORLD_BOUNDARY) {\n left = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var top = this.rect.y;\n\n if (top > LayoutConstants.WORLD_BOUNDARY) {\n top = LayoutConstants.WORLD_BOUNDARY;\n } else if (top < -LayoutConstants.WORLD_BOUNDARY) {\n top = -LayoutConstants.WORLD_BOUNDARY;\n }\n\n var leftTop = new PointD(left, top);\n var vLeftTop = trans.inverseTransformPoint(leftTop);\n\n this.setLocation(vLeftTop.x, vLeftTop.y);\n};\n\nLNode.prototype.getLeft = function () {\n return this.rect.x;\n};\n\nLNode.prototype.getRight = function () {\n return this.rect.x + this.rect.width;\n};\n\nLNode.prototype.getTop = function () {\n return this.rect.y;\n};\n\nLNode.prototype.getBottom = function () {\n return this.rect.y + this.rect.height;\n};\n\nLNode.prototype.getParent = function () {\n if (this.owner == null) {\n return null;\n }\n\n return this.owner.getParent();\n};\n\nmodule.exports = LNode;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LayoutConstants = __webpack_require__(0);\n\nfunction FDLayoutConstants() {}\n\n//FDLayoutConstants inherits static props in LayoutConstants\nfor (var prop in LayoutConstants) {\n FDLayoutConstants[prop] = LayoutConstants[prop];\n}\n\nFDLayoutConstants.MAX_ITERATIONS = 2500;\n\nFDLayoutConstants.DEFAULT_EDGE_LENGTH = 50;\nFDLayoutConstants.DEFAULT_SPRING_STRENGTH = 0.45;\nFDLayoutConstants.DEFAULT_REPULSION_STRENGTH = 4500.0;\nFDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = 0.4;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = 1.0;\nFDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = 3.8;\nFDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = 1.5;\nFDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION = true;\nFDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION = true;\nFDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = 0.3;\nFDLayoutConstants.COOLING_ADAPTATION_FACTOR = 0.33;\nFDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT = 1000;\nFDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT = 5000;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL = 100.0;\nFDLayoutConstants.MAX_NODE_DISPLACEMENT = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL * 3;\nFDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10.0;\nFDLayoutConstants.CONVERGENCE_CHECK_PERIOD = 100;\nFDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = 0.1;\nFDLayoutConstants.MIN_EDGE_LENGTH = 1;\nFDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD = 10;\n\nmodule.exports = FDLayoutConstants;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction PointD(x, y) {\n if (x == null && y == null) {\n this.x = 0;\n this.y = 0;\n } else {\n this.x = x;\n this.y = y;\n }\n}\n\nPointD.prototype.getX = function () {\n return this.x;\n};\n\nPointD.prototype.getY = function () {\n return this.y;\n};\n\nPointD.prototype.setX = function (x) {\n this.x = x;\n};\n\nPointD.prototype.setY = function (y) {\n this.y = y;\n};\n\nPointD.prototype.getDifference = function (pt) {\n return new DimensionD(this.x - pt.x, this.y - pt.y);\n};\n\nPointD.prototype.getCopy = function () {\n return new PointD(this.x, this.y);\n};\n\nPointD.prototype.translate = function (dim) {\n this.x += dim.width;\n this.y += dim.height;\n return this;\n};\n\nmodule.exports = PointD;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraphObject = __webpack_require__(2);\nvar Integer = __webpack_require__(10);\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(7);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar RectangleD = __webpack_require__(13);\nvar Point = __webpack_require__(12);\nvar LinkedList = __webpack_require__(11);\n\nfunction LGraph(parent, obj2, vGraph) {\n LGraphObject.call(this, vGraph);\n this.estimatedSize = Integer.MIN_VALUE;\n this.margin = LayoutConstants.DEFAULT_GRAPH_MARGIN;\n this.edges = [];\n this.nodes = [];\n this.isConnected = false;\n this.parent = parent;\n\n if (obj2 != null && obj2 instanceof LGraphManager) {\n this.graphManager = obj2;\n } else if (obj2 != null && obj2 instanceof Layout) {\n this.graphManager = obj2.graphManager;\n }\n}\n\nLGraph.prototype = Object.create(LGraphObject.prototype);\nfor (var prop in LGraphObject) {\n LGraph[prop] = LGraphObject[prop];\n}\n\nLGraph.prototype.getNodes = function () {\n return this.nodes;\n};\n\nLGraph.prototype.getEdges = function () {\n return this.edges;\n};\n\nLGraph.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLGraph.prototype.getParent = function () {\n return this.parent;\n};\n\nLGraph.prototype.getLeft = function () {\n return this.left;\n};\n\nLGraph.prototype.getRight = function () {\n return this.right;\n};\n\nLGraph.prototype.getTop = function () {\n return this.top;\n};\n\nLGraph.prototype.getBottom = function () {\n return this.bottom;\n};\n\nLGraph.prototype.isConnected = function () {\n return this.isConnected;\n};\n\nLGraph.prototype.add = function (obj1, sourceNode, targetNode) {\n if (sourceNode == null && targetNode == null) {\n var newNode = obj1;\n if (this.graphManager == null) {\n throw \"Graph has no graph mgr!\";\n }\n if (this.getNodes().indexOf(newNode) > -1) {\n throw \"Node already in graph!\";\n }\n newNode.owner = this;\n this.getNodes().push(newNode);\n\n return newNode;\n } else {\n var newEdge = obj1;\n if (!(this.getNodes().indexOf(sourceNode) > -1 && this.getNodes().indexOf(targetNode) > -1)) {\n throw \"Source or target not in graph!\";\n }\n\n if (!(sourceNode.owner == targetNode.owner && sourceNode.owner == this)) {\n throw \"Both owners must be this graph!\";\n }\n\n if (sourceNode.owner != targetNode.owner) {\n return null;\n }\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // set as intra-graph edge\n newEdge.isInterGraph = false;\n\n // add to graph edge list\n this.getEdges().push(newEdge);\n\n // add to incidency lists\n sourceNode.edges.push(newEdge);\n\n if (targetNode != sourceNode) {\n targetNode.edges.push(newEdge);\n }\n\n return newEdge;\n }\n};\n\nLGraph.prototype.remove = function (obj) {\n var node = obj;\n if (obj instanceof LNode) {\n if (node == null) {\n throw \"Node is null!\";\n }\n if (!(node.owner != null && node.owner == this)) {\n throw \"Owner graph is invalid!\";\n }\n if (this.graphManager == null) {\n throw \"Owner graph manager is invalid!\";\n }\n // remove incident edges first (make a copy to do it safely)\n var edgesToBeRemoved = node.edges.slice();\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n\n if (edge.isInterGraph) {\n this.graphManager.remove(edge);\n } else {\n edge.source.owner.remove(edge);\n }\n }\n\n // now the node itself\n var index = this.nodes.indexOf(node);\n if (index == -1) {\n throw \"Node not in owner node list!\";\n }\n\n this.nodes.splice(index, 1);\n } else if (obj instanceof LEdge) {\n var edge = obj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n if (!(edge.source.owner != null && edge.target.owner != null && edge.source.owner == this && edge.target.owner == this)) {\n throw \"Source and/or target owner is invalid!\";\n }\n\n var sourceIndex = edge.source.edges.indexOf(edge);\n var targetIndex = edge.target.edges.indexOf(edge);\n if (!(sourceIndex > -1 && targetIndex > -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n edge.source.edges.splice(sourceIndex, 1);\n\n if (edge.target != edge.source) {\n edge.target.edges.splice(targetIndex, 1);\n }\n\n var index = edge.source.owner.getEdges().indexOf(edge);\n if (index == -1) {\n throw \"Not in owner's edge list!\";\n }\n\n edge.source.owner.getEdges().splice(index, 1);\n }\n};\n\nLGraph.prototype.updateLeftTop = function () {\n var top = Integer.MAX_VALUE;\n var left = Integer.MAX_VALUE;\n var nodeTop;\n var nodeLeft;\n var margin;\n\n var nodes = this.getNodes();\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeTop = lNode.getTop();\n nodeLeft = lNode.getLeft();\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n }\n\n // Do we have any nodes in this graph?\n if (top == Integer.MAX_VALUE) {\n return null;\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = left - margin;\n this.top = top - margin;\n\n // Apply the margins and return the result\n return new Point(this.left, this.top);\n};\n\nLGraph.prototype.updateBounds = function (recursive) {\n // calculate bounds\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n var margin;\n\n var nodes = this.nodes;\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n\n if (recursive && lNode.child != null) {\n lNode.updateBounds();\n }\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n if (left == Integer.MAX_VALUE) {\n this.left = this.parent.getLeft();\n this.right = this.parent.getRight();\n this.top = this.parent.getTop();\n this.bottom = this.parent.getBottom();\n }\n\n if (nodes[0].getParent().paddingLeft != undefined) {\n margin = nodes[0].getParent().paddingLeft;\n } else {\n margin = this.margin;\n }\n\n this.left = boundingRect.x - margin;\n this.right = boundingRect.x + boundingRect.width + margin;\n this.top = boundingRect.y - margin;\n this.bottom = boundingRect.y + boundingRect.height + margin;\n};\n\nLGraph.calculateBounds = function (nodes) {\n var left = Integer.MAX_VALUE;\n var right = -Integer.MAX_VALUE;\n var top = Integer.MAX_VALUE;\n var bottom = -Integer.MAX_VALUE;\n var nodeLeft;\n var nodeRight;\n var nodeTop;\n var nodeBottom;\n\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n nodeLeft = lNode.getLeft();\n nodeRight = lNode.getRight();\n nodeTop = lNode.getTop();\n nodeBottom = lNode.getBottom();\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingRect = new RectangleD(left, top, right - left, bottom - top);\n\n return boundingRect;\n};\n\nLGraph.prototype.getInclusionTreeDepth = function () {\n if (this == this.graphManager.getRoot()) {\n return 1;\n } else {\n return this.parent.getInclusionTreeDepth();\n }\n};\n\nLGraph.prototype.getEstimatedSize = function () {\n if (this.estimatedSize == Integer.MIN_VALUE) {\n throw \"assert failed\";\n }\n return this.estimatedSize;\n};\n\nLGraph.prototype.calcEstimatedSize = function () {\n var size = 0;\n var nodes = this.nodes;\n var s = nodes.length;\n\n for (var i = 0; i < s; i++) {\n var lNode = nodes[i];\n size += lNode.calcEstimatedSize();\n }\n\n if (size == 0) {\n this.estimatedSize = LayoutConstants.EMPTY_COMPOUND_NODE_SIZE;\n } else {\n this.estimatedSize = size / Math.sqrt(this.nodes.length);\n }\n\n return this.estimatedSize;\n};\n\nLGraph.prototype.updateConnected = function () {\n var self = this;\n if (this.nodes.length == 0) {\n this.isConnected = true;\n return;\n }\n\n var queue = new LinkedList();\n var visited = new Set();\n var currentNode = this.nodes[0];\n var neighborEdges;\n var currentNeighbor;\n var childrenOfNode = currentNode.withChildren();\n childrenOfNode.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n\n while (queue.length !== 0) {\n currentNode = queue.shift();\n\n // Traverse all neighbors of this node\n neighborEdges = currentNode.getEdges();\n var size = neighborEdges.length;\n for (var i = 0; i < size; i++) {\n var neighborEdge = neighborEdges[i];\n currentNeighbor = neighborEdge.getOtherEndInGraph(currentNode, this);\n\n // Add unvisited neighbors to the list to visit\n if (currentNeighbor != null && !visited.has(currentNeighbor)) {\n var childrenOfNeighbor = currentNeighbor.withChildren();\n\n childrenOfNeighbor.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n });\n }\n }\n }\n\n this.isConnected = false;\n\n if (visited.size >= this.nodes.length) {\n var noOfVisitedInThisGraph = 0;\n\n visited.forEach(function (visitedNode) {\n if (visitedNode.owner == self) {\n noOfVisitedInThisGraph++;\n }\n });\n\n if (noOfVisitedInThisGraph == this.nodes.length) {\n this.isConnected = true;\n }\n }\n};\n\nmodule.exports = LGraph;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LGraph;\nvar LEdge = __webpack_require__(1);\n\nfunction LGraphManager(layout) {\n LGraph = __webpack_require__(6); // It may be better to initilize this out of this function but it gives an error (Right-hand side of 'instanceof' is not callable) now.\n this.layout = layout;\n\n this.graphs = [];\n this.edges = [];\n}\n\nLGraphManager.prototype.addRoot = function () {\n var ngraph = this.layout.newGraph();\n var nnode = this.layout.newNode(null);\n var root = this.add(ngraph, nnode);\n this.setRootGraph(root);\n return this.rootGraph;\n};\n\nLGraphManager.prototype.add = function (newGraph, parentNode, newEdge, sourceNode, targetNode) {\n //there are just 2 parameters are passed then it adds an LGraph else it adds an LEdge\n if (newEdge == null && sourceNode == null && targetNode == null) {\n if (newGraph == null) {\n throw \"Graph is null!\";\n }\n if (parentNode == null) {\n throw \"Parent node is null!\";\n }\n if (this.graphs.indexOf(newGraph) > -1) {\n throw \"Graph already in this graph mgr!\";\n }\n\n this.graphs.push(newGraph);\n\n if (newGraph.parent != null) {\n throw \"Already has a parent!\";\n }\n if (parentNode.child != null) {\n throw \"Already has a child!\";\n }\n\n newGraph.parent = parentNode;\n parentNode.child = newGraph;\n\n return newGraph;\n } else {\n //change the order of the parameters\n targetNode = newEdge;\n sourceNode = parentNode;\n newEdge = newGraph;\n var sourceGraph = sourceNode.getOwner();\n var targetGraph = targetNode.getOwner();\n\n if (!(sourceGraph != null && sourceGraph.getGraphManager() == this)) {\n throw \"Source not in this graph mgr!\";\n }\n if (!(targetGraph != null && targetGraph.getGraphManager() == this)) {\n throw \"Target not in this graph mgr!\";\n }\n\n if (sourceGraph == targetGraph) {\n newEdge.isInterGraph = false;\n return sourceGraph.add(newEdge, sourceNode, targetNode);\n } else {\n newEdge.isInterGraph = true;\n\n // set source and target\n newEdge.source = sourceNode;\n newEdge.target = targetNode;\n\n // add edge to inter-graph edge list\n if (this.edges.indexOf(newEdge) > -1) {\n throw \"Edge already in inter-graph edge list!\";\n }\n\n this.edges.push(newEdge);\n\n // add edge to source and target incidency lists\n if (!(newEdge.source != null && newEdge.target != null)) {\n throw \"Edge source and/or target is null!\";\n }\n\n if (!(newEdge.source.edges.indexOf(newEdge) == -1 && newEdge.target.edges.indexOf(newEdge) == -1)) {\n throw \"Edge already in source and/or target incidency list!\";\n }\n\n newEdge.source.edges.push(newEdge);\n newEdge.target.edges.push(newEdge);\n\n return newEdge;\n }\n }\n};\n\nLGraphManager.prototype.remove = function (lObj) {\n if (lObj instanceof LGraph) {\n var graph = lObj;\n if (graph.getGraphManager() != this) {\n throw \"Graph not in this graph mgr\";\n }\n if (!(graph == this.rootGraph || graph.parent != null && graph.parent.graphManager == this)) {\n throw \"Invalid parent node!\";\n }\n\n // first the edges (make a copy to do it safely)\n var edgesToBeRemoved = [];\n\n edgesToBeRemoved = edgesToBeRemoved.concat(graph.getEdges());\n\n var edge;\n var s = edgesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n edge = edgesToBeRemoved[i];\n graph.remove(edge);\n }\n\n // then the nodes (make a copy to do it safely)\n var nodesToBeRemoved = [];\n\n nodesToBeRemoved = nodesToBeRemoved.concat(graph.getNodes());\n\n var node;\n s = nodesToBeRemoved.length;\n for (var i = 0; i < s; i++) {\n node = nodesToBeRemoved[i];\n graph.remove(node);\n }\n\n // check if graph is the root\n if (graph == this.rootGraph) {\n this.setRootGraph(null);\n }\n\n // now remove the graph itself\n var index = this.graphs.indexOf(graph);\n this.graphs.splice(index, 1);\n\n // also reset the parent of the graph\n graph.parent = null;\n } else if (lObj instanceof LEdge) {\n edge = lObj;\n if (edge == null) {\n throw \"Edge is null!\";\n }\n if (!edge.isInterGraph) {\n throw \"Not an inter-graph edge!\";\n }\n if (!(edge.source != null && edge.target != null)) {\n throw \"Source and/or target is null!\";\n }\n\n // remove edge from source and target nodes' incidency lists\n\n if (!(edge.source.edges.indexOf(edge) != -1 && edge.target.edges.indexOf(edge) != -1)) {\n throw \"Source and/or target doesn't know this edge!\";\n }\n\n var index = edge.source.edges.indexOf(edge);\n edge.source.edges.splice(index, 1);\n index = edge.target.edges.indexOf(edge);\n edge.target.edges.splice(index, 1);\n\n // remove edge from owner graph manager's inter-graph edge list\n\n if (!(edge.source.owner != null && edge.source.owner.getGraphManager() != null)) {\n throw \"Edge owner graph or owner graph manager is null!\";\n }\n if (edge.source.owner.getGraphManager().edges.indexOf(edge) == -1) {\n throw \"Not in owner graph manager's edge list!\";\n }\n\n var index = edge.source.owner.getGraphManager().edges.indexOf(edge);\n edge.source.owner.getGraphManager().edges.splice(index, 1);\n }\n};\n\nLGraphManager.prototype.updateBounds = function () {\n this.rootGraph.updateBounds(true);\n};\n\nLGraphManager.prototype.getGraphs = function () {\n return this.graphs;\n};\n\nLGraphManager.prototype.getAllNodes = function () {\n if (this.allNodes == null) {\n var nodeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < s; i++) {\n nodeList = nodeList.concat(graphs[i].getNodes());\n }\n this.allNodes = nodeList;\n }\n return this.allNodes;\n};\n\nLGraphManager.prototype.resetAllNodes = function () {\n this.allNodes = null;\n};\n\nLGraphManager.prototype.resetAllEdges = function () {\n this.allEdges = null;\n};\n\nLGraphManager.prototype.resetAllNodesToApplyGravitation = function () {\n this.allNodesToApplyGravitation = null;\n};\n\nLGraphManager.prototype.getAllEdges = function () {\n if (this.allEdges == null) {\n var edgeList = [];\n var graphs = this.getGraphs();\n var s = graphs.length;\n for (var i = 0; i < graphs.length; i++) {\n edgeList = edgeList.concat(graphs[i].getEdges());\n }\n\n edgeList = edgeList.concat(this.edges);\n\n this.allEdges = edgeList;\n }\n return this.allEdges;\n};\n\nLGraphManager.prototype.getAllNodesToApplyGravitation = function () {\n return this.allNodesToApplyGravitation;\n};\n\nLGraphManager.prototype.setAllNodesToApplyGravitation = function (nodeList) {\n if (this.allNodesToApplyGravitation != null) {\n throw \"assert failed\";\n }\n\n this.allNodesToApplyGravitation = nodeList;\n};\n\nLGraphManager.prototype.getRoot = function () {\n return this.rootGraph;\n};\n\nLGraphManager.prototype.setRootGraph = function (graph) {\n if (graph.getGraphManager() != this) {\n throw \"Root not in this graph mgr!\";\n }\n\n this.rootGraph = graph;\n // root graph must have a root node associated with it for convenience\n if (graph.parent == null) {\n graph.parent = this.layout.newNode(\"Root node\");\n }\n};\n\nLGraphManager.prototype.getLayout = function () {\n return this.layout;\n};\n\nLGraphManager.prototype.isOneAncestorOfOther = function (firstNode, secondNode) {\n if (!(firstNode != null && secondNode != null)) {\n throw \"assert failed\";\n }\n\n if (firstNode == secondNode) {\n return true;\n }\n // Is second node an ancestor of the first one?\n var ownerGraph = firstNode.getOwner();\n var parentNode;\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == secondNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n // Is first node an ancestor of the second one?\n ownerGraph = secondNode.getOwner();\n\n do {\n parentNode = ownerGraph.getParent();\n\n if (parentNode == null) {\n break;\n }\n\n if (parentNode == firstNode) {\n return true;\n }\n\n ownerGraph = parentNode.getOwner();\n if (ownerGraph == null) {\n break;\n }\n } while (true);\n\n return false;\n};\n\nLGraphManager.prototype.calcLowestCommonAncestors = function () {\n var edge;\n var sourceNode;\n var targetNode;\n var sourceAncestorGraph;\n var targetAncestorGraph;\n\n var edges = this.getAllEdges();\n var s = edges.length;\n for (var i = 0; i < s; i++) {\n edge = edges[i];\n\n sourceNode = edge.source;\n targetNode = edge.target;\n edge.lca = null;\n edge.sourceInLca = sourceNode;\n edge.targetInLca = targetNode;\n\n if (sourceNode == targetNode) {\n edge.lca = sourceNode.getOwner();\n continue;\n }\n\n sourceAncestorGraph = sourceNode.getOwner();\n\n while (edge.lca == null) {\n edge.targetInLca = targetNode;\n targetAncestorGraph = targetNode.getOwner();\n\n while (edge.lca == null) {\n if (targetAncestorGraph == sourceAncestorGraph) {\n edge.lca = targetAncestorGraph;\n break;\n }\n\n if (targetAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca != null) {\n throw \"assert failed\";\n }\n edge.targetInLca = targetAncestorGraph.getParent();\n targetAncestorGraph = edge.targetInLca.getOwner();\n }\n\n if (sourceAncestorGraph == this.rootGraph) {\n break;\n }\n\n if (edge.lca == null) {\n edge.sourceInLca = sourceAncestorGraph.getParent();\n sourceAncestorGraph = edge.sourceInLca.getOwner();\n }\n }\n\n if (edge.lca == null) {\n throw \"assert failed\";\n }\n }\n};\n\nLGraphManager.prototype.calcLowestCommonAncestor = function (firstNode, secondNode) {\n if (firstNode == secondNode) {\n return firstNode.getOwner();\n }\n var firstOwnerGraph = firstNode.getOwner();\n\n do {\n if (firstOwnerGraph == null) {\n break;\n }\n var secondOwnerGraph = secondNode.getOwner();\n\n do {\n if (secondOwnerGraph == null) {\n break;\n }\n\n if (secondOwnerGraph == firstOwnerGraph) {\n return secondOwnerGraph;\n }\n secondOwnerGraph = secondOwnerGraph.getParent().getOwner();\n } while (true);\n\n firstOwnerGraph = firstOwnerGraph.getParent().getOwner();\n } while (true);\n\n return firstOwnerGraph;\n};\n\nLGraphManager.prototype.calcInclusionTreeDepths = function (graph, depth) {\n if (graph == null && depth == null) {\n graph = this.rootGraph;\n depth = 1;\n }\n var node;\n\n var nodes = graph.getNodes();\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n node = nodes[i];\n node.inclusionTreeDepth = depth;\n\n if (node.child != null) {\n this.calcInclusionTreeDepths(node.child, depth + 1);\n }\n }\n};\n\nLGraphManager.prototype.includesInvalidEdge = function () {\n var edge;\n var edgesToRemove = [];\n\n var s = this.edges.length;\n for (var i = 0; i < s; i++) {\n edge = this.edges[i];\n\n if (this.isOneAncestorOfOther(edge.source, edge.target)) {\n edgesToRemove.push(edge);\n }\n }\n\n // Remove invalid edges from graph manager\n for (var i = 0; i < edgesToRemove.length; i++) {\n this.remove(edgesToRemove[i]);\n }\n\n // Invalid edges are cleared, so return false\n return false;\n};\n\nmodule.exports = LGraphManager;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * This class maintains a list of static geometry related utility methods.\n *\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar Point = __webpack_require__(12);\n\nfunction IGeometry() {}\n\n/**\n * This method calculates *half* the amount in x and y directions of the two\n * input rectangles needed to separate them keeping their respective\n * positioning, and returns the result in the input array. An input\n * separation buffer added to the amount in both directions. We assume that\n * the two rectangles do intersect.\n */\nIGeometry.calcSeparationAmount = function (rectA, rectB, overlapAmount, separationBuffer) {\n if (!rectA.intersects(rectB)) {\n throw \"assert failed\";\n }\n\n var directions = new Array(2);\n\n this.decideDirectionsForOverlappingNodes(rectA, rectB, directions);\n\n overlapAmount[0] = Math.min(rectA.getRight(), rectB.getRight()) - Math.max(rectA.x, rectB.x);\n overlapAmount[1] = Math.min(rectA.getBottom(), rectB.getBottom()) - Math.max(rectA.y, rectB.y);\n\n // update the overlapping amounts for the following cases:\n if (rectA.getX() <= rectB.getX() && rectA.getRight() >= rectB.getRight()) {\n /* Case x.1:\n *\n * rectA\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectB\n */\n overlapAmount[0] += Math.min(rectB.getX() - rectA.getX(), rectA.getRight() - rectB.getRight());\n } else if (rectB.getX() <= rectA.getX() && rectB.getRight() >= rectA.getRight()) {\n /* Case x.2:\n *\n * rectB\n * \t| |\n * \t| _________ |\n * \t| | | |\n * \t|________|_______|______|\n * \t\t\t | |\n * | |\n * rectA\n */\n overlapAmount[0] += Math.min(rectA.getX() - rectB.getX(), rectB.getRight() - rectA.getRight());\n }\n if (rectA.getY() <= rectB.getY() && rectA.getBottom() >= rectB.getBottom()) {\n /* Case y.1:\n * ________ rectA\n * |\n * |\n * ______|____ rectB\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectB.getY() - rectA.getY(), rectA.getBottom() - rectB.getBottom());\n } else if (rectB.getY() <= rectA.getY() && rectB.getBottom() >= rectA.getBottom()) {\n /* Case y.2:\n * ________ rectB\n * |\n * |\n * ______|____ rectA\n * | |\n * | |\n * ______|____|\n * |\n * |\n * |________\n *\n */\n overlapAmount[1] += Math.min(rectA.getY() - rectB.getY(), rectB.getBottom() - rectA.getBottom());\n }\n\n // find slope of the line passes two centers\n var slope = Math.abs((rectB.getCenterY() - rectA.getCenterY()) / (rectB.getCenterX() - rectA.getCenterX()));\n // if centers are overlapped\n if (rectB.getCenterY() === rectA.getCenterY() && rectB.getCenterX() === rectA.getCenterX()) {\n // assume the slope is 1 (45 degree)\n slope = 1.0;\n }\n\n var moveByY = slope * overlapAmount[0];\n var moveByX = overlapAmount[1] / slope;\n if (overlapAmount[0] < moveByX) {\n moveByX = overlapAmount[0];\n } else {\n moveByY = overlapAmount[1];\n }\n // return half the amount so that if each rectangle is moved by these\n // amounts in opposite directions, overlap will be resolved\n overlapAmount[0] = -1 * directions[0] * (moveByX / 2 + separationBuffer);\n overlapAmount[1] = -1 * directions[1] * (moveByY / 2 + separationBuffer);\n};\n\n/**\n * This method decides the separation direction of overlapping nodes\n *\n * if directions[0] = -1, then rectA goes left\n * if directions[0] = 1, then rectA goes right\n * if directions[1] = -1, then rectA goes up\n * if directions[1] = 1, then rectA goes down\n */\nIGeometry.decideDirectionsForOverlappingNodes = function (rectA, rectB, directions) {\n if (rectA.getCenterX() < rectB.getCenterX()) {\n directions[0] = -1;\n } else {\n directions[0] = 1;\n }\n\n if (rectA.getCenterY() < rectB.getCenterY()) {\n directions[1] = -1;\n } else {\n directions[1] = 1;\n }\n};\n\n/**\n * This method calculates the intersection (clipping) points of the two\n * input rectangles with line segment defined by the centers of these two\n * rectangles. The clipping points are saved in the input double array and\n * whether or not the two rectangles overlap is returned.\n */\nIGeometry.getIntersection2 = function (rectA, rectB, result) {\n //result[0-1] will contain clipPoint of rectA, result[2-3] will contain clipPoint of rectB\n var p1x = rectA.getCenterX();\n var p1y = rectA.getCenterY();\n var p2x = rectB.getCenterX();\n var p2y = rectB.getCenterY();\n\n //if two rectangles intersect, then clipping points are centers\n if (rectA.intersects(rectB)) {\n result[0] = p1x;\n result[1] = p1y;\n result[2] = p2x;\n result[3] = p2y;\n return true;\n }\n //variables for rectA\n var topLeftAx = rectA.getX();\n var topLeftAy = rectA.getY();\n var topRightAx = rectA.getRight();\n var bottomLeftAx = rectA.getX();\n var bottomLeftAy = rectA.getBottom();\n var bottomRightAx = rectA.getRight();\n var halfWidthA = rectA.getWidthHalf();\n var halfHeightA = rectA.getHeightHalf();\n //variables for rectB\n var topLeftBx = rectB.getX();\n var topLeftBy = rectB.getY();\n var topRightBx = rectB.getRight();\n var bottomLeftBx = rectB.getX();\n var bottomLeftBy = rectB.getBottom();\n var bottomRightBx = rectB.getRight();\n var halfWidthB = rectB.getWidthHalf();\n var halfHeightB = rectB.getHeightHalf();\n\n //flag whether clipping points are found\n var clipPointAFound = false;\n var clipPointBFound = false;\n\n // line is vertical\n if (p1x === p2x) {\n if (p1y > p2y) {\n result[0] = p1x;\n result[1] = topLeftAy;\n result[2] = p2x;\n result[3] = bottomLeftBy;\n return false;\n } else if (p1y < p2y) {\n result[0] = p1x;\n result[1] = bottomLeftAy;\n result[2] = p2x;\n result[3] = topLeftBy;\n return false;\n } else {\n //not line, return null;\n }\n }\n // line is horizontal\n else if (p1y === p2y) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = p1y;\n result[2] = topRightBx;\n result[3] = p2y;\n return false;\n } else if (p1x < p2x) {\n result[0] = topRightAx;\n result[1] = p1y;\n result[2] = topLeftBx;\n result[3] = p2y;\n return false;\n } else {\n //not valid line, return null;\n }\n } else {\n //slopes of rectA's and rectB's diagonals\n var slopeA = rectA.height / rectA.width;\n var slopeB = rectB.height / rectB.width;\n\n //slope of line between center of rectA and center of rectB\n var slopePrime = (p2y - p1y) / (p2x - p1x);\n var cardinalDirectionA = void 0;\n var cardinalDirectionB = void 0;\n var tempPointAx = void 0;\n var tempPointAy = void 0;\n var tempPointBx = void 0;\n var tempPointBy = void 0;\n\n //determine whether clipping point is the corner of nodeA\n if (-slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = bottomLeftAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = topRightAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n }\n } else if (slopeA === slopePrime) {\n if (p1x > p2x) {\n result[0] = topLeftAx;\n result[1] = topLeftAy;\n clipPointAFound = true;\n } else {\n result[0] = bottomRightAx;\n result[1] = bottomLeftAy;\n clipPointAFound = true;\n }\n }\n\n //determine whether clipping point is the corner of nodeB\n if (-slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = bottomLeftBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = topRightBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n }\n } else if (slopeB === slopePrime) {\n if (p2x > p1x) {\n result[2] = topLeftBx;\n result[3] = topLeftBy;\n clipPointBFound = true;\n } else {\n result[2] = bottomRightBx;\n result[3] = bottomLeftBy;\n clipPointBFound = true;\n }\n }\n\n //if both clipping points are corners\n if (clipPointAFound && clipPointBFound) {\n return false;\n }\n\n //determine Cardinal Direction of rectangles\n if (p1x > p2x) {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 4);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 2);\n } else {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 3);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 1);\n }\n } else {\n if (p1y > p2y) {\n cardinalDirectionA = this.getCardinalDirection(-slopeA, slopePrime, 1);\n cardinalDirectionB = this.getCardinalDirection(-slopeB, slopePrime, 3);\n } else {\n cardinalDirectionA = this.getCardinalDirection(slopeA, slopePrime, 2);\n cardinalDirectionB = this.getCardinalDirection(slopeB, slopePrime, 4);\n }\n }\n //calculate clipping Point if it is not found before\n if (!clipPointAFound) {\n switch (cardinalDirectionA) {\n case 1:\n tempPointAy = topLeftAy;\n tempPointAx = p1x + -halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 2:\n tempPointAx = bottomRightAx;\n tempPointAy = p1y + halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 3:\n tempPointAy = bottomLeftAy;\n tempPointAx = p1x + halfHeightA / slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n case 4:\n tempPointAx = bottomLeftAx;\n tempPointAy = p1y + -halfWidthA * slopePrime;\n result[0] = tempPointAx;\n result[1] = tempPointAy;\n break;\n }\n }\n if (!clipPointBFound) {\n switch (cardinalDirectionB) {\n case 1:\n tempPointBy = topLeftBy;\n tempPointBx = p2x + -halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 2:\n tempPointBx = bottomRightBx;\n tempPointBy = p2y + halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 3:\n tempPointBy = bottomLeftBy;\n tempPointBx = p2x + halfHeightB / slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n case 4:\n tempPointBx = bottomLeftBx;\n tempPointBy = p2y + -halfWidthB * slopePrime;\n result[2] = tempPointBx;\n result[3] = tempPointBy;\n break;\n }\n }\n }\n return false;\n};\n\n/**\n * This method returns in which cardinal direction does input point stays\n * 1: North\n * 2: East\n * 3: South\n * 4: West\n */\nIGeometry.getCardinalDirection = function (slope, slopePrime, line) {\n if (slope > slopePrime) {\n return line;\n } else {\n return 1 + line % 4;\n }\n};\n\n/**\n * This method calculates the intersection of the two lines defined by\n * point pairs (s1,s2) and (f1,f2).\n */\nIGeometry.getIntersection = function (s1, s2, f1, f2) {\n if (f2 == null) {\n return this.getIntersection2(s1, s2, f1);\n }\n\n var x1 = s1.x;\n var y1 = s1.y;\n var x2 = s2.x;\n var y2 = s2.y;\n var x3 = f1.x;\n var y3 = f1.y;\n var x4 = f2.x;\n var y4 = f2.y;\n var x = void 0,\n y = void 0; // intersection point\n var a1 = void 0,\n a2 = void 0,\n b1 = void 0,\n b2 = void 0,\n c1 = void 0,\n c2 = void 0; // coefficients of line eqns.\n var denom = void 0;\n\n a1 = y2 - y1;\n b1 = x1 - x2;\n c1 = x2 * y1 - x1 * y2; // { a1*x + b1*y + c1 = 0 is line 1 }\n\n a2 = y4 - y3;\n b2 = x3 - x4;\n c2 = x4 * y3 - x3 * y4; // { a2*x + b2*y + c2 = 0 is line 2 }\n\n denom = a1 * b2 - a2 * b1;\n\n if (denom === 0) {\n return null;\n }\n\n x = (b1 * c2 - b2 * c1) / denom;\n y = (a2 * c1 - a1 * c2) / denom;\n\n return new Point(x, y);\n};\n\n/**\n * This method finds and returns the angle of the vector from the + x-axis\n * in clockwise direction (compatible w/ Java coordinate system!).\n */\nIGeometry.angleOfVector = function (Cx, Cy, Nx, Ny) {\n var C_angle = void 0;\n\n if (Cx !== Nx) {\n C_angle = Math.atan((Ny - Cy) / (Nx - Cx));\n\n if (Nx < Cx) {\n C_angle += Math.PI;\n } else if (Ny < Cy) {\n C_angle += this.TWO_PI;\n }\n } else if (Ny < Cy) {\n C_angle = this.ONE_AND_HALF_PI; // 270 degrees\n } else {\n C_angle = this.HALF_PI; // 90 degrees\n }\n\n return C_angle;\n};\n\n/**\n * This method checks whether the given two line segments (one with point\n * p1 and p2, the other with point p3 and p4) intersect at a point other\n * than these points.\n */\nIGeometry.doIntersect = function (p1, p2, p3, p4) {\n var a = p1.x;\n var b = p1.y;\n var c = p2.x;\n var d = p2.y;\n var p = p3.x;\n var q = p3.y;\n var r = p4.x;\n var s = p4.y;\n var det = (c - a) * (s - q) - (r - p) * (d - b);\n\n if (det === 0) {\n return false;\n } else {\n var lambda = ((s - q) * (r - a) + (p - r) * (s - b)) / det;\n var gamma = ((b - d) * (r - a) + (c - a) * (s - b)) / det;\n return 0 < lambda && lambda < 1 && 0 < gamma && gamma < 1;\n }\n};\n\n/**\n * This method checks and calculates the intersection of \n * a line segment and a circle.\n */\nIGeometry.findCircleLineIntersections = function (Ex, Ey, Lx, Ly, Cx, Cy, r) {\n\n // E is the starting point of the ray,\n // L is the end point of the ray,\n // C is the center of sphere you're testing against\n // r is the radius of that sphere\n\n // Compute:\n // d = L - E ( Direction vector of ray, from start to end )\n // f = E - C ( Vector from center sphere to ray start )\n\n // Then the intersection is found by..\n // P = E + t * d\n // This is a parametric equation:\n // Px = Ex + tdx\n // Py = Ey + tdy\n\n // get a, b, c values\n var a = (Lx - Ex) * (Lx - Ex) + (Ly - Ey) * (Ly - Ey);\n var b = 2 * ((Ex - Cx) * (Lx - Ex) + (Ey - Cy) * (Ly - Ey));\n var c = (Ex - Cx) * (Ex - Cx) + (Ey - Cy) * (Ey - Cy) - r * r;\n\n // get discriminant\n var disc = b * b - 4 * a * c;\n if (disc >= 0) {\n // insert into quadratic formula\n var t1 = (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);\n var t2 = (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);\n var intersections = null;\n if (t1 >= 0 && t1 <= 1) {\n // t1 is the intersection, and it's closer than t2\n // (since t1 uses -b - discriminant)\n // Impale, Poke\n return [t1];\n }\n\n // here t1 didn't intersect so we are either started\n // inside the sphere or completely past it\n if (t2 >= 0 && t2 <= 1) {\n // ExitWound\n return [t2];\n }\n\n return intersections;\n } else return null;\n};\n\n// -----------------------------------------------------------------------------\n// Section: Class Constants\n// -----------------------------------------------------------------------------\n/**\n * Some useful pre-calculated constants\n */\nIGeometry.HALF_PI = 0.5 * Math.PI;\nIGeometry.ONE_AND_HALF_PI = 1.5 * Math.PI;\nIGeometry.TWO_PI = 2.0 * Math.PI;\nIGeometry.THREE_PI = 3.0 * Math.PI;\n\nmodule.exports = IGeometry;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction IMath() {}\n\n/**\n * This method returns the sign of the input value.\n */\nIMath.sign = function (value) {\n if (value > 0) {\n return 1;\n } else if (value < 0) {\n return -1;\n } else {\n return 0;\n }\n};\n\nIMath.floor = function (value) {\n return value < 0 ? Math.ceil(value) : Math.floor(value);\n};\n\nIMath.ceil = function (value) {\n return value < 0 ? Math.floor(value) : Math.ceil(value);\n};\n\nmodule.exports = IMath;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Integer() {}\n\nInteger.MAX_VALUE = 2147483647;\nInteger.MIN_VALUE = -2147483648;\n\nmodule.exports = Integer;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar nodeFrom = function nodeFrom(value) {\n return { value: value, next: null, prev: null };\n};\n\nvar add = function add(prev, node, next, list) {\n if (prev !== null) {\n prev.next = node;\n } else {\n list.head = node;\n }\n\n if (next !== null) {\n next.prev = node;\n } else {\n list.tail = node;\n }\n\n node.prev = prev;\n node.next = next;\n\n list.length++;\n\n return node;\n};\n\nvar _remove = function _remove(node, list) {\n var prev = node.prev,\n next = node.next;\n\n\n if (prev !== null) {\n prev.next = next;\n } else {\n list.head = next;\n }\n\n if (next !== null) {\n next.prev = prev;\n } else {\n list.tail = prev;\n }\n\n node.prev = node.next = null;\n\n list.length--;\n\n return node;\n};\n\nvar LinkedList = function () {\n function LinkedList(vals) {\n var _this = this;\n\n _classCallCheck(this, LinkedList);\n\n this.length = 0;\n this.head = null;\n this.tail = null;\n\n if (vals != null) {\n vals.forEach(function (v) {\n return _this.push(v);\n });\n }\n }\n\n _createClass(LinkedList, [{\n key: \"size\",\n value: function size() {\n return this.length;\n }\n }, {\n key: \"insertBefore\",\n value: function insertBefore(val, otherNode) {\n return add(otherNode.prev, nodeFrom(val), otherNode, this);\n }\n }, {\n key: \"insertAfter\",\n value: function insertAfter(val, otherNode) {\n return add(otherNode, nodeFrom(val), otherNode.next, this);\n }\n }, {\n key: \"insertNodeBefore\",\n value: function insertNodeBefore(newNode, otherNode) {\n return add(otherNode.prev, newNode, otherNode, this);\n }\n }, {\n key: \"insertNodeAfter\",\n value: function insertNodeAfter(newNode, otherNode) {\n return add(otherNode, newNode, otherNode.next, this);\n }\n }, {\n key: \"push\",\n value: function push(val) {\n return add(this.tail, nodeFrom(val), null, this);\n }\n }, {\n key: \"unshift\",\n value: function unshift(val) {\n return add(null, nodeFrom(val), this.head, this);\n }\n }, {\n key: \"remove\",\n value: function remove(node) {\n return _remove(node, this);\n }\n }, {\n key: \"pop\",\n value: function pop() {\n return _remove(this.tail, this).value;\n }\n }, {\n key: \"popNode\",\n value: function popNode() {\n return _remove(this.tail, this);\n }\n }, {\n key: \"shift\",\n value: function shift() {\n return _remove(this.head, this).value;\n }\n }, {\n key: \"shiftNode\",\n value: function shiftNode() {\n return _remove(this.head, this);\n }\n }, {\n key: \"get_object_at\",\n value: function get_object_at(index) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n return current.value;\n }\n }\n }, {\n key: \"set_object_at\",\n value: function set_object_at(index, value) {\n if (index <= this.length()) {\n var i = 1;\n var current = this.head;\n while (i < index) {\n current = current.next;\n i++;\n }\n current.value = value;\n }\n }\n }]);\n\n return LinkedList;\n}();\n\nmodule.exports = LinkedList;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*\r\n *This class is the javascript implementation of the Point.java class in jdk\r\n */\nfunction Point(x, y, p) {\n this.x = null;\n this.y = null;\n if (x == null && y == null && p == null) {\n this.x = 0;\n this.y = 0;\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n this.x = x;\n this.y = y;\n } else if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.x = p.x;\n this.y = p.y;\n }\n}\n\nPoint.prototype.getX = function () {\n return this.x;\n};\n\nPoint.prototype.getY = function () {\n return this.y;\n};\n\nPoint.prototype.getLocation = function () {\n return new Point(this.x, this.y);\n};\n\nPoint.prototype.setLocation = function (x, y, p) {\n if (x.constructor.name == 'Point' && y == null && p == null) {\n p = x;\n this.setLocation(p.x, p.y);\n } else if (typeof x == 'number' && typeof y == 'number' && p == null) {\n //if both parameters are integer just move (x,y) location\n if (parseInt(x) == x && parseInt(y) == y) {\n this.move(x, y);\n } else {\n this.x = Math.floor(x + 0.5);\n this.y = Math.floor(y + 0.5);\n }\n }\n};\n\nPoint.prototype.move = function (x, y) {\n this.x = x;\n this.y = y;\n};\n\nPoint.prototype.translate = function (dx, dy) {\n this.x += dx;\n this.y += dy;\n};\n\nPoint.prototype.equals = function (obj) {\n if (obj.constructor.name == \"Point\") {\n var pt = obj;\n return this.x == pt.x && this.y == pt.y;\n }\n return this == obj;\n};\n\nPoint.prototype.toString = function () {\n return new Point().constructor.name + \"[x=\" + this.x + \",y=\" + this.y + \"]\";\n};\n\nmodule.exports = Point;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RectangleD(x, y, width, height) {\n this.x = 0;\n this.y = 0;\n this.width = 0;\n this.height = 0;\n\n if (x != null && y != null && width != null && height != null) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n}\n\nRectangleD.prototype.getX = function () {\n return this.x;\n};\n\nRectangleD.prototype.setX = function (x) {\n this.x = x;\n};\n\nRectangleD.prototype.getY = function () {\n return this.y;\n};\n\nRectangleD.prototype.setY = function (y) {\n this.y = y;\n};\n\nRectangleD.prototype.getWidth = function () {\n return this.width;\n};\n\nRectangleD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nRectangleD.prototype.getHeight = function () {\n return this.height;\n};\n\nRectangleD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nRectangleD.prototype.getRight = function () {\n return this.x + this.width;\n};\n\nRectangleD.prototype.getBottom = function () {\n return this.y + this.height;\n};\n\nRectangleD.prototype.intersects = function (a) {\n if (this.getRight() < a.x) {\n return false;\n }\n\n if (this.getBottom() < a.y) {\n return false;\n }\n\n if (a.getRight() < this.x) {\n return false;\n }\n\n if (a.getBottom() < this.y) {\n return false;\n }\n\n return true;\n};\n\nRectangleD.prototype.getCenterX = function () {\n return this.x + this.width / 2;\n};\n\nRectangleD.prototype.getMinX = function () {\n return this.getX();\n};\n\nRectangleD.prototype.getMaxX = function () {\n return this.getX() + this.width;\n};\n\nRectangleD.prototype.getCenterY = function () {\n return this.y + this.height / 2;\n};\n\nRectangleD.prototype.getMinY = function () {\n return this.getY();\n};\n\nRectangleD.prototype.getMaxY = function () {\n return this.getY() + this.height;\n};\n\nRectangleD.prototype.getWidthHalf = function () {\n return this.width / 2;\n};\n\nRectangleD.prototype.getHeightHalf = function () {\n return this.height / 2;\n};\n\nmodule.exports = RectangleD;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction UniqueIDGeneretor() {}\n\nUniqueIDGeneretor.lastID = 0;\n\nUniqueIDGeneretor.createID = function (obj) {\n if (UniqueIDGeneretor.isPrimitive(obj)) {\n return obj;\n }\n if (obj.uniqueID != null) {\n return obj.uniqueID;\n }\n obj.uniqueID = UniqueIDGeneretor.getString();\n UniqueIDGeneretor.lastID++;\n return obj.uniqueID;\n};\n\nUniqueIDGeneretor.getString = function (id) {\n if (id == null) id = UniqueIDGeneretor.lastID;\n return \"Object#\" + id + \"\";\n};\n\nUniqueIDGeneretor.isPrimitive = function (arg) {\n var type = typeof arg === \"undefined\" ? \"undefined\" : _typeof(arg);\n return arg == null || type != \"object\" && type != \"function\";\n};\n\nmodule.exports = UniqueIDGeneretor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar LayoutConstants = __webpack_require__(0);\nvar LGraphManager = __webpack_require__(7);\nvar LNode = __webpack_require__(3);\nvar LEdge = __webpack_require__(1);\nvar LGraph = __webpack_require__(6);\nvar PointD = __webpack_require__(5);\nvar Transform = __webpack_require__(17);\nvar Emitter = __webpack_require__(29);\n\nfunction Layout(isRemoteUse) {\n Emitter.call(this);\n\n //Layout Quality: 0:draft, 1:default, 2:proof\n this.layoutQuality = LayoutConstants.QUALITY;\n //Whether layout should create bendpoints as needed or not\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n //Whether layout should be incremental or not\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n //Whether we animate from before to after layout node positions\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n //Whether we animate the layout process or not\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n //Number iterations that should be done between two successive animations\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n /**\r\n * Whether or not leaf nodes (non-compound nodes) are of uniform sizes. When\r\n * they are, both spring and repulsion forces between two leaf nodes can be\r\n * calculated without the expensive clipping point calculations, resulting\r\n * in major speed-up.\r\n */\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n /**\r\n * This is used for creation of bendpoints by using dummy nodes and edges.\r\n * Maps an LEdge to its dummy bendpoint path.\r\n */\n this.edgeToDummyNodes = new Map();\n this.graphManager = new LGraphManager(this);\n this.isLayoutFinished = false;\n this.isSubLayout = false;\n this.isRemoteUse = false;\n\n if (isRemoteUse != null) {\n this.isRemoteUse = isRemoteUse;\n }\n}\n\nLayout.RANDOM_SEED = 1;\n\nLayout.prototype = Object.create(Emitter.prototype);\n\nLayout.prototype.getGraphManager = function () {\n return this.graphManager;\n};\n\nLayout.prototype.getAllNodes = function () {\n return this.graphManager.getAllNodes();\n};\n\nLayout.prototype.getAllEdges = function () {\n return this.graphManager.getAllEdges();\n};\n\nLayout.prototype.getAllNodesToApplyGravitation = function () {\n return this.graphManager.getAllNodesToApplyGravitation();\n};\n\nLayout.prototype.newGraphManager = function () {\n var gm = new LGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nLayout.prototype.newGraph = function (vGraph) {\n return new LGraph(null, this.graphManager, vGraph);\n};\n\nLayout.prototype.newNode = function (vNode) {\n return new LNode(this.graphManager, vNode);\n};\n\nLayout.prototype.newEdge = function (vEdge) {\n return new LEdge(null, null, vEdge);\n};\n\nLayout.prototype.checkLayoutSuccess = function () {\n return this.graphManager.getRoot() == null || this.graphManager.getRoot().getNodes().length == 0 || this.graphManager.includesInvalidEdge();\n};\n\nLayout.prototype.runLayout = function () {\n this.isLayoutFinished = false;\n\n if (this.tilingPreLayout) {\n this.tilingPreLayout();\n }\n\n this.initParameters();\n var isLayoutSuccessfull;\n\n if (this.checkLayoutSuccess()) {\n isLayoutSuccessfull = false;\n } else {\n isLayoutSuccessfull = this.layout();\n }\n\n if (LayoutConstants.ANIMATE === 'during') {\n // If this is a 'during' layout animation. Layout is not finished yet. \n // We need to perform these in index.js when layout is really finished.\n return false;\n }\n\n if (isLayoutSuccessfull) {\n if (!this.isSubLayout) {\n this.doPostLayout();\n }\n }\n\n if (this.tilingPostLayout) {\n this.tilingPostLayout();\n }\n\n this.isLayoutFinished = true;\n\n return isLayoutSuccessfull;\n};\n\n/**\r\n * This method performs the operations required after layout.\r\n */\nLayout.prototype.doPostLayout = function () {\n //assert !isSubLayout : \"Should not be called on sub-layout!\";\n // Propagate geometric changes to v-level objects\n if (!this.incremental) {\n this.transform();\n }\n this.update();\n};\n\n/**\r\n * This method updates the geometry of the target graph according to\r\n * calculated layout.\r\n */\nLayout.prototype.update2 = function () {\n // update bend points\n if (this.createBendsAsNeeded) {\n this.createBendpointsFromDummyNodes();\n\n // reset all edges, since the topology has changed\n this.graphManager.resetAllEdges();\n }\n\n // perform edge, node and root updates if layout is not called\n // remotely\n if (!this.isRemoteUse) {\n // update all edges\n var edge;\n var allEdges = this.graphManager.getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n // this.update(edge);\n }\n\n // recursively update nodes\n var node;\n var nodes = this.graphManager.getRoot().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n // this.update(node);\n }\n\n // update root graph\n this.update(this.graphManager.getRoot());\n }\n};\n\nLayout.prototype.update = function (obj) {\n if (obj == null) {\n this.update2();\n } else if (obj instanceof LNode) {\n var node = obj;\n if (node.getChild() != null) {\n // since node is compound, recursively update child nodes\n var nodes = node.getChild().getNodes();\n for (var i = 0; i < nodes.length; i++) {\n update(nodes[i]);\n }\n }\n\n // if the l-level node is associated with a v-level graph object,\n // then it is assumed that the v-level node implements the\n // interface Updatable.\n if (node.vGraphObject != null) {\n // cast to Updatable without any type check\n var vNode = node.vGraphObject;\n\n // call the update method of the interface\n vNode.update(node);\n }\n } else if (obj instanceof LEdge) {\n var edge = obj;\n // if the l-level edge is associated with a v-level graph object,\n // then it is assumed that the v-level edge implements the\n // interface Updatable.\n\n if (edge.vGraphObject != null) {\n // cast to Updatable without any type check\n var vEdge = edge.vGraphObject;\n\n // call the update method of the interface\n vEdge.update(edge);\n }\n } else if (obj instanceof LGraph) {\n var graph = obj;\n // if the l-level graph is associated with a v-level graph object,\n // then it is assumed that the v-level object implements the\n // interface Updatable.\n\n if (graph.vGraphObject != null) {\n // cast to Updatable without any type check\n var vGraph = graph.vGraphObject;\n\n // call the update method of the interface\n vGraph.update(graph);\n }\n }\n};\n\n/**\r\n * This method is used to set all layout parameters to default values\r\n * determined at compile time.\r\n */\nLayout.prototype.initParameters = function () {\n if (!this.isSubLayout) {\n this.layoutQuality = LayoutConstants.QUALITY;\n this.animationDuringLayout = LayoutConstants.DEFAULT_ANIMATION_DURING_LAYOUT;\n this.animationPeriod = LayoutConstants.DEFAULT_ANIMATION_PERIOD;\n this.animationOnLayout = LayoutConstants.DEFAULT_ANIMATION_ON_LAYOUT;\n this.incremental = LayoutConstants.DEFAULT_INCREMENTAL;\n this.createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n this.uniformLeafNodeSizes = LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES;\n }\n\n if (this.animationDuringLayout) {\n this.animationOnLayout = false;\n }\n};\n\nLayout.prototype.transform = function (newLeftTop) {\n if (newLeftTop == undefined) {\n this.transform(new PointD(0, 0));\n } else {\n // create a transformation object (from Eclipse to layout). When an\n // inverse transform is applied, we get upper-left coordinate of the\n // drawing or the root graph at given input coordinate (some margins\n // already included in calculation of left-top).\n\n var trans = new Transform();\n var leftTop = this.graphManager.getRoot().updateLeftTop();\n\n if (leftTop != null) {\n trans.setWorldOrgX(newLeftTop.x);\n trans.setWorldOrgY(newLeftTop.y);\n\n trans.setDeviceOrgX(leftTop.x);\n trans.setDeviceOrgY(leftTop.y);\n\n var nodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n node.transform(trans);\n }\n }\n }\n};\n\nLayout.prototype.positionNodesRandomly = function (graph) {\n\n if (graph == undefined) {\n //assert !this.incremental;\n this.positionNodesRandomly(this.getGraphManager().getRoot());\n this.getGraphManager().getRoot().updateBounds(true);\n } else {\n var lNode;\n var childGraph;\n\n var nodes = graph.getNodes();\n for (var i = 0; i < nodes.length; i++) {\n lNode = nodes[i];\n childGraph = lNode.getChild();\n\n if (childGraph == null) {\n lNode.scatter();\n } else if (childGraph.getNodes().length == 0) {\n lNode.scatter();\n } else {\n this.positionNodesRandomly(childGraph);\n lNode.updateBounds();\n }\n }\n }\n};\n\n/**\r\n * This method returns a list of trees where each tree is represented as a\r\n * list of l-nodes. The method returns a list of size 0 when:\r\n * - The graph is not flat or\r\n * - One of the component(s) of the graph is not a tree.\r\n */\nLayout.prototype.getFlatForest = function () {\n var flatForest = [];\n var isForest = true;\n\n // Quick reference for all nodes in the graph manager associated with\n // this layout. The list should not be changed.\n var allNodes = this.graphManager.getRoot().getNodes();\n\n // First be sure that the graph is flat\n var isFlat = true;\n\n for (var i = 0; i < allNodes.length; i++) {\n if (allNodes[i].getChild() != null) {\n isFlat = false;\n }\n }\n\n // Return empty forest if the graph is not flat.\n if (!isFlat) {\n return flatForest;\n }\n\n // Run BFS for each component of the graph.\n\n var visited = new Set();\n var toBeVisited = [];\n var parents = new Map();\n var unProcessedNodes = [];\n\n unProcessedNodes = unProcessedNodes.concat(allNodes);\n\n // Each iteration of this loop finds a component of the graph and\n // decides whether it is a tree or not. If it is a tree, adds it to the\n // forest and continued with the next component.\n\n while (unProcessedNodes.length > 0 && isForest) {\n toBeVisited.push(unProcessedNodes[0]);\n\n // Start the BFS. Each iteration of this loop visits a node in a\n // BFS manner.\n while (toBeVisited.length > 0 && isForest) {\n //pool operation\n var currentNode = toBeVisited[0];\n toBeVisited.splice(0, 1);\n visited.add(currentNode);\n\n // Traverse all neighbors of this node\n var neighborEdges = currentNode.getEdges();\n\n for (var i = 0; i < neighborEdges.length; i++) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(currentNode);\n\n // If BFS is not growing from this neighbor.\n if (parents.get(currentNode) != currentNeighbor) {\n // We haven't previously visited this neighbor.\n if (!visited.has(currentNeighbor)) {\n toBeVisited.push(currentNeighbor);\n parents.set(currentNeighbor, currentNode);\n }\n // Since we have previously visited this neighbor and\n // this neighbor is not parent of currentNode, given\n // graph contains a component that is not tree, hence\n // it is not a forest.\n else {\n isForest = false;\n break;\n }\n }\n }\n }\n\n // The graph contains a component that is not a tree. Empty\n // previously found trees. The method will end.\n if (!isForest) {\n flatForest = [];\n }\n // Save currently visited nodes as a tree in our forest. Reset\n // visited and parents lists. Continue with the next component of\n // the graph, if any.\n else {\n var temp = [].concat(_toConsumableArray(visited));\n flatForest.push(temp);\n //flatForest = flatForest.concat(temp);\n //unProcessedNodes.removeAll(visited);\n for (var i = 0; i < temp.length; i++) {\n var value = temp[i];\n var index = unProcessedNodes.indexOf(value);\n if (index > -1) {\n unProcessedNodes.splice(index, 1);\n }\n }\n visited = new Set();\n parents = new Map();\n }\n }\n\n return flatForest;\n};\n\n/**\r\n * This method creates dummy nodes (an l-level node with minimal dimensions)\r\n * for the given edge (one per bendpoint). The existing l-level structure\r\n * is updated accordingly.\r\n */\nLayout.prototype.createDummyNodesForBendpoints = function (edge) {\n var dummyNodes = [];\n var prev = edge.source;\n\n var graph = this.graphManager.calcLowestCommonAncestor(edge.source, edge.target);\n\n for (var i = 0; i < edge.bendpoints.length; i++) {\n // create new dummy node\n var dummyNode = this.newNode(null);\n dummyNode.setRect(new Point(0, 0), new Dimension(1, 1));\n\n graph.add(dummyNode);\n\n // create new dummy edge between prev and dummy node\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, dummyNode);\n\n dummyNodes.add(dummyNode);\n prev = dummyNode;\n }\n\n var dummyEdge = this.newEdge(null);\n this.graphManager.add(dummyEdge, prev, edge.target);\n\n this.edgeToDummyNodes.set(edge, dummyNodes);\n\n // remove real edge from graph manager if it is inter-graph\n if (edge.isInterGraph()) {\n this.graphManager.remove(edge);\n }\n // else, remove the edge from the current graph\n else {\n graph.remove(edge);\n }\n\n return dummyNodes;\n};\n\n/**\r\n * This method creates bendpoints for edges from the dummy nodes\r\n * at l-level.\r\n */\nLayout.prototype.createBendpointsFromDummyNodes = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n edges = [].concat(_toConsumableArray(this.edgeToDummyNodes.keys())).concat(edges);\n\n for (var k = 0; k < edges.length; k++) {\n var lEdge = edges[k];\n\n if (lEdge.bendpoints.length > 0) {\n var path = this.edgeToDummyNodes.get(lEdge);\n\n for (var i = 0; i < path.length; i++) {\n var dummyNode = path[i];\n var p = new PointD(dummyNode.getCenterX(), dummyNode.getCenterY());\n\n // update bendpoint's location according to dummy node\n var ebp = lEdge.bendpoints.get(i);\n ebp.x = p.x;\n ebp.y = p.y;\n\n // remove the dummy node, dummy edges incident with this\n // dummy node is also removed (within the remove method)\n dummyNode.getOwner().remove(dummyNode);\n }\n\n // add the real edge to graph\n this.graphManager.add(lEdge, lEdge.source, lEdge.target);\n }\n }\n};\n\nLayout.transform = function (sliderValue, defaultValue, minDiv, maxMul) {\n if (minDiv != undefined && maxMul != undefined) {\n var value = defaultValue;\n\n if (sliderValue <= 50) {\n var minValue = defaultValue / minDiv;\n value -= (defaultValue - minValue) / 50 * (50 - sliderValue);\n } else {\n var maxValue = defaultValue * maxMul;\n value += (maxValue - defaultValue) / 50 * (sliderValue - 50);\n }\n\n return value;\n } else {\n var a, b;\n\n if (sliderValue <= 50) {\n a = 9.0 * defaultValue / 500.0;\n b = defaultValue / 10.0;\n } else {\n a = 9.0 * defaultValue / 50.0;\n b = -8 * defaultValue;\n }\n\n return a * sliderValue + b;\n }\n};\n\n/**\r\n * This method finds and returns the center of the given nodes, assuming\r\n * that the given nodes form a tree in themselves.\r\n */\nLayout.findCenterOfTree = function (nodes) {\n var list = [];\n list = list.concat(nodes);\n\n var removedNodes = [];\n var remainingDegrees = new Map();\n var foundCenter = false;\n var centerNode = null;\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n var degree = node.getNeighborsList().size;\n remainingDegrees.set(node, node.getNeighborsList().size);\n\n if (degree == 1) {\n removedNodes.push(node);\n }\n }\n\n var tempList = [];\n tempList = tempList.concat(removedNodes);\n\n while (!foundCenter) {\n var tempList2 = [];\n tempList2 = tempList2.concat(tempList);\n tempList = [];\n\n for (var i = 0; i < list.length; i++) {\n var node = list[i];\n\n var index = list.indexOf(node);\n if (index >= 0) {\n list.splice(index, 1);\n }\n\n var neighbours = node.getNeighborsList();\n\n neighbours.forEach(function (neighbour) {\n if (removedNodes.indexOf(neighbour) < 0) {\n var otherDegree = remainingDegrees.get(neighbour);\n var newDegree = otherDegree - 1;\n\n if (newDegree == 1) {\n tempList.push(neighbour);\n }\n\n remainingDegrees.set(neighbour, newDegree);\n }\n });\n }\n\n removedNodes = removedNodes.concat(tempList);\n\n if (list.length == 1 || list.length == 2) {\n foundCenter = true;\n centerNode = list[0];\n }\n }\n\n return centerNode;\n};\n\n/**\r\n * During the coarsening process, this layout may be referenced by two graph managers\r\n * this setter function grants access to change the currently being used graph manager\r\n */\nLayout.prototype.setGraphManager = function (gm) {\n this.graphManager = gm;\n};\n\nmodule.exports = Layout;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction RandomSeed() {}\n// adapted from: https://stackoverflow.com/a/19303725\nRandomSeed.seed = 1;\nRandomSeed.x = 0;\n\nRandomSeed.nextDouble = function () {\n RandomSeed.x = Math.sin(RandomSeed.seed++) * 10000;\n return RandomSeed.x - Math.floor(RandomSeed.x);\n};\n\nmodule.exports = RandomSeed;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar PointD = __webpack_require__(5);\n\nfunction Transform(x, y) {\n this.lworldOrgX = 0.0;\n this.lworldOrgY = 0.0;\n this.ldeviceOrgX = 0.0;\n this.ldeviceOrgY = 0.0;\n this.lworldExtX = 1.0;\n this.lworldExtY = 1.0;\n this.ldeviceExtX = 1.0;\n this.ldeviceExtY = 1.0;\n}\n\nTransform.prototype.getWorldOrgX = function () {\n return this.lworldOrgX;\n};\n\nTransform.prototype.setWorldOrgX = function (wox) {\n this.lworldOrgX = wox;\n};\n\nTransform.prototype.getWorldOrgY = function () {\n return this.lworldOrgY;\n};\n\nTransform.prototype.setWorldOrgY = function (woy) {\n this.lworldOrgY = woy;\n};\n\nTransform.prototype.getWorldExtX = function () {\n return this.lworldExtX;\n};\n\nTransform.prototype.setWorldExtX = function (wex) {\n this.lworldExtX = wex;\n};\n\nTransform.prototype.getWorldExtY = function () {\n return this.lworldExtY;\n};\n\nTransform.prototype.setWorldExtY = function (wey) {\n this.lworldExtY = wey;\n};\n\n/* Device related */\n\nTransform.prototype.getDeviceOrgX = function () {\n return this.ldeviceOrgX;\n};\n\nTransform.prototype.setDeviceOrgX = function (dox) {\n this.ldeviceOrgX = dox;\n};\n\nTransform.prototype.getDeviceOrgY = function () {\n return this.ldeviceOrgY;\n};\n\nTransform.prototype.setDeviceOrgY = function (doy) {\n this.ldeviceOrgY = doy;\n};\n\nTransform.prototype.getDeviceExtX = function () {\n return this.ldeviceExtX;\n};\n\nTransform.prototype.setDeviceExtX = function (dex) {\n this.ldeviceExtX = dex;\n};\n\nTransform.prototype.getDeviceExtY = function () {\n return this.ldeviceExtY;\n};\n\nTransform.prototype.setDeviceExtY = function (dey) {\n this.ldeviceExtY = dey;\n};\n\nTransform.prototype.transformX = function (x) {\n var xDevice = 0.0;\n var worldExtX = this.lworldExtX;\n if (worldExtX != 0.0) {\n xDevice = this.ldeviceOrgX + (x - this.lworldOrgX) * this.ldeviceExtX / worldExtX;\n }\n\n return xDevice;\n};\n\nTransform.prototype.transformY = function (y) {\n var yDevice = 0.0;\n var worldExtY = this.lworldExtY;\n if (worldExtY != 0.0) {\n yDevice = this.ldeviceOrgY + (y - this.lworldOrgY) * this.ldeviceExtY / worldExtY;\n }\n\n return yDevice;\n};\n\nTransform.prototype.inverseTransformX = function (x) {\n var xWorld = 0.0;\n var deviceExtX = this.ldeviceExtX;\n if (deviceExtX != 0.0) {\n xWorld = this.lworldOrgX + (x - this.ldeviceOrgX) * this.lworldExtX / deviceExtX;\n }\n\n return xWorld;\n};\n\nTransform.prototype.inverseTransformY = function (y) {\n var yWorld = 0.0;\n var deviceExtY = this.ldeviceExtY;\n if (deviceExtY != 0.0) {\n yWorld = this.lworldOrgY + (y - this.ldeviceOrgY) * this.lworldExtY / deviceExtY;\n }\n return yWorld;\n};\n\nTransform.prototype.inverseTransformPoint = function (inPoint) {\n var outPoint = new PointD(this.inverseTransformX(inPoint.x), this.inverseTransformY(inPoint.y));\n return outPoint;\n};\n\nmodule.exports = Transform;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar Layout = __webpack_require__(15);\nvar FDLayoutConstants = __webpack_require__(4);\nvar LayoutConstants = __webpack_require__(0);\nvar IGeometry = __webpack_require__(8);\nvar IMath = __webpack_require__(9);\n\nfunction FDLayout() {\n Layout.call(this);\n\n this.useSmartIdealEdgeLengthCalculation = FDLayoutConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n this.displacementThresholdPerNode = 3.0 * FDLayoutConstants.DEFAULT_EDGE_LENGTH / 100;\n this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.initialCoolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n this.totalDisplacement = 0.0;\n this.oldTotalDisplacement = 0.0;\n this.maxIterations = FDLayoutConstants.MAX_ITERATIONS;\n}\n\nFDLayout.prototype = Object.create(Layout.prototype);\n\nfor (var prop in Layout) {\n FDLayout[prop] = Layout[prop];\n}\n\nFDLayout.prototype.initParameters = function () {\n Layout.prototype.initParameters.call(this, arguments);\n\n this.totalIterations = 0;\n this.notAnimatedIterations = 0;\n\n this.useFRGridVariant = FDLayoutConstants.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION;\n\n this.grid = [];\n};\n\nFDLayout.prototype.calcIdealEdgeLengths = function () {\n var edge;\n var originalIdealLength;\n var lcaDepth;\n var source;\n var target;\n var sizeOfSourceInLca;\n var sizeOfTargetInLca;\n\n var allEdges = this.getGraphManager().getAllEdges();\n for (var i = 0; i < allEdges.length; i++) {\n edge = allEdges[i];\n\n originalIdealLength = edge.idealLength;\n\n if (edge.isInterGraph) {\n source = edge.getSource();\n target = edge.getTarget();\n\n sizeOfSourceInLca = edge.getSourceInLca().getEstimatedSize();\n sizeOfTargetInLca = edge.getTargetInLca().getEstimatedSize();\n\n if (this.useSmartIdealEdgeLengthCalculation) {\n edge.idealLength += sizeOfSourceInLca + sizeOfTargetInLca - 2 * LayoutConstants.SIMPLE_NODE_SIZE;\n }\n\n lcaDepth = edge.getLca().getInclusionTreeDepth();\n\n edge.idealLength += originalIdealLength * FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR * (source.getInclusionTreeDepth() + target.getInclusionTreeDepth() - 2 * lcaDepth);\n }\n }\n};\n\nFDLayout.prototype.initSpringEmbedder = function () {\n\n var s = this.getAllNodes().length;\n if (this.incremental) {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(this.coolingFactor * FDLayoutConstants.COOLING_ADAPTATION_FACTOR, this.coolingFactor - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * this.coolingFactor * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n }\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT_INCREMENTAL;\n } else {\n if (s > FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) {\n this.coolingFactor = Math.max(FDLayoutConstants.COOLING_ADAPTATION_FACTOR, 1.0 - (s - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) / (FDLayoutConstants.ADAPTATION_UPPER_NODE_LIMIT - FDLayoutConstants.ADAPTATION_LOWER_NODE_LIMIT) * (1 - FDLayoutConstants.COOLING_ADAPTATION_FACTOR));\n } else {\n this.coolingFactor = 1.0;\n }\n this.initialCoolingFactor = this.coolingFactor;\n this.maxNodeDisplacement = FDLayoutConstants.MAX_NODE_DISPLACEMENT;\n }\n\n this.maxIterations = Math.max(this.getAllNodes().length * 5, this.maxIterations);\n\n // Reassign this attribute by using new constant value\n this.displacementThresholdPerNode = 3.0 * FDLayoutConstants.DEFAULT_EDGE_LENGTH / 100;\n this.totalDisplacementThreshold = this.displacementThresholdPerNode * this.getAllNodes().length;\n\n this.repulsionRange = this.calcRepulsionRange();\n};\n\nFDLayout.prototype.calcSpringForces = function () {\n var lEdges = this.getAllEdges();\n var edge;\n\n for (var i = 0; i < lEdges.length; i++) {\n edge = lEdges[i];\n\n this.calcSpringForce(edge, edge.idealLength);\n }\n};\n\nFDLayout.prototype.calcRepulsionForces = function () {\n var gridUpdateAllowed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var forceToNodeSurroundingUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var i, j;\n var nodeA, nodeB;\n var lNodes = this.getAllNodes();\n var processedNodeSet;\n\n if (this.useFRGridVariant) {\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed) {\n this.updateGrid();\n }\n\n processedNodeSet = new Set();\n\n // calculate repulsion forces between each nodes and its surrounding\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.calculateRepulsionForceOfANode(nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate);\n processedNodeSet.add(nodeA);\n }\n } else {\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n\n for (j = i + 1; j < lNodes.length; j++) {\n nodeB = lNodes[j];\n\n // If both nodes are not members of the same graph, skip.\n if (nodeA.getOwner() != nodeB.getOwner()) {\n continue;\n }\n\n this.calcRepulsionForce(nodeA, nodeB);\n }\n }\n }\n};\n\nFDLayout.prototype.calcGravitationalForces = function () {\n var node;\n var lNodes = this.getAllNodesToApplyGravitation();\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n this.calcGravitationalForce(node);\n }\n};\n\nFDLayout.prototype.moveNodes = function () {\n var lNodes = this.getAllNodes();\n var node;\n\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n node.move();\n }\n};\n\nFDLayout.prototype.calcSpringForce = function (edge, idealLength) {\n var sourceNode = edge.getSource();\n var targetNode = edge.getTarget();\n\n var length;\n var springForce;\n var springForceX;\n var springForceY;\n\n // Update edge length\n if (this.uniformLeafNodeSizes && sourceNode.getChild() == null && targetNode.getChild() == null) {\n edge.updateLengthSimple();\n } else {\n edge.updateLength();\n\n if (edge.isOverlapingSourceAndTarget) {\n return;\n }\n }\n\n length = edge.getLength();\n\n if (length == 0) return;\n\n // Calculate spring forces\n springForce = edge.edgeElasticity * (length - idealLength);\n\n // Project force onto x and y axes\n springForceX = springForce * (edge.lengthX / length);\n springForceY = springForce * (edge.lengthY / length);\n\n // Apply forces on the end nodes\n sourceNode.springForceX += springForceX;\n sourceNode.springForceY += springForceY;\n targetNode.springForceX -= springForceX;\n targetNode.springForceY -= springForceY;\n};\n\nFDLayout.prototype.calcRepulsionForce = function (nodeA, nodeB) {\n var rectA = nodeA.getRect();\n var rectB = nodeB.getRect();\n var overlapAmount = new Array(2);\n var clipPoints = new Array(4);\n var distanceX;\n var distanceY;\n var distanceSquared;\n var distance;\n var repulsionForce;\n var repulsionForceX;\n var repulsionForceY;\n\n if (rectA.intersects(rectB)) // two nodes overlap\n {\n // calculate separation amount in x and y directions\n IGeometry.calcSeparationAmount(rectA, rectB, overlapAmount, FDLayoutConstants.DEFAULT_EDGE_LENGTH / 2.0);\n\n repulsionForceX = 2 * overlapAmount[0];\n repulsionForceY = 2 * overlapAmount[1];\n\n var childrenConstant = nodeA.noOfChildren * nodeB.noOfChildren / (nodeA.noOfChildren + nodeB.noOfChildren);\n\n // Apply forces on the two nodes\n nodeA.repulsionForceX -= childrenConstant * repulsionForceX;\n nodeA.repulsionForceY -= childrenConstant * repulsionForceY;\n nodeB.repulsionForceX += childrenConstant * repulsionForceX;\n nodeB.repulsionForceY += childrenConstant * repulsionForceY;\n } else // no overlap\n {\n // calculate distance\n\n if (this.uniformLeafNodeSizes && nodeA.getChild() == null && nodeB.getChild() == null) // simply base repulsion on distance of node centers\n {\n distanceX = rectB.getCenterX() - rectA.getCenterX();\n distanceY = rectB.getCenterY() - rectA.getCenterY();\n } else // use clipping points\n {\n IGeometry.getIntersection(rectA, rectB, clipPoints);\n\n distanceX = clipPoints[2] - clipPoints[0];\n distanceY = clipPoints[3] - clipPoints[1];\n }\n\n // No repulsion range. FR grid variant should take care of this.\n if (Math.abs(distanceX) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceX = IMath.sign(distanceX) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n if (Math.abs(distanceY) < FDLayoutConstants.MIN_REPULSION_DIST) {\n distanceY = IMath.sign(distanceY) * FDLayoutConstants.MIN_REPULSION_DIST;\n }\n\n distanceSquared = distanceX * distanceX + distanceY * distanceY;\n distance = Math.sqrt(distanceSquared);\n\n // Here we use half of the nodes' repulsion values for backward compatibility\n repulsionForce = (nodeA.nodeRepulsion / 2 + nodeB.nodeRepulsion / 2) * nodeA.noOfChildren * nodeB.noOfChildren / distanceSquared;\n\n // Project force onto x and y axes\n repulsionForceX = repulsionForce * distanceX / distance;\n repulsionForceY = repulsionForce * distanceY / distance;\n\n // Apply forces on the two nodes \n nodeA.repulsionForceX -= repulsionForceX;\n nodeA.repulsionForceY -= repulsionForceY;\n nodeB.repulsionForceX += repulsionForceX;\n nodeB.repulsionForceY += repulsionForceY;\n }\n};\n\nFDLayout.prototype.calcGravitationalForce = function (node) {\n var ownerGraph;\n var ownerCenterX;\n var ownerCenterY;\n var distanceX;\n var distanceY;\n var absDistanceX;\n var absDistanceY;\n var estimatedSize;\n ownerGraph = node.getOwner();\n\n ownerCenterX = (ownerGraph.getRight() + ownerGraph.getLeft()) / 2;\n ownerCenterY = (ownerGraph.getTop() + ownerGraph.getBottom()) / 2;\n distanceX = node.getCenterX() - ownerCenterX;\n distanceY = node.getCenterY() - ownerCenterY;\n absDistanceX = Math.abs(distanceX) + node.getWidth() / 2;\n absDistanceY = Math.abs(distanceY) + node.getHeight() / 2;\n\n if (node.getOwner() == this.graphManager.getRoot()) // in the root graph\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.gravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX;\n node.gravitationForceY = -this.gravityConstant * distanceY;\n }\n } else // inside a compound\n {\n estimatedSize = ownerGraph.getEstimatedSize() * this.compoundGravityRangeFactor;\n\n if (absDistanceX > estimatedSize || absDistanceY > estimatedSize) {\n node.gravitationForceX = -this.gravityConstant * distanceX * this.compoundGravityConstant;\n node.gravitationForceY = -this.gravityConstant * distanceY * this.compoundGravityConstant;\n }\n }\n};\n\nFDLayout.prototype.isConverged = function () {\n var converged;\n var oscilating = false;\n\n if (this.totalIterations > this.maxIterations / 3) {\n oscilating = Math.abs(this.totalDisplacement - this.oldTotalDisplacement) < 2;\n }\n\n converged = this.totalDisplacement < this.totalDisplacementThreshold;\n\n this.oldTotalDisplacement = this.totalDisplacement;\n\n return converged || oscilating;\n};\n\nFDLayout.prototype.animate = function () {\n if (this.animationDuringLayout && !this.isSubLayout) {\n if (this.notAnimatedIterations == this.animationPeriod) {\n this.update();\n this.notAnimatedIterations = 0;\n } else {\n this.notAnimatedIterations++;\n }\n }\n};\n\n//This method calculates the number of children (weight) for all nodes\nFDLayout.prototype.calcNoOfChildrenForAllNodes = function () {\n var node;\n var allNodes = this.graphManager.getAllNodes();\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n node.noOfChildren = node.getNoOfChildren();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: FR-Grid Variant Repulsion Force Calculation\n// -----------------------------------------------------------------------------\n\nFDLayout.prototype.calcGrid = function (graph) {\n\n var sizeX = 0;\n var sizeY = 0;\n\n sizeX = parseInt(Math.ceil((graph.getRight() - graph.getLeft()) / this.repulsionRange));\n sizeY = parseInt(Math.ceil((graph.getBottom() - graph.getTop()) / this.repulsionRange));\n\n var grid = new Array(sizeX);\n\n for (var i = 0; i < sizeX; i++) {\n grid[i] = new Array(sizeY);\n }\n\n for (var i = 0; i < sizeX; i++) {\n for (var j = 0; j < sizeY; j++) {\n grid[i][j] = new Array();\n }\n }\n\n return grid;\n};\n\nFDLayout.prototype.addNodeToGrid = function (v, left, top) {\n\n var startX = 0;\n var finishX = 0;\n var startY = 0;\n var finishY = 0;\n\n startX = parseInt(Math.floor((v.getRect().x - left) / this.repulsionRange));\n finishX = parseInt(Math.floor((v.getRect().width + v.getRect().x - left) / this.repulsionRange));\n startY = parseInt(Math.floor((v.getRect().y - top) / this.repulsionRange));\n finishY = parseInt(Math.floor((v.getRect().height + v.getRect().y - top) / this.repulsionRange));\n\n for (var i = startX; i <= finishX; i++) {\n for (var j = startY; j <= finishY; j++) {\n this.grid[i][j].push(v);\n v.setGridCoordinates(startX, finishX, startY, finishY);\n }\n }\n};\n\nFDLayout.prototype.updateGrid = function () {\n var i;\n var nodeA;\n var lNodes = this.getAllNodes();\n\n this.grid = this.calcGrid(this.graphManager.getRoot());\n\n // put all nodes to proper grid cells\n for (i = 0; i < lNodes.length; i++) {\n nodeA = lNodes[i];\n this.addNodeToGrid(nodeA, this.graphManager.getRoot().getLeft(), this.graphManager.getRoot().getTop());\n }\n};\n\nFDLayout.prototype.calculateRepulsionForceOfANode = function (nodeA, processedNodeSet, gridUpdateAllowed, forceToNodeSurroundingUpdate) {\n\n if (this.totalIterations % FDLayoutConstants.GRID_CALCULATION_CHECK_PERIOD == 1 && gridUpdateAllowed || forceToNodeSurroundingUpdate) {\n var surrounding = new Set();\n nodeA.surrounding = new Array();\n var nodeB;\n var grid = this.grid;\n\n for (var i = nodeA.startX - 1; i < nodeA.finishX + 2; i++) {\n for (var j = nodeA.startY - 1; j < nodeA.finishY + 2; j++) {\n if (!(i < 0 || j < 0 || i >= grid.length || j >= grid[0].length)) {\n for (var k = 0; k < grid[i][j].length; k++) {\n nodeB = grid[i][j][k];\n\n // If both nodes are not members of the same graph, \n // or both nodes are the same, skip.\n if (nodeA.getOwner() != nodeB.getOwner() || nodeA == nodeB) {\n continue;\n }\n\n // check if the repulsion force between\n // nodeA and nodeB has already been calculated\n if (!processedNodeSet.has(nodeB) && !surrounding.has(nodeB)) {\n var distanceX = Math.abs(nodeA.getCenterX() - nodeB.getCenterX()) - (nodeA.getWidth() / 2 + nodeB.getWidth() / 2);\n var distanceY = Math.abs(nodeA.getCenterY() - nodeB.getCenterY()) - (nodeA.getHeight() / 2 + nodeB.getHeight() / 2);\n\n // if the distance between nodeA and nodeB \n // is less then calculation range\n if (distanceX <= this.repulsionRange && distanceY <= this.repulsionRange) {\n //then add nodeB to surrounding of nodeA\n surrounding.add(nodeB);\n }\n }\n }\n }\n }\n }\n\n nodeA.surrounding = [].concat(_toConsumableArray(surrounding));\n }\n for (i = 0; i < nodeA.surrounding.length; i++) {\n this.calcRepulsionForce(nodeA, nodeA.surrounding[i]);\n }\n};\n\nFDLayout.prototype.calcRepulsionRange = function () {\n return 0.0;\n};\n\nmodule.exports = FDLayout;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LEdge = __webpack_require__(1);\nvar FDLayoutConstants = __webpack_require__(4);\n\nfunction FDLayoutEdge(source, target, vEdge) {\n LEdge.call(this, source, target, vEdge);\n\n // Ideal length and elasticity value for this edge\n this.idealLength = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n this.edgeElasticity = FDLayoutConstants.DEFAULT_SPRING_STRENGTH;\n}\n\nFDLayoutEdge.prototype = Object.create(LEdge.prototype);\n\nfor (var prop in LEdge) {\n FDLayoutEdge[prop] = LEdge[prop];\n}\n\nmodule.exports = FDLayoutEdge;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar LNode = __webpack_require__(3);\nvar FDLayoutConstants = __webpack_require__(4);\n\nfunction FDLayoutNode(gm, loc, size, vNode) {\n // alternative constructor is handled inside LNode\n LNode.call(this, gm, loc, size, vNode);\n\n // Repulsion value of this node\n this.nodeRepulsion = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH;\n\n //Spring, repulsion and gravitational forces acting on this node\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n //Amount by which this node is to be moved in this iteration\n this.displacementX = 0;\n this.displacementY = 0;\n\n //Start and finish grid coordinates that this node is fallen into\n this.startX = 0;\n this.finishX = 0;\n this.startY = 0;\n this.finishY = 0;\n\n //Geometric neighbors of this node\n this.surrounding = [];\n}\n\nFDLayoutNode.prototype = Object.create(LNode.prototype);\n\nfor (var prop in LNode) {\n FDLayoutNode[prop] = LNode[prop];\n}\n\nFDLayoutNode.prototype.setGridCoordinates = function (_startX, _finishX, _startY, _finishY) {\n this.startX = _startX;\n this.finishX = _finishX;\n this.startY = _startY;\n this.finishY = _finishY;\n};\n\nmodule.exports = FDLayoutNode;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction DimensionD(width, height) {\n this.width = 0;\n this.height = 0;\n if (width !== null && height !== null) {\n this.height = height;\n this.width = width;\n }\n}\n\nDimensionD.prototype.getWidth = function () {\n return this.width;\n};\n\nDimensionD.prototype.setWidth = function (width) {\n this.width = width;\n};\n\nDimensionD.prototype.getHeight = function () {\n return this.height;\n};\n\nDimensionD.prototype.setHeight = function (height) {\n this.height = height;\n};\n\nmodule.exports = DimensionD;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashMap() {\n this.map = {};\n this.keys = [];\n}\n\nHashMap.prototype.put = function (key, value) {\n var theId = UniqueIDGeneretor.createID(key);\n if (!this.contains(theId)) {\n this.map[theId] = value;\n this.keys.push(key);\n }\n};\n\nHashMap.prototype.contains = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[key] != null;\n};\n\nHashMap.prototype.get = function (key) {\n var theId = UniqueIDGeneretor.createID(key);\n return this.map[theId];\n};\n\nHashMap.prototype.keySet = function () {\n return this.keys;\n};\n\nmodule.exports = HashMap;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UniqueIDGeneretor = __webpack_require__(14);\n\nfunction HashSet() {\n this.set = {};\n}\n;\n\nHashSet.prototype.add = function (obj) {\n var theId = UniqueIDGeneretor.createID(obj);\n if (!this.contains(theId)) this.set[theId] = obj;\n};\n\nHashSet.prototype.remove = function (obj) {\n delete this.set[UniqueIDGeneretor.createID(obj)];\n};\n\nHashSet.prototype.clear = function () {\n this.set = {};\n};\n\nHashSet.prototype.contains = function (obj) {\n return this.set[UniqueIDGeneretor.createID(obj)] == obj;\n};\n\nHashSet.prototype.isEmpty = function () {\n return this.size() === 0;\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\n//concats this.set to the given list\nHashSet.prototype.addAllTo = function (list) {\n var keys = Object.keys(this.set);\n var length = keys.length;\n for (var i = 0; i < length; i++) {\n list.push(this.set[keys[i]]);\n }\n};\n\nHashSet.prototype.size = function () {\n return Object.keys(this.set).length;\n};\n\nHashSet.prototype.addAll = function (list) {\n var s = list.length;\n for (var i = 0; i < s; i++) {\n var v = list[i];\n this.add(v);\n }\n};\n\nmodule.exports = HashSet;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Some matrix (1d and 2d array) operations\nfunction Matrix() {}\n\n/**\n * matrix multiplication\n * array1, array2 and result are 2d arrays\n */\nMatrix.multMat = function (array1, array2) {\n var result = [];\n\n for (var i = 0; i < array1.length; i++) {\n result[i] = [];\n for (var j = 0; j < array2[0].length; j++) {\n result[i][j] = 0;\n for (var k = 0; k < array1[0].length; k++) {\n result[i][j] += array1[i][k] * array2[k][j];\n }\n }\n }\n return result;\n};\n\n/**\n * matrix transpose\n * array and result are 2d arrays\n */\nMatrix.transpose = function (array) {\n var result = [];\n\n for (var i = 0; i < array[0].length; i++) {\n result[i] = [];\n for (var j = 0; j < array.length; j++) {\n result[i][j] = array[j][i];\n }\n }\n\n return result;\n};\n\n/**\n * multiply array with constant\n * array and result are 1d arrays\n */\nMatrix.multCons = function (array, constant) {\n var result = [];\n\n for (var i = 0; i < array.length; i++) {\n result[i] = array[i] * constant;\n }\n\n return result;\n};\n\n/**\n * substract two arrays\n * array1, array2 and result are 1d arrays\n */\nMatrix.minusOp = function (array1, array2) {\n var result = [];\n\n for (var i = 0; i < array1.length; i++) {\n result[i] = array1[i] - array2[i];\n }\n\n return result;\n};\n\n/**\n * dot product of two arrays with same size\n * array1 and array2 are 1d arrays\n */\nMatrix.dotProduct = function (array1, array2) {\n var product = 0;\n\n for (var i = 0; i < array1.length; i++) {\n product += array1[i] * array2[i];\n }\n\n return product;\n};\n\n/**\n * magnitude of an array\n * array is 1d array\n */\nMatrix.mag = function (array) {\n return Math.sqrt(this.dotProduct(array, array));\n};\n\n/**\n * normalization of an array\n * array and result are 1d array\n */\nMatrix.normalize = function (array) {\n var result = [];\n var magnitude = this.mag(array);\n\n for (var i = 0; i < array.length; i++) {\n result[i] = array[i] / magnitude;\n }\n\n return result;\n};\n\n/**\n * multiply an array with centering matrix\n * array and result are 1d array\n */\nMatrix.multGamma = function (array) {\n var result = [];\n var sum = 0;\n\n for (var i = 0; i < array.length; i++) {\n sum += array[i];\n }\n\n sum *= -1 / array.length;\n\n for (var _i = 0; _i < array.length; _i++) {\n result[_i] = sum + array[_i];\n }\n return result;\n};\n\n/**\n * a special matrix multiplication\n * result = 0.5 * C * INV * C^T * array\n * array and result are 1d, C and INV are 2d arrays\n */\nMatrix.multL = function (array, C, INV) {\n var result = [];\n var temp1 = [];\n var temp2 = [];\n\n // multiply by C^T\n for (var i = 0; i < C[0].length; i++) {\n var sum = 0;\n for (var j = 0; j < C.length; j++) {\n sum += -0.5 * C[j][i] * array[j];\n }\n temp1[i] = sum;\n }\n // multiply the result by INV\n for (var _i2 = 0; _i2 < INV.length; _i2++) {\n var _sum = 0;\n for (var _j = 0; _j < INV.length; _j++) {\n _sum += INV[_i2][_j] * temp1[_j];\n }\n temp2[_i2] = _sum;\n }\n // multiply the result by C\n for (var _i3 = 0; _i3 < C.length; _i3++) {\n var _sum2 = 0;\n for (var _j2 = 0; _j2 < C[0].length; _j2++) {\n _sum2 += C[_i3][_j2] * temp2[_j2];\n }\n result[_i3] = _sum2;\n }\n\n return result;\n};\n\nmodule.exports = Matrix;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * A classic Quicksort algorithm with Hoare's partition\n * - Works also on LinkedList objects\n *\n * Copyright: i-Vis Research Group, Bilkent University, 2007 - present\n */\n\nvar LinkedList = __webpack_require__(11);\n\nvar Quicksort = function () {\n function Quicksort(A, compareFunction) {\n _classCallCheck(this, Quicksort);\n\n if (compareFunction !== null || compareFunction !== undefined) this.compareFunction = this._defaultCompareFunction;\n\n var length = void 0;\n if (A instanceof LinkedList) length = A.size();else length = A.length;\n\n this._quicksort(A, 0, length - 1);\n }\n\n _createClass(Quicksort, [{\n key: '_quicksort',\n value: function _quicksort(A, p, r) {\n if (p < r) {\n var q = this._partition(A, p, r);\n this._quicksort(A, p, q);\n this._quicksort(A, q + 1, r);\n }\n }\n }, {\n key: '_partition',\n value: function _partition(A, p, r) {\n var x = this._get(A, p);\n var i = p;\n var j = r;\n while (true) {\n while (this.compareFunction(x, this._get(A, j))) {\n j--;\n }while (this.compareFunction(this._get(A, i), x)) {\n i++;\n }if (i < j) {\n this._swap(A, i, j);\n i++;\n j--;\n } else return j;\n }\n }\n }, {\n key: '_get',\n value: function _get(object, index) {\n if (object instanceof LinkedList) return object.get_object_at(index);else return object[index];\n }\n }, {\n key: '_set',\n value: function _set(object, index, value) {\n if (object instanceof LinkedList) object.set_object_at(index, value);else object[index] = value;\n }\n }, {\n key: '_swap',\n value: function _swap(A, i, j) {\n var temp = this._get(A, i);\n this._set(A, i, this._get(A, j));\n this._set(A, j, temp);\n }\n }, {\n key: '_defaultCompareFunction',\n value: function _defaultCompareFunction(a, b) {\n return b > a;\n }\n }]);\n\n return Quicksort;\n}();\n\nmodule.exports = Quicksort;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// Singular Value Decomposition implementation\nfunction SVD() {};\n\n/* Below singular value decomposition (svd) code including hypot function is adopted from https://github.com/dragonfly-ai/JamaJS\n Some changes are applied to make the code compatible with the fcose code and to make it independent from Jama.\n Input matrix is changed to a 2D array instead of Jama matrix. Matrix dimensions are taken according to 2D array instead of using Jama functions.\n An object that includes singular value components is created for return. \n The types of input parameters of the hypot function are removed. \n let is used instead of var for the variable initialization.\n*/\n/*\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"{}\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright {yyyy} {name of copyright owner}\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\n\nSVD.svd = function (A) {\n this.U = null;\n this.V = null;\n this.s = null;\n this.m = 0;\n this.n = 0;\n this.m = A.length;\n this.n = A[0].length;\n var nu = Math.min(this.m, this.n);\n this.s = function (s) {\n var a = [];\n while (s-- > 0) {\n a.push(0);\n }return a;\n }(Math.min(this.m + 1, this.n));\n this.U = function (dims) {\n var allocate = function allocate(dims) {\n if (dims.length == 0) {\n return 0;\n } else {\n var array = [];\n for (var i = 0; i < dims[0]; i++) {\n array.push(allocate(dims.slice(1)));\n }\n return array;\n }\n };\n return allocate(dims);\n }([this.m, nu]);\n this.V = function (dims) {\n var allocate = function allocate(dims) {\n if (dims.length == 0) {\n return 0;\n } else {\n var array = [];\n for (var i = 0; i < dims[0]; i++) {\n array.push(allocate(dims.slice(1)));\n }\n return array;\n }\n };\n return allocate(dims);\n }([this.n, this.n]);\n var e = function (s) {\n var a = [];\n while (s-- > 0) {\n a.push(0);\n }return a;\n }(this.n);\n var work = function (s) {\n var a = [];\n while (s-- > 0) {\n a.push(0);\n }return a;\n }(this.m);\n var wantu = true;\n var wantv = true;\n var nct = Math.min(this.m - 1, this.n);\n var nrt = Math.max(0, Math.min(this.n - 2, this.m));\n for (var k = 0; k < Math.max(nct, nrt); k++) {\n if (k < nct) {\n this.s[k] = 0;\n for (var i = k; i < this.m; i++) {\n this.s[k] = SVD.hypot(this.s[k], A[i][k]);\n }\n ;\n if (this.s[k] !== 0.0) {\n if (A[k][k] < 0.0) {\n this.s[k] = -this.s[k];\n }\n for (var _i = k; _i < this.m; _i++) {\n A[_i][k] /= this.s[k];\n }\n ;\n A[k][k] += 1.0;\n }\n this.s[k] = -this.s[k];\n }\n for (var j = k + 1; j < this.n; j++) {\n if (function (lhs, rhs) {\n return lhs && rhs;\n }(k < nct, this.s[k] !== 0.0)) {\n var t = 0;\n for (var _i2 = k; _i2 < this.m; _i2++) {\n t += A[_i2][k] * A[_i2][j];\n }\n ;\n t = -t / A[k][k];\n for (var _i3 = k; _i3 < this.m; _i3++) {\n A[_i3][j] += t * A[_i3][k];\n }\n ;\n }\n e[j] = A[k][j];\n }\n ;\n if (function (lhs, rhs) {\n return lhs && rhs;\n }(wantu, k < nct)) {\n for (var _i4 = k; _i4 < this.m; _i4++) {\n this.U[_i4][k] = A[_i4][k];\n }\n ;\n }\n if (k < nrt) {\n e[k] = 0;\n for (var _i5 = k + 1; _i5 < this.n; _i5++) {\n e[k] = SVD.hypot(e[k], e[_i5]);\n }\n ;\n if (e[k] !== 0.0) {\n if (e[k + 1] < 0.0) {\n e[k] = -e[k];\n }\n for (var _i6 = k + 1; _i6 < this.n; _i6++) {\n e[_i6] /= e[k];\n }\n ;\n e[k + 1] += 1.0;\n }\n e[k] = -e[k];\n if (function (lhs, rhs) {\n return lhs && rhs;\n }(k + 1 < this.m, e[k] !== 0.0)) {\n for (var _i7 = k + 1; _i7 < this.m; _i7++) {\n work[_i7] = 0.0;\n }\n ;\n for (var _j = k + 1; _j < this.n; _j++) {\n for (var _i8 = k + 1; _i8 < this.m; _i8++) {\n work[_i8] += e[_j] * A[_i8][_j];\n }\n ;\n }\n ;\n for (var _j2 = k + 1; _j2 < this.n; _j2++) {\n var _t = -e[_j2] / e[k + 1];\n for (var _i9 = k + 1; _i9 < this.m; _i9++) {\n A[_i9][_j2] += _t * work[_i9];\n }\n ;\n }\n ;\n }\n if (wantv) {\n for (var _i10 = k + 1; _i10 < this.n; _i10++) {\n this.V[_i10][k] = e[_i10];\n };\n }\n }\n };\n var p = Math.min(this.n, this.m + 1);\n if (nct < this.n) {\n this.s[nct] = A[nct][nct];\n }\n if (this.m < p) {\n this.s[p - 1] = 0.0;\n }\n if (nrt + 1 < p) {\n e[nrt] = A[nrt][p - 1];\n }\n e[p - 1] = 0.0;\n if (wantu) {\n for (var _j3 = nct; _j3 < nu; _j3++) {\n for (var _i11 = 0; _i11 < this.m; _i11++) {\n this.U[_i11][_j3] = 0.0;\n }\n ;\n this.U[_j3][_j3] = 1.0;\n };\n for (var _k = nct - 1; _k >= 0; _k--) {\n if (this.s[_k] !== 0.0) {\n for (var _j4 = _k + 1; _j4 < nu; _j4++) {\n var _t2 = 0;\n for (var _i12 = _k; _i12 < this.m; _i12++) {\n _t2 += this.U[_i12][_k] * this.U[_i12][_j4];\n };\n _t2 = -_t2 / this.U[_k][_k];\n for (var _i13 = _k; _i13 < this.m; _i13++) {\n this.U[_i13][_j4] += _t2 * this.U[_i13][_k];\n };\n };\n for (var _i14 = _k; _i14 < this.m; _i14++) {\n this.U[_i14][_k] = -this.U[_i14][_k];\n };\n this.U[_k][_k] = 1.0 + this.U[_k][_k];\n for (var _i15 = 0; _i15 < _k - 1; _i15++) {\n this.U[_i15][_k] = 0.0;\n };\n } else {\n for (var _i16 = 0; _i16 < this.m; _i16++) {\n this.U[_i16][_k] = 0.0;\n };\n this.U[_k][_k] = 1.0;\n }\n };\n }\n if (wantv) {\n for (var _k2 = this.n - 1; _k2 >= 0; _k2--) {\n if (function (lhs, rhs) {\n return lhs && rhs;\n }(_k2 < nrt, e[_k2] !== 0.0)) {\n for (var _j5 = _k2 + 1; _j5 < nu; _j5++) {\n var _t3 = 0;\n for (var _i17 = _k2 + 1; _i17 < this.n; _i17++) {\n _t3 += this.V[_i17][_k2] * this.V[_i17][_j5];\n };\n _t3 = -_t3 / this.V[_k2 + 1][_k2];\n for (var _i18 = _k2 + 1; _i18 < this.n; _i18++) {\n this.V[_i18][_j5] += _t3 * this.V[_i18][_k2];\n };\n };\n }\n for (var _i19 = 0; _i19 < this.n; _i19++) {\n this.V[_i19][_k2] = 0.0;\n };\n this.V[_k2][_k2] = 1.0;\n };\n }\n var pp = p - 1;\n var iter = 0;\n var eps = Math.pow(2.0, -52.0);\n var tiny = Math.pow(2.0, -966.0);\n while (p > 0) {\n var _k3 = void 0;\n var kase = void 0;\n for (_k3 = p - 2; _k3 >= -1; _k3--) {\n if (_k3 === -1) {\n break;\n }\n if (Math.abs(e[_k3]) <= tiny + eps * (Math.abs(this.s[_k3]) + Math.abs(this.s[_k3 + 1]))) {\n e[_k3] = 0.0;\n break;\n }\n };\n if (_k3 === p - 2) {\n kase = 4;\n } else {\n var ks = void 0;\n for (ks = p - 1; ks >= _k3; ks--) {\n if (ks === _k3) {\n break;\n }\n var _t4 = (ks !== p ? Math.abs(e[ks]) : 0.0) + (ks !== _k3 + 1 ? Math.abs(e[ks - 1]) : 0.0);\n if (Math.abs(this.s[ks]) <= tiny + eps * _t4) {\n this.s[ks] = 0.0;\n break;\n }\n };\n if (ks === _k3) {\n kase = 3;\n } else if (ks === p - 1) {\n kase = 1;\n } else {\n kase = 2;\n _k3 = ks;\n }\n }\n _k3++;\n switch (kase) {\n case 1:\n {\n var f = e[p - 2];\n e[p - 2] = 0.0;\n for (var _j6 = p - 2; _j6 >= _k3; _j6--) {\n var _t5 = SVD.hypot(this.s[_j6], f);\n var cs = this.s[_j6] / _t5;\n var sn = f / _t5;\n this.s[_j6] = _t5;\n if (_j6 !== _k3) {\n f = -sn * e[_j6 - 1];\n e[_j6 - 1] = cs * e[_j6 - 1];\n }\n if (wantv) {\n for (var _i20 = 0; _i20 < this.n; _i20++) {\n _t5 = cs * this.V[_i20][_j6] + sn * this.V[_i20][p - 1];\n this.V[_i20][p - 1] = -sn * this.V[_i20][_j6] + cs * this.V[_i20][p - 1];\n this.V[_i20][_j6] = _t5;\n };\n }\n };\n };\n break;\n case 2:\n {\n var _f = e[_k3 - 1];\n e[_k3 - 1] = 0.0;\n for (var _j7 = _k3; _j7 < p; _j7++) {\n var _t6 = SVD.hypot(this.s[_j7], _f);\n var _cs = this.s[_j7] / _t6;\n var _sn = _f / _t6;\n this.s[_j7] = _t6;\n _f = -_sn * e[_j7];\n e[_j7] = _cs * e[_j7];\n if (wantu) {\n for (var _i21 = 0; _i21 < this.m; _i21++) {\n _t6 = _cs * this.U[_i21][_j7] + _sn * this.U[_i21][_k3 - 1];\n this.U[_i21][_k3 - 1] = -_sn * this.U[_i21][_j7] + _cs * this.U[_i21][_k3 - 1];\n this.U[_i21][_j7] = _t6;\n };\n }\n };\n };\n break;\n case 3:\n {\n var scale = Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[p - 1]), Math.abs(this.s[p - 2])), Math.abs(e[p - 2])), Math.abs(this.s[_k3])), Math.abs(e[_k3]));\n var sp = this.s[p - 1] / scale;\n var spm1 = this.s[p - 2] / scale;\n var epm1 = e[p - 2] / scale;\n var sk = this.s[_k3] / scale;\n var ek = e[_k3] / scale;\n var b = ((spm1 + sp) * (spm1 - sp) + epm1 * epm1) / 2.0;\n var c = sp * epm1 * (sp * epm1);\n var shift = 0.0;\n if (function (lhs, rhs) {\n return lhs || rhs;\n }(b !== 0.0, c !== 0.0)) {\n shift = Math.sqrt(b * b + c);\n if (b < 0.0) {\n shift = -shift;\n }\n shift = c / (b + shift);\n }\n var _f2 = (sk + sp) * (sk - sp) + shift;\n var g = sk * ek;\n for (var _j8 = _k3; _j8 < p - 1; _j8++) {\n var _t7 = SVD.hypot(_f2, g);\n var _cs2 = _f2 / _t7;\n var _sn2 = g / _t7;\n if (_j8 !== _k3) {\n e[_j8 - 1] = _t7;\n }\n _f2 = _cs2 * this.s[_j8] + _sn2 * e[_j8];\n e[_j8] = _cs2 * e[_j8] - _sn2 * this.s[_j8];\n g = _sn2 * this.s[_j8 + 1];\n this.s[_j8 + 1] = _cs2 * this.s[_j8 + 1];\n if (wantv) {\n for (var _i22 = 0; _i22 < this.n; _i22++) {\n _t7 = _cs2 * this.V[_i22][_j8] + _sn2 * this.V[_i22][_j8 + 1];\n this.V[_i22][_j8 + 1] = -_sn2 * this.V[_i22][_j8] + _cs2 * this.V[_i22][_j8 + 1];\n this.V[_i22][_j8] = _t7;\n };\n }\n _t7 = SVD.hypot(_f2, g);\n _cs2 = _f2 / _t7;\n _sn2 = g / _t7;\n this.s[_j8] = _t7;\n _f2 = _cs2 * e[_j8] + _sn2 * this.s[_j8 + 1];\n this.s[_j8 + 1] = -_sn2 * e[_j8] + _cs2 * this.s[_j8 + 1];\n g = _sn2 * e[_j8 + 1];\n e[_j8 + 1] = _cs2 * e[_j8 + 1];\n if (wantu && _j8 < this.m - 1) {\n for (var _i23 = 0; _i23 < this.m; _i23++) {\n _t7 = _cs2 * this.U[_i23][_j8] + _sn2 * this.U[_i23][_j8 + 1];\n this.U[_i23][_j8 + 1] = -_sn2 * this.U[_i23][_j8] + _cs2 * this.U[_i23][_j8 + 1];\n this.U[_i23][_j8] = _t7;\n };\n }\n };\n e[p - 2] = _f2;\n iter = iter + 1;\n };\n break;\n case 4:\n {\n if (this.s[_k3] <= 0.0) {\n this.s[_k3] = this.s[_k3] < 0.0 ? -this.s[_k3] : 0.0;\n if (wantv) {\n for (var _i24 = 0; _i24 <= pp; _i24++) {\n this.V[_i24][_k3] = -this.V[_i24][_k3];\n };\n }\n }\n while (_k3 < pp) {\n if (this.s[_k3] >= this.s[_k3 + 1]) {\n break;\n }\n var _t8 = this.s[_k3];\n this.s[_k3] = this.s[_k3 + 1];\n this.s[_k3 + 1] = _t8;\n if (wantv && _k3 < this.n - 1) {\n for (var _i25 = 0; _i25 < this.n; _i25++) {\n _t8 = this.V[_i25][_k3 + 1];\n this.V[_i25][_k3 + 1] = this.V[_i25][_k3];\n this.V[_i25][_k3] = _t8;\n };\n }\n if (wantu && _k3 < this.m - 1) {\n for (var _i26 = 0; _i26 < this.m; _i26++) {\n _t8 = this.U[_i26][_k3 + 1];\n this.U[_i26][_k3 + 1] = this.U[_i26][_k3];\n this.U[_i26][_k3] = _t8;\n };\n }\n _k3++;\n };\n iter = 0;\n p--;\n };\n break;\n }\n };\n var result = { U: this.U, V: this.V, S: this.s };\n return result;\n};\n\n// sqrt(a^2 + b^2) without under/overflow.\nSVD.hypot = function (a, b) {\n var r = void 0;\n if (Math.abs(a) > Math.abs(b)) {\n r = b / a;\n r = Math.abs(a) * Math.sqrt(1 + r * r);\n } else if (b != 0) {\n r = a / b;\n r = Math.abs(b) * Math.sqrt(1 + r * r);\n } else {\n r = 0.0;\n }\n return r;\n};\n\nmodule.exports = SVD;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Needleman-Wunsch algorithm is an procedure to compute the optimal global alignment of two string\n * sequences by S.B.Needleman and C.D.Wunsch (1970).\n *\n * Aside from the inputs, you can assign the scores for,\n * - Match: The two characters at the current index are same.\n * - Mismatch: The two characters at the current index are different.\n * - Insertion/Deletion(gaps): The best alignment involves one letter aligning to a gap in the other string.\n */\n\nvar NeedlemanWunsch = function () {\n function NeedlemanWunsch(sequence1, sequence2) {\n var match_score = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var mismatch_penalty = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;\n var gap_penalty = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\n\n _classCallCheck(this, NeedlemanWunsch);\n\n this.sequence1 = sequence1;\n this.sequence2 = sequence2;\n this.match_score = match_score;\n this.mismatch_penalty = mismatch_penalty;\n this.gap_penalty = gap_penalty;\n\n // Just the remove redundancy\n this.iMax = sequence1.length + 1;\n this.jMax = sequence2.length + 1;\n\n // Grid matrix of scores\n this.grid = new Array(this.iMax);\n for (var i = 0; i < this.iMax; i++) {\n this.grid[i] = new Array(this.jMax);\n\n for (var j = 0; j < this.jMax; j++) {\n this.grid[i][j] = 0;\n }\n }\n\n // Traceback matrix (2D array, each cell is an array of boolean values for [`Diag`, `Up`, `Left`] positions)\n this.tracebackGrid = new Array(this.iMax);\n for (var _i = 0; _i < this.iMax; _i++) {\n this.tracebackGrid[_i] = new Array(this.jMax);\n\n for (var _j = 0; _j < this.jMax; _j++) {\n this.tracebackGrid[_i][_j] = [null, null, null];\n }\n }\n\n // The aligned sequences (return multiple possibilities)\n this.alignments = [];\n\n // Final alignment score\n this.score = -1;\n\n // Calculate scores and tracebacks\n this.computeGrids();\n }\n\n _createClass(NeedlemanWunsch, [{\n key: \"getScore\",\n value: function getScore() {\n return this.score;\n }\n }, {\n key: \"getAlignments\",\n value: function getAlignments() {\n return this.alignments;\n }\n\n // Main dynamic programming procedure\n\n }, {\n key: \"computeGrids\",\n value: function computeGrids() {\n // Fill in the first row\n for (var j = 1; j < this.jMax; j++) {\n this.grid[0][j] = this.grid[0][j - 1] + this.gap_penalty;\n this.tracebackGrid[0][j] = [false, false, true];\n }\n\n // Fill in the first column\n for (var i = 1; i < this.iMax; i++) {\n this.grid[i][0] = this.grid[i - 1][0] + this.gap_penalty;\n this.tracebackGrid[i][0] = [false, true, false];\n }\n\n // Fill the rest of the grid\n for (var _i2 = 1; _i2 < this.iMax; _i2++) {\n for (var _j2 = 1; _j2 < this.jMax; _j2++) {\n // Find the max score(s) among [`Diag`, `Up`, `Left`]\n var diag = void 0;\n if (this.sequence1[_i2 - 1] === this.sequence2[_j2 - 1]) diag = this.grid[_i2 - 1][_j2 - 1] + this.match_score;else diag = this.grid[_i2 - 1][_j2 - 1] + this.mismatch_penalty;\n\n var up = this.grid[_i2 - 1][_j2] + this.gap_penalty;\n var left = this.grid[_i2][_j2 - 1] + this.gap_penalty;\n\n // If there exists multiple max values, capture them for multiple paths\n var maxOf = [diag, up, left];\n var indices = this.arrayAllMaxIndexes(maxOf);\n\n // Update Grids\n this.grid[_i2][_j2] = maxOf[indices[0]];\n this.tracebackGrid[_i2][_j2] = [indices.includes(0), indices.includes(1), indices.includes(2)];\n }\n }\n\n // Update alignment score\n this.score = this.grid[this.iMax - 1][this.jMax - 1];\n }\n\n // Gets all possible valid sequence combinations\n\n }, {\n key: \"alignmentTraceback\",\n value: function alignmentTraceback() {\n var inProcessAlignments = [];\n\n inProcessAlignments.push({ pos: [this.sequence1.length, this.sequence2.length],\n seq1: \"\",\n seq2: \"\"\n });\n\n while (inProcessAlignments[0]) {\n var current = inProcessAlignments[0];\n var directions = this.tracebackGrid[current.pos[0]][current.pos[1]];\n\n if (directions[0]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1] - 1],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n if (directions[1]) {\n inProcessAlignments.push({ pos: [current.pos[0] - 1, current.pos[1]],\n seq1: this.sequence1[current.pos[0] - 1] + current.seq1,\n seq2: '-' + current.seq2\n });\n }\n if (directions[2]) {\n inProcessAlignments.push({ pos: [current.pos[0], current.pos[1] - 1],\n seq1: '-' + current.seq1,\n seq2: this.sequence2[current.pos[1] - 1] + current.seq2\n });\n }\n\n if (current.pos[0] === 0 && current.pos[1] === 0) this.alignments.push({ sequence1: current.seq1,\n sequence2: current.seq2\n });\n\n inProcessAlignments.shift();\n }\n\n return this.alignments;\n }\n\n // Helper Functions\n\n }, {\n key: \"getAllIndexes\",\n value: function getAllIndexes(arr, val) {\n var indexes = [],\n i = -1;\n while ((i = arr.indexOf(val, i + 1)) !== -1) {\n indexes.push(i);\n }\n return indexes;\n }\n }, {\n key: \"arrayAllMaxIndexes\",\n value: function arrayAllMaxIndexes(array) {\n return this.getAllIndexes(array, Math.max.apply(null, array));\n }\n }]);\n\n return NeedlemanWunsch;\n}();\n\nmodule.exports = NeedlemanWunsch;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar layoutBase = function layoutBase() {\n return;\n};\n\nlayoutBase.FDLayout = __webpack_require__(18);\nlayoutBase.FDLayoutConstants = __webpack_require__(4);\nlayoutBase.FDLayoutEdge = __webpack_require__(19);\nlayoutBase.FDLayoutNode = __webpack_require__(20);\nlayoutBase.DimensionD = __webpack_require__(21);\nlayoutBase.HashMap = __webpack_require__(22);\nlayoutBase.HashSet = __webpack_require__(23);\nlayoutBase.IGeometry = __webpack_require__(8);\nlayoutBase.IMath = __webpack_require__(9);\nlayoutBase.Integer = __webpack_require__(10);\nlayoutBase.Point = __webpack_require__(12);\nlayoutBase.PointD = __webpack_require__(5);\nlayoutBase.RandomSeed = __webpack_require__(16);\nlayoutBase.RectangleD = __webpack_require__(13);\nlayoutBase.Transform = __webpack_require__(17);\nlayoutBase.UniqueIDGeneretor = __webpack_require__(14);\nlayoutBase.Quicksort = __webpack_require__(25);\nlayoutBase.LinkedList = __webpack_require__(11);\nlayoutBase.LGraphObject = __webpack_require__(2);\nlayoutBase.LGraph = __webpack_require__(6);\nlayoutBase.LEdge = __webpack_require__(1);\nlayoutBase.LGraphManager = __webpack_require__(7);\nlayoutBase.LNode = __webpack_require__(3);\nlayoutBase.Layout = __webpack_require__(15);\nlayoutBase.LayoutConstants = __webpack_require__(0);\nlayoutBase.NeedlemanWunsch = __webpack_require__(27);\nlayoutBase.Matrix = __webpack_require__(24);\nlayoutBase.SVD = __webpack_require__(26);\n\nmodule.exports = layoutBase;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction Emitter() {\n this.listeners = [];\n}\n\nvar p = Emitter.prototype;\n\np.addListener = function (event, callback) {\n this.listeners.push({\n event: event,\n callback: callback\n });\n};\n\np.removeListener = function (event, callback) {\n for (var i = this.listeners.length; i >= 0; i--) {\n var l = this.listeners[i];\n\n if (l.event === event && l.callback === callback) {\n this.listeners.splice(i, 1);\n }\n }\n};\n\np.emit = function (event, data) {\n for (var i = 0; i < this.listeners.length; i++) {\n var l = this.listeners[i];\n\n if (event === l.event) {\n l.callback(data);\n }\n }\n};\n\nmodule.exports = Emitter;\n\n/***/ })\n/******/ ]);\n});", + "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"layout-base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"layout-base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"coseBase\"] = factory(require(\"layout-base\"));\n\telse\n\t\troot[\"coseBase\"] = factory(root[\"layoutBase\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__551__) {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 45:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar coseBase = {};\n\ncoseBase.layoutBase = __webpack_require__(551);\ncoseBase.CoSEConstants = __webpack_require__(806);\ncoseBase.CoSEEdge = __webpack_require__(767);\ncoseBase.CoSEGraph = __webpack_require__(880);\ncoseBase.CoSEGraphManager = __webpack_require__(578);\ncoseBase.CoSELayout = __webpack_require__(765);\ncoseBase.CoSENode = __webpack_require__(991);\ncoseBase.ConstraintHandler = __webpack_require__(902);\n\nmodule.exports = coseBase;\n\n/***/ }),\n\n/***/ 806:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar FDLayoutConstants = __webpack_require__(551).FDLayoutConstants;\n\nfunction CoSEConstants() {}\n\n//CoSEConstants inherits static props in FDLayoutConstants\nfor (var prop in FDLayoutConstants) {\n CoSEConstants[prop] = FDLayoutConstants[prop];\n}\n\nCoSEConstants.DEFAULT_USE_MULTI_LEVEL_SCALING = false;\nCoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\nCoSEConstants.DEFAULT_COMPONENT_SEPERATION = 60;\nCoSEConstants.TILE = true;\nCoSEConstants.TILING_PADDING_VERTICAL = 10;\nCoSEConstants.TILING_PADDING_HORIZONTAL = 10;\nCoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = true;\nCoSEConstants.ENFORCE_CONSTRAINTS = true;\nCoSEConstants.APPLY_LAYOUT = true;\nCoSEConstants.RELAX_MOVEMENT_ON_CONSTRAINTS = true;\nCoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = true; // this should be set to false if there will be a constraint\n// This constant is for differentiating whether actual layout algorithm that uses cose-base wants to apply only incremental layout or \n// an incremental layout on top of a randomized layout. If it is only incremental layout, then this constant should be true.\nCoSEConstants.PURE_INCREMENTAL = CoSEConstants.DEFAULT_INCREMENTAL;\n\nmodule.exports = CoSEConstants;\n\n/***/ }),\n\n/***/ 767:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar FDLayoutEdge = __webpack_require__(551).FDLayoutEdge;\n\nfunction CoSEEdge(source, target, vEdge) {\n FDLayoutEdge.call(this, source, target, vEdge);\n}\n\nCoSEEdge.prototype = Object.create(FDLayoutEdge.prototype);\nfor (var prop in FDLayoutEdge) {\n CoSEEdge[prop] = FDLayoutEdge[prop];\n}\n\nmodule.exports = CoSEEdge;\n\n/***/ }),\n\n/***/ 880:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar LGraph = __webpack_require__(551).LGraph;\n\nfunction CoSEGraph(parent, graphMgr, vGraph) {\n LGraph.call(this, parent, graphMgr, vGraph);\n}\n\nCoSEGraph.prototype = Object.create(LGraph.prototype);\nfor (var prop in LGraph) {\n CoSEGraph[prop] = LGraph[prop];\n}\n\nmodule.exports = CoSEGraph;\n\n/***/ }),\n\n/***/ 578:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar LGraphManager = __webpack_require__(551).LGraphManager;\n\nfunction CoSEGraphManager(layout) {\n LGraphManager.call(this, layout);\n}\n\nCoSEGraphManager.prototype = Object.create(LGraphManager.prototype);\nfor (var prop in LGraphManager) {\n CoSEGraphManager[prop] = LGraphManager[prop];\n}\n\nmodule.exports = CoSEGraphManager;\n\n/***/ }),\n\n/***/ 765:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar FDLayout = __webpack_require__(551).FDLayout;\nvar CoSEGraphManager = __webpack_require__(578);\nvar CoSEGraph = __webpack_require__(880);\nvar CoSENode = __webpack_require__(991);\nvar CoSEEdge = __webpack_require__(767);\nvar CoSEConstants = __webpack_require__(806);\nvar ConstraintHandler = __webpack_require__(902);\nvar FDLayoutConstants = __webpack_require__(551).FDLayoutConstants;\nvar LayoutConstants = __webpack_require__(551).LayoutConstants;\nvar Point = __webpack_require__(551).Point;\nvar PointD = __webpack_require__(551).PointD;\nvar DimensionD = __webpack_require__(551).DimensionD;\nvar Layout = __webpack_require__(551).Layout;\nvar Integer = __webpack_require__(551).Integer;\nvar IGeometry = __webpack_require__(551).IGeometry;\nvar LGraph = __webpack_require__(551).LGraph;\nvar Transform = __webpack_require__(551).Transform;\nvar LinkedList = __webpack_require__(551).LinkedList;\n\nfunction CoSELayout() {\n FDLayout.call(this);\n\n this.toBeTiled = {}; // Memorize if a node is to be tiled or is tiled\n this.constraints = {}; // keep layout constraints\n}\n\nCoSELayout.prototype = Object.create(FDLayout.prototype);\n\nfor (var prop in FDLayout) {\n CoSELayout[prop] = FDLayout[prop];\n}\n\nCoSELayout.prototype.newGraphManager = function () {\n var gm = new CoSEGraphManager(this);\n this.graphManager = gm;\n return gm;\n};\n\nCoSELayout.prototype.newGraph = function (vGraph) {\n return new CoSEGraph(null, this.graphManager, vGraph);\n};\n\nCoSELayout.prototype.newNode = function (vNode) {\n return new CoSENode(this.graphManager, vNode);\n};\n\nCoSELayout.prototype.newEdge = function (vEdge) {\n return new CoSEEdge(null, null, vEdge);\n};\n\nCoSELayout.prototype.initParameters = function () {\n FDLayout.prototype.initParameters.call(this, arguments);\n if (!this.isSubLayout) {\n if (CoSEConstants.DEFAULT_EDGE_LENGTH < 10) {\n this.idealEdgeLength = 10;\n } else {\n this.idealEdgeLength = CoSEConstants.DEFAULT_EDGE_LENGTH;\n }\n\n this.useSmartIdealEdgeLengthCalculation = CoSEConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION;\n this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH;\n this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH;\n this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR;\n this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR;\n\n // variables for tree reduction support\n this.prunedNodesAll = [];\n this.growTreeIterations = 0;\n this.afterGrowthIterations = 0;\n this.isTreeGrowing = false;\n this.isGrowthFinished = false;\n }\n};\n\n// This method is used to set CoSE related parameters used by spring embedder.\nCoSELayout.prototype.initSpringEmbedder = function () {\n FDLayout.prototype.initSpringEmbedder.call(this);\n\n // variables for cooling\n this.coolingCycle = 0;\n this.maxCoolingCycle = this.maxIterations / FDLayoutConstants.CONVERGENCE_CHECK_PERIOD;\n this.finalTemperature = 0.04;\n this.coolingAdjuster = 1;\n};\n\nCoSELayout.prototype.layout = function () {\n var createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED;\n if (createBendsAsNeeded) {\n this.createBendpoints();\n this.graphManager.resetAllEdges();\n }\n\n this.level = 0;\n return this.classicLayout();\n};\n\nCoSELayout.prototype.classicLayout = function () {\n this.nodesWithGravity = this.calculateNodesToApplyGravitationTo();\n this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity);\n this.calcNoOfChildrenForAllNodes();\n this.graphManager.calcLowestCommonAncestors();\n this.graphManager.calcInclusionTreeDepths();\n this.graphManager.getRoot().calcEstimatedSize();\n this.calcIdealEdgeLengths();\n\n if (!this.incremental) {\n var forest = this.getFlatForest();\n\n // The graph associated with this layout is flat and a forest\n if (forest.length > 0) {\n this.positionNodesRadially(forest);\n }\n // The graph associated with this layout is not flat or a forest\n else {\n // Reduce the trees when incremental mode is not enabled and graph is not a forest \n this.reduceTrees();\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n\n this.positionNodesRandomly();\n }\n } else {\n if (CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL) {\n // Reduce the trees in incremental mode if only this constant is set to true \n this.reduceTrees();\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n }\n }\n\n if (Object.keys(this.constraints).length > 0) {\n ConstraintHandler.handleConstraints(this);\n this.initConstraintVariables();\n }\n\n this.initSpringEmbedder();\n if (CoSEConstants.APPLY_LAYOUT) {\n this.runSpringEmbedder();\n }\n\n return true;\n};\n\nCoSELayout.prototype.tick = function () {\n this.totalIterations++;\n\n if (this.totalIterations === this.maxIterations && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n\n if (this.totalIterations % FDLayoutConstants.CONVERGENCE_CHECK_PERIOD == 0 && !this.isTreeGrowing && !this.isGrowthFinished) {\n if (this.isConverged()) {\n if (this.prunedNodesAll.length > 0) {\n this.isTreeGrowing = true;\n } else {\n return true;\n }\n }\n\n this.coolingCycle++;\n\n if (this.layoutQuality == 0) {\n // quality - \"draft\"\n this.coolingAdjuster = this.coolingCycle;\n } else if (this.layoutQuality == 1) {\n // quality - \"default\"\n this.coolingAdjuster = this.coolingCycle / 3;\n }\n\n // cooling schedule is based on http://www.btluke.com/simanf1.html -> cooling schedule 3\n this.coolingFactor = Math.max(this.initialCoolingFactor - Math.pow(this.coolingCycle, Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / Math.log(this.maxCoolingCycle)) / 100 * this.coolingAdjuster, this.finalTemperature);\n this.animationPeriod = Math.ceil(this.initialAnimationPeriod * Math.sqrt(this.coolingFactor));\n }\n // Operations while tree is growing again \n if (this.isTreeGrowing) {\n if (this.growTreeIterations % 10 == 0) {\n if (this.prunedNodesAll.length > 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n this.growTree(this.prunedNodesAll);\n // Update nodes that gravity will be applied\n this.graphManager.resetAllNodesToApplyGravitation();\n var allNodes = new Set(this.getAllNodes());\n var intersection = this.nodesWithGravity.filter(function (x) {\n return allNodes.has(x);\n });\n this.graphManager.setAllNodesToApplyGravitation(intersection);\n\n this.graphManager.updateBounds();\n this.updateGrid();\n if (CoSEConstants.PURE_INCREMENTAL) this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2;else this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL;\n } else {\n this.isTreeGrowing = false;\n this.isGrowthFinished = true;\n }\n }\n this.growTreeIterations++;\n }\n // Operations after growth is finished\n if (this.isGrowthFinished) {\n if (this.isConverged()) {\n return true;\n }\n if (this.afterGrowthIterations % 10 == 0) {\n this.graphManager.updateBounds();\n this.updateGrid();\n }\n if (CoSEConstants.PURE_INCREMENTAL) this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2 * ((100 - this.afterGrowthIterations) / 100);else this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL * ((100 - this.afterGrowthIterations) / 100);\n this.afterGrowthIterations++;\n }\n\n var gridUpdateAllowed = !this.isTreeGrowing && !this.isGrowthFinished;\n var forceToNodeSurroundingUpdate = this.growTreeIterations % 10 == 1 && this.isTreeGrowing || this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished;\n\n this.totalDisplacement = 0;\n this.graphManager.updateBounds();\n this.calcSpringForces();\n this.calcRepulsionForces(gridUpdateAllowed, forceToNodeSurroundingUpdate);\n this.calcGravitationalForces();\n this.moveNodes();\n this.animate();\n\n return false; // Layout is not ended yet return false\n};\n\nCoSELayout.prototype.getPositionsData = function () {\n var allNodes = this.graphManager.getAllNodes();\n var pData = {};\n for (var i = 0; i < allNodes.length; i++) {\n var rect = allNodes[i].rect;\n var id = allNodes[i].id;\n pData[id] = {\n id: id,\n x: rect.getCenterX(),\n y: rect.getCenterY(),\n w: rect.width,\n h: rect.height\n };\n }\n\n return pData;\n};\n\nCoSELayout.prototype.runSpringEmbedder = function () {\n this.initialAnimationPeriod = 25;\n this.animationPeriod = this.initialAnimationPeriod;\n var layoutEnded = false;\n\n // If aminate option is 'during' signal that layout is supposed to start iterating\n if (FDLayoutConstants.ANIMATE === 'during') {\n this.emit('layoutstarted');\n } else {\n // If aminate option is 'during' tick() function will be called on index.js\n while (!layoutEnded) {\n layoutEnded = this.tick();\n }\n\n this.graphManager.updateBounds();\n }\n};\n\n// overrides moveNodes method in FDLayout\nCoSELayout.prototype.moveNodes = function () {\n var lNodes = this.getAllNodes();\n var node;\n\n // calculate displacement for each node \n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n node.calculateDisplacement();\n }\n\n if (Object.keys(this.constraints).length > 0) {\n this.updateDisplacements();\n }\n\n // move each node\n for (var i = 0; i < lNodes.length; i++) {\n node = lNodes[i];\n node.move();\n }\n};\n\n// constraint related methods: initConstraintVariables and updateDisplacements\n\n// initialize constraint related variables\nCoSELayout.prototype.initConstraintVariables = function () {\n var self = this;\n this.idToNodeMap = new Map();\n this.fixedNodeSet = new Set();\n\n var allNodes = this.graphManager.getAllNodes();\n\n // fill idToNodeMap\n for (var i = 0; i < allNodes.length; i++) {\n var node = allNodes[i];\n this.idToNodeMap.set(node.id, node);\n }\n\n // calculate fixed node weight for given compound node\n var calculateCompoundWeight = function calculateCompoundWeight(compoundNode) {\n var nodes = compoundNode.getChild().getNodes();\n var node;\n var fixedNodeWeight = 0;\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (node.getChild() == null) {\n if (self.fixedNodeSet.has(node.id)) {\n fixedNodeWeight += 100;\n }\n } else {\n fixedNodeWeight += calculateCompoundWeight(node);\n }\n }\n return fixedNodeWeight;\n };\n\n if (this.constraints.fixedNodeConstraint) {\n // fill fixedNodeSet\n this.constraints.fixedNodeConstraint.forEach(function (nodeData) {\n self.fixedNodeSet.add(nodeData.nodeId);\n });\n\n // assign fixed node weights to compounds if they contain fixed nodes\n var allNodes = this.graphManager.getAllNodes();\n var node;\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n if (node.getChild() != null) {\n var fixedNodeWeight = calculateCompoundWeight(node);\n if (fixedNodeWeight > 0) {\n node.fixedNodeWeight = fixedNodeWeight;\n }\n }\n }\n }\n\n if (this.constraints.relativePlacementConstraint) {\n var nodeToDummyForVerticalAlignment = new Map();\n var nodeToDummyForHorizontalAlignment = new Map();\n this.dummyToNodeForVerticalAlignment = new Map();\n this.dummyToNodeForHorizontalAlignment = new Map();\n this.fixedNodesOnHorizontal = new Set();\n this.fixedNodesOnVertical = new Set();\n\n // fill maps and sets\n this.fixedNodeSet.forEach(function (nodeId) {\n self.fixedNodesOnHorizontal.add(nodeId);\n self.fixedNodesOnVertical.add(nodeId);\n });\n\n if (this.constraints.alignmentConstraint) {\n if (this.constraints.alignmentConstraint.vertical) {\n var verticalAlignment = this.constraints.alignmentConstraint.vertical;\n for (var i = 0; i < verticalAlignment.length; i++) {\n this.dummyToNodeForVerticalAlignment.set(\"dummy\" + i, []);\n verticalAlignment[i].forEach(function (nodeId) {\n nodeToDummyForVerticalAlignment.set(nodeId, \"dummy\" + i);\n self.dummyToNodeForVerticalAlignment.get(\"dummy\" + i).push(nodeId);\n if (self.fixedNodeSet.has(nodeId)) {\n self.fixedNodesOnHorizontal.add(\"dummy\" + i);\n }\n });\n }\n }\n if (this.constraints.alignmentConstraint.horizontal) {\n var horizontalAlignment = this.constraints.alignmentConstraint.horizontal;\n for (var i = 0; i < horizontalAlignment.length; i++) {\n this.dummyToNodeForHorizontalAlignment.set(\"dummy\" + i, []);\n horizontalAlignment[i].forEach(function (nodeId) {\n nodeToDummyForHorizontalAlignment.set(nodeId, \"dummy\" + i);\n self.dummyToNodeForHorizontalAlignment.get(\"dummy\" + i).push(nodeId);\n if (self.fixedNodeSet.has(nodeId)) {\n self.fixedNodesOnVertical.add(\"dummy\" + i);\n }\n });\n }\n }\n }\n\n if (CoSEConstants.RELAX_MOVEMENT_ON_CONSTRAINTS) {\n\n this.shuffle = function (array) {\n var j, x, i;\n for (i = array.length - 1; i >= 2 * array.length / 3; i--) {\n j = Math.floor(Math.random() * (i + 1));\n x = array[i];\n array[i] = array[j];\n array[j] = x;\n }\n return array;\n };\n\n this.nodesInRelativeHorizontal = [];\n this.nodesInRelativeVertical = [];\n this.nodeToRelativeConstraintMapHorizontal = new Map();\n this.nodeToRelativeConstraintMapVertical = new Map();\n this.nodeToTempPositionMapHorizontal = new Map();\n this.nodeToTempPositionMapVertical = new Map();\n\n // fill arrays and maps\n this.constraints.relativePlacementConstraint.forEach(function (constraint) {\n if (constraint.left) {\n var nodeIdLeft = nodeToDummyForVerticalAlignment.has(constraint.left) ? nodeToDummyForVerticalAlignment.get(constraint.left) : constraint.left;\n var nodeIdRight = nodeToDummyForVerticalAlignment.has(constraint.right) ? nodeToDummyForVerticalAlignment.get(constraint.right) : constraint.right;\n\n if (!self.nodesInRelativeHorizontal.includes(nodeIdLeft)) {\n self.nodesInRelativeHorizontal.push(nodeIdLeft);\n self.nodeToRelativeConstraintMapHorizontal.set(nodeIdLeft, []);\n if (self.dummyToNodeForVerticalAlignment.has(nodeIdLeft)) {\n self.nodeToTempPositionMapHorizontal.set(nodeIdLeft, self.idToNodeMap.get(self.dummyToNodeForVerticalAlignment.get(nodeIdLeft)[0]).getCenterX());\n } else {\n self.nodeToTempPositionMapHorizontal.set(nodeIdLeft, self.idToNodeMap.get(nodeIdLeft).getCenterX());\n }\n }\n if (!self.nodesInRelativeHorizontal.includes(nodeIdRight)) {\n self.nodesInRelativeHorizontal.push(nodeIdRight);\n self.nodeToRelativeConstraintMapHorizontal.set(nodeIdRight, []);\n if (self.dummyToNodeForVerticalAlignment.has(nodeIdRight)) {\n self.nodeToTempPositionMapHorizontal.set(nodeIdRight, self.idToNodeMap.get(self.dummyToNodeForVerticalAlignment.get(nodeIdRight)[0]).getCenterX());\n } else {\n self.nodeToTempPositionMapHorizontal.set(nodeIdRight, self.idToNodeMap.get(nodeIdRight).getCenterX());\n }\n }\n\n self.nodeToRelativeConstraintMapHorizontal.get(nodeIdLeft).push({ right: nodeIdRight, gap: constraint.gap });\n self.nodeToRelativeConstraintMapHorizontal.get(nodeIdRight).push({ left: nodeIdLeft, gap: constraint.gap });\n } else {\n var nodeIdTop = nodeToDummyForHorizontalAlignment.has(constraint.top) ? nodeToDummyForHorizontalAlignment.get(constraint.top) : constraint.top;\n var nodeIdBottom = nodeToDummyForHorizontalAlignment.has(constraint.bottom) ? nodeToDummyForHorizontalAlignment.get(constraint.bottom) : constraint.bottom;\n\n if (!self.nodesInRelativeVertical.includes(nodeIdTop)) {\n self.nodesInRelativeVertical.push(nodeIdTop);\n self.nodeToRelativeConstraintMapVertical.set(nodeIdTop, []);\n if (self.dummyToNodeForHorizontalAlignment.has(nodeIdTop)) {\n self.nodeToTempPositionMapVertical.set(nodeIdTop, self.idToNodeMap.get(self.dummyToNodeForHorizontalAlignment.get(nodeIdTop)[0]).getCenterY());\n } else {\n self.nodeToTempPositionMapVertical.set(nodeIdTop, self.idToNodeMap.get(nodeIdTop).getCenterY());\n }\n }\n if (!self.nodesInRelativeVertical.includes(nodeIdBottom)) {\n self.nodesInRelativeVertical.push(nodeIdBottom);\n self.nodeToRelativeConstraintMapVertical.set(nodeIdBottom, []);\n if (self.dummyToNodeForHorizontalAlignment.has(nodeIdBottom)) {\n self.nodeToTempPositionMapVertical.set(nodeIdBottom, self.idToNodeMap.get(self.dummyToNodeForHorizontalAlignment.get(nodeIdBottom)[0]).getCenterY());\n } else {\n self.nodeToTempPositionMapVertical.set(nodeIdBottom, self.idToNodeMap.get(nodeIdBottom).getCenterY());\n }\n }\n self.nodeToRelativeConstraintMapVertical.get(nodeIdTop).push({ bottom: nodeIdBottom, gap: constraint.gap });\n self.nodeToRelativeConstraintMapVertical.get(nodeIdBottom).push({ top: nodeIdTop, gap: constraint.gap });\n }\n });\n } else {\n var subGraphOnHorizontal = new Map(); // subgraph from vertical RP constraints\n var subGraphOnVertical = new Map(); // subgraph from vertical RP constraints\n\n // construct subgraphs from relative placement constraints \n this.constraints.relativePlacementConstraint.forEach(function (constraint) {\n if (constraint.left) {\n var left = nodeToDummyForVerticalAlignment.has(constraint.left) ? nodeToDummyForVerticalAlignment.get(constraint.left) : constraint.left;\n var right = nodeToDummyForVerticalAlignment.has(constraint.right) ? nodeToDummyForVerticalAlignment.get(constraint.right) : constraint.right;\n if (subGraphOnHorizontal.has(left)) {\n subGraphOnHorizontal.get(left).push(right);\n } else {\n subGraphOnHorizontal.set(left, [right]);\n }\n if (subGraphOnHorizontal.has(right)) {\n subGraphOnHorizontal.get(right).push(left);\n } else {\n subGraphOnHorizontal.set(right, [left]);\n }\n } else {\n var top = nodeToDummyForHorizontalAlignment.has(constraint.top) ? nodeToDummyForHorizontalAlignment.get(constraint.top) : constraint.top;\n var bottom = nodeToDummyForHorizontalAlignment.has(constraint.bottom) ? nodeToDummyForHorizontalAlignment.get(constraint.bottom) : constraint.bottom;\n if (subGraphOnVertical.has(top)) {\n subGraphOnVertical.get(top).push(bottom);\n } else {\n subGraphOnVertical.set(top, [bottom]);\n }\n if (subGraphOnVertical.has(bottom)) {\n subGraphOnVertical.get(bottom).push(top);\n } else {\n subGraphOnVertical.set(bottom, [top]);\n }\n }\n });\n\n // function to construct components from a given graph \n // also returns an array that keeps whether each component contains fixed node\n var constructComponents = function constructComponents(graph, fixedNodes) {\n var components = [];\n var isFixed = [];\n var queue = new LinkedList();\n var visited = new Set();\n var count = 0;\n\n graph.forEach(function (value, key) {\n if (!visited.has(key)) {\n components[count] = [];\n isFixed[count] = false;\n var currentNode = key;\n queue.push(currentNode);\n visited.add(currentNode);\n components[count].push(currentNode);\n\n while (queue.length != 0) {\n currentNode = queue.shift();\n if (fixedNodes.has(currentNode)) {\n isFixed[count] = true;\n }\n var neighbors = graph.get(currentNode);\n neighbors.forEach(function (neighbor) {\n if (!visited.has(neighbor)) {\n queue.push(neighbor);\n visited.add(neighbor);\n components[count].push(neighbor);\n }\n });\n }\n count++;\n }\n });\n\n return { components: components, isFixed: isFixed };\n };\n\n var resultOnHorizontal = constructComponents(subGraphOnHorizontal, self.fixedNodesOnHorizontal);\n this.componentsOnHorizontal = resultOnHorizontal.components;\n this.fixedComponentsOnHorizontal = resultOnHorizontal.isFixed;\n var resultOnVertical = constructComponents(subGraphOnVertical, self.fixedNodesOnVertical);\n this.componentsOnVertical = resultOnVertical.components;\n this.fixedComponentsOnVertical = resultOnVertical.isFixed;\n }\n }\n};\n\n// updates node displacements based on constraints\nCoSELayout.prototype.updateDisplacements = function () {\n var self = this;\n if (this.constraints.fixedNodeConstraint) {\n this.constraints.fixedNodeConstraint.forEach(function (nodeData) {\n var fixedNode = self.idToNodeMap.get(nodeData.nodeId);\n fixedNode.displacementX = 0;\n fixedNode.displacementY = 0;\n });\n }\n\n if (this.constraints.alignmentConstraint) {\n if (this.constraints.alignmentConstraint.vertical) {\n var allVerticalAlignments = this.constraints.alignmentConstraint.vertical;\n for (var i = 0; i < allVerticalAlignments.length; i++) {\n var totalDisplacementX = 0;\n for (var j = 0; j < allVerticalAlignments[i].length; j++) {\n if (this.fixedNodeSet.has(allVerticalAlignments[i][j])) {\n totalDisplacementX = 0;\n break;\n }\n totalDisplacementX += this.idToNodeMap.get(allVerticalAlignments[i][j]).displacementX;\n }\n var averageDisplacementX = totalDisplacementX / allVerticalAlignments[i].length;\n for (var j = 0; j < allVerticalAlignments[i].length; j++) {\n this.idToNodeMap.get(allVerticalAlignments[i][j]).displacementX = averageDisplacementX;\n }\n }\n }\n if (this.constraints.alignmentConstraint.horizontal) {\n var allHorizontalAlignments = this.constraints.alignmentConstraint.horizontal;\n for (var i = 0; i < allHorizontalAlignments.length; i++) {\n var totalDisplacementY = 0;\n for (var j = 0; j < allHorizontalAlignments[i].length; j++) {\n if (this.fixedNodeSet.has(allHorizontalAlignments[i][j])) {\n totalDisplacementY = 0;\n break;\n }\n totalDisplacementY += this.idToNodeMap.get(allHorizontalAlignments[i][j]).displacementY;\n }\n var averageDisplacementY = totalDisplacementY / allHorizontalAlignments[i].length;\n for (var j = 0; j < allHorizontalAlignments[i].length; j++) {\n this.idToNodeMap.get(allHorizontalAlignments[i][j]).displacementY = averageDisplacementY;\n }\n }\n }\n }\n\n if (this.constraints.relativePlacementConstraint) {\n\n if (CoSEConstants.RELAX_MOVEMENT_ON_CONSTRAINTS) {\n // shuffle array to randomize node processing order\n if (this.totalIterations % 10 == 0) {\n this.shuffle(this.nodesInRelativeHorizontal);\n this.shuffle(this.nodesInRelativeVertical);\n }\n\n this.nodesInRelativeHorizontal.forEach(function (nodeId) {\n if (!self.fixedNodesOnHorizontal.has(nodeId)) {\n var displacement = 0;\n if (self.dummyToNodeForVerticalAlignment.has(nodeId)) {\n displacement = self.idToNodeMap.get(self.dummyToNodeForVerticalAlignment.get(nodeId)[0]).displacementX;\n } else {\n displacement = self.idToNodeMap.get(nodeId).displacementX;\n }\n self.nodeToRelativeConstraintMapHorizontal.get(nodeId).forEach(function (constraint) {\n if (constraint.right) {\n var diff = self.nodeToTempPositionMapHorizontal.get(constraint.right) - self.nodeToTempPositionMapHorizontal.get(nodeId) - displacement;\n if (diff < constraint.gap) {\n displacement -= constraint.gap - diff;\n }\n } else {\n var diff = self.nodeToTempPositionMapHorizontal.get(nodeId) - self.nodeToTempPositionMapHorizontal.get(constraint.left) + displacement;\n if (diff < constraint.gap) {\n displacement += constraint.gap - diff;\n }\n }\n });\n self.nodeToTempPositionMapHorizontal.set(nodeId, self.nodeToTempPositionMapHorizontal.get(nodeId) + displacement);\n if (self.dummyToNodeForVerticalAlignment.has(nodeId)) {\n self.dummyToNodeForVerticalAlignment.get(nodeId).forEach(function (nodeId) {\n self.idToNodeMap.get(nodeId).displacementX = displacement;\n });\n } else {\n self.idToNodeMap.get(nodeId).displacementX = displacement;\n }\n }\n });\n\n this.nodesInRelativeVertical.forEach(function (nodeId) {\n if (!self.fixedNodesOnHorizontal.has(nodeId)) {\n var displacement = 0;\n if (self.dummyToNodeForHorizontalAlignment.has(nodeId)) {\n displacement = self.idToNodeMap.get(self.dummyToNodeForHorizontalAlignment.get(nodeId)[0]).displacementY;\n } else {\n displacement = self.idToNodeMap.get(nodeId).displacementY;\n }\n self.nodeToRelativeConstraintMapVertical.get(nodeId).forEach(function (constraint) {\n if (constraint.bottom) {\n var diff = self.nodeToTempPositionMapVertical.get(constraint.bottom) - self.nodeToTempPositionMapVertical.get(nodeId) - displacement;\n if (diff < constraint.gap) {\n displacement -= constraint.gap - diff;\n }\n } else {\n var diff = self.nodeToTempPositionMapVertical.get(nodeId) - self.nodeToTempPositionMapVertical.get(constraint.top) + displacement;\n if (diff < constraint.gap) {\n displacement += constraint.gap - diff;\n }\n }\n });\n self.nodeToTempPositionMapVertical.set(nodeId, self.nodeToTempPositionMapVertical.get(nodeId) + displacement);\n if (self.dummyToNodeForHorizontalAlignment.has(nodeId)) {\n self.dummyToNodeForHorizontalAlignment.get(nodeId).forEach(function (nodeId) {\n self.idToNodeMap.get(nodeId).displacementY = displacement;\n });\n } else {\n self.idToNodeMap.get(nodeId).displacementY = displacement;\n }\n }\n });\n } else {\n for (var i = 0; i < this.componentsOnHorizontal.length; i++) {\n var component = this.componentsOnHorizontal[i];\n if (this.fixedComponentsOnHorizontal[i]) {\n for (var j = 0; j < component.length; j++) {\n if (this.dummyToNodeForVerticalAlignment.has(component[j])) {\n this.dummyToNodeForVerticalAlignment.get(component[j]).forEach(function (nodeId) {\n self.idToNodeMap.get(nodeId).displacementX = 0;\n });\n } else {\n this.idToNodeMap.get(component[j]).displacementX = 0;\n }\n }\n } else {\n var sum = 0;\n var count = 0;\n for (var j = 0; j < component.length; j++) {\n if (this.dummyToNodeForVerticalAlignment.has(component[j])) {\n var actualNodes = this.dummyToNodeForVerticalAlignment.get(component[j]);\n sum += actualNodes.length * this.idToNodeMap.get(actualNodes[0]).displacementX;\n count += actualNodes.length;\n } else {\n sum += this.idToNodeMap.get(component[j]).displacementX;\n count++;\n }\n }\n var averageDisplacement = sum / count;\n for (var j = 0; j < component.length; j++) {\n if (this.dummyToNodeForVerticalAlignment.has(component[j])) {\n this.dummyToNodeForVerticalAlignment.get(component[j]).forEach(function (nodeId) {\n self.idToNodeMap.get(nodeId).displacementX = averageDisplacement;\n });\n } else {\n this.idToNodeMap.get(component[j]).displacementX = averageDisplacement;\n }\n }\n }\n }\n\n for (var i = 0; i < this.componentsOnVertical.length; i++) {\n var component = this.componentsOnVertical[i];\n if (this.fixedComponentsOnVertical[i]) {\n for (var j = 0; j < component.length; j++) {\n if (this.dummyToNodeForHorizontalAlignment.has(component[j])) {\n this.dummyToNodeForHorizontalAlignment.get(component[j]).forEach(function (nodeId) {\n self.idToNodeMap.get(nodeId).displacementY = 0;\n });\n } else {\n this.idToNodeMap.get(component[j]).displacementY = 0;\n }\n }\n } else {\n var sum = 0;\n var count = 0;\n for (var j = 0; j < component.length; j++) {\n if (this.dummyToNodeForHorizontalAlignment.has(component[j])) {\n var actualNodes = this.dummyToNodeForHorizontalAlignment.get(component[j]);\n sum += actualNodes.length * this.idToNodeMap.get(actualNodes[0]).displacementY;\n count += actualNodes.length;\n } else {\n sum += this.idToNodeMap.get(component[j]).displacementY;\n count++;\n }\n }\n var averageDisplacement = sum / count;\n for (var j = 0; j < component.length; j++) {\n if (this.dummyToNodeForHorizontalAlignment.has(component[j])) {\n this.dummyToNodeForHorizontalAlignment.get(component[j]).forEach(function (nodeId) {\n self.idToNodeMap.get(nodeId).displacementY = averageDisplacement;\n });\n } else {\n this.idToNodeMap.get(component[j]).displacementY = averageDisplacement;\n }\n }\n }\n }\n }\n }\n};\n\nCoSELayout.prototype.calculateNodesToApplyGravitationTo = function () {\n var nodeList = [];\n var graph;\n\n var graphs = this.graphManager.getGraphs();\n var size = graphs.length;\n var i;\n for (i = 0; i < size; i++) {\n graph = graphs[i];\n\n graph.updateConnected();\n\n if (!graph.isConnected) {\n nodeList = nodeList.concat(graph.getNodes());\n }\n }\n\n return nodeList;\n};\n\nCoSELayout.prototype.createBendpoints = function () {\n var edges = [];\n edges = edges.concat(this.graphManager.getAllEdges());\n var visited = new Set();\n var i;\n for (i = 0; i < edges.length; i++) {\n var edge = edges[i];\n\n if (!visited.has(edge)) {\n var source = edge.getSource();\n var target = edge.getTarget();\n\n if (source == target) {\n edge.getBendpoints().push(new PointD());\n edge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(edge);\n visited.add(edge);\n } else {\n var edgeList = [];\n\n edgeList = edgeList.concat(source.getEdgeListToNode(target));\n edgeList = edgeList.concat(target.getEdgeListToNode(source));\n\n if (!visited.has(edgeList[0])) {\n if (edgeList.length > 1) {\n var k;\n for (k = 0; k < edgeList.length; k++) {\n var multiEdge = edgeList[k];\n multiEdge.getBendpoints().push(new PointD());\n this.createDummyNodesForBendpoints(multiEdge);\n }\n }\n edgeList.forEach(function (edge) {\n visited.add(edge);\n });\n }\n }\n }\n\n if (visited.size == edges.length) {\n break;\n }\n }\n};\n\nCoSELayout.prototype.positionNodesRadially = function (forest) {\n // We tile the trees to a grid row by row; first tree starts at (0,0)\n var currentStartingPoint = new Point(0, 0);\n var numberOfColumns = Math.ceil(Math.sqrt(forest.length));\n var height = 0;\n var currentY = 0;\n var currentX = 0;\n var point = new PointD(0, 0);\n\n for (var i = 0; i < forest.length; i++) {\n if (i % numberOfColumns == 0) {\n // Start of a new row, make the x coordinate 0, increment the\n // y coordinate with the max height of the previous row\n currentX = 0;\n currentY = height;\n\n if (i != 0) {\n currentY += CoSEConstants.DEFAULT_COMPONENT_SEPERATION;\n }\n\n height = 0;\n }\n\n var tree = forest[i];\n\n // Find the center of the tree\n var centerNode = Layout.findCenterOfTree(tree);\n\n // Set the staring point of the next tree\n currentStartingPoint.x = currentX;\n currentStartingPoint.y = currentY;\n\n // Do a radial layout starting with the center\n point = CoSELayout.radialLayout(tree, centerNode, currentStartingPoint);\n\n if (point.y > height) {\n height = Math.floor(point.y);\n }\n\n currentX = Math.floor(point.x + CoSEConstants.DEFAULT_COMPONENT_SEPERATION);\n }\n\n this.transform(new PointD(LayoutConstants.WORLD_CENTER_X - point.x / 2, LayoutConstants.WORLD_CENTER_Y - point.y / 2));\n};\n\nCoSELayout.radialLayout = function (tree, centerNode, startingPoint) {\n var radialSep = Math.max(this.maxDiagonalInTree(tree), CoSEConstants.DEFAULT_RADIAL_SEPARATION);\n CoSELayout.branchRadialLayout(centerNode, null, 0, 359, 0, radialSep);\n var bounds = LGraph.calculateBounds(tree);\n\n var transform = new Transform();\n transform.setDeviceOrgX(bounds.getMinX());\n transform.setDeviceOrgY(bounds.getMinY());\n transform.setWorldOrgX(startingPoint.x);\n transform.setWorldOrgY(startingPoint.y);\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n node.transform(transform);\n }\n\n var bottomRight = new PointD(bounds.getMaxX(), bounds.getMaxY());\n\n return transform.inverseTransformPoint(bottomRight);\n};\n\nCoSELayout.branchRadialLayout = function (node, parentOfNode, startAngle, endAngle, distance, radialSeparation) {\n // First, position this node by finding its angle.\n var halfInterval = (endAngle - startAngle + 1) / 2;\n\n if (halfInterval < 0) {\n halfInterval += 180;\n }\n\n var nodeAngle = (halfInterval + startAngle) % 360;\n var teta = nodeAngle * IGeometry.TWO_PI / 360;\n\n // Make polar to java cordinate conversion.\n var cos_teta = Math.cos(teta);\n var x_ = distance * Math.cos(teta);\n var y_ = distance * Math.sin(teta);\n\n node.setCenter(x_, y_);\n\n // Traverse all neighbors of this node and recursively call this\n // function.\n var neighborEdges = [];\n neighborEdges = neighborEdges.concat(node.getEdges());\n var childCount = neighborEdges.length;\n\n if (parentOfNode != null) {\n childCount--;\n }\n\n var branchCount = 0;\n\n var incEdgesCount = neighborEdges.length;\n var startIndex;\n\n var edges = node.getEdgesBetween(parentOfNode);\n\n // If there are multiple edges, prune them until there remains only one\n // edge.\n while (edges.length > 1) {\n //neighborEdges.remove(edges.remove(0));\n var temp = edges[0];\n edges.splice(0, 1);\n var index = neighborEdges.indexOf(temp);\n if (index >= 0) {\n neighborEdges.splice(index, 1);\n }\n incEdgesCount--;\n childCount--;\n }\n\n if (parentOfNode != null) {\n //assert edges.length == 1;\n startIndex = (neighborEdges.indexOf(edges[0]) + 1) % incEdgesCount;\n } else {\n startIndex = 0;\n }\n\n var stepAngle = Math.abs(endAngle - startAngle) / childCount;\n\n for (var i = startIndex; branchCount != childCount; i = ++i % incEdgesCount) {\n var currentNeighbor = neighborEdges[i].getOtherEnd(node);\n\n // Don't back traverse to root node in current tree.\n if (currentNeighbor == parentOfNode) {\n continue;\n }\n\n var childStartAngle = (startAngle + branchCount * stepAngle) % 360;\n var childEndAngle = (childStartAngle + stepAngle) % 360;\n\n CoSELayout.branchRadialLayout(currentNeighbor, node, childStartAngle, childEndAngle, distance + radialSeparation, radialSeparation);\n\n branchCount++;\n }\n};\n\nCoSELayout.maxDiagonalInTree = function (tree) {\n var maxDiagonal = Integer.MIN_VALUE;\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n var diagonal = node.getDiagonal();\n\n if (diagonal > maxDiagonal) {\n maxDiagonal = diagonal;\n }\n }\n\n return maxDiagonal;\n};\n\nCoSELayout.prototype.calcRepulsionRange = function () {\n // formula is 2 x (level + 1) x idealEdgeLength\n return 2 * (this.level + 1) * this.idealEdgeLength;\n};\n\n// Tiling methods\n\n// Group zero degree members whose parents are not to be tiled, create dummy parents where needed and fill memberGroups by their dummp parent id's\nCoSELayout.prototype.groupZeroDegreeMembers = function () {\n var self = this;\n // array of [parent_id x oneDegreeNode_id]\n var tempMemberGroups = {}; // A temporary map of parent node and its zero degree members\n this.memberGroups = {}; // A map of dummy parent node and its zero degree members whose parents are not to be tiled\n this.idToDummyNode = {}; // A map of id to dummy node \n\n var zeroDegree = []; // List of zero degree nodes whose parents are not to be tiled\n var allNodes = this.graphManager.getAllNodes();\n\n // Fill zero degree list\n for (var i = 0; i < allNodes.length; i++) {\n var node = allNodes[i];\n var parent = node.getParent();\n // If a node has zero degree and its parent is not to be tiled if exists add that node to zeroDegres list\n if (this.getNodeDegreeWithChildren(node) === 0 && (parent.id == undefined || !this.getToBeTiled(parent))) {\n zeroDegree.push(node);\n }\n }\n\n // Create a map of parent node and its zero degree members\n for (var i = 0; i < zeroDegree.length; i++) {\n var node = zeroDegree[i]; // Zero degree node itself\n var p_id = node.getParent().id; // Parent id\n\n if (typeof tempMemberGroups[p_id] === \"undefined\") tempMemberGroups[p_id] = [];\n\n tempMemberGroups[p_id] = tempMemberGroups[p_id].concat(node); // Push node to the list belongs to its parent in tempMemberGroups\n }\n\n // If there are at least two nodes at a level, create a dummy compound for them\n Object.keys(tempMemberGroups).forEach(function (p_id) {\n if (tempMemberGroups[p_id].length > 1) {\n var dummyCompoundId = \"DummyCompound_\" + p_id; // The id of dummy compound which will be created soon\n self.memberGroups[dummyCompoundId] = tempMemberGroups[p_id]; // Add dummy compound to memberGroups\n\n var parent = tempMemberGroups[p_id][0].getParent(); // The parent of zero degree nodes will be the parent of new dummy compound\n\n // Create a dummy compound with calculated id\n var dummyCompound = new CoSENode(self.graphManager);\n dummyCompound.id = dummyCompoundId;\n dummyCompound.paddingLeft = parent.paddingLeft || 0;\n dummyCompound.paddingRight = parent.paddingRight || 0;\n dummyCompound.paddingBottom = parent.paddingBottom || 0;\n dummyCompound.paddingTop = parent.paddingTop || 0;\n\n self.idToDummyNode[dummyCompoundId] = dummyCompound;\n\n var dummyParentGraph = self.getGraphManager().add(self.newGraph(), dummyCompound);\n var parentGraph = parent.getChild();\n\n // Add dummy compound to parent the graph\n parentGraph.add(dummyCompound);\n\n // For each zero degree node in this level remove it from its parent graph and add it to the graph of dummy parent\n for (var i = 0; i < tempMemberGroups[p_id].length; i++) {\n var node = tempMemberGroups[p_id][i];\n\n parentGraph.remove(node);\n dummyParentGraph.add(node);\n }\n }\n });\n};\n\nCoSELayout.prototype.clearCompounds = function () {\n var childGraphMap = {};\n var idToNode = {};\n\n // Get compound ordering by finding the inner one first\n this.performDFSOnCompounds();\n\n for (var i = 0; i < this.compoundOrder.length; i++) {\n\n idToNode[this.compoundOrder[i].id] = this.compoundOrder[i];\n childGraphMap[this.compoundOrder[i].id] = [].concat(this.compoundOrder[i].getChild().getNodes());\n\n // Remove children of compounds\n this.graphManager.remove(this.compoundOrder[i].getChild());\n this.compoundOrder[i].child = null;\n }\n\n this.graphManager.resetAllNodes();\n\n // Tile the removed children\n this.tileCompoundMembers(childGraphMap, idToNode);\n};\n\nCoSELayout.prototype.clearZeroDegreeMembers = function () {\n var self = this;\n var tiledZeroDegreePack = this.tiledZeroDegreePack = [];\n\n Object.keys(this.memberGroups).forEach(function (id) {\n var compoundNode = self.idToDummyNode[id]; // Get the dummy compound\n\n tiledZeroDegreePack[id] = self.tileNodes(self.memberGroups[id], compoundNode.paddingLeft + compoundNode.paddingRight);\n\n // Set the width and height of the dummy compound as calculated\n compoundNode.rect.width = tiledZeroDegreePack[id].width;\n compoundNode.rect.height = tiledZeroDegreePack[id].height;\n compoundNode.setCenter(tiledZeroDegreePack[id].centerX, tiledZeroDegreePack[id].centerY);\n\n // compound left and top margings for labels\n // when node labels are included, these values may be set to different values below and are used in tilingPostLayout,\n // otherwise they stay as zero\n compoundNode.labelMarginLeft = 0;\n compoundNode.labelMarginTop = 0;\n\n // Update compound bounds considering its label properties and set label margins for left and top\n if (CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n\n var width = compoundNode.rect.width;\n var height = compoundNode.rect.height;\n\n if (compoundNode.labelWidth) {\n if (compoundNode.labelPosHorizontal == \"left\") {\n compoundNode.rect.x -= compoundNode.labelWidth;\n compoundNode.setWidth(width + compoundNode.labelWidth);\n compoundNode.labelMarginLeft = compoundNode.labelWidth;\n } else if (compoundNode.labelPosHorizontal == \"center\" && compoundNode.labelWidth > width) {\n compoundNode.rect.x -= (compoundNode.labelWidth - width) / 2;\n compoundNode.setWidth(compoundNode.labelWidth);\n compoundNode.labelMarginLeft = (compoundNode.labelWidth - width) / 2;\n } else if (compoundNode.labelPosHorizontal == \"right\") {\n compoundNode.setWidth(width + compoundNode.labelWidth);\n }\n }\n\n if (compoundNode.labelHeight) {\n if (compoundNode.labelPosVertical == \"top\") {\n compoundNode.rect.y -= compoundNode.labelHeight;\n compoundNode.setHeight(height + compoundNode.labelHeight);\n compoundNode.labelMarginTop = compoundNode.labelHeight;\n } else if (compoundNode.labelPosVertical == \"center\" && compoundNode.labelHeight > height) {\n compoundNode.rect.y -= (compoundNode.labelHeight - height) / 2;\n compoundNode.setHeight(compoundNode.labelHeight);\n compoundNode.labelMarginTop = (compoundNode.labelHeight - height) / 2;\n } else if (compoundNode.labelPosVertical == \"bottom\") {\n compoundNode.setHeight(height + compoundNode.labelHeight);\n }\n }\n }\n });\n};\n\nCoSELayout.prototype.repopulateCompounds = function () {\n for (var i = this.compoundOrder.length - 1; i >= 0; i--) {\n var lCompoundNode = this.compoundOrder[i];\n var id = lCompoundNode.id;\n var horizontalMargin = lCompoundNode.paddingLeft;\n var verticalMargin = lCompoundNode.paddingTop;\n var labelMarginLeft = lCompoundNode.labelMarginLeft;\n var labelMarginTop = lCompoundNode.labelMarginTop;\n\n this.adjustLocations(this.tiledMemberPack[id], lCompoundNode.rect.x, lCompoundNode.rect.y, horizontalMargin, verticalMargin, labelMarginLeft, labelMarginTop);\n }\n};\n\nCoSELayout.prototype.repopulateZeroDegreeMembers = function () {\n var self = this;\n var tiledPack = this.tiledZeroDegreePack;\n\n Object.keys(tiledPack).forEach(function (id) {\n var compoundNode = self.idToDummyNode[id]; // Get the dummy compound by its id\n var horizontalMargin = compoundNode.paddingLeft;\n var verticalMargin = compoundNode.paddingTop;\n var labelMarginLeft = compoundNode.labelMarginLeft;\n var labelMarginTop = compoundNode.labelMarginTop;\n\n // Adjust the positions of nodes wrt its compound\n self.adjustLocations(tiledPack[id], compoundNode.rect.x, compoundNode.rect.y, horizontalMargin, verticalMargin, labelMarginLeft, labelMarginTop);\n });\n};\n\nCoSELayout.prototype.getToBeTiled = function (node) {\n var id = node.id;\n //firstly check the previous results\n if (this.toBeTiled[id] != null) {\n return this.toBeTiled[id];\n }\n\n //only compound nodes are to be tiled\n var childGraph = node.getChild();\n if (childGraph == null) {\n this.toBeTiled[id] = false;\n return false;\n }\n\n var children = childGraph.getNodes(); // Get the children nodes\n\n //a compound node is not to be tiled if all of its compound children are not to be tiled\n for (var i = 0; i < children.length; i++) {\n var theChild = children[i];\n\n if (this.getNodeDegree(theChild) > 0) {\n this.toBeTiled[id] = false;\n return false;\n }\n\n //pass the children not having the compound structure\n if (theChild.getChild() == null) {\n this.toBeTiled[theChild.id] = false;\n continue;\n }\n\n if (!this.getToBeTiled(theChild)) {\n this.toBeTiled[id] = false;\n return false;\n }\n }\n this.toBeTiled[id] = true;\n return true;\n};\n\n// Get degree of a node depending of its edges and independent of its children\nCoSELayout.prototype.getNodeDegree = function (node) {\n var id = node.id;\n var edges = node.getEdges();\n var degree = 0;\n\n // For the edges connected\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n if (edge.getSource().id !== edge.getTarget().id) {\n degree = degree + 1;\n }\n }\n return degree;\n};\n\n// Get degree of a node with its children\nCoSELayout.prototype.getNodeDegreeWithChildren = function (node) {\n var degree = this.getNodeDegree(node);\n if (node.getChild() == null) {\n return degree;\n }\n var children = node.getChild().getNodes();\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n degree += this.getNodeDegreeWithChildren(child);\n }\n return degree;\n};\n\nCoSELayout.prototype.performDFSOnCompounds = function () {\n this.compoundOrder = [];\n this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes());\n};\n\nCoSELayout.prototype.fillCompexOrderByDFS = function (children) {\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child.getChild() != null) {\n this.fillCompexOrderByDFS(child.getChild().getNodes());\n }\n if (this.getToBeTiled(child)) {\n this.compoundOrder.push(child);\n }\n }\n};\n\n/**\n* This method places each zero degree member wrt given (x,y) coordinates (top left).\n*/\nCoSELayout.prototype.adjustLocations = function (organization, x, y, compoundHorizontalMargin, compoundVerticalMargin, compoundLabelMarginLeft, compoundLabelMarginTop) {\n x += compoundHorizontalMargin + compoundLabelMarginLeft;\n y += compoundVerticalMargin + compoundLabelMarginTop;\n\n var left = x;\n\n for (var i = 0; i < organization.rows.length; i++) {\n var row = organization.rows[i];\n x = left;\n var maxHeight = 0;\n\n for (var j = 0; j < row.length; j++) {\n var lnode = row[j];\n\n lnode.rect.x = x; // + lnode.rect.width / 2;\n lnode.rect.y = y; // + lnode.rect.height / 2;\n\n x += lnode.rect.width + organization.horizontalPadding;\n\n if (lnode.rect.height > maxHeight) maxHeight = lnode.rect.height;\n }\n\n y += maxHeight + organization.verticalPadding;\n }\n};\n\nCoSELayout.prototype.tileCompoundMembers = function (childGraphMap, idToNode) {\n var self = this;\n this.tiledMemberPack = [];\n\n Object.keys(childGraphMap).forEach(function (id) {\n // Get the compound node\n var compoundNode = idToNode[id];\n\n self.tiledMemberPack[id] = self.tileNodes(childGraphMap[id], compoundNode.paddingLeft + compoundNode.paddingRight);\n\n compoundNode.rect.width = self.tiledMemberPack[id].width;\n compoundNode.rect.height = self.tiledMemberPack[id].height;\n compoundNode.setCenter(self.tiledMemberPack[id].centerX, self.tiledMemberPack[id].centerY);\n\n // compound left and top margings for labels\n // when node labels are included, these values may be set to different values below and are used in tilingPostLayout,\n // otherwise they stay as zero\n compoundNode.labelMarginLeft = 0;\n compoundNode.labelMarginTop = 0;\n\n // Update compound bounds considering its label properties and set label margins for left and top\n if (CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS) {\n\n var width = compoundNode.rect.width;\n var height = compoundNode.rect.height;\n\n if (compoundNode.labelWidth) {\n if (compoundNode.labelPosHorizontal == \"left\") {\n compoundNode.rect.x -= compoundNode.labelWidth;\n compoundNode.setWidth(width + compoundNode.labelWidth);\n compoundNode.labelMarginLeft = compoundNode.labelWidth;\n } else if (compoundNode.labelPosHorizontal == \"center\" && compoundNode.labelWidth > width) {\n compoundNode.rect.x -= (compoundNode.labelWidth - width) / 2;\n compoundNode.setWidth(compoundNode.labelWidth);\n compoundNode.labelMarginLeft = (compoundNode.labelWidth - width) / 2;\n } else if (compoundNode.labelPosHorizontal == \"right\") {\n compoundNode.setWidth(width + compoundNode.labelWidth);\n }\n }\n\n if (compoundNode.labelHeight) {\n if (compoundNode.labelPosVertical == \"top\") {\n compoundNode.rect.y -= compoundNode.labelHeight;\n compoundNode.setHeight(height + compoundNode.labelHeight);\n compoundNode.labelMarginTop = compoundNode.labelHeight;\n } else if (compoundNode.labelPosVertical == \"center\" && compoundNode.labelHeight > height) {\n compoundNode.rect.y -= (compoundNode.labelHeight - height) / 2;\n compoundNode.setHeight(compoundNode.labelHeight);\n compoundNode.labelMarginTop = (compoundNode.labelHeight - height) / 2;\n } else if (compoundNode.labelPosVertical == \"bottom\") {\n compoundNode.setHeight(height + compoundNode.labelHeight);\n }\n }\n }\n });\n};\n\nCoSELayout.prototype.tileNodes = function (nodes, minWidth) {\n var horizontalOrg = this.tileNodesByFavoringDim(nodes, minWidth, true);\n var verticalOrg = this.tileNodesByFavoringDim(nodes, minWidth, false);\n\n var horizontalRatio = this.getOrgRatio(horizontalOrg);\n var verticalRatio = this.getOrgRatio(verticalOrg);\n var bestOrg;\n\n // the best ratio is the one that is closer to 1 since the ratios are already normalized\n // and the best organization is the one that has the best ratio\n if (verticalRatio < horizontalRatio) {\n bestOrg = verticalOrg;\n } else {\n bestOrg = horizontalOrg;\n }\n\n return bestOrg;\n};\n\n// get the width/height ratio of the organization that is normalized so that it will not be less than 1\nCoSELayout.prototype.getOrgRatio = function (organization) {\n // get dimensions and calculate the initial ratio\n var width = organization.width;\n var height = organization.height;\n var ratio = width / height;\n\n // if the initial ratio is less then 1 then inverse it\n if (ratio < 1) {\n ratio = 1 / ratio;\n }\n\n // return the normalized ratio\n return ratio;\n};\n\n/*\n * Calculates the ideal width for the rows. This method assumes that\n * each node has the same sizes and calculates the ideal row width that\n * approximates a square shaped complex accordingly. However, since nodes would\n * have different sizes some rows would have different sizes and the resulting\n * shape would not be an exact square.\n */\nCoSELayout.prototype.calcIdealRowWidth = function (members, favorHorizontalDim) {\n // To approximate a square shaped complex we need to make complex width equal to complex height.\n // To achieve this we need to solve the following equation system for hc:\n // (x + bx) * hc - bx = (y + by) * vc - by, hc * vc = n\n // where x is the avarage width of the nodes, y is the avarage height of nodes\n // bx and by are the buffer sizes in horizontal and vertical dimensions accordingly,\n // hc and vc are the number of rows in horizontal and vertical dimensions\n // n is number of members.\n\n var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL;\n var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL;\n\n // number of members\n var membersSize = members.length;\n\n // sum of the width of all members\n var totalWidth = 0;\n\n // sum of the height of all members\n var totalHeight = 0;\n\n var maxWidth = 0;\n\n // traverse all members to calculate total width and total height and get the maximum members width\n members.forEach(function (node) {\n totalWidth += node.getWidth();\n totalHeight += node.getHeight();\n\n if (node.getWidth() > maxWidth) {\n maxWidth = node.getWidth();\n }\n });\n\n // average width of the members\n var averageWidth = totalWidth / membersSize;\n\n // average height of the members\n var averageHeight = totalHeight / membersSize;\n\n // solving the initial equation system for the hc yields the following second degree equation:\n // hc^2 * (x+bx) + hc * (by - bx) - n * (y + by) = 0\n\n // the delta value to solve the equation above for hc\n var delta = Math.pow(verticalPadding - horizontalPadding, 2) + 4 * (averageWidth + horizontalPadding) * (averageHeight + verticalPadding) * membersSize;\n\n // solve the equation using delta value to calculate the horizontal count\n // that represents the number of nodes in an ideal row\n var horizontalCountDouble = (horizontalPadding - verticalPadding + Math.sqrt(delta)) / (2 * (averageWidth + horizontalPadding));\n // round the calculated horizontal count up or down according to the favored dimension\n var horizontalCount;\n\n if (favorHorizontalDim) {\n horizontalCount = Math.ceil(horizontalCountDouble);\n // if horizontalCount count is not a float value then both of rounding to floor and ceil\n // will yield the same values. Instead of repeating the same calculation try going up\n // while favoring horizontal dimension in such cases\n if (horizontalCount == horizontalCountDouble) {\n horizontalCount++;\n }\n } else {\n horizontalCount = Math.floor(horizontalCountDouble);\n }\n\n // ideal width to be calculated\n var idealWidth = horizontalCount * (averageWidth + horizontalPadding) - horizontalPadding;\n\n // if max width is bigger than calculated ideal width reset ideal width to it\n if (maxWidth > idealWidth) {\n idealWidth = maxWidth;\n }\n\n // add the left-right margins to the ideal row width\n idealWidth += horizontalPadding * 2;\n\n // return the ideal row width1\n return idealWidth;\n};\n\nCoSELayout.prototype.tileNodesByFavoringDim = function (nodes, minWidth, favorHorizontalDim) {\n var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL;\n var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL;\n var tilingCompareBy = CoSEConstants.TILING_COMPARE_BY;\n var organization = {\n rows: [],\n rowWidth: [],\n rowHeight: [],\n width: 0,\n height: minWidth, // assume minHeight equals to minWidth\n verticalPadding: verticalPadding,\n horizontalPadding: horizontalPadding,\n centerX: 0,\n centerY: 0\n };\n\n if (tilingCompareBy) {\n organization.idealRowWidth = this.calcIdealRowWidth(nodes, favorHorizontalDim);\n }\n\n var getNodeArea = function getNodeArea(n) {\n return n.rect.width * n.rect.height;\n };\n\n var areaCompareFcn = function areaCompareFcn(n1, n2) {\n return getNodeArea(n2) - getNodeArea(n1);\n };\n\n // Sort the nodes in descending order of their areas\n nodes.sort(function (n1, n2) {\n var cmpBy = areaCompareFcn;\n if (organization.idealRowWidth) {\n cmpBy = tilingCompareBy;\n return cmpBy(n1.id, n2.id);\n }\n return cmpBy(n1, n2);\n });\n\n // Create the organization -> calculate compound center\n var sumCenterX = 0;\n var sumCenterY = 0;\n for (var i = 0; i < nodes.length; i++) {\n var lNode = nodes[i];\n\n sumCenterX += lNode.getCenterX();\n sumCenterY += lNode.getCenterY();\n }\n\n organization.centerX = sumCenterX / nodes.length;\n organization.centerY = sumCenterY / nodes.length;\n\n // Create the organization -> tile members\n for (var i = 0; i < nodes.length; i++) {\n var lNode = nodes[i];\n\n if (organization.rows.length == 0) {\n this.insertNodeToRow(organization, lNode, 0, minWidth);\n } else if (this.canAddHorizontal(organization, lNode.rect.width, lNode.rect.height)) {\n var rowIndex = organization.rows.length - 1;\n if (!organization.idealRowWidth) {\n rowIndex = this.getShortestRowIndex(organization);\n }\n this.insertNodeToRow(organization, lNode, rowIndex, minWidth);\n } else {\n this.insertNodeToRow(organization, lNode, organization.rows.length, minWidth);\n }\n\n this.shiftToLastRow(organization);\n }\n\n return organization;\n};\n\nCoSELayout.prototype.insertNodeToRow = function (organization, node, rowIndex, minWidth) {\n var minCompoundSize = minWidth;\n\n // Add new row if needed\n if (rowIndex == organization.rows.length) {\n var secondDimension = [];\n\n organization.rows.push(secondDimension);\n organization.rowWidth.push(minCompoundSize);\n organization.rowHeight.push(0);\n }\n\n // Update row width\n var w = organization.rowWidth[rowIndex] + node.rect.width;\n\n if (organization.rows[rowIndex].length > 0) {\n w += organization.horizontalPadding;\n }\n\n organization.rowWidth[rowIndex] = w;\n // Update compound width\n if (organization.width < w) {\n organization.width = w;\n }\n\n // Update height\n var h = node.rect.height;\n if (rowIndex > 0) h += organization.verticalPadding;\n\n var extraHeight = 0;\n if (h > organization.rowHeight[rowIndex]) {\n extraHeight = organization.rowHeight[rowIndex];\n organization.rowHeight[rowIndex] = h;\n extraHeight = organization.rowHeight[rowIndex] - extraHeight;\n }\n\n organization.height += extraHeight;\n\n // Insert node\n organization.rows[rowIndex].push(node);\n};\n\n//Scans the rows of an organization and returns the one with the min width\nCoSELayout.prototype.getShortestRowIndex = function (organization) {\n var r = -1;\n var min = Number.MAX_VALUE;\n\n for (var i = 0; i < organization.rows.length; i++) {\n if (organization.rowWidth[i] < min) {\n r = i;\n min = organization.rowWidth[i];\n }\n }\n return r;\n};\n\n//Scans the rows of an organization and returns the one with the max width\nCoSELayout.prototype.getLongestRowIndex = function (organization) {\n var r = -1;\n var max = Number.MIN_VALUE;\n\n for (var i = 0; i < organization.rows.length; i++) {\n\n if (organization.rowWidth[i] > max) {\n r = i;\n max = organization.rowWidth[i];\n }\n }\n\n return r;\n};\n\n/**\n* This method checks whether adding extra width to the organization violates\n* the aspect ratio(1) or not.\n*/\nCoSELayout.prototype.canAddHorizontal = function (organization, extraWidth, extraHeight) {\n\n // if there is an ideal row width specified use it instead of checking the aspect ratio\n if (organization.idealRowWidth) {\n var lastRowIndex = organization.rows.length - 1;\n var lastRowWidth = organization.rowWidth[lastRowIndex];\n\n // check and return if ideal row width will be exceed if the node is added to the row\n return lastRowWidth + extraWidth + organization.horizontalPadding <= organization.idealRowWidth;\n }\n\n var sri = this.getShortestRowIndex(organization);\n\n if (sri < 0) {\n return true;\n }\n\n var min = organization.rowWidth[sri];\n\n if (min + organization.horizontalPadding + extraWidth <= organization.width) return true;\n\n var hDiff = 0;\n\n // Adding to an existing row\n if (organization.rowHeight[sri] < extraHeight) {\n if (sri > 0) hDiff = extraHeight + organization.verticalPadding - organization.rowHeight[sri];\n }\n\n var add_to_row_ratio;\n if (organization.width - min >= extraWidth + organization.horizontalPadding) {\n add_to_row_ratio = (organization.height + hDiff) / (min + extraWidth + organization.horizontalPadding);\n } else {\n add_to_row_ratio = (organization.height + hDiff) / organization.width;\n }\n\n // Adding a new row for this node\n hDiff = extraHeight + organization.verticalPadding;\n var add_new_row_ratio;\n if (organization.width < extraWidth) {\n add_new_row_ratio = (organization.height + hDiff) / extraWidth;\n } else {\n add_new_row_ratio = (organization.height + hDiff) / organization.width;\n }\n\n if (add_new_row_ratio < 1) add_new_row_ratio = 1 / add_new_row_ratio;\n\n if (add_to_row_ratio < 1) add_to_row_ratio = 1 / add_to_row_ratio;\n\n return add_to_row_ratio < add_new_row_ratio;\n};\n\n//If moving the last node from the longest row and adding it to the last\n//row makes the bounding box smaller, do it.\nCoSELayout.prototype.shiftToLastRow = function (organization) {\n var longest = this.getLongestRowIndex(organization);\n var last = organization.rowWidth.length - 1;\n var row = organization.rows[longest];\n var node = row[row.length - 1];\n\n var diff = node.width + organization.horizontalPadding;\n\n // Check if there is enough space on the last row\n if (organization.width - organization.rowWidth[last] > diff && longest != last) {\n // Remove the last element of the longest row\n row.splice(-1, 1);\n\n // Push it to the last row\n organization.rows[last].push(node);\n\n organization.rowWidth[longest] = organization.rowWidth[longest] - diff;\n organization.rowWidth[last] = organization.rowWidth[last] + diff;\n organization.width = organization.rowWidth[instance.getLongestRowIndex(organization)];\n\n // Update heights of the organization\n var maxHeight = Number.MIN_VALUE;\n for (var i = 0; i < row.length; i++) {\n if (row[i].height > maxHeight) maxHeight = row[i].height;\n }\n if (longest > 0) maxHeight += organization.verticalPadding;\n\n var prevTotal = organization.rowHeight[longest] + organization.rowHeight[last];\n\n organization.rowHeight[longest] = maxHeight;\n if (organization.rowHeight[last] < node.height + organization.verticalPadding) organization.rowHeight[last] = node.height + organization.verticalPadding;\n\n var finalTotal = organization.rowHeight[longest] + organization.rowHeight[last];\n organization.height += finalTotal - prevTotal;\n\n this.shiftToLastRow(organization);\n }\n};\n\nCoSELayout.prototype.tilingPreLayout = function () {\n if (CoSEConstants.TILE) {\n // Find zero degree nodes and create a compound for each level\n this.groupZeroDegreeMembers();\n // Tile and clear children of each compound\n this.clearCompounds();\n // Separately tile and clear zero degree nodes for each level\n this.clearZeroDegreeMembers();\n }\n};\n\nCoSELayout.prototype.tilingPostLayout = function () {\n if (CoSEConstants.TILE) {\n this.repopulateZeroDegreeMembers();\n this.repopulateCompounds();\n }\n};\n\n// -----------------------------------------------------------------------------\n// Section: Tree Reduction methods\n// -----------------------------------------------------------------------------\n// Reduce trees \nCoSELayout.prototype.reduceTrees = function () {\n var prunedNodesAll = [];\n var containsLeaf = true;\n var node;\n\n while (containsLeaf) {\n var allNodes = this.graphManager.getAllNodes();\n var prunedNodesInStepTemp = [];\n containsLeaf = false;\n\n for (var i = 0; i < allNodes.length; i++) {\n node = allNodes[i];\n if (node.getEdges().length == 1 && !node.getEdges()[0].isInterGraph && node.getChild() == null) {\n if (CoSEConstants.PURE_INCREMENTAL) {\n var otherEnd = node.getEdges()[0].getOtherEnd(node);\n var relativePosition = new DimensionD(node.getCenterX() - otherEnd.getCenterX(), node.getCenterY() - otherEnd.getCenterY());\n prunedNodesInStepTemp.push([node, node.getEdges()[0], node.getOwner(), relativePosition]);\n } else {\n prunedNodesInStepTemp.push([node, node.getEdges()[0], node.getOwner()]);\n }\n containsLeaf = true;\n }\n }\n if (containsLeaf == true) {\n var prunedNodesInStep = [];\n for (var j = 0; j < prunedNodesInStepTemp.length; j++) {\n if (prunedNodesInStepTemp[j][0].getEdges().length == 1) {\n prunedNodesInStep.push(prunedNodesInStepTemp[j]);\n prunedNodesInStepTemp[j][0].getOwner().remove(prunedNodesInStepTemp[j][0]);\n }\n }\n prunedNodesAll.push(prunedNodesInStep);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n }\n }\n this.prunedNodesAll = prunedNodesAll;\n};\n\n// Grow tree one step \nCoSELayout.prototype.growTree = function (prunedNodesAll) {\n var lengthOfPrunedNodesInStep = prunedNodesAll.length;\n var prunedNodesInStep = prunedNodesAll[lengthOfPrunedNodesInStep - 1];\n\n var nodeData;\n for (var i = 0; i < prunedNodesInStep.length; i++) {\n nodeData = prunedNodesInStep[i];\n\n this.findPlaceforPrunedNode(nodeData);\n\n nodeData[2].add(nodeData[0]);\n nodeData[2].add(nodeData[1], nodeData[1].source, nodeData[1].target);\n }\n\n prunedNodesAll.splice(prunedNodesAll.length - 1, 1);\n this.graphManager.resetAllNodes();\n this.graphManager.resetAllEdges();\n};\n\n// Find an appropriate position to replace pruned node, this method can be improved\nCoSELayout.prototype.findPlaceforPrunedNode = function (nodeData) {\n\n var gridForPrunedNode;\n var nodeToConnect;\n var prunedNode = nodeData[0];\n if (prunedNode == nodeData[1].source) {\n nodeToConnect = nodeData[1].target;\n } else {\n nodeToConnect = nodeData[1].source;\n }\n\n if (CoSEConstants.PURE_INCREMENTAL) {\n prunedNode.setCenter(nodeToConnect.getCenterX() + nodeData[3].getWidth(), nodeToConnect.getCenterY() + nodeData[3].getHeight());\n } else {\n var startGridX = nodeToConnect.startX;\n var finishGridX = nodeToConnect.finishX;\n var startGridY = nodeToConnect.startY;\n var finishGridY = nodeToConnect.finishY;\n\n var upNodeCount = 0;\n var downNodeCount = 0;\n var rightNodeCount = 0;\n var leftNodeCount = 0;\n var controlRegions = [upNodeCount, rightNodeCount, downNodeCount, leftNodeCount];\n\n if (startGridY > 0) {\n for (var i = startGridX; i <= finishGridX; i++) {\n controlRegions[0] += this.grid[i][startGridY - 1].length + this.grid[i][startGridY].length - 1;\n }\n }\n if (finishGridX < this.grid.length - 1) {\n for (var i = startGridY; i <= finishGridY; i++) {\n controlRegions[1] += this.grid[finishGridX + 1][i].length + this.grid[finishGridX][i].length - 1;\n }\n }\n if (finishGridY < this.grid[0].length - 1) {\n for (var i = startGridX; i <= finishGridX; i++) {\n controlRegions[2] += this.grid[i][finishGridY + 1].length + this.grid[i][finishGridY].length - 1;\n }\n }\n if (startGridX > 0) {\n for (var i = startGridY; i <= finishGridY; i++) {\n controlRegions[3] += this.grid[startGridX - 1][i].length + this.grid[startGridX][i].length - 1;\n }\n }\n var min = Integer.MAX_VALUE;\n var minCount;\n var minIndex;\n for (var j = 0; j < controlRegions.length; j++) {\n if (controlRegions[j] < min) {\n min = controlRegions[j];\n minCount = 1;\n minIndex = j;\n } else if (controlRegions[j] == min) {\n minCount++;\n }\n }\n\n if (minCount == 3 && min == 0) {\n if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[2] == 0) {\n gridForPrunedNode = 1;\n } else if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 0;\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 3;\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) {\n gridForPrunedNode = 2;\n }\n } else if (minCount == 2 && min == 0) {\n var random = Math.floor(Math.random() * 2);\n if (controlRegions[0] == 0 && controlRegions[1] == 0) {\n ;\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 1;\n }\n } else if (controlRegions[0] == 0 && controlRegions[2] == 0) {\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[0] == 0 && controlRegions[3] == 0) {\n if (random == 0) {\n gridForPrunedNode = 0;\n } else {\n gridForPrunedNode = 3;\n }\n } else if (controlRegions[1] == 0 && controlRegions[2] == 0) {\n if (random == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 2;\n }\n } else if (controlRegions[1] == 0 && controlRegions[3] == 0) {\n if (random == 0) {\n gridForPrunedNode = 1;\n } else {\n gridForPrunedNode = 3;\n }\n } else {\n if (random == 0) {\n gridForPrunedNode = 2;\n } else {\n gridForPrunedNode = 3;\n }\n }\n } else if (minCount == 4 && min == 0) {\n var random = Math.floor(Math.random() * 4);\n gridForPrunedNode = random;\n } else {\n gridForPrunedNode = minIndex;\n }\n\n if (gridForPrunedNode == 0) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() - nodeToConnect.getHeight() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getHeight() / 2);\n } else if (gridForPrunedNode == 1) {\n prunedNode.setCenter(nodeToConnect.getCenterX() + nodeToConnect.getWidth() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n } else if (gridForPrunedNode == 2) {\n prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() + nodeToConnect.getHeight() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getHeight() / 2);\n } else {\n prunedNode.setCenter(nodeToConnect.getCenterX() - nodeToConnect.getWidth() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getWidth() / 2, nodeToConnect.getCenterY());\n }\n }\n};\n\nmodule.exports = CoSELayout;\n\n/***/ }),\n\n/***/ 991:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar FDLayoutNode = __webpack_require__(551).FDLayoutNode;\nvar IMath = __webpack_require__(551).IMath;\n\nfunction CoSENode(gm, loc, size, vNode) {\n FDLayoutNode.call(this, gm, loc, size, vNode);\n}\n\nCoSENode.prototype = Object.create(FDLayoutNode.prototype);\nfor (var prop in FDLayoutNode) {\n CoSENode[prop] = FDLayoutNode[prop];\n}\n\nCoSENode.prototype.calculateDisplacement = function () {\n var layout = this.graphManager.getLayout();\n // this check is for compound nodes that contain fixed nodes\n if (this.getChild() != null && this.fixedNodeWeight) {\n this.displacementX += layout.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.fixedNodeWeight;\n this.displacementY += layout.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.fixedNodeWeight;\n } else {\n this.displacementX += layout.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.noOfChildren;\n this.displacementY += layout.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.noOfChildren;\n }\n\n if (Math.abs(this.displacementX) > layout.coolingFactor * layout.maxNodeDisplacement) {\n this.displacementX = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementX);\n }\n\n if (Math.abs(this.displacementY) > layout.coolingFactor * layout.maxNodeDisplacement) {\n this.displacementY = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementY);\n }\n\n // non-empty compound node, propogate movement to children as well\n if (this.child && this.child.getNodes().length > 0) {\n this.propogateDisplacementToChildren(this.displacementX, this.displacementY);\n }\n};\n\nCoSENode.prototype.propogateDisplacementToChildren = function (dX, dY) {\n var nodes = this.getChild().getNodes();\n var node;\n for (var i = 0; i < nodes.length; i++) {\n node = nodes[i];\n if (node.getChild() == null) {\n node.displacementX += dX;\n node.displacementY += dY;\n } else {\n node.propogateDisplacementToChildren(dX, dY);\n }\n }\n};\n\nCoSENode.prototype.move = function () {\n var layout = this.graphManager.getLayout();\n\n // a simple node or an empty compound node, move it\n if (this.child == null || this.child.getNodes().length == 0) {\n this.moveBy(this.displacementX, this.displacementY);\n\n layout.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY);\n }\n\n this.springForceX = 0;\n this.springForceY = 0;\n this.repulsionForceX = 0;\n this.repulsionForceY = 0;\n this.gravitationForceX = 0;\n this.gravitationForceY = 0;\n this.displacementX = 0;\n this.displacementY = 0;\n};\n\nCoSENode.prototype.setPred1 = function (pred1) {\n this.pred1 = pred1;\n};\n\nCoSENode.prototype.getPred1 = function () {\n return pred1;\n};\n\nCoSENode.prototype.getPred2 = function () {\n return pred2;\n};\n\nCoSENode.prototype.setNext = function (next) {\n this.next = next;\n};\n\nCoSENode.prototype.getNext = function () {\n return next;\n};\n\nCoSENode.prototype.setProcessed = function (processed) {\n this.processed = processed;\n};\n\nCoSENode.prototype.isProcessed = function () {\n return processed;\n};\n\nmodule.exports = CoSENode;\n\n/***/ }),\n\n/***/ 902:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar CoSEConstants = __webpack_require__(806);\nvar LinkedList = __webpack_require__(551).LinkedList;\nvar Matrix = __webpack_require__(551).Matrix;\nvar SVD = __webpack_require__(551).SVD;\n\nfunction ConstraintHandler() {}\n\nConstraintHandler.handleConstraints = function (layout) {\n // let layout = this.graphManager.getLayout();\n\n // get constraints from layout\n var constraints = {};\n constraints.fixedNodeConstraint = layout.constraints.fixedNodeConstraint;\n constraints.alignmentConstraint = layout.constraints.alignmentConstraint;\n constraints.relativePlacementConstraint = layout.constraints.relativePlacementConstraint;\n\n var idToNodeMap = new Map();\n var nodeIndexes = new Map();\n var xCoords = [];\n var yCoords = [];\n\n var allNodes = layout.getAllNodes();\n var index = 0;\n // fill index map and coordinates\n for (var i = 0; i < allNodes.length; i++) {\n var node = allNodes[i];\n if (node.getChild() == null) {\n nodeIndexes.set(node.id, index++);\n xCoords.push(node.getCenterX());\n yCoords.push(node.getCenterY());\n idToNodeMap.set(node.id, node);\n }\n }\n\n // if there exists relative placement constraint without gap value, set it to default \n if (constraints.relativePlacementConstraint) {\n constraints.relativePlacementConstraint.forEach(function (constraint) {\n if (!constraint.gap && constraint.gap != 0) {\n if (constraint.left) {\n constraint.gap = CoSEConstants.DEFAULT_EDGE_LENGTH + idToNodeMap.get(constraint.left).getWidth() / 2 + idToNodeMap.get(constraint.right).getWidth() / 2;\n } else {\n constraint.gap = CoSEConstants.DEFAULT_EDGE_LENGTH + idToNodeMap.get(constraint.top).getHeight() / 2 + idToNodeMap.get(constraint.bottom).getHeight() / 2;\n }\n }\n });\n }\n\n /* auxiliary functions */\n\n // calculate difference between two position objects\n var calculatePositionDiff = function calculatePositionDiff(pos1, pos2) {\n return { x: pos1.x - pos2.x, y: pos1.y - pos2.y };\n };\n\n // calculate average position of the nodes\n var calculateAvgPosition = function calculateAvgPosition(nodeIdSet) {\n var xPosSum = 0;\n var yPosSum = 0;\n nodeIdSet.forEach(function (nodeId) {\n xPosSum += xCoords[nodeIndexes.get(nodeId)];\n yPosSum += yCoords[nodeIndexes.get(nodeId)];\n });\n\n return { x: xPosSum / nodeIdSet.size, y: yPosSum / nodeIdSet.size };\n };\n\n // find an appropriate positioning for the nodes in a given graph according to relative placement constraints\n // this function also takes the fixed nodes and alignment constraints into account\n // graph: dag to be evaluated, direction: \"horizontal\" or \"vertical\", \n // fixedNodes: set of fixed nodes to consider during evaluation, dummyPositions: appropriate coordinates of the dummy nodes \n var findAppropriatePositionForRelativePlacement = function findAppropriatePositionForRelativePlacement(graph, direction, fixedNodes, dummyPositions, componentSources) {\n\n // find union of two sets\n function setUnion(setA, setB) {\n var union = new Set(setA);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = setB[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var elem = _step.value;\n\n union.add(elem);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return union;\n }\n\n // find indegree count for each node\n var inDegrees = new Map();\n\n graph.forEach(function (value, key) {\n inDegrees.set(key, 0);\n });\n graph.forEach(function (value, key) {\n value.forEach(function (adjacent) {\n inDegrees.set(adjacent.id, inDegrees.get(adjacent.id) + 1);\n });\n });\n\n var positionMap = new Map(); // keeps the position for each node\n var pastMap = new Map(); // keeps the predecessors(past) of a node\n var queue = new LinkedList();\n inDegrees.forEach(function (value, key) {\n if (value == 0) {\n queue.push(key);\n if (!fixedNodes) {\n if (direction == \"horizontal\") {\n positionMap.set(key, nodeIndexes.has(key) ? xCoords[nodeIndexes.get(key)] : dummyPositions.get(key));\n } else {\n positionMap.set(key, nodeIndexes.has(key) ? yCoords[nodeIndexes.get(key)] : dummyPositions.get(key));\n }\n }\n } else {\n positionMap.set(key, Number.NEGATIVE_INFINITY);\n }\n if (fixedNodes) {\n pastMap.set(key, new Set([key]));\n }\n });\n\n // align sources of each component in enforcement phase\n if (fixedNodes) {\n componentSources.forEach(function (component) {\n var fixedIds = [];\n component.forEach(function (nodeId) {\n if (fixedNodes.has(nodeId)) {\n fixedIds.push(nodeId);\n }\n });\n if (fixedIds.length > 0) {\n var position = 0;\n fixedIds.forEach(function (fixedId) {\n if (direction == \"horizontal\") {\n positionMap.set(fixedId, nodeIndexes.has(fixedId) ? xCoords[nodeIndexes.get(fixedId)] : dummyPositions.get(fixedId));\n position += positionMap.get(fixedId);\n } else {\n positionMap.set(fixedId, nodeIndexes.has(fixedId) ? yCoords[nodeIndexes.get(fixedId)] : dummyPositions.get(fixedId));\n position += positionMap.get(fixedId);\n }\n });\n position = position / fixedIds.length;\n component.forEach(function (nodeId) {\n if (!fixedNodes.has(nodeId)) {\n positionMap.set(nodeId, position);\n }\n });\n } else {\n var _position = 0;\n component.forEach(function (nodeId) {\n if (direction == \"horizontal\") {\n _position += nodeIndexes.has(nodeId) ? xCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId);\n } else {\n _position += nodeIndexes.has(nodeId) ? yCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId);\n }\n });\n _position = _position / component.length;\n component.forEach(function (nodeId) {\n positionMap.set(nodeId, _position);\n });\n }\n });\n }\n\n // calculate positions of the nodes\n\n var _loop = function _loop() {\n var currentNode = queue.shift();\n var neighbors = graph.get(currentNode);\n neighbors.forEach(function (neighbor) {\n if (positionMap.get(neighbor.id) < positionMap.get(currentNode) + neighbor.gap) {\n if (fixedNodes && fixedNodes.has(neighbor.id)) {\n var fixedPosition = void 0;\n if (direction == \"horizontal\") {\n fixedPosition = nodeIndexes.has(neighbor.id) ? xCoords[nodeIndexes.get(neighbor.id)] : dummyPositions.get(neighbor.id);\n } else {\n fixedPosition = nodeIndexes.has(neighbor.id) ? yCoords[nodeIndexes.get(neighbor.id)] : dummyPositions.get(neighbor.id);\n }\n positionMap.set(neighbor.id, fixedPosition); // TODO: may do unnecessary work\n if (fixedPosition < positionMap.get(currentNode) + neighbor.gap) {\n var diff = positionMap.get(currentNode) + neighbor.gap - fixedPosition;\n pastMap.get(currentNode).forEach(function (nodeId) {\n positionMap.set(nodeId, positionMap.get(nodeId) - diff);\n });\n }\n } else {\n positionMap.set(neighbor.id, positionMap.get(currentNode) + neighbor.gap);\n }\n }\n inDegrees.set(neighbor.id, inDegrees.get(neighbor.id) - 1);\n if (inDegrees.get(neighbor.id) == 0) {\n queue.push(neighbor.id);\n }\n if (fixedNodes) {\n pastMap.set(neighbor.id, setUnion(pastMap.get(currentNode), pastMap.get(neighbor.id)));\n }\n });\n };\n\n while (queue.length != 0) {\n _loop();\n }\n\n // readjust position of the nodes after enforcement\n if (fixedNodes) {\n // find indegree count for each node\n var sinkNodes = new Set();\n\n graph.forEach(function (value, key) {\n if (value.length == 0) {\n sinkNodes.add(key);\n }\n });\n\n var _components = [];\n pastMap.forEach(function (value, key) {\n if (sinkNodes.has(key)) {\n var isFixedComponent = false;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = value[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var nodeId = _step2.value;\n\n if (fixedNodes.has(nodeId)) {\n isFixedComponent = true;\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n if (!isFixedComponent) {\n var isExist = false;\n var existAt = void 0;\n _components.forEach(function (component, index) {\n if (component.has([].concat(_toConsumableArray(value))[0])) {\n isExist = true;\n existAt = index;\n }\n });\n if (!isExist) {\n _components.push(new Set(value));\n } else {\n value.forEach(function (ele) {\n _components[existAt].add(ele);\n });\n }\n }\n }\n });\n\n _components.forEach(function (component, index) {\n var minBefore = Number.POSITIVE_INFINITY;\n var minAfter = Number.POSITIVE_INFINITY;\n var maxBefore = Number.NEGATIVE_INFINITY;\n var maxAfter = Number.NEGATIVE_INFINITY;\n\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = component[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var nodeId = _step3.value;\n\n var posBefore = void 0;\n if (direction == \"horizontal\") {\n posBefore = nodeIndexes.has(nodeId) ? xCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId);\n } else {\n posBefore = nodeIndexes.has(nodeId) ? yCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId);\n }\n var posAfter = positionMap.get(nodeId);\n if (posBefore < minBefore) {\n minBefore = posBefore;\n }\n if (posBefore > maxBefore) {\n maxBefore = posBefore;\n }\n if (posAfter < minAfter) {\n minAfter = posAfter;\n }\n if (posAfter > maxAfter) {\n maxAfter = posAfter;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n var diff = (minBefore + maxBefore) / 2 - (minAfter + maxAfter) / 2;\n\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = component[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var _nodeId = _step4.value;\n\n positionMap.set(_nodeId, positionMap.get(_nodeId) + diff);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n });\n }\n\n return positionMap;\n };\n\n // find transformation based on rel. placement constraints if there are both alignment and rel. placement constraints\n // or if there are only rel. placement contraints where the largest component isn't sufficiently large\n var applyReflectionForRelativePlacement = function applyReflectionForRelativePlacement(relativePlacementConstraints) {\n // variables to count votes\n var reflectOnY = 0,\n notReflectOnY = 0;\n var reflectOnX = 0,\n notReflectOnX = 0;\n\n relativePlacementConstraints.forEach(function (constraint) {\n if (constraint.left) {\n xCoords[nodeIndexes.get(constraint.left)] - xCoords[nodeIndexes.get(constraint.right)] >= 0 ? reflectOnY++ : notReflectOnY++;\n } else {\n yCoords[nodeIndexes.get(constraint.top)] - yCoords[nodeIndexes.get(constraint.bottom)] >= 0 ? reflectOnX++ : notReflectOnX++;\n }\n });\n\n if (reflectOnY > notReflectOnY && reflectOnX > notReflectOnX) {\n for (var _i = 0; _i < nodeIndexes.size; _i++) {\n xCoords[_i] = -1 * xCoords[_i];\n yCoords[_i] = -1 * yCoords[_i];\n }\n } else if (reflectOnY > notReflectOnY) {\n for (var _i2 = 0; _i2 < nodeIndexes.size; _i2++) {\n xCoords[_i2] = -1 * xCoords[_i2];\n }\n } else if (reflectOnX > notReflectOnX) {\n for (var _i3 = 0; _i3 < nodeIndexes.size; _i3++) {\n yCoords[_i3] = -1 * yCoords[_i3];\n }\n }\n };\n\n // find weakly connected components in undirected graph\n var findComponents = function findComponents(graph) {\n // find weakly connected components in dag\n var components = [];\n var queue = new LinkedList();\n var visited = new Set();\n var count = 0;\n\n graph.forEach(function (value, key) {\n if (!visited.has(key)) {\n components[count] = [];\n var _currentNode = key;\n queue.push(_currentNode);\n visited.add(_currentNode);\n components[count].push(_currentNode);\n\n while (queue.length != 0) {\n _currentNode = queue.shift();\n var neighbors = graph.get(_currentNode);\n neighbors.forEach(function (neighbor) {\n if (!visited.has(neighbor.id)) {\n queue.push(neighbor.id);\n visited.add(neighbor.id);\n components[count].push(neighbor.id);\n }\n });\n }\n count++;\n }\n });\n return components;\n };\n\n // return undirected version of given dag\n var dagToUndirected = function dagToUndirected(dag) {\n var undirected = new Map();\n\n dag.forEach(function (value, key) {\n undirected.set(key, []);\n });\n\n dag.forEach(function (value, key) {\n value.forEach(function (adjacent) {\n undirected.get(key).push(adjacent);\n undirected.get(adjacent.id).push({ id: key, gap: adjacent.gap, direction: adjacent.direction });\n });\n });\n\n return undirected;\n };\n\n // return reversed (directions inverted) version of given dag\n var dagToReversed = function dagToReversed(dag) {\n var reversed = new Map();\n\n dag.forEach(function (value, key) {\n reversed.set(key, []);\n });\n\n dag.forEach(function (value, key) {\n value.forEach(function (adjacent) {\n reversed.get(adjacent.id).push({ id: key, gap: adjacent.gap, direction: adjacent.direction });\n });\n });\n\n return reversed;\n };\n\n /**** apply transformation to the initial draft layout to better align with constrained nodes ****/\n // solve the Orthogonal Procrustean Problem to rotate and/or reflect initial draft layout\n // here we follow the solution in Chapter 20.2 of Borg, I. & Groenen, P. (2005) Modern Multidimensional Scaling: Theory and Applications \n\n /* construct source and target configurations */\n\n var targetMatrix = []; // A - target configuration\n var sourceMatrix = []; // B - source configuration \n var standardTransformation = false; // false for no transformation, true for standart (Procrustes) transformation (rotation and/or reflection)\n var reflectionType = false; // false/true for reflection check, 'reflectOnX', 'reflectOnY' or 'reflectOnBoth' for reflection type if necessary\n var fixedNodes = new Set();\n var dag = new Map(); // adjacency list to keep directed acyclic graph (dag) that consists of relative placement constraints\n var dagUndirected = new Map(); // undirected version of the dag\n var components = []; // weakly connected components\n\n // fill fixedNodes collection to use later\n if (constraints.fixedNodeConstraint) {\n constraints.fixedNodeConstraint.forEach(function (nodeData) {\n fixedNodes.add(nodeData.nodeId);\n });\n }\n\n // construct dag from relative placement constraints \n if (constraints.relativePlacementConstraint) {\n // construct both directed and undirected version of the dag\n constraints.relativePlacementConstraint.forEach(function (constraint) {\n if (constraint.left) {\n if (dag.has(constraint.left)) {\n dag.get(constraint.left).push({ id: constraint.right, gap: constraint.gap, direction: \"horizontal\" });\n } else {\n dag.set(constraint.left, [{ id: constraint.right, gap: constraint.gap, direction: \"horizontal\" }]);\n }\n if (!dag.has(constraint.right)) {\n dag.set(constraint.right, []);\n }\n } else {\n if (dag.has(constraint.top)) {\n dag.get(constraint.top).push({ id: constraint.bottom, gap: constraint.gap, direction: \"vertical\" });\n } else {\n dag.set(constraint.top, [{ id: constraint.bottom, gap: constraint.gap, direction: \"vertical\" }]);\n }\n if (!dag.has(constraint.bottom)) {\n dag.set(constraint.bottom, []);\n }\n }\n });\n\n dagUndirected = dagToUndirected(dag);\n components = findComponents(dagUndirected);\n }\n\n if (CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING) {\n // first check fixed node constraint\n if (constraints.fixedNodeConstraint && constraints.fixedNodeConstraint.length > 1) {\n constraints.fixedNodeConstraint.forEach(function (nodeData, i) {\n targetMatrix[i] = [nodeData.position.x, nodeData.position.y];\n sourceMatrix[i] = [xCoords[nodeIndexes.get(nodeData.nodeId)], yCoords[nodeIndexes.get(nodeData.nodeId)]];\n });\n standardTransformation = true;\n } else if (constraints.alignmentConstraint) {\n (function () {\n // then check alignment constraint\n var count = 0;\n if (constraints.alignmentConstraint.vertical) {\n var verticalAlign = constraints.alignmentConstraint.vertical;\n\n var _loop2 = function _loop2(_i4) {\n var alignmentSet = new Set();\n verticalAlign[_i4].forEach(function (nodeId) {\n alignmentSet.add(nodeId);\n });\n var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) {\n return fixedNodes.has(x);\n }));\n var xPos = void 0;\n if (intersection.size > 0) xPos = xCoords[nodeIndexes.get(intersection.values().next().value)];else xPos = calculateAvgPosition(alignmentSet).x;\n\n verticalAlign[_i4].forEach(function (nodeId) {\n targetMatrix[count] = [xPos, yCoords[nodeIndexes.get(nodeId)]];\n sourceMatrix[count] = [xCoords[nodeIndexes.get(nodeId)], yCoords[nodeIndexes.get(nodeId)]];\n count++;\n });\n };\n\n for (var _i4 = 0; _i4 < verticalAlign.length; _i4++) {\n _loop2(_i4);\n }\n standardTransformation = true;\n }\n if (constraints.alignmentConstraint.horizontal) {\n var horizontalAlign = constraints.alignmentConstraint.horizontal;\n\n var _loop3 = function _loop3(_i5) {\n var alignmentSet = new Set();\n horizontalAlign[_i5].forEach(function (nodeId) {\n alignmentSet.add(nodeId);\n });\n var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) {\n return fixedNodes.has(x);\n }));\n var yPos = void 0;\n if (intersection.size > 0) yPos = xCoords[nodeIndexes.get(intersection.values().next().value)];else yPos = calculateAvgPosition(alignmentSet).y;\n\n horizontalAlign[_i5].forEach(function (nodeId) {\n targetMatrix[count] = [xCoords[nodeIndexes.get(nodeId)], yPos];\n sourceMatrix[count] = [xCoords[nodeIndexes.get(nodeId)], yCoords[nodeIndexes.get(nodeId)]];\n count++;\n });\n };\n\n for (var _i5 = 0; _i5 < horizontalAlign.length; _i5++) {\n _loop3(_i5);\n }\n standardTransformation = true;\n }\n if (constraints.relativePlacementConstraint) {\n reflectionType = true;\n }\n })();\n } else if (constraints.relativePlacementConstraint) {\n // finally check relative placement constraint\n // find largest component in dag\n var largestComponentSize = 0;\n var largestComponentIndex = 0;\n for (var _i6 = 0; _i6 < components.length; _i6++) {\n if (components[_i6].length > largestComponentSize) {\n largestComponentSize = components[_i6].length;\n largestComponentIndex = _i6;\n }\n }\n // if largest component isn't dominant, then take the votes for reflection\n if (largestComponentSize < dagUndirected.size / 2) {\n applyReflectionForRelativePlacement(constraints.relativePlacementConstraint);\n standardTransformation = false;\n reflectionType = false;\n } else {\n // use largest component for transformation\n // construct horizontal and vertical subgraphs in the largest component\n var subGraphOnHorizontal = new Map();\n var subGraphOnVertical = new Map();\n var constraintsInlargestComponent = [];\n\n components[largestComponentIndex].forEach(function (nodeId) {\n dag.get(nodeId).forEach(function (adjacent) {\n if (adjacent.direction == \"horizontal\") {\n if (subGraphOnHorizontal.has(nodeId)) {\n subGraphOnHorizontal.get(nodeId).push(adjacent);\n } else {\n subGraphOnHorizontal.set(nodeId, [adjacent]);\n }\n if (!subGraphOnHorizontal.has(adjacent.id)) {\n subGraphOnHorizontal.set(adjacent.id, []);\n }\n constraintsInlargestComponent.push({ left: nodeId, right: adjacent.id });\n } else {\n if (subGraphOnVertical.has(nodeId)) {\n subGraphOnVertical.get(nodeId).push(adjacent);\n } else {\n subGraphOnVertical.set(nodeId, [adjacent]);\n }\n if (!subGraphOnVertical.has(adjacent.id)) {\n subGraphOnVertical.set(adjacent.id, []);\n }\n constraintsInlargestComponent.push({ top: nodeId, bottom: adjacent.id });\n }\n });\n });\n\n applyReflectionForRelativePlacement(constraintsInlargestComponent);\n reflectionType = false;\n\n // calculate appropriate positioning for subgraphs\n var positionMapHorizontal = findAppropriatePositionForRelativePlacement(subGraphOnHorizontal, \"horizontal\");\n var positionMapVertical = findAppropriatePositionForRelativePlacement(subGraphOnVertical, \"vertical\");\n\n // construct source and target configuration\n components[largestComponentIndex].forEach(function (nodeId, i) {\n sourceMatrix[i] = [xCoords[nodeIndexes.get(nodeId)], yCoords[nodeIndexes.get(nodeId)]];\n targetMatrix[i] = [];\n if (positionMapHorizontal.has(nodeId)) {\n targetMatrix[i][0] = positionMapHorizontal.get(nodeId);\n } else {\n targetMatrix[i][0] = xCoords[nodeIndexes.get(nodeId)];\n }\n if (positionMapVertical.has(nodeId)) {\n targetMatrix[i][1] = positionMapVertical.get(nodeId);\n } else {\n targetMatrix[i][1] = yCoords[nodeIndexes.get(nodeId)];\n }\n });\n\n standardTransformation = true;\n }\n }\n\n // if transformation is required, then calculate and apply transformation matrix\n if (standardTransformation) {\n /* calculate transformation matrix */\n var transformationMatrix = void 0;\n var targetMatrixTranspose = Matrix.transpose(targetMatrix); // A'\n var sourceMatrixTranspose = Matrix.transpose(sourceMatrix); // B'\n\n // centralize transpose matrices\n for (var _i7 = 0; _i7 < targetMatrixTranspose.length; _i7++) {\n targetMatrixTranspose[_i7] = Matrix.multGamma(targetMatrixTranspose[_i7]);\n sourceMatrixTranspose[_i7] = Matrix.multGamma(sourceMatrixTranspose[_i7]);\n }\n\n // do actual calculation for transformation matrix\n var tempMatrix = Matrix.multMat(targetMatrixTranspose, Matrix.transpose(sourceMatrixTranspose)); // tempMatrix = A'B\n var SVDResult = SVD.svd(tempMatrix); // SVD(A'B) = USV', svd function returns U, S and V \n transformationMatrix = Matrix.multMat(SVDResult.V, Matrix.transpose(SVDResult.U)); // transformationMatrix = T = VU'\n\n /* apply found transformation matrix to obtain final draft layout */\n for (var _i8 = 0; _i8 < nodeIndexes.size; _i8++) {\n var temp1 = [xCoords[_i8], yCoords[_i8]];\n var temp2 = [transformationMatrix[0][0], transformationMatrix[1][0]];\n var temp3 = [transformationMatrix[0][1], transformationMatrix[1][1]];\n xCoords[_i8] = Matrix.dotProduct(temp1, temp2);\n yCoords[_i8] = Matrix.dotProduct(temp1, temp3);\n }\n\n // applied only both alignment and rel. placement constraints exist\n if (reflectionType) {\n applyReflectionForRelativePlacement(constraints.relativePlacementConstraint);\n }\n }\n }\n\n if (CoSEConstants.ENFORCE_CONSTRAINTS) {\n /**** enforce constraints on the transformed draft layout ****/\n\n /* first enforce fixed node constraint */\n\n if (constraints.fixedNodeConstraint && constraints.fixedNodeConstraint.length > 0) {\n var translationAmount = { x: 0, y: 0 };\n constraints.fixedNodeConstraint.forEach(function (nodeData, i) {\n var posInTheory = { x: xCoords[nodeIndexes.get(nodeData.nodeId)], y: yCoords[nodeIndexes.get(nodeData.nodeId)] };\n var posDesired = nodeData.position;\n var posDiff = calculatePositionDiff(posDesired, posInTheory);\n translationAmount.x += posDiff.x;\n translationAmount.y += posDiff.y;\n });\n translationAmount.x /= constraints.fixedNodeConstraint.length;\n translationAmount.y /= constraints.fixedNodeConstraint.length;\n\n xCoords.forEach(function (value, i) {\n xCoords[i] += translationAmount.x;\n });\n\n yCoords.forEach(function (value, i) {\n yCoords[i] += translationAmount.y;\n });\n\n constraints.fixedNodeConstraint.forEach(function (nodeData) {\n xCoords[nodeIndexes.get(nodeData.nodeId)] = nodeData.position.x;\n yCoords[nodeIndexes.get(nodeData.nodeId)] = nodeData.position.y;\n });\n }\n\n /* then enforce alignment constraint */\n\n if (constraints.alignmentConstraint) {\n if (constraints.alignmentConstraint.vertical) {\n var xAlign = constraints.alignmentConstraint.vertical;\n\n var _loop4 = function _loop4(_i9) {\n var alignmentSet = new Set();\n xAlign[_i9].forEach(function (nodeId) {\n alignmentSet.add(nodeId);\n });\n var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) {\n return fixedNodes.has(x);\n }));\n var xPos = void 0;\n if (intersection.size > 0) xPos = xCoords[nodeIndexes.get(intersection.values().next().value)];else xPos = calculateAvgPosition(alignmentSet).x;\n\n alignmentSet.forEach(function (nodeId) {\n if (!fixedNodes.has(nodeId)) xCoords[nodeIndexes.get(nodeId)] = xPos;\n });\n };\n\n for (var _i9 = 0; _i9 < xAlign.length; _i9++) {\n _loop4(_i9);\n }\n }\n if (constraints.alignmentConstraint.horizontal) {\n var yAlign = constraints.alignmentConstraint.horizontal;\n\n var _loop5 = function _loop5(_i10) {\n var alignmentSet = new Set();\n yAlign[_i10].forEach(function (nodeId) {\n alignmentSet.add(nodeId);\n });\n var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) {\n return fixedNodes.has(x);\n }));\n var yPos = void 0;\n if (intersection.size > 0) yPos = yCoords[nodeIndexes.get(intersection.values().next().value)];else yPos = calculateAvgPosition(alignmentSet).y;\n\n alignmentSet.forEach(function (nodeId) {\n if (!fixedNodes.has(nodeId)) yCoords[nodeIndexes.get(nodeId)] = yPos;\n });\n };\n\n for (var _i10 = 0; _i10 < yAlign.length; _i10++) {\n _loop5(_i10);\n }\n }\n }\n\n /* finally enforce relative placement constraint */\n\n if (constraints.relativePlacementConstraint) {\n (function () {\n var nodeToDummyForVerticalAlignment = new Map();\n var nodeToDummyForHorizontalAlignment = new Map();\n var dummyToNodeForVerticalAlignment = new Map();\n var dummyToNodeForHorizontalAlignment = new Map();\n var dummyPositionsForVerticalAlignment = new Map();\n var dummyPositionsForHorizontalAlignment = new Map();\n var fixedNodesOnHorizontal = new Set();\n var fixedNodesOnVertical = new Set();\n\n // fill maps and sets \n fixedNodes.forEach(function (nodeId) {\n fixedNodesOnHorizontal.add(nodeId);\n fixedNodesOnVertical.add(nodeId);\n });\n\n if (constraints.alignmentConstraint) {\n if (constraints.alignmentConstraint.vertical) {\n var verticalAlignment = constraints.alignmentConstraint.vertical;\n\n var _loop6 = function _loop6(_i11) {\n dummyToNodeForVerticalAlignment.set(\"dummy\" + _i11, []);\n verticalAlignment[_i11].forEach(function (nodeId) {\n nodeToDummyForVerticalAlignment.set(nodeId, \"dummy\" + _i11);\n dummyToNodeForVerticalAlignment.get(\"dummy\" + _i11).push(nodeId);\n if (fixedNodes.has(nodeId)) {\n fixedNodesOnHorizontal.add(\"dummy\" + _i11);\n }\n });\n dummyPositionsForVerticalAlignment.set(\"dummy\" + _i11, xCoords[nodeIndexes.get(verticalAlignment[_i11][0])]);\n };\n\n for (var _i11 = 0; _i11 < verticalAlignment.length; _i11++) {\n _loop6(_i11);\n }\n }\n if (constraints.alignmentConstraint.horizontal) {\n var horizontalAlignment = constraints.alignmentConstraint.horizontal;\n\n var _loop7 = function _loop7(_i12) {\n dummyToNodeForHorizontalAlignment.set(\"dummy\" + _i12, []);\n horizontalAlignment[_i12].forEach(function (nodeId) {\n nodeToDummyForHorizontalAlignment.set(nodeId, \"dummy\" + _i12);\n dummyToNodeForHorizontalAlignment.get(\"dummy\" + _i12).push(nodeId);\n if (fixedNodes.has(nodeId)) {\n fixedNodesOnVertical.add(\"dummy\" + _i12);\n }\n });\n dummyPositionsForHorizontalAlignment.set(\"dummy\" + _i12, yCoords[nodeIndexes.get(horizontalAlignment[_i12][0])]);\n };\n\n for (var _i12 = 0; _i12 < horizontalAlignment.length; _i12++) {\n _loop7(_i12);\n }\n }\n }\n\n // construct horizontal and vertical dags (subgraphs) from overall dag\n var dagOnHorizontal = new Map();\n var dagOnVertical = new Map();\n\n var _loop8 = function _loop8(nodeId) {\n dag.get(nodeId).forEach(function (adjacent) {\n var sourceId = void 0;\n var targetNode = void 0;\n if (adjacent[\"direction\"] == \"horizontal\") {\n sourceId = nodeToDummyForVerticalAlignment.get(nodeId) ? nodeToDummyForVerticalAlignment.get(nodeId) : nodeId;\n if (nodeToDummyForVerticalAlignment.get(adjacent.id)) {\n targetNode = { id: nodeToDummyForVerticalAlignment.get(adjacent.id), gap: adjacent.gap, direction: adjacent.direction };\n } else {\n targetNode = adjacent;\n }\n if (dagOnHorizontal.has(sourceId)) {\n dagOnHorizontal.get(sourceId).push(targetNode);\n } else {\n dagOnHorizontal.set(sourceId, [targetNode]);\n }\n if (!dagOnHorizontal.has(targetNode.id)) {\n dagOnHorizontal.set(targetNode.id, []);\n }\n } else {\n sourceId = nodeToDummyForHorizontalAlignment.get(nodeId) ? nodeToDummyForHorizontalAlignment.get(nodeId) : nodeId;\n if (nodeToDummyForHorizontalAlignment.get(adjacent.id)) {\n targetNode = { id: nodeToDummyForHorizontalAlignment.get(adjacent.id), gap: adjacent.gap, direction: adjacent.direction };\n } else {\n targetNode = adjacent;\n }\n if (dagOnVertical.has(sourceId)) {\n dagOnVertical.get(sourceId).push(targetNode);\n } else {\n dagOnVertical.set(sourceId, [targetNode]);\n }\n if (!dagOnVertical.has(targetNode.id)) {\n dagOnVertical.set(targetNode.id, []);\n }\n }\n });\n };\n\n var _iteratorNormalCompletion5 = true;\n var _didIteratorError5 = false;\n var _iteratorError5 = undefined;\n\n try {\n for (var _iterator5 = dag.keys()[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n var nodeId = _step5.value;\n\n _loop8(nodeId);\n }\n\n // find source nodes of each component in horizontal and vertical dags\n } catch (err) {\n _didIteratorError5 = true;\n _iteratorError5 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion5 && _iterator5.return) {\n _iterator5.return();\n }\n } finally {\n if (_didIteratorError5) {\n throw _iteratorError5;\n }\n }\n }\n\n var undirectedOnHorizontal = dagToUndirected(dagOnHorizontal);\n var undirectedOnVertical = dagToUndirected(dagOnVertical);\n var componentsOnHorizontal = findComponents(undirectedOnHorizontal);\n var componentsOnVertical = findComponents(undirectedOnVertical);\n var reversedDagOnHorizontal = dagToReversed(dagOnHorizontal);\n var reversedDagOnVertical = dagToReversed(dagOnVertical);\n var componentSourcesOnHorizontal = [];\n var componentSourcesOnVertical = [];\n\n componentsOnHorizontal.forEach(function (component, index) {\n componentSourcesOnHorizontal[index] = [];\n component.forEach(function (nodeId) {\n if (reversedDagOnHorizontal.get(nodeId).length == 0) {\n componentSourcesOnHorizontal[index].push(nodeId);\n }\n });\n });\n\n componentsOnVertical.forEach(function (component, index) {\n componentSourcesOnVertical[index] = [];\n component.forEach(function (nodeId) {\n if (reversedDagOnVertical.get(nodeId).length == 0) {\n componentSourcesOnVertical[index].push(nodeId);\n }\n });\n });\n\n // calculate appropriate positioning for subgraphs\n var positionMapHorizontal = findAppropriatePositionForRelativePlacement(dagOnHorizontal, \"horizontal\", fixedNodesOnHorizontal, dummyPositionsForVerticalAlignment, componentSourcesOnHorizontal);\n var positionMapVertical = findAppropriatePositionForRelativePlacement(dagOnVertical, \"vertical\", fixedNodesOnVertical, dummyPositionsForHorizontalAlignment, componentSourcesOnVertical);\n\n // update positions of the nodes based on relative placement constraints\n\n var _loop9 = function _loop9(key) {\n if (dummyToNodeForVerticalAlignment.get(key)) {\n dummyToNodeForVerticalAlignment.get(key).forEach(function (nodeId) {\n xCoords[nodeIndexes.get(nodeId)] = positionMapHorizontal.get(key);\n });\n } else {\n xCoords[nodeIndexes.get(key)] = positionMapHorizontal.get(key);\n }\n };\n\n var _iteratorNormalCompletion6 = true;\n var _didIteratorError6 = false;\n var _iteratorError6 = undefined;\n\n try {\n for (var _iterator6 = positionMapHorizontal.keys()[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {\n var key = _step6.value;\n\n _loop9(key);\n }\n } catch (err) {\n _didIteratorError6 = true;\n _iteratorError6 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion6 && _iterator6.return) {\n _iterator6.return();\n }\n } finally {\n if (_didIteratorError6) {\n throw _iteratorError6;\n }\n }\n }\n\n var _loop10 = function _loop10(key) {\n if (dummyToNodeForHorizontalAlignment.get(key)) {\n dummyToNodeForHorizontalAlignment.get(key).forEach(function (nodeId) {\n yCoords[nodeIndexes.get(nodeId)] = positionMapVertical.get(key);\n });\n } else {\n yCoords[nodeIndexes.get(key)] = positionMapVertical.get(key);\n }\n };\n\n var _iteratorNormalCompletion7 = true;\n var _didIteratorError7 = false;\n var _iteratorError7 = undefined;\n\n try {\n for (var _iterator7 = positionMapVertical.keys()[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {\n var key = _step7.value;\n\n _loop10(key);\n }\n } catch (err) {\n _didIteratorError7 = true;\n _iteratorError7 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion7 && _iterator7.return) {\n _iterator7.return();\n }\n } finally {\n if (_didIteratorError7) {\n throw _iteratorError7;\n }\n }\n }\n })();\n }\n }\n\n // assign new coordinates to nodes after constraint handling\n for (var _i13 = 0; _i13 < allNodes.length; _i13++) {\n var _node = allNodes[_i13];\n if (_node.getChild() == null) {\n _node.setCenter(xCoords[nodeIndexes.get(_node.id)], yCoords[nodeIndexes.get(_node.id)]);\n }\n }\n};\n\nmodule.exports = ConstraintHandler;\n\n/***/ }),\n\n/***/ 551:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__551__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(45);\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", + "(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"cose-base\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"cose-base\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cytoscapeFcose\"] = factory(require(\"cose-base\"));\n\telse\n\t\troot[\"cytoscapeFcose\"] = factory(root[\"coseBase\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__140__) {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 658:\n/***/ ((module) => {\n\n\n\n// Simple, internal Object.assign() polyfill for options objects etc.\n\nmodule.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) {\n for (var _len = arguments.length, srcs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n srcs[_key - 1] = arguments[_key];\n }\n\n srcs.forEach(function (src) {\n Object.keys(src).forEach(function (k) {\n return tgt[k] = src[k];\n });\n });\n\n return tgt;\n};\n\n/***/ }),\n\n/***/ 548:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/*\n * Auxiliary functions\n */\n\nvar LinkedList = __webpack_require__(140).layoutBase.LinkedList;\n\nvar auxiliary = {};\n\n// get the top most nodes\nauxiliary.getTopMostNodes = function (nodes) {\n var nodesMap = {};\n for (var i = 0; i < nodes.length; i++) {\n nodesMap[nodes[i].id()] = true;\n }\n var roots = nodes.filter(function (ele, i) {\n if (typeof ele === \"number\") {\n ele = i;\n }\n var parent = ele.parent()[0];\n while (parent != null) {\n if (nodesMap[parent.id()]) {\n return false;\n }\n parent = parent.parent()[0];\n }\n return true;\n });\n\n return roots;\n};\n\n// find disconnected components and create dummy nodes that connect them\nauxiliary.connectComponents = function (cy, eles, topMostNodes, dummyNodes) {\n var queue = new LinkedList();\n var visited = new Set();\n var visitedTopMostNodes = [];\n var currentNeighbor = void 0;\n var minDegreeNode = void 0;\n var minDegree = void 0;\n\n var isConnected = false;\n var count = 1;\n var nodesConnectedToDummy = [];\n var components = [];\n\n var _loop = function _loop() {\n var cmpt = cy.collection();\n components.push(cmpt);\n\n var currentNode = topMostNodes[0];\n var childrenOfCurrentNode = cy.collection();\n childrenOfCurrentNode.merge(currentNode).merge(currentNode.descendants().intersection(eles));\n visitedTopMostNodes.push(currentNode);\n\n childrenOfCurrentNode.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n cmpt.merge(node);\n });\n\n var _loop2 = function _loop2() {\n currentNode = queue.shift();\n\n // Traverse all neighbors of this node\n var neighborNodes = cy.collection();\n currentNode.neighborhood().nodes().forEach(function (node) {\n if (eles.intersection(currentNode.edgesWith(node)).length > 0) {\n neighborNodes.merge(node);\n }\n });\n\n for (var i = 0; i < neighborNodes.length; i++) {\n var neighborNode = neighborNodes[i];\n currentNeighbor = topMostNodes.intersection(neighborNode.union(neighborNode.ancestors()));\n if (currentNeighbor != null && !visited.has(currentNeighbor[0])) {\n var childrenOfNeighbor = currentNeighbor.union(currentNeighbor.descendants());\n\n childrenOfNeighbor.forEach(function (node) {\n queue.push(node);\n visited.add(node);\n cmpt.merge(node);\n if (topMostNodes.has(node)) {\n visitedTopMostNodes.push(node);\n }\n });\n }\n }\n };\n\n while (queue.length != 0) {\n _loop2();\n }\n\n cmpt.forEach(function (node) {\n eles.intersection(node.connectedEdges()).forEach(function (e) {\n // connectedEdges() usually cached\n if (cmpt.has(e.source()) && cmpt.has(e.target())) {\n // has() is cheap\n cmpt.merge(e);\n }\n });\n });\n\n if (visitedTopMostNodes.length == topMostNodes.length) {\n isConnected = true;\n }\n\n if (!isConnected || isConnected && count > 1) {\n minDegreeNode = visitedTopMostNodes[0];\n minDegree = minDegreeNode.connectedEdges().length;\n visitedTopMostNodes.forEach(function (node) {\n if (node.connectedEdges().length < minDegree) {\n minDegree = node.connectedEdges().length;\n minDegreeNode = node;\n }\n });\n nodesConnectedToDummy.push(minDegreeNode.id());\n // TO DO: Check efficiency of this part\n var temp = cy.collection();\n temp.merge(visitedTopMostNodes[0]);\n visitedTopMostNodes.forEach(function (node) {\n temp.merge(node);\n });\n visitedTopMostNodes = [];\n topMostNodes = topMostNodes.difference(temp);\n count++;\n }\n };\n\n do {\n _loop();\n } while (!isConnected);\n\n if (dummyNodes) {\n if (nodesConnectedToDummy.length > 0) {\n dummyNodes.set('dummy' + (dummyNodes.size + 1), nodesConnectedToDummy);\n }\n }\n return components;\n};\n\n// relocates componentResult to originalCenter if there is no fixedNodeConstraint\nauxiliary.relocateComponent = function (originalCenter, componentResult, options) {\n if (!options.fixedNodeConstraint) {\n var minXCoord = Number.POSITIVE_INFINITY;\n var maxXCoord = Number.NEGATIVE_INFINITY;\n var minYCoord = Number.POSITIVE_INFINITY;\n var maxYCoord = Number.NEGATIVE_INFINITY;\n if (options.quality == \"draft\") {\n // calculate current bounding box\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = componentResult.nodeIndexes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ref = _step.value;\n\n var _ref2 = _slicedToArray(_ref, 2);\n\n var key = _ref2[0];\n var value = _ref2[1];\n\n var cyNode = options.cy.getElementById(key);\n if (cyNode) {\n var nodeBB = cyNode.boundingBox();\n var leftX = componentResult.xCoords[value] - nodeBB.w / 2;\n var rightX = componentResult.xCoords[value] + nodeBB.w / 2;\n var topY = componentResult.yCoords[value] - nodeBB.h / 2;\n var bottomY = componentResult.yCoords[value] + nodeBB.h / 2;\n\n if (leftX < minXCoord) minXCoord = leftX;\n if (rightX > maxXCoord) maxXCoord = rightX;\n if (topY < minYCoord) minYCoord = topY;\n if (bottomY > maxYCoord) maxYCoord = bottomY;\n }\n }\n // find difference between current and original center\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var diffOnX = originalCenter.x - (maxXCoord + minXCoord) / 2;\n var diffOnY = originalCenter.y - (maxYCoord + minYCoord) / 2;\n // move component to original center\n componentResult.xCoords = componentResult.xCoords.map(function (x) {\n return x + diffOnX;\n });\n componentResult.yCoords = componentResult.yCoords.map(function (y) {\n return y + diffOnY;\n });\n } else {\n // calculate current bounding box\n Object.keys(componentResult).forEach(function (item) {\n var node = componentResult[item];\n var leftX = node.getRect().x;\n var rightX = node.getRect().x + node.getRect().width;\n var topY = node.getRect().y;\n var bottomY = node.getRect().y + node.getRect().height;\n\n if (leftX < minXCoord) minXCoord = leftX;\n if (rightX > maxXCoord) maxXCoord = rightX;\n if (topY < minYCoord) minYCoord = topY;\n if (bottomY > maxYCoord) maxYCoord = bottomY;\n });\n // find difference between current and original center\n var _diffOnX = originalCenter.x - (maxXCoord + minXCoord) / 2;\n var _diffOnY = originalCenter.y - (maxYCoord + minYCoord) / 2;\n // move component to original center\n Object.keys(componentResult).forEach(function (item) {\n var node = componentResult[item];\n node.setCenter(node.getCenterX() + _diffOnX, node.getCenterY() + _diffOnY);\n });\n }\n }\n};\n\nauxiliary.calcBoundingBox = function (parentNode, xCoords, yCoords, nodeIndexes) {\n // calculate bounds\n var left = Number.MAX_SAFE_INTEGER;\n var right = Number.MIN_SAFE_INTEGER;\n var top = Number.MAX_SAFE_INTEGER;\n var bottom = Number.MIN_SAFE_INTEGER;\n var nodeLeft = void 0;\n var nodeRight = void 0;\n var nodeTop = void 0;\n var nodeBottom = void 0;\n\n var nodes = parentNode.descendants().not(\":parent\");\n var s = nodes.length;\n for (var i = 0; i < s; i++) {\n var node = nodes[i];\n\n nodeLeft = xCoords[nodeIndexes.get(node.id())] - node.width() / 2;\n nodeRight = xCoords[nodeIndexes.get(node.id())] + node.width() / 2;\n nodeTop = yCoords[nodeIndexes.get(node.id())] - node.height() / 2;\n nodeBottom = yCoords[nodeIndexes.get(node.id())] + node.height() / 2;\n\n if (left > nodeLeft) {\n left = nodeLeft;\n }\n\n if (right < nodeRight) {\n right = nodeRight;\n }\n\n if (top > nodeTop) {\n top = nodeTop;\n }\n\n if (bottom < nodeBottom) {\n bottom = nodeBottom;\n }\n }\n\n var boundingBox = {};\n boundingBox.topLeftX = left;\n boundingBox.topLeftY = top;\n boundingBox.width = right - left;\n boundingBox.height = bottom - top;\n return boundingBox;\n};\n\n// This function finds and returns parent nodes whose all children are hidden\nauxiliary.calcParentsWithoutChildren = function (cy, eles) {\n var parentsWithoutChildren = cy.collection();\n eles.nodes(':parent').forEach(function (parent) {\n var check = false;\n parent.children().forEach(function (child) {\n if (child.css('display') != 'none') {\n check = true;\n }\n });\n if (!check) {\n parentsWithoutChildren.merge(parent);\n }\n });\n\n return parentsWithoutChildren;\n};\n\nmodule.exports = auxiliary;\n\n/***/ }),\n\n/***/ 816:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\n/**\n The implementation of the postprocessing part that applies CoSE layout over the spectral layout\n*/\n\nvar aux = __webpack_require__(548);\nvar CoSELayout = __webpack_require__(140).CoSELayout;\nvar CoSENode = __webpack_require__(140).CoSENode;\nvar PointD = __webpack_require__(140).layoutBase.PointD;\nvar DimensionD = __webpack_require__(140).layoutBase.DimensionD;\nvar LayoutConstants = __webpack_require__(140).layoutBase.LayoutConstants;\nvar FDLayoutConstants = __webpack_require__(140).layoutBase.FDLayoutConstants;\nvar CoSEConstants = __webpack_require__(140).CoSEConstants;\n\n// main function that cose layout is processed\nvar coseLayout = function coseLayout(options, spectralResult) {\n\n var cy = options.cy;\n var eles = options.eles;\n var nodes = eles.nodes();\n var edges = eles.edges();\n\n var nodeIndexes = void 0;\n var xCoords = void 0;\n var yCoords = void 0;\n var idToLNode = {};\n\n if (options.randomize) {\n nodeIndexes = spectralResult[\"nodeIndexes\"];\n xCoords = spectralResult[\"xCoords\"];\n yCoords = spectralResult[\"yCoords\"];\n }\n\n var isFn = function isFn(fn) {\n return typeof fn === 'function';\n };\n\n var optFn = function optFn(opt, ele) {\n if (isFn(opt)) {\n return opt(ele);\n } else {\n return opt;\n }\n };\n\n /**** Postprocessing functions ****/\n\n var parentsWithoutChildren = aux.calcParentsWithoutChildren(cy, eles);\n\n // transfer cytoscape nodes to cose nodes\n var processChildrenList = function processChildrenList(parent, children, layout, options) {\n var size = children.length;\n for (var i = 0; i < size; i++) {\n var theChild = children[i];\n var children_of_children = null;\n if (theChild.intersection(parentsWithoutChildren).length == 0) {\n children_of_children = theChild.children();\n }\n var theNode = void 0;\n\n var dimensions = theChild.layoutDimensions({\n nodeDimensionsIncludeLabels: options.nodeDimensionsIncludeLabels\n });\n\n if (theChild.outerWidth() != null && theChild.outerHeight() != null) {\n if (options.randomize) {\n if (!theChild.isParent()) {\n theNode = parent.add(new CoSENode(layout.graphManager, new PointD(xCoords[nodeIndexes.get(theChild.id())] - dimensions.w / 2, yCoords[nodeIndexes.get(theChild.id())] - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))));\n } else {\n var parentInfo = aux.calcBoundingBox(theChild, xCoords, yCoords, nodeIndexes);\n if (theChild.intersection(parentsWithoutChildren).length == 0) {\n theNode = parent.add(new CoSENode(layout.graphManager, new PointD(parentInfo.topLeftX, parentInfo.topLeftY), new DimensionD(parentInfo.width, parentInfo.height)));\n } else {\n // for the parentsWithoutChildren\n theNode = parent.add(new CoSENode(layout.graphManager, new PointD(parentInfo.topLeftX, parentInfo.topLeftY), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))));\n }\n }\n } else {\n theNode = parent.add(new CoSENode(layout.graphManager, new PointD(theChild.position('x') - dimensions.w / 2, theChild.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))));\n }\n } else {\n theNode = parent.add(new CoSENode(this.graphManager));\n }\n // Attach id to the layout node and repulsion value\n theNode.id = theChild.data(\"id\");\n theNode.nodeRepulsion = optFn(options.nodeRepulsion, theChild);\n // Attach the paddings of cy node to layout node\n theNode.paddingLeft = parseInt(theChild.css('padding'));\n theNode.paddingTop = parseInt(theChild.css('padding'));\n theNode.paddingRight = parseInt(theChild.css('padding'));\n theNode.paddingBottom = parseInt(theChild.css('padding'));\n\n //Attach the label properties to both compound and simple nodes if labels will be included in node dimensions\n //These properties will be used while updating bounds of compounds during iterations or tiling\n //and will be used for simple nodes while transferring final positions to cytoscape\n if (options.nodeDimensionsIncludeLabels) {\n theNode.labelWidth = theChild.boundingBox({ includeLabels: true, includeNodes: false, includeOverlays: false }).w;\n theNode.labelHeight = theChild.boundingBox({ includeLabels: true, includeNodes: false, includeOverlays: false }).h;\n theNode.labelPosVertical = theChild.css(\"text-valign\");\n theNode.labelPosHorizontal = theChild.css(\"text-halign\");\n }\n\n // Map the layout node\n idToLNode[theChild.data(\"id\")] = theNode;\n\n if (isNaN(theNode.rect.x)) {\n theNode.rect.x = 0;\n }\n\n if (isNaN(theNode.rect.y)) {\n theNode.rect.y = 0;\n }\n\n if (children_of_children != null && children_of_children.length > 0) {\n var theNewGraph = void 0;\n theNewGraph = layout.getGraphManager().add(layout.newGraph(), theNode);\n processChildrenList(theNewGraph, children_of_children, layout, options);\n }\n }\n };\n\n // transfer cytoscape edges to cose edges\n var processEdges = function processEdges(layout, gm, edges) {\n var idealLengthTotal = 0;\n var edgeCount = 0;\n for (var i = 0; i < edges.length; i++) {\n var edge = edges[i];\n var sourceNode = idToLNode[edge.data(\"source\")];\n var targetNode = idToLNode[edge.data(\"target\")];\n if (sourceNode && targetNode && sourceNode !== targetNode && sourceNode.getEdgesBetween(targetNode).length == 0) {\n var e1 = gm.add(layout.newEdge(), sourceNode, targetNode);\n e1.id = edge.id();\n e1.idealLength = optFn(options.idealEdgeLength, edge);\n e1.edgeElasticity = optFn(options.edgeElasticity, edge);\n idealLengthTotal += e1.idealLength;\n edgeCount++;\n }\n }\n // we need to update the ideal edge length constant with the avg. ideal length value after processing edges\n // in case there is no edge, use other options\n if (options.idealEdgeLength != null) {\n if (edgeCount > 0) CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = idealLengthTotal / edgeCount;else if (!isFn(options.idealEdgeLength)) // in case there is no edge, but option gives a value to use\n CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = options.idealEdgeLength;else // in case there is no edge and we cannot get a value from option (because it's a function)\n CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = 50;\n // we need to update these constant values based on the ideal edge length constant\n CoSEConstants.MIN_REPULSION_DIST = FDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10.0;\n CoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH;\n }\n };\n\n // transfer cytoscape constraints to cose layout\n var processConstraints = function processConstraints(layout, options) {\n // get nodes to be fixed\n if (options.fixedNodeConstraint) {\n layout.constraints[\"fixedNodeConstraint\"] = options.fixedNodeConstraint;\n }\n // get nodes to be aligned\n if (options.alignmentConstraint) {\n layout.constraints[\"alignmentConstraint\"] = options.alignmentConstraint;\n }\n // get nodes to be relatively placed\n if (options.relativePlacementConstraint) {\n layout.constraints[\"relativePlacementConstraint\"] = options.relativePlacementConstraint;\n }\n };\n\n /**** Apply postprocessing ****/\n if (options.nestingFactor != null) CoSEConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = options.nestingFactor;\n if (options.gravity != null) CoSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options.gravity;\n if (options.numIter != null) CoSEConstants.MAX_ITERATIONS = FDLayoutConstants.MAX_ITERATIONS = options.numIter;\n if (options.gravityRange != null) CoSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options.gravityRange;\n if (options.gravityCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = options.gravityCompound;\n if (options.gravityRangeCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = options.gravityRangeCompound;\n if (options.initialEnergyOnIncremental != null) CoSEConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = options.initialEnergyOnIncremental;\n\n if (options.tilingCompareBy != null) CoSEConstants.TILING_COMPARE_BY = options.tilingCompareBy;\n\n if (options.quality == 'proof') LayoutConstants.QUALITY = 2;else LayoutConstants.QUALITY = 0;\n\n CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS = FDLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = options.nodeDimensionsIncludeLabels;\n CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = !options.randomize;\n CoSEConstants.ANIMATE = FDLayoutConstants.ANIMATE = LayoutConstants.ANIMATE = options.animate;\n CoSEConstants.TILE = options.tile;\n CoSEConstants.TILING_PADDING_VERTICAL = typeof options.tilingPaddingVertical === 'function' ? options.tilingPaddingVertical.call() : options.tilingPaddingVertical;\n CoSEConstants.TILING_PADDING_HORIZONTAL = typeof options.tilingPaddingHorizontal === 'function' ? options.tilingPaddingHorizontal.call() : options.tilingPaddingHorizontal;\n\n CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = true;\n CoSEConstants.PURE_INCREMENTAL = !options.randomize;\n LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = options.uniformNodeDimensions;\n\n // This part is for debug/demo purpose\n if (options.step == \"transformed\") {\n CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = true;\n CoSEConstants.ENFORCE_CONSTRAINTS = false;\n CoSEConstants.APPLY_LAYOUT = false;\n }\n if (options.step == \"enforced\") {\n CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = false;\n CoSEConstants.ENFORCE_CONSTRAINTS = true;\n CoSEConstants.APPLY_LAYOUT = false;\n }\n if (options.step == \"cose\") {\n CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = false;\n CoSEConstants.ENFORCE_CONSTRAINTS = false;\n CoSEConstants.APPLY_LAYOUT = true;\n }\n if (options.step == \"all\") {\n if (options.randomize) CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = true;else CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = false;\n CoSEConstants.ENFORCE_CONSTRAINTS = true;\n CoSEConstants.APPLY_LAYOUT = true;\n }\n\n if (options.fixedNodeConstraint || options.alignmentConstraint || options.relativePlacementConstraint) {\n CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = false;\n } else {\n CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = true;\n }\n\n var coseLayout = new CoSELayout();\n var gm = coseLayout.newGraphManager();\n\n processChildrenList(gm.addRoot(), aux.getTopMostNodes(nodes), coseLayout, options);\n processEdges(coseLayout, gm, edges);\n processConstraints(coseLayout, options);\n\n coseLayout.runLayout();\n\n return idToLNode;\n};\n\nmodule.exports = { coseLayout: coseLayout };\n\n/***/ }),\n\n/***/ 212:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n The implementation of the fcose layout algorithm\n*/\n\nvar assign = __webpack_require__(658);\nvar aux = __webpack_require__(548);\n\nvar _require = __webpack_require__(657),\n spectralLayout = _require.spectralLayout;\n\nvar _require2 = __webpack_require__(816),\n coseLayout = _require2.coseLayout;\n\nvar defaults = Object.freeze({\n\n // 'draft', 'default' or 'proof' \n // - 'draft' only applies spectral layout \n // - 'default' improves the quality with subsequent CoSE layout (fast cooling rate)\n // - 'proof' improves the quality with subsequent CoSE layout (slow cooling rate) \n quality: \"default\",\n // Use random node positions at beginning of layout\n // if this is set to false, then quality option must be \"proof\"\n randomize: true,\n // Whether or not to animate the layout\n animate: true,\n // Duration of animation in ms, if enabled\n animationDuration: 1000,\n // Easing of animation, if enabled\n animationEasing: undefined,\n // Fit the viewport to the repositioned nodes\n fit: true,\n // Padding around layout\n padding: 30,\n // Whether to include labels in node dimensions. Valid in \"proof\" quality\n nodeDimensionsIncludeLabels: false,\n // Whether or not simple nodes (non-compound nodes) are of uniform dimensions\n uniformNodeDimensions: false,\n // Whether to pack disconnected components - valid only if randomize: true\n packComponents: true,\n // Layout step - all, transformed, enforced, cose - for debug purpose only\n step: \"all\",\n\n /* spectral layout options */\n\n // False for random, true for greedy\n samplingType: true,\n // Sample size to construct distance matrix\n sampleSize: 25,\n // Separation amount between nodes\n nodeSeparation: 75,\n // Power iteration tolerance\n piTol: 0.0000001,\n\n /* CoSE layout options */\n\n // Node repulsion (non overlapping) multiplier\n nodeRepulsion: function nodeRepulsion(node) {\n return 4500;\n },\n // Ideal edge (non nested) length\n idealEdgeLength: function idealEdgeLength(edge) {\n return 50;\n },\n // Divisor to compute edge forces\n edgeElasticity: function edgeElasticity(edge) {\n return 0.45;\n },\n // Nesting factor (multiplier) to compute ideal edge length for nested edges\n nestingFactor: 0.1,\n // Gravity force (constant)\n gravity: 0.25,\n // Maximum number of iterations to perform\n numIter: 2500,\n // For enabling tiling\n tile: true,\n // The function that specifies the criteria for comparing nodes while sorting them during tiling operation.\n // Takes the node id as a parameter and the default tiling operation is perfomed when this option is not set.\n tilingCompareBy: undefined,\n // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingVertical: 10,\n // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function)\n tilingPaddingHorizontal: 10,\n // Gravity range (constant) for compounds\n gravityRangeCompound: 1.5,\n // Gravity force (constant) for compounds\n gravityCompound: 1.0,\n // Gravity range (constant)\n gravityRange: 3.8,\n // Initial cooling factor for incremental layout \n initialEnergyOnIncremental: 0.3,\n\n /* constraint options */\n\n // Fix required nodes to predefined positions\n // [{nodeId: 'n1', position: {x: 100, y: 200}, {...}]\n fixedNodeConstraint: undefined,\n // Align required nodes in vertical/horizontal direction\n // {vertical: [['n1', 'n2')], ['n3', 'n4']], horizontal: ['n2', 'n4']}\n alignmentConstraint: undefined,\n // Place two nodes relatively in vertical/horizontal direction \n // [{top: 'n1', bottom: 'n2', gap: 100}, {left: 'n3', right: 'n4', gap: 75}]\n relativePlacementConstraint: undefined,\n\n /* layout event callbacks */\n ready: function ready() {}, // on layoutready\n stop: function stop() {} // on layoutstop\n});\n\nvar Layout = function () {\n function Layout(options) {\n _classCallCheck(this, Layout);\n\n this.options = assign({}, defaults, options);\n }\n\n _createClass(Layout, [{\n key: 'run',\n value: function run() {\n var layout = this;\n var options = this.options;\n var cy = options.cy;\n var eles = options.eles;\n\n var spectralResult = [];\n var xCoords = void 0;\n var yCoords = void 0;\n var coseResult = [];\n var components = void 0;\n var componentCenters = [];\n\n // basic validity check for constraint inputs \n if (options.fixedNodeConstraint && (!Array.isArray(options.fixedNodeConstraint) || options.fixedNodeConstraint.length == 0)) {\n options.fixedNodeConstraint = undefined;\n }\n\n if (options.alignmentConstraint) {\n if (options.alignmentConstraint.vertical && (!Array.isArray(options.alignmentConstraint.vertical) || options.alignmentConstraint.vertical.length == 0)) {\n options.alignmentConstraint.vertical = undefined;\n }\n if (options.alignmentConstraint.horizontal && (!Array.isArray(options.alignmentConstraint.horizontal) || options.alignmentConstraint.horizontal.length == 0)) {\n options.alignmentConstraint.horizontal = undefined;\n }\n }\n\n if (options.relativePlacementConstraint && (!Array.isArray(options.relativePlacementConstraint) || options.relativePlacementConstraint.length == 0)) {\n options.relativePlacementConstraint = undefined;\n }\n\n // if any constraint exists, set some options\n var constraintExist = options.fixedNodeConstraint || options.alignmentConstraint || options.relativePlacementConstraint;\n if (constraintExist) {\n // constraints work with these options\n options.tile = false;\n options.packComponents = false;\n }\n\n // decide component packing is enabled or not\n var layUtil = void 0;\n var packingEnabled = false;\n if (cy.layoutUtilities && options.packComponents) {\n layUtil = cy.layoutUtilities(\"get\");\n if (!layUtil) layUtil = cy.layoutUtilities();\n packingEnabled = true;\n }\n\n if (eles.nodes().length > 0) {\n // if packing is not enabled, perform layout on the whole graph\n if (!packingEnabled) {\n // store component center\n var boundingBox = options.eles.boundingBox();\n componentCenters.push({ x: boundingBox.x1 + boundingBox.w / 2, y: boundingBox.y1 + boundingBox.h / 2 });\n // apply spectral layout\n if (options.randomize) {\n var result = spectralLayout(options);\n spectralResult.push(result);\n }\n // apply cose layout as postprocessing\n if (options.quality == \"default\" || options.quality == \"proof\") {\n coseResult.push(coseLayout(options, spectralResult[0]));\n aux.relocateComponent(componentCenters[0], coseResult[0], options); // relocate center to original position\n } else {\n aux.relocateComponent(componentCenters[0], spectralResult[0], options); // relocate center to original position\n }\n } else {\n // packing is enabled\n var topMostNodes = aux.getTopMostNodes(options.eles.nodes());\n components = aux.connectComponents(cy, options.eles, topMostNodes);\n // store component centers\n components.forEach(function (component) {\n var boundingBox = component.boundingBox();\n componentCenters.push({ x: boundingBox.x1 + boundingBox.w / 2, y: boundingBox.y1 + boundingBox.h / 2 });\n });\n\n //send each component to spectral layout if randomized\n if (options.randomize) {\n components.forEach(function (component) {\n options.eles = component;\n spectralResult.push(spectralLayout(options));\n });\n }\n\n if (options.quality == \"default\" || options.quality == \"proof\") {\n var toBeTiledNodes = cy.collection();\n if (options.tile) {\n // behave nodes to be tiled as one component\n var nodeIndexes = new Map();\n var _xCoords = [];\n var _yCoords = [];\n var count = 0;\n var tempSpectralResult = { nodeIndexes: nodeIndexes, xCoords: _xCoords, yCoords: _yCoords };\n var indexesToBeDeleted = [];\n components.forEach(function (component, index) {\n if (component.edges().length == 0) {\n component.nodes().forEach(function (node, i) {\n toBeTiledNodes.merge(component.nodes()[i]);\n if (!node.isParent()) {\n tempSpectralResult.nodeIndexes.set(component.nodes()[i].id(), count++);\n tempSpectralResult.xCoords.push(component.nodes()[0].position().x);\n tempSpectralResult.yCoords.push(component.nodes()[0].position().y);\n }\n });\n indexesToBeDeleted.push(index);\n }\n });\n if (toBeTiledNodes.length > 1) {\n var _boundingBox = toBeTiledNodes.boundingBox();\n componentCenters.push({ x: _boundingBox.x1 + _boundingBox.w / 2, y: _boundingBox.y1 + _boundingBox.h / 2 });\n components.push(toBeTiledNodes);\n spectralResult.push(tempSpectralResult);\n for (var i = indexesToBeDeleted.length - 1; i >= 0; i--) {\n components.splice(indexesToBeDeleted[i], 1);\n spectralResult.splice(indexesToBeDeleted[i], 1);\n componentCenters.splice(indexesToBeDeleted[i], 1);\n };\n }\n }\n components.forEach(function (component, index) {\n // send each component to cose layout\n options.eles = component;\n coseResult.push(coseLayout(options, spectralResult[index]));\n aux.relocateComponent(componentCenters[index], coseResult[index], options); // relocate center to original position\n });\n } else {\n components.forEach(function (component, index) {\n aux.relocateComponent(componentCenters[index], spectralResult[index], options); // relocate center to original position\n });\n }\n\n // packing\n var componentsEvaluated = new Set();\n if (components.length > 1) {\n var subgraphs = [];\n var hiddenEles = eles.filter(function (ele) {\n return ele.css('display') == 'none';\n });\n components.forEach(function (component, index) {\n var nodeIndexes = void 0;\n if (options.quality == \"draft\") {\n nodeIndexes = spectralResult[index].nodeIndexes;\n }\n\n if (component.nodes().not(hiddenEles).length > 0) {\n var subgraph = {};\n subgraph.edges = [];\n subgraph.nodes = [];\n var nodeIndex = void 0;\n component.nodes().not(hiddenEles).forEach(function (node) {\n if (options.quality == \"draft\") {\n if (!node.isParent()) {\n nodeIndex = nodeIndexes.get(node.id());\n subgraph.nodes.push({ x: spectralResult[index].xCoords[nodeIndex] - node.boundingbox().w / 2, y: spectralResult[index].yCoords[nodeIndex] - node.boundingbox().h / 2, width: node.boundingbox().w, height: node.boundingbox().h });\n } else {\n var parentInfo = aux.calcBoundingBox(node, spectralResult[index].xCoords, spectralResult[index].yCoords, nodeIndexes);\n subgraph.nodes.push({ x: parentInfo.topLeftX, y: parentInfo.topLeftY, width: parentInfo.width, height: parentInfo.height });\n }\n } else {\n if (coseResult[index][node.id()]) {\n subgraph.nodes.push({ x: coseResult[index][node.id()].getLeft(), y: coseResult[index][node.id()].getTop(), width: coseResult[index][node.id()].getWidth(), height: coseResult[index][node.id()].getHeight() });\n }\n }\n });\n component.edges().forEach(function (edge) {\n var source = edge.source();\n var target = edge.target();\n if (source.css(\"display\") != \"none\" && target.css(\"display\") != \"none\") {\n if (options.quality == \"draft\") {\n var sourceNodeIndex = nodeIndexes.get(source.id());\n var targetNodeIndex = nodeIndexes.get(target.id());\n var sourceCenter = [];\n var targetCenter = [];\n if (source.isParent()) {\n var parentInfo = aux.calcBoundingBox(source, spectralResult[index].xCoords, spectralResult[index].yCoords, nodeIndexes);\n sourceCenter.push(parentInfo.topLeftX + parentInfo.width / 2);\n sourceCenter.push(parentInfo.topLeftY + parentInfo.height / 2);\n } else {\n sourceCenter.push(spectralResult[index].xCoords[sourceNodeIndex]);\n sourceCenter.push(spectralResult[index].yCoords[sourceNodeIndex]);\n }\n if (target.isParent()) {\n var _parentInfo = aux.calcBoundingBox(target, spectralResult[index].xCoords, spectralResult[index].yCoords, nodeIndexes);\n targetCenter.push(_parentInfo.topLeftX + _parentInfo.width / 2);\n targetCenter.push(_parentInfo.topLeftY + _parentInfo.height / 2);\n } else {\n targetCenter.push(spectralResult[index].xCoords[targetNodeIndex]);\n targetCenter.push(spectralResult[index].yCoords[targetNodeIndex]);\n }\n subgraph.edges.push({ startX: sourceCenter[0], startY: sourceCenter[1], endX: targetCenter[0], endY: targetCenter[1] });\n } else {\n if (coseResult[index][source.id()] && coseResult[index][target.id()]) {\n subgraph.edges.push({ startX: coseResult[index][source.id()].getCenterX(), startY: coseResult[index][source.id()].getCenterY(), endX: coseResult[index][target.id()].getCenterX(), endY: coseResult[index][target.id()].getCenterY() });\n }\n }\n }\n });\n if (subgraph.nodes.length > 0) {\n subgraphs.push(subgraph);\n componentsEvaluated.add(index);\n }\n }\n });\n var shiftResult = layUtil.packComponents(subgraphs, options.randomize).shifts;\n if (options.quality == \"draft\") {\n spectralResult.forEach(function (result, index) {\n var newXCoords = result.xCoords.map(function (x) {\n return x + shiftResult[index].dx;\n });\n var newYCoords = result.yCoords.map(function (y) {\n return y + shiftResult[index].dy;\n });\n result.xCoords = newXCoords;\n result.yCoords = newYCoords;\n });\n } else {\n var _count = 0;\n componentsEvaluated.forEach(function (index) {\n Object.keys(coseResult[index]).forEach(function (item) {\n var nodeRectangle = coseResult[index][item];\n nodeRectangle.setCenter(nodeRectangle.getCenterX() + shiftResult[_count].dx, nodeRectangle.getCenterY() + shiftResult[_count].dy);\n });\n _count++;\n });\n }\n }\n }\n }\n\n // get each element's calculated position\n var getPositions = function getPositions(ele, i) {\n if (options.quality == \"default\" || options.quality == \"proof\") {\n if (typeof ele === \"number\") {\n ele = i;\n }\n var pos = void 0;\n var node = void 0;\n var theId = ele.data('id');\n coseResult.forEach(function (result) {\n if (theId in result) {\n pos = { x: result[theId].getRect().getCenterX(), y: result[theId].getRect().getCenterY() };\n node = result[theId];\n }\n });\n if (options.nodeDimensionsIncludeLabels) {\n if (node.labelWidth) {\n if (node.labelPosHorizontal == \"left\") {\n pos.x += node.labelWidth / 2;\n } else if (node.labelPosHorizontal == \"right\") {\n pos.x -= node.labelWidth / 2;\n }\n }\n if (node.labelHeight) {\n if (node.labelPosVertical == \"top\") {\n pos.y += node.labelHeight / 2;\n } else if (node.labelPosVertical == \"bottom\") {\n pos.y -= node.labelHeight / 2;\n }\n }\n }\n if (pos == undefined) pos = { x: ele.position(\"x\"), y: ele.position(\"y\") };\n return {\n x: pos.x,\n y: pos.y\n };\n } else {\n var _pos = void 0;\n spectralResult.forEach(function (result) {\n var index = result.nodeIndexes.get(ele.id());\n if (index != undefined) {\n _pos = { x: result.xCoords[index], y: result.yCoords[index] };\n }\n });\n if (_pos == undefined) _pos = { x: ele.position(\"x\"), y: ele.position(\"y\") };\n return {\n x: _pos.x,\n y: _pos.y\n };\n }\n };\n\n // quality = \"draft\" and randomize = false are contradictive so in that case positions don't change\n if (options.quality == \"default\" || options.quality == \"proof\" || options.randomize) {\n // transfer calculated positions to nodes (positions of only simple nodes are evaluated, compounds are positioned automatically)\n var parentsWithoutChildren = aux.calcParentsWithoutChildren(cy, eles);\n var _hiddenEles = eles.filter(function (ele) {\n return ele.css('display') == 'none';\n });\n options.eles = eles.not(_hiddenEles);\n\n eles.nodes().not(\":parent\").not(_hiddenEles).layoutPositions(layout, options, getPositions);\n\n if (parentsWithoutChildren.length > 0) {\n parentsWithoutChildren.forEach(function (ele) {\n ele.position(getPositions(ele));\n });\n }\n } else {\n console.log(\"If randomize option is set to false, then quality option must be 'default' or 'proof'.\");\n }\n }\n }]);\n\n return Layout;\n}();\n\nmodule.exports = Layout;\n\n/***/ }),\n\n/***/ 657:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\n/**\n The implementation of the spectral layout that is the first part of the fcose layout algorithm\n*/\n\nvar aux = __webpack_require__(548);\nvar Matrix = __webpack_require__(140).layoutBase.Matrix;\nvar SVD = __webpack_require__(140).layoutBase.SVD;\n\n// main function that spectral layout is processed\nvar spectralLayout = function spectralLayout(options) {\n\n var cy = options.cy;\n var eles = options.eles;\n var nodes = eles.nodes();\n var parentNodes = eles.nodes(\":parent\");\n\n var dummyNodes = new Map(); // map to keep dummy nodes and their neighbors\n var nodeIndexes = new Map(); // map to keep indexes to nodes\n var parentChildMap = new Map(); // mapping btw. compound and its representative node \n var allNodesNeighborhood = []; // array to keep neighborhood of all nodes\n var xCoords = [];\n var yCoords = [];\n\n var samplesColumn = []; // sampled vertices\n var minDistancesColumn = [];\n var C = []; // column sampling matrix\n var PHI = []; // intersection of column and row sampling matrices \n var INV = []; // inverse of PHI \n\n var firstSample = void 0; // the first sampled node\n var nodeSize = void 0;\n\n var infinity = 100000000;\n var small = 0.000000001;\n\n var piTol = options.piTol;\n var samplingType = options.samplingType; // false for random, true for greedy\n var nodeSeparation = options.nodeSeparation;\n var sampleSize = void 0;\n\n /**** Spectral-preprocessing functions ****/\n\n /**** Spectral layout functions ****/\n\n // determine which columns to be sampled\n var randomSampleCR = function randomSampleCR() {\n var sample = 0;\n var count = 0;\n var flag = false;\n\n while (count < sampleSize) {\n sample = Math.floor(Math.random() * nodeSize);\n\n flag = false;\n for (var i = 0; i < count; i++) {\n if (samplesColumn[i] == sample) {\n flag = true;\n break;\n }\n }\n\n if (!flag) {\n samplesColumn[count] = sample;\n count++;\n } else {\n continue;\n }\n }\n };\n\n // takes the index of the node(pivot) to initiate BFS as a parameter\n var BFS = function BFS(pivot, index, samplingMethod) {\n var path = []; // the front of the path\n var front = 0; // the back of the path\n var back = 0;\n var current = 0;\n var temp = void 0;\n var distance = [];\n\n var max_dist = 0; // the furthest node to be returned\n var max_ind = 1;\n\n for (var i = 0; i < nodeSize; i++) {\n distance[i] = infinity;\n }\n\n path[back] = pivot;\n distance[pivot] = 0;\n\n while (back >= front) {\n current = path[front++];\n var neighbors = allNodesNeighborhood[current];\n for (var _i = 0; _i < neighbors.length; _i++) {\n temp = nodeIndexes.get(neighbors[_i]);\n if (distance[temp] == infinity) {\n distance[temp] = distance[current] + 1;\n path[++back] = temp;\n }\n }\n C[current][index] = distance[current] * nodeSeparation;\n }\n\n if (samplingMethod) {\n for (var _i2 = 0; _i2 < nodeSize; _i2++) {\n if (C[_i2][index] < minDistancesColumn[_i2]) minDistancesColumn[_i2] = C[_i2][index];\n }\n\n for (var _i3 = 0; _i3 < nodeSize; _i3++) {\n if (minDistancesColumn[_i3] > max_dist) {\n max_dist = minDistancesColumn[_i3];\n max_ind = _i3;\n }\n }\n }\n return max_ind;\n };\n\n // apply BFS to all nodes or selected samples\n var allBFS = function allBFS(samplingMethod) {\n\n var sample = void 0;\n\n if (!samplingMethod) {\n randomSampleCR();\n\n // call BFS\n for (var i = 0; i < sampleSize; i++) {\n BFS(samplesColumn[i], i, samplingMethod, false);\n }\n } else {\n sample = Math.floor(Math.random() * nodeSize);\n firstSample = sample;\n\n for (var _i4 = 0; _i4 < nodeSize; _i4++) {\n minDistancesColumn[_i4] = infinity;\n }\n\n for (var _i5 = 0; _i5 < sampleSize; _i5++) {\n samplesColumn[_i5] = sample;\n sample = BFS(sample, _i5, samplingMethod);\n }\n }\n\n // form the squared distances for C\n for (var _i6 = 0; _i6 < nodeSize; _i6++) {\n for (var j = 0; j < sampleSize; j++) {\n C[_i6][j] *= C[_i6][j];\n }\n }\n\n // form PHI\n for (var _i7 = 0; _i7 < sampleSize; _i7++) {\n PHI[_i7] = [];\n }\n\n for (var _i8 = 0; _i8 < sampleSize; _i8++) {\n for (var _j = 0; _j < sampleSize; _j++) {\n PHI[_i8][_j] = C[samplesColumn[_j]][_i8];\n }\n }\n };\n\n // perform the SVD algorithm and apply a regularization step\n var sample = function sample() {\n\n var SVDResult = SVD.svd(PHI);\n\n var a_q = SVDResult.S;\n var a_u = SVDResult.U;\n var a_v = SVDResult.V;\n\n var max_s = a_q[0] * a_q[0] * a_q[0];\n\n var a_Sig = [];\n\n // regularization\n for (var i = 0; i < sampleSize; i++) {\n a_Sig[i] = [];\n for (var j = 0; j < sampleSize; j++) {\n a_Sig[i][j] = 0;\n if (i == j) {\n a_Sig[i][j] = a_q[i] / (a_q[i] * a_q[i] + max_s / (a_q[i] * a_q[i]));\n }\n }\n }\n\n INV = Matrix.multMat(Matrix.multMat(a_v, a_Sig), Matrix.transpose(a_u));\n };\n\n // calculate final coordinates \n var powerIteration = function powerIteration() {\n // two largest eigenvalues\n var theta1 = void 0;\n var theta2 = void 0;\n\n // initial guesses for eigenvectors\n var Y1 = [];\n var Y2 = [];\n\n var V1 = [];\n var V2 = [];\n\n for (var i = 0; i < nodeSize; i++) {\n Y1[i] = Math.random();\n Y2[i] = Math.random();\n }\n\n Y1 = Matrix.normalize(Y1);\n Y2 = Matrix.normalize(Y2);\n\n var count = 0;\n // to keep track of the improvement ratio in power iteration\n var current = small;\n var previous = small;\n\n var temp = void 0;\n\n while (true) {\n count++;\n\n for (var _i9 = 0; _i9 < nodeSize; _i9++) {\n V1[_i9] = Y1[_i9];\n }\n\n Y1 = Matrix.multGamma(Matrix.multL(Matrix.multGamma(V1), C, INV));\n theta1 = Matrix.dotProduct(V1, Y1);\n Y1 = Matrix.normalize(Y1);\n\n current = Matrix.dotProduct(V1, Y1);\n\n temp = Math.abs(current / previous);\n\n if (temp <= 1 + piTol && temp >= 1) {\n break;\n }\n\n previous = current;\n }\n\n for (var _i10 = 0; _i10 < nodeSize; _i10++) {\n V1[_i10] = Y1[_i10];\n }\n\n count = 0;\n previous = small;\n while (true) {\n count++;\n\n for (var _i11 = 0; _i11 < nodeSize; _i11++) {\n V2[_i11] = Y2[_i11];\n }\n\n V2 = Matrix.minusOp(V2, Matrix.multCons(V1, Matrix.dotProduct(V1, V2)));\n Y2 = Matrix.multGamma(Matrix.multL(Matrix.multGamma(V2), C, INV));\n theta2 = Matrix.dotProduct(V2, Y2);\n Y2 = Matrix.normalize(Y2);\n\n current = Matrix.dotProduct(V2, Y2);\n\n temp = Math.abs(current / previous);\n\n if (temp <= 1 + piTol && temp >= 1) {\n break;\n }\n\n previous = current;\n }\n\n for (var _i12 = 0; _i12 < nodeSize; _i12++) {\n V2[_i12] = Y2[_i12];\n }\n\n // theta1 now contains dominant eigenvalue\n // theta2 now contains the second-largest eigenvalue\n // V1 now contains theta1's eigenvector\n // V2 now contains theta2's eigenvector\n\n //populate the two vectors\n xCoords = Matrix.multCons(V1, Math.sqrt(Math.abs(theta1)));\n yCoords = Matrix.multCons(V2, Math.sqrt(Math.abs(theta2)));\n };\n\n /**** Preparation for spectral layout (Preprocessing) ****/\n\n // connect disconnected components (first top level, then inside of each compound node)\n aux.connectComponents(cy, eles, aux.getTopMostNodes(nodes), dummyNodes);\n\n parentNodes.forEach(function (ele) {\n aux.connectComponents(cy, eles, aux.getTopMostNodes(ele.descendants().intersection(eles)), dummyNodes);\n });\n\n // assign indexes to nodes (first real, then dummy nodes)\n var index = 0;\n for (var i = 0; i < nodes.length; i++) {\n if (!nodes[i].isParent()) {\n nodeIndexes.set(nodes[i].id(), index++);\n }\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = dummyNodes.keys()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n\n nodeIndexes.set(key, index++);\n }\n\n // instantiate the neighborhood matrix\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n for (var _i13 = 0; _i13 < nodeIndexes.size; _i13++) {\n allNodesNeighborhood[_i13] = [];\n }\n\n // form a parent-child map to keep representative node of each compound node \n parentNodes.forEach(function (ele) {\n var children = ele.children().intersection(eles);\n\n // let random = 0;\n while (children.nodes(\":childless\").length == 0) {\n // random = Math.floor(Math.random() * children.nodes().length); // if all children are compound then proceed randomly\n children = children.nodes()[0].children().intersection(eles);\n }\n // select the representative node - we can apply different methods here\n // random = Math.floor(Math.random() * children.nodes(\":childless\").length);\n var index = 0;\n var min = children.nodes(\":childless\")[0].connectedEdges().length;\n children.nodes(\":childless\").forEach(function (ele2, i) {\n if (ele2.connectedEdges().length < min) {\n min = ele2.connectedEdges().length;\n index = i;\n }\n });\n parentChildMap.set(ele.id(), children.nodes(\":childless\")[index].id());\n });\n\n // add neighborhood relations (first real, then dummy nodes)\n nodes.forEach(function (ele) {\n var eleIndex = void 0;\n\n if (ele.isParent()) eleIndex = nodeIndexes.get(parentChildMap.get(ele.id()));else eleIndex = nodeIndexes.get(ele.id());\n\n ele.neighborhood().nodes().forEach(function (node) {\n if (eles.intersection(ele.edgesWith(node)).length > 0) {\n if (node.isParent()) allNodesNeighborhood[eleIndex].push(parentChildMap.get(node.id()));else allNodesNeighborhood[eleIndex].push(node.id());\n }\n });\n });\n\n var _loop = function _loop(_key) {\n var eleIndex = nodeIndexes.get(_key);\n var disconnectedId = void 0;\n dummyNodes.get(_key).forEach(function (id) {\n if (cy.getElementById(id).isParent()) disconnectedId = parentChildMap.get(id);else disconnectedId = id;\n\n allNodesNeighborhood[eleIndex].push(disconnectedId);\n allNodesNeighborhood[nodeIndexes.get(disconnectedId)].push(_key);\n });\n };\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = dummyNodes.keys()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _key = _step2.value;\n\n _loop(_key);\n }\n\n // nodeSize now only considers the size of transformed graph\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n nodeSize = nodeIndexes.size;\n\n var spectralResult = void 0;\n\n // If number of nodes in transformed graph is 1 or 2, either SVD or powerIteration causes problem\n // So skip spectral and layout the graph with cose\n if (nodeSize > 2) {\n // if # of nodes in transformed graph is smaller than sample size,\n // then use # of nodes as sample size\n sampleSize = nodeSize < options.sampleSize ? nodeSize : options.sampleSize;\n\n // instantiates the partial matrices that will be used in spectral layout\n for (var _i14 = 0; _i14 < nodeSize; _i14++) {\n C[_i14] = [];\n }\n for (var _i15 = 0; _i15 < sampleSize; _i15++) {\n INV[_i15] = [];\n }\n\n /**** Apply spectral layout ****/\n\n if (options.quality == \"draft\" || options.step == \"all\") {\n allBFS(samplingType);\n sample();\n powerIteration();\n\n spectralResult = { nodeIndexes: nodeIndexes, xCoords: xCoords, yCoords: yCoords };\n } else {\n nodeIndexes.forEach(function (value, key) {\n xCoords.push(cy.getElementById(key).position(\"x\"));\n yCoords.push(cy.getElementById(key).position(\"y\"));\n });\n spectralResult = { nodeIndexes: nodeIndexes, xCoords: xCoords, yCoords: yCoords };\n }\n return spectralResult;\n } else {\n var iterator = nodeIndexes.keys();\n var firstNode = cy.getElementById(iterator.next().value);\n var firstNodePos = firstNode.position();\n var firstNodeWidth = firstNode.outerWidth();\n xCoords.push(firstNodePos.x);\n yCoords.push(firstNodePos.y);\n if (nodeSize == 2) {\n var secondNode = cy.getElementById(iterator.next().value);\n var secondNodeWidth = secondNode.outerWidth();\n xCoords.push(firstNodePos.x + firstNodeWidth / 2 + secondNodeWidth / 2 + options.idealEdgeLength);\n yCoords.push(firstNodePos.y);\n }\n\n spectralResult = { nodeIndexes: nodeIndexes, xCoords: xCoords, yCoords: yCoords };\n return spectralResult;\n }\n};\n\nmodule.exports = { spectralLayout: spectralLayout };\n\n/***/ }),\n\n/***/ 579:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\n\nvar impl = __webpack_require__(212);\n\n// registers the extension on a cytoscape lib ref\nvar register = function register(cytoscape) {\n if (!cytoscape) {\n return;\n } // can't register if cytoscape unspecified\n\n cytoscape('layout', 'fcose', impl); // register with cytoscape.js\n};\n\nif (typeof cytoscape !== 'undefined') {\n // expose to global cytoscape (i.e. window.cytoscape)\n register(cytoscape);\n}\n\nmodule.exports = register;\n\n/***/ }),\n\n/***/ 140:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__140__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(579);\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});", + "import {\n getIconSVG,\n registerIconPacks,\n unknownIcon\n} from \"./chunk-H2D2JQ3I.mjs\";\nimport {\n createText\n} from \"./chunk-C3MQ5ANM.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BMEZGHF.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-XZIHB7SX.mjs\";\nimport \"./chunk-O4NI6UNU.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-7B677QYD.mjs\";\nimport {\n __name,\n clear,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle,\n setupGraphViewbox\n} from \"./chunk-YTJNT7DU.mjs\";\n\n// src/diagrams/architecture/architectureParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/architecture/architectureTypes.ts\nvar ArchitectureDirectionName = {\n L: \"left\",\n R: \"right\",\n T: \"top\",\n B: \"bottom\"\n};\nvar ArchitectureDirectionArrow = {\n L: /* @__PURE__ */ __name((scale) => `${scale},${scale / 2} 0,${scale} 0,0`, \"L\"),\n R: /* @__PURE__ */ __name((scale) => `0,${scale / 2} ${scale},0 ${scale},${scale}`, \"R\"),\n T: /* @__PURE__ */ __name((scale) => `0,0 ${scale},0 ${scale / 2},${scale}`, \"T\"),\n B: /* @__PURE__ */ __name((scale) => `${scale / 2},0 ${scale},${scale} 0,${scale}`, \"B\")\n};\nvar ArchitectureDirectionArrowShift = {\n L: /* @__PURE__ */ __name((orig, arrowSize) => orig - arrowSize + 2, \"L\"),\n R: /* @__PURE__ */ __name((orig, _arrowSize) => orig - 2, \"R\"),\n T: /* @__PURE__ */ __name((orig, arrowSize) => orig - arrowSize + 2, \"T\"),\n B: /* @__PURE__ */ __name((orig, _arrowSize) => orig - 2, \"B\")\n};\nvar getOppositeArchitectureDirection = /* @__PURE__ */ __name(function(x) {\n if (isArchitectureDirectionX(x)) {\n return x === \"L\" ? \"R\" : \"L\";\n } else {\n return x === \"T\" ? \"B\" : \"T\";\n }\n}, \"getOppositeArchitectureDirection\");\nvar isArchitectureDirection = /* @__PURE__ */ __name(function(x) {\n const temp = x;\n return temp === \"L\" || temp === \"R\" || temp === \"T\" || temp === \"B\";\n}, \"isArchitectureDirection\");\nvar isArchitectureDirectionX = /* @__PURE__ */ __name(function(x) {\n const temp = x;\n return temp === \"L\" || temp === \"R\";\n}, \"isArchitectureDirectionX\");\nvar isArchitectureDirectionY = /* @__PURE__ */ __name(function(x) {\n const temp = x;\n return temp === \"T\" || temp === \"B\";\n}, \"isArchitectureDirectionY\");\nvar isArchitectureDirectionXY = /* @__PURE__ */ __name(function(a, b) {\n const aX_bY = isArchitectureDirectionX(a) && isArchitectureDirectionY(b);\n const aY_bX = isArchitectureDirectionY(a) && isArchitectureDirectionX(b);\n return aX_bY || aY_bX;\n}, \"isArchitectureDirectionXY\");\nvar isArchitecturePairXY = /* @__PURE__ */ __name(function(pair) {\n const lhs = pair[0];\n const rhs = pair[1];\n const aX_bY = isArchitectureDirectionX(lhs) && isArchitectureDirectionY(rhs);\n const aY_bX = isArchitectureDirectionY(lhs) && isArchitectureDirectionX(rhs);\n return aX_bY || aY_bX;\n}, \"isArchitecturePairXY\");\nvar isValidArchitectureDirectionPair = /* @__PURE__ */ __name(function(x) {\n return x !== \"LL\" && x !== \"RR\" && x !== \"TT\" && x !== \"BB\";\n}, \"isValidArchitectureDirectionPair\");\nvar getArchitectureDirectionPair = /* @__PURE__ */ __name(function(sourceDir, targetDir) {\n const pair = `${sourceDir}${targetDir}`;\n return isValidArchitectureDirectionPair(pair) ? pair : void 0;\n}, \"getArchitectureDirectionPair\");\nvar shiftPositionByArchitectureDirectionPair = /* @__PURE__ */ __name(function([x, y], pair) {\n const lhs = pair[0];\n const rhs = pair[1];\n if (isArchitectureDirectionX(lhs)) {\n if (isArchitectureDirectionY(rhs)) {\n return [x + (lhs === \"L\" ? -1 : 1), y + (rhs === \"T\" ? 1 : -1)];\n } else {\n return [x + (lhs === \"L\" ? -1 : 1), y];\n }\n } else {\n if (isArchitectureDirectionX(rhs)) {\n return [x + (rhs === \"L\" ? 1 : -1), y + (lhs === \"T\" ? 1 : -1)];\n } else {\n return [x, y + (lhs === \"T\" ? 1 : -1)];\n }\n }\n}, \"shiftPositionByArchitectureDirectionPair\");\nvar getArchitectureDirectionXYFactors = /* @__PURE__ */ __name(function(pair) {\n if (pair === \"LT\" || pair === \"TL\") {\n return [1, 1];\n } else if (pair === \"BL\" || pair === \"LB\") {\n return [1, -1];\n } else if (pair === \"BR\" || pair === \"RB\") {\n return [-1, -1];\n } else {\n return [-1, 1];\n }\n}, \"getArchitectureDirectionXYFactors\");\nvar getArchitectureDirectionAlignment = /* @__PURE__ */ __name(function(a, b) {\n if (isArchitectureDirectionXY(a, b)) {\n return \"bend\";\n } else if (isArchitectureDirectionX(a)) {\n return \"horizontal\";\n }\n return \"vertical\";\n}, \"getArchitectureDirectionAlignment\");\nvar isArchitectureService = /* @__PURE__ */ __name(function(x) {\n const temp = x;\n return temp.type === \"service\";\n}, \"isArchitectureService\");\nvar isArchitectureJunction = /* @__PURE__ */ __name(function(x) {\n const temp = x;\n return temp.type === \"junction\";\n}, \"isArchitectureJunction\");\nvar edgeData = /* @__PURE__ */ __name((edge) => {\n return edge.data();\n}, \"edgeData\");\nvar nodeData = /* @__PURE__ */ __name((node) => {\n return node.data();\n}, \"nodeData\");\n\n// src/diagrams/architecture/architectureDb.ts\nvar DEFAULT_ARCHITECTURE_CONFIG = defaultConfig_default.architecture;\nvar state = new ImperativeState(() => ({\n nodes: {},\n groups: {},\n edges: [],\n registeredIds: {},\n config: DEFAULT_ARCHITECTURE_CONFIG,\n dataStructures: void 0,\n elements: {}\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar addService = /* @__PURE__ */ __name(function({\n id,\n icon,\n in: parent,\n title,\n iconText\n}) {\n if (state.records.registeredIds[id] !== void 0) {\n throw new Error(\n `The service id [${id}] is already in use by another ${state.records.registeredIds[id]}`\n );\n }\n if (parent !== void 0) {\n if (id === parent) {\n throw new Error(`The service [${id}] cannot be placed within itself`);\n }\n if (state.records.registeredIds[parent] === void 0) {\n throw new Error(\n `The service [${id}]'s parent does not exist. Please make sure the parent is created before this service`\n );\n }\n if (state.records.registeredIds[parent] === \"node\") {\n throw new Error(`The service [${id}]'s parent is not a group`);\n }\n }\n state.records.registeredIds[id] = \"node\";\n state.records.nodes[id] = {\n id,\n type: \"service\",\n icon,\n iconText,\n title,\n edges: [],\n in: parent\n };\n}, \"addService\");\nvar getServices = /* @__PURE__ */ __name(() => Object.values(state.records.nodes).filter(isArchitectureService), \"getServices\");\nvar addJunction = /* @__PURE__ */ __name(function({ id, in: parent }) {\n state.records.registeredIds[id] = \"node\";\n state.records.nodes[id] = {\n id,\n type: \"junction\",\n edges: [],\n in: parent\n };\n}, \"addJunction\");\nvar getJunctions = /* @__PURE__ */ __name(() => Object.values(state.records.nodes).filter(isArchitectureJunction), \"getJunctions\");\nvar getNodes = /* @__PURE__ */ __name(() => Object.values(state.records.nodes), \"getNodes\");\nvar getNode = /* @__PURE__ */ __name((id) => state.records.nodes[id], \"getNode\");\nvar addGroup = /* @__PURE__ */ __name(function({ id, icon, in: parent, title }) {\n if (state.records.registeredIds[id] !== void 0) {\n throw new Error(\n `The group id [${id}] is already in use by another ${state.records.registeredIds[id]}`\n );\n }\n if (parent !== void 0) {\n if (id === parent) {\n throw new Error(`The group [${id}] cannot be placed within itself`);\n }\n if (state.records.registeredIds[parent] === void 0) {\n throw new Error(\n `The group [${id}]'s parent does not exist. Please make sure the parent is created before this group`\n );\n }\n if (state.records.registeredIds[parent] === \"node\") {\n throw new Error(`The group [${id}]'s parent is not a group`);\n }\n }\n state.records.registeredIds[id] = \"group\";\n state.records.groups[id] = {\n id,\n icon,\n title,\n in: parent\n };\n}, \"addGroup\");\nvar getGroups = /* @__PURE__ */ __name(() => {\n return Object.values(state.records.groups);\n}, \"getGroups\");\nvar addEdge = /* @__PURE__ */ __name(function({\n lhsId,\n rhsId,\n lhsDir,\n rhsDir,\n lhsInto,\n rhsInto,\n lhsGroup,\n rhsGroup,\n title\n}) {\n if (!isArchitectureDirection(lhsDir)) {\n throw new Error(\n `Invalid direction given for left hand side of edge ${lhsId}--${rhsId}. Expected (L,R,T,B) got ${lhsDir}`\n );\n }\n if (!isArchitectureDirection(rhsDir)) {\n throw new Error(\n `Invalid direction given for right hand side of edge ${lhsId}--${rhsId}. Expected (L,R,T,B) got ${rhsDir}`\n );\n }\n if (state.records.nodes[lhsId] === void 0 && state.records.groups[lhsId] === void 0) {\n throw new Error(\n `The left-hand id [${lhsId}] does not yet exist. Please create the service/group before declaring an edge to it.`\n );\n }\n if (state.records.nodes[rhsId] === void 0 && state.records.groups[lhsId] === void 0) {\n throw new Error(\n `The right-hand id [${rhsId}] does not yet exist. Please create the service/group before declaring an edge to it.`\n );\n }\n const lhsGroupId = state.records.nodes[lhsId].in;\n const rhsGroupId = state.records.nodes[rhsId].in;\n if (lhsGroup && lhsGroupId && rhsGroupId && lhsGroupId == rhsGroupId) {\n throw new Error(\n `The left-hand id [${lhsId}] is modified to traverse the group boundary, but the edge does not pass through two groups.`\n );\n }\n if (rhsGroup && lhsGroupId && rhsGroupId && lhsGroupId == rhsGroupId) {\n throw new Error(\n `The right-hand id [${rhsId}] is modified to traverse the group boundary, but the edge does not pass through two groups.`\n );\n }\n const edge = {\n lhsId,\n lhsDir,\n lhsInto,\n lhsGroup,\n rhsId,\n rhsDir,\n rhsInto,\n rhsGroup,\n title\n };\n state.records.edges.push(edge);\n if (state.records.nodes[lhsId] && state.records.nodes[rhsId]) {\n state.records.nodes[lhsId].edges.push(state.records.edges[state.records.edges.length - 1]);\n state.records.nodes[rhsId].edges.push(state.records.edges[state.records.edges.length - 1]);\n }\n}, \"addEdge\");\nvar getEdges = /* @__PURE__ */ __name(() => state.records.edges, \"getEdges\");\nvar getDataStructures = /* @__PURE__ */ __name(() => {\n if (state.records.dataStructures === void 0) {\n const groupAlignments = {};\n const adjList = Object.entries(state.records.nodes).reduce((prevOuter, [id, service]) => {\n prevOuter[id] = service.edges.reduce((prevInner, edge) => {\n const lhsGroupId = getNode(edge.lhsId)?.in;\n const rhsGroupId = getNode(edge.rhsId)?.in;\n if (lhsGroupId && rhsGroupId && lhsGroupId !== rhsGroupId) {\n const alignment = getArchitectureDirectionAlignment(edge.lhsDir, edge.rhsDir);\n if (alignment !== \"bend\") {\n groupAlignments[lhsGroupId] ??= {};\n groupAlignments[lhsGroupId][rhsGroupId] = alignment;\n groupAlignments[rhsGroupId] ??= {};\n groupAlignments[rhsGroupId][lhsGroupId] = alignment;\n }\n }\n if (edge.lhsId === id) {\n const pair = getArchitectureDirectionPair(edge.lhsDir, edge.rhsDir);\n if (pair) {\n prevInner[pair] = edge.rhsId;\n }\n } else {\n const pair = getArchitectureDirectionPair(edge.rhsDir, edge.lhsDir);\n if (pair) {\n prevInner[pair] = edge.lhsId;\n }\n }\n return prevInner;\n }, {});\n return prevOuter;\n }, {});\n const firstId = Object.keys(adjList)[0];\n const visited = { [firstId]: 1 };\n const notVisited = Object.keys(adjList).reduce(\n (prev, id) => id === firstId ? prev : { ...prev, [id]: 1 },\n {}\n );\n const BFS = /* @__PURE__ */ __name((startingId) => {\n const spatialMap = { [startingId]: [0, 0] };\n const queue = [startingId];\n while (queue.length > 0) {\n const id = queue.shift();\n if (id) {\n visited[id] = 1;\n delete notVisited[id];\n const adj = adjList[id];\n const [posX, posY] = spatialMap[id];\n Object.entries(adj).forEach(([dir, rhsId]) => {\n if (!visited[rhsId]) {\n spatialMap[rhsId] = shiftPositionByArchitectureDirectionPair(\n [posX, posY],\n dir\n );\n queue.push(rhsId);\n }\n });\n }\n }\n return spatialMap;\n }, \"BFS\");\n const spatialMaps = [BFS(firstId)];\n while (Object.keys(notVisited).length > 0) {\n spatialMaps.push(BFS(Object.keys(notVisited)[0]));\n }\n state.records.dataStructures = {\n adjList,\n spatialMaps,\n groupAlignments\n };\n }\n return state.records.dataStructures;\n}, \"getDataStructures\");\nvar setElementForId = /* @__PURE__ */ __name((id, element) => {\n state.records.elements[id] = element;\n}, \"setElementForId\");\nvar getElementById = /* @__PURE__ */ __name((id) => state.records.elements[id], \"getElementById\");\nvar db = {\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addService,\n getServices,\n addJunction,\n getJunctions,\n getNodes,\n getNode,\n addGroup,\n getGroups,\n addEdge,\n getEdges,\n setElementForId,\n getElementById,\n getDataStructures\n};\nfunction getConfigField(field) {\n const arch = getConfig().architecture;\n if (arch?.[field]) {\n return arch[field];\n }\n return DEFAULT_ARCHITECTURE_CONFIG[field];\n}\n__name(getConfigField, \"getConfigField\");\n\n// src/diagrams/architecture/architectureParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n ast.groups.map(db2.addGroup);\n ast.services.map((service) => db2.addService({ ...service, type: \"service\" }));\n ast.junctions.map((service) => db2.addJunction({ ...service, type: \"junction\" }));\n ast.edges.map(db2.addEdge);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"architecture\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/architecture/architectureStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: ${options.archEdgeWidth};\n stroke: ${options.archEdgeColor};\n fill: none;\n }\n\n .arrow {\n fill: ${options.archEdgeArrowColor};\n }\n\n .node-bkg {\n fill: none;\n stroke: ${options.archGroupBorderColor};\n stroke-width: ${options.archGroupBorderWidth};\n stroke-dasharray: 8;\n }\n .node-icon-text {\n display: flex; \n align-items: center;\n }\n \n .node-icon-text > div {\n color: #fff;\n margin: 1px;\n height: fit-content;\n text-align: center;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n }\n`, \"getStyles\");\nvar architectureStyles_default = getStyles;\n\n// src/diagrams/architecture/architectureRenderer.ts\nimport cytoscape from \"cytoscape\";\nimport fcose from \"cytoscape-fcose\";\nimport { select } from \"d3\";\n\n// src/diagrams/architecture/architectureIcons.ts\nvar wrapIcon = /* @__PURE__ */ __name((icon) => {\n return `<g><rect width=\"80\" height=\"80\" style=\"fill: #087ebf; stroke-width: 0px;\"/>${icon}</g>`;\n}, \"wrapIcon\");\nvar architectureIcons = {\n prefix: \"mermaid-architecture\",\n height: 80,\n width: 80,\n icons: {\n database: {\n body: wrapIcon(\n '<path id=\"b\" data-name=\"4\" d=\"m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><path id=\"c\" data-name=\"3\" d=\"m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><path id=\"d\" data-name=\"2\" d=\"m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse id=\"e\" data-name=\"1\" cx=\"40\" cy=\"22.14\" rx=\"20\" ry=\"7.14\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"20\" y1=\"57.86\" x2=\"20\" y2=\"22.14\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"60\" y1=\"57.86\" x2=\"60\" y2=\"22.14\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/>'\n )\n },\n server: {\n body: wrapIcon(\n '<rect x=\"17.5\" y=\"17.5\" width=\"45\" height=\"45\" rx=\"2\" ry=\"2\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"17.5\" y1=\"32.5\" x2=\"62.5\" y2=\"32.5\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"17.5\" y1=\"47.5\" x2=\"62.5\" y2=\"47.5\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><g><path d=\"m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z\" style=\"fill: #fff; stroke-width: 0px;\"/><path d=\"m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10;\"/></g><g><path d=\"m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z\" style=\"fill: #fff; stroke-width: 0px;\"/><path d=\"m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10;\"/></g><g><path d=\"m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z\" style=\"fill: #fff; stroke-width: 0px;\"/><path d=\"m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10;\"/></g><g><circle cx=\"32.5\" cy=\"25\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/><circle cx=\"27.5\" cy=\"25\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/><circle cx=\"22.5\" cy=\"25\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/></g><g><circle cx=\"32.5\" cy=\"40\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/><circle cx=\"27.5\" cy=\"40\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/><circle cx=\"22.5\" cy=\"40\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/></g><g><circle cx=\"32.5\" cy=\"55\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/><circle cx=\"27.5\" cy=\"55\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/><circle cx=\"22.5\" cy=\"55\" r=\".75\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10;\"/></g>'\n )\n },\n disk: {\n body: wrapIcon(\n '<rect x=\"20\" y=\"15\" width=\"40\" height=\"50\" rx=\"1\" ry=\"1\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse cx=\"24\" cy=\"19.17\" rx=\".8\" ry=\".83\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse cx=\"56\" cy=\"19.17\" rx=\".8\" ry=\".83\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse cx=\"24\" cy=\"60.83\" rx=\".8\" ry=\".83\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse cx=\"56\" cy=\"60.83\" rx=\".8\" ry=\".83\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse cx=\"40\" cy=\"33.75\" rx=\"14\" ry=\"14.58\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><ellipse cx=\"40\" cy=\"33.75\" rx=\"4\" ry=\"4.17\" style=\"fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><path d=\"m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z\" style=\"fill: #fff; stroke-width: 0px;\"/>'\n )\n },\n internet: {\n body: wrapIcon(\n '<circle cx=\"40\" cy=\"40\" r=\"22.5\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"40\" y1=\"17.5\" x2=\"40\" y2=\"62.5\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"17.5\" y1=\"40\" x2=\"62.5\" y2=\"40\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><path d=\"m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><path d=\"m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"19.75\" y1=\"30.1\" x2=\"60.25\" y2=\"30.1\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/><line x1=\"19.75\" y1=\"49.9\" x2=\"60.25\" y2=\"49.9\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/>'\n )\n },\n cloud: {\n body: wrapIcon(\n '<path d=\"m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z\" style=\"fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;\"/>'\n )\n },\n unknown: unknownIcon,\n blank: {\n body: wrapIcon(\"\")\n }\n }\n};\n\n// src/diagrams/architecture/svgDraw.ts\nvar drawEdges = /* @__PURE__ */ __name(async function(edgesEl, cy) {\n const padding = getConfigField(\"padding\");\n const iconSize = getConfigField(\"iconSize\");\n const halfIconSize = iconSize / 2;\n const arrowSize = iconSize / 6;\n const halfArrowSize = arrowSize / 2;\n await Promise.all(\n cy.edges().map(async (edge) => {\n const {\n source,\n sourceDir,\n sourceArrow,\n sourceGroup,\n target,\n targetDir,\n targetArrow,\n targetGroup,\n label\n } = edgeData(edge);\n let { x: startX, y: startY } = edge[0].sourceEndpoint();\n const { x: midX, y: midY } = edge[0].midpoint();\n let { x: endX, y: endY } = edge[0].targetEndpoint();\n const groupEdgeShift = padding + 4;\n if (sourceGroup) {\n if (isArchitectureDirectionX(sourceDir)) {\n startX += sourceDir === \"L\" ? -groupEdgeShift : groupEdgeShift;\n } else {\n startY += sourceDir === \"T\" ? -groupEdgeShift : groupEdgeShift + 18;\n }\n }\n if (targetGroup) {\n if (isArchitectureDirectionX(targetDir)) {\n endX += targetDir === \"L\" ? -groupEdgeShift : groupEdgeShift;\n } else {\n endY += targetDir === \"T\" ? -groupEdgeShift : groupEdgeShift + 18;\n }\n }\n if (!sourceGroup && db.getNode(source)?.type === \"junction\") {\n if (isArchitectureDirectionX(sourceDir)) {\n startX += sourceDir === \"L\" ? halfIconSize : -halfIconSize;\n } else {\n startY += sourceDir === \"T\" ? halfIconSize : -halfIconSize;\n }\n }\n if (!targetGroup && db.getNode(target)?.type === \"junction\") {\n if (isArchitectureDirectionX(targetDir)) {\n endX += targetDir === \"L\" ? halfIconSize : -halfIconSize;\n } else {\n endY += targetDir === \"T\" ? halfIconSize : -halfIconSize;\n }\n }\n if (edge[0]._private.rscratch) {\n const g = edgesEl.insert(\"g\");\n g.insert(\"path\").attr(\"d\", `M ${startX},${startY} L ${midX},${midY} L${endX},${endY} `).attr(\"class\", \"edge\");\n if (sourceArrow) {\n const xShift = isArchitectureDirectionX(sourceDir) ? ArchitectureDirectionArrowShift[sourceDir](startX, arrowSize) : startX - halfArrowSize;\n const yShift = isArchitectureDirectionY(sourceDir) ? ArchitectureDirectionArrowShift[sourceDir](startY, arrowSize) : startY - halfArrowSize;\n g.insert(\"polygon\").attr(\"points\", ArchitectureDirectionArrow[sourceDir](arrowSize)).attr(\"transform\", `translate(${xShift},${yShift})`).attr(\"class\", \"arrow\");\n }\n if (targetArrow) {\n const xShift = isArchitectureDirectionX(targetDir) ? ArchitectureDirectionArrowShift[targetDir](endX, arrowSize) : endX - halfArrowSize;\n const yShift = isArchitectureDirectionY(targetDir) ? ArchitectureDirectionArrowShift[targetDir](endY, arrowSize) : endY - halfArrowSize;\n g.insert(\"polygon\").attr(\"points\", ArchitectureDirectionArrow[targetDir](arrowSize)).attr(\"transform\", `translate(${xShift},${yShift})`).attr(\"class\", \"arrow\");\n }\n if (label) {\n const axis = !isArchitectureDirectionXY(sourceDir, targetDir) ? isArchitectureDirectionX(sourceDir) ? \"X\" : \"Y\" : \"XY\";\n let width = 0;\n if (axis === \"X\") {\n width = Math.abs(startX - endX);\n } else if (axis === \"Y\") {\n width = Math.abs(startY - endY) / 1.5;\n } else {\n width = Math.abs(startX - endX) / 2;\n }\n const textElem = g.append(\"g\");\n await createText(\n textElem,\n label,\n {\n useHtmlLabels: false,\n width,\n classes: \"architecture-service-label\"\n },\n getConfig()\n );\n textElem.attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\");\n if (axis === \"X\") {\n textElem.attr(\"transform\", \"translate(\" + midX + \", \" + midY + \")\");\n } else if (axis === \"Y\") {\n textElem.attr(\"transform\", \"translate(\" + midX + \", \" + midY + \") rotate(-90)\");\n } else if (axis === \"XY\") {\n const pair = getArchitectureDirectionPair(sourceDir, targetDir);\n if (pair && isArchitecturePairXY(pair)) {\n const bboxOrig = textElem.node().getBoundingClientRect();\n const [x, y] = getArchitectureDirectionXYFactors(pair);\n textElem.attr(\"dominant-baseline\", \"auto\").attr(\"transform\", `rotate(${-1 * x * y * 45})`);\n const bboxNew = textElem.node().getBoundingClientRect();\n textElem.attr(\n \"transform\",\n `\n translate(${midX}, ${midY - bboxOrig.height / 2})\n translate(${x * bboxNew.width / 2}, ${y * bboxNew.height / 2})\n rotate(${-1 * x * y * 45}, 0, ${bboxOrig.height / 2})\n `\n );\n }\n }\n }\n }\n })\n );\n}, \"drawEdges\");\nvar drawGroups = /* @__PURE__ */ __name(async function(groupsEl, cy) {\n const padding = getConfigField(\"padding\");\n const groupIconSize = padding * 0.75;\n const fontSize = getConfigField(\"fontSize\");\n const iconSize = getConfigField(\"iconSize\");\n const halfIconSize = iconSize / 2;\n await Promise.all(\n cy.nodes().map(async (node) => {\n const data = nodeData(node);\n if (data.type === \"group\") {\n const { h, w, x1, y1 } = node.boundingBox();\n groupsEl.append(\"rect\").attr(\"x\", x1 + halfIconSize).attr(\"y\", y1 + halfIconSize).attr(\"width\", w).attr(\"height\", h).attr(\"class\", \"node-bkg\");\n const groupLabelContainer = groupsEl.append(\"g\");\n let shiftedX1 = x1;\n let shiftedY1 = y1;\n if (data.icon) {\n const bkgElem = groupLabelContainer.append(\"g\");\n bkgElem.html(\n `<g>${await getIconSVG(data.icon, { height: groupIconSize, width: groupIconSize, fallbackPrefix: architectureIcons.prefix })}</g>`\n );\n bkgElem.attr(\n \"transform\",\n \"translate(\" + (shiftedX1 + halfIconSize + 1) + \", \" + (shiftedY1 + halfIconSize + 1) + \")\"\n );\n shiftedX1 += groupIconSize;\n shiftedY1 += fontSize / 2 - 1 - 2;\n }\n if (data.label) {\n const textElem = groupLabelContainer.append(\"g\");\n await createText(\n textElem,\n data.label,\n {\n useHtmlLabels: false,\n width: w,\n classes: \"architecture-service-label\"\n },\n getConfig()\n );\n textElem.attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"start\").attr(\"text-anchor\", \"start\");\n textElem.attr(\n \"transform\",\n \"translate(\" + (shiftedX1 + halfIconSize + 4) + \", \" + (shiftedY1 + halfIconSize + 2) + \")\"\n );\n }\n }\n })\n );\n}, \"drawGroups\");\nvar drawServices = /* @__PURE__ */ __name(async function(db2, elem, services) {\n for (const service of services) {\n const serviceElem = elem.append(\"g\");\n const iconSize = getConfigField(\"iconSize\");\n if (service.title) {\n const textElem = serviceElem.append(\"g\");\n await createText(\n textElem,\n service.title,\n {\n useHtmlLabels: false,\n width: iconSize * 1.5,\n classes: \"architecture-service-label\"\n },\n getConfig()\n );\n textElem.attr(\"dy\", \"1em\").attr(\"alignment-baseline\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"text-anchor\", \"middle\");\n textElem.attr(\"transform\", \"translate(\" + iconSize / 2 + \", \" + iconSize + \")\");\n }\n const bkgElem = serviceElem.append(\"g\");\n if (service.icon) {\n bkgElem.html(\n `<g>${await getIconSVG(service.icon, { height: iconSize, width: iconSize, fallbackPrefix: architectureIcons.prefix })}</g>`\n );\n } else if (service.iconText) {\n bkgElem.html(\n `<g>${await getIconSVG(\"blank\", { height: iconSize, width: iconSize, fallbackPrefix: architectureIcons.prefix })}</g>`\n );\n const textElemContainer = bkgElem.append(\"g\");\n const fo = textElemContainer.append(\"foreignObject\").attr(\"width\", iconSize).attr(\"height\", iconSize);\n const divElem = fo.append(\"div\").attr(\"class\", \"node-icon-text\").attr(\"style\", `height: ${iconSize}px;`).append(\"div\").html(service.iconText);\n const fontSize = parseInt(\n window.getComputedStyle(divElem.node(), null).getPropertyValue(\"font-size\").replace(/\\D/g, \"\")\n ) ?? 16;\n divElem.attr(\"style\", `-webkit-line-clamp: ${Math.floor((iconSize - 2) / fontSize)};`);\n } else {\n bkgElem.append(\"path\").attr(\"class\", \"node-bkg\").attr(\"id\", \"node-\" + service.id).attr(\n \"d\",\n `M0 ${iconSize} v${-iconSize} q0,-5 5,-5 h${iconSize} q5,0 5,5 v${iconSize} H0 Z`\n );\n }\n serviceElem.attr(\"class\", \"architecture-service\");\n const { width, height } = serviceElem._groups[0][0].getBBox();\n service.width = width;\n service.height = height;\n db2.setElementForId(service.id, serviceElem);\n }\n return 0;\n}, \"drawServices\");\nvar drawJunctions = /* @__PURE__ */ __name(function(db2, elem, junctions) {\n junctions.forEach((junction) => {\n const junctionElem = elem.append(\"g\");\n const iconSize = getConfigField(\"iconSize\");\n const bkgElem = junctionElem.append(\"g\");\n bkgElem.append(\"rect\").attr(\"id\", \"node-\" + junction.id).attr(\"fill-opacity\", \"0\").attr(\"width\", iconSize).attr(\"height\", iconSize);\n junctionElem.attr(\"class\", \"architecture-junction\");\n const { width, height } = junctionElem._groups[0][0].getBBox();\n junctionElem.width = width;\n junctionElem.height = height;\n db2.setElementForId(junction.id, junctionElem);\n });\n}, \"drawJunctions\");\n\n// src/diagrams/architecture/architectureRenderer.ts\nregisterIconPacks([\n {\n name: architectureIcons.prefix,\n icons: architectureIcons\n }\n]);\ncytoscape.use(fcose);\nfunction addServices(services, cy) {\n services.forEach((service) => {\n cy.add({\n group: \"nodes\",\n data: {\n type: \"service\",\n id: service.id,\n icon: service.icon,\n label: service.title,\n parent: service.in,\n width: getConfigField(\"iconSize\"),\n height: getConfigField(\"iconSize\")\n },\n classes: \"node-service\"\n });\n });\n}\n__name(addServices, \"addServices\");\nfunction addJunctions(junctions, cy) {\n junctions.forEach((junction) => {\n cy.add({\n group: \"nodes\",\n data: {\n type: \"junction\",\n id: junction.id,\n parent: junction.in,\n width: getConfigField(\"iconSize\"),\n height: getConfigField(\"iconSize\")\n },\n classes: \"node-junction\"\n });\n });\n}\n__name(addJunctions, \"addJunctions\");\nfunction positionNodes(db2, cy) {\n cy.nodes().map((node) => {\n const data = nodeData(node);\n if (data.type === \"group\") {\n return;\n }\n data.x = node.position().x;\n data.y = node.position().y;\n const nodeElem = db2.getElementById(data.id);\n nodeElem.attr(\"transform\", \"translate(\" + (data.x || 0) + \",\" + (data.y || 0) + \")\");\n });\n}\n__name(positionNodes, \"positionNodes\");\nfunction addGroups(groups, cy) {\n groups.forEach((group) => {\n cy.add({\n group: \"nodes\",\n data: {\n type: \"group\",\n id: group.id,\n icon: group.icon,\n label: group.title,\n parent: group.in\n },\n classes: \"node-group\"\n });\n });\n}\n__name(addGroups, \"addGroups\");\nfunction addEdges(edges, cy) {\n edges.forEach((parsedEdge) => {\n const { lhsId, rhsId, lhsInto, lhsGroup, rhsInto, lhsDir, rhsDir, rhsGroup, title } = parsedEdge;\n const edgeType = isArchitectureDirectionXY(parsedEdge.lhsDir, parsedEdge.rhsDir) ? \"segments\" : \"straight\";\n const edge = {\n id: `${lhsId}-${rhsId}`,\n label: title,\n source: lhsId,\n sourceDir: lhsDir,\n sourceArrow: lhsInto,\n sourceGroup: lhsGroup,\n sourceEndpoint: lhsDir === \"L\" ? \"0 50%\" : lhsDir === \"R\" ? \"100% 50%\" : lhsDir === \"T\" ? \"50% 0\" : \"50% 100%\",\n target: rhsId,\n targetDir: rhsDir,\n targetArrow: rhsInto,\n targetGroup: rhsGroup,\n targetEndpoint: rhsDir === \"L\" ? \"0 50%\" : rhsDir === \"R\" ? \"100% 50%\" : rhsDir === \"T\" ? \"50% 0\" : \"50% 100%\"\n };\n cy.add({\n group: \"edges\",\n data: edge,\n classes: edgeType\n });\n });\n}\n__name(addEdges, \"addEdges\");\nfunction getAlignments(db2, spatialMaps, groupAlignments) {\n const flattenAlignments = /* @__PURE__ */ __name((alignmentObj, alignmentDir) => {\n return Object.entries(alignmentObj).reduce(\n (prev, [dir, alignments2]) => {\n let cnt = 0;\n const arr = Object.entries(alignments2);\n if (arr.length === 1) {\n prev[dir] = arr[0][1];\n return prev;\n }\n for (let i = 0; i < arr.length - 1; i++) {\n for (let j = i + 1; j < arr.length; j++) {\n const [aGroupId, aNodeIds] = arr[i];\n const [bGroupId, bNodeIds] = arr[j];\n const alignment = groupAlignments[aGroupId]?.[bGroupId];\n if (alignment === alignmentDir) {\n prev[dir] ??= [];\n prev[dir] = [...prev[dir], ...aNodeIds, ...bNodeIds];\n } else if (aGroupId === \"default\" || bGroupId === \"default\") {\n prev[dir] ??= [];\n prev[dir] = [...prev[dir], ...aNodeIds, ...bNodeIds];\n } else {\n const keyA = `${dir}-${cnt++}`;\n prev[keyA] = aNodeIds;\n const keyB = `${dir}-${cnt++}`;\n prev[keyB] = bNodeIds;\n }\n }\n }\n return prev;\n },\n {}\n );\n }, \"flattenAlignments\");\n const alignments = spatialMaps.map((spatialMap) => {\n const horizontalAlignments = {};\n const verticalAlignments = {};\n Object.entries(spatialMap).forEach(([id, [x, y]]) => {\n const nodeGroup = db2.getNode(id)?.in ?? \"default\";\n horizontalAlignments[y] ??= {};\n horizontalAlignments[y][nodeGroup] ??= [];\n horizontalAlignments[y][nodeGroup].push(id);\n verticalAlignments[x] ??= {};\n verticalAlignments[x][nodeGroup] ??= [];\n verticalAlignments[x][nodeGroup].push(id);\n });\n return {\n horiz: Object.values(flattenAlignments(horizontalAlignments, \"horizontal\")).filter(\n (arr) => arr.length > 1\n ),\n vert: Object.values(flattenAlignments(verticalAlignments, \"vertical\")).filter(\n (arr) => arr.length > 1\n )\n };\n });\n const [horizontal, vertical] = alignments.reduce(\n ([prevHoriz, prevVert], { horiz, vert }) => {\n return [\n [...prevHoriz, ...horiz],\n [...prevVert, ...vert]\n ];\n },\n [[], []]\n );\n return {\n horizontal,\n vertical\n };\n}\n__name(getAlignments, \"getAlignments\");\nfunction getRelativeConstraints(spatialMaps) {\n const relativeConstraints = [];\n const posToStr = /* @__PURE__ */ __name((pos) => `${pos[0]},${pos[1]}`, \"posToStr\");\n const strToPos = /* @__PURE__ */ __name((pos) => pos.split(\",\").map((p) => parseInt(p)), \"strToPos\");\n spatialMaps.forEach((spatialMap) => {\n const invSpatialMap = Object.fromEntries(\n Object.entries(spatialMap).map(([id, pos]) => [posToStr(pos), id])\n );\n const queue = [posToStr([0, 0])];\n const visited = {};\n const directions = {\n L: [-1, 0],\n R: [1, 0],\n T: [0, 1],\n B: [0, -1]\n };\n while (queue.length > 0) {\n const curr = queue.shift();\n if (curr) {\n visited[curr] = 1;\n const currId = invSpatialMap[curr];\n if (currId) {\n const currPos = strToPos(curr);\n Object.entries(directions).forEach(([dir, shift]) => {\n const newPos = posToStr([currPos[0] + shift[0], currPos[1] + shift[1]]);\n const newId = invSpatialMap[newPos];\n if (newId && !visited[newPos]) {\n queue.push(newPos);\n relativeConstraints.push({\n [ArchitectureDirectionName[dir]]: newId,\n [ArchitectureDirectionName[getOppositeArchitectureDirection(dir)]]: currId,\n gap: 1.5 * getConfigField(\"iconSize\")\n });\n }\n });\n }\n }\n }\n });\n return relativeConstraints;\n}\n__name(getRelativeConstraints, \"getRelativeConstraints\");\nfunction layoutArchitecture(services, junctions, groups, edges, db2, { spatialMaps, groupAlignments }) {\n return new Promise((resolve) => {\n const renderEl = select(\"body\").append(\"div\").attr(\"id\", \"cy\").attr(\"style\", \"display:none\");\n const cy = cytoscape({\n container: document.getElementById(\"cy\"),\n style: [\n {\n selector: \"edge\",\n style: {\n \"curve-style\": \"straight\",\n label: \"data(label)\",\n \"source-endpoint\": \"data(sourceEndpoint)\",\n \"target-endpoint\": \"data(targetEndpoint)\"\n }\n },\n {\n selector: \"edge.segments\",\n style: {\n \"curve-style\": \"segments\",\n \"segment-weights\": \"0\",\n \"segment-distances\": [0.5],\n // @ts-ignore Incorrect library types\n \"edge-distances\": \"endpoints\",\n \"source-endpoint\": \"data(sourceEndpoint)\",\n \"target-endpoint\": \"data(targetEndpoint)\"\n }\n },\n {\n selector: \"node\",\n style: {\n // @ts-ignore Incorrect library types\n \"compound-sizing-wrt-labels\": \"include\"\n }\n },\n {\n selector: \"node[label]\",\n style: {\n \"text-valign\": \"bottom\",\n \"text-halign\": \"center\",\n \"font-size\": `${getConfigField(\"fontSize\")}px`\n }\n },\n {\n selector: \".node-service\",\n style: {\n label: \"data(label)\",\n width: \"data(width)\",\n height: \"data(height)\"\n }\n },\n {\n selector: \".node-junction\",\n style: {\n width: \"data(width)\",\n height: \"data(height)\"\n }\n },\n {\n selector: \".node-group\",\n style: {\n // @ts-ignore Incorrect library types\n padding: `${getConfigField(\"padding\")}px`\n }\n }\n ]\n });\n renderEl.remove();\n addGroups(groups, cy);\n addServices(services, cy);\n addJunctions(junctions, cy);\n addEdges(edges, cy);\n const alignmentConstraint = getAlignments(db2, spatialMaps, groupAlignments);\n const relativePlacementConstraint = getRelativeConstraints(spatialMaps);\n const layout = cy.layout({\n name: \"fcose\",\n quality: \"proof\",\n styleEnabled: false,\n animate: false,\n nodeDimensionsIncludeLabels: false,\n // Adjust the edge parameters if it passes through the border of a group\n // Hacky fix for: https://github.com/iVis-at-Bilkent/cytoscape.js-fcose/issues/67\n idealEdgeLength(edge) {\n const [nodeA, nodeB] = edge.connectedNodes();\n const { parent: parentA } = nodeData(nodeA);\n const { parent: parentB } = nodeData(nodeB);\n const elasticity = parentA === parentB ? 1.5 * getConfigField(\"iconSize\") : 0.5 * getConfigField(\"iconSize\");\n return elasticity;\n },\n edgeElasticity(edge) {\n const [nodeA, nodeB] = edge.connectedNodes();\n const { parent: parentA } = nodeData(nodeA);\n const { parent: parentB } = nodeData(nodeB);\n const elasticity = parentA === parentB ? 0.45 : 1e-3;\n return elasticity;\n },\n alignmentConstraint,\n relativePlacementConstraint\n });\n layout.one(\"layoutstop\", () => {\n function getSegmentWeights(source, target, pointX, pointY) {\n let W, D;\n const { x: sX, y: sY } = source;\n const { x: tX, y: tY } = target;\n D = (pointY - sY + (sX - pointX) * (sY - tY) / (sX - tX)) / Math.sqrt(1 + Math.pow((sY - tY) / (sX - tX), 2));\n W = Math.sqrt(Math.pow(pointY - sY, 2) + Math.pow(pointX - sX, 2) - Math.pow(D, 2));\n const distAB = Math.sqrt(Math.pow(tX - sX, 2) + Math.pow(tY - sY, 2));\n W = W / distAB;\n let delta1 = (tX - sX) * (pointY - sY) - (tY - sY) * (pointX - sX);\n switch (true) {\n case delta1 >= 0:\n delta1 = 1;\n break;\n case delta1 < 0:\n delta1 = -1;\n break;\n }\n let delta2 = (tX - sX) * (pointX - sX) + (tY - sY) * (pointY - sY);\n switch (true) {\n case delta2 >= 0:\n delta2 = 1;\n break;\n case delta2 < 0:\n delta2 = -1;\n break;\n }\n D = Math.abs(D) * delta1;\n W = W * delta2;\n return {\n distances: D,\n weights: W\n };\n }\n __name(getSegmentWeights, \"getSegmentWeights\");\n cy.startBatch();\n for (const edge of Object.values(cy.edges())) {\n if (edge.data?.()) {\n const { x: sX, y: sY } = edge.source().position();\n const { x: tX, y: tY } = edge.target().position();\n if (sX !== tX && sY !== tY) {\n const sEP = edge.sourceEndpoint();\n const tEP = edge.targetEndpoint();\n const { sourceDir } = edgeData(edge);\n const [pointX, pointY] = isArchitectureDirectionY(sourceDir) ? [sEP.x, tEP.y] : [tEP.x, sEP.y];\n const { weights, distances } = getSegmentWeights(sEP, tEP, pointX, pointY);\n edge.style(\"segment-distances\", distances);\n edge.style(\"segment-weights\", weights);\n }\n }\n }\n cy.endBatch();\n layout.run();\n });\n layout.run();\n cy.ready((e) => {\n log.info(\"Ready\", e);\n resolve(cy);\n });\n });\n}\n__name(layoutArchitecture, \"layoutArchitecture\");\nvar draw = /* @__PURE__ */ __name(async (text, id, _version, diagObj) => {\n const db2 = diagObj.db;\n const services = db2.getServices();\n const junctions = db2.getJunctions();\n const groups = db2.getGroups();\n const edges = db2.getEdges();\n const ds = db2.getDataStructures();\n const svg = selectSvgElement(id);\n const edgesElem = svg.append(\"g\");\n edgesElem.attr(\"class\", \"architecture-edges\");\n const servicesElem = svg.append(\"g\");\n servicesElem.attr(\"class\", \"architecture-services\");\n const groupElem = svg.append(\"g\");\n groupElem.attr(\"class\", \"architecture-groups\");\n await drawServices(db2, servicesElem, services);\n drawJunctions(db2, servicesElem, junctions);\n const cy = await layoutArchitecture(services, junctions, groups, edges, db2, ds);\n await drawEdges(edgesElem, cy);\n await drawGroups(groupElem, cy);\n positionNodes(db2, cy);\n setupGraphViewbox(void 0, svg, getConfigField(\"padding\"), getConfigField(\"useMaxWidth\"));\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/architecture/architectureDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: architectureStyles_default\n};\nexport {\n diagram\n};\n" + ], + "file": "assets/mermaid-bundle.js", + "sourceRoot": "" +} \ No newline at end of file diff --git a/src/webview-ui/build/index.html b/src/webview-ui/build/index.html new file mode 100644 index 0000000000..ae9ab3132b --- /dev/null +++ b/src/webview-ui/build/index.html @@ -0,0 +1,14 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>Roo Code + + + + + +
+ + diff --git a/src/webview-ui/build/sourcemap-manifest.json b/src/webview-ui/build/sourcemap-manifest.json new file mode 100644 index 0000000000..d95870b313 --- /dev/null +++ b/src/webview-ui/build/sourcemap-manifest.json @@ -0,0 +1 @@ +{ "enabled": true, "version": "unknown", "buildTime": "2025-08-05T10:20:44.845Z" }